[
  {
    "path": ".gitignore",
    "content": ".vs/\nbin/**\ntmp/**\n*.suo\n/ipch\n*.user\n*.aps\n*.tmp\nDebug/"
  },
  {
    "path": "Addition/DIASDK/idl/dia2.idl",
    "content": "// dia2.idl - Debug Information Access (DIA) interface description\n//-----------------------------------------------------------------\n//\n// Copyright 1999-2000 Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\nimport \"objidl.idl\";\nimport \"oaidl.idl\";\n\nimport \"cvconst.h\";\n\nenum NameSearchOptions\n{\n    nsNone = 0,\n\n    nsfCaseSensitive = 0x1,         // apply a case sensitive match\n    nsfCaseInsensitive = 0x2,       // apply a case insensitive match\n    nsfFNameExt = 0x4,              // treat names as paths and apply a filename.ext match\n    nsfRegularExpression = 0x8,     // regular expression\n    nsfUndecoratedName = 0x10,      // applies only to symbols that have both undecorated and decorated names\n\n    // predefined names for backward source compatibility\n\n    nsCaseSensitive = nsfCaseSensitive,             // apply a case sensitive match\n    nsCaseInsensitive = nsfCaseInsensitive,         // apply a case insensitive match\n    nsFNameExt = nsfCaseInsensitive | nsfFNameExt,  // treat names as paths and apply a filename.ext match\n    nsRegularExpression = nsfRegularExpression | nsfCaseSensitive,      // regular expression (using only '*' and '?')\n    nsCaseInRegularExpression = nsfRegularExpression | nsfCaseInsensitive,  // case insensitive regular expression\n};\n\n\n// the following are error HRESULTS returned by an IDiaDataSource they\n// are based on the FACILITY_VISUALCPP (0x6d) defined in delayimp.h\n\nenum \n{\n    E_PDB_OK=((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(1))) ),\n    E_PDB_USAGE                 ,\n    E_PDB_OUT_OF_MEMORY         , // not used, use E_OUTOFMEMORY\n    E_PDB_FILE_SYSTEM           ,\n    E_PDB_NOT_FOUND             ,\n    E_PDB_INVALID_SIG           ,\n    E_PDB_INVALID_AGE           ,\n    E_PDB_PRECOMP_REQUIRED      ,\n    E_PDB_OUT_OF_TI             ,\n    E_PDB_NOT_IMPLEMENTED       ,   // use E_NOTIMPL\n    E_PDB_V1_PDB                ,\n    E_PDB_FORMAT                ,\n    E_PDB_LIMIT                 ,\n    E_PDB_CORRUPT               ,\n    E_PDB_TI16                  ,\n    E_PDB_ACCESS_DENIED         ,  // use E_ACCESSDENIED\n    E_PDB_ILLEGAL_TYPE_EDIT     ,\n    E_PDB_INVALID_EXECUTABLE    ,\n    E_PDB_DBG_NOT_FOUND         ,\n    E_PDB_NO_DEBUG_INFO         ,\n    E_PDB_INVALID_EXE_TIMESTAMP ,\n    E_PDB_RESERVED              ,\n    E_PDB_DEBUG_INFO_NOT_IN_PDB ,\n    E_PDB_MAX\n};\n\n//\n// Errors in finding dynamically loaded dlls or functions.\n//\nenum\n{\n    DIA_E_MODNOTFOUND = E_PDB_MAX+1,\n    DIA_E_PROCNOTFOUND,\n};\n\n#define PROPERTY_RW(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] type NewVal)\n\n#define PROPERTY_ARRAY_RW(type, itype, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [in] type NewVal)\n\n#define PROPERTY_RO(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal) \n\n// type of callback arg to IDiaDataSource::loadDataForExe\ntypedef void (__cdecl *PfnPDBDebugDirV)(BOOL, /*const struct _IMAGE_DEBUG_DIRECTORY * */ void*);\n\n\ninterface IDiaSession;\ninterface IDiaEnumTables;\n\ninterface IDiaSymbol;\ninterface IDiaSourceFile;\ninterface IDiaLineNumber;\ninterface IDiaInjectedSource;\ninterface IDiaSegment;\ninterface IDiaSectionContrib;\ninterface IDiaFrameData;\n\n[\n    object,\n    uuid(C32ADB82-73F4-421b-95D5-A4706EDF5DBE),\n    local,\n    helpstring(\"IDiaLoadCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaLoadCallback: IUnknown\n{\n    HRESULT NotifyDebugDir(\n                [in] BOOL fExecutable, \n                [in] DWORD cbData,\n                [in, size_is(cbData)] BYTE data[]); // really a const struct _IMAGE_DEBUG_DIRECTORY *\n\n    HRESULT NotifyOpenDBG(\n                [in] LPCOLESTR dbgPath, \n                [in] HRESULT resultCode);\n\n    HRESULT NotifyOpenPDB(\n                [in] LPCOLESTR pdbPath, \n                [in] HRESULT resultCode);\n\n    HRESULT RestrictRegistryAccess();         // return hr != S_OK to prevent querying the registry for symbol search paths\n    HRESULT RestrictSymbolServerAccess();     // return hr != S_OK to prevent accessing a symbol server\n}\n\n[\n    object,\n    uuid(587A461C-B80B-4f54-9194-5032589A6319),\n    local,\n    helpstring(\"IDiaReadExeAtOffsetCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtOffsetCallback: IUnknown\n{    \n    HRESULT ReadExecutableAt(\n                [in] DWORDLONG fileOffset, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData),\n                length_is(*pcbData)] BYTE data[]);\n\n}\n\n[\n    object,\n    uuid(8E3F80CA-7517-432a-BA07-285134AAEA8E),\n    local,\n    helpstring(\"IDiaReadExeAtRVACallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtRVACallback: IUnknown\n{    \n    HRESULT ReadExecutableAtRVA(\n                [in] DWORD relativeVirtualAddress, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData),\n                length_is(*pcbData)] BYTE data[]);\n}\n\n[\n    object,\n    uuid(79F1BB5F-B66E-48e5-B6A9-1545C323CA3D),\n    local,\n    helpstring(\"IDiaDataSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaDataSource: IUnknown\n{\n    PROPERTY_RO( BSTR, lastError, 1, \"Text for last load error.\" );\n\n    //\n    // loadDataFromPdb\n    //\n   HRESULT loadDataFromPdb(\n               [in] LPCOLESTR pdbPath );\n\n    //\n    // loadAndValidateDataFromPdb\n    //\n   HRESULT loadAndValidateDataFromPdb(\n               [in] LPCOLESTR pdbPath,\n               [in] GUID* pcsig70,\n               [in] DWORD sig,\n               [in] DWORD age );\n\n    //\n    // loadDataForExe\n    //\n    HRESULT loadDataForExe(\n               [in] LPCOLESTR executable,\n               [in] LPCOLESTR searchPath,\n               [in] IUnknown* pCallback );\n\n    //\n    // loadDataFromIStream\n    //\n    HRESULT loadDataFromIStream(\n                [in] IStream *pIStream );\n\n\n    HRESULT openSession( \n                [out] IDiaSession** ppSession \n                );\n}\n\n[\n    object,\n    uuid(CAB72C48-443B-48f5-9B0B-42F0820AB29A),\n    local,\n    helpstring(\"IDiaEnumSymbols Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbols: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSymbols.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of symbols.\" );\n\n    [id(0), helpstring(\"Return the symbol for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSymbol **symbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbols **ppenum);\n}\n\n[\n    object,\n    uuid(624B7D9C-24EA-4421-9D06-3B577471C1FA),\n    local,\n    helpstring(\"IDiaEnumSymbolsByAddr Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbolsByAddr: IUnknown\n{\n    //\n    // Item(ByXxx) re-positions the enumerator to the item found\n    //\n    [helpstring(\"Return the symbol for the given address.\")]\n    HRESULT symbolByAddr(\n        [in] DWORD isect, \n        [in] DWORD offset, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given relative virtual address.\")]\n    HRESULT symbolByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given virtual address.\")]\n    HRESULT symbolByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Prev(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbolsByAddr **ppenum);\n}\n\n[\n    object,\n    uuid(10F3DBD9-664F-4469-B808-9471C7A50538),\n    local,\n    helpstring(\"IDiaEnumSourceFiles Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSourceFiles: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSourceFiles.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of source files.\" );\n\n    [id(0), helpstring(\"Return the source file for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSourceFile **sourceFile);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSourceFile ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSourceFiles **ppenum);\n}\n\n[\n    object,\n    uuid(FE30E878-54AC-44f1-81BA-39DE940F6052),\n    local,\n    helpstring(\"IDiaEnumLineNumbers Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumLineNumbers: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumLineNumbers.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of line numbers.\" );\n\n    [id(0), helpstring(\"Return the line number for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaLineNumber **lineNumber);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaLineNumber ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumLineNumbers **ppenum);\n}\n\n[\n    object,\n    uuid(D5612573-6925-4468-8883-98CDEC8C384A),\n    local,\n    helpstring(\"IDiaEnumInjectedSources Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumInjectedSources: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumInjectedSources.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of injected source files.\" );\n\n    [id(0), helpstring(\"Return the injected source for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaInjectedSource **injectedSource);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaInjectedSource ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumInjectedSources **ppenum);\n}\n\n[\n    object,\n    uuid(E8368CA9-01D1-419d-AC0C-E31235DBDA9F),\n    local,\n    helpstring(\"IDiaEnumSegments Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSegments: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSegments.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of segments.\" );\n\n    [id(0), helpstring(\"Return the segment for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSegment **segment);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSegment ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSegments **ppenum);\n}\n\n[\n    object,\n    uuid(1994DEB2-2C82-4b1d-A57F-AFF424D54A68),\n    local,\n    helpstring(\"IDiaEnumSectionContribs Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSectionContribs: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSectionContribs.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of section contributions.\" );\n\n    [id(0), helpstring(\"Return the section contribution for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSectionContrib **section);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSectionContrib ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSectionContribs **ppenum);\n}\n\n[\n    object,\n    uuid(9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F),\n    local,\n    helpstring(\"IDiaEnumFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumFrameData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumFrameData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of frames.\" );\n\n    [id(0), helpstring(\"Return the frame for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaFrameData **frame);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaFrameData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumFrameData **ppenum);\n\n    //\n    // The following two by-address lookups do not reposition the enumeration\n    //\n    [helpstring(\"Return the frame for the given relative virtual address.\")]\n    HRESULT frameByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaFrameData **frame);\n\n    [helpstring(\"Return the frame for the given virtual address.\")]\n    HRESULT frameByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaFrameData **frame);\n}\n\n[\n    object,\n    uuid(486943E8-D187-4a6b-A3C4-291259FFF60D),\n    local,\n    helpstring(\"IDiaEnumDebugStreamData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreamData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreamData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of elements in the stream.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Stream name.\" );\n\n    [id(0), helpstring(\"Return the element for the given index.\")]\n    HRESULT Item(\n            [in] DWORD index, \n            [in] DWORD cbData,\n            [out] DWORD *pcbData,\n            [out, size_is(cbData),\n            length_is(*pcbData)] BYTE data[]\n            );\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [in] DWORD cbData,\n        [out] DWORD *pcbData,\n        [out, size_is(cbData),\n        length_is(*pcbData)] BYTE data[],\n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreamData **ppenum);\n}\n\n[\n    object,\n    uuid(08CBB41E-47A6-4f87-92F1-1C9C87CED044),\n    local,\n    helpstring(\"IDiaEnumDebugStreams Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreams: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreams.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of streams.\" );\n\n    [id(0), helpstring(\"Return the stream for the given index.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaEnumDebugStreamData **stream);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaEnumDebugStreamData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreams **ppenum);\n}\n\nstruct DiaAddressMapEntry\n{\n    DWORD rva;\n    DWORD rvaTo;\n};\n\n[\n    object,\n    uuid(B62A2E7A-067A-4ea3-B598-04C09717502C),\n    local,\n    helpstring(\"IDiaAddressMap Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaAddressMap: IUnknown\n{\n    PROPERTY_RW( BOOL, addressMapEnabled, 3, \"Enable address translations.\" );\n    PROPERTY_RW( BOOL, relativeVirtualAddressEnabled, 4, \"Enable relative virtual address computations.\");\n    PROPERTY_RW( DWORD, imageAlign, 5, \"Original image alignment.\" );\n\n    HRESULT set_imageHeaders(\n     [in] DWORD cbData,\n     [in, size_is(cbData)] BYTE data[],      // actual type is IMAGE_SECTION_HEADER[]\n     [in] BOOL originalHeaders );            // true: headers are original, that is, they match the debug symbols\n                                             // false: headers are current, that is, they match the image\n\n    HRESULT set_addressMap(\n     [in] DWORD cData,          // number of entries in rva map\n     [in, size_is(cData)] struct DiaAddressMapEntry data[],      // rva map\n     [in] BOOL imageToSymbols );             // true:  map from image to symbols (omapt)\n                                             // false: map from symbols to image (omapf)\n};\n\n[\n    object,\n    uuid(67138B34-79CD-4b42-B74A-A18ADBB799DF),\n    local,\n    helpstring(\"IDiaSession Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSession: IUnknown\n{\n    PROPERTY_RW( ULONGLONG, loadAddress, 1, \"Dll/Exe load address.\" );\n    PROPERTY_RO( IDiaSymbol*, globalScope, 2, \"Global scope (exe) symbol.\" );\n\n    HRESULT getEnumTables( \n        [out] IDiaEnumTables** ppEnumTables );\n    HRESULT getSymbolsByAddr( \n        [out] IDiaEnumSymbolsByAddr** ppEnumbyAddr );\n\n    //\n    // Queries that return sets of symbols\n    //\n    HRESULT findChildren( \n        [in] IDiaSymbol* parent, \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n    HRESULT findSymbolByAddr (\n        [in] DWORD isect,\n        [in] DWORD offset,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVA (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByVA (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByToken (\n        [in] ULONG token,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT symsAreEquiv(\n        [in] IDiaSymbol* symbolA, \n        [in] IDiaSymbol* symbolB );\n    HRESULT symbolById(\n        [in] DWORD id,\n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVAEx (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n    HRESULT findSymbolByVAEx (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n\n    //\n    // Queries that return source file results\n    //\n    HRESULT findFile(\n        [in] IDiaSymbol* pCompiland, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSourceFiles** ppResult );\n    HRESULT findFileById(\n        [in] DWORD uniqueId,\n        [out] IDiaSourceFile** ppResult );\n\n    //\n    // Queries that return line number results\n    //\n    HRESULT findLines( \n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file, \n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByAddr(\n        [in] DWORD seg,\n        [in] DWORD offset,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByRVA(\n        [in] DWORD rva,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByVA(\n        [in] ULONGLONG va,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByLinenum(\n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file,\n        [in] DWORD linenum,\n        [in] DWORD column,\n        [out] IDiaEnumLineNumbers** ppResult );\n\n    //\n    // Queries that return injected source\n    //\n    HRESULT findInjectedSource( \n        [in] LPCOLESTR srcFile, \n        [out] IDiaEnumInjectedSources** ppResult );\n\n    HRESULT getEnumDebugStreams( \n        [out] IDiaEnumDebugStreams** ppEnumDebugStreams );\n};\n\n/*\n *  Table Columns\n *\n *  Symbols - a symbol will have values in some subset of the fields\n */\n[\n    object,\n    uuid(72827A48-D320-4eaf-8436-548ADE47D5E5),\n    local,\n    helpstring(\"IDiaSymbol Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSymbol: IUnknown\n{\n    PROPERTY_RO( DWORD, symIndexId, 0, \"Unique symbol identifier.\" );\n    PROPERTY_RO( DWORD, symTag, 1, \"Symbol kind tag.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Name\" );                     \n    PROPERTY_RO( IDiaSymbol*, lexicalParent, 3, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( IDiaSymbol*, classParent, 4, \".\");\n    PROPERTY_RO( IDiaSymbol*, type, 5, \".\");\n    PROPERTY_RO( DWORD, dataKind, 6, \".\");\n    PROPERTY_RO( DWORD, locationType, 7, \".\");\n    PROPERTY_RO( DWORD, addressSection, 8, \".\");\n    PROPERTY_RO( DWORD, addressOffset, 9, \".\");\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 10, \".\");\n    PROPERTY_RO( ULONGLONG, virtualAddress, 11, \".\");\n    PROPERTY_RO( DWORD, registerId, 12, \".\");\n    PROPERTY_RO( LONG, offset, 13, \".\");\n    PROPERTY_RO( ULONGLONG, length, 14, \".\");\n    PROPERTY_RO( DWORD, slot, 15, \".\");\n    PROPERTY_RO( BOOL, volatileType, 16, \".\");\n    PROPERTY_RO( BOOL, constType, 17, \".\");\n    PROPERTY_RO( BOOL, unalignedType, 18, \".\");\n    PROPERTY_RO( DWORD, access, 19, \".\");\n    PROPERTY_RO( BSTR, libraryName, 20, \".\");\n    PROPERTY_RO( DWORD, platform, 21, \".\");\n    PROPERTY_RO( DWORD, language, 22, \".\");\n    PROPERTY_RO( BOOL, editAndContinueEnabled, 23, \".\");\n    PROPERTY_RO( DWORD, frontEndMajor, 24, \".\");\n    PROPERTY_RO( DWORD, frontEndMinor, 25, \".\");\n    PROPERTY_RO( DWORD, frontEndBuild, 26, \".\");\n    PROPERTY_RO( DWORD, backEndMajor, 27, \".\");\n    PROPERTY_RO( DWORD, backEndMinor, 28, \".\");\n    PROPERTY_RO( DWORD, backEndBuild, 29, \".\");\n    PROPERTY_RO( BSTR, sourceFileName, 30, \".\");\n    PROPERTY_RO( BSTR, objectFileName, 31, \".\");\n    PROPERTY_RO( DWORD, thunkOrdinal, 32, \".\");\n    PROPERTY_RO( LONG, thisAdjust, 33, \".\");\n    PROPERTY_RO( DWORD, virtualBaseOffset, 34, \".\");\n    PROPERTY_RO( BOOL, virtual, 35, \".\");\n    PROPERTY_RO( BOOL, intro, 36, \".\");\n    PROPERTY_RO( BOOL, pure, 37, \".\");\n    PROPERTY_RO( DWORD, callingConvention, 38, \".\");\n    PROPERTY_RO( VARIANT, value, 39, \".\");\n    PROPERTY_RO( DWORD, baseType, 40, \".\");\n    PROPERTY_RO( DWORD, token, 41, \".\");\n    PROPERTY_RO( DWORD, timeStamp, 42, \".\");\n    PROPERTY_RO( GUID, guid, 43, \".\");\n    PROPERTY_RO( BSTR, symbolsFileName, 44, \".\");\n    PROPERTY_RO( BOOL, reference, 46, \".\");\n    PROPERTY_RO( DWORD, count, 47, \".\");\n    PROPERTY_RO( DWORD, bitPosition, 49, \".\");\n    PROPERTY_RO( IDiaSymbol*, arrayIndexType, 50, \".\");\n    PROPERTY_RO( BOOL, packed, 51, \".\");\n    PROPERTY_RO( BOOL, constructor, 52, \".\");\n    PROPERTY_RO( BOOL, overloadedOperator, 53, \".\");\n    PROPERTY_RO( BOOL, nested, 54, \".\");\n    PROPERTY_RO( BOOL, hasNestedTypes, 55, \".\");\n    PROPERTY_RO( BOOL, hasAssignmentOperator, 56, \".\");\n    PROPERTY_RO( BOOL, hasCastOperator, 57, \".\");\n    PROPERTY_RO( BOOL, scoped, 58, \".\");\n    PROPERTY_RO( BOOL, virtualBaseClass, 59, \".\");\n    PROPERTY_RO( BOOL, indirectVirtualBaseClass, 60, \".\");\n    PROPERTY_RO( LONG, virtualBasePointerOffset, 61, \".\");\n    PROPERTY_RO( IDiaSymbol*, virtualTableShape, 62, \".\");\n    PROPERTY_RO( DWORD, lexicalParentId, 64, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( DWORD, classParentId, 65, \".\");\n    PROPERTY_RO( DWORD, typeId, 66, \".\");\n    PROPERTY_RO( DWORD, arrayIndexTypeId, 67, \".\");\n    PROPERTY_RO( DWORD, virtualTableShapeId, 68, \".\");\n    PROPERTY_RO( BOOL, code, 69, \"Symbol refers to a code address.\" );\n    PROPERTY_RO( BOOL, function, 70, \"Symbol refers to a function.\" );\n    PROPERTY_RO( BOOL, managed, 71, \"Symbol refers to managed code.\" );\n    PROPERTY_RO( BOOL, msil, 72, \"Symbol refers to MSIL code.\" );\n    PROPERTY_RO( DWORD, virtualBaseDispIndex, 73, \".\");\n    PROPERTY_RO( BSTR, undecoratedName, 74, \".\");\n    PROPERTY_RO( DWORD, age, 75, \"PDB file age.\" );\n    PROPERTY_RO( DWORD, signature, 76, \"Signature.\" ); \n    PROPERTY_RO( BOOL, compilerGenerated, 77, \"Symbol is compiler generated.\" );\n    PROPERTY_RO( BOOL, addressTaken, 78, \"Symbol is address taken.\" );\n    PROPERTY_RO( DWORD, rank, 79, \"Rank of FORTRAN multi-dimension array.\" );\n    PROPERTY_RO( IDiaSymbol*, lowerBound, 80, \"Lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( IDiaSymbol*, upperBound, 81, \"Upper bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, lowerBoundId, 82, \"Symbol Id of the lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, upperBoundId, 83, \"Symbol Id of the upper bound of a FORTRAN array dimension.\");\n\n    HRESULT get_dataBytes(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n\n    HRESULT findChildren( \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n\n    PROPERTY_RO( DWORD, targetSection, 84, \"Thunk target address section.\");\n    PROPERTY_RO( DWORD, targetOffset, 85, \"Thunk target address offset.\");\n    PROPERTY_RO( DWORD, targetRelativeVirtualAddress, 86, \"Thunk target RVA.\");\n    PROPERTY_RO( ULONGLONG, targetVirtualAddress, 87, \"Thunk target virtual address.\");\n    PROPERTY_RO( DWORD, machineType, 88, \"Target machine type.\" );\n    PROPERTY_RO( DWORD, oemId, 89, \"Identifier of manufacturer.\");\n    PROPERTY_RO( DWORD, oemSymbolId, 90, \"Manufacturer defined custom symbol identifier.\" );\n    HRESULT get_types(\n         [in] DWORD cTypes,\n         [out] DWORD *pcTypes,\n         [out, size_is(cTypes),\n         length_is(*pcTypes)] IDiaSymbol* types[]\n        );\n    HRESULT get_typeIds(\n         [in] DWORD cTypeIds,\n         [out] DWORD *pcTypeIds,\n         [out, size_is(cTypeIds),\n         length_is(*pcTypeIds)] DWORD typeIds[]\n        );\n    PROPERTY_RO( IDiaSymbol*, objectPointerType, 91, \"Type of method's object pointer.\" );\n    PROPERTY_RO( DWORD, udtKind, 92, \"Struct, union or class.\");\n};\n\n//\n//  SourceFiles\n//\n[\n    object,\n    uuid(A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD),\n    local,\n    helpstring(\"IDiaSourceFile Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSourceFile: IUnknown\n{\n    PROPERTY_RO( DWORD, uniqueId, 2, \"Unique id for the source file (in this data store).\" );\n    PROPERTY_RO( BSTR, fileName, 3, \".\" );\n    PROPERTY_RO( DWORD, checksumType, 4, \".\" );\n    PROPERTY_RO( IDiaEnumSymbols*, compilands, 5, \".\" );\n\n    HRESULT get_checksum(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n\n};\n\n//\n//  LineNumbers\n//\n[\n    object,\n    uuid(B388EB14-BE4D-421d-A8A1-6CF7AB057086),\n    local,\n    helpstring(\"IDiaLineNumber Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaLineNumber: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( IDiaSourceFile*, sourceFile, 2, \".\" );\n    PROPERTY_RO( DWORD, lineNumber, 3, \".\" );\n    PROPERTY_RO( DWORD, lineNumberEnd, 4, \".\" );\n    PROPERTY_RO( DWORD, columnNumber, 5, \".\" );\n    PROPERTY_RO( DWORD, columnNumberEnd, 6, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 8, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 9, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 10, \".\" );\n    PROPERTY_RO( DWORD, length, 11, \".\" );\n    PROPERTY_RO( DWORD, sourceFileId, 12, \".\" );\n    PROPERTY_RO( BOOL, statement, 13, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 14, \".\" );\n};\n\n//\n// SectionContributions\n//\n[\n    object,\n    uuid(0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857),\n    local,\n    helpstring(\"IDiaSectionContrib Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSectionContrib: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, length, 6, \".\" );\n    // 7\n    PROPERTY_RO( BOOL, notPaged, 8, \".\");\n    PROPERTY_RO( BOOL, code, 9, \".\");\n    PROPERTY_RO( BOOL, initializedData, 10, \".\");\n    PROPERTY_RO( BOOL, uninitializedData, 11, \".\");\n    PROPERTY_RO( BOOL, remove, 12, \".\");\n    PROPERTY_RO( BOOL, comdat, 13, \".\");\n    PROPERTY_RO( BOOL, discardable, 14, \".\");\n    PROPERTY_RO( BOOL, notCached, 15, \".\");\n    PROPERTY_RO( BOOL, share, 16, \".\");\n    PROPERTY_RO( BOOL, execute, 17, \".\");\n    PROPERTY_RO( BOOL, read, 18, \".\");\n    PROPERTY_RO( BOOL, write, 19, \".\");\n    PROPERTY_RO( DWORD, dataCrc, 20, \".\" );\n    PROPERTY_RO( DWORD, relocationsCrc, 21, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 22, \".\" );\n};\n\n//\n// SegmentMap\n//\n[\n    object,\n    uuid(0775B784-C75B-4449-848B-B7BD3159545B),\n    local,\n    helpstring(\"IDiaSegment Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSegment: IUnknown\n{\n    PROPERTY_RO( DWORD, frame, 1, \"Frame.\" );\n    PROPERTY_RO( DWORD, offset, 2, \"Offset in physical section.\" );\n    PROPERTY_RO( DWORD, length, 3, \"Length in bytes of segment.\" );\n    PROPERTY_RO( BOOL, read, 4, \"Read allowed.\" );\n    PROPERTY_RO( BOOL, write, 5, \"Write allowed.\" );\n    PROPERTY_RO( BOOL, execute, 6, \"Execute allowed.\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 8, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 9, \".\" );\n};\n\n//\n// InjectedSource\n//\n[\n    object,\n    uuid(AE605CDC-8105-4a23-B710-3259F1E26112),\n    local,\n    helpstring(\"IDiaInjectedSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaInjectedSource: IUnknown\n{\n    PROPERTY_RO( DWORD, crc, 1, \"CRC of source bytes.\" );\n    PROPERTY_RO( ULONGLONG, length, 2, \"Length of source in bytes.\" );\n    PROPERTY_RO( BSTR, filename, 3, \"Source filename.\" );\n    PROPERTY_RO( BSTR, objectFilename, 4, \"Object filename.\" );\n    PROPERTY_RO( BSTR, virtualFilename, 5, \"Virtual filename.\" );\n    PROPERTY_RO( DWORD, sourceCompression, 6, \"Source compression algorithm.\" );\n    HRESULT get_source(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n};\n\n//\n// Errors returned by IDiaFrameData::execute\n//\nenum \n{\n    E_DIA_INPROLOG          // cannot execute stack frame when in prolog\n            =((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(100))) ),\n    E_DIA_SYNTAX,           // error parsing frame program\n    E_DIA_FRAME_ACCESS,     // error accessing registers or memory\n    E_DIA_VALUE,            // error in computer a value (e.g., divide by zero)\n};\n\n\n[\n    object,\n    uuid(97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D),\n    local,\n    helpstring(\"IDiaStackWalkFrame Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkFrame: IUnknown\n{\n    PROPERTY_ARRAY_RW( ULONGLONG, DWORD, registerValue, 1, \"Register value.\" ); \n    HRESULT readMemory( \n         [in] ULONGLONG va,\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n         );\n    HRESULT searchForReturnAddress(\n        [in] IDiaFrameData* frame,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT searchForReturnAddressStart(\n        [in] IDiaFrameData* frame,\n        [in] ULONGLONG startAddress,\n        [out] ULONGLONG* returnAddress\n        );\n};\n\n\n[\n    object,\n    uuid(A39184B7-6A36-42de-8EEC-7DF9F3F59F33),\n    local,\n    helpstring(\"IDiaFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaFrameData: IUnknown\n{\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, lengthBlock, 6, \".\" );\n    PROPERTY_RO( DWORD, lengthLocals, 7, \".\" );\n    PROPERTY_RO( DWORD, lengthParams, 8, \".\" );\n    PROPERTY_RO( DWORD, maxStack, 9, \".\" );\n    PROPERTY_RO( DWORD, lengthProlog, 10, \".\" );\n    PROPERTY_RO( DWORD, lengthSavedRegisters, 11, \".\" );\n    PROPERTY_RO( BSTR, program, 12, \".\" );\n    PROPERTY_RO( BOOL, systemExceptionHandling, 13, \".\" );\n    PROPERTY_RO( BOOL, cplusplusExceptionHandling, 14, \".\" );\n    PROPERTY_RO( BOOL, functionStart, 15, \".\" );\n    PROPERTY_RO( BOOL, allocatesBasePointer, 16, \".\" );\n    PROPERTY_RO( DWORD, type, 17, \".\" );\n    PROPERTY_RO( IDiaFrameData*, functionParent, 18, \"Frame data for enclosing function.\");                  \n\n    HRESULT execute( IDiaStackWalkFrame* frame );\n}\n\n//\n// IDiaImageData\n//\n//      Some debug streams (XDATA, PDATA) contain copies of data also stored in the image. The\n//      stream data objects (IDiaEnumDebugStreamData) can be QI'ed for their IDiaImageData.\n[\n    object,\n    uuid(C8E40ED2-A1D9-4221-8692-3CE661184B44),\n    local,\n    helpstring(\"IDiaImageData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaImageData: IUnknown\n{\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 2, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 3, \".\" );\n    PROPERTY_RO( ULONGLONG, imageBase, 4, \".\" );\n}\n\n//\n// IDiaTable\n//      Supports enumerating the members of the table\n//\n[\n    object,\n    uuid(4A59FB77-ABAC-469b-A30B-9ECC85BFEF14),\n    local,\n    helpstring(\"IDiaTable Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaTable: IEnumUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaTable.\" );\n    PROPERTY_RO( BSTR, name, 1, \"Table name.\" );\n    PROPERTY_RO( LONG, Count, 2, \"Number of table entries.\" );\n\n    [id(0), helpstring(\"Return the table element for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IUnknown **element); // ### IDispatch?\n\n};\n\n[\n    object,\n    uuid(C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E),\n    local,\n    helpstring(\"IDiaEnumTables Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumTables: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumTables.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of tables.\" );\n\n    [id(0), helpstring(\"Return the table for the given index or name.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaTable **table);\n\n    HRESULT Next(\n        ULONG celt,          \n        IDiaTable ** rgelt,   \n        ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumTables **ppenum);\n};\n\n[\n    uuid(106173A0-0173-4e5c-84E7-E915422BE997),\n    version(2.0),\n    helpstring(\"dia 2.0 Type Library\")\n]\nlibrary Dia2Lib\n{\n\n    importlib(\"stdole2.tlb\");\n    [\n        uuid(151CE278-3CCB-4161-8658-679F8BCF29ED),\n        helpstring(\"DiaSource Class\")\n    ]\n    coclass DiaSource\n    {\n        [default] interface IDiaDataSource;\n    };\n\n    //\n    // DiaSourceAlt - a DiaDataSource object that does not use the system heap. \n    //\n    // A process may either make DiaSourceAlt objects or DiaSource objects, but not both.\n    // When using DiaSourceAlt all returned BSTR's are really LPCOLESTR and should not be \n    // used with other BSTR management routines, in particular they must be released using\n    //      LocalFree( bstr )\n    [\n        uuid(AF74D59B-5AF2-4f36-9E86-87B754DC8A4E),\n        helpstring(\"Local Heap DiaSource Class\")\n    ]\n    coclass DiaSourceAlt\n    {\n        [default] interface IDiaDataSource;\n    };\n\n};\n\n//\n// DebugInfoTable\n//\n// Each id identifies an underlying table of debug information \n// \n\nconst LPOLESTR DiaTable_Symbols = L\"Symbols\";\nconst LPOLESTR DiaTable_Sections = L\"Sections\";\nconst LPOLESTR DiaTable_SrcFiles = L\"SourceFiles\";\nconst LPOLESTR DiaTable_LineNums = L\"LineNumbers\";\nconst LPOLESTR DiaTable_SegMap = L\"SegmentMap\";\nconst LPOLESTR DiaTable_Dbg = L\"Dbg\";\nconst LPOLESTR DiaTable_InjSrc = L\"InjectedSource\";\nconst LPOLESTR DiaTable_FrameData = L\"FrameData\";\n\n"
  },
  {
    "path": "Addition/DIASDK/include/cvconst.h",
    "content": "// cvconst.h - codeview constant definitions\n//-----------------------------------------------------------------\n//\n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _CVCONST_H_\n#define _CVCONST_H_\n\n\n\n//      Enumeration for function call type\n\n\ntypedef enum CV_call_e {\n    CV_CALL_NEAR_C      = 0x00, // near right to left push, caller pops stack\n    CV_CALL_FAR_C       = 0x01, // far right to left push, caller pops stack\n    CV_CALL_NEAR_PASCAL = 0x02, // near left to right push, callee pops stack\n    CV_CALL_FAR_PASCAL  = 0x03, // far left to right push, callee pops stack\n    CV_CALL_NEAR_FAST   = 0x04, // near left to right push with regs, callee pops stack\n    CV_CALL_FAR_FAST    = 0x05, // far left to right push with regs, callee pops stack\n    CV_CALL_SKIPPED     = 0x06, // skipped (unused) call index\n    CV_CALL_NEAR_STD    = 0x07, // near standard call\n    CV_CALL_FAR_STD     = 0x08, // far standard call\n    CV_CALL_NEAR_SYS    = 0x09, // near sys call\n    CV_CALL_FAR_SYS     = 0x0a, // far sys call\n    CV_CALL_THISCALL    = 0x0b, // this call (this passed in register)\n    CV_CALL_MIPSCALL    = 0x0c, // Mips call\n    CV_CALL_GENERIC     = 0x0d, // Generic call sequence\n    CV_CALL_ALPHACALL   = 0x0e, // Alpha call\n    CV_CALL_PPCCALL     = 0x0f, // PPC call\n    CV_CALL_SHCALL      = 0x10, // Hitachi SuperH call\n    CV_CALL_ARMCALL     = 0x11, // ARM call\n    CV_CALL_AM33CALL    = 0x12, // AM33 call\n    CV_CALL_TRICALL     = 0x13, // TriCore Call\n    CV_CALL_SH5CALL     = 0x14, // Hitachi SuperH-5 call\n    CV_CALL_M32RCALL    = 0x15, // M32R Call\n    CV_CALL_RESERVED    = 0x16  // first unused call enumeration\n} CV_call_e;\n\n\n\n\n//      Values for the access protection of class attributes\n\n\ntypedef enum CV_access_e {\n    CV_private   = 1,\n    CV_protected = 2,\n    CV_public    = 3\n} CV_access_e;\n\ntypedef enum THUNK_ORDINAL {\n    THUNK_ORDINAL_NOTYPE,       // standard thunk\n    THUNK_ORDINAL_ADJUSTOR,     // \"this\" adjustor thunk\n    THUNK_ORDINAL_VCALL,        // virtual call thunk\n    THUNK_ORDINAL_PCODE,        // pcode thunk\n    THUNK_ORDINAL_LOAD,         // thunk which loads the address to jump to\n                                //  via unknown means...\n\n // trampoline thunk ordinals   - only for use in Trampoline thunk symbols\n    THUNK_ORDINAL_TRAMP_INCREMENTAL,\n    THUNK_ORDINAL_TRAMP_BRANCHISLAND,\n\n} THUNK_ORDINAL;\n\n\nenum CV_SourceChksum_t {\n    CHKSUM_TYPE_NONE = 0,        // indicates no checksum is available\n    CHKSUM_TYPE_MD5\n};\n\n//\n// DIA enums\n//\n\nenum SymTagEnum\n{\n    SymTagNull,\n    SymTagExe,\n    SymTagCompiland,\n    SymTagCompilandDetails,\n    SymTagCompilandEnv,\n    SymTagFunction,\n    SymTagBlock,\n    SymTagData,\n    SymTagAnnotation,\n    SymTagLabel,\n    SymTagPublicSymbol,\n    SymTagUDT,\n    SymTagEnum,\n    SymTagFunctionType,\n    SymTagPointerType,\n    SymTagArrayType,\n    SymTagBaseType,\n    SymTagTypedef,\n    SymTagBaseClass,\n    SymTagFriend,\n    SymTagFunctionArgType,\n    SymTagFuncDebugStart,\n    SymTagFuncDebugEnd,\n    SymTagUsingNamespace,\n    SymTagVTableShape,\n    SymTagVTable,\n    SymTagCustom,\n    SymTagThunk,\n    SymTagCustomType,\n    SymTagManagedType,\n    SymTagDimension,\n    SymTagMax\n};\n\nenum LocationType\n{\n    LocIsNull,\n    LocIsStatic,\n    LocIsTLS,\n    LocIsRegRel,\n    LocIsThisRel,\n    LocIsEnregistered,\n    LocIsBitField,\n    LocIsSlot,\n    LocIsIlRel,\n    LocInMetaData,\n    LocIsConstant,\n    LocTypeMax\n};\n\nenum DataKind\n{\n    DataIsUnknown,\n    DataIsLocal,\n    DataIsStaticLocal,\n    DataIsParam,\n    DataIsObjectPtr,\n    DataIsFileStatic,\n    DataIsGlobal,\n    DataIsMember,\n    DataIsStaticMember,\n    DataIsConstant\n};\n\nenum UdtKind\n{\n    UdtStruct,\n    UdtClass,\n    UdtUnion\n};\n\nenum BasicType\n{\n    btNoType = 0,\n    btVoid = 1,\n    btChar = 2,\n    btWChar = 3,\n    btInt = 6,\n    btUInt = 7,\n    btFloat = 8,\n    btBCD = 9,\n    btBool = 10,\n    btLong = 13,\n    btULong = 14,\n    btCurrency = 25,\n    btDate = 26,\n    btVariant = 27,\n    btComplex = 28,\n    btBit = 29,\n    btBSTR = 30,\n    btHresult = 31\n};\n\n\n//  enum describing the compile flag source language\n\n\ntypedef enum CV_CFL_LANG {\n    CV_CFL_C        = 0x00,\n    CV_CFL_CXX      = 0x01,\n    CV_CFL_FORTRAN  = 0x02,\n    CV_CFL_MASM     = 0x03,\n    CV_CFL_PASCAL   = 0x04,\n    CV_CFL_BASIC    = 0x05,\n    CV_CFL_COBOL    = 0x06,\n    CV_CFL_LINK     = 0x07,\n    CV_CFL_CVTRES   = 0x08,\n    CV_CFL_CVTPGD   = 0x09,\n} CV_CFL_LANG;\n\n\n//  enum describing target processor\n\n\ntypedef enum CV_CPU_TYPE_e {\n    CV_CFL_8080         = 0x00,\n    CV_CFL_8086         = 0x01,\n    CV_CFL_80286        = 0x02,\n    CV_CFL_80386        = 0x03,\n    CV_CFL_80486        = 0x04,\n    CV_CFL_PENTIUM      = 0x05,\n    CV_CFL_PENTIUMII    = 0x06,\n    CV_CFL_PENTIUMPRO   = CV_CFL_PENTIUMII,\n    CV_CFL_PENTIUMIII   = 0x07,\n    CV_CFL_MIPS         = 0x10,\n    CV_CFL_MIPSR4000    = CV_CFL_MIPS,  // don't break current code\n    CV_CFL_MIPS16       = 0x11,\n    CV_CFL_MIPS32       = 0x12,\n    CV_CFL_MIPS64       = 0x13,\n    CV_CFL_MIPSI        = 0x14,\n    CV_CFL_MIPSII       = 0x15,\n    CV_CFL_MIPSIII      = 0x16,\n    CV_CFL_MIPSIV       = 0x17,\n    CV_CFL_MIPSV        = 0x18,\n    CV_CFL_M68000       = 0x20,\n    CV_CFL_M68010       = 0x21,\n    CV_CFL_M68020       = 0x22,\n    CV_CFL_M68030       = 0x23,\n    CV_CFL_M68040       = 0x24,\n    CV_CFL_ALPHA        = 0x30,\n    CV_CFL_ALPHA_21064  = 0x30,\n    CV_CFL_ALPHA_21164  = 0x31,\n    CV_CFL_ALPHA_21164A = 0x32,\n    CV_CFL_ALPHA_21264  = 0x33,\n    CV_CFL_ALPHA_21364  = 0x34,\n    CV_CFL_PPC601       = 0x40,\n    CV_CFL_PPC603       = 0x41,\n    CV_CFL_PPC604       = 0x42,\n    CV_CFL_PPC620       = 0x43,\n    CV_CFL_PPCFP        = 0x44,\n    CV_CFL_SH3          = 0x50,\n    CV_CFL_SH3E         = 0x51,\n    CV_CFL_SH3DSP       = 0x52,\n    CV_CFL_SH4          = 0x53,\n    CV_CFL_SHMEDIA      = 0x54,\n    CV_CFL_ARM3         = 0x60,\n    CV_CFL_ARM4         = 0x61,\n    CV_CFL_ARM4T        = 0x62,\n    CV_CFL_ARM5         = 0x63,\n    CV_CFL_ARM5T        = 0x64,\n    CV_CFL_OMNI         = 0x70,\n    CV_CFL_IA64         = 0x80,\n    CV_CFL_IA64_1       = 0x80,\n    CV_CFL_IA64_2       = 0x81,\n    CV_CFL_CEE          = 0x90,\n    CV_CFL_AM33         = 0xA0,\n    CV_CFL_M32R         = 0xB0,\n    CV_CFL_TRICORE      = 0xC0,\n    CV_CFL_RESERVED1    = 0xD0,\n    CV_CFL_EBC          = 0xE0,\n    CV_CFL_THUMB        = 0xF0,\n} CV_CPU_TYPE_e;\n\ntypedef enum CV_HREG_e {\n    // Register subset shared by all processor types,\n    // must not overlap with any of the ranges below, hence the high values\n\n    CV_ALLREG_ERR   =   30000,\n    CV_ALLREG_TEB   =   30001,\n    CV_ALLREG_TIMER =   30002,\n    CV_ALLREG_EFAD1 =   30003,\n    CV_ALLREG_EFAD2 =   30004,\n    CV_ALLREG_EFAD3 =   30005,\n    CV_ALLREG_VFRAME=   30006,\n    CV_ALLREG_HANDLE=   30007,\n    CV_ALLREG_PARAMS=   30008,\n    CV_ALLREG_LOCALS=   30009,\n\n\n    //  Register set for the Intel 80x86 and ix86 processor series\n    //  (plus PCODE registers)\n\n    CV_REG_NONE     =   0,\n    CV_REG_AL       =   1,\n    CV_REG_CL       =   2,\n    CV_REG_DL       =   3,\n    CV_REG_BL       =   4,\n    CV_REG_AH       =   5,\n    CV_REG_CH       =   6,\n    CV_REG_DH       =   7,\n    CV_REG_BH       =   8,\n    CV_REG_AX       =   9,\n    CV_REG_CX       =  10,\n    CV_REG_DX       =  11,\n    CV_REG_BX       =  12,\n    CV_REG_SP       =  13,\n    CV_REG_BP       =  14,\n    CV_REG_SI       =  15,\n    CV_REG_DI       =  16,\n    CV_REG_EAX      =  17,\n    CV_REG_ECX      =  18,\n    CV_REG_EDX      =  19,\n    CV_REG_EBX      =  20,\n    CV_REG_ESP      =  21,\n    CV_REG_EBP      =  22,\n    CV_REG_ESI      =  23,\n    CV_REG_EDI      =  24,\n    CV_REG_ES       =  25,\n    CV_REG_CS       =  26,\n    CV_REG_SS       =  27,\n    CV_REG_DS       =  28,\n    CV_REG_FS       =  29,\n    CV_REG_GS       =  30,\n    CV_REG_IP       =  31,\n    CV_REG_FLAGS    =  32,\n    CV_REG_EIP      =  33,\n    CV_REG_EFLAGS   =  34,\n    CV_REG_TEMP     =  40,          // PCODE Temp\n    CV_REG_TEMPH    =  41,          // PCODE TempH\n    CV_REG_QUOTE    =  42,          // PCODE Quote\n    CV_REG_PCDR3    =  43,          // PCODE reserved\n    CV_REG_PCDR4    =  44,          // PCODE reserved\n    CV_REG_PCDR5    =  45,          // PCODE reserved\n    CV_REG_PCDR6    =  46,          // PCODE reserved\n    CV_REG_PCDR7    =  47,          // PCODE reserved\n    CV_REG_CR0      =  80,          // CR0 -- control registers\n    CV_REG_CR1      =  81,\n    CV_REG_CR2      =  82,\n    CV_REG_CR3      =  83,\n    CV_REG_CR4      =  84,          // Pentium\n    CV_REG_DR0      =  90,          // Debug register\n    CV_REG_DR1      =  91,\n    CV_REG_DR2      =  92,\n    CV_REG_DR3      =  93,\n    CV_REG_DR4      =  94,\n    CV_REG_DR5      =  95,\n    CV_REG_DR6      =  96,\n    CV_REG_DR7      =  97,\n    CV_REG_GDTR     =  110,\n    CV_REG_GDTL     =  111,\n    CV_REG_IDTR     =  112,\n    CV_REG_IDTL     =  113,\n    CV_REG_LDTR     =  114,\n    CV_REG_TR       =  115,\n\n    CV_REG_PSEUDO1  =  116,\n    CV_REG_PSEUDO2  =  117,\n    CV_REG_PSEUDO3  =  118,\n    CV_REG_PSEUDO4  =  119,\n    CV_REG_PSEUDO5  =  120,\n    CV_REG_PSEUDO6  =  121,\n    CV_REG_PSEUDO7  =  122,\n    CV_REG_PSEUDO8  =  123,\n    CV_REG_PSEUDO9  =  124,\n\n    CV_REG_ST0      =  128,\n    CV_REG_ST1      =  129,\n    CV_REG_ST2      =  130,\n    CV_REG_ST3      =  131,\n    CV_REG_ST4      =  132,\n    CV_REG_ST5      =  133,\n    CV_REG_ST6      =  134,\n    CV_REG_ST7      =  135,\n    CV_REG_CTRL     =  136,\n    CV_REG_STAT     =  137,\n    CV_REG_TAG      =  138,\n    CV_REG_FPIP     =  139,\n    CV_REG_FPCS     =  140,\n    CV_REG_FPDO     =  141,\n    CV_REG_FPDS     =  142,\n    CV_REG_ISEM     =  143,\n    CV_REG_FPEIP    =  144,\n    CV_REG_FPEDO    =  145,\n\n    CV_REG_MM0      =  146,\n    CV_REG_MM1      =  147,\n    CV_REG_MM2      =  148,\n    CV_REG_MM3      =  149,\n    CV_REG_MM4      =  150,\n    CV_REG_MM5      =  151,\n    CV_REG_MM6      =  152,\n    CV_REG_MM7      =  153,\n\n    CV_REG_XMM0     =  154, // KATMAI registers\n    CV_REG_XMM1     =  155,\n    CV_REG_XMM2     =  156,\n    CV_REG_XMM3     =  157,\n    CV_REG_XMM4     =  158,\n    CV_REG_XMM5     =  159,\n    CV_REG_XMM6     =  160,\n    CV_REG_XMM7     =  161,\n\n    CV_REG_XMM00    =  162, // KATMAI sub-registers\n    CV_REG_XMM01    =  163,\n    CV_REG_XMM02    =  164,\n    CV_REG_XMM03    =  165,\n    CV_REG_XMM10    =  166,\n    CV_REG_XMM11    =  167,\n    CV_REG_XMM12    =  168,\n    CV_REG_XMM13    =  169,\n    CV_REG_XMM20    =  170,\n    CV_REG_XMM21    =  171,\n    CV_REG_XMM22    =  172,\n    CV_REG_XMM23    =  173,\n    CV_REG_XMM30    =  174,\n    CV_REG_XMM31    =  175,\n    CV_REG_XMM32    =  176,\n    CV_REG_XMM33    =  177,\n    CV_REG_XMM40    =  178,\n    CV_REG_XMM41    =  179,\n    CV_REG_XMM42    =  180,\n    CV_REG_XMM43    =  181,\n    CV_REG_XMM50    =  182,\n    CV_REG_XMM51    =  183,\n    CV_REG_XMM52    =  184,\n    CV_REG_XMM53    =  185,\n    CV_REG_XMM60    =  186,\n    CV_REG_XMM61    =  187,\n    CV_REG_XMM62    =  188,\n    CV_REG_XMM63    =  189,\n    CV_REG_XMM70    =  190,\n    CV_REG_XMM71    =  191,\n    CV_REG_XMM72    =  192,\n    CV_REG_XMM73    =  193,\n\n    CV_REG_XMM0L    =  194,\n    CV_REG_XMM1L    =  195,\n    CV_REG_XMM2L    =  196,\n    CV_REG_XMM3L    =  197,\n    CV_REG_XMM4L    =  198,\n    CV_REG_XMM5L    =  199,\n    CV_REG_XMM6L    =  200,\n    CV_REG_XMM7L    =  201,\n\n    CV_REG_XMM0H    =  202,\n    CV_REG_XMM1H    =  203,\n    CV_REG_XMM2H    =  204,\n    CV_REG_XMM3H    =  205,\n    CV_REG_XMM4H    =  206,\n    CV_REG_XMM5H    =  207,\n    CV_REG_XMM6H    =  208,\n    CV_REG_XMM7H    =  209,\n\n    CV_REG_MXCSR    =  211, // XMM status register\n\n    CV_REG_EDXEAX   =  212, // EDX:EAX pair\n\n    CV_REG_EMM0L    =  220, // XMM sub-registers (WNI integer)\n    CV_REG_EMM1L    =  221,\n    CV_REG_EMM2L    =  222,\n    CV_REG_EMM3L    =  223,\n    CV_REG_EMM4L    =  224,\n    CV_REG_EMM5L    =  225,\n    CV_REG_EMM6L    =  226,\n    CV_REG_EMM7L    =  227,\n\n    CV_REG_EMM0H    =  228,\n    CV_REG_EMM1H    =  229,\n    CV_REG_EMM2H    =  230,\n    CV_REG_EMM3H    =  231,\n    CV_REG_EMM4H    =  232,\n    CV_REG_EMM5H    =  233,\n    CV_REG_EMM6H    =  234,\n    CV_REG_EMM7H    =  235,\n\n    // do not change the order of these regs, first one must be even too\n    CV_REG_MM00     =  236,\n    CV_REG_MM01     =  237,\n    CV_REG_MM10     =  238,\n    CV_REG_MM11     =  239,\n    CV_REG_MM20     =  240,\n    CV_REG_MM21     =  241,\n    CV_REG_MM30     =  242,\n    CV_REG_MM31     =  243,\n    CV_REG_MM40     =  244,\n    CV_REG_MM41     =  245,\n    CV_REG_MM50     =  246,\n    CV_REG_MM51     =  247,\n    CV_REG_MM60     =  248,\n    CV_REG_MM61     =  249,\n    CV_REG_MM70     =  250,\n    CV_REG_MM71     =  251,\n\n    // registers for the 68K processors\n\n    CV_R68_D0       =    0,\n    CV_R68_D1       =    1,\n    CV_R68_D2       =    2,\n    CV_R68_D3       =    3,\n    CV_R68_D4       =    4,\n    CV_R68_D5       =    5,\n    CV_R68_D6       =    6,\n    CV_R68_D7       =    7,\n    CV_R68_A0       =    8,\n    CV_R68_A1       =    9,\n    CV_R68_A2       =   10,\n    CV_R68_A3       =   11,\n    CV_R68_A4       =   12,\n    CV_R68_A5       =   13,\n    CV_R68_A6       =   14,\n    CV_R68_A7       =   15,\n    CV_R68_CCR      =   16,\n    CV_R68_SR       =   17,\n    CV_R68_USP      =   18,\n    CV_R68_MSP      =   19,\n    CV_R68_SFC      =   20,\n    CV_R68_DFC      =   21,\n    CV_R68_CACR     =   22,\n    CV_R68_VBR      =   23,\n    CV_R68_CAAR     =   24,\n    CV_R68_ISP      =   25,\n    CV_R68_PC       =   26,\n    //reserved  27\n    CV_R68_FPCR     =   28,\n    CV_R68_FPSR     =   29,\n    CV_R68_FPIAR    =   30,\n    //reserved  31\n    CV_R68_FP0      =   32,\n    CV_R68_FP1      =   33,\n    CV_R68_FP2      =   34,\n    CV_R68_FP3      =   35,\n    CV_R68_FP4      =   36,\n    CV_R68_FP5      =   37,\n    CV_R68_FP6      =   38,\n    CV_R68_FP7      =   39,\n    //reserved  40\n    CV_R68_MMUSR030 =   41,\n    CV_R68_MMUSR    =   42,\n    CV_R68_URP      =   43,\n    CV_R68_DTT0     =   44,\n    CV_R68_DTT1     =   45,\n    CV_R68_ITT0     =   46,\n    CV_R68_ITT1     =   47,\n    //reserved  50\n    CV_R68_PSR      =   51,\n    CV_R68_PCSR     =   52,\n    CV_R68_VAL      =   53,\n    CV_R68_CRP      =   54,\n    CV_R68_SRP      =   55,\n    CV_R68_DRP      =   56,\n    CV_R68_TC       =   57,\n    CV_R68_AC       =   58,\n    CV_R68_SCC      =   59,\n    CV_R68_CAL      =   60,\n    CV_R68_TT0      =   61,\n    CV_R68_TT1      =   62,\n    //reserved  63\n    CV_R68_BAD0     =   64,\n    CV_R68_BAD1     =   65,\n    CV_R68_BAD2     =   66,\n    CV_R68_BAD3     =   67,\n    CV_R68_BAD4     =   68,\n    CV_R68_BAD5     =   69,\n    CV_R68_BAD6     =   70,\n    CV_R68_BAD7     =   71,\n    CV_R68_BAC0     =   72,\n    CV_R68_BAC1     =   73,\n    CV_R68_BAC2     =   74,\n    CV_R68_BAC3     =   75,\n    CV_R68_BAC4     =   76,\n    CV_R68_BAC5     =   77,\n    CV_R68_BAC6     =   78,\n    CV_R68_BAC7     =   79,\n\n     // Register set for the MIPS 4000\n\n    CV_M4_NOREG     =   CV_REG_NONE,\n\n    CV_M4_IntZERO   =   10,      /* CPU REGISTER */\n    CV_M4_IntAT     =   11,\n    CV_M4_IntV0     =   12,\n    CV_M4_IntV1     =   13,\n    CV_M4_IntA0     =   14,\n    CV_M4_IntA1     =   15,\n    CV_M4_IntA2     =   16,\n    CV_M4_IntA3     =   17,\n    CV_M4_IntT0     =   18,\n    CV_M4_IntT1     =   19,\n    CV_M4_IntT2     =   20,\n    CV_M4_IntT3     =   21,\n    CV_M4_IntT4     =   22,\n    CV_M4_IntT5     =   23,\n    CV_M4_IntT6     =   24,\n    CV_M4_IntT7     =   25,\n    CV_M4_IntS0     =   26,\n    CV_M4_IntS1     =   27,\n    CV_M4_IntS2     =   28,\n    CV_M4_IntS3     =   29,\n    CV_M4_IntS4     =   30,\n    CV_M4_IntS5     =   31,\n    CV_M4_IntS6     =   32,\n    CV_M4_IntS7     =   33,\n    CV_M4_IntT8     =   34,\n    CV_M4_IntT9     =   35,\n    CV_M4_IntKT0    =   36,\n    CV_M4_IntKT1    =   37,\n    CV_M4_IntGP     =   38,\n    CV_M4_IntSP     =   39,\n    CV_M4_IntS8     =   40,\n    CV_M4_IntRA     =   41,\n    CV_M4_IntLO     =   42,\n    CV_M4_IntHI     =   43,\n\n    CV_M4_Fir       =   50,\n    CV_M4_Psr       =   51,\n\n    CV_M4_FltF0     =   60,      /* Floating point registers */\n    CV_M4_FltF1     =   61,\n    CV_M4_FltF2     =   62,\n    CV_M4_FltF3     =   63,\n    CV_M4_FltF4     =   64,\n    CV_M4_FltF5     =   65,\n    CV_M4_FltF6     =   66,\n    CV_M4_FltF7     =   67,\n    CV_M4_FltF8     =   68,\n    CV_M4_FltF9     =   69,\n    CV_M4_FltF10    =   70,\n    CV_M4_FltF11    =   71,\n    CV_M4_FltF12    =   72,\n    CV_M4_FltF13    =   73,\n    CV_M4_FltF14    =   74,\n    CV_M4_FltF15    =   75,\n    CV_M4_FltF16    =   76,\n    CV_M4_FltF17    =   77,\n    CV_M4_FltF18    =   78,\n    CV_M4_FltF19    =   79,\n    CV_M4_FltF20    =   80,\n    CV_M4_FltF21    =   81,\n    CV_M4_FltF22    =   82,\n    CV_M4_FltF23    =   83,\n    CV_M4_FltF24    =   84,\n    CV_M4_FltF25    =   85,\n    CV_M4_FltF26    =   86,\n    CV_M4_FltF27    =   87,\n    CV_M4_FltF28    =   88,\n    CV_M4_FltF29    =   89,\n    CV_M4_FltF30    =   90,\n    CV_M4_FltF31    =   91,\n    CV_M4_FltFsr    =   92,\n\n\n    // Register set for the ALPHA AXP\n\n    CV_ALPHA_NOREG  = CV_REG_NONE,\n\n    CV_ALPHA_FltF0  =   10,   // Floating point registers\n    CV_ALPHA_FltF1  =   11,\n    CV_ALPHA_FltF2  =   12,\n    CV_ALPHA_FltF3  =   13,\n    CV_ALPHA_FltF4  =   14,\n    CV_ALPHA_FltF5  =   15,\n    CV_ALPHA_FltF6  =   16,\n    CV_ALPHA_FltF7  =   17,\n    CV_ALPHA_FltF8  =   18,\n    CV_ALPHA_FltF9  =   19,\n    CV_ALPHA_FltF10 =   20,\n    CV_ALPHA_FltF11 =   21,\n    CV_ALPHA_FltF12 =   22,\n    CV_ALPHA_FltF13 =   23,\n    CV_ALPHA_FltF14 =   24,\n    CV_ALPHA_FltF15 =   25,\n    CV_ALPHA_FltF16 =   26,\n    CV_ALPHA_FltF17 =   27,\n    CV_ALPHA_FltF18 =   28,\n    CV_ALPHA_FltF19 =   29,\n    CV_ALPHA_FltF20 =   30,\n    CV_ALPHA_FltF21 =   31,\n    CV_ALPHA_FltF22 =   32,\n    CV_ALPHA_FltF23 =   33,\n    CV_ALPHA_FltF24 =   34,\n    CV_ALPHA_FltF25 =   35,\n    CV_ALPHA_FltF26 =   36,\n    CV_ALPHA_FltF27 =   37,\n    CV_ALPHA_FltF28 =   38,\n    CV_ALPHA_FltF29 =   39,\n    CV_ALPHA_FltF30 =   40,\n    CV_ALPHA_FltF31 =   41,\n\n    CV_ALPHA_IntV0  =   42,   // Integer registers\n    CV_ALPHA_IntT0  =   43,\n    CV_ALPHA_IntT1  =   44,\n    CV_ALPHA_IntT2  =   45,\n    CV_ALPHA_IntT3  =   46,\n    CV_ALPHA_IntT4  =   47,\n    CV_ALPHA_IntT5  =   48,\n    CV_ALPHA_IntT6  =   49,\n    CV_ALPHA_IntT7  =   50,\n    CV_ALPHA_IntS0  =   51,\n    CV_ALPHA_IntS1  =   52,\n    CV_ALPHA_IntS2  =   53,\n    CV_ALPHA_IntS3  =   54,\n    CV_ALPHA_IntS4  =   55,\n    CV_ALPHA_IntS5  =   56,\n    CV_ALPHA_IntFP  =   57,\n    CV_ALPHA_IntA0  =   58,\n    CV_ALPHA_IntA1  =   59,\n    CV_ALPHA_IntA2  =   60,\n    CV_ALPHA_IntA3  =   61,\n    CV_ALPHA_IntA4  =   62,\n    CV_ALPHA_IntA5  =   63,\n    CV_ALPHA_IntT8  =   64,\n    CV_ALPHA_IntT9  =   65,\n    CV_ALPHA_IntT10 =   66,\n    CV_ALPHA_IntT11 =   67,\n    CV_ALPHA_IntRA  =   68,\n    CV_ALPHA_IntT12 =   69,\n    CV_ALPHA_IntAT  =   70,\n    CV_ALPHA_IntGP  =   71,\n    CV_ALPHA_IntSP  =   72,\n    CV_ALPHA_IntZERO =  73,\n\n\n    CV_ALPHA_Fpcr   =   74,   // Control registers\n    CV_ALPHA_Fir    =   75,\n    CV_ALPHA_Psr    =   76,\n    CV_ALPHA_FltFsr =   77,\n    CV_ALPHA_SoftFpcr =   78,\n\n    // Register Set for Motorola/IBM PowerPC\n\n    /*\n    ** PowerPC General Registers ( User Level )\n    */\n    CV_PPC_GPR0     =  1,\n    CV_PPC_GPR1     =  2,\n    CV_PPC_GPR2     =  3,\n    CV_PPC_GPR3     =  4,\n    CV_PPC_GPR4     =  5,\n    CV_PPC_GPR5     =  6,\n    CV_PPC_GPR6     =  7,\n    CV_PPC_GPR7     =  8,\n    CV_PPC_GPR8     =  9,\n    CV_PPC_GPR9     = 10,\n    CV_PPC_GPR10    = 11,\n    CV_PPC_GPR11    = 12,\n    CV_PPC_GPR12    = 13,\n    CV_PPC_GPR13    = 14,\n    CV_PPC_GPR14    = 15,\n    CV_PPC_GPR15    = 16,\n    CV_PPC_GPR16    = 17,\n    CV_PPC_GPR17    = 18,\n    CV_PPC_GPR18    = 19,\n    CV_PPC_GPR19    = 20,\n    CV_PPC_GPR20    = 21,\n    CV_PPC_GPR21    = 22,\n    CV_PPC_GPR22    = 23,\n    CV_PPC_GPR23    = 24,\n    CV_PPC_GPR24    = 25,\n    CV_PPC_GPR25    = 26,\n    CV_PPC_GPR26    = 27,\n    CV_PPC_GPR27    = 28,\n    CV_PPC_GPR28    = 29,\n    CV_PPC_GPR29    = 30,\n    CV_PPC_GPR30    = 31,\n    CV_PPC_GPR31    = 32,\n\n    /*\n    ** PowerPC Condition Register ( User Level )\n    */\n    CV_PPC_CR       = 33,\n    CV_PPC_CR0      = 34,\n    CV_PPC_CR1      = 35,\n    CV_PPC_CR2      = 36,\n    CV_PPC_CR3      = 37,\n    CV_PPC_CR4      = 38,\n    CV_PPC_CR5      = 39,\n    CV_PPC_CR6      = 40,\n    CV_PPC_CR7      = 41,\n\n    /*\n    ** PowerPC Floating Point Registers ( User Level )\n    */\n    CV_PPC_FPR0     = 42,\n    CV_PPC_FPR1     = 43,\n    CV_PPC_FPR2     = 44,\n    CV_PPC_FPR3     = 45,\n    CV_PPC_FPR4     = 46,\n    CV_PPC_FPR5     = 47,\n    CV_PPC_FPR6     = 48,\n    CV_PPC_FPR7     = 49,\n    CV_PPC_FPR8     = 50,\n    CV_PPC_FPR9     = 51,\n    CV_PPC_FPR10    = 52,\n    CV_PPC_FPR11    = 53,\n    CV_PPC_FPR12    = 54,\n    CV_PPC_FPR13    = 55,\n    CV_PPC_FPR14    = 56,\n    CV_PPC_FPR15    = 57,\n    CV_PPC_FPR16    = 58,\n    CV_PPC_FPR17    = 59,\n    CV_PPC_FPR18    = 60,\n    CV_PPC_FPR19    = 61,\n    CV_PPC_FPR20    = 62,\n    CV_PPC_FPR21    = 63,\n    CV_PPC_FPR22    = 64,\n    CV_PPC_FPR23    = 65,\n    CV_PPC_FPR24    = 66,\n    CV_PPC_FPR25    = 67,\n    CV_PPC_FPR26    = 68,\n    CV_PPC_FPR27    = 69,\n    CV_PPC_FPR28    = 70,\n    CV_PPC_FPR29    = 71,\n    CV_PPC_FPR30    = 72,\n    CV_PPC_FPR31    = 73,\n\n    /*\n    ** PowerPC Floating Point Status and Control Register ( User Level )\n    */\n    CV_PPC_FPSCR    = 74,\n\n    /*\n    ** PowerPC Machine State Register ( Supervisor Level )\n    */\n    CV_PPC_MSR      = 75,\n\n    /*\n    ** PowerPC Segment Registers ( Supervisor Level )\n    */\n    CV_PPC_SR0      = 76,\n    CV_PPC_SR1      = 77,\n    CV_PPC_SR2      = 78,\n    CV_PPC_SR3      = 79,\n    CV_PPC_SR4      = 80,\n    CV_PPC_SR5      = 81,\n    CV_PPC_SR6      = 82,\n    CV_PPC_SR7      = 83,\n    CV_PPC_SR8      = 84,\n    CV_PPC_SR9      = 85,\n    CV_PPC_SR10     = 86,\n    CV_PPC_SR11     = 87,\n    CV_PPC_SR12     = 88,\n    CV_PPC_SR13     = 89,\n    CV_PPC_SR14     = 90,\n    CV_PPC_SR15     = 91,\n\n    /*\n    ** For all of the special purpose registers add 100 to the SPR# that the\n    ** Motorola/IBM documentation gives with the exception of any imaginary\n    ** registers.\n    */\n\n    /*\n    ** PowerPC Special Purpose Registers ( User Level )\n    */\n    CV_PPC_PC       = 99,     // PC (imaginary register)\n\n    CV_PPC_MQ       = 100,    // MPC601\n    CV_PPC_XER      = 101,\n    CV_PPC_RTCU     = 104,    // MPC601\n    CV_PPC_RTCL     = 105,    // MPC601\n    CV_PPC_LR       = 108,\n    CV_PPC_CTR      = 109,\n\n    CV_PPC_COMPARE  = 110,    // part of XER (internal to the debugger only)\n    CV_PPC_COUNT    = 111,    // part of XER (internal to the debugger only)\n\n    /*\n    ** PowerPC Special Purpose Registers ( Supervisor Level )\n    */\n    CV_PPC_DSISR    = 118,\n    CV_PPC_DAR      = 119,\n    CV_PPC_DEC      = 122,\n    CV_PPC_SDR1     = 125,\n    CV_PPC_SRR0     = 126,\n    CV_PPC_SRR1     = 127,\n    CV_PPC_SPRG0    = 372,\n    CV_PPC_SPRG1    = 373,\n    CV_PPC_SPRG2    = 374,\n    CV_PPC_SPRG3    = 375,\n    CV_PPC_ASR      = 280,    // 64-bit implementations only\n    CV_PPC_EAR      = 382,\n    CV_PPC_PVR      = 287,\n    CV_PPC_BAT0U    = 628,\n    CV_PPC_BAT0L    = 629,\n    CV_PPC_BAT1U    = 630,\n    CV_PPC_BAT1L    = 631,\n    CV_PPC_BAT2U    = 632,\n    CV_PPC_BAT2L    = 633,\n    CV_PPC_BAT3U    = 634,\n    CV_PPC_BAT3L    = 635,\n    CV_PPC_DBAT0U   = 636,\n    CV_PPC_DBAT0L   = 637,\n    CV_PPC_DBAT1U   = 638,\n    CV_PPC_DBAT1L   = 639,\n    CV_PPC_DBAT2U   = 640,\n    CV_PPC_DBAT2L   = 641,\n    CV_PPC_DBAT3U   = 642,\n    CV_PPC_DBAT3L   = 643,\n\n    /*\n    ** PowerPC Special Purpose Registers Implementation Dependent ( Supervisor Level )\n    */\n\n    /*\n    ** Doesn't appear that IBM/Motorola has finished defining these.\n    */\n\n    CV_PPC_PMR0     = 1044,   // MPC620,\n    CV_PPC_PMR1     = 1045,   // MPC620,\n    CV_PPC_PMR2     = 1046,   // MPC620,\n    CV_PPC_PMR3     = 1047,   // MPC620,\n    CV_PPC_PMR4     = 1048,   // MPC620,\n    CV_PPC_PMR5     = 1049,   // MPC620,\n    CV_PPC_PMR6     = 1050,   // MPC620,\n    CV_PPC_PMR7     = 1051,   // MPC620,\n    CV_PPC_PMR8     = 1052,   // MPC620,\n    CV_PPC_PMR9     = 1053,   // MPC620,\n    CV_PPC_PMR10    = 1054,   // MPC620,\n    CV_PPC_PMR11    = 1055,   // MPC620,\n    CV_PPC_PMR12    = 1056,   // MPC620,\n    CV_PPC_PMR13    = 1057,   // MPC620,\n    CV_PPC_PMR14    = 1058,   // MPC620,\n    CV_PPC_PMR15    = 1059,   // MPC620,\n\n    CV_PPC_DMISS    = 1076,   // MPC603\n    CV_PPC_DCMP     = 1077,   // MPC603\n    CV_PPC_HASH1    = 1078,   // MPC603\n    CV_PPC_HASH2    = 1079,   // MPC603\n    CV_PPC_IMISS    = 1080,   // MPC603\n    CV_PPC_ICMP     = 1081,   // MPC603\n    CV_PPC_RPA      = 1082,   // MPC603\n\n    CV_PPC_HID0     = 1108,   // MPC601, MPC603, MPC620\n    CV_PPC_HID1     = 1109,   // MPC601\n    CV_PPC_HID2     = 1110,   // MPC601, MPC603, MPC620 ( IABR )\n    CV_PPC_HID3     = 1111,   // Not Defined\n    CV_PPC_HID4     = 1112,   // Not Defined\n    CV_PPC_HID5     = 1113,   // MPC601, MPC604, MPC620 ( DABR )\n    CV_PPC_HID6     = 1114,   // Not Defined\n    CV_PPC_HID7     = 1115,   // Not Defined\n    CV_PPC_HID8     = 1116,   // MPC620 ( BUSCSR )\n    CV_PPC_HID9     = 1117,   // MPC620 ( L2CSR )\n    CV_PPC_HID10    = 1118,   // Not Defined\n    CV_PPC_HID11    = 1119,   // Not Defined\n    CV_PPC_HID12    = 1120,   // Not Defined\n    CV_PPC_HID13    = 1121,   // MPC604 ( HCR )\n    CV_PPC_HID14    = 1122,   // Not Defined\n    CV_PPC_HID15    = 1123,   // MPC601, MPC604, MPC620 ( PIR )\n\n    //\n    // JAVA VM registers\n    //\n\n    CV_JAVA_PC      = 1,\n\n    //\n    // Register set for the Hitachi SH3\n    //\n\n    CV_SH3_NOREG    =   CV_REG_NONE,\n\n    CV_SH3_IntR0    =   10,   // CPU REGISTER\n    CV_SH3_IntR1    =   11,\n    CV_SH3_IntR2    =   12,\n    CV_SH3_IntR3    =   13,\n    CV_SH3_IntR4    =   14,\n    CV_SH3_IntR5    =   15,\n    CV_SH3_IntR6    =   16,\n    CV_SH3_IntR7    =   17,\n    CV_SH3_IntR8    =   18,\n    CV_SH3_IntR9    =   19,\n    CV_SH3_IntR10   =   20,\n    CV_SH3_IntR11   =   21,\n    CV_SH3_IntR12   =   22,\n    CV_SH3_IntR13   =   23,\n    CV_SH3_IntFp    =   24,\n    CV_SH3_IntSp    =   25,\n    CV_SH3_Gbr      =   38,\n    CV_SH3_Pr       =   39,\n    CV_SH3_Mach     =   40,\n    CV_SH3_Macl     =   41,\n\n    CV_SH3_Pc       =   50,\n    CV_SH3_Sr       =   51,\n\n    CV_SH3_BarA     =   60,\n    CV_SH3_BasrA    =   61,\n    CV_SH3_BamrA    =   62,\n    CV_SH3_BbrA     =   63,\n    CV_SH3_BarB     =   64,\n    CV_SH3_BasrB    =   65,\n    CV_SH3_BamrB    =   66,\n    CV_SH3_BbrB     =   67,\n    CV_SH3_BdrB     =   68,\n    CV_SH3_BdmrB    =   69,\n    CV_SH3_Brcr     =   70,\n\n    //\n    // Additional registers for Hitachi SH processors\n    //\n\n    CV_SH_Fpscr    =   75,    // floating point status/control register\n    CV_SH_Fpul     =   76,    // floating point communication register\n\n    CV_SH_FpR0     =   80,    // Floating point registers\n    CV_SH_FpR1     =   81,\n    CV_SH_FpR2     =   82,\n    CV_SH_FpR3     =   83,\n    CV_SH_FpR4     =   84,\n    CV_SH_FpR5     =   85,\n    CV_SH_FpR6     =   86,\n    CV_SH_FpR7     =   87,\n    CV_SH_FpR8     =   88,\n    CV_SH_FpR9     =   89,\n    CV_SH_FpR10    =   90,\n    CV_SH_FpR11    =   91,\n    CV_SH_FpR12    =   92,\n    CV_SH_FpR13    =   93,\n    CV_SH_FpR14    =   94,\n    CV_SH_FpR15    =   95,\n\n    CV_SH_XFpR0    =   96,\n    CV_SH_XFpR1    =   97,\n    CV_SH_XFpR2    =   98,\n    CV_SH_XFpR3    =   99,\n    CV_SH_XFpR4    =  100,\n    CV_SH_XFpR5    =  101,\n    CV_SH_XFpR6    =  102,\n    CV_SH_XFpR7    =  103,\n    CV_SH_XFpR8    =  104,\n    CV_SH_XFpR9    =  105,\n    CV_SH_XFpR10   =  106,\n    CV_SH_XFpR11   =  107,\n    CV_SH_XFpR12   =  108,\n    CV_SH_XFpR13   =  109,\n    CV_SH_XFpR14   =  110,\n    CV_SH_XFpR15   =  111,\n\n    //\n    // Register set for the ARM processor.\n    //\n\n    CV_ARM_NOREG    =   CV_REG_NONE,\n\n    CV_ARM_R0       =   10,\n    CV_ARM_R1       =   11,\n    CV_ARM_R2       =   12,\n    CV_ARM_R3       =   13,\n    CV_ARM_R4       =   14,\n    CV_ARM_R5       =   15,\n    CV_ARM_R6       =   16,\n    CV_ARM_R7       =   17,\n    CV_ARM_R8       =   18,\n    CV_ARM_R9       =   19,\n    CV_ARM_R10      =   20,\n    CV_ARM_R11      =   21, // Frame pointer, if allocated\n    CV_ARM_R12      =   22,\n    CV_ARM_SP       =   23, // Stack pointer\n    CV_ARM_LR       =   24, // Link Register\n    CV_ARM_PC       =   25, // Program counter\n    CV_ARM_CPSR     =   26, // Current program status register\n\n    //\n    // Register set for Intel IA64\n    //\n\n    CV_IA64_NOREG   =   CV_REG_NONE,\n\n    // Branch Registers\n\n    CV_IA64_Br0     =   512,\n    CV_IA64_Br1     =   513,\n    CV_IA64_Br2     =   514,\n    CV_IA64_Br3     =   515,\n    CV_IA64_Br4     =   516,\n    CV_IA64_Br5     =   517,\n    CV_IA64_Br6     =   518,\n    CV_IA64_Br7     =   519,\n\n    // Predicate Registers\n\n    CV_IA64_P0    =   704,\n    CV_IA64_P1    =   705,\n    CV_IA64_P2    =   706,\n    CV_IA64_P3    =   707,\n    CV_IA64_P4    =   708,\n    CV_IA64_P5    =   709,\n    CV_IA64_P6    =   710,\n    CV_IA64_P7    =   711,\n    CV_IA64_P8    =   712,\n    CV_IA64_P9    =   713,\n    CV_IA64_P10   =   714,\n    CV_IA64_P11   =   715,\n    CV_IA64_P12   =   716,\n    CV_IA64_P13   =   717,\n    CV_IA64_P14   =   718,\n    CV_IA64_P15   =   719,\n    CV_IA64_P16   =   720,\n    CV_IA64_P17   =   721,\n    CV_IA64_P18   =   722,\n    CV_IA64_P19   =   723,\n    CV_IA64_P20   =   724,\n    CV_IA64_P21   =   725,\n    CV_IA64_P22   =   726,\n    CV_IA64_P23   =   727,\n    CV_IA64_P24   =   728,\n    CV_IA64_P25   =   729,\n    CV_IA64_P26   =   730,\n    CV_IA64_P27   =   731,\n    CV_IA64_P28   =   732,\n    CV_IA64_P29   =   733,\n    CV_IA64_P30   =   734,\n    CV_IA64_P31   =   735,\n    CV_IA64_P32   =   736,\n    CV_IA64_P33   =   737,\n    CV_IA64_P34   =   738,\n    CV_IA64_P35   =   739,\n    CV_IA64_P36   =   740,\n    CV_IA64_P37   =   741,\n    CV_IA64_P38   =   742,\n    CV_IA64_P39   =   743,\n    CV_IA64_P40   =   744,\n    CV_IA64_P41   =   745,\n    CV_IA64_P42   =   746,\n    CV_IA64_P43   =   747,\n    CV_IA64_P44   =   748,\n    CV_IA64_P45   =   749,\n    CV_IA64_P46   =   750,\n    CV_IA64_P47   =   751,\n    CV_IA64_P48   =   752,\n    CV_IA64_P49   =   753,\n    CV_IA64_P50   =   754,\n    CV_IA64_P51   =   755,\n    CV_IA64_P52   =   756,\n    CV_IA64_P53   =   757,\n    CV_IA64_P54   =   758,\n    CV_IA64_P55   =   759,\n    CV_IA64_P56   =   760,\n    CV_IA64_P57   =   761,\n    CV_IA64_P58   =   762,\n    CV_IA64_P59   =   763,\n    CV_IA64_P60   =   764,\n    CV_IA64_P61   =   765,\n    CV_IA64_P62   =   766,\n    CV_IA64_P63   =   767,\n\n    CV_IA64_Preds   =   768,\n\n    // Banked General Registers\n\n    CV_IA64_IntH0   =   832,\n    CV_IA64_IntH1   =   833,\n    CV_IA64_IntH2   =   834,\n    CV_IA64_IntH3   =   835,\n    CV_IA64_IntH4   =   836,\n    CV_IA64_IntH5   =   837,\n    CV_IA64_IntH6   =   838,\n    CV_IA64_IntH7   =   839,\n    CV_IA64_IntH8   =   840,\n    CV_IA64_IntH9   =   841,\n    CV_IA64_IntH10  =   842,\n    CV_IA64_IntH11  =   843,\n    CV_IA64_IntH12  =   844,\n    CV_IA64_IntH13  =   845,\n    CV_IA64_IntH14  =   846,\n    CV_IA64_IntH15  =   847,\n\n    // Special Registers\n\n    CV_IA64_Ip      =   1016,\n    CV_IA64_Umask   =   1017,\n    CV_IA64_Cfm     =   1018,\n    CV_IA64_Psr     =   1019,\n\n    // Banked General Registers\n\n    CV_IA64_Nats    =   1020,\n    CV_IA64_Nats2   =   1021,\n    CV_IA64_Nats3   =   1022,\n\n    // General-Purpose Registers\n\n    // Integer registers\n    CV_IA64_IntR0   =   1024,\n    CV_IA64_IntR1   =   1025,\n    CV_IA64_IntR2   =   1026,\n    CV_IA64_IntR3   =   1027,\n    CV_IA64_IntR4   =   1028,\n    CV_IA64_IntR5   =   1029,\n    CV_IA64_IntR6   =   1030,\n    CV_IA64_IntR7   =   1031,\n    CV_IA64_IntR8   =   1032,\n    CV_IA64_IntR9   =   1033,\n    CV_IA64_IntR10  =   1034,\n    CV_IA64_IntR11  =   1035,\n    CV_IA64_IntR12  =   1036,\n    CV_IA64_IntR13  =   1037,\n    CV_IA64_IntR14  =   1038,\n    CV_IA64_IntR15  =   1039,\n    CV_IA64_IntR16  =   1040,\n    CV_IA64_IntR17  =   1041,\n    CV_IA64_IntR18  =   1042,\n    CV_IA64_IntR19  =   1043,\n    CV_IA64_IntR20  =   1044,\n    CV_IA64_IntR21  =   1045,\n    CV_IA64_IntR22  =   1046,\n    CV_IA64_IntR23  =   1047,\n    CV_IA64_IntR24  =   1048,\n    CV_IA64_IntR25  =   1049,\n    CV_IA64_IntR26  =   1050,\n    CV_IA64_IntR27  =   1051,\n    CV_IA64_IntR28  =   1052,\n    CV_IA64_IntR29  =   1053,\n    CV_IA64_IntR30  =   1054,\n    CV_IA64_IntR31  =   1055,\n\n    // Register Stack\n    CV_IA64_IntR32  =   1056,\n    CV_IA64_IntR33  =   1057,\n    CV_IA64_IntR34  =   1058,\n    CV_IA64_IntR35  =   1059,\n    CV_IA64_IntR36  =   1060,\n    CV_IA64_IntR37  =   1061,\n    CV_IA64_IntR38  =   1062,\n    CV_IA64_IntR39  =   1063,\n    CV_IA64_IntR40  =   1064,\n    CV_IA64_IntR41  =   1065,\n    CV_IA64_IntR42  =   1066,\n    CV_IA64_IntR43  =   1067,\n    CV_IA64_IntR44  =   1068,\n    CV_IA64_IntR45  =   1069,\n    CV_IA64_IntR46  =   1070,\n    CV_IA64_IntR47  =   1071,\n    CV_IA64_IntR48  =   1072,\n    CV_IA64_IntR49  =   1073,\n    CV_IA64_IntR50  =   1074,\n    CV_IA64_IntR51  =   1075,\n    CV_IA64_IntR52  =   1076,\n    CV_IA64_IntR53  =   1077,\n    CV_IA64_IntR54  =   1078,\n    CV_IA64_IntR55  =   1079,\n    CV_IA64_IntR56  =   1080,\n    CV_IA64_IntR57  =   1081,\n    CV_IA64_IntR58  =   1082,\n    CV_IA64_IntR59  =   1083,\n    CV_IA64_IntR60  =   1084,\n    CV_IA64_IntR61  =   1085,\n    CV_IA64_IntR62  =   1086,\n    CV_IA64_IntR63  =   1087,\n    CV_IA64_IntR64  =   1088,\n    CV_IA64_IntR65  =   1089,\n    CV_IA64_IntR66  =   1090,\n    CV_IA64_IntR67  =   1091,\n    CV_IA64_IntR68  =   1092,\n    CV_IA64_IntR69  =   1093,\n    CV_IA64_IntR70  =   1094,\n    CV_IA64_IntR71  =   1095,\n    CV_IA64_IntR72  =   1096,\n    CV_IA64_IntR73  =   1097,\n    CV_IA64_IntR74  =   1098,\n    CV_IA64_IntR75  =   1099,\n    CV_IA64_IntR76  =   1100,\n    CV_IA64_IntR77  =   1101,\n    CV_IA64_IntR78  =   1102,\n    CV_IA64_IntR79  =   1103,\n    CV_IA64_IntR80  =   1104,\n    CV_IA64_IntR81  =   1105,\n    CV_IA64_IntR82  =   1106,\n    CV_IA64_IntR83  =   1107,\n    CV_IA64_IntR84  =   1108,\n    CV_IA64_IntR85  =   1109,\n    CV_IA64_IntR86  =   1110,\n    CV_IA64_IntR87  =   1111,\n    CV_IA64_IntR88  =   1112,\n    CV_IA64_IntR89  =   1113,\n    CV_IA64_IntR90  =   1114,\n    CV_IA64_IntR91  =   1115,\n    CV_IA64_IntR92  =   1116,\n    CV_IA64_IntR93  =   1117,\n    CV_IA64_IntR94  =   1118,\n    CV_IA64_IntR95  =   1119,\n    CV_IA64_IntR96  =   1120,\n    CV_IA64_IntR97  =   1121,\n    CV_IA64_IntR98  =   1122,\n    CV_IA64_IntR99  =   1123,\n    CV_IA64_IntR100 =   1124,\n    CV_IA64_IntR101 =   1125,\n    CV_IA64_IntR102 =   1126,\n    CV_IA64_IntR103 =   1127,\n    CV_IA64_IntR104 =   1128,\n    CV_IA64_IntR105 =   1129,\n    CV_IA64_IntR106 =   1130,\n    CV_IA64_IntR107 =   1131,\n    CV_IA64_IntR108 =   1132,\n    CV_IA64_IntR109 =   1133,\n    CV_IA64_IntR110 =   1134,\n    CV_IA64_IntR111 =   1135,\n    CV_IA64_IntR112 =   1136,\n    CV_IA64_IntR113 =   1137,\n    CV_IA64_IntR114 =   1138,\n    CV_IA64_IntR115 =   1139,\n    CV_IA64_IntR116 =   1140,\n    CV_IA64_IntR117 =   1141,\n    CV_IA64_IntR118 =   1142,\n    CV_IA64_IntR119 =   1143,\n    CV_IA64_IntR120 =   1144,\n    CV_IA64_IntR121 =   1145,\n    CV_IA64_IntR122 =   1146,\n    CV_IA64_IntR123 =   1147,\n    CV_IA64_IntR124 =   1148,\n    CV_IA64_IntR125 =   1149,\n    CV_IA64_IntR126 =   1150,\n    CV_IA64_IntR127 =   1151,\n\n    // Floating-Point Registers\n\n    // Low Floating Point Registers\n    CV_IA64_FltF0   =   2048,\n    CV_IA64_FltF1   =   2049,\n    CV_IA64_FltF2   =   2050,\n    CV_IA64_FltF3   =   2051,\n    CV_IA64_FltF4   =   2052,\n    CV_IA64_FltF5   =   2053,\n    CV_IA64_FltF6   =   2054,\n    CV_IA64_FltF7   =   2055,\n    CV_IA64_FltF8   =   2056,\n    CV_IA64_FltF9   =   2057,\n    CV_IA64_FltF10  =   2058,\n    CV_IA64_FltF11  =   2059,\n    CV_IA64_FltF12  =   2060,\n    CV_IA64_FltF13  =   2061,\n    CV_IA64_FltF14  =   2062,\n    CV_IA64_FltF15  =   2063,\n    CV_IA64_FltF16  =   2064,\n    CV_IA64_FltF17  =   2065,\n    CV_IA64_FltF18  =   2066,\n    CV_IA64_FltF19  =   2067,\n    CV_IA64_FltF20  =   2068,\n    CV_IA64_FltF21  =   2069,\n    CV_IA64_FltF22  =   2070,\n    CV_IA64_FltF23  =   2071,\n    CV_IA64_FltF24  =   2072,\n    CV_IA64_FltF25  =   2073,\n    CV_IA64_FltF26  =   2074,\n    CV_IA64_FltF27  =   2075,\n    CV_IA64_FltF28  =   2076,\n    CV_IA64_FltF29  =   2077,\n    CV_IA64_FltF30  =   2078,\n    CV_IA64_FltF31  =   2079,\n\n    // High Floating Point Registers\n    CV_IA64_FltF32  =   2080,\n    CV_IA64_FltF33  =   2081,\n    CV_IA64_FltF34  =   2082,\n    CV_IA64_FltF35  =   2083,\n    CV_IA64_FltF36  =   2084,\n    CV_IA64_FltF37  =   2085,\n    CV_IA64_FltF38  =   2086,\n    CV_IA64_FltF39  =   2087,\n    CV_IA64_FltF40  =   2088,\n    CV_IA64_FltF41  =   2089,\n    CV_IA64_FltF42  =   2090,\n    CV_IA64_FltF43  =   2091,\n    CV_IA64_FltF44  =   2092,\n    CV_IA64_FltF45  =   2093,\n    CV_IA64_FltF46  =   2094,\n    CV_IA64_FltF47  =   2095,\n    CV_IA64_FltF48  =   2096,\n    CV_IA64_FltF49  =   2097,\n    CV_IA64_FltF50  =   2098,\n    CV_IA64_FltF51  =   2099,\n    CV_IA64_FltF52  =   2100,\n    CV_IA64_FltF53  =   2101,\n    CV_IA64_FltF54  =   2102,\n    CV_IA64_FltF55  =   2103,\n    CV_IA64_FltF56  =   2104,\n    CV_IA64_FltF57  =   2105,\n    CV_IA64_FltF58  =   2106,\n    CV_IA64_FltF59  =   2107,\n    CV_IA64_FltF60  =   2108,\n    CV_IA64_FltF61  =   2109,\n    CV_IA64_FltF62  =   2110,\n    CV_IA64_FltF63  =   2111,\n    CV_IA64_FltF64  =   2112,\n    CV_IA64_FltF65  =   2113,\n    CV_IA64_FltF66  =   2114,\n    CV_IA64_FltF67  =   2115,\n    CV_IA64_FltF68  =   2116,\n    CV_IA64_FltF69  =   2117,\n    CV_IA64_FltF70  =   2118,\n    CV_IA64_FltF71  =   2119,\n    CV_IA64_FltF72  =   2120,\n    CV_IA64_FltF73  =   2121,\n    CV_IA64_FltF74  =   2122,\n    CV_IA64_FltF75  =   2123,\n    CV_IA64_FltF76  =   2124,\n    CV_IA64_FltF77  =   2125,\n    CV_IA64_FltF78  =   2126,\n    CV_IA64_FltF79  =   2127,\n    CV_IA64_FltF80  =   2128,\n    CV_IA64_FltF81  =   2129,\n    CV_IA64_FltF82  =   2130,\n    CV_IA64_FltF83  =   2131,\n    CV_IA64_FltF84  =   2132,\n    CV_IA64_FltF85  =   2133,\n    CV_IA64_FltF86  =   2134,\n    CV_IA64_FltF87  =   2135,\n    CV_IA64_FltF88  =   2136,\n    CV_IA64_FltF89  =   2137,\n    CV_IA64_FltF90  =   2138,\n    CV_IA64_FltF91  =   2139,\n    CV_IA64_FltF92  =   2140,\n    CV_IA64_FltF93  =   2141,\n    CV_IA64_FltF94  =   2142,\n    CV_IA64_FltF95  =   2143,\n    CV_IA64_FltF96  =   2144,\n    CV_IA64_FltF97  =   2145,\n    CV_IA64_FltF98  =   2146,\n    CV_IA64_FltF99  =   2147,\n    CV_IA64_FltF100 =   2148,\n    CV_IA64_FltF101 =   2149,\n    CV_IA64_FltF102 =   2150,\n    CV_IA64_FltF103 =   2151,\n    CV_IA64_FltF104 =   2152,\n    CV_IA64_FltF105 =   2153,\n    CV_IA64_FltF106 =   2154,\n    CV_IA64_FltF107 =   2155,\n    CV_IA64_FltF108 =   2156,\n    CV_IA64_FltF109 =   2157,\n    CV_IA64_FltF110 =   2158,\n    CV_IA64_FltF111 =   2159,\n    CV_IA64_FltF112 =   2160,\n    CV_IA64_FltF113 =   2161,\n    CV_IA64_FltF114 =   2162,\n    CV_IA64_FltF115 =   2163,\n    CV_IA64_FltF116 =   2164,\n    CV_IA64_FltF117 =   2165,\n    CV_IA64_FltF118 =   2166,\n    CV_IA64_FltF119 =   2167,\n    CV_IA64_FltF120 =   2168,\n    CV_IA64_FltF121 =   2169,\n    CV_IA64_FltF122 =   2170,\n    CV_IA64_FltF123 =   2171,\n    CV_IA64_FltF124 =   2172,\n    CV_IA64_FltF125 =   2173,\n    CV_IA64_FltF126 =   2174,\n    CV_IA64_FltF127 =   2175,\n\n    // Application Registers\n\n    CV_IA64_ApKR0   =   3072,\n    CV_IA64_ApKR1   =   3073,\n    CV_IA64_ApKR2   =   3074,\n    CV_IA64_ApKR3   =   3075,\n    CV_IA64_ApKR4   =   3076,\n    CV_IA64_ApKR5   =   3077,\n    CV_IA64_ApKR6   =   3078,\n    CV_IA64_ApKR7   =   3079,\n    CV_IA64_AR8     =   3080,\n    CV_IA64_AR9     =   3081,\n    CV_IA64_AR10    =   3082,\n    CV_IA64_AR11    =   3083,\n    CV_IA64_AR12    =   3084,\n    CV_IA64_AR13    =   3085,\n    CV_IA64_AR14    =   3086,\n    CV_IA64_AR15    =   3087,\n    CV_IA64_RsRSC   =   3088,\n    CV_IA64_RsBSP   =   3089,\n    CV_IA64_RsBSPSTORE  =   3090,\n    CV_IA64_RsRNAT  =   3091,\n    CV_IA64_AR20    =   3092,\n    CV_IA64_StFCR   =   3093,\n    CV_IA64_AR22    =   3094,\n    CV_IA64_AR23    =   3095,\n    CV_IA64_EFLAG   =   3096,\n    CV_IA64_CSD     =   3097,\n    CV_IA64_SSD     =   3098,\n    CV_IA64_CFLG    =   3099,\n    CV_IA64_StFSR   =   3100,\n    CV_IA64_StFIR   =   3101,\n    CV_IA64_StFDR   =   3102,\n    CV_IA64_AR31    =   3103,\n    CV_IA64_ApCCV   =   3104,\n    CV_IA64_AR33    =   3105,\n    CV_IA64_AR34    =   3106,\n    CV_IA64_AR35    =   3107,\n    CV_IA64_ApUNAT  =   3108,\n    CV_IA64_AR37    =   3109,\n    CV_IA64_AR38    =   3110,\n    CV_IA64_AR39    =   3111,\n    CV_IA64_StFPSR  =   3112,\n    CV_IA64_AR41    =   3113,\n    CV_IA64_AR42    =   3114,\n    CV_IA64_AR43    =   3115,\n    CV_IA64_ApITC   =   3116,\n    CV_IA64_AR45    =   3117,\n    CV_IA64_AR46    =   3118,\n    CV_IA64_AR47    =   3119,\n    CV_IA64_AR48    =   3120,\n    CV_IA64_AR49    =   3121,\n    CV_IA64_AR50    =   3122,\n    CV_IA64_AR51    =   3123,\n    CV_IA64_AR52    =   3124,\n    CV_IA64_AR53    =   3125,\n    CV_IA64_AR54    =   3126,\n    CV_IA64_AR55    =   3127,\n    CV_IA64_AR56    =   3128,\n    CV_IA64_AR57    =   3129,\n    CV_IA64_AR58    =   3130,\n    CV_IA64_AR59    =   3131,\n    CV_IA64_AR60    =   3132,\n    CV_IA64_AR61    =   3133,\n    CV_IA64_AR62    =   3134,\n    CV_IA64_AR63    =   3135,\n    CV_IA64_RsPFS   =   3136,\n    CV_IA64_ApLC    =   3137,\n    CV_IA64_ApEC    =   3138,\n    CV_IA64_AR67    =   3139,\n    CV_IA64_AR68    =   3140,\n    CV_IA64_AR69    =   3141,\n    CV_IA64_AR70    =   3142,\n    CV_IA64_AR71    =   3143,\n    CV_IA64_AR72    =   3144,\n    CV_IA64_AR73    =   3145,\n    CV_IA64_AR74    =   3146,\n    CV_IA64_AR75    =   3147,\n    CV_IA64_AR76    =   3148,\n    CV_IA64_AR77    =   3149,\n    CV_IA64_AR78    =   3150,\n    CV_IA64_AR79    =   3151,\n    CV_IA64_AR80    =   3152,\n    CV_IA64_AR81    =   3153,\n    CV_IA64_AR82    =   3154,\n    CV_IA64_AR83    =   3155,\n    CV_IA64_AR84    =   3156,\n    CV_IA64_AR85    =   3157,\n    CV_IA64_AR86    =   3158,\n    CV_IA64_AR87    =   3159,\n    CV_IA64_AR88    =   3160,\n    CV_IA64_AR89    =   3161,\n    CV_IA64_AR90    =   3162,\n    CV_IA64_AR91    =   3163,\n    CV_IA64_AR92    =   3164,\n    CV_IA64_AR93    =   3165,\n    CV_IA64_AR94    =   3166,\n    CV_IA64_AR95    =   3167,\n    CV_IA64_AR96    =   3168,\n    CV_IA64_AR97    =   3169,\n    CV_IA64_AR98    =   3170,\n    CV_IA64_AR99    =   3171,\n    CV_IA64_AR100   =   3172,\n    CV_IA64_AR101   =   3173,\n    CV_IA64_AR102   =   3174,\n    CV_IA64_AR103   =   3175,\n    CV_IA64_AR104   =   3176,\n    CV_IA64_AR105   =   3177,\n    CV_IA64_AR106   =   3178,\n    CV_IA64_AR107   =   3179,\n    CV_IA64_AR108   =   3180,\n    CV_IA64_AR109   =   3181,\n    CV_IA64_AR110   =   3182,\n    CV_IA64_AR111   =   3183,\n    CV_IA64_AR112   =   3184,\n    CV_IA64_AR113   =   3185,\n    CV_IA64_AR114   =   3186,\n    CV_IA64_AR115   =   3187,\n    CV_IA64_AR116   =   3188,\n    CV_IA64_AR117   =   3189,\n    CV_IA64_AR118   =   3190,\n    CV_IA64_AR119   =   3191,\n    CV_IA64_AR120   =   3192,\n    CV_IA64_AR121   =   3193,\n    CV_IA64_AR122   =   3194,\n    CV_IA64_AR123   =   3195,\n    CV_IA64_AR124   =   3196,\n    CV_IA64_AR125   =   3197,\n    CV_IA64_AR126   =   3198,\n    CV_IA64_AR127   =   3199,\n\n    // CPUID Registers\n\n    CV_IA64_CPUID0  =   3328,\n    CV_IA64_CPUID1  =   3329,\n    CV_IA64_CPUID2  =   3330,\n    CV_IA64_CPUID3  =   3331,\n    CV_IA64_CPUID4  =   3332,\n\n    // Control Registers\n\n    CV_IA64_ApDCR   =   4096,\n    CV_IA64_ApITM   =   4097,\n    CV_IA64_ApIVA   =   4098,\n    CV_IA64_CR3     =   4099,\n    CV_IA64_CR4     =   4100,\n    CV_IA64_CR5     =   4101,\n    CV_IA64_CR6     =   4102,\n    CV_IA64_CR7     =   4103,\n    CV_IA64_ApPTA   =   4104,\n    CV_IA64_ApGPTA  =   4105,\n    CV_IA64_CR10    =   4106,\n    CV_IA64_CR11    =   4107,\n    CV_IA64_CR12    =   4108,\n    CV_IA64_CR13    =   4109,\n    CV_IA64_CR14    =   4110,\n    CV_IA64_CR15    =   4111,\n    CV_IA64_StIPSR  =   4112,\n    CV_IA64_StISR   =   4113,\n    CV_IA64_CR18    =   4114,\n    CV_IA64_StIIP   =   4115,\n    CV_IA64_StIFA   =   4116,\n    CV_IA64_StITIR  =   4117,\n    CV_IA64_StIIPA  =   4118,\n    CV_IA64_StIFS   =   4119,\n    CV_IA64_StIIM   =   4120,\n    CV_IA64_StIHA   =   4121,\n    CV_IA64_CR26    =   4122,\n    CV_IA64_CR27    =   4123,\n    CV_IA64_CR28    =   4124,\n    CV_IA64_CR29    =   4125,\n    CV_IA64_CR30    =   4126,\n    CV_IA64_CR31    =   4127,\n    CV_IA64_CR32    =   4128,\n    CV_IA64_CR33    =   4129,\n    CV_IA64_CR34    =   4130,\n    CV_IA64_CR35    =   4131,\n    CV_IA64_CR36    =   4132,\n    CV_IA64_CR37    =   4133,\n    CV_IA64_CR38    =   4134,\n    CV_IA64_CR39    =   4135,\n    CV_IA64_CR40    =   4136,\n    CV_IA64_CR41    =   4137,\n    CV_IA64_CR42    =   4138,\n    CV_IA64_CR43    =   4139,\n    CV_IA64_CR44    =   4140,\n    CV_IA64_CR45    =   4141,\n    CV_IA64_CR46    =   4142,\n    CV_IA64_CR47    =   4143,\n    CV_IA64_CR48    =   4144,\n    CV_IA64_CR49    =   4145,\n    CV_IA64_CR50    =   4146,\n    CV_IA64_CR51    =   4147,\n    CV_IA64_CR52    =   4148,\n    CV_IA64_CR53    =   4149,\n    CV_IA64_CR54    =   4150,\n    CV_IA64_CR55    =   4151,\n    CV_IA64_CR56    =   4152,\n    CV_IA64_CR57    =   4153,\n    CV_IA64_CR58    =   4154,\n    CV_IA64_CR59    =   4155,\n    CV_IA64_CR60    =   4156,\n    CV_IA64_CR61    =   4157,\n    CV_IA64_CR62    =   4158,\n    CV_IA64_CR63    =   4159,\n    CV_IA64_SaLID   =   4160,\n    CV_IA64_SaIVR   =   4161,\n    CV_IA64_SaTPR   =   4162,\n    CV_IA64_SaEOI   =   4163,\n    CV_IA64_SaIRR0  =   4164,\n    CV_IA64_SaIRR1  =   4165,\n    CV_IA64_SaIRR2  =   4166,\n    CV_IA64_SaIRR3  =   4167,\n    CV_IA64_SaITV   =   4168,\n    CV_IA64_SaPMV   =   4169,\n    CV_IA64_SaCMCV  =   4170,\n    CV_IA64_CR75    =   4171,\n    CV_IA64_CR76    =   4172,\n    CV_IA64_CR77    =   4173,\n    CV_IA64_CR78    =   4174,\n    CV_IA64_CR79    =   4175,\n    CV_IA64_SaLRR0  =   4176,\n    CV_IA64_SaLRR1  =   4177,\n    CV_IA64_CR82    =   4178,\n    CV_IA64_CR83    =   4179,\n    CV_IA64_CR84    =   4180,\n    CV_IA64_CR85    =   4181,\n    CV_IA64_CR86    =   4182,\n    CV_IA64_CR87    =   4183,\n    CV_IA64_CR88    =   4184,\n    CV_IA64_CR89    =   4185,\n    CV_IA64_CR90    =   4186,\n    CV_IA64_CR91    =   4187,\n    CV_IA64_CR92    =   4188,\n    CV_IA64_CR93    =   4189,\n    CV_IA64_CR94    =   4190,\n    CV_IA64_CR95    =   4191,\n    CV_IA64_CR96    =   4192,\n    CV_IA64_CR97    =   4193,\n    CV_IA64_CR98    =   4194,\n    CV_IA64_CR99    =   4195,\n    CV_IA64_CR100   =   4196,\n    CV_IA64_CR101   =   4197,\n    CV_IA64_CR102   =   4198,\n    CV_IA64_CR103   =   4199,\n    CV_IA64_CR104   =   4200,\n    CV_IA64_CR105   =   4201,\n    CV_IA64_CR106   =   4202,\n    CV_IA64_CR107   =   4203,\n    CV_IA64_CR108   =   4204,\n    CV_IA64_CR109   =   4205,\n    CV_IA64_CR110   =   4206,\n    CV_IA64_CR111   =   4207,\n    CV_IA64_CR112   =   4208,\n    CV_IA64_CR113   =   4209,\n    CV_IA64_CR114   =   4210,\n    CV_IA64_CR115   =   4211,\n    CV_IA64_CR116   =   4212,\n    CV_IA64_CR117   =   4213,\n    CV_IA64_CR118   =   4214,\n    CV_IA64_CR119   =   4215,\n    CV_IA64_CR120   =   4216,\n    CV_IA64_CR121   =   4217,\n    CV_IA64_CR122   =   4218,\n    CV_IA64_CR123   =   4219,\n    CV_IA64_CR124   =   4220,\n    CV_IA64_CR125   =   4221,\n    CV_IA64_CR126   =   4222,\n    CV_IA64_CR127   =   4223,\n\n    // Protection Key Registers\n\n    CV_IA64_Pkr0    =   5120,\n    CV_IA64_Pkr1    =   5121,\n    CV_IA64_Pkr2    =   5122,\n    CV_IA64_Pkr3    =   5123,\n    CV_IA64_Pkr4    =   5124,\n    CV_IA64_Pkr5    =   5125,\n    CV_IA64_Pkr6    =   5126,\n    CV_IA64_Pkr7    =   5127,\n    CV_IA64_Pkr8    =   5128,\n    CV_IA64_Pkr9    =   5129,\n    CV_IA64_Pkr10   =   5130,\n    CV_IA64_Pkr11   =   5131,\n    CV_IA64_Pkr12   =   5132,\n    CV_IA64_Pkr13   =   5133,\n    CV_IA64_Pkr14   =   5134,\n    CV_IA64_Pkr15   =   5135,\n\n    // Region Registers\n\n    CV_IA64_Rr0     =   6144,\n    CV_IA64_Rr1     =   6145,\n    CV_IA64_Rr2     =   6146,\n    CV_IA64_Rr3     =   6147,\n    CV_IA64_Rr4     =   6148,\n    CV_IA64_Rr5     =   6149,\n    CV_IA64_Rr6     =   6150,\n    CV_IA64_Rr7     =   6151,\n\n    // Performance Monitor Data Registers\n\n    CV_IA64_PFD0    =   7168,\n    CV_IA64_PFD1    =   7169,\n    CV_IA64_PFD2    =   7170,\n    CV_IA64_PFD3    =   7171,\n    CV_IA64_PFD4    =   7172,\n    CV_IA64_PFD5    =   7173,\n    CV_IA64_PFD6    =   7174,\n    CV_IA64_PFD7    =   7175,\n\n    // Performance Monitor Config Registers\n\n    CV_IA64_PFC0    =   7424,\n    CV_IA64_PFC1    =   7425,\n    CV_IA64_PFC2    =   7426,\n    CV_IA64_PFC3    =   7427,\n    CV_IA64_PFC4    =   7428,\n    CV_IA64_PFC5    =   7429,\n    CV_IA64_PFC6    =   7430,\n    CV_IA64_PFC7    =   7431,\n\n    // Instruction Translation Registers\n\n    CV_IA64_TrI0    =   8192,\n    CV_IA64_TrI1    =   8193,\n    CV_IA64_TrI2    =   8194,\n    CV_IA64_TrI3    =   8195,\n    CV_IA64_TrI4    =   8196,\n    CV_IA64_TrI5    =   8197,\n    CV_IA64_TrI6    =   8198,\n    CV_IA64_TrI7    =   8199,\n\n    // Data Translation Registers\n\n    CV_IA64_TrD0    =   8320,\n    CV_IA64_TrD1    =   8321,\n    CV_IA64_TrD2    =   8322,\n    CV_IA64_TrD3    =   8323,\n    CV_IA64_TrD4    =   8324,\n    CV_IA64_TrD5    =   8325,\n    CV_IA64_TrD6    =   8326,\n    CV_IA64_TrD7    =   8327,\n\n    // Instruction Breakpoint Registers\n\n    CV_IA64_DbI0    =   8448,\n    CV_IA64_DbI1    =   8449,\n    CV_IA64_DbI2    =   8450,\n    CV_IA64_DbI3    =   8451,\n    CV_IA64_DbI4    =   8452,\n    CV_IA64_DbI5    =   8453,\n    CV_IA64_DbI6    =   8454,\n    CV_IA64_DbI7    =   8455,\n\n    // Data Breakpoint Registers\n\n    CV_IA64_DbD0    =   8576,\n    CV_IA64_DbD1    =   8577,\n    CV_IA64_DbD2    =   8578,\n    CV_IA64_DbD3    =   8579,\n    CV_IA64_DbD4    =   8580,\n    CV_IA64_DbD5    =   8581,\n    CV_IA64_DbD6    =   8582,\n    CV_IA64_DbD7    =   8583,\n\n    //\n    // Register set for the TriCore processor.\n    //\n\n    CV_TRI_NOREG    =   CV_REG_NONE,\n\n    // General Purpose Data Registers\n\n    CV_TRI_D0   =   10,\n    CV_TRI_D1   =   11,\n    CV_TRI_D2   =   12,\n    CV_TRI_D3   =   13,\n    CV_TRI_D4   =   14,\n    CV_TRI_D5   =   15,\n    CV_TRI_D6   =   16,\n    CV_TRI_D7   =   17,\n    CV_TRI_D8   =   18,\n    CV_TRI_D9   =   19,\n    CV_TRI_D10  =   20,\n    CV_TRI_D11  =   21,\n    CV_TRI_D12  =   22,\n    CV_TRI_D13  =   23,\n    CV_TRI_D14  =   24,\n    CV_TRI_D15  =   25,\n\n    // General Purpose Address Registers\n\n    CV_TRI_A0   =   26,\n    CV_TRI_A1   =   27,\n    CV_TRI_A2   =   28,\n    CV_TRI_A3   =   29,\n    CV_TRI_A4   =   30,\n    CV_TRI_A5   =   31,\n    CV_TRI_A6   =   32,\n    CV_TRI_A7   =   33,\n    CV_TRI_A8   =   34,\n    CV_TRI_A9   =   35,\n    CV_TRI_A10  =   36,\n    CV_TRI_A11  =   37,\n    CV_TRI_A12  =   38,\n    CV_TRI_A13  =   39,\n    CV_TRI_A14  =   40,\n    CV_TRI_A15  =   41,\n\n    // Extended (64-bit) data registers\n\n    CV_TRI_E0   =   42,\n    CV_TRI_E2   =   43,\n    CV_TRI_E4   =   44,\n    CV_TRI_E6   =   45,\n    CV_TRI_E8   =   46,\n    CV_TRI_E10  =   47,\n    CV_TRI_E12  =   48,\n    CV_TRI_E14  =   49,\n\n    // Extended (64-bit) address registers\n\n    CV_TRI_EA0  =   50,\n    CV_TRI_EA2  =   51,\n    CV_TRI_EA4  =   52,\n    CV_TRI_EA6  =   53,\n    CV_TRI_EA8  =   54,\n    CV_TRI_EA10 =   55,\n    CV_TRI_EA12 =   56,\n    CV_TRI_EA14 =   57,\n\n    CV_TRI_PSW  =   58,\n    CV_TRI_PCXI =   59,\n    CV_TRI_PC   =   60,\n    CV_TRI_FCX  =   61,\n    CV_TRI_LCX  =   62,\n    CV_TRI_ISP  =   63,\n    CV_TRI_ICR  =   64,\n    CV_TRI_BIV  =   65,\n    CV_TRI_BTV  =   66,\n    CV_TRI_SYSCON   =   67,\n    CV_TRI_DPRx_0   =   68,\n    CV_TRI_DPRx_1   =   69,\n    CV_TRI_DPRx_2   =   70,\n    CV_TRI_DPRx_3   =   71,\n    CV_TRI_CPRx_0   =   68,\n    CV_TRI_CPRx_1   =   69,\n    CV_TRI_CPRx_2   =   70,\n    CV_TRI_CPRx_3   =   71,\n    CV_TRI_DPMx_0   =   68,\n    CV_TRI_DPMx_1   =   69,\n    CV_TRI_DPMx_2   =   70,\n    CV_TRI_DPMx_3   =   71,\n    CV_TRI_CPMx_0   =   68,\n    CV_TRI_CPMx_1   =   69,\n    CV_TRI_CPMx_2   =   70,\n    CV_TRI_CPMx_3   =   71,\n    CV_TRI_DBGSSR   =   72,\n    CV_TRI_EXEVT    =   73,\n    CV_TRI_SWEVT    =   74,\n    CV_TRI_CREVT    =   75,\n    CV_TRI_TRnEVT   =   76,\n    CV_TRI_MMUCON   =   77,\n    CV_TRI_ASI      =   78,\n    CV_TRI_TVA      =   79,\n    CV_TRI_TPA      =   80,\n    CV_TRI_TPX      =   81,\n    CV_TRI_TFA      =   82,\n\n    //\n    // Register set for the AM33 and related processors.\n    //\n\n    CV_AM33_NOREG   =   CV_REG_NONE,\n\n    // \"Extended\" (general purpose integer) registers\n    CV_AM33_E0      =   10,\n    CV_AM33_E1      =   11,\n    CV_AM33_E2      =   12,\n    CV_AM33_E3      =   13,\n    CV_AM33_E4      =   14,\n    CV_AM33_E5      =   15,\n    CV_AM33_E6      =   16,\n    CV_AM33_E7      =   17,\n\n    // Address registers\n    CV_AM33_A0      =   20,\n    CV_AM33_A1      =   21,\n    CV_AM33_A2      =   22,\n    CV_AM33_A3      =   23,\n\n    // Integer data registers\n    CV_AM33_D0      =   30,\n    CV_AM33_D1      =   31,\n    CV_AM33_D2      =   32,\n    CV_AM33_D3      =   33,\n\n    // (Single-precision) floating-point registers\n    CV_AM33_FS0     =   40,\n    CV_AM33_FS1     =   41,\n    CV_AM33_FS2     =   42,\n    CV_AM33_FS3     =   43,\n    CV_AM33_FS4     =   44,\n    CV_AM33_FS5     =   45,\n    CV_AM33_FS6     =   46,\n    CV_AM33_FS7     =   47,\n    CV_AM33_FS8     =   48,\n    CV_AM33_FS9     =   49,\n    CV_AM33_FS10    =   50,\n    CV_AM33_FS11    =   51,\n    CV_AM33_FS12    =   52,\n    CV_AM33_FS13    =   53,\n    CV_AM33_FS14    =   54,\n    CV_AM33_FS15    =   55,\n    CV_AM33_FS16    =   56,\n    CV_AM33_FS17    =   57,\n    CV_AM33_FS18    =   58,\n    CV_AM33_FS19    =   59,\n    CV_AM33_FS20    =   60,\n    CV_AM33_FS21    =   61,\n    CV_AM33_FS22    =   62,\n    CV_AM33_FS23    =   63,\n    CV_AM33_FS24    =   64,\n    CV_AM33_FS25    =   65,\n    CV_AM33_FS26    =   66,\n    CV_AM33_FS27    =   67,\n    CV_AM33_FS28    =   68,\n    CV_AM33_FS29    =   69,\n    CV_AM33_FS30    =   70,\n    CV_AM33_FS31    =   71,\n\n    // Special purpose registers\n\n    // Stack pointer\n    CV_AM33_SP      =   80,\n\n    // Program counter\n    CV_AM33_PC      =   81,\n\n    // Multiply-divide/accumulate registers\n    CV_AM33_MDR     =   82,\n    CV_AM33_MDRQ    =   83,\n    CV_AM33_MCRH    =   84,\n    CV_AM33_MCRL    =   85,\n    CV_AM33_MCVF    =   86,\n\n    // CPU status words\n    CV_AM33_EPSW    =   87,\n    CV_AM33_FPCR    =   88,\n\n    // Loop buffer registers\n    CV_AM33_LIR     =   89,\n    CV_AM33_LAR     =   90,\n\n    //\n    // Register set for the Mitsubishi M32R\n    //\n\n    CV_M32R_NOREG    =   CV_REG_NONE,\n\n    CV_M32R_R0    =   10,\n    CV_M32R_R1    =   11,\n    CV_M32R_R2    =   12,\n    CV_M32R_R3    =   13,\n    CV_M32R_R4    =   14,\n    CV_M32R_R5    =   15,\n    CV_M32R_R6    =   16,\n    CV_M32R_R7    =   17,\n    CV_M32R_R8    =   18,\n    CV_M32R_R9    =   19,\n    CV_M32R_R10   =   20,\n    CV_M32R_R11   =   21,\n    CV_M32R_R12   =   22,   // Gloabal Pointer, if used\n    CV_M32R_R13   =   23,   // Frame Pointer, if allocated\n    CV_M32R_R14   =   24,   // Link Register\n    CV_M32R_R15   =   25,   // Stack Pointer\n    CV_M32R_PSW   =   26,   // Preocessor Status Register\n    CV_M32R_CBR   =   27,   // Condition Bit Register\n    CV_M32R_SPI   =   28,   // Interrupt Stack Pointer\n    CV_M32R_SPU   =   29,   // User Stack Pointer\n    CV_M32R_SPO   =   30,   // OS Stack Pointer\n    CV_M32R_BPC   =   31,   // Backup Program Counter\n    CV_M32R_ACHI  =   32,   // Accumulator High\n    CV_M32R_ACLO  =   33,   // Accumulator Low\n    CV_M32R_PC    =   34,   // Program Counter\n\n} CV_HREG_e;\n\n#endif\n"
  },
  {
    "path": "Addition/DIASDK/include/dia2.h",
    "content": "\n#pragma warning( disable: 4049 )  /* more than 64k source lines */\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 6.00.0347 */\n/* at Sat Jan 05 04:21:23 2002\n */\n/* Compiler settings for f:\\vs70builds\\9466\\vc\\langapi\\idl\\dia2.idl:\n    Oicf, W1, Zp8, env=Win32 (32b run)\n    protocol : dce , ms_ext, c_ext\n    error checks: allocation ref bounds_check enum stub_data \n    VC __declspec() decoration level: \n         __declspec(uuid()), __declspec(selectany), __declspec(novtable)\n         DECLSPEC_UUID(), MIDL_INTERFACE()\n*/\n//@@MIDL_FILE_HEADING(  )\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 440\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif // __RPCNDR_H_VERSION__\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dia2_h__\n#define __dia2_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDiaLoadCallback_FWD_DEFINED__\n#define __IDiaLoadCallback_FWD_DEFINED__\ntypedef interface IDiaLoadCallback IDiaLoadCallback;\n#endif \t/* __IDiaLoadCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtOffsetCallback IDiaReadExeAtOffsetCallback;\n#endif \t/* __IDiaReadExeAtOffsetCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_FWD_DEFINED__\n#define __IDiaReadExeAtRVACallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtRVACallback IDiaReadExeAtRVACallback;\n#endif \t/* __IDiaReadExeAtRVACallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_FWD_DEFINED__\n#define __IDiaDataSource_FWD_DEFINED__\ntypedef interface IDiaDataSource IDiaDataSource;\n#endif \t/* __IDiaDataSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_FWD_DEFINED__\n#define __IDiaEnumSymbols_FWD_DEFINED__\ntypedef interface IDiaEnumSymbols IDiaEnumSymbols;\n#endif \t/* __IDiaEnumSymbols_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_FWD_DEFINED__\n#define __IDiaEnumSymbolsByAddr_FWD_DEFINED__\ntypedef interface IDiaEnumSymbolsByAddr IDiaEnumSymbolsByAddr;\n#endif \t/* __IDiaEnumSymbolsByAddr_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_FWD_DEFINED__\n#define __IDiaEnumSourceFiles_FWD_DEFINED__\ntypedef interface IDiaEnumSourceFiles IDiaEnumSourceFiles;\n#endif \t/* __IDiaEnumSourceFiles_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_FWD_DEFINED__\n#define __IDiaEnumLineNumbers_FWD_DEFINED__\ntypedef interface IDiaEnumLineNumbers IDiaEnumLineNumbers;\n#endif \t/* __IDiaEnumLineNumbers_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_FWD_DEFINED__\n#define __IDiaEnumInjectedSources_FWD_DEFINED__\ntypedef interface IDiaEnumInjectedSources IDiaEnumInjectedSources;\n#endif \t/* __IDiaEnumInjectedSources_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_FWD_DEFINED__\n#define __IDiaEnumSegments_FWD_DEFINED__\ntypedef interface IDiaEnumSegments IDiaEnumSegments;\n#endif \t/* __IDiaEnumSegments_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_FWD_DEFINED__\n#define __IDiaEnumSectionContribs_FWD_DEFINED__\ntypedef interface IDiaEnumSectionContribs IDiaEnumSectionContribs;\n#endif \t/* __IDiaEnumSectionContribs_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_FWD_DEFINED__\n#define __IDiaEnumFrameData_FWD_DEFINED__\ntypedef interface IDiaEnumFrameData IDiaEnumFrameData;\n#endif \t/* __IDiaEnumFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_FWD_DEFINED__\n#define __IDiaEnumDebugStreamData_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreamData IDiaEnumDebugStreamData;\n#endif \t/* __IDiaEnumDebugStreamData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_FWD_DEFINED__\n#define __IDiaEnumDebugStreams_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreams IDiaEnumDebugStreams;\n#endif \t/* __IDiaEnumDebugStreams_FWD_DEFINED__ */\n\n\n#ifndef __IDiaAddressMap_FWD_DEFINED__\n#define __IDiaAddressMap_FWD_DEFINED__\ntypedef interface IDiaAddressMap IDiaAddressMap;\n#endif \t/* __IDiaAddressMap_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSession_FWD_DEFINED__\n#define __IDiaSession_FWD_DEFINED__\ntypedef interface IDiaSession IDiaSession;\n#endif \t/* __IDiaSession_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_FWD_DEFINED__\n#define __IDiaSymbol_FWD_DEFINED__\ntypedef interface IDiaSymbol IDiaSymbol;\n#endif \t/* __IDiaSymbol_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_FWD_DEFINED__\n#define __IDiaSourceFile_FWD_DEFINED__\ntypedef interface IDiaSourceFile IDiaSourceFile;\n#endif \t/* __IDiaSourceFile_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_FWD_DEFINED__\n#define __IDiaLineNumber_FWD_DEFINED__\ntypedef interface IDiaLineNumber IDiaLineNumber;\n#endif \t/* __IDiaLineNumber_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_FWD_DEFINED__\n#define __IDiaSectionContrib_FWD_DEFINED__\ntypedef interface IDiaSectionContrib IDiaSectionContrib;\n#endif \t/* __IDiaSectionContrib_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSegment_FWD_DEFINED__\n#define __IDiaSegment_FWD_DEFINED__\ntypedef interface IDiaSegment IDiaSegment;\n#endif \t/* __IDiaSegment_FWD_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_FWD_DEFINED__\n#define __IDiaInjectedSource_FWD_DEFINED__\ntypedef interface IDiaInjectedSource IDiaInjectedSource;\n#endif \t/* __IDiaInjectedSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkFrame_FWD_DEFINED__\n#define __IDiaStackWalkFrame_FWD_DEFINED__\ntypedef interface IDiaStackWalkFrame IDiaStackWalkFrame;\n#endif \t/* __IDiaStackWalkFrame_FWD_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_FWD_DEFINED__\n#define __IDiaFrameData_FWD_DEFINED__\ntypedef interface IDiaFrameData IDiaFrameData;\n#endif \t/* __IDiaFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaImageData_FWD_DEFINED__\n#define __IDiaImageData_FWD_DEFINED__\ntypedef interface IDiaImageData IDiaImageData;\n#endif \t/* __IDiaImageData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaTable_FWD_DEFINED__\n#define __IDiaTable_FWD_DEFINED__\ntypedef interface IDiaTable IDiaTable;\n#endif \t/* __IDiaTable_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_FWD_DEFINED__\n#define __IDiaEnumTables_FWD_DEFINED__\ntypedef interface IDiaEnumTables IDiaEnumTables;\n#endif \t/* __IDiaEnumTables_FWD_DEFINED__ */\n\n\n#ifndef __DiaSource_FWD_DEFINED__\n#define __DiaSource_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSource DiaSource;\n#else\ntypedef struct DiaSource DiaSource;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSource_FWD_DEFINED__ */\n\n\n#ifndef __DiaSourceAlt_FWD_DEFINED__\n#define __DiaSourceAlt_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSourceAlt DiaSourceAlt;\n#else\ntypedef struct DiaSourceAlt DiaSourceAlt;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSourceAlt_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"objidl.h\"\n#include \"oaidl.h\"\n#include \"cvconst.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\nvoid * __RPC_USER MIDL_user_allocate(size_t);\nvoid __RPC_USER MIDL_user_free( void * ); \n\n/* interface __MIDL_itf_dia2_0000 */\n/* [local] */ \n\n\nenum NameSearchOptions\n    {\tnsNone\t= 0,\n\tnsfCaseSensitive\t= 0x1,\n\tnsfCaseInsensitive\t= 0x2,\n\tnsfFNameExt\t= 0x4,\n\tnsfRegularExpression\t= 0x8,\n\tnsfUndecoratedName\t= 0x10,\n\tnsCaseSensitive\t= nsfCaseSensitive,\n\tnsCaseInsensitive\t= nsfCaseInsensitive,\n\tnsFNameExt\t= nsfCaseInsensitive | nsfFNameExt,\n\tnsRegularExpression\t= nsfRegularExpression | nsfCaseSensitive,\n\tnsCaseInRegularExpression\t= nsfRegularExpression | nsfCaseInsensitive\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0001\n    {\tE_PDB_OK\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )1),\n\tE_PDB_USAGE\t= E_PDB_OK + 1,\n\tE_PDB_OUT_OF_MEMORY\t= E_PDB_USAGE + 1,\n\tE_PDB_FILE_SYSTEM\t= E_PDB_OUT_OF_MEMORY + 1,\n\tE_PDB_NOT_FOUND\t= E_PDB_FILE_SYSTEM + 1,\n\tE_PDB_INVALID_SIG\t= E_PDB_NOT_FOUND + 1,\n\tE_PDB_INVALID_AGE\t= E_PDB_INVALID_SIG + 1,\n\tE_PDB_PRECOMP_REQUIRED\t= E_PDB_INVALID_AGE + 1,\n\tE_PDB_OUT_OF_TI\t= E_PDB_PRECOMP_REQUIRED + 1,\n\tE_PDB_NOT_IMPLEMENTED\t= E_PDB_OUT_OF_TI + 1,\n\tE_PDB_V1_PDB\t= E_PDB_NOT_IMPLEMENTED + 1,\n\tE_PDB_FORMAT\t= E_PDB_V1_PDB + 1,\n\tE_PDB_LIMIT\t= E_PDB_FORMAT + 1,\n\tE_PDB_CORRUPT\t= E_PDB_LIMIT + 1,\n\tE_PDB_TI16\t= E_PDB_CORRUPT + 1,\n\tE_PDB_ACCESS_DENIED\t= E_PDB_TI16 + 1,\n\tE_PDB_ILLEGAL_TYPE_EDIT\t= E_PDB_ACCESS_DENIED + 1,\n\tE_PDB_INVALID_EXECUTABLE\t= E_PDB_ILLEGAL_TYPE_EDIT + 1,\n\tE_PDB_DBG_NOT_FOUND\t= E_PDB_INVALID_EXECUTABLE + 1,\n\tE_PDB_NO_DEBUG_INFO\t= E_PDB_DBG_NOT_FOUND + 1,\n\tE_PDB_INVALID_EXE_TIMESTAMP\t= E_PDB_NO_DEBUG_INFO + 1,\n\tE_PDB_RESERVED\t= E_PDB_INVALID_EXE_TIMESTAMP + 1,\n\tE_PDB_DEBUG_INFO_NOT_IN_PDB\t= E_PDB_RESERVED + 1,\n\tE_PDB_MAX\t= E_PDB_DEBUG_INFO_NOT_IN_PDB + 1\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0002\n    {\tDIA_E_MODNOTFOUND\t= E_PDB_MAX + 1,\n\tDIA_E_PROCNOTFOUND\t= DIA_E_MODNOTFOUND + 1\n    } ;\ntypedef void ( __cdecl *PfnPDBDebugDirV )( \n    BOOL __MIDL_0010,\n    void *__MIDL_0011);\n\n\n\n\n\n\n\n\n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_s_ifspec;\n\n#ifndef __IDiaLoadCallback_INTERFACE_DEFINED__\n#define __IDiaLoadCallback_INTERFACE_DEFINED__\n\n/* interface IDiaLoadCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLoadCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C32ADB82-73F4-421b-95D5-A4706EDF5DBE\")\n    IDiaLoadCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE NotifyDebugDir( \n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenDBG( \n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenPDB( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictRegistryAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictSymbolServerAccess( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLoadCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLoadCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLoadCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )( \n            IDiaLoadCallback * This,\n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )( \n            IDiaLoadCallback * This);\n        \n        END_INTERFACE\n    } IDiaLoadCallbackVtbl;\n\n    interface IDiaLoadCallback\n    {\n        CONST_VTBL struct IDiaLoadCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLoadCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLoadCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLoadCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLoadCallback_NotifyDebugDir(This,fExecutable,cbData,data)\t\\\n    (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,data)\n\n#define IDiaLoadCallback_NotifyOpenDBG(This,dbgPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode)\n\n#define IDiaLoadCallback_NotifyOpenPDB(This,pdbPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode)\n\n#define IDiaLoadCallback_RestrictRegistryAccess(This)\t\\\n    (This)->lpVtbl -> RestrictRegistryAccess(This)\n\n#define IDiaLoadCallback_RestrictSymbolServerAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSymbolServerAccess(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyDebugDir_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ BOOL fExecutable,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyDebugDir_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenDBG_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR dbgPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenDBG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenPDB_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenPDB_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictRegistryAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictRegistryAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictSymbolServerAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictSymbolServerAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLoadCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtOffsetCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtOffsetCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"587A461C-B80B-4f54-9194-5032589A6319\")\n    IDiaReadExeAtOffsetCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAt( \n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtOffsetCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAt )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaReadExeAtOffsetCallbackVtbl;\n\n    interface IDiaReadExeAtOffsetCallback\n    {\n        CONST_VTBL struct IDiaReadExeAtOffsetCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtOffsetCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtOffsetCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtOffsetCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtOffsetCallback_ReadExecutableAt(This,fileOffset,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> ReadExecutableAt(This,fileOffset,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtOffsetCallback_ReadExecutableAt_Proxy( \n    IDiaReadExeAtOffsetCallback * This,\n    /* [in] */ DWORDLONG fileOffset,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaReadExeAtOffsetCallback_ReadExecutableAt_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtRVACallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtRVACallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8E3F80CA-7517-432a-BA07-285134AAEA8E\")\n    IDiaReadExeAtRVACallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAtRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtRVACallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtRVACallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtRVACallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAtRVA )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaReadExeAtRVACallbackVtbl;\n\n    interface IDiaReadExeAtRVACallback\n    {\n        CONST_VTBL struct IDiaReadExeAtRVACallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtRVACallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtRVACallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtRVACallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtRVACallback_ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Proxy( \n    IDiaReadExeAtRVACallback * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_INTERFACE_DEFINED__\n#define __IDiaDataSource_INTERFACE_DEFINED__\n\n/* interface IDiaDataSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaDataSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"79F1BB5F-B66E-48e5-B6A9-1545C323CA3D\")\n    IDiaDataSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lastError( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadAndValidateDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataForExe( \n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromIStream( \n            /* [in] */ IStream *pIStream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE openSession( \n            /* [out] */ IDiaSession **ppSession) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaDataSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaDataSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaDataSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaDataSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastError )( \n            IDiaDataSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadAndValidateDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataForExe )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromIStream )( \n            IDiaDataSource * This,\n            /* [in] */ IStream *pIStream);\n        \n        HRESULT ( STDMETHODCALLTYPE *openSession )( \n            IDiaDataSource * This,\n            /* [out] */ IDiaSession **ppSession);\n        \n        END_INTERFACE\n    } IDiaDataSourceVtbl;\n\n    interface IDiaDataSource\n    {\n        CONST_VTBL struct IDiaDataSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaDataSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaDataSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaDataSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaDataSource_get_lastError(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lastError(This,pRetVal)\n\n#define IDiaDataSource_loadDataFromPdb(This,pdbPath)\t\\\n    (This)->lpVtbl -> loadDataFromPdb(This,pdbPath)\n\n#define IDiaDataSource_loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\t\\\n    (This)->lpVtbl -> loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\n\n#define IDiaDataSource_loadDataForExe(This,executable,searchPath,pCallback)\t\\\n    (This)->lpVtbl -> loadDataForExe(This,executable,searchPath,pCallback)\n\n#define IDiaDataSource_loadDataFromIStream(This,pIStream)\t\\\n    (This)->lpVtbl -> loadDataFromIStream(This,pIStream)\n\n#define IDiaDataSource_openSession(This,ppSession)\t\\\n    (This)->lpVtbl -> openSession(This,ppSession)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaDataSource_get_lastError_Proxy( \n    IDiaDataSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaDataSource_get_lastError_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadAndValidateDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ GUID *pcsig70,\n    /* [in] */ DWORD sig,\n    /* [in] */ DWORD age);\n\n\nvoid __RPC_STUB IDiaDataSource_loadAndValidateDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataForExe_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR executable,\n    /* [in] */ LPCOLESTR searchPath,\n    /* [in] */ IUnknown *pCallback);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataForExe_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromIStream_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ IStream *pIStream);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromIStream_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_openSession_Proxy( \n    IDiaDataSource * This,\n    /* [out] */ IDiaSession **ppSession);\n\n\nvoid __RPC_STUB IDiaDataSource_openSession_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaDataSource_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_INTERFACE_DEFINED__\n#define __IDiaEnumSymbols_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbols */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbols;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"CAB72C48-443B-48f5-9B0B-42F0820AB29A\")\n    IDiaEnumSymbols : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbols **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbols * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbols * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbols * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSymbols * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSymbols * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbols * This,\n            /* [out] */ IDiaEnumSymbols **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsVtbl;\n\n    interface IDiaEnumSymbols\n    {\n        CONST_VTBL struct IDiaEnumSymbolsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbols_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbols_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbols_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbols_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSymbols_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSymbols_Item(This,index,symbol)\t\\\n    (This)->lpVtbl -> Item(This,index,symbol)\n\n#define IDiaEnumSymbols_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbols_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSymbols_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSymbols_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get__NewEnum_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get_Count_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Item_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSymbol **symbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Next_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Skip_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Reset_Proxy( \n    IDiaEnumSymbols * This);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Clone_Proxy( \n    IDiaEnumSymbols * This,\n    /* [out] */ IDiaEnumSymbols **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbols_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n#define __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbolsByAddr */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbolsByAddr;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"624B7D9C-24EA-4421-9D06-3B577471C1FA\")\n    IDiaEnumSymbolsByAddr : public IUnknown\n    {\n    public:\n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Prev( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsByAddrVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByAddr )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByRVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Prev )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsByAddrVtbl;\n\n    interface IDiaEnumSymbolsByAddr\n    {\n        CONST_VTBL struct IDiaEnumSymbolsByAddrVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbolsByAddr_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbolsByAddr_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbolsByAddr_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbolsByAddr_symbolByAddr(This,isect,offset,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByAddr(This,isect,offset,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByRVA(This,relativeVirtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByRVA(This,relativeVirtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByVA(This,virtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByVA(This,virtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Prev(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Prev(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByAddr_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByRVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Next_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Prev_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Prev_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Clone_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n#define __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSourceFiles */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSourceFiles;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"10F3DBD9-664F-4469-B808-9471C7A50538\")\n    IDiaEnumSourceFiles : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSourceFiles **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSourceFilesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSourceFiles * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSourceFiles * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSourceFiles * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSourceFiles * This,\n            /* [out] */ IDiaEnumSourceFiles **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSourceFilesVtbl;\n\n    interface IDiaEnumSourceFiles\n    {\n        CONST_VTBL struct IDiaEnumSourceFilesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSourceFiles_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSourceFiles_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSourceFiles_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSourceFiles_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSourceFiles_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSourceFiles_Item(This,index,sourceFile)\t\\\n    (This)->lpVtbl -> Item(This,index,sourceFile)\n\n#define IDiaEnumSourceFiles_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSourceFiles_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSourceFiles_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSourceFiles_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get__NewEnum_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get_Count_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Item_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSourceFile **sourceFile);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Next_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSourceFile **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Skip_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Reset_Proxy( \n    IDiaEnumSourceFiles * This);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Clone_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [out] */ IDiaEnumSourceFiles **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSourceFiles_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n#define __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n\n/* interface IDiaEnumLineNumbers */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumLineNumbers;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"FE30E878-54AC-44f1-81BA-39DE940F6052\")\n    IDiaEnumLineNumbers : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumLineNumbers **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumLineNumbersVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumLineNumbers * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumLineNumbers * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumLineNumbers * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumLineNumbers * This,\n            /* [out] */ IDiaEnumLineNumbers **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumLineNumbersVtbl;\n\n    interface IDiaEnumLineNumbers\n    {\n        CONST_VTBL struct IDiaEnumLineNumbersVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumLineNumbers_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumLineNumbers_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumLineNumbers_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumLineNumbers_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumLineNumbers_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumLineNumbers_Item(This,index,lineNumber)\t\\\n    (This)->lpVtbl -> Item(This,index,lineNumber)\n\n#define IDiaEnumLineNumbers_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumLineNumbers_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumLineNumbers_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumLineNumbers_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get__NewEnum_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get_Count_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Item_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaLineNumber **lineNumber);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Next_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaLineNumber **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Skip_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Reset_Proxy( \n    IDiaEnumLineNumbers * This);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Clone_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [out] */ IDiaEnumLineNumbers **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumLineNumbers_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n#define __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n\n/* interface IDiaEnumInjectedSources */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumInjectedSources;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"D5612573-6925-4468-8883-98CDEC8C384A\")\n    IDiaEnumInjectedSources : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumInjectedSources **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumInjectedSourcesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumInjectedSources * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumInjectedSources * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumInjectedSources * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumInjectedSources * This,\n            /* [out] */ IDiaEnumInjectedSources **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumInjectedSourcesVtbl;\n\n    interface IDiaEnumInjectedSources\n    {\n        CONST_VTBL struct IDiaEnumInjectedSourcesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumInjectedSources_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumInjectedSources_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumInjectedSources_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumInjectedSources_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumInjectedSources_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumInjectedSources_Item(This,index,injectedSource)\t\\\n    (This)->lpVtbl -> Item(This,index,injectedSource)\n\n#define IDiaEnumInjectedSources_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumInjectedSources_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumInjectedSources_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumInjectedSources_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get__NewEnum_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get_Count_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Item_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaInjectedSource **injectedSource);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Next_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaInjectedSource **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Skip_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Reset_Proxy( \n    IDiaEnumInjectedSources * This);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Clone_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [out] */ IDiaEnumInjectedSources **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumInjectedSources_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_INTERFACE_DEFINED__\n#define __IDiaEnumSegments_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSegments */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSegments;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"E8368CA9-01D1-419d-AC0C-E31235DBDA9F\")\n    IDiaEnumSegments : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSegments **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSegmentsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSegments * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSegments * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSegments * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSegments * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSegments * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSegments * This,\n            /* [out] */ IDiaEnumSegments **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSegmentsVtbl;\n\n    interface IDiaEnumSegments\n    {\n        CONST_VTBL struct IDiaEnumSegmentsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSegments_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSegments_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSegments_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSegments_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSegments_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSegments_Item(This,index,segment)\t\\\n    (This)->lpVtbl -> Item(This,index,segment)\n\n#define IDiaEnumSegments_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSegments_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSegments_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSegments_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get__NewEnum_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get_Count_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_Item_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSegment **segment);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Next_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSegment **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Skip_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Reset_Proxy( \n    IDiaEnumSegments * This);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Clone_Proxy( \n    IDiaEnumSegments * This,\n    /* [out] */ IDiaEnumSegments **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSegments_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n#define __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSectionContribs */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSectionContribs;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"1994DEB2-2C82-4b1d-A57F-AFF424D54A68\")\n    IDiaEnumSectionContribs : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSectionContribs **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSectionContribsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSectionContribs * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSectionContribs * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSectionContribs * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSectionContribs * This,\n            /* [out] */ IDiaEnumSectionContribs **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSectionContribsVtbl;\n\n    interface IDiaEnumSectionContribs\n    {\n        CONST_VTBL struct IDiaEnumSectionContribsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSectionContribs_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSectionContribs_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSectionContribs_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSectionContribs_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSectionContribs_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSectionContribs_Item(This,index,section)\t\\\n    (This)->lpVtbl -> Item(This,index,section)\n\n#define IDiaEnumSectionContribs_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSectionContribs_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSectionContribs_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSectionContribs_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get__NewEnum_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get_Count_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Item_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSectionContrib **section);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Next_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSectionContrib **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Skip_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Reset_Proxy( \n    IDiaEnumSectionContribs * This);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Clone_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [out] */ IDiaEnumSectionContribs **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSectionContribs_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_INTERFACE_DEFINED__\n#define __IDiaEnumFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F\")\n    IDiaEnumFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumFrameData **ppenum) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumFrameData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumFrameData * This,\n            /* [out] */ IDiaEnumFrameData **ppenum);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByRVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        END_INTERFACE\n    } IDiaEnumFrameDataVtbl;\n\n    interface IDiaEnumFrameData\n    {\n        CONST_VTBL struct IDiaEnumFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumFrameData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumFrameData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumFrameData_Item(This,index,frame)\t\\\n    (This)->lpVtbl -> Item(This,index,frame)\n\n#define IDiaEnumFrameData_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumFrameData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumFrameData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumFrameData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#define IDiaEnumFrameData_frameByRVA(This,relativeVirtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByRVA(This,relativeVirtualAddress,frame)\n\n#define IDiaEnumFrameData_frameByVA(This,virtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByVA(This,virtualAddress,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get__NewEnum_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get_Count_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Item_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Next_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaFrameData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Skip_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Reset_Proxy( \n    IDiaEnumFrameData * This);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Clone_Proxy( \n    IDiaEnumFrameData * This,\n    /* [out] */ IDiaEnumFrameData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByRVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreamData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreamData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"486943E8-D187-4a6b-A3C4-291259FFF60D\")\n    IDiaEnumDebugStreamData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ],\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreamData **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreamData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreamData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ],\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreamData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreamData * This,\n            /* [out] */ IDiaEnumDebugStreamData **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamDataVtbl;\n\n    interface IDiaEnumDebugStreamData\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreamData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreamData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreamData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreamData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_Item(This,index,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> Item(This,index,cbData,pcbData,data)\n\n#define IDiaEnumDebugStreamData_Next(This,celt,cbData,pcbData,data,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,cbData,pcbData,data,pceltFetched)\n\n#define IDiaEnumDebugStreamData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreamData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreamData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get__NewEnum_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_Count_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_name_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Item_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ DWORD index,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Next_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ],\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Skip_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Reset_Proxy( \n    IDiaEnumDebugStreamData * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Clone_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [out] */ IDiaEnumDebugStreamData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreamData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreams */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreams;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"08CBB41E-47A6-4f87-92F1-1C9C87CED044\")\n    IDiaEnumDebugStreams : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreams **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreams * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreams * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreams * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreams * This,\n            /* [out] */ IDiaEnumDebugStreams **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamsVtbl;\n\n    interface IDiaEnumDebugStreams\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreams_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreams_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreams_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreams_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreams_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreams_Item(This,index,stream)\t\\\n    (This)->lpVtbl -> Item(This,index,stream)\n\n#define IDiaEnumDebugStreams_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumDebugStreams_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreams_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreams_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get__NewEnum_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get_Count_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Item_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Next_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaEnumDebugStreamData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Skip_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Reset_Proxy( \n    IDiaEnumDebugStreams * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Clone_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [out] */ IDiaEnumDebugStreams **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreams_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0125 */\n/* [local] */ \n\nstruct DiaAddressMapEntry\n    {\n    DWORD rva;\n    DWORD rvaTo;\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0125_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0125_v0_0_s_ifspec;\n\n#ifndef __IDiaAddressMap_INTERFACE_DEFINED__\n#define __IDiaAddressMap_INTERFACE_DEFINED__\n\n/* interface IDiaAddressMap */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaAddressMap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B62A2E7A-067A-4ea3-B598-04C09717502C\")\n    IDiaAddressMap : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressMapEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_addressMapEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddressEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_relativeVirtualAddressEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageAlign( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_imageAlign( \n            /* [in] */ DWORD NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_imageHeaders( \n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ],\n            /* [in] */ BOOL originalHeaders) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_addressMap( \n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n            /* [in] */ BOOL imageToSymbols) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaAddressMapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaAddressMap * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaAddressMap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaAddressMap * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageAlign )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imageAlign )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_imageHeaders )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ],\n            /* [in] */ BOOL originalHeaders);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_addressMap )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n            /* [in] */ BOOL imageToSymbols);\n        \n        END_INTERFACE\n    } IDiaAddressMapVtbl;\n\n    interface IDiaAddressMap\n    {\n        CONST_VTBL struct IDiaAddressMapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaAddressMap_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaAddressMap_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaAddressMap_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaAddressMap_get_addressMapEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressMapEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_addressMapEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_addressMapEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_relativeVirtualAddressEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddressEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_relativeVirtualAddressEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_relativeVirtualAddressEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_imageAlign(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageAlign(This,pRetVal)\n\n#define IDiaAddressMap_put_imageAlign(This,NewVal)\t\\\n    (This)->lpVtbl -> put_imageAlign(This,NewVal)\n\n#define IDiaAddressMap_set_imageHeaders(This,cbData,data,originalHeaders)\t\\\n    (This)->lpVtbl -> set_imageHeaders(This,cbData,data,originalHeaders)\n\n#define IDiaAddressMap_set_addressMap(This,cData,data,imageToSymbols)\t\\\n    (This)->lpVtbl -> set_addressMap(This,cData,data,imageToSymbols)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_imageHeaders_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE data[  ],\n    /* [in] */ BOOL originalHeaders);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_imageHeaders_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_addressMap_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cData,\n    /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n    /* [in] */ BOOL imageToSymbols);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_addressMap_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaAddressMap_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSession_INTERFACE_DEFINED__\n#define __IDiaSession_INTERFACE_DEFINED__\n\n/* interface IDiaSession */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSession;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"67138B34-79CD-4b42-B74A-A18ADBB799DF\")\n    IDiaSession : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_loadAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_loadAddress( \n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_globalScope( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumTables( \n            /* [out] */ IDiaEnumTables **ppEnumTables) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getSymbolsByAddr( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByToken( \n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symsAreEquiv( \n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symbolById( \n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVAEx( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVAEx( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFile( \n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFileById( \n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLines( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByAddr( \n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByLinenum( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findInjectedSource( \n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumDebugStreams( \n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSessionVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSession * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSession * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSession * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadAddress )( \n            IDiaSession * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loadAddress )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalScope )( \n            IDiaSession * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumTables )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumTables **ppEnumTables);\n        \n        HRESULT ( STDMETHODCALLTYPE *getSymbolsByAddr )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByToken )( \n            IDiaSession * This,\n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *symsAreEquiv )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolById )( \n            IDiaSession * This,\n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVAEx )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVAEx )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFile )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFileById )( \n            IDiaSession * This,\n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLines )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByLinenum )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findInjectedSource )( \n            IDiaSession * This,\n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumDebugStreams )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n        \n        END_INTERFACE\n    } IDiaSessionVtbl;\n\n    interface IDiaSession\n    {\n        CONST_VTBL struct IDiaSessionVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSession_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSession_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSession_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSession_get_loadAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_loadAddress(This,pRetVal)\n\n#define IDiaSession_put_loadAddress(This,NewVal)\t\\\n    (This)->lpVtbl -> put_loadAddress(This,NewVal)\n\n#define IDiaSession_get_globalScope(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_globalScope(This,pRetVal)\n\n#define IDiaSession_getEnumTables(This,ppEnumTables)\t\\\n    (This)->lpVtbl -> getEnumTables(This,ppEnumTables)\n\n#define IDiaSession_getSymbolsByAddr(This,ppEnumbyAddr)\t\\\n    (This)->lpVtbl -> getSymbolsByAddr(This,ppEnumbyAddr)\n\n#define IDiaSession_findChildren(This,parent,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,parent,symtag,name,compareFlags,ppResult)\n\n#define IDiaSession_findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByRVA(This,rva,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByRVA(This,rva,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByVA(This,va,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByVA(This,va,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByToken(This,token,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByToken(This,token,symtag,ppSymbol)\n\n#define IDiaSession_symsAreEquiv(This,symbolA,symbolB)\t\\\n    (This)->lpVtbl -> symsAreEquiv(This,symbolA,symbolB)\n\n#define IDiaSession_symbolById(This,id,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolById(This,id,ppSymbol)\n\n#define IDiaSession_findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findFile(This,pCompiland,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findFile(This,pCompiland,name,compareFlags,ppResult)\n\n#define IDiaSession_findFileById(This,uniqueId,ppResult)\t\\\n    (This)->lpVtbl -> findFileById(This,uniqueId,ppResult)\n\n#define IDiaSession_findLines(This,compiland,file,ppResult)\t\\\n    (This)->lpVtbl -> findLines(This,compiland,file,ppResult)\n\n#define IDiaSession_findLinesByAddr(This,seg,offset,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByAddr(This,seg,offset,length,ppResult)\n\n#define IDiaSession_findLinesByRVA(This,rva,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByRVA(This,rva,length,ppResult)\n\n#define IDiaSession_findLinesByVA(This,va,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByVA(This,va,length,ppResult)\n\n#define IDiaSession_findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\n\n#define IDiaSession_findInjectedSource(This,srcFile,ppResult)\t\\\n    (This)->lpVtbl -> findInjectedSource(This,srcFile,ppResult)\n\n#define IDiaSession_getEnumDebugStreams(This,ppEnumDebugStreams)\t\\\n    (This)->lpVtbl -> getEnumDebugStreams(This,ppEnumDebugStreams)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaSession_put_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaSession_put_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_globalScope_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_globalScope_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumTables_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumTables **ppEnumTables);\n\n\nvoid __RPC_STUB IDiaSession_getEnumTables_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getSymbolsByAddr_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n\n\nvoid __RPC_STUB IDiaSession_getSymbolsByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findChildren_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *parent,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByToken_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONG token,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByToken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symsAreEquiv_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *symbolA,\n    /* [in] */ IDiaSymbol *symbolB);\n\n\nvoid __RPC_STUB IDiaSession_symsAreEquiv_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symbolById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD id,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_symbolById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFile_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *pCompiland,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSourceFiles **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFileById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD uniqueId,\n    /* [out] */ IDiaSourceFile **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFileById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLines_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLines_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD seg,\n    /* [in] */ DWORD offset,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByLinenum_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [in] */ DWORD linenum,\n    /* [in] */ DWORD column,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByLinenum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findInjectedSource_Proxy( \n    IDiaSession * This,\n    /* [in] */ LPCOLESTR srcFile,\n    /* [out] */ IDiaEnumInjectedSources **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findInjectedSource_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumDebugStreams_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n\n\nvoid __RPC_STUB IDiaSession_getEnumDebugStreams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSession_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_INTERFACE_DEFINED__\n#define __IDiaSymbol_INTERFACE_DEFINED__\n\n/* interface IDiaSymbol */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSymbol;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"72827A48-D320-4eaf-8436-548ADE47D5E5\")\n    IDiaSymbol : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symIndexId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symTag( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_locationType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_slot( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volatileType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unalignedType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_access( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_libraryName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_platform( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_language( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_editAndContinueEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thunkOrdinal( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thisAdjust( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtual( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intro( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pure( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_callingConvention( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_value( \n            /* [retval][out] */ VARIANT *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_token( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_guid( \n            /* [retval][out] */ GUID *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbolsFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_reference( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bitPosition( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_packed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constructor( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_overloadedOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_nested( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNestedTypes( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAssignmentOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasCastOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_scoped( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_indirectVirtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBasePointerOffset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShape( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_typeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexTypeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShapeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_function( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_managed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_msil( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseDispIndex( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_undecoratedName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_age( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_signature( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerGenerated( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressTaken( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rank( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_dataBytes( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetRelativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetVirtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_machineType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemSymbolId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_types( \n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [length_is][size_is][out] */ IDiaSymbol *types[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_typeIds( \n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [length_is][size_is][out] */ DWORD typeIds[  ]) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectPointerType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_udtKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSymbolVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSymbol * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSymbol * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSymbol * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( \n            IDiaSymbol * This,\n            /* [retval][out] */ VARIANT *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )( \n            IDiaSymbol * This,\n            /* [retval][out] */ GUID *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_dataBytes )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSymbol * This,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_types )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [length_is][size_is][out] */ IDiaSymbol *types[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_typeIds )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [length_is][size_is][out] */ DWORD typeIds[  ]);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSymbolVtbl;\n\n    interface IDiaSymbol\n    {\n        CONST_VTBL struct IDiaSymbolVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSymbol_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSymbol_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSymbol_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSymbol_get_symIndexId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symIndexId(This,pRetVal)\n\n#define IDiaSymbol_get_symTag(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symTag(This,pRetVal)\n\n#define IDiaSymbol_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParent(This,pRetVal)\n\n#define IDiaSymbol_get_classParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParent(This,pRetVal)\n\n#define IDiaSymbol_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaSymbol_get_dataKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataKind(This,pRetVal)\n\n#define IDiaSymbol_get_locationType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_locationType(This,pRetVal)\n\n#define IDiaSymbol_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSymbol_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSymbol_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_registerId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerId(This,pRetVal)\n\n#define IDiaSymbol_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSymbol_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSymbol_get_slot(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_slot(This,pRetVal)\n\n#define IDiaSymbol_get_volatileType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_volatileType(This,pRetVal)\n\n#define IDiaSymbol_get_constType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constType(This,pRetVal)\n\n#define IDiaSymbol_get_unalignedType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_unalignedType(This,pRetVal)\n\n#define IDiaSymbol_get_access(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_access(This,pRetVal)\n\n#define IDiaSymbol_get_libraryName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_libraryName(This,pRetVal)\n\n#define IDiaSymbol_get_platform(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_platform(This,pRetVal)\n\n#define IDiaSymbol_get_language(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_language(This,pRetVal)\n\n#define IDiaSymbol_get_editAndContinueEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_sourceFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileName(This,pRetVal)\n\n#define IDiaSymbol_get_objectFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectFileName(This,pRetVal)\n\n#define IDiaSymbol_get_thunkOrdinal(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal)\n\n#define IDiaSymbol_get_thisAdjust(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thisAdjust(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtual(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtual(This,pRetVal)\n\n#define IDiaSymbol_get_intro(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_intro(This,pRetVal)\n\n#define IDiaSymbol_get_pure(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_pure(This,pRetVal)\n\n#define IDiaSymbol_get_callingConvention(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_callingConvention(This,pRetVal)\n\n#define IDiaSymbol_get_value(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_value(This,pRetVal)\n\n#define IDiaSymbol_get_baseType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_baseType(This,pRetVal)\n\n#define IDiaSymbol_get_token(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_token(This,pRetVal)\n\n#define IDiaSymbol_get_timeStamp(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_timeStamp(This,pRetVal)\n\n#define IDiaSymbol_get_guid(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_guid(This,pRetVal)\n\n#define IDiaSymbol_get_symbolsFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symbolsFileName(This,pRetVal)\n\n#define IDiaSymbol_get_reference(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_reference(This,pRetVal)\n\n#define IDiaSymbol_get_count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_count(This,pRetVal)\n\n#define IDiaSymbol_get_bitPosition(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_bitPosition(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexType(This,pRetVal)\n\n#define IDiaSymbol_get_packed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_packed(This,pRetVal)\n\n#define IDiaSymbol_get_constructor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constructor(This,pRetVal)\n\n#define IDiaSymbol_get_overloadedOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_overloadedOperator(This,pRetVal)\n\n#define IDiaSymbol_get_nested(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_nested(This,pRetVal)\n\n#define IDiaSymbol_get_hasNestedTypes(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal)\n\n#define IDiaSymbol_get_hasAssignmentOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal)\n\n#define IDiaSymbol_get_hasCastOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasCastOperator(This,pRetVal)\n\n#define IDiaSymbol_get_scoped(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_scoped(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_indirectVirtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBasePointerOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShape(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShape(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParentId(This,pRetVal)\n\n#define IDiaSymbol_get_classParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParentId(This,pRetVal)\n\n#define IDiaSymbol_get_typeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_typeId(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexTypeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShapeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal)\n\n#define IDiaSymbol_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSymbol_get_function(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_function(This,pRetVal)\n\n#define IDiaSymbol_get_managed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_managed(This,pRetVal)\n\n#define IDiaSymbol_get_msil(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_msil(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseDispIndex(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal)\n\n#define IDiaSymbol_get_undecoratedName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_undecoratedName(This,pRetVal)\n\n#define IDiaSymbol_get_age(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_age(This,pRetVal)\n\n#define IDiaSymbol_get_signature(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_signature(This,pRetVal)\n\n#define IDiaSymbol_get_compilerGenerated(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilerGenerated(This,pRetVal)\n\n#define IDiaSymbol_get_addressTaken(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressTaken(This,pRetVal)\n\n#define IDiaSymbol_get_rank(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_rank(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBound(This,pRetVal)\n\n#define IDiaSymbol_get_upperBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBound(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_upperBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_dataBytes(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,data)\n\n#define IDiaSymbol_findChildren(This,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult)\n\n#define IDiaSymbol_get_targetSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetSection(This,pRetVal)\n\n#define IDiaSymbol_get_targetOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetOffset(This,pRetVal)\n\n#define IDiaSymbol_get_targetRelativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_targetVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_machineType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_machineType(This,pRetVal)\n\n#define IDiaSymbol_get_oemId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemId(This,pRetVal)\n\n#define IDiaSymbol_get_oemSymbolId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemSymbolId(This,pRetVal)\n\n#define IDiaSymbol_get_types(This,cTypes,pcTypes,types)\t\\\n    (This)->lpVtbl -> get_types(This,cTypes,pcTypes,types)\n\n#define IDiaSymbol_get_typeIds(This,cTypeIds,pcTypeIds,typeIds)\t\\\n    (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,typeIds)\n\n#define IDiaSymbol_get_objectPointerType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectPointerType(This,pRetVal)\n\n#define IDiaSymbol_get_udtKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_udtKind(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symIndexId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symIndexId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symTag_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symTag_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_name_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_type_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_locationType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_locationType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_relativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_registerId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_registerId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_offset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_length_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_slot_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_slot_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_volatileType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_volatileType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unalignedType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_unalignedType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_access_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_access_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_libraryName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_libraryName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_platform_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_platform_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_language_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_language_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_editAndContinueEnabled_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_editAndContinueEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_sourceFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_sourceFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_objectFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_objectFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thunkOrdinal_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thunkOrdinal_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thisAdjust_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thisAdjust_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtual_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtual_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_intro_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_intro_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_pure_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_pure_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_callingConvention_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_callingConvention_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_value_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ VARIANT *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_value_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_baseType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_token_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_token_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_timeStamp_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_timeStamp_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_guid_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ GUID *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_guid_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symbolsFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symbolsFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_reference_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_reference_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_count_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bitPosition_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_bitPosition_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_packed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_packed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constructor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constructor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_overloadedOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_overloadedOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_nested_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_nested_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasNestedTypes_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasNestedTypes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasAssignmentOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasAssignmentOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasCastOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasCastOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_scoped_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_scoped_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_indirectVirtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_indirectVirtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBasePointerOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBasePointerOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShape_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShape_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexTypeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexTypeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShapeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShapeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_code_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_function_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_function_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_managed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_managed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_msil_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_msil_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseDispIndex_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseDispIndex_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_undecoratedName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_undecoratedName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_age_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_age_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_signature_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_signature_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_compilerGenerated_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_compilerGenerated_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressTaken_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressTaken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_rank_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_rank_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataBytes_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataBytes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_findChildren_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSymbol_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetRelativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetRelativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_machineType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_machineType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemSymbolId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemSymbolId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_types_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypes,\n    /* [out] */ DWORD *pcTypes,\n    /* [length_is][size_is][out] */ IDiaSymbol *types[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_types_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeIds_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypeIds,\n    /* [out] */ DWORD *pcTypeIds,\n    /* [length_is][size_is][out] */ DWORD typeIds[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeIds_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_objectPointerType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_objectPointerType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_udtKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_udtKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSymbol_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_INTERFACE_DEFINED__\n#define __IDiaSourceFile_INTERFACE_DEFINED__\n\n/* interface IDiaSourceFile */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSourceFile;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD\")\n    IDiaSourceFile : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_checksumType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilands( \n            /* [retval][out] */ IDiaEnumSymbols **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_checksum( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSourceFileVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSourceFile * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSourceFile * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSourceFile * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueId )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileName )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checksumType )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilands )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_checksum )( \n            IDiaSourceFile * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaSourceFileVtbl;\n\n    interface IDiaSourceFile\n    {\n        CONST_VTBL struct IDiaSourceFileVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSourceFile_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSourceFile_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSourceFile_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSourceFile_get_uniqueId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uniqueId(This,pRetVal)\n\n#define IDiaSourceFile_get_fileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_fileName(This,pRetVal)\n\n#define IDiaSourceFile_get_checksumType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_checksumType(This,pRetVal)\n\n#define IDiaSourceFile_get_compilands(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilands(This,pRetVal)\n\n#define IDiaSourceFile_get_checksum(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_checksum(This,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_uniqueId_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_uniqueId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_fileName_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_fileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksumType_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksumType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_compilands_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_compilands_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksum_Proxy( \n    IDiaSourceFile * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSourceFile_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_INTERFACE_DEFINED__\n#define __IDiaLineNumber_INTERFACE_DEFINED__\n\n/* interface IDiaLineNumber */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLineNumber;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B388EB14-BE4D-421d-A8A1-6CF7AB057086\")\n    IDiaLineNumber : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFile( \n            /* [retval][out] */ IDiaSourceFile **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_statement( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLineNumberVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLineNumber * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLineNumber * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLineNumber * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFile )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSourceFile **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_statement )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaLineNumberVtbl;\n\n    interface IDiaLineNumber\n    {\n        CONST_VTBL struct IDiaLineNumberVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLineNumber_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLineNumber_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLineNumber_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLineNumber_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFile(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFile(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaLineNumber_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaLineNumber_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFileId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileId(This,pRetVal)\n\n#define IDiaLineNumber_get_statement(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_statement(This,pRetVal)\n\n#define IDiaLineNumber_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compiland_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFile_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSourceFile **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressSection_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressOffset_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_relativeVirtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_virtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_length_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFileId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFileId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_statement_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_statement_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compilandId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLineNumber_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_INTERFACE_DEFINED__\n#define __IDiaSectionContrib_INTERFACE_DEFINED__\n\n/* interface IDiaSectionContrib */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSectionContrib;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857\")\n    IDiaSectionContrib : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notPaged( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_initializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uninitializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_remove( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_comdat( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_discardable( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notCached( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_share( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relocationsCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSectionContribVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSectionContrib * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSectionContrib * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSectionContrib * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notPaged )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uninitializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_remove )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_comdat )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_discardable )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notCached )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_share )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relocationsCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSectionContribVtbl;\n\n    interface IDiaSectionContrib\n    {\n        CONST_VTBL struct IDiaSectionContribVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSectionContrib_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSectionContrib_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSectionContrib_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSectionContrib_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSectionContrib_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSectionContrib_get_notPaged(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notPaged(This,pRetVal)\n\n#define IDiaSectionContrib_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSectionContrib_get_initializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_initializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_uninitializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uninitializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_remove(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_remove(This,pRetVal)\n\n#define IDiaSectionContrib_get_comdat(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_comdat(This,pRetVal)\n\n#define IDiaSectionContrib_get_discardable(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_discardable(This,pRetVal)\n\n#define IDiaSectionContrib_get_notCached(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notCached(This,pRetVal)\n\n#define IDiaSectionContrib_get_share(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_share(This,pRetVal)\n\n#define IDiaSectionContrib_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSectionContrib_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSectionContrib_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSectionContrib_get_dataCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_relocationsCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relocationsCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compiland_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressSection_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressOffset_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relativeVirtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_virtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_length_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notPaged_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notPaged_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_code_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_initializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_initializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_uninitializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_uninitializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_remove_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_remove_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_comdat_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_comdat_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_discardable_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_discardable_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notCached_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notCached_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_share_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_share_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_execute_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_read_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_write_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_dataCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_dataCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relocationsCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relocationsCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compilandId_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSectionContrib_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSegment_INTERFACE_DEFINED__\n#define __IDiaSegment_INTERFACE_DEFINED__\n\n/* interface IDiaSegment */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSegment;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0775B784-C75B-4449-848B-B7BD3159545B\")\n    IDiaSegment : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frame( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSegmentVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSegment * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSegment * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSegment * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frame )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSegmentVtbl;\n\n    interface IDiaSegment\n    {\n        CONST_VTBL struct IDiaSegmentVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSegment_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSegment_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSegment_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSegment_get_frame(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frame(This,pRetVal)\n\n#define IDiaSegment_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSegment_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSegment_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSegment_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSegment_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSegment_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSegment_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSegment_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_frame_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_frame_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_offset_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_length_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_read_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_write_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_execute_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_addressSection_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_relativeVirtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_virtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSegment_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_INTERFACE_DEFINED__\n#define __IDiaInjectedSource_INTERFACE_DEFINED__\n\n/* interface IDiaInjectedSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaInjectedSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"AE605CDC-8105-4a23-B710-3259F1E26112\")\n    IDiaInjectedSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_filename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceCompression( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_source( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaInjectedSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaInjectedSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaInjectedSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaInjectedSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crc )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceCompression )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_source )( \n            IDiaInjectedSource * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaInjectedSourceVtbl;\n\n    interface IDiaInjectedSource\n    {\n        CONST_VTBL struct IDiaInjectedSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaInjectedSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaInjectedSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaInjectedSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaInjectedSource_get_crc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_crc(This,pRetVal)\n\n#define IDiaInjectedSource_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaInjectedSource_get_filename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_filename(This,pRetVal)\n\n#define IDiaInjectedSource_get_objectFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_virtualFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_sourceCompression(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceCompression(This,pRetVal)\n\n#define IDiaInjectedSource_get_source(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_source(This,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_crc_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_crc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_length_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_filename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_filename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_objectFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_objectFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_virtualFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_virtualFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_sourceCompression_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_sourceCompression_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_source_Proxy( \n    IDiaInjectedSource * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_source_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaInjectedSource_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0133 */\n/* [local] */ \n\n\nenum __MIDL___MIDL_itf_dia2_0133_0001\n    {\tE_DIA_INPROLOG\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )100),\n\tE_DIA_SYNTAX\t= E_DIA_INPROLOG + 1,\n\tE_DIA_FRAME_ACCESS\t= E_DIA_SYNTAX + 1,\n\tE_DIA_VALUE\t= E_DIA_FRAME_ACCESS + 1\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0133_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0133_v0_0_s_ifspec;\n\n#ifndef __IDiaStackWalkFrame_INTERFACE_DEFINED__\n#define __IDiaStackWalkFrame_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkFrame */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkFrame;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D\")\n    IDiaStackWalkFrame : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue( \n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE readMemory( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress( \n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart( \n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkFrameVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkFrame * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkFrame * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        END_INTERFACE\n    } IDiaStackWalkFrameVtbl;\n\n    interface IDiaStackWalkFrame\n    {\n        CONST_VTBL struct IDiaStackWalkFrameVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkFrame_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkFrame_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkFrame_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkFrame_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkFrame_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkFrame_readMemory(This,va,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> readMemory(This,va,cbData,pcbData,data)\n\n#define IDiaStackWalkFrame_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkFrame_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_get_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_put_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_put_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_readMemory_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_readMemory_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddress_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddressStart_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [in] */ ULONGLONG startAddress,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddressStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalkFrame_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_INTERFACE_DEFINED__\n#define __IDiaFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A39184B7-6A36-42de-8EEC-7DF9F3F59F33\")\n    IDiaFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthBlock( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_program( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionParent( \n            /* [retval][out] */ IDiaFrameData **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE execute( \n            IDiaStackWalkFrame *frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthBlock )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_program )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionParent )( \n            IDiaFrameData * This,\n            /* [retval][out] */ IDiaFrameData **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *execute )( \n            IDiaFrameData * This,\n            IDiaStackWalkFrame *frame);\n        \n        END_INTERFACE\n    } IDiaFrameDataVtbl;\n\n    interface IDiaFrameData\n    {\n        CONST_VTBL struct IDiaFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaFrameData_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaFrameData_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaFrameData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_lengthBlock(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthBlock(This,pRetVal)\n\n#define IDiaFrameData_get_lengthLocals(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthLocals(This,pRetVal)\n\n#define IDiaFrameData_get_lengthParams(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthParams(This,pRetVal)\n\n#define IDiaFrameData_get_maxStack(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_maxStack(This,pRetVal)\n\n#define IDiaFrameData_get_lengthProlog(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthProlog(This,pRetVal)\n\n#define IDiaFrameData_get_lengthSavedRegisters(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal)\n\n#define IDiaFrameData_get_program(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_program(This,pRetVal)\n\n#define IDiaFrameData_get_systemExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_cplusplusExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_functionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionStart(This,pRetVal)\n\n#define IDiaFrameData_get_allocatesBasePointer(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal)\n\n#define IDiaFrameData_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaFrameData_get_functionParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionParent(This,pRetVal)\n\n#define IDiaFrameData_execute(This,frame)\t\\\n    (This)->lpVtbl -> execute(This,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressSection_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressOffset_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_relativeVirtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_virtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthBlock_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthBlock_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthLocals_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthLocals_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthParams_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthParams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_maxStack_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_maxStack_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthProlog_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthProlog_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthSavedRegisters_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthSavedRegisters_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_program_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_program_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_systemExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_systemExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_cplusplusExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_cplusplusExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionStart_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_allocatesBasePointer_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_allocatesBasePointer_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_type_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionParent_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ IDiaFrameData **pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaFrameData_execute_Proxy( \n    IDiaFrameData * This,\n    IDiaStackWalkFrame *frame);\n\n\nvoid __RPC_STUB IDiaFrameData_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaImageData_INTERFACE_DEFINED__\n#define __IDiaImageData_INTERFACE_DEFINED__\n\n/* interface IDiaImageData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaImageData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C8E40ED2-A1D9-4221-8692-3CE661184B44\")\n    IDiaImageData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageBase( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaImageDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaImageData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaImageData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaImageData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageBase )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaImageDataVtbl;\n\n    interface IDiaImageData\n    {\n        CONST_VTBL struct IDiaImageDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaImageData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaImageData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaImageData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaImageData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_imageBase(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageBase(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_relativeVirtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_virtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_imageBase_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_imageBase_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaImageData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaTable_INTERFACE_DEFINED__\n#define __IDiaTable_INTERFACE_DEFINED__\n\n/* interface IDiaTable */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaTable;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4A59FB77-ABAC-469b-A30B-9ECC85BFEF14\")\n    IDiaTable : public IEnumUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaTableVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaTable * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaTable * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaTable * This);\n        \n        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IUnknown **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaTable * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaTable * This,\n            /* [out] */ IEnumUnknown **ppenum);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaTable * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaTable * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaTable * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaTable * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element);\n        \n        END_INTERFACE\n    } IDiaTableVtbl;\n\n    interface IDiaTable\n    {\n        CONST_VTBL struct IDiaTableVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaTable_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaTable_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaTable_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaTable_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaTable_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaTable_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaTable_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n\n#define IDiaTable_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaTable_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaTable_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaTable_Item(This,index,element)\t\\\n    (This)->lpVtbl -> Item(This,index,element)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get__NewEnum_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_name_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_Count_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaTable_Item_Proxy( \n    IDiaTable * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IUnknown **element);\n\n\nvoid __RPC_STUB IDiaTable_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaTable_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_INTERFACE_DEFINED__\n#define __IDiaEnumTables_INTERFACE_DEFINED__\n\n/* interface IDiaEnumTables */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumTables;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E\")\n    IDiaEnumTables : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumTables **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumTablesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumTables * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumTables * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumTables * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumTables * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumTables * This,\n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumTables * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumTables * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumTables * This,\n            /* [out] */ IDiaEnumTables **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumTablesVtbl;\n\n    interface IDiaEnumTables\n    {\n        CONST_VTBL struct IDiaEnumTablesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumTables_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumTables_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumTables_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumTables_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumTables_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumTables_Item(This,index,table)\t\\\n    (This)->lpVtbl -> Item(This,index,table)\n\n#define IDiaEnumTables_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumTables_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumTables_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumTables_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get__NewEnum_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get_Count_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_Item_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaTable **table);\n\n\nvoid __RPC_STUB IDiaEnumTables_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Next_Proxy( \n    IDiaEnumTables * This,\n    ULONG celt,\n    IDiaTable **rgelt,\n    ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumTables_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Skip_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumTables_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Reset_Proxy( \n    IDiaEnumTables * This);\n\n\nvoid __RPC_STUB IDiaEnumTables_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Clone_Proxy( \n    IDiaEnumTables * This,\n    /* [out] */ IDiaEnumTables **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumTables_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumTables_INTERFACE_DEFINED__ */\n\n\n\n#ifndef __Dia2Lib_LIBRARY_DEFINED__\n#define __Dia2Lib_LIBRARY_DEFINED__\n\n/* library Dia2Lib */\n/* [helpstring][version][uuid] */ \n\n\nEXTERN_C const IID LIBID_Dia2Lib;\n\nEXTERN_C const CLSID CLSID_DiaSource;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"151CE278-3CCB-4161-8658-679F8BCF29ED\")\nDiaSource;\n#endif\n\nEXTERN_C const CLSID CLSID_DiaSourceAlt;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"AF74D59B-5AF2-4f36-9E86-87B754DC8A4E\")\nDiaSourceAlt;\n#endif\n#endif /* __Dia2Lib_LIBRARY_DEFINED__ */\n\n/* interface __MIDL_itf_dia2_0138 */\n/* [local] */ \n\n#define\tDiaTable_Symbols\t( L\"Symbols\" )\n\n#define\tDiaTable_Sections\t( L\"Sections\" )\n\n#define\tDiaTable_SrcFiles\t( L\"SourceFiles\" )\n\n#define\tDiaTable_LineNums\t( L\"LineNumbers\" )\n\n#define\tDiaTable_SegMap\t( L\"SegmentMap\" )\n\n#define\tDiaTable_Dbg\t( L\"Dbg\" )\n\n#define\tDiaTable_InjSrc\t( L\"InjectedSource\" )\n\n#define\tDiaTable_FrameData\t( L\"FrameData\" )\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_s_ifspec;\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "Addition/DIASDK/include/diacreate.h",
    "content": "// diacreate.h - creation helper functions for DIA initialization\n//-----------------------------------------------------------------\n// \n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _DIACREATE_H_\n#define _DIACREATE_H_\n\n//\n// Create a dia data source object from the dia dll (by dll name - does not access the registry).\n//\nHRESULT STDMETHODCALLTYPE NoRegCoCreate(  const char*dllName,\n                        REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n//\n// Create a dia data source object from the dia dll (looks up the class id in the registry).\n//\nHRESULT STDMETHODCALLTYPE NoOleCoCreate(  REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n#endif\n"
  },
  {
    "path": "Addition/DIASDK2005/idl/dia2.idl",
    "content": "// dia2.idl - Debug Information Access (DIA) interface description\n//-----------------------------------------------------------------\n//\n// Copyright 1999-2000 Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\nimport \"objidl.idl\";\nimport \"oaidl.idl\";\nimport \"propidl.idl\";\n\nimport \"cvconst.h\";\n\nenum NameSearchOptions\n{\n    nsNone = 0,\n\n    nsfCaseSensitive = 0x1,         // apply a case sensitive match\n    nsfCaseInsensitive = 0x2,       // apply a case insensitive match\n    nsfFNameExt = 0x4,              // treat names as paths and apply a filename.ext match\n    nsfRegularExpression = 0x8,     // regular expression\n    nsfUndecoratedName = 0x10,      // applies only to symbols that have both undecorated and decorated names\n\n    // predefined names for backward source compatibility\n\n    nsCaseSensitive = nsfCaseSensitive,             // apply a case sensitive match\n    nsCaseInsensitive = nsfCaseInsensitive,         // apply a case insensitive match\n    nsFNameExt = nsfCaseInsensitive | nsfFNameExt,  // treat names as paths and apply a filename.ext match\n    nsRegularExpression = nsfRegularExpression | nsfCaseSensitive,      // regular expression (using only '*' and '?')\n    nsCaseInRegularExpression = nsfRegularExpression | nsfCaseInsensitive,  // case insensitive regular expression\n};\n\n\n// the following are error HRESULTS returned by an IDiaDataSource they\n// are based on the FACILITY_VISUALCPP (0x6d) defined in delayimp.h\n\nenum \n{\n    E_PDB_OK=((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(1))) ),\n    E_PDB_USAGE                 ,\n    E_PDB_OUT_OF_MEMORY         , // not used, use E_OUTOFMEMORY\n    E_PDB_FILE_SYSTEM           ,\n    E_PDB_NOT_FOUND             ,\n    E_PDB_INVALID_SIG           ,\n    E_PDB_INVALID_AGE           ,\n    E_PDB_PRECOMP_REQUIRED      ,\n    E_PDB_OUT_OF_TI             ,\n    E_PDB_NOT_IMPLEMENTED       ,   // use E_NOTIMPL\n    E_PDB_V1_PDB                ,\n    E_PDB_FORMAT                ,\n    E_PDB_LIMIT                 ,\n    E_PDB_CORRUPT               ,\n    E_PDB_TI16                  ,\n    E_PDB_ACCESS_DENIED         ,  // use E_ACCESSDENIED\n    E_PDB_ILLEGAL_TYPE_EDIT     ,\n    E_PDB_INVALID_EXECUTABLE    ,\n    E_PDB_DBG_NOT_FOUND         ,\n    E_PDB_NO_DEBUG_INFO         ,\n    E_PDB_INVALID_EXE_TIMESTAMP ,\n    E_PDB_RESERVED              ,\n    E_PDB_DEBUG_INFO_NOT_IN_PDB ,\n    E_PDB_SYMSRV_BAD_CACHE_PATH ,\n    E_PDB_SYMSRV_CACHE_FULL     ,\n    E_PDB_MAX\n};\n\n//\n// Errors in finding dynamically loaded dlls or functions.\n//\nenum\n{\n    DIA_E_MODNOTFOUND = E_PDB_MAX+1,\n    DIA_E_PROCNOTFOUND,\n};\n\n#define PROPERTY_RW(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] type NewVal)\n\n#define PROPERTY_ARRAY_RW(type, itype, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [in] type NewVal)\n\n#define PROPERTY_RO(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal) \n\n#define PROPERTY_ARRAY_RO(type, itype, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [out, retval] type * pRetVal)\n\n// type of callback arg to IDiaDataSource::loadDataForExe\ntypedef void (__cdecl *PfnPDBDebugDirV)(BOOL, /*const struct _IMAGE_DEBUG_DIRECTORY * */ void*);\n\n\ninterface IDiaSession;\ninterface IDiaEnumTables;\n\ninterface IDiaSymbol;\ninterface IDiaSourceFile;\ninterface IDiaLineNumber;\ninterface IDiaInjectedSource;\ninterface IDiaSegment;\ninterface IDiaSectionContrib;\ninterface IDiaFrameData;\ninterface IDiaLVarInstance;\ninterface IDiaStackWalkHelper;\ninterface IDiaStackFrame;\n\n[\n    object,\n    uuid(C32ADB82-73F4-421b-95D5-A4706EDF5DBE),\n    local,\n    helpstring(\"IDiaLoadCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaLoadCallback: IUnknown\n{\n    HRESULT NotifyDebugDir(\n                [in] BOOL fExecutable, \n                [in] DWORD cbData,\n                [in, size_is(cbData)] BYTE *pbData); // really a const struct _IMAGE_DEBUG_DIRECTORY *\n\n    HRESULT NotifyOpenDBG(\n                [in] LPCOLESTR dbgPath, \n                [in] HRESULT resultCode);\n\n    HRESULT NotifyOpenPDB(\n                [in] LPCOLESTR pdbPath, \n                [in] HRESULT resultCode);\n\n    HRESULT RestrictRegistryAccess();         // return hr != S_OK to prevent querying the registry for symbol search paths\n    HRESULT RestrictSymbolServerAccess();     // return hr != S_OK to prevent accessing a symbol server\n}\n\n[\n    object,\n    uuid(4688a074-5a4d-4486-aea8-7b90711d9f7c),\n    local,\n    helpstring(\"IDiaLoadCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaLoadCallback2: IDiaLoadCallback\n{\n    HRESULT RestrictOriginalPathAccess();     // return hr != S_OK to prevent looking up PDB specified in the debug directory\n    HRESULT RestrictReferencePathAccess();    // return hr != S_OK to prevent looking up for PDB where the EXE is located.\n    HRESULT RestrictDBGAccess();              // return hr != S_OK to prevent looking up debug information from DBG files.\n    HRESULT RestrictSystemRootAccess();       // return hr != S_OK to prevent looking up PDBs in system root\n}\n\n[\n    object,\n    uuid(587A461C-B80B-4f54-9194-5032589A6319),\n    local,\n    helpstring(\"IDiaReadExeAtOffsetCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtOffsetCallback: IUnknown\n{    \n    HRESULT ReadExecutableAt(\n                [in] DWORDLONG fileOffset, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData)] BYTE *pbData);\n\n}\n\n[\n    object,\n    uuid(8E3F80CA-7517-432a-BA07-285134AAEA8E),\n    local,\n    helpstring(\"IDiaReadExeAtRVACallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtRVACallback: IUnknown\n{    \n    HRESULT ReadExecutableAtRVA(\n                [in] DWORD relativeVirtualAddress, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData)] BYTE *pbData);\n}\n\n[\n    object,\n    uuid(79F1BB5F-B66E-48e5-B6A9-1545C323CA3D),\n    local,\n    helpstring(\"IDiaDataSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaDataSource: IUnknown\n{\n    PROPERTY_RO( BSTR, lastError, 1, \"Text for last load error.\" );\n\n    //\n    // loadDataFromPdb\n    //\n   HRESULT loadDataFromPdb(\n               [in] LPCOLESTR pdbPath );\n\n    //\n    // loadAndValidateDataFromPdb\n    //\n   HRESULT loadAndValidateDataFromPdb(\n               [in] LPCOLESTR pdbPath,\n               [in] GUID* pcsig70,\n               [in] DWORD sig,\n               [in] DWORD age );\n\n    //\n    // loadDataForExe\n    //\n    HRESULT loadDataForExe(\n               [in] LPCOLESTR executable,\n               [in] LPCOLESTR searchPath,\n               [in] IUnknown* pCallback );\n\n    //\n    // loadDataFromIStream\n    //\n    HRESULT loadDataFromIStream(\n                [in] IStream *pIStream );\n\n\n    HRESULT openSession( \n                [out] IDiaSession** ppSession \n                );\n}\n\n[\n    object,\n    uuid(CAB72C48-443B-48f5-9B0B-42F0820AB29A),\n    local,\n    helpstring(\"IDiaEnumSymbols Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbols: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSymbols.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of symbols.\" );\n\n    [id(0), helpstring(\"Return the symbol for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSymbol **symbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbols **ppenum);\n}\n\n[\n    object,\n    uuid(624B7D9C-24EA-4421-9D06-3B577471C1FA),\n    local,\n    helpstring(\"IDiaEnumSymbolsByAddr Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbolsByAddr: IUnknown\n{\n    //\n    // Item(ByXxx) re-positions the enumerator to the item found\n    //\n    [helpstring(\"Return the symbol for the given address.\")]\n    HRESULT symbolByAddr(\n        [in] DWORD isect, \n        [in] DWORD offset, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given relative virtual address.\")]\n    HRESULT symbolByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given virtual address.\")]\n    HRESULT symbolByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Prev(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbolsByAddr **ppenum);\n}\n\n[\n    object,\n    uuid(10F3DBD9-664F-4469-B808-9471C7A50538),\n    local,\n    helpstring(\"IDiaEnumSourceFiles Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSourceFiles: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSourceFiles.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of source files.\" );\n\n    [id(0), helpstring(\"Return the source file for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSourceFile **sourceFile);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSourceFile ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSourceFiles **ppenum);\n}\n\n[\n    object,\n    uuid(FE30E878-54AC-44f1-81BA-39DE940F6052),\n    local,\n    helpstring(\"IDiaEnumLineNumbers Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumLineNumbers: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumLineNumbers.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of line numbers.\" );\n\n    [id(0), helpstring(\"Return the line number for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaLineNumber **lineNumber);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaLineNumber ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumLineNumbers **ppenum);\n}\n\n[\n    object,\n    uuid(D5612573-6925-4468-8883-98CDEC8C384A),\n    local,\n    helpstring(\"IDiaEnumInjectedSources Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumInjectedSources: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumInjectedSources.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of injected source files.\" );\n\n    [id(0), helpstring(\"Return the injected source for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaInjectedSource **injectedSource);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaInjectedSource ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumInjectedSources **ppenum);\n}\n\n[\n    object,\n    uuid(E8368CA9-01D1-419d-AC0C-E31235DBDA9F),\n    local,\n    helpstring(\"IDiaEnumSegments Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSegments: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSegments.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of segments.\" );\n\n    [id(0), helpstring(\"Return the segment for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSegment **segment);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSegment ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSegments **ppenum);\n}\n\n[\n    object,\n    uuid(1994DEB2-2C82-4b1d-A57F-AFF424D54A68),\n    local,\n    helpstring(\"IDiaEnumSectionContribs Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSectionContribs: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSectionContribs.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of section contributions.\" );\n\n    [id(0), helpstring(\"Return the section contribution for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSectionContrib **section);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSectionContrib ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSectionContribs **ppenum);\n}\n\n[\n    object,\n    uuid(9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F),\n    local,\n    helpstring(\"IDiaEnumFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumFrameData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumFrameData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of frames.\" );\n\n    [id(0), helpstring(\"Return the frame for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaFrameData **frame);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaFrameData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumFrameData **ppenum);\n\n    //\n    // The following two by-address lookups do not reposition the enumeration\n    //\n    [helpstring(\"Return the frame for the given relative virtual address.\")]\n    HRESULT frameByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaFrameData **frame);\n\n    [helpstring(\"Return the frame for the given virtual address.\")]\n    HRESULT frameByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaFrameData **frame);\n}\n\n[\n    object,\n    uuid(486943E8-D187-4a6b-A3C4-291259FFF60D),\n    local,\n    helpstring(\"IDiaEnumDebugStreamData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreamData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreamData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of elements in the stream.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Stream name.\" );\n\n    [id(0), helpstring(\"Return the element for the given index.\")]\n    HRESULT Item(\n            [in] DWORD index, \n            [in] DWORD cbData,\n            [out] DWORD *pcbData,\n            [out, size_is(cbData)] BYTE *pbData\n            );\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [in] DWORD cbData,\n        [out] DWORD *pcbData,\n        [out, size_is(cbData)] BYTE *pbData,\n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreamData **ppenum);\n}\n\n[\n    object,\n    uuid(08CBB41E-47A6-4f87-92F1-1C9C87CED044),\n    local,\n    helpstring(\"IDiaEnumDebugStreams Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreams: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreams.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of streams.\" );\n\n    [id(0), helpstring(\"Return the stream for the given index.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaEnumDebugStreamData **stream);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaEnumDebugStreamData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreams **ppenum);\n}\n\nstruct DiaAddressMapEntry\n{\n    DWORD rva;\n    DWORD rvaTo;\n};\n\n[\n    object,\n    uuid(B62A2E7A-067A-4ea3-B598-04C09717502C),\n    local,\n    helpstring(\"IDiaAddressMap Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaAddressMap: IUnknown\n{\n    PROPERTY_RW( BOOL, addressMapEnabled, 3, \"Enable address translations.\" );\n    PROPERTY_RW( BOOL, relativeVirtualAddressEnabled, 4, \"Enable relative virtual address computations.\");\n    PROPERTY_RW( DWORD, imageAlign, 5, \"Original image alignment.\" );\n\n    HRESULT set_imageHeaders(\n     [in] DWORD cbData,\n     [in, size_is(cbData)] BYTE *pbData,      // actual type is IMAGE_SECTION_HEADER[]\n     [in] BOOL originalHeaders );            // true: headers are original, that is, they match the debug symbols\n                                             // false: headers are current, that is, they match the image\n\n    HRESULT set_addressMap(\n     [in] DWORD cData,          // number of entries in rva map\n     [in, size_is(cData)] struct DiaAddressMapEntry *pData,      // rva map\n     [in] BOOL imageToSymbols );             // true:  map from image to symbols (omapt)\n                                             // false: map from symbols to image (omapf)\n};\n\n[\n    object,\n    uuid(67138B34-79CD-4b42-B74A-A18ADBB799DF),\n    local,\n    helpstring(\"IDiaSession Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSession: IUnknown\n{\n    PROPERTY_RW( ULONGLONG, loadAddress, 1, \"Dll/Exe load address.\" );\n    PROPERTY_RO( IDiaSymbol*, globalScope, 2, \"Global scope (exe) symbol.\" );\n\n    HRESULT getEnumTables( \n        [out] IDiaEnumTables** ppEnumTables );\n    HRESULT getSymbolsByAddr( \n        [out] IDiaEnumSymbolsByAddr** ppEnumbyAddr );\n\n    //\n    // Queries that return sets of symbols\n    //\n    HRESULT findChildren( \n        [in] IDiaSymbol* parent, \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n    HRESULT findSymbolByAddr (\n        [in] DWORD isect,\n        [in] DWORD offset,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVA (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByVA (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByToken (\n        [in] ULONG token,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT symsAreEquiv(\n        [in] IDiaSymbol* symbolA, \n        [in] IDiaSymbol* symbolB );\n    HRESULT symbolById(\n        [in] DWORD id,\n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVAEx (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n    HRESULT findSymbolByVAEx (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n\n    //\n    // Queries that return source file results\n    //\n    HRESULT findFile(\n        [in] IDiaSymbol* pCompiland, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSourceFiles** ppResult );\n    HRESULT findFileById(\n        [in] DWORD uniqueId,\n        [out] IDiaSourceFile** ppResult );\n\n    //\n    // Queries that return line number results\n    //\n    HRESULT findLines( \n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file, \n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByAddr(\n        [in] DWORD seg,\n        [in] DWORD offset,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByRVA(\n        [in] DWORD rva,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByVA(\n        [in] ULONGLONG va,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByLinenum(\n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file,\n        [in] DWORD linenum,\n        [in] DWORD column,\n        [out] IDiaEnumLineNumbers** ppResult );\n\n    //\n    // Queries that return injected source\n    //\n    HRESULT findInjectedSource( \n        [in] LPCOLESTR srcFile, \n        [out] IDiaEnumInjectedSources** ppResult );\n\n    HRESULT getEnumDebugStreams( \n        [out] IDiaEnumDebugStreams** ppEnumDebugStreams );\n};\n\n/*\n *  Table Columns\n *\n *  Symbols - a symbol will have values in some subset of the fields\n */\n[\n    object,\n    uuid(cb787b2f-bd6c-4635-ba52-933126bd2dcd),\n    local,\n    helpstring(\"IDiaSymbol Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSymbol: IUnknown\n{\n    PROPERTY_RO( DWORD, symIndexId, 0, \"Unique symbol identifier.\" );\n    PROPERTY_RO( DWORD, symTag, 1, \"Symbol kind tag.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Name\" );                     \n    PROPERTY_RO( IDiaSymbol*, lexicalParent, 3, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( IDiaSymbol*, classParent, 4, \".\");\n    PROPERTY_RO( IDiaSymbol*, type, 5, \".\");\n    PROPERTY_RO( DWORD, dataKind, 6, \".\");\n    PROPERTY_RO( DWORD, locationType, 7, \".\");\n    PROPERTY_RO( DWORD, addressSection, 8, \".\");\n    PROPERTY_RO( DWORD, addressOffset, 9, \".\");\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 10, \".\");\n    PROPERTY_RO( ULONGLONG, virtualAddress, 11, \".\");\n    PROPERTY_RO( DWORD, registerId, 12, \".\");\n    PROPERTY_RO( LONG, offset, 13, \".\");\n    PROPERTY_RO( ULONGLONG, length, 14, \".\");\n    PROPERTY_RO( DWORD, slot, 15, \".\");\n    PROPERTY_RO( BOOL, volatileType, 16, \".\");\n    PROPERTY_RO( BOOL, constType, 17, \".\");\n    PROPERTY_RO( BOOL, unalignedType, 18, \".\");\n    PROPERTY_RO( DWORD, access, 19, \".\");\n    PROPERTY_RO( BSTR, libraryName, 20, \".\");\n    PROPERTY_RO( DWORD, platform, 21, \".\");\n    PROPERTY_RO( DWORD, language, 22, \".\");\n    PROPERTY_RO( BOOL, editAndContinueEnabled, 23, \".\");\n    PROPERTY_RO( DWORD, frontEndMajor, 24, \".\");\n    PROPERTY_RO( DWORD, frontEndMinor, 25, \".\");\n    PROPERTY_RO( DWORD, frontEndBuild, 26, \".\");\n    PROPERTY_RO( DWORD, backEndMajor, 27, \".\");\n    PROPERTY_RO( DWORD, backEndMinor, 28, \".\");\n    PROPERTY_RO( DWORD, backEndBuild, 29, \".\");\n    PROPERTY_RO( BSTR, sourceFileName, 30, \".\");\n    PROPERTY_RO( BSTR, unused, 31, \".\");\n    PROPERTY_RO( DWORD, thunkOrdinal, 32, \".\");\n    PROPERTY_RO( LONG, thisAdjust, 33, \".\");\n    PROPERTY_RO( DWORD, virtualBaseOffset, 34, \".\");\n    PROPERTY_RO( BOOL, virtual, 35, \".\");\n    PROPERTY_RO( BOOL, intro, 36, \".\");\n    PROPERTY_RO( BOOL, pure, 37, \".\");\n    PROPERTY_RO( DWORD, callingConvention, 38, \".\");\n    PROPERTY_RO( VARIANT, value, 39, \".\");\n    PROPERTY_RO( DWORD, baseType, 40, \".\");\n    PROPERTY_RO( DWORD, token, 41, \".\");\n    PROPERTY_RO( DWORD, timeStamp, 42, \".\");\n    PROPERTY_RO( GUID, guid, 43, \".\");\n    PROPERTY_RO( BSTR, symbolsFileName, 44, \".\");\n    PROPERTY_RO( BOOL, reference, 46, \".\");\n    PROPERTY_RO( DWORD, count, 47, \".\");\n    PROPERTY_RO( DWORD, bitPosition, 49, \".\");\n    PROPERTY_RO( IDiaSymbol*, arrayIndexType, 50, \".\");\n    PROPERTY_RO( BOOL, packed, 51, \".\");\n    PROPERTY_RO( BOOL, constructor, 52, \".\");\n    PROPERTY_RO( BOOL, overloadedOperator, 53, \".\");\n    PROPERTY_RO( BOOL, nested, 54, \".\");\n    PROPERTY_RO( BOOL, hasNestedTypes, 55, \".\");\n    PROPERTY_RO( BOOL, hasAssignmentOperator, 56, \".\");\n    PROPERTY_RO( BOOL, hasCastOperator, 57, \".\");\n    PROPERTY_RO( BOOL, scoped, 58, \".\");\n    PROPERTY_RO( BOOL, virtualBaseClass, 59, \".\");\n    PROPERTY_RO( BOOL, indirectVirtualBaseClass, 60, \".\");\n    PROPERTY_RO( LONG, virtualBasePointerOffset, 61, \".\");\n    PROPERTY_RO( IDiaSymbol*, virtualTableShape, 62, \".\");\n    PROPERTY_RO( DWORD, lexicalParentId, 64, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( DWORD, classParentId, 65, \".\");\n    PROPERTY_RO( DWORD, typeId, 66, \".\");\n    PROPERTY_RO( DWORD, arrayIndexTypeId, 67, \".\");\n    PROPERTY_RO( DWORD, virtualTableShapeId, 68, \".\");\n    PROPERTY_RO( BOOL, code, 69, \"Symbol refers to a code address.\" );\n    PROPERTY_RO( BOOL, function, 70, \"Symbol refers to a function.\" );\n    PROPERTY_RO( BOOL, managed, 71, \"Symbol refers to managed code.\" );\n    PROPERTY_RO( BOOL, msil, 72, \"Symbol refers to MSIL code.\" );\n    PROPERTY_RO( DWORD, virtualBaseDispIndex, 73, \".\");\n    PROPERTY_RO( BSTR, undecoratedName, 74, \".\");\n    PROPERTY_RO( DWORD, age, 75, \"PDB file age.\" );\n    PROPERTY_RO( DWORD, signature, 76, \"Signature.\" ); \n    PROPERTY_RO( BOOL, compilerGenerated, 77, \"Symbol is compiler generated.\" );\n    PROPERTY_RO( BOOL, addressTaken, 78, \"Symbol is address taken.\" );\n    PROPERTY_RO( DWORD, rank, 79, \"Rank of FORTRAN multi-dimension array.\" );\n    PROPERTY_RO( IDiaSymbol*, lowerBound, 80, \"Lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( IDiaSymbol*, upperBound, 81, \"Upper bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, lowerBoundId, 82, \"Symbol Id of the lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, upperBoundId, 83, \"Symbol Id of the upper bound of a FORTRAN array dimension.\");\n\n    HRESULT get_dataBytes(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData)] BYTE *pbData\n        );\n\n    HRESULT findChildren( \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n\n    PROPERTY_RO( DWORD, targetSection, 84, \"Thunk target address section.\");\n    PROPERTY_RO( DWORD, targetOffset, 85, \"Thunk target address offset.\");\n    PROPERTY_RO( DWORD, targetRelativeVirtualAddress, 86, \"Thunk target RVA.\");\n    PROPERTY_RO( ULONGLONG, targetVirtualAddress, 87, \"Thunk target virtual address.\");\n    PROPERTY_RO( DWORD, machineType, 88, \"Target machine type.\" );\n    PROPERTY_RO( DWORD, oemId, 89, \"Identifier of manufacturer.\");\n    PROPERTY_RO( DWORD, oemSymbolId, 90, \"Manufacturer defined custom symbol identifier.\" );\n    HRESULT get_types(\n         [in] DWORD cTypes,\n         [out] DWORD *pcTypes,\n         [out, size_is(cTypes, )] IDiaSymbol**pTypes\n        );\n    HRESULT get_typeIds(\n         [in] DWORD cTypeIds,\n         [out] DWORD *pcTypeIds,\n         [out, size_is(cTypeIds)] DWORD *pdwTypeIds\n        );\n    PROPERTY_RO( IDiaSymbol*, objectPointerType, 91, \"Type of method's object pointer.\" );\n    PROPERTY_RO( DWORD, udtKind, 92, \"Struct, union or class.\");\n    HRESULT get_undecoratedNameEx(\n        [in] DWORD undecorateOptions,\n        [out] BSTR* name\n        );\n\n    HRESULT get_liveLVarInstances(                              // Return instances of live locals at va\n        [in]  ULONGLONG va,                                     // pass 0 to get all possible instances\n        [in]  DWORD cInstances,\n        [out] DWORD *pcInstances,\n        [out] [size_is(cInstances)] IDiaLVarInstance** instances\n        );\n\n    PROPERTY_RO( BOOL, noReturn, 93, \"NoReturn\" );\n    PROPERTY_RO( BOOL, customCallingConvention, 94, \"uses custom calling convention\" );\n    PROPERTY_RO( BOOL, noInline, 95, \"NoInline\" );\n    PROPERTY_RO( BOOL, optimizedCodeDebugInfo, 96, \"has debugging Info for optimized code\" );\n    PROPERTY_RO( BOOL, notReached, 97, \"Unreachable\" );\n    PROPERTY_RO( BOOL, interruptReturn, 98, \"return from interrupt\" );\n    PROPERTY_RO( BOOL, farReturn, 99, \"far return\" );\n    PROPERTY_RO( BOOL, isStatic, 100, \"static function\" );\n    PROPERTY_RO( BOOL, hasDebugInfo, 101, \"hasDebugInfo\" );\n    PROPERTY_RO( BOOL, isLTCG, 102, \"Compiled With LTCG\" );\n    PROPERTY_RO( BOOL, isDataAligned, 103, \"Is it compiled with -Bzalign\" );\n    PROPERTY_RO( BOOL, hasSecurityChecks, 104, \"hasSecurityChecks\" );\n    PROPERTY_RO( BSTR, compilerName, 105, \"compiler name\" );\n    PROPERTY_RO( BOOL, hasAlloca, 106, \"hasAlloca\" );\n    PROPERTY_RO( BOOL, hasSetJump, 107, \"hasSetJump\" );\n    PROPERTY_RO( BOOL, hasLongJump, 108, \"hasLongJump\" );\n    PROPERTY_RO( BOOL, hasInlAsm, 109, \"hasInlineAssembly\" );\n    PROPERTY_RO( BOOL, hasEH, 110, \"hasC++EH\" );\n    PROPERTY_RO( BOOL, hasSEH, 111, \"hasStructuredEH\" );\n    PROPERTY_RO( BOOL, hasEHa, 112, \"hasAsynchronousEH\" );\n    PROPERTY_RO( BOOL, isNaked, 113, \"IsNaked\" );\n    PROPERTY_RO( BOOL, isAggregated, 114, \"isAggregated\" );\n    PROPERTY_RO( BOOL, isSplitted, 115, \"isSplitted\" );\n    PROPERTY_RO( IDiaSymbol *, container, 116, \"container\" );\n    PROPERTY_RO( BOOL, inlSpec, 117, \"WasSpecifiedAsInline\" );\n    PROPERTY_RO( BOOL, noStackOrdering, 118, \"BufferChecksWithoutOrdering\" );\n    PROPERTY_RO( IDiaSymbol *, virtualBaseTableType, 119, \"Type of Virtual Base Offset Table\" );\n    PROPERTY_RO( BOOL, hasManagedCode, 120, \"hasManagedCode\" );\n    PROPERTY_RO( BOOL, isHotpatchable, 121, \"isHotpatchable\" );\n    PROPERTY_RO( BOOL, isCVTCIL, 122, \"isCVTCIL\" );\n    PROPERTY_RO( BOOL, isMSILNetmodule, 123, \"isMSILNetmodule\" );\n    PROPERTY_RO( BOOL, isCTypes, 124, \"isCTypes\" );\n    PROPERTY_RO( BOOL, isStripped, 125, \"isStripped\" );\n};\n\n//\n//  SourceFiles\n//\n[\n    object,\n    uuid(A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD),\n    local,\n    helpstring(\"IDiaSourceFile Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSourceFile: IUnknown\n{\n    PROPERTY_RO( DWORD, uniqueId, 2, \"Unique id for the source file (in this data store).\" );\n    PROPERTY_RO( BSTR, fileName, 3, \".\" );\n    PROPERTY_RO( DWORD, checksumType, 4, \".\" );\n    PROPERTY_RO( IDiaEnumSymbols*, compilands, 5, \".\" );\n\n    HRESULT get_checksum(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData)] BYTE *pbData\n        );\n};\n\n//\n//  LineNumbers\n//\n[\n    object,\n    uuid(B388EB14-BE4D-421d-A8A1-6CF7AB057086),\n    local,\n    helpstring(\"IDiaLineNumber Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaLineNumber: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( IDiaSourceFile*, sourceFile, 2, \".\" );\n    PROPERTY_RO( DWORD, lineNumber, 3, \".\" );\n    PROPERTY_RO( DWORD, lineNumberEnd, 4, \".\" );\n    PROPERTY_RO( DWORD, columnNumber, 5, \".\" );\n    PROPERTY_RO( DWORD, columnNumberEnd, 6, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 8, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 9, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 10, \".\" );\n    PROPERTY_RO( DWORD, length, 11, \".\" );\n    PROPERTY_RO( DWORD, sourceFileId, 12, \".\" );\n    PROPERTY_RO( BOOL, statement, 13, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 14, \".\" );\n};\n\n//\n// SectionContributions\n//\n[\n    object,\n    uuid(0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857),\n    local,\n    helpstring(\"IDiaSectionContrib Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSectionContrib: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, length, 6, \".\" );\n    // 7\n    PROPERTY_RO( BOOL, notPaged, 8, \".\");\n    PROPERTY_RO( BOOL, code, 9, \".\");\n    PROPERTY_RO( BOOL, initializedData, 10, \".\");\n    PROPERTY_RO( BOOL, uninitializedData, 11, \".\");\n    PROPERTY_RO( BOOL, remove, 12, \".\");\n    PROPERTY_RO( BOOL, comdat, 13, \".\");\n    PROPERTY_RO( BOOL, discardable, 14, \".\");\n    PROPERTY_RO( BOOL, notCached, 15, \".\");\n    PROPERTY_RO( BOOL, share, 16, \".\");\n    PROPERTY_RO( BOOL, execute, 17, \".\");\n    PROPERTY_RO( BOOL, read, 18, \".\");\n    PROPERTY_RO( BOOL, write, 19, \".\");\n    PROPERTY_RO( DWORD, dataCrc, 20, \".\" );\n    PROPERTY_RO( DWORD, relocationsCrc, 21, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 22, \".\" );\n    PROPERTY_RO( BOOL, code16bit, 23, \".\");\n};\n\n//\n// SegmentMap\n//\n[\n    object,\n    uuid(0775B784-C75B-4449-848B-B7BD3159545B),\n    local,\n    helpstring(\"IDiaSegment Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSegment: IUnknown\n{\n    PROPERTY_RO( DWORD, frame, 1, \"Frame.\" );\n    PROPERTY_RO( DWORD, offset, 2, \"Offset in physical section.\" );\n    PROPERTY_RO( DWORD, length, 3, \"Length in bytes of segment.\" );\n    PROPERTY_RO( BOOL, read, 4, \"Read allowed.\" );\n    PROPERTY_RO( BOOL, write, 5, \"Write allowed.\" );\n    PROPERTY_RO( BOOL, execute, 6, \"Execute allowed.\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 8, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 9, \".\" );\n};\n\n//\n// InjectedSource\n//\n[\n    object,\n    uuid(AE605CDC-8105-4a23-B710-3259F1E26112),\n    local,\n    helpstring(\"IDiaInjectedSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaInjectedSource: IUnknown\n{\n    PROPERTY_RO( DWORD, crc, 1, \"CRC of source bytes.\" );\n    PROPERTY_RO( ULONGLONG, length, 2, \"Length of source in bytes.\" );\n    PROPERTY_RO( BSTR, filename, 3, \"Source filename.\" );\n    PROPERTY_RO( BSTR, objectFilename, 4, \"Object filename.\" );\n    PROPERTY_RO( BSTR, virtualFilename, 5, \"Virtual filename.\" );\n    PROPERTY_RO( DWORD, sourceCompression, 6, \"Source compression algorithm.\" );\n    HRESULT get_source(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData)] BYTE *pbData\n        );\n};\n\n[\n    object,\n    uuid(0e425a73-3ced-4964-8cf0-a6caf11bd818),\n    local,\n    helpstring(\"IDiaLVarInstance Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaLVarInstance : IUnknown\n{\n    PROPERTY_RO( IDiaSymbol *, symbol, 1, \"Symbols whose instance is defined\" );\n\n    PROPERTY_RO( DWORD, sectionStart, 2, \"Section addrStart\" );\n    PROPERTY_RO( DWORD, offsetStart, 3, \"Offset addrStart\" );\n    PROPERTY_RO( DWORD, rvaStart, 4, \"RVA addrStart\" );\n    PROPERTY_RO( ULONGLONG, vaStart, 5, \"VA addrStart\" );\n\n    PROPERTY_RO( DWORD, rvaEnd, 6, \"RVA addrEnd\" );\n    PROPERTY_RO( DWORD, sectionEnd, 7, \"Section addrEnd\" );\n    PROPERTY_RO( DWORD, offsetEnd, 8, \"Offset addrEnd\" );\n    PROPERTY_RO( ULONGLONG, vaEnd, 9, \"VA addrEnd\" );\n\n    PROPERTY_RO( BSTR, program, 10, \"Program to evaluate the symbol\" );\n\n    HRESULT get_livenessAt(                 // Tells you if the instance is live at va\n        [in] ULONGLONG va,\n        [out] BOOL *pfLive );\n\n    HRESULT get_location(\n        [in]  IDiaStackFrame *pFrame,\n        [out] BOOL *pfLocInRegister,\n        [out] DWORD *pdwRegId,\n        [out] ULONGLONG *pva\n    );\n};\n\n//\n// Errors returned by IDiaFrameData::execute\n//\nenum \n{\n    E_DIA_INPROLOG          // cannot execute stack frame when in prolog\n            =((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(100))) ),\n    E_DIA_SYNTAX,           // error parsing frame program\n    E_DIA_FRAME_ACCESS,     // error accessing registers or memory\n    E_DIA_VALUE,            // error in computer a value (e.g., divide by zero)\n};\n\n\n[\n    object,\n    uuid(97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D),\n    local,\n    helpstring(\"IDiaStackWalkFrame Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkFrame: IUnknown\n{\n    PROPERTY_ARRAY_RW( ULONGLONG, DWORD, registerValue, 1, \"Register value.\" ); \n    HRESULT readMemory( \n         [in] ULONGLONG va,\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData)] BYTE *pbData\n         );\n    HRESULT searchForReturnAddress(\n        [in] IDiaFrameData* frame,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT searchForReturnAddressStart(\n        [in] IDiaFrameData* frame,\n        [in] ULONGLONG startAddress,\n        [out] ULONGLONG* returnAddress\n        );\n};\n\n\n[\n    object,\n    uuid(A39184B7-6A36-42de-8EEC-7DF9F3F59F33),\n    local,\n    helpstring(\"IDiaFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaFrameData: IUnknown\n{\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, lengthBlock, 6, \".\" );\n    PROPERTY_RO( DWORD, lengthLocals, 7, \".\" );\n    PROPERTY_RO( DWORD, lengthParams, 8, \".\" );\n    PROPERTY_RO( DWORD, maxStack, 9, \".\" );\n    PROPERTY_RO( DWORD, lengthProlog, 10, \".\" );\n    PROPERTY_RO( DWORD, lengthSavedRegisters, 11, \".\" );\n    PROPERTY_RO( BSTR, program, 12, \".\" );\n    PROPERTY_RO( BOOL, systemExceptionHandling, 13, \".\" );\n    PROPERTY_RO( BOOL, cplusplusExceptionHandling, 14, \".\" );\n    PROPERTY_RO( BOOL, functionStart, 15, \".\" );\n    PROPERTY_RO( BOOL, allocatesBasePointer, 16, \".\" );\n    PROPERTY_RO( DWORD, type, 17, \".\" );\n    PROPERTY_RO( IDiaFrameData*, functionParent, 18, \"Frame data for enclosing function.\");                  \n\n    HRESULT execute( IDiaStackWalkFrame* frame );\n}\n\n//\n// IDiaImageData\n//\n//      Some debug streams (XDATA, PDATA) contain copies of data also stored in the image. The\n//      stream data objects (IDiaEnumDebugStreamData) can be QI'ed for their IDiaImageData.\n[\n    object,\n    uuid(C8E40ED2-A1D9-4221-8692-3CE661184B44),\n    local,\n    helpstring(\"IDiaImageData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaImageData: IUnknown\n{\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 2, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 3, \".\" );\n    PROPERTY_RO( ULONGLONG, imageBase, 4, \".\" );\n}\n\n//\n// IDiaTable\n//      Supports enumerating the members of the table\n//\n[\n    object,\n    uuid(4A59FB77-ABAC-469b-A30B-9ECC85BFEF14),\n    local,\n    helpstring(\"IDiaTable Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaTable: IEnumUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaTable.\" );\n    PROPERTY_RO( BSTR, name, 1, \"Table name.\" );\n    PROPERTY_RO( LONG, Count, 2, \"Number of table entries.\" );\n\n    [id(0), helpstring(\"Return the table element for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IUnknown **element); // ### IDispatch?\n\n};\n\n[\n    object,\n    uuid(C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E),\n    local,\n    helpstring(\"IDiaEnumTables Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumTables: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumTables.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of tables.\" );\n\n    [id(0), helpstring(\"Return the table for the given index or name.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaTable **table);\n\n    HRESULT Next(\n        ULONG celt,          \n        IDiaTable ** rgelt,   \n        ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumTables **ppenum);\n};\n\n#ifndef MSAGNOSTIC\n[\n    uuid(106173A0-0173-4e5c-84E7-E915422BE997),\n    version(2.0),\n    helpstring(\"dia 2.0 Type Library\")\n]\n#else\n[\n    uuid(7e49f738-1f41-46fd-87c2-badce1ce096c),\n    version(2.0),\n    helpstring(\"intdia 2.0 Type Library\")\n]\n#endif\n\nlibrary Dia2Lib\n{\n\n    importlib(\"stdole2.tlb\");\n    [\n#ifndef MSAGNOSTIC\n        uuid(bce36434-2c24-499e-bf49-8bd99b0eeb68),\n#else\n        uuid(a287f295-608c-485a-942e-b91ec87991fe),\n#endif\n        helpstring(\"DiaSource Class\")\n    ]\n    coclass DiaSource\n    {\n        [default] interface IDiaDataSource;\n    };\n\n    //\n    // DiaSourceAlt - a DiaDataSource object that does not use the system heap. \n    //\n    // A process may either make DiaSourceAlt objects or DiaSource objects, but not both.\n    // When using DiaSourceAlt all returned BSTR's are really LPCOLESTR and should not be \n    // used with other BSTR management routines, in particular they must be released using\n    //      LocalFree( bstr )\n    [\n#ifndef MSAGNOSTIC\n        uuid(1fbd5ec4-b8e4-4d94-9efe-7ccaf9132c98),\n#else\n        uuid(0676f7d4-abc2-4eef-869e-58f1378c86f1),\n#endif\n        helpstring(\"Local Heap DiaSource Class\")\n    ]\n    coclass DiaSourceAlt\n    {\n        [default] interface IDiaDataSource;\n    };\n\n\n    // General stack walking API    \n    [\n#ifndef MSAGNOSTIC\n        uuid(37dfdbcc-40a5-4f4a-8523-123c746d38f0),\n#else\n        uuid(08db23f4-7aa8-4748-a623-858a6d872c2b),\n#endif\n        helpstring(\"General Stackwalk Class\")\n    ]\n    coclass DiaStackWalker\n    {\n        [default] interface IDiaStackWalker;\n    };\n};\n\n//\n// DebugInfoTable\n//\n// Each id identifies an underlying table of debug information \n// \n\nconst LPOLESTR DiaTable_Symbols = L\"Symbols\";\nconst LPOLESTR DiaTable_Sections = L\"Sections\";\nconst LPOLESTR DiaTable_SrcFiles = L\"SourceFiles\";\nconst LPOLESTR DiaTable_LineNums = L\"LineNumbers\";\nconst LPOLESTR DiaTable_SegMap = L\"SegmentMap\";\nconst LPOLESTR DiaTable_Dbg = L\"Dbg\";\nconst LPOLESTR DiaTable_InjSrc = L\"InjectedSource\";\nconst LPOLESTR DiaTable_FrameData = L\"FrameData\";\n\n\n// Generic property broweser interface.\n[\n    object,\n    uuid(9d416f9c-e184-45b2-a4f0-ce517f719e9b),\n    local,\n    helpstring(\"IDiaPropertyStorage Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaPropertyStorage: IUnknown\n{\n\n    HRESULT ReadMultiple(\n        [in] ULONG cpspec,                                       // Count of properties being read\n        [in, size_is(cpspec)] PROPSPEC const *rgpspec,           // Array of the properties to be read\n        [out, size_is(cpspec)]PROPVARIANT *rgvar                 // Array of PVARIANTs containing\n                                                                 // the property values on return\n    );\n\n    HRESULT ReadPropertyNames(\n        [in] ULONG cpropid,                                      // Number of elements in rgpropid\n        [in, size_is( cpropid )] PROPID const  *rgpropid,        // Property identifiers for\n                                                                 // which names are to be retrieved\n        [in,out, size_is( cpropid )] BSTR *rglpwstrName          // Array of returned string names\n    );\n\n    HRESULT Enum(\n        [out] IEnumSTATPROPSTG **ppenum     //Pointer to output variable\n                                            // that receives the IEnumPROPSPEC\n                                            // interface pointer\n    );\n\n    HRESULT ReadDWORD(\n        [in] PROPID id,            // property to be read\n        [out] DWORD* pValue        // the property value on return\n    );\n\n    HRESULT ReadLONG(\n        [in] PROPID id,            // property to be read\n        [out] LONG* pValue         // the property value on return\n    );\n\n    HRESULT ReadBOOL(\n        [in] PROPID id,            // property to be read\n        [out] BOOL* pValue         // the property value on return\n    );\n\n    HRESULT ReadULONGLONG(\n        [in] PROPID id,            // property to be read\n        [out] ULONGLONG* pValue    // the property value on return\n    );\n\n    HRESULT ReadBSTR(\n        [in] PROPID id,            // property to be read\n        [out] BSTR* pValue         // the property value on return\n    );\n}\n\n[\n    object,\n    uuid(5edbc96d-cdd6-4792-afbe-cc89007d9610),\n    local,\n    helpstring(\"IDiaStackFrame Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackFrame: IUnknown\n{\n    PROPERTY_RO( DWORD,     type,                       1,  \"type\" );\n    PROPERTY_RO( ULONGLONG, base,                       2,  \"Base of the stack frame\" );\n    PROPERTY_RO( DWORD,     size,                       3,  \"size of frame in bytes\" );\n    PROPERTY_RO( ULONGLONG, returnAddress,              4,  \"return address of the frame\" );\n    PROPERTY_RO( ULONGLONG, localsBase,                 5,  \"base of locals\" );\n    PROPERTY_RO( DWORD,     lengthLocals,               6,  \"cbLocals\" );\n    PROPERTY_RO( DWORD,     lengthParams,               7,  \"cbParams\" );\n    PROPERTY_RO( DWORD,     lengthProlog,               8,  \"cbProlog\" );\n    PROPERTY_RO( DWORD,     lengthSavedRegisters,       9,  \"cbSavedRegs\" );\n    PROPERTY_RO( BOOL,      systemExceptionHandling,    10, \"fHasSEH\" );\n    PROPERTY_RO( BOOL,      cplusplusExceptionHandling, 11, \"fHasEH\" );\n    PROPERTY_RO( BOOL,      functionStart,              12, \"funcStart\" );\n    PROPERTY_RO( BOOL,      allocatesBasePointer,       13, \"fUsesBP\" );\n    PROPERTY_RO( DWORD,     maxStack,                   14, \"maxStack\" );\n\n    PROPERTY_ARRAY_RO( ULONGLONG, DWORD, registerValue, 15, \"Register value.\" );\n\n    HRESULT get_rawLVarInstanceValue(\n        [in]  IDiaLVarInstance *pInstance,\n        [in]  DWORD cbDataMax,\n        [out] DWORD *pcbData,\n        [out] [size_is(cbDataMax)] BYTE *pbData \n    );\n\n    HRESULT get_lVarInstanceLocation(\n        [in]  IDiaLVarInstance *pInstance,\n        [out] BOOL *pfLocInRegister,\n        [out] DWORD *pdwRegId,\n        [out] ULONGLONG *pva\n    );\n}\n\n[\n    object,\n    uuid(ec9d461d-ce74-4711-a020-7d8f9a1dd255),\n    local,\n    helpstring(\"IDiaEnumStackFrames Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumStackFrames: IUnknown\n{\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaStackFrame ** rgelt,\n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Reset();\n}\n\ntypedef struct {\n    DWORD       ulOffStart;             // offset 1st byte of function code\n    DWORD       cbProcSize;             // # bytes in function\n    DWORD       cdwLocals;              // # bytes in locals/4\n    WORD        cdwParams;              // # bytes in params/4\n    WORD        cdwFlags;               // Following stuff ...\n\n    /*\n    WORD        cbProlog : 8;           // # bytes in prolog\n    WORD        cbRegs   : 3;           // # regs saved\n    WORD        fHasSEH  : 1;           // TRUE if SEH in func\n    WORD        fUseBP   : 1;           // TRUE if EBP has been allocated\n    WORD        reserved : 1;           // reserved for future use\n    WORD        cbFrame  : 2;           // frame type\n    */\n} FPODATA;\n\n[\n    object,\n    uuid(feb0155d-35a8-42d4-8328-bf458f429a3a),\n    local,\n    helpstring(\"IDiaStackWalkHelper Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkHelper: IUnknown\n{\n    PROPERTY_ARRAY_RW( ULONGLONG, DWORD, registerValue, 1, \"Register value.\" );         \n    HRESULT readMemory(                     // Read memory for DIA\n        [in] enum MemoryTypeEnum type,\n        [in] ULONGLONG va,\n        [in] DWORD cbData,\n        [out] DWORD *pcbData,\n        [out, size_is(cbData)] BYTE *pbData\n        );\n    HRESULT searchForReturnAddress(         // search return address for DIA, return E_NOTIMPL to use DIA default\n        [in] IDiaFrameData* frame,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT searchForReturnAddressStart(    // search return address for DIA, return E_NOTIMPL to use DIA default\n        [in] IDiaFrameData* frame,\n        [in] ULONGLONG startAddress,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT frameForVA(                     // Get frame data for this address          \n        [in] ULONGLONG va,\n        [out] IDiaFrameData **ppFrame\n        );\n    HRESULT symbolForVA(                    // Get symbol at this address, must be a SymTagFunctionType!\n        [in] ULONGLONG va,\n        [out] IDiaSymbol **ppSymbol\n        );\n    HRESULT pdataForVA(                      // Get PDATA for this address\n        [in]  ULONGLONG va,\n        [in]  DWORD cbData,\n        [out] DWORD *pcbData,\n        [out, size_is(cbData)] BYTE *pbData\n        );\n    HRESULT imageForVA(                      // Get information about an image\n        [in]  ULONGLONG vaContext,           // An address in the image\n        [out] ULONGLONG *pvaImageStart       // Beginning of the image\n        );\n}\n\n[\n    object,\n    uuid(5485216b-a54c-469f-9670-52b24d5229bb),\n    local,\n    helpstring(\"IDiaStackWalker Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalker: IUnknown\n{\n    HRESULT getEnumFrames(                              // Gives you frame enumerator for x86\n        [in]  IDiaStackWalkHelper *pHelper,\n        [out] IDiaEnumStackFrames **ppEnum\n        );\n\n    HRESULT getEnumFrames2(                             // Gives frame enumerator for processor specified by dwMachineId\n        [in]  enum CV_CPU_TYPE_e cpuid,\n        [in]  IDiaStackWalkHelper *pHelper,\n        [out] IDiaEnumStackFrames **ppEnum\n        );\n}\n\n[\n    object,\n    uuid(8222c490-507b-4bef-b3bd-41dca7b5934c),\n    local,\n    helpstring(\"IDiaStackWalkHelper Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkHelper2 : IDiaStackWalkHelper\n{\n}\n\n[\n    object,\n    uuid(7c185885-a015-4cac-9411-0f4fb39b1f3a),\n    local,\n    helpstring(\"IDiaStackWalker2 Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalker2 : IDiaStackWalker\n{\n}\n"
  },
  {
    "path": "Addition/DIASDK2005/include/cvconst.h",
    "content": "// cvconst.h - codeview constant definitions\n//-----------------------------------------------------------------\n//\n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _CVCONST_H_\n#define _CVCONST_H_\n\n\n\n//      Enumeration for function call type\n\n\ntypedef enum CV_call_e {\n    CV_CALL_NEAR_C      = 0x00, // near right to left push, caller pops stack\n    CV_CALL_FAR_C       = 0x01, // far right to left push, caller pops stack\n    CV_CALL_NEAR_PASCAL = 0x02, // near left to right push, callee pops stack\n    CV_CALL_FAR_PASCAL  = 0x03, // far left to right push, callee pops stack\n    CV_CALL_NEAR_FAST   = 0x04, // near left to right push with regs, callee pops stack\n    CV_CALL_FAR_FAST    = 0x05, // far left to right push with regs, callee pops stack\n    CV_CALL_SKIPPED     = 0x06, // skipped (unused) call index\n    CV_CALL_NEAR_STD    = 0x07, // near standard call\n    CV_CALL_FAR_STD     = 0x08, // far standard call\n    CV_CALL_NEAR_SYS    = 0x09, // near sys call\n    CV_CALL_FAR_SYS     = 0x0a, // far sys call\n    CV_CALL_THISCALL    = 0x0b, // this call (this passed in register)\n    CV_CALL_MIPSCALL    = 0x0c, // Mips call\n    CV_CALL_GENERIC     = 0x0d, // Generic call sequence\n    CV_CALL_ALPHACALL   = 0x0e, // Alpha call\n    CV_CALL_PPCCALL     = 0x0f, // PPC call\n    CV_CALL_SHCALL      = 0x10, // Hitachi SuperH call\n    CV_CALL_ARMCALL     = 0x11, // ARM call\n    CV_CALL_AM33CALL    = 0x12, // AM33 call\n    CV_CALL_TRICALL     = 0x13, // TriCore Call\n    CV_CALL_SH5CALL     = 0x14, // Hitachi SuperH-5 call\n    CV_CALL_M32RCALL    = 0x15, // M32R Call\n    CV_CALL_CLRCALL     = 0x16, // clr call\n    CV_CALL_RESERVED    = 0x17  // first unused call enumeration\n\n    // Do NOT add any more machine specific conventions.  This is to be used for\n    // calling conventions in the source only (e.g. __cdecl, __stdcall).\n} CV_call_e;\n\n\n//      Values for the access protection of class attributes\n\n\ntypedef enum CV_access_e {\n    CV_private   = 1,\n    CV_protected = 2,\n    CV_public    = 3\n} CV_access_e;\n\ntypedef enum THUNK_ORDINAL {\n    THUNK_ORDINAL_NOTYPE,       // standard thunk\n    THUNK_ORDINAL_ADJUSTOR,     // \"this\" adjustor thunk\n    THUNK_ORDINAL_VCALL,        // virtual call thunk\n    THUNK_ORDINAL_PCODE,        // pcode thunk\n    THUNK_ORDINAL_LOAD,         // thunk which loads the address to jump to\n                                //  via unknown means...\n\n // trampoline thunk ordinals   - only for use in Trampoline thunk symbols\n    THUNK_ORDINAL_TRAMP_INCREMENTAL,\n    THUNK_ORDINAL_TRAMP_BRANCHISLAND,\n\n} THUNK_ORDINAL;\n\n\nenum CV_SourceChksum_t {\n    CHKSUM_TYPE_NONE = 0,        // indicates no checksum is available\n    CHKSUM_TYPE_MD5,\n    CHKSUM_TYPE_SHA1\n};\n\n//\n// DIA enums\n//\n\nenum SymTagEnum\n{\n    SymTagNull,\n    SymTagExe,\n    SymTagCompiland,\n    SymTagCompilandDetails,\n    SymTagCompilandEnv,\n    SymTagFunction,\n    SymTagBlock,\n    SymTagData,\n    SymTagAnnotation,\n    SymTagLabel,\n    SymTagPublicSymbol,\n    SymTagUDT,\n    SymTagEnum,\n    SymTagFunctionType,\n    SymTagPointerType,\n    SymTagArrayType,\n    SymTagBaseType,\n    SymTagTypedef,\n    SymTagBaseClass,\n    SymTagFriend,\n    SymTagFunctionArgType,\n    SymTagFuncDebugStart,\n    SymTagFuncDebugEnd,\n    SymTagUsingNamespace,\n    SymTagVTableShape,\n    SymTagVTable,\n    SymTagCustom,\n    SymTagThunk,\n    SymTagCustomType,\n    SymTagManagedType,\n    SymTagDimension,\n    SymTagMax\n};\n\nenum LocationType\n{\n    LocIsNull,\n    LocIsStatic,\n    LocIsTLS,\n    LocIsRegRel,\n    LocIsThisRel,\n    LocIsEnregistered,\n    LocIsBitField,\n    LocIsSlot,\n    LocIsIlRel,\n    LocInMetaData,\n    LocIsConstant,\n    LocTypeMax\n};\n\nenum DataKind\n{\n    DataIsUnknown,\n    DataIsLocal,\n    DataIsStaticLocal,\n    DataIsParam,\n    DataIsObjectPtr,\n    DataIsFileStatic,\n    DataIsGlobal,\n    DataIsMember,\n    DataIsStaticMember,\n    DataIsConstant\n};\n\nenum UdtKind\n{\n    UdtStruct,\n    UdtClass,\n    UdtUnion\n};\n\nenum BasicType\n{\n    btNoType = 0,\n    btVoid = 1,\n    btChar = 2,\n    btWChar = 3,\n    btInt = 6,\n    btUInt = 7,\n    btFloat = 8,\n    btBCD = 9,\n    btBool = 10,\n    btLong = 13,\n    btULong = 14,\n    btCurrency = 25,\n    btDate = 26,\n    btVariant = 27,\n    btComplex = 28,\n    btBit = 29,\n    btBSTR = 30,\n    btHresult = 31\n};\n\n\n//  enum describing the compile flag source language\n\n\ntypedef enum CV_CFL_LANG {\n    CV_CFL_C        = 0x00,\n    CV_CFL_CXX      = 0x01,\n    CV_CFL_FORTRAN  = 0x02,\n    CV_CFL_MASM     = 0x03,\n    CV_CFL_PASCAL   = 0x04,\n    CV_CFL_BASIC    = 0x05,\n    CV_CFL_COBOL    = 0x06,\n    CV_CFL_LINK     = 0x07,\n    CV_CFL_CVTRES   = 0x08,\n    CV_CFL_CVTPGD   = 0x09,\n    CV_CFL_CSHARP   = 0x0A,  // C#\n    CV_CFL_VB       = 0x0B,  // Visual Basic\n    CV_CFL_ILASM    = 0x0C,  // IL (as in CLR) ASM\n    CV_CFL_JAVA     = 0x0D,\n    CV_CFL_JSCRIPT  = 0x0E,\n    CV_CFL_MSIL     = 0x0F,  // Unknown MSIL (LTCG of .NETMODULE)\n} CV_CFL_LANG;\n\n\n//  enum describing target processor\n\n\ntypedef enum CV_CPU_TYPE_e {\n    CV_CFL_8080         = 0x00,\n    CV_CFL_8086         = 0x01,\n    CV_CFL_80286        = 0x02,\n    CV_CFL_80386        = 0x03,\n    CV_CFL_80486        = 0x04,\n    CV_CFL_PENTIUM      = 0x05,\n    CV_CFL_PENTIUMII    = 0x06,\n    CV_CFL_PENTIUMPRO   = CV_CFL_PENTIUMII,\n    CV_CFL_PENTIUMIII   = 0x07,\n    CV_CFL_MIPS         = 0x10,\n    CV_CFL_MIPSR4000    = CV_CFL_MIPS,  // don't break current code\n    CV_CFL_MIPS16       = 0x11,\n    CV_CFL_MIPS32       = 0x12,\n    CV_CFL_MIPS64       = 0x13,\n    CV_CFL_MIPSI        = 0x14,\n    CV_CFL_MIPSII       = 0x15,\n    CV_CFL_MIPSIII      = 0x16,\n    CV_CFL_MIPSIV       = 0x17,\n    CV_CFL_MIPSV        = 0x18,\n    CV_CFL_M68000       = 0x20,\n    CV_CFL_M68010       = 0x21,\n    CV_CFL_M68020       = 0x22,\n    CV_CFL_M68030       = 0x23,\n    CV_CFL_M68040       = 0x24,\n    CV_CFL_ALPHA        = 0x30,\n    CV_CFL_ALPHA_21064  = 0x30,\n    CV_CFL_ALPHA_21164  = 0x31,\n    CV_CFL_ALPHA_21164A = 0x32,\n    CV_CFL_ALPHA_21264  = 0x33,\n    CV_CFL_ALPHA_21364  = 0x34,\n    CV_CFL_PPC601       = 0x40,\n    CV_CFL_PPC603       = 0x41,\n    CV_CFL_PPC604       = 0x42,\n    CV_CFL_PPC620       = 0x43,\n    CV_CFL_PPCFP        = 0x44,\n    CV_CFL_PPCBE        = 0x45,\n    CV_CFL_SH3          = 0x50,\n    CV_CFL_SH3E         = 0x51,\n    CV_CFL_SH3DSP       = 0x52,\n    CV_CFL_SH4          = 0x53,\n    CV_CFL_SHMEDIA      = 0x54,\n    CV_CFL_ARM3         = 0x60,\n    CV_CFL_ARM4         = 0x61,\n    CV_CFL_ARM4T        = 0x62,\n    CV_CFL_ARM5         = 0x63,\n    CV_CFL_ARM5T        = 0x64,\n    CV_CFL_ARM6         = 0x65,\n    CV_CFL_ARM_XMAC     = 0x66,\n    CV_CFL_ARM_WMMX     = 0x67,\n    CV_CFL_OMNI         = 0x70,\n    CV_CFL_IA64         = 0x80,\n    CV_CFL_IA64_1       = 0x80,\n    CV_CFL_IA64_2       = 0x81,\n    CV_CFL_CEE          = 0x90,\n    CV_CFL_AM33         = 0xA0,\n    CV_CFL_M32R         = 0xB0,\n    CV_CFL_TRICORE      = 0xC0,\n    CV_CFL_X64          = 0xD0,\n    CV_CFL_AMD64        = CV_CFL_X64,\n    CV_CFL_EBC          = 0xE0,\n    CV_CFL_THUMB        = 0xF0,\n} CV_CPU_TYPE_e;\n\ntypedef enum CV_HREG_e {\n    // Register subset shared by all processor types,\n    // must not overlap with any of the ranges below, hence the high values\n\n    CV_ALLREG_ERR   =   30000,\n    CV_ALLREG_TEB   =   30001,\n    CV_ALLREG_TIMER =   30002,\n    CV_ALLREG_EFAD1 =   30003,\n    CV_ALLREG_EFAD2 =   30004,\n    CV_ALLREG_EFAD3 =   30005,\n    CV_ALLREG_VFRAME=   30006,\n    CV_ALLREG_HANDLE=   30007,\n    CV_ALLREG_PARAMS=   30008,\n    CV_ALLREG_LOCALS=   30009,\n    CV_ALLREG_TID   =   30010,\n    CV_ALLREG_ENV   =   30011,\n    CV_ALLREG_CMDLN =   30012,\n\n\n    //  Register set for the Intel 80x86 and ix86 processor series\n    //  (plus PCODE registers)\n\n    CV_REG_NONE     =   0,\n    CV_REG_AL       =   1,\n    CV_REG_CL       =   2,\n    CV_REG_DL       =   3,\n    CV_REG_BL       =   4,\n    CV_REG_AH       =   5,\n    CV_REG_CH       =   6,\n    CV_REG_DH       =   7,\n    CV_REG_BH       =   8,\n    CV_REG_AX       =   9,\n    CV_REG_CX       =  10,\n    CV_REG_DX       =  11,\n    CV_REG_BX       =  12,\n    CV_REG_SP       =  13,\n    CV_REG_BP       =  14,\n    CV_REG_SI       =  15,\n    CV_REG_DI       =  16,\n    CV_REG_EAX      =  17,\n    CV_REG_ECX      =  18,\n    CV_REG_EDX      =  19,\n    CV_REG_EBX      =  20,\n    CV_REG_ESP      =  21,\n    CV_REG_EBP      =  22,\n    CV_REG_ESI      =  23,\n    CV_REG_EDI      =  24,\n    CV_REG_ES       =  25,\n    CV_REG_CS       =  26,\n    CV_REG_SS       =  27,\n    CV_REG_DS       =  28,\n    CV_REG_FS       =  29,\n    CV_REG_GS       =  30,\n    CV_REG_IP       =  31,\n    CV_REG_FLAGS    =  32,\n    CV_REG_EIP      =  33,\n    CV_REG_EFLAGS   =  34,\n    CV_REG_TEMP     =  40,          // PCODE Temp\n    CV_REG_TEMPH    =  41,          // PCODE TempH\n    CV_REG_QUOTE    =  42,          // PCODE Quote\n    CV_REG_PCDR3    =  43,          // PCODE reserved\n    CV_REG_PCDR4    =  44,          // PCODE reserved\n    CV_REG_PCDR5    =  45,          // PCODE reserved\n    CV_REG_PCDR6    =  46,          // PCODE reserved\n    CV_REG_PCDR7    =  47,          // PCODE reserved\n    CV_REG_CR0      =  80,          // CR0 -- control registers\n    CV_REG_CR1      =  81,\n    CV_REG_CR2      =  82,\n    CV_REG_CR3      =  83,\n    CV_REG_CR4      =  84,          // Pentium\n    CV_REG_DR0      =  90,          // Debug register\n    CV_REG_DR1      =  91,\n    CV_REG_DR2      =  92,\n    CV_REG_DR3      =  93,\n    CV_REG_DR4      =  94,\n    CV_REG_DR5      =  95,\n    CV_REG_DR6      =  96,\n    CV_REG_DR7      =  97,\n    CV_REG_GDTR     =  110,\n    CV_REG_GDTL     =  111,\n    CV_REG_IDTR     =  112,\n    CV_REG_IDTL     =  113,\n    CV_REG_LDTR     =  114,\n    CV_REG_TR       =  115,\n\n    CV_REG_PSEUDO1  =  116,\n    CV_REG_PSEUDO2  =  117,\n    CV_REG_PSEUDO3  =  118,\n    CV_REG_PSEUDO4  =  119,\n    CV_REG_PSEUDO5  =  120,\n    CV_REG_PSEUDO6  =  121,\n    CV_REG_PSEUDO7  =  122,\n    CV_REG_PSEUDO8  =  123,\n    CV_REG_PSEUDO9  =  124,\n\n    CV_REG_ST0      =  128,\n    CV_REG_ST1      =  129,\n    CV_REG_ST2      =  130,\n    CV_REG_ST3      =  131,\n    CV_REG_ST4      =  132,\n    CV_REG_ST5      =  133,\n    CV_REG_ST6      =  134,\n    CV_REG_ST7      =  135,\n    CV_REG_CTRL     =  136,\n    CV_REG_STAT     =  137,\n    CV_REG_TAG      =  138,\n    CV_REG_FPIP     =  139,\n    CV_REG_FPCS     =  140,\n    CV_REG_FPDO     =  141,\n    CV_REG_FPDS     =  142,\n    CV_REG_ISEM     =  143,\n    CV_REG_FPEIP    =  144,\n    CV_REG_FPEDO    =  145,\n\n    CV_REG_MM0      =  146,\n    CV_REG_MM1      =  147,\n    CV_REG_MM2      =  148,\n    CV_REG_MM3      =  149,\n    CV_REG_MM4      =  150,\n    CV_REG_MM5      =  151,\n    CV_REG_MM6      =  152,\n    CV_REG_MM7      =  153,\n\n    CV_REG_XMM0     =  154, // KATMAI registers\n    CV_REG_XMM1     =  155,\n    CV_REG_XMM2     =  156,\n    CV_REG_XMM3     =  157,\n    CV_REG_XMM4     =  158,\n    CV_REG_XMM5     =  159,\n    CV_REG_XMM6     =  160,\n    CV_REG_XMM7     =  161,\n\n    CV_REG_XMM00    =  162, // KATMAI sub-registers\n    CV_REG_XMM01    =  163,\n    CV_REG_XMM02    =  164,\n    CV_REG_XMM03    =  165,\n    CV_REG_XMM10    =  166,\n    CV_REG_XMM11    =  167,\n    CV_REG_XMM12    =  168,\n    CV_REG_XMM13    =  169,\n    CV_REG_XMM20    =  170,\n    CV_REG_XMM21    =  171,\n    CV_REG_XMM22    =  172,\n    CV_REG_XMM23    =  173,\n    CV_REG_XMM30    =  174,\n    CV_REG_XMM31    =  175,\n    CV_REG_XMM32    =  176,\n    CV_REG_XMM33    =  177,\n    CV_REG_XMM40    =  178,\n    CV_REG_XMM41    =  179,\n    CV_REG_XMM42    =  180,\n    CV_REG_XMM43    =  181,\n    CV_REG_XMM50    =  182,\n    CV_REG_XMM51    =  183,\n    CV_REG_XMM52    =  184,\n    CV_REG_XMM53    =  185,\n    CV_REG_XMM60    =  186,\n    CV_REG_XMM61    =  187,\n    CV_REG_XMM62    =  188,\n    CV_REG_XMM63    =  189,\n    CV_REG_XMM70    =  190,\n    CV_REG_XMM71    =  191,\n    CV_REG_XMM72    =  192,\n    CV_REG_XMM73    =  193,\n\n    CV_REG_XMM0L    =  194,\n    CV_REG_XMM1L    =  195,\n    CV_REG_XMM2L    =  196,\n    CV_REG_XMM3L    =  197,\n    CV_REG_XMM4L    =  198,\n    CV_REG_XMM5L    =  199,\n    CV_REG_XMM6L    =  200,\n    CV_REG_XMM7L    =  201,\n\n    CV_REG_XMM0H    =  202,\n    CV_REG_XMM1H    =  203,\n    CV_REG_XMM2H    =  204,\n    CV_REG_XMM3H    =  205,\n    CV_REG_XMM4H    =  206,\n    CV_REG_XMM5H    =  207,\n    CV_REG_XMM6H    =  208,\n    CV_REG_XMM7H    =  209,\n\n    CV_REG_MXCSR    =  211, // XMM status register\n\n    CV_REG_EDXEAX   =  212, // EDX:EAX pair\n\n    CV_REG_EMM0L    =  220, // XMM sub-registers (WNI integer)\n    CV_REG_EMM1L    =  221,\n    CV_REG_EMM2L    =  222,\n    CV_REG_EMM3L    =  223,\n    CV_REG_EMM4L    =  224,\n    CV_REG_EMM5L    =  225,\n    CV_REG_EMM6L    =  226,\n    CV_REG_EMM7L    =  227,\n\n    CV_REG_EMM0H    =  228,\n    CV_REG_EMM1H    =  229,\n    CV_REG_EMM2H    =  230,\n    CV_REG_EMM3H    =  231,\n    CV_REG_EMM4H    =  232,\n    CV_REG_EMM5H    =  233,\n    CV_REG_EMM6H    =  234,\n    CV_REG_EMM7H    =  235,\n\n    // do not change the order of these regs, first one must be even too\n    CV_REG_MM00     =  236,\n    CV_REG_MM01     =  237,\n    CV_REG_MM10     =  238,\n    CV_REG_MM11     =  239,\n    CV_REG_MM20     =  240,\n    CV_REG_MM21     =  241,\n    CV_REG_MM30     =  242,\n    CV_REG_MM31     =  243,\n    CV_REG_MM40     =  244,\n    CV_REG_MM41     =  245,\n    CV_REG_MM50     =  246,\n    CV_REG_MM51     =  247,\n    CV_REG_MM60     =  248,\n    CV_REG_MM61     =  249,\n    CV_REG_MM70     =  250,\n    CV_REG_MM71     =  251,\n\n    // registers for the 68K processors\n\n    CV_R68_D0       =    0,\n    CV_R68_D1       =    1,\n    CV_R68_D2       =    2,\n    CV_R68_D3       =    3,\n    CV_R68_D4       =    4,\n    CV_R68_D5       =    5,\n    CV_R68_D6       =    6,\n    CV_R68_D7       =    7,\n    CV_R68_A0       =    8,\n    CV_R68_A1       =    9,\n    CV_R68_A2       =   10,\n    CV_R68_A3       =   11,\n    CV_R68_A4       =   12,\n    CV_R68_A5       =   13,\n    CV_R68_A6       =   14,\n    CV_R68_A7       =   15,\n    CV_R68_CCR      =   16,\n    CV_R68_SR       =   17,\n    CV_R68_USP      =   18,\n    CV_R68_MSP      =   19,\n    CV_R68_SFC      =   20,\n    CV_R68_DFC      =   21,\n    CV_R68_CACR     =   22,\n    CV_R68_VBR      =   23,\n    CV_R68_CAAR     =   24,\n    CV_R68_ISP      =   25,\n    CV_R68_PC       =   26,\n    //reserved  27\n    CV_R68_FPCR     =   28,\n    CV_R68_FPSR     =   29,\n    CV_R68_FPIAR    =   30,\n    //reserved  31\n    CV_R68_FP0      =   32,\n    CV_R68_FP1      =   33,\n    CV_R68_FP2      =   34,\n    CV_R68_FP3      =   35,\n    CV_R68_FP4      =   36,\n    CV_R68_FP5      =   37,\n    CV_R68_FP6      =   38,\n    CV_R68_FP7      =   39,\n    //reserved  40\n    CV_R68_MMUSR030 =   41,\n    CV_R68_MMUSR    =   42,\n    CV_R68_URP      =   43,\n    CV_R68_DTT0     =   44,\n    CV_R68_DTT1     =   45,\n    CV_R68_ITT0     =   46,\n    CV_R68_ITT1     =   47,\n    //reserved  50\n    CV_R68_PSR      =   51,\n    CV_R68_PCSR     =   52,\n    CV_R68_VAL      =   53,\n    CV_R68_CRP      =   54,\n    CV_R68_SRP      =   55,\n    CV_R68_DRP      =   56,\n    CV_R68_TC       =   57,\n    CV_R68_AC       =   58,\n    CV_R68_SCC      =   59,\n    CV_R68_CAL      =   60,\n    CV_R68_TT0      =   61,\n    CV_R68_TT1      =   62,\n    //reserved  63\n    CV_R68_BAD0     =   64,\n    CV_R68_BAD1     =   65,\n    CV_R68_BAD2     =   66,\n    CV_R68_BAD3     =   67,\n    CV_R68_BAD4     =   68,\n    CV_R68_BAD5     =   69,\n    CV_R68_BAD6     =   70,\n    CV_R68_BAD7     =   71,\n    CV_R68_BAC0     =   72,\n    CV_R68_BAC1     =   73,\n    CV_R68_BAC2     =   74,\n    CV_R68_BAC3     =   75,\n    CV_R68_BAC4     =   76,\n    CV_R68_BAC5     =   77,\n    CV_R68_BAC6     =   78,\n    CV_R68_BAC7     =   79,\n\n     // Register set for the MIPS 4000\n\n    CV_M4_NOREG     =   CV_REG_NONE,\n\n    CV_M4_IntZERO   =   10,      /* CPU REGISTER */\n    CV_M4_IntAT     =   11,\n    CV_M4_IntV0     =   12,\n    CV_M4_IntV1     =   13,\n    CV_M4_IntA0     =   14,\n    CV_M4_IntA1     =   15,\n    CV_M4_IntA2     =   16,\n    CV_M4_IntA3     =   17,\n    CV_M4_IntT0     =   18,\n    CV_M4_IntT1     =   19,\n    CV_M4_IntT2     =   20,\n    CV_M4_IntT3     =   21,\n    CV_M4_IntT4     =   22,\n    CV_M4_IntT5     =   23,\n    CV_M4_IntT6     =   24,\n    CV_M4_IntT7     =   25,\n    CV_M4_IntS0     =   26,\n    CV_M4_IntS1     =   27,\n    CV_M4_IntS2     =   28,\n    CV_M4_IntS3     =   29,\n    CV_M4_IntS4     =   30,\n    CV_M4_IntS5     =   31,\n    CV_M4_IntS6     =   32,\n    CV_M4_IntS7     =   33,\n    CV_M4_IntT8     =   34,\n    CV_M4_IntT9     =   35,\n    CV_M4_IntKT0    =   36,\n    CV_M4_IntKT1    =   37,\n    CV_M4_IntGP     =   38,\n    CV_M4_IntSP     =   39,\n    CV_M4_IntS8     =   40,\n    CV_M4_IntRA     =   41,\n    CV_M4_IntLO     =   42,\n    CV_M4_IntHI     =   43,\n\n    CV_M4_Fir       =   50,\n    CV_M4_Psr       =   51,\n\n    CV_M4_FltF0     =   60,      /* Floating point registers */\n    CV_M4_FltF1     =   61,\n    CV_M4_FltF2     =   62,\n    CV_M4_FltF3     =   63,\n    CV_M4_FltF4     =   64,\n    CV_M4_FltF5     =   65,\n    CV_M4_FltF6     =   66,\n    CV_M4_FltF7     =   67,\n    CV_M4_FltF8     =   68,\n    CV_M4_FltF9     =   69,\n    CV_M4_FltF10    =   70,\n    CV_M4_FltF11    =   71,\n    CV_M4_FltF12    =   72,\n    CV_M4_FltF13    =   73,\n    CV_M4_FltF14    =   74,\n    CV_M4_FltF15    =   75,\n    CV_M4_FltF16    =   76,\n    CV_M4_FltF17    =   77,\n    CV_M4_FltF18    =   78,\n    CV_M4_FltF19    =   79,\n    CV_M4_FltF20    =   80,\n    CV_M4_FltF21    =   81,\n    CV_M4_FltF22    =   82,\n    CV_M4_FltF23    =   83,\n    CV_M4_FltF24    =   84,\n    CV_M4_FltF25    =   85,\n    CV_M4_FltF26    =   86,\n    CV_M4_FltF27    =   87,\n    CV_M4_FltF28    =   88,\n    CV_M4_FltF29    =   89,\n    CV_M4_FltF30    =   90,\n    CV_M4_FltF31    =   91,\n    CV_M4_FltFsr    =   92,\n\n\n    // Register set for the ALPHA AXP\n\n    CV_ALPHA_NOREG  = CV_REG_NONE,\n\n    CV_ALPHA_FltF0  =   10,   // Floating point registers\n    CV_ALPHA_FltF1  =   11,\n    CV_ALPHA_FltF2  =   12,\n    CV_ALPHA_FltF3  =   13,\n    CV_ALPHA_FltF4  =   14,\n    CV_ALPHA_FltF5  =   15,\n    CV_ALPHA_FltF6  =   16,\n    CV_ALPHA_FltF7  =   17,\n    CV_ALPHA_FltF8  =   18,\n    CV_ALPHA_FltF9  =   19,\n    CV_ALPHA_FltF10 =   20,\n    CV_ALPHA_FltF11 =   21,\n    CV_ALPHA_FltF12 =   22,\n    CV_ALPHA_FltF13 =   23,\n    CV_ALPHA_FltF14 =   24,\n    CV_ALPHA_FltF15 =   25,\n    CV_ALPHA_FltF16 =   26,\n    CV_ALPHA_FltF17 =   27,\n    CV_ALPHA_FltF18 =   28,\n    CV_ALPHA_FltF19 =   29,\n    CV_ALPHA_FltF20 =   30,\n    CV_ALPHA_FltF21 =   31,\n    CV_ALPHA_FltF22 =   32,\n    CV_ALPHA_FltF23 =   33,\n    CV_ALPHA_FltF24 =   34,\n    CV_ALPHA_FltF25 =   35,\n    CV_ALPHA_FltF26 =   36,\n    CV_ALPHA_FltF27 =   37,\n    CV_ALPHA_FltF28 =   38,\n    CV_ALPHA_FltF29 =   39,\n    CV_ALPHA_FltF30 =   40,\n    CV_ALPHA_FltF31 =   41,\n\n    CV_ALPHA_IntV0  =   42,   // Integer registers\n    CV_ALPHA_IntT0  =   43,\n    CV_ALPHA_IntT1  =   44,\n    CV_ALPHA_IntT2  =   45,\n    CV_ALPHA_IntT3  =   46,\n    CV_ALPHA_IntT4  =   47,\n    CV_ALPHA_IntT5  =   48,\n    CV_ALPHA_IntT6  =   49,\n    CV_ALPHA_IntT7  =   50,\n    CV_ALPHA_IntS0  =   51,\n    CV_ALPHA_IntS1  =   52,\n    CV_ALPHA_IntS2  =   53,\n    CV_ALPHA_IntS3  =   54,\n    CV_ALPHA_IntS4  =   55,\n    CV_ALPHA_IntS5  =   56,\n    CV_ALPHA_IntFP  =   57,\n    CV_ALPHA_IntA0  =   58,\n    CV_ALPHA_IntA1  =   59,\n    CV_ALPHA_IntA2  =   60,\n    CV_ALPHA_IntA3  =   61,\n    CV_ALPHA_IntA4  =   62,\n    CV_ALPHA_IntA5  =   63,\n    CV_ALPHA_IntT8  =   64,\n    CV_ALPHA_IntT9  =   65,\n    CV_ALPHA_IntT10 =   66,\n    CV_ALPHA_IntT11 =   67,\n    CV_ALPHA_IntRA  =   68,\n    CV_ALPHA_IntT12 =   69,\n    CV_ALPHA_IntAT  =   70,\n    CV_ALPHA_IntGP  =   71,\n    CV_ALPHA_IntSP  =   72,\n    CV_ALPHA_IntZERO =  73,\n\n\n    CV_ALPHA_Fpcr   =   74,   // Control registers\n    CV_ALPHA_Fir    =   75,\n    CV_ALPHA_Psr    =   76,\n    CV_ALPHA_FltFsr =   77,\n    CV_ALPHA_SoftFpcr =   78,\n\n    // Register Set for Motorola/IBM PowerPC\n\n    /*\n    ** PowerPC General Registers ( User Level )\n    */\n    CV_PPC_GPR0     =  1,\n    CV_PPC_GPR1     =  2,\n    CV_PPC_GPR2     =  3,\n    CV_PPC_GPR3     =  4,\n    CV_PPC_GPR4     =  5,\n    CV_PPC_GPR5     =  6,\n    CV_PPC_GPR6     =  7,\n    CV_PPC_GPR7     =  8,\n    CV_PPC_GPR8     =  9,\n    CV_PPC_GPR9     = 10,\n    CV_PPC_GPR10    = 11,\n    CV_PPC_GPR11    = 12,\n    CV_PPC_GPR12    = 13,\n    CV_PPC_GPR13    = 14,\n    CV_PPC_GPR14    = 15,\n    CV_PPC_GPR15    = 16,\n    CV_PPC_GPR16    = 17,\n    CV_PPC_GPR17    = 18,\n    CV_PPC_GPR18    = 19,\n    CV_PPC_GPR19    = 20,\n    CV_PPC_GPR20    = 21,\n    CV_PPC_GPR21    = 22,\n    CV_PPC_GPR22    = 23,\n    CV_PPC_GPR23    = 24,\n    CV_PPC_GPR24    = 25,\n    CV_PPC_GPR25    = 26,\n    CV_PPC_GPR26    = 27,\n    CV_PPC_GPR27    = 28,\n    CV_PPC_GPR28    = 29,\n    CV_PPC_GPR29    = 30,\n    CV_PPC_GPR30    = 31,\n    CV_PPC_GPR31    = 32,\n\n    /*\n    ** PowerPC Condition Register ( User Level )\n    */\n    CV_PPC_CR       = 33,\n    CV_PPC_CR0      = 34,\n    CV_PPC_CR1      = 35,\n    CV_PPC_CR2      = 36,\n    CV_PPC_CR3      = 37,\n    CV_PPC_CR4      = 38,\n    CV_PPC_CR5      = 39,\n    CV_PPC_CR6      = 40,\n    CV_PPC_CR7      = 41,\n\n    /*\n    ** PowerPC Floating Point Registers ( User Level )\n    */\n    CV_PPC_FPR0     = 42,\n    CV_PPC_FPR1     = 43,\n    CV_PPC_FPR2     = 44,\n    CV_PPC_FPR3     = 45,\n    CV_PPC_FPR4     = 46,\n    CV_PPC_FPR5     = 47,\n    CV_PPC_FPR6     = 48,\n    CV_PPC_FPR7     = 49,\n    CV_PPC_FPR8     = 50,\n    CV_PPC_FPR9     = 51,\n    CV_PPC_FPR10    = 52,\n    CV_PPC_FPR11    = 53,\n    CV_PPC_FPR12    = 54,\n    CV_PPC_FPR13    = 55,\n    CV_PPC_FPR14    = 56,\n    CV_PPC_FPR15    = 57,\n    CV_PPC_FPR16    = 58,\n    CV_PPC_FPR17    = 59,\n    CV_PPC_FPR18    = 60,\n    CV_PPC_FPR19    = 61,\n    CV_PPC_FPR20    = 62,\n    CV_PPC_FPR21    = 63,\n    CV_PPC_FPR22    = 64,\n    CV_PPC_FPR23    = 65,\n    CV_PPC_FPR24    = 66,\n    CV_PPC_FPR25    = 67,\n    CV_PPC_FPR26    = 68,\n    CV_PPC_FPR27    = 69,\n    CV_PPC_FPR28    = 70,\n    CV_PPC_FPR29    = 71,\n    CV_PPC_FPR30    = 72,\n    CV_PPC_FPR31    = 73,\n\n    /*\n    ** PowerPC Floating Point Status and Control Register ( User Level )\n    */\n    CV_PPC_FPSCR    = 74,\n\n    /*\n    ** PowerPC Machine State Register ( Supervisor Level )\n    */\n    CV_PPC_MSR      = 75,\n\n    /*\n    ** PowerPC Segment Registers ( Supervisor Level )\n    */\n    CV_PPC_SR0      = 76,\n    CV_PPC_SR1      = 77,\n    CV_PPC_SR2      = 78,\n    CV_PPC_SR3      = 79,\n    CV_PPC_SR4      = 80,\n    CV_PPC_SR5      = 81,\n    CV_PPC_SR6      = 82,\n    CV_PPC_SR7      = 83,\n    CV_PPC_SR8      = 84,\n    CV_PPC_SR9      = 85,\n    CV_PPC_SR10     = 86,\n    CV_PPC_SR11     = 87,\n    CV_PPC_SR12     = 88,\n    CV_PPC_SR13     = 89,\n    CV_PPC_SR14     = 90,\n    CV_PPC_SR15     = 91,\n\n    /*\n    ** For all of the special purpose registers add 100 to the SPR# that the\n    ** Motorola/IBM documentation gives with the exception of any imaginary\n    ** registers.\n    */\n\n    /*\n    ** PowerPC Special Purpose Registers ( User Level )\n    */\n    CV_PPC_PC       = 99,     // PC (imaginary register)\n\n    CV_PPC_MQ       = 100,    // MPC601\n    CV_PPC_XER      = 101,\n    CV_PPC_RTCU     = 104,    // MPC601\n    CV_PPC_RTCL     = 105,    // MPC601\n    CV_PPC_LR       = 108,\n    CV_PPC_CTR      = 109,\n\n    CV_PPC_COMPARE  = 110,    // part of XER (internal to the debugger only)\n    CV_PPC_COUNT    = 111,    // part of XER (internal to the debugger only)\n\n    /*\n    ** PowerPC Special Purpose Registers ( Supervisor Level )\n    */\n    CV_PPC_DSISR    = 118,\n    CV_PPC_DAR      = 119,\n    CV_PPC_DEC      = 122,\n    CV_PPC_SDR1     = 125,\n    CV_PPC_SRR0     = 126,\n    CV_PPC_SRR1     = 127,\n    CV_PPC_SPRG0    = 372,\n    CV_PPC_SPRG1    = 373,\n    CV_PPC_SPRG2    = 374,\n    CV_PPC_SPRG3    = 375,\n    CV_PPC_ASR      = 280,    // 64-bit implementations only\n    CV_PPC_EAR      = 382,\n    CV_PPC_PVR      = 287,\n    CV_PPC_BAT0U    = 628,\n    CV_PPC_BAT0L    = 629,\n    CV_PPC_BAT1U    = 630,\n    CV_PPC_BAT1L    = 631,\n    CV_PPC_BAT2U    = 632,\n    CV_PPC_BAT2L    = 633,\n    CV_PPC_BAT3U    = 634,\n    CV_PPC_BAT3L    = 635,\n    CV_PPC_DBAT0U   = 636,\n    CV_PPC_DBAT0L   = 637,\n    CV_PPC_DBAT1U   = 638,\n    CV_PPC_DBAT1L   = 639,\n    CV_PPC_DBAT2U   = 640,\n    CV_PPC_DBAT2L   = 641,\n    CV_PPC_DBAT3U   = 642,\n    CV_PPC_DBAT3L   = 643,\n\n    /*\n    ** PowerPC Special Purpose Registers Implementation Dependent ( Supervisor Level )\n    */\n\n    /*\n    ** Doesn't appear that IBM/Motorola has finished defining these.\n    */\n\n    CV_PPC_PMR0     = 1044,   // MPC620,\n    CV_PPC_PMR1     = 1045,   // MPC620,\n    CV_PPC_PMR2     = 1046,   // MPC620,\n    CV_PPC_PMR3     = 1047,   // MPC620,\n    CV_PPC_PMR4     = 1048,   // MPC620,\n    CV_PPC_PMR5     = 1049,   // MPC620,\n    CV_PPC_PMR6     = 1050,   // MPC620,\n    CV_PPC_PMR7     = 1051,   // MPC620,\n    CV_PPC_PMR8     = 1052,   // MPC620,\n    CV_PPC_PMR9     = 1053,   // MPC620,\n    CV_PPC_PMR10    = 1054,   // MPC620,\n    CV_PPC_PMR11    = 1055,   // MPC620,\n    CV_PPC_PMR12    = 1056,   // MPC620,\n    CV_PPC_PMR13    = 1057,   // MPC620,\n    CV_PPC_PMR14    = 1058,   // MPC620,\n    CV_PPC_PMR15    = 1059,   // MPC620,\n\n    CV_PPC_DMISS    = 1076,   // MPC603\n    CV_PPC_DCMP     = 1077,   // MPC603\n    CV_PPC_HASH1    = 1078,   // MPC603\n    CV_PPC_HASH2    = 1079,   // MPC603\n    CV_PPC_IMISS    = 1080,   // MPC603\n    CV_PPC_ICMP     = 1081,   // MPC603\n    CV_PPC_RPA      = 1082,   // MPC603\n\n    CV_PPC_HID0     = 1108,   // MPC601, MPC603, MPC620\n    CV_PPC_HID1     = 1109,   // MPC601\n    CV_PPC_HID2     = 1110,   // MPC601, MPC603, MPC620 ( IABR )\n    CV_PPC_HID3     = 1111,   // Not Defined\n    CV_PPC_HID4     = 1112,   // Not Defined\n    CV_PPC_HID5     = 1113,   // MPC601, MPC604, MPC620 ( DABR )\n    CV_PPC_HID6     = 1114,   // Not Defined\n    CV_PPC_HID7     = 1115,   // Not Defined\n    CV_PPC_HID8     = 1116,   // MPC620 ( BUSCSR )\n    CV_PPC_HID9     = 1117,   // MPC620 ( L2CSR )\n    CV_PPC_HID10    = 1118,   // Not Defined\n    CV_PPC_HID11    = 1119,   // Not Defined\n    CV_PPC_HID12    = 1120,   // Not Defined\n    CV_PPC_HID13    = 1121,   // MPC604 ( HCR )\n    CV_PPC_HID14    = 1122,   // Not Defined\n    CV_PPC_HID15    = 1123,   // MPC601, MPC604, MPC620 ( PIR )\n\n    //\n    // JAVA VM registers\n    //\n\n    CV_JAVA_PC      = 1,\n\n    //\n    // Register set for the Hitachi SH3\n    //\n\n    CV_SH3_NOREG    =   CV_REG_NONE,\n\n    CV_SH3_IntR0    =   10,   // CPU REGISTER\n    CV_SH3_IntR1    =   11,\n    CV_SH3_IntR2    =   12,\n    CV_SH3_IntR3    =   13,\n    CV_SH3_IntR4    =   14,\n    CV_SH3_IntR5    =   15,\n    CV_SH3_IntR6    =   16,\n    CV_SH3_IntR7    =   17,\n    CV_SH3_IntR8    =   18,\n    CV_SH3_IntR9    =   19,\n    CV_SH3_IntR10   =   20,\n    CV_SH3_IntR11   =   21,\n    CV_SH3_IntR12   =   22,\n    CV_SH3_IntR13   =   23,\n    CV_SH3_IntFp    =   24,\n    CV_SH3_IntSp    =   25,\n    CV_SH3_Gbr      =   38,\n    CV_SH3_Pr       =   39,\n    CV_SH3_Mach     =   40,\n    CV_SH3_Macl     =   41,\n\n    CV_SH3_Pc       =   50,\n    CV_SH3_Sr       =   51,\n\n    CV_SH3_BarA     =   60,\n    CV_SH3_BasrA    =   61,\n    CV_SH3_BamrA    =   62,\n    CV_SH3_BbrA     =   63,\n    CV_SH3_BarB     =   64,\n    CV_SH3_BasrB    =   65,\n    CV_SH3_BamrB    =   66,\n    CV_SH3_BbrB     =   67,\n    CV_SH3_BdrB     =   68,\n    CV_SH3_BdmrB    =   69,\n    CV_SH3_Brcr     =   70,\n\n    //\n    // Additional registers for Hitachi SH processors\n    //\n\n    CV_SH_Fpscr    =   75,    // floating point status/control register\n    CV_SH_Fpul     =   76,    // floating point communication register\n\n    CV_SH_FpR0     =   80,    // Floating point registers\n    CV_SH_FpR1     =   81,\n    CV_SH_FpR2     =   82,\n    CV_SH_FpR3     =   83,\n    CV_SH_FpR4     =   84,\n    CV_SH_FpR5     =   85,\n    CV_SH_FpR6     =   86,\n    CV_SH_FpR7     =   87,\n    CV_SH_FpR8     =   88,\n    CV_SH_FpR9     =   89,\n    CV_SH_FpR10    =   90,\n    CV_SH_FpR11    =   91,\n    CV_SH_FpR12    =   92,\n    CV_SH_FpR13    =   93,\n    CV_SH_FpR14    =   94,\n    CV_SH_FpR15    =   95,\n\n    CV_SH_XFpR0    =   96,\n    CV_SH_XFpR1    =   97,\n    CV_SH_XFpR2    =   98,\n    CV_SH_XFpR3    =   99,\n    CV_SH_XFpR4    =  100,\n    CV_SH_XFpR5    =  101,\n    CV_SH_XFpR6    =  102,\n    CV_SH_XFpR7    =  103,\n    CV_SH_XFpR8    =  104,\n    CV_SH_XFpR9    =  105,\n    CV_SH_XFpR10   =  106,\n    CV_SH_XFpR11   =  107,\n    CV_SH_XFpR12   =  108,\n    CV_SH_XFpR13   =  109,\n    CV_SH_XFpR14   =  110,\n    CV_SH_XFpR15   =  111,\n\n    //\n    // Register set for the ARM processor.\n    //\n\n    CV_ARM_NOREG    =   CV_REG_NONE,\n\n    CV_ARM_R0       =   10,\n    CV_ARM_R1       =   11,\n    CV_ARM_R2       =   12,\n    CV_ARM_R3       =   13,\n    CV_ARM_R4       =   14,\n    CV_ARM_R5       =   15,\n    CV_ARM_R6       =   16,\n    CV_ARM_R7       =   17,\n    CV_ARM_R8       =   18,\n    CV_ARM_R9       =   19,\n    CV_ARM_R10      =   20,\n    CV_ARM_R11      =   21, // Frame pointer, if allocated\n    CV_ARM_R12      =   22,\n    CV_ARM_SP       =   23, // Stack pointer\n    CV_ARM_LR       =   24, // Link Register\n    CV_ARM_PC       =   25, // Program counter\n    CV_ARM_CPSR     =   26, // Current program status register\n\n    //\n    // Register set for Intel IA64\n    //\n\n    CV_IA64_NOREG   =   CV_REG_NONE,\n\n    // Branch Registers\n\n    CV_IA64_Br0     =   512,\n    CV_IA64_Br1     =   513,\n    CV_IA64_Br2     =   514,\n    CV_IA64_Br3     =   515,\n    CV_IA64_Br4     =   516,\n    CV_IA64_Br5     =   517,\n    CV_IA64_Br6     =   518,\n    CV_IA64_Br7     =   519,\n\n    // Predicate Registers\n\n    CV_IA64_P0    =   704,\n    CV_IA64_P1    =   705,\n    CV_IA64_P2    =   706,\n    CV_IA64_P3    =   707,\n    CV_IA64_P4    =   708,\n    CV_IA64_P5    =   709,\n    CV_IA64_P6    =   710,\n    CV_IA64_P7    =   711,\n    CV_IA64_P8    =   712,\n    CV_IA64_P9    =   713,\n    CV_IA64_P10   =   714,\n    CV_IA64_P11   =   715,\n    CV_IA64_P12   =   716,\n    CV_IA64_P13   =   717,\n    CV_IA64_P14   =   718,\n    CV_IA64_P15   =   719,\n    CV_IA64_P16   =   720,\n    CV_IA64_P17   =   721,\n    CV_IA64_P18   =   722,\n    CV_IA64_P19   =   723,\n    CV_IA64_P20   =   724,\n    CV_IA64_P21   =   725,\n    CV_IA64_P22   =   726,\n    CV_IA64_P23   =   727,\n    CV_IA64_P24   =   728,\n    CV_IA64_P25   =   729,\n    CV_IA64_P26   =   730,\n    CV_IA64_P27   =   731,\n    CV_IA64_P28   =   732,\n    CV_IA64_P29   =   733,\n    CV_IA64_P30   =   734,\n    CV_IA64_P31   =   735,\n    CV_IA64_P32   =   736,\n    CV_IA64_P33   =   737,\n    CV_IA64_P34   =   738,\n    CV_IA64_P35   =   739,\n    CV_IA64_P36   =   740,\n    CV_IA64_P37   =   741,\n    CV_IA64_P38   =   742,\n    CV_IA64_P39   =   743,\n    CV_IA64_P40   =   744,\n    CV_IA64_P41   =   745,\n    CV_IA64_P42   =   746,\n    CV_IA64_P43   =   747,\n    CV_IA64_P44   =   748,\n    CV_IA64_P45   =   749,\n    CV_IA64_P46   =   750,\n    CV_IA64_P47   =   751,\n    CV_IA64_P48   =   752,\n    CV_IA64_P49   =   753,\n    CV_IA64_P50   =   754,\n    CV_IA64_P51   =   755,\n    CV_IA64_P52   =   756,\n    CV_IA64_P53   =   757,\n    CV_IA64_P54   =   758,\n    CV_IA64_P55   =   759,\n    CV_IA64_P56   =   760,\n    CV_IA64_P57   =   761,\n    CV_IA64_P58   =   762,\n    CV_IA64_P59   =   763,\n    CV_IA64_P60   =   764,\n    CV_IA64_P61   =   765,\n    CV_IA64_P62   =   766,\n    CV_IA64_P63   =   767,\n\n    CV_IA64_Preds   =   768,\n\n    // Banked General Registers\n\n    CV_IA64_IntH0   =   832,\n    CV_IA64_IntH1   =   833,\n    CV_IA64_IntH2   =   834,\n    CV_IA64_IntH3   =   835,\n    CV_IA64_IntH4   =   836,\n    CV_IA64_IntH5   =   837,\n    CV_IA64_IntH6   =   838,\n    CV_IA64_IntH7   =   839,\n    CV_IA64_IntH8   =   840,\n    CV_IA64_IntH9   =   841,\n    CV_IA64_IntH10  =   842,\n    CV_IA64_IntH11  =   843,\n    CV_IA64_IntH12  =   844,\n    CV_IA64_IntH13  =   845,\n    CV_IA64_IntH14  =   846,\n    CV_IA64_IntH15  =   847,\n\n    // Special Registers\n\n    CV_IA64_Ip      =   1016,\n    CV_IA64_Umask   =   1017,\n    CV_IA64_Cfm     =   1018,\n    CV_IA64_Psr     =   1019,\n\n    // Banked General Registers\n\n    CV_IA64_Nats    =   1020,\n    CV_IA64_Nats2   =   1021,\n    CV_IA64_Nats3   =   1022,\n\n    // General-Purpose Registers\n\n    // Integer registers\n    CV_IA64_IntR0   =   1024,\n    CV_IA64_IntR1   =   1025,\n    CV_IA64_IntR2   =   1026,\n    CV_IA64_IntR3   =   1027,\n    CV_IA64_IntR4   =   1028,\n    CV_IA64_IntR5   =   1029,\n    CV_IA64_IntR6   =   1030,\n    CV_IA64_IntR7   =   1031,\n    CV_IA64_IntR8   =   1032,\n    CV_IA64_IntR9   =   1033,\n    CV_IA64_IntR10  =   1034,\n    CV_IA64_IntR11  =   1035,\n    CV_IA64_IntR12  =   1036,\n    CV_IA64_IntR13  =   1037,\n    CV_IA64_IntR14  =   1038,\n    CV_IA64_IntR15  =   1039,\n    CV_IA64_IntR16  =   1040,\n    CV_IA64_IntR17  =   1041,\n    CV_IA64_IntR18  =   1042,\n    CV_IA64_IntR19  =   1043,\n    CV_IA64_IntR20  =   1044,\n    CV_IA64_IntR21  =   1045,\n    CV_IA64_IntR22  =   1046,\n    CV_IA64_IntR23  =   1047,\n    CV_IA64_IntR24  =   1048,\n    CV_IA64_IntR25  =   1049,\n    CV_IA64_IntR26  =   1050,\n    CV_IA64_IntR27  =   1051,\n    CV_IA64_IntR28  =   1052,\n    CV_IA64_IntR29  =   1053,\n    CV_IA64_IntR30  =   1054,\n    CV_IA64_IntR31  =   1055,\n\n    // Register Stack\n    CV_IA64_IntR32  =   1056,\n    CV_IA64_IntR33  =   1057,\n    CV_IA64_IntR34  =   1058,\n    CV_IA64_IntR35  =   1059,\n    CV_IA64_IntR36  =   1060,\n    CV_IA64_IntR37  =   1061,\n    CV_IA64_IntR38  =   1062,\n    CV_IA64_IntR39  =   1063,\n    CV_IA64_IntR40  =   1064,\n    CV_IA64_IntR41  =   1065,\n    CV_IA64_IntR42  =   1066,\n    CV_IA64_IntR43  =   1067,\n    CV_IA64_IntR44  =   1068,\n    CV_IA64_IntR45  =   1069,\n    CV_IA64_IntR46  =   1070,\n    CV_IA64_IntR47  =   1071,\n    CV_IA64_IntR48  =   1072,\n    CV_IA64_IntR49  =   1073,\n    CV_IA64_IntR50  =   1074,\n    CV_IA64_IntR51  =   1075,\n    CV_IA64_IntR52  =   1076,\n    CV_IA64_IntR53  =   1077,\n    CV_IA64_IntR54  =   1078,\n    CV_IA64_IntR55  =   1079,\n    CV_IA64_IntR56  =   1080,\n    CV_IA64_IntR57  =   1081,\n    CV_IA64_IntR58  =   1082,\n    CV_IA64_IntR59  =   1083,\n    CV_IA64_IntR60  =   1084,\n    CV_IA64_IntR61  =   1085,\n    CV_IA64_IntR62  =   1086,\n    CV_IA64_IntR63  =   1087,\n    CV_IA64_IntR64  =   1088,\n    CV_IA64_IntR65  =   1089,\n    CV_IA64_IntR66  =   1090,\n    CV_IA64_IntR67  =   1091,\n    CV_IA64_IntR68  =   1092,\n    CV_IA64_IntR69  =   1093,\n    CV_IA64_IntR70  =   1094,\n    CV_IA64_IntR71  =   1095,\n    CV_IA64_IntR72  =   1096,\n    CV_IA64_IntR73  =   1097,\n    CV_IA64_IntR74  =   1098,\n    CV_IA64_IntR75  =   1099,\n    CV_IA64_IntR76  =   1100,\n    CV_IA64_IntR77  =   1101,\n    CV_IA64_IntR78  =   1102,\n    CV_IA64_IntR79  =   1103,\n    CV_IA64_IntR80  =   1104,\n    CV_IA64_IntR81  =   1105,\n    CV_IA64_IntR82  =   1106,\n    CV_IA64_IntR83  =   1107,\n    CV_IA64_IntR84  =   1108,\n    CV_IA64_IntR85  =   1109,\n    CV_IA64_IntR86  =   1110,\n    CV_IA64_IntR87  =   1111,\n    CV_IA64_IntR88  =   1112,\n    CV_IA64_IntR89  =   1113,\n    CV_IA64_IntR90  =   1114,\n    CV_IA64_IntR91  =   1115,\n    CV_IA64_IntR92  =   1116,\n    CV_IA64_IntR93  =   1117,\n    CV_IA64_IntR94  =   1118,\n    CV_IA64_IntR95  =   1119,\n    CV_IA64_IntR96  =   1120,\n    CV_IA64_IntR97  =   1121,\n    CV_IA64_IntR98  =   1122,\n    CV_IA64_IntR99  =   1123,\n    CV_IA64_IntR100 =   1124,\n    CV_IA64_IntR101 =   1125,\n    CV_IA64_IntR102 =   1126,\n    CV_IA64_IntR103 =   1127,\n    CV_IA64_IntR104 =   1128,\n    CV_IA64_IntR105 =   1129,\n    CV_IA64_IntR106 =   1130,\n    CV_IA64_IntR107 =   1131,\n    CV_IA64_IntR108 =   1132,\n    CV_IA64_IntR109 =   1133,\n    CV_IA64_IntR110 =   1134,\n    CV_IA64_IntR111 =   1135,\n    CV_IA64_IntR112 =   1136,\n    CV_IA64_IntR113 =   1137,\n    CV_IA64_IntR114 =   1138,\n    CV_IA64_IntR115 =   1139,\n    CV_IA64_IntR116 =   1140,\n    CV_IA64_IntR117 =   1141,\n    CV_IA64_IntR118 =   1142,\n    CV_IA64_IntR119 =   1143,\n    CV_IA64_IntR120 =   1144,\n    CV_IA64_IntR121 =   1145,\n    CV_IA64_IntR122 =   1146,\n    CV_IA64_IntR123 =   1147,\n    CV_IA64_IntR124 =   1148,\n    CV_IA64_IntR125 =   1149,\n    CV_IA64_IntR126 =   1150,\n    CV_IA64_IntR127 =   1151,\n\n    // Floating-Point Registers\n\n    // Low Floating Point Registers\n    CV_IA64_FltF0   =   2048,\n    CV_IA64_FltF1   =   2049,\n    CV_IA64_FltF2   =   2050,\n    CV_IA64_FltF3   =   2051,\n    CV_IA64_FltF4   =   2052,\n    CV_IA64_FltF5   =   2053,\n    CV_IA64_FltF6   =   2054,\n    CV_IA64_FltF7   =   2055,\n    CV_IA64_FltF8   =   2056,\n    CV_IA64_FltF9   =   2057,\n    CV_IA64_FltF10  =   2058,\n    CV_IA64_FltF11  =   2059,\n    CV_IA64_FltF12  =   2060,\n    CV_IA64_FltF13  =   2061,\n    CV_IA64_FltF14  =   2062,\n    CV_IA64_FltF15  =   2063,\n    CV_IA64_FltF16  =   2064,\n    CV_IA64_FltF17  =   2065,\n    CV_IA64_FltF18  =   2066,\n    CV_IA64_FltF19  =   2067,\n    CV_IA64_FltF20  =   2068,\n    CV_IA64_FltF21  =   2069,\n    CV_IA64_FltF22  =   2070,\n    CV_IA64_FltF23  =   2071,\n    CV_IA64_FltF24  =   2072,\n    CV_IA64_FltF25  =   2073,\n    CV_IA64_FltF26  =   2074,\n    CV_IA64_FltF27  =   2075,\n    CV_IA64_FltF28  =   2076,\n    CV_IA64_FltF29  =   2077,\n    CV_IA64_FltF30  =   2078,\n    CV_IA64_FltF31  =   2079,\n\n    // High Floating Point Registers\n    CV_IA64_FltF32  =   2080,\n    CV_IA64_FltF33  =   2081,\n    CV_IA64_FltF34  =   2082,\n    CV_IA64_FltF35  =   2083,\n    CV_IA64_FltF36  =   2084,\n    CV_IA64_FltF37  =   2085,\n    CV_IA64_FltF38  =   2086,\n    CV_IA64_FltF39  =   2087,\n    CV_IA64_FltF40  =   2088,\n    CV_IA64_FltF41  =   2089,\n    CV_IA64_FltF42  =   2090,\n    CV_IA64_FltF43  =   2091,\n    CV_IA64_FltF44  =   2092,\n    CV_IA64_FltF45  =   2093,\n    CV_IA64_FltF46  =   2094,\n    CV_IA64_FltF47  =   2095,\n    CV_IA64_FltF48  =   2096,\n    CV_IA64_FltF49  =   2097,\n    CV_IA64_FltF50  =   2098,\n    CV_IA64_FltF51  =   2099,\n    CV_IA64_FltF52  =   2100,\n    CV_IA64_FltF53  =   2101,\n    CV_IA64_FltF54  =   2102,\n    CV_IA64_FltF55  =   2103,\n    CV_IA64_FltF56  =   2104,\n    CV_IA64_FltF57  =   2105,\n    CV_IA64_FltF58  =   2106,\n    CV_IA64_FltF59  =   2107,\n    CV_IA64_FltF60  =   2108,\n    CV_IA64_FltF61  =   2109,\n    CV_IA64_FltF62  =   2110,\n    CV_IA64_FltF63  =   2111,\n    CV_IA64_FltF64  =   2112,\n    CV_IA64_FltF65  =   2113,\n    CV_IA64_FltF66  =   2114,\n    CV_IA64_FltF67  =   2115,\n    CV_IA64_FltF68  =   2116,\n    CV_IA64_FltF69  =   2117,\n    CV_IA64_FltF70  =   2118,\n    CV_IA64_FltF71  =   2119,\n    CV_IA64_FltF72  =   2120,\n    CV_IA64_FltF73  =   2121,\n    CV_IA64_FltF74  =   2122,\n    CV_IA64_FltF75  =   2123,\n    CV_IA64_FltF76  =   2124,\n    CV_IA64_FltF77  =   2125,\n    CV_IA64_FltF78  =   2126,\n    CV_IA64_FltF79  =   2127,\n    CV_IA64_FltF80  =   2128,\n    CV_IA64_FltF81  =   2129,\n    CV_IA64_FltF82  =   2130,\n    CV_IA64_FltF83  =   2131,\n    CV_IA64_FltF84  =   2132,\n    CV_IA64_FltF85  =   2133,\n    CV_IA64_FltF86  =   2134,\n    CV_IA64_FltF87  =   2135,\n    CV_IA64_FltF88  =   2136,\n    CV_IA64_FltF89  =   2137,\n    CV_IA64_FltF90  =   2138,\n    CV_IA64_FltF91  =   2139,\n    CV_IA64_FltF92  =   2140,\n    CV_IA64_FltF93  =   2141,\n    CV_IA64_FltF94  =   2142,\n    CV_IA64_FltF95  =   2143,\n    CV_IA64_FltF96  =   2144,\n    CV_IA64_FltF97  =   2145,\n    CV_IA64_FltF98  =   2146,\n    CV_IA64_FltF99  =   2147,\n    CV_IA64_FltF100 =   2148,\n    CV_IA64_FltF101 =   2149,\n    CV_IA64_FltF102 =   2150,\n    CV_IA64_FltF103 =   2151,\n    CV_IA64_FltF104 =   2152,\n    CV_IA64_FltF105 =   2153,\n    CV_IA64_FltF106 =   2154,\n    CV_IA64_FltF107 =   2155,\n    CV_IA64_FltF108 =   2156,\n    CV_IA64_FltF109 =   2157,\n    CV_IA64_FltF110 =   2158,\n    CV_IA64_FltF111 =   2159,\n    CV_IA64_FltF112 =   2160,\n    CV_IA64_FltF113 =   2161,\n    CV_IA64_FltF114 =   2162,\n    CV_IA64_FltF115 =   2163,\n    CV_IA64_FltF116 =   2164,\n    CV_IA64_FltF117 =   2165,\n    CV_IA64_FltF118 =   2166,\n    CV_IA64_FltF119 =   2167,\n    CV_IA64_FltF120 =   2168,\n    CV_IA64_FltF121 =   2169,\n    CV_IA64_FltF122 =   2170,\n    CV_IA64_FltF123 =   2171,\n    CV_IA64_FltF124 =   2172,\n    CV_IA64_FltF125 =   2173,\n    CV_IA64_FltF126 =   2174,\n    CV_IA64_FltF127 =   2175,\n\n    // Application Registers\n\n    CV_IA64_ApKR0   =   3072,\n    CV_IA64_ApKR1   =   3073,\n    CV_IA64_ApKR2   =   3074,\n    CV_IA64_ApKR3   =   3075,\n    CV_IA64_ApKR4   =   3076,\n    CV_IA64_ApKR5   =   3077,\n    CV_IA64_ApKR6   =   3078,\n    CV_IA64_ApKR7   =   3079,\n    CV_IA64_AR8     =   3080,\n    CV_IA64_AR9     =   3081,\n    CV_IA64_AR10    =   3082,\n    CV_IA64_AR11    =   3083,\n    CV_IA64_AR12    =   3084,\n    CV_IA64_AR13    =   3085,\n    CV_IA64_AR14    =   3086,\n    CV_IA64_AR15    =   3087,\n    CV_IA64_RsRSC   =   3088,\n    CV_IA64_RsBSP   =   3089,\n    CV_IA64_RsBSPSTORE  =   3090,\n    CV_IA64_RsRNAT  =   3091,\n    CV_IA64_AR20    =   3092,\n    CV_IA64_StFCR   =   3093,\n    CV_IA64_AR22    =   3094,\n    CV_IA64_AR23    =   3095,\n    CV_IA64_EFLAG   =   3096,\n    CV_IA64_CSD     =   3097,\n    CV_IA64_SSD     =   3098,\n    CV_IA64_CFLG    =   3099,\n    CV_IA64_StFSR   =   3100,\n    CV_IA64_StFIR   =   3101,\n    CV_IA64_StFDR   =   3102,\n    CV_IA64_AR31    =   3103,\n    CV_IA64_ApCCV   =   3104,\n    CV_IA64_AR33    =   3105,\n    CV_IA64_AR34    =   3106,\n    CV_IA64_AR35    =   3107,\n    CV_IA64_ApUNAT  =   3108,\n    CV_IA64_AR37    =   3109,\n    CV_IA64_AR38    =   3110,\n    CV_IA64_AR39    =   3111,\n    CV_IA64_StFPSR  =   3112,\n    CV_IA64_AR41    =   3113,\n    CV_IA64_AR42    =   3114,\n    CV_IA64_AR43    =   3115,\n    CV_IA64_ApITC   =   3116,\n    CV_IA64_AR45    =   3117,\n    CV_IA64_AR46    =   3118,\n    CV_IA64_AR47    =   3119,\n    CV_IA64_AR48    =   3120,\n    CV_IA64_AR49    =   3121,\n    CV_IA64_AR50    =   3122,\n    CV_IA64_AR51    =   3123,\n    CV_IA64_AR52    =   3124,\n    CV_IA64_AR53    =   3125,\n    CV_IA64_AR54    =   3126,\n    CV_IA64_AR55    =   3127,\n    CV_IA64_AR56    =   3128,\n    CV_IA64_AR57    =   3129,\n    CV_IA64_AR58    =   3130,\n    CV_IA64_AR59    =   3131,\n    CV_IA64_AR60    =   3132,\n    CV_IA64_AR61    =   3133,\n    CV_IA64_AR62    =   3134,\n    CV_IA64_AR63    =   3135,\n    CV_IA64_RsPFS   =   3136,\n    CV_IA64_ApLC    =   3137,\n    CV_IA64_ApEC    =   3138,\n    CV_IA64_AR67    =   3139,\n    CV_IA64_AR68    =   3140,\n    CV_IA64_AR69    =   3141,\n    CV_IA64_AR70    =   3142,\n    CV_IA64_AR71    =   3143,\n    CV_IA64_AR72    =   3144,\n    CV_IA64_AR73    =   3145,\n    CV_IA64_AR74    =   3146,\n    CV_IA64_AR75    =   3147,\n    CV_IA64_AR76    =   3148,\n    CV_IA64_AR77    =   3149,\n    CV_IA64_AR78    =   3150,\n    CV_IA64_AR79    =   3151,\n    CV_IA64_AR80    =   3152,\n    CV_IA64_AR81    =   3153,\n    CV_IA64_AR82    =   3154,\n    CV_IA64_AR83    =   3155,\n    CV_IA64_AR84    =   3156,\n    CV_IA64_AR85    =   3157,\n    CV_IA64_AR86    =   3158,\n    CV_IA64_AR87    =   3159,\n    CV_IA64_AR88    =   3160,\n    CV_IA64_AR89    =   3161,\n    CV_IA64_AR90    =   3162,\n    CV_IA64_AR91    =   3163,\n    CV_IA64_AR92    =   3164,\n    CV_IA64_AR93    =   3165,\n    CV_IA64_AR94    =   3166,\n    CV_IA64_AR95    =   3167,\n    CV_IA64_AR96    =   3168,\n    CV_IA64_AR97    =   3169,\n    CV_IA64_AR98    =   3170,\n    CV_IA64_AR99    =   3171,\n    CV_IA64_AR100   =   3172,\n    CV_IA64_AR101   =   3173,\n    CV_IA64_AR102   =   3174,\n    CV_IA64_AR103   =   3175,\n    CV_IA64_AR104   =   3176,\n    CV_IA64_AR105   =   3177,\n    CV_IA64_AR106   =   3178,\n    CV_IA64_AR107   =   3179,\n    CV_IA64_AR108   =   3180,\n    CV_IA64_AR109   =   3181,\n    CV_IA64_AR110   =   3182,\n    CV_IA64_AR111   =   3183,\n    CV_IA64_AR112   =   3184,\n    CV_IA64_AR113   =   3185,\n    CV_IA64_AR114   =   3186,\n    CV_IA64_AR115   =   3187,\n    CV_IA64_AR116   =   3188,\n    CV_IA64_AR117   =   3189,\n    CV_IA64_AR118   =   3190,\n    CV_IA64_AR119   =   3191,\n    CV_IA64_AR120   =   3192,\n    CV_IA64_AR121   =   3193,\n    CV_IA64_AR122   =   3194,\n    CV_IA64_AR123   =   3195,\n    CV_IA64_AR124   =   3196,\n    CV_IA64_AR125   =   3197,\n    CV_IA64_AR126   =   3198,\n    CV_IA64_AR127   =   3199,\n\n    // CPUID Registers\n\n    CV_IA64_CPUID0  =   3328,\n    CV_IA64_CPUID1  =   3329,\n    CV_IA64_CPUID2  =   3330,\n    CV_IA64_CPUID3  =   3331,\n    CV_IA64_CPUID4  =   3332,\n\n    // Control Registers\n\n    CV_IA64_ApDCR   =   4096,\n    CV_IA64_ApITM   =   4097,\n    CV_IA64_ApIVA   =   4098,\n    CV_IA64_CR3     =   4099,\n    CV_IA64_CR4     =   4100,\n    CV_IA64_CR5     =   4101,\n    CV_IA64_CR6     =   4102,\n    CV_IA64_CR7     =   4103,\n    CV_IA64_ApPTA   =   4104,\n    CV_IA64_ApGPTA  =   4105,\n    CV_IA64_CR10    =   4106,\n    CV_IA64_CR11    =   4107,\n    CV_IA64_CR12    =   4108,\n    CV_IA64_CR13    =   4109,\n    CV_IA64_CR14    =   4110,\n    CV_IA64_CR15    =   4111,\n    CV_IA64_StIPSR  =   4112,\n    CV_IA64_StISR   =   4113,\n    CV_IA64_CR18    =   4114,\n    CV_IA64_StIIP   =   4115,\n    CV_IA64_StIFA   =   4116,\n    CV_IA64_StITIR  =   4117,\n    CV_IA64_StIIPA  =   4118,\n    CV_IA64_StIFS   =   4119,\n    CV_IA64_StIIM   =   4120,\n    CV_IA64_StIHA   =   4121,\n    CV_IA64_CR26    =   4122,\n    CV_IA64_CR27    =   4123,\n    CV_IA64_CR28    =   4124,\n    CV_IA64_CR29    =   4125,\n    CV_IA64_CR30    =   4126,\n    CV_IA64_CR31    =   4127,\n    CV_IA64_CR32    =   4128,\n    CV_IA64_CR33    =   4129,\n    CV_IA64_CR34    =   4130,\n    CV_IA64_CR35    =   4131,\n    CV_IA64_CR36    =   4132,\n    CV_IA64_CR37    =   4133,\n    CV_IA64_CR38    =   4134,\n    CV_IA64_CR39    =   4135,\n    CV_IA64_CR40    =   4136,\n    CV_IA64_CR41    =   4137,\n    CV_IA64_CR42    =   4138,\n    CV_IA64_CR43    =   4139,\n    CV_IA64_CR44    =   4140,\n    CV_IA64_CR45    =   4141,\n    CV_IA64_CR46    =   4142,\n    CV_IA64_CR47    =   4143,\n    CV_IA64_CR48    =   4144,\n    CV_IA64_CR49    =   4145,\n    CV_IA64_CR50    =   4146,\n    CV_IA64_CR51    =   4147,\n    CV_IA64_CR52    =   4148,\n    CV_IA64_CR53    =   4149,\n    CV_IA64_CR54    =   4150,\n    CV_IA64_CR55    =   4151,\n    CV_IA64_CR56    =   4152,\n    CV_IA64_CR57    =   4153,\n    CV_IA64_CR58    =   4154,\n    CV_IA64_CR59    =   4155,\n    CV_IA64_CR60    =   4156,\n    CV_IA64_CR61    =   4157,\n    CV_IA64_CR62    =   4158,\n    CV_IA64_CR63    =   4159,\n    CV_IA64_SaLID   =   4160,\n    CV_IA64_SaIVR   =   4161,\n    CV_IA64_SaTPR   =   4162,\n    CV_IA64_SaEOI   =   4163,\n    CV_IA64_SaIRR0  =   4164,\n    CV_IA64_SaIRR1  =   4165,\n    CV_IA64_SaIRR2  =   4166,\n    CV_IA64_SaIRR3  =   4167,\n    CV_IA64_SaITV   =   4168,\n    CV_IA64_SaPMV   =   4169,\n    CV_IA64_SaCMCV  =   4170,\n    CV_IA64_CR75    =   4171,\n    CV_IA64_CR76    =   4172,\n    CV_IA64_CR77    =   4173,\n    CV_IA64_CR78    =   4174,\n    CV_IA64_CR79    =   4175,\n    CV_IA64_SaLRR0  =   4176,\n    CV_IA64_SaLRR1  =   4177,\n    CV_IA64_CR82    =   4178,\n    CV_IA64_CR83    =   4179,\n    CV_IA64_CR84    =   4180,\n    CV_IA64_CR85    =   4181,\n    CV_IA64_CR86    =   4182,\n    CV_IA64_CR87    =   4183,\n    CV_IA64_CR88    =   4184,\n    CV_IA64_CR89    =   4185,\n    CV_IA64_CR90    =   4186,\n    CV_IA64_CR91    =   4187,\n    CV_IA64_CR92    =   4188,\n    CV_IA64_CR93    =   4189,\n    CV_IA64_CR94    =   4190,\n    CV_IA64_CR95    =   4191,\n    CV_IA64_CR96    =   4192,\n    CV_IA64_CR97    =   4193,\n    CV_IA64_CR98    =   4194,\n    CV_IA64_CR99    =   4195,\n    CV_IA64_CR100   =   4196,\n    CV_IA64_CR101   =   4197,\n    CV_IA64_CR102   =   4198,\n    CV_IA64_CR103   =   4199,\n    CV_IA64_CR104   =   4200,\n    CV_IA64_CR105   =   4201,\n    CV_IA64_CR106   =   4202,\n    CV_IA64_CR107   =   4203,\n    CV_IA64_CR108   =   4204,\n    CV_IA64_CR109   =   4205,\n    CV_IA64_CR110   =   4206,\n    CV_IA64_CR111   =   4207,\n    CV_IA64_CR112   =   4208,\n    CV_IA64_CR113   =   4209,\n    CV_IA64_CR114   =   4210,\n    CV_IA64_CR115   =   4211,\n    CV_IA64_CR116   =   4212,\n    CV_IA64_CR117   =   4213,\n    CV_IA64_CR118   =   4214,\n    CV_IA64_CR119   =   4215,\n    CV_IA64_CR120   =   4216,\n    CV_IA64_CR121   =   4217,\n    CV_IA64_CR122   =   4218,\n    CV_IA64_CR123   =   4219,\n    CV_IA64_CR124   =   4220,\n    CV_IA64_CR125   =   4221,\n    CV_IA64_CR126   =   4222,\n    CV_IA64_CR127   =   4223,\n\n    // Protection Key Registers\n\n    CV_IA64_Pkr0    =   5120,\n    CV_IA64_Pkr1    =   5121,\n    CV_IA64_Pkr2    =   5122,\n    CV_IA64_Pkr3    =   5123,\n    CV_IA64_Pkr4    =   5124,\n    CV_IA64_Pkr5    =   5125,\n    CV_IA64_Pkr6    =   5126,\n    CV_IA64_Pkr7    =   5127,\n    CV_IA64_Pkr8    =   5128,\n    CV_IA64_Pkr9    =   5129,\n    CV_IA64_Pkr10   =   5130,\n    CV_IA64_Pkr11   =   5131,\n    CV_IA64_Pkr12   =   5132,\n    CV_IA64_Pkr13   =   5133,\n    CV_IA64_Pkr14   =   5134,\n    CV_IA64_Pkr15   =   5135,\n\n    // Region Registers\n\n    CV_IA64_Rr0     =   6144,\n    CV_IA64_Rr1     =   6145,\n    CV_IA64_Rr2     =   6146,\n    CV_IA64_Rr3     =   6147,\n    CV_IA64_Rr4     =   6148,\n    CV_IA64_Rr5     =   6149,\n    CV_IA64_Rr6     =   6150,\n    CV_IA64_Rr7     =   6151,\n\n    // Performance Monitor Data Registers\n\n    CV_IA64_PFD0    =   7168,\n    CV_IA64_PFD1    =   7169,\n    CV_IA64_PFD2    =   7170,\n    CV_IA64_PFD3    =   7171,\n    CV_IA64_PFD4    =   7172,\n    CV_IA64_PFD5    =   7173,\n    CV_IA64_PFD6    =   7174,\n    CV_IA64_PFD7    =   7175,\n    CV_IA64_PFD8    =   7176,\n    CV_IA64_PFD9    =   7177,\n    CV_IA64_PFD10   =   7178,\n    CV_IA64_PFD11   =   7179,\n    CV_IA64_PFD12   =   7180,\n    CV_IA64_PFD13   =   7181,\n    CV_IA64_PFD14   =   7182,\n    CV_IA64_PFD15   =   7183,\n    CV_IA64_PFD16   =   7184,\n    CV_IA64_PFD17   =   7185,\n\n    // Performance Monitor Config Registers\n\n    CV_IA64_PFC0    =   7424,\n    CV_IA64_PFC1    =   7425,\n    CV_IA64_PFC2    =   7426,\n    CV_IA64_PFC3    =   7427,\n    CV_IA64_PFC4    =   7428,\n    CV_IA64_PFC5    =   7429,\n    CV_IA64_PFC6    =   7430,\n    CV_IA64_PFC7    =   7431,\n    CV_IA64_PFC8    =   7432,\n    CV_IA64_PFC9    =   7433,\n    CV_IA64_PFC10   =   7434,\n    CV_IA64_PFC11   =   7435,\n    CV_IA64_PFC12   =   7436,\n    CV_IA64_PFC13   =   7437,\n    CV_IA64_PFC14   =   7438,\n    CV_IA64_PFC15   =   7439,\n\n    // Instruction Translation Registers\n\n    CV_IA64_TrI0    =   8192,\n    CV_IA64_TrI1    =   8193,\n    CV_IA64_TrI2    =   8194,\n    CV_IA64_TrI3    =   8195,\n    CV_IA64_TrI4    =   8196,\n    CV_IA64_TrI5    =   8197,\n    CV_IA64_TrI6    =   8198,\n    CV_IA64_TrI7    =   8199,\n\n    // Data Translation Registers\n\n    CV_IA64_TrD0    =   8320,\n    CV_IA64_TrD1    =   8321,\n    CV_IA64_TrD2    =   8322,\n    CV_IA64_TrD3    =   8323,\n    CV_IA64_TrD4    =   8324,\n    CV_IA64_TrD5    =   8325,\n    CV_IA64_TrD6    =   8326,\n    CV_IA64_TrD7    =   8327,\n\n    // Instruction Breakpoint Registers\n\n    CV_IA64_DbI0    =   8448,\n    CV_IA64_DbI1    =   8449,\n    CV_IA64_DbI2    =   8450,\n    CV_IA64_DbI3    =   8451,\n    CV_IA64_DbI4    =   8452,\n    CV_IA64_DbI5    =   8453,\n    CV_IA64_DbI6    =   8454,\n    CV_IA64_DbI7    =   8455,\n\n    // Data Breakpoint Registers\n\n    CV_IA64_DbD0    =   8576,\n    CV_IA64_DbD1    =   8577,\n    CV_IA64_DbD2    =   8578,\n    CV_IA64_DbD3    =   8579,\n    CV_IA64_DbD4    =   8580,\n    CV_IA64_DbD5    =   8581,\n    CV_IA64_DbD6    =   8582,\n    CV_IA64_DbD7    =   8583,\n\n    //\n    // Register set for the TriCore processor.\n    //\n\n    CV_TRI_NOREG    =   CV_REG_NONE,\n\n    // General Purpose Data Registers\n\n    CV_TRI_D0   =   10,\n    CV_TRI_D1   =   11,\n    CV_TRI_D2   =   12,\n    CV_TRI_D3   =   13,\n    CV_TRI_D4   =   14,\n    CV_TRI_D5   =   15,\n    CV_TRI_D6   =   16,\n    CV_TRI_D7   =   17,\n    CV_TRI_D8   =   18,\n    CV_TRI_D9   =   19,\n    CV_TRI_D10  =   20,\n    CV_TRI_D11  =   21,\n    CV_TRI_D12  =   22,\n    CV_TRI_D13  =   23,\n    CV_TRI_D14  =   24,\n    CV_TRI_D15  =   25,\n\n    // General Purpose Address Registers\n\n    CV_TRI_A0   =   26,\n    CV_TRI_A1   =   27,\n    CV_TRI_A2   =   28,\n    CV_TRI_A3   =   29,\n    CV_TRI_A4   =   30,\n    CV_TRI_A5   =   31,\n    CV_TRI_A6   =   32,\n    CV_TRI_A7   =   33,\n    CV_TRI_A8   =   34,\n    CV_TRI_A9   =   35,\n    CV_TRI_A10  =   36,\n    CV_TRI_A11  =   37,\n    CV_TRI_A12  =   38,\n    CV_TRI_A13  =   39,\n    CV_TRI_A14  =   40,\n    CV_TRI_A15  =   41,\n\n    // Extended (64-bit) data registers\n\n    CV_TRI_E0   =   42,\n    CV_TRI_E2   =   43,\n    CV_TRI_E4   =   44,\n    CV_TRI_E6   =   45,\n    CV_TRI_E8   =   46,\n    CV_TRI_E10  =   47,\n    CV_TRI_E12  =   48,\n    CV_TRI_E14  =   49,\n\n    // Extended (64-bit) address registers\n\n    CV_TRI_EA0  =   50,\n    CV_TRI_EA2  =   51,\n    CV_TRI_EA4  =   52,\n    CV_TRI_EA6  =   53,\n    CV_TRI_EA8  =   54,\n    CV_TRI_EA10 =   55,\n    CV_TRI_EA12 =   56,\n    CV_TRI_EA14 =   57,\n\n    CV_TRI_PSW  =   58,\n    CV_TRI_PCXI =   59,\n    CV_TRI_PC   =   60,\n    CV_TRI_FCX  =   61,\n    CV_TRI_LCX  =   62,\n    CV_TRI_ISP  =   63,\n    CV_TRI_ICR  =   64,\n    CV_TRI_BIV  =   65,\n    CV_TRI_BTV  =   66,\n    CV_TRI_SYSCON   =   67,\n    CV_TRI_DPRx_0   =   68,\n    CV_TRI_DPRx_1   =   69,\n    CV_TRI_DPRx_2   =   70,\n    CV_TRI_DPRx_3   =   71,\n    CV_TRI_CPRx_0   =   68,\n    CV_TRI_CPRx_1   =   69,\n    CV_TRI_CPRx_2   =   70,\n    CV_TRI_CPRx_3   =   71,\n    CV_TRI_DPMx_0   =   68,\n    CV_TRI_DPMx_1   =   69,\n    CV_TRI_DPMx_2   =   70,\n    CV_TRI_DPMx_3   =   71,\n    CV_TRI_CPMx_0   =   68,\n    CV_TRI_CPMx_1   =   69,\n    CV_TRI_CPMx_2   =   70,\n    CV_TRI_CPMx_3   =   71,\n    CV_TRI_DBGSSR   =   72,\n    CV_TRI_EXEVT    =   73,\n    CV_TRI_SWEVT    =   74,\n    CV_TRI_CREVT    =   75,\n    CV_TRI_TRnEVT   =   76,\n    CV_TRI_MMUCON   =   77,\n    CV_TRI_ASI      =   78,\n    CV_TRI_TVA      =   79,\n    CV_TRI_TPA      =   80,\n    CV_TRI_TPX      =   81,\n    CV_TRI_TFA      =   82,\n\n    //\n    // Register set for the AM33 and related processors.\n    //\n\n    CV_AM33_NOREG   =   CV_REG_NONE,\n\n    // \"Extended\" (general purpose integer) registers\n    CV_AM33_E0      =   10,\n    CV_AM33_E1      =   11,\n    CV_AM33_E2      =   12,\n    CV_AM33_E3      =   13,\n    CV_AM33_E4      =   14,\n    CV_AM33_E5      =   15,\n    CV_AM33_E6      =   16,\n    CV_AM33_E7      =   17,\n\n    // Address registers\n    CV_AM33_A0      =   20,\n    CV_AM33_A1      =   21,\n    CV_AM33_A2      =   22,\n    CV_AM33_A3      =   23,\n\n    // Integer data registers\n    CV_AM33_D0      =   30,\n    CV_AM33_D1      =   31,\n    CV_AM33_D2      =   32,\n    CV_AM33_D3      =   33,\n\n    // (Single-precision) floating-point registers\n    CV_AM33_FS0     =   40,\n    CV_AM33_FS1     =   41,\n    CV_AM33_FS2     =   42,\n    CV_AM33_FS3     =   43,\n    CV_AM33_FS4     =   44,\n    CV_AM33_FS5     =   45,\n    CV_AM33_FS6     =   46,\n    CV_AM33_FS7     =   47,\n    CV_AM33_FS8     =   48,\n    CV_AM33_FS9     =   49,\n    CV_AM33_FS10    =   50,\n    CV_AM33_FS11    =   51,\n    CV_AM33_FS12    =   52,\n    CV_AM33_FS13    =   53,\n    CV_AM33_FS14    =   54,\n    CV_AM33_FS15    =   55,\n    CV_AM33_FS16    =   56,\n    CV_AM33_FS17    =   57,\n    CV_AM33_FS18    =   58,\n    CV_AM33_FS19    =   59,\n    CV_AM33_FS20    =   60,\n    CV_AM33_FS21    =   61,\n    CV_AM33_FS22    =   62,\n    CV_AM33_FS23    =   63,\n    CV_AM33_FS24    =   64,\n    CV_AM33_FS25    =   65,\n    CV_AM33_FS26    =   66,\n    CV_AM33_FS27    =   67,\n    CV_AM33_FS28    =   68,\n    CV_AM33_FS29    =   69,\n    CV_AM33_FS30    =   70,\n    CV_AM33_FS31    =   71,\n\n    // Special purpose registers\n\n    // Stack pointer\n    CV_AM33_SP      =   80,\n\n    // Program counter\n    CV_AM33_PC      =   81,\n\n    // Multiply-divide/accumulate registers\n    CV_AM33_MDR     =   82,\n    CV_AM33_MDRQ    =   83,\n    CV_AM33_MCRH    =   84,\n    CV_AM33_MCRL    =   85,\n    CV_AM33_MCVF    =   86,\n\n    // CPU status words\n    CV_AM33_EPSW    =   87,\n    CV_AM33_FPCR    =   88,\n\n    // Loop buffer registers\n    CV_AM33_LIR     =   89,\n    CV_AM33_LAR     =   90,\n\n    //\n    // Register set for the Mitsubishi M32R\n    //\n\n    CV_M32R_NOREG    =   CV_REG_NONE,\n\n    CV_M32R_R0    =   10,\n    CV_M32R_R1    =   11,\n    CV_M32R_R2    =   12,\n    CV_M32R_R3    =   13,\n    CV_M32R_R4    =   14,\n    CV_M32R_R5    =   15,\n    CV_M32R_R6    =   16,\n    CV_M32R_R7    =   17,\n    CV_M32R_R8    =   18,\n    CV_M32R_R9    =   19,\n    CV_M32R_R10   =   20,\n    CV_M32R_R11   =   21,\n    CV_M32R_R12   =   22,   // Gloabal Pointer, if used\n    CV_M32R_R13   =   23,   // Frame Pointer, if allocated\n    CV_M32R_R14   =   24,   // Link Register\n    CV_M32R_R15   =   25,   // Stack Pointer\n    CV_M32R_PSW   =   26,   // Preocessor Status Register\n    CV_M32R_CBR   =   27,   // Condition Bit Register\n    CV_M32R_SPI   =   28,   // Interrupt Stack Pointer\n    CV_M32R_SPU   =   29,   // User Stack Pointer\n    CV_M32R_SPO   =   30,   // OS Stack Pointer\n    CV_M32R_BPC   =   31,   // Backup Program Counter\n    CV_M32R_ACHI  =   32,   // Accumulator High\n    CV_M32R_ACLO  =   33,   // Accumulator Low\n    CV_M32R_PC    =   34,   // Program Counter\n\n    //\n    // Register set for the SuperH SHMedia processor including compact\n    // mode\n    //\n\n    // Integer - 64 bit general registers\n    CV_SHMEDIA_NOREG   =   CV_REG_NONE,\n    CV_SHMEDIA_R0      =   10,\n    CV_SHMEDIA_R1      =   11,\n    CV_SHMEDIA_R2      =   12,\n    CV_SHMEDIA_R3      =   13,\n    CV_SHMEDIA_R4      =   14,\n    CV_SHMEDIA_R5      =   15,\n    CV_SHMEDIA_R6      =   16,\n    CV_SHMEDIA_R7      =   17,\n    CV_SHMEDIA_R8      =   18,\n    CV_SHMEDIA_R9      =   19,\n    CV_SHMEDIA_R10     =   20,\n    CV_SHMEDIA_R11     =   21,\n    CV_SHMEDIA_R12     =   22,\n    CV_SHMEDIA_R13     =   23,\n    CV_SHMEDIA_R14     =   24,\n    CV_SHMEDIA_R15     =   25,\n    CV_SHMEDIA_R16     =   26,\n    CV_SHMEDIA_R17     =   27,\n    CV_SHMEDIA_R18     =   28,\n    CV_SHMEDIA_R19     =   29,\n    CV_SHMEDIA_R20     =   30,\n    CV_SHMEDIA_R21     =   31,\n    CV_SHMEDIA_R22     =   32,\n    CV_SHMEDIA_R23     =   33,\n    CV_SHMEDIA_R24     =   34,\n    CV_SHMEDIA_R25     =   35,\n    CV_SHMEDIA_R26     =   36,\n    CV_SHMEDIA_R27     =   37,\n    CV_SHMEDIA_R28     =   38,\n    CV_SHMEDIA_R29     =   39,\n    CV_SHMEDIA_R30     =   40,\n    CV_SHMEDIA_R31     =   41,\n    CV_SHMEDIA_R32     =   42,\n    CV_SHMEDIA_R33     =   43,\n    CV_SHMEDIA_R34     =   44,\n    CV_SHMEDIA_R35     =   45,\n    CV_SHMEDIA_R36     =   46,\n    CV_SHMEDIA_R37     =   47,\n    CV_SHMEDIA_R38     =   48,\n    CV_SHMEDIA_R39     =   49,\n    CV_SHMEDIA_R40     =   50,\n    CV_SHMEDIA_R41     =   51,\n    CV_SHMEDIA_R42     =   52,\n    CV_SHMEDIA_R43     =   53,\n    CV_SHMEDIA_R44     =   54,\n    CV_SHMEDIA_R45     =   55,\n    CV_SHMEDIA_R46     =   56,\n    CV_SHMEDIA_R47     =   57,\n    CV_SHMEDIA_R48     =   58,\n    CV_SHMEDIA_R49     =   59,\n    CV_SHMEDIA_R50     =   60,\n    CV_SHMEDIA_R51     =   61,\n    CV_SHMEDIA_R52     =   62,\n    CV_SHMEDIA_R53     =   63,\n    CV_SHMEDIA_R54     =   64,\n    CV_SHMEDIA_R55     =   65,\n    CV_SHMEDIA_R56     =   66,\n    CV_SHMEDIA_R57     =   67,\n    CV_SHMEDIA_R58     =   68,\n    CV_SHMEDIA_R59     =   69,\n    CV_SHMEDIA_R60     =   70,\n    CV_SHMEDIA_R61     =   71,\n    CV_SHMEDIA_R62     =   72,\n    CV_SHMEDIA_R63     =   73,\n    \n    // Target Registers - 32 bit\n    CV_SHMEDIA_TR0     =   74,\n    CV_SHMEDIA_TR1     =   75,\n    CV_SHMEDIA_TR2     =   76,\n    CV_SHMEDIA_TR3     =   77,\n    CV_SHMEDIA_TR4     =   78,\n    CV_SHMEDIA_TR5     =   79,\n    CV_SHMEDIA_TR6     =   80,\n    CV_SHMEDIA_TR7     =   81,\n    CV_SHMEDIA_TR8     =   82, // future-proof\n    CV_SHMEDIA_TR9     =   83, // future-proof\n    CV_SHMEDIA_TR10    =   84, // future-proof\n    CV_SHMEDIA_TR11    =   85, // future-proof\n    CV_SHMEDIA_TR12    =   86, // future-proof\n    CV_SHMEDIA_TR13    =   87, // future-proof\n    CV_SHMEDIA_TR14    =   88, // future-proof\n    CV_SHMEDIA_TR15    =   89, // future-proof\n\n    // Single - 32 bit fp registers\n    CV_SHMEDIA_FR0     =   128,\n    CV_SHMEDIA_FR1     =   129,\n    CV_SHMEDIA_FR2     =   130,\n    CV_SHMEDIA_FR3     =   131,\n    CV_SHMEDIA_FR4     =   132,\n    CV_SHMEDIA_FR5     =   133,\n    CV_SHMEDIA_FR6     =   134,\n    CV_SHMEDIA_FR7     =   135,\n    CV_SHMEDIA_FR8     =   136,\n    CV_SHMEDIA_FR9     =   137,\n    CV_SHMEDIA_FR10    =   138,\n    CV_SHMEDIA_FR11    =   139,\n    CV_SHMEDIA_FR12    =   140,\n    CV_SHMEDIA_FR13    =   141,\n    CV_SHMEDIA_FR14    =   142,\n    CV_SHMEDIA_FR15    =   143,\n    CV_SHMEDIA_FR16    =   144,\n    CV_SHMEDIA_FR17    =   145,\n    CV_SHMEDIA_FR18    =   146,\n    CV_SHMEDIA_FR19    =   147,\n    CV_SHMEDIA_FR20    =   148,\n    CV_SHMEDIA_FR21    =   149,\n    CV_SHMEDIA_FR22    =   150,\n    CV_SHMEDIA_FR23    =   151,\n    CV_SHMEDIA_FR24    =   152,\n    CV_SHMEDIA_FR25    =   153,\n    CV_SHMEDIA_FR26    =   154,\n    CV_SHMEDIA_FR27    =   155,\n    CV_SHMEDIA_FR28    =   156,\n    CV_SHMEDIA_FR29    =   157,\n    CV_SHMEDIA_FR30    =   158,\n    CV_SHMEDIA_FR31    =   159,\n    CV_SHMEDIA_FR32    =   160,\n    CV_SHMEDIA_FR33    =   161,\n    CV_SHMEDIA_FR34    =   162,\n    CV_SHMEDIA_FR35    =   163,\n    CV_SHMEDIA_FR36    =   164,\n    CV_SHMEDIA_FR37    =   165,\n    CV_SHMEDIA_FR38    =   166,\n    CV_SHMEDIA_FR39    =   167,\n    CV_SHMEDIA_FR40    =   168,\n    CV_SHMEDIA_FR41    =   169,\n    CV_SHMEDIA_FR42    =   170,\n    CV_SHMEDIA_FR43    =   171,\n    CV_SHMEDIA_FR44    =   172,\n    CV_SHMEDIA_FR45    =   173,\n    CV_SHMEDIA_FR46    =   174,\n    CV_SHMEDIA_FR47    =   175,\n    CV_SHMEDIA_FR48    =   176,\n    CV_SHMEDIA_FR49    =   177,\n    CV_SHMEDIA_FR50    =   178,\n    CV_SHMEDIA_FR51    =   179,\n    CV_SHMEDIA_FR52    =   180,\n    CV_SHMEDIA_FR53    =   181,\n    CV_SHMEDIA_FR54    =   182,\n    CV_SHMEDIA_FR55    =   183,\n    CV_SHMEDIA_FR56    =   184,\n    CV_SHMEDIA_FR57    =   185,\n    CV_SHMEDIA_FR58    =   186,\n    CV_SHMEDIA_FR59    =   187,\n    CV_SHMEDIA_FR60    =   188,\n    CV_SHMEDIA_FR61    =   189,\n    CV_SHMEDIA_FR62    =   190,\n    CV_SHMEDIA_FR63    =   191,\n\n    // Double - 64 bit synonyms for 32bit fp register pairs\n    //          subtract 128 to find first base single register\n    CV_SHMEDIA_DR0     =   256,\n    CV_SHMEDIA_DR2     =   258,\n    CV_SHMEDIA_DR4     =   260,\n    CV_SHMEDIA_DR6     =   262,\n    CV_SHMEDIA_DR8     =   264,\n    CV_SHMEDIA_DR10    =   266,\n    CV_SHMEDIA_DR12    =   268,\n    CV_SHMEDIA_DR14    =   270,\n    CV_SHMEDIA_DR16    =   272,\n    CV_SHMEDIA_DR18    =   274,\n    CV_SHMEDIA_DR20    =   276,\n    CV_SHMEDIA_DR22    =   278,\n    CV_SHMEDIA_DR24    =   280,\n    CV_SHMEDIA_DR26    =   282,\n    CV_SHMEDIA_DR28    =   284,\n    CV_SHMEDIA_DR30    =   286,\n    CV_SHMEDIA_DR32    =   288,\n    CV_SHMEDIA_DR34    =   290,\n    CV_SHMEDIA_DR36    =   292,\n    CV_SHMEDIA_DR38    =   294,\n    CV_SHMEDIA_DR40    =   296,\n    CV_SHMEDIA_DR42    =   298,\n    CV_SHMEDIA_DR44    =   300,\n    CV_SHMEDIA_DR46    =   302,\n    CV_SHMEDIA_DR48    =   304,\n    CV_SHMEDIA_DR50    =   306,\n    CV_SHMEDIA_DR52    =   308,\n    CV_SHMEDIA_DR54    =   310,\n    CV_SHMEDIA_DR56    =   312,\n    CV_SHMEDIA_DR58    =   314,\n    CV_SHMEDIA_DR60    =   316,\n    CV_SHMEDIA_DR62    =   318,\n\n    // Vector - 128 bit synonyms for 32bit fp register quads\n    //          subtract 384 to find first base single register\n    CV_SHMEDIA_FV0     =   512,\n    CV_SHMEDIA_FV4     =   516,\n    CV_SHMEDIA_FV8     =   520,\n    CV_SHMEDIA_FV12    =   524,\n    CV_SHMEDIA_FV16    =   528,\n    CV_SHMEDIA_FV20    =   532,\n    CV_SHMEDIA_FV24    =   536,\n    CV_SHMEDIA_FV28    =   540,\n    CV_SHMEDIA_FV32    =   544,\n    CV_SHMEDIA_FV36    =   548,\n    CV_SHMEDIA_FV40    =   552,\n    CV_SHMEDIA_FV44    =   556,\n    CV_SHMEDIA_FV48    =   560,\n    CV_SHMEDIA_FV52    =   564,\n    CV_SHMEDIA_FV56    =   568,\n    CV_SHMEDIA_FV60    =   572,\n\n    // Matrix - 512 bit synonyms for 16 adjacent 32bit fp registers\n    //          subtract 896 to find first base single register\n    CV_SHMEDIA_MTRX0   =   1024,\n    CV_SHMEDIA_MTRX16  =   1040,\n    CV_SHMEDIA_MTRX32  =   1056,\n    CV_SHMEDIA_MTRX48  =   1072,\n\n    // Control - Implementation defined 64bit control registers\n    CV_SHMEDIA_CR0     =   2000,\n    CV_SHMEDIA_CR1     =   2001,\n    CV_SHMEDIA_CR2     =   2002,\n    CV_SHMEDIA_CR3     =   2003,\n    CV_SHMEDIA_CR4     =   2004,\n    CV_SHMEDIA_CR5     =   2005,\n    CV_SHMEDIA_CR6     =   2006,\n    CV_SHMEDIA_CR7     =   2007,\n    CV_SHMEDIA_CR8     =   2008,\n    CV_SHMEDIA_CR9     =   2009,\n    CV_SHMEDIA_CR10    =   2010,\n    CV_SHMEDIA_CR11    =   2011,\n    CV_SHMEDIA_CR12    =   2012,\n    CV_SHMEDIA_CR13    =   2013,\n    CV_SHMEDIA_CR14    =   2014,\n    CV_SHMEDIA_CR15    =   2015,\n    CV_SHMEDIA_CR16    =   2016,\n    CV_SHMEDIA_CR17    =   2017,\n    CV_SHMEDIA_CR18    =   2018,\n    CV_SHMEDIA_CR19    =   2019,\n    CV_SHMEDIA_CR20    =   2020,\n    CV_SHMEDIA_CR21    =   2021,\n    CV_SHMEDIA_CR22    =   2022,\n    CV_SHMEDIA_CR23    =   2023,\n    CV_SHMEDIA_CR24    =   2024,\n    CV_SHMEDIA_CR25    =   2025,\n    CV_SHMEDIA_CR26    =   2026,\n    CV_SHMEDIA_CR27    =   2027,\n    CV_SHMEDIA_CR28    =   2028,\n    CV_SHMEDIA_CR29    =   2029,\n    CV_SHMEDIA_CR30    =   2030,\n    CV_SHMEDIA_CR31    =   2031,\n    CV_SHMEDIA_CR32    =   2032,\n    CV_SHMEDIA_CR33    =   2033,\n    CV_SHMEDIA_CR34    =   2034,\n    CV_SHMEDIA_CR35    =   2035,\n    CV_SHMEDIA_CR36    =   2036,\n    CV_SHMEDIA_CR37    =   2037,\n    CV_SHMEDIA_CR38    =   2038,\n    CV_SHMEDIA_CR39    =   2039,\n    CV_SHMEDIA_CR40    =   2040,\n    CV_SHMEDIA_CR41    =   2041,\n    CV_SHMEDIA_CR42    =   2042,\n    CV_SHMEDIA_CR43    =   2043,\n    CV_SHMEDIA_CR44    =   2044,\n    CV_SHMEDIA_CR45    =   2045,\n    CV_SHMEDIA_CR46    =   2046,\n    CV_SHMEDIA_CR47    =   2047,\n    CV_SHMEDIA_CR48    =   2048,\n    CV_SHMEDIA_CR49    =   2049,\n    CV_SHMEDIA_CR50    =   2050,\n    CV_SHMEDIA_CR51    =   2051,\n    CV_SHMEDIA_CR52    =   2052,\n    CV_SHMEDIA_CR53    =   2053,\n    CV_SHMEDIA_CR54    =   2054,\n    CV_SHMEDIA_CR55    =   2055,\n    CV_SHMEDIA_CR56    =   2056,\n    CV_SHMEDIA_CR57    =   2057,\n    CV_SHMEDIA_CR58    =   2058,\n    CV_SHMEDIA_CR59    =   2059,\n    CV_SHMEDIA_CR60    =   2060,\n    CV_SHMEDIA_CR61    =   2061,\n    CV_SHMEDIA_CR62    =   2062,\n    CV_SHMEDIA_CR63    =   2063,\n\n    CV_SHMEDIA_FPSCR   =   2064,\n\n    // Compact mode synonyms\n    CV_SHMEDIA_GBR     =   CV_SHMEDIA_R16,\n    CV_SHMEDIA_MACL    =   90, // synonym for lower 32bits of media R17\n    CV_SHMEDIA_MACH    =   91, // synonym for upper 32bits of media R17\n    CV_SHMEDIA_PR      =   CV_SHMEDIA_R18,\n    CV_SHMEDIA_T       =   92, // synonym for lowest bit of media R19\n    CV_SHMEDIA_FPUL    =   CV_SHMEDIA_FR32,\n    CV_SHMEDIA_PC      =   93,\n    CV_SHMEDIA_SR      =   CV_SHMEDIA_CR0,\n\n    //\n    // AMD64 registers\n    //\n\n    CV_AMD64_AL       =   1,\n    CV_AMD64_CL       =   2,\n    CV_AMD64_DL       =   3,\n    CV_AMD64_BL       =   4,\n    CV_AMD64_AH       =   5,\n    CV_AMD64_CH       =   6,\n    CV_AMD64_DH       =   7,\n    CV_AMD64_BH       =   8,\n    CV_AMD64_AX       =   9,\n    CV_AMD64_CX       =  10,\n    CV_AMD64_DX       =  11,\n    CV_AMD64_BX       =  12,\n    CV_AMD64_SP       =  13,\n    CV_AMD64_BP       =  14,\n    CV_AMD64_SI       =  15,\n    CV_AMD64_DI       =  16,\n    CV_AMD64_EAX      =  17,\n    CV_AMD64_ECX      =  18,\n    CV_AMD64_EDX      =  19,\n    CV_AMD64_EBX      =  20,\n    CV_AMD64_ESP      =  21,\n    CV_AMD64_EBP      =  22,\n    CV_AMD64_ESI      =  23,\n    CV_AMD64_EDI      =  24,\n    CV_AMD64_ES       =  25,\n    CV_AMD64_CS       =  26,\n    CV_AMD64_SS       =  27,\n    CV_AMD64_DS       =  28,\n    CV_AMD64_FS       =  29,\n    CV_AMD64_GS       =  30,\n    CV_AMD64_FLAGS    =  32,\n    CV_AMD64_RIP      =  33,\n    CV_AMD64_EFLAGS   =  34,\n\n    // Control registers\n    CV_AMD64_CR0      =  80,\n    CV_AMD64_CR1      =  81,\n    CV_AMD64_CR2      =  82,\n    CV_AMD64_CR3      =  83,\n    CV_AMD64_CR4      =  84,\n    CV_AMD64_CR8      =  88,\n\n    // Debug registers\n    CV_AMD64_DR0      =  90,\n    CV_AMD64_DR1      =  91,\n    CV_AMD64_DR2      =  92,\n    CV_AMD64_DR3      =  93,\n    CV_AMD64_DR4      =  94,\n    CV_AMD64_DR5      =  95,\n    CV_AMD64_DR6      =  96,\n    CV_AMD64_DR7      =  97,\n    CV_AMD64_DR8      =  98,\n    CV_AMD64_DR9      =  99,\n    CV_AMD64_DR10     =  100,\n    CV_AMD64_DR11     =  101,\n    CV_AMD64_DR12     =  102,\n    CV_AMD64_DR13     =  103,\n    CV_AMD64_DR14     =  104,\n    CV_AMD64_DR15     =  105,\n\n    CV_AMD64_GDTR     =  110,\n    CV_AMD64_GDTL     =  111,\n    CV_AMD64_IDTR     =  112,\n    CV_AMD64_IDTL     =  113,\n    CV_AMD64_LDTR     =  114,\n    CV_AMD64_TR       =  115,\n\n    CV_AMD64_ST0      =  128,\n    CV_AMD64_ST1      =  129,\n    CV_AMD64_ST2      =  130,\n    CV_AMD64_ST3      =  131,\n    CV_AMD64_ST4      =  132,\n    CV_AMD64_ST5      =  133,\n    CV_AMD64_ST6      =  134,\n    CV_AMD64_ST7      =  135,\n    CV_AMD64_CTRL     =  136,\n    CV_AMD64_STAT     =  137,\n    CV_AMD64_TAG      =  138,\n    CV_AMD64_FPIP     =  139,\n    CV_AMD64_FPCS     =  140,\n    CV_AMD64_FPDO     =  141,\n    CV_AMD64_FPDS     =  142,\n    CV_AMD64_ISEM     =  143,\n    CV_AMD64_FPEIP    =  144,\n    CV_AMD64_FPEDO    =  145,\n\n    CV_AMD64_MM0      =  146,\n    CV_AMD64_MM1      =  147,\n    CV_AMD64_MM2      =  148,\n    CV_AMD64_MM3      =  149,\n    CV_AMD64_MM4      =  150,\n    CV_AMD64_MM5      =  151,\n    CV_AMD64_MM6      =  152,\n    CV_AMD64_MM7      =  153,\n\n    CV_AMD64_XMM0     =  154,   // KATMAI registers\n    CV_AMD64_XMM1     =  155,\n    CV_AMD64_XMM2     =  156,\n    CV_AMD64_XMM3     =  157,\n    CV_AMD64_XMM4     =  158,\n    CV_AMD64_XMM5     =  159,\n    CV_AMD64_XMM6     =  160,\n    CV_AMD64_XMM7     =  161,\n\n    CV_AMD64_XMM0_0   =  162,   // KATMAI sub-registers\n    CV_AMD64_XMM0_1   =  163,\n    CV_AMD64_XMM0_2   =  164,\n    CV_AMD64_XMM0_3   =  165,\n    CV_AMD64_XMM1_0   =  166,\n    CV_AMD64_XMM1_1   =  167,\n    CV_AMD64_XMM1_2   =  168,\n    CV_AMD64_XMM1_3   =  169,\n    CV_AMD64_XMM2_0   =  170,\n    CV_AMD64_XMM2_1   =  171,\n    CV_AMD64_XMM2_2   =  172,\n    CV_AMD64_XMM2_3   =  173,\n    CV_AMD64_XMM3_0   =  174,\n    CV_AMD64_XMM3_1   =  175,\n    CV_AMD64_XMM3_2   =  176,\n    CV_AMD64_XMM3_3   =  177,\n    CV_AMD64_XMM4_0   =  178,\n    CV_AMD64_XMM4_1   =  179,\n    CV_AMD64_XMM4_2   =  180,\n    CV_AMD64_XMM4_3   =  181,\n    CV_AMD64_XMM5_0   =  182,\n    CV_AMD64_XMM5_1   =  183,\n    CV_AMD64_XMM5_2   =  184,\n    CV_AMD64_XMM5_3   =  185,\n    CV_AMD64_XMM6_0   =  186,\n    CV_AMD64_XMM6_1   =  187,\n    CV_AMD64_XMM6_2   =  188,\n    CV_AMD64_XMM6_3   =  189,\n    CV_AMD64_XMM7_0   =  190,\n    CV_AMD64_XMM7_1   =  191,\n    CV_AMD64_XMM7_2   =  192,\n    CV_AMD64_XMM7_3   =  193,\n\n    CV_AMD64_XMM0L    =  194,\n    CV_AMD64_XMM1L    =  195,\n    CV_AMD64_XMM2L    =  196,\n    CV_AMD64_XMM3L    =  197,\n    CV_AMD64_XMM4L    =  198,\n    CV_AMD64_XMM5L    =  199,\n    CV_AMD64_XMM6L    =  200,\n    CV_AMD64_XMM7L    =  201,\n\n    CV_AMD64_XMM0H    =  202,\n    CV_AMD64_XMM1H    =  203,\n    CV_AMD64_XMM2H    =  204,\n    CV_AMD64_XMM3H    =  205,\n    CV_AMD64_XMM4H    =  206,\n    CV_AMD64_XMM5H    =  207,\n    CV_AMD64_XMM6H    =  208,\n    CV_AMD64_XMM7H    =  209,\n\n    CV_AMD64_MXCSR    =  211,   // XMM status register\n\n    CV_AMD64_EMM0L    =  220,   // XMM sub-registers (WNI integer)\n    CV_AMD64_EMM1L    =  221,\n    CV_AMD64_EMM2L    =  222,\n    CV_AMD64_EMM3L    =  223,\n    CV_AMD64_EMM4L    =  224,\n    CV_AMD64_EMM5L    =  225,\n    CV_AMD64_EMM6L    =  226,\n    CV_AMD64_EMM7L    =  227,\n\n    CV_AMD64_EMM0H    =  228,\n    CV_AMD64_EMM1H    =  229,\n    CV_AMD64_EMM2H    =  230,\n    CV_AMD64_EMM3H    =  231,\n    CV_AMD64_EMM4H    =  232,\n    CV_AMD64_EMM5H    =  233,\n    CV_AMD64_EMM6H    =  234,\n    CV_AMD64_EMM7H    =  235,\n\n    // do not change the order of these regs, first one must be even too\n    CV_AMD64_MM00     =  236,\n    CV_AMD64_MM01     =  237,\n    CV_AMD64_MM10     =  238,\n    CV_AMD64_MM11     =  239,\n    CV_AMD64_MM20     =  240,\n    CV_AMD64_MM21     =  241,\n    CV_AMD64_MM30     =  242,\n    CV_AMD64_MM31     =  243,\n    CV_AMD64_MM40     =  244,\n    CV_AMD64_MM41     =  245,\n    CV_AMD64_MM50     =  246,\n    CV_AMD64_MM51     =  247,\n    CV_AMD64_MM60     =  248,\n    CV_AMD64_MM61     =  249,\n    CV_AMD64_MM70     =  250,\n    CV_AMD64_MM71     =  251,\n\n    // Extended KATMAI registers\n    CV_AMD64_XMM8     =  252,   // KATMAI registers\n    CV_AMD64_XMM9     =  253,\n    CV_AMD64_XMM10    =  254,\n    CV_AMD64_XMM11    =  255,\n    CV_AMD64_XMM12    =  256,\n    CV_AMD64_XMM13    =  257,\n    CV_AMD64_XMM14    =  258,\n    CV_AMD64_XMM15    =  259,\n\n    CV_AMD64_XMM8_0   =  260,   // KATMAI sub-registers\n    CV_AMD64_XMM8_1   =  261,\n    CV_AMD64_XMM8_2   =  262,\n    CV_AMD64_XMM8_3   =  263,\n    CV_AMD64_XMM9_0   =  264,\n    CV_AMD64_XMM9_1   =  265,\n    CV_AMD64_XMM9_2   =  266,\n    CV_AMD64_XMM9_3   =  267,\n    CV_AMD64_XMM10_0  =  268,\n    CV_AMD64_XMM10_1  =  269,\n    CV_AMD64_XMM10_2  =  270,\n    CV_AMD64_XMM10_3  =  271,\n    CV_AMD64_XMM11_0  =  272,\n    CV_AMD64_XMM11_1  =  273,\n    CV_AMD64_XMM11_2  =  274,\n    CV_AMD64_XMM11_3  =  275,\n    CV_AMD64_XMM12_0  =  276,\n    CV_AMD64_XMM12_1  =  277,\n    CV_AMD64_XMM12_2  =  278,\n    CV_AMD64_XMM12_3  =  279,\n    CV_AMD64_XMM13_0  =  280,\n    CV_AMD64_XMM13_1  =  281,\n    CV_AMD64_XMM13_2  =  282,\n    CV_AMD64_XMM13_3  =  283,\n    CV_AMD64_XMM14_0  =  284,\n    CV_AMD64_XMM14_1  =  285,\n    CV_AMD64_XMM14_2  =  286,\n    CV_AMD64_XMM14_3  =  287,\n    CV_AMD64_XMM15_0  =  288,\n    CV_AMD64_XMM15_1  =  289,\n    CV_AMD64_XMM15_2  =  290,\n    CV_AMD64_XMM15_3  =  291,\n\n    CV_AMD64_XMM8L    =  292,\n    CV_AMD64_XMM9L    =  293,\n    CV_AMD64_XMM10L   =  294,\n    CV_AMD64_XMM11L   =  295,\n    CV_AMD64_XMM12L   =  296,\n    CV_AMD64_XMM13L   =  297,\n    CV_AMD64_XMM14L   =  298,\n    CV_AMD64_XMM15L   =  299,\n\n    CV_AMD64_XMM8H    =  300,\n    CV_AMD64_XMM9H    =  301,\n    CV_AMD64_XMM10H   =  302,\n    CV_AMD64_XMM11H   =  303,\n    CV_AMD64_XMM12H   =  304,\n    CV_AMD64_XMM13H   =  305,\n    CV_AMD64_XMM14H   =  306,\n    CV_AMD64_XMM15H   =  307,\n\n    CV_AMD64_EMM8L    =  308,   // XMM sub-registers (WNI integer)\n    CV_AMD64_EMM9L    =  309,\n    CV_AMD64_EMM10L   =  310,\n    CV_AMD64_EMM11L   =  311,\n    CV_AMD64_EMM12L   =  312,\n    CV_AMD64_EMM13L   =  313,\n    CV_AMD64_EMM14L   =  314,\n    CV_AMD64_EMM15L   =  315,\n\n    CV_AMD64_EMM8H    =  316,\n    CV_AMD64_EMM9H    =  317,\n    CV_AMD64_EMM10H   =  318,\n    CV_AMD64_EMM11H   =  319,\n    CV_AMD64_EMM12H   =  320,\n    CV_AMD64_EMM13H   =  321,\n    CV_AMD64_EMM14H   =  322,\n    CV_AMD64_EMM15H   =  323,\n\n    // Low byte forms of some standard registers\n    CV_AMD64_SIL      =  324,\n    CV_AMD64_DIL      =  325,\n    CV_AMD64_BPL      =  326,\n    CV_AMD64_SPL      =  327,\n\n    // 64-bit regular registers\n    CV_AMD64_RAX      =  328,\n    CV_AMD64_RBX      =  329,\n    CV_AMD64_RCX      =  330,\n    CV_AMD64_RDX      =  331,\n    CV_AMD64_RSI      =  332,\n    CV_AMD64_RDI      =  333,\n    CV_AMD64_RBP      =  334,\n    CV_AMD64_RSP      =  335,\n\n    // 64-bit integer registers with 8-, 16-, and 32-bit forms (B, W, and D)\n    CV_AMD64_R8       =  336,\n    CV_AMD64_R9       =  337,\n    CV_AMD64_R10      =  338,\n    CV_AMD64_R11      =  339,\n    CV_AMD64_R12      =  340,\n    CV_AMD64_R13      =  341,\n    CV_AMD64_R14      =  342,\n    CV_AMD64_R15      =  343,\n\n    CV_AMD64_R8B      =  344,\n    CV_AMD64_R9B      =  345,\n    CV_AMD64_R10B     =  346,\n    CV_AMD64_R11B     =  347,\n    CV_AMD64_R12B     =  348,\n    CV_AMD64_R13B     =  349,\n    CV_AMD64_R14B     =  350,\n    CV_AMD64_R15B     =  351,\n\n    CV_AMD64_R8W      =  352,\n    CV_AMD64_R9W      =  353,\n    CV_AMD64_R10W     =  354,\n    CV_AMD64_R11W     =  355,\n    CV_AMD64_R12W     =  356,\n    CV_AMD64_R13W     =  357,\n    CV_AMD64_R14W     =  358,\n    CV_AMD64_R15W     =  359,\n\n    CV_AMD64_R8D      =  360,\n    CV_AMD64_R9D      =  361,\n    CV_AMD64_R10D     =  362,\n    CV_AMD64_R11D     =  363,\n    CV_AMD64_R12D     =  364,\n    CV_AMD64_R13D     =  365,\n    CV_AMD64_R14D     =  366,\n    CV_AMD64_R15D     =  367,\n\n    // Note:  Next set of platform registers need to go into a new enum...\n    // this one is above 44K now.\n\n} CV_HREG_e;\n\nenum StackFrameTypeEnum\n{\n    FrameTypeFPO,                   // Frame pointer omitted, FPO info available\n    FrameTypeTrap,                  // Kernel Trap frame\n    FrameTypeTSS,                   // Kernel Trap frame\n    FrameTypeStandard,              // Standard EBP stackframe\n    FrameTypeFrameData,             // Frame pointer omitted, FrameData info available\n\n    FrameTypeUnknown = -1,          // Frame which does not have any debug info\n};\n\nenum MemoryTypeEnum\n{\n    MemTypeCode,                    // Read only code memory\n    MemTypeData,                    // Read only data/stack memory\n    MemTypeStack,                   // Read only stack memory\n\n    MemTypeAny = -1,\n};\n\n#endif\n"
  },
  {
    "path": "Addition/DIASDK2005/include/dia2.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 6.00.0366 */\n/* Compiler settings for dia2.idl:\n    Oicf, W1, Zp8, env=Win32 (32b run)\n    protocol : dce , ms_ext, c_ext, robust\n    error checks: allocation ref bounds_check enum stub_data \n    VC __declspec() decoration level: \n         __declspec(uuid()), __declspec(selectany), __declspec(novtable)\n         DECLSPEC_UUID(), MIDL_INTERFACE()\n*/\n//@@MIDL_FILE_HEADING(  )\n\n#pragma warning( disable: 4049 )  /* more than 64k source lines */\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 475\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif // __RPCNDR_H_VERSION__\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dia2_h__\n#define __dia2_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDiaLoadCallback_FWD_DEFINED__\n#define __IDiaLoadCallback_FWD_DEFINED__\ntypedef interface IDiaLoadCallback IDiaLoadCallback;\n#endif \t/* __IDiaLoadCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLoadCallback2_FWD_DEFINED__\n#define __IDiaLoadCallback2_FWD_DEFINED__\ntypedef interface IDiaLoadCallback2 IDiaLoadCallback2;\n#endif \t/* __IDiaLoadCallback2_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtOffsetCallback IDiaReadExeAtOffsetCallback;\n#endif \t/* __IDiaReadExeAtOffsetCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_FWD_DEFINED__\n#define __IDiaReadExeAtRVACallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtRVACallback IDiaReadExeAtRVACallback;\n#endif \t/* __IDiaReadExeAtRVACallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_FWD_DEFINED__\n#define __IDiaDataSource_FWD_DEFINED__\ntypedef interface IDiaDataSource IDiaDataSource;\n#endif \t/* __IDiaDataSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_FWD_DEFINED__\n#define __IDiaEnumSymbols_FWD_DEFINED__\ntypedef interface IDiaEnumSymbols IDiaEnumSymbols;\n#endif \t/* __IDiaEnumSymbols_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_FWD_DEFINED__\n#define __IDiaEnumSymbolsByAddr_FWD_DEFINED__\ntypedef interface IDiaEnumSymbolsByAddr IDiaEnumSymbolsByAddr;\n#endif \t/* __IDiaEnumSymbolsByAddr_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_FWD_DEFINED__\n#define __IDiaEnumSourceFiles_FWD_DEFINED__\ntypedef interface IDiaEnumSourceFiles IDiaEnumSourceFiles;\n#endif \t/* __IDiaEnumSourceFiles_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_FWD_DEFINED__\n#define __IDiaEnumLineNumbers_FWD_DEFINED__\ntypedef interface IDiaEnumLineNumbers IDiaEnumLineNumbers;\n#endif \t/* __IDiaEnumLineNumbers_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_FWD_DEFINED__\n#define __IDiaEnumInjectedSources_FWD_DEFINED__\ntypedef interface IDiaEnumInjectedSources IDiaEnumInjectedSources;\n#endif \t/* __IDiaEnumInjectedSources_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_FWD_DEFINED__\n#define __IDiaEnumSegments_FWD_DEFINED__\ntypedef interface IDiaEnumSegments IDiaEnumSegments;\n#endif \t/* __IDiaEnumSegments_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_FWD_DEFINED__\n#define __IDiaEnumSectionContribs_FWD_DEFINED__\ntypedef interface IDiaEnumSectionContribs IDiaEnumSectionContribs;\n#endif \t/* __IDiaEnumSectionContribs_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_FWD_DEFINED__\n#define __IDiaEnumFrameData_FWD_DEFINED__\ntypedef interface IDiaEnumFrameData IDiaEnumFrameData;\n#endif \t/* __IDiaEnumFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_FWD_DEFINED__\n#define __IDiaEnumDebugStreamData_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreamData IDiaEnumDebugStreamData;\n#endif \t/* __IDiaEnumDebugStreamData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_FWD_DEFINED__\n#define __IDiaEnumDebugStreams_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreams IDiaEnumDebugStreams;\n#endif \t/* __IDiaEnumDebugStreams_FWD_DEFINED__ */\n\n\n#ifndef __IDiaAddressMap_FWD_DEFINED__\n#define __IDiaAddressMap_FWD_DEFINED__\ntypedef interface IDiaAddressMap IDiaAddressMap;\n#endif \t/* __IDiaAddressMap_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSession_FWD_DEFINED__\n#define __IDiaSession_FWD_DEFINED__\ntypedef interface IDiaSession IDiaSession;\n#endif \t/* __IDiaSession_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_FWD_DEFINED__\n#define __IDiaSymbol_FWD_DEFINED__\ntypedef interface IDiaSymbol IDiaSymbol;\n#endif \t/* __IDiaSymbol_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_FWD_DEFINED__\n#define __IDiaSourceFile_FWD_DEFINED__\ntypedef interface IDiaSourceFile IDiaSourceFile;\n#endif \t/* __IDiaSourceFile_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_FWD_DEFINED__\n#define __IDiaLineNumber_FWD_DEFINED__\ntypedef interface IDiaLineNumber IDiaLineNumber;\n#endif \t/* __IDiaLineNumber_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_FWD_DEFINED__\n#define __IDiaSectionContrib_FWD_DEFINED__\ntypedef interface IDiaSectionContrib IDiaSectionContrib;\n#endif \t/* __IDiaSectionContrib_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSegment_FWD_DEFINED__\n#define __IDiaSegment_FWD_DEFINED__\ntypedef interface IDiaSegment IDiaSegment;\n#endif \t/* __IDiaSegment_FWD_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_FWD_DEFINED__\n#define __IDiaInjectedSource_FWD_DEFINED__\ntypedef interface IDiaInjectedSource IDiaInjectedSource;\n#endif \t/* __IDiaInjectedSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLVarInstance_FWD_DEFINED__\n#define __IDiaLVarInstance_FWD_DEFINED__\ntypedef interface IDiaLVarInstance IDiaLVarInstance;\n#endif \t/* __IDiaLVarInstance_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkFrame_FWD_DEFINED__\n#define __IDiaStackWalkFrame_FWD_DEFINED__\ntypedef interface IDiaStackWalkFrame IDiaStackWalkFrame;\n#endif \t/* __IDiaStackWalkFrame_FWD_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_FWD_DEFINED__\n#define __IDiaFrameData_FWD_DEFINED__\ntypedef interface IDiaFrameData IDiaFrameData;\n#endif \t/* __IDiaFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaImageData_FWD_DEFINED__\n#define __IDiaImageData_FWD_DEFINED__\ntypedef interface IDiaImageData IDiaImageData;\n#endif \t/* __IDiaImageData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaTable_FWD_DEFINED__\n#define __IDiaTable_FWD_DEFINED__\ntypedef interface IDiaTable IDiaTable;\n#endif \t/* __IDiaTable_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_FWD_DEFINED__\n#define __IDiaEnumTables_FWD_DEFINED__\ntypedef interface IDiaEnumTables IDiaEnumTables;\n#endif \t/* __IDiaEnumTables_FWD_DEFINED__ */\n\n\n#ifndef __DiaSource_FWD_DEFINED__\n#define __DiaSource_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSource DiaSource;\n#else\ntypedef struct DiaSource DiaSource;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSource_FWD_DEFINED__ */\n\n\n#ifndef __DiaSourceAlt_FWD_DEFINED__\n#define __DiaSourceAlt_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSourceAlt DiaSourceAlt;\n#else\ntypedef struct DiaSourceAlt DiaSourceAlt;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSourceAlt_FWD_DEFINED__ */\n\n\n#ifndef __DiaStackWalker_FWD_DEFINED__\n#define __DiaStackWalker_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaStackWalker DiaStackWalker;\n#else\ntypedef struct DiaStackWalker DiaStackWalker;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaStackWalker_FWD_DEFINED__ */\n\n\n#ifndef __IDiaPropertyStorage_FWD_DEFINED__\n#define __IDiaPropertyStorage_FWD_DEFINED__\ntypedef interface IDiaPropertyStorage IDiaPropertyStorage;\n#endif \t/* __IDiaPropertyStorage_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackFrame_FWD_DEFINED__\n#define __IDiaStackFrame_FWD_DEFINED__\ntypedef interface IDiaStackFrame IDiaStackFrame;\n#endif \t/* __IDiaStackFrame_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumStackFrames_FWD_DEFINED__\n#define __IDiaEnumStackFrames_FWD_DEFINED__\ntypedef interface IDiaEnumStackFrames IDiaEnumStackFrames;\n#endif \t/* __IDiaEnumStackFrames_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkHelper_FWD_DEFINED__\n#define __IDiaStackWalkHelper_FWD_DEFINED__\ntypedef interface IDiaStackWalkHelper IDiaStackWalkHelper;\n#endif \t/* __IDiaStackWalkHelper_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker_FWD_DEFINED__\n#define __IDiaStackWalker_FWD_DEFINED__\ntypedef interface IDiaStackWalker IDiaStackWalker;\n#endif \t/* __IDiaStackWalker_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkHelper2_FWD_DEFINED__\n#define __IDiaStackWalkHelper2_FWD_DEFINED__\ntypedef interface IDiaStackWalkHelper2 IDiaStackWalkHelper2;\n#endif \t/* __IDiaStackWalkHelper2_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker2_FWD_DEFINED__\n#define __IDiaStackWalker2_FWD_DEFINED__\ntypedef interface IDiaStackWalker2 IDiaStackWalker2;\n#endif \t/* __IDiaStackWalker2_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"objidl.h\"\n#include \"oaidl.h\"\n#include \"propidl.h\"\n#include \"cvconst.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\nvoid * __RPC_USER MIDL_user_allocate(size_t);\nvoid __RPC_USER MIDL_user_free( void * ); \n\n/* interface __MIDL_itf_dia2_0000 */\n/* [local] */ \n\n\nenum NameSearchOptions\n    {\tnsNone\t= 0,\n\tnsfCaseSensitive\t= 0x1,\n\tnsfCaseInsensitive\t= 0x2,\n\tnsfFNameExt\t= 0x4,\n\tnsfRegularExpression\t= 0x8,\n\tnsfUndecoratedName\t= 0x10,\n\tnsCaseSensitive\t= nsfCaseSensitive,\n\tnsCaseInsensitive\t= nsfCaseInsensitive,\n\tnsFNameExt\t= nsfCaseInsensitive | nsfFNameExt,\n\tnsRegularExpression\t= nsfRegularExpression | nsfCaseSensitive,\n\tnsCaseInRegularExpression\t= nsfRegularExpression | nsfCaseInsensitive\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0001\n    {\tE_PDB_OK\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )1),\n\tE_PDB_USAGE\t= E_PDB_OK + 1,\n\tE_PDB_OUT_OF_MEMORY\t= E_PDB_USAGE + 1,\n\tE_PDB_FILE_SYSTEM\t= E_PDB_OUT_OF_MEMORY + 1,\n\tE_PDB_NOT_FOUND\t= E_PDB_FILE_SYSTEM + 1,\n\tE_PDB_INVALID_SIG\t= E_PDB_NOT_FOUND + 1,\n\tE_PDB_INVALID_AGE\t= E_PDB_INVALID_SIG + 1,\n\tE_PDB_PRECOMP_REQUIRED\t= E_PDB_INVALID_AGE + 1,\n\tE_PDB_OUT_OF_TI\t= E_PDB_PRECOMP_REQUIRED + 1,\n\tE_PDB_NOT_IMPLEMENTED\t= E_PDB_OUT_OF_TI + 1,\n\tE_PDB_V1_PDB\t= E_PDB_NOT_IMPLEMENTED + 1,\n\tE_PDB_FORMAT\t= E_PDB_V1_PDB + 1,\n\tE_PDB_LIMIT\t= E_PDB_FORMAT + 1,\n\tE_PDB_CORRUPT\t= E_PDB_LIMIT + 1,\n\tE_PDB_TI16\t= E_PDB_CORRUPT + 1,\n\tE_PDB_ACCESS_DENIED\t= E_PDB_TI16 + 1,\n\tE_PDB_ILLEGAL_TYPE_EDIT\t= E_PDB_ACCESS_DENIED + 1,\n\tE_PDB_INVALID_EXECUTABLE\t= E_PDB_ILLEGAL_TYPE_EDIT + 1,\n\tE_PDB_DBG_NOT_FOUND\t= E_PDB_INVALID_EXECUTABLE + 1,\n\tE_PDB_NO_DEBUG_INFO\t= E_PDB_DBG_NOT_FOUND + 1,\n\tE_PDB_INVALID_EXE_TIMESTAMP\t= E_PDB_NO_DEBUG_INFO + 1,\n\tE_PDB_RESERVED\t= E_PDB_INVALID_EXE_TIMESTAMP + 1,\n\tE_PDB_DEBUG_INFO_NOT_IN_PDB\t= E_PDB_RESERVED + 1,\n\tE_PDB_SYMSRV_BAD_CACHE_PATH\t= E_PDB_DEBUG_INFO_NOT_IN_PDB + 1,\n\tE_PDB_SYMSRV_CACHE_FULL\t= E_PDB_SYMSRV_BAD_CACHE_PATH + 1,\n\tE_PDB_MAX\t= E_PDB_SYMSRV_CACHE_FULL + 1\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0002\n    {\tDIA_E_MODNOTFOUND\t= E_PDB_MAX + 1,\n\tDIA_E_PROCNOTFOUND\t= DIA_E_MODNOTFOUND + 1\n    } ;\ntypedef void ( __cdecl *PfnPDBDebugDirV )( \n    BOOL __MIDL_0014,\n    void *__MIDL_0015);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_s_ifspec;\n\n#ifndef __IDiaLoadCallback_INTERFACE_DEFINED__\n#define __IDiaLoadCallback_INTERFACE_DEFINED__\n\n/* interface IDiaLoadCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLoadCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C32ADB82-73F4-421b-95D5-A4706EDF5DBE\")\n    IDiaLoadCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE NotifyDebugDir( \n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenDBG( \n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenPDB( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictRegistryAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictSymbolServerAccess( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLoadCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLoadCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLoadCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )( \n            IDiaLoadCallback * This,\n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )( \n            IDiaLoadCallback * This);\n        \n        END_INTERFACE\n    } IDiaLoadCallbackVtbl;\n\n    interface IDiaLoadCallback\n    {\n        CONST_VTBL struct IDiaLoadCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLoadCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLoadCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLoadCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLoadCallback_NotifyDebugDir(This,fExecutable,cbData,pbData)\t\\\n    (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,pbData)\n\n#define IDiaLoadCallback_NotifyOpenDBG(This,dbgPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode)\n\n#define IDiaLoadCallback_NotifyOpenPDB(This,pdbPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode)\n\n#define IDiaLoadCallback_RestrictRegistryAccess(This)\t\\\n    (This)->lpVtbl -> RestrictRegistryAccess(This)\n\n#define IDiaLoadCallback_RestrictSymbolServerAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSymbolServerAccess(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyDebugDir_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ BOOL fExecutable,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyDebugDir_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenDBG_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR dbgPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenDBG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenPDB_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenPDB_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictRegistryAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictRegistryAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictSymbolServerAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictSymbolServerAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLoadCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLoadCallback2_INTERFACE_DEFINED__\n#define __IDiaLoadCallback2_INTERFACE_DEFINED__\n\n/* interface IDiaLoadCallback2 */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLoadCallback2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4688a074-5a4d-4486-aea8-7b90711d9f7c\")\n    IDiaLoadCallback2 : public IDiaLoadCallback\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE RestrictOriginalPathAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictReferencePathAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictDBGAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictSystemRootAccess( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLoadCallback2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLoadCallback2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictOriginalPathAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictReferencePathAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictDBGAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSystemRootAccess )( \n            IDiaLoadCallback2 * This);\n        \n        END_INTERFACE\n    } IDiaLoadCallback2Vtbl;\n\n    interface IDiaLoadCallback2\n    {\n        CONST_VTBL struct IDiaLoadCallback2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLoadCallback2_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLoadCallback2_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLoadCallback2_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLoadCallback2_NotifyDebugDir(This,fExecutable,cbData,pbData)\t\\\n    (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,pbData)\n\n#define IDiaLoadCallback2_NotifyOpenDBG(This,dbgPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode)\n\n#define IDiaLoadCallback2_NotifyOpenPDB(This,pdbPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode)\n\n#define IDiaLoadCallback2_RestrictRegistryAccess(This)\t\\\n    (This)->lpVtbl -> RestrictRegistryAccess(This)\n\n#define IDiaLoadCallback2_RestrictSymbolServerAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSymbolServerAccess(This)\n\n\n#define IDiaLoadCallback2_RestrictOriginalPathAccess(This)\t\\\n    (This)->lpVtbl -> RestrictOriginalPathAccess(This)\n\n#define IDiaLoadCallback2_RestrictReferencePathAccess(This)\t\\\n    (This)->lpVtbl -> RestrictReferencePathAccess(This)\n\n#define IDiaLoadCallback2_RestrictDBGAccess(This)\t\\\n    (This)->lpVtbl -> RestrictDBGAccess(This)\n\n#define IDiaLoadCallback2_RestrictSystemRootAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSystemRootAccess(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictOriginalPathAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictOriginalPathAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictReferencePathAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictReferencePathAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictDBGAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictDBGAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictSystemRootAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictSystemRootAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLoadCallback2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtOffsetCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtOffsetCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"587A461C-B80B-4f54-9194-5032589A6319\")\n    IDiaReadExeAtOffsetCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAt( \n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtOffsetCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAt )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        END_INTERFACE\n    } IDiaReadExeAtOffsetCallbackVtbl;\n\n    interface IDiaReadExeAtOffsetCallback\n    {\n        CONST_VTBL struct IDiaReadExeAtOffsetCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtOffsetCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtOffsetCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtOffsetCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtOffsetCallback_ReadExecutableAt(This,fileOffset,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> ReadExecutableAt(This,fileOffset,cbData,pcbData,pbData)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtOffsetCallback_ReadExecutableAt_Proxy( \n    IDiaReadExeAtOffsetCallback * This,\n    /* [in] */ DWORDLONG fileOffset,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaReadExeAtOffsetCallback_ReadExecutableAt_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtRVACallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtRVACallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8E3F80CA-7517-432a-BA07-285134AAEA8E\")\n    IDiaReadExeAtRVACallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAtRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtRVACallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtRVACallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtRVACallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAtRVA )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        END_INTERFACE\n    } IDiaReadExeAtRVACallbackVtbl;\n\n    interface IDiaReadExeAtRVACallback\n    {\n        CONST_VTBL struct IDiaReadExeAtRVACallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtRVACallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtRVACallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtRVACallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtRVACallback_ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,pbData)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Proxy( \n    IDiaReadExeAtRVACallback * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_INTERFACE_DEFINED__\n#define __IDiaDataSource_INTERFACE_DEFINED__\n\n/* interface IDiaDataSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaDataSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"79F1BB5F-B66E-48e5-B6A9-1545C323CA3D\")\n    IDiaDataSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lastError( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadAndValidateDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataForExe( \n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromIStream( \n            /* [in] */ IStream *pIStream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE openSession( \n            /* [out] */ IDiaSession **ppSession) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaDataSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaDataSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaDataSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaDataSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastError )( \n            IDiaDataSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadAndValidateDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataForExe )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromIStream )( \n            IDiaDataSource * This,\n            /* [in] */ IStream *pIStream);\n        \n        HRESULT ( STDMETHODCALLTYPE *openSession )( \n            IDiaDataSource * This,\n            /* [out] */ IDiaSession **ppSession);\n        \n        END_INTERFACE\n    } IDiaDataSourceVtbl;\n\n    interface IDiaDataSource\n    {\n        CONST_VTBL struct IDiaDataSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaDataSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaDataSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaDataSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaDataSource_get_lastError(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lastError(This,pRetVal)\n\n#define IDiaDataSource_loadDataFromPdb(This,pdbPath)\t\\\n    (This)->lpVtbl -> loadDataFromPdb(This,pdbPath)\n\n#define IDiaDataSource_loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\t\\\n    (This)->lpVtbl -> loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\n\n#define IDiaDataSource_loadDataForExe(This,executable,searchPath,pCallback)\t\\\n    (This)->lpVtbl -> loadDataForExe(This,executable,searchPath,pCallback)\n\n#define IDiaDataSource_loadDataFromIStream(This,pIStream)\t\\\n    (This)->lpVtbl -> loadDataFromIStream(This,pIStream)\n\n#define IDiaDataSource_openSession(This,ppSession)\t\\\n    (This)->lpVtbl -> openSession(This,ppSession)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaDataSource_get_lastError_Proxy( \n    IDiaDataSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaDataSource_get_lastError_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadAndValidateDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ GUID *pcsig70,\n    /* [in] */ DWORD sig,\n    /* [in] */ DWORD age);\n\n\nvoid __RPC_STUB IDiaDataSource_loadAndValidateDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataForExe_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR executable,\n    /* [in] */ LPCOLESTR searchPath,\n    /* [in] */ IUnknown *pCallback);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataForExe_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromIStream_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ IStream *pIStream);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromIStream_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_openSession_Proxy( \n    IDiaDataSource * This,\n    /* [out] */ IDiaSession **ppSession);\n\n\nvoid __RPC_STUB IDiaDataSource_openSession_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaDataSource_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_INTERFACE_DEFINED__\n#define __IDiaEnumSymbols_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbols */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbols;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"CAB72C48-443B-48f5-9B0B-42F0820AB29A\")\n    IDiaEnumSymbols : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbols **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbols * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbols * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbols * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSymbols * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSymbols * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbols * This,\n            /* [out] */ IDiaEnumSymbols **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsVtbl;\n\n    interface IDiaEnumSymbols\n    {\n        CONST_VTBL struct IDiaEnumSymbolsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbols_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbols_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbols_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbols_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSymbols_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSymbols_Item(This,index,symbol)\t\\\n    (This)->lpVtbl -> Item(This,index,symbol)\n\n#define IDiaEnumSymbols_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbols_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSymbols_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSymbols_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get__NewEnum_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get_Count_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Item_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSymbol **symbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Next_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Skip_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Reset_Proxy( \n    IDiaEnumSymbols * This);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Clone_Proxy( \n    IDiaEnumSymbols * This,\n    /* [out] */ IDiaEnumSymbols **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbols_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n#define __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbolsByAddr */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbolsByAddr;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"624B7D9C-24EA-4421-9D06-3B577471C1FA\")\n    IDiaEnumSymbolsByAddr : public IUnknown\n    {\n    public:\n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Prev( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsByAddrVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByAddr )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByRVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Prev )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsByAddrVtbl;\n\n    interface IDiaEnumSymbolsByAddr\n    {\n        CONST_VTBL struct IDiaEnumSymbolsByAddrVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbolsByAddr_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbolsByAddr_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbolsByAddr_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbolsByAddr_symbolByAddr(This,isect,offset,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByAddr(This,isect,offset,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByRVA(This,relativeVirtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByRVA(This,relativeVirtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByVA(This,virtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByVA(This,virtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Prev(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Prev(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByAddr_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByRVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Next_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Prev_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Prev_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Clone_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n#define __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSourceFiles */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSourceFiles;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"10F3DBD9-664F-4469-B808-9471C7A50538\")\n    IDiaEnumSourceFiles : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSourceFiles **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSourceFilesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSourceFiles * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSourceFiles * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSourceFiles * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSourceFiles * This,\n            /* [out] */ IDiaEnumSourceFiles **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSourceFilesVtbl;\n\n    interface IDiaEnumSourceFiles\n    {\n        CONST_VTBL struct IDiaEnumSourceFilesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSourceFiles_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSourceFiles_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSourceFiles_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSourceFiles_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSourceFiles_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSourceFiles_Item(This,index,sourceFile)\t\\\n    (This)->lpVtbl -> Item(This,index,sourceFile)\n\n#define IDiaEnumSourceFiles_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSourceFiles_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSourceFiles_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSourceFiles_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get__NewEnum_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get_Count_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Item_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSourceFile **sourceFile);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Next_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSourceFile **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Skip_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Reset_Proxy( \n    IDiaEnumSourceFiles * This);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Clone_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [out] */ IDiaEnumSourceFiles **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSourceFiles_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n#define __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n\n/* interface IDiaEnumLineNumbers */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumLineNumbers;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"FE30E878-54AC-44f1-81BA-39DE940F6052\")\n    IDiaEnumLineNumbers : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumLineNumbers **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumLineNumbersVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumLineNumbers * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumLineNumbers * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumLineNumbers * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumLineNumbers * This,\n            /* [out] */ IDiaEnumLineNumbers **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumLineNumbersVtbl;\n\n    interface IDiaEnumLineNumbers\n    {\n        CONST_VTBL struct IDiaEnumLineNumbersVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumLineNumbers_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumLineNumbers_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumLineNumbers_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumLineNumbers_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumLineNumbers_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumLineNumbers_Item(This,index,lineNumber)\t\\\n    (This)->lpVtbl -> Item(This,index,lineNumber)\n\n#define IDiaEnumLineNumbers_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumLineNumbers_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumLineNumbers_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumLineNumbers_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get__NewEnum_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get_Count_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Item_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaLineNumber **lineNumber);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Next_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaLineNumber **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Skip_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Reset_Proxy( \n    IDiaEnumLineNumbers * This);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Clone_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [out] */ IDiaEnumLineNumbers **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumLineNumbers_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n#define __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n\n/* interface IDiaEnumInjectedSources */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumInjectedSources;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"D5612573-6925-4468-8883-98CDEC8C384A\")\n    IDiaEnumInjectedSources : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumInjectedSources **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumInjectedSourcesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumInjectedSources * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumInjectedSources * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumInjectedSources * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumInjectedSources * This,\n            /* [out] */ IDiaEnumInjectedSources **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumInjectedSourcesVtbl;\n\n    interface IDiaEnumInjectedSources\n    {\n        CONST_VTBL struct IDiaEnumInjectedSourcesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumInjectedSources_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumInjectedSources_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumInjectedSources_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumInjectedSources_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumInjectedSources_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumInjectedSources_Item(This,index,injectedSource)\t\\\n    (This)->lpVtbl -> Item(This,index,injectedSource)\n\n#define IDiaEnumInjectedSources_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumInjectedSources_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumInjectedSources_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumInjectedSources_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get__NewEnum_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get_Count_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Item_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaInjectedSource **injectedSource);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Next_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaInjectedSource **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Skip_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Reset_Proxy( \n    IDiaEnumInjectedSources * This);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Clone_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [out] */ IDiaEnumInjectedSources **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumInjectedSources_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_INTERFACE_DEFINED__\n#define __IDiaEnumSegments_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSegments */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSegments;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"E8368CA9-01D1-419d-AC0C-E31235DBDA9F\")\n    IDiaEnumSegments : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSegments **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSegmentsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSegments * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSegments * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSegments * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSegments * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSegments * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSegments * This,\n            /* [out] */ IDiaEnumSegments **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSegmentsVtbl;\n\n    interface IDiaEnumSegments\n    {\n        CONST_VTBL struct IDiaEnumSegmentsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSegments_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSegments_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSegments_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSegments_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSegments_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSegments_Item(This,index,segment)\t\\\n    (This)->lpVtbl -> Item(This,index,segment)\n\n#define IDiaEnumSegments_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSegments_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSegments_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSegments_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get__NewEnum_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get_Count_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_Item_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSegment **segment);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Next_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSegment **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Skip_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Reset_Proxy( \n    IDiaEnumSegments * This);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Clone_Proxy( \n    IDiaEnumSegments * This,\n    /* [out] */ IDiaEnumSegments **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSegments_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n#define __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSectionContribs */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSectionContribs;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"1994DEB2-2C82-4b1d-A57F-AFF424D54A68\")\n    IDiaEnumSectionContribs : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSectionContribs **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSectionContribsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSectionContribs * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSectionContribs * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSectionContribs * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSectionContribs * This,\n            /* [out] */ IDiaEnumSectionContribs **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSectionContribsVtbl;\n\n    interface IDiaEnumSectionContribs\n    {\n        CONST_VTBL struct IDiaEnumSectionContribsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSectionContribs_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSectionContribs_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSectionContribs_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSectionContribs_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSectionContribs_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSectionContribs_Item(This,index,section)\t\\\n    (This)->lpVtbl -> Item(This,index,section)\n\n#define IDiaEnumSectionContribs_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSectionContribs_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSectionContribs_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSectionContribs_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get__NewEnum_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get_Count_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Item_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSectionContrib **section);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Next_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSectionContrib **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Skip_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Reset_Proxy( \n    IDiaEnumSectionContribs * This);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Clone_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [out] */ IDiaEnumSectionContribs **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSectionContribs_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_INTERFACE_DEFINED__\n#define __IDiaEnumFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F\")\n    IDiaEnumFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumFrameData **ppenum) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumFrameData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumFrameData * This,\n            /* [out] */ IDiaEnumFrameData **ppenum);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByRVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        END_INTERFACE\n    } IDiaEnumFrameDataVtbl;\n\n    interface IDiaEnumFrameData\n    {\n        CONST_VTBL struct IDiaEnumFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumFrameData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumFrameData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumFrameData_Item(This,index,frame)\t\\\n    (This)->lpVtbl -> Item(This,index,frame)\n\n#define IDiaEnumFrameData_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumFrameData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumFrameData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumFrameData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#define IDiaEnumFrameData_frameByRVA(This,relativeVirtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByRVA(This,relativeVirtualAddress,frame)\n\n#define IDiaEnumFrameData_frameByVA(This,virtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByVA(This,virtualAddress,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get__NewEnum_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get_Count_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Item_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Next_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaFrameData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Skip_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Reset_Proxy( \n    IDiaEnumFrameData * This);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Clone_Proxy( \n    IDiaEnumFrameData * This,\n    /* [out] */ IDiaEnumFrameData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByRVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreamData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreamData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"486943E8-D187-4a6b-A3C4-291259FFF60D\")\n    IDiaEnumDebugStreamData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreamData **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreamData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreamData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreamData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreamData * This,\n            /* [out] */ IDiaEnumDebugStreamData **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamDataVtbl;\n\n    interface IDiaEnumDebugStreamData\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreamData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreamData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreamData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreamData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_Item(This,index,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> Item(This,index,cbData,pcbData,pbData)\n\n#define IDiaEnumDebugStreamData_Next(This,celt,cbData,pcbData,pbData,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,cbData,pcbData,pbData,pceltFetched)\n\n#define IDiaEnumDebugStreamData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreamData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreamData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get__NewEnum_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_Count_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_name_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Item_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ DWORD index,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Next_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Skip_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Reset_Proxy( \n    IDiaEnumDebugStreamData * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Clone_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [out] */ IDiaEnumDebugStreamData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreamData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreams */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreams;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"08CBB41E-47A6-4f87-92F1-1C9C87CED044\")\n    IDiaEnumDebugStreams : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreams **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreams * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreams * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreams * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreams * This,\n            /* [out] */ IDiaEnumDebugStreams **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamsVtbl;\n\n    interface IDiaEnumDebugStreams\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreams_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreams_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreams_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreams_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreams_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreams_Item(This,index,stream)\t\\\n    (This)->lpVtbl -> Item(This,index,stream)\n\n#define IDiaEnumDebugStreams_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumDebugStreams_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreams_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreams_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get__NewEnum_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get_Count_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Item_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Next_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaEnumDebugStreamData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Skip_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Reset_Proxy( \n    IDiaEnumDebugStreams * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Clone_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [out] */ IDiaEnumDebugStreams **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreams_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0138 */\n/* [local] */ \n\nstruct DiaAddressMapEntry\n    {\n    DWORD rva;\n    DWORD rvaTo;\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_s_ifspec;\n\n#ifndef __IDiaAddressMap_INTERFACE_DEFINED__\n#define __IDiaAddressMap_INTERFACE_DEFINED__\n\n/* interface IDiaAddressMap */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaAddressMap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B62A2E7A-067A-4ea3-B598-04C09717502C\")\n    IDiaAddressMap : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressMapEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_addressMapEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddressEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_relativeVirtualAddressEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageAlign( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_imageAlign( \n            /* [in] */ DWORD NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_imageHeaders( \n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE *pbData,\n            /* [in] */ BOOL originalHeaders) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_addressMap( \n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry *pData,\n            /* [in] */ BOOL imageToSymbols) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaAddressMapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaAddressMap * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaAddressMap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaAddressMap * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageAlign )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imageAlign )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_imageHeaders )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE *pbData,\n            /* [in] */ BOOL originalHeaders);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_addressMap )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry *pData,\n            /* [in] */ BOOL imageToSymbols);\n        \n        END_INTERFACE\n    } IDiaAddressMapVtbl;\n\n    interface IDiaAddressMap\n    {\n        CONST_VTBL struct IDiaAddressMapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaAddressMap_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaAddressMap_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaAddressMap_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaAddressMap_get_addressMapEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressMapEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_addressMapEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_addressMapEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_relativeVirtualAddressEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddressEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_relativeVirtualAddressEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_relativeVirtualAddressEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_imageAlign(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageAlign(This,pRetVal)\n\n#define IDiaAddressMap_put_imageAlign(This,NewVal)\t\\\n    (This)->lpVtbl -> put_imageAlign(This,NewVal)\n\n#define IDiaAddressMap_set_imageHeaders(This,cbData,pbData,originalHeaders)\t\\\n    (This)->lpVtbl -> set_imageHeaders(This,cbData,pbData,originalHeaders)\n\n#define IDiaAddressMap_set_addressMap(This,cData,pData,imageToSymbols)\t\\\n    (This)->lpVtbl -> set_addressMap(This,cData,pData,imageToSymbols)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_imageHeaders_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE *pbData,\n    /* [in] */ BOOL originalHeaders);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_imageHeaders_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_addressMap_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cData,\n    /* [size_is][in] */ struct DiaAddressMapEntry *pData,\n    /* [in] */ BOOL imageToSymbols);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_addressMap_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaAddressMap_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSession_INTERFACE_DEFINED__\n#define __IDiaSession_INTERFACE_DEFINED__\n\n/* interface IDiaSession */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSession;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"67138B34-79CD-4b42-B74A-A18ADBB799DF\")\n    IDiaSession : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_loadAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_loadAddress( \n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_globalScope( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumTables( \n            /* [out] */ IDiaEnumTables **ppEnumTables) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getSymbolsByAddr( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByToken( \n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symsAreEquiv( \n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symbolById( \n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVAEx( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVAEx( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFile( \n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFileById( \n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLines( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByAddr( \n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByLinenum( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findInjectedSource( \n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumDebugStreams( \n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSessionVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSession * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSession * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSession * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadAddress )( \n            IDiaSession * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loadAddress )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalScope )( \n            IDiaSession * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumTables )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumTables **ppEnumTables);\n        \n        HRESULT ( STDMETHODCALLTYPE *getSymbolsByAddr )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByToken )( \n            IDiaSession * This,\n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *symsAreEquiv )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolById )( \n            IDiaSession * This,\n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVAEx )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVAEx )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFile )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFileById )( \n            IDiaSession * This,\n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLines )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByLinenum )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findInjectedSource )( \n            IDiaSession * This,\n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumDebugStreams )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n        \n        END_INTERFACE\n    } IDiaSessionVtbl;\n\n    interface IDiaSession\n    {\n        CONST_VTBL struct IDiaSessionVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSession_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSession_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSession_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSession_get_loadAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_loadAddress(This,pRetVal)\n\n#define IDiaSession_put_loadAddress(This,NewVal)\t\\\n    (This)->lpVtbl -> put_loadAddress(This,NewVal)\n\n#define IDiaSession_get_globalScope(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_globalScope(This,pRetVal)\n\n#define IDiaSession_getEnumTables(This,ppEnumTables)\t\\\n    (This)->lpVtbl -> getEnumTables(This,ppEnumTables)\n\n#define IDiaSession_getSymbolsByAddr(This,ppEnumbyAddr)\t\\\n    (This)->lpVtbl -> getSymbolsByAddr(This,ppEnumbyAddr)\n\n#define IDiaSession_findChildren(This,parent,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,parent,symtag,name,compareFlags,ppResult)\n\n#define IDiaSession_findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByRVA(This,rva,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByRVA(This,rva,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByVA(This,va,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByVA(This,va,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByToken(This,token,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByToken(This,token,symtag,ppSymbol)\n\n#define IDiaSession_symsAreEquiv(This,symbolA,symbolB)\t\\\n    (This)->lpVtbl -> symsAreEquiv(This,symbolA,symbolB)\n\n#define IDiaSession_symbolById(This,id,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolById(This,id,ppSymbol)\n\n#define IDiaSession_findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findFile(This,pCompiland,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findFile(This,pCompiland,name,compareFlags,ppResult)\n\n#define IDiaSession_findFileById(This,uniqueId,ppResult)\t\\\n    (This)->lpVtbl -> findFileById(This,uniqueId,ppResult)\n\n#define IDiaSession_findLines(This,compiland,file,ppResult)\t\\\n    (This)->lpVtbl -> findLines(This,compiland,file,ppResult)\n\n#define IDiaSession_findLinesByAddr(This,seg,offset,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByAddr(This,seg,offset,length,ppResult)\n\n#define IDiaSession_findLinesByRVA(This,rva,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByRVA(This,rva,length,ppResult)\n\n#define IDiaSession_findLinesByVA(This,va,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByVA(This,va,length,ppResult)\n\n#define IDiaSession_findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\n\n#define IDiaSession_findInjectedSource(This,srcFile,ppResult)\t\\\n    (This)->lpVtbl -> findInjectedSource(This,srcFile,ppResult)\n\n#define IDiaSession_getEnumDebugStreams(This,ppEnumDebugStreams)\t\\\n    (This)->lpVtbl -> getEnumDebugStreams(This,ppEnumDebugStreams)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaSession_put_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaSession_put_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_globalScope_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_globalScope_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumTables_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumTables **ppEnumTables);\n\n\nvoid __RPC_STUB IDiaSession_getEnumTables_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getSymbolsByAddr_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n\n\nvoid __RPC_STUB IDiaSession_getSymbolsByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findChildren_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *parent,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByToken_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONG token,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByToken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symsAreEquiv_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *symbolA,\n    /* [in] */ IDiaSymbol *symbolB);\n\n\nvoid __RPC_STUB IDiaSession_symsAreEquiv_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symbolById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD id,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_symbolById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFile_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *pCompiland,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSourceFiles **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFileById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD uniqueId,\n    /* [out] */ IDiaSourceFile **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFileById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLines_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLines_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD seg,\n    /* [in] */ DWORD offset,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByLinenum_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [in] */ DWORD linenum,\n    /* [in] */ DWORD column,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByLinenum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findInjectedSource_Proxy( \n    IDiaSession * This,\n    /* [in] */ LPCOLESTR srcFile,\n    /* [out] */ IDiaEnumInjectedSources **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findInjectedSource_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumDebugStreams_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n\n\nvoid __RPC_STUB IDiaSession_getEnumDebugStreams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSession_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_INTERFACE_DEFINED__\n#define __IDiaSymbol_INTERFACE_DEFINED__\n\n/* interface IDiaSymbol */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSymbol;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"cb787b2f-bd6c-4635-ba52-933126bd2dcd\")\n    IDiaSymbol : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symIndexId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symTag( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_locationType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_slot( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volatileType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unalignedType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_access( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_libraryName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_platform( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_language( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_editAndContinueEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unused( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thunkOrdinal( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thisAdjust( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtual( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intro( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pure( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_callingConvention( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_value( \n            /* [retval][out] */ VARIANT *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_token( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_guid( \n            /* [retval][out] */ GUID *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbolsFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_reference( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bitPosition( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_packed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constructor( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_overloadedOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_nested( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNestedTypes( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAssignmentOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasCastOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_scoped( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_indirectVirtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBasePointerOffset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShape( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_typeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexTypeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShapeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_function( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_managed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_msil( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseDispIndex( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_undecoratedName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_age( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_signature( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerGenerated( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressTaken( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rank( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_dataBytes( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetRelativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetVirtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_machineType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemSymbolId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_types( \n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [size_is][size_is][out] */ IDiaSymbol **pTypes) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_typeIds( \n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [size_is][out] */ DWORD *pdwTypeIds) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectPointerType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_udtKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_undecoratedNameEx( \n            /* [in] */ DWORD undecorateOptions,\n            /* [out] */ BSTR *name) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_liveLVarInstances( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cInstances,\n            /* [out] */ DWORD *pcInstances,\n            /* [size_is][out] */ IDiaLVarInstance **instances) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noReturn( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_customCallingConvention( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noInline( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_optimizedCodeDebugInfo( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notReached( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_interruptReturn( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_farReturn( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStatic( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasDebugInfo( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isLTCG( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isDataAligned( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSecurityChecks( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAlloca( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSetJump( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasLongJump( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasInlAsm( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEH( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasSEH( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasEHa( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isNaked( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isAggregated( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isSplitted( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_container( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_inlSpec( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_noStackOrdering( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseTableType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasManagedCode( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isHotpatchable( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCVTCIL( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isMSILNetmodule( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isCTypes( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_isStripped( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSymbolVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSymbol * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSymbol * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSymbol * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( \n            IDiaSymbol * This,\n            /* [retval][out] */ VARIANT *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )( \n            IDiaSymbol * This,\n            /* [retval][out] */ GUID *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_dataBytes )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSymbol * This,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_types )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [size_is][size_is][out] */ IDiaSymbol **pTypes);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_typeIds )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [size_is][out] */ DWORD *pdwTypeIds);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD undecorateOptions,\n            /* [out] */ BSTR *name);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_liveLVarInstances )( \n            IDiaSymbol * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cInstances,\n            /* [out] */ DWORD *pcInstances,\n            /* [size_is][out] */ IDiaLVarInstance **instances);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noReturn )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_customCallingConvention )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noInline )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_optimizedCodeDebugInfo )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notReached )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_interruptReturn )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_farReturn )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStatic )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasDebugInfo )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isLTCG )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isDataAligned )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSecurityChecks )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAlloca )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSetJump )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasLongJump )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasInlAsm )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEH )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasSEH )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasEHa )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isNaked )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isAggregated )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isSplitted )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_container )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_inlSpec )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_noStackOrdering )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseTableType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasManagedCode )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isHotpatchable )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCVTCIL )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isMSILNetmodule )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCTypes )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isStripped )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSymbolVtbl;\n\n    interface IDiaSymbol\n    {\n        CONST_VTBL struct IDiaSymbolVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSymbol_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSymbol_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSymbol_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSymbol_get_symIndexId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symIndexId(This,pRetVal)\n\n#define IDiaSymbol_get_symTag(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symTag(This,pRetVal)\n\n#define IDiaSymbol_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParent(This,pRetVal)\n\n#define IDiaSymbol_get_classParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParent(This,pRetVal)\n\n#define IDiaSymbol_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaSymbol_get_dataKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataKind(This,pRetVal)\n\n#define IDiaSymbol_get_locationType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_locationType(This,pRetVal)\n\n#define IDiaSymbol_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSymbol_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSymbol_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_registerId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerId(This,pRetVal)\n\n#define IDiaSymbol_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSymbol_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSymbol_get_slot(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_slot(This,pRetVal)\n\n#define IDiaSymbol_get_volatileType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_volatileType(This,pRetVal)\n\n#define IDiaSymbol_get_constType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constType(This,pRetVal)\n\n#define IDiaSymbol_get_unalignedType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_unalignedType(This,pRetVal)\n\n#define IDiaSymbol_get_access(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_access(This,pRetVal)\n\n#define IDiaSymbol_get_libraryName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_libraryName(This,pRetVal)\n\n#define IDiaSymbol_get_platform(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_platform(This,pRetVal)\n\n#define IDiaSymbol_get_language(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_language(This,pRetVal)\n\n#define IDiaSymbol_get_editAndContinueEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_sourceFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileName(This,pRetVal)\n\n#define IDiaSymbol_get_unused(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_unused(This,pRetVal)\n\n#define IDiaSymbol_get_thunkOrdinal(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal)\n\n#define IDiaSymbol_get_thisAdjust(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thisAdjust(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtual(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtual(This,pRetVal)\n\n#define IDiaSymbol_get_intro(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_intro(This,pRetVal)\n\n#define IDiaSymbol_get_pure(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_pure(This,pRetVal)\n\n#define IDiaSymbol_get_callingConvention(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_callingConvention(This,pRetVal)\n\n#define IDiaSymbol_get_value(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_value(This,pRetVal)\n\n#define IDiaSymbol_get_baseType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_baseType(This,pRetVal)\n\n#define IDiaSymbol_get_token(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_token(This,pRetVal)\n\n#define IDiaSymbol_get_timeStamp(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_timeStamp(This,pRetVal)\n\n#define IDiaSymbol_get_guid(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_guid(This,pRetVal)\n\n#define IDiaSymbol_get_symbolsFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symbolsFileName(This,pRetVal)\n\n#define IDiaSymbol_get_reference(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_reference(This,pRetVal)\n\n#define IDiaSymbol_get_count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_count(This,pRetVal)\n\n#define IDiaSymbol_get_bitPosition(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_bitPosition(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexType(This,pRetVal)\n\n#define IDiaSymbol_get_packed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_packed(This,pRetVal)\n\n#define IDiaSymbol_get_constructor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constructor(This,pRetVal)\n\n#define IDiaSymbol_get_overloadedOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_overloadedOperator(This,pRetVal)\n\n#define IDiaSymbol_get_nested(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_nested(This,pRetVal)\n\n#define IDiaSymbol_get_hasNestedTypes(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal)\n\n#define IDiaSymbol_get_hasAssignmentOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal)\n\n#define IDiaSymbol_get_hasCastOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasCastOperator(This,pRetVal)\n\n#define IDiaSymbol_get_scoped(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_scoped(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_indirectVirtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBasePointerOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShape(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShape(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParentId(This,pRetVal)\n\n#define IDiaSymbol_get_classParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParentId(This,pRetVal)\n\n#define IDiaSymbol_get_typeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_typeId(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexTypeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShapeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal)\n\n#define IDiaSymbol_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSymbol_get_function(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_function(This,pRetVal)\n\n#define IDiaSymbol_get_managed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_managed(This,pRetVal)\n\n#define IDiaSymbol_get_msil(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_msil(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseDispIndex(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal)\n\n#define IDiaSymbol_get_undecoratedName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_undecoratedName(This,pRetVal)\n\n#define IDiaSymbol_get_age(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_age(This,pRetVal)\n\n#define IDiaSymbol_get_signature(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_signature(This,pRetVal)\n\n#define IDiaSymbol_get_compilerGenerated(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilerGenerated(This,pRetVal)\n\n#define IDiaSymbol_get_addressTaken(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressTaken(This,pRetVal)\n\n#define IDiaSymbol_get_rank(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_rank(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBound(This,pRetVal)\n\n#define IDiaSymbol_get_upperBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBound(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_upperBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_dataBytes(This,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,pbData)\n\n#define IDiaSymbol_findChildren(This,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult)\n\n#define IDiaSymbol_get_targetSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetSection(This,pRetVal)\n\n#define IDiaSymbol_get_targetOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetOffset(This,pRetVal)\n\n#define IDiaSymbol_get_targetRelativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_targetVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_machineType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_machineType(This,pRetVal)\n\n#define IDiaSymbol_get_oemId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemId(This,pRetVal)\n\n#define IDiaSymbol_get_oemSymbolId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemSymbolId(This,pRetVal)\n\n#define IDiaSymbol_get_types(This,cTypes,pcTypes,pTypes)\t\\\n    (This)->lpVtbl -> get_types(This,cTypes,pcTypes,pTypes)\n\n#define IDiaSymbol_get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds)\t\\\n    (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,pdwTypeIds)\n\n#define IDiaSymbol_get_objectPointerType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectPointerType(This,pRetVal)\n\n#define IDiaSymbol_get_udtKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_udtKind(This,pRetVal)\n\n#define IDiaSymbol_get_undecoratedNameEx(This,undecorateOptions,name)\t\\\n    (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name)\n\n#define IDiaSymbol_get_liveLVarInstances(This,va,cInstances,pcInstances,instances)\t\\\n    (This)->lpVtbl -> get_liveLVarInstances(This,va,cInstances,pcInstances,instances)\n\n#define IDiaSymbol_get_noReturn(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_noReturn(This,pRetVal)\n\n#define IDiaSymbol_get_customCallingConvention(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_customCallingConvention(This,pRetVal)\n\n#define IDiaSymbol_get_noInline(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_noInline(This,pRetVal)\n\n#define IDiaSymbol_get_optimizedCodeDebugInfo(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_optimizedCodeDebugInfo(This,pRetVal)\n\n#define IDiaSymbol_get_notReached(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notReached(This,pRetVal)\n\n#define IDiaSymbol_get_interruptReturn(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_interruptReturn(This,pRetVal)\n\n#define IDiaSymbol_get_farReturn(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_farReturn(This,pRetVal)\n\n#define IDiaSymbol_get_isStatic(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isStatic(This,pRetVal)\n\n#define IDiaSymbol_get_hasDebugInfo(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasDebugInfo(This,pRetVal)\n\n#define IDiaSymbol_get_isLTCG(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isLTCG(This,pRetVal)\n\n#define IDiaSymbol_get_isDataAligned(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isDataAligned(This,pRetVal)\n\n#define IDiaSymbol_get_hasSecurityChecks(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasSecurityChecks(This,pRetVal)\n\n#define IDiaSymbol_get_compilerName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilerName(This,pRetVal)\n\n#define IDiaSymbol_get_hasAlloca(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasAlloca(This,pRetVal)\n\n#define IDiaSymbol_get_hasSetJump(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasSetJump(This,pRetVal)\n\n#define IDiaSymbol_get_hasLongJump(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasLongJump(This,pRetVal)\n\n#define IDiaSymbol_get_hasInlAsm(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasInlAsm(This,pRetVal)\n\n#define IDiaSymbol_get_hasEH(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasEH(This,pRetVal)\n\n#define IDiaSymbol_get_hasSEH(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasSEH(This,pRetVal)\n\n#define IDiaSymbol_get_hasEHa(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasEHa(This,pRetVal)\n\n#define IDiaSymbol_get_isNaked(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isNaked(This,pRetVal)\n\n#define IDiaSymbol_get_isAggregated(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isAggregated(This,pRetVal)\n\n#define IDiaSymbol_get_isSplitted(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isSplitted(This,pRetVal)\n\n#define IDiaSymbol_get_container(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_container(This,pRetVal)\n\n#define IDiaSymbol_get_inlSpec(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_inlSpec(This,pRetVal)\n\n#define IDiaSymbol_get_noStackOrdering(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_noStackOrdering(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseTableType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseTableType(This,pRetVal)\n\n#define IDiaSymbol_get_hasManagedCode(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasManagedCode(This,pRetVal)\n\n#define IDiaSymbol_get_isHotpatchable(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isHotpatchable(This,pRetVal)\n\n#define IDiaSymbol_get_isCVTCIL(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isCVTCIL(This,pRetVal)\n\n#define IDiaSymbol_get_isMSILNetmodule(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isMSILNetmodule(This,pRetVal)\n\n#define IDiaSymbol_get_isCTypes(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isCTypes(This,pRetVal)\n\n#define IDiaSymbol_get_isStripped(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_isStripped(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symIndexId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symIndexId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symTag_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symTag_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_name_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_type_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_locationType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_locationType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_relativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_registerId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_registerId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_offset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_length_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_slot_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_slot_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_volatileType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_volatileType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unalignedType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_unalignedType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_access_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_access_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_libraryName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_libraryName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_platform_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_platform_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_language_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_language_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_editAndContinueEnabled_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_editAndContinueEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_sourceFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_sourceFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unused_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_unused_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thunkOrdinal_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thunkOrdinal_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thisAdjust_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thisAdjust_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtual_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtual_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_intro_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_intro_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_pure_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_pure_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_callingConvention_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_callingConvention_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_value_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ VARIANT *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_value_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_baseType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_token_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_token_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_timeStamp_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_timeStamp_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_guid_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ GUID *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_guid_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symbolsFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symbolsFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_reference_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_reference_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_count_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bitPosition_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_bitPosition_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_packed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_packed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constructor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constructor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_overloadedOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_overloadedOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_nested_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_nested_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasNestedTypes_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasNestedTypes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasAssignmentOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasAssignmentOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasCastOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasCastOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_scoped_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_scoped_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_indirectVirtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_indirectVirtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBasePointerOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBasePointerOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShape_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShape_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexTypeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexTypeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShapeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShapeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_code_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_function_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_function_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_managed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_managed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_msil_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_msil_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseDispIndex_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseDispIndex_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_undecoratedName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_undecoratedName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_age_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_age_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_signature_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_signature_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_compilerGenerated_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_compilerGenerated_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressTaken_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressTaken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_rank_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_rank_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataBytes_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataBytes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_findChildren_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSymbol_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetRelativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetRelativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_machineType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_machineType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemSymbolId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemSymbolId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_types_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypes,\n    /* [out] */ DWORD *pcTypes,\n    /* [size_is][size_is][out] */ IDiaSymbol **pTypes);\n\n\nvoid __RPC_STUB IDiaSymbol_get_types_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeIds_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypeIds,\n    /* [out] */ DWORD *pcTypeIds,\n    /* [size_is][out] */ DWORD *pdwTypeIds);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeIds_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_objectPointerType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_objectPointerType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_udtKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_udtKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_undecoratedNameEx_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD undecorateOptions,\n    /* [out] */ BSTR *name);\n\n\nvoid __RPC_STUB IDiaSymbol_get_undecoratedNameEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_liveLVarInstances_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cInstances,\n    /* [out] */ DWORD *pcInstances,\n    /* [size_is][out] */ IDiaLVarInstance **instances);\n\n\nvoid __RPC_STUB IDiaSymbol_get_liveLVarInstances_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_noReturn_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_noReturn_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_customCallingConvention_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_customCallingConvention_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_noInline_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_noInline_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_optimizedCodeDebugInfo_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_optimizedCodeDebugInfo_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_notReached_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_notReached_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_interruptReturn_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_interruptReturn_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_farReturn_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_farReturn_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isStatic_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isStatic_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasDebugInfo_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasDebugInfo_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isLTCG_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isLTCG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isDataAligned_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isDataAligned_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasSecurityChecks_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasSecurityChecks_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_compilerName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_compilerName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasAlloca_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasAlloca_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasSetJump_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasSetJump_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasLongJump_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasLongJump_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasInlAsm_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasInlAsm_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasEH_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasEH_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasSEH_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasSEH_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasEHa_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasEHa_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isNaked_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isNaked_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isAggregated_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isAggregated_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isSplitted_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isSplitted_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_container_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_container_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_inlSpec_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_inlSpec_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_noStackOrdering_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_noStackOrdering_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseTableType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseTableType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasManagedCode_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasManagedCode_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isHotpatchable_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isHotpatchable_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isCVTCIL_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isCVTCIL_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isMSILNetmodule_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isMSILNetmodule_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isCTypes_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isCTypes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_isStripped_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_isStripped_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSymbol_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_INTERFACE_DEFINED__\n#define __IDiaSourceFile_INTERFACE_DEFINED__\n\n/* interface IDiaSourceFile */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSourceFile;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD\")\n    IDiaSourceFile : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_checksumType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilands( \n            /* [retval][out] */ IDiaEnumSymbols **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_checksum( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSourceFileVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSourceFile * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSourceFile * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSourceFile * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueId )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileName )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checksumType )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilands )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_checksum )( \n            IDiaSourceFile * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        END_INTERFACE\n    } IDiaSourceFileVtbl;\n\n    interface IDiaSourceFile\n    {\n        CONST_VTBL struct IDiaSourceFileVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSourceFile_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSourceFile_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSourceFile_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSourceFile_get_uniqueId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uniqueId(This,pRetVal)\n\n#define IDiaSourceFile_get_fileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_fileName(This,pRetVal)\n\n#define IDiaSourceFile_get_checksumType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_checksumType(This,pRetVal)\n\n#define IDiaSourceFile_get_compilands(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilands(This,pRetVal)\n\n#define IDiaSourceFile_get_checksum(This,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> get_checksum(This,cbData,pcbData,pbData)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_uniqueId_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_uniqueId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_fileName_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_fileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksumType_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksumType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_compilands_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_compilands_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksum_Proxy( \n    IDiaSourceFile * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSourceFile_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_INTERFACE_DEFINED__\n#define __IDiaLineNumber_INTERFACE_DEFINED__\n\n/* interface IDiaLineNumber */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLineNumber;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B388EB14-BE4D-421d-A8A1-6CF7AB057086\")\n    IDiaLineNumber : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFile( \n            /* [retval][out] */ IDiaSourceFile **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_statement( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLineNumberVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLineNumber * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLineNumber * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLineNumber * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFile )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSourceFile **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_statement )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaLineNumberVtbl;\n\n    interface IDiaLineNumber\n    {\n        CONST_VTBL struct IDiaLineNumberVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLineNumber_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLineNumber_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLineNumber_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLineNumber_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFile(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFile(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaLineNumber_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaLineNumber_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFileId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileId(This,pRetVal)\n\n#define IDiaLineNumber_get_statement(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_statement(This,pRetVal)\n\n#define IDiaLineNumber_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compiland_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFile_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSourceFile **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressSection_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressOffset_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_relativeVirtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_virtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_length_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFileId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFileId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_statement_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_statement_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compilandId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLineNumber_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_INTERFACE_DEFINED__\n#define __IDiaSectionContrib_INTERFACE_DEFINED__\n\n/* interface IDiaSectionContrib */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSectionContrib;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857\")\n    IDiaSectionContrib : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notPaged( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_initializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uninitializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_remove( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_comdat( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_discardable( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notCached( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_share( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relocationsCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code16bit( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSectionContribVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSectionContrib * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSectionContrib * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSectionContrib * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notPaged )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uninitializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_remove )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_comdat )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_discardable )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notCached )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_share )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relocationsCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code16bit )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSectionContribVtbl;\n\n    interface IDiaSectionContrib\n    {\n        CONST_VTBL struct IDiaSectionContribVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSectionContrib_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSectionContrib_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSectionContrib_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSectionContrib_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSectionContrib_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSectionContrib_get_notPaged(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notPaged(This,pRetVal)\n\n#define IDiaSectionContrib_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSectionContrib_get_initializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_initializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_uninitializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uninitializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_remove(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_remove(This,pRetVal)\n\n#define IDiaSectionContrib_get_comdat(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_comdat(This,pRetVal)\n\n#define IDiaSectionContrib_get_discardable(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_discardable(This,pRetVal)\n\n#define IDiaSectionContrib_get_notCached(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notCached(This,pRetVal)\n\n#define IDiaSectionContrib_get_share(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_share(This,pRetVal)\n\n#define IDiaSectionContrib_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSectionContrib_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSectionContrib_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSectionContrib_get_dataCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_relocationsCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relocationsCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#define IDiaSectionContrib_get_code16bit(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code16bit(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compiland_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressSection_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressOffset_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relativeVirtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_virtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_length_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notPaged_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notPaged_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_code_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_initializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_initializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_uninitializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_uninitializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_remove_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_remove_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_comdat_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_comdat_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_discardable_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_discardable_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notCached_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notCached_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_share_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_share_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_execute_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_read_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_write_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_dataCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_dataCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relocationsCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relocationsCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compilandId_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_code16bit_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_code16bit_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSectionContrib_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSegment_INTERFACE_DEFINED__\n#define __IDiaSegment_INTERFACE_DEFINED__\n\n/* interface IDiaSegment */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSegment;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0775B784-C75B-4449-848B-B7BD3159545B\")\n    IDiaSegment : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frame( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSegmentVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSegment * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSegment * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSegment * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frame )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSegmentVtbl;\n\n    interface IDiaSegment\n    {\n        CONST_VTBL struct IDiaSegmentVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSegment_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSegment_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSegment_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSegment_get_frame(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frame(This,pRetVal)\n\n#define IDiaSegment_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSegment_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSegment_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSegment_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSegment_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSegment_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSegment_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSegment_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_frame_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_frame_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_offset_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_length_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_read_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_write_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_execute_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_addressSection_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_relativeVirtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_virtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSegment_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_INTERFACE_DEFINED__\n#define __IDiaInjectedSource_INTERFACE_DEFINED__\n\n/* interface IDiaInjectedSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaInjectedSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"AE605CDC-8105-4a23-B710-3259F1E26112\")\n    IDiaInjectedSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_filename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceCompression( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_source( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaInjectedSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaInjectedSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaInjectedSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaInjectedSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crc )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceCompression )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_source )( \n            IDiaInjectedSource * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        END_INTERFACE\n    } IDiaInjectedSourceVtbl;\n\n    interface IDiaInjectedSource\n    {\n        CONST_VTBL struct IDiaInjectedSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaInjectedSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaInjectedSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaInjectedSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaInjectedSource_get_crc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_crc(This,pRetVal)\n\n#define IDiaInjectedSource_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaInjectedSource_get_filename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_filename(This,pRetVal)\n\n#define IDiaInjectedSource_get_objectFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_virtualFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_sourceCompression(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceCompression(This,pRetVal)\n\n#define IDiaInjectedSource_get_source(This,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> get_source(This,cbData,pcbData,pbData)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_crc_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_crc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_length_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_filename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_filename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_objectFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_objectFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_virtualFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_virtualFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_sourceCompression_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_sourceCompression_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_source_Proxy( \n    IDiaInjectedSource * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_source_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaInjectedSource_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLVarInstance_INTERFACE_DEFINED__\n#define __IDiaLVarInstance_INTERFACE_DEFINED__\n\n/* interface IDiaLVarInstance */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLVarInstance;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0e425a73-3ced-4964-8cf0-a6caf11bd818\")\n    IDiaLVarInstance : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbol( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sectionStart( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offsetStart( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rvaStart( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_vaStart( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rvaEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sectionEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offsetEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_vaEnd( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_program( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_livenessAt( \n            /* [in] */ ULONGLONG va,\n            /* [out] */ BOOL *pfLive) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_location( \n            /* [in] */ IDiaStackFrame *pFrame,\n            /* [out] */ BOOL *pfLocInRegister,\n            /* [out] */ DWORD *pdwRegId,\n            /* [out] */ ULONGLONG *pva) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLVarInstanceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLVarInstance * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLVarInstance * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLVarInstance * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbol )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sectionStart )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetStart )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rvaStart )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vaStart )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rvaEnd )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sectionEnd )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offsetEnd )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_vaEnd )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_program )( \n            IDiaLVarInstance * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_livenessAt )( \n            IDiaLVarInstance * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ BOOL *pfLive);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_location )( \n            IDiaLVarInstance * This,\n            /* [in] */ IDiaStackFrame *pFrame,\n            /* [out] */ BOOL *pfLocInRegister,\n            /* [out] */ DWORD *pdwRegId,\n            /* [out] */ ULONGLONG *pva);\n        \n        END_INTERFACE\n    } IDiaLVarInstanceVtbl;\n\n    interface IDiaLVarInstance\n    {\n        CONST_VTBL struct IDiaLVarInstanceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLVarInstance_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLVarInstance_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLVarInstance_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLVarInstance_get_symbol(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symbol(This,pRetVal)\n\n#define IDiaLVarInstance_get_sectionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sectionStart(This,pRetVal)\n\n#define IDiaLVarInstance_get_offsetStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offsetStart(This,pRetVal)\n\n#define IDiaLVarInstance_get_rvaStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_rvaStart(This,pRetVal)\n\n#define IDiaLVarInstance_get_vaStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_vaStart(This,pRetVal)\n\n#define IDiaLVarInstance_get_rvaEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_rvaEnd(This,pRetVal)\n\n#define IDiaLVarInstance_get_sectionEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sectionEnd(This,pRetVal)\n\n#define IDiaLVarInstance_get_offsetEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offsetEnd(This,pRetVal)\n\n#define IDiaLVarInstance_get_vaEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_vaEnd(This,pRetVal)\n\n#define IDiaLVarInstance_get_program(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_program(This,pRetVal)\n\n#define IDiaLVarInstance_get_livenessAt(This,va,pfLive)\t\\\n    (This)->lpVtbl -> get_livenessAt(This,va,pfLive)\n\n#define IDiaLVarInstance_get_location(This,pFrame,pfLocInRegister,pdwRegId,pva)\t\\\n    (This)->lpVtbl -> get_location(This,pFrame,pfLocInRegister,pdwRegId,pva)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_symbol_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_symbol_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_sectionStart_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_sectionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_offsetStart_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_offsetStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_rvaStart_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_rvaStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_vaStart_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_vaStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_rvaEnd_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_rvaEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_sectionEnd_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_sectionEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_offsetEnd_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_offsetEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_vaEnd_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_vaEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_program_Proxy( \n    IDiaLVarInstance * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_program_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_livenessAt_Proxy( \n    IDiaLVarInstance * This,\n    /* [in] */ ULONGLONG va,\n    /* [out] */ BOOL *pfLive);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_livenessAt_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLVarInstance_get_location_Proxy( \n    IDiaLVarInstance * This,\n    /* [in] */ IDiaStackFrame *pFrame,\n    /* [out] */ BOOL *pfLocInRegister,\n    /* [out] */ DWORD *pdwRegId,\n    /* [out] */ ULONGLONG *pva);\n\n\nvoid __RPC_STUB IDiaLVarInstance_get_location_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLVarInstance_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0147 */\n/* [local] */ \n\n\nenum __MIDL___MIDL_itf_dia2_0147_0001\n    {\tE_DIA_INPROLOG\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )100),\n\tE_DIA_SYNTAX\t= E_DIA_INPROLOG + 1,\n\tE_DIA_FRAME_ACCESS\t= E_DIA_SYNTAX + 1,\n\tE_DIA_VALUE\t= E_DIA_FRAME_ACCESS + 1\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0147_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0147_v0_0_s_ifspec;\n\n#ifndef __IDiaStackWalkFrame_INTERFACE_DEFINED__\n#define __IDiaStackWalkFrame_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkFrame */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkFrame;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D\")\n    IDiaStackWalkFrame : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue( \n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE readMemory( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress( \n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart( \n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkFrameVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkFrame * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkFrame * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        END_INTERFACE\n    } IDiaStackWalkFrameVtbl;\n\n    interface IDiaStackWalkFrame\n    {\n        CONST_VTBL struct IDiaStackWalkFrameVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkFrame_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkFrame_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkFrame_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkFrame_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkFrame_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkFrame_readMemory(This,va,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> readMemory(This,va,cbData,pcbData,pbData)\n\n#define IDiaStackWalkFrame_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkFrame_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_get_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_put_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_put_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_readMemory_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_readMemory_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddress_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddressStart_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [in] */ ULONGLONG startAddress,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddressStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalkFrame_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_INTERFACE_DEFINED__\n#define __IDiaFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A39184B7-6A36-42de-8EEC-7DF9F3F59F33\")\n    IDiaFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthBlock( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_program( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionParent( \n            /* [retval][out] */ IDiaFrameData **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE execute( \n            IDiaStackWalkFrame *frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthBlock )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_program )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionParent )( \n            IDiaFrameData * This,\n            /* [retval][out] */ IDiaFrameData **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *execute )( \n            IDiaFrameData * This,\n            IDiaStackWalkFrame *frame);\n        \n        END_INTERFACE\n    } IDiaFrameDataVtbl;\n\n    interface IDiaFrameData\n    {\n        CONST_VTBL struct IDiaFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaFrameData_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaFrameData_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaFrameData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_lengthBlock(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthBlock(This,pRetVal)\n\n#define IDiaFrameData_get_lengthLocals(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthLocals(This,pRetVal)\n\n#define IDiaFrameData_get_lengthParams(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthParams(This,pRetVal)\n\n#define IDiaFrameData_get_maxStack(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_maxStack(This,pRetVal)\n\n#define IDiaFrameData_get_lengthProlog(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthProlog(This,pRetVal)\n\n#define IDiaFrameData_get_lengthSavedRegisters(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal)\n\n#define IDiaFrameData_get_program(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_program(This,pRetVal)\n\n#define IDiaFrameData_get_systemExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_cplusplusExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_functionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionStart(This,pRetVal)\n\n#define IDiaFrameData_get_allocatesBasePointer(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal)\n\n#define IDiaFrameData_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaFrameData_get_functionParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionParent(This,pRetVal)\n\n#define IDiaFrameData_execute(This,frame)\t\\\n    (This)->lpVtbl -> execute(This,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressSection_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressOffset_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_relativeVirtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_virtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthBlock_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthBlock_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthLocals_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthLocals_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthParams_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthParams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_maxStack_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_maxStack_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthProlog_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthProlog_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthSavedRegisters_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthSavedRegisters_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_program_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_program_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_systemExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_systemExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_cplusplusExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_cplusplusExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionStart_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_allocatesBasePointer_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_allocatesBasePointer_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_type_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionParent_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ IDiaFrameData **pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaFrameData_execute_Proxy( \n    IDiaFrameData * This,\n    IDiaStackWalkFrame *frame);\n\n\nvoid __RPC_STUB IDiaFrameData_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaImageData_INTERFACE_DEFINED__\n#define __IDiaImageData_INTERFACE_DEFINED__\n\n/* interface IDiaImageData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaImageData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C8E40ED2-A1D9-4221-8692-3CE661184B44\")\n    IDiaImageData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageBase( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaImageDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaImageData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaImageData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaImageData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageBase )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaImageDataVtbl;\n\n    interface IDiaImageData\n    {\n        CONST_VTBL struct IDiaImageDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaImageData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaImageData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaImageData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaImageData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_imageBase(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageBase(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_relativeVirtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_virtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_imageBase_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_imageBase_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaImageData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaTable_INTERFACE_DEFINED__\n#define __IDiaTable_INTERFACE_DEFINED__\n\n/* interface IDiaTable */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaTable;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4A59FB77-ABAC-469b-A30B-9ECC85BFEF14\")\n    IDiaTable : public IEnumUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaTableVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaTable * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaTable * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaTable * This);\n        \n        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IUnknown **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaTable * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaTable * This,\n            /* [out] */ IEnumUnknown **ppenum);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaTable * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaTable * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaTable * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaTable * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element);\n        \n        END_INTERFACE\n    } IDiaTableVtbl;\n\n    interface IDiaTable\n    {\n        CONST_VTBL struct IDiaTableVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaTable_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaTable_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaTable_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaTable_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaTable_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaTable_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaTable_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n\n#define IDiaTable_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaTable_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaTable_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaTable_Item(This,index,element)\t\\\n    (This)->lpVtbl -> Item(This,index,element)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get__NewEnum_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_name_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_Count_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaTable_Item_Proxy( \n    IDiaTable * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IUnknown **element);\n\n\nvoid __RPC_STUB IDiaTable_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaTable_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_INTERFACE_DEFINED__\n#define __IDiaEnumTables_INTERFACE_DEFINED__\n\n/* interface IDiaEnumTables */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumTables;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E\")\n    IDiaEnumTables : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumTables **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumTablesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumTables * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumTables * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumTables * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumTables * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumTables * This,\n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumTables * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumTables * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumTables * This,\n            /* [out] */ IDiaEnumTables **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumTablesVtbl;\n\n    interface IDiaEnumTables\n    {\n        CONST_VTBL struct IDiaEnumTablesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumTables_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumTables_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumTables_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumTables_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumTables_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumTables_Item(This,index,table)\t\\\n    (This)->lpVtbl -> Item(This,index,table)\n\n#define IDiaEnumTables_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumTables_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumTables_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumTables_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get__NewEnum_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get_Count_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_Item_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaTable **table);\n\n\nvoid __RPC_STUB IDiaEnumTables_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Next_Proxy( \n    IDiaEnumTables * This,\n    ULONG celt,\n    IDiaTable **rgelt,\n    ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumTables_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Skip_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumTables_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Reset_Proxy( \n    IDiaEnumTables * This);\n\n\nvoid __RPC_STUB IDiaEnumTables_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Clone_Proxy( \n    IDiaEnumTables * This,\n    /* [out] */ IDiaEnumTables **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumTables_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumTables_INTERFACE_DEFINED__ */\n\n\n\n#ifndef __Dia2Lib_LIBRARY_DEFINED__\n#define __Dia2Lib_LIBRARY_DEFINED__\n\n/* library Dia2Lib */\n/* [helpstring][version][uuid] */ \n\n\nEXTERN_C const IID LIBID_Dia2Lib;\n\nEXTERN_C const CLSID CLSID_DiaSource;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"bce36434-2c24-499e-bf49-8bd99b0eeb68\")\nDiaSource;\n#endif\n\nEXTERN_C const CLSID CLSID_DiaSourceAlt;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"1fbd5ec4-b8e4-4d94-9efe-7ccaf9132c98\")\nDiaSourceAlt;\n#endif\n\nEXTERN_C const CLSID CLSID_DiaStackWalker;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"37dfdbcc-40a5-4f4a-8523-123c746d38f0\")\nDiaStackWalker;\n#endif\n#endif /* __Dia2Lib_LIBRARY_DEFINED__ */\n\n/* interface __MIDL_itf_dia2_0152 */\n/* [local] */ \n\n#define\tDiaTable_Symbols\t( L\"Symbols\" )\n\n#define\tDiaTable_Sections\t( L\"Sections\" )\n\n#define\tDiaTable_SrcFiles\t( L\"SourceFiles\" )\n\n#define\tDiaTable_LineNums\t( L\"LineNumbers\" )\n\n#define\tDiaTable_SegMap\t( L\"SegmentMap\" )\n\n#define\tDiaTable_Dbg\t( L\"Dbg\" )\n\n#define\tDiaTable_InjSrc\t( L\"InjectedSource\" )\n\n#define\tDiaTable_FrameData\t( L\"FrameData\" )\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0152_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0152_v0_0_s_ifspec;\n\n#ifndef __IDiaPropertyStorage_INTERFACE_DEFINED__\n#define __IDiaPropertyStorage_INTERFACE_DEFINED__\n\n/* interface IDiaPropertyStorage */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaPropertyStorage;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9d416f9c-e184-45b2-a4f0-ce517f719e9b\")\n    IDiaPropertyStorage : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadMultiple( \n            /* [in] */ ULONG cpspec,\n            /* [size_is][in] */ const PROPSPEC *rgpspec,\n            /* [size_is][out] */ PROPVARIANT *rgvar) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames( \n            /* [in] */ ULONG cpropid,\n            /* [size_is][in] */ const PROPID *rgpropid,\n            /* [size_is][out][in] */ BSTR *rglpwstrName) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Enum( \n            /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadDWORD( \n            /* [in] */ PROPID id,\n            /* [out] */ DWORD *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadLONG( \n            /* [in] */ PROPID id,\n            /* [out] */ LONG *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadBOOL( \n            /* [in] */ PROPID id,\n            /* [out] */ BOOL *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadULONGLONG( \n            /* [in] */ PROPID id,\n            /* [out] */ ULONGLONG *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadBSTR( \n            /* [in] */ PROPID id,\n            /* [out] */ BSTR *pValue) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaPropertyStorageVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaPropertyStorage * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaPropertyStorage * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaPropertyStorage * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadMultiple )( \n            IDiaPropertyStorage * This,\n            /* [in] */ ULONG cpspec,\n            /* [size_is][in] */ const PROPSPEC *rgpspec,\n            /* [size_is][out] */ PROPVARIANT *rgvar);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )( \n            IDiaPropertyStorage * This,\n            /* [in] */ ULONG cpropid,\n            /* [size_is][in] */ const PROPID *rgpropid,\n            /* [size_is][out][in] */ BSTR *rglpwstrName);\n        \n        HRESULT ( STDMETHODCALLTYPE *Enum )( \n            IDiaPropertyStorage * This,\n            /* [out] */ IEnumSTATPROPSTG **ppenum);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadDWORD )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ DWORD *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadLONG )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ LONG *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadBOOL )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ BOOL *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadULONGLONG )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ ULONGLONG *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadBSTR )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ BSTR *pValue);\n        \n        END_INTERFACE\n    } IDiaPropertyStorageVtbl;\n\n    interface IDiaPropertyStorage\n    {\n        CONST_VTBL struct IDiaPropertyStorageVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaPropertyStorage_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaPropertyStorage_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaPropertyStorage_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgvar)\t\\\n    (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgvar)\n\n#define IDiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)\t\\\n    (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)\n\n#define IDiaPropertyStorage_Enum(This,ppenum)\t\\\n    (This)->lpVtbl -> Enum(This,ppenum)\n\n#define IDiaPropertyStorage_ReadDWORD(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadDWORD(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadLONG(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadLONG(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadBOOL(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadBOOL(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadULONGLONG(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadULONGLONG(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadBSTR(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadBSTR(This,id,pValue)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadMultiple_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ ULONG cpspec,\n    /* [size_is][in] */ const PROPSPEC *rgpspec,\n    /* [size_is][out] */ PROPVARIANT *rgvar);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadMultiple_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadPropertyNames_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ ULONG cpropid,\n    /* [size_is][in] */ const PROPID *rgpropid,\n    /* [size_is][out][in] */ BSTR *rglpwstrName);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadPropertyNames_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_Enum_Proxy( \n    IDiaPropertyStorage * This,\n    /* [out] */ IEnumSTATPROPSTG **ppenum);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_Enum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadDWORD_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ DWORD *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadDWORD_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadLONG_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ LONG *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadLONG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadBOOL_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ BOOL *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadBOOL_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadULONGLONG_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ ULONGLONG *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadULONGLONG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadBSTR_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ BSTR *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadBSTR_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaPropertyStorage_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackFrame_INTERFACE_DEFINED__\n#define __IDiaStackFrame_INTERFACE_DEFINED__\n\n/* interface IDiaStackFrame */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackFrame;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"5edbc96d-cdd6-4792-afbe-cc89007d9610\")\n    IDiaStackFrame : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_base( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_size( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_returnAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_localsBase( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_rawLVarInstanceValue( \n            /* [in] */ IDiaLVarInstance *pInstance,\n            /* [in] */ DWORD cbDataMax,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_lVarInstanceLocation( \n            /* [in] */ IDiaLVarInstance *pInstance,\n            /* [out] */ BOOL *pfLocInRegister,\n            /* [out] */ DWORD *pdwRegId,\n            /* [out] */ ULONGLONG *pva) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackFrameVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackFrame * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackFrame * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackFrame * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_base )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnAddress )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localsBase )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackFrame * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_rawLVarInstanceValue )( \n            IDiaStackFrame * This,\n            /* [in] */ IDiaLVarInstance *pInstance,\n            /* [in] */ DWORD cbDataMax,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_lVarInstanceLocation )( \n            IDiaStackFrame * This,\n            /* [in] */ IDiaLVarInstance *pInstance,\n            /* [out] */ BOOL *pfLocInRegister,\n            /* [out] */ DWORD *pdwRegId,\n            /* [out] */ ULONGLONG *pva);\n        \n        END_INTERFACE\n    } IDiaStackFrameVtbl;\n\n    interface IDiaStackFrame\n    {\n        CONST_VTBL struct IDiaStackFrameVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackFrame_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackFrame_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackFrame_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackFrame_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaStackFrame_get_base(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_base(This,pRetVal)\n\n#define IDiaStackFrame_get_size(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_size(This,pRetVal)\n\n#define IDiaStackFrame_get_returnAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_returnAddress(This,pRetVal)\n\n#define IDiaStackFrame_get_localsBase(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_localsBase(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthLocals(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthLocals(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthParams(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthParams(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthProlog(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthProlog(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthSavedRegisters(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal)\n\n#define IDiaStackFrame_get_systemExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal)\n\n#define IDiaStackFrame_get_cplusplusExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal)\n\n#define IDiaStackFrame_get_functionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionStart(This,pRetVal)\n\n#define IDiaStackFrame_get_allocatesBasePointer(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal)\n\n#define IDiaStackFrame_get_maxStack(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_maxStack(This,pRetVal)\n\n#define IDiaStackFrame_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackFrame_get_rawLVarInstanceValue(This,pInstance,cbDataMax,pcbData,pbData)\t\\\n    (This)->lpVtbl -> get_rawLVarInstanceValue(This,pInstance,cbDataMax,pcbData,pbData)\n\n#define IDiaStackFrame_get_lVarInstanceLocation(This,pInstance,pfLocInRegister,pdwRegId,pva)\t\\\n    (This)->lpVtbl -> get_lVarInstanceLocation(This,pInstance,pfLocInRegister,pdwRegId,pva)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_type_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_base_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_base_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_size_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_size_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_returnAddress_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_returnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_localsBase_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_localsBase_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthLocals_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthLocals_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthParams_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthParams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthProlog_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthProlog_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthSavedRegisters_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthSavedRegisters_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_systemExceptionHandling_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_systemExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_cplusplusExceptionHandling_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_cplusplusExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_functionStart_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_functionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_allocatesBasePointer_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_allocatesBasePointer_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_maxStack_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_maxStack_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_registerValue_Proxy( \n    IDiaStackFrame * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackFrame_get_rawLVarInstanceValue_Proxy( \n    IDiaStackFrame * This,\n    /* [in] */ IDiaLVarInstance *pInstance,\n    /* [in] */ DWORD cbDataMax,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_rawLVarInstanceValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lVarInstanceLocation_Proxy( \n    IDiaStackFrame * This,\n    /* [in] */ IDiaLVarInstance *pInstance,\n    /* [out] */ BOOL *pfLocInRegister,\n    /* [out] */ DWORD *pdwRegId,\n    /* [out] */ ULONGLONG *pva);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lVarInstanceLocation_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackFrame_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumStackFrames_INTERFACE_DEFINED__\n#define __IDiaEnumStackFrames_INTERFACE_DEFINED__\n\n/* interface IDiaEnumStackFrames */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumStackFrames;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"ec9d461d-ce74-4711-a020-7d8f9a1dd255\")\n    IDiaEnumStackFrames : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaStackFrame **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumStackFramesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumStackFrames * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumStackFrames * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumStackFrames * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumStackFrames * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaStackFrame **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumStackFrames * This);\n        \n        END_INTERFACE\n    } IDiaEnumStackFramesVtbl;\n\n    interface IDiaEnumStackFrames\n    {\n        CONST_VTBL struct IDiaEnumStackFramesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumStackFrames_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumStackFrames_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumStackFrames_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumStackFrames_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumStackFrames_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumStackFrames_Next_Proxy( \n    IDiaEnumStackFrames * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaStackFrame **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumStackFrames_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumStackFrames_Reset_Proxy( \n    IDiaEnumStackFrames * This);\n\n\nvoid __RPC_STUB IDiaEnumStackFrames_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumStackFrames_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0156 */\n/* [local] */ \n\ntypedef /* [public] */ struct __MIDL___MIDL_itf_dia2_0156_0001\n    {\n    DWORD ulOffStart;\n    DWORD cbProcSize;\n    DWORD cdwLocals;\n    WORD cdwParams;\n    WORD cdwFlags;\n    } \tFPODATA;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0156_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0156_v0_0_s_ifspec;\n\n#ifndef __IDiaStackWalkHelper_INTERFACE_DEFINED__\n#define __IDiaStackWalkHelper_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkHelper */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkHelper;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"feb0155d-35a8-42d4-8328-bf458f429a3a\")\n    IDiaStackWalkHelper : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue( \n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE readMemory( \n            /* [in] */ enum MemoryTypeEnum type,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress( \n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart( \n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE frameForVA( \n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaFrameData **ppFrame) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symbolForVA( \n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE pdataForVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE imageForVA( \n            /* [in] */ ULONGLONG vaContext,\n            /* [out] */ ULONGLONG *pvaImageStart) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkHelperVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkHelper * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkHelper * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ enum MemoryTypeEnum type,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *frameForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaFrameData **ppFrame);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *pdataForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *imageForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG vaContext,\n            /* [out] */ ULONGLONG *pvaImageStart);\n        \n        END_INTERFACE\n    } IDiaStackWalkHelperVtbl;\n\n    interface IDiaStackWalkHelper\n    {\n        CONST_VTBL struct IDiaStackWalkHelperVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkHelper_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkHelper_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkHelper_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkHelper_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkHelper_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkHelper_readMemory(This,type,va,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,pbData)\n\n#define IDiaStackWalkHelper_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkHelper_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#define IDiaStackWalkHelper_frameForVA(This,va,ppFrame)\t\\\n    (This)->lpVtbl -> frameForVA(This,va,ppFrame)\n\n#define IDiaStackWalkHelper_symbolForVA(This,va,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolForVA(This,va,ppSymbol)\n\n#define IDiaStackWalkHelper_pdataForVA(This,va,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> pdataForVA(This,va,cbData,pcbData,pbData)\n\n#define IDiaStackWalkHelper_imageForVA(This,vaContext,pvaImageStart)\t\\\n    (This)->lpVtbl -> imageForVA(This,vaContext,pvaImageStart)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_get_registerValue_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_put_registerValue_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ DWORD index,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_put_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_readMemory_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ enum MemoryTypeEnum type,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_readMemory_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_searchForReturnAddress_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_searchForReturnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_searchForReturnAddressStart_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [in] */ ULONGLONG startAddress,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_searchForReturnAddressStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_frameForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG va,\n    /* [out] */ IDiaFrameData **ppFrame);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_frameForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_symbolForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG va,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_symbolForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_pdataForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [size_is][out] */ BYTE *pbData);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_pdataForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_imageForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG vaContext,\n    /* [out] */ ULONGLONG *pvaImageStart);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_imageForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalkHelper_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker_INTERFACE_DEFINED__\n#define __IDiaStackWalker_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalker */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalker;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"5485216b-a54c-469f-9670-52b24d5229bb\")\n    IDiaStackWalker : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE getEnumFrames( \n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumFrames2( \n            /* [in] */ enum CV_CPU_TYPE_e cpuid,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkerVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalker * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalker * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalker * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumFrames )( \n            IDiaStackWalker * This,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumFrames2 )( \n            IDiaStackWalker * This,\n            /* [in] */ enum CV_CPU_TYPE_e cpuid,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum);\n        \n        END_INTERFACE\n    } IDiaStackWalkerVtbl;\n\n    interface IDiaStackWalker\n    {\n        CONST_VTBL struct IDiaStackWalkerVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalker_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalker_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalker_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalker_getEnumFrames(This,pHelper,ppEnum)\t\\\n    (This)->lpVtbl -> getEnumFrames(This,pHelper,ppEnum)\n\n#define IDiaStackWalker_getEnumFrames2(This,cpuid,pHelper,ppEnum)\t\\\n    (This)->lpVtbl -> getEnumFrames2(This,cpuid,pHelper,ppEnum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalker_getEnumFrames_Proxy( \n    IDiaStackWalker * This,\n    /* [in] */ IDiaStackWalkHelper *pHelper,\n    /* [out] */ IDiaEnumStackFrames **ppEnum);\n\n\nvoid __RPC_STUB IDiaStackWalker_getEnumFrames_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalker_getEnumFrames2_Proxy( \n    IDiaStackWalker * This,\n    /* [in] */ enum CV_CPU_TYPE_e cpuid,\n    /* [in] */ IDiaStackWalkHelper *pHelper,\n    /* [out] */ IDiaEnumStackFrames **ppEnum);\n\n\nvoid __RPC_STUB IDiaStackWalker_getEnumFrames2_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalker_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkHelper2_INTERFACE_DEFINED__\n#define __IDiaStackWalkHelper2_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkHelper2 */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkHelper2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8222c490-507b-4bef-b3bd-41dca7b5934c\")\n    IDiaStackWalkHelper2 : public IDiaStackWalkHelper\n    {\n    public:\n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkHelper2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkHelper2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkHelper2 * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ enum MemoryTypeEnum type,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *frameForVA )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaFrameData **ppFrame);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolForVA )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *pdataForVA )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [size_is][out] */ BYTE *pbData);\n        \n        HRESULT ( STDMETHODCALLTYPE *imageForVA )( \n            IDiaStackWalkHelper2 * This,\n            /* [in] */ ULONGLONG vaContext,\n            /* [out] */ ULONGLONG *pvaImageStart);\n        \n        END_INTERFACE\n    } IDiaStackWalkHelper2Vtbl;\n\n    interface IDiaStackWalkHelper2\n    {\n        CONST_VTBL struct IDiaStackWalkHelper2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkHelper2_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkHelper2_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkHelper2_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkHelper2_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkHelper2_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkHelper2_readMemory(This,type,va,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,pbData)\n\n#define IDiaStackWalkHelper2_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkHelper2_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#define IDiaStackWalkHelper2_frameForVA(This,va,ppFrame)\t\\\n    (This)->lpVtbl -> frameForVA(This,va,ppFrame)\n\n#define IDiaStackWalkHelper2_symbolForVA(This,va,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolForVA(This,va,ppSymbol)\n\n#define IDiaStackWalkHelper2_pdataForVA(This,va,cbData,pcbData,pbData)\t\\\n    (This)->lpVtbl -> pdataForVA(This,va,cbData,pcbData,pbData)\n\n#define IDiaStackWalkHelper2_imageForVA(This,vaContext,pvaImageStart)\t\\\n    (This)->lpVtbl -> imageForVA(This,vaContext,pvaImageStart)\n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDiaStackWalkHelper2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker2_INTERFACE_DEFINED__\n#define __IDiaStackWalker2_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalker2 */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalker2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"7c185885-a015-4cac-9411-0f4fb39b1f3a\")\n    IDiaStackWalker2 : public IDiaStackWalker\n    {\n    public:\n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalker2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalker2 * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalker2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalker2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumFrames )( \n            IDiaStackWalker2 * This,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumFrames2 )( \n            IDiaStackWalker2 * This,\n            /* [in] */ enum CV_CPU_TYPE_e cpuid,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum);\n        \n        END_INTERFACE\n    } IDiaStackWalker2Vtbl;\n\n    interface IDiaStackWalker2\n    {\n        CONST_VTBL struct IDiaStackWalker2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalker2_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalker2_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalker2_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalker2_getEnumFrames(This,pHelper,ppEnum)\t\\\n    (This)->lpVtbl -> getEnumFrames(This,pHelper,ppEnum)\n\n#define IDiaStackWalker2_getEnumFrames2(This,cpuid,pHelper,ppEnum)\t\\\n    (This)->lpVtbl -> getEnumFrames2(This,cpuid,pHelper,ppEnum)\n\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n\n#endif \t/* __IDiaStackWalker2_INTERFACE_DEFINED__ */\n\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "Addition/DIASDK2005/include/diacreate.h",
    "content": "// diacreate.h - creation helper functions for DIA initialization\n//-----------------------------------------------------------------\n// \n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _DIACREATE_H_\n#define _DIACREATE_H_\n\n//\n// Create a dia data source object from the dia dll (by dll name - does not access the registry).\n//\n\nHRESULT STDMETHODCALLTYPE NoRegCoCreate(  const __wchar_t *dllName,\n                        REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n#ifndef _NATIVE_WCHAR_T_DEFINED\n#ifdef __cplusplus\n\nHRESULT STDMETHODCALLTYPE NoRegCoCreate(  const wchar_t *dllName,\n                        REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv) \n{\n    return NoRegCoCreate( (const __wchar_t *)dllName, rclsid, riid, ppv );\n}\n\n#endif\n#endif\n\n\n\n//\n// Create a dia data source object from the dia dll (looks up the class id in the registry).\n//\nHRESULT STDMETHODCALLTYPE NoOleCoCreate(  REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n#endif\n"
  },
  {
    "path": "Addition/DiaSDK.NET2003/idl/dia2.idl",
    "content": "// dia2.idl - Debug Information Access (DIA) interface description\n//-----------------------------------------------------------------\n//\n// Copyright 1999-2000 Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\nimport \"objidl.idl\";\nimport \"oaidl.idl\";\nimport \"propidl.idl\";\n\nimport \"cvconst.h\";\n\nenum NameSearchOptions\n{\n    nsNone = 0,\n\n    nsfCaseSensitive = 0x1,         // apply a case sensitive match\n    nsfCaseInsensitive = 0x2,       // apply a case insensitive match\n    nsfFNameExt = 0x4,              // treat names as paths and apply a filename.ext match\n    nsfRegularExpression = 0x8,     // regular expression\n    nsfUndecoratedName = 0x10,      // applies only to symbols that have both undecorated and decorated names\n\n    // predefined names for backward source compatibility\n\n    nsCaseSensitive = nsfCaseSensitive,             // apply a case sensitive match\n    nsCaseInsensitive = nsfCaseInsensitive,         // apply a case insensitive match\n    nsFNameExt = nsfCaseInsensitive | nsfFNameExt,  // treat names as paths and apply a filename.ext match\n    nsRegularExpression = nsfRegularExpression | nsfCaseSensitive,      // regular expression (using only '*' and '?')\n    nsCaseInRegularExpression = nsfRegularExpression | nsfCaseInsensitive,  // case insensitive regular expression\n};\n\n\n// the following are error HRESULTS returned by an IDiaDataSource they\n// are based on the FACILITY_VISUALCPP (0x6d) defined in delayimp.h\n\nenum \n{\n    E_PDB_OK=((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(1))) ),\n    E_PDB_USAGE                 ,\n    E_PDB_OUT_OF_MEMORY         , // not used, use E_OUTOFMEMORY\n    E_PDB_FILE_SYSTEM           ,\n    E_PDB_NOT_FOUND             ,\n    E_PDB_INVALID_SIG           ,\n    E_PDB_INVALID_AGE           ,\n    E_PDB_PRECOMP_REQUIRED      ,\n    E_PDB_OUT_OF_TI             ,\n    E_PDB_NOT_IMPLEMENTED       ,   // use E_NOTIMPL\n    E_PDB_V1_PDB                ,\n    E_PDB_FORMAT                ,\n    E_PDB_LIMIT                 ,\n    E_PDB_CORRUPT               ,\n    E_PDB_TI16                  ,\n    E_PDB_ACCESS_DENIED         ,  // use E_ACCESSDENIED\n    E_PDB_ILLEGAL_TYPE_EDIT     ,\n    E_PDB_INVALID_EXECUTABLE    ,\n    E_PDB_DBG_NOT_FOUND         ,\n    E_PDB_NO_DEBUG_INFO         ,\n    E_PDB_INVALID_EXE_TIMESTAMP ,\n    E_PDB_RESERVED              ,\n    E_PDB_DEBUG_INFO_NOT_IN_PDB ,\n    E_PDB_MAX\n};\n\n//\n// Errors in finding dynamically loaded dlls or functions.\n//\nenum\n{\n    DIA_E_MODNOTFOUND = E_PDB_MAX+1,\n    DIA_E_PROCNOTFOUND,\n};\n\n#define PROPERTY_RW(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] type NewVal)\n\n#define PROPERTY_ARRAY_RW(type, itype, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [out, retval] type * pRetVal);   \\\n                                                      \\\n        [propput, helpstring(help), id(prid)]         \\\n        HRESULT name([in] itype index, [in] type NewVal)\n\n#define PROPERTY_RO(type, name, prid, help)           \\\n        [propget, helpstring(help), id(prid)]         \\\n        HRESULT name([out, retval] type * pRetVal) \n\n// type of callback arg to IDiaDataSource::loadDataForExe\ntypedef void (__cdecl *PfnPDBDebugDirV)(BOOL, /*const struct _IMAGE_DEBUG_DIRECTORY * */ void*);\n\n\ninterface IDiaSession;\ninterface IDiaEnumTables;\n\ninterface IDiaSymbol;\ninterface IDiaSourceFile;\ninterface IDiaLineNumber;\ninterface IDiaInjectedSource;\ninterface IDiaSegment;\ninterface IDiaSectionContrib;\ninterface IDiaFrameData;\n\n[\n    object,\n    uuid(C32ADB82-73F4-421b-95D5-A4706EDF5DBE),\n    local,\n    helpstring(\"IDiaLoadCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaLoadCallback: IUnknown\n{\n    HRESULT NotifyDebugDir(\n                [in] BOOL fExecutable, \n                [in] DWORD cbData,\n                [in, size_is(cbData)] BYTE data[]); // really a const struct _IMAGE_DEBUG_DIRECTORY *\n\n    HRESULT NotifyOpenDBG(\n                [in] LPCOLESTR dbgPath, \n                [in] HRESULT resultCode);\n\n    HRESULT NotifyOpenPDB(\n                [in] LPCOLESTR pdbPath, \n                [in] HRESULT resultCode);\n\n    HRESULT RestrictRegistryAccess();         // return hr != S_OK to prevent querying the registry for symbol search paths\n    HRESULT RestrictSymbolServerAccess();     // return hr != S_OK to prevent accessing a symbol server\n}\n\n[\n    object,\n    uuid(4688a074-5a4d-4486-aea8-7b90711d9f7c),\n    local,\n    helpstring(\"IDiaLoadCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaLoadCallback2: IDiaLoadCallback\n{\n    HRESULT RestrictOriginalPathAccess();     // return hr != S_OK to prevent looking up PDB specified in the debug directory\n    HRESULT RestrictReferencePathAccess();    // return hr != S_OK to prevent looking up for PDB where the EXE is located.\n    HRESULT RestrictDBGAccess();              // return hr != S_OK to prevent looking up debug information from DBG files.\n}\n\n[\n    object,\n    uuid(587A461C-B80B-4f54-9194-5032589A6319),\n    local,\n    helpstring(\"IDiaReadExeAtOffsetCallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtOffsetCallback: IUnknown\n{    \n    HRESULT ReadExecutableAt(\n                [in] DWORDLONG fileOffset, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData),\n                length_is(*pcbData)] BYTE data[]);\n\n}\n\n[\n    object,\n    uuid(8E3F80CA-7517-432a-BA07-285134AAEA8E),\n    local,\n    helpstring(\"IDiaReadExeAtRVACallback interface.\"),\n    pointer_default(unique)\n]\ninterface IDiaReadExeAtRVACallback: IUnknown\n{    \n    HRESULT ReadExecutableAtRVA(\n                [in] DWORD relativeVirtualAddress, \n                [in] DWORD cbData,\n                [out] DWORD *pcbData,\n                [out, size_is(cbData),\n                length_is(*pcbData)] BYTE data[]);\n}\n\n[\n    object,\n    uuid(79F1BB5F-B66E-48e5-B6A9-1545C323CA3D),\n    local,\n    helpstring(\"IDiaDataSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaDataSource: IUnknown\n{\n    PROPERTY_RO( BSTR, lastError, 1, \"Text for last load error.\" );\n\n    //\n    // loadDataFromPdb\n    //\n   HRESULT loadDataFromPdb(\n               [in] LPCOLESTR pdbPath );\n\n    //\n    // loadAndValidateDataFromPdb\n    //\n   HRESULT loadAndValidateDataFromPdb(\n               [in] LPCOLESTR pdbPath,\n               [in] GUID* pcsig70,\n               [in] DWORD sig,\n               [in] DWORD age );\n\n    //\n    // loadDataForExe\n    //\n    HRESULT loadDataForExe(\n               [in] LPCOLESTR executable,\n               [in] LPCOLESTR searchPath,\n               [in] IUnknown* pCallback );\n\n    //\n    // loadDataFromIStream\n    //\n    HRESULT loadDataFromIStream(\n                [in] IStream *pIStream );\n\n\n    HRESULT openSession( \n                [out] IDiaSession** ppSession \n                );\n}\n\n[\n    object,\n    uuid(CAB72C48-443B-48f5-9B0B-42F0820AB29A),\n    local,\n    helpstring(\"IDiaEnumSymbols Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbols: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSymbols.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of symbols.\" );\n\n    [id(0), helpstring(\"Return the symbol for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSymbol **symbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbols **ppenum);\n}\n\n[\n    object,\n    uuid(624B7D9C-24EA-4421-9D06-3B577471C1FA),\n    local,\n    helpstring(\"IDiaEnumSymbolsByAddr Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSymbolsByAddr: IUnknown\n{\n    //\n    // Item(ByXxx) re-positions the enumerator to the item found\n    //\n    [helpstring(\"Return the symbol for the given address.\")]\n    HRESULT symbolByAddr(\n        [in] DWORD isect, \n        [in] DWORD offset, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given relative virtual address.\")]\n    HRESULT symbolByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    [helpstring(\"Return the symbol for the given virtual address.\")]\n    HRESULT symbolByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaSymbol** ppSymbol);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Prev(\n        [in] ULONG celt,          \n        [out] IDiaSymbol ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Clone(\n        [out] IDiaEnumSymbolsByAddr **ppenum);\n}\n\n[\n    object,\n    uuid(10F3DBD9-664F-4469-B808-9471C7A50538),\n    local,\n    helpstring(\"IDiaEnumSourceFiles Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSourceFiles: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSourceFiles.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of source files.\" );\n\n    [id(0), helpstring(\"Return the source file for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSourceFile **sourceFile);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSourceFile ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSourceFiles **ppenum);\n}\n\n[\n    object,\n    uuid(FE30E878-54AC-44f1-81BA-39DE940F6052),\n    local,\n    helpstring(\"IDiaEnumLineNumbers Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumLineNumbers: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumLineNumbers.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of line numbers.\" );\n\n    [id(0), helpstring(\"Return the line number for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaLineNumber **lineNumber);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaLineNumber ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumLineNumbers **ppenum);\n}\n\n[\n    object,\n    uuid(D5612573-6925-4468-8883-98CDEC8C384A),\n    local,\n    helpstring(\"IDiaEnumInjectedSources Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumInjectedSources: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumInjectedSources.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of injected source files.\" );\n\n    [id(0), helpstring(\"Return the injected source for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaInjectedSource **injectedSource);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaInjectedSource ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumInjectedSources **ppenum);\n}\n\n[\n    object,\n    uuid(E8368CA9-01D1-419d-AC0C-E31235DBDA9F),\n    local,\n    helpstring(\"IDiaEnumSegments Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSegments: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSegments.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of segments.\" );\n\n    [id(0), helpstring(\"Return the segment for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSegment **segment);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSegment ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSegments **ppenum);\n}\n\n[\n    object,\n    uuid(1994DEB2-2C82-4b1d-A57F-AFF424D54A68),\n    local,\n    helpstring(\"IDiaEnumSectionContribs Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumSectionContribs: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumSectionContribs.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of section contributions.\" );\n\n    [id(0), helpstring(\"Return the section contribution for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaSectionContrib **section);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaSectionContrib ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumSectionContribs **ppenum);\n}\n\n[\n    object,\n    uuid(9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F),\n    local,\n    helpstring(\"IDiaEnumFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumFrameData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumFrameData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of frames.\" );\n\n    [id(0), helpstring(\"Return the frame for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IDiaFrameData **frame);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaFrameData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumFrameData **ppenum);\n\n    //\n    // The following two by-address lookups do not reposition the enumeration\n    //\n    [helpstring(\"Return the frame for the given relative virtual address.\")]\n    HRESULT frameByRVA(\n        [in] DWORD relativeVirtualAddress, \n        [out, retval]IDiaFrameData **frame);\n\n    [helpstring(\"Return the frame for the given virtual address.\")]\n    HRESULT frameByVA(\n        [in] ULONGLONG virtualAddress, \n        [out, retval]IDiaFrameData **frame);\n}\n\n[\n    object,\n    uuid(486943E8-D187-4a6b-A3C4-291259FFF60D),\n    local,\n    helpstring(\"IDiaEnumDebugStreamData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreamData: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreamData.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of elements in the stream.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Stream name.\" );\n\n    [id(0), helpstring(\"Return the element for the given index.\")]\n    HRESULT Item(\n            [in] DWORD index, \n            [in] DWORD cbData,\n            [out] DWORD *pcbData,\n            [out, size_is(cbData),\n            length_is(*pcbData)] BYTE data[]\n            );\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [in] DWORD cbData,\n        [out] DWORD *pcbData,\n        [out, size_is(cbData),\n        length_is(*pcbData)] BYTE data[],\n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreamData **ppenum);\n}\n\n[\n    object,\n    uuid(08CBB41E-47A6-4f87-92F1-1C9C87CED044),\n    local,\n    helpstring(\"IDiaEnumDebugStreams Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumDebugStreams: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumDebugStreams.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of streams.\" );\n\n    [id(0), helpstring(\"Return the stream for the given index.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaEnumDebugStreamData **stream);\n\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaEnumDebugStreamData ** rgelt,   \n        [out] ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumDebugStreams **ppenum);\n}\n\nstruct DiaAddressMapEntry\n{\n    DWORD rva;\n    DWORD rvaTo;\n};\n\n[\n    object,\n    uuid(B62A2E7A-067A-4ea3-B598-04C09717502C),\n    local,\n    helpstring(\"IDiaAddressMap Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaAddressMap: IUnknown\n{\n    PROPERTY_RW( BOOL, addressMapEnabled, 3, \"Enable address translations.\" );\n    PROPERTY_RW( BOOL, relativeVirtualAddressEnabled, 4, \"Enable relative virtual address computations.\");\n    PROPERTY_RW( DWORD, imageAlign, 5, \"Original image alignment.\" );\n\n    HRESULT set_imageHeaders(\n     [in] DWORD cbData,\n     [in, size_is(cbData)] BYTE data[],      // actual type is IMAGE_SECTION_HEADER[]\n     [in] BOOL originalHeaders );            // true: headers are original, that is, they match the debug symbols\n                                             // false: headers are current, that is, they match the image\n\n    HRESULT set_addressMap(\n     [in] DWORD cData,          // number of entries in rva map\n     [in, size_is(cData)] struct DiaAddressMapEntry data[],      // rva map\n     [in] BOOL imageToSymbols );             // true:  map from image to symbols (omapt)\n                                             // false: map from symbols to image (omapf)\n};\n\n[\n    object,\n    uuid(67138B34-79CD-4b42-B74A-A18ADBB799DF),\n    local,\n    helpstring(\"IDiaSession Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSession: IUnknown\n{\n    PROPERTY_RW( ULONGLONG, loadAddress, 1, \"Dll/Exe load address.\" );\n    PROPERTY_RO( IDiaSymbol*, globalScope, 2, \"Global scope (exe) symbol.\" );\n\n    HRESULT getEnumTables( \n        [out] IDiaEnumTables** ppEnumTables );\n    HRESULT getSymbolsByAddr( \n        [out] IDiaEnumSymbolsByAddr** ppEnumbyAddr );\n\n    //\n    // Queries that return sets of symbols\n    //\n    HRESULT findChildren( \n        [in] IDiaSymbol* parent, \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n    HRESULT findSymbolByAddr (\n        [in] DWORD isect,\n        [in] DWORD offset,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVA (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByVA (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByToken (\n        [in] ULONG token,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol );\n    HRESULT symsAreEquiv(\n        [in] IDiaSymbol* symbolA, \n        [in] IDiaSymbol* symbolB );\n    HRESULT symbolById(\n        [in] DWORD id,\n        [out] IDiaSymbol** ppSymbol );\n    HRESULT findSymbolByRVAEx (\n        [in] DWORD rva,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n    HRESULT findSymbolByVAEx (\n        [in] ULONGLONG va,\n        [in] enum SymTagEnum symtag, \n        [out] IDiaSymbol** ppSymbol,\n        [out] long* displacement );\n\n    //\n    // Queries that return source file results\n    //\n    HRESULT findFile(\n        [in] IDiaSymbol* pCompiland, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSourceFiles** ppResult );\n    HRESULT findFileById(\n        [in] DWORD uniqueId,\n        [out] IDiaSourceFile** ppResult );\n\n    //\n    // Queries that return line number results\n    //\n    HRESULT findLines( \n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file, \n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByAddr(\n        [in] DWORD seg,\n        [in] DWORD offset,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByRVA(\n        [in] DWORD rva,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByVA(\n        [in] ULONGLONG va,\n        [in] DWORD length,\n        [out] IDiaEnumLineNumbers** ppResult );\n    HRESULT findLinesByLinenum(\n        [in] IDiaSymbol* compiland, \n        [in] IDiaSourceFile* file,\n        [in] DWORD linenum,\n        [in] DWORD column,\n        [out] IDiaEnumLineNumbers** ppResult );\n\n    //\n    // Queries that return injected source\n    //\n    HRESULT findInjectedSource( \n        [in] LPCOLESTR srcFile, \n        [out] IDiaEnumInjectedSources** ppResult );\n\n    HRESULT getEnumDebugStreams( \n        [out] IDiaEnumDebugStreams** ppEnumDebugStreams );\n};\n\n/*\n *  Table Columns\n *\n *  Symbols - a symbol will have values in some subset of the fields\n */\n[\n    object,\n    uuid(72827A48-D320-4eaf-8436-548ADE47D5E5),\n    local,\n    helpstring(\"IDiaSymbol Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSymbol: IUnknown\n{\n    PROPERTY_RO( DWORD, symIndexId, 0, \"Unique symbol identifier.\" );\n    PROPERTY_RO( DWORD, symTag, 1, \"Symbol kind tag.\" );\n    PROPERTY_RO( BSTR, name, 2, \"Name\" );                     \n    PROPERTY_RO( IDiaSymbol*, lexicalParent, 3, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( IDiaSymbol*, classParent, 4, \".\");\n    PROPERTY_RO( IDiaSymbol*, type, 5, \".\");\n    PROPERTY_RO( DWORD, dataKind, 6, \".\");\n    PROPERTY_RO( DWORD, locationType, 7, \".\");\n    PROPERTY_RO( DWORD, addressSection, 8, \".\");\n    PROPERTY_RO( DWORD, addressOffset, 9, \".\");\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 10, \".\");\n    PROPERTY_RO( ULONGLONG, virtualAddress, 11, \".\");\n    PROPERTY_RO( DWORD, registerId, 12, \".\");\n    PROPERTY_RO( LONG, offset, 13, \".\");\n    PROPERTY_RO( ULONGLONG, length, 14, \".\");\n    PROPERTY_RO( DWORD, slot, 15, \".\");\n    PROPERTY_RO( BOOL, volatileType, 16, \".\");\n    PROPERTY_RO( BOOL, constType, 17, \".\");\n    PROPERTY_RO( BOOL, unalignedType, 18, \".\");\n    PROPERTY_RO( DWORD, access, 19, \".\");\n    PROPERTY_RO( BSTR, libraryName, 20, \".\");\n    PROPERTY_RO( DWORD, platform, 21, \".\");\n    PROPERTY_RO( DWORD, language, 22, \".\");\n    PROPERTY_RO( BOOL, editAndContinueEnabled, 23, \".\");\n    PROPERTY_RO( DWORD, frontEndMajor, 24, \".\");\n    PROPERTY_RO( DWORD, frontEndMinor, 25, \".\");\n    PROPERTY_RO( DWORD, frontEndBuild, 26, \".\");\n    PROPERTY_RO( DWORD, backEndMajor, 27, \".\");\n    PROPERTY_RO( DWORD, backEndMinor, 28, \".\");\n    PROPERTY_RO( DWORD, backEndBuild, 29, \".\");\n    PROPERTY_RO( BSTR, sourceFileName, 30, \".\");\n    PROPERTY_RO( BSTR, unused, 31, \".\");\n    PROPERTY_RO( DWORD, thunkOrdinal, 32, \".\");\n    PROPERTY_RO( LONG, thisAdjust, 33, \".\");\n    PROPERTY_RO( DWORD, virtualBaseOffset, 34, \".\");\n    PROPERTY_RO( BOOL, virtual, 35, \".\");\n    PROPERTY_RO( BOOL, intro, 36, \".\");\n    PROPERTY_RO( BOOL, pure, 37, \".\");\n    PROPERTY_RO( DWORD, callingConvention, 38, \".\");\n    PROPERTY_RO( VARIANT, value, 39, \".\");\n    PROPERTY_RO( DWORD, baseType, 40, \".\");\n    PROPERTY_RO( DWORD, token, 41, \".\");\n    PROPERTY_RO( DWORD, timeStamp, 42, \".\");\n    PROPERTY_RO( GUID, guid, 43, \".\");\n    PROPERTY_RO( BSTR, symbolsFileName, 44, \".\");\n    PROPERTY_RO( BOOL, reference, 46, \".\");\n    PROPERTY_RO( DWORD, count, 47, \".\");\n    PROPERTY_RO( DWORD, bitPosition, 49, \".\");\n    PROPERTY_RO( IDiaSymbol*, arrayIndexType, 50, \".\");\n    PROPERTY_RO( BOOL, packed, 51, \".\");\n    PROPERTY_RO( BOOL, constructor, 52, \".\");\n    PROPERTY_RO( BOOL, overloadedOperator, 53, \".\");\n    PROPERTY_RO( BOOL, nested, 54, \".\");\n    PROPERTY_RO( BOOL, hasNestedTypes, 55, \".\");\n    PROPERTY_RO( BOOL, hasAssignmentOperator, 56, \".\");\n    PROPERTY_RO( BOOL, hasCastOperator, 57, \".\");\n    PROPERTY_RO( BOOL, scoped, 58, \".\");\n    PROPERTY_RO( BOOL, virtualBaseClass, 59, \".\");\n    PROPERTY_RO( BOOL, indirectVirtualBaseClass, 60, \".\");\n    PROPERTY_RO( LONG, virtualBasePointerOffset, 61, \".\");\n    PROPERTY_RO( IDiaSymbol*, virtualTableShape, 62, \".\");\n    PROPERTY_RO( DWORD, lexicalParentId, 64, \"Lexical parent symbol.\");                  \n    PROPERTY_RO( DWORD, classParentId, 65, \".\");\n    PROPERTY_RO( DWORD, typeId, 66, \".\");\n    PROPERTY_RO( DWORD, arrayIndexTypeId, 67, \".\");\n    PROPERTY_RO( DWORD, virtualTableShapeId, 68, \".\");\n    PROPERTY_RO( BOOL, code, 69, \"Symbol refers to a code address.\" );\n    PROPERTY_RO( BOOL, function, 70, \"Symbol refers to a function.\" );\n    PROPERTY_RO( BOOL, managed, 71, \"Symbol refers to managed code.\" );\n    PROPERTY_RO( BOOL, msil, 72, \"Symbol refers to MSIL code.\" );\n    PROPERTY_RO( DWORD, virtualBaseDispIndex, 73, \".\");\n    PROPERTY_RO( BSTR, undecoratedName, 74, \".\");\n    PROPERTY_RO( DWORD, age, 75, \"PDB file age.\" );\n    PROPERTY_RO( DWORD, signature, 76, \"Signature.\" ); \n    PROPERTY_RO( BOOL, compilerGenerated, 77, \"Symbol is compiler generated.\" );\n    PROPERTY_RO( BOOL, addressTaken, 78, \"Symbol is address taken.\" );\n    PROPERTY_RO( DWORD, rank, 79, \"Rank of FORTRAN multi-dimension array.\" );\n    PROPERTY_RO( IDiaSymbol*, lowerBound, 80, \"Lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( IDiaSymbol*, upperBound, 81, \"Upper bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, lowerBoundId, 82, \"Symbol Id of the lower bound of a FORTRAN array dimension.\");\n    PROPERTY_RO( DWORD, upperBoundId, 83, \"Symbol Id of the upper bound of a FORTRAN array dimension.\");\n\n    HRESULT get_dataBytes(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n\n    HRESULT findChildren( \n        [in] enum SymTagEnum symtag, \n        [in] LPCOLESTR name,\n        [in] DWORD compareFlags,\n        [out] IDiaEnumSymbols** ppResult );\n\n    PROPERTY_RO( DWORD, targetSection, 84, \"Thunk target address section.\");\n    PROPERTY_RO( DWORD, targetOffset, 85, \"Thunk target address offset.\");\n    PROPERTY_RO( DWORD, targetRelativeVirtualAddress, 86, \"Thunk target RVA.\");\n    PROPERTY_RO( ULONGLONG, targetVirtualAddress, 87, \"Thunk target virtual address.\");\n    PROPERTY_RO( DWORD, machineType, 88, \"Target machine type.\" );\n    PROPERTY_RO( DWORD, oemId, 89, \"Identifier of manufacturer.\");\n    PROPERTY_RO( DWORD, oemSymbolId, 90, \"Manufacturer defined custom symbol identifier.\" );\n    HRESULT get_types(\n         [in] DWORD cTypes,\n         [out] DWORD *pcTypes,\n         [out, size_is(cTypes),\n         length_is(*pcTypes)] IDiaSymbol* types[]\n        );\n    HRESULT get_typeIds(\n         [in] DWORD cTypeIds,\n         [out] DWORD *pcTypeIds,\n         [out, size_is(cTypeIds),\n         length_is(*pcTypeIds)] DWORD typeIds[]\n        );\n    PROPERTY_RO( IDiaSymbol*, objectPointerType, 91, \"Type of method's object pointer.\" );\n    PROPERTY_RO( DWORD, udtKind, 92, \"Struct, union or class.\");\n    HRESULT get_undecoratedNameEx(\n        [in] DWORD undecorateOptions,\n        [out] BSTR* name\n        );\n};\n\n//\n//  SourceFiles\n//\n[\n    object,\n    uuid(A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD),\n    local,\n    helpstring(\"IDiaSourceFile Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSourceFile: IUnknown\n{\n    PROPERTY_RO( DWORD, uniqueId, 2, \"Unique id for the source file (in this data store).\" );\n    PROPERTY_RO( BSTR, fileName, 3, \".\" );\n    PROPERTY_RO( DWORD, checksumType, 4, \".\" );\n    PROPERTY_RO( IDiaEnumSymbols*, compilands, 5, \".\" );\n\n    HRESULT get_checksum(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n\n};\n\n//\n//  LineNumbers\n//\n[\n    object,\n    uuid(B388EB14-BE4D-421d-A8A1-6CF7AB057086),\n    local,\n    helpstring(\"IDiaLineNumber Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaLineNumber: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( IDiaSourceFile*, sourceFile, 2, \".\" );\n    PROPERTY_RO( DWORD, lineNumber, 3, \".\" );\n    PROPERTY_RO( DWORD, lineNumberEnd, 4, \".\" );\n    PROPERTY_RO( DWORD, columnNumber, 5, \".\" );\n    PROPERTY_RO( DWORD, columnNumberEnd, 6, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 8, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 9, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 10, \".\" );\n    PROPERTY_RO( DWORD, length, 11, \".\" );\n    PROPERTY_RO( DWORD, sourceFileId, 12, \".\" );\n    PROPERTY_RO( BOOL, statement, 13, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 14, \".\" );\n};\n\n//\n// SectionContributions\n//\n[\n    object,\n    uuid(0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857),\n    local,\n    helpstring(\"IDiaSectionContrib Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSectionContrib: IUnknown\n{\n    PROPERTY_RO( IDiaSymbol*, compiland, 1, \".\" );\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, length, 6, \".\" );\n    // 7\n    PROPERTY_RO( BOOL, notPaged, 8, \".\");\n    PROPERTY_RO( BOOL, code, 9, \".\");\n    PROPERTY_RO( BOOL, initializedData, 10, \".\");\n    PROPERTY_RO( BOOL, uninitializedData, 11, \".\");\n    PROPERTY_RO( BOOL, remove, 12, \".\");\n    PROPERTY_RO( BOOL, comdat, 13, \".\");\n    PROPERTY_RO( BOOL, discardable, 14, \".\");\n    PROPERTY_RO( BOOL, notCached, 15, \".\");\n    PROPERTY_RO( BOOL, share, 16, \".\");\n    PROPERTY_RO( BOOL, execute, 17, \".\");\n    PROPERTY_RO( BOOL, read, 18, \".\");\n    PROPERTY_RO( BOOL, write, 19, \".\");\n    PROPERTY_RO( DWORD, dataCrc, 20, \".\" );\n    PROPERTY_RO( DWORD, relocationsCrc, 21, \".\" );\n    PROPERTY_RO( DWORD, compilandId, 22, \".\" );\n};\n\n//\n// SegmentMap\n//\n[\n    object,\n    uuid(0775B784-C75B-4449-848B-B7BD3159545B),\n    local,\n    helpstring(\"IDiaSegment Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaSegment: IUnknown\n{\n    PROPERTY_RO( DWORD, frame, 1, \"Frame.\" );\n    PROPERTY_RO( DWORD, offset, 2, \"Offset in physical section.\" );\n    PROPERTY_RO( DWORD, length, 3, \"Length in bytes of segment.\" );\n    PROPERTY_RO( BOOL, read, 4, \"Read allowed.\" );\n    PROPERTY_RO( BOOL, write, 5, \"Write allowed.\" );\n    PROPERTY_RO( BOOL, execute, 6, \"Execute allowed.\" );\n    PROPERTY_RO( DWORD, addressSection, 7, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 8, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 9, \".\" );\n};\n\n//\n// InjectedSource\n//\n[\n    object,\n    uuid(AE605CDC-8105-4a23-B710-3259F1E26112),\n    local,\n    helpstring(\"IDiaInjectedSource Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaInjectedSource: IUnknown\n{\n    PROPERTY_RO( DWORD, crc, 1, \"CRC of source bytes.\" );\n    PROPERTY_RO( ULONGLONG, length, 2, \"Length of source in bytes.\" );\n    PROPERTY_RO( BSTR, filename, 3, \"Source filename.\" );\n    PROPERTY_RO( BSTR, objectFilename, 4, \"Object filename.\" );\n    PROPERTY_RO( BSTR, virtualFilename, 5, \"Virtual filename.\" );\n    PROPERTY_RO( DWORD, sourceCompression, 6, \"Source compression algorithm.\" );\n    HRESULT get_source(\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n        );\n};\n\n//\n// Errors returned by IDiaFrameData::execute\n//\nenum \n{\n    E_DIA_INPROLOG          // cannot execute stack frame when in prolog\n            =((HRESULT) (((unsigned long)(1)<<31) | ((unsigned long)(((LONG)0x6d))<<16) | ((unsigned long)(100))) ),\n    E_DIA_SYNTAX,           // error parsing frame program\n    E_DIA_FRAME_ACCESS,     // error accessing registers or memory\n    E_DIA_VALUE,            // error in computer a value (e.g., divide by zero)\n};\n\n\n[\n    object,\n    uuid(97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D),\n    local,\n    helpstring(\"IDiaStackWalkFrame Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkFrame: IUnknown\n{\n    PROPERTY_ARRAY_RW( ULONGLONG, DWORD, registerValue, 1, \"Register value.\" ); \n    HRESULT readMemory( \n         [in] ULONGLONG va,\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n         );\n    HRESULT searchForReturnAddress(\n        [in] IDiaFrameData* frame,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT searchForReturnAddressStart(\n        [in] IDiaFrameData* frame,\n        [in] ULONGLONG startAddress,\n        [out] ULONGLONG* returnAddress\n        );\n};\n\n\n[\n    object,\n    uuid(A39184B7-6A36-42de-8EEC-7DF9F3F59F33),\n    local,\n    helpstring(\"IDiaFrameData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaFrameData: IUnknown\n{\n    PROPERTY_RO( DWORD, addressSection, 2, \".\" );\n    PROPERTY_RO( DWORD, addressOffset, 3, \".\" );\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 4, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 5, \".\" );\n    PROPERTY_RO( DWORD, lengthBlock, 6, \".\" );\n    PROPERTY_RO( DWORD, lengthLocals, 7, \".\" );\n    PROPERTY_RO( DWORD, lengthParams, 8, \".\" );\n    PROPERTY_RO( DWORD, maxStack, 9, \".\" );\n    PROPERTY_RO( DWORD, lengthProlog, 10, \".\" );\n    PROPERTY_RO( DWORD, lengthSavedRegisters, 11, \".\" );\n    PROPERTY_RO( BSTR, program, 12, \".\" );\n    PROPERTY_RO( BOOL, systemExceptionHandling, 13, \".\" );\n    PROPERTY_RO( BOOL, cplusplusExceptionHandling, 14, \".\" );\n    PROPERTY_RO( BOOL, functionStart, 15, \".\" );\n    PROPERTY_RO( BOOL, allocatesBasePointer, 16, \".\" );\n    PROPERTY_RO( DWORD, type, 17, \".\" );\n    PROPERTY_RO( IDiaFrameData*, functionParent, 18, \"Frame data for enclosing function.\");                  \n\n    HRESULT execute( IDiaStackWalkFrame* frame );\n}\n\n//\n// IDiaImageData\n//\n//      Some debug streams (XDATA, PDATA) contain copies of data also stored in the image. The\n//      stream data objects (IDiaEnumDebugStreamData) can be QI'ed for their IDiaImageData.\n[\n    object,\n    uuid(C8E40ED2-A1D9-4221-8692-3CE661184B44),\n    local,\n    helpstring(\"IDiaImageData Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaImageData: IUnknown\n{\n    PROPERTY_RO( DWORD, relativeVirtualAddress, 2, \".\" );\n    PROPERTY_RO( ULONGLONG, virtualAddress, 3, \".\" );\n    PROPERTY_RO( ULONGLONG, imageBase, 4, \".\" );\n}\n\n//\n// IDiaTable\n//      Supports enumerating the members of the table\n//\n[\n    object,\n    uuid(4A59FB77-ABAC-469b-A30B-9ECC85BFEF14),\n    local,\n    helpstring(\"IDiaTable Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaTable: IEnumUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaTable.\" );\n    PROPERTY_RO( BSTR, name, 1, \"Table name.\" );\n    PROPERTY_RO( LONG, Count, 2, \"Number of table entries.\" );\n\n    [id(0), helpstring(\"Return the table element for the given index.\")]\n    HRESULT Item([in] DWORD index, [out, retval]IUnknown **element); // ### IDispatch?\n\n};\n\n[\n    object,\n    uuid(C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E),\n    local,\n    helpstring(\"IDiaEnumTables Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumTables: IUnknown\n{\n    PROPERTY_RO( IUnknown*, _NewEnum, DISPID_NEWENUM, \"IEnumVARIANT version of IDiaEnumTables.\" );\n    PROPERTY_RO( LONG, Count, 1, \"Number of tables.\" );\n\n    [id(0), helpstring(\"Return the table for the given index or name.\")]\n    HRESULT Item([in] VARIANT index, [out, retval]IDiaTable **table);\n\n    HRESULT Next(\n        ULONG celt,          \n        IDiaTable ** rgelt,   \n        ULONG * pceltFetched \n    );\n    HRESULT Skip(\n        [in] ULONG celt);\n\n    HRESULT Reset();\n\n    HRESULT Clone(\n        [out] IDiaEnumTables **ppenum);\n};\n\n[\n    uuid(106173A0-0173-4e5c-84E7-E915422BE997),\n    version(2.0),\n    helpstring(\"dia 2.0 Type Library\")\n]\nlibrary Dia2Lib\n{\n\n    importlib(\"stdole2.tlb\");\n    [\n        uuid(e60afbee-502d-46ae-858f-8272a09bd707),\n        helpstring(\"DiaSource Class\")\n    ]\n    coclass DiaSource\n    {\n        [default] interface IDiaDataSource;\n    };\n\n    //\n    // DiaSourceAlt - a DiaDataSource object that does not use the system heap. \n    //\n    // A process may either make DiaSourceAlt objects or DiaSource objects, but not both.\n    // When using DiaSourceAlt all returned BSTR's are really LPCOLESTR and should not be \n    // used with other BSTR management routines, in particular they must be released using\n    //      LocalFree( bstr )\n    [\n        uuid(9c1c335f-d27d-4857-bda0-2c7364544706),\n        helpstring(\"Local Heap DiaSource Class\")\n    ]\n    coclass DiaSourceAlt\n    {\n        [default] interface IDiaDataSource;\n    };\n\n\n    // General stack walking API    \n    [\n        uuid(31495af6-0897-4f1e-8dac-1447f10174a1),\n        helpstring(\"General Stackwalk Class\")\n    ]\n    coclass DiaStackWalker\n    {\n        [default] interface IDiaStackWalker;\n    };\n};\n\n//\n// DebugInfoTable\n//\n// Each id identifies an underlying table of debug information \n// \n\nconst LPOLESTR DiaTable_Symbols = L\"Symbols\";\nconst LPOLESTR DiaTable_Sections = L\"Sections\";\nconst LPOLESTR DiaTable_SrcFiles = L\"SourceFiles\";\nconst LPOLESTR DiaTable_LineNums = L\"LineNumbers\";\nconst LPOLESTR DiaTable_SegMap = L\"SegmentMap\";\nconst LPOLESTR DiaTable_Dbg = L\"Dbg\";\nconst LPOLESTR DiaTable_InjSrc = L\"InjectedSource\";\nconst LPOLESTR DiaTable_FrameData = L\"FrameData\";\n\n\n// Generic property broweser interface.\n[\n    object,\n    uuid(9d416f9c-e184-45b2-a4f0-ce517f719e9b),\n    local,\n    helpstring(\"IDiaPropertyStorage Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaPropertyStorage: IUnknown\n{\n\n    HRESULT ReadMultiple(\n        [in] ULONG cpspec,                  //Count of properties being read\n        [in, size_is(cpspec * sizeof( PROPSPEC ))] \n        PROPSPEC const rgpspec[],           //Array of the properties to be read\n        [in,out, size_is(cpspec * sizeof( PROPVARIANT )), length_is(cpspec)]\n        PROPVARIANT rgvar[]                 //Array of PVARIANTs containing\n                                            // the property values on return\n    );\n\n    HRESULT ReadPropertyNames(\n        [in] ULONG cpropid,                 //Number of elements in rgpropid\n        [in, length_is( cpropid ), size_is( cpropid * sizeof( PROPID ) )]\n        PROPID const  rgpropid[],           //Property identifiers for\n                                            // which names are to be retrieved\n        [in,out, length_is( cpropid ), size_is( cpropid * sizeof( BSTR ) )]\n        BSTR rglpwstrName[]                 //Array of returned string names\n    );\n\n    HRESULT Enum(\n        [out] IEnumSTATPROPSTG **ppenum     //Pointer to output variable\n                                            // that receives the IEnumPROPSPEC\n                                            // interface pointer\n    );\n\n    HRESULT ReadDWORD(\n        [in] PROPID id,            // property to be read\n        [out] DWORD* pValue        // the property value on return\n    );\n\n    HRESULT ReadLONG(\n        [in] PROPID id,            // property to be read\n        [out] LONG* pValue         // the property value on return\n    );\n\n    HRESULT ReadBOOL(\n        [in] PROPID id,            // property to be read\n        [out] BOOL* pValue         // the property value on return\n    );\n\n    HRESULT ReadULONGLONG(\n        [in] PROPID id,            // property to be read\n        [out] ULONGLONG* pValue    // the property value on return\n    );\n\n    HRESULT ReadBSTR(\n        [in] PROPID id,            // property to be read\n        [out] BSTR* pValue         // the property value on return\n    );\n}\n\n[\n    object,\n    uuid(fcea0205-66eb-4794-b38f-13852095c785),\n    local,\n    helpstring(\"IDiaStackFrame Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackFrame: IUnknown\n{\n    PROPERTY_RO( DWORD,     type,                       1,  \"type\" );\n    PROPERTY_RO( ULONGLONG, base,                       2,  \"Base of the stack frame\" );\n    PROPERTY_RO( DWORD,     size,                       3,  \"size of frame in bytes\" );\n    PROPERTY_RO( ULONGLONG, returnAddress,              4,  \"return address of the frame\" );\n    PROPERTY_RO( ULONGLONG, localsBase,                 5,  \"base of locals\" );\n    PROPERTY_RO( DWORD,     lengthLocals,               6,  \"cbLocals\" );\n    PROPERTY_RO( DWORD,     lengthParams,               7,  \"cbParams\" );\n    PROPERTY_RO( DWORD,     lengthProlog,               8,  \"cbProlog\" );\n    PROPERTY_RO( DWORD,     lengthSavedRegisters,       9,  \"cbSavedRegs\" );\n    PROPERTY_RO( BOOL,      systemExceptionHandling,    10, \"fHasSEH\" );\n    PROPERTY_RO( BOOL,      cplusplusExceptionHandling, 11, \"fHasEH\" );\n    PROPERTY_RO( BOOL,      functionStart,              12, \"funcStart\" );\n    PROPERTY_RO( BOOL,      allocatesBasePointer,       13, \"fUsesBP\" );\n    PROPERTY_RO( DWORD,     maxStack,                   14,  \"maxStack\" );\n}\n\n[\n    object,\n    uuid(ec9d461d-ce74-4711-a020-7d8f9a1dd255),\n    local,\n    helpstring(\"IDiaEnumStackFrames Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaEnumStackFrames: IUnknown\n{\n    HRESULT Next(\n        [in] ULONG celt,          \n        [out] IDiaStackFrame ** rgelt,\n        [out] ULONG * pceltFetched \n    );\n\n    HRESULT Reset();\n}\n\ntypedef struct {\n    DWORD       ulOffStart;             // offset 1st byte of function code\n    DWORD       cbProcSize;             // # bytes in function\n    DWORD       cdwLocals;              // # bytes in locals/4\n    WORD        cdwParams;              // # bytes in params/4\n    WORD        cdwFlags;               // Following stuff ...\n\n    /*\n    WORD        cbProlog : 8;           // # bytes in prolog\n    WORD        cbRegs   : 3;           // # regs saved\n    WORD        fHasSEH  : 1;           // TRUE if SEH in func\n    WORD        fUseBP   : 1;           // TRUE if EBP has been allocated\n    WORD        reserved : 1;           // reserved for future use\n    WORD        cbFrame  : 2;           // frame type\n    */\n} FPODATA;\n\n[\n    object,\n    uuid(43dbf56f-7f7f-4a09-9c83-5bab344f1c12),\n    local,\n    helpstring(\"IDiaStackWalkHelper Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalkHelper: IUnknown\n{\n    PROPERTY_ARRAY_RW( ULONGLONG, DWORD, registerValue, 1, \"Register value.\" );         \n    HRESULT readMemory(                     // Read memory for DIA\n         [in] enum MemoryTypeEnum type,\n         [in] ULONGLONG va,\n         [in] DWORD cbData,\n         [out] DWORD *pcbData,\n         [out, size_is(cbData),\n         length_is(*pcbData)] BYTE data[]\n         );\n    HRESULT searchForReturnAddress(         // search return address for DIA, return E_NOTIMPL to use DIA default\n        [in] IDiaFrameData* frame,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT searchForReturnAddressStart(    // search return address for DIA, return E_NOTIMPL to use DIA default\n        [in] IDiaFrameData* frame,\n        [in] ULONGLONG startAddress,\n        [out] ULONGLONG* returnAddress\n        );\n    HRESULT frameForVA(                     // Get frame data for this address          \n         [in] ULONGLONG va,\n         [out] IDiaFrameData **ppFrame\n         );\n    HRESULT symbolForVA(                    // Get symbol at this address, must be a SymTagFunctionType!\n         [in] ULONGLONG va,\n         [out] IDiaSymbol **ppSymbol\n         );\n}\n\n[\n    object,\n    uuid(14341190-eff2-46af-9290-14fa980277b0),\n    local,\n    helpstring(\"IDiaStackWalker Interface\"),\n    pointer_default(unique)\n]\ninterface IDiaStackWalker: IUnknown\n{\n    HRESULT getEnumFrames(\n        [in]  IDiaStackWalkHelper *pHelper,\n        [out] IDiaEnumStackFrames **ppEnum\n        );\n}\n\n"
  },
  {
    "path": "Addition/DiaSDK.NET2003/include/cvconst.h",
    "content": "// cvconst.h - codeview constant definitions\n//-----------------------------------------------------------------\n//\n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _CVCONST_H_\n#define _CVCONST_H_\n\n\n\n//      Enumeration for function call type\n\n\ntypedef enum CV_call_e {\n    CV_CALL_NEAR_C      = 0x00, // near right to left push, caller pops stack\n    CV_CALL_FAR_C       = 0x01, // far right to left push, caller pops stack\n    CV_CALL_NEAR_PASCAL = 0x02, // near left to right push, callee pops stack\n    CV_CALL_FAR_PASCAL  = 0x03, // far left to right push, callee pops stack\n    CV_CALL_NEAR_FAST   = 0x04, // near left to right push with regs, callee pops stack\n    CV_CALL_FAR_FAST    = 0x05, // far left to right push with regs, callee pops stack\n    CV_CALL_SKIPPED     = 0x06, // skipped (unused) call index\n    CV_CALL_NEAR_STD    = 0x07, // near standard call\n    CV_CALL_FAR_STD     = 0x08, // far standard call\n    CV_CALL_NEAR_SYS    = 0x09, // near sys call\n    CV_CALL_FAR_SYS     = 0x0a, // far sys call\n    CV_CALL_THISCALL    = 0x0b, // this call (this passed in register)\n    CV_CALL_MIPSCALL    = 0x0c, // Mips call\n    CV_CALL_GENERIC     = 0x0d, // Generic call sequence\n    CV_CALL_ALPHACALL   = 0x0e, // Alpha call\n    CV_CALL_PPCCALL     = 0x0f, // PPC call\n    CV_CALL_SHCALL      = 0x10, // Hitachi SuperH call\n    CV_CALL_ARMCALL     = 0x11, // ARM call\n    CV_CALL_AM33CALL    = 0x12, // AM33 call\n    CV_CALL_TRICALL     = 0x13, // TriCore Call\n    CV_CALL_SH5CALL     = 0x14, // Hitachi SuperH-5 call\n    CV_CALL_M32RCALL    = 0x15, // M32R Call\n    CV_CALL_RESERVED    = 0x16  // first unused call enumeration\n} CV_call_e;\n\n\n\n\n//      Values for the access protection of class attributes\n\n\ntypedef enum CV_access_e {\n    CV_private   = 1,\n    CV_protected = 2,\n    CV_public    = 3\n} CV_access_e;\n\ntypedef enum THUNK_ORDINAL {\n    THUNK_ORDINAL_NOTYPE,       // standard thunk\n    THUNK_ORDINAL_ADJUSTOR,     // \"this\" adjustor thunk\n    THUNK_ORDINAL_VCALL,        // virtual call thunk\n    THUNK_ORDINAL_PCODE,        // pcode thunk\n    THUNK_ORDINAL_LOAD,         // thunk which loads the address to jump to\n                                //  via unknown means...\n\n // trampoline thunk ordinals   - only for use in Trampoline thunk symbols\n    THUNK_ORDINAL_TRAMP_INCREMENTAL,\n    THUNK_ORDINAL_TRAMP_BRANCHISLAND,\n\n} THUNK_ORDINAL;\n\n\nenum CV_SourceChksum_t {\n    CHKSUM_TYPE_NONE = 0,        // indicates no checksum is available\n    CHKSUM_TYPE_MD5\n};\n\n//\n// DIA enums\n//\n\nenum SymTagEnum\n{\n    SymTagNull,\n    SymTagExe,\n    SymTagCompiland,\n    SymTagCompilandDetails,\n    SymTagCompilandEnv,\n    SymTagFunction,\n    SymTagBlock,\n    SymTagData,\n    SymTagAnnotation,\n    SymTagLabel,\n    SymTagPublicSymbol,\n    SymTagUDT,\n    SymTagEnum,\n    SymTagFunctionType,\n    SymTagPointerType,\n    SymTagArrayType,\n    SymTagBaseType,\n    SymTagTypedef,\n    SymTagBaseClass,\n    SymTagFriend,\n    SymTagFunctionArgType,\n    SymTagFuncDebugStart,\n    SymTagFuncDebugEnd,\n    SymTagUsingNamespace,\n    SymTagVTableShape,\n    SymTagVTable,\n    SymTagCustom,\n    SymTagThunk,\n    SymTagCustomType,\n    SymTagManagedType,\n    SymTagDimension,\n    SymTagMax\n};\n\nenum LocationType\n{\n    LocIsNull,\n    LocIsStatic,\n    LocIsTLS,\n    LocIsRegRel,\n    LocIsThisRel,\n    LocIsEnregistered,\n    LocIsBitField,\n    LocIsSlot,\n    LocIsIlRel,\n    LocInMetaData,\n    LocIsConstant,\n    LocTypeMax\n};\n\nenum DataKind\n{\n    DataIsUnknown,\n    DataIsLocal,\n    DataIsStaticLocal,\n    DataIsParam,\n    DataIsObjectPtr,\n    DataIsFileStatic,\n    DataIsGlobal,\n    DataIsMember,\n    DataIsStaticMember,\n    DataIsConstant\n};\n\nenum UdtKind\n{\n    UdtStruct,\n    UdtClass,\n    UdtUnion\n};\n\nenum BasicType\n{\n    btNoType = 0,\n    btVoid = 1,\n    btChar = 2,\n    btWChar = 3,\n    btInt = 6,\n    btUInt = 7,\n    btFloat = 8,\n    btBCD = 9,\n    btBool = 10,\n    btLong = 13,\n    btULong = 14,\n    btCurrency = 25,\n    btDate = 26,\n    btVariant = 27,\n    btComplex = 28,\n    btBit = 29,\n    btBSTR = 30,\n    btHresult = 31\n};\n\n\n//  enum describing the compile flag source language\n\n\ntypedef enum CV_CFL_LANG {\n    CV_CFL_C        = 0x00,\n    CV_CFL_CXX      = 0x01,\n    CV_CFL_FORTRAN  = 0x02,\n    CV_CFL_MASM     = 0x03,\n    CV_CFL_PASCAL   = 0x04,\n    CV_CFL_BASIC    = 0x05,\n    CV_CFL_COBOL    = 0x06,\n    CV_CFL_LINK     = 0x07,\n    CV_CFL_CVTRES   = 0x08,\n    CV_CFL_CVTPGD   = 0x09,\n} CV_CFL_LANG;\n\n\n//  enum describing target processor\n\n\ntypedef enum CV_CPU_TYPE_e {\n    CV_CFL_8080         = 0x00,\n    CV_CFL_8086         = 0x01,\n    CV_CFL_80286        = 0x02,\n    CV_CFL_80386        = 0x03,\n    CV_CFL_80486        = 0x04,\n    CV_CFL_PENTIUM      = 0x05,\n    CV_CFL_PENTIUMII    = 0x06,\n    CV_CFL_PENTIUMPRO   = CV_CFL_PENTIUMII,\n    CV_CFL_PENTIUMIII   = 0x07,\n    CV_CFL_MIPS         = 0x10,\n    CV_CFL_MIPSR4000    = CV_CFL_MIPS,  // don't break current code\n    CV_CFL_MIPS16       = 0x11,\n    CV_CFL_MIPS32       = 0x12,\n    CV_CFL_MIPS64       = 0x13,\n    CV_CFL_MIPSI        = 0x14,\n    CV_CFL_MIPSII       = 0x15,\n    CV_CFL_MIPSIII      = 0x16,\n    CV_CFL_MIPSIV       = 0x17,\n    CV_CFL_MIPSV        = 0x18,\n    CV_CFL_M68000       = 0x20,\n    CV_CFL_M68010       = 0x21,\n    CV_CFL_M68020       = 0x22,\n    CV_CFL_M68030       = 0x23,\n    CV_CFL_M68040       = 0x24,\n    CV_CFL_ALPHA        = 0x30,\n    CV_CFL_ALPHA_21064  = 0x30,\n    CV_CFL_ALPHA_21164  = 0x31,\n    CV_CFL_ALPHA_21164A = 0x32,\n    CV_CFL_ALPHA_21264  = 0x33,\n    CV_CFL_ALPHA_21364  = 0x34,\n    CV_CFL_PPC601       = 0x40,\n    CV_CFL_PPC603       = 0x41,\n    CV_CFL_PPC604       = 0x42,\n    CV_CFL_PPC620       = 0x43,\n    CV_CFL_PPCFP        = 0x44,\n    CV_CFL_SH3          = 0x50,\n    CV_CFL_SH3E         = 0x51,\n    CV_CFL_SH3DSP       = 0x52,\n    CV_CFL_SH4          = 0x53,\n    CV_CFL_SHMEDIA      = 0x54,\n    CV_CFL_ARM3         = 0x60,\n    CV_CFL_ARM4         = 0x61,\n    CV_CFL_ARM4T        = 0x62,\n    CV_CFL_ARM5         = 0x63,\n    CV_CFL_ARM5T        = 0x64,\n    CV_CFL_OMNI         = 0x70,\n    CV_CFL_IA64         = 0x80,\n    CV_CFL_IA64_1       = 0x80,\n    CV_CFL_IA64_2       = 0x81,\n    CV_CFL_CEE          = 0x90,\n    CV_CFL_AM33         = 0xA0,\n    CV_CFL_M32R         = 0xB0,\n    CV_CFL_TRICORE      = 0xC0,\n    CV_CFL_X8664        = 0xD0,\n    CV_CFL_AMD64        = CV_CFL_X8664,\n    CV_CFL_EBC          = 0xE0,\n    CV_CFL_THUMB        = 0xF0,\n} CV_CPU_TYPE_e;\n\ntypedef enum CV_HREG_e {\n    // Register subset shared by all processor types,\n    // must not overlap with any of the ranges below, hence the high values\n\n    CV_ALLREG_ERR   =   30000,\n    CV_ALLREG_TEB   =   30001,\n    CV_ALLREG_TIMER =   30002,\n    CV_ALLREG_EFAD1 =   30003,\n    CV_ALLREG_EFAD2 =   30004,\n    CV_ALLREG_EFAD3 =   30005,\n    CV_ALLREG_VFRAME=   30006,\n    CV_ALLREG_HANDLE=   30007,\n    CV_ALLREG_PARAMS=   30008,\n    CV_ALLREG_LOCALS=   30009,\n    CV_ALLREG_TID   =   30010,\n    CV_ALLREG_ENV   =   30011,\n    CV_ALLREG_CMDLN =   30012,\n\n\n    //  Register set for the Intel 80x86 and ix86 processor series\n    //  (plus PCODE registers)\n\n    CV_REG_NONE     =   0,\n    CV_REG_AL       =   1,\n    CV_REG_CL       =   2,\n    CV_REG_DL       =   3,\n    CV_REG_BL       =   4,\n    CV_REG_AH       =   5,\n    CV_REG_CH       =   6,\n    CV_REG_DH       =   7,\n    CV_REG_BH       =   8,\n    CV_REG_AX       =   9,\n    CV_REG_CX       =  10,\n    CV_REG_DX       =  11,\n    CV_REG_BX       =  12,\n    CV_REG_SP       =  13,\n    CV_REG_BP       =  14,\n    CV_REG_SI       =  15,\n    CV_REG_DI       =  16,\n    CV_REG_EAX      =  17,\n    CV_REG_ECX      =  18,\n    CV_REG_EDX      =  19,\n    CV_REG_EBX      =  20,\n    CV_REG_ESP      =  21,\n    CV_REG_EBP      =  22,\n    CV_REG_ESI      =  23,\n    CV_REG_EDI      =  24,\n    CV_REG_ES       =  25,\n    CV_REG_CS       =  26,\n    CV_REG_SS       =  27,\n    CV_REG_DS       =  28,\n    CV_REG_FS       =  29,\n    CV_REG_GS       =  30,\n    CV_REG_IP       =  31,\n    CV_REG_FLAGS    =  32,\n    CV_REG_EIP      =  33,\n    CV_REG_EFLAGS   =  34,\n    CV_REG_TEMP     =  40,          // PCODE Temp\n    CV_REG_TEMPH    =  41,          // PCODE TempH\n    CV_REG_QUOTE    =  42,          // PCODE Quote\n    CV_REG_PCDR3    =  43,          // PCODE reserved\n    CV_REG_PCDR4    =  44,          // PCODE reserved\n    CV_REG_PCDR5    =  45,          // PCODE reserved\n    CV_REG_PCDR6    =  46,          // PCODE reserved\n    CV_REG_PCDR7    =  47,          // PCODE reserved\n    CV_REG_CR0      =  80,          // CR0 -- control registers\n    CV_REG_CR1      =  81,\n    CV_REG_CR2      =  82,\n    CV_REG_CR3      =  83,\n    CV_REG_CR4      =  84,          // Pentium\n    CV_REG_DR0      =  90,          // Debug register\n    CV_REG_DR1      =  91,\n    CV_REG_DR2      =  92,\n    CV_REG_DR3      =  93,\n    CV_REG_DR4      =  94,\n    CV_REG_DR5      =  95,\n    CV_REG_DR6      =  96,\n    CV_REG_DR7      =  97,\n    CV_REG_GDTR     =  110,\n    CV_REG_GDTL     =  111,\n    CV_REG_IDTR     =  112,\n    CV_REG_IDTL     =  113,\n    CV_REG_LDTR     =  114,\n    CV_REG_TR       =  115,\n\n    CV_REG_PSEUDO1  =  116,\n    CV_REG_PSEUDO2  =  117,\n    CV_REG_PSEUDO3  =  118,\n    CV_REG_PSEUDO4  =  119,\n    CV_REG_PSEUDO5  =  120,\n    CV_REG_PSEUDO6  =  121,\n    CV_REG_PSEUDO7  =  122,\n    CV_REG_PSEUDO8  =  123,\n    CV_REG_PSEUDO9  =  124,\n\n    CV_REG_ST0      =  128,\n    CV_REG_ST1      =  129,\n    CV_REG_ST2      =  130,\n    CV_REG_ST3      =  131,\n    CV_REG_ST4      =  132,\n    CV_REG_ST5      =  133,\n    CV_REG_ST6      =  134,\n    CV_REG_ST7      =  135,\n    CV_REG_CTRL     =  136,\n    CV_REG_STAT     =  137,\n    CV_REG_TAG      =  138,\n    CV_REG_FPIP     =  139,\n    CV_REG_FPCS     =  140,\n    CV_REG_FPDO     =  141,\n    CV_REG_FPDS     =  142,\n    CV_REG_ISEM     =  143,\n    CV_REG_FPEIP    =  144,\n    CV_REG_FPEDO    =  145,\n\n    CV_REG_MM0      =  146,\n    CV_REG_MM1      =  147,\n    CV_REG_MM2      =  148,\n    CV_REG_MM3      =  149,\n    CV_REG_MM4      =  150,\n    CV_REG_MM5      =  151,\n    CV_REG_MM6      =  152,\n    CV_REG_MM7      =  153,\n\n    CV_REG_XMM0     =  154, // KATMAI registers\n    CV_REG_XMM1     =  155,\n    CV_REG_XMM2     =  156,\n    CV_REG_XMM3     =  157,\n    CV_REG_XMM4     =  158,\n    CV_REG_XMM5     =  159,\n    CV_REG_XMM6     =  160,\n    CV_REG_XMM7     =  161,\n\n    CV_REG_XMM00    =  162, // KATMAI sub-registers\n    CV_REG_XMM01    =  163,\n    CV_REG_XMM02    =  164,\n    CV_REG_XMM03    =  165,\n    CV_REG_XMM10    =  166,\n    CV_REG_XMM11    =  167,\n    CV_REG_XMM12    =  168,\n    CV_REG_XMM13    =  169,\n    CV_REG_XMM20    =  170,\n    CV_REG_XMM21    =  171,\n    CV_REG_XMM22    =  172,\n    CV_REG_XMM23    =  173,\n    CV_REG_XMM30    =  174,\n    CV_REG_XMM31    =  175,\n    CV_REG_XMM32    =  176,\n    CV_REG_XMM33    =  177,\n    CV_REG_XMM40    =  178,\n    CV_REG_XMM41    =  179,\n    CV_REG_XMM42    =  180,\n    CV_REG_XMM43    =  181,\n    CV_REG_XMM50    =  182,\n    CV_REG_XMM51    =  183,\n    CV_REG_XMM52    =  184,\n    CV_REG_XMM53    =  185,\n    CV_REG_XMM60    =  186,\n    CV_REG_XMM61    =  187,\n    CV_REG_XMM62    =  188,\n    CV_REG_XMM63    =  189,\n    CV_REG_XMM70    =  190,\n    CV_REG_XMM71    =  191,\n    CV_REG_XMM72    =  192,\n    CV_REG_XMM73    =  193,\n\n    CV_REG_XMM0L    =  194,\n    CV_REG_XMM1L    =  195,\n    CV_REG_XMM2L    =  196,\n    CV_REG_XMM3L    =  197,\n    CV_REG_XMM4L    =  198,\n    CV_REG_XMM5L    =  199,\n    CV_REG_XMM6L    =  200,\n    CV_REG_XMM7L    =  201,\n\n    CV_REG_XMM0H    =  202,\n    CV_REG_XMM1H    =  203,\n    CV_REG_XMM2H    =  204,\n    CV_REG_XMM3H    =  205,\n    CV_REG_XMM4H    =  206,\n    CV_REG_XMM5H    =  207,\n    CV_REG_XMM6H    =  208,\n    CV_REG_XMM7H    =  209,\n\n    CV_REG_MXCSR    =  211, // XMM status register\n\n    CV_REG_EDXEAX   =  212, // EDX:EAX pair\n\n    CV_REG_EMM0L    =  220, // XMM sub-registers (WNI integer)\n    CV_REG_EMM1L    =  221,\n    CV_REG_EMM2L    =  222,\n    CV_REG_EMM3L    =  223,\n    CV_REG_EMM4L    =  224,\n    CV_REG_EMM5L    =  225,\n    CV_REG_EMM6L    =  226,\n    CV_REG_EMM7L    =  227,\n\n    CV_REG_EMM0H    =  228,\n    CV_REG_EMM1H    =  229,\n    CV_REG_EMM2H    =  230,\n    CV_REG_EMM3H    =  231,\n    CV_REG_EMM4H    =  232,\n    CV_REG_EMM5H    =  233,\n    CV_REG_EMM6H    =  234,\n    CV_REG_EMM7H    =  235,\n\n    // do not change the order of these regs, first one must be even too\n    CV_REG_MM00     =  236,\n    CV_REG_MM01     =  237,\n    CV_REG_MM10     =  238,\n    CV_REG_MM11     =  239,\n    CV_REG_MM20     =  240,\n    CV_REG_MM21     =  241,\n    CV_REG_MM30     =  242,\n    CV_REG_MM31     =  243,\n    CV_REG_MM40     =  244,\n    CV_REG_MM41     =  245,\n    CV_REG_MM50     =  246,\n    CV_REG_MM51     =  247,\n    CV_REG_MM60     =  248,\n    CV_REG_MM61     =  249,\n    CV_REG_MM70     =  250,\n    CV_REG_MM71     =  251,\n\n    // registers for the 68K processors\n\n    CV_R68_D0       =    0,\n    CV_R68_D1       =    1,\n    CV_R68_D2       =    2,\n    CV_R68_D3       =    3,\n    CV_R68_D4       =    4,\n    CV_R68_D5       =    5,\n    CV_R68_D6       =    6,\n    CV_R68_D7       =    7,\n    CV_R68_A0       =    8,\n    CV_R68_A1       =    9,\n    CV_R68_A2       =   10,\n    CV_R68_A3       =   11,\n    CV_R68_A4       =   12,\n    CV_R68_A5       =   13,\n    CV_R68_A6       =   14,\n    CV_R68_A7       =   15,\n    CV_R68_CCR      =   16,\n    CV_R68_SR       =   17,\n    CV_R68_USP      =   18,\n    CV_R68_MSP      =   19,\n    CV_R68_SFC      =   20,\n    CV_R68_DFC      =   21,\n    CV_R68_CACR     =   22,\n    CV_R68_VBR      =   23,\n    CV_R68_CAAR     =   24,\n    CV_R68_ISP      =   25,\n    CV_R68_PC       =   26,\n    //reserved  27\n    CV_R68_FPCR     =   28,\n    CV_R68_FPSR     =   29,\n    CV_R68_FPIAR    =   30,\n    //reserved  31\n    CV_R68_FP0      =   32,\n    CV_R68_FP1      =   33,\n    CV_R68_FP2      =   34,\n    CV_R68_FP3      =   35,\n    CV_R68_FP4      =   36,\n    CV_R68_FP5      =   37,\n    CV_R68_FP6      =   38,\n    CV_R68_FP7      =   39,\n    //reserved  40\n    CV_R68_MMUSR030 =   41,\n    CV_R68_MMUSR    =   42,\n    CV_R68_URP      =   43,\n    CV_R68_DTT0     =   44,\n    CV_R68_DTT1     =   45,\n    CV_R68_ITT0     =   46,\n    CV_R68_ITT1     =   47,\n    //reserved  50\n    CV_R68_PSR      =   51,\n    CV_R68_PCSR     =   52,\n    CV_R68_VAL      =   53,\n    CV_R68_CRP      =   54,\n    CV_R68_SRP      =   55,\n    CV_R68_DRP      =   56,\n    CV_R68_TC       =   57,\n    CV_R68_AC       =   58,\n    CV_R68_SCC      =   59,\n    CV_R68_CAL      =   60,\n    CV_R68_TT0      =   61,\n    CV_R68_TT1      =   62,\n    //reserved  63\n    CV_R68_BAD0     =   64,\n    CV_R68_BAD1     =   65,\n    CV_R68_BAD2     =   66,\n    CV_R68_BAD3     =   67,\n    CV_R68_BAD4     =   68,\n    CV_R68_BAD5     =   69,\n    CV_R68_BAD6     =   70,\n    CV_R68_BAD7     =   71,\n    CV_R68_BAC0     =   72,\n    CV_R68_BAC1     =   73,\n    CV_R68_BAC2     =   74,\n    CV_R68_BAC3     =   75,\n    CV_R68_BAC4     =   76,\n    CV_R68_BAC5     =   77,\n    CV_R68_BAC6     =   78,\n    CV_R68_BAC7     =   79,\n\n     // Register set for the MIPS 4000\n\n    CV_M4_NOREG     =   CV_REG_NONE,\n\n    CV_M4_IntZERO   =   10,      /* CPU REGISTER */\n    CV_M4_IntAT     =   11,\n    CV_M4_IntV0     =   12,\n    CV_M4_IntV1     =   13,\n    CV_M4_IntA0     =   14,\n    CV_M4_IntA1     =   15,\n    CV_M4_IntA2     =   16,\n    CV_M4_IntA3     =   17,\n    CV_M4_IntT0     =   18,\n    CV_M4_IntT1     =   19,\n    CV_M4_IntT2     =   20,\n    CV_M4_IntT3     =   21,\n    CV_M4_IntT4     =   22,\n    CV_M4_IntT5     =   23,\n    CV_M4_IntT6     =   24,\n    CV_M4_IntT7     =   25,\n    CV_M4_IntS0     =   26,\n    CV_M4_IntS1     =   27,\n    CV_M4_IntS2     =   28,\n    CV_M4_IntS3     =   29,\n    CV_M4_IntS4     =   30,\n    CV_M4_IntS5     =   31,\n    CV_M4_IntS6     =   32,\n    CV_M4_IntS7     =   33,\n    CV_M4_IntT8     =   34,\n    CV_M4_IntT9     =   35,\n    CV_M4_IntKT0    =   36,\n    CV_M4_IntKT1    =   37,\n    CV_M4_IntGP     =   38,\n    CV_M4_IntSP     =   39,\n    CV_M4_IntS8     =   40,\n    CV_M4_IntRA     =   41,\n    CV_M4_IntLO     =   42,\n    CV_M4_IntHI     =   43,\n\n    CV_M4_Fir       =   50,\n    CV_M4_Psr       =   51,\n\n    CV_M4_FltF0     =   60,      /* Floating point registers */\n    CV_M4_FltF1     =   61,\n    CV_M4_FltF2     =   62,\n    CV_M4_FltF3     =   63,\n    CV_M4_FltF4     =   64,\n    CV_M4_FltF5     =   65,\n    CV_M4_FltF6     =   66,\n    CV_M4_FltF7     =   67,\n    CV_M4_FltF8     =   68,\n    CV_M4_FltF9     =   69,\n    CV_M4_FltF10    =   70,\n    CV_M4_FltF11    =   71,\n    CV_M4_FltF12    =   72,\n    CV_M4_FltF13    =   73,\n    CV_M4_FltF14    =   74,\n    CV_M4_FltF15    =   75,\n    CV_M4_FltF16    =   76,\n    CV_M4_FltF17    =   77,\n    CV_M4_FltF18    =   78,\n    CV_M4_FltF19    =   79,\n    CV_M4_FltF20    =   80,\n    CV_M4_FltF21    =   81,\n    CV_M4_FltF22    =   82,\n    CV_M4_FltF23    =   83,\n    CV_M4_FltF24    =   84,\n    CV_M4_FltF25    =   85,\n    CV_M4_FltF26    =   86,\n    CV_M4_FltF27    =   87,\n    CV_M4_FltF28    =   88,\n    CV_M4_FltF29    =   89,\n    CV_M4_FltF30    =   90,\n    CV_M4_FltF31    =   91,\n    CV_M4_FltFsr    =   92,\n\n\n    // Register set for the ALPHA AXP\n\n    CV_ALPHA_NOREG  = CV_REG_NONE,\n\n    CV_ALPHA_FltF0  =   10,   // Floating point registers\n    CV_ALPHA_FltF1  =   11,\n    CV_ALPHA_FltF2  =   12,\n    CV_ALPHA_FltF3  =   13,\n    CV_ALPHA_FltF4  =   14,\n    CV_ALPHA_FltF5  =   15,\n    CV_ALPHA_FltF6  =   16,\n    CV_ALPHA_FltF7  =   17,\n    CV_ALPHA_FltF8  =   18,\n    CV_ALPHA_FltF9  =   19,\n    CV_ALPHA_FltF10 =   20,\n    CV_ALPHA_FltF11 =   21,\n    CV_ALPHA_FltF12 =   22,\n    CV_ALPHA_FltF13 =   23,\n    CV_ALPHA_FltF14 =   24,\n    CV_ALPHA_FltF15 =   25,\n    CV_ALPHA_FltF16 =   26,\n    CV_ALPHA_FltF17 =   27,\n    CV_ALPHA_FltF18 =   28,\n    CV_ALPHA_FltF19 =   29,\n    CV_ALPHA_FltF20 =   30,\n    CV_ALPHA_FltF21 =   31,\n    CV_ALPHA_FltF22 =   32,\n    CV_ALPHA_FltF23 =   33,\n    CV_ALPHA_FltF24 =   34,\n    CV_ALPHA_FltF25 =   35,\n    CV_ALPHA_FltF26 =   36,\n    CV_ALPHA_FltF27 =   37,\n    CV_ALPHA_FltF28 =   38,\n    CV_ALPHA_FltF29 =   39,\n    CV_ALPHA_FltF30 =   40,\n    CV_ALPHA_FltF31 =   41,\n\n    CV_ALPHA_IntV0  =   42,   // Integer registers\n    CV_ALPHA_IntT0  =   43,\n    CV_ALPHA_IntT1  =   44,\n    CV_ALPHA_IntT2  =   45,\n    CV_ALPHA_IntT3  =   46,\n    CV_ALPHA_IntT4  =   47,\n    CV_ALPHA_IntT5  =   48,\n    CV_ALPHA_IntT6  =   49,\n    CV_ALPHA_IntT7  =   50,\n    CV_ALPHA_IntS0  =   51,\n    CV_ALPHA_IntS1  =   52,\n    CV_ALPHA_IntS2  =   53,\n    CV_ALPHA_IntS3  =   54,\n    CV_ALPHA_IntS4  =   55,\n    CV_ALPHA_IntS5  =   56,\n    CV_ALPHA_IntFP  =   57,\n    CV_ALPHA_IntA0  =   58,\n    CV_ALPHA_IntA1  =   59,\n    CV_ALPHA_IntA2  =   60,\n    CV_ALPHA_IntA3  =   61,\n    CV_ALPHA_IntA4  =   62,\n    CV_ALPHA_IntA5  =   63,\n    CV_ALPHA_IntT8  =   64,\n    CV_ALPHA_IntT9  =   65,\n    CV_ALPHA_IntT10 =   66,\n    CV_ALPHA_IntT11 =   67,\n    CV_ALPHA_IntRA  =   68,\n    CV_ALPHA_IntT12 =   69,\n    CV_ALPHA_IntAT  =   70,\n    CV_ALPHA_IntGP  =   71,\n    CV_ALPHA_IntSP  =   72,\n    CV_ALPHA_IntZERO =  73,\n\n\n    CV_ALPHA_Fpcr   =   74,   // Control registers\n    CV_ALPHA_Fir    =   75,\n    CV_ALPHA_Psr    =   76,\n    CV_ALPHA_FltFsr =   77,\n    CV_ALPHA_SoftFpcr =   78,\n\n    // Register Set for Motorola/IBM PowerPC\n\n    /*\n    ** PowerPC General Registers ( User Level )\n    */\n    CV_PPC_GPR0     =  1,\n    CV_PPC_GPR1     =  2,\n    CV_PPC_GPR2     =  3,\n    CV_PPC_GPR3     =  4,\n    CV_PPC_GPR4     =  5,\n    CV_PPC_GPR5     =  6,\n    CV_PPC_GPR6     =  7,\n    CV_PPC_GPR7     =  8,\n    CV_PPC_GPR8     =  9,\n    CV_PPC_GPR9     = 10,\n    CV_PPC_GPR10    = 11,\n    CV_PPC_GPR11    = 12,\n    CV_PPC_GPR12    = 13,\n    CV_PPC_GPR13    = 14,\n    CV_PPC_GPR14    = 15,\n    CV_PPC_GPR15    = 16,\n    CV_PPC_GPR16    = 17,\n    CV_PPC_GPR17    = 18,\n    CV_PPC_GPR18    = 19,\n    CV_PPC_GPR19    = 20,\n    CV_PPC_GPR20    = 21,\n    CV_PPC_GPR21    = 22,\n    CV_PPC_GPR22    = 23,\n    CV_PPC_GPR23    = 24,\n    CV_PPC_GPR24    = 25,\n    CV_PPC_GPR25    = 26,\n    CV_PPC_GPR26    = 27,\n    CV_PPC_GPR27    = 28,\n    CV_PPC_GPR28    = 29,\n    CV_PPC_GPR29    = 30,\n    CV_PPC_GPR30    = 31,\n    CV_PPC_GPR31    = 32,\n\n    /*\n    ** PowerPC Condition Register ( User Level )\n    */\n    CV_PPC_CR       = 33,\n    CV_PPC_CR0      = 34,\n    CV_PPC_CR1      = 35,\n    CV_PPC_CR2      = 36,\n    CV_PPC_CR3      = 37,\n    CV_PPC_CR4      = 38,\n    CV_PPC_CR5      = 39,\n    CV_PPC_CR6      = 40,\n    CV_PPC_CR7      = 41,\n\n    /*\n    ** PowerPC Floating Point Registers ( User Level )\n    */\n    CV_PPC_FPR0     = 42,\n    CV_PPC_FPR1     = 43,\n    CV_PPC_FPR2     = 44,\n    CV_PPC_FPR3     = 45,\n    CV_PPC_FPR4     = 46,\n    CV_PPC_FPR5     = 47,\n    CV_PPC_FPR6     = 48,\n    CV_PPC_FPR7     = 49,\n    CV_PPC_FPR8     = 50,\n    CV_PPC_FPR9     = 51,\n    CV_PPC_FPR10    = 52,\n    CV_PPC_FPR11    = 53,\n    CV_PPC_FPR12    = 54,\n    CV_PPC_FPR13    = 55,\n    CV_PPC_FPR14    = 56,\n    CV_PPC_FPR15    = 57,\n    CV_PPC_FPR16    = 58,\n    CV_PPC_FPR17    = 59,\n    CV_PPC_FPR18    = 60,\n    CV_PPC_FPR19    = 61,\n    CV_PPC_FPR20    = 62,\n    CV_PPC_FPR21    = 63,\n    CV_PPC_FPR22    = 64,\n    CV_PPC_FPR23    = 65,\n    CV_PPC_FPR24    = 66,\n    CV_PPC_FPR25    = 67,\n    CV_PPC_FPR26    = 68,\n    CV_PPC_FPR27    = 69,\n    CV_PPC_FPR28    = 70,\n    CV_PPC_FPR29    = 71,\n    CV_PPC_FPR30    = 72,\n    CV_PPC_FPR31    = 73,\n\n    /*\n    ** PowerPC Floating Point Status and Control Register ( User Level )\n    */\n    CV_PPC_FPSCR    = 74,\n\n    /*\n    ** PowerPC Machine State Register ( Supervisor Level )\n    */\n    CV_PPC_MSR      = 75,\n\n    /*\n    ** PowerPC Segment Registers ( Supervisor Level )\n    */\n    CV_PPC_SR0      = 76,\n    CV_PPC_SR1      = 77,\n    CV_PPC_SR2      = 78,\n    CV_PPC_SR3      = 79,\n    CV_PPC_SR4      = 80,\n    CV_PPC_SR5      = 81,\n    CV_PPC_SR6      = 82,\n    CV_PPC_SR7      = 83,\n    CV_PPC_SR8      = 84,\n    CV_PPC_SR9      = 85,\n    CV_PPC_SR10     = 86,\n    CV_PPC_SR11     = 87,\n    CV_PPC_SR12     = 88,\n    CV_PPC_SR13     = 89,\n    CV_PPC_SR14     = 90,\n    CV_PPC_SR15     = 91,\n\n    /*\n    ** For all of the special purpose registers add 100 to the SPR# that the\n    ** Motorola/IBM documentation gives with the exception of any imaginary\n    ** registers.\n    */\n\n    /*\n    ** PowerPC Special Purpose Registers ( User Level )\n    */\n    CV_PPC_PC       = 99,     // PC (imaginary register)\n\n    CV_PPC_MQ       = 100,    // MPC601\n    CV_PPC_XER      = 101,\n    CV_PPC_RTCU     = 104,    // MPC601\n    CV_PPC_RTCL     = 105,    // MPC601\n    CV_PPC_LR       = 108,\n    CV_PPC_CTR      = 109,\n\n    CV_PPC_COMPARE  = 110,    // part of XER (internal to the debugger only)\n    CV_PPC_COUNT    = 111,    // part of XER (internal to the debugger only)\n\n    /*\n    ** PowerPC Special Purpose Registers ( Supervisor Level )\n    */\n    CV_PPC_DSISR    = 118,\n    CV_PPC_DAR      = 119,\n    CV_PPC_DEC      = 122,\n    CV_PPC_SDR1     = 125,\n    CV_PPC_SRR0     = 126,\n    CV_PPC_SRR1     = 127,\n    CV_PPC_SPRG0    = 372,\n    CV_PPC_SPRG1    = 373,\n    CV_PPC_SPRG2    = 374,\n    CV_PPC_SPRG3    = 375,\n    CV_PPC_ASR      = 280,    // 64-bit implementations only\n    CV_PPC_EAR      = 382,\n    CV_PPC_PVR      = 287,\n    CV_PPC_BAT0U    = 628,\n    CV_PPC_BAT0L    = 629,\n    CV_PPC_BAT1U    = 630,\n    CV_PPC_BAT1L    = 631,\n    CV_PPC_BAT2U    = 632,\n    CV_PPC_BAT2L    = 633,\n    CV_PPC_BAT3U    = 634,\n    CV_PPC_BAT3L    = 635,\n    CV_PPC_DBAT0U   = 636,\n    CV_PPC_DBAT0L   = 637,\n    CV_PPC_DBAT1U   = 638,\n    CV_PPC_DBAT1L   = 639,\n    CV_PPC_DBAT2U   = 640,\n    CV_PPC_DBAT2L   = 641,\n    CV_PPC_DBAT3U   = 642,\n    CV_PPC_DBAT3L   = 643,\n\n    /*\n    ** PowerPC Special Purpose Registers Implementation Dependent ( Supervisor Level )\n    */\n\n    /*\n    ** Doesn't appear that IBM/Motorola has finished defining these.\n    */\n\n    CV_PPC_PMR0     = 1044,   // MPC620,\n    CV_PPC_PMR1     = 1045,   // MPC620,\n    CV_PPC_PMR2     = 1046,   // MPC620,\n    CV_PPC_PMR3     = 1047,   // MPC620,\n    CV_PPC_PMR4     = 1048,   // MPC620,\n    CV_PPC_PMR5     = 1049,   // MPC620,\n    CV_PPC_PMR6     = 1050,   // MPC620,\n    CV_PPC_PMR7     = 1051,   // MPC620,\n    CV_PPC_PMR8     = 1052,   // MPC620,\n    CV_PPC_PMR9     = 1053,   // MPC620,\n    CV_PPC_PMR10    = 1054,   // MPC620,\n    CV_PPC_PMR11    = 1055,   // MPC620,\n    CV_PPC_PMR12    = 1056,   // MPC620,\n    CV_PPC_PMR13    = 1057,   // MPC620,\n    CV_PPC_PMR14    = 1058,   // MPC620,\n    CV_PPC_PMR15    = 1059,   // MPC620,\n\n    CV_PPC_DMISS    = 1076,   // MPC603\n    CV_PPC_DCMP     = 1077,   // MPC603\n    CV_PPC_HASH1    = 1078,   // MPC603\n    CV_PPC_HASH2    = 1079,   // MPC603\n    CV_PPC_IMISS    = 1080,   // MPC603\n    CV_PPC_ICMP     = 1081,   // MPC603\n    CV_PPC_RPA      = 1082,   // MPC603\n\n    CV_PPC_HID0     = 1108,   // MPC601, MPC603, MPC620\n    CV_PPC_HID1     = 1109,   // MPC601\n    CV_PPC_HID2     = 1110,   // MPC601, MPC603, MPC620 ( IABR )\n    CV_PPC_HID3     = 1111,   // Not Defined\n    CV_PPC_HID4     = 1112,   // Not Defined\n    CV_PPC_HID5     = 1113,   // MPC601, MPC604, MPC620 ( DABR )\n    CV_PPC_HID6     = 1114,   // Not Defined\n    CV_PPC_HID7     = 1115,   // Not Defined\n    CV_PPC_HID8     = 1116,   // MPC620 ( BUSCSR )\n    CV_PPC_HID9     = 1117,   // MPC620 ( L2CSR )\n    CV_PPC_HID10    = 1118,   // Not Defined\n    CV_PPC_HID11    = 1119,   // Not Defined\n    CV_PPC_HID12    = 1120,   // Not Defined\n    CV_PPC_HID13    = 1121,   // MPC604 ( HCR )\n    CV_PPC_HID14    = 1122,   // Not Defined\n    CV_PPC_HID15    = 1123,   // MPC601, MPC604, MPC620 ( PIR )\n\n    //\n    // JAVA VM registers\n    //\n\n    CV_JAVA_PC      = 1,\n\n    //\n    // Register set for the Hitachi SH3\n    //\n\n    CV_SH3_NOREG    =   CV_REG_NONE,\n\n    CV_SH3_IntR0    =   10,   // CPU REGISTER\n    CV_SH3_IntR1    =   11,\n    CV_SH3_IntR2    =   12,\n    CV_SH3_IntR3    =   13,\n    CV_SH3_IntR4    =   14,\n    CV_SH3_IntR5    =   15,\n    CV_SH3_IntR6    =   16,\n    CV_SH3_IntR7    =   17,\n    CV_SH3_IntR8    =   18,\n    CV_SH3_IntR9    =   19,\n    CV_SH3_IntR10   =   20,\n    CV_SH3_IntR11   =   21,\n    CV_SH3_IntR12   =   22,\n    CV_SH3_IntR13   =   23,\n    CV_SH3_IntFp    =   24,\n    CV_SH3_IntSp    =   25,\n    CV_SH3_Gbr      =   38,\n    CV_SH3_Pr       =   39,\n    CV_SH3_Mach     =   40,\n    CV_SH3_Macl     =   41,\n\n    CV_SH3_Pc       =   50,\n    CV_SH3_Sr       =   51,\n\n    CV_SH3_BarA     =   60,\n    CV_SH3_BasrA    =   61,\n    CV_SH3_BamrA    =   62,\n    CV_SH3_BbrA     =   63,\n    CV_SH3_BarB     =   64,\n    CV_SH3_BasrB    =   65,\n    CV_SH3_BamrB    =   66,\n    CV_SH3_BbrB     =   67,\n    CV_SH3_BdrB     =   68,\n    CV_SH3_BdmrB    =   69,\n    CV_SH3_Brcr     =   70,\n\n    //\n    // Additional registers for Hitachi SH processors\n    //\n\n    CV_SH_Fpscr    =   75,    // floating point status/control register\n    CV_SH_Fpul     =   76,    // floating point communication register\n\n    CV_SH_FpR0     =   80,    // Floating point registers\n    CV_SH_FpR1     =   81,\n    CV_SH_FpR2     =   82,\n    CV_SH_FpR3     =   83,\n    CV_SH_FpR4     =   84,\n    CV_SH_FpR5     =   85,\n    CV_SH_FpR6     =   86,\n    CV_SH_FpR7     =   87,\n    CV_SH_FpR8     =   88,\n    CV_SH_FpR9     =   89,\n    CV_SH_FpR10    =   90,\n    CV_SH_FpR11    =   91,\n    CV_SH_FpR12    =   92,\n    CV_SH_FpR13    =   93,\n    CV_SH_FpR14    =   94,\n    CV_SH_FpR15    =   95,\n\n    CV_SH_XFpR0    =   96,\n    CV_SH_XFpR1    =   97,\n    CV_SH_XFpR2    =   98,\n    CV_SH_XFpR3    =   99,\n    CV_SH_XFpR4    =  100,\n    CV_SH_XFpR5    =  101,\n    CV_SH_XFpR6    =  102,\n    CV_SH_XFpR7    =  103,\n    CV_SH_XFpR8    =  104,\n    CV_SH_XFpR9    =  105,\n    CV_SH_XFpR10   =  106,\n    CV_SH_XFpR11   =  107,\n    CV_SH_XFpR12   =  108,\n    CV_SH_XFpR13   =  109,\n    CV_SH_XFpR14   =  110,\n    CV_SH_XFpR15   =  111,\n\n    //\n    // Register set for the ARM processor.\n    //\n\n    CV_ARM_NOREG    =   CV_REG_NONE,\n\n    CV_ARM_R0       =   10,\n    CV_ARM_R1       =   11,\n    CV_ARM_R2       =   12,\n    CV_ARM_R3       =   13,\n    CV_ARM_R4       =   14,\n    CV_ARM_R5       =   15,\n    CV_ARM_R6       =   16,\n    CV_ARM_R7       =   17,\n    CV_ARM_R8       =   18,\n    CV_ARM_R9       =   19,\n    CV_ARM_R10      =   20,\n    CV_ARM_R11      =   21, // Frame pointer, if allocated\n    CV_ARM_R12      =   22,\n    CV_ARM_SP       =   23, // Stack pointer\n    CV_ARM_LR       =   24, // Link Register\n    CV_ARM_PC       =   25, // Program counter\n    CV_ARM_CPSR     =   26, // Current program status register\n\n    //\n    // Register set for Intel IA64\n    //\n\n    CV_IA64_NOREG   =   CV_REG_NONE,\n\n    // Branch Registers\n\n    CV_IA64_Br0     =   512,\n    CV_IA64_Br1     =   513,\n    CV_IA64_Br2     =   514,\n    CV_IA64_Br3     =   515,\n    CV_IA64_Br4     =   516,\n    CV_IA64_Br5     =   517,\n    CV_IA64_Br6     =   518,\n    CV_IA64_Br7     =   519,\n\n    // Predicate Registers\n\n    CV_IA64_P0    =   704,\n    CV_IA64_P1    =   705,\n    CV_IA64_P2    =   706,\n    CV_IA64_P3    =   707,\n    CV_IA64_P4    =   708,\n    CV_IA64_P5    =   709,\n    CV_IA64_P6    =   710,\n    CV_IA64_P7    =   711,\n    CV_IA64_P8    =   712,\n    CV_IA64_P9    =   713,\n    CV_IA64_P10   =   714,\n    CV_IA64_P11   =   715,\n    CV_IA64_P12   =   716,\n    CV_IA64_P13   =   717,\n    CV_IA64_P14   =   718,\n    CV_IA64_P15   =   719,\n    CV_IA64_P16   =   720,\n    CV_IA64_P17   =   721,\n    CV_IA64_P18   =   722,\n    CV_IA64_P19   =   723,\n    CV_IA64_P20   =   724,\n    CV_IA64_P21   =   725,\n    CV_IA64_P22   =   726,\n    CV_IA64_P23   =   727,\n    CV_IA64_P24   =   728,\n    CV_IA64_P25   =   729,\n    CV_IA64_P26   =   730,\n    CV_IA64_P27   =   731,\n    CV_IA64_P28   =   732,\n    CV_IA64_P29   =   733,\n    CV_IA64_P30   =   734,\n    CV_IA64_P31   =   735,\n    CV_IA64_P32   =   736,\n    CV_IA64_P33   =   737,\n    CV_IA64_P34   =   738,\n    CV_IA64_P35   =   739,\n    CV_IA64_P36   =   740,\n    CV_IA64_P37   =   741,\n    CV_IA64_P38   =   742,\n    CV_IA64_P39   =   743,\n    CV_IA64_P40   =   744,\n    CV_IA64_P41   =   745,\n    CV_IA64_P42   =   746,\n    CV_IA64_P43   =   747,\n    CV_IA64_P44   =   748,\n    CV_IA64_P45   =   749,\n    CV_IA64_P46   =   750,\n    CV_IA64_P47   =   751,\n    CV_IA64_P48   =   752,\n    CV_IA64_P49   =   753,\n    CV_IA64_P50   =   754,\n    CV_IA64_P51   =   755,\n    CV_IA64_P52   =   756,\n    CV_IA64_P53   =   757,\n    CV_IA64_P54   =   758,\n    CV_IA64_P55   =   759,\n    CV_IA64_P56   =   760,\n    CV_IA64_P57   =   761,\n    CV_IA64_P58   =   762,\n    CV_IA64_P59   =   763,\n    CV_IA64_P60   =   764,\n    CV_IA64_P61   =   765,\n    CV_IA64_P62   =   766,\n    CV_IA64_P63   =   767,\n\n    CV_IA64_Preds   =   768,\n\n    // Banked General Registers\n\n    CV_IA64_IntH0   =   832,\n    CV_IA64_IntH1   =   833,\n    CV_IA64_IntH2   =   834,\n    CV_IA64_IntH3   =   835,\n    CV_IA64_IntH4   =   836,\n    CV_IA64_IntH5   =   837,\n    CV_IA64_IntH6   =   838,\n    CV_IA64_IntH7   =   839,\n    CV_IA64_IntH8   =   840,\n    CV_IA64_IntH9   =   841,\n    CV_IA64_IntH10  =   842,\n    CV_IA64_IntH11  =   843,\n    CV_IA64_IntH12  =   844,\n    CV_IA64_IntH13  =   845,\n    CV_IA64_IntH14  =   846,\n    CV_IA64_IntH15  =   847,\n\n    // Special Registers\n\n    CV_IA64_Ip      =   1016,\n    CV_IA64_Umask   =   1017,\n    CV_IA64_Cfm     =   1018,\n    CV_IA64_Psr     =   1019,\n\n    // Banked General Registers\n\n    CV_IA64_Nats    =   1020,\n    CV_IA64_Nats2   =   1021,\n    CV_IA64_Nats3   =   1022,\n\n    // General-Purpose Registers\n\n    // Integer registers\n    CV_IA64_IntR0   =   1024,\n    CV_IA64_IntR1   =   1025,\n    CV_IA64_IntR2   =   1026,\n    CV_IA64_IntR3   =   1027,\n    CV_IA64_IntR4   =   1028,\n    CV_IA64_IntR5   =   1029,\n    CV_IA64_IntR6   =   1030,\n    CV_IA64_IntR7   =   1031,\n    CV_IA64_IntR8   =   1032,\n    CV_IA64_IntR9   =   1033,\n    CV_IA64_IntR10  =   1034,\n    CV_IA64_IntR11  =   1035,\n    CV_IA64_IntR12  =   1036,\n    CV_IA64_IntR13  =   1037,\n    CV_IA64_IntR14  =   1038,\n    CV_IA64_IntR15  =   1039,\n    CV_IA64_IntR16  =   1040,\n    CV_IA64_IntR17  =   1041,\n    CV_IA64_IntR18  =   1042,\n    CV_IA64_IntR19  =   1043,\n    CV_IA64_IntR20  =   1044,\n    CV_IA64_IntR21  =   1045,\n    CV_IA64_IntR22  =   1046,\n    CV_IA64_IntR23  =   1047,\n    CV_IA64_IntR24  =   1048,\n    CV_IA64_IntR25  =   1049,\n    CV_IA64_IntR26  =   1050,\n    CV_IA64_IntR27  =   1051,\n    CV_IA64_IntR28  =   1052,\n    CV_IA64_IntR29  =   1053,\n    CV_IA64_IntR30  =   1054,\n    CV_IA64_IntR31  =   1055,\n\n    // Register Stack\n    CV_IA64_IntR32  =   1056,\n    CV_IA64_IntR33  =   1057,\n    CV_IA64_IntR34  =   1058,\n    CV_IA64_IntR35  =   1059,\n    CV_IA64_IntR36  =   1060,\n    CV_IA64_IntR37  =   1061,\n    CV_IA64_IntR38  =   1062,\n    CV_IA64_IntR39  =   1063,\n    CV_IA64_IntR40  =   1064,\n    CV_IA64_IntR41  =   1065,\n    CV_IA64_IntR42  =   1066,\n    CV_IA64_IntR43  =   1067,\n    CV_IA64_IntR44  =   1068,\n    CV_IA64_IntR45  =   1069,\n    CV_IA64_IntR46  =   1070,\n    CV_IA64_IntR47  =   1071,\n    CV_IA64_IntR48  =   1072,\n    CV_IA64_IntR49  =   1073,\n    CV_IA64_IntR50  =   1074,\n    CV_IA64_IntR51  =   1075,\n    CV_IA64_IntR52  =   1076,\n    CV_IA64_IntR53  =   1077,\n    CV_IA64_IntR54  =   1078,\n    CV_IA64_IntR55  =   1079,\n    CV_IA64_IntR56  =   1080,\n    CV_IA64_IntR57  =   1081,\n    CV_IA64_IntR58  =   1082,\n    CV_IA64_IntR59  =   1083,\n    CV_IA64_IntR60  =   1084,\n    CV_IA64_IntR61  =   1085,\n    CV_IA64_IntR62  =   1086,\n    CV_IA64_IntR63  =   1087,\n    CV_IA64_IntR64  =   1088,\n    CV_IA64_IntR65  =   1089,\n    CV_IA64_IntR66  =   1090,\n    CV_IA64_IntR67  =   1091,\n    CV_IA64_IntR68  =   1092,\n    CV_IA64_IntR69  =   1093,\n    CV_IA64_IntR70  =   1094,\n    CV_IA64_IntR71  =   1095,\n    CV_IA64_IntR72  =   1096,\n    CV_IA64_IntR73  =   1097,\n    CV_IA64_IntR74  =   1098,\n    CV_IA64_IntR75  =   1099,\n    CV_IA64_IntR76  =   1100,\n    CV_IA64_IntR77  =   1101,\n    CV_IA64_IntR78  =   1102,\n    CV_IA64_IntR79  =   1103,\n    CV_IA64_IntR80  =   1104,\n    CV_IA64_IntR81  =   1105,\n    CV_IA64_IntR82  =   1106,\n    CV_IA64_IntR83  =   1107,\n    CV_IA64_IntR84  =   1108,\n    CV_IA64_IntR85  =   1109,\n    CV_IA64_IntR86  =   1110,\n    CV_IA64_IntR87  =   1111,\n    CV_IA64_IntR88  =   1112,\n    CV_IA64_IntR89  =   1113,\n    CV_IA64_IntR90  =   1114,\n    CV_IA64_IntR91  =   1115,\n    CV_IA64_IntR92  =   1116,\n    CV_IA64_IntR93  =   1117,\n    CV_IA64_IntR94  =   1118,\n    CV_IA64_IntR95  =   1119,\n    CV_IA64_IntR96  =   1120,\n    CV_IA64_IntR97  =   1121,\n    CV_IA64_IntR98  =   1122,\n    CV_IA64_IntR99  =   1123,\n    CV_IA64_IntR100 =   1124,\n    CV_IA64_IntR101 =   1125,\n    CV_IA64_IntR102 =   1126,\n    CV_IA64_IntR103 =   1127,\n    CV_IA64_IntR104 =   1128,\n    CV_IA64_IntR105 =   1129,\n    CV_IA64_IntR106 =   1130,\n    CV_IA64_IntR107 =   1131,\n    CV_IA64_IntR108 =   1132,\n    CV_IA64_IntR109 =   1133,\n    CV_IA64_IntR110 =   1134,\n    CV_IA64_IntR111 =   1135,\n    CV_IA64_IntR112 =   1136,\n    CV_IA64_IntR113 =   1137,\n    CV_IA64_IntR114 =   1138,\n    CV_IA64_IntR115 =   1139,\n    CV_IA64_IntR116 =   1140,\n    CV_IA64_IntR117 =   1141,\n    CV_IA64_IntR118 =   1142,\n    CV_IA64_IntR119 =   1143,\n    CV_IA64_IntR120 =   1144,\n    CV_IA64_IntR121 =   1145,\n    CV_IA64_IntR122 =   1146,\n    CV_IA64_IntR123 =   1147,\n    CV_IA64_IntR124 =   1148,\n    CV_IA64_IntR125 =   1149,\n    CV_IA64_IntR126 =   1150,\n    CV_IA64_IntR127 =   1151,\n\n    // Floating-Point Registers\n\n    // Low Floating Point Registers\n    CV_IA64_FltF0   =   2048,\n    CV_IA64_FltF1   =   2049,\n    CV_IA64_FltF2   =   2050,\n    CV_IA64_FltF3   =   2051,\n    CV_IA64_FltF4   =   2052,\n    CV_IA64_FltF5   =   2053,\n    CV_IA64_FltF6   =   2054,\n    CV_IA64_FltF7   =   2055,\n    CV_IA64_FltF8   =   2056,\n    CV_IA64_FltF9   =   2057,\n    CV_IA64_FltF10  =   2058,\n    CV_IA64_FltF11  =   2059,\n    CV_IA64_FltF12  =   2060,\n    CV_IA64_FltF13  =   2061,\n    CV_IA64_FltF14  =   2062,\n    CV_IA64_FltF15  =   2063,\n    CV_IA64_FltF16  =   2064,\n    CV_IA64_FltF17  =   2065,\n    CV_IA64_FltF18  =   2066,\n    CV_IA64_FltF19  =   2067,\n    CV_IA64_FltF20  =   2068,\n    CV_IA64_FltF21  =   2069,\n    CV_IA64_FltF22  =   2070,\n    CV_IA64_FltF23  =   2071,\n    CV_IA64_FltF24  =   2072,\n    CV_IA64_FltF25  =   2073,\n    CV_IA64_FltF26  =   2074,\n    CV_IA64_FltF27  =   2075,\n    CV_IA64_FltF28  =   2076,\n    CV_IA64_FltF29  =   2077,\n    CV_IA64_FltF30  =   2078,\n    CV_IA64_FltF31  =   2079,\n\n    // High Floating Point Registers\n    CV_IA64_FltF32  =   2080,\n    CV_IA64_FltF33  =   2081,\n    CV_IA64_FltF34  =   2082,\n    CV_IA64_FltF35  =   2083,\n    CV_IA64_FltF36  =   2084,\n    CV_IA64_FltF37  =   2085,\n    CV_IA64_FltF38  =   2086,\n    CV_IA64_FltF39  =   2087,\n    CV_IA64_FltF40  =   2088,\n    CV_IA64_FltF41  =   2089,\n    CV_IA64_FltF42  =   2090,\n    CV_IA64_FltF43  =   2091,\n    CV_IA64_FltF44  =   2092,\n    CV_IA64_FltF45  =   2093,\n    CV_IA64_FltF46  =   2094,\n    CV_IA64_FltF47  =   2095,\n    CV_IA64_FltF48  =   2096,\n    CV_IA64_FltF49  =   2097,\n    CV_IA64_FltF50  =   2098,\n    CV_IA64_FltF51  =   2099,\n    CV_IA64_FltF52  =   2100,\n    CV_IA64_FltF53  =   2101,\n    CV_IA64_FltF54  =   2102,\n    CV_IA64_FltF55  =   2103,\n    CV_IA64_FltF56  =   2104,\n    CV_IA64_FltF57  =   2105,\n    CV_IA64_FltF58  =   2106,\n    CV_IA64_FltF59  =   2107,\n    CV_IA64_FltF60  =   2108,\n    CV_IA64_FltF61  =   2109,\n    CV_IA64_FltF62  =   2110,\n    CV_IA64_FltF63  =   2111,\n    CV_IA64_FltF64  =   2112,\n    CV_IA64_FltF65  =   2113,\n    CV_IA64_FltF66  =   2114,\n    CV_IA64_FltF67  =   2115,\n    CV_IA64_FltF68  =   2116,\n    CV_IA64_FltF69  =   2117,\n    CV_IA64_FltF70  =   2118,\n    CV_IA64_FltF71  =   2119,\n    CV_IA64_FltF72  =   2120,\n    CV_IA64_FltF73  =   2121,\n    CV_IA64_FltF74  =   2122,\n    CV_IA64_FltF75  =   2123,\n    CV_IA64_FltF76  =   2124,\n    CV_IA64_FltF77  =   2125,\n    CV_IA64_FltF78  =   2126,\n    CV_IA64_FltF79  =   2127,\n    CV_IA64_FltF80  =   2128,\n    CV_IA64_FltF81  =   2129,\n    CV_IA64_FltF82  =   2130,\n    CV_IA64_FltF83  =   2131,\n    CV_IA64_FltF84  =   2132,\n    CV_IA64_FltF85  =   2133,\n    CV_IA64_FltF86  =   2134,\n    CV_IA64_FltF87  =   2135,\n    CV_IA64_FltF88  =   2136,\n    CV_IA64_FltF89  =   2137,\n    CV_IA64_FltF90  =   2138,\n    CV_IA64_FltF91  =   2139,\n    CV_IA64_FltF92  =   2140,\n    CV_IA64_FltF93  =   2141,\n    CV_IA64_FltF94  =   2142,\n    CV_IA64_FltF95  =   2143,\n    CV_IA64_FltF96  =   2144,\n    CV_IA64_FltF97  =   2145,\n    CV_IA64_FltF98  =   2146,\n    CV_IA64_FltF99  =   2147,\n    CV_IA64_FltF100 =   2148,\n    CV_IA64_FltF101 =   2149,\n    CV_IA64_FltF102 =   2150,\n    CV_IA64_FltF103 =   2151,\n    CV_IA64_FltF104 =   2152,\n    CV_IA64_FltF105 =   2153,\n    CV_IA64_FltF106 =   2154,\n    CV_IA64_FltF107 =   2155,\n    CV_IA64_FltF108 =   2156,\n    CV_IA64_FltF109 =   2157,\n    CV_IA64_FltF110 =   2158,\n    CV_IA64_FltF111 =   2159,\n    CV_IA64_FltF112 =   2160,\n    CV_IA64_FltF113 =   2161,\n    CV_IA64_FltF114 =   2162,\n    CV_IA64_FltF115 =   2163,\n    CV_IA64_FltF116 =   2164,\n    CV_IA64_FltF117 =   2165,\n    CV_IA64_FltF118 =   2166,\n    CV_IA64_FltF119 =   2167,\n    CV_IA64_FltF120 =   2168,\n    CV_IA64_FltF121 =   2169,\n    CV_IA64_FltF122 =   2170,\n    CV_IA64_FltF123 =   2171,\n    CV_IA64_FltF124 =   2172,\n    CV_IA64_FltF125 =   2173,\n    CV_IA64_FltF126 =   2174,\n    CV_IA64_FltF127 =   2175,\n\n    // Application Registers\n\n    CV_IA64_ApKR0   =   3072,\n    CV_IA64_ApKR1   =   3073,\n    CV_IA64_ApKR2   =   3074,\n    CV_IA64_ApKR3   =   3075,\n    CV_IA64_ApKR4   =   3076,\n    CV_IA64_ApKR5   =   3077,\n    CV_IA64_ApKR6   =   3078,\n    CV_IA64_ApKR7   =   3079,\n    CV_IA64_AR8     =   3080,\n    CV_IA64_AR9     =   3081,\n    CV_IA64_AR10    =   3082,\n    CV_IA64_AR11    =   3083,\n    CV_IA64_AR12    =   3084,\n    CV_IA64_AR13    =   3085,\n    CV_IA64_AR14    =   3086,\n    CV_IA64_AR15    =   3087,\n    CV_IA64_RsRSC   =   3088,\n    CV_IA64_RsBSP   =   3089,\n    CV_IA64_RsBSPSTORE  =   3090,\n    CV_IA64_RsRNAT  =   3091,\n    CV_IA64_AR20    =   3092,\n    CV_IA64_StFCR   =   3093,\n    CV_IA64_AR22    =   3094,\n    CV_IA64_AR23    =   3095,\n    CV_IA64_EFLAG   =   3096,\n    CV_IA64_CSD     =   3097,\n    CV_IA64_SSD     =   3098,\n    CV_IA64_CFLG    =   3099,\n    CV_IA64_StFSR   =   3100,\n    CV_IA64_StFIR   =   3101,\n    CV_IA64_StFDR   =   3102,\n    CV_IA64_AR31    =   3103,\n    CV_IA64_ApCCV   =   3104,\n    CV_IA64_AR33    =   3105,\n    CV_IA64_AR34    =   3106,\n    CV_IA64_AR35    =   3107,\n    CV_IA64_ApUNAT  =   3108,\n    CV_IA64_AR37    =   3109,\n    CV_IA64_AR38    =   3110,\n    CV_IA64_AR39    =   3111,\n    CV_IA64_StFPSR  =   3112,\n    CV_IA64_AR41    =   3113,\n    CV_IA64_AR42    =   3114,\n    CV_IA64_AR43    =   3115,\n    CV_IA64_ApITC   =   3116,\n    CV_IA64_AR45    =   3117,\n    CV_IA64_AR46    =   3118,\n    CV_IA64_AR47    =   3119,\n    CV_IA64_AR48    =   3120,\n    CV_IA64_AR49    =   3121,\n    CV_IA64_AR50    =   3122,\n    CV_IA64_AR51    =   3123,\n    CV_IA64_AR52    =   3124,\n    CV_IA64_AR53    =   3125,\n    CV_IA64_AR54    =   3126,\n    CV_IA64_AR55    =   3127,\n    CV_IA64_AR56    =   3128,\n    CV_IA64_AR57    =   3129,\n    CV_IA64_AR58    =   3130,\n    CV_IA64_AR59    =   3131,\n    CV_IA64_AR60    =   3132,\n    CV_IA64_AR61    =   3133,\n    CV_IA64_AR62    =   3134,\n    CV_IA64_AR63    =   3135,\n    CV_IA64_RsPFS   =   3136,\n    CV_IA64_ApLC    =   3137,\n    CV_IA64_ApEC    =   3138,\n    CV_IA64_AR67    =   3139,\n    CV_IA64_AR68    =   3140,\n    CV_IA64_AR69    =   3141,\n    CV_IA64_AR70    =   3142,\n    CV_IA64_AR71    =   3143,\n    CV_IA64_AR72    =   3144,\n    CV_IA64_AR73    =   3145,\n    CV_IA64_AR74    =   3146,\n    CV_IA64_AR75    =   3147,\n    CV_IA64_AR76    =   3148,\n    CV_IA64_AR77    =   3149,\n    CV_IA64_AR78    =   3150,\n    CV_IA64_AR79    =   3151,\n    CV_IA64_AR80    =   3152,\n    CV_IA64_AR81    =   3153,\n    CV_IA64_AR82    =   3154,\n    CV_IA64_AR83    =   3155,\n    CV_IA64_AR84    =   3156,\n    CV_IA64_AR85    =   3157,\n    CV_IA64_AR86    =   3158,\n    CV_IA64_AR87    =   3159,\n    CV_IA64_AR88    =   3160,\n    CV_IA64_AR89    =   3161,\n    CV_IA64_AR90    =   3162,\n    CV_IA64_AR91    =   3163,\n    CV_IA64_AR92    =   3164,\n    CV_IA64_AR93    =   3165,\n    CV_IA64_AR94    =   3166,\n    CV_IA64_AR95    =   3167,\n    CV_IA64_AR96    =   3168,\n    CV_IA64_AR97    =   3169,\n    CV_IA64_AR98    =   3170,\n    CV_IA64_AR99    =   3171,\n    CV_IA64_AR100   =   3172,\n    CV_IA64_AR101   =   3173,\n    CV_IA64_AR102   =   3174,\n    CV_IA64_AR103   =   3175,\n    CV_IA64_AR104   =   3176,\n    CV_IA64_AR105   =   3177,\n    CV_IA64_AR106   =   3178,\n    CV_IA64_AR107   =   3179,\n    CV_IA64_AR108   =   3180,\n    CV_IA64_AR109   =   3181,\n    CV_IA64_AR110   =   3182,\n    CV_IA64_AR111   =   3183,\n    CV_IA64_AR112   =   3184,\n    CV_IA64_AR113   =   3185,\n    CV_IA64_AR114   =   3186,\n    CV_IA64_AR115   =   3187,\n    CV_IA64_AR116   =   3188,\n    CV_IA64_AR117   =   3189,\n    CV_IA64_AR118   =   3190,\n    CV_IA64_AR119   =   3191,\n    CV_IA64_AR120   =   3192,\n    CV_IA64_AR121   =   3193,\n    CV_IA64_AR122   =   3194,\n    CV_IA64_AR123   =   3195,\n    CV_IA64_AR124   =   3196,\n    CV_IA64_AR125   =   3197,\n    CV_IA64_AR126   =   3198,\n    CV_IA64_AR127   =   3199,\n\n    // CPUID Registers\n\n    CV_IA64_CPUID0  =   3328,\n    CV_IA64_CPUID1  =   3329,\n    CV_IA64_CPUID2  =   3330,\n    CV_IA64_CPUID3  =   3331,\n    CV_IA64_CPUID4  =   3332,\n\n    // Control Registers\n\n    CV_IA64_ApDCR   =   4096,\n    CV_IA64_ApITM   =   4097,\n    CV_IA64_ApIVA   =   4098,\n    CV_IA64_CR3     =   4099,\n    CV_IA64_CR4     =   4100,\n    CV_IA64_CR5     =   4101,\n    CV_IA64_CR6     =   4102,\n    CV_IA64_CR7     =   4103,\n    CV_IA64_ApPTA   =   4104,\n    CV_IA64_ApGPTA  =   4105,\n    CV_IA64_CR10    =   4106,\n    CV_IA64_CR11    =   4107,\n    CV_IA64_CR12    =   4108,\n    CV_IA64_CR13    =   4109,\n    CV_IA64_CR14    =   4110,\n    CV_IA64_CR15    =   4111,\n    CV_IA64_StIPSR  =   4112,\n    CV_IA64_StISR   =   4113,\n    CV_IA64_CR18    =   4114,\n    CV_IA64_StIIP   =   4115,\n    CV_IA64_StIFA   =   4116,\n    CV_IA64_StITIR  =   4117,\n    CV_IA64_StIIPA  =   4118,\n    CV_IA64_StIFS   =   4119,\n    CV_IA64_StIIM   =   4120,\n    CV_IA64_StIHA   =   4121,\n    CV_IA64_CR26    =   4122,\n    CV_IA64_CR27    =   4123,\n    CV_IA64_CR28    =   4124,\n    CV_IA64_CR29    =   4125,\n    CV_IA64_CR30    =   4126,\n    CV_IA64_CR31    =   4127,\n    CV_IA64_CR32    =   4128,\n    CV_IA64_CR33    =   4129,\n    CV_IA64_CR34    =   4130,\n    CV_IA64_CR35    =   4131,\n    CV_IA64_CR36    =   4132,\n    CV_IA64_CR37    =   4133,\n    CV_IA64_CR38    =   4134,\n    CV_IA64_CR39    =   4135,\n    CV_IA64_CR40    =   4136,\n    CV_IA64_CR41    =   4137,\n    CV_IA64_CR42    =   4138,\n    CV_IA64_CR43    =   4139,\n    CV_IA64_CR44    =   4140,\n    CV_IA64_CR45    =   4141,\n    CV_IA64_CR46    =   4142,\n    CV_IA64_CR47    =   4143,\n    CV_IA64_CR48    =   4144,\n    CV_IA64_CR49    =   4145,\n    CV_IA64_CR50    =   4146,\n    CV_IA64_CR51    =   4147,\n    CV_IA64_CR52    =   4148,\n    CV_IA64_CR53    =   4149,\n    CV_IA64_CR54    =   4150,\n    CV_IA64_CR55    =   4151,\n    CV_IA64_CR56    =   4152,\n    CV_IA64_CR57    =   4153,\n    CV_IA64_CR58    =   4154,\n    CV_IA64_CR59    =   4155,\n    CV_IA64_CR60    =   4156,\n    CV_IA64_CR61    =   4157,\n    CV_IA64_CR62    =   4158,\n    CV_IA64_CR63    =   4159,\n    CV_IA64_SaLID   =   4160,\n    CV_IA64_SaIVR   =   4161,\n    CV_IA64_SaTPR   =   4162,\n    CV_IA64_SaEOI   =   4163,\n    CV_IA64_SaIRR0  =   4164,\n    CV_IA64_SaIRR1  =   4165,\n    CV_IA64_SaIRR2  =   4166,\n    CV_IA64_SaIRR3  =   4167,\n    CV_IA64_SaITV   =   4168,\n    CV_IA64_SaPMV   =   4169,\n    CV_IA64_SaCMCV  =   4170,\n    CV_IA64_CR75    =   4171,\n    CV_IA64_CR76    =   4172,\n    CV_IA64_CR77    =   4173,\n    CV_IA64_CR78    =   4174,\n    CV_IA64_CR79    =   4175,\n    CV_IA64_SaLRR0  =   4176,\n    CV_IA64_SaLRR1  =   4177,\n    CV_IA64_CR82    =   4178,\n    CV_IA64_CR83    =   4179,\n    CV_IA64_CR84    =   4180,\n    CV_IA64_CR85    =   4181,\n    CV_IA64_CR86    =   4182,\n    CV_IA64_CR87    =   4183,\n    CV_IA64_CR88    =   4184,\n    CV_IA64_CR89    =   4185,\n    CV_IA64_CR90    =   4186,\n    CV_IA64_CR91    =   4187,\n    CV_IA64_CR92    =   4188,\n    CV_IA64_CR93    =   4189,\n    CV_IA64_CR94    =   4190,\n    CV_IA64_CR95    =   4191,\n    CV_IA64_CR96    =   4192,\n    CV_IA64_CR97    =   4193,\n    CV_IA64_CR98    =   4194,\n    CV_IA64_CR99    =   4195,\n    CV_IA64_CR100   =   4196,\n    CV_IA64_CR101   =   4197,\n    CV_IA64_CR102   =   4198,\n    CV_IA64_CR103   =   4199,\n    CV_IA64_CR104   =   4200,\n    CV_IA64_CR105   =   4201,\n    CV_IA64_CR106   =   4202,\n    CV_IA64_CR107   =   4203,\n    CV_IA64_CR108   =   4204,\n    CV_IA64_CR109   =   4205,\n    CV_IA64_CR110   =   4206,\n    CV_IA64_CR111   =   4207,\n    CV_IA64_CR112   =   4208,\n    CV_IA64_CR113   =   4209,\n    CV_IA64_CR114   =   4210,\n    CV_IA64_CR115   =   4211,\n    CV_IA64_CR116   =   4212,\n    CV_IA64_CR117   =   4213,\n    CV_IA64_CR118   =   4214,\n    CV_IA64_CR119   =   4215,\n    CV_IA64_CR120   =   4216,\n    CV_IA64_CR121   =   4217,\n    CV_IA64_CR122   =   4218,\n    CV_IA64_CR123   =   4219,\n    CV_IA64_CR124   =   4220,\n    CV_IA64_CR125   =   4221,\n    CV_IA64_CR126   =   4222,\n    CV_IA64_CR127   =   4223,\n\n    // Protection Key Registers\n\n    CV_IA64_Pkr0    =   5120,\n    CV_IA64_Pkr1    =   5121,\n    CV_IA64_Pkr2    =   5122,\n    CV_IA64_Pkr3    =   5123,\n    CV_IA64_Pkr4    =   5124,\n    CV_IA64_Pkr5    =   5125,\n    CV_IA64_Pkr6    =   5126,\n    CV_IA64_Pkr7    =   5127,\n    CV_IA64_Pkr8    =   5128,\n    CV_IA64_Pkr9    =   5129,\n    CV_IA64_Pkr10   =   5130,\n    CV_IA64_Pkr11   =   5131,\n    CV_IA64_Pkr12   =   5132,\n    CV_IA64_Pkr13   =   5133,\n    CV_IA64_Pkr14   =   5134,\n    CV_IA64_Pkr15   =   5135,\n\n    // Region Registers\n\n    CV_IA64_Rr0     =   6144,\n    CV_IA64_Rr1     =   6145,\n    CV_IA64_Rr2     =   6146,\n    CV_IA64_Rr3     =   6147,\n    CV_IA64_Rr4     =   6148,\n    CV_IA64_Rr5     =   6149,\n    CV_IA64_Rr6     =   6150,\n    CV_IA64_Rr7     =   6151,\n\n    // Performance Monitor Data Registers\n\n    CV_IA64_PFD0    =   7168,\n    CV_IA64_PFD1    =   7169,\n    CV_IA64_PFD2    =   7170,\n    CV_IA64_PFD3    =   7171,\n    CV_IA64_PFD4    =   7172,\n    CV_IA64_PFD5    =   7173,\n    CV_IA64_PFD6    =   7174,\n    CV_IA64_PFD7    =   7175,\n\n    // Performance Monitor Config Registers\n\n    CV_IA64_PFC0    =   7424,\n    CV_IA64_PFC1    =   7425,\n    CV_IA64_PFC2    =   7426,\n    CV_IA64_PFC3    =   7427,\n    CV_IA64_PFC4    =   7428,\n    CV_IA64_PFC5    =   7429,\n    CV_IA64_PFC6    =   7430,\n    CV_IA64_PFC7    =   7431,\n\n    // Instruction Translation Registers\n\n    CV_IA64_TrI0    =   8192,\n    CV_IA64_TrI1    =   8193,\n    CV_IA64_TrI2    =   8194,\n    CV_IA64_TrI3    =   8195,\n    CV_IA64_TrI4    =   8196,\n    CV_IA64_TrI5    =   8197,\n    CV_IA64_TrI6    =   8198,\n    CV_IA64_TrI7    =   8199,\n\n    // Data Translation Registers\n\n    CV_IA64_TrD0    =   8320,\n    CV_IA64_TrD1    =   8321,\n    CV_IA64_TrD2    =   8322,\n    CV_IA64_TrD3    =   8323,\n    CV_IA64_TrD4    =   8324,\n    CV_IA64_TrD5    =   8325,\n    CV_IA64_TrD6    =   8326,\n    CV_IA64_TrD7    =   8327,\n\n    // Instruction Breakpoint Registers\n\n    CV_IA64_DbI0    =   8448,\n    CV_IA64_DbI1    =   8449,\n    CV_IA64_DbI2    =   8450,\n    CV_IA64_DbI3    =   8451,\n    CV_IA64_DbI4    =   8452,\n    CV_IA64_DbI5    =   8453,\n    CV_IA64_DbI6    =   8454,\n    CV_IA64_DbI7    =   8455,\n\n    // Data Breakpoint Registers\n\n    CV_IA64_DbD0    =   8576,\n    CV_IA64_DbD1    =   8577,\n    CV_IA64_DbD2    =   8578,\n    CV_IA64_DbD3    =   8579,\n    CV_IA64_DbD4    =   8580,\n    CV_IA64_DbD5    =   8581,\n    CV_IA64_DbD6    =   8582,\n    CV_IA64_DbD7    =   8583,\n\n    //\n    // Register set for the TriCore processor.\n    //\n\n    CV_TRI_NOREG    =   CV_REG_NONE,\n\n    // General Purpose Data Registers\n\n    CV_TRI_D0   =   10,\n    CV_TRI_D1   =   11,\n    CV_TRI_D2   =   12,\n    CV_TRI_D3   =   13,\n    CV_TRI_D4   =   14,\n    CV_TRI_D5   =   15,\n    CV_TRI_D6   =   16,\n    CV_TRI_D7   =   17,\n    CV_TRI_D8   =   18,\n    CV_TRI_D9   =   19,\n    CV_TRI_D10  =   20,\n    CV_TRI_D11  =   21,\n    CV_TRI_D12  =   22,\n    CV_TRI_D13  =   23,\n    CV_TRI_D14  =   24,\n    CV_TRI_D15  =   25,\n\n    // General Purpose Address Registers\n\n    CV_TRI_A0   =   26,\n    CV_TRI_A1   =   27,\n    CV_TRI_A2   =   28,\n    CV_TRI_A3   =   29,\n    CV_TRI_A4   =   30,\n    CV_TRI_A5   =   31,\n    CV_TRI_A6   =   32,\n    CV_TRI_A7   =   33,\n    CV_TRI_A8   =   34,\n    CV_TRI_A9   =   35,\n    CV_TRI_A10  =   36,\n    CV_TRI_A11  =   37,\n    CV_TRI_A12  =   38,\n    CV_TRI_A13  =   39,\n    CV_TRI_A14  =   40,\n    CV_TRI_A15  =   41,\n\n    // Extended (64-bit) data registers\n\n    CV_TRI_E0   =   42,\n    CV_TRI_E2   =   43,\n    CV_TRI_E4   =   44,\n    CV_TRI_E6   =   45,\n    CV_TRI_E8   =   46,\n    CV_TRI_E10  =   47,\n    CV_TRI_E12  =   48,\n    CV_TRI_E14  =   49,\n\n    // Extended (64-bit) address registers\n\n    CV_TRI_EA0  =   50,\n    CV_TRI_EA2  =   51,\n    CV_TRI_EA4  =   52,\n    CV_TRI_EA6  =   53,\n    CV_TRI_EA8  =   54,\n    CV_TRI_EA10 =   55,\n    CV_TRI_EA12 =   56,\n    CV_TRI_EA14 =   57,\n\n    CV_TRI_PSW  =   58,\n    CV_TRI_PCXI =   59,\n    CV_TRI_PC   =   60,\n    CV_TRI_FCX  =   61,\n    CV_TRI_LCX  =   62,\n    CV_TRI_ISP  =   63,\n    CV_TRI_ICR  =   64,\n    CV_TRI_BIV  =   65,\n    CV_TRI_BTV  =   66,\n    CV_TRI_SYSCON   =   67,\n    CV_TRI_DPRx_0   =   68,\n    CV_TRI_DPRx_1   =   69,\n    CV_TRI_DPRx_2   =   70,\n    CV_TRI_DPRx_3   =   71,\n    CV_TRI_CPRx_0   =   68,\n    CV_TRI_CPRx_1   =   69,\n    CV_TRI_CPRx_2   =   70,\n    CV_TRI_CPRx_3   =   71,\n    CV_TRI_DPMx_0   =   68,\n    CV_TRI_DPMx_1   =   69,\n    CV_TRI_DPMx_2   =   70,\n    CV_TRI_DPMx_3   =   71,\n    CV_TRI_CPMx_0   =   68,\n    CV_TRI_CPMx_1   =   69,\n    CV_TRI_CPMx_2   =   70,\n    CV_TRI_CPMx_3   =   71,\n    CV_TRI_DBGSSR   =   72,\n    CV_TRI_EXEVT    =   73,\n    CV_TRI_SWEVT    =   74,\n    CV_TRI_CREVT    =   75,\n    CV_TRI_TRnEVT   =   76,\n    CV_TRI_MMUCON   =   77,\n    CV_TRI_ASI      =   78,\n    CV_TRI_TVA      =   79,\n    CV_TRI_TPA      =   80,\n    CV_TRI_TPX      =   81,\n    CV_TRI_TFA      =   82,\n\n    //\n    // Register set for the AM33 and related processors.\n    //\n\n    CV_AM33_NOREG   =   CV_REG_NONE,\n\n    // \"Extended\" (general purpose integer) registers\n    CV_AM33_E0      =   10,\n    CV_AM33_E1      =   11,\n    CV_AM33_E2      =   12,\n    CV_AM33_E3      =   13,\n    CV_AM33_E4      =   14,\n    CV_AM33_E5      =   15,\n    CV_AM33_E6      =   16,\n    CV_AM33_E7      =   17,\n\n    // Address registers\n    CV_AM33_A0      =   20,\n    CV_AM33_A1      =   21,\n    CV_AM33_A2      =   22,\n    CV_AM33_A3      =   23,\n\n    // Integer data registers\n    CV_AM33_D0      =   30,\n    CV_AM33_D1      =   31,\n    CV_AM33_D2      =   32,\n    CV_AM33_D3      =   33,\n\n    // (Single-precision) floating-point registers\n    CV_AM33_FS0     =   40,\n    CV_AM33_FS1     =   41,\n    CV_AM33_FS2     =   42,\n    CV_AM33_FS3     =   43,\n    CV_AM33_FS4     =   44,\n    CV_AM33_FS5     =   45,\n    CV_AM33_FS6     =   46,\n    CV_AM33_FS7     =   47,\n    CV_AM33_FS8     =   48,\n    CV_AM33_FS9     =   49,\n    CV_AM33_FS10    =   50,\n    CV_AM33_FS11    =   51,\n    CV_AM33_FS12    =   52,\n    CV_AM33_FS13    =   53,\n    CV_AM33_FS14    =   54,\n    CV_AM33_FS15    =   55,\n    CV_AM33_FS16    =   56,\n    CV_AM33_FS17    =   57,\n    CV_AM33_FS18    =   58,\n    CV_AM33_FS19    =   59,\n    CV_AM33_FS20    =   60,\n    CV_AM33_FS21    =   61,\n    CV_AM33_FS22    =   62,\n    CV_AM33_FS23    =   63,\n    CV_AM33_FS24    =   64,\n    CV_AM33_FS25    =   65,\n    CV_AM33_FS26    =   66,\n    CV_AM33_FS27    =   67,\n    CV_AM33_FS28    =   68,\n    CV_AM33_FS29    =   69,\n    CV_AM33_FS30    =   70,\n    CV_AM33_FS31    =   71,\n\n    // Special purpose registers\n\n    // Stack pointer\n    CV_AM33_SP      =   80,\n\n    // Program counter\n    CV_AM33_PC      =   81,\n\n    // Multiply-divide/accumulate registers\n    CV_AM33_MDR     =   82,\n    CV_AM33_MDRQ    =   83,\n    CV_AM33_MCRH    =   84,\n    CV_AM33_MCRL    =   85,\n    CV_AM33_MCVF    =   86,\n\n    // CPU status words\n    CV_AM33_EPSW    =   87,\n    CV_AM33_FPCR    =   88,\n\n    // Loop buffer registers\n    CV_AM33_LIR     =   89,\n    CV_AM33_LAR     =   90,\n\n    //\n    // Register set for the Mitsubishi M32R\n    //\n\n    CV_M32R_NOREG    =   CV_REG_NONE,\n\n    CV_M32R_R0    =   10,\n    CV_M32R_R1    =   11,\n    CV_M32R_R2    =   12,\n    CV_M32R_R3    =   13,\n    CV_M32R_R4    =   14,\n    CV_M32R_R5    =   15,\n    CV_M32R_R6    =   16,\n    CV_M32R_R7    =   17,\n    CV_M32R_R8    =   18,\n    CV_M32R_R9    =   19,\n    CV_M32R_R10   =   20,\n    CV_M32R_R11   =   21,\n    CV_M32R_R12   =   22,   // Gloabal Pointer, if used\n    CV_M32R_R13   =   23,   // Frame Pointer, if allocated\n    CV_M32R_R14   =   24,   // Link Register\n    CV_M32R_R15   =   25,   // Stack Pointer\n    CV_M32R_PSW   =   26,   // Preocessor Status Register\n    CV_M32R_CBR   =   27,   // Condition Bit Register\n    CV_M32R_SPI   =   28,   // Interrupt Stack Pointer\n    CV_M32R_SPU   =   29,   // User Stack Pointer\n    CV_M32R_SPO   =   30,   // OS Stack Pointer\n    CV_M32R_BPC   =   31,   // Backup Program Counter\n    CV_M32R_ACHI  =   32,   // Accumulator High\n    CV_M32R_ACLO  =   33,   // Accumulator Low\n    CV_M32R_PC    =   34,   // Program Counter\n\n    //\n    // Register set for the SuperH SHMedia processor including compact\n    // mode\n    //\n\n    // Integer - 64 bit general registers\n    CV_SHMEDIA_NOREG   =   CV_REG_NONE,\n    CV_SHMEDIA_R0      =   10,\n    CV_SHMEDIA_R1      =   11,\n    CV_SHMEDIA_R2      =   12,\n    CV_SHMEDIA_R3      =   13,\n    CV_SHMEDIA_R4      =   14,\n    CV_SHMEDIA_R5      =   15,\n    CV_SHMEDIA_R6      =   16,\n    CV_SHMEDIA_R7      =   17,\n    CV_SHMEDIA_R8      =   18,\n    CV_SHMEDIA_R9      =   19,\n    CV_SHMEDIA_R10     =   20,\n    CV_SHMEDIA_R11     =   21,\n    CV_SHMEDIA_R12     =   22,\n    CV_SHMEDIA_R13     =   23,\n    CV_SHMEDIA_R14     =   24,\n    CV_SHMEDIA_R15     =   25,\n    CV_SHMEDIA_R16     =   26,\n    CV_SHMEDIA_R17     =   27,\n    CV_SHMEDIA_R18     =   28,\n    CV_SHMEDIA_R19     =   29,\n    CV_SHMEDIA_R20     =   30,\n    CV_SHMEDIA_R21     =   31,\n    CV_SHMEDIA_R22     =   32,\n    CV_SHMEDIA_R23     =   33,\n    CV_SHMEDIA_R24     =   34,\n    CV_SHMEDIA_R25     =   35,\n    CV_SHMEDIA_R26     =   36,\n    CV_SHMEDIA_R27     =   37,\n    CV_SHMEDIA_R28     =   38,\n    CV_SHMEDIA_R29     =   39,\n    CV_SHMEDIA_R30     =   40,\n    CV_SHMEDIA_R31     =   41,\n    CV_SHMEDIA_R32     =   42,\n    CV_SHMEDIA_R33     =   43,\n    CV_SHMEDIA_R34     =   44,\n    CV_SHMEDIA_R35     =   45,\n    CV_SHMEDIA_R36     =   46,\n    CV_SHMEDIA_R37     =   47,\n    CV_SHMEDIA_R38     =   48,\n    CV_SHMEDIA_R39     =   49,\n    CV_SHMEDIA_R40     =   50,\n    CV_SHMEDIA_R41     =   51,\n    CV_SHMEDIA_R42     =   52,\n    CV_SHMEDIA_R43     =   53,\n    CV_SHMEDIA_R44     =   54,\n    CV_SHMEDIA_R45     =   55,\n    CV_SHMEDIA_R46     =   56,\n    CV_SHMEDIA_R47     =   57,\n    CV_SHMEDIA_R48     =   58,\n    CV_SHMEDIA_R49     =   59,\n    CV_SHMEDIA_R50     =   60,\n    CV_SHMEDIA_R51     =   61,\n    CV_SHMEDIA_R52     =   62,\n    CV_SHMEDIA_R53     =   63,\n    CV_SHMEDIA_R54     =   64,\n    CV_SHMEDIA_R55     =   65,\n    CV_SHMEDIA_R56     =   66,\n    CV_SHMEDIA_R57     =   67,\n    CV_SHMEDIA_R58     =   68,\n    CV_SHMEDIA_R59     =   69,\n    CV_SHMEDIA_R60     =   70,\n    CV_SHMEDIA_R61     =   71,\n    CV_SHMEDIA_R62     =   72,\n    CV_SHMEDIA_R63     =   73,\n    \n    // Target Registers - 32 bit\n    CV_SHMEDIA_TR0     =   74,\n    CV_SHMEDIA_TR1     =   75,\n    CV_SHMEDIA_TR2     =   76,\n    CV_SHMEDIA_TR3     =   77,\n    CV_SHMEDIA_TR4     =   78,\n    CV_SHMEDIA_TR5     =   79,\n    CV_SHMEDIA_TR6     =   80,\n    CV_SHMEDIA_TR7     =   81,\n    CV_SHMEDIA_TR8     =   82, // future-proof\n    CV_SHMEDIA_TR9     =   83, // future-proof\n    CV_SHMEDIA_TR10    =   84, // future-proof\n    CV_SHMEDIA_TR11    =   85, // future-proof\n    CV_SHMEDIA_TR12    =   86, // future-proof\n    CV_SHMEDIA_TR13    =   87, // future-proof\n    CV_SHMEDIA_TR14    =   88, // future-proof\n    CV_SHMEDIA_TR15    =   89, // future-proof\n\n    // Single - 32 bit fp registers\n    CV_SHMEDIA_FR0     =   128,\n    CV_SHMEDIA_FR1     =   129,\n    CV_SHMEDIA_FR2     =   130,\n    CV_SHMEDIA_FR3     =   131,\n    CV_SHMEDIA_FR4     =   132,\n    CV_SHMEDIA_FR5     =   133,\n    CV_SHMEDIA_FR6     =   134,\n    CV_SHMEDIA_FR7     =   135,\n    CV_SHMEDIA_FR8     =   136,\n    CV_SHMEDIA_FR9     =   137,\n    CV_SHMEDIA_FR10    =   138,\n    CV_SHMEDIA_FR11    =   139,\n    CV_SHMEDIA_FR12    =   140,\n    CV_SHMEDIA_FR13    =   141,\n    CV_SHMEDIA_FR14    =   142,\n    CV_SHMEDIA_FR15    =   143,\n    CV_SHMEDIA_FR16    =   144,\n    CV_SHMEDIA_FR17    =   145,\n    CV_SHMEDIA_FR18    =   146,\n    CV_SHMEDIA_FR19    =   147,\n    CV_SHMEDIA_FR20    =   148,\n    CV_SHMEDIA_FR21    =   149,\n    CV_SHMEDIA_FR22    =   150,\n    CV_SHMEDIA_FR23    =   151,\n    CV_SHMEDIA_FR24    =   152,\n    CV_SHMEDIA_FR25    =   153,\n    CV_SHMEDIA_FR26    =   154,\n    CV_SHMEDIA_FR27    =   155,\n    CV_SHMEDIA_FR28    =   156,\n    CV_SHMEDIA_FR29    =   157,\n    CV_SHMEDIA_FR30    =   158,\n    CV_SHMEDIA_FR31    =   159,\n    CV_SHMEDIA_FR32    =   160,\n    CV_SHMEDIA_FR33    =   161,\n    CV_SHMEDIA_FR34    =   162,\n    CV_SHMEDIA_FR35    =   163,\n    CV_SHMEDIA_FR36    =   164,\n    CV_SHMEDIA_FR37    =   165,\n    CV_SHMEDIA_FR38    =   166,\n    CV_SHMEDIA_FR39    =   167,\n    CV_SHMEDIA_FR40    =   168,\n    CV_SHMEDIA_FR41    =   169,\n    CV_SHMEDIA_FR42    =   170,\n    CV_SHMEDIA_FR43    =   171,\n    CV_SHMEDIA_FR44    =   172,\n    CV_SHMEDIA_FR45    =   173,\n    CV_SHMEDIA_FR46    =   174,\n    CV_SHMEDIA_FR47    =   175,\n    CV_SHMEDIA_FR48    =   176,\n    CV_SHMEDIA_FR49    =   177,\n    CV_SHMEDIA_FR50    =   178,\n    CV_SHMEDIA_FR51    =   179,\n    CV_SHMEDIA_FR52    =   180,\n    CV_SHMEDIA_FR53    =   181,\n    CV_SHMEDIA_FR54    =   182,\n    CV_SHMEDIA_FR55    =   183,\n    CV_SHMEDIA_FR56    =   184,\n    CV_SHMEDIA_FR57    =   185,\n    CV_SHMEDIA_FR58    =   186,\n    CV_SHMEDIA_FR59    =   187,\n    CV_SHMEDIA_FR60    =   188,\n    CV_SHMEDIA_FR61    =   189,\n    CV_SHMEDIA_FR62    =   190,\n    CV_SHMEDIA_FR63    =   191,\n\n    // Double - 64 bit synonyms for 32bit fp register pairs\n    //          subtract 128 to find first base single register\n    CV_SHMEDIA_DR0     =   256,\n    CV_SHMEDIA_DR2     =   258,\n    CV_SHMEDIA_DR4     =   260,\n    CV_SHMEDIA_DR6     =   262,\n    CV_SHMEDIA_DR8     =   264,\n    CV_SHMEDIA_DR10    =   266,\n    CV_SHMEDIA_DR12    =   268,\n    CV_SHMEDIA_DR14    =   270,\n    CV_SHMEDIA_DR16    =   272,\n    CV_SHMEDIA_DR18    =   274,\n    CV_SHMEDIA_DR20    =   276,\n    CV_SHMEDIA_DR22    =   278,\n    CV_SHMEDIA_DR24    =   280,\n    CV_SHMEDIA_DR26    =   282,\n    CV_SHMEDIA_DR28    =   284,\n    CV_SHMEDIA_DR30    =   286,\n    CV_SHMEDIA_DR32    =   288,\n    CV_SHMEDIA_DR34    =   290,\n    CV_SHMEDIA_DR36    =   292,\n    CV_SHMEDIA_DR38    =   294,\n    CV_SHMEDIA_DR40    =   296,\n    CV_SHMEDIA_DR42    =   298,\n    CV_SHMEDIA_DR44    =   300,\n    CV_SHMEDIA_DR46    =   302,\n    CV_SHMEDIA_DR48    =   304,\n    CV_SHMEDIA_DR50    =   306,\n    CV_SHMEDIA_DR52    =   308,\n    CV_SHMEDIA_DR54    =   310,\n    CV_SHMEDIA_DR56    =   312,\n    CV_SHMEDIA_DR58    =   314,\n    CV_SHMEDIA_DR60    =   316,\n    CV_SHMEDIA_DR62    =   318,\n\n    // Vector - 128 bit synonyms for 32bit fp register quads\n    //          subtract 384 to find first base single register\n    CV_SHMEDIA_FV0     =   512,\n    CV_SHMEDIA_FV4     =   516,\n    CV_SHMEDIA_FV8     =   520,\n    CV_SHMEDIA_FV12    =   524,\n    CV_SHMEDIA_FV16    =   528,\n    CV_SHMEDIA_FV20    =   532,\n    CV_SHMEDIA_FV24    =   536,\n    CV_SHMEDIA_FV28    =   540,\n    CV_SHMEDIA_FV32    =   544,\n    CV_SHMEDIA_FV36    =   548,\n    CV_SHMEDIA_FV40    =   552,\n    CV_SHMEDIA_FV44    =   556,\n    CV_SHMEDIA_FV48    =   560,\n    CV_SHMEDIA_FV52    =   564,\n    CV_SHMEDIA_FV56    =   568,\n    CV_SHMEDIA_FV60    =   572,\n\n    // Matrix - 512 bit synonyms for 16 adjacent 32bit fp registers\n    //          subtract 896 to find first base single register\n    CV_SHMEDIA_MTRX0   =   1024,\n    CV_SHMEDIA_MTRX16  =   1040,\n    CV_SHMEDIA_MTRX32  =   1056,\n    CV_SHMEDIA_MTRX48  =   1072,\n\n    // Control - Implementation defined 64bit control registers\n    CV_SHMEDIA_CR0     =   2000,\n    CV_SHMEDIA_CR1     =   2001,\n    CV_SHMEDIA_CR2     =   2002,\n    CV_SHMEDIA_CR3     =   2003,\n    CV_SHMEDIA_CR4     =   2004,\n    CV_SHMEDIA_CR5     =   2005,\n    CV_SHMEDIA_CR6     =   2006,\n    CV_SHMEDIA_CR7     =   2007,\n    CV_SHMEDIA_CR8     =   2008,\n    CV_SHMEDIA_CR9     =   2009,\n    CV_SHMEDIA_CR10    =   2010,\n    CV_SHMEDIA_CR11    =   2011,\n    CV_SHMEDIA_CR12    =   2012,\n    CV_SHMEDIA_CR13    =   2013,\n    CV_SHMEDIA_CR14    =   2014,\n    CV_SHMEDIA_CR15    =   2015,\n    CV_SHMEDIA_CR16    =   2016,\n    CV_SHMEDIA_CR17    =   2017,\n    CV_SHMEDIA_CR18    =   2018,\n    CV_SHMEDIA_CR19    =   2019,\n    CV_SHMEDIA_CR20    =   2020,\n    CV_SHMEDIA_CR21    =   2021,\n    CV_SHMEDIA_CR22    =   2022,\n    CV_SHMEDIA_CR23    =   2023,\n    CV_SHMEDIA_CR24    =   2024,\n    CV_SHMEDIA_CR25    =   2025,\n    CV_SHMEDIA_CR26    =   2026,\n    CV_SHMEDIA_CR27    =   2027,\n    CV_SHMEDIA_CR28    =   2028,\n    CV_SHMEDIA_CR29    =   2029,\n    CV_SHMEDIA_CR30    =   2030,\n    CV_SHMEDIA_CR31    =   2031,\n    CV_SHMEDIA_CR32    =   2032,\n    CV_SHMEDIA_CR33    =   2033,\n    CV_SHMEDIA_CR34    =   2034,\n    CV_SHMEDIA_CR35    =   2035,\n    CV_SHMEDIA_CR36    =   2036,\n    CV_SHMEDIA_CR37    =   2037,\n    CV_SHMEDIA_CR38    =   2038,\n    CV_SHMEDIA_CR39    =   2039,\n    CV_SHMEDIA_CR40    =   2040,\n    CV_SHMEDIA_CR41    =   2041,\n    CV_SHMEDIA_CR42    =   2042,\n    CV_SHMEDIA_CR43    =   2043,\n    CV_SHMEDIA_CR44    =   2044,\n    CV_SHMEDIA_CR45    =   2045,\n    CV_SHMEDIA_CR46    =   2046,\n    CV_SHMEDIA_CR47    =   2047,\n    CV_SHMEDIA_CR48    =   2048,\n    CV_SHMEDIA_CR49    =   2049,\n    CV_SHMEDIA_CR50    =   2050,\n    CV_SHMEDIA_CR51    =   2051,\n    CV_SHMEDIA_CR52    =   2052,\n    CV_SHMEDIA_CR53    =   2053,\n    CV_SHMEDIA_CR54    =   2054,\n    CV_SHMEDIA_CR55    =   2055,\n    CV_SHMEDIA_CR56    =   2056,\n    CV_SHMEDIA_CR57    =   2057,\n    CV_SHMEDIA_CR58    =   2058,\n    CV_SHMEDIA_CR59    =   2059,\n    CV_SHMEDIA_CR60    =   2060,\n    CV_SHMEDIA_CR61    =   2061,\n    CV_SHMEDIA_CR62    =   2062,\n    CV_SHMEDIA_CR63    =   2063,\n\n    CV_SHMEDIA_FPSCR   =   2064,\n\n    // Compact mode synonyms\n    CV_SHMEDIA_GBR     =   CV_SHMEDIA_R16,\n    CV_SHMEDIA_MACL    =   90, // synonym for lower 32bits of media R17\n    CV_SHMEDIA_MACH    =   91, // synonym for upper 32bits of media R17\n    CV_SHMEDIA_PR      =   CV_SHMEDIA_R18,\n    CV_SHMEDIA_T       =   92, // synonym for lowest bit of media R19\n    CV_SHMEDIA_FPUL    =   CV_SHMEDIA_FR32,\n    CV_SHMEDIA_PC      =   93,\n    CV_SHMEDIA_SR      =   CV_SHMEDIA_CR0,\n\n    //\n    // AMD64/X8664 registers\n    //\n\n    CV_AMD64_AL       =   1,\n    CV_AMD64_CL       =   2,\n    CV_AMD64_DL       =   3,\n    CV_AMD64_BL       =   4,\n    CV_AMD64_AH       =   5,\n    CV_AMD64_CH       =   6,\n    CV_AMD64_DH       =   7,\n    CV_AMD64_BH       =   8,\n    CV_AMD64_AX       =   9,\n    CV_AMD64_CX       =  10,\n    CV_AMD64_DX       =  11,\n    CV_AMD64_BX       =  12,\n    CV_AMD64_SP       =  13,\n    CV_AMD64_BP       =  14,\n    CV_AMD64_SI       =  15,\n    CV_AMD64_DI       =  16,\n    CV_AMD64_EAX      =  17,\n    CV_AMD64_ECX      =  18,\n    CV_AMD64_EDX      =  19,\n    CV_AMD64_EBX      =  20,\n    CV_AMD64_ESP      =  21,\n    CV_AMD64_EBP      =  22,\n    CV_AMD64_ESI      =  23,\n    CV_AMD64_EDI      =  24,\n    CV_AMD64_ES       =  25,\n    CV_AMD64_CS       =  26,\n    CV_AMD64_SS       =  27,\n    CV_AMD64_DS       =  28,\n    CV_AMD64_FS       =  29,\n    CV_AMD64_GS       =  30,\n    CV_AMD64_IP       =  31,\n    CV_AMD64_FLAGS    =  32,\n    CV_AMD64_EIP      =  33,\n    CV_AMD64_EFLAGS   =  34,\n\n    // Control registers\n    CV_AMD64_CR0      =  80,\n    CV_AMD64_CR1      =  81,\n    CV_AMD64_CR2      =  82,\n    CV_AMD64_CR3      =  83,\n    CV_AMD64_CR4      =  84,\n    CV_AMD64_CR8      =  88,\n\n    // Debug registers\n    CV_AMD64_DR0      =  90,\n    CV_AMD64_DR1      =  91,\n    CV_AMD64_DR2      =  92,\n    CV_AMD64_DR3      =  93,\n    CV_AMD64_DR4      =  94,\n    CV_AMD64_DR5      =  95,\n    CV_AMD64_DR6      =  96,\n    CV_AMD64_DR7      =  97,\n    CV_AMD64_DR8      =  98,\n    CV_AMD64_DR9      =  99,\n    CV_AMD64_DR10     =  100,\n    CV_AMD64_DR11     =  101,\n    CV_AMD64_DR12     =  102,\n    CV_AMD64_DR13     =  103,\n    CV_AMD64_DR14     =  104,\n    CV_AMD64_DR15     =  105,\n\n    CV_AMD64_GDTR     =  110,\n    CV_AMD64_GDTL     =  111,\n    CV_AMD64_IDTR     =  112,\n    CV_AMD64_IDTL     =  113,\n    CV_AMD64_LDTR     =  114,\n    CV_AMD64_TR       =  115,\n\n    CV_AMD64_ST0      =  128,\n    CV_AMD64_ST1      =  129,\n    CV_AMD64_ST2      =  130,\n    CV_AMD64_ST3      =  131,\n    CV_AMD64_ST4      =  132,\n    CV_AMD64_ST5      =  133,\n    CV_AMD64_ST6      =  134,\n    CV_AMD64_ST7      =  135,\n    CV_AMD64_CTRL     =  136,\n    CV_AMD64_STAT     =  137,\n    CV_AMD64_TAG      =  138,\n    CV_AMD64_FPIP     =  139,\n    CV_AMD64_FPCS     =  140,\n    CV_AMD64_FPDO     =  141,\n    CV_AMD64_FPDS     =  142,\n    CV_AMD64_ISEM     =  143,\n    CV_AMD64_FPEIP    =  144,\n    CV_AMD64_FPEDO    =  145,\n\n    CV_AMD64_MM0      =  146,\n    CV_AMD64_MM1      =  147,\n    CV_AMD64_MM2      =  148,\n    CV_AMD64_MM3      =  149,\n    CV_AMD64_MM4      =  150,\n    CV_AMD64_MM5      =  151,\n    CV_AMD64_MM6      =  152,\n    CV_AMD64_MM7      =  153,\n\n    CV_AMD64_XMM0     =  154,   // KATMAI registers\n    CV_AMD64_XMM1     =  155,\n    CV_AMD64_XMM2     =  156,\n    CV_AMD64_XMM3     =  157,\n    CV_AMD64_XMM4     =  158,\n    CV_AMD64_XMM5     =  159,\n    CV_AMD64_XMM6     =  160,\n    CV_AMD64_XMM7     =  161,\n\n    CV_AMD64_XMM0_0   =  162,   // KATMAI sub-registers\n    CV_AMD64_XMM0_1   =  163,\n    CV_AMD64_XMM0_2   =  164,\n    CV_AMD64_XMM0_3   =  165,\n    CV_AMD64_XMM1_0   =  166,\n    CV_AMD64_XMM1_1   =  167,\n    CV_AMD64_XMM1_2   =  168,\n    CV_AMD64_XMM1_3   =  169,\n    CV_AMD64_XMM2_0   =  170,\n    CV_AMD64_XMM2_1   =  171,\n    CV_AMD64_XMM2_2   =  172,\n    CV_AMD64_XMM2_3   =  173,\n    CV_AMD64_XMM3_0   =  174,\n    CV_AMD64_XMM3_1   =  175,\n    CV_AMD64_XMM3_2   =  176,\n    CV_AMD64_XMM3_3   =  177,\n    CV_AMD64_XMM4_0   =  178,\n    CV_AMD64_XMM4_1   =  179,\n    CV_AMD64_XMM4_2   =  180,\n    CV_AMD64_XMM4_3   =  181,\n    CV_AMD64_XMM5_0   =  182,\n    CV_AMD64_XMM5_1   =  183,\n    CV_AMD64_XMM5_2   =  184,\n    CV_AMD64_XMM5_3   =  185,\n    CV_AMD64_XMM6_0   =  186,\n    CV_AMD64_XMM6_1   =  187,\n    CV_AMD64_XMM6_2   =  188,\n    CV_AMD64_XMM6_3   =  189,\n    CV_AMD64_XMM7_0   =  190,\n    CV_AMD64_XMM7_1   =  191,\n    CV_AMD64_XMM7_2   =  192,\n    CV_AMD64_XMM7_3   =  193,\n\n    CV_AMD64_XMM0L    =  194,\n    CV_AMD64_XMM1L    =  195,\n    CV_AMD64_XMM2L    =  196,\n    CV_AMD64_XMM3L    =  197,\n    CV_AMD64_XMM4L    =  198,\n    CV_AMD64_XMM5L    =  199,\n    CV_AMD64_XMM6L    =  200,\n    CV_AMD64_XMM7L    =  201,\n\n    CV_AMD64_XMM0H    =  202,\n    CV_AMD64_XMM1H    =  203,\n    CV_AMD64_XMM2H    =  204,\n    CV_AMD64_XMM3H    =  205,\n    CV_AMD64_XMM4H    =  206,\n    CV_AMD64_XMM5H    =  207,\n    CV_AMD64_XMM6H    =  208,\n    CV_AMD64_XMM7H    =  209,\n\n    CV_AMD64_MXCSR    =  211,   // XMM status register\n\n    CV_AMD64_EMM0L    =  220,   // XMM sub-registers (WNI integer)\n    CV_AMD64_EMM1L    =  221,\n    CV_AMD64_EMM2L    =  222,\n    CV_AMD64_EMM3L    =  223,\n    CV_AMD64_EMM4L    =  224,\n    CV_AMD64_EMM5L    =  225,\n    CV_AMD64_EMM6L    =  226,\n    CV_AMD64_EMM7L    =  227,\n\n    CV_AMD64_EMM0H    =  228,\n    CV_AMD64_EMM1H    =  229,\n    CV_AMD64_EMM2H    =  230,\n    CV_AMD64_EMM3H    =  231,\n    CV_AMD64_EMM4H    =  232,\n    CV_AMD64_EMM5H    =  233,\n    CV_AMD64_EMM6H    =  234,\n    CV_AMD64_EMM7H    =  235,\n\n    // do not change the order of these regs, first one must be even too\n    CV_AMD64_MM00     =  236,\n    CV_AMD64_MM01     =  237,\n    CV_AMD64_MM10     =  238,\n    CV_AMD64_MM11     =  239,\n    CV_AMD64_MM20     =  240,\n    CV_AMD64_MM21     =  241,\n    CV_AMD64_MM30     =  242,\n    CV_AMD64_MM31     =  243,\n    CV_AMD64_MM40     =  244,\n    CV_AMD64_MM41     =  245,\n    CV_AMD64_MM50     =  246,\n    CV_AMD64_MM51     =  247,\n    CV_AMD64_MM60     =  248,\n    CV_AMD64_MM61     =  249,\n    CV_AMD64_MM70     =  250,\n    CV_AMD64_MM71     =  251,\n\n    // Extended KATMAI registers\n    CV_AMD64_XMM8     =  252,   // KATMAI registers\n    CV_AMD64_XMM9     =  253,\n    CV_AMD64_XMM10    =  254,\n    CV_AMD64_XMM11    =  255,\n    CV_AMD64_XMM12    =  256,\n    CV_AMD64_XMM13    =  257,\n    CV_AMD64_XMM14    =  258,\n    CV_AMD64_XMM15    =  259,\n\n    CV_AMD64_XMM8_0   =  260,   // KATMAI sub-registers\n    CV_AMD64_XMM8_1   =  261,\n    CV_AMD64_XMM8_2   =  262,\n    CV_AMD64_XMM8_3   =  263,\n    CV_AMD64_XMM9_0   =  264,\n    CV_AMD64_XMM9_1   =  265,\n    CV_AMD64_XMM9_2   =  266,\n    CV_AMD64_XMM9_3   =  267,\n    CV_AMD64_XMM10_0  =  268,\n    CV_AMD64_XMM10_1  =  269,\n    CV_AMD64_XMM10_2  =  270,\n    CV_AMD64_XMM10_3  =  271,\n    CV_AMD64_XMM11_0  =  272,\n    CV_AMD64_XMM11_1  =  273,\n    CV_AMD64_XMM11_2  =  274,\n    CV_AMD64_XMM11_3  =  275,\n    CV_AMD64_XMM12_0  =  276,\n    CV_AMD64_XMM12_1  =  277,\n    CV_AMD64_XMM12_2  =  278,\n    CV_AMD64_XMM12_3  =  279,\n    CV_AMD64_XMM13_0  =  280,\n    CV_AMD64_XMM13_1  =  281,\n    CV_AMD64_XMM13_2  =  282,\n    CV_AMD64_XMM13_3  =  283,\n    CV_AMD64_XMM14_0  =  284,\n    CV_AMD64_XMM14_1  =  285,\n    CV_AMD64_XMM14_2  =  286,\n    CV_AMD64_XMM14_3  =  287,\n    CV_AMD64_XMM15_0  =  288,\n    CV_AMD64_XMM15_1  =  289,\n    CV_AMD64_XMM15_2  =  290,\n    CV_AMD64_XMM15_3  =  291,\n\n    CV_AMD64_XMM8L    =  292,\n    CV_AMD64_XMM9L    =  293,\n    CV_AMD64_XMM10L   =  294,\n    CV_AMD64_XMM11L   =  295,\n    CV_AMD64_XMM12L   =  296,\n    CV_AMD64_XMM13L   =  297,\n    CV_AMD64_XMM14L   =  298,\n    CV_AMD64_XMM15L   =  299,\n\n    CV_AMD64_XMM8H    =  300,\n    CV_AMD64_XMM9H    =  301,\n    CV_AMD64_XMM10H   =  301,\n    CV_AMD64_XMM11H   =  302,\n    CV_AMD64_XMM12H   =  303,\n    CV_AMD64_XMM13H   =  304,\n    CV_AMD64_XMM14H   =  305,\n    CV_AMD64_XMM15H   =  306,\n\n    CV_AMD64_EMM8L    =  307,   // XMM sub-registers (WNI integer)\n    CV_AMD64_EMM9L    =  308,\n    CV_AMD64_EMM10L   =  309,\n    CV_AMD64_EMM11L   =  310,\n    CV_AMD64_EMM12L   =  311,\n    CV_AMD64_EMM13L   =  312,\n    CV_AMD64_EMM14L   =  313,\n    CV_AMD64_EMM15L   =  314,\n\n    CV_AMD64_EMM8H    =  315,\n    CV_AMD64_EMM9H    =  316,\n    CV_AMD64_EMM10H   =  317,\n    CV_AMD64_EMM11H   =  318,\n    CV_AMD64_EMM12H   =  319,\n    CV_AMD64_EMM13H   =  320,\n    CV_AMD64_EMM14H   =  321,\n    CV_AMD64_EMM15H   =  322,\n\n    // Low byte forms of some standard registers\n    CV_AMD64_SIL      =  323,\n    CV_AMD64_DIL      =  324,\n    CV_AMD64_BPL      =  325,\n    CV_AMD64_SPL      =  326,\n\n    // 64-bit regular registers\n    CV_AMD64_RAX      =  327,\n    CV_AMD64_RBX      =  328,\n    CV_AMD64_RCX      =  329,\n    CV_AMD64_RDX      =  330,\n    CV_AMD64_RSI      =  331,\n    CV_AMD64_RDI      =  332,\n    CV_AMD64_RBP      =  333,\n    CV_AMD64_RSP      =  334,\n\n    // 64-bit integer registers with 8-, 16-, and 32-bit forms (B, W, and D)\n    CV_AMD64_R8       =  335,\n    CV_AMD64_R9       =  336,\n    CV_AMD64_R10      =  337,\n    CV_AMD64_R11      =  338,\n    CV_AMD64_R12      =  339,\n    CV_AMD64_R13      =  340,\n    CV_AMD64_R14      =  341,\n    CV_AMD64_R15      =  342,\n\n    CV_AMD64_R8B      =  343,\n    CV_AMD64_R9B      =  344,\n    CV_AMD64_R10B     =  345,\n    CV_AMD64_R11B     =  346,\n    CV_AMD64_R12B     =  347,\n    CV_AMD64_R13B     =  348,\n    CV_AMD64_R14B     =  349,\n    CV_AMD64_R15B     =  350,\n\n    CV_AMD64_R8W      =  351,\n    CV_AMD64_R9W      =  352,\n    CV_AMD64_R10W     =  353,\n    CV_AMD64_R11W     =  354,\n    CV_AMD64_R12W     =  355,\n    CV_AMD64_R13W     =  356,\n    CV_AMD64_R14W     =  357,\n    CV_AMD64_R15W     =  358,\n\n    CV_AMD64_R8D      =  359,\n    CV_AMD64_R9D      =  360,\n    CV_AMD64_R10D     =  361,\n    CV_AMD64_R11D     =  362,\n    CV_AMD64_R12D     =  363,\n    CV_AMD64_R13D     =  364,\n    CV_AMD64_R14D     =  365,\n    CV_AMD64_R15D     =  366,\n\n    // Note:  Next set of platform registers need to go into a new enum...\n    // this one is above 44K now.\n\n} CV_HREG_e;\n\nenum StackFrameTypeEnum\n{\n    FrameTypeFPO,                   // Frame pointer omitted, FPO info available\n    FrameTypeTrap,                  // Kernel Trap frame\n    FrameTypeTSS,                   // Kernel Trap frame\n    FrameTypeStandard,              // Standard EBP stackframe\n    FrameTypeFrameData,             // Frame pointer omitted, FrameData info available\n\n    FrameTypeUnknown = -1,          // Frame which does not have any debug info\n};\n\nenum MemoryTypeEnum\n{\n    MemTypeCode,                    // Read only code memory\n    MemTypeData,                    // Read only data/stack memory\n    MemTypeStack,                   // Read only stack memory\n\n    MemTypeAny = -1,\n};\n\n#endif\n"
  },
  {
    "path": "Addition/DiaSDK.NET2003/include/dia2.h",
    "content": "\n\n/* this ALWAYS GENERATED file contains the definitions for the interfaces */\n\n\n /* File created by MIDL compiler version 6.00.0361 */\n/* at Tue Mar 18 20:55:35 2003\n */\n/* Compiler settings for f:\\vs70builds\\3077\\vc\\langapi\\idl\\dia2.idl:\n    Oicf, W1, Zp8, env=Win32 (32b run)\n    protocol : dce , ms_ext, c_ext, robust\n    error checks: allocation ref bounds_check enum stub_data \n    VC __declspec() decoration level: \n         __declspec(uuid()), __declspec(selectany), __declspec(novtable)\n         DECLSPEC_UUID(), MIDL_INTERFACE()\n*/\n//@@MIDL_FILE_HEADING(  )\n\n#pragma warning( disable: 4049 )  /* more than 64k source lines */\n\n\n/* verify that the <rpcndr.h> version is high enough to compile this file*/\n#ifndef __REQUIRED_RPCNDR_H_VERSION__\n#define __REQUIRED_RPCNDR_H_VERSION__ 475\n#endif\n\n#include \"rpc.h\"\n#include \"rpcndr.h\"\n\n#ifndef __RPCNDR_H_VERSION__\n#error this stub requires an updated version of <rpcndr.h>\n#endif // __RPCNDR_H_VERSION__\n\n#ifndef COM_NO_WINDOWS_H\n#include \"windows.h\"\n#include \"ole2.h\"\n#endif /*COM_NO_WINDOWS_H*/\n\n#ifndef __dia2_h__\n#define __dia2_h__\n\n#if defined(_MSC_VER) && (_MSC_VER >= 1020)\n#pragma once\n#endif\n\n/* Forward Declarations */ \n\n#ifndef __IDiaLoadCallback_FWD_DEFINED__\n#define __IDiaLoadCallback_FWD_DEFINED__\ntypedef interface IDiaLoadCallback IDiaLoadCallback;\n#endif \t/* __IDiaLoadCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLoadCallback2_FWD_DEFINED__\n#define __IDiaLoadCallback2_FWD_DEFINED__\ntypedef interface IDiaLoadCallback2 IDiaLoadCallback2;\n#endif \t/* __IDiaLoadCallback2_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtOffsetCallback IDiaReadExeAtOffsetCallback;\n#endif \t/* __IDiaReadExeAtOffsetCallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_FWD_DEFINED__\n#define __IDiaReadExeAtRVACallback_FWD_DEFINED__\ntypedef interface IDiaReadExeAtRVACallback IDiaReadExeAtRVACallback;\n#endif \t/* __IDiaReadExeAtRVACallback_FWD_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_FWD_DEFINED__\n#define __IDiaDataSource_FWD_DEFINED__\ntypedef interface IDiaDataSource IDiaDataSource;\n#endif \t/* __IDiaDataSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_FWD_DEFINED__\n#define __IDiaEnumSymbols_FWD_DEFINED__\ntypedef interface IDiaEnumSymbols IDiaEnumSymbols;\n#endif \t/* __IDiaEnumSymbols_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_FWD_DEFINED__\n#define __IDiaEnumSymbolsByAddr_FWD_DEFINED__\ntypedef interface IDiaEnumSymbolsByAddr IDiaEnumSymbolsByAddr;\n#endif \t/* __IDiaEnumSymbolsByAddr_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_FWD_DEFINED__\n#define __IDiaEnumSourceFiles_FWD_DEFINED__\ntypedef interface IDiaEnumSourceFiles IDiaEnumSourceFiles;\n#endif \t/* __IDiaEnumSourceFiles_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_FWD_DEFINED__\n#define __IDiaEnumLineNumbers_FWD_DEFINED__\ntypedef interface IDiaEnumLineNumbers IDiaEnumLineNumbers;\n#endif \t/* __IDiaEnumLineNumbers_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_FWD_DEFINED__\n#define __IDiaEnumInjectedSources_FWD_DEFINED__\ntypedef interface IDiaEnumInjectedSources IDiaEnumInjectedSources;\n#endif \t/* __IDiaEnumInjectedSources_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_FWD_DEFINED__\n#define __IDiaEnumSegments_FWD_DEFINED__\ntypedef interface IDiaEnumSegments IDiaEnumSegments;\n#endif \t/* __IDiaEnumSegments_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_FWD_DEFINED__\n#define __IDiaEnumSectionContribs_FWD_DEFINED__\ntypedef interface IDiaEnumSectionContribs IDiaEnumSectionContribs;\n#endif \t/* __IDiaEnumSectionContribs_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_FWD_DEFINED__\n#define __IDiaEnumFrameData_FWD_DEFINED__\ntypedef interface IDiaEnumFrameData IDiaEnumFrameData;\n#endif \t/* __IDiaEnumFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_FWD_DEFINED__\n#define __IDiaEnumDebugStreamData_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreamData IDiaEnumDebugStreamData;\n#endif \t/* __IDiaEnumDebugStreamData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_FWD_DEFINED__\n#define __IDiaEnumDebugStreams_FWD_DEFINED__\ntypedef interface IDiaEnumDebugStreams IDiaEnumDebugStreams;\n#endif \t/* __IDiaEnumDebugStreams_FWD_DEFINED__ */\n\n\n#ifndef __IDiaAddressMap_FWD_DEFINED__\n#define __IDiaAddressMap_FWD_DEFINED__\ntypedef interface IDiaAddressMap IDiaAddressMap;\n#endif \t/* __IDiaAddressMap_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSession_FWD_DEFINED__\n#define __IDiaSession_FWD_DEFINED__\ntypedef interface IDiaSession IDiaSession;\n#endif \t/* __IDiaSession_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_FWD_DEFINED__\n#define __IDiaSymbol_FWD_DEFINED__\ntypedef interface IDiaSymbol IDiaSymbol;\n#endif \t/* __IDiaSymbol_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_FWD_DEFINED__\n#define __IDiaSourceFile_FWD_DEFINED__\ntypedef interface IDiaSourceFile IDiaSourceFile;\n#endif \t/* __IDiaSourceFile_FWD_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_FWD_DEFINED__\n#define __IDiaLineNumber_FWD_DEFINED__\ntypedef interface IDiaLineNumber IDiaLineNumber;\n#endif \t/* __IDiaLineNumber_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_FWD_DEFINED__\n#define __IDiaSectionContrib_FWD_DEFINED__\ntypedef interface IDiaSectionContrib IDiaSectionContrib;\n#endif \t/* __IDiaSectionContrib_FWD_DEFINED__ */\n\n\n#ifndef __IDiaSegment_FWD_DEFINED__\n#define __IDiaSegment_FWD_DEFINED__\ntypedef interface IDiaSegment IDiaSegment;\n#endif \t/* __IDiaSegment_FWD_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_FWD_DEFINED__\n#define __IDiaInjectedSource_FWD_DEFINED__\ntypedef interface IDiaInjectedSource IDiaInjectedSource;\n#endif \t/* __IDiaInjectedSource_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkFrame_FWD_DEFINED__\n#define __IDiaStackWalkFrame_FWD_DEFINED__\ntypedef interface IDiaStackWalkFrame IDiaStackWalkFrame;\n#endif \t/* __IDiaStackWalkFrame_FWD_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_FWD_DEFINED__\n#define __IDiaFrameData_FWD_DEFINED__\ntypedef interface IDiaFrameData IDiaFrameData;\n#endif \t/* __IDiaFrameData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaImageData_FWD_DEFINED__\n#define __IDiaImageData_FWD_DEFINED__\ntypedef interface IDiaImageData IDiaImageData;\n#endif \t/* __IDiaImageData_FWD_DEFINED__ */\n\n\n#ifndef __IDiaTable_FWD_DEFINED__\n#define __IDiaTable_FWD_DEFINED__\ntypedef interface IDiaTable IDiaTable;\n#endif \t/* __IDiaTable_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_FWD_DEFINED__\n#define __IDiaEnumTables_FWD_DEFINED__\ntypedef interface IDiaEnumTables IDiaEnumTables;\n#endif \t/* __IDiaEnumTables_FWD_DEFINED__ */\n\n\n#ifndef __DiaSource_FWD_DEFINED__\n#define __DiaSource_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSource DiaSource;\n#else\ntypedef struct DiaSource DiaSource;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSource_FWD_DEFINED__ */\n\n\n#ifndef __DiaSourceAlt_FWD_DEFINED__\n#define __DiaSourceAlt_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaSourceAlt DiaSourceAlt;\n#else\ntypedef struct DiaSourceAlt DiaSourceAlt;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaSourceAlt_FWD_DEFINED__ */\n\n\n#ifndef __DiaStackWalker_FWD_DEFINED__\n#define __DiaStackWalker_FWD_DEFINED__\n\n#ifdef __cplusplus\ntypedef class DiaStackWalker DiaStackWalker;\n#else\ntypedef struct DiaStackWalker DiaStackWalker;\n#endif /* __cplusplus */\n\n#endif \t/* __DiaStackWalker_FWD_DEFINED__ */\n\n\n#ifndef __IDiaPropertyStorage_FWD_DEFINED__\n#define __IDiaPropertyStorage_FWD_DEFINED__\ntypedef interface IDiaPropertyStorage IDiaPropertyStorage;\n#endif \t/* __IDiaPropertyStorage_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackFrame_FWD_DEFINED__\n#define __IDiaStackFrame_FWD_DEFINED__\ntypedef interface IDiaStackFrame IDiaStackFrame;\n#endif \t/* __IDiaStackFrame_FWD_DEFINED__ */\n\n\n#ifndef __IDiaEnumStackFrames_FWD_DEFINED__\n#define __IDiaEnumStackFrames_FWD_DEFINED__\ntypedef interface IDiaEnumStackFrames IDiaEnumStackFrames;\n#endif \t/* __IDiaEnumStackFrames_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalkHelper_FWD_DEFINED__\n#define __IDiaStackWalkHelper_FWD_DEFINED__\ntypedef interface IDiaStackWalkHelper IDiaStackWalkHelper;\n#endif \t/* __IDiaStackWalkHelper_FWD_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker_FWD_DEFINED__\n#define __IDiaStackWalker_FWD_DEFINED__\ntypedef interface IDiaStackWalker IDiaStackWalker;\n#endif \t/* __IDiaStackWalker_FWD_DEFINED__ */\n\n\n/* header files for imported files */\n#include \"objidl.h\"\n#include \"oaidl.h\"\n#include \"propidl.h\"\n#include \"cvconst.h\"\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif \n\nvoid * __RPC_USER MIDL_user_allocate(size_t);\nvoid __RPC_USER MIDL_user_free( void * ); \n\n/* interface __MIDL_itf_dia2_0000 */\n/* [local] */ \n\n\nenum NameSearchOptions\n    {\tnsNone\t= 0,\n\tnsfCaseSensitive\t= 0x1,\n\tnsfCaseInsensitive\t= 0x2,\n\tnsfFNameExt\t= 0x4,\n\tnsfRegularExpression\t= 0x8,\n\tnsfUndecoratedName\t= 0x10,\n\tnsCaseSensitive\t= nsfCaseSensitive,\n\tnsCaseInsensitive\t= nsfCaseInsensitive,\n\tnsFNameExt\t= nsfCaseInsensitive | nsfFNameExt,\n\tnsRegularExpression\t= nsfRegularExpression | nsfCaseSensitive,\n\tnsCaseInRegularExpression\t= nsfRegularExpression | nsfCaseInsensitive\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0001\n    {\tE_PDB_OK\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )1),\n\tE_PDB_USAGE\t= E_PDB_OK + 1,\n\tE_PDB_OUT_OF_MEMORY\t= E_PDB_USAGE + 1,\n\tE_PDB_FILE_SYSTEM\t= E_PDB_OUT_OF_MEMORY + 1,\n\tE_PDB_NOT_FOUND\t= E_PDB_FILE_SYSTEM + 1,\n\tE_PDB_INVALID_SIG\t= E_PDB_NOT_FOUND + 1,\n\tE_PDB_INVALID_AGE\t= E_PDB_INVALID_SIG + 1,\n\tE_PDB_PRECOMP_REQUIRED\t= E_PDB_INVALID_AGE + 1,\n\tE_PDB_OUT_OF_TI\t= E_PDB_PRECOMP_REQUIRED + 1,\n\tE_PDB_NOT_IMPLEMENTED\t= E_PDB_OUT_OF_TI + 1,\n\tE_PDB_V1_PDB\t= E_PDB_NOT_IMPLEMENTED + 1,\n\tE_PDB_FORMAT\t= E_PDB_V1_PDB + 1,\n\tE_PDB_LIMIT\t= E_PDB_FORMAT + 1,\n\tE_PDB_CORRUPT\t= E_PDB_LIMIT + 1,\n\tE_PDB_TI16\t= E_PDB_CORRUPT + 1,\n\tE_PDB_ACCESS_DENIED\t= E_PDB_TI16 + 1,\n\tE_PDB_ILLEGAL_TYPE_EDIT\t= E_PDB_ACCESS_DENIED + 1,\n\tE_PDB_INVALID_EXECUTABLE\t= E_PDB_ILLEGAL_TYPE_EDIT + 1,\n\tE_PDB_DBG_NOT_FOUND\t= E_PDB_INVALID_EXECUTABLE + 1,\n\tE_PDB_NO_DEBUG_INFO\t= E_PDB_DBG_NOT_FOUND + 1,\n\tE_PDB_INVALID_EXE_TIMESTAMP\t= E_PDB_NO_DEBUG_INFO + 1,\n\tE_PDB_RESERVED\t= E_PDB_INVALID_EXE_TIMESTAMP + 1,\n\tE_PDB_DEBUG_INFO_NOT_IN_PDB\t= E_PDB_RESERVED + 1,\n\tE_PDB_MAX\t= E_PDB_DEBUG_INFO_NOT_IN_PDB + 1\n    } ;\n\nenum __MIDL___MIDL_itf_dia2_0000_0002\n    {\tDIA_E_MODNOTFOUND\t= E_PDB_MAX + 1,\n\tDIA_E_PROCNOTFOUND\t= DIA_E_MODNOTFOUND + 1\n    } ;\ntypedef void ( __cdecl *PfnPDBDebugDirV )( \n    BOOL __MIDL_0014,\n    void *__MIDL_0015);\n\n\n\n\n\n\n\n\n\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0000_v0_0_s_ifspec;\n\n#ifndef __IDiaLoadCallback_INTERFACE_DEFINED__\n#define __IDiaLoadCallback_INTERFACE_DEFINED__\n\n/* interface IDiaLoadCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLoadCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C32ADB82-73F4-421b-95D5-A4706EDF5DBE\")\n    IDiaLoadCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE NotifyDebugDir( \n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenDBG( \n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE NotifyOpenPDB( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictRegistryAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictSymbolServerAccess( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLoadCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLoadCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLoadCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )( \n            IDiaLoadCallback * This,\n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )( \n            IDiaLoadCallback * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )( \n            IDiaLoadCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )( \n            IDiaLoadCallback * This);\n        \n        END_INTERFACE\n    } IDiaLoadCallbackVtbl;\n\n    interface IDiaLoadCallback\n    {\n        CONST_VTBL struct IDiaLoadCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLoadCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLoadCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLoadCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLoadCallback_NotifyDebugDir(This,fExecutable,cbData,data)\t\\\n    (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,data)\n\n#define IDiaLoadCallback_NotifyOpenDBG(This,dbgPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode)\n\n#define IDiaLoadCallback_NotifyOpenPDB(This,pdbPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode)\n\n#define IDiaLoadCallback_RestrictRegistryAccess(This)\t\\\n    (This)->lpVtbl -> RestrictRegistryAccess(This)\n\n#define IDiaLoadCallback_RestrictSymbolServerAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSymbolServerAccess(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyDebugDir_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ BOOL fExecutable,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyDebugDir_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenDBG_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR dbgPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenDBG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_NotifyOpenPDB_Proxy( \n    IDiaLoadCallback * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ HRESULT resultCode);\n\n\nvoid __RPC_STUB IDiaLoadCallback_NotifyOpenPDB_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictRegistryAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictRegistryAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback_RestrictSymbolServerAccess_Proxy( \n    IDiaLoadCallback * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback_RestrictSymbolServerAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLoadCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLoadCallback2_INTERFACE_DEFINED__\n#define __IDiaLoadCallback2_INTERFACE_DEFINED__\n\n/* interface IDiaLoadCallback2 */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLoadCallback2;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4688a074-5a4d-4486-aea8-7b90711d9f7c\")\n    IDiaLoadCallback2 : public IDiaLoadCallback\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE RestrictOriginalPathAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictReferencePathAccess( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE RestrictDBGAccess( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLoadCallback2Vtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLoadCallback2 * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyDebugDir )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ BOOL fExecutable,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenDBG )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ LPCOLESTR dbgPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *NotifyOpenPDB )( \n            IDiaLoadCallback2 * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ HRESULT resultCode);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictRegistryAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictSymbolServerAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictOriginalPathAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictReferencePathAccess )( \n            IDiaLoadCallback2 * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *RestrictDBGAccess )( \n            IDiaLoadCallback2 * This);\n        \n        END_INTERFACE\n    } IDiaLoadCallback2Vtbl;\n\n    interface IDiaLoadCallback2\n    {\n        CONST_VTBL struct IDiaLoadCallback2Vtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLoadCallback2_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLoadCallback2_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLoadCallback2_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLoadCallback2_NotifyDebugDir(This,fExecutable,cbData,data)\t\\\n    (This)->lpVtbl -> NotifyDebugDir(This,fExecutable,cbData,data)\n\n#define IDiaLoadCallback2_NotifyOpenDBG(This,dbgPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenDBG(This,dbgPath,resultCode)\n\n#define IDiaLoadCallback2_NotifyOpenPDB(This,pdbPath,resultCode)\t\\\n    (This)->lpVtbl -> NotifyOpenPDB(This,pdbPath,resultCode)\n\n#define IDiaLoadCallback2_RestrictRegistryAccess(This)\t\\\n    (This)->lpVtbl -> RestrictRegistryAccess(This)\n\n#define IDiaLoadCallback2_RestrictSymbolServerAccess(This)\t\\\n    (This)->lpVtbl -> RestrictSymbolServerAccess(This)\n\n\n#define IDiaLoadCallback2_RestrictOriginalPathAccess(This)\t\\\n    (This)->lpVtbl -> RestrictOriginalPathAccess(This)\n\n#define IDiaLoadCallback2_RestrictReferencePathAccess(This)\t\\\n    (This)->lpVtbl -> RestrictReferencePathAccess(This)\n\n#define IDiaLoadCallback2_RestrictDBGAccess(This)\t\\\n    (This)->lpVtbl -> RestrictDBGAccess(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictOriginalPathAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictOriginalPathAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictReferencePathAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictReferencePathAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaLoadCallback2_RestrictDBGAccess_Proxy( \n    IDiaLoadCallback2 * This);\n\n\nvoid __RPC_STUB IDiaLoadCallback2_RestrictDBGAccess_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLoadCallback2_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtOffsetCallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtOffsetCallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"587A461C-B80B-4f54-9194-5032589A6319\")\n    IDiaReadExeAtOffsetCallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAt( \n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtOffsetCallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtOffsetCallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAt )( \n            IDiaReadExeAtOffsetCallback * This,\n            /* [in] */ DWORDLONG fileOffset,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaReadExeAtOffsetCallbackVtbl;\n\n    interface IDiaReadExeAtOffsetCallback\n    {\n        CONST_VTBL struct IDiaReadExeAtOffsetCallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtOffsetCallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtOffsetCallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtOffsetCallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtOffsetCallback_ReadExecutableAt(This,fileOffset,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> ReadExecutableAt(This,fileOffset,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtOffsetCallback_ReadExecutableAt_Proxy( \n    IDiaReadExeAtOffsetCallback * This,\n    /* [in] */ DWORDLONG fileOffset,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaReadExeAtOffsetCallback_ReadExecutableAt_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtOffsetCallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n#define __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__\n\n/* interface IDiaReadExeAtRVACallback */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaReadExeAtRVACallback;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"8E3F80CA-7517-432a-BA07-285134AAEA8E\")\n    IDiaReadExeAtRVACallback : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadExecutableAtRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaReadExeAtRVACallbackVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaReadExeAtRVACallback * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaReadExeAtRVACallback * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadExecutableAtRVA )( \n            IDiaReadExeAtRVACallback * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaReadExeAtRVACallbackVtbl;\n\n    interface IDiaReadExeAtRVACallback\n    {\n        CONST_VTBL struct IDiaReadExeAtRVACallbackVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaReadExeAtRVACallback_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaReadExeAtRVACallback_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaReadExeAtRVACallback_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaReadExeAtRVACallback_ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> ReadExecutableAtRVA(This,relativeVirtualAddress,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Proxy( \n    IDiaReadExeAtRVACallback * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaReadExeAtRVACallback_ReadExecutableAtRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaReadExeAtRVACallback_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaDataSource_INTERFACE_DEFINED__\n#define __IDiaDataSource_INTERFACE_DEFINED__\n\n/* interface IDiaDataSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaDataSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"79F1BB5F-B66E-48e5-B6A9-1545C323CA3D\")\n    IDiaDataSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lastError( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadAndValidateDataFromPdb( \n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataForExe( \n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE loadDataFromIStream( \n            /* [in] */ IStream *pIStream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE openSession( \n            /* [out] */ IDiaSession **ppSession) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaDataSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaDataSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaDataSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaDataSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastError )( \n            IDiaDataSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadAndValidateDataFromPdb )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR pdbPath,\n            /* [in] */ GUID *pcsig70,\n            /* [in] */ DWORD sig,\n            /* [in] */ DWORD age);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataForExe )( \n            IDiaDataSource * This,\n            /* [in] */ LPCOLESTR executable,\n            /* [in] */ LPCOLESTR searchPath,\n            /* [in] */ IUnknown *pCallback);\n        \n        HRESULT ( STDMETHODCALLTYPE *loadDataFromIStream )( \n            IDiaDataSource * This,\n            /* [in] */ IStream *pIStream);\n        \n        HRESULT ( STDMETHODCALLTYPE *openSession )( \n            IDiaDataSource * This,\n            /* [out] */ IDiaSession **ppSession);\n        \n        END_INTERFACE\n    } IDiaDataSourceVtbl;\n\n    interface IDiaDataSource\n    {\n        CONST_VTBL struct IDiaDataSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaDataSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaDataSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaDataSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaDataSource_get_lastError(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lastError(This,pRetVal)\n\n#define IDiaDataSource_loadDataFromPdb(This,pdbPath)\t\\\n    (This)->lpVtbl -> loadDataFromPdb(This,pdbPath)\n\n#define IDiaDataSource_loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\t\\\n    (This)->lpVtbl -> loadAndValidateDataFromPdb(This,pdbPath,pcsig70,sig,age)\n\n#define IDiaDataSource_loadDataForExe(This,executable,searchPath,pCallback)\t\\\n    (This)->lpVtbl -> loadDataForExe(This,executable,searchPath,pCallback)\n\n#define IDiaDataSource_loadDataFromIStream(This,pIStream)\t\\\n    (This)->lpVtbl -> loadDataFromIStream(This,pIStream)\n\n#define IDiaDataSource_openSession(This,ppSession)\t\\\n    (This)->lpVtbl -> openSession(This,ppSession)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaDataSource_get_lastError_Proxy( \n    IDiaDataSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaDataSource_get_lastError_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadAndValidateDataFromPdb_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR pdbPath,\n    /* [in] */ GUID *pcsig70,\n    /* [in] */ DWORD sig,\n    /* [in] */ DWORD age);\n\n\nvoid __RPC_STUB IDiaDataSource_loadAndValidateDataFromPdb_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataForExe_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ LPCOLESTR executable,\n    /* [in] */ LPCOLESTR searchPath,\n    /* [in] */ IUnknown *pCallback);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataForExe_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_loadDataFromIStream_Proxy( \n    IDiaDataSource * This,\n    /* [in] */ IStream *pIStream);\n\n\nvoid __RPC_STUB IDiaDataSource_loadDataFromIStream_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaDataSource_openSession_Proxy( \n    IDiaDataSource * This,\n    /* [out] */ IDiaSession **ppSession);\n\n\nvoid __RPC_STUB IDiaDataSource_openSession_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaDataSource_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbols_INTERFACE_DEFINED__\n#define __IDiaEnumSymbols_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbols */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbols;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"CAB72C48-443B-48f5-9B0B-42F0820AB29A\")\n    IDiaEnumSymbols : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbols **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbols * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbols * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbols * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSymbols * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSymbols * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSymbol **symbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSymbols * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSymbols * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbols * This,\n            /* [out] */ IDiaEnumSymbols **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsVtbl;\n\n    interface IDiaEnumSymbols\n    {\n        CONST_VTBL struct IDiaEnumSymbolsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbols_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbols_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbols_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbols_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSymbols_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSymbols_Item(This,index,symbol)\t\\\n    (This)->lpVtbl -> Item(This,index,symbol)\n\n#define IDiaEnumSymbols_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbols_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSymbols_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSymbols_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get__NewEnum_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_get_Count_Proxy( \n    IDiaEnumSymbols * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Item_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSymbol **symbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Next_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Skip_Proxy( \n    IDiaEnumSymbols * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Reset_Proxy( \n    IDiaEnumSymbols * This);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbols_Clone_Proxy( \n    IDiaEnumSymbols * This,\n    /* [out] */ IDiaEnumSymbols **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbols_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbols_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n#define __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSymbolsByAddr */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSymbolsByAddr;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"624B7D9C-24EA-4421-9D06-3B577471C1FA\")\n    IDiaEnumSymbolsByAddr : public IUnknown\n    {\n    public:\n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE symbolByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Prev( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSymbolsByAddrVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSymbolsByAddr * This);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByAddr )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByRVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *symbolByVA )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Prev )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSymbol **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSymbolsByAddr * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSymbolsByAddrVtbl;\n\n    interface IDiaEnumSymbolsByAddr\n    {\n        CONST_VTBL struct IDiaEnumSymbolsByAddrVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSymbolsByAddr_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSymbolsByAddr_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSymbolsByAddr_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSymbolsByAddr_symbolByAddr(This,isect,offset,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByAddr(This,isect,offset,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByRVA(This,relativeVirtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByRVA(This,relativeVirtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_symbolByVA(This,virtualAddress,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolByVA(This,virtualAddress,ppSymbol)\n\n#define IDiaEnumSymbolsByAddr_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Prev(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Prev(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSymbolsByAddr_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByAddr_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByRVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_symbolByVA_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_symbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Next_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Prev_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSymbol **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Prev_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSymbolsByAddr_Clone_Proxy( \n    IDiaEnumSymbolsByAddr * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSymbolsByAddr_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSymbolsByAddr_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n#define __IDiaEnumSourceFiles_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSourceFiles */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSourceFiles;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"10F3DBD9-664F-4469-B808-9471C7A50538\")\n    IDiaEnumSourceFiles : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSourceFiles **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSourceFilesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSourceFiles * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSourceFiles * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSourceFiles * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSourceFile **sourceFile);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSourceFile **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSourceFiles * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSourceFiles * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSourceFiles * This,\n            /* [out] */ IDiaEnumSourceFiles **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSourceFilesVtbl;\n\n    interface IDiaEnumSourceFiles\n    {\n        CONST_VTBL struct IDiaEnumSourceFilesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSourceFiles_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSourceFiles_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSourceFiles_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSourceFiles_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSourceFiles_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSourceFiles_Item(This,index,sourceFile)\t\\\n    (This)->lpVtbl -> Item(This,index,sourceFile)\n\n#define IDiaEnumSourceFiles_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSourceFiles_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSourceFiles_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSourceFiles_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get__NewEnum_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_get_Count_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Item_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSourceFile **sourceFile);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Next_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSourceFile **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Skip_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Reset_Proxy( \n    IDiaEnumSourceFiles * This);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSourceFiles_Clone_Proxy( \n    IDiaEnumSourceFiles * This,\n    /* [out] */ IDiaEnumSourceFiles **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSourceFiles_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSourceFiles_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n#define __IDiaEnumLineNumbers_INTERFACE_DEFINED__\n\n/* interface IDiaEnumLineNumbers */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumLineNumbers;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"FE30E878-54AC-44f1-81BA-39DE940F6052\")\n    IDiaEnumLineNumbers : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumLineNumbers **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumLineNumbersVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumLineNumbers * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumLineNumbers * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumLineNumbers * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaLineNumber **lineNumber);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaLineNumber **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumLineNumbers * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumLineNumbers * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumLineNumbers * This,\n            /* [out] */ IDiaEnumLineNumbers **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumLineNumbersVtbl;\n\n    interface IDiaEnumLineNumbers\n    {\n        CONST_VTBL struct IDiaEnumLineNumbersVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumLineNumbers_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumLineNumbers_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumLineNumbers_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumLineNumbers_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumLineNumbers_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumLineNumbers_Item(This,index,lineNumber)\t\\\n    (This)->lpVtbl -> Item(This,index,lineNumber)\n\n#define IDiaEnumLineNumbers_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumLineNumbers_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumLineNumbers_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumLineNumbers_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get__NewEnum_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_get_Count_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Item_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaLineNumber **lineNumber);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Next_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaLineNumber **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Skip_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Reset_Proxy( \n    IDiaEnumLineNumbers * This);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumLineNumbers_Clone_Proxy( \n    IDiaEnumLineNumbers * This,\n    /* [out] */ IDiaEnumLineNumbers **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumLineNumbers_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumLineNumbers_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n#define __IDiaEnumInjectedSources_INTERFACE_DEFINED__\n\n/* interface IDiaEnumInjectedSources */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumInjectedSources;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"D5612573-6925-4468-8883-98CDEC8C384A\")\n    IDiaEnumInjectedSources : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumInjectedSources **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumInjectedSourcesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumInjectedSources * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumInjectedSources * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumInjectedSources * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaInjectedSource **injectedSource);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaInjectedSource **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumInjectedSources * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumInjectedSources * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumInjectedSources * This,\n            /* [out] */ IDiaEnumInjectedSources **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumInjectedSourcesVtbl;\n\n    interface IDiaEnumInjectedSources\n    {\n        CONST_VTBL struct IDiaEnumInjectedSourcesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumInjectedSources_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumInjectedSources_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumInjectedSources_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumInjectedSources_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumInjectedSources_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumInjectedSources_Item(This,index,injectedSource)\t\\\n    (This)->lpVtbl -> Item(This,index,injectedSource)\n\n#define IDiaEnumInjectedSources_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumInjectedSources_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumInjectedSources_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumInjectedSources_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get__NewEnum_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_get_Count_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Item_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaInjectedSource **injectedSource);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Next_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaInjectedSource **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Skip_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Reset_Proxy( \n    IDiaEnumInjectedSources * This);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumInjectedSources_Clone_Proxy( \n    IDiaEnumInjectedSources * This,\n    /* [out] */ IDiaEnumInjectedSources **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumInjectedSources_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumInjectedSources_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSegments_INTERFACE_DEFINED__\n#define __IDiaEnumSegments_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSegments */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSegments;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"E8368CA9-01D1-419d-AC0C-E31235DBDA9F\")\n    IDiaEnumSegments : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSegments **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSegmentsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSegments * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSegments * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSegments * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSegments * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSegments * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSegment **segment);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSegment **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSegments * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSegments * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSegments * This,\n            /* [out] */ IDiaEnumSegments **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSegmentsVtbl;\n\n    interface IDiaEnumSegments\n    {\n        CONST_VTBL struct IDiaEnumSegmentsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSegments_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSegments_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSegments_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSegments_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSegments_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSegments_Item(This,index,segment)\t\\\n    (This)->lpVtbl -> Item(This,index,segment)\n\n#define IDiaEnumSegments_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSegments_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSegments_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSegments_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get__NewEnum_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_get_Count_Proxy( \n    IDiaEnumSegments * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSegments_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSegments_Item_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSegment **segment);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Next_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSegment **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Skip_Proxy( \n    IDiaEnumSegments * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Reset_Proxy( \n    IDiaEnumSegments * This);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSegments_Clone_Proxy( \n    IDiaEnumSegments * This,\n    /* [out] */ IDiaEnumSegments **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSegments_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSegments_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n#define __IDiaEnumSectionContribs_INTERFACE_DEFINED__\n\n/* interface IDiaEnumSectionContribs */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumSectionContribs;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"1994DEB2-2C82-4b1d-A57F-AFF424D54A68\")\n    IDiaEnumSectionContribs : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumSectionContribs **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumSectionContribsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumSectionContribs * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumSectionContribs * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumSectionContribs * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaSectionContrib **section);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaSectionContrib **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumSectionContribs * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumSectionContribs * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumSectionContribs * This,\n            /* [out] */ IDiaEnumSectionContribs **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumSectionContribsVtbl;\n\n    interface IDiaEnumSectionContribs\n    {\n        CONST_VTBL struct IDiaEnumSectionContribsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumSectionContribs_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumSectionContribs_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumSectionContribs_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumSectionContribs_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumSectionContribs_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumSectionContribs_Item(This,index,section)\t\\\n    (This)->lpVtbl -> Item(This,index,section)\n\n#define IDiaEnumSectionContribs_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumSectionContribs_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumSectionContribs_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumSectionContribs_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get__NewEnum_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_get_Count_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Item_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaSectionContrib **section);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Next_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaSectionContrib **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Skip_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Reset_Proxy( \n    IDiaEnumSectionContribs * This);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumSectionContribs_Clone_Proxy( \n    IDiaEnumSectionContribs * This,\n    /* [out] */ IDiaEnumSectionContribs **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumSectionContribs_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumSectionContribs_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumFrameData_INTERFACE_DEFINED__\n#define __IDiaEnumFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9FC77A4B-3C1C-44ed-A798-6C1DEEA53E1F\")\n    IDiaEnumFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumFrameData **ppenum) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByRVA( \n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE frameByVA( \n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumFrameData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaFrameData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumFrameData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumFrameData * This,\n            /* [out] */ IDiaEnumFrameData **ppenum);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByRVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ DWORD relativeVirtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *frameByVA )( \n            IDiaEnumFrameData * This,\n            /* [in] */ ULONGLONG virtualAddress,\n            /* [retval][out] */ IDiaFrameData **frame);\n        \n        END_INTERFACE\n    } IDiaEnumFrameDataVtbl;\n\n    interface IDiaEnumFrameData\n    {\n        CONST_VTBL struct IDiaEnumFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumFrameData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumFrameData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumFrameData_Item(This,index,frame)\t\\\n    (This)->lpVtbl -> Item(This,index,frame)\n\n#define IDiaEnumFrameData_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumFrameData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumFrameData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumFrameData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#define IDiaEnumFrameData_frameByRVA(This,relativeVirtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByRVA(This,relativeVirtualAddress,frame)\n\n#define IDiaEnumFrameData_frameByVA(This,virtualAddress,frame)\t\\\n    (This)->lpVtbl -> frameByVA(This,virtualAddress,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get__NewEnum_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_get_Count_Proxy( \n    IDiaEnumFrameData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Item_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Next_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaFrameData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Skip_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Reset_Proxy( \n    IDiaEnumFrameData * This);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumFrameData_Clone_Proxy( \n    IDiaEnumFrameData * This,\n    /* [out] */ IDiaEnumFrameData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByRVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ DWORD relativeVirtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring] */ HRESULT STDMETHODCALLTYPE IDiaEnumFrameData_frameByVA_Proxy( \n    IDiaEnumFrameData * This,\n    /* [in] */ ULONGLONG virtualAddress,\n    /* [retval][out] */ IDiaFrameData **frame);\n\n\nvoid __RPC_STUB IDiaEnumFrameData_frameByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreamData_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreamData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreamData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"486943E8-D187-4a6b-A3C4-291259FFF60D\")\n    IDiaEnumDebugStreamData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ],\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreamData **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreamData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreamData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaEnumDebugStreamData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ DWORD index,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ],\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreamData * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreamData * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreamData * This,\n            /* [out] */ IDiaEnumDebugStreamData **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamDataVtbl;\n\n    interface IDiaEnumDebugStreamData\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreamData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreamData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreamData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreamData_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaEnumDebugStreamData_Item(This,index,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> Item(This,index,cbData,pcbData,data)\n\n#define IDiaEnumDebugStreamData_Next(This,celt,cbData,pcbData,data,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,cbData,pcbData,data,pceltFetched)\n\n#define IDiaEnumDebugStreamData_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreamData_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreamData_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get__NewEnum_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_Count_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_get_name_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Item_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ DWORD index,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Next_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ],\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Skip_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Reset_Proxy( \n    IDiaEnumDebugStreamData * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreamData_Clone_Proxy( \n    IDiaEnumDebugStreamData * This,\n    /* [out] */ IDiaEnumDebugStreamData **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreamData_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreamData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n#define __IDiaEnumDebugStreams_INTERFACE_DEFINED__\n\n/* interface IDiaEnumDebugStreams */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumDebugStreams;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"08CBB41E-47A6-4f87-92F1-1C9C87CED044\")\n    IDiaEnumDebugStreams : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumDebugStreams **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumDebugStreamsVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumDebugStreams * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumDebugStreams * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumDebugStreams * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaEnumDebugStreamData **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumDebugStreams * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumDebugStreams * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumDebugStreams * This,\n            /* [out] */ IDiaEnumDebugStreams **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumDebugStreamsVtbl;\n\n    interface IDiaEnumDebugStreams\n    {\n        CONST_VTBL struct IDiaEnumDebugStreamsVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumDebugStreams_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumDebugStreams_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumDebugStreams_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumDebugStreams_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumDebugStreams_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumDebugStreams_Item(This,index,stream)\t\\\n    (This)->lpVtbl -> Item(This,index,stream)\n\n#define IDiaEnumDebugStreams_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumDebugStreams_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumDebugStreams_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumDebugStreams_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get__NewEnum_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_get_Count_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Item_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaEnumDebugStreamData **stream);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Next_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaEnumDebugStreamData **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Skip_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Reset_Proxy( \n    IDiaEnumDebugStreams * This);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumDebugStreams_Clone_Proxy( \n    IDiaEnumDebugStreams * This,\n    /* [out] */ IDiaEnumDebugStreams **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumDebugStreams_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumDebugStreams_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0138 */\n/* [local] */ \n\nstruct DiaAddressMapEntry\n    {\n    DWORD rva;\n    DWORD rvaTo;\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0138_v0_0_s_ifspec;\n\n#ifndef __IDiaAddressMap_INTERFACE_DEFINED__\n#define __IDiaAddressMap_INTERFACE_DEFINED__\n\n/* interface IDiaAddressMap */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaAddressMap;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B62A2E7A-067A-4ea3-B598-04C09717502C\")\n    IDiaAddressMap : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressMapEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_addressMapEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddressEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_relativeVirtualAddressEnabled( \n            /* [in] */ BOOL NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageAlign( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_imageAlign( \n            /* [in] */ DWORD NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_imageHeaders( \n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ],\n            /* [in] */ BOOL originalHeaders) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE set_addressMap( \n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n            /* [in] */ BOOL imageToSymbols) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaAddressMapVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaAddressMap * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaAddressMap * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaAddressMap * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_addressMapEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_relativeVirtualAddressEnabled )( \n            IDiaAddressMap * This,\n            /* [in] */ BOOL NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageAlign )( \n            IDiaAddressMap * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_imageAlign )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_imageHeaders )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cbData,\n            /* [size_is][in] */ BYTE data[  ],\n            /* [in] */ BOOL originalHeaders);\n        \n        HRESULT ( STDMETHODCALLTYPE *set_addressMap )( \n            IDiaAddressMap * This,\n            /* [in] */ DWORD cData,\n            /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n            /* [in] */ BOOL imageToSymbols);\n        \n        END_INTERFACE\n    } IDiaAddressMapVtbl;\n\n    interface IDiaAddressMap\n    {\n        CONST_VTBL struct IDiaAddressMapVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaAddressMap_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaAddressMap_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaAddressMap_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaAddressMap_get_addressMapEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressMapEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_addressMapEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_addressMapEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_relativeVirtualAddressEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddressEnabled(This,pRetVal)\n\n#define IDiaAddressMap_put_relativeVirtualAddressEnabled(This,NewVal)\t\\\n    (This)->lpVtbl -> put_relativeVirtualAddressEnabled(This,NewVal)\n\n#define IDiaAddressMap_get_imageAlign(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageAlign(This,pRetVal)\n\n#define IDiaAddressMap_put_imageAlign(This,NewVal)\t\\\n    (This)->lpVtbl -> put_imageAlign(This,NewVal)\n\n#define IDiaAddressMap_set_imageHeaders(This,cbData,data,originalHeaders)\t\\\n    (This)->lpVtbl -> set_imageHeaders(This,cbData,data,originalHeaders)\n\n#define IDiaAddressMap_set_addressMap(This,cData,data,imageToSymbols)\t\\\n    (This)->lpVtbl -> set_addressMap(This,cData,data,imageToSymbols)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_addressMapEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_addressMapEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_relativeVirtualAddressEnabled_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ BOOL NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_relativeVirtualAddressEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_get_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_get_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaAddressMap_put_imageAlign_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD NewVal);\n\n\nvoid __RPC_STUB IDiaAddressMap_put_imageAlign_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_imageHeaders_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cbData,\n    /* [size_is][in] */ BYTE data[  ],\n    /* [in] */ BOOL originalHeaders);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_imageHeaders_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaAddressMap_set_addressMap_Proxy( \n    IDiaAddressMap * This,\n    /* [in] */ DWORD cData,\n    /* [size_is][in] */ struct DiaAddressMapEntry data[  ],\n    /* [in] */ BOOL imageToSymbols);\n\n\nvoid __RPC_STUB IDiaAddressMap_set_addressMap_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaAddressMap_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSession_INTERFACE_DEFINED__\n#define __IDiaSession_INTERFACE_DEFINED__\n\n/* interface IDiaSession */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSession;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"67138B34-79CD-4b42-B74A-A18ADBB799DF\")\n    IDiaSession : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_loadAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_loadAddress( \n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_globalScope( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumTables( \n            /* [out] */ IDiaEnumTables **ppEnumTables) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getSymbolsByAddr( \n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByAddr( \n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByToken( \n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symsAreEquiv( \n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symbolById( \n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByRVAEx( \n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findSymbolByVAEx( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFile( \n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findFileById( \n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLines( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByAddr( \n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByRVA( \n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByVA( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findLinesByLinenum( \n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findInjectedSource( \n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE getEnumDebugStreams( \n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSessionVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSession * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSession * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSession * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_loadAddress )( \n            IDiaSession * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_loadAddress )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG NewVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_globalScope )( \n            IDiaSession * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumTables )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumTables **ppEnumTables);\n        \n        HRESULT ( STDMETHODCALLTYPE *getSymbolsByAddr )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *parent,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD isect,\n            /* [in] */ DWORD offset,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByToken )( \n            IDiaSession * This,\n            /* [in] */ ULONG token,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *symsAreEquiv )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *symbolA,\n            /* [in] */ IDiaSymbol *symbolB);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolById )( \n            IDiaSession * This,\n            /* [in] */ DWORD id,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByRVAEx )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findSymbolByVAEx )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [out] */ IDiaSymbol **ppSymbol,\n            /* [out] */ long *displacement);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFile )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *pCompiland,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSourceFiles **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findFileById )( \n            IDiaSession * This,\n            /* [in] */ DWORD uniqueId,\n            /* [out] */ IDiaSourceFile **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLines )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByAddr )( \n            IDiaSession * This,\n            /* [in] */ DWORD seg,\n            /* [in] */ DWORD offset,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByRVA )( \n            IDiaSession * This,\n            /* [in] */ DWORD rva,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByVA )( \n            IDiaSession * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD length,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findLinesByLinenum )( \n            IDiaSession * This,\n            /* [in] */ IDiaSymbol *compiland,\n            /* [in] */ IDiaSourceFile *file,\n            /* [in] */ DWORD linenum,\n            /* [in] */ DWORD column,\n            /* [out] */ IDiaEnumLineNumbers **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *findInjectedSource )( \n            IDiaSession * This,\n            /* [in] */ LPCOLESTR srcFile,\n            /* [out] */ IDiaEnumInjectedSources **ppResult);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumDebugStreams )( \n            IDiaSession * This,\n            /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n        \n        END_INTERFACE\n    } IDiaSessionVtbl;\n\n    interface IDiaSession\n    {\n        CONST_VTBL struct IDiaSessionVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSession_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSession_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSession_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSession_get_loadAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_loadAddress(This,pRetVal)\n\n#define IDiaSession_put_loadAddress(This,NewVal)\t\\\n    (This)->lpVtbl -> put_loadAddress(This,NewVal)\n\n#define IDiaSession_get_globalScope(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_globalScope(This,pRetVal)\n\n#define IDiaSession_getEnumTables(This,ppEnumTables)\t\\\n    (This)->lpVtbl -> getEnumTables(This,ppEnumTables)\n\n#define IDiaSession_getSymbolsByAddr(This,ppEnumbyAddr)\t\\\n    (This)->lpVtbl -> getSymbolsByAddr(This,ppEnumbyAddr)\n\n#define IDiaSession_findChildren(This,parent,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,parent,symtag,name,compareFlags,ppResult)\n\n#define IDiaSession_findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByAddr(This,isect,offset,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByRVA(This,rva,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByRVA(This,rva,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByVA(This,va,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByVA(This,va,symtag,ppSymbol)\n\n#define IDiaSession_findSymbolByToken(This,token,symtag,ppSymbol)\t\\\n    (This)->lpVtbl -> findSymbolByToken(This,token,symtag,ppSymbol)\n\n#define IDiaSession_symsAreEquiv(This,symbolA,symbolB)\t\\\n    (This)->lpVtbl -> symsAreEquiv(This,symbolA,symbolB)\n\n#define IDiaSession_symbolById(This,id,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolById(This,id,ppSymbol)\n\n#define IDiaSession_findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByRVAEx(This,rva,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\t\\\n    (This)->lpVtbl -> findSymbolByVAEx(This,va,symtag,ppSymbol,displacement)\n\n#define IDiaSession_findFile(This,pCompiland,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findFile(This,pCompiland,name,compareFlags,ppResult)\n\n#define IDiaSession_findFileById(This,uniqueId,ppResult)\t\\\n    (This)->lpVtbl -> findFileById(This,uniqueId,ppResult)\n\n#define IDiaSession_findLines(This,compiland,file,ppResult)\t\\\n    (This)->lpVtbl -> findLines(This,compiland,file,ppResult)\n\n#define IDiaSession_findLinesByAddr(This,seg,offset,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByAddr(This,seg,offset,length,ppResult)\n\n#define IDiaSession_findLinesByRVA(This,rva,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByRVA(This,rva,length,ppResult)\n\n#define IDiaSession_findLinesByVA(This,va,length,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByVA(This,va,length,ppResult)\n\n#define IDiaSession_findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\t\\\n    (This)->lpVtbl -> findLinesByLinenum(This,compiland,file,linenum,column,ppResult)\n\n#define IDiaSession_findInjectedSource(This,srcFile,ppResult)\t\\\n    (This)->lpVtbl -> findInjectedSource(This,srcFile,ppResult)\n\n#define IDiaSession_getEnumDebugStreams(This,ppEnumDebugStreams)\t\\\n    (This)->lpVtbl -> getEnumDebugStreams(This,ppEnumDebugStreams)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaSession_put_loadAddress_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaSession_put_loadAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSession_get_globalScope_Proxy( \n    IDiaSession * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSession_get_globalScope_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumTables_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumTables **ppEnumTables);\n\n\nvoid __RPC_STUB IDiaSession_getEnumTables_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getSymbolsByAddr_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumSymbolsByAddr **ppEnumbyAddr);\n\n\nvoid __RPC_STUB IDiaSession_getSymbolsByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findChildren_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *parent,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD isect,\n    /* [in] */ DWORD offset,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByToken_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONG token,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByToken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symsAreEquiv_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *symbolA,\n    /* [in] */ IDiaSymbol *symbolB);\n\n\nvoid __RPC_STUB IDiaSession_symsAreEquiv_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_symbolById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD id,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaSession_symbolById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByRVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByRVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findSymbolByVAEx_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [out] */ IDiaSymbol **ppSymbol,\n    /* [out] */ long *displacement);\n\n\nvoid __RPC_STUB IDiaSession_findSymbolByVAEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFile_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *pCompiland,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSourceFiles **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findFileById_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD uniqueId,\n    /* [out] */ IDiaSourceFile **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findFileById_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLines_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLines_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByAddr_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD seg,\n    /* [in] */ DWORD offset,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByAddr_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByRVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ DWORD rva,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByRVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByVA_Proxy( \n    IDiaSession * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD length,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findLinesByLinenum_Proxy( \n    IDiaSession * This,\n    /* [in] */ IDiaSymbol *compiland,\n    /* [in] */ IDiaSourceFile *file,\n    /* [in] */ DWORD linenum,\n    /* [in] */ DWORD column,\n    /* [out] */ IDiaEnumLineNumbers **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findLinesByLinenum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_findInjectedSource_Proxy( \n    IDiaSession * This,\n    /* [in] */ LPCOLESTR srcFile,\n    /* [out] */ IDiaEnumInjectedSources **ppResult);\n\n\nvoid __RPC_STUB IDiaSession_findInjectedSource_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSession_getEnumDebugStreams_Proxy( \n    IDiaSession * This,\n    /* [out] */ IDiaEnumDebugStreams **ppEnumDebugStreams);\n\n\nvoid __RPC_STUB IDiaSession_getEnumDebugStreams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSession_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSymbol_INTERFACE_DEFINED__\n#define __IDiaSymbol_INTERFACE_DEFINED__\n\n/* interface IDiaSymbol */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSymbol;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"72827A48-D320-4eaf-8436-548ADE47D5E5\")\n    IDiaSymbol : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symIndexId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symTag( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParent( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_locationType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_slot( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_volatileType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unalignedType( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_access( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_libraryName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_platform( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_language( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_editAndContinueEnabled( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frontEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMajor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndMinor( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_backEndBuild( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_unused( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thunkOrdinal( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_thisAdjust( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtual( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_intro( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_pure( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_callingConvention( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_value( \n            /* [retval][out] */ VARIANT *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_baseType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_token( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_timeStamp( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_guid( \n            /* [retval][out] */ GUID *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_symbolsFileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_reference( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_count( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_bitPosition( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_packed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_constructor( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_overloadedOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_nested( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasNestedTypes( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasAssignmentOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_hasCastOperator( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_scoped( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_indirectVirtualBaseClass( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBasePointerOffset( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShape( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lexicalParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_classParentId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_typeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_arrayIndexTypeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualTableShapeId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_function( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_managed( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_msil( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualBaseDispIndex( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_undecoratedName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_age( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_signature( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilerGenerated( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressTaken( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_rank( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBound( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lowerBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_upperBoundId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_dataBytes( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE findChildren( \n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetRelativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_targetVirtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_machineType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_oemSymbolId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_types( \n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [length_is][size_is][out] */ IDiaSymbol *types[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_typeIds( \n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [length_is][size_is][out] */ DWORD typeIds[  ]) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectPointerType( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_udtKind( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_undecoratedNameEx( \n            /* [in] */ DWORD undecorateOptions,\n            /* [out] */ BSTR *name) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSymbolVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSymbol * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSymbol * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSymbol * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symIndexId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symTag )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParent )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_locationType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_slot )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_volatileType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unalignedType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_access )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_libraryName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_platform )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_language )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_editAndContinueEnabled )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frontEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMajor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndMinor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_backEndBuild )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_unused )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thunkOrdinal )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_thisAdjust )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtual )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_intro )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_pure )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_callingConvention )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( \n            IDiaSymbol * This,\n            /* [retval][out] */ VARIANT *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_baseType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_token )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_timeStamp )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_guid )( \n            IDiaSymbol * This,\n            /* [retval][out] */ GUID *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_symbolsFileName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_reference )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_count )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_bitPosition )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_packed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_constructor )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_overloadedOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_nested )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasNestedTypes )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasAssignmentOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasCastOperator )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_scoped )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_indirectVirtualBaseClass )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBasePointerOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShape )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lexicalParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_classParentId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_typeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_arrayIndexTypeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualTableShapeId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_function )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_managed )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_msil )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualBaseDispIndex )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_undecoratedName )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_age )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_signature )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilerGenerated )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressTaken )( \n            IDiaSymbol * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_rank )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBound )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lowerBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_upperBoundId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_dataBytes )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *findChildren )( \n            IDiaSymbol * This,\n            /* [in] */ enum SymTagEnum symtag,\n            /* [in] */ LPCOLESTR name,\n            /* [in] */ DWORD compareFlags,\n            /* [out] */ IDiaEnumSymbols **ppResult);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetSection )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetOffset )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetRelativeVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVirtualAddress )( \n            IDiaSymbol * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_machineType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_oemSymbolId )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_types )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypes,\n            /* [out] */ DWORD *pcTypes,\n            /* [length_is][size_is][out] */ IDiaSymbol *types[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_typeIds )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD cTypeIds,\n            /* [out] */ DWORD *pcTypeIds,\n            /* [length_is][size_is][out] */ DWORD typeIds[  ]);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectPointerType )( \n            IDiaSymbol * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_udtKind )( \n            IDiaSymbol * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_undecoratedNameEx )( \n            IDiaSymbol * This,\n            /* [in] */ DWORD undecorateOptions,\n            /* [out] */ BSTR *name);\n        \n        END_INTERFACE\n    } IDiaSymbolVtbl;\n\n    interface IDiaSymbol\n    {\n        CONST_VTBL struct IDiaSymbolVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSymbol_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSymbol_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSymbol_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSymbol_get_symIndexId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symIndexId(This,pRetVal)\n\n#define IDiaSymbol_get_symTag(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symTag(This,pRetVal)\n\n#define IDiaSymbol_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParent(This,pRetVal)\n\n#define IDiaSymbol_get_classParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParent(This,pRetVal)\n\n#define IDiaSymbol_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaSymbol_get_dataKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataKind(This,pRetVal)\n\n#define IDiaSymbol_get_locationType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_locationType(This,pRetVal)\n\n#define IDiaSymbol_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSymbol_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSymbol_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_registerId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerId(This,pRetVal)\n\n#define IDiaSymbol_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSymbol_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSymbol_get_slot(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_slot(This,pRetVal)\n\n#define IDiaSymbol_get_volatileType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_volatileType(This,pRetVal)\n\n#define IDiaSymbol_get_constType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constType(This,pRetVal)\n\n#define IDiaSymbol_get_unalignedType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_unalignedType(This,pRetVal)\n\n#define IDiaSymbol_get_access(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_access(This,pRetVal)\n\n#define IDiaSymbol_get_libraryName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_libraryName(This,pRetVal)\n\n#define IDiaSymbol_get_platform(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_platform(This,pRetVal)\n\n#define IDiaSymbol_get_language(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_language(This,pRetVal)\n\n#define IDiaSymbol_get_editAndContinueEnabled(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_editAndContinueEnabled(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_frontEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frontEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMajor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMajor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndMinor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndMinor(This,pRetVal)\n\n#define IDiaSymbol_get_backEndBuild(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_backEndBuild(This,pRetVal)\n\n#define IDiaSymbol_get_sourceFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileName(This,pRetVal)\n\n#define IDiaSymbol_get_unused(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_unused(This,pRetVal)\n\n#define IDiaSymbol_get_thunkOrdinal(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thunkOrdinal(This,pRetVal)\n\n#define IDiaSymbol_get_thisAdjust(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_thisAdjust(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtual(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtual(This,pRetVal)\n\n#define IDiaSymbol_get_intro(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_intro(This,pRetVal)\n\n#define IDiaSymbol_get_pure(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_pure(This,pRetVal)\n\n#define IDiaSymbol_get_callingConvention(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_callingConvention(This,pRetVal)\n\n#define IDiaSymbol_get_value(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_value(This,pRetVal)\n\n#define IDiaSymbol_get_baseType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_baseType(This,pRetVal)\n\n#define IDiaSymbol_get_token(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_token(This,pRetVal)\n\n#define IDiaSymbol_get_timeStamp(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_timeStamp(This,pRetVal)\n\n#define IDiaSymbol_get_guid(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_guid(This,pRetVal)\n\n#define IDiaSymbol_get_symbolsFileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_symbolsFileName(This,pRetVal)\n\n#define IDiaSymbol_get_reference(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_reference(This,pRetVal)\n\n#define IDiaSymbol_get_count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_count(This,pRetVal)\n\n#define IDiaSymbol_get_bitPosition(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_bitPosition(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexType(This,pRetVal)\n\n#define IDiaSymbol_get_packed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_packed(This,pRetVal)\n\n#define IDiaSymbol_get_constructor(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_constructor(This,pRetVal)\n\n#define IDiaSymbol_get_overloadedOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_overloadedOperator(This,pRetVal)\n\n#define IDiaSymbol_get_nested(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_nested(This,pRetVal)\n\n#define IDiaSymbol_get_hasNestedTypes(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasNestedTypes(This,pRetVal)\n\n#define IDiaSymbol_get_hasAssignmentOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasAssignmentOperator(This,pRetVal)\n\n#define IDiaSymbol_get_hasCastOperator(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_hasCastOperator(This,pRetVal)\n\n#define IDiaSymbol_get_scoped(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_scoped(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_indirectVirtualBaseClass(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_indirectVirtualBaseClass(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBasePointerOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBasePointerOffset(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShape(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShape(This,pRetVal)\n\n#define IDiaSymbol_get_lexicalParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lexicalParentId(This,pRetVal)\n\n#define IDiaSymbol_get_classParentId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_classParentId(This,pRetVal)\n\n#define IDiaSymbol_get_typeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_typeId(This,pRetVal)\n\n#define IDiaSymbol_get_arrayIndexTypeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_arrayIndexTypeId(This,pRetVal)\n\n#define IDiaSymbol_get_virtualTableShapeId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualTableShapeId(This,pRetVal)\n\n#define IDiaSymbol_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSymbol_get_function(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_function(This,pRetVal)\n\n#define IDiaSymbol_get_managed(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_managed(This,pRetVal)\n\n#define IDiaSymbol_get_msil(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_msil(This,pRetVal)\n\n#define IDiaSymbol_get_virtualBaseDispIndex(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualBaseDispIndex(This,pRetVal)\n\n#define IDiaSymbol_get_undecoratedName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_undecoratedName(This,pRetVal)\n\n#define IDiaSymbol_get_age(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_age(This,pRetVal)\n\n#define IDiaSymbol_get_signature(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_signature(This,pRetVal)\n\n#define IDiaSymbol_get_compilerGenerated(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilerGenerated(This,pRetVal)\n\n#define IDiaSymbol_get_addressTaken(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressTaken(This,pRetVal)\n\n#define IDiaSymbol_get_rank(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_rank(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBound(This,pRetVal)\n\n#define IDiaSymbol_get_upperBound(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBound(This,pRetVal)\n\n#define IDiaSymbol_get_lowerBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lowerBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_upperBoundId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_upperBoundId(This,pRetVal)\n\n#define IDiaSymbol_get_dataBytes(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_dataBytes(This,cbData,pcbData,data)\n\n#define IDiaSymbol_findChildren(This,symtag,name,compareFlags,ppResult)\t\\\n    (This)->lpVtbl -> findChildren(This,symtag,name,compareFlags,ppResult)\n\n#define IDiaSymbol_get_targetSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetSection(This,pRetVal)\n\n#define IDiaSymbol_get_targetOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetOffset(This,pRetVal)\n\n#define IDiaSymbol_get_targetRelativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetRelativeVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_targetVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_targetVirtualAddress(This,pRetVal)\n\n#define IDiaSymbol_get_machineType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_machineType(This,pRetVal)\n\n#define IDiaSymbol_get_oemId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemId(This,pRetVal)\n\n#define IDiaSymbol_get_oemSymbolId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_oemSymbolId(This,pRetVal)\n\n#define IDiaSymbol_get_types(This,cTypes,pcTypes,types)\t\\\n    (This)->lpVtbl -> get_types(This,cTypes,pcTypes,types)\n\n#define IDiaSymbol_get_typeIds(This,cTypeIds,pcTypeIds,typeIds)\t\\\n    (This)->lpVtbl -> get_typeIds(This,cTypeIds,pcTypeIds,typeIds)\n\n#define IDiaSymbol_get_objectPointerType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectPointerType(This,pRetVal)\n\n#define IDiaSymbol_get_udtKind(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_udtKind(This,pRetVal)\n\n#define IDiaSymbol_get_undecoratedNameEx(This,undecorateOptions,name)\t\\\n    (This)->lpVtbl -> get_undecoratedNameEx(This,undecorateOptions,name)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symIndexId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symIndexId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symTag_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symTag_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_name_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParent_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_type_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_locationType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_locationType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_relativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_registerId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_registerId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_offset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_length_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_slot_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_slot_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_volatileType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_volatileType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unalignedType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_unalignedType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_access_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_access_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_libraryName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_libraryName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_platform_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_platform_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_language_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_language_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_editAndContinueEnabled_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_editAndContinueEnabled_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_frontEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_frontEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMajor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMajor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndMinor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndMinor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_backEndBuild_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_backEndBuild_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_sourceFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_sourceFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_unused_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_unused_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thunkOrdinal_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thunkOrdinal_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_thisAdjust_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_thisAdjust_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtual_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtual_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_intro_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_intro_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_pure_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_pure_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_callingConvention_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_callingConvention_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_value_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ VARIANT *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_value_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_baseType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_baseType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_token_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_token_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_timeStamp_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_timeStamp_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_guid_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ GUID *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_guid_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_symbolsFileName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_symbolsFileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_reference_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_reference_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_count_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_bitPosition_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_bitPosition_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_packed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_packed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_constructor_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_constructor_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_overloadedOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_overloadedOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_nested_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_nested_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasNestedTypes_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasNestedTypes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasAssignmentOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasAssignmentOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_hasCastOperator_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_hasCastOperator_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_scoped_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_scoped_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_indirectVirtualBaseClass_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_indirectVirtualBaseClass_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBasePointerOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBasePointerOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShape_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShape_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lexicalParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lexicalParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_classParentId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_classParentId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_arrayIndexTypeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_arrayIndexTypeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualTableShapeId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualTableShapeId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_code_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_function_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_function_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_managed_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_managed_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_msil_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_msil_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_virtualBaseDispIndex_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_virtualBaseDispIndex_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_undecoratedName_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_undecoratedName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_age_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_age_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_signature_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_signature_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_compilerGenerated_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_compilerGenerated_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_addressTaken_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_addressTaken_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_rank_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_rank_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBound_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBound_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_lowerBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_lowerBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_upperBoundId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_upperBoundId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_dataBytes_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_dataBytes_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_findChildren_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ enum SymTagEnum symtag,\n    /* [in] */ LPCOLESTR name,\n    /* [in] */ DWORD compareFlags,\n    /* [out] */ IDiaEnumSymbols **ppResult);\n\n\nvoid __RPC_STUB IDiaSymbol_findChildren_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetSection_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetOffset_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetRelativeVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetRelativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_targetVirtualAddress_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_targetVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_machineType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_machineType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_oemSymbolId_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_oemSymbolId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_types_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypes,\n    /* [out] */ DWORD *pcTypes,\n    /* [length_is][size_is][out] */ IDiaSymbol *types[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_types_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_typeIds_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD cTypeIds,\n    /* [out] */ DWORD *pcTypeIds,\n    /* [length_is][size_is][out] */ DWORD typeIds[  ]);\n\n\nvoid __RPC_STUB IDiaSymbol_get_typeIds_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_objectPointerType_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_objectPointerType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSymbol_get_udtKind_Proxy( \n    IDiaSymbol * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSymbol_get_udtKind_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSymbol_get_undecoratedNameEx_Proxy( \n    IDiaSymbol * This,\n    /* [in] */ DWORD undecorateOptions,\n    /* [out] */ BSTR *name);\n\n\nvoid __RPC_STUB IDiaSymbol_get_undecoratedNameEx_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSymbol_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSourceFile_INTERFACE_DEFINED__\n#define __IDiaSourceFile_INTERFACE_DEFINED__\n\n/* interface IDiaSourceFile */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSourceFile;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A2EF5353-F5A8-4eb3-90D2-CB526ACB3CDD\")\n    IDiaSourceFile : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uniqueId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_fileName( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_checksumType( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilands( \n            /* [retval][out] */ IDiaEnumSymbols **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_checksum( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSourceFileVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSourceFile * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSourceFile * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSourceFile * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uniqueId )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_fileName )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_checksumType )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilands )( \n            IDiaSourceFile * This,\n            /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_checksum )( \n            IDiaSourceFile * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaSourceFileVtbl;\n\n    interface IDiaSourceFile\n    {\n        CONST_VTBL struct IDiaSourceFileVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSourceFile_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSourceFile_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSourceFile_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSourceFile_get_uniqueId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uniqueId(This,pRetVal)\n\n#define IDiaSourceFile_get_fileName(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_fileName(This,pRetVal)\n\n#define IDiaSourceFile_get_checksumType(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_checksumType(This,pRetVal)\n\n#define IDiaSourceFile_get_compilands(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilands(This,pRetVal)\n\n#define IDiaSourceFile_get_checksum(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_checksum(This,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_uniqueId_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_uniqueId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_fileName_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_fileName_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksumType_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksumType_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSourceFile_get_compilands_Proxy( \n    IDiaSourceFile * This,\n    /* [retval][out] */ IDiaEnumSymbols **pRetVal);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_compilands_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaSourceFile_get_checksum_Proxy( \n    IDiaSourceFile * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaSourceFile_get_checksum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSourceFile_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaLineNumber_INTERFACE_DEFINED__\n#define __IDiaLineNumber_INTERFACE_DEFINED__\n\n/* interface IDiaLineNumber */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaLineNumber;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"B388EB14-BE4D-421d-A8A1-6CF7AB057086\")\n    IDiaLineNumber : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFile( \n            /* [retval][out] */ IDiaSourceFile **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lineNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumber( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_columnNumberEnd( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceFileId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_statement( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaLineNumberVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaLineNumber * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaLineNumber * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaLineNumber * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFile )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ IDiaSourceFile **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lineNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumber )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_columnNumberEnd )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceFileId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_statement )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaLineNumber * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaLineNumberVtbl;\n\n    interface IDiaLineNumber\n    {\n        CONST_VTBL struct IDiaLineNumberVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaLineNumber_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaLineNumber_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaLineNumber_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaLineNumber_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFile(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFile(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_lineNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lineNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumber(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumber(This,pRetVal)\n\n#define IDiaLineNumber_get_columnNumberEnd(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_columnNumberEnd(This,pRetVal)\n\n#define IDiaLineNumber_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaLineNumber_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaLineNumber_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaLineNumber_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaLineNumber_get_sourceFileId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceFileId(This,pRetVal)\n\n#define IDiaLineNumber_get_statement(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_statement(This,pRetVal)\n\n#define IDiaLineNumber_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compiland_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFile_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ IDiaSourceFile **pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFile_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_lineNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_lineNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumber_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumber_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_columnNumberEnd_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_columnNumberEnd_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressSection_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_addressOffset_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_relativeVirtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_virtualAddress_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_length_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_sourceFileId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_sourceFileId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_statement_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_statement_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaLineNumber_get_compilandId_Proxy( \n    IDiaLineNumber * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaLineNumber_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaLineNumber_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSectionContrib_INTERFACE_DEFINED__\n#define __IDiaSectionContrib_INTERFACE_DEFINED__\n\n/* interface IDiaSectionContrib */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSectionContrib;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0CF4B60E-35B1-4c6c-BDD8-854B9C8E3857\")\n    IDiaSectionContrib : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compiland( \n            /* [retval][out] */ IDiaSymbol **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notPaged( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_code( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_initializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_uninitializedData( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_remove( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_comdat( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_discardable( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_notCached( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_share( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_dataCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relocationsCrc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_compilandId( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSectionContribVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSectionContrib * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSectionContrib * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSectionContrib * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compiland )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ IDiaSymbol **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notPaged )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_code )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_initializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_uninitializedData )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_remove )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_comdat )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_discardable )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_notCached )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_share )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_dataCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relocationsCrc )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_compilandId )( \n            IDiaSectionContrib * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSectionContribVtbl;\n\n    interface IDiaSectionContrib\n    {\n        CONST_VTBL struct IDiaSectionContribVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSectionContrib_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSectionContrib_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSectionContrib_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSectionContrib_get_compiland(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compiland(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSectionContrib_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaSectionContrib_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaSectionContrib_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSectionContrib_get_notPaged(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notPaged(This,pRetVal)\n\n#define IDiaSectionContrib_get_code(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_code(This,pRetVal)\n\n#define IDiaSectionContrib_get_initializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_initializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_uninitializedData(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_uninitializedData(This,pRetVal)\n\n#define IDiaSectionContrib_get_remove(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_remove(This,pRetVal)\n\n#define IDiaSectionContrib_get_comdat(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_comdat(This,pRetVal)\n\n#define IDiaSectionContrib_get_discardable(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_discardable(This,pRetVal)\n\n#define IDiaSectionContrib_get_notCached(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_notCached(This,pRetVal)\n\n#define IDiaSectionContrib_get_share(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_share(This,pRetVal)\n\n#define IDiaSectionContrib_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSectionContrib_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSectionContrib_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSectionContrib_get_dataCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_dataCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_relocationsCrc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relocationsCrc(This,pRetVal)\n\n#define IDiaSectionContrib_get_compilandId(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_compilandId(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compiland_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ IDiaSymbol **pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compiland_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressSection_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_addressOffset_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relativeVirtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_virtualAddress_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_length_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notPaged_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notPaged_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_code_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_code_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_initializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_initializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_uninitializedData_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_uninitializedData_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_remove_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_remove_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_comdat_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_comdat_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_discardable_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_discardable_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_notCached_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_notCached_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_share_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_share_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_execute_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_read_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_write_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_dataCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_dataCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_relocationsCrc_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_relocationsCrc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSectionContrib_get_compilandId_Proxy( \n    IDiaSectionContrib * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSectionContrib_get_compilandId_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSectionContrib_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaSegment_INTERFACE_DEFINED__\n#define __IDiaSegment_INTERFACE_DEFINED__\n\n/* interface IDiaSegment */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaSegment;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"0775B784-C75B-4449-848B-B7BD3159545B\")\n    IDiaSegment : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_frame( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_offset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_read( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_write( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_execute( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaSegmentVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaSegment * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaSegment * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaSegment * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_frame )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_offset )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_read )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_write )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_execute )( \n            IDiaSegment * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaSegment * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaSegmentVtbl;\n\n    interface IDiaSegment\n    {\n        CONST_VTBL struct IDiaSegmentVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaSegment_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaSegment_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaSegment_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaSegment_get_frame(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_frame(This,pRetVal)\n\n#define IDiaSegment_get_offset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_offset(This,pRetVal)\n\n#define IDiaSegment_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaSegment_get_read(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_read(This,pRetVal)\n\n#define IDiaSegment_get_write(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_write(This,pRetVal)\n\n#define IDiaSegment_get_execute(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_execute(This,pRetVal)\n\n#define IDiaSegment_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaSegment_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaSegment_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_frame_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_frame_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_offset_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_offset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_length_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_read_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_read_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_write_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_write_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_execute_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_addressSection_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_relativeVirtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaSegment_get_virtualAddress_Proxy( \n    IDiaSegment * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaSegment_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaSegment_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaInjectedSource_INTERFACE_DEFINED__\n#define __IDiaInjectedSource_INTERFACE_DEFINED__\n\n/* interface IDiaInjectedSource */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaInjectedSource;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"AE605CDC-8105-4a23-B710-3259F1E26112\")\n    IDiaInjectedSource : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_crc( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_length( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_filename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_objectFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualFilename( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_sourceCompression( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE get_source( \n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaInjectedSourceVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaInjectedSource * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaInjectedSource * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaInjectedSource * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_crc )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_filename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_objectFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualFilename )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_sourceCompression )( \n            IDiaInjectedSource * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *get_source )( \n            IDiaInjectedSource * This,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        END_INTERFACE\n    } IDiaInjectedSourceVtbl;\n\n    interface IDiaInjectedSource\n    {\n        CONST_VTBL struct IDiaInjectedSourceVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaInjectedSource_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaInjectedSource_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaInjectedSource_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaInjectedSource_get_crc(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_crc(This,pRetVal)\n\n#define IDiaInjectedSource_get_length(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_length(This,pRetVal)\n\n#define IDiaInjectedSource_get_filename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_filename(This,pRetVal)\n\n#define IDiaInjectedSource_get_objectFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_objectFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_virtualFilename(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualFilename(This,pRetVal)\n\n#define IDiaInjectedSource_get_sourceCompression(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_sourceCompression(This,pRetVal)\n\n#define IDiaInjectedSource_get_source(This,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> get_source(This,cbData,pcbData,data)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_crc_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_crc_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_length_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_length_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_filename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_filename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_objectFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_objectFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_virtualFilename_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_virtualFilename_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_sourceCompression_Proxy( \n    IDiaInjectedSource * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_sourceCompression_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaInjectedSource_get_source_Proxy( \n    IDiaInjectedSource * This,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaInjectedSource_get_source_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaInjectedSource_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0146 */\n/* [local] */ \n\n\nenum __MIDL___MIDL_itf_dia2_0146_0001\n    {\tE_DIA_INPROLOG\t= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )( LONG  )0x6d << 16 | ( unsigned long  )100),\n\tE_DIA_SYNTAX\t= E_DIA_INPROLOG + 1,\n\tE_DIA_FRAME_ACCESS\t= E_DIA_SYNTAX + 1,\n\tE_DIA_VALUE\t= E_DIA_FRAME_ACCESS + 1\n    } ;\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0146_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0146_v0_0_s_ifspec;\n\n#ifndef __IDiaStackWalkFrame_INTERFACE_DEFINED__\n#define __IDiaStackWalkFrame_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkFrame */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkFrame;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"97F0F1A6-E04E-4ea4-B4F9-B0D0E8D90F5D\")\n    IDiaStackWalkFrame : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue( \n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE readMemory( \n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress( \n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart( \n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkFrameVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkFrame * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkFrame * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkFrame * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        END_INTERFACE\n    } IDiaStackWalkFrameVtbl;\n\n    interface IDiaStackWalkFrame\n    {\n        CONST_VTBL struct IDiaStackWalkFrameVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkFrame_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkFrame_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkFrame_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkFrame_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkFrame_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkFrame_readMemory(This,va,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> readMemory(This,va,cbData,pcbData,data)\n\n#define IDiaStackWalkFrame_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkFrame_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_get_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_put_registerValue_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ DWORD index,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_put_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_readMemory_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_readMemory_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddress_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkFrame_searchForReturnAddressStart_Proxy( \n    IDiaStackWalkFrame * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [in] */ ULONGLONG startAddress,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkFrame_searchForReturnAddressStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalkFrame_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaFrameData_INTERFACE_DEFINED__\n#define __IDiaFrameData_INTERFACE_DEFINED__\n\n/* interface IDiaFrameData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaFrameData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"A39184B7-6A36-42de-8EEC-7DF9F3F59F33\")\n    IDiaFrameData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressSection( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_addressOffset( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthBlock( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_program( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionParent( \n            /* [retval][out] */ IDiaFrameData **pRetVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE execute( \n            IDiaStackWalkFrame *frame) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaFrameDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaFrameData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaFrameData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaFrameData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressSection )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_addressOffset )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaFrameData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthBlock )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_program )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )( \n            IDiaFrameData * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaFrameData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionParent )( \n            IDiaFrameData * This,\n            /* [retval][out] */ IDiaFrameData **pRetVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *execute )( \n            IDiaFrameData * This,\n            IDiaStackWalkFrame *frame);\n        \n        END_INTERFACE\n    } IDiaFrameDataVtbl;\n\n    interface IDiaFrameData\n    {\n        CONST_VTBL struct IDiaFrameDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaFrameData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaFrameData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaFrameData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaFrameData_get_addressSection(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressSection(This,pRetVal)\n\n#define IDiaFrameData_get_addressOffset(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_addressOffset(This,pRetVal)\n\n#define IDiaFrameData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaFrameData_get_lengthBlock(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthBlock(This,pRetVal)\n\n#define IDiaFrameData_get_lengthLocals(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthLocals(This,pRetVal)\n\n#define IDiaFrameData_get_lengthParams(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthParams(This,pRetVal)\n\n#define IDiaFrameData_get_maxStack(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_maxStack(This,pRetVal)\n\n#define IDiaFrameData_get_lengthProlog(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthProlog(This,pRetVal)\n\n#define IDiaFrameData_get_lengthSavedRegisters(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal)\n\n#define IDiaFrameData_get_program(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_program(This,pRetVal)\n\n#define IDiaFrameData_get_systemExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_cplusplusExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal)\n\n#define IDiaFrameData_get_functionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionStart(This,pRetVal)\n\n#define IDiaFrameData_get_allocatesBasePointer(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal)\n\n#define IDiaFrameData_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaFrameData_get_functionParent(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionParent(This,pRetVal)\n\n#define IDiaFrameData_execute(This,frame)\t\\\n    (This)->lpVtbl -> execute(This,frame)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressSection_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressSection_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_addressOffset_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_addressOffset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_relativeVirtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_virtualAddress_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthBlock_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthBlock_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthLocals_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthLocals_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthParams_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthParams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_maxStack_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_maxStack_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthProlog_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthProlog_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_lengthSavedRegisters_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_lengthSavedRegisters_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_program_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_program_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_systemExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_systemExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_cplusplusExceptionHandling_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_cplusplusExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionStart_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_allocatesBasePointer_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_allocatesBasePointer_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_type_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaFrameData_get_functionParent_Proxy( \n    IDiaFrameData * This,\n    /* [retval][out] */ IDiaFrameData **pRetVal);\n\n\nvoid __RPC_STUB IDiaFrameData_get_functionParent_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaFrameData_execute_Proxy( \n    IDiaFrameData * This,\n    IDiaStackWalkFrame *frame);\n\n\nvoid __RPC_STUB IDiaFrameData_execute_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaFrameData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaImageData_INTERFACE_DEFINED__\n#define __IDiaImageData_INTERFACE_DEFINED__\n\n/* interface IDiaImageData */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaImageData;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C8E40ED2-A1D9-4221-8692-3CE661184B44\")\n    IDiaImageData : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_relativeVirtualAddress( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_virtualAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_imageBase( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaImageDataVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaImageData * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaImageData * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaImageData * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_relativeVirtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_virtualAddress )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_imageBase )( \n            IDiaImageData * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        END_INTERFACE\n    } IDiaImageDataVtbl;\n\n    interface IDiaImageData\n    {\n        CONST_VTBL struct IDiaImageDataVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaImageData_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaImageData_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaImageData_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaImageData_get_relativeVirtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_relativeVirtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_virtualAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_virtualAddress(This,pRetVal)\n\n#define IDiaImageData_get_imageBase(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_imageBase(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_relativeVirtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_relativeVirtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_virtualAddress_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_virtualAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaImageData_get_imageBase_Proxy( \n    IDiaImageData * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaImageData_get_imageBase_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaImageData_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaTable_INTERFACE_DEFINED__\n#define __IDiaTable_INTERFACE_DEFINED__\n\n/* interface IDiaTable */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaTable;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"4A59FB77-ABAC-469b-A30B-9ECC85BFEF14\")\n    IDiaTable : public IEnumUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_name( \n            /* [retval][out] */ BSTR *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaTableVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaTable * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaTable * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaTable * This);\n        \n        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IUnknown **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaTable * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaTable * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaTable * This,\n            /* [out] */ IEnumUnknown **ppenum);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaTable * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_name )( \n            IDiaTable * This,\n            /* [retval][out] */ BSTR *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaTable * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaTable * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ IUnknown **element);\n        \n        END_INTERFACE\n    } IDiaTableVtbl;\n\n    interface IDiaTable\n    {\n        CONST_VTBL struct IDiaTableVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaTable_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaTable_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaTable_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaTable_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaTable_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaTable_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaTable_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n\n#define IDiaTable_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaTable_get_name(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_name(This,pRetVal)\n\n#define IDiaTable_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaTable_Item(This,index,element)\t\\\n    (This)->lpVtbl -> Item(This,index,element)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get__NewEnum_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_name_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ BSTR *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_name_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaTable_get_Count_Proxy( \n    IDiaTable * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaTable_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaTable_Item_Proxy( \n    IDiaTable * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ IUnknown **element);\n\n\nvoid __RPC_STUB IDiaTable_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaTable_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumTables_INTERFACE_DEFINED__\n#define __IDiaEnumTables_INTERFACE_DEFINED__\n\n/* interface IDiaEnumTables */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumTables;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"C65C2B0A-1150-4d7a-AFCC-E05BF3DEE81E\")\n    IDiaEnumTables : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( \n            /* [retval][out] */ IUnknown **pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( \n            /* [retval][out] */ LONG *pRetVal) = 0;\n        \n        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Item( \n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Next( \n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Skip( \n            /* [in] */ ULONG celt) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Clone( \n            /* [out] */ IDiaEnumTables **ppenum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumTablesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumTables * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumTables * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumTables * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ IUnknown **pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( \n            IDiaEnumTables * This,\n            /* [retval][out] */ LONG *pRetVal);\n        \n        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( \n            IDiaEnumTables * This,\n            /* [in] */ VARIANT index,\n            /* [retval][out] */ IDiaTable **table);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumTables * This,\n            ULONG celt,\n            IDiaTable **rgelt,\n            ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Skip )( \n            IDiaEnumTables * This,\n            /* [in] */ ULONG celt);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumTables * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Clone )( \n            IDiaEnumTables * This,\n            /* [out] */ IDiaEnumTables **ppenum);\n        \n        END_INTERFACE\n    } IDiaEnumTablesVtbl;\n\n    interface IDiaEnumTables\n    {\n        CONST_VTBL struct IDiaEnumTablesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumTables_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumTables_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumTables_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumTables_get__NewEnum(This,pRetVal)\t\\\n    (This)->lpVtbl -> get__NewEnum(This,pRetVal)\n\n#define IDiaEnumTables_get_Count(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_Count(This,pRetVal)\n\n#define IDiaEnumTables_Item(This,index,table)\t\\\n    (This)->lpVtbl -> Item(This,index,table)\n\n#define IDiaEnumTables_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumTables_Skip(This,celt)\t\\\n    (This)->lpVtbl -> Skip(This,celt)\n\n#define IDiaEnumTables_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#define IDiaEnumTables_Clone(This,ppenum)\t\\\n    (This)->lpVtbl -> Clone(This,ppenum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get__NewEnum_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ IUnknown **pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get__NewEnum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_get_Count_Proxy( \n    IDiaEnumTables * This,\n    /* [retval][out] */ LONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaEnumTables_get_Count_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IDiaEnumTables_Item_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ VARIANT index,\n    /* [retval][out] */ IDiaTable **table);\n\n\nvoid __RPC_STUB IDiaEnumTables_Item_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Next_Proxy( \n    IDiaEnumTables * This,\n    ULONG celt,\n    IDiaTable **rgelt,\n    ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumTables_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Skip_Proxy( \n    IDiaEnumTables * This,\n    /* [in] */ ULONG celt);\n\n\nvoid __RPC_STUB IDiaEnumTables_Skip_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Reset_Proxy( \n    IDiaEnumTables * This);\n\n\nvoid __RPC_STUB IDiaEnumTables_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumTables_Clone_Proxy( \n    IDiaEnumTables * This,\n    /* [out] */ IDiaEnumTables **ppenum);\n\n\nvoid __RPC_STUB IDiaEnumTables_Clone_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumTables_INTERFACE_DEFINED__ */\n\n\n\n#ifndef __Dia2Lib_LIBRARY_DEFINED__\n#define __Dia2Lib_LIBRARY_DEFINED__\n\n/* library Dia2Lib */\n/* [helpstring][version][uuid] */ \n\n\nEXTERN_C const IID LIBID_Dia2Lib;\n\nEXTERN_C const CLSID CLSID_DiaSource;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"e60afbee-502d-46ae-858f-8272a09bd707\")\nDiaSource;\n#endif\n\nEXTERN_C const CLSID CLSID_DiaSourceAlt;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"9c1c335f-d27d-4857-bda0-2c7364544706\")\nDiaSourceAlt;\n#endif\n\nEXTERN_C const CLSID CLSID_DiaStackWalker;\n\n#ifdef __cplusplus\n\nclass DECLSPEC_UUID(\"31495af6-0897-4f1e-8dac-1447f10174a1\")\nDiaStackWalker;\n#endif\n#endif /* __Dia2Lib_LIBRARY_DEFINED__ */\n\n/* interface __MIDL_itf_dia2_0151 */\n/* [local] */ \n\n#define\tDiaTable_Symbols\t( L\"Symbols\" )\n\n#define\tDiaTable_Sections\t( L\"Sections\" )\n\n#define\tDiaTable_SrcFiles\t( L\"SourceFiles\" )\n\n#define\tDiaTable_LineNums\t( L\"LineNumbers\" )\n\n#define\tDiaTable_SegMap\t( L\"SegmentMap\" )\n\n#define\tDiaTable_Dbg\t( L\"Dbg\" )\n\n#define\tDiaTable_InjSrc\t( L\"InjectedSource\" )\n\n#define\tDiaTable_FrameData\t( L\"FrameData\" )\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0151_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0151_v0_0_s_ifspec;\n\n#ifndef __IDiaPropertyStorage_INTERFACE_DEFINED__\n#define __IDiaPropertyStorage_INTERFACE_DEFINED__\n\n/* interface IDiaPropertyStorage */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaPropertyStorage;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"9d416f9c-e184-45b2-a4f0-ce517f719e9b\")\n    IDiaPropertyStorage : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE ReadMultiple( \n            /* [in] */ ULONG cpspec,\n            /* [size_is][in] */ const PROPSPEC rgpspec[  ],\n            /* [length_is][size_is][out][in] */ PROPVARIANT rgvar[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames( \n            /* [in] */ ULONG cpropid,\n            /* [size_is][length_is][in] */ const PROPID rgpropid[  ],\n            /* [size_is][length_is][out][in] */ BSTR rglpwstrName[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Enum( \n            /* [out] */ IEnumSTATPROPSTG **ppenum) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadDWORD( \n            /* [in] */ PROPID id,\n            /* [out] */ DWORD *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadLONG( \n            /* [in] */ PROPID id,\n            /* [out] */ LONG *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadBOOL( \n            /* [in] */ PROPID id,\n            /* [out] */ BOOL *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadULONGLONG( \n            /* [in] */ PROPID id,\n            /* [out] */ ULONGLONG *pValue) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE ReadBSTR( \n            /* [in] */ PROPID id,\n            /* [out] */ BSTR *pValue) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaPropertyStorageVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaPropertyStorage * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaPropertyStorage * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaPropertyStorage * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadMultiple )( \n            IDiaPropertyStorage * This,\n            /* [in] */ ULONG cpspec,\n            /* [size_is][in] */ const PROPSPEC rgpspec[  ],\n            /* [length_is][size_is][out][in] */ PROPVARIANT rgvar[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )( \n            IDiaPropertyStorage * This,\n            /* [in] */ ULONG cpropid,\n            /* [size_is][length_is][in] */ const PROPID rgpropid[  ],\n            /* [size_is][length_is][out][in] */ BSTR rglpwstrName[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *Enum )( \n            IDiaPropertyStorage * This,\n            /* [out] */ IEnumSTATPROPSTG **ppenum);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadDWORD )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ DWORD *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadLONG )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ LONG *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadBOOL )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ BOOL *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadULONGLONG )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ ULONGLONG *pValue);\n        \n        HRESULT ( STDMETHODCALLTYPE *ReadBSTR )( \n            IDiaPropertyStorage * This,\n            /* [in] */ PROPID id,\n            /* [out] */ BSTR *pValue);\n        \n        END_INTERFACE\n    } IDiaPropertyStorageVtbl;\n\n    interface IDiaPropertyStorage\n    {\n        CONST_VTBL struct IDiaPropertyStorageVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaPropertyStorage_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaPropertyStorage_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaPropertyStorage_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgvar)\t\\\n    (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgvar)\n\n#define IDiaPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)\t\\\n    (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)\n\n#define IDiaPropertyStorage_Enum(This,ppenum)\t\\\n    (This)->lpVtbl -> Enum(This,ppenum)\n\n#define IDiaPropertyStorage_ReadDWORD(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadDWORD(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadLONG(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadLONG(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadBOOL(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadBOOL(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadULONGLONG(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadULONGLONG(This,id,pValue)\n\n#define IDiaPropertyStorage_ReadBSTR(This,id,pValue)\t\\\n    (This)->lpVtbl -> ReadBSTR(This,id,pValue)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadMultiple_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ ULONG cpspec,\n    /* [size_is][in] */ const PROPSPEC rgpspec[  ],\n    /* [length_is][size_is][out][in] */ PROPVARIANT rgvar[  ]);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadMultiple_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadPropertyNames_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ ULONG cpropid,\n    /* [size_is][length_is][in] */ const PROPID rgpropid[  ],\n    /* [size_is][length_is][out][in] */ BSTR rglpwstrName[  ]);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadPropertyNames_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_Enum_Proxy( \n    IDiaPropertyStorage * This,\n    /* [out] */ IEnumSTATPROPSTG **ppenum);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_Enum_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadDWORD_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ DWORD *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadDWORD_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadLONG_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ LONG *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadLONG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadBOOL_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ BOOL *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadBOOL_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadULONGLONG_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ ULONGLONG *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadULONGLONG_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaPropertyStorage_ReadBSTR_Proxy( \n    IDiaPropertyStorage * This,\n    /* [in] */ PROPID id,\n    /* [out] */ BSTR *pValue);\n\n\nvoid __RPC_STUB IDiaPropertyStorage_ReadBSTR_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaPropertyStorage_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackFrame_INTERFACE_DEFINED__\n#define __IDiaStackFrame_INTERFACE_DEFINED__\n\n/* interface IDiaStackFrame */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackFrame;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"fcea0205-66eb-4794-b38f-13852095c785\")\n    IDiaStackFrame : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_type( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_base( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_size( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_returnAddress( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_localsBase( \n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthLocals( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthParams( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthProlog( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_lengthSavedRegisters( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_systemExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_cplusplusExceptionHandling( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_functionStart( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_allocatesBasePointer( \n            /* [retval][out] */ BOOL *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_maxStack( \n            /* [retval][out] */ DWORD *pRetVal) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackFrameVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackFrame * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackFrame * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackFrame * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_type )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_base )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_size )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_returnAddress )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_localsBase )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthLocals )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthParams )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthProlog )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_lengthSavedRegisters )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_systemExceptionHandling )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_cplusplusExceptionHandling )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_functionStart )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_allocatesBasePointer )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ BOOL *pRetVal);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_maxStack )( \n            IDiaStackFrame * This,\n            /* [retval][out] */ DWORD *pRetVal);\n        \n        END_INTERFACE\n    } IDiaStackFrameVtbl;\n\n    interface IDiaStackFrame\n    {\n        CONST_VTBL struct IDiaStackFrameVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackFrame_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackFrame_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackFrame_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackFrame_get_type(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_type(This,pRetVal)\n\n#define IDiaStackFrame_get_base(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_base(This,pRetVal)\n\n#define IDiaStackFrame_get_size(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_size(This,pRetVal)\n\n#define IDiaStackFrame_get_returnAddress(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_returnAddress(This,pRetVal)\n\n#define IDiaStackFrame_get_localsBase(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_localsBase(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthLocals(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthLocals(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthParams(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthParams(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthProlog(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthProlog(This,pRetVal)\n\n#define IDiaStackFrame_get_lengthSavedRegisters(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_lengthSavedRegisters(This,pRetVal)\n\n#define IDiaStackFrame_get_systemExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_systemExceptionHandling(This,pRetVal)\n\n#define IDiaStackFrame_get_cplusplusExceptionHandling(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_cplusplusExceptionHandling(This,pRetVal)\n\n#define IDiaStackFrame_get_functionStart(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_functionStart(This,pRetVal)\n\n#define IDiaStackFrame_get_allocatesBasePointer(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_allocatesBasePointer(This,pRetVal)\n\n#define IDiaStackFrame_get_maxStack(This,pRetVal)\t\\\n    (This)->lpVtbl -> get_maxStack(This,pRetVal)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_type_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_type_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_base_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_base_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_size_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_size_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_returnAddress_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_returnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_localsBase_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_localsBase_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthLocals_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthLocals_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthParams_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthParams_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthProlog_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthProlog_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_lengthSavedRegisters_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_lengthSavedRegisters_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_systemExceptionHandling_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_systemExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_cplusplusExceptionHandling_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_cplusplusExceptionHandling_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_functionStart_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_functionStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_allocatesBasePointer_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ BOOL *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_allocatesBasePointer_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackFrame_get_maxStack_Proxy( \n    IDiaStackFrame * This,\n    /* [retval][out] */ DWORD *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackFrame_get_maxStack_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackFrame_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaEnumStackFrames_INTERFACE_DEFINED__\n#define __IDiaEnumStackFrames_INTERFACE_DEFINED__\n\n/* interface IDiaEnumStackFrames */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaEnumStackFrames;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"ec9d461d-ce74-4711-a020-7d8f9a1dd255\")\n    IDiaEnumStackFrames : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE Next( \n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaStackFrame **rgelt,\n            /* [out] */ ULONG *pceltFetched) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaEnumStackFramesVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaEnumStackFrames * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaEnumStackFrames * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaEnumStackFrames * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *Next )( \n            IDiaEnumStackFrames * This,\n            /* [in] */ ULONG celt,\n            /* [out] */ IDiaStackFrame **rgelt,\n            /* [out] */ ULONG *pceltFetched);\n        \n        HRESULT ( STDMETHODCALLTYPE *Reset )( \n            IDiaEnumStackFrames * This);\n        \n        END_INTERFACE\n    } IDiaEnumStackFramesVtbl;\n\n    interface IDiaEnumStackFrames\n    {\n        CONST_VTBL struct IDiaEnumStackFramesVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaEnumStackFrames_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaEnumStackFrames_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaEnumStackFrames_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaEnumStackFrames_Next(This,celt,rgelt,pceltFetched)\t\\\n    (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)\n\n#define IDiaEnumStackFrames_Reset(This)\t\\\n    (This)->lpVtbl -> Reset(This)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumStackFrames_Next_Proxy( \n    IDiaEnumStackFrames * This,\n    /* [in] */ ULONG celt,\n    /* [out] */ IDiaStackFrame **rgelt,\n    /* [out] */ ULONG *pceltFetched);\n\n\nvoid __RPC_STUB IDiaEnumStackFrames_Next_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaEnumStackFrames_Reset_Proxy( \n    IDiaEnumStackFrames * This);\n\n\nvoid __RPC_STUB IDiaEnumStackFrames_Reset_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaEnumStackFrames_INTERFACE_DEFINED__ */\n\n\n/* interface __MIDL_itf_dia2_0155 */\n/* [local] */ \n\ntypedef /* [public] */ struct __MIDL___MIDL_itf_dia2_0155_0001\n    {\n    DWORD ulOffStart;\n    DWORD cbProcSize;\n    DWORD cdwLocals;\n    WORD cdwParams;\n    WORD cdwFlags;\n    } \tFPODATA;\n\n\n\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0155_v0_0_c_ifspec;\nextern RPC_IF_HANDLE __MIDL_itf_dia2_0155_v0_0_s_ifspec;\n\n#ifndef __IDiaStackWalkHelper_INTERFACE_DEFINED__\n#define __IDiaStackWalkHelper_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalkHelper */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalkHelper;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"43dbf56f-7f7f-4a09-9c83-5bab344f1c12\")\n    IDiaStackWalkHelper : public IUnknown\n    {\n    public:\n        virtual /* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_registerValue( \n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal) = 0;\n        \n        virtual /* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_registerValue( \n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE readMemory( \n            /* [in] */ enum MemoryTypeEnum type,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddress( \n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE searchForReturnAddressStart( \n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE frameForVA( \n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaFrameData **ppFrame) = 0;\n        \n        virtual HRESULT STDMETHODCALLTYPE symbolForVA( \n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaSymbol **ppSymbol) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkHelperVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalkHelper * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalkHelper * This);\n        \n        /* [id][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_registerValue )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ DWORD index,\n            /* [retval][out] */ ULONGLONG *pRetVal);\n        \n        /* [id][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_registerValue )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ DWORD index,\n            /* [in] */ ULONGLONG NewVal);\n        \n        HRESULT ( STDMETHODCALLTYPE *readMemory )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ enum MemoryTypeEnum type,\n            /* [in] */ ULONGLONG va,\n            /* [in] */ DWORD cbData,\n            /* [out] */ DWORD *pcbData,\n            /* [length_is][size_is][out] */ BYTE data[  ]);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddress )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *searchForReturnAddressStart )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ IDiaFrameData *frame,\n            /* [in] */ ULONGLONG startAddress,\n            /* [out] */ ULONGLONG *returnAddress);\n        \n        HRESULT ( STDMETHODCALLTYPE *frameForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaFrameData **ppFrame);\n        \n        HRESULT ( STDMETHODCALLTYPE *symbolForVA )( \n            IDiaStackWalkHelper * This,\n            /* [in] */ ULONGLONG va,\n            /* [out] */ IDiaSymbol **ppSymbol);\n        \n        END_INTERFACE\n    } IDiaStackWalkHelperVtbl;\n\n    interface IDiaStackWalkHelper\n    {\n        CONST_VTBL struct IDiaStackWalkHelperVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalkHelper_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalkHelper_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalkHelper_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalkHelper_get_registerValue(This,index,pRetVal)\t\\\n    (This)->lpVtbl -> get_registerValue(This,index,pRetVal)\n\n#define IDiaStackWalkHelper_put_registerValue(This,index,NewVal)\t\\\n    (This)->lpVtbl -> put_registerValue(This,index,NewVal)\n\n#define IDiaStackWalkHelper_readMemory(This,type,va,cbData,pcbData,data)\t\\\n    (This)->lpVtbl -> readMemory(This,type,va,cbData,pcbData,data)\n\n#define IDiaStackWalkHelper_searchForReturnAddress(This,frame,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddress(This,frame,returnAddress)\n\n#define IDiaStackWalkHelper_searchForReturnAddressStart(This,frame,startAddress,returnAddress)\t\\\n    (This)->lpVtbl -> searchForReturnAddressStart(This,frame,startAddress,returnAddress)\n\n#define IDiaStackWalkHelper_frameForVA(This,va,ppFrame)\t\\\n    (This)->lpVtbl -> frameForVA(This,va,ppFrame)\n\n#define IDiaStackWalkHelper_symbolForVA(This,va,ppSymbol)\t\\\n    (This)->lpVtbl -> symbolForVA(This,va,ppSymbol)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\n/* [id][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_get_registerValue_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ DWORD index,\n    /* [retval][out] */ ULONGLONG *pRetVal);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_get_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n/* [id][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_put_registerValue_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ DWORD index,\n    /* [in] */ ULONGLONG NewVal);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_put_registerValue_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_readMemory_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ enum MemoryTypeEnum type,\n    /* [in] */ ULONGLONG va,\n    /* [in] */ DWORD cbData,\n    /* [out] */ DWORD *pcbData,\n    /* [length_is][size_is][out] */ BYTE data[  ]);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_readMemory_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_searchForReturnAddress_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_searchForReturnAddress_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_searchForReturnAddressStart_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ IDiaFrameData *frame,\n    /* [in] */ ULONGLONG startAddress,\n    /* [out] */ ULONGLONG *returnAddress);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_searchForReturnAddressStart_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_frameForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG va,\n    /* [out] */ IDiaFrameData **ppFrame);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_frameForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalkHelper_symbolForVA_Proxy( \n    IDiaStackWalkHelper * This,\n    /* [in] */ ULONGLONG va,\n    /* [out] */ IDiaSymbol **ppSymbol);\n\n\nvoid __RPC_STUB IDiaStackWalkHelper_symbolForVA_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalkHelper_INTERFACE_DEFINED__ */\n\n\n#ifndef __IDiaStackWalker_INTERFACE_DEFINED__\n#define __IDiaStackWalker_INTERFACE_DEFINED__\n\n/* interface IDiaStackWalker */\n/* [unique][helpstring][local][uuid][object] */ \n\n\nEXTERN_C const IID IID_IDiaStackWalker;\n\n#if defined(__cplusplus) && !defined(CINTERFACE)\n    \n    MIDL_INTERFACE(\"14341190-eff2-46af-9290-14fa980277b0\")\n    IDiaStackWalker : public IUnknown\n    {\n    public:\n        virtual HRESULT STDMETHODCALLTYPE getEnumFrames( \n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum) = 0;\n        \n    };\n    \n#else \t/* C style interface */\n\n    typedef struct IDiaStackWalkerVtbl\n    {\n        BEGIN_INTERFACE\n        \n        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( \n            IDiaStackWalker * This,\n            /* [in] */ REFIID riid,\n            /* [iid_is][out] */ void **ppvObject);\n        \n        ULONG ( STDMETHODCALLTYPE *AddRef )( \n            IDiaStackWalker * This);\n        \n        ULONG ( STDMETHODCALLTYPE *Release )( \n            IDiaStackWalker * This);\n        \n        HRESULT ( STDMETHODCALLTYPE *getEnumFrames )( \n            IDiaStackWalker * This,\n            /* [in] */ IDiaStackWalkHelper *pHelper,\n            /* [out] */ IDiaEnumStackFrames **ppEnum);\n        \n        END_INTERFACE\n    } IDiaStackWalkerVtbl;\n\n    interface IDiaStackWalker\n    {\n        CONST_VTBL struct IDiaStackWalkerVtbl *lpVtbl;\n    };\n\n    \n\n#ifdef COBJMACROS\n\n\n#define IDiaStackWalker_QueryInterface(This,riid,ppvObject)\t\\\n    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)\n\n#define IDiaStackWalker_AddRef(This)\t\\\n    (This)->lpVtbl -> AddRef(This)\n\n#define IDiaStackWalker_Release(This)\t\\\n    (This)->lpVtbl -> Release(This)\n\n\n#define IDiaStackWalker_getEnumFrames(This,pHelper,ppEnum)\t\\\n    (This)->lpVtbl -> getEnumFrames(This,pHelper,ppEnum)\n\n#endif /* COBJMACROS */\n\n\n#endif \t/* C style interface */\n\n\n\nHRESULT STDMETHODCALLTYPE IDiaStackWalker_getEnumFrames_Proxy( \n    IDiaStackWalker * This,\n    /* [in] */ IDiaStackWalkHelper *pHelper,\n    /* [out] */ IDiaEnumStackFrames **ppEnum);\n\n\nvoid __RPC_STUB IDiaStackWalker_getEnumFrames_Stub(\n    IRpcStubBuffer *This,\n    IRpcChannelBuffer *_pRpcChannelBuffer,\n    PRPC_MESSAGE _pRpcMessage,\n    DWORD *_pdwStubPhase);\n\n\n\n#endif \t/* __IDiaStackWalker_INTERFACE_DEFINED__ */\n\n\n/* Additional Prototypes for ALL interfaces */\n\n/* end of Additional Prototypes */\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "Addition/DiaSDK.NET2003/include/diacreate.h",
    "content": "// diacreate.h - creation helper functions for DIA initialization\n//-----------------------------------------------------------------\n// \n// Copyright Microsoft Corporation.  All Rights Reserved.\n//\n//---------------------------------------------------------------\n#ifndef _DIACREATE_H_\n#define _DIACREATE_H_\n\n//\n// Create a dia data source object from the dia dll (by dll name - does not access the registry).\n//\nHRESULT STDMETHODCALLTYPE NoRegCoCreate(  const char*dllName,\n                        REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n//\n// Create a dia data source object from the dia dll (looks up the class id in the registry).\n//\nHRESULT STDMETHODCALLTYPE NoOleCoCreate(  REFCLSID   rclsid,\n                        REFIID     riid,\n                        void     **ppv);\n\n#endif\n"
  },
  {
    "path": "Addition/SyserDebugger/SDSymbol.h",
    "content": "#ifndef _SYSER_DEBUG_SYMBOLS_H_\n#define _SYSER_DEBUG_SYMBOLS_H_\n\n#define SECTION_ALIGN_SIZE (16)\ntypedef struct _SDBaseTypeName\n{\t\n\tDWORD Type;\n\tchar *Name;\n}SDBASETYPENAME;\n\nextern SDBASETYPENAME BaseTypeNameStruct[27];\n\nenum SDTYPEIDS \n{\n\tSD_BASIC = 0,\n\tSD_POINTER,\n\tSD_REFERENCE,\n\tSD_ARRAY,\n\tSD_MANAGED,\n\tSD_CUSTOM,\n\tSD_ENUMERATION,\n\tSD_STRUCT,\n\tSD_CLASS,\n\tSD_UNION,\n\tSD_TYPEDEF,\n\tSD_FUNCTIONTYPE,\n\tSD_UDT,\n\tSD_BASECLASS,\n\tSD_FRIEND,\n\tSD_VTABLE,\n\tSD_THUNK,\t\n\tSD_FUNCTIONDATA,\n\tSD_DATA,\n\tSD_BLOCK,\n\tSD_MAX_TYPEIDS,\n};\ntypedef struct stSDThunk\n{\n\tunion\n\t{\n\t\tchar *Name;\n\t\tDWORD StringTableIndex;\n\t}uName;\n\tDWORD thunkOrdinal;\n\tDWORD Rva;\n}SDTHUNK,*PSDTHUNK;\ntypedef struct _SDCallConventionPair\n{\n\tDWORD Type;\n\tchar* Name;\n}SDCALLCONVENTIONPAIR,*PSDCALLCONVENTIONPAIR;\ntypedef struct stSDPublicSymbol \n{\n\tunion\n\t{\n\t\tchar *Name;\n\t\tDWORD StringTableIndex;\n\t}uName;\n\tunion\n\t{\n\t\tchar *Name;\n\t\tDWORD StringTableIndex;\n\t}UndecoratedName;\n\tDWORD Rva;\n\tDWORD Length;\n\tDWORD LocationType:16;\n\tDWORD IsString:1;\n\tDWORD IsUnicodeString:1;\n\tDWORD IsExportEntry:1;\n\tDWORD IsImportEntry:1;\n\tDWORD IsMangedCode:1;\n\tDWORD IsMsil:1;\n\tDWORD IsFunction:1;\n\tDWORD IsInCode:1;\n\tDWORD IsVftable:1;\n\tDWORD IsComVftable:1;\n\tbool operator ==(const struct stSDPublicSymbol dest)const\n\t{\n\t\treturn Rva==dest.Rva;\n\t}\n\tbool operator <(const struct stSDPublicSymbol dest)const\n\t{\n\t\treturn Rva<dest.Rva;\n\t}\n}SDPUBLICSYMBOL,*PSDPUBLICSYMBOL;\ntypedef struct stSDVTable\n{\n\tDWORD TypeIdParentUDT;\n\tDWORD NumbersEntriesVTable;\n}SDVTABLE,*PSDVTABLE;\ntypedef struct stSDSegment\n{\n\tDWORD SegmentNumber;\n\tDWORD Offset;\n\tDWORD Length;\n\tDWORD RVA;\n\tDWORD IsRead:1;\n\tDWORD IsWrite:1;\n\tDWORD IsExecute:1;\n\tDWORD SectionNumber;\n\tULONGLONG VA;\n}SDSEGMENT,*PSDSEGMENT;\ntypedef struct stSDUDTDataItem\n{\n\tDWORD DataId;\n\tDWORD DataSize;\n\tunion{\n\t\tchar *Name;\n\t\tDWORD StringTableIndex;\n\t}uName\t;\n\tDWORD TypeIdParentUDT;\n\tDWORD TypeId;\n\tDWORD IsConstType:1;\n\tDWORD IsVolatileType:1;\n\tDWORD Access:14;\n\tDWORD Location:8;\n\tDWORD KindData:8;\n\tunion _VALUEUNION{\t\t\n\t\tstruct stLocIsStatic\n\t\t{\n\t\t\tDWORD Rva;\n\t\t}LOCISSTATIC;\n\t\tstruct stLocIsTLS \n\t\t{\n\t\t\tDWORD AddressSection; \n\t\t\tDWORD AddressOffset;\n\t\t}LOCISTLS;\n\t\tstruct stLocIsRegRel\n\t\t{\n\t\t\tDWORD Offset;\n\t\t\tDWORD Register;\n\t\t}LOCISREGREL;\n\t\tstruct stLocIsThisRel\n\t\t{\n\t\t\tDWORD Offset;\n\t\t}LOCISTHISREL;\n\t\tstruct stLocIsEnregistered \n\t\t{\n\t\t\tDWORD Register;\n\t\t}LOCISENREGISTERED;\n\t\tstruct stBitField\n\t\t{\n\t\t\tDWORD Position;\n\t\t\tDWORD Size;\n\t\t\tDWORD Offset;\n\t\t}LOCISBITFIELD;\n\t\tstruct stLocIsLot \n\t\t{\n\t\t\tDWORD Slot;\n\t\t}LOCISLOT;\n\t\tstruct stLocIslRel\n\t\t{\n\t\t\tLONG Offset;\n\t\t}LOCISLREL;\n\t\tstruct stLocInMetaData \n\t\t{\n\t\t\tDWORD Token;\n\t\t}LOCINMETADATA;\n\t\tunion stLocIsConstant\n\t\t{\n\t\t\tLONGLONG llValue;\n\t\t\tDWORD Value;\n\t\t}LOCISCONSTSNT;\n\t\t//82600235 - 38 21\n\t}u;\n}SDUDTDATAITEM,*PSDUDTDATAITEM;\n\ntypedef struct stSDFunctionDataItem\n{\n\tDWORD size;\n\tSDUDTDATAITEM DataItemArray[1];\n}SDFUNCTIONDATAITEM,*PSDFUNCTIONDATAITEM;\n\ntypedef struct stSDBlock\n{\t\n\tDWORD Rva;\n\tDWORD Len;\n\tDWORD DataCounter;\n\tDWORD pDataMember[1];\n}SDBLOCK,*PSDBLOCK;\n\ntypedef struct _stSDTYPE_INFILE\n{\n\tDWORD\t\tSize;\t\t\t//Լķļռֽڳ\n\tDWORD\t\tId;\t\t\t\t//ΨһһID\t\n\tDWORD\t\tTypeSize;       //͵ĳȡ  int 򳤶Ϊ  sizeof(int)\t\t\n\tunion{\n\t\tchar\t*Name;\t\t\t//͵֣udt Ϳû֡\n\t\tDWORD\tStringTableIndex;\t\n\t}uName;\t\n\tSDTYPEIDS\tType;\t\t\t//SD_BASIC SD_POINTER SD_REFERENCE SD_ARRAY SD_MANAGED SD_CUSTOM\n\t//SD_ENUMERATION SD_STRUCT SD_CLASS SD_UNION SD_TYPEDEF SD_FUNCTION  SD_UDT\n}SDTYPE_INFILE,*PSDTYPE_INFILE;\ntypedef struct stSDType\n{\n\tvoid\t\t*Self;\t\n\tvoid\t\t*Symbol;\n\tSDTYPE_INFILE SDTypeInfile;\n}SDTYPE,*PSDTYPE;\ntypedef struct stSDCustomType\n{\n}SDCUSTOMTYPE,*PSDCUSTOMTYPE;\ntypedef struct stManagedType\n{\n}SDMANAGEDTYPE,*PSDMANAGEDTYPE;\ntypedef struct stSDBaseType\n{\n\tDWORD BaseTypeID;\n}SDBASETYPE,*PSDBASETYPE;\ntypedef struct stSDFunctionType \n{\t\n\tDWORD ArgsCount:16;\n\tDWORD CallingConvention:16;\n\tDWORD TypeIDThisPointer;\n\tDWORD TypeIDReturnValue;\n\tDWORD ThisAdjust;\n\tDWORD TypeIDArgs[1];\n}SDFUNCTIONTYPE,*PSDFUNCTIONTYPE;\ntypedef struct stSDLabelItem\n{\n\tunion{\n\t\tchar *Name;\n\t\tDWORD MemberNameInStringTableIndex;\n\t}uName;\n\tDWORD Rva;\n}SDLABELITEM,*PSDLABELITEM;\ntypedef struct sdFunctionItem\n{\n\tunion{\n\t\tchar *Name;\n\t\tDWORD MemberNameInStringTableIndex;\n\t}uName;\t\n\tDWORD Location:16;\n\tDWORD Access:8;\n\tDWORD IsVirtual:1;\t\n\tDWORD IsPure:1;\n\tDWORD IsIntro:1;\n\tDWORD IsThunk:1;\n\tDWORD IsSystemExceptionHandling:1;\n\tDWORD IsCplusplusExceptionHandling:1;\n\tDWORD VirtualBaseOffset;\n\tDWORD Rva;\n\tDWORD DebugStart;\n\tDWORD DebugEnd;\n\tDWORD Size;\t\n\tDWORD ID;\n\tDWORD TypeID;\t\t\t\t//Ǻ\n\tDWORD TypeIDReturnValue;\t//Ǻֵ\n\tDWORD TypeIDParentUDT;\t\n\tDWORD DataCounter;\n\tunion{\n\t\tDWORD *pDataMember;\n\t\tDWORD DataMemberOffset;\n\t}pData;\n\tDWORD BlockCounter;\n\tunion{\n\t\tDWORD* pBlockTypeIdArray;\n\t\tDWORD BlockOffset;\n\t}pBlock;\n\tDWORD LabelCounter;\n\tunion{\n\t\tSDLABELITEM* pLabelArray;\n\t\tDWORD LabelOffset;\n\t}pLabel;\n}SDFUNCTIONITEM,*PSDFUNCTIONITEM;\n\ntypedef struct stSDUDTFriend\n{\n\tSDTYPEIDS Type;\n\tDWORD TypdeId;\n}SDUDTFRIEND,*PSDUDTFRIEND;\ntypedef struct stSDUDTVirtualTable\n{\n\tDWORD VTableSize;\n\tDWORD VTableRVA;\n\tDWORD VTBaseClassTypeID;\n}SDUDTVIRTUALTABLE,*PSDUDTVIRTUALTABLE;\n\ntypedef struct stSDUDTType\n{\t\t\n\tDWORD BaseClassCounter;\n\tDWORD FriendCounter;\n\tDWORD DataCounter;\n\tDWORD TypeIDParentUDT;\n\tDWORD IsConstructor:1;\n\tDWORD IsScoped:1;\n\tDWORD IsPacked:1;\n\tDWORD IsNested:1;\n\tDWORD HasNestedTypes:1;\n\tDWORD HasCastOperator:1;\n\tDWORD HasAssignmentOperator:1;\n\tDWORD HasOverloadedOperator:1;\n\tDWORD HasVirtualTable:1;\n\tDWORD IsNestedUnnamed:1;\n\tDWORD IsUnnamed:1;\n\tDWORD Reserved:9;\n\tDWORD VTableCount:12;\n\t//DWORD VTableSize;\n\t//DWORD VTableRVA;\n\tunion{\t\t\n\t\tPSDUDTVIRTUALTABLE pVTableMember;\n\t\tDWORD VTableMemberOffset;\n\t}pVTable;\n\tunion{\n\t\tDWORD* pBaseClassMember;\n\t\tDWORD BaseClassMemberOffset;\n\t}pBaseClass;\n\tunion{\n\t\tDWORD* pDataMember;\n\t\tDWORD DataMemberOffset;\n\t}pData;\n\tDWORD FunctionCounter;\n\tunion{\n\t\tDWORD* pFunctionMember;\n\t\tDWORD FunctionMemberOffset;\n\t}pFunction;\t\n\tunion{\n\t\tDWORD* pFriendMember;\n\t\tDWORD FriendMemberOffset;\n\t}pFriend;\n}SDUDTTYPE,SDSTRUCTTYPE,SDUNIONTYPE,SDCLASSTYPE,*PSDUDTTYPE,*PSDSTRUCTTYPE,*PSDUNIONTYPE,*PSDCLASSTYPE;\ntypedef struct stSDUDTBaseClass\n{\n\tDWORD TypeID;\n\tDWORD TypeIDParent;\n\tDWORD Access:16;\n\tDWORD bIsIndirectBaseClass:1;\n\tDWORD bIsVirtual:1;\n\tLONG Offset;\n\tDWORD VirtualBasePointerOffset;\n\tDWORD VirtualBaseDispIndex;\n}SDUDTBASECLASS,*PSDUDTBASECLASS;\n\ntypedef struct stSDPointerType\n{\n\tDWORD PointerDepth;\n\tDWORD NextPointer;\n\tDWORD TypeID;\t\n}SDPOINTERTYPE,*PSDPOINTERTYPE;\ntypedef struct stSDReferenceType \n{\n\tDWORD TypeID;\n}SDREFERENCETYPE,*PSDREFERENCETYPE;\ntypedef struct stSDTypedefType\n{\n\tDWORD TypeID;\n}SDTYPEDEFTYPE,*PSDTYPEDEFTYPE;\ntypedef struct stSDArrayIndex\n{\n\tDWORD TypeIDIndex;\n\tDWORD Size;\n}SDARRAYINDEX,*PSDARRAYINDEX;\ntypedef struct stSDArrayType\n{\n\tDWORD DimensionsSize;\n\tDWORD NextArrayID;\n\tDWORD TypeIDElement;\n\tSDARRAYINDEX Dimensions[1];\n}SDARRAYTYPE,*PSDARRAYTYPE;\ntypedef struct stEnumerationDataMember\n{\n\tunion{\n\t\tDWORD MemberNameInStringTableIndex;\n\t\tchar *Name;\n\t}u;\n\tULONGLONG Value;\n}ENUMERATIONDATAMEMBER,*PENUMERATIONDATAMEMBER;\n\ntypedef struct stSDEnumerationType\n{\n\tDWORD DataCount:30;\n\tDWORD IsNested:1;\n\tDWORD IsScoped:1;\n\tDWORD TypeID;\n\tENUMERATIONDATAMEMBER EnumerationDataMember[1];\n}SDENUMERATIONTYPE,*PSDENUMERATIONTYPE;\n\n\n\ntypedef struct stSDLine\n{\t\t\n\tDWORD Rva;\n\tDWORD Statement:1;\n\tDWORD CompilandId:15;\n\tDWORD FileID:16;\n\tDWORD LineNumber:16;\n\tDWORD Len:16;\n\tbool operator<(const struct stSDLine dest)\n\t{\n\t\treturn Rva<dest.Rva;\n\t}\n}SDLINE,*PSDLINE;\ntypedef struct stSDSourceFile\n{\t\n\tunion{\n\t\tchar *Name;\n\t\tDWORD MemberNameInStringTableIndex;\n\t}uName;\t\n\tDWORD FileID;\n\tDWORD LinesNumber;\t\n\tSDLINE  *pLines;\n}SDSOURCEFILE,*PSDSOURCEFILE;\n\ntypedef struct stSDCompiland\n{\n\tunion{\n\t\tchar *Name;\n\t\tDWORD MemberNameInStringTableIndex;\n\t}uName;\t\n\tDWORD CompilandId;\n\tDWORD SourceFileCounter;\n\tDWORD MaxRva;\n\tDWORD MinRva;\n\tSDSOURCEFILE SourceFile[1];\n}SDCOMPILAND,*PSDCOMPILAND;\n\ntypedef struct stSDSymbolDirectory\n{\n\tDWORD Offset;\n\tDWORD Size;\n}SDSYMBOLDIRECTORY;\ntypedef struct stSDImportTable\n{\n\tunion{\n\t\tchar* Name;\n\t\tDWORD StringTableIndex;\n\t}uName;\n\tDWORD ImportEntryNum;\n}SDIMPORTTABLE,*PSDIMPORTTABLE;\ntypedef struct stSDExportTable\n{\n\n}SDEXPORTTABLE,*PSDEXPORTTABLE;\ntypedef struct stSourceFileId\n{\n\tDWORD FileID;\n\tunion{\n\t\tchar *Name;\n\t\tDWORD MemberNameInStringTableIndex;\n\t}uName;\t\n\tDWORD OffsetAtFile;\n\tDWORD FileLen;\n}SDSOURCEFILEID,*PSDSOURCEFILEID;\n#define SYSER_DEBUG_SYMBOL_FILE_SIG ( ('S' << 24) + ('D' << 16) + ('S' << 8) + 'F' )\n#define SYSER_DEBUG_SYMBOL_FILE_VER ( (0 << 24) + (0 << 16) + (1 << 8) + 10)\ntypedef struct stSDSymbolFileStruct\n{\n\tDWORD Sig;\t\t\t\t\t\t\t\t\t\t//offset 00\t\t//\"SDSF\"    Syser Debug Symbol File\n\tDWORD Version;\t\t\t\t\t\t\t\t\t//offset 04\t\t//\"0.0.0.1\"\tVersion\n\tDWORD FileLen;\t\t\t\t\t\t\t\t\t//offset 08\t\t//ļļ\n\tDWORD SymbolTotalNum;\t\t\t\t\t\t\t//offset 0c\t\t//ܵķŵ\n\tunion _UnionSymbolTable{\n\t\tDWORD SymbolTableOffset;\n\t\tPSDTYPE_INFILE SymbolTablePointer;\n\t}UnionSymbolTable;\t\t\t\t\t\t\t\t//offset 10\t\t//ļеƫ\n\tunion _UnionSymbolIndexTable\n\t{\t\n\t\tDWORD SymbolIndexTableOffset;\t\t\t\t//offset 14\t\t//ƫļеλ\n\t\tPSDTYPE_INFILE* SymbolIndexTablePointer;\n\t}UnionSymbolIndexTable;\n\tDWORD LineNumberCounter;\t\t\t\t\t\t//offset 18\t\t//кŵ\n\tunion _UnionLineNumber{\n\t\tDWORD LineNumberOffset;\t\n\t\tPSDLINE pLineNumberTablePointer;\n\t}UnionLineNumber;\t\t\t\t\t\t\t\t//offset 1c\t\t//кļеƫ\t\t\t\t\t\t\t\t\t\t\t\n\t//DWORD FileNameOffset;\t\t\t\t\t\t\t//offset 20\t\t//PDBļص ִļ\n\tDWORD StringTotalNum;\t\t\t\t\t\t\t//offset 24\t\t//ַַ\n\tunion _UnionStringIndexTable\n\t{\n\t\tDWORD StringIndexTableOffset;\t\t\t\t\t//offset 28\t\t//ַļеλ\n\t\tchar** \tStringIndexTablePointer;\n\t}UnionStringIndexTable;\n\tunion _UnionStringTable\n\t{\n\t\tDWORD StringTableOffset;\t\t\t\t\t\t//offset 2c\t\t//ַļеλ\n\t\tchar*  StringTablePointer;\n\t}UnionStringTable;\n\tDWORD SourceFileCounter;\t\t\t\t\t\t//offset 30\t\t//ÿִļصԴļ\n\tunion _UnionSourceFileIDTable\n\t{\n\t\tDWORD SourceFileIDTableOffset;\t\t\t\t\t//offset 34\t\t//Դļṹļеλ\n\t\tPSDSOURCEFILEID SourceFileIDTablePointer;\n\t}UnionSourceFileIDTable;\n\tDWORD PublicSymbolCounter;\t\t\t\t\t\t//offset 38\t\t//÷ŵԪص\n\tunion _UnionPublicSymbol\n\t{\n\t\tDWORD PublicSymbolOffset;\t\t\t\t\t\t//offset 3c\t\t//÷ŵļеλ\n\t\tPSDPUBLICSYMBOL PublicSymbolPointer;\n\t}UnionPublicSymbol;\n\tunion _UniosCompiland\n\t{\n\t\tDWORD CompilandOffset;\t\t\t\t\t\t\t//offset 40\t\t//\n\t\tPSDCOMPILAND CompilandPointer;\n\t}UniosCompiland;\n\tDWORD CompilandCounter;\t\t\t\t\t\t\t//offset 44\t\t//\n\tDWORD DataInformationNum;\t\t\t\t\t\t//offset 48\t\t//Ϣ\n\tunion _UnionDataInformation\n\t{\n\t\tDWORD DataInformationOffset;\t\t\t\t\t//offset 4c\t\t//Ϣļеλ\n\t\tPSDUDTDATAITEM DataInformationPointer;\n\t}UnionDataInformation;\n\tunion _UnionDataInformationIndexTable\n\t{\n\t\tDWORD DataInformationIndexTableOffset;\t\t\t//offset 50\t\t//Ϣƫļеλ\n\t\tPSDUDTDATAITEM* DataInformationIndexTablePointer;\n\t}UnionDataInformationIndexTable;\n\tDWORD FunctionSymbolNum;\n\tunion _UnionFunctionSymbol\n\t{\n\t\tDWORD FunctionSymbolOffset;\n\t\tPSDFUNCTIONITEM FunctionSymbolPointer;\n\t}UnionFunctionSymbol;\n\tunion _UnionFunctionSymbolIndexTable\n\t{\n\t\tDWORD FunctionSymbolIndexTableOffset;\n\t\tPSDFUNCTIONITEM* FunctionSymbolIndexTablePointer;\n\t}UnionFunctionSymbolIndexTable;\n\tunion _UnionSourceFile\n\t{\n\t\tDWORD SourceFileOffset;\t\t\t\t\t\t//offset 54     //ԭļеĿʼλ\n\t\tchar* SourceFilePointer;\n\t}UnionSourceFile;\n\tstruct _UnionModuleID\n\t{\n\t\tDWORD TimeDateStamp;\t\t\t\t\t\t\t//offset 58\t\t//\n\t\tDWORD OrgPECheckSum;\t\t\t\t\t\t\t\t\t//offset 5c\t\t//ļЧ\n\t}ModuleID;\n\t\n\tDWORD SymbolDirectoryEntryNum;\t\t\t\t\t//offset 60\t\t//Ŀ¼ĸ\n\tunion UnionPEFileName{\n\t\tchar* PEFileName;\n\t\tDWORD PEFileNameOffset;\n\t}uPEFileName;\t\t\t\t\t\t\t\t\t//offset 64\n\tDWORD PEFileNameLen;\t\t\t\t\t\t\t//offset 68\n\tunion UnionPBDFileName{\n\t\tchar* PDBFileName;\n\t\tDWORD PDBFileNameOffset;\n\t}uPDBFileName;\t\t\t\t\t\t\t\t\t//offset 6c\n\tDWORD PDBFileNameLen;\t\t\t\t\t\t\t//offset 70\n\tunion UnionPEFileFullName{\n\t\tchar* PEFileFullName;\n\t\tDWORD PEFileFullNameOffset;\n\t}uPEFileFullName;\t\t\t\t\t\t\t\t//offset 74\n\tDWORD PEFileFullNameLen;\t\t\t\t\t\t//offset 78\n\tDWORD CheckSum;\t\n\tDWORD PackageSourceFileCounter;\t\t\t\t\t//SDSаʵʵԴļ\n\tSDSYMBOLDIRECTORY SymbolDirectory[SD_MAX_TYPEIDS];\n}SDSYMBOLFILE,*PSDSYMBOLFILE;\n\n#define SDSF_FILE_HEADER_SIZE (sizeof(SDSYMBOLFILE))\nenum{\n\tbtInt1=1*0x80,\n\tbtInt2=2*0x80,\n\tbtInt4=4*0x80,\n\tbtInt8=8*0x80,\n\tbtUint1=1*0x800,\n\tbtUint2=2*0x800,\n\tbtUint4=4*0x800,\n\tbtUint8=8*0x800,\n\tbtDouble=0x8000,\n};\n#endif /* _SYSER_DEBUG_SYMBOLS_H_ */\n"
  },
  {
    "path": "Addition/SyserDebugger/SyserBuildNumber.h",
    "content": "#define VER_PRODUCTBUILD_QFE      1000\n"
  },
  {
    "path": "Addition/SyserDebugger/SyserDebugger.h",
    "content": "#ifndef _SYSER_DEBUGGER_H_\n#define _SYSER_DEBUGGER_H_\n\nstruct SYSER_CMD_ENTRY\n{\n\tPCWSTR\tCmdStr;\n\tPCWSTR\tCmdCmt;\n\tvoid*\tCmdProc;\n\tPCWSTR\tCmdUsage;\n};\n\nstruct SYSER_CMD_USAGE_ENTRY\n{\n\tWCHAR*\tCmdStr;\n\tWCHAR*\tCmdCmt;\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////\n//Syser Debugger Plugin\ntypedef void\t(*FPGetInfo)(CHAR*szInfo);\ntypedef void*\t(*FPCreateDebugger)(void*UIObj);\ntypedef void\t(*FPGetFileFilter)(WCHAR*szFilter);\n//Syser Debugger Plugin\n///////////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef void\t(*PVFV) (void);\n\nstruct SYSER_PLUGIN_MODULE\n{\n\tWCHAR\t\t\tPluginInfo[32];\n\tPVFV\t\t\tfpOnDebuggerOpen;\n\tPVFV\t\t\tfpOnDebuggerClose;\n\tPVFV\t\t\tfpOnDebuggerPlunge;\n};\n\ntypedef void\t(*FPMenuProc)();\ntypedef int\t(*FPCmd)(int argc,PCWSTR argv[],PCWSTR szCommandLine,void*pUserData);\n\n//Syser Plugin User Interfacer\n\nclass CSyserPluginUI\n{\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Plugin\n\tvirtual\tbool\tRegisterPluginModule(PCWSTR ModuleName,SYSER_PLUGIN_MODULE*pPluginModule) = 0;\n\tvirtual\tbool\tUnregisterPluginModule(PCWSTR ModuleName) = 0;\n\t//Plugin\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Instruction\n\tvirtual int\t\tGetInstrLen(DWORD Address) = 0;\n\t//Instruction\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Symbol\n\tvirtual\tbool\tCalcExp(const WCHAR*szExp,DWORD*pResult) = 0;\n\t//Symbol\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Command\n\tvirtual bool\tInsertCmd(PCWSTR szCmd,FPCmd pCmdProc,void*pUserData,PCWSTR pComment,PCWSTR pUsage) = 0;\n\tvirtual void\tRemoveCmd(PCWSTR szCmd) = 0;\n\tvirtual int\t\tRunCmd(PCWSTR szCmd) = 0;\n\tvirtual void\tOutputf(PCWSTR szMsg,...) = 0;\n\tvirtual void\tOutput(PCDSTR szMsg) = 0;\n\t//Command\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//GUI\n\tvirtual\tvoid*\tInsertMenu(void*hParentMenu,const WCHAR*szMenuName,FPMenuProc fpMenuProc) = 0;\n\tvirtual\tbool\tRemoveMenu(void*hMenu) = 0;\n\tvirtual\tbool\tEnableMenu(void*hMenu,bool bEnable) = 0;\n\tvirtual\tvoid*\tGetMainTabWnd() = 0;\n\tvirtual\tvoid*\tGetMainMenu() = 0;\n\tvirtual\tvoid*\tGetWisp() = 0;\n\t//GUI\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n\t//GUI\n\tvirtual\tDWORD\tWriteMemory(DWORD Address,void*Buffer,DWORD Size) = 0;\n\tvirtual\tDWORD\tReadMemory(DWORD Address,void*Buffer,DWORD Size) = 0;\n\t//GUI\n\t///////////////////////////////////////////////////////////////////////////////////////////////////\n};\n\n#endif\n"
  },
  {
    "path": "Addition/SyserDebugger/SyserVersion.h",
    "content": "#ifndef _SYSER_VERSION_H_\n#define _SYSER_VERSION_H_  \n#include \"SyserBuildNumber.h\"\n\n#define VER_SPECIALBUILD_INFO \"$Rev: 1071 $\"\n\n \n#define VER_PRODUCTMAJORVERSION     1\n#define VER_PRODUCTMINORVERSION     99\n\n#define VER_PRODUCTBUILD            1900\n\n#define VER_PRODUCTBETA_STR         \"\"\n\n#define VER_PRODUCTVERSION_MAJORMINOR2(x,y) #x \".\" #y\n#define VER_PRODUCTVERSION_MAJORMINOR1(x,y) VER_PRODUCTVERSION_MAJORMINOR2(x, y)\n#define VER_PRODUCTVERSION_STRING   VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)\n\n#define VER_PRODUCTVERSION          VER_PRODUCTMAJORVERSION,VER_PRODUCTMINORVERSION,VER_PRODUCTBUILD,VER_PRODUCTBUILD_QFE\n#define VER_PRODUCTVERSION_W        ((VER_PRODUCTMAJORVERSION << 8)|VER_PRODUCTMINORVERSION)\n#define VER_PRODUCTVERSION_DW        ((VER_PRODUCTVERSION_W <<16) | VER_PRODUCTBUILD)\n\n#if     (VER_PRODUCTBUILD < 10)\n#define VER_BPAD \"000\"\n#elif   (VER_PRODUCTBUILD < 100)\n#define VER_BPAD \"00\"\n#elif   (VER_PRODUCTBUILD < 1000)\n#define VER_BPAD \"0\"\n#else\n#define VER_BPAD\n#endif\n\n#if     (VER_PRODUCTBUILD_QFE < 10)\n#define VER_BPAD_QFE \"000\"\n#elif   (VER_PRODUCTBUILD_QFE < 100)\n#define VER_BPAD_QFE \"00\"\n#elif   (VER_PRODUCTBUILD_QFE < 1000)\n#define VER_BPAD_QFE \"0\"\n#else\n#define VER_BPAD_QFE\n#endif\n\n#define VER_PRODUCTVERSION_STR2(x,y) VER_PRODUCTVERSION_STRING \".\" VER_BPAD #x \".\" VER_BPAD_QFE #y\n#define VER_PRODUCTVERSION_STR1(x,y) VER_PRODUCTVERSION_STR2(x, y)\n#define VER_PRODUCTVERSION_STR       VER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)\n\n\n#if DBG\n#define VER_DEBUG                   VS_FF_DEBUG\n#else\n#define VER_DEBUG                   0\n#endif\n \n/* default is prerelease */\n#if BETA\n#define VER_PRERELEASE              VS_FF_PRERELEASE\n#else\n#define VER_PRERELEASE              0\n#endif\n\n#if OFFICIAL_BUILD\n#define VER_PRIVATE                 0\n#else\n#define VER_PRIVATE                 VS_FF_PRIVATEBUILD\n#endif\n\n#define VER_FILEFLAGSMASK           VS_FFI_FILEFLAGSMASK\n#define VER_FILEOS                  VOS_NT_WINDOWS32\n#define VER_FILEFLAGS               (VER_PRERELEASE|VER_DEBUG|VER_PRIVATE)\n\n#define VER_COMPANYNAME_STR         \"Syser Software Corporation\"\n#define VER_PRODUCTNAME_STR         \"Syser Kernel Debugger for Windows\"\n#define VER_LEGALTRADEMARKS_STR     \"Syser (R) is a registered trademark of Syser Software Corporation.\"\n#define\tVER_LEGALCOPYRIGHT_STR\t\t\"Syser Software Corporation. All rights reserved.\" \n#define VER_FILEVERSION_STR   VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)\n\n#define\tVER_FILEVERSION\t\t\t\t\t\t\t\t\tVER_PRODUCTVERSION\n#endif //_SYSER_VERSION_H_\n\n\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_5.1.2600.2180.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct __unnamed /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned long\tSpare0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __cdecl *KernelRoutine)(struct _KAPC*,void( __cdecl **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __cdecl *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __cdecl *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned short\tWaitType;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x0018 */\tvoid*\tInitialStack;\n/* off 0x001c */\tvoid*\tStackLimit;\n/* off 0x0020 */\tvoid*\tTeb;\n/* off 0x0024 */\tvoid*\tTlsArray;\n/* off 0x0028 */\tvoid*\tKernelStack;\n/* off 0x002c */\tunsigned char\tDebugActive;\n/* off 0x002d */\tunsigned char\tState;\n/* off 0x002e */\tunsigned char Alerted[2];\n/* off 0x0030 */\tunsigned char\tIopl;\n/* off 0x0031 */\tunsigned char\tNpxState;\n/* off 0x0032 */\tchar\tSaturation;\n/* off 0x0033 */\tchar\tPriority;\n/* off 0x0034 */\tstruct _KAPC_STATE\tApcState;\n/* off 0x004c */\tunsigned long\tContextSwitches;\n/* off 0x0050 */\tunsigned char\tIdleSwapBlock;\n/* off 0x0051 */\tunsigned char Spare0[3];\n/* off 0x0054 */\tlong\tWaitStatus;\n/* off 0x0058 */\tunsigned char\tWaitIrql;\n/* off 0x0059 */\tchar\tWaitMode;\n/* off 0x005a */\tunsigned char\tWaitNext;\n/* off 0x005b */\tunsigned char\tWaitReason;\n/* off 0x005c */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0060 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0060 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0068 */\tunsigned long\tWaitTime;\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tunsigned char\tDecrementCount;\n/* off 0x006e */\tchar\tPriorityDecrement;\n/* off 0x006f */\tchar\tQuantum;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x00d0 */\tvoid*\tLegoData;\n/* off 0x00d4 */\tunsigned long\tKernelApcDisable;\n/* off 0x00d8 */\tunsigned long\tUserAffinity;\n/* off 0x00dc */\tunsigned char\tSystemAffinityActive;\n/* off 0x00dd */\tunsigned char\tPowerState;\n/* off 0x00de */\tunsigned char\tNpxIrql;\n/* off 0x00df */\tunsigned char\tInitialNode;\n/* off 0x00e0 */\tvoid*\tServiceTable;\n/* off 0x00e4 */\tstruct _KQUEUE*\tQueue;\n/* off 0x00e8 */\tunsigned long\tApcQueueLock;\n/* off 0x00f0 */\tstruct _KTIMER\tTimer;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tunsigned long\tSoftAffinity;\n/* off 0x0124 */\tunsigned long\tAffinity;\n/* off 0x0128 */\tunsigned char\tPreempted;\n/* off 0x0129 */\tunsigned char\tProcessReadyQueue;\n/* off 0x012a */\tunsigned char\tKernelStackResident;\n/* off 0x012b */\tunsigned char\tNextProcessor;\n/* off 0x012c */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tvoid*\tWin32Thread;\n/* off 0x0134 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0138 */\tstruct _KAPC_STATE* ApcStatePointer[2];\n/* off 0x0140 */\tchar\tPreviousMode;\n/* off 0x0141 */\tunsigned char\tEnableStackSwap;\n/* off 0x0142 */\tunsigned char\tLargeStack;\n/* off 0x0143 */\tunsigned char\tResourceIndex;\n/* off 0x0144 */\tunsigned long\tKernelTime;\n/* off 0x0148 */\tunsigned long\tUserTime;\n/* off 0x014c */\tstruct _KAPC_STATE\tSavedApcState;\n/* off 0x0164 */\tunsigned char\tAlertable;\n/* off 0x0165 */\tunsigned char\tApcStateIndex;\n/* off 0x0166 */\tunsigned char\tApcQueueable;\n/* off 0x0167 */\tunsigned char\tAutoAlignment;\n/* off 0x0168 */\tvoid*\tStackBase;\n/* off 0x016c */\tstruct _KAPC\tSuspendApc;\n/* off 0x019c */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01b0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01b8 */\tchar\tFreezeCount;\n/* off 0x01b9 */\tchar\tSuspendCount;\n/* off 0x01ba */\tunsigned char\tIdealProcessor;\n/* off 0x01bb */\tunsigned char\tDisableBoost;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\tstruct __unnamed\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long DirectoryTableBase[2];\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\n/* off 0x0060 */\tunsigned short\tStackCount;\n/* off 0x0062 */\tchar\tBasePriority;\n/* off 0x0063 */\tchar\tThreadQuantum;\n/* off 0x0064 */\tunsigned char\tAutoAlignment;\n/* off 0x0065 */\tunsigned char\tState;\n/* off 0x0066 */\tunsigned char\tThreadSeed;\n/* off 0x0067 */\tunsigned char\tDisableBoost;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tDisableQuantum;\n/* off 0x006a */\tunsigned char\tIdealNode;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tImportance;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __cdecl *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tunsigned long*\tLock;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned long\tTempSegCs;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __cdecl *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueContextSwapLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMaximumLock\t=0x0000000f\t,//0\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tstruct __unnamed\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long IdleHandlerReserved[4];\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tunsigned long\tIdle0KernelTimeLimit;\n/* off 0x0008 */\tunsigned long\tIdle0LastTime;\n/* off 0x000c */\tvoid*\tIdleHandlers;\n/* off 0x0010 */\tvoid*\tIdleState;\n/* off 0x0014 */\tunsigned long\tIdleHandlersCount;\n/* off 0x0018 */\tunsigned __int64\tLastCheck;\n/* off 0x0020 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0040 */\tunsigned long\tIdleTime1;\n/* off 0x0044 */\tunsigned long\tPromotionCheck;\n/* off 0x0048 */\tunsigned long\tIdleTime2;\n/* off 0x004c */\tunsigned char\tCurrentThrottle;\n/* off 0x004d */\tunsigned char\tThermalThrottleLimit;\n/* off 0x004e */\tunsigned char\tCurrentThrottleIndex;\n/* off 0x004f */\tunsigned char\tThermalThrottleIndex;\n/* off 0x0050 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0054 */\tunsigned long\tLastIdleThreadKernelTime;\n/* off 0x0058 */\tunsigned long\tPackageIdleStartTime;\n/* off 0x005c */\tunsigned long\tPackageIdleTime;\n/* off 0x0060 */\tunsigned long\tDebugCount;\n/* off 0x0064 */\tunsigned long\tLastSysTime;\n/* off 0x0068 */\tunsigned __int64 TotalIdleStateTime[3];\n/* off 0x0080 */\tunsigned long TotalIdleTransitions[3];\n/* off 0x0090 */\tunsigned __int64\tPreviousC3StateTime;\n/* off 0x0098 */\tunsigned char\tKneeThrottleIndex;\n/* off 0x0099 */\tunsigned char\tThrottleLimitIndex;\n/* off 0x009a */\tunsigned char\tPerfStatesCount;\n/* off 0x009b */\tunsigned char\tProcessorMinThrottle;\n/* off 0x009c */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x009d */\tunsigned char\tEnableIdleAccounting;\n/* off 0x009e */\tunsigned char\tLastC3Percentage;\n/* off 0x009f */\tunsigned char\tLastAdjustedBusyPercentage;\n/* off 0x00a0 */\tunsigned long\tPromotionCount;\n/* off 0x00a4 */\tunsigned long\tDemotionCount;\n/* off 0x00a8 */\tunsigned long\tErrorCount;\n/* off 0x00ac */\tunsigned long\tRetryCount;\n/* off 0x00b0 */\tunsigned long\tFlags;\n/* off 0x00b8 */\tunion _LARGE_INTEGER\tPerfCounterFrequency;\n/* off 0x00c0 */\tunsigned long\tPerfTickCount;\n/* off 0x00c8 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x00f0 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0110 */\tstruct PROCESSOR_PERF_STATE*\tPerfStates;\n/* off 0x0114 */\tlong( __fastcall *PerfSetThrottle)(unsigned char);\n/* off 0x0118 */\tunsigned long\tLastC3KernelUserTime;\n/* off 0x011c */\tunsigned long\tLastPackageIdleTime;\n};\nstruct _KPRCB /* sizeof 00000c50 3152 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tchar\tNumber;\n/* off 0x0011 */\tchar\tReserved;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\n/* off 0x001a */\tunsigned short\tCpuStep;\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned char PrcbPad0[92];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[16];\n/* off 0x0498 */\tunsigned char PrcbPad1[8];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDebugDpcTime;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned long\tSkipTick;\n/* off 0x04c8 */\tunsigned char\tMultiThreadSetBusy;\n/* off 0x04c9 */\tunsigned char Spare2[3];\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x04d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x04d8 */\tunsigned long ThreadStartCount[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x04fc */\tunsigned long\tKeContextSwitches;\n/* off 0x0500 */\tunsigned long\tKeDcacheFlushCount;\n/* off 0x0504 */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0508 */\tunsigned long\tKeFirstLevelTbFills;\n/* off 0x050c */\tunsigned long\tKeFloatingEmulationCount;\n/* off 0x0510 */\tunsigned long\tKeIcacheFlushCount;\n/* off 0x0514 */\tunsigned long\tKeSecondLevelTbFills;\n/* off 0x0518 */\tunsigned long\tKeSystemCalls;\n/* off 0x051c */\tunsigned long SpareCounter0[1];\n/* off 0x0520 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPNPagedLookasideList[32];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPPagedLookasideList[32];\n/* off 0x07a0 */\tunsigned long\tPacketBarrier;\n/* off 0x07a4 */\tunsigned long\tReverseStall;\n/* off 0x07a8 */\tvoid*\tIpiFrame;\n/* off 0x07ac */\tunsigned char PrcbPad2[52];\n/* off 0x07e0 */\tvoid* CurrentPacket[3];\n/* off 0x07ec */\tunsigned long\tTargetSet;\n/* off 0x07f0 */\tvoid( __cdecl *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x07f4 */\tunsigned long\tIpiFrozen;\n/* off 0x07f8 */\tunsigned char PrcbPad3[40];\n/* off 0x0820 */\tunsigned long\tRequestSummary;\n/* off 0x0824 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x0828 */\tunsigned char PrcbPad4[56];\n/* off 0x0860 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0868 */\tvoid*\tDpcStack;\n/* off 0x086c */\tunsigned long\tDpcCount;\n/* off 0x0870 */\tunsigned long\tDpcQueueDepth;\n/* off 0x0874 */\tunsigned long\tDpcRoutineActive;\n/* off 0x0878 */\tunsigned long\tDpcInterruptRequested;\n/* off 0x087c */\tunsigned long\tDpcLastCount;\n/* off 0x0880 */\tunsigned long\tDpcRequestRate;\n/* off 0x0884 */\tunsigned long\tMaximumDpcQueueDepth;\n/* off 0x0888 */\tunsigned long\tMinimumDpcRate;\n/* off 0x088c */\tunsigned long\tQuantumEnd;\n/* off 0x0890 */\tunsigned char PrcbPad5[16];\n/* off 0x08a0 */\tunsigned long\tDpcLock;\n/* off 0x08a4 */\tunsigned char PrcbPad6[28];\n/* off 0x08c0 */\tstruct _KDPC\tCallDpc;\n/* off 0x08e0 */\tvoid*\tChainedInterruptList;\n/* off 0x08e4 */\tlong\tLookasideIrpFloat;\n/* off 0x08e8 */\tunsigned long SpareFields0[6];\n/* off 0x0900 */\tunsigned char VendorString[13];\n/* off 0x090d */\tunsigned char\tInitialApicId;\n/* off 0x090e */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x0910 */\tunsigned long\tMHz;\n/* off 0x0914 */\tunsigned long\tFeatureBits;\n/* off 0x0918 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x0920 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x0b30 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable;\n};\nstruct _KNODE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tProcessorMask;\n/* off 0x0004 */\tunsigned long\tColor;\n/* off 0x0008 */\tunsigned long\tMmShiftedColor;\n/* off 0x000c */\tunsigned long FreeCount[2];\n/* off 0x0018 */\tunion _SLIST_HEADER\tDeadStackList;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x002c */\tunsigned char\tSeed;\n/* off 0x002d */\tstruct _flags\tFlags;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\n/* off 0x0028 */\tvoid*( __cdecl *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n/* off 0x002c */\tvoid( __cdecl *Free)(void*);\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct PROCESSOR_PERF_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tPercentFrequency;\n/* off 0x0001 */\tunsigned char\tMinCapacity;\n/* off 0x0002 */\tunsigned short\tPower;\n/* off 0x0004 */\tunsigned char\tIncreaseLevel;\n/* off 0x0005 */\tunsigned char\tDecreaseLevel;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tIncreaseTime;\n/* off 0x000c */\tunsigned long\tDecreaseTime;\n/* off 0x0010 */\tunsigned long\tIncreaseCount;\n/* off 0x0014 */\tunsigned long\tDecreaseCount;\n/* off 0x0018 */\tunsigned __int64\tPerformanceTime;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideMaximumList\t=0x00000007\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExclusive:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tShared:30\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tunsigned long\tShareCount;\n/* off 0x0018 */\tunsigned char\tExclusive;\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _ETHREAD /* sizeof 00000258 600 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\nunion\n{\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tCreateTime;\nstruct\n{\n/* off 0x01c0 */\tunsigned int\tNestedFaultCount:2\t /* start bit 0 */;\n/* off 0x01c0 */\tunsigned int\tApcNeeded:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tLpcReplyChain;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01d0 */\tlong\tExitStatus;\n/* off 0x01d0 */\tvoid*\tOfsChain;\n};\n/* off 0x01d4 */\tstruct _LIST_ENTRY\tPostBlockList;\nunion\n{\n/* off 0x01dc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01dc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01dc */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x01e0 */\tunsigned long\tActiveTimerListLock;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x01ec */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tLpcReplySemaphore;\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n};\nunion\n{\n/* off 0x0208 */\tvoid*\tLpcReplyMessage;\n/* off 0x0208 */\tvoid*\tLpcWaitingOnPort;\n};\n/* off 0x020c */\tstruct _PS_IMPERSONATION_INFORMATION*\tImpersonationInfo;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0218 */\tunsigned long\tTopLevelIrp;\n/* off 0x021c */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x0220 */\tstruct _EPROCESS*\tThreadsProcess;\n/* off 0x0224 */\tvoid*\tStartAddress;\nunion\n{\n/* off 0x0228 */\tvoid*\tWin32StartAddress;\n/* off 0x0228 */\tunsigned long\tLpcReceivedMessageId;\n};\n/* off 0x022c */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0234 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0238 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x023c */\tunsigned long\tLpcReplyMessageId;\n/* off 0x0240 */\tunsigned long\tReadClusterSize;\n/* off 0x0244 */\tunsigned long\tGrantedAccess;\nunion\n{\n/* off 0x0248 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tDeadThread:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x024c */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x024c */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x024c */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x024c */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x0250 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned char\tLpcReceivedMsgIdValid:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned char\tLpcExitThreadCalled:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned char\tAddressSpaceOwner:1\t /* start bit 2 */;\n};\n};\n/* off 0x0254 */\tunsigned char\tForwardClusterOnly;\n/* off 0x0255 */\tunsigned char\tDisablePageFaultClustering;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _PS_IMPERSONATION_INFORMATION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tToken;\n/* off 0x0004 */\tunsigned char\tCopyOnOpen;\n/* off 0x0005 */\tunsigned char\tEffectiveOnly;\n/* off 0x0008 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\tstruct __unnamed\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __cdecl *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __cdecl *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __cdecl *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __cdecl * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __cdecl *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __cdecl *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __cdecl *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __cdecl *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __cdecl *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __cdecl *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __cdecl *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __cdecl *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __cdecl *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __cdecl *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __cdecl *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __cdecl *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __cdecl *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct __unnamed\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tAcquireForSectionSynchronization;\n/* off 0x0000 */\tstruct __unnamed\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned short VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __cdecl *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __cdecl *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __cdecl *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __cdecl *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __cdecl *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __cdecl *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __cdecl *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __cdecl *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __cdecl *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __cdecl *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __cdecl *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __cdecl *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __cdecl *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __cdecl *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __cdecl *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __cdecl *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __cdecl *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __cdecl *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __cdecl *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __cdecl *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __cdecl *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __cdecl *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __cdecl *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __cdecl *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __cdecl *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __cdecl *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __cdecl *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingTrimmed:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSessionLeader:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tTrimHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tWorkingSetHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tAddressSpaceBeingDeleted:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tAvailable:10\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tAllowWorkingSetAdjustment:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tMemoryPriority:8\t /* start bit 24 */;\n};\nstruct _MMSUPPORT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tLastTrimTime;\n/* off 0x0008 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x000c */\tunsigned long\tPageFaultCount;\n/* off 0x0010 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0014 */\tunsigned long\tWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x001c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0020 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x002c */\tunsigned long\tClaim;\n/* off 0x0030 */\tunsigned long\tNextEstimationSlot;\n/* off 0x0034 */\tunsigned long\tNextAgingSlot;\n/* off 0x0038 */\tunsigned long\tEstimatedAvailable;\n/* off 0x003c */\tunsigned long\tGrowthSinceLastEstimate;\n};\nstruct _EPROCESS /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x006c */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0080 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0084 */\tvoid*\tUniqueProcessId;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x0090 */\tunsigned long QuotaUsage[3];\n/* off 0x009c */\tunsigned long QuotaPeak[3];\n/* off 0x00a8 */\tunsigned long\tCommitCharge;\n/* off 0x00ac */\tunsigned long\tPeakVirtualSize;\n/* off 0x00b0 */\tunsigned long\tVirtualSize;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00bc */\tvoid*\tDebugPort;\n/* off 0x00c0 */\tvoid*\tExceptionPort;\n/* off 0x00c4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00c8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00cc */\tstruct _FAST_MUTEX\tWorkingSetLock;\n/* off 0x00ec */\tunsigned long\tWorkingSetPage;\n/* off 0x00f0 */\tstruct _FAST_MUTEX\tAddressCreationLock;\n/* off 0x0110 */\tunsigned long\tHyperSpaceLock;\n/* off 0x0114 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x0118 */\tunsigned long\tHardwareTrigger;\n/* off 0x011c */\tvoid*\tVadRoot;\n/* off 0x0120 */\tvoid*\tVadHint;\n/* off 0x0124 */\tvoid*\tCloneRoot;\n/* off 0x0128 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x012c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0130 */\tvoid*\tWin32Process;\n/* off 0x0134 */\tstruct _EJOB*\tJob;\n/* off 0x0138 */\tvoid*\tSectionObject;\n/* off 0x013c */\tvoid*\tSectionBaseAddress;\n/* off 0x0140 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0144 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0148 */\tvoid*\tWin32WindowStation;\n/* off 0x014c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0150 */\tvoid*\tLdtInformation;\n/* off 0x0154 */\tvoid*\tVadFreeHint;\n/* off 0x0158 */\tvoid*\tVdmObjects;\n/* off 0x015c */\tvoid*\tDeviceMap;\n/* off 0x0160 */\tstruct _LIST_ENTRY\tPhysicalVadList;\nunion\n{\n/* off 0x0168 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0168 */\tunsigned __int64\tFiller;\n};\n/* off 0x0170 */\tvoid*\tSession;\n/* off 0x0174 */\tunsigned char ImageFileName[16];\n/* off 0x0184 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x018c */\tvoid*\tLockedPagesList;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0198 */\tvoid*\tSecurityPort;\n/* off 0x019c */\tvoid*\tPaeTop;\n/* off 0x01a0 */\tunsigned long\tActiveThreads;\n/* off 0x01a4 */\tunsigned long\tGrantedAccess;\n/* off 0x01a8 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01ac */\tlong\tLastThreadExitStatus;\n/* off 0x01b0 */\tstruct _PEB*\tPeb;\n/* off 0x01b4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01ec */\tunsigned long\tCommitChargePeak;\n/* off 0x01f0 */\tvoid*\tAweInfo;\n/* off 0x01f4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0238 */\tunsigned long\tLastFaultCount;\n/* off 0x023c */\tunsigned long\tModifiedPageCount;\n/* off 0x0240 */\tunsigned long\tNumberOfVads;\n/* off 0x0244 */\tunsigned long\tJobStatus;\nunion\n{\n/* off 0x0248 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0248 */\tunsigned long\tHasPhysicalVad:1\t /* start bit 9 */;\n/* off 0x0248 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0248 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0248 */\tunsigned long\tSessionCreationUnderway:1\t /* start bit 14 */;\n/* off 0x0248 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0248 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0248 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0248 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0248 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0248 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0248 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0248 */\tunsigned long\tUnused3:1\t /* start bit 22 */;\n/* off 0x0248 */\tunsigned long\tUnused4:1\t /* start bit 23 */;\n/* off 0x0248 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0248 */\tunsigned long\tUnused:5\t /* start bit 25 */;\n/* off 0x0248 */\tunsigned long\tUnused1:1\t /* start bit 30 */;\n/* off 0x0248 */\tunsigned long\tUnused2:1\t /* start bit 31 */;\n};\n};\n/* off 0x024c */\tlong\tExitStatus;\n/* off 0x0250 */\tunsigned short\tNextPageColor;\nunion\n{\nstruct\n{\n/* off 0x0252 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0253 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0252 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0254 */\tunsigned char\tPriorityClass;\n/* off 0x0255 */\tunsigned char\tWorkingSetAcquiredUnsafe;\n/* off 0x0258 */\tunsigned long\tCookie;\n};\nstruct _HANDLE_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK HandleTableLock[4];\n/* off 0x001c */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x0028 */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x002c */\tlong\tExtraInfoPages;\n/* off 0x0030 */\tunsigned long\tFirstFree;\n/* off 0x0034 */\tunsigned long\tLastFree;\n/* off 0x0038 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x003c */\tlong\tHandleCount;\nunion\n{\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0040 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00050004 327684 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentStackIndex;\n/* off 0x0004 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[4096];\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY OwnerThreads[2];\n/* off 0x0028 */\tunsigned long\tContentionCount;\n/* off 0x002c */\tunsigned short\tNumberOfSharedWaiters;\n/* off 0x002e */\tunsigned short\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nstruct _IO_COUNTERS /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tReadOperationCount;\n/* off 0x0008 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x0010 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x0018 */\tunsigned __int64\tReadTransferCount;\n/* off 0x0020 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0028 */\tunsigned __int64\tOtherTransferCount;\n};\nstruct _EJOB /* sizeof 00000180 384 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b4 */\tunsigned long\tSecurityLimitFlags;\n/* off 0x00b8 */\tvoid*\tToken;\n/* off 0x00bc */\tstruct _PS_JOB_TOKEN_FILTER*\tFilter;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tstruct _IO_COUNTERS\tIoInfo;\n/* off 0x0138 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x013c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0140 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0144 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0148 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x014c */\tstruct _FAST_MUTEX\tMemoryLimitsLock;\n/* off 0x016c */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0174 */\tunsigned long\tMemberLevel;\n/* off 0x0178 */\tunsigned long\tJobFlags;\n};\nstruct _PS_JOB_TOKEN_FILTER /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCapturedSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedSids;\n/* off 0x0008 */\tunsigned long\tCapturedSidsLength;\n/* off 0x000c */\tunsigned long\tCapturedGroupCount;\n/* off 0x0010 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedGroups;\n/* off 0x0014 */\tunsigned long\tCapturedGroupsLength;\n/* off 0x0018 */\tunsigned long\tCapturedPrivilegeCount;\n/* off 0x001c */\tstruct _LUID_AND_ATTRIBUTES*\tCapturedPrivileges;\n/* off 0x0020 */\tunsigned long\tCapturedPrivilegesLength;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _EPROCESS_QUOTA_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tUsage;\n/* off 0x0004 */\tunsigned long\tLimit;\n/* off 0x0008 */\tunsigned long\tPeak;\n/* off 0x000c */\tunsigned long\tReturn;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _EPROCESS_QUOTA_ENTRY QuotaEntry[3];\n/* off 0x0030 */\tstruct _LIST_ENTRY\tQuotaList;\n/* off 0x0038 */\tunsigned long\tReferenceCount;\n/* off 0x003c */\tunsigned long\tProcessCount;\n};\nstruct _PROCESS_WS_WATCH_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tFaultingPc;\n/* off 0x0004 */\tvoid*\tFaultingVa;\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentIndex;\n/* off 0x0004 */\tunsigned long\tMaxIndex;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tvoid*\tReserved;\n/* off 0x0010 */\tstruct _PROCESS_WS_WATCH_INFORMATION WatchInfo[1];\n};\nstruct _PEB /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\n/* off 0x0003 */\tunsigned char\tSpareBool;\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tFastPebLockRoutine;\n/* off 0x0024 */\tvoid*\tFastPebUnlockRoutine;\n/* off 0x0028 */\tunsigned long\tEnvironmentUpdateCount;\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tReadOnlySharedMemoryHeap;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tvoid*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __cdecl *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tvoid*\tActivationContextData;\n/* off 0x01fc */\tvoid*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tvoid*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tvoid*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000290 656 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long Spare[2];\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 0000069c 1692 */\n{\n/* off 0x0000 */\tunsigned long\tQuota;\n/* off 0x0004 */\tunsigned long\tFirstFree;\n/* off 0x0008 */\tunsigned long\tFirstDynamic;\n/* off 0x000c */\tunsigned long\tLastEntry;\n/* off 0x0010 */\tunsigned long\tNextSlot;\n/* off 0x0014 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNonDirectCount;\n/* off 0x0020 */\tstruct _MMWSLE_HASH*\tHashTable;\n/* off 0x0024 */\tunsigned long\tHashTableSize;\n/* off 0x0028 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x002c */\tvoid*\tHashTableStart;\n/* off 0x0030 */\tvoid*\tHighestPermittedHashAddress;\n/* off 0x0034 */\tunsigned long\tNumberOfImageWaiters;\n/* off 0x0038 */\tunsigned long\tVadBitMapHint;\n/* off 0x003c */\tunsigned short UsedPageTableEntries[768];\n/* off 0x063c */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n};\nstruct _MMWSLE_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct __unnamed\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\tstruct __unnamed\tOverlay;\n/* off 0x0038 */\tvoid( __cdecl *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\tstruct __unnamed\tTail;\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __cdecl *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject;\n/* off 0x0003 */\tunsigned char\tCaseInsensitive;\n/* off 0x0004 */\tunsigned long\tInvalidAttributes;\n/* off 0x0008 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0018 */\tunsigned long\tValidAccessMask;\n/* off 0x001c */\tunsigned char\tSecurityRequired;\n/* off 0x001d */\tunsigned char\tMaintainHandleCount;\n/* off 0x001e */\tunsigned char\tMaintainTypeList;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __cdecl *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __cdecl *OpenProcedure)(enum _OB_OPEN_REASON,struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x0034 */\tvoid( __cdecl *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __cdecl *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __cdecl *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __cdecl *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*);\n/* off 0x0044 */\tlong( __cdecl *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*);\n/* off 0x0048 */\tunsigned char( __cdecl *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000190 400 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _ERESOURCE ObjectLocks[4];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\tstruct __unnamed\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _VACB /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\tstruct __unnamed\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tAvailable:14\t /* start bit 18 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __cdecl *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tstruct _EX_PUSH_LOCK\tVacbPushLock;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __cdecl *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __cdecl *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __cdecl *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __cdecl *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n};\nstruct _HEAP /* sizeof 00000588 1416 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tForceFlags;\n/* off 0x0014 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0018 */\tunsigned long\tSegmentReserve;\n/* off 0x001c */\tunsigned long\tSegmentCommit;\n/* off 0x0020 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0024 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0028 */\tunsigned long\tTotalFreeSize;\n/* off 0x002c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0030 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0032 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0034 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0038 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x003a */\tunsigned short\tMaximumTagIndex;\n/* off 0x003c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0040 */\tstruct _HEAP_UCR_SEGMENT*\tUCRSegments;\n/* off 0x0044 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnusedUnCommittedRanges;\n/* off 0x0048 */\tunsigned long\tAlignRound;\n/* off 0x004c */\tunsigned long\tAlignMask;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x0058 */\tstruct _HEAP_SEGMENT* Segments[64];\n/* off 0x0158 */\tstruct __unnamed\tu;\n/* off 0x0168 */\tstruct __unnamed\tu2;\n/* off 0x016a */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x016c */\tunsigned long\tNonDedicatedListLength;\n/* off 0x0170 */\tvoid*\tLargeBlocksIndex;\n/* off 0x0174 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x0178 */\tstruct _LIST_ENTRY FreeLists[128];\n/* off 0x0578 */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x057c */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x0580 */\tvoid*\tFrontEndHeap;\n/* off 0x0584 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x0586 */\tunsigned char\tFrontEndHeapType;\n/* off 0x0587 */\tunsigned char\tLastSegmentIndex;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\tunsigned short TagName[24];\n};\nstruct _HEAP_UCR_SEGMENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UCR_SEGMENT*\tNext;\n/* off 0x0004 */\tunsigned long\tReservedSize;\n/* off 0x0008 */\tunsigned long\tCommittedSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_UNCOMMMTTED_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tAddress;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_SEGMENT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _HEAP*\tHeap;\n/* off 0x0014 */\tunsigned long\tLargestUnCommittedRange;\n/* off 0x0018 */\tvoid*\tBaseAddress;\n/* off 0x001c */\tunsigned long\tNumberOfPages;\n/* off 0x0020 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x0028 */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0030 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _HEAP_ENTRY*\tLastEntryInSegment;\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct __unnamed\tLock;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBucket;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFreeThreshold;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tHeapHandle;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLRUViewList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinViewList;\n/* off 0x0010 */\tunsigned long\tFileOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long*\tViewAddress;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tunsigned long\tUseCount;\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcessBilled;\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tvoid*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 00000110 272 */\n{\n/* off 0x0000 */\tunsigned long Nodes[2];\n/* off 0x0008 */\tunsigned long Resources[2];\n/* off 0x0010 */\tunsigned long Threads[2];\n/* off 0x0018 */\t__int64\tTimeAcquire;\n/* off 0x0020 */\t__int64\tTimeRelease;\n/* off 0x0028 */\tunsigned long\tBytesAllocated;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0030 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x0034 */\tunsigned long\tAllocationFailures;\n/* off 0x0038 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x003c */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x0040 */\tunsigned long\tNodesSearched;\n/* off 0x0044 */\tunsigned long\tMaxNodesSearched;\n/* off 0x0048 */\tunsigned long\tSequenceNumber;\n/* off 0x004c */\tunsigned long\tRecursionDepthLimit;\n/* off 0x0050 */\tunsigned long\tSearchedNodesLimit;\n/* off 0x0054 */\tunsigned long\tDepthLimitHits;\n/* off 0x0058 */\tunsigned long\tSearchLimitHits;\n/* off 0x005c */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tFreeResourceList;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tFreeThreadList;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tFreeNodeList;\n/* off 0x0078 */\tunsigned long\tFreeResourceCount;\n/* off 0x007c */\tunsigned long\tFreeThreadCount;\n/* off 0x0080 */\tunsigned long\tFreeNodeCount;\n/* off 0x0084 */\tvoid*\tInstigator;\n/* off 0x0088 */\tunsigned long\tNumberOfParticipants;\n/* off 0x008c */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x010c */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\tunsigned long\tActive:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tSequenceNumber:30\t /* start bit 2 */;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockFastMutex\t=0x00000002\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000003\t,//0\n\tVfDeadlockSpinLock\t=0x00000004\t,//0\n\tVfDeadlockQueuedSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nenum _PF_SCENARIO_TYPE\n{\n\tPfApplicationLaunchScenarioType\t=0x00000000\t,//0\n\tPfSystemBootScenarioType\t=0x00000001\t,//0\n\tPfMaxScenarioType\t=0x00000002\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _LARGE_CONTROL_AREA*\tLargeControlArea;\n/* off 0x0024 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0028 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _CONTROL_AREA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct _SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tWritableUserReferences;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\n/* off 0x0018 */\tstruct _MMPTE\tSegmentPteTemplate;\n/* off 0x001c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0020 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0024 */\tvoid*\tSystemImageBase;\n/* off 0x0028 */\tvoid*\tBasedAddress;\n/* off 0x002c */\tstruct __unnamed\tu1;\n/* off 0x0030 */\tstruct __unnamed\tu2;\n/* off 0x0034 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0038 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _EVENT_COUNTER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tRefCount;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tStartingSector;\n/* off 0x000c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0010 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0014 */\tunsigned long\tUnusedPtes;\n/* off 0x0018 */\tunsigned long\tPtesInSubsection;\n/* off 0x001c */\tstruct _SUBSECTION*\tNextSubsection;\n};\nstruct _LARGE_CONTROL_AREA /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n/* off 0x0030 */\tunsigned long\tStartingFrame;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tUserGlobalList;\n/* off 0x003c */\tunsigned long\tSessionId;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tNoCache:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tFloppyMedia:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tDebugSymbolsLoaded:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tHadUserReference:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tImageMappedInSystemSpace:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tfiller:2\t /* start bit 30 */;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tReadWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSubsectionStatic:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tLargePages:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tStartingSector4132:10\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tSectorEndOffset:12\t /* start bit 20 */;\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long Reserved[2];\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __cdecl *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short*\tName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0014 */\tunsigned char\tThreadFinished;\n/* off 0x0015 */\tunsigned char\tThreadStarted;\n/* off 0x0016 */\tunsigned char\tAllocate;\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _DUAL /* sizeof 000000dc 220 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _RTL_BITMAP FreeDisplay[24];\n/* off 0x00d0 */\tunsigned long\tFreeSummary;\n/* off 0x00d4 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __cdecl *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __cdecl *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __cdecl *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __cdecl *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __cdecl *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __cdecl *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __cdecl *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __cdecl *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned char\tRealWrites;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tLog;\n/* off 0x0044 */\tunsigned long\tHiveFlags;\n/* off 0x0048 */\tunsigned long\tLogSize;\n/* off 0x004c */\tunsigned long\tRefreshCount;\n/* off 0x0050 */\tunsigned long\tStorageTypeCount;\n/* off 0x0054 */\tunsigned long\tVersion;\n/* off 0x0058 */\tstruct _DUAL Storage[2];\n};\nstruct _CMHIVE /* sizeof 0000049c 1180 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x0210 */\tvoid* FileHandles[3];\n/* off 0x021c */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x022c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0230 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0234 */\tstruct _LIST_ENTRY\tLRUViewListHead;\n/* off 0x023c */\tstruct _LIST_ENTRY\tPinViewListHead;\n/* off 0x0244 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0248 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0250 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0258 */\tunsigned short\tMappedViews;\n/* off 0x025a */\tunsigned short\tPinnedViews;\n/* off 0x025c */\tunsigned long\tUseCount;\n/* off 0x0260 */\tunsigned long\tSecurityCount;\n/* off 0x0264 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0268 */\tlong\tSecurityHitHint;\n/* off 0x026c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0270 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0470 */\tstruct _KEVENT*\tUnloadEvent;\n/* off 0x0474 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x0478 */\tunsigned char\tFrozen;\n/* off 0x047c */\tstruct _WORK_QUEUE_ITEM*\tUnloadWorkItem;\n/* off 0x0480 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0484 */\tunsigned long\tGrowOffset;\n/* off 0x0488 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0490 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0498 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\tunsigned short Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\tunsigned short Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\tunsigned short KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tunsigned long Reserved1[99];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[894];\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned short\tRefCount;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0040 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0042 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0044 */\tunsigned long\tKcbMaxValueDataLen;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\tunsigned short Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\tunsigned short Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __cdecl *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _DEVICE_NODE /* sizeof 00000118 280 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x0018 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x001c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0020 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x0070 */\tunsigned long\tStateHistoryEntry;\n/* off 0x0074 */\tlong\tCompletionStatus;\n/* off 0x0078 */\tstruct _IRP*\tPendingIrp;\n/* off 0x007c */\tunsigned long\tFlags;\n/* off 0x0080 */\tunsigned long\tUserFlags;\n/* off 0x0084 */\tunsigned long\tProblem;\n/* off 0x0088 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x008c */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x0090 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x009c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00a4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00a8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00ac */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00b0 */\tunsigned long\tBusNumber;\n/* off 0x00b4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00b8 */\tunsigned long\tChildBusNumber;\n/* off 0x00bc */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00be */\tunsigned char\tRemovalPolicy;\n/* off 0x00bf */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00c0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x00d8 */\tunsigned short\tNoTranslatorMask;\n/* off 0x00da */\tunsigned short\tQueryTranslatorMask;\n/* off 0x00dc */\tunsigned short\tNoArbiterMask;\n/* off 0x00de */\tunsigned short\tQueryArbiterMask;\n/* off 0x00e0 */\tstruct __unnamed\tOverUsed1;\n/* off 0x00e4 */\tstruct __unnamed\tOverUsed2;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x00ec */\tunsigned long\tCapabilityFlags;\n/* off 0x00f0 */\tstruct __unnamed\tDockInfo;\n/* off 0x0100 */\tunsigned long\tDisableableDepends;\n/* off 0x0104 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x010c */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0114 */\tunsigned long\tDriverUnloadRetryCount;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tWakeNeeded;\n/* off 0x000d */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tvoid*\tNode;\n/* off 0x0018 */\tunsigned short*\tDeviceName;\n/* off 0x001c */\tunsigned short*\tDriverName;\n/* off 0x0020 */\tunsigned long\tChildCount;\n/* off 0x0024 */\tunsigned long\tActiveChild;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tstruct __unnamed\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\tstruct __unnamed\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00000d70 3440 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tDebugActive;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nstruct _MMCOLOR_TABLES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tvoid*\tBlink;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP*\tPagedPoolAllocationMap;\n/* off 0x0004 */\tstruct _RTL_BITMAP*\tEndOfPagedPoolBitmap;\n/* off 0x0008 */\tstruct _RTL_BITMAP*\tPagedPoolLargeSessionAllocationMap;\n/* off 0x000c */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x0010 */\tstruct _MMPTE*\tLastPteForPagedPool;\n/* off 0x0014 */\tstruct _MMPTE*\tNextPdeForPagedPoolExpansion;\n/* off 0x0018 */\tunsigned long\tPagedPoolHint;\n/* off 0x001c */\tunsigned long\tPagedPoolCommit;\n/* off 0x0020 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MMSESSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _FAST_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _FAST_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tchar*\tSystemSpaceViewStart;\n/* off 0x0028 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0034 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0038 */\tstruct _RTL_BITMAP*\tSystemSpaceBitMap;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001028 4136 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tunsigned long\tRunningAllocs;\n/* off 0x000c */\tunsigned long\tRunningDeAllocs;\n/* off 0x0010 */\tunsigned long\tTotalPages;\n/* off 0x0014 */\tunsigned long\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid*\tPendingFrees;\n/* off 0x0024 */\tlong\tPendingFreeDepth;\n/* off 0x0028 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001278 4728 */\n{\n/* off 0x0000 */\tunsigned long\tReferenceCount;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0010 */\tstruct _MM_SESSION_SPACE*\tGlobalVirtualAddress;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x001c */\tunsigned long\tNonPagedPoolBytes;\n/* off 0x0020 */\tunsigned long\tPagedPoolBytes;\n/* off 0x0024 */\tunsigned long\tNonPagedPoolAllocations;\n/* off 0x0028 */\tunsigned long\tPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tNonPagablePages;\n/* off 0x0030 */\tunsigned long\tCommittedPages;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0040 */\tstruct _MMPTE*\tPageTables;\n/* off 0x0044 */\tstruct _FAST_MUTEX\tPagedPoolMutex;\n/* off 0x0064 */\tvoid*\tPagedPoolStart;\n/* off 0x0068 */\tvoid*\tPagedPoolEnd;\n/* off 0x006c */\tstruct _MMPTE*\tPagedPoolBasePde;\n/* off 0x0070 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0094 */\tunsigned long\tColor;\n/* off 0x0098 */\tunsigned long\tProcessOutSwapCount;\n/* off 0x009c */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x00a4 */\tstruct _MMPTE*\tGlobalPteEntry;\n/* off 0x00a8 */\tunsigned long\tCopyOnWriteCount;\n/* off 0x00ac */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x00bc */\tunsigned long\tAttachCount;\n/* off 0x00c0 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x00d0 */\tstruct _EPROCESS*\tLastProcess;\n/* off 0x00d8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0118 */\tstruct _MMWSLE*\tWsle;\n/* off 0x011c */\tstruct _ERESOURCE\tWsLock;\n/* off 0x0154 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x015c */\tstruct _MMSESSION\tSession;\n/* off 0x0198 */\tstruct _DRIVER_OBJECT\tWin32KDriverObject;\n/* off 0x0240 */\tstruct _ETHREAD*\tWorkingSetLockOwner;\n/* off 0x0244 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x126c */\tlong\tProcessReferenceToSession;\n/* off 0x1270 */\tunsigned long\tLocaleId;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tFiller0:3\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHasWsLock:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tFiller:26\t /* start bit 6 */;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWritable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tWhichPool:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:20\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWhichPool:1\t /* start bit 31 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\tstruct __unnamed\tData;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char Spare[3];\nunion\n{\n/* off 0x0008 */\tstruct __unnamed\tBattery;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x007c */\tstruct _IRP*\tIrp;\n/* off 0x0080 */\tstruct _THERMAL_INFORMATION\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000003\t,//0\n\tPolicySetPowerStateAPI\t=0x00000004\t,//0\n\tPolicyImmediateDozeS4\t=0x00000005\t,//0\n\tPolicySystemIdle\t=0x00000006\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nstruct _PROCESSOR_POWER_POLICY_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned long\tDemoteLimit;\n/* off 0x0008 */\tunsigned long\tPromoteLimit;\n/* off 0x000c */\tunsigned char\tDemotePercent;\n/* off 0x000d */\tunsigned char\tPromotePercent;\n/* off 0x000e */\tunsigned char Spare[2];\n/* off 0x0010 */\tunsigned long\tAllowDemotion:1\t /* start bit 0 */;\n/* off 0x0010 */\tunsigned long\tAllowPromotion:1\t /* start bit 1 */;\n/* off 0x0010 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n};\nstruct _PROCESSOR_POWER_POLICY /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tDynamicThrottle;\n/* off 0x0005 */\tunsigned char Spare[3];\n/* off 0x0008 */\tunsigned long\tDisableCStates:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x000c */\tunsigned long\tPolicyCount;\n/* off 0x0010 */\tstruct _PROCESSOR_POWER_POLICY_INFO Policy[3];\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\tunsigned short Name[1];\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tSpare6\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tMaximumWaitReason\t=0x0000001b\t,//0\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __cdecl *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _KUSER_SHARED_DATA /* sizeof 00000338 824 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLow;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\tunsigned short NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long Reserved2[8];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\n/* off 0x02f0 */\tunsigned long\tTraceLogging;\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _MMVAD_LONG /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n/* off 0x0028 */\tstruct __unnamed\tu3;\n/* off 0x0030 */\tstruct __unnamed\tu4;\n};\nstruct _MMVAD /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPhysicalMapping:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tImageMap:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tUserPhysicalPages:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tWriteWatch:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartVpn;\n/* off 0x0004 */\tunsigned long\tEndVpn;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __cdecl *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tNumberOfPages;\n};\nstruct _PCI_SLOT_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct PCI_POWER_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0004 */\tenum _DEVICE_POWER_STATE\tCurrentDeviceState;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tSystemWakeLevel;\n/* off 0x000c */\tenum _DEVICE_POWER_STATE\tDeviceWakeLevel;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE SystemStateMapping[7];\n/* off 0x002c */\tstruct _IRP*\tWaitWakeIrp;\n/* off 0x0030 */\tvoid( __cdecl *SavedCancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tlong\tPaging;\n/* off 0x0038 */\tlong\tHibernate;\n/* off 0x003c */\tlong\tCrashDump;\n};\nunion PCI_HEADER_TYPE_DEPENDENT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\ttype0;\n/* off 0x0000 */\tstruct __unnamed\ttype1;\n/* off 0x0000 */\tstruct __unnamed\ttype2;\n};\nstruct _PCI_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAtom;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n};\nstruct _PM_SUPPORT /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRsvd2:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tD1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tD2:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPMED0:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tPMED1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tPMED2:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tPMED3Hot:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tPMED3Cold:1\t /* start bit 7 */;\n};\nstruct _PCI_PMC /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tVersion:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tPMEClock:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tRsvd1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tDeviceSpecificInitialization:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tRsvd2:2\t /* start bit 6 */;\n/* off 0x0001 */\tstruct _PM_SUPPORT\tSupport;\n};\nstruct _PCI_PDO_EXTENSION /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PCI_PDO_EXTENSION*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _PCI_SLOT_NUMBER\tSlot;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0028 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x002c */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x0030 */\tunsigned long\tBusInterfaceReferenceCount;\n/* off 0x0034 */\tunsigned long\tAgpInterfaceReferenceCount;\n/* off 0x0038 */\tunsigned short\tVendorId;\n/* off 0x003a */\tunsigned short\tDeviceId;\n/* off 0x003c */\tunsigned short\tSubsystemVendorId;\n/* off 0x003e */\tunsigned short\tSubsystemId;\n/* off 0x0040 */\tunsigned char\tRevisionId;\n/* off 0x0041 */\tunsigned char\tProgIf;\n/* off 0x0042 */\tunsigned char\tSubClass;\n/* off 0x0043 */\tunsigned char\tBaseClass;\n/* off 0x0044 */\tunsigned char\tAdditionalResourceCount;\n/* off 0x0045 */\tunsigned char\tAdjustedInterruptLine;\n/* off 0x0046 */\tunsigned char\tInterruptPin;\n/* off 0x0047 */\tunsigned char\tRawInterruptLine;\n/* off 0x0048 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0049 */\tunsigned char\tSavedLatencyTimer;\n/* off 0x004a */\tunsigned char\tSavedCacheLineSize;\n/* off 0x004b */\tunsigned char\tHeaderType;\n/* off 0x004c */\tunsigned char\tNotPresent;\n/* off 0x004d */\tunsigned char\tReportedMissing;\n/* off 0x004e */\tunsigned char\tExpectedWritebackFailure;\n/* off 0x004f */\tunsigned char\tNoTouchPmeEnable;\n/* off 0x0050 */\tunsigned char\tLegacyDriver;\n/* off 0x0051 */\tunsigned char\tUpdateHardware;\n/* off 0x0052 */\tunsigned char\tMovedDevice;\n/* off 0x0053 */\tunsigned char\tDisablePowerDown;\n/* off 0x0054 */\tunsigned char\tNeedsHotPlugConfiguration;\n/* off 0x0055 */\tunsigned char\tSwitchedIDEToNativeMode;\n/* off 0x0056 */\tunsigned char\tBIOSAllowsIDESwitchToNativeMode;\n/* off 0x0057 */\tunsigned char\tIoSpaceUnderNativeIdeControl;\n/* off 0x0058 */\tunsigned char\tOnDebugPath;\n/* off 0x005c */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x009c */\tunion PCI_HEADER_TYPE_DEPENDENT\tDependent;\n/* off 0x00a0 */\tunsigned __int64\tHackFlags;\n/* off 0x00a8 */\tstruct PCI_FUNCTION_RESOURCES*\tResources;\n/* off 0x00ac */\tstruct _PCI_FDO_EXTENSION*\tBridgeFdoExtension;\n/* off 0x00b0 */\tstruct _PCI_PDO_EXTENSION*\tNextBridge;\n/* off 0x00b4 */\tstruct _PCI_PDO_EXTENSION*\tNextHashEntry;\n/* off 0x00b8 */\tstruct _PCI_LOCK\tLock;\n/* off 0x00c0 */\tstruct _PCI_PMC\tPowerCapabilities;\n/* off 0x00c2 */\tunsigned char\tTargetAgpCapabilityId;\n/* off 0x00c4 */\tunsigned short\tCommandEnables;\n/* off 0x00c6 */\tunsigned short\tInitialCommand;\n};\nenum PCI_SIGNATURE\n{\n\tPciPdoExtensionType\t=0x69635030\t,//0\n\tPciFdoExtensionType\t=0x69635031\t,//0\n\tPciArb_Io\t=0x69635032\t,//0\n\tPciArb_Memory\t=0x69635033\t,//0\n\tPciArb_Interrupt\t=0x69635034\t,//0\n\tPciArb_BusNumber\t=0x69635035\t,//0\n\tPciTrans_Interrupt\t=0x69635036\t,//0\n\tPciInterface_BusHandler\t=0x69635037\t,//0\n\tPciInterface_IntRouteHandler\t=0x69635038\t,//0\n\tPciInterface_PciCb\t=0x69635039\t,//0\n\tPciInterface_LegacyDeviceDetection\t=0x6963503a\t,//0\n\tPciInterface_PmeHandler\t=0x6963503b\t,//0\n\tPciInterface_DevicePresent\t=0x6963503c\t,//0\n\tPciInterface_NativeIde\t=0x6963503d\t,//0\n\tPciInterface_AgpTarget\t=0x6963503e\t,//0\n};\nstruct _PCI_MJ_DISPATCH_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tPnpIrpMaximumMinorFunction;\n/* off 0x0004 */\tstruct _PCI_MN_DISPATCH_TABLE*\tPnpIrpDispatchTable;\n/* off 0x0008 */\tunsigned long\tPowerIrpMaximumMinorFunction;\n/* off 0x000c */\tstruct _PCI_MN_DISPATCH_TABLE*\tPowerIrpDispatchTable;\n/* off 0x0010 */\tenum _PCI_DISPATCH_STYLE\tSystemControlIrpDispatchStyle;\n/* off 0x0014 */\tlong( __cdecl *SystemControlIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n/* off 0x0018 */\tenum _PCI_DISPATCH_STYLE\tOtherIrpDispatchStyle;\n/* off 0x001c */\tlong( __cdecl *OtherIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nstruct _PCI_MN_DISPATCH_TABLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum _PCI_DISPATCH_STYLE\tDispatchStyle;\n/* off 0x0004 */\tlong( __cdecl *DispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nenum _PCI_DISPATCH_STYLE\n{\n\tIRP_COMPLETE\t=0x00000000\t,//0\n\tIRP_DOWNWARD\t=0x00000001\t,//0\n\tIRP_UPWARD\t=0x00000002\t,//0\n\tIRP_DISPATCH\t=0x00000003\t,//0\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\tstruct __unnamed\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __cdecl *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _PCI_COMMON_EXTENSION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n};\nstruct _PCI_FDO_EXTENSION /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tFunctionalDeviceObject;\n/* off 0x0028 */\tstruct _DEVICE_OBJECT*\tAttachedDeviceObject;\n/* off 0x002c */\tstruct _KEVENT\tChildListLock;\n/* off 0x003c */\tstruct _PCI_PDO_EXTENSION*\tChildPdoList;\n/* off 0x0040 */\tstruct _PCI_FDO_EXTENSION*\tBusRootFdoExtension;\n/* off 0x0044 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x0048 */\tstruct _PCI_PDO_EXTENSION*\tChildBridgePdoList;\n/* off 0x004c */\tstruct _PCI_BUS_INTERFACE_STANDARD*\tPciBusInterface;\n/* off 0x0050 */\tunsigned char\tMaxSubordinateBus;\n/* off 0x0054 */\tstruct _BUS_HANDLER*\tBusHandler;\n/* off 0x0058 */\tunsigned char\tBaseBus;\n/* off 0x0059 */\tunsigned char\tFake;\n/* off 0x005a */\tunsigned char\tChildDelete;\n/* off 0x005b */\tunsigned char\tScanned;\n/* off 0x005c */\tunsigned char\tArbitersInitialized;\n/* off 0x005d */\tunsigned char\tBrokenVideoHackApplied;\n/* off 0x005e */\tunsigned char\tHibernated;\n/* off 0x0060 */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x00a0 */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x00a4 */\tunsigned long\tChildWaitWakeCount;\n/* off 0x00a8 */\tstruct _PCI_COMMON_CONFIG*\tPreservedConfig;\n/* off 0x00ac */\tstruct _PCI_LOCK\tLock;\n/* off 0x00b4 */\tstruct __unnamed\tHotPlugParameters;\n/* off 0x00bc */\tunsigned long\tBusHackFlags;\n};\nstruct _PCI_BUS_INTERFACE_STANDARD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __cdecl *ReadConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0014 */\tunsigned long( __cdecl *WriteConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0018 */\tvoid( __cdecl *PinToLine)(void*,struct _PCI_COMMON_CONFIG*);\n/* off 0x001c */\tvoid( __cdecl *LineToPin)(void*,struct _PCI_COMMON_CONFIG*,struct _PCI_COMMON_CONFIG*);\n};\nstruct _PCI_COMMON_CONFIG /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned short\tCommand;\n/* off 0x0006 */\tunsigned short\tStatus;\n/* off 0x0008 */\tunsigned char\tRevisionID;\n/* off 0x0009 */\tunsigned char\tProgIf;\n/* off 0x000a */\tunsigned char\tSubClass;\n/* off 0x000b */\tunsigned char\tBaseClass;\n/* off 0x000c */\tunsigned char\tCacheLineSize;\n/* off 0x000d */\tunsigned char\tLatencyTimer;\n/* off 0x000e */\tunsigned char\tHeaderType;\n/* off 0x000f */\tunsigned char\tBIST;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0040 */\tunsigned char DeviceSpecific[192];\n};\nstruct _BUS_HANDLER /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tenum _BUS_DATA_TYPE\tConfigurationType;\n/* off 0x000c */\tunsigned long\tBusNumber;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tstruct _BUS_HANDLER*\tParentHandler;\n/* off 0x0018 */\tvoid*\tBusData;\n/* off 0x001c */\tunsigned long\tDeviceControlExtensionSize;\n/* off 0x0020 */\tstruct _SUPPORTED_RANGES*\tBusAddresses;\n/* off 0x0024 */\tunsigned long Reserved[4];\n/* off 0x0034 */\tunsigned long( __cdecl *GetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0038 */\tunsigned long( __cdecl *SetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x003c */\tlong( __cdecl *AdjustResourceList)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _IO_RESOURCE_REQUIREMENTS_LIST**);\n/* off 0x0040 */\tlong( __cdecl *AssignSlotResources)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _UNICODE_STRING*,struct _UNICODE_STRING*,struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*,unsigned long,struct _CM_RESOURCE_LIST**);\n/* off 0x0044 */\tunsigned long( __cdecl *GetInterruptVector)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,unsigned long,unsigned char*,unsigned long*);\n/* off 0x0048 */\tunsigned char( __cdecl *TranslateBusAddress)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,union _LARGE_INTEGER,unsigned long*,union _LARGE_INTEGER*);\n/* off 0x004c */\tvoid*\tSpare1;\n/* off 0x0050 */\tvoid*\tSpare2;\n/* off 0x0054 */\tvoid*\tSpare3;\n/* off 0x0058 */\tvoid*\tSpare4;\n/* off 0x005c */\tvoid*\tSpare5;\n/* off 0x0060 */\tvoid*\tSpare6;\n/* off 0x0064 */\tvoid*\tSpare7;\n/* off 0x0068 */\tvoid*\tSpare8;\n};\nenum _BUS_DATA_TYPE\n{\n\tConfigurationSpaceUndefined\t=0xffffffff\t,//-1\n\tCmos\t=0x00000000\t,//0\n\tEisaConfiguration\t=0x00000001\t,//0\n\tPos\t=0x00000002\t,//0\n\tCbusConfiguration\t=0x00000003\t,//0\n\tPCIConfiguration\t=0x00000004\t,//0\n\tVMEConfiguration\t=0x00000005\t,//0\n\tNuBusConfiguration\t=0x00000006\t,//0\n\tPCMCIAConfiguration\t=0x00000007\t,//0\n\tMPIConfiguration\t=0x00000008\t,//0\n\tMPSAConfiguration\t=0x00000009\t,//0\n\tPNPISAConfiguration\t=0x0000000a\t,//0\n\tSgiInternalConfiguration\t=0x0000000b\t,//0\n\tMaximumBusDataType\t=0x0000000c\t,//0\n};\nstruct _SUPPORTED_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _SUPPORTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tSystemAddressSpace;\n/* off 0x0008 */\t__int64\tSystemBase;\n/* off 0x0010 */\t__int64\tBase;\n/* off 0x0018 */\t__int64\tLimit;\n};\nstruct _SUPPORTED_RANGES /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tSorted;\n/* off 0x0003 */\tunsigned char\tReserved;\n/* off 0x0004 */\tunsigned long\tNoIO;\n/* off 0x0008 */\tstruct _SUPPORTED_RANGE\tIO;\n/* off 0x0028 */\tunsigned long\tNoMemory;\n/* off 0x0030 */\tstruct _SUPPORTED_RANGE\tMemory;\n/* off 0x0050 */\tunsigned long\tNoPrefetchMemory;\n/* off 0x0058 */\tstruct _SUPPORTED_RANGE\tPrefetchMemory;\n/* off 0x0078 */\tunsigned long\tNoDma;\n/* off 0x0080 */\tstruct _SUPPORTED_RANGE\tDma;\n};\nstruct PCI_FUNCTION_RESOURCES /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _IO_RESOURCE_DESCRIPTOR Limit[7];\n/* off 0x00e0 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7];\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\tstruct __unnamed\tAllocated;\n/* off 0x0010 */\tstruct __unnamed\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __cdecl *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct __unnamed\tParameters;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\tstruct __unnamed\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tunsigned short\tReserved;\n/* off 0x00a2 */\tunsigned short\tSymbolicLinkUsageCount;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _KINTERRUPT /* sizeof 000001e4 484 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __cdecl *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tvoid*\tServiceContext;\n/* off 0x0014 */\tunsigned long\tSpinLock;\n/* off 0x0018 */\tunsigned long\tTickCount;\n/* off 0x001c */\tunsigned long*\tActualLock;\n/* off 0x0020 */\tvoid( __cdecl *DispatchAddress)();\n/* off 0x0024 */\tunsigned long\tVector;\n/* off 0x0028 */\tunsigned char\tIrql;\n/* off 0x0029 */\tunsigned char\tSynchronizeIrql;\n/* off 0x002a */\tunsigned char\tFloatingSave;\n/* off 0x002b */\tunsigned char\tConnected;\n/* off 0x002c */\tchar\tNumber;\n/* off 0x002d */\tunsigned char\tShareVector;\n/* off 0x0030 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0034 */\tunsigned long\tServiceCount;\n/* off 0x0038 */\tunsigned long\tDispatchCount;\n/* off 0x003c */\tunsigned long DispatchCode[106];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nstruct PCI_SECONDARY_EXTENSION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tvoid( __cdecl *Destructor)(void*);\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 0000009c 156 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tint\tResourceType;\n/* off 0x0010 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x0018 */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0020 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x0028 */\tlong\tReferenceCount;\n/* off 0x002c */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0030 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0034 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x0038 */\tlong( __cdecl *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned long*,unsigned long*);\n/* off 0x003c */\tlong( __cdecl *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0040 */\tlong( __cdecl *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned long*);\n/* off 0x0044 */\tlong( __cdecl *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x0048 */\tlong( __cdecl *TestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x004c */\tlong( __cdecl *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0050 */\tlong( __cdecl *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0054 */\tlong( __cdecl *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __cdecl *BootAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x005c */\tlong( __cdecl *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0060 */\tlong( __cdecl *QueryConflict)(struct _ARBITER_INSTANCE*,struct _DEVICE_OBJECT*,struct _IO_RESOURCE_DESCRIPTOR*,unsigned long*,struct _ARBITER_CONFLICT_INFO**);\n/* off 0x0064 */\tlong( __cdecl *AddReserved)(struct _ARBITER_INSTANCE*,struct _IO_RESOURCE_DESCRIPTOR*,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0068 */\tlong( __cdecl *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x006c */\tlong( __cdecl *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0070 */\tlong( __cdecl *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tunsigned char( __cdecl *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __cdecl *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tvoid( __cdecl *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __cdecl *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tunsigned char( __cdecl *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char\tTransactionInProgress;\n/* off 0x008c */\tvoid*\tExtension;\n/* off 0x0090 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x0094 */\tvoid*\tConflictCallbackContext;\n/* off 0x0098 */\tunsigned char( __cdecl *ConflictCallback)(void*,struct _RTL_RANGE*);\n};\nstruct _PCI_ARBITER_INSTANCE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tstruct PCI_SECONDARY_EXTENSION\tHeader;\n/* off 0x000c */\tstruct _PCI_INTERFACE*\tInterface;\n/* off 0x0010 */\tstruct _PCI_FDO_EXTENSION*\tBusFdoExtension;\n/* off 0x0014 */\tunsigned short InstanceName[24];\n/* off 0x0044 */\tstruct _ARBITER_INSTANCE\tCommonInstance;\n};\nstruct _PCI_INTERFACE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n/* off 0x0004 */\tunsigned short\tMinSize;\n/* off 0x0006 */\tunsigned short\tMinVersion;\n/* off 0x0008 */\tunsigned short\tMaxVersion;\n/* off 0x000a */\tunsigned short\tFlags;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tenum PCI_SIGNATURE\tSignature;\n/* off 0x0014 */\tlong( __cdecl *Constructor)(void*,void*,void*,unsigned short,unsigned short,struct _INTERFACE*);\n/* off 0x0018 */\tlong( __cdecl *Initializer)(struct _PCI_ARBITER_INSTANCE*);\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned long\tLength;\n/* off 0x0014 */\tunsigned long\tAlignment;\n/* off 0x0018 */\tlong\tPriority;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x0024 */\tunsigned long Reserved[3];\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _MMPAGING_FILE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tCurrentUsage;\n/* off 0x0014 */\tunsigned long\tPeakUsage;\n/* off 0x0018 */\tunsigned long\tHint;\n/* off 0x001c */\tunsigned long\tHighestPage;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0028 */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x0038 */\tunsigned long\tPageFileNumber;\n/* off 0x003c */\tunsigned char\tExtended;\n/* off 0x003d */\tunsigned char\tHintSetToZero;\n/* off 0x003e */\tunsigned char\tBootPartition;\n/* off 0x0040 */\tvoid*\tFileHandle;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _IRP*\tIrp;\n/* off 0x001c */\tunsigned long\tLastPageToWrite;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_LISTHEAD*\tPagingListHead;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tCurrentList;\n/* off 0x0028 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0034 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0038 */\tstruct _MDL\tMdl;\n/* off 0x0054 */\tunsigned long Page[1];\n};\nstruct _MMMOD_WRITER_LISTHEAD /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nenum _MEMORY_TYPE\n{\n\tMemoryExceptionBlock\t=0x00000000\t,//0\n\tMemorySystemBlock\t=0x00000001\t,//0\n\tMemoryFree\t=0x00000002\t,//0\n\tMemoryBad\t=0x00000003\t,//0\n\tMemoryLoadedProgram\t=0x00000004\t,//0\n\tMemoryFirmwareTemporary\t=0x00000005\t,//0\n\tMemoryFirmwarePermanent\t=0x00000006\t,//0\n\tMemoryFreeContiguous\t=0x00000007\t,//0\n\tMemorySpecialMemory\t=0x00000008\t,//0\n\tMemoryMaximum\t=0x00000009\t,//0\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\n/* off 0x0023 */\tunsigned char\tSpare1;\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long Reserved[1];\n};\nstruct _POP_IDLE_HANDLER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tLatency;\n/* off 0x0004 */\tunsigned long\tTimeCheck;\n/* off 0x0008 */\tunsigned long\tDemoteLimit;\n/* off 0x000c */\tunsigned long\tPromoteLimit;\n/* off 0x0010 */\tunsigned long\tPromoteCount;\n/* off 0x0014 */\tunsigned char\tDemote;\n/* off 0x0015 */\tunsigned char\tPromote;\n/* off 0x0016 */\tunsigned char\tPromotePercent;\n/* off 0x0017 */\tunsigned char\tDemotePercent;\n/* off 0x0018 */\tunsigned char\tState;\n/* off 0x0019 */\tunsigned char Spare[3];\n/* off 0x001c */\tunsigned char( __fastcall *IdleFunction)(struct PROCESSOR_IDLE_TIMES*);\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char spare2[4];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _SEP_AUDIT_POLICY_CATEGORIES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSystem:4\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLogon:4\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tObjectAccess:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tPrivilegeUse:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDetailedTracking:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tPolicyChange:4\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tAccountManagement:4\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tDirectoryServiceAccess:4\t /* start bit 28 */;\n/* off 0x0004 */\tunsigned long\tAccountLogon:4\t /* start bit 0 */;\n};\nstruct _SEP_AUDIT_POLICY_OVERLAY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicyBits:36\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tSetBit:1\t /* start bit 36 */;\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_CATEGORIES\tPolicyElements;\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_OVERLAY\tPolicyOverlay;\n/* off 0x0000 */\tunsigned __int64\tOverlay;\n};\n};\nstruct _TOKEN /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0038 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0040 */\tstruct _LUID\tModifiedId;\n/* off 0x0048 */\tunsigned long\tSessionId;\n/* off 0x004c */\tunsigned long\tUserAndGroupCount;\n/* off 0x0050 */\tunsigned long\tRestrictedSidCount;\n/* off 0x0054 */\tunsigned long\tPrivilegeCount;\n/* off 0x0058 */\tunsigned long\tVariableLength;\n/* off 0x005c */\tunsigned long\tDynamicCharged;\n/* off 0x0060 */\tunsigned long\tDynamicAvailable;\n/* off 0x0064 */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0068 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x006c */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0070 */\tvoid*\tPrimaryGroup;\n/* off 0x0074 */\tstruct _LUID_AND_ATTRIBUTES*\tPrivileges;\n/* off 0x0078 */\tunsigned long*\tDynamicPart;\n/* off 0x007c */\tstruct _ACL*\tDefaultDacl;\n/* off 0x0080 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x0084 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0088 */\tunsigned long\tTokenFlags;\n/* off 0x008c */\tunsigned char\tTokenInUse;\n/* off 0x0090 */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x0094 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x0098 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00a0 */\tunsigned long\tVariablePart;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0008 */\tvoid*\tActiveFrame;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFrameListCache;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _Wx86ThreadState /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long*\tCallBx86Eip;\n/* off 0x0004 */\tvoid*\tDeallocationCpu;\n/* off 0x0008 */\tunsigned char\tUseKnownWx86Dll;\n/* off 0x0009 */\tchar\tOleStubInvoked;\n};\nstruct _TEB /* sizeof 00000fb8 4024 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK\tActivationContextStack;\n/* off 0x01bc */\tunsigned char SpareBytes1[24];\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\tunsigned short StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorsAreDisabled;\n/* off 0x0f2c */\tvoid* Instrumentation[16];\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tInDbgPrint;\n/* off 0x0f75 */\tunsigned char\tFreeStackOnTermination;\n/* off 0x0f76 */\tunsigned char\tHasFiberData;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tSpare3;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tstruct _Wx86ThreadState\tWx86Thread;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tunsigned char\tSafeThunkCall;\n/* off 0x0fb5 */\tunsigned char BooleanSpare[3];\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _PCI_HEADER_TYPE_0 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[6];\n/* off 0x0018 */\tunsigned long\tCIS;\n/* off 0x001c */\tunsigned short\tSubVendorID;\n/* off 0x001e */\tunsigned short\tSubSystemID;\n/* off 0x0020 */\tunsigned long\tROMBaseAddress;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tReserved2;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned char\tMinimumGrant;\n/* off 0x002f */\tunsigned char\tMaximumLatency;\n};\nstruct _PCI_HEADER_TYPE_1 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[2];\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tunsigned char\tIOBase;\n/* off 0x000d */\tunsigned char\tIOLimit;\n/* off 0x000e */\tunsigned short\tSecondaryStatus;\n/* off 0x0010 */\tunsigned short\tMemoryBase;\n/* off 0x0012 */\tunsigned short\tMemoryLimit;\n/* off 0x0014 */\tunsigned short\tPrefetchBase;\n/* off 0x0016 */\tunsigned short\tPrefetchLimit;\n/* off 0x0018 */\tunsigned long\tPrefetchBaseUpper32;\n/* off 0x001c */\tunsigned long\tPrefetchLimitUpper32;\n/* off 0x0020 */\tunsigned short\tIOBaseUpper16;\n/* off 0x0022 */\tunsigned short\tIOLimitUpper16;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tROMBaseAddress;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _PCI_HEADER_TYPE_2 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tSocketRegistersBaseAddress;\n/* off 0x0004 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tSecondaryStatus;\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tstruct __unnamed Range[4];\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tKey;\n/* off 0x0004 */\tunsigned long\tNonPagedAllocs;\n/* off 0x0008 */\tunsigned long\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nenum _PS_QUOTA_TYPE\n{\n\tPsNonPagedPool\t=0x00000000\t,//0\n\tPsPagedPool\t=0x00000001\t,//0\n\tPsPageFile\t=0x00000002\t,//0\n\tPsQuotaTypes\t=0x00000003\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nstruct _POP_POWER_ACTION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tunsigned char\tIrpMinor;\n/* off 0x0018 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x001c */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0020 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0024 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0028 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tLastWakeState;\n/* off 0x0030 */\tunsigned __int64\tWakeTime;\n/* off 0x0038 */\tunsigned __int64\tSleepTime;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tLevelReady;\n/* off 0x0010 */\tunsigned long\tDeviceCount;\n/* off 0x0014 */\tunsigned long\tActiveCount;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned long\tDevNodeSequence;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_POWER_IRP /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFree;\n/* off 0x0004 */\tstruct _IRP*\tIrp;\n/* off 0x0008 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x000c */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x001c */\tstruct _LIST_ENTRY\tAbort;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tFailed;\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000620 1568 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n/* off 0x0018 */\tunsigned long\tSpinLock;\n/* off 0x001c */\tstruct _KTHREAD*\tThread;\n/* off 0x0020 */\tunsigned char\tGetNewDeviceList;\n/* off 0x0024 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x026c */\tlong\tStatus;\n/* off 0x0270 */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0274 */\tunsigned char\tWaking;\n/* off 0x0275 */\tunsigned char\tCancelled;\n/* off 0x0276 */\tunsigned char\tIgnoreErrors;\n/* off 0x0277 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0278 */\tunsigned char\tWaitAny;\n/* off 0x0279 */\tunsigned char\tWaitAll;\n/* off 0x027c */\tstruct _LIST_ENTRY\tPresentIrpQueue;\n/* off 0x0284 */\tstruct _POP_DEVICE_POWER_IRP\tHead;\n/* off 0x02b0 */\tstruct _POP_DEVICE_POWER_IRP PowerIrpState[20];\n};\nstruct _PO_HIBER_PERF /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tLinkFile;\n/* off 0x0008 */\tvoid*\tLinkFileHandle;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tMapFrozen;\n/* off 0x0014 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x001c */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0024 */\tunsigned long\tClonedRangeCount;\n/* off 0x0028 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x002c */\tunsigned long\tNextPreserve;\n/* off 0x0030 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0034 */\tstruct _MDL*\tClones;\n/* off 0x0038 */\tunsigned char*\tNextClone;\n/* off 0x003c */\tunsigned long\tNoClones;\n/* off 0x0040 */\tstruct _MDL*\tSpares;\n/* off 0x0048 */\tunsigned __int64\tPagesOut;\n/* off 0x0050 */\tvoid*\tIoPage;\n/* off 0x0054 */\tvoid*\tCurrentMcb;\n/* off 0x0058 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x005c */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0060 */\tunsigned long\tNoRanges;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x007c */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0080 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0084 */\tunsigned long*\tPerformanceStats;\n/* off 0x0088 */\tvoid*\tCompressionBlock;\n/* off 0x008c */\tvoid*\tDmaIO;\n/* off 0x0090 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __cdecl *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __cdecl *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __cdecl *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __cdecl *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __cdecl *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\tstruct __unnamed\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunsigned long\tImageType;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0028 */\tunsigned __int64\tInterruptTime;\n/* off 0x0030 */\tunsigned long\tFeatureFlags;\n/* off 0x0034 */\tunsigned char\tHiberFlags;\n/* off 0x0035 */\tunsigned char spare[3];\n/* off 0x0038 */\tunsigned long\tNoHiberPtes;\n/* off 0x003c */\tunsigned long\tHiberVa;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0048 */\tunsigned long\tNoFreePages;\n/* off 0x004c */\tunsigned long\tFreeMapCheck;\n/* off 0x0050 */\tunsigned long\tWakeCheck;\n/* off 0x0054 */\tunsigned long\tTotalPages;\n/* off 0x0058 */\tunsigned long\tFirstTablePage;\n/* off 0x005c */\tunsigned long\tLastFilePage;\n/* off 0x0060 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct __unnamed\tRange;\n/* off 0x0000 */\tstruct __unnamed\tLink;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct __unnamed\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _MMVAD_SHORT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\tstruct __unnamed\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __cdecl *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tMaxPlugEventCategory\t=0x00000009\t,//0\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _FAST_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nenum _MMSYSTEM_PTE_POOL_TYPE\n{\n\tSystemPteSpace\t=0x00000000\t,//0\n\tNonPagedPoolExpansion\t=0x00000001\t,//0\n\tMaximumPtePoolTypes\t=0x00000002\t,//0\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tstruct __unnamed\tu2;\n/* off 0x000c */\tstruct __unnamed\tu3;\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0014 */\tstruct __unnamed\tu4;\n};\nstruct _MMPFNENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tModified:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadInProgress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWriteInProgress:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPageColor:3\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tParityError:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tPageLocation:3\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tRemovalRequested:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tCacheAttribute:2\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tRom:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tLockCharged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 16 */;\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileMaximumInformation\t=0x00000029\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsMaximumInformation\t=0x0000000a\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tListIndex;\n/* off 0x0004 */\tstruct _MI_VERIFIER_DRIVER_ENTRY*\tVerifier;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunsigned long\tReserved;\n/* off 0x002c */\tunsigned long\tVerifierPoolLock;\n/* off 0x0030 */\tstruct _VI_POOL_ENTRY*\tPoolHash;\n/* off 0x0034 */\tunsigned long\tPoolHashSize;\n/* off 0x0038 */\tunsigned long\tPoolHashFree;\n/* off 0x003c */\tunsigned long\tPoolHashReserved;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tunsigned long\tFreeListNext;\n};\n};\nstruct _CM_KEY_BODY /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tunsigned long\tCallers;\n/* off 0x0014 */\tvoid* CallerAddress[10];\n/* off 0x003c */\tstruct _LIST_ENTRY\tKeyBodyList;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nstruct _MMFREE_POOL_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tSignature;\n/* off 0x0010 */\tstruct _MMFREE_POOL_ENTRY*\tOwner;\n};\nstruct _SYSPTES_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_5.1.2600.5755.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct __unnamed /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned long\tSpare0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned short\tWaitType;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x0018 */\tvoid*\tInitialStack;\n/* off 0x001c */\tvoid*\tStackLimit;\n/* off 0x0020 */\tvoid*\tTeb;\n/* off 0x0024 */\tvoid*\tTlsArray;\n/* off 0x0028 */\tvoid*\tKernelStack;\n/* off 0x002c */\tunsigned char\tDebugActive;\n/* off 0x002d */\tunsigned char\tState;\n/* off 0x002e */\tunsigned char Alerted[2];\n/* off 0x0030 */\tunsigned char\tIopl;\n/* off 0x0031 */\tunsigned char\tNpxState;\n/* off 0x0032 */\tchar\tSaturation;\n/* off 0x0033 */\tchar\tPriority;\n/* off 0x0034 */\tstruct _KAPC_STATE\tApcState;\n/* off 0x004c */\tunsigned long\tContextSwitches;\n/* off 0x0050 */\tunsigned char\tIdleSwapBlock;\n/* off 0x0051 */\tunsigned char Spare0[3];\n/* off 0x0054 */\tlong\tWaitStatus;\n/* off 0x0058 */\tunsigned char\tWaitIrql;\n/* off 0x0059 */\tchar\tWaitMode;\n/* off 0x005a */\tunsigned char\tWaitNext;\n/* off 0x005b */\tunsigned char\tWaitReason;\n/* off 0x005c */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0060 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0060 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0068 */\tunsigned long\tWaitTime;\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tunsigned char\tDecrementCount;\n/* off 0x006e */\tchar\tPriorityDecrement;\n/* off 0x006f */\tchar\tQuantum;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x00d0 */\tvoid*\tLegoData;\n/* off 0x00d4 */\tunsigned long\tKernelApcDisable;\n/* off 0x00d8 */\tunsigned long\tUserAffinity;\n/* off 0x00dc */\tunsigned char\tSystemAffinityActive;\n/* off 0x00dd */\tunsigned char\tPowerState;\n/* off 0x00de */\tunsigned char\tNpxIrql;\n/* off 0x00df */\tunsigned char\tInitialNode;\n/* off 0x00e0 */\tvoid*\tServiceTable;\n/* off 0x00e4 */\tstruct _KQUEUE*\tQueue;\n/* off 0x00e8 */\tunsigned long\tApcQueueLock;\n/* off 0x00f0 */\tstruct _KTIMER\tTimer;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tunsigned long\tSoftAffinity;\n/* off 0x0124 */\tunsigned long\tAffinity;\n/* off 0x0128 */\tunsigned char\tPreempted;\n/* off 0x0129 */\tunsigned char\tProcessReadyQueue;\n/* off 0x012a */\tunsigned char\tKernelStackResident;\n/* off 0x012b */\tunsigned char\tNextProcessor;\n/* off 0x012c */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tvoid*\tWin32Thread;\n/* off 0x0134 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0138 */\tstruct _KAPC_STATE* ApcStatePointer[2];\n/* off 0x0140 */\tchar\tPreviousMode;\n/* off 0x0141 */\tunsigned char\tEnableStackSwap;\n/* off 0x0142 */\tunsigned char\tLargeStack;\n/* off 0x0143 */\tunsigned char\tResourceIndex;\n/* off 0x0144 */\tunsigned long\tKernelTime;\n/* off 0x0148 */\tunsigned long\tUserTime;\n/* off 0x014c */\tstruct _KAPC_STATE\tSavedApcState;\n/* off 0x0164 */\tunsigned char\tAlertable;\n/* off 0x0165 */\tunsigned char\tApcStateIndex;\n/* off 0x0166 */\tunsigned char\tApcQueueable;\n/* off 0x0167 */\tunsigned char\tAutoAlignment;\n/* off 0x0168 */\tvoid*\tStackBase;\n/* off 0x016c */\tstruct _KAPC\tSuspendApc;\n/* off 0x019c */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01b0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01b8 */\tchar\tFreezeCount;\n/* off 0x01b9 */\tchar\tSuspendCount;\n/* off 0x01ba */\tunsigned char\tIdealProcessor;\n/* off 0x01bb */\tunsigned char\tDisableBoost;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\tstruct __unnamed\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long DirectoryTableBase[2];\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\n/* off 0x0060 */\tunsigned short\tStackCount;\n/* off 0x0062 */\tchar\tBasePriority;\n/* off 0x0063 */\tchar\tThreadQuantum;\n/* off 0x0064 */\tunsigned char\tAutoAlignment;\n/* off 0x0065 */\tunsigned char\tState;\n/* off 0x0066 */\tunsigned char\tThreadSeed;\n/* off 0x0067 */\tunsigned char\tDisableBoost;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tDisableQuantum;\n/* off 0x006a */\tunsigned char\tIdealNode;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tImportance;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tunsigned long*\tLock;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned long\tTempSegCs;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueContextSwapLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMaximumLock\t=0x0000000f\t,//0\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tstruct __unnamed\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long IdleHandlerReserved[4];\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tunsigned long\tIdle0KernelTimeLimit;\n/* off 0x0008 */\tunsigned long\tIdle0LastTime;\n/* off 0x000c */\tvoid*\tIdleHandlers;\n/* off 0x0010 */\tvoid*\tIdleState;\n/* off 0x0014 */\tunsigned long\tIdleHandlersCount;\n/* off 0x0018 */\tunsigned __int64\tLastCheck;\n/* off 0x0020 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0040 */\tunsigned long\tIdleTime1;\n/* off 0x0044 */\tunsigned long\tPromotionCheck;\n/* off 0x0048 */\tunsigned long\tIdleTime2;\n/* off 0x004c */\tunsigned char\tCurrentThrottle;\n/* off 0x004d */\tunsigned char\tThermalThrottleLimit;\n/* off 0x004e */\tunsigned char\tCurrentThrottleIndex;\n/* off 0x004f */\tunsigned char\tThermalThrottleIndex;\n/* off 0x0050 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0054 */\tunsigned long\tLastIdleThreadKernelTime;\n/* off 0x0058 */\tunsigned long\tPackageIdleStartTime;\n/* off 0x005c */\tunsigned long\tPackageIdleTime;\n/* off 0x0060 */\tunsigned long\tDebugCount;\n/* off 0x0064 */\tunsigned long\tLastSysTime;\n/* off 0x0068 */\tunsigned __int64 TotalIdleStateTime[3];\n/* off 0x0080 */\tunsigned long TotalIdleTransitions[3];\n/* off 0x0090 */\tunsigned __int64\tPreviousC3StateTime;\n/* off 0x0098 */\tunsigned char\tKneeThrottleIndex;\n/* off 0x0099 */\tunsigned char\tThrottleLimitIndex;\n/* off 0x009a */\tunsigned char\tPerfStatesCount;\n/* off 0x009b */\tunsigned char\tProcessorMinThrottle;\n/* off 0x009c */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x009d */\tunsigned char\tEnableIdleAccounting;\n/* off 0x009e */\tunsigned char\tLastC3Percentage;\n/* off 0x009f */\tunsigned char\tLastAdjustedBusyPercentage;\n/* off 0x00a0 */\tunsigned long\tPromotionCount;\n/* off 0x00a4 */\tunsigned long\tDemotionCount;\n/* off 0x00a8 */\tunsigned long\tErrorCount;\n/* off 0x00ac */\tunsigned long\tRetryCount;\n/* off 0x00b0 */\tunsigned long\tFlags;\n/* off 0x00b8 */\tunion _LARGE_INTEGER\tPerfCounterFrequency;\n/* off 0x00c0 */\tunsigned long\tPerfTickCount;\n/* off 0x00c8 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x00f0 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0110 */\tstruct PROCESSOR_PERF_STATE*\tPerfStates;\n/* off 0x0114 */\tlong( __fastcall *PerfSetThrottle)(unsigned char);\n/* off 0x0118 */\tunsigned long\tLastC3KernelUserTime;\n/* off 0x011c */\tunsigned long\tLastPackageIdleTime;\n};\nstruct _KPRCB /* sizeof 00000c50 3152 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tchar\tNumber;\n/* off 0x0011 */\tchar\tReserved;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\n/* off 0x001a */\tunsigned short\tCpuStep;\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned char PrcbPad0[92];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[16];\n/* off 0x0498 */\tunsigned char PrcbPad1[8];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDebugDpcTime;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned long\tSkipTick;\n/* off 0x04c8 */\tunsigned char\tMultiThreadSetBusy;\n/* off 0x04c9 */\tunsigned char Spare2[3];\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x04d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x04d8 */\tunsigned long ThreadStartCount[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x04fc */\tunsigned long\tKeContextSwitches;\n/* off 0x0500 */\tunsigned long\tKeDcacheFlushCount;\n/* off 0x0504 */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0508 */\tunsigned long\tKeFirstLevelTbFills;\n/* off 0x050c */\tunsigned long\tKeFloatingEmulationCount;\n/* off 0x0510 */\tunsigned long\tKeIcacheFlushCount;\n/* off 0x0514 */\tunsigned long\tKeSecondLevelTbFills;\n/* off 0x0518 */\tunsigned long\tKeSystemCalls;\n/* off 0x051c */\tunsigned long SpareCounter0[1];\n/* off 0x0520 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPNPagedLookasideList[32];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPPagedLookasideList[32];\n/* off 0x07a0 */\tunsigned long\tPacketBarrier;\n/* off 0x07a4 */\tunsigned long\tReverseStall;\n/* off 0x07a8 */\tvoid*\tIpiFrame;\n/* off 0x07ac */\tunsigned char PrcbPad2[52];\n/* off 0x07e0 */\tvoid* CurrentPacket[3];\n/* off 0x07ec */\tunsigned long\tTargetSet;\n/* off 0x07f0 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x07f4 */\tunsigned long\tIpiFrozen;\n/* off 0x07f8 */\tunsigned char PrcbPad3[40];\n/* off 0x0820 */\tunsigned long\tRequestSummary;\n/* off 0x0824 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x0828 */\tunsigned char PrcbPad4[56];\n/* off 0x0860 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0868 */\tvoid*\tDpcStack;\n/* off 0x086c */\tunsigned long\tDpcCount;\n/* off 0x0870 */\tunsigned long\tDpcQueueDepth;\n/* off 0x0874 */\tunsigned long\tDpcRoutineActive;\n/* off 0x0878 */\tunsigned long\tDpcInterruptRequested;\n/* off 0x087c */\tunsigned long\tDpcLastCount;\n/* off 0x0880 */\tunsigned long\tDpcRequestRate;\n/* off 0x0884 */\tunsigned long\tMaximumDpcQueueDepth;\n/* off 0x0888 */\tunsigned long\tMinimumDpcRate;\n/* off 0x088c */\tunsigned long\tQuantumEnd;\n/* off 0x0890 */\tunsigned char PrcbPad5[16];\n/* off 0x08a0 */\tunsigned long\tDpcLock;\n/* off 0x08a4 */\tunsigned char PrcbPad6[28];\n/* off 0x08c0 */\tstruct _KDPC\tCallDpc;\n/* off 0x08e0 */\tvoid*\tChainedInterruptList;\n/* off 0x08e4 */\tlong\tLookasideIrpFloat;\n/* off 0x08e8 */\tunsigned long SpareFields0[6];\n/* off 0x0900 */\tunsigned char VendorString[13];\n/* off 0x090d */\tunsigned char\tInitialApicId;\n/* off 0x090e */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x0910 */\tunsigned long\tMHz;\n/* off 0x0914 */\tunsigned long\tFeatureBits;\n/* off 0x0918 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x0920 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x0b30 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable;\n};\nstruct _KNODE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tProcessorMask;\n/* off 0x0004 */\tunsigned long\tColor;\n/* off 0x0008 */\tunsigned long\tMmShiftedColor;\n/* off 0x000c */\tunsigned long FreeCount[2];\n/* off 0x0018 */\tunion _SLIST_HEADER\tDeadStackList;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x002c */\tunsigned char\tSeed;\n/* off 0x002d */\tstruct _flags\tFlags;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct PROCESSOR_PERF_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tPercentFrequency;\n/* off 0x0001 */\tunsigned char\tMinCapacity;\n/* off 0x0002 */\tunsigned short\tPower;\n/* off 0x0004 */\tunsigned char\tIncreaseLevel;\n/* off 0x0005 */\tunsigned char\tDecreaseLevel;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tIncreaseTime;\n/* off 0x000c */\tunsigned long\tDecreaseTime;\n/* off 0x0010 */\tunsigned long\tIncreaseCount;\n/* off 0x0014 */\tunsigned long\tDecreaseCount;\n/* off 0x0018 */\tunsigned __int64\tPerformanceTime;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideMaximumList\t=0x00000007\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExclusive:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tShared:30\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tunsigned long\tShareCount;\n/* off 0x0018 */\tunsigned char\tExclusive;\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _ETHREAD /* sizeof 00000258 600 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\nunion\n{\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tCreateTime;\nstruct\n{\n/* off 0x01c0 */\tunsigned int\tNestedFaultCount:2\t /* start bit 0 */;\n/* off 0x01c0 */\tunsigned int\tApcNeeded:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tLpcReplyChain;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01d0 */\tlong\tExitStatus;\n/* off 0x01d0 */\tvoid*\tOfsChain;\n};\n/* off 0x01d4 */\tstruct _LIST_ENTRY\tPostBlockList;\nunion\n{\n/* off 0x01dc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01dc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01dc */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x01e0 */\tunsigned long\tActiveTimerListLock;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x01ec */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tLpcReplySemaphore;\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n};\nunion\n{\n/* off 0x0208 */\tvoid*\tLpcReplyMessage;\n/* off 0x0208 */\tvoid*\tLpcWaitingOnPort;\n};\n/* off 0x020c */\tstruct _PS_IMPERSONATION_INFORMATION*\tImpersonationInfo;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0218 */\tunsigned long\tTopLevelIrp;\n/* off 0x021c */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x0220 */\tstruct _EPROCESS*\tThreadsProcess;\n/* off 0x0224 */\tvoid*\tStartAddress;\nunion\n{\n/* off 0x0228 */\tvoid*\tWin32StartAddress;\n/* off 0x0228 */\tunsigned long\tLpcReceivedMessageId;\n};\n/* off 0x022c */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0234 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0238 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x023c */\tunsigned long\tLpcReplyMessageId;\n/* off 0x0240 */\tunsigned long\tReadClusterSize;\n/* off 0x0244 */\tunsigned long\tGrantedAccess;\nunion\n{\n/* off 0x0248 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tDeadThread:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x024c */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x024c */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x024c */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x024c */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x0250 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned char\tLpcReceivedMsgIdValid:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned char\tLpcExitThreadCalled:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned char\tAddressSpaceOwner:1\t /* start bit 2 */;\n};\n};\n/* off 0x0254 */\tunsigned char\tForwardClusterOnly;\n/* off 0x0255 */\tunsigned char\tDisablePageFaultClustering;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _PS_IMPERSONATION_INFORMATION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tToken;\n/* off 0x0004 */\tunsigned char\tCopyOnOpen;\n/* off 0x0005 */\tunsigned char\tEffectiveOnly;\n/* off 0x0008 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\tstruct __unnamed\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct __unnamed\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tAcquireForSectionSynchronization;\n/* off 0x0000 */\tstruct __unnamed\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned short VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingTrimmed:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSessionLeader:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tTrimHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tWorkingSetHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tAddressSpaceBeingDeleted:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tAvailable:10\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tAllowWorkingSetAdjustment:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tMemoryPriority:8\t /* start bit 24 */;\n};\nstruct _MMSUPPORT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tLastTrimTime;\n/* off 0x0008 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x000c */\tunsigned long\tPageFaultCount;\n/* off 0x0010 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0014 */\tunsigned long\tWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x001c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0020 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x002c */\tunsigned long\tClaim;\n/* off 0x0030 */\tunsigned long\tNextEstimationSlot;\n/* off 0x0034 */\tunsigned long\tNextAgingSlot;\n/* off 0x0038 */\tunsigned long\tEstimatedAvailable;\n/* off 0x003c */\tunsigned long\tGrowthSinceLastEstimate;\n};\nstruct _EPROCESS /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x006c */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0080 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0084 */\tvoid*\tUniqueProcessId;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x0090 */\tunsigned long QuotaUsage[3];\n/* off 0x009c */\tunsigned long QuotaPeak[3];\n/* off 0x00a8 */\tunsigned long\tCommitCharge;\n/* off 0x00ac */\tunsigned long\tPeakVirtualSize;\n/* off 0x00b0 */\tunsigned long\tVirtualSize;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00bc */\tvoid*\tDebugPort;\n/* off 0x00c0 */\tvoid*\tExceptionPort;\n/* off 0x00c4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00c8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00cc */\tstruct _FAST_MUTEX\tWorkingSetLock;\n/* off 0x00ec */\tunsigned long\tWorkingSetPage;\n/* off 0x00f0 */\tstruct _FAST_MUTEX\tAddressCreationLock;\n/* off 0x0110 */\tunsigned long\tHyperSpaceLock;\n/* off 0x0114 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x0118 */\tunsigned long\tHardwareTrigger;\n/* off 0x011c */\tvoid*\tVadRoot;\n/* off 0x0120 */\tvoid*\tVadHint;\n/* off 0x0124 */\tvoid*\tCloneRoot;\n/* off 0x0128 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x012c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0130 */\tvoid*\tWin32Process;\n/* off 0x0134 */\tstruct _EJOB*\tJob;\n/* off 0x0138 */\tvoid*\tSectionObject;\n/* off 0x013c */\tvoid*\tSectionBaseAddress;\n/* off 0x0140 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0144 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0148 */\tvoid*\tWin32WindowStation;\n/* off 0x014c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0150 */\tvoid*\tLdtInformation;\n/* off 0x0154 */\tvoid*\tVadFreeHint;\n/* off 0x0158 */\tvoid*\tVdmObjects;\n/* off 0x015c */\tvoid*\tDeviceMap;\n/* off 0x0160 */\tstruct _LIST_ENTRY\tPhysicalVadList;\nunion\n{\n/* off 0x0168 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0168 */\tunsigned __int64\tFiller;\n};\n/* off 0x0170 */\tvoid*\tSession;\n/* off 0x0174 */\tunsigned char ImageFileName[16];\n/* off 0x0184 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x018c */\tvoid*\tLockedPagesList;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0198 */\tvoid*\tSecurityPort;\n/* off 0x019c */\tvoid*\tPaeTop;\n/* off 0x01a0 */\tunsigned long\tActiveThreads;\n/* off 0x01a4 */\tunsigned long\tGrantedAccess;\n/* off 0x01a8 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01ac */\tlong\tLastThreadExitStatus;\n/* off 0x01b0 */\tstruct _PEB*\tPeb;\n/* off 0x01b4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01ec */\tunsigned long\tCommitChargePeak;\n/* off 0x01f0 */\tvoid*\tAweInfo;\n/* off 0x01f4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0238 */\tunsigned long\tLastFaultCount;\n/* off 0x023c */\tunsigned long\tModifiedPageCount;\n/* off 0x0240 */\tunsigned long\tNumberOfVads;\n/* off 0x0244 */\tunsigned long\tJobStatus;\nunion\n{\n/* off 0x0248 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0248 */\tunsigned long\tHasPhysicalVad:1\t /* start bit 9 */;\n/* off 0x0248 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0248 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0248 */\tunsigned long\tSessionCreationUnderway:1\t /* start bit 14 */;\n/* off 0x0248 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0248 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0248 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0248 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0248 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0248 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0248 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0248 */\tunsigned long\tUnused3:1\t /* start bit 22 */;\n/* off 0x0248 */\tunsigned long\tUnused4:1\t /* start bit 23 */;\n/* off 0x0248 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0248 */\tunsigned long\tUnused:5\t /* start bit 25 */;\n/* off 0x0248 */\tunsigned long\tUnused1:1\t /* start bit 30 */;\n/* off 0x0248 */\tunsigned long\tUnused2:1\t /* start bit 31 */;\n};\n};\n/* off 0x024c */\tlong\tExitStatus;\n/* off 0x0250 */\tunsigned short\tNextPageColor;\nunion\n{\nstruct\n{\n/* off 0x0252 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0253 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0252 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0254 */\tunsigned char\tPriorityClass;\n/* off 0x0255 */\tunsigned char\tWorkingSetAcquiredUnsafe;\n/* off 0x0258 */\tunsigned long\tCookie;\n};\nstruct _HANDLE_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK HandleTableLock[4];\n/* off 0x001c */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x0028 */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x002c */\tlong\tExtraInfoPages;\n/* off 0x0030 */\tunsigned long\tFirstFree;\n/* off 0x0034 */\tunsigned long\tLastFree;\n/* off 0x0038 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x003c */\tlong\tHandleCount;\nunion\n{\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0040 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00050004 327684 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentStackIndex;\n/* off 0x0004 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[4096];\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY OwnerThreads[2];\n/* off 0x0028 */\tunsigned long\tContentionCount;\n/* off 0x002c */\tunsigned short\tNumberOfSharedWaiters;\n/* off 0x002e */\tunsigned short\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nstruct _IO_COUNTERS /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tReadOperationCount;\n/* off 0x0008 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x0010 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x0018 */\tunsigned __int64\tReadTransferCount;\n/* off 0x0020 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0028 */\tunsigned __int64\tOtherTransferCount;\n};\nstruct _EJOB /* sizeof 00000180 384 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b4 */\tunsigned long\tSecurityLimitFlags;\n/* off 0x00b8 */\tvoid*\tToken;\n/* off 0x00bc */\tstruct _PS_JOB_TOKEN_FILTER*\tFilter;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tstruct _IO_COUNTERS\tIoInfo;\n/* off 0x0138 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x013c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0140 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0144 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0148 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x014c */\tstruct _FAST_MUTEX\tMemoryLimitsLock;\n/* off 0x016c */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0174 */\tunsigned long\tMemberLevel;\n/* off 0x0178 */\tunsigned long\tJobFlags;\n};\nstruct _PS_JOB_TOKEN_FILTER /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCapturedSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedSids;\n/* off 0x0008 */\tunsigned long\tCapturedSidsLength;\n/* off 0x000c */\tunsigned long\tCapturedGroupCount;\n/* off 0x0010 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedGroups;\n/* off 0x0014 */\tunsigned long\tCapturedGroupsLength;\n/* off 0x0018 */\tunsigned long\tCapturedPrivilegeCount;\n/* off 0x001c */\tstruct _LUID_AND_ATTRIBUTES*\tCapturedPrivileges;\n/* off 0x0020 */\tunsigned long\tCapturedPrivilegesLength;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _EPROCESS_QUOTA_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tUsage;\n/* off 0x0004 */\tunsigned long\tLimit;\n/* off 0x0008 */\tunsigned long\tPeak;\n/* off 0x000c */\tunsigned long\tReturn;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _EPROCESS_QUOTA_ENTRY QuotaEntry[3];\n/* off 0x0030 */\tstruct _LIST_ENTRY\tQuotaList;\n/* off 0x0038 */\tunsigned long\tReferenceCount;\n/* off 0x003c */\tunsigned long\tProcessCount;\n};\nstruct _PROCESS_WS_WATCH_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tFaultingPc;\n/* off 0x0004 */\tvoid*\tFaultingVa;\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentIndex;\n/* off 0x0004 */\tunsigned long\tMaxIndex;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tvoid*\tReserved;\n/* off 0x0010 */\tstruct _PROCESS_WS_WATCH_INFORMATION WatchInfo[1];\n};\nstruct _PEB /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\n/* off 0x0003 */\tunsigned char\tSpareBool;\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tFastPebLockRoutine;\n/* off 0x0024 */\tvoid*\tFastPebUnlockRoutine;\n/* off 0x0028 */\tunsigned long\tEnvironmentUpdateCount;\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tReadOnlySharedMemoryHeap;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tvoid*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tvoid*\tActivationContextData;\n/* off 0x01fc */\tvoid*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tvoid*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tvoid*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000290 656 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long Spare[2];\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 0000069c 1692 */\n{\n/* off 0x0000 */\tunsigned long\tQuota;\n/* off 0x0004 */\tunsigned long\tFirstFree;\n/* off 0x0008 */\tunsigned long\tFirstDynamic;\n/* off 0x000c */\tunsigned long\tLastEntry;\n/* off 0x0010 */\tunsigned long\tNextSlot;\n/* off 0x0014 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNonDirectCount;\n/* off 0x0020 */\tstruct _MMWSLE_HASH*\tHashTable;\n/* off 0x0024 */\tunsigned long\tHashTableSize;\n/* off 0x0028 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x002c */\tvoid*\tHashTableStart;\n/* off 0x0030 */\tvoid*\tHighestPermittedHashAddress;\n/* off 0x0034 */\tunsigned long\tNumberOfImageWaiters;\n/* off 0x0038 */\tunsigned long\tVadBitMapHint;\n/* off 0x003c */\tunsigned short UsedPageTableEntries[768];\n/* off 0x063c */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n};\nstruct _MMWSLE_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct __unnamed\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\tstruct __unnamed\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\tstruct __unnamed\tTail;\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject;\n/* off 0x0003 */\tunsigned char\tCaseInsensitive;\n/* off 0x0004 */\tunsigned long\tInvalidAttributes;\n/* off 0x0008 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0018 */\tunsigned long\tValidAccessMask;\n/* off 0x001c */\tunsigned char\tSecurityRequired;\n/* off 0x001d */\tunsigned char\tMaintainHandleCount;\n/* off 0x001e */\tunsigned char\tMaintainTypeList;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x0034 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0044 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*);\n/* off 0x0048 */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000190 400 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _ERESOURCE ObjectLocks[4];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\tstruct __unnamed\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWritable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tWhichPool:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:20\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWhichPool:1\t /* start bit 31 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _VACB /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\tstruct __unnamed\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tAvailable:14\t /* start bit 18 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tstruct _EX_PUSH_LOCK\tVacbPushLock;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n};\nstruct _HEAP /* sizeof 00000588 1416 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tForceFlags;\n/* off 0x0014 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0018 */\tunsigned long\tSegmentReserve;\n/* off 0x001c */\tunsigned long\tSegmentCommit;\n/* off 0x0020 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0024 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0028 */\tunsigned long\tTotalFreeSize;\n/* off 0x002c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0030 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0032 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0034 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0038 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x003a */\tunsigned short\tMaximumTagIndex;\n/* off 0x003c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0040 */\tstruct _HEAP_UCR_SEGMENT*\tUCRSegments;\n/* off 0x0044 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnusedUnCommittedRanges;\n/* off 0x0048 */\tunsigned long\tAlignRound;\n/* off 0x004c */\tunsigned long\tAlignMask;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x0058 */\tstruct _HEAP_SEGMENT* Segments[64];\n/* off 0x0158 */\tstruct __unnamed\tu;\n/* off 0x0168 */\tstruct __unnamed\tu2;\n/* off 0x016a */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x016c */\tunsigned long\tNonDedicatedListLength;\n/* off 0x0170 */\tvoid*\tLargeBlocksIndex;\n/* off 0x0174 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x0178 */\tstruct _LIST_ENTRY FreeLists[128];\n/* off 0x0578 */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x057c */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x0580 */\tvoid*\tFrontEndHeap;\n/* off 0x0584 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x0586 */\tunsigned char\tFrontEndHeapType;\n/* off 0x0587 */\tunsigned char\tLastSegmentIndex;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\tunsigned short TagName[24];\n};\nstruct _HEAP_UCR_SEGMENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UCR_SEGMENT*\tNext;\n/* off 0x0004 */\tunsigned long\tReservedSize;\n/* off 0x0008 */\tunsigned long\tCommittedSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_UNCOMMMTTED_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tAddress;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_SEGMENT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _HEAP*\tHeap;\n/* off 0x0014 */\tunsigned long\tLargestUnCommittedRange;\n/* off 0x0018 */\tvoid*\tBaseAddress;\n/* off 0x001c */\tunsigned long\tNumberOfPages;\n/* off 0x0020 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x0028 */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0030 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _HEAP_ENTRY*\tLastEntryInSegment;\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct __unnamed\tLock;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBucket;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFreeThreshold;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tHeapHandle;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLRUViewList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinViewList;\n/* off 0x0010 */\tunsigned long\tFileOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long*\tViewAddress;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tunsigned long\tUseCount;\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcessBilled;\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tvoid*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 00000110 272 */\n{\n/* off 0x0000 */\tunsigned long Nodes[2];\n/* off 0x0008 */\tunsigned long Resources[2];\n/* off 0x0010 */\tunsigned long Threads[2];\n/* off 0x0018 */\t__int64\tTimeAcquire;\n/* off 0x0020 */\t__int64\tTimeRelease;\n/* off 0x0028 */\tunsigned long\tBytesAllocated;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0030 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x0034 */\tunsigned long\tAllocationFailures;\n/* off 0x0038 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x003c */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x0040 */\tunsigned long\tNodesSearched;\n/* off 0x0044 */\tunsigned long\tMaxNodesSearched;\n/* off 0x0048 */\tunsigned long\tSequenceNumber;\n/* off 0x004c */\tunsigned long\tRecursionDepthLimit;\n/* off 0x0050 */\tunsigned long\tSearchedNodesLimit;\n/* off 0x0054 */\tunsigned long\tDepthLimitHits;\n/* off 0x0058 */\tunsigned long\tSearchLimitHits;\n/* off 0x005c */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tFreeResourceList;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tFreeThreadList;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tFreeNodeList;\n/* off 0x0078 */\tunsigned long\tFreeResourceCount;\n/* off 0x007c */\tunsigned long\tFreeThreadCount;\n/* off 0x0080 */\tunsigned long\tFreeNodeCount;\n/* off 0x0084 */\tvoid*\tInstigator;\n/* off 0x0088 */\tunsigned long\tNumberOfParticipants;\n/* off 0x008c */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x010c */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\tunsigned long\tActive:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tSequenceNumber:30\t /* start bit 2 */;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockFastMutex\t=0x00000002\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000003\t,//0\n\tVfDeadlockSpinLock\t=0x00000004\t,//0\n\tVfDeadlockQueuedSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nenum _PF_SCENARIO_TYPE\n{\n\tPfApplicationLaunchScenarioType\t=0x00000000\t,//0\n\tPfSystemBootScenarioType\t=0x00000001\t,//0\n\tPfMaxScenarioType\t=0x00000002\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _LARGE_CONTROL_AREA*\tLargeControlArea;\n/* off 0x0024 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0028 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _CONTROL_AREA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n};\nstruct _SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tWritableUserReferences;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\n/* off 0x0018 */\tstruct _MMPTE\tSegmentPteTemplate;\n/* off 0x001c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0020 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0024 */\tvoid*\tSystemImageBase;\n/* off 0x0028 */\tvoid*\tBasedAddress;\n/* off 0x002c */\tstruct __unnamed\tu1;\n/* off 0x0030 */\tstruct __unnamed\tu2;\n/* off 0x0034 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0038 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _EVENT_COUNTER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tRefCount;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tStartingSector;\n/* off 0x000c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0010 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0014 */\tunsigned long\tUnusedPtes;\n/* off 0x0018 */\tunsigned long\tPtesInSubsection;\n/* off 0x001c */\tstruct _SUBSECTION*\tNextSubsection;\n};\nstruct _LARGE_CONTROL_AREA /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n/* off 0x0030 */\tunsigned long\tStartingFrame;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tUserGlobalList;\n/* off 0x003c */\tunsigned long\tSessionId;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tNoCache:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tFloppyMedia:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tDebugSymbolsLoaded:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tHadUserReference:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tImageMappedInSystemSpace:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tfiller:2\t /* start bit 30 */;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tReadWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSubsectionStatic:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tLargePages:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tStartingSector4132:10\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tSectorEndOffset:12\t /* start bit 20 */;\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _WMI_LOGGER_MODE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSequentialFile:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCircularFile:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tAppendFile:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tUnused1:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tRealTime:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDelayOpenFile:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tBufferOnly:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tPrivateLogger:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tAddHeader:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tUseExisting:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tUseGlobalSequence:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tUseLocalSequence:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tUnused2:16\t /* start bit 16 */;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _TRACE_ENABLE_FLAG_EXTENSION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned char\tLength;\n/* off 0x0003 */\tunsigned char\tFlag;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 000001c8 456 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSpinLock;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0010 */\tvoid*\tLogFileHandle;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tLoggerSemaphore;\n/* off 0x0028 */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x002c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x003c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x004c */\tlong\tLoggerStatus;\n/* off 0x0050 */\tunsigned long\tLoggerId;\n/* off 0x0054 */\tlong\tBuffersAvailable;\n/* off 0x0058 */\tunsigned long\tUsePerfClock;\n/* off 0x005c */\tunsigned long\tWriteFailureLimit;\n/* off 0x0060 */\tunsigned long\tBuffersDirty;\n/* off 0x0064 */\tunsigned long\tBuffersInUse;\n/* off 0x0068 */\tunsigned long\tSwitchingInProgress;\n/* off 0x0070 */\tunion _SLIST_HEADER\tFreeList;\n/* off 0x0078 */\tunion _SLIST_HEADER\tFlushList;\n/* off 0x0080 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0088 */\tunion _SLIST_HEADER*\tProcessorBuffers;\n/* off 0x008c */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x009c */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x00a4 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x00ac */\tunsigned char*\tEndPageMarker;\n/* off 0x00b0 */\tlong\tCollectionOn;\n/* off 0x00b4 */\tunsigned long\tKernelTraceOn;\n/* off 0x00b8 */\tlong\tPerfLogInTransition;\n/* off 0x00bc */\tunsigned long\tRequestFlag;\n/* off 0x00c0 */\tunsigned long\tEnableFlags;\n/* off 0x00c4 */\tunsigned long\tMaximumFileSize;\nunion\n{\n/* off 0x00c8 */\tunsigned long\tLoggerMode;\n/* off 0x00c8 */\tstruct _WMI_LOGGER_MODE\tLoggerModeFlags;\n};\n/* off 0x00cc */\tunsigned long\tLastFlushedBuffer;\n/* off 0x00d0 */\tunsigned long\tRefCount;\n/* off 0x00d4 */\tunsigned long\tFlushTimer;\n/* off 0x00d8 */\tunion _LARGE_INTEGER\tFirstBufferOffset;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tBufferAgeLimit;\n/* off 0x00f0 */\tunsigned long\tMaximumBuffers;\n/* off 0x00f4 */\tunsigned long\tMinimumBuffers;\n/* off 0x00f8 */\tunsigned long\tEventsLost;\n/* off 0x00fc */\tunsigned long\tBuffersWritten;\n/* off 0x0100 */\tunsigned long\tLogBuffersLost;\n/* off 0x0104 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x0108 */\tunsigned long\tBufferSize;\n/* off 0x010c */\tlong\tNumberOfBuffers;\n/* off 0x0110 */\tlong*\tSequencePtr;\n/* off 0x0114 */\tstruct _GUID\tInstanceGuid;\n/* off 0x0124 */\tvoid*\tLoggerHeader;\n/* off 0x0128 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x012c */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x0168 */\tvoid*\tLoggerExtension;\n/* off 0x016c */\tlong\tReleaseQueue;\n/* off 0x0170 */\tstruct _TRACE_ENABLE_FLAG_EXTENSION\tEnableFlagExtension;\n/* off 0x0174 */\tunsigned long\tLocalSequence;\n/* off 0x0178 */\tunsigned long\tMaximumIrql;\n/* off 0x017c */\tunsigned long*\tEnableFlagArray;\n/* off 0x0180 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01a0 */\tlong\tMutexCount;\n/* off 0x01a4 */\tunsigned long\tFileCounter;\n/* off 0x01a8 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x01ac */\tvoid*\tCallbackContext;\n/* off 0x01b0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReferenceSystemTime;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tReferenceTimeStamp;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _WMI_CLIENT_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFree:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tInUse:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tFlush:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tUnused:29\t /* start bit 3 */;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tReserved2;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tReserved3;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tvoid*\tAlignment;\n/* off 0x001c */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n};\nstruct\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tEntry;\n};\nstruct\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tunsigned long\tUsePerfClock;\n};\n};\n};\nstruct\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n};\n};\nstruct\n{\n/* off 0x0018 */\tstruct _GUID\tGuid;\n};\n};\n/* off 0x0028 */\tstruct _WMI_CLIENT_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tstruct _WMI_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned long\tEventsLost;\nunion\n{\n/* off 0x0038 */\tstruct _GUID\tInstanceGuid;\nstruct\n{\n/* off 0x0038 */\tvoid*\tLoggerContext;\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\n};\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long Reserved[2];\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short*\tName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0014 */\tunsigned char\tThreadFinished;\n/* off 0x0015 */\tunsigned char\tThreadStarted;\n/* off 0x0016 */\tunsigned char\tAllocate;\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _DUAL /* sizeof 000000dc 220 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _RTL_BITMAP FreeDisplay[24];\n/* off 0x00d0 */\tunsigned long\tFreeSummary;\n/* off 0x00d4 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned char\tRealWrites;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tLog;\n/* off 0x0044 */\tunsigned long\tHiveFlags;\n/* off 0x0048 */\tunsigned long\tLogSize;\n/* off 0x004c */\tunsigned long\tRefreshCount;\n/* off 0x0050 */\tunsigned long\tStorageTypeCount;\n/* off 0x0054 */\tunsigned long\tVersion;\n/* off 0x0058 */\tstruct _DUAL Storage[2];\n};\nstruct _CMHIVE /* sizeof 0000049c 1180 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x0210 */\tvoid* FileHandles[3];\n/* off 0x021c */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x022c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0230 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0234 */\tstruct _LIST_ENTRY\tLRUViewListHead;\n/* off 0x023c */\tstruct _LIST_ENTRY\tPinViewListHead;\n/* off 0x0244 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0248 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0250 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0258 */\tunsigned short\tMappedViews;\n/* off 0x025a */\tunsigned short\tPinnedViews;\n/* off 0x025c */\tunsigned long\tUseCount;\n/* off 0x0260 */\tunsigned long\tSecurityCount;\n/* off 0x0264 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0268 */\tlong\tSecurityHitHint;\n/* off 0x026c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0270 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0470 */\tstruct _KEVENT*\tUnloadEvent;\n/* off 0x0474 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x0478 */\tunsigned char\tFrozen;\n/* off 0x047c */\tstruct _WORK_QUEUE_ITEM*\tUnloadWorkItem;\n/* off 0x0480 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0484 */\tunsigned long\tGrowOffset;\n/* off 0x0488 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0490 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0498 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\tunsigned short Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\tunsigned short Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\tunsigned short KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tunsigned long Reserved1[99];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[894];\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0040 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0042 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0044 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0048 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0048 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0048 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0048 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\tunsigned short Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\tunsigned short Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _DEVICE_NODE /* sizeof 00000118 280 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x0018 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x001c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0020 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x0070 */\tunsigned long\tStateHistoryEntry;\n/* off 0x0074 */\tlong\tCompletionStatus;\n/* off 0x0078 */\tstruct _IRP*\tPendingIrp;\n/* off 0x007c */\tunsigned long\tFlags;\n/* off 0x0080 */\tunsigned long\tUserFlags;\n/* off 0x0084 */\tunsigned long\tProblem;\n/* off 0x0088 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x008c */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x0090 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x009c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00a4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00a8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00ac */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00b0 */\tunsigned long\tBusNumber;\n/* off 0x00b4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00b8 */\tunsigned long\tChildBusNumber;\n/* off 0x00bc */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00be */\tunsigned char\tRemovalPolicy;\n/* off 0x00bf */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00c0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x00d8 */\tunsigned short\tNoTranslatorMask;\n/* off 0x00da */\tunsigned short\tQueryTranslatorMask;\n/* off 0x00dc */\tunsigned short\tNoArbiterMask;\n/* off 0x00de */\tunsigned short\tQueryArbiterMask;\n/* off 0x00e0 */\tstruct __unnamed\tOverUsed1;\n/* off 0x00e4 */\tstruct __unnamed\tOverUsed2;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x00ec */\tunsigned long\tCapabilityFlags;\n/* off 0x00f0 */\tstruct __unnamed\tDockInfo;\n/* off 0x0100 */\tunsigned long\tDisableableDepends;\n/* off 0x0104 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x010c */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0114 */\tunsigned long\tDriverUnloadRetryCount;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tWakeNeeded;\n/* off 0x000d */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tvoid*\tNode;\n/* off 0x0018 */\tunsigned short*\tDeviceName;\n/* off 0x001c */\tunsigned short*\tDriverName;\n/* off 0x0020 */\tunsigned long\tChildCount;\n/* off 0x0024 */\tunsigned long\tActiveChild;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tstruct __unnamed\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\tstruct __unnamed\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00000d70 3440 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tDebugActive;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nstruct _MMCOLOR_TABLES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tvoid*\tBlink;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tstruct __unnamed\tu2;\n/* off 0x000c */\tstruct __unnamed\tu3;\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0014 */\tstruct __unnamed\tu4;\n};\nstruct _MMPFNENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tModified:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadInProgress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWriteInProgress:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPageColor:3\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tParityError:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tPageLocation:3\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tRemovalRequested:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tCacheAttribute:2\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tRom:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tLockCharged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 16 */;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP*\tPagedPoolAllocationMap;\n/* off 0x0004 */\tstruct _RTL_BITMAP*\tEndOfPagedPoolBitmap;\n/* off 0x0008 */\tstruct _RTL_BITMAP*\tPagedPoolLargeSessionAllocationMap;\n/* off 0x000c */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x0010 */\tstruct _MMPTE*\tLastPteForPagedPool;\n/* off 0x0014 */\tstruct _MMPTE*\tNextPdeForPagedPoolExpansion;\n/* off 0x0018 */\tunsigned long\tPagedPoolHint;\n/* off 0x001c */\tunsigned long\tPagedPoolCommit;\n/* off 0x0020 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MMSESSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _FAST_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _FAST_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tchar*\tSystemSpaceViewStart;\n/* off 0x0028 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0034 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0038 */\tstruct _RTL_BITMAP*\tSystemSpaceBitMap;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001028 4136 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tunsigned long\tRunningAllocs;\n/* off 0x000c */\tunsigned long\tRunningDeAllocs;\n/* off 0x0010 */\tunsigned long\tTotalPages;\n/* off 0x0014 */\tunsigned long\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid*\tPendingFrees;\n/* off 0x0024 */\tlong\tPendingFreeDepth;\n/* off 0x0028 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001278 4728 */\n{\n/* off 0x0000 */\tunsigned long\tReferenceCount;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0010 */\tstruct _MM_SESSION_SPACE*\tGlobalVirtualAddress;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x001c */\tunsigned long\tNonPagedPoolBytes;\n/* off 0x0020 */\tunsigned long\tPagedPoolBytes;\n/* off 0x0024 */\tunsigned long\tNonPagedPoolAllocations;\n/* off 0x0028 */\tunsigned long\tPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tNonPagablePages;\n/* off 0x0030 */\tunsigned long\tCommittedPages;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0040 */\tstruct _MMPTE*\tPageTables;\n/* off 0x0044 */\tstruct _FAST_MUTEX\tPagedPoolMutex;\n/* off 0x0064 */\tvoid*\tPagedPoolStart;\n/* off 0x0068 */\tvoid*\tPagedPoolEnd;\n/* off 0x006c */\tstruct _MMPTE*\tPagedPoolBasePde;\n/* off 0x0070 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0094 */\tunsigned long\tColor;\n/* off 0x0098 */\tunsigned long\tProcessOutSwapCount;\n/* off 0x009c */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x00a4 */\tstruct _MMPTE*\tGlobalPteEntry;\n/* off 0x00a8 */\tunsigned long\tCopyOnWriteCount;\n/* off 0x00ac */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x00bc */\tunsigned long\tAttachCount;\n/* off 0x00c0 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x00d0 */\tstruct _EPROCESS*\tLastProcess;\n/* off 0x00d8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0118 */\tstruct _MMWSLE*\tWsle;\n/* off 0x011c */\tstruct _ERESOURCE\tWsLock;\n/* off 0x0154 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x015c */\tstruct _MMSESSION\tSession;\n/* off 0x0198 */\tstruct _DRIVER_OBJECT\tWin32KDriverObject;\n/* off 0x0240 */\tstruct _ETHREAD*\tWorkingSetLockOwner;\n/* off 0x0244 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x126c */\tlong\tProcessReferenceToSession;\n/* off 0x1270 */\tunsigned long\tLocaleId;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tFiller0:3\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHasWsLock:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tFiller:26\t /* start bit 6 */;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\tstruct __unnamed\tData;\n};\nenum CPU_VENDORS\n{\n\tCPU_NONE\t=0x00000000\t,//0\n\tCPU_INTEL\t=0x00000001\t,//0\n\tCPU_AMD\t=0x00000002\t,//0\n\tCPU_CYRIX\t=0x00000003\t,//0\n\tCPU_TRANSMETA\t=0x00000004\t,//0\n\tCPU_CENTAUR\t=0x00000005\t,//0\n\tCPU_RISE\t=0x00000006\t,//0\n\tCPU_UNKNOWN\t=0x00000007\t,//0\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char Spare[3];\nunion\n{\n/* off 0x0008 */\tstruct __unnamed\tBattery;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x007c */\tstruct _IRP*\tIrp;\n/* off 0x0080 */\tstruct _THERMAL_INFORMATION\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000003\t,//0\n\tPolicySetPowerStateAPI\t=0x00000004\t,//0\n\tPolicyImmediateDozeS4\t=0x00000005\t,//0\n\tPolicySystemIdle\t=0x00000006\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nstruct _PROCESSOR_POWER_POLICY_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned long\tDemoteLimit;\n/* off 0x0008 */\tunsigned long\tPromoteLimit;\n/* off 0x000c */\tunsigned char\tDemotePercent;\n/* off 0x000d */\tunsigned char\tPromotePercent;\n/* off 0x000e */\tunsigned char Spare[2];\n/* off 0x0010 */\tunsigned long\tAllowDemotion:1\t /* start bit 0 */;\n/* off 0x0010 */\tunsigned long\tAllowPromotion:1\t /* start bit 1 */;\n/* off 0x0010 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n};\nstruct _PROCESSOR_POWER_POLICY /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tDynamicThrottle;\n/* off 0x0005 */\tunsigned char Spare[3];\n/* off 0x0008 */\tunsigned long\tDisableCStates:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x000c */\tunsigned long\tPolicyCount;\n/* off 0x0010 */\tstruct _PROCESSOR_POWER_POLICY_INFO Policy[3];\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\tunsigned short Name[1];\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tSpare6\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tMaximumWaitReason\t=0x0000001b\t,//0\n};\nstruct _MMFREE_POOL_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tSignature;\n/* off 0x0010 */\tstruct _MMFREE_POOL_ENTRY*\tOwner;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _KUSER_SHARED_DATA /* sizeof 00000338 824 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLow;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\tunsigned short NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long Reserved2[8];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\n/* off 0x02f0 */\tunsigned long\tTraceLogging;\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _MMVAD_LONG /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n/* off 0x0028 */\tstruct __unnamed\tu3;\n/* off 0x0030 */\tstruct __unnamed\tu4;\n};\nstruct _MMVAD /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPhysicalMapping:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tImageMap:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tUserPhysicalPages:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tWriteWatch:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartVpn;\n/* off 0x0004 */\tunsigned long\tEndVpn;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tNumberOfPages;\n};\nstruct _PCI_SLOT_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct PCI_POWER_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0004 */\tenum _DEVICE_POWER_STATE\tCurrentDeviceState;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tSystemWakeLevel;\n/* off 0x000c */\tenum _DEVICE_POWER_STATE\tDeviceWakeLevel;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE SystemStateMapping[7];\n/* off 0x002c */\tstruct _IRP*\tWaitWakeIrp;\n/* off 0x0030 */\tvoid( __stdcall *SavedCancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tlong\tPaging;\n/* off 0x0038 */\tlong\tHibernate;\n/* off 0x003c */\tlong\tCrashDump;\n};\nunion PCI_HEADER_TYPE_DEPENDENT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\ttype0;\n/* off 0x0000 */\tstruct __unnamed\ttype1;\n/* off 0x0000 */\tstruct __unnamed\ttype2;\n};\nstruct _PCI_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAtom;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n};\nstruct _PM_SUPPORT /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRsvd2:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tD1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tD2:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPMED0:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tPMED1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tPMED2:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tPMED3Hot:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tPMED3Cold:1\t /* start bit 7 */;\n};\nstruct _PCI_PMC /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tVersion:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tPMEClock:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tRsvd1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tDeviceSpecificInitialization:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tRsvd2:2\t /* start bit 6 */;\n/* off 0x0001 */\tstruct _PM_SUPPORT\tSupport;\n};\nstruct _PCI_PDO_EXTENSION /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PCI_PDO_EXTENSION*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _PCI_SLOT_NUMBER\tSlot;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0028 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x002c */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x0030 */\tunsigned long\tBusInterfaceReferenceCount;\n/* off 0x0034 */\tunsigned long\tAgpInterfaceReferenceCount;\n/* off 0x0038 */\tunsigned short\tVendorId;\n/* off 0x003a */\tunsigned short\tDeviceId;\n/* off 0x003c */\tunsigned short\tSubsystemVendorId;\n/* off 0x003e */\tunsigned short\tSubsystemId;\n/* off 0x0040 */\tunsigned char\tRevisionId;\n/* off 0x0041 */\tunsigned char\tProgIf;\n/* off 0x0042 */\tunsigned char\tSubClass;\n/* off 0x0043 */\tunsigned char\tBaseClass;\n/* off 0x0044 */\tunsigned char\tAdditionalResourceCount;\n/* off 0x0045 */\tunsigned char\tAdjustedInterruptLine;\n/* off 0x0046 */\tunsigned char\tInterruptPin;\n/* off 0x0047 */\tunsigned char\tRawInterruptLine;\n/* off 0x0048 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0049 */\tunsigned char\tSavedLatencyTimer;\n/* off 0x004a */\tunsigned char\tSavedCacheLineSize;\n/* off 0x004b */\tunsigned char\tHeaderType;\n/* off 0x004c */\tunsigned char\tNotPresent;\n/* off 0x004d */\tunsigned char\tReportedMissing;\n/* off 0x004e */\tunsigned char\tExpectedWritebackFailure;\n/* off 0x004f */\tunsigned char\tNoTouchPmeEnable;\n/* off 0x0050 */\tunsigned char\tLegacyDriver;\n/* off 0x0051 */\tunsigned char\tUpdateHardware;\n/* off 0x0052 */\tunsigned char\tMovedDevice;\n/* off 0x0053 */\tunsigned char\tDisablePowerDown;\n/* off 0x0054 */\tunsigned char\tNeedsHotPlugConfiguration;\n/* off 0x0055 */\tunsigned char\tSwitchedIDEToNativeMode;\n/* off 0x0056 */\tunsigned char\tBIOSAllowsIDESwitchToNativeMode;\n/* off 0x0057 */\tunsigned char\tIoSpaceUnderNativeIdeControl;\n/* off 0x0058 */\tunsigned char\tOnDebugPath;\n/* off 0x005c */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x009c */\tunion PCI_HEADER_TYPE_DEPENDENT\tDependent;\n/* off 0x00a0 */\tunsigned __int64\tHackFlags;\n/* off 0x00a8 */\tstruct PCI_FUNCTION_RESOURCES*\tResources;\n/* off 0x00ac */\tstruct _PCI_FDO_EXTENSION*\tBridgeFdoExtension;\n/* off 0x00b0 */\tstruct _PCI_PDO_EXTENSION*\tNextBridge;\n/* off 0x00b4 */\tstruct _PCI_PDO_EXTENSION*\tNextHashEntry;\n/* off 0x00b8 */\tstruct _PCI_LOCK\tLock;\n/* off 0x00c0 */\tstruct _PCI_PMC\tPowerCapabilities;\n/* off 0x00c2 */\tunsigned char\tTargetAgpCapabilityId;\n/* off 0x00c4 */\tunsigned short\tCommandEnables;\n/* off 0x00c6 */\tunsigned short\tInitialCommand;\n};\nenum PCI_SIGNATURE\n{\n\tPciPdoExtensionType\t=0x69635030\t,//0\n\tPciFdoExtensionType\t=0x69635031\t,//0\n\tPciArb_Io\t=0x69635032\t,//0\n\tPciArb_Memory\t=0x69635033\t,//0\n\tPciArb_Interrupt\t=0x69635034\t,//0\n\tPciArb_BusNumber\t=0x69635035\t,//0\n\tPciTrans_Interrupt\t=0x69635036\t,//0\n\tPciInterface_BusHandler\t=0x69635037\t,//0\n\tPciInterface_IntRouteHandler\t=0x69635038\t,//0\n\tPciInterface_PciCb\t=0x69635039\t,//0\n\tPciInterface_LegacyDeviceDetection\t=0x6963503a\t,//0\n\tPciInterface_PmeHandler\t=0x6963503b\t,//0\n\tPciInterface_DevicePresent\t=0x6963503c\t,//0\n\tPciInterface_NativeIde\t=0x6963503d\t,//0\n\tPciInterface_AgpTarget\t=0x6963503e\t,//0\n};\nstruct _PCI_MJ_DISPATCH_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tPnpIrpMaximumMinorFunction;\n/* off 0x0004 */\tstruct _PCI_MN_DISPATCH_TABLE*\tPnpIrpDispatchTable;\n/* off 0x0008 */\tunsigned long\tPowerIrpMaximumMinorFunction;\n/* off 0x000c */\tstruct _PCI_MN_DISPATCH_TABLE*\tPowerIrpDispatchTable;\n/* off 0x0010 */\tenum _PCI_DISPATCH_STYLE\tSystemControlIrpDispatchStyle;\n/* off 0x0014 */\tlong( __stdcall *SystemControlIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n/* off 0x0018 */\tenum _PCI_DISPATCH_STYLE\tOtherIrpDispatchStyle;\n/* off 0x001c */\tlong( __stdcall *OtherIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nstruct _PCI_MN_DISPATCH_TABLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum _PCI_DISPATCH_STYLE\tDispatchStyle;\n/* off 0x0004 */\tlong( __stdcall *DispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nenum _PCI_DISPATCH_STYLE\n{\n\tIRP_COMPLETE\t=0x00000000\t,//0\n\tIRP_DOWNWARD\t=0x00000001\t,//0\n\tIRP_UPWARD\t=0x00000002\t,//0\n\tIRP_DISPATCH\t=0x00000003\t,//0\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\tstruct __unnamed\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _PCI_COMMON_EXTENSION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n};\nstruct _PCI_FDO_EXTENSION /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tFunctionalDeviceObject;\n/* off 0x0028 */\tstruct _DEVICE_OBJECT*\tAttachedDeviceObject;\n/* off 0x002c */\tstruct _KEVENT\tChildListLock;\n/* off 0x003c */\tstruct _PCI_PDO_EXTENSION*\tChildPdoList;\n/* off 0x0040 */\tstruct _PCI_FDO_EXTENSION*\tBusRootFdoExtension;\n/* off 0x0044 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x0048 */\tstruct _PCI_PDO_EXTENSION*\tChildBridgePdoList;\n/* off 0x004c */\tstruct _PCI_BUS_INTERFACE_STANDARD*\tPciBusInterface;\n/* off 0x0050 */\tunsigned char\tMaxSubordinateBus;\n/* off 0x0054 */\tstruct _BUS_HANDLER*\tBusHandler;\n/* off 0x0058 */\tunsigned char\tBaseBus;\n/* off 0x0059 */\tunsigned char\tFake;\n/* off 0x005a */\tunsigned char\tChildDelete;\n/* off 0x005b */\tunsigned char\tScanned;\n/* off 0x005c */\tunsigned char\tArbitersInitialized;\n/* off 0x005d */\tunsigned char\tBrokenVideoHackApplied;\n/* off 0x005e */\tunsigned char\tHibernated;\n/* off 0x0060 */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x00a0 */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x00a4 */\tunsigned long\tChildWaitWakeCount;\n/* off 0x00a8 */\tstruct _PCI_COMMON_CONFIG*\tPreservedConfig;\n/* off 0x00ac */\tstruct _PCI_LOCK\tLock;\n/* off 0x00b4 */\tstruct __unnamed\tHotPlugParameters;\n/* off 0x00bc */\tunsigned long\tBusHackFlags;\n};\nstruct _PCI_BUS_INTERFACE_STANDARD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ReadConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0014 */\tunsigned long( __stdcall *WriteConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0018 */\tvoid( __stdcall *PinToLine)(void*,struct _PCI_COMMON_CONFIG*);\n/* off 0x001c */\tvoid( __stdcall *LineToPin)(void*,struct _PCI_COMMON_CONFIG*,struct _PCI_COMMON_CONFIG*);\n};\nstruct _PCI_COMMON_CONFIG /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned short\tCommand;\n/* off 0x0006 */\tunsigned short\tStatus;\n/* off 0x0008 */\tunsigned char\tRevisionID;\n/* off 0x0009 */\tunsigned char\tProgIf;\n/* off 0x000a */\tunsigned char\tSubClass;\n/* off 0x000b */\tunsigned char\tBaseClass;\n/* off 0x000c */\tunsigned char\tCacheLineSize;\n/* off 0x000d */\tunsigned char\tLatencyTimer;\n/* off 0x000e */\tunsigned char\tHeaderType;\n/* off 0x000f */\tunsigned char\tBIST;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0040 */\tunsigned char DeviceSpecific[192];\n};\nstruct _BUS_HANDLER /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tenum _BUS_DATA_TYPE\tConfigurationType;\n/* off 0x000c */\tunsigned long\tBusNumber;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tstruct _BUS_HANDLER*\tParentHandler;\n/* off 0x0018 */\tvoid*\tBusData;\n/* off 0x001c */\tunsigned long\tDeviceControlExtensionSize;\n/* off 0x0020 */\tstruct _SUPPORTED_RANGES*\tBusAddresses;\n/* off 0x0024 */\tunsigned long Reserved[4];\n/* off 0x0034 */\tunsigned long( __stdcall *GetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0038 */\tunsigned long( __stdcall *SetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x003c */\tlong( __stdcall *AdjustResourceList)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _IO_RESOURCE_REQUIREMENTS_LIST**);\n/* off 0x0040 */\tlong( __stdcall *AssignSlotResources)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _UNICODE_STRING*,struct _UNICODE_STRING*,struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*,unsigned long,struct _CM_RESOURCE_LIST**);\n/* off 0x0044 */\tunsigned long( __stdcall *GetInterruptVector)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,unsigned long,unsigned char*,unsigned long*);\n/* off 0x0048 */\tunsigned char( __stdcall *TranslateBusAddress)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,union _LARGE_INTEGER,unsigned long*,union _LARGE_INTEGER*);\n/* off 0x004c */\tvoid*\tSpare1;\n/* off 0x0050 */\tvoid*\tSpare2;\n/* off 0x0054 */\tvoid*\tSpare3;\n/* off 0x0058 */\tvoid*\tSpare4;\n/* off 0x005c */\tvoid*\tSpare5;\n/* off 0x0060 */\tvoid*\tSpare6;\n/* off 0x0064 */\tvoid*\tSpare7;\n/* off 0x0068 */\tvoid*\tSpare8;\n};\nenum _BUS_DATA_TYPE\n{\n\tConfigurationSpaceUndefined\t=0xffffffff\t,//-1\n\tCmos\t=0x00000000\t,//0\n\tEisaConfiguration\t=0x00000001\t,//0\n\tPos\t=0x00000002\t,//0\n\tCbusConfiguration\t=0x00000003\t,//0\n\tPCIConfiguration\t=0x00000004\t,//0\n\tVMEConfiguration\t=0x00000005\t,//0\n\tNuBusConfiguration\t=0x00000006\t,//0\n\tPCMCIAConfiguration\t=0x00000007\t,//0\n\tMPIConfiguration\t=0x00000008\t,//0\n\tMPSAConfiguration\t=0x00000009\t,//0\n\tPNPISAConfiguration\t=0x0000000a\t,//0\n\tSgiInternalConfiguration\t=0x0000000b\t,//0\n\tMaximumBusDataType\t=0x0000000c\t,//0\n};\nstruct _SUPPORTED_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _SUPPORTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tSystemAddressSpace;\n/* off 0x0008 */\t__int64\tSystemBase;\n/* off 0x0010 */\t__int64\tBase;\n/* off 0x0018 */\t__int64\tLimit;\n};\nstruct _SUPPORTED_RANGES /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tSorted;\n/* off 0x0003 */\tunsigned char\tReserved;\n/* off 0x0004 */\tunsigned long\tNoIO;\n/* off 0x0008 */\tstruct _SUPPORTED_RANGE\tIO;\n/* off 0x0028 */\tunsigned long\tNoMemory;\n/* off 0x0030 */\tstruct _SUPPORTED_RANGE\tMemory;\n/* off 0x0050 */\tunsigned long\tNoPrefetchMemory;\n/* off 0x0058 */\tstruct _SUPPORTED_RANGE\tPrefetchMemory;\n/* off 0x0078 */\tunsigned long\tNoDma;\n/* off 0x0080 */\tstruct _SUPPORTED_RANGE\tDma;\n};\nstruct PCI_FUNCTION_RESOURCES /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _IO_RESOURCE_DESCRIPTOR Limit[7];\n/* off 0x00e0 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7];\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\tstruct __unnamed\tAllocated;\n/* off 0x0010 */\tstruct __unnamed\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _SYSPTES_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct __unnamed\tParameters;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\tstruct __unnamed\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tunsigned short\tReserved;\n/* off 0x00a2 */\tunsigned short\tSymbolicLinkUsageCount;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _KINTERRUPT /* sizeof 000001e4 484 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tvoid*\tServiceContext;\n/* off 0x0014 */\tunsigned long\tSpinLock;\n/* off 0x0018 */\tunsigned long\tTickCount;\n/* off 0x001c */\tunsigned long*\tActualLock;\n/* off 0x0020 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x0024 */\tunsigned long\tVector;\n/* off 0x0028 */\tunsigned char\tIrql;\n/* off 0x0029 */\tunsigned char\tSynchronizeIrql;\n/* off 0x002a */\tunsigned char\tFloatingSave;\n/* off 0x002b */\tunsigned char\tConnected;\n/* off 0x002c */\tchar\tNumber;\n/* off 0x002d */\tunsigned char\tShareVector;\n/* off 0x0030 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0034 */\tunsigned long\tServiceCount;\n/* off 0x0038 */\tunsigned long\tDispatchCount;\n/* off 0x003c */\tunsigned long DispatchCode[106];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nstruct PCI_SECONDARY_EXTENSION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tvoid( __stdcall *Destructor)(void*);\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 0000009c 156 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tint\tResourceType;\n/* off 0x0010 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x0018 */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0020 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x0028 */\tlong\tReferenceCount;\n/* off 0x002c */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0030 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0034 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x0038 */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned long*,unsigned long*);\n/* off 0x003c */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0040 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned long*);\n/* off 0x0044 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x0048 */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x004c */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0050 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0054 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x005c */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0060 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _DEVICE_OBJECT*,struct _IO_RESOURCE_DESCRIPTOR*,unsigned long*,struct _ARBITER_CONFLICT_INFO**);\n/* off 0x0064 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _IO_RESOURCE_DESCRIPTOR*,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0068 */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x006c */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0070 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char\tTransactionInProgress;\n/* off 0x008c */\tvoid*\tExtension;\n/* off 0x0090 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x0094 */\tvoid*\tConflictCallbackContext;\n/* off 0x0098 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n};\nstruct _PCI_ARBITER_INSTANCE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tstruct PCI_SECONDARY_EXTENSION\tHeader;\n/* off 0x000c */\tstruct _PCI_INTERFACE*\tInterface;\n/* off 0x0010 */\tstruct _PCI_FDO_EXTENSION*\tBusFdoExtension;\n/* off 0x0014 */\tunsigned short InstanceName[24];\n/* off 0x0044 */\tstruct _ARBITER_INSTANCE\tCommonInstance;\n};\nstruct _PCI_INTERFACE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n/* off 0x0004 */\tunsigned short\tMinSize;\n/* off 0x0006 */\tunsigned short\tMinVersion;\n/* off 0x0008 */\tunsigned short\tMaxVersion;\n/* off 0x000a */\tunsigned short\tFlags;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tenum PCI_SIGNATURE\tSignature;\n/* off 0x0014 */\tlong( __stdcall *Constructor)(void*,void*,void*,unsigned short,unsigned short,struct _INTERFACE*);\n/* off 0x0018 */\tlong( __stdcall *Initializer)(struct _PCI_ARBITER_INSTANCE*);\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned long\tLength;\n/* off 0x0014 */\tunsigned long\tAlignment;\n/* off 0x0018 */\tlong\tPriority;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x0024 */\tunsigned long Reserved[3];\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _MMPAGING_FILE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tCurrentUsage;\n/* off 0x0014 */\tunsigned long\tPeakUsage;\n/* off 0x0018 */\tunsigned long\tHint;\n/* off 0x001c */\tunsigned long\tHighestPage;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0028 */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x0038 */\tunsigned long\tPageFileNumber;\n/* off 0x003c */\tunsigned char\tExtended;\n/* off 0x003d */\tunsigned char\tHintSetToZero;\n/* off 0x003e */\tunsigned char\tBootPartition;\n/* off 0x0040 */\tvoid*\tFileHandle;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _IRP*\tIrp;\n/* off 0x001c */\tunsigned long\tLastPageToWrite;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_LISTHEAD*\tPagingListHead;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tCurrentList;\n/* off 0x0028 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0034 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0038 */\tstruct _MDL\tMdl;\n/* off 0x0054 */\tunsigned long Page[1];\n};\nstruct _MMMOD_WRITER_LISTHEAD /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nenum _MEMORY_TYPE\n{\n\tMemoryExceptionBlock\t=0x00000000\t,//0\n\tMemorySystemBlock\t=0x00000001\t,//0\n\tMemoryFree\t=0x00000002\t,//0\n\tMemoryBad\t=0x00000003\t,//0\n\tMemoryLoadedProgram\t=0x00000004\t,//0\n\tMemoryFirmwareTemporary\t=0x00000005\t,//0\n\tMemoryFirmwarePermanent\t=0x00000006\t,//0\n\tMemoryFreeContiguous\t=0x00000007\t,//0\n\tMemorySpecialMemory\t=0x00000008\t,//0\n\tMemoryMaximum\t=0x00000009\t,//0\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\n/* off 0x0023 */\tunsigned char\tSpare1;\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long Reserved[1];\n};\nstruct _POP_IDLE_HANDLER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tLatency;\n/* off 0x0004 */\tunsigned long\tTimeCheck;\n/* off 0x0008 */\tunsigned long\tDemoteLimit;\n/* off 0x000c */\tunsigned long\tPromoteLimit;\n/* off 0x0010 */\tunsigned long\tPromoteCount;\n/* off 0x0014 */\tunsigned char\tDemote;\n/* off 0x0015 */\tunsigned char\tPromote;\n/* off 0x0016 */\tunsigned char\tPromotePercent;\n/* off 0x0017 */\tunsigned char\tDemotePercent;\n/* off 0x0018 */\tunsigned char\tState;\n/* off 0x0019 */\tunsigned char Spare[3];\n/* off 0x001c */\tunsigned char( __fastcall *IdleFunction)(struct PROCESSOR_IDLE_TIMES*);\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char spare2[4];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _SEP_AUDIT_POLICY_CATEGORIES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSystem:4\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLogon:4\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tObjectAccess:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tPrivilegeUse:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDetailedTracking:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tPolicyChange:4\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tAccountManagement:4\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tDirectoryServiceAccess:4\t /* start bit 28 */;\n/* off 0x0004 */\tunsigned long\tAccountLogon:4\t /* start bit 0 */;\n};\nstruct _SEP_AUDIT_POLICY_OVERLAY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicyBits:36\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tSetBit:1\t /* start bit 36 */;\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_CATEGORIES\tPolicyElements;\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_OVERLAY\tPolicyOverlay;\n/* off 0x0000 */\tunsigned __int64\tOverlay;\n};\n};\nstruct _TOKEN /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0038 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0040 */\tstruct _LUID\tModifiedId;\n/* off 0x0048 */\tunsigned long\tSessionId;\n/* off 0x004c */\tunsigned long\tUserAndGroupCount;\n/* off 0x0050 */\tunsigned long\tRestrictedSidCount;\n/* off 0x0054 */\tunsigned long\tPrivilegeCount;\n/* off 0x0058 */\tunsigned long\tVariableLength;\n/* off 0x005c */\tunsigned long\tDynamicCharged;\n/* off 0x0060 */\tunsigned long\tDynamicAvailable;\n/* off 0x0064 */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0068 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x006c */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0070 */\tvoid*\tPrimaryGroup;\n/* off 0x0074 */\tstruct _LUID_AND_ATTRIBUTES*\tPrivileges;\n/* off 0x0078 */\tunsigned long*\tDynamicPart;\n/* off 0x007c */\tstruct _ACL*\tDefaultDacl;\n/* off 0x0080 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x0084 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0088 */\tunsigned long\tTokenFlags;\n/* off 0x008c */\tunsigned char\tTokenInUse;\n/* off 0x0090 */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x0094 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x0098 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00a0 */\tunsigned long\tVariablePart;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0008 */\tvoid*\tActiveFrame;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFrameListCache;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _Wx86ThreadState /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long*\tCallBx86Eip;\n/* off 0x0004 */\tvoid*\tDeallocationCpu;\n/* off 0x0008 */\tunsigned char\tUseKnownWx86Dll;\n/* off 0x0009 */\tchar\tOleStubInvoked;\n};\nstruct _TEB /* sizeof 00000fb8 4024 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK\tActivationContextStack;\n/* off 0x01bc */\tunsigned char SpareBytes1[24];\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\tunsigned short StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorsAreDisabled;\n/* off 0x0f2c */\tvoid* Instrumentation[16];\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tInDbgPrint;\n/* off 0x0f75 */\tunsigned char\tFreeStackOnTermination;\n/* off 0x0f76 */\tunsigned char\tHasFiberData;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tSpare3;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tstruct _Wx86ThreadState\tWx86Thread;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tunsigned char\tSafeThunkCall;\n/* off 0x0fb5 */\tunsigned char BooleanSpare[3];\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _PCI_HEADER_TYPE_0 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[6];\n/* off 0x0018 */\tunsigned long\tCIS;\n/* off 0x001c */\tunsigned short\tSubVendorID;\n/* off 0x001e */\tunsigned short\tSubSystemID;\n/* off 0x0020 */\tunsigned long\tROMBaseAddress;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tReserved2;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned char\tMinimumGrant;\n/* off 0x002f */\tunsigned char\tMaximumLatency;\n};\nstruct _PCI_HEADER_TYPE_1 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[2];\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tunsigned char\tIOBase;\n/* off 0x000d */\tunsigned char\tIOLimit;\n/* off 0x000e */\tunsigned short\tSecondaryStatus;\n/* off 0x0010 */\tunsigned short\tMemoryBase;\n/* off 0x0012 */\tunsigned short\tMemoryLimit;\n/* off 0x0014 */\tunsigned short\tPrefetchBase;\n/* off 0x0016 */\tunsigned short\tPrefetchLimit;\n/* off 0x0018 */\tunsigned long\tPrefetchBaseUpper32;\n/* off 0x001c */\tunsigned long\tPrefetchLimitUpper32;\n/* off 0x0020 */\tunsigned short\tIOBaseUpper16;\n/* off 0x0022 */\tunsigned short\tIOLimitUpper16;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tROMBaseAddress;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _PCI_HEADER_TYPE_2 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tSocketRegistersBaseAddress;\n/* off 0x0004 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tSecondaryStatus;\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tstruct __unnamed Range[4];\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tKey;\n/* off 0x0004 */\tunsigned long\tNonPagedAllocs;\n/* off 0x0008 */\tunsigned long\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nenum _PS_QUOTA_TYPE\n{\n\tPsNonPagedPool\t=0x00000000\t,//0\n\tPsPagedPool\t=0x00000001\t,//0\n\tPsPageFile\t=0x00000002\t,//0\n\tPsQuotaTypes\t=0x00000003\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nstruct _POP_POWER_ACTION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tunsigned char\tIrpMinor;\n/* off 0x0018 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x001c */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0020 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0024 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0028 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tLastWakeState;\n/* off 0x0030 */\tunsigned __int64\tWakeTime;\n/* off 0x0038 */\tunsigned __int64\tSleepTime;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tLevelReady;\n/* off 0x0010 */\tunsigned long\tDeviceCount;\n/* off 0x0014 */\tunsigned long\tActiveCount;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned long\tDevNodeSequence;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_POWER_IRP /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFree;\n/* off 0x0004 */\tstruct _IRP*\tIrp;\n/* off 0x0008 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x000c */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x001c */\tstruct _LIST_ENTRY\tAbort;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tFailed;\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000620 1568 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n/* off 0x0018 */\tunsigned long\tSpinLock;\n/* off 0x001c */\tstruct _KTHREAD*\tThread;\n/* off 0x0020 */\tunsigned char\tGetNewDeviceList;\n/* off 0x0024 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x026c */\tlong\tStatus;\n/* off 0x0270 */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0274 */\tunsigned char\tWaking;\n/* off 0x0275 */\tunsigned char\tCancelled;\n/* off 0x0276 */\tunsigned char\tIgnoreErrors;\n/* off 0x0277 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0278 */\tunsigned char\tWaitAny;\n/* off 0x0279 */\tunsigned char\tWaitAll;\n/* off 0x027c */\tstruct _LIST_ENTRY\tPresentIrpQueue;\n/* off 0x0284 */\tstruct _POP_DEVICE_POWER_IRP\tHead;\n/* off 0x02b0 */\tstruct _POP_DEVICE_POWER_IRP PowerIrpState[20];\n};\nstruct _PO_HIBER_PERF /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tLinkFile;\n/* off 0x0008 */\tvoid*\tLinkFileHandle;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tMapFrozen;\n/* off 0x0014 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x001c */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0024 */\tunsigned long\tClonedRangeCount;\n/* off 0x0028 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x002c */\tunsigned long\tNextPreserve;\n/* off 0x0030 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0034 */\tstruct _MDL*\tClones;\n/* off 0x0038 */\tunsigned char*\tNextClone;\n/* off 0x003c */\tunsigned long\tNoClones;\n/* off 0x0040 */\tstruct _MDL*\tSpares;\n/* off 0x0048 */\tunsigned __int64\tPagesOut;\n/* off 0x0050 */\tvoid*\tIoPage;\n/* off 0x0054 */\tvoid*\tCurrentMcb;\n/* off 0x0058 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x005c */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0060 */\tunsigned long\tNoRanges;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x007c */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0080 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0084 */\tunsigned long*\tPerformanceStats;\n/* off 0x0088 */\tvoid*\tCompressionBlock;\n/* off 0x008c */\tvoid*\tDmaIO;\n/* off 0x0090 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\tstruct __unnamed\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunsigned long\tImageType;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0028 */\tunsigned __int64\tInterruptTime;\n/* off 0x0030 */\tunsigned long\tFeatureFlags;\n/* off 0x0034 */\tunsigned char\tHiberFlags;\n/* off 0x0035 */\tunsigned char spare[3];\n/* off 0x0038 */\tunsigned long\tNoHiberPtes;\n/* off 0x003c */\tunsigned long\tHiberVa;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0048 */\tunsigned long\tNoFreePages;\n/* off 0x004c */\tunsigned long\tFreeMapCheck;\n/* off 0x0050 */\tunsigned long\tWakeCheck;\n/* off 0x0054 */\tunsigned long\tTotalPages;\n/* off 0x0058 */\tunsigned long\tFirstTablePage;\n/* off 0x005c */\tunsigned long\tLastFilePage;\n/* off 0x0060 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct __unnamed\tRange;\n/* off 0x0000 */\tstruct __unnamed\tLink;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct __unnamed\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _MMVAD_SHORT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\tstruct __unnamed\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tMaxPlugEventCategory\t=0x00000009\t,//0\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _FAST_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nenum _MMSYSTEM_PTE_POOL_TYPE\n{\n\tSystemPteSpace\t=0x00000000\t,//0\n\tNonPagedPoolExpansion\t=0x00000001\t,//0\n\tMaximumPtePoolTypes\t=0x00000002\t,//0\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileMaximumInformation\t=0x00000029\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsMaximumInformation\t=0x0000000a\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tListIndex;\n/* off 0x0004 */\tstruct _MI_VERIFIER_DRIVER_ENTRY*\tVerifier;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunsigned long\tReserved;\n/* off 0x002c */\tunsigned long\tVerifierPoolLock;\n/* off 0x0030 */\tstruct _VI_POOL_ENTRY*\tPoolHash;\n/* off 0x0034 */\tunsigned long\tPoolHashSize;\n/* off 0x0038 */\tunsigned long\tPoolHashFree;\n/* off 0x003c */\tunsigned long\tPoolHashReserved;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tunsigned long\tFreeListNext;\n};\n};\nstruct _CM_KEY_BODY /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tunsigned long\tCallers;\n/* off 0x0014 */\tvoid* CallerAddress[10];\n/* off 0x003c */\tstruct _LIST_ENTRY\tKeyBodyList;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.0.6000.16386.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long Reserved[4];\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tstruct PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tLastIdleTime;\n/* off 0x0018 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0038 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x003c */\tstruct PPM_PERF_STATES*\tPerfStates;\n/* off 0x0040 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0044 */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0048 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0050 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0058 */\tunsigned char\tThermalConstraint;\n/* off 0x0059 */\tunsigned char\tLastBusyPercentage;\n/* off 0x005a */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0060 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0088 */\tstruct _KDPC\tPerfDpc;\n/* off 0x00a8 */\tunsigned long\tLastSysTime;\n/* off 0x00ac */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x00b0 */\tunsigned long\tPStateSet;\n/* off 0x00b4 */\tunsigned long\tCurrentPState;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tDesiredPState;\n/* off 0x00c0 */\tunsigned long\tReserved1;\n/* off 0x00c4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00c8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00cc */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00d0 */\tunsigned long\tPStateStartTime;\n/* off 0x00d4 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00d8 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00001f98 8088 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char PrcbPad0[88];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[33];\n/* off 0x0520 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x0524 */\tunsigned long\tInterruptCount;\n/* off 0x0528 */\tunsigned long\tKernelTime;\n/* off 0x052c */\tunsigned long\tUserTime;\n/* off 0x0530 */\tunsigned long\tDpcTime;\n/* off 0x0534 */\tunsigned long\tDpcTimeCount;\n/* off 0x0538 */\tunsigned long\tInterruptTime;\n/* off 0x053c */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x0540 */\tunsigned long\tPageColor;\n/* off 0x0544 */\tunsigned char\tSkipTick;\n/* off 0x0545 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x0546 */\tunsigned char\tNodeColor;\n/* off 0x0547 */\tunsigned char\tPollSlot;\n/* off 0x0548 */\tunsigned long\tNodeShiftedColor;\n/* off 0x054c */\tstruct _KNODE*\tParentNode;\n/* off 0x0550 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x0554 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x0558 */\tunsigned long\tSecondaryColorMask;\n/* off 0x055c */\tunsigned long\tDpcTimeLimit;\n/* off 0x0560 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x0564 */\tunsigned long\tCcFastReadWait;\n/* off 0x0568 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x056c */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x0570 */\tunsigned long\tCcCopyReadWait;\n/* off 0x0574 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x0578 */\tlong\tMmSpinLockOrdering;\n/* off 0x057c */\tlong\tIoReadOperationCount;\n/* off 0x0580 */\tlong\tIoWriteOperationCount;\n/* off 0x0584 */\tlong\tIoOtherOperationCount;\n/* off 0x0588 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0590 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0598 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x05a0 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x05a4 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x05a8 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x05ac */\tunsigned long\tCcMapDataNoWait;\n/* off 0x05b0 */\tunsigned long\tCcMapDataWait;\n/* off 0x05b4 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x05b8 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x05bc */\tunsigned long\tCcPinReadWait;\n/* off 0x05c0 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x05c4 */\tunsigned long\tCcMdlReadWait;\n/* off 0x05c8 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x05cc */\tunsigned long\tCcLazyWriteIos;\n/* off 0x05d0 */\tunsigned long\tCcLazyWritePages;\n/* off 0x05d4 */\tunsigned long\tCcDataFlushes;\n/* off 0x05d8 */\tunsigned long\tCcDataPages;\n/* off 0x05dc */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x05e0 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x05e4 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x05e8 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x05ec */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x05f0 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x05f4 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x05f8 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x05fc */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0600 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0604 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0608 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x060c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0610 */\tunsigned long\tKeSystemCalls;\n/* off 0x0614 */\tunsigned long PrcbPad1[3];\n/* off 0x0620 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x06a0 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0fa0 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x18a0 */\tunsigned long\tPacketBarrier;\n/* off 0x18a4 */\tlong\tReverseStall;\n/* off 0x18a8 */\tvoid*\tIpiFrame;\n/* off 0x18ac */\tunsigned char PrcbPad2[52];\n/* off 0x18e0 */\tvoid* CurrentPacket[3];\n/* off 0x18ec */\tunsigned long\tTargetSet;\n/* off 0x18f0 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x18f4 */\tunsigned long\tIpiFrozen;\n/* off 0x18f8 */\tunsigned char PrcbPad3[40];\n/* off 0x1920 */\tunsigned long\tRequestSummary;\n/* off 0x1924 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x1928 */\tunsigned char PrcbPad4[56];\n/* off 0x1960 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1988 */\tvoid*\tDpcStack;\n/* off 0x198c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1990 */\tunsigned long\tDpcRequestRate;\n/* off 0x1994 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1998 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1999 */\tunsigned char\tDpcThreadRequested;\n/* off 0x199a */\tunsigned char\tDpcRoutineActive;\n/* off 0x199b */\tunsigned char\tDpcThreadActive;\n/* off 0x199c */\tunsigned long\tPrcbLock;\n/* off 0x19a0 */\tunsigned long\tDpcLastCount;\n/* off 0x19a4 */\tunsigned long\tTimerHand;\n/* off 0x19a8 */\tunsigned long\tTimerRequest;\n/* off 0x19ac */\tvoid*\tPrcbPad41;\n/* off 0x19b0 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x19c0 */\tunsigned char\tThreadDpcEnable;\n/* off 0x19c1 */\tunsigned char\tQuantumEnd;\n/* off 0x19c2 */\tunsigned char\tPrcbPad50;\n/* off 0x19c3 */\tunsigned char\tIdleSchedule;\n/* off 0x19c4 */\tlong\tDpcSetEventRequest;\n/* off 0x19c8 */\tlong\tSleeping;\n/* off 0x19cc */\tunsigned long\tPeriodicCount;\n/* off 0x19d0 */\tunsigned long\tPeriodicBias;\n/* off 0x19d4 */\tunsigned char PrcbPad5[6];\n/* off 0x19dc */\tlong\tTickOffset;\n/* off 0x19e0 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a00 */\tlong\tClockKeepAlive;\n/* off 0x1a04 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a05 */\tunsigned char\tClockPollCycle;\n/* off 0x1a06 */\tunsigned char PrcbPad6[2];\n/* off 0x1a08 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a0c */\tlong\tDpcWatchdogCount;\n/* off 0x1a10 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a14 */\tlong\tThreadWatchdogCount;\n/* off 0x1a18 */\tunsigned long PrcbPad70[2];\n/* off 0x1a20 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1a28 */\tunsigned long\tWaitLock;\n/* off 0x1a2c */\tunsigned long\tReadySummary;\n/* off 0x1a30 */\tunsigned long\tQueueIndex;\n/* off 0x1a34 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1a38 */\tunsigned __int64\tStartCycles;\n/* off 0x1a40 */\tunsigned __int64\tCycleTime;\n/* off 0x1a48 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1a60 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1b60 */\tvoid*\tChainedInterruptList;\n/* off 0x1b64 */\tlong\tLookasideIrpFloat;\n/* off 0x1b68 */\tlong\tMmPageFaultCount;\n/* off 0x1b6c */\tlong\tMmCopyOnWriteCount;\n/* off 0x1b70 */\tlong\tMmTransitionCount;\n/* off 0x1b74 */\tlong\tMmCacheTransitionCount;\n/* off 0x1b78 */\tlong\tMmDemandZeroCount;\n/* off 0x1b7c */\tlong\tMmPageReadCount;\n/* off 0x1b80 */\tlong\tMmPageReadIoCount;\n/* off 0x1b84 */\tlong\tMmCacheReadCount;\n/* off 0x1b88 */\tlong\tMmCacheIoCount;\n/* off 0x1b8c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1b90 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1b94 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1b98 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1b9c */\tunsigned long\tCachedCommit;\n/* off 0x1ba0 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1ba4 */\tvoid*\tHyperPte;\n/* off 0x1ba8 */\tunsigned char\tCpuVendor;\n/* off 0x1ba9 */\tunsigned char PrcbPad9[3];\n/* off 0x1bac */\tunsigned char VendorString[13];\n/* off 0x1bb9 */\tunsigned char\tInitialApicId;\n/* off 0x1bba */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x1bbb */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1bbc */\tunsigned long\tMHz;\n/* off 0x1bc0 */\tunsigned long\tFeatureBits;\n/* off 0x1bc8 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1bd0 */\tunsigned __int64\tIsrTime;\n/* off 0x1bd8 */\tunsigned __int64\tSpareField1;\n/* off 0x1be0 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1df0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1ed0 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1ef0 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f18 */\tvoid*\tWheaInfo;\n/* off 0x1f1c */\tvoid*\tEtwSupport;\n/* off 0x1f20 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f28 */\tunion _LARGE_INTEGER\tHypercallPagePhysical;\n/* off 0x1f30 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f34 */\tvoid*\tRateControl;\n/* off 0x1f38 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1f74 */\tunsigned long\tCacheCount;\n/* off 0x1f78 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1f8c */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x1f8d */\tunsigned char PrcbPad8[3];\n/* off 0x1f90 */\tunsigned long\tPackageProcessorSet;\n/* off 0x1f94 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tReserved:25\t /* start bit 7 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tSpare02;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tchar\tFreezeCount;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tIopl;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(unsigned long,struct PROCESSOR_IDLE_TIMES*);\n/* off 0x0004 */\tunsigned long\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct PPM_PERF_STATES /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tMaxPerfState;\n/* off 0x000c */\tunsigned long\tMinPerfState;\n/* off 0x0010 */\tunsigned long\tLowestPState;\n/* off 0x0014 */\tunsigned long\tIncreaseTime;\n/* off 0x0018 */\tunsigned long\tDecreaseTime;\n/* off 0x001c */\tunsigned char\tBusyAdjThreshold;\n/* off 0x001d */\tunsigned char\tReserved;\n/* off 0x001e */\tunsigned char\tThrottleStatesOnly;\n/* off 0x001f */\tunsigned char\tPolicyType;\n/* off 0x0020 */\tunsigned long\tTimerInterval;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0028 */\tunsigned long\tTargetProcessors;\n/* off 0x002c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0030 */\tunsigned long\tPStateContext;\n/* off 0x0034 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tTStateContext;\n/* off 0x003c */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0040 */\tstruct PPM_PERF_STATE State[1];\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 000020b8 8376 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000021\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned short\tPriorityRegionActive:4\t /* start bit 0 */;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:7\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tAvailable:6\t /* start bit 2 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tSpare0;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long Spare[1];\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KEVENT*\tExitEvent;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tVadFreeHint;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tSparePsFlags1:2\t /* start bit 30 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:4\t /* start bit 4 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:30\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006a8 1704 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x003c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0044 */\tvoid*\tHighestUserAddress;\n/* off 0x0048 */\tunsigned short UsedPageTableEntries[768];\n/* off 0x0648 */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tReserved2:11\t /* start bit 21 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileMaximumInformation\t=0x00000032\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x004c */\tunsigned long\tPreviousIdleCount;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0034 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0044 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x0048 */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:6\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 46 */;\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 48 */;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned short\tRevision;\n/* off 0x0006 */\tunsigned short\tReserved1;\n/* off 0x0008 */\tunsigned short\tReserved2;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunsigned long\tValidationBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunsigned long\tFlags;\n/* off 0x0070 */\tstruct _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0078 */\tunsigned char Reserved3[12];\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunsigned short\tRevision;\n/* off 0x000a */\tunsigned char\tValidationBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0088 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequestorId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nstruct _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequestorId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n};\nstruct _PCIE_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidationBits;\n/* off 0x0008 */\tenum PCI_EXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunsigned long\tVersion;\n/* off 0x0010 */\tunsigned long\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _PCIE_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSN;\n/* off 0x0030 */\tunsigned long\tBridgeCtrlSts;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nstruct _WHEA_PCIX_BUS_VALIDATION_BITS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatusValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorTypeValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusIdValid:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddressValid:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusDataValid:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tCommandValid:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequestorIdValid:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterIdValid:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetIdValid:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\nstruct _WHEA_PCIX_BUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _WHEA_PCIX_BUS_VALIDATION_BITS\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunsigned short\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunsigned __int64\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tBusRequestorId;\n/* off 0x0038 */\tunsigned __int64\tBusCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nstruct _WHEA_PCIX_DEV_VALIDATION_BITS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatusValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfoValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumberValid:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumberValid:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairValid:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\nstruct _WHEA_PCIX_DEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _WHEA_PCIX_DEV_VALIDATION_BITS\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned char IdInfo[16];\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tunsigned char RegisterDataPairs[64];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned __int64\tSize;\n/* off 0x0010 */\tunsigned __int64\tRawDataLength;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved1;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIX_BUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIX_DEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_ERROR_STATUS_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tReserved2;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeOther\t=0x00000005\t,//0\n\tWheaErrSrcTypeMax\t=0x00000006\t,//0\n};\nenum PCI_EXPRESS_DEVICE_TYPE\n{\n\tPciExpressEndpoint\t=0x00000000\t,//0\n\tPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tPciExpressRootPort\t=0x00000004\t,//0\n\tPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tPciExpressToPciXBridge\t=0x00000007\t,//0\n\tPciXToExpressBridge\t=0x00000008\t,//0\n\tPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_ERROR_STATUS_FORMAT\n{\n\tWheaErrorStatusFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaErrorStatusFormatIA32MCA\t=0x00000001\t,//0\n\tWheaErrorStatusFormatEM64TMCA\t=0x00000002\t,//0\n\tWheaErrorStatusFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaErrorStatusFormatPCIExpress\t=0x00000004\t,//0\n\tWheaErrorStatusFormatNMIPort\t=0x00000005\t,//0\n\tWheaErrorStatusFormatOther\t=0x00000006\t,//0\n\tWheaErrorStatusFormatMax\t=0x00000007\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nunion _PTE_QUEUE_POINTER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tlong\tPointerPte;\n/* off 0x0004 */\tlong\tTimeStamp;\n};\n/* off 0x0000 */\t__int64\tData;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_EVENT*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tSpare:9\t /* start bit 23 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0028 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x002c */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLastPageToWrite;\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005d0 1488 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0318 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x031c */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x0320 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0324 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x032c */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0334 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x033c */\tunsigned short\tMappedViewCount;\n/* off 0x033e */\tunsigned short\tPinnedViewCount;\n/* off 0x0340 */\tunsigned long\tUseCount;\n/* off 0x0344 */\tunsigned long\tViewsPerHive;\n/* off 0x0348 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x034c */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0350 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0358 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0360 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0370 */\tunsigned long\tSecurityCount;\n/* off 0x0374 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0378 */\tlong\tSecurityHitHint;\n/* off 0x037c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0380 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0580 */\tunsigned long\tUnloadEventCount;\n/* off 0x0584 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0588 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x058c */\tunsigned char\tFrozen;\n/* off 0x0590 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x0594 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0598 */\tunsigned long\tGrowOffset;\n/* off 0x059c */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05a4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05ac */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05b0 */\tunsigned long\tFlags;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05bc */\tunsigned long\tFlushCount;\n/* off 0x05c0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05c4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05c8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05cc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tKeyBodyLock;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tvoid*\tTmRmHandle;\n/* off 0x018c */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0190 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a0 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b0 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01b8 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01c8 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0200 */\tunsigned long\tLogFlags;\n/* off 0x0204 */\tlong\tLogFullStatus;\n/* off 0x0208 */\tlong\tRecoveryStatus;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tunsigned long\tNextSavepoint;\n/* off 0x0140 */\tstruct _KTM*\tTm;\n/* off 0x0148 */\t__int64\tCommitReservation;\n/* off 0x0150 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x01a0 */\tunsigned long\tTransactionHistoryCount;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionSavepointing\t=0x0000000b\t,//0\n\tKTransactionPrePrepared\t=0x0000000c\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentSavepointing\t=0x0000010d\t,//0\n\tKEnlistmentAborting\t=0x0000010e\t,//0\n\tKEnlistmentReadOnly\t=0x0000010f\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x00000110\t,//0\n\tKEnlistmentOffline\t=0x00000111\t,//0\n\tKEnlistmentPrePrepared\t=0x00000112\t,//0\n\tKEnlistmentInitialized\t=0x00000113\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:8\t /* start bit 8 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\n/* off 0x0020 */\tunsigned long\tSpare0;\n/* off 0x0024 */\tunsigned long\tSpare1;\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0038 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\nstruct\n{\n/* off 0x0038 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x0048 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0050 */\tunsigned long\tClockType;\n/* off 0x0054 */\tlong\tCollectionOn;\n/* off 0x0058 */\tunsigned long\tMaximumFileSize;\n/* off 0x005c */\tunsigned long\tLoggerMode;\n/* off 0x0060 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0064 */\tunsigned long\tFlushTimer;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0078 */\tunsigned long\tMinimumBuffers;\n/* off 0x007c */\tlong\tBuffersAvailable;\n/* off 0x0080 */\tlong\tNumberOfBuffers;\n/* off 0x0084 */\tunsigned long\tMaximumBuffers;\n/* off 0x0088 */\tunsigned long\tEventsLost;\n/* off 0x008c */\tunsigned long\tBuffersWritten;\n/* off 0x0090 */\tunsigned long\tLogBuffersLost;\n/* off 0x0094 */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x0098 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x009c */\tunsigned long\tBufferSize;\n/* off 0x00a0 */\tunsigned long\tMaximumEventSize;\n/* off 0x00a4 */\tlong*\tSequencePtr;\n/* off 0x00a8 */\tunsigned long\tLocalSequence;\n/* off 0x00ac */\tstruct _GUID\tInstanceGuid;\n/* off 0x00bc */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c0 */\tlong\tFileCounter;\n/* off 0x00c4 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00c8 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d0 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e0 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00ec */\tunsigned long\tNumConsumers;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x00f8 */\tunsigned char\tNewConsumer;\n/* off 0x00fc */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0100 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0130 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0140 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0144 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x016c */\tstruct _KDPC\tFlushDpc;\n/* off 0x018c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01ac */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01e8 */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x01f0 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0238 */\t__int64\tBufferSequenceNumber;\n/* off 0x0240 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0244 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0244 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0244 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0244 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0244 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0244 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0244 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0244 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0248 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x024c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x024e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _TRACE_ENABLE_CONTEXT\tLegacyEnableContext;\n/* off 0x0030 */\tunsigned long\tLegacyProviderEnabled;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001a 26 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[26];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001a */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000088\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderMaximum\t=0x0000001c\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005e8 1512 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tvoid*\tExtension;\n/* off 0x0098 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x009c */\tvoid*\tConflictCallbackContext;\n/* off 0x00a0 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a4 */\twchar PdoDescriptionString[336];\n/* off 0x0344 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e4 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaMaximumType\t=0x0000000c\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptPowerFault\t=0x00000003\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:27\t /* start bit 5 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemContext;\n/* off 0x0054 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tvoid*\tCurrentMcb;\n/* off 0x0050 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0054 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0058 */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0054 */\tunsigned long\tLastFilePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00bc */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00dc */\tunsigned long\tTotalPhysicalMemoryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPageNo;\n/* off 0x0004 */\tunsigned long\tStartPage;\n/* off 0x0008 */\tunsigned long\tEndPage;\n/* off 0x000c */\tunsigned long\tCheckSum;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_LINK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tEntryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_RANGE\tRange;\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_LINK\tLink;\n};\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x000c */\tlong\tPagesInUse;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tFirstFreePte;\n/* off 0x0004 */\tunsigned long*\tFailureCount;\n/* off 0x0008 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n/* off 0x000c */\tunsigned long\tTbFlushTimeStamp;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001e80 7808 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e10 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e30 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e34 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e38 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e3c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e40 */\tstruct _MMPTE\tSessionPteFreeHead;\n/* off 0x1e44 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e54 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e58 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e5c */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e60 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e64 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tMaxRegNtNotifyClass\t=0x00000029\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.0.6001.18000.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeAccumulated;\nunion\n{\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tIdleTransitionTime;\n\t}\tNative;\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLastIdleCheck;\n\t}\tHv;\n};\n/* off 0x0020 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tstruct _PPM_PERF_STATES*\tPerfStates;\n/* off 0x0028 */\tunsigned long\tLastKernelUserTime;\n/* off 0x002c */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0038 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0040 */\tunsigned char\tThermalConstraint;\n/* off 0x0041 */\tunsigned char\tLastBusyPercentage;\n/* off 0x0042 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0048 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0070 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0090 */\tunsigned long\tLastSysTime;\n/* off 0x0094 */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x0098 */\tunsigned long\tPStateSet;\n/* off 0x009c */\tunsigned long\tCurrentPState;\n/* off 0x00a0 */\tunsigned long\tDesiredPState;\n/* off 0x00a4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00a8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00ac */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00b0 */\tunsigned long\tPStateStartTime;\n/* off 0x00b4 */\tunsigned long\tDiaIndex;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00c0 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00002008 8200 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03c1 */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03c2 */\tunsigned char PrcbPad0[2];\n/* off 0x03c4 */\tunsigned long\tMHz;\n/* off 0x03c8 */\tunsigned char PrcbPad1[80];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tSkipTick;\n/* off 0x05c5 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c6 */\tunsigned char\tNodeColor;\n/* off 0x05c7 */\tunsigned char\tPollSlot;\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x05d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x05d8 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05dc */\tunsigned long\tDpcTimeLimit;\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long PrcbPad2[3];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad5[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1a19 */\tunsigned char\tDpcThreadRequested;\n/* off 0x1a1a */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a1b */\tunsigned char\tDpcThreadActive;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tvoid*\tPrcbPad41;\n/* off 0x1a30 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tPrcbPad50;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\n/* off 0x1a44 */\tlong\tDpcSetEventRequest;\n/* off 0x1a48 */\tlong\tSleeping;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a54 */\tunsigned char PrcbPad51[6];\n/* off 0x1a5c */\tlong\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tunsigned long PrcbPad70[2];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char\tCpuVendor;\n/* off 0x1c29 */\tunsigned char PrcbPad8[3];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tSpareField1;\n/* off 0x1c60 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1e70 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1f38 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1f58 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f80 */\tvoid*\tWheaInfo;\n/* off 0x1f84 */\tvoid*\tEtwSupport;\n/* off 0x1f88 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f90 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1f98 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f9c */\tvoid*\tVirtualApicAssist;\n/* off 0x1fa0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1fa4 */\tvoid*\tRateControl;\n/* off 0x1fa8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1fe4 */\tunsigned long\tCacheCount;\n/* off 0x1fe8 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1ffc */\tunsigned long\tPackageProcessorSet;\n/* off 0x2000 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x0068 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tFreezeCount;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tunsigned char\tSpare02;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tOtherPlatformFill;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tUnused1;\n/* off 0x0033 */\tunsigned char\tUnused2;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHypervisor:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tunsigned long\tTargetProcessors;\n/* off 0x0034 */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tPStateContext;\n/* off 0x003c */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tTStateContext;\n/* off 0x0044 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0048 */\tstruct _PPM_DIA_STATS*\tDiaStats;\n/* off 0x004c */\tunsigned long\tDiaStatsCount;\n/* off 0x0050 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _PPM_DIA_STATS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tPerfLevel;\n/* off 0x0004 */\tunsigned long\tIdleTime;\n/* off 0x0008 */\tunsigned long\tTimeInterval;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00002128 8488 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned char\tSpare1:8\t /* start bit 0 */;\n/* off 0x026b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:3\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tChargedWslePages;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long\tActualWslePages;\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KGATE*\tExitGate;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tSpare;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0224 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0224 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0224 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0228 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:28\t /* start bit 4 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tunsigned long\tSparePebPtr0;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006b8 1720 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tunsigned long\tLastVadBit;\n/* off 0x003c */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0040 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0044 */\tunsigned long\tLastAllocationSize;\n/* off 0x0048 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x004c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0050 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0054 */\tvoid*\tHighestUserAddress;\n/* off 0x0058 */\tunsigned short UsedPageTableEntries[768];\n/* off 0x0658 */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileMaximumInformation\t=0x00000033\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tTotalBusyCount;\n/* off 0x000c */\tunsigned long\tConservationIdleTime;\n/* off 0x0010 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0020 */\tunsigned char\tDeviceType;\n/* off 0x0024 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x002c */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x003c */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0058 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned long\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _ERESOURCE\tMutex;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x00b4 */\tunsigned long\tKey;\n/* off 0x00b8 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n/* off 0x0138 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:8\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCpuValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tProcessorType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionSet:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tOperation:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tFlags:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tLevel:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tCPUVersion:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCPUBrandString:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tProcessorId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tTargetAddress:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionPointer:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:51\t /* start bit 13 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequesterId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nunion _WHEA_MEMORY_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nunion _WHEA_NMI_ERROR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n/* off 0x0008 */\tunion _WHEA_NMI_ERROR_FLAGS\tFlags;\n};\nunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tPortType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tVersion:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tCommandStatus:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceId:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceSerialNumber:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBridgeControlStatus:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tExpressCapability:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tAerInfo:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:56\t /* start bit 8 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIEXPRESS_VERSION /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorVersion;\n/* off 0x0001 */\tunsigned char\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tReserved;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PCIEXPRESS_COMMAND_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tCommand;\n/* off 0x0002 */\tunsigned short\tStatus;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tBridgeSecondaryStatus;\n/* off 0x0002 */\tunsigned short\tBridgeControl;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tenum WHEA_PCIEXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunion _WHEA_PCIEXPRESS_VERSION\tVersion;\n/* off 0x0010 */\tunion _WHEA_PCIEXPRESS_COMMAND_STATUS\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _WHEA_PCIEXPRESS_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSerialNumber;\n/* off 0x0030 */\tunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS\tBridgeControlStatus;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nunion _WHEA_PCIXBUS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusData:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBusCommand:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterId:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIXBUS_ID /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tBusNumber;\n/* off 0x0001 */\tunsigned char\tBusSegment;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_PCIXBUS_COMMAND /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tCommand:56\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPCIXCommand:1\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 57 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_PCIXBUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXBUS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunion _WHEA_PCIXBUS_ID\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunion _WHEA_PCIXBUS_COMMAND\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfo:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumber:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumber:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairs:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_PCIXDEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorId;\n/* off 0x0002 */\tunsigned short\tDeviceId;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tBusNumber:8\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tSegmentNumber:8\t /* start bit 16 */;\n/* off 0x0008 */\tunsigned long\tReserved1:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tReserved2;\n};\nstruct WHEA_PCIXDEVICE_REGISTER_PAIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tRegister;\n/* off 0x0008 */\tunsigned __int64\tData;\n};\nstruct _WHEA_PCIXDEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tstruct _WHEA_PCIXDEVICE_ID\tIdInfo;\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tstruct WHEA_PCIXDEVICE_REGISTER_PAIR RegisterDataPairs[4];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tRawDataLength;\n/* off 0x0010 */\tunsigned __int64\tReserved1;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved2;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXBUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXDEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_RAW_DATA_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tRawDataOffset;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum WHEA_PCIEXPRESS_DEVICE_TYPE\n{\n\tWheaPciExpressEndpoint\t=0x00000000\t,//0\n\tWheaPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tWheaPciExpressRootPort\t=0x00000004\t,//0\n\tWheaPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tWheaPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tWheaPciExpressToPciXBridge\t=0x00000007\t,//0\n\tWheaPciXToExpressBridge\t=0x00000008\t,//0\n\tWheaPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tWheaPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_RAW_DATA_FORMAT\n{\n\tWheaRawDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaRawDataFormatIA32MCA\t=0x00000001\t,//0\n\tWheaRawDataFormatIntel64MCA\t=0x00000002\t,//0\n\tWheaRawDataFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaRawDataFormatMemory\t=0x00000004\t,//0\n\tWheaRawDataFormatPCIExpress\t=0x00000005\t,//0\n\tWheaRawDataFormatNMIPort\t=0x00000006\t,//0\n\tWheaRawDataFormatPCIXBus\t=0x00000007\t,//0\n\tWheaRawDataFormatPCIXDevice\t=0x00000008\t,//0\n\tWheaRawDataFormatGeneric\t=0x00000009\t,//0\n\tWheaRawDataFormatMax\t=0x0000000a\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tGlobalTimeStamp:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n/* off 0x007c */\tunsigned long\tResumePages;\n/* off 0x0080 */\tvoid*\tDumpHeader;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPTE_FLUSH_LIST /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaximumCount;\n/* off 0x0008 */\tvoid* FlushVa[33];\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x002c */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005e0 1504 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0318 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x031c */\tunsigned long\tViewLockLast;\n/* off 0x0320 */\tunsigned long\tViewUnLockLast;\n/* off 0x0324 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0328 */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x032c */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0330 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0338 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0340 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0348 */\tunsigned short\tMappedViewCount;\n/* off 0x034a */\tunsigned short\tPinnedViewCount;\n/* off 0x034c */\tunsigned long\tUseCount;\n/* off 0x0350 */\tunsigned long\tViewsPerHive;\n/* off 0x0354 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0358 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0360 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0370 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0378 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0380 */\tunsigned long\tSecurityCount;\n/* off 0x0384 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0388 */\tlong\tSecurityHitHint;\n/* off 0x038c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0390 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0590 */\tunsigned long\tUnloadEventCount;\n/* off 0x0594 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0598 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x059c */\tunsigned char\tFrozen;\n/* off 0x05a0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05a4 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05a8 */\tunsigned long\tGrowOffset;\n/* off 0x05ac */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05bc */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05c0 */\tunsigned long\tFlags;\n/* off 0x05c4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05cc */\tunsigned long\tFlushCount;\n/* off 0x05d0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05d4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05d8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05dc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:9\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:11\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tRtlDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPadding2;\nunion\n{\nstruct\n{\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n};\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000280 640 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0034 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x003c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0044 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x004c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0054 */\tunsigned long\tClockType;\n/* off 0x0058 */\tlong\tCollectionOn;\n/* off 0x005c */\tunsigned long\tMaximumFileSize;\n/* off 0x0060 */\tunsigned long\tLoggerMode;\n/* off 0x0064 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0068 */\tunsigned long\tFlushTimer;\n/* off 0x006c */\tunsigned long\tFlushThreshold;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0080 */\tunsigned long\tMinimumBuffers;\n/* off 0x0084 */\tlong\tBuffersAvailable;\n/* off 0x0088 */\tlong\tNumberOfBuffers;\n/* off 0x008c */\tunsigned long\tMaximumBuffers;\n/* off 0x0090 */\tunsigned long\tEventsLost;\n/* off 0x0094 */\tunsigned long\tBuffersWritten;\n/* off 0x0098 */\tunsigned long\tLogBuffersLost;\n/* off 0x009c */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00a0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00a4 */\tunsigned long\tBufferSize;\n/* off 0x00a8 */\tunsigned long\tMaximumEventSize;\n/* off 0x00ac */\tlong*\tSequencePtr;\n/* off 0x00b0 */\tunsigned long\tLocalSequence;\n/* off 0x00b4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00c4 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c8 */\tlong\tFileCounter;\n/* off 0x00cc */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00ec */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f4 */\tunsigned long\tNumConsumers;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x0100 */\tunsigned char\tNewConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0154 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0158 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x015c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x016c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x017c */\tstruct _KDPC\tFlushDpc;\n/* off 0x019c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01bc */\tstruct _EX_PUSH_LOCK\tLoggerLock;\n/* off 0x01c0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01fc */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\n/* off 0x0250 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0254 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0254 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0258 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0258 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0258 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0258 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0258 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0258 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x025c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x025e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tSectionObject;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0010 */\tvoid*\tSectionHandle;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0008 */\tunsigned long\tTotalHandles;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000f4 244 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tunsigned long\tSequenceNo;\n/* off 0x0014 */\tvoid*\tCompletionPort;\n/* off 0x0018 */\tvoid*\tCompletionKey;\n/* off 0x001c */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x0020 */\tvoid*\tPortContext;\n/* off 0x0024 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x0080 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0080 */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0084 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0088 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d0 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00d4 */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00d8 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00dc */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x00e0 */\tunsigned long\tMainQueueLength;\n/* off 0x00e4 */\tunsigned long\tPendingQueueLength;\n/* off 0x00e8 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00ec */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f0 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tvoid*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[0];\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _HANDLE_TABLE_ENTRY*\tUniqueTableEntry;\n/* off 0x0044 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x0060 */\tvoid*\tDataUserVa;\n/* off 0x0064 */\tvoid*\tDataSystemVa;\n/* off 0x0068 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x006c */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0070 */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0078 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x000c */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tvoid*\tAddress;\n/* off 0x001c */\tunsigned long\tSize;\n/* off 0x0020 */\tvoid*\tSecureViewHandle;\n/* off 0x0024 */\tvoid*\tWriteAccessHandle;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x000c */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x0010 */\tunsigned long\tOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long\tViewSize;\n/* off 0x001c */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x0020 */\tstruct _KALPC_VIEW*\tReadWriteView;\n/* off 0x0024 */\tunsigned long\tNumberOfViews;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tViewListHead;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tstruct _OBJECT_TYPE*\tObjectType;\n/* off 0x0010 */\tunsigned long\tTargetAccess;\n/* off 0x0014 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0018 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _DEVPROPKEY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _GUID\tfmtid;\n/* off 0x0010 */\tunsigned long\tpid;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueue;\n/* off 0x0008 */\tstruct _KDPC\tScanDpc;\n/* off 0x0028 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0050 */\tunsigned char\tScanActive;\n/* off 0x0051 */\tunsigned char\tOtherWork;\n/* off 0x0052 */\tunsigned char\tPendingTeardown;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008a\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x0000008b\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaMaximumType\t=0x0000000d\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptLinkStateChange\t=0x00000003\t,//0\n\tSlotInterruptPowerFault\t=0x00000004\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x00f4 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00f8 */\tvoid*\tResumeContext;\n/* off 0x00fc */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0054 */\tunsigned long\tLastFilePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00bc */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00c0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00c4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00e4 */\tunsigned long\tNotUsed;\n/* off 0x00e8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00ec */\tunsigned long\tResumeContextPages;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPageNo;\n/* off 0x0004 */\tunsigned long\tStartPage;\n/* off 0x0008 */\tunsigned long\tEndPage;\n/* off 0x000c */\tunsigned long\tCheckSum;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_LINK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tEntryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_RANGE\tRange;\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_LINK\tLink;\n};\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x000c */\tlong\tPagesInUse;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001ec0 7872 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e10 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e30 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e34 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e38 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e3c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e40 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e6c */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e70 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e74 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e78 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e7c */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tMaxRegNtNotifyClass\t=0x00000029\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.0.6002.18005.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeAccumulated;\nunion\n{\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tIdleTransitionTime;\n\t}\tNative;\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLastIdleCheck;\n\t}\tHv;\n};\n/* off 0x0020 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tstruct _PPM_PERF_STATES*\tPerfStates;\n/* off 0x0028 */\tunsigned long\tLastKernelUserTime;\n/* off 0x002c */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0038 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0040 */\tunsigned char\tThermalConstraint;\n/* off 0x0041 */\tunsigned char\tLastBusyPercentage;\n/* off 0x0042 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0048 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0070 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0090 */\tunsigned long\tLastSysTime;\n/* off 0x0094 */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x0098 */\tunsigned long\tPStateSet;\n/* off 0x009c */\tunsigned long\tCurrentPState;\n/* off 0x00a0 */\tunsigned long\tDesiredPState;\n/* off 0x00a4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00a8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00ac */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00b0 */\tunsigned long\tPStateStartTime;\n/* off 0x00b4 */\tunsigned long\tDiaIndex;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00c0 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00002008 8200 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03c1 */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03c2 */\tunsigned char PrcbPad0[2];\n/* off 0x03c4 */\tunsigned long\tMHz;\n/* off 0x03c8 */\tunsigned char PrcbPad1[80];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tSkipTick;\n/* off 0x05c5 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c6 */\tunsigned char\tNodeColor;\n/* off 0x05c7 */\tunsigned char\tPollSlot;\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x05d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x05d8 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05dc */\tunsigned long\tDpcTimeLimit;\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long PrcbPad2[3];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad5[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1a19 */\tunsigned char\tDpcThreadRequested;\n/* off 0x1a1a */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a1b */\tunsigned char\tDpcThreadActive;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tvoid*\tPrcbPad41;\n/* off 0x1a30 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tPrcbPad50;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\n/* off 0x1a44 */\tlong\tDpcSetEventRequest;\n/* off 0x1a48 */\tlong\tSleeping;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a54 */\tunsigned char PrcbPad51[6];\n/* off 0x1a5c */\tlong\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tunsigned long PrcbPad70[2];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char\tCpuVendor;\n/* off 0x1c29 */\tunsigned char PrcbPad8[3];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tSpareField1;\n/* off 0x1c60 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1e70 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1f38 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1f58 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f80 */\tvoid*\tWheaInfo;\n/* off 0x1f84 */\tvoid*\tEtwSupport;\n/* off 0x1f88 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f90 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1f98 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f9c */\tvoid*\tVirtualApicAssist;\n/* off 0x1fa0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1fa4 */\tvoid*\tRateControl;\n/* off 0x1fa8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1fe4 */\tunsigned long\tCacheCount;\n/* off 0x1fe8 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1ffc */\tunsigned long\tPackageProcessorSet;\n/* off 0x2000 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x0068 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tFreezeCount;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tunsigned char\tSpare02;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tOtherPlatformFill;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tUnused1;\n/* off 0x0033 */\tunsigned char\tUnused2;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHypervisor:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tunsigned long\tTargetProcessors;\n/* off 0x0034 */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tPStateContext;\n/* off 0x003c */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tTStateContext;\n/* off 0x0044 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0048 */\tstruct _PPM_DIA_STATS*\tDiaStats;\n/* off 0x004c */\tunsigned long\tDiaStatsCount;\n/* off 0x0050 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _PPM_DIA_STATS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tPerfLevel;\n/* off 0x0004 */\tunsigned long\tIdleTime;\n/* off 0x0008 */\tunsigned long\tTimeInterval;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00002128 8488 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned char\tSpare1:8\t /* start bit 0 */;\n/* off 0x026b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:3\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tChargedWslePages;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long\tActualWslePages;\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KGATE*\tExitGate;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tSpare;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0224 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0224 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0224 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0228 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:28\t /* start bit 4 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tunsigned long\tSparePebPtr0;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006b8 1720 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tunsigned long\tLastVadBit;\n/* off 0x003c */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0040 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0044 */\tunsigned long\tLastAllocationSize;\n/* off 0x0048 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x004c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0050 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0054 */\tvoid*\tHighestUserAddress;\n/* off 0x0058 */\tunsigned short UsedPageTableEntries[768];\n/* off 0x0658 */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileMaximumInformation\t=0x00000033\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tTotalBusyCount;\n/* off 0x000c */\tunsigned long\tConservationIdleTime;\n/* off 0x0010 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0020 */\tunsigned char\tDeviceType;\n/* off 0x0024 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x002c */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x003c */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0058 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned long\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _ERESOURCE\tMutex;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x00b4 */\tunsigned long\tKey;\n/* off 0x00b8 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n/* off 0x0138 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:8\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCpuValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tProcessorType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionSet:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tOperation:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tFlags:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tLevel:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tCPUVersion:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCPUBrandString:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tProcessorId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tTargetAddress:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionPointer:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:51\t /* start bit 13 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequesterId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nunion _WHEA_MEMORY_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nunion _WHEA_NMI_ERROR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n/* off 0x0008 */\tunion _WHEA_NMI_ERROR_FLAGS\tFlags;\n};\nunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tPortType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tVersion:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tCommandStatus:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceId:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceSerialNumber:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBridgeControlStatus:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tExpressCapability:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tAerInfo:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:56\t /* start bit 8 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIEXPRESS_VERSION /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorVersion;\n/* off 0x0001 */\tunsigned char\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tReserved;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PCIEXPRESS_COMMAND_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tCommand;\n/* off 0x0002 */\tunsigned short\tStatus;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tBridgeSecondaryStatus;\n/* off 0x0002 */\tunsigned short\tBridgeControl;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tenum WHEA_PCIEXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunion _WHEA_PCIEXPRESS_VERSION\tVersion;\n/* off 0x0010 */\tunion _WHEA_PCIEXPRESS_COMMAND_STATUS\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _WHEA_PCIEXPRESS_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSerialNumber;\n/* off 0x0030 */\tunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS\tBridgeControlStatus;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nunion _WHEA_PCIXBUS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusData:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBusCommand:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterId:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIXBUS_ID /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tBusNumber;\n/* off 0x0001 */\tunsigned char\tBusSegment;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_PCIXBUS_COMMAND /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tCommand:56\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPCIXCommand:1\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 57 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_PCIXBUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXBUS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunion _WHEA_PCIXBUS_ID\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunion _WHEA_PCIXBUS_COMMAND\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfo:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumber:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumber:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairs:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_PCIXDEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorId;\n/* off 0x0002 */\tunsigned short\tDeviceId;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tBusNumber:8\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tSegmentNumber:8\t /* start bit 16 */;\n/* off 0x0008 */\tunsigned long\tReserved1:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tReserved2;\n};\nstruct WHEA_PCIXDEVICE_REGISTER_PAIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tRegister;\n/* off 0x0008 */\tunsigned __int64\tData;\n};\nstruct _WHEA_PCIXDEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tstruct _WHEA_PCIXDEVICE_ID\tIdInfo;\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tstruct WHEA_PCIXDEVICE_REGISTER_PAIR RegisterDataPairs[4];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tRawDataLength;\n/* off 0x0010 */\tunsigned __int64\tReserved1;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved2;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXBUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXDEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_RAW_DATA_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tRawDataOffset;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum WHEA_PCIEXPRESS_DEVICE_TYPE\n{\n\tWheaPciExpressEndpoint\t=0x00000000\t,//0\n\tWheaPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tWheaPciExpressRootPort\t=0x00000004\t,//0\n\tWheaPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tWheaPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tWheaPciExpressToPciXBridge\t=0x00000007\t,//0\n\tWheaPciXToExpressBridge\t=0x00000008\t,//0\n\tWheaPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tWheaPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_RAW_DATA_FORMAT\n{\n\tWheaRawDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaRawDataFormatIA32MCA\t=0x00000001\t,//0\n\tWheaRawDataFormatIntel64MCA\t=0x00000002\t,//0\n\tWheaRawDataFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaRawDataFormatMemory\t=0x00000004\t,//0\n\tWheaRawDataFormatPCIExpress\t=0x00000005\t,//0\n\tWheaRawDataFormatNMIPort\t=0x00000006\t,//0\n\tWheaRawDataFormatPCIXBus\t=0x00000007\t,//0\n\tWheaRawDataFormatPCIXDevice\t=0x00000008\t,//0\n\tWheaRawDataFormatGeneric\t=0x00000009\t,//0\n\tWheaRawDataFormatMax\t=0x0000000a\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tGlobalTimeStamp:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n/* off 0x007c */\tunsigned long\tResumePages;\n/* off 0x0080 */\tvoid*\tDumpHeader;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPTE_FLUSH_LIST /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaximumCount;\n/* off 0x0008 */\tvoid* FlushVa[33];\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x002c */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005e0 1504 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0318 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x031c */\tunsigned long\tViewLockLast;\n/* off 0x0320 */\tunsigned long\tViewUnLockLast;\n/* off 0x0324 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0328 */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x032c */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0330 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0338 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0340 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0348 */\tunsigned short\tMappedViewCount;\n/* off 0x034a */\tunsigned short\tPinnedViewCount;\n/* off 0x034c */\tunsigned long\tUseCount;\n/* off 0x0350 */\tunsigned long\tViewsPerHive;\n/* off 0x0354 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0358 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0360 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0370 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0378 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0380 */\tunsigned long\tSecurityCount;\n/* off 0x0384 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0388 */\tlong\tSecurityHitHint;\n/* off 0x038c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0390 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0590 */\tunsigned long\tUnloadEventCount;\n/* off 0x0594 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0598 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x059c */\tunsigned char\tFrozen;\n/* off 0x05a0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05a4 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05a8 */\tunsigned long\tGrowOffset;\n/* off 0x05ac */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05bc */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05c0 */\tunsigned long\tFlags;\n/* off 0x05c4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05cc */\tunsigned long\tFlushCount;\n/* off 0x05d0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05d4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05d8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05dc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:9\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:11\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tRtlDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPadding2;\nunion\n{\nstruct\n{\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n};\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000280 640 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0034 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x003c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0044 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x004c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0054 */\tunsigned long\tClockType;\n/* off 0x0058 */\tlong\tCollectionOn;\n/* off 0x005c */\tunsigned long\tMaximumFileSize;\n/* off 0x0060 */\tunsigned long\tLoggerMode;\n/* off 0x0064 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0068 */\tunsigned long\tFlushTimer;\n/* off 0x006c */\tunsigned long\tFlushThreshold;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0080 */\tunsigned long\tMinimumBuffers;\n/* off 0x0084 */\tlong\tBuffersAvailable;\n/* off 0x0088 */\tlong\tNumberOfBuffers;\n/* off 0x008c */\tunsigned long\tMaximumBuffers;\n/* off 0x0090 */\tunsigned long\tEventsLost;\n/* off 0x0094 */\tunsigned long\tBuffersWritten;\n/* off 0x0098 */\tunsigned long\tLogBuffersLost;\n/* off 0x009c */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00a0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00a4 */\tunsigned long\tBufferSize;\n/* off 0x00a8 */\tunsigned long\tMaximumEventSize;\n/* off 0x00ac */\tlong*\tSequencePtr;\n/* off 0x00b0 */\tunsigned long\tLocalSequence;\n/* off 0x00b4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00c4 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c8 */\tlong\tFileCounter;\n/* off 0x00cc */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00ec */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f4 */\tunsigned long\tNumConsumers;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x0100 */\tunsigned char\tNewConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0154 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0158 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x015c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x016c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x017c */\tstruct _KDPC\tFlushDpc;\n/* off 0x019c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01bc */\tstruct _EX_PUSH_LOCK\tLoggerLock;\n/* off 0x01c0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01fc */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\n/* off 0x0250 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0254 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0254 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0258 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0258 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0258 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0258 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0258 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0258 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x025c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x025e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tSectionObject;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0010 */\tvoid*\tSectionHandle;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0008 */\tunsigned long\tTotalHandles;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000f4 244 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tunsigned long\tSequenceNo;\n/* off 0x0014 */\tvoid*\tCompletionPort;\n/* off 0x0018 */\tvoid*\tCompletionKey;\n/* off 0x001c */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x0020 */\tvoid*\tPortContext;\n/* off 0x0024 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x0080 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0080 */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0084 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0088 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d0 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00d4 */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00d8 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00dc */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x00e0 */\tunsigned long\tMainQueueLength;\n/* off 0x00e4 */\tunsigned long\tPendingQueueLength;\n/* off 0x00e8 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00ec */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f0 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tvoid*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[0];\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _HANDLE_TABLE_ENTRY*\tUniqueTableEntry;\n/* off 0x0044 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x0060 */\tvoid*\tDataUserVa;\n/* off 0x0064 */\tvoid*\tDataSystemVa;\n/* off 0x0068 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x006c */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0070 */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0078 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x000c */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tvoid*\tAddress;\n/* off 0x001c */\tunsigned long\tSize;\n/* off 0x0020 */\tvoid*\tSecureViewHandle;\n/* off 0x0024 */\tvoid*\tWriteAccessHandle;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x000c */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x0010 */\tunsigned long\tOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long\tViewSize;\n/* off 0x001c */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x0020 */\tstruct _KALPC_VIEW*\tReadWriteView;\n/* off 0x0024 */\tunsigned long\tNumberOfViews;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tViewListHead;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tstruct _OBJECT_TYPE*\tObjectType;\n/* off 0x0010 */\tunsigned long\tTargetAccess;\n/* off 0x0014 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0018 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _DEVPROPKEY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _GUID\tfmtid;\n/* off 0x0010 */\tunsigned long\tpid;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueue;\n/* off 0x0008 */\tstruct _KDPC\tScanDpc;\n/* off 0x0028 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0050 */\tunsigned char\tScanActive;\n/* off 0x0051 */\tunsigned char\tOtherWork;\n/* off 0x0052 */\tunsigned char\tPendingTeardown;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008a\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x0000008b\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaMaximumType\t=0x0000000d\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptLinkStateChange\t=0x00000003\t,//0\n\tSlotInterruptPowerFault\t=0x00000004\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_TABLE*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x00f4 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00f8 */\tvoid*\tResumeContext;\n/* off 0x00fc */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00bc */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00c0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00c4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00e4 */\tunsigned long\tNotUsed;\n/* off 0x00e8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00ec */\tunsigned long\tResumeContextPages;\n};\nstruct _PO_MEMORY_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartPage;\n/* off 0x0004 */\tunsigned long\tEndPage;\n};\nstruct _PO_MEMORY_RANGE_TABLE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_TABLE*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tEntryCount;\n/* off 0x000c */\tstruct _PO_MEMORY_RANGE Range[1];\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x000c */\tlong\tPagesInUse;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001ec0 7872 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e10 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e30 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e34 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e38 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e3c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e40 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e6c */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e70 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e74 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e78 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e7c */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.1.7000.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[2];\n/* off 0x01ae */\tunsigned char SpareBytes2[34];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\nunion\n{\n/* off 0x0034 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0034 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0034 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:6\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tTempUtilitySkipCount;\n/* off 0x0038 */\tunsigned char\tThermalConstraint;\n/* off 0x0039 */\tunsigned char\tLastBusyPercentage;\n/* off 0x003a */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:15\t /* start bit 1 */;\n\t};\n\t}\tFlags;\n/* off 0x003c */\tunsigned long\tLastSysTime;\n/* off 0x0040 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0044 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0048 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0068 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0088 */\tlong\tPerfActionMask;\n/* off 0x0090 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x00a0 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00b0 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00b4 */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b8 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00bc */\tunsigned long\tUtility;\n/* off 0x00c0 */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c4 */\tunsigned long\tAffinityCount;\n/* off 0x00c8 */\tunsigned long\tAffinityHistory;\n/* off 0x00cc */\tunsigned short\tPreviousReadyTime;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00001ee8 7912 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c5 */\tunsigned char\tNodeColor;\n/* off 0x05c6 */\tunsigned char PrcbPad20[2];\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x05d8 */\tunsigned long PrcbPad21[2];\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long\tAvailableTime;\n/* off 0x0698 */\tunsigned long PrcbPad22[2];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad50[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned long\tPrcbPad41;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tstruct _KTIMER**\tTimerExpiry;\n/* off 0x1a30 */\tstruct _KGATE\tDpcGate;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1a44 */\tlong\tDpcRequestSummary;\n/* off 0x1a44 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1a44 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1a46 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1a46 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1a48 */\tunsigned long\tPrcbPad42;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a58 */\tunsigned __int64\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tlong\tKeSpinLockOrdering;\n/* off 0x1a9c */\tunsigned long PrcbPad70[1];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned long\tHighCycleTime;\n/* off 0x1acc */\tunsigned long\tPrcbPad71;\n/* off 0x1ad0 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char PrcbPad8[4];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x1c60 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1d30 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1d50 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1d78 */\tvoid*\tWheaInfo;\n/* off 0x1d7c */\tvoid*\tEtwSupport;\n/* off 0x1d80 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1d88 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1d90 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1d94 */\tvoid*\tVirtualApicAssist;\n/* off 0x1d98 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1d9c */\tvoid*\tRateControl;\n/* off 0x1da0 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1ddc */\tunsigned long\tCacheCount;\n/* off 0x1de0 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1df4 */\tunsigned long\tPackageProcessorSet;\n/* off 0x1df8 */\tunsigned long\tCoreProcessorSet;\n/* off 0x1dfc */\tunsigned char PrcbPad10[36];\n/* off 0x1e20 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x1e24 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x1e28 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x1e2c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x1e30 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x1e34 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x1e38 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x1e3c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x1e40 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x1e44 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x1e48 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x1e4c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x1e50 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x1e54 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x1e58 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x1e5c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x1e60 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x1e64 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x1e68 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x1e6c */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x1e70 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x1e74 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x1e78 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x1e7c */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x1e80 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x1e84 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x1e88 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x1e8c */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x1e90 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x1e94 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x1e98 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x1e9c */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x1ea0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x1ea4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x1ea8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x1eac */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x1eb0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x1eb4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x1eb8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x1ebc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x1ec0 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x1ec4 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x1ec8 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x1ecc */\tunsigned long\tExBoostSharedOwners;\n/* off 0x1ed0 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x1ed4 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x1ed8 */\tstruct _CONTEXT*\tContext;\n/* off 0x1edc */\tunsigned long\tContextFlags;\n/* off 0x1ee0 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00002008 8200 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTimer:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tReserved1:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tReserved2:20\t /* start bit 12 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\n/* off 0x0090 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:24\t /* start bit 8 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tvoid*\tServiceTable;\n/* off 0x0138 */\tunsigned char\tApcStateIndex;\n/* off 0x0139 */\tchar\tBasePriority;\nunion\n{\n/* off 0x013a */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x013a */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x013a */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x013b */\tunsigned char\tPreempted;\n/* off 0x013c */\tunsigned char\tAdjustReason;\n/* off 0x013d */\tchar\tAdjustIncrement;\n/* off 0x013e */\tchar\tPreviousMode;\n/* off 0x013f */\tchar\tSaturation;\n/* off 0x0140 */\tunsigned long\tSystemCallNumber;\n/* off 0x0144 */\tunsigned long\tFreezeCount;\n/* off 0x0148 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0154 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0158 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0164 */\tunsigned long\tIdealProcessor;\n/* off 0x0168 */\tunsigned long\tUserIdealProcessor;\n/* off 0x016c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0174 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0174 */\tunsigned char SavedApcStateFill[23];\n/* off 0x018b */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x018c */\tchar\tSuspendCount;\n/* off 0x018d */\tchar\tSpare1;\n/* off 0x018e */\tunsigned char\tOtherPlatformFill;\n/* off 0x0190 */\tvoid*\tWin32Thread;\n/* off 0x0194 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0198 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0199 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill1[3];\n/* off 0x019b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill2[4];\n/* off 0x019c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01bc */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01c0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c7 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01cc */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01cc */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01e0 */\tunsigned long\tSListFaultCount;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01ec */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f4 */\tvoid*\tSListFaultAddress;\n/* off 0x01f8 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01fc */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _KAFFINITY_EX\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tstruct _KAFFINITY_EX\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0068 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0068 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0068 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x0068 */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x0068 */\tlong\tProcessFlags;\n};\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tchar\tQuantumReset;\n/* off 0x006e */\tunsigned char\tVisited;\n/* off 0x006f */\tunsigned char\tUnused3;\n/* off 0x0070 */\tunsigned long ThreadSeed[1];\n/* off 0x0074 */\tunsigned short IdealNode[1];\n/* off 0x0076 */\tunsigned short\tIdealGlobalNode;\nunion\n{\n/* off 0x0078 */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x0078 */\tunsigned char\tExecuteOptions;\n};\n/* off 0x0079 */\tunsigned char\tUnused1;\n/* off 0x007a */\tunsigned short\tIopmOffset;\n/* off 0x007c */\tunsigned long\tUnused4;\n/* off 0x0080 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0090 */\tunsigned __int64\tCycleTime;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tUpdateCount;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tFill:5\t /* start bit 3 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tunsigned long\tLatency;\n/* off 0x001c */\tunsigned long\tPower;\n/* off 0x0020 */\tunsigned long\tTimeCheck;\n/* off 0x0024 */\tunsigned long\tStateFlags;\n/* off 0x0028 */\tunsigned char\tPromotePercent;\n/* off 0x0029 */\tunsigned char\tDemotePercent;\n/* off 0x002a */\tunsigned char\tPromotePercentBase;\n/* off 0x002b */\tunsigned char\tDemotePercentBase;\n/* off 0x002c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tunsigned char\tNewlyUnparked;\n/* off 0x0018 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0024 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x0210 */\tlong\tExitStatus;\n/* off 0x0210 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tSpare1:4\t /* start bit 4 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tCmCallbackCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tunsigned long\tIoBoostCount;\n/* off 0x02b0 */\tvoid*\tReservedForSynchTracking;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:31\t /* start bit 1 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerAttached:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tHardFaultCount;\n/* off 0x0018 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x001c */\tunsigned long\tChargedWslePages;\n/* off 0x0020 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0024 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0028 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x002c */\tunsigned long AgeDistribution[7];\n/* off 0x0048 */\tunsigned long\tActualWslePages;\n/* off 0x004c */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0050 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0054 */\tunsigned long\tWorkingSetSize;\n/* off 0x0058 */\tunsigned long\tRepurposeCount;\n/* off 0x005c */\tstruct _KGATE*\tExitGate;\n/* off 0x0060 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0064 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tunsigned long SpareUlongPtr[2];\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0134 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0138 */\tvoid*\tWin32WindowStation;\n/* off 0x013c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0140 */\tvoid*\tLdtInformation;\n/* off 0x0144 */\tvoid*\tSpare;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tvoid*\tDeviceMap;\n/* off 0x0150 */\tvoid*\tEtwDataSource;\n/* off 0x0154 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0158 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0158 */\tunsigned __int64\tFiller;\n};\n/* off 0x0160 */\tvoid*\tSession;\n/* off 0x0164 */\tunsigned char ImageFileName[16];\n/* off 0x0174 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x017c */\tvoid*\tLockedPagesList;\n/* off 0x0180 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0188 */\tvoid*\tSecurityPort;\n/* off 0x018c */\tvoid*\tPaeTop;\n/* off 0x0190 */\tunsigned long\tActiveThreads;\n/* off 0x0194 */\tunsigned long\tImagePathHash;\n/* off 0x0198 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x019c */\tlong\tLastThreadExitStatus;\n/* off 0x01a0 */\tstruct _PEB*\tPeb;\n/* off 0x01a4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01d8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01dc */\tunsigned long\tCommitChargePeak;\n/* off 0x01e0 */\tvoid*\tAweInfo;\n/* off 0x01e4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01e8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0250 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0258 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x025c */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x025c */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x025c */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x025c */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x025c */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x025c */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x025c */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x025c */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x025c */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x025c */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x025c */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x025c */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x025c */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x025c */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x025c */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x025c */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x025c */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x025c */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x025c */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x025c */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0260 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0260 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0260 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0260 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0260 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0260 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0260 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0260 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0260 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0260 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0260 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0260 */\tunsigned long\tPropagateNode:1\t /* start bit 25 */;\n/* off 0x0260 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0260 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0260 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0260 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x0264 */\tlong\tExitStatus;\n/* off 0x0268 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x026a */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x026b */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x026a */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x026c */\tunsigned char\tPriorityClass;\n/* off 0x0270 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0290 */\tunsigned long\tCookie;\n/* off 0x0294 */\tunsigned long\tSpare8;\n/* off 0x0298 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a8 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02b0 */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b4 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b8 */\tunsigned long\tConsoleHostProcess;\n/* off 0x02bc */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x011c */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0120 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0128 */\tunsigned long\tMemberLevel;\n/* off 0x012c */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006ac 1708 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tvoid*\tHighestUserAddress;\n/* off 0x004c */\tunsigned short UsedPageTableEntries[768];\n/* off 0x064c */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileMaximumInformation\t=0x00000037\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tGlobalTimeStamp:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x008c */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0090 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned __int64\tFrequency;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tSpare:9\t /* start bit 23 */;\n};\nstruct _SEGMENT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x002c */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000628 1576 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x0318 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0320 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x0324 */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0328 */\tunsigned long\tIdentity;\n/* off 0x032c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0330 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0334 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0338 */\tunsigned long\tViewLockLast;\n/* off 0x033c */\tunsigned long\tViewUnLockLast;\n/* off 0x0340 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0344 */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0348 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0350 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x0354 */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0358 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x035c */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0360 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0364 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x036c */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x037c */\tunsigned short\tMappedViewCount;\n/* off 0x037e */\tunsigned short\tPinnedViewCount;\n/* off 0x0380 */\tunsigned long\tUseCount;\n/* off 0x0384 */\tunsigned long\tViewsPerHive;\n/* off 0x0388 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x038c */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0390 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0398 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b0 */\tunsigned long\tSecurityCount;\n/* off 0x03b4 */\tunsigned long\tSecurityCacheSize;\n/* off 0x03b8 */\tlong\tSecurityHitHint;\n/* off 0x03bc */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c0 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c0 */\tunsigned long\tUnloadEventCount;\n/* off 0x05c4 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05c8 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05cc */\tunsigned char\tFrozen;\n/* off 0x05d0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05d4 */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05e8 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05ec */\tunsigned long\tGrowOffset;\n/* off 0x05f0 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0600 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x0604 */\tunsigned long\tFlags;\n/* off 0x0608 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0610 */\tunsigned long\tFlushCount;\n/* off 0x0614 */\tstruct _CM_RM*\tCmRm;\n/* off 0x0618 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x061c */\tlong\tCmRmInitFailStatus;\n/* off 0x0620 */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned __int64\tDpcCount;\n/* off 0x0040 */\tunsigned __int64\tDpcRate;\n/* off 0x0048 */\tunsigned __int64\tC1Time;\n/* off 0x0050 */\tunsigned __int64\tC2Time;\n/* off 0x0058 */\tunsigned __int64\tC3Time;\n/* off 0x0060 */\tunsigned long\tC1Transitions;\n/* off 0x0064 */\tunsigned long\tC2Transitions;\n/* off 0x0068 */\tunsigned long\tC3Transitions;\n/* off 0x006c */\tunsigned long\tParkingStatus;\n/* off 0x0070 */\tunsigned long\tCurrentFrequency;\n/* off 0x0074 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x0078 */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[2];\n/* off 0x01ae */\tunsigned char SpareBytes2[34];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes1[2];\n/* off 0x02d2 */\tunsigned char SpareBytes2[22];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 000001e0 480 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000174 372 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0050 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0060 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x0064 */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0068 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00b8 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00bc */\tlong\tCompletionStatus;\n/* off 0x00c0 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00c4 */\tunsigned long\tFlags;\n/* off 0x00c8 */\tunsigned long\tUserFlags;\n/* off 0x00cc */\tunsigned long\tProblem;\n/* off 0x00d0 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00d4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00d8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00dc */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00e4 */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tunsigned char\tOverrideFlags;\n/* off 0x0171 */\tunsigned char\tRequiresUnloadedDriver;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00cc */\tvoid*\tReserved;\n/* off 0x00d0 */\tstruct _KEVENT\tEvent;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00e8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0140 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0144 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0148 */\tunsigned long\tProcImagePathHash;\n/* off 0x014c */\tunsigned long\tWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n/* off 0x0054 */\tunsigned long\tLoggedAllocationSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0134 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tlong\tSequenceNo;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00cc */\tvoid*\tCallbackContext;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x001c */\tstruct _LIST_ENTRY\tLoggerListEntry;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0030 */\tvoid*\tLogFileHandle;\n/* off 0x0034 */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0038 */\tlong\tLoggerStatus;\n/* off 0x003c */\tvoid*\tNBQHead;\n/* off 0x0040 */\tvoid*\tOverflowNBQHead;\n/* off 0x0048 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0058 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0058 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x005c */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x0074 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x007c */\tunsigned long\tClockType;\n/* off 0x0080 */\tunsigned long\tMaximumFileSize;\n/* off 0x0084 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0088 */\tunsigned long\tFlushTimer;\n/* off 0x008c */\tunsigned long\tFlushThreshold;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0098 */\tunsigned long\tMinimumBuffers;\n/* off 0x009c */\tlong\tBuffersAvailable;\n/* off 0x00a0 */\tlong\tNumberOfBuffers;\n/* off 0x00a4 */\tunsigned long\tMaximumBuffers;\n/* off 0x00a8 */\tunsigned long\tEventsLost;\n/* off 0x00ac */\tunsigned long\tBuffersWritten;\n/* off 0x00b0 */\tunsigned long\tLogBuffersLost;\n/* off 0x00b4 */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b8 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00bc */\tlong*\tSequencePtr;\n/* off 0x00c0 */\tunsigned long\tLocalSequence;\n/* off 0x00c4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00d4 */\tlong\tFileCounter;\n/* off 0x00d8 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00dc */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00e0 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00f0 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00f4 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00fc */\tunsigned long\tNumConsumers;\n/* off 0x0100 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x0154 */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x0164 */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0174 */\tstruct _KDPC\tFlushDpc;\n/* off 0x0194 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01b4 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01b8 */\tunsigned long\tBufferListSpinLock;\n/* off 0x01b8 */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01bc */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01f8 */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0250 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0250 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0250 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0250 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0250 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0250 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0250 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x0254 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0258 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardown;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000091\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tvoid*\tWMICallback;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0010 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tvoid*\tBaseAddress;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0060 */\tunsigned long\tIoProgress;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x007c */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0080 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x0084 */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0088 */\tunsigned long*\tPerformanceStats;\n/* off 0x008c */\tvoid*\tCompressionBlock;\n/* off 0x0090 */\tvoid*\tDmaIO;\n/* off 0x0094 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x009c */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00a0 */\tvoid*\tResumeContext;\n/* off 0x00a4 */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0010 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001f00 7936 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0dd8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0ddc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0de0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1e14 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1e18 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e3c */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e5c */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e60 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e64 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e68 */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e6c */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e98 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e9c */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1ea0 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1ea4 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1ea8 */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1eac */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x1ebc */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x1ec4 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0004 */\tunsigned long\tTablesNo;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0010 */\tunsigned long\tNodeRangeSize;\n/* off 0x0014 */\tunsigned long\tLock;\n/* off 0x0018 */\tstruct _KTHREAD*\tLockOwnerThread;\n/* off 0x001c */\tunsigned long\tNodeCount;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.1.7100.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c4 */\tunsigned long AltArchitecturePad[1];\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\n/* off 0x02ee */\tunsigned char TscQpcPad[2];\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f4 */\tunsigned long DataFlagsPad[1];\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n/* off 0x0320 */\tunsigned long ReservedTickCountOverlay[3];\n};\n/* off 0x032c */\tunsigned long TickCountPad[1];\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0334 */\tunsigned long CookiePad[1];\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03dc */\tunsigned long XStatePad[1];\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\nunion\n{\n/* off 0x0240 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0240 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0240 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0240 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerMiscFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tProcessor:5\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tActiveDR7:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInstrumented:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tReserved2:4\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tUmsScheduled:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tUmsPrimary:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KTIMER_TABLE /* sizeof 00001840 6208 */\n{\n/* off 0x0000 */\tstruct _KTIMER* TimerExpiry[16];\n/* off 0x0040 */\tstruct _KTIMER_TABLE_ENTRY TimerEntries[256];\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tPerfHistoryTotal;\n/* off 0x002c */\tunsigned char\tThermalConstraint;\n/* off 0x002d */\tunsigned char\tPerfHistoryCount;\n/* off 0x002e */\tunsigned char\tPerfHistorySlot;\n/* off 0x002f */\tunsigned char\tReserved;\n/* off 0x0030 */\tunsigned long\tLastSysTime;\n/* off 0x0034 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0038 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0040 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0060 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0080 */\tlong\tPerfActionMask;\n/* off 0x0088 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x0098 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00a8 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00ac */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b0 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00b4 */\tstruct _PROC_HISTORY_ENTRY*\tPerfHistory;\n/* off 0x00b8 */\tunsigned long\tUtility;\n/* off 0x00bc */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c0 */\tunsigned long\tAffinityCount;\n/* off 0x00c4 */\tunsigned long\tAffinityHistory;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KPRCB /* sizeof 00003628 13864 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[17];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x04c5 */\tunsigned char\tNodeColor;\n/* off 0x04c6 */\tunsigned char PrcbPad20[2];\n/* off 0x04c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x04d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x04d8 */\tunsigned long PrcbPad21[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x04fc */\tlong\tIoReadOperationCount;\n/* off 0x0500 */\tlong\tIoWriteOperationCount;\n/* off 0x0504 */\tlong\tIoOtherOperationCount;\n/* off 0x0508 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0510 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0518 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0520 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0524 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0528 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x052c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0530 */\tunsigned long\tCcMapDataWait;\n/* off 0x0534 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0538 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x053c */\tunsigned long\tCcPinReadWait;\n/* off 0x0540 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0544 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0548 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x054c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0550 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0554 */\tunsigned long\tCcDataFlushes;\n/* off 0x0558 */\tunsigned long\tCcDataPages;\n/* off 0x055c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0560 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0564 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0568 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x056c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0570 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0574 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0578 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x057c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0580 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0584 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0588 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x058c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0590 */\tunsigned long\tKeSystemCalls;\n/* off 0x0594 */\tunsigned long\tAvailableTime;\n/* off 0x0598 */\tunsigned long PrcbPad22[2];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0620 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0f20 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1820 */\tunsigned long\tPacketBarrier;\n/* off 0x1824 */\tlong\tReverseStall;\n/* off 0x1828 */\tvoid*\tIpiFrame;\n/* off 0x182c */\tunsigned char PrcbPad3[52];\n/* off 0x1860 */\tvoid* CurrentPacket[3];\n/* off 0x186c */\tunsigned long\tTargetSet;\n/* off 0x1870 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1874 */\tunsigned long\tIpiFrozen;\n/* off 0x1878 */\tunsigned char PrcbPad4[40];\n/* off 0x18a0 */\tunsigned long\tRequestSummary;\n/* off 0x18a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x18a8 */\tunsigned char PrcbPad50[56];\n/* off 0x18e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1908 */\tvoid*\tDpcStack;\n/* off 0x190c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1910 */\tunsigned long\tDpcRequestRate;\n/* off 0x1914 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1918 */\tunsigned long\tDpcLastCount;\n/* off 0x191c */\tunsigned long\tPrcbLock;\n/* off 0x1920 */\tstruct _KGATE\tDpcGate;\n/* off 0x1930 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1931 */\tunsigned char\tQuantumEnd;\n/* off 0x1932 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1933 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1934 */\tlong\tDpcRequestSummary;\n/* off 0x1934 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1934 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1936 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1936 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1938 */\tunsigned long\tTimerHand;\n/* off 0x193c */\tunsigned long\tLastTick;\n/* off 0x1940 */\tlong\tMasterOffset;\n/* off 0x1944 */\tunsigned long PrcbPad41[2];\n/* off 0x194c */\tunsigned long\tPeriodicCount;\n/* off 0x1950 */\tunsigned long\tPeriodicBias;\n/* off 0x1958 */\tunsigned __int64\tTickOffset;\n/* off 0x1960 */\tstruct _KTIMER_TABLE\tTimerTable;\n/* off 0x31a0 */\tstruct _KDPC\tCallDpc;\n/* off 0x31c0 */\tlong\tClockKeepAlive;\n/* off 0x31c4 */\tunsigned char\tClockCheckSlot;\n/* off 0x31c5 */\tunsigned char\tClockPollCycle;\n/* off 0x31c6 */\tunsigned char PrcbPad6[2];\n/* off 0x31c8 */\tlong\tDpcWatchdogPeriod;\n/* off 0x31cc */\tlong\tDpcWatchdogCount;\n/* off 0x31d0 */\tlong\tThreadWatchdogPeriod;\n/* off 0x31d4 */\tlong\tThreadWatchdogCount;\n/* off 0x31d8 */\tlong\tKeSpinLockOrdering;\n/* off 0x31dc */\tunsigned long PrcbPad70[1];\n/* off 0x31e0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x31e8 */\tunsigned long\tWaitLock;\n/* off 0x31ec */\tunsigned long\tReadySummary;\n/* off 0x31f0 */\tunsigned long\tQueueIndex;\n/* off 0x31f4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x31f8 */\tunsigned __int64\tStartCycles;\n/* off 0x3200 */\tunsigned __int64\tCycleTime;\n/* off 0x3208 */\tunsigned long\tHighCycleTime;\n/* off 0x320c */\tunsigned long\tPrcbPad71;\n/* off 0x3210 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x3220 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x3320 */\tvoid*\tChainedInterruptList;\n/* off 0x3324 */\tlong\tLookasideIrpFloat;\n/* off 0x3328 */\tlong\tMmPageFaultCount;\n/* off 0x332c */\tlong\tMmCopyOnWriteCount;\n/* off 0x3330 */\tlong\tMmTransitionCount;\n/* off 0x3334 */\tlong\tMmCacheTransitionCount;\n/* off 0x3338 */\tlong\tMmDemandZeroCount;\n/* off 0x333c */\tlong\tMmPageReadCount;\n/* off 0x3340 */\tlong\tMmPageReadIoCount;\n/* off 0x3344 */\tlong\tMmCacheReadCount;\n/* off 0x3348 */\tlong\tMmCacheIoCount;\n/* off 0x334c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x3350 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x3354 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x3358 */\tlong\tMmMappedWriteIoCount;\n/* off 0x335c */\tunsigned long\tCachedCommit;\n/* off 0x3360 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x3364 */\tvoid*\tHyperPte;\n/* off 0x3368 */\tunsigned char PrcbPad8[4];\n/* off 0x336c */\tunsigned char VendorString[13];\n/* off 0x3379 */\tunsigned char\tInitialApicId;\n/* off 0x337a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x337b */\tunsigned char PrcbPad9[5];\n/* off 0x3380 */\tunsigned long\tFeatureBits;\n/* off 0x3388 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x3390 */\tunsigned __int64\tIsrTime;\n/* off 0x3398 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x33a0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x3468 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x3488 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x34b0 */\tvoid*\tWheaInfo;\n/* off 0x34b4 */\tvoid*\tEtwSupport;\n/* off 0x34b8 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x34c0 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x34c8 */\tvoid*\tHypercallPageVirtual;\n/* off 0x34cc */\tvoid*\tVirtualApicAssist;\n/* off 0x34d0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x34d4 */\tvoid*\tRateControl;\n/* off 0x34d8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x3514 */\tunsigned long\tCacheCount;\n/* off 0x3518 */\tunsigned long CacheProcessorMask[5];\n/* off 0x352c */\tstruct _KAFFINITY_EX\tPackageProcessorSet;\n/* off 0x3538 */\tunsigned long PrcbPad91[1];\n/* off 0x353c */\tunsigned long\tCoreProcessorSet;\n/* off 0x3540 */\tstruct _KDPC\tTimerExpirationDpc;\n/* off 0x3560 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x3564 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x3568 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x356c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x3570 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x3574 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x3578 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x357c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x3580 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x3584 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x3588 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x358c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x3590 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x3594 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x3598 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x359c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x35a0 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x35a4 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x35a8 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x35ac */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x35b0 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x35b4 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x35b8 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x35bc */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x35c0 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x35c4 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x35c8 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x35cc */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x35d0 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x35d4 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x35d8 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x35dc */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x35e0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x35e4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x35e8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x35ec */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x35f0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x35f4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x35f8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x35fc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x3600 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x3604 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x3608 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x360c */\tunsigned long\tExBoostSharedOwners;\n/* off 0x3610 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x3614 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x3618 */\tstruct _CONTEXT*\tContext;\n/* off 0x361c */\tunsigned long\tContextFlags;\n/* off 0x3620 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00003748 14152 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tUnused:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tUmsDirectedSwitchEnable:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tTimerActive:1\t /* start bit 12 */;\n/* off 0x003c */\tunsigned long\tReserved:19\t /* start bit 13 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tUmsPerformingSyscall:1\t /* start bit 8 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00bc */\tvoid*\tServiceTable;\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tunsigned char\tApcStateIndex;\n/* off 0x0135 */\tchar\tBasePriority;\nunion\n{\n/* off 0x0136 */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x0136 */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x0136 */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x0137 */\tunsigned char\tPreempted;\n/* off 0x0138 */\tunsigned char\tAdjustReason;\n/* off 0x0139 */\tchar\tAdjustIncrement;\n/* off 0x013a */\tchar\tPreviousMode;\n/* off 0x013b */\tchar\tSaturation;\n/* off 0x013c */\tunsigned long\tSystemCallNumber;\n/* off 0x0140 */\tunsigned long\tFreezeCount;\n/* off 0x0144 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0150 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0154 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0160 */\tunsigned long\tIdealProcessor;\n/* off 0x0164 */\tunsigned long\tUserIdealProcessor;\n/* off 0x0168 */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0170 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0170 */\tunsigned char SavedApcStateFill[23];\n/* off 0x0187 */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x0188 */\tchar\tSuspendCount;\n/* off 0x0189 */\tchar\tSpare1;\n/* off 0x018a */\tunsigned char\tOtherPlatformFill;\n/* off 0x018c */\tvoid*\tWin32Thread;\n/* off 0x0190 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0194 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0195 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill1[3];\n/* off 0x0197 */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill2[4];\n/* off 0x0198 */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01b8 */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01bc */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c3 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c4 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01c8 */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01c8 */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01dc */\tunsigned long\tSListFaultCount;\n/* off 0x01e0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f0 */\tvoid*\tSListFaultAddress;\n/* off 0x01f4 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01f8 */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nunion _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\n/* off 0x0000 */\tunsigned char\tExecuteOptions;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0034 */\tunsigned long\tProcessLock;\n/* off 0x0038 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x004c */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x0050 */\tstruct _KAFFINITY_EX\tActiveProcessors;\nunion\n{\nstruct\n{\n/* off 0x005c */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x005c */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x005c */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x005c */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x005c */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x005c */\tlong\tProcessFlags;\n};\n/* off 0x0060 */\tchar\tBasePriority;\n/* off 0x0061 */\tchar\tQuantumReset;\n/* off 0x0062 */\tunsigned char\tVisited;\n/* off 0x0063 */\tunsigned char\tUnused3;\n/* off 0x0064 */\tunsigned long ThreadSeed[1];\n/* off 0x0068 */\tunsigned short IdealNode[1];\n/* off 0x006a */\tunsigned short\tIdealGlobalNode;\n/* off 0x006c */\tunion _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006d */\tunsigned char\tUnused1;\n/* off 0x006e */\tunsigned short\tIopmOffset;\n/* off 0x0070 */\tunsigned long\tUnused4;\n/* off 0x0074 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0080 */\tunsigned __int64\tCycleTime;\n/* off 0x0088 */\tunsigned long\tKernelTime;\n/* off 0x008c */\tunsigned long\tUserTime;\n/* off 0x0090 */\tvoid*\tVdmTrapcHandler;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0018 */\tunsigned __int64\tCycleTimeBias;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tGroupAssignmentFixed:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tFill:4\t /* start bit 4 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*);\n/* off 0x0018 */\tunsigned __int64\tHvConfig;\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned long\tLatency;\n/* off 0x0028 */\tunsigned long\tPower;\n/* off 0x002c */\tunsigned long\tTimeCheck;\n/* off 0x0030 */\tunsigned long\tStateFlags;\n/* off 0x0034 */\tunsigned char\tPromotePercent;\n/* off 0x0035 */\tunsigned char\tDemotePercent;\n/* off 0x0036 */\tunsigned char\tPromotePercentBase;\n/* off 0x0037 */\tunsigned char\tDemotePercentBase;\n/* off 0x0038 */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tunsigned char\tNewlyUnparked;\n/* off 0x0018 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0028 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n/* off 0x001c */\tunsigned long\tFrequencyHistoryTotal;\n/* off 0x0020 */\tunsigned long\tAverageFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nstruct _PROC_HISTORY_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tUtility;\n/* off 0x0002 */\tunsigned char\tFrequency;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueueUnusedSpare2\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueMaximumLock\t=0x00000011\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideMediumIrpList\t=0x00000001\t,//0\n\tLookasideLargeIrpList\t=0x00000002\t,//0\n\tLookasideMdlList\t=0x00000003\t,//0\n\tLookasideCreateInfoList\t=0x00000004\t,//0\n\tLookasideNameBufferList\t=0x00000005\t,//0\n\tLookasideTwilightList\t=0x00000006\t,//0\n\tLookasideCompletionList\t=0x00000007\t,//0\n\tLookasideScratchBufferList\t=0x00000008\t,//0\n\tLookasideMaximumList\t=0x00000009\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\n/* off 0x0210 */\tlong\tExitStatus;\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n/* off 0x0280 */\tunsigned long\tNeedsWorkingSetAging:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tTrimTrigger:2\t /* start bit 4 */;\n/* off 0x028a */\tunsigned char\tSpare1:2\t /* start bit 6 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tIoBoostCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tvoid*\tReservedForSynchTracking;\n/* off 0x02b0 */\tstruct _SINGLE_LIST_ENTRY\tCmCallbackListHead;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerReferenced:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:30\t /* start bit 2 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerState:2\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0004 */\tstruct _KGATE*\tExitGate;\n/* off 0x0008 */\tvoid*\tAccessLog;\n/* off 0x000c */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0014 */\tunsigned long AgeDistribution[7];\n/* off 0x0030 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSize;\n/* off 0x0038 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x003c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0040 */\tunsigned long\tChargedWslePages;\n/* off 0x0044 */\tunsigned long\tActualWslePages;\n/* off 0x0048 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x004c */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0050 */\tunsigned long\tHardFaultCount;\n/* off 0x0054 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0058 */\tunsigned short\tNextPageColor;\n/* off 0x005a */\tunsigned short\tLastTrimStamp;\n/* off 0x005c */\tunsigned long\tPageFaultCount;\n/* off 0x0060 */\tunsigned long\tRepurposeCount;\n/* off 0x0064 */\tunsigned long Spare[1];\n/* off 0x0068 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x00d8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tunsigned long\tCookie;\n/* off 0x0134 */\tunsigned long\tSpare8;\n/* off 0x0138 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x013c */\tvoid*\tWin32WindowStation;\n/* off 0x0140 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0144 */\tvoid*\tLdtInformation;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tunsigned long\tConsoleHostProcess;\n/* off 0x0150 */\tvoid*\tDeviceMap;\n/* off 0x0154 */\tvoid*\tEtwDataSource;\n/* off 0x0158 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0160 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0160 */\tunsigned __int64\tFiller;\n};\n/* off 0x0168 */\tvoid*\tSession;\n/* off 0x016c */\tunsigned char ImageFileName[15];\n/* off 0x017b */\tunsigned char\tPriorityClass;\n/* off 0x017c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0184 */\tvoid*\tLockedPagesList;\n/* off 0x0188 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0190 */\tvoid*\tSecurityPort;\n/* off 0x0194 */\tvoid*\tPaeTop;\n/* off 0x0198 */\tunsigned long\tActiveThreads;\n/* off 0x019c */\tunsigned long\tImagePathHash;\n/* off 0x01a0 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01a4 */\tlong\tLastThreadExitStatus;\n/* off 0x01a8 */\tstruct _PEB*\tPeb;\n/* off 0x01ac */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01e4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01e8 */\tvoid*\tAweInfo;\n/* off 0x01ec */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x025c */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0264 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0268 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0268 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0268 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0268 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0268 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0268 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0268 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0268 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0268 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0268 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0268 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0268 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0268 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0268 */\tunsigned long\tPropagateNode:1\t /* start bit 20 */;\n/* off 0x0268 */\tunsigned long\tExplicitAffinity:1\t /* start bit 21 */;\n};\n};\nunion\n{\n/* off 0x026c */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x026c */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x026c */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x026c */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x026c */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x026c */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x026c */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x026c */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x026c */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x026c */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x026c */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x026c */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x026c */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x026c */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x026c */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x026c */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x026c */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x026c */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x026c */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x026c */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x026c */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x026c */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x026c */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x026c */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x026c */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x026c */\tunsigned long\tCrossSessionCreate:1\t /* start bit 25 */;\n/* off 0x026c */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x026c */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x026c */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x026c */\tunsigned long\tSetTimerResolutionLink:1\t /* start bit 31 */;\n};\n};\n/* off 0x0270 */\tlong\tExitStatus;\n/* off 0x0274 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0294 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a4 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02ac */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b0 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b4 */\tunsigned long\tSmallestTimerResolution;\n/* off 0x02b8 */\tstruct _PO_DIAG_STACK_RECORD*\tTimerResolutionStackRecord;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x009c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tLimitFlags;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned __int64\tCurrentJobMemoryUsed;\n/* off 0x0120 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0124 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x012c */\tunsigned long\tMemberLevel;\n/* off 0x0130 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006ac 1708 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tvoid*\tHighestUserAddress;\n/* off 0x004c */\tunsigned short UsedPageTableEntries[768];\n/* off 0x064c */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _PO_DIAG_STACK_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStackDepth;\n/* off 0x0004 */\tvoid* Stack[1];\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileRemoteProtocolInformation\t=0x00000037\t,//0\n\tFileMaximumInformation\t=0x00000038\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved1:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tReserved:13\t /* start bit 19 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tGlobalTimeStamp:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tIoPortAccessSupported:1\t /* start bit 2 */;\n/* off 0x0050 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tvoid*\tNumaGroupAssignment;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x0090 */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0094 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\tunsigned long\tFlushInProgressCount;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\nunion\n{\n/* off 0x002c */\tunsigned long\tModifiedWriteCount;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n};\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tContainsDebug:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x002c */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tunsigned long\tSizeOfImage;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002ec 748 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tvoid*\tHiveLoadFailure;\n/* off 0x0028 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x002c */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0034 */\tunsigned long\tDirtyCount;\n/* off 0x0038 */\tunsigned long\tDirtyAlloc;\n/* off 0x003c */\tunsigned long\tBaseBlockAlloc;\n/* off 0x0040 */\tunsigned long\tCluster;\n/* off 0x0044 */\tunsigned char\tFlat;\n/* off 0x0045 */\tunsigned char\tReadOnly;\n/* off 0x0046 */\tunsigned char\tDirtyFlag;\n/* off 0x0048 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x004c */\tunsigned long\tHvFreeCellsUse;\n/* off 0x0050 */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0058 */\tunsigned long\tHiveFlags;\n/* off 0x005c */\tunsigned long\tCurrentLog;\n/* off 0x0060 */\tunsigned long LogSize[2];\n/* off 0x0068 */\tunsigned long\tRefreshCount;\n/* off 0x006c */\tunsigned long\tStorageTypeCount;\n/* off 0x0070 */\tunsigned long\tVersion;\n/* off 0x0074 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000630 1584 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02ec */\tvoid* FileHandles[6];\n/* off 0x0304 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x030c */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0314 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x031c */\tstruct _EX_RUNDOWN_REF\tHiveRundown;\n/* off 0x0320 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0328 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x032c */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0330 */\tunsigned long\tIdentity;\n/* off 0x0334 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0338 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x033c */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0340 */\tunsigned long\tViewLockLast;\n/* off 0x0344 */\tunsigned long\tViewUnLockLast;\n/* off 0x0348 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x034c */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0350 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0358 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x035c */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0360 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x0364 */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0368 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x036c */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x037c */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0384 */\tunsigned short\tMappedViewCount;\n/* off 0x0386 */\tunsigned short\tPinnedViewCount;\n/* off 0x0388 */\tunsigned long\tUseCount;\n/* off 0x038c */\tunsigned long\tViewsPerHive;\n/* off 0x0390 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0394 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0398 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03b0 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b8 */\tunsigned long\tSecurityCount;\n/* off 0x03bc */\tunsigned long\tSecurityCacheSize;\n/* off 0x03c0 */\tlong\tSecurityHitHint;\n/* off 0x03c4 */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c8 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c8 */\tunsigned long\tUnloadEventCount;\n/* off 0x05cc */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05d0 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05d4 */\tunsigned char\tFrozen;\n/* off 0x05d8 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05dc */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05f0 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05f4 */\tunsigned long\tGrowOffset;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0600 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0608 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x060c */\tunsigned long\tFlags;\n/* off 0x0610 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0618 */\tunsigned long\tFlushCount;\n/* off 0x061c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0620 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x0624 */\tlong\tCmRmInitFailStatus;\n/* off 0x0628 */\tstruct _KTHREAD*\tCreatorOwner;\n/* off 0x062c */\tstruct _KTHREAD*\tRundownThread;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nstruct _HIVE_LOAD_FAILURE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tstruct _HHIVE*\tHive;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned long\tRecoverableIndex;\n/* off 0x000c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} Locations[8];\n/* off 0x006c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} RecoverableLocations[8];\n/* off 0x00cc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAction;\n\t/* off 0x0004 */\tvoid*\tHandle;\n\t/* off 0x0008 */\tlong\tStatus;\n\t}\tRegistryIO;\n/* off 0x00d8 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tCheckStack;\n\t}\tCheckRegistry2;\n/* off 0x00dc */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tCell;\n\t/* off 0x0004 */\tstruct _CELL_DATA*\tCellPoint;\n\t/* off 0x0008 */\tvoid*\tRootPoint;\n\t/* off 0x000c */\tunsigned long\tIndex;\n\t}\tCheckKey;\n/* off 0x00ec */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA*\tList;\n\t/* off 0x0004 */\tunsigned long\tIndex;\n\t/* off 0x0008 */\tunsigned long\tCell;\n\t/* off 0x000c */\tstruct _CELL_DATA*\tCellPoint;\n\t}\tCheckValueList;\n/* off 0x00fc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive;\n/* off 0x0108 */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive1;\n/* off 0x0114 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _HBIN*\tBin;\n\t/* off 0x0004 */\tstruct _HCELL*\tCellPoint;\n\t}\tCheckBin;\n/* off 0x011c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFileOffset;\n\t}\tRecoverData;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nenum _CM_LOAD_FAILURE_TYPE\n{\n\t_None\t=0x00000000\t,//0\n\t_CmInitializeHive\t=0x00000001\t,//0\n\t_HvInitializeHive\t=0x00000002\t,//0\n\t_HvpBuildMap\t=0x00000003\t,//0\n\t_HvpBuildMapAndCopy\t=0x00000004\t,//0\n\t_HvpInitMap\t=0x00000005\t,//0\n\t_HvLoadHive\t=0x00000006\t,//0\n\t_HvpReadFileImageAndBuildMap\t=0x00000007\t,//0\n\t_HvpRecoverData\t=0x00000008\t,//0\n\t_HvpRecoverWholeHive\t=0x00000009\t,//0\n\t_HvpMapFileImageAndBuildMap\t=0x0000000a\t,//0\n\t_CmpValidateHiveSecurityDescriptors\t=0x0000000b\t,//0\n\t_HvpEnlistBinInMap\t=0x0000000c\t,//0\n\t_CmCheckRegistry\t=0x0000000d\t,//0\n\t_CmRegistryIO\t=0x0000000e\t,//0\n\t_CmCheckRegistry2\t=0x0000000f\t,//0\n\t_CmpCheckKey\t=0x00000010\t,//0\n\t_CmpCheckValueList\t=0x00000011\t,//0\n\t_HvCheckHive\t=0x00000012\t,//0\n\t_HvCheckBin\t=0x00000013\t,//0\n};\nstruct _HBIN /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFileOffset;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long Reserved1[2];\n/* off 0x0014 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x001c */\tunsigned long\tSpare;\n};\nstruct _HCELL /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tlong\tSize;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLast;\n\t\t/* off 0x0004 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tOldCell;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tNewCell;\n\t}\tu;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned long\tDpcCount;\n/* off 0x003c */\tunsigned long\tDpcRate;\n/* off 0x0040 */\tunsigned __int64\tC1Time;\n/* off 0x0048 */\tunsigned __int64\tC2Time;\n/* off 0x0050 */\tunsigned __int64\tC3Time;\n/* off 0x0058 */\tunsigned __int64\tC1Transitions;\n/* off 0x0060 */\tunsigned __int64\tC2Transitions;\n/* off 0x0068 */\tunsigned __int64\tC3Transitions;\n/* off 0x0070 */\tunsigned long\tParkingStatus;\n/* off 0x0074 */\tunsigned long\tCurrentFrequency;\n/* off 0x0078 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x007c */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes[24];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0008 */\tunsigned long\tDispatchedCount;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCompletedList;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0028 */\tunsigned long\tSpinLock;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x001c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x0024 */\tstruct _IRP*\tPendingIrp;\n/* off 0x0028 */\tunsigned long\tLevel;\n/* off 0x002c */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0068 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0078 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x007c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0080 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00d0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00d4 */\tlong\tCompletionStatus;\n/* off 0x00d8 */\tunsigned long\tFlags;\n/* off 0x00dc */\tunsigned long\tUserFlags;\n/* off 0x00e0 */\tunsigned long\tProblem;\n/* off 0x00e4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tstruct _GUID\tContainerID;\n/* off 0x0180 */\tunsigned char\tOverrideFlags;\n/* off 0x0181 */\tunsigned char\tRequiresUnloadedDriver;\n/* off 0x0184 */\tstruct _PENDING_RELATIONS_LIST_ENTRY*\tPendingEjectRelations;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PENDING_RELATIONS_LIST_ENTRY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0018 */\tstruct _PNP_DEVICE_EVENT_ENTRY*\tDeviceEvent;\n/* off 0x001c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0020 */\tstruct _RELATION_LIST*\tRelationsList;\n/* off 0x0024 */\tstruct _IRP*\tEjectIrp;\n/* off 0x0028 */\tenum IRPLOCK\tLock;\n/* off 0x002c */\tunsigned long\tProblem;\n/* off 0x0030 */\tunsigned char\tProfileChangingEject;\n/* off 0x0031 */\tunsigned char\tDisplaySafeRemovalDialog;\n/* off 0x0034 */\tenum _SYSTEM_POWER_STATE\tLightestSleepState;\n/* off 0x0038 */\tstruct DOCK_INTERFACE*\tDockInterface;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _RELATION_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tTagCount;\n/* off 0x0008 */\tunsigned long\tFirstLevel;\n/* off 0x000c */\tunsigned long\tMaxLevel;\n/* off 0x0010 */\tstruct _RELATION_LIST_ENTRY* Entries[1];\n};\nstruct _RELATION_LIST_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* Devices[1];\n};\nenum IRPLOCK\n{\n\tIRPLOCK_CANCELABLE\t=0x00000000\t,//0\n\tIRPLOCK_CANCEL_STARTED\t=0x00000001\t,//0\n\tIRPLOCK_CANCEL_COMPLETE\t=0x00000002\t,//0\n\tIRPLOCK_COMPLETED\t=0x00000003\t,//0\n};\nstruct DOCK_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ProfileDepartureSetMode)(void*,enum PROFILE_DEPARTURE_STYLE);\n/* off 0x0014 */\tunsigned long( __stdcall *ProfileDepartureUpdate)(void*);\n};\nenum PROFILE_DEPARTURE_STYLE\n{\n\tPDS_UPDATE_DEFAULT\t=0x00000001\t,//0\n\tPDS_UPDATE_ON_REMOVE\t=0x00000002\t,//0\n\tPDS_UPDATE_ON_INTERFACE\t=0x00000003\t,//0\n\tPDS_UPDATE_ON_EJECT\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tLastUnmapBehindOffset;\n/* off 0x00d8 */\tstruct _KEVENT\tEvent;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00f0 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0148 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x014c */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0150 */\tunsigned long\tProcImagePathHash;\n/* off 0x0154 */\tunsigned long\tWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0130 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00bc */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c0 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c4 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00c8 */\tvoid*\tCallbackContext;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d4 */\tlong\tSequenceNo;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tInDispatch:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tWrKeyedEvent\t=0x00000015\t,//0\n\tWrTerminated\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x0020 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0028 */\tvoid*\tLogFileHandle;\n/* off 0x002c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0030 */\tlong\tLoggerStatus;\n/* off 0x0034 */\tvoid*\tNBQHead;\n/* off 0x0038 */\tvoid*\tOverflowNBQHead;\n/* off 0x0040 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0050 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0050 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x005c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x006c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0074 */\tunsigned long\tClockType;\n/* off 0x0078 */\tunsigned long\tMaximumFileSize;\n/* off 0x007c */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0080 */\tunsigned long\tFlushTimer;\n/* off 0x0084 */\tunsigned long\tFlushThreshold;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0090 */\tunsigned long\tMinimumBuffers;\n/* off 0x0094 */\tlong\tBuffersAvailable;\n/* off 0x0098 */\tlong\tNumberOfBuffers;\n/* off 0x009c */\tunsigned long\tMaximumBuffers;\n/* off 0x00a0 */\tunsigned long\tEventsLost;\n/* off 0x00a4 */\tunsigned long\tBuffersWritten;\n/* off 0x00a8 */\tunsigned long\tLogBuffersLost;\n/* off 0x00ac */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00b4 */\tlong*\tSequencePtr;\n/* off 0x00b8 */\tunsigned long\tLocalSequence;\n/* off 0x00bc */\tstruct _GUID\tInstanceGuid;\n/* off 0x00cc */\tlong\tFileCounter;\n/* off 0x00d0 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d4 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f0 */\tunsigned long\tNumConsumers;\n/* off 0x00f4 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x00f8 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x00fc */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0130 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0138 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0170 */\tstruct _KTIMER\tFlushTimeOutTimer;\n/* off 0x0198 */\tstruct _KDPC\tFlushDpc;\n/* off 0x01b8 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01d8 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01dc */\tunsigned long\tBufferListSpinLock;\n/* off 0x01dc */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01e0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x021c */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0220 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tRealtimeLoggerContextFreed:1\t /* start bit 9 */;\n};\n};\nunion\n{\n/* off 0x022c */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x022c */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x022c */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x022c */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x022c */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x022c */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x022c */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0230 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001140 4416 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\nunion\n{\n/* off 0x0004 */\tstruct _KGUARDED_MUTEX\tPagedLock;\n/* off 0x0004 */\tunsigned long\tNonPagedLock;\n};\n/* off 0x0040 */\tlong\tRunningAllocs;\n/* off 0x0044 */\tlong\tRunningDeAllocs;\n/* off 0x0048 */\tlong\tTotalBigPages;\n/* off 0x004c */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0050 */\tunsigned long\tTotalBytes;\n/* off 0x0080 */\tunsigned long\tPoolIndex;\n/* off 0x00c0 */\tlong\tTotalPages;\n/* off 0x0100 */\tvoid**\tPendingFrees;\n/* off 0x0104 */\tlong\tPendingFreeDepth;\n/* off 0x0140 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tstruct _ETHREAD*\tThread;\n/* off 0x0008 */\tvoid* StackTrace[62];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardownScan;\n/* off 0x004b */\tunsigned char\tPendingPeriodicScan;\n/* off 0x004c */\tunsigned char\tPendingLowMemoryScan;\n/* off 0x004d */\tunsigned char\tPendingPowerScan;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_DRIVEEXTENDER_ID\t=0x00000091\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000092\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nstruct _ALIGNED_AFFINITY_SUMMARY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tCpuSet;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tSMTSet;\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _VF_SUSPECT_DRIVER_ENTRY*\tSuspectDriverEntry;\n/* off 0x0004 */\tvoid*\tWMICallback;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0014 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _ETW_WMITRACE_WORK /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tchar LoggerName[65];\n/* off 0x0049 */\tchar FileName[129];\n/* off 0x00cc */\tunsigned long\tMaximumFileSize;\n/* off 0x00d0 */\tunsigned long\tMinBuffers;\n/* off 0x00d4 */\tunsigned long\tMaxBuffers;\n/* off 0x00d8 */\tunsigned long\tBufferSize;\n/* off 0x00dc */\tunsigned long\tMode;\n/* off 0x00e0 */\tunsigned long\tFlushTimer;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tMatchAny;\n/* off 0x0010 */\tunsigned __int64\tMatchAll;\n/* off 0x0018 */\tunsigned long\tEnableProperty;\n/* off 0x001c */\tstruct _GUID\tGuid;\n/* off 0x002c */\tunsigned char\tLevel;\n};\n};\n/* off 0x00e8 */\tlong\tStatus;\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _PNP_DEVICE_COMPLETION_REQUEST /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x000c */\tvoid*\tContext;\n/* off 0x0010 */\tenum _PNP_DEVNODE_STATE\tCompletionState;\n/* off 0x0014 */\tunsigned long\tIrpPended;\n/* off 0x0018 */\tlong\tStatus;\n/* off 0x001c */\tvoid*\tInformation;\n/* off 0x0020 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0030 */\tstruct _DRIVER_OBJECT*\tFailingDriver;\n/* off 0x0034 */\tlong\tReferenceCount;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tReset;\n/* off 0x0004 */\tunsigned char\tHiberFlags;\n/* off 0x0005 */\tunsigned char\tWroteHiberFile;\n/* off 0x0006 */\tunsigned char\tMapFrozen;\n/* off 0x0008 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0020 */\tunsigned long\tClonedRangeCount;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0028 */\tunsigned long\tNextPreserve;\n/* off 0x002c */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0030 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0038 */\tunsigned __int64\tPagesOut;\n/* off 0x0040 */\tvoid*\tIoPages;\n/* off 0x0044 */\tunsigned long\tIoPagesCount;\n/* off 0x0048 */\tvoid*\tCurrentMcb;\n/* off 0x004c */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0050 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0054 */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0058 */\tunsigned long\tIoProgress;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tvoid*\tCompressionWorkspace;\n/* off 0x0074 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0078 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x007c */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0080 */\tunsigned long*\tPerformanceStats;\n/* off 0x0084 */\tvoid*\tCompressionBlock;\n/* off 0x0088 */\tvoid*\tDmaIO;\n/* off 0x008c */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x0094 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x0098 */\tvoid*\tResumeContext;\n/* off 0x009c */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0010 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tHint;\n/* off 0x0010 */\tstruct _MMPTE*\tBasePte;\n/* off 0x0014 */\tunsigned long*\tFailureCount;\n/* off 0x0018 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x001c */\tlong\tTotalSystemPtes;\n/* off 0x0020 */\tlong\tTotalFreeSystemPtes;\n/* off 0x0024 */\tlong\tCachedPteCount;\n/* off 0x0028 */\tunsigned long\tPteFailures;\nunion\n{\n/* off 0x002c */\tunsigned long\tSpinLock;\n/* off 0x002c */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\n};\nstruct _MM_SESSION_SPACE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0050 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x0058 */\tunsigned long\tLocaleId;\n/* off 0x005c */\tunsigned long\tAttachCount;\n/* off 0x0060 */\tstruct _KGATE\tAttachGate;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0ddc */\tstruct _MMWSLE*\tWsle;\n/* off 0x0de0 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0e00 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1f40 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1f44 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1f68 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1f88 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1f8c */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1f90 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1f94 */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1f98 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1fc8 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1fcc */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1fd0 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1fd4 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1fd8 */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1fdc */\tunsigned long\tIoStateSequence;\n/* off 0x1fe0 */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x1ff0 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x1ff8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _PNP_DEVICE_ACTION_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tenum _PNP_DEVICE_ACTION_REQUEST\tRequestType;\n/* off 0x0010 */\tunsigned char\tReorderingBarrier;\n/* off 0x0014 */\tunsigned long\tRequestArgument;\n/* off 0x0018 */\tstruct _KEVENT*\tCompletionEvent;\n/* off 0x001c */\tlong*\tCompletionStatus;\n};\nenum _PNP_DEVICE_ACTION_REQUEST\n{\n\tAssignResources\t=0x00000000\t,//0\n\tClearDeviceProblem\t=0x00000001\t,//0\n\tClearProblem\t=0x00000002\t,//0\n\tClearEjectProblem\t=0x00000003\t,//0\n\tHaltDevice\t=0x00000004\t,//0\n\tQueryPowerRelations\t=0x00000005\t,//0\n\tRebalance\t=0x00000006\t,//0\n\tReenumerateBootDevices\t=0x00000007\t,//0\n\tReenumerateDeviceOnly\t=0x00000008\t,//0\n\tReenumerateDeviceTree\t=0x00000009\t,//0\n\tReenumerateRootDevices\t=0x0000000a\t,//0\n\tRequeryDeviceState\t=0x0000000b\t,//0\n\tResetDevice\t=0x0000000c\t,//0\n\tResourceRequirementsChanged\t=0x0000000d\t,//0\n\tRestartEnumeration\t=0x0000000e\t,//0\n\tSetDeviceProblem\t=0x0000000f\t,//0\n\tStartDevice\t=0x00000010\t,//0\n\tStartSystemDevicesPass0\t=0x00000011\t,//0\n\tStartSystemDevicesPass1\t=0x00000012\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tLock;\n/* off 0x0004 */\tvoid*\tNodeToFree;\n/* off 0x0008 */\tunsigned long\tNodeRangeSize;\n/* off 0x000c */\tunsigned long\tNodeCount;\n/* off 0x0010 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0014 */\tunsigned long\tTablesNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tNodeSize;\n\t/* off 0x0000 */\tunsigned long\tUseLookaside;\n\t}\tu1;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrnlmp_6.1.7601.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c4 */\tunsigned long AltArchitecturePad[1];\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\n/* off 0x02ee */\tunsigned char TscQpcPad[2];\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f4 */\tunsigned long DataFlagsPad[1];\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n/* off 0x0320 */\tunsigned long ReservedTickCountOverlay[3];\n};\n/* off 0x032c */\tunsigned long TickCountPad[1];\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0334 */\tunsigned long CookiePad[1];\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03dc */\tunsigned long XStatePad[1];\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\nunion\n{\n/* off 0x0240 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0240 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0240 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0240 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerMiscFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tProcessor:5\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tActiveDR7:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInstrumented:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tReserved2:4\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tUmsScheduled:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tUmsPrimary:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KTIMER_TABLE /* sizeof 00001840 6208 */\n{\n/* off 0x0000 */\tstruct _KTIMER* TimerExpiry[16];\n/* off 0x0040 */\tstruct _KTIMER_TABLE_ENTRY TimerEntries[256];\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tPerfHistoryTotal;\n/* off 0x002c */\tunsigned char\tThermalConstraint;\n/* off 0x002d */\tunsigned char\tPerfHistoryCount;\n/* off 0x002e */\tunsigned char\tPerfHistorySlot;\n/* off 0x002f */\tunsigned char\tReserved;\n/* off 0x0030 */\tunsigned long\tLastSysTime;\n/* off 0x0034 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0038 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0040 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0060 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0080 */\tlong\tPerfActionMask;\n/* off 0x0088 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x0098 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00a8 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00ac */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b0 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00b4 */\tstruct _PROC_HISTORY_ENTRY*\tPerfHistory;\n/* off 0x00b8 */\tunsigned long\tUtility;\n/* off 0x00bc */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c0 */\tunsigned long\tAffinityCount;\n/* off 0x00c4 */\tunsigned long\tAffinityHistory;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KPRCB /* sizeof 00003628 13864 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[17];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x04c5 */\tunsigned char\tNodeColor;\n/* off 0x04c6 */\tunsigned char PrcbPad20[2];\n/* off 0x04c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x04d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x04d8 */\tunsigned long PrcbPad21[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x04fc */\tlong\tIoReadOperationCount;\n/* off 0x0500 */\tlong\tIoWriteOperationCount;\n/* off 0x0504 */\tlong\tIoOtherOperationCount;\n/* off 0x0508 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0510 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0518 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0520 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0524 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0528 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x052c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0530 */\tunsigned long\tCcMapDataWait;\n/* off 0x0534 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0538 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x053c */\tunsigned long\tCcPinReadWait;\n/* off 0x0540 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0544 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0548 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x054c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0550 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0554 */\tunsigned long\tCcDataFlushes;\n/* off 0x0558 */\tunsigned long\tCcDataPages;\n/* off 0x055c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0560 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0564 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0568 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x056c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0570 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0574 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0578 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x057c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0580 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0584 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0588 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x058c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0590 */\tunsigned long\tKeSystemCalls;\n/* off 0x0594 */\tunsigned long\tAvailableTime;\n/* off 0x0598 */\tunsigned long PrcbPad22[2];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0620 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0f20 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1820 */\tunsigned long\tPacketBarrier;\n/* off 0x1824 */\tlong\tReverseStall;\n/* off 0x1828 */\tvoid*\tIpiFrame;\n/* off 0x182c */\tunsigned char PrcbPad3[52];\n/* off 0x1860 */\tvoid* CurrentPacket[3];\n/* off 0x186c */\tunsigned long\tTargetSet;\n/* off 0x1870 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1874 */\tunsigned long\tIpiFrozen;\n/* off 0x1878 */\tunsigned char PrcbPad4[40];\n/* off 0x18a0 */\tunsigned long\tRequestSummary;\n/* off 0x18a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x18a8 */\tunsigned char PrcbPad50[56];\n/* off 0x18e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1908 */\tvoid*\tDpcStack;\n/* off 0x190c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1910 */\tunsigned long\tDpcRequestRate;\n/* off 0x1914 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1918 */\tunsigned long\tDpcLastCount;\n/* off 0x191c */\tunsigned long\tPrcbLock;\n/* off 0x1920 */\tstruct _KGATE\tDpcGate;\n/* off 0x1930 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1931 */\tunsigned char\tQuantumEnd;\n/* off 0x1932 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1933 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1934 */\tlong\tDpcRequestSummary;\n/* off 0x1934 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1934 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1936 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1936 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1938 */\tunsigned long\tTimerHand;\n/* off 0x193c */\tunsigned long\tLastTick;\n/* off 0x1940 */\tlong\tMasterOffset;\n/* off 0x1944 */\tunsigned long PrcbPad41[2];\n/* off 0x194c */\tunsigned long\tPeriodicCount;\n/* off 0x1950 */\tunsigned long\tPeriodicBias;\n/* off 0x1958 */\tunsigned __int64\tTickOffset;\n/* off 0x1960 */\tstruct _KTIMER_TABLE\tTimerTable;\n/* off 0x31a0 */\tstruct _KDPC\tCallDpc;\n/* off 0x31c0 */\tlong\tClockKeepAlive;\n/* off 0x31c4 */\tunsigned char\tClockCheckSlot;\n/* off 0x31c5 */\tunsigned char\tClockPollCycle;\n/* off 0x31c6 */\tunsigned char PrcbPad6[2];\n/* off 0x31c8 */\tlong\tDpcWatchdogPeriod;\n/* off 0x31cc */\tlong\tDpcWatchdogCount;\n/* off 0x31d0 */\tlong\tThreadWatchdogPeriod;\n/* off 0x31d4 */\tlong\tThreadWatchdogCount;\n/* off 0x31d8 */\tlong\tKeSpinLockOrdering;\n/* off 0x31dc */\tunsigned long PrcbPad70[1];\n/* off 0x31e0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x31e8 */\tunsigned long\tWaitLock;\n/* off 0x31ec */\tunsigned long\tReadySummary;\n/* off 0x31f0 */\tunsigned long\tQueueIndex;\n/* off 0x31f4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x31f8 */\tunsigned __int64\tStartCycles;\n/* off 0x3200 */\tunsigned __int64\tCycleTime;\n/* off 0x3208 */\tunsigned long\tHighCycleTime;\n/* off 0x320c */\tunsigned long\tPrcbPad71;\n/* off 0x3210 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x3220 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x3320 */\tvoid*\tChainedInterruptList;\n/* off 0x3324 */\tlong\tLookasideIrpFloat;\n/* off 0x3328 */\tlong\tMmPageFaultCount;\n/* off 0x332c */\tlong\tMmCopyOnWriteCount;\n/* off 0x3330 */\tlong\tMmTransitionCount;\n/* off 0x3334 */\tlong\tMmCacheTransitionCount;\n/* off 0x3338 */\tlong\tMmDemandZeroCount;\n/* off 0x333c */\tlong\tMmPageReadCount;\n/* off 0x3340 */\tlong\tMmPageReadIoCount;\n/* off 0x3344 */\tlong\tMmCacheReadCount;\n/* off 0x3348 */\tlong\tMmCacheIoCount;\n/* off 0x334c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x3350 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x3354 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x3358 */\tlong\tMmMappedWriteIoCount;\n/* off 0x335c */\tunsigned long\tCachedCommit;\n/* off 0x3360 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x3364 */\tvoid*\tHyperPte;\n/* off 0x3368 */\tunsigned char PrcbPad8[4];\n/* off 0x336c */\tunsigned char VendorString[13];\n/* off 0x3379 */\tunsigned char\tInitialApicId;\n/* off 0x337a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x337b */\tunsigned char PrcbPad9[5];\n/* off 0x3380 */\tunsigned long\tFeatureBits;\n/* off 0x3388 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x3390 */\tunsigned __int64\tIsrTime;\n/* off 0x3398 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x33a0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x3468 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x3488 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x34b0 */\tvoid*\tWheaInfo;\n/* off 0x34b4 */\tvoid*\tEtwSupport;\n/* off 0x34b8 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x34c0 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x34c8 */\tvoid*\tHypercallPageVirtual;\n/* off 0x34cc */\tvoid*\tVirtualApicAssist;\n/* off 0x34d0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x34d4 */\tvoid*\tRateControl;\n/* off 0x34d8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x3514 */\tunsigned long\tCacheCount;\n/* off 0x3518 */\tunsigned long CacheProcessorMask[5];\n/* off 0x352c */\tstruct _KAFFINITY_EX\tPackageProcessorSet;\n/* off 0x3538 */\tunsigned long PrcbPad91[1];\n/* off 0x353c */\tunsigned long\tCoreProcessorSet;\n/* off 0x3540 */\tstruct _KDPC\tTimerExpirationDpc;\n/* off 0x3560 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x3564 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x3568 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x356c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x3570 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x3574 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x3578 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x357c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x3580 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x3584 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x3588 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x358c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x3590 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x3594 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x3598 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x359c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x35a0 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x35a4 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x35a8 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x35ac */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x35b0 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x35b4 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x35b8 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x35bc */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x35c0 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x35c4 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x35c8 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x35cc */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x35d0 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x35d4 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x35d8 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x35dc */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x35e0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x35e4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x35e8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x35ec */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x35f0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x35f4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x35f8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x35fc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x3600 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x3604 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x3608 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x360c */\tunsigned long\tExBoostSharedOwners;\n/* off 0x3610 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x3614 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x3618 */\tstruct _CONTEXT*\tContext;\n/* off 0x361c */\tunsigned long\tContextFlags;\n/* off 0x3620 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00003748 14152 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tUnused:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tUmsDirectedSwitchEnable:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tTimerActive:1\t /* start bit 12 */;\n/* off 0x003c */\tunsigned long\tSystemThread:1\t /* start bit 13 */;\n/* off 0x003c */\tunsigned long\tReserved:18\t /* start bit 14 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tUmsPerformingSyscall:1\t /* start bit 8 */;\n/* off 0x00b8 */\tunsigned long\tVdmSafe:1\t /* start bit 9 */;\n/* off 0x00b8 */\tunsigned long\tUmsDispatched:1\t /* start bit 10 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:21\t /* start bit 11 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00bc */\tvoid*\tServiceTable;\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tunsigned char\tApcStateIndex;\n/* off 0x0135 */\tchar\tBasePriority;\nunion\n{\n/* off 0x0136 */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x0136 */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x0136 */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x0137 */\tunsigned char\tPreempted;\n/* off 0x0138 */\tunsigned char\tAdjustReason;\n/* off 0x0139 */\tchar\tAdjustIncrement;\n/* off 0x013a */\tchar\tPreviousMode;\n/* off 0x013b */\tchar\tSaturation;\n/* off 0x013c */\tunsigned long\tSystemCallNumber;\n/* off 0x0140 */\tunsigned long\tFreezeCount;\n/* off 0x0144 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0150 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0154 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0160 */\tunsigned long\tIdealProcessor;\n/* off 0x0164 */\tunsigned long\tUserIdealProcessor;\n/* off 0x0168 */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0170 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0170 */\tunsigned char SavedApcStateFill[23];\n/* off 0x0187 */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x0188 */\tchar\tSuspendCount;\n/* off 0x0189 */\tchar\tSpare1;\n/* off 0x018a */\tunsigned char\tOtherPlatformFill;\n/* off 0x018c */\tvoid*\tWin32Thread;\n/* off 0x0190 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0194 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0195 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill1[3];\n/* off 0x0197 */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill2[4];\n/* off 0x0198 */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01b8 */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01bc */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c3 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c4 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01c8 */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01c8 */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01dc */\tunsigned long\tSListFaultCount;\n/* off 0x01e0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f0 */\tvoid*\tSListFaultAddress;\n/* off 0x01f4 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01f8 */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nunion _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\n/* off 0x0000 */\tunsigned char\tExecuteOptions;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0034 */\tunsigned long\tProcessLock;\n/* off 0x0038 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x004c */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x0050 */\tstruct _KAFFINITY_EX\tActiveProcessors;\nunion\n{\nstruct\n{\n/* off 0x005c */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x005c */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x005c */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x005c */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x005c */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x005c */\tlong\tProcessFlags;\n};\n/* off 0x0060 */\tchar\tBasePriority;\n/* off 0x0061 */\tchar\tQuantumReset;\n/* off 0x0062 */\tunsigned char\tVisited;\n/* off 0x0063 */\tunsigned char\tUnused3;\n/* off 0x0064 */\tunsigned long ThreadSeed[1];\n/* off 0x0068 */\tunsigned short IdealNode[1];\n/* off 0x006a */\tunsigned short\tIdealGlobalNode;\n/* off 0x006c */\tunion _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006d */\tunsigned char\tUnused1;\n/* off 0x006e */\tunsigned short\tIopmOffset;\n/* off 0x0070 */\tunsigned long\tUnused4;\n/* off 0x0074 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0080 */\tunsigned __int64\tCycleTime;\n/* off 0x0088 */\tunsigned long\tKernelTime;\n/* off 0x008c */\tunsigned long\tUserTime;\n/* off 0x0090 */\tvoid*\tVdmTrapcHandler;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0018 */\tunsigned __int64\tCycleTimeBias;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tGroupAssignmentFixed:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tFill:4\t /* start bit 4 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*);\n/* off 0x0018 */\tunsigned __int64\tHvConfig;\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned long\tLatency;\n/* off 0x0028 */\tunsigned long\tPower;\n/* off 0x002c */\tunsigned long\tTimeCheck;\n/* off 0x0030 */\tunsigned long\tStateFlags;\n/* off 0x0034 */\tunsigned char\tPromotePercent;\n/* off 0x0035 */\tunsigned char\tDemotePercent;\n/* off 0x0036 */\tunsigned char\tPromotePercentBase;\n/* off 0x0037 */\tunsigned char\tDemotePercentBase;\n/* off 0x0038 */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0020 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n/* off 0x001c */\tunsigned long\tFrequencyHistoryTotal;\n/* off 0x0020 */\tunsigned long\tAverageFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nstruct _PROC_HISTORY_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tUtility;\n/* off 0x0002 */\tunsigned char\tFrequency;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueueUnusedSpare2\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueMaximumLock\t=0x00000011\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideMediumIrpList\t=0x00000001\t,//0\n\tLookasideLargeIrpList\t=0x00000002\t,//0\n\tLookasideMdlList\t=0x00000003\t,//0\n\tLookasideCreateInfoList\t=0x00000004\t,//0\n\tLookasideNameBufferList\t=0x00000005\t,//0\n\tLookasideTwilightList\t=0x00000006\t,//0\n\tLookasideCompletionList\t=0x00000007\t,//0\n\tLookasideScratchBufferList\t=0x00000008\t,//0\n\tLookasideMaximumList\t=0x00000009\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\n/* off 0x0210 */\tlong\tExitStatus;\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tReserved:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n/* off 0x0280 */\tunsigned long\tNeedsWorkingSetAging:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tTrimTrigger:2\t /* start bit 4 */;\n/* off 0x028a */\tunsigned char\tSpare1:2\t /* start bit 6 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tIoBoostCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tvoid*\tReservedForSynchTracking;\n/* off 0x02b0 */\tstruct _SINGLE_LIST_ENTRY\tCmCallbackListHead;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerReferenced:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:30\t /* start bit 2 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\treserved:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerState:2\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0004 */\tstruct _KGATE*\tExitGate;\n/* off 0x0008 */\tvoid*\tAccessLog;\n/* off 0x000c */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0014 */\tunsigned long AgeDistribution[7];\n/* off 0x0030 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSize;\n/* off 0x0038 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x003c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0040 */\tunsigned long\tChargedWslePages;\n/* off 0x0044 */\tunsigned long\tActualWslePages;\n/* off 0x0048 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x004c */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0050 */\tunsigned long\tHardFaultCount;\n/* off 0x0054 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0058 */\tunsigned short\tNextPageColor;\n/* off 0x005a */\tunsigned short\tLastTrimStamp;\n/* off 0x005c */\tunsigned long\tPageFaultCount;\n/* off 0x0060 */\tunsigned long\tRepurposeCount;\n/* off 0x0064 */\tunsigned long Spare[1];\n/* off 0x0068 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x00d8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tunsigned long\tCookie;\n/* off 0x0134 */\tunsigned long\tSpare8;\n/* off 0x0138 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x013c */\tvoid*\tWin32WindowStation;\n/* off 0x0140 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0144 */\tvoid*\tLdtInformation;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tunsigned long\tConsoleHostProcess;\n/* off 0x0150 */\tvoid*\tDeviceMap;\n/* off 0x0154 */\tvoid*\tEtwDataSource;\n/* off 0x0158 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0160 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0160 */\tunsigned __int64\tFiller;\n};\n/* off 0x0168 */\tvoid*\tSession;\n/* off 0x016c */\tunsigned char ImageFileName[15];\n/* off 0x017b */\tunsigned char\tPriorityClass;\n/* off 0x017c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0184 */\tvoid*\tLockedPagesList;\n/* off 0x0188 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0190 */\tvoid*\tSecurityPort;\n/* off 0x0194 */\tvoid*\tPaeTop;\n/* off 0x0198 */\tunsigned long\tActiveThreads;\n/* off 0x019c */\tunsigned long\tImagePathHash;\n/* off 0x01a0 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01a4 */\tlong\tLastThreadExitStatus;\n/* off 0x01a8 */\tstruct _PEB*\tPeb;\n/* off 0x01ac */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01e4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01e8 */\tvoid*\tAweInfo;\n/* off 0x01ec */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x025c */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0264 */\tvoid*\tHighestUserAddress;\n/* off 0x0268 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x026c */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x026c */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x026c */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x026c */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x026c */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x026c */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x026c */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x026c */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x026c */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x026c */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x026c */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x026c */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x026c */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x026c */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x026c */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x026c */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x026c */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x026c */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x026c */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x026c */\tunsigned long\tPropagateNode:1\t /* start bit 20 */;\n/* off 0x026c */\tunsigned long\tExplicitAffinity:1\t /* start bit 21 */;\n};\n};\nunion\n{\n/* off 0x0270 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0270 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0270 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0270 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0270 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0270 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0270 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0270 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0270 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0270 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0270 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0270 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0270 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0270 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0270 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0270 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0270 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0270 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0270 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0270 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0270 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0270 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0270 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0270 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0270 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0270 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 25 */;\n/* off 0x0270 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0270 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0270 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0270 */\tunsigned long\tSetTimerResolutionLink:1\t /* start bit 31 */;\n};\n};\n/* off 0x0274 */\tlong\tExitStatus;\n/* off 0x0278 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0298 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a8 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02b0 */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b4 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b8 */\tunsigned long\tSmallestTimerResolution;\n/* off 0x02bc */\tstruct _PO_DIAG_STACK_RECORD*\tTimerResolutionStackRecord;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x009c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tLimitFlags;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned __int64\tCurrentJobMemoryUsed;\n/* off 0x0120 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0124 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x012c */\tunsigned long\tMemberLevel;\n/* off 0x0130 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 000006a8 1704 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tunsigned short UsedPageTableEntries[768];\n/* off 0x0648 */\tunsigned long CommittedPageTables[24];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _PO_DIAG_STACK_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStackDepth;\n/* off 0x0004 */\tvoid* Stack[1];\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileRemoteProtocolInformation\t=0x00000037\t,//0\n\tFileMaximumInformation\t=0x00000038\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved1:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tReserved:13\t /* start bit 19 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressLow:8\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tProtoAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFileHigh:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tGlobalTimeStamp:20\t /* start bit 12 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tPageFrameNumber:20\t /* start bit 12 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressLow:9\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tSubsectionAddressHigh:21\t /* start bit 11 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tfiller1:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tNextEntry:20\t /* start bit 12 */;\n};\nstruct _MMPTE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tunsigned long\tVolatileLong;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tIoPortAccessSupported:1\t /* start bit 2 */;\n/* off 0x0050 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tvoid*\tNumaGroupAssignment;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x0090 */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0094 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\tunsigned long\tFlushInProgressCount;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\nunion\n{\n/* off 0x002c */\tunsigned long\tModifiedWriteCount;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n};\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tContainsDebug:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x002c */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tunsigned long\tSizeOfImage;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002ec 748 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tvoid*\tHiveLoadFailure;\n/* off 0x0028 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x002c */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0034 */\tunsigned long\tDirtyCount;\n/* off 0x0038 */\tunsigned long\tDirtyAlloc;\n/* off 0x003c */\tunsigned long\tBaseBlockAlloc;\n/* off 0x0040 */\tunsigned long\tCluster;\n/* off 0x0044 */\tunsigned char\tFlat;\n/* off 0x0045 */\tunsigned char\tReadOnly;\n/* off 0x0046 */\tunsigned char\tDirtyFlag;\n/* off 0x0048 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x004c */\tunsigned long\tHvFreeCellsUse;\n/* off 0x0050 */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0058 */\tunsigned long\tHiveFlags;\n/* off 0x005c */\tunsigned long\tCurrentLog;\n/* off 0x0060 */\tunsigned long LogSize[2];\n/* off 0x0068 */\tunsigned long\tRefreshCount;\n/* off 0x006c */\tunsigned long\tStorageTypeCount;\n/* off 0x0070 */\tunsigned long\tVersion;\n/* off 0x0074 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000638 1592 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02ec */\tvoid* FileHandles[6];\n/* off 0x0304 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x030c */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0314 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x031c */\tstruct _EX_RUNDOWN_REF\tHiveRundown;\n/* off 0x0320 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0328 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x032c */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0330 */\tunsigned long\tIdentity;\n/* off 0x0334 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0338 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x033c */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0340 */\tunsigned long\tViewLockLast;\n/* off 0x0344 */\tunsigned long\tViewUnLockLast;\n/* off 0x0348 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x034c */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0350 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0358 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x035c */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0360 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x0364 */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0368 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x036c */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x037c */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0384 */\tunsigned short\tMappedViewCount;\n/* off 0x0386 */\tunsigned short\tPinnedViewCount;\n/* off 0x0388 */\tunsigned long\tUseCount;\n/* off 0x038c */\tunsigned long\tViewsPerHive;\n/* off 0x0390 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0394 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0398 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03b0 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b8 */\tunsigned long\tSecurityCount;\n/* off 0x03bc */\tunsigned long\tSecurityCacheSize;\n/* off 0x03c0 */\tlong\tSecurityHitHint;\n/* off 0x03c4 */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c8 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c8 */\tunsigned long\tUnloadEventCount;\n/* off 0x05cc */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05d0 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05d4 */\tunsigned char\tFrozen;\n/* off 0x05d8 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05dc */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05f0 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05f4 */\tunsigned long\tGrowOffset;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0600 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0608 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x060c */\tunsigned long\tFlags;\n/* off 0x0610 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0618 */\tunsigned long\tFlushCount;\n/* off 0x061c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0620 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x0624 */\tlong\tCmRmInitFailStatus;\n/* off 0x0628 */\tstruct _KTHREAD*\tCreatorOwner;\n/* off 0x062c */\tstruct _KTHREAD*\tRundownThread;\n/* off 0x0630 */\tunion _LARGE_INTEGER\tLastWriteTime;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nstruct _HIVE_LOAD_FAILURE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tstruct _HHIVE*\tHive;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned long\tRecoverableIndex;\n/* off 0x000c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} Locations[8];\n/* off 0x006c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} RecoverableLocations[8];\n/* off 0x00cc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAction;\n\t/* off 0x0004 */\tvoid*\tHandle;\n\t/* off 0x0008 */\tlong\tStatus;\n\t}\tRegistryIO;\n/* off 0x00d8 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tCheckStack;\n\t}\tCheckRegistry2;\n/* off 0x00dc */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tCell;\n\t/* off 0x0004 */\tstruct _CELL_DATA*\tCellPoint;\n\t/* off 0x0008 */\tvoid*\tRootPoint;\n\t/* off 0x000c */\tunsigned long\tIndex;\n\t}\tCheckKey;\n/* off 0x00ec */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA*\tList;\n\t/* off 0x0004 */\tunsigned long\tIndex;\n\t/* off 0x0008 */\tunsigned long\tCell;\n\t/* off 0x000c */\tstruct _CELL_DATA*\tCellPoint;\n\t}\tCheckValueList;\n/* off 0x00fc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive;\n/* off 0x0108 */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive1;\n/* off 0x0114 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _HBIN*\tBin;\n\t/* off 0x0004 */\tstruct _HCELL*\tCellPoint;\n\t}\tCheckBin;\n/* off 0x011c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFileOffset;\n\t}\tRecoverData;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nenum _CM_LOAD_FAILURE_TYPE\n{\n\t_None\t=0x00000000\t,//0\n\t_CmInitializeHive\t=0x00000001\t,//0\n\t_HvInitializeHive\t=0x00000002\t,//0\n\t_HvpBuildMap\t=0x00000003\t,//0\n\t_HvpBuildMapAndCopy\t=0x00000004\t,//0\n\t_HvpInitMap\t=0x00000005\t,//0\n\t_HvLoadHive\t=0x00000006\t,//0\n\t_HvpReadFileImageAndBuildMap\t=0x00000007\t,//0\n\t_HvpRecoverData\t=0x00000008\t,//0\n\t_HvpRecoverWholeHive\t=0x00000009\t,//0\n\t_HvpMapFileImageAndBuildMap\t=0x0000000a\t,//0\n\t_CmpValidateHiveSecurityDescriptors\t=0x0000000b\t,//0\n\t_HvpEnlistBinInMap\t=0x0000000c\t,//0\n\t_CmCheckRegistry\t=0x0000000d\t,//0\n\t_CmRegistryIO\t=0x0000000e\t,//0\n\t_CmCheckRegistry2\t=0x0000000f\t,//0\n\t_CmpCheckKey\t=0x00000010\t,//0\n\t_CmpCheckValueList\t=0x00000011\t,//0\n\t_HvCheckHive\t=0x00000012\t,//0\n\t_HvCheckBin\t=0x00000013\t,//0\n};\nstruct _HBIN /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFileOffset;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long Reserved1[2];\n/* off 0x0014 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x001c */\tunsigned long\tSpare;\n};\nstruct _HCELL /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tlong\tSize;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLast;\n\t\t/* off 0x0004 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tOldCell;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tNewCell;\n\t}\tu;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned long\tDpcCount;\n/* off 0x003c */\tunsigned long\tDpcRate;\n/* off 0x0040 */\tunsigned __int64\tC1Time;\n/* off 0x0048 */\tunsigned __int64\tC2Time;\n/* off 0x0050 */\tunsigned __int64\tC3Time;\n/* off 0x0058 */\tunsigned __int64\tC1Transitions;\n/* off 0x0060 */\tunsigned __int64\tC2Transitions;\n/* off 0x0068 */\tunsigned __int64\tC3Transitions;\n/* off 0x0070 */\tunsigned long\tParkingStatus;\n/* off 0x0074 */\tunsigned long\tCurrentFrequency;\n/* off 0x0078 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x007c */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes[24];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0008 */\tunsigned long\tDispatchedCount;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCompletedList;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0028 */\tunsigned long\tSpinLock;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x001c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x0024 */\tstruct _IRP*\tPendingIrp;\n/* off 0x0028 */\tunsigned long\tLevel;\n/* off 0x002c */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0068 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0078 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x007c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0080 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00d0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00d4 */\tlong\tCompletionStatus;\n/* off 0x00d8 */\tunsigned long\tFlags;\n/* off 0x00dc */\tunsigned long\tUserFlags;\n/* off 0x00e0 */\tunsigned long\tProblem;\n/* off 0x00e4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tstruct _GUID\tContainerID;\n/* off 0x0180 */\tunsigned char\tOverrideFlags;\n/* off 0x0181 */\tunsigned char\tRequiresUnloadedDriver;\n/* off 0x0184 */\tstruct _PENDING_RELATIONS_LIST_ENTRY*\tPendingEjectRelations;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PENDING_RELATIONS_LIST_ENTRY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0018 */\tstruct _PNP_DEVICE_EVENT_ENTRY*\tDeviceEvent;\n/* off 0x001c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0020 */\tstruct _RELATION_LIST*\tRelationsList;\n/* off 0x0024 */\tstruct _IRP*\tEjectIrp;\n/* off 0x0028 */\tenum IRPLOCK\tLock;\n/* off 0x002c */\tunsigned long\tProblem;\n/* off 0x0030 */\tunsigned char\tProfileChangingEject;\n/* off 0x0031 */\tunsigned char\tDisplaySafeRemovalDialog;\n/* off 0x0034 */\tenum _SYSTEM_POWER_STATE\tLightestSleepState;\n/* off 0x0038 */\tstruct DOCK_INTERFACE*\tDockInterface;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _RELATION_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tTagCount;\n/* off 0x0008 */\tunsigned long\tFirstLevel;\n/* off 0x000c */\tunsigned long\tMaxLevel;\n/* off 0x0010 */\tstruct _RELATION_LIST_ENTRY* Entries[1];\n};\nstruct _RELATION_LIST_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* Devices[1];\n};\nenum IRPLOCK\n{\n\tIRPLOCK_CANCELABLE\t=0x00000000\t,//0\n\tIRPLOCK_CANCEL_STARTED\t=0x00000001\t,//0\n\tIRPLOCK_CANCEL_COMPLETE\t=0x00000002\t,//0\n\tIRPLOCK_COMPLETED\t=0x00000003\t,//0\n};\nstruct DOCK_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ProfileDepartureSetMode)(void*,enum PROFILE_DEPARTURE_STYLE);\n/* off 0x0014 */\tunsigned long( __stdcall *ProfileDepartureUpdate)(void*);\n};\nenum PROFILE_DEPARTURE_STYLE\n{\n\tPDS_UPDATE_DEFAULT\t=0x00000001\t,//0\n\tPDS_UPDATE_ON_REMOVE\t=0x00000002\t,//0\n\tPDS_UPDATE_ON_INTERFACE\t=0x00000003\t,//0\n\tPDS_UPDATE_ON_EJECT\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000160 352 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tLastUnmapBehindOffset;\n/* off 0x00d8 */\tstruct _KEVENT\tEvent;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00f0 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0148 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x014c */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0150 */\tunsigned long\tProcImagePathHash;\n/* off 0x0154 */\tunsigned long\tWritesInProgress;\n/* off 0x0158 */\tunsigned long\tPipelinedReadAheadSize;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n/* off 0x000c */\tunsigned long\tVacbLevelsAllocated;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0130 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00bc */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c0 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c4 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00c8 */\tvoid*\tCallbackContext;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d4 */\tlong\tSequenceNo;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tInDispatch:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tWrKeyedEvent\t=0x00000015\t,//0\n\tWrTerminated\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x0020 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0028 */\tvoid*\tLogFileHandle;\n/* off 0x002c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0030 */\tlong\tLoggerStatus;\n/* off 0x0034 */\tvoid*\tNBQHead;\n/* off 0x0038 */\tvoid*\tOverflowNBQHead;\n/* off 0x0040 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0050 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0050 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x005c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x006c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0074 */\tunsigned long\tClockType;\n/* off 0x0078 */\tunsigned long\tMaximumFileSize;\n/* off 0x007c */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0080 */\tunsigned long\tFlushTimer;\n/* off 0x0084 */\tunsigned long\tFlushThreshold;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0090 */\tunsigned long\tMinimumBuffers;\n/* off 0x0094 */\tlong\tBuffersAvailable;\n/* off 0x0098 */\tlong\tNumberOfBuffers;\n/* off 0x009c */\tunsigned long\tMaximumBuffers;\n/* off 0x00a0 */\tunsigned long\tEventsLost;\n/* off 0x00a4 */\tunsigned long\tBuffersWritten;\n/* off 0x00a8 */\tunsigned long\tLogBuffersLost;\n/* off 0x00ac */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00b4 */\tlong*\tSequencePtr;\n/* off 0x00b8 */\tunsigned long\tLocalSequence;\n/* off 0x00bc */\tstruct _GUID\tInstanceGuid;\n/* off 0x00cc */\tlong\tFileCounter;\n/* off 0x00d0 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d4 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f0 */\tunsigned long\tNumConsumers;\n/* off 0x00f4 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x00f8 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x00fc */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0130 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0138 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0170 */\tstruct _KTIMER\tFlushTimeOutTimer;\n/* off 0x0198 */\tstruct _KDPC\tFlushDpc;\n/* off 0x01b8 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01d8 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01dc */\tunsigned long\tBufferListSpinLock;\n/* off 0x01dc */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01e0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x021c */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0220 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tRealtimeLoggerContextFreed:1\t /* start bit 9 */;\n};\n};\nunion\n{\n/* off 0x022c */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x022c */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x022c */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x022c */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x022c */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x022c */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x022c */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0230 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x001c */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001140 4416 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\nunion\n{\n/* off 0x0004 */\tstruct _KGUARDED_MUTEX\tPagedLock;\n/* off 0x0004 */\tunsigned long\tNonPagedLock;\n};\n/* off 0x0040 */\tlong\tRunningAllocs;\n/* off 0x0044 */\tlong\tRunningDeAllocs;\n/* off 0x0048 */\tlong\tTotalBigPages;\n/* off 0x004c */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0050 */\tunsigned long\tTotalBytes;\n/* off 0x0080 */\tunsigned long\tPoolIndex;\n/* off 0x00c0 */\tlong\tTotalPages;\n/* off 0x0100 */\tvoid**\tPendingFrees;\n/* off 0x0104 */\tlong\tPendingFreeDepth;\n/* off 0x0140 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tstruct _ETHREAD*\tThread;\n/* off 0x0008 */\tvoid* StackTrace[62];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardownScan;\n/* off 0x004b */\tunsigned char\tPendingPeriodicScan;\n/* off 0x004c */\tunsigned char\tPendingLowMemoryScan;\n/* off 0x004d */\tunsigned char\tPendingPowerScan;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_DRIVEEXTENDER_ID\t=0x00000091\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000092\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _CM_SHARE_DISPOSITION\n{\n\tCmResourceShareUndetermined\t=0x00000000\t,//0\n\tCmResourceShareDeviceExclusive\t=0x00000001\t,//0\n\tCmResourceShareDriverExclusive\t=0x00000002\t,//0\n\tCmResourceShareShared\t=0x00000003\t,//0\n};\nstruct _ALIGNED_AFFINITY_SUMMARY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tCpuSet;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tSMTSet;\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x008c */\tstruct _DIAGNOSTIC_CONTEXT*\tWakeReason;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nstruct _DIAGNOSTIC_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0008 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\n};\n/* off 0x000c */\tunsigned long\tReasonSize;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _VF_SUSPECT_DRIVER_ENTRY*\tSuspectDriverEntry;\n/* off 0x0004 */\tvoid*\tWMICallback;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0014 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _ETW_WMITRACE_WORK /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tchar LoggerName[65];\n/* off 0x0049 */\tchar FileName[129];\n/* off 0x00cc */\tunsigned long\tMaximumFileSize;\n/* off 0x00d0 */\tunsigned long\tMinBuffers;\n/* off 0x00d4 */\tunsigned long\tMaxBuffers;\n/* off 0x00d8 */\tunsigned long\tBufferSize;\n/* off 0x00dc */\tunsigned long\tMode;\n/* off 0x00e0 */\tunsigned long\tFlushTimer;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tMatchAny;\n/* off 0x0010 */\tunsigned __int64\tMatchAll;\n/* off 0x0018 */\tunsigned long\tEnableProperty;\n/* off 0x001c */\tstruct _GUID\tGuid;\n/* off 0x002c */\tunsigned char\tLevel;\n};\n};\n/* off 0x00e8 */\tlong\tStatus;\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _PNP_DEVICE_COMPLETION_REQUEST /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x000c */\tvoid*\tContext;\n/* off 0x0010 */\tenum _PNP_DEVNODE_STATE\tCompletionState;\n/* off 0x0014 */\tunsigned long\tIrpPended;\n/* off 0x0018 */\tlong\tStatus;\n/* off 0x001c */\tvoid*\tInformation;\n/* off 0x0020 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0030 */\tstruct _DRIVER_OBJECT*\tFailingDriver;\n/* off 0x0034 */\tlong\tReferenceCount;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tReset;\n/* off 0x0004 */\tunsigned char\tHiberFlags;\n/* off 0x0005 */\tunsigned char\tWroteHiberFile;\n/* off 0x0006 */\tunsigned char\tMapFrozen;\n/* off 0x0008 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0020 */\tunsigned long\tClonedRangeCount;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0028 */\tunsigned long\tNextPreserve;\n/* off 0x002c */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0030 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0038 */\tunsigned __int64\tPagesOut;\n/* off 0x0040 */\tvoid*\tIoPages;\n/* off 0x0044 */\tunsigned long\tIoPagesCount;\n/* off 0x0048 */\tvoid*\tCurrentMcb;\n/* off 0x004c */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0050 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0054 */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0058 */\tunsigned long\tIoProgress;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tvoid*\tCompressionWorkspace;\n/* off 0x0074 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0078 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x007c */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0080 */\tunsigned long*\tPerformanceStats;\n/* off 0x0084 */\tvoid*\tCompressionBlock;\n/* off 0x0088 */\tvoid*\tDmaIO;\n/* off 0x008c */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x0094 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x0098 */\tvoid*\tResumeContext;\n/* off 0x009c */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0004 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0010 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tHint;\n/* off 0x0010 */\tstruct _MMPTE*\tBasePte;\n/* off 0x0014 */\tunsigned long*\tFailureCount;\n/* off 0x0018 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x001c */\tlong\tTotalSystemPtes;\n/* off 0x0020 */\tlong\tTotalFreeSystemPtes;\n/* off 0x0024 */\tlong\tCachedPteCount;\n/* off 0x0028 */\tunsigned long\tPteFailures;\nunion\n{\n/* off 0x002c */\tunsigned long\tSpinLock;\n/* off 0x002c */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\n};\nstruct _MM_SESSION_SPACE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0050 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x0058 */\tunsigned long\tLocaleId;\n/* off 0x005c */\tunsigned long\tAttachCount;\n/* off 0x0060 */\tstruct _KGATE\tAttachGate;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0ddc */\tstruct _MMWSLE*\tWsle;\n/* off 0x0de0 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0e00 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1f40 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1f44 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1f68 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1f88 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1f8c */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1f90 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1f94 */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1f98 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1fc8 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1fcc */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1fd0 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1fd4 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1fd8 */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1fdc */\tunsigned long\tIoStateSequence;\n/* off 0x1fe0 */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x1ff0 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x1ff8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _PNP_DEVICE_ACTION_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tenum _PNP_DEVICE_ACTION_REQUEST\tRequestType;\n/* off 0x0010 */\tunsigned char\tReorderingBarrier;\n/* off 0x0014 */\tunsigned long\tRequestArgument;\n/* off 0x0018 */\tstruct _KEVENT*\tCompletionEvent;\n/* off 0x001c */\tlong*\tCompletionStatus;\n};\nenum _PNP_DEVICE_ACTION_REQUEST\n{\n\tAssignResources\t=0x00000000\t,//0\n\tClearDeviceProblem\t=0x00000001\t,//0\n\tClearProblem\t=0x00000002\t,//0\n\tClearEjectProblem\t=0x00000003\t,//0\n\tHaltDevice\t=0x00000004\t,//0\n\tQueryPowerRelations\t=0x00000005\t,//0\n\tRebalance\t=0x00000006\t,//0\n\tReenumerateBootDevices\t=0x00000007\t,//0\n\tReenumerateDeviceOnly\t=0x00000008\t,//0\n\tReenumerateDeviceTree\t=0x00000009\t,//0\n\tReenumerateRootDevices\t=0x0000000a\t,//0\n\tRequeryDeviceState\t=0x0000000b\t,//0\n\tResetDevice\t=0x0000000c\t,//0\n\tResourceRequirementsChanged\t=0x0000000d\t,//0\n\tRestartEnumeration\t=0x0000000e\t,//0\n\tSetDeviceProblem\t=0x0000000f\t,//0\n\tStartDevice\t=0x00000010\t,//0\n\tStartSystemDevicesPass0\t=0x00000011\t,//0\n\tStartSystemDevicesPass1\t=0x00000012\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tLock;\n/* off 0x0004 */\tvoid*\tNodeToFree;\n/* off 0x0008 */\tunsigned long\tNodeRangeSize;\n/* off 0x000c */\tunsigned long\tNodeCount;\n/* off 0x0010 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0014 */\tunsigned long\tTablesNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tNodeSize;\n\t/* off 0x0000 */\tunsigned long\tUseLookaside;\n\t}\tu1;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nstruct _VF_WATCHDOG_IRP /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _IRP*\tIrp;\n/* off 0x000c */\tunsigned long\tDueTickCount;\n/* off 0x0010 */\tunsigned char\tInserted;\n/* off 0x0011 */\tchar\tTrackedStackLocation;\n/* off 0x0012 */\tunsigned short\tCancelTimeoutTicks;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_5.1.2600.2180.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct __unnamed /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned long\tSpare0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __cdecl *KernelRoutine)(struct _KAPC*,void( __cdecl **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __cdecl *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __cdecl *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned short\tWaitType;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x0018 */\tvoid*\tInitialStack;\n/* off 0x001c */\tvoid*\tStackLimit;\n/* off 0x0020 */\tvoid*\tTeb;\n/* off 0x0024 */\tvoid*\tTlsArray;\n/* off 0x0028 */\tvoid*\tKernelStack;\n/* off 0x002c */\tunsigned char\tDebugActive;\n/* off 0x002d */\tunsigned char\tState;\n/* off 0x002e */\tunsigned char Alerted[2];\n/* off 0x0030 */\tunsigned char\tIopl;\n/* off 0x0031 */\tunsigned char\tNpxState;\n/* off 0x0032 */\tchar\tSaturation;\n/* off 0x0033 */\tchar\tPriority;\n/* off 0x0034 */\tstruct _KAPC_STATE\tApcState;\n/* off 0x004c */\tunsigned long\tContextSwitches;\n/* off 0x0050 */\tunsigned char\tIdleSwapBlock;\n/* off 0x0051 */\tunsigned char Spare0[3];\n/* off 0x0054 */\tlong\tWaitStatus;\n/* off 0x0058 */\tunsigned char\tWaitIrql;\n/* off 0x0059 */\tchar\tWaitMode;\n/* off 0x005a */\tunsigned char\tWaitNext;\n/* off 0x005b */\tunsigned char\tWaitReason;\n/* off 0x005c */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0060 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0060 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0068 */\tunsigned long\tWaitTime;\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tunsigned char\tDecrementCount;\n/* off 0x006e */\tchar\tPriorityDecrement;\n/* off 0x006f */\tchar\tQuantum;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x00d0 */\tvoid*\tLegoData;\n/* off 0x00d4 */\tunsigned long\tKernelApcDisable;\n/* off 0x00d8 */\tunsigned long\tUserAffinity;\n/* off 0x00dc */\tunsigned char\tSystemAffinityActive;\n/* off 0x00dd */\tunsigned char\tPowerState;\n/* off 0x00de */\tunsigned char\tNpxIrql;\n/* off 0x00df */\tunsigned char\tInitialNode;\n/* off 0x00e0 */\tvoid*\tServiceTable;\n/* off 0x00e4 */\tstruct _KQUEUE*\tQueue;\n/* off 0x00e8 */\tunsigned long\tApcQueueLock;\n/* off 0x00f0 */\tstruct _KTIMER\tTimer;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tunsigned long\tSoftAffinity;\n/* off 0x0124 */\tunsigned long\tAffinity;\n/* off 0x0128 */\tunsigned char\tPreempted;\n/* off 0x0129 */\tunsigned char\tProcessReadyQueue;\n/* off 0x012a */\tunsigned char\tKernelStackResident;\n/* off 0x012b */\tunsigned char\tNextProcessor;\n/* off 0x012c */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tvoid*\tWin32Thread;\n/* off 0x0134 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0138 */\tstruct _KAPC_STATE* ApcStatePointer[2];\n/* off 0x0140 */\tchar\tPreviousMode;\n/* off 0x0141 */\tunsigned char\tEnableStackSwap;\n/* off 0x0142 */\tunsigned char\tLargeStack;\n/* off 0x0143 */\tunsigned char\tResourceIndex;\n/* off 0x0144 */\tunsigned long\tKernelTime;\n/* off 0x0148 */\tunsigned long\tUserTime;\n/* off 0x014c */\tstruct _KAPC_STATE\tSavedApcState;\n/* off 0x0164 */\tunsigned char\tAlertable;\n/* off 0x0165 */\tunsigned char\tApcStateIndex;\n/* off 0x0166 */\tunsigned char\tApcQueueable;\n/* off 0x0167 */\tunsigned char\tAutoAlignment;\n/* off 0x0168 */\tvoid*\tStackBase;\n/* off 0x016c */\tstruct _KAPC\tSuspendApc;\n/* off 0x019c */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01b0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01b8 */\tchar\tFreezeCount;\n/* off 0x01b9 */\tchar\tSuspendCount;\n/* off 0x01ba */\tunsigned char\tIdealProcessor;\n/* off 0x01bb */\tunsigned char\tDisableBoost;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\tstruct __unnamed\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long DirectoryTableBase[2];\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\n/* off 0x0060 */\tunsigned short\tStackCount;\n/* off 0x0062 */\tchar\tBasePriority;\n/* off 0x0063 */\tchar\tThreadQuantum;\n/* off 0x0064 */\tunsigned char\tAutoAlignment;\n/* off 0x0065 */\tunsigned char\tState;\n/* off 0x0066 */\tunsigned char\tThreadSeed;\n/* off 0x0067 */\tunsigned char\tDisableBoost;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tDisableQuantum;\n/* off 0x006a */\tunsigned char\tIdealNode;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tImportance;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __cdecl *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tunsigned long*\tLock;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned long\tTempSegCs;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __cdecl *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueContextSwapLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMaximumLock\t=0x0000000f\t,//0\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tstruct __unnamed\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long IdleHandlerReserved[4];\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tunsigned long\tIdle0KernelTimeLimit;\n/* off 0x0008 */\tunsigned long\tIdle0LastTime;\n/* off 0x000c */\tvoid*\tIdleHandlers;\n/* off 0x0010 */\tvoid*\tIdleState;\n/* off 0x0014 */\tunsigned long\tIdleHandlersCount;\n/* off 0x0018 */\tunsigned __int64\tLastCheck;\n/* off 0x0020 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0040 */\tunsigned long\tIdleTime1;\n/* off 0x0044 */\tunsigned long\tPromotionCheck;\n/* off 0x0048 */\tunsigned long\tIdleTime2;\n/* off 0x004c */\tunsigned char\tCurrentThrottle;\n/* off 0x004d */\tunsigned char\tThermalThrottleLimit;\n/* off 0x004e */\tunsigned char\tCurrentThrottleIndex;\n/* off 0x004f */\tunsigned char\tThermalThrottleIndex;\n/* off 0x0050 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0054 */\tunsigned long\tLastIdleThreadKernelTime;\n/* off 0x0058 */\tunsigned long\tPackageIdleStartTime;\n/* off 0x005c */\tunsigned long\tPackageIdleTime;\n/* off 0x0060 */\tunsigned long\tDebugCount;\n/* off 0x0064 */\tunsigned long\tLastSysTime;\n/* off 0x0068 */\tunsigned __int64 TotalIdleStateTime[3];\n/* off 0x0080 */\tunsigned long TotalIdleTransitions[3];\n/* off 0x0090 */\tunsigned __int64\tPreviousC3StateTime;\n/* off 0x0098 */\tunsigned char\tKneeThrottleIndex;\n/* off 0x0099 */\tunsigned char\tThrottleLimitIndex;\n/* off 0x009a */\tunsigned char\tPerfStatesCount;\n/* off 0x009b */\tunsigned char\tProcessorMinThrottle;\n/* off 0x009c */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x009d */\tunsigned char\tEnableIdleAccounting;\n/* off 0x009e */\tunsigned char\tLastC3Percentage;\n/* off 0x009f */\tunsigned char\tLastAdjustedBusyPercentage;\n/* off 0x00a0 */\tunsigned long\tPromotionCount;\n/* off 0x00a4 */\tunsigned long\tDemotionCount;\n/* off 0x00a8 */\tunsigned long\tErrorCount;\n/* off 0x00ac */\tunsigned long\tRetryCount;\n/* off 0x00b0 */\tunsigned long\tFlags;\n/* off 0x00b8 */\tunion _LARGE_INTEGER\tPerfCounterFrequency;\n/* off 0x00c0 */\tunsigned long\tPerfTickCount;\n/* off 0x00c8 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x00f0 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0110 */\tstruct PROCESSOR_PERF_STATE*\tPerfStates;\n/* off 0x0114 */\tlong( __fastcall *PerfSetThrottle)(unsigned char);\n/* off 0x0118 */\tunsigned long\tLastC3KernelUserTime;\n/* off 0x011c */\tunsigned long\tLastPackageIdleTime;\n};\nstruct _KPRCB /* sizeof 00000c50 3152 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tchar\tNumber;\n/* off 0x0011 */\tchar\tReserved;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\n/* off 0x001a */\tunsigned short\tCpuStep;\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned char PrcbPad0[92];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[16];\n/* off 0x0498 */\tunsigned char PrcbPad1[8];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDebugDpcTime;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned long\tSkipTick;\n/* off 0x04c8 */\tunsigned char\tMultiThreadSetBusy;\n/* off 0x04c9 */\tunsigned char Spare2[3];\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x04d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x04d8 */\tunsigned long ThreadStartCount[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x04fc */\tunsigned long\tKeContextSwitches;\n/* off 0x0500 */\tunsigned long\tKeDcacheFlushCount;\n/* off 0x0504 */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0508 */\tunsigned long\tKeFirstLevelTbFills;\n/* off 0x050c */\tunsigned long\tKeFloatingEmulationCount;\n/* off 0x0510 */\tunsigned long\tKeIcacheFlushCount;\n/* off 0x0514 */\tunsigned long\tKeSecondLevelTbFills;\n/* off 0x0518 */\tunsigned long\tKeSystemCalls;\n/* off 0x051c */\tunsigned long SpareCounter0[1];\n/* off 0x0520 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPNPagedLookasideList[32];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPPagedLookasideList[32];\n/* off 0x07a0 */\tunsigned long\tPacketBarrier;\n/* off 0x07a4 */\tunsigned long\tReverseStall;\n/* off 0x07a8 */\tvoid*\tIpiFrame;\n/* off 0x07ac */\tunsigned char PrcbPad2[52];\n/* off 0x07e0 */\tvoid* CurrentPacket[3];\n/* off 0x07ec */\tunsigned long\tTargetSet;\n/* off 0x07f0 */\tvoid( __cdecl *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x07f4 */\tunsigned long\tIpiFrozen;\n/* off 0x07f8 */\tunsigned char PrcbPad3[40];\n/* off 0x0820 */\tunsigned long\tRequestSummary;\n/* off 0x0824 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x0828 */\tunsigned char PrcbPad4[56];\n/* off 0x0860 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0868 */\tvoid*\tDpcStack;\n/* off 0x086c */\tunsigned long\tDpcCount;\n/* off 0x0870 */\tunsigned long\tDpcQueueDepth;\n/* off 0x0874 */\tunsigned long\tDpcRoutineActive;\n/* off 0x0878 */\tunsigned long\tDpcInterruptRequested;\n/* off 0x087c */\tunsigned long\tDpcLastCount;\n/* off 0x0880 */\tunsigned long\tDpcRequestRate;\n/* off 0x0884 */\tunsigned long\tMaximumDpcQueueDepth;\n/* off 0x0888 */\tunsigned long\tMinimumDpcRate;\n/* off 0x088c */\tunsigned long\tQuantumEnd;\n/* off 0x0890 */\tunsigned char PrcbPad5[16];\n/* off 0x08a0 */\tunsigned long\tDpcLock;\n/* off 0x08a4 */\tunsigned char PrcbPad6[28];\n/* off 0x08c0 */\tstruct _KDPC\tCallDpc;\n/* off 0x08e0 */\tvoid*\tChainedInterruptList;\n/* off 0x08e4 */\tlong\tLookasideIrpFloat;\n/* off 0x08e8 */\tunsigned long SpareFields0[6];\n/* off 0x0900 */\tunsigned char VendorString[13];\n/* off 0x090d */\tunsigned char\tInitialApicId;\n/* off 0x090e */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x0910 */\tunsigned long\tMHz;\n/* off 0x0914 */\tunsigned long\tFeatureBits;\n/* off 0x0918 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x0920 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x0b30 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable;\n};\nstruct _KNODE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tProcessorMask;\n/* off 0x0004 */\tunsigned long\tColor;\n/* off 0x0008 */\tunsigned long\tMmShiftedColor;\n/* off 0x000c */\tunsigned long FreeCount[2];\n/* off 0x0018 */\tunion _SLIST_HEADER\tDeadStackList;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x002c */\tunsigned char\tSeed;\n/* off 0x002d */\tstruct _flags\tFlags;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\n/* off 0x0028 */\tvoid*( __cdecl *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n/* off 0x002c */\tvoid( __cdecl *Free)(void*);\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct PROCESSOR_PERF_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tPercentFrequency;\n/* off 0x0001 */\tunsigned char\tMinCapacity;\n/* off 0x0002 */\tunsigned short\tPower;\n/* off 0x0004 */\tunsigned char\tIncreaseLevel;\n/* off 0x0005 */\tunsigned char\tDecreaseLevel;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tIncreaseTime;\n/* off 0x000c */\tunsigned long\tDecreaseTime;\n/* off 0x0010 */\tunsigned long\tIncreaseCount;\n/* off 0x0014 */\tunsigned long\tDecreaseCount;\n/* off 0x0018 */\tunsigned __int64\tPerformanceTime;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideMaximumList\t=0x00000007\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExclusive:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tShared:30\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tunsigned long\tShareCount;\n/* off 0x0018 */\tunsigned char\tExclusive;\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _ETHREAD /* sizeof 00000258 600 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\nunion\n{\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tCreateTime;\nstruct\n{\n/* off 0x01c0 */\tunsigned int\tNestedFaultCount:2\t /* start bit 0 */;\n/* off 0x01c0 */\tunsigned int\tApcNeeded:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tLpcReplyChain;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01d0 */\tlong\tExitStatus;\n/* off 0x01d0 */\tvoid*\tOfsChain;\n};\n/* off 0x01d4 */\tstruct _LIST_ENTRY\tPostBlockList;\nunion\n{\n/* off 0x01dc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01dc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01dc */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x01e0 */\tunsigned long\tActiveTimerListLock;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x01ec */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tLpcReplySemaphore;\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n};\nunion\n{\n/* off 0x0208 */\tvoid*\tLpcReplyMessage;\n/* off 0x0208 */\tvoid*\tLpcWaitingOnPort;\n};\n/* off 0x020c */\tstruct _PS_IMPERSONATION_INFORMATION*\tImpersonationInfo;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0218 */\tunsigned long\tTopLevelIrp;\n/* off 0x021c */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x0220 */\tstruct _EPROCESS*\tThreadsProcess;\n/* off 0x0224 */\tvoid*\tStartAddress;\nunion\n{\n/* off 0x0228 */\tvoid*\tWin32StartAddress;\n/* off 0x0228 */\tunsigned long\tLpcReceivedMessageId;\n};\n/* off 0x022c */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0234 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0238 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x023c */\tunsigned long\tLpcReplyMessageId;\n/* off 0x0240 */\tunsigned long\tReadClusterSize;\n/* off 0x0244 */\tunsigned long\tGrantedAccess;\nunion\n{\n/* off 0x0248 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tDeadThread:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x024c */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x024c */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x024c */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x024c */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x0250 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned char\tLpcReceivedMsgIdValid:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned char\tLpcExitThreadCalled:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned char\tAddressSpaceOwner:1\t /* start bit 2 */;\n};\n};\n/* off 0x0254 */\tunsigned char\tForwardClusterOnly;\n/* off 0x0255 */\tunsigned char\tDisablePageFaultClustering;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _PS_IMPERSONATION_INFORMATION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tToken;\n/* off 0x0004 */\tunsigned char\tCopyOnOpen;\n/* off 0x0005 */\tunsigned char\tEffectiveOnly;\n/* off 0x0008 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\tstruct __unnamed\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __cdecl *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __cdecl *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __cdecl *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __cdecl * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __cdecl *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __cdecl *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __cdecl *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __cdecl *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __cdecl *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __cdecl *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __cdecl *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __cdecl *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __cdecl *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __cdecl *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __cdecl *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __cdecl *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __cdecl *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct __unnamed\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tAcquireForSectionSynchronization;\n/* off 0x0000 */\tstruct __unnamed\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned short VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __cdecl *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __cdecl *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __cdecl *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __cdecl *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __cdecl *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __cdecl *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __cdecl *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __cdecl *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __cdecl *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __cdecl *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __cdecl *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __cdecl *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __cdecl *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __cdecl *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __cdecl *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __cdecl *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __cdecl *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __cdecl *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __cdecl *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __cdecl *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __cdecl *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __cdecl *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __cdecl *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __cdecl *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __cdecl *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __cdecl *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __cdecl *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingTrimmed:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSessionLeader:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tTrimHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tWorkingSetHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tAddressSpaceBeingDeleted:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tAvailable:10\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tAllowWorkingSetAdjustment:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tMemoryPriority:8\t /* start bit 24 */;\n};\nstruct _MMSUPPORT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tLastTrimTime;\n/* off 0x0008 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x000c */\tunsigned long\tPageFaultCount;\n/* off 0x0010 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0014 */\tunsigned long\tWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x001c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0020 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x002c */\tunsigned long\tClaim;\n/* off 0x0030 */\tunsigned long\tNextEstimationSlot;\n/* off 0x0034 */\tunsigned long\tNextAgingSlot;\n/* off 0x0038 */\tunsigned long\tEstimatedAvailable;\n/* off 0x003c */\tunsigned long\tGrowthSinceLastEstimate;\n};\nstruct _EPROCESS /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x006c */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0080 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0084 */\tvoid*\tUniqueProcessId;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x0090 */\tunsigned long QuotaUsage[3];\n/* off 0x009c */\tunsigned long QuotaPeak[3];\n/* off 0x00a8 */\tunsigned long\tCommitCharge;\n/* off 0x00ac */\tunsigned long\tPeakVirtualSize;\n/* off 0x00b0 */\tunsigned long\tVirtualSize;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00bc */\tvoid*\tDebugPort;\n/* off 0x00c0 */\tvoid*\tExceptionPort;\n/* off 0x00c4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00c8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00cc */\tstruct _FAST_MUTEX\tWorkingSetLock;\n/* off 0x00ec */\tunsigned long\tWorkingSetPage;\n/* off 0x00f0 */\tstruct _FAST_MUTEX\tAddressCreationLock;\n/* off 0x0110 */\tunsigned long\tHyperSpaceLock;\n/* off 0x0114 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x0118 */\tunsigned long\tHardwareTrigger;\n/* off 0x011c */\tvoid*\tVadRoot;\n/* off 0x0120 */\tvoid*\tVadHint;\n/* off 0x0124 */\tvoid*\tCloneRoot;\n/* off 0x0128 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x012c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0130 */\tvoid*\tWin32Process;\n/* off 0x0134 */\tstruct _EJOB*\tJob;\n/* off 0x0138 */\tvoid*\tSectionObject;\n/* off 0x013c */\tvoid*\tSectionBaseAddress;\n/* off 0x0140 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0144 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0148 */\tvoid*\tWin32WindowStation;\n/* off 0x014c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0150 */\tvoid*\tLdtInformation;\n/* off 0x0154 */\tvoid*\tVadFreeHint;\n/* off 0x0158 */\tvoid*\tVdmObjects;\n/* off 0x015c */\tvoid*\tDeviceMap;\n/* off 0x0160 */\tstruct _LIST_ENTRY\tPhysicalVadList;\nunion\n{\n/* off 0x0168 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0168 */\tunsigned __int64\tFiller;\n};\n/* off 0x0170 */\tvoid*\tSession;\n/* off 0x0174 */\tunsigned char ImageFileName[16];\n/* off 0x0184 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x018c */\tvoid*\tLockedPagesList;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0198 */\tvoid*\tSecurityPort;\n/* off 0x019c */\tvoid*\tPaeTop;\n/* off 0x01a0 */\tunsigned long\tActiveThreads;\n/* off 0x01a4 */\tunsigned long\tGrantedAccess;\n/* off 0x01a8 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01ac */\tlong\tLastThreadExitStatus;\n/* off 0x01b0 */\tstruct _PEB*\tPeb;\n/* off 0x01b4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01ec */\tunsigned long\tCommitChargePeak;\n/* off 0x01f0 */\tvoid*\tAweInfo;\n/* off 0x01f4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0238 */\tunsigned long\tLastFaultCount;\n/* off 0x023c */\tunsigned long\tModifiedPageCount;\n/* off 0x0240 */\tunsigned long\tNumberOfVads;\n/* off 0x0244 */\tunsigned long\tJobStatus;\nunion\n{\n/* off 0x0248 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0248 */\tunsigned long\tHasPhysicalVad:1\t /* start bit 9 */;\n/* off 0x0248 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0248 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0248 */\tunsigned long\tSessionCreationUnderway:1\t /* start bit 14 */;\n/* off 0x0248 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0248 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0248 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0248 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0248 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0248 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0248 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0248 */\tunsigned long\tUnused3:1\t /* start bit 22 */;\n/* off 0x0248 */\tunsigned long\tUnused4:1\t /* start bit 23 */;\n/* off 0x0248 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0248 */\tunsigned long\tUnused:5\t /* start bit 25 */;\n/* off 0x0248 */\tunsigned long\tUnused1:1\t /* start bit 30 */;\n/* off 0x0248 */\tunsigned long\tUnused2:1\t /* start bit 31 */;\n};\n};\n/* off 0x024c */\tlong\tExitStatus;\n/* off 0x0250 */\tunsigned short\tNextPageColor;\nunion\n{\nstruct\n{\n/* off 0x0252 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0253 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0252 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0254 */\tunsigned char\tPriorityClass;\n/* off 0x0255 */\tunsigned char\tWorkingSetAcquiredUnsafe;\n/* off 0x0258 */\tunsigned long\tCookie;\n};\nstruct _HANDLE_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK HandleTableLock[4];\n/* off 0x001c */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x0028 */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x002c */\tlong\tExtraInfoPages;\n/* off 0x0030 */\tunsigned long\tFirstFree;\n/* off 0x0034 */\tunsigned long\tLastFree;\n/* off 0x0038 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x003c */\tlong\tHandleCount;\nunion\n{\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0040 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00050004 327684 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentStackIndex;\n/* off 0x0004 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[4096];\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY OwnerThreads[2];\n/* off 0x0028 */\tunsigned long\tContentionCount;\n/* off 0x002c */\tunsigned short\tNumberOfSharedWaiters;\n/* off 0x002e */\tunsigned short\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nstruct _IO_COUNTERS /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tReadOperationCount;\n/* off 0x0008 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x0010 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x0018 */\tunsigned __int64\tReadTransferCount;\n/* off 0x0020 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0028 */\tunsigned __int64\tOtherTransferCount;\n};\nstruct _EJOB /* sizeof 00000180 384 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b4 */\tunsigned long\tSecurityLimitFlags;\n/* off 0x00b8 */\tvoid*\tToken;\n/* off 0x00bc */\tstruct _PS_JOB_TOKEN_FILTER*\tFilter;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tstruct _IO_COUNTERS\tIoInfo;\n/* off 0x0138 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x013c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0140 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0144 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0148 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x014c */\tstruct _FAST_MUTEX\tMemoryLimitsLock;\n/* off 0x016c */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0174 */\tunsigned long\tMemberLevel;\n/* off 0x0178 */\tunsigned long\tJobFlags;\n};\nstruct _PS_JOB_TOKEN_FILTER /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCapturedSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedSids;\n/* off 0x0008 */\tunsigned long\tCapturedSidsLength;\n/* off 0x000c */\tunsigned long\tCapturedGroupCount;\n/* off 0x0010 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedGroups;\n/* off 0x0014 */\tunsigned long\tCapturedGroupsLength;\n/* off 0x0018 */\tunsigned long\tCapturedPrivilegeCount;\n/* off 0x001c */\tstruct _LUID_AND_ATTRIBUTES*\tCapturedPrivileges;\n/* off 0x0020 */\tunsigned long\tCapturedPrivilegesLength;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _EPROCESS_QUOTA_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tUsage;\n/* off 0x0004 */\tunsigned long\tLimit;\n/* off 0x0008 */\tunsigned long\tPeak;\n/* off 0x000c */\tunsigned long\tReturn;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _EPROCESS_QUOTA_ENTRY QuotaEntry[3];\n/* off 0x0030 */\tstruct _LIST_ENTRY\tQuotaList;\n/* off 0x0038 */\tunsigned long\tReferenceCount;\n/* off 0x003c */\tunsigned long\tProcessCount;\n};\nstruct _PROCESS_WS_WATCH_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tFaultingPc;\n/* off 0x0004 */\tvoid*\tFaultingVa;\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentIndex;\n/* off 0x0004 */\tunsigned long\tMaxIndex;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tvoid*\tReserved;\n/* off 0x0010 */\tstruct _PROCESS_WS_WATCH_INFORMATION WatchInfo[1];\n};\nstruct _PEB /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\n/* off 0x0003 */\tunsigned char\tSpareBool;\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tFastPebLockRoutine;\n/* off 0x0024 */\tvoid*\tFastPebUnlockRoutine;\n/* off 0x0028 */\tunsigned long\tEnvironmentUpdateCount;\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tReadOnlySharedMemoryHeap;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tvoid*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __cdecl *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tvoid*\tActivationContextData;\n/* off 0x01fc */\tvoid*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tvoid*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tvoid*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000290 656 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long Spare[2];\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000cfc 3324 */\n{\n/* off 0x0000 */\tunsigned long\tQuota;\n/* off 0x0004 */\tunsigned long\tFirstFree;\n/* off 0x0008 */\tunsigned long\tFirstDynamic;\n/* off 0x000c */\tunsigned long\tLastEntry;\n/* off 0x0010 */\tunsigned long\tNextSlot;\n/* off 0x0014 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNonDirectCount;\n/* off 0x0020 */\tstruct _MMWSLE_HASH*\tHashTable;\n/* off 0x0024 */\tunsigned long\tHashTableSize;\n/* off 0x0028 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x002c */\tvoid*\tHashTableStart;\n/* off 0x0030 */\tvoid*\tHighestPermittedHashAddress;\n/* off 0x0034 */\tunsigned long\tNumberOfImageWaiters;\n/* off 0x0038 */\tunsigned long\tVadBitMapHint;\n/* off 0x003c */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c3c */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n};\nstruct _MMWSLE_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct __unnamed\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\tstruct __unnamed\tOverlay;\n/* off 0x0038 */\tvoid( __cdecl *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\tstruct __unnamed\tTail;\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __cdecl *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject;\n/* off 0x0003 */\tunsigned char\tCaseInsensitive;\n/* off 0x0004 */\tunsigned long\tInvalidAttributes;\n/* off 0x0008 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0018 */\tunsigned long\tValidAccessMask;\n/* off 0x001c */\tunsigned char\tSecurityRequired;\n/* off 0x001d */\tunsigned char\tMaintainHandleCount;\n/* off 0x001e */\tunsigned char\tMaintainTypeList;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __cdecl *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __cdecl *OpenProcedure)(enum _OB_OPEN_REASON,struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x0034 */\tvoid( __cdecl *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __cdecl *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __cdecl *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __cdecl *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*);\n/* off 0x0044 */\tlong( __cdecl *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*);\n/* off 0x0048 */\tunsigned char( __cdecl *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000190 400 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _ERESOURCE ObjectLocks[4];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\tstruct __unnamed\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _VACB /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\tstruct __unnamed\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tAvailable:14\t /* start bit 18 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __cdecl *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tstruct _EX_PUSH_LOCK\tVacbPushLock;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __cdecl *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __cdecl *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __cdecl *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __cdecl *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n};\nstruct _HEAP /* sizeof 00000588 1416 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tForceFlags;\n/* off 0x0014 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0018 */\tunsigned long\tSegmentReserve;\n/* off 0x001c */\tunsigned long\tSegmentCommit;\n/* off 0x0020 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0024 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0028 */\tunsigned long\tTotalFreeSize;\n/* off 0x002c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0030 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0032 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0034 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0038 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x003a */\tunsigned short\tMaximumTagIndex;\n/* off 0x003c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0040 */\tstruct _HEAP_UCR_SEGMENT*\tUCRSegments;\n/* off 0x0044 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnusedUnCommittedRanges;\n/* off 0x0048 */\tunsigned long\tAlignRound;\n/* off 0x004c */\tunsigned long\tAlignMask;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x0058 */\tstruct _HEAP_SEGMENT* Segments[64];\n/* off 0x0158 */\tstruct __unnamed\tu;\n/* off 0x0168 */\tstruct __unnamed\tu2;\n/* off 0x016a */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x016c */\tunsigned long\tNonDedicatedListLength;\n/* off 0x0170 */\tvoid*\tLargeBlocksIndex;\n/* off 0x0174 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x0178 */\tstruct _LIST_ENTRY FreeLists[128];\n/* off 0x0578 */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x057c */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x0580 */\tvoid*\tFrontEndHeap;\n/* off 0x0584 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x0586 */\tunsigned char\tFrontEndHeapType;\n/* off 0x0587 */\tunsigned char\tLastSegmentIndex;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\tunsigned short TagName[24];\n};\nstruct _HEAP_UCR_SEGMENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UCR_SEGMENT*\tNext;\n/* off 0x0004 */\tunsigned long\tReservedSize;\n/* off 0x0008 */\tunsigned long\tCommittedSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_UNCOMMMTTED_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tAddress;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_SEGMENT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _HEAP*\tHeap;\n/* off 0x0014 */\tunsigned long\tLargestUnCommittedRange;\n/* off 0x0018 */\tvoid*\tBaseAddress;\n/* off 0x001c */\tunsigned long\tNumberOfPages;\n/* off 0x0020 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x0028 */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0030 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _HEAP_ENTRY*\tLastEntryInSegment;\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct __unnamed\tLock;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBucket;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFreeThreshold;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tHeapHandle;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLRUViewList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinViewList;\n/* off 0x0010 */\tunsigned long\tFileOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long*\tViewAddress;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tunsigned long\tUseCount;\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcessBilled;\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tvoid*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 00000110 272 */\n{\n/* off 0x0000 */\tunsigned long Nodes[2];\n/* off 0x0008 */\tunsigned long Resources[2];\n/* off 0x0010 */\tunsigned long Threads[2];\n/* off 0x0018 */\t__int64\tTimeAcquire;\n/* off 0x0020 */\t__int64\tTimeRelease;\n/* off 0x0028 */\tunsigned long\tBytesAllocated;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0030 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x0034 */\tunsigned long\tAllocationFailures;\n/* off 0x0038 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x003c */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x0040 */\tunsigned long\tNodesSearched;\n/* off 0x0044 */\tunsigned long\tMaxNodesSearched;\n/* off 0x0048 */\tunsigned long\tSequenceNumber;\n/* off 0x004c */\tunsigned long\tRecursionDepthLimit;\n/* off 0x0050 */\tunsigned long\tSearchedNodesLimit;\n/* off 0x0054 */\tunsigned long\tDepthLimitHits;\n/* off 0x0058 */\tunsigned long\tSearchLimitHits;\n/* off 0x005c */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tFreeResourceList;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tFreeThreadList;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tFreeNodeList;\n/* off 0x0078 */\tunsigned long\tFreeResourceCount;\n/* off 0x007c */\tunsigned long\tFreeThreadCount;\n/* off 0x0080 */\tunsigned long\tFreeNodeCount;\n/* off 0x0084 */\tvoid*\tInstigator;\n/* off 0x0088 */\tunsigned long\tNumberOfParticipants;\n/* off 0x008c */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x010c */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\tunsigned long\tActive:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tSequenceNumber:30\t /* start bit 2 */;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockFastMutex\t=0x00000002\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000003\t,//0\n\tVfDeadlockSpinLock\t=0x00000004\t,//0\n\tVfDeadlockQueuedSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nenum _PF_SCENARIO_TYPE\n{\n\tPfApplicationLaunchScenarioType\t=0x00000000\t,//0\n\tPfSystemBootScenarioType\t=0x00000001\t,//0\n\tPfMaxScenarioType\t=0x00000002\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _LARGE_CONTROL_AREA*\tLargeControlArea;\n/* off 0x0024 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0028 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _CONTROL_AREA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct _SEGMENT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tWritableUserReferences;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\n/* off 0x0018 */\tstruct _MMPTE\tSegmentPteTemplate;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0024 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0028 */\tvoid*\tSystemImageBase;\n/* off 0x002c */\tvoid*\tBasedAddress;\n/* off 0x0030 */\tstruct __unnamed\tu1;\n/* off 0x0034 */\tstruct __unnamed\tu2;\n/* off 0x0038 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0040 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _EVENT_COUNTER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tRefCount;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tStartingSector;\n/* off 0x000c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0010 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0014 */\tunsigned long\tUnusedPtes;\n/* off 0x0018 */\tunsigned long\tPtesInSubsection;\n/* off 0x001c */\tstruct _SUBSECTION*\tNextSubsection;\n};\nstruct _LARGE_CONTROL_AREA /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n/* off 0x0030 */\tunsigned long\tStartingFrame;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tUserGlobalList;\n/* off 0x003c */\tunsigned long\tSessionId;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tNoCache:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tFloppyMedia:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tDebugSymbolsLoaded:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tHadUserReference:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tImageMappedInSystemSpace:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tfiller:2\t /* start bit 30 */;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tReadWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSubsectionStatic:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tLargePages:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tStartingSector4132:10\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tSectorEndOffset:12\t /* start bit 20 */;\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long Reserved[2];\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __cdecl *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short*\tName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0014 */\tunsigned char\tThreadFinished;\n/* off 0x0015 */\tunsigned char\tThreadStarted;\n/* off 0x0016 */\tunsigned char\tAllocate;\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _DUAL /* sizeof 000000dc 220 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _RTL_BITMAP FreeDisplay[24];\n/* off 0x00d0 */\tunsigned long\tFreeSummary;\n/* off 0x00d4 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __cdecl *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __cdecl *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __cdecl *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __cdecl *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __cdecl *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __cdecl *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __cdecl *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __cdecl *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned char\tRealWrites;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tLog;\n/* off 0x0044 */\tunsigned long\tHiveFlags;\n/* off 0x0048 */\tunsigned long\tLogSize;\n/* off 0x004c */\tunsigned long\tRefreshCount;\n/* off 0x0050 */\tunsigned long\tStorageTypeCount;\n/* off 0x0054 */\tunsigned long\tVersion;\n/* off 0x0058 */\tstruct _DUAL Storage[2];\n};\nstruct _CMHIVE /* sizeof 0000049c 1180 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x0210 */\tvoid* FileHandles[3];\n/* off 0x021c */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x022c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0230 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0234 */\tstruct _LIST_ENTRY\tLRUViewListHead;\n/* off 0x023c */\tstruct _LIST_ENTRY\tPinViewListHead;\n/* off 0x0244 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0248 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0250 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0258 */\tunsigned short\tMappedViews;\n/* off 0x025a */\tunsigned short\tPinnedViews;\n/* off 0x025c */\tunsigned long\tUseCount;\n/* off 0x0260 */\tunsigned long\tSecurityCount;\n/* off 0x0264 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0268 */\tlong\tSecurityHitHint;\n/* off 0x026c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0270 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0470 */\tstruct _KEVENT*\tUnloadEvent;\n/* off 0x0474 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x0478 */\tunsigned char\tFrozen;\n/* off 0x047c */\tstruct _WORK_QUEUE_ITEM*\tUnloadWorkItem;\n/* off 0x0480 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0484 */\tunsigned long\tGrowOffset;\n/* off 0x0488 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0490 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0498 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\tunsigned short Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\tunsigned short Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\tunsigned short KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tunsigned long Reserved1[99];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[894];\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned short\tRefCount;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0040 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0042 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0044 */\tunsigned long\tKcbMaxValueDataLen;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\tunsigned short Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\tunsigned short Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __cdecl *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _DEVICE_NODE /* sizeof 00000118 280 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x0018 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x001c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0020 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x0070 */\tunsigned long\tStateHistoryEntry;\n/* off 0x0074 */\tlong\tCompletionStatus;\n/* off 0x0078 */\tstruct _IRP*\tPendingIrp;\n/* off 0x007c */\tunsigned long\tFlags;\n/* off 0x0080 */\tunsigned long\tUserFlags;\n/* off 0x0084 */\tunsigned long\tProblem;\n/* off 0x0088 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x008c */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x0090 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x009c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00a4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00a8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00ac */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00b0 */\tunsigned long\tBusNumber;\n/* off 0x00b4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00b8 */\tunsigned long\tChildBusNumber;\n/* off 0x00bc */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00be */\tunsigned char\tRemovalPolicy;\n/* off 0x00bf */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00c0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x00d8 */\tunsigned short\tNoTranslatorMask;\n/* off 0x00da */\tunsigned short\tQueryTranslatorMask;\n/* off 0x00dc */\tunsigned short\tNoArbiterMask;\n/* off 0x00de */\tunsigned short\tQueryArbiterMask;\n/* off 0x00e0 */\tstruct __unnamed\tOverUsed1;\n/* off 0x00e4 */\tstruct __unnamed\tOverUsed2;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x00ec */\tunsigned long\tCapabilityFlags;\n/* off 0x00f0 */\tstruct __unnamed\tDockInfo;\n/* off 0x0100 */\tunsigned long\tDisableableDepends;\n/* off 0x0104 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x010c */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0114 */\tunsigned long\tDriverUnloadRetryCount;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tWakeNeeded;\n/* off 0x000d */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tvoid*\tNode;\n/* off 0x0018 */\tunsigned short*\tDeviceName;\n/* off 0x001c */\tunsigned short*\tDriverName;\n/* off 0x0020 */\tunsigned long\tChildCount;\n/* off 0x0024 */\tunsigned long\tActiveChild;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tstruct __unnamed\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\tstruct __unnamed\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00000d70 3440 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tDebugActive;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nstruct _MMCOLOR_TABLES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tvoid*\tBlink;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP*\tPagedPoolAllocationMap;\n/* off 0x0004 */\tstruct _RTL_BITMAP*\tEndOfPagedPoolBitmap;\n/* off 0x0008 */\tstruct _RTL_BITMAP*\tPagedPoolLargeSessionAllocationMap;\n/* off 0x000c */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x0010 */\tstruct _MMPTE*\tLastPteForPagedPool;\n/* off 0x0014 */\tstruct _MMPTE*\tNextPdeForPagedPoolExpansion;\n/* off 0x0018 */\tunsigned long\tPagedPoolHint;\n/* off 0x001c */\tunsigned long\tPagedPoolCommit;\n/* off 0x0020 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MMSESSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _FAST_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _FAST_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tchar*\tSystemSpaceViewStart;\n/* off 0x0028 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0034 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0038 */\tstruct _RTL_BITMAP*\tSystemSpaceBitMap;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001028 4136 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tunsigned long\tRunningAllocs;\n/* off 0x000c */\tunsigned long\tRunningDeAllocs;\n/* off 0x0010 */\tunsigned long\tTotalPages;\n/* off 0x0014 */\tunsigned long\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid*\tPendingFrees;\n/* off 0x0024 */\tlong\tPendingFreeDepth;\n/* off 0x0028 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001278 4728 */\n{\n/* off 0x0000 */\tunsigned long\tReferenceCount;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0010 */\tstruct _MM_SESSION_SPACE*\tGlobalVirtualAddress;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x001c */\tunsigned long\tNonPagedPoolBytes;\n/* off 0x0020 */\tunsigned long\tPagedPoolBytes;\n/* off 0x0024 */\tunsigned long\tNonPagedPoolAllocations;\n/* off 0x0028 */\tunsigned long\tPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tNonPagablePages;\n/* off 0x0030 */\tunsigned long\tCommittedPages;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0040 */\tstruct _MMPTE*\tPageTables;\n/* off 0x0044 */\tstruct _FAST_MUTEX\tPagedPoolMutex;\n/* off 0x0064 */\tvoid*\tPagedPoolStart;\n/* off 0x0068 */\tvoid*\tPagedPoolEnd;\n/* off 0x006c */\tstruct _MMPTE*\tPagedPoolBasePde;\n/* off 0x0070 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0094 */\tunsigned long\tColor;\n/* off 0x0098 */\tunsigned long\tProcessOutSwapCount;\n/* off 0x009c */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x00a4 */\tstruct _MMPTE*\tGlobalPteEntry;\n/* off 0x00a8 */\tunsigned long\tCopyOnWriteCount;\n/* off 0x00ac */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x00bc */\tunsigned long\tAttachCount;\n/* off 0x00c0 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x00d0 */\tstruct _EPROCESS*\tLastProcess;\n/* off 0x00d8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0118 */\tstruct _MMWSLE*\tWsle;\n/* off 0x011c */\tstruct _ERESOURCE\tWsLock;\n/* off 0x0154 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x015c */\tstruct _MMSESSION\tSession;\n/* off 0x0198 */\tstruct _DRIVER_OBJECT\tWin32KDriverObject;\n/* off 0x0240 */\tstruct _ETHREAD*\tWorkingSetLockOwner;\n/* off 0x0244 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x126c */\tlong\tProcessReferenceToSession;\n/* off 0x1270 */\tunsigned long\tLocaleId;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tFiller0:3\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHasWsLock:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tFiller:26\t /* start bit 6 */;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWritable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\tstruct __unnamed\tData;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char Spare[3];\nunion\n{\n/* off 0x0008 */\tstruct __unnamed\tBattery;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x007c */\tstruct _IRP*\tIrp;\n/* off 0x0080 */\tstruct _THERMAL_INFORMATION\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000003\t,//0\n\tPolicySetPowerStateAPI\t=0x00000004\t,//0\n\tPolicyImmediateDozeS4\t=0x00000005\t,//0\n\tPolicySystemIdle\t=0x00000006\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nstruct _PROCESSOR_POWER_POLICY_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned long\tDemoteLimit;\n/* off 0x0008 */\tunsigned long\tPromoteLimit;\n/* off 0x000c */\tunsigned char\tDemotePercent;\n/* off 0x000d */\tunsigned char\tPromotePercent;\n/* off 0x000e */\tunsigned char Spare[2];\n/* off 0x0010 */\tunsigned long\tAllowDemotion:1\t /* start bit 0 */;\n/* off 0x0010 */\tunsigned long\tAllowPromotion:1\t /* start bit 1 */;\n/* off 0x0010 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n};\nstruct _PROCESSOR_POWER_POLICY /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tDynamicThrottle;\n/* off 0x0005 */\tunsigned char Spare[3];\n/* off 0x0008 */\tunsigned long\tDisableCStates:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x000c */\tunsigned long\tPolicyCount;\n/* off 0x0010 */\tstruct _PROCESSOR_POWER_POLICY_INFO Policy[3];\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\tunsigned short Name[1];\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tSpare6\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tMaximumWaitReason\t=0x0000001b\t,//0\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __cdecl *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _KUSER_SHARED_DATA /* sizeof 00000338 824 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLow;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\tunsigned short NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long Reserved2[8];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\n/* off 0x02f0 */\tunsigned long\tTraceLogging;\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _MMVAD_LONG /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n/* off 0x0028 */\tstruct __unnamed\tu3;\n/* off 0x0030 */\tstruct __unnamed\tu4;\n};\nstruct _MMVAD /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPhysicalMapping:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tImageMap:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tUserPhysicalPages:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tWriteWatch:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartVpn;\n/* off 0x0004 */\tunsigned long\tEndVpn;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __cdecl *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tNumberOfPages;\n};\nstruct _PCI_SLOT_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct PCI_POWER_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0004 */\tenum _DEVICE_POWER_STATE\tCurrentDeviceState;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tSystemWakeLevel;\n/* off 0x000c */\tenum _DEVICE_POWER_STATE\tDeviceWakeLevel;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE SystemStateMapping[7];\n/* off 0x002c */\tstruct _IRP*\tWaitWakeIrp;\n/* off 0x0030 */\tvoid( __cdecl *SavedCancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tlong\tPaging;\n/* off 0x0038 */\tlong\tHibernate;\n/* off 0x003c */\tlong\tCrashDump;\n};\nunion PCI_HEADER_TYPE_DEPENDENT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\ttype0;\n/* off 0x0000 */\tstruct __unnamed\ttype1;\n/* off 0x0000 */\tstruct __unnamed\ttype2;\n};\nstruct _PCI_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAtom;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n};\nstruct _PM_SUPPORT /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRsvd2:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tD1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tD2:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPMED0:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tPMED1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tPMED2:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tPMED3Hot:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tPMED3Cold:1\t /* start bit 7 */;\n};\nstruct _PCI_PMC /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tVersion:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tPMEClock:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tRsvd1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tDeviceSpecificInitialization:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tRsvd2:2\t /* start bit 6 */;\n/* off 0x0001 */\tstruct _PM_SUPPORT\tSupport;\n};\nstruct _PCI_PDO_EXTENSION /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PCI_PDO_EXTENSION*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _PCI_SLOT_NUMBER\tSlot;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0028 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x002c */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x0030 */\tunsigned long\tBusInterfaceReferenceCount;\n/* off 0x0034 */\tunsigned long\tAgpInterfaceReferenceCount;\n/* off 0x0038 */\tunsigned short\tVendorId;\n/* off 0x003a */\tunsigned short\tDeviceId;\n/* off 0x003c */\tunsigned short\tSubsystemVendorId;\n/* off 0x003e */\tunsigned short\tSubsystemId;\n/* off 0x0040 */\tunsigned char\tRevisionId;\n/* off 0x0041 */\tunsigned char\tProgIf;\n/* off 0x0042 */\tunsigned char\tSubClass;\n/* off 0x0043 */\tunsigned char\tBaseClass;\n/* off 0x0044 */\tunsigned char\tAdditionalResourceCount;\n/* off 0x0045 */\tunsigned char\tAdjustedInterruptLine;\n/* off 0x0046 */\tunsigned char\tInterruptPin;\n/* off 0x0047 */\tunsigned char\tRawInterruptLine;\n/* off 0x0048 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0049 */\tunsigned char\tSavedLatencyTimer;\n/* off 0x004a */\tunsigned char\tSavedCacheLineSize;\n/* off 0x004b */\tunsigned char\tHeaderType;\n/* off 0x004c */\tunsigned char\tNotPresent;\n/* off 0x004d */\tunsigned char\tReportedMissing;\n/* off 0x004e */\tunsigned char\tExpectedWritebackFailure;\n/* off 0x004f */\tunsigned char\tNoTouchPmeEnable;\n/* off 0x0050 */\tunsigned char\tLegacyDriver;\n/* off 0x0051 */\tunsigned char\tUpdateHardware;\n/* off 0x0052 */\tunsigned char\tMovedDevice;\n/* off 0x0053 */\tunsigned char\tDisablePowerDown;\n/* off 0x0054 */\tunsigned char\tNeedsHotPlugConfiguration;\n/* off 0x0055 */\tunsigned char\tSwitchedIDEToNativeMode;\n/* off 0x0056 */\tunsigned char\tBIOSAllowsIDESwitchToNativeMode;\n/* off 0x0057 */\tunsigned char\tIoSpaceUnderNativeIdeControl;\n/* off 0x0058 */\tunsigned char\tOnDebugPath;\n/* off 0x005c */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x009c */\tunion PCI_HEADER_TYPE_DEPENDENT\tDependent;\n/* off 0x00a0 */\tunsigned __int64\tHackFlags;\n/* off 0x00a8 */\tstruct PCI_FUNCTION_RESOURCES*\tResources;\n/* off 0x00ac */\tstruct _PCI_FDO_EXTENSION*\tBridgeFdoExtension;\n/* off 0x00b0 */\tstruct _PCI_PDO_EXTENSION*\tNextBridge;\n/* off 0x00b4 */\tstruct _PCI_PDO_EXTENSION*\tNextHashEntry;\n/* off 0x00b8 */\tstruct _PCI_LOCK\tLock;\n/* off 0x00c0 */\tstruct _PCI_PMC\tPowerCapabilities;\n/* off 0x00c2 */\tunsigned char\tTargetAgpCapabilityId;\n/* off 0x00c4 */\tunsigned short\tCommandEnables;\n/* off 0x00c6 */\tunsigned short\tInitialCommand;\n};\nenum PCI_SIGNATURE\n{\n\tPciPdoExtensionType\t=0x69635030\t,//0\n\tPciFdoExtensionType\t=0x69635031\t,//0\n\tPciArb_Io\t=0x69635032\t,//0\n\tPciArb_Memory\t=0x69635033\t,//0\n\tPciArb_Interrupt\t=0x69635034\t,//0\n\tPciArb_BusNumber\t=0x69635035\t,//0\n\tPciTrans_Interrupt\t=0x69635036\t,//0\n\tPciInterface_BusHandler\t=0x69635037\t,//0\n\tPciInterface_IntRouteHandler\t=0x69635038\t,//0\n\tPciInterface_PciCb\t=0x69635039\t,//0\n\tPciInterface_LegacyDeviceDetection\t=0x6963503a\t,//0\n\tPciInterface_PmeHandler\t=0x6963503b\t,//0\n\tPciInterface_DevicePresent\t=0x6963503c\t,//0\n\tPciInterface_NativeIde\t=0x6963503d\t,//0\n\tPciInterface_AgpTarget\t=0x6963503e\t,//0\n};\nstruct _PCI_MJ_DISPATCH_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tPnpIrpMaximumMinorFunction;\n/* off 0x0004 */\tstruct _PCI_MN_DISPATCH_TABLE*\tPnpIrpDispatchTable;\n/* off 0x0008 */\tunsigned long\tPowerIrpMaximumMinorFunction;\n/* off 0x000c */\tstruct _PCI_MN_DISPATCH_TABLE*\tPowerIrpDispatchTable;\n/* off 0x0010 */\tenum _PCI_DISPATCH_STYLE\tSystemControlIrpDispatchStyle;\n/* off 0x0014 */\tlong( __cdecl *SystemControlIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n/* off 0x0018 */\tenum _PCI_DISPATCH_STYLE\tOtherIrpDispatchStyle;\n/* off 0x001c */\tlong( __cdecl *OtherIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nstruct _PCI_MN_DISPATCH_TABLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum _PCI_DISPATCH_STYLE\tDispatchStyle;\n/* off 0x0004 */\tlong( __cdecl *DispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nenum _PCI_DISPATCH_STYLE\n{\n\tIRP_COMPLETE\t=0x00000000\t,//0\n\tIRP_DOWNWARD\t=0x00000001\t,//0\n\tIRP_UPWARD\t=0x00000002\t,//0\n\tIRP_DISPATCH\t=0x00000003\t,//0\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\tstruct __unnamed\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __cdecl *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _PCI_COMMON_EXTENSION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n};\nstruct _PCI_FDO_EXTENSION /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tFunctionalDeviceObject;\n/* off 0x0028 */\tstruct _DEVICE_OBJECT*\tAttachedDeviceObject;\n/* off 0x002c */\tstruct _KEVENT\tChildListLock;\n/* off 0x003c */\tstruct _PCI_PDO_EXTENSION*\tChildPdoList;\n/* off 0x0040 */\tstruct _PCI_FDO_EXTENSION*\tBusRootFdoExtension;\n/* off 0x0044 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x0048 */\tstruct _PCI_PDO_EXTENSION*\tChildBridgePdoList;\n/* off 0x004c */\tstruct _PCI_BUS_INTERFACE_STANDARD*\tPciBusInterface;\n/* off 0x0050 */\tunsigned char\tMaxSubordinateBus;\n/* off 0x0054 */\tstruct _BUS_HANDLER*\tBusHandler;\n/* off 0x0058 */\tunsigned char\tBaseBus;\n/* off 0x0059 */\tunsigned char\tFake;\n/* off 0x005a */\tunsigned char\tChildDelete;\n/* off 0x005b */\tunsigned char\tScanned;\n/* off 0x005c */\tunsigned char\tArbitersInitialized;\n/* off 0x005d */\tunsigned char\tBrokenVideoHackApplied;\n/* off 0x005e */\tunsigned char\tHibernated;\n/* off 0x0060 */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x00a0 */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x00a4 */\tunsigned long\tChildWaitWakeCount;\n/* off 0x00a8 */\tstruct _PCI_COMMON_CONFIG*\tPreservedConfig;\n/* off 0x00ac */\tstruct _PCI_LOCK\tLock;\n/* off 0x00b4 */\tstruct __unnamed\tHotPlugParameters;\n/* off 0x00bc */\tunsigned long\tBusHackFlags;\n};\nstruct _PCI_BUS_INTERFACE_STANDARD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __cdecl *ReadConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0014 */\tunsigned long( __cdecl *WriteConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0018 */\tvoid( __cdecl *PinToLine)(void*,struct _PCI_COMMON_CONFIG*);\n/* off 0x001c */\tvoid( __cdecl *LineToPin)(void*,struct _PCI_COMMON_CONFIG*,struct _PCI_COMMON_CONFIG*);\n};\nstruct _PCI_COMMON_CONFIG /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned short\tCommand;\n/* off 0x0006 */\tunsigned short\tStatus;\n/* off 0x0008 */\tunsigned char\tRevisionID;\n/* off 0x0009 */\tunsigned char\tProgIf;\n/* off 0x000a */\tunsigned char\tSubClass;\n/* off 0x000b */\tunsigned char\tBaseClass;\n/* off 0x000c */\tunsigned char\tCacheLineSize;\n/* off 0x000d */\tunsigned char\tLatencyTimer;\n/* off 0x000e */\tunsigned char\tHeaderType;\n/* off 0x000f */\tunsigned char\tBIST;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0040 */\tunsigned char DeviceSpecific[192];\n};\nstruct _BUS_HANDLER /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tenum _BUS_DATA_TYPE\tConfigurationType;\n/* off 0x000c */\tunsigned long\tBusNumber;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tstruct _BUS_HANDLER*\tParentHandler;\n/* off 0x0018 */\tvoid*\tBusData;\n/* off 0x001c */\tunsigned long\tDeviceControlExtensionSize;\n/* off 0x0020 */\tstruct _SUPPORTED_RANGES*\tBusAddresses;\n/* off 0x0024 */\tunsigned long Reserved[4];\n/* off 0x0034 */\tunsigned long( __cdecl *GetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0038 */\tunsigned long( __cdecl *SetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x003c */\tlong( __cdecl *AdjustResourceList)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _IO_RESOURCE_REQUIREMENTS_LIST**);\n/* off 0x0040 */\tlong( __cdecl *AssignSlotResources)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _UNICODE_STRING*,struct _UNICODE_STRING*,struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*,unsigned long,struct _CM_RESOURCE_LIST**);\n/* off 0x0044 */\tunsigned long( __cdecl *GetInterruptVector)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,unsigned long,unsigned char*,unsigned long*);\n/* off 0x0048 */\tunsigned char( __cdecl *TranslateBusAddress)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,union _LARGE_INTEGER,unsigned long*,union _LARGE_INTEGER*);\n/* off 0x004c */\tvoid*\tSpare1;\n/* off 0x0050 */\tvoid*\tSpare2;\n/* off 0x0054 */\tvoid*\tSpare3;\n/* off 0x0058 */\tvoid*\tSpare4;\n/* off 0x005c */\tvoid*\tSpare5;\n/* off 0x0060 */\tvoid*\tSpare6;\n/* off 0x0064 */\tvoid*\tSpare7;\n/* off 0x0068 */\tvoid*\tSpare8;\n};\nenum _BUS_DATA_TYPE\n{\n\tConfigurationSpaceUndefined\t=0xffffffff\t,//-1\n\tCmos\t=0x00000000\t,//0\n\tEisaConfiguration\t=0x00000001\t,//0\n\tPos\t=0x00000002\t,//0\n\tCbusConfiguration\t=0x00000003\t,//0\n\tPCIConfiguration\t=0x00000004\t,//0\n\tVMEConfiguration\t=0x00000005\t,//0\n\tNuBusConfiguration\t=0x00000006\t,//0\n\tPCMCIAConfiguration\t=0x00000007\t,//0\n\tMPIConfiguration\t=0x00000008\t,//0\n\tMPSAConfiguration\t=0x00000009\t,//0\n\tPNPISAConfiguration\t=0x0000000a\t,//0\n\tSgiInternalConfiguration\t=0x0000000b\t,//0\n\tMaximumBusDataType\t=0x0000000c\t,//0\n};\nstruct _SUPPORTED_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _SUPPORTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tSystemAddressSpace;\n/* off 0x0008 */\t__int64\tSystemBase;\n/* off 0x0010 */\t__int64\tBase;\n/* off 0x0018 */\t__int64\tLimit;\n};\nstruct _SUPPORTED_RANGES /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tSorted;\n/* off 0x0003 */\tunsigned char\tReserved;\n/* off 0x0004 */\tunsigned long\tNoIO;\n/* off 0x0008 */\tstruct _SUPPORTED_RANGE\tIO;\n/* off 0x0028 */\tunsigned long\tNoMemory;\n/* off 0x0030 */\tstruct _SUPPORTED_RANGE\tMemory;\n/* off 0x0050 */\tunsigned long\tNoPrefetchMemory;\n/* off 0x0058 */\tstruct _SUPPORTED_RANGE\tPrefetchMemory;\n/* off 0x0078 */\tunsigned long\tNoDma;\n/* off 0x0080 */\tstruct _SUPPORTED_RANGE\tDma;\n};\nstruct PCI_FUNCTION_RESOURCES /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _IO_RESOURCE_DESCRIPTOR Limit[7];\n/* off 0x00e0 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7];\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\tstruct __unnamed\tAllocated;\n/* off 0x0010 */\tstruct __unnamed\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __cdecl *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct __unnamed\tParameters;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\tstruct __unnamed\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tunsigned short\tReserved;\n/* off 0x00a2 */\tunsigned short\tSymbolicLinkUsageCount;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _KINTERRUPT /* sizeof 000001e4 484 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __cdecl *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tvoid*\tServiceContext;\n/* off 0x0014 */\tunsigned long\tSpinLock;\n/* off 0x0018 */\tunsigned long\tTickCount;\n/* off 0x001c */\tunsigned long*\tActualLock;\n/* off 0x0020 */\tvoid( __cdecl *DispatchAddress)();\n/* off 0x0024 */\tunsigned long\tVector;\n/* off 0x0028 */\tunsigned char\tIrql;\n/* off 0x0029 */\tunsigned char\tSynchronizeIrql;\n/* off 0x002a */\tunsigned char\tFloatingSave;\n/* off 0x002b */\tunsigned char\tConnected;\n/* off 0x002c */\tchar\tNumber;\n/* off 0x002d */\tunsigned char\tShareVector;\n/* off 0x0030 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0034 */\tunsigned long\tServiceCount;\n/* off 0x0038 */\tunsigned long\tDispatchCount;\n/* off 0x003c */\tunsigned long DispatchCode[106];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nstruct PCI_SECONDARY_EXTENSION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tvoid( __cdecl *Destructor)(void*);\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 0000009c 156 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tint\tResourceType;\n/* off 0x0010 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x0018 */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0020 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x0028 */\tlong\tReferenceCount;\n/* off 0x002c */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0030 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0034 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x0038 */\tlong( __cdecl *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned long*,unsigned long*);\n/* off 0x003c */\tlong( __cdecl *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0040 */\tlong( __cdecl *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned long*);\n/* off 0x0044 */\tlong( __cdecl *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x0048 */\tlong( __cdecl *TestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x004c */\tlong( __cdecl *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0050 */\tlong( __cdecl *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0054 */\tlong( __cdecl *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __cdecl *BootAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x005c */\tlong( __cdecl *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0060 */\tlong( __cdecl *QueryConflict)(struct _ARBITER_INSTANCE*,struct _DEVICE_OBJECT*,struct _IO_RESOURCE_DESCRIPTOR*,unsigned long*,struct _ARBITER_CONFLICT_INFO**);\n/* off 0x0064 */\tlong( __cdecl *AddReserved)(struct _ARBITER_INSTANCE*,struct _IO_RESOURCE_DESCRIPTOR*,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0068 */\tlong( __cdecl *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x006c */\tlong( __cdecl *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0070 */\tlong( __cdecl *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tunsigned char( __cdecl *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __cdecl *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tvoid( __cdecl *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __cdecl *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tunsigned char( __cdecl *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char\tTransactionInProgress;\n/* off 0x008c */\tvoid*\tExtension;\n/* off 0x0090 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x0094 */\tvoid*\tConflictCallbackContext;\n/* off 0x0098 */\tunsigned char( __cdecl *ConflictCallback)(void*,struct _RTL_RANGE*);\n};\nstruct _PCI_ARBITER_INSTANCE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tstruct PCI_SECONDARY_EXTENSION\tHeader;\n/* off 0x000c */\tstruct _PCI_INTERFACE*\tInterface;\n/* off 0x0010 */\tstruct _PCI_FDO_EXTENSION*\tBusFdoExtension;\n/* off 0x0014 */\tunsigned short InstanceName[24];\n/* off 0x0044 */\tstruct _ARBITER_INSTANCE\tCommonInstance;\n};\nstruct _PCI_INTERFACE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n/* off 0x0004 */\tunsigned short\tMinSize;\n/* off 0x0006 */\tunsigned short\tMinVersion;\n/* off 0x0008 */\tunsigned short\tMaxVersion;\n/* off 0x000a */\tunsigned short\tFlags;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tenum PCI_SIGNATURE\tSignature;\n/* off 0x0014 */\tlong( __cdecl *Constructor)(void*,void*,void*,unsigned short,unsigned short,struct _INTERFACE*);\n/* off 0x0018 */\tlong( __cdecl *Initializer)(struct _PCI_ARBITER_INSTANCE*);\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __cdecl *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __cdecl *InterfaceDereference)(void*);\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned long\tLength;\n/* off 0x0014 */\tunsigned long\tAlignment;\n/* off 0x0018 */\tlong\tPriority;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x0024 */\tunsigned long Reserved[3];\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _MMPAGING_FILE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tCurrentUsage;\n/* off 0x0014 */\tunsigned long\tPeakUsage;\n/* off 0x0018 */\tunsigned long\tHint;\n/* off 0x001c */\tunsigned long\tHighestPage;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0028 */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x0038 */\tunsigned long\tPageFileNumber;\n/* off 0x003c */\tunsigned char\tExtended;\n/* off 0x003d */\tunsigned char\tHintSetToZero;\n/* off 0x003e */\tunsigned char\tBootPartition;\n/* off 0x0040 */\tvoid*\tFileHandle;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _IRP*\tIrp;\n/* off 0x001c */\tunsigned long\tLastPageToWrite;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_LISTHEAD*\tPagingListHead;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tCurrentList;\n/* off 0x0028 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0034 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0038 */\tstruct _MDL\tMdl;\n/* off 0x0054 */\tunsigned long Page[1];\n};\nstruct _MMMOD_WRITER_LISTHEAD /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nenum _MEMORY_TYPE\n{\n\tMemoryExceptionBlock\t=0x00000000\t,//0\n\tMemorySystemBlock\t=0x00000001\t,//0\n\tMemoryFree\t=0x00000002\t,//0\n\tMemoryBad\t=0x00000003\t,//0\n\tMemoryLoadedProgram\t=0x00000004\t,//0\n\tMemoryFirmwareTemporary\t=0x00000005\t,//0\n\tMemoryFirmwarePermanent\t=0x00000006\t,//0\n\tMemoryFreeContiguous\t=0x00000007\t,//0\n\tMemorySpecialMemory\t=0x00000008\t,//0\n\tMemoryMaximum\t=0x00000009\t,//0\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\n/* off 0x0023 */\tunsigned char\tSpare1;\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long Reserved[1];\n};\nstruct _POP_IDLE_HANDLER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tLatency;\n/* off 0x0004 */\tunsigned long\tTimeCheck;\n/* off 0x0008 */\tunsigned long\tDemoteLimit;\n/* off 0x000c */\tunsigned long\tPromoteLimit;\n/* off 0x0010 */\tunsigned long\tPromoteCount;\n/* off 0x0014 */\tunsigned char\tDemote;\n/* off 0x0015 */\tunsigned char\tPromote;\n/* off 0x0016 */\tunsigned char\tPromotePercent;\n/* off 0x0017 */\tunsigned char\tDemotePercent;\n/* off 0x0018 */\tunsigned char\tState;\n/* off 0x0019 */\tunsigned char Spare[3];\n/* off 0x001c */\tunsigned char( __fastcall *IdleFunction)(struct PROCESSOR_IDLE_TIMES*);\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char spare2[4];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _SEP_AUDIT_POLICY_CATEGORIES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSystem:4\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLogon:4\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tObjectAccess:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tPrivilegeUse:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDetailedTracking:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tPolicyChange:4\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tAccountManagement:4\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tDirectoryServiceAccess:4\t /* start bit 28 */;\n/* off 0x0004 */\tunsigned long\tAccountLogon:4\t /* start bit 0 */;\n};\nstruct _SEP_AUDIT_POLICY_OVERLAY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicyBits:36\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tSetBit:1\t /* start bit 36 */;\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_CATEGORIES\tPolicyElements;\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_OVERLAY\tPolicyOverlay;\n/* off 0x0000 */\tunsigned __int64\tOverlay;\n};\n};\nstruct _TOKEN /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0038 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0040 */\tstruct _LUID\tModifiedId;\n/* off 0x0048 */\tunsigned long\tSessionId;\n/* off 0x004c */\tunsigned long\tUserAndGroupCount;\n/* off 0x0050 */\tunsigned long\tRestrictedSidCount;\n/* off 0x0054 */\tunsigned long\tPrivilegeCount;\n/* off 0x0058 */\tunsigned long\tVariableLength;\n/* off 0x005c */\tunsigned long\tDynamicCharged;\n/* off 0x0060 */\tunsigned long\tDynamicAvailable;\n/* off 0x0064 */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0068 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x006c */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0070 */\tvoid*\tPrimaryGroup;\n/* off 0x0074 */\tstruct _LUID_AND_ATTRIBUTES*\tPrivileges;\n/* off 0x0078 */\tunsigned long*\tDynamicPart;\n/* off 0x007c */\tstruct _ACL*\tDefaultDacl;\n/* off 0x0080 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x0084 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0088 */\tunsigned long\tTokenFlags;\n/* off 0x008c */\tunsigned char\tTokenInUse;\n/* off 0x0090 */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x0094 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x0098 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00a0 */\tunsigned long\tVariablePart;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0008 */\tvoid*\tActiveFrame;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFrameListCache;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _Wx86ThreadState /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long*\tCallBx86Eip;\n/* off 0x0004 */\tvoid*\tDeallocationCpu;\n/* off 0x0008 */\tunsigned char\tUseKnownWx86Dll;\n/* off 0x0009 */\tchar\tOleStubInvoked;\n};\nstruct _TEB /* sizeof 00000fb8 4024 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK\tActivationContextStack;\n/* off 0x01bc */\tunsigned char SpareBytes1[24];\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\tunsigned short StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorsAreDisabled;\n/* off 0x0f2c */\tvoid* Instrumentation[16];\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tInDbgPrint;\n/* off 0x0f75 */\tunsigned char\tFreeStackOnTermination;\n/* off 0x0f76 */\tunsigned char\tHasFiberData;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tSpare3;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tstruct _Wx86ThreadState\tWx86Thread;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tunsigned char\tSafeThunkCall;\n/* off 0x0fb5 */\tunsigned char BooleanSpare[3];\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _PCI_HEADER_TYPE_0 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[6];\n/* off 0x0018 */\tunsigned long\tCIS;\n/* off 0x001c */\tunsigned short\tSubVendorID;\n/* off 0x001e */\tunsigned short\tSubSystemID;\n/* off 0x0020 */\tunsigned long\tROMBaseAddress;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tReserved2;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned char\tMinimumGrant;\n/* off 0x002f */\tunsigned char\tMaximumLatency;\n};\nstruct _PCI_HEADER_TYPE_1 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[2];\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tunsigned char\tIOBase;\n/* off 0x000d */\tunsigned char\tIOLimit;\n/* off 0x000e */\tunsigned short\tSecondaryStatus;\n/* off 0x0010 */\tunsigned short\tMemoryBase;\n/* off 0x0012 */\tunsigned short\tMemoryLimit;\n/* off 0x0014 */\tunsigned short\tPrefetchBase;\n/* off 0x0016 */\tunsigned short\tPrefetchLimit;\n/* off 0x0018 */\tunsigned long\tPrefetchBaseUpper32;\n/* off 0x001c */\tunsigned long\tPrefetchLimitUpper32;\n/* off 0x0020 */\tunsigned short\tIOBaseUpper16;\n/* off 0x0022 */\tunsigned short\tIOLimitUpper16;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tROMBaseAddress;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _PCI_HEADER_TYPE_2 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tSocketRegistersBaseAddress;\n/* off 0x0004 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tSecondaryStatus;\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tstruct __unnamed Range[4];\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tKey;\n/* off 0x0004 */\tunsigned long\tNonPagedAllocs;\n/* off 0x0008 */\tunsigned long\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nenum _PS_QUOTA_TYPE\n{\n\tPsNonPagedPool\t=0x00000000\t,//0\n\tPsPagedPool\t=0x00000001\t,//0\n\tPsPageFile\t=0x00000002\t,//0\n\tPsQuotaTypes\t=0x00000003\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nstruct _POP_POWER_ACTION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tunsigned char\tIrpMinor;\n/* off 0x0018 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x001c */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0020 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0024 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0028 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tLastWakeState;\n/* off 0x0030 */\tunsigned __int64\tWakeTime;\n/* off 0x0038 */\tunsigned __int64\tSleepTime;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tLevelReady;\n/* off 0x0010 */\tunsigned long\tDeviceCount;\n/* off 0x0014 */\tunsigned long\tActiveCount;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned long\tDevNodeSequence;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_POWER_IRP /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFree;\n/* off 0x0004 */\tstruct _IRP*\tIrp;\n/* off 0x0008 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x000c */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x001c */\tstruct _LIST_ENTRY\tAbort;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tFailed;\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000620 1568 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n/* off 0x0018 */\tunsigned long\tSpinLock;\n/* off 0x001c */\tstruct _KTHREAD*\tThread;\n/* off 0x0020 */\tunsigned char\tGetNewDeviceList;\n/* off 0x0024 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x026c */\tlong\tStatus;\n/* off 0x0270 */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0274 */\tunsigned char\tWaking;\n/* off 0x0275 */\tunsigned char\tCancelled;\n/* off 0x0276 */\tunsigned char\tIgnoreErrors;\n/* off 0x0277 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0278 */\tunsigned char\tWaitAny;\n/* off 0x0279 */\tunsigned char\tWaitAll;\n/* off 0x027c */\tstruct _LIST_ENTRY\tPresentIrpQueue;\n/* off 0x0284 */\tstruct _POP_DEVICE_POWER_IRP\tHead;\n/* off 0x02b0 */\tstruct _POP_DEVICE_POWER_IRP PowerIrpState[20];\n};\nstruct _PO_HIBER_PERF /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tLinkFile;\n/* off 0x0008 */\tvoid*\tLinkFileHandle;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tMapFrozen;\n/* off 0x0014 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x001c */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0024 */\tunsigned long\tClonedRangeCount;\n/* off 0x0028 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x002c */\tunsigned long\tNextPreserve;\n/* off 0x0030 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0034 */\tstruct _MDL*\tClones;\n/* off 0x0038 */\tunsigned char*\tNextClone;\n/* off 0x003c */\tunsigned long\tNoClones;\n/* off 0x0040 */\tstruct _MDL*\tSpares;\n/* off 0x0048 */\tunsigned __int64\tPagesOut;\n/* off 0x0050 */\tvoid*\tIoPage;\n/* off 0x0054 */\tvoid*\tCurrentMcb;\n/* off 0x0058 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x005c */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0060 */\tunsigned long\tNoRanges;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x007c */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0080 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0084 */\tunsigned long*\tPerformanceStats;\n/* off 0x0088 */\tvoid*\tCompressionBlock;\n/* off 0x008c */\tvoid*\tDmaIO;\n/* off 0x0090 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __cdecl *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __cdecl *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __cdecl *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __cdecl *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __cdecl *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\tstruct __unnamed\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunsigned long\tImageType;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0028 */\tunsigned __int64\tInterruptTime;\n/* off 0x0030 */\tunsigned long\tFeatureFlags;\n/* off 0x0034 */\tunsigned char\tHiberFlags;\n/* off 0x0035 */\tunsigned char spare[3];\n/* off 0x0038 */\tunsigned long\tNoHiberPtes;\n/* off 0x003c */\tunsigned long\tHiberVa;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0048 */\tunsigned long\tNoFreePages;\n/* off 0x004c */\tunsigned long\tFreeMapCheck;\n/* off 0x0050 */\tunsigned long\tWakeCheck;\n/* off 0x0054 */\tunsigned long\tTotalPages;\n/* off 0x0058 */\tunsigned long\tFirstTablePage;\n/* off 0x005c */\tunsigned long\tLastFilePage;\n/* off 0x0060 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct __unnamed\tRange;\n/* off 0x0000 */\tstruct __unnamed\tLink;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct __unnamed\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _MMVAD_SHORT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\tstruct __unnamed\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __cdecl *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tMaxPlugEventCategory\t=0x00000009\t,//0\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _FAST_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nenum _MMSYSTEM_PTE_POOL_TYPE\n{\n\tSystemPteSpace\t=0x00000000\t,//0\n\tNonPagedPoolExpansion\t=0x00000001\t,//0\n\tMaximumPtePoolTypes\t=0x00000002\t,//0\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tstruct __unnamed\tu2;\n/* off 0x000c */\tstruct __unnamed\tu3;\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0018 */\tstruct __unnamed\tu4;\n};\nstruct _MMPFNENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tModified:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadInProgress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWriteInProgress:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPageColor:3\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tParityError:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tPageLocation:3\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tRemovalRequested:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tCacheAttribute:2\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tRom:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tLockCharged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 16 */;\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileMaximumInformation\t=0x00000029\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsMaximumInformation\t=0x0000000a\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tListIndex;\n/* off 0x0004 */\tstruct _MI_VERIFIER_DRIVER_ENTRY*\tVerifier;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunsigned long\tReserved;\n/* off 0x002c */\tunsigned long\tVerifierPoolLock;\n/* off 0x0030 */\tstruct _VI_POOL_ENTRY*\tPoolHash;\n/* off 0x0034 */\tunsigned long\tPoolHashSize;\n/* off 0x0038 */\tunsigned long\tPoolHashFree;\n/* off 0x003c */\tunsigned long\tPoolHashReserved;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tunsigned long\tFreeListNext;\n};\n};\nstruct _CM_KEY_BODY /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tunsigned long\tCallers;\n/* off 0x0014 */\tvoid* CallerAddress[10];\n/* off 0x003c */\tstruct _LIST_ENTRY\tKeyBodyList;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nstruct _MMFREE_POOL_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tSignature;\n/* off 0x0010 */\tstruct _MMFREE_POOL_ENTRY*\tOwner;\n};\nstruct _SYSPTES_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_5.1.2600.5755.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct __unnamed /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\tstruct __unnamed\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned long\tSpare0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned short\tWaitType;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x0018 */\tvoid*\tInitialStack;\n/* off 0x001c */\tvoid*\tStackLimit;\n/* off 0x0020 */\tvoid*\tTeb;\n/* off 0x0024 */\tvoid*\tTlsArray;\n/* off 0x0028 */\tvoid*\tKernelStack;\n/* off 0x002c */\tunsigned char\tDebugActive;\n/* off 0x002d */\tunsigned char\tState;\n/* off 0x002e */\tunsigned char Alerted[2];\n/* off 0x0030 */\tunsigned char\tIopl;\n/* off 0x0031 */\tunsigned char\tNpxState;\n/* off 0x0032 */\tchar\tSaturation;\n/* off 0x0033 */\tchar\tPriority;\n/* off 0x0034 */\tstruct _KAPC_STATE\tApcState;\n/* off 0x004c */\tunsigned long\tContextSwitches;\n/* off 0x0050 */\tunsigned char\tIdleSwapBlock;\n/* off 0x0051 */\tunsigned char Spare0[3];\n/* off 0x0054 */\tlong\tWaitStatus;\n/* off 0x0058 */\tunsigned char\tWaitIrql;\n/* off 0x0059 */\tchar\tWaitMode;\n/* off 0x005a */\tunsigned char\tWaitNext;\n/* off 0x005b */\tunsigned char\tWaitReason;\n/* off 0x005c */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0060 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0060 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0068 */\tunsigned long\tWaitTime;\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tunsigned char\tDecrementCount;\n/* off 0x006e */\tchar\tPriorityDecrement;\n/* off 0x006f */\tchar\tQuantum;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x00d0 */\tvoid*\tLegoData;\n/* off 0x00d4 */\tunsigned long\tKernelApcDisable;\n/* off 0x00d8 */\tunsigned long\tUserAffinity;\n/* off 0x00dc */\tunsigned char\tSystemAffinityActive;\n/* off 0x00dd */\tunsigned char\tPowerState;\n/* off 0x00de */\tunsigned char\tNpxIrql;\n/* off 0x00df */\tunsigned char\tInitialNode;\n/* off 0x00e0 */\tvoid*\tServiceTable;\n/* off 0x00e4 */\tstruct _KQUEUE*\tQueue;\n/* off 0x00e8 */\tunsigned long\tApcQueueLock;\n/* off 0x00f0 */\tstruct _KTIMER\tTimer;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tunsigned long\tSoftAffinity;\n/* off 0x0124 */\tunsigned long\tAffinity;\n/* off 0x0128 */\tunsigned char\tPreempted;\n/* off 0x0129 */\tunsigned char\tProcessReadyQueue;\n/* off 0x012a */\tunsigned char\tKernelStackResident;\n/* off 0x012b */\tunsigned char\tNextProcessor;\n/* off 0x012c */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tvoid*\tWin32Thread;\n/* off 0x0134 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0138 */\tstruct _KAPC_STATE* ApcStatePointer[2];\n/* off 0x0140 */\tchar\tPreviousMode;\n/* off 0x0141 */\tunsigned char\tEnableStackSwap;\n/* off 0x0142 */\tunsigned char\tLargeStack;\n/* off 0x0143 */\tunsigned char\tResourceIndex;\n/* off 0x0144 */\tunsigned long\tKernelTime;\n/* off 0x0148 */\tunsigned long\tUserTime;\n/* off 0x014c */\tstruct _KAPC_STATE\tSavedApcState;\n/* off 0x0164 */\tunsigned char\tAlertable;\n/* off 0x0165 */\tunsigned char\tApcStateIndex;\n/* off 0x0166 */\tunsigned char\tApcQueueable;\n/* off 0x0167 */\tunsigned char\tAutoAlignment;\n/* off 0x0168 */\tvoid*\tStackBase;\n/* off 0x016c */\tstruct _KAPC\tSuspendApc;\n/* off 0x019c */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01b0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01b8 */\tchar\tFreezeCount;\n/* off 0x01b9 */\tchar\tSuspendCount;\n/* off 0x01ba */\tunsigned char\tIdealProcessor;\n/* off 0x01bb */\tunsigned char\tDisableBoost;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\tstruct __unnamed\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long DirectoryTableBase[2];\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\n/* off 0x0060 */\tunsigned short\tStackCount;\n/* off 0x0062 */\tchar\tBasePriority;\n/* off 0x0063 */\tchar\tThreadQuantum;\n/* off 0x0064 */\tunsigned char\tAutoAlignment;\n/* off 0x0065 */\tunsigned char\tState;\n/* off 0x0066 */\tunsigned char\tThreadSeed;\n/* off 0x0067 */\tunsigned char\tDisableBoost;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tDisableQuantum;\n/* off 0x006a */\tunsigned char\tIdealNode;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tImportance;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tunsigned long*\tLock;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned long\tTempSegCs;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueContextSwapLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMaximumLock\t=0x0000000f\t,//0\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tstruct __unnamed\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long IdleHandlerReserved[4];\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tunsigned long\tIdle0KernelTimeLimit;\n/* off 0x0008 */\tunsigned long\tIdle0LastTime;\n/* off 0x000c */\tvoid*\tIdleHandlers;\n/* off 0x0010 */\tvoid*\tIdleState;\n/* off 0x0014 */\tunsigned long\tIdleHandlersCount;\n/* off 0x0018 */\tunsigned __int64\tLastCheck;\n/* off 0x0020 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0040 */\tunsigned long\tIdleTime1;\n/* off 0x0044 */\tunsigned long\tPromotionCheck;\n/* off 0x0048 */\tunsigned long\tIdleTime2;\n/* off 0x004c */\tunsigned char\tCurrentThrottle;\n/* off 0x004d */\tunsigned char\tThermalThrottleLimit;\n/* off 0x004e */\tunsigned char\tCurrentThrottleIndex;\n/* off 0x004f */\tunsigned char\tThermalThrottleIndex;\n/* off 0x0050 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0054 */\tunsigned long\tLastIdleThreadKernelTime;\n/* off 0x0058 */\tunsigned long\tPackageIdleStartTime;\n/* off 0x005c */\tunsigned long\tPackageIdleTime;\n/* off 0x0060 */\tunsigned long\tDebugCount;\n/* off 0x0064 */\tunsigned long\tLastSysTime;\n/* off 0x0068 */\tunsigned __int64 TotalIdleStateTime[3];\n/* off 0x0080 */\tunsigned long TotalIdleTransitions[3];\n/* off 0x0090 */\tunsigned __int64\tPreviousC3StateTime;\n/* off 0x0098 */\tunsigned char\tKneeThrottleIndex;\n/* off 0x0099 */\tunsigned char\tThrottleLimitIndex;\n/* off 0x009a */\tunsigned char\tPerfStatesCount;\n/* off 0x009b */\tunsigned char\tProcessorMinThrottle;\n/* off 0x009c */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x009d */\tunsigned char\tEnableIdleAccounting;\n/* off 0x009e */\tunsigned char\tLastC3Percentage;\n/* off 0x009f */\tunsigned char\tLastAdjustedBusyPercentage;\n/* off 0x00a0 */\tunsigned long\tPromotionCount;\n/* off 0x00a4 */\tunsigned long\tDemotionCount;\n/* off 0x00a8 */\tunsigned long\tErrorCount;\n/* off 0x00ac */\tunsigned long\tRetryCount;\n/* off 0x00b0 */\tunsigned long\tFlags;\n/* off 0x00b8 */\tunion _LARGE_INTEGER\tPerfCounterFrequency;\n/* off 0x00c0 */\tunsigned long\tPerfTickCount;\n/* off 0x00c8 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x00f0 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0110 */\tstruct PROCESSOR_PERF_STATE*\tPerfStates;\n/* off 0x0114 */\tlong( __fastcall *PerfSetThrottle)(unsigned char);\n/* off 0x0118 */\tunsigned long\tLastC3KernelUserTime;\n/* off 0x011c */\tunsigned long\tLastPackageIdleTime;\n};\nstruct _KPRCB /* sizeof 00000c50 3152 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tchar\tNumber;\n/* off 0x0011 */\tchar\tReserved;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\n/* off 0x001a */\tunsigned short\tCpuStep;\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned char PrcbPad0[92];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[16];\n/* off 0x0498 */\tunsigned char PrcbPad1[8];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDebugDpcTime;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned long\tSkipTick;\n/* off 0x04c8 */\tunsigned char\tMultiThreadSetBusy;\n/* off 0x04c9 */\tunsigned char Spare2[3];\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x04d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x04d8 */\tunsigned long ThreadStartCount[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x04fc */\tunsigned long\tKeContextSwitches;\n/* off 0x0500 */\tunsigned long\tKeDcacheFlushCount;\n/* off 0x0504 */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0508 */\tunsigned long\tKeFirstLevelTbFills;\n/* off 0x050c */\tunsigned long\tKeFloatingEmulationCount;\n/* off 0x0510 */\tunsigned long\tKeIcacheFlushCount;\n/* off 0x0514 */\tunsigned long\tKeSecondLevelTbFills;\n/* off 0x0518 */\tunsigned long\tKeSystemCalls;\n/* off 0x051c */\tunsigned long SpareCounter0[1];\n/* off 0x0520 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPNPagedLookasideList[32];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPPagedLookasideList[32];\n/* off 0x07a0 */\tunsigned long\tPacketBarrier;\n/* off 0x07a4 */\tunsigned long\tReverseStall;\n/* off 0x07a8 */\tvoid*\tIpiFrame;\n/* off 0x07ac */\tunsigned char PrcbPad2[52];\n/* off 0x07e0 */\tvoid* CurrentPacket[3];\n/* off 0x07ec */\tunsigned long\tTargetSet;\n/* off 0x07f0 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x07f4 */\tunsigned long\tIpiFrozen;\n/* off 0x07f8 */\tunsigned char PrcbPad3[40];\n/* off 0x0820 */\tunsigned long\tRequestSummary;\n/* off 0x0824 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x0828 */\tunsigned char PrcbPad4[56];\n/* off 0x0860 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0868 */\tvoid*\tDpcStack;\n/* off 0x086c */\tunsigned long\tDpcCount;\n/* off 0x0870 */\tunsigned long\tDpcQueueDepth;\n/* off 0x0874 */\tunsigned long\tDpcRoutineActive;\n/* off 0x0878 */\tunsigned long\tDpcInterruptRequested;\n/* off 0x087c */\tunsigned long\tDpcLastCount;\n/* off 0x0880 */\tunsigned long\tDpcRequestRate;\n/* off 0x0884 */\tunsigned long\tMaximumDpcQueueDepth;\n/* off 0x0888 */\tunsigned long\tMinimumDpcRate;\n/* off 0x088c */\tunsigned long\tQuantumEnd;\n/* off 0x0890 */\tunsigned char PrcbPad5[16];\n/* off 0x08a0 */\tunsigned long\tDpcLock;\n/* off 0x08a4 */\tunsigned char PrcbPad6[28];\n/* off 0x08c0 */\tstruct _KDPC\tCallDpc;\n/* off 0x08e0 */\tvoid*\tChainedInterruptList;\n/* off 0x08e4 */\tlong\tLookasideIrpFloat;\n/* off 0x08e8 */\tunsigned long SpareFields0[6];\n/* off 0x0900 */\tunsigned char VendorString[13];\n/* off 0x090d */\tunsigned char\tInitialApicId;\n/* off 0x090e */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x0910 */\tunsigned long\tMHz;\n/* off 0x0914 */\tunsigned long\tFeatureBits;\n/* off 0x0918 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x0920 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x0b30 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable;\n};\nstruct _KNODE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tProcessorMask;\n/* off 0x0004 */\tunsigned long\tColor;\n/* off 0x0008 */\tunsigned long\tMmShiftedColor;\n/* off 0x000c */\tunsigned long FreeCount[2];\n/* off 0x0018 */\tunion _SLIST_HEADER\tDeadStackList;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x002c */\tunsigned char\tSeed;\n/* off 0x002d */\tstruct _flags\tFlags;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct PROCESSOR_PERF_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tPercentFrequency;\n/* off 0x0001 */\tunsigned char\tMinCapacity;\n/* off 0x0002 */\tunsigned short\tPower;\n/* off 0x0004 */\tunsigned char\tIncreaseLevel;\n/* off 0x0005 */\tunsigned char\tDecreaseLevel;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tIncreaseTime;\n/* off 0x000c */\tunsigned long\tDecreaseTime;\n/* off 0x0010 */\tunsigned long\tIncreaseCount;\n/* off 0x0014 */\tunsigned long\tDecreaseCount;\n/* off 0x0018 */\tunsigned __int64\tPerformanceTime;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideMaximumList\t=0x00000007\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExclusive:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tShared:30\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tunsigned long\tShareCount;\n/* off 0x0018 */\tunsigned char\tExclusive;\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _ETHREAD /* sizeof 00000258 600 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\nunion\n{\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tCreateTime;\nstruct\n{\n/* off 0x01c0 */\tunsigned int\tNestedFaultCount:2\t /* start bit 0 */;\n/* off 0x01c0 */\tunsigned int\tApcNeeded:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tLpcReplyChain;\n/* off 0x01c8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01d0 */\tlong\tExitStatus;\n/* off 0x01d0 */\tvoid*\tOfsChain;\n};\n/* off 0x01d4 */\tstruct _LIST_ENTRY\tPostBlockList;\nunion\n{\n/* off 0x01dc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01dc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01dc */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x01e0 */\tunsigned long\tActiveTimerListLock;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x01ec */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tLpcReplySemaphore;\n/* off 0x01f4 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n};\nunion\n{\n/* off 0x0208 */\tvoid*\tLpcReplyMessage;\n/* off 0x0208 */\tvoid*\tLpcWaitingOnPort;\n};\n/* off 0x020c */\tstruct _PS_IMPERSONATION_INFORMATION*\tImpersonationInfo;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0218 */\tunsigned long\tTopLevelIrp;\n/* off 0x021c */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x0220 */\tstruct _EPROCESS*\tThreadsProcess;\n/* off 0x0224 */\tvoid*\tStartAddress;\nunion\n{\n/* off 0x0228 */\tvoid*\tWin32StartAddress;\n/* off 0x0228 */\tunsigned long\tLpcReceivedMessageId;\n};\n/* off 0x022c */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0234 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0238 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x023c */\tunsigned long\tLpcReplyMessageId;\n/* off 0x0240 */\tunsigned long\tReadClusterSize;\n/* off 0x0244 */\tunsigned long\tGrantedAccess;\nunion\n{\n/* off 0x0248 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tDeadThread:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x024c */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x024c */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x024c */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x024c */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x0250 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned char\tLpcReceivedMsgIdValid:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned char\tLpcExitThreadCalled:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned char\tAddressSpaceOwner:1\t /* start bit 2 */;\n};\n};\n/* off 0x0254 */\tunsigned char\tForwardClusterOnly;\n/* off 0x0255 */\tunsigned char\tDisablePageFaultClustering;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _PS_IMPERSONATION_INFORMATION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tToken;\n/* off 0x0004 */\tunsigned char\tCopyOnOpen;\n/* off 0x0005 */\tunsigned char\tEffectiveOnly;\n/* off 0x0008 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\tstruct __unnamed\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct __unnamed\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\tstruct __unnamed\tAcquireForSectionSynchronization;\n/* off 0x0000 */\tstruct __unnamed\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned short VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingTrimmed:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSessionLeader:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tTrimHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tWorkingSetHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tAddressSpaceBeingDeleted:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tAvailable:10\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tAllowWorkingSetAdjustment:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tMemoryPriority:8\t /* start bit 24 */;\n};\nstruct _MMSUPPORT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tLastTrimTime;\n/* off 0x0008 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x000c */\tunsigned long\tPageFaultCount;\n/* off 0x0010 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0014 */\tunsigned long\tWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x001c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0020 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x002c */\tunsigned long\tClaim;\n/* off 0x0030 */\tunsigned long\tNextEstimationSlot;\n/* off 0x0034 */\tunsigned long\tNextAgingSlot;\n/* off 0x0038 */\tunsigned long\tEstimatedAvailable;\n/* off 0x003c */\tunsigned long\tGrowthSinceLastEstimate;\n};\nstruct _EPROCESS /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x006c */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0080 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0084 */\tvoid*\tUniqueProcessId;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x0090 */\tunsigned long QuotaUsage[3];\n/* off 0x009c */\tunsigned long QuotaPeak[3];\n/* off 0x00a8 */\tunsigned long\tCommitCharge;\n/* off 0x00ac */\tunsigned long\tPeakVirtualSize;\n/* off 0x00b0 */\tunsigned long\tVirtualSize;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00bc */\tvoid*\tDebugPort;\n/* off 0x00c0 */\tvoid*\tExceptionPort;\n/* off 0x00c4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00c8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00cc */\tstruct _FAST_MUTEX\tWorkingSetLock;\n/* off 0x00ec */\tunsigned long\tWorkingSetPage;\n/* off 0x00f0 */\tstruct _FAST_MUTEX\tAddressCreationLock;\n/* off 0x0110 */\tunsigned long\tHyperSpaceLock;\n/* off 0x0114 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x0118 */\tunsigned long\tHardwareTrigger;\n/* off 0x011c */\tvoid*\tVadRoot;\n/* off 0x0120 */\tvoid*\tVadHint;\n/* off 0x0124 */\tvoid*\tCloneRoot;\n/* off 0x0128 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x012c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0130 */\tvoid*\tWin32Process;\n/* off 0x0134 */\tstruct _EJOB*\tJob;\n/* off 0x0138 */\tvoid*\tSectionObject;\n/* off 0x013c */\tvoid*\tSectionBaseAddress;\n/* off 0x0140 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0144 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0148 */\tvoid*\tWin32WindowStation;\n/* off 0x014c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0150 */\tvoid*\tLdtInformation;\n/* off 0x0154 */\tvoid*\tVadFreeHint;\n/* off 0x0158 */\tvoid*\tVdmObjects;\n/* off 0x015c */\tvoid*\tDeviceMap;\n/* off 0x0160 */\tstruct _LIST_ENTRY\tPhysicalVadList;\nunion\n{\n/* off 0x0168 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0168 */\tunsigned __int64\tFiller;\n};\n/* off 0x0170 */\tvoid*\tSession;\n/* off 0x0174 */\tunsigned char ImageFileName[16];\n/* off 0x0184 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x018c */\tvoid*\tLockedPagesList;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0198 */\tvoid*\tSecurityPort;\n/* off 0x019c */\tvoid*\tPaeTop;\n/* off 0x01a0 */\tunsigned long\tActiveThreads;\n/* off 0x01a4 */\tunsigned long\tGrantedAccess;\n/* off 0x01a8 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01ac */\tlong\tLastThreadExitStatus;\n/* off 0x01b0 */\tstruct _PEB*\tPeb;\n/* off 0x01b4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01ec */\tunsigned long\tCommitChargePeak;\n/* off 0x01f0 */\tvoid*\tAweInfo;\n/* off 0x01f4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0238 */\tunsigned long\tLastFaultCount;\n/* off 0x023c */\tunsigned long\tModifiedPageCount;\n/* off 0x0240 */\tunsigned long\tNumberOfVads;\n/* off 0x0244 */\tunsigned long\tJobStatus;\nunion\n{\n/* off 0x0248 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0248 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0248 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0248 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0248 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0248 */\tunsigned long\tHasPhysicalVad:1\t /* start bit 9 */;\n/* off 0x0248 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0248 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0248 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0248 */\tunsigned long\tSessionCreationUnderway:1\t /* start bit 14 */;\n/* off 0x0248 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0248 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0248 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0248 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0248 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0248 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0248 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0248 */\tunsigned long\tUnused3:1\t /* start bit 22 */;\n/* off 0x0248 */\tunsigned long\tUnused4:1\t /* start bit 23 */;\n/* off 0x0248 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0248 */\tunsigned long\tUnused:5\t /* start bit 25 */;\n/* off 0x0248 */\tunsigned long\tUnused1:1\t /* start bit 30 */;\n/* off 0x0248 */\tunsigned long\tUnused2:1\t /* start bit 31 */;\n};\n};\n/* off 0x024c */\tlong\tExitStatus;\n/* off 0x0250 */\tunsigned short\tNextPageColor;\nunion\n{\nstruct\n{\n/* off 0x0252 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0253 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0252 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0254 */\tunsigned char\tPriorityClass;\n/* off 0x0255 */\tunsigned char\tWorkingSetAcquiredUnsafe;\n/* off 0x0258 */\tunsigned long\tCookie;\n};\nstruct _HANDLE_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK HandleTableLock[4];\n/* off 0x001c */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x0028 */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x002c */\tlong\tExtraInfoPages;\n/* off 0x0030 */\tunsigned long\tFirstFree;\n/* off 0x0034 */\tunsigned long\tLastFree;\n/* off 0x0038 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x003c */\tlong\tHandleCount;\nunion\n{\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0040 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00050004 327684 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentStackIndex;\n/* off 0x0004 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[4096];\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY OwnerThreads[2];\n/* off 0x0028 */\tunsigned long\tContentionCount;\n/* off 0x002c */\tunsigned short\tNumberOfSharedWaiters;\n/* off 0x002e */\tunsigned short\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nstruct _IO_COUNTERS /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tReadOperationCount;\n/* off 0x0008 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x0010 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x0018 */\tunsigned __int64\tReadTransferCount;\n/* off 0x0020 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0028 */\tunsigned __int64\tOtherTransferCount;\n};\nstruct _EJOB /* sizeof 00000180 384 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b4 */\tunsigned long\tSecurityLimitFlags;\n/* off 0x00b8 */\tvoid*\tToken;\n/* off 0x00bc */\tstruct _PS_JOB_TOKEN_FILTER*\tFilter;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tstruct _IO_COUNTERS\tIoInfo;\n/* off 0x0138 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x013c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0140 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0144 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0148 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x014c */\tstruct _FAST_MUTEX\tMemoryLimitsLock;\n/* off 0x016c */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0174 */\tunsigned long\tMemberLevel;\n/* off 0x0178 */\tunsigned long\tJobFlags;\n};\nstruct _PS_JOB_TOKEN_FILTER /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCapturedSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedSids;\n/* off 0x0008 */\tunsigned long\tCapturedSidsLength;\n/* off 0x000c */\tunsigned long\tCapturedGroupCount;\n/* off 0x0010 */\tstruct _SID_AND_ATTRIBUTES*\tCapturedGroups;\n/* off 0x0014 */\tunsigned long\tCapturedGroupsLength;\n/* off 0x0018 */\tunsigned long\tCapturedPrivilegeCount;\n/* off 0x001c */\tstruct _LUID_AND_ATTRIBUTES*\tCapturedPrivileges;\n/* off 0x0020 */\tunsigned long\tCapturedPrivilegesLength;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _EPROCESS_QUOTA_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tUsage;\n/* off 0x0004 */\tunsigned long\tLimit;\n/* off 0x0008 */\tunsigned long\tPeak;\n/* off 0x000c */\tunsigned long\tReturn;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _EPROCESS_QUOTA_ENTRY QuotaEntry[3];\n/* off 0x0030 */\tstruct _LIST_ENTRY\tQuotaList;\n/* off 0x0038 */\tunsigned long\tReferenceCount;\n/* off 0x003c */\tunsigned long\tProcessCount;\n};\nstruct _PROCESS_WS_WATCH_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tFaultingPc;\n/* off 0x0004 */\tvoid*\tFaultingVa;\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tCurrentIndex;\n/* off 0x0004 */\tunsigned long\tMaxIndex;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tvoid*\tReserved;\n/* off 0x0010 */\tstruct _PROCESS_WS_WATCH_INFORMATION WatchInfo[1];\n};\nstruct _PEB /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\n/* off 0x0003 */\tunsigned char\tSpareBool;\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tFastPebLockRoutine;\n/* off 0x0024 */\tvoid*\tFastPebUnlockRoutine;\n/* off 0x0028 */\tunsigned long\tEnvironmentUpdateCount;\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tReadOnlySharedMemoryHeap;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tvoid*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tvoid*\tActivationContextData;\n/* off 0x01fc */\tvoid*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tvoid*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tvoid*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000290 656 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long Spare[2];\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000cfc 3324 */\n{\n/* off 0x0000 */\tunsigned long\tQuota;\n/* off 0x0004 */\tunsigned long\tFirstFree;\n/* off 0x0008 */\tunsigned long\tFirstDynamic;\n/* off 0x000c */\tunsigned long\tLastEntry;\n/* off 0x0010 */\tunsigned long\tNextSlot;\n/* off 0x0014 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNonDirectCount;\n/* off 0x0020 */\tstruct _MMWSLE_HASH*\tHashTable;\n/* off 0x0024 */\tunsigned long\tHashTableSize;\n/* off 0x0028 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x002c */\tvoid*\tHashTableStart;\n/* off 0x0030 */\tvoid*\tHighestPermittedHashAddress;\n/* off 0x0034 */\tunsigned long\tNumberOfImageWaiters;\n/* off 0x0038 */\tunsigned long\tVadBitMapHint;\n/* off 0x003c */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c3c */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n};\nstruct _MMWSLE_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct __unnamed\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\tstruct __unnamed\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\tstruct __unnamed\tTail;\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject;\n/* off 0x0003 */\tunsigned char\tCaseInsensitive;\n/* off 0x0004 */\tunsigned long\tInvalidAttributes;\n/* off 0x0008 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0018 */\tunsigned long\tValidAccessMask;\n/* off 0x001c */\tunsigned char\tSecurityRequired;\n/* off 0x001d */\tunsigned char\tMaintainHandleCount;\n/* off 0x001e */\tunsigned char\tMaintainTypeList;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x0034 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0044 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*);\n/* off 0x0048 */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000190 400 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _ERESOURCE ObjectLocks[4];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\tstruct __unnamed\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWritable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\tstruct __unnamed\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _VACB /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\tstruct __unnamed\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tAvailable:14\t /* start bit 18 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tstruct _EX_PUSH_LOCK\tVacbPushLock;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n};\nstruct _HEAP /* sizeof 00000588 1416 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tForceFlags;\n/* off 0x0014 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0018 */\tunsigned long\tSegmentReserve;\n/* off 0x001c */\tunsigned long\tSegmentCommit;\n/* off 0x0020 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0024 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0028 */\tunsigned long\tTotalFreeSize;\n/* off 0x002c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0030 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0032 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0034 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0038 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x003a */\tunsigned short\tMaximumTagIndex;\n/* off 0x003c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0040 */\tstruct _HEAP_UCR_SEGMENT*\tUCRSegments;\n/* off 0x0044 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnusedUnCommittedRanges;\n/* off 0x0048 */\tunsigned long\tAlignRound;\n/* off 0x004c */\tunsigned long\tAlignMask;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x0058 */\tstruct _HEAP_SEGMENT* Segments[64];\n/* off 0x0158 */\tstruct __unnamed\tu;\n/* off 0x0168 */\tstruct __unnamed\tu2;\n/* off 0x016a */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x016c */\tunsigned long\tNonDedicatedListLength;\n/* off 0x0170 */\tvoid*\tLargeBlocksIndex;\n/* off 0x0174 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x0178 */\tstruct _LIST_ENTRY FreeLists[128];\n/* off 0x0578 */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x057c */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x0580 */\tvoid*\tFrontEndHeap;\n/* off 0x0584 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x0586 */\tunsigned char\tFrontEndHeapType;\n/* off 0x0587 */\tunsigned char\tLastSegmentIndex;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\tunsigned short TagName[24];\n};\nstruct _HEAP_UCR_SEGMENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UCR_SEGMENT*\tNext;\n/* off 0x0004 */\tunsigned long\tReservedSize;\n/* off 0x0008 */\tunsigned long\tCommittedSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_UNCOMMMTTED_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tAddress;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tfiller;\n};\nstruct _HEAP_SEGMENT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _HEAP*\tHeap;\n/* off 0x0014 */\tunsigned long\tLargestUnCommittedRange;\n/* off 0x0018 */\tvoid*\tBaseAddress;\n/* off 0x001c */\tunsigned long\tNumberOfPages;\n/* off 0x0020 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x0028 */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0030 */\tstruct _HEAP_UNCOMMMTTED_RANGE*\tUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _HEAP_ENTRY*\tLastEntryInSegment;\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct __unnamed\tLock;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBucket;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFreeThreshold;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tHeapHandle;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLRUViewList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinViewList;\n/* off 0x0010 */\tunsigned long\tFileOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long*\tViewAddress;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tunsigned long\tUseCount;\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcessBilled;\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tvoid*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 00000110 272 */\n{\n/* off 0x0000 */\tunsigned long Nodes[2];\n/* off 0x0008 */\tunsigned long Resources[2];\n/* off 0x0010 */\tunsigned long Threads[2];\n/* off 0x0018 */\t__int64\tTimeAcquire;\n/* off 0x0020 */\t__int64\tTimeRelease;\n/* off 0x0028 */\tunsigned long\tBytesAllocated;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0030 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x0034 */\tunsigned long\tAllocationFailures;\n/* off 0x0038 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x003c */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x0040 */\tunsigned long\tNodesSearched;\n/* off 0x0044 */\tunsigned long\tMaxNodesSearched;\n/* off 0x0048 */\tunsigned long\tSequenceNumber;\n/* off 0x004c */\tunsigned long\tRecursionDepthLimit;\n/* off 0x0050 */\tunsigned long\tSearchedNodesLimit;\n/* off 0x0054 */\tunsigned long\tDepthLimitHits;\n/* off 0x0058 */\tunsigned long\tSearchLimitHits;\n/* off 0x005c */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tFreeResourceList;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tFreeThreadList;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tFreeNodeList;\n/* off 0x0078 */\tunsigned long\tFreeResourceCount;\n/* off 0x007c */\tunsigned long\tFreeThreadCount;\n/* off 0x0080 */\tunsigned long\tFreeNodeCount;\n/* off 0x0084 */\tvoid*\tInstigator;\n/* off 0x0088 */\tunsigned long\tNumberOfParticipants;\n/* off 0x008c */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x010c */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\tunsigned long\tActive:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tSequenceNumber:30\t /* start bit 2 */;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockFastMutex\t=0x00000002\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000003\t,//0\n\tVfDeadlockSpinLock\t=0x00000004\t,//0\n\tVfDeadlockQueuedSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nenum _PF_SCENARIO_TYPE\n{\n\tPfApplicationLaunchScenarioType\t=0x00000000\t,//0\n\tPfSystemBootScenarioType\t=0x00000001\t,//0\n\tPfMaxScenarioType\t=0x00000002\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _LARGE_CONTROL_AREA*\tLargeControlArea;\n/* off 0x0024 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0028 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _CONTROL_AREA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n};\nstruct _SEGMENT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tWritableUserReferences;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\n/* off 0x0018 */\tstruct _MMPTE\tSegmentPteTemplate;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0024 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0028 */\tvoid*\tSystemImageBase;\n/* off 0x002c */\tvoid*\tBasedAddress;\n/* off 0x0030 */\tstruct __unnamed\tu1;\n/* off 0x0034 */\tstruct __unnamed\tu2;\n/* off 0x0038 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0040 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _EVENT_COUNTER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tRefCount;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tStartingSector;\n/* off 0x000c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0010 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0014 */\tunsigned long\tUnusedPtes;\n/* off 0x0018 */\tunsigned long\tPtesInSubsection;\n/* off 0x001c */\tstruct _SUBSECTION*\tNextSubsection;\n};\nstruct _LARGE_CONTROL_AREA /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned short\tNumberOfSubsections;\n/* off 0x001a */\tunsigned short\tFlushInProgressCount;\n/* off 0x001c */\tunsigned long\tNumberOfUserReferences;\n/* off 0x0020 */\tstruct __unnamed\tu;\n/* off 0x0024 */\tstruct _FILE_OBJECT*\tFilePointer;\n/* off 0x0028 */\tstruct _EVENT_COUNTER*\tWaitingForDeletion;\n/* off 0x002c */\tunsigned short\tModifiedWriteCount;\n/* off 0x002e */\tunsigned short\tNumberOfSystemCacheViews;\n/* off 0x0030 */\tunsigned long\tStartingFrame;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tUserGlobalList;\n/* off 0x003c */\tunsigned long\tSessionId;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tNoCache:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tFloppyMedia:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tDebugSymbolsLoaded:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tHadUserReference:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tImageMappedInSystemSpace:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tfiller:2\t /* start bit 30 */;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tReadWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tSubsectionStatic:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tLargePages:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tStartingSector4132:10\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tSectorEndOffset:12\t /* start bit 20 */;\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _WMI_LOGGER_MODE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSequentialFile:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCircularFile:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tAppendFile:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tUnused1:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tRealTime:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDelayOpenFile:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tBufferOnly:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tPrivateLogger:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tAddHeader:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tUseExisting:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tUseGlobalSequence:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tUseLocalSequence:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tUnused2:16\t /* start bit 16 */;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _TRACE_ENABLE_FLAG_EXTENSION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned char\tLength;\n/* off 0x0003 */\tunsigned char\tFlag;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 000001c8 456 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSpinLock;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0010 */\tvoid*\tLogFileHandle;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tLoggerSemaphore;\n/* off 0x0028 */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x002c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x003c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x004c */\tlong\tLoggerStatus;\n/* off 0x0050 */\tunsigned long\tLoggerId;\n/* off 0x0054 */\tlong\tBuffersAvailable;\n/* off 0x0058 */\tunsigned long\tUsePerfClock;\n/* off 0x005c */\tunsigned long\tWriteFailureLimit;\n/* off 0x0060 */\tunsigned long\tBuffersDirty;\n/* off 0x0064 */\tunsigned long\tBuffersInUse;\n/* off 0x0068 */\tunsigned long\tSwitchingInProgress;\n/* off 0x0070 */\tunion _SLIST_HEADER\tFreeList;\n/* off 0x0078 */\tunion _SLIST_HEADER\tFlushList;\n/* off 0x0080 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0088 */\tunion _SLIST_HEADER*\tProcessorBuffers;\n/* off 0x008c */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x009c */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x00a4 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x00ac */\tunsigned char*\tEndPageMarker;\n/* off 0x00b0 */\tlong\tCollectionOn;\n/* off 0x00b4 */\tunsigned long\tKernelTraceOn;\n/* off 0x00b8 */\tlong\tPerfLogInTransition;\n/* off 0x00bc */\tunsigned long\tRequestFlag;\n/* off 0x00c0 */\tunsigned long\tEnableFlags;\n/* off 0x00c4 */\tunsigned long\tMaximumFileSize;\nunion\n{\n/* off 0x00c8 */\tunsigned long\tLoggerMode;\n/* off 0x00c8 */\tstruct _WMI_LOGGER_MODE\tLoggerModeFlags;\n};\n/* off 0x00cc */\tunsigned long\tLastFlushedBuffer;\n/* off 0x00d0 */\tunsigned long\tRefCount;\n/* off 0x00d4 */\tunsigned long\tFlushTimer;\n/* off 0x00d8 */\tunion _LARGE_INTEGER\tFirstBufferOffset;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tBufferAgeLimit;\n/* off 0x00f0 */\tunsigned long\tMaximumBuffers;\n/* off 0x00f4 */\tunsigned long\tMinimumBuffers;\n/* off 0x00f8 */\tunsigned long\tEventsLost;\n/* off 0x00fc */\tunsigned long\tBuffersWritten;\n/* off 0x0100 */\tunsigned long\tLogBuffersLost;\n/* off 0x0104 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x0108 */\tunsigned long\tBufferSize;\n/* off 0x010c */\tlong\tNumberOfBuffers;\n/* off 0x0110 */\tlong*\tSequencePtr;\n/* off 0x0114 */\tstruct _GUID\tInstanceGuid;\n/* off 0x0124 */\tvoid*\tLoggerHeader;\n/* off 0x0128 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x012c */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x0168 */\tvoid*\tLoggerExtension;\n/* off 0x016c */\tlong\tReleaseQueue;\n/* off 0x0170 */\tstruct _TRACE_ENABLE_FLAG_EXTENSION\tEnableFlagExtension;\n/* off 0x0174 */\tunsigned long\tLocalSequence;\n/* off 0x0178 */\tunsigned long\tMaximumIrql;\n/* off 0x017c */\tunsigned long*\tEnableFlagArray;\n/* off 0x0180 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01a0 */\tlong\tMutexCount;\n/* off 0x01a4 */\tunsigned long\tFileCounter;\n/* off 0x01a8 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x01ac */\tvoid*\tCallbackContext;\n/* off 0x01b0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tReferenceSystemTime;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tReferenceTimeStamp;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _WMI_CLIENT_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFree:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tInUse:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tFlush:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tUnused:29\t /* start bit 3 */;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tReserved2;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tReserved3;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tvoid*\tAlignment;\n/* off 0x001c */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n};\nstruct\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tEntry;\n};\nstruct\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tunsigned long\tUsePerfClock;\n};\n};\n};\nstruct\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n};\n};\nstruct\n{\n/* off 0x0018 */\tstruct _GUID\tGuid;\n};\n};\n/* off 0x0028 */\tstruct _WMI_CLIENT_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tstruct _WMI_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned long\tEventsLost;\nunion\n{\n/* off 0x0038 */\tstruct _GUID\tInstanceGuid;\nstruct\n{\n/* off 0x0038 */\tvoid*\tLoggerContext;\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\n};\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long Reserved[2];\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short*\tName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0014 */\tunsigned char\tThreadFinished;\n/* off 0x0015 */\tunsigned char\tThreadStarted;\n/* off 0x0016 */\tunsigned char\tAllocate;\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _DUAL /* sizeof 000000dc 220 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _RTL_BITMAP FreeDisplay[24];\n/* off 0x00d0 */\tunsigned long\tFreeSummary;\n/* off 0x00d4 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned char\tRealWrites;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tLog;\n/* off 0x0044 */\tunsigned long\tHiveFlags;\n/* off 0x0048 */\tunsigned long\tLogSize;\n/* off 0x004c */\tunsigned long\tRefreshCount;\n/* off 0x0050 */\tunsigned long\tStorageTypeCount;\n/* off 0x0054 */\tunsigned long\tVersion;\n/* off 0x0058 */\tstruct _DUAL Storage[2];\n};\nstruct _CMHIVE /* sizeof 0000049c 1180 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x0210 */\tvoid* FileHandles[3];\n/* off 0x021c */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x022c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0230 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0234 */\tstruct _LIST_ENTRY\tLRUViewListHead;\n/* off 0x023c */\tstruct _LIST_ENTRY\tPinViewListHead;\n/* off 0x0244 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0248 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0250 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0258 */\tunsigned short\tMappedViews;\n/* off 0x025a */\tunsigned short\tPinnedViews;\n/* off 0x025c */\tunsigned long\tUseCount;\n/* off 0x0260 */\tunsigned long\tSecurityCount;\n/* off 0x0264 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0268 */\tlong\tSecurityHitHint;\n/* off 0x026c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0270 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0470 */\tstruct _KEVENT*\tUnloadEvent;\n/* off 0x0474 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x0478 */\tunsigned char\tFrozen;\n/* off 0x047c */\tstruct _WORK_QUEUE_ITEM*\tUnloadWorkItem;\n/* off 0x0480 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0484 */\tunsigned long\tGrowOffset;\n/* off 0x0488 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0490 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0498 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\tunsigned short Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\tunsigned short Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\tunsigned short KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tunsigned long Reserved1[99];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[894];\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0040 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0042 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0044 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0048 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0048 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0048 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0048 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\tunsigned short Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\tunsigned short Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _DEVICE_NODE /* sizeof 00000118 280 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x0018 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x001c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0020 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x0070 */\tunsigned long\tStateHistoryEntry;\n/* off 0x0074 */\tlong\tCompletionStatus;\n/* off 0x0078 */\tstruct _IRP*\tPendingIrp;\n/* off 0x007c */\tunsigned long\tFlags;\n/* off 0x0080 */\tunsigned long\tUserFlags;\n/* off 0x0084 */\tunsigned long\tProblem;\n/* off 0x0088 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x008c */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x0090 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x0094 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x009c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00a4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00a8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00ac */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00b0 */\tunsigned long\tBusNumber;\n/* off 0x00b4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00b8 */\tunsigned long\tChildBusNumber;\n/* off 0x00bc */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00be */\tunsigned char\tRemovalPolicy;\n/* off 0x00bf */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00c0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x00d8 */\tunsigned short\tNoTranslatorMask;\n/* off 0x00da */\tunsigned short\tQueryTranslatorMask;\n/* off 0x00dc */\tunsigned short\tNoArbiterMask;\n/* off 0x00de */\tunsigned short\tQueryArbiterMask;\n/* off 0x00e0 */\tstruct __unnamed\tOverUsed1;\n/* off 0x00e4 */\tstruct __unnamed\tOverUsed2;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x00ec */\tunsigned long\tCapabilityFlags;\n/* off 0x00f0 */\tstruct __unnamed\tDockInfo;\n/* off 0x0100 */\tunsigned long\tDisableableDepends;\n/* off 0x0104 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x010c */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0114 */\tunsigned long\tDriverUnloadRetryCount;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tWakeNeeded;\n/* off 0x000d */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tvoid*\tNode;\n/* off 0x0018 */\tunsigned short*\tDeviceName;\n/* off 0x001c */\tunsigned short*\tDriverName;\n/* off 0x0020 */\tunsigned long\tChildCount;\n/* off 0x0024 */\tunsigned long\tActiveChild;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tstruct __unnamed\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\tstruct __unnamed\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00000d70 3440 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tDebugActive;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nstruct _MMCOLOR_TABLES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tvoid*\tBlink;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tstruct __unnamed\tu2;\n/* off 0x000c */\tstruct __unnamed\tu3;\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0018 */\tstruct __unnamed\tu4;\n};\nstruct _MMPFNENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tModified:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadInProgress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWriteInProgress:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPageColor:3\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tParityError:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tPageLocation:3\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tRemovalRequested:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tCacheAttribute:2\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tRom:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tLockCharged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 16 */;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP*\tPagedPoolAllocationMap;\n/* off 0x0004 */\tstruct _RTL_BITMAP*\tEndOfPagedPoolBitmap;\n/* off 0x0008 */\tstruct _RTL_BITMAP*\tPagedPoolLargeSessionAllocationMap;\n/* off 0x000c */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x0010 */\tstruct _MMPTE*\tLastPteForPagedPool;\n/* off 0x0014 */\tstruct _MMPTE*\tNextPdeForPagedPoolExpansion;\n/* off 0x0018 */\tunsigned long\tPagedPoolHint;\n/* off 0x001c */\tunsigned long\tPagedPoolCommit;\n/* off 0x0020 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MMSESSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _FAST_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _FAST_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tchar*\tSystemSpaceViewStart;\n/* off 0x0028 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0034 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0038 */\tstruct _RTL_BITMAP*\tSystemSpaceBitMap;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001028 4136 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tunsigned long\tRunningAllocs;\n/* off 0x000c */\tunsigned long\tRunningDeAllocs;\n/* off 0x0010 */\tunsigned long\tTotalPages;\n/* off 0x0014 */\tunsigned long\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid*\tPendingFrees;\n/* off 0x0024 */\tlong\tPendingFreeDepth;\n/* off 0x0028 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001278 4728 */\n{\n/* off 0x0000 */\tunsigned long\tReferenceCount;\n/* off 0x0004 */\tstruct __unnamed\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0010 */\tstruct _MM_SESSION_SPACE*\tGlobalVirtualAddress;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x001c */\tunsigned long\tNonPagedPoolBytes;\n/* off 0x0020 */\tunsigned long\tPagedPoolBytes;\n/* off 0x0024 */\tunsigned long\tNonPagedPoolAllocations;\n/* off 0x0028 */\tunsigned long\tPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tNonPagablePages;\n/* off 0x0030 */\tunsigned long\tCommittedPages;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0040 */\tstruct _MMPTE*\tPageTables;\n/* off 0x0044 */\tstruct _FAST_MUTEX\tPagedPoolMutex;\n/* off 0x0064 */\tvoid*\tPagedPoolStart;\n/* off 0x0068 */\tvoid*\tPagedPoolEnd;\n/* off 0x006c */\tstruct _MMPTE*\tPagedPoolBasePde;\n/* off 0x0070 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0094 */\tunsigned long\tColor;\n/* off 0x0098 */\tunsigned long\tProcessOutSwapCount;\n/* off 0x009c */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x00a4 */\tstruct _MMPTE*\tGlobalPteEntry;\n/* off 0x00a8 */\tunsigned long\tCopyOnWriteCount;\n/* off 0x00ac */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x00bc */\tunsigned long\tAttachCount;\n/* off 0x00c0 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x00d0 */\tstruct _EPROCESS*\tLastProcess;\n/* off 0x00d8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0118 */\tstruct _MMWSLE*\tWsle;\n/* off 0x011c */\tstruct _ERESOURCE\tWsLock;\n/* off 0x0154 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x015c */\tstruct _MMSESSION\tSession;\n/* off 0x0198 */\tstruct _DRIVER_OBJECT\tWin32KDriverObject;\n/* off 0x0240 */\tstruct _ETHREAD*\tWorkingSetLockOwner;\n/* off 0x0244 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x126c */\tlong\tProcessReferenceToSession;\n/* off 0x1270 */\tunsigned long\tLocaleId;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tFiller0:3\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHasWsLock:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tFiller:26\t /* start bit 6 */;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tPreviousSize;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\n};\n};\n/* off 0x0004 */\tunsigned char\tSmallTagIndex;\n/* off 0x0005 */\tunsigned char\tFlags;\n/* off 0x0006 */\tunsigned char\tUnusedBytes;\n/* off 0x0007 */\tunsigned char\tSegmentIndex;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\tstruct __unnamed\tData;\n};\nenum CPU_VENDORS\n{\n\tCPU_NONE\t=0x00000000\t,//0\n\tCPU_INTEL\t=0x00000001\t,//0\n\tCPU_AMD\t=0x00000002\t,//0\n\tCPU_CYRIX\t=0x00000003\t,//0\n\tCPU_TRANSMETA\t=0x00000004\t,//0\n\tCPU_CENTAUR\t=0x00000005\t,//0\n\tCPU_RISE\t=0x00000006\t,//0\n\tCPU_UNKNOWN\t=0x00000007\t,//0\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char Spare[3];\nunion\n{\n/* off 0x0008 */\tstruct __unnamed\tBattery;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x007c */\tstruct _IRP*\tIrp;\n/* off 0x0080 */\tstruct _THERMAL_INFORMATION\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000003\t,//0\n\tPolicySetPowerStateAPI\t=0x00000004\t,//0\n\tPolicyImmediateDozeS4\t=0x00000005\t,//0\n\tPolicySystemIdle\t=0x00000006\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nstruct _PROCESSOR_POWER_POLICY_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned long\tDemoteLimit;\n/* off 0x0008 */\tunsigned long\tPromoteLimit;\n/* off 0x000c */\tunsigned char\tDemotePercent;\n/* off 0x000d */\tunsigned char\tPromotePercent;\n/* off 0x000e */\tunsigned char Spare[2];\n/* off 0x0010 */\tunsigned long\tAllowDemotion:1\t /* start bit 0 */;\n/* off 0x0010 */\tunsigned long\tAllowPromotion:1\t /* start bit 1 */;\n/* off 0x0010 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n};\nstruct _PROCESSOR_POWER_POLICY /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tDynamicThrottle;\n/* off 0x0005 */\tunsigned char Spare[3];\n/* off 0x0008 */\tunsigned long\tDisableCStates:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x000c */\tunsigned long\tPolicyCount;\n/* off 0x0010 */\tstruct _PROCESSOR_POWER_POLICY_INFO Policy[3];\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\tunsigned short Name[1];\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tSpare6\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tMaximumWaitReason\t=0x0000001b\t,//0\n};\nstruct _MMFREE_POOL_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tSignature;\n/* off 0x0010 */\tstruct _MMFREE_POOL_ENTRY*\tOwner;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _KUSER_SHARED_DATA /* sizeof 00000338 824 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLow;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\tunsigned short NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long Reserved2[8];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\n/* off 0x02f0 */\tunsigned long\tTraceLogging;\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _MMVAD_LONG /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n/* off 0x0028 */\tstruct __unnamed\tu3;\n/* off 0x0030 */\tstruct __unnamed\tu4;\n};\nstruct _MMVAD /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x0020 */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0024 */\tstruct __unnamed\tu2;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPhysicalMapping:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tImageMap:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tUserPhysicalPages:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tWriteWatch:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tReadOnly:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartVpn;\n/* off 0x0004 */\tunsigned long\tEndVpn;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tNumberOfPages;\n};\nstruct _PCI_SLOT_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu;\n};\nstruct PCI_POWER_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0004 */\tenum _DEVICE_POWER_STATE\tCurrentDeviceState;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tSystemWakeLevel;\n/* off 0x000c */\tenum _DEVICE_POWER_STATE\tDeviceWakeLevel;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE SystemStateMapping[7];\n/* off 0x002c */\tstruct _IRP*\tWaitWakeIrp;\n/* off 0x0030 */\tvoid( __stdcall *SavedCancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tlong\tPaging;\n/* off 0x0038 */\tlong\tHibernate;\n/* off 0x003c */\tlong\tCrashDump;\n};\nunion PCI_HEADER_TYPE_DEPENDENT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct __unnamed\ttype0;\n/* off 0x0000 */\tstruct __unnamed\ttype1;\n/* off 0x0000 */\tstruct __unnamed\ttype2;\n};\nstruct _PCI_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAtom;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n};\nstruct _PM_SUPPORT /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRsvd2:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tD1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tD2:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPMED0:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tPMED1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tPMED2:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tPMED3Hot:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tPMED3Cold:1\t /* start bit 7 */;\n};\nstruct _PCI_PMC /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tVersion:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tPMEClock:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tRsvd1:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tDeviceSpecificInitialization:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tRsvd2:2\t /* start bit 6 */;\n/* off 0x0001 */\tstruct _PM_SUPPORT\tSupport;\n};\nstruct _PCI_PDO_EXTENSION /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PCI_PDO_EXTENSION*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _PCI_SLOT_NUMBER\tSlot;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0028 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x002c */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x0030 */\tunsigned long\tBusInterfaceReferenceCount;\n/* off 0x0034 */\tunsigned long\tAgpInterfaceReferenceCount;\n/* off 0x0038 */\tunsigned short\tVendorId;\n/* off 0x003a */\tunsigned short\tDeviceId;\n/* off 0x003c */\tunsigned short\tSubsystemVendorId;\n/* off 0x003e */\tunsigned short\tSubsystemId;\n/* off 0x0040 */\tunsigned char\tRevisionId;\n/* off 0x0041 */\tunsigned char\tProgIf;\n/* off 0x0042 */\tunsigned char\tSubClass;\n/* off 0x0043 */\tunsigned char\tBaseClass;\n/* off 0x0044 */\tunsigned char\tAdditionalResourceCount;\n/* off 0x0045 */\tunsigned char\tAdjustedInterruptLine;\n/* off 0x0046 */\tunsigned char\tInterruptPin;\n/* off 0x0047 */\tunsigned char\tRawInterruptLine;\n/* off 0x0048 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0049 */\tunsigned char\tSavedLatencyTimer;\n/* off 0x004a */\tunsigned char\tSavedCacheLineSize;\n/* off 0x004b */\tunsigned char\tHeaderType;\n/* off 0x004c */\tunsigned char\tNotPresent;\n/* off 0x004d */\tunsigned char\tReportedMissing;\n/* off 0x004e */\tunsigned char\tExpectedWritebackFailure;\n/* off 0x004f */\tunsigned char\tNoTouchPmeEnable;\n/* off 0x0050 */\tunsigned char\tLegacyDriver;\n/* off 0x0051 */\tunsigned char\tUpdateHardware;\n/* off 0x0052 */\tunsigned char\tMovedDevice;\n/* off 0x0053 */\tunsigned char\tDisablePowerDown;\n/* off 0x0054 */\tunsigned char\tNeedsHotPlugConfiguration;\n/* off 0x0055 */\tunsigned char\tSwitchedIDEToNativeMode;\n/* off 0x0056 */\tunsigned char\tBIOSAllowsIDESwitchToNativeMode;\n/* off 0x0057 */\tunsigned char\tIoSpaceUnderNativeIdeControl;\n/* off 0x0058 */\tunsigned char\tOnDebugPath;\n/* off 0x005c */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x009c */\tunion PCI_HEADER_TYPE_DEPENDENT\tDependent;\n/* off 0x00a0 */\tunsigned __int64\tHackFlags;\n/* off 0x00a8 */\tstruct PCI_FUNCTION_RESOURCES*\tResources;\n/* off 0x00ac */\tstruct _PCI_FDO_EXTENSION*\tBridgeFdoExtension;\n/* off 0x00b0 */\tstruct _PCI_PDO_EXTENSION*\tNextBridge;\n/* off 0x00b4 */\tstruct _PCI_PDO_EXTENSION*\tNextHashEntry;\n/* off 0x00b8 */\tstruct _PCI_LOCK\tLock;\n/* off 0x00c0 */\tstruct _PCI_PMC\tPowerCapabilities;\n/* off 0x00c2 */\tunsigned char\tTargetAgpCapabilityId;\n/* off 0x00c4 */\tunsigned short\tCommandEnables;\n/* off 0x00c6 */\tunsigned short\tInitialCommand;\n};\nenum PCI_SIGNATURE\n{\n\tPciPdoExtensionType\t=0x69635030\t,//0\n\tPciFdoExtensionType\t=0x69635031\t,//0\n\tPciArb_Io\t=0x69635032\t,//0\n\tPciArb_Memory\t=0x69635033\t,//0\n\tPciArb_Interrupt\t=0x69635034\t,//0\n\tPciArb_BusNumber\t=0x69635035\t,//0\n\tPciTrans_Interrupt\t=0x69635036\t,//0\n\tPciInterface_BusHandler\t=0x69635037\t,//0\n\tPciInterface_IntRouteHandler\t=0x69635038\t,//0\n\tPciInterface_PciCb\t=0x69635039\t,//0\n\tPciInterface_LegacyDeviceDetection\t=0x6963503a\t,//0\n\tPciInterface_PmeHandler\t=0x6963503b\t,//0\n\tPciInterface_DevicePresent\t=0x6963503c\t,//0\n\tPciInterface_NativeIde\t=0x6963503d\t,//0\n\tPciInterface_AgpTarget\t=0x6963503e\t,//0\n};\nstruct _PCI_MJ_DISPATCH_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tPnpIrpMaximumMinorFunction;\n/* off 0x0004 */\tstruct _PCI_MN_DISPATCH_TABLE*\tPnpIrpDispatchTable;\n/* off 0x0008 */\tunsigned long\tPowerIrpMaximumMinorFunction;\n/* off 0x000c */\tstruct _PCI_MN_DISPATCH_TABLE*\tPowerIrpDispatchTable;\n/* off 0x0010 */\tenum _PCI_DISPATCH_STYLE\tSystemControlIrpDispatchStyle;\n/* off 0x0014 */\tlong( __stdcall *SystemControlIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n/* off 0x0018 */\tenum _PCI_DISPATCH_STYLE\tOtherIrpDispatchStyle;\n/* off 0x001c */\tlong( __stdcall *OtherIrpDispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nstruct _PCI_MN_DISPATCH_TABLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum _PCI_DISPATCH_STYLE\tDispatchStyle;\n/* off 0x0004 */\tlong( __stdcall *DispatchFunction)(struct _IRP*,struct _IO_STACK_LOCATION*,struct _PCI_COMMON_EXTENSION*);\n};\nenum _PCI_DISPATCH_STYLE\n{\n\tIRP_COMPLETE\t=0x00000000\t,//0\n\tIRP_DOWNWARD\t=0x00000001\t,//0\n\tIRP_UPWARD\t=0x00000002\t,//0\n\tIRP_DISPATCH\t=0x00000003\t,//0\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\tstruct __unnamed\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _PCI_COMMON_EXTENSION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n};\nstruct _PCI_FDO_EXTENSION /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tstruct _PCI_MJ_DISPATCH_TABLE*\tIrpDispatchTable;\n/* off 0x000c */\tunsigned char\tDeviceState;\n/* off 0x000d */\tunsigned char\tTentativeNextState;\n/* off 0x0010 */\tstruct _KEVENT\tSecondaryExtLock;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0024 */\tstruct _DEVICE_OBJECT*\tFunctionalDeviceObject;\n/* off 0x0028 */\tstruct _DEVICE_OBJECT*\tAttachedDeviceObject;\n/* off 0x002c */\tstruct _KEVENT\tChildListLock;\n/* off 0x003c */\tstruct _PCI_PDO_EXTENSION*\tChildPdoList;\n/* off 0x0040 */\tstruct _PCI_FDO_EXTENSION*\tBusRootFdoExtension;\n/* off 0x0044 */\tstruct _PCI_FDO_EXTENSION*\tParentFdoExtension;\n/* off 0x0048 */\tstruct _PCI_PDO_EXTENSION*\tChildBridgePdoList;\n/* off 0x004c */\tstruct _PCI_BUS_INTERFACE_STANDARD*\tPciBusInterface;\n/* off 0x0050 */\tunsigned char\tMaxSubordinateBus;\n/* off 0x0054 */\tstruct _BUS_HANDLER*\tBusHandler;\n/* off 0x0058 */\tunsigned char\tBaseBus;\n/* off 0x0059 */\tunsigned char\tFake;\n/* off 0x005a */\tunsigned char\tChildDelete;\n/* off 0x005b */\tunsigned char\tScanned;\n/* off 0x005c */\tunsigned char\tArbitersInitialized;\n/* off 0x005d */\tunsigned char\tBrokenVideoHackApplied;\n/* off 0x005e */\tunsigned char\tHibernated;\n/* off 0x0060 */\tstruct PCI_POWER_STATE\tPowerState;\n/* off 0x00a0 */\tstruct _SINGLE_LIST_ENTRY\tSecondaryExtension;\n/* off 0x00a4 */\tunsigned long\tChildWaitWakeCount;\n/* off 0x00a8 */\tstruct _PCI_COMMON_CONFIG*\tPreservedConfig;\n/* off 0x00ac */\tstruct _PCI_LOCK\tLock;\n/* off 0x00b4 */\tstruct __unnamed\tHotPlugParameters;\n/* off 0x00bc */\tunsigned long\tBusHackFlags;\n};\nstruct _PCI_BUS_INTERFACE_STANDARD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ReadConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0014 */\tunsigned long( __stdcall *WriteConfig)(void*,unsigned char,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0018 */\tvoid( __stdcall *PinToLine)(void*,struct _PCI_COMMON_CONFIG*);\n/* off 0x001c */\tvoid( __stdcall *LineToPin)(void*,struct _PCI_COMMON_CONFIG*,struct _PCI_COMMON_CONFIG*);\n};\nstruct _PCI_COMMON_CONFIG /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned short\tCommand;\n/* off 0x0006 */\tunsigned short\tStatus;\n/* off 0x0008 */\tunsigned char\tRevisionID;\n/* off 0x0009 */\tunsigned char\tProgIf;\n/* off 0x000a */\tunsigned char\tSubClass;\n/* off 0x000b */\tunsigned char\tBaseClass;\n/* off 0x000c */\tunsigned char\tCacheLineSize;\n/* off 0x000d */\tunsigned char\tLatencyTimer;\n/* off 0x000e */\tunsigned char\tHeaderType;\n/* off 0x000f */\tunsigned char\tBIST;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0040 */\tunsigned char DeviceSpecific[192];\n};\nstruct _BUS_HANDLER /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tenum _BUS_DATA_TYPE\tConfigurationType;\n/* off 0x000c */\tunsigned long\tBusNumber;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tstruct _BUS_HANDLER*\tParentHandler;\n/* off 0x0018 */\tvoid*\tBusData;\n/* off 0x001c */\tunsigned long\tDeviceControlExtensionSize;\n/* off 0x0020 */\tstruct _SUPPORTED_RANGES*\tBusAddresses;\n/* off 0x0024 */\tunsigned long Reserved[4];\n/* off 0x0034 */\tunsigned long( __stdcall *GetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x0038 */\tunsigned long( __stdcall *SetBusData)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,void*,unsigned long,unsigned long);\n/* off 0x003c */\tlong( __stdcall *AdjustResourceList)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _IO_RESOURCE_REQUIREMENTS_LIST**);\n/* off 0x0040 */\tlong( __stdcall *AssignSlotResources)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,struct _UNICODE_STRING*,struct _UNICODE_STRING*,struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*,unsigned long,struct _CM_RESOURCE_LIST**);\n/* off 0x0044 */\tunsigned long( __stdcall *GetInterruptVector)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,unsigned long,unsigned long,unsigned char*,unsigned long*);\n/* off 0x0048 */\tunsigned char( __stdcall *TranslateBusAddress)(struct _BUS_HANDLER*,struct _BUS_HANDLER*,union _LARGE_INTEGER,unsigned long*,union _LARGE_INTEGER*);\n/* off 0x004c */\tvoid*\tSpare1;\n/* off 0x0050 */\tvoid*\tSpare2;\n/* off 0x0054 */\tvoid*\tSpare3;\n/* off 0x0058 */\tvoid*\tSpare4;\n/* off 0x005c */\tvoid*\tSpare5;\n/* off 0x0060 */\tvoid*\tSpare6;\n/* off 0x0064 */\tvoid*\tSpare7;\n/* off 0x0068 */\tvoid*\tSpare8;\n};\nenum _BUS_DATA_TYPE\n{\n\tConfigurationSpaceUndefined\t=0xffffffff\t,//-1\n\tCmos\t=0x00000000\t,//0\n\tEisaConfiguration\t=0x00000001\t,//0\n\tPos\t=0x00000002\t,//0\n\tCbusConfiguration\t=0x00000003\t,//0\n\tPCIConfiguration\t=0x00000004\t,//0\n\tVMEConfiguration\t=0x00000005\t,//0\n\tNuBusConfiguration\t=0x00000006\t,//0\n\tPCMCIAConfiguration\t=0x00000007\t,//0\n\tMPIConfiguration\t=0x00000008\t,//0\n\tMPSAConfiguration\t=0x00000009\t,//0\n\tPNPISAConfiguration\t=0x0000000a\t,//0\n\tSgiInternalConfiguration\t=0x0000000b\t,//0\n\tMaximumBusDataType\t=0x0000000c\t,//0\n};\nstruct _SUPPORTED_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _SUPPORTED_RANGE*\tNext;\n/* off 0x0004 */\tunsigned long\tSystemAddressSpace;\n/* off 0x0008 */\t__int64\tSystemBase;\n/* off 0x0010 */\t__int64\tBase;\n/* off 0x0018 */\t__int64\tLimit;\n};\nstruct _SUPPORTED_RANGES /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tSorted;\n/* off 0x0003 */\tunsigned char\tReserved;\n/* off 0x0004 */\tunsigned long\tNoIO;\n/* off 0x0008 */\tstruct _SUPPORTED_RANGE\tIO;\n/* off 0x0028 */\tunsigned long\tNoMemory;\n/* off 0x0030 */\tstruct _SUPPORTED_RANGE\tMemory;\n/* off 0x0050 */\tunsigned long\tNoPrefetchMemory;\n/* off 0x0058 */\tstruct _SUPPORTED_RANGE\tPrefetchMemory;\n/* off 0x0078 */\tunsigned long\tNoDma;\n/* off 0x0080 */\tstruct _SUPPORTED_RANGE\tDma;\n};\nstruct PCI_FUNCTION_RESOURCES /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _IO_RESOURCE_DESCRIPTOR Limit[7];\n/* off 0x00e0 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR Current[7];\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\tstruct __unnamed\tAllocated;\n/* off 0x0010 */\tstruct __unnamed\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _SYSPTES_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct __unnamed\tParameters;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\tstruct __unnamed\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tunsigned short\tReserved;\n/* off 0x00a2 */\tunsigned short\tSymbolicLinkUsageCount;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _KINTERRUPT /* sizeof 000001e4 484 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tvoid*\tServiceContext;\n/* off 0x0014 */\tunsigned long\tSpinLock;\n/* off 0x0018 */\tunsigned long\tTickCount;\n/* off 0x001c */\tunsigned long*\tActualLock;\n/* off 0x0020 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x0024 */\tunsigned long\tVector;\n/* off 0x0028 */\tunsigned char\tIrql;\n/* off 0x0029 */\tunsigned char\tSynchronizeIrql;\n/* off 0x002a */\tunsigned char\tFloatingSave;\n/* off 0x002b */\tunsigned char\tConnected;\n/* off 0x002c */\tchar\tNumber;\n/* off 0x002d */\tunsigned char\tShareVector;\n/* off 0x0030 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0034 */\tunsigned long\tServiceCount;\n/* off 0x0038 */\tunsigned long\tDispatchCount;\n/* off 0x003c */\tunsigned long DispatchCode[106];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nstruct PCI_SECONDARY_EXTENSION /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tList;\n/* off 0x0004 */\tenum PCI_SIGNATURE\tExtensionType;\n/* off 0x0008 */\tvoid( __stdcall *Destructor)(void*);\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 0000009c 156 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tint\tResourceType;\n/* off 0x0010 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x0018 */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0020 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x0028 */\tlong\tReferenceCount;\n/* off 0x002c */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0030 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0034 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x0038 */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned long*,unsigned long*);\n/* off 0x003c */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0040 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned long*);\n/* off 0x0044 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x0048 */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x004c */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0050 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0054 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x005c */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _LIST_ENTRY*);\n/* off 0x0060 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _DEVICE_OBJECT*,struct _IO_RESOURCE_DESCRIPTOR*,unsigned long*,struct _ARBITER_CONFLICT_INFO**);\n/* off 0x0064 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _IO_RESOURCE_DESCRIPTOR*,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0068 */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x006c */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0070 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char\tTransactionInProgress;\n/* off 0x008c */\tvoid*\tExtension;\n/* off 0x0090 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x0094 */\tvoid*\tConflictCallbackContext;\n/* off 0x0098 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n};\nstruct _PCI_ARBITER_INSTANCE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tstruct PCI_SECONDARY_EXTENSION\tHeader;\n/* off 0x000c */\tstruct _PCI_INTERFACE*\tInterface;\n/* off 0x0010 */\tstruct _PCI_FDO_EXTENSION*\tBusFdoExtension;\n/* off 0x0014 */\tunsigned short InstanceName[24];\n/* off 0x0044 */\tstruct _ARBITER_INSTANCE\tCommonInstance;\n};\nstruct _PCI_INTERFACE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n/* off 0x0004 */\tunsigned short\tMinSize;\n/* off 0x0006 */\tunsigned short\tMinVersion;\n/* off 0x0008 */\tunsigned short\tMaxVersion;\n/* off 0x000a */\tunsigned short\tFlags;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tenum PCI_SIGNATURE\tSignature;\n/* off 0x0014 */\tlong( __stdcall *Constructor)(void*,void*,void*,unsigned short,unsigned short,struct _INTERFACE*);\n/* off 0x0018 */\tlong( __stdcall *Initializer)(struct _PCI_ARBITER_INSTANCE*);\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned long\tLength;\n/* off 0x0014 */\tunsigned long\tAlignment;\n/* off 0x0018 */\tlong\tPriority;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x0024 */\tunsigned long Reserved[3];\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _MMPAGING_FILE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tCurrentUsage;\n/* off 0x0014 */\tunsigned long\tPeakUsage;\n/* off 0x0018 */\tunsigned long\tHint;\n/* off 0x001c */\tunsigned long\tHighestPage;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0028 */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x0038 */\tunsigned long\tPageFileNumber;\n/* off 0x003c */\tunsigned char\tExtended;\n/* off 0x003d */\tunsigned char\tHintSetToZero;\n/* off 0x003e */\tunsigned char\tBootPartition;\n/* off 0x0040 */\tvoid*\tFileHandle;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0010 */\tstruct __unnamed\tu;\n/* off 0x0018 */\tstruct _IRP*\tIrp;\n/* off 0x001c */\tunsigned long\tLastPageToWrite;\n/* off 0x0020 */\tstruct _MMMOD_WRITER_LISTHEAD*\tPagingListHead;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tCurrentList;\n/* off 0x0028 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x002c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0030 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0034 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0038 */\tstruct _MDL\tMdl;\n/* off 0x0054 */\tunsigned long Page[1];\n};\nstruct _MMMOD_WRITER_LISTHEAD /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nenum _MEMORY_TYPE\n{\n\tMemoryExceptionBlock\t=0x00000000\t,//0\n\tMemorySystemBlock\t=0x00000001\t,//0\n\tMemoryFree\t=0x00000002\t,//0\n\tMemoryBad\t=0x00000003\t,//0\n\tMemoryLoadedProgram\t=0x00000004\t,//0\n\tMemoryFirmwareTemporary\t=0x00000005\t,//0\n\tMemoryFirmwarePermanent\t=0x00000006\t,//0\n\tMemoryFreeContiguous\t=0x00000007\t,//0\n\tMemorySpecialMemory\t=0x00000008\t,//0\n\tMemoryMaximum\t=0x00000009\t,//0\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\n/* off 0x0023 */\tunsigned char\tSpare1;\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long Reserved[1];\n};\nstruct _POP_IDLE_HANDLER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tLatency;\n/* off 0x0004 */\tunsigned long\tTimeCheck;\n/* off 0x0008 */\tunsigned long\tDemoteLimit;\n/* off 0x000c */\tunsigned long\tPromoteLimit;\n/* off 0x0010 */\tunsigned long\tPromoteCount;\n/* off 0x0014 */\tunsigned char\tDemote;\n/* off 0x0015 */\tunsigned char\tPromote;\n/* off 0x0016 */\tunsigned char\tPromotePercent;\n/* off 0x0017 */\tunsigned char\tDemotePercent;\n/* off 0x0018 */\tunsigned char\tState;\n/* off 0x0019 */\tunsigned char Spare[3];\n/* off 0x001c */\tunsigned char( __fastcall *IdleFunction)(struct PROCESSOR_IDLE_TIMES*);\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char spare2[4];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _SEP_AUDIT_POLICY_CATEGORIES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSystem:4\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLogon:4\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tObjectAccess:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tPrivilegeUse:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDetailedTracking:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tPolicyChange:4\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tAccountManagement:4\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tDirectoryServiceAccess:4\t /* start bit 28 */;\n/* off 0x0004 */\tunsigned long\tAccountLogon:4\t /* start bit 0 */;\n};\nstruct _SEP_AUDIT_POLICY_OVERLAY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicyBits:36\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tSetBit:1\t /* start bit 36 */;\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_CATEGORIES\tPolicyElements;\n/* off 0x0000 */\tstruct _SEP_AUDIT_POLICY_OVERLAY\tPolicyOverlay;\n/* off 0x0000 */\tunsigned __int64\tOverlay;\n};\n};\nstruct _TOKEN /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0038 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0040 */\tstruct _LUID\tModifiedId;\n/* off 0x0048 */\tunsigned long\tSessionId;\n/* off 0x004c */\tunsigned long\tUserAndGroupCount;\n/* off 0x0050 */\tunsigned long\tRestrictedSidCount;\n/* off 0x0054 */\tunsigned long\tPrivilegeCount;\n/* off 0x0058 */\tunsigned long\tVariableLength;\n/* off 0x005c */\tunsigned long\tDynamicCharged;\n/* off 0x0060 */\tunsigned long\tDynamicAvailable;\n/* off 0x0064 */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0068 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x006c */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0070 */\tvoid*\tPrimaryGroup;\n/* off 0x0074 */\tstruct _LUID_AND_ATTRIBUTES*\tPrivileges;\n/* off 0x0078 */\tunsigned long*\tDynamicPart;\n/* off 0x007c */\tstruct _ACL*\tDefaultDacl;\n/* off 0x0080 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x0084 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0088 */\tunsigned long\tTokenFlags;\n/* off 0x008c */\tunsigned char\tTokenInUse;\n/* off 0x0090 */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x0094 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x0098 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00a0 */\tunsigned long\tVariablePart;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0008 */\tvoid*\tActiveFrame;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFrameListCache;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _Wx86ThreadState /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long*\tCallBx86Eip;\n/* off 0x0004 */\tvoid*\tDeallocationCpu;\n/* off 0x0008 */\tunsigned char\tUseKnownWx86Dll;\n/* off 0x0009 */\tchar\tOleStubInvoked;\n};\nstruct _TEB /* sizeof 00000fb8 4024 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK\tActivationContextStack;\n/* off 0x01bc */\tunsigned char SpareBytes1[24];\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\tunsigned short StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorsAreDisabled;\n/* off 0x0f2c */\tvoid* Instrumentation[16];\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tInDbgPrint;\n/* off 0x0f75 */\tunsigned char\tFreeStackOnTermination;\n/* off 0x0f76 */\tunsigned char\tHasFiberData;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tSpare3;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tstruct _Wx86ThreadState\tWx86Thread;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tunsigned char\tSafeThunkCall;\n/* off 0x0fb5 */\tunsigned char BooleanSpare[3];\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _PCI_HEADER_TYPE_0 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[6];\n/* off 0x0018 */\tunsigned long\tCIS;\n/* off 0x001c */\tunsigned short\tSubVendorID;\n/* off 0x001e */\tunsigned short\tSubSystemID;\n/* off 0x0020 */\tunsigned long\tROMBaseAddress;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tReserved2;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned char\tMinimumGrant;\n/* off 0x002f */\tunsigned char\tMaximumLatency;\n};\nstruct _PCI_HEADER_TYPE_1 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long BaseAddresses[2];\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tunsigned char\tIOBase;\n/* off 0x000d */\tunsigned char\tIOLimit;\n/* off 0x000e */\tunsigned short\tSecondaryStatus;\n/* off 0x0010 */\tunsigned short\tMemoryBase;\n/* off 0x0012 */\tunsigned short\tMemoryLimit;\n/* off 0x0014 */\tunsigned short\tPrefetchBase;\n/* off 0x0016 */\tunsigned short\tPrefetchLimit;\n/* off 0x0018 */\tunsigned long\tPrefetchBaseUpper32;\n/* off 0x001c */\tunsigned long\tPrefetchLimitUpper32;\n/* off 0x0020 */\tunsigned short\tIOBaseUpper16;\n/* off 0x0022 */\tunsigned short\tIOLimitUpper16;\n/* off 0x0024 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0025 */\tunsigned char Reserved1[3];\n/* off 0x0028 */\tunsigned long\tROMBaseAddress;\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _PCI_HEADER_TYPE_2 /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tSocketRegistersBaseAddress;\n/* off 0x0004 */\tunsigned char\tCapabilitiesPtr;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tSecondaryStatus;\n/* off 0x0008 */\tunsigned char\tPrimaryBus;\n/* off 0x0009 */\tunsigned char\tSecondaryBus;\n/* off 0x000a */\tunsigned char\tSubordinateBus;\n/* off 0x000b */\tunsigned char\tSecondaryLatency;\n/* off 0x000c */\tstruct __unnamed Range[4];\n/* off 0x002c */\tunsigned char\tInterruptLine;\n/* off 0x002d */\tunsigned char\tInterruptPin;\n/* off 0x002e */\tunsigned short\tBridgeControl;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tKey;\n/* off 0x0004 */\tunsigned long\tNonPagedAllocs;\n/* off 0x0008 */\tunsigned long\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nenum _PS_QUOTA_TYPE\n{\n\tPsNonPagedPool\t=0x00000000\t,//0\n\tPsPagedPool\t=0x00000001\t,//0\n\tPsPageFile\t=0x00000002\t,//0\n\tPsQuotaTypes\t=0x00000003\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nstruct _POP_POWER_ACTION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tunsigned char\tIrpMinor;\n/* off 0x0018 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x001c */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0020 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0024 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0028 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tLastWakeState;\n/* off 0x0030 */\tunsigned __int64\tWakeTime;\n/* off 0x0038 */\tunsigned __int64\tSleepTime;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tLevelReady;\n/* off 0x0010 */\tunsigned long\tDeviceCount;\n/* off 0x0014 */\tunsigned long\tActiveCount;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned long\tDevNodeSequence;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_POWER_IRP /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFree;\n/* off 0x0004 */\tstruct _IRP*\tIrp;\n/* off 0x0008 */\tstruct _PO_DEVICE_NOTIFY*\tNotify;\n/* off 0x000c */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tComplete;\n/* off 0x001c */\tstruct _LIST_ENTRY\tAbort;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tFailed;\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000620 1568 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tstruct _KEVENT\tEvent;\n/* off 0x0018 */\tunsigned long\tSpinLock;\n/* off 0x001c */\tstruct _KTHREAD*\tThread;\n/* off 0x0020 */\tunsigned char\tGetNewDeviceList;\n/* off 0x0024 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x026c */\tlong\tStatus;\n/* off 0x0270 */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0274 */\tunsigned char\tWaking;\n/* off 0x0275 */\tunsigned char\tCancelled;\n/* off 0x0276 */\tunsigned char\tIgnoreErrors;\n/* off 0x0277 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0278 */\tunsigned char\tWaitAny;\n/* off 0x0279 */\tunsigned char\tWaitAll;\n/* off 0x027c */\tstruct _LIST_ENTRY\tPresentIrpQueue;\n/* off 0x0284 */\tstruct _POP_DEVICE_POWER_IRP\tHead;\n/* off 0x02b0 */\tstruct _POP_DEVICE_POWER_IRP PowerIrpState[20];\n};\nstruct _PO_HIBER_PERF /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tLinkFile;\n/* off 0x0008 */\tvoid*\tLinkFileHandle;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tMapFrozen;\n/* off 0x0014 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x001c */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0024 */\tunsigned long\tClonedRangeCount;\n/* off 0x0028 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x002c */\tunsigned long\tNextPreserve;\n/* off 0x0030 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0034 */\tstruct _MDL*\tClones;\n/* off 0x0038 */\tunsigned char*\tNextClone;\n/* off 0x003c */\tunsigned long\tNoClones;\n/* off 0x0040 */\tstruct _MDL*\tSpares;\n/* off 0x0048 */\tunsigned __int64\tPagesOut;\n/* off 0x0050 */\tvoid*\tIoPage;\n/* off 0x0054 */\tvoid*\tCurrentMcb;\n/* off 0x0058 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x005c */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0060 */\tunsigned long\tNoRanges;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x007c */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0080 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0084 */\tunsigned long*\tPerformanceStats;\n/* off 0x0088 */\tvoid*\tCompressionBlock;\n/* off 0x008c */\tvoid*\tDmaIO;\n/* off 0x0090 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\tstruct __unnamed\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunsigned long\tImageType;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0028 */\tunsigned __int64\tInterruptTime;\n/* off 0x0030 */\tunsigned long\tFeatureFlags;\n/* off 0x0034 */\tunsigned char\tHiberFlags;\n/* off 0x0035 */\tunsigned char spare[3];\n/* off 0x0038 */\tunsigned long\tNoHiberPtes;\n/* off 0x003c */\tunsigned long\tHiberVa;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0048 */\tunsigned long\tNoFreePages;\n/* off 0x004c */\tunsigned long\tFreeMapCheck;\n/* off 0x0050 */\tunsigned long\tWakeCheck;\n/* off 0x0054 */\tunsigned long\tTotalPages;\n/* off 0x0058 */\tunsigned long\tFirstTablePage;\n/* off 0x005c */\tunsigned long\tLastFilePage;\n/* off 0x0060 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct __unnamed\tRange;\n/* off 0x0000 */\tstruct __unnamed\tLink;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct __unnamed\tu1;\n/* off 0x0004 */\tstruct __unnamed\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _MMVAD_SHORT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tStartingVpn;\n/* off 0x0004 */\tunsigned long\tEndingVpn;\n/* off 0x0008 */\tstruct _MMVAD*\tParent;\n/* off 0x000c */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0010 */\tstruct _MMVAD*\tRightChild;\n/* off 0x0014 */\tstruct __unnamed\tu;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\tstruct __unnamed\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tMaxPlugEventCategory\t=0x00000009\t,//0\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _FAST_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nenum _MMSYSTEM_PTE_POOL_TYPE\n{\n\tSystemPteSpace\t=0x00000000\t,//0\n\tNonPagedPoolExpansion\t=0x00000001\t,//0\n\tMaximumPtePoolTypes\t=0x00000002\t,//0\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileMaximumInformation\t=0x00000029\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsMaximumInformation\t=0x0000000a\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tListIndex;\n/* off 0x0004 */\tstruct _MI_VERIFIER_DRIVER_ENTRY*\tVerifier;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunsigned long\tReserved;\n/* off 0x002c */\tunsigned long\tVerifierPoolLock;\n/* off 0x0030 */\tstruct _VI_POOL_ENTRY*\tPoolHash;\n/* off 0x0034 */\tunsigned long\tPoolHashSize;\n/* off 0x0038 */\tunsigned long\tPoolHashFree;\n/* off 0x003c */\tunsigned long\tPoolHashReserved;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tunsigned long\tFreeListNext;\n};\n};\nstruct _CM_KEY_BODY /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tunsigned long\tCallers;\n/* off 0x0014 */\tvoid* CallerAddress[10];\n/* off 0x003c */\tstruct _LIST_ENTRY\tKeyBodyList;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.0.6000.16386.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct PROCESSOR_IDLE_TIMES /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned long Reserved[4];\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tvoid( __fastcall *IdleFunction)(struct _PROCESSOR_POWER_STATE*);\n/* off 0x0004 */\tstruct PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tLastIdleTime;\n/* off 0x0018 */\tstruct PROCESSOR_IDLE_TIMES\tIdleTimes;\n/* off 0x0038 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x003c */\tstruct PPM_PERF_STATES*\tPerfStates;\n/* off 0x0040 */\tunsigned long\tLastKernelUserTime;\n/* off 0x0044 */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0048 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0050 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0058 */\tunsigned char\tThermalConstraint;\n/* off 0x0059 */\tunsigned char\tLastBusyPercentage;\n/* off 0x005a */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0060 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0088 */\tstruct _KDPC\tPerfDpc;\n/* off 0x00a8 */\tunsigned long\tLastSysTime;\n/* off 0x00ac */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x00b0 */\tunsigned long\tPStateSet;\n/* off 0x00b4 */\tunsigned long\tCurrentPState;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tDesiredPState;\n/* off 0x00c0 */\tunsigned long\tReserved1;\n/* off 0x00c4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00c8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00cc */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00d0 */\tunsigned long\tPStateStartTime;\n/* off 0x00d4 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00d8 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00001f98 8088 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char PrcbPad0[88];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[33];\n/* off 0x0520 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x0524 */\tunsigned long\tInterruptCount;\n/* off 0x0528 */\tunsigned long\tKernelTime;\n/* off 0x052c */\tunsigned long\tUserTime;\n/* off 0x0530 */\tunsigned long\tDpcTime;\n/* off 0x0534 */\tunsigned long\tDpcTimeCount;\n/* off 0x0538 */\tunsigned long\tInterruptTime;\n/* off 0x053c */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x0540 */\tunsigned long\tPageColor;\n/* off 0x0544 */\tunsigned char\tSkipTick;\n/* off 0x0545 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x0546 */\tunsigned char\tNodeColor;\n/* off 0x0547 */\tunsigned char\tPollSlot;\n/* off 0x0548 */\tunsigned long\tNodeShiftedColor;\n/* off 0x054c */\tstruct _KNODE*\tParentNode;\n/* off 0x0550 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x0554 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x0558 */\tunsigned long\tSecondaryColorMask;\n/* off 0x055c */\tunsigned long\tDpcTimeLimit;\n/* off 0x0560 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x0564 */\tunsigned long\tCcFastReadWait;\n/* off 0x0568 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x056c */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x0570 */\tunsigned long\tCcCopyReadWait;\n/* off 0x0574 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x0578 */\tlong\tMmSpinLockOrdering;\n/* off 0x057c */\tlong\tIoReadOperationCount;\n/* off 0x0580 */\tlong\tIoWriteOperationCount;\n/* off 0x0584 */\tlong\tIoOtherOperationCount;\n/* off 0x0588 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0590 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0598 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x05a0 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x05a4 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x05a8 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x05ac */\tunsigned long\tCcMapDataNoWait;\n/* off 0x05b0 */\tunsigned long\tCcMapDataWait;\n/* off 0x05b4 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x05b8 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x05bc */\tunsigned long\tCcPinReadWait;\n/* off 0x05c0 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x05c4 */\tunsigned long\tCcMdlReadWait;\n/* off 0x05c8 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x05cc */\tunsigned long\tCcLazyWriteIos;\n/* off 0x05d0 */\tunsigned long\tCcLazyWritePages;\n/* off 0x05d4 */\tunsigned long\tCcDataFlushes;\n/* off 0x05d8 */\tunsigned long\tCcDataPages;\n/* off 0x05dc */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x05e0 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x05e4 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x05e8 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x05ec */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x05f0 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x05f4 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x05f8 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x05fc */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0600 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0604 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0608 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x060c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0610 */\tunsigned long\tKeSystemCalls;\n/* off 0x0614 */\tunsigned long PrcbPad1[3];\n/* off 0x0620 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x06a0 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0fa0 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x18a0 */\tunsigned long\tPacketBarrier;\n/* off 0x18a4 */\tlong\tReverseStall;\n/* off 0x18a8 */\tvoid*\tIpiFrame;\n/* off 0x18ac */\tunsigned char PrcbPad2[52];\n/* off 0x18e0 */\tvoid* CurrentPacket[3];\n/* off 0x18ec */\tunsigned long\tTargetSet;\n/* off 0x18f0 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x18f4 */\tunsigned long\tIpiFrozen;\n/* off 0x18f8 */\tunsigned char PrcbPad3[40];\n/* off 0x1920 */\tunsigned long\tRequestSummary;\n/* off 0x1924 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x1928 */\tunsigned char PrcbPad4[56];\n/* off 0x1960 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1988 */\tvoid*\tDpcStack;\n/* off 0x198c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1990 */\tunsigned long\tDpcRequestRate;\n/* off 0x1994 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1998 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1999 */\tunsigned char\tDpcThreadRequested;\n/* off 0x199a */\tunsigned char\tDpcRoutineActive;\n/* off 0x199b */\tunsigned char\tDpcThreadActive;\n/* off 0x199c */\tunsigned long\tPrcbLock;\n/* off 0x19a0 */\tunsigned long\tDpcLastCount;\n/* off 0x19a4 */\tunsigned long\tTimerHand;\n/* off 0x19a8 */\tunsigned long\tTimerRequest;\n/* off 0x19ac */\tvoid*\tPrcbPad41;\n/* off 0x19b0 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x19c0 */\tunsigned char\tThreadDpcEnable;\n/* off 0x19c1 */\tunsigned char\tQuantumEnd;\n/* off 0x19c2 */\tunsigned char\tPrcbPad50;\n/* off 0x19c3 */\tunsigned char\tIdleSchedule;\n/* off 0x19c4 */\tlong\tDpcSetEventRequest;\n/* off 0x19c8 */\tlong\tSleeping;\n/* off 0x19cc */\tunsigned long\tPeriodicCount;\n/* off 0x19d0 */\tunsigned long\tPeriodicBias;\n/* off 0x19d4 */\tunsigned char PrcbPad5[6];\n/* off 0x19dc */\tlong\tTickOffset;\n/* off 0x19e0 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a00 */\tlong\tClockKeepAlive;\n/* off 0x1a04 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a05 */\tunsigned char\tClockPollCycle;\n/* off 0x1a06 */\tunsigned char PrcbPad6[2];\n/* off 0x1a08 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a0c */\tlong\tDpcWatchdogCount;\n/* off 0x1a10 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a14 */\tlong\tThreadWatchdogCount;\n/* off 0x1a18 */\tunsigned long PrcbPad70[2];\n/* off 0x1a20 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1a28 */\tunsigned long\tWaitLock;\n/* off 0x1a2c */\tunsigned long\tReadySummary;\n/* off 0x1a30 */\tunsigned long\tQueueIndex;\n/* off 0x1a34 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1a38 */\tunsigned __int64\tStartCycles;\n/* off 0x1a40 */\tunsigned __int64\tCycleTime;\n/* off 0x1a48 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1a60 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1b60 */\tvoid*\tChainedInterruptList;\n/* off 0x1b64 */\tlong\tLookasideIrpFloat;\n/* off 0x1b68 */\tlong\tMmPageFaultCount;\n/* off 0x1b6c */\tlong\tMmCopyOnWriteCount;\n/* off 0x1b70 */\tlong\tMmTransitionCount;\n/* off 0x1b74 */\tlong\tMmCacheTransitionCount;\n/* off 0x1b78 */\tlong\tMmDemandZeroCount;\n/* off 0x1b7c */\tlong\tMmPageReadCount;\n/* off 0x1b80 */\tlong\tMmPageReadIoCount;\n/* off 0x1b84 */\tlong\tMmCacheReadCount;\n/* off 0x1b88 */\tlong\tMmCacheIoCount;\n/* off 0x1b8c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1b90 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1b94 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1b98 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1b9c */\tunsigned long\tCachedCommit;\n/* off 0x1ba0 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1ba4 */\tvoid*\tHyperPte;\n/* off 0x1ba8 */\tunsigned char\tCpuVendor;\n/* off 0x1ba9 */\tunsigned char PrcbPad9[3];\n/* off 0x1bac */\tunsigned char VendorString[13];\n/* off 0x1bb9 */\tunsigned char\tInitialApicId;\n/* off 0x1bba */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x1bbb */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1bbc */\tunsigned long\tMHz;\n/* off 0x1bc0 */\tunsigned long\tFeatureBits;\n/* off 0x1bc8 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1bd0 */\tunsigned __int64\tIsrTime;\n/* off 0x1bd8 */\tunsigned __int64\tSpareField1;\n/* off 0x1be0 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1df0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1ed0 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1ef0 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f18 */\tvoid*\tWheaInfo;\n/* off 0x1f1c */\tvoid*\tEtwSupport;\n/* off 0x1f20 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f28 */\tunion _LARGE_INTEGER\tHypercallPagePhysical;\n/* off 0x1f30 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f34 */\tvoid*\tRateControl;\n/* off 0x1f38 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1f74 */\tunsigned long\tCacheCount;\n/* off 0x1f78 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1f8c */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x1f8d */\tunsigned char PrcbPad8[3];\n/* off 0x1f90 */\tunsigned long\tPackageProcessorSet;\n/* off 0x1f94 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tReserved:25\t /* start bit 7 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tSpare02;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tchar\tFreezeCount;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tIopl;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSpare:2\t /* start bit 6 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tIopl;\n/* off 0x0033 */\tunsigned char\tUnused;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(unsigned long,struct PROCESSOR_IDLE_TIMES*);\n/* off 0x0004 */\tunsigned long\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct PPM_PERF_STATES /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tMaxPerfState;\n/* off 0x000c */\tunsigned long\tMinPerfState;\n/* off 0x0010 */\tunsigned long\tLowestPState;\n/* off 0x0014 */\tunsigned long\tIncreaseTime;\n/* off 0x0018 */\tunsigned long\tDecreaseTime;\n/* off 0x001c */\tunsigned char\tBusyAdjThreshold;\n/* off 0x001d */\tunsigned char\tReserved;\n/* off 0x001e */\tunsigned char\tThrottleStatesOnly;\n/* off 0x001f */\tunsigned char\tPolicyType;\n/* off 0x0020 */\tunsigned long\tTimerInterval;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0028 */\tunsigned long\tTargetProcessors;\n/* off 0x002c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0030 */\tunsigned long\tPStateContext;\n/* off 0x0034 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tTStateContext;\n/* off 0x003c */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0040 */\tstruct PPM_PERF_STATE State[1];\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 000020b8 8376 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000021\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned short\tPriorityRegionActive:4\t /* start bit 0 */;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:7\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tAvailable:6\t /* start bit 2 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tSpare0;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long Spare[1];\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KEVENT*\tExitEvent;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tVadFreeHint;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tSparePsFlags1:2\t /* start bit 30 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:4\t /* start bit 4 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:30\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tstruct _PEB_FREE_BLOCK*\tFreeList;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tImageProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _PEB_FREE_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _PEB_FREE_BLOCK*\tNext;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d08 3336 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x003c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0044 */\tvoid*\tHighestUserAddress;\n/* off 0x0048 */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c48 */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tReserved2:11\t /* start bit 21 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileMaximumInformation\t=0x00000032\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tMaximumInterfaceType\t=0x00000010\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tIdleCount;\n/* off 0x0004 */\tunsigned long\tConservationIdleTime;\n/* off 0x0008 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0018 */\tunsigned char\tDeviceType;\n/* off 0x001c */\tenum _DEVICE_POWER_STATE\tState;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x0030 */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x004c */\tunsigned long\tPreviousIdleCount;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0024 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x0028 */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x002c */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0030 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0034 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x003c */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0040 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0044 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x0048 */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMutex;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0048 */\tvoid*\tDefaultObject;\n/* off 0x004c */\tunsigned long\tIndex;\n/* off 0x0050 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x0054 */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0058 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x005c */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0060 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x00ac */\tunsigned long\tKey;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:6\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 46 */;\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 48 */;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned short\tRevision;\n/* off 0x0006 */\tunsigned short\tReserved1;\n/* off 0x0008 */\tunsigned short\tReserved2;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunsigned long\tValidationBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunsigned long\tFlags;\n/* off 0x0070 */\tstruct _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0078 */\tunsigned char Reserved3[12];\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunsigned short\tRevision;\n/* off 0x000a */\tunsigned char\tValidationBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0088 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequestorId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nstruct _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequestorId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n};\nstruct _PCIE_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunsigned __int64\tValidationBits;\n/* off 0x0008 */\tenum PCI_EXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunsigned long\tVersion;\n/* off 0x0010 */\tunsigned long\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _PCIE_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSN;\n/* off 0x0030 */\tunsigned long\tBridgeCtrlSts;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nstruct _WHEA_PCIX_BUS_VALIDATION_BITS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatusValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorTypeValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusIdValid:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddressValid:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusDataValid:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tCommandValid:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequestorIdValid:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterIdValid:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetIdValid:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\nstruct _WHEA_PCIX_BUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _WHEA_PCIX_BUS_VALIDATION_BITS\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunsigned short\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunsigned __int64\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tBusRequestorId;\n/* off 0x0038 */\tunsigned __int64\tBusCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nstruct _WHEA_PCIX_DEV_VALIDATION_BITS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatusValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfoValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumberValid:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumberValid:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairValid:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\nstruct _WHEA_PCIX_DEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _WHEA_PCIX_DEV_VALIDATION_BITS\tValidationBits;\n/* off 0x0008 */\tstruct _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned char IdInfo[16];\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tunsigned char RegisterDataPairs[64];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned __int64\tSize;\n/* off 0x0010 */\tunsigned __int64\tRawDataLength;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved1;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIX_BUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIX_DEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_ERROR_STATUS_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tReserved2;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeOther\t=0x00000005\t,//0\n\tWheaErrSrcTypeMax\t=0x00000006\t,//0\n};\nenum PCI_EXPRESS_DEVICE_TYPE\n{\n\tPciExpressEndpoint\t=0x00000000\t,//0\n\tPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tPciExpressRootPort\t=0x00000004\t,//0\n\tPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tPciExpressToPciXBridge\t=0x00000007\t,//0\n\tPciXToExpressBridge\t=0x00000008\t,//0\n\tPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_ERROR_STATUS_FORMAT\n{\n\tWheaErrorStatusFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaErrorStatusFormatIA32MCA\t=0x00000001\t,//0\n\tWheaErrorStatusFormatEM64TMCA\t=0x00000002\t,//0\n\tWheaErrorStatusFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaErrorStatusFormatPCIExpress\t=0x00000004\t,//0\n\tWheaErrorStatusFormatNMIPort\t=0x00000005\t,//0\n\tWheaErrorStatusFormatOther\t=0x00000006\t,//0\n\tWheaErrorStatusFormatMax\t=0x00000007\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nunion _PTE_QUEUE_POINTER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tlong\tPointerPte;\n/* off 0x0004 */\tlong\tTimeStamp;\n};\n/* off 0x0000 */\t__int64\tData;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_EVENT*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tSpare:9\t /* start bit 23 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0028 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x002c */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLastPageToWrite;\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005d0 1488 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _FAST_MUTEX*\tViewLock;\n/* off 0x0318 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x031c */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x0320 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0324 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x032c */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0334 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x033c */\tunsigned short\tMappedViewCount;\n/* off 0x033e */\tunsigned short\tPinnedViewCount;\n/* off 0x0340 */\tunsigned long\tUseCount;\n/* off 0x0344 */\tunsigned long\tViewsPerHive;\n/* off 0x0348 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x034c */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0350 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0358 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0360 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0370 */\tunsigned long\tSecurityCount;\n/* off 0x0374 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0378 */\tlong\tSecurityHitHint;\n/* off 0x037c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0380 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0580 */\tunsigned long\tUnloadEventCount;\n/* off 0x0584 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0588 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x058c */\tunsigned char\tFrozen;\n/* off 0x0590 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x0594 */\tunsigned char\tGrowOnlyMode;\n/* off 0x0598 */\tunsigned long\tGrowOffset;\n/* off 0x059c */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05a4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05ac */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05b0 */\tunsigned long\tFlags;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05bc */\tunsigned long\tFlushCount;\n/* off 0x05c0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05c4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05c8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05cc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:8\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:12\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _EX_PUSH_LOCK\tKeyBodyLock;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tvoid*\tTmRmHandle;\n/* off 0x018c */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0190 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a0 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b0 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01b8 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01c8 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0200 */\tunsigned long\tLogFlags;\n/* off 0x0204 */\tlong\tLogFullStatus;\n/* off 0x0208 */\tlong\tRecoveryStatus;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tunsigned long\tNextSavepoint;\n/* off 0x0140 */\tstruct _KTM*\tTm;\n/* off 0x0148 */\t__int64\tCommitReservation;\n/* off 0x0150 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x01a0 */\tunsigned long\tTransactionHistoryCount;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionSavepointing\t=0x0000000b\t,//0\n\tKTransactionPrePrepared\t=0x0000000c\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentSavepointing\t=0x0000010d\t,//0\n\tKEnlistmentAborting\t=0x0000010e\t,//0\n\tKEnlistmentReadOnly\t=0x0000010f\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x00000110\t,//0\n\tKEnlistmentOffline\t=0x00000111\t,//0\n\tKEnlistmentPrePrepared\t=0x00000112\t,//0\n\tKEnlistmentInitialized\t=0x00000113\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:8\t /* start bit 8 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\n/* off 0x0020 */\tunsigned long\tSpare0;\n/* off 0x0024 */\tunsigned long\tSpare1;\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0038 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\nstruct\n{\n/* off 0x0038 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x0048 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0050 */\tunsigned long\tClockType;\n/* off 0x0054 */\tlong\tCollectionOn;\n/* off 0x0058 */\tunsigned long\tMaximumFileSize;\n/* off 0x005c */\tunsigned long\tLoggerMode;\n/* off 0x0060 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0064 */\tunsigned long\tFlushTimer;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0078 */\tunsigned long\tMinimumBuffers;\n/* off 0x007c */\tlong\tBuffersAvailable;\n/* off 0x0080 */\tlong\tNumberOfBuffers;\n/* off 0x0084 */\tunsigned long\tMaximumBuffers;\n/* off 0x0088 */\tunsigned long\tEventsLost;\n/* off 0x008c */\tunsigned long\tBuffersWritten;\n/* off 0x0090 */\tunsigned long\tLogBuffersLost;\n/* off 0x0094 */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x0098 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x009c */\tunsigned long\tBufferSize;\n/* off 0x00a0 */\tunsigned long\tMaximumEventSize;\n/* off 0x00a4 */\tlong*\tSequencePtr;\n/* off 0x00a8 */\tunsigned long\tLocalSequence;\n/* off 0x00ac */\tstruct _GUID\tInstanceGuid;\n/* off 0x00bc */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c0 */\tlong\tFileCounter;\n/* off 0x00c4 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00c8 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d0 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e0 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00ec */\tunsigned long\tNumConsumers;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x00f8 */\tunsigned char\tNewConsumer;\n/* off 0x00fc */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0100 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0130 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0140 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0144 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x016c */\tstruct _KDPC\tFlushDpc;\n/* off 0x018c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01ac */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01e8 */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x01f0 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0238 */\t__int64\tBufferSequenceNumber;\n/* off 0x0240 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0244 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0244 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0244 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0244 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0244 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0244 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0244 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0244 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0248 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0248 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0248 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0248 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0248 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0248 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x024c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x024e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _TRACE_ENABLE_CONTEXT\tLegacyEnableContext;\n/* off 0x0030 */\tunsigned long\tLegacyProviderEnabled;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001a 26 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[26];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001a */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000088\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderMaximum\t=0x0000001c\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunsigned long\tNonExtendedPtes;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005e8 1512 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tvoid*\tExtension;\n/* off 0x0098 */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x009c */\tvoid*\tConflictCallbackContext;\n/* off 0x00a0 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a4 */\twchar PdoDescriptionString[336];\n/* off 0x0344 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e4 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaMaximumType\t=0x0000000c\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptPowerFault\t=0x00000003\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:27\t /* start bit 5 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemContext;\n/* off 0x0054 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCode;\n/* off 0x0004 */\tunsigned long\tParameter1;\n/* off 0x0008 */\tunsigned long\tParameter2;\n/* off 0x000c */\tunsigned long\tParameter3;\n/* off 0x0010 */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tvoid*\tCurrentMcb;\n/* off 0x0050 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0054 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0058 */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0054 */\tunsigned long\tLastFilePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00bc */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00dc */\tunsigned long\tTotalPhysicalMemoryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPageNo;\n/* off 0x0004 */\tunsigned long\tStartPage;\n/* off 0x0008 */\tunsigned long\tEndPage;\n/* off 0x000c */\tunsigned long\tCheckSum;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_LINK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tEntryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_RANGE\tRange;\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_LINK\tLink;\n};\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0010 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tFirstFreePte;\n/* off 0x0004 */\tunsigned long*\tFailureCount;\n/* off 0x0008 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n/* off 0x000c */\tunsigned long\tTbFlushTimeStamp;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001e80 7808 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KEVENT\tAttachEvent;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e20 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e40 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e44 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e48 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e4c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e50 */\tstruct _MMPTE\tSessionPteFreeHead;\n/* off 0x1e58 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e68 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e6c */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e70 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e74 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e78 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tvoid* StackTrace[8];\n/* off 0x0048 */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tunsigned long\tCacheReductionInProgress;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tMaxRegNtNotifyClass\t=0x00000029\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.0.6001.18000.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeAccumulated;\nunion\n{\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tIdleTransitionTime;\n\t}\tNative;\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLastIdleCheck;\n\t}\tHv;\n};\n/* off 0x0020 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tstruct _PPM_PERF_STATES*\tPerfStates;\n/* off 0x0028 */\tunsigned long\tLastKernelUserTime;\n/* off 0x002c */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0038 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0040 */\tunsigned char\tThermalConstraint;\n/* off 0x0041 */\tunsigned char\tLastBusyPercentage;\n/* off 0x0042 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0048 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0070 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0090 */\tunsigned long\tLastSysTime;\n/* off 0x0094 */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x0098 */\tunsigned long\tPStateSet;\n/* off 0x009c */\tunsigned long\tCurrentPState;\n/* off 0x00a0 */\tunsigned long\tDesiredPState;\n/* off 0x00a4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00a8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00ac */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00b0 */\tunsigned long\tPStateStartTime;\n/* off 0x00b4 */\tunsigned long\tDiaIndex;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00c0 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00002008 8200 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03c1 */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03c2 */\tunsigned char PrcbPad0[2];\n/* off 0x03c4 */\tunsigned long\tMHz;\n/* off 0x03c8 */\tunsigned char PrcbPad1[80];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tSkipTick;\n/* off 0x05c5 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c6 */\tunsigned char\tNodeColor;\n/* off 0x05c7 */\tunsigned char\tPollSlot;\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x05d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x05d8 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05dc */\tunsigned long\tDpcTimeLimit;\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long PrcbPad2[3];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad5[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1a19 */\tunsigned char\tDpcThreadRequested;\n/* off 0x1a1a */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a1b */\tunsigned char\tDpcThreadActive;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tvoid*\tPrcbPad41;\n/* off 0x1a30 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tPrcbPad50;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\n/* off 0x1a44 */\tlong\tDpcSetEventRequest;\n/* off 0x1a48 */\tlong\tSleeping;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a54 */\tunsigned char PrcbPad51[6];\n/* off 0x1a5c */\tlong\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tunsigned long PrcbPad70[2];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char\tCpuVendor;\n/* off 0x1c29 */\tunsigned char PrcbPad8[3];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tSpareField1;\n/* off 0x1c60 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1e70 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1f38 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1f58 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f80 */\tvoid*\tWheaInfo;\n/* off 0x1f84 */\tvoid*\tEtwSupport;\n/* off 0x1f88 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f90 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1f98 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f9c */\tvoid*\tVirtualApicAssist;\n/* off 0x1fa0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1fa4 */\tvoid*\tRateControl;\n/* off 0x1fa8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1fe4 */\tunsigned long\tCacheCount;\n/* off 0x1fe8 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1ffc */\tunsigned long\tPackageProcessorSet;\n/* off 0x2000 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x0068 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tFreezeCount;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tunsigned char\tSpare02;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tOtherPlatformFill;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tUnused1;\n/* off 0x0033 */\tunsigned char\tUnused2;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHypervisor:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tunsigned long\tTargetProcessors;\n/* off 0x0034 */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tPStateContext;\n/* off 0x003c */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tTStateContext;\n/* off 0x0044 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0048 */\tstruct _PPM_DIA_STATS*\tDiaStats;\n/* off 0x004c */\tunsigned long\tDiaStatsCount;\n/* off 0x0050 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _PPM_DIA_STATS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tPerfLevel;\n/* off 0x0004 */\tunsigned long\tIdleTime;\n/* off 0x0008 */\tunsigned long\tTimeInterval;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00002128 8488 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned char\tSpare1:8\t /* start bit 0 */;\n/* off 0x026b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:3\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tChargedWslePages;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long\tActualWslePages;\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KGATE*\tExitGate;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tSpare;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0224 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0224 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0224 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0228 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:28\t /* start bit 4 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tunsigned long\tSparePebPtr0;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d18 3352 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tunsigned long\tLastVadBit;\n/* off 0x003c */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0040 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0044 */\tunsigned long\tLastAllocationSize;\n/* off 0x0048 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x004c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0050 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0054 */\tvoid*\tHighestUserAddress;\n/* off 0x0058 */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c58 */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileMaximumInformation\t=0x00000033\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tTotalBusyCount;\n/* off 0x000c */\tunsigned long\tConservationIdleTime;\n/* off 0x0010 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0020 */\tunsigned char\tDeviceType;\n/* off 0x0024 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x002c */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x003c */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0058 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned long\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _ERESOURCE\tMutex;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x00b4 */\tunsigned long\tKey;\n/* off 0x00b8 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n/* off 0x0138 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n/* off 0x000c */\tunsigned long\tDriveMap;\n/* off 0x0010 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:8\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCpuValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tProcessorType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionSet:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tOperation:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tFlags:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tLevel:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tCPUVersion:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCPUBrandString:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tProcessorId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tTargetAddress:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionPointer:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:51\t /* start bit 13 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequesterId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nunion _WHEA_MEMORY_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nunion _WHEA_NMI_ERROR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n/* off 0x0008 */\tunion _WHEA_NMI_ERROR_FLAGS\tFlags;\n};\nunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tPortType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tVersion:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tCommandStatus:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceId:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceSerialNumber:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBridgeControlStatus:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tExpressCapability:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tAerInfo:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:56\t /* start bit 8 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIEXPRESS_VERSION /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorVersion;\n/* off 0x0001 */\tunsigned char\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tReserved;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PCIEXPRESS_COMMAND_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tCommand;\n/* off 0x0002 */\tunsigned short\tStatus;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tBridgeSecondaryStatus;\n/* off 0x0002 */\tunsigned short\tBridgeControl;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tenum WHEA_PCIEXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunion _WHEA_PCIEXPRESS_VERSION\tVersion;\n/* off 0x0010 */\tunion _WHEA_PCIEXPRESS_COMMAND_STATUS\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _WHEA_PCIEXPRESS_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSerialNumber;\n/* off 0x0030 */\tunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS\tBridgeControlStatus;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nunion _WHEA_PCIXBUS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusData:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBusCommand:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterId:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIXBUS_ID /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tBusNumber;\n/* off 0x0001 */\tunsigned char\tBusSegment;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_PCIXBUS_COMMAND /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tCommand:56\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPCIXCommand:1\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 57 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_PCIXBUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXBUS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunion _WHEA_PCIXBUS_ID\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunion _WHEA_PCIXBUS_COMMAND\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfo:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumber:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumber:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairs:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_PCIXDEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorId;\n/* off 0x0002 */\tunsigned short\tDeviceId;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tBusNumber:8\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tSegmentNumber:8\t /* start bit 16 */;\n/* off 0x0008 */\tunsigned long\tReserved1:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tReserved2;\n};\nstruct WHEA_PCIXDEVICE_REGISTER_PAIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tRegister;\n/* off 0x0008 */\tunsigned __int64\tData;\n};\nstruct _WHEA_PCIXDEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tstruct _WHEA_PCIXDEVICE_ID\tIdInfo;\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tstruct WHEA_PCIXDEVICE_REGISTER_PAIR RegisterDataPairs[4];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tRawDataLength;\n/* off 0x0010 */\tunsigned __int64\tReserved1;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved2;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXBUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXDEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_RAW_DATA_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tRawDataOffset;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum WHEA_PCIEXPRESS_DEVICE_TYPE\n{\n\tWheaPciExpressEndpoint\t=0x00000000\t,//0\n\tWheaPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tWheaPciExpressRootPort\t=0x00000004\t,//0\n\tWheaPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tWheaPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tWheaPciExpressToPciXBridge\t=0x00000007\t,//0\n\tWheaPciXToExpressBridge\t=0x00000008\t,//0\n\tWheaPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tWheaPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_RAW_DATA_FORMAT\n{\n\tWheaRawDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaRawDataFormatIA32MCA\t=0x00000001\t,//0\n\tWheaRawDataFormatIntel64MCA\t=0x00000002\t,//0\n\tWheaRawDataFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaRawDataFormatMemory\t=0x00000004\t,//0\n\tWheaRawDataFormatPCIExpress\t=0x00000005\t,//0\n\tWheaRawDataFormatNMIPort\t=0x00000006\t,//0\n\tWheaRawDataFormatPCIXBus\t=0x00000007\t,//0\n\tWheaRawDataFormatPCIXDevice\t=0x00000008\t,//0\n\tWheaRawDataFormatGeneric\t=0x00000009\t,//0\n\tWheaRawDataFormatMax\t=0x0000000a\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tGlobalTimeStamp:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n/* off 0x007c */\tunsigned long\tResumePages;\n/* off 0x0080 */\tvoid*\tDumpHeader;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMPTE_FLUSH_LIST /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaximumCount;\n/* off 0x0008 */\tvoid* FlushVa[33];\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005e0 1504 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0318 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x031c */\tunsigned long\tViewLockLast;\n/* off 0x0320 */\tunsigned long\tViewUnLockLast;\n/* off 0x0324 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0328 */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x032c */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0330 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0338 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0340 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0348 */\tunsigned short\tMappedViewCount;\n/* off 0x034a */\tunsigned short\tPinnedViewCount;\n/* off 0x034c */\tunsigned long\tUseCount;\n/* off 0x0350 */\tunsigned long\tViewsPerHive;\n/* off 0x0354 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0358 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0360 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0370 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0378 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0380 */\tunsigned long\tSecurityCount;\n/* off 0x0384 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0388 */\tlong\tSecurityHitHint;\n/* off 0x038c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0390 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0590 */\tunsigned long\tUnloadEventCount;\n/* off 0x0594 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0598 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x059c */\tunsigned char\tFrozen;\n/* off 0x05a0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05a4 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05a8 */\tunsigned long\tGrowOffset;\n/* off 0x05ac */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05bc */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05c0 */\tunsigned long\tFlags;\n/* off 0x05c4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05cc */\tunsigned long\tFlushCount;\n/* off 0x05d0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05d4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05d8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05dc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:9\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:11\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tRtlDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPadding2;\nunion\n{\nstruct\n{\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n};\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000280 640 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0034 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x003c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0044 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x004c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0054 */\tunsigned long\tClockType;\n/* off 0x0058 */\tlong\tCollectionOn;\n/* off 0x005c */\tunsigned long\tMaximumFileSize;\n/* off 0x0060 */\tunsigned long\tLoggerMode;\n/* off 0x0064 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0068 */\tunsigned long\tFlushTimer;\n/* off 0x006c */\tunsigned long\tFlushThreshold;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0080 */\tunsigned long\tMinimumBuffers;\n/* off 0x0084 */\tlong\tBuffersAvailable;\n/* off 0x0088 */\tlong\tNumberOfBuffers;\n/* off 0x008c */\tunsigned long\tMaximumBuffers;\n/* off 0x0090 */\tunsigned long\tEventsLost;\n/* off 0x0094 */\tunsigned long\tBuffersWritten;\n/* off 0x0098 */\tunsigned long\tLogBuffersLost;\n/* off 0x009c */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00a0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00a4 */\tunsigned long\tBufferSize;\n/* off 0x00a8 */\tunsigned long\tMaximumEventSize;\n/* off 0x00ac */\tlong*\tSequencePtr;\n/* off 0x00b0 */\tunsigned long\tLocalSequence;\n/* off 0x00b4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00c4 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c8 */\tlong\tFileCounter;\n/* off 0x00cc */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00ec */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f4 */\tunsigned long\tNumConsumers;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x0100 */\tunsigned char\tNewConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0154 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0158 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x015c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x016c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x017c */\tstruct _KDPC\tFlushDpc;\n/* off 0x019c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01bc */\tstruct _EX_PUSH_LOCK\tLoggerLock;\n/* off 0x01c0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01fc */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\n/* off 0x0250 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0254 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0254 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0258 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0258 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0258 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0258 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0258 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0258 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x025c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x025e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tSectionObject;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0010 */\tvoid*\tSectionHandle;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0008 */\tunsigned long\tTotalHandles;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000f4 244 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tunsigned long\tSequenceNo;\n/* off 0x0014 */\tvoid*\tCompletionPort;\n/* off 0x0018 */\tvoid*\tCompletionKey;\n/* off 0x001c */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x0020 */\tvoid*\tPortContext;\n/* off 0x0024 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x0080 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0080 */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0084 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0088 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d0 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00d4 */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00d8 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00dc */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x00e0 */\tunsigned long\tMainQueueLength;\n/* off 0x00e4 */\tunsigned long\tPendingQueueLength;\n/* off 0x00e8 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00ec */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f0 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tvoid*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[0];\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _HANDLE_TABLE_ENTRY*\tUniqueTableEntry;\n/* off 0x0044 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x0060 */\tvoid*\tDataUserVa;\n/* off 0x0064 */\tvoid*\tDataSystemVa;\n/* off 0x0068 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x006c */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0070 */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0078 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x000c */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tvoid*\tAddress;\n/* off 0x001c */\tunsigned long\tSize;\n/* off 0x0020 */\tvoid*\tSecureViewHandle;\n/* off 0x0024 */\tvoid*\tWriteAccessHandle;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x000c */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x0010 */\tunsigned long\tOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long\tViewSize;\n/* off 0x001c */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x0020 */\tstruct _KALPC_VIEW*\tReadWriteView;\n/* off 0x0024 */\tunsigned long\tNumberOfViews;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tViewListHead;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tstruct _OBJECT_TYPE*\tObjectType;\n/* off 0x0010 */\tunsigned long\tTargetAccess;\n/* off 0x0014 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0018 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _DEVPROPKEY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _GUID\tfmtid;\n/* off 0x0010 */\tunsigned long\tpid;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueue;\n/* off 0x0008 */\tstruct _KDPC\tScanDpc;\n/* off 0x0028 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0050 */\tunsigned char\tScanActive;\n/* off 0x0051 */\tunsigned char\tOtherWork;\n/* off 0x0052 */\tunsigned char\tPendingTeardown;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008a\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x0000008b\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaMaximumType\t=0x0000000d\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptLinkStateChange\t=0x00000003\t,//0\n\tSlotInterruptPowerFault\t=0x00000004\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x00f4 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00f8 */\tvoid*\tResumeContext;\n/* off 0x00fc */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0054 */\tunsigned long\tLastFilePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00bc */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00c0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00c4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00e4 */\tunsigned long\tNotUsed;\n/* off 0x00e8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00ec */\tunsigned long\tResumeContextPages;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_RANGE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPageNo;\n/* off 0x0004 */\tunsigned long\tStartPage;\n/* off 0x0008 */\tunsigned long\tEndPage;\n/* off 0x000c */\tunsigned long\tCheckSum;\n};\nstruct _PO_MEMORY_RANGE_ARRAY_LINK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tEntryCount;\n};\nstruct _PO_MEMORY_RANGE_ARRAY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_RANGE\tRange;\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_ARRAY_LINK\tLink;\n};\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0010 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001ec0 7872 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e20 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e40 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e44 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e48 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e4c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e50 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e7c */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e80 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e84 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e88 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e8c */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tMaxRegNtNotifyClass\t=0x00000029\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.0.6002.18005.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:31\t /* start bit 1 */;\n\t\t}\ts;\n\t}\tu;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_TASK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n};\nstruct _TP_DIRECT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tAbsolute;\n/* off 0x0001 */\tunsigned char\tNpxIrql;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0002 */\tunsigned char\tHand;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tInserted;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 00000208 520 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[224];\n/* off 0x0200 */\tunsigned char Align16Byte[8];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000208 520 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x0208 */\tunsigned long\tNpxSavedCpu;\n/* off 0x020c */\tunsigned long\tCr0NpxState;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tlong\tPeriod;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tLastTimeCheck;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeAccumulated;\nunion\n{\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tIdleTransitionTime;\n\t}\tNative;\n/* off 0x0018 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLastIdleCheck;\n\t}\tHv;\n};\n/* off 0x0020 */\tstruct PPM_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tstruct _PPM_PERF_STATES*\tPerfStates;\n/* off 0x0028 */\tunsigned long\tLastKernelUserTime;\n/* off 0x002c */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tLastGlobalTimeHv;\n/* off 0x0038 */\tunsigned __int64\tLastProcessorTimeHv;\n/* off 0x0040 */\tunsigned char\tThermalConstraint;\n/* off 0x0041 */\tunsigned char\tLastBusyPercentage;\n/* off 0x0042 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tPStateDomainIdleAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0048 */\tstruct _KTIMER\tPerfTimer;\n/* off 0x0070 */\tstruct _KDPC\tPerfDpc;\n/* off 0x0090 */\tunsigned long\tLastSysTime;\n/* off 0x0094 */\tstruct _KPRCB*\tPStateMaster;\n/* off 0x0098 */\tunsigned long\tPStateSet;\n/* off 0x009c */\tunsigned long\tCurrentPState;\n/* off 0x00a0 */\tunsigned long\tDesiredPState;\n/* off 0x00a4 */\tunsigned long\tPStateIdleStartTime;\n/* off 0x00a8 */\tunsigned long\tPStateIdleTime;\n/* off 0x00ac */\tunsigned long\tLastPStateIdleTime;\n/* off 0x00b0 */\tunsigned long\tPStateStartTime;\n/* off 0x00b4 */\tunsigned long\tDiaIndex;\n/* off 0x00b8 */\tunsigned long\tReserved0;\n/* off 0x00bc */\tunsigned long\tWmiDispatchPtr;\n/* off 0x00c0 */\tlong\tWmiInterfaceEnabled;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00002008 8200 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tunsigned long\tSetMember;\n/* off 0x0018 */\tchar\tCpuType;\n/* off 0x0019 */\tchar\tCpuID;\nunion\n{\n/* off 0x001a */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x001a */\tunsigned char\tCpuStepping;\n/* off 0x001b */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x001c */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x033c */\tunsigned long KernelReserved[16];\n/* off 0x037c */\tunsigned long HalReserved[16];\n/* off 0x03bc */\tunsigned long\tCFlushSize;\n/* off 0x03c0 */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03c1 */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03c2 */\tunsigned char PrcbPad0[2];\n/* off 0x03c4 */\tunsigned long\tMHz;\n/* off 0x03c8 */\tunsigned char PrcbPad1[80];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tSkipTick;\n/* off 0x05c5 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c6 */\tunsigned char\tNodeColor;\n/* off 0x05c7 */\tunsigned char\tPollSlot;\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tMultiThreadProcessorSet;\n/* off 0x05d4 */\tstruct _KPRCB*\tMultiThreadSetMaster;\n/* off 0x05d8 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05dc */\tunsigned long\tDpcTimeLimit;\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long PrcbPad2[3];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad5[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned char\tDpcInterruptRequested;\n/* off 0x1a19 */\tunsigned char\tDpcThreadRequested;\n/* off 0x1a1a */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a1b */\tunsigned char\tDpcThreadActive;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tvoid*\tPrcbPad41;\n/* off 0x1a30 */\tstruct _KEVENT\tDpcEvent;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tPrcbPad50;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\n/* off 0x1a44 */\tlong\tDpcSetEventRequest;\n/* off 0x1a48 */\tlong\tSleeping;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a54 */\tunsigned char PrcbPad51[6];\n/* off 0x1a5c */\tlong\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tunsigned long PrcbPad70[2];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned __int64 PrcbPad71[3];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char\tCpuVendor;\n/* off 0x1c29 */\tunsigned char PrcbPad8[3];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tSpareField1;\n/* off 0x1c60 */\tstruct _FX_SAVE_AREA\tNpxSaveArea;\n/* off 0x1e70 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1f38 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1f58 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1f80 */\tvoid*\tWheaInfo;\n/* off 0x1f84 */\tvoid*\tEtwSupport;\n/* off 0x1f88 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1f90 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1f98 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1f9c */\tvoid*\tVirtualApicAssist;\n/* off 0x1fa0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1fa4 */\tvoid*\tRateControl;\n/* off 0x1fa8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1fe4 */\tunsigned long\tCacheCount;\n/* off 0x1fe8 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1ffc */\tunsigned long\tPackageProcessorSet;\n/* off 0x2000 */\tunsigned long\tCoreProcessorSet;\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tSpareByte;\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\nunion\n{\n/* off 0x0038 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0038 */\tunsigned char ApcStateFill[23];\n/* off 0x004f */\tchar\tPriority;\n};\n};\n/* off 0x0050 */\tunsigned short\tNextProcessor;\n/* off 0x0052 */\tunsigned short\tDeferredProcessor;\n/* off 0x0054 */\tunsigned long\tApcQueueLock;\n/* off 0x0058 */\tunsigned long\tContextSwitches;\n/* off 0x005c */\tunsigned char\tState;\n/* off 0x005d */\tunsigned char\tNpxState;\n/* off 0x005e */\tunsigned char\tWaitIrql;\n/* off 0x005f */\tchar\tWaitMode;\n/* off 0x0060 */\tlong\tWaitStatus;\nunion\n{\n/* off 0x0064 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\n/* off 0x0064 */\tstruct _KGATE*\tGateObject;\n};\nunion\n{\nstruct\n{\n/* off 0x0068 */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x0068 */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x0068 */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x0068 */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x0068 */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x0068 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n};\n/* off 0x0068 */\tlong\tMiscFlags;\n};\n/* off 0x006c */\tunsigned char\tWaitReason;\n/* off 0x006d */\tunsigned char\tSwapBusy;\n/* off 0x006e */\tunsigned char Alerted[2];\nunion\n{\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0070 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x0078 */\tstruct _KQUEUE*\tQueue;\n/* off 0x007c */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0080 */\tshort\tKernelApcDisable;\n/* off 0x0082 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0080 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0084 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0088 */\tstruct _KTIMER\tTimer;\n/* off 0x0088 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b0 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b0 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b0 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b0 */\tunsigned long\tCycleChargePending:1\t /* start bit 4 */;\n/* off 0x00b0 */\tunsigned long\tCalloutActive:1\t /* start bit 5 */;\n/* off 0x00b0 */\tunsigned long\tApcQueueable:1\t /* start bit 6 */;\n/* off 0x00b0 */\tunsigned long\tEnableStackSwap:1\t /* start bit 7 */;\n/* off 0x00b0 */\tunsigned long\tGuiThread:1\t /* start bit 8 */;\n/* off 0x00b0 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b0 */\tlong\tThreadFlags;\n};\nunion\n{\n/* off 0x00b8 */\tstruct _KWAIT_BLOCK WaitBlock[4];\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill0[23];\n/* off 0x00cf */\tunsigned char\tIdealProcessor;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill1[47];\n/* off 0x00e7 */\tchar\tPreviousMode;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill2[71];\n/* off 0x00ff */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x00b8 */\tunsigned char WaitBlockFill3[95];\n/* off 0x0117 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x0118 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0120 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x0124 */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0128 */\tvoid*\tCallbackStack;\n/* off 0x0128 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x012c */\tvoid*\tServiceTable;\n/* off 0x0130 */\tunsigned char\tApcStateIndex;\n/* off 0x0131 */\tchar\tBasePriority;\n/* off 0x0132 */\tchar\tPriorityDecrement;\n/* off 0x0133 */\tunsigned char\tPreempted;\n/* off 0x0134 */\tunsigned char\tAdjustReason;\n/* off 0x0135 */\tchar\tAdjustIncrement;\n/* off 0x0136 */\tunsigned char\tSpare01;\n/* off 0x0137 */\tchar\tSaturation;\n/* off 0x0138 */\tunsigned long\tSystemCallNumber;\n/* off 0x013c */\tunsigned long\tFreezeCount;\n/* off 0x0140 */\tunsigned long\tUserAffinity;\n/* off 0x0144 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0148 */\tunsigned long\tAffinity;\n/* off 0x014c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0154 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0154 */\tunsigned char SavedApcStateFill[23];\n/* off 0x016b */\tunsigned char\tSpare02;\n};\n};\n/* off 0x016c */\tchar\tSuspendCount;\n/* off 0x016d */\tunsigned char\tUserIdealProcessor;\n/* off 0x016e */\tunsigned char\tSpare03;\n/* off 0x016f */\tunsigned char\tOtherPlatformFill;\n/* off 0x0170 */\tvoid*\tWin32Thread;\n/* off 0x0174 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0178 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0179 */\tchar\tSpare04;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill1[3];\n/* off 0x017b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill2[4];\n/* off 0x017c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill3[36];\n/* off 0x019c */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01a0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0178 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01a7 */\tunsigned char\tPowerState;\n};\n};\n/* off 0x01a8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01ac */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01ac */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01c0 */\tunsigned long\tSListFaultCount;\n/* off 0x01c4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01cc */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01d4 */\tvoid*\tSListFaultAddress;\n/* off 0x01d8 */\tvoid*\tMdlForLockedTeb;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nstruct _KPROCESS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tunsigned long\tUnused0;\n/* off 0x0020 */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0028 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x0030 */\tunsigned short\tIopmOffset;\n/* off 0x0032 */\tunsigned char\tUnused1;\n/* off 0x0033 */\tunsigned char\tUnused2;\n/* off 0x0034 */\tunsigned long\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tunsigned long\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0060 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0060 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0060 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0060 */\tlong\tReservedFlags:29\t /* start bit 3 */;\n};\n/* off 0x0060 */\tlong\tProcessFlags;\n};\n/* off 0x0064 */\tchar\tBasePriority;\n/* off 0x0065 */\tchar\tQuantumReset;\n/* off 0x0066 */\tunsigned char\tState;\n/* off 0x0067 */\tunsigned char\tThreadSeed;\n/* off 0x0068 */\tunsigned char\tPowerState;\n/* off 0x0069 */\tunsigned char\tIdealNode;\n/* off 0x006a */\tunsigned char\tVisited;\nunion\n{\n/* off 0x006b */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006b */\tunsigned char\tExecuteOptions;\n};\n/* off 0x006c */\tunsigned long\tStackCount;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0078 */\tunsigned __int64\tCycleTime;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFill:7\t /* start bit 1 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tunion _SLIST_HEADER\tPfnDereferenceSListHead;\n/* off 0x0028 */\tunsigned long\tProcessorMask;\n/* off 0x002c */\tunsigned char\tColor;\n/* off 0x002d */\tunsigned char\tSeed;\n/* off 0x002e */\tunsigned char\tNodeNumber;\n/* off 0x002f */\tstruct _flags\tFlags;\n/* off 0x0030 */\tunsigned long\tMmShiftedColor;\n/* off 0x0034 */\tunsigned long FreeCount[2];\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY*\tPfnDeferredList;\n/* off 0x0040 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tunsigned long\tLatency;\n/* off 0x000c */\tunsigned long\tPower;\n/* off 0x0010 */\tunsigned long\tTimeCheck;\n/* off 0x0014 */\tunsigned long\tStateFlags;\n/* off 0x0018 */\tunsigned char\tPromotePercent;\n/* off 0x0019 */\tunsigned char\tDemotePercent;\n/* off 0x001a */\tunsigned char\tPromotePercentBase;\n/* off 0x001b */\tunsigned char\tDemotePercentBase;\n/* off 0x001c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHypervisor:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:24\t /* start bit 8 */;\n\t};\n\t}\tFlags;\n/* off 0x000c */\tunsigned long\tTargetState;\n/* off 0x0010 */\tunsigned long\tActualState;\n/* off 0x0014 */\tunsigned long\tOldState;\n/* off 0x0018 */\tunsigned long\tTargetProcessors;\n/* off 0x001c */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct PPM_IDLE_STATE_ACCOUNTING /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tIdleTransitions;\n/* off 0x0004 */\tunsigned long\tFailedTransitions;\n/* off 0x0008 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0010 */\tunsigned __int64\tTotalTime;\n/* off 0x0018 */\tunsigned long IdleTimeBuckets[6];\n};\nstruct PPM_IDLE_ACCOUNTING /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tstruct PPM_IDLE_STATE_ACCOUNTING State[1];\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tUsingHypervisor:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tNoDomainAccounting:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 4 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tunsigned long\tTargetProcessors;\n/* off 0x0034 */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0038 */\tunsigned long\tPStateContext;\n/* off 0x003c */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tTStateContext;\n/* off 0x0044 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0048 */\tstruct _PPM_DIA_STATS*\tDiaStats;\n/* off 0x004c */\tunsigned long\tDiaStatsCount;\n/* off 0x0050 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _PPM_DIA_STATS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tPerfLevel;\n/* off 0x0004 */\tunsigned long\tIdleTime;\n/* off 0x0008 */\tunsigned long\tTimeInterval;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _KPCR /* sizeof 00002128 8488 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueDispatcherLock\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 00000288 648 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x01e0 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x01e8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x01f0 */\tlong\tExitStatus;\n/* off 0x01f0 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x01f4 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x01f4 */\tvoid*\tForwardLinkShadow;\n/* off 0x01f8 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x01fc */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x01fc */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x01fc */\tvoid*\tKeyedWaitValue;\n/* off 0x01fc */\tvoid*\tWin32StartParameter;\n};\n/* off 0x0200 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0204 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x020c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0214 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0214 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0228 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x022c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0234 */\tunsigned long\tTopLevelIrp;\n/* off 0x0238 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x023c */\tunion _PSP_RATE_APC*\tRateControlApc;\n/* off 0x0240 */\tvoid*\tWin32StartAddress;\n/* off 0x0244 */\tvoid*\tSparePtr0;\n/* off 0x0248 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0250 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0254 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0258 */\tunsigned long\tReadClusterSize;\n/* off 0x025c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0260 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0264 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0264 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0264 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0264 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0264 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0264 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0264 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0264 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0268 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned char\tOwnsSystemWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0268 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0269 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0269 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0269 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0269 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0269 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0269 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x026a */\tunsigned char\tSpare1:8\t /* start bit 0 */;\n/* off 0x026b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x026c */\tunsigned char\tCacheManagerActive;\n/* off 0x026d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x026e */\tunsigned char\tActiveFaultCount;\n/* off 0x0270 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0274 */\tvoid*\tAlpcMessage;\n/* off 0x0274 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0278 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x0280 */\tunsigned long\tCacheManagerCount;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\n/* off 0x0004 */\tlong\tOwnerCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tSessionSpace:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tSessionMaster:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTrimmerAttached:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tReserved:3\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0018 */\tunsigned long\tChargedWslePages;\n/* off 0x001c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0020 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0024 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0028 */\tunsigned long\tClaim;\n/* off 0x002c */\tunsigned long\tActualWslePages;\n/* off 0x0030 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0038 */\tunsigned long\tWorkingSetSize;\n/* off 0x003c */\tstruct _KGATE*\tExitGate;\n/* off 0x0040 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0044 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0080 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0098 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x009c */\tvoid*\tUniqueProcessId;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00a8 */\tunsigned long QuotaUsage[3];\n/* off 0x00b4 */\tunsigned long QuotaPeak[3];\n/* off 0x00c0 */\tunsigned long\tCommitCharge;\n/* off 0x00c4 */\tunsigned long\tPeakVirtualSize;\n/* off 0x00c8 */\tunsigned long\tVirtualSize;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00d4 */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00d8 */\tvoid*\tExceptionPortData;\n/* off 0x00d8 */\tunsigned long\tExceptionPortValue;\n/* off 0x00d8 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00dc */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00e0 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00e4 */\tunsigned long\tWorkingSetPage;\n/* off 0x00e8 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x00ec */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x00f0 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x00f4 */\tunsigned long\tHardwareTrigger;\n/* off 0x00f8 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x00fc */\tvoid*\tCloneRoot;\n/* off 0x0100 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x0104 */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0108 */\tvoid*\tWin32Process;\n/* off 0x010c */\tstruct _EJOB*\tJob;\n/* off 0x0110 */\tvoid*\tSectionObject;\n/* off 0x0114 */\tvoid*\tSectionBaseAddress;\n/* off 0x0118 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x011c */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0120 */\tvoid*\tWin32WindowStation;\n/* off 0x0124 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0128 */\tvoid*\tLdtInformation;\n/* off 0x012c */\tvoid*\tSpare;\n/* off 0x0130 */\tvoid*\tVdmObjects;\n/* off 0x0134 */\tvoid*\tDeviceMap;\n/* off 0x0138 */\tvoid*\tEtwDataSource;\n/* off 0x013c */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0140 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0140 */\tunsigned __int64\tFiller;\n};\n/* off 0x0148 */\tvoid*\tSession;\n/* off 0x014c */\tunsigned char ImageFileName[16];\n/* off 0x015c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0164 */\tvoid*\tLockedPagesList;\n/* off 0x0168 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0170 */\tvoid*\tSecurityPort;\n/* off 0x0174 */\tvoid*\tPaeTop;\n/* off 0x0178 */\tunsigned long\tActiveThreads;\n/* off 0x017c */\tunsigned long\tImagePathHash;\n/* off 0x0180 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x0184 */\tlong\tLastThreadExitStatus;\n/* off 0x0188 */\tstruct _PEB*\tPeb;\n/* off 0x018c */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x0190 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x0198 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01a0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01c0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01c4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01c8 */\tvoid*\tAweInfo;\n/* off 0x01cc */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01d0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0218 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0220 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0224 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0224 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0224 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0224 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0224 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0224 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0224 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0224 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0224 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0224 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0224 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0224 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0224 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0224 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0224 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0224 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0224 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0224 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0224 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0224 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0228 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0228 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0228 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0228 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0228 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0228 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0228 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0228 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0228 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0228 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0228 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0228 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0228 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0228 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0228 */\tunsigned long\tSmapAllowed:1\t /* start bit 25 */;\n/* off 0x0228 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0228 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0228 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0228 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x022c */\tlong\tExitStatus;\n/* off 0x0230 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x0232 */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x0233 */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0232 */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x0234 */\tunsigned char\tPriorityClass;\n/* off 0x0238 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0258 */\tunsigned long\tCookie;\n/* off 0x025c */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n};\nstruct _HANDLE_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tlong\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tlong\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tlong\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000128 296 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tunsigned long\tAffinity;\n/* off 0x00ac */\tunsigned char\tPriorityClass;\n/* off 0x00b0 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00b4 */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00b8 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00bc */\tvoid*\tCompletionPort;\n/* off 0x00c0 */\tvoid*\tCompletionKey;\n/* off 0x00c4 */\tunsigned long\tSessionId;\n/* off 0x00c8 */\tunsigned long\tSchedulingClass;\n/* off 0x00d0 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00d8 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f0 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0100 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x0104 */\tunsigned long\tJobMemoryLimit;\n/* off 0x0108 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x010c */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0110 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x0114 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0120 */\tunsigned long\tMemberLevel;\n/* off 0x0124 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _PEB /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:28\t /* start bit 4 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tSpareUlong;\n/* off 0x0038 */\tunsigned long\tSparePebPtr0;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000294 660 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d18 3352 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextEstimationSlot;\n/* off 0x0020 */\tunsigned long\tNextAgingSlot;\n/* off 0x0024 */\tunsigned long\tEstimatedAvailable;\n/* off 0x0028 */\tunsigned long\tGrowthSinceLastEstimate;\n/* off 0x002c */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0030 */\tunsigned long\tVadBitMapHint;\n/* off 0x0034 */\tunsigned long\tNonDirectCount;\n/* off 0x0038 */\tunsigned long\tLastVadBit;\n/* off 0x003c */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0040 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0044 */\tunsigned long\tLastAllocationSize;\n/* off 0x0048 */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x004c */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0050 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0054 */\tvoid*\tHighestUserAddress;\n/* off 0x0058 */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c58 */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tLockedInWs:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tLockedInMemory:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tAge:2\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileMaximumInformation\t=0x00000033\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tenum _IRQ_DEVICE_POLICY\tAffinityPolicy;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_DEVICE_POLICY\n{\n\tIrqPolicyMachineDefault\t=0x00000000\t,//0\n\tIrqPolicyAllCloseProcessors\t=0x00000001\t,//0\n\tIrqPolicyOneCloseProcessor\t=0x00000002\t,//0\n\tIrqPolicyAllProcessorsInMachine\t=0x00000003\t,//0\n\tIrqPolicySpecifiedProcessors\t=0x00000004\t,//0\n\tIrqPolicySpreadMessagesAcrossAllProcessors\t=0x00000005\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tReserved;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tLevel;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _POWER_CHANNEL_SUMMARY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tTotalCount;\n/* off 0x0008 */\tunsigned long\tD0Count;\n/* off 0x000c */\tstruct _LIST_ENTRY\tNotifyList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tTotalBusyCount;\n/* off 0x000c */\tunsigned long\tConservationIdleTime;\n/* off 0x0010 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0020 */\tunsigned char\tDeviceType;\n/* off 0x0024 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x002c */\tstruct _LIST_ENTRY\tNotifySourceList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tNotifyTargetList;\n/* off 0x003c */\tstruct _POWER_CHANNEL_SUMMARY\tPowerChannelSummary;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0058 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nunion _PSP_RATE_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000000 0 */\n{\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned long\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _ERESOURCE\tMutex;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x00b4 */\tunsigned long\tKey;\n/* off 0x00b8 */\tstruct _EX_PUSH_LOCK ObjectLocks[32];\n/* off 0x0138 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _OBJECT_TYPE*\tType;\n/* off 0x000c */\tunsigned char\tNameInfoOffset;\n/* off 0x000d */\tunsigned char\tHandleInfoOffset;\n/* off 0x000e */\tunsigned char\tQuotaInfoOffset;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tvoid*\tParseContext;\n/* off 0x000c */\tchar\tProbeMode;\n/* off 0x0010 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0018 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x001c */\tvoid*\tSecurityDescriptor;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0024 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tstruct _EPROCESS*\tExclusiveProcess;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tunsigned long\tQueryReferences;\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nstruct _ETW_KERNEL_TRACE_TIMESTAMP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER KernelTraceTimeStamp[2];\n};\nstruct _PERFINFO_HARDPAGEFAULT_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tReadOffset;\n/* off 0x0008 */\tvoid*\tVirtualAddress;\n/* off 0x000c */\tvoid*\tFileObject;\n/* off 0x0010 */\tunsigned long\tThreadId;\n/* off 0x0014 */\tunsigned long\tByteCount;\n};\nstruct _PF_HARD_FAULT_INFO /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _ETW_KERNEL_TRACE_TIMESTAMP\tKernelTimeStamp;\n/* off 0x0010 */\tstruct _PERFINFO_HARDPAGEFAULT_INFORMATION\tHardFaultEvent;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tIoTimeInTicks;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:8\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevNone\t=0x00000003\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tCpuValid:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tProcessorType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionSet:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tOperation:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tFlags:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tLevel:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tCPUVersion:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCPUBrandString:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tProcessorId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tTargetAddress:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInstructionPointer:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:51\t /* start bit 13 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_GENERIC_PROCESSOR_ERROR /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tunion _WHEA_GENERIC_PROCESSOR_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunsigned char\tProcessorType;\n/* off 0x0009 */\tunsigned char\tInstructionSet;\n/* off 0x000a */\tunsigned char\tErrorType;\n/* off 0x000b */\tunsigned char\tOperation;\n/* off 0x000c */\tunsigned char\tFlags;\n/* off 0x000d */\tunsigned char\tLevel;\n/* off 0x000e */\tunsigned short\tReserved;\n/* off 0x0010 */\tunsigned __int64\tCPUVersion;\n/* off 0x0018 */\tunsigned char CPUBrandString[128];\n/* off 0x0098 */\tunsigned __int64\tProcessorId;\n/* off 0x00a0 */\tunsigned __int64\tTargetAddress;\n/* off 0x00a8 */\tunsigned __int64\tRequesterId;\n/* off 0x00b0 */\tunsigned __int64\tResponderId;\n/* off 0x00b8 */\tunsigned __int64\tInstructionPointer;\n};\nunion _WHEA_MEMORY_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nunion _WHEA_NMI_ERROR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_NMI_ERROR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char Data[8];\n/* off 0x0008 */\tunion _WHEA_NMI_ERROR_FLAGS\tFlags;\n};\nunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tPortType:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tVersion:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tCommandStatus:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceId:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tDeviceSerialNumber:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBridgeControlStatus:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tExpressCapability:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tAerInfo:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:56\t /* start bit 8 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIEXPRESS_VERSION /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorVersion;\n/* off 0x0001 */\tunsigned char\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tReserved;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PCIEXPRESS_COMMAND_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tCommand;\n/* off 0x0002 */\tunsigned short\tStatus;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_DEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorID;\n/* off 0x0002 */\tunsigned short\tDeviceID;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tSegment:16\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tPrimaryBusNumber:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tSecondaryBusNumber:8\t /* start bit 0 */;\n/* off 0x000c */\tunsigned long\tReserved1:2\t /* start bit 8 */;\n/* off 0x000c */\tunsigned long\tSlotNumber:14\t /* start bit 10 */;\n/* off 0x000c */\tunsigned long\tReserved2:8\t /* start bit 24 */;\n};\nunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tBridgeSecondaryStatus;\n/* off 0x0002 */\tunsigned short\tBridgeControl;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_PCIEXPRESS_ERROR /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIEXPRESS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tenum WHEA_PCIEXPRESS_DEVICE_TYPE\tPortType;\n/* off 0x000c */\tunion _WHEA_PCIEXPRESS_VERSION\tVersion;\n/* off 0x0010 */\tunion _WHEA_PCIEXPRESS_COMMAND_STATUS\tCommandStatus;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tstruct _WHEA_PCIEXPRESS_DEVICE_ID\tDeviceId;\n/* off 0x0028 */\tunsigned __int64\tDeviceSerialNumber;\n/* off 0x0030 */\tunion _WHEA_PCIEXPRESS_BRIDGE_CONTROL_STATUS\tBridgeControlStatus;\n/* off 0x0034 */\tunsigned char ExpressCapability[60];\n/* off 0x0070 */\tunsigned char AerInfo[96];\n};\nunion _WHEA_PCIXBUS_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tBusId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tBusAddress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tBusData:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tBusCommand:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tCompleterId:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:55\t /* start bit 9 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_PCIXBUS_ID /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tBusNumber;\n/* off 0x0001 */\tunsigned char\tBusSegment;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_PCIXBUS_COMMAND /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tCommand:56\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPCIXCommand:1\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 57 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_PCIXBUS_ERROR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXBUS_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned short\tErrorType;\n/* off 0x0012 */\tunion _WHEA_PCIXBUS_ID\tBusId;\n/* off 0x0014 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tBusAddress;\n/* off 0x0020 */\tunsigned __int64\tBusData;\n/* off 0x0028 */\tunion _WHEA_PCIXBUS_COMMAND\tBusCommand;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tCompleterId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n};\nunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tIdInfo:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tMemoryNumber:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tIoNumber:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tRegisterDataPairs:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:59\t /* start bit 5 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nstruct _WHEA_PCIXDEVICE_ID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tVendorId;\n/* off 0x0002 */\tunsigned short\tDeviceId;\n/* off 0x0004 */\tunsigned long\tClassCode:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tFunctionNumber:8\t /* start bit 24 */;\n/* off 0x0008 */\tunsigned long\tDeviceNumber:8\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tBusNumber:8\t /* start bit 8 */;\n/* off 0x0008 */\tunsigned long\tSegmentNumber:8\t /* start bit 16 */;\n/* off 0x0008 */\tunsigned long\tReserved1:8\t /* start bit 24 */;\n/* off 0x000c */\tunsigned long\tReserved2;\n};\nstruct WHEA_PCIXDEVICE_REGISTER_PAIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tRegister;\n/* off 0x0008 */\tunsigned __int64\tData;\n};\nstruct _WHEA_PCIXDEVICE_ERROR /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunion _WHEA_PCIXDEVICE_ERROR_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tstruct _WHEA_PCIXDEVICE_ID\tIdInfo;\n/* off 0x0020 */\tunsigned long\tMemoryNumber;\n/* off 0x0024 */\tunsigned long\tIoNumber;\n/* off 0x0028 */\tstruct WHEA_PCIXDEVICE_REGISTER_PAIR RegisterDataPairs[4];\n};\nstruct _WHEA_ERROR_PACKET /* sizeof 00000119 281 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tRawDataLength;\n/* off 0x0010 */\tunsigned __int64\tReserved1;\n/* off 0x0018 */\tunsigned __int64\tContext;\n/* off 0x0020 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0024 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0028 */\tunsigned long\tErrorSourceId;\n/* off 0x002c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0030 */\tunsigned long\tReserved2;\n/* off 0x0034 */\tunsigned long\tVersion;\n/* off 0x0038 */\tunsigned __int64\tCpu;\n/* off 0x0040 */\t\n\tunion  /* sizeof 000000d0 208 */\n\t{\n\t/* off 0x0000 */\tstruct _WHEA_GENERIC_PROCESSOR_ERROR\tProcessorError;\n\t/* off 0x0000 */\tstruct _WHEA_MEMORY_ERROR\tMemoryError;\n\t/* off 0x0000 */\tstruct _WHEA_NMI_ERROR\tNmiError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIEXPRESS_ERROR\tPciExpressError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXBUS_ERROR\tPciXBusError;\n\t/* off 0x0000 */\tstruct _WHEA_PCIXDEVICE_ERROR\tPciXDeviceError;\n\t}\tu;\n/* off 0x0110 */\tenum _WHEA_RAW_DATA_FORMAT\tRawDataFormat;\n/* off 0x0114 */\tunsigned long\tRawDataOffset;\n/* off 0x0118 */\tunsigned char RawData[1];\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum WHEA_PCIEXPRESS_DEVICE_TYPE\n{\n\tWheaPciExpressEndpoint\t=0x00000000\t,//0\n\tWheaPciExpressLegacyEndpoint\t=0x00000001\t,//0\n\tWheaPciExpressRootPort\t=0x00000004\t,//0\n\tWheaPciExpressUpstreamSwitchPort\t=0x00000005\t,//0\n\tWheaPciExpressDownstreamSwitchPort\t=0x00000006\t,//0\n\tWheaPciExpressToPciXBridge\t=0x00000007\t,//0\n\tWheaPciXToExpressBridge\t=0x00000008\t,//0\n\tWheaPciExpressRootComplexIntegratedEndpoint\t=0x00000009\t,//0\n\tWheaPciExpressRootComplexEventCollector\t=0x0000000a\t,//0\n};\nenum _WHEA_RAW_DATA_FORMAT\n{\n\tWheaRawDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaRawDataFormatIA32MCA\t=0x00000001\t,//0\n\tWheaRawDataFormatIntel64MCA\t=0x00000002\t,//0\n\tWheaRawDataFormatAMD64MCA\t=0x00000003\t,//0\n\tWheaRawDataFormatMemory\t=0x00000004\t,//0\n\tWheaRawDataFormatPCIExpress\t=0x00000005\t,//0\n\tWheaRawDataFormatNMIPort\t=0x00000006\t,//0\n\tWheaRawDataFormatPCIXBus\t=0x00000007\t,//0\n\tWheaRawDataFormatPCIXDevice\t=0x00000008\t,//0\n\tWheaRawDataFormatGeneric\t=0x00000009\t,//0\n\tWheaRawDataFormatMax\t=0x0000000a\t,//0\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tGlobalTimeStamp:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _ALPHA_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 0000007c 124 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0018 */\tunsigned long\tKernelStack;\n/* off 0x001c */\tunsigned long\tPrcb;\n/* off 0x0020 */\tunsigned long\tProcess;\n/* off 0x0024 */\tunsigned long\tThread;\n/* off 0x0028 */\tunsigned long\tRegistryLength;\n/* off 0x002c */\tvoid*\tRegistryBase;\n/* off 0x0030 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0034 */\tchar*\tArcBootDeviceName;\n/* off 0x0038 */\tchar*\tArcHalDeviceName;\n/* off 0x003c */\tchar*\tNtBootPathName;\n/* off 0x0040 */\tchar*\tNtHalPathName;\n/* off 0x0044 */\tchar*\tLoadOptions;\n/* off 0x0048 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x004c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0050 */\tvoid*\tOemFontFile;\n/* off 0x0054 */\tstruct _SETUP_LOADER_BLOCK*\tSetupLoaderBlock;\n/* off 0x0058 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x005c */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _ALPHA_LOADER_BLOCK\tAlpha;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0068 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\n/* off 0x0014 */\tunsigned long\tAffinityMask;\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _SETUP_LOADER_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tunsigned long\tMajorVersion;\n/* off 0x0018 */\tunsigned long\tMinorVersion;\n/* off 0x001c */\tvoid*\tEmInfFileImage;\n/* off 0x0020 */\tunsigned long\tEmInfFileSize;\n/* off 0x0024 */\tvoid*\tTriageDumpBlock;\n/* off 0x0028 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x002c */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0030 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x0034 */\tvoid*\tDrvDBImage;\n/* off 0x0038 */\tunsigned long\tDrvDBSize;\n/* off 0x003c */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0040 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x0044 */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0050 */\tvoid*\tAcpiTable;\n/* off 0x0054 */\tunsigned long\tAcpiTableSize;\n/* off 0x0058 */\tunsigned long\tBootViaWinload:1\t /* start bit 0 */;\n/* off 0x0058 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x005c */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0068 */\tvoid*\tWmdTestResult;\n/* off 0x006c */\tstruct _GUID\tBootIdentifier;\n/* off 0x007c */\tunsigned long\tResumePages;\n/* off 0x0080 */\tvoid*\tDumpHeader;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0002 */\tunsigned char\tByteFlags;\n\t\t/* off 0x0003 */\tunsigned char\tInterlockedByteFlags;\n\t\t}\te3;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nstruct _MMPTE_FLUSH_LIST /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaximumCount;\n/* off 0x0008 */\tvoid* FlushVa[33];\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tContainsPxeSubsection:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tunsigned long\tBitmapHint;\n/* off 0x0034 */\tunsigned long\tLastAllocationSize;\n/* off 0x0038 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0038 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0038 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x003a */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x003a */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x003c */\tvoid*\tFileHandle;\n/* off 0x0040 */\tunion _SLIST_HEADER\tAvailableList;\n/* off 0x0048 */\tunion _SLIST_HEADER\tNeedProcessingList;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMPAGING_FILE_FREE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tunsigned long\tFreeBit;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CMHIVE /* sizeof 000005e0 1504 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0314 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0318 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x031c */\tunsigned long\tViewLockLast;\n/* off 0x0320 */\tunsigned long\tViewUnLockLast;\n/* off 0x0324 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0328 */\tstruct _EX_PUSH_LOCK\tFlusherLock;\n/* off 0x032c */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0330 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0338 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0340 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0348 */\tunsigned short\tMappedViewCount;\n/* off 0x034a */\tunsigned short\tPinnedViewCount;\n/* off 0x034c */\tunsigned long\tUseCount;\n/* off 0x0350 */\tunsigned long\tViewsPerHive;\n/* off 0x0354 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0358 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0360 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0368 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x0370 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x0378 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x0380 */\tunsigned long\tSecurityCount;\n/* off 0x0384 */\tunsigned long\tSecurityCacheSize;\n/* off 0x0388 */\tlong\tSecurityHitHint;\n/* off 0x038c */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x0390 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x0590 */\tunsigned long\tUnloadEventCount;\n/* off 0x0594 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x0598 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x059c */\tunsigned char\tFrozen;\n/* off 0x05a0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05a4 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05a8 */\tunsigned long\tGrowOffset;\n/* off 0x05ac */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05b4 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x05bc */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x05c0 */\tunsigned long\tFlags;\n/* off 0x05c4 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x05cc */\tunsigned long\tFlushCount;\n/* off 0x05d0 */\tstruct _CM_RM*\tCmRm;\n/* off 0x05d4 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x05d8 */\tlong\tCmRmInitFailStatus;\n/* off 0x05dc */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:9\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tDelayedCloseIndex:11\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 22 */;\nunion\n{\n/* off 0x0008 */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tConvKey;\n/* off 0x000c */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0010 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0014 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x001c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0020 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0024 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x002c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x002c */\tunsigned long\tHashKey;\n/* off 0x002c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0030 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0038 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0048 */\tvoid*\tDelayCloseEntry;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0058 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x005a */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x005c */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0060 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0060 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0060 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0060 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x006c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0070 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0078 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0080 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0088 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x008c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[8];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_WORKITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _TEB /* sizeof 00000ff8 4088 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\n/* off 0x0f74 */\tunsigned char\tSpareBool0;\n/* off 0x0f75 */\tunsigned char\tSpareBool1;\n/* off 0x0f76 */\tunsigned char\tSpareBool2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tImpersonationLocale;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tDbgSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tDbgInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tDbgHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tDbgSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tDbgWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tDbgRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tDbgClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tDbgSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tRtlDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tProcessRundown;\n/* off 0x0fe0 */\tunsigned __int64\tLastSwitchTime;\n/* off 0x0fe8 */\tunsigned __int64\tTotalSwitchOutTime;\n/* off 0x0ff0 */\tunion _LARGE_INTEGER\tWaitReasonBitMap;\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x000c */\tunsigned char\tOrderLevel;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0014 */\tunsigned short*\tDeviceName;\n/* off 0x0018 */\tunsigned short*\tDriverName;\n/* off 0x001c */\tunsigned long\tChildCount;\n/* off 0x0020 */\tunsigned long\tActiveChild;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0038 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0048 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x004c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0050 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00a0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00a4 */\tlong\tCompletionStatus;\n/* off 0x00a8 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00ac */\tunsigned long\tFlags;\n/* off 0x00b0 */\tunsigned long\tUserFlags;\n/* off 0x00b4 */\tunsigned long\tProblem;\n/* off 0x00b8 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00bc */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00c0 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00c4 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00cc */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00d4 */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00d8 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00dc */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00e0 */\tunsigned long\tBusNumber;\n/* off 0x00e4 */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x00e8 */\tunsigned long\tChildBusNumber;\n/* off 0x00ec */\tunsigned short\tChildBusTypeIndex;\n/* off 0x00ee */\tunsigned char\tRemovalPolicy;\n/* off 0x00ef */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x00f0 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0100 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0108 */\tunsigned short\tNoTranslatorMask;\n/* off 0x010a */\tunsigned short\tQueryTranslatorMask;\n/* off 0x010c */\tunsigned short\tNoArbiterMask;\n/* off 0x010e */\tunsigned short\tQueryArbiterMask;\n/* off 0x0110 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x0114 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0118 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x011c */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0120 */\tunsigned long\tCapabilityFlags;\n/* off 0x0124 */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x0134 */\tunsigned long\tDisableableDepends;\n/* off 0x0138 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0140 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0148 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x014c */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0150 */\tunsigned long\tDeletedChildren;\n/* off 0x0154 */\tunsigned long\tNumaNodeIndex;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunion _LARGE_INTEGER ReadAheadOffset[2];\n/* off 0x0040 */\tunsigned long ReadAheadLength[2];\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _VACB*\tActiveVacb;\n/* off 0x004c */\tvoid*\tNeedToZero;\n/* off 0x0050 */\tunsigned long\tActivePage;\n/* off 0x0054 */\tunsigned long\tNeedToZeroPage;\n/* off 0x0058 */\tunsigned long\tActiveVacbSpinLock;\n/* off 0x005c */\tunsigned long\tVacbActiveCount;\n/* off 0x0060 */\tunsigned long\tDirtyPages;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x006c */\tunsigned long\tFlags;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct _MBCB*\tMbcb;\n/* off 0x0078 */\tvoid*\tSection;\n/* off 0x007c */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0080 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0084 */\tunsigned long\tPagesToWrite;\n/* off 0x0088 */\t__int64\tBeyondLastFlush;\n/* off 0x0090 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x0094 */\tvoid*\tLazyWriteContext;\n/* off 0x0098 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x00a0 */\tvoid*\tLogHandle;\n/* off 0x00a4 */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a8 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00ac */\tunsigned long\tLazyWritePassCount;\n/* off 0x00b0 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00b4 */\tstruct _VACB*\tNeedToZeroVacb;\n/* off 0x00b8 */\tunsigned long\tBcbSpinLock;\n/* off 0x00bc */\tvoid*\tReserved;\n/* off 0x00c0 */\tstruct _KEVENT\tEvent;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00d8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0130 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0134 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0138 */\tunsigned long\tProcImagePathHash;\n/* off 0x013c */\tunsigned long\tMappedWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLruList;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tMappingCount;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0040 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0060 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tCoalescedWorkQueueLinks;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x0014 */\tunsigned char\tFunction;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0044 */\tunsigned long\tInBlockDeccomitSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0124 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _WNODE_HEADER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tProviderId;\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tHistoricalContext;\nstruct\n{\n/* off 0x0008 */\tunsigned long\tVersion;\n/* off 0x000c */\tunsigned long\tLinkage;\n};\n};\nunion\n{\n/* off 0x0010 */\tunsigned long\tCountLost;\n/* off 0x0010 */\tvoid*\tKernelHandle;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n};\n/* off 0x0018 */\tstruct _GUID\tGuid;\n/* off 0x0028 */\tunsigned long\tClientContext;\n/* off 0x002c */\tunsigned long\tFlags;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _WNODE_HEADER\tWnode;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\nunion\n{\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x002c */\tunsigned long\tFlags;\n};\n};\n};\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPadding2;\nunion\n{\nstruct\n{\n/* off 0x003c */\tstruct _SINGLE_LIST_ENTRY\tGlobalEntry;\n};\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n};\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000280 640 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tvoid*\tLogFileHandle;\n/* off 0x000c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0010 */\tlong\tLoggerStatus;\n/* off 0x0014 */\tunsigned long\tLoggerId;\n/* off 0x0018 */\tvoid*\tNBQHead;\n/* off 0x001c */\tvoid*\tOverflowNBQHead;\n/* off 0x0020 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0028 */\tunion _SLIST_HEADER\tGlobalList;\n/* off 0x0030 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0034 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x003c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0044 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x004c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0054 */\tunsigned long\tClockType;\n/* off 0x0058 */\tlong\tCollectionOn;\n/* off 0x005c */\tunsigned long\tMaximumFileSize;\n/* off 0x0060 */\tunsigned long\tLoggerMode;\n/* off 0x0064 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0068 */\tunsigned long\tFlushTimer;\n/* off 0x006c */\tunsigned long\tFlushThreshold;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0078 */\tunion _LARGE_INTEGER\tFlushTimeStamp;\n/* off 0x0080 */\tunsigned long\tMinimumBuffers;\n/* off 0x0084 */\tlong\tBuffersAvailable;\n/* off 0x0088 */\tlong\tNumberOfBuffers;\n/* off 0x008c */\tunsigned long\tMaximumBuffers;\n/* off 0x0090 */\tunsigned long\tEventsLost;\n/* off 0x0094 */\tunsigned long\tBuffersWritten;\n/* off 0x0098 */\tunsigned long\tLogBuffersLost;\n/* off 0x009c */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00a0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00a4 */\tunsigned long\tBufferSize;\n/* off 0x00a8 */\tunsigned long\tMaximumEventSize;\n/* off 0x00ac */\tlong*\tSequencePtr;\n/* off 0x00b0 */\tunsigned long\tLocalSequence;\n/* off 0x00b4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00c4 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x00c8 */\tlong\tFileCounter;\n/* off 0x00cc */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d0 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00ec */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f4 */\tunsigned long\tNumConsumers;\n/* off 0x00f8 */\tstruct _LIST_ENTRY\tConnecting;\n/* off 0x0100 */\tunsigned char\tNewConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tunsigned long\tRealtimeDisconnectProcessId;\n/* off 0x0154 */\tunsigned long\tRealtimeDisconnectConsumerId;\n/* off 0x0158 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x015c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x016c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x017c */\tstruct _KDPC\tFlushDpc;\n/* off 0x019c */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01bc */\tstruct _EX_PUSH_LOCK\tLoggerLock;\n/* off 0x01c0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01fc */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\n/* off 0x0250 */\tlong\tAcceptNewEvents;\nunion\n{\n/* off 0x0254 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0254 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n};\n};\nunion\n{\n/* off 0x0258 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0258 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0258 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0258 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0258 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0258 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n};\n};\n/* off 0x025c */\tunsigned short\tStackTraceFilterHookCount;\n/* off 0x025e */\tunsigned short StackTraceFilter[16];\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tSpare4\t=0x00000017\t,//0\n\tSpare5\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tSectionObject;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0010 */\tvoid*\tSectionHandle;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0008 */\tunsigned long\tTotalHandles;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000f4 244 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tunsigned long\tSequenceNo;\n/* off 0x0014 */\tvoid*\tCompletionPort;\n/* off 0x0018 */\tvoid*\tCompletionKey;\n/* off 0x001c */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x0020 */\tvoid*\tPortContext;\n/* off 0x0024 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0068 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x0080 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0080 */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0084 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0088 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d0 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00d4 */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00d8 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00dc */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x00e0 */\tunsigned long\tMainQueueLength;\n/* off 0x00e4 */\tunsigned long\tPendingQueueLength;\n/* off 0x00e8 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00ec */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f0 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tvoid*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[0];\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _HANDLE_TABLE_ENTRY*\tUniqueTableEntry;\n/* off 0x0044 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x0060 */\tvoid*\tDataUserVa;\n/* off 0x0064 */\tvoid*\tDataSystemVa;\n/* off 0x0068 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x006c */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0070 */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0078 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x000c */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0014 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0018 */\tvoid*\tAddress;\n/* off 0x001c */\tunsigned long\tSize;\n/* off 0x0020 */\tvoid*\tSecureViewHandle;\n/* off 0x0024 */\tvoid*\tWriteAccessHandle;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x000c */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x0010 */\tunsigned long\tOffset;\n/* off 0x0014 */\tunsigned long\tSize;\n/* off 0x0018 */\tunsigned long\tViewSize;\n/* off 0x001c */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x0020 */\tstruct _KALPC_VIEW*\tReadWriteView;\n/* off 0x0024 */\tunsigned long\tNumberOfViews;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tViewListHead;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tstruct _OBJECT_TYPE*\tObjectType;\n/* off 0x0010 */\tunsigned long\tTargetAccess;\n/* off 0x0014 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0018 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e8 488 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SECURITY_TOKEN_PROXY_DATA*\tProxyData;\n/* off 0x00c0 */\tstruct _SECURITY_TOKEN_AUDIT_DATA*\tAuditData;\n/* off 0x00c4 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c8 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00d0 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0158 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01e0 */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SECURITY_TOKEN_PROXY_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _PROXY_CLASS\tProxyClass;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tPathInfo;\n/* off 0x0010 */\tunsigned long\tContainerMask;\n/* off 0x0014 */\tunsigned long\tObjectMask;\n};\nenum _PROXY_CLASS\n{\n\tProxyFull\t=0x00000000\t,//0\n\tProxyService\t=0x00000001\t,//0\n\tProxyTree\t=0x00000002\t,//0\n\tProxyDirectory\t=0x00000003\t,//0\n};\nstruct _SECURITY_TOKEN_AUDIT_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tGrantMask;\n/* off 0x0008 */\tunsigned long\tDenyMask;\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _DEVPROPKEY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _GUID\tfmtid;\n/* off 0x0010 */\tunsigned long\tpid;\n};\nenum _WAIT_TYPE\n{\n\tWaitAll\t=0x00000000\t,//0\n\tWaitAny\t=0x00000001\t,//0\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n/* off 0x004c */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000270 624 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tchar\tNumber;\n/* off 0x0035 */\tunsigned char\tShareVector;\n/* off 0x0038 */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x003c */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0040 */\tunsigned long\tServiceCount;\n/* off 0x0044 */\tunsigned long\tDispatchCount;\n/* off 0x0048 */\tunsigned __int64\tRsvd1;\n/* off 0x0050 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x001c */\tunsigned char\tThreadFinished;\n/* off 0x001d */\tunsigned char\tThreadStarted;\n/* off 0x001e */\tunsigned char\tAllocate;\n/* off 0x001f */\tunsigned char\tWinPERequired;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueue;\n/* off 0x0008 */\tstruct _KDPC\tScanDpc;\n/* off 0x0028 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0050 */\tunsigned char\tScanActive;\n/* off 0x0051 */\tunsigned char\tOtherWork;\n/* off 0x0052 */\tunsigned char\tPendingTeardown;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008a\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x0000008b\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned char\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\tstruct _MSUBSECTION*\tLastSubsectionHint;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POP_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE /* sizeof 000000d8 216 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n};\nenum POP_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPool\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaMaximumType\t=0x0000000d\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _PCI_HOTPLUG_SLOT_INTERRUPT\n{\n\tSlotInterruptPresenceDetect\t=0x00000000\t,//0\n\tSlotInterruptLatchChange\t=0x00000001\t,//0\n\tSlotInterruptAttentionButton\t=0x00000002\t,//0\n\tSlotInterruptLinkStateChange\t=0x00000003\t,//0\n\tSlotInterruptPowerFault\t=0x00000004\t,//0\n\tSlotInterruptMaximum\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000003b8 952 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[8];\n/* off 0x0390 */\tunsigned long HeapTracingPid[2];\n/* off 0x0398 */\tunsigned long CritSecTracingPid[2];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\nunion\n{\n/* off 0x03a8 */\tunsigned __int64\tAffinityPad;\n/* off 0x03a8 */\tunsigned long\tActiveProcessorAffinity;\n};\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POP_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_DISPLAY_RESUME_CONTEXT*\tDisplayResumeContext;\n/* off 0x003c */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000148 328 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[8];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0168 */\tlong\tNotifyGdiLevelForPowerOn;\n/* off 0x016c */\tlong\tNotifyGdiLevelForResumeUI;\n/* off 0x0170 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0178 */\tlong\tStatus;\n/* off 0x017c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x0180 */\tunsigned char\tWaking;\n/* off 0x0181 */\tunsigned char\tCancelled;\n/* off 0x0182 */\tunsigned char\tIgnoreErrors;\n/* off 0x0183 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x0184 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_DISPLAY_RESUME_CONTEXT /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tstruct _ETHREAD*\tWorkerThread;\n/* off 0x0014 */\tstruct _KEVENT\tPrepareUIEvent;\n/* off 0x0024 */\tstruct _KEVENT\tPowerOnEvent;\n/* off 0x0034 */\tstruct _KEVENT\tDoneEvent;\n/* off 0x0044 */\tunsigned long\tWorkerQueued;\n/* off 0x0048 */\tunsigned long\tWorkerAbort;\n/* off 0x004c */\tunsigned long\tNoResumeUI;\n};\nstruct _PO_HIBER_PERF /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tStartCount;\n/* off 0x0020 */\tunsigned long\tElapsedTime;\n/* off 0x0024 */\tunsigned long\tIoTime;\n/* off 0x0028 */\tunsigned long\tCopyTime;\n/* off 0x002c */\tunsigned long\tInitTime;\n/* off 0x0030 */\tunsigned long\tPagesWritten;\n/* off 0x0034 */\tunsigned long\tPagesProcessed;\n/* off 0x0038 */\tunsigned long\tBytesCopied;\n/* off 0x003c */\tunsigned long\tDumpCount;\n/* off 0x0040 */\tunsigned long\tFileRuns;\n/* off 0x0048 */\tunsigned __int64\tResumeAppStartTime;\n/* off 0x0050 */\tunsigned __int64\tResumeAppEndTime;\n/* off 0x0058 */\tunsigned __int64\tHiberFileResumeTime;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tstruct _PO_MEMORY_RANGE_TABLE*\tTableHead;\n/* off 0x0074 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x0078 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x007c */\tunsigned long*\tPerformanceStats;\n/* off 0x0080 */\tvoid*\tCompressionBlock;\n/* off 0x0084 */\tvoid*\tDmaIO;\n/* off 0x0088 */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00f0 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x00f4 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00f8 */\tvoid*\tResumeContext;\n/* off 0x00fc */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tTotalPages;\n/* off 0x0050 */\tunsigned long\tFirstTablePage;\n/* off 0x0058 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00b8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00bc */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00c0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00c4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00e4 */\tunsigned long\tNotUsed;\n/* off 0x00e8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00ec */\tunsigned long\tResumeContextPages;\n};\nstruct _PO_MEMORY_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStartPage;\n/* off 0x0004 */\tunsigned long\tEndPage;\n};\nstruct _PO_MEMORY_RANGE_TABLE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _PO_MEMORY_RANGE_TABLE*\tNext;\n/* off 0x0004 */\tunsigned long\tNextTable;\n/* off 0x0008 */\tunsigned long\tEntryCount;\n/* off 0x000c */\tstruct _PO_MEMORY_RANGE Range[1];\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct _MI_VERIFIER_DRIVER_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n/* off 0x0018 */\tvoid*\tStartAddress;\n/* off 0x001c */\tvoid*\tEndAddress;\n/* off 0x0020 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned long\tSignature;\n/* off 0x0028 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0030 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0038 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x003c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0040 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPagedBytes;\n/* off 0x004c */\tunsigned long\tNonPagedBytes;\n/* off 0x0050 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0054 */\tunsigned long\tPeakNonPagedBytes;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0010 */\tstruct _MMPTE\tFreePteTail;\n/* off 0x0018 */\tlong\tPagesInUse;\n/* off 0x001c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001ec0 7872 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0db8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0dbc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0dc0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1df4 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1df8 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e20 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e40 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e44 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e48 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e4c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e50 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1e7c */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1e80 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1e84 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1e88 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1e8c */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n};\nstruct _MMVIEW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000006\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _MMPFNLIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nenum _KTHREAD_STATE\n{\n\tInitialized\t=0x00000000\t,//0\n\tReady\t=0x00000001\t,//0\n\tRunning\t=0x00000002\t,//0\n\tStandby\t=0x00000003\t,//0\n\tTerminated\t=0x00000004\t,//0\n\tWaiting\t=0x00000005\t,//0\n\tTransition\t=0x00000006\t,//0\n\tDeferredReady\t=0x00000007\t,//0\n\tGateWait\t=0x00000008\t,//0\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nstruct _VI_DEADLOCK_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VI_DEADLOCK_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 0000001c 28 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000001c 28 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned char\tPowerSettingChanged;\n\t\t/* off 0x0014 */\tunsigned long\tDataLength;\n\t\t/* off 0x0018 */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tPowerEvent\t=0x00000006\t,//0\n\tVetoEvent\t=0x00000007\t,//0\n\tBlockedDriverEvent\t=0x00000008\t,//0\n\tInvalidIDEvent\t=0x00000009\t,//0\n\tPowerSettingChange\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tLinkTargetRemaining;\n/* off 0x0018 */\tvoid*\tLinkTargetObject;\n/* off 0x001c */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n/* off 0x0024 */\tunsigned char\tLimitModifiedPages;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.1.7000.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n};\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[2];\n/* off 0x01ae */\tunsigned char SpareBytes2[34];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\nunion\n{\n/* off 0x0034 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0034 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0034 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:6\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000d0 208 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tLastIdleThreadKTime;\n/* off 0x0030 */\tunsigned __int64\tTempUtilitySkipCount;\n/* off 0x0038 */\tunsigned char\tThermalConstraint;\n/* off 0x0039 */\tunsigned char\tLastBusyPercentage;\n/* off 0x003a */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tPStateDomain:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:15\t /* start bit 1 */;\n\t};\n\t}\tFlags;\n/* off 0x003c */\tunsigned long\tLastSysTime;\n/* off 0x0040 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0044 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0048 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0068 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0088 */\tlong\tPerfActionMask;\n/* off 0x0090 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x00a0 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00b0 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00b4 */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b8 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00bc */\tunsigned long\tUtility;\n/* off 0x00c0 */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c4 */\tunsigned long\tAffinityCount;\n/* off 0x00c8 */\tunsigned long\tAffinityHistory;\n/* off 0x00cc */\tunsigned short\tPreviousReadyTime;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KPRCB /* sizeof 00001ee8 7912 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[49];\n/* off 0x05a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x05a4 */\tunsigned long\tInterruptCount;\n/* off 0x05a8 */\tunsigned long\tKernelTime;\n/* off 0x05ac */\tunsigned long\tUserTime;\n/* off 0x05b0 */\tunsigned long\tDpcTime;\n/* off 0x05b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x05b8 */\tunsigned long\tInterruptTime;\n/* off 0x05bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x05c0 */\tunsigned long\tPageColor;\n/* off 0x05c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x05c5 */\tunsigned char\tNodeColor;\n/* off 0x05c6 */\tunsigned char PrcbPad20[2];\n/* off 0x05c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x05cc */\tstruct _KNODE*\tParentNode;\n/* off 0x05d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x05d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x05d8 */\tunsigned long PrcbPad21[2];\n/* off 0x05e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x05e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x05e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x05ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x05f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x05f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x05f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x05fc */\tlong\tIoReadOperationCount;\n/* off 0x0600 */\tlong\tIoWriteOperationCount;\n/* off 0x0604 */\tlong\tIoOtherOperationCount;\n/* off 0x0608 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0610 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0618 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0620 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0624 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0628 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x062c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0630 */\tunsigned long\tCcMapDataWait;\n/* off 0x0634 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0638 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x063c */\tunsigned long\tCcPinReadWait;\n/* off 0x0640 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0644 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0648 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x064c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0650 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0654 */\tunsigned long\tCcDataFlushes;\n/* off 0x0658 */\tunsigned long\tCcDataPages;\n/* off 0x065c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0660 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0664 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0668 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x066c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0670 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0674 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0678 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x067c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0680 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0684 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0688 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x068c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0690 */\tunsigned long\tKeSystemCalls;\n/* off 0x0694 */\tunsigned long\tAvailableTime;\n/* off 0x0698 */\tunsigned long PrcbPad22[2];\n/* off 0x06a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0720 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x1020 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1920 */\tunsigned long\tPacketBarrier;\n/* off 0x1924 */\tlong\tReverseStall;\n/* off 0x1928 */\tvoid*\tIpiFrame;\n/* off 0x192c */\tunsigned char PrcbPad3[52];\n/* off 0x1960 */\tvoid* CurrentPacket[3];\n/* off 0x196c */\tunsigned long\tTargetSet;\n/* off 0x1970 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1974 */\tunsigned long\tIpiFrozen;\n/* off 0x1978 */\tunsigned char PrcbPad4[40];\n/* off 0x19a0 */\tunsigned long\tRequestSummary;\n/* off 0x19a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x19a8 */\tunsigned char PrcbPad50[56];\n/* off 0x19e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1a08 */\tvoid*\tDpcStack;\n/* off 0x1a0c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1a10 */\tunsigned long\tDpcRequestRate;\n/* off 0x1a14 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1a18 */\tunsigned long\tPrcbPad41;\n/* off 0x1a1c */\tunsigned long\tPrcbLock;\n/* off 0x1a20 */\tunsigned long\tDpcLastCount;\n/* off 0x1a24 */\tunsigned long\tTimerHand;\n/* off 0x1a28 */\tunsigned long\tTimerRequest;\n/* off 0x1a2c */\tstruct _KTIMER**\tTimerExpiry;\n/* off 0x1a30 */\tstruct _KGATE\tDpcGate;\n/* off 0x1a40 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1a41 */\tunsigned char\tQuantumEnd;\n/* off 0x1a42 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1a43 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1a44 */\tlong\tDpcRequestSummary;\n/* off 0x1a44 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1a44 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1a46 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1a46 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1a48 */\tunsigned long\tPrcbPad42;\n/* off 0x1a4c */\tunsigned long\tPeriodicCount;\n/* off 0x1a50 */\tunsigned long\tPeriodicBias;\n/* off 0x1a58 */\tunsigned __int64\tTickOffset;\n/* off 0x1a60 */\tstruct _KDPC\tCallDpc;\n/* off 0x1a80 */\tlong\tClockKeepAlive;\n/* off 0x1a84 */\tunsigned char\tClockCheckSlot;\n/* off 0x1a85 */\tunsigned char\tClockPollCycle;\n/* off 0x1a86 */\tunsigned char PrcbPad6[2];\n/* off 0x1a88 */\tlong\tDpcWatchdogPeriod;\n/* off 0x1a8c */\tlong\tDpcWatchdogCount;\n/* off 0x1a90 */\tlong\tThreadWatchdogPeriod;\n/* off 0x1a94 */\tlong\tThreadWatchdogCount;\n/* off 0x1a98 */\tlong\tKeSpinLockOrdering;\n/* off 0x1a9c */\tunsigned long PrcbPad70[1];\n/* off 0x1aa0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x1aa8 */\tunsigned long\tWaitLock;\n/* off 0x1aac */\tunsigned long\tReadySummary;\n/* off 0x1ab0 */\tunsigned long\tQueueIndex;\n/* off 0x1ab4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x1ab8 */\tunsigned __int64\tStartCycles;\n/* off 0x1ac0 */\tunsigned __int64\tCycleTime;\n/* off 0x1ac8 */\tunsigned long\tHighCycleTime;\n/* off 0x1acc */\tunsigned long\tPrcbPad71;\n/* off 0x1ad0 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x1ae0 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x1be0 */\tvoid*\tChainedInterruptList;\n/* off 0x1be4 */\tlong\tLookasideIrpFloat;\n/* off 0x1be8 */\tlong\tMmPageFaultCount;\n/* off 0x1bec */\tlong\tMmCopyOnWriteCount;\n/* off 0x1bf0 */\tlong\tMmTransitionCount;\n/* off 0x1bf4 */\tlong\tMmCacheTransitionCount;\n/* off 0x1bf8 */\tlong\tMmDemandZeroCount;\n/* off 0x1bfc */\tlong\tMmPageReadCount;\n/* off 0x1c00 */\tlong\tMmPageReadIoCount;\n/* off 0x1c04 */\tlong\tMmCacheReadCount;\n/* off 0x1c08 */\tlong\tMmCacheIoCount;\n/* off 0x1c0c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x1c10 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x1c14 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x1c18 */\tlong\tMmMappedWriteIoCount;\n/* off 0x1c1c */\tunsigned long\tCachedCommit;\n/* off 0x1c20 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x1c24 */\tvoid*\tHyperPte;\n/* off 0x1c28 */\tunsigned char PrcbPad8[4];\n/* off 0x1c2c */\tunsigned char VendorString[13];\n/* off 0x1c39 */\tunsigned char\tInitialApicId;\n/* off 0x1c3a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x1c3b */\tunsigned char PrcbPad9[5];\n/* off 0x1c40 */\tunsigned long\tFeatureBits;\n/* off 0x1c48 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x1c50 */\tunsigned __int64\tIsrTime;\n/* off 0x1c58 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x1c60 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x1d30 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x1d50 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x1d78 */\tvoid*\tWheaInfo;\n/* off 0x1d7c */\tvoid*\tEtwSupport;\n/* off 0x1d80 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x1d88 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x1d90 */\tvoid*\tHypercallPageVirtual;\n/* off 0x1d94 */\tvoid*\tVirtualApicAssist;\n/* off 0x1d98 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x1d9c */\tvoid*\tRateControl;\n/* off 0x1da0 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x1ddc */\tunsigned long\tCacheCount;\n/* off 0x1de0 */\tunsigned long CacheProcessorMask[5];\n/* off 0x1df4 */\tunsigned long\tPackageProcessorSet;\n/* off 0x1df8 */\tunsigned long\tCoreProcessorSet;\n/* off 0x1dfc */\tunsigned char PrcbPad10[36];\n/* off 0x1e20 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x1e24 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x1e28 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x1e2c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x1e30 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x1e34 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x1e38 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x1e3c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x1e40 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x1e44 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x1e48 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x1e4c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x1e50 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x1e54 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x1e58 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x1e5c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x1e60 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x1e64 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x1e68 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x1e6c */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x1e70 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x1e74 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x1e78 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x1e7c */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x1e80 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x1e84 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x1e88 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x1e8c */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x1e90 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x1e94 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x1e98 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x1e9c */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x1ea0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x1ea4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x1ea8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x1eac */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x1eb0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x1eb4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x1eb8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x1ebc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x1ec0 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x1ec4 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x1ec8 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x1ecc */\tunsigned long\tExBoostSharedOwners;\n/* off 0x1ed0 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x1ed4 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x1ed8 */\tstruct _CONTEXT*\tContext;\n/* off 0x1edc */\tunsigned long\tContextFlags;\n/* off 0x1ee0 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00002008 8200 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tTimer:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tReserved1:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tReserved2:20\t /* start bit 12 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\nunion\n{\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\n/* off 0x0090 */\tunsigned char TimerFill[40];\n};\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:24\t /* start bit 8 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tvoid*\tServiceTable;\n/* off 0x0138 */\tunsigned char\tApcStateIndex;\n/* off 0x0139 */\tchar\tBasePriority;\nunion\n{\n/* off 0x013a */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x013a */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x013a */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x013b */\tunsigned char\tPreempted;\n/* off 0x013c */\tunsigned char\tAdjustReason;\n/* off 0x013d */\tchar\tAdjustIncrement;\n/* off 0x013e */\tchar\tPreviousMode;\n/* off 0x013f */\tchar\tSaturation;\n/* off 0x0140 */\tunsigned long\tSystemCallNumber;\n/* off 0x0144 */\tunsigned long\tFreezeCount;\n/* off 0x0148 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0154 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0158 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0164 */\tunsigned long\tIdealProcessor;\n/* off 0x0168 */\tunsigned long\tUserIdealProcessor;\n/* off 0x016c */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0174 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0174 */\tunsigned char SavedApcStateFill[23];\n/* off 0x018b */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x018c */\tchar\tSuspendCount;\n/* off 0x018d */\tchar\tSpare1;\n/* off 0x018e */\tunsigned char\tOtherPlatformFill;\n/* off 0x0190 */\tvoid*\tWin32Thread;\n/* off 0x0194 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0198 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0199 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill1[3];\n/* off 0x019b */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill2[4];\n/* off 0x019c */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01bc */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01c0 */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0198 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c7 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c8 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01cc */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01cc */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01e0 */\tunsigned long\tSListFaultCount;\n/* off 0x01e4 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01ec */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f4 */\tvoid*\tSListFaultAddress;\n/* off 0x01f8 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01fc */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _KAFFINITY_EX\tActiveProcessors;\n/* off 0x0038 */\tunsigned long\tKernelTime;\n/* off 0x003c */\tunsigned long\tUserTime;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x0048 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x004c */\tvoid*\tVdmTrapcHandler;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0058 */\tunsigned long\tProcessLock;\n/* off 0x005c */\tstruct _KAFFINITY_EX\tAffinity;\nunion\n{\nstruct\n{\n/* off 0x0068 */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x0068 */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x0068 */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x0068 */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x0068 */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x0068 */\tlong\tProcessFlags;\n};\n/* off 0x006c */\tchar\tBasePriority;\n/* off 0x006d */\tchar\tQuantumReset;\n/* off 0x006e */\tunsigned char\tVisited;\n/* off 0x006f */\tunsigned char\tUnused3;\n/* off 0x0070 */\tunsigned long ThreadSeed[1];\n/* off 0x0074 */\tunsigned short IdealNode[1];\n/* off 0x0076 */\tunsigned short\tIdealGlobalNode;\nunion\n{\n/* off 0x0078 */\tstruct _KEXECUTE_OPTIONS\tFlags;\n/* off 0x0078 */\tunsigned char\tExecuteOptions;\n};\n/* off 0x0079 */\tunsigned char\tUnused1;\n/* off 0x007a */\tunsigned short\tIopmOffset;\n/* off 0x007c */\tunsigned long\tUnused4;\n/* off 0x0080 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0090 */\tunsigned __int64\tCycleTime;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tReserved;\n/* off 0x0018 */\tunsigned __int64\tUpdateCount;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tFill:5\t /* start bit 3 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*,unsigned long);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tunsigned long\tLatency;\n/* off 0x001c */\tunsigned long\tPower;\n/* off 0x0020 */\tunsigned long\tTimeCheck;\n/* off 0x0024 */\tunsigned long\tStateFlags;\n/* off 0x0028 */\tunsigned char\tPromotePercent;\n/* off 0x0029 */\tunsigned char\tDemotePercent;\n/* off 0x002a */\tunsigned char\tPromotePercentBase;\n/* off 0x002b */\tunsigned char\tDemotePercentBase;\n/* off 0x002c */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tunsigned char\tNewlyUnparked;\n/* off 0x0018 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0024 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueuePfnLock\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueTimerTableLock\t=0x00000011\t,//0\n\tLockQueueMaximumLock\t=0x00000031\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tGate;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideLargeIrpList\t=0x00000001\t,//0\n\tLookasideMdlList\t=0x00000002\t,//0\n\tLookasideCreateInfoList\t=0x00000003\t,//0\n\tLookasideNameBufferList\t=0x00000004\t,//0\n\tLookasideTwilightList\t=0x00000005\t,//0\n\tLookasideCompletionList\t=0x00000006\t,//0\n\tLookasideScratchBufferList\t=0x00000007\t,//0\n\tLookasideMaximumList\t=0x00000008\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KGATE\tWakeGate;\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n};\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\nunion\n{\n/* off 0x0210 */\tlong\tExitStatus;\n/* off 0x0210 */\tvoid*\tOfsChain;\n};\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tSpare1:4\t /* start bit 4 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tCmCallbackCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tunsigned long\tIoBoostCount;\n/* off 0x02b0 */\tvoid*\tReservedForSynchTracking;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:31\t /* start bit 1 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerAttached:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tTrimmerDetaching:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0008 */\tunsigned short\tLastTrimStamp;\n/* off 0x000a */\tunsigned short\tNextPageColor;\n/* off 0x000c */\tstruct _MMSUPPORT_FLAGS\tFlags;\n/* off 0x0010 */\tunsigned long\tPageFaultCount;\n/* off 0x0014 */\tunsigned long\tHardFaultCount;\n/* off 0x0018 */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x001c */\tunsigned long\tChargedWslePages;\n/* off 0x0020 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0024 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0028 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x002c */\tunsigned long AgeDistribution[7];\n/* off 0x0048 */\tunsigned long\tActualWslePages;\n/* off 0x004c */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x0050 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x0054 */\tunsigned long\tWorkingSetSize;\n/* off 0x0058 */\tunsigned long\tRepurposeCount;\n/* off 0x005c */\tstruct _KGATE*\tExitGate;\n/* off 0x0060 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0064 */\tvoid*\tAccessLog;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tunsigned long SpareUlongPtr[2];\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x0134 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x0138 */\tvoid*\tWin32WindowStation;\n/* off 0x013c */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0140 */\tvoid*\tLdtInformation;\n/* off 0x0144 */\tvoid*\tSpare;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tvoid*\tDeviceMap;\n/* off 0x0150 */\tvoid*\tEtwDataSource;\n/* off 0x0154 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0158 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0158 */\tunsigned __int64\tFiller;\n};\n/* off 0x0160 */\tvoid*\tSession;\n/* off 0x0164 */\tunsigned char ImageFileName[16];\n/* off 0x0174 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x017c */\tvoid*\tLockedPagesList;\n/* off 0x0180 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0188 */\tvoid*\tSecurityPort;\n/* off 0x018c */\tvoid*\tPaeTop;\n/* off 0x0190 */\tunsigned long\tActiveThreads;\n/* off 0x0194 */\tunsigned long\tImagePathHash;\n/* off 0x0198 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x019c */\tlong\tLastThreadExitStatus;\n/* off 0x01a0 */\tstruct _PEB*\tPeb;\n/* off 0x01a4 */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01a8 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01d8 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01dc */\tunsigned long\tCommitChargePeak;\n/* off 0x01e0 */\tvoid*\tAweInfo;\n/* off 0x01e4 */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01e8 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0250 */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0258 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x025c */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x025c */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x025c */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x025c */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x025c */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x025c */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x025c */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x025c */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x025c */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x025c */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x025c */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x025c */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x025c */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x025c */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x025c */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x025c */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x025c */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x025c */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x025c */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x025c */\tunsigned long\tCrossSessionCreate:1\t /* start bit 20 */;\n};\n};\nunion\n{\n/* off 0x0260 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0260 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0260 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0260 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0260 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0260 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0260 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0260 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0260 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0260 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0260 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0260 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0260 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0260 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0260 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0260 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0260 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0260 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0260 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0260 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0260 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0260 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0260 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0260 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0260 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0260 */\tunsigned long\tPropagateNode:1\t /* start bit 25 */;\n/* off 0x0260 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0260 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0260 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0260 */\tunsigned long\tSpareProcessFlags:1\t /* start bit 31 */;\n};\n};\n/* off 0x0264 */\tlong\tExitStatus;\n/* off 0x0268 */\tunsigned short\tSpare7;\nunion\n{\nstruct\n{\n/* off 0x026a */\tunsigned char\tSubSystemMinorVersion;\n/* off 0x026b */\tunsigned char\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x026a */\tunsigned short\tSubSystemVersion;\n};\n};\n/* off 0x026c */\tunsigned char\tPriorityClass;\n/* off 0x0270 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0290 */\tunsigned long\tCookie;\n/* off 0x0294 */\tunsigned long\tSpare8;\n/* off 0x0298 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a8 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02b0 */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b4 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b8 */\tunsigned long\tConsoleHostProcess;\n/* off 0x02bc */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000130 304 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tLimitFlags;\n/* off 0x009c */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned long\tCurrentJobMemoryUsed;\n/* off 0x011c */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0120 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x0128 */\tunsigned long\tMemberLevel;\n/* off 0x012c */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d0c 3340 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tvoid*\tHighestUserAddress;\n/* off 0x004c */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c4c */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileMaximumInformation\t=0x00000037\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved:14\t /* start bit 18 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInStore:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:19\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tGlobalTimeStamp:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tReserved:30\t /* start bit 2 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x008c */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0090 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n/* off 0x0010 */\tunsigned __int64\tFrequency;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tModifiedWriteCount;\n\t\t/* off 0x0002 */\tunsigned short\tFlushInProgressCount;\n\t\t}\te2;\n\t}\tu1;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tSpare:9\t /* start bit 23 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tvoid*\tImageMerge;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PER_SESSION_PROTOS /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t/* off 0x0000 */\tstruct _MI_PER_SESSION_PROTOS*\tNextToFree;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\nunion\n{\n/* off 0x000c */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x000c */\tstruct _SUBSECTION*\tSubsection;\n};\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tReferenceCount;\n\t/* off 0x0000 */\tunsigned long\tNumberOfPtesToFree;\n\t}\tu2;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002e8 744 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x0028 */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0030 */\tunsigned long\tDirtyCount;\n/* off 0x0034 */\tunsigned long\tDirtyAlloc;\n/* off 0x0038 */\tunsigned long\tBaseBlockAlloc;\n/* off 0x003c */\tunsigned long\tCluster;\n/* off 0x0040 */\tunsigned char\tFlat;\n/* off 0x0041 */\tunsigned char\tReadOnly;\n/* off 0x0042 */\tunsigned char\tDirtyFlag;\n/* off 0x0044 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x0048 */\tunsigned long\tHvFreeCellsUse;\n/* off 0x004c */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0050 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tHiveFlags;\n/* off 0x0058 */\tunsigned long\tCurrentLog;\n/* off 0x005c */\tunsigned long LogSize[2];\n/* off 0x0064 */\tunsigned long\tRefreshCount;\n/* off 0x0068 */\tunsigned long\tStorageTypeCount;\n/* off 0x006c */\tunsigned long\tVersion;\n/* off 0x0070 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000628 1576 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02e8 */\tvoid* FileHandles[6];\n/* off 0x0300 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x0308 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0310 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x0318 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0320 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x0324 */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0328 */\tunsigned long\tIdentity;\n/* off 0x032c */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0330 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x0334 */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0338 */\tunsigned long\tViewLockLast;\n/* off 0x033c */\tunsigned long\tViewUnLockLast;\n/* off 0x0340 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x0344 */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0348 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0350 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x0354 */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0358 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x035c */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0360 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x0364 */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x036c */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x037c */\tunsigned short\tMappedViewCount;\n/* off 0x037e */\tunsigned short\tPinnedViewCount;\n/* off 0x0380 */\tunsigned long\tUseCount;\n/* off 0x0384 */\tunsigned long\tViewsPerHive;\n/* off 0x0388 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x038c */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0390 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x0398 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b0 */\tunsigned long\tSecurityCount;\n/* off 0x03b4 */\tunsigned long\tSecurityCacheSize;\n/* off 0x03b8 */\tlong\tSecurityHitHint;\n/* off 0x03bc */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c0 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c0 */\tunsigned long\tUnloadEventCount;\n/* off 0x05c4 */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05c8 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05cc */\tunsigned char\tFrozen;\n/* off 0x05d0 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05d4 */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05e8 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05ec */\tunsigned long\tGrowOffset;\n/* off 0x05f0 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0600 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x0604 */\tunsigned long\tFlags;\n/* off 0x0608 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0610 */\tunsigned long\tFlushCount;\n/* off 0x0614 */\tstruct _CM_RM*\tCmRm;\n/* off 0x0618 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x061c */\tlong\tCmRmInitFailStatus;\n/* off 0x0620 */\tstruct _KTHREAD*\tCreatorOwner;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned __int64\tDpcCount;\n/* off 0x0040 */\tunsigned __int64\tDpcRate;\n/* off 0x0048 */\tunsigned __int64\tC1Time;\n/* off 0x0050 */\tunsigned __int64\tC2Time;\n/* off 0x0058 */\tunsigned __int64\tC3Time;\n/* off 0x0060 */\tunsigned long\tC1Transitions;\n/* off 0x0064 */\tunsigned long\tC2Transitions;\n/* off 0x0068 */\tunsigned long\tC3Transitions;\n/* off 0x006c */\tunsigned long\tParkingStatus;\n/* off 0x0070 */\tunsigned long\tCurrentFrequency;\n/* off 0x0074 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x0078 */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes1[2];\n/* off 0x01ae */\tunsigned char SpareBytes2[34];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes1[2];\n/* off 0x02d2 */\tunsigned char SpareBytes2[22];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:6\t /* start bit 10 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FX_SAVE_AREA /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 000001e0 480 */\n\t{\n\t/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n\t/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tFxArea;\n\t}\tU;\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tunsigned long\tDispatchedCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0010 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tCompletedList;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000174 372 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tunsigned long\tLevel;\n/* off 0x0014 */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0050 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0060 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x0064 */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0068 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00b8 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00bc */\tlong\tCompletionStatus;\n/* off 0x00c0 */\tstruct _IRP*\tPendingIrp;\n/* off 0x00c4 */\tunsigned long\tFlags;\n/* off 0x00c8 */\tunsigned long\tUserFlags;\n/* off 0x00cc */\tunsigned long\tProblem;\n/* off 0x00d0 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x00d4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00d8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00dc */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x00e4 */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tunsigned char\tOverrideFlags;\n/* off 0x0171 */\tunsigned char\tRequiresUnloadedDriver;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00cc */\tvoid*\tReserved;\n/* off 0x00d0 */\tstruct _KEVENT\tEvent;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00e8 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0140 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x0144 */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0148 */\tunsigned long\tProcImagePathHash;\n/* off 0x014c */\tunsigned long\tWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n/* off 0x0054 */\tunsigned long\tLoggedAllocationSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000140 320 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0134 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tlong\tSequenceNo;\n/* off 0x00b4 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00c0 */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c4 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c8 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00cc */\tvoid*\tCallbackContext;\n/* off 0x00d0 */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tSpare2\t=0x00000015\t,//0\n\tSpare3\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\nunion\n{\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000260 608 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x001c */\tstruct _LIST_ENTRY\tLoggerListEntry;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0030 */\tvoid*\tLogFileHandle;\n/* off 0x0034 */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0038 */\tlong\tLoggerStatus;\n/* off 0x003c */\tvoid*\tNBQHead;\n/* off 0x0040 */\tvoid*\tOverflowNBQHead;\n/* off 0x0048 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0058 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0058 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x005c */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x0074 */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x007c */\tunsigned long\tClockType;\n/* off 0x0080 */\tunsigned long\tMaximumFileSize;\n/* off 0x0084 */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0088 */\tunsigned long\tFlushTimer;\n/* off 0x008c */\tunsigned long\tFlushThreshold;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0098 */\tunsigned long\tMinimumBuffers;\n/* off 0x009c */\tlong\tBuffersAvailable;\n/* off 0x00a0 */\tlong\tNumberOfBuffers;\n/* off 0x00a4 */\tunsigned long\tMaximumBuffers;\n/* off 0x00a8 */\tunsigned long\tEventsLost;\n/* off 0x00ac */\tunsigned long\tBuffersWritten;\n/* off 0x00b0 */\tunsigned long\tLogBuffersLost;\n/* off 0x00b4 */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b8 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00bc */\tlong*\tSequencePtr;\n/* off 0x00c0 */\tunsigned long\tLocalSequence;\n/* off 0x00c4 */\tstruct _GUID\tInstanceGuid;\n/* off 0x00d4 */\tlong\tFileCounter;\n/* off 0x00d8 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00dc */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00e0 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00f0 */\tunsigned char\tRealtimeLoggerContextFreed;\n/* off 0x00f4 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00fc */\tunsigned long\tNumConsumers;\n/* off 0x0100 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x0104 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x0108 */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0120 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0128 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0130 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0138 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0140 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0150 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x0154 */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x0164 */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0174 */\tstruct _KDPC\tFlushDpc;\n/* off 0x0194 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01b4 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01b8 */\tunsigned long\tBufferListSpinLock;\n/* off 0x01b8 */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01bc */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x01f8 */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0200 */\tstruct _WMI_BUFFER_HEADER\tDummyBufferForMarker;\n/* off 0x0248 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0250 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0250 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0250 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0250 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0250 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0250 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0250 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0250 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0250 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0250 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n};\n};\nunion\n{\n/* off 0x0254 */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x0254 */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x0254 */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x0254 */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x0254 */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x0254 */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x0254 */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0258 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _VI_CANCEL_GLOBALS /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tCancelLock;\n/* off 0x0004 */\tunsigned long\tIssueLock;\n/* off 0x0008 */\tlong Counters[25];\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001034 4148 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0004 */\tunsigned long\tPoolIndex;\n/* off 0x0008 */\tlong\tRunningAllocs;\n/* off 0x000c */\tlong\tRunningDeAllocs;\n/* off 0x0010 */\tlong\tTotalPages;\n/* off 0x0014 */\tlong\tTotalBigPages;\n/* off 0x0018 */\tunsigned long\tThreshold;\n/* off 0x001c */\tvoid*\tLockAddress;\n/* off 0x0020 */\tvoid**\tPendingFrees;\n/* off 0x0024 */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0028 */\tlong\tPendingFreeDepth;\n/* off 0x002c */\tunsigned long\tTotalBytes;\n/* off 0x0030 */\tunsigned long\tSpare0;\n/* off 0x0034 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tvoid* StackTrace[63];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardown;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000091\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nenum _VI_CNT_INDEX_TYPE\n{\n\tVF_CNT_IRPS_TOTAL_COUNT\t=0x00000000\t,//0\n\tVF_CNT_IRPS_NOT_A_TARGET\t=0x00000001\t,//0\n\tVF_CNT_IRPS_KMODE\t=0x00000002\t,//0\n\tVF_CNT_IRPS_SKIP_FLAGS\t=0x00000003\t,//0\n\tVF_CNT_IRPS_ALREADY_HOOKED\t=0x00000004\t,//0\n\tVF_CNT_IRPS_WILL_ATTEMPT_CANCEL\t=0x00000005\t,//0\n\tVF_CNT_IRPS_WILL_NOT_CANCEL\t=0x00000006\t,//0\n\tVF_CNT_REAL_RACE_FOR_COMPLETION\t=0x00000007\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_DRIVER\t=0x00000008\t,//0\n\tVF_CNT_IRPS_COMPLETED_BY_CANCEL\t=0x00000009\t,//0\n\tVF_CNT_IRPS_NO_CANCEL_ROUTINE\t=0x0000000a\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_TRUE\t=0x0000000b\t,//0\n\tVF_CNT_IRPS_CANCEL_RETURNED_FALSE\t=0x0000000c\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NO_CHECK\t=0x0000000d\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_NEVER\t=0x0000000e\t,//0\n\tVF_CNT_IRP_CANCEL_ROUTINE_SOMETIMES\t=0x0000000f\t,//0\n\tVF_CNT_EXTRA_ALLOCS\t=0x00000010\t,//0\n\tVF_CNT_EXTRA_FREES\t=0x00000011\t,//0\n\tVF_CNT_CALLS_TO_TIMER_DPC\t=0x00000012\t,//0\n\tVF_CNT_CALLS_TO_CANCEL_WORKER\t=0x00000013\t,//0\n\tVF_CNT_FREE_FROM_CANCEL_ROUTINE\t=0x00000014\t,//0\n\tVF_CNT_FREE_FROM_COMPLETION_ROUTINE\t=0x00000015\t,//0\n\tVF_CNT_ISSUES_LOGGED\t=0x00000016\t,//0\n\tVF_CNT_CANCEL_AND_COMPLETE_DIFFERENT_THREADS\t=0x00000017\t,//0\n\tVF_CNT_IRPS_TOO_MANY_UNDER_WATCH\t=0x00000018\t,//0\n\tVF_CNT_MAX_INDEX\t=0x00000019\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tvoid*\tWMICallback;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0010 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tvoid*\tBaseAddress;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned long( __fastcall *FeedbackHandler)(unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tVerifyOnWake;\n/* off 0x0004 */\tunsigned char\tReset;\n/* off 0x0005 */\tunsigned char\tHiberFlags;\n/* off 0x0006 */\tunsigned char\tWroteHiberFile;\n/* off 0x0008 */\tunsigned long\tLock;\n/* off 0x000c */\tunsigned char\tMapFrozen;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0018 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0028 */\tunsigned long\tClonedRangeCount;\n/* off 0x002c */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0030 */\tunsigned long\tNextPreserve;\n/* off 0x0034 */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0038 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0040 */\tunsigned __int64\tPagesOut;\n/* off 0x0048 */\tvoid*\tIoPages;\n/* off 0x004c */\tunsigned long\tIoPagesCount;\n/* off 0x0050 */\tvoid*\tCurrentMcb;\n/* off 0x0054 */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0058 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x005c */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0060 */\tunsigned long\tIoProgress;\n/* off 0x0064 */\tunsigned long\tHiberVa;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0070 */\tlong\tStatus;\n/* off 0x0074 */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0078 */\tunsigned char*\tCompressionWorkspace;\n/* off 0x007c */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0080 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x0084 */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0088 */\tunsigned long*\tPerformanceStats;\n/* off 0x008c */\tvoid*\tCompressionBlock;\n/* off 0x0090 */\tvoid*\tDmaIO;\n/* off 0x0094 */\tvoid*\tTemporaryHeap;\n/* off 0x0098 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x009c */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x00a0 */\tvoid*\tResumeContext;\n/* off 0x00a4 */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0018 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0028 */\tlong\tPagesInUse;\n/* off 0x002c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tHint;\n/* off 0x000c */\tstruct _MMPTE*\tBasePte;\n/* off 0x0010 */\tunsigned long*\tFailureCount;\n/* off 0x0014 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x0018 */\tlong\tTotalSystemPtes;\n/* off 0x001c */\tlong\tTotalFreeSystemPtes;\n/* off 0x0020 */\tlong\tCachedPteCount;\n/* off 0x0024 */\tunsigned long\tPteFailures;\n/* off 0x0028 */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\nstruct _MM_SESSION_SPACE /* sizeof 00001f00 7936 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tlong\tImageLoadingCount;\n/* off 0x0044 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0054 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x005c */\tunsigned long\tLocaleId;\n/* off 0x0060 */\tunsigned long\tAttachCount;\n/* off 0x0064 */\tstruct _KGATE\tAttachGate;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0dd8 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0ddc */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0de0 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1e14 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1e18 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1e50 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1e70 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1e74 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1e78 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1e7c */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1e80 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1eac */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1eb0 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1eb4 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1eb8 */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1ebc */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1ec0 */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x1ed0 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x1ed8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nenum _MI_VAD_TYPE\n{\n\tVadNone\t=0x00000000\t,//0\n\tVadDevicePhysicalMemory\t=0x00000001\t,//0\n\tVadImageMap\t=0x00000002\t,//0\n\tVadAwe\t=0x00000003\t,//0\n\tVadWriteWatch\t=0x00000004\t,//0\n\tVadLargePages\t=0x00000005\t,//0\n\tVadRotatePhysical\t=0x00000006\t,//0\n\tVadLargePageSection\t=0x00000007\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0004 */\tunsigned long\tTablesNo;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0010 */\tunsigned long\tNodeRangeSize;\n/* off 0x0014 */\tunsigned long\tLock;\n/* off 0x0018 */\tstruct _KTHREAD*\tLockOwnerThread;\n/* off 0x001c */\tunsigned long\tNodeCount;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.1.7100.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c4 */\tunsigned long AltArchitecturePad[1];\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\n/* off 0x02ee */\tunsigned char TscQpcPad[2];\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f4 */\tunsigned long DataFlagsPad[1];\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n/* off 0x0320 */\tunsigned long ReservedTickCountOverlay[3];\n};\n/* off 0x032c */\tunsigned long TickCountPad[1];\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0334 */\tunsigned long CookiePad[1];\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03dc */\tunsigned long XStatePad[1];\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\nunion\n{\n/* off 0x0240 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0240 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0240 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0240 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerMiscFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tProcessor:5\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tActiveDR7:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInstrumented:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tReserved2:4\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tUmsScheduled:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tUmsPrimary:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KTIMER_TABLE /* sizeof 00001840 6208 */\n{\n/* off 0x0000 */\tstruct _KTIMER* TimerExpiry[16];\n/* off 0x0040 */\tstruct _KTIMER_TABLE_ENTRY TimerEntries[256];\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tPerfHistoryTotal;\n/* off 0x002c */\tunsigned char\tThermalConstraint;\n/* off 0x002d */\tunsigned char\tPerfHistoryCount;\n/* off 0x002e */\tunsigned char\tPerfHistorySlot;\n/* off 0x002f */\tunsigned char\tReserved;\n/* off 0x0030 */\tunsigned long\tLastSysTime;\n/* off 0x0034 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0038 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0040 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0060 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0080 */\tlong\tPerfActionMask;\n/* off 0x0088 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x0098 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00a8 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00ac */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b0 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00b4 */\tstruct _PROC_HISTORY_ENTRY*\tPerfHistory;\n/* off 0x00b8 */\tunsigned long\tUtility;\n/* off 0x00bc */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c0 */\tunsigned long\tAffinityCount;\n/* off 0x00c4 */\tunsigned long\tAffinityHistory;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KPRCB /* sizeof 00003628 13864 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[17];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x04c5 */\tunsigned char\tNodeColor;\n/* off 0x04c6 */\tunsigned char PrcbPad20[2];\n/* off 0x04c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x04d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x04d8 */\tunsigned long PrcbPad21[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x04fc */\tlong\tIoReadOperationCount;\n/* off 0x0500 */\tlong\tIoWriteOperationCount;\n/* off 0x0504 */\tlong\tIoOtherOperationCount;\n/* off 0x0508 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0510 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0518 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0520 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0524 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0528 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x052c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0530 */\tunsigned long\tCcMapDataWait;\n/* off 0x0534 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0538 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x053c */\tunsigned long\tCcPinReadWait;\n/* off 0x0540 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0544 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0548 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x054c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0550 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0554 */\tunsigned long\tCcDataFlushes;\n/* off 0x0558 */\tunsigned long\tCcDataPages;\n/* off 0x055c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0560 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0564 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0568 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x056c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0570 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0574 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0578 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x057c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0580 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0584 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0588 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x058c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0590 */\tunsigned long\tKeSystemCalls;\n/* off 0x0594 */\tunsigned long\tAvailableTime;\n/* off 0x0598 */\tunsigned long PrcbPad22[2];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0620 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0f20 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1820 */\tunsigned long\tPacketBarrier;\n/* off 0x1824 */\tlong\tReverseStall;\n/* off 0x1828 */\tvoid*\tIpiFrame;\n/* off 0x182c */\tunsigned char PrcbPad3[52];\n/* off 0x1860 */\tvoid* CurrentPacket[3];\n/* off 0x186c */\tunsigned long\tTargetSet;\n/* off 0x1870 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1874 */\tunsigned long\tIpiFrozen;\n/* off 0x1878 */\tunsigned char PrcbPad4[40];\n/* off 0x18a0 */\tunsigned long\tRequestSummary;\n/* off 0x18a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x18a8 */\tunsigned char PrcbPad50[56];\n/* off 0x18e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1908 */\tvoid*\tDpcStack;\n/* off 0x190c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1910 */\tunsigned long\tDpcRequestRate;\n/* off 0x1914 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1918 */\tunsigned long\tDpcLastCount;\n/* off 0x191c */\tunsigned long\tPrcbLock;\n/* off 0x1920 */\tstruct _KGATE\tDpcGate;\n/* off 0x1930 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1931 */\tunsigned char\tQuantumEnd;\n/* off 0x1932 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1933 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1934 */\tlong\tDpcRequestSummary;\n/* off 0x1934 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1934 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1936 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1936 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1938 */\tunsigned long\tTimerHand;\n/* off 0x193c */\tunsigned long\tLastTick;\n/* off 0x1940 */\tlong\tMasterOffset;\n/* off 0x1944 */\tunsigned long PrcbPad41[2];\n/* off 0x194c */\tunsigned long\tPeriodicCount;\n/* off 0x1950 */\tunsigned long\tPeriodicBias;\n/* off 0x1958 */\tunsigned __int64\tTickOffset;\n/* off 0x1960 */\tstruct _KTIMER_TABLE\tTimerTable;\n/* off 0x31a0 */\tstruct _KDPC\tCallDpc;\n/* off 0x31c0 */\tlong\tClockKeepAlive;\n/* off 0x31c4 */\tunsigned char\tClockCheckSlot;\n/* off 0x31c5 */\tunsigned char\tClockPollCycle;\n/* off 0x31c6 */\tunsigned char PrcbPad6[2];\n/* off 0x31c8 */\tlong\tDpcWatchdogPeriod;\n/* off 0x31cc */\tlong\tDpcWatchdogCount;\n/* off 0x31d0 */\tlong\tThreadWatchdogPeriod;\n/* off 0x31d4 */\tlong\tThreadWatchdogCount;\n/* off 0x31d8 */\tlong\tKeSpinLockOrdering;\n/* off 0x31dc */\tunsigned long PrcbPad70[1];\n/* off 0x31e0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x31e8 */\tunsigned long\tWaitLock;\n/* off 0x31ec */\tunsigned long\tReadySummary;\n/* off 0x31f0 */\tunsigned long\tQueueIndex;\n/* off 0x31f4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x31f8 */\tunsigned __int64\tStartCycles;\n/* off 0x3200 */\tunsigned __int64\tCycleTime;\n/* off 0x3208 */\tunsigned long\tHighCycleTime;\n/* off 0x320c */\tunsigned long\tPrcbPad71;\n/* off 0x3210 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x3220 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x3320 */\tvoid*\tChainedInterruptList;\n/* off 0x3324 */\tlong\tLookasideIrpFloat;\n/* off 0x3328 */\tlong\tMmPageFaultCount;\n/* off 0x332c */\tlong\tMmCopyOnWriteCount;\n/* off 0x3330 */\tlong\tMmTransitionCount;\n/* off 0x3334 */\tlong\tMmCacheTransitionCount;\n/* off 0x3338 */\tlong\tMmDemandZeroCount;\n/* off 0x333c */\tlong\tMmPageReadCount;\n/* off 0x3340 */\tlong\tMmPageReadIoCount;\n/* off 0x3344 */\tlong\tMmCacheReadCount;\n/* off 0x3348 */\tlong\tMmCacheIoCount;\n/* off 0x334c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x3350 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x3354 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x3358 */\tlong\tMmMappedWriteIoCount;\n/* off 0x335c */\tunsigned long\tCachedCommit;\n/* off 0x3360 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x3364 */\tvoid*\tHyperPte;\n/* off 0x3368 */\tunsigned char PrcbPad8[4];\n/* off 0x336c */\tunsigned char VendorString[13];\n/* off 0x3379 */\tunsigned char\tInitialApicId;\n/* off 0x337a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x337b */\tunsigned char PrcbPad9[5];\n/* off 0x3380 */\tunsigned long\tFeatureBits;\n/* off 0x3388 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x3390 */\tunsigned __int64\tIsrTime;\n/* off 0x3398 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x33a0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x3468 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x3488 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x34b0 */\tvoid*\tWheaInfo;\n/* off 0x34b4 */\tvoid*\tEtwSupport;\n/* off 0x34b8 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x34c0 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x34c8 */\tvoid*\tHypercallPageVirtual;\n/* off 0x34cc */\tvoid*\tVirtualApicAssist;\n/* off 0x34d0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x34d4 */\tvoid*\tRateControl;\n/* off 0x34d8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x3514 */\tunsigned long\tCacheCount;\n/* off 0x3518 */\tunsigned long CacheProcessorMask[5];\n/* off 0x352c */\tstruct _KAFFINITY_EX\tPackageProcessorSet;\n/* off 0x3538 */\tunsigned long PrcbPad91[1];\n/* off 0x353c */\tunsigned long\tCoreProcessorSet;\n/* off 0x3540 */\tstruct _KDPC\tTimerExpirationDpc;\n/* off 0x3560 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x3564 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x3568 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x356c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x3570 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x3574 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x3578 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x357c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x3580 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x3584 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x3588 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x358c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x3590 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x3594 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x3598 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x359c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x35a0 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x35a4 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x35a8 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x35ac */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x35b0 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x35b4 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x35b8 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x35bc */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x35c0 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x35c4 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x35c8 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x35cc */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x35d0 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x35d4 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x35d8 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x35dc */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x35e0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x35e4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x35e8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x35ec */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x35f0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x35f4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x35f8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x35fc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x3600 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x3604 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x3608 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x360c */\tunsigned long\tExBoostSharedOwners;\n/* off 0x3610 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x3614 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x3618 */\tstruct _CONTEXT*\tContext;\n/* off 0x361c */\tunsigned long\tContextFlags;\n/* off 0x3620 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00003748 14152 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tUnused:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tUmsDirectedSwitchEnable:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tTimerActive:1\t /* start bit 12 */;\n/* off 0x003c */\tunsigned long\tReserved:19\t /* start bit 13 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tUmsPerformingSyscall:1\t /* start bit 8 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:23\t /* start bit 9 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00bc */\tvoid*\tServiceTable;\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tunsigned char\tApcStateIndex;\n/* off 0x0135 */\tchar\tBasePriority;\nunion\n{\n/* off 0x0136 */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x0136 */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x0136 */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x0137 */\tunsigned char\tPreempted;\n/* off 0x0138 */\tunsigned char\tAdjustReason;\n/* off 0x0139 */\tchar\tAdjustIncrement;\n/* off 0x013a */\tchar\tPreviousMode;\n/* off 0x013b */\tchar\tSaturation;\n/* off 0x013c */\tunsigned long\tSystemCallNumber;\n/* off 0x0140 */\tunsigned long\tFreezeCount;\n/* off 0x0144 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0150 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0154 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0160 */\tunsigned long\tIdealProcessor;\n/* off 0x0164 */\tunsigned long\tUserIdealProcessor;\n/* off 0x0168 */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0170 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0170 */\tunsigned char SavedApcStateFill[23];\n/* off 0x0187 */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x0188 */\tchar\tSuspendCount;\n/* off 0x0189 */\tchar\tSpare1;\n/* off 0x018a */\tunsigned char\tOtherPlatformFill;\n/* off 0x018c */\tvoid*\tWin32Thread;\n/* off 0x0190 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0194 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0195 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill1[3];\n/* off 0x0197 */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill2[4];\n/* off 0x0198 */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01b8 */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01bc */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c3 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c4 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01c8 */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01c8 */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01dc */\tunsigned long\tSListFaultCount;\n/* off 0x01e0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f0 */\tvoid*\tSListFaultAddress;\n/* off 0x01f4 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01f8 */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nunion _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\n/* off 0x0000 */\tunsigned char\tExecuteOptions;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0034 */\tunsigned long\tProcessLock;\n/* off 0x0038 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x004c */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x0050 */\tstruct _KAFFINITY_EX\tActiveProcessors;\nunion\n{\nstruct\n{\n/* off 0x005c */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x005c */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x005c */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x005c */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x005c */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x005c */\tlong\tProcessFlags;\n};\n/* off 0x0060 */\tchar\tBasePriority;\n/* off 0x0061 */\tchar\tQuantumReset;\n/* off 0x0062 */\tunsigned char\tVisited;\n/* off 0x0063 */\tunsigned char\tUnused3;\n/* off 0x0064 */\tunsigned long ThreadSeed[1];\n/* off 0x0068 */\tunsigned short IdealNode[1];\n/* off 0x006a */\tunsigned short\tIdealGlobalNode;\n/* off 0x006c */\tunion _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006d */\tunsigned char\tUnused1;\n/* off 0x006e */\tunsigned short\tIopmOffset;\n/* off 0x0070 */\tunsigned long\tUnused4;\n/* off 0x0074 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0080 */\tunsigned __int64\tCycleTime;\n/* off 0x0088 */\tunsigned long\tKernelTime;\n/* off 0x008c */\tunsigned long\tUserTime;\n/* off 0x0090 */\tvoid*\tVdmTrapcHandler;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0018 */\tunsigned __int64\tCycleTimeBias;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tGroupAssignmentFixed:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tFill:4\t /* start bit 4 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*);\n/* off 0x0018 */\tunsigned __int64\tHvConfig;\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned long\tLatency;\n/* off 0x0028 */\tunsigned long\tPower;\n/* off 0x002c */\tunsigned long\tTimeCheck;\n/* off 0x0030 */\tunsigned long\tStateFlags;\n/* off 0x0034 */\tunsigned char\tPromotePercent;\n/* off 0x0035 */\tunsigned char\tDemotePercent;\n/* off 0x0036 */\tunsigned char\tPromotePercentBase;\n/* off 0x0037 */\tunsigned char\tDemotePercentBase;\n/* off 0x0038 */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tunsigned char\tNewlyUnparked;\n/* off 0x0018 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0028 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n/* off 0x001c */\tunsigned long\tFrequencyHistoryTotal;\n/* off 0x0020 */\tunsigned long\tAverageFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nstruct _PROC_HISTORY_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tUtility;\n/* off 0x0002 */\tunsigned char\tFrequency;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueueUnusedSpare2\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueMaximumLock\t=0x00000011\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideMediumIrpList\t=0x00000001\t,//0\n\tLookasideLargeIrpList\t=0x00000002\t,//0\n\tLookasideMdlList\t=0x00000003\t,//0\n\tLookasideCreateInfoList\t=0x00000004\t,//0\n\tLookasideNameBufferList\t=0x00000005\t,//0\n\tLookasideTwilightList\t=0x00000006\t,//0\n\tLookasideCompletionList\t=0x00000007\t,//0\n\tLookasideScratchBufferList\t=0x00000008\t,//0\n\tLookasideMaximumList\t=0x00000009\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\n/* off 0x0210 */\tlong\tExitStatus;\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tSystemThread:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n/* off 0x0280 */\tunsigned long\tNeedsWorkingSetAging:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tTrimTrigger:2\t /* start bit 4 */;\n/* off 0x028a */\tunsigned char\tSpare1:2\t /* start bit 6 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tIoBoostCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tvoid*\tReservedForSynchTracking;\n/* off 0x02b0 */\tstruct _SINGLE_LIST_ENTRY\tCmCallbackListHead;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerReferenced:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:30\t /* start bit 2 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerState:2\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0004 */\tstruct _KGATE*\tExitGate;\n/* off 0x0008 */\tvoid*\tAccessLog;\n/* off 0x000c */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0014 */\tunsigned long AgeDistribution[7];\n/* off 0x0030 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSize;\n/* off 0x0038 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x003c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0040 */\tunsigned long\tChargedWslePages;\n/* off 0x0044 */\tunsigned long\tActualWslePages;\n/* off 0x0048 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x004c */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0050 */\tunsigned long\tHardFaultCount;\n/* off 0x0054 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0058 */\tunsigned short\tNextPageColor;\n/* off 0x005a */\tunsigned short\tLastTrimStamp;\n/* off 0x005c */\tunsigned long\tPageFaultCount;\n/* off 0x0060 */\tunsigned long\tRepurposeCount;\n/* off 0x0064 */\tunsigned long Spare[1];\n/* off 0x0068 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x00d8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tunsigned long\tCookie;\n/* off 0x0134 */\tunsigned long\tSpare8;\n/* off 0x0138 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x013c */\tvoid*\tWin32WindowStation;\n/* off 0x0140 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0144 */\tvoid*\tLdtInformation;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tunsigned long\tConsoleHostProcess;\n/* off 0x0150 */\tvoid*\tDeviceMap;\n/* off 0x0154 */\tvoid*\tEtwDataSource;\n/* off 0x0158 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0160 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0160 */\tunsigned __int64\tFiller;\n};\n/* off 0x0168 */\tvoid*\tSession;\n/* off 0x016c */\tunsigned char ImageFileName[15];\n/* off 0x017b */\tunsigned char\tPriorityClass;\n/* off 0x017c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0184 */\tvoid*\tLockedPagesList;\n/* off 0x0188 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0190 */\tvoid*\tSecurityPort;\n/* off 0x0194 */\tvoid*\tPaeTop;\n/* off 0x0198 */\tunsigned long\tActiveThreads;\n/* off 0x019c */\tunsigned long\tImagePathHash;\n/* off 0x01a0 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01a4 */\tlong\tLastThreadExitStatus;\n/* off 0x01a8 */\tstruct _PEB*\tPeb;\n/* off 0x01ac */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01e4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01e8 */\tvoid*\tAweInfo;\n/* off 0x01ec */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x025c */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0264 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x0268 */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x0268 */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x0268 */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x0268 */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x0268 */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x0268 */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x0268 */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x0268 */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x0268 */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x0268 */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x0268 */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x0268 */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x0268 */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x0268 */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x0268 */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x0268 */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x0268 */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x0268 */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x0268 */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x0268 */\tunsigned long\tPropagateNode:1\t /* start bit 20 */;\n/* off 0x0268 */\tunsigned long\tExplicitAffinity:1\t /* start bit 21 */;\n};\n};\nunion\n{\n/* off 0x026c */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x026c */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x026c */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x026c */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x026c */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x026c */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x026c */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x026c */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x026c */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x026c */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x026c */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x026c */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x026c */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x026c */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x026c */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x026c */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x026c */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x026c */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x026c */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x026c */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x026c */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x026c */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x026c */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x026c */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x026c */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x026c */\tunsigned long\tCrossSessionCreate:1\t /* start bit 25 */;\n/* off 0x026c */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x026c */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x026c */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x026c */\tunsigned long\tSetTimerResolutionLink:1\t /* start bit 31 */;\n};\n};\n/* off 0x0270 */\tlong\tExitStatus;\n/* off 0x0274 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0294 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a4 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02ac */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b0 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b4 */\tunsigned long\tSmallestTimerResolution;\n/* off 0x02b8 */\tstruct _PO_DIAG_STACK_RECORD*\tTimerResolutionStackRecord;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x009c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tLimitFlags;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned __int64\tCurrentJobMemoryUsed;\n/* off 0x0120 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0124 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x012c */\tunsigned long\tMemberLevel;\n/* off 0x0130 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d0c 3340 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tvoid*\tHighestUserAddress;\n/* off 0x004c */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c4c */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _PO_DIAG_STACK_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStackDepth;\n/* off 0x0004 */\tvoid* Stack[1];\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileRemoteProtocolInformation\t=0x00000037\t,//0\n\tFileMaximumInformation\t=0x00000038\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved1:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tReserved:13\t /* start bit 19 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInStore:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:19\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tGlobalTimeStamp:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tIoPortAccessSupported:1\t /* start bit 2 */;\n/* off 0x0050 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tvoid*\tNumaGroupAssignment;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x0090 */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0094 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\tunsigned long\tFlushInProgressCount;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\nunion\n{\n/* off 0x002c */\tunsigned long\tModifiedWriteCount;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n};\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tContainsDebug:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tunsigned long\tSizeOfImage;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002ec 748 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tvoid*\tHiveLoadFailure;\n/* off 0x0028 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x002c */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0034 */\tunsigned long\tDirtyCount;\n/* off 0x0038 */\tunsigned long\tDirtyAlloc;\n/* off 0x003c */\tunsigned long\tBaseBlockAlloc;\n/* off 0x0040 */\tunsigned long\tCluster;\n/* off 0x0044 */\tunsigned char\tFlat;\n/* off 0x0045 */\tunsigned char\tReadOnly;\n/* off 0x0046 */\tunsigned char\tDirtyFlag;\n/* off 0x0048 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x004c */\tunsigned long\tHvFreeCellsUse;\n/* off 0x0050 */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0058 */\tunsigned long\tHiveFlags;\n/* off 0x005c */\tunsigned long\tCurrentLog;\n/* off 0x0060 */\tunsigned long LogSize[2];\n/* off 0x0068 */\tunsigned long\tRefreshCount;\n/* off 0x006c */\tunsigned long\tStorageTypeCount;\n/* off 0x0070 */\tunsigned long\tVersion;\n/* off 0x0074 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000630 1584 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02ec */\tvoid* FileHandles[6];\n/* off 0x0304 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x030c */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0314 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x031c */\tstruct _EX_RUNDOWN_REF\tHiveRundown;\n/* off 0x0320 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0328 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x032c */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0330 */\tunsigned long\tIdentity;\n/* off 0x0334 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0338 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x033c */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0340 */\tunsigned long\tViewLockLast;\n/* off 0x0344 */\tunsigned long\tViewUnLockLast;\n/* off 0x0348 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x034c */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0350 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0358 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x035c */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0360 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x0364 */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0368 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x036c */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x037c */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0384 */\tunsigned short\tMappedViewCount;\n/* off 0x0386 */\tunsigned short\tPinnedViewCount;\n/* off 0x0388 */\tunsigned long\tUseCount;\n/* off 0x038c */\tunsigned long\tViewsPerHive;\n/* off 0x0390 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0394 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0398 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03b0 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b8 */\tunsigned long\tSecurityCount;\n/* off 0x03bc */\tunsigned long\tSecurityCacheSize;\n/* off 0x03c0 */\tlong\tSecurityHitHint;\n/* off 0x03c4 */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c8 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c8 */\tunsigned long\tUnloadEventCount;\n/* off 0x05cc */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05d0 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05d4 */\tunsigned char\tFrozen;\n/* off 0x05d8 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05dc */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05f0 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05f4 */\tunsigned long\tGrowOffset;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0600 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0608 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x060c */\tunsigned long\tFlags;\n/* off 0x0610 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0618 */\tunsigned long\tFlushCount;\n/* off 0x061c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0620 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x0624 */\tlong\tCmRmInitFailStatus;\n/* off 0x0628 */\tstruct _KTHREAD*\tCreatorOwner;\n/* off 0x062c */\tstruct _KTHREAD*\tRundownThread;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nstruct _HIVE_LOAD_FAILURE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tstruct _HHIVE*\tHive;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned long\tRecoverableIndex;\n/* off 0x000c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} Locations[8];\n/* off 0x006c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} RecoverableLocations[8];\n/* off 0x00cc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAction;\n\t/* off 0x0004 */\tvoid*\tHandle;\n\t/* off 0x0008 */\tlong\tStatus;\n\t}\tRegistryIO;\n/* off 0x00d8 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tCheckStack;\n\t}\tCheckRegistry2;\n/* off 0x00dc */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tCell;\n\t/* off 0x0004 */\tstruct _CELL_DATA*\tCellPoint;\n\t/* off 0x0008 */\tvoid*\tRootPoint;\n\t/* off 0x000c */\tunsigned long\tIndex;\n\t}\tCheckKey;\n/* off 0x00ec */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA*\tList;\n\t/* off 0x0004 */\tunsigned long\tIndex;\n\t/* off 0x0008 */\tunsigned long\tCell;\n\t/* off 0x000c */\tstruct _CELL_DATA*\tCellPoint;\n\t}\tCheckValueList;\n/* off 0x00fc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive;\n/* off 0x0108 */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive1;\n/* off 0x0114 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _HBIN*\tBin;\n\t/* off 0x0004 */\tstruct _HCELL*\tCellPoint;\n\t}\tCheckBin;\n/* off 0x011c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFileOffset;\n\t}\tRecoverData;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nenum _CM_LOAD_FAILURE_TYPE\n{\n\t_None\t=0x00000000\t,//0\n\t_CmInitializeHive\t=0x00000001\t,//0\n\t_HvInitializeHive\t=0x00000002\t,//0\n\t_HvpBuildMap\t=0x00000003\t,//0\n\t_HvpBuildMapAndCopy\t=0x00000004\t,//0\n\t_HvpInitMap\t=0x00000005\t,//0\n\t_HvLoadHive\t=0x00000006\t,//0\n\t_HvpReadFileImageAndBuildMap\t=0x00000007\t,//0\n\t_HvpRecoverData\t=0x00000008\t,//0\n\t_HvpRecoverWholeHive\t=0x00000009\t,//0\n\t_HvpMapFileImageAndBuildMap\t=0x0000000a\t,//0\n\t_CmpValidateHiveSecurityDescriptors\t=0x0000000b\t,//0\n\t_HvpEnlistBinInMap\t=0x0000000c\t,//0\n\t_CmCheckRegistry\t=0x0000000d\t,//0\n\t_CmRegistryIO\t=0x0000000e\t,//0\n\t_CmCheckRegistry2\t=0x0000000f\t,//0\n\t_CmpCheckKey\t=0x00000010\t,//0\n\t_CmpCheckValueList\t=0x00000011\t,//0\n\t_HvCheckHive\t=0x00000012\t,//0\n\t_HvCheckBin\t=0x00000013\t,//0\n};\nstruct _HBIN /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFileOffset;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long Reserved1[2];\n/* off 0x0014 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x001c */\tunsigned long\tSpare;\n};\nstruct _HCELL /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tlong\tSize;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLast;\n\t\t/* off 0x0004 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tOldCell;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tNewCell;\n\t}\tu;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned long\tDpcCount;\n/* off 0x003c */\tunsigned long\tDpcRate;\n/* off 0x0040 */\tunsigned __int64\tC1Time;\n/* off 0x0048 */\tunsigned __int64\tC2Time;\n/* off 0x0050 */\tunsigned __int64\tC3Time;\n/* off 0x0058 */\tunsigned __int64\tC1Transitions;\n/* off 0x0060 */\tunsigned __int64\tC2Transitions;\n/* off 0x0068 */\tunsigned __int64\tC3Transitions;\n/* off 0x0070 */\tunsigned long\tParkingStatus;\n/* off 0x0074 */\tunsigned long\tCurrentFrequency;\n/* off 0x0078 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x007c */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes[24];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0008 */\tunsigned long\tDispatchedCount;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCompletedList;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0028 */\tunsigned long\tSpinLock;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x001c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x0024 */\tstruct _IRP*\tPendingIrp;\n/* off 0x0028 */\tunsigned long\tLevel;\n/* off 0x002c */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0068 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0078 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x007c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0080 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00d0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00d4 */\tlong\tCompletionStatus;\n/* off 0x00d8 */\tunsigned long\tFlags;\n/* off 0x00dc */\tunsigned long\tUserFlags;\n/* off 0x00e0 */\tunsigned long\tProblem;\n/* off 0x00e4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tstruct _GUID\tContainerID;\n/* off 0x0180 */\tunsigned char\tOverrideFlags;\n/* off 0x0181 */\tunsigned char\tRequiresUnloadedDriver;\n/* off 0x0184 */\tstruct _PENDING_RELATIONS_LIST_ENTRY*\tPendingEjectRelations;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PENDING_RELATIONS_LIST_ENTRY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0018 */\tstruct _PNP_DEVICE_EVENT_ENTRY*\tDeviceEvent;\n/* off 0x001c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0020 */\tstruct _RELATION_LIST*\tRelationsList;\n/* off 0x0024 */\tstruct _IRP*\tEjectIrp;\n/* off 0x0028 */\tenum IRPLOCK\tLock;\n/* off 0x002c */\tunsigned long\tProblem;\n/* off 0x0030 */\tunsigned char\tProfileChangingEject;\n/* off 0x0031 */\tunsigned char\tDisplaySafeRemovalDialog;\n/* off 0x0034 */\tenum _SYSTEM_POWER_STATE\tLightestSleepState;\n/* off 0x0038 */\tstruct DOCK_INTERFACE*\tDockInterface;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _RELATION_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tTagCount;\n/* off 0x0008 */\tunsigned long\tFirstLevel;\n/* off 0x000c */\tunsigned long\tMaxLevel;\n/* off 0x0010 */\tstruct _RELATION_LIST_ENTRY* Entries[1];\n};\nstruct _RELATION_LIST_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* Devices[1];\n};\nenum IRPLOCK\n{\n\tIRPLOCK_CANCELABLE\t=0x00000000\t,//0\n\tIRPLOCK_CANCEL_STARTED\t=0x00000001\t,//0\n\tIRPLOCK_CANCEL_COMPLETE\t=0x00000002\t,//0\n\tIRPLOCK_COMPLETED\t=0x00000003\t,//0\n};\nstruct DOCK_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ProfileDepartureSetMode)(void*,enum PROFILE_DEPARTURE_STYLE);\n/* off 0x0014 */\tunsigned long( __stdcall *ProfileDepartureUpdate)(void*);\n};\nenum PROFILE_DEPARTURE_STYLE\n{\n\tPDS_UPDATE_DEFAULT\t=0x00000001\t,//0\n\tPDS_UPDATE_ON_REMOVE\t=0x00000002\t,//0\n\tPDS_UPDATE_ON_INTERFACE\t=0x00000003\t,//0\n\tPDS_UPDATE_ON_EJECT\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000158 344 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tLastUnmapBehindOffset;\n/* off 0x00d8 */\tstruct _KEVENT\tEvent;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00f0 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0148 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x014c */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0150 */\tunsigned long\tProcImagePathHash;\n/* off 0x0154 */\tunsigned long\tWritesInProgress;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0130 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00bc */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c0 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c4 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00c8 */\tvoid*\tCallbackContext;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d4 */\tlong\tSequenceNo;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tInDispatch:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tWrKeyedEvent\t=0x00000015\t,//0\n\tWrTerminated\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x0020 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0028 */\tvoid*\tLogFileHandle;\n/* off 0x002c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0030 */\tlong\tLoggerStatus;\n/* off 0x0034 */\tvoid*\tNBQHead;\n/* off 0x0038 */\tvoid*\tOverflowNBQHead;\n/* off 0x0040 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0050 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0050 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x005c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x006c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0074 */\tunsigned long\tClockType;\n/* off 0x0078 */\tunsigned long\tMaximumFileSize;\n/* off 0x007c */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0080 */\tunsigned long\tFlushTimer;\n/* off 0x0084 */\tunsigned long\tFlushThreshold;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0090 */\tunsigned long\tMinimumBuffers;\n/* off 0x0094 */\tlong\tBuffersAvailable;\n/* off 0x0098 */\tlong\tNumberOfBuffers;\n/* off 0x009c */\tunsigned long\tMaximumBuffers;\n/* off 0x00a0 */\tunsigned long\tEventsLost;\n/* off 0x00a4 */\tunsigned long\tBuffersWritten;\n/* off 0x00a8 */\tunsigned long\tLogBuffersLost;\n/* off 0x00ac */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00b4 */\tlong*\tSequencePtr;\n/* off 0x00b8 */\tunsigned long\tLocalSequence;\n/* off 0x00bc */\tstruct _GUID\tInstanceGuid;\n/* off 0x00cc */\tlong\tFileCounter;\n/* off 0x00d0 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d4 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f0 */\tunsigned long\tNumConsumers;\n/* off 0x00f4 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x00f8 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x00fc */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0130 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0138 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0170 */\tstruct _KTIMER\tFlushTimeOutTimer;\n/* off 0x0198 */\tstruct _KDPC\tFlushDpc;\n/* off 0x01b8 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01d8 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01dc */\tunsigned long\tBufferListSpinLock;\n/* off 0x01dc */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01e0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x021c */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0220 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tRealtimeLoggerContextFreed:1\t /* start bit 9 */;\n};\n};\nunion\n{\n/* off 0x022c */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x022c */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x022c */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x022c */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x022c */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x022c */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x022c */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0230 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001140 4416 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\nunion\n{\n/* off 0x0004 */\tstruct _KGUARDED_MUTEX\tPagedLock;\n/* off 0x0004 */\tunsigned long\tNonPagedLock;\n};\n/* off 0x0040 */\tlong\tRunningAllocs;\n/* off 0x0044 */\tlong\tRunningDeAllocs;\n/* off 0x0048 */\tlong\tTotalBigPages;\n/* off 0x004c */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0050 */\tunsigned long\tTotalBytes;\n/* off 0x0080 */\tunsigned long\tPoolIndex;\n/* off 0x00c0 */\tlong\tTotalPages;\n/* off 0x0100 */\tvoid**\tPendingFrees;\n/* off 0x0104 */\tlong\tPendingFreeDepth;\n/* off 0x0140 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tstruct _ETHREAD*\tThread;\n/* off 0x0008 */\tvoid* StackTrace[62];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardownScan;\n/* off 0x004b */\tunsigned char\tPendingPeriodicScan;\n/* off 0x004c */\tunsigned char\tPendingLowMemoryScan;\n/* off 0x004d */\tunsigned char\tPendingPowerScan;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_DRIVEEXTENDER_ID\t=0x00000091\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000092\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nstruct _ALIGNED_AFFINITY_SUMMARY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tCpuSet;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tSMTSet;\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x0089 */\tunsigned char\tWakeTimer;\n/* off 0x008c */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _VF_SUSPECT_DRIVER_ENTRY*\tSuspectDriverEntry;\n/* off 0x0004 */\tvoid*\tWMICallback;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0014 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _ETW_WMITRACE_WORK /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tchar LoggerName[65];\n/* off 0x0049 */\tchar FileName[129];\n/* off 0x00cc */\tunsigned long\tMaximumFileSize;\n/* off 0x00d0 */\tunsigned long\tMinBuffers;\n/* off 0x00d4 */\tunsigned long\tMaxBuffers;\n/* off 0x00d8 */\tunsigned long\tBufferSize;\n/* off 0x00dc */\tunsigned long\tMode;\n/* off 0x00e0 */\tunsigned long\tFlushTimer;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tMatchAny;\n/* off 0x0010 */\tunsigned __int64\tMatchAll;\n/* off 0x0018 */\tunsigned long\tEnableProperty;\n/* off 0x001c */\tstruct _GUID\tGuid;\n/* off 0x002c */\tunsigned char\tLevel;\n};\n};\n/* off 0x00e8 */\tlong\tStatus;\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _PNP_DEVICE_COMPLETION_REQUEST /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x000c */\tvoid*\tContext;\n/* off 0x0010 */\tenum _PNP_DEVNODE_STATE\tCompletionState;\n/* off 0x0014 */\tunsigned long\tIrpPended;\n/* off 0x0018 */\tlong\tStatus;\n/* off 0x001c */\tvoid*\tInformation;\n/* off 0x0020 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0030 */\tstruct _DRIVER_OBJECT*\tFailingDriver;\n/* off 0x0034 */\tlong\tReferenceCount;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tReset;\n/* off 0x0004 */\tunsigned char\tHiberFlags;\n/* off 0x0005 */\tunsigned char\tWroteHiberFile;\n/* off 0x0006 */\tunsigned char\tMapFrozen;\n/* off 0x0008 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0020 */\tunsigned long\tClonedRangeCount;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0028 */\tunsigned long\tNextPreserve;\n/* off 0x002c */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0030 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0038 */\tunsigned __int64\tPagesOut;\n/* off 0x0040 */\tvoid*\tIoPages;\n/* off 0x0044 */\tunsigned long\tIoPagesCount;\n/* off 0x0048 */\tvoid*\tCurrentMcb;\n/* off 0x004c */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0050 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0054 */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0058 */\tunsigned long\tIoProgress;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tvoid*\tCompressionWorkspace;\n/* off 0x0074 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0078 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x007c */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0080 */\tunsigned long*\tPerformanceStats;\n/* off 0x0084 */\tvoid*\tCompressionBlock;\n/* off 0x0088 */\tvoid*\tDmaIO;\n/* off 0x008c */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x0094 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x0098 */\tvoid*\tResumeContext;\n/* off 0x009c */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0018 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0028 */\tlong\tPagesInUse;\n/* off 0x002c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tHint;\n/* off 0x0010 */\tstruct _MMPTE*\tBasePte;\n/* off 0x0014 */\tunsigned long*\tFailureCount;\n/* off 0x0018 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x001c */\tlong\tTotalSystemPtes;\n/* off 0x0020 */\tlong\tTotalFreeSystemPtes;\n/* off 0x0024 */\tlong\tCachedPteCount;\n/* off 0x0028 */\tunsigned long\tPteFailures;\nunion\n{\n/* off 0x002c */\tunsigned long\tSpinLock;\n/* off 0x002c */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\n};\nstruct _MM_SESSION_SPACE /* sizeof 00002040 8256 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0050 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x0058 */\tunsigned long\tLocaleId;\n/* off 0x005c */\tunsigned long\tAttachCount;\n/* off 0x0060 */\tstruct _KGATE\tAttachGate;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0ddc */\tstruct _MMWSLE*\tWsle;\n/* off 0x0de0 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0e00 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1f40 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1f48 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1f80 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1fa0 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1fa4 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1fa8 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1fac */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1fb0 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1fe0 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1fe4 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1fe8 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1fec */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1ff0 */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1ff4 */\tunsigned long\tIoStateSequence;\n/* off 0x1ff8 */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x2008 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x2010 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _PNP_DEVICE_ACTION_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tenum _PNP_DEVICE_ACTION_REQUEST\tRequestType;\n/* off 0x0010 */\tunsigned char\tReorderingBarrier;\n/* off 0x0014 */\tunsigned long\tRequestArgument;\n/* off 0x0018 */\tstruct _KEVENT*\tCompletionEvent;\n/* off 0x001c */\tlong*\tCompletionStatus;\n};\nenum _PNP_DEVICE_ACTION_REQUEST\n{\n\tAssignResources\t=0x00000000\t,//0\n\tClearDeviceProblem\t=0x00000001\t,//0\n\tClearProblem\t=0x00000002\t,//0\n\tClearEjectProblem\t=0x00000003\t,//0\n\tHaltDevice\t=0x00000004\t,//0\n\tQueryPowerRelations\t=0x00000005\t,//0\n\tRebalance\t=0x00000006\t,//0\n\tReenumerateBootDevices\t=0x00000007\t,//0\n\tReenumerateDeviceOnly\t=0x00000008\t,//0\n\tReenumerateDeviceTree\t=0x00000009\t,//0\n\tReenumerateRootDevices\t=0x0000000a\t,//0\n\tRequeryDeviceState\t=0x0000000b\t,//0\n\tResetDevice\t=0x0000000c\t,//0\n\tResourceRequirementsChanged\t=0x0000000d\t,//0\n\tRestartEnumeration\t=0x0000000e\t,//0\n\tSetDeviceProblem\t=0x0000000f\t,//0\n\tStartDevice\t=0x00000010\t,//0\n\tStartSystemDevicesPass0\t=0x00000011\t,//0\n\tStartSystemDevicesPass1\t=0x00000012\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tLock;\n/* off 0x0004 */\tvoid*\tNodeToFree;\n/* off 0x0008 */\tunsigned long\tNodeRangeSize;\n/* off 0x000c */\tunsigned long\tNodeCount;\n/* off 0x0010 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0014 */\tunsigned long\tTablesNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tNodeSize;\n\t/* off 0x0000 */\tunsigned long\tUseLookaside;\n\t}\tu1;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Addition/WindowKernel/ntkrpamp_6.1.7601.0.h",
    "content": "struct LIST_ENTRY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tFlink;\n/* off 0x0008 */\tunsigned __int64\tBlink;\n};\nstruct LIST_ENTRY32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlink;\n/* off 0x0004 */\tunsigned long\tBlink;\n};\nstruct _KSYSTEM_TIME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHigh1Time;\n/* off 0x0008 */\tlong\tHigh2Time;\n};\nunion _LARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tlong\tHighPart;\n\t}\tu;\n/* off 0x0000 */\t__int64\tQuadPart;\n};\nstruct _XSTATE_FEATURE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _XSTATE_CONFIGURATION /* sizeof 00000210 528 */\n{\n/* off 0x0000 */\tunsigned __int64\tEnabledFeatures;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tOptimizedSave:1\t /* start bit 0 */;\n/* off 0x0010 */\tstruct _XSTATE_FEATURE Features[64];\n};\nstruct _KUSER_SHARED_DATA /* sizeof 000005f0 1520 */\n{\n/* off 0x0000 */\tunsigned long\tTickCountLowDeprecated;\n/* off 0x0004 */\tunsigned long\tTickCountMultiplier;\n/* off 0x0008 */\tstruct _KSYSTEM_TIME\tInterruptTime;\n/* off 0x0014 */\tstruct _KSYSTEM_TIME\tSystemTime;\n/* off 0x0020 */\tstruct _KSYSTEM_TIME\tTimeZoneBias;\n/* off 0x002c */\tunsigned short\tImageNumberLow;\n/* off 0x002e */\tunsigned short\tImageNumberHigh;\n/* off 0x0030 */\twchar NtSystemRoot[260];\n/* off 0x0238 */\tunsigned long\tMaxStackTraceDepth;\n/* off 0x023c */\tunsigned long\tCryptoExponent;\n/* off 0x0240 */\tunsigned long\tTimeZoneId;\n/* off 0x0244 */\tunsigned long\tLargePageMinimum;\n/* off 0x0248 */\tunsigned long Reserved2[7];\n/* off 0x0264 */\tenum _NT_PRODUCT_TYPE\tNtProductType;\n/* off 0x0268 */\tunsigned char\tProductTypeIsValid;\n/* off 0x026c */\tunsigned long\tNtMajorVersion;\n/* off 0x0270 */\tunsigned long\tNtMinorVersion;\n/* off 0x0274 */\tunsigned char ProcessorFeatures[64];\n/* off 0x02b4 */\tunsigned long\tReserved1;\n/* off 0x02b8 */\tunsigned long\tReserved3;\n/* off 0x02bc */\tunsigned long\tTimeSlip;\n/* off 0x02c0 */\tenum _ALTERNATIVE_ARCHITECTURE_TYPE\tAlternativeArchitecture;\n/* off 0x02c4 */\tunsigned long AltArchitecturePad[1];\n/* off 0x02c8 */\tunion _LARGE_INTEGER\tSystemExpirationDate;\n/* off 0x02d0 */\tunsigned long\tSuiteMask;\n/* off 0x02d4 */\tunsigned char\tKdDebuggerEnabled;\n/* off 0x02d5 */\tunsigned char\tNXSupportPolicy;\n/* off 0x02d8 */\tunsigned long\tActiveConsoleId;\n/* off 0x02dc */\tunsigned long\tDismountCount;\n/* off 0x02e0 */\tunsigned long\tComPlusPackage;\n/* off 0x02e4 */\tunsigned long\tLastSystemRITEventTickCount;\n/* off 0x02e8 */\tunsigned long\tNumberOfPhysicalPages;\n/* off 0x02ec */\tunsigned char\tSafeBootMode;\nunion\n{\n/* off 0x02ed */\tunsigned char\tTscQpcData;\nstruct\n{\n/* off 0x02ed */\tunsigned char\tTscQpcEnabled:1\t /* start bit 0 */;\n/* off 0x02ed */\tunsigned char\tTscQpcSpareFlag:1\t /* start bit 1 */;\n/* off 0x02ed */\tunsigned char\tTscQpcShift:6\t /* start bit 2 */;\n};\n};\n/* off 0x02ee */\tunsigned char TscQpcPad[2];\nunion\n{\n/* off 0x02f0 */\tunsigned long\tSharedDataFlags;\nstruct\n{\n/* off 0x02f0 */\tunsigned long\tDbgErrorPortPresent:1\t /* start bit 0 */;\n/* off 0x02f0 */\tunsigned long\tDbgElevationEnabled:1\t /* start bit 1 */;\n/* off 0x02f0 */\tunsigned long\tDbgVirtEnabled:1\t /* start bit 2 */;\n/* off 0x02f0 */\tunsigned long\tDbgInstallerDetectEnabled:1\t /* start bit 3 */;\n/* off 0x02f0 */\tunsigned long\tDbgSystemDllRelocated:1\t /* start bit 4 */;\n/* off 0x02f0 */\tunsigned long\tDbgDynProcessorEnabled:1\t /* start bit 5 */;\n/* off 0x02f0 */\tunsigned long\tDbgSEHValidationEnabled:1\t /* start bit 6 */;\n/* off 0x02f0 */\tunsigned long\tSpareBits:25\t /* start bit 7 */;\n};\n};\n/* off 0x02f4 */\tunsigned long DataFlagsPad[1];\n/* off 0x02f8 */\tunsigned __int64\tTestRetInstruction;\n/* off 0x0300 */\tunsigned long\tSystemCall;\n/* off 0x0304 */\tunsigned long\tSystemCallReturn;\n/* off 0x0308 */\tunsigned __int64 SystemCallPad[3];\nunion\n{\n/* off 0x0320 */\tstruct _KSYSTEM_TIME\tTickCount;\n/* off 0x0320 */\tunsigned __int64\tTickCountQuad;\n/* off 0x0320 */\tunsigned long ReservedTickCountOverlay[3];\n};\n/* off 0x032c */\tunsigned long TickCountPad[1];\n/* off 0x0330 */\tunsigned long\tCookie;\n/* off 0x0334 */\tunsigned long CookiePad[1];\n/* off 0x0338 */\t__int64\tConsoleSessionForegroundProcessId;\n/* off 0x0340 */\tunsigned long Wow64SharedInformation[16];\n/* off 0x0380 */\tunsigned short UserModeGlobalLogger[16];\n/* off 0x03a0 */\tunsigned long\tImageFileExecutionOptions;\n/* off 0x03a4 */\tunsigned long\tLangGenerationCount;\n/* off 0x03a8 */\tunsigned __int64\tReserved5;\n/* off 0x03b0 */\tunsigned __int64\tInterruptTimeBias;\n/* off 0x03b8 */\tunsigned __int64\tTscQpcBias;\n/* off 0x03c0 */\tunsigned long\tActiveProcessorCount;\n/* off 0x03c4 */\tunsigned short\tActiveGroupCount;\n/* off 0x03c6 */\tunsigned short\tReserved4;\n/* off 0x03c8 */\tunsigned long\tAitSamplingValue;\n/* off 0x03cc */\tunsigned long\tAppCompatFlag;\n/* off 0x03d0 */\tunsigned __int64\tSystemDllNativeRelocation;\n/* off 0x03d8 */\tunsigned long\tSystemDllWowRelocation;\n/* off 0x03dc */\tunsigned long XStatePad[1];\n/* off 0x03e0 */\tstruct _XSTATE_CONFIGURATION\tXState;\n};\nenum _NT_PRODUCT_TYPE\n{\n\tNtProductWinNt\t=0x00000001\t,//0\n\tNtProductLanManNt\t=0x00000002\t,//0\n\tNtProductServer\t=0x00000003\t,//0\n};\nenum _ALTERNATIVE_ARCHITECTURE_TYPE\n{\n\tStandardDesign\t=0x00000000\t,//0\n\tNEC98x86\t=0x00000001\t,//0\n\tEndAlternatives\t=0x00000002\t,//0\n};\nunion _ULARGE_INTEGER /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLowPart;\n\t/* off 0x0004 */\tunsigned long\tHighPart;\n\t}\tu;\n/* off 0x0000 */\tunsigned __int64\tQuadPart;\n};\nstruct _TP_CALLBACK_ENVIRON_V3 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _TP_POOL*\tPool;\n/* off 0x0008 */\tstruct _TP_CLEANUP_GROUP*\tCleanupGroup;\n/* off 0x000c */\tvoid( __stdcall *CleanupGroupCancelCallback)(void*,void*);\n/* off 0x0010 */\tvoid*\tRaceDll;\n/* off 0x0014 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0018 */\tvoid( __stdcall *FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*,void*);\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlags;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLongFunction:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tPersistent:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tPrivate:30\t /* start bit 2 */;\n\t\t}\ts;\n\t}\tu;\n/* off 0x0020 */\tenum _TP_CALLBACK_PRIORITY\tCallbackPriority;\n/* off 0x0024 */\tunsigned long\tSize;\n};\nstruct _TP_POOL /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CLEANUP_GROUP /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT /* sizeof 00000000 0 */\n{\n};\nstruct _TP_CALLBACK_INSTANCE /* sizeof 00000000 0 */\n{\n};\nenum _TP_CALLBACK_PRIORITY\n{\n\tTP_CALLBACK_PRIORITY_HIGH\t=0x00000000\t,//0\n\tTP_CALLBACK_PRIORITY_NORMAL\t=0x00000001\t,//0\n\tTP_CALLBACK_PRIORITY_LOW\t=0x00000002\t,//0\n\tTP_CALLBACK_PRIORITY_INVALID\t=0x00000003\t,//0\n};\nstruct _LIST_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tFlink;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tBlink;\n};\nstruct _TP_NBQ_GUARD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuardLinks;\n/* off 0x0008 */\tvoid* Guards[2];\n};\nstruct _TP_TASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _TP_TASK_CALLBACKS*\tCallbacks;\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n/* off 0x000c */\tstruct _TP_NBQ_GUARD\tPostGuard;\n/* off 0x001c */\tvoid*\tNBQNode;\n};\nstruct _TP_TASK_CALLBACKS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid( __stdcall *ExecuteCallback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_TASK*);\n/* off 0x0004 */\tvoid( __stdcall *Unposted)(struct _TP_TASK*,struct _TP_POOL*);\n};\nstruct _TP_DIRECT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid( __stdcall *Callback)(struct _TP_CALLBACK_INSTANCE*,struct _TP_DIRECT*,void*,struct _IO_STATUS_BLOCK*);\n/* off 0x0004 */\tunsigned long\tNumaNode;\n/* off 0x0008 */\tunsigned char\tIdealProcessor;\n};\nstruct _IO_STATUS_BLOCK /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0000 */\tvoid*\tPointer;\n};\n/* off 0x0004 */\tunsigned long\tInformation;\n};\nstruct _NT_TIB /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0004 */\tvoid*\tStackBase;\n/* off 0x0008 */\tvoid*\tStackLimit;\n/* off 0x000c */\tvoid*\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tvoid*\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tvoid*\tArbitraryUserPointer;\n/* off 0x0018 */\tstruct _NT_TIB*\tSelf;\n};\nstruct _CLIENT_ID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tUniqueProcess;\n/* off 0x0004 */\tvoid*\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _UNICODE_STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned short*\tBuffer;\n};\nstruct _GUID /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tData1;\n/* off 0x0004 */\tunsigned short\tData2;\n/* off 0x0006 */\tunsigned short\tData3;\n/* off 0x0008 */\tunsigned char Data4[8];\n};\nstruct _PROCESSOR_NUMBER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tGroup;\n/* off 0x0002 */\tunsigned char\tNumber;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nstruct _TEB /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\n/* off 0x001c */\tvoid*\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0028 */\tvoid*\tActiveRpcHandle;\n/* off 0x002c */\tvoid*\tThreadLocalStoragePointer;\n/* off 0x0030 */\tstruct _PEB*\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tvoid*\tCsrClientThread;\n/* off 0x0040 */\tvoid*\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tvoid*\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tvoid* SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tstruct _ACTIVATION_CONTEXT_STACK*\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID\tRealClientId;\n/* off 0x06bc */\tvoid*\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tvoid*\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tvoid* glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tvoid*\tglReserved2;\n/* off 0x0be0 */\tvoid*\tglSectionInfo;\n/* off 0x0be4 */\tvoid*\tglSection;\n/* off 0x0be8 */\tvoid*\tglTable;\n/* off 0x0bec */\tvoid*\tglCurrentRC;\n/* off 0x0bf0 */\tvoid*\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _UNICODE_STRING\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tvoid*\tDeallocationStack;\n/* off 0x0e10 */\tvoid* TlsSlots[64];\n/* off 0x0f10 */\tstruct _LIST_ENTRY\tTlsLinks;\n/* off 0x0f18 */\tvoid*\tVdm;\n/* off 0x0f1c */\tvoid*\tReservedForNtRpc;\n/* off 0x0f20 */\tvoid* DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tvoid* Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tvoid*\tSubProcessTag;\n/* off 0x0f64 */\tvoid*\tEtwLocalData;\n/* off 0x0f68 */\tvoid*\tEtwTraceData;\n/* off 0x0f6c */\tvoid*\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tvoid*\tReservedForPerf;\n/* off 0x0f80 */\tvoid*\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tvoid*\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tvoid*\tThreadPoolData;\n/* off 0x0f94 */\tvoid**\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tvoid*\tNlsCache;\n/* off 0x0fa4 */\tvoid*\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tvoid*\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tstruct _TEB_ACTIVE_FRAME*\tActiveFrame;\n/* off 0x0fb4 */\tvoid*\tFlsData;\n/* off 0x0fb8 */\tvoid*\tPreferredLanguages;\n/* off 0x0fbc */\tvoid*\tUserPrefLanguages;\n/* off 0x0fc0 */\tvoid*\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tvoid*\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tvoid*\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tvoid*\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tvoid*\tResourceRetValue;\n};\nstruct _EXCEPTION_REGISTRATION_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tNext;\n/* off 0x0004 */\tenum _EXCEPTION_DISPOSITION( __stdcall *Handler)(struct _EXCEPTION_RECORD*,void*,struct _CONTEXT*,void*);\n};\nenum _EXCEPTION_DISPOSITION\n{\n\tExceptionContinueExecution\t=0x00000000\t,//0\n\tExceptionContinueSearch\t=0x00000001\t,//0\n\tExceptionNestedException\t=0x00000002\t,//0\n\tExceptionCollidedUnwind\t=0x00000003\t,//0\n};\nstruct _EXCEPTION_RECORD /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x000c */\tvoid*\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _FLOATING_SAVE_AREA /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n/* off 0x006c */\tunsigned long\tCr0NpxState;\n};\nstruct _CONTEXT /* sizeof 000002cc 716 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n/* off 0x0004 */\tunsigned long\tDr0;\n/* off 0x0008 */\tunsigned long\tDr1;\n/* off 0x000c */\tunsigned long\tDr2;\n/* off 0x0010 */\tunsigned long\tDr3;\n/* off 0x0014 */\tunsigned long\tDr6;\n/* off 0x0018 */\tunsigned long\tDr7;\n/* off 0x001c */\tstruct _FLOATING_SAVE_AREA\tFloatSave;\n/* off 0x008c */\tunsigned long\tSegGs;\n/* off 0x0090 */\tunsigned long\tSegFs;\n/* off 0x0094 */\tunsigned long\tSegEs;\n/* off 0x0098 */\tunsigned long\tSegDs;\n/* off 0x009c */\tunsigned long\tEdi;\n/* off 0x00a0 */\tunsigned long\tEsi;\n/* off 0x00a4 */\tunsigned long\tEbx;\n/* off 0x00a8 */\tunsigned long\tEdx;\n/* off 0x00ac */\tunsigned long\tEcx;\n/* off 0x00b0 */\tunsigned long\tEax;\n/* off 0x00b4 */\tunsigned long\tEbp;\n/* off 0x00b8 */\tunsigned long\tEip;\n/* off 0x00bc */\tunsigned long\tSegCs;\n/* off 0x00c0 */\tunsigned long\tEFlags;\n/* off 0x00c4 */\tunsigned long\tEsp;\n/* off 0x00c8 */\tunsigned long\tSegSs;\n/* off 0x00cc */\tunsigned char ExtendedRegisters[512];\n};\nstruct _PEB /* sizeof 00000248 584 */\n{\n/* off 0x0000 */\tunsigned char\tInheritedAddressSpace;\n/* off 0x0001 */\tunsigned char\tReadImageFileExecOptions;\n/* off 0x0002 */\tunsigned char\tBeingDebugged;\nunion\n{\n/* off 0x0003 */\tunsigned char\tBitField;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tImageUsesLargePages:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tIsProtectedProcess:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tIsLegacyProcess:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tIsImageDynamicallyRelocated:1\t /* start bit 3 */;\n/* off 0x0003 */\tunsigned char\tSkipPatchingUser32Forwarders:1\t /* start bit 4 */;\n/* off 0x0003 */\tunsigned char\tSpareBits:3\t /* start bit 5 */;\n};\n};\n/* off 0x0004 */\tvoid*\tMutant;\n/* off 0x0008 */\tvoid*\tImageBaseAddress;\n/* off 0x000c */\tstruct _PEB_LDR_DATA*\tLdr;\n/* off 0x0010 */\tstruct _RTL_USER_PROCESS_PARAMETERS*\tProcessParameters;\n/* off 0x0014 */\tvoid*\tSubSystemData;\n/* off 0x0018 */\tvoid*\tProcessHeap;\n/* off 0x001c */\tstruct _RTL_CRITICAL_SECTION*\tFastPebLock;\n/* off 0x0020 */\tvoid*\tAtlThunkSListPtr;\n/* off 0x0024 */\tvoid*\tIFEOKey;\nunion\n{\n/* off 0x0028 */\tunsigned long\tCrossProcessFlags;\nstruct\n{\n/* off 0x0028 */\tunsigned long\tProcessInJob:1\t /* start bit 0 */;\n/* off 0x0028 */\tunsigned long\tProcessInitializing:1\t /* start bit 1 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVEH:1\t /* start bit 2 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingVCH:1\t /* start bit 3 */;\n/* off 0x0028 */\tunsigned long\tProcessUsingFTH:1\t /* start bit 4 */;\n/* off 0x0028 */\tunsigned long\tReservedBits0:27\t /* start bit 5 */;\n};\n};\nunion\n{\n/* off 0x002c */\tvoid*\tKernelCallbackTable;\n/* off 0x002c */\tvoid*\tUserSharedInfoPtr;\n};\n/* off 0x0030 */\tunsigned long SystemReserved[1];\n/* off 0x0034 */\tunsigned long\tAtlThunkSListPtr32;\n/* off 0x0038 */\tvoid*\tApiSetMap;\n/* off 0x003c */\tunsigned long\tTlsExpansionCounter;\n/* off 0x0040 */\tvoid*\tTlsBitmap;\n/* off 0x0044 */\tunsigned long TlsBitmapBits[2];\n/* off 0x004c */\tvoid*\tReadOnlySharedMemoryBase;\n/* off 0x0050 */\tvoid*\tHotpatchInformation;\n/* off 0x0054 */\tvoid**\tReadOnlyStaticServerData;\n/* off 0x0058 */\tvoid*\tAnsiCodePageData;\n/* off 0x005c */\tvoid*\tOemCodePageData;\n/* off 0x0060 */\tvoid*\tUnicodeCaseTableData;\n/* off 0x0064 */\tunsigned long\tNumberOfProcessors;\n/* off 0x0068 */\tunsigned long\tNtGlobalFlag;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tCriticalSectionTimeout;\n/* off 0x0078 */\tunsigned long\tHeapSegmentReserve;\n/* off 0x007c */\tunsigned long\tHeapSegmentCommit;\n/* off 0x0080 */\tunsigned long\tHeapDeCommitTotalFreeThreshold;\n/* off 0x0084 */\tunsigned long\tHeapDeCommitFreeBlockThreshold;\n/* off 0x0088 */\tunsigned long\tNumberOfHeaps;\n/* off 0x008c */\tunsigned long\tMaximumNumberOfHeaps;\n/* off 0x0090 */\tvoid**\tProcessHeaps;\n/* off 0x0094 */\tvoid*\tGdiSharedHandleTable;\n/* off 0x0098 */\tvoid*\tProcessStarterHelper;\n/* off 0x009c */\tunsigned long\tGdiDCAttributeList;\n/* off 0x00a0 */\tstruct _RTL_CRITICAL_SECTION*\tLoaderLock;\n/* off 0x00a4 */\tunsigned long\tOSMajorVersion;\n/* off 0x00a8 */\tunsigned long\tOSMinorVersion;\n/* off 0x00ac */\tunsigned short\tOSBuildNumber;\n/* off 0x00ae */\tunsigned short\tOSCSDVersion;\n/* off 0x00b0 */\tunsigned long\tOSPlatformId;\n/* off 0x00b4 */\tunsigned long\tImageSubsystem;\n/* off 0x00b8 */\tunsigned long\tImageSubsystemMajorVersion;\n/* off 0x00bc */\tunsigned long\tImageSubsystemMinorVersion;\n/* off 0x00c0 */\tunsigned long\tActiveProcessAffinityMask;\n/* off 0x00c4 */\tunsigned long GdiHandleBuffer[34];\n/* off 0x014c */\tvoid( __stdcall *PostProcessInitRoutine)();\n/* off 0x0150 */\tvoid*\tTlsExpansionBitmap;\n/* off 0x0154 */\tunsigned long TlsExpansionBitmapBits[32];\n/* off 0x01d4 */\tunsigned long\tSessionId;\n/* off 0x01d8 */\tunion _ULARGE_INTEGER\tAppCompatFlags;\n/* off 0x01e0 */\tunion _ULARGE_INTEGER\tAppCompatFlagsUser;\n/* off 0x01e8 */\tvoid*\tpShimData;\n/* off 0x01ec */\tvoid*\tAppCompatInfo;\n/* off 0x01f0 */\tstruct _UNICODE_STRING\tCSDVersion;\n/* off 0x01f8 */\tstruct _ACTIVATION_CONTEXT_DATA*\tActivationContextData;\n/* off 0x01fc */\tstruct _ASSEMBLY_STORAGE_MAP*\tProcessAssemblyStorageMap;\n/* off 0x0200 */\tstruct _ACTIVATION_CONTEXT_DATA*\tSystemDefaultActivationContextData;\n/* off 0x0204 */\tstruct _ASSEMBLY_STORAGE_MAP*\tSystemAssemblyStorageMap;\n/* off 0x0208 */\tunsigned long\tMinimumStackCommit;\n/* off 0x020c */\tstruct _FLS_CALLBACK_INFO*\tFlsCallback;\n/* off 0x0210 */\tstruct _LIST_ENTRY\tFlsListHead;\n/* off 0x0218 */\tvoid*\tFlsBitmap;\n/* off 0x021c */\tunsigned long FlsBitmapBits[4];\n/* off 0x022c */\tunsigned long\tFlsHighIndex;\n/* off 0x0230 */\tvoid*\tWerRegistrationData;\n/* off 0x0234 */\tvoid*\tWerShipAssertPtr;\n/* off 0x0238 */\tvoid*\tpContextData;\n/* off 0x023c */\tvoid*\tpImageHeaderHash;\nunion\n{\n/* off 0x0240 */\tunsigned long\tTracingFlags;\nstruct\n{\n/* off 0x0240 */\tunsigned long\tHeapTracingEnabled:1\t /* start bit 0 */;\n/* off 0x0240 */\tunsigned long\tCritSecTracingEnabled:1\t /* start bit 1 */;\n/* off 0x0240 */\tunsigned long\tSpareTracingBits:30\t /* start bit 2 */;\n};\n};\n};\nstruct _PEB_LDR_DATA /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned char\tInitialized;\n/* off 0x0008 */\tvoid*\tSsHandle;\n/* off 0x000c */\tstruct _LIST_ENTRY\tInLoadOrderModuleList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tInMemoryOrderModuleList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tInInitializationOrderModuleList;\n/* off 0x0024 */\tvoid*\tEntryInProgress;\n/* off 0x0028 */\tunsigned char\tShutdownInProgress;\n/* off 0x002c */\tvoid*\tShutdownThreadId;\n};\nstruct _CURDIR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tDosPath;\n/* off 0x0008 */\tvoid*\tHandle;\n};\nstruct _STRING /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tchar*\tBuffer;\n};\nstruct _RTL_DRIVE_LETTER_CURDIR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tFlags;\n/* off 0x0002 */\tunsigned short\tLength;\n/* off 0x0004 */\tunsigned long\tTimeStamp;\n/* off 0x0008 */\tstruct _STRING\tDosPath;\n};\nstruct _RTL_USER_PROCESS_PARAMETERS /* sizeof 00000298 664 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tLength;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tDebugFlags;\n/* off 0x0010 */\tvoid*\tConsoleHandle;\n/* off 0x0014 */\tunsigned long\tConsoleFlags;\n/* off 0x0018 */\tvoid*\tStandardInput;\n/* off 0x001c */\tvoid*\tStandardOutput;\n/* off 0x0020 */\tvoid*\tStandardError;\n/* off 0x0024 */\tstruct _CURDIR\tCurrentDirectory;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tDllPath;\n/* off 0x0038 */\tstruct _UNICODE_STRING\tImagePathName;\n/* off 0x0040 */\tstruct _UNICODE_STRING\tCommandLine;\n/* off 0x0048 */\tvoid*\tEnvironment;\n/* off 0x004c */\tunsigned long\tStartingX;\n/* off 0x0050 */\tunsigned long\tStartingY;\n/* off 0x0054 */\tunsigned long\tCountX;\n/* off 0x0058 */\tunsigned long\tCountY;\n/* off 0x005c */\tunsigned long\tCountCharsX;\n/* off 0x0060 */\tunsigned long\tCountCharsY;\n/* off 0x0064 */\tunsigned long\tFillAttribute;\n/* off 0x0068 */\tunsigned long\tWindowFlags;\n/* off 0x006c */\tunsigned long\tShowWindowFlags;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tWindowTitle;\n/* off 0x0078 */\tstruct _UNICODE_STRING\tDesktopInfo;\n/* off 0x0080 */\tstruct _UNICODE_STRING\tShellInfo;\n/* off 0x0088 */\tstruct _UNICODE_STRING\tRuntimeData;\n/* off 0x0090 */\tstruct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n/* off 0x0290 */\tunsigned long\tEnvironmentSize;\n/* off 0x0294 */\tunsigned long\tEnvironmentVersion;\n};\nstruct _RTL_CRITICAL_SECTION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION_DEBUG*\tDebugInfo;\n/* off 0x0004 */\tlong\tLockCount;\n/* off 0x0008 */\tlong\tRecursionCount;\n/* off 0x000c */\tvoid*\tOwningThread;\n/* off 0x0010 */\tvoid*\tLockSemaphore;\n/* off 0x0014 */\tunsigned long\tSpinCount;\n};\nstruct _RTL_CRITICAL_SECTION_DEBUG /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tType;\n/* off 0x0002 */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION*\tCriticalSection;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tProcessLocksList;\n/* off 0x0010 */\tunsigned long\tEntryCount;\n/* off 0x0014 */\tunsigned long\tContentionCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned short\tCreatorBackTraceIndexHigh;\n/* off 0x001e */\tunsigned short\tSpareUSHORT;\n};\nstruct _ACTIVATION_CONTEXT_DATA /* sizeof 00000000 0 */\n{\n};\nstruct _ASSEMBLY_STORAGE_MAP /* sizeof 00000000 0 */\n{\n};\nstruct _FLS_CALLBACK_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _ACTIVATION_CONTEXT_STACK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tActiveFrame;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tFrameListCache;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tNextCookieSequenceNumber;\n/* off 0x0014 */\tunsigned long\tStackId;\n};\nstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _RTL_ACTIVATION_CONTEXT_STACK_FRAME*\tPrevious;\n/* off 0x0004 */\tstruct _ACTIVATION_CONTEXT*\tActivationContext;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _TEB_ACTIVE_FRAME /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _TEB_ACTIVE_FRAME*\tPrevious;\n/* off 0x0008 */\tstruct _TEB_ACTIVE_FRAME_CONTEXT*\tContext;\n};\nstruct _TEB_ACTIVE_FRAME_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tchar*\tFrameName;\n};\nstruct _SINGLE_LIST_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNext;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0004 */\tstruct _LIST_ENTRY*\tPrevLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinkage;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_DYNAMIC_HASH_TABLE_ENTRY\tHashEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY*\tChainHead;\n/* off 0x0010 */\tunsigned long\tBucketIndex;\n};\nstruct _RTL_DYNAMIC_HASH_TABLE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tShift;\n/* off 0x0008 */\tunsigned long\tTableSize;\n/* off 0x000c */\tunsigned long\tPivot;\n/* off 0x0010 */\tunsigned long\tDivisorMask;\n/* off 0x0014 */\tunsigned long\tNumEntries;\n/* off 0x0018 */\tunsigned long\tNonEmptyBuckets;\n/* off 0x001c */\tunsigned long\tNumEnumerators;\n/* off 0x0020 */\tvoid*\tDirectory;\n};\nstruct _LUID /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tlong\tHighPart;\n};\nstruct _IMAGE_FILE_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tMachine;\n/* off 0x0002 */\tunsigned short\tNumberOfSections;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned long\tPointerToSymbolTable;\n/* off 0x000c */\tunsigned long\tNumberOfSymbols;\n/* off 0x0010 */\tunsigned short\tSizeOfOptionalHeader;\n/* off 0x0012 */\tunsigned short\tCharacteristics;\n};\nstruct _IMAGE_DATA_DIRECTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tVirtualAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _IMAGE_OPTIONAL_HEADER /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tImageBase;\n/* off 0x0020 */\tunsigned long\tSectionAlignment;\n/* off 0x0024 */\tunsigned long\tFileAlignment;\n/* off 0x0028 */\tunsigned short\tMajorOperatingSystemVersion;\n/* off 0x002a */\tunsigned short\tMinorOperatingSystemVersion;\n/* off 0x002c */\tunsigned short\tMajorImageVersion;\n/* off 0x002e */\tunsigned short\tMinorImageVersion;\n/* off 0x0030 */\tunsigned short\tMajorSubsystemVersion;\n/* off 0x0032 */\tunsigned short\tMinorSubsystemVersion;\n/* off 0x0034 */\tunsigned long\tWin32VersionValue;\n/* off 0x0038 */\tunsigned long\tSizeOfImage;\n/* off 0x003c */\tunsigned long\tSizeOfHeaders;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n/* off 0x0044 */\tunsigned short\tSubsystem;\n/* off 0x0046 */\tunsigned short\tDllCharacteristics;\n/* off 0x0048 */\tunsigned long\tSizeOfStackReserve;\n/* off 0x004c */\tunsigned long\tSizeOfStackCommit;\n/* off 0x0050 */\tunsigned long\tSizeOfHeapReserve;\n/* off 0x0054 */\tunsigned long\tSizeOfHeapCommit;\n/* off 0x0058 */\tunsigned long\tLoaderFlags;\n/* off 0x005c */\tunsigned long\tNumberOfRvaAndSizes;\n/* off 0x0060 */\tstruct _IMAGE_DATA_DIRECTORY DataDirectory[16];\n};\nstruct _IMAGE_NT_HEADERS /* sizeof 000000f8 248 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _IMAGE_FILE_HEADER\tFileHeader;\n/* off 0x0018 */\tstruct _IMAGE_OPTIONAL_HEADER\tOptionalHeader;\n};\nstruct _IMAGE_DOS_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\te_magic;\n/* off 0x0002 */\tunsigned short\te_cblp;\n/* off 0x0004 */\tunsigned short\te_cp;\n/* off 0x0006 */\tunsigned short\te_crlc;\n/* off 0x0008 */\tunsigned short\te_cparhdr;\n/* off 0x000a */\tunsigned short\te_minalloc;\n/* off 0x000c */\tunsigned short\te_maxalloc;\n/* off 0x000e */\tunsigned short\te_ss;\n/* off 0x0010 */\tunsigned short\te_sp;\n/* off 0x0012 */\tunsigned short\te_csum;\n/* off 0x0014 */\tunsigned short\te_ip;\n/* off 0x0016 */\tunsigned short\te_cs;\n/* off 0x0018 */\tunsigned short\te_lfarlc;\n/* off 0x001a */\tunsigned short\te_ovno;\n/* off 0x001c */\tunsigned short e_res[4];\n/* off 0x0024 */\tunsigned short\te_oemid;\n/* off 0x0026 */\tunsigned short\te_oeminfo;\n/* off 0x0028 */\tunsigned short e_res2[10];\n/* off 0x003c */\tlong\te_lfanew;\n};\nstruct _DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tPad;\n/* off 0x0002 */\tunsigned short\tLimit;\n/* off 0x0004 */\tunsigned long\tBase;\n};\nstruct _KSPECIAL_REGISTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCr0;\n/* off 0x0004 */\tunsigned long\tCr2;\n/* off 0x0008 */\tunsigned long\tCr3;\n/* off 0x000c */\tunsigned long\tCr4;\n/* off 0x0010 */\tunsigned long\tKernelDr0;\n/* off 0x0014 */\tunsigned long\tKernelDr1;\n/* off 0x0018 */\tunsigned long\tKernelDr2;\n/* off 0x001c */\tunsigned long\tKernelDr3;\n/* off 0x0020 */\tunsigned long\tKernelDr6;\n/* off 0x0024 */\tunsigned long\tKernelDr7;\n/* off 0x0028 */\tstruct _DESCRIPTOR\tGdtr;\n/* off 0x0030 */\tstruct _DESCRIPTOR\tIdtr;\n/* off 0x0038 */\tunsigned short\tTr;\n/* off 0x003a */\tunsigned short\tLdtr;\n/* off 0x003c */\tunsigned long Reserved[6];\n};\nstruct _KPROCESSOR_STATE /* sizeof 00000320 800 */\n{\n/* off 0x0000 */\tstruct _CONTEXT\tContextFrame;\n/* off 0x02cc */\tstruct _KSPECIAL_REGISTERS\tSpecialRegisters;\n};\nstruct _KSPIN_LOCK_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE*\tNext;\n/* off 0x0004 */\tunsigned long*\tLock;\n};\nstruct _PP_LOOKASIDE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE*\tP;\n/* off 0x0004 */\tstruct _GENERAL_LOOKASIDE*\tL;\n};\nunion _SLIST_HEADER /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tAlignment;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNext;\n/* off 0x0004 */\tunsigned short\tDepth;\n/* off 0x0006 */\tunsigned short\tSequence;\n};\n};\nstruct _GENERAL_LOOKASIDE_POOL /* sizeof 00000048 72 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nstruct _KDPC_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDpcListHead;\n/* off 0x0008 */\tunsigned long\tDpcLock;\n/* off 0x000c */\tlong\tDpcQueueDepth;\n/* off 0x0010 */\tunsigned long\tDpcCount;\n};\nstruct _DISPATCHER_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tType;\nunion\n{\n/* off 0x0001 */\tunsigned char\tTimerControlFlags;\nstruct\n{\n/* off 0x0001 */\tunsigned char\tAbsolute:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tCoalescable:1\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tKeepShifting:1\t /* start bit 2 */;\n/* off 0x0001 */\tunsigned char\tEncodedTolerableDelay:5\t /* start bit 3 */;\n};\n/* off 0x0001 */\tunsigned char\tAbandoned;\n/* off 0x0001 */\tunsigned char\tSignalling;\n};\nunion\n{\n/* off 0x0002 */\tunsigned char\tThreadControlFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCpuThrottled:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tCycleProfiling:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tCounterProfiling:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tReserved:5\t /* start bit 3 */;\n};\n/* off 0x0002 */\tunsigned char\tHand;\n/* off 0x0002 */\tunsigned char\tSize;\n};\nunion\n{\n/* off 0x0003 */\tunsigned char\tTimerMiscFlags;\nstruct\n{\n/* off 0x0003 */\tunsigned char\tIndex:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tProcessor:5\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tInserted:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tExpired:1\t /* start bit 7 */;\n/* off 0x0003 */\tunsigned char\tDebugActive;\n/* off 0x0003 */\tunsigned char\tActiveDR7:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tInstrumented:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tReserved2:4\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tUmsScheduled:1\t /* start bit 6 */;\n/* off 0x0003 */\tunsigned char\tUmsPrimary:1\t /* start bit 7 */;\n};\n/* off 0x0003 */\tunsigned char\tDpcActive;\n};\nstruct\n{\n};\n/* off 0x0000 */\tlong\tLock;\n};\n};\n/* off 0x0004 */\tlong\tSignalState;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitListHead;\n};\nstruct _KGATE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _KTIMER_TABLE_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tTime;\n};\nstruct _KTIMER_TABLE /* sizeof 00001840 6208 */\n{\n/* off 0x0000 */\tstruct _KTIMER* TimerExpiry[16];\n/* off 0x0040 */\tstruct _KTIMER_TABLE_ENTRY TimerEntries[256];\n};\nstruct _KDPC /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tImportance;\n/* off 0x0002 */\tunsigned short\tNumber;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDpcListEntry;\n/* off 0x000c */\tvoid( __stdcall *DeferredRoutine)(struct _KDPC*,void*,void*,void*);\n/* off 0x0010 */\tvoid*\tDeferredContext;\n/* off 0x0014 */\tvoid*\tSystemArgument1;\n/* off 0x0018 */\tvoid*\tSystemArgument2;\n/* off 0x001c */\tvoid*\tDpcData;\n};\nstruct _PPM_FFH_THROTTLE_STATE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tEnableLogging;\n/* off 0x0004 */\tunsigned long\tMismatchCount;\n/* off 0x0008 */\tunsigned char\tInitialized;\n/* off 0x0010 */\tunsigned __int64\tLastValue;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastLogTickCount;\n};\nstruct _PROC_IDLE_SNAP /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTime;\n/* off 0x0008 */\tunsigned __int64\tIdle;\n};\nstruct _PROCESSOR_POWER_STATE /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _PPM_IDLE_STATES*\tIdleStates;\n/* off 0x0008 */\tunsigned __int64\tIdleTimeLast;\n/* off 0x0010 */\tunsigned __int64\tIdleTimeTotal;\n/* off 0x0018 */\tunsigned __int64\tIdleTimeEntry;\n/* off 0x0020 */\tstruct _PROC_IDLE_ACCOUNTING*\tIdleAccounting;\n/* off 0x0024 */\tenum _PROC_HYPERVISOR_STATE\tHypervisor;\n/* off 0x0028 */\tunsigned long\tPerfHistoryTotal;\n/* off 0x002c */\tunsigned char\tThermalConstraint;\n/* off 0x002d */\tunsigned char\tPerfHistoryCount;\n/* off 0x002e */\tunsigned char\tPerfHistorySlot;\n/* off 0x002f */\tunsigned char\tReserved;\n/* off 0x0030 */\tunsigned long\tLastSysTime;\n/* off 0x0034 */\tunsigned long\tWmiDispatchPtr;\n/* off 0x0038 */\tlong\tWmiInterfaceEnabled;\n/* off 0x0040 */\tstruct _PPM_FFH_THROTTLE_STATE_INFO\tFFHThrottleStateInfo;\n/* off 0x0060 */\tstruct _KDPC\tPerfActionDpc;\n/* off 0x0080 */\tlong\tPerfActionMask;\n/* off 0x0088 */\tstruct _PROC_IDLE_SNAP\tIdleCheck;\n/* off 0x0098 */\tstruct _PROC_IDLE_SNAP\tPerfCheck;\n/* off 0x00a8 */\tstruct _PROC_PERF_DOMAIN*\tDomain;\n/* off 0x00ac */\tstruct _PROC_PERF_CONSTRAINT*\tPerfConstraint;\n/* off 0x00b0 */\tstruct _PROC_PERF_LOAD*\tLoad;\n/* off 0x00b4 */\tstruct _PROC_HISTORY_ENTRY*\tPerfHistory;\n/* off 0x00b8 */\tunsigned long\tUtility;\n/* off 0x00bc */\tunsigned long\tOverUtilizedHistory;\n/* off 0x00c0 */\tunsigned long\tAffinityCount;\n/* off 0x00c4 */\tunsigned long\tAffinityHistory;\n};\nstruct _KTIMER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunion _ULARGE_INTEGER\tDueTime;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tTimerListEntry;\n/* off 0x0020 */\tstruct _KDPC*\tDpc;\n/* off 0x0024 */\tunsigned long\tPeriod;\n};\nstruct _CACHE_DESCRIPTOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tLevel;\n/* off 0x0001 */\tunsigned char\tAssociativity;\n/* off 0x0002 */\tunsigned short\tLineSize;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tenum _PROCESSOR_CACHE_TYPE\tType;\n};\nstruct _KAFFINITY_EX /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tunsigned long Bitmap[1];\n};\nstruct _KPRCB /* sizeof 00003628 13864 */\n{\n/* off 0x0000 */\tunsigned short\tMinorVersion;\n/* off 0x0002 */\tunsigned short\tMajorVersion;\n/* off 0x0004 */\tstruct _KTHREAD*\tCurrentThread;\n/* off 0x0008 */\tstruct _KTHREAD*\tNextThread;\n/* off 0x000c */\tstruct _KTHREAD*\tIdleThread;\n/* off 0x0010 */\tunsigned char\tLegacyNumber;\n/* off 0x0011 */\tunsigned char\tNestingLevel;\n/* off 0x0012 */\tunsigned short\tBuildType;\n/* off 0x0014 */\tchar\tCpuType;\n/* off 0x0015 */\tchar\tCpuID;\nunion\n{\n/* off 0x0016 */\tunsigned short\tCpuStep;\nstruct\n{\n/* off 0x0016 */\tunsigned char\tCpuStepping;\n/* off 0x0017 */\tunsigned char\tCpuModel;\n};\n};\n/* off 0x0018 */\tstruct _KPROCESSOR_STATE\tProcessorState;\n/* off 0x0338 */\tunsigned long KernelReserved[16];\n/* off 0x0378 */\tunsigned long HalReserved[16];\n/* off 0x03b8 */\tunsigned long\tCFlushSize;\n/* off 0x03bc */\tunsigned char\tCoresPerPhysicalProcessor;\n/* off 0x03bd */\tunsigned char\tLogicalProcessorsPerCore;\n/* off 0x03be */\tunsigned char PrcbPad0[2];\n/* off 0x03c0 */\tunsigned long\tMHz;\n/* off 0x03c4 */\tunsigned char\tCpuVendor;\n/* off 0x03c5 */\tunsigned char\tGroupIndex;\n/* off 0x03c6 */\tunsigned short\tGroup;\n/* off 0x03c8 */\tunsigned long\tGroupSetMember;\n/* off 0x03cc */\tunsigned long\tNumber;\n/* off 0x03d0 */\tunsigned char PrcbPad1[72];\n/* off 0x0418 */\tstruct _KSPIN_LOCK_QUEUE LockQueue[17];\n/* off 0x04a0 */\tstruct _KTHREAD*\tNpxThread;\n/* off 0x04a4 */\tunsigned long\tInterruptCount;\n/* off 0x04a8 */\tunsigned long\tKernelTime;\n/* off 0x04ac */\tunsigned long\tUserTime;\n/* off 0x04b0 */\tunsigned long\tDpcTime;\n/* off 0x04b4 */\tunsigned long\tDpcTimeCount;\n/* off 0x04b8 */\tunsigned long\tInterruptTime;\n/* off 0x04bc */\tunsigned long\tAdjustDpcThreshold;\n/* off 0x04c0 */\tunsigned long\tPageColor;\n/* off 0x04c4 */\tunsigned char\tDebuggerSavedIRQL;\n/* off 0x04c5 */\tunsigned char\tNodeColor;\n/* off 0x04c6 */\tunsigned char PrcbPad20[2];\n/* off 0x04c8 */\tunsigned long\tNodeShiftedColor;\n/* off 0x04cc */\tstruct _KNODE*\tParentNode;\n/* off 0x04d0 */\tunsigned long\tSecondaryColorMask;\n/* off 0x04d4 */\tunsigned long\tDpcTimeLimit;\n/* off 0x04d8 */\tunsigned long PrcbPad21[2];\n/* off 0x04e0 */\tunsigned long\tCcFastReadNoWait;\n/* off 0x04e4 */\tunsigned long\tCcFastReadWait;\n/* off 0x04e8 */\tunsigned long\tCcFastReadNotPossible;\n/* off 0x04ec */\tunsigned long\tCcCopyReadNoWait;\n/* off 0x04f0 */\tunsigned long\tCcCopyReadWait;\n/* off 0x04f4 */\tunsigned long\tCcCopyReadNoWaitMiss;\n/* off 0x04f8 */\tlong\tMmSpinLockOrdering;\n/* off 0x04fc */\tlong\tIoReadOperationCount;\n/* off 0x0500 */\tlong\tIoWriteOperationCount;\n/* off 0x0504 */\tlong\tIoOtherOperationCount;\n/* off 0x0508 */\tunion _LARGE_INTEGER\tIoReadTransferCount;\n/* off 0x0510 */\tunion _LARGE_INTEGER\tIoWriteTransferCount;\n/* off 0x0518 */\tunion _LARGE_INTEGER\tIoOtherTransferCount;\n/* off 0x0520 */\tunsigned long\tCcFastMdlReadNoWait;\n/* off 0x0524 */\tunsigned long\tCcFastMdlReadWait;\n/* off 0x0528 */\tunsigned long\tCcFastMdlReadNotPossible;\n/* off 0x052c */\tunsigned long\tCcMapDataNoWait;\n/* off 0x0530 */\tunsigned long\tCcMapDataWait;\n/* off 0x0534 */\tunsigned long\tCcPinMappedDataCount;\n/* off 0x0538 */\tunsigned long\tCcPinReadNoWait;\n/* off 0x053c */\tunsigned long\tCcPinReadWait;\n/* off 0x0540 */\tunsigned long\tCcMdlReadNoWait;\n/* off 0x0544 */\tunsigned long\tCcMdlReadWait;\n/* off 0x0548 */\tunsigned long\tCcLazyWriteHotSpots;\n/* off 0x054c */\tunsigned long\tCcLazyWriteIos;\n/* off 0x0550 */\tunsigned long\tCcLazyWritePages;\n/* off 0x0554 */\tunsigned long\tCcDataFlushes;\n/* off 0x0558 */\tunsigned long\tCcDataPages;\n/* off 0x055c */\tunsigned long\tCcLostDelayedWrites;\n/* off 0x0560 */\tunsigned long\tCcFastReadResourceMiss;\n/* off 0x0564 */\tunsigned long\tCcCopyReadWaitMiss;\n/* off 0x0568 */\tunsigned long\tCcFastMdlReadResourceMiss;\n/* off 0x056c */\tunsigned long\tCcMapDataNoWaitMiss;\n/* off 0x0570 */\tunsigned long\tCcMapDataWaitMiss;\n/* off 0x0574 */\tunsigned long\tCcPinReadNoWaitMiss;\n/* off 0x0578 */\tunsigned long\tCcPinReadWaitMiss;\n/* off 0x057c */\tunsigned long\tCcMdlReadNoWaitMiss;\n/* off 0x0580 */\tunsigned long\tCcMdlReadWaitMiss;\n/* off 0x0584 */\tunsigned long\tCcReadAheadIos;\n/* off 0x0588 */\tunsigned long\tKeAlignmentFixupCount;\n/* off 0x058c */\tunsigned long\tKeExceptionDispatchCount;\n/* off 0x0590 */\tunsigned long\tKeSystemCalls;\n/* off 0x0594 */\tunsigned long\tAvailableTime;\n/* off 0x0598 */\tunsigned long PrcbPad22[2];\n/* off 0x05a0 */\tstruct _PP_LOOKASIDE_LIST PPLookasideList[16];\n/* off 0x0620 */\tstruct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];\n/* off 0x0f20 */\tstruct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];\n/* off 0x1820 */\tunsigned long\tPacketBarrier;\n/* off 0x1824 */\tlong\tReverseStall;\n/* off 0x1828 */\tvoid*\tIpiFrame;\n/* off 0x182c */\tunsigned char PrcbPad3[52];\n/* off 0x1860 */\tvoid* CurrentPacket[3];\n/* off 0x186c */\tunsigned long\tTargetSet;\n/* off 0x1870 */\tvoid( __stdcall *WorkerRoutine)(void*,void*,void*,void*);\n/* off 0x1874 */\tunsigned long\tIpiFrozen;\n/* off 0x1878 */\tunsigned char PrcbPad4[40];\n/* off 0x18a0 */\tunsigned long\tRequestSummary;\n/* off 0x18a4 */\tstruct _KPRCB*\tSignalDone;\n/* off 0x18a8 */\tunsigned char PrcbPad50[56];\n/* off 0x18e0 */\tstruct _KDPC_DATA DpcData[2];\n/* off 0x1908 */\tvoid*\tDpcStack;\n/* off 0x190c */\tlong\tMaximumDpcQueueDepth;\n/* off 0x1910 */\tunsigned long\tDpcRequestRate;\n/* off 0x1914 */\tunsigned long\tMinimumDpcRate;\n/* off 0x1918 */\tunsigned long\tDpcLastCount;\n/* off 0x191c */\tunsigned long\tPrcbLock;\n/* off 0x1920 */\tstruct _KGATE\tDpcGate;\n/* off 0x1930 */\tunsigned char\tThreadDpcEnable;\n/* off 0x1931 */\tunsigned char\tQuantumEnd;\n/* off 0x1932 */\tunsigned char\tDpcRoutineActive;\n/* off 0x1933 */\tunsigned char\tIdleSchedule;\nunion\n{\n/* off 0x1934 */\tlong\tDpcRequestSummary;\n/* off 0x1934 */\tshort DpcRequestSlot[2];\nstruct\n{\n/* off 0x1934 */\tshort\tNormalDpcState;\nunion\n{\n/* off 0x1936 */\tunsigned short\tDpcThreadActive:1\t /* start bit 0 */;\n/* off 0x1936 */\tshort\tThreadDpcState;\n};\n};\n};\n/* off 0x1938 */\tunsigned long\tTimerHand;\n/* off 0x193c */\tunsigned long\tLastTick;\n/* off 0x1940 */\tlong\tMasterOffset;\n/* off 0x1944 */\tunsigned long PrcbPad41[2];\n/* off 0x194c */\tunsigned long\tPeriodicCount;\n/* off 0x1950 */\tunsigned long\tPeriodicBias;\n/* off 0x1958 */\tunsigned __int64\tTickOffset;\n/* off 0x1960 */\tstruct _KTIMER_TABLE\tTimerTable;\n/* off 0x31a0 */\tstruct _KDPC\tCallDpc;\n/* off 0x31c0 */\tlong\tClockKeepAlive;\n/* off 0x31c4 */\tunsigned char\tClockCheckSlot;\n/* off 0x31c5 */\tunsigned char\tClockPollCycle;\n/* off 0x31c6 */\tunsigned char PrcbPad6[2];\n/* off 0x31c8 */\tlong\tDpcWatchdogPeriod;\n/* off 0x31cc */\tlong\tDpcWatchdogCount;\n/* off 0x31d0 */\tlong\tThreadWatchdogPeriod;\n/* off 0x31d4 */\tlong\tThreadWatchdogCount;\n/* off 0x31d8 */\tlong\tKeSpinLockOrdering;\n/* off 0x31dc */\tunsigned long PrcbPad70[1];\n/* off 0x31e0 */\tstruct _LIST_ENTRY\tWaitListHead;\n/* off 0x31e8 */\tunsigned long\tWaitLock;\n/* off 0x31ec */\tunsigned long\tReadySummary;\n/* off 0x31f0 */\tunsigned long\tQueueIndex;\n/* off 0x31f4 */\tstruct _SINGLE_LIST_ENTRY\tDeferredReadyListHead;\n/* off 0x31f8 */\tunsigned __int64\tStartCycles;\n/* off 0x3200 */\tunsigned __int64\tCycleTime;\n/* off 0x3208 */\tunsigned long\tHighCycleTime;\n/* off 0x320c */\tunsigned long\tPrcbPad71;\n/* off 0x3210 */\tunsigned __int64 PrcbPad72[2];\n/* off 0x3220 */\tstruct _LIST_ENTRY DispatcherReadyListHead[32];\n/* off 0x3320 */\tvoid*\tChainedInterruptList;\n/* off 0x3324 */\tlong\tLookasideIrpFloat;\n/* off 0x3328 */\tlong\tMmPageFaultCount;\n/* off 0x332c */\tlong\tMmCopyOnWriteCount;\n/* off 0x3330 */\tlong\tMmTransitionCount;\n/* off 0x3334 */\tlong\tMmCacheTransitionCount;\n/* off 0x3338 */\tlong\tMmDemandZeroCount;\n/* off 0x333c */\tlong\tMmPageReadCount;\n/* off 0x3340 */\tlong\tMmPageReadIoCount;\n/* off 0x3344 */\tlong\tMmCacheReadCount;\n/* off 0x3348 */\tlong\tMmCacheIoCount;\n/* off 0x334c */\tlong\tMmDirtyPagesWriteCount;\n/* off 0x3350 */\tlong\tMmDirtyWriteIoCount;\n/* off 0x3354 */\tlong\tMmMappedPagesWriteCount;\n/* off 0x3358 */\tlong\tMmMappedWriteIoCount;\n/* off 0x335c */\tunsigned long\tCachedCommit;\n/* off 0x3360 */\tunsigned long\tCachedResidentAvailable;\n/* off 0x3364 */\tvoid*\tHyperPte;\n/* off 0x3368 */\tunsigned char PrcbPad8[4];\n/* off 0x336c */\tunsigned char VendorString[13];\n/* off 0x3379 */\tunsigned char\tInitialApicId;\n/* off 0x337a */\tunsigned char\tLogicalProcessorsPerPhysicalProcessor;\n/* off 0x337b */\tunsigned char PrcbPad9[5];\n/* off 0x3380 */\tunsigned long\tFeatureBits;\n/* off 0x3388 */\tunion _LARGE_INTEGER\tUpdateSignature;\n/* off 0x3390 */\tunsigned __int64\tIsrTime;\n/* off 0x3398 */\tunsigned __int64\tRuntimeAccumulation;\n/* off 0x33a0 */\tstruct _PROCESSOR_POWER_STATE\tPowerState;\n/* off 0x3468 */\tstruct _KDPC\tDpcWatchdogDpc;\n/* off 0x3488 */\tstruct _KTIMER\tDpcWatchdogTimer;\n/* off 0x34b0 */\tvoid*\tWheaInfo;\n/* off 0x34b4 */\tvoid*\tEtwSupport;\n/* off 0x34b8 */\tunion _SLIST_HEADER\tInterruptObjectPool;\n/* off 0x34c0 */\tunion _SLIST_HEADER\tHypercallPageList;\n/* off 0x34c8 */\tvoid*\tHypercallPageVirtual;\n/* off 0x34cc */\tvoid*\tVirtualApicAssist;\n/* off 0x34d0 */\tunsigned __int64*\tStatisticsPage;\n/* off 0x34d4 */\tvoid*\tRateControl;\n/* off 0x34d8 */\tstruct _CACHE_DESCRIPTOR Cache[5];\n/* off 0x3514 */\tunsigned long\tCacheCount;\n/* off 0x3518 */\tunsigned long CacheProcessorMask[5];\n/* off 0x352c */\tstruct _KAFFINITY_EX\tPackageProcessorSet;\n/* off 0x3538 */\tunsigned long PrcbPad91[1];\n/* off 0x353c */\tunsigned long\tCoreProcessorSet;\n/* off 0x3540 */\tstruct _KDPC\tTimerExpirationDpc;\n/* off 0x3560 */\tunsigned long\tSpinLockAcquireCount;\n/* off 0x3564 */\tunsigned long\tSpinLockContentionCount;\n/* off 0x3568 */\tunsigned long\tSpinLockSpinCount;\n/* off 0x356c */\tunsigned long\tIpiSendRequestBroadcastCount;\n/* off 0x3570 */\tunsigned long\tIpiSendRequestRoutineCount;\n/* off 0x3574 */\tunsigned long\tIpiSendSoftwareInterruptCount;\n/* off 0x3578 */\tunsigned long\tExInitializeResourceCount;\n/* off 0x357c */\tunsigned long\tExReInitializeResourceCount;\n/* off 0x3580 */\tunsigned long\tExDeleteResourceCount;\n/* off 0x3584 */\tunsigned long\tExecutiveResourceAcquiresCount;\n/* off 0x3588 */\tunsigned long\tExecutiveResourceContentionsCount;\n/* off 0x358c */\tunsigned long\tExecutiveResourceReleaseExclusiveCount;\n/* off 0x3590 */\tunsigned long\tExecutiveResourceReleaseSharedCount;\n/* off 0x3594 */\tunsigned long\tExecutiveResourceConvertsCount;\n/* off 0x3598 */\tunsigned long\tExAcqResExclusiveAttempts;\n/* off 0x359c */\tunsigned long\tExAcqResExclusiveAcquiresExclusive;\n/* off 0x35a0 */\tunsigned long\tExAcqResExclusiveAcquiresExclusiveRecursive;\n/* off 0x35a4 */\tunsigned long\tExAcqResExclusiveWaits;\n/* off 0x35a8 */\tunsigned long\tExAcqResExclusiveNotAcquires;\n/* off 0x35ac */\tunsigned long\tExAcqResSharedAttempts;\n/* off 0x35b0 */\tunsigned long\tExAcqResSharedAcquiresExclusive;\n/* off 0x35b4 */\tunsigned long\tExAcqResSharedAcquiresShared;\n/* off 0x35b8 */\tunsigned long\tExAcqResSharedAcquiresSharedRecursive;\n/* off 0x35bc */\tunsigned long\tExAcqResSharedWaits;\n/* off 0x35c0 */\tunsigned long\tExAcqResSharedNotAcquires;\n/* off 0x35c4 */\tunsigned long\tExAcqResSharedStarveExclusiveAttempts;\n/* off 0x35c8 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresExclusive;\n/* off 0x35cc */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresShared;\n/* off 0x35d0 */\tunsigned long\tExAcqResSharedStarveExclusiveAcquiresSharedRecursive;\n/* off 0x35d4 */\tunsigned long\tExAcqResSharedStarveExclusiveWaits;\n/* off 0x35d8 */\tunsigned long\tExAcqResSharedStarveExclusiveNotAcquires;\n/* off 0x35dc */\tunsigned long\tExAcqResSharedWaitForExclusiveAttempts;\n/* off 0x35e0 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresExclusive;\n/* off 0x35e4 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresShared;\n/* off 0x35e8 */\tunsigned long\tExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;\n/* off 0x35ec */\tunsigned long\tExAcqResSharedWaitForExclusiveWaits;\n/* off 0x35f0 */\tunsigned long\tExAcqResSharedWaitForExclusiveNotAcquires;\n/* off 0x35f4 */\tunsigned long\tExSetResOwnerPointerExclusive;\n/* off 0x35f8 */\tunsigned long\tExSetResOwnerPointerSharedNew;\n/* off 0x35fc */\tunsigned long\tExSetResOwnerPointerSharedOld;\n/* off 0x3600 */\tunsigned long\tExTryToAcqExclusiveAttempts;\n/* off 0x3604 */\tunsigned long\tExTryToAcqExclusiveAcquires;\n/* off 0x3608 */\tunsigned long\tExBoostExclusiveOwner;\n/* off 0x360c */\tunsigned long\tExBoostSharedOwners;\n/* off 0x3610 */\tunsigned long\tExEtwSynchTrackingNotificationsCount;\n/* off 0x3614 */\tunsigned long\tExEtwSynchTrackingNotificationsAccountedCount;\n/* off 0x3618 */\tstruct _CONTEXT*\tContext;\n/* off 0x361c */\tunsigned long\tContextFlags;\n/* off 0x3620 */\tstruct _XSAVE_AREA*\tExtendedState;\n};\nstruct _KPCR /* sizeof 00003748 14152 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _NT_TIB\tNtTib;\nstruct\n{\n/* off 0x0000 */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tUsed_ExceptionList;\n/* off 0x0004 */\tvoid*\tUsed_StackBase;\n/* off 0x0008 */\tvoid*\tSpare2;\n/* off 0x000c */\tvoid*\tTssCopy;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0014 */\tunsigned long\tSetMemberCopy;\n/* off 0x0018 */\tvoid*\tUsed_Self;\n};\n};\n/* off 0x001c */\tstruct _KPCR*\tSelfPcr;\n/* off 0x0020 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0024 */\tunsigned char\tIrql;\n/* off 0x0028 */\tunsigned long\tIRR;\n/* off 0x002c */\tunsigned long\tIrrActive;\n/* off 0x0030 */\tunsigned long\tIDR;\n/* off 0x0034 */\tvoid*\tKdVersionBlock;\n/* off 0x0038 */\tstruct _KIDTENTRY*\tIDT;\n/* off 0x003c */\tstruct _KGDTENTRY*\tGDT;\n/* off 0x0040 */\tstruct _KTSS*\tTSS;\n/* off 0x0044 */\tunsigned short\tMajorVersion;\n/* off 0x0046 */\tunsigned short\tMinorVersion;\n/* off 0x0048 */\tunsigned long\tSetMember;\n/* off 0x004c */\tunsigned long\tStallScaleFactor;\n/* off 0x0050 */\tunsigned char\tSpareUnused;\n/* off 0x0051 */\tunsigned char\tNumber;\n/* off 0x0052 */\tunsigned char\tSpare0;\n/* off 0x0053 */\tunsigned char\tSecondLevelCacheAssociativity;\n/* off 0x0054 */\tunsigned long\tVdmAlert;\n/* off 0x0058 */\tunsigned long KernelReserved[14];\n/* off 0x0090 */\tunsigned long\tSecondLevelCacheSize;\n/* off 0x0094 */\tunsigned long HalReserved[16];\n/* off 0x00d4 */\tunsigned long\tInterruptMode;\n/* off 0x00d8 */\tunsigned char\tSpare1;\n/* off 0x00dc */\tunsigned long KernelReserved2[17];\n/* off 0x0120 */\tstruct _KPRCB\tPrcbData;\n};\nunion _KWAIT_STATUS_REGISTER /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tFlags;\nstruct\n{\n/* off 0x0000 */\tunsigned char\tState:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tAffinity:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPriority:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tApc:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tUserApc:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tAlert:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tUnused:1\t /* start bit 7 */;\n};\n};\nstruct _KAPC_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY ApcListHead[2];\n/* off 0x0010 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0014 */\tunsigned char\tKernelApcInProgress;\n/* off 0x0015 */\tunsigned char\tKernelApcPending;\n/* off 0x0016 */\tunsigned char\tUserApcPending;\n};\nstruct _KWAIT_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tvoid*\tObject;\n/* off 0x0010 */\tstruct _KWAIT_BLOCK*\tNextWaitBlock;\n/* off 0x0014 */\tunsigned short\tWaitKey;\n/* off 0x0016 */\tunsigned char\tWaitType;\n/* off 0x0017 */\tunsigned char\tBlockState;\n};\nstruct _GROUP_AFFINITY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMask;\n/* off 0x0004 */\tunsigned short\tGroup;\n/* off 0x0006 */\tunsigned short Reserved[3];\n};\nstruct _KAPC /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tSpareByte0;\n/* off 0x0002 */\tunsigned char\tSize;\n/* off 0x0003 */\tunsigned char\tSpareByte1;\n/* off 0x0004 */\tunsigned long\tSpareLong0;\n/* off 0x0008 */\tstruct _KTHREAD*\tThread;\n/* off 0x000c */\tstruct _LIST_ENTRY\tApcListEntry;\n/* off 0x0014 */\tvoid( __stdcall *KernelRoutine)(struct _KAPC*,void( __stdcall **)(void*,void*,void*),void**,void**,void**);\n/* off 0x0018 */\tvoid( __stdcall *RundownRoutine)(struct _KAPC*);\n/* off 0x001c */\tvoid( __stdcall *NormalRoutine)(void*,void*,void*);\n/* off 0x0020 */\tvoid*\tNormalContext;\n/* off 0x0024 */\tvoid*\tSystemArgument1;\n/* off 0x0028 */\tvoid*\tSystemArgument2;\n/* off 0x002c */\tchar\tApcStateIndex;\n/* off 0x002d */\tchar\tApcMode;\n/* off 0x002e */\tunsigned char\tInserted;\n};\nstruct _KSEMAPHORE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tlong\tLimit;\n};\nstruct _KTHREAD /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tunsigned __int64\tCycleTime;\n/* off 0x0018 */\tunsigned long\tHighCycleTime;\n/* off 0x0020 */\tunsigned __int64\tQuantumTarget;\n/* off 0x0028 */\tvoid*\tInitialStack;\n/* off 0x002c */\tvoid*\tStackLimit;\n/* off 0x0030 */\tvoid*\tKernelStack;\n/* off 0x0034 */\tunsigned long\tThreadLock;\n/* off 0x0038 */\tunion _KWAIT_STATUS_REGISTER\tWaitRegister;\n/* off 0x0039 */\tunsigned char\tRunning;\n/* off 0x003a */\tunsigned char Alerted[2];\nunion\n{\nstruct\n{\n/* off 0x003c */\tunsigned long\tKernelStackResident:1\t /* start bit 0 */;\n/* off 0x003c */\tunsigned long\tReadyTransition:1\t /* start bit 1 */;\n/* off 0x003c */\tunsigned long\tProcessReadyQueue:1\t /* start bit 2 */;\n/* off 0x003c */\tunsigned long\tWaitNext:1\t /* start bit 3 */;\n/* off 0x003c */\tunsigned long\tSystemAffinityActive:1\t /* start bit 4 */;\n/* off 0x003c */\tunsigned long\tAlertable:1\t /* start bit 5 */;\n/* off 0x003c */\tunsigned long\tGdiFlushActive:1\t /* start bit 6 */;\n/* off 0x003c */\tunsigned long\tUserStackWalkActive:1\t /* start bit 7 */;\n/* off 0x003c */\tunsigned long\tApcInterruptRequest:1\t /* start bit 8 */;\n/* off 0x003c */\tunsigned long\tForceDeferSchedule:1\t /* start bit 9 */;\n/* off 0x003c */\tunsigned long\tQuantumEndMigrate:1\t /* start bit 10 */;\n/* off 0x003c */\tunsigned long\tUmsDirectedSwitchEnable:1\t /* start bit 11 */;\n/* off 0x003c */\tunsigned long\tTimerActive:1\t /* start bit 12 */;\n/* off 0x003c */\tunsigned long\tSystemThread:1\t /* start bit 13 */;\n/* off 0x003c */\tunsigned long\tReserved:18\t /* start bit 14 */;\n};\n/* off 0x003c */\tlong\tMiscFlags;\n};\nunion\n{\n/* off 0x0040 */\tstruct _KAPC_STATE\tApcState;\nstruct\n{\n/* off 0x0040 */\tunsigned char ApcStateFill[23];\n/* off 0x0057 */\tchar\tPriority;\n};\n};\n/* off 0x0058 */\tunsigned long\tNextProcessor;\n/* off 0x005c */\tunsigned long\tDeferredProcessor;\n/* off 0x0060 */\tunsigned long\tApcQueueLock;\n/* off 0x0064 */\tunsigned long\tContextSwitches;\n/* off 0x0068 */\tunsigned char\tState;\n/* off 0x0069 */\tchar\tNpxState;\n/* off 0x006a */\tunsigned char\tWaitIrql;\n/* off 0x006b */\tchar\tWaitMode;\n/* off 0x006c */\tlong\tWaitStatus;\n/* off 0x0070 */\tstruct _KWAIT_BLOCK*\tWaitBlockList;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitListEntry;\n/* off 0x0074 */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n};\n/* off 0x007c */\tstruct _KQUEUE*\tQueue;\n/* off 0x0080 */\tunsigned long\tWaitTime;\nunion\n{\nstruct\n{\n/* off 0x0084 */\tshort\tKernelApcDisable;\n/* off 0x0086 */\tshort\tSpecialApcDisable;\n};\nstruct\n{\n/* off 0x0084 */\tunsigned long\tCombinedApcDisable;\n};\n};\n/* off 0x0088 */\tvoid*\tTeb;\n/* off 0x0090 */\tstruct _KTIMER\tTimer;\nunion\n{\nstruct\n{\n/* off 0x00b8 */\tunsigned long\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x00b8 */\tunsigned long\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc1Inserted:1\t /* start bit 2 */;\n/* off 0x00b8 */\tunsigned long\tEtwStackTraceApc2Inserted:1\t /* start bit 3 */;\n/* off 0x00b8 */\tunsigned long\tCalloutActive:1\t /* start bit 4 */;\n/* off 0x00b8 */\tunsigned long\tApcQueueable:1\t /* start bit 5 */;\n/* off 0x00b8 */\tunsigned long\tEnableStackSwap:1\t /* start bit 6 */;\n/* off 0x00b8 */\tunsigned long\tGuiThread:1\t /* start bit 7 */;\n/* off 0x00b8 */\tunsigned long\tUmsPerformingSyscall:1\t /* start bit 8 */;\n/* off 0x00b8 */\tunsigned long\tVdmSafe:1\t /* start bit 9 */;\n/* off 0x00b8 */\tunsigned long\tUmsDispatched:1\t /* start bit 10 */;\n/* off 0x00b8 */\tunsigned long\tReservedFlags:21\t /* start bit 11 */;\n};\n/* off 0x00b8 */\tlong\tThreadFlags;\n};\n/* off 0x00bc */\tvoid*\tServiceTable;\n/* off 0x00c0 */\tstruct _KWAIT_BLOCK WaitBlock[4];\n/* off 0x0120 */\tstruct _LIST_ENTRY\tQueueListEntry;\n/* off 0x0128 */\tstruct _KTRAP_FRAME*\tTrapFrame;\n/* off 0x012c */\tvoid*\tFirstArgument;\nunion\n{\n/* off 0x0130 */\tvoid*\tCallbackStack;\n/* off 0x0130 */\tunsigned long\tCallbackDepth;\n};\n/* off 0x0134 */\tunsigned char\tApcStateIndex;\n/* off 0x0135 */\tchar\tBasePriority;\nunion\n{\n/* off 0x0136 */\tchar\tPriorityDecrement;\nstruct\n{\n/* off 0x0136 */\tunsigned char\tForegroundBoost:4\t /* start bit 0 */;\n/* off 0x0136 */\tunsigned char\tUnusualBoost:4\t /* start bit 4 */;\n};\n};\n/* off 0x0137 */\tunsigned char\tPreempted;\n/* off 0x0138 */\tunsigned char\tAdjustReason;\n/* off 0x0139 */\tchar\tAdjustIncrement;\n/* off 0x013a */\tchar\tPreviousMode;\n/* off 0x013b */\tchar\tSaturation;\n/* off 0x013c */\tunsigned long\tSystemCallNumber;\n/* off 0x0140 */\tunsigned long\tFreezeCount;\n/* off 0x0144 */\tstruct _GROUP_AFFINITY\tUserAffinity;\n/* off 0x0150 */\tstruct _KPROCESS*\tProcess;\n/* off 0x0154 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x0160 */\tunsigned long\tIdealProcessor;\n/* off 0x0164 */\tunsigned long\tUserIdealProcessor;\n/* off 0x0168 */\tstruct _KAPC_STATE* ApcStatePointer[2];\nunion\n{\n/* off 0x0170 */\tstruct _KAPC_STATE\tSavedApcState;\nstruct\n{\n/* off 0x0170 */\tunsigned char SavedApcStateFill[23];\n/* off 0x0187 */\tunsigned char\tWaitReason;\n};\n};\n/* off 0x0188 */\tchar\tSuspendCount;\n/* off 0x0189 */\tchar\tSpare1;\n/* off 0x018a */\tunsigned char\tOtherPlatformFill;\n/* off 0x018c */\tvoid*\tWin32Thread;\n/* off 0x0190 */\tvoid*\tStackBase;\nunion\n{\n/* off 0x0194 */\tstruct _KAPC\tSuspendApc;\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill0[1];\n/* off 0x0195 */\tunsigned char\tResourceIndex;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill1[3];\n/* off 0x0197 */\tunsigned char\tQuantumReset;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill2[4];\n/* off 0x0198 */\tunsigned long\tKernelTime;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill3[36];\n/* off 0x01b8 */\tstruct _KPRCB*\tWaitPrcb;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill4[40];\n/* off 0x01bc */\tvoid*\tLegoData;\n};\nstruct\n{\n/* off 0x0194 */\tunsigned char SuspendApcFill5[47];\n/* off 0x01c3 */\tunsigned char\tLargeStack;\n};\n};\n/* off 0x01c4 */\tunsigned long\tUserTime;\nunion\n{\n/* off 0x01c8 */\tstruct _KSEMAPHORE\tSuspendSemaphore;\n/* off 0x01c8 */\tunsigned char SuspendSemaphorefill[20];\n};\n/* off 0x01dc */\tunsigned long\tSListFaultCount;\n/* off 0x01e0 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x01e8 */\tstruct _LIST_ENTRY\tMutantListHead;\n/* off 0x01f0 */\tvoid*\tSListFaultAddress;\n/* off 0x01f4 */\tstruct _KTHREAD_COUNTERS*\tThreadCounters;\n/* off 0x01f8 */\tstruct _XSTATE_SAVE*\tXStateSave;\n};\nstruct _KGDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLimitLow;\n/* off 0x0002 */\tunsigned short\tBaseLow;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tBaseMid;\n\t\t/* off 0x0001 */\tunsigned char\tFlags1;\n\t\t/* off 0x0002 */\tunsigned char\tFlags2;\n\t\t/* off 0x0003 */\tunsigned char\tBaseHi;\n\t\t}\tBytes;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tBaseMid:8\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:5\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tDpl:2\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tPres:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tLimitHi:4\t /* start bit 16 */;\n\t\t/* off 0x0000 */\tunsigned long\tSys:1\t /* start bit 20 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserved_0:1\t /* start bit 21 */;\n\t\t/* off 0x0000 */\tunsigned long\tDefault_Big:1\t /* start bit 22 */;\n\t\t/* off 0x0000 */\tunsigned long\tGranularity:1\t /* start bit 23 */;\n\t\t/* off 0x0000 */\tunsigned long\tBaseHi:8\t /* start bit 24 */;\n\t\t}\tBits;\n\t}\tHighWord;\n};\nstruct _KIDTENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tOffset;\n/* off 0x0002 */\tunsigned short\tSelector;\n/* off 0x0004 */\tunsigned short\tAccess;\n/* off 0x0006 */\tunsigned short\tExtendedOffset;\n};\nunion _KEXECUTE_OPTIONS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tExecuteDisable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tExecuteEnable:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tDisableThunkEmulation:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tPermanent:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tExecuteDispatchEnable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tImageDispatchEnable:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tDisableExceptionChainValidation:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tSpare:1\t /* start bit 7 */;\n};\n/* off 0x0000 */\tunsigned char\tExecuteOptions;\n};\nunion _KSTACK_COUNT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tState:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tStackCount:29\t /* start bit 3 */;\n};\n};\nstruct _KPROCESS /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProfileListHead;\n/* off 0x0018 */\tunsigned long\tDirectoryTableBase;\n/* off 0x001c */\tstruct _KGDTENTRY\tLdtDescriptor;\n/* off 0x0024 */\tstruct _KIDTENTRY\tInt21Descriptor;\n/* off 0x002c */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0034 */\tunsigned long\tProcessLock;\n/* off 0x0038 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tReadyListHead;\n/* off 0x004c */\tstruct _SINGLE_LIST_ENTRY\tSwapListEntry;\n/* off 0x0050 */\tstruct _KAFFINITY_EX\tActiveProcessors;\nunion\n{\nstruct\n{\n/* off 0x005c */\tlong\tAutoAlignment:1\t /* start bit 0 */;\n/* off 0x005c */\tlong\tDisableBoost:1\t /* start bit 1 */;\n/* off 0x005c */\tlong\tDisableQuantum:1\t /* start bit 2 */;\n/* off 0x005c */\tunsigned long\tActiveGroupsMask:1\t /* start bit 3 */;\n/* off 0x005c */\tlong\tReservedFlags:28\t /* start bit 4 */;\n};\n/* off 0x005c */\tlong\tProcessFlags;\n};\n/* off 0x0060 */\tchar\tBasePriority;\n/* off 0x0061 */\tchar\tQuantumReset;\n/* off 0x0062 */\tunsigned char\tVisited;\n/* off 0x0063 */\tunsigned char\tUnused3;\n/* off 0x0064 */\tunsigned long ThreadSeed[1];\n/* off 0x0068 */\tunsigned short IdealNode[1];\n/* off 0x006a */\tunsigned short\tIdealGlobalNode;\n/* off 0x006c */\tunion _KEXECUTE_OPTIONS\tFlags;\n/* off 0x006d */\tunsigned char\tUnused1;\n/* off 0x006e */\tunsigned short\tIopmOffset;\n/* off 0x0070 */\tunsigned long\tUnused4;\n/* off 0x0074 */\tunion _KSTACK_COUNT\tStackCount;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tProcessListEntry;\n/* off 0x0080 */\tunsigned __int64\tCycleTime;\n/* off 0x0088 */\tunsigned long\tKernelTime;\n/* off 0x008c */\tunsigned long\tUserTime;\n/* off 0x0090 */\tvoid*\tVdmTrapcHandler;\n};\nstruct _KQUEUE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tEntryListHead;\n/* off 0x0018 */\tunsigned long\tCurrentCount;\n/* off 0x001c */\tunsigned long\tMaximumCount;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tThreadListHead;\n};\nstruct _KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n/* off 0x0000 */\tunsigned long\tDbgEbp;\n/* off 0x0004 */\tunsigned long\tDbgEip;\n/* off 0x0008 */\tunsigned long\tDbgArgMark;\n/* off 0x000c */\tunsigned long\tDbgArgPointer;\n/* off 0x0010 */\tunsigned short\tTempSegCs;\n/* off 0x0012 */\tunsigned char\tLogging;\n/* off 0x0013 */\tunsigned char\tReserved;\n/* off 0x0014 */\tunsigned long\tTempEsp;\n/* off 0x0018 */\tunsigned long\tDr0;\n/* off 0x001c */\tunsigned long\tDr1;\n/* off 0x0020 */\tunsigned long\tDr2;\n/* off 0x0024 */\tunsigned long\tDr3;\n/* off 0x0028 */\tunsigned long\tDr6;\n/* off 0x002c */\tunsigned long\tDr7;\n/* off 0x0030 */\tunsigned long\tSegGs;\n/* off 0x0034 */\tunsigned long\tSegEs;\n/* off 0x0038 */\tunsigned long\tSegDs;\n/* off 0x003c */\tunsigned long\tEdx;\n/* off 0x0040 */\tunsigned long\tEcx;\n/* off 0x0044 */\tunsigned long\tEax;\n/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n/* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n/* off 0x0050 */\tunsigned long\tSegFs;\n/* off 0x0054 */\tunsigned long\tEdi;\n/* off 0x0058 */\tunsigned long\tEsi;\n/* off 0x005c */\tunsigned long\tEbx;\n/* off 0x0060 */\tunsigned long\tEbp;\n/* off 0x0064 */\tunsigned long\tErrCode;\n/* off 0x0068 */\tunsigned long\tEip;\n/* off 0x006c */\tunsigned long\tSegCs;\n/* off 0x0070 */\tunsigned long\tEFlags;\n/* off 0x0074 */\tunsigned long\tHardwareEsp;\n/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n/* off 0x007c */\tunsigned long\tV86Es;\n/* off 0x0080 */\tunsigned long\tV86Ds;\n/* off 0x0084 */\tunsigned long\tV86Fs;\n/* off 0x0088 */\tunsigned long\tV86Gs;\n};\nstruct _COUNTER_READING /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tenum _HARDWARE_COUNTER_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tTotal;\n};\nstruct _KTHREAD_COUNTERS /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0008 */\tstruct _THREAD_PERFORMANCE_DATA*\tUserData;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tContextSwitches;\n/* off 0x0018 */\tunsigned __int64\tCycleTimeBias;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING HwCounter[16];\n};\nstruct _THREAD_PERFORMANCE_DATA /* sizeof 000001c0 448 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tstruct _PROCESSOR_NUMBER\tProcessorNumber;\n/* off 0x0008 */\tunsigned long\tContextSwitches;\n/* off 0x000c */\tunsigned long\tHwCountersCount;\n/* off 0x0010 */\tunsigned __int64\tUpdateCount;\n/* off 0x0018 */\tunsigned __int64\tWaitReasonBitMap;\n/* off 0x0020 */\tunsigned __int64\tHardwareCounters;\n/* off 0x0028 */\tstruct _COUNTER_READING\tCycleTime;\n/* off 0x0040 */\tstruct _COUNTER_READING HwCounters[16];\n};\nenum _HARDWARE_COUNTER_TYPE\n{\n\tPMCCounter\t=0x00000000\t,//0\n\tMaxHardwareCounterType\t=0x00000001\t,//0\n};\nstruct _XSTATE_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned long\tReserved1;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tArea;\n/* off 0x0014 */\tunsigned long\tReserved2;\n/* off 0x0018 */\tvoid*\tBuffer;\n/* off 0x001c */\tunsigned long\tReserved3;\n};\nstruct _XSTATE_SAVE /* sizeof 00000020 32 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\t__int64\tReserved1;\n/* off 0x0008 */\tunsigned long\tReserved2;\n/* off 0x000c */\tstruct _XSTATE_SAVE*\tPrev;\n/* off 0x0010 */\tstruct _XSAVE_AREA*\tReserved3;\n/* off 0x0014 */\tstruct _KTHREAD*\tThread;\n/* off 0x0018 */\tvoid*\tReserved4;\n/* off 0x001c */\tunsigned char\tLevel;\n};\n/* off 0x0000 */\tstruct _XSTATE_CONTEXT\tXStateContext;\n};\n};\nstruct _M128A /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tLow;\n/* off 0x0008 */\t__int64\tHigh;\n};\nstruct _XSAVE_FORMAT /* sizeof 00000200 512 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned char\tTagWord;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned short\tErrorSelector;\n/* off 0x000e */\tunsigned short\tReserved2;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned short\tDataSelector;\n/* off 0x0016 */\tunsigned short\tReserved3;\n/* off 0x0018 */\tunsigned long\tMxCsr;\n/* off 0x001c */\tunsigned long\tMxCsr_Mask;\n/* off 0x0020 */\tstruct _M128A FloatRegisters[8];\n/* off 0x00a0 */\tstruct _M128A XmmRegisters[8];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n/* off 0x01e0 */\tunsigned long StackControl[7];\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n};\nstruct _XSAVE_AREA_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tMask;\n/* off 0x0008 */\tunsigned __int64 Reserved[7];\n};\nstruct _XSAVE_AREA /* sizeof 00000240 576 */\n{\n/* off 0x0000 */\tstruct _XSAVE_FORMAT\tLegacyState;\n/* off 0x0200 */\tstruct _XSAVE_AREA_HEADER\tHeader;\n};\nstruct _flags /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tRemovable:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tGroupAssigned:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tGroupCommitted:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned char\tGroupAssignmentFixed:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tFill:4\t /* start bit 4 */;\n};\nstruct _CACHED_KSTACK_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tSListHead;\n/* off 0x0008 */\tlong\tMinimumFree;\n/* off 0x000c */\tunsigned long\tMisses;\n/* off 0x0010 */\tunsigned long\tMissesLast;\n/* off 0x0014 */\tunsigned long\tPad0;\n};\nstruct _KNODE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tPagedPoolSListHead;\n/* off 0x0008 */\tunion _SLIST_HEADER NonPagedPoolSListHead[3];\n/* off 0x0020 */\tstruct _GROUP_AFFINITY\tAffinity;\n/* off 0x002c */\tunsigned long\tProximityId;\n/* off 0x0030 */\tunsigned short\tNodeNumber;\n/* off 0x0032 */\tunsigned short\tPrimaryNodeNumber;\n/* off 0x0034 */\tunsigned char\tMaximumProcessors;\n/* off 0x0035 */\tunsigned char\tColor;\n/* off 0x0036 */\tstruct _flags\tFlags;\n/* off 0x0037 */\tunsigned char\tNodePad0;\n/* off 0x0038 */\tunsigned long\tSeed;\n/* off 0x003c */\tunsigned long\tMmShiftedColor;\n/* off 0x0040 */\tunsigned long FreeCount[2];\n/* off 0x0048 */\tstruct _CACHED_KSTACK_LIST\tCachedKernelStacks;\n/* off 0x0060 */\tlong\tParkLock;\n/* off 0x0064 */\tunsigned long\tNodePad1;\n};\nstruct _GENERAL_LOOKASIDE /* sizeof 00000080 128 */\n{\nunion\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSingleListHead;\n};\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\nunion\n{\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0010 */\tunsigned long\tAllocateHits;\n};\n/* off 0x0014 */\tunsigned long\tTotalFrees;\nunion\n{\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x0018 */\tunsigned long\tFreeHits;\n};\n/* off 0x001c */\tenum _POOL_TYPE\tType;\n/* off 0x0020 */\tunsigned long\tTag;\n/* off 0x0024 */\tunsigned long\tSize;\nunion\n{\n/* off 0x0028 */\tvoid*( __stdcall *AllocateEx)(enum _POOL_TYPE,unsigned long,unsigned long,struct _LOOKASIDE_LIST_EX*);\n/* off 0x0028 */\tvoid*( __stdcall *Allocate)(enum _POOL_TYPE,unsigned long,unsigned long);\n};\nunion\n{\n/* off 0x002c */\tvoid( __stdcall *FreeEx)(void*,struct _LOOKASIDE_LIST_EX*);\n/* off 0x002c */\tvoid( __stdcall *Free)(void*);\n};\n/* off 0x0030 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0038 */\tunsigned long\tLastTotalAllocates;\nunion\n{\n/* off 0x003c */\tunsigned long\tLastAllocateMisses;\n/* off 0x003c */\tunsigned long\tLastAllocateHits;\n};\n/* off 0x0040 */\tunsigned long Future[2];\n};\nenum _POOL_TYPE\n{\n\tNonPagedPool\t=0x00000000\t,//0\n\tPagedPool\t=0x00000001\t,//0\n\tNonPagedPoolMustSucceed\t=0x00000002\t,//0\n\tDontUseThisType\t=0x00000003\t,//0\n\tNonPagedPoolCacheAligned\t=0x00000004\t,//0\n\tPagedPoolCacheAligned\t=0x00000005\t,//0\n\tNonPagedPoolCacheAlignedMustS\t=0x00000006\t,//0\n\tMaxPoolType\t=0x00000007\t,//0\n\tNonPagedPoolSession\t=0x00000020\t,//0\n\tPagedPoolSession\t=0x00000021\t,//0\n\tNonPagedPoolMustSucceedSession\t=0x00000022\t,//0\n\tDontUseThisTypeSession\t=0x00000023\t,//0\n\tNonPagedPoolCacheAlignedSession\t=0x00000024\t,//0\n\tPagedPoolCacheAlignedSession\t=0x00000025\t,//0\n\tNonPagedPoolCacheAlignedMustSSession\t=0x00000026\t,//0\n};\nstruct _LOOKASIDE_LIST_EX /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE_POOL\tL;\n};\nstruct _PPM_IDLE_STATE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tDomainMembers;\n/* off 0x000c */\tlong( __fastcall *IdleCheck)(void*);\n/* off 0x0010 */\tvoid( __fastcall *IdleHandler)(void*);\n/* off 0x0018 */\tunsigned __int64\tHvConfig;\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned long\tLatency;\n/* off 0x0028 */\tunsigned long\tPower;\n/* off 0x002c */\tunsigned long\tTimeCheck;\n/* off 0x0030 */\tunsigned long\tStateFlags;\n/* off 0x0034 */\tunsigned char\tPromotePercent;\n/* off 0x0035 */\tunsigned char\tDemotePercent;\n/* off 0x0036 */\tunsigned char\tPromotePercentBase;\n/* off 0x0037 */\tunsigned char\tDemotePercentBase;\n/* off 0x0038 */\tunsigned char\tStateType;\n};\nstruct _PPM_IDLE_STATES /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tHvMaxCState:4\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n\t};\n\t}\tFlags;\n/* off 0x0008 */\tunsigned long\tTargetState;\n/* off 0x000c */\tunsigned long\tActualState;\n/* off 0x0010 */\tunsigned long\tOldState;\n/* off 0x0014 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x0020 */\tstruct _PPM_IDLE_STATE State[1];\n};\nstruct _PROC_IDLE_STATE_BUCKET /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned __int64\tMinTime;\n/* off 0x0010 */\tunsigned __int64\tMaxTime;\n/* off 0x0018 */\tunsigned long\tCount;\n};\nstruct _PROC_IDLE_STATE_ACCOUNTING /* sizeof 00000228 552 */\n{\n/* off 0x0000 */\tunsigned __int64\tTotalTime;\n/* off 0x0008 */\tunsigned long\tIdleTransitions;\n/* off 0x000c */\tunsigned long\tFailedTransitions;\n/* off 0x0010 */\tunsigned long\tInvalidBucketIndex;\n/* off 0x0018 */\tunsigned __int64\tMinTime;\n/* off 0x0020 */\tunsigned __int64\tMaxTime;\n/* off 0x0028 */\tstruct _PROC_IDLE_STATE_BUCKET IdleTimeBuckets[16];\n};\nstruct _PROC_IDLE_ACCOUNTING /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tunsigned long\tStateCount;\n/* off 0x0004 */\tunsigned long\tTotalTransitions;\n/* off 0x0008 */\tunsigned long\tResetCount;\n/* off 0x0010 */\tunsigned __int64\tStartTime;\n/* off 0x0018 */\tunsigned __int64 BucketLimits[16];\n/* off 0x0098 */\tstruct _PROC_IDLE_STATE_ACCOUNTING State[1];\n};\nenum _PROC_HYPERVISOR_STATE\n{\n\tProcHypervisorNone\t=0x00000000\t,//0\n\tProcHypervisorPresent\t=0x00000001\t,//0\n\tProcHypervisorPower\t=0x00000002\t,//0\n};\nstruct _PROC_PERF_DOMAIN /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _KPRCB*\tMaster;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tMembers;\n/* off 0x0018 */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x001c */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0020 */\tvoid( __fastcall *BoostPolicyHandler)(unsigned long);\n/* off 0x0024 */\tunsigned long( __fastcall *PerfSelectionHandler)(unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long*,unsigned long*);\n/* off 0x0028 */\tvoid( __fastcall *PerfHandler)(unsigned long,unsigned long);\n/* off 0x002c */\tstruct _PROC_PERF_CONSTRAINT*\tProcessors;\n/* off 0x0030 */\tunsigned __int64\tPerfChangeTime;\n/* off 0x0038 */\tunsigned long\tProcessorCount;\n/* off 0x003c */\tunsigned long\tPreviousFrequencyMhz;\n/* off 0x0040 */\tunsigned long\tCurrentFrequencyMhz;\n/* off 0x0044 */\tunsigned long\tPreviousFrequency;\n/* off 0x0048 */\tunsigned long\tCurrentFrequency;\n/* off 0x004c */\tunsigned long\tCurrentPerfContext;\n/* off 0x0050 */\tunsigned long\tDesiredFrequency;\n/* off 0x0054 */\tunsigned long\tMaxFrequency;\n/* off 0x0058 */\tunsigned long\tMinPerfPercent;\n/* off 0x005c */\tunsigned long\tMinThrottlePercent;\n/* off 0x0060 */\tunsigned long\tMaxPercent;\n/* off 0x0064 */\tunsigned long\tMinPercent;\n/* off 0x0068 */\tunsigned long\tConstrainedMaxPercent;\n/* off 0x006c */\tunsigned long\tConstrainedMinPercent;\n/* off 0x0070 */\tunsigned char\tCoordination;\n/* off 0x0074 */\tlong\tPerfChangeIntervalCount;\n};\nstruct _PROC_PERF_CONSTRAINT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _KPRCB*\tPrcb;\n/* off 0x0004 */\tunsigned long\tPerfContext;\n/* off 0x0008 */\tunsigned long\tPercentageCap;\n/* off 0x000c */\tunsigned long\tThermalCap;\n/* off 0x0010 */\tunsigned long\tTargetFrequency;\n/* off 0x0014 */\tunsigned long\tAcumulatedFullFrequency;\n/* off 0x0018 */\tunsigned long\tAcumulatedZeroFrequency;\n/* off 0x001c */\tunsigned long\tFrequencyHistoryTotal;\n/* off 0x0020 */\tunsigned long\tAverageFrequency;\n};\nstruct _PROC_PERF_LOAD /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tBusyPercentage;\n/* off 0x0001 */\tunsigned char\tFrequencyPercentage;\n};\nstruct _PROC_HISTORY_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tUtility;\n/* off 0x0002 */\tunsigned char\tFrequency;\n/* off 0x0003 */\tunsigned char\tReserved;\n};\nenum _PROCESSOR_CACHE_TYPE\n{\n\tCacheUnified\t=0x00000000\t,//0\n\tCacheInstruction\t=0x00000001\t,//0\n\tCacheData\t=0x00000002\t,//0\n\tCacheTrace\t=0x00000003\t,//0\n};\nstruct _KiIoAccessMap /* sizeof 00002024 8228 */\n{\n/* off 0x0000 */\tunsigned char DirectionMap[32];\n/* off 0x0020 */\tunsigned char IoMap[8196];\n};\nstruct _KTSS /* sizeof 000020ac 8364 */\n{\n/* off 0x0000 */\tunsigned short\tBacklink;\n/* off 0x0002 */\tunsigned short\tReserved0;\n/* off 0x0004 */\tunsigned long\tEsp0;\n/* off 0x0008 */\tunsigned short\tSs0;\n/* off 0x000a */\tunsigned short\tReserved1;\n/* off 0x000c */\tunsigned long NotUsed1[4];\n/* off 0x001c */\tunsigned long\tCR3;\n/* off 0x0020 */\tunsigned long\tEip;\n/* off 0x0024 */\tunsigned long\tEFlags;\n/* off 0x0028 */\tunsigned long\tEax;\n/* off 0x002c */\tunsigned long\tEcx;\n/* off 0x0030 */\tunsigned long\tEdx;\n/* off 0x0034 */\tunsigned long\tEbx;\n/* off 0x0038 */\tunsigned long\tEsp;\n/* off 0x003c */\tunsigned long\tEbp;\n/* off 0x0040 */\tunsigned long\tEsi;\n/* off 0x0044 */\tunsigned long\tEdi;\n/* off 0x0048 */\tunsigned short\tEs;\n/* off 0x004a */\tunsigned short\tReserved2;\n/* off 0x004c */\tunsigned short\tCs;\n/* off 0x004e */\tunsigned short\tReserved3;\n/* off 0x0050 */\tunsigned short\tSs;\n/* off 0x0052 */\tunsigned short\tReserved4;\n/* off 0x0054 */\tunsigned short\tDs;\n/* off 0x0056 */\tunsigned short\tReserved5;\n/* off 0x0058 */\tunsigned short\tFs;\n/* off 0x005a */\tunsigned short\tReserved6;\n/* off 0x005c */\tunsigned short\tGs;\n/* off 0x005e */\tunsigned short\tReserved7;\n/* off 0x0060 */\tunsigned short\tLDT;\n/* off 0x0062 */\tunsigned short\tReserved8;\n/* off 0x0064 */\tunsigned short\tFlags;\n/* off 0x0066 */\tunsigned short\tIoMapBase;\n/* off 0x0068 */\tstruct _KiIoAccessMap IoMaps[1];\n/* off 0x208c */\tunsigned char IntDirectionMap[32];\n};\nenum _KSPIN_LOCK_QUEUE_NUMBER\n{\n\tLockQueueUnusedSpare0\t=0x00000000\t,//0\n\tLockQueueExpansionLock\t=0x00000001\t,//0\n\tLockQueueUnusedSpare2\t=0x00000002\t,//0\n\tLockQueueSystemSpaceLock\t=0x00000003\t,//0\n\tLockQueueVacbLock\t=0x00000004\t,//0\n\tLockQueueMasterLock\t=0x00000005\t,//0\n\tLockQueueNonPagedPoolLock\t=0x00000006\t,//0\n\tLockQueueIoCancelLock\t=0x00000007\t,//0\n\tLockQueueWorkQueueLock\t=0x00000008\t,//0\n\tLockQueueIoVpbLock\t=0x00000009\t,//0\n\tLockQueueIoDatabaseLock\t=0x0000000a\t,//0\n\tLockQueueIoCompletionLock\t=0x0000000b\t,//0\n\tLockQueueNtfsStructLock\t=0x0000000c\t,//0\n\tLockQueueAfdWorkQueueLock\t=0x0000000d\t,//0\n\tLockQueueBcbLock\t=0x0000000e\t,//0\n\tLockQueueMmNonPagedPoolLock\t=0x0000000f\t,//0\n\tLockQueueUnusedSpare16\t=0x00000010\t,//0\n\tLockQueueMaximumLock\t=0x00000011\t,//0\n};\nstruct _KEVENT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n};\nstruct _FAST_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KEVENT\tEvent;\n/* off 0x001c */\tunsigned long\tOldIrql;\n};\nenum _EVENT_TYPE\n{\n\tNotificationEvent\t=0x00000000\t,//0\n\tSynchronizationEvent\t=0x00000001\t,//0\n};\nstruct _NPAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tunsigned long\tLock__ObsoleteButDoNotDelete;\n};\nstruct _PAGED_LOOKASIDE_LIST /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _GENERAL_LOOKASIDE\tL;\n/* off 0x0080 */\tstruct _FAST_MUTEX\tLock__ObsoleteButDoNotDelete;\n};\nstruct _QUAD /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\t__int64\tUseThisFieldToCopy;\n/* off 0x0000 */\tdouble\tDoNotUseThisField;\n};\n};\nstruct _EX_PUSH_LOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _EX_PUSH_LOCK_CACHE_AWARE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK* Locks[32];\n};\nenum _PP_NPAGED_LOOKASIDE_NUMBER\n{\n\tLookasideSmallIrpList\t=0x00000000\t,//0\n\tLookasideMediumIrpList\t=0x00000001\t,//0\n\tLookasideLargeIrpList\t=0x00000002\t,//0\n\tLookasideMdlList\t=0x00000003\t,//0\n\tLookasideCreateInfoList\t=0x00000004\t,//0\n\tLookasideNameBufferList\t=0x00000005\t,//0\n\tLookasideTwilightList\t=0x00000006\t,//0\n\tLookasideCompletionList\t=0x00000007\t,//0\n\tLookasideScratchBufferList\t=0x00000008\t,//0\n\tLookasideMaximumList\t=0x00000009\t,//0\n};\nstruct _EX_FAST_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tRefCnt:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tValue;\n};\n};\nstruct _EX_PUSH_LOCK_WAIT_BLOCK /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tWakeEvent;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tNext;\n/* off 0x0014 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tLast;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK_WAIT_BLOCK*\tPrevious;\n/* off 0x001c */\tlong\tShareCount;\n/* off 0x0020 */\tlong\tFlags;\n};\nunion _PS_CLIENT_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tImpersonationData;\n/* off 0x0000 */\tvoid*\tImpersonationToken;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tImpersonationLevel:2\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tEffectiveOnly:1\t /* start bit 2 */;\n};\n};\nstruct _EX_RUNDOWN_REF /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ETHREAD /* sizeof 000002b8 696 */\n{\n/* off 0x0000 */\tstruct _KTHREAD\tTcb;\n/* off 0x0200 */\tunion _LARGE_INTEGER\tCreateTime;\nunion\n{\n/* off 0x0208 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x0208 */\tstruct _LIST_ENTRY\tKeyedWaitChain;\n};\n/* off 0x0210 */\tlong\tExitStatus;\nunion\n{\n/* off 0x0214 */\tstruct _LIST_ENTRY\tPostBlockList;\nstruct\n{\n/* off 0x0214 */\tvoid*\tForwardLinkShadow;\n/* off 0x0218 */\tvoid*\tStartAddress;\n};\n};\nunion\n{\n/* off 0x021c */\tstruct _TERMINATION_PORT*\tTerminationPort;\n/* off 0x021c */\tstruct _ETHREAD*\tReaperLink;\n/* off 0x021c */\tvoid*\tKeyedWaitValue;\n};\n/* off 0x0220 */\tunsigned long\tActiveTimerListLock;\n/* off 0x0224 */\tstruct _LIST_ENTRY\tActiveTimerListHead;\n/* off 0x022c */\tstruct _CLIENT_ID\tCid;\nunion\n{\n/* off 0x0234 */\tstruct _KSEMAPHORE\tKeyedWaitSemaphore;\n/* off 0x0234 */\tstruct _KSEMAPHORE\tAlpcWaitSemaphore;\n};\n/* off 0x0248 */\tunion _PS_CLIENT_SECURITY_CONTEXT\tClientSecurity;\n/* off 0x024c */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x0254 */\tunsigned long\tTopLevelIrp;\n/* off 0x0258 */\tstruct _DEVICE_OBJECT*\tDeviceToVerify;\n/* off 0x025c */\tunion _PSP_CPU_QUOTA_APC*\tCpuQuotaApc;\n/* off 0x0260 */\tvoid*\tWin32StartAddress;\n/* off 0x0264 */\tvoid*\tLegacyPowerObject;\n/* off 0x0268 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0270 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x0274 */\tstruct _EX_PUSH_LOCK\tThreadLock;\n/* off 0x0278 */\tunsigned long\tReadClusterSize;\n/* off 0x027c */\tlong\tMmLockOrdering;\nunion\n{\n/* off 0x0280 */\tunsigned long\tCrossThreadFlags;\nstruct\n{\n/* off 0x0280 */\tunsigned long\tTerminated:1\t /* start bit 0 */;\n/* off 0x0280 */\tunsigned long\tThreadInserted:1\t /* start bit 1 */;\n/* off 0x0280 */\tunsigned long\tHideFromDebugger:1\t /* start bit 2 */;\n/* off 0x0280 */\tunsigned long\tActiveImpersonationInfo:1\t /* start bit 3 */;\n/* off 0x0280 */\tunsigned long\tReserved:1\t /* start bit 4 */;\n/* off 0x0280 */\tunsigned long\tHardErrorsAreDisabled:1\t /* start bit 5 */;\n/* off 0x0280 */\tunsigned long\tBreakOnTermination:1\t /* start bit 6 */;\n/* off 0x0280 */\tunsigned long\tSkipCreationMsg:1\t /* start bit 7 */;\n/* off 0x0280 */\tunsigned long\tSkipTerminationMsg:1\t /* start bit 8 */;\n/* off 0x0280 */\tunsigned long\tCopyTokenOnOpen:1\t /* start bit 9 */;\n/* off 0x0280 */\tunsigned long\tThreadIoPriority:3\t /* start bit 10 */;\n/* off 0x0280 */\tunsigned long\tThreadPagePriority:3\t /* start bit 13 */;\n/* off 0x0280 */\tunsigned long\tRundownFail:1\t /* start bit 16 */;\n/* off 0x0280 */\tunsigned long\tNeedsWorkingSetAging:1\t /* start bit 17 */;\n};\n};\nunion\n{\n/* off 0x0284 */\tunsigned long\tSameThreadPassiveFlags;\nstruct\n{\n/* off 0x0284 */\tunsigned long\tActiveExWorker:1\t /* start bit 0 */;\n/* off 0x0284 */\tunsigned long\tExWorkerCanWaitUser:1\t /* start bit 1 */;\n/* off 0x0284 */\tunsigned long\tMemoryMaker:1\t /* start bit 2 */;\n/* off 0x0284 */\tunsigned long\tClonedThread:1\t /* start bit 3 */;\n/* off 0x0284 */\tunsigned long\tKeyedEventInUse:1\t /* start bit 4 */;\n/* off 0x0284 */\tunsigned long\tRateApcState:2\t /* start bit 5 */;\n/* off 0x0284 */\tunsigned long\tSelfTerminate:1\t /* start bit 7 */;\n};\n};\nunion\n{\n/* off 0x0288 */\tunsigned long\tSameThreadApcFlags;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tSpare:1\t /* start bit 0 */;\n/* off 0x0288 */\tunsigned char\tStartAddressInvalid:1\t /* start bit 1 */;\n/* off 0x0288 */\tunsigned char\tEtwPageFaultCalloutActive:1\t /* start bit 2 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetExclusive:1\t /* start bit 3 */;\n/* off 0x0288 */\tunsigned char\tOwnsProcessWorkingSetShared:1\t /* start bit 4 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetExclusive:1\t /* start bit 5 */;\n/* off 0x0288 */\tunsigned char\tOwnsSystemCacheWorkingSetShared:1\t /* start bit 6 */;\nstruct\n{\n/* off 0x0288 */\tunsigned char\tOwnsSessionWorkingSetExclusive:1\t /* start bit 7 */;\n};\n/* off 0x0289 */\tunsigned char\tOwnsSessionWorkingSetShared:1\t /* start bit 0 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceExclusive:1\t /* start bit 1 */;\n/* off 0x0289 */\tunsigned char\tOwnsProcessAddressSpaceShared:1\t /* start bit 2 */;\n/* off 0x0289 */\tunsigned char\tSuppressSymbolLoad:1\t /* start bit 3 */;\n/* off 0x0289 */\tunsigned char\tPrefetching:1\t /* start bit 4 */;\n/* off 0x0289 */\tunsigned char\tOwnsDynamicMemoryShared:1\t /* start bit 5 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaExclusive:1\t /* start bit 6 */;\n/* off 0x0289 */\tunsigned char\tOwnsChangeControlAreaShared:1\t /* start bit 7 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetExclusive:1\t /* start bit 0 */;\n/* off 0x028a */\tunsigned char\tOwnsPagedPoolWorkingSetShared:1\t /* start bit 1 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetExclusive:1\t /* start bit 2 */;\n/* off 0x028a */\tunsigned char\tOwnsSystemPtesWorkingSetShared:1\t /* start bit 3 */;\n/* off 0x028a */\tunsigned char\tTrimTrigger:2\t /* start bit 4 */;\n/* off 0x028a */\tunsigned char\tSpare1:2\t /* start bit 6 */;\n/* off 0x028b */\tunsigned char\tPriorityRegionActive;\n};\n};\n/* off 0x028c */\tunsigned char\tCacheManagerActive;\n/* off 0x028d */\tunsigned char\tDisablePageFaultClustering;\n/* off 0x028e */\tunsigned char\tActiveFaultCount;\n/* off 0x028f */\tunsigned char\tLockOrderState;\n/* off 0x0290 */\tunsigned long\tAlpcMessageId;\nunion\n{\n/* off 0x0294 */\tvoid*\tAlpcMessage;\n/* off 0x0294 */\tunsigned long\tAlpcReceiveAttributeSet;\n};\n/* off 0x0298 */\tstruct _LIST_ENTRY\tAlpcWaitListEntry;\n/* off 0x02a0 */\tunsigned long\tCacheManagerCount;\n/* off 0x02a4 */\tunsigned long\tIoBoostCount;\n/* off 0x02a8 */\tunsigned long\tIrpListLock;\n/* off 0x02ac */\tvoid*\tReservedForSynchTracking;\n/* off 0x02b0 */\tstruct _SINGLE_LIST_ENTRY\tCmCallbackListHead;\n};\nstruct _TERMINATION_PORT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _TERMINATION_PORT*\tNext;\n/* off 0x0004 */\tvoid*\tPort;\n};\nstruct _KDEVICE_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceListEntry;\n/* off 0x0008 */\tunsigned long\tSortKey;\n/* off 0x000c */\tunsigned char\tInserted;\n};\nstruct _WAIT_CONTEXT_BLOCK /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tWaitQueueEntry;\n/* off 0x0010 */\tenum _IO_ALLOCATION_ACTION( __stdcall *DeviceRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*,void*);\n/* off 0x0014 */\tvoid*\tDeviceContext;\n/* off 0x0018 */\tunsigned long\tNumberOfMapRegisters;\n/* off 0x001c */\tvoid*\tDeviceObject;\n/* off 0x0020 */\tvoid*\tCurrentIrp;\n/* off 0x0024 */\tstruct _KDPC*\tBufferChainingDpc;\n};\nstruct _KDEVICE_QUEUE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDeviceListHead;\n/* off 0x000c */\tunsigned long\tLock;\n/* off 0x0010 */\tunsigned char\tBusy;\n};\nstruct _DEVICE_OBJECT /* sizeof 000000b8 184 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tlong\tReferenceCount;\n/* off 0x0008 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tNextDevice;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0014 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0018 */\tstruct _IO_TIMER*\tTimer;\n/* off 0x001c */\tunsigned long\tFlags;\n/* off 0x0020 */\tunsigned long\tCharacteristics;\n/* off 0x0024 */\tstruct _VPB*\tVpb;\n/* off 0x0028 */\tvoid*\tDeviceExtension;\n/* off 0x002c */\tunsigned long\tDeviceType;\n/* off 0x0030 */\tchar\tStackSize;\n/* off 0x0034 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x0000 */\tstruct _WAIT_CONTEXT_BLOCK\tWcb;\n\t}\tQueue;\n/* off 0x005c */\tunsigned long\tAlignmentRequirement;\n/* off 0x0060 */\tstruct _KDEVICE_QUEUE\tDeviceQueue;\n/* off 0x0074 */\tstruct _KDPC\tDpc;\n/* off 0x0094 */\tunsigned long\tActiveThreadCount;\n/* off 0x0098 */\tvoid*\tSecurityDescriptor;\n/* off 0x009c */\tstruct _KEVENT\tDeviceLock;\n/* off 0x00ac */\tunsigned short\tSectorSize;\n/* off 0x00ae */\tunsigned short\tSpare1;\n/* off 0x00b0 */\tstruct _DEVOBJ_EXTENSION*\tDeviceObjectExtension;\n/* off 0x00b4 */\tvoid*\tReserved;\n};\nstruct _DRIVER_OBJECT /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tvoid*\tDriverStart;\n/* off 0x0010 */\tunsigned long\tDriverSize;\n/* off 0x0014 */\tvoid*\tDriverSection;\n/* off 0x0018 */\tstruct _DRIVER_EXTENSION*\tDriverExtension;\n/* off 0x001c */\tstruct _UNICODE_STRING\tDriverName;\n/* off 0x0024 */\tstruct _UNICODE_STRING*\tHardwareDatabase;\n/* off 0x0028 */\tstruct _FAST_IO_DISPATCH*\tFastIoDispatch;\n/* off 0x002c */\tlong( __stdcall *DriverInit)(struct _DRIVER_OBJECT*,struct _UNICODE_STRING*);\n/* off 0x0030 */\tvoid( __stdcall *DriverStartIo)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x0034 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0038 */\tlong( __stdcall * MajorFunction[28])(struct _DEVICE_OBJECT*,struct _IRP*);\n};\nstruct _DRIVER_EXTENSION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _DRIVER_OBJECT*\tDriverObject;\n/* off 0x0004 */\tlong( __stdcall *AddDevice)(struct _DRIVER_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tstruct _UNICODE_STRING\tServiceKeyName;\n/* off 0x0014 */\tstruct _IO_CLIENT_EXTENSION*\tClientDriverExtension;\n/* off 0x0018 */\tstruct _FS_FILTER_CALLBACKS*\tFsFilterCallbacks;\n};\nstruct _IO_CLIENT_EXTENSION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IO_CLIENT_EXTENSION*\tNextExtension;\n/* off 0x0004 */\tvoid*\tClientIdentificationAddress;\n};\nstruct _FS_FILTER_CALLBACKS /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbacks;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tlong( __stdcall *PreAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x000c */\tvoid( __stdcall *PostAcquireForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0010 */\tlong( __stdcall *PreReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0014 */\tvoid( __stdcall *PostReleaseForSectionSynchronization)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0018 */\tlong( __stdcall *PreAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x001c */\tvoid( __stdcall *PostAcquireForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0020 */\tlong( __stdcall *PreReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0024 */\tvoid( __stdcall *PostReleaseForCcFlush)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0028 */\tlong( __stdcall *PreAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x002c */\tvoid( __stdcall *PostAcquireForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n/* off 0x0030 */\tlong( __stdcall *PreReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,void**);\n/* off 0x0034 */\tvoid( __stdcall *PostReleaseForModifiedPageWriter)(struct _FS_FILTER_CALLBACK_DATA*,long,void*);\n};\nunion _FS_FILTER_PARAMETERS /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tEndingOffset;\n\t/* off 0x0004 */\tstruct _ERESOURCE**\tResourceToRelease;\n\t}\tAcquireForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _ERESOURCE*\tResourceToRelease;\n\t}\tReleaseForModifiedPageWriter;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_SECTION_SYNC_TYPE\tSyncType;\n\t/* off 0x0004 */\tunsigned long\tPageProtection;\n\t}\tAcquireForSectionSynchronization;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\tNotificationType;\n\t/* off 0x0004 */\tunsigned char\tSafeToRecurse;\n\t}\tNotifyStreamFileObject;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000014 20 */\n\t{\n\t/* off 0x0000 */\tvoid*\tArgument1;\n\t/* off 0x0004 */\tvoid*\tArgument2;\n\t/* off 0x0008 */\tvoid*\tArgument3;\n\t/* off 0x000c */\tvoid*\tArgument4;\n\t/* off 0x0010 */\tvoid*\tArgument5;\n\t}\tOthers;\n};\nstruct _FS_FILTER_CALLBACK_DATA /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFsFilterCallbackData;\n/* off 0x0004 */\tunsigned char\tOperation;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _FS_FILTER_PARAMETERS\tParameters;\n};\nstruct _FILE_OBJECT /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tstruct _VPB*\tVpb;\n/* off 0x000c */\tvoid*\tFsContext;\n/* off 0x0010 */\tvoid*\tFsContext2;\n/* off 0x0014 */\tstruct _SECTION_OBJECT_POINTERS*\tSectionObjectPointer;\n/* off 0x0018 */\tvoid*\tPrivateCacheMap;\n/* off 0x001c */\tlong\tFinalStatus;\n/* off 0x0020 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0024 */\tunsigned char\tLockOperation;\n/* off 0x0025 */\tunsigned char\tDeletePending;\n/* off 0x0026 */\tunsigned char\tReadAccess;\n/* off 0x0027 */\tunsigned char\tWriteAccess;\n/* off 0x0028 */\tunsigned char\tDeleteAccess;\n/* off 0x0029 */\tunsigned char\tSharedRead;\n/* off 0x002a */\tunsigned char\tSharedWrite;\n/* off 0x002b */\tunsigned char\tSharedDelete;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tstruct _UNICODE_STRING\tFileName;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tCurrentByteOffset;\n/* off 0x0040 */\tunsigned long\tWaiters;\n/* off 0x0044 */\tunsigned long\tBusy;\n/* off 0x0048 */\tvoid*\tLastLock;\n/* off 0x004c */\tstruct _KEVENT\tLock;\n/* off 0x005c */\tstruct _KEVENT\tEvent;\n/* off 0x006c */\tstruct _IO_COMPLETION_CONTEXT*\tCompletionContext;\n/* off 0x0070 */\tunsigned long\tIrpListLock;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tIrpList;\n/* off 0x007c */\tvoid*\tFileObjectExtension;\n};\nstruct _VPB /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tVolumeLabelLength;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _DEVICE_OBJECT*\tRealDevice;\n/* off 0x0010 */\tunsigned long\tSerialNumber;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\twchar VolumeLabel[32];\n};\nstruct _SECTION_OBJECT_POINTERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tDataSectionObject;\n/* off 0x0004 */\tvoid*\tSharedCacheMap;\n/* off 0x0008 */\tvoid*\tImageSectionObject;\n};\nstruct _IO_COMPLETION_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tPort;\n/* off 0x0004 */\tvoid*\tKey;\n};\nstruct _OWNER_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerThread;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned long\tIoPriorityBoosted:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tOwnerReferenced:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tOwnerCount:30\t /* start bit 2 */;\n};\n/* off 0x0004 */\tunsigned long\tTableSize;\n};\n};\nstruct _ERESOURCE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSystemResourcesList;\n/* off 0x0008 */\tstruct _OWNER_ENTRY*\tOwnerTable;\n/* off 0x000c */\tshort\tActiveCount;\n/* off 0x000e */\tunsigned short\tFlag;\n/* off 0x0010 */\tstruct _KSEMAPHORE*\tSharedWaiters;\n/* off 0x0014 */\tstruct _KEVENT*\tExclusiveWaiters;\n/* off 0x0018 */\tstruct _OWNER_ENTRY\tOwnerEntry;\n/* off 0x0020 */\tunsigned long\tActiveEntries;\n/* off 0x0024 */\tunsigned long\tContentionCount;\n/* off 0x0028 */\tunsigned long\tNumberOfSharedWaiters;\n/* off 0x002c */\tunsigned long\tNumberOfExclusiveWaiters;\nunion\n{\n/* off 0x0030 */\tvoid*\tAddress;\n/* off 0x0030 */\tunsigned long\tCreatorBackTraceIndex;\n};\n/* off 0x0034 */\tunsigned long\tSpinLock;\n};\nenum _FS_FILTER_SECTION_SYNC_TYPE\n{\n\tSyncTypeOther\t=0x00000000\t,//0\n\tSyncTypeCreateSection\t=0x00000001\t,//0\n};\nenum _FS_FILTER_STREAM_FO_NOTIFICATION_TYPE\n{\n\tNotifyTypeCreate\t=0x00000000\t,//0\n\tNotifyTypeRetired\t=0x00000001\t,//0\n};\nstruct _FAST_IO_DISPATCH /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfFastIoDispatch;\n/* off 0x0004 */\tunsigned char( __stdcall *FastIoCheckIfPossible)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0008 */\tunsigned char( __stdcall *FastIoRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x000c */\tunsigned char( __stdcall *FastIoWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned char,unsigned long,void*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0010 */\tunsigned char( __stdcall *FastIoQueryBasicInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_BASIC_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0014 */\tunsigned char( __stdcall *FastIoQueryStandardInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_STANDARD_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0018 */\tunsigned char( __stdcall *FastIoLock)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,unsigned char,unsigned char,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x001c */\tunsigned char( __stdcall *FastIoUnlockSingle)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,union _LARGE_INTEGER*,struct _EPROCESS*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0020 */\tunsigned char( __stdcall *FastIoUnlockAll)(struct _FILE_OBJECT*,struct _EPROCESS*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0024 */\tunsigned char( __stdcall *FastIoUnlockAllByKey)(struct _FILE_OBJECT*,void*,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0028 */\tunsigned char( __stdcall *FastIoDeviceControl)(struct _FILE_OBJECT*,unsigned char,void*,unsigned long,void*,unsigned long,unsigned long,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x002c */\tvoid( __stdcall *AcquireFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0030 */\tvoid( __stdcall *ReleaseFileForNtCreateSection)(struct _FILE_OBJECT*);\n/* off 0x0034 */\tvoid( __stdcall *FastIoDetachDevice)(struct _DEVICE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x0038 */\tunsigned char( __stdcall *FastIoQueryNetworkOpenInfo)(struct _FILE_OBJECT*,unsigned char,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x003c */\tlong( __stdcall *AcquireForModWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _ERESOURCE**,struct _DEVICE_OBJECT*);\n/* off 0x0040 */\tunsigned char( __stdcall *MdlRead)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x0044 */\tunsigned char( __stdcall *MdlReadComplete)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0048 */\tunsigned char( __stdcall *PrepareMdlWrite)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _DEVICE_OBJECT*);\n/* off 0x004c */\tunsigned char( __stdcall *MdlWriteComplete)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0050 */\tunsigned char( __stdcall *FastIoReadCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0054 */\tunsigned char( __stdcall *FastIoWriteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,unsigned long,unsigned long,void*,struct _MDL**,struct _IO_STATUS_BLOCK*,struct _COMPRESSED_DATA_INFO*,unsigned long,struct _DEVICE_OBJECT*);\n/* off 0x0058 */\tunsigned char( __stdcall *MdlReadCompleteCompressed)(struct _FILE_OBJECT*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x005c */\tunsigned char( __stdcall *MdlWriteCompleteCompressed)(struct _FILE_OBJECT*,union _LARGE_INTEGER*,struct _MDL*,struct _DEVICE_OBJECT*);\n/* off 0x0060 */\tunsigned char( __stdcall *FastIoQueryOpen)(struct _IRP*,struct _FILE_NETWORK_OPEN_INFORMATION*,struct _DEVICE_OBJECT*);\n/* off 0x0064 */\tlong( __stdcall *ReleaseForModWrite)(struct _FILE_OBJECT*,struct _ERESOURCE*,struct _DEVICE_OBJECT*);\n/* off 0x0068 */\tlong( __stdcall *AcquireForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n/* off 0x006c */\tlong( __stdcall *ReleaseForCcFlush)(struct _FILE_OBJECT*,struct _DEVICE_OBJECT*);\n};\nstruct _FILE_BASIC_INFORMATION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunsigned long\tFileAttributes;\n};\nstruct _FILE_STANDARD_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0010 */\tunsigned long\tNumberOfLinks;\n/* off 0x0014 */\tunsigned char\tDeletePending;\n/* off 0x0015 */\tunsigned char\tDirectory;\n};\nstruct _HARDWARE_PTE /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\treserved0:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\n};\n};\nstruct _SE_AUDIT_PROCESS_CREATION_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _OBJECT_NAME_INFORMATION*\tImageFileName;\n};\nstruct _MMSUPPORT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tWorkingSetType:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tModwriterAttached:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tTrimHard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tMaximumWorkingSetHard:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tForceTrim:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned char\tMinimumWorkingSetHard:1\t /* start bit 7 */;\n/* off 0x0001 */\tunsigned char\tSessionMaster:1\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tTrimmerState:2\t /* start bit 1 */;\n/* off 0x0001 */\tunsigned char\tReserved:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tPageStealers:4\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMemoryPriority:8\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tWsleDeleted:1\t /* start bit 0 */;\n/* off 0x0003 */\tunsigned char\tVmExiting:1\t /* start bit 1 */;\n/* off 0x0003 */\tunsigned char\tExpansionFailed:1\t /* start bit 2 */;\n/* off 0x0003 */\tunsigned char\tAvailable:5\t /* start bit 3 */;\n};\nstruct _MMSUPPORT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tWorkingSetMutex;\n/* off 0x0004 */\tstruct _KGATE*\tExitGate;\n/* off 0x0008 */\tvoid*\tAccessLog;\n/* off 0x000c */\tstruct _LIST_ENTRY\tWorkingSetExpansionLinks;\n/* off 0x0014 */\tunsigned long AgeDistribution[7];\n/* off 0x0030 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x0034 */\tunsigned long\tWorkingSetSize;\n/* off 0x0038 */\tunsigned long\tWorkingSetPrivateSize;\n/* off 0x003c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x0040 */\tunsigned long\tChargedWslePages;\n/* off 0x0044 */\tunsigned long\tActualWslePages;\n/* off 0x0048 */\tunsigned long\tWorkingSetSizeOverhead;\n/* off 0x004c */\tunsigned long\tPeakWorkingSetSize;\n/* off 0x0050 */\tunsigned long\tHardFaultCount;\n/* off 0x0054 */\tstruct _MMWSL*\tVmWorkingSetList;\n/* off 0x0058 */\tunsigned short\tNextPageColor;\n/* off 0x005a */\tunsigned short\tLastTrimStamp;\n/* off 0x005c */\tunsigned long\tPageFaultCount;\n/* off 0x0060 */\tunsigned long\tRepurposeCount;\n/* off 0x0064 */\tunsigned long Spare[1];\n/* off 0x0068 */\tstruct _MMSUPPORT_FLAGS\tFlags;\n};\nstruct _MMADDRESS_NODE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMADDRESS_NODE*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMADDRESS_NODE*\tLeftChild;\n/* off 0x0008 */\tstruct _MMADDRESS_NODE*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n};\nstruct _MM_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMADDRESS_NODE\tBalancedRoot;\n/* off 0x0014 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0014 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0014 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x0018 */\tvoid*\tNodeHint;\n/* off 0x001c */\tvoid*\tNodeFreeHint;\n};\nstruct _ALPC_PROCESS_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x000c */\tunsigned long\tPagedPoolQuotaCache;\n};\nstruct _EPROCESS /* sizeof 000002c0 704 */\n{\n/* off 0x0000 */\tstruct _KPROCESS\tPcb;\n/* off 0x0098 */\tstruct _EX_PUSH_LOCK\tProcessLock;\n/* off 0x00a0 */\tunion _LARGE_INTEGER\tCreateTime;\n/* off 0x00a8 */\tunion _LARGE_INTEGER\tExitTime;\n/* off 0x00b0 */\tstruct _EX_RUNDOWN_REF\tRundownProtect;\n/* off 0x00b4 */\tvoid*\tUniqueProcessId;\n/* off 0x00b8 */\tstruct _LIST_ENTRY\tActiveProcessLinks;\n/* off 0x00c0 */\tunsigned long ProcessQuotaUsage[2];\n/* off 0x00c8 */\tunsigned long ProcessQuotaPeak[2];\n/* off 0x00d0 */\tunsigned long\tCommitCharge;\n/* off 0x00d4 */\tstruct _EPROCESS_QUOTA_BLOCK*\tQuotaBlock;\n/* off 0x00d8 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n/* off 0x00dc */\tunsigned long\tPeakVirtualSize;\n/* off 0x00e0 */\tunsigned long\tVirtualSize;\n/* off 0x00e4 */\tstruct _LIST_ENTRY\tSessionProcessLinks;\n/* off 0x00ec */\tvoid*\tDebugPort;\nunion\n{\n/* off 0x00f0 */\tvoid*\tExceptionPortData;\n/* off 0x00f0 */\tunsigned long\tExceptionPortValue;\n/* off 0x00f0 */\tunsigned long\tExceptionPortState:3\t /* start bit 0 */;\n};\n/* off 0x00f4 */\tstruct _HANDLE_TABLE*\tObjectTable;\n/* off 0x00f8 */\tstruct _EX_FAST_REF\tToken;\n/* off 0x00fc */\tunsigned long\tWorkingSetPage;\n/* off 0x0100 */\tstruct _EX_PUSH_LOCK\tAddressCreationLock;\n/* off 0x0104 */\tstruct _ETHREAD*\tRotateInProgress;\n/* off 0x0108 */\tstruct _ETHREAD*\tForkInProgress;\n/* off 0x010c */\tunsigned long\tHardwareTrigger;\n/* off 0x0110 */\tstruct _MM_AVL_TABLE*\tPhysicalVadRoot;\n/* off 0x0114 */\tvoid*\tCloneRoot;\n/* off 0x0118 */\tunsigned long\tNumberOfPrivatePages;\n/* off 0x011c */\tunsigned long\tNumberOfLockedPages;\n/* off 0x0120 */\tvoid*\tWin32Process;\n/* off 0x0124 */\tstruct _EJOB*\tJob;\n/* off 0x0128 */\tvoid*\tSectionObject;\n/* off 0x012c */\tvoid*\tSectionBaseAddress;\n/* off 0x0130 */\tunsigned long\tCookie;\n/* off 0x0134 */\tunsigned long\tSpare8;\n/* off 0x0138 */\tstruct _PAGEFAULT_HISTORY*\tWorkingSetWatch;\n/* off 0x013c */\tvoid*\tWin32WindowStation;\n/* off 0x0140 */\tvoid*\tInheritedFromUniqueProcessId;\n/* off 0x0144 */\tvoid*\tLdtInformation;\n/* off 0x0148 */\tvoid*\tVdmObjects;\n/* off 0x014c */\tunsigned long\tConsoleHostProcess;\n/* off 0x0150 */\tvoid*\tDeviceMap;\n/* off 0x0154 */\tvoid*\tEtwDataSource;\n/* off 0x0158 */\tvoid*\tFreeTebHint;\nunion\n{\n/* off 0x0160 */\tstruct _HARDWARE_PTE\tPageDirectoryPte;\n/* off 0x0160 */\tunsigned __int64\tFiller;\n};\n/* off 0x0168 */\tvoid*\tSession;\n/* off 0x016c */\tunsigned char ImageFileName[15];\n/* off 0x017b */\tunsigned char\tPriorityClass;\n/* off 0x017c */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0184 */\tvoid*\tLockedPagesList;\n/* off 0x0188 */\tstruct _LIST_ENTRY\tThreadListHead;\n/* off 0x0190 */\tvoid*\tSecurityPort;\n/* off 0x0194 */\tvoid*\tPaeTop;\n/* off 0x0198 */\tunsigned long\tActiveThreads;\n/* off 0x019c */\tunsigned long\tImagePathHash;\n/* off 0x01a0 */\tunsigned long\tDefaultHardErrorProcessing;\n/* off 0x01a4 */\tlong\tLastThreadExitStatus;\n/* off 0x01a8 */\tstruct _PEB*\tPeb;\n/* off 0x01ac */\tstruct _EX_FAST_REF\tPrefetchTrace;\n/* off 0x01b0 */\tunion _LARGE_INTEGER\tReadOperationCount;\n/* off 0x01b8 */\tunion _LARGE_INTEGER\tWriteOperationCount;\n/* off 0x01c0 */\tunion _LARGE_INTEGER\tOtherOperationCount;\n/* off 0x01c8 */\tunion _LARGE_INTEGER\tReadTransferCount;\n/* off 0x01d0 */\tunion _LARGE_INTEGER\tWriteTransferCount;\n/* off 0x01d8 */\tunion _LARGE_INTEGER\tOtherTransferCount;\n/* off 0x01e0 */\tunsigned long\tCommitChargeLimit;\n/* off 0x01e4 */\tunsigned long\tCommitChargePeak;\n/* off 0x01e8 */\tvoid*\tAweInfo;\n/* off 0x01ec */\tstruct _SE_AUDIT_PROCESS_CREATION_INFO\tSeAuditProcessCreationInfo;\n/* off 0x01f0 */\tstruct _MMSUPPORT\tVm;\n/* off 0x025c */\tstruct _LIST_ENTRY\tMmProcessLinks;\n/* off 0x0264 */\tvoid*\tHighestUserAddress;\n/* off 0x0268 */\tunsigned long\tModifiedPageCount;\nunion\n{\n/* off 0x026c */\tunsigned long\tFlags2;\nstruct\n{\n/* off 0x026c */\tunsigned long\tJobNotReallyActive:1\t /* start bit 0 */;\n/* off 0x026c */\tunsigned long\tAccountingFolded:1\t /* start bit 1 */;\n/* off 0x026c */\tunsigned long\tNewProcessReported:1\t /* start bit 2 */;\n/* off 0x026c */\tunsigned long\tExitProcessReported:1\t /* start bit 3 */;\n/* off 0x026c */\tunsigned long\tReportCommitChanges:1\t /* start bit 4 */;\n/* off 0x026c */\tunsigned long\tLastReportMemory:1\t /* start bit 5 */;\n/* off 0x026c */\tunsigned long\tReportPhysicalPageChanges:1\t /* start bit 6 */;\n/* off 0x026c */\tunsigned long\tHandleTableRundown:1\t /* start bit 7 */;\n/* off 0x026c */\tunsigned long\tNeedsHandleRundown:1\t /* start bit 8 */;\n/* off 0x026c */\tunsigned long\tRefTraceEnabled:1\t /* start bit 9 */;\n/* off 0x026c */\tunsigned long\tNumaAware:1\t /* start bit 10 */;\n/* off 0x026c */\tunsigned long\tProtectedProcess:1\t /* start bit 11 */;\n/* off 0x026c */\tunsigned long\tDefaultPagePriority:3\t /* start bit 12 */;\n/* off 0x026c */\tunsigned long\tPrimaryTokenFrozen:1\t /* start bit 15 */;\n/* off 0x026c */\tunsigned long\tProcessVerifierTarget:1\t /* start bit 16 */;\n/* off 0x026c */\tunsigned long\tStackRandomizationDisabled:1\t /* start bit 17 */;\n/* off 0x026c */\tunsigned long\tAffinityPermanent:1\t /* start bit 18 */;\n/* off 0x026c */\tunsigned long\tAffinityUpdateEnable:1\t /* start bit 19 */;\n/* off 0x026c */\tunsigned long\tPropagateNode:1\t /* start bit 20 */;\n/* off 0x026c */\tunsigned long\tExplicitAffinity:1\t /* start bit 21 */;\n};\n};\nunion\n{\n/* off 0x0270 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0270 */\tunsigned long\tCreateReported:1\t /* start bit 0 */;\n/* off 0x0270 */\tunsigned long\tNoDebugInherit:1\t /* start bit 1 */;\n/* off 0x0270 */\tunsigned long\tProcessExiting:1\t /* start bit 2 */;\n/* off 0x0270 */\tunsigned long\tProcessDelete:1\t /* start bit 3 */;\n/* off 0x0270 */\tunsigned long\tWow64SplitPages:1\t /* start bit 4 */;\n/* off 0x0270 */\tunsigned long\tVmDeleted:1\t /* start bit 5 */;\n/* off 0x0270 */\tunsigned long\tOutswapEnabled:1\t /* start bit 6 */;\n/* off 0x0270 */\tunsigned long\tOutswapped:1\t /* start bit 7 */;\n/* off 0x0270 */\tunsigned long\tForkFailed:1\t /* start bit 8 */;\n/* off 0x0270 */\tunsigned long\tWow64VaSpace4Gb:1\t /* start bit 9 */;\n/* off 0x0270 */\tunsigned long\tAddressSpaceInitialized:2\t /* start bit 10 */;\n/* off 0x0270 */\tunsigned long\tSetTimerResolution:1\t /* start bit 12 */;\n/* off 0x0270 */\tunsigned long\tBreakOnTermination:1\t /* start bit 13 */;\n/* off 0x0270 */\tunsigned long\tDeprioritizeViews:1\t /* start bit 14 */;\n/* off 0x0270 */\tunsigned long\tWriteWatch:1\t /* start bit 15 */;\n/* off 0x0270 */\tunsigned long\tProcessInSession:1\t /* start bit 16 */;\n/* off 0x0270 */\tunsigned long\tOverrideAddressSpace:1\t /* start bit 17 */;\n/* off 0x0270 */\tunsigned long\tHasAddressSpace:1\t /* start bit 18 */;\n/* off 0x0270 */\tunsigned long\tLaunchPrefetched:1\t /* start bit 19 */;\n/* off 0x0270 */\tunsigned long\tInjectInpageErrors:1\t /* start bit 20 */;\n/* off 0x0270 */\tunsigned long\tVmTopDown:1\t /* start bit 21 */;\n/* off 0x0270 */\tunsigned long\tImageNotifyDone:1\t /* start bit 22 */;\n/* off 0x0270 */\tunsigned long\tPdeUpdateNeeded:1\t /* start bit 23 */;\n/* off 0x0270 */\tunsigned long\tVdmAllowed:1\t /* start bit 24 */;\n/* off 0x0270 */\tunsigned long\tCrossSessionCreate:1\t /* start bit 25 */;\n/* off 0x0270 */\tunsigned long\tProcessInserted:1\t /* start bit 26 */;\n/* off 0x0270 */\tunsigned long\tDefaultIoPriority:3\t /* start bit 27 */;\n/* off 0x0270 */\tunsigned long\tProcessSelfDelete:1\t /* start bit 30 */;\n/* off 0x0270 */\tunsigned long\tSetTimerResolutionLink:1\t /* start bit 31 */;\n};\n};\n/* off 0x0274 */\tlong\tExitStatus;\n/* off 0x0278 */\tstruct _MM_AVL_TABLE\tVadRoot;\n/* off 0x0298 */\tstruct _ALPC_PROCESS_CONTEXT\tAlpcContext;\n/* off 0x02a8 */\tstruct _LIST_ENTRY\tTimerResolutionLink;\n/* off 0x02b0 */\tunsigned long\tRequestedTimerResolution;\n/* off 0x02b4 */\tunsigned long\tActiveThreadsHighWatermark;\n/* off 0x02b8 */\tunsigned long\tSmallestTimerResolution;\n/* off 0x02bc */\tstruct _PO_DIAG_STACK_RECORD*\tTimerResolutionStackRecord;\n};\nstruct _EPROCESS_QUOTA_BLOCK /* sizeof 00000000 0 */\n{\n};\nunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCapturedCpuShareWeight;\n/* off 0x0004 */\tunsigned long\tCapturedTotalWeight;\n};\n/* off 0x0000 */\t__int64\tCombinedData;\n};\nstruct _PS_PER_CPU_QUOTA_CACHE_AWARE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSortedListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tIdleOnlyListHead;\n/* off 0x0010 */\tunsigned __int64\tCycleBaseAllowance;\n/* off 0x0018 */\t__int64\tCyclesRemaining;\n/* off 0x0020 */\tunsigned long\tCurrentGeneration;\n};\nstruct _PS_CPU_QUOTA_BLOCK /* sizeof 00000880 2176 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tunsigned long\tCpuShareWeight;\n/* off 0x0010 */\tunion _PSP_CPU_SHARE_CAPTURED_WEIGHT_DATA\tCapturedWeightData;\nunion\n{\nstruct\n{\n/* off 0x0018 */\tunsigned long\tDuplicateInputMarker:1\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n};\n/* off 0x0018 */\tlong\tMiscFlags;\n};\nstruct\n{\n};\n/* off 0x0000 */\tunsigned long\tBlockCurrentGenerationLock;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tCyclesAccumulated;\n};\n};\n/* off 0x0040 */\tunsigned __int64\tCycleCredit;\n/* off 0x0048 */\tunsigned long\tBlockCurrentGeneration;\n/* off 0x004c */\tunsigned long\tCpuCyclePercent;\n/* off 0x0050 */\tunsigned char\tCyclesFinishedForCurrentGeneration;\n/* off 0x0080 */\tstruct _PS_PER_CPU_QUOTA_CACHE_AWARE Cpu[32];\n};\n};\n};\nstruct _HANDLE_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tunsigned long\tTableCode;\n/* off 0x0004 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0008 */\tvoid*\tUniqueProcessId;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tHandleLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tHandleTableList;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tHandleContentionEvent;\n/* off 0x001c */\tstruct _HANDLE_TRACE_DEBUG_INFO*\tDebugInfo;\n/* off 0x0020 */\tlong\tExtraInfoPages;\nunion\n{\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0024 */\tunsigned char\tStrictFIFO:1\t /* start bit 0 */;\n};\n/* off 0x0028 */\tunsigned long\tFirstFreeHandle;\n/* off 0x002c */\tstruct _HANDLE_TABLE_ENTRY*\tLastFreeHandleEntry;\n/* off 0x0030 */\tunsigned long\tHandleCount;\n/* off 0x0034 */\tunsigned long\tNextHandleNeedingPool;\n/* off 0x0038 */\tunsigned long\tHandleCountHighWatermark;\n};\nstruct _HANDLE_TRACE_DB_ENTRY /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tvoid* StackTrace[16];\n};\nstruct _HANDLE_TRACE_DEBUG_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tunsigned long\tTableSize;\n/* off 0x0008 */\tunsigned long\tBitMaskFlags;\n/* off 0x000c */\tstruct _FAST_MUTEX\tCloseCompactionLock;\n/* off 0x002c */\tunsigned long\tCurrentStackIndex;\n/* off 0x0030 */\tstruct _HANDLE_TRACE_DB_ENTRY TraceDb[1];\n};\nstruct _HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tObject;\n/* off 0x0000 */\tunsigned long\tObAttributes;\n/* off 0x0000 */\tstruct _HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n/* off 0x0000 */\tunsigned long\tValue;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tGrantedAccessIndex;\n/* off 0x0006 */\tunsigned short\tCreatorBackTraceIndex;\n};\n/* off 0x0004 */\tunsigned long\tNextFreeTableEntry;\n};\n};\nstruct _HANDLE_TABLE_ENTRY_INFO /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tAuditMask;\n};\nstruct _EJOB /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tJobLinks;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tProcessListHead;\n/* off 0x0020 */\tstruct _ERESOURCE\tJobLock;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tTotalUserTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tTotalKernelTime;\n/* off 0x0068 */\tunion _LARGE_INTEGER\tThisPeriodTotalUserTime;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tThisPeriodTotalKernelTime;\n/* off 0x0078 */\tunsigned long\tTotalPageFaultCount;\n/* off 0x007c */\tunsigned long\tTotalProcesses;\n/* off 0x0080 */\tunsigned long\tActiveProcesses;\n/* off 0x0084 */\tunsigned long\tTotalTerminatedProcesses;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tPerProcessUserTimeLimit;\n/* off 0x0090 */\tunion _LARGE_INTEGER\tPerJobUserTimeLimit;\n/* off 0x0098 */\tunsigned long\tMinimumWorkingSetSize;\n/* off 0x009c */\tunsigned long\tMaximumWorkingSetSize;\n/* off 0x00a0 */\tunsigned long\tLimitFlags;\n/* off 0x00a4 */\tunsigned long\tActiveProcessLimit;\n/* off 0x00a8 */\tstruct _KAFFINITY_EX\tAffinity;\n/* off 0x00b4 */\tunsigned char\tPriorityClass;\n/* off 0x00b8 */\tstruct _JOB_ACCESS_STATE*\tAccessState;\n/* off 0x00bc */\tunsigned long\tUIRestrictionsClass;\n/* off 0x00c0 */\tunsigned long\tEndOfJobTimeAction;\n/* off 0x00c4 */\tvoid*\tCompletionPort;\n/* off 0x00c8 */\tvoid*\tCompletionKey;\n/* off 0x00cc */\tunsigned long\tSessionId;\n/* off 0x00d0 */\tunsigned long\tSchedulingClass;\n/* off 0x00d8 */\tunsigned __int64\tReadOperationCount;\n/* off 0x00e0 */\tunsigned __int64\tWriteOperationCount;\n/* off 0x00e8 */\tunsigned __int64\tOtherOperationCount;\n/* off 0x00f0 */\tunsigned __int64\tReadTransferCount;\n/* off 0x00f8 */\tunsigned __int64\tWriteTransferCount;\n/* off 0x0100 */\tunsigned __int64\tOtherTransferCount;\n/* off 0x0108 */\tunsigned long\tProcessMemoryLimit;\n/* off 0x010c */\tunsigned long\tJobMemoryLimit;\n/* off 0x0110 */\tunsigned long\tPeakProcessMemoryUsed;\n/* off 0x0114 */\tunsigned long\tPeakJobMemoryUsed;\n/* off 0x0118 */\tunsigned __int64\tCurrentJobMemoryUsed;\n/* off 0x0120 */\tstruct _EX_PUSH_LOCK\tMemoryLimitsLock;\n/* off 0x0124 */\tstruct _LIST_ENTRY\tJobSetLinks;\n/* off 0x012c */\tunsigned long\tMemberLevel;\n/* off 0x0130 */\tunsigned long\tJobFlags;\n};\nstruct _JOB_ACCESS_STATE /* sizeof 00000000 0 */\n{\n};\nstruct _PAGEFAULT_HISTORY /* sizeof 00000000 0 */\n{\n};\nstruct _OBJECT_NAME_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _UNICODE_STRING\tName;\n};\nstruct _MMWSL /* sizeof 00000d08 3336 */\n{\n/* off 0x0000 */\tunsigned long\tFirstFree;\n/* off 0x0004 */\tunsigned long\tFirstDynamic;\n/* off 0x0008 */\tunsigned long\tLastEntry;\n/* off 0x000c */\tunsigned long\tNextSlot;\n/* off 0x0010 */\tstruct _MMWSLE*\tWsle;\n/* off 0x0014 */\tvoid*\tLowestPagableAddress;\n/* off 0x0018 */\tunsigned long\tLastInitializedWsle;\n/* off 0x001c */\tunsigned long\tNextAgingSlot;\n/* off 0x0020 */\tunsigned long\tNumberOfCommittedPageTables;\n/* off 0x0024 */\tunsigned long\tVadBitMapHint;\n/* off 0x0028 */\tunsigned long\tNonDirectCount;\n/* off 0x002c */\tunsigned long\tLastVadBit;\n/* off 0x0030 */\tunsigned long\tMaximumLastVadBit;\n/* off 0x0034 */\tunsigned long\tLastAllocationSizeHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tstruct _MMWSLE_NONDIRECT_HASH*\tNonDirectHash;\n/* off 0x0040 */\tstruct _MMWSLE_HASH*\tHashTableStart;\n/* off 0x0044 */\tstruct _MMWSLE_HASH*\tHighestPermittedHashAddress;\n/* off 0x0048 */\tunsigned short UsedPageTableEntries[1536];\n/* off 0x0c48 */\tunsigned long CommittedPageTables[48];\n};\nstruct _MMWSLENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHashed:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDirect:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tAge:3\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tVirtualPageNumber:20\t /* start bit 12 */;\n};\nstruct _MMWSLE_FREE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousFree:11\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tNextFree:20\t /* start bit 12 */;\n};\nstruct _MMWSLE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tVirtualAddress;\n\t/* off 0x0000 */\tunsigned long\tLong;\n\t/* off 0x0000 */\tstruct _MMWSLENTRY\te1;\n\t/* off 0x0000 */\tstruct _MMWSLE_FREE_ENTRY\te2;\n\t}\tu1;\n};\nstruct _MMWSLE_NONDIRECT_HASH /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tKey;\n/* off 0x0004 */\tunsigned long\tIndex;\n};\nstruct _MMWSLE_HASH /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tIndex;\n};\nstruct _PO_DIAG_STACK_RECORD /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tStackDepth;\n/* off 0x0004 */\tvoid* Stack[1];\n};\nstruct _FILE_NETWORK_OPEN_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tLastAccessTime;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tChangeTime;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tEndOfFile;\n/* off 0x0030 */\tunsigned long\tFileAttributes;\n};\nstruct _MDL /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _MDL*\tNext;\n/* off 0x0004 */\tshort\tSize;\n/* off 0x0006 */\tshort\tMdlFlags;\n/* off 0x0008 */\tstruct _EPROCESS*\tProcess;\n/* off 0x000c */\tvoid*\tMappedSystemVa;\n/* off 0x0010 */\tvoid*\tStartVa;\n/* off 0x0014 */\tunsigned long\tByteCount;\n/* off 0x0018 */\tunsigned long\tByteOffset;\n};\nstruct _COMPRESSED_DATA_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned short\tCompressionFormatAndEngine;\n/* off 0x0002 */\tunsigned char\tCompressionUnitShift;\n/* off 0x0003 */\tunsigned char\tChunkShift;\n/* off 0x0004 */\tunsigned char\tClusterShift;\n/* off 0x0005 */\tunsigned char\tReserved;\n/* off 0x0006 */\tunsigned short\tNumberOfChunks;\n/* off 0x0008 */\tunsigned long CompressedChunkSizes[1];\n};\nstruct _IRP /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _MDL*\tMdlAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _IRP*\tMasterIrp;\n\t/* off 0x0000 */\tlong\tIrpCount;\n\t/* off 0x0000 */\tvoid*\tSystemBuffer;\n\t}\tAssociatedIrp;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tThreadListEntry;\n/* off 0x0018 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n/* off 0x0020 */\tchar\tRequestorMode;\n/* off 0x0021 */\tunsigned char\tPendingReturned;\n/* off 0x0022 */\tchar\tStackCount;\n/* off 0x0023 */\tchar\tCurrentLocation;\n/* off 0x0024 */\tunsigned char\tCancel;\n/* off 0x0025 */\tunsigned char\tCancelIrql;\n/* off 0x0026 */\tchar\tApcEnvironment;\n/* off 0x0027 */\tunsigned char\tAllocationFlags;\n/* off 0x0028 */\tstruct _IO_STATUS_BLOCK*\tUserIosb;\n/* off 0x002c */\tstruct _KEVENT*\tUserEvent;\n/* off 0x0030 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tvoid( __stdcall *UserApcRoutine)(void*,struct _IO_STATUS_BLOCK*,unsigned long);\n\t\t/* off 0x0000 */\tvoid*\tIssuingProcess;\n\t\t};\n\t\t/* off 0x0004 */\tvoid*\tUserApcContext;\n\t\t}\tAsynchronousParameters;\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tAllocationSize;\n\t}\tOverlay;\n/* off 0x0038 */\tvoid( __stdcall *CancelRoutine)(struct _DEVICE_OBJECT*,struct _IRP*);\n/* off 0x003c */\tvoid*\tUserBuffer;\n/* off 0x0040 */\t\n\tunion  /* sizeof 00000030 48 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000028 40 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KDEVICE_QUEUE_ENTRY\tDeviceQueueEntry;\n\t\t/* off 0x0000 */\tvoid* DriverContext[4];\n\t\t};\n\t\t/* off 0x0010 */\tstruct _ETHREAD*\tThread;\n\t\t/* off 0x0014 */\tchar*\tAuxiliaryBuffer;\n\t\t/* off 0x0018 */\tstruct _LIST_ENTRY\tListEntry;\n\t\tunion\n\t\t{\n\t\t/* off 0x0020 */\tstruct _IO_STACK_LOCATION*\tCurrentStackLocation;\n\t\t/* off 0x0020 */\tunsigned long\tPacketType;\n\t\t};\n\t\t/* off 0x0024 */\tstruct _FILE_OBJECT*\tOriginalFileObject;\n\t\t}\tOverlay;\n\t/* off 0x0000 */\tstruct _KAPC\tApc;\n\t/* off 0x0000 */\tvoid*\tCompletionKey;\n\t}\tTail;\n};\nstruct _SYSTEM_POWER_STATE_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTargetSystemState:4\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tEffectiveSystemState:4\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tCurrentSystemState:4\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tIgnoreHibernationPath:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tPseudoTransition:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned long\tReserved2:10\t /* start bit 22 */;\n};\n/* off 0x0000 */\tunsigned long\tContextAsUlong;\n};\n};\nunion _POWER_STATE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0000 */\tenum _DEVICE_POWER_STATE\tDeviceState;\n};\nstruct _IO_STACK_LOCATION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned char\tMajorFunction;\n/* off 0x0001 */\tunsigned char\tMinorFunction;\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tControl;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tFileAttributes;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tunsigned long\tEaLength;\n\t\t}\tCreate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _NAMED_PIPE_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreatePipe;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_SECURITY_CONTEXT*\tSecurityContext;\n\t\t/* off 0x0004 */\tunsigned long\tOptions;\n\t\t/* off 0x0008 */\tunsigned short\tReserved;\n\t\t/* off 0x000a */\tunsigned short\tShareAccess;\n\t\t/* off 0x000c */\tstruct _MAILSLOT_CREATE_PARAMETERS*\tParameters;\n\t\t}\tCreateMailslot;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tstruct _UNICODE_STRING*\tFileName;\n\t\t/* off 0x0008 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x000c */\tunsigned long\tFileIndex;\n\t\t}\tQueryDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tCompletionFilter;\n\t\t}\tNotifyDirectory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t}\tQueryFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FILE_INFORMATION_CLASS\tFileInformationClass;\n\t\t/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\tunion\n\t\t{\n\t\tstruct\n\t\t{\n\t\t/* off 0x000c */\tunsigned char\tReplaceIfExists;\n\t\t/* off 0x000d */\tunsigned char\tAdvanceOnly;\n\t\t};\n\t\t/* off 0x000c */\tunsigned long\tClusterCount;\n\t\t/* off 0x000c */\tvoid*\tDeleteHandle;\n\t\t};\n\t\t}\tSetFile;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tEaList;\n\t\t/* off 0x0008 */\tunsigned long\tEaListLength;\n\t\t/* off 0x000c */\tunsigned long\tEaIndex;\n\t\t}\tQueryEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetEa;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tQueryVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tenum _FSINFOCLASS\tFsInformationClass;\n\t\t}\tSetVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tFsControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tFileSystemControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER*\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tKey;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tByteOffset;\n\t\t}\tLockControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tOutputBufferLength;\n\t\t/* off 0x0004 */\tunsigned long\tInputBufferLength;\n\t\t/* off 0x0008 */\tunsigned long\tIoControlCode;\n\t\t/* off 0x000c */\tvoid*\tType3InputBuffer;\n\t\t}\tDeviceIoControl;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t}\tQuerySecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecurityInformation;\n\t\t/* off 0x0004 */\tvoid*\tSecurityDescriptor;\n\t\t}\tSetSecurity;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tMountVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _VPB*\tVpb;\n\t\t/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n\t\t}\tVerifyVolume;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SCSI_REQUEST_BLOCK*\tSrb;\n\t\t}\tScsi;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tvoid*\tStartSid;\n\t\t/* off 0x0008 */\tstruct _FILE_GET_QUOTA_INFORMATION*\tSidList;\n\t\t/* off 0x000c */\tunsigned long\tSidListLength;\n\t\t}\tQueryQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t}\tSetQuota;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _DEVICE_RELATION_TYPE\tType;\n\t\t}\tQueryDeviceRelations;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID*\tInterfaceType;\n\t\t/* off 0x0004 */\tunsigned short\tSize;\n\t\t/* off 0x0006 */\tunsigned short\tVersion;\n\t\t/* off 0x0008 */\tstruct _INTERFACE*\tInterface;\n\t\t/* off 0x000c */\tvoid*\tInterfaceSpecificData;\n\t\t}\tQueryInterface;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _DEVICE_CAPABILITIES*\tCapabilities;\n\t\t}\tDeviceCapabilities;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tIoResourceRequirementList;\n\t\t}\tFilterResourceRequirements;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWhichSpace;\n\t\t/* off 0x0004 */\tvoid*\tBuffer;\n\t\t/* off 0x0008 */\tunsigned long\tOffset;\n\t\t/* off 0x000c */\tunsigned long\tLength;\n\t\t}\tReadWriteConfig;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tLock;\n\t\t}\tSetLock;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum BUS_QUERY_ID_TYPE\tIdType;\n\t\t}\tQueryId;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum DEVICE_TEXT_TYPE\tDeviceTextType;\n\t\t/* off 0x0004 */\tunsigned long\tLocaleId;\n\t\t}\tQueryDeviceText;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tInPath;\n\t\t/* off 0x0001 */\tunsigned char Reserved[3];\n\t\t/* off 0x0004 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tType;\n\t\t}\tUsageNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _SYSTEM_POWER_STATE\tPowerState;\n\t\t}\tWaitWake;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _POWER_SEQUENCE*\tPowerSequence;\n\t\t}\tPowerSequence;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSystemContext;\n\t\t/* off 0x0000 */\tstruct _SYSTEM_POWER_STATE_CONTEXT\tSystemPowerStateContext;\n\t\t};\n\t\t/* off 0x0004 */\tenum _POWER_STATE_TYPE\tType;\n\t\t/* off 0x0008 */\tunion _POWER_STATE\tState;\n\t\t/* off 0x000c */\tenum POWER_ACTION\tShutdownType;\n\t\t}\tPower;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResources;\n\t\t/* off 0x0004 */\tstruct _CM_RESOURCE_LIST*\tAllocatedResourcesTranslated;\n\t\t}\tStartDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tProviderId;\n\t\t/* off 0x0004 */\tvoid*\tDataPath;\n\t\t/* off 0x0008 */\tunsigned long\tBufferSize;\n\t\t/* off 0x000c */\tvoid*\tBuffer;\n\t\t}\tWMI;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tArgument1;\n\t\t/* off 0x0004 */\tvoid*\tArgument2;\n\t\t/* off 0x0008 */\tvoid*\tArgument3;\n\t\t/* off 0x000c */\tvoid*\tArgument4;\n\t\t}\tOthers;\n\t}\tParameters;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x001c */\tlong( __stdcall *CompletionRoutine)(struct _DEVICE_OBJECT*,struct _IRP*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n};\nstruct _IO_SECURITY_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0004 */\tstruct _ACCESS_STATE*\tAccessState;\n/* off 0x0008 */\tunsigned long\tDesiredAccess;\n/* off 0x000c */\tunsigned long\tFullCreateOptions;\n};\nstruct _SECURITY_QUALITY_OF_SERVICE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tunsigned char\tContextTrackingMode;\n/* off 0x0009 */\tunsigned char\tEffectiveOnly;\n};\nenum _SECURITY_IMPERSONATION_LEVEL\n{\n\tSecurityAnonymous\t=0x00000000\t,//0\n\tSecurityIdentification\t=0x00000001\t,//0\n\tSecurityImpersonation\t=0x00000002\t,//0\n\tSecurityDelegation\t=0x00000003\t,//0\n};\nstruct _SECURITY_SUBJECT_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tClientToken;\n/* off 0x0004 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x0008 */\tvoid*\tPrimaryToken;\n/* off 0x000c */\tvoid*\tProcessAuditId;\n};\nstruct _LUID_AND_ATTRIBUTES /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LUID\tLuid;\n/* off 0x0008 */\tunsigned long\tAttributes;\n};\nstruct _INITIAL_PRIVILEGE_SET /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[3];\n};\nstruct _PRIVILEGE_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tPrivilegeCount;\n/* off 0x0004 */\tunsigned long\tControl;\n/* off 0x0008 */\tstruct _LUID_AND_ATTRIBUTES Privilege[1];\n};\nstruct _ACCESS_STATE /* sizeof 00000074 116 */\n{\n/* off 0x0000 */\tstruct _LUID\tOperationID;\n/* off 0x0008 */\tunsigned char\tSecurityEvaluated;\n/* off 0x0009 */\tunsigned char\tGenerateAudit;\n/* off 0x000a */\tunsigned char\tGenerateOnClose;\n/* off 0x000b */\tunsigned char\tPrivilegesAllocated;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tunsigned long\tRemainingDesiredAccess;\n/* off 0x0014 */\tunsigned long\tPreviouslyGrantedAccess;\n/* off 0x0018 */\tunsigned long\tOriginalDesiredAccess;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectSecurityContext;\n/* off 0x002c */\tvoid*\tSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tAuxData;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000002c 44 */\n\t{\n\t/* off 0x0000 */\tstruct _INITIAL_PRIVILEGE_SET\tInitialPrivilegeSet;\n\t/* off 0x0000 */\tstruct _PRIVILEGE_SET\tPrivilegeSet;\n\t}\tPrivileges;\n/* off 0x0060 */\tunsigned char\tAuditPrivileges;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tObjectName;\n/* off 0x006c */\tstruct _UNICODE_STRING\tObjectTypeName;\n};\nstruct _NAMED_PIPE_CREATE_PARAMETERS /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tNamedPipeType;\n/* off 0x0004 */\tunsigned long\tReadMode;\n/* off 0x0008 */\tunsigned long\tCompletionMode;\n/* off 0x000c */\tunsigned long\tMaximumInstances;\n/* off 0x0010 */\tunsigned long\tInboundQuota;\n/* off 0x0014 */\tunsigned long\tOutboundQuota;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tDefaultTimeout;\n/* off 0x0020 */\tunsigned char\tTimeoutSpecified;\n};\nstruct _MAILSLOT_CREATE_PARAMETERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tMailslotQuota;\n/* off 0x0004 */\tunsigned long\tMaximumMessageSize;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tReadTimeout;\n/* off 0x0010 */\tunsigned char\tTimeoutSpecified;\n};\nenum _FILE_INFORMATION_CLASS\n{\n\tFileDirectoryInformation\t=0x00000001\t,//0\n\tFileFullDirectoryInformation\t=0x00000002\t,//0\n\tFileBothDirectoryInformation\t=0x00000003\t,//0\n\tFileBasicInformation\t=0x00000004\t,//0\n\tFileStandardInformation\t=0x00000005\t,//0\n\tFileInternalInformation\t=0x00000006\t,//0\n\tFileEaInformation\t=0x00000007\t,//0\n\tFileAccessInformation\t=0x00000008\t,//0\n\tFileNameInformation\t=0x00000009\t,//0\n\tFileRenameInformation\t=0x0000000a\t,//0\n\tFileLinkInformation\t=0x0000000b\t,//0\n\tFileNamesInformation\t=0x0000000c\t,//0\n\tFileDispositionInformation\t=0x0000000d\t,//0\n\tFilePositionInformation\t=0x0000000e\t,//0\n\tFileFullEaInformation\t=0x0000000f\t,//0\n\tFileModeInformation\t=0x00000010\t,//0\n\tFileAlignmentInformation\t=0x00000011\t,//0\n\tFileAllInformation\t=0x00000012\t,//0\n\tFileAllocationInformation\t=0x00000013\t,//0\n\tFileEndOfFileInformation\t=0x00000014\t,//0\n\tFileAlternateNameInformation\t=0x00000015\t,//0\n\tFileStreamInformation\t=0x00000016\t,//0\n\tFilePipeInformation\t=0x00000017\t,//0\n\tFilePipeLocalInformation\t=0x00000018\t,//0\n\tFilePipeRemoteInformation\t=0x00000019\t,//0\n\tFileMailslotQueryInformation\t=0x0000001a\t,//0\n\tFileMailslotSetInformation\t=0x0000001b\t,//0\n\tFileCompressionInformation\t=0x0000001c\t,//0\n\tFileObjectIdInformation\t=0x0000001d\t,//0\n\tFileCompletionInformation\t=0x0000001e\t,//0\n\tFileMoveClusterInformation\t=0x0000001f\t,//0\n\tFileQuotaInformation\t=0x00000020\t,//0\n\tFileReparsePointInformation\t=0x00000021\t,//0\n\tFileNetworkOpenInformation\t=0x00000022\t,//0\n\tFileAttributeTagInformation\t=0x00000023\t,//0\n\tFileTrackingInformation\t=0x00000024\t,//0\n\tFileIdBothDirectoryInformation\t=0x00000025\t,//0\n\tFileIdFullDirectoryInformation\t=0x00000026\t,//0\n\tFileValidDataLengthInformation\t=0x00000027\t,//0\n\tFileShortNameInformation\t=0x00000028\t,//0\n\tFileIoCompletionNotificationInformation\t=0x00000029\t,//0\n\tFileIoStatusBlockRangeInformation\t=0x0000002a\t,//0\n\tFileIoPriorityHintInformation\t=0x0000002b\t,//0\n\tFileSfioReserveInformation\t=0x0000002c\t,//0\n\tFileSfioVolumeInformation\t=0x0000002d\t,//0\n\tFileHardLinkInformation\t=0x0000002e\t,//0\n\tFileProcessIdsUsingFileInformation\t=0x0000002f\t,//0\n\tFileNormalizedNameInformation\t=0x00000030\t,//0\n\tFileNetworkPhysicalNameInformation\t=0x00000031\t,//0\n\tFileIdGlobalTxDirectoryInformation\t=0x00000032\t,//0\n\tFileIsRemoteDeviceInformation\t=0x00000033\t,//0\n\tFileAttributeCacheInformation\t=0x00000034\t,//0\n\tFileNumaNodeInformation\t=0x00000035\t,//0\n\tFileStandardLinkInformation\t=0x00000036\t,//0\n\tFileRemoteProtocolInformation\t=0x00000037\t,//0\n\tFileMaximumInformation\t=0x00000038\t,//0\n};\nenum _FSINFOCLASS\n{\n\tFileFsVolumeInformation\t=0x00000001\t,//0\n\tFileFsLabelInformation\t=0x00000002\t,//0\n\tFileFsSizeInformation\t=0x00000003\t,//0\n\tFileFsDeviceInformation\t=0x00000004\t,//0\n\tFileFsAttributeInformation\t=0x00000005\t,//0\n\tFileFsControlInformation\t=0x00000006\t,//0\n\tFileFsFullSizeInformation\t=0x00000007\t,//0\n\tFileFsObjectIdInformation\t=0x00000008\t,//0\n\tFileFsDriverPathInformation\t=0x00000009\t,//0\n\tFileFsVolumeFlagsInformation\t=0x0000000a\t,//0\n\tFileFsMaximumInformation\t=0x0000000b\t,//0\n};\nstruct _SCSI_REQUEST_BLOCK /* sizeof 00000000 0 */\n{\n};\nstruct _SID_IDENTIFIER_AUTHORITY /* sizeof 00000006 6 */\n{\n/* off 0x0000 */\tunsigned char Value[6];\n};\nstruct _SID /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSubAuthorityCount;\n/* off 0x0002 */\tstruct _SID_IDENTIFIER_AUTHORITY\tIdentifierAuthority;\n/* off 0x0008 */\tunsigned long SubAuthority[1];\n};\nstruct _FILE_GET_QUOTA_INFORMATION /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tNextEntryOffset;\n/* off 0x0004 */\tunsigned long\tSidLength;\n/* off 0x0008 */\tstruct _SID\tSid;\n};\nenum _DEVICE_RELATION_TYPE\n{\n\tBusRelations\t=0x00000000\t,//0\n\tEjectionRelations\t=0x00000001\t,//0\n\tPowerRelations\t=0x00000002\t,//0\n\tRemovalRelations\t=0x00000003\t,//0\n\tTargetDeviceRelation\t=0x00000004\t,//0\n\tSingleBusRelations\t=0x00000005\t,//0\n\tTransportRelations\t=0x00000006\t,//0\n};\nstruct _INTERFACE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n};\nstruct _DEVICE_CAPABILITIES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tunsigned long\tDeviceD1:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tDeviceD2:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tLockSupported:1\t /* start bit 2 */;\n/* off 0x0004 */\tunsigned long\tEjectSupported:1\t /* start bit 3 */;\n/* off 0x0004 */\tunsigned long\tRemovable:1\t /* start bit 4 */;\n/* off 0x0004 */\tunsigned long\tDockDevice:1\t /* start bit 5 */;\n/* off 0x0004 */\tunsigned long\tUniqueID:1\t /* start bit 6 */;\n/* off 0x0004 */\tunsigned long\tSilentInstall:1\t /* start bit 7 */;\n/* off 0x0004 */\tunsigned long\tRawDeviceOK:1\t /* start bit 8 */;\n/* off 0x0004 */\tunsigned long\tSurpriseRemovalOK:1\t /* start bit 9 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD0:1\t /* start bit 10 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD1:1\t /* start bit 11 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD2:1\t /* start bit 12 */;\n/* off 0x0004 */\tunsigned long\tWakeFromD3:1\t /* start bit 13 */;\n/* off 0x0004 */\tunsigned long\tHardwareDisabled:1\t /* start bit 14 */;\n/* off 0x0004 */\tunsigned long\tNonDynamic:1\t /* start bit 15 */;\n/* off 0x0004 */\tunsigned long\tWarmEjectSupported:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tNoDisplayInUI:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tReserved1:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tReserved:13\t /* start bit 19 */;\n/* off 0x0008 */\tunsigned long\tAddress;\n/* off 0x000c */\tunsigned long\tUINumber;\n/* off 0x0010 */\tenum _DEVICE_POWER_STATE DeviceState[7];\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tSystemWake;\n/* off 0x0030 */\tenum _DEVICE_POWER_STATE\tDeviceWake;\n/* off 0x0034 */\tunsigned long\tD1Latency;\n/* off 0x0038 */\tunsigned long\tD2Latency;\n/* off 0x003c */\tunsigned long\tD3Latency;\n};\nenum _DEVICE_POWER_STATE\n{\n\tPowerDeviceUnspecified\t=0x00000000\t,//0\n\tPowerDeviceD0\t=0x00000001\t,//0\n\tPowerDeviceD1\t=0x00000002\t,//0\n\tPowerDeviceD2\t=0x00000003\t,//0\n\tPowerDeviceD3\t=0x00000004\t,//0\n\tPowerDeviceMaximum\t=0x00000005\t,//0\n};\nenum _SYSTEM_POWER_STATE\n{\n\tPowerSystemUnspecified\t=0x00000000\t,//0\n\tPowerSystemWorking\t=0x00000001\t,//0\n\tPowerSystemSleeping1\t=0x00000002\t,//0\n\tPowerSystemSleeping2\t=0x00000003\t,//0\n\tPowerSystemSleeping3\t=0x00000004\t,//0\n\tPowerSystemHibernate\t=0x00000005\t,//0\n\tPowerSystemShutdown\t=0x00000006\t,//0\n\tPowerSystemMaximum\t=0x00000007\t,//0\n};\nstruct _IO_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned char\tOption;\n/* off 0x0001 */\tunsigned char\tType;\n/* off 0x0002 */\tunsigned char\tShareDisposition;\n/* off 0x0003 */\tunsigned char\tSpare1;\n/* off 0x0004 */\tunsigned short\tFlags;\n/* off 0x0006 */\tunsigned short\tSpare2;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumVector;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumVector;\n\t\t/* off 0x0008 */\tunsigned short\tAffinityPolicy;\n\t\t/* off 0x000a */\tunsigned short\tGroup;\n\t\t/* off 0x000c */\tenum _IRQ_PRIORITY\tPriorityPolicy;\n\t\t/* off 0x0010 */\tunsigned long\tTargetedProcessors;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMinimumChannel;\n\t\t/* off 0x0004 */\tunsigned long\tMaximumChannel;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength;\n\t\t/* off 0x0004 */\tunsigned long\tMinBusNumber;\n\t\t/* off 0x0008 */\tunsigned long\tMaxBusNumber;\n\t\t/* off 0x000c */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tPriority;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tConfigData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength40;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment40;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength48;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment48;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000018 24 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLength64;\n\t\t/* off 0x0004 */\tunsigned long\tAlignment64;\n\t\t/* off 0x0008 */\tunion _LARGE_INTEGER\tMinimumAddress;\n\t\t/* off 0x0010 */\tunion _LARGE_INTEGER\tMaximumAddress;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _IO_RESOURCE_LIST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _IO_RESOURCE_DESCRIPTOR Descriptors[1];\n};\nstruct _IO_RESOURCE_REQUIREMENTS_LIST /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tListSize;\n/* off 0x0004 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tSlotNumber;\n/* off 0x0010 */\tunsigned long Reserved[3];\n/* off 0x001c */\tunsigned long\tAlternativeLists;\n/* off 0x0020 */\tstruct _IO_RESOURCE_LIST List[1];\n};\nenum _INTERFACE_TYPE\n{\n\tInterfaceTypeUndefined\t=0xffffffff\t,//-1\n\tInternal\t=0x00000000\t,//0\n\tIsa\t=0x00000001\t,//0\n\tEisa\t=0x00000002\t,//0\n\tMicroChannel\t=0x00000003\t,//0\n\tTurboChannel\t=0x00000004\t,//0\n\tPCIBus\t=0x00000005\t,//0\n\tVMEBus\t=0x00000006\t,//0\n\tNuBus\t=0x00000007\t,//0\n\tPCMCIABus\t=0x00000008\t,//0\n\tCBus\t=0x00000009\t,//0\n\tMPIBus\t=0x0000000a\t,//0\n\tMPSABus\t=0x0000000b\t,//0\n\tProcessorInternal\t=0x0000000c\t,//0\n\tInternalPowerBus\t=0x0000000d\t,//0\n\tPNPISABus\t=0x0000000e\t,//0\n\tPNPBus\t=0x0000000f\t,//0\n\tVmcs\t=0x00000010\t,//0\n\tMaximumInterfaceType\t=0x00000011\t,//0\n};\nenum _IRQ_PRIORITY\n{\n\tIrqPriorityUndefined\t=0x00000000\t,//0\n\tIrqPriorityLow\t=0x00000001\t,//0\n\tIrqPriorityNormal\t=0x00000002\t,//0\n\tIrqPriorityHigh\t=0x00000003\t,//0\n};\nenum BUS_QUERY_ID_TYPE\n{\n\tBusQueryDeviceID\t=0x00000000\t,//0\n\tBusQueryHardwareIDs\t=0x00000001\t,//0\n\tBusQueryCompatibleIDs\t=0x00000002\t,//0\n\tBusQueryInstanceID\t=0x00000003\t,//0\n\tBusQueryDeviceSerialNumber\t=0x00000004\t,//0\n\tBusQueryContainerID\t=0x00000005\t,//0\n};\nenum DEVICE_TEXT_TYPE\n{\n\tDeviceTextDescription\t=0x00000000\t,//0\n\tDeviceTextLocationInformation\t=0x00000001\t,//0\n};\nenum _DEVICE_USAGE_NOTIFICATION_TYPE\n{\n\tDeviceUsageTypeUndefined\t=0x00000000\t,//0\n\tDeviceUsageTypePaging\t=0x00000001\t,//0\n\tDeviceUsageTypeHibernation\t=0x00000002\t,//0\n\tDeviceUsageTypeDumpFile\t=0x00000003\t,//0\n};\nstruct _POWER_SEQUENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequenceD1;\n/* off 0x0004 */\tunsigned long\tSequenceD2;\n/* off 0x0008 */\tunsigned long\tSequenceD3;\n};\nenum _POWER_STATE_TYPE\n{\n\tSystemPowerState\t=0x00000000\t,//0\n\tDevicePowerState\t=0x00000001\t,//0\n};\nenum POWER_ACTION\n{\n\tPowerActionNone\t=0x00000000\t,//0\n\tPowerActionReserved\t=0x00000001\t,//0\n\tPowerActionSleep\t=0x00000002\t,//0\n\tPowerActionHibernate\t=0x00000003\t,//0\n\tPowerActionShutdown\t=0x00000004\t,//0\n\tPowerActionShutdownReset\t=0x00000005\t,//0\n\tPowerActionShutdownOff\t=0x00000006\t,//0\n\tPowerActionWarmEject\t=0x00000007\t,//0\n};\nstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tType;\n/* off 0x0001 */\tunsigned char\tShareDisposition;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tGeneric;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tPort;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t}\tInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0002 */\tunsigned short\tMessageCount;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tRaw;\n\t\t/* off 0x0000 */\t\n\t\t\tstruct  /* sizeof 0000000c 12 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned short\tLevel;\n\t\t\t/* off 0x0002 */\tunsigned short\tGroup;\n\t\t\t/* off 0x0004 */\tunsigned long\tVector;\n\t\t\t/* off 0x0008 */\tunsigned long\tAffinity;\n\t\t\t}\tTranslated;\n\t\t};\n\t\t}\tMessageInterrupt;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength;\n\t\t}\tMemory;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tChannel;\n\t\t/* off 0x0004 */\tunsigned long\tPort;\n\t\t/* off 0x0008 */\tunsigned long\tReserved1;\n\t\t}\tDma;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long Data[3];\n\t\t}\tDevicePrivate;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tStart;\n\t\t/* off 0x0004 */\tunsigned long\tLength;\n\t\t/* off 0x0008 */\tunsigned long\tReserved;\n\t\t}\tBusNumber;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tDataSize;\n\t\t/* off 0x0004 */\tunsigned long\tReserved1;\n\t\t/* off 0x0008 */\tunsigned long\tReserved2;\n\t\t}\tDeviceSpecificData;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength40;\n\t\t}\tMemory40;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength48;\n\t\t}\tMemory48;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\t/* off 0x0000 */\tunion _LARGE_INTEGER\tStart;\n\t\t/* off 0x0008 */\tunsigned long\tLength64;\n\t\t}\tMemory64;\n\t}\tu;\n};\nstruct _CM_PARTIAL_RESOURCE_LIST /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned short\tRevision;\n/* off 0x0004 */\tunsigned long\tCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n};\nstruct _CM_FULL_RESOURCE_DESCRIPTOR /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_LIST\tPartialResourceList;\n};\nstruct _CM_RESOURCE_LIST /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _CM_FULL_RESOURCE_DESCRIPTOR List[1];\n};\nstruct _IO_TIMER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tTimerFlag;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tTimerList;\n/* off 0x000c */\tvoid( __stdcall *TimerRoutine)(struct _DEVICE_OBJECT*,void*);\n/* off 0x0010 */\tvoid*\tContext;\n/* off 0x0014 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\nenum _IO_ALLOCATION_ACTION\n{\n\tKeepObject\t=0x00000001\t,//0\n\tDeallocateObject\t=0x00000002\t,//0\n\tDeallocateObjectKeepRegisters\t=0x00000003\t,//0\n};\nstruct _DEVOBJ_EXTENSION /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tunsigned short\tSize;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0008 */\tunsigned long\tPowerFlags;\n/* off 0x000c */\tstruct _DEVICE_OBJECT_POWER_EXTENSION*\tDope;\n/* off 0x0010 */\tunsigned long\tExtensionFlags;\n/* off 0x0014 */\tvoid*\tDeviceNode;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tAttachedTo;\n/* off 0x001c */\tlong\tStartIoCount;\n/* off 0x0020 */\tlong\tStartIoKey;\n/* off 0x0024 */\tunsigned long\tStartIoFlags;\n/* off 0x0028 */\tstruct _VPB*\tVpb;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDependentList;\n/* off 0x0034 */\tstruct _LIST_ENTRY\tProviderList;\n};\nstruct _DEVICE_OBJECT_POWER_EXTENSION /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tIdleCount;\n/* off 0x0004 */\tunsigned long\tBusyCount;\n/* off 0x0008 */\tunsigned long\tBusyReference;\n/* off 0x000c */\tunsigned long\tTotalBusyCount;\n/* off 0x0010 */\tunsigned long\tConservationIdleTime;\n/* off 0x0014 */\tunsigned long\tPerformanceIdleTime;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x001c */\tstruct _LIST_ENTRY\tIdleList;\n/* off 0x0024 */\tenum _POP_DEVICE_IDLE_TYPE\tIdleType;\n/* off 0x0028 */\tenum _DEVICE_POWER_STATE\tIdleState;\n/* off 0x002c */\tenum _DEVICE_POWER_STATE\tCurrentState;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tVolume;\n/* off 0x0038 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tIdleTime;\n\t\t/* off 0x0004 */\tunsigned long\tNonIdleTime;\n\t\t}\tDisk;\n\t}\tSpecific;\n};\nenum _POP_DEVICE_IDLE_TYPE\n{\n\tDeviceIdleNormal\t=0x00000000\t,//0\n\tDeviceIdleDisk\t=0x00000001\t,//0\n};\nunion _PSP_CPU_QUOTA_APC /* sizeof 00000000 0 */\n{\n};\nenum _IO_PRIORITY_HINT\n{\n\tIoPriorityVeryLow\t=0x00000000\t,//0\n\tIoPriorityLow\t=0x00000001\t,//0\n\tIoPriorityNormal\t=0x00000002\t,//0\n\tIoPriorityHigh\t=0x00000003\t,//0\n\tIoPriorityCritical\t=0x00000004\t,//0\n\tMaxIoPriorityTypes\t=0x00000005\t,//0\n};\nstruct _GENERIC_MAPPING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tGenericRead;\n/* off 0x0004 */\tunsigned long\tGenericWrite;\n/* off 0x0008 */\tunsigned long\tGenericExecute;\n/* off 0x000c */\tunsigned long\tGenericAll;\n};\nstruct _ACCESS_REASONS /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long Data[32];\n};\nstruct _AUX_ACCESS_DATA /* sizeof 000000c0 192 */\n{\n/* off 0x0000 */\tstruct _PRIVILEGE_SET*\tPrivilegesUsed;\n/* off 0x0004 */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x0014 */\tunsigned long\tAccessesToAudit;\n/* off 0x0018 */\tunsigned long\tMaximumAuditMask;\n/* off 0x001c */\tstruct _GUID\tTransactionId;\n/* off 0x002c */\tvoid*\tNewSecurityDescriptor;\n/* off 0x0030 */\tvoid*\tExistingSecurityDescriptor;\n/* off 0x0034 */\tvoid*\tParentSecurityDescriptor;\n/* off 0x0038 */\tvoid( __stdcall *DeRefSecurityDescriptor)(void*,void*);\n/* off 0x003c */\tvoid*\tSDLock;\n/* off 0x0040 */\tstruct _ACCESS_REASONS\tAccessReasons;\n};\nstruct _IO_DRIVER_CREATE_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tSize;\n/* off 0x0004 */\tstruct _ECP_LIST*\tExtraCreateParameter;\n/* off 0x0008 */\tvoid*\tDeviceObjectHint;\n/* off 0x000c */\tstruct _TXN_PARAMETER_BLOCK*\tTxnParameters;\n};\nstruct _ECP_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEcpList;\n};\nstruct _TXN_PARAMETER_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tTxFsContext;\n/* off 0x0004 */\tvoid*\tTransactionObject;\n};\nstruct _IO_PRIORITY_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tThreadPriority;\n/* off 0x0008 */\tunsigned long\tPagePriority;\n/* off 0x000c */\tenum _IO_PRIORITY_HINT\tIoPriority;\n};\nstruct _OBJECT_TYPE_INITIALIZER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\nunion\n{\n/* off 0x0002 */\tunsigned char\tObjectTypeFlags;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tCaseInsensitive:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned char\tUnnamedObjectsOnly:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned char\tUseDefaultObject:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned char\tSecurityRequired:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned char\tMaintainHandleCount:1\t /* start bit 4 */;\n/* off 0x0002 */\tunsigned char\tMaintainTypeList:1\t /* start bit 5 */;\n/* off 0x0002 */\tunsigned char\tSupportsObjectCallbacks:1\t /* start bit 6 */;\n};\n};\n/* off 0x0004 */\tunsigned long\tObjectTypeCode;\n/* off 0x0008 */\tunsigned long\tInvalidAttributes;\n/* off 0x000c */\tstruct _GENERIC_MAPPING\tGenericMapping;\n/* off 0x001c */\tunsigned long\tValidAccessMask;\n/* off 0x0020 */\tunsigned long\tRetainAccess;\n/* off 0x0024 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x0028 */\tunsigned long\tDefaultPagedPoolCharge;\n/* off 0x002c */\tunsigned long\tDefaultNonPagedPoolCharge;\n/* off 0x0030 */\tvoid( __stdcall *DumpProcedure)(void*,struct _OBJECT_DUMP_CONTROL*);\n/* off 0x0034 */\tlong( __stdcall *OpenProcedure)(enum _OB_OPEN_REASON,char,struct _EPROCESS*,void*,unsigned long*,unsigned long);\n/* off 0x0038 */\tvoid( __stdcall *CloseProcedure)(struct _EPROCESS*,void*,unsigned long,unsigned long);\n/* off 0x003c */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0040 */\tlong( __stdcall *ParseProcedure)(void*,void*,struct _ACCESS_STATE*,char,unsigned long,struct _UNICODE_STRING*,struct _UNICODE_STRING*,void*,struct _SECURITY_QUALITY_OF_SERVICE*,void**);\n/* off 0x0044 */\tlong( __stdcall *SecurityProcedure)(void*,enum _SECURITY_OPERATION_CODE,unsigned long*,void*,unsigned long*,void**,enum _POOL_TYPE,struct _GENERIC_MAPPING*,char);\n/* off 0x0048 */\tlong( __stdcall *QueryNameProcedure)(void*,unsigned char,struct _OBJECT_NAME_INFORMATION*,unsigned long,unsigned long*,char);\n/* off 0x004c */\tunsigned char( __stdcall *OkayToCloseProcedure)(struct _EPROCESS*,void*,void*,char);\n};\nstruct _OBJECT_TYPE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tName;\n/* off 0x0010 */\tvoid*\tDefaultObject;\n/* off 0x0014 */\tunsigned char\tIndex;\n/* off 0x0018 */\tunsigned long\tTotalNumberOfObjects;\n/* off 0x001c */\tunsigned long\tTotalNumberOfHandles;\n/* off 0x0020 */\tunsigned long\tHighWaterNumberOfObjects;\n/* off 0x0024 */\tunsigned long\tHighWaterNumberOfHandles;\n/* off 0x0028 */\tstruct _OBJECT_TYPE_INITIALIZER\tTypeInfo;\n/* off 0x0078 */\tstruct _EX_PUSH_LOCK\tTypeLock;\n/* off 0x007c */\tunsigned long\tKey;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tCallbackList;\n};\nstruct _OBJECT_DUMP_CONTROL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tStream;\n/* off 0x0004 */\tunsigned long\tDetail;\n};\nenum _OB_OPEN_REASON\n{\n\tObCreateHandle\t=0x00000000\t,//0\n\tObOpenHandle\t=0x00000001\t,//0\n\tObDuplicateHandle\t=0x00000002\t,//0\n\tObInheritHandle\t=0x00000003\t,//0\n\tObMaxOpenReason\t=0x00000004\t,//0\n};\nenum _SECURITY_OPERATION_CODE\n{\n\tSetSecurityDescriptor\t=0x00000000\t,//0\n\tQuerySecurityDescriptor\t=0x00000001\t,//0\n\tDeleteSecurityDescriptor\t=0x00000002\t,//0\n\tAssignSecurityDescriptor\t=0x00000003\t,//0\n};\nstruct _OBJECT_ATTRIBUTES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tObjectName;\n/* off 0x000c */\tunsigned long\tAttributes;\n/* off 0x0010 */\tvoid*\tSecurityDescriptor;\n/* off 0x0014 */\tvoid*\tSecurityQualityOfService;\n};\nstruct _OBJECT_HANDLE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tHandleAttributes;\n/* off 0x0004 */\tunsigned long\tGrantedAccess;\n};\nstruct _EVENT_DATA_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tPtr;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _EVENT_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char\tChannel;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tOpcode;\n/* off 0x0006 */\tunsigned short\tTask;\n/* off 0x0008 */\tunsigned __int64\tKeyword;\n};\nstruct _PERFINFO_GROUPMASK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long Masks[8];\n};\nstruct _MM_PAGE_ACCESS_INFO_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tLink;\n/* off 0x0004 */\tenum _MM_PAGE_ACCESS_TYPE\tType;\nunion\n{\n/* off 0x0008 */\tunsigned long\tEmptySequenceNumber;\n/* off 0x0008 */\tunsigned long\tCurrentFileIndex;\n};\n/* off 0x0010 */\tunsigned __int64\tCreateTime;\nunion\n{\n/* off 0x0018 */\tunsigned __int64\tEmptyTime;\n/* off 0x0018 */\tstruct _MM_PAGE_ACCESS_INFO*\tTempEntry;\n};\nunion\n{\nstruct\n{\n/* off 0x0020 */\tstruct _MM_PAGE_ACCESS_INFO*\tPageEntry;\nunion\n{\nstruct\n{\n/* off 0x0024 */\tunsigned long*\tFileEntry;\n/* off 0x0028 */\tunsigned long*\tFirstFileEntry;\n/* off 0x002c */\tstruct _EPROCESS*\tProcess;\n/* off 0x0030 */\tunsigned long\tSessionId;\n};\nstruct\n{\n/* off 0x0020 */\tunsigned long*\tPageFrameEntry;\n};\n/* off 0x0024 */\tunsigned long*\tLastPageFrameEntry;\n};\n};\n};\n};\nenum _MM_PAGE_ACCESS_TYPE\n{\n\tMmPteAccessType\t=0x00000000\t,//0\n\tMmCcReadAheadType\t=0x00000001\t,//0\n\tMmPfnRepurposeType\t=0x00000002\t,//0\n\tMmMaximumPageAccessType\t=0x00000003\t,//0\n};\nunion _MM_PAGE_ACCESS_INFO_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tImage:1\t /* start bit 10 */;\n\t/* off 0x0000 */\tunsigned long\tSpare0:1\t /* start bit 11 */;\n\t}\tFile;\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFilePointerIndex:9\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tHardFault:1\t /* start bit 9 */;\n\t/* off 0x0000 */\tunsigned long\tSpare1:2\t /* start bit 10 */;\n\t}\tPrivate;\n};\nstruct _MM_PAGE_ACCESS_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tunion _MM_PAGE_ACCESS_INFO_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned __int64\tFileOffset;\n/* off 0x0000 */\tvoid*\tVirtualAddress;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tDontUse0:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSpare0:29\t /* start bit 3 */;\n};\n};\n/* off 0x0004 */\tvoid*\tPointerProtoPte;\n};\nenum _PF_FILE_ACCESS_TYPE\n{\n\tPfFileAccessTypeRead\t=0x00000000\t,//0\n\tPfFileAccessTypeWrite\t=0x00000001\t,//0\n\tPfFileAccessTypeMax\t=0x00000002\t,//0\n};\nunion _WHEA_ERROR_PACKET_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tHypervisorError:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tPlatformPfaControl:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPlatformDirectedOffline:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved2:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_PACKET_V2 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tVersion;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunion _WHEA_ERROR_PACKET_FLAGS\tFlags;\n/* off 0x0010 */\tenum _WHEA_ERROR_TYPE\tErrorType;\n/* off 0x0014 */\tenum _WHEA_ERROR_SEVERITY\tErrorSeverity;\n/* off 0x0018 */\tunsigned long\tErrorSourceId;\n/* off 0x001c */\tenum _WHEA_ERROR_SOURCE_TYPE\tErrorSourceType;\n/* off 0x0020 */\tstruct _GUID\tNotifyType;\n/* off 0x0030 */\tunsigned __int64\tContext;\n/* off 0x0038 */\tenum _WHEA_ERROR_PACKET_DATA_FORMAT\tDataFormat;\n/* off 0x003c */\tunsigned long\tReserved1;\n/* off 0x0040 */\tunsigned long\tDataOffset;\n/* off 0x0044 */\tunsigned long\tDataLength;\n/* off 0x0048 */\tunsigned long\tPshedDataOffset;\n/* off 0x004c */\tunsigned long\tPshedDataLength;\n};\nenum _WHEA_ERROR_TYPE\n{\n\tWheaErrTypeProcessor\t=0x00000000\t,//0\n\tWheaErrTypeMemory\t=0x00000001\t,//0\n\tWheaErrTypePCIExpress\t=0x00000002\t,//0\n\tWheaErrTypeNMI\t=0x00000003\t,//0\n\tWheaErrTypePCIXBus\t=0x00000004\t,//0\n\tWheaErrTypePCIXDevice\t=0x00000005\t,//0\n\tWheaErrTypeGeneric\t=0x00000006\t,//0\n};\nenum _WHEA_ERROR_SEVERITY\n{\n\tWheaErrSevRecoverable\t=0x00000000\t,//0\n\tWheaErrSevFatal\t=0x00000001\t,//0\n\tWheaErrSevCorrected\t=0x00000002\t,//0\n\tWheaErrSevInformational\t=0x00000003\t,//0\n};\nenum _WHEA_ERROR_SOURCE_TYPE\n{\n\tWheaErrSrcTypeMCE\t=0x00000000\t,//0\n\tWheaErrSrcTypeCMC\t=0x00000001\t,//0\n\tWheaErrSrcTypeCPE\t=0x00000002\t,//0\n\tWheaErrSrcTypeNMI\t=0x00000003\t,//0\n\tWheaErrSrcTypePCIe\t=0x00000004\t,//0\n\tWheaErrSrcTypeGeneric\t=0x00000005\t,//0\n\tWheaErrSrcTypeINIT\t=0x00000006\t,//0\n\tWheaErrSrcTypeBOOT\t=0x00000007\t,//0\n\tWheaErrSrcTypeSCIGeneric\t=0x00000008\t,//0\n\tWheaErrSrcTypeIPFMCA\t=0x00000009\t,//0\n\tWheaErrSrcTypeIPFCMC\t=0x0000000a\t,//0\n\tWheaErrSrcTypeIPFCPE\t=0x0000000b\t,//0\n\tWheaErrSrcTypeMax\t=0x0000000c\t,//0\n};\nenum _WHEA_ERROR_PACKET_DATA_FORMAT\n{\n\tWheaDataFormatIPFSalRecord\t=0x00000000\t,//0\n\tWheaDataFormatXPFMCA\t=0x00000001\t,//0\n\tWheaDataFormatMemory\t=0x00000002\t,//0\n\tWheaDataFormatPCIExpress\t=0x00000003\t,//0\n\tWheaDataFormatNMIPort\t=0x00000004\t,//0\n\tWheaDataFormatPCIXBus\t=0x00000005\t,//0\n\tWheaDataFormatPCIXDevice\t=0x00000006\t,//0\n\tWheaDataFormatGeneric\t=0x00000007\t,//0\n\tWheaDataFormatMax\t=0x00000008\t,//0\n};\nunion _WHEA_REVISION /* sizeof 00000002 2 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tMinorRevision;\n/* off 0x0001 */\tunsigned char\tMajorRevision;\n};\n/* off 0x0000 */\tunsigned short\tAsUSHORT;\n};\nunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPlatformId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTimestamp:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPartitionId:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_TIMESTAMP /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSeconds:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tMinutes:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tHours:8\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tPrecise:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:7\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned __int64\tDay:8\t /* start bit 32 */;\n/* off 0x0000 */\tunsigned __int64\tMonth:8\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tYear:8\t /* start bit 48 */;\n/* off 0x0000 */\tunsigned __int64\tCentury:8\t /* start bit 56 */;\n};\n/* off 0x0000 */\tunion _LARGE_INTEGER\tAsLARGE_INTEGER;\n};\nunion _WHEA_ERROR_RECORD_HEADER_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tRecovered:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tPreviousError:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSimulated:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nunion _WHEA_PERSISTENCE_INFO /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tSignature:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tLength:24\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tIdentifier:16\t /* start bit 40 */;\n/* off 0x0000 */\tunsigned __int64\tAttributes:2\t /* start bit 56 */;\n/* off 0x0000 */\tunsigned __int64\tDoNotLog:1\t /* start bit 58 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:5\t /* start bit 59 */;\n};\n/* off 0x0000 */\tunsigned __int64\tAsULONGLONG;\n};\nstruct _WHEA_ERROR_RECORD_HEADER /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x0006 */\tunsigned long\tSignatureEnd;\n/* off 0x000a */\tunsigned short\tSectionCount;\n/* off 0x000c */\tenum _WHEA_ERROR_SEVERITY\tSeverity;\n/* off 0x0010 */\tunion _WHEA_ERROR_RECORD_HEADER_VALIDBITS\tValidBits;\n/* off 0x0014 */\tunsigned long\tLength;\n/* off 0x0018 */\tunion _WHEA_TIMESTAMP\tTimestamp;\n/* off 0x0020 */\tstruct _GUID\tPlatformId;\n/* off 0x0030 */\tstruct _GUID\tPartitionId;\n/* off 0x0040 */\tstruct _GUID\tCreatorId;\n/* off 0x0050 */\tstruct _GUID\tNotifyType;\n/* off 0x0060 */\tunsigned __int64\tRecordId;\n/* off 0x0068 */\tunion _WHEA_ERROR_RECORD_HEADER_FLAGS\tFlags;\n/* off 0x006c */\tunion _WHEA_PERSISTENCE_INFO\tPersistenceInfo;\n/* off 0x0074 */\tunsigned char Reserved[12];\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS /* sizeof 00000001 1 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned char\tFRUId:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tFRUText:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned char\tReserved:6\t /* start bit 2 */;\n};\n/* off 0x0000 */\tunsigned char\tAsUCHAR;\n};\nunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tPrimary:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tContainmentWarning:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tReset:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tThresholdExceeded:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tResourceNotAvailable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tLatentError:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tReserved:26\t /* start bit 6 */;\n};\n/* off 0x0000 */\tunsigned long\tAsULONG;\n};\nstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tSectionOffset;\n/* off 0x0004 */\tunsigned long\tSectionLength;\n/* off 0x0008 */\tunion _WHEA_REVISION\tRevision;\n/* off 0x000a */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_VALIDBITS\tValidBits;\n/* off 0x000b */\tunsigned char\tReserved;\n/* off 0x000c */\tunion _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR_FLAGS\tFlags;\n/* off 0x0010 */\tstruct _GUID\tSectionType;\n/* off 0x0020 */\tstruct _GUID\tFRUId;\n/* off 0x0030 */\tenum _WHEA_ERROR_SEVERITY\tSectionSeverity;\n/* off 0x0034 */\tchar FRUText[20];\n};\nstruct _WHEA_ERROR_RECORD /* sizeof 000000c8 200 */\n{\n/* off 0x0000 */\tstruct _WHEA_ERROR_RECORD_HEADER\tHeader;\n/* off 0x0080 */\tstruct _WHEA_ERROR_RECORD_SECTION_DESCRIPTOR SectionDescriptor[1];\n};\nstruct _FSRTL_ADVANCED_FCB_HEADER /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned char\tFlags;\n/* off 0x0005 */\tunsigned char\tIsFastIoPossible;\n/* off 0x0006 */\tunsigned char\tFlags2;\n/* off 0x0007 */\tunsigned char\tReserved:4\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tVersion:4\t /* start bit 4 */;\n/* off 0x0008 */\tstruct _ERESOURCE*\tResource;\n/* off 0x000c */\tstruct _ERESOURCE*\tPagingIoResource;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tstruct _FAST_MUTEX*\tFastMutex;\n/* off 0x002c */\tstruct _LIST_ENTRY\tFilterContexts;\n/* off 0x0034 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x0038 */\tvoid**\tFileContextSupportPointer;\n};\nstruct _iobuf /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tchar*\t_ptr;\n/* off 0x0004 */\tint\t_cnt;\n/* off 0x0008 */\tchar*\t_base;\n/* off 0x000c */\tint\t_flag;\n/* off 0x0010 */\tint\t_file;\n/* off 0x0014 */\tint\t_charbuf;\n/* off 0x0018 */\tint\t_bufsiz;\n/* off 0x001c */\tchar*\t_tmpfname;\n};\nstruct _MMPTE_HIGHLOW /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tLowPart;\n/* off 0x0004 */\tunsigned long\tHighPart;\n};\nstruct _MMPTE_HARDWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tDirty1:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tAccessed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tDirty:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tLargePage:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tGlobal:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tCopyOnWrite:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\treserved1:26\t /* start bit 38 */;\n};\nstruct _MMPTE_PROTOTYPE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:7\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tReadOnly:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:16\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tProtoAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_SOFTWARE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tInStore:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:19\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileHigh:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TIMESTAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tMustBeZero:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPageFileLow:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:20\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tGlobalTimeStamp:32\t /* start bit 32 */;\n};\nstruct _MMPTE_TRANSITION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tOwner:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tWriteThrough:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCacheDisable:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tTransition:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tPageFrameNumber:26\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tUnused:26\t /* start bit 38 */;\n};\nstruct _MMPTE_SUBSECTION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tUnused0:4\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tProtection:5\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tUnused1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tSubsectionAddress:32\t /* start bit 32 */;\n};\nstruct _MMPTE_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tValid:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tOneEntry:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tfiller0:8\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tPrototype:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tfiller1:21\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tNextEntry:32\t /* start bit 32 */;\n};\nstruct _MMPTE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned __int64\tLong;\n\t/* off 0x0000 */\tunsigned __int64\tVolatileLong;\n\t/* off 0x0000 */\tstruct _MMPTE_HIGHLOW\tHighLow;\n\t/* off 0x0000 */\tstruct _HARDWARE_PTE\tFlush;\n\t/* off 0x0000 */\tstruct _MMPTE_HARDWARE\tHard;\n\t/* off 0x0000 */\tstruct _MMPTE_PROTOTYPE\tProto;\n\t/* off 0x0000 */\tstruct _MMPTE_SOFTWARE\tSoft;\n\t/* off 0x0000 */\tstruct _MMPTE_TIMESTAMP\tTimeStamp;\n\t/* off 0x0000 */\tstruct _MMPTE_TRANSITION\tTrans;\n\t/* off 0x0000 */\tstruct _MMPTE_SUBSECTION\tSubsect;\n\t/* off 0x0000 */\tstruct _MMPTE_LIST\tList;\n\t}\tu;\n};\nstruct _I386_LOADER_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tCommonDataArea;\n/* off 0x0004 */\tunsigned long\tMachineType;\n/* off 0x0008 */\tunsigned long\tVirtualBias;\n};\nstruct _IA64_LOADER_BLOCK /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _EFI_FIRMWARE_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareVersion;\n/* off 0x0004 */\tstruct _VIRTUAL_EFI_RUNTIME_SERVICES*\tVirtualEfiRuntimeServices;\n/* off 0x0008 */\tlong\tSetVirtualAddressMapStatus;\n/* off 0x000c */\tunsigned long\tMissedMappingsCount;\n};\nstruct _PCAT_FIRMWARE_INFORMATION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPlaceHolder;\n};\nstruct _FIRMWARE_INFORMATION_LOADER_BLOCK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tFirmwareTypeEfi:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReserved:31\t /* start bit 1 */;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _EFI_FIRMWARE_INFORMATION\tEfiInformation;\n\t/* off 0x0000 */\tstruct _PCAT_FIRMWARE_INFORMATION\tPcatInformation;\n\t}\tu;\n};\nstruct _LOADER_PARAMETER_BLOCK /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tOsMajorVersion;\n/* off 0x0004 */\tunsigned long\tOsMinorVersion;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLoadOrderListHead;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tMemoryDescriptorListHead;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tBootDriverListHead;\n/* off 0x0028 */\tunsigned long\tKernelStack;\n/* off 0x002c */\tunsigned long\tPrcb;\n/* off 0x0030 */\tunsigned long\tProcess;\n/* off 0x0034 */\tunsigned long\tThread;\n/* off 0x0038 */\tunsigned long\tRegistryLength;\n/* off 0x003c */\tvoid*\tRegistryBase;\n/* off 0x0040 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tConfigurationRoot;\n/* off 0x0044 */\tchar*\tArcBootDeviceName;\n/* off 0x0048 */\tchar*\tArcHalDeviceName;\n/* off 0x004c */\tchar*\tNtBootPathName;\n/* off 0x0050 */\tchar*\tNtHalPathName;\n/* off 0x0054 */\tchar*\tLoadOptions;\n/* off 0x0058 */\tstruct _NLS_DATA_BLOCK*\tNlsData;\n/* off 0x005c */\tstruct _ARC_DISK_INFORMATION*\tArcDiskInformation;\n/* off 0x0060 */\tvoid*\tOemFontFile;\n/* off 0x0064 */\tstruct _LOADER_PARAMETER_EXTENSION*\tExtension;\n/* off 0x0068 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _I386_LOADER_BLOCK\tI386;\n\t/* off 0x0000 */\tstruct _IA64_LOADER_BLOCK\tIa64;\n\t}\tu;\n/* off 0x0074 */\tstruct _FIRMWARE_INFORMATION_LOADER_BLOCK\tFirmwareInformation;\n};\nstruct _DEVICE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tFailed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tRemovable:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tConsoleIn:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tConsoleOut:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tInput:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tOutput:1\t /* start bit 6 */;\n};\nstruct _CONFIGURATION_COMPONENT /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _CONFIGURATION_CLASS\tClass;\n/* off 0x0004 */\tenum _CONFIGURATION_TYPE\tType;\n/* off 0x0008 */\tstruct _DEVICE_FLAGS\tFlags;\n/* off 0x000c */\tunsigned short\tVersion;\n/* off 0x000e */\tunsigned short\tRevision;\n/* off 0x0010 */\tunsigned long\tKey;\nunion\n{\n/* off 0x0014 */\tunsigned long\tAffinityMask;\nstruct\n{\n/* off 0x0014 */\tunsigned short\tGroup;\n/* off 0x0016 */\tunsigned short\tGroupIndex;\n};\n};\n/* off 0x0018 */\tunsigned long\tConfigurationDataLength;\n/* off 0x001c */\tunsigned long\tIdentifierLength;\n/* off 0x0020 */\tchar*\tIdentifier;\n};\nstruct _CONFIGURATION_COMPONENT_DATA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tParent;\n/* off 0x0004 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tChild;\n/* off 0x0008 */\tstruct _CONFIGURATION_COMPONENT_DATA*\tSibling;\n/* off 0x000c */\tstruct _CONFIGURATION_COMPONENT\tComponentEntry;\n/* off 0x0030 */\tvoid*\tConfigurationData;\n};\nenum _CONFIGURATION_CLASS\n{\n\tSystemClass\t=0x00000000\t,//0\n\tProcessorClass\t=0x00000001\t,//0\n\tCacheClass\t=0x00000002\t,//0\n\tAdapterClass\t=0x00000003\t,//0\n\tControllerClass\t=0x00000004\t,//0\n\tPeripheralClass\t=0x00000005\t,//0\n\tMemoryClass\t=0x00000006\t,//0\n\tMaximumClass\t=0x00000007\t,//0\n};\nenum _CONFIGURATION_TYPE\n{\n\tArcSystem\t=0x00000000\t,//0\n\tCentralProcessor\t=0x00000001\t,//0\n\tFloatingPointProcessor\t=0x00000002\t,//0\n\tPrimaryIcache\t=0x00000003\t,//0\n\tPrimaryDcache\t=0x00000004\t,//0\n\tSecondaryIcache\t=0x00000005\t,//0\n\tSecondaryDcache\t=0x00000006\t,//0\n\tSecondaryCache\t=0x00000007\t,//0\n\tEisaAdapter\t=0x00000008\t,//0\n\tTcAdapter\t=0x00000009\t,//0\n\tScsiAdapter\t=0x0000000a\t,//0\n\tDtiAdapter\t=0x0000000b\t,//0\n\tMultiFunctionAdapter\t=0x0000000c\t,//0\n\tDiskController\t=0x0000000d\t,//0\n\tTapeController\t=0x0000000e\t,//0\n\tCdromController\t=0x0000000f\t,//0\n\tWormController\t=0x00000010\t,//0\n\tSerialController\t=0x00000011\t,//0\n\tNetworkController\t=0x00000012\t,//0\n\tDisplayController\t=0x00000013\t,//0\n\tParallelController\t=0x00000014\t,//0\n\tPointerController\t=0x00000015\t,//0\n\tKeyboardController\t=0x00000016\t,//0\n\tAudioController\t=0x00000017\t,//0\n\tOtherController\t=0x00000018\t,//0\n\tDiskPeripheral\t=0x00000019\t,//0\n\tFloppyDiskPeripheral\t=0x0000001a\t,//0\n\tTapePeripheral\t=0x0000001b\t,//0\n\tModemPeripheral\t=0x0000001c\t,//0\n\tMonitorPeripheral\t=0x0000001d\t,//0\n\tPrinterPeripheral\t=0x0000001e\t,//0\n\tPointerPeripheral\t=0x0000001f\t,//0\n\tKeyboardPeripheral\t=0x00000020\t,//0\n\tTerminalPeripheral\t=0x00000021\t,//0\n\tOtherPeripheral\t=0x00000022\t,//0\n\tLinePeripheral\t=0x00000023\t,//0\n\tNetworkPeripheral\t=0x00000024\t,//0\n\tSystemMemory\t=0x00000025\t,//0\n\tDockingInformation\t=0x00000026\t,//0\n\tRealModeIrqRoutingTable\t=0x00000027\t,//0\n\tRealModePCIEnumeration\t=0x00000028\t,//0\n\tMaximumType\t=0x00000029\t,//0\n};\nstruct _NLS_DATA_BLOCK /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tAnsiCodePageData;\n/* off 0x0004 */\tvoid*\tOemCodePageData;\n/* off 0x0008 */\tvoid*\tUnicodeCaseTableData;\n};\nstruct _ARC_DISK_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDiskSignatures;\n};\nstruct _PROFILE_PARAMETER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tStatus;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned short\tDockingState;\n/* off 0x0006 */\tunsigned short\tCapabilities;\n/* off 0x0008 */\tunsigned long\tDockID;\n/* off 0x000c */\tunsigned long\tSerialNumber;\n};\nstruct _TPM_BOOT_ENTROPY_LDR_RESULT /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned __int64\tPolicy;\n/* off 0x0008 */\tenum _TPM_BOOT_ENTROPY_RESULT_CODE\tResultCode;\n/* off 0x000c */\tlong\tResultStatus;\n/* off 0x0010 */\tunsigned __int64\tTime;\n/* off 0x0018 */\tunsigned long\tEntropyLength;\n/* off 0x001c */\tunsigned char EntropyData[40];\n};\nstruct _LOADER_PARAMETER_EXTENSION /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tstruct _PROFILE_PARAMETER_BLOCK\tProfile;\n/* off 0x0014 */\tvoid*\tEmInfFileImage;\n/* off 0x0018 */\tunsigned long\tEmInfFileSize;\n/* off 0x001c */\tvoid*\tTriageDumpBlock;\n/* off 0x0020 */\tunsigned long\tLoaderPagesSpanned;\n/* off 0x0024 */\tstruct _HEADLESS_LOADER_BLOCK*\tHeadlessLoaderBlock;\n/* off 0x0028 */\tstruct _SMBIOS_TABLE_HEADER*\tSMBiosEPSHeader;\n/* off 0x002c */\tvoid*\tDrvDBImage;\n/* off 0x0030 */\tunsigned long\tDrvDBSize;\n/* off 0x0034 */\tstruct _NETWORK_LOADER_BLOCK*\tNetworkLoaderBlock;\n/* off 0x0038 */\tunsigned char*\tHalpIRQLToTPR;\n/* off 0x003c */\tunsigned char*\tHalpVectorToIRQL;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFirmwareDescriptorListHead;\n/* off 0x0048 */\tvoid*\tAcpiTable;\n/* off 0x004c */\tunsigned long\tAcpiTableSize;\n/* off 0x0050 */\tunsigned long\tLastBootSucceeded:1\t /* start bit 0 */;\n/* off 0x0050 */\tunsigned long\tLastBootShutdown:1\t /* start bit 1 */;\n/* off 0x0050 */\tunsigned long\tIoPortAccessSupported:1\t /* start bit 2 */;\n/* off 0x0050 */\tunsigned long\tReserved:29\t /* start bit 3 */;\n/* off 0x0054 */\tstruct _LOADER_PERFORMANCE_DATA*\tLoaderPerformanceData;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tBootApplicationPersistentData;\n/* off 0x0060 */\tvoid*\tWmdTestResult;\n/* off 0x0064 */\tstruct _GUID\tBootIdentifier;\n/* off 0x0074 */\tunsigned long\tResumePages;\n/* off 0x0078 */\tvoid*\tDumpHeader;\n/* off 0x007c */\tvoid*\tBgContext;\n/* off 0x0080 */\tvoid*\tNumaLocalityInfo;\n/* off 0x0084 */\tvoid*\tNumaGroupAssignment;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tAttachedHives;\n/* off 0x0090 */\tunsigned long\tMemoryCachingRequirementsCount;\n/* off 0x0094 */\tvoid*\tMemoryCachingRequirements;\n/* off 0x0098 */\tstruct _TPM_BOOT_ENTROPY_LDR_RESULT\tTpmBootEntropyResult;\n/* off 0x00e0 */\tunsigned __int64\tProcessorCounterFrequency;\n};\nstruct _HEADLESS_LOADER_BLOCK /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned char\tUsedBiosSettings;\n/* off 0x0001 */\tunsigned char\tDataBits;\n/* off 0x0002 */\tunsigned char\tStopBits;\n/* off 0x0003 */\tunsigned char\tParity;\n/* off 0x0004 */\tunsigned long\tBaudRate;\n/* off 0x0008 */\tunsigned long\tPortNumber;\n/* off 0x000c */\tunsigned char*\tPortAddress;\n/* off 0x0010 */\tunsigned short\tPciDeviceId;\n/* off 0x0012 */\tunsigned short\tPciVendorId;\n/* off 0x0014 */\tunsigned char\tPciBusNumber;\n/* off 0x0016 */\tunsigned short\tPciBusSegment;\n/* off 0x0018 */\tunsigned char\tPciSlotNumber;\n/* off 0x0019 */\tunsigned char\tPciFunctionNumber;\n/* off 0x001c */\tunsigned long\tPciFlags;\n/* off 0x0020 */\tstruct _GUID\tSystemGUID;\n/* off 0x0030 */\tunsigned char\tIsMMIODevice;\n/* off 0x0031 */\tunsigned char\tTerminalType;\n};\nstruct _SMBIOS_TABLE_HEADER /* sizeof 00000000 0 */\n{\n};\nstruct _NETWORK_LOADER_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char*\tDHCPServerACK;\n/* off 0x0004 */\tunsigned long\tDHCPServerACKLength;\n/* off 0x0008 */\tunsigned char*\tBootServerReplyPacket;\n/* off 0x000c */\tunsigned long\tBootServerReplyPacketLength;\n};\nstruct _LOADER_PERFORMANCE_DATA /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartTime;\n/* off 0x0008 */\tunsigned __int64\tEndTime;\n};\nenum _TPM_BOOT_ENTROPY_RESULT_CODE\n{\n\tTpmBootEntropyStructureUninitialized\t=0x00000000\t,//0\n\tTpmBootEntropyDisabledByPolicy\t=0x00000001\t,//0\n\tTpmBootEntropyNoTpmFound\t=0x00000002\t,//0\n\tTpmBootEntropyTpmError\t=0x00000003\t,//0\n\tTpmBootEntropySuccess\t=0x00000004\t,//0\n};\nstruct _VIRTUAL_EFI_RUNTIME_SERVICES /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tGetTime;\n/* off 0x0004 */\tunsigned long\tSetTime;\n/* off 0x0008 */\tunsigned long\tGetWakeupTime;\n/* off 0x000c */\tunsigned long\tSetWakeupTime;\n/* off 0x0010 */\tunsigned long\tSetVirtualAddressMap;\n/* off 0x0014 */\tunsigned long\tConvertPointer;\n/* off 0x0018 */\tunsigned long\tGetVariable;\n/* off 0x001c */\tunsigned long\tGetNextVariableName;\n/* off 0x0020 */\tunsigned long\tSetVariable;\n/* off 0x0024 */\tunsigned long\tGetNextHighMonotonicCount;\n/* off 0x0028 */\tunsigned long\tResetSystem;\n/* off 0x002c */\tunsigned long\tUpdateCapsule;\n/* off 0x0030 */\tunsigned long\tQueryCapsuleCapabilities;\n/* off 0x0034 */\tunsigned long\tQueryVariableInfo;\n};\nstruct _KLOCK_QUEUE_HANDLE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KSPIN_LOCK_QUEUE\tLockQueue;\n/* off 0x0008 */\tunsigned char\tOldIrql;\n};\nstruct _MMPFNLIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tTotal;\n/* off 0x0004 */\tenum _MMLISTS\tListName;\n/* off 0x0008 */\tunsigned long\tFlink;\n/* off 0x000c */\tunsigned long\tBlink;\n/* off 0x0010 */\tunsigned long\tLock;\n};\nenum _MMLISTS\n{\n\tZeroedPageList\t=0x00000000\t,//0\n\tFreePageList\t=0x00000001\t,//0\n\tStandbyPageList\t=0x00000002\t,//0\n\tModifiedPageList\t=0x00000003\t,//0\n\tModifiedNoWritePageList\t=0x00000004\t,//0\n\tBadPageList\t=0x00000005\t,//0\n\tActiveAndValid\t=0x00000006\t,//0\n\tTransitionPage\t=0x00000007\t,//0\n};\nenum _MEMORY_CACHING_TYPE\n{\n\tMmNonCached\t=0x00000000\t,//0\n\tMmCached\t=0x00000001\t,//0\n\tMmWriteCombined\t=0x00000002\t,//0\n\tMmHardwareCoherentCached\t=0x00000003\t,//0\n\tMmNonCachedUnordered\t=0x00000004\t,//0\n\tMmUSWCCached\t=0x00000005\t,//0\n\tMmMaximumCacheType\t=0x00000006\t,//0\n};\nenum _MI_PFN_CACHE_ATTRIBUTE\n{\n\tMiNonCached\t=0x00000000\t,//0\n\tMiCached\t=0x00000001\t,//0\n\tMiWriteCombined\t=0x00000002\t,//0\n\tMiNotMapped\t=0x00000003\t,//0\n};\nstruct _MMPFNENTRY /* sizeof 00000002 2 */\n{\n/* off 0x0000 */\tunsigned char\tPageLocation:3\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned char\tWriteInProgress:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned char\tModified:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned char\tReadInProgress:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned char\tCacheAttribute:2\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tPriority:3\t /* start bit 0 */;\n/* off 0x0001 */\tunsigned char\tRom:1\t /* start bit 3 */;\n/* off 0x0001 */\tunsigned char\tInPageError:1\t /* start bit 4 */;\n/* off 0x0001 */\tunsigned char\tKernelStack:1\t /* start bit 5 */;\n/* off 0x0001 */\tunsigned char\tRemovalRequested:1\t /* start bit 6 */;\n/* off 0x0001 */\tunsigned char\tParityError:1\t /* start bit 7 */;\n};\nstruct _MMPFN /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFlink;\n\t/* off 0x0000 */\tunsigned long\tWsIndex;\n\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t/* off 0x0000 */\tvoid*\tNext;\n\t/* off 0x0000 */\tvoid*\tVolatileNext;\n\t/* off 0x0000 */\tstruct _KTHREAD*\tKernelStackOwner;\n\t/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tNextStackPfn;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tBlink;\n\t/* off 0x0000 */\tstruct _MMPTE*\tImageProtoPte;\n\t/* off 0x0000 */\tunsigned long\tShareCount;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _MMPTE*\tPteAddress;\n/* off 0x0008 */\tvoid*\tVolatilePteAddress;\n/* off 0x0008 */\tlong\tLock;\n/* off 0x0008 */\tunsigned long\tPteLong;\n};\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t/* off 0x0002 */\tstruct _MMPFNENTRY\te1;\n\t};\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned short\tReferenceCount;\n\t\t/* off 0x0000 */\tshort\tVolatileReferenceCount;\n\t\t};\n\t\t/* off 0x0002 */\tunsigned short\tShortFlags;\n\t\t}\te2;\n\t}\tu3;\nunion\n{\n/* off 0x0010 */\tstruct _MMPTE\tOriginalPte;\n/* off 0x0010 */\tlong\tAweReferenceCount;\n};\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPteFrame:25\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tPfnImageVerified:1\t /* start bit 25 */;\n\t/* off 0x0000 */\tunsigned long\tAweAllocation:1\t /* start bit 26 */;\n\t/* off 0x0000 */\tunsigned long\tPrototypePte:1\t /* start bit 27 */;\n\t/* off 0x0000 */\tunsigned long\tPageColor:4\t /* start bit 28 */;\n\t}\tu4;\n};\nenum _MI_DYNAMIC_MEMORY_LOCKTYPE\n{\n\tAlreadyHeld\t=0x00000000\t,//0\n\tAcquiredShared\t=0x00000001\t,//0\n\tUseSpinLock\t=0x00000002\t,//0\n\tUseSpinLockRaiseIrql\t=0x00000003\t,//0\n};\nstruct _MI_COLOR_BASE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short*\tColorPointer;\n/* off 0x0004 */\tunsigned short\tColorMask;\n/* off 0x0006 */\tunsigned short\tColorNode;\n};\nstruct _MMSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tBeingDeleted:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tBeingCreated:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned int\tBeingPurged:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned int\tNoModifiedWriting:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned int\tFailAllIo:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned int\tImage:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned int\tBased:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned int\tFile:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned int\tNetworked:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned int\tRom:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned int\tPhysicalMemory:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned int\tReserve:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned int\tCommit:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned int\tAccessed:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned int\tWasPurged:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned int\tUserReference:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned int\tGlobalMemory:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned int\tDeleteOnClose:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned int\tFilePointerNull:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned int\tGlobalOnlyPerSession:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned int\tSetMappedFileIoComplete:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned int\tCollidedFlush:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned int\tNoChange:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tUserWritable:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tPreferredNode:6\t /* start bit 26 */;\n};\nstruct _CONTROL_AREA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _SEGMENT*\tSegment;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x000c */\tunsigned long\tNumberOfSectionReferences;\n/* off 0x0010 */\tunsigned long\tNumberOfPfnReferences;\n/* off 0x0014 */\tunsigned long\tNumberOfMappedViews;\n/* off 0x0018 */\tunsigned long\tNumberOfUserReferences;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSECTION_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0020 */\tunsigned long\tFlushInProgressCount;\n/* off 0x0024 */\tstruct _EX_FAST_REF\tFilePointer;\n/* off 0x0028 */\tlong\tControlAreaLock;\nunion\n{\n/* off 0x002c */\tunsigned long\tModifiedWriteCount;\n/* off 0x002c */\tunsigned long\tStartingFrame;\n};\n/* off 0x0030 */\tstruct _MI_SECTION_CREATION_GATE*\tWaitingForDeletion;\n/* off 0x0034 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 0000000c 12 */\n\t\t{\n\t\tunion\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNumberOfSystemCacheViews;\n\t\t/* off 0x0000 */\tunsigned long\tImageRelocationStartBit;\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0004 */\tlong\tWritableUserReferences;\n\t\tstruct\n\t\t{\n\t\t/* off 0x0004 */\tunsigned long\tImageRelocationSizeIn64k:16\t /* start bit 0 */;\n\t\t/* off 0x0004 */\tunsigned long\tUnused:14\t /* start bit 16 */;\n\t\t/* off 0x0004 */\tunsigned long\tBitMap64:1\t /* start bit 30 */;\n\t\t/* off 0x0004 */\tunsigned long\tImageActive:1\t /* start bit 31 */;\n\t\t};\n\t\t};\n\t\tunion\n\t\t{\n\t\t/* off 0x0008 */\tstruct _MM_SUBSECTION_AVL_TABLE*\tSubsectionRoot;\n\t\t/* off 0x0008 */\tstruct _MI_IMAGE_SECURITY_REFERENCE*\tSeImageStub;\n\t\t};\n\t\t}\te2;\n\t}\tu2;\n/* off 0x0040 */\t__int64\tLockedPages;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tViewList;\n};\nstruct _SEGMENT_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tTotalNumberOfPtes4132:10\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tExtraSharedWowSubsections:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned long\tLargePages:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned long\tWatchProto:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned long\tDebugSymbolsLoaded:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned long\tWriteCombined:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned long\tNoCache:1\t /* start bit 15 */;\n/* off 0x0000 */\tunsigned long\tFloppyMedia:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tDefaultProtectionMask:5\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tBinary32:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned long\tContainsDebug:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tSpare:8\t /* start bit 24 */;\n};\nstruct _SEGMENT /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tImageCommitment;\n\t/* off 0x0000 */\tstruct _EPROCESS*\tCreatingProcess;\n\t}\tu1;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MI_SECTION_IMAGE_INFORMATION*\tImageInformation;\n\t/* off 0x0000 */\tvoid*\tFirstMappedVa;\n\t}\tu2;\n/* off 0x0028 */\tstruct _MMPTE*\tPrototypePte;\n/* off 0x0030 */\tstruct _MMPTE ThePtes[1];\n};\nstruct _MMEXTEND_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCommittedSize;\n/* off 0x0008 */\tunsigned long\tReferenceCount;\n};\nstruct _SECTION_IMAGE_INFORMATION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tvoid*\tTransferAddress;\n/* off 0x0004 */\tunsigned long\tZeroBits;\n/* off 0x0008 */\tunsigned long\tMaximumStackSize;\n/* off 0x000c */\tunsigned long\tCommittedStackSize;\n/* off 0x0010 */\tunsigned long\tSubSystemType;\nunion\n{\nstruct\n{\n/* off 0x0014 */\tunsigned short\tSubSystemMinorVersion;\n/* off 0x0016 */\tunsigned short\tSubSystemMajorVersion;\n};\nstruct\n{\n/* off 0x0014 */\tunsigned long\tSubSystemVersion;\n};\n};\n/* off 0x0018 */\tunsigned long\tGpValue;\n/* off 0x001c */\tunsigned short\tImageCharacteristics;\n/* off 0x001e */\tunsigned short\tDllCharacteristics;\n/* off 0x0020 */\tunsigned short\tMachine;\n/* off 0x0022 */\tunsigned char\tImageContainsCode;\nunion\n{\n/* off 0x0023 */\tunsigned char\tImageFlags;\nstruct\n{\n/* off 0x0023 */\tunsigned char\tComPlusNativeReady:1\t /* start bit 0 */;\n/* off 0x0023 */\tunsigned char\tComPlusILOnly:1\t /* start bit 1 */;\n/* off 0x0023 */\tunsigned char\tImageDynamicallyRelocated:1\t /* start bit 2 */;\n/* off 0x0023 */\tunsigned char\tImageMappedFlat:1\t /* start bit 3 */;\n/* off 0x0023 */\tunsigned char\tReserved:4\t /* start bit 4 */;\n};\n};\n/* off 0x0024 */\tunsigned long\tLoaderFlags;\n/* off 0x0028 */\tunsigned long\tImageFileSize;\n/* off 0x002c */\tunsigned long\tCheckSum;\n};\nstruct _MI_EXTRA_IMAGE_INFORMATION /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfHeaders;\n/* off 0x0004 */\tunsigned long\tSizeOfImage;\n};\nstruct _MI_SECTION_IMAGE_INFORMATION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _SECTION_IMAGE_INFORMATION\tExportedImageInformation;\n/* off 0x0030 */\tstruct _MI_EXTRA_IMAGE_INFORMATION\tInternalImageInformation;\n};\nstruct _MI_SECTION_CREATION_GATE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _MI_SECTION_CREATION_GATE*\tNext;\n/* off 0x0004 */\tstruct _KGATE\tGate;\n};\nstruct _MMSUBSECTION_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSubsectionAccessed:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned short\tProtection:5\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned short\tStartingSector4132:10\t /* start bit 6 */;\n/* off 0x0002 */\tunsigned short\tSubsectionStatic:1\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tGlobalMemory:1\t /* start bit 1 */;\n/* off 0x0002 */\tunsigned short\tDirtyPages:1\t /* start bit 2 */;\n/* off 0x0002 */\tunsigned short\tSpare:1\t /* start bit 3 */;\n/* off 0x0002 */\tunsigned short\tSectorEndOffset:12\t /* start bit 4 */;\n};\nstruct _MMSUBSECTION_NODE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0004 */\tunsigned long\tStartingSector;\n/* off 0x0008 */\tunsigned long\tNumberOfFullSectors;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0010 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0014 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n};\nstruct _MM_SUBSECTION_AVL_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _MMSUBSECTION_NODE\tBalancedRoot;\n/* off 0x0018 */\tunsigned long\tDepthOfTree:5\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tUnused:3\t /* start bit 5 */;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements:24\t /* start bit 8 */;\n/* off 0x001c */\tvoid*\tNodeHint;\n};\nstruct _IMAGE_SECURITY_CONTEXT /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tvoid*\tPageHashes;\n/* off 0x0000 */\tunsigned long\tValue;\nstruct\n{\n/* off 0x0000 */\tunsigned long\tSecurityBeingCreated:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tSecurityMandatory:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tUnused:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tPageHashPointer:29\t /* start bit 3 */;\n};\n};\n};\nstruct _MI_IMAGE_SECURITY_REFERENCE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _IMAGE_SECURITY_CONTEXT\tSecurityContext;\n/* off 0x0004 */\tvoid*\tDynamicRelocations;\n/* off 0x0008 */\tlong\tReferenceCount;\n};\nunion _MM_STORE_KEY /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tKeyLow:28\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tKeyHigh:4\t /* start bit 28 */;\n};\n/* off 0x0000 */\tunsigned long\tEntireKey;\n};\nenum _MI_STORE_BIT_TYPE\n{\n\tMiStoreBitTypeInStore\t=0x00000000\t,//0\n\tMiStoreBitTypeEvicted\t=0x00000001\t,//0\n\tMiStoreBitTypeMax\t=0x00000002\t,//0\n};\nstruct _MMPAGING_FILE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tunsigned long\tMaximumSize;\n/* off 0x0008 */\tunsigned long\tMinimumSize;\n/* off 0x000c */\tunsigned long\tFreeSpace;\n/* off 0x0010 */\tunsigned long\tPeakUsage;\n/* off 0x0014 */\tunsigned long\tHighestPage;\n/* off 0x0018 */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x001c */\tstruct _MMMOD_WRITER_MDL_ENTRY* Entry[2];\n/* off 0x0024 */\tstruct _UNICODE_STRING\tPageFileName;\n/* off 0x002c */\tstruct _RTL_BITMAP*\tBitmap;\n/* off 0x0030 */\tstruct _RTL_BITMAP*\tEvictStoreBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapHint;\n/* off 0x0038 */\tunsigned long\tLastAllocationSize;\n/* off 0x003c */\tunsigned long\tToBeEvictedCount;\n/* off 0x0040 */\tunsigned short\tPageFileNumber:4\t /* start bit 0 */;\n/* off 0x0040 */\tunsigned short\tBootPartition:1\t /* start bit 4 */;\n/* off 0x0040 */\tunsigned short\tSpare0:11\t /* start bit 5 */;\n/* off 0x0042 */\tunsigned short\tAdriftMdls:1\t /* start bit 0 */;\n/* off 0x0042 */\tunsigned short\tSpare1:15\t /* start bit 1 */;\n/* off 0x0044 */\tvoid*\tFileHandle;\n/* off 0x0048 */\tunsigned long\tLock;\n/* off 0x004c */\tstruct _ETHREAD*\tLockOwner;\n};\nstruct _MMMOD_WRITER_MDL_ENTRY /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _IO_STATUS_BLOCK\tIoStatus;\n\t}\tu;\n/* off 0x0010 */\tstruct _IRP*\tIrp;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tKeepForever;\n\t}\tu1;\n/* off 0x0018 */\tstruct _MMPAGING_FILE*\tPagingFile;\n/* off 0x001c */\tstruct _FILE_OBJECT*\tFile;\n/* off 0x0020 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0024 */\tstruct _ERESOURCE*\tFileResource;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tWriteOffset;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tIssueTime;\n/* off 0x0038 */\tstruct _MDL*\tPointerMdl;\n/* off 0x003c */\tstruct _MDL\tMdl;\n/* off 0x0058 */\tunsigned long Page[1];\n};\nstruct _RTL_BITMAP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tSizeOfBitMap;\n/* off 0x0004 */\tunsigned long*\tBuffer;\n};\nstruct _MMVAD_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tCommitCharge:19\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoChange:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned long\tVadType:3\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned long\tMemCommit:1\t /* start bit 23 */;\n/* off 0x0000 */\tunsigned long\tProtection:5\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned long\tSpare:2\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned long\tPrivateMemory:1\t /* start bit 31 */;\n};\nstruct _MMVAD_FLAGS3 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPreferredNode:6\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tTeb:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tSpare:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned long\tSequentialAccess:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned long\tLastSequentialTrim:15\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned long\tSpare2:8\t /* start bit 24 */;\n};\nstruct _MMVAD_SHORT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n};\nstruct _MMVAD_FLAGS2 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned int\tFileOffset:24\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned int\tSecNoChange:1\t /* start bit 24 */;\n/* off 0x0000 */\tunsigned int\tOneSecured:1\t /* start bit 25 */;\n/* off 0x0000 */\tunsigned int\tMultipleSecured:1\t /* start bit 26 */;\n/* off 0x0000 */\tunsigned int\tSpare:1\t /* start bit 27 */;\n/* off 0x0000 */\tunsigned int\tLongVad:1\t /* start bit 28 */;\n/* off 0x0000 */\tunsigned int\tExtendableFile:1\t /* start bit 29 */;\n/* off 0x0000 */\tunsigned int\tInherit:1\t /* start bit 30 */;\n/* off 0x0000 */\tunsigned int\tCopyOnWrite:1\t /* start bit 31 */;\n};\nstruct _MMVAD /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\nunion\n{\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0024 */\tstruct _MSUBSECTION*\tMappedSubsection;\n};\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n};\nstruct _SUBSECTION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n};\nstruct _MSUBSECTION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tstruct _MMPTE*\tSubsectionBase;\nunion\n{\n/* off 0x0008 */\tstruct _SUBSECTION*\tNextSubsection;\n/* off 0x0008 */\tstruct _MSUBSECTION*\tNextMappedSubsection;\n};\n/* off 0x000c */\tunsigned long\tPtesInSubsection;\nunion\n{\n/* off 0x0010 */\tunsigned long\tUnusedPtes;\n/* off 0x0010 */\tstruct _MM_AVL_TABLE*\tGlobalPerSessionHead;\n};\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_FLAGS\tSubsectionFlags;\n\t}\tu;\n/* off 0x0018 */\tunsigned long\tStartingSector;\n/* off 0x001c */\tunsigned long\tNumberOfFullSectors;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMSUBSECTION_NODE*\tParent;\n\t}\tu1;\n/* off 0x0024 */\tstruct _MMSUBSECTION_NODE*\tLeftChild;\n/* off 0x0028 */\tstruct _MMSUBSECTION_NODE*\tRightChild;\n/* off 0x002c */\tstruct _LIST_ENTRY\tDereferenceList;\n/* off 0x0034 */\tunsigned long\tNumberOfMappedViews;\n};\nstruct _MI_PAGEFILE_TRACES /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tunsigned char\tPriority;\n/* off 0x0005 */\tunsigned char\tIrpPriority;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tCurrentTime;\n/* off 0x0010 */\tunsigned long\tAvailablePages;\n/* off 0x0014 */\tunsigned long\tModifiedPagesTotal;\n/* off 0x0018 */\tunsigned long\tModifiedPagefilePages;\n/* off 0x001c */\tunsigned long\tModifiedNoWritePages;\n/* off 0x0020 */\t\n\tstruct  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\tstruct _MDL\tMdl;\n\t/* off 0x001c */\tunsigned long Page[1];\n\t}\tMdlHack;\n};\nenum _IO_PAGING_PRIORITY\n{\n\tIoPagingPriorityInvalid\t=0x00000000\t,//0\n\tIoPagingPriorityNormal\t=0x00000001\t,//0\n\tIoPagingPriorityHigh\t=0x00000002\t,//0\n\tIoPagingPriorityReserved1\t=0x00000003\t,//0\n\tIoPagingPriorityReserved2\t=0x00000004\t,//0\n};\nstruct _FREE_DISPLAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tRealVectorSize;\n/* off 0x0004 */\tstruct _RTL_BITMAP\tDisplay;\n};\nstruct _DUAL /* sizeof 0000013c 316 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tstruct _HMAP_DIRECTORY*\tMap;\n/* off 0x0008 */\tstruct _HMAP_TABLE*\tSmallDir;\n/* off 0x000c */\tunsigned long\tGuard;\n/* off 0x0010 */\tstruct _FREE_DISPLAY FreeDisplay[24];\n/* off 0x0130 */\tunsigned long\tFreeSummary;\n/* off 0x0134 */\tstruct _LIST_ENTRY\tFreeBins;\n};\nstruct _HHIVE /* sizeof 000002ec 748 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _CELL_DATA*( __stdcall *GetCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x0008 */\tvoid( __stdcall *ReleaseCellRoutine)(struct _HHIVE*,unsigned long);\n/* off 0x000c */\tvoid*( __stdcall *Allocate)(unsigned long,unsigned char,unsigned long);\n/* off 0x0010 */\tvoid( __stdcall *Free)(void*,unsigned long);\n/* off 0x0014 */\tunsigned char( __stdcall *FileSetSize)(struct _HHIVE*,unsigned long,unsigned long,unsigned long);\n/* off 0x0018 */\tunsigned char( __stdcall *FileWrite)(struct _HHIVE*,unsigned long,struct CMP_OFFSET_ARRAY*,unsigned long,unsigned long*);\n/* off 0x001c */\tunsigned char( __stdcall *FileRead)(struct _HHIVE*,unsigned long,unsigned long*,void*,unsigned long);\n/* off 0x0020 */\tunsigned char( __stdcall *FileFlush)(struct _HHIVE*,unsigned long,union _LARGE_INTEGER*,unsigned long);\n/* off 0x0024 */\tvoid*\tHiveLoadFailure;\n/* off 0x0028 */\tstruct _HBASE_BLOCK*\tBaseBlock;\n/* off 0x002c */\tstruct _RTL_BITMAP\tDirtyVector;\n/* off 0x0034 */\tunsigned long\tDirtyCount;\n/* off 0x0038 */\tunsigned long\tDirtyAlloc;\n/* off 0x003c */\tunsigned long\tBaseBlockAlloc;\n/* off 0x0040 */\tunsigned long\tCluster;\n/* off 0x0044 */\tunsigned char\tFlat;\n/* off 0x0045 */\tunsigned char\tReadOnly;\n/* off 0x0046 */\tunsigned char\tDirtyFlag;\n/* off 0x0048 */\tunsigned long\tHvBinHeadersUse;\n/* off 0x004c */\tunsigned long\tHvFreeCellsUse;\n/* off 0x0050 */\tunsigned long\tHvUsedCellsUse;\n/* off 0x0054 */\tunsigned long\tCmUsedCellsUse;\n/* off 0x0058 */\tunsigned long\tHiveFlags;\n/* off 0x005c */\tunsigned long\tCurrentLog;\n/* off 0x0060 */\tunsigned long LogSize[2];\n/* off 0x0068 */\tunsigned long\tRefreshCount;\n/* off 0x006c */\tunsigned long\tStorageTypeCount;\n/* off 0x0070 */\tunsigned long\tVersion;\n/* off 0x0074 */\tstruct _DUAL Storage[2];\n};\nstruct _CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nstruct _CM_KEY_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tKeyCell;\n/* off 0x0004 */\tstruct _HHIVE*\tKeyHive;\n};\nstruct _CM_KEY_NODE /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x000c */\tunsigned long\tSpare;\n/* off 0x0010 */\tunsigned long\tParent;\n/* off 0x0014 */\tunsigned long SubKeyCounts[2];\nunion\n{\nstruct\n{\n/* off 0x001c */\tunsigned long SubKeyLists[2];\n/* off 0x0024 */\tstruct _CHILD_LIST\tValueList;\n};\nstruct\n{\n/* off 0x001c */\tstruct _CM_KEY_REFERENCE\tChildHiveReference;\n};\n};\n/* off 0x002c */\tunsigned long\tSecurity;\n/* off 0x0030 */\tunsigned long\tClass;\n/* off 0x0034 */\tunsigned long\tMaxNameLen:16\t /* start bit 0 */;\n/* off 0x0034 */\tunsigned long\tUserFlags:4\t /* start bit 16 */;\n/* off 0x0034 */\tunsigned long\tVirtControlFlags:4\t /* start bit 20 */;\n/* off 0x0034 */\tunsigned long\tDebug:8\t /* start bit 24 */;\n/* off 0x0038 */\tunsigned long\tMaxClassLen;\n/* off 0x003c */\tunsigned long\tMaxValueNameLen;\n/* off 0x0040 */\tunsigned long\tMaxValueDataLen;\n/* off 0x0044 */\tunsigned long\tWorkVar;\n/* off 0x0048 */\tunsigned short\tNameLength;\n/* off 0x004a */\tunsigned short\tClassLength;\n/* off 0x004c */\twchar Name[1];\n};\nstruct _CM_KEY_VALUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tNameLength;\n/* off 0x0004 */\tunsigned long\tDataLength;\n/* off 0x0008 */\tunsigned long\tData;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned short\tFlags;\n/* off 0x0012 */\tunsigned short\tSpare;\n/* off 0x0014 */\twchar Name[1];\n};\nstruct _SECURITY_DESCRIPTOR_RELATIVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tunsigned long\tOwner;\n/* off 0x0008 */\tunsigned long\tGroup;\n/* off 0x000c */\tunsigned long\tSacl;\n/* off 0x0010 */\tunsigned long\tDacl;\n};\nstruct _CM_KEY_SECURITY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tReserved;\n/* off 0x0004 */\tunsigned long\tFlink;\n/* off 0x0008 */\tunsigned long\tBlink;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CM_KEY_INDEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long List[1];\n};\nstruct _CM_BIG_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tSignature;\n/* off 0x0002 */\tunsigned short\tCount;\n/* off 0x0004 */\tunsigned long\tList;\n};\nunion _u /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _CM_KEY_NODE\tKeyNode;\n/* off 0x0000 */\tstruct _CM_KEY_VALUE\tKeyValue;\n/* off 0x0000 */\tstruct _CM_KEY_SECURITY\tKeySecurity;\n/* off 0x0000 */\tstruct _CM_KEY_INDEX\tKeyIndex;\n/* off 0x0000 */\tstruct _CM_BIG_DATA\tValueData;\n/* off 0x0000 */\tunsigned long KeyList[1];\n/* off 0x0000 */\twchar KeyString[1];\n};\nstruct _CELL_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tunion _u\tu;\n};\nstruct CMP_OFFSET_ARRAY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFileOffset;\n/* off 0x0004 */\tvoid*\tDataBuffer;\n/* off 0x0008 */\tunsigned long\tDataLength;\n};\nstruct _HBASE_BLOCK /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tSequence1;\n/* off 0x0008 */\tunsigned long\tSequence2;\n/* off 0x000c */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0014 */\tunsigned long\tMajor;\n/* off 0x0018 */\tunsigned long\tMinor;\n/* off 0x001c */\tunsigned long\tType;\n/* off 0x0020 */\tunsigned long\tFormat;\n/* off 0x0024 */\tunsigned long\tRootCell;\n/* off 0x0028 */\tunsigned long\tLength;\n/* off 0x002c */\tunsigned long\tCluster;\n/* off 0x0030 */\tunsigned char FileName[64];\n/* off 0x0070 */\tstruct _GUID\tRmId;\n/* off 0x0080 */\tstruct _GUID\tLogId;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _GUID\tTmId;\n/* off 0x00a4 */\tunsigned long\tGuidSignature;\n/* off 0x00a8 */\tunsigned long Reserved1[85];\n/* off 0x01fc */\tunsigned long\tCheckSum;\n/* off 0x0200 */\tunsigned long Reserved2[882];\n/* off 0x0fc8 */\tstruct _GUID\tThawTmId;\n/* off 0x0fd8 */\tstruct _GUID\tThawRmId;\n/* off 0x0fe8 */\tstruct _GUID\tThawLogId;\n/* off 0x0ff8 */\tunsigned long\tBootType;\n/* off 0x0ffc */\tunsigned long\tBootRecover;\n};\nstruct _HMAP_DIRECTORY /* sizeof 00001000 4096 */\n{\n/* off 0x0000 */\tstruct _HMAP_TABLE* Directory[1024];\n};\nstruct _HMAP_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tBlockAddress;\n/* off 0x0004 */\tunsigned long\tBinAddress;\n/* off 0x0008 */\tstruct _CM_VIEW_OF_FILE*\tCmView;\n/* off 0x000c */\tunsigned long\tMemAlloc;\n};\nstruct _HMAP_TABLE /* sizeof 00002000 8192 */\n{\n/* off 0x0000 */\tstruct _HMAP_ENTRY Table[512];\n};\nstruct _CM_VIEW_OF_FILE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tMappedViewLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPinnedViewLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tFlushedViewLinks;\n/* off 0x0018 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x001c */\tvoid*\tBcb;\n/* off 0x0020 */\tvoid*\tViewAddress;\n/* off 0x0024 */\tunsigned long\tFileOffset;\n/* off 0x0028 */\tunsigned long\tSize;\n/* off 0x002c */\tunsigned long\tUseCount;\n};\nstruct _CM_WORKITEM /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPrivate;\n/* off 0x000c */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x0010 */\tvoid*\tParameter;\n};\nstruct _CMHIVE /* sizeof 00000638 1592 */\n{\n/* off 0x0000 */\tstruct _HHIVE\tHive;\n/* off 0x02ec */\tvoid* FileHandles[6];\n/* off 0x0304 */\tstruct _LIST_ENTRY\tNotifyList;\n/* off 0x030c */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0314 */\tstruct _LIST_ENTRY\tPreloadedHiveList;\n/* off 0x031c */\tstruct _EX_RUNDOWN_REF\tHiveRundown;\n/* off 0x0320 */\tstruct _LIST_ENTRY\tParseCacheEntries;\n/* off 0x0328 */\tstruct _CM_KEY_HASH_TABLE_ENTRY*\tKcbCacheTable;\n/* off 0x032c */\tunsigned long\tKcbCacheTableSize;\n/* off 0x0330 */\tunsigned long\tIdentity;\n/* off 0x0334 */\tstruct _FAST_MUTEX*\tHiveLock;\n/* off 0x0338 */\tstruct _EX_PUSH_LOCK\tViewLock;\n/* off 0x033c */\tstruct _KTHREAD*\tViewLockOwner;\n/* off 0x0340 */\tunsigned long\tViewLockLast;\n/* off 0x0344 */\tunsigned long\tViewUnLockLast;\n/* off 0x0348 */\tstruct _FAST_MUTEX*\tWriterLock;\n/* off 0x034c */\tstruct _ERESOURCE*\tFlusherLock;\n/* off 0x0350 */\tstruct _RTL_BITMAP\tFlushDirtyVector;\n/* off 0x0358 */\tstruct CMP_OFFSET_ARRAY*\tFlushOffsetArray;\n/* off 0x035c */\tunsigned long\tFlushOffsetArrayCount;\n/* off 0x0360 */\tunsigned long\tFlushHiveTruncated;\n/* off 0x0364 */\tstruct _FAST_MUTEX*\tFlushLock2;\n/* off 0x0368 */\tstruct _EX_PUSH_LOCK\tSecurityLock;\n/* off 0x036c */\tstruct _LIST_ENTRY\tMappedViewList;\n/* off 0x0374 */\tstruct _LIST_ENTRY\tPinnedViewList;\n/* off 0x037c */\tstruct _LIST_ENTRY\tFlushedViewList;\n/* off 0x0384 */\tunsigned short\tMappedViewCount;\n/* off 0x0386 */\tunsigned short\tPinnedViewCount;\n/* off 0x0388 */\tunsigned long\tUseCount;\n/* off 0x038c */\tunsigned long\tViewsPerHive;\n/* off 0x0390 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0394 */\tunsigned long\tLastShrinkHiveSize;\n/* off 0x0398 */\tunion _LARGE_INTEGER\tActualFileSize;\n/* off 0x03a0 */\tstruct _UNICODE_STRING\tFileFullPath;\n/* off 0x03a8 */\tstruct _UNICODE_STRING\tFileUserName;\n/* off 0x03b0 */\tstruct _UNICODE_STRING\tHiveRootPath;\n/* off 0x03b8 */\tunsigned long\tSecurityCount;\n/* off 0x03bc */\tunsigned long\tSecurityCacheSize;\n/* off 0x03c0 */\tlong\tSecurityHitHint;\n/* off 0x03c4 */\tstruct _CM_KEY_SECURITY_CACHE_ENTRY*\tSecurityCache;\n/* off 0x03c8 */\tstruct _LIST_ENTRY SecurityHash[64];\n/* off 0x05c8 */\tunsigned long\tUnloadEventCount;\n/* off 0x05cc */\tstruct _KEVENT**\tUnloadEventArray;\n/* off 0x05d0 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRootKcb;\n/* off 0x05d4 */\tunsigned char\tFrozen;\n/* off 0x05d8 */\tstruct _CM_WORKITEM*\tUnloadWorkItem;\n/* off 0x05dc */\tstruct _CM_WORKITEM\tUnloadWorkItemHolder;\n/* off 0x05f0 */\tunsigned char\tGrowOnlyMode;\n/* off 0x05f4 */\tunsigned long\tGrowOffset;\n/* off 0x05f8 */\tstruct _LIST_ENTRY\tKcbConvertListHead;\n/* off 0x0600 */\tstruct _LIST_ENTRY\tKnodeConvertListHead;\n/* off 0x0608 */\tstruct _CM_CELL_REMAP_BLOCK*\tCellRemapArray;\n/* off 0x060c */\tunsigned long\tFlags;\n/* off 0x0610 */\tstruct _LIST_ENTRY\tTrustClassEntry;\n/* off 0x0618 */\tunsigned long\tFlushCount;\n/* off 0x061c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0620 */\tunsigned long\tCmRmInitFailPoint;\n/* off 0x0624 */\tlong\tCmRmInitFailStatus;\n/* off 0x0628 */\tstruct _KTHREAD*\tCreatorOwner;\n/* off 0x062c */\tstruct _KTHREAD*\tRundownThread;\n/* off 0x0630 */\tunion _LARGE_INTEGER\tLastWriteTime;\n};\nstruct _CM_KEY_HASH_TABLE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tEntry;\n};\nstruct _CM_KEY_HASH /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0008 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x000c */\tunsigned long\tKeyCell;\n};\nstruct _CM_KEY_SECURITY_CACHE_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n};\nstruct _CM_KEY_SECURITY_CACHE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tCell;\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0010 */\tunsigned long\tDescriptorLength;\n/* off 0x0014 */\tunsigned long\tRealRefCount;\n/* off 0x0018 */\tstruct _SECURITY_DESCRIPTOR_RELATIVE\tDescriptor;\n};\nstruct _CACHED_CHILD_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\nunion\n{\n/* off 0x0004 */\tunsigned long\tValueList;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tRealKcb;\n};\n};\nstruct _CM_INTENT_LOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOwnerCount;\n/* off 0x0004 */\tstruct _CM_KCB_UOW**\tOwnerTable;\n};\nstruct _CM_KEY_CONTROL_BLOCK /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned long\tRefCount;\n/* off 0x0004 */\tunsigned long\tExtFlags:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPrivateAlloc:1\t /* start bit 16 */;\n/* off 0x0004 */\tunsigned long\tDelete:1\t /* start bit 17 */;\n/* off 0x0004 */\tunsigned long\tHiveUnloaded:1\t /* start bit 18 */;\n/* off 0x0004 */\tunsigned long\tDecommissioned:1\t /* start bit 19 */;\n/* off 0x0004 */\tunsigned long\tLockTablePresent:1\t /* start bit 20 */;\n/* off 0x0004 */\tunsigned long\tTotalLevels:10\t /* start bit 21 */;\n/* off 0x0008 */\tunsigned long\tDelayedDeref:1\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tDelayedClose:1\t /* start bit 1 */;\n/* off 0x0008 */\tunsigned long\tParking:1\t /* start bit 2 */;\nunion\n{\n/* off 0x000c */\tstruct _CM_KEY_HASH\tKeyHash;\nstruct\n{\n/* off 0x000c */\tunsigned long\tConvKey;\n/* off 0x0010 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x0014 */\tstruct _HHIVE*\tKeyHive;\n/* off 0x0018 */\tunsigned long\tKeyCell;\n};\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tKcbPushlock;\nunion\n{\n/* off 0x0020 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0020 */\tlong\tSharedCount;\n};\n/* off 0x0024 */\tunsigned long\tSlotHint;\n/* off 0x0028 */\tstruct _CM_KEY_CONTROL_BLOCK*\tParentKcb;\n/* off 0x002c */\tstruct _CM_NAME_CONTROL_BLOCK*\tNameBlock;\n/* off 0x0030 */\tstruct _CM_KEY_SECURITY_CACHE*\tCachedSecurity;\n/* off 0x0034 */\tstruct _CACHED_CHILD_LIST\tValueCache;\nunion\n{\n/* off 0x003c */\tstruct _CM_INDEX_HINT_BLOCK*\tIndexHint;\n/* off 0x003c */\tunsigned long\tHashKey;\n/* off 0x003c */\tunsigned long\tSubKeyCount;\n};\nunion\n{\n/* off 0x0040 */\tstruct _LIST_ENTRY\tKeyBodyListHead;\n/* off 0x0040 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0048 */\tstruct _CM_KEY_BODY* KeyBodyArray[4];\n/* off 0x0058 */\tunion _LARGE_INTEGER\tKcbLastWriteTime;\n/* off 0x0060 */\tunsigned short\tKcbMaxNameLen;\n/* off 0x0062 */\tunsigned short\tKcbMaxValueNameLen;\n/* off 0x0064 */\tunsigned long\tKcbMaxValueDataLen;\n/* off 0x0068 */\tunsigned long\tKcbUserFlags:4\t /* start bit 0 */;\n/* off 0x0068 */\tunsigned long\tKcbVirtControlFlags:4\t /* start bit 4 */;\n/* off 0x0068 */\tunsigned long\tKcbDebug:8\t /* start bit 8 */;\n/* off 0x0068 */\tunsigned long\tFlags:16\t /* start bit 16 */;\n/* off 0x006c */\tstruct _LIST_ENTRY\tKCBUoWListHead;\nunion\n{\n/* off 0x0074 */\tstruct _LIST_ENTRY\tDelayQueueEntry;\n/* off 0x0074 */\tunsigned char*\tStolen;\n};\n/* off 0x007c */\tstruct _CM_TRANS*\tTransKCBOwner;\n/* off 0x0080 */\tstruct _CM_INTENT_LOCK\tKCBLock;\n/* off 0x0088 */\tstruct _CM_INTENT_LOCK\tKeyLock;\n/* off 0x0090 */\tstruct _CHILD_LIST\tTransValueCache;\n/* off 0x0098 */\tstruct _CM_TRANS*\tTransValueListOwner;\n/* off 0x009c */\tstruct _UNICODE_STRING*\tFullKCBName;\n};\nstruct _CM_NAME_HASH /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tConvKey;\n/* off 0x0004 */\tstruct _CM_NAME_HASH*\tNextHash;\n/* off 0x0008 */\tunsigned short\tNameLength;\n/* off 0x000a */\twchar Name[1];\n};\nstruct _CM_NAME_CONTROL_BLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char\tCompressed;\n/* off 0x0002 */\tunsigned short\tRefCount;\nunion\n{\n/* off 0x0004 */\tstruct _CM_NAME_HASH\tNameHash;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tConvKey;\n/* off 0x0008 */\tstruct _CM_KEY_HASH*\tNextHash;\n/* off 0x000c */\tunsigned short\tNameLength;\n/* off 0x000e */\twchar Name[1];\n};\n};\n};\nstruct _CM_INDEX_HINT_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long HashKey[1];\n};\nstruct _CM_KEY_BODY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tType;\n/* off 0x0004 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0008 */\tstruct _CM_NOTIFY_BLOCK*\tNotifyBlock;\n/* off 0x000c */\tvoid*\tProcessID;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKeyBodyList;\n/* off 0x0018 */\tunsigned long\tFlags:16\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tHandleTags:16\t /* start bit 16 */;\n/* off 0x001c */\tvoid*\tKtmTrans;\n/* off 0x0020 */\tstruct _GUID*\tKtmUow;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tContextListHead;\n};\nstruct _CM_NOTIFY_BLOCK /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tHiveList;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPostList;\n/* off 0x0010 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x0014 */\tstruct _CM_KEY_BODY*\tKeyBody;\n/* off 0x0018 */\tunsigned long\tFilter:30\t /* start bit 0 */;\n/* off 0x0018 */\tunsigned long\tWatchTree:1\t /* start bit 30 */;\n/* off 0x0018 */\tunsigned long\tNotifyPending:1\t /* start bit 31 */;\n/* off 0x001c */\tstruct _SECURITY_SUBJECT_CONTEXT\tSubjectContext;\n};\nstruct _CM_TRANS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tKCBUoWListHead;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLazyCommitListEntry;\n/* off 0x0018 */\tvoid*\tKtmTrans;\n/* off 0x001c */\tstruct _CM_RM*\tCmRm;\n/* off 0x0020 */\tstruct _KENLISTMENT*\tKtmEnlistmentObject;\n/* off 0x0024 */\tvoid*\tKtmEnlistmentHandle;\n/* off 0x0028 */\tstruct _GUID\tKtmUow;\n/* off 0x0038 */\tunsigned __int64\tStartLsn;\n/* off 0x0040 */\tunsigned long\tTransState;\n/* off 0x0044 */\tunsigned long\tHiveCount;\n/* off 0x0048 */\tstruct _CMHIVE* HiveArray[7];\n};\nstruct _CM_RM /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRmListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tTransactionListHead;\n/* off 0x0010 */\tvoid*\tTmHandle;\n/* off 0x0014 */\tvoid*\tTm;\n/* off 0x0018 */\tvoid*\tRmHandle;\n/* off 0x001c */\tvoid*\tKtmRm;\n/* off 0x0020 */\tunsigned long\tRefCount;\n/* off 0x0024 */\tunsigned long\tContainerNum;\n/* off 0x0028 */\tunsigned __int64\tContainerSize;\n/* off 0x0030 */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0034 */\tvoid*\tLogFileObject;\n/* off 0x0038 */\tvoid*\tMarshallingContext;\n/* off 0x003c */\tunsigned long\tRmFlags;\n/* off 0x0040 */\tlong\tLogStartStatus1;\n/* off 0x0044 */\tlong\tLogStartStatus2;\n/* off 0x0048 */\tunsigned __int64\tBaseLsn;\n/* off 0x0050 */\tstruct _ERESOURCE*\tRmLock;\n};\nstruct _RTL_BALANCED_LINKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS*\tParent;\n/* off 0x0004 */\tstruct _RTL_BALANCED_LINKS*\tLeftChild;\n/* off 0x0008 */\tstruct _RTL_BALANCED_LINKS*\tRightChild;\n/* off 0x000c */\tchar\tBalance;\n/* off 0x000d */\tunsigned char Reserved[3];\n};\nstruct _KTMOBJECT_NAMESPACE_LINK /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tLinks;\n/* off 0x0010 */\tunsigned char\tExpired;\n};\nstruct _KMUTANT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _DISPATCHER_HEADER\tHeader;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tMutantListEntry;\n/* off 0x0018 */\tstruct _KTHREAD*\tOwnerThread;\n/* off 0x001c */\tunsigned char\tAbandoned;\n/* off 0x001d */\tunsigned char\tApcDisable;\n};\nstruct _KENLISTMENT_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tNotification;\n/* off 0x0004 */\tenum _KENLISTMENT_STATE\tNewState;\n};\nstruct _KENLISTMENT /* sizeof 00000168 360 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0018 */\tstruct _GUID\tEnlistmentId;\n/* off 0x0028 */\tstruct _KMUTANT\tMutex;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tNextSameTx;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tNextSameRm;\n/* off 0x0058 */\tstruct _KRESOURCEMANAGER*\tResourceManager;\n/* off 0x005c */\tstruct _KTRANSACTION*\tTransaction;\n/* off 0x0060 */\tenum _KENLISTMENT_STATE\tState;\n/* off 0x0064 */\tunsigned long\tFlags;\n/* off 0x0068 */\tunsigned long\tNotificationMask;\n/* off 0x006c */\tvoid*\tKey;\n/* off 0x0070 */\tunsigned long\tKeyRefCount;\n/* off 0x0074 */\tvoid*\tRecoveryInformation;\n/* off 0x0078 */\tunsigned long\tRecoveryInformationLength;\n/* off 0x007c */\tvoid*\tDynamicNameInformation;\n/* off 0x0080 */\tunsigned long\tDynamicNameInformationLength;\n/* off 0x0084 */\tstruct _KTMNOTIFICATION_PACKET*\tFinalNotification;\n/* off 0x0088 */\tstruct _KENLISTMENT*\tSupSubEnlistment;\n/* off 0x008c */\tvoid*\tSupSubEnlHandle;\n/* off 0x0090 */\tvoid*\tSubordinateTxHandle;\n/* off 0x0094 */\tstruct _GUID\tCrmEnlistmentEnId;\n/* off 0x00a4 */\tstruct _GUID\tCrmEnlistmentTmId;\n/* off 0x00b4 */\tstruct _GUID\tCrmEnlistmentRmId;\n/* off 0x00c4 */\tunsigned long\tNextHistory;\n/* off 0x00c8 */\tstruct _KENLISTMENT_HISTORY History[20];\n};\nstruct _RTL_AVL_TABLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _RTL_BALANCED_LINKS\tBalancedRoot;\n/* off 0x0010 */\tvoid*\tOrderedPointer;\n/* off 0x0014 */\tunsigned long\tWhichOrderedElement;\n/* off 0x0018 */\tunsigned long\tNumberGenericTableElements;\n/* off 0x001c */\tunsigned long\tDepthOfTree;\n/* off 0x0020 */\tstruct _RTL_BALANCED_LINKS*\tRestartKey;\n/* off 0x0024 */\tunsigned long\tDeleteCount;\n/* off 0x0028 */\tenum _RTL_GENERIC_COMPARE_RESULTS( __stdcall *CompareRoutine)(struct _RTL_AVL_TABLE*,void*,void*);\n/* off 0x002c */\tvoid*( __stdcall *AllocateRoutine)(struct _RTL_AVL_TABLE*,unsigned long);\n/* off 0x0030 */\tvoid( __stdcall *FreeRoutine)(struct _RTL_AVL_TABLE*,void*);\n/* off 0x0034 */\tvoid*\tTableContext;\n};\nstruct _KTMOBJECT_NAMESPACE /* sizeof 00000060 96 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tTable;\n/* off 0x0038 */\tstruct _KMUTANT\tMutex;\n/* off 0x0058 */\tunsigned short\tLinksOffset;\n/* off 0x005a */\tunsigned short\tGuidOffset;\n/* off 0x005c */\tunsigned char\tExpired;\n};\nstruct _KRESOURCEMANAGER_COMPLETION_BINDING /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tNotificationListHead;\n/* off 0x0008 */\tvoid*\tPort;\n/* off 0x000c */\tunsigned long\tKey;\n/* off 0x0010 */\tstruct _EPROCESS*\tBindingProcess;\n};\nstruct _KRESOURCEMANAGER /* sizeof 00000154 340 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tNotificationAvailable;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tenum _KRESOURCEMANAGER_STATE\tState;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _KMUTANT\tMutex;\n/* off 0x003c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x0050 */\tstruct _GUID\tRmId;\n/* off 0x0060 */\tstruct _KQUEUE\tNotificationQueue;\n/* off 0x0088 */\tstruct _KMUTANT\tNotificationMutex;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x00b0 */\tunsigned long\tEnlistmentCount;\n/* off 0x00b4 */\tlong( __stdcall *NotificationRoutine)(struct _KENLISTMENT*,void*,void*,unsigned long,union _LARGE_INTEGER*,unsigned long,void*);\n/* off 0x00b8 */\tvoid*\tKey;\n/* off 0x00bc */\tstruct _LIST_ENTRY\tProtocolListHead;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tPendingPropReqListHead;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCRMListEntry;\n/* off 0x00d4 */\tstruct _KTM*\tTm;\n/* off 0x00d8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00e0 */\tstruct _KTMOBJECT_NAMESPACE\tEnlistments;\n/* off 0x0140 */\tstruct _KRESOURCEMANAGER_COMPLETION_BINDING\tCompletionBinding;\n};\nenum _KRESOURCEMANAGER_STATE\n{\n\tKResourceManagerUninitialized\t=0x00000000\t,//0\n\tKResourceManagerOffline\t=0x00000001\t,//0\n\tKResourceManagerOnline\t=0x00000002\t,//0\n};\nunion _CLS_LSN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunsigned int\tidxRecord;\n\t/* off 0x0004 */\tunsigned long\tcidContainer;\n\t}\toffset;\n/* off 0x0000 */\tunsigned __int64\tullOffset;\n};\nstruct _WORK_QUEUE_ITEM /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n/* off 0x0008 */\tvoid( __stdcall *WorkerRoutine)(void*);\n/* off 0x000c */\tvoid*\tParameter;\n};\nstruct _KTM /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tcookie;\n/* off 0x0004 */\tstruct _KMUTANT\tMutex;\n/* off 0x0024 */\tenum KTM_STATE\tState;\n/* off 0x0028 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tNamespaceLink;\n/* off 0x003c */\tstruct _GUID\tTmIdentity;\n/* off 0x004c */\tunsigned long\tFlags;\n/* off 0x0050 */\tunsigned long\tVolatileFlags;\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x005c */\tstruct _FILE_OBJECT*\tLogFileObject;\n/* off 0x0060 */\tvoid*\tMarshallingContext;\n/* off 0x0064 */\tvoid*\tLogManagementContext;\n/* off 0x0068 */\tstruct _KTMOBJECT_NAMESPACE\tTransactions;\n/* off 0x00c8 */\tstruct _KTMOBJECT_NAMESPACE\tResourceManagers;\n/* off 0x0128 */\tstruct _KMUTANT\tLsnOrderedMutex;\n/* off 0x0148 */\tstruct _LIST_ENTRY\tLsnOrderedList;\n/* off 0x0150 */\tunion _LARGE_INTEGER\tCommitVirtualClock;\n/* off 0x0158 */\tstruct _FAST_MUTEX\tCommitVirtualClockMutex;\n/* off 0x0178 */\tunion _CLS_LSN\tBaseLsn;\n/* off 0x0180 */\tunion _CLS_LSN\tCurrentReadLsn;\n/* off 0x0188 */\tunion _CLS_LSN\tLastRecoveredLsn;\n/* off 0x0190 */\tvoid*\tTmRmHandle;\n/* off 0x0194 */\tstruct _KRESOURCEMANAGER*\tTmRm;\n/* off 0x0198 */\tstruct _KEVENT\tLogFullNotifyEvent;\n/* off 0x01a8 */\tstruct _WORK_QUEUE_ITEM\tCheckpointWorkItem;\n/* off 0x01b8 */\tunion _CLS_LSN\tCheckpointTargetLsn;\n/* off 0x01c0 */\tstruct _WORK_QUEUE_ITEM\tLogFullCompletedWorkItem;\n/* off 0x01d0 */\tstruct _ERESOURCE\tLogWriteResource;\n/* off 0x0208 */\tunsigned long\tLogFlags;\n/* off 0x020c */\tlong\tLogFullStatus;\n/* off 0x0210 */\tlong\tRecoveryStatus;\n/* off 0x0218 */\tunion _CLS_LSN\tLastCheckBaseLsn;\n/* off 0x0220 */\tstruct _LIST_ENTRY\tRestartOrderedList;\n/* off 0x0228 */\tstruct _WORK_QUEUE_ITEM\tOfflineWorkItem;\n};\nenum KTM_STATE\n{\n\tKKtmUninitialized\t=0x00000000\t,//0\n\tKKtmInitialized\t=0x00000001\t,//0\n\tKKtmRecovering\t=0x00000002\t,//0\n\tKKtmOnline\t=0x00000003\t,//0\n\tKKtmRecoveryFailed\t=0x00000004\t,//0\n\tKKtmOffline\t=0x00000005\t,//0\n};\nenum _RTL_GENERIC_COMPARE_RESULTS\n{\n\tGenericLessThan\t=0x00000000\t,//0\n\tGenericGreaterThan\t=0x00000001\t,//0\n\tGenericEqual\t=0x00000002\t,//0\n};\nstruct _KTRANSACTION_HISTORY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tenum <unnamed-tag>\tRecordType;\n/* off 0x0004 */\tunsigned long\tPayload;\n};\nstruct _KTRANSACTION /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tOutcomeEvent;\n/* off 0x0010 */\tunsigned long\tcookie;\n/* off 0x0014 */\tstruct _KMUTANT\tMutex;\n/* off 0x0034 */\tstruct _KTRANSACTION*\tTreeTx;\n/* off 0x0038 */\tstruct _KTMOBJECT_NAMESPACE_LINK\tGlobalNamespaceLink;\n/* off 0x004c */\tstruct _KTMOBJECT_NAMESPACE_LINK\tTmNamespaceLink;\n/* off 0x0060 */\tstruct _GUID\tUOW;\n/* off 0x0070 */\tenum _KTRANSACTION_STATE\tState;\n/* off 0x0074 */\tunsigned long\tFlags;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tEnlistmentHead;\n/* off 0x0080 */\tunsigned long\tEnlistmentCount;\n/* off 0x0084 */\tunsigned long\tRecoverableEnlistmentCount;\n/* off 0x0088 */\tunsigned long\tPrePrepareRequiredEnlistmentCount;\n/* off 0x008c */\tunsigned long\tPrepareRequiredEnlistmentCount;\n/* off 0x0090 */\tunsigned long\tOutcomeRequiredEnlistmentCount;\n/* off 0x0094 */\tunsigned long\tPendingResponses;\n/* off 0x0098 */\tstruct _KENLISTMENT*\tSuperiorEnlistment;\n/* off 0x00a0 */\tunion _CLS_LSN\tLastLsn;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tPromotedEntry;\n/* off 0x00b0 */\tstruct _KTRANSACTION*\tPromoterTransaction;\n/* off 0x00b4 */\tvoid*\tPromotePropagation;\n/* off 0x00b8 */\tunsigned long\tIsolationLevel;\n/* off 0x00bc */\tunsigned long\tIsolationFlags;\n/* off 0x00c0 */\tunion _LARGE_INTEGER\tTimeout;\n/* off 0x00c8 */\tstruct _UNICODE_STRING\tDescription;\n/* off 0x00d0 */\tstruct _KTHREAD*\tRollbackThread;\n/* off 0x00d4 */\tstruct _WORK_QUEUE_ITEM\tRollbackWorkItem;\n/* off 0x00e4 */\tstruct _KDPC\tRollbackDpc;\n/* off 0x0108 */\tstruct _KTIMER\tRollbackTimer;\n/* off 0x0130 */\tstruct _LIST_ENTRY\tLsnOrderedEntry;\n/* off 0x0138 */\tenum _KTRANSACTION_OUTCOME\tOutcome;\n/* off 0x013c */\tstruct _KTM*\tTm;\n/* off 0x0140 */\t__int64\tCommitReservation;\n/* off 0x0148 */\tstruct _KTRANSACTION_HISTORY TransactionHistory[10];\n/* off 0x0198 */\tunsigned long\tTransactionHistoryCount;\n/* off 0x019c */\tvoid*\tDTCPrivateInformation;\n/* off 0x01a0 */\tunsigned long\tDTCPrivateInformationLength;\n/* off 0x01a4 */\tstruct _KMUTANT\tDTCPrivateInformationMutex;\n/* off 0x01c4 */\tvoid*\tPromotedTxSelfHandle;\n/* off 0x01c8 */\tunsigned long\tPendingPromotionCount;\n/* off 0x01cc */\tstruct _KEVENT\tPromotionCompletedEvent;\n};\nenum _KTRANSACTION_STATE\n{\n\tKTransactionUninitialized\t=0x00000000\t,//0\n\tKTransactionActive\t=0x00000001\t,//0\n\tKTransactionPreparing\t=0x00000002\t,//0\n\tKTransactionPrepared\t=0x00000003\t,//0\n\tKTransactionInDoubt\t=0x00000004\t,//0\n\tKTransactionCommitted\t=0x00000005\t,//0\n\tKTransactionAborted\t=0x00000006\t,//0\n\tKTransactionDelegated\t=0x00000007\t,//0\n\tKTransactionPrePreparing\t=0x00000008\t,//0\n\tKTransactionForgotten\t=0x00000009\t,//0\n\tKTransactionRecovering\t=0x0000000a\t,//0\n\tKTransactionPrePrepared\t=0x0000000b\t,//0\n};\nenum _KTRANSACTION_OUTCOME\n{\n\tKTxOutcomeUninitialized\t=0x00000000\t,//0\n\tKTxOutcomeUndetermined\t=0x00000001\t,//0\n\tKTxOutcomeCommitted\t=0x00000002\t,//0\n\tKTxOutcomeAborted\t=0x00000003\t,//0\n\tKTxOutcomeUnavailable\t=0x00000004\t,//0\n};\nenum <unnamed-tag>\n{\n\tKTMOH_CommitTransaction_Result\t=0x00000001\t,//0\n\tKTMOH_RollbackTransaction_Result\t=0x00000002\t,//0\n};\nenum _KENLISTMENT_STATE\n{\n\tKEnlistmentUninitialized\t=0x00000000\t,//0\n\tKEnlistmentActive\t=0x00000100\t,//0\n\tKEnlistmentPreparing\t=0x00000101\t,//0\n\tKEnlistmentPrepared\t=0x00000102\t,//0\n\tKEnlistmentInDoubt\t=0x00000103\t,//0\n\tKEnlistmentCommitted\t=0x00000104\t,//0\n\tKEnlistmentCommittedNotify\t=0x00000105\t,//0\n\tKEnlistmentCommitRequested\t=0x00000106\t,//0\n\tKEnlistmentAborted\t=0x00000107\t,//0\n\tKEnlistmentDelegated\t=0x00000108\t,//0\n\tKEnlistmentDelegatedDisconnected\t=0x00000109\t,//0\n\tKEnlistmentPrePreparing\t=0x0000010a\t,//0\n\tKEnlistmentForgotten\t=0x0000010b\t,//0\n\tKEnlistmentRecovering\t=0x0000010c\t,//0\n\tKEnlistmentAborting\t=0x0000010d\t,//0\n\tKEnlistmentReadOnly\t=0x0000010e\t,//0\n\tKEnlistmentOutcomeUnavailable\t=0x0000010f\t,//0\n\tKEnlistmentOffline\t=0x00000110\t,//0\n\tKEnlistmentPrePrepared\t=0x00000111\t,//0\n\tKEnlistmentInitialized\t=0x00000112\t,//0\n};\nstruct _KTMNOTIFICATION_PACKET /* sizeof 00000000 0 */\n{\n};\nstruct _CM_KCB_UOW /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTransactionListEntry;\n/* off 0x0008 */\tstruct _CM_INTENT_LOCK*\tKCBLock;\n/* off 0x000c */\tstruct _CM_INTENT_LOCK*\tKeyLock;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tKCBListEntry;\n/* off 0x0018 */\tstruct _CM_KEY_CONTROL_BLOCK*\tKeyControlBlock;\n/* off 0x001c */\tstruct _CM_TRANS*\tTransaction;\n/* off 0x0020 */\tunsigned long\tUoWState;\n/* off 0x0024 */\tenum UoWActionType\tActionType;\n/* off 0x0028 */\tenum HSTORAGE_TYPE\tStorageType;\nunion\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tChildKCB;\n/* off 0x0030 */\tunsigned long\tVolatileKeyCell;\nstruct\n{\n/* off 0x0030 */\tunsigned long\tOldValueCell;\nunion\n{\nstruct\n{\n/* off 0x0034 */\tunsigned long\tNewValueCell;\n};\n/* off 0x0030 */\tunsigned long\tUserFlags;\n/* off 0x0030 */\tunion _LARGE_INTEGER\tLastWriteTime;\n/* off 0x0030 */\tunsigned long\tTxSecurityCell;\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOldChildKCB;\n};\nstruct\n{\n/* off 0x0034 */\tstruct _CM_KEY_CONTROL_BLOCK*\tNewChildKCB;\n};\nstruct\n{\n/* off 0x0030 */\tstruct _CM_KEY_CONTROL_BLOCK*\tOtherChildKCB;\n};\n/* off 0x0034 */\tunsigned long\tThisVolatileKeyCell;\n};\n};\n};\n};\nenum UoWActionType\n{\n\tUoWAddThisKey\t=0x00000000\t,//0\n\tUoWAddChildKey\t=0x00000001\t,//0\n\tUoWDeleteThisKey\t=0x00000002\t,//0\n\tUoWDeleteChildKey\t=0x00000003\t,//0\n\tUoWSetValueNew\t=0x00000004\t,//0\n\tUoWSetValueExisting\t=0x00000005\t,//0\n\tUoWDeleteValue\t=0x00000006\t,//0\n\tUoWSetKeyUserFlags\t=0x00000007\t,//0\n\tUoWSetLastWriteTime\t=0x00000008\t,//0\n\tUoWSetSecurityDescriptor\t=0x00000009\t,//0\n\tUoWRenameSubKey\t=0x0000000a\t,//0\n\tUoWRenameOldSubKey\t=0x0000000b\t,//0\n\tUoWRenameNewSubKey\t=0x0000000c\t,//0\n\tUoWIsolation\t=0x0000000d\t,//0\n\tUoWInvalid\t=0x0000000e\t,//0\n};\nenum HSTORAGE_TYPE\n{\n\tStable\t=0x00000000\t,//0\n\tVolatile\t=0x00000001\t,//0\n\tInvalidStorage\t=0x00000002\t,//0\n};\nstruct _CM_CELL_REMAP_BLOCK /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tOldCell;\n/* off 0x0004 */\tunsigned long\tNewCell;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nstruct _HIVE_LOAD_FAILURE /* sizeof 00000120 288 */\n{\n/* off 0x0000 */\tstruct _HHIVE*\tHive;\n/* off 0x0004 */\tunsigned long\tIndex;\n/* off 0x0008 */\tunsigned long\tRecoverableIndex;\n/* off 0x000c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} Locations[8];\n/* off 0x006c */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n\t/* off 0x0004 */\tlong\tStatus;\n\t/* off 0x0008 */\tunsigned long\tPoint;\n\t} RecoverableLocations[8];\n/* off 0x00cc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAction;\n\t/* off 0x0004 */\tvoid*\tHandle;\n\t/* off 0x0008 */\tlong\tStatus;\n\t}\tRegistryIO;\n/* off 0x00d8 */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tvoid*\tCheckStack;\n\t}\tCheckRegistry2;\n/* off 0x00dc */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tCell;\n\t/* off 0x0004 */\tstruct _CELL_DATA*\tCellPoint;\n\t/* off 0x0008 */\tvoid*\tRootPoint;\n\t/* off 0x000c */\tunsigned long\tIndex;\n\t}\tCheckKey;\n/* off 0x00ec */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA*\tList;\n\t/* off 0x0004 */\tunsigned long\tIndex;\n\t/* off 0x0008 */\tunsigned long\tCell;\n\t/* off 0x000c */\tstruct _CELL_DATA*\tCellPoint;\n\t}\tCheckValueList;\n/* off 0x00fc */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive;\n/* off 0x0108 */\t\n\tstruct  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tSpace;\n\t/* off 0x0004 */\tunsigned long\tMapPoint;\n\t/* off 0x0008 */\tstruct _HBIN*\tBinPoint;\n\t}\tCheckHive1;\n/* off 0x0114 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _HBIN*\tBin;\n\t/* off 0x0004 */\tstruct _HCELL*\tCellPoint;\n\t}\tCheckBin;\n/* off 0x011c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tFileOffset;\n\t}\tRecoverData;\n};\nstruct  /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum _CM_LOAD_FAILURE_TYPE\tFailure;\n/* off 0x0004 */\tlong\tStatus;\n/* off 0x0008 */\tunsigned long\tPoint;\n};\nenum _CM_LOAD_FAILURE_TYPE\n{\n\t_None\t=0x00000000\t,//0\n\t_CmInitializeHive\t=0x00000001\t,//0\n\t_HvInitializeHive\t=0x00000002\t,//0\n\t_HvpBuildMap\t=0x00000003\t,//0\n\t_HvpBuildMapAndCopy\t=0x00000004\t,//0\n\t_HvpInitMap\t=0x00000005\t,//0\n\t_HvLoadHive\t=0x00000006\t,//0\n\t_HvpReadFileImageAndBuildMap\t=0x00000007\t,//0\n\t_HvpRecoverData\t=0x00000008\t,//0\n\t_HvpRecoverWholeHive\t=0x00000009\t,//0\n\t_HvpMapFileImageAndBuildMap\t=0x0000000a\t,//0\n\t_CmpValidateHiveSecurityDescriptors\t=0x0000000b\t,//0\n\t_HvpEnlistBinInMap\t=0x0000000c\t,//0\n\t_CmCheckRegistry\t=0x0000000d\t,//0\n\t_CmRegistryIO\t=0x0000000e\t,//0\n\t_CmCheckRegistry2\t=0x0000000f\t,//0\n\t_CmpCheckKey\t=0x00000010\t,//0\n\t_CmpCheckValueList\t=0x00000011\t,//0\n\t_HvCheckHive\t=0x00000012\t,//0\n\t_HvCheckBin\t=0x00000013\t,//0\n};\nstruct _HBIN /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tFileOffset;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned long Reserved1[2];\n/* off 0x0014 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x001c */\tunsigned long\tSpare;\n};\nstruct _HCELL /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tlong\tSize;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tLast;\n\t\t/* off 0x0004 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tOldCell;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\t\n\t\t\tunion  /* sizeof 00000004 4 */\n\t\t\t{\n\t\t\t/* off 0x0000 */\tunsigned long\tUserData;\n\t\t\t/* off 0x0000 */\tunsigned long\tNext;\n\t\t\t}\tu;\n\t\t}\tNewCell;\n\t}\tu;\n};\nstruct _PCW_COUNTER_DESCRIPTOR /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned short\tStructIndex;\n/* off 0x0004 */\tunsigned short\tOffset;\n/* off 0x0006 */\tunsigned short\tSize;\n};\nenum _PCW_CALLBACK_TYPE\n{\n\tPcwCallbackAddCounter\t=0x00000000\t,//0\n\tPcwCallbackRemoveCounter\t=0x00000001\t,//0\n\tPcwCallbackEnumerateInstances\t=0x00000002\t,//0\n\tPcwCallbackCollectData\t=0x00000003\t,//0\n};\nstruct _PCW_COUNTER_INFORMATION /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n};\nstruct _PCW_MASK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tCounterMask;\n/* off 0x0008 */\tstruct _UNICODE_STRING*\tInstanceMask;\n/* off 0x000c */\tunsigned long\tInstanceId;\n/* off 0x0010 */\tunsigned char\tCollectMultiple;\n/* off 0x0014 */\tstruct _PCW_BUFFER*\tBuffer;\n/* off 0x0018 */\tstruct _KEVENT*\tCancelEvent;\n};\nunion _PCW_CALLBACK_INFORMATION /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tAddCounter;\n/* off 0x0000 */\tstruct _PCW_COUNTER_INFORMATION\tRemoveCounter;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tEnumerateInstances;\n/* off 0x0000 */\tstruct _PCW_MASK_INFORMATION\tCollectData;\n};\nstruct _PCW_BUFFER /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_REGISTRATION_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tVersion;\n/* off 0x0004 */\tstruct _UNICODE_STRING*\tName;\n/* off 0x0008 */\tunsigned long\tCounterCount;\n/* off 0x000c */\tstruct _PCW_COUNTER_DESCRIPTOR*\tCounters;\n/* off 0x0010 */\tlong( __stdcall *Callback)(enum _PCW_CALLBACK_TYPE,union _PCW_CALLBACK_INFORMATION*,void*);\n/* off 0x0014 */\tvoid*\tCallbackContext;\n};\nstruct _PCW_PROCESSOR_INFO /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned __int64\tIdleTime;\n/* off 0x0008 */\tunsigned __int64\tAvailableTime;\n/* off 0x0010 */\tunsigned __int64\tUserTime;\n/* off 0x0018 */\tunsigned __int64\tKernelTime;\n/* off 0x0020 */\tunsigned long\tInterrupts;\n/* off 0x0028 */\tunsigned __int64\tDpcTime;\n/* off 0x0030 */\tunsigned __int64\tInterruptTime;\n/* off 0x0038 */\tunsigned long\tDpcCount;\n/* off 0x003c */\tunsigned long\tDpcRate;\n/* off 0x0040 */\tunsigned __int64\tC1Time;\n/* off 0x0048 */\tunsigned __int64\tC2Time;\n/* off 0x0050 */\tunsigned __int64\tC3Time;\n/* off 0x0058 */\tunsigned __int64\tC1Transitions;\n/* off 0x0060 */\tunsigned __int64\tC2Transitions;\n/* off 0x0068 */\tunsigned __int64\tC3Transitions;\n/* off 0x0070 */\tunsigned long\tParkingStatus;\n/* off 0x0074 */\tunsigned long\tCurrentFrequency;\n/* off 0x0078 */\tunsigned long\tPercentMaxFrequency;\n/* off 0x007c */\tunsigned long\tStateFlags;\n};\nstruct _PCW_INSTANCE /* sizeof 00000000 0 */\n{\n};\nstruct _PCW_DATA /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tData;\n/* off 0x0004 */\tunsigned long\tSize;\n};\nstruct _ETW_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tTotalActiveSessions;\n/* off 0x0004 */\tlong\tTotalBufferMemoryNonPagedPool;\n/* off 0x0008 */\tlong\tTotalBufferMemoryPagedPool;\n/* off 0x000c */\tlong\tTotalGuidsEnabled;\n/* off 0x0010 */\tlong\tTotalGuidsNotEnabled;\n/* off 0x0014 */\tlong\tTotalGuidsPreEnabled;\n};\nstruct _ETW_SESSION_PERF_COUNTERS /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tlong\tBufferMemoryPagedPool;\n/* off 0x0004 */\tlong\tBufferMemoryNonPagedPool;\n/* off 0x0008 */\tunsigned __int64\tEventsLoggedCount;\n/* off 0x0010 */\tlong\tEventsLost;\n/* off 0x0014 */\tlong\tNumConsumers;\n};\nstruct _NT_TIB32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tExceptionList;\n/* off 0x0004 */\tunsigned long\tStackBase;\n/* off 0x0008 */\tunsigned long\tStackLimit;\n/* off 0x000c */\tunsigned long\tSubSystemTib;\nunion\n{\n/* off 0x0010 */\tunsigned long\tFiberData;\n/* off 0x0010 */\tunsigned long\tVersion;\n};\n/* off 0x0014 */\tunsigned long\tArbitraryUserPointer;\n/* off 0x0018 */\tunsigned long\tSelf;\n};\nstruct _CLIENT_ID32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tUniqueProcess;\n/* off 0x0004 */\tunsigned long\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH32 /* sizeof 000004e0 1248 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0004 */\tunsigned long\tHDC;\n/* off 0x0008 */\tunsigned long Buffer[310];\n};\nstruct _STRING32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0004 */\tunsigned long\tBuffer;\n};\nstruct _TEB32 /* sizeof 00000fe4 4068 */\n{\n/* off 0x0000 */\tstruct _NT_TIB32\tNtTib;\n/* off 0x001c */\tunsigned long\tEnvironmentPointer;\n/* off 0x0020 */\tstruct _CLIENT_ID32\tClientId;\n/* off 0x0028 */\tunsigned long\tActiveRpcHandle;\n/* off 0x002c */\tunsigned long\tThreadLocalStoragePointer;\n/* off 0x0030 */\tunsigned long\tProcessEnvironmentBlock;\n/* off 0x0034 */\tunsigned long\tLastErrorValue;\n/* off 0x0038 */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x003c */\tunsigned long\tCsrClientThread;\n/* off 0x0040 */\tunsigned long\tWin32ThreadInfo;\n/* off 0x0044 */\tunsigned long User32Reserved[26];\n/* off 0x00ac */\tunsigned long UserReserved[5];\n/* off 0x00c0 */\tunsigned long\tWOW32Reserved;\n/* off 0x00c4 */\tunsigned long\tCurrentLocale;\n/* off 0x00c8 */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x00cc */\tunsigned long SystemReserved1[54];\n/* off 0x01a4 */\tlong\tExceptionCode;\n/* off 0x01a8 */\tunsigned long\tActivationContextStackPointer;\n/* off 0x01ac */\tunsigned char SpareBytes[36];\n/* off 0x01d0 */\tunsigned long\tTxFsContext;\n/* off 0x01d4 */\tstruct _GDI_TEB_BATCH32\tGdiTebBatch;\n/* off 0x06b4 */\tstruct _CLIENT_ID32\tRealClientId;\n/* off 0x06bc */\tunsigned long\tGdiCachedProcessHandle;\n/* off 0x06c0 */\tunsigned long\tGdiClientPID;\n/* off 0x06c4 */\tunsigned long\tGdiClientTID;\n/* off 0x06c8 */\tunsigned long\tGdiThreadLocalInfo;\n/* off 0x06cc */\tunsigned long Win32ClientInfo[62];\n/* off 0x07c4 */\tunsigned long glDispatchTable[233];\n/* off 0x0b68 */\tunsigned long glReserved1[29];\n/* off 0x0bdc */\tunsigned long\tglReserved2;\n/* off 0x0be0 */\tunsigned long\tglSectionInfo;\n/* off 0x0be4 */\tunsigned long\tglSection;\n/* off 0x0be8 */\tunsigned long\tglTable;\n/* off 0x0bec */\tunsigned long\tglCurrentRC;\n/* off 0x0bf0 */\tunsigned long\tglContext;\n/* off 0x0bf4 */\tunsigned long\tLastStatusValue;\n/* off 0x0bf8 */\tstruct _STRING32\tStaticUnicodeString;\n/* off 0x0c00 */\twchar StaticUnicodeBuffer[261];\n/* off 0x0e0c */\tunsigned long\tDeallocationStack;\n/* off 0x0e10 */\tunsigned long TlsSlots[64];\n/* off 0x0f10 */\tstruct LIST_ENTRY32\tTlsLinks;\n/* off 0x0f18 */\tunsigned long\tVdm;\n/* off 0x0f1c */\tunsigned long\tReservedForNtRpc;\n/* off 0x0f20 */\tunsigned long DbgSsReserved[2];\n/* off 0x0f28 */\tunsigned long\tHardErrorMode;\n/* off 0x0f2c */\tunsigned long Instrumentation[9];\n/* off 0x0f50 */\tstruct _GUID\tActivityId;\n/* off 0x0f60 */\tunsigned long\tSubProcessTag;\n/* off 0x0f64 */\tunsigned long\tEtwLocalData;\n/* off 0x0f68 */\tunsigned long\tEtwTraceData;\n/* off 0x0f6c */\tunsigned long\tWinSockData;\n/* off 0x0f70 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x0f74 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x0f74 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x0f74 */\tunsigned char\tReservedPad0;\n/* off 0x0f75 */\tunsigned char\tReservedPad1;\n/* off 0x0f76 */\tunsigned char\tReservedPad2;\n/* off 0x0f77 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x0f78 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x0f7c */\tunsigned long\tReservedForPerf;\n/* off 0x0f80 */\tunsigned long\tReservedForOle;\n/* off 0x0f84 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x0f88 */\tunsigned long\tSavedPriorityState;\n/* off 0x0f8c */\tunsigned long\tSoftPatchPtr1;\n/* off 0x0f90 */\tunsigned long\tThreadPoolData;\n/* off 0x0f94 */\tunsigned long\tTlsExpansionSlots;\n/* off 0x0f98 */\tunsigned long\tMuiGeneration;\n/* off 0x0f9c */\tunsigned long\tIsImpersonating;\n/* off 0x0fa0 */\tunsigned long\tNlsCache;\n/* off 0x0fa4 */\tunsigned long\tpShimData;\n/* off 0x0fa8 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x0fac */\tunsigned long\tCurrentTransactionHandle;\n/* off 0x0fb0 */\tunsigned long\tActiveFrame;\n/* off 0x0fb4 */\tunsigned long\tFlsData;\n/* off 0x0fb8 */\tunsigned long\tPreferredLanguages;\n/* off 0x0fbc */\tunsigned long\tUserPrefLanguages;\n/* off 0x0fc0 */\tunsigned long\tMergedPrefLanguages;\n/* off 0x0fc4 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x0fc8 */\tunsigned short\tCrossTebFlags;\n/* off 0x0fc8 */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x0fca */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x0fca */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x0fca */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x0fca */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x0fca */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x0fca */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x0fca */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x0fca */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x0fca */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x0fca */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x0fca */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x0fca */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x0fca */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x0fcc */\tunsigned long\tTxnScopeEnterCallback;\n/* off 0x0fd0 */\tunsigned long\tTxnScopeExitCallback;\n/* off 0x0fd4 */\tunsigned long\tTxnScopeContext;\n/* off 0x0fd8 */\tunsigned long\tLockCount;\n/* off 0x0fdc */\tunsigned long\tSpareUlong0;\n/* off 0x0fe0 */\tunsigned long\tResourceRetValue;\n};\nstruct _NT_TIB64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tExceptionList;\n/* off 0x0008 */\tunsigned __int64\tStackBase;\n/* off 0x0010 */\tunsigned __int64\tStackLimit;\n/* off 0x0018 */\tunsigned __int64\tSubSystemTib;\nunion\n{\n/* off 0x0020 */\tunsigned __int64\tFiberData;\n/* off 0x0020 */\tunsigned long\tVersion;\n};\n/* off 0x0028 */\tunsigned __int64\tArbitraryUserPointer;\n/* off 0x0030 */\tunsigned __int64\tSelf;\n};\nstruct _CLIENT_ID64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tUniqueProcess;\n/* off 0x0008 */\tunsigned __int64\tUniqueThread;\n};\nstruct _GDI_TEB_BATCH64 /* sizeof 000004e8 1256 */\n{\n/* off 0x0000 */\tunsigned long\tOffset;\n/* off 0x0008 */\tunsigned __int64\tHDC;\n/* off 0x0010 */\tunsigned long Buffer[310];\n};\nstruct _STRING64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLength;\n/* off 0x0002 */\tunsigned short\tMaximumLength;\n/* off 0x0008 */\tunsigned __int64\tBuffer;\n};\nstruct _TEB64 /* sizeof 00001818 6168 */\n{\n/* off 0x0000 */\tstruct _NT_TIB64\tNtTib;\n/* off 0x0038 */\tunsigned __int64\tEnvironmentPointer;\n/* off 0x0040 */\tstruct _CLIENT_ID64\tClientId;\n/* off 0x0050 */\tunsigned __int64\tActiveRpcHandle;\n/* off 0x0058 */\tunsigned __int64\tThreadLocalStoragePointer;\n/* off 0x0060 */\tunsigned __int64\tProcessEnvironmentBlock;\n/* off 0x0068 */\tunsigned long\tLastErrorValue;\n/* off 0x006c */\tunsigned long\tCountOfOwnedCriticalSections;\n/* off 0x0070 */\tunsigned __int64\tCsrClientThread;\n/* off 0x0078 */\tunsigned __int64\tWin32ThreadInfo;\n/* off 0x0080 */\tunsigned long User32Reserved[26];\n/* off 0x00e8 */\tunsigned long UserReserved[5];\n/* off 0x0100 */\tunsigned __int64\tWOW32Reserved;\n/* off 0x0108 */\tunsigned long\tCurrentLocale;\n/* off 0x010c */\tunsigned long\tFpSoftwareStatusRegister;\n/* off 0x0110 */\tunsigned __int64 SystemReserved1[54];\n/* off 0x02c0 */\tlong\tExceptionCode;\n/* off 0x02c8 */\tunsigned __int64\tActivationContextStackPointer;\n/* off 0x02d0 */\tunsigned char SpareBytes[24];\n/* off 0x02e8 */\tunsigned long\tTxFsContext;\n/* off 0x02f0 */\tstruct _GDI_TEB_BATCH64\tGdiTebBatch;\n/* off 0x07d8 */\tstruct _CLIENT_ID64\tRealClientId;\n/* off 0x07e8 */\tunsigned __int64\tGdiCachedProcessHandle;\n/* off 0x07f0 */\tunsigned long\tGdiClientPID;\n/* off 0x07f4 */\tunsigned long\tGdiClientTID;\n/* off 0x07f8 */\tunsigned __int64\tGdiThreadLocalInfo;\n/* off 0x0800 */\tunsigned __int64 Win32ClientInfo[62];\n/* off 0x09f0 */\tunsigned __int64 glDispatchTable[233];\n/* off 0x1138 */\tunsigned __int64 glReserved1[29];\n/* off 0x1220 */\tunsigned __int64\tglReserved2;\n/* off 0x1228 */\tunsigned __int64\tglSectionInfo;\n/* off 0x1230 */\tunsigned __int64\tglSection;\n/* off 0x1238 */\tunsigned __int64\tglTable;\n/* off 0x1240 */\tunsigned __int64\tglCurrentRC;\n/* off 0x1248 */\tunsigned __int64\tglContext;\n/* off 0x1250 */\tunsigned long\tLastStatusValue;\n/* off 0x1258 */\tstruct _STRING64\tStaticUnicodeString;\n/* off 0x1268 */\twchar StaticUnicodeBuffer[261];\n/* off 0x1478 */\tunsigned __int64\tDeallocationStack;\n/* off 0x1480 */\tunsigned __int64 TlsSlots[64];\n/* off 0x1680 */\tstruct LIST_ENTRY64\tTlsLinks;\n/* off 0x1690 */\tunsigned __int64\tVdm;\n/* off 0x1698 */\tunsigned __int64\tReservedForNtRpc;\n/* off 0x16a0 */\tunsigned __int64 DbgSsReserved[2];\n/* off 0x16b0 */\tunsigned long\tHardErrorMode;\n/* off 0x16b8 */\tunsigned __int64 Instrumentation[11];\n/* off 0x1710 */\tstruct _GUID\tActivityId;\n/* off 0x1720 */\tunsigned __int64\tSubProcessTag;\n/* off 0x1728 */\tunsigned __int64\tEtwLocalData;\n/* off 0x1730 */\tunsigned __int64\tEtwTraceData;\n/* off 0x1738 */\tunsigned __int64\tWinSockData;\n/* off 0x1740 */\tunsigned long\tGdiBatchCount;\nunion\n{\n/* off 0x1744 */\tstruct _PROCESSOR_NUMBER\tCurrentIdealProcessor;\n/* off 0x1744 */\tunsigned long\tIdealProcessorValue;\nstruct\n{\n/* off 0x1744 */\tunsigned char\tReservedPad0;\n/* off 0x1745 */\tunsigned char\tReservedPad1;\n/* off 0x1746 */\tunsigned char\tReservedPad2;\n/* off 0x1747 */\tunsigned char\tIdealProcessor;\n};\n};\n/* off 0x1748 */\tunsigned long\tGuaranteedStackBytes;\n/* off 0x1750 */\tunsigned __int64\tReservedForPerf;\n/* off 0x1758 */\tunsigned __int64\tReservedForOle;\n/* off 0x1760 */\tunsigned long\tWaitingOnLoaderLock;\n/* off 0x1768 */\tunsigned __int64\tSavedPriorityState;\n/* off 0x1770 */\tunsigned __int64\tSoftPatchPtr1;\n/* off 0x1778 */\tunsigned __int64\tThreadPoolData;\n/* off 0x1780 */\tunsigned __int64\tTlsExpansionSlots;\n/* off 0x1788 */\tunsigned __int64\tDeallocationBStore;\n/* off 0x1790 */\tunsigned __int64\tBStoreLimit;\n/* off 0x1798 */\tunsigned long\tMuiGeneration;\n/* off 0x179c */\tunsigned long\tIsImpersonating;\n/* off 0x17a0 */\tunsigned __int64\tNlsCache;\n/* off 0x17a8 */\tunsigned __int64\tpShimData;\n/* off 0x17b0 */\tunsigned long\tHeapVirtualAffinity;\n/* off 0x17b8 */\tunsigned __int64\tCurrentTransactionHandle;\n/* off 0x17c0 */\tunsigned __int64\tActiveFrame;\n/* off 0x17c8 */\tunsigned __int64\tFlsData;\n/* off 0x17d0 */\tunsigned __int64\tPreferredLanguages;\n/* off 0x17d8 */\tunsigned __int64\tUserPrefLanguages;\n/* off 0x17e0 */\tunsigned __int64\tMergedPrefLanguages;\n/* off 0x17e8 */\tunsigned long\tMuiImpersonation;\nunion\n{\n/* off 0x17ec */\tunsigned short\tCrossTebFlags;\n/* off 0x17ec */\tunsigned short\tSpareCrossTebBits:16\t /* start bit 0 */;\n};\nunion\n{\n/* off 0x17ee */\tunsigned short\tSameTebFlags;\nstruct\n{\n/* off 0x17ee */\tunsigned short\tSafeThunkCall:1\t /* start bit 0 */;\n/* off 0x17ee */\tunsigned short\tInDebugPrint:1\t /* start bit 1 */;\n/* off 0x17ee */\tunsigned short\tHasFiberData:1\t /* start bit 2 */;\n/* off 0x17ee */\tunsigned short\tSkipThreadAttach:1\t /* start bit 3 */;\n/* off 0x17ee */\tunsigned short\tWerInShipAssertCode:1\t /* start bit 4 */;\n/* off 0x17ee */\tunsigned short\tRanProcessInit:1\t /* start bit 5 */;\n/* off 0x17ee */\tunsigned short\tClonedThread:1\t /* start bit 6 */;\n/* off 0x17ee */\tunsigned short\tSuppressDebugMsg:1\t /* start bit 7 */;\n/* off 0x17ee */\tunsigned short\tDisableUserStackWalk:1\t /* start bit 8 */;\n/* off 0x17ee */\tunsigned short\tRtlExceptionAttached:1\t /* start bit 9 */;\n/* off 0x17ee */\tunsigned short\tInitialThread:1\t /* start bit 10 */;\n/* off 0x17ee */\tunsigned short\tSpareSameTebBits:5\t /* start bit 11 */;\n};\n};\n/* off 0x17f0 */\tunsigned __int64\tTxnScopeEnterCallback;\n/* off 0x17f8 */\tunsigned __int64\tTxnScopeExitCallback;\n/* off 0x1800 */\tunsigned __int64\tTxnScopeContext;\n/* off 0x1808 */\tunsigned long\tLockCount;\n/* off 0x180c */\tunsigned long\tSpareUlong0;\n/* off 0x1810 */\tunsigned __int64\tResourceRetValue;\n};\nstruct _KAFFINITY_ENUMERATION_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX*\tAffinity;\n/* off 0x0004 */\tunsigned long\tCurrentMask;\n/* off 0x0008 */\tunsigned short\tCurrentIndex;\n};\nstruct _FXSAVE_FORMAT /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tunsigned short\tControlWord;\n/* off 0x0002 */\tunsigned short\tStatusWord;\n/* off 0x0004 */\tunsigned short\tTagWord;\n/* off 0x0006 */\tunsigned short\tErrorOpcode;\n/* off 0x0008 */\tunsigned long\tErrorOffset;\n/* off 0x000c */\tunsigned long\tErrorSelector;\n/* off 0x0010 */\tunsigned long\tDataOffset;\n/* off 0x0014 */\tunsigned long\tDataSelector;\n/* off 0x0018 */\tunsigned long\tMXCsr;\n/* off 0x001c */\tunsigned long\tMXCsrMask;\n/* off 0x0020 */\tunsigned char RegisterArea[128];\n/* off 0x00a0 */\tunsigned char Reserved3[128];\n/* off 0x0120 */\tunsigned char Reserved4[192];\n};\nstruct _FNSAVE_FORMAT /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tunsigned long\tControlWord;\n/* off 0x0004 */\tunsigned long\tStatusWord;\n/* off 0x0008 */\tunsigned long\tTagWord;\n/* off 0x000c */\tunsigned long\tErrorOffset;\n/* off 0x0010 */\tunsigned long\tErrorSelector;\n/* off 0x0014 */\tunsigned long\tDataOffset;\n/* off 0x0018 */\tunsigned long\tDataSelector;\n/* off 0x001c */\tunsigned char RegisterArea[80];\n};\nstruct _KERNEL_STACK_SEGMENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tStackBase;\n/* off 0x0004 */\tunsigned long\tStackLimit;\n/* off 0x0008 */\tunsigned long\tKernelStack;\n/* off 0x000c */\tunsigned long\tInitialStack;\n/* off 0x0010 */\tunsigned long\tActualLimit;\n};\nstruct _KERNEL_STACK_CONTROL /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _KTRAP_FRAME*\tPreviousTrapFrame;\n/* off 0x0000 */\tvoid*\tPreviousExceptionList;\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tStackControlFlags;\nstruct\n{\n/* off 0x0004 */\tunsigned long\tPreviousLargeStack:1\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tPreviousSegmentsPresent:1\t /* start bit 1 */;\n/* off 0x0004 */\tunsigned long\tExpandCalloutStack:1\t /* start bit 2 */;\n};\n};\n/* off 0x0008 */\tstruct _KERNEL_STACK_SEGMENT\tPrevious;\n};\nstruct _KSTACK_AREA /* sizeof 00000210 528 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _FNSAVE_FORMAT\tFnArea;\n/* off 0x0000 */\tstruct _FXSAVE_FORMAT\tNpxFrame;\n};\n/* off 0x01e0 */\tstruct _KERNEL_STACK_CONTROL\tStackControl;\n/* off 0x01fc */\tunsigned long\tCr0NpxState;\n/* off 0x0200 */\tunsigned long Padding[4];\n};\nstruct _PNP_DEVICE_COMPLETION_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDispatchedList;\n/* off 0x0008 */\tunsigned long\tDispatchedCount;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCompletedList;\n/* off 0x0014 */\tstruct _KSEMAPHORE\tCompletedSemaphore;\n/* off 0x0028 */\tunsigned long\tSpinLock;\n};\nstruct _PO_DEVICE_NOTIFY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tPowerChildren;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tPowerParents;\n/* off 0x0018 */\tstruct _DEVICE_OBJECT*\tTargetDevice;\n/* off 0x001c */\tunsigned char\tOrderLevel;\n/* off 0x0020 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0024 */\tunsigned short*\tDeviceName;\n/* off 0x0028 */\tunsigned short*\tDriverName;\n/* off 0x002c */\tunsigned long\tChildCount;\n/* off 0x0030 */\tunsigned long\tActiveChild;\n/* off 0x0034 */\tunsigned long\tParentCount;\n/* off 0x0038 */\tunsigned long\tActiveParent;\n};\nstruct _PO_IRP_QUEUE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _IRP*\tCurrentIrp;\n/* off 0x0004 */\tstruct _IRP*\tPendingIrpList;\n};\nstruct _PO_IRP_MANAGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _PO_IRP_QUEUE\tDeviceIrpQueue;\n/* off 0x0008 */\tstruct _PO_IRP_QUEUE\tSystemIrpQueue;\n};\nstruct _DEVICE_NODE /* sizeof 00000188 392 */\n{\n/* off 0x0000 */\tstruct _DEVICE_NODE*\tSibling;\n/* off 0x0004 */\tstruct _DEVICE_NODE*\tChild;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tParent;\n/* off 0x000c */\tstruct _DEVICE_NODE*\tLastChild;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tstruct _UNICODE_STRING\tInstancePath;\n/* off 0x001c */\tstruct _UNICODE_STRING\tServiceName;\n/* off 0x0024 */\tstruct _IRP*\tPendingIrp;\n/* off 0x0028 */\tunsigned long\tLevel;\n/* off 0x002c */\tstruct _PO_DEVICE_NOTIFY\tNotify;\n/* off 0x0068 */\tstruct _PO_IRP_MANAGER\tPoIrpManager;\n/* off 0x0078 */\tenum _PNP_DEVNODE_STATE\tState;\n/* off 0x007c */\tenum _PNP_DEVNODE_STATE\tPreviousState;\n/* off 0x0080 */\tenum _PNP_DEVNODE_STATE StateHistory[20];\n/* off 0x00d0 */\tunsigned long\tStateHistoryEntry;\n/* off 0x00d4 */\tlong\tCompletionStatus;\n/* off 0x00d8 */\tunsigned long\tFlags;\n/* off 0x00dc */\tunsigned long\tUserFlags;\n/* off 0x00e0 */\tunsigned long\tProblem;\n/* off 0x00e4 */\tstruct _CM_RESOURCE_LIST*\tResourceList;\n/* off 0x00e8 */\tstruct _CM_RESOURCE_LIST*\tResourceListTranslated;\n/* off 0x00ec */\tstruct _DEVICE_OBJECT*\tDuplicatePDO;\n/* off 0x00f0 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x00f4 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x00f8 */\tunsigned long\tBusNumber;\n/* off 0x00fc */\tenum _INTERFACE_TYPE\tChildInterfaceType;\n/* off 0x0100 */\tunsigned long\tChildBusNumber;\n/* off 0x0104 */\tunsigned short\tChildBusTypeIndex;\n/* off 0x0106 */\tunsigned char\tRemovalPolicy;\n/* off 0x0107 */\tunsigned char\tHardwareRemovalPolicy;\n/* off 0x0108 */\tstruct _LIST_ENTRY\tTargetDeviceNotify;\n/* off 0x0110 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0118 */\tstruct _LIST_ENTRY\tDeviceTranslatorList;\n/* off 0x0120 */\tunsigned short\tNoTranslatorMask;\n/* off 0x0122 */\tunsigned short\tQueryTranslatorMask;\n/* off 0x0124 */\tunsigned short\tNoArbiterMask;\n/* off 0x0126 */\tunsigned short\tQueryArbiterMask;\n/* off 0x0128 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tLegacyDeviceNode;\n\t/* off 0x0000 */\tstruct _DEVICE_RELATIONS*\tPendingDeviceRelations;\n\t/* off 0x0000 */\tvoid*\tInformation;\n\t}\tOverUsed1;\n/* off 0x012c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _DEVICE_NODE*\tNextResourceDeviceNode;\n\t}\tOverUsed2;\n/* off 0x0130 */\tstruct _CM_RESOURCE_LIST*\tBootResources;\n/* off 0x0134 */\tstruct _CM_RESOURCE_LIST*\tBootResourcesTranslated;\n/* off 0x0138 */\tunsigned long\tCapabilityFlags;\n/* off 0x013c */\t\n\tstruct  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tenum PROFILE_STATUS\tDockStatus;\n\t/* off 0x0004 */\tstruct _LIST_ENTRY\tListEntry;\n\t/* off 0x000c */\tunsigned short*\tSerialNumber;\n\t}\tDockInfo;\n/* off 0x014c */\tunsigned long\tDisableableDepends;\n/* off 0x0150 */\tstruct _LIST_ENTRY\tPendedSetInterfaceState;\n/* off 0x0158 */\tstruct _LIST_ENTRY\tLegacyBusListEntry;\n/* off 0x0160 */\tunsigned long\tDriverUnloadRetryCount;\n/* off 0x0164 */\tstruct _DEVICE_NODE*\tPreviousParent;\n/* off 0x0168 */\tunsigned long\tDeletedChildren;\n/* off 0x016c */\tunsigned long\tNumaNodeIndex;\n/* off 0x0170 */\tstruct _GUID\tContainerID;\n/* off 0x0180 */\tunsigned char\tOverrideFlags;\n/* off 0x0181 */\tunsigned char\tRequiresUnloadedDriver;\n/* off 0x0184 */\tstruct _PENDING_RELATIONS_LIST_ENTRY*\tPendingEjectRelations;\n};\nenum _PNP_DEVNODE_STATE\n{\n\tDeviceNodeUnspecified\t=0x00000300\t,//0\n\tDeviceNodeUninitialized\t=0x00000301\t,//0\n\tDeviceNodeInitialized\t=0x00000302\t,//0\n\tDeviceNodeDriversAdded\t=0x00000303\t,//0\n\tDeviceNodeResourcesAssigned\t=0x00000304\t,//0\n\tDeviceNodeStartPending\t=0x00000305\t,//0\n\tDeviceNodeStartCompletion\t=0x00000306\t,//0\n\tDeviceNodeStartPostWork\t=0x00000307\t,//0\n\tDeviceNodeStarted\t=0x00000308\t,//0\n\tDeviceNodeQueryStopped\t=0x00000309\t,//0\n\tDeviceNodeStopped\t=0x0000030a\t,//0\n\tDeviceNodeRestartCompletion\t=0x0000030b\t,//0\n\tDeviceNodeEnumeratePending\t=0x0000030c\t,//0\n\tDeviceNodeEnumerateCompletion\t=0x0000030d\t,//0\n\tDeviceNodeAwaitingQueuedDeletion\t=0x0000030e\t,//0\n\tDeviceNodeAwaitingQueuedRemoval\t=0x0000030f\t,//0\n\tDeviceNodeQueryRemoved\t=0x00000310\t,//0\n\tDeviceNodeRemovePendingCloses\t=0x00000311\t,//0\n\tDeviceNodeRemoved\t=0x00000312\t,//0\n\tDeviceNodeDeletePendingCloses\t=0x00000313\t,//0\n\tDeviceNodeDeleted\t=0x00000314\t,//0\n\tMaxDeviceNodeState\t=0x00000315\t,//0\n};\nstruct _DEVICE_RELATIONS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT* Objects[1];\n};\nenum PROFILE_STATUS\n{\n\tDOCK_NOTDOCKDEVICE\t=0x00000000\t,//0\n\tDOCK_QUIESCENT\t=0x00000001\t,//0\n\tDOCK_ARRIVING\t=0x00000002\t,//0\n\tDOCK_DEPARTING\t=0x00000003\t,//0\n\tDOCK_EJECTIRP_COMPLETED\t=0x00000004\t,//0\n};\nstruct _PENDING_RELATIONS_LIST_ENTRY /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0018 */\tstruct _PNP_DEVICE_EVENT_ENTRY*\tDeviceEvent;\n/* off 0x001c */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x0020 */\tstruct _RELATION_LIST*\tRelationsList;\n/* off 0x0024 */\tstruct _IRP*\tEjectIrp;\n/* off 0x0028 */\tenum IRPLOCK\tLock;\n/* off 0x002c */\tunsigned long\tProblem;\n/* off 0x0030 */\tunsigned char\tProfileChangingEject;\n/* off 0x0031 */\tunsigned char\tDisplaySafeRemovalDialog;\n/* off 0x0034 */\tenum _SYSTEM_POWER_STATE\tLightestSleepState;\n/* off 0x0038 */\tstruct DOCK_INTERFACE*\tDockInterface;\n};\nstruct _PLUGPLAY_EVENT_BLOCK /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tstruct _GUID\tEventGuid;\n/* off 0x0010 */\tenum _PLUGPLAY_EVENT_CATEGORY\tEventCategory;\n/* off 0x0014 */\tunsigned long*\tResult;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tunsigned long\tTotalSize;\n/* off 0x0020 */\tvoid*\tDeviceObject;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000020 32 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000014 20 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tClassGuid;\n\t\t/* off 0x0010 */\twchar SymbolicLinkName[1];\n\t\t}\tDeviceClass;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceIds[1];\n\t\t}\tTargetDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tInstallDevice;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotificationStructure;\n\t\t/* off 0x0004 */\twchar DeviceIds[1];\n\t\t}\tCustomNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tvoid*\tNotification;\n\t\t}\tProfileNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tNotificationCode;\n\t\t/* off 0x0004 */\tunsigned long\tNotificationData;\n\t\t}\tPowerNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tenum _PNP_VETO_TYPE\tVetoType;\n\t\t/* off 0x0004 */\twchar DeviceIdVetoNameBuffer[1];\n\t\t}\tVetoNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tBlockedDriverGuid;\n\t\t}\tBlockedDriverNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar ParentId[1];\n\t\t}\tInvalidIDNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000020 32 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tPowerSettingGuid;\n\t\t/* off 0x0010 */\tunsigned long\tFlags;\n\t\t/* off 0x0014 */\tunsigned long\tSessionId;\n\t\t/* off 0x0018 */\tunsigned long\tDataLength;\n\t\t/* off 0x001c */\tunsigned char Data[1];\n\t\t}\tPowerSettingNotification;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000002 2 */\n\t\t{\n\t\t/* off 0x0000 */\twchar DeviceId[1];\n\t\t}\tPropertyChangeNotification;\n\t}\tu;\n};\nstruct _PNP_DEVICE_EVENT_ENTRY /* sizeof 00000064 100 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tArgument;\n/* off 0x000c */\tstruct _KEVENT*\tCallerEvent;\n/* off 0x0010 */\tvoid( __stdcall *Callback)(void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tenum _PNP_VETO_TYPE*\tVetoType;\n/* off 0x001c */\tstruct _UNICODE_STRING*\tVetoName;\n/* off 0x0020 */\tstruct _PLUGPLAY_EVENT_BLOCK\tData;\n};\nenum _PNP_VETO_TYPE\n{\n\tPNP_VetoTypeUnknown\t=0x00000000\t,//0\n\tPNP_VetoLegacyDevice\t=0x00000001\t,//0\n\tPNP_VetoPendingClose\t=0x00000002\t,//0\n\tPNP_VetoWindowsApp\t=0x00000003\t,//0\n\tPNP_VetoWindowsService\t=0x00000004\t,//0\n\tPNP_VetoOutstandingOpen\t=0x00000005\t,//0\n\tPNP_VetoDevice\t=0x00000006\t,//0\n\tPNP_VetoDriver\t=0x00000007\t,//0\n\tPNP_VetoIllegalDeviceRequest\t=0x00000008\t,//0\n\tPNP_VetoInsufficientPower\t=0x00000009\t,//0\n\tPNP_VetoNonDisableable\t=0x0000000a\t,//0\n\tPNP_VetoLegacyDriver\t=0x0000000b\t,//0\n\tPNP_VetoInsufficientRights\t=0x0000000c\t,//0\n};\nenum _PLUGPLAY_EVENT_CATEGORY\n{\n\tHardwareProfileChangeEvent\t=0x00000000\t,//0\n\tTargetDeviceChangeEvent\t=0x00000001\t,//0\n\tDeviceClassChangeEvent\t=0x00000002\t,//0\n\tCustomDeviceEvent\t=0x00000003\t,//0\n\tDeviceInstallEvent\t=0x00000004\t,//0\n\tDeviceArrivalEvent\t=0x00000005\t,//0\n\tVetoEvent\t=0x00000006\t,//0\n\tBlockedDriverEvent\t=0x00000007\t,//0\n\tInvalidIDEvent\t=0x00000008\t,//0\n\tDevicePropertyChangeEvent\t=0x00000009\t,//0\n\tDeviceInstanceRemovalEvent\t=0x0000000a\t,//0\n\tMaxPlugEventCategory\t=0x0000000b\t,//0\n};\nstruct _RELATION_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tTagCount;\n/* off 0x0008 */\tunsigned long\tFirstLevel;\n/* off 0x000c */\tunsigned long\tMaxLevel;\n/* off 0x0010 */\tstruct _RELATION_LIST_ENTRY* Entries[1];\n};\nstruct _RELATION_LIST_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* Devices[1];\n};\nenum IRPLOCK\n{\n\tIRPLOCK_CANCELABLE\t=0x00000000\t,//0\n\tIRPLOCK_CANCEL_STARTED\t=0x00000001\t,//0\n\tIRPLOCK_CANCEL_COMPLETE\t=0x00000002\t,//0\n\tIRPLOCK_COMPLETED\t=0x00000003\t,//0\n};\nstruct DOCK_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tunsigned long( __stdcall *ProfileDepartureSetMode)(void*,enum PROFILE_DEPARTURE_STYLE);\n/* off 0x0014 */\tunsigned long( __stdcall *ProfileDepartureUpdate)(void*);\n};\nenum PROFILE_DEPARTURE_STYLE\n{\n\tPDS_UPDATE_DEFAULT\t=0x00000001\t,//0\n\tPDS_UPDATE_ON_REMOVE\t=0x00000002\t,//0\n\tPDS_UPDATE_ON_INTERFACE\t=0x00000003\t,//0\n\tPDS_UPDATE_ON_EJECT\t=0x00000004\t,//0\n};\nstruct _PNP_ASSIGN_RESOURCES_CONTEXT /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tIncludeFailedDevices;\n/* off 0x0004 */\tunsigned long\tDeviceCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT* DeviceList[1];\n};\nstruct _PNP_RESOURCE_REQUEST /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDevice;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tenum _ARBITER_REQUEST_SOURCE\tAllocationType;\n/* off 0x000c */\tunsigned long\tPriority;\n/* off 0x0010 */\tunsigned long\tPosition;\n/* off 0x0014 */\tstruct _IO_RESOURCE_REQUIREMENTS_LIST*\tResourceRequirements;\n/* off 0x0018 */\tvoid*\tReqList;\n/* off 0x001c */\tstruct _CM_RESOURCE_LIST*\tResourceAssignment;\n/* off 0x0020 */\tstruct _CM_RESOURCE_LIST*\tTranslatedResourceAssignment;\n/* off 0x0024 */\tlong\tStatus;\n};\nenum _ARBITER_REQUEST_SOURCE\n{\n\tArbiterRequestUndefined\t=0xffffffff\t,//-1\n\tArbiterRequestLegacyReported\t=0x00000000\t,//0\n\tArbiterRequestHalReported\t=0x00000001\t,//0\n\tArbiterRequestLegacyAssigned\t=0x00000002\t,//0\n\tArbiterRequestPnpDetected\t=0x00000003\t,//0\n\tArbiterRequestPnpEnumerated\t=0x00000004\t,//0\n};\nstruct _EXCEPTION_RECORD64 /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned __int64\tExceptionRecord;\n/* off 0x0010 */\tunsigned __int64\tExceptionAddress;\n/* off 0x0018 */\tunsigned long\tNumberParameters;\n/* off 0x001c */\tunsigned long\t__unusedAlignment;\n/* off 0x0020 */\tunsigned __int64 ExceptionInformation[15];\n};\nstruct _EXCEPTION_RECORD32 /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tlong\tExceptionCode;\n/* off 0x0004 */\tunsigned long\tExceptionFlags;\n/* off 0x0008 */\tunsigned long\tExceptionRecord;\n/* off 0x000c */\tunsigned long\tExceptionAddress;\n/* off 0x0010 */\tunsigned long\tNumberParameters;\n/* off 0x0014 */\tunsigned long ExceptionInformation[15];\n};\nstruct _DBGKM_EXCEPTION64 /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD64\tExceptionRecord;\n/* off 0x0098 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKM_EXCEPTION32 /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD32\tExceptionRecord;\n/* off 0x0050 */\tunsigned long\tFirstChance;\n};\nstruct _DBGKD_LOAD_SYMBOLS64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0008 */\tunsigned __int64\tBaseOfDll;\n/* off 0x0010 */\tunsigned __int64\tProcessId;\n/* off 0x0018 */\tunsigned long\tCheckSum;\n/* off 0x001c */\tunsigned long\tSizeOfImage;\n/* off 0x0020 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_LOAD_SYMBOLS32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tPathNameLength;\n/* off 0x0004 */\tunsigned long\tBaseOfDll;\n/* off 0x0008 */\tunsigned long\tProcessId;\n/* off 0x000c */\tunsigned long\tCheckSum;\n/* off 0x0010 */\tunsigned long\tSizeOfImage;\n/* off 0x0014 */\tunsigned char\tUnloadSymbols;\n};\nstruct _DBGKD_READ_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_READ_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesRead;\n};\nstruct _DBGKD_WRITE_MEMORY64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tTargetBaseAddress;\n/* off 0x0008 */\tunsigned long\tTransferCount;\n/* off 0x000c */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_MEMORY32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tTargetBaseAddress;\n/* off 0x0004 */\tunsigned long\tTransferCount;\n/* off 0x0008 */\tunsigned long\tActualBytesWritten;\n};\nstruct _DBGKD_WRITE_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakPointAddress;\n/* off 0x0008 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_WRITE_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointAddress;\n/* off 0x0004 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_READ_WRITE_IO64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataSize;\n/* off 0x000c */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO32 /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tIoAddress;\n/* off 0x0008 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned __int64\tIoAddress;\n/* off 0x0018 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_READ_WRITE_IO_EXTENDED32 /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tDataSize;\n/* off 0x0004 */\tunsigned long\tInterfaceType;\n/* off 0x0008 */\tunsigned long\tBusNumber;\n/* off 0x000c */\tunsigned long\tAddressSpace;\n/* off 0x0010 */\tunsigned long\tIoAddress;\n/* off 0x0014 */\tunsigned long\tDataValue;\n};\nstruct _DBGKD_SET_SPECIAL_CALL32 /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tSpecialCall;\n};\nstruct _DBGKD_SET_SPECIAL_CALL64 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tSpecialCall;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT32 /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SET_INTERNAL_BREAKPOINT64 /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT64 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tBreakpointAddress;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCalls;\n/* off 0x0010 */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0014 */\tunsigned long\tMinInstructions;\n/* off 0x0018 */\tunsigned long\tMaxInstructions;\n/* off 0x001c */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_INTERNAL_BREAKPOINT32 /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tBreakpointAddress;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tCalls;\n/* off 0x000c */\tunsigned long\tMaxCallsPerPeriod;\n/* off 0x0010 */\tunsigned long\tMinInstructions;\n/* off 0x0014 */\tunsigned long\tMaxInstructions;\n/* off 0x0018 */\tunsigned long\tTotalInstructions;\n};\nstruct _DBGKD_GET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tUnused;\n};\nstruct _DBGKD_SET_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tContextFlags;\n};\nstruct _DBGKD_RESTORE_BREAKPOINT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointHandle;\n};\nstruct _DBGKD_CONTINUE /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\n};\nstruct _X86_DBGKD_CONTROL_SET /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned long\tDr7;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _IA64_DBGKD_CONTROL_SET /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _AMD64_DBGKD_CONTROL_SET /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tTraceFlag;\n/* off 0x0004 */\tunsigned __int64\tDr7;\n/* off 0x000c */\tunsigned __int64\tCurrentSymbolStart;\n/* off 0x0014 */\tunsigned __int64\tCurrentSymbolEnd;\n};\nstruct _ARM_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _PPC_DBGKD_CONTROL_SET /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tContinue;\n/* off 0x0004 */\tunsigned long\tCurrentSymbolStart;\n/* off 0x0008 */\tunsigned long\tCurrentSymbolEnd;\n};\nstruct _DBGKD_ANY_CONTROL_SET /* sizeof 0000001c 28 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _X86_DBGKD_CONTROL_SET\tX86ControlSet;\n/* off 0x0000 */\tunsigned long\tAlphaControlSet;\n/* off 0x0000 */\tstruct _IA64_DBGKD_CONTROL_SET\tIA64ControlSet;\n/* off 0x0000 */\tstruct _AMD64_DBGKD_CONTROL_SET\tAmd64ControlSet;\n/* off 0x0000 */\tstruct _ARM_DBGKD_CONTROL_SET\tArmControlSet;\n/* off 0x0000 */\tstruct _PPC_DBGKD_CONTROL_SET\tPpcControlSet;\n};\n};\nstruct _DBGKD_CONTINUE2 /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tContinueStatus;\nunion\n{\n/* off 0x0004 */\tstruct _X86_DBGKD_CONTROL_SET\tControlSet;\n/* off 0x0004 */\tstruct _DBGKD_ANY_CONTROL_SET\tAnyControlSet;\n};\n};\nstruct _DBGKD_QUERY_SPECIAL_CALLS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfSpecialCalls;\n};\nstruct _DBGKD_GET_VERSION64 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned char\tProtocolVersion;\n/* off 0x0005 */\tunsigned char\tKdSecondaryVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned short\tMachineType;\n/* off 0x000a */\tunsigned char\tMaxPacketType;\n/* off 0x000b */\tunsigned char\tMaxStateChange;\n/* off 0x000c */\tunsigned char\tMaxManipulate;\n/* off 0x000d */\tunsigned char\tSimulation;\n/* off 0x000e */\tunsigned short Unused[1];\n/* off 0x0010 */\tunsigned __int64\tKernBase;\n/* off 0x0018 */\tunsigned __int64\tPsLoadedModuleList;\n/* off 0x0020 */\tunsigned __int64\tDebuggerDataList;\n};\nstruct _DBGKD_BREAKPOINTEX /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBreakPointCount;\n/* off 0x0004 */\tlong\tContinueStatus;\n};\nstruct _DBGKD_READ_WRITE_MSR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tMsr;\n/* off 0x0004 */\tunsigned long\tDataValueLow;\n/* off 0x0008 */\tunsigned long\tDataValueHigh;\n};\nstruct _DBGKD_SEARCH_MEMORY /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned __int64\tSearchAddress;\n/* off 0x0000 */\tunsigned __int64\tFoundAddress;\n};\n/* off 0x0008 */\tunsigned __int64\tSearchLength;\n/* off 0x0010 */\tunsigned long\tPatternLength;\n};\nstruct _DBGKD_GET_SET_BUS_DATA /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned long\tBusDataType;\n/* off 0x0004 */\tunsigned long\tBusNumber;\n/* off 0x0008 */\tunsigned long\tSlotNumber;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tLength;\n};\nstruct _DBGKD_FILL_MEMORY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned long\tLength;\n/* off 0x000c */\tunsigned short\tFlags;\n/* off 0x000e */\tunsigned short\tPatternLength;\n};\nstruct _DBGKD_QUERY_MEMORY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tAddress;\n/* off 0x0008 */\tunsigned __int64\tReserved;\n/* off 0x0010 */\tunsigned long\tAddressSpace;\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nstruct _DBGKD_SWITCH_PARTITION /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tPartition;\n};\nstruct _DBGKD_MANIPULATE_STATE64 /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT64\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO64\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED64\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL64\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT64\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT64\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION64\tGetVersion64;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_SET_BUS_DATA\tGetSetBusData;\n\t/* off 0x0000 */\tstruct _DBGKD_FILL_MEMORY\tFillMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_MEMORY\tQueryMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_SWITCH_PARTITION\tSwitchPartition;\n\t}\tu;\n};\nstruct _DBGKD_GET_VERSION32 /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned short\tMajorVersion;\n/* off 0x0002 */\tunsigned short\tMinorVersion;\n/* off 0x0004 */\tunsigned short\tProtocolVersion;\n/* off 0x0006 */\tunsigned short\tFlags;\n/* off 0x0008 */\tunsigned long\tKernBase;\n/* off 0x000c */\tunsigned long\tPsLoadedModuleList;\n/* off 0x0010 */\tunsigned short\tMachineType;\n/* off 0x0012 */\tunsigned short\tThCallbackStack;\n/* off 0x0014 */\tunsigned short\tNextCallback;\n/* off 0x0016 */\tunsigned short\tFramePointer;\n/* off 0x0018 */\tunsigned long\tKiCallUserMode;\n/* off 0x001c */\tunsigned long\tKeUserCallbackDispatcher;\n/* off 0x0020 */\tunsigned long\tBreakpointWithStatus;\n/* off 0x0024 */\tunsigned long\tDebuggerDataList;\n};\nstruct _DBGKD_MANIPULATE_STATE32 /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tunsigned long\tApiNumber;\n/* off 0x0004 */\tunsigned short\tProcessorLevel;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tlong\tReturnStatus;\n/* off 0x000c */\t\n\tunion  /* sizeof 00000028 40 */\n\t{\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY32\tReadMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY32\tWriteMemory;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_MEMORY64\tReadMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_MEMORY64\tWriteMemory64;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_CONTEXT\tGetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_CONTEXT\tSetContext;\n\t/* off 0x0000 */\tstruct _DBGKD_WRITE_BREAKPOINT32\tWriteBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_RESTORE_BREAKPOINT\tRestoreBreakPoint;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE\tContinue;\n\t/* off 0x0000 */\tstruct _DBGKD_CONTINUE2\tContinue2;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO32\tReadWriteIo;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_IO_EXTENDED32\tReadWriteIoExtended;\n\t/* off 0x0000 */\tstruct _DBGKD_QUERY_SPECIAL_CALLS\tQuerySpecialCalls;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_SPECIAL_CALL32\tSetSpecialCall;\n\t/* off 0x0000 */\tstruct _DBGKD_SET_INTERNAL_BREAKPOINT32\tSetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_INTERNAL_BREAKPOINT32\tGetInternalBreakpoint;\n\t/* off 0x0000 */\tstruct _DBGKD_GET_VERSION32\tGetVersion32;\n\t/* off 0x0000 */\tstruct _DBGKD_BREAKPOINTEX\tBreakPointEx;\n\t/* off 0x0000 */\tstruct _DBGKD_READ_WRITE_MSR\tReadWriteMsr;\n\t/* off 0x0000 */\tstruct _DBGKD_SEARCH_MEMORY\tSearchMemory;\n\t}\tu;\n};\nstruct _POP_CPU_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tEax;\n/* off 0x0004 */\tunsigned long\tEbx;\n/* off 0x0008 */\tunsigned long\tEcx;\n/* off 0x000c */\tunsigned long\tEdx;\n};\nstruct _VOLUME_CACHE_MAP /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteCode;\n/* off 0x0004 */\tunsigned long\tUseCount;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tstruct _LIST_ENTRY\tVolumeCacheMapLinks;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long\tPagesQueuedToDisk;\n};\nstruct _KGUARDED_MUTEX /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tCount;\n/* off 0x0004 */\tstruct _KTHREAD*\tOwner;\n/* off 0x0008 */\tunsigned long\tContention;\n/* off 0x000c */\tstruct _KGATE\tGate;\nunion\n{\nstruct\n{\n/* off 0x001c */\tshort\tKernelApcDisable;\n/* off 0x001e */\tshort\tSpecialApcDisable;\n};\n/* off 0x001c */\tunsigned long\tCombinedApcDisable;\n};\n};\nstruct _PRIVATE_CACHE_MAP_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tDontUse:16\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tReadAheadActive:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned long\tReadAheadEnabled:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned long\tPagePriority:3\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned long\tAvailable:11\t /* start bit 21 */;\n};\nstruct _PRIVATE_CACHE_MAP /* sizeof 00000058 88 */\n{\nunion\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0000 */\tstruct _PRIVATE_CACHE_MAP_FLAGS\tFlags;\n/* off 0x0000 */\tunsigned long\tUlongFlags;\n};\n/* off 0x0004 */\tunsigned long\tReadAheadMask;\n/* off 0x0008 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tFileOffset1;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tBeyondLastByte1;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tFileOffset2;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tBeyondLastByte2;\n/* off 0x0030 */\tunsigned long\tSequentialReadCount;\n/* off 0x0034 */\tunsigned long\tReadAheadLength;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tReadAheadOffset;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tReadAheadBeyondLastByte;\n/* off 0x0048 */\tunsigned long\tReadAheadSpinLock;\n/* off 0x004c */\tstruct _LIST_ENTRY\tPrivateLinks;\n/* off 0x0054 */\tvoid*\tReadAheadWorkItem;\n};\nstruct _SHARED_CACHE_MAP /* sizeof 00000160 352 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tunsigned long\tOpenCount;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tFileSize;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBcbList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSectionSize;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tValidDataLength;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tValidDataGoal;\n/* off 0x0030 */\tstruct _VACB* InitialVacbs[4];\n/* off 0x0040 */\tstruct _VACB**\tVacbs;\n/* off 0x0044 */\tstruct _EX_FAST_REF\tFileObjectFastRef;\n/* off 0x0048 */\tstruct _EX_PUSH_LOCK\tVacbLock;\n/* off 0x004c */\tunsigned long\tDirtyPages;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tLoggedStreamLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0060 */\tunsigned long\tFlags;\n/* off 0x0064 */\tlong\tStatus;\n/* off 0x0068 */\tstruct _MBCB*\tMbcb;\n/* off 0x006c */\tvoid*\tSection;\n/* off 0x0070 */\tstruct _KEVENT*\tCreateEvent;\n/* off 0x0074 */\tstruct _KEVENT*\tWaitOnActiveCount;\n/* off 0x0078 */\tunsigned long\tPagesToWrite;\n/* off 0x0080 */\t__int64\tBeyondLastFlush;\n/* off 0x0088 */\tstruct _CACHE_MANAGER_CALLBACKS*\tCallbacks;\n/* off 0x008c */\tvoid*\tLazyWriteContext;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tPrivateList;\n/* off 0x0098 */\tvoid*\tLogHandle;\n/* off 0x009c */\tvoid( __stdcall *FlushToLsnRoutine)(void*,union _LARGE_INTEGER);\n/* off 0x00a0 */\tunsigned long\tDirtyPageThreshold;\n/* off 0x00a4 */\tunsigned long\tLazyWritePassCount;\n/* off 0x00a8 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tUninitializeEvent;\n/* off 0x00ac */\tstruct _KGUARDED_MUTEX\tBcbLock;\n/* off 0x00d0 */\tunion _LARGE_INTEGER\tLastUnmapBehindOffset;\n/* off 0x00d8 */\tstruct _KEVENT\tEvent;\n/* off 0x00e8 */\tunion _LARGE_INTEGER\tHighWaterMappingOffset;\n/* off 0x00f0 */\tstruct _PRIVATE_CACHE_MAP\tPrivateCacheMap;\n/* off 0x0148 */\tvoid*\tWriteBehindWorkQueueEntry;\n/* off 0x014c */\tstruct _VOLUME_CACHE_MAP*\tVolumeCacheMap;\n/* off 0x0150 */\tunsigned long\tProcImagePathHash;\n/* off 0x0154 */\tunsigned long\tWritesInProgress;\n/* off 0x0158 */\tunsigned long\tPipelinedReadAheadSize;\n};\nstruct _VACB /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tunion _LARGE_INTEGER\tFileOffset;\n\t/* off 0x0000 */\tunsigned short\tActiveCount;\n\t}\tOverlay;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0018 */\tstruct _VACB_ARRAY_HEADER*\tArrayHead;\n};\nstruct _VACB_ARRAY_HEADER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tVacbArrayIndex;\n/* off 0x0004 */\tunsigned long\tMappingCount;\n/* off 0x0008 */\tunsigned long\tHighestMappedIndex;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _BITMAP_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\t__int64\tBasePage;\n/* off 0x0010 */\tunsigned long\tFirstDirtyPage;\n/* off 0x0014 */\tunsigned long\tLastDirtyPage;\n/* off 0x0018 */\tunsigned long\tDirtyPages;\n/* off 0x001c */\tunsigned long*\tBitmap;\n};\nstruct _MBCB /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeIsInZone;\n/* off 0x0004 */\tunsigned long\tPagesToWrite;\n/* off 0x0008 */\tunsigned long\tDirtyPages;\n/* off 0x000c */\tunsigned long\tReserved;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tBitmapRanges;\n/* off 0x0018 */\t__int64\tResumeWritePage;\n/* off 0x0020 */\t__int64\tMostRecentlyDirtiedPage;\n/* off 0x0028 */\tstruct _BITMAP_RANGE\tBitmapRange1;\n/* off 0x0048 */\tstruct _BITMAP_RANGE\tBitmapRange2;\n/* off 0x0068 */\tstruct _BITMAP_RANGE\tBitmapRange3;\n};\nstruct _CACHE_MANAGER_CALLBACKS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned char( __stdcall *AcquireForLazyWrite)(void*,unsigned char);\n/* off 0x0004 */\tvoid( __stdcall *ReleaseFromLazyWrite)(void*);\n/* off 0x0008 */\tunsigned char( __stdcall *AcquireForReadAhead)(void*,unsigned char);\n/* off 0x000c */\tvoid( __stdcall *ReleaseFromReadAhead)(void*);\n};\nstruct _CACHE_UNINITIALIZE_EVENT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _CACHE_UNINITIALIZE_EVENT*\tNext;\n/* off 0x0004 */\tstruct _KEVENT\tEvent;\n};\nstruct _WORK_QUEUE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tWorkQueueLinks;\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _FILE_OBJECT*\tFileObject;\n\t\t}\tRead;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _SHARED_CACHE_MAP*\tSharedCacheMap;\n\t\t}\tWrite;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _KEVENT*\tEvent;\n\t\t}\tEvent;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tReason;\n\t\t}\tNotification;\n\t}\tParameters;\n/* off 0x000c */\tunsigned char\tFunction;\n};\nstruct VACB_LEVEL_ALLOCATION_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tVacbLevelList;\n/* off 0x0008 */\tvoid*\tVacbLevelWithBcbListHeads;\n/* off 0x000c */\tunsigned long\tVacbLevelsAllocated;\n};\nstruct _VACB_LEVEL_REFERENCE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tlong\tReference;\n/* off 0x0004 */\tlong\tSpecialReference;\n};\nstruct _HEAP_LIST_LOOKUP /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _HEAP_LIST_LOOKUP*\tExtendedLookup;\n/* off 0x0004 */\tunsigned long\tArraySize;\n/* off 0x0008 */\tunsigned long\tExtraItem;\n/* off 0x000c */\tunsigned long\tItemCount;\n/* off 0x0010 */\tunsigned long\tOutOfRangeItems;\n/* off 0x0014 */\tunsigned long\tBaseIndex;\n/* off 0x0018 */\tstruct _LIST_ENTRY*\tListHead;\n/* off 0x001c */\tunsigned long*\tListsInUseUlong;\n/* off 0x0020 */\tstruct _LIST_ENTRY**\tListHints;\n};\nstruct _HEAP_ENTRY /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\nstruct _HEAP_COUNTERS /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tTotalMemoryReserved;\n/* off 0x0004 */\tunsigned long\tTotalMemoryCommitted;\n/* off 0x0008 */\tunsigned long\tTotalMemoryLargeUCR;\n/* off 0x000c */\tunsigned long\tTotalSizeInVirtualBlocks;\n/* off 0x0010 */\tunsigned long\tTotalSegments;\n/* off 0x0014 */\tunsigned long\tTotalUCRs;\n/* off 0x0018 */\tunsigned long\tCommittOps;\n/* off 0x001c */\tunsigned long\tDeCommitOps;\n/* off 0x0020 */\tunsigned long\tLockAcquires;\n/* off 0x0024 */\tunsigned long\tLockCollisions;\n/* off 0x0028 */\tunsigned long\tCommitRate;\n/* off 0x002c */\tunsigned long\tDecommittRate;\n/* off 0x0030 */\tunsigned long\tCommitFailures;\n/* off 0x0034 */\tunsigned long\tInBlockCommitFailures;\n/* off 0x0038 */\tunsigned long\tCompactHeapCalls;\n/* off 0x003c */\tunsigned long\tCompactedUCRs;\n/* off 0x0040 */\tunsigned long\tAllocAndFreeOps;\n/* off 0x0044 */\tunsigned long\tInBlockDeccommits;\n/* off 0x0048 */\tunsigned long\tInBlockDeccomitSize;\n/* off 0x004c */\tunsigned long\tHighWatermarkSize;\n/* off 0x0050 */\tunsigned long\tLastPolledSize;\n};\nstruct _HEAP_TUNING_PARAMETERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tCommittThresholdShift;\n/* off 0x0004 */\tunsigned long\tMaxPreCommittThreshold;\n};\nstruct _HEAP /* sizeof 00000138 312 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n/* off 0x0040 */\tunsigned long\tFlags;\n/* off 0x0044 */\tunsigned long\tForceFlags;\n/* off 0x0048 */\tunsigned long\tCompatibilityFlags;\n/* off 0x004c */\tunsigned long\tEncodeFlagMask;\n/* off 0x0050 */\tstruct _HEAP_ENTRY\tEncoding;\n/* off 0x0058 */\tunsigned long\tPointerKey;\n/* off 0x005c */\tunsigned long\tInterceptor;\n/* off 0x0060 */\tunsigned long\tVirtualMemoryThreshold;\n/* off 0x0064 */\tunsigned long\tSignature;\n/* off 0x0068 */\tunsigned long\tSegmentReserve;\n/* off 0x006c */\tunsigned long\tSegmentCommit;\n/* off 0x0070 */\tunsigned long\tDeCommitFreeBlockThreshold;\n/* off 0x0074 */\tunsigned long\tDeCommitTotalFreeThreshold;\n/* off 0x0078 */\tunsigned long\tTotalFreeSize;\n/* off 0x007c */\tunsigned long\tMaximumAllocationSize;\n/* off 0x0080 */\tunsigned short\tProcessHeapsListIndex;\n/* off 0x0082 */\tunsigned short\tHeaderValidateLength;\n/* off 0x0084 */\tvoid*\tHeaderValidateCopy;\n/* off 0x0088 */\tunsigned short\tNextAvailableTagIndex;\n/* off 0x008a */\tunsigned short\tMaximumTagIndex;\n/* off 0x008c */\tstruct _HEAP_TAG_ENTRY*\tTagEntries;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tUCRList;\n/* off 0x0098 */\tunsigned long\tAlignRound;\n/* off 0x009c */\tunsigned long\tAlignMask;\n/* off 0x00a0 */\tstruct _LIST_ENTRY\tVirtualAllocdBlocks;\n/* off 0x00a8 */\tstruct _LIST_ENTRY\tSegmentList;\n/* off 0x00b0 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x00b4 */\tunsigned long\tNonDedicatedListLength;\n/* off 0x00b8 */\tvoid*\tBlocksIndex;\n/* off 0x00bc */\tvoid*\tUCRIndex;\n/* off 0x00c0 */\tstruct _HEAP_PSEUDO_TAG_ENTRY*\tPseudoTagEntries;\n/* off 0x00c4 */\tstruct _LIST_ENTRY\tFreeLists;\n/* off 0x00cc */\tstruct _HEAP_LOCK*\tLockVariable;\n/* off 0x00d0 */\tlong( __stdcall *CommitRoutine)(void*,void**,unsigned long*);\n/* off 0x00d4 */\tvoid*\tFrontEndHeap;\n/* off 0x00d8 */\tunsigned short\tFrontHeapLockCount;\n/* off 0x00da */\tunsigned char\tFrontEndHeapType;\n/* off 0x00dc */\tstruct _HEAP_COUNTERS\tCounters;\n/* off 0x0130 */\tstruct _HEAP_TUNING_PARAMETERS\tTuningParameters;\n};\nstruct _HEAP_TAG_ENTRY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n/* off 0x000c */\tunsigned short\tTagIndex;\n/* off 0x000e */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x0010 */\twchar TagName[24];\n};\nstruct _HEAP_PSEUDO_TAG_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tAllocs;\n/* off 0x0004 */\tunsigned long\tFrees;\n/* off 0x0008 */\tunsigned long\tSize;\n};\nstruct _HEAP_LOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000018 24 */\n\t{\n\t/* off 0x0000 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n\t}\tLock;\n};\nstruct _HEAP_SEGMENT /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _HEAP_ENTRY\tEntry;\n/* off 0x0008 */\tunsigned long\tSegmentSignature;\n/* off 0x000c */\tunsigned long\tSegmentFlags;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tSegmentListEntry;\n/* off 0x0018 */\tstruct _HEAP*\tHeap;\n/* off 0x001c */\tvoid*\tBaseAddress;\n/* off 0x0020 */\tunsigned long\tNumberOfPages;\n/* off 0x0024 */\tstruct _HEAP_ENTRY*\tFirstEntry;\n/* off 0x0028 */\tstruct _HEAP_ENTRY*\tLastValidEntry;\n/* off 0x002c */\tunsigned long\tNumberOfUnCommittedPages;\n/* off 0x0030 */\tunsigned long\tNumberOfUnCommittedRanges;\n/* off 0x0034 */\tunsigned short\tSegmentAllocatorBackTraceIndex;\n/* off 0x0036 */\tunsigned short\tReserved;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tUCRSegmentList;\n};\nstruct _HEAP_FREE_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\nstruct\n{\n/* off 0x0002 */\tunsigned char\tFlags;\n/* off 0x0003 */\tunsigned char\tSmallTagIndex;\n};\nstruct\n{\n/* off 0x0000 */\tvoid*\tSubSegmentCode;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tunsigned short\tPreviousSize;\nunion\n{\n/* off 0x0006 */\tunsigned char\tSegmentOffset;\nstruct\n{\n/* off 0x0006 */\tunsigned char\tLFHFlags;\nunion\n{\nstruct\n{\n/* off 0x0007 */\tunsigned char\tUnusedBytes;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned short\tFunctionIndex;\n};\nstruct\n{\n/* off 0x0002 */\tunsigned short\tContextValue;\n};\n};\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tInterceptorValue;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tUnusedBytesLength;\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tEntryOffset;\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tExtendedBlockSignature;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tCode1;\n};\nstruct\n{\n/* off 0x0004 */\tunsigned short\tCode2;\n};\n};\n};\nstruct\n{\n/* off 0x0006 */\tunsigned char\tCode3;\n};\n};\n};\nstruct\n{\n/* off 0x0007 */\tunsigned char\tCode4;\n};\nstruct\n{\n};\n};\n/* off 0x0000 */\tunsigned __int64\tAgregateCode;\n};\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tFreeList;\n};\nenum _HEAP_FAILURE_TYPE\n{\n\theap_failure_internal\t=0x00000000\t,//0\n\theap_failure_unknown\t=0x00000001\t,//0\n\theap_failure_generic\t=0x00000002\t,//0\n\theap_failure_entry_corruption\t=0x00000003\t,//0\n\theap_failure_multiple_entries_corruption\t=0x00000004\t,//0\n\theap_failure_virtual_block_corruption\t=0x00000005\t,//0\n\theap_failure_buffer_overrun\t=0x00000006\t,//0\n\theap_failure_buffer_underrun\t=0x00000007\t,//0\n\theap_failure_block_not_busy\t=0x00000008\t,//0\n\theap_failure_invalid_argument\t=0x00000009\t,//0\n\theap_failure_usage_after_free\t=0x0000000a\t,//0\n\theap_failure_cross_heap_operation\t=0x0000000b\t,//0\n\theap_failure_freelists_corruption\t=0x0000000c\t,//0\n\theap_failure_listentry_corruption\t=0x0000000d\t,//0\n};\nstruct _LDR_DATA_TABLE_ENTRY /* sizeof 00000078 120 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tInLoadOrderLinks;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tInMemoryOrderLinks;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tInInitializationOrderLinks;\n/* off 0x0018 */\tvoid*\tDllBase;\n/* off 0x001c */\tvoid*\tEntryPoint;\n/* off 0x0020 */\tunsigned long\tSizeOfImage;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tFullDllName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tBaseDllName;\n/* off 0x0034 */\tunsigned long\tFlags;\n/* off 0x0038 */\tunsigned short\tLoadCount;\n/* off 0x003a */\tunsigned short\tTlsIndex;\nunion\n{\n/* off 0x003c */\tstruct _LIST_ENTRY\tHashLinks;\nstruct\n{\n/* off 0x003c */\tvoid*\tSectionPointer;\n/* off 0x0040 */\tunsigned long\tCheckSum;\n};\n};\nunion\n{\n/* off 0x0044 */\tunsigned long\tTimeDateStamp;\n/* off 0x0044 */\tvoid*\tLoadedImports;\n};\n/* off 0x0048 */\tstruct _ACTIVATION_CONTEXT*\tEntryPointActivationContext;\n/* off 0x004c */\tvoid*\tPatchInformation;\n/* off 0x0050 */\tstruct _LIST_ENTRY\tForwarderLinks;\n/* off 0x0058 */\tstruct _LIST_ENTRY\tServiceTagLinks;\n/* off 0x0060 */\tstruct _LIST_ENTRY\tStaticLinks;\n/* off 0x0068 */\tvoid*\tContextInformation;\n/* off 0x006c */\tunsigned long\tOriginalBase;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tLoadTime;\n};\nstruct _INTERLOCK_SEQ /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tDepth;\n/* off 0x0002 */\tunsigned short\tFreeEntryOffset;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tOffsetAndDepth;\n/* off 0x0004 */\tunsigned long\tSequence;\n};\n/* off 0x0000 */\t__int64\tExchg;\n};\n};\nstruct _HEAP_SUBSEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _HEAP_LOCAL_SEGMENT_INFO*\tLocalInfo;\n/* off 0x0004 */\tstruct _HEAP_USERDATA_HEADER*\tUserBlocks;\n/* off 0x0008 */\tstruct _INTERLOCK_SEQ\tAggregateExchg;\nunion\n{\nstruct\n{\n/* off 0x0010 */\tunsigned short\tBlockSize;\n/* off 0x0012 */\tunsigned short\tFlags;\n/* off 0x0014 */\tunsigned short\tBlockCount;\n/* off 0x0016 */\tunsigned char\tSizeIndex;\n/* off 0x0017 */\tunsigned char\tAffinityIndex;\n};\nstruct\n{\n/* off 0x0010 */\tunsigned long Alignment[2];\n};\n};\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x001c */\tunsigned long\tLock;\n};\nstruct _HEAP_LOCAL_SEGMENT_INFO /* sizeof 00000000 0 */\n{\n};\nstruct _HEAP_USERDATA_HEADER /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSFreeListEntry;\n/* off 0x0000 */\tstruct _HEAP_SUBSEGMENT*\tSubSegment;\n};\n/* off 0x0004 */\tvoid*\tReserved;\n/* off 0x0008 */\tunsigned long\tSizeIndex;\n/* off 0x000c */\tunsigned long\tSignature;\n};\nstruct _PORT_MESSAGE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tDataLength;\n\t\t/* off 0x0002 */\tshort\tTotalLength;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tLength;\n\t}\tu1;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tshort\tType;\n\t\t/* off 0x0002 */\tshort\tDataInfoOffset;\n\t\t}\ts2;\n\t/* off 0x0000 */\tunsigned long\tZeroInit;\n\t}\tu2;\nunion\n{\n/* off 0x0008 */\tstruct _CLIENT_ID\tClientId;\n/* off 0x0008 */\tdouble\tDoNotUseThisField;\n};\n/* off 0x0010 */\tunsigned long\tMessageId;\nunion\n{\n/* off 0x0014 */\tunsigned long\tClientViewSize;\n/* off 0x0014 */\tunsigned long\tCallbackId;\n};\n};\nstruct _ALPC_MESSAGE_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tAllocatedAttributes;\n/* off 0x0004 */\tunsigned long\tValidAttributes;\n};\nstruct _ALPC_HANDLE_ENTRY /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tvoid*\tObject;\n};\nstruct _BLOB_TYPE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tenum _BLOB_ID\tResourceId;\n/* off 0x0004 */\tunsigned long\tPoolTag;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCreatedObjects;\n/* off 0x0010 */\tunsigned long\tDeletedObjects;\n/* off 0x0014 */\tvoid( __stdcall *DeleteProcedure)(void*);\n/* off 0x0018 */\tlong( __stdcall *DestroyProcedure)(void*);\n/* off 0x001c */\tunsigned long\tUsualSize;\n/* off 0x0020 */\tunsigned long\tLookasideIndex;\n};\nenum _BLOB_ID\n{\n\tBLOB_TYPE_UNKNOWN\t=0x00000000\t,//0\n\tBLOB_TYPE_CONNECTION_INFO\t=0x00000001\t,//0\n\tBLOB_TYPE_MESSAGE\t=0x00000002\t,//0\n\tBLOB_TYPE_SECURITY_CONTEXT\t=0x00000003\t,//0\n\tBLOB_TYPE_SECTION\t=0x00000004\t,//0\n\tBLOB_TYPE_REGION\t=0x00000005\t,//0\n\tBLOB_TYPE_VIEW\t=0x00000006\t,//0\n\tBLOB_TYPE_RESERVE\t=0x00000007\t,//0\n\tBLOB_TYPE_DIRECT_TRANSFER\t=0x00000008\t,//0\n\tBLOB_TYPE_HANDLE_DATA\t=0x00000009\t,//0\n\tBLOB_TYPE_MAX_ID\t=0x0000000a\t,//0\n};\nstruct _BLOB /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000001 1 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned char\tReferenceCache:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned char\tLookaside:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned char\tInitializing:1\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned char\tDeleted:1\t /* start bit 3 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned char\tFlags;\n\t}\tu1;\n/* off 0x0009 */\tunsigned char\tResourceId;\n/* off 0x000a */\tshort\tCachedReferences;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0014 */\tunsigned long\tPad;\n};\nstruct _KALPC_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tSectionObject;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x000c */\tvoid*\tSectionHandle;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInternal:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfRegions;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tRegionListHead;\n};\nstruct _ALPC_HANDLE_TABLE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_ENTRY*\tHandles;\n/* off 0x0004 */\tunsigned long\tTotalHandles;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tstruct _EX_PUSH_LOCK\tLock;\n};\nstruct _TOKEN_SOURCE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tchar SourceName[8];\n/* off 0x0008 */\tstruct _LUID\tSourceIdentifier;\n};\nstruct _TOKEN_CONTROL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LUID\tTokenId;\n/* off 0x0008 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0010 */\tstruct _LUID\tModifiedId;\n/* off 0x0018 */\tstruct _TOKEN_SOURCE\tTokenSource;\n};\nstruct _SECURITY_CLIENT_CONTEXT /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x000c */\tvoid*\tClientToken;\n/* off 0x0010 */\tunsigned char\tDirectlyAccessClientToken;\n/* off 0x0011 */\tunsigned char\tDirectAccessEffectiveOnly;\n/* off 0x0012 */\tunsigned char\tServerIsRemote;\n/* off 0x0014 */\tstruct _TOKEN_CONTROL\tClientTokenControl;\n};\nstruct _ALPC_PORT_ATTRIBUTES /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x0010 */\tunsigned long\tMaxMessageLength;\n/* off 0x0014 */\tunsigned long\tMemoryBandwidth;\n/* off 0x0018 */\tunsigned long\tMaxPoolUsage;\n/* off 0x001c */\tunsigned long\tMaxSectionSize;\n/* off 0x0020 */\tunsigned long\tMaxViewSize;\n/* off 0x0024 */\tunsigned long\tMaxTotalSectionSize;\n/* off 0x0028 */\tunsigned long\tDupObjectTypes;\n};\nstruct _ALPC_PORT /* sizeof 000000fc 252 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tPortListEntry;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0010 */\tvoid*\tCompletionPort;\n/* off 0x0014 */\tvoid*\tCompletionKey;\n/* off 0x0018 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tCompletionPacketLookaside;\n/* off 0x001c */\tvoid*\tPortContext;\n/* off 0x0020 */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x005c */\tstruct _LIST_ENTRY\tMainQueue;\n/* off 0x0064 */\tstruct _LIST_ENTRY\tPendingQueue;\n/* off 0x006c */\tstruct _LIST_ENTRY\tLargeMessageQueue;\n/* off 0x0074 */\tstruct _LIST_ENTRY\tWaitQueue;\nunion\n{\n/* off 0x007c */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x007c */\tstruct _KEVENT*\tDummyEvent;\n};\n/* off 0x0080 */\tstruct _ALPC_PORT_ATTRIBUTES\tPortAttributes;\n/* off 0x00ac */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x00b0 */\tstruct _EX_PUSH_LOCK\tResourceListLock;\n/* off 0x00b4 */\tstruct _LIST_ENTRY\tResourceListHead;\n/* off 0x00bc */\tstruct _ALPC_COMPLETION_LIST*\tCompletionList;\n/* off 0x00c0 */\tstruct _ALPC_MESSAGE_ZONE*\tMessageZone;\n/* off 0x00c4 */\tstruct _CALLBACK_OBJECT*\tCallbackObject;\n/* off 0x00c8 */\tvoid*\tCallbackContext;\n/* off 0x00cc */\tstruct _LIST_ENTRY\tCanceledQueue;\n/* off 0x00d4 */\tlong\tSequenceNo;\n/* off 0x00d8 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tType:2\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionPending:1\t /* start bit 3 */;\n\t\t/* off 0x0000 */\tunsigned long\tConnectionRefused:1\t /* start bit 4 */;\n\t\t/* off 0x0000 */\tunsigned long\tDisconnected:1\t /* start bit 5 */;\n\t\t/* off 0x0000 */\tunsigned long\tClosed:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tNoFlushOnClose:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReturnExtendedInfo:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tWaitable:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tDynamicSecurity:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tWow64CompletionList:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpc:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tLpcToLpc:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tHasCompletionList:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tHadCompletionList:1\t /* start bit 15 */;\n\t\t/* off 0x0000 */\tunsigned long\tEnableCompletionList:1\t /* start bit 16 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x00dc */\tstruct _ALPC_PORT*\tTargetQueuePort;\n/* off 0x00e0 */\tstruct _ALPC_PORT*\tTargetSequencePort;\n/* off 0x00e4 */\tstruct _KALPC_MESSAGE*\tCachedMessage;\n/* off 0x00e8 */\tunsigned long\tMainQueueLength;\n/* off 0x00ec */\tunsigned long\tPendingQueueLength;\n/* off 0x00f0 */\tunsigned long\tLargeMessageQueueLength;\n/* off 0x00f4 */\tunsigned long\tCanceledQueueLength;\n/* off 0x00f8 */\tunsigned long\tWaitQueueLength;\n};\nstruct _ALPC_COMMUNICATION_INFO /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x0004 */\tstruct _ALPC_PORT*\tServerCommunicationPort;\n/* off 0x0008 */\tstruct _ALPC_PORT*\tClientCommunicationPort;\n/* off 0x000c */\tstruct _LIST_ENTRY\tCommunicationList;\n/* off 0x0014 */\tstruct _ALPC_HANDLE_TABLE\tHandleTable;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tListEntry;\n/* off 0x0004 */\tstruct _IO_MINI_COMPLETION_PACKET_USER*\tPacket;\n/* off 0x0008 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE*\tLookaside;\n};\nstruct _ALPC_COMPLETION_PACKET_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunsigned long\tLock;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tunsigned long\tActiveCount;\n/* off 0x000c */\tunsigned long\tPendingNullCount;\n/* off 0x0010 */\tunsigned long\tPendingCheckCompletionListCount;\n/* off 0x0014 */\tunsigned long\tPendingDelete;\n/* off 0x0018 */\tstruct _SINGLE_LIST_ENTRY\tFreeListHead;\n/* off 0x001c */\tvoid*\tCompletionPort;\n/* off 0x0020 */\tvoid*\tCompletionKey;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_PACKET_LOOKASIDE_ENTRY Entry[1];\n};\nstruct _IO_MINI_COMPLETION_PACKET_USER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tPacketType;\n/* off 0x000c */\tvoid*\tKeyContext;\n/* off 0x0010 */\tvoid*\tApcContext;\n/* off 0x0014 */\tlong\tIoStatus;\n/* off 0x0018 */\tunsigned long\tIoStatusInformation;\n/* off 0x001c */\tvoid( __stdcall *MiniPacketCallback)(struct _IO_MINI_COMPLETION_PACKET_USER*,void*);\n/* off 0x0020 */\tvoid*\tContext;\n/* off 0x0024 */\tunsigned char\tAllocated;\n};\nstruct _ALPC_COMPLETION_LIST /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x000c */\tstruct _MDL*\tMdl;\n/* off 0x0010 */\tvoid*\tUserVa;\n/* off 0x0014 */\tvoid*\tUserLimit;\n/* off 0x0018 */\tvoid*\tDataUserVa;\n/* off 0x001c */\tvoid*\tSystemVa;\n/* off 0x0020 */\tunsigned long\tTotalSize;\n/* off 0x0024 */\tstruct _ALPC_COMPLETION_LIST_HEADER*\tHeader;\n/* off 0x0028 */\tvoid*\tList;\n/* off 0x002c */\tunsigned long\tListSize;\n/* off 0x0030 */\tvoid*\tBitmap;\n/* off 0x0034 */\tunsigned long\tBitmapSize;\n/* off 0x0038 */\tvoid*\tData;\n/* off 0x003c */\tunsigned long\tDataSize;\n/* off 0x0040 */\tunsigned long\tBitmapLimit;\n/* off 0x0044 */\tunsigned long\tBitmapNextHint;\n/* off 0x0048 */\tunsigned long\tConcurrencyCount;\n/* off 0x004c */\tunsigned long\tAttributeFlags;\n/* off 0x0050 */\tunsigned long\tAttributeSize;\n};\nstruct _ALPC_COMPLETION_LIST_STATE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned __int64\tHead:24\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tTail:24\t /* start bit 24 */;\n\t\t/* off 0x0000 */\tunsigned __int64\tActiveThreadCount:16\t /* start bit 48 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned __int64\tValue;\n\t}\tu1;\n};\nstruct _RTL_SRWLOCK /* sizeof 00000004 4 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tLocked:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tWaiting:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaking:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tMultipleShared:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tShared:28\t /* start bit 4 */;\n};\n/* off 0x0000 */\tunsigned long\tValue;\n/* off 0x0000 */\tvoid*\tPtr;\n};\n};\nstruct _ALPC_COMPLETION_LIST_HEADER /* sizeof 00000300 768 */\n{\n/* off 0x0000 */\tunsigned __int64\tStartMagic;\n/* off 0x0008 */\tunsigned long\tTotalSize;\n/* off 0x000c */\tunsigned long\tListOffset;\n/* off 0x0010 */\tunsigned long\tListSize;\n/* off 0x0014 */\tunsigned long\tBitmapOffset;\n/* off 0x0018 */\tunsigned long\tBitmapSize;\n/* off 0x001c */\tunsigned long\tDataOffset;\n/* off 0x0020 */\tunsigned long\tDataSize;\n/* off 0x0024 */\tunsigned long\tAttributeFlags;\n/* off 0x0028 */\tunsigned long\tAttributeSize;\n/* off 0x0080 */\tstruct _ALPC_COMPLETION_LIST_STATE\tState;\n/* off 0x0088 */\tunsigned long\tLastMessageId;\n/* off 0x008c */\tunsigned long\tLastCallbackId;\n/* off 0x0100 */\tunsigned long\tPostCount;\n/* off 0x0180 */\tunsigned long\tReturnCount;\n/* off 0x0200 */\tunsigned long\tLogSequenceNumber;\n/* off 0x0280 */\tstruct _RTL_SRWLOCK\tUserLock;\n/* off 0x0288 */\tunsigned __int64\tEndMagic;\n};\nstruct _ALPC_MESSAGE_ZONE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _MDL*\tMdl;\n/* off 0x0004 */\tvoid*\tUserVa;\n/* off 0x0008 */\tvoid*\tUserLimit;\n/* off 0x000c */\tvoid*\tSystemVa;\n/* off 0x0010 */\tvoid*\tSystemLimit;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _CALLBACK_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _KALPC_MESSAGE_ATTRIBUTES /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tClientContext;\n/* off 0x0004 */\tvoid*\tServerContext;\n/* off 0x0008 */\tvoid*\tPortContext;\n/* off 0x000c */\tvoid*\tCancelPortContext;\n/* off 0x0010 */\tstruct _KALPC_SECURITY_DATA*\tSecurityData;\n/* off 0x0014 */\tstruct _KALPC_VIEW*\tView;\n/* off 0x0018 */\tstruct _KALPC_HANDLE_DATA*\tHandleData;\n};\nstruct _KALPC_MESSAGE /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tvoid*\tExtensionBuffer;\n/* off 0x000c */\tunsigned long\tExtensionBufferSize;\nunion\n{\n/* off 0x0010 */\tstruct _EPROCESS*\tQuotaProcess;\n/* off 0x0010 */\tvoid*\tQuotaBlock;\n};\n/* off 0x0014 */\tlong\tSequenceNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tQueueType:2\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tQueuePortType:4\t /* start bit 2 */;\n\t\t/* off 0x0000 */\tunsigned long\tCanceled:1\t /* start bit 6 */;\n\t\t/* off 0x0000 */\tunsigned long\tReady:1\t /* start bit 7 */;\n\t\t/* off 0x0000 */\tunsigned long\tReleaseMessage:1\t /* start bit 8 */;\n\t\t/* off 0x0000 */\tunsigned long\tSharedQuota:1\t /* start bit 9 */;\n\t\t/* off 0x0000 */\tunsigned long\tReplyWaitReply:1\t /* start bit 10 */;\n\t\t/* off 0x0000 */\tunsigned long\tOwnerPortReference:1\t /* start bit 11 */;\n\t\t/* off 0x0000 */\tunsigned long\tReserveReference:1\t /* start bit 12 */;\n\t\t/* off 0x0000 */\tunsigned long\tReceiverReference:1\t /* start bit 13 */;\n\t\t/* off 0x0000 */\tunsigned long\tViewAttributeRetrieved:1\t /* start bit 14 */;\n\t\t/* off 0x0000 */\tunsigned long\tInDispatch:1\t /* start bit 15 */;\n\t\t}\ts1;\n\t/* off 0x0000 */\tunsigned long\tState;\n\t}\tu1;\n/* off 0x001c */\tstruct _ALPC_PORT*\tCancelSequencePort;\n/* off 0x0020 */\tstruct _ALPC_PORT*\tCancelQueuePort;\n/* off 0x0024 */\tlong\tCancelSequenceNo;\n/* off 0x0028 */\tstruct _LIST_ENTRY\tCancelListEntry;\n/* off 0x0030 */\tstruct _ETHREAD*\tWaitingThread;\n/* off 0x0034 */\tstruct _KALPC_RESERVE*\tReserve;\n/* off 0x0038 */\tstruct _ALPC_PORT*\tPortQueue;\n/* off 0x003c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0040 */\tstruct _KALPC_MESSAGE_ATTRIBUTES\tMessageAttributes;\n/* off 0x005c */\tvoid*\tDataUserVa;\n/* off 0x0060 */\tvoid*\tDataSystemVa;\n/* off 0x0064 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x0068 */\tstruct _ALPC_PORT*\tConnectionPort;\n/* off 0x006c */\tstruct _ETHREAD*\tServerThread;\n/* off 0x0070 */\tstruct _PORT_MESSAGE\tPortMessage;\n};\nstruct _KALPC_RESERVE /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0004 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0008 */\tvoid*\tHandle;\n/* off 0x000c */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0010 */\tlong\tActive;\n};\nstruct _KALPC_SECURITY_DATA /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _ALPC_HANDLE_TABLE*\tHandleTable;\n/* off 0x0004 */\tvoid*\tContextHandle;\n/* off 0x0008 */\tstruct _EPROCESS*\tOwningProcess;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _SECURITY_CLIENT_CONTEXT\tDynamicSecurity;\n/* off 0x004c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tRevoked:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tImpersonated:1\t /* start bit 1 */;\n\t\t}\ts1;\n\t}\tu1;\n};\nstruct _KALPC_VIEW /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tViewListEntry;\n/* off 0x0008 */\tstruct _KALPC_REGION*\tRegion;\n/* off 0x000c */\tstruct _ALPC_PORT*\tOwnerPort;\n/* off 0x0010 */\tstruct _EPROCESS*\tOwnerProcess;\n/* off 0x0014 */\tvoid*\tAddress;\n/* off 0x0018 */\tunsigned long\tSize;\n/* off 0x001c */\tvoid*\tSecureViewHandle;\n/* off 0x0020 */\tvoid*\tWriteAccessHandle;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tWriteAccess:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tAutoRelease:1\t /* start bit 1 */;\n\t\t/* off 0x0000 */\tunsigned long\tForceUnlink:1\t /* start bit 2 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x0028 */\tunsigned long\tNumberOfOwnerMessages;\n/* off 0x002c */\tstruct _LIST_ENTRY\tProcessViewListEntry;\n};\nstruct _KALPC_REGION /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegionListEntry;\n/* off 0x0008 */\tstruct _KALPC_SECTION*\tSection;\n/* off 0x000c */\tunsigned long\tOffset;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tViewSize;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSecure:1\t /* start bit 0 */;\n\t\t}\ts1;\n\t}\tu1;\n/* off 0x001c */\tunsigned long\tNumberOfViews;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tViewListHead;\n/* off 0x0028 */\tstruct _KALPC_VIEW*\tReadOnlyView;\n/* off 0x002c */\tstruct _KALPC_VIEW*\tReadWriteView;\n};\nstruct _KALPC_HANDLE_DATA /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned long\tObjectType;\n/* off 0x0008 */\tstruct _OB_DUPLICATE_OBJECT_STATE*\tDuplicateContext;\n};\nstruct _OB_DUPLICATE_OBJECT_STATE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tSourceProcess;\n/* off 0x0004 */\tvoid*\tSourceHandle;\n/* off 0x0008 */\tvoid*\tObject;\n/* off 0x000c */\tunsigned long\tTargetAccess;\n/* off 0x0010 */\tstruct _HANDLE_TABLE_ENTRY_INFO\tObjectInfo;\n/* off 0x0014 */\tunsigned long\tHandleAttributes;\n};\nstruct _REMOTE_PORT_VIEW /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tViewSize;\n/* off 0x0008 */\tvoid*\tViewBase;\n};\nenum _KWAIT_REASON\n{\n\tExecutive\t=0x00000000\t,//0\n\tFreePage\t=0x00000001\t,//0\n\tPageIn\t=0x00000002\t,//0\n\tPoolAllocation\t=0x00000003\t,//0\n\tDelayExecution\t=0x00000004\t,//0\n\tSuspended\t=0x00000005\t,//0\n\tUserRequest\t=0x00000006\t,//0\n\tWrExecutive\t=0x00000007\t,//0\n\tWrFreePage\t=0x00000008\t,//0\n\tWrPageIn\t=0x00000009\t,//0\n\tWrPoolAllocation\t=0x0000000a\t,//0\n\tWrDelayExecution\t=0x0000000b\t,//0\n\tWrSuspended\t=0x0000000c\t,//0\n\tWrUserRequest\t=0x0000000d\t,//0\n\tWrEventPair\t=0x0000000e\t,//0\n\tWrQueue\t=0x0000000f\t,//0\n\tWrLpcReceive\t=0x00000010\t,//0\n\tWrLpcReply\t=0x00000011\t,//0\n\tWrVirtualMemory\t=0x00000012\t,//0\n\tWrPageOut\t=0x00000013\t,//0\n\tWrRendezvous\t=0x00000014\t,//0\n\tWrKeyedEvent\t=0x00000015\t,//0\n\tWrTerminated\t=0x00000016\t,//0\n\tWrProcessInSwap\t=0x00000017\t,//0\n\tWrCpuRateControl\t=0x00000018\t,//0\n\tWrCalloutStack\t=0x00000019\t,//0\n\tWrKernel\t=0x0000001a\t,//0\n\tWrResource\t=0x0000001b\t,//0\n\tWrPushLock\t=0x0000001c\t,//0\n\tWrMutex\t=0x0000001d\t,//0\n\tWrQuantumEnd\t=0x0000001e\t,//0\n\tWrDispatchInt\t=0x0000001f\t,//0\n\tWrPreempted\t=0x00000020\t,//0\n\tWrYieldExecution\t=0x00000021\t,//0\n\tWrFastMutex\t=0x00000022\t,//0\n\tWrGuardedMutex\t=0x00000023\t,//0\n\tWrRundown\t=0x00000024\t,//0\n\tMaximumWaitReason\t=0x00000025\t,//0\n};\nstruct _ALPC_DISPATCH_CONTEXT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ALPC_PORT*\tPortObject;\n/* off 0x0004 */\tstruct _KALPC_MESSAGE*\tMessage;\n/* off 0x0008 */\tstruct _ALPC_COMMUNICATION_INFO*\tCommunicationInfo;\n/* off 0x000c */\tstruct _ETHREAD*\tTargetThread;\n/* off 0x0010 */\tstruct _ALPC_PORT*\tTargetPort;\n/* off 0x0014 */\tunsigned long\tFlags;\n/* off 0x0018 */\tunsigned short\tTotalLength;\n/* off 0x001a */\tunsigned short\tType;\n/* off 0x001c */\tunsigned short\tDataInfoOffset;\n};\nenum _EX_POOL_PRIORITY\n{\n\tLowPoolPriority\t=0x00000000\t,//0\n\tLowPoolPrioritySpecialPoolOverrun\t=0x00000008\t,//0\n\tLowPoolPrioritySpecialPoolUnderrun\t=0x00000009\t,//0\n\tNormalPoolPriority\t=0x00000010\t,//0\n\tNormalPoolPrioritySpecialPoolOverrun\t=0x00000018\t,//0\n\tNormalPoolPrioritySpecialPoolUnderrun\t=0x00000019\t,//0\n\tHighPoolPriority\t=0x00000020\t,//0\n\tHighPoolPrioritySpecialPoolOverrun\t=0x00000028\t,//0\n\tHighPoolPrioritySpecialPoolUnderrun\t=0x00000029\t,//0\n};\nenum _LOCK_OPERATION\n{\n\tIoReadAccess\t=0x00000000\t,//0\n\tIoWriteAccess\t=0x00000001\t,//0\n\tIoModifyAccess\t=0x00000002\t,//0\n};\nunion _FILE_SEGMENT_ELEMENT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tBuffer;\n/* off 0x0000 */\tunsigned __int64\tAlignment;\n};\nstruct _RELATIVE_SYMLINK_INFO /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned short\tExposedNamespaceLength;\n/* off 0x0002 */\tunsigned short\tFlags;\n/* off 0x0004 */\tunsigned short\tDeviceNameLength;\n/* off 0x0006 */\tunsigned short\tReserved;\n/* off 0x0008 */\tstruct _RELATIVE_SYMLINK_INFO*\tInteriorMountPoint;\n/* off 0x000c */\tstruct _UNICODE_STRING\tOpenedName;\n};\nenum _IOP_PRIORITY_HINT\n{\n\tIopIoPriorityNotSet\t=0x00000000\t,//0\n\tIopIoPriorityVeryLow\t=0x00000001\t,//0\n\tIopIoPriorityLow\t=0x00000002\t,//0\n\tIopIoPriorityNormal\t=0x00000003\t,//0\n\tIopIoPriorityHigh\t=0x00000004\t,//0\n\tIopIoPriorityCritical\t=0x00000005\t,//0\n\tMaxIopIoPriorityTypes\t=0x00000006\t,//0\n};\nstruct _IOP_FILE_OBJECT_EXTENSION /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tunsigned long\tFoExtFlags;\n/* off 0x0004 */\tvoid* FoExtPerTypeExtension[7];\n/* off 0x0020 */\tenum _IOP_PRIORITY_HINT\tFoIoPriorityHint;\n};\nenum _TRANSFER_TYPE\n{\n\tReadTransfer\t=0x00000000\t,//0\n\tWriteTransfer\t=0x00000001\t,//0\n\tOtherTransfer\t=0x00000002\t,//0\n};\nstruct _OPEN_PACKET /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tlong\tFinalStatus;\n/* off 0x000c */\tunsigned long\tInformation;\n/* off 0x0010 */\tunsigned long\tParseCheck;\n/* off 0x0014 */\tstruct _FILE_OBJECT*\tRelatedFileObject;\n/* off 0x0018 */\tstruct _OBJECT_ATTRIBUTES*\tOriginalAttributes;\n/* off 0x0020 */\tunion _LARGE_INTEGER\tAllocationSize;\n/* off 0x0028 */\tunsigned long\tCreateOptions;\n/* off 0x002c */\tunsigned short\tFileAttributes;\n/* off 0x002e */\tunsigned short\tShareAccess;\n/* off 0x0030 */\tvoid*\tEaBuffer;\n/* off 0x0034 */\tunsigned long\tEaLength;\n/* off 0x0038 */\tunsigned long\tOptions;\n/* off 0x003c */\tunsigned long\tDisposition;\n/* off 0x0040 */\tstruct _FILE_BASIC_INFORMATION*\tBasicInformation;\n/* off 0x0044 */\tstruct _FILE_NETWORK_OPEN_INFORMATION*\tNetworkInformation;\n/* off 0x0048 */\tenum _CREATE_FILE_TYPE\tCreateFileType;\n/* off 0x004c */\tvoid*\tMailslotOrPipeParameters;\n/* off 0x0050 */\tunsigned char\tOverride;\n/* off 0x0051 */\tunsigned char\tQueryOnly;\n/* off 0x0052 */\tunsigned char\tDeleteOnly;\n/* off 0x0053 */\tunsigned char\tFullAttributes;\n/* off 0x0054 */\tstruct _DUMMY_FILE_OBJECT*\tLocalFileObject;\n/* off 0x0058 */\tunsigned long\tInternalFlags;\n/* off 0x005c */\tstruct _IO_DRIVER_CREATE_CONTEXT\tDriverCreateContext;\n};\nenum _CREATE_FILE_TYPE\n{\n\tCreateFileTypeNone\t=0x00000000\t,//0\n\tCreateFileTypeNamedPipe\t=0x00000001\t,//0\n\tCreateFileTypeMailslot\t=0x00000002\t,//0\n};\nstruct _OBJECT_HEADER /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tlong\tPointerCount;\nunion\n{\n/* off 0x0004 */\tlong\tHandleCount;\n/* off 0x0004 */\tvoid*\tNextToFree;\n};\n/* off 0x0008 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x000c */\tunsigned char\tTypeIndex;\n/* off 0x000d */\tunsigned char\tTraceFlags;\n/* off 0x000e */\tunsigned char\tInfoMask;\n/* off 0x000f */\tunsigned char\tFlags;\nunion\n{\n/* off 0x0010 */\tstruct _OBJECT_CREATE_INFORMATION*\tObjectCreateInfo;\n/* off 0x0010 */\tvoid*\tQuotaBlockCharged;\n};\n/* off 0x0014 */\tvoid*\tSecurityDescriptor;\n/* off 0x0018 */\tstruct _QUAD\tBody;\n};\nstruct _DUMMY_FILE_OBJECT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER\tObjectHeader;\n/* off 0x0020 */\tchar FileObjectBody[128];\n};\nstruct _OBJECT_CREATE_INFORMATION /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tunsigned long\tAttributes;\n/* off 0x0004 */\tvoid*\tRootDirectory;\n/* off 0x0008 */\tchar\tProbeMode;\n/* off 0x000c */\tunsigned long\tPagedPoolCharge;\n/* off 0x0010 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0014 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x0018 */\tvoid*\tSecurityDescriptor;\n/* off 0x001c */\tstruct _SECURITY_QUALITY_OF_SERVICE*\tSecurityQos;\n/* off 0x0020 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQualityOfService;\n};\nstruct _ETW_SYSTEMTIME /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tYear;\n/* off 0x0002 */\tunsigned short\tMonth;\n/* off 0x0004 */\tunsigned short\tDayOfWeek;\n/* off 0x0006 */\tunsigned short\tDay;\n/* off 0x0008 */\tunsigned short\tHour;\n/* off 0x000a */\tunsigned short\tMinute;\n/* off 0x000c */\tunsigned short\tSecond;\n/* off 0x000e */\tunsigned short\tMilliseconds;\n};\nstruct _TIME_FIELDS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tshort\tYear;\n/* off 0x0002 */\tshort\tMonth;\n/* off 0x0004 */\tshort\tDay;\n/* off 0x0006 */\tshort\tHour;\n/* off 0x0008 */\tshort\tMinute;\n/* off 0x000a */\tshort\tSecond;\n/* off 0x000c */\tshort\tMilliseconds;\n/* off 0x000e */\tshort\tWeekday;\n};\nstruct _ETW_REF_CLOCK /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tStartPerfClock;\n};\nstruct _WMI_LOGGER_CONTEXT /* sizeof 00000238 568 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\n/* off 0x0004 */\tunsigned long\tBufferSize;\n/* off 0x0008 */\tunsigned long\tMaximumEventSize;\n/* off 0x000c */\tlong\tCollectionOn;\n/* off 0x0010 */\tunsigned long\tLoggerMode;\n/* off 0x0014 */\tlong\tAcceptNewEvents;\n/* off 0x0018 */\t__int64( __stdcall *GetCpuClock)();\n/* off 0x0020 */\tunion _LARGE_INTEGER\tStartTime;\n/* off 0x0028 */\tvoid*\tLogFileHandle;\n/* off 0x002c */\tstruct _ETHREAD*\tLoggerThread;\n/* off 0x0030 */\tlong\tLoggerStatus;\n/* off 0x0034 */\tvoid*\tNBQHead;\n/* off 0x0038 */\tvoid*\tOverflowNBQHead;\n/* off 0x0040 */\tunion _SLIST_HEADER\tQueueBlockFreeList;\n/* off 0x0048 */\tstruct _LIST_ENTRY\tGlobalList;\nunion\n{\n/* off 0x0050 */\tstruct _WMI_BUFFER_HEADER*\tBatchedBufferList;\n/* off 0x0050 */\tstruct _EX_FAST_REF\tCurrentBuffer;\n};\n/* off 0x0054 */\tstruct _UNICODE_STRING\tLoggerName;\n/* off 0x005c */\tstruct _UNICODE_STRING\tLogFileName;\n/* off 0x0064 */\tstruct _UNICODE_STRING\tLogFilePattern;\n/* off 0x006c */\tstruct _UNICODE_STRING\tNewLogFileName;\n/* off 0x0074 */\tunsigned long\tClockType;\n/* off 0x0078 */\tunsigned long\tMaximumFileSize;\n/* off 0x007c */\tunsigned long\tLastFlushedBuffer;\n/* off 0x0080 */\tunsigned long\tFlushTimer;\n/* off 0x0084 */\tunsigned long\tFlushThreshold;\n/* off 0x0088 */\tunion _LARGE_INTEGER\tByteOffset;\n/* off 0x0090 */\tunsigned long\tMinimumBuffers;\n/* off 0x0094 */\tlong\tBuffersAvailable;\n/* off 0x0098 */\tlong\tNumberOfBuffers;\n/* off 0x009c */\tunsigned long\tMaximumBuffers;\n/* off 0x00a0 */\tunsigned long\tEventsLost;\n/* off 0x00a4 */\tunsigned long\tBuffersWritten;\n/* off 0x00a8 */\tunsigned long\tLogBuffersLost;\n/* off 0x00ac */\tunsigned long\tRealTimeBuffersDelivered;\n/* off 0x00b0 */\tunsigned long\tRealTimeBuffersLost;\n/* off 0x00b4 */\tlong*\tSequencePtr;\n/* off 0x00b8 */\tunsigned long\tLocalSequence;\n/* off 0x00bc */\tstruct _GUID\tInstanceGuid;\n/* off 0x00cc */\tlong\tFileCounter;\n/* off 0x00d0 */\tvoid( __stdcall *BufferCallback)(struct _WMI_BUFFER_HEADER*,void*);\n/* off 0x00d4 */\tenum _POOL_TYPE\tPoolType;\n/* off 0x00d8 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x00e8 */\tstruct _LIST_ENTRY\tConsumers;\n/* off 0x00f0 */\tunsigned long\tNumConsumers;\n/* off 0x00f4 */\tstruct _ETW_REALTIME_CONSUMER*\tTransitionConsumer;\n/* off 0x00f8 */\tvoid*\tRealtimeLogfileHandle;\n/* off 0x00fc */\tstruct _UNICODE_STRING\tRealtimeLogfileName;\n/* off 0x0108 */\tunion _LARGE_INTEGER\tRealtimeWriteOffset;\n/* off 0x0110 */\tunion _LARGE_INTEGER\tRealtimeReadOffset;\n/* off 0x0118 */\tunion _LARGE_INTEGER\tRealtimeLogfileSize;\n/* off 0x0120 */\tunsigned __int64\tRealtimeLogfileUsage;\n/* off 0x0128 */\tunsigned __int64\tRealtimeMaximumFileSize;\n/* off 0x0130 */\tunsigned long\tRealtimeBuffersSaved;\n/* off 0x0138 */\tstruct _ETW_REF_CLOCK\tRealtimeReferenceTime;\n/* off 0x0148 */\tenum _ETW_RT_EVENT_LOSS\tNewRTEventsLost;\n/* off 0x014c */\tstruct _KEVENT\tLoggerEvent;\n/* off 0x015c */\tstruct _KEVENT\tFlushEvent;\n/* off 0x0170 */\tstruct _KTIMER\tFlushTimeOutTimer;\n/* off 0x0198 */\tstruct _KDPC\tFlushDpc;\n/* off 0x01b8 */\tstruct _KMUTANT\tLoggerMutex;\n/* off 0x01d8 */\tstruct _EX_PUSH_LOCK\tLoggerLock;\nunion\n{\n/* off 0x01dc */\tunsigned long\tBufferListSpinLock;\n/* off 0x01dc */\tstruct _EX_PUSH_LOCK\tBufferListPushLock;\n};\n/* off 0x01e0 */\tstruct _SECURITY_CLIENT_CONTEXT\tClientSecurityContext;\n/* off 0x021c */\tstruct _EX_FAST_REF\tSecurityDescriptor;\n/* off 0x0220 */\t__int64\tBufferSequenceNumber;\nunion\n{\n/* off 0x0228 */\tunsigned long\tFlags;\nstruct\n{\n/* off 0x0228 */\tunsigned long\tPersistent:1\t /* start bit 0 */;\n/* off 0x0228 */\tunsigned long\tAutoLogger:1\t /* start bit 1 */;\n/* off 0x0228 */\tunsigned long\tFsReady:1\t /* start bit 2 */;\n/* off 0x0228 */\tunsigned long\tRealTime:1\t /* start bit 3 */;\n/* off 0x0228 */\tunsigned long\tWow:1\t /* start bit 4 */;\n/* off 0x0228 */\tunsigned long\tKernelTrace:1\t /* start bit 5 */;\n/* off 0x0228 */\tunsigned long\tNoMoreEnable:1\t /* start bit 6 */;\n/* off 0x0228 */\tunsigned long\tStackTracing:1\t /* start bit 7 */;\n/* off 0x0228 */\tunsigned long\tErrorLogged:1\t /* start bit 8 */;\n/* off 0x0228 */\tunsigned long\tRealtimeLoggerContextFreed:1\t /* start bit 9 */;\n};\n};\nunion\n{\n/* off 0x022c */\tunsigned long\tRequestFlag;\nstruct\n{\n/* off 0x022c */\tunsigned long\tRequestNewFie:1\t /* start bit 0 */;\n/* off 0x022c */\tunsigned long\tRequestUpdateFile:1\t /* start bit 1 */;\n/* off 0x022c */\tunsigned long\tRequestFlush:1\t /* start bit 2 */;\n/* off 0x022c */\tunsigned long\tRequestDisableRealtime:1\t /* start bit 3 */;\n/* off 0x022c */\tunsigned long\tRequestDisconnectConsumer:1\t /* start bit 4 */;\n/* off 0x022c */\tunsigned long\tRequestConnectConsumer:1\t /* start bit 5 */;\n};\n};\n/* off 0x0230 */\tstruct _RTL_BITMAP\tHookIdMap;\n};\nstruct _ETW_BUFFER_CONTEXT /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned char\tProcessorNumber;\n/* off 0x0001 */\tunsigned char\tAlignment;\n/* off 0x0002 */\tunsigned short\tLoggerId;\n};\nstruct _WMI_BUFFER_HEADER /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\tunsigned long\tBufferSize;\n/* off 0x0004 */\tunsigned long\tSavedOffset;\n/* off 0x0008 */\tunsigned long\tCurrentOffset;\n/* off 0x000c */\tlong\tReferenceCount;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tTimeStamp;\n/* off 0x0018 */\t__int64\tSequenceNumber;\nunion\n{\n/* off 0x0020 */\tunsigned long Padding0[2];\n/* off 0x0020 */\tstruct _SINGLE_LIST_ENTRY\tSlistEntry;\n/* off 0x0020 */\tstruct _WMI_BUFFER_HEADER*\tNextBuffer;\n};\n/* off 0x0028 */\tstruct _ETW_BUFFER_CONTEXT\tClientContext;\n/* off 0x002c */\tenum _ETW_BUFFER_STATE\tState;\n/* off 0x0030 */\tunsigned long\tOffset;\n/* off 0x0034 */\tunsigned short\tBufferFlag;\n/* off 0x0036 */\tunsigned short\tBufferType;\nunion\n{\n/* off 0x0038 */\tunsigned long Padding1[4];\n/* off 0x0038 */\tstruct _ETW_REF_CLOCK\tReferenceTime;\n/* off 0x0038 */\tstruct _LIST_ENTRY\tGlobalEntry;\nstruct\n{\n/* off 0x0038 */\tvoid*\tPointer0;\n/* off 0x003c */\tvoid*\tPointer1;\n};\n};\n};\nenum _ETW_BUFFER_STATE\n{\n\tEtwBufferStateFree\t=0x00000000\t,//0\n\tEtwBufferStateGeneralLogging\t=0x00000001\t,//0\n\tEtwBufferStateCSwitch\t=0x00000002\t,//0\n\tEtwBufferStateFlush\t=0x00000003\t,//0\n\tEtwBufferStateMaximum\t=0x00000004\t,//0\n};\nstruct _ETW_REALTIME_CONSUMER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tvoid*\tProcessHandle;\n/* off 0x000c */\tstruct _EPROCESS*\tProcessObject;\n/* off 0x0010 */\tvoid*\tNextNotDelivered;\n/* off 0x0014 */\tvoid*\tRealtimeConnectContext;\n/* off 0x0018 */\tstruct _KEVENT*\tDisconnectEvent;\n/* off 0x001c */\tstruct _KEVENT*\tDataAvailableEvent;\n/* off 0x0020 */\tunsigned long*\tUserBufferCount;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY*\tUserBufferListHead;\n/* off 0x0028 */\tunsigned long\tBuffersLost;\n/* off 0x002c */\tunsigned long\tEmptyBuffersCount;\n/* off 0x0030 */\tunsigned long\tLoggerId;\n/* off 0x0034 */\tunsigned char\tShutDownRequested;\n/* off 0x0035 */\tunsigned char\tNewBuffersLost;\n/* off 0x0036 */\tunsigned char\tDisconnected;\n/* off 0x0038 */\tstruct _RTL_BITMAP\tReservedBufferSpaceBitMap;\n/* off 0x0040 */\tunsigned char*\tReservedBufferSpace;\n/* off 0x0044 */\tunsigned long\tReservedBufferSpaceSize;\n/* off 0x0048 */\tunsigned long\tUserPagesAllocated;\n/* off 0x004c */\tunsigned long\tUserPagesReused;\n};\nenum _ETW_RT_EVENT_LOSS\n{\n\tEtwRtEventNoLoss\t=0x00000000\t,//0\n\tEtwRtEventLost\t=0x00000001\t,//0\n\tEtwRtBufferLost\t=0x00000002\t,//0\n\tEtwRtBackupLost\t=0x00000003\t,//0\n\tEtwRtEventLossMax\t=0x00000004\t,//0\n};\nstruct _ETW_LOGGER_HANDLE /* sizeof 00000001 1 */\n{\n/* off 0x0000 */\tunsigned char\tDereferenceAndLeave;\n};\nstruct _ETW_BUFFER_HANDLE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _WMI_BUFFER_HEADER*\tTraceBuffer;\n/* off 0x0004 */\tstruct _EX_FAST_REF*\tBufferFastRef;\n};\nstruct _WMI_TRACE_PACKET /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\nunion\n{\n/* off 0x0002 */\tunsigned short\tHookId;\nstruct\n{\n/* off 0x0002 */\tunsigned char\tType;\n/* off 0x0003 */\tunsigned char\tGroup;\n};\n};\n};\nstruct _SYSTEM_TRACE_HEADER /* sizeof 00000020 32 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\n/* off 0x0008 */\tunsigned long\tThreadId;\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0018 */\tunsigned long\tKernelTime;\n/* off 0x001c */\tunsigned long\tUserTime;\n};\nstruct _PERFINFO_TRACE_HEADER /* sizeof 00000018 24 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tMarker;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tVersion;\n/* off 0x0002 */\tunsigned char\tHeaderType;\n/* off 0x0003 */\tunsigned char\tFlags;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tHeader;\n/* off 0x0004 */\tstruct _WMI_TRACE_PACKET\tPacket;\n};\nunion\n{\n/* off 0x0008 */\tunsigned __int64\tTS;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSystemTime;\n};\n/* off 0x0010 */\tunsigned char Data[1];\n};\nstruct _NBQUEUE_BLOCK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tSListEntry;\n/* off 0x0008 */\tunsigned __int64\tNext;\n/* off 0x0010 */\tunsigned __int64\tData;\n};\nenum _ETW_GUID_TYPE\n{\n\tEtwTraceGuidType\t=0x00000000\t,//0\n\tEtwNotificationGuidType\t=0x00000001\t,//0\n\tEtwGuidTypeMax\t=0x00000002\t,//0\n};\nstruct _ETW_LAST_ENABLE_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tEnableFlags;\n/* off 0x0008 */\tunsigned short\tLoggerId;\n/* off 0x000a */\tunsigned char\tLevel;\n/* off 0x000b */\tunsigned char\tEnabled:1\t /* start bit 0 */;\n/* off 0x000b */\tunsigned char\tInternalFlag:7\t /* start bit 1 */;\n};\nstruct _TRACE_ENABLE_CONTEXT /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n};\nstruct _TRACE_ENABLE_CONTEXT_EX /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned short\tLoggerId;\n/* off 0x0002 */\tunsigned char\tLevel;\n/* off 0x0003 */\tunsigned char\tInternalFlag;\n/* off 0x0004 */\tunsigned long\tEnableFlags;\n/* off 0x0008 */\tunsigned long\tEnableFlagsHigh;\n/* off 0x000c */\tunsigned long\tReserved;\n};\nstruct _TRACE_ENABLE_INFO /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tIsEnabled;\n/* off 0x0004 */\tunsigned char\tLevel;\n/* off 0x0005 */\tunsigned char\tReserved1;\n/* off 0x0006 */\tunsigned short\tLoggerId;\n/* off 0x0008 */\tunsigned long\tEnableProperty;\n/* off 0x000c */\tunsigned long\tReserved2;\n/* off 0x0010 */\tunsigned __int64\tMatchAnyKeyword;\n/* off 0x0018 */\tunsigned __int64\tMatchAllKeyword;\n};\nstruct _ETW_GUID_ENTRY /* sizeof 00000178 376 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tGuidList;\n/* off 0x0008 */\tlong\tRefCount;\n/* off 0x000c */\tstruct _GUID\tGuid;\n/* off 0x001c */\tstruct _LIST_ENTRY\tRegListHead;\n/* off 0x0024 */\tvoid*\tSecurityDescriptor;\nunion\n{\n/* off 0x0028 */\tstruct _ETW_LAST_ENABLE_INFO\tLastEnable;\n/* off 0x0028 */\tunsigned __int64\tMatchId;\n};\n/* off 0x0038 */\tstruct _TRACE_ENABLE_INFO\tProviderEnableInfo;\n/* off 0x0058 */\tstruct _TRACE_ENABLE_INFO EnableInfo[8];\n/* off 0x0158 */\tstruct _EVENT_FILTER_HEADER* FilterData[8];\n};\nstruct _EVENT_FILTER_HEADER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tId;\n/* off 0x0002 */\tunsigned char\tVersion;\n/* off 0x0003 */\tunsigned char Reserved[5];\n/* off 0x0008 */\tunsigned __int64\tInstanceId;\n/* off 0x0010 */\tunsigned long\tSize;\n/* off 0x0014 */\tunsigned long\tNextOffset;\n};\nstruct _SEP_TOKEN_PRIVILEGES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned __int64\tPresent;\n/* off 0x0008 */\tunsigned __int64\tEnabled;\n/* off 0x0010 */\tunsigned __int64\tEnabledByDefault;\n};\nstruct _TOKEN_AUDIT_POLICY /* sizeof 0000001b 27 */\n{\n/* off 0x0000 */\tunsigned char PerUserPolicy[27];\n};\nstruct _SEP_AUDIT_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _TOKEN_AUDIT_POLICY\tAdtTokenPolicy;\n/* off 0x001b */\tunsigned char\tPolicySetStatus;\n};\nstruct _SID_AND_ATTRIBUTES_HASH /* sizeof 00000088 136 */\n{\n/* off 0x0000 */\tunsigned long\tSidCount;\n/* off 0x0004 */\tstruct _SID_AND_ATTRIBUTES*\tSidAttr;\n/* off 0x0008 */\tunsigned long Hash[32];\n};\nstruct _TOKEN /* sizeof 000001e0 480 */\n{\n/* off 0x0000 */\tstruct _TOKEN_SOURCE\tTokenSource;\n/* off 0x0010 */\tstruct _LUID\tTokenId;\n/* off 0x0018 */\tstruct _LUID\tAuthenticationId;\n/* off 0x0020 */\tstruct _LUID\tParentTokenId;\n/* off 0x0028 */\tunion _LARGE_INTEGER\tExpirationTime;\n/* off 0x0030 */\tstruct _ERESOURCE*\tTokenLock;\n/* off 0x0034 */\tstruct _LUID\tModifiedId;\n/* off 0x0040 */\tstruct _SEP_TOKEN_PRIVILEGES\tPrivileges;\n/* off 0x0058 */\tstruct _SEP_AUDIT_POLICY\tAuditPolicy;\n/* off 0x0074 */\tunsigned long\tSessionId;\n/* off 0x0078 */\tunsigned long\tUserAndGroupCount;\n/* off 0x007c */\tunsigned long\tRestrictedSidCount;\n/* off 0x0080 */\tunsigned long\tVariableLength;\n/* off 0x0084 */\tunsigned long\tDynamicCharged;\n/* off 0x0088 */\tunsigned long\tDynamicAvailable;\n/* off 0x008c */\tunsigned long\tDefaultOwnerIndex;\n/* off 0x0090 */\tstruct _SID_AND_ATTRIBUTES*\tUserAndGroups;\n/* off 0x0094 */\tstruct _SID_AND_ATTRIBUTES*\tRestrictedSids;\n/* off 0x0098 */\tvoid*\tPrimaryGroup;\n/* off 0x009c */\tunsigned long*\tDynamicPart;\n/* off 0x00a0 */\tstruct _ACL*\tDefaultDacl;\n/* off 0x00a4 */\tenum _TOKEN_TYPE\tTokenType;\n/* off 0x00a8 */\tenum _SECURITY_IMPERSONATION_LEVEL\tImpersonationLevel;\n/* off 0x00ac */\tunsigned long\tTokenFlags;\n/* off 0x00b0 */\tunsigned char\tTokenInUse;\n/* off 0x00b4 */\tunsigned long\tIntegrityLevelIndex;\n/* off 0x00b8 */\tunsigned long\tMandatoryPolicy;\n/* off 0x00bc */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tLogonSession;\n/* off 0x00c0 */\tstruct _LUID\tOriginatingLogonSession;\n/* off 0x00c8 */\tstruct _SID_AND_ATTRIBUTES_HASH\tSidHash;\n/* off 0x0150 */\tstruct _SID_AND_ATTRIBUTES_HASH\tRestrictedSidHash;\n/* off 0x01d8 */\tstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION*\tpSecurityAttributes;\n/* off 0x01dc */\tunsigned long\tVariablePart;\n};\nstruct _SID_AND_ATTRIBUTES /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tSid;\n/* off 0x0004 */\tunsigned long\tAttributes;\n};\nstruct _ACL /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char\tAclRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tAclSize;\n/* off 0x0004 */\tunsigned short\tAceCount;\n/* off 0x0006 */\tunsigned short\tSbz2;\n};\nenum _TOKEN_TYPE\n{\n\tTokenPrimary\t=0x00000001\t,//0\n\tTokenImpersonation\t=0x00000002\t,//0\n};\nstruct _SEP_LOGON_SESSION_REFERENCES /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _SEP_LOGON_SESSION_REFERENCES*\tNext;\n/* off 0x0004 */\tstruct _LUID\tLogonId;\n/* off 0x000c */\tstruct _LUID\tBuddyLogonId;\n/* off 0x0014 */\tunsigned long\tReferenceCount;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tstruct _DEVICE_MAP*\tpDeviceMap;\n/* off 0x0020 */\tvoid*\tToken;\n/* off 0x0024 */\tstruct _UNICODE_STRING\tAccountName;\n/* off 0x002c */\tstruct _UNICODE_STRING\tAuthorityName;\n};\nstruct _DEVICE_MAP /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDosDevicesDirectory;\n/* off 0x0004 */\tstruct _OBJECT_DIRECTORY*\tGlobalDosDevicesDirectory;\n/* off 0x0008 */\tvoid*\tDosDevicesDirectoryHandle;\n/* off 0x000c */\tunsigned long\tReferenceCount;\n/* off 0x0010 */\tunsigned long\tDriveMap;\n/* off 0x0014 */\tunsigned char DriveType[32];\n};\nstruct _OBJECT_DIRECTORY /* sizeof 000000a8 168 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY* HashBuckets[37];\n/* off 0x0094 */\tstruct _EX_PUSH_LOCK\tLock;\n/* off 0x0098 */\tstruct _DEVICE_MAP*\tDeviceMap;\n/* off 0x009c */\tunsigned long\tSessionId;\n/* off 0x00a0 */\tvoid*\tNamespaceEntry;\n/* off 0x00a4 */\tunsigned long\tFlags;\n};\nstruct _OBJECT_DIRECTORY_ENTRY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY_ENTRY*\tChainLink;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n};\nstruct _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSecurityAttributeCount;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tSecurityAttributesList;\n/* off 0x000c */\tunsigned long\tWorkingSecurityAttributeCount;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tWorkingSecurityAttributesList;\n};\nstruct _OBJECT_HEADER_QUOTA_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tPagedPoolCharge;\n/* off 0x0004 */\tunsigned long\tNonPagedPoolCharge;\n/* off 0x0008 */\tunsigned long\tSecurityDescriptorCharge;\n/* off 0x000c */\tvoid*\tSecurityDescriptorQuotaBlock;\n};\nstruct _OBJECT_HEADER_PROCESS_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tExclusiveProcess;\n/* off 0x0004 */\tunsigned long\tReserved;\n};\nstruct _OBJECT_HANDLE_COUNT_ENTRY /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0004 */\tunsigned long\tHandleCount:24\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tLockCount:8\t /* start bit 24 */;\n};\nstruct _OBJECT_HEADER_HANDLE_INFO /* sizeof 00000008 8 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_DATABASE*\tHandleCountDataBase;\n/* off 0x0000 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY\tSingleEntry;\n};\n};\nstruct _OBJECT_HANDLE_COUNT_DATABASE /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tCountEntries;\n/* off 0x0004 */\tstruct _OBJECT_HANDLE_COUNT_ENTRY HandleCountEntries[1];\n};\nstruct _OBJECT_HEADER_NAME_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tstruct _UNICODE_STRING\tName;\n/* off 0x000c */\tlong\tReferenceCount;\n};\nstruct _OBJECT_HEADER_CREATOR_INFO /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tTypeList;\n/* off 0x0008 */\tvoid*\tCreatorUniqueProcess;\n/* off 0x000c */\tunsigned short\tCreatorBackTraceIndex;\n/* off 0x000e */\tunsigned short\tReserved;\n};\nstruct _OBP_LOOKUP_CONTEXT /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _OBJECT_DIRECTORY*\tDirectory;\n/* off 0x0004 */\tvoid*\tObject;\n/* off 0x0008 */\tunsigned long\tHashValue;\n/* off 0x000c */\tunsigned short\tHashIndex;\n/* off 0x000e */\tunsigned char\tDirectoryLocked;\n/* off 0x000f */\tunsigned char\tLockedExclusive;\n/* off 0x0010 */\tunsigned long\tLockStateSignature;\n};\nstruct _MI_VERIFIER_POOL_HEADER /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY*\tVerifierPoolEntry;\n};\nstruct _VI_POOL_PAGE_HEADER /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextPage;\n/* off 0x0004 */\tvoid*\tVerifierEntry;\n/* off 0x0008 */\tunsigned long\tSignature;\n};\nstruct _VI_POOL_ENTRY_INUSE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVirtualAddress;\n/* off 0x0004 */\tvoid*\tCallingAddress;\n/* off 0x0008 */\tunsigned long\tNumberOfBytes;\n/* off 0x000c */\tunsigned long\tTag;\n};\nstruct _VI_POOL_ENTRY /* sizeof 00000010 16 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _VI_POOL_PAGE_HEADER\tPageHeader;\n/* off 0x0000 */\tstruct _VI_POOL_ENTRY_INUSE\tInUse;\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY*\tNextFree;\n};\n};\nstruct _LPCP_MESSAGE /* sizeof 00000030 48 */\n{\nunion\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\nstruct\n{\n/* off 0x0000 */\tstruct _SINGLE_LIST_ENTRY\tFreeEntry;\n/* off 0x0004 */\tunsigned long\tReserved0;\n};\n};\n/* off 0x0008 */\tvoid*\tSenderPort;\n/* off 0x000c */\tstruct _ETHREAD*\tRepliedToThread;\n/* off 0x0010 */\tvoid*\tPortContext;\n/* off 0x0018 */\tstruct _PORT_MESSAGE\tRequest;\n};\nstruct _SYSPTES_HEADER /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tCount;\n/* off 0x000c */\tunsigned long\tNumberOfEntries;\n/* off 0x0010 */\tunsigned long\tNumberOfEntriesPeak;\n};\nstruct _POOL_TRACKER_BIG_PAGES /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tvoid*\tVa;\n/* off 0x0004 */\tunsigned long\tKey;\n/* off 0x0008 */\tunsigned long\tPoolType;\n/* off 0x000c */\tunsigned long\tNumberOfBytes;\n};\nstruct _THERMAL_INFORMATION_EX /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tProcessors;\n/* off 0x0018 */\tunsigned long\tSamplingPeriod;\n/* off 0x001c */\tunsigned long\tCurrentTemperature;\n/* off 0x0020 */\tunsigned long\tPassiveTripPoint;\n/* off 0x0024 */\tunsigned long\tCriticalTripPoint;\n/* off 0x0028 */\tunsigned char\tActiveTripPointCount;\n/* off 0x002c */\tunsigned long ActiveTripPoint[10];\n/* off 0x0054 */\tunsigned long\tS4TransitionTripPoint;\n};\nstruct _VI_VERIFIER_ISSUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tIssueType;\n/* off 0x0004 */\tvoid*\tAddress;\n/* off 0x0008 */\tunsigned long Parameters[2];\n};\nstruct _EXCEPTION_POINTERS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tstruct _EXCEPTION_RECORD*\tExceptionRecord;\n/* off 0x0004 */\tstruct _CONTEXT*\tContextRecord;\n};\nstruct _OBJECT_REF_STACK_INFO /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tunsigned long\tSequence;\n/* off 0x0004 */\tunsigned short\tIndex;\n/* off 0x0006 */\tunsigned short\tNumTraces;\n/* off 0x0008 */\tunsigned long\tTag;\n};\nstruct _OBJECT_REF_INFO /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tstruct _OBJECT_HEADER*\tObjectHeader;\n/* off 0x0004 */\tvoid*\tNextRef;\n/* off 0x0008 */\tunsigned char ImageFileName[16];\n/* off 0x0018 */\tunsigned short\tNextPos;\n/* off 0x001a */\tunsigned short\tMaxStacks;\n/* off 0x001c */\tstruct _OBJECT_REF_STACK_INFO StackInfo[0];\n};\nstruct _MMSECURE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tReadOnly:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tNoWrite:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tSpare:10\t /* start bit 2 */;\n};\nstruct _MMADDRESS_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMSECURE_FLAGS\tFlags;\n\t/* off 0x0000 */\tvoid*\tStartVa;\n\t}\tu1;\n/* off 0x0004 */\tvoid*\tEndVa;\n};\nstruct _MMVAD_LONG /* sizeof 00000048 72 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tlong\tBalance:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tstruct _MMVAD*\tParent;\n\t}\tu1;\n/* off 0x0004 */\tstruct _MMVAD*\tLeftChild;\n/* off 0x0008 */\tstruct _MMVAD*\tRightChild;\n/* off 0x000c */\tunsigned long\tStartingVpn;\n/* off 0x0010 */\tunsigned long\tEndingVpn;\n/* off 0x0014 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS\tVadFlags;\n\t}\tu;\n/* off 0x0018 */\tstruct _EX_PUSH_LOCK\tPushLock;\n/* off 0x001c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags3;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS3\tVadFlags3;\n\t}\tu5;\n/* off 0x0020 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags2;\n\t/* off 0x0000 */\tstruct _MMVAD_FLAGS2\tVadFlags2;\n\t}\tu2;\n/* off 0x0024 */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPrototypePte;\n/* off 0x002c */\tstruct _MMPTE*\tLastContiguousPte;\n/* off 0x0030 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0038 */\tstruct _EPROCESS*\tVadsProcess;\n/* off 0x003c */\t\n\tunion  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tList;\n\t/* off 0x0000 */\tstruct _MMADDRESS_LIST\tSecured;\n\t}\tu3;\n/* off 0x0044 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tstruct _MMBANKED_SECTION*\tBanked;\n\t/* off 0x0000 */\tstruct _MMEXTEND_INFO*\tExtendedInfo;\n\t}\tu4;\n};\nstruct _MMBANKED_SECTION /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tBasePhysicalPage;\n/* off 0x0004 */\tstruct _MMPTE*\tBasedPte;\n/* off 0x0008 */\tunsigned long\tBankSize;\n/* off 0x000c */\tunsigned long\tBankShift;\n/* off 0x0010 */\tvoid( __stdcall *BankedRoutine)(unsigned long,unsigned long,void*);\n/* off 0x0014 */\tvoid*\tContext;\n/* off 0x0018 */\tstruct _MMPTE*\tCurrentMappedPte;\n/* off 0x0020 */\tstruct _MMPTE BankTemplate[1];\n};\nstruct _HEAP_UCR_DESCRIPTOR /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tSegmentEntry;\n/* off 0x0010 */\tvoid*\tAddress;\n/* off 0x0014 */\tunsigned long\tSize;\n};\nstruct _POOL_DESCRIPTOR /* sizeof 00001140 4416 */\n{\n/* off 0x0000 */\tenum _POOL_TYPE\tPoolType;\nunion\n{\n/* off 0x0004 */\tstruct _KGUARDED_MUTEX\tPagedLock;\n/* off 0x0004 */\tunsigned long\tNonPagedLock;\n};\n/* off 0x0040 */\tlong\tRunningAllocs;\n/* off 0x0044 */\tlong\tRunningDeAllocs;\n/* off 0x0048 */\tlong\tTotalBigPages;\n/* off 0x004c */\tlong\tThreadsProcessingDeferrals;\n/* off 0x0050 */\tunsigned long\tTotalBytes;\n/* off 0x0080 */\tunsigned long\tPoolIndex;\n/* off 0x00c0 */\tlong\tTotalPages;\n/* off 0x0100 */\tvoid**\tPendingFrees;\n/* off 0x0104 */\tlong\tPendingFreeDepth;\n/* off 0x0140 */\tstruct _LIST_ENTRY ListHeads[512];\n};\nstruct _KINTERRUPT /* sizeof 00000278 632 */\n{\n/* off 0x0000 */\tshort\tType;\n/* off 0x0002 */\tshort\tSize;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tInterruptListEntry;\n/* off 0x000c */\tunsigned char( __stdcall *ServiceRoutine)(struct _KINTERRUPT*,void*);\n/* off 0x0010 */\tunsigned char( __stdcall *MessageServiceRoutine)(struct _KINTERRUPT*,void*,unsigned long);\n/* off 0x0014 */\tunsigned long\tMessageIndex;\n/* off 0x0018 */\tvoid*\tServiceContext;\n/* off 0x001c */\tunsigned long\tSpinLock;\n/* off 0x0020 */\tunsigned long\tTickCount;\n/* off 0x0024 */\tunsigned long*\tActualLock;\n/* off 0x0028 */\tvoid( __stdcall *DispatchAddress)();\n/* off 0x002c */\tunsigned long\tVector;\n/* off 0x0030 */\tunsigned char\tIrql;\n/* off 0x0031 */\tunsigned char\tSynchronizeIrql;\n/* off 0x0032 */\tunsigned char\tFloatingSave;\n/* off 0x0033 */\tunsigned char\tConnected;\n/* off 0x0034 */\tunsigned long\tNumber;\n/* off 0x0038 */\tunsigned char\tShareVector;\n/* off 0x0039 */\tchar Pad[3];\n/* off 0x003c */\tenum _KINTERRUPT_MODE\tMode;\n/* off 0x0040 */\tenum _KINTERRUPT_POLARITY\tPolarity;\n/* off 0x0044 */\tunsigned long\tServiceCount;\n/* off 0x0048 */\tunsigned long\tDispatchCount;\n/* off 0x0050 */\tunsigned __int64\tRsvd1;\n/* off 0x0058 */\tunsigned long DispatchCode[135];\n};\nenum _KINTERRUPT_MODE\n{\n\tLevelSensitive\t=0x00000000\t,//0\n\tLatched\t=0x00000001\t,//0\n};\nenum _KINTERRUPT_POLARITY\n{\n\tInterruptPolarityUnknown\t=0x00000000\t,//0\n\tInterruptActiveHigh\t=0x00000001\t,//0\n\tInterruptActiveLow\t=0x00000002\t,//0\n};\nstruct _HIVE_LIST_ENTRY /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned short*\tFileName;\n/* off 0x0004 */\tunsigned short*\tBaseName;\n/* off 0x0008 */\tunsigned short*\tRegRootName;\n/* off 0x000c */\tstruct _CMHIVE*\tCmHive;\n/* off 0x0010 */\tunsigned long\tHHiveFlags;\n/* off 0x0014 */\tunsigned long\tCmHiveFlags;\n/* off 0x0018 */\tunsigned long\tCmKcbCacheSize;\n/* off 0x001c */\tstruct _CMHIVE*\tCmHive2;\n/* off 0x0020 */\tunsigned char\tHiveMounted;\n/* off 0x0021 */\tunsigned char\tThreadFinished;\n/* off 0x0022 */\tunsigned char\tThreadStarted;\n/* off 0x0023 */\tunsigned char\tAllocate;\n/* off 0x0024 */\tunsigned char\tWinPERequired;\n/* off 0x0028 */\tstruct _KEVENT\tStartEvent;\n/* off 0x0038 */\tstruct _KEVENT\tFinishedEvent;\n/* off 0x0048 */\tstruct _KEVENT\tMountLock;\n};\nstruct _IOV_FORCED_PENDING_TRACE /* sizeof 00000100 256 */\n{\n/* off 0x0000 */\tstruct _IRP*\tIrp;\n/* off 0x0004 */\tstruct _ETHREAD*\tThread;\n/* off 0x0008 */\tvoid* StackTrace[62];\n};\nstruct _LAZY_WRITER /* sizeof 00000050 80 */\n{\n/* off 0x0000 */\tstruct _KDPC\tScanDpc;\n/* off 0x0020 */\tstruct _KTIMER\tScanTimer;\n/* off 0x0048 */\tunsigned char\tScanActive;\n/* off 0x0049 */\tunsigned char\tOtherWork;\n/* off 0x004a */\tunsigned char\tPendingTeardownScan;\n/* off 0x004b */\tunsigned char\tPendingPeriodicScan;\n/* off 0x004c */\tunsigned char\tPendingLowMemoryScan;\n/* off 0x004d */\tunsigned char\tPendingPowerScan;\n};\nstruct _PI_BUS_EXTENSION /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0004 */\tunsigned char\tNumberCSNs;\n/* off 0x0008 */\tunsigned char*\tReadDataPort;\n/* off 0x000c */\tunsigned char\tDataPortMapped;\n/* off 0x0010 */\tunsigned char*\tAddressPort;\n/* off 0x0014 */\tunsigned char\tAddrPortMapped;\n/* off 0x0018 */\tunsigned char*\tCommandPort;\n/* off 0x001c */\tunsigned char\tCmdPortMapped;\n/* off 0x0020 */\tunsigned long\tNextSlotNumber;\n/* off 0x0024 */\tstruct _SINGLE_LIST_ENTRY\tDeviceList;\n/* off 0x0028 */\tstruct _SINGLE_LIST_ENTRY\tCardList;\n/* off 0x002c */\tstruct _DEVICE_OBJECT*\tPhysicalBusDevice;\n/* off 0x0030 */\tstruct _DEVICE_OBJECT*\tFunctionalBusDevice;\n/* off 0x0034 */\tstruct _DEVICE_OBJECT*\tAttachedDevice;\n/* off 0x0038 */\tunsigned long\tBusNumber;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSystemPowerState;\n/* off 0x0040 */\tenum _DEVICE_POWER_STATE\tDevicePowerState;\n};\nstruct _IO_WORKITEM /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0010 */\tvoid( __stdcall *Routine)(void*,void*,struct _IO_WORKITEM*);\n/* off 0x0014 */\tvoid*\tIoObject;\n/* off 0x0018 */\tvoid*\tContext;\n/* off 0x001c */\tunsigned long\tType;\n};\nenum _PS_RESOURCE_TYPE\n{\n\tPsResourceNonPagedPool\t=0x00000000\t,//0\n\tPsResourcePagedPool\t=0x00000001\t,//0\n\tPsResourcePageFile\t=0x00000002\t,//0\n\tPsResourceWorkingSet\t=0x00000003\t,//0\n\tPsResourceCpuRate\t=0x00000004\t,//0\n\tPsResourceMax\t=0x00000005\t,//0\n};\nstruct _HEAP_STOP_ON_TAG /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tHeapAndTagIndex;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tHeapIndex;\n};\n};\n};\nstruct _HEAP_STOP_ON_VALUES /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tAllocAddress;\n/* off 0x0004 */\tstruct _HEAP_STOP_ON_TAG\tAllocTag;\n/* off 0x0008 */\tunsigned long\tReAllocAddress;\n/* off 0x000c */\tstruct _HEAP_STOP_ON_TAG\tReAllocTag;\n/* off 0x0010 */\tunsigned long\tFreeAddress;\n/* off 0x0014 */\tstruct _HEAP_STOP_ON_TAG\tFreeTag;\n};\nstruct _CALL_HASH_ENTRY /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tvoid*\tCallersAddress;\n/* off 0x000c */\tvoid*\tCallersCaller;\n/* off 0x0010 */\tunsigned long\tCallCount;\n};\nenum _DPFLTR_TYPE\n{\n\tDPFLTR_SYSTEM_ID\t=0x00000000\t,//0\n\tDPFLTR_SMSS_ID\t=0x00000001\t,//0\n\tDPFLTR_SETUP_ID\t=0x00000002\t,//0\n\tDPFLTR_NTFS_ID\t=0x00000003\t,//0\n\tDPFLTR_FSTUB_ID\t=0x00000004\t,//0\n\tDPFLTR_CRASHDUMP_ID\t=0x00000005\t,//0\n\tDPFLTR_CDAUDIO_ID\t=0x00000006\t,//0\n\tDPFLTR_CDROM_ID\t=0x00000007\t,//0\n\tDPFLTR_CLASSPNP_ID\t=0x00000008\t,//0\n\tDPFLTR_DISK_ID\t=0x00000009\t,//0\n\tDPFLTR_REDBOOK_ID\t=0x0000000a\t,//0\n\tDPFLTR_STORPROP_ID\t=0x0000000b\t,//0\n\tDPFLTR_SCSIPORT_ID\t=0x0000000c\t,//0\n\tDPFLTR_SCSIMINIPORT_ID\t=0x0000000d\t,//0\n\tDPFLTR_CONFIG_ID\t=0x0000000e\t,//0\n\tDPFLTR_I8042PRT_ID\t=0x0000000f\t,//0\n\tDPFLTR_SERMOUSE_ID\t=0x00000010\t,//0\n\tDPFLTR_LSERMOUS_ID\t=0x00000011\t,//0\n\tDPFLTR_KBDHID_ID\t=0x00000012\t,//0\n\tDPFLTR_MOUHID_ID\t=0x00000013\t,//0\n\tDPFLTR_KBDCLASS_ID\t=0x00000014\t,//0\n\tDPFLTR_MOUCLASS_ID\t=0x00000015\t,//0\n\tDPFLTR_TWOTRACK_ID\t=0x00000016\t,//0\n\tDPFLTR_WMILIB_ID\t=0x00000017\t,//0\n\tDPFLTR_ACPI_ID\t=0x00000018\t,//0\n\tDPFLTR_AMLI_ID\t=0x00000019\t,//0\n\tDPFLTR_HALIA64_ID\t=0x0000001a\t,//0\n\tDPFLTR_VIDEO_ID\t=0x0000001b\t,//0\n\tDPFLTR_SVCHOST_ID\t=0x0000001c\t,//0\n\tDPFLTR_VIDEOPRT_ID\t=0x0000001d\t,//0\n\tDPFLTR_TCPIP_ID\t=0x0000001e\t,//0\n\tDPFLTR_DMSYNTH_ID\t=0x0000001f\t,//0\n\tDPFLTR_NTOSPNP_ID\t=0x00000020\t,//0\n\tDPFLTR_FASTFAT_ID\t=0x00000021\t,//0\n\tDPFLTR_SAMSS_ID\t=0x00000022\t,//0\n\tDPFLTR_PNPMGR_ID\t=0x00000023\t,//0\n\tDPFLTR_NETAPI_ID\t=0x00000024\t,//0\n\tDPFLTR_SCSERVER_ID\t=0x00000025\t,//0\n\tDPFLTR_SCCLIENT_ID\t=0x00000026\t,//0\n\tDPFLTR_SERIAL_ID\t=0x00000027\t,//0\n\tDPFLTR_SERENUM_ID\t=0x00000028\t,//0\n\tDPFLTR_UHCD_ID\t=0x00000029\t,//0\n\tDPFLTR_RPCPROXY_ID\t=0x0000002a\t,//0\n\tDPFLTR_AUTOCHK_ID\t=0x0000002b\t,//0\n\tDPFLTR_DCOMSS_ID\t=0x0000002c\t,//0\n\tDPFLTR_UNIMODEM_ID\t=0x0000002d\t,//0\n\tDPFLTR_SIS_ID\t=0x0000002e\t,//0\n\tDPFLTR_FLTMGR_ID\t=0x0000002f\t,//0\n\tDPFLTR_WMICORE_ID\t=0x00000030\t,//0\n\tDPFLTR_BURNENG_ID\t=0x00000031\t,//0\n\tDPFLTR_IMAPI_ID\t=0x00000032\t,//0\n\tDPFLTR_SXS_ID\t=0x00000033\t,//0\n\tDPFLTR_FUSION_ID\t=0x00000034\t,//0\n\tDPFLTR_IDLETASK_ID\t=0x00000035\t,//0\n\tDPFLTR_SOFTPCI_ID\t=0x00000036\t,//0\n\tDPFLTR_TAPE_ID\t=0x00000037\t,//0\n\tDPFLTR_MCHGR_ID\t=0x00000038\t,//0\n\tDPFLTR_IDEP_ID\t=0x00000039\t,//0\n\tDPFLTR_PCIIDE_ID\t=0x0000003a\t,//0\n\tDPFLTR_FLOPPY_ID\t=0x0000003b\t,//0\n\tDPFLTR_FDC_ID\t=0x0000003c\t,//0\n\tDPFLTR_TERMSRV_ID\t=0x0000003d\t,//0\n\tDPFLTR_W32TIME_ID\t=0x0000003e\t,//0\n\tDPFLTR_PREFETCHER_ID\t=0x0000003f\t,//0\n\tDPFLTR_RSFILTER_ID\t=0x00000040\t,//0\n\tDPFLTR_FCPORT_ID\t=0x00000041\t,//0\n\tDPFLTR_PCI_ID\t=0x00000042\t,//0\n\tDPFLTR_DMIO_ID\t=0x00000043\t,//0\n\tDPFLTR_DMCONFIG_ID\t=0x00000044\t,//0\n\tDPFLTR_DMADMIN_ID\t=0x00000045\t,//0\n\tDPFLTR_WSOCKTRANSPORT_ID\t=0x00000046\t,//0\n\tDPFLTR_VSS_ID\t=0x00000047\t,//0\n\tDPFLTR_PNPMEM_ID\t=0x00000048\t,//0\n\tDPFLTR_PROCESSOR_ID\t=0x00000049\t,//0\n\tDPFLTR_DMSERVER_ID\t=0x0000004a\t,//0\n\tDPFLTR_SR_ID\t=0x0000004b\t,//0\n\tDPFLTR_INFINIBAND_ID\t=0x0000004c\t,//0\n\tDPFLTR_IHVDRIVER_ID\t=0x0000004d\t,//0\n\tDPFLTR_IHVVIDEO_ID\t=0x0000004e\t,//0\n\tDPFLTR_IHVAUDIO_ID\t=0x0000004f\t,//0\n\tDPFLTR_IHVNETWORK_ID\t=0x00000050\t,//0\n\tDPFLTR_IHVSTREAMING_ID\t=0x00000051\t,//0\n\tDPFLTR_IHVBUS_ID\t=0x00000052\t,//0\n\tDPFLTR_HPS_ID\t=0x00000053\t,//0\n\tDPFLTR_RTLTHREADPOOL_ID\t=0x00000054\t,//0\n\tDPFLTR_LDR_ID\t=0x00000055\t,//0\n\tDPFLTR_TCPIP6_ID\t=0x00000056\t,//0\n\tDPFLTR_ISAPNP_ID\t=0x00000057\t,//0\n\tDPFLTR_SHPC_ID\t=0x00000058\t,//0\n\tDPFLTR_STORPORT_ID\t=0x00000059\t,//0\n\tDPFLTR_STORMINIPORT_ID\t=0x0000005a\t,//0\n\tDPFLTR_PRINTSPOOLER_ID\t=0x0000005b\t,//0\n\tDPFLTR_VSSDYNDISK_ID\t=0x0000005c\t,//0\n\tDPFLTR_VERIFIER_ID\t=0x0000005d\t,//0\n\tDPFLTR_VDS_ID\t=0x0000005e\t,//0\n\tDPFLTR_VDSBAS_ID\t=0x0000005f\t,//0\n\tDPFLTR_VDSDYN_ID\t=0x00000060\t,//0\n\tDPFLTR_VDSDYNDR_ID\t=0x00000061\t,//0\n\tDPFLTR_VDSLDR_ID\t=0x00000062\t,//0\n\tDPFLTR_VDSUTIL_ID\t=0x00000063\t,//0\n\tDPFLTR_DFRGIFC_ID\t=0x00000064\t,//0\n\tDPFLTR_DEFAULT_ID\t=0x00000065\t,//0\n\tDPFLTR_MM_ID\t=0x00000066\t,//0\n\tDPFLTR_DFSC_ID\t=0x00000067\t,//0\n\tDPFLTR_WOW64_ID\t=0x00000068\t,//0\n\tDPFLTR_ALPC_ID\t=0x00000069\t,//0\n\tDPFLTR_WDI_ID\t=0x0000006a\t,//0\n\tDPFLTR_PERFLIB_ID\t=0x0000006b\t,//0\n\tDPFLTR_KTM_ID\t=0x0000006c\t,//0\n\tDPFLTR_IOSTRESS_ID\t=0x0000006d\t,//0\n\tDPFLTR_HEAP_ID\t=0x0000006e\t,//0\n\tDPFLTR_WHEA_ID\t=0x0000006f\t,//0\n\tDPFLTR_USERGDI_ID\t=0x00000070\t,//0\n\tDPFLTR_MMCSS_ID\t=0x00000071\t,//0\n\tDPFLTR_TPM_ID\t=0x00000072\t,//0\n\tDPFLTR_THREADORDER_ID\t=0x00000073\t,//0\n\tDPFLTR_ENVIRON_ID\t=0x00000074\t,//0\n\tDPFLTR_EMS_ID\t=0x00000075\t,//0\n\tDPFLTR_WDT_ID\t=0x00000076\t,//0\n\tDPFLTR_FVEVOL_ID\t=0x00000077\t,//0\n\tDPFLTR_NDIS_ID\t=0x00000078\t,//0\n\tDPFLTR_NVCTRACE_ID\t=0x00000079\t,//0\n\tDPFLTR_LUAFV_ID\t=0x0000007a\t,//0\n\tDPFLTR_APPCOMPAT_ID\t=0x0000007b\t,//0\n\tDPFLTR_USBSTOR_ID\t=0x0000007c\t,//0\n\tDPFLTR_SBP2PORT_ID\t=0x0000007d\t,//0\n\tDPFLTR_COVERAGE_ID\t=0x0000007e\t,//0\n\tDPFLTR_CACHEMGR_ID\t=0x0000007f\t,//0\n\tDPFLTR_MOUNTMGR_ID\t=0x00000080\t,//0\n\tDPFLTR_CFR_ID\t=0x00000081\t,//0\n\tDPFLTR_TXF_ID\t=0x00000082\t,//0\n\tDPFLTR_KSECDD_ID\t=0x00000083\t,//0\n\tDPFLTR_FLTREGRESS_ID\t=0x00000084\t,//0\n\tDPFLTR_MPIO_ID\t=0x00000085\t,//0\n\tDPFLTR_MSDSM_ID\t=0x00000086\t,//0\n\tDPFLTR_UDFS_ID\t=0x00000087\t,//0\n\tDPFLTR_PSHED_ID\t=0x00000088\t,//0\n\tDPFLTR_STORVSP_ID\t=0x00000089\t,//0\n\tDPFLTR_LSASS_ID\t=0x0000008a\t,//0\n\tDPFLTR_SSPICLI_ID\t=0x0000008b\t,//0\n\tDPFLTR_CNG_ID\t=0x0000008c\t,//0\n\tDPFLTR_EXFAT_ID\t=0x0000008d\t,//0\n\tDPFLTR_FILETRACE_ID\t=0x0000008e\t,//0\n\tDPFLTR_XSAVE_ID\t=0x0000008f\t,//0\n\tDPFLTR_SE_ID\t=0x00000090\t,//0\n\tDPFLTR_DRIVEEXTENDER_ID\t=0x00000091\t,//0\n\tDPFLTR_ENDOFTABLE_ID\t=0x00000092\t,//0\n};\nstruct _VF_TRACKER_STAMP /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tFlags:8\t /* start bit 0 */;\n/* off 0x0005 */\tunsigned char\tOldIrql:8\t /* start bit 0 */;\n/* off 0x0006 */\tunsigned char\tNewIrql:8\t /* start bit 0 */;\n/* off 0x0007 */\tunsigned char\tProcessor:8\t /* start bit 0 */;\n};\nstruct _VI_TRACK_IRQL /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThread;\n/* off 0x0004 */\tunsigned char\tOldIrql;\n/* off 0x0005 */\tunsigned char\tNewIrql;\n/* off 0x0006 */\tunsigned short\tProcessor;\n/* off 0x0008 */\tunsigned long\tTickCount;\n/* off 0x000c */\tvoid* StackTrace[5];\n};\nenum _CM_SHARE_DISPOSITION\n{\n\tCmResourceShareUndetermined\t=0x00000000\t,//0\n\tCmResourceShareDeviceExclusive\t=0x00000001\t,//0\n\tCmResourceShareDriverExclusive\t=0x00000002\t,//0\n\tCmResourceShareShared\t=0x00000003\t,//0\n};\nstruct _ALIGNED_AFFINITY_SUMMARY /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tstruct _KAFFINITY_EX\tCpuSet;\n/* off 0x000c */\tstruct _KAFFINITY_EX\tSMTSet;\n};\nenum _MM_PREEMPTIVE_TRIMS\n{\n\tMmPreemptForNonPaged\t=0x00000000\t,//0\n\tMmPreemptForPaged\t=0x00000001\t,//0\n\tMmPreemptForNonPagedPriority\t=0x00000002\t,//0\n\tMmPreemptForPagedPriority\t=0x00000003\t,//0\n\tMmMaximumPreempt\t=0x00000004\t,//0\n};\nstruct _POOL_TRACKER_TABLE /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tlong\tKey;\n/* off 0x0004 */\tlong\tNonPagedAllocs;\n/* off 0x0008 */\tlong\tNonPagedFrees;\n/* off 0x000c */\tunsigned long\tNonPagedBytes;\n/* off 0x0010 */\tunsigned long\tPagedAllocs;\n/* off 0x0014 */\tunsigned long\tPagedFrees;\n/* off 0x0018 */\tunsigned long\tPagedBytes;\n};\nstruct _SEGMENT_OBJECT /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tvoid*\tBaseAddress;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tunion _LARGE_INTEGER\tSizeOfSegment;\n/* off 0x0010 */\tunsigned long\tNonExtendedPtes;\n/* off 0x0014 */\tunsigned long\tImageCommitment;\n/* off 0x0018 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x001c */\tstruct _SUBSECTION*\tSubsection;\n/* off 0x0020 */\tstruct _MMSECTION_FLAGS*\tMmSectionFlags;\n/* off 0x0024 */\tstruct _MMSUBSECTION_FLAGS*\tMmSubSectionFlags;\n};\nenum LSA_FOREST_TRUST_RECORD_TYPE\n{\n\tForestTrustTopLevelName\t=0x00000000\t,//0\n\tForestTrustTopLevelNameEx\t=0x00000001\t,//0\n\tForestTrustDomainInfo\t=0x00000002\t,//0\n\tForestTrustRecordTypeLast\t=0x00000002\t,//0\n};\nenum SYSTEM_POWER_CONDITION\n{\n\tPoAc\t=0x00000000\t,//0\n\tPoDc\t=0x00000001\t,//0\n\tPoHot\t=0x00000002\t,//0\n\tPoConditionMaximum\t=0x00000003\t,//0\n};\nstruct _MEMORY_ALLOCATION_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tenum _TYPE_OF_MEMORY\tMemoryType;\n/* off 0x000c */\tunsigned long\tBasePage;\n/* off 0x0010 */\tunsigned long\tPageCount;\n};\nenum _TYPE_OF_MEMORY\n{\n\tLoaderExceptionBlock\t=0x00000000\t,//0\n\tLoaderSystemBlock\t=0x00000001\t,//0\n\tLoaderFree\t=0x00000002\t,//0\n\tLoaderBad\t=0x00000003\t,//0\n\tLoaderLoadedProgram\t=0x00000004\t,//0\n\tLoaderFirmwareTemporary\t=0x00000005\t,//0\n\tLoaderFirmwarePermanent\t=0x00000006\t,//0\n\tLoaderOsloaderHeap\t=0x00000007\t,//0\n\tLoaderOsloaderStack\t=0x00000008\t,//0\n\tLoaderSystemCode\t=0x00000009\t,//0\n\tLoaderHalCode\t=0x0000000a\t,//0\n\tLoaderBootDriver\t=0x0000000b\t,//0\n\tLoaderConsoleInDriver\t=0x0000000c\t,//0\n\tLoaderConsoleOutDriver\t=0x0000000d\t,//0\n\tLoaderStartupDpcStack\t=0x0000000e\t,//0\n\tLoaderStartupKernelStack\t=0x0000000f\t,//0\n\tLoaderStartupPanicStack\t=0x00000010\t,//0\n\tLoaderStartupPcrPage\t=0x00000011\t,//0\n\tLoaderStartupPdrPage\t=0x00000012\t,//0\n\tLoaderRegistryData\t=0x00000013\t,//0\n\tLoaderMemoryData\t=0x00000014\t,//0\n\tLoaderNlsData\t=0x00000015\t,//0\n\tLoaderSpecialMemory\t=0x00000016\t,//0\n\tLoaderBBTMemory\t=0x00000017\t,//0\n\tLoaderReserve\t=0x00000018\t,//0\n\tLoaderXIPRom\t=0x00000019\t,//0\n\tLoaderHALCachedMemory\t=0x0000001a\t,//0\n\tLoaderLargePageFiller\t=0x0000001b\t,//0\n\tLoaderErrorLogMemory\t=0x0000001c\t,//0\n\tLoaderMaximum\t=0x0000001d\t,//0\n};\nstruct _THERMAL_INFORMATION /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned long\tThermalStamp;\n/* off 0x0004 */\tunsigned long\tThermalConstant1;\n/* off 0x0008 */\tunsigned long\tThermalConstant2;\n/* off 0x000c */\tunsigned long\tProcessors;\n/* off 0x0010 */\tunsigned long\tSamplingPeriod;\n/* off 0x0014 */\tunsigned long\tCurrentTemperature;\n/* off 0x0018 */\tunsigned long\tPassiveTripPoint;\n/* off 0x001c */\tunsigned long\tCriticalTripPoint;\n/* off 0x0020 */\tunsigned char\tActiveTripPointCount;\n/* off 0x0024 */\tunsigned long ActiveTripPoint[10];\n};\nstruct _MAPPED_FILE_SEGMENT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _CONTROL_AREA*\tControlArea;\n/* off 0x0004 */\tunsigned long\tTotalNumberOfPtes;\n/* off 0x0008 */\tstruct _SEGMENT_FLAGS\tSegmentFlags;\n/* off 0x000c */\tunsigned long\tNumberOfCommittedPages;\n/* off 0x0010 */\tunsigned __int64\tSizeOfSegment;\nunion\n{\n/* off 0x0018 */\tstruct _MMEXTEND_INFO*\tExtendInfo;\n/* off 0x0018 */\tvoid*\tBasedAddress;\n};\n/* off 0x001c */\tstruct _EX_PUSH_LOCK\tSegmentLock;\n};\nstruct _MM_DRIVER_VERIFIER_DATA /* sizeof 00000084 132 */\n{\n/* off 0x0000 */\tunsigned long\tLevel;\n/* off 0x0004 */\tunsigned long\tRaiseIrqls;\n/* off 0x0008 */\tunsigned long\tAcquireSpinLocks;\n/* off 0x000c */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0010 */\tunsigned long\tAllocationsAttempted;\n/* off 0x0014 */\tunsigned long\tAllocationsSucceeded;\n/* off 0x0018 */\tunsigned long\tAllocationsSucceededSpecialPool;\n/* off 0x001c */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0020 */\tunsigned long\tTrimRequests;\n/* off 0x0024 */\tunsigned long\tTrims;\n/* off 0x0028 */\tunsigned long\tAllocationsFailed;\n/* off 0x002c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0030 */\tunsigned long\tLoads;\n/* off 0x0034 */\tunsigned long\tUnloads;\n/* off 0x0038 */\tunsigned long\tUnTrackedPool;\n/* off 0x003c */\tunsigned long\tUserTrims;\n/* off 0x0040 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x0044 */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0048 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x004c */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0050 */\tunsigned long\tPagedBytes;\n/* off 0x0054 */\tunsigned long\tNonPagedBytes;\n/* off 0x0058 */\tunsigned long\tPeakPagedBytes;\n/* off 0x005c */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0060 */\tunsigned long\tBurstAllocationsFailedDeliberately;\n/* off 0x0064 */\tunsigned long\tSessionTrims;\n/* off 0x0068 */\tunsigned long\tOptionChanges;\n/* off 0x006c */\tunsigned long\tVerifyMode;\n/* off 0x0070 */\tstruct _UNICODE_STRING\tPreviousBucketName;\n/* off 0x0078 */\tunsigned long\tActivityCounter;\n/* off 0x007c */\tunsigned long\tPreviousActivityCounter;\n/* off 0x0080 */\tunsigned long\tWorkerTrimRequests;\n};\nstruct _VI_FAULT_TRACE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[8];\n};\nstruct _ETIMER /* sizeof 00000098 152 */\n{\n/* off 0x0000 */\tstruct _KTIMER\tKeTimer;\n/* off 0x0028 */\tstruct _KAPC\tTimerApc;\n/* off 0x0058 */\tstruct _KDPC\tTimerDpc;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tActiveTimerListEntry;\n/* off 0x0080 */\tunsigned long\tLock;\n/* off 0x0084 */\tlong\tPeriod;\n/* off 0x0088 */\tunsigned char\tApcAssociated;\n/* off 0x008c */\tstruct _DIAGNOSTIC_CONTEXT*\tWakeReason;\n/* off 0x0090 */\tstruct _LIST_ENTRY\tWakeTimerListEntry;\n};\nstruct _DIAGNOSTIC_CONTEXT /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0004 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0008 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0004 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n};\n};\n/* off 0x000c */\tunsigned long\tReasonSize;\n};\nenum _REQUESTER_TYPE\n{\n\tKernelRequester\t=0x00000000\t,//0\n\tUserProcessRequester\t=0x00000001\t,//0\n\tUserSharedServiceRequester\t=0x00000002\t,//0\n};\nstruct _POOL_HEADER /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPreviousSize:9\t /* start bit 0 */;\nstruct\n{\n/* off 0x0000 */\tunsigned short\tPoolIndex:7\t /* start bit 9 */;\n};\n/* off 0x0002 */\tunsigned short\tBlockSize:9\t /* start bit 0 */;\n/* off 0x0002 */\tunsigned short\tPoolType:7\t /* start bit 9 */;\n};\nstruct\n{\n/* off 0x0000 */\tunsigned long\tUlong1;\n};\n};\nunion\n{\n/* off 0x0004 */\tunsigned long\tPoolTag;\nstruct\n{\n/* off 0x0004 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0006 */\tunsigned short\tPoolTagHash;\n};\n};\n};\nstruct _POOL_BLOCK_HEAD /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _ARBITER_ORDERING_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned short\tCount;\n/* off 0x0002 */\tunsigned short\tMaximum;\n/* off 0x0004 */\tstruct _ARBITER_ORDERING*\tOrderings;\n};\nstruct _ARBITER_INSTANCE /* sizeof 000005ec 1516 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _KEVENT*\tMutexEvent;\n/* off 0x0008 */\tunsigned short*\tName;\n/* off 0x000c */\tunsigned short*\tOrderingName;\n/* off 0x0010 */\tint\tResourceType;\n/* off 0x0014 */\tstruct _RTL_RANGE_LIST*\tAllocation;\n/* off 0x0018 */\tstruct _RTL_RANGE_LIST*\tPossibleAllocation;\n/* off 0x001c */\tstruct _ARBITER_ORDERING_LIST\tOrderingList;\n/* off 0x0024 */\tstruct _ARBITER_ORDERING_LIST\tReservedList;\n/* off 0x002c */\tlong\tReferenceCount;\n/* off 0x0030 */\tstruct _ARBITER_INTERFACE*\tInterface;\n/* off 0x0034 */\tunsigned long\tAllocationStackMaxSize;\n/* off 0x0038 */\tstruct _ARBITER_ALLOCATION_STATE*\tAllocationStack;\n/* off 0x003c */\tlong( __stdcall *UnpackRequirement)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*,unsigned __int64*,unsigned __int64*);\n/* off 0x0040 */\tlong( __stdcall *PackResource)(struct _IO_RESOURCE_DESCRIPTOR*,unsigned __int64,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*);\n/* off 0x0044 */\tlong( __stdcall *UnpackResource)(struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,unsigned __int64*,unsigned __int64*);\n/* off 0x0048 */\tlong( __stdcall *ScoreRequirement)(struct _IO_RESOURCE_DESCRIPTOR*);\n/* off 0x004c */\tlong( __stdcall *TestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_TEST_ALLOCATION_PARAMETERS*);\n/* off 0x0050 */\tlong( __stdcall *RetestAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_RETEST_ALLOCATION_PARAMETERS*);\n/* off 0x0054 */\tlong( __stdcall *CommitAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x0058 */\tlong( __stdcall *RollbackAllocation)(struct _ARBITER_INSTANCE*);\n/* off 0x005c */\tlong( __stdcall *BootAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_BOOT_ALLOCATION_PARAMETERS*);\n/* off 0x0060 */\tlong( __stdcall *QueryArbitrate)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_ARBITRATE_PARAMETERS*);\n/* off 0x0064 */\tlong( __stdcall *QueryConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_QUERY_CONFLICT_PARAMETERS*);\n/* off 0x0068 */\tlong( __stdcall *AddReserved)(struct _ARBITER_INSTANCE*,struct _ARBITER_ADD_RESERVED_PARAMETERS*);\n/* off 0x006c */\tlong( __stdcall *StartArbiter)(struct _ARBITER_INSTANCE*,struct _CM_RESOURCE_LIST*);\n/* off 0x0070 */\tlong( __stdcall *PreprocessEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0074 */\tlong( __stdcall *AllocateEntry)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0078 */\tunsigned char( __stdcall *GetNextAllocationRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x007c */\tunsigned char( __stdcall *FindSuitableRange)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0080 */\tvoid( __stdcall *AddAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0084 */\tvoid( __stdcall *BacktrackAllocation)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x0088 */\tunsigned char( __stdcall *OverrideConflict)(struct _ARBITER_INSTANCE*,struct _ARBITER_ALLOCATION_STATE*);\n/* off 0x008c */\tlong( __stdcall *InitializeRangeList)(struct _ARBITER_INSTANCE*,unsigned long,struct _CM_PARTIAL_RESOURCE_DESCRIPTOR*,struct _RTL_RANGE_LIST*);\n/* off 0x0090 */\tunsigned char\tTransactionInProgress;\n/* off 0x0094 */\tstruct _KEVENT*\tTransactionEvent;\n/* off 0x0098 */\tvoid*\tExtension;\n/* off 0x009c */\tstruct _DEVICE_OBJECT*\tBusDeviceObject;\n/* off 0x00a0 */\tvoid*\tConflictCallbackContext;\n/* off 0x00a4 */\tunsigned char( __stdcall *ConflictCallback)(void*,struct _RTL_RANGE*);\n/* off 0x00a8 */\twchar PdoDescriptionString[336];\n/* off 0x0348 */\tchar PdoSymbolicNameString[672];\n/* off 0x05e8 */\twchar PdoAddressString[1];\n};\nstruct _RTL_RANGE_LIST /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tunsigned long\tStamp;\n};\nstruct _ARBITER_ORDERING /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_INTERFACE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned short\tSize;\n/* off 0x0002 */\tunsigned short\tVersion;\n/* off 0x0004 */\tvoid*\tContext;\n/* off 0x0008 */\tvoid( __stdcall *InterfaceReference)(void*);\n/* off 0x000c */\tvoid( __stdcall *InterfaceDereference)(void*);\n/* off 0x0010 */\tlong( __stdcall *ArbiterHandler)(void*,enum _ARBITER_ACTION,struct _ARBITER_PARAMETERS*);\n/* off 0x0014 */\tunsigned long\tFlags;\n};\nenum _ARBITER_ACTION\n{\n\tArbiterActionTestAllocation\t=0x00000000\t,//0\n\tArbiterActionRetestAllocation\t=0x00000001\t,//0\n\tArbiterActionCommitAllocation\t=0x00000002\t,//0\n\tArbiterActionRollbackAllocation\t=0x00000003\t,//0\n\tArbiterActionQueryAllocatedResources\t=0x00000004\t,//0\n\tArbiterActionWriteReservedResources\t=0x00000005\t,//0\n\tArbiterActionQueryConflict\t=0x00000006\t,//0\n\tArbiterActionQueryArbitrate\t=0x00000007\t,//0\n\tArbiterActionAddReserved\t=0x00000008\t,//0\n\tArbiterActionBootAllocation\t=0x00000009\t,//0\n};\nstruct _ARBITER_TEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n/* off 0x0004 */\tunsigned long\tAllocateFromCount;\n/* off 0x0008 */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAllocateFrom;\n};\nstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _CM_PARTIAL_RESOURCE_LIST**\tAllocatedResources;\n};\nstruct _ARBITER_QUERY_CONFLICT_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0004 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tConflictingResource;\n/* off 0x0008 */\tunsigned long*\tConflictCount;\n/* off 0x000c */\tstruct _ARBITER_CONFLICT_INFO**\tConflicts;\n};\nstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY*\tArbitrationList;\n};\nstruct _ARBITER_ADD_RESERVED_PARAMETERS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tReserveDevice;\n};\nstruct _ARBITER_PARAMETERS /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\tstruct _ARBITER_TEST_ALLOCATION_PARAMETERS\tTestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_RETEST_ALLOCATION_PARAMETERS\tRetestAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_BOOT_ALLOCATION_PARAMETERS\tBootAllocation;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ALLOCATED_RESOURCES_PARAMETERS\tQueryAllocatedResources;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_CONFLICT_PARAMETERS\tQueryConflict;\n\t/* off 0x0000 */\tstruct _ARBITER_QUERY_ARBITRATE_PARAMETERS\tQueryArbitrate;\n\t/* off 0x0000 */\tstruct _ARBITER_ADD_RESERVED_PARAMETERS\tAddReserved;\n\t}\tParameters;\n};\nstruct _ARBITER_CONFLICT_INFO /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _DEVICE_OBJECT*\tOwningObject;\n/* off 0x0008 */\tunsigned __int64\tStart;\n/* off 0x0010 */\tunsigned __int64\tEnd;\n};\nstruct _ARBITER_ALLOCATION_STATE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tunsigned __int64\tCurrentMinimum;\n/* off 0x0018 */\tunsigned __int64\tCurrentMaximum;\n/* off 0x0020 */\tstruct _ARBITER_LIST_ENTRY*\tEntry;\n/* off 0x0024 */\tstruct _ARBITER_ALTERNATIVE*\tCurrentAlternative;\n/* off 0x0028 */\tunsigned long\tAlternativeCount;\n/* off 0x002c */\tstruct _ARBITER_ALTERNATIVE*\tAlternatives;\n/* off 0x0030 */\tunsigned short\tFlags;\n/* off 0x0032 */\tunsigned char\tRangeAttributes;\n/* off 0x0033 */\tunsigned char\tRangeAvailableAttributes;\n/* off 0x0034 */\tunsigned long\tWorkSpace;\n};\nstruct _ARBITER_LIST_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tunsigned long\tAlternativeCount;\n/* off 0x000c */\tstruct _IO_RESOURCE_DESCRIPTOR*\tAlternatives;\n/* off 0x0010 */\tstruct _DEVICE_OBJECT*\tPhysicalDeviceObject;\n/* off 0x0014 */\tenum _ARBITER_REQUEST_SOURCE\tRequestSource;\n/* off 0x0018 */\tunsigned long\tFlags;\n/* off 0x001c */\tlong\tWorkSpace;\n/* off 0x0020 */\tenum _INTERFACE_TYPE\tInterfaceType;\n/* off 0x0024 */\tunsigned long\tSlotNumber;\n/* off 0x0028 */\tunsigned long\tBusNumber;\n/* off 0x002c */\tstruct _CM_PARTIAL_RESOURCE_DESCRIPTOR*\tAssignment;\n/* off 0x0030 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tSelectedAlternative;\n/* off 0x0034 */\tenum _ARBITER_RESULT\tResult;\n};\nenum _ARBITER_RESULT\n{\n\tArbiterResultUndefined\t=0xffffffff\t,//-1\n\tArbiterResultSuccess\t=0x00000000\t,//0\n\tArbiterResultExternalConflict\t=0x00000001\t,//0\n\tArbiterResultNullRequest\t=0x00000002\t,//0\n};\nstruct _ARBITER_ALTERNATIVE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned __int64\tMinimum;\n/* off 0x0008 */\tunsigned __int64\tMaximum;\n/* off 0x0010 */\tunsigned __int64\tLength;\n/* off 0x0018 */\tunsigned __int64\tAlignment;\n/* off 0x0020 */\tlong\tPriority;\n/* off 0x0024 */\tunsigned long\tFlags;\n/* off 0x0028 */\tstruct _IO_RESOURCE_DESCRIPTOR*\tDescriptor;\n/* off 0x002c */\tunsigned long Reserved[3];\n};\nstruct _RTL_RANGE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\n/* off 0x0010 */\tvoid*\tUserData;\n/* off 0x0014 */\tvoid*\tOwner;\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tFlags;\n};\nstruct _POP_ACTION_TRIGGER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tenum POWER_POLICY_DEVICE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tstruct _POP_TRIGGER_WAIT*\tWait;\nunion\n{\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLevel;\n\t}\tBattery;\n/* off 0x000c */\t\n\tstruct  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tType;\n\t}\tButton;\n};\n};\nstruct _POP_THERMAL_ZONE_METRICS /* sizeof 00000068 104 */\n{\n/* off 0x0000 */\tstruct _ERESOURCE\tMetricsResource;\n/* off 0x0038 */\tunsigned long\tActiveCount;\n/* off 0x003c */\tunsigned long\tPassiveCount;\n/* off 0x0040 */\tunion _LARGE_INTEGER\tLastActiveStartTick;\n/* off 0x0048 */\tunion _LARGE_INTEGER\tAverageActiveTime;\n/* off 0x0050 */\tunion _LARGE_INTEGER\tLastPassiveStartTick;\n/* off 0x0058 */\tunion _LARGE_INTEGER\tAveragePassiveTime;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tStartTickSinceLastReset;\n};\nstruct _POP_THERMAL_ZONE /* sizeof 00000150 336 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x0008 */\tunsigned char\tState;\n/* off 0x0009 */\tunsigned char\tFlags;\n/* off 0x000a */\tunsigned char\tMode;\n/* off 0x000b */\tunsigned char\tPendingMode;\n/* off 0x000c */\tunsigned char\tActivePoint;\n/* off 0x000d */\tunsigned char\tPendingActivePoint;\n/* off 0x0010 */\tlong\tThrottle;\n/* off 0x0018 */\tunsigned __int64\tLastTime;\n/* off 0x0020 */\tunsigned long\tSampleRate;\n/* off 0x0024 */\tunsigned long\tLastTemp;\n/* off 0x0028 */\tstruct _KTIMER\tPassiveTimer;\n/* off 0x0050 */\tstruct _KDPC\tPassiveDpc;\n/* off 0x0070 */\tstruct _POP_ACTION_TRIGGER\tOverThrottled;\n/* off 0x0080 */\tstruct _IRP*\tIrp;\n/* off 0x0084 */\tstruct _THERMAL_INFORMATION_EX\tInfo;\n/* off 0x00e0 */\tunion _LARGE_INTEGER\tInfoLastUpdateTime;\n/* off 0x00e8 */\tstruct _POP_THERMAL_ZONE_METRICS\tMetrics;\n};\nenum POWER_POLICY_DEVICE_TYPE\n{\n\tPolicyDeviceSystemButton\t=0x00000000\t,//0\n\tPolicyDeviceThermalZone\t=0x00000001\t,//0\n\tPolicyDeviceBattery\t=0x00000002\t,//0\n\tPolicyDeviceMemory\t=0x00000003\t,//0\n\tPolicyInitiatePowerActionAPI\t=0x00000004\t,//0\n\tPolicySetPowerStateAPI\t=0x00000005\t,//0\n\tPolicyImmediateDozeS4\t=0x00000006\t,//0\n\tPolicySystemIdle\t=0x00000007\t,//0\n\tPolicyDeviceMax\t=0x00000008\t,//0\n};\nstruct _POP_TRIGGER_WAIT /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KEVENT\tEvent;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tLink;\n/* off 0x001c */\tstruct _POP_ACTION_TRIGGER*\tTrigger;\n};\nenum _MI_SYSTEM_VA_TYPE\n{\n\tMiVaUnused\t=0x00000000\t,//0\n\tMiVaSessionSpace\t=0x00000001\t,//0\n\tMiVaProcessSpace\t=0x00000002\t,//0\n\tMiVaBootLoaded\t=0x00000003\t,//0\n\tMiVaPfnDatabase\t=0x00000004\t,//0\n\tMiVaNonPagedPool\t=0x00000005\t,//0\n\tMiVaPagedPool\t=0x00000006\t,//0\n\tMiVaSpecialPoolPaged\t=0x00000007\t,//0\n\tMiVaSystemCache\t=0x00000008\t,//0\n\tMiVaSystemPtes\t=0x00000009\t,//0\n\tMiVaHal\t=0x0000000a\t,//0\n\tMiVaSessionGlobalSpace\t=0x0000000b\t,//0\n\tMiVaDriverImages\t=0x0000000c\t,//0\n\tMiVaSpecialPoolNonPaged\t=0x0000000d\t,//0\n\tMiVaMaximumType\t=0x0000000e\t,//0\n};\nstruct _POOL_HACKER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tstruct _POOL_HEADER\tHeader;\n/* off 0x0008 */\tunsigned long Contents[8];\n};\nstruct _VF_BTS_DATA_MANAGEMENT_AREA /* sizeof 00000034 52 */\n{\n/* off 0x0000 */\tvoid*\tBTSBufferBase;\n/* off 0x0004 */\tvoid*\tBTSIndex;\n/* off 0x0008 */\tvoid*\tBTSMax;\n/* off 0x000c */\tvoid*\tBTSInterruptThreshold;\n/* off 0x0010 */\tvoid*\tPEBSBufferBase;\n/* off 0x0014 */\tvoid*\tPEBSIndex;\n/* off 0x0018 */\tvoid*\tPEBSMax;\n/* off 0x001c */\tvoid*\tPEBSInterruptThreshold;\n/* off 0x0020 */\tvoid* PEBSCounterReset[2];\n/* off 0x0028 */\tchar Reserved[12];\n};\nstruct _VF_AVL_TREE_NODE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tp;\n/* off 0x0004 */\tunsigned long\tRangeSize;\n};\nstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tSharedExportThunks;\n/* off 0x0004 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tPoolSharedExportThunks;\n/* off 0x0008 */\tstruct _VERIFIER_SHARED_EXPORT_THUNK*\tOrderDependentSharedExportThunks;\n};\nstruct _VF_TARGET_DRIVER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _VF_AVL_TREE_NODE\tTreeNode;\n/* off 0x0008 */\t\n\tunion  /* sizeof 0000000c 12 */\n\t{\n\t/* off 0x0000 */\tstruct _VF_TARGET_ALL_SHARED_EXPORT_THUNKS\tAllSharedExportThunks;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSnapSharedExportsFailed:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t}\tu1;\n/* off 0x0014 */\tstruct _VF_TARGET_VERIFIED_DRIVER_DATA*\tVerifiedData;\n};\nstruct _VERIFIER_SHARED_EXPORT_THUNK /* sizeof 00000000 0 */\n{\n};\nstruct _VF_TARGET_VERIFIED_DRIVER_DATA /* sizeof 00000090 144 */\n{\n/* off 0x0000 */\tstruct _VF_SUSPECT_DRIVER_ENTRY*\tSuspectDriverEntry;\n/* off 0x0004 */\tvoid*\tWMICallback;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tEtwHandlesListHead;\n/* off 0x0010 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000004 4 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tMissedEtwRegistration:1\t /* start bit 0 */;\n\t\t/* off 0x0000 */\tunsigned long\tSpare:31\t /* start bit 1 */;\n\t\t}\tFlags;\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0014 */\tunsigned long\tSignature;\n/* off 0x0018 */\tunion _SLIST_HEADER\tPoolPageHeaders;\n/* off 0x0020 */\tunion _SLIST_HEADER\tPoolTrackers;\n/* off 0x0028 */\tunsigned long\tCurrentPagedPoolAllocations;\n/* off 0x002c */\tunsigned long\tCurrentNonPagedPoolAllocations;\n/* off 0x0030 */\tunsigned long\tPeakPagedPoolAllocations;\n/* off 0x0034 */\tunsigned long\tPeakNonPagedPoolAllocations;\n/* off 0x0038 */\tunsigned long\tPagedBytes;\n/* off 0x003c */\tunsigned long\tNonPagedBytes;\n/* off 0x0040 */\tunsigned long\tPeakPagedBytes;\n/* off 0x0044 */\tunsigned long\tPeakNonPagedBytes;\n/* off 0x0048 */\tunsigned long\tRaiseIrqls;\n/* off 0x004c */\tunsigned long\tAcquireSpinLocks;\n/* off 0x0050 */\tunsigned long\tSynchronizeExecutions;\n/* off 0x0054 */\tunsigned long\tAllocationsWithNoTag;\n/* off 0x0058 */\tunsigned long\tAllocationsFailed;\n/* off 0x005c */\tunsigned long\tAllocationsFailedDeliberately;\n/* off 0x0060 */\tunsigned long\tLockedBytes;\n/* off 0x0064 */\tunsigned long\tPeakLockedBytes;\n/* off 0x0068 */\tunsigned long\tMappedLockedBytes;\n/* off 0x006c */\tunsigned long\tPeakMappedLockedBytes;\n/* off 0x0070 */\tunsigned long\tMappedIoSpaceBytes;\n/* off 0x0074 */\tunsigned long\tPeakMappedIoSpaceBytes;\n/* off 0x0078 */\tunsigned long\tPagesForMdlBytes;\n/* off 0x007c */\tunsigned long\tPeakPagesForMdlBytes;\n/* off 0x0080 */\tunsigned long\tContiguousMemoryBytes;\n/* off 0x0084 */\tunsigned long\tPeakContiguousMemoryBytes;\n/* off 0x0088 */\tstruct _LIST_ENTRY\tContiguousMemoryListHead;\n};\nstruct _VF_SUSPECT_DRIVER_ENTRY /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tLinks;\n/* off 0x0008 */\tunsigned long\tLoads;\n/* off 0x000c */\tunsigned long\tUnloads;\n/* off 0x0010 */\tstruct _UNICODE_STRING\tBaseName;\n};\nstruct PROCESSOR_PERFSTATE_POLICY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tunsigned char\tMaxThrottle;\n/* off 0x0005 */\tunsigned char\tMinThrottle;\n/* off 0x0006 */\tunsigned char\tBusyAdjThreshold;\nunion\n{\n/* off 0x0007 */\tunsigned char\tSpare;\n/* off 0x0007 */\t\n\tunion  /* sizeof 00000001 1 */\n\t{\n\t/* off 0x0000 */\tunsigned char\tAsUCHAR;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned char\tNoDomainAccounting:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned char\tIncreasePolicy:2\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned char\tDecreasePolicy:2\t /* start bit 3 */;\n\t/* off 0x0000 */\tunsigned char\tReserved:3\t /* start bit 5 */;\n\t};\n\t}\tFlags;\n};\n/* off 0x0008 */\tunsigned long\tTimeCheck;\n/* off 0x000c */\tunsigned long\tIncreaseTime;\n/* off 0x0010 */\tunsigned long\tDecreaseTime;\n/* off 0x0014 */\tunsigned long\tIncreasePercent;\n/* off 0x0018 */\tunsigned long\tDecreasePercent;\n};\nstruct _BUS_EXTENSION_LIST /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tvoid*\tNext;\n/* off 0x0004 */\tstruct _PI_BUS_EXTENSION*\tBusExtension;\n};\nenum _MM_POOL_TYPES\n{\n\tMmNonPagedPool\t=0x00000000\t,//0\n\tMmPagedPool\t=0x00000001\t,//0\n\tMmSessionPagedPool\t=0x00000002\t,//0\n\tMmMaximumPoolType\t=0x00000003\t,//0\n};\nenum _KWAIT_STATE\n{\n\tWaitInProgress\t=0x00000000\t,//0\n\tWaitCommitted\t=0x00000001\t,//0\n\tWaitAborted\t=0x00000002\t,//0\n\tMaximumWaitState\t=0x00000003\t,//0\n};\nenum _MEMORY_CACHING_TYPE_ORIG\n{\n\tMmFrameBufferCached\t=0x00000002\t,//0\n};\nstruct _PF_KERNEL_GLOBALS /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tunsigned __int64\tAccessBufferAgeThreshold;\n/* off 0x0008 */\tstruct _EX_RUNDOWN_REF\tAccessBufferRef;\n/* off 0x000c */\tstruct _KEVENT\tAccessBufferExistsEvent;\n/* off 0x001c */\tunsigned long\tAccessBufferMax;\n/* off 0x0020 */\tunion _SLIST_HEADER\tAccessBufferList;\n/* off 0x0028 */\tlong\tStreamSequenceNumber;\n/* off 0x002c */\tunsigned long\tFlags;\n/* off 0x0030 */\tlong\tScenarioPrefetchCount;\n};\nstruct POWER_ACTION_POLICY /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tenum POWER_ACTION\tAction;\n/* off 0x0004 */\tunsigned long\tFlags;\n/* off 0x0008 */\tunsigned long\tEventCode;\n};\nstruct _POP_SYSTEM_IDLE /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tlong\tAverageIdleness;\n/* off 0x0004 */\tlong\tLowestIdleness;\n/* off 0x0008 */\tunsigned long\tTime;\n/* off 0x000c */\tunsigned long\tTimeout;\n/* off 0x0010 */\tunsigned long\tLastUserInput;\n/* off 0x0014 */\tstruct POWER_ACTION_POLICY\tAction;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tMinState;\n/* off 0x0024 */\tunsigned char\tSystemRequired;\n/* off 0x0025 */\tunsigned char\tIdleWorker;\n/* off 0x0026 */\tunsigned char\tSampling;\n/* off 0x0028 */\tunsigned __int64\tLastTick;\n/* off 0x0030 */\tunsigned long\tLastSystemRequiredTime;\n};\nstruct _IMAGE_SECTION_HEADER /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned char Name[8];\n/* off 0x0008 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tPhysicalAddress;\n\t/* off 0x0000 */\tunsigned long\tVirtualSize;\n\t}\tMisc;\n/* off 0x000c */\tunsigned long\tVirtualAddress;\n/* off 0x0010 */\tunsigned long\tSizeOfRawData;\n/* off 0x0014 */\tunsigned long\tPointerToRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRelocations;\n/* off 0x001c */\tunsigned long\tPointerToLinenumbers;\n/* off 0x0020 */\tunsigned short\tNumberOfRelocations;\n/* off 0x0022 */\tunsigned short\tNumberOfLinenumbers;\n/* off 0x0024 */\tunsigned long\tCharacteristics;\n};\nenum _MM_POOL_PRIORITIES\n{\n\tMmHighPriority\t=0x00000000\t,//0\n\tMmNormalPriority\t=0x00000001\t,//0\n\tMmLowPriority\t=0x00000002\t,//0\n\tMmMaximumPoolPriority\t=0x00000003\t,//0\n};\nstruct _CM_CACHED_VALUE_INDEX /* sizeof 00000054 84 */\n{\n/* off 0x0000 */\tunsigned long\tCellIndex;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000050 80 */\n\t{\n\t/* off 0x0000 */\tstruct _CELL_DATA\tCellData;\n\t/* off 0x0000 */\tunsigned long List[1];\n\t}\tData;\n};\nstruct _IMAGE_ROM_OPTIONAL_HEADER /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tunsigned short\tMagic;\n/* off 0x0002 */\tunsigned char\tMajorLinkerVersion;\n/* off 0x0003 */\tunsigned char\tMinorLinkerVersion;\n/* off 0x0004 */\tunsigned long\tSizeOfCode;\n/* off 0x0008 */\tunsigned long\tSizeOfInitializedData;\n/* off 0x000c */\tunsigned long\tSizeOfUninitializedData;\n/* off 0x0010 */\tunsigned long\tAddressOfEntryPoint;\n/* off 0x0014 */\tunsigned long\tBaseOfCode;\n/* off 0x0018 */\tunsigned long\tBaseOfData;\n/* off 0x001c */\tunsigned long\tBaseOfBss;\n/* off 0x0020 */\tunsigned long\tGprMask;\n/* off 0x0024 */\tunsigned long CprMask[4];\n/* off 0x0034 */\tunsigned long\tGpValue;\n};\nstruct _IMAGE_DEBUG_DIRECTORY /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tunsigned long\tCharacteristics;\n/* off 0x0004 */\tunsigned long\tTimeDateStamp;\n/* off 0x0008 */\tunsigned short\tMajorVersion;\n/* off 0x000a */\tunsigned short\tMinorVersion;\n/* off 0x000c */\tunsigned long\tType;\n/* off 0x0010 */\tunsigned long\tSizeOfData;\n/* off 0x0014 */\tunsigned long\tAddressOfRawData;\n/* off 0x0018 */\tunsigned long\tPointerToRawData;\n};\nenum _MODE\n{\n\tKernelMode\t=0x00000000\t,//0\n\tUserMode\t=0x00000001\t,//0\n\tMaximumMode\t=0x00000002\t,//0\n};\nstruct _ETW_WMITRACE_WORK /* sizeof 000000f0 240 */\n{\n/* off 0x0000 */\tunsigned long\tLoggerId;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tchar LoggerName[65];\n/* off 0x0049 */\tchar FileName[129];\n/* off 0x00cc */\tunsigned long\tMaximumFileSize;\n/* off 0x00d0 */\tunsigned long\tMinBuffers;\n/* off 0x00d4 */\tunsigned long\tMaxBuffers;\n/* off 0x00d8 */\tunsigned long\tBufferSize;\n/* off 0x00dc */\tunsigned long\tMode;\n/* off 0x00e0 */\tunsigned long\tFlushTimer;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned __int64\tMatchAny;\n/* off 0x0010 */\tunsigned __int64\tMatchAll;\n/* off 0x0018 */\tunsigned long\tEnableProperty;\n/* off 0x001c */\tstruct _GUID\tGuid;\n/* off 0x002c */\tunsigned char\tLevel;\n};\n};\n/* off 0x00e8 */\tlong\tStatus;\n};\nstruct _HEAP_DEBUGGING_INFORMATION /* sizeof 0000001c 28 */\n{\n/* off 0x0000 */\tvoid*\tInterceptorFunction;\n/* off 0x0004 */\tunsigned short\tInterceptorValue;\n/* off 0x0008 */\tunsigned long\tExtendedOptions;\n/* off 0x000c */\tunsigned long\tStackTraceDepth;\n/* off 0x0010 */\tunsigned long\tMinTotalBlockSize;\n/* off 0x0014 */\tunsigned long\tMaxTotalBlockSize;\n/* off 0x0018 */\tlong( __stdcall *HeapLeakEnumerationRoutine)(long,void*,void*,unsigned long,unsigned long,void*);\n};\nstruct _HEAP_ENTRY_EXTRA /* sizeof 00000008 8 */\n{\nunion\n{\nstruct\n{\n/* off 0x0000 */\tunsigned short\tAllocatorBackTraceIndex;\n/* off 0x0002 */\tunsigned short\tTagIndex;\n/* off 0x0004 */\tunsigned long\tSettable;\n};\n/* off 0x0000 */\tunsigned __int64\tZeroInit;\n};\n};\nstruct _HEAP_VIRTUAL_ALLOC_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tEntry;\n/* off 0x0008 */\tstruct _HEAP_ENTRY_EXTRA\tExtraStuff;\n/* off 0x0010 */\tunsigned long\tCommitSize;\n/* off 0x0014 */\tunsigned long\tReserveSize;\n/* off 0x0018 */\tstruct _HEAP_ENTRY\tBusyBlock;\n};\nstruct _PNP_DEVICE_COMPLETION_REQUEST /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x000c */\tvoid*\tContext;\n/* off 0x0010 */\tenum _PNP_DEVNODE_STATE\tCompletionState;\n/* off 0x0014 */\tunsigned long\tIrpPended;\n/* off 0x0018 */\tlong\tStatus;\n/* off 0x001c */\tvoid*\tInformation;\n/* off 0x0020 */\tstruct _WORK_QUEUE_ITEM\tWorkItem;\n/* off 0x0030 */\tstruct _DRIVER_OBJECT*\tFailingDriver;\n/* off 0x0034 */\tlong\tReferenceCount;\n};\nstruct _SECTION_OBJECT /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tvoid*\tStartingVa;\n/* off 0x0004 */\tvoid*\tEndingVa;\n/* off 0x0008 */\tvoid*\tParent;\n/* off 0x000c */\tvoid*\tLeftChild;\n/* off 0x0010 */\tvoid*\tRightChild;\n/* off 0x0014 */\tstruct _SEGMENT_OBJECT*\tSegment;\n};\nstruct _PPM_PERF_STATE /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tFrequency;\n/* off 0x0004 */\tunsigned long\tPower;\n/* off 0x0008 */\tunsigned char\tPercentFrequency;\n/* off 0x0009 */\tunsigned char\tIncreaseLevel;\n/* off 0x000a */\tunsigned char\tDecreaseLevel;\n/* off 0x000b */\tunsigned char\tType;\n/* off 0x0010 */\tunsigned __int64\tControl;\n/* off 0x0018 */\tunsigned __int64\tStatus;\n/* off 0x0020 */\tunsigned long\tTotalHitCount;\n/* off 0x0024 */\tunsigned long\tDesiredCount;\n};\nstruct _PPM_PERF_STATES /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tunsigned long\tCount;\n/* off 0x0004 */\tunsigned long\tMaxFrequency;\n/* off 0x0008 */\tunsigned long\tPStateCap;\n/* off 0x000c */\tunsigned long\tTStateCap;\n/* off 0x0010 */\tunsigned long\tMaxPerfState;\n/* off 0x0014 */\tunsigned long\tMinPerfState;\n/* off 0x0018 */\tunsigned long\tLowestPState;\n/* off 0x001c */\tunsigned long\tIncreaseTime;\n/* off 0x0020 */\tunsigned long\tDecreaseTime;\n/* off 0x0024 */\tunsigned char\tBusyAdjThreshold;\n/* off 0x0025 */\tunsigned char\tReserved;\n/* off 0x0026 */\tunsigned char\tThrottleStatesOnly;\n/* off 0x0027 */\tunsigned char\tPolicyType;\n/* off 0x0028 */\tunsigned long\tTimerInterval;\n/* off 0x002c */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tAsULONG;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tIncreasePolicy:2\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tDecreasePolicy:2\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tReserved:28\t /* start bit 4 */;\n\t};\n\t}\tFlags;\n/* off 0x0030 */\tstruct _KAFFINITY_EX\tTargetProcessors;\n/* off 0x003c */\tlong( __fastcall *PStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0040 */\tunsigned long\tPStateContext;\n/* off 0x0044 */\tlong( __fastcall *TStateHandler)(unsigned long,unsigned __int64,unsigned __int64);\n/* off 0x0048 */\tunsigned long\tTStateContext;\n/* off 0x004c */\tunsigned char( __fastcall *FeedbackHandler)(unsigned long*,unsigned long,unsigned char);\n/* off 0x0050 */\tvoid( __fastcall *GetFFHThrottleState)(unsigned __int64*);\n/* off 0x0058 */\tstruct _PPM_PERF_STATE State[1];\n};\nstruct _HEAP_LOOKASIDE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tunion _SLIST_HEADER\tListHead;\n/* off 0x0008 */\tunsigned short\tDepth;\n/* off 0x000a */\tunsigned short\tMaximumDepth;\n/* off 0x000c */\tunsigned long\tTotalAllocates;\n/* off 0x0010 */\tunsigned long\tAllocateMisses;\n/* off 0x0014 */\tunsigned long\tTotalFrees;\n/* off 0x0018 */\tunsigned long\tFreeMisses;\n/* off 0x001c */\tunsigned long\tLastTotalAllocates;\n/* off 0x0020 */\tunsigned long\tLastAllocateMisses;\n/* off 0x0024 */\tunsigned long Counters[2];\n};\nstruct _RTL_HANDLE_TABLE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned long\tMaximumNumberOfHandles;\n/* off 0x0004 */\tunsigned long\tSizeOfHandleTableEntry;\n/* off 0x0008 */\tunsigned long Reserved[2];\n/* off 0x0010 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tFreeHandles;\n/* off 0x0014 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tCommittedHandles;\n/* off 0x0018 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tUnCommittedHandles;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tMaxReservedHandles;\n};\nstruct _RTL_ATOM_TABLE /* sizeof 00000044 68 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tstruct _RTL_CRITICAL_SECTION\tCriticalSection;\n/* off 0x001c */\tstruct _RTL_HANDLE_TABLE\tRtlHandleTable;\n/* off 0x003c */\tunsigned long\tNumberOfBuckets;\n/* off 0x0040 */\tstruct _RTL_ATOM_TABLE_ENTRY* Buckets[1];\n};\nstruct _RTL_HANDLE_TABLE_ENTRY /* sizeof 00000004 4 */\n{\nunion\n{\n/* off 0x0000 */\tunsigned long\tFlags;\n/* off 0x0000 */\tstruct _RTL_HANDLE_TABLE_ENTRY*\tNextFree;\n};\n};\nstruct _RTL_ATOM_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _RTL_ATOM_TABLE_ENTRY*\tHashLink;\n/* off 0x0004 */\tunsigned short\tHandleIndex;\n/* off 0x0006 */\tunsigned short\tAtom;\n/* off 0x0008 */\tunsigned short\tReferenceCount;\n/* off 0x000a */\tunsigned char\tFlags;\n/* off 0x000b */\tunsigned char\tNameLength;\n/* off 0x000c */\twchar Name[1];\n};\nstruct BATTERY_REPORTING_SCALE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tGranularity;\n/* off 0x0004 */\tunsigned long\tCapacity;\n};\nstruct SYSTEM_POWER_CAPABILITIES /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tunsigned char\tPowerButtonPresent;\n/* off 0x0001 */\tunsigned char\tSleepButtonPresent;\n/* off 0x0002 */\tunsigned char\tLidPresent;\n/* off 0x0003 */\tunsigned char\tSystemS1;\n/* off 0x0004 */\tunsigned char\tSystemS2;\n/* off 0x0005 */\tunsigned char\tSystemS3;\n/* off 0x0006 */\tunsigned char\tSystemS4;\n/* off 0x0007 */\tunsigned char\tSystemS5;\n/* off 0x0008 */\tunsigned char\tHiberFilePresent;\n/* off 0x0009 */\tunsigned char\tFullWake;\n/* off 0x000a */\tunsigned char\tVideoDimPresent;\n/* off 0x000b */\tunsigned char\tApmPresent;\n/* off 0x000c */\tunsigned char\tUpsPresent;\n/* off 0x000d */\tunsigned char\tThermalControl;\n/* off 0x000e */\tunsigned char\tProcessorThrottle;\n/* off 0x000f */\tunsigned char\tProcessorMinThrottle;\n/* off 0x0010 */\tunsigned char\tProcessorMaxThrottle;\n/* off 0x0011 */\tunsigned char\tFastSystemS4;\n/* off 0x0012 */\tunsigned char spare2[3];\n/* off 0x0015 */\tunsigned char\tDiskSpinDown;\n/* off 0x0016 */\tunsigned char spare3[8];\n/* off 0x001e */\tunsigned char\tSystemBatteriesPresent;\n/* off 0x001f */\tunsigned char\tBatteriesAreShortTerm;\n/* off 0x0020 */\tstruct BATTERY_REPORTING_SCALE BatteryScale[3];\n/* off 0x0038 */\tenum _SYSTEM_POWER_STATE\tAcOnLineWake;\n/* off 0x003c */\tenum _SYSTEM_POWER_STATE\tSoftLidWake;\n/* off 0x0040 */\tenum _SYSTEM_POWER_STATE\tRtcWake;\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinDeviceWakeState;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tDefaultLowLatencyWake;\n};\nstruct _POP_POWER_ACTION /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tunsigned char\tUpdates;\n/* off 0x0001 */\tunsigned char\tState;\n/* off 0x0002 */\tunsigned char\tShutdown;\n/* off 0x0004 */\tenum POWER_ACTION\tAction;\n/* off 0x0008 */\tenum _SYSTEM_POWER_STATE\tLightestState;\n/* off 0x000c */\tunsigned long\tFlags;\n/* off 0x0010 */\tlong\tStatus;\n/* off 0x0014 */\tenum POWER_POLICY_DEVICE_TYPE\tDeviceType;\n/* off 0x0018 */\tunsigned long\tDeviceTypeFlags;\n/* off 0x001c */\tunsigned char\tIrpMinor;\n/* off 0x001d */\tunsigned char\tWaking;\n/* off 0x0020 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0024 */\tenum _SYSTEM_POWER_STATE\tNextSystemState;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tEffectiveSystemState;\n/* off 0x002c */\tenum _SYSTEM_POWER_STATE\tCurrentSystemState;\n/* off 0x0030 */\tstruct _POP_SHUTDOWN_BUG_CHECK*\tShutdownBugCode;\n/* off 0x0034 */\tstruct _POP_DEVICE_SYS_STATE*\tDevState;\n/* off 0x0038 */\tstruct _POP_HIBER_CONTEXT*\tHiberContext;\n/* off 0x0040 */\tunsigned __int64\tWakeTime;\n/* off 0x0048 */\tunsigned __int64\tSleepTime;\n/* off 0x0050 */\tunsigned __int64\tProgrammedRTCTime;\n/* off 0x0058 */\tunsigned char\tWakeOnRTC;\n/* off 0x005c */\tstruct _DIAGNOSTIC_BUFFER*\tWakeTimerInfo;\n/* off 0x0060 */\tstruct SYSTEM_POWER_CAPABILITIES\tFilteredCapabilities;\n};\nstruct _POP_SHUTDOWN_BUG_CHECK /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tvoid*\tThreadHandle;\n/* off 0x0004 */\tvoid*\tThreadId;\n/* off 0x0008 */\tvoid*\tProcessId;\n/* off 0x000c */\tunsigned long\tCode;\n/* off 0x0010 */\tunsigned long\tParameter1;\n/* off 0x0014 */\tunsigned long\tParameter2;\n/* off 0x0018 */\tunsigned long\tParameter3;\n/* off 0x001c */\tunsigned long\tParameter4;\n};\nstruct _PO_NOTIFY_ORDER_LEVEL /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned long\tDeviceCount;\n/* off 0x0004 */\tunsigned long\tActiveCount;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tWaitSleep;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tReadySleep;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tReadyS0;\n/* off 0x0020 */\tstruct _LIST_ENTRY\tWaitS0;\n};\nstruct _PO_DEVICE_NOTIFY_ORDER /* sizeof 00000170 368 */\n{\n/* off 0x0000 */\tunsigned char\tLocked;\n/* off 0x0004 */\tstruct _DEVICE_OBJECT**\tWarmEjectPdoPointer;\n/* off 0x0008 */\tstruct _PO_NOTIFY_ORDER_LEVEL OrderLevel[9];\n};\nstruct _POP_DEVICE_SYS_STATE /* sizeof 000001a8 424 */\n{\n/* off 0x0000 */\tunsigned char\tIrpMinor;\n/* off 0x0004 */\tenum _SYSTEM_POWER_STATE\tSystemState;\n/* off 0x0008 */\tunsigned long\tSpinLock;\n/* off 0x000c */\tstruct _KTHREAD*\tThread;\n/* off 0x0010 */\tstruct _KEVENT*\tAbortEvent;\n/* off 0x0014 */\tstruct _KSEMAPHORE*\tReadySemaphore;\n/* off 0x0018 */\tstruct _KSEMAPHORE*\tFinishedSemaphore;\n/* off 0x001c */\tunsigned char\tGetNewDeviceList;\n/* off 0x0020 */\tstruct _PO_DEVICE_NOTIFY_ORDER\tOrder;\n/* off 0x0190 */\tstruct _LIST_ENTRY\tPending;\n/* off 0x0198 */\tlong\tStatus;\n/* off 0x019c */\tstruct _DEVICE_OBJECT*\tFailedDevice;\n/* off 0x01a0 */\tunsigned char\tWaking;\n/* off 0x01a1 */\tunsigned char\tCancelled;\n/* off 0x01a2 */\tunsigned char\tIgnoreErrors;\n/* off 0x01a3 */\tunsigned char\tIgnoreNotImplemented;\n/* off 0x01a4 */\tunsigned char\tTimeRefreshLockAcquired;\n};\nstruct _POP_HIBER_CONTEXT /* sizeof 000000a0 160 */\n{\n/* off 0x0000 */\tunsigned char\tWriteToFile;\n/* off 0x0001 */\tunsigned char\tReserveLoaderMemory;\n/* off 0x0002 */\tunsigned char\tReserveFreeMemory;\n/* off 0x0003 */\tunsigned char\tReset;\n/* off 0x0004 */\tunsigned char\tHiberFlags;\n/* off 0x0005 */\tunsigned char\tWroteHiberFile;\n/* off 0x0006 */\tunsigned char\tMapFrozen;\n/* off 0x0008 */\tstruct _RTL_BITMAP\tMemoryMap;\n/* off 0x0010 */\tstruct _RTL_BITMAP\tDiscardedMemoryPages;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tClonedRanges;\n/* off 0x0020 */\tunsigned long\tClonedRangeCount;\n/* off 0x0024 */\tstruct _LIST_ENTRY*\tNextCloneRange;\n/* off 0x0028 */\tunsigned long\tNextPreserve;\n/* off 0x002c */\tstruct _MDL*\tLoaderMdl;\n/* off 0x0030 */\tstruct _MDL*\tAllocatedMdl;\n/* off 0x0038 */\tunsigned __int64\tPagesOut;\n/* off 0x0040 */\tvoid*\tIoPages;\n/* off 0x0044 */\tunsigned long\tIoPagesCount;\n/* off 0x0048 */\tvoid*\tCurrentMcb;\n/* off 0x004c */\tstruct _DUMP_STACK_CONTEXT*\tDumpStack;\n/* off 0x0050 */\tstruct _KPROCESSOR_STATE*\tWakeState;\n/* off 0x0054 */\tunsigned long\tPreferredIoWriteSize;\n/* off 0x0058 */\tunsigned long\tIoProgress;\n/* off 0x005c */\tunsigned long\tHiberVa;\n/* off 0x0060 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0068 */\tlong\tStatus;\n/* off 0x006c */\tstruct PO_MEMORY_IMAGE*\tMemoryImage;\n/* off 0x0070 */\tvoid*\tCompressionWorkspace;\n/* off 0x0074 */\tunsigned char*\tCompressedWriteBuffer;\n/* off 0x0078 */\tunsigned long\tCompressedWriteBufferSize;\n/* off 0x007c */\tunsigned long\tMaxCompressedOutputSize;\n/* off 0x0080 */\tunsigned long*\tPerformanceStats;\n/* off 0x0084 */\tvoid*\tCompressionBlock;\n/* off 0x0088 */\tvoid*\tDmaIO;\n/* off 0x008c */\tvoid*\tTemporaryHeap;\n/* off 0x0090 */\tstruct _MDL*\tBootLoaderLogMdl;\n/* off 0x0094 */\tstruct _MDL*\tFirmwareRuntimeInformationMdl;\n/* off 0x0098 */\tvoid*\tResumeContext;\n/* off 0x009c */\tunsigned long\tResumeContextPages;\n};\nstruct _DUMP_INITIALIZATION_CONTEXT /* sizeof 00000070 112 */\n{\n/* off 0x0000 */\tunsigned long\tLength;\n/* off 0x0004 */\tunsigned long\tReserved;\n/* off 0x0008 */\tvoid*\tMemoryBlock;\n/* off 0x000c */\tvoid* CommonBuffer[2];\n/* off 0x0018 */\tunion _LARGE_INTEGER PhysicalAddress[2];\n/* off 0x0028 */\tvoid( __stdcall *StallRoutine)(unsigned long);\n/* off 0x002c */\tunsigned char( __stdcall *OpenRoutine)(union _LARGE_INTEGER);\n/* off 0x0030 */\tlong( __stdcall *WriteRoutine)(union _LARGE_INTEGER*,struct _MDL*);\n/* off 0x0034 */\tvoid( __stdcall *FinishRoutine)();\n/* off 0x0038 */\tstruct _ADAPTER_OBJECT*\tAdapterObject;\n/* off 0x003c */\tvoid*\tMappedRegisterBase;\n/* off 0x0040 */\tvoid*\tPortConfiguration;\n/* off 0x0044 */\tunsigned char\tCrashDump;\n/* off 0x0048 */\tunsigned long\tMaximumTransferSize;\n/* off 0x004c */\tunsigned long\tCommonBufferSize;\n/* off 0x0050 */\tvoid*\tTargetAddress;\n/* off 0x0054 */\tlong( __stdcall *WritePendingRoutine)(long,union _LARGE_INTEGER*,struct _MDL*,void*);\n/* off 0x0058 */\tunsigned long\tPartitionStyle;\n/* off 0x005c */\t\n\tunion  /* sizeof 00000010 16 */\n\t{\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000008 8 */\n\t\t{\n\t\t/* off 0x0000 */\tunsigned long\tSignature;\n\t\t/* off 0x0004 */\tunsigned long\tCheckSum;\n\t\t}\tMbr;\n\t/* off 0x0000 */\t\n\t\tstruct  /* sizeof 00000010 16 */\n\t\t{\n\t\t/* off 0x0000 */\tstruct _GUID\tDiskId;\n\t\t}\tGpt;\n\t}\tDiskInfo;\n};\nstruct _DUMP_STACK_CONTEXT /* sizeof 000000b0 176 */\n{\n/* off 0x0000 */\tstruct _DUMP_INITIALIZATION_CONTEXT\tInit;\n/* off 0x0070 */\tunion _LARGE_INTEGER\tPartitionOffset;\n/* off 0x0078 */\tvoid*\tDumpPointers;\n/* off 0x007c */\tunsigned long\tPointersLength;\n/* off 0x0080 */\tunsigned short*\tModulePrefix;\n/* off 0x0084 */\tstruct _LIST_ENTRY\tDriverList;\n/* off 0x008c */\tstruct _STRING\tInitMsg;\n/* off 0x0094 */\tstruct _STRING\tProgMsg;\n/* off 0x009c */\tstruct _STRING\tDoneMsg;\n/* off 0x00a4 */\tvoid*\tFileObject;\n/* off 0x00a8 */\tenum _DEVICE_USAGE_NOTIFICATION_TYPE\tUsageType;\n};\nstruct _ADAPTER_OBJECT /* sizeof 00000000 0 */\n{\n};\nstruct _PO_HIBER_PERF /* sizeof 00000058 88 */\n{\n/* off 0x0000 */\tunsigned __int64\tIoTicks;\n/* off 0x0008 */\tunsigned __int64\tInitTicks;\n/* off 0x0010 */\tunsigned __int64\tCopyTicks;\n/* off 0x0018 */\tunsigned __int64\tElapsedTicks;\n/* off 0x0020 */\tunsigned __int64\tCompressTicks;\n/* off 0x0028 */\tunsigned __int64\tResumeAppTime;\n/* off 0x0030 */\tunsigned __int64\tHiberFileResumeTime;\n/* off 0x0038 */\tunsigned __int64\tBytesCopied;\n/* off 0x0040 */\tunsigned __int64\tPagesProcessed;\n/* off 0x0048 */\tunsigned long\tPagesWritten;\n/* off 0x004c */\tunsigned long\tDumpCount;\n/* off 0x0050 */\tunsigned long\tFileRuns;\n};\nstruct PO_MEMORY_IMAGE /* sizeof 000000e0 224 */\n{\n/* off 0x0000 */\tunsigned long\tSignature;\n/* off 0x0004 */\tunsigned long\tImageType;\n/* off 0x0008 */\tunsigned long\tCheckSum;\n/* off 0x000c */\tunsigned long\tLengthSelf;\n/* off 0x0010 */\tunsigned long\tPageSelf;\n/* off 0x0014 */\tunsigned long\tPageSize;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tSystemTime;\n/* off 0x0020 */\tunsigned __int64\tInterruptTime;\n/* off 0x0028 */\tunsigned long\tFeatureFlags;\n/* off 0x002c */\tunsigned char\tHiberFlags;\n/* off 0x002d */\tunsigned char spare[3];\n/* off 0x0030 */\tunsigned long\tNoHiberPtes;\n/* off 0x0034 */\tunsigned long\tHiberVa;\n/* off 0x0038 */\tunion _LARGE_INTEGER\tHiberPte;\n/* off 0x0040 */\tunsigned long\tNoFreePages;\n/* off 0x0044 */\tunsigned long\tFreeMapCheck;\n/* off 0x0048 */\tunsigned long\tWakeCheck;\n/* off 0x004c */\tunsigned long\tFirstTablePage;\n/* off 0x0050 */\tstruct _PO_HIBER_PERF\tPerfInfo;\n/* off 0x00a8 */\tunsigned long\tFirmwareRuntimeInformationPages;\n/* off 0x00ac */\tunsigned long FirmwareRuntimeInformation[1];\n/* off 0x00b0 */\tunsigned long\tNoBootLoaderLogPages;\n/* off 0x00b4 */\tunsigned long BootLoaderLogPages[8];\n/* off 0x00d4 */\tunsigned long\tNotUsed;\n/* off 0x00d8 */\tunsigned long\tResumeContextCheck;\n/* off 0x00dc */\tunsigned long\tResumeContextPages;\n};\nstruct _DIAGNOSTIC_BUFFER /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tSize;\n/* off 0x0004 */\tenum _REQUESTER_TYPE\tCallerType;\nunion\n{\nstruct\n{\n/* off 0x0008 */\tunsigned long\tProcessImageNameOffset;\nunion\n{\nstruct\n{\n/* off 0x000c */\tunsigned long\tProcessId;\n/* off 0x0010 */\tunsigned long\tServiceTag;\n};\nstruct\n{\n/* off 0x0008 */\tunsigned long\tDeviceDescriptionOffset;\n};\nstruct\n{\n/* off 0x000c */\tunsigned long\tDevicePathOffset;\n};\n};\n};\n};\n/* off 0x0014 */\tunsigned long\tReasonOffset;\n};\nenum _KOBJECTS\n{\n\tEventNotificationObject\t=0x00000000\t,//0\n\tEventSynchronizationObject\t=0x00000001\t,//0\n\tMutantObject\t=0x00000002\t,//0\n\tProcessObject\t=0x00000003\t,//0\n\tQueueObject\t=0x00000004\t,//0\n\tSemaphoreObject\t=0x00000005\t,//0\n\tThreadObject\t=0x00000006\t,//0\n\tGateObject\t=0x00000007\t,//0\n\tTimerNotificationObject\t=0x00000008\t,//0\n\tTimerSynchronizationObject\t=0x00000009\t,//0\n\tSpare2Object\t=0x0000000a\t,//0\n\tSpare3Object\t=0x0000000b\t,//0\n\tSpare4Object\t=0x0000000c\t,//0\n\tSpare5Object\t=0x0000000d\t,//0\n\tSpare6Object\t=0x0000000e\t,//0\n\tSpare7Object\t=0x0000000f\t,//0\n\tSpare8Object\t=0x00000010\t,//0\n\tSpare9Object\t=0x00000011\t,//0\n\tApcObject\t=0x00000012\t,//0\n\tDpcObject\t=0x00000013\t,//0\n\tDeviceQueueObject\t=0x00000014\t,//0\n\tEventPairObject\t=0x00000015\t,//0\n\tInterruptObject\t=0x00000016\t,//0\n\tProfileObject\t=0x00000017\t,//0\n\tThreadedDpcObject\t=0x00000018\t,//0\n\tMaximumKernelObject\t=0x00000019\t,//0\n};\nenum _POLICY_AUDIT_EVENT_TYPE\n{\n\tAuditCategorySystem\t=0x00000000\t,//0\n\tAuditCategoryLogon\t=0x00000001\t,//0\n\tAuditCategoryObjectAccess\t=0x00000002\t,//0\n\tAuditCategoryPrivilegeUse\t=0x00000003\t,//0\n\tAuditCategoryDetailedTracking\t=0x00000004\t,//0\n\tAuditCategoryPolicyChange\t=0x00000005\t,//0\n\tAuditCategoryAccountManagement\t=0x00000006\t,//0\n\tAuditCategoryDirectoryServiceAccess\t=0x00000007\t,//0\n\tAuditCategoryAccountLogon\t=0x00000008\t,//0\n};\nstruct _PI_RESOURCE_ARBITER_ENTRY /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tDeviceArbiterList;\n/* off 0x0008 */\tunsigned char\tResourceType;\n/* off 0x000c */\tstruct _ARBITER_INTERFACE*\tArbiterInterface;\n/* off 0x0010 */\tstruct _DEVICE_NODE*\tDeviceNode;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x001c */\tstruct _LIST_ENTRY\tBestResourceList;\n/* off 0x0024 */\tstruct _LIST_ENTRY\tBestConfig;\n/* off 0x002c */\tstruct _LIST_ENTRY\tActiveArbiterList;\n/* off 0x0034 */\tunsigned char\tState;\n/* off 0x0035 */\tunsigned char\tResourcesChanged;\n};\nstruct _SECURITY_DESCRIPTOR /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tunsigned char\tRevision;\n/* off 0x0001 */\tunsigned char\tSbz1;\n/* off 0x0002 */\tunsigned short\tControl;\n/* off 0x0004 */\tvoid*\tOwner;\n/* off 0x0008 */\tvoid*\tGroup;\n/* off 0x000c */\tstruct _ACL*\tSacl;\n/* off 0x0010 */\tstruct _ACL*\tDacl;\n};\nstruct _PHYSICAL_MEMORY_RUN /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tBasePage;\n/* off 0x0004 */\tunsigned long\tPageCount;\n};\nstruct SYSTEM_POWER_LEVEL /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned char\tEnable;\n/* off 0x0001 */\tunsigned char Spare[3];\n/* off 0x0004 */\tunsigned long\tBatteryLevel;\n/* off 0x0008 */\tstruct POWER_ACTION_POLICY\tPowerPolicy;\n/* off 0x0014 */\tenum _SYSTEM_POWER_STATE\tMinSystemState;\n};\nstruct _SYSTEM_POWER_POLICY /* sizeof 000000e8 232 */\n{\n/* off 0x0000 */\tunsigned long\tRevision;\n/* off 0x0004 */\tstruct POWER_ACTION_POLICY\tPowerButton;\n/* off 0x0010 */\tstruct POWER_ACTION_POLICY\tSleepButton;\n/* off 0x001c */\tstruct POWER_ACTION_POLICY\tLidClose;\n/* off 0x0028 */\tenum _SYSTEM_POWER_STATE\tLidOpenWake;\n/* off 0x002c */\tunsigned long\tReserved;\n/* off 0x0030 */\tstruct POWER_ACTION_POLICY\tIdle;\n/* off 0x003c */\tunsigned long\tIdleTimeout;\n/* off 0x0040 */\tunsigned char\tIdleSensitivity;\n/* off 0x0041 */\tunsigned char\tDynamicThrottle;\n/* off 0x0042 */\tunsigned char Spare2[2];\n/* off 0x0044 */\tenum _SYSTEM_POWER_STATE\tMinSleep;\n/* off 0x0048 */\tenum _SYSTEM_POWER_STATE\tMaxSleep;\n/* off 0x004c */\tenum _SYSTEM_POWER_STATE\tReducedLatencySleep;\n/* off 0x0050 */\tunsigned long\tWinLogonFlags;\n/* off 0x0054 */\tunsigned long\tSpare3;\n/* off 0x0058 */\tunsigned long\tDozeS4Timeout;\n/* off 0x005c */\tunsigned long\tBroadcastCapacityResolution;\n/* off 0x0060 */\tstruct SYSTEM_POWER_LEVEL DischargePolicy[4];\n/* off 0x00c0 */\tunsigned long\tVideoTimeout;\n/* off 0x00c4 */\tunsigned char\tVideoDimDisplay;\n/* off 0x00c8 */\tunsigned long VideoReserved[3];\n/* off 0x00d4 */\tunsigned long\tSpindownTimeout;\n/* off 0x00d8 */\tunsigned char\tOptimizeForPower;\n/* off 0x00d9 */\tunsigned char\tFanThrottleTolerance;\n/* off 0x00da */\tunsigned char\tForcedThrottle;\n/* off 0x00db */\tunsigned char\tMinThrottle;\n/* off 0x00dc */\tstruct POWER_ACTION_POLICY\tOverThrottled;\n};\nstruct _ETW_PROVIDER_TABLE_ENTRY /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tlong\tRefCount;\n/* off 0x0004 */\tenum _ETW_PROVIDER_STATE\tState;\n/* off 0x0008 */\tstruct _ETW_REG_ENTRY*\tRegEntry;\n/* off 0x000c */\tvoid*\tCaller;\n};\nenum _ETW_PROVIDER_STATE\n{\n\tEtwProviderStateFree\t=0x00000000\t,//0\n\tEtwProviderStateTransition\t=0x00000001\t,//0\n\tEtwProviderStateActive\t=0x00000002\t,//0\n\tEtwProviderStateMax\t=0x00000003\t,//0\n};\nstruct _ETW_REG_ENTRY /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tRegList;\n/* off 0x0008 */\tstruct _ETW_GUID_ENTRY*\tGuidEntry;\n/* off 0x000c */\tunsigned short\tIndex;\n/* off 0x000e */\tunsigned short\tFlags;\n/* off 0x0010 */\tunsigned char\tEnableMask;\nunion\n{\n/* off 0x0014 */\tunsigned long\tSessionId;\n/* off 0x0014 */\tstruct _ETW_REPLY_QUEUE*\tReplyQueue;\n/* off 0x0014 */\tstruct _ETW_REG_ENTRY* ReplySlot[4];\n};\nunion\n{\n/* off 0x0024 */\tstruct _EPROCESS*\tProcess;\n/* off 0x0024 */\tvoid*\tCallback;\n};\n/* off 0x0028 */\tvoid*\tCallbackContext;\n};\nstruct _ETW_REPLY_QUEUE /* sizeof 0000002c 44 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tQueue;\n/* off 0x0028 */\tlong\tEventsLost;\n};\nstruct _VF_POOL_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid*\tAddress;\n/* off 0x0004 */\tunsigned long\tSize;\n/* off 0x0008 */\tstruct _ETHREAD*\tThread;\n/* off 0x000c */\tvoid* StackTrace[13];\n};\nstruct _MM_SESSION_SPACE_FLAGS /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned long\tInitialized:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tDeletePending:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tPoolInitialized:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tDynamicVaInitialized:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned long\tWsInitialized:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned long\tPoolDestroyed:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned long\tObjectInitialized:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned long\tFiller:25\t /* start bit 7 */;\n};\nstruct _MMSESSION /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tSystemSpaceViewLock;\n/* off 0x0020 */\tstruct _KGUARDED_MUTEX*\tSystemSpaceViewLockPointer;\n/* off 0x0024 */\tstruct _MMVIEW*\tSystemSpaceViewTable;\n/* off 0x0028 */\tunsigned long\tSystemSpaceHashSize;\n/* off 0x002c */\tunsigned long\tSystemSpaceHashEntries;\n/* off 0x0030 */\tunsigned long\tSystemSpaceHashKey;\n/* off 0x0034 */\tunsigned long\tBitmapFailures;\n};\nstruct _MM_PAGED_POOL_INFO /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _KGUARDED_MUTEX\tMutex;\n/* off 0x0020 */\tstruct _RTL_BITMAP\tPagedPoolAllocationMap;\n/* off 0x0028 */\tstruct _MMPTE*\tFirstPteForPagedPool;\n/* off 0x002c */\tunsigned long\tPagedPoolHint;\n/* off 0x0030 */\tunsigned long\tPagedPoolCommit;\n/* off 0x0034 */\tunsigned long\tAllocatedPagedPool;\n};\nstruct _MI_SPECIAL_POOL_PTE_LIST /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _MMPTE\tFreePteHead;\n/* off 0x0008 */\tstruct _MMPTE\tFreePteTail;\n};\nstruct _MI_SPECIAL_POOL /* sizeof 00000038 56 */\n{\n/* off 0x0000 */\tstruct _MMPTE*\tPteBase;\n/* off 0x0004 */\tunsigned long\tLock;\n/* off 0x0008 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tPaged;\n/* off 0x0018 */\tstruct _MI_SPECIAL_POOL_PTE_LIST\tNonPaged;\n/* off 0x0028 */\tlong\tPagesInUse;\n/* off 0x002c */\tstruct _RTL_BITMAP\tSpecialPoolPdes;\n};\nstruct _MI_SYSTEM_PTE_TYPE /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _RTL_BITMAP\tBitmap;\n/* off 0x0008 */\tunsigned long\tFlags;\n/* off 0x000c */\tunsigned long\tHint;\n/* off 0x0010 */\tstruct _MMPTE*\tBasePte;\n/* off 0x0014 */\tunsigned long*\tFailureCount;\n/* off 0x0018 */\tstruct _MMSUPPORT*\tVm;\n/* off 0x001c */\tlong\tTotalSystemPtes;\n/* off 0x0020 */\tlong\tTotalFreeSystemPtes;\n/* off 0x0024 */\tlong\tCachedPteCount;\n/* off 0x0028 */\tunsigned long\tPteFailures;\nunion\n{\n/* off 0x002c */\tunsigned long\tSpinLock;\n/* off 0x002c */\tstruct _KGUARDED_MUTEX*\tGlobalMutex;\n};\n};\nstruct _MM_SESSION_SPACE /* sizeof 00002040 8256 */\n{\n/* off 0x0000 */\tlong\tReferenceCount;\n/* off 0x0004 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tLongFlags;\n\t/* off 0x0000 */\tstruct _MM_SESSION_SPACE_FLAGS\tFlags;\n\t}\tu;\n/* off 0x0008 */\tunsigned long\tSessionId;\n/* off 0x000c */\tlong\tProcessReferenceToSession;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tProcessList;\n/* off 0x0018 */\tunion _LARGE_INTEGER\tLastProcessSwappedOutTime;\n/* off 0x0020 */\tunsigned long\tSessionPageDirectoryIndex;\n/* off 0x0024 */\tunsigned long\tNonPagablePages;\n/* off 0x0028 */\tunsigned long\tCommittedPages;\n/* off 0x002c */\tvoid*\tPagedPoolStart;\n/* off 0x0030 */\tvoid*\tPagedPoolEnd;\n/* off 0x0034 */\tvoid*\tSessionObject;\n/* off 0x0038 */\tvoid*\tSessionObjectHandle;\n/* off 0x003c */\tlong\tResidentProcessCount;\n/* off 0x0040 */\tunsigned long SessionPoolAllocationFailures[4];\n/* off 0x0050 */\tstruct _LIST_ENTRY\tImageList;\n/* off 0x0058 */\tunsigned long\tLocaleId;\n/* off 0x005c */\tunsigned long\tAttachCount;\n/* off 0x0060 */\tstruct _KGATE\tAttachGate;\n/* off 0x0070 */\tstruct _LIST_ENTRY\tWsListEntry;\n/* off 0x0080 */\tstruct _GENERAL_LOOKASIDE Lookaside[25];\n/* off 0x0d00 */\tstruct _MMSESSION\tSession;\n/* off 0x0d38 */\tstruct _MM_PAGED_POOL_INFO\tPagedPoolInfo;\n/* off 0x0d70 */\tstruct _MMSUPPORT\tVm;\n/* off 0x0ddc */\tstruct _MMWSLE*\tWsle;\n/* off 0x0de0 */\tvoid( __stdcall *DriverUnload)(struct _DRIVER_OBJECT*);\n/* off 0x0e00 */\tstruct _POOL_DESCRIPTOR\tPagedPool;\n/* off 0x1f40 */\tstruct _MMPTE*\tPageTables;\n/* off 0x1f48 */\tstruct _MI_SPECIAL_POOL\tSpecialPool;\n/* off 0x1f80 */\tstruct _KGUARDED_MUTEX\tSessionPteLock;\n/* off 0x1fa0 */\tlong\tPoolBigEntriesInUse;\n/* off 0x1fa4 */\tunsigned long\tPagedPoolPdeCount;\n/* off 0x1fa8 */\tunsigned long\tSpecialPoolPdeCount;\n/* off 0x1fac */\tunsigned long\tDynamicSessionPdeCount;\n/* off 0x1fb0 */\tstruct _MI_SYSTEM_PTE_TYPE\tSystemPteInfo;\n/* off 0x1fe0 */\tvoid*\tPoolTrackTableExpansion;\n/* off 0x1fe4 */\tunsigned long\tPoolTrackTableExpansionSize;\n/* off 0x1fe8 */\tvoid*\tPoolTrackBigPages;\n/* off 0x1fec */\tunsigned long\tPoolTrackBigPagesSize;\n/* off 0x1ff0 */\tenum _IO_SESSION_STATE\tIoState;\n/* off 0x1ff4 */\tunsigned long\tIoStateSequence;\n/* off 0x1ff8 */\tstruct _KEVENT\tIoNotificationEvent;\n/* off 0x2008 */\tstruct _RTL_BITMAP\tSessionPoolPdes;\n/* off 0x2010 */\tstruct _PS_CPU_QUOTA_BLOCK*\tCpuQuotaBlock;\n};\nstruct _MMVIEW /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunsigned long\tEntry;\nunion\n{\n/* off 0x0004 */\tunsigned long\tWritable:1\t /* start bit 0 */;\n/* off 0x0004 */\tstruct _CONTROL_AREA*\tControlArea;\n};\n/* off 0x0008 */\tstruct _LIST_ENTRY\tViewLinks;\n/* off 0x0010 */\tvoid*\tSessionViewVa;\n/* off 0x0014 */\tunsigned long\tSessionId;\n};\nenum _IO_SESSION_STATE\n{\n\tIoSessionStateCreated\t=0x00000001\t,//0\n\tIoSessionStateInitialized\t=0x00000002\t,//0\n\tIoSessionStateConnected\t=0x00000003\t,//0\n\tIoSessionStateDisconnected\t=0x00000004\t,//0\n\tIoSessionStateDisconnectedLoggedOn\t=0x00000005\t,//0\n\tIoSessionStateLoggedOn\t=0x00000006\t,//0\n\tIoSessionStateLoggedOff\t=0x00000007\t,//0\n\tIoSessionStateTerminated\t=0x00000008\t,//0\n\tIoSessionStateMax\t=0x00000009\t,//0\n};\nunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS /* sizeof 00000008 8 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddress:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned __int64\tPhysicalAddressMask:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned __int64\tNode:1\t /* start bit 3 */;\n/* off 0x0000 */\tunsigned __int64\tCard:1\t /* start bit 4 */;\n/* off 0x0000 */\tunsigned __int64\tModule:1\t /* start bit 5 */;\n/* off 0x0000 */\tunsigned __int64\tBank:1\t /* start bit 6 */;\n/* off 0x0000 */\tunsigned __int64\tDevice:1\t /* start bit 7 */;\n/* off 0x0000 */\tunsigned __int64\tRow:1\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tColumn:1\t /* start bit 9 */;\n/* off 0x0000 */\tunsigned __int64\tBitPosition:1\t /* start bit 10 */;\n/* off 0x0000 */\tunsigned __int64\tRequesterId:1\t /* start bit 11 */;\n/* off 0x0000 */\tunsigned __int64\tResponderId:1\t /* start bit 12 */;\n/* off 0x0000 */\tunsigned __int64\tTargetId:1\t /* start bit 13 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:1\t /* start bit 14 */;\n/* off 0x0000 */\tunsigned __int64\tReserved:49\t /* start bit 15 */;\n};\n/* off 0x0000 */\tunsigned __int64\tValidBits;\n};\nunion _WHEA_ERROR_STATUS /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned __int64\tErrorStatus;\nstruct\n{\n/* off 0x0000 */\tunsigned __int64\tReserved1:8\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned __int64\tErrorType:8\t /* start bit 8 */;\n/* off 0x0000 */\tunsigned __int64\tAddress:1\t /* start bit 16 */;\n/* off 0x0000 */\tunsigned __int64\tControl:1\t /* start bit 17 */;\n/* off 0x0000 */\tunsigned __int64\tData:1\t /* start bit 18 */;\n/* off 0x0000 */\tunsigned __int64\tResponder:1\t /* start bit 19 */;\n/* off 0x0000 */\tunsigned __int64\tRequester:1\t /* start bit 20 */;\n/* off 0x0000 */\tunsigned __int64\tFirstError:1\t /* start bit 21 */;\n/* off 0x0000 */\tunsigned __int64\tOverflow:1\t /* start bit 22 */;\n/* off 0x0000 */\tunsigned __int64\tReserved2:41\t /* start bit 23 */;\n};\n};\nstruct _WHEA_MEMORY_ERROR_SECTION /* sizeof 00000049 73 */\n{\n/* off 0x0000 */\tunion _WHEA_MEMORY_ERROR_SECTION_VALIDBITS\tValidBits;\n/* off 0x0008 */\tunion _WHEA_ERROR_STATUS\tErrorStatus;\n/* off 0x0010 */\tunsigned __int64\tPhysicalAddress;\n/* off 0x0018 */\tunsigned __int64\tPhysicalAddressMask;\n/* off 0x0020 */\tunsigned short\tNode;\n/* off 0x0022 */\tunsigned short\tCard;\n/* off 0x0024 */\tunsigned short\tModule;\n/* off 0x0026 */\tunsigned short\tBank;\n/* off 0x0028 */\tunsigned short\tDevice;\n/* off 0x002a */\tunsigned short\tRow;\n/* off 0x002c */\tunsigned short\tColumn;\n/* off 0x002e */\tunsigned short\tBitPosition;\n/* off 0x0030 */\tunsigned __int64\tRequesterId;\n/* off 0x0038 */\tunsigned __int64\tResponderId;\n/* off 0x0040 */\tunsigned __int64\tTargetId;\n/* off 0x0048 */\tunsigned char\tErrorType;\n};\nstruct _VI_DEADLOCK_RESOURCE /* sizeof 00000080 128 */\n{\n/* off 0x0000 */\tenum _VI_DEADLOCK_RESOURCE_TYPE\tType;\n/* off 0x0004 */\tunsigned long\tNodeCount:16\t /* start bit 0 */;\n/* off 0x0004 */\tunsigned long\tRecursionCount:16\t /* start bit 16 */;\n/* off 0x0008 */\tvoid*\tResourceAddress;\n/* off 0x000c */\tstruct _VI_DEADLOCK_THREAD*\tThreadOwner;\n/* off 0x0010 */\tstruct _LIST_ENTRY\tResourceList;\nunion\n{\n/* off 0x0018 */\tstruct _LIST_ENTRY\tHashChainList;\n/* off 0x0018 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0020 */\tvoid* StackTrace[8];\n/* off 0x0040 */\tvoid* LastAcquireTrace[8];\n/* off 0x0060 */\tvoid* LastReleaseTrace[8];\n};\nenum _VI_DEADLOCK_RESOURCE_TYPE\n{\n\tVfDeadlockUnknown\t=0x00000000\t,//0\n\tVfDeadlockMutex\t=0x00000001\t,//0\n\tVfDeadlockMutexAbandoned\t=0x00000002\t,//0\n\tVfDeadlockFastMutex\t=0x00000003\t,//0\n\tVfDeadlockFastMutexUnsafe\t=0x00000004\t,//0\n\tVfDeadlockSpinLock\t=0x00000005\t,//0\n\tVfDeadlockInStackQueuedSpinLock\t=0x00000006\t,//0\n\tVfDeadlockUnusedSpinLock\t=0x00000007\t,//0\n\tVfDeadlockEresource\t=0x00000008\t,//0\n\tVfDeadlockTypeMaximum\t=0x00000009\t,//0\n};\nstruct _VI_DEADLOCK_THREAD /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _KTHREAD*\tThread;\n/* off 0x0004 */\tstruct _VI_DEADLOCK_NODE*\tCurrentSpinNode;\n/* off 0x0008 */\tstruct _VI_DEADLOCK_NODE*\tCurrentOtherNode;\nunion\n{\n/* off 0x000c */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x000c */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x0014 */\tunsigned long\tNodeCount;\n/* off 0x0018 */\tunsigned long\tPagingCount;\n/* off 0x001c */\tunsigned char\tThreadUsesEresources;\n};\nstruct _VI_DEADLOCK_NODE /* sizeof 0000006c 108 */\n{\n/* off 0x0000 */\tstruct _VI_DEADLOCK_NODE*\tParent;\n/* off 0x0004 */\tstruct _LIST_ENTRY\tChildrenList;\n/* off 0x000c */\tstruct _LIST_ENTRY\tSiblingsList;\nunion\n{\n/* off 0x0014 */\tstruct _LIST_ENTRY\tResourceList;\n/* off 0x0014 */\tstruct _LIST_ENTRY\tFreeListEntry;\n};\n/* off 0x001c */\tstruct _VI_DEADLOCK_RESOURCE*\tRoot;\n/* off 0x0020 */\tstruct _VI_DEADLOCK_THREAD*\tThreadEntry;\n/* off 0x0024 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned long\tActive:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned long\tOnlyTryAcquireUsed:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned long\tReleasedOutOfOrder:1\t /* start bit 2 */;\n\t/* off 0x0000 */\tunsigned long\tSequenceNumber:29\t /* start bit 3 */;\n\t};\n\t/* off 0x0000 */\tunsigned long\tWhole;\n\t}\tu1;\n/* off 0x0028 */\tlong\tChildrenCount;\n/* off 0x002c */\tvoid* StackTrace[8];\n/* off 0x004c */\tvoid* ParentStackTrace[8];\n};\nenum ReplacesCorHdrNumericDefines\n{\n\tCOMIMAGE_FLAGS_ILONLY\t=0x00000001\t,//0\n\tCOMIMAGE_FLAGS_32BITREQUIRED\t=0x00000002\t,//0\n\tCOMIMAGE_FLAGS_IL_LIBRARY\t=0x00000004\t,//0\n\tCOMIMAGE_FLAGS_STRONGNAMESIGNED\t=0x00000008\t,//0\n\tCOMIMAGE_FLAGS_NATIVE_ENTRYPOINT\t=0x00000010\t,//0\n\tCOMIMAGE_FLAGS_TRACKDEBUGDATA\t=0x00010000\t,//0\n\tCOR_VERSION_MAJOR_V2\t=0x00000002\t,//0\n\tCOR_VERSION_MAJOR\t=0x00000002\t,//0\n\tCOR_VERSION_MINOR\t=0x00000000\t,//0\n\tCOR_DELETED_NAME_LENGTH\t=0x00000008\t,//0\n\tCOR_VTABLEGAP_NAME_LENGTH\t=0x00000008\t,//0\n\tNATIVE_TYPE_MAX_CB\t=0x00000001\t,//0\n\tCOR_ILMETHOD_SECT_SMALL_MAX_DATASIZE\t=0x000000ff\t,//0\n\tIMAGE_COR_MIH_METHODRVA\t=0x00000001\t,//0\n\tIMAGE_COR_MIH_EHRVA\t=0x00000002\t,//0\n\tIMAGE_COR_MIH_BASICBLOCK\t=0x00000008\t,//0\n\tCOR_VTABLE_32BIT\t=0x00000001\t,//0\n\tCOR_VTABLE_64BIT\t=0x00000002\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED\t=0x00000004\t,//0\n\tCOR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN\t=0x00000008\t,//0\n\tCOR_VTABLE_CALL_MOST_DERIVED\t=0x00000010\t,//0\n\tIMAGE_COR_EATJ_THUNK_SIZE\t=0x00000020\t,//0\n\tMAX_CLASS_NAME\t=0x00000400\t,//0\n\tMAX_PACKAGE_NAME\t=0x00000400\t,//0\n};\nstruct _PHYSICAL_MEMORY_DESCRIPTOR /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tNumberOfRuns;\n/* off 0x0004 */\tunsigned long\tNumberOfPages;\n/* off 0x0008 */\tstruct _PHYSICAL_MEMORY_RUN Run[1];\n};\nstruct _PNP_DEVICE_EVENT_LIST /* sizeof 0000004c 76 */\n{\n/* off 0x0000 */\tlong\tStatus;\n/* off 0x0004 */\tstruct _KMUTANT\tEventQueueMutex;\n/* off 0x0024 */\tstruct _KGUARDED_MUTEX\tLock;\n/* off 0x0044 */\tstruct _LIST_ENTRY\tList;\n};\nstruct _RTLP_RANGE_LIST_ENTRY /* sizeof 00000028 40 */\n{\n/* off 0x0000 */\tunsigned __int64\tStart;\n/* off 0x0008 */\tunsigned __int64\tEnd;\nunion\n{\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tvoid*\tUserData;\n\t/* off 0x0004 */\tvoid*\tOwner;\n\t}\tAllocated;\n/* off 0x0010 */\t\n\tstruct  /* sizeof 00000008 8 */\n\t{\n\t/* off 0x0000 */\tstruct _LIST_ENTRY\tListHead;\n\t}\tMerged;\n};\n/* off 0x0018 */\tunsigned char\tAttributes;\n/* off 0x0019 */\tunsigned char\tPublicFlags;\n/* off 0x001a */\tunsigned short\tPrivateFlags;\n/* off 0x001c */\tstruct _LIST_ENTRY\tListEntry;\n};\nstruct PROCESSOR_IDLESTATE_INFO /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned long\tTimeCheck;\n/* off 0x0004 */\tunsigned char\tDemotePercent;\n/* off 0x0005 */\tunsigned char\tPromotePercent;\n/* off 0x0006 */\tunsigned char Spare[2];\n};\nstruct PROCESSOR_IDLESTATE_POLICY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tunsigned short\tRevision;\n/* off 0x0002 */\t\n\tunion  /* sizeof 00000002 2 */\n\t{\n\t/* off 0x0000 */\tunsigned short\tAsUSHORT;\n\tstruct\n\t{\n\t/* off 0x0000 */\tunsigned short\tAllowScaling:1\t /* start bit 0 */;\n\t/* off 0x0000 */\tunsigned short\tDisabled:1\t /* start bit 1 */;\n\t/* off 0x0000 */\tunsigned short\tReserved:14\t /* start bit 2 */;\n\t};\n\t}\tFlags;\n/* off 0x0004 */\tunsigned long\tPolicyCount;\n/* off 0x0008 */\tstruct PROCESSOR_IDLESTATE_INFO Policy[3];\n};\nstruct _PTE_TRACKER /* sizeof 00000030 48 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _MDL*\tMdl;\n/* off 0x000c */\tunsigned long\tCount;\n/* off 0x0010 */\tvoid*\tSystemVa;\n/* off 0x0014 */\tvoid*\tStartVa;\n/* off 0x0018 */\tunsigned long\tOffset;\n/* off 0x001c */\tunsigned long\tLength;\n/* off 0x0020 */\tunsigned long\tPage;\n/* off 0x0024 */\tunsigned long\tIoMapping:1\t /* start bit 0 */;\n/* off 0x0024 */\tunsigned long\tMatched:1\t /* start bit 1 */;\n/* off 0x0024 */\tunsigned long\tCacheAttribute:2\t /* start bit 2 */;\n/* off 0x0024 */\tunsigned long\tSpare:28\t /* start bit 4 */;\n/* off 0x0028 */\tvoid*\tCallingAddress;\n/* off 0x002c */\tvoid*\tCallersCaller;\n};\nstruct _SHARED_CACHE_MAP_LIST_CURSOR /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tSharedCacheMapLinks;\n/* off 0x0008 */\tunsigned long\tFlags;\n};\nstruct _PNP_DEVICE_ACTION_ENTRY /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _DEVICE_OBJECT*\tDeviceObject;\n/* off 0x000c */\tenum _PNP_DEVICE_ACTION_REQUEST\tRequestType;\n/* off 0x0010 */\tunsigned char\tReorderingBarrier;\n/* off 0x0014 */\tunsigned long\tRequestArgument;\n/* off 0x0018 */\tstruct _KEVENT*\tCompletionEvent;\n/* off 0x001c */\tlong*\tCompletionStatus;\n};\nenum _PNP_DEVICE_ACTION_REQUEST\n{\n\tAssignResources\t=0x00000000\t,//0\n\tClearDeviceProblem\t=0x00000001\t,//0\n\tClearProblem\t=0x00000002\t,//0\n\tClearEjectProblem\t=0x00000003\t,//0\n\tHaltDevice\t=0x00000004\t,//0\n\tQueryPowerRelations\t=0x00000005\t,//0\n\tRebalance\t=0x00000006\t,//0\n\tReenumerateBootDevices\t=0x00000007\t,//0\n\tReenumerateDeviceOnly\t=0x00000008\t,//0\n\tReenumerateDeviceTree\t=0x00000009\t,//0\n\tReenumerateRootDevices\t=0x0000000a\t,//0\n\tRequeryDeviceState\t=0x0000000b\t,//0\n\tResetDevice\t=0x0000000c\t,//0\n\tResourceRequirementsChanged\t=0x0000000d\t,//0\n\tRestartEnumeration\t=0x0000000e\t,//0\n\tSetDeviceProblem\t=0x0000000f\t,//0\n\tStartDevice\t=0x00000010\t,//0\n\tStartSystemDevicesPass0\t=0x00000011\t,//0\n\tStartSystemDevicesPass1\t=0x00000012\t,//0\n};\nstruct _LPCP_PORT_QUEUE /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tstruct _LPCP_NONPAGED_PORT_QUEUE*\tNonPagedPortQueue;\n/* off 0x0004 */\tstruct _KSEMAPHORE*\tSemaphore;\n/* off 0x0008 */\tstruct _LIST_ENTRY\tReceiveHead;\n};\nstruct _LPCP_PORT_OBJECT /* sizeof 000000a4 164 */\n{\n/* off 0x0000 */\tstruct _LPCP_PORT_OBJECT*\tConnectionPort;\n/* off 0x0004 */\tstruct _LPCP_PORT_OBJECT*\tConnectedPort;\n/* off 0x0008 */\tstruct _LPCP_PORT_QUEUE\tMsgQueue;\n/* off 0x0018 */\tstruct _CLIENT_ID\tCreator;\n/* off 0x0020 */\tvoid*\tClientSectionBase;\n/* off 0x0024 */\tvoid*\tServerSectionBase;\n/* off 0x0028 */\tvoid*\tPortContext;\n/* off 0x002c */\tstruct _ETHREAD*\tClientThread;\n/* off 0x0030 */\tstruct _SECURITY_QUALITY_OF_SERVICE\tSecurityQos;\n/* off 0x003c */\tstruct _SECURITY_CLIENT_CONTEXT\tStaticSecurity;\n/* off 0x0078 */\tstruct _LIST_ENTRY\tLpcReplyChainHead;\n/* off 0x0080 */\tstruct _LIST_ENTRY\tLpcDataInfoChainHead;\nunion\n{\n/* off 0x0088 */\tstruct _EPROCESS*\tServerProcess;\n/* off 0x0088 */\tstruct _EPROCESS*\tMappingProcess;\n};\n/* off 0x008c */\tunsigned short\tMaxMessageLength;\n/* off 0x008e */\tunsigned short\tMaxConnectionInfoLength;\n/* off 0x0090 */\tunsigned long\tFlags;\n/* off 0x0094 */\tstruct _KEVENT\tWaitEvent;\n};\nstruct _LPCP_NONPAGED_PORT_QUEUE /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tstruct _KSEMAPHORE\tSemaphore;\n/* off 0x0014 */\tstruct _LPCP_PORT_OBJECT*\tBackPointer;\n};\nstruct _VF_KE_CRITICAL_REGION_TRACE /* sizeof 00000020 32 */\n{\n/* off 0x0000 */\tstruct _ETHREAD*\tThread;\n/* off 0x0004 */\tvoid* StackTrace[7];\n};\nenum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation\t=0x00000000\t,//0\n\tObjectNameInformation\t=0x00000001\t,//0\n\tObjectTypeInformation\t=0x00000002\t,//0\n\tObjectTypesInformation\t=0x00000003\t,//0\n\tObjectHandleFlagInformation\t=0x00000004\t,//0\n\tObjectSessionInformation\t=0x00000005\t,//0\n\tMaxObjectInfoClass\t=0x00000006\t,//0\n};\nenum _KWAIT_BLOCK_STATE\n{\n\tWaitBlockBypassStart\t=0x00000000\t,//0\n\tWaitBlockBypassComplete\t=0x00000001\t,//0\n\tWaitBlockActive\t=0x00000002\t,//0\n\tWaitBlockInactive\t=0x00000003\t,//0\n\tWaitBlockAllStates\t=0x00000004\t,//0\n};\nunion EX_QUEUE_WORKER_INFO /* sizeof 00000004 4 */\n{\nstruct\n{\n/* off 0x0000 */\tunsigned long\tQueueDisabled:1\t /* start bit 0 */;\n/* off 0x0000 */\tunsigned long\tMakeThreadsAsNecessary:1\t /* start bit 1 */;\n/* off 0x0000 */\tunsigned long\tWaitMode:1\t /* start bit 2 */;\n/* off 0x0000 */\tunsigned long\tWorkerCount:29\t /* start bit 3 */;\n};\n/* off 0x0000 */\tlong\tQueueWorkerInfo;\n};\nstruct _EX_WORK_QUEUE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _KQUEUE\tWorkerQueue;\n/* off 0x0028 */\tunsigned long\tDynamicThreadCount;\n/* off 0x002c */\tunsigned long\tWorkItemsProcessed;\n/* off 0x0030 */\tunsigned long\tWorkItemsProcessedLastPass;\n/* off 0x0034 */\tunsigned long\tQueueDepthLastPass;\n/* off 0x0038 */\tunion EX_QUEUE_WORKER_INFO\tInfo;\n};\nenum _MM_POOL_FAILURE_REASONS\n{\n\tMmNonPagedNoPtes\t=0x00000000\t,//0\n\tMmPriorityTooLow\t=0x00000001\t,//0\n\tMmNonPagedNoPagesAvailable\t=0x00000002\t,//0\n\tMmPagedNoPtes\t=0x00000003\t,//0\n\tMmSessionPagedNoPtes\t=0x00000004\t,//0\n\tMmPagedNoPagesAvailable\t=0x00000005\t,//0\n\tMmSessionPagedNoPagesAvailable\t=0x00000006\t,//0\n\tMmPagedNoCommit\t=0x00000007\t,//0\n\tMmSessionPagedNoCommit\t=0x00000008\t,//0\n\tMmNonPagedNoResidentAvailable\t=0x00000009\t,//0\n\tMmNonPagedNoCommit\t=0x0000000a\t,//0\n\tMmMaximumFailureReason\t=0x0000000b\t,//0\n};\nstruct _VF_AVL_TREE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tlong\tLock;\n/* off 0x0004 */\tvoid*\tNodeToFree;\n/* off 0x0008 */\tunsigned long\tNodeRangeSize;\n/* off 0x000c */\tunsigned long\tNodeCount;\n/* off 0x0010 */\tstruct _VF_AVL_TABLE*\tTables;\n/* off 0x0014 */\tunsigned long\tTablesNo;\n/* off 0x0018 */\t\n\tunion  /* sizeof 00000004 4 */\n\t{\n\t/* off 0x0000 */\tunsigned long\tNodeSize;\n\t/* off 0x0000 */\tunsigned long\tUseLookaside;\n\t}\tu1;\n};\nstruct _VF_AVL_TABLE /* sizeof 0000003c 60 */\n{\n/* off 0x0000 */\tstruct _RTL_AVL_TABLE\tRtlTable;\n/* off 0x0038 */\tstruct _VF_AVL_TREE_NODE*\tReservedNode;\n};\nenum _KPROCESS_STATE\n{\n\tProcessInMemory\t=0x00000000\t,//0\n\tProcessOutOfMemory\t=0x00000001\t,//0\n\tProcessInTransition\t=0x00000002\t,//0\n\tProcessOutTransition\t=0x00000003\t,//0\n\tProcessInSwap\t=0x00000004\t,//0\n\tProcessOutSwap\t=0x00000005\t,//0\n\tProcessAllSwapStates\t=0x00000006\t,//0\n};\nstruct _HEAP_FREE_ENTRY_EXTRA /* sizeof 00000004 4 */\n{\n/* off 0x0000 */\tunsigned short\tTagIndex;\n/* off 0x0002 */\tunsigned short\tFreeBackTraceIndex;\n};\nenum _WORKING_SET_TYPE\n{\n\tWorkingSetTypeUser\t=0x00000000\t,//0\n\tWorkingSetTypeSession\t=0x00000001\t,//0\n\tWorkingSetTypeSystemTypes\t=0x00000002\t,//0\n\tWorkingSetTypeSystemCache\t=0x00000002\t,//0\n\tWorkingSetTypePagedPool\t=0x00000003\t,//0\n\tWorkingSetTypeSystemPtes\t=0x00000004\t,//0\n\tWorkingSetTypeMaximum\t=0x00000005\t,//0\n};\nstruct _VF_ADDRESS_RANGE /* sizeof 00000008 8 */\n{\n/* off 0x0000 */\tunsigned char*\tStart;\n/* off 0x0004 */\tunsigned char*\tEnd;\n};\nstruct _VI_DEADLOCK_GLOBALS /* sizeof 000040e0 16608 */\n{\n/* off 0x0000 */\t__int64\tTimeAcquire;\n/* off 0x0008 */\t__int64\tTimeRelease;\n/* off 0x0010 */\tstruct _LIST_ENTRY*\tResourceDatabase;\n/* off 0x0014 */\tunsigned long\tResourceDatabaseCount;\n/* off 0x0018 */\tstruct _VF_ADDRESS_RANGE ResourceAddressRange[1023];\n/* off 0x2010 */\tstruct _LIST_ENTRY*\tThreadDatabase;\n/* off 0x2014 */\tunsigned long\tThreadDatabaseCount;\n/* off 0x2018 */\tstruct _VF_ADDRESS_RANGE ThreadAddressRange[1023];\n/* off 0x4010 */\tunsigned long\tAllocationFailures;\n/* off 0x4014 */\tunsigned long\tNodesTrimmedBasedOnAge;\n/* off 0x4018 */\tunsigned long\tNodesTrimmedBasedOnCount;\n/* off 0x401c */\tunsigned long\tNodesSearched;\n/* off 0x4020 */\tunsigned long\tMaxNodesSearched;\n/* off 0x4024 */\tunsigned long\tSequenceNumber;\n/* off 0x4028 */\tunsigned long\tRecursionDepthLimit;\n/* off 0x402c */\tunsigned long\tSearchedNodesLimit;\n/* off 0x4030 */\tunsigned long\tDepthLimitHits;\n/* off 0x4034 */\tunsigned long\tSearchLimitHits;\n/* off 0x4038 */\tunsigned long\tABC_ACB_Skipped;\n/* off 0x403c */\tunsigned long\tOutOfOrderReleases;\n/* off 0x4040 */\tunsigned long\tNodesReleasedOutOfOrder;\n/* off 0x4044 */\tunsigned long\tTotalReleases;\n/* off 0x4048 */\tunsigned long\tRootNodesDeleted;\n/* off 0x404c */\tunsigned long\tForgetHistoryCounter;\n/* off 0x4050 */\tvoid*\tInstigator;\n/* off 0x4054 */\tunsigned long\tNumberOfParticipants;\n/* off 0x4058 */\tstruct _VI_DEADLOCK_NODE* Participant[32];\n/* off 0x40d8 */\tlong\tChildrenCountWatermark;\n};\nstruct _VF_BTS_RECORD /* sizeof 0000000c 12 */\n{\n/* off 0x0000 */\tvoid*\tJumpedFrom;\n/* off 0x0004 */\tvoid*\tJumpedTo;\n/* off 0x0008 */\tunsigned long\tUnused1:3\t /* start bit 0 */;\n/* off 0x0008 */\tunsigned long\tPredicted:4\t /* start bit 3 */;\n/* off 0x0008 */\tunsigned long\tUnused2:25\t /* start bit 7 */;\n};\nstruct _VF_WATCHDOG_IRP /* sizeof 00000014 20 */\n{\n/* off 0x0000 */\tstruct _LIST_ENTRY\tListEntry;\n/* off 0x0008 */\tstruct _IRP*\tIrp;\n/* off 0x000c */\tunsigned long\tDueTickCount;\n/* off 0x0010 */\tunsigned char\tInserted;\n/* off 0x0011 */\tchar\tTrackedStackLocation;\n/* off 0x0012 */\tunsigned short\tCancelTimeoutTicks;\n};\nenum _WOW64_SHARED_INFORMATION\n{\n\tSharedNtdll32LdrInitializeThunk\t=0x00000000\t,//0\n\tSharedNtdll32KiUserExceptionDispatcher\t=0x00000001\t,//0\n\tSharedNtdll32KiUserApcDispatcher\t=0x00000002\t,//0\n\tSharedNtdll32KiUserCallbackDispatcher\t=0x00000003\t,//0\n\tSharedNtdll32LdrHotPatchRoutine\t=0x00000004\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListFault\t=0x00000005\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListResume\t=0x00000006\t,//0\n\tSharedNtdll32ExpInterlockedPopEntrySListEnd\t=0x00000007\t,//0\n\tSharedNtdll32RtlUserThreadStart\t=0x00000008\t,//0\n\tSharedNtdll32pQueryProcessDebugInformationRemote\t=0x00000009\t,//0\n\tSharedNtdll32EtwpNotificationThread\t=0x0000000a\t,//0\n\tSharedNtdll32BaseAddress\t=0x0000000b\t,//0\n\tWow64SharedPageEntriesCount\t=0x0000000c\t,//0\n};\nenum _REG_NOTIFY_CLASS\n{\n\tRegNtDeleteKey\t=0x00000000\t,//0\n\tRegNtPreDeleteKey\t=0x00000000\t,//0\n\tRegNtSetValueKey\t=0x00000001\t,//0\n\tRegNtPreSetValueKey\t=0x00000001\t,//0\n\tRegNtDeleteValueKey\t=0x00000002\t,//0\n\tRegNtPreDeleteValueKey\t=0x00000002\t,//0\n\tRegNtSetInformationKey\t=0x00000003\t,//0\n\tRegNtPreSetInformationKey\t=0x00000003\t,//0\n\tRegNtRenameKey\t=0x00000004\t,//0\n\tRegNtPreRenameKey\t=0x00000004\t,//0\n\tRegNtEnumerateKey\t=0x00000005\t,//0\n\tRegNtPreEnumerateKey\t=0x00000005\t,//0\n\tRegNtEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtPreEnumerateValueKey\t=0x00000006\t,//0\n\tRegNtQueryKey\t=0x00000007\t,//0\n\tRegNtPreQueryKey\t=0x00000007\t,//0\n\tRegNtQueryValueKey\t=0x00000008\t,//0\n\tRegNtPreQueryValueKey\t=0x00000008\t,//0\n\tRegNtQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreQueryMultipleValueKey\t=0x00000009\t,//0\n\tRegNtPreCreateKey\t=0x0000000a\t,//0\n\tRegNtPostCreateKey\t=0x0000000b\t,//0\n\tRegNtPreOpenKey\t=0x0000000c\t,//0\n\tRegNtPostOpenKey\t=0x0000000d\t,//0\n\tRegNtKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPreKeyHandleClose\t=0x0000000e\t,//0\n\tRegNtPostDeleteKey\t=0x0000000f\t,//0\n\tRegNtPostSetValueKey\t=0x00000010\t,//0\n\tRegNtPostDeleteValueKey\t=0x00000011\t,//0\n\tRegNtPostSetInformationKey\t=0x00000012\t,//0\n\tRegNtPostRenameKey\t=0x00000013\t,//0\n\tRegNtPostEnumerateKey\t=0x00000014\t,//0\n\tRegNtPostEnumerateValueKey\t=0x00000015\t,//0\n\tRegNtPostQueryKey\t=0x00000016\t,//0\n\tRegNtPostQueryValueKey\t=0x00000017\t,//0\n\tRegNtPostQueryMultipleValueKey\t=0x00000018\t,//0\n\tRegNtPostKeyHandleClose\t=0x00000019\t,//0\n\tRegNtPreCreateKeyEx\t=0x0000001a\t,//0\n\tRegNtPostCreateKeyEx\t=0x0000001b\t,//0\n\tRegNtPreOpenKeyEx\t=0x0000001c\t,//0\n\tRegNtPostOpenKeyEx\t=0x0000001d\t,//0\n\tRegNtPreFlushKey\t=0x0000001e\t,//0\n\tRegNtPostFlushKey\t=0x0000001f\t,//0\n\tRegNtPreLoadKey\t=0x00000020\t,//0\n\tRegNtPostLoadKey\t=0x00000021\t,//0\n\tRegNtPreUnLoadKey\t=0x00000022\t,//0\n\tRegNtPostUnLoadKey\t=0x00000023\t,//0\n\tRegNtPreQueryKeySecurity\t=0x00000024\t,//0\n\tRegNtPostQueryKeySecurity\t=0x00000025\t,//0\n\tRegNtPreSetKeySecurity\t=0x00000026\t,//0\n\tRegNtPostSetKeySecurity\t=0x00000027\t,//0\n\tRegNtCallbackObjectContextCleanup\t=0x00000028\t,//0\n\tRegNtPreRestoreKey\t=0x00000029\t,//0\n\tRegNtPostRestoreKey\t=0x0000002a\t,//0\n\tRegNtPreSaveKey\t=0x0000002b\t,//0\n\tRegNtPostSaveKey\t=0x0000002c\t,//0\n\tRegNtPreReplaceKey\t=0x0000002d\t,//0\n\tRegNtPostReplaceKey\t=0x0000002e\t,//0\n\tMaxRegNtNotifyClass\t=0x0000002f\t,//0\n};\nstruct _OBJECT_SYMBOLIC_LINK /* sizeof 00000018 24 */\n{\n/* off 0x0000 */\tunion _LARGE_INTEGER\tCreationTime;\n/* off 0x0008 */\tstruct _UNICODE_STRING\tLinkTarget;\n/* off 0x0010 */\tunsigned long\tDosDeviceDriveIndex;\n};\nstruct _VF_TRACKER /* sizeof 00000010 16 */\n{\n/* off 0x0000 */\tunsigned long\tTrackerFlags;\n/* off 0x0004 */\tunsigned long\tTrackerSize;\n/* off 0x0008 */\tunsigned long\tTrackerIndex;\n/* off 0x000c */\tunsigned long\tTraceDepth;\n};\nstruct _CALL_PERFORMANCE_DATA /* sizeof 00000204 516 */\n{\n/* off 0x0000 */\tunsigned long\tSpinLock;\n/* off 0x0004 */\tstruct _LIST_ENTRY HashTable[64];\n};\nenum _FILE_OBJECT_EXTENSION_TYPE\n{\n\tFoExtTypeTransactionParams\t=0x00000000\t,//0\n\tFoExtTypeDeviceObjectHint\t=0x00000001\t,//0\n\tFoExtTypeIosbRange\t=0x00000002\t,//0\n\tFoExtTypeGeneric\t=0x00000003\t,//0\n\tFoExtTypeSfio\t=0x00000004\t,//0\n\tFoExtTypeSymlink\t=0x00000005\t,//0\n\tFoExtTypeOplockKey\t=0x00000006\t,//0\n\tMaxFoExtTypes\t=0x00000007\t,//0\n};\nstruct _STACK_TABLE /* sizeof 00008040 32832 */\n{\n/* off 0x0000 */\tunsigned short\tNumStackTraces;\n/* off 0x0002 */\tunsigned short\tTraceCapacity;\n/* off 0x0004 */\tstruct _OBJECT_REF_TRACE* StackTrace[16];\n/* off 0x0044 */\tunsigned short StackTableHash[16381];\n};\nstruct _OBJECT_REF_TRACE /* sizeof 00000040 64 */\n{\n/* off 0x0000 */\tvoid* StackTrace[16];\n};\nstruct _DEFERRED_WRITE /* sizeof 00000024 36 */\n{\n/* off 0x0000 */\tshort\tNodeTypeCode;\n/* off 0x0002 */\tshort\tNodeByteSize;\n/* off 0x0004 */\tstruct _FILE_OBJECT*\tFileObject;\n/* off 0x0008 */\tunsigned long\tBytesToWrite;\n/* off 0x000c */\tstruct _LIST_ENTRY\tDeferredWriteLinks;\n/* off 0x0014 */\tstruct _KEVENT*\tEvent;\n/* off 0x0018 */\tvoid( __stdcall *PostRoutine)(void*,void*);\n/* off 0x001c */\tvoid*\tContext1;\n/* off 0x0020 */\tvoid*\tContext2;\n};\n"
  },
  {
    "path": "Bin/i386/APILib/MMSystem.h",
    "content": "\n/*==========================================================================\n *\n *  mmsystem.h -- Include file for Multimedia API's\n *\n *  Version 4.00\n *\n *  Copyright (C) 1992-1998 Microsoft Corporation.  All Rights Reserved.\n *\n *--------------------------------------------------------------------------\n *\n *  Define:         Prevent inclusion of:\n *  --------------  --------------------------------------------------------\n *  MMNODRV         Installable driver support\n *  MMNOSOUND       Sound support\n *  MMNOWAVE        Waveform support\n *  MMNOMIDI        MIDI support\n *  MMNOAUX         Auxiliary audio support\n *  MMNOMIXER       Mixer support\n *  MMNOTIMER       Timer support\n *  MMNOJOY         Joystick support\n *  MMNOMCI         MCI support\n *  MMNOMMIO        Multimedia file I/O support\n *  MMNOMMSYSTEM    General MMSYSTEM functions\n *\n *==========================================================================\n */\n\n#ifndef _INC_MMSYSTEM\n#define _INC_MMSYSTEM   /* #defined if mmsystem.h has been included */\n\n\n#ifdef _WIN32\n#include <pshpack1.h>\n#else\n#ifndef RC_INVOKED\n#pragma pack(1)\n#endif\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {            /* Assume C declarations for C++ */\n#endif  /* __cplusplus */\n\n#ifdef _WIN32\n#ifndef _WINMM_\n#define WINMMAPI        DECLSPEC_IMPORT\n#else\n#define WINMMAPI\n#endif\n#define _loadds\n#define _huge\n#else\n#define WINMMAPI\n#endif\n\n\n#ifdef _MAC\n#include <macwin32.h>\n#endif //_MAC\n\n/****************************************************************************\n\n                    General constants and data types\n\n****************************************************************************/\n\n\n/* general constants */\n#define MAXPNAMELEN      32     /* max product name length (including NULL) */\n#define MAXERRORLENGTH   256    /* max error text length (including NULL) */\n#define MAX_JOYSTICKOEMVXDNAME 260 /* max oem vxd name length (including NULL) */\n\n/*\n *  Microsoft Manufacturer and Product ID's (these have been moved to\n *  MMREG.H for Windows 4.00 and above).\n */\n#if (WINVER <= 0x0400)\n#ifndef MM_MICROSOFT\n#define MM_MICROSOFT            1   /* Microsoft Corporation */\n#endif\n\n#ifndef MM_MIDI_MAPPER\n#define MM_MIDI_MAPPER          1   /* MIDI Mapper */\n#define MM_WAVE_MAPPER          2   /* Wave Mapper */\n#define MM_SNDBLST_MIDIOUT      3   /* Sound Blaster MIDI output port */\n#define MM_SNDBLST_MIDIIN       4   /* Sound Blaster MIDI input port */\n#define MM_SNDBLST_SYNTH        5   /* Sound Blaster internal synthesizer */\n#define MM_SNDBLST_WAVEOUT      6   /* Sound Blaster waveform output */\n#define MM_SNDBLST_WAVEIN       7   /* Sound Blaster waveform input */\n#define MM_ADLIB                9   /* Ad Lib-compatible synthesizer */\n#define MM_MPU401_MIDIOUT      10   /* MPU401-compatible MIDI output port */\n#define MM_MPU401_MIDIIN       11   /* MPU401-compatible MIDI input port */\n#define MM_PC_JOYSTICK         12   /* Joystick adapter */\n#endif\n#endif\n\n\n\n/* general data types */\n\n#ifdef _WIN32\ntypedef UINT        MMVERSION;  /* major (high byte), minor (low byte) */\n#else\ntypedef UINT        VERSION;    /* major (high byte), minor (low byte) */\n#endif\ntypedef UINT        MMRESULT;   /* error return code, 0 means no error */\n                                /* call as if(err=xxxx(...)) Error(err); else */\n#define _MMRESULT_\n\ntypedef UINT FAR   *LPUINT;\n\n\n\n/* MMTIME data structure */\ntypedef struct mmtime_tag\n{\n    UINT            wType;      /* indicates the contents of the union */\n    union\n    {\n        DWORD       ms;         /* milliseconds */\n        DWORD       sample;     /* samples */\n        DWORD       cb;         /* byte count */\n        DWORD       ticks;      /* ticks in MIDI stream */\n\n        /* SMPTE */\n        struct\n        {\n            BYTE    hour;       /* hours */\n            BYTE    min;        /* minutes */\n            BYTE    sec;        /* seconds */\n            BYTE    frame;      /* frames  */\n            BYTE    fps;        /* frames per second */\n            BYTE    dummy;      /* pad */\n#ifdef _WIN32\n            BYTE    pad[2];\n#endif\n        } smpte;\n\n        /* MIDI */\n        struct\n        {\n            DWORD songptrpos;   /* song pointer position */\n        } midi;\n    } u;\n} MMTIME, *PMMTIME, NEAR *NPMMTIME, FAR *LPMMTIME;\n\n/* types for wType field in MMTIME struct */\n#define TIME_MS         0x0001  /* time in milliseconds */\n#define TIME_SAMPLES    0x0002  /* number of wave samples */\n#define TIME_BYTES      0x0004  /* current byte offset */\n#define TIME_SMPTE      0x0008  /* SMPTE time */\n#define TIME_MIDI       0x0010  /* MIDI time */\n#define TIME_TICKS      0x0020  /* Ticks within MIDI stream */\n\n/*\n *\n *\n */\n#define MAKEFOURCC(ch0, ch1, ch2, ch3)                              \\\n                ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) |   \\\n                ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))\n\n\n\n/****************************************************************************\n\n                    Multimedia Extensions Window Messages\n\n****************************************************************************/\n\n#define MM_JOY1MOVE         0x3A0           /* joystick */\n#define MM_JOY2MOVE         0x3A1\n#define MM_JOY1ZMOVE        0x3A2\n#define MM_JOY2ZMOVE        0x3A3\n#define MM_JOY1BUTTONDOWN   0x3B5\n#define MM_JOY2BUTTONDOWN   0x3B6\n#define MM_JOY1BUTTONUP     0x3B7\n#define MM_JOY2BUTTONUP     0x3B8\n\n#define MM_MCINOTIFY        0x3B9           /* MCI */\n\n#define MM_WOM_OPEN         0x3BB           /* waveform output */\n#define MM_WOM_CLOSE        0x3BC\n#define MM_WOM_DONE         0x3BD\n\n#define MM_WIM_OPEN         0x3BE           /* waveform input */\n#define MM_WIM_CLOSE        0x3BF\n#define MM_WIM_DATA         0x3C0\n\n#define MM_MIM_OPEN         0x3C1           /* MIDI input */\n#define MM_MIM_CLOSE        0x3C2\n#define MM_MIM_DATA         0x3C3\n#define MM_MIM_LONGDATA     0x3C4\n#define MM_MIM_ERROR        0x3C5\n#define MM_MIM_LONGERROR    0x3C6\n\n#define MM_MOM_OPEN         0x3C7           /* MIDI output */\n#define MM_MOM_CLOSE        0x3C8\n#define MM_MOM_DONE         0x3C9\n\n/* these are also in msvideo.h */\n#ifndef MM_DRVM_OPEN\n #define MM_DRVM_OPEN       0x3D0           /* installable drivers */\n #define MM_DRVM_CLOSE      0x3D1\n #define MM_DRVM_DATA       0x3D2\n #define MM_DRVM_ERROR      0x3D3\n#endif\n\n/* these are used by msacm.h */\n#define MM_STREAM_OPEN      0x3D4\n#define MM_STREAM_CLOSE     0x3D5\n#define MM_STREAM_DONE      0x3D6\n#define MM_STREAM_ERROR     0x3D7\n\n#if(WINVER >= 0x0400)\n#define MM_MOM_POSITIONCB   0x3CA           /* Callback for MEVT_POSITIONCB */\n\n#ifndef MM_MCISIGNAL\n #define MM_MCISIGNAL        0x3CB\n#endif\n\n#define MM_MIM_MOREDATA      0x3CC          /* MIM_DONE w/ pending events */\n\n\n#endif /* WINVER >= 0x0400 */\n#define MM_MIXM_LINE_CHANGE     0x3D0       /* mixer line change notify */\n#define MM_MIXM_CONTROL_CHANGE  0x3D1       /* mixer control change notify */\n\n\n/****************************************************************************\n\n                String resource number bases (internal use)\n\n****************************************************************************/\n\n#define MMSYSERR_BASE          0\n#define WAVERR_BASE            32\n#define MIDIERR_BASE           64\n#define TIMERR_BASE            96\n#define JOYERR_BASE            160\n#define MCIERR_BASE            256\n#define MIXERR_BASE            1024\n\n#define MCI_STRING_OFFSET      512\n#define MCI_VD_OFFSET          1024\n#define MCI_CD_OFFSET          1088\n#define MCI_WAVE_OFFSET        1152\n#define MCI_SEQ_OFFSET         1216\n\n/****************************************************************************\n\n                        General error return values\n\n****************************************************************************/\n\n/* general error return values */\n#define MMSYSERR_NOERROR      0                    /* no error */\n#define MMSYSERR_ERROR        (MMSYSERR_BASE + 1)  /* unspecified error */\n#define MMSYSERR_BADDEVICEID  (MMSYSERR_BASE + 2)  /* device ID out of range */\n#define MMSYSERR_NOTENABLED   (MMSYSERR_BASE + 3)  /* driver failed enable */\n#define MMSYSERR_ALLOCATED    (MMSYSERR_BASE + 4)  /* device already allocated */\n#define MMSYSERR_INVALHANDLE  (MMSYSERR_BASE + 5)  /* device handle is invalid */\n#define MMSYSERR_NODRIVER     (MMSYSERR_BASE + 6)  /* no device driver present */\n#define MMSYSERR_NOMEM        (MMSYSERR_BASE + 7)  /* memory allocation error */\n#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE + 8)  /* function isn't supported */\n#define MMSYSERR_BADERRNUM    (MMSYSERR_BASE + 9)  /* error value out of range */\n#define MMSYSERR_INVALFLAG    (MMSYSERR_BASE + 10) /* invalid flag passed */\n#define MMSYSERR_INVALPARAM   (MMSYSERR_BASE + 11) /* invalid parameter passed */\n#define MMSYSERR_HANDLEBUSY   (MMSYSERR_BASE + 12) /* handle being used */\n                                                   /* simultaneously on another */\n                                                   /* thread (eg callback) */\n#define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE + 13) /* specified alias not found */\n#define MMSYSERR_BADDB        (MMSYSERR_BASE + 14) /* bad registry database */\n#define MMSYSERR_KEYNOTFOUND  (MMSYSERR_BASE + 15) /* registry key not found */\n#define MMSYSERR_READERROR    (MMSYSERR_BASE + 16) /* registry read error */\n#define MMSYSERR_WRITEERROR   (MMSYSERR_BASE + 17) /* registry write error */\n#define MMSYSERR_DELETEERROR  (MMSYSERR_BASE + 18) /* registry delete error */\n#define MMSYSERR_VALNOTFOUND  (MMSYSERR_BASE + 19) /* registry value not found */\n#define MMSYSERR_NODRIVERCB   (MMSYSERR_BASE + 20) /* driver does not call DriverCallback */\n#define MMSYSERR_MOREDATA     (MMSYSERR_BASE + 21) /* more data to be returned */\n#define MMSYSERR_LASTERROR    (MMSYSERR_BASE + 21) /* last error in range */\n\n#if (WINVER < 0x030a) || defined(_WIN32)\nDECLARE_HANDLE(HDRVR);\n#endif /* ifdef WINVER < 0x030a */\n\n#ifndef MMNODRV\n\n/****************************************************************************\n\n                        Installable driver support\n\n****************************************************************************/\n\n#ifdef _WIN32\ntypedef struct DRVCONFIGINFOEX {\n    DWORD   dwDCISize;\n    LPCWSTR  lpszDCISectionName;\n    LPCWSTR  lpszDCIAliasName;\n    DWORD    dnDevNode;\n} DRVCONFIGINFOEX, *PDRVCONFIGINFOEX, NEAR *NPDRVCONFIGINFOEX, FAR *LPDRVCONFIGINFOEX;\n\n#else\ntypedef struct DRVCONFIGINFOEX {\n    DWORD   dwDCISize;\n    LPCSTR  lpszDCISectionName;\n    LPCSTR  lpszDCIAliasName;\n    DWORD    dnDevNode;\n} DRVCONFIGINFOEX, *PDRVCONFIGINFOEX, NEAR *NPDRVCONFIGINFOEX, FAR *LPDRVCONFIGINFOEX;\n#endif\n\n#if (WINVER < 0x030a) || defined(_WIN32)\n\n#ifndef DRV_LOAD\n\n/* Driver messages */\n#define DRV_LOAD                0x0001\n#define DRV_ENABLE              0x0002\n#define DRV_OPEN                0x0003\n#define DRV_CLOSE               0x0004\n#define DRV_DISABLE             0x0005\n#define DRV_FREE                0x0006\n#define DRV_CONFIGURE           0x0007\n#define DRV_QUERYCONFIGURE      0x0008\n#define DRV_INSTALL             0x0009\n#define DRV_REMOVE              0x000A\n#define DRV_EXITSESSION         0x000B\n#define DRV_POWER               0x000F\n#define DRV_RESERVED            0x0800\n#define DRV_USER                0x4000\n\n/* LPARAM of DRV_CONFIGURE message */\n#ifdef _WIN32\ntypedef struct tagDRVCONFIGINFO {\n    DWORD   dwDCISize;\n    LPCWSTR  lpszDCISectionName;\n    LPCWSTR  lpszDCIAliasName;\n} DRVCONFIGINFO, *PDRVCONFIGINFO, NEAR *NPDRVCONFIGINFO, FAR *LPDRVCONFIGINFO;\n#else\ntypedef struct tagDRVCONFIGINFO {\n    DWORD   dwDCISize;\n    LPCSTR  lpszDCISectionName;\n    LPCSTR  lpszDCIAliasName;\n} DRVCONFIGINFO, *PDRVCONFIGINFO, NEAR *NPDRVCONFIGINFO, FAR *LPDRVCONFIGINFO;\n#endif\n\n/* Supported return values for DRV_CONFIGURE message */\n#define DRVCNF_CANCEL           0x0000\n#define DRVCNF_OK               0x0001\n#define DRVCNF_RESTART          0x0002\n\n/* installable driver function prototypes */\n#ifdef _WIN32\n\ntypedef LRESULT (CALLBACK* DRIVERPROC)(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM);\n\nWINMMAPI LRESULT   WINAPI CloseDriver( IN HDRVR hDriver, IN LPARAM lParam1, IN LPARAM lParam2);\nWINMMAPI HDRVR     WINAPI OpenDriver( IN LPCWSTR szDriverName, IN LPCWSTR szSectionName, IN LPARAM lParam2);\nWINMMAPI LRESULT   WINAPI SendDriverMessage( IN HDRVR hDriver, IN UINT message, IN LPARAM lParam1, IN LPARAM lParam2);\nWINMMAPI HMODULE   WINAPI DrvGetModuleHandle( IN HDRVR hDriver);\nWINMMAPI HMODULE   WINAPI GetDriverModuleHandle( IN HDRVR hDriver);\nWINMMAPI LRESULT   WINAPI DefDriverProc( IN DWORD_PTR dwDriverIdentifier, IN HDRVR hdrvr, IN UINT uMsg, IN LPARAM lParam1, IN LPARAM lParam2);\n#else\nLRESULT   WINAPI DrvClose(HDRVR hdrvr, LPARAM lParam1, LPARAM lParam2);\nHDRVR     WINAPI DrvOpen(LPCSTR szDriverName, LPCSTR szSectionName, LPARAM lParam2);\nLRESULT   WINAPI DrvSendMessage(HDRVR hdrvr, UINT uMsg, LPARAM lParam1, LPARAM lParam2);\nHINSTANCE WINAPI DrvGetModuleHandle(HDRVR hdrvr);\nLRESULT   WINAPI DrvDefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr, UINT uMsg, LPARAM lParam1, LPARAM lParam2);\n#define DefDriverProc DrvDefDriverProc\n#endif /* ifdef _WIN32 */\n#endif /* DRV_LOAD */\n#endif /* ifdef (WINVER < 0x030a) || defined(_WIN32) */\n\n#if (WINVER >= 0x030a)\n/* return values from DriverProc() function */\n#define DRV_CANCEL             DRVCNF_CANCEL\n#define DRV_OK                 DRVCNF_OK\n#define DRV_RESTART            DRVCNF_RESTART\n\n#endif /* ifdef WINVER >= 0x030a */\n\n#define DRV_MCI_FIRST          DRV_RESERVED\n#define DRV_MCI_LAST           (DRV_RESERVED + 0xFFF)\n\n#endif  /* ifndef MMNODRV */\n\n/****************************************************************************\n\n                          Driver callback support\n\n****************************************************************************/\n\n/* flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and */\n/* midiOutOpen() to specify the type of the dwCallback parameter. */\n\n#define CALLBACK_TYPEMASK   0x00070000l    /* callback type mask */\n#define CALLBACK_NULL       0x00000000l    /* no callback */\n#define CALLBACK_WINDOW     0x00010000l    /* dwCallback is a HWND */\n#define CALLBACK_TASK       0x00020000l    /* dwCallback is a HTASK */\n#define CALLBACK_FUNCTION   0x00030000l    /* dwCallback is a FARPROC */\n#ifdef _WIN32\n#define CALLBACK_THREAD     (CALLBACK_TASK)/* thread ID replaces 16 bit task */\n#define CALLBACK_EVENT      0x00050000l    /* dwCallback is an EVENT Handle */\n#endif\ntypedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);\n\ntypedef DRVCALLBACK FAR *LPDRVCALLBACK;\n#ifdef _WIN32\ntypedef DRVCALLBACK     *PDRVCALLBACK;\n#endif\n\n#ifndef MMNOMMSYSTEM\n/****************************************************************************\n\n                    General MMSYSTEM support\n\n****************************************************************************/\n\n#if (WINVER <= 0x030A)\nWINMMAPI UINT WINAPI mmsystemGetVersion(void);\n#endif\n#ifdef _WIN32\n#define OutputDebugStr  OutputDebugString\n#else\nvoid WINAPI OutputDebugStr(LPCSTR);\n#endif\n\n#endif  /* ifndef MMNOMMSYSTEM */\n\n#ifndef MMNOSOUND\n/****************************************************************************\n\n                            Sound support\n\n****************************************************************************/\n\n#ifdef _WIN32\n\nWINMMAPI BOOL WINAPI sndPlaySoundA( IN LPCSTR pszSound, IN UINT fuSound);\nWINMMAPI BOOL WINAPI sndPlaySoundW( IN LPCWSTR pszSound, IN UINT fuSound);\n#ifdef UNICODE\n#define sndPlaySound  sndPlaySoundW\n#else\n#define sndPlaySound  sndPlaySoundA\n#endif // !UNICODE\n\n#else\nBOOL WINAPI sndPlaySound(LPCSTR pszSound, UINT fuSound);\n#endif\n\n/*\n *  flag values for fuSound and fdwSound arguments on [snd]PlaySound\n */\n#define SND_SYNC            0x0000  /* play synchronously (default) */\n#define SND_ASYNC           0x0001  /* play asynchronously */\n#define SND_NODEFAULT       0x0002  /* silence (!default) if sound not found */\n#define SND_MEMORY          0x0004  /* pszSound points to a memory file */\n#define SND_LOOP            0x0008  /* loop the sound until next sndPlaySound */\n#define SND_NOSTOP          0x0010  /* don't stop any currently playing sound */\n\n#define SND_NOWAIT      0x00002000L /* don't wait if the driver is busy */\n#define SND_ALIAS       0x00010000L /* name is a registry alias */\n#define SND_ALIAS_ID    0x00110000L /* alias is a predefined ID */\n#define SND_FILENAME    0x00020000L /* name is file name */\n#define SND_RESOURCE    0x00040004L /* name is resource name or atom */\n#if(WINVER >= 0x0400)\n#define SND_PURGE           0x0040  /* purge non-static events for task */\n#define SND_APPLICATION     0x0080  /* look for application specific association */\n#endif /* WINVER >= 0x0400 */\n\n#define SND_ALIAS_START 0           /* alias base */\n\n#ifdef _WIN32\n#define sndAlias(ch0, ch1)      (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8))\n\n#define SND_ALIAS_SYSTEMASTERISK        sndAlias('S', '*')\n#define SND_ALIAS_SYSTEMQUESTION        sndAlias('S', '?')\n#define SND_ALIAS_SYSTEMHAND            sndAlias('S', 'H')\n#define SND_ALIAS_SYSTEMEXIT            sndAlias('S', 'E')\n#define SND_ALIAS_SYSTEMSTART           sndAlias('S', 'S')\n#define SND_ALIAS_SYSTEMWELCOME         sndAlias('S', 'W')\n#define SND_ALIAS_SYSTEMEXCLAMATION     sndAlias('S', '!')\n#define SND_ALIAS_SYSTEMDEFAULT         sndAlias('S', 'D')\n\n\nWINMMAPI BOOL WINAPI PlaySoundA( IN LPCSTR pszSound, IN HMODULE hmod, IN DWORD fdwSound);\nWINMMAPI BOOL WINAPI PlaySoundW( IN LPCWSTR pszSound, IN HMODULE hmod, IN DWORD fdwSound);\n#ifdef UNICODE\n#define PlaySound  PlaySoundW\n#else\n#define PlaySound  PlaySoundA\n#endif // !UNICODE\n\n#else\nBOOL WINAPI PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);\n#endif\n\n#endif  /* ifndef MMNOSOUND */\n\n#ifndef MMNOWAVE\n/****************************************************************************\n\n                        Waveform audio support\n\n****************************************************************************/\n\n/* waveform audio error return values */\n#define WAVERR_BADFORMAT      (WAVERR_BASE + 0)    /* unsupported wave format */\n#define WAVERR_STILLPLAYING   (WAVERR_BASE + 1)    /* still something playing */\n#define WAVERR_UNPREPARED     (WAVERR_BASE + 2)    /* header not prepared */\n#define WAVERR_SYNC           (WAVERR_BASE + 3)    /* device is synchronous */\n#define WAVERR_LASTERROR      (WAVERR_BASE + 3)    /* last error in range */\n\n/* waveform audio data types */\nDECLARE_HANDLE(HWAVE);\nDECLARE_HANDLE(HWAVEIN);\nDECLARE_HANDLE(HWAVEOUT);\ntypedef HWAVEIN FAR *LPHWAVEIN;\ntypedef HWAVEOUT FAR *LPHWAVEOUT;\ntypedef DRVCALLBACK WAVECALLBACK;\ntypedef WAVECALLBACK FAR *LPWAVECALLBACK;\n\n/* wave callback messages */\n#define WOM_OPEN        MM_WOM_OPEN\n#define WOM_CLOSE       MM_WOM_CLOSE\n#define WOM_DONE        MM_WOM_DONE\n#define WIM_OPEN        MM_WIM_OPEN\n#define WIM_CLOSE       MM_WIM_CLOSE\n#define WIM_DATA        MM_WIM_DATA\n\n/* device ID for wave device mapper */\n#define WAVE_MAPPER     ((UINT)-1)\n\n/* flags for dwFlags parameter in waveOutOpen() and waveInOpen() */\n#define  WAVE_FORMAT_QUERY         0x0001\n#define  WAVE_ALLOWSYNC            0x0002\n#if(WINVER >= 0x0400)\n#define  WAVE_MAPPED               0x0004\n#define  WAVE_FORMAT_DIRECT        0x0008\n#define  WAVE_FORMAT_DIRECT_QUERY  (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT)\n#endif /* WINVER >= 0x0400 */\n\n/* wave data block header */\ntypedef struct wavehdr_tag {\n    LPSTR       lpData;                 /* pointer to locked data buffer */\n    DWORD       dwBufferLength;         /* length of data buffer */\n    DWORD       dwBytesRecorded;        /* used for input only */\n    DWORD_PTR   dwUser;                 /* for client's use */\n    DWORD       dwFlags;                /* assorted flags (see defines) */\n    DWORD       dwLoops;                /* loop control counter */\n    struct wavehdr_tag FAR *lpNext;     /* reserved for driver */\n    DWORD_PTR   reserved;               /* reserved for driver */\n} WAVEHDR, *PWAVEHDR, NEAR *NPWAVEHDR, FAR *LPWAVEHDR;\n\n/* flags for dwFlags field of WAVEHDR */\n#define WHDR_DONE       0x00000001  /* done bit */\n#define WHDR_PREPARED   0x00000002  /* set if this header has been prepared */\n#define WHDR_BEGINLOOP  0x00000004  /* loop start block */\n#define WHDR_ENDLOOP    0x00000008  /* loop end block */\n#define WHDR_INQUEUE    0x00000010  /* reserved for driver */\n\n/* waveform output device capabilities structure */\n#ifdef _WIN32\n\ntypedef struct tagWAVEOUTCAPSA {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    DWORD   dwFormats;             /* formats supported */\n    WORD    wChannels;             /* number of sources supported */\n    WORD    wReserved1;            /* packing */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} WAVEOUTCAPSA, *PWAVEOUTCAPSA, *NPWAVEOUTCAPSA, *LPWAVEOUTCAPSA;\ntypedef struct tagWAVEOUTCAPSW {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    DWORD   dwFormats;             /* formats supported */\n    WORD    wChannels;             /* number of sources supported */\n    WORD    wReserved1;            /* packing */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} WAVEOUTCAPSW, *PWAVEOUTCAPSW, *NPWAVEOUTCAPSW, *LPWAVEOUTCAPSW;\n#ifdef UNICODE\ntypedef WAVEOUTCAPSW WAVEOUTCAPS;\ntypedef PWAVEOUTCAPSW PWAVEOUTCAPS;\ntypedef NPWAVEOUTCAPSW NPWAVEOUTCAPS;\ntypedef LPWAVEOUTCAPSW LPWAVEOUTCAPS;\n#else\ntypedef WAVEOUTCAPSA WAVEOUTCAPS;\ntypedef PWAVEOUTCAPSA PWAVEOUTCAPS;\ntypedef NPWAVEOUTCAPSA NPWAVEOUTCAPS;\ntypedef LPWAVEOUTCAPSA LPWAVEOUTCAPS;\n#endif // UNICODE\ntypedef struct tagWAVEOUTCAPS2A {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    DWORD   dwFormats;             /* formats supported */\n    WORD    wChannels;             /* number of sources supported */\n    WORD    wReserved1;            /* packing */\n    DWORD   dwSupport;             /* functionality supported by driver */\n    GUID    ManufacturerGuid;      /* for extensible MID mapping */\n    GUID    ProductGuid;           /* for extensible PID mapping */\n    GUID    NameGuid;              /* for name lookup in registry */\n} WAVEOUTCAPS2A, *PWAVEOUTCAPS2A, *NPWAVEOUTCAPS2A, *LPWAVEOUTCAPS2A;\ntypedef struct tagWAVEOUTCAPS2W {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    DWORD   dwFormats;             /* formats supported */\n    WORD    wChannels;             /* number of sources supported */\n    WORD    wReserved1;            /* packing */\n    DWORD   dwSupport;             /* functionality supported by driver */\n    GUID    ManufacturerGuid;      /* for extensible MID mapping */\n    GUID    ProductGuid;           /* for extensible PID mapping */\n    GUID    NameGuid;              /* for name lookup in registry */\n} WAVEOUTCAPS2W, *PWAVEOUTCAPS2W, *NPWAVEOUTCAPS2W, *LPWAVEOUTCAPS2W;\n#ifdef UNICODE\ntypedef WAVEOUTCAPS2W WAVEOUTCAPS2;\ntypedef PWAVEOUTCAPS2W PWAVEOUTCAPS2;\ntypedef NPWAVEOUTCAPS2W NPWAVEOUTCAPS2;\ntypedef LPWAVEOUTCAPS2W LPWAVEOUTCAPS2;\n#else\ntypedef WAVEOUTCAPS2A WAVEOUTCAPS2;\ntypedef PWAVEOUTCAPS2A PWAVEOUTCAPS2;\ntypedef NPWAVEOUTCAPS2A NPWAVEOUTCAPS2;\ntypedef LPWAVEOUTCAPS2A LPWAVEOUTCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct waveoutcaps_tag {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    VERSION vDriverVersion;        /* version of the driver */\n    char    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    DWORD   dwFormats;             /* formats supported */\n    WORD    wChannels;             /* number of sources supported */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} WAVEOUTCAPS, *PWAVEOUTCAPS, NEAR *NPWAVEOUTCAPS, FAR *LPWAVEOUTCAPS;\n#endif\n\n/* flags for dwSupport field of WAVEOUTCAPS */\n#define WAVECAPS_PITCH          0x0001   /* supports pitch control */\n#define WAVECAPS_PLAYBACKRATE   0x0002   /* supports playback rate control */\n#define WAVECAPS_VOLUME         0x0004   /* supports volume control */\n#define WAVECAPS_LRVOLUME       0x0008   /* separate left-right volume control */\n#define WAVECAPS_SYNC           0x0010\n#define WAVECAPS_SAMPLEACCURATE 0x0020\n\n\n/* waveform input device capabilities structure */\n#ifdef _WIN32\n\ntypedef struct tagWAVEINCAPSA {\n    WORD    wMid;                    /* manufacturer ID */\n    WORD    wPid;                    /* product ID */\n    MMVERSION vDriverVersion;        /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];    /* product name (NULL terminated string) */\n    DWORD   dwFormats;               /* formats supported */\n    WORD    wChannels;               /* number of channels supported */\n    WORD    wReserved1;              /* structure packing */\n} WAVEINCAPSA, *PWAVEINCAPSA, *NPWAVEINCAPSA, *LPWAVEINCAPSA;\ntypedef struct tagWAVEINCAPSW {\n    WORD    wMid;                    /* manufacturer ID */\n    WORD    wPid;                    /* product ID */\n    MMVERSION vDriverVersion;        /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];    /* product name (NULL terminated string) */\n    DWORD   dwFormats;               /* formats supported */\n    WORD    wChannels;               /* number of channels supported */\n    WORD    wReserved1;              /* structure packing */\n} WAVEINCAPSW, *PWAVEINCAPSW, *NPWAVEINCAPSW, *LPWAVEINCAPSW;\n#ifdef UNICODE\ntypedef WAVEINCAPSW WAVEINCAPS;\ntypedef PWAVEINCAPSW PWAVEINCAPS;\ntypedef NPWAVEINCAPSW NPWAVEINCAPS;\ntypedef LPWAVEINCAPSW LPWAVEINCAPS;\n#else\ntypedef WAVEINCAPSA WAVEINCAPS;\ntypedef PWAVEINCAPSA PWAVEINCAPS;\ntypedef NPWAVEINCAPSA NPWAVEINCAPS;\ntypedef LPWAVEINCAPSA LPWAVEINCAPS;\n#endif // UNICODE\ntypedef struct tagWAVEINCAPS2A {\n    WORD    wMid;                    /* manufacturer ID */\n    WORD    wPid;                    /* product ID */\n    MMVERSION vDriverVersion;        /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];    /* product name (NULL terminated string) */\n    DWORD   dwFormats;               /* formats supported */\n    WORD    wChannels;               /* number of channels supported */\n    WORD    wReserved1;              /* structure packing */\n    GUID    ManufacturerGuid;        /* for extensible MID mapping */\n    GUID    ProductGuid;             /* for extensible PID mapping */\n    GUID    NameGuid;                /* for name lookup in registry */\n} WAVEINCAPS2A, *PWAVEINCAPS2A, *NPWAVEINCAPS2A, *LPWAVEINCAPS2A;\ntypedef struct tagWAVEINCAPS2W {\n    WORD    wMid;                    /* manufacturer ID */\n    WORD    wPid;                    /* product ID */\n    MMVERSION vDriverVersion;        /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];    /* product name (NULL terminated string) */\n    DWORD   dwFormats;               /* formats supported */\n    WORD    wChannels;               /* number of channels supported */\n    WORD    wReserved1;              /* structure packing */\n    GUID    ManufacturerGuid;        /* for extensible MID mapping */\n    GUID    ProductGuid;             /* for extensible PID mapping */\n    GUID    NameGuid;                /* for name lookup in registry */\n} WAVEINCAPS2W, *PWAVEINCAPS2W, *NPWAVEINCAPS2W, *LPWAVEINCAPS2W;\n#ifdef UNICODE\ntypedef WAVEINCAPS2W WAVEINCAPS2;\ntypedef PWAVEINCAPS2W PWAVEINCAPS2;\ntypedef NPWAVEINCAPS2W NPWAVEINCAPS2;\ntypedef LPWAVEINCAPS2W LPWAVEINCAPS2;\n#else\ntypedef WAVEINCAPS2A WAVEINCAPS2;\ntypedef PWAVEINCAPS2A PWAVEINCAPS2;\ntypedef NPWAVEINCAPS2A NPWAVEINCAPS2;\ntypedef LPWAVEINCAPS2A LPWAVEINCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct waveincaps_tag {\n    WORD    wMid;                    /* manufacturer ID */\n    WORD    wPid;                    /* product ID */\n    VERSION vDriverVersion;          /* version of the driver */\n    char    szPname[MAXPNAMELEN];    /* product name (NULL terminated string) */\n    DWORD   dwFormats;               /* formats supported */\n    WORD    wChannels;               /* number of channels supported */\n} WAVEINCAPS, *PWAVEINCAPS, NEAR *NPWAVEINCAPS, FAR *LPWAVEINCAPS;\n#endif\n\n/* defines for dwFormat field of WAVEINCAPS and WAVEOUTCAPS */\n#define WAVE_INVALIDFORMAT     0x00000000       /* invalid format */\n#define WAVE_FORMAT_1M08       0x00000001       /* 11.025 kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_1S08       0x00000002       /* 11.025 kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_1M16       0x00000004       /* 11.025 kHz, Mono,   16-bit */\n#define WAVE_FORMAT_1S16       0x00000008       /* 11.025 kHz, Stereo, 16-bit */\n#define WAVE_FORMAT_2M08       0x00000010       /* 22.05  kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_2S08       0x00000020       /* 22.05  kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_2M16       0x00000040       /* 22.05  kHz, Mono,   16-bit */\n#define WAVE_FORMAT_2S16       0x00000080       /* 22.05  kHz, Stereo, 16-bit */\n#define WAVE_FORMAT_4M08       0x00000100       /* 44.1   kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_4S08       0x00000200       /* 44.1   kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_4M16       0x00000400       /* 44.1   kHz, Mono,   16-bit */\n#define WAVE_FORMAT_4S16       0x00000800       /* 44.1   kHz, Stereo, 16-bit */\n\n#define WAVE_FORMAT_44M08      0x00000100       /* 44.1   kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_44S08      0x00000200       /* 44.1   kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_44M16      0x00000400       /* 44.1   kHz, Mono,   16-bit */\n#define WAVE_FORMAT_44S16      0x00000800       /* 44.1   kHz, Stereo, 16-bit */\n#define WAVE_FORMAT_48M08      0x00001000       /* 48     kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_48S08      0x00002000       /* 48     kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_48M16      0x00004000       /* 48     kHz, Mono,   16-bit */\n#define WAVE_FORMAT_48S16      0x00008000       /* 48     kHz, Stereo, 16-bit */\n#define WAVE_FORMAT_96M08      0x00010000       /* 96     kHz, Mono,   8-bit  */\n#define WAVE_FORMAT_96S08      0x00020000       /* 96     kHz, Stereo, 8-bit  */\n#define WAVE_FORMAT_96M16      0x00040000       /* 96     kHz, Mono,   16-bit */\n#define WAVE_FORMAT_96S16      0x00080000       /* 96     kHz, Stereo, 16-bit */\n\n\n#ifndef WAVE_FORMAT_PCM\n\n/* OLD general waveform format structure (information common to all formats) */\ntypedef struct waveformat_tag {\n    WORD    wFormatTag;        /* format type */\n    WORD    nChannels;         /* number of channels (i.e. mono, stereo, etc.) */\n    DWORD   nSamplesPerSec;    /* sample rate */\n    DWORD   nAvgBytesPerSec;   /* for buffer estimation */\n    WORD    nBlockAlign;       /* block size of data */\n} WAVEFORMAT, *PWAVEFORMAT, NEAR *NPWAVEFORMAT, FAR *LPWAVEFORMAT;\n\n/* flags for wFormatTag field of WAVEFORMAT */\n#define WAVE_FORMAT_PCM     1\n\n\n/* specific waveform format structure for PCM data */\ntypedef struct pcmwaveformat_tag {\n    WAVEFORMAT  wf;\n    WORD        wBitsPerSample;\n} PCMWAVEFORMAT, *PPCMWAVEFORMAT, NEAR *NPPCMWAVEFORMAT, FAR *LPPCMWAVEFORMAT;\n#endif /* WAVE_FORMAT_PCM */\n\n#ifndef _WAVEFORMATEX_\n#define _WAVEFORMATEX_\n\n/*\n *  extended waveform format structure used for all non-PCM formats. this\n *  structure is common to all non-PCM formats.\n */\ntypedef struct tWAVEFORMATEX\n{\n    WORD        wFormatTag;         /* format type */\n    WORD        nChannels;          /* number of channels (i.e. mono, stereo...) */\n    DWORD       nSamplesPerSec;     /* sample rate */\n    DWORD       nAvgBytesPerSec;    /* for buffer estimation */\n    WORD        nBlockAlign;        /* block size of data */\n    WORD        wBitsPerSample;     /* number of bits per sample of mono data */\n    WORD        cbSize;             /* the count in bytes of the size of */\n                                    /* extra information (after cbSize) */\n} WAVEFORMATEX, *PWAVEFORMATEX, NEAR *NPWAVEFORMATEX, FAR *LPWAVEFORMATEX;\n\n#endif /* _WAVEFORMATEX_ */\ntypedef const WAVEFORMATEX FAR *LPCWAVEFORMATEX;\n\n/* waveform audio function prototypes */\nWINMMAPI UINT WINAPI waveOutGetNumDevs(void);\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI waveOutGetDevCapsA( IN UINT_PTR uDeviceID, OUT LPWAVEOUTCAPSA pwoc, IN UINT cbwoc);\nWINMMAPI MMRESULT WINAPI waveOutGetDevCapsW( IN UINT_PTR uDeviceID, OUT LPWAVEOUTCAPSW pwoc, IN UINT cbwoc);\n#ifdef UNICODE\n#define waveOutGetDevCaps  waveOutGetDevCapsW\n#else\n#define waveOutGetDevCaps  waveOutGetDevCapsA\n#endif // !UNICODE\n\n#else\nWINMMAPI MMRESULT WINAPI waveOutGetDevCaps( UINT uDeviceID, LPWAVEOUTCAPS pwoc, UINT cbwoc);\n#endif\n\n#if (WINVER >= 0x0400)\nWINMMAPI MMRESULT WINAPI waveOutGetVolume( IN HWAVEOUT hwo, OUT LPDWORD pdwVolume);\nWINMMAPI MMRESULT WINAPI waveOutSetVolume( IN HWAVEOUT hwo, IN DWORD dwVolume);\n#else\nWINMMAPI MMRESULT WINAPI waveOutGetVolume(UINT uId, LPDWORD pdwVolume);\nWINMMAPI MMRESULT WINAPI waveOutSetVolume(UINT uId, DWORD dwVolume);\n#endif\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI waveOutGetErrorTextA( IN MMRESULT mmrError, OUT LPSTR pszText, IN UINT cchText);\nWINMMAPI MMRESULT WINAPI waveOutGetErrorTextW( IN MMRESULT mmrError, OUT LPWSTR pszText, IN UINT cchText);\n#ifdef UNICODE\n#define waveOutGetErrorText  waveOutGetErrorTextW\n#else\n#define waveOutGetErrorText  waveOutGetErrorTextA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI waveOutGetErrorText(MMRESULT mmrError, LPSTR pszText, UINT cchText);\n#endif\n\nWINMMAPI MMRESULT WINAPI waveOutOpen( OUT LPHWAVEOUT phwo, IN UINT uDeviceID,\n    IN LPCWAVEFORMATEX pwfx, IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\n\nWINMMAPI MMRESULT WINAPI waveOutClose( IN OUT HWAVEOUT hwo);\nWINMMAPI MMRESULT WINAPI waveOutPrepareHeader( IN HWAVEOUT hwo, IN OUT LPWAVEHDR pwh, IN UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveOutUnprepareHeader( IN HWAVEOUT hwo, IN OUT LPWAVEHDR pwh, IN UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveOutWrite( IN HWAVEOUT hwo, IN OUT LPWAVEHDR pwh, IN UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveOutPause( IN HWAVEOUT hwo);\nWINMMAPI MMRESULT WINAPI waveOutRestart( IN HWAVEOUT hwo);\nWINMMAPI MMRESULT WINAPI waveOutReset( IN HWAVEOUT hwo);\nWINMMAPI MMRESULT WINAPI waveOutBreakLoop( IN HWAVEOUT hwo);\nWINMMAPI MMRESULT WINAPI waveOutGetPosition( IN HWAVEOUT hwo, IN OUT LPMMTIME pmmt, IN UINT cbmmt);\nWINMMAPI MMRESULT WINAPI waveOutGetPitch( IN HWAVEOUT hwo, OUT LPDWORD pdwPitch);\nWINMMAPI MMRESULT WINAPI waveOutSetPitch( IN HWAVEOUT hwo, IN DWORD dwPitch);\nWINMMAPI MMRESULT WINAPI waveOutGetPlaybackRate( IN HWAVEOUT hwo, OUT LPDWORD pdwRate);\nWINMMAPI MMRESULT WINAPI waveOutSetPlaybackRate( IN HWAVEOUT hwo, IN DWORD dwRate);\nWINMMAPI MMRESULT WINAPI waveOutGetID( IN HWAVEOUT hwo, OUT LPUINT puDeviceID);\n\n#if (WINVER >= 0x030a)\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI waveOutMessage( IN HWAVEOUT hwo, IN UINT uMsg, IN DWORD_PTR dw1, IN DWORD_PTR dw2);\n#else\nDWORD WINAPI waveOutMessage(HWAVEOUT hwo, UINT uMsg, DWORD dw1, DWORD dw2);\n#endif\n#endif /* ifdef WINVER >= 0x030a */\n\nWINMMAPI UINT WINAPI waveInGetNumDevs(void);\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI waveInGetDevCapsA( IN UINT_PTR uDeviceID, OUT LPWAVEINCAPSA pwic, IN UINT cbwic);\nWINMMAPI MMRESULT WINAPI waveInGetDevCapsW( IN UINT_PTR uDeviceID, OUT LPWAVEINCAPSW pwic, IN UINT cbwic);\n#ifdef UNICODE\n#define waveInGetDevCaps  waveInGetDevCapsW\n#else\n#define waveInGetDevCaps  waveInGetDevCapsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI waveInGetDevCaps(UINT uDeviceID, LPWAVEINCAPS pwic, UINT cbwic);\n#endif\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI waveInGetErrorTextA(IN MMRESULT mmrError, OUT LPSTR pszText, IN UINT cchText);\nWINMMAPI MMRESULT WINAPI waveInGetErrorTextW(IN MMRESULT mmrError, OUT LPWSTR pszText, IN UINT cchText);\n#ifdef UNICODE\n#define waveInGetErrorText  waveInGetErrorTextW\n#else\n#define waveInGetErrorText  waveInGetErrorTextA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI waveInGetErrorText(MMRESULT mmrError, LPSTR pszText, UINT cchText);\n#endif\n\nWINMMAPI MMRESULT WINAPI waveInOpen( OUT LPHWAVEIN phwi, IN UINT uDeviceID,\n    IN LPCWAVEFORMATEX pwfx, IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\n\nWINMMAPI MMRESULT WINAPI waveInClose( IN OUT HWAVEIN hwi);\nWINMMAPI MMRESULT WINAPI waveInPrepareHeader( IN HWAVEIN hwi, IN OUT LPWAVEHDR pwh, IN UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveInUnprepareHeader( IN HWAVEIN hwi, IN OUT LPWAVEHDR pwh, UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveInAddBuffer( IN HWAVEIN hwi, IN OUT LPWAVEHDR pwh, IN UINT cbwh);\nWINMMAPI MMRESULT WINAPI waveInStart( IN HWAVEIN hwi);\nWINMMAPI MMRESULT WINAPI waveInStop( IN HWAVEIN hwi);\nWINMMAPI MMRESULT WINAPI waveInReset( IN HWAVEIN hwi);\nWINMMAPI MMRESULT WINAPI waveInGetPosition( IN HWAVEIN hwi, IN OUT LPMMTIME pmmt, IN UINT cbmmt);\nWINMMAPI MMRESULT WINAPI waveInGetID( IN HWAVEIN hwi, OUT LPUINT puDeviceID);\n\n#if (WINVER >= 0x030a)\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI waveInMessage( IN HWAVEIN hwi, IN UINT uMsg, IN DWORD_PTR dw1, IN DWORD_PTR dw2);\n#else\nDWORD WINAPI waveInMessage(HWAVEIN hwi, UINT uMsg, DWORD dw1, DWORD dw2);\n#endif\n#endif /* ifdef WINVER >= 0x030a */\n\n#endif  /* ifndef MMNOWAVE */\n\n#ifndef MMNOMIDI\n/****************************************************************************\n\n                            MIDI audio support\n\n****************************************************************************/\n\n/* MIDI error return values */\n#define MIDIERR_UNPREPARED    (MIDIERR_BASE + 0)   /* header not prepared */\n#define MIDIERR_STILLPLAYING  (MIDIERR_BASE + 1)   /* still something playing */\n#define MIDIERR_NOMAP         (MIDIERR_BASE + 2)   /* no configured instruments */\n#define MIDIERR_NOTREADY      (MIDIERR_BASE + 3)   /* hardware is still busy */\n#define MIDIERR_NODEVICE      (MIDIERR_BASE + 4)   /* port no longer connected */\n#define MIDIERR_INVALIDSETUP  (MIDIERR_BASE + 5)   /* invalid MIF */\n#define MIDIERR_BADOPENMODE   (MIDIERR_BASE + 6)   /* operation unsupported w/ open mode */\n#define MIDIERR_DONT_CONTINUE (MIDIERR_BASE + 7)   /* thru device 'eating' a message */\n#define MIDIERR_LASTERROR     (MIDIERR_BASE + 7)   /* last error in range */\n\n/* MIDI audio data types */\nDECLARE_HANDLE(HMIDI);\nDECLARE_HANDLE(HMIDIIN);\nDECLARE_HANDLE(HMIDIOUT);\nDECLARE_HANDLE(HMIDISTRM);\ntypedef HMIDI FAR *LPHMIDI;\ntypedef HMIDIIN FAR *LPHMIDIIN;\ntypedef HMIDIOUT FAR *LPHMIDIOUT;\ntypedef HMIDISTRM FAR *LPHMIDISTRM;\ntypedef DRVCALLBACK MIDICALLBACK;\ntypedef MIDICALLBACK FAR *LPMIDICALLBACK;\n#define MIDIPATCHSIZE   128\ntypedef WORD PATCHARRAY[MIDIPATCHSIZE];\ntypedef WORD FAR *LPPATCHARRAY;\ntypedef WORD KEYARRAY[MIDIPATCHSIZE];\ntypedef WORD FAR *LPKEYARRAY;\n\n/* MIDI callback messages */\n#define MIM_OPEN        MM_MIM_OPEN\n#define MIM_CLOSE       MM_MIM_CLOSE\n#define MIM_DATA        MM_MIM_DATA\n#define MIM_LONGDATA    MM_MIM_LONGDATA\n#define MIM_ERROR       MM_MIM_ERROR\n#define MIM_LONGERROR   MM_MIM_LONGERROR\n#define MOM_OPEN        MM_MOM_OPEN\n#define MOM_CLOSE       MM_MOM_CLOSE\n#define MOM_DONE        MM_MOM_DONE\n\n#if(WINVER >= 0x0400)\n#define MIM_MOREDATA      MM_MIM_MOREDATA\n#define MOM_POSITIONCB    MM_MOM_POSITIONCB\n#endif /* WINVER >= 0x0400 */\n\n/* device ID for MIDI mapper */\n#define MIDIMAPPER     ((UINT)-1)\n#define MIDI_MAPPER    ((UINT)-1)\n\n#if(WINVER >= 0x0400)\n/* flags for dwFlags parm of midiInOpen() */\n#define MIDI_IO_STATUS      0x00000020L\n#endif /* WINVER >= 0x0400 */\n\n/* flags for wFlags parm of midiOutCachePatches(), midiOutCacheDrumPatches() */\n#define MIDI_CACHE_ALL      1\n#define MIDI_CACHE_BESTFIT  2\n#define MIDI_CACHE_QUERY    3\n#define MIDI_UNCACHE        4\n\n/* MIDI output device capabilities structure */\n#ifdef _WIN32\n\ntypedef struct tagMIDIOUTCAPSA {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    WORD    wVoices;               /* # of voices (internal synth only) */\n    WORD    wNotes;                /* max # of notes (internal synth only) */\n    WORD    wChannelMask;          /* channels used (internal synth only) */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} MIDIOUTCAPSA, *PMIDIOUTCAPSA, *NPMIDIOUTCAPSA, *LPMIDIOUTCAPSA;\ntypedef struct tagMIDIOUTCAPSW {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    WORD    wVoices;               /* # of voices (internal synth only) */\n    WORD    wNotes;                /* max # of notes (internal synth only) */\n    WORD    wChannelMask;          /* channels used (internal synth only) */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} MIDIOUTCAPSW, *PMIDIOUTCAPSW, *NPMIDIOUTCAPSW, *LPMIDIOUTCAPSW;\n#ifdef UNICODE\ntypedef MIDIOUTCAPSW MIDIOUTCAPS;\ntypedef PMIDIOUTCAPSW PMIDIOUTCAPS;\ntypedef NPMIDIOUTCAPSW NPMIDIOUTCAPS;\ntypedef LPMIDIOUTCAPSW LPMIDIOUTCAPS;\n#else\ntypedef MIDIOUTCAPSA MIDIOUTCAPS;\ntypedef PMIDIOUTCAPSA PMIDIOUTCAPS;\ntypedef NPMIDIOUTCAPSA NPMIDIOUTCAPS;\ntypedef LPMIDIOUTCAPSA LPMIDIOUTCAPS;\n#endif // UNICODE\ntypedef struct tagMIDIOUTCAPS2A {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    CHAR    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    WORD    wVoices;               /* # of voices (internal synth only) */\n    WORD    wNotes;                /* max # of notes (internal synth only) */\n    WORD    wChannelMask;          /* channels used (internal synth only) */\n    DWORD   dwSupport;             /* functionality supported by driver */\n    GUID    ManufacturerGuid;      /* for extensible MID mapping */\n    GUID    ProductGuid;           /* for extensible PID mapping */\n    GUID    NameGuid;              /* for name lookup in registry */\n} MIDIOUTCAPS2A, *PMIDIOUTCAPS2A, *NPMIDIOUTCAPS2A, *LPMIDIOUTCAPS2A;\ntypedef struct tagMIDIOUTCAPS2W {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    MMVERSION vDriverVersion;      /* version of the driver */\n    WCHAR   szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    WORD    wVoices;               /* # of voices (internal synth only) */\n    WORD    wNotes;                /* max # of notes (internal synth only) */\n    WORD    wChannelMask;          /* channels used (internal synth only) */\n    DWORD   dwSupport;             /* functionality supported by driver */\n    GUID    ManufacturerGuid;      /* for extensible MID mapping */\n    GUID    ProductGuid;           /* for extensible PID mapping */\n    GUID    NameGuid;              /* for name lookup in registry */\n} MIDIOUTCAPS2W, *PMIDIOUTCAPS2W, *NPMIDIOUTCAPS2W, *LPMIDIOUTCAPS2W;\n#ifdef UNICODE\ntypedef MIDIOUTCAPS2W MIDIOUTCAPS2;\ntypedef PMIDIOUTCAPS2W PMIDIOUTCAPS2;\ntypedef NPMIDIOUTCAPS2W NPMIDIOUTCAPS2;\ntypedef LPMIDIOUTCAPS2W LPMIDIOUTCAPS2;\n#else\ntypedef MIDIOUTCAPS2A MIDIOUTCAPS2;\ntypedef PMIDIOUTCAPS2A PMIDIOUTCAPS2;\ntypedef NPMIDIOUTCAPS2A NPMIDIOUTCAPS2;\ntypedef LPMIDIOUTCAPS2A LPMIDIOUTCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct midioutcaps_tag {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    VERSION vDriverVersion;        /* version of the driver */\n    char    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    WORD    wVoices;               /* # of voices (internal synth only) */\n    WORD    wNotes;                /* max # of notes (internal synth only) */\n    WORD    wChannelMask;          /* channels used (internal synth only) */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} MIDIOUTCAPS, *PMIDIOUTCAPS, NEAR *NPMIDIOUTCAPS, FAR *LPMIDIOUTCAPS;\n#endif\n\n/* flags for wTechnology field of MIDIOUTCAPS structure */\n#define MOD_MIDIPORT    1  /* output port */\n#define MOD_SYNTH       2  /* generic internal synth */\n#define MOD_SQSYNTH     3  /* square wave internal synth */\n#define MOD_FMSYNTH     4  /* FM internal synth */\n#define MOD_MAPPER      5  /* MIDI mapper */\n#define MOD_WAVETABLE   6  /* hardware wavetable synth */\n#define MOD_SWSYNTH     7  /* software synth */\n\n/* flags for dwSupport field of MIDIOUTCAPS structure */\n#define MIDICAPS_VOLUME          0x0001  /* supports volume control */\n#define MIDICAPS_LRVOLUME        0x0002  /* separate left-right volume control */\n#define MIDICAPS_CACHE           0x0004\n#if(WINVER >= 0x0400)\n#define MIDICAPS_STREAM          0x0008  /* driver supports midiStreamOut directly */\n#endif /* WINVER >= 0x0400 */\n\n/* MIDI input device capabilities structure */\n#ifdef _WIN32\n\ntypedef struct tagMIDIINCAPSA {\n    WORD        wMid;                   /* manufacturer ID */\n    WORD        wPid;                   /* product ID */\n    MMVERSION   vDriverVersion;         /* version of the driver */\n    CHAR        szPname[MAXPNAMELEN];   /* product name (NULL terminated string) */\n#if (WINVER >= 0x0400)\n    DWORD   dwSupport;             /* functionality supported by driver */\n#endif\n} MIDIINCAPSA, *PMIDIINCAPSA, *NPMIDIINCAPSA, *LPMIDIINCAPSA;\ntypedef struct tagMIDIINCAPSW {\n    WORD        wMid;                   /* manufacturer ID */\n    WORD        wPid;                   /* product ID */\n    MMVERSION   vDriverVersion;         /* version of the driver */\n    WCHAR       szPname[MAXPNAMELEN];   /* product name (NULL terminated string) */\n#if (WINVER >= 0x0400)\n    DWORD   dwSupport;             /* functionality supported by driver */\n#endif\n} MIDIINCAPSW, *PMIDIINCAPSW, *NPMIDIINCAPSW, *LPMIDIINCAPSW;\n#ifdef UNICODE\ntypedef MIDIINCAPSW MIDIINCAPS;\ntypedef PMIDIINCAPSW PMIDIINCAPS;\ntypedef NPMIDIINCAPSW NPMIDIINCAPS;\ntypedef LPMIDIINCAPSW LPMIDIINCAPS;\n#else\ntypedef MIDIINCAPSA MIDIINCAPS;\ntypedef PMIDIINCAPSA PMIDIINCAPS;\ntypedef NPMIDIINCAPSA NPMIDIINCAPS;\ntypedef LPMIDIINCAPSA LPMIDIINCAPS;\n#endif // UNICODE\ntypedef struct tagMIDIINCAPS2A {\n    WORD        wMid;                   /* manufacturer ID */\n    WORD        wPid;                   /* product ID */\n    MMVERSION   vDriverVersion;         /* version of the driver */\n    CHAR        szPname[MAXPNAMELEN];   /* product name (NULL terminated string) */\n#if (WINVER >= 0x0400)\n    DWORD       dwSupport;              /* functionality supported by driver */\n#endif\n    GUID        ManufacturerGuid;       /* for extensible MID mapping */\n    GUID        ProductGuid;            /* for extensible PID mapping */\n    GUID        NameGuid;               /* for name lookup in registry */\n} MIDIINCAPS2A, *PMIDIINCAPS2A, *NPMIDIINCAPS2A, *LPMIDIINCAPS2A;\ntypedef struct tagMIDIINCAPS2W {\n    WORD        wMid;                   /* manufacturer ID */\n    WORD        wPid;                   /* product ID */\n    MMVERSION   vDriverVersion;         /* version of the driver */\n    WCHAR       szPname[MAXPNAMELEN];   /* product name (NULL terminated string) */\n#if (WINVER >= 0x0400)\n    DWORD       dwSupport;              /* functionality supported by driver */\n#endif\n    GUID        ManufacturerGuid;       /* for extensible MID mapping */\n    GUID        ProductGuid;            /* for extensible PID mapping */\n    GUID        NameGuid;               /* for name lookup in registry */\n} MIDIINCAPS2W, *PMIDIINCAPS2W, *NPMIDIINCAPS2W, *LPMIDIINCAPS2W;\n#ifdef UNICODE\ntypedef MIDIINCAPS2W MIDIINCAPS2;\ntypedef PMIDIINCAPS2W PMIDIINCAPS2;\ntypedef NPMIDIINCAPS2W NPMIDIINCAPS2;\ntypedef LPMIDIINCAPS2W LPMIDIINCAPS2;\n#else\ntypedef MIDIINCAPS2A MIDIINCAPS2;\ntypedef PMIDIINCAPS2A PMIDIINCAPS2;\ntypedef NPMIDIINCAPS2A NPMIDIINCAPS2;\ntypedef LPMIDIINCAPS2A LPMIDIINCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct midiincaps_tag {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    VERSION vDriverVersion;        /* version of the driver */\n    char    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n#if (WINVER >= 0x0400)\n    DWORD   dwSupport;             /* functionality supported by driver */\n#endif\n} MIDIINCAPS, *PMIDIINCAPS, NEAR *NPMIDIINCAPS, FAR *LPMIDIINCAPS;\n#endif\n\n\n/* MIDI data block header */\ntypedef struct midihdr_tag {\n    LPSTR       lpData;               /* pointer to locked data block */\n    DWORD       dwBufferLength;       /* length of data in data block */\n    DWORD       dwBytesRecorded;      /* used for input only */\n    DWORD_PTR   dwUser;               /* for client's use */\n    DWORD       dwFlags;              /* assorted flags (see defines) */\n    struct midihdr_tag far *lpNext;   /* reserved for driver */\n    DWORD_PTR   reserved;             /* reserved for driver */\n#if (WINVER >= 0x0400)\n    DWORD       dwOffset;             /* Callback offset into buffer */\n    DWORD_PTR   dwReserved[8];        /* Reserved for MMSYSTEM */\n#endif\n} MIDIHDR, *PMIDIHDR, NEAR *NPMIDIHDR, FAR *LPMIDIHDR;\n\n\n#if(WINVER >= 0x0400)\ntypedef struct midievent_tag\n{\n    DWORD       dwDeltaTime;          /* Ticks since last event */\n    DWORD       dwStreamID;           /* Reserved; must be zero */\n    DWORD       dwEvent;              /* Event type and parameters */\n    DWORD       dwParms[1];           /* Parameters if this is a long event */\n} MIDIEVENT;\n\ntypedef struct midistrmbuffver_tag\n{\n    DWORD       dwVersion;                  /* Stream buffer format version */\n    DWORD       dwMid;                      /* Manufacturer ID as defined in MMREG.H */\n    DWORD       dwOEMVersion;               /* Manufacturer version for custom ext */\n} MIDISTRMBUFFVER;\n#endif /* WINVER >= 0x0400 */\n\n/* flags for dwFlags field of MIDIHDR structure */\n#define MHDR_DONE       0x00000001       /* done bit */\n#define MHDR_PREPARED   0x00000002       /* set if header prepared */\n#define MHDR_INQUEUE    0x00000004       /* reserved for driver */\n#define MHDR_ISSTRM     0x00000008       /* Buffer is stream buffer */\n#if(WINVER >= 0x0400)\n/* */\n/* Type codes which go in the high byte of the event DWORD of a stream buffer */\n/* */\n/* Type codes 00-7F contain parameters within the low 24 bits */\n/* Type codes 80-FF contain a length of their parameter in the low 24 */\n/* bits, followed by their parameter data in the buffer. The event */\n/* DWORD contains the exact byte length; the parm data itself must be */\n/* padded to be an even multiple of 4 bytes long. */\n/* */\n\n#define MEVT_F_SHORT        0x00000000L\n#define MEVT_F_LONG         0x80000000L\n#define MEVT_F_CALLBACK     0x40000000L\n\n#define MEVT_EVENTTYPE(x)   ((BYTE)(((x)>>24)&0xFF))\n#define MEVT_EVENTPARM(x)   ((DWORD)((x)&0x00FFFFFFL))\n\n#define MEVT_SHORTMSG       ((BYTE)0x00)    /* parm = shortmsg for midiOutShortMsg */\n#define MEVT_TEMPO          ((BYTE)0x01)    /* parm = new tempo in microsec/qn     */\n#define MEVT_NOP            ((BYTE)0x02)    /* parm = unused; does nothing         */\n\n/* 0x04-0x7F reserved */\n\n#define MEVT_LONGMSG        ((BYTE)0x80)    /* parm = bytes to send verbatim       */\n#define MEVT_COMMENT        ((BYTE)0x82)    /* parm = comment data                 */\n#define MEVT_VERSION        ((BYTE)0x84)    /* parm = MIDISTRMBUFFVER struct       */\n\n/* 0x81-0xFF reserved */\n\n#define MIDISTRM_ERROR      (-2)\n\n/* */\n/* Structures and defines for midiStreamProperty */\n/* */\n#define MIDIPROP_SET        0x80000000L\n#define MIDIPROP_GET        0x40000000L\n\n/* These are intentionally both non-zero so the app cannot accidentally */\n/* leave the operation off and happen to appear to work due to default */\n/* action. */\n\n#define MIDIPROP_TIMEDIV    0x00000001L\n#define MIDIPROP_TEMPO      0x00000002L\n\ntypedef struct midiproptimediv_tag\n{\n    DWORD       cbStruct;\n    DWORD       dwTimeDiv;\n} MIDIPROPTIMEDIV, FAR *LPMIDIPROPTIMEDIV;\n\ntypedef struct midiproptempo_tag\n{\n    DWORD       cbStruct;\n    DWORD       dwTempo;\n} MIDIPROPTEMPO, FAR *LPMIDIPROPTEMPO;\n\n#endif /* WINVER >= 0x0400 */\n\n/* MIDI function prototypes */\nWINMMAPI UINT WINAPI midiOutGetNumDevs(void);\n#if(WINVER >= 0x0400)\nWINMMAPI MMRESULT WINAPI midiStreamOpen( OUT LPHMIDISTRM phms, IN LPUINT puDeviceID, IN DWORD cMidi, IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\nWINMMAPI MMRESULT WINAPI midiStreamClose( IN HMIDISTRM hms);\n\nWINMMAPI MMRESULT WINAPI midiStreamProperty( IN HMIDISTRM hms, OUT LPBYTE lppropdata, IN DWORD dwProperty);\nWINMMAPI MMRESULT WINAPI midiStreamPosition( IN HMIDISTRM hms, OUT LPMMTIME lpmmt, IN UINT cbmmt);\n\nWINMMAPI MMRESULT WINAPI midiStreamOut( IN HMIDISTRM hms, IN LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiStreamPause( IN HMIDISTRM hms);\nWINMMAPI MMRESULT WINAPI midiStreamRestart( IN HMIDISTRM hms);\nWINMMAPI MMRESULT WINAPI midiStreamStop( IN HMIDISTRM hms);\n\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI midiConnect( IN HMIDI hmi, IN HMIDIOUT hmo, IN LPVOID pReserved);\nWINMMAPI MMRESULT WINAPI midiDisconnect( IN HMIDI hmi, IN HMIDIOUT hmo, IN LPVOID pReserved);\n#endif\n#endif /* WINVER >= 0x0400 */\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI midiOutGetDevCapsA( IN UINT_PTR uDeviceID, OUT LPMIDIOUTCAPSA pmoc, IN UINT cbmoc);\nWINMMAPI MMRESULT WINAPI midiOutGetDevCapsW( IN UINT_PTR uDeviceID, OUT LPMIDIOUTCAPSW pmoc, IN UINT cbmoc);\n#ifdef UNICODE\n#define midiOutGetDevCaps  midiOutGetDevCapsW\n#else\n#define midiOutGetDevCaps  midiOutGetDevCapsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI midiOutGetDevCaps(UINT uDeviceID, LPMIDIOUTCAPS pmoc, UINT cbmoc);\n#endif\n\n#if (WINVER >= 0x0400)\nWINMMAPI MMRESULT WINAPI midiOutGetVolume( IN HMIDIOUT hmo, OUT LPDWORD pdwVolume);\nWINMMAPI MMRESULT WINAPI midiOutSetVolume( IN HMIDIOUT hmo, IN DWORD dwVolume);\n#else\nWINMMAPI MMRESULT WINAPI midiOutGetVolume(UINT uId, LPDWORD pdwVolume);\nWINMMAPI MMRESULT WINAPI midiOutSetVolume(UINT uId, DWORD dwVolume);\n#endif\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI midiOutGetErrorTextA( IN MMRESULT mmrError, OUT LPSTR pszText, IN UINT cchText);\nWINMMAPI MMRESULT WINAPI midiOutGetErrorTextW( IN MMRESULT mmrError, OUT LPWSTR pszText, IN UINT cchText);\n#ifdef UNICODE\n#define midiOutGetErrorText  midiOutGetErrorTextW\n#else\n#define midiOutGetErrorText  midiOutGetErrorTextA\n#endif // !UNICODE\n\n#else\nWINMMAPI MMRESULT WINAPI midiOutGetErrorText(MMRESULT mmrError, LPSTR pszText, UINT cchText);\n#endif\n\nWINMMAPI MMRESULT WINAPI midiOutOpen( OUT LPHMIDIOUT phmo, IN UINT uDeviceID,\n    IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\nWINMMAPI MMRESULT WINAPI midiOutClose( IN OUT HMIDIOUT hmo);\nWINMMAPI MMRESULT WINAPI midiOutPrepareHeader( IN HMIDIOUT hmo, IN OUT LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiOutUnprepareHeader(IN HMIDIOUT hmo, IN OUT LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiOutShortMsg( IN HMIDIOUT hmo, IN DWORD dwMsg);\nWINMMAPI MMRESULT WINAPI midiOutLongMsg(IN HMIDIOUT hmo, IN LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiOutReset( IN HMIDIOUT hmo);\nWINMMAPI MMRESULT WINAPI midiOutCachePatches( IN HMIDIOUT hmo, IN UINT uBank, OUT LPWORD pwpa, IN UINT fuCache);\nWINMMAPI MMRESULT WINAPI midiOutCacheDrumPatches( IN HMIDIOUT hmo, IN UINT uPatch, OUT LPWORD pwkya, IN UINT fuCache);\nWINMMAPI MMRESULT WINAPI midiOutGetID( IN HMIDIOUT hmo, OUT LPUINT puDeviceID);\n\n#if (WINVER >= 0x030a)\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI midiOutMessage( IN HMIDIOUT hmo, IN UINT uMsg, IN DWORD_PTR dw1, IN DWORD_PTR dw2);\n#else\nDWORD WINAPI midiOutMessage(HMIDIOUT hmo, UINT uMsg, DWORD dw1, DWORD dw2);\n#endif\n#endif /* ifdef WINVER >= 0x030a */\n\nWINMMAPI UINT WINAPI midiInGetNumDevs(void);\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI midiInGetDevCapsA( IN UINT_PTR uDeviceID, OUT LPMIDIINCAPSA pmic, IN UINT cbmic);\nWINMMAPI MMRESULT WINAPI midiInGetDevCapsW( IN UINT_PTR uDeviceID, OUT LPMIDIINCAPSW pmic, IN UINT cbmic);\n#ifdef UNICODE\n#define midiInGetDevCaps  midiInGetDevCapsW\n#else\n#define midiInGetDevCaps  midiInGetDevCapsA\n#endif // !UNICODE\nWINMMAPI MMRESULT WINAPI midiInGetErrorTextA( IN MMRESULT mmrError, OUT LPSTR pszText, IN UINT cchText);\nWINMMAPI MMRESULT WINAPI midiInGetErrorTextW( IN MMRESULT mmrError, OUT LPWSTR pszText, IN UINT cchText);\n#ifdef UNICODE\n#define midiInGetErrorText  midiInGetErrorTextW\n#else\n#define midiInGetErrorText  midiInGetErrorTextA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI midiInGetDevCaps(UINT uDeviceID, LPMIDIINCAPS pmic, UINT cbmic);\nWINMMAPI MMRESULT WINAPI midiInGetErrorText(MMRESULT mmrError, LPSTR pszText, UINT cchText);\n#endif\n\nWINMMAPI MMRESULT WINAPI midiInOpen( OUT LPHMIDIIN phmi, IN UINT uDeviceID,\n        IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\nWINMMAPI MMRESULT WINAPI midiInClose( IN OUT HMIDIIN hmi);\nWINMMAPI MMRESULT WINAPI midiInPrepareHeader( IN HMIDIIN hmi, IN OUT LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiInUnprepareHeader( IN HMIDIIN hmi, IN OUT LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiInAddBuffer( IN HMIDIIN hmi, IN LPMIDIHDR pmh, IN UINT cbmh);\nWINMMAPI MMRESULT WINAPI midiInStart( IN HMIDIIN hmi);\nWINMMAPI MMRESULT WINAPI midiInStop( IN HMIDIIN hmi);\nWINMMAPI MMRESULT WINAPI midiInReset( IN HMIDIIN hmi);\nWINMMAPI MMRESULT WINAPI midiInGetID( IN HMIDIIN hmi, OUT LPUINT puDeviceID);\n\n#if (WINVER >= 0x030a)\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI midiInMessage( IN HMIDIIN hmi, IN UINT uMsg, IN DWORD_PTR dw1, IN DWORD_PTR dw2);\n#else\nDWORD WINAPI midiInMessage(HMIDIIN hmi, UINT uMsg, DWORD dw1, DWORD dw2);\n#endif\n#endif /* ifdef WINVER >= 0x030a */\n\n\n#endif  /* ifndef MMNOMIDI */\n\n#ifndef MMNOAUX\n/****************************************************************************\n\n                        Auxiliary audio support\n\n****************************************************************************/\n\n/* device ID for aux device mapper */\n#define AUX_MAPPER     ((UINT)-1)\n\n\n/* Auxiliary audio device capabilities structure */\n#ifdef _WIN32\n\ntypedef struct tagAUXCAPSA {\n    WORD        wMid;                /* manufacturer ID */\n    WORD        wPid;                /* product ID */\n    MMVERSION   vDriverVersion;      /* version of the driver */\n    CHAR        szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    WORD        wTechnology;         /* type of device */\n    WORD        wReserved1;          /* padding */\n    DWORD       dwSupport;           /* functionality supported by driver */\n} AUXCAPSA, *PAUXCAPSA, *NPAUXCAPSA, *LPAUXCAPSA;\ntypedef struct tagAUXCAPSW {\n    WORD        wMid;                /* manufacturer ID */\n    WORD        wPid;                /* product ID */\n    MMVERSION   vDriverVersion;      /* version of the driver */\n    WCHAR       szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    WORD        wTechnology;         /* type of device */\n    WORD        wReserved1;          /* padding */\n    DWORD       dwSupport;           /* functionality supported by driver */\n} AUXCAPSW, *PAUXCAPSW, *NPAUXCAPSW, *LPAUXCAPSW;\n#ifdef UNICODE\ntypedef AUXCAPSW AUXCAPS;\ntypedef PAUXCAPSW PAUXCAPS;\ntypedef NPAUXCAPSW NPAUXCAPS;\ntypedef LPAUXCAPSW LPAUXCAPS;\n#else\ntypedef AUXCAPSA AUXCAPS;\ntypedef PAUXCAPSA PAUXCAPS;\ntypedef NPAUXCAPSA NPAUXCAPS;\ntypedef LPAUXCAPSA LPAUXCAPS;\n#endif // UNICODE\ntypedef struct tagAUXCAPS2A {\n    WORD        wMid;                /* manufacturer ID */\n    WORD        wPid;                /* product ID */\n    MMVERSION   vDriverVersion;      /* version of the driver */\n    CHAR        szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    WORD        wTechnology;         /* type of device */\n    WORD        wReserved1;          /* padding */\n    DWORD       dwSupport;           /* functionality supported by driver */\n    GUID        ManufacturerGuid;    /* for extensible MID mapping */\n    GUID        ProductGuid;         /* for extensible PID mapping */\n    GUID        NameGuid;            /* for name lookup in registry */\n} AUXCAPS2A, *PAUXCAPS2A, *NPAUXCAPS2A, *LPAUXCAPS2A;\ntypedef struct tagAUXCAPS2W {\n    WORD        wMid;                /* manufacturer ID */\n    WORD        wPid;                /* product ID */\n    MMVERSION   vDriverVersion;      /* version of the driver */\n    WCHAR       szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    WORD        wTechnology;         /* type of device */\n    WORD        wReserved1;          /* padding */\n    DWORD       dwSupport;           /* functionality supported by driver */\n    GUID        ManufacturerGuid;    /* for extensible MID mapping */\n    GUID        ProductGuid;         /* for extensible PID mapping */\n    GUID        NameGuid;            /* for name lookup in registry */\n} AUXCAPS2W, *PAUXCAPS2W, *NPAUXCAPS2W, *LPAUXCAPS2W;\n#ifdef UNICODE\ntypedef AUXCAPS2W AUXCAPS2;\ntypedef PAUXCAPS2W PAUXCAPS2;\ntypedef NPAUXCAPS2W NPAUXCAPS2;\ntypedef LPAUXCAPS2W LPAUXCAPS2;\n#else\ntypedef AUXCAPS2A AUXCAPS2;\ntypedef PAUXCAPS2A PAUXCAPS2;\ntypedef NPAUXCAPS2A NPAUXCAPS2;\ntypedef LPAUXCAPS2A LPAUXCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct auxcaps_tag {\n    WORD    wMid;                  /* manufacturer ID */\n    WORD    wPid;                  /* product ID */\n    VERSION vDriverVersion;        /* version of the driver */\n    char    szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    WORD    wTechnology;           /* type of device */\n    DWORD   dwSupport;             /* functionality supported by driver */\n} AUXCAPS, *PAUXCAPS, NEAR *NPAUXCAPS, FAR *LPAUXCAPS;\n#endif\n\n/* flags for wTechnology field in AUXCAPS structure */\n#define AUXCAPS_CDAUDIO    1       /* audio from internal CD-ROM drive */\n#define AUXCAPS_AUXIN      2       /* audio from auxiliary input jacks */\n\n/* flags for dwSupport field in AUXCAPS structure */\n#define AUXCAPS_VOLUME          0x0001  /* supports volume control */\n#define AUXCAPS_LRVOLUME        0x0002  /* separate left-right volume control */\n\n/* auxiliary audio function prototypes */\nWINMMAPI UINT WINAPI auxGetNumDevs(void);\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI auxGetDevCapsA( IN UINT_PTR uDeviceID, OUT LPAUXCAPSA pac, IN UINT cbac);\nWINMMAPI MMRESULT WINAPI auxGetDevCapsW( IN UINT_PTR uDeviceID, OUT LPAUXCAPSW pac, IN UINT cbac);\n#ifdef UNICODE\n#define auxGetDevCaps  auxGetDevCapsW\n#else\n#define auxGetDevCaps  auxGetDevCapsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI auxGetDevCaps(UINT uDeviceID, LPAUXCAPS pac, UINT cbac);\n#endif\nWINMMAPI MMRESULT WINAPI auxSetVolume( IN UINT uDeviceID, IN DWORD dwVolume);\nWINMMAPI MMRESULT WINAPI auxGetVolume( IN UINT uDeviceID, OUT LPDWORD pdwVolume);\n\n#if (WINVER >= 0x030a)\n#ifdef _WIN32\nWINMMAPI MMRESULT WINAPI auxOutMessage( IN UINT uDeviceID, IN UINT uMsg, IN DWORD_PTR dw1, IN DWORD_PTR dw2);\n#else\nDWORD WINAPI auxOutMessage(UINT uDeviceID, UINT uMsg, DWORD dw1, DWORD dw2);\n#endif\n#endif /* ifdef WINVER >= 0x030a */\n\n#endif  /* ifndef MMNOAUX */\n\n#ifndef MMNOMIXER\n/****************************************************************************\n\n                            Mixer Support\n\n****************************************************************************/\n\nDECLARE_HANDLE(HMIXEROBJ);\ntypedef HMIXEROBJ FAR *LPHMIXEROBJ;\n\nDECLARE_HANDLE(HMIXER);\ntypedef HMIXER     FAR *LPHMIXER;\n\n#define MIXER_SHORT_NAME_CHARS   16\n#define MIXER_LONG_NAME_CHARS    64\n\n/* */\n/*  MMRESULT error return values specific to the mixer API */\n/* */\n/* */\n#define MIXERR_INVALLINE            (MIXERR_BASE + 0)\n#define MIXERR_INVALCONTROL         (MIXERR_BASE + 1)\n#define MIXERR_INVALVALUE           (MIXERR_BASE + 2)\n#define MIXERR_LASTERROR            (MIXERR_BASE + 2)\n\n\n#define MIXER_OBJECTF_HANDLE    0x80000000L\n#define MIXER_OBJECTF_MIXER     0x00000000L\n#define MIXER_OBJECTF_HMIXER    (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)\n#define MIXER_OBJECTF_WAVEOUT   0x10000000L\n#define MIXER_OBJECTF_HWAVEOUT  (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)\n#define MIXER_OBJECTF_WAVEIN    0x20000000L\n#define MIXER_OBJECTF_HWAVEIN   (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)\n#define MIXER_OBJECTF_MIDIOUT   0x30000000L\n#define MIXER_OBJECTF_HMIDIOUT  (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)\n#define MIXER_OBJECTF_MIDIIN    0x40000000L\n#define MIXER_OBJECTF_HMIDIIN   (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)\n#define MIXER_OBJECTF_AUX       0x50000000L\n\n\nWINMMAPI UINT WINAPI mixerGetNumDevs(void);\n\n#ifdef _WIN32\n\ntypedef struct tagMIXERCAPSA {\n    WORD            wMid;                   /* manufacturer id */\n    WORD            wPid;                   /* product id */\n    MMVERSION       vDriverVersion;         /* version of the driver */\n    CHAR            szPname[MAXPNAMELEN];   /* product name */\n    DWORD           fdwSupport;             /* misc. support bits */\n    DWORD           cDestinations;          /* count of destinations */\n} MIXERCAPSA, *PMIXERCAPSA, *LPMIXERCAPSA;\ntypedef struct tagMIXERCAPSW {\n    WORD            wMid;                   /* manufacturer id */\n    WORD            wPid;                   /* product id */\n    MMVERSION       vDriverVersion;         /* version of the driver */\n    WCHAR           szPname[MAXPNAMELEN];   /* product name */\n    DWORD           fdwSupport;             /* misc. support bits */\n    DWORD           cDestinations;          /* count of destinations */\n} MIXERCAPSW, *PMIXERCAPSW, *LPMIXERCAPSW;\n#ifdef UNICODE\ntypedef MIXERCAPSW MIXERCAPS;\ntypedef PMIXERCAPSW PMIXERCAPS;\ntypedef LPMIXERCAPSW LPMIXERCAPS;\n#else\ntypedef MIXERCAPSA MIXERCAPS;\ntypedef PMIXERCAPSA PMIXERCAPS;\ntypedef LPMIXERCAPSA LPMIXERCAPS;\n#endif // UNICODE\ntypedef struct tagMIXERCAPS2A {\n    WORD            wMid;                   /* manufacturer id */\n    WORD            wPid;                   /* product id */\n    MMVERSION       vDriverVersion;         /* version of the driver */\n    CHAR            szPname[MAXPNAMELEN];   /* product name */\n    DWORD           fdwSupport;             /* misc. support bits */\n    DWORD           cDestinations;          /* count of destinations */\n    GUID            ManufacturerGuid;       /* for extensible MID mapping */\n    GUID            ProductGuid;            /* for extensible PID mapping */\n    GUID            NameGuid;               /* for name lookup in registry */\n} MIXERCAPS2A, *PMIXERCAPS2A, *LPMIXERCAPS2A;\ntypedef struct tagMIXERCAPS2W {\n    WORD            wMid;                   /* manufacturer id */\n    WORD            wPid;                   /* product id */\n    MMVERSION       vDriverVersion;         /* version of the driver */\n    WCHAR           szPname[MAXPNAMELEN];   /* product name */\n    DWORD           fdwSupport;             /* misc. support bits */\n    DWORD           cDestinations;          /* count of destinations */\n    GUID            ManufacturerGuid;       /* for extensible MID mapping */\n    GUID            ProductGuid;            /* for extensible PID mapping */\n    GUID            NameGuid;               /* for name lookup in registry */\n} MIXERCAPS2W, *PMIXERCAPS2W, *LPMIXERCAPS2W;\n#ifdef UNICODE\ntypedef MIXERCAPS2W MIXERCAPS2;\ntypedef PMIXERCAPS2W PMIXERCAPS2;\ntypedef LPMIXERCAPS2W LPMIXERCAPS2;\n#else\ntypedef MIXERCAPS2A MIXERCAPS2;\ntypedef PMIXERCAPS2A PMIXERCAPS2;\ntypedef LPMIXERCAPS2A LPMIXERCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct tMIXERCAPS {\n    WORD            wMid;                   /* manufacturer id */\n    WORD            wPid;                   /* product id */\n    VERSION         vDriverVersion;         /* version of the driver */\n    char            szPname[MAXPNAMELEN];   /* product name */\n    DWORD           fdwSupport;             /* misc. support bits */\n    DWORD           cDestinations;          /* count of destinations */\n} MIXERCAPS, *PMIXERCAPS, FAR *LPMIXERCAPS;\n#endif\n\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI mixerGetDevCapsA( IN UINT_PTR uMxId, OUT LPMIXERCAPSA pmxcaps, IN UINT cbmxcaps);\nWINMMAPI MMRESULT WINAPI mixerGetDevCapsW( IN UINT_PTR uMxId, OUT LPMIXERCAPSW pmxcaps, IN UINT cbmxcaps);\n#ifdef UNICODE\n#define mixerGetDevCaps  mixerGetDevCapsW\n#else\n#define mixerGetDevCaps  mixerGetDevCapsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI mixerGetDevCaps(UINT uMxId, LPMIXERCAPS pmxcaps, UINT cbmxcaps);\n#endif\n\nWINMMAPI MMRESULT WINAPI mixerOpen( OUT LPHMIXER phmx, IN UINT uMxId, IN DWORD_PTR dwCallback, IN DWORD_PTR dwInstance, IN DWORD fdwOpen);\n\n\nWINMMAPI MMRESULT WINAPI mixerClose( IN OUT HMIXER hmx);\n\nWINMMAPI DWORD WINAPI mixerMessage( IN HMIXER hmx, IN UINT uMsg, IN DWORD_PTR dwParam1, IN DWORD_PTR dwParam2);\n\n#ifdef _WIN32\n\ntypedef struct tagMIXERLINEA {\n    DWORD       cbStruct;               /* size of MIXERLINE structure */\n    DWORD       dwDestination;          /* zero based destination index */\n    DWORD       dwSource;               /* zero based source index (if source) */\n    DWORD       dwLineID;               /* unique line id for mixer device */\n    DWORD       fdwLine;                /* state/information about line */\n    DWORD_PTR   dwUser;                 /* driver specific information */\n    DWORD       dwComponentType;        /* component type line connects to */\n    DWORD       cChannels;              /* number of channels line supports */\n    DWORD       cConnections;           /* number of connections [possible] */\n    DWORD       cControls;              /* number of controls at this line */\n    CHAR        szShortName[MIXER_SHORT_NAME_CHARS];\n    CHAR        szName[MIXER_LONG_NAME_CHARS];\n    struct {\n        DWORD       dwType;                 /* MIXERLINE_TARGETTYPE_xxxx */\n        DWORD       dwDeviceID;             /* target device ID of device type */\n        WORD        wMid;                   /* of target device */\n        WORD        wPid;                   /*      \" */\n        MMVERSION   vDriverVersion;         /*      \" */\n        CHAR        szPname[MAXPNAMELEN];   /*      \" */\n    } Target;\n} MIXERLINEA, *PMIXERLINEA, *LPMIXERLINEA;\ntypedef struct tagMIXERLINEW {\n    DWORD       cbStruct;               /* size of MIXERLINE structure */\n    DWORD       dwDestination;          /* zero based destination index */\n    DWORD       dwSource;               /* zero based source index (if source) */\n    DWORD       dwLineID;               /* unique line id for mixer device */\n    DWORD       fdwLine;                /* state/information about line */\n    DWORD_PTR   dwUser;                 /* driver specific information */\n    DWORD       dwComponentType;        /* component type line connects to */\n    DWORD       cChannels;              /* number of channels line supports */\n    DWORD       cConnections;           /* number of connections [possible] */\n    DWORD       cControls;              /* number of controls at this line */\n    WCHAR       szShortName[MIXER_SHORT_NAME_CHARS];\n    WCHAR       szName[MIXER_LONG_NAME_CHARS];\n    struct {\n        DWORD       dwType;                 /* MIXERLINE_TARGETTYPE_xxxx */\n        DWORD       dwDeviceID;             /* target device ID of device type */\n        WORD        wMid;                   /* of target device */\n        WORD        wPid;                   /*      \" */\n        MMVERSION   vDriverVersion;         /*      \" */\n        WCHAR       szPname[MAXPNAMELEN];   /*      \" */\n    } Target;\n} MIXERLINEW, *PMIXERLINEW, *LPMIXERLINEW;\n#ifdef UNICODE\ntypedef MIXERLINEW MIXERLINE;\ntypedef PMIXERLINEW PMIXERLINE;\ntypedef LPMIXERLINEW LPMIXERLINE;\n#else\ntypedef MIXERLINEA MIXERLINE;\ntypedef PMIXERLINEA PMIXERLINE;\ntypedef LPMIXERLINEA LPMIXERLINE;\n#endif // UNICODE\n\n#else\ntypedef struct tMIXERLINE {\n    DWORD       cbStruct;               /* size of MIXERLINE structure */\n    DWORD       dwDestination;          /* zero based destination index */\n    DWORD       dwSource;               /* zero based source index (if source) */\n    DWORD       dwLineID;               /* unique line id for mixer device */\n    DWORD       fdwLine;                /* state/information about line */\n    DWORD       dwUser;                 /* driver specific information */\n    DWORD       dwComponentType;        /* component type line connects to */\n    DWORD       cChannels;              /* number of channels line supports */\n    DWORD       cConnections;           /* number of connections [possible] */\n    DWORD       cControls;              /* number of controls at this line */\n    char        szShortName[MIXER_SHORT_NAME_CHARS];\n    char        szName[MIXER_LONG_NAME_CHARS];\n    struct {\n        DWORD   dwType;                 /* MIXERLINE_TARGETTYPE_xxxx */\n        DWORD   dwDeviceID;             /* target device ID of device type */\n        WORD    wMid;                   /* of target device */\n        WORD    wPid;                   /*      \" */\n        VERSION vDriverVersion;         /*      \" */\n        char    szPname[MAXPNAMELEN];   /*      \" */\n    } Target;\n} MIXERLINE, *PMIXERLINE, FAR *LPMIXERLINE;\n#endif\n\n/* */\n/*  MIXERLINE.fdwLine */\n/* */\n/* */\n#define MIXERLINE_LINEF_ACTIVE              0x00000001L\n#define MIXERLINE_LINEF_DISCONNECTED        0x00008000L\n#define MIXERLINE_LINEF_SOURCE              0x80000000L\n\n\n/* */\n/*  MIXERLINE.dwComponentType */\n/* */\n/*  component types for destinations and sources */\n/* */\n/* */\n#define MIXERLINE_COMPONENTTYPE_DST_FIRST       0x00000000L\n#define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED   (MIXERLINE_COMPONENTTYPE_DST_FIRST + 0)\n#define MIXERLINE_COMPONENTTYPE_DST_DIGITAL     (MIXERLINE_COMPONENTTYPE_DST_FIRST + 1)\n#define MIXERLINE_COMPONENTTYPE_DST_LINE        (MIXERLINE_COMPONENTTYPE_DST_FIRST + 2)\n#define MIXERLINE_COMPONENTTYPE_DST_MONITOR     (MIXERLINE_COMPONENTTYPE_DST_FIRST + 3)\n#define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS    (MIXERLINE_COMPONENTTYPE_DST_FIRST + 4)\n#define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES  (MIXERLINE_COMPONENTTYPE_DST_FIRST + 5)\n#define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE   (MIXERLINE_COMPONENTTYPE_DST_FIRST + 6)\n#define MIXERLINE_COMPONENTTYPE_DST_WAVEIN      (MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)\n#define MIXERLINE_COMPONENTTYPE_DST_VOICEIN     (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)\n#define MIXERLINE_COMPONENTTYPE_DST_LAST        (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)\n\n#define MIXERLINE_COMPONENTTYPE_SRC_FIRST       0x00001000L\n#define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED   (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0)\n#define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL     (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1)\n#define MIXERLINE_COMPONENTTYPE_SRC_LINE        (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)\n#define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE  (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)\n#define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4)\n#define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5)\n#define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE   (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6)\n#define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER   (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7)\n#define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT     (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8)\n#define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY   (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9)\n#define MIXERLINE_COMPONENTTYPE_SRC_ANALOG      (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)\n#define MIXERLINE_COMPONENTTYPE_SRC_LAST        (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)\n\n\n/* */\n/*  MIXERLINE.Target.dwType */\n/* */\n/* */\n#define MIXERLINE_TARGETTYPE_UNDEFINED      0\n#define MIXERLINE_TARGETTYPE_WAVEOUT        1\n#define MIXERLINE_TARGETTYPE_WAVEIN         2\n#define MIXERLINE_TARGETTYPE_MIDIOUT        3\n#define MIXERLINE_TARGETTYPE_MIDIIN         4\n#define MIXERLINE_TARGETTYPE_AUX            5\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI mixerGetLineInfoA( IN HMIXEROBJ hmxobj, OUT LPMIXERLINEA pmxl, IN DWORD fdwInfo);\nWINMMAPI MMRESULT WINAPI mixerGetLineInfoW( IN HMIXEROBJ hmxobj, OUT LPMIXERLINEW pmxl, IN DWORD fdwInfo);\n#ifdef UNICODE\n#define mixerGetLineInfo  mixerGetLineInfoW\n#else\n#define mixerGetLineInfo  mixerGetLineInfoA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI mixerGetLineInfo(HMIXEROBJ hmxobj, LPMIXERLINE pmxl, DWORD fdwInfo);\n#endif\n\n#define MIXER_GETLINEINFOF_DESTINATION      0x00000000L\n#define MIXER_GETLINEINFOF_SOURCE           0x00000001L\n#define MIXER_GETLINEINFOF_LINEID           0x00000002L\n#define MIXER_GETLINEINFOF_COMPONENTTYPE    0x00000003L\n#define MIXER_GETLINEINFOF_TARGETTYPE       0x00000004L\n\n#define MIXER_GETLINEINFOF_QUERYMASK        0x0000000FL\n\n\nWINMMAPI MMRESULT WINAPI mixerGetID( IN HMIXEROBJ hmxobj, OUT UINT FAR *puMxId, IN DWORD fdwId);\n\n\n/* */\n/*  MIXERCONTROL */\n/* */\n/* */\n#ifdef _WIN32\n\ntypedef struct tagMIXERCONTROLA {\n    DWORD           cbStruct;           /* size in bytes of MIXERCONTROL */\n    DWORD           dwControlID;        /* unique control id for mixer device */\n    DWORD           dwControlType;      /* MIXERCONTROL_CONTROLTYPE_xxx */\n    DWORD           fdwControl;         /* MIXERCONTROL_CONTROLF_xxx */\n    DWORD           cMultipleItems;     /* if MIXERCONTROL_CONTROLF_MULTIPLE set */\n    CHAR            szShortName[MIXER_SHORT_NAME_CHARS];\n    CHAR            szName[MIXER_LONG_NAME_CHARS];\n    union {\n        struct {\n            LONG    lMinimum;           /* signed minimum for this control */\n            LONG    lMaximum;           /* signed maximum for this control */\n        };\n        struct {\n            DWORD   dwMinimum;          /* unsigned minimum for this control */\n            DWORD   dwMaximum;          /* unsigned maximum for this control */\n        };\n        DWORD       dwReserved[6];\n    } Bounds;\n    union {\n        DWORD       cSteps;             /* # of steps between min & max */\n        DWORD       cbCustomData;       /* size in bytes of custom data */\n        DWORD       dwReserved[6];      /* !!! needed? we have cbStruct.... */\n    } Metrics;\n} MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA;\ntypedef struct tagMIXERCONTROLW {\n    DWORD           cbStruct;           /* size in bytes of MIXERCONTROL */\n    DWORD           dwControlID;        /* unique control id for mixer device */\n    DWORD           dwControlType;      /* MIXERCONTROL_CONTROLTYPE_xxx */\n    DWORD           fdwControl;         /* MIXERCONTROL_CONTROLF_xxx */\n    DWORD           cMultipleItems;     /* if MIXERCONTROL_CONTROLF_MULTIPLE set */\n    WCHAR           szShortName[MIXER_SHORT_NAME_CHARS];\n    WCHAR           szName[MIXER_LONG_NAME_CHARS];\n    union {\n        struct {\n            LONG    lMinimum;           /* signed minimum for this control */\n            LONG    lMaximum;           /* signed maximum for this control */\n        };\n        struct {\n            DWORD   dwMinimum;          /* unsigned minimum for this control */\n            DWORD   dwMaximum;          /* unsigned maximum for this control */\n        };\n        DWORD       dwReserved[6];\n    } Bounds;\n    union {\n        DWORD       cSteps;             /* # of steps between min & max */\n        DWORD       cbCustomData;       /* size in bytes of custom data */\n        DWORD       dwReserved[6];      /* !!! needed? we have cbStruct.... */\n    } Metrics;\n} MIXERCONTROLW, *PMIXERCONTROLW, *LPMIXERCONTROLW;\n#ifdef UNICODE\ntypedef MIXERCONTROLW MIXERCONTROL;\ntypedef PMIXERCONTROLW PMIXERCONTROL;\ntypedef LPMIXERCONTROLW LPMIXERCONTROL;\n#else\ntypedef MIXERCONTROLA MIXERCONTROL;\ntypedef PMIXERCONTROLA PMIXERCONTROL;\ntypedef LPMIXERCONTROLA LPMIXERCONTROL;\n#endif // UNICODE\n\n#else\ntypedef struct tMIXERCONTROL {\n    DWORD           cbStruct;           /* size in bytes of MIXERCONTROL */\n    DWORD           dwControlID;        /* unique control id for mixer device */\n    DWORD           dwControlType;      /* MIXERCONTROL_CONTROLTYPE_xxx */\n    DWORD           fdwControl;         /* MIXERCONTROL_CONTROLF_xxx */\n    DWORD           cMultipleItems;     /* if MIXERCONTROL_CONTROLF_MULTIPLE set */\n    char            szShortName[MIXER_SHORT_NAME_CHARS];\n    char            szName[MIXER_LONG_NAME_CHARS];\n    union {\n        struct {\n            LONG    lMinimum;           /* signed minimum for this control */\n            LONG    lMaximum;           /* signed maximum for this control */\n        };\n        struct {\n            DWORD   dwMinimum;          /* unsigned minimum for this control */\n            DWORD   dwMaximum;          /* unsigned maximum for this control */\n        };\n        DWORD       dwReserved[6];\n    } Bounds;\n    union {\n        DWORD       cSteps;             /* # of steps between min & max */\n        DWORD       cbCustomData;       /* size in bytes of custom data */\n        DWORD       dwReserved[6];      /* !!! needed? we have cbStruct.... */\n    } Metrics;\n} MIXERCONTROL, *PMIXERCONTROL, FAR *LPMIXERCONTROL;\n#endif\n\n/* */\n/*  MIXERCONTROL.fdwControl */\n/* */\n/* */\n#define MIXERCONTROL_CONTROLF_UNIFORM   0x00000001L\n#define MIXERCONTROL_CONTROLF_MULTIPLE  0x00000002L\n#define MIXERCONTROL_CONTROLF_DISABLED  0x80000000L\n\n\n/* */\n/*  MIXERCONTROL_CONTROLTYPE_xxx building block defines */\n/* */\n/* */\n#define MIXERCONTROL_CT_CLASS_MASK          0xF0000000L\n#define MIXERCONTROL_CT_CLASS_CUSTOM        0x00000000L\n#define MIXERCONTROL_CT_CLASS_METER         0x10000000L\n#define MIXERCONTROL_CT_CLASS_SWITCH        0x20000000L\n#define MIXERCONTROL_CT_CLASS_NUMBER        0x30000000L\n#define MIXERCONTROL_CT_CLASS_SLIDER        0x40000000L\n#define MIXERCONTROL_CT_CLASS_FADER         0x50000000L\n#define MIXERCONTROL_CT_CLASS_TIME          0x60000000L\n#define MIXERCONTROL_CT_CLASS_LIST          0x70000000L\n\n\n#define MIXERCONTROL_CT_SUBCLASS_MASK       0x0F000000L\n\n#define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN   0x00000000L\n#define MIXERCONTROL_CT_SC_SWITCH_BUTTON    0x01000000L\n\n#define MIXERCONTROL_CT_SC_METER_POLLED     0x00000000L\n\n#define MIXERCONTROL_CT_SC_TIME_MICROSECS   0x00000000L\n#define MIXERCONTROL_CT_SC_TIME_MILLISECS   0x01000000L\n\n#define MIXERCONTROL_CT_SC_LIST_SINGLE      0x00000000L\n#define MIXERCONTROL_CT_SC_LIST_MULTIPLE    0x01000000L\n\n\n#define MIXERCONTROL_CT_UNITS_MASK          0x00FF0000L\n#define MIXERCONTROL_CT_UNITS_CUSTOM        0x00000000L\n#define MIXERCONTROL_CT_UNITS_BOOLEAN       0x00010000L\n#define MIXERCONTROL_CT_UNITS_SIGNED        0x00020000L\n#define MIXERCONTROL_CT_UNITS_UNSIGNED      0x00030000L\n#define MIXERCONTROL_CT_UNITS_DECIBELS      0x00040000L /* in 10ths */\n#define MIXERCONTROL_CT_UNITS_PERCENT       0x00050000L /* in 10ths */\n\n\n/* */\n/*  Commonly used control types for specifying MIXERCONTROL.dwControlType */\n/* */\n\n#define MIXERCONTROL_CONTROLTYPE_CUSTOM         (MIXERCONTROL_CT_CLASS_CUSTOM | MIXERCONTROL_CT_UNITS_CUSTOM)\n#define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER   (MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_BOOLEAN)\n#define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER    (MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_SIGNED)\n#define MIXERCONTROL_CONTROLTYPE_PEAKMETER      (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1)\n#define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER  (MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_UNSIGNED)\n#define MIXERCONTROL_CONTROLTYPE_BOOLEAN        (MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN | MIXERCONTROL_CT_UNITS_BOOLEAN)\n#define MIXERCONTROL_CONTROLTYPE_ONOFF          (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1)\n#define MIXERCONTROL_CONTROLTYPE_MUTE           (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2)\n#define MIXERCONTROL_CONTROLTYPE_MONO           (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3)\n#define MIXERCONTROL_CONTROLTYPE_LOUDNESS       (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4)\n#define MIXERCONTROL_CONTROLTYPE_STEREOENH      (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5)\n#define MIXERCONTROL_CONTROLTYPE_BASS_BOOST     (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 0x00002277)\n#define MIXERCONTROL_CONTROLTYPE_BUTTON         (MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BUTTON | MIXERCONTROL_CT_UNITS_BOOLEAN)\n#define MIXERCONTROL_CONTROLTYPE_DECIBELS       (MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_DECIBELS)\n#define MIXERCONTROL_CONTROLTYPE_SIGNED         (MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_SIGNED)\n#define MIXERCONTROL_CONTROLTYPE_UNSIGNED       (MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_UNSIGNED)\n#define MIXERCONTROL_CONTROLTYPE_PERCENT        (MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_PERCENT)\n#define MIXERCONTROL_CONTROLTYPE_SLIDER         (MIXERCONTROL_CT_CLASS_SLIDER | MIXERCONTROL_CT_UNITS_SIGNED)\n#define MIXERCONTROL_CONTROLTYPE_PAN            (MIXERCONTROL_CONTROLTYPE_SLIDER + 1)\n#define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN      (MIXERCONTROL_CONTROLTYPE_SLIDER + 2)\n#define MIXERCONTROL_CONTROLTYPE_FADER          (MIXERCONTROL_CT_CLASS_FADER | MIXERCONTROL_CT_UNITS_UNSIGNED)\n#define MIXERCONTROL_CONTROLTYPE_VOLUME         (MIXERCONTROL_CONTROLTYPE_FADER + 1)\n#define MIXERCONTROL_CONTROLTYPE_BASS           (MIXERCONTROL_CONTROLTYPE_FADER + 2)\n#define MIXERCONTROL_CONTROLTYPE_TREBLE         (MIXERCONTROL_CONTROLTYPE_FADER + 3)\n#define MIXERCONTROL_CONTROLTYPE_EQUALIZER      (MIXERCONTROL_CONTROLTYPE_FADER + 4)\n#define MIXERCONTROL_CONTROLTYPE_SINGLESELECT   (MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_SINGLE | MIXERCONTROL_CT_UNITS_BOOLEAN)\n#define MIXERCONTROL_CONTROLTYPE_MUX            (MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1)\n#define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_MULTIPLE | MIXERCONTROL_CT_UNITS_BOOLEAN)\n#define MIXERCONTROL_CONTROLTYPE_MIXER          (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1)\n#define MIXERCONTROL_CONTROLTYPE_MICROTIME      (MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MICROSECS | MIXERCONTROL_CT_UNITS_UNSIGNED)\n#define MIXERCONTROL_CONTROLTYPE_MILLITIME      (MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MILLISECS | MIXERCONTROL_CT_UNITS_UNSIGNED)\n\n/* */\n/*  MIXERLINECONTROLS */\n/* */\n#ifdef _WIN32\n\ntypedef struct tagMIXERLINECONTROLSA {\n    DWORD           cbStruct;       /* size in bytes of MIXERLINECONTROLS */\n    DWORD           dwLineID;       /* line id (from MIXERLINE.dwLineID) */\n    union {\n        DWORD       dwControlID;    /* MIXER_GETLINECONTROLSF_ONEBYID */\n        DWORD       dwControlType;  /* MIXER_GETLINECONTROLSF_ONEBYTYPE */\n    };\n    DWORD           cControls;      /* count of controls pmxctrl points to */\n    DWORD           cbmxctrl;       /* size in bytes of _one_ MIXERCONTROL */\n    LPMIXERCONTROLA pamxctrl;       /* pointer to first MIXERCONTROL array */\n} MIXERLINECONTROLSA, *PMIXERLINECONTROLSA, *LPMIXERLINECONTROLSA;\ntypedef struct tagMIXERLINECONTROLSW {\n    DWORD           cbStruct;       /* size in bytes of MIXERLINECONTROLS */\n    DWORD           dwLineID;       /* line id (from MIXERLINE.dwLineID) */\n    union {\n        DWORD       dwControlID;    /* MIXER_GETLINECONTROLSF_ONEBYID */\n        DWORD       dwControlType;  /* MIXER_GETLINECONTROLSF_ONEBYTYPE */\n    };\n    DWORD           cControls;      /* count of controls pmxctrl points to */\n    DWORD           cbmxctrl;       /* size in bytes of _one_ MIXERCONTROL */\n    LPMIXERCONTROLW pamxctrl;       /* pointer to first MIXERCONTROL array */\n} MIXERLINECONTROLSW, *PMIXERLINECONTROLSW, *LPMIXERLINECONTROLSW;\n#ifdef UNICODE\ntypedef MIXERLINECONTROLSW MIXERLINECONTROLS;\ntypedef PMIXERLINECONTROLSW PMIXERLINECONTROLS;\ntypedef LPMIXERLINECONTROLSW LPMIXERLINECONTROLS;\n#else\ntypedef MIXERLINECONTROLSA MIXERLINECONTROLS;\ntypedef PMIXERLINECONTROLSA PMIXERLINECONTROLS;\ntypedef LPMIXERLINECONTROLSA LPMIXERLINECONTROLS;\n#endif // UNICODE\n\n#else\ntypedef struct tMIXERLINECONTROLS {\n    DWORD           cbStruct;       /* size in bytes of MIXERLINECONTROLS */\n    DWORD           dwLineID;       /* line id (from MIXERLINE.dwLineID) */\n    union {\n        DWORD       dwControlID;    /* MIXER_GETLINECONTROLSF_ONEBYID */\n        DWORD       dwControlType;  /* MIXER_GETLINECONTROLSF_ONEBYTYPE */\n    };\n    DWORD           cControls;      /* count of controls pmxctrl points to */\n    DWORD           cbmxctrl;       /* size in bytes of _one_ MIXERCONTROL */\n    LPMIXERCONTROL  pamxctrl;       /* pointer to first MIXERCONTROL array */\n} MIXERLINECONTROLS, *PMIXERLINECONTROLS, FAR *LPMIXERLINECONTROLS;\n#endif\n\n\n/* */\n/* */\n/* */\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI mixerGetLineControlsA( IN HMIXEROBJ hmxobj, IN OUT LPMIXERLINECONTROLSA pmxlc, IN DWORD fdwControls);\nWINMMAPI MMRESULT WINAPI mixerGetLineControlsW( IN HMIXEROBJ hmxobj, IN OUT LPMIXERLINECONTROLSW pmxlc, IN DWORD fdwControls);\n#ifdef UNICODE\n#define mixerGetLineControls  mixerGetLineControlsW\n#else\n#define mixerGetLineControls  mixerGetLineControlsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI mixerGetLineControls(HMIXEROBJ hmxobj, LPMIXERLINECONTROLS pmxlc, DWORD fdwControls);\n#endif\n\n#define MIXER_GETLINECONTROLSF_ALL          0x00000000L\n#define MIXER_GETLINECONTROLSF_ONEBYID      0x00000001L\n#define MIXER_GETLINECONTROLSF_ONEBYTYPE    0x00000002L\n\n#define MIXER_GETLINECONTROLSF_QUERYMASK    0x0000000FL\n\n\ntypedef struct tMIXERCONTROLDETAILS {\n    DWORD           cbStruct;       /* size in bytes of MIXERCONTROLDETAILS */\n    DWORD           dwControlID;    /* control id to get/set details on */\n    DWORD           cChannels;      /* number of channels in paDetails array */\n    union {\n        HWND        hwndOwner;      /* for MIXER_SETCONTROLDETAILSF_CUSTOM */\n        DWORD       cMultipleItems; /* if _MULTIPLE, the number of items per channel */\n    };\n    DWORD           cbDetails;      /* size of _one_ details_XX struct */\n    LPVOID          paDetails;      /* pointer to array of details_XX structs */\n} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, FAR *LPMIXERCONTROLDETAILS;\n\n\n/* */\n/*  MIXER_GETCONTROLDETAILSF_LISTTEXT */\n/* */\n/* */\n#ifdef _WIN32\n\ntypedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {\n    DWORD           dwParam1;\n    DWORD           dwParam2;\n    CHAR            szName[MIXER_LONG_NAME_CHARS];\n} MIXERCONTROLDETAILS_LISTTEXTA, *PMIXERCONTROLDETAILS_LISTTEXTA, *LPMIXERCONTROLDETAILS_LISTTEXTA;\ntypedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {\n    DWORD           dwParam1;\n    DWORD           dwParam2;\n    WCHAR           szName[MIXER_LONG_NAME_CHARS];\n} MIXERCONTROLDETAILS_LISTTEXTW, *PMIXERCONTROLDETAILS_LISTTEXTW, *LPMIXERCONTROLDETAILS_LISTTEXTW;\n#ifdef UNICODE\ntypedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT;\ntypedef PMIXERCONTROLDETAILS_LISTTEXTW PMIXERCONTROLDETAILS_LISTTEXT;\ntypedef LPMIXERCONTROLDETAILS_LISTTEXTW LPMIXERCONTROLDETAILS_LISTTEXT;\n#else\ntypedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT;\ntypedef PMIXERCONTROLDETAILS_LISTTEXTA PMIXERCONTROLDETAILS_LISTTEXT;\ntypedef LPMIXERCONTROLDETAILS_LISTTEXTA LPMIXERCONTROLDETAILS_LISTTEXT;\n#endif // UNICODE\n\n#else\ntypedef struct tMIXERCONTROLDETAILS_LISTTEXT {\n    DWORD           dwParam1;\n    DWORD           dwParam2;\n    char            szName[MIXER_LONG_NAME_CHARS];\n} MIXERCONTROLDETAILS_LISTTEXT, *PMIXERCONTROLDETAILS_LISTTEXT, FAR *LPMIXERCONTROLDETAILS_LISTTEXT;\n#endif\n\n/* */\n/*  MIXER_GETCONTROLDETAILSF_VALUE */\n/* */\n/* */\ntypedef struct tMIXERCONTROLDETAILS_BOOLEAN {\n    LONG            fValue;\n}       MIXERCONTROLDETAILS_BOOLEAN,\n      *PMIXERCONTROLDETAILS_BOOLEAN,\n FAR *LPMIXERCONTROLDETAILS_BOOLEAN;\n\ntypedef struct tMIXERCONTROLDETAILS_SIGNED {\n    LONG            lValue;\n}       MIXERCONTROLDETAILS_SIGNED,\n      *PMIXERCONTROLDETAILS_SIGNED,\n FAR *LPMIXERCONTROLDETAILS_SIGNED;\n\n\ntypedef struct tMIXERCONTROLDETAILS_UNSIGNED {\n    DWORD           dwValue;\n}       MIXERCONTROLDETAILS_UNSIGNED,\n      *PMIXERCONTROLDETAILS_UNSIGNED,\n FAR *LPMIXERCONTROLDETAILS_UNSIGNED;\n\n\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI mixerGetControlDetailsA( IN HMIXEROBJ hmxobj, IN OUT LPMIXERCONTROLDETAILS pmxcd, IN DWORD fdwDetails);\nWINMMAPI MMRESULT WINAPI mixerGetControlDetailsW( IN HMIXEROBJ hmxobj, IN OUT LPMIXERCONTROLDETAILS pmxcd, IN DWORD fdwDetails);\n#ifdef UNICODE\n#define mixerGetControlDetails  mixerGetControlDetailsW\n#else\n#define mixerGetControlDetails  mixerGetControlDetailsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI mixerGetControlDetails(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails);\n#endif\n\n#define MIXER_GETCONTROLDETAILSF_VALUE      0x00000000L\n#define MIXER_GETCONTROLDETAILSF_LISTTEXT   0x00000001L\n\n#define MIXER_GETCONTROLDETAILSF_QUERYMASK  0x0000000FL\n\n\nWINMMAPI MMRESULT WINAPI mixerSetControlDetails( IN HMIXEROBJ hmxobj, IN LPMIXERCONTROLDETAILS pmxcd, IN DWORD fdwDetails);\n\n#define MIXER_SETCONTROLDETAILSF_VALUE      0x00000000L\n#define MIXER_SETCONTROLDETAILSF_CUSTOM     0x00000001L\n\n#define MIXER_SETCONTROLDETAILSF_QUERYMASK  0x0000000FL\n\n\n#endif /* ifndef MMNOMIXER */\n\n#ifndef MMNOTIMER\n/****************************************************************************\n\n                            Timer support\n\n****************************************************************************/\n\n/* timer error return values */\n#define TIMERR_NOERROR        (0)                  /* no error */\n#define TIMERR_NOCANDO        (TIMERR_BASE+1)      /* request not completed */\n#define TIMERR_STRUCT         (TIMERR_BASE+33)     /* time struct size */\n\n/* timer data types */\ntypedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);\n\ntypedef TIMECALLBACK FAR *LPTIMECALLBACK;\n\n/* flags for fuEvent parameter of timeSetEvent() function */\n#define TIME_ONESHOT    0x0000   /* program timer for single event */\n#define TIME_PERIODIC   0x0001   /* program for continuous periodic event */\n\n#ifdef _WIN32\n#define TIME_CALLBACK_FUNCTION      0x0000  /* callback is function */\n#define TIME_CALLBACK_EVENT_SET     0x0010  /* callback is event - use SetEvent */\n#define TIME_CALLBACK_EVENT_PULSE   0x0020  /* callback is event - use PulseEvent */\n#endif\n\n#if WINVER >= 0x0501\n#define TIME_KILL_SYNCHRONOUS   0x0100  /* This flag prevents the event from occurring */\n                                        /* after the user calls timeKillEvent() to */\n                                        /* destroy it. */\n#endif // WINVER >= 0x0501\n\n\n\n/* timer device capabilities data structure */\ntypedef struct timecaps_tag {\n    UINT    wPeriodMin;     /* minimum period supported  */\n    UINT    wPeriodMax;     /* maximum period supported  */\n} TIMECAPS, *PTIMECAPS, NEAR *NPTIMECAPS, FAR *LPTIMECAPS;\n\n/* timer function prototypes */\nWINMMAPI MMRESULT WINAPI timeGetSystemTime( OUT LPMMTIME pmmt, IN UINT cbmmt);\nWINMMAPI DWORD WINAPI timeGetTime(void);\nWINMMAPI MMRESULT WINAPI timeSetEvent( IN UINT uDelay, IN UINT uResolution,\n    IN LPTIMECALLBACK fptc, IN DWORD_PTR dwUser, IN UINT fuEvent);\nWINMMAPI MMRESULT WINAPI timeKillEvent( IN UINT uTimerID);\nWINMMAPI MMRESULT WINAPI timeGetDevCaps( OUT LPTIMECAPS ptc, IN UINT cbtc);\nWINMMAPI MMRESULT WINAPI timeBeginPeriod( IN UINT uPeriod);\nWINMMAPI MMRESULT WINAPI timeEndPeriod( IN UINT uPeriod);\n\n#endif  /* ifndef MMNOTIMER */\n\n#ifndef MMNOJOY\n/****************************************************************************\n\n                            Joystick support\n\n****************************************************************************/\n\n/* joystick error return values */\n#define JOYERR_NOERROR        (0)                  /* no error */\n#define JOYERR_PARMS          (JOYERR_BASE+5)      /* bad parameters */\n#define JOYERR_NOCANDO        (JOYERR_BASE+6)      /* request not completed */\n#define JOYERR_UNPLUGGED      (JOYERR_BASE+7)      /* joystick is unplugged */\n\n/* constants used with JOYINFO and JOYINFOEX structures and MM_JOY* messages */\n#define JOY_BUTTON1         0x0001\n#define JOY_BUTTON2         0x0002\n#define JOY_BUTTON3         0x0004\n#define JOY_BUTTON4         0x0008\n#define JOY_BUTTON1CHG      0x0100\n#define JOY_BUTTON2CHG      0x0200\n#define JOY_BUTTON3CHG      0x0400\n#define JOY_BUTTON4CHG      0x0800\n\n/* constants used with JOYINFOEX */\n#define JOY_BUTTON5         0x00000010l\n#define JOY_BUTTON6         0x00000020l\n#define JOY_BUTTON7         0x00000040l\n#define JOY_BUTTON8         0x00000080l\n#define JOY_BUTTON9         0x00000100l\n#define JOY_BUTTON10        0x00000200l\n#define JOY_BUTTON11        0x00000400l\n#define JOY_BUTTON12        0x00000800l\n#define JOY_BUTTON13        0x00001000l\n#define JOY_BUTTON14        0x00002000l\n#define JOY_BUTTON15        0x00004000l\n#define JOY_BUTTON16        0x00008000l\n#define JOY_BUTTON17        0x00010000l\n#define JOY_BUTTON18        0x00020000l\n#define JOY_BUTTON19        0x00040000l\n#define JOY_BUTTON20        0x00080000l\n#define JOY_BUTTON21        0x00100000l\n#define JOY_BUTTON22        0x00200000l\n#define JOY_BUTTON23        0x00400000l\n#define JOY_BUTTON24        0x00800000l\n#define JOY_BUTTON25        0x01000000l\n#define JOY_BUTTON26        0x02000000l\n#define JOY_BUTTON27        0x04000000l\n#define JOY_BUTTON28        0x08000000l\n#define JOY_BUTTON29        0x10000000l\n#define JOY_BUTTON30        0x20000000l\n#define JOY_BUTTON31        0x40000000l\n#define JOY_BUTTON32        0x80000000l\n\n/* constants used with JOYINFOEX structure */\n#define JOY_POVCENTERED         (WORD) -1\n#define JOY_POVFORWARD          0\n#define JOY_POVRIGHT            9000\n#define JOY_POVBACKWARD         18000\n#define JOY_POVLEFT             27000\n\n#define JOY_RETURNX             0x00000001l\n#define JOY_RETURNY             0x00000002l\n#define JOY_RETURNZ             0x00000004l\n#define JOY_RETURNR             0x00000008l\n#define JOY_RETURNU             0x00000010l     /* axis 5 */\n#define JOY_RETURNV             0x00000020l     /* axis 6 */\n#define JOY_RETURNPOV           0x00000040l\n#define JOY_RETURNBUTTONS       0x00000080l\n#define JOY_RETURNRAWDATA       0x00000100l\n#define JOY_RETURNPOVCTS        0x00000200l\n#define JOY_RETURNCENTERED      0x00000400l\n#define JOY_USEDEADZONE         0x00000800l\n#define JOY_RETURNALL           (JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | \\\n                                 JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | \\\n                                 JOY_RETURNPOV | JOY_RETURNBUTTONS)\n#define JOY_CAL_READALWAYS      0x00010000l\n#define JOY_CAL_READXYONLY      0x00020000l\n#define JOY_CAL_READ3           0x00040000l\n#define JOY_CAL_READ4           0x00080000l\n#define JOY_CAL_READXONLY       0x00100000l\n#define JOY_CAL_READYONLY       0x00200000l\n#define JOY_CAL_READ5           0x00400000l\n#define JOY_CAL_READ6           0x00800000l\n#define JOY_CAL_READZONLY       0x01000000l\n#define JOY_CAL_READRONLY       0x02000000l\n#define JOY_CAL_READUONLY       0x04000000l\n#define JOY_CAL_READVONLY       0x08000000l\n\n/* joystick ID constants */\n#define JOYSTICKID1         0\n#define JOYSTICKID2         1\n\n/* joystick driver capabilites */\n#define JOYCAPS_HASZ            0x0001\n#define JOYCAPS_HASR            0x0002\n#define JOYCAPS_HASU            0x0004\n#define JOYCAPS_HASV            0x0008\n#define JOYCAPS_HASPOV          0x0010\n#define JOYCAPS_POV4DIR         0x0020\n#define JOYCAPS_POVCTS          0x0040\n\n\n\n/* joystick device capabilities data structure */\n#ifdef _WIN32\n\ntypedef struct tagJOYCAPSA {\n    WORD    wMid;                /* manufacturer ID */\n    WORD    wPid;                /* product ID */\n    CHAR    szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    UINT    wXmin;               /* minimum x position value */\n    UINT    wXmax;               /* maximum x position value */\n    UINT    wYmin;               /* minimum y position value */\n    UINT    wYmax;               /* maximum y position value */\n    UINT    wZmin;               /* minimum z position value */\n    UINT    wZmax;               /* maximum z position value */\n    UINT    wNumButtons;         /* number of buttons */\n    UINT    wPeriodMin;          /* minimum message period when captured */\n    UINT    wPeriodMax;          /* maximum message period when captured */\n#if (WINVER >= 0x0400)\n    UINT    wRmin;               /* minimum r position value */\n    UINT    wRmax;               /* maximum r position value */\n    UINT    wUmin;               /* minimum u (5th axis) position value */\n    UINT    wUmax;               /* maximum u (5th axis) position value */\n    UINT    wVmin;               /* minimum v (6th axis) position value */\n    UINT    wVmax;               /* maximum v (6th axis) position value */\n    UINT    wCaps;               /* joystick capabilites */\n    UINT    wMaxAxes;            /* maximum number of axes supported */\n    UINT    wNumAxes;            /* number of axes in use */\n    UINT    wMaxButtons;         /* maximum number of buttons supported */\n    CHAR    szRegKey[MAXPNAMELEN];/* registry key */\n    CHAR    szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */\n#endif\n} JOYCAPSA, *PJOYCAPSA, *NPJOYCAPSA, *LPJOYCAPSA;\ntypedef struct tagJOYCAPSW {\n    WORD    wMid;                /* manufacturer ID */\n    WORD    wPid;                /* product ID */\n    WCHAR   szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    UINT    wXmin;               /* minimum x position value */\n    UINT    wXmax;               /* maximum x position value */\n    UINT    wYmin;               /* minimum y position value */\n    UINT    wYmax;               /* maximum y position value */\n    UINT    wZmin;               /* minimum z position value */\n    UINT    wZmax;               /* maximum z position value */\n    UINT    wNumButtons;         /* number of buttons */\n    UINT    wPeriodMin;          /* minimum message period when captured */\n    UINT    wPeriodMax;          /* maximum message period when captured */\n#if (WINVER >= 0x0400)\n    UINT    wRmin;               /* minimum r position value */\n    UINT    wRmax;               /* maximum r position value */\n    UINT    wUmin;               /* minimum u (5th axis) position value */\n    UINT    wUmax;               /* maximum u (5th axis) position value */\n    UINT    wVmin;               /* minimum v (6th axis) position value */\n    UINT    wVmax;               /* maximum v (6th axis) position value */\n    UINT    wCaps;               /* joystick capabilites */\n    UINT    wMaxAxes;            /* maximum number of axes supported */\n    UINT    wNumAxes;            /* number of axes in use */\n    UINT    wMaxButtons;         /* maximum number of buttons supported */\n    WCHAR   szRegKey[MAXPNAMELEN];/* registry key */\n    WCHAR   szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */\n#endif\n} JOYCAPSW, *PJOYCAPSW, *NPJOYCAPSW, *LPJOYCAPSW;\n#ifdef UNICODE\ntypedef JOYCAPSW JOYCAPS;\ntypedef PJOYCAPSW PJOYCAPS;\ntypedef NPJOYCAPSW NPJOYCAPS;\ntypedef LPJOYCAPSW LPJOYCAPS;\n#else\ntypedef JOYCAPSA JOYCAPS;\ntypedef PJOYCAPSA PJOYCAPS;\ntypedef NPJOYCAPSA NPJOYCAPS;\ntypedef LPJOYCAPSA LPJOYCAPS;\n#endif // UNICODE\ntypedef struct tagJOYCAPS2A {\n    WORD    wMid;                /* manufacturer ID */\n    WORD    wPid;                /* product ID */\n    CHAR    szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    UINT    wXmin;               /* minimum x position value */\n    UINT    wXmax;               /* maximum x position value */\n    UINT    wYmin;               /* minimum y position value */\n    UINT    wYmax;               /* maximum y position value */\n    UINT    wZmin;               /* minimum z position value */\n    UINT    wZmax;               /* maximum z position value */\n    UINT    wNumButtons;         /* number of buttons */\n    UINT    wPeriodMin;          /* minimum message period when captured */\n    UINT    wPeriodMax;          /* maximum message period when captured */\n    UINT    wRmin;               /* minimum r position value */\n    UINT    wRmax;               /* maximum r position value */\n    UINT    wUmin;               /* minimum u (5th axis) position value */\n    UINT    wUmax;               /* maximum u (5th axis) position value */\n    UINT    wVmin;               /* minimum v (6th axis) position value */\n    UINT    wVmax;               /* maximum v (6th axis) position value */\n    UINT    wCaps;               /* joystick capabilites */\n    UINT    wMaxAxes;            /* maximum number of axes supported */\n    UINT    wNumAxes;            /* number of axes in use */\n    UINT    wMaxButtons;         /* maximum number of buttons supported */\n    CHAR    szRegKey[MAXPNAMELEN];/* registry key */\n    CHAR    szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */\n    GUID    ManufacturerGuid;    /* for extensible MID mapping */\n    GUID    ProductGuid;         /* for extensible PID mapping */\n    GUID    NameGuid;            /* for name lookup in registry */\n} JOYCAPS2A, *PJOYCAPS2A, *NPJOYCAPS2A, *LPJOYCAPS2A;\ntypedef struct tagJOYCAPS2W {\n    WORD    wMid;                /* manufacturer ID */\n    WORD    wPid;                /* product ID */\n    WCHAR   szPname[MAXPNAMELEN];/* product name (NULL terminated string) */\n    UINT    wXmin;               /* minimum x position value */\n    UINT    wXmax;               /* maximum x position value */\n    UINT    wYmin;               /* minimum y position value */\n    UINT    wYmax;               /* maximum y position value */\n    UINT    wZmin;               /* minimum z position value */\n    UINT    wZmax;               /* maximum z position value */\n    UINT    wNumButtons;         /* number of buttons */\n    UINT    wPeriodMin;          /* minimum message period when captured */\n    UINT    wPeriodMax;          /* maximum message period when captured */\n    UINT    wRmin;               /* minimum r position value */\n    UINT    wRmax;               /* maximum r position value */\n    UINT    wUmin;               /* minimum u (5th axis) position value */\n    UINT    wUmax;               /* maximum u (5th axis) position value */\n    UINT    wVmin;               /* minimum v (6th axis) position value */\n    UINT    wVmax;               /* maximum v (6th axis) position value */\n    UINT    wCaps;               /* joystick capabilites */\n    UINT    wMaxAxes;            /* maximum number of axes supported */\n    UINT    wNumAxes;            /* number of axes in use */\n    UINT    wMaxButtons;         /* maximum number of buttons supported */\n    WCHAR   szRegKey[MAXPNAMELEN];/* registry key */\n    WCHAR   szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */\n    GUID    ManufacturerGuid;    /* for extensible MID mapping */\n    GUID    ProductGuid;         /* for extensible PID mapping */\n    GUID    NameGuid;            /* for name lookup in registry */\n} JOYCAPS2W, *PJOYCAPS2W, *NPJOYCAPS2W, *LPJOYCAPS2W;\n#ifdef UNICODE\ntypedef JOYCAPS2W JOYCAPS2;\ntypedef PJOYCAPS2W PJOYCAPS2;\ntypedef NPJOYCAPS2W NPJOYCAPS2;\ntypedef LPJOYCAPS2W LPJOYCAPS2;\n#else\ntypedef JOYCAPS2A JOYCAPS2;\ntypedef PJOYCAPS2A PJOYCAPS2;\ntypedef NPJOYCAPS2A NPJOYCAPS2;\ntypedef LPJOYCAPS2A LPJOYCAPS2;\n#endif // UNICODE\n\n#else\ntypedef struct joycaps_tag {\n    WORD wMid;                  /* manufacturer ID */\n    WORD wPid;                  /* product ID */\n    char szPname[MAXPNAMELEN];  /* product name (NULL terminated string) */\n    UINT wXmin;                 /* minimum x position value */\n    UINT wXmax;                 /* maximum x position value */\n    UINT wYmin;                 /* minimum y position value */\n    UINT wYmax;                 /* maximum y position value */\n    UINT wZmin;                 /* minimum z position value */\n    UINT wZmax;                 /* maximum z position value */\n    UINT wNumButtons;           /* number of buttons */\n    UINT wPeriodMin;            /* minimum message period when captured */\n    UINT wPeriodMax;            /* maximum message period when captured */\n#if (WINVER >= 0x0400)\n    UINT wRmin;                 /* minimum r position value */\n    UINT wRmax;                 /* maximum r position value */\n    UINT wUmin;                 /* minimum u (5th axis) position value */\n    UINT wUmax;                 /* maximum u (5th axis) position value */\n    UINT wVmin;                 /* minimum v (6th axis) position value */\n    UINT wVmax;                 /* maximum v (6th axis) position value */\n    UINT wCaps;                 /* joystick capabilites */\n    UINT wMaxAxes;              /* maximum number of axes supported */\n    UINT wNumAxes;              /* number of axes in use */\n    UINT wMaxButtons;           /* maximum number of buttons supported */\n    char szRegKey[MAXPNAMELEN]; /* registry key */\n    char szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; /* OEM VxD in use */\n#endif\n} JOYCAPS, *PJOYCAPS, NEAR *NPJOYCAPS, FAR *LPJOYCAPS;\n#endif\n\n\n/* joystick information data structure */\ntypedef struct joyinfo_tag {\n    UINT wXpos;                 /* x position */\n    UINT wYpos;                 /* y position */\n    UINT wZpos;                 /* z position */\n    UINT wButtons;              /* button states */\n} JOYINFO, *PJOYINFO, NEAR *NPJOYINFO, FAR *LPJOYINFO;\n\n#if(WINVER >= 0x0400)\ntypedef struct joyinfoex_tag {\n    DWORD dwSize;                /* size of structure */\n    DWORD dwFlags;               /* flags to indicate what to return */\n    DWORD dwXpos;                /* x position */\n    DWORD dwYpos;                /* y position */\n    DWORD dwZpos;                /* z position */\n    DWORD dwRpos;                /* rudder/4th axis position */\n    DWORD dwUpos;                /* 5th axis position */\n    DWORD dwVpos;                /* 6th axis position */\n    DWORD dwButtons;             /* button states */\n    DWORD dwButtonNumber;        /* current button number pressed */\n    DWORD dwPOV;                 /* point of view state */\n    DWORD dwReserved1;           /* reserved for communication between winmm & driver */\n    DWORD dwReserved2;           /* reserved for future expansion */\n} JOYINFOEX, *PJOYINFOEX, NEAR *NPJOYINFOEX, FAR *LPJOYINFOEX;\n#endif /* WINVER >= 0x0400 */\n\n/* joystick function prototypes */\nWINMMAPI UINT WINAPI joyGetNumDevs(void);\n#ifdef _WIN32\n\nWINMMAPI MMRESULT WINAPI joyGetDevCapsA( IN UINT_PTR uJoyID, OUT LPJOYCAPSA pjc, IN UINT cbjc);\nWINMMAPI MMRESULT WINAPI joyGetDevCapsW( IN UINT_PTR uJoyID, OUT LPJOYCAPSW pjc, IN UINT cbjc);\n#ifdef UNICODE\n#define joyGetDevCaps  joyGetDevCapsW\n#else\n#define joyGetDevCaps  joyGetDevCapsA\n#endif // !UNICODE\n\n#else\nMMRESULT WINAPI joyGetDevCaps(UINT uJoyID, LPJOYCAPS pjc, UINT cbjc);\n#endif\nWINMMAPI MMRESULT WINAPI joyGetPos( IN UINT uJoyID, OUT LPJOYINFO pji);\n\n#if(WINVER >= 0x0400)\nWINMMAPI MMRESULT WINAPI joyGetPosEx( IN UINT uJoyID, OUT LPJOYINFOEX pji);\n#endif /* WINVER >= 0x0400 */\n\nWINMMAPI MMRESULT WINAPI joyGetThreshold( IN UINT uJoyID, OUT LPUINT puThreshold);\nWINMMAPI MMRESULT WINAPI joyReleaseCapture( IN UINT uJoyID);\nWINMMAPI MMRESULT WINAPI joySetCapture( IN HWND hwnd, IN UINT uJoyID, IN UINT uPeriod,\n    IN BOOL fChanged);\nWINMMAPI MMRESULT WINAPI joySetThreshold( IN UINT uJoyID, IN UINT uThreshold);\n\n\n#endif  /* ifndef MMNOJOY */\n\n#ifndef MMNOMMIO\n/****************************************************************************\n\n                        Multimedia File I/O support\n\n****************************************************************************/\n\n/* MMIO error return values */\n#define MMIOERR_BASE                256\n#define MMIOERR_FILENOTFOUND        (MMIOERR_BASE + 1)  /* file not found */\n#define MMIOERR_OUTOFMEMORY         (MMIOERR_BASE + 2)  /* out of memory */\n#define MMIOERR_CANNOTOPEN          (MMIOERR_BASE + 3)  /* cannot open */\n#define MMIOERR_CANNOTCLOSE         (MMIOERR_BASE + 4)  /* cannot close */\n#define MMIOERR_CANNOTREAD          (MMIOERR_BASE + 5)  /* cannot read */\n#define MMIOERR_CANNOTWRITE         (MMIOERR_BASE + 6)  /* cannot write */\n#define MMIOERR_CANNOTSEEK          (MMIOERR_BASE + 7)  /* cannot seek */\n#define MMIOERR_CANNOTEXPAND        (MMIOERR_BASE + 8)  /* cannot expand file */\n#define MMIOERR_CHUNKNOTFOUND       (MMIOERR_BASE + 9)  /* chunk not found */\n#define MMIOERR_UNBUFFERED          (MMIOERR_BASE + 10) /*  */\n#define MMIOERR_PATHNOTFOUND        (MMIOERR_BASE + 11) /* path incorrect */\n#define MMIOERR_ACCESSDENIED        (MMIOERR_BASE + 12) /* file was protected */\n#define MMIOERR_SHARINGVIOLATION    (MMIOERR_BASE + 13) /* file in use */\n#define MMIOERR_NETWORKERROR        (MMIOERR_BASE + 14) /* network not responding */\n#define MMIOERR_TOOMANYOPENFILES    (MMIOERR_BASE + 15) /* no more file handles  */\n#define MMIOERR_INVALIDFILE         (MMIOERR_BASE + 16) /* default error file error */\n\n/* MMIO constants */\n#define CFSEPCHAR       '+'             /* compound file name separator char. */\n\n/* MMIO data types */\ntypedef DWORD           FOURCC;         /* a four character code */\ntypedef char _huge *    HPSTR;          /* a huge version of LPSTR */\nDECLARE_HANDLE(HMMIO);                  /* a handle to an open file */\ntypedef LRESULT (CALLBACK MMIOPROC)(LPSTR lpmmioinfo, UINT uMsg,\n            LPARAM lParam1, LPARAM lParam2);\ntypedef MMIOPROC FAR *LPMMIOPROC;\n\n\n/* general MMIO information data structure */\ntypedef struct _MMIOINFO\n{\n        /* general fields */\n        DWORD           dwFlags;        /* general status flags */\n        FOURCC          fccIOProc;      /* pointer to I/O procedure */\n        LPMMIOPROC      pIOProc;        /* pointer to I/O procedure */\n        UINT            wErrorRet;      /* place for error to be returned */\n        HTASK           htask;          /* alternate local task */\n\n        /* fields maintained by MMIO functions during buffered I/O */\n        LONG            cchBuffer;      /* size of I/O buffer (or 0L) */\n        HPSTR           pchBuffer;      /* start of I/O buffer (or NULL) */\n        HPSTR           pchNext;        /* pointer to next byte to read/write */\n        HPSTR           pchEndRead;     /* pointer to last valid byte to read */\n        HPSTR           pchEndWrite;    /* pointer to last byte to write */\n        LONG            lBufOffset;     /* disk offset of start of buffer */\n\n        /* fields maintained by I/O procedure */\n        LONG            lDiskOffset;    /* disk offset of next read or write */\n        DWORD           adwInfo[3];     /* data specific to type of MMIOPROC */\n\n        /* other fields maintained by MMIO */\n        DWORD           dwReserved1;    /* reserved for MMIO use */\n        DWORD           dwReserved2;    /* reserved for MMIO use */\n        HMMIO           hmmio;          /* handle to open file */\n} MMIOINFO, *PMMIOINFO, NEAR *NPMMIOINFO, FAR *LPMMIOINFO;\ntypedef const MMIOINFO FAR *LPCMMIOINFO;\n\n/* RIFF chunk information data structure */\ntypedef struct _MMCKINFO\n{\n        FOURCC          ckid;           /* chunk ID */\n        DWORD           cksize;         /* chunk size */\n        FOURCC          fccType;        /* form type or list type */\n        DWORD           dwDataOffset;   /* offset of data portion of chunk */\n        DWORD           dwFlags;        /* flags used by MMIO functions */\n} MMCKINFO, *PMMCKINFO, NEAR *NPMMCKINFO, FAR *LPMMCKINFO;\ntypedef const MMCKINFO *LPCMMCKINFO;\n\n/* bit field masks */\n#define MMIO_RWMODE     0x00000003      /* open file for reading/writing/both */\n#define MMIO_SHAREMODE  0x00000070      /* file sharing mode number */\n\n/* constants for dwFlags field of MMIOINFO */\n#define MMIO_CREATE     0x00001000      /* create new file (or truncate file) */\n#define MMIO_PARSE      0x00000100      /* parse new file returning path */\n#define MMIO_DELETE     0x00000200      /* create new file (or truncate file) */\n#define MMIO_EXIST      0x00004000      /* checks for existence of file */\n#define MMIO_ALLOCBUF   0x00010000      /* mmioOpen() should allocate a buffer */\n#define MMIO_GETTEMP    0x00020000      /* mmioOpen() should retrieve temp name */\n\n#define MMIO_DIRTY      0x10000000      /* I/O buffer is dirty */\n\n\n/* read/write mode numbers (bit field MMIO_RWMODE) */\n#define MMIO_READ       0x00000000      /* open file for reading only */\n#define MMIO_WRITE      0x00000001      /* open file for writing only */\n#define MMIO_READWRITE  0x00000002      /* open file for reading and writing */\n\n/* share mode numbers (bit field MMIO_SHAREMODE) */\n#define MMIO_COMPAT     0x00000000      /* compatibility mode */\n#define MMIO_EXCLUSIVE  0x00000010      /* exclusive-access mode */\n#define MMIO_DENYWRITE  0x00000020      /* deny writing to other processes */\n#define MMIO_DENYREAD   0x00000030      /* deny reading to other processes */\n#define MMIO_DENYNONE   0x00000040      /* deny nothing to other processes */\n\n/* various MMIO flags */\n#define MMIO_FHOPEN             0x0010  /* mmioClose: keep file handle open */\n#define MMIO_EMPTYBUF           0x0010  /* mmioFlush: empty the I/O buffer */\n#define MMIO_TOUPPER            0x0010  /* mmioStringToFOURCC: to u-case */\n#define MMIO_INSTALLPROC    0x00010000  /* mmioInstallIOProc: install MMIOProc */\n#define MMIO_GLOBALPROC     0x10000000  /* mmioInstallIOProc: install globally */\n#define MMIO_REMOVEPROC     0x00020000  /* mmioInstallIOProc: remove MMIOProc */\n#define MMIO_UNICODEPROC    0x01000000  /* mmioInstallIOProc: Unicode MMIOProc */\n#define MMIO_FINDPROC       0x00040000  /* mmioInstallIOProc: find an MMIOProc */\n#define MMIO_FINDCHUNK          0x0010  /* mmioDescend: find a chunk by ID */\n#define MMIO_FINDRIFF           0x0020  /* mmioDescend: find a LIST chunk */\n#define MMIO_FINDLIST           0x0040  /* mmioDescend: find a RIFF chunk */\n#define MMIO_CREATERIFF         0x0020  /* mmioCreateChunk: make a LIST chunk */\n#define MMIO_CREATELIST         0x0040  /* mmioCreateChunk: make a RIFF chunk */\n\n\n/* message numbers for MMIOPROC I/O procedure functions */\n#define MMIOM_READ      MMIO_READ       /* read */\n#define MMIOM_WRITE    MMIO_WRITE       /* write */\n#define MMIOM_SEEK              2       /* seek to a new position in file */\n#define MMIOM_OPEN              3       /* open file */\n#define MMIOM_CLOSE             4       /* close file */\n#define MMIOM_WRITEFLUSH        5       /* write and flush */\n\n#if (WINVER >= 0x030a)\n#define MMIOM_RENAME            6       /* rename specified file */\n#endif /* ifdef WINVER >= 0x030a */\n\n#define MMIOM_USER         0x8000       /* beginning of user-defined messages */\n\n/* standard four character codes */\n#define FOURCC_RIFF     mmioFOURCC('R', 'I', 'F', 'F')\n#define FOURCC_LIST     mmioFOURCC('L', 'I', 'S', 'T')\n\n/* four character codes used to identify standard built-in I/O procedures */\n#define FOURCC_DOS      mmioFOURCC('D', 'O', 'S', ' ')\n#define FOURCC_MEM      mmioFOURCC('M', 'E', 'M', ' ')\n\n/* flags for mmioSeek() */\n#ifndef SEEK_SET\n#define SEEK_SET        0               /* seek to an absolute position */\n#define SEEK_CUR        1               /* seek relative to current position */\n#define SEEK_END        2               /* seek relative to end of file */\n#endif  /* ifndef SEEK_SET */\n\n/* other constants */\n#define MMIO_DEFAULTBUFFER      8192    /* default buffer size */\n\n/* MMIO macros */\n#define mmioFOURCC(ch0, ch1, ch2, ch3)  MAKEFOURCC(ch0, ch1, ch2, ch3)\n\n/* MMIO function prototypes */\n#ifdef _WIN32\n\nWINMMAPI FOURCC WINAPI mmioStringToFOURCCA( IN LPCSTR sz, IN UINT uFlags);\nWINMMAPI FOURCC WINAPI mmioStringToFOURCCW( IN LPCWSTR sz, IN UINT uFlags);\n#ifdef UNICODE\n#define mmioStringToFOURCC  mmioStringToFOURCCW\n#else\n#define mmioStringToFOURCC  mmioStringToFOURCCA\n#endif // !UNICODE\nWINMMAPI LPMMIOPROC WINAPI mmioInstallIOProcA( IN FOURCC fccIOProc, IN LPMMIOPROC pIOProc, IN DWORD dwFlags);\nWINMMAPI LPMMIOPROC WINAPI mmioInstallIOProcW( IN FOURCC fccIOProc, IN LPMMIOPROC pIOProc, IN DWORD dwFlags);\n#ifdef UNICODE\n#define mmioInstallIOProc  mmioInstallIOProcW\n#else\n#define mmioInstallIOProc  mmioInstallIOProcA\n#endif // !UNICODE\nWINMMAPI HMMIO WINAPI mmioOpenA( IN OUT LPSTR pszFileName, IN OUT LPMMIOINFO pmmioinfo, IN DWORD fdwOpen);\nWINMMAPI HMMIO WINAPI mmioOpenW( IN OUT LPWSTR pszFileName, IN OUT LPMMIOINFO pmmioinfo, IN DWORD fdwOpen);\n#ifdef UNICODE\n#define mmioOpen  mmioOpenW\n#else\n#define mmioOpen  mmioOpenA\n#endif // !UNICODE\nWINMMAPI MMRESULT WINAPI mmioRenameA( IN LPCSTR pszFileName, IN LPCSTR pszNewFileName, IN LPCMMIOINFO pmmioinfo, IN DWORD fdwRename);\nWINMMAPI MMRESULT WINAPI mmioRenameW( IN LPCWSTR pszFileName, IN LPCWSTR pszNewFileName, IN LPCMMIOINFO pmmioinfo, IN DWORD fdwRename);\n#ifdef UNICODE\n#define mmioRename  mmioRenameW\n#else\n#define mmioRename  mmioRenameA\n#endif // !UNICODE\n#else\nFOURCC WINAPI mmioStringToFOURCC( LPCSTR sz, UINT uFlags);\nLPMMIOPROC WINAPI mmioInstallIOProc( FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags);\nHMMIO WINAPI mmioOpen(LPSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen);\n#if (WINVER >= 0x030a)\nMMRESULT WINAPI mmioRename( IN LPCSTR pszFileName, IN LPCSTR pszNewFileName, IN const MMIOINFO FAR* pmmioinfo, IN DWORD fdwRename);\n#endif /* ifdef WINVER >= 0x030a */\n#endif\n\nWINMMAPI MMRESULT WINAPI mmioClose( IN HMMIO hmmio, IN UINT fuClose);\nWINMMAPI LONG WINAPI mmioRead( IN HMMIO hmmio, OUT HPSTR pch, IN LONG cch);\nWINMMAPI LONG WINAPI mmioWrite( IN HMMIO hmmio, IN const char _huge* pch, IN LONG cch);\nWINMMAPI LONG WINAPI mmioSeek( IN HMMIO hmmio, IN LONG lOffset, IN int iOrigin);\nWINMMAPI MMRESULT WINAPI mmioGetInfo( IN HMMIO hmmio, OUT LPMMIOINFO pmmioinfo, IN UINT fuInfo);\nWINMMAPI MMRESULT WINAPI mmioSetInfo( IN HMMIO hmmio, IN LPCMMIOINFO pmmioinfo, IN UINT fuInfo);\nWINMMAPI MMRESULT WINAPI mmioSetBuffer( IN HMMIO hmmio, IN LPSTR pchBuffer, IN LONG cchBuffer,\n    IN UINT fuBuffer);\nWINMMAPI MMRESULT WINAPI mmioFlush( IN HMMIO hmmio, IN UINT fuFlush);\nWINMMAPI MMRESULT WINAPI mmioAdvance( IN HMMIO hmmio, IN OUT LPMMIOINFO pmmioinfo, IN UINT fuAdvance);\nWINMMAPI LRESULT WINAPI mmioSendMessage( IN HMMIO hmmio, IN UINT uMsg,\n    IN LPARAM lParam1, IN LPARAM lParam2);\nWINMMAPI MMRESULT WINAPI mmioDescend( IN HMMIO hmmio, IN OUT LPMMCKINFO pmmcki,\n    IN const MMCKINFO FAR* pmmckiParent, IN UINT fuDescend);\nWINMMAPI MMRESULT WINAPI mmioAscend( IN HMMIO hmmio, IN LPMMCKINFO pmmcki, IN UINT fuAscend);\nWINMMAPI MMRESULT WINAPI mmioCreateChunk(IN HMMIO hmmio, IN LPMMCKINFO pmmcki, IN UINT fuCreate);\n\n#endif  /* ifndef MMNOMMIO */\n\n#ifndef MMNOMCI\n/****************************************************************************\n\n                            MCI support\n\n****************************************************************************/\n\n#ifndef _MCIERROR_              /* MCIERROR is defined in some post 3.1 apps */\n#define _MCIERROR_\ntypedef DWORD   MCIERROR;       /* error return code, 0 means no error */\n#endif\n\n#ifndef _MCIDEVICEID_           /* Same with MCIDEVICEID */\n#define _MCIDEVICEID_\ntypedef UINT    MCIDEVICEID;    /* MCI device ID type */\n#endif\n\n\ntypedef UINT (CALLBACK *YIELDPROC)(MCIDEVICEID mciId, DWORD dwYieldData);\n\n/* MCI function prototypes */\n#ifdef _WIN32\n\nWINMMAPI MCIERROR WINAPI mciSendCommandA( IN MCIDEVICEID mciId, IN UINT uMsg, IN DWORD_PTR dwParam1, IN DWORD_PTR dwParam2);\nWINMMAPI MCIERROR WINAPI mciSendCommandW( IN MCIDEVICEID mciId, IN UINT uMsg, IN DWORD_PTR dwParam1, IN DWORD_PTR dwParam2);\n#ifdef UNICODE\n#define mciSendCommand  mciSendCommandW\n#else\n#define mciSendCommand  mciSendCommandA\n#endif // !UNICODE\nWINMMAPI MCIERROR  WINAPI mciSendStringA( IN LPCSTR lpstrCommand, OUT LPSTR lpstrReturnString, IN UINT uReturnLength, IN HWND hwndCallback);\nWINMMAPI MCIERROR  WINAPI mciSendStringW( IN LPCWSTR lpstrCommand, OUT LPWSTR lpstrReturnString, IN UINT uReturnLength, IN HWND hwndCallback);\n#ifdef UNICODE\n#define mciSendString  mciSendStringW\n#else\n#define mciSendString  mciSendStringA\n#endif // !UNICODE\nWINMMAPI MCIDEVICEID WINAPI mciGetDeviceIDA( IN LPCSTR pszDevice);\nWINMMAPI MCIDEVICEID WINAPI mciGetDeviceIDW( IN LPCWSTR pszDevice);\n#ifdef UNICODE\n#define mciGetDeviceID  mciGetDeviceIDW\n#else\n#define mciGetDeviceID  mciGetDeviceIDA\n#endif // !UNICODE\nWINMMAPI MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA( IN DWORD dwElementID, IN LPCSTR lpstrType );\nWINMMAPI MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW( IN DWORD dwElementID, IN LPCWSTR lpstrType );\n#ifdef UNICODE\n#define mciGetDeviceIDFromElementID  mciGetDeviceIDFromElementIDW\n#else\n#define mciGetDeviceIDFromElementID  mciGetDeviceIDFromElementIDA\n#endif // !UNICODE\nWINMMAPI BOOL WINAPI mciGetErrorStringA( IN MCIERROR mcierr, OUT LPSTR pszText, IN UINT cchText);\nWINMMAPI BOOL WINAPI mciGetErrorStringW( IN MCIERROR mcierr, OUT LPWSTR pszText, IN UINT cchText);\n#ifdef UNICODE\n#define mciGetErrorString  mciGetErrorStringW\n#else\n#define mciGetErrorString  mciGetErrorStringA\n#endif // !UNICODE\n\n#else\nMCIERROR WINAPI mciSendCommand(MCIDEVICEID mciId, UINT uMsg, DWORD dwParam1, DWORD dwParam2);\nMCIERROR  WINAPI mciSendString(LPCSTR lpstrCommand, LPSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback);\nMCIDEVICEID WINAPI mciGetDeviceID(LPCSTR pszDevice);\nBOOL WINAPI mciGetErrorString(MCIERROR mcierr, LPSTR pszText, UINT cchText);\n#endif\n\nWINMMAPI BOOL WINAPI mciSetYieldProc( IN MCIDEVICEID mciId, IN YIELDPROC fpYieldProc,\n    IN DWORD dwYieldData);\n\n#if (WINVER >= 0x030a)\nWINMMAPI HTASK WINAPI mciGetCreatorTask( IN MCIDEVICEID mciId);\nWINMMAPI YIELDPROC WINAPI mciGetYieldProc( IN MCIDEVICEID mciId, IN LPDWORD pdwYieldData);\n#endif /* ifdef WINVER >= 0x030a */\n\n#if (WINVER < 0x030a)\nWINMMAPI BOOL WINAPI mciExecute(LPCSTR pszCommand);\n#endif /* ifdef WINVER < 0x030a */\n\n/* MCI error return values */\n#define MCIERR_INVALID_DEVICE_ID        (MCIERR_BASE + 1)\n#define MCIERR_UNRECOGNIZED_KEYWORD     (MCIERR_BASE + 3)\n#define MCIERR_UNRECOGNIZED_COMMAND     (MCIERR_BASE + 5)\n#define MCIERR_HARDWARE                 (MCIERR_BASE + 6)\n#define MCIERR_INVALID_DEVICE_NAME      (MCIERR_BASE + 7)\n#define MCIERR_OUT_OF_MEMORY            (MCIERR_BASE + 8)\n#define MCIERR_DEVICE_OPEN              (MCIERR_BASE + 9)\n#define MCIERR_CANNOT_LOAD_DRIVER       (MCIERR_BASE + 10)\n#define MCIERR_MISSING_COMMAND_STRING   (MCIERR_BASE + 11)\n#define MCIERR_PARAM_OVERFLOW           (MCIERR_BASE + 12)\n#define MCIERR_MISSING_STRING_ARGUMENT  (MCIERR_BASE + 13)\n#define MCIERR_BAD_INTEGER              (MCIERR_BASE + 14)\n#define MCIERR_PARSER_INTERNAL          (MCIERR_BASE + 15)\n#define MCIERR_DRIVER_INTERNAL          (MCIERR_BASE + 16)\n#define MCIERR_MISSING_PARAMETER        (MCIERR_BASE + 17)\n#define MCIERR_UNSUPPORTED_FUNCTION     (MCIERR_BASE + 18)\n#define MCIERR_FILE_NOT_FOUND           (MCIERR_BASE + 19)\n#define MCIERR_DEVICE_NOT_READY         (MCIERR_BASE + 20)\n#define MCIERR_INTERNAL                 (MCIERR_BASE + 21)\n#define MCIERR_DRIVER                   (MCIERR_BASE + 22)\n#define MCIERR_CANNOT_USE_ALL           (MCIERR_BASE + 23)\n#define MCIERR_MULTIPLE                 (MCIERR_BASE + 24)\n#define MCIERR_EXTENSION_NOT_FOUND      (MCIERR_BASE + 25)\n#define MCIERR_OUTOFRANGE               (MCIERR_BASE + 26)\n#define MCIERR_FLAGS_NOT_COMPATIBLE     (MCIERR_BASE + 28)\n#define MCIERR_FILE_NOT_SAVED           (MCIERR_BASE + 30)\n#define MCIERR_DEVICE_TYPE_REQUIRED     (MCIERR_BASE + 31)\n#define MCIERR_DEVICE_LOCKED            (MCIERR_BASE + 32)\n#define MCIERR_DUPLICATE_ALIAS          (MCIERR_BASE + 33)\n#define MCIERR_BAD_CONSTANT             (MCIERR_BASE + 34)\n#define MCIERR_MUST_USE_SHAREABLE       (MCIERR_BASE + 35)\n#define MCIERR_MISSING_DEVICE_NAME      (MCIERR_BASE + 36)\n#define MCIERR_BAD_TIME_FORMAT          (MCIERR_BASE + 37)\n#define MCIERR_NO_CLOSING_QUOTE         (MCIERR_BASE + 38)\n#define MCIERR_DUPLICATE_FLAGS          (MCIERR_BASE + 39)\n#define MCIERR_INVALID_FILE             (MCIERR_BASE + 40)\n#define MCIERR_NULL_PARAMETER_BLOCK     (MCIERR_BASE + 41)\n#define MCIERR_UNNAMED_RESOURCE         (MCIERR_BASE + 42)\n#define MCIERR_NEW_REQUIRES_ALIAS       (MCIERR_BASE + 43)\n#define MCIERR_NOTIFY_ON_AUTO_OPEN      (MCIERR_BASE + 44)\n#define MCIERR_NO_ELEMENT_ALLOWED       (MCIERR_BASE + 45)\n#define MCIERR_NONAPPLICABLE_FUNCTION   (MCIERR_BASE + 46)\n#define MCIERR_ILLEGAL_FOR_AUTO_OPEN    (MCIERR_BASE + 47)\n#define MCIERR_FILENAME_REQUIRED        (MCIERR_BASE + 48)\n#define MCIERR_EXTRA_CHARACTERS         (MCIERR_BASE + 49)\n#define MCIERR_DEVICE_NOT_INSTALLED     (MCIERR_BASE + 50)\n#define MCIERR_GET_CD                   (MCIERR_BASE + 51)\n#define MCIERR_SET_CD                   (MCIERR_BASE + 52)\n#define MCIERR_SET_DRIVE                (MCIERR_BASE + 53)\n#define MCIERR_DEVICE_LENGTH            (MCIERR_BASE + 54)\n#define MCIERR_DEVICE_ORD_LENGTH        (MCIERR_BASE + 55)\n#define MCIERR_NO_INTEGER               (MCIERR_BASE + 56)\n\n#define MCIERR_WAVE_OUTPUTSINUSE        (MCIERR_BASE + 64)\n#define MCIERR_WAVE_SETOUTPUTINUSE      (MCIERR_BASE + 65)\n#define MCIERR_WAVE_INPUTSINUSE         (MCIERR_BASE + 66)\n#define MCIERR_WAVE_SETINPUTINUSE       (MCIERR_BASE + 67)\n#define MCIERR_WAVE_OUTPUTUNSPECIFIED   (MCIERR_BASE + 68)\n#define MCIERR_WAVE_INPUTUNSPECIFIED    (MCIERR_BASE + 69)\n#define MCIERR_WAVE_OUTPUTSUNSUITABLE   (MCIERR_BASE + 70)\n#define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE + 71)\n#define MCIERR_WAVE_INPUTSUNSUITABLE    (MCIERR_BASE + 72)\n#define MCIERR_WAVE_SETINPUTUNSUITABLE  (MCIERR_BASE + 73)\n\n#define MCIERR_SEQ_DIV_INCOMPATIBLE     (MCIERR_BASE + 80)\n#define MCIERR_SEQ_PORT_INUSE           (MCIERR_BASE + 81)\n#define MCIERR_SEQ_PORT_NONEXISTENT     (MCIERR_BASE + 82)\n#define MCIERR_SEQ_PORT_MAPNODEVICE     (MCIERR_BASE + 83)\n#define MCIERR_SEQ_PORT_MISCERROR       (MCIERR_BASE + 84)\n#define MCIERR_SEQ_TIMER                (MCIERR_BASE + 85)\n#define MCIERR_SEQ_PORTUNSPECIFIED      (MCIERR_BASE + 86)\n#define MCIERR_SEQ_NOMIDIPRESENT        (MCIERR_BASE + 87)\n\n#define MCIERR_NO_WINDOW                (MCIERR_BASE + 90)\n#define MCIERR_CREATEWINDOW             (MCIERR_BASE + 91)\n#define MCIERR_FILE_READ                (MCIERR_BASE + 92)\n#define MCIERR_FILE_WRITE               (MCIERR_BASE + 93)\n\n#define MCIERR_NO_IDENTITY              (MCIERR_BASE + 94)\n\n/* all custom device driver errors must be >= than this value */\n#define MCIERR_CUSTOM_DRIVER_BASE       (MCIERR_BASE + 256)\n\n#define MCI_FIRST                       DRV_MCI_FIRST   /* 0x0800 */\n/* MCI command message identifiers */\n#define MCI_OPEN                        0x0803\n#define MCI_CLOSE                       0x0804\n#define MCI_ESCAPE                      0x0805\n#define MCI_PLAY                        0x0806\n#define MCI_SEEK                        0x0807\n#define MCI_STOP                        0x0808\n#define MCI_PAUSE                       0x0809\n#define MCI_INFO                        0x080A\n#define MCI_GETDEVCAPS                  0x080B\n#define MCI_SPIN                        0x080C\n#define MCI_SET                         0x080D\n#define MCI_STEP                        0x080E\n#define MCI_RECORD                      0x080F\n#define MCI_SYSINFO                     0x0810\n#define MCI_BREAK                       0x0811\n#define MCI_SAVE                        0x0813\n#define MCI_STATUS                      0x0814\n#define MCI_CUE                         0x0830\n#define MCI_REALIZE                     0x0840\n#define MCI_WINDOW                      0x0841\n#define MCI_PUT                         0x0842\n#define MCI_WHERE                       0x0843\n#define MCI_FREEZE                      0x0844\n#define MCI_UNFREEZE                    0x0845\n#define MCI_LOAD                        0x0850\n#define MCI_CUT                         0x0851\n#define MCI_COPY                        0x0852\n#define MCI_PASTE                       0x0853\n#define MCI_UPDATE                      0x0854\n#define MCI_RESUME                      0x0855\n#define MCI_DELETE                      0x0856\n\n/* all custom MCI command messages must be >= than this value */\n#define MCI_USER_MESSAGES               (DRV_MCI_FIRST + 0x400)\n#define MCI_LAST                        0x0FFF\n\n\n/* device ID for \"all devices\" */\n#define MCI_ALL_DEVICE_ID               ((MCIDEVICEID)-1)\n\n/* constants for predefined MCI device types */\n#define MCI_DEVTYPE_VCR                 513 /* (MCI_STRING_OFFSET + 1) */\n#define MCI_DEVTYPE_VIDEODISC           514 /* (MCI_STRING_OFFSET + 2) */\n#define MCI_DEVTYPE_OVERLAY             515 /* (MCI_STRING_OFFSET + 3) */\n#define MCI_DEVTYPE_CD_AUDIO            516 /* (MCI_STRING_OFFSET + 4) */\n#define MCI_DEVTYPE_DAT                 517 /* (MCI_STRING_OFFSET + 5) */\n#define MCI_DEVTYPE_SCANNER             518 /* (MCI_STRING_OFFSET + 6) */\n#define MCI_DEVTYPE_ANIMATION           519 /* (MCI_STRING_OFFSET + 7) */\n#define MCI_DEVTYPE_DIGITAL_VIDEO       520 /* (MCI_STRING_OFFSET + 8) */\n#define MCI_DEVTYPE_OTHER               521 /* (MCI_STRING_OFFSET + 9) */\n#define MCI_DEVTYPE_WAVEFORM_AUDIO      522 /* (MCI_STRING_OFFSET + 10) */\n#define MCI_DEVTYPE_SEQUENCER           523 /* (MCI_STRING_OFFSET + 11) */\n\n#define MCI_DEVTYPE_FIRST               MCI_DEVTYPE_VCR\n#define MCI_DEVTYPE_LAST                MCI_DEVTYPE_SEQUENCER\n\n#define MCI_DEVTYPE_FIRST_USER          0x1000\n/* return values for 'status mode' command */\n#define MCI_MODE_NOT_READY              (MCI_STRING_OFFSET + 12)\n#define MCI_MODE_STOP                   (MCI_STRING_OFFSET + 13)\n#define MCI_MODE_PLAY                   (MCI_STRING_OFFSET + 14)\n#define MCI_MODE_RECORD                 (MCI_STRING_OFFSET + 15)\n#define MCI_MODE_SEEK                   (MCI_STRING_OFFSET + 16)\n#define MCI_MODE_PAUSE                  (MCI_STRING_OFFSET + 17)\n#define MCI_MODE_OPEN                   (MCI_STRING_OFFSET + 18)\n\n/* constants used in 'set time format' and 'status time format' commands */\n#define MCI_FORMAT_MILLISECONDS         0\n#define MCI_FORMAT_HMS                  1\n#define MCI_FORMAT_MSF                  2\n#define MCI_FORMAT_FRAMES               3\n#define MCI_FORMAT_SMPTE_24             4\n#define MCI_FORMAT_SMPTE_25             5\n#define MCI_FORMAT_SMPTE_30             6\n#define MCI_FORMAT_SMPTE_30DROP         7\n#define MCI_FORMAT_BYTES                8\n#define MCI_FORMAT_SAMPLES              9\n#define MCI_FORMAT_TMSF                 10\n\n/* MCI time format conversion macros */\n#define MCI_MSF_MINUTE(msf)             ((BYTE)(msf))\n#define MCI_MSF_SECOND(msf)             ((BYTE)(((WORD)(msf)) >> 8))\n#define MCI_MSF_FRAME(msf)              ((BYTE)((msf)>>16))\n\n#define MCI_MAKE_MSF(m, s, f)           ((DWORD)(((BYTE)(m) | \\\n                                                  ((WORD)(s)<<8)) | \\\n                                                 (((DWORD)(BYTE)(f))<<16)))\n\n#define MCI_TMSF_TRACK(tmsf)            ((BYTE)(tmsf))\n#define MCI_TMSF_MINUTE(tmsf)           ((BYTE)(((WORD)(tmsf)) >> 8))\n#define MCI_TMSF_SECOND(tmsf)           ((BYTE)((tmsf)>>16))\n#define MCI_TMSF_FRAME(tmsf)            ((BYTE)((tmsf)>>24))\n\n#define MCI_MAKE_TMSF(t, m, s, f)       ((DWORD)(((BYTE)(t) | \\\n                                                  ((WORD)(m)<<8)) | \\\n                                                 (((DWORD)(BYTE)(s) | \\\n                                                   ((WORD)(f)<<8))<<16)))\n\n#define MCI_HMS_HOUR(hms)               ((BYTE)(hms))\n#define MCI_HMS_MINUTE(hms)             ((BYTE)(((WORD)(hms)) >> 8))\n#define MCI_HMS_SECOND(hms)             ((BYTE)((hms)>>16))\n\n#define MCI_MAKE_HMS(h, m, s)           ((DWORD)(((BYTE)(h) | \\\n                                                  ((WORD)(m)<<8)) | \\\n                                                 (((DWORD)(BYTE)(s))<<16)))\n\n\n/* flags for wParam of MM_MCINOTIFY message */\n#define MCI_NOTIFY_SUCCESSFUL           0x0001\n#define MCI_NOTIFY_SUPERSEDED           0x0002\n#define MCI_NOTIFY_ABORTED              0x0004\n#define MCI_NOTIFY_FAILURE              0x0008\n\n\n/* common flags for dwFlags parameter of MCI command messages */\n#define MCI_NOTIFY                      0x00000001L\n#define MCI_WAIT                        0x00000002L\n#define MCI_FROM                        0x00000004L\n#define MCI_TO                          0x00000008L\n#define MCI_TRACK                       0x00000010L\n\n/* flags for dwFlags parameter of MCI_OPEN command message */\n#define MCI_OPEN_SHAREABLE              0x00000100L\n#define MCI_OPEN_ELEMENT                0x00000200L\n#define MCI_OPEN_ALIAS                  0x00000400L\n#define MCI_OPEN_ELEMENT_ID             0x00000800L\n#define MCI_OPEN_TYPE_ID                0x00001000L\n#define MCI_OPEN_TYPE                   0x00002000L\n\n/* flags for dwFlags parameter of MCI_SEEK command message */\n#define MCI_SEEK_TO_START               0x00000100L\n#define MCI_SEEK_TO_END                 0x00000200L\n\n/* flags for dwFlags parameter of MCI_STATUS command message */\n#define MCI_STATUS_ITEM                 0x00000100L\n#define MCI_STATUS_START                0x00000200L\n\n/* flags for dwItem field of the MCI_STATUS_PARMS parameter block */\n#define MCI_STATUS_LENGTH               0x00000001L\n#define MCI_STATUS_POSITION             0x00000002L\n#define MCI_STATUS_NUMBER_OF_TRACKS     0x00000003L\n#define MCI_STATUS_MODE                 0x00000004L\n#define MCI_STATUS_MEDIA_PRESENT        0x00000005L\n#define MCI_STATUS_TIME_FORMAT          0x00000006L\n#define MCI_STATUS_READY                0x00000007L\n#define MCI_STATUS_CURRENT_TRACK        0x00000008L\n\n/* flags for dwFlags parameter of MCI_INFO command message */\n#define MCI_INFO_PRODUCT                0x00000100L\n#define MCI_INFO_FILE                   0x00000200L\n#define MCI_INFO_MEDIA_UPC              0x00000400L\n#define MCI_INFO_MEDIA_IDENTITY         0x00000800L\n#define MCI_INFO_NAME                   0x00001000L\n#define MCI_INFO_COPYRIGHT              0x00002000L\n\n/* flags for dwFlags parameter of MCI_GETDEVCAPS command message */\n#define MCI_GETDEVCAPS_ITEM             0x00000100L\n\n/* flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block */\n#define MCI_GETDEVCAPS_CAN_RECORD       0x00000001L\n#define MCI_GETDEVCAPS_HAS_AUDIO        0x00000002L\n#define MCI_GETDEVCAPS_HAS_VIDEO        0x00000003L\n#define MCI_GETDEVCAPS_DEVICE_TYPE      0x00000004L\n#define MCI_GETDEVCAPS_USES_FILES       0x00000005L\n#define MCI_GETDEVCAPS_COMPOUND_DEVICE  0x00000006L\n#define MCI_GETDEVCAPS_CAN_EJECT        0x00000007L\n#define MCI_GETDEVCAPS_CAN_PLAY         0x00000008L\n#define MCI_GETDEVCAPS_CAN_SAVE         0x00000009L\n\n/* flags for dwFlags parameter of MCI_SYSINFO command message */\n#define MCI_SYSINFO_QUANTITY            0x00000100L\n#define MCI_SYSINFO_OPEN                0x00000200L\n#define MCI_SYSINFO_NAME                0x00000400L\n#define MCI_SYSINFO_INSTALLNAME         0x00000800L\n\n/* flags for dwFlags parameter of MCI_SET command message */\n#define MCI_SET_DOOR_OPEN               0x00000100L\n#define MCI_SET_DOOR_CLOSED             0x00000200L\n#define MCI_SET_TIME_FORMAT             0x00000400L\n#define MCI_SET_AUDIO                   0x00000800L\n#define MCI_SET_VIDEO                   0x00001000L\n#define MCI_SET_ON                      0x00002000L\n#define MCI_SET_OFF                     0x00004000L\n\n/* flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS */\n#define MCI_SET_AUDIO_ALL               0x00000000L\n#define MCI_SET_AUDIO_LEFT              0x00000001L\n#define MCI_SET_AUDIO_RIGHT             0x00000002L\n\n/* flags for dwFlags parameter of MCI_BREAK command message */\n#define MCI_BREAK_KEY                   0x00000100L\n#define MCI_BREAK_HWND                  0x00000200L\n#define MCI_BREAK_OFF                   0x00000400L\n\n/* flags for dwFlags parameter of MCI_RECORD command message */\n#define MCI_RECORD_INSERT               0x00000100L\n#define MCI_RECORD_OVERWRITE            0x00000200L\n\n/* flags for dwFlags parameter of MCI_SAVE command message */\n#define MCI_SAVE_FILE                   0x00000100L\n\n/* flags for dwFlags parameter of MCI_LOAD command message */\n#define MCI_LOAD_FILE                   0x00000100L\n\n\n/* generic parameter block for MCI command messages with no special parameters */\ntypedef struct tagMCI_GENERIC_PARMS {\n    DWORD_PTR   dwCallback;\n} MCI_GENERIC_PARMS, *PMCI_GENERIC_PARMS, FAR *LPMCI_GENERIC_PARMS;\n\n\n/* parameter block for MCI_OPEN command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_OPEN_PARMSA {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCSTR     lpstrDeviceType;\n    LPCSTR     lpstrElementName;\n    LPCSTR     lpstrAlias;\n} MCI_OPEN_PARMSA, *PMCI_OPEN_PARMSA, *LPMCI_OPEN_PARMSA;\ntypedef struct tagMCI_OPEN_PARMSW {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCWSTR    lpstrDeviceType;\n    LPCWSTR    lpstrElementName;\n    LPCWSTR    lpstrAlias;\n} MCI_OPEN_PARMSW, *PMCI_OPEN_PARMSW, *LPMCI_OPEN_PARMSW;\n#ifdef UNICODE\ntypedef MCI_OPEN_PARMSW MCI_OPEN_PARMS;\ntypedef PMCI_OPEN_PARMSW PMCI_OPEN_PARMS;\ntypedef LPMCI_OPEN_PARMSW LPMCI_OPEN_PARMS;\n#else\ntypedef MCI_OPEN_PARMSA MCI_OPEN_PARMS;\ntypedef PMCI_OPEN_PARMSA PMCI_OPEN_PARMS;\ntypedef LPMCI_OPEN_PARMSA LPMCI_OPEN_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_OPEN_PARMS {\n    DWORD       dwCallback;\n    MCIDEVICEID wDeviceID;\n    WORD        wReserved0;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n} MCI_OPEN_PARMS, FAR *LPMCI_OPEN_PARMS;\n#endif\n\n\n/* parameter block for MCI_PLAY command message */\ntypedef struct tagMCI_PLAY_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrom;\n    DWORD       dwTo;\n} MCI_PLAY_PARMS, *PMCI_PLAY_PARMS, FAR *LPMCI_PLAY_PARMS;\n\n\n/* parameter block for MCI_SEEK command message */\ntypedef struct tagMCI_SEEK_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwTo;\n} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS, FAR *LPMCI_SEEK_PARMS;\n\n\n/* parameter block for MCI_STATUS command message */\ntypedef struct tagMCI_STATUS_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD_PTR   dwReturn;\n    DWORD       dwItem;\n    DWORD       dwTrack;\n} MCI_STATUS_PARMS, *PMCI_STATUS_PARMS, FAR * LPMCI_STATUS_PARMS;\n\n\n/* parameter block for MCI_INFO command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_INFO_PARMSA {\n    DWORD_PTR dwCallback;\n    LPSTR     lpstrReturn;\n    DWORD     dwRetSize;\n} MCI_INFO_PARMSA, * LPMCI_INFO_PARMSA;\ntypedef struct tagMCI_INFO_PARMSW {\n    DWORD_PTR dwCallback;\n    LPWSTR    lpstrReturn;\n    DWORD     dwRetSize;\n} MCI_INFO_PARMSW, * LPMCI_INFO_PARMSW;\n#ifdef UNICODE\ntypedef MCI_INFO_PARMSW MCI_INFO_PARMS;\ntypedef LPMCI_INFO_PARMSW LPMCI_INFO_PARMS;\n#else\ntypedef MCI_INFO_PARMSA MCI_INFO_PARMS;\ntypedef LPMCI_INFO_PARMSA LPMCI_INFO_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_INFO_PARMS {\n    DWORD   dwCallback;\n    LPSTR   lpstrReturn;\n    DWORD   dwRetSize;\n} MCI_INFO_PARMS, FAR * LPMCI_INFO_PARMS;\n#endif\n\n\n/* parameter block for MCI_GETDEVCAPS command message */\ntypedef struct tagMCI_GETDEVCAPS_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwReturn;\n    DWORD       dwItem;\n} MCI_GETDEVCAPS_PARMS, *PMCI_GETDEVCAPS_PARMS, FAR * LPMCI_GETDEVCAPS_PARMS;\n\n\n/* parameter block for MCI_SYSINFO command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_SYSINFO_PARMSA {\n    DWORD_PTR   dwCallback;\n    LPSTR       lpstrReturn;\n    DWORD       dwRetSize;\n    DWORD       dwNumber;\n    UINT        wDeviceType;\n} MCI_SYSINFO_PARMSA, *PMCI_SYSINFO_PARMSA, * LPMCI_SYSINFO_PARMSA;\ntypedef struct tagMCI_SYSINFO_PARMSW {\n    DWORD_PTR   dwCallback;\n    LPWSTR      lpstrReturn;\n    DWORD       dwRetSize;\n    DWORD       dwNumber;\n    UINT        wDeviceType;\n} MCI_SYSINFO_PARMSW, *PMCI_SYSINFO_PARMSW, * LPMCI_SYSINFO_PARMSW;\n#ifdef UNICODE\ntypedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS;\ntypedef PMCI_SYSINFO_PARMSW PMCI_SYSINFO_PARMS;\ntypedef LPMCI_SYSINFO_PARMSW LPMCI_SYSINFO_PARMS;\n#else\ntypedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS;\ntypedef PMCI_SYSINFO_PARMSA PMCI_SYSINFO_PARMS;\ntypedef LPMCI_SYSINFO_PARMSA LPMCI_SYSINFO_PARMS;\n#endif // UNICODE\n#else\ntypedef struct tagMCI_SYSINFO_PARMS {\n    DWORD   dwCallback;\n    LPSTR   lpstrReturn;\n    DWORD   dwRetSize;\n    DWORD   dwNumber;\n    WORD    wDeviceType;\n    WORD    wReserved0;\n} MCI_SYSINFO_PARMS, FAR * LPMCI_SYSINFO_PARMS;\n#endif\n\n\n/* parameter block for MCI_SET command message */\ntypedef struct tagMCI_SET_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwTimeFormat;\n    DWORD       dwAudio;\n} MCI_SET_PARMS, *PMCI_SET_PARMS, FAR *LPMCI_SET_PARMS;\n\n\n/* parameter block for MCI_BREAK command message */\ntypedef struct tagMCI_BREAK_PARMS {\n    DWORD_PTR   dwCallback;\n#ifdef _WIN32\n    int         nVirtKey;\n    HWND        hwndBreak;\n#else\n    short       nVirtKey;\n    WORD        wReserved0;             /* padding for Win 16 */\n    HWND        hwndBreak;\n    WORD        wReserved1;             /* padding for Win 16 */\n#endif\n} MCI_BREAK_PARMS, *PMCI_BREAK_PARMS, FAR * LPMCI_BREAK_PARMS;\n\n\n/* parameter block for MCI_SAVE command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_SAVE_PARMSA {\n    DWORD_PTR    dwCallback;\n    LPCSTR       lpfilename;\n} MCI_SAVE_PARMSA, *PMCI_SAVE_PARMSA, * LPMCI_SAVE_PARMSA;\ntypedef struct tagMCI_SAVE_PARMSW {\n    DWORD_PTR    dwCallback;\n    LPCWSTR      lpfilename;\n} MCI_SAVE_PARMSW, *PMCI_SAVE_PARMSW, * LPMCI_SAVE_PARMSW;\n#ifdef UNICODE\ntypedef MCI_SAVE_PARMSW MCI_SAVE_PARMS;\ntypedef PMCI_SAVE_PARMSW PMCI_SAVE_PARMS;\ntypedef LPMCI_SAVE_PARMSW LPMCI_SAVE_PARMS;\n#else\ntypedef MCI_SAVE_PARMSA MCI_SAVE_PARMS;\ntypedef PMCI_SAVE_PARMSA PMCI_SAVE_PARMS;\ntypedef LPMCI_SAVE_PARMSA LPMCI_SAVE_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_SAVE_PARMS {\n    DWORD_PTR   dwCallback;\n    LPCSTR      lpfilename;\n} MCI_SAVE_PARMS, FAR * LPMCI_SAVE_PARMS;\n#endif\n\n\n/* parameter block for MCI_LOAD command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_LOAD_PARMSA {\n    DWORD_PTR    dwCallback;\n    LPCSTR       lpfilename;\n} MCI_LOAD_PARMSA, *PMCI_LOAD_PARMSA, * LPMCI_LOAD_PARMSA;\ntypedef struct tagMCI_LOAD_PARMSW {\n    DWORD_PTR    dwCallback;\n    LPCWSTR      lpfilename;\n} MCI_LOAD_PARMSW, *PMCI_LOAD_PARMSW, * LPMCI_LOAD_PARMSW;\n#ifdef UNICODE\ntypedef MCI_LOAD_PARMSW MCI_LOAD_PARMS;\ntypedef PMCI_LOAD_PARMSW PMCI_LOAD_PARMS;\ntypedef LPMCI_LOAD_PARMSW LPMCI_LOAD_PARMS;\n#else\ntypedef MCI_LOAD_PARMSA MCI_LOAD_PARMS;\ntypedef PMCI_LOAD_PARMSA PMCI_LOAD_PARMS;\ntypedef LPMCI_LOAD_PARMSA LPMCI_LOAD_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_LOAD_PARMS {\n    DWORD   dwCallback;\n    LPCSTR  lpfilename;\n} MCI_LOAD_PARMS, FAR * LPMCI_LOAD_PARMS;\n#endif\n\n\n/* parameter block for MCI_RECORD command message */\ntypedef struct tagMCI_RECORD_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrom;\n    DWORD       dwTo;\n} MCI_RECORD_PARMS, FAR *LPMCI_RECORD_PARMS;\n\n\n/* MCI extensions for videodisc devices */\n\n/* flag for dwReturn field of MCI_STATUS_PARMS */\n/* MCI_STATUS command, (dwItem == MCI_STATUS_MODE) */\n#define MCI_VD_MODE_PARK                (MCI_VD_OFFSET + 1)\n\n/* flag for dwReturn field of MCI_STATUS_PARMS */\n/* MCI_STATUS command, (dwItem == MCI_VD_STATUS_MEDIA_TYPE) */\n#define MCI_VD_MEDIA_CLV                (MCI_VD_OFFSET + 2)\n#define MCI_VD_MEDIA_CAV                (MCI_VD_OFFSET + 3)\n#define MCI_VD_MEDIA_OTHER              (MCI_VD_OFFSET + 4)\n\n#define MCI_VD_FORMAT_TRACK             0x4001\n\n/* flags for dwFlags parameter of MCI_PLAY command message */\n#define MCI_VD_PLAY_REVERSE             0x00010000L\n#define MCI_VD_PLAY_FAST                0x00020000L\n#define MCI_VD_PLAY_SPEED               0x00040000L\n#define MCI_VD_PLAY_SCAN                0x00080000L\n#define MCI_VD_PLAY_SLOW                0x00100000L\n\n/* flag for dwFlags parameter of MCI_SEEK command message */\n#define MCI_VD_SEEK_REVERSE             0x00010000L\n\n/* flags for dwItem field of MCI_STATUS_PARMS parameter block */\n#define MCI_VD_STATUS_SPEED             0x00004002L\n#define MCI_VD_STATUS_FORWARD           0x00004003L\n#define MCI_VD_STATUS_MEDIA_TYPE        0x00004004L\n#define MCI_VD_STATUS_SIDE              0x00004005L\n#define MCI_VD_STATUS_DISC_SIZE         0x00004006L\n\n/* flags for dwFlags parameter of MCI_GETDEVCAPS command message */\n#define MCI_VD_GETDEVCAPS_CLV           0x00010000L\n#define MCI_VD_GETDEVCAPS_CAV           0x00020000L\n\n#define MCI_VD_SPIN_UP                  0x00010000L\n#define MCI_VD_SPIN_DOWN                0x00020000L\n\n/* flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block */\n#define MCI_VD_GETDEVCAPS_CAN_REVERSE   0x00004002L\n#define MCI_VD_GETDEVCAPS_FAST_RATE     0x00004003L\n#define MCI_VD_GETDEVCAPS_SLOW_RATE     0x00004004L\n#define MCI_VD_GETDEVCAPS_NORMAL_RATE   0x00004005L\n\n/* flags for the dwFlags parameter of MCI_STEP command message */\n#define MCI_VD_STEP_FRAMES              0x00010000L\n#define MCI_VD_STEP_REVERSE             0x00020000L\n\n/* flag for the MCI_ESCAPE command message */\n#define MCI_VD_ESCAPE_STRING            0x00000100L\n\n\n/* parameter block for MCI_PLAY command message */\ntypedef struct tagMCI_VD_PLAY_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrom;\n    DWORD       dwTo;\n    DWORD       dwSpeed;\n} MCI_VD_PLAY_PARMS, *PMCI_VD_PLAY_PARMS, FAR *LPMCI_VD_PLAY_PARMS;\n\n\n/* parameter block for MCI_STEP command message */\ntypedef struct tagMCI_VD_STEP_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrames;\n} MCI_VD_STEP_PARMS, *PMCI_VD_STEP_PARMS, FAR *LPMCI_VD_STEP_PARMS;\n\n\n/* parameter block for MCI_ESCAPE command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_VD_ESCAPE_PARMSA {\n    DWORD_PTR   dwCallback;\n    LPCSTR      lpstrCommand;\n} MCI_VD_ESCAPE_PARMSA, *PMCI_VD_ESCAPE_PARMSA, *LPMCI_VD_ESCAPE_PARMSA;\ntypedef struct tagMCI_VD_ESCAPE_PARMSW {\n    DWORD_PTR   dwCallback;\n    LPCWSTR     lpstrCommand;\n} MCI_VD_ESCAPE_PARMSW, *PMCI_VD_ESCAPE_PARMSW, *LPMCI_VD_ESCAPE_PARMSW;\n#ifdef UNICODE\ntypedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS;\ntypedef PMCI_VD_ESCAPE_PARMSW PMCI_VD_ESCAPE_PARMS;\ntypedef LPMCI_VD_ESCAPE_PARMSW LPMCI_VD_ESCAPE_PARMS;\n#else\ntypedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS;\ntypedef PMCI_VD_ESCAPE_PARMSA PMCI_VD_ESCAPE_PARMS;\ntypedef LPMCI_VD_ESCAPE_PARMSA LPMCI_VD_ESCAPE_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_VD_ESCAPE_PARMS {\n    DWORD   dwCallback;\n    LPCSTR  lpstrCommand;\n} MCI_VD_ESCAPE_PARMS, FAR *LPMCI_VD_ESCAPE_PARMS;\n#endif\n\n/* MCI extensions for CD audio devices */\n\n/* flags for the dwItem field of the MCI_STATUS_PARMS parameter block */\n#define MCI_CDA_STATUS_TYPE_TRACK       0x00004001L\n\n/* flags for the dwReturn field of MCI_STATUS_PARMS parameter block */\n/* MCI_STATUS command, (dwItem == MCI_CDA_STATUS_TYPE_TRACK) */\n#define MCI_CDA_TRACK_AUDIO             (MCI_CD_OFFSET + 0)\n#define MCI_CDA_TRACK_OTHER             (MCI_CD_OFFSET + 1)\n\n/* MCI extensions for waveform audio devices */\n\n#define MCI_WAVE_PCM                    (MCI_WAVE_OFFSET + 0)\n#define MCI_WAVE_MAPPER                 (MCI_WAVE_OFFSET + 1)\n\n/* flags for the dwFlags parameter of MCI_OPEN command message */\n#define MCI_WAVE_OPEN_BUFFER            0x00010000L\n\n/* flags for the dwFlags parameter of MCI_SET command message */\n#define MCI_WAVE_SET_FORMATTAG          0x00010000L\n#define MCI_WAVE_SET_CHANNELS           0x00020000L\n#define MCI_WAVE_SET_SAMPLESPERSEC      0x00040000L\n#define MCI_WAVE_SET_AVGBYTESPERSEC     0x00080000L\n#define MCI_WAVE_SET_BLOCKALIGN         0x00100000L\n#define MCI_WAVE_SET_BITSPERSAMPLE      0x00200000L\n\n/* flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messages */\n#define MCI_WAVE_INPUT                  0x00400000L\n#define MCI_WAVE_OUTPUT                 0x00800000L\n\n/* flags for the dwItem field of MCI_STATUS_PARMS parameter block */\n#define MCI_WAVE_STATUS_FORMATTAG       0x00004001L\n#define MCI_WAVE_STATUS_CHANNELS        0x00004002L\n#define MCI_WAVE_STATUS_SAMPLESPERSEC   0x00004003L\n#define MCI_WAVE_STATUS_AVGBYTESPERSEC  0x00004004L\n#define MCI_WAVE_STATUS_BLOCKALIGN      0x00004005L\n#define MCI_WAVE_STATUS_BITSPERSAMPLE   0x00004006L\n#define MCI_WAVE_STATUS_LEVEL           0x00004007L\n\n/* flags for the dwFlags parameter of MCI_SET command message */\n#define MCI_WAVE_SET_ANYINPUT           0x04000000L\n#define MCI_WAVE_SET_ANYOUTPUT          0x08000000L\n\n/* flags for the dwFlags parameter of MCI_GETDEVCAPS command message */\n#define MCI_WAVE_GETDEVCAPS_INPUTS      0x00004001L\n#define MCI_WAVE_GETDEVCAPS_OUTPUTS     0x00004002L\n\n\n/* parameter block for MCI_OPEN command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_WAVE_OPEN_PARMSA {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD   dwBufferSeconds;\n} MCI_WAVE_OPEN_PARMSA, *PMCI_WAVE_OPEN_PARMSA, *LPMCI_WAVE_OPEN_PARMSA;\ntypedef struct tagMCI_WAVE_OPEN_PARMSW {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCWSTR     lpstrDeviceType;\n    LPCWSTR     lpstrElementName;\n    LPCWSTR     lpstrAlias;\n    DWORD   dwBufferSeconds;\n} MCI_WAVE_OPEN_PARMSW, *PMCI_WAVE_OPEN_PARMSW, *LPMCI_WAVE_OPEN_PARMSW;\n#ifdef UNICODE\ntypedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS;\ntypedef PMCI_WAVE_OPEN_PARMSW PMCI_WAVE_OPEN_PARMS;\ntypedef LPMCI_WAVE_OPEN_PARMSW LPMCI_WAVE_OPEN_PARMS;\n#else\ntypedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS;\ntypedef PMCI_WAVE_OPEN_PARMSA PMCI_WAVE_OPEN_PARMS;\ntypedef LPMCI_WAVE_OPEN_PARMSA LPMCI_WAVE_OPEN_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_WAVE_OPEN_PARMS {\n    DWORD   dwCallback;\n    MCIDEVICEID wDeviceID;\n    WORD        wReserved0;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD       dwBufferSeconds;\n} MCI_WAVE_OPEN_PARMS, FAR *LPMCI_WAVE_OPEN_PARMS;\n#endif\n\n\n/* parameter block for MCI_DELETE command message */\ntypedef struct tagMCI_WAVE_DELETE_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrom;\n    DWORD       dwTo;\n} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS, FAR *LPMCI_WAVE_DELETE_PARMS;\n\n\n/* parameter block for MCI_SET command message */\ntypedef struct tagMCI_WAVE_SET_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwTimeFormat;\n    DWORD       dwAudio;\n#ifdef _WIN32\n    UINT    wInput;\n    UINT    wOutput;\n#else\n    WORD    wInput;\n    WORD    wReserved0;\n    WORD    wOutput;\n    WORD    wReserved1;\n#endif\n    WORD    wFormatTag;\n    WORD    wReserved2;\n    WORD    nChannels;\n    WORD    wReserved3;\n    DWORD   nSamplesPerSec;\n    DWORD   nAvgBytesPerSec;\n    WORD    nBlockAlign;\n    WORD    wReserved4;\n    WORD    wBitsPerSample;\n    WORD    wReserved5;\n} MCI_WAVE_SET_PARMS, *PMCI_WAVE_SET_PARMS, FAR * LPMCI_WAVE_SET_PARMS;\n\n\n/* MCI extensions for MIDI sequencer devices */\n\n/* flags for the dwReturn field of MCI_STATUS_PARMS parameter block */\n/* MCI_STATUS command, (dwItem == MCI_SEQ_STATUS_DIVTYPE) */\n#define     MCI_SEQ_DIV_PPQN            (0 + MCI_SEQ_OFFSET)\n#define     MCI_SEQ_DIV_SMPTE_24        (1 + MCI_SEQ_OFFSET)\n#define     MCI_SEQ_DIV_SMPTE_25        (2 + MCI_SEQ_OFFSET)\n#define     MCI_SEQ_DIV_SMPTE_30DROP    (3 + MCI_SEQ_OFFSET)\n#define     MCI_SEQ_DIV_SMPTE_30        (4 + MCI_SEQ_OFFSET)\n\n/* flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block */\n/* MCI_SET command, (dwFlags == MCI_SEQ_SET_MASTER) */\n#define     MCI_SEQ_FORMAT_SONGPTR      0x4001\n#define     MCI_SEQ_FILE                0x4002\n#define     MCI_SEQ_MIDI                0x4003\n#define     MCI_SEQ_SMPTE               0x4004\n#define     MCI_SEQ_NONE                65533\n#define     MCI_SEQ_MAPPER              65535\n\n/* flags for the dwItem field of MCI_STATUS_PARMS parameter block */\n#define MCI_SEQ_STATUS_TEMPO            0x00004002L\n#define MCI_SEQ_STATUS_PORT             0x00004003L\n#define MCI_SEQ_STATUS_SLAVE            0x00004007L\n#define MCI_SEQ_STATUS_MASTER           0x00004008L\n#define MCI_SEQ_STATUS_OFFSET           0x00004009L\n#define MCI_SEQ_STATUS_DIVTYPE          0x0000400AL\n#define MCI_SEQ_STATUS_NAME             0x0000400BL\n#define MCI_SEQ_STATUS_COPYRIGHT        0x0000400CL\n\n/* flags for the dwFlags parameter of MCI_SET command message */\n#define MCI_SEQ_SET_TEMPO               0x00010000L\n#define MCI_SEQ_SET_PORT                0x00020000L\n#define MCI_SEQ_SET_SLAVE               0x00040000L\n#define MCI_SEQ_SET_MASTER              0x00080000L\n#define MCI_SEQ_SET_OFFSET              0x01000000L\n\n\n/* parameter block for MCI_SET command message */\ntypedef struct tagMCI_SEQ_SET_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwTimeFormat;\n    DWORD       dwAudio;\n    DWORD       dwTempo;\n    DWORD       dwPort;\n    DWORD       dwSlave;\n    DWORD       dwMaster;\n    DWORD       dwOffset;\n} MCI_SEQ_SET_PARMS, *PMCI_SEQ_SET_PARMS, FAR * LPMCI_SEQ_SET_PARMS;\n\n\n/* MCI extensions for animation devices */\n\n/* flags for dwFlags parameter of MCI_OPEN command message */\n#define MCI_ANIM_OPEN_WS                0x00010000L\n#define MCI_ANIM_OPEN_PARENT            0x00020000L\n#define MCI_ANIM_OPEN_NOSTATIC          0x00040000L\n\n/* flags for dwFlags parameter of MCI_PLAY command message */\n#define MCI_ANIM_PLAY_SPEED             0x00010000L\n#define MCI_ANIM_PLAY_REVERSE           0x00020000L\n#define MCI_ANIM_PLAY_FAST              0x00040000L\n#define MCI_ANIM_PLAY_SLOW              0x00080000L\n#define MCI_ANIM_PLAY_SCAN              0x00100000L\n\n/* flags for dwFlags parameter of MCI_STEP command message */\n#define MCI_ANIM_STEP_REVERSE           0x00010000L\n#define MCI_ANIM_STEP_FRAMES            0x00020000L\n\n/* flags for dwItem field of MCI_STATUS_PARMS parameter block */\n#define MCI_ANIM_STATUS_SPEED           0x00004001L\n#define MCI_ANIM_STATUS_FORWARD         0x00004002L\n#define MCI_ANIM_STATUS_HWND            0x00004003L\n#define MCI_ANIM_STATUS_HPAL            0x00004004L\n#define MCI_ANIM_STATUS_STRETCH         0x00004005L\n\n/* flags for the dwFlags parameter of MCI_INFO command message */\n#define MCI_ANIM_INFO_TEXT              0x00010000L\n\n/* flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block */\n#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x00004001L\n#define MCI_ANIM_GETDEVCAPS_FAST_RATE   0x00004002L\n#define MCI_ANIM_GETDEVCAPS_SLOW_RATE   0x00004003L\n#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x00004004L\n#define MCI_ANIM_GETDEVCAPS_PALETTES    0x00004006L\n#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x00004007L\n#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x00004008L\n\n/* flags for the MCI_REALIZE command message */\n#define MCI_ANIM_REALIZE_NORM           0x00010000L\n#define MCI_ANIM_REALIZE_BKGD           0x00020000L\n\n/* flags for dwFlags parameter of MCI_WINDOW command message */\n#define MCI_ANIM_WINDOW_HWND            0x00010000L\n#define MCI_ANIM_WINDOW_STATE           0x00040000L\n#define MCI_ANIM_WINDOW_TEXT            0x00080000L\n#define MCI_ANIM_WINDOW_ENABLE_STRETCH  0x00100000L\n#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x00200000L\n\n/* flags for hWnd field of MCI_ANIM_WINDOW_PARMS parameter block */\n/* MCI_WINDOW command message, (dwFlags == MCI_ANIM_WINDOW_HWND) */\n#define MCI_ANIM_WINDOW_DEFAULT         0x00000000L\n\n/* flags for dwFlags parameter of MCI_PUT command message */\n#define MCI_ANIM_RECT                   0x00010000L\n#define MCI_ANIM_PUT_SOURCE             0x00020000L\n#define MCI_ANIM_PUT_DESTINATION        0x00040000L\n\n/* flags for dwFlags parameter of MCI_WHERE command message */\n#define MCI_ANIM_WHERE_SOURCE           0x00020000L\n#define MCI_ANIM_WHERE_DESTINATION      0x00040000L\n\n/* flags for dwFlags parameter of MCI_UPDATE command message */\n#define MCI_ANIM_UPDATE_HDC             0x00020000L\n\n\n/* parameter block for MCI_OPEN command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_ANIM_OPEN_PARMSA {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD   dwStyle;\n    HWND    hWndParent;\n} MCI_ANIM_OPEN_PARMSA, *PMCI_ANIM_OPEN_PARMSA, *LPMCI_ANIM_OPEN_PARMSA;\ntypedef struct tagMCI_ANIM_OPEN_PARMSW {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCWSTR     lpstrDeviceType;\n    LPCWSTR     lpstrElementName;\n    LPCWSTR     lpstrAlias;\n    DWORD   dwStyle;\n    HWND    hWndParent;\n} MCI_ANIM_OPEN_PARMSW, *PMCI_ANIM_OPEN_PARMSW, *LPMCI_ANIM_OPEN_PARMSW;\n#ifdef UNICODE\ntypedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS;\ntypedef PMCI_ANIM_OPEN_PARMSW PMCI_ANIM_OPEN_PARMS;\ntypedef LPMCI_ANIM_OPEN_PARMSW LPMCI_ANIM_OPEN_PARMS;\n#else\ntypedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS;\ntypedef PMCI_ANIM_OPEN_PARMSA PMCI_ANIM_OPEN_PARMS;\ntypedef LPMCI_ANIM_OPEN_PARMSA LPMCI_ANIM_OPEN_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_ANIM_OPEN_PARMS {\n    DWORD   dwCallback;\n    MCIDEVICEID wDeviceID;\n    WORD        wReserved0;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD       dwStyle;\n    HWND        hWndParent;\n    WORD        wReserved1;\n} MCI_ANIM_OPEN_PARMS, FAR *LPMCI_ANIM_OPEN_PARMS;\n#endif\n\n\n/* parameter block for MCI_PLAY command message */\ntypedef struct tagMCI_ANIM_PLAY_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrom;\n    DWORD       dwTo;\n    DWORD       dwSpeed;\n} MCI_ANIM_PLAY_PARMS, *PMCI_ANIM_PLAY_PARMS, FAR *LPMCI_ANIM_PLAY_PARMS;\n\n\n/* parameter block for MCI_STEP command message */\ntypedef struct tagMCI_ANIM_STEP_PARMS {\n    DWORD_PTR   dwCallback;\n    DWORD       dwFrames;\n} MCI_ANIM_STEP_PARMS, *PMCI_ANIM_STEP_PARMS, FAR *LPMCI_ANIM_STEP_PARMS;\n\n\n/* parameter block for MCI_WINDOW command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_ANIM_WINDOW_PARMSA {\n    DWORD_PTR   dwCallback;\n    HWND        hWnd;\n    UINT        nCmdShow;\n    LPCSTR     lpstrText;\n} MCI_ANIM_WINDOW_PARMSA, *PMCI_ANIM_WINDOW_PARMSA, * LPMCI_ANIM_WINDOW_PARMSA;\ntypedef struct tagMCI_ANIM_WINDOW_PARMSW {\n    DWORD_PTR   dwCallback;\n    HWND        hWnd;\n    UINT        nCmdShow;\n    LPCWSTR    lpstrText;\n} MCI_ANIM_WINDOW_PARMSW, *PMCI_ANIM_WINDOW_PARMSW, * LPMCI_ANIM_WINDOW_PARMSW;\n#ifdef UNICODE\ntypedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS;\ntypedef PMCI_ANIM_WINDOW_PARMSW PMCI_ANIM_WINDOW_PARMS;\ntypedef LPMCI_ANIM_WINDOW_PARMSW LPMCI_ANIM_WINDOW_PARMS;\n#else\ntypedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS;\ntypedef PMCI_ANIM_WINDOW_PARMSA PMCI_ANIM_WINDOW_PARMS;\ntypedef LPMCI_ANIM_WINDOW_PARMSA LPMCI_ANIM_WINDOW_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_ANIM_WINDOW_PARMS {\n    DWORD   dwCallback;\n    HWND    hWnd;\n    WORD    wReserved1;\n    WORD    nCmdShow;\n    WORD    wReserved2;\n    LPCSTR  lpstrText;\n} MCI_ANIM_WINDOW_PARMS, FAR * LPMCI_ANIM_WINDOW_PARMS;\n#endif\n\n\n/* parameter block for MCI_PUT, MCI_UPDATE, MCI_WHERE command messages */\ntypedef struct tagMCI_ANIM_RECT_PARMS {\n    DWORD_PTR   dwCallback;\n#ifdef MCI_USE_OFFEXT\n    POINT   ptOffset;\n    POINT   ptExtent;\n#else   /* ifdef MCI_USE_OFFEXT */\n    RECT    rc;\n#endif  /* ifdef MCI_USE_OFFEXT */\n} MCI_ANIM_RECT_PARMS;\ntypedef MCI_ANIM_RECT_PARMS * PMCI_ANIM_RECT_PARMS;\ntypedef MCI_ANIM_RECT_PARMS FAR * LPMCI_ANIM_RECT_PARMS;\n\n\n/* parameter block for MCI_UPDATE PARMS */\ntypedef struct tagMCI_ANIM_UPDATE_PARMS {\n    DWORD_PTR   dwCallback;\n    RECT        rc;\n    HDC         hDC;\n} MCI_ANIM_UPDATE_PARMS, *PMCI_ANIM_UPDATE_PARMS, FAR * LPMCI_ANIM_UPDATE_PARMS;\n\n\n/* MCI extensions for video overlay devices */\n\n/* flags for dwFlags parameter of MCI_OPEN command message */\n#define MCI_OVLY_OPEN_WS                0x00010000L\n#define MCI_OVLY_OPEN_PARENT            0x00020000L\n\n/* flags for dwFlags parameter of MCI_STATUS command message */\n#define MCI_OVLY_STATUS_HWND            0x00004001L\n#define MCI_OVLY_STATUS_STRETCH         0x00004002L\n\n/* flags for dwFlags parameter of MCI_INFO command message */\n#define MCI_OVLY_INFO_TEXT              0x00010000L\n\n/* flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block */\n#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x00004001L\n#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE  0x00004002L\n#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x00004003L\n\n/* flags for dwFlags parameter of MCI_WINDOW command message */\n#define MCI_OVLY_WINDOW_HWND            0x00010000L\n#define MCI_OVLY_WINDOW_STATE           0x00040000L\n#define MCI_OVLY_WINDOW_TEXT            0x00080000L\n#define MCI_OVLY_WINDOW_ENABLE_STRETCH  0x00100000L\n#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x00200000L\n\n/* flags for hWnd parameter of MCI_OVLY_WINDOW_PARMS parameter block */\n#define MCI_OVLY_WINDOW_DEFAULT         0x00000000L\n\n/* flags for dwFlags parameter of MCI_PUT command message */\n#define MCI_OVLY_RECT                   0x00010000L\n#define MCI_OVLY_PUT_SOURCE             0x00020000L\n#define MCI_OVLY_PUT_DESTINATION        0x00040000L\n#define MCI_OVLY_PUT_FRAME              0x00080000L\n#define MCI_OVLY_PUT_VIDEO              0x00100000L\n\n/* flags for dwFlags parameter of MCI_WHERE command message */\n#define MCI_OVLY_WHERE_SOURCE           0x00020000L\n#define MCI_OVLY_WHERE_DESTINATION      0x00040000L\n#define MCI_OVLY_WHERE_FRAME            0x00080000L\n#define MCI_OVLY_WHERE_VIDEO            0x00100000L\n\n\n/* parameter block for MCI_OPEN command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_OVLY_OPEN_PARMSA {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD   dwStyle;\n    HWND    hWndParent;\n} MCI_OVLY_OPEN_PARMSA, *PMCI_OVLY_OPEN_PARMSA, *LPMCI_OVLY_OPEN_PARMSA;\ntypedef struct tagMCI_OVLY_OPEN_PARMSW {\n    DWORD_PTR   dwCallback;\n    MCIDEVICEID wDeviceID;\n    LPCWSTR     lpstrDeviceType;\n    LPCWSTR     lpstrElementName;\n    LPCWSTR     lpstrAlias;\n    DWORD   dwStyle;\n    HWND    hWndParent;\n} MCI_OVLY_OPEN_PARMSW, *PMCI_OVLY_OPEN_PARMSW, *LPMCI_OVLY_OPEN_PARMSW;\n#ifdef UNICODE\ntypedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS;\ntypedef PMCI_OVLY_OPEN_PARMSW PMCI_OVLY_OPEN_PARMS;\ntypedef LPMCI_OVLY_OPEN_PARMSW LPMCI_OVLY_OPEN_PARMS;\n#else\ntypedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS;\ntypedef PMCI_OVLY_OPEN_PARMSA PMCI_OVLY_OPEN_PARMS;\ntypedef LPMCI_OVLY_OPEN_PARMSA LPMCI_OVLY_OPEN_PARMS;\n#endif // UNICODE\n\n#else\ntypedef struct tagMCI_OVLY_OPEN_PARMS {\n    DWORD   dwCallback;\n    MCIDEVICEID wDeviceID;\n    WORD        wReserved0;\n    LPCSTR      lpstrDeviceType;\n    LPCSTR      lpstrElementName;\n    LPCSTR      lpstrAlias;\n    DWORD       dwStyle;\n    HWND        hWndParent;\n    WORD        wReserved1;\n} MCI_OVLY_OPEN_PARMS, FAR *LPMCI_OVLY_OPEN_PARMS;\n#endif\n\n\n/* parameter block for MCI_WINDOW command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_OVLY_WINDOW_PARMSA {\n    DWORD_PTR   dwCallback;\n    HWND        hWnd;\n    UINT        nCmdShow;\n    LPCSTR      lpstrText;\n} MCI_OVLY_WINDOW_PARMSA, *PMCI_OVLY_WINDOW_PARMSA, * LPMCI_OVLY_WINDOW_PARMSA;\ntypedef struct tagMCI_OVLY_WINDOW_PARMSW {\n    DWORD_PTR   dwCallback;\n    HWND        hWnd;\n    UINT        nCmdShow;\n    LPCWSTR     lpstrText;\n} MCI_OVLY_WINDOW_PARMSW, *PMCI_OVLY_WINDOW_PARMSW, * LPMCI_OVLY_WINDOW_PARMSW;\n#ifdef UNICODE\ntypedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS;\ntypedef PMCI_OVLY_WINDOW_PARMSW PMCI_OVLY_WINDOW_PARMS;\ntypedef LPMCI_OVLY_WINDOW_PARMSW LPMCI_OVLY_WINDOW_PARMS;\n#else\ntypedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS;\ntypedef PMCI_OVLY_WINDOW_PARMSA PMCI_OVLY_WINDOW_PARMS;\ntypedef LPMCI_OVLY_WINDOW_PARMSA LPMCI_OVLY_WINDOW_PARMS;\n#endif // UNICODE\n#else\ntypedef struct tagMCI_OVLY_WINDOW_PARMS {\n    DWORD   dwCallback;\n    HWND    hWnd;\n    WORD    wReserved1;\n    UINT    nCmdShow;\n    WORD    wReserved2;\n    LPCSTR  lpstrText;\n} MCI_OVLY_WINDOW_PARMS, FAR * LPMCI_OVLY_WINDOW_PARMS;\n#endif\n\n\n/* parameter block for MCI_PUT, MCI_UPDATE, and MCI_WHERE command messages */\ntypedef struct tagMCI_OVLY_RECT_PARMS {\n    DWORD_PTR   dwCallback;\n#ifdef MCI_USE_OFFEXT\n    POINT   ptOffset;\n    POINT   ptExtent;\n#else   /* ifdef MCI_USE_OFFEXT */\n    RECT    rc;\n#endif  /* ifdef MCI_USE_OFFEXT */\n} MCI_OVLY_RECT_PARMS, *PMCI_OVLY_RECT_PARMS, FAR * LPMCI_OVLY_RECT_PARMS;\n\n\n/* parameter block for MCI_SAVE command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_OVLY_SAVE_PARMSA {\n    DWORD_PTR   dwCallback;\n    LPCSTR      lpfilename;\n    RECT        rc;\n} MCI_OVLY_SAVE_PARMSA, *PMCI_OVLY_SAVE_PARMSA, * LPMCI_OVLY_SAVE_PARMSA;\ntypedef struct tagMCI_OVLY_SAVE_PARMSW {\n    DWORD_PTR   dwCallback;\n    LPCWSTR     lpfilename;\n    RECT        rc;\n} MCI_OVLY_SAVE_PARMSW, *PMCI_OVLY_SAVE_PARMSW, * LPMCI_OVLY_SAVE_PARMSW;\n#ifdef UNICODE\ntypedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS;\ntypedef PMCI_OVLY_SAVE_PARMSW PMCI_OVLY_SAVE_PARMS;\ntypedef LPMCI_OVLY_SAVE_PARMSW LPMCI_OVLY_SAVE_PARMS;\n#else\ntypedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS;\ntypedef PMCI_OVLY_SAVE_PARMSA PMCI_OVLY_SAVE_PARMS;\ntypedef LPMCI_OVLY_SAVE_PARMSA LPMCI_OVLY_SAVE_PARMS;\n#endif // UNICODE\n#else\ntypedef struct tagMCI_OVLY_SAVE_PARMS {\n    DWORD   dwCallback;\n    LPCSTR  lpfilename;\n    RECT    rc;\n} MCI_OVLY_SAVE_PARMS, FAR * LPMCI_OVLY_SAVE_PARMS;\n#endif\n\n\n/* parameter block for MCI_LOAD command message */\n#ifdef _WIN32\n\ntypedef struct tagMCI_OVLY_LOAD_PARMSA {\n    DWORD_PTR   dwCallback;\n    LPCSTR      lpfilename;\n    RECT    rc;\n} MCI_OVLY_LOAD_PARMSA, *PMCI_OVLY_LOAD_PARMSA, * LPMCI_OVLY_LOAD_PARMSA;\ntypedef struct tagMCI_OVLY_LOAD_PARMSW {\n    DWORD_PTR   dwCallback;\n    LPCWSTR     lpfilename;\n    RECT    rc;\n} MCI_OVLY_LOAD_PARMSW, *PMCI_OVLY_LOAD_PARMSW, * LPMCI_OVLY_LOAD_PARMSW;\n#ifdef UNICODE\ntypedef MCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMS;\ntypedef PMCI_OVLY_LOAD_PARMSW PMCI_OVLY_LOAD_PARMS;\ntypedef LPMCI_OVLY_LOAD_PARMSW LPMCI_OVLY_LOAD_PARMS;\n#else\ntypedef MCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMS;\ntypedef PMCI_OVLY_LOAD_PARMSA PMCI_OVLY_LOAD_PARMS;\ntypedef LPMCI_OVLY_LOAD_PARMSA LPMCI_OVLY_LOAD_PARMS;\n#endif // UNICODE\n#else\ntypedef struct tagMCI_OVLY_LOAD_PARMS {\n    DWORD   dwCallback;\n    LPCSTR  lpfilename;\n    RECT    rc;\n} MCI_OVLY_LOAD_PARMS, FAR * LPMCI_OVLY_LOAD_PARMS;\n#endif\n\n#endif  /* ifndef MMNOMCI */\n\n/****************************************************************************\n\n                        DISPLAY Driver extensions\n\n****************************************************************************/\n\n#ifndef NEWTRANSPARENT\n    #define NEWTRANSPARENT  3           /* use with SetBkMode() */\n\n    #define QUERYROPSUPPORT 40          /* use to determine ROP support */\n#endif  /* ifndef NEWTRANSPARENT */\n\n/****************************************************************************\n\n                        DIB Driver extensions\n\n****************************************************************************/\n\n#define SELECTDIB       41                      /* DIB.DRV select dib escape */\n#define DIBINDEX(n)     MAKELONG((n),0x10FF)\n\n\n/****************************************************************************\n\n                        ScreenSaver support\n\n    The current application will receive a syscommand of SC_SCREENSAVE just\n    before the screen saver is invoked.  If the app wishes to prevent a\n    screen save, return non-zero value, otherwise call DefWindowProc().\n\n****************************************************************************/\n\n#ifndef SC_SCREENSAVE\n\n    #define SC_SCREENSAVE   0xF140\n\n#endif  /* ifndef SC_SCREENSAVE */\n\n\n#ifdef __cplusplus\n}                       /* End of extern \"C\" { */\n#endif  /* __cplusplus */\n\n#ifdef _WIN32\n#include <poppack.h>\n#else\n#ifndef RC_INVOKED\n#pragma pack()\n#endif\n#endif\n\n#endif  /* _INC_MMSYSTEM */\n\n\n"
  },
  {
    "path": "Bin/i386/APILib/WinBase.h",
    "content": "/************************************************************************\n*                                                                       *\n*   winbase.h -- This module defines the 32-Bit Windows Base APIs       *\n*                                                                       *\n*   Copyright (c) Microsoft Corp. All rights reserved.                  *\n*                                                                       *\n************************************************************************/\n#ifndef _WINBASE_\n#define _WINBASE_\n\n\n#if _MSC_VER > 1000\n#pragma once\n#endif\n\n#ifdef _MAC\n#include <macwin32.h>\n#endif //_MAC\n\n//\n// Define API decoration for direct importing of DLL references.\n//\n\n#if !defined(_ADVAPI32_)\n#define WINADVAPI DECLSPEC_IMPORT\n#else\n#define WINADVAPI\n#endif\n\n#if !defined(_KERNEL32_)\n#define WINBASEAPI DECLSPEC_IMPORT\n#else\n#define WINBASEAPI\n#endif\n\n#if !defined(_ZAWPROXY_)\n#define ZAWPROXYAPI DECLSPEC_IMPORT\n#else\n#define ZAWPROXYAPI\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n * Compatibility macros\n */\n\n#define DefineHandleTable(w)            ((w),TRUE)\n#define LimitEmsPages(dw)\n#define SetSwapAreaSize(w)              (w)\n#define LockSegment(w)                  GlobalFix((HANDLE)(w))\n#define UnlockSegment(w)                GlobalUnfix((HANDLE)(w))\n#define GetCurrentTime()                GetTickCount()\n\n#define Yield()\n\n#define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)\n#define INVALID_FILE_SIZE ((DWORD)0xFFFFFFFF)\n#define INVALID_SET_FILE_POINTER ((DWORD)-1)\n#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)\n\n#define FILE_BEGIN           0\n#define FILE_CURRENT         1\n#define FILE_END             2\n\n#define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF)\n\n#define WAIT_FAILED ((DWORD)0xFFFFFFFF)\n#define WAIT_OBJECT_0       ((STATUS_WAIT_0 ) + 0 )\n\n#define WAIT_ABANDONED         ((STATUS_ABANDONED_WAIT_0 ) + 0 )\n#define WAIT_ABANDONED_0       ((STATUS_ABANDONED_WAIT_0 ) + 0 )\n\n#define WAIT_IO_COMPLETION                  STATUS_USER_APC\n#define STILL_ACTIVE                        STATUS_PENDING\n#define EXCEPTION_ACCESS_VIOLATION          STATUS_ACCESS_VIOLATION\n#define EXCEPTION_DATATYPE_MISALIGNMENT     STATUS_DATATYPE_MISALIGNMENT\n#define EXCEPTION_BREAKPOINT                STATUS_BREAKPOINT\n#define EXCEPTION_SINGLE_STEP               STATUS_SINGLE_STEP\n#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED     STATUS_ARRAY_BOUNDS_EXCEEDED\n#define EXCEPTION_FLT_DENORMAL_OPERAND      STATUS_FLOAT_DENORMAL_OPERAND\n#define EXCEPTION_FLT_DIVIDE_BY_ZERO        STATUS_FLOAT_DIVIDE_BY_ZERO\n#define EXCEPTION_FLT_INEXACT_RESULT        STATUS_FLOAT_INEXACT_RESULT\n#define EXCEPTION_FLT_INVALID_OPERATION     STATUS_FLOAT_INVALID_OPERATION\n#define EXCEPTION_FLT_OVERFLOW              STATUS_FLOAT_OVERFLOW\n#define EXCEPTION_FLT_STACK_CHECK           STATUS_FLOAT_STACK_CHECK\n#define EXCEPTION_FLT_UNDERFLOW             STATUS_FLOAT_UNDERFLOW\n#define EXCEPTION_INT_DIVIDE_BY_ZERO        STATUS_INTEGER_DIVIDE_BY_ZERO\n#define EXCEPTION_INT_OVERFLOW              STATUS_INTEGER_OVERFLOW\n#define EXCEPTION_PRIV_INSTRUCTION          STATUS_PRIVILEGED_INSTRUCTION\n#define EXCEPTION_IN_PAGE_ERROR             STATUS_IN_PAGE_ERROR\n#define EXCEPTION_ILLEGAL_INSTRUCTION       STATUS_ILLEGAL_INSTRUCTION\n#define EXCEPTION_NONCONTINUABLE_EXCEPTION  STATUS_NONCONTINUABLE_EXCEPTION\n#define EXCEPTION_STACK_OVERFLOW            STATUS_STACK_OVERFLOW\n#define EXCEPTION_INVALID_DISPOSITION       STATUS_INVALID_DISPOSITION\n#define EXCEPTION_GUARD_PAGE                STATUS_GUARD_PAGE_VIOLATION\n#define EXCEPTION_INVALID_HANDLE            STATUS_INVALID_HANDLE\n#define CONTROL_C_EXIT                      STATUS_CONTROL_C_EXIT\n#define MoveMemory RtlMoveMemory\n#define CopyMemory RtlCopyMemory\n#define FillMemory RtlFillMemory\n#define ZeroMemory RtlZeroMemory\n#define SecureZeroMemory RtlSecureZeroMemory\n\n//\n// File creation flags must start at the high end since they\n// are combined with the attributes\n//\n\n#define FILE_FLAG_WRITE_THROUGH         0x80000000\n#define FILE_FLAG_OVERLAPPED            0x40000000\n#define FILE_FLAG_NO_BUFFERING          0x20000000\n#define FILE_FLAG_RANDOM_ACCESS         0x10000000\n#define FILE_FLAG_SEQUENTIAL_SCAN       0x08000000\n#define FILE_FLAG_DELETE_ON_CLOSE       0x04000000\n#define FILE_FLAG_BACKUP_SEMANTICS      0x02000000\n#define FILE_FLAG_POSIX_SEMANTICS       0x01000000\n#define FILE_FLAG_OPEN_REPARSE_POINT    0x00200000\n#define FILE_FLAG_OPEN_NO_RECALL        0x00100000\n#define FILE_FLAG_FIRST_PIPE_INSTANCE   0x00080000\n\n#define CREATE_NEW          1\n#define CREATE_ALWAYS       2\n#define OPEN_EXISTING       3\n#define OPEN_ALWAYS         4\n#define TRUNCATE_EXISTING   5\n\n#if(_WIN32_WINNT >= 0x0400)\n//\n// Define possible return codes from the CopyFileEx callback routine\n//\n\n#define PROGRESS_CONTINUE   0\n#define PROGRESS_CANCEL     1\n#define PROGRESS_STOP       2\n#define PROGRESS_QUIET      3\n\n//\n// Define CopyFileEx callback routine state change values\n//\n\n#define CALLBACK_CHUNK_FINISHED         0x00000000\n#define CALLBACK_STREAM_SWITCH          0x00000001\n\n//\n// Define CopyFileEx option flags\n//\n\n#define COPY_FILE_FAIL_IF_EXISTS              0x00000001\n#define COPY_FILE_RESTARTABLE                 0x00000002\n#define COPY_FILE_OPEN_SOURCE_FOR_WRITE       0x00000004\n#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n//\n// Define ReplaceFile option flags\n//\n\n#define REPLACEFILE_WRITE_THROUGH       0x00000001\n#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002\n\n#endif // #if (_WIN32_WINNT >= 0x0500)\n\n//\n// Define the NamedPipe definitions\n//\n\n\n//\n// Define the dwOpenMode values for CreateNamedPipe\n//\n\n#define PIPE_ACCESS_INBOUND         0x00000001\n#define PIPE_ACCESS_OUTBOUND        0x00000002\n#define PIPE_ACCESS_DUPLEX          0x00000003\n\n//\n// Define the Named Pipe End flags for GetNamedPipeInfo\n//\n\n#define PIPE_CLIENT_END             0x00000000\n#define PIPE_SERVER_END             0x00000001\n\n//\n// Define the dwPipeMode values for CreateNamedPipe\n//\n\n#define PIPE_WAIT                   0x00000000\n#define PIPE_NOWAIT                 0x00000001\n#define PIPE_READMODE_BYTE          0x00000000\n#define PIPE_READMODE_MESSAGE       0x00000002\n#define PIPE_TYPE_BYTE              0x00000000\n#define PIPE_TYPE_MESSAGE           0x00000004\n\n//\n// Define the well known values for CreateNamedPipe nMaxInstances\n//\n\n#define PIPE_UNLIMITED_INSTANCES    255\n\n//\n// Define the Security Quality of Service bits to be passed\n// into CreateFile\n//\n\n#define SECURITY_ANONYMOUS          ( SecurityAnonymous      << 16 )\n#define SECURITY_IDENTIFICATION     ( SecurityIdentification << 16 )\n#define SECURITY_IMPERSONATION      ( SecurityImpersonation  << 16 )\n#define SECURITY_DELEGATION         ( SecurityDelegation     << 16 )\n\n#define SECURITY_CONTEXT_TRACKING  0x00040000\n#define SECURITY_EFFECTIVE_ONLY    0x00080000\n\n#define SECURITY_SQOS_PRESENT      0x00100000\n#define SECURITY_VALID_SQOS_FLAGS  0x001F0000\n\n//\n//  File structures\n//\n\ntypedef struct _OVERLAPPED {\n    ULONG_PTR Internal;\n    ULONG_PTR InternalHigh;\n    union {\n        struct {\n            DWORD Offset;\n            DWORD OffsetHigh;\n        };\n\n        PVOID Pointer;\n    };\n\n    HANDLE  hEvent;\n} OVERLAPPED, *LPOVERLAPPED;\n\ntypedef struct _SECURITY_ATTRIBUTES {\n    DWORD nLength;\n    LPVOID lpSecurityDescriptor;\n    BOOL bInheritHandle;\n} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;\n\ntypedef struct _PROCESS_INFORMATION {\n    HANDLE hProcess;\n    HANDLE hThread;\n    DWORD dwProcessId;\n    DWORD dwThreadId;\n} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;\n\n//\n//  File System time stamps are represented with the following structure:\n//\n\n\n#ifndef _FILETIME_\n#define _FILETIME_\ntypedef struct _FILETIME {\n    DWORD dwLowDateTime;\n    DWORD dwHighDateTime;\n} FILETIME, *PFILETIME, *LPFILETIME;\n#endif\n\n//\n// System time is represented with the following structure:\n//\n\n\ntypedef struct _SYSTEMTIME {\n    WORD wYear;\n    WORD wMonth;\n    WORD wDayOfWeek;\n    WORD wDay;\n    WORD wHour;\n    WORD wMinute;\n    WORD wSecond;\n    WORD wMilliseconds;\n} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;\n\n\ntypedef DWORD (WINAPI *PTHREAD_START_ROUTINE)(\n    LPVOID lpThreadParameter\n    );\ntypedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;\n\n#if(_WIN32_WINNT >= 0x0400)\ntypedef VOID (WINAPI *PFIBER_START_ROUTINE)(\n    LPVOID lpFiberParameter\n    );\ntypedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;\n#endif /* _WIN32_WINNT >= 0x0400 */\n\ntypedef RTL_CRITICAL_SECTION CRITICAL_SECTION;\ntypedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;\ntypedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;\n\ntypedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;\ntypedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;\ntypedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;\n\n#if defined(_X86_)\ntypedef PLDT_ENTRY LPLDT_ENTRY;\n#else\ntypedef LPVOID LPLDT_ENTRY;\n#endif\n\n#define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE\n#define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS\n\n//\n// Serial provider type.\n//\n\n#define SP_SERIALCOMM    ((DWORD)0x00000001)\n\n//\n// Provider SubTypes\n//\n\n#define PST_UNSPECIFIED      ((DWORD)0x00000000)\n#define PST_RS232            ((DWORD)0x00000001)\n#define PST_PARALLELPORT     ((DWORD)0x00000002)\n#define PST_RS422            ((DWORD)0x00000003)\n#define PST_RS423            ((DWORD)0x00000004)\n#define PST_RS449            ((DWORD)0x00000005)\n#define PST_MODEM            ((DWORD)0x00000006)\n#define PST_FAX              ((DWORD)0x00000021)\n#define PST_SCANNER          ((DWORD)0x00000022)\n#define PST_NETWORK_BRIDGE   ((DWORD)0x00000100)\n#define PST_LAT              ((DWORD)0x00000101)\n#define PST_TCPIP_TELNET     ((DWORD)0x00000102)\n#define PST_X25              ((DWORD)0x00000103)\n\n\n//\n// Provider capabilities flags.\n//\n\n#define PCF_DTRDSR        ((DWORD)0x0001)\n#define PCF_RTSCTS        ((DWORD)0x0002)\n#define PCF_RLSD          ((DWORD)0x0004)\n#define PCF_PARITY_CHECK  ((DWORD)0x0008)\n#define PCF_XONXOFF       ((DWORD)0x0010)\n#define PCF_SETXCHAR      ((DWORD)0x0020)\n#define PCF_TOTALTIMEOUTS ((DWORD)0x0040)\n#define PCF_INTTIMEOUTS   ((DWORD)0x0080)\n#define PCF_SPECIALCHARS  ((DWORD)0x0100)\n#define PCF_16BITMODE     ((DWORD)0x0200)\n\n//\n// Comm provider settable parameters.\n//\n\n#define SP_PARITY         ((DWORD)0x0001)\n#define SP_BAUD           ((DWORD)0x0002)\n#define SP_DATABITS       ((DWORD)0x0004)\n#define SP_STOPBITS       ((DWORD)0x0008)\n#define SP_HANDSHAKING    ((DWORD)0x0010)\n#define SP_PARITY_CHECK   ((DWORD)0x0020)\n#define SP_RLSD           ((DWORD)0x0040)\n\n//\n// Settable baud rates in the provider.\n//\n\n#define BAUD_075          ((DWORD)0x00000001)\n#define BAUD_110          ((DWORD)0x00000002)\n#define BAUD_134_5        ((DWORD)0x00000004)\n#define BAUD_150          ((DWORD)0x00000008)\n#define BAUD_300          ((DWORD)0x00000010)\n#define BAUD_600          ((DWORD)0x00000020)\n#define BAUD_1200         ((DWORD)0x00000040)\n#define BAUD_1800         ((DWORD)0x00000080)\n#define BAUD_2400         ((DWORD)0x00000100)\n#define BAUD_4800         ((DWORD)0x00000200)\n#define BAUD_7200         ((DWORD)0x00000400)\n#define BAUD_9600         ((DWORD)0x00000800)\n#define BAUD_14400        ((DWORD)0x00001000)\n#define BAUD_19200        ((DWORD)0x00002000)\n#define BAUD_38400        ((DWORD)0x00004000)\n#define BAUD_56K          ((DWORD)0x00008000)\n#define BAUD_128K         ((DWORD)0x00010000)\n#define BAUD_115200       ((DWORD)0x00020000)\n#define BAUD_57600        ((DWORD)0x00040000)\n#define BAUD_USER         ((DWORD)0x10000000)\n\n//\n// Settable Data Bits\n//\n\n#define DATABITS_5        ((WORD)0x0001)\n#define DATABITS_6        ((WORD)0x0002)\n#define DATABITS_7        ((WORD)0x0004)\n#define DATABITS_8        ((WORD)0x0008)\n#define DATABITS_16       ((WORD)0x0010)\n#define DATABITS_16X      ((WORD)0x0020)\n\n//\n// Settable Stop and Parity bits.\n//\n\n#define STOPBITS_10       ((WORD)0x0001)\n#define STOPBITS_15       ((WORD)0x0002)\n#define STOPBITS_20       ((WORD)0x0004)\n#define PARITY_NONE       ((WORD)0x0100)\n#define PARITY_ODD        ((WORD)0x0200)\n#define PARITY_EVEN       ((WORD)0x0400)\n#define PARITY_MARK       ((WORD)0x0800)\n#define PARITY_SPACE      ((WORD)0x1000)\n\ntypedef struct _COMMPROP {\n    WORD wPacketLength;\n    WORD wPacketVersion;\n    DWORD dwServiceMask;\n    DWORD dwReserved1;\n    DWORD dwMaxTxQueue;\n    DWORD dwMaxRxQueue;\n    DWORD dwMaxBaud;\n    DWORD dwProvSubType;\n    DWORD dwProvCapabilities;\n    DWORD dwSettableParams;\n    DWORD dwSettableBaud;\n    WORD wSettableData;\n    WORD wSettableStopParity;\n    DWORD dwCurrentTxQueue;\n    DWORD dwCurrentRxQueue;\n    DWORD dwProvSpec1;\n    DWORD dwProvSpec2;\n    WCHAR wcProvChar[1];\n} COMMPROP,*LPCOMMPROP;\n\n//\n// Set dwProvSpec1 to COMMPROP_INITIALIZED to indicate that wPacketLength\n// is valid before a call to GetCommProperties().\n//\n#define COMMPROP_INITIALIZED ((DWORD)0xE73CF52E)\n\ntypedef struct _COMSTAT {\n    DWORD fCtsHold : 1;\n    DWORD fDsrHold : 1;\n    DWORD fRlsdHold : 1;\n    DWORD fXoffHold : 1;\n    DWORD fXoffSent : 1;\n    DWORD fEof : 1;\n    DWORD fTxim : 1;\n    DWORD fReserved : 25;\n    DWORD cbInQue;\n    DWORD cbOutQue;\n} COMSTAT, *LPCOMSTAT;\n\n//\n// DTR Control Flow Values.\n//\n#define DTR_CONTROL_DISABLE    0x00\n#define DTR_CONTROL_ENABLE     0x01\n#define DTR_CONTROL_HANDSHAKE  0x02\n\n//\n// RTS Control Flow Values\n//\n#define RTS_CONTROL_DISABLE    0x00\n#define RTS_CONTROL_ENABLE     0x01\n#define RTS_CONTROL_HANDSHAKE  0x02\n#define RTS_CONTROL_TOGGLE     0x03\n\ntypedef struct _DCB {\n    DWORD DCBlength;      /* sizeof(DCB)                     */\n    DWORD BaudRate;       /* Baudrate at which running       */\n    DWORD fBinary: 1;     /* Binary Mode (skip EOF check)    */\n    DWORD fParity: 1;     /* Enable parity checking          */\n    DWORD fOutxCtsFlow:1; /* CTS handshaking on output       */\n    DWORD fOutxDsrFlow:1; /* DSR handshaking on output       */\n    DWORD fDtrControl:2;  /* DTR Flow control                */\n    DWORD fDsrSensitivity:1; /* DSR Sensitivity              */\n    DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */\n    DWORD fOutX: 1;       /* Enable output X-ON/X-OFF        */\n    DWORD fInX: 1;        /* Enable input X-ON/X-OFF         */\n    DWORD fErrorChar: 1;  /* Enable Err Replacement          */\n    DWORD fNull: 1;       /* Enable Null stripping           */\n    DWORD fRtsControl:2;  /* Rts Flow control                */\n    DWORD fAbortOnError:1; /* Abort all reads and writes on Error */\n    DWORD fDummy2:17;     /* Reserved                        */\n    WORD wReserved;       /* Not currently used              */\n    WORD XonLim;          /* Transmit X-ON threshold         */\n    WORD XoffLim;         /* Transmit X-OFF threshold        */\n    BYTE ByteSize;        /* Number of bits/byte, 4-8        */\n    BYTE Parity;          /* 0-4=None,Odd,Even,Mark,Space    */\n    BYTE StopBits;        /* 0,1,2 = 1, 1.5, 2               */\n    char XonChar;         /* Tx and Rx X-ON character        */\n    char XoffChar;        /* Tx and Rx X-OFF character       */\n    char ErrorChar;       /* Error replacement char          */\n    char EofChar;         /* End of Input character          */\n    char EvtChar;         /* Received Event character        */\n    WORD wReserved1;      /* Fill for now.                   */\n} DCB, *LPDCB;\n\ntypedef struct _COMMTIMEOUTS {\n    DWORD ReadIntervalTimeout;          /* Maximum time between read chars. */\n    DWORD ReadTotalTimeoutMultiplier;   /* Multiplier of characters.        */\n    DWORD ReadTotalTimeoutConstant;     /* Constant in milliseconds.        */\n    DWORD WriteTotalTimeoutMultiplier;  /* Multiplier of characters.        */\n    DWORD WriteTotalTimeoutConstant;    /* Constant in milliseconds.        */\n} COMMTIMEOUTS,*LPCOMMTIMEOUTS;\n\ntypedef struct _COMMCONFIG {\n    DWORD dwSize;               /* Size of the entire struct */\n    WORD wVersion;              /* version of the structure */\n    WORD wReserved;             /* alignment */\n    DCB dcb;                    /* device control block */\n    DWORD dwProviderSubType;    /* ordinal value for identifying\n                                   provider-defined data structure format*/\n    DWORD dwProviderOffset;     /* Specifies the offset of provider specific\n                                   data field in bytes from the start */\n    DWORD dwProviderSize;       /* size of the provider-specific data field */\n    WCHAR wcProviderData[1];    /* provider-specific data */\n} COMMCONFIG,*LPCOMMCONFIG;\n\ntypedef struct _SYSTEM_INFO {\n    union {\n        DWORD dwOemId;          // Obsolete field...do not use\n        struct {\n            WORD wProcessorArchitecture;\n            WORD wReserved;\n        };\n    };\n    DWORD dwPageSize;\n    LPVOID lpMinimumApplicationAddress;\n    LPVOID lpMaximumApplicationAddress;\n    DWORD_PTR dwActiveProcessorMask;\n    DWORD dwNumberOfProcessors;\n    DWORD dwProcessorType;\n    DWORD dwAllocationGranularity;\n    WORD wProcessorLevel;\n    WORD wProcessorRevision;\n} SYSTEM_INFO, *LPSYSTEM_INFO;\n\n//\n//\n\n\n#define FreeModule(hLibModule) FreeLibrary((hLibModule))\n#define MakeProcInstance(lpProc,hInstance) (lpProc)\n#define FreeProcInstance(lpProc) (lpProc)\n\n/* Global Memory Flags */\n#define GMEM_FIXED          0x0000\n#define GMEM_MOVEABLE       0x0002\n#define GMEM_NOCOMPACT      0x0010\n#define GMEM_NODISCARD      0x0020\n#define GMEM_ZEROINIT       0x0040\n#define GMEM_MODIFY         0x0080\n#define GMEM_DISCARDABLE    0x0100\n#define GMEM_NOT_BANKED     0x1000\n#define GMEM_SHARE          0x2000\n#define GMEM_DDESHARE       0x2000\n#define GMEM_NOTIFY         0x4000\n#define GMEM_LOWER          GMEM_NOT_BANKED\n#define GMEM_VALID_FLAGS    0x7F72\n#define GMEM_INVALID_HANDLE 0x8000\n\n#define GHND                (GMEM_MOVEABLE | GMEM_ZEROINIT)\n#define GPTR                (GMEM_FIXED | GMEM_ZEROINIT)\n\n#define GlobalLRUNewest( h )    ((HANDLE)(h))\n#define GlobalLRUOldest( h )    ((HANDLE)(h))\n#define GlobalDiscard( h )      GlobalReAlloc( (h), 0, GMEM_MOVEABLE )\n\n/* Flags returned by GlobalFlags (in addition to GMEM_DISCARDABLE) */\n#define GMEM_DISCARDED      0x4000\n#define GMEM_LOCKCOUNT      0x00FF\n\ntypedef struct _MEMORYSTATUS {\n    DWORD dwLength;\n    DWORD dwMemoryLoad;\n    SIZE_T dwTotalPhys;\n    SIZE_T dwAvailPhys;\n    SIZE_T dwTotalPageFile;\n    SIZE_T dwAvailPageFile;\n    SIZE_T dwTotalVirtual;\n    SIZE_T dwAvailVirtual;\n} MEMORYSTATUS, *LPMEMORYSTATUS;\n\n/* Local Memory Flags */\n#define LMEM_FIXED          0x0000\n#define LMEM_MOVEABLE       0x0002\n#define LMEM_NOCOMPACT      0x0010\n#define LMEM_NODISCARD      0x0020\n#define LMEM_ZEROINIT       0x0040\n#define LMEM_MODIFY         0x0080\n#define LMEM_DISCARDABLE    0x0F00\n#define LMEM_VALID_FLAGS    0x0F72\n#define LMEM_INVALID_HANDLE 0x8000\n\n#define LHND                (LMEM_MOVEABLE | LMEM_ZEROINIT)\n#define LPTR                (LMEM_FIXED | LMEM_ZEROINIT)\n\n#define NONZEROLHND         (LMEM_MOVEABLE)\n#define NONZEROLPTR         (LMEM_FIXED)\n\n#define LocalDiscard( h )   LocalReAlloc( (h), 0, LMEM_MOVEABLE )\n\n/* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */\n#define LMEM_DISCARDED      0x4000\n#define LMEM_LOCKCOUNT      0x00FF\n\n//\n// dwCreationFlag values\n//\n\n#define DEBUG_PROCESS                     0x00000001\n#define DEBUG_ONLY_THIS_PROCESS           0x00000002\n\n#define CREATE_SUSPENDED                  0x00000004\n\n#define DETACHED_PROCESS                  0x00000008\n\n#define CREATE_NEW_CONSOLE                0x00000010\n\n#define NORMAL_PRIORITY_CLASS             0x00000020\n#define IDLE_PRIORITY_CLASS               0x00000040\n#define HIGH_PRIORITY_CLASS               0x00000080\n#define REALTIME_PRIORITY_CLASS           0x00000100\n\n#define CREATE_NEW_PROCESS_GROUP          0x00000200\n#define CREATE_UNICODE_ENVIRONMENT        0x00000400\n\n#define CREATE_SEPARATE_WOW_VDM           0x00000800\n#define CREATE_SHARED_WOW_VDM             0x00001000\n#define CREATE_FORCEDOS                   0x00002000\n\n#define BELOW_NORMAL_PRIORITY_CLASS       0x00004000\n#define ABOVE_NORMAL_PRIORITY_CLASS       0x00008000\n#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000\n\n#define CREATE_BREAKAWAY_FROM_JOB         0x01000000\n#define CREATE_PRESERVE_CODE_AUTHZ_LEVEL  0x02000000\n\n#define CREATE_DEFAULT_ERROR_MODE         0x04000000\n#define CREATE_NO_WINDOW                  0x08000000\n\n#define PROFILE_USER                      0x10000000\n#define PROFILE_KERNEL                    0x20000000\n#define PROFILE_SERVER                    0x40000000\n\n#define CREATE_IGNORE_SYSTEM_DEFAULT      0x80000000\n\n#define THREAD_PRIORITY_LOWEST          THREAD_BASE_PRIORITY_MIN\n#define THREAD_PRIORITY_BELOW_NORMAL    (THREAD_PRIORITY_LOWEST+1)\n#define THREAD_PRIORITY_NORMAL          0\n#define THREAD_PRIORITY_HIGHEST         THREAD_BASE_PRIORITY_MAX\n#define THREAD_PRIORITY_ABOVE_NORMAL    (THREAD_PRIORITY_HIGHEST-1)\n#define THREAD_PRIORITY_ERROR_RETURN    (MAXLONG)\n\n#define THREAD_PRIORITY_TIME_CRITICAL   THREAD_BASE_PRIORITY_LOWRT\n#define THREAD_PRIORITY_IDLE            THREAD_BASE_PRIORITY_IDLE\n\n//\n// Debug APIs\n//\n#define EXCEPTION_DEBUG_EVENT       1\n#define CREATE_THREAD_DEBUG_EVENT   2\n#define CREATE_PROCESS_DEBUG_EVENT  3\n#define EXIT_THREAD_DEBUG_EVENT     4\n#define EXIT_PROCESS_DEBUG_EVENT    5\n#define LOAD_DLL_DEBUG_EVENT        6\n#define UNLOAD_DLL_DEBUG_EVENT      7\n#define OUTPUT_DEBUG_STRING_EVENT   8\n#define RIP_EVENT                   9\n\ntypedef struct _EXCEPTION_DEBUG_INFO {\n    EXCEPTION_RECORD ExceptionRecord;\n    DWORD dwFirstChance;\n} EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;\n\ntypedef struct _CREATE_THREAD_DEBUG_INFO {\n    HANDLE hThread;\n    LPVOID lpThreadLocalBase;\n    LPTHREAD_START_ROUTINE lpStartAddress;\n} CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;\n\ntypedef struct _CREATE_PROCESS_DEBUG_INFO {\n    HANDLE hFile;\n    HANDLE hProcess;\n    HANDLE hThread;\n    LPVOID lpBaseOfImage;\n    DWORD dwDebugInfoFileOffset;\n    DWORD nDebugInfoSize;\n    LPVOID lpThreadLocalBase;\n    LPTHREAD_START_ROUTINE lpStartAddress;\n    LPVOID lpImageName;\n    WORD fUnicode;\n} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;\n\ntypedef struct _EXIT_THREAD_DEBUG_INFO {\n    DWORD dwExitCode;\n} EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;\n\ntypedef struct _EXIT_PROCESS_DEBUG_INFO {\n    DWORD dwExitCode;\n} EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;\n\ntypedef struct _LOAD_DLL_DEBUG_INFO {\n    HANDLE hFile;\n    LPVOID lpBaseOfDll;\n    DWORD dwDebugInfoFileOffset;\n    DWORD nDebugInfoSize;\n    LPVOID lpImageName;\n    WORD fUnicode;\n} LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;\n\ntypedef struct _UNLOAD_DLL_DEBUG_INFO {\n    LPVOID lpBaseOfDll;\n} UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;\n\ntypedef struct _OUTPUT_DEBUG_STRING_INFO {\n    LPSTR lpDebugStringData;\n    WORD fUnicode;\n    WORD nDebugStringLength;\n} OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;\n\ntypedef struct _RIP_INFO {\n    DWORD dwError;\n    DWORD dwType;\n} RIP_INFO, *LPRIP_INFO;\n\n\ntypedef struct _DEBUG_EVENT {\n    DWORD dwDebugEventCode;\n    DWORD dwProcessId;\n    DWORD dwThreadId;\n    union {\n        EXCEPTION_DEBUG_INFO Exception;\n        CREATE_THREAD_DEBUG_INFO CreateThread;\n        CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;\n        EXIT_THREAD_DEBUG_INFO ExitThread;\n        EXIT_PROCESS_DEBUG_INFO ExitProcess;\n        LOAD_DLL_DEBUG_INFO LoadDll;\n        UNLOAD_DLL_DEBUG_INFO UnloadDll;\n        OUTPUT_DEBUG_STRING_INFO DebugString;\n        RIP_INFO RipInfo;\n    } u;\n} DEBUG_EVENT, *LPDEBUG_EVENT;\n\n#if !defined(MIDL_PASS)\ntypedef PCONTEXT LPCONTEXT;\ntypedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;\ntypedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;\n#endif\n\n#define DRIVE_UNKNOWN     0\n#define DRIVE_NO_ROOT_DIR 1\n#define DRIVE_REMOVABLE   2\n#define DRIVE_FIXED       3\n#define DRIVE_REMOTE      4\n#define DRIVE_CDROM       5\n#define DRIVE_RAMDISK     6\n\n\n#ifndef _MAC\n#define GetFreeSpace(w)                 (0x100000L)\n#else\nWINBASEAPI DWORD WINAPI GetFreeSpace(UINT);\n#endif\n\n\n#define FILE_TYPE_UNKNOWN   0x0000\n#define FILE_TYPE_DISK      0x0001\n#define FILE_TYPE_CHAR      0x0002\n#define FILE_TYPE_PIPE      0x0003\n#define FILE_TYPE_REMOTE    0x8000\n\n\n#define STD_INPUT_HANDLE    ((DWORD)-10)\n#define STD_OUTPUT_HANDLE   ((DWORD)-11)\n#define STD_ERROR_HANDLE    ((DWORD)-12)\n\n#define NOPARITY            0\n#define ODDPARITY           1\n#define EVENPARITY          2\n#define MARKPARITY          3\n#define SPACEPARITY         4\n\n#define ONESTOPBIT          0\n#define ONE5STOPBITS        1\n#define TWOSTOPBITS         2\n\n#define IGNORE              0       // Ignore signal\n#define INFINITE            0xFFFFFFFF  // Infinite timeout\n\n//\n// Baud rates at which the communication device operates\n//\n\n#define CBR_110             110\n#define CBR_300             300\n#define CBR_600             600\n#define CBR_1200            1200\n#define CBR_2400            2400\n#define CBR_4800            4800\n#define CBR_9600            9600\n#define CBR_14400           14400\n#define CBR_19200           19200\n#define CBR_38400           38400\n#define CBR_56000           56000\n#define CBR_57600           57600\n#define CBR_115200          115200\n#define CBR_128000          128000\n#define CBR_256000          256000\n\n//\n// Error Flags\n//\n\n#define CE_RXOVER           0x0001  // Receive Queue overflow\n#define CE_OVERRUN          0x0002  // Receive Overrun Error\n#define CE_RXPARITY         0x0004  // Receive Parity Error\n#define CE_FRAME            0x0008  // Receive Framing error\n#define CE_BREAK            0x0010  // Break Detected\n#define CE_TXFULL           0x0100  // TX Queue is full\n#define CE_PTO              0x0200  // LPTx Timeout\n#define CE_IOE              0x0400  // LPTx I/O Error\n#define CE_DNS              0x0800  // LPTx Device not selected\n#define CE_OOP              0x1000  // LPTx Out-Of-Paper\n#define CE_MODE             0x8000  // Requested mode unsupported\n\n#define IE_BADID            (-1)    // Invalid or unsupported id\n#define IE_OPEN             (-2)    // Device Already Open\n#define IE_NOPEN            (-3)    // Device Not Open\n#define IE_MEMORY           (-4)    // Unable to allocate queues\n#define IE_DEFAULT          (-5)    // Error in default parameters\n#define IE_HARDWARE         (-10)   // Hardware Not Present\n#define IE_BYTESIZE         (-11)   // Illegal Byte Size\n#define IE_BAUDRATE         (-12)   // Unsupported BaudRate\n\n//\n// Events\n//\n\n#define EV_RXCHAR           0x0001  // Any Character received\n#define EV_RXFLAG           0x0002  // Received certain character\n#define EV_TXEMPTY          0x0004  // Transmitt Queue Empty\n#define EV_CTS              0x0008  // CTS changed state\n#define EV_DSR              0x0010  // DSR changed state\n#define EV_RLSD             0x0020  // RLSD changed state\n#define EV_BREAK            0x0040  // BREAK received\n#define EV_ERR              0x0080  // Line status error occurred\n#define EV_RING             0x0100  // Ring signal detected\n#define EV_PERR             0x0200  // Printer error occured\n#define EV_RX80FULL         0x0400  // Receive buffer is 80 percent full\n#define EV_EVENT1           0x0800  // Provider specific event 1\n#define EV_EVENT2           0x1000  // Provider specific event 2\n\n//\n// Escape Functions\n//\n\n#define SETXOFF             1       // Simulate XOFF received\n#define SETXON              2       // Simulate XON received\n#define SETRTS              3       // Set RTS high\n#define CLRRTS              4       // Set RTS low\n#define SETDTR              5       // Set DTR high\n#define CLRDTR              6       // Set DTR low\n#define RESETDEV            7       // Reset device if possible\n#define SETBREAK            8       // Set the device break line.\n#define CLRBREAK            9       // Clear the device break line.\n\n//\n// PURGE function flags.\n//\n#define PURGE_TXABORT       0x0001  // Kill the pending/current writes to the comm port.\n#define PURGE_RXABORT       0x0002  // Kill the pending/current reads to the comm port.\n#define PURGE_TXCLEAR       0x0004  // Kill the transmit queue if there.\n#define PURGE_RXCLEAR       0x0008  // Kill the typeahead buffer if there.\n\n#define LPTx                0x80    // Set if ID is for LPT device\n\n//\n// Modem Status Flags\n//\n#define MS_CTS_ON           ((DWORD)0x0010)\n#define MS_DSR_ON           ((DWORD)0x0020)\n#define MS_RING_ON          ((DWORD)0x0040)\n#define MS_RLSD_ON          ((DWORD)0x0080)\n\n//\n// WaitSoundState() Constants\n//\n\n#define S_QUEUEEMPTY        0\n#define S_THRESHOLD         1\n#define S_ALLTHRESHOLD      2\n\n//\n// Accent Modes\n//\n\n#define S_NORMAL      0\n#define S_LEGATO      1\n#define S_STACCATO    2\n\n//\n// SetSoundNoise() Sources\n//\n\n#define S_PERIOD512   0     // Freq = N/512 high pitch, less coarse hiss\n#define S_PERIOD1024  1     // Freq = N/1024\n#define S_PERIOD2048  2     // Freq = N/2048 low pitch, more coarse hiss\n#define S_PERIODVOICE 3     // Source is frequency from voice channel (3)\n#define S_WHITE512    4     // Freq = N/512 high pitch, less coarse hiss\n#define S_WHITE1024   5     // Freq = N/1024\n#define S_WHITE2048   6     // Freq = N/2048 low pitch, more coarse hiss\n#define S_WHITEVOICE  7     // Source is frequency from voice channel (3)\n\n#define S_SERDVNA     (-1)  // Device not available\n#define S_SEROFM      (-2)  // Out of memory\n#define S_SERMACT     (-3)  // Music active\n#define S_SERQFUL     (-4)  // Queue full\n#define S_SERBDNT     (-5)  // Invalid note\n#define S_SERDLN      (-6)  // Invalid note length\n#define S_SERDCC      (-7)  // Invalid note count\n#define S_SERDTP      (-8)  // Invalid tempo\n#define S_SERDVL      (-9)  // Invalid volume\n#define S_SERDMD      (-10) // Invalid mode\n#define S_SERDSH      (-11) // Invalid shape\n#define S_SERDPT      (-12) // Invalid pitch\n#define S_SERDFQ      (-13) // Invalid frequency\n#define S_SERDDR      (-14) // Invalid duration\n#define S_SERDSR      (-15) // Invalid source\n#define S_SERDST      (-16) // Invalid state\n\n#define NMPWAIT_WAIT_FOREVER            0xffffffff\n#define NMPWAIT_NOWAIT                  0x00000001\n#define NMPWAIT_USE_DEFAULT_WAIT        0x00000000\n\n#define FS_CASE_IS_PRESERVED            FILE_CASE_PRESERVED_NAMES\n#define FS_CASE_SENSITIVE               FILE_CASE_SENSITIVE_SEARCH\n#define FS_UNICODE_STORED_ON_DISK       FILE_UNICODE_ON_DISK\n#define FS_PERSISTENT_ACLS              FILE_PERSISTENT_ACLS\n#define FS_VOL_IS_COMPRESSED            FILE_VOLUME_IS_COMPRESSED\n#define FS_FILE_COMPRESSION             FILE_FILE_COMPRESSION\n#define FS_FILE_ENCRYPTION              FILE_SUPPORTS_ENCRYPTION\n\n\n\n\n\n\n#define FILE_MAP_COPY       SECTION_QUERY\n#define FILE_MAP_WRITE      SECTION_MAP_WRITE\n#define FILE_MAP_READ       SECTION_MAP_READ\n#define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS\n\n#define OF_READ             0x00000000\n#define OF_WRITE            0x00000001\n#define OF_READWRITE        0x00000002\n#define OF_SHARE_COMPAT     0x00000000\n#define OF_SHARE_EXCLUSIVE  0x00000010\n#define OF_SHARE_DENY_WRITE 0x00000020\n#define OF_SHARE_DENY_READ  0x00000030\n#define OF_SHARE_DENY_NONE  0x00000040\n#define OF_PARSE            0x00000100\n#define OF_DELETE           0x00000200\n#define OF_VERIFY           0x00000400\n#define OF_CANCEL           0x00000800\n#define OF_CREATE           0x00001000\n#define OF_PROMPT           0x00002000\n#define OF_EXIST            0x00004000\n#define OF_REOPEN           0x00008000\n\n#define OFS_MAXPATHNAME 128\ntypedef struct _OFSTRUCT {\n    BYTE cBytes;\n    BYTE fFixedDisk;\n    WORD nErrCode;\n    WORD Reserved1;\n    WORD Reserved2;\n    CHAR szPathName[OFS_MAXPATHNAME];\n} OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;\n\n\n#ifndef NOWINBASEINTERLOCK\n\n#ifndef _NTOS_\n\n#if defined(_M_IA64) && !defined(RC_INVOKED)\n\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n#define InterlockedCompareExchange _InterlockedCompareExchange\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n\nLONGLONG\n__cdecl\nInterlockedIncrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedDecrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchange64(\n    IN OUT LONGLONG volatile *Target,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchangeAdd64(\n    IN OUT LONGLONG volatile *Addend,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedCompareExchange64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG ExChange,\n    IN LONGLONG Comperand\n    );\n\nLONG\n__cdecl\nInterlockedIncrement(\n    IN OUT LONG volatile *lpAddend\n    );\n\nLONG\n__cdecl\nInterlockedDecrement(\n    IN OUT LONG volatile *lpAddend\n    );\n\nLONG\n__cdecl\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nPVOID\n__cdecl\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\nPVOID\n__cdecl\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID ExChange,\n    IN PVOID Comperand\n    );\n\n#if !defined(MIDL_PASS)\n\n#if !defined (InterlockedAnd64)\n\n#define InterlockedAnd64 InterlockedAnd64_Inline\n\nLONGLONG\nFORCEINLINE\nInterlockedAnd64_Inline (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old & Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\n#endif\n\n#if !defined (InterlockedOr64)\n\n#define InterlockedOr64 InterlockedOr64_Inline\n\nLONGLONG\nFORCEINLINE\nInterlockedOr64_Inline (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old | Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\n#endif\n\n#if !defined (InterlockedXor64)\n\n#define InterlockedXor64 InterlockedXor64_Inline\n\nLONGLONG\nFORCEINLINE\nInterlockedXor64_Inline (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old ^ Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\n#endif\n\n#endif\n\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n#pragma intrinsic(_InterlockedIncrement64)\n#pragma intrinsic(_InterlockedDecrement64)\n#pragma intrinsic(_InterlockedExchange64)\n#pragma intrinsic(_InterlockedCompareExchange64)\n#pragma intrinsic(_InterlockedExchangeAdd64)\n\n\n#elif defined(_M_AMD64) && !defined(RC_INVOKED)\n\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n#define InterlockedCompareExchange _InterlockedCompareExchange\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n#define InterlockedAnd64 _InterlockedAnd64\n#define InterlockedOr64 _InterlockedOr64\n#define InterlockedXor64 _InterlockedXor64\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n\nLONG\nInterlockedIncrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedDecrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\nLONG\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nPVOID\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID Exchange,\n    IN PVOID Comperand\n    );\n\nPVOID\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\nLONG64\nInterlockedAnd64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedOr64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedXor64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedIncrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedDecrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedExchange64(\n    IN OUT LONG64 volatile *Target,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedExchangeAdd64(\n    IN OUT LONG64 volatile *Addend,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedCompareExchange64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 ExChange,\n    IN LONG64 Comperand\n    );\n\n\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n\n#else           // X86 interlocked definitions\n\nWINBASEAPI\nLONG\nWINAPI\nInterlockedIncrement(\n    IN OUT LONG volatile *lpAddend\n    );\n\nWINBASEAPI\nLONG\nWINAPI\nInterlockedDecrement(\n    IN OUT LONG volatile *lpAddend\n    );\n\nWINBASEAPI\nLONG\nWINAPI\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\n#define InterlockedExchangePointer(Target, Value) \\\n    (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))\n\nWINBASEAPI\nLONG\nWINAPI\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\nWINBASEAPI\nLONG\nWINAPI\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG Exchange,\n    IN LONG Comperand\n    );\n\n\nWINBASEAPI\nLONGLONG\nWINAPI\nInterlockedCompareExchange64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Exchange,\n    IN LONGLONG Comperand\n    );\n\n#if !defined(MIDL_PASS)\n\nLONGLONG\nFORCEINLINE\nInterlockedAnd64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old & Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedOr64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old | Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedXor64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Destination;\n    } while (InterlockedCompareExchange64(Destination,\n                                          Old ^ Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedIncrement64(\n    IN OUT LONGLONG volatile *Addend\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Addend;\n    } while (InterlockedCompareExchange64(Addend,\n                                          Old + 1,\n                                          Old) != Old);\n\n    return Old + 1;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedDecrement64(\n    IN OUT LONGLONG volatile *Addend\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Addend;\n    } while (InterlockedCompareExchange64(Addend,\n                                          Old - 1,\n                                          Old) != Old);\n\n    return Old - 1;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedExchange64(\n    IN OUT LONGLONG volatile *Target,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Target;\n    } while (InterlockedCompareExchange64(Target,\n                                          Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\nLONGLONG\nFORCEINLINE\nInterlockedExchangeAdd64(\n    IN OUT LONGLONG volatile *Addend,\n    IN LONGLONG Value\n    )\n{\n    LONGLONG Old;\n\n    do {\n        Old = *Addend;\n    } while (InterlockedCompareExchange64(Addend,\n                                          Old + Value,\n                                          Old) != Old);\n\n    return Old;\n}\n\n#endif\n\n//\n// Use a function for C++ so X86 will generate the same errors as RISC.\n//\n\n#ifdef __cplusplus\n\nFORCEINLINE\nPVOID\n__cdecl\n__InlineInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID ExChange,\n    IN PVOID Comperand\n    )\n{\n    return((PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)Destination, (LONG)(LONG_PTR)ExChange, (LONG)(LONG_PTR)Comperand));\n}\n\n#define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer\n\n#else\n\n#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \\\n    (PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)(Destination), (LONG)(LONG_PTR)(ExChange), (LONG)(LONG_PTR)(Comperand))\n\n#endif /* __cplusplus */\n\n#endif /* X86 | IA64 */\n\n#if defined(_SLIST_HEADER_) && !defined(_NTOSP_)\n\nWINBASEAPI\nVOID\nWINAPI\nInitializeSListHead (\n    IN PSLIST_HEADER ListHead\n    );\n\nWINBASEAPI\nPSLIST_ENTRY\nWINAPI\nInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nWINBASEAPI\nPSLIST_ENTRY\nWINAPI\nInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\nWINBASEAPI\nPSLIST_ENTRY\nWINAPI\nInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\nWINBASEAPI\nUSHORT\nWINAPI\nQueryDepthSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#endif /* _SLIST_HEADER_ */\n\n#endif /* _NTOS_ */\n\n#endif /* NOWINBASEINTERLOCK */\n\nWINBASEAPI\nBOOL\nWINAPI\nFreeResource(\n        IN HGLOBAL hResData\n        );\n\nWINBASEAPI\nLPVOID\nWINAPI\nLockResource(\n        IN HGLOBAL hResData\n        );\n\n#define UnlockResource(hResData) ((hResData), 0)\n#define MAXINTATOM 0xC000\n#define MAKEINTATOM(i)  (LPTSTR)((ULONG_PTR)((WORD)(i)))\n#define INVALID_ATOM ((ATOM)0)\n\n#ifndef _MAC\nint\nWINAPI\n#else\nint\nCALLBACK\n#endif\nWinMain(\n    IN HINSTANCE hInstance,\n    IN HINSTANCE hPrevInstance,\n    IN LPSTR lpCmdLine,\n    IN int nShowCmd\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFreeLibrary(\n    IN OUT HMODULE hLibModule\n    );\n\n\nWINBASEAPI\nDECLSPEC_NORETURN\nVOID\nWINAPI\nFreeLibraryAndExitThread(\n    IN HMODULE hLibModule,\n    IN DWORD dwExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDisableThreadLibraryCalls(\n    IN HMODULE hLibModule\n    );\n\nWINBASEAPI\nFARPROC\nWINAPI\nGetProcAddress(\n    IN HMODULE hModule,\n    IN LPCSTR lpProcName\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetVersion( VOID );\n\nWINBASEAPI\nHGLOBAL\nWINAPI\nGlobalAlloc(\n    IN UINT uFlags,\n    IN SIZE_T dwBytes\n    );\n\nWINBASEAPI\nHGLOBAL\nWINAPI\nGlobalReAlloc(\n    IN HGLOBAL hMem,\n    IN SIZE_T dwBytes,\n    IN UINT uFlags\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nGlobalSize(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nGlobalFlags(\n    IN HGLOBAL hMem\n    );\n\n\nWINBASEAPI\nLPVOID\nWINAPI\nGlobalLock(\n    IN HGLOBAL hMem\n    );\n\n//!!!MWH My version  win31 = DWORD WINAPI GlobalHandle(UINT)\nWINBASEAPI\nHGLOBAL\nWINAPI\nGlobalHandle(\n    IN LPCVOID pMem\n    );\n\n\nWINBASEAPI\nBOOL\nWINAPI\nGlobalUnlock(\n    IN HGLOBAL hMem\n    );\n\n\nWINBASEAPI\nHGLOBAL\nWINAPI\nGlobalFree(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nGlobalCompact(\n    IN DWORD dwMinFree\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGlobalFix(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGlobalUnfix(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nGlobalWire(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGlobalUnWire(\n    IN HGLOBAL hMem\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGlobalMemoryStatus(\n    IN OUT LPMEMORYSTATUS lpBuffer\n    );\n\ntypedef struct _MEMORYSTATUSEX {\n    DWORD dwLength;\n    DWORD dwMemoryLoad;\n    DWORDLONG ullTotalPhys;\n    DWORDLONG ullAvailPhys;\n    DWORDLONG ullTotalPageFile;\n    DWORDLONG ullAvailPageFile;\n    DWORDLONG ullTotalVirtual;\n    DWORDLONG ullAvailVirtual;\n    DWORDLONG ullAvailExtendedVirtual;\n} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;\n\nWINBASEAPI\nBOOL\nWINAPI\nGlobalMemoryStatusEx(\n    IN OUT LPMEMORYSTATUSEX lpBuffer\n    );\n\nWINBASEAPI\nHLOCAL\nWINAPI\nLocalAlloc(\n    IN UINT uFlags,\n    IN SIZE_T uBytes\n    );\n\nWINBASEAPI\nHLOCAL\nWINAPI\nLocalReAlloc(\n    IN HLOCAL hMem,\n    IN SIZE_T uBytes,\n    IN UINT uFlags\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nLocalLock(\n    IN HLOCAL hMem\n    );\n\nWINBASEAPI\nHLOCAL\nWINAPI\nLocalHandle(\n    IN LPCVOID pMem\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nLocalUnlock(\n    IN HLOCAL hMem\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nLocalSize(\n    IN HLOCAL hMem\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nLocalFlags(\n    IN HLOCAL hMem\n    );\n\nWINBASEAPI\nHLOCAL\nWINAPI\nLocalFree(\n    IN HLOCAL hMem\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nLocalShrink(\n    IN HLOCAL hMem,\n    IN UINT cbNewSize\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nLocalCompact(\n    IN UINT uMinFree\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFlushInstructionCache(\n    IN HANDLE hProcess,\n    IN LPCVOID lpBaseAddress,\n    IN SIZE_T dwSize\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nVirtualAlloc(\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize,\n    IN DWORD flAllocationType,\n    IN DWORD flProtect\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualFree(\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize,\n    IN DWORD dwFreeType\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualProtect(\n    IN  LPVOID lpAddress,\n    IN  SIZE_T dwSize,\n    IN  DWORD flNewProtect,\n    OUT PDWORD lpflOldProtect\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nVirtualQuery(\n    IN LPCVOID lpAddress,\n    OUT PMEMORY_BASIC_INFORMATION lpBuffer,\n    IN SIZE_T dwLength\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nVirtualAllocEx(\n    IN HANDLE hProcess,\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize,\n    IN DWORD flAllocationType,\n    IN DWORD flProtect\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nGetWriteWatch(\n    IN DWORD  dwFlags,\n    IN PVOID  lpBaseAddress,\n    IN SIZE_T dwRegionSize,\n    IN OUT PVOID *lpAddresses,\n    IN OUT PULONG_PTR lpdwCount,\n    OUT PULONG lpdwGranularity\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nResetWriteWatch(\n    IN LPVOID lpBaseAddress,\n    IN SIZE_T dwRegionSize\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nGetLargePageMinimum(\n    VOID\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualFreeEx(\n    IN HANDLE hProcess,\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize,\n    IN DWORD dwFreeType\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualProtectEx(\n    IN  HANDLE hProcess,\n    IN  LPVOID lpAddress,\n    IN  SIZE_T dwSize,\n    IN  DWORD flNewProtect,\n    OUT PDWORD lpflOldProtect\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nVirtualQueryEx(\n    IN HANDLE hProcess,\n    IN LPCVOID lpAddress,\n    OUT PMEMORY_BASIC_INFORMATION lpBuffer,\n    IN SIZE_T dwLength\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nHeapCreate(\n    IN DWORD flOptions,\n    IN SIZE_T dwInitialSize,\n    IN SIZE_T dwMaximumSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapDestroy(\n    IN OUT HANDLE hHeap\n    );\n\n\nWINBASEAPI\nLPVOID\nWINAPI\nHeapAlloc(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags,\n    IN SIZE_T dwBytes\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nHeapReAlloc(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags,\n    IN LPVOID lpMem,\n    IN SIZE_T dwBytes\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapFree(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags,\n    IN LPVOID lpMem\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nHeapSize(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags,\n    IN LPCVOID lpMem\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapValidate(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags,\n    IN LPCVOID lpMem\n    );\n\nWINBASEAPI\nSIZE_T\nWINAPI\nHeapCompact(\n    IN HANDLE hHeap,\n    IN DWORD dwFlags\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nGetProcessHeap( VOID );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProcessHeaps(\n    IN DWORD NumberOfHeaps,\n    OUT PHANDLE ProcessHeaps\n    );\n\ntypedef struct _PROCESS_HEAP_ENTRY {\n    PVOID lpData;\n    DWORD cbData;\n    BYTE cbOverhead;\n    BYTE iRegionIndex;\n    WORD wFlags;\n    union {\n        struct {\n            HANDLE hMem;\n            DWORD dwReserved[ 3 ];\n        } Block;\n        struct {\n            DWORD dwCommittedSize;\n            DWORD dwUnCommittedSize;\n            LPVOID lpFirstBlock;\n            LPVOID lpLastBlock;\n        } Region;\n    };\n} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY;\n\n#define PROCESS_HEAP_REGION             0x0001\n#define PROCESS_HEAP_UNCOMMITTED_RANGE  0x0002\n#define PROCESS_HEAP_ENTRY_BUSY         0x0004\n#define PROCESS_HEAP_ENTRY_MOVEABLE     0x0010\n#define PROCESS_HEAP_ENTRY_DDESHARE     0x0020\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapLock(\n    IN HANDLE hHeap\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapUnlock(\n    IN HANDLE hHeap\n    );\n\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapWalk(\n    IN HANDLE hHeap,\n    IN OUT LPPROCESS_HEAP_ENTRY lpEntry\n    );\n\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapSetInformation (\n    IN HANDLE HeapHandle, \n    IN HEAP_INFORMATION_CLASS HeapInformationClass,\n    IN PVOID HeapInformation OPTIONAL,\n    IN SIZE_T HeapInformationLength OPTIONAL\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nHeapQueryInformation (\n    IN HANDLE HeapHandle, \n    IN HEAP_INFORMATION_CLASS HeapInformationClass,\n    OUT PVOID HeapInformation OPTIONAL,\n    IN SIZE_T HeapInformationLength OPTIONAL,\n    OUT PSIZE_T ReturnLength OPTIONAL\n    );\n\n// GetBinaryType return values.\n\n#define SCS_32BIT_BINARY    0\n#define SCS_DOS_BINARY      1\n#define SCS_WOW_BINARY      2\n#define SCS_PIF_BINARY      3\n#define SCS_POSIX_BINARY    4\n#define SCS_OS216_BINARY    5\n#define SCS_64BIT_BINARY    6\n\n#if defined(_WIN64)\n# define SCS_THIS_PLATFORM_BINARY SCS_64BIT_BINARY\n#else\n# define SCS_THIS_PLATFORM_BINARY SCS_32BIT_BINARY\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nGetBinaryTypeA(\n    IN LPCSTR lpApplicationName,\n    OUT LPDWORD lpBinaryType\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetBinaryTypeW(\n    IN LPCWSTR lpApplicationName,\n    OUT LPDWORD lpBinaryType\n    );\n#ifdef UNICODE\n#define GetBinaryType  GetBinaryTypeW\n#else\n#define GetBinaryType  GetBinaryTypeA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetShortPathNameA(\n    IN LPCSTR lpszLongPath,\n    OUT LPSTR  lpszShortPath,\n    IN DWORD    cchBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetShortPathNameW(\n    IN LPCWSTR lpszLongPath,\n    OUT LPWSTR  lpszShortPath,\n    IN DWORD    cchBuffer\n    );\n#ifdef UNICODE\n#define GetShortPathName  GetShortPathNameW\n#else\n#define GetShortPathName  GetShortPathNameA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetLongPathNameA(\n    IN LPCSTR lpszShortPath,\n    OUT LPSTR  lpszLongPath,\n    IN DWORD    cchBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetLongPathNameW(\n    IN LPCWSTR lpszShortPath,\n    OUT LPWSTR  lpszLongPath,\n    IN DWORD    cchBuffer\n    );\n#ifdef UNICODE\n#define GetLongPathName  GetLongPathNameW\n#else\n#define GetLongPathName  GetLongPathNameA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessAffinityMask(\n    IN HANDLE hProcess,\n    OUT PDWORD_PTR lpProcessAffinityMask,\n    OUT PDWORD_PTR lpSystemAffinityMask\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetProcessAffinityMask(\n    IN HANDLE hProcess,\n    IN DWORD_PTR dwProcessAffinityMask\n    );\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessHandleCount(\n    IN HANDLE hProcess,\n    OUT PDWORD pdwHandleCount\n    );\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessTimes(\n    IN HANDLE hProcess,\n    OUT LPFILETIME lpCreationTime,\n    OUT LPFILETIME lpExitTime,\n    OUT LPFILETIME lpKernelTime,\n    OUT LPFILETIME lpUserTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessIoCounters(\n    IN HANDLE hProcess,\n    OUT PIO_COUNTERS lpIoCounters\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessWorkingSetSize(\n    IN HANDLE hProcess,\n    OUT PSIZE_T lpMinimumWorkingSetSize,\n    OUT PSIZE_T lpMaximumWorkingSetSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessWorkingSetSizeEx(\n    IN HANDLE hProcess,\n    OUT PSIZE_T lpMinimumWorkingSetSize,\n    OUT PSIZE_T lpMaximumWorkingSetSize,\n    OUT PDWORD Flags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetProcessWorkingSetSize(\n    IN HANDLE hProcess,\n    IN SIZE_T dwMinimumWorkingSetSize,\n    IN SIZE_T dwMaximumWorkingSetSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetProcessWorkingSetSizeEx(\n    IN HANDLE hProcess,\n    IN SIZE_T dwMinimumWorkingSetSize,\n    IN SIZE_T dwMaximumWorkingSetSize,\n    IN DWORD Flags\n    );\n\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenProcess(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN DWORD dwProcessId\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nGetCurrentProcess(\n    VOID\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetCurrentProcessId(\n    VOID\n    );\n\nWINBASEAPI\nDECLSPEC_NORETURN\nVOID\nWINAPI\nExitProcess(\n    IN UINT uExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTerminateProcess(\n    IN HANDLE hProcess,\n    IN UINT uExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetExitCodeProcess(\n    IN HANDLE hProcess,\n    OUT LPDWORD lpExitCode\n    );\n\n\nWINBASEAPI\nVOID\nWINAPI\nFatalExit(\n    IN int ExitCode\n    );\n\nWINBASEAPI\nLPSTR\nWINAPI\nGetEnvironmentStrings(\n    VOID\n    );\n\nWINBASEAPI\nLPWSTR\nWINAPI\nGetEnvironmentStringsW(\n    VOID\n    );\n\n#ifdef UNICODE\n#define GetEnvironmentStrings  GetEnvironmentStringsW\n#else\n#define GetEnvironmentStringsA  GetEnvironmentStrings\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetEnvironmentStringsA(\n    IN LPSTR NewEnvironment\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetEnvironmentStringsW(\n    IN LPWSTR NewEnvironment\n    );\n#ifdef UNICODE\n#define SetEnvironmentStrings  SetEnvironmentStringsW\n#else\n#define SetEnvironmentStrings  SetEnvironmentStringsA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFreeEnvironmentStringsA(\n    IN LPSTR\n    );\nWINBASEAPI\nBOOL\nWINAPI\nFreeEnvironmentStringsW(\n    IN LPWSTR\n    );\n#ifdef UNICODE\n#define FreeEnvironmentStrings  FreeEnvironmentStringsW\n#else\n#define FreeEnvironmentStrings  FreeEnvironmentStringsA\n#endif // !UNICODE\n\nWINBASEAPI\nVOID\nWINAPI\nRaiseException(\n    IN DWORD dwExceptionCode,\n    IN DWORD dwExceptionFlags,\n    IN DWORD nNumberOfArguments,\n    IN CONST ULONG_PTR *lpArguments\n    );\n\nWINBASEAPI\nLONG\nWINAPI\nUnhandledExceptionFilter(\n    IN struct _EXCEPTION_POINTERS *ExceptionInfo\n    );\n\ntypedef LONG (WINAPI *PTOP_LEVEL_EXCEPTION_FILTER)(\n    struct _EXCEPTION_POINTERS *ExceptionInfo\n    );\ntypedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;\n\nWINBASEAPI\nLPTOP_LEVEL_EXCEPTION_FILTER\nWINAPI\nSetUnhandledExceptionFilter(\n    IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter\n    );\n\n#if(_WIN32_WINNT >= 0x0400)\n\n//\n// Fiber creation flags\n//\n\n#define FIBER_FLAG_FLOAT_SWITCH 0x1     // context switch floating point\n\nWINBASEAPI\nLPVOID\nWINAPI\nCreateFiber(\n    IN SIZE_T dwStackSize,\n    IN LPFIBER_START_ROUTINE lpStartAddress,\n    IN LPVOID lpParameter\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nCreateFiberEx(\n    SIZE_T dwStackCommitSize,\n    SIZE_T dwStackReserveSize,\n    DWORD dwFlags,\n    LPFIBER_START_ROUTINE lpStartAddress,\n    LPVOID lpParameter\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nDeleteFiber(\n    IN LPVOID lpFiber\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nConvertThreadToFiber(\n    IN LPVOID lpParameter\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nConvertThreadToFiberEx(\n    IN LPVOID lpParameter,\n    IN DWORD dwFlags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nConvertFiberToThread(\n    VOID\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nSwitchToFiber(\n    IN LPVOID lpFiber\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSwitchToThread(\n    VOID\n    );\n\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateThread(\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN SIZE_T dwStackSize,\n    IN LPTHREAD_START_ROUTINE lpStartAddress,\n    IN LPVOID lpParameter,\n    IN DWORD dwCreationFlags,\n    OUT LPDWORD lpThreadId\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateRemoteThread(\n    IN HANDLE hProcess,\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN SIZE_T dwStackSize,\n    IN LPTHREAD_START_ROUTINE lpStartAddress,\n    IN LPVOID lpParameter,\n    IN DWORD dwCreationFlags,\n    OUT LPDWORD lpThreadId\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nGetCurrentThread(\n    VOID\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetCurrentThreadId(\n    VOID\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProcessIdOfThread(\n    HANDLE Thread\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetThreadId(\n    HANDLE Thread\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProcessId(\n    HANDLE Process\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetCurrentProcessorNumber(\n    VOID\n    );\n\nWINBASEAPI\nDWORD_PTR\nWINAPI\nSetThreadAffinityMask(\n    IN HANDLE hThread,\n    IN DWORD_PTR dwThreadAffinityMask\n    );\n\n#if(_WIN32_WINNT >= 0x0400)\nWINBASEAPI\nDWORD\nWINAPI\nSetThreadIdealProcessor(\n    IN HANDLE hThread,\n    IN DWORD dwIdealProcessor\n    );\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nBOOL\nWINAPI\nSetProcessPriorityBoost(\n    IN HANDLE hProcess,\n    IN BOOL bDisablePriorityBoost\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessPriorityBoost(\n    IN HANDLE hProcess,\n    OUT PBOOL pDisablePriorityBoost\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nRequestWakeupLatency(\n    IN LATENCY_TIME latency\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsSystemResumeAutomatic(\n    VOID\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenThread(\n    DWORD dwDesiredAccess,\n    BOOL bInheritHandle,\n    DWORD dwThreadId\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetThreadPriority(\n    IN HANDLE hThread,\n    IN int nPriority\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetThreadPriorityBoost(\n    IN HANDLE hThread,\n    IN BOOL bDisablePriorityBoost\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetThreadPriorityBoost(\n    IN HANDLE hThread,\n    OUT PBOOL pDisablePriorityBoost\n    );\n\nWINBASEAPI\nint\nWINAPI\nGetThreadPriority(\n    IN HANDLE hThread\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetThreadTimes(\n    IN HANDLE hThread,\n    OUT LPFILETIME lpCreationTime,\n    OUT LPFILETIME lpExitTime,\n    OUT LPFILETIME lpKernelTime,\n    OUT LPFILETIME lpUserTime\n    );\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nBOOL\nWINAPI\nGetThreadIOPendingFlag(\n    IN HANDLE hThread,\n    OUT PBOOL lpIOIsPending\n    );\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\nWINBASEAPI\nDECLSPEC_NORETURN\nVOID\nWINAPI\nExitThread(\n    IN DWORD dwExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTerminateThread(\n    IN OUT HANDLE hThread,\n    IN DWORD dwExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetExitCodeThread(\n    IN HANDLE hThread,\n    OUT LPDWORD lpExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetThreadSelectorEntry(\n    IN HANDLE hThread,\n    IN DWORD dwSelector,\n    OUT LPLDT_ENTRY lpSelectorEntry\n    );\n\nWINBASEAPI\nEXECUTION_STATE\nWINAPI\nSetThreadExecutionState(\n    IN EXECUTION_STATE esFlags\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetLastError(\n    VOID\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nSetLastError(\n    IN DWORD dwErrCode\n    );\n\n#if !defined(RC_INVOKED) // RC warns because \"WINBASE_DECLARE_RESTORE_LAST_ERROR\" is a bit long.\n//#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)\n#if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)\n\nWINBASEAPI\nVOID\nWINAPI\nRestoreLastError(\n    IN DWORD dwErrCode\n    );\n\ntypedef VOID (WINAPI* PRESTORE_LAST_ERROR)(DWORD);\n#define RESTORE_LAST_ERROR_NAME_A      \"RestoreLastError\"\n#define RESTORE_LAST_ERROR_NAME_W     L\"RestoreLastError\"\n#define RESTORE_LAST_ERROR_NAME   TEXT(\"RestoreLastError\")\n\n#endif\n#endif\n\n#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)\n\nWINBASEAPI\nBOOL\nWINAPI\nGetOverlappedResult(\n    IN HANDLE hFile,\n    IN LPOVERLAPPED lpOverlapped,\n    OUT LPDWORD lpNumberOfBytesTransferred,\n    IN BOOL bWait\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateIoCompletionPort(\n    IN HANDLE FileHandle,\n    IN HANDLE ExistingCompletionPort,\n    IN ULONG_PTR CompletionKey,\n    IN DWORD NumberOfConcurrentThreads\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetQueuedCompletionStatus(\n    IN  HANDLE CompletionPort,\n    OUT LPDWORD lpNumberOfBytesTransferred,\n    OUT PULONG_PTR lpCompletionKey,\n    OUT LPOVERLAPPED *lpOverlapped,\n    IN  DWORD dwMilliseconds\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nPostQueuedCompletionStatus(\n    IN HANDLE CompletionPort,\n    IN DWORD dwNumberOfBytesTransferred,\n    IN ULONG_PTR dwCompletionKey,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\n#define SEM_FAILCRITICALERRORS      0x0001\n#define SEM_NOGPFAULTERRORBOX       0x0002\n#define SEM_NOALIGNMENTFAULTEXCEPT  0x0004\n#define SEM_NOOPENFILEERRORBOX      0x8000\n\nWINBASEAPI\nUINT\nWINAPI\nSetErrorMode(\n    IN UINT uMode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nReadProcessMemory(\n    IN HANDLE hProcess,\n    IN LPCVOID lpBaseAddress,\n    OUT LPVOID lpBuffer,\n    IN SIZE_T nSize,\n    OUT SIZE_T * lpNumberOfBytesRead\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteProcessMemory(\n    IN HANDLE hProcess,\n    IN LPVOID lpBaseAddress,\n    IN LPCVOID lpBuffer,\n    IN SIZE_T nSize,\n    OUT SIZE_T * lpNumberOfBytesWritten\n    );\n\n#if !defined(MIDL_PASS)\nWINBASEAPI\nBOOL\nWINAPI\nGetThreadContext(\n    IN HANDLE hThread,\n    IN OUT LPCONTEXT lpContext\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetThreadContext(\n    IN HANDLE hThread,\n    IN CONST CONTEXT *lpContext\n    );\n#endif\n\nWINBASEAPI\nDWORD\nWINAPI\nSuspendThread(\n    IN HANDLE hThread\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nResumeThread(\n    IN HANDLE hThread\n    );\n\n\n#if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\n\ntypedef\nVOID\n(APIENTRY *PAPCFUNC)(\n    ULONG_PTR dwParam\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nQueueUserAPC(\n    IN PAPCFUNC pfnAPC,\n    IN HANDLE hThread,\n    IN ULONG_PTR dwData\n    );\n\n#endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\nWINBASEAPI\nBOOL\nWINAPI\nIsDebuggerPresent(\n    VOID\n    );\n#endif\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nBOOL\nWINAPI\nCheckRemoteDebuggerPresent(\n    IN HANDLE hProcess,\n    OUT PBOOL pbDebuggerPresent\n    );\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\nWINBASEAPI\nVOID\nWINAPI\nDebugBreak(\n    VOID\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWaitForDebugEvent(\n    IN LPDEBUG_EVENT lpDebugEvent,\n    IN DWORD dwMilliseconds\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nContinueDebugEvent(\n    IN DWORD dwProcessId,\n    IN DWORD dwThreadId,\n    IN DWORD dwContinueStatus\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDebugActiveProcess(\n    IN DWORD dwProcessId\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDebugActiveProcessStop(\n    IN DWORD dwProcessId\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDebugSetProcessKillOnExit(\n    IN BOOL KillOnExit\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDebugBreakProcess (\n    IN HANDLE Process\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nInitializeCriticalSection(\n    OUT LPCRITICAL_SECTION lpCriticalSection\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nEnterCriticalSection(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nLeaveCriticalSection(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection\n    );\n\n#if (_WIN32_WINNT >= 0x0403)\nWINBASEAPI\nBOOL\nWINAPI\nInitializeCriticalSectionAndSpinCount(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection,\n    IN DWORD dwSpinCount\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nSetCriticalSectionSpinCount(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection,\n    IN DWORD dwSpinCount\n    );\n#endif\n\n#if(_WIN32_WINNT >= 0x0400)\nWINBASEAPI\nBOOL\nWINAPI\nTryEnterCriticalSection(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection\n    );\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nVOID\nWINAPI\nDeleteCriticalSection(\n    IN OUT LPCRITICAL_SECTION lpCriticalSection\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetEvent(\n    IN HANDLE hEvent\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nResetEvent(\n    IN HANDLE hEvent\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nPulseEvent(\n    IN HANDLE hEvent\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nReleaseSemaphore(\n    IN HANDLE hSemaphore,\n    IN LONG lReleaseCount,\n    OUT LPLONG lpPreviousCount\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nReleaseMutex(\n    IN HANDLE hMutex\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nWaitForSingleObject(\n    IN HANDLE hHandle,\n    IN DWORD dwMilliseconds\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nWaitForMultipleObjects(\n    IN DWORD nCount,\n    IN CONST HANDLE *lpHandles,\n    IN BOOL bWaitAll,\n    IN DWORD dwMilliseconds\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nSleep(\n    IN DWORD dwMilliseconds\n    );\n\nWINBASEAPI\nHGLOBAL\nWINAPI\nLoadResource(\n    IN HMODULE hModule,\n    IN HRSRC hResInfo\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nSizeofResource(\n    IN HMODULE hModule,\n    IN HRSRC hResInfo\n    );\n\n\nWINBASEAPI\nATOM\nWINAPI\nGlobalDeleteAtom(\n    IN ATOM nAtom\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nInitAtomTable(\n    IN DWORD nSize\n    );\n\nWINBASEAPI\nATOM\nWINAPI\nDeleteAtom(\n    IN ATOM nAtom\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nSetHandleCount(\n    IN UINT uNumber\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetLogicalDrives(\n    VOID\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nLockFile(\n    IN HANDLE hFile,\n    IN DWORD dwFileOffsetLow,\n    IN DWORD dwFileOffsetHigh,\n    IN DWORD nNumberOfBytesToLockLow,\n    IN DWORD nNumberOfBytesToLockHigh\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nUnlockFile(\n    IN HANDLE hFile,\n    IN DWORD dwFileOffsetLow,\n    IN DWORD dwFileOffsetHigh,\n    IN DWORD nNumberOfBytesToUnlockLow,\n    IN DWORD nNumberOfBytesToUnlockHigh\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nLockFileEx(\n    IN HANDLE hFile,\n    IN DWORD dwFlags,\n    IN DWORD dwReserved,\n    IN DWORD nNumberOfBytesToLockLow,\n    IN DWORD nNumberOfBytesToLockHigh,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\n#define LOCKFILE_FAIL_IMMEDIATELY   0x00000001\n#define LOCKFILE_EXCLUSIVE_LOCK     0x00000002\n\nWINBASEAPI\nBOOL\nWINAPI\nUnlockFileEx(\n    IN HANDLE hFile,\n    IN DWORD dwReserved,\n    IN DWORD nNumberOfBytesToUnlockLow,\n    IN DWORD nNumberOfBytesToUnlockHigh,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\ntypedef struct _BY_HANDLE_FILE_INFORMATION {\n    DWORD dwFileAttributes;\n    FILETIME ftCreationTime;\n    FILETIME ftLastAccessTime;\n    FILETIME ftLastWriteTime;\n    DWORD dwVolumeSerialNumber;\n    DWORD nFileSizeHigh;\n    DWORD nFileSizeLow;\n    DWORD nNumberOfLinks;\n    DWORD nFileIndexHigh;\n    DWORD nFileIndexLow;\n} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;\n\nWINBASEAPI\nBOOL\nWINAPI\nGetFileInformationByHandle(\n    IN HANDLE hFile,\n    OUT LPBY_HANDLE_FILE_INFORMATION lpFileInformation\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetFileType(\n    IN HANDLE hFile\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetFileSize(\n    IN HANDLE hFile,\n    OUT LPDWORD lpFileSizeHigh\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetFileSizeEx(\n    HANDLE hFile,\n    PLARGE_INTEGER lpFileSize\n    );\n\n\nWINBASEAPI\nHANDLE\nWINAPI\nGetStdHandle(\n    IN DWORD nStdHandle\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetStdHandle(\n    IN DWORD nStdHandle,\n    IN HANDLE hHandle\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteFile(\n    IN HANDLE hFile,\n    IN LPCVOID lpBuffer,\n    IN DWORD nNumberOfBytesToWrite,\n    OUT LPDWORD lpNumberOfBytesWritten,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nReadFile(\n    IN HANDLE hFile,\n    OUT LPVOID lpBuffer,\n    IN DWORD nNumberOfBytesToRead,\n    OUT LPDWORD lpNumberOfBytesRead,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFlushFileBuffers(\n    IN HANDLE hFile\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDeviceIoControl(\n    IN HANDLE hDevice,\n    IN DWORD dwIoControlCode,\n    IN LPVOID lpInBuffer,\n    IN DWORD nInBufferSize,\n    OUT LPVOID lpOutBuffer,\n    IN DWORD nOutBufferSize,\n    OUT LPDWORD lpBytesReturned,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nRequestDeviceWakeup(\n    IN HANDLE hDevice\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nCancelDeviceWakeupRequest(\n    IN HANDLE hDevice\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetDevicePowerState(\n    IN HANDLE hDevice,\n    OUT BOOL *pfOn\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetMessageWaitingIndicator(\n    IN HANDLE hMsgIndicator,\n    IN ULONG ulMsgCount\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetEndOfFile(\n    IN HANDLE hFile\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nSetFilePointer(\n    IN HANDLE hFile,\n    IN LONG lDistanceToMove,\n    IN PLONG lpDistanceToMoveHigh,\n    IN DWORD dwMoveMethod\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFilePointerEx(\n    HANDLE hFile,\n    LARGE_INTEGER liDistanceToMove,\n    PLARGE_INTEGER lpNewFilePointer,\n    DWORD dwMoveMethod\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFindClose(\n    IN OUT HANDLE hFindFile\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetFileTime(\n    IN HANDLE hFile,\n    OUT LPFILETIME lpCreationTime,\n    OUT LPFILETIME lpLastAccessTime,\n    OUT LPFILETIME lpLastWriteTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFileTime(\n    IN HANDLE hFile,\n    IN CONST FILETIME *lpCreationTime,\n    IN CONST FILETIME *lpLastAccessTime,\n    IN CONST FILETIME *lpLastWriteTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFileValidData(\n    IN HANDLE hFile,\n    IN LONGLONG ValidDataLength\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFileShortNameA(\n    IN HANDLE hFile,\n    IN LPCSTR lpShortName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetFileShortNameW(\n    IN HANDLE hFile,\n    IN LPCWSTR lpShortName\n    );\n#ifdef UNICODE\n#define SetFileShortName  SetFileShortNameW\n#else\n#define SetFileShortName  SetFileShortNameA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCloseHandle(\n    IN OUT HANDLE hObject\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDuplicateHandle(\n    IN HANDLE hSourceProcessHandle,\n    IN HANDLE hSourceHandle,\n    IN HANDLE hTargetProcessHandle,\n    OUT LPHANDLE lpTargetHandle,\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN DWORD dwOptions\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetHandleInformation(\n    IN HANDLE hObject,\n    OUT LPDWORD lpdwFlags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetHandleInformation(\n    IN HANDLE hObject,\n    IN DWORD dwMask,\n    IN DWORD dwFlags\n    );\n\n#define HANDLE_FLAG_INHERIT             0x00000001\n#define HANDLE_FLAG_PROTECT_FROM_CLOSE  0x00000002\n\n#define HINSTANCE_ERROR 32\n\nWINBASEAPI\nDWORD\nWINAPI\nLoadModule(\n    IN LPCSTR lpModuleName,\n    IN LPVOID lpParameterBlock\n    );\n\nWINBASEAPI\nUINT\nWINAPI\nWinExec(\n    IN LPCSTR lpCmdLine,\n    IN UINT uCmdShow\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nClearCommBreak(\n    IN HANDLE hFile\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nClearCommError(\n    IN HANDLE hFile,\n    OUT LPDWORD lpErrors,\n    OUT LPCOMSTAT lpStat\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetupComm(\n    IN HANDLE hFile,\n    IN DWORD dwInQueue,\n    IN DWORD dwOutQueue\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nEscapeCommFunction(\n    IN HANDLE hFile,\n    IN DWORD dwFunc\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommConfig(\n    IN HANDLE hCommDev,\n    OUT LPCOMMCONFIG lpCC,\n    IN OUT LPDWORD lpdwSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommMask(\n    IN HANDLE hFile,\n    OUT LPDWORD lpEvtMask\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommProperties(\n    IN HANDLE hFile,\n    OUT LPCOMMPROP lpCommProp\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommModemStatus(\n    IN HANDLE hFile,\n    OUT LPDWORD lpModemStat\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommState(\n    IN HANDLE hFile,\n    OUT LPDCB lpDCB\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCommTimeouts(\n    IN HANDLE hFile,\n    OUT LPCOMMTIMEOUTS lpCommTimeouts\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nPurgeComm(\n    IN HANDLE hFile,\n    IN DWORD dwFlags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCommBreak(\n    IN HANDLE hFile\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCommConfig(\n    IN HANDLE hCommDev,\n    IN LPCOMMCONFIG lpCC,\n    IN DWORD dwSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCommMask(\n    IN HANDLE hFile,\n    IN DWORD dwEvtMask\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCommState(\n    IN HANDLE hFile,\n    IN LPDCB lpDCB\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCommTimeouts(\n    IN HANDLE hFile,\n    IN LPCOMMTIMEOUTS lpCommTimeouts\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTransmitCommChar(\n    IN HANDLE hFile,\n    IN char cChar\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWaitCommEvent(\n    IN HANDLE hFile,\n    OUT LPDWORD lpEvtMask,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\n\nWINBASEAPI\nDWORD\nWINAPI\nSetTapePosition(\n    IN HANDLE hDevice,\n    IN DWORD dwPositionMethod,\n    IN DWORD dwPartition,\n    IN DWORD dwOffsetLow,\n    IN DWORD dwOffsetHigh,\n    IN BOOL bImmediate\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTapePosition(\n    IN HANDLE hDevice,\n    IN DWORD dwPositionType,\n    OUT LPDWORD lpdwPartition,\n    OUT LPDWORD lpdwOffsetLow,\n    OUT LPDWORD lpdwOffsetHigh\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nPrepareTape(\n    IN HANDLE hDevice,\n    IN DWORD dwOperation,\n    IN BOOL bImmediate\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nEraseTape(\n    IN HANDLE hDevice,\n    IN DWORD dwEraseType,\n    IN BOOL bImmediate\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nCreateTapePartition(\n    IN HANDLE hDevice,\n    IN DWORD dwPartitionMethod,\n    IN DWORD dwCount,\n    IN DWORD dwSize\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nWriteTapemark(\n    IN HANDLE hDevice,\n    IN DWORD dwTapemarkType,\n    IN DWORD dwTapemarkCount,\n    IN BOOL bImmediate\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTapeStatus(\n    IN HANDLE hDevice\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTapeParameters(\n    IN HANDLE hDevice,\n    IN DWORD dwOperation,\n    OUT LPDWORD lpdwSize,\n    OUT LPVOID lpTapeInformation\n    );\n\n#define GET_TAPE_MEDIA_INFORMATION 0\n#define GET_TAPE_DRIVE_INFORMATION 1\n\nWINBASEAPI\nDWORD\nWINAPI\nSetTapeParameters(\n    IN HANDLE hDevice,\n    IN DWORD dwOperation,\n    IN LPVOID lpTapeInformation\n    );\n\n#define SET_TAPE_MEDIA_INFORMATION 0\n#define SET_TAPE_DRIVE_INFORMATION 1\n\nWINBASEAPI\nBOOL\nWINAPI\nBeep(\n    IN DWORD dwFreq,\n    IN DWORD dwDuration\n    );\n\nWINBASEAPI\nint\nWINAPI\nMulDiv(\n    IN int nNumber,\n    IN int nNumerator,\n    IN int nDenominator\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGetSystemTime(\n    OUT LPSYSTEMTIME lpSystemTime\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGetSystemTimeAsFileTime(\n    OUT LPFILETIME lpSystemTimeAsFileTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetSystemTime(\n    IN CONST SYSTEMTIME *lpSystemTime\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGetLocalTime(\n    OUT LPSYSTEMTIME lpSystemTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetLocalTime(\n    IN CONST SYSTEMTIME *lpSystemTime\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nGetSystemInfo(\n    OUT LPSYSTEM_INFO lpSystemInfo\n    );\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nBOOL\nWINAPI\nGetSystemRegistryQuota(\n    OUT PDWORD pdwQuotaAllowed,\n    OUT PDWORD pdwQuotaUsed\n    );\n\nBOOL\nWINAPI\nGetSystemTimes(\n    LPFILETIME lpIdleTime,\n    LPFILETIME lpKernelTime,\n    LPFILETIME lpUserTime\n    );\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\n#if _WIN32_WINNT >= 0x0501\nWINBASEAPI\nVOID\nWINAPI\nGetNativeSystemInfo(\n    OUT LPSYSTEM_INFO lpSystemInfo\n    );\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nIsProcessorFeaturePresent(\n    IN DWORD ProcessorFeature\n    );\n\ntypedef struct _TIME_ZONE_INFORMATION {\n    LONG Bias;\n    WCHAR StandardName[ 32 ];\n    SYSTEMTIME StandardDate;\n    LONG StandardBias;\n    WCHAR DaylightName[ 32 ];\n    SYSTEMTIME DaylightDate;\n    LONG DaylightBias;\n} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;\n\nWINBASEAPI\nBOOL\nWINAPI\nSystemTimeToTzSpecificLocalTime(\n    IN LPTIME_ZONE_INFORMATION lpTimeZoneInformation,\n    IN LPSYSTEMTIME lpUniversalTime,\n    OUT LPSYSTEMTIME lpLocalTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTzSpecificLocalTimeToSystemTime(\n    IN LPTIME_ZONE_INFORMATION lpTimeZoneInformation,\n    IN LPSYSTEMTIME lpLocalTime,\n    OUT LPSYSTEMTIME lpUniversalTime\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTimeZoneInformation(\n    OUT LPTIME_ZONE_INFORMATION lpTimeZoneInformation\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetTimeZoneInformation(\n    IN CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation\n    );\n\n\n//\n// Routines to convert back and forth between system time and file time\n//\n\nWINBASEAPI\nBOOL\nWINAPI\nSystemTimeToFileTime(\n    IN CONST SYSTEMTIME *lpSystemTime,\n    OUT LPFILETIME lpFileTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFileTimeToLocalFileTime(\n    IN CONST FILETIME *lpFileTime,\n    OUT LPFILETIME lpLocalFileTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nLocalFileTimeToFileTime(\n    IN CONST FILETIME *lpLocalFileTime,\n    OUT LPFILETIME lpFileTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFileTimeToSystemTime(\n    IN CONST FILETIME *lpFileTime,\n    OUT LPSYSTEMTIME lpSystemTime\n    );\n\nWINBASEAPI\nLONG\nWINAPI\nCompareFileTime(\n    IN CONST FILETIME *lpFileTime1,\n    IN CONST FILETIME *lpFileTime2\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFileTimeToDosDateTime(\n    IN CONST FILETIME *lpFileTime,\n    OUT LPWORD lpFatDate,\n    OUT LPWORD lpFatTime\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDosDateTimeToFileTime(\n    IN WORD wFatDate,\n    IN WORD wFatTime,\n    OUT LPFILETIME lpFileTime\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTickCount(\n    VOID\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetSystemTimeAdjustment(\n    IN DWORD dwTimeAdjustment,\n    IN BOOL  bTimeAdjustmentDisabled\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetSystemTimeAdjustment(\n    OUT PDWORD lpTimeAdjustment,\n    OUT PDWORD lpTimeIncrement,\n    OUT PBOOL  lpTimeAdjustmentDisabled\n    );\n\n#if !defined(MIDL_PASS)\nWINBASEAPI\nDWORD\nWINAPI\nFormatMessageA(\n    IN DWORD dwFlags,\n    IN LPCVOID lpSource,\n    IN DWORD dwMessageId,\n    IN DWORD dwLanguageId,\n    OUT LPSTR lpBuffer,\n    IN DWORD nSize,\n    IN va_list *Arguments\n    );\nWINBASEAPI\nDWORD\nWINAPI\nFormatMessageW(\n    IN DWORD dwFlags,\n    IN LPCVOID lpSource,\n    IN DWORD dwMessageId,\n    IN DWORD dwLanguageId,\n    OUT LPWSTR lpBuffer,\n    IN DWORD nSize,\n    IN va_list *Arguments\n    );\n#ifdef UNICODE\n#define FormatMessage  FormatMessageW\n#else\n#define FormatMessage  FormatMessageA\n#endif // !UNICODE\n#endif\n\n#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100\n#define FORMAT_MESSAGE_IGNORE_INSERTS  0x00000200\n#define FORMAT_MESSAGE_FROM_STRING     0x00000400\n#define FORMAT_MESSAGE_FROM_HMODULE    0x00000800\n#define FORMAT_MESSAGE_FROM_SYSTEM     0x00001000\n#define FORMAT_MESSAGE_ARGUMENT_ARRAY  0x00002000\n#define FORMAT_MESSAGE_MAX_WIDTH_MASK  0x000000FF\n\n\nWINBASEAPI\nBOOL\nWINAPI\nCreatePipe(\n    OUT PHANDLE hReadPipe,\n    OUT PHANDLE hWritePipe,\n    IN LPSECURITY_ATTRIBUTES lpPipeAttributes,\n    IN DWORD nSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nConnectNamedPipe(\n    IN HANDLE hNamedPipe,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDisconnectNamedPipe(\n    IN HANDLE hNamedPipe\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetNamedPipeHandleState(\n    IN HANDLE hNamedPipe,\n    IN LPDWORD lpMode,\n    IN LPDWORD lpMaxCollectionCount,\n    IN LPDWORD lpCollectDataTimeout\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNamedPipeInfo(\n    IN HANDLE hNamedPipe,\n    IN LPDWORD lpFlags,\n    OUT LPDWORD lpOutBufferSize,\n    OUT LPDWORD lpInBufferSize,\n    OUT LPDWORD lpMaxInstances\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nPeekNamedPipe(\n    IN HANDLE hNamedPipe,\n    OUT LPVOID lpBuffer,\n    IN DWORD nBufferSize,\n    OUT LPDWORD lpBytesRead,\n    OUT LPDWORD lpTotalBytesAvail,\n    OUT LPDWORD lpBytesLeftThisMessage\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTransactNamedPipe(\n    IN HANDLE hNamedPipe,\n    IN LPVOID lpInBuffer,\n    IN DWORD nInBufferSize,\n    OUT LPVOID lpOutBuffer,\n    IN DWORD nOutBufferSize,\n    OUT LPDWORD lpBytesRead,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateMailslotA(\n    IN LPCSTR lpName,\n    IN DWORD nMaxMessageSize,\n    IN DWORD lReadTimeout,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateMailslotW(\n    IN LPCWSTR lpName,\n    IN DWORD nMaxMessageSize,\n    IN DWORD lReadTimeout,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define CreateMailslot  CreateMailslotW\n#else\n#define CreateMailslot  CreateMailslotA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetMailslotInfo(\n    IN HANDLE hMailslot,\n    IN LPDWORD lpMaxMessageSize,\n    IN LPDWORD lpNextSize,\n    IN LPDWORD lpMessageCount,\n    IN LPDWORD lpReadTimeout\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetMailslotInfo(\n    IN HANDLE hMailslot,\n    IN DWORD lReadTimeout\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nMapViewOfFile(\n    IN HANDLE hFileMappingObject,\n    IN DWORD dwDesiredAccess,\n    IN DWORD dwFileOffsetHigh,\n    IN DWORD dwFileOffsetLow,\n    IN SIZE_T dwNumberOfBytesToMap\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFlushViewOfFile(\n    IN LPCVOID lpBaseAddress,\n    IN SIZE_T dwNumberOfBytesToFlush\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nUnmapViewOfFile(\n    IN LPCVOID lpBaseAddress\n    );\n\n//\n// File Encryption API\n//\n\nWINADVAPI\nBOOL\nWINAPI\nEncryptFileA(\n    IN LPCSTR lpFileName\n    );\nWINADVAPI\nBOOL\nWINAPI\nEncryptFileW(\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define EncryptFile  EncryptFileW\n#else\n#define EncryptFile  EncryptFileA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nDecryptFileA(\n    IN LPCSTR lpFileName,\n    IN DWORD    dwReserved\n    );\nWINADVAPI\nBOOL\nWINAPI\nDecryptFileW(\n    IN LPCWSTR lpFileName,\n    IN DWORD    dwReserved\n    );\n#ifdef UNICODE\n#define DecryptFile  DecryptFileW\n#else\n#define DecryptFile  DecryptFileA\n#endif // !UNICODE\n\n//\n//  Encryption Status Value\n//\n\n#define FILE_ENCRYPTABLE                0\n#define FILE_IS_ENCRYPTED               1\n#define FILE_SYSTEM_ATTR                2\n#define FILE_ROOT_DIR                   3\n#define FILE_SYSTEM_DIR                 4\n#define FILE_UNKNOWN                    5\n#define FILE_SYSTEM_NOT_SUPPORT         6\n#define FILE_USER_DISALLOWED            7\n#define FILE_READ_ONLY                  8\n#define FILE_DIR_DISALLOWED             9\n\nWINADVAPI\nBOOL\nWINAPI\nFileEncryptionStatusA(\n    LPCSTR lpFileName,\n    LPDWORD  lpStatus\n    );\nWINADVAPI\nBOOL\nWINAPI\nFileEncryptionStatusW(\n    LPCWSTR lpFileName,\n    LPDWORD  lpStatus\n    );\n#ifdef UNICODE\n#define FileEncryptionStatus  FileEncryptionStatusW\n#else\n#define FileEncryptionStatus  FileEncryptionStatusA\n#endif // !UNICODE\n\n//\n// Currently defined recovery flags\n//\n\n#define EFS_USE_RECOVERY_KEYS  (0x1)\n\ntypedef\nDWORD\n(WINAPI *PFE_EXPORT_FUNC)(\n    PBYTE pbData,\n    PVOID pvCallbackContext,\n    ULONG ulLength\n    );\n\ntypedef\nDWORD\n(WINAPI *PFE_IMPORT_FUNC)(\n    PBYTE pbData,\n    PVOID pvCallbackContext,\n    PULONG ulLength\n    );\n\n\n//\n//  OpenRaw flag values\n//\n\n#define CREATE_FOR_IMPORT  (1)\n#define CREATE_FOR_DIR     (2)\n#define OVERWRITE_HIDDEN   (4)\n\n\nWINADVAPI\nDWORD\nWINAPI\nOpenEncryptedFileRawA(\n    IN LPCSTR        lpFileName,\n    IN ULONG           ulFlags,\n    IN PVOID *         pvContext\n    );\nWINADVAPI\nDWORD\nWINAPI\nOpenEncryptedFileRawW(\n    IN LPCWSTR        lpFileName,\n    IN ULONG           ulFlags,\n    IN PVOID *         pvContext\n    );\n#ifdef UNICODE\n#define OpenEncryptedFileRaw  OpenEncryptedFileRawW\n#else\n#define OpenEncryptedFileRaw  OpenEncryptedFileRawA\n#endif // !UNICODE\n\nWINADVAPI\nDWORD\nWINAPI\nReadEncryptedFileRaw(\n    IN PFE_EXPORT_FUNC pfExportCallback,\n    IN PVOID           pvCallbackContext,\n    IN PVOID           pvContext\n    );\n\nWINADVAPI\nDWORD\nWINAPI\nWriteEncryptedFileRaw(\n    IN PFE_IMPORT_FUNC pfImportCallback,\n    IN PVOID           pvCallbackContext,\n    IN PVOID           pvContext\n    );\n\nWINADVAPI\nVOID\nWINAPI\nCloseEncryptedFileRaw(\n    IN PVOID           pvContext\n    );\n\n//\n// _l Compat Functions\n//\n\nWINBASEAPI\nint\nWINAPI\nlstrcmpA(\n    IN LPCSTR lpString1,\n    IN LPCSTR lpString2\n    );\nWINBASEAPI\nint\nWINAPI\nlstrcmpW(\n    IN LPCWSTR lpString1,\n    IN LPCWSTR lpString2\n    );\n#ifdef UNICODE\n#define lstrcmp  lstrcmpW\n#else\n#define lstrcmp  lstrcmpA\n#endif // !UNICODE\n\nWINBASEAPI\nint\nWINAPI\nlstrcmpiA(\n    IN LPCSTR lpString1,\n    IN LPCSTR lpString2\n    );\nWINBASEAPI\nint\nWINAPI\nlstrcmpiW(\n    IN LPCWSTR lpString1,\n    IN LPCWSTR lpString2\n    );\n#ifdef UNICODE\n#define lstrcmpi  lstrcmpiW\n#else\n#define lstrcmpi  lstrcmpiA\n#endif // !UNICODE\n\nWINBASEAPI\nLPSTR\nWINAPI\nlstrcpynA(\n    OUT LPSTR lpString1,\n    IN LPCSTR lpString2,\n    IN int iMaxLength\n    );\nWINBASEAPI\nLPWSTR\nWINAPI\nlstrcpynW(\n    OUT LPWSTR lpString1,\n    IN LPCWSTR lpString2,\n    IN int iMaxLength\n    );\n#ifdef UNICODE\n#define lstrcpyn  lstrcpynW\n#else\n#define lstrcpyn  lstrcpynA\n#endif // !UNICODE\n\nWINBASEAPI\nLPSTR\nWINAPI\nlstrcpyA(\n    OUT LPSTR lpString1,\n    IN LPCSTR lpString2\n    );\nWINBASEAPI\nLPWSTR\nWINAPI\nlstrcpyW(\n    OUT LPWSTR lpString1,\n    IN LPCWSTR lpString2\n    );\n#ifdef UNICODE\n#define lstrcpy  lstrcpyW\n#else\n#define lstrcpy  lstrcpyA\n#endif // !UNICODE\n\nWINBASEAPI\nLPSTR\nWINAPI\nlstrcatA(\n    IN OUT LPSTR lpString1,\n    IN LPCSTR lpString2\n    );\nWINBASEAPI\nLPWSTR\nWINAPI\nlstrcatW(\n    IN OUT LPWSTR lpString1,\n    IN LPCWSTR lpString2\n    );\n#ifdef UNICODE\n#define lstrcat  lstrcatW\n#else\n#define lstrcat  lstrcatA\n#endif // !UNICODE\n\nWINBASEAPI\nint\nWINAPI\nlstrlenA(\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nint\nWINAPI\nlstrlenW(\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define lstrlen  lstrlenW\n#else\n#define lstrlen  lstrlenA\n#endif // !UNICODE\n\nWINBASEAPI\nHFILE\nWINAPI\nOpenFile(\n    IN LPCSTR lpFileName,\n    OUT LPOFSTRUCT lpReOpenBuff,\n    IN UINT uStyle\n    );\n\nWINBASEAPI\nHFILE\nWINAPI\n_lopen(\n    IN LPCSTR lpPathName,\n    IN int iReadWrite\n    );\n\nWINBASEAPI\nHFILE\nWINAPI\n_lcreat(\n    IN LPCSTR lpPathName,\n    IN int  iAttribute\n    );\n\nWINBASEAPI\nUINT\nWINAPI\n_lread(\n    IN HFILE hFile,\n    OUT LPVOID lpBuffer,\n    IN UINT uBytes\n    );\n\nWINBASEAPI\nUINT\nWINAPI\n_lwrite(\n    IN HFILE hFile,\n    IN LPCSTR lpBuffer,\n    IN UINT uBytes\n    );\n\nWINBASEAPI\nlong\nWINAPI\n_hread(\n    IN HFILE hFile,\n    OUT LPVOID lpBuffer,\n    IN long lBytes\n    );\n\nWINBASEAPI\nlong\nWINAPI\n_hwrite(\n    IN HFILE hFile,\n    IN LPCSTR lpBuffer,\n    IN long lBytes\n    );\n\nWINBASEAPI\nHFILE\nWINAPI\n_lclose(\n    IN OUT HFILE hFile\n    );\n\nWINBASEAPI\nLONG\nWINAPI\n_llseek(\n    IN HFILE hFile,\n    IN LONG lOffset,\n    IN int iOrigin\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nIsTextUnicode(\n    IN CONST VOID* lpBuffer,\n    IN int cb,\n    IN OUT LPINT lpi\n    );\n\ntypedef\nVOID\n(WINAPI *PFLS_CALLBACK_FUNCTION) (\n    IN PVOID lpFlsData\n    );\n\n#define FLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)\n\nWINBASEAPI\nDWORD\nWINAPI\nFlsAlloc(\n    IN PFLS_CALLBACK_FUNCTION lpCallback OPTIONAL\n    );\n\nWINBASEAPI\nPVOID\nWINAPI\nFlsGetValue(\n    IN DWORD dwFlsIndex\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFlsSetValue(\n    IN DWORD dwFlsIndex,\n    IN PVOID lpFlsData\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFlsFree(\n    IN DWORD dwFlsIndex\n    );\n\n#define TLS_OUT_OF_INDEXES ((DWORD)0xFFFFFFFF)\n\nWINBASEAPI\nDWORD\nWINAPI\nTlsAlloc(\n    VOID\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nTlsGetValue(\n    IN DWORD dwTlsIndex\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTlsSetValue(\n    IN DWORD dwTlsIndex,\n    IN LPVOID lpTlsValue\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTlsFree(\n    IN DWORD dwTlsIndex\n    );\n\ntypedef\nVOID\n(WINAPI *LPOVERLAPPED_COMPLETION_ROUTINE)(\n    DWORD dwErrorCode,\n    DWORD dwNumberOfBytesTransfered,\n    LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nSleepEx(\n    IN DWORD dwMilliseconds,\n    IN BOOL bAlertable\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nWaitForSingleObjectEx(\n    IN HANDLE hHandle,\n    IN DWORD dwMilliseconds,\n    IN BOOL bAlertable\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nWaitForMultipleObjectsEx(\n    IN DWORD nCount,\n    IN CONST HANDLE *lpHandles,\n    IN BOOL bWaitAll,\n    IN DWORD dwMilliseconds,\n    IN BOOL bAlertable\n    );\n\n#if(_WIN32_WINNT >= 0x0400)\nWINBASEAPI\nDWORD\nWINAPI\nSignalObjectAndWait(\n    IN HANDLE hObjectToSignal,\n    IN HANDLE hObjectToWaitOn,\n    IN DWORD dwMilliseconds,\n    IN BOOL bAlertable\n    );\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nBOOL\nWINAPI\nReadFileEx(\n    IN HANDLE hFile,\n    OUT LPVOID lpBuffer,\n    IN DWORD nNumberOfBytesToRead,\n    IN LPOVERLAPPED lpOverlapped,\n    IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteFileEx(\n    IN HANDLE hFile,\n    IN LPCVOID lpBuffer,\n    IN DWORD nNumberOfBytesToWrite,\n    IN LPOVERLAPPED lpOverlapped,\n    IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nBackupRead(\n    IN HANDLE hFile,\n    OUT LPBYTE lpBuffer,\n    IN DWORD nNumberOfBytesToRead,\n    OUT LPDWORD lpNumberOfBytesRead,\n    IN BOOL bAbort,\n    IN BOOL bProcessSecurity,\n    OUT LPVOID *lpContext\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nBackupSeek(\n    IN HANDLE hFile,\n    IN DWORD  dwLowBytesToSeek,\n    IN DWORD  dwHighBytesToSeek,\n    OUT LPDWORD lpdwLowByteSeeked,\n    OUT LPDWORD lpdwHighByteSeeked,\n    IN LPVOID *lpContext\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nBackupWrite(\n    IN HANDLE hFile,\n    IN LPBYTE lpBuffer,\n    IN DWORD nNumberOfBytesToWrite,\n    OUT LPDWORD lpNumberOfBytesWritten,\n    IN BOOL bAbort,\n    IN BOOL bProcessSecurity,\n    OUT LPVOID *lpContext\n    );\n\n//\n//  Stream id structure\n//\ntypedef struct _WIN32_STREAM_ID {\n        DWORD          dwStreamId ;\n        DWORD          dwStreamAttributes ;\n        LARGE_INTEGER  Size ;\n        DWORD          dwStreamNameSize ;\n        WCHAR          cStreamName[ ANYSIZE_ARRAY ] ;\n} WIN32_STREAM_ID, *LPWIN32_STREAM_ID ;\n\n//\n//  Stream Ids\n//\n\n#define BACKUP_INVALID          0x00000000\n#define BACKUP_DATA             0x00000001\n#define BACKUP_EA_DATA          0x00000002\n#define BACKUP_SECURITY_DATA    0x00000003\n#define BACKUP_ALTERNATE_DATA   0x00000004\n#define BACKUP_LINK             0x00000005\n#define BACKUP_PROPERTY_DATA    0x00000006\n#define BACKUP_OBJECT_ID        0x00000007\n#define BACKUP_REPARSE_DATA     0x00000008\n#define BACKUP_SPARSE_BLOCK     0x00000009\n\n\n//\n//  Stream Attributes\n//\n\n#define STREAM_NORMAL_ATTRIBUTE         0x00000000\n#define STREAM_MODIFIED_WHEN_READ       0x00000001\n#define STREAM_CONTAINS_SECURITY        0x00000002\n#define STREAM_CONTAINS_PROPERTIES      0x00000004\n#define STREAM_SPARSE_ATTRIBUTE         0x00000008\n\nWINBASEAPI\nBOOL\nWINAPI\nReadFileScatter(\n    IN HANDLE hFile,\n    IN FILE_SEGMENT_ELEMENT aSegmentArray[],\n    IN DWORD nNumberOfBytesToRead,\n    IN LPDWORD lpReserved,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteFileGather(\n    IN HANDLE hFile,\n    OUT FILE_SEGMENT_ELEMENT aSegmentArray[],\n    IN DWORD nNumberOfBytesToWrite,\n    IN LPDWORD lpReserved,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\n//\n// Dual Mode API below this line. Dual Mode Structures also included.\n//\n\n#define STARTF_USESHOWWINDOW    0x00000001\n#define STARTF_USESIZE          0x00000002\n#define STARTF_USEPOSITION      0x00000004\n#define STARTF_USECOUNTCHARS    0x00000008\n#define STARTF_USEFILLATTRIBUTE 0x00000010\n#define STARTF_RUNFULLSCREEN    0x00000020  // ignored for non-x86 platforms\n#define STARTF_FORCEONFEEDBACK  0x00000040\n#define STARTF_FORCEOFFFEEDBACK 0x00000080\n#define STARTF_USESTDHANDLES    0x00000100\n\n#if(WINVER >= 0x0400)\n\n#define STARTF_USEHOTKEY        0x00000200\n#endif /* WINVER >= 0x0400 */\n\ntypedef struct _STARTUPINFOA {\n    DWORD   cb;\n    LPSTR   lpReserved;\n    LPSTR   lpDesktop;\n    LPSTR   lpTitle;\n    DWORD   dwX;\n    DWORD   dwY;\n    DWORD   dwXSize;\n    DWORD   dwYSize;\n    DWORD   dwXCountChars;\n    DWORD   dwYCountChars;\n    DWORD   dwFillAttribute;\n    DWORD   dwFlags;\n    WORD    wShowWindow;\n    WORD    cbReserved2;\n    LPBYTE  lpReserved2;\n    HANDLE  hStdInput;\n    HANDLE  hStdOutput;\n    HANDLE  hStdError;\n} STARTUPINFOA, *LPSTARTUPINFOA;\ntypedef struct _STARTUPINFOW {\n    DWORD   cb;\n    LPWSTR  lpReserved;\n    LPWSTR  lpDesktop;\n    LPWSTR  lpTitle;\n    DWORD   dwX;\n    DWORD   dwY;\n    DWORD   dwXSize;\n    DWORD   dwYSize;\n    DWORD   dwXCountChars;\n    DWORD   dwYCountChars;\n    DWORD   dwFillAttribute;\n    DWORD   dwFlags;\n    WORD    wShowWindow;\n    WORD    cbReserved2;\n    LPBYTE  lpReserved2;\n    HANDLE  hStdInput;\n    HANDLE  hStdOutput;\n    HANDLE  hStdError;\n} STARTUPINFOW, *LPSTARTUPINFOW;\n#ifdef UNICODE\ntypedef STARTUPINFOW STARTUPINFO;\ntypedef LPSTARTUPINFOW LPSTARTUPINFO;\n#else\ntypedef STARTUPINFOA STARTUPINFO;\ntypedef LPSTARTUPINFOA LPSTARTUPINFO;\n#endif // UNICODE\n\n#define SHUTDOWN_NORETRY                0x00000001\n\ntypedef struct _WIN32_FIND_DATAA {\n    DWORD dwFileAttributes;\n    FILETIME ftCreationTime;\n    FILETIME ftLastAccessTime;\n    FILETIME ftLastWriteTime;\n    DWORD nFileSizeHigh;\n    DWORD nFileSizeLow;\n    DWORD dwReserved0;\n    DWORD dwReserved1;\n    CHAR   cFileName[ MAX_PATH ];\n    CHAR   cAlternateFileName[ 14 ];\n#ifdef _MAC\n    DWORD dwFileType;\n    DWORD dwCreatorType;\n    WORD  wFinderFlags;\n#endif\n} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;\ntypedef struct _WIN32_FIND_DATAW {\n    DWORD dwFileAttributes;\n    FILETIME ftCreationTime;\n    FILETIME ftLastAccessTime;\n    FILETIME ftLastWriteTime;\n    DWORD nFileSizeHigh;\n    DWORD nFileSizeLow;\n    DWORD dwReserved0;\n    DWORD dwReserved1;\n    WCHAR  cFileName[ MAX_PATH ];\n    WCHAR  cAlternateFileName[ 14 ];\n#ifdef _MAC\n    DWORD dwFileType;\n    DWORD dwCreatorType;\n    WORD  wFinderFlags;\n#endif\n} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;\n#ifdef UNICODE\ntypedef WIN32_FIND_DATAW WIN32_FIND_DATA;\ntypedef PWIN32_FIND_DATAW PWIN32_FIND_DATA;\ntypedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA;\n#else\ntypedef WIN32_FIND_DATAA WIN32_FIND_DATA;\ntypedef PWIN32_FIND_DATAA PWIN32_FIND_DATA;\ntypedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA;\n#endif // UNICODE\n\ntypedef struct _WIN32_FILE_ATTRIBUTE_DATA {\n    DWORD dwFileAttributes;\n    FILETIME ftCreationTime;\n    FILETIME ftLastAccessTime;\n    FILETIME ftLastWriteTime;\n    DWORD nFileSizeHigh;\n    DWORD nFileSizeLow;\n} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateMutexA(\n    IN LPSECURITY_ATTRIBUTES lpMutexAttributes,\n    IN BOOL bInitialOwner,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateMutexW(\n    IN LPSECURITY_ATTRIBUTES lpMutexAttributes,\n    IN BOOL bInitialOwner,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define CreateMutex  CreateMutexW\n#else\n#define CreateMutex  CreateMutexA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenMutexA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenMutexW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define OpenMutex  OpenMutexW\n#else\n#define OpenMutex  OpenMutexA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateEventA(\n    IN LPSECURITY_ATTRIBUTES lpEventAttributes,\n    IN BOOL bManualReset,\n    IN BOOL bInitialState,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateEventW(\n    IN LPSECURITY_ATTRIBUTES lpEventAttributes,\n    IN BOOL bManualReset,\n    IN BOOL bInitialState,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define CreateEvent  CreateEventW\n#else\n#define CreateEvent  CreateEventA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenEventA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenEventW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define OpenEvent  OpenEventW\n#else\n#define OpenEvent  OpenEventA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateSemaphoreA(\n    IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,\n    IN LONG lInitialCount,\n    IN LONG lMaximumCount,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateSemaphoreW(\n    IN LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,\n    IN LONG lInitialCount,\n    IN LONG lMaximumCount,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define CreateSemaphore  CreateSemaphoreW\n#else\n#define CreateSemaphore  CreateSemaphoreA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenSemaphoreA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenSemaphoreW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define OpenSemaphore  OpenSemaphoreW\n#else\n#define OpenSemaphore  OpenSemaphoreA\n#endif // !UNICODE\n\n#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\ntypedef\nVOID\n(APIENTRY *PTIMERAPCROUTINE)(\n    LPVOID lpArgToCompletionRoutine,\n    DWORD dwTimerLowValue,\n    DWORD dwTimerHighValue\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateWaitableTimerA(\n    IN LPSECURITY_ATTRIBUTES lpTimerAttributes,\n    IN BOOL bManualReset,\n    IN LPCSTR lpTimerName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateWaitableTimerW(\n    IN LPSECURITY_ATTRIBUTES lpTimerAttributes,\n    IN BOOL bManualReset,\n    IN LPCWSTR lpTimerName\n    );\n#ifdef UNICODE\n#define CreateWaitableTimer  CreateWaitableTimerW\n#else\n#define CreateWaitableTimer  CreateWaitableTimerA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenWaitableTimerA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpTimerName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenWaitableTimerW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpTimerName\n    );\n#ifdef UNICODE\n#define OpenWaitableTimer  OpenWaitableTimerW\n#else\n#define OpenWaitableTimer  OpenWaitableTimerA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetWaitableTimer(\n    IN HANDLE hTimer,\n    IN const LARGE_INTEGER *lpDueTime,\n    IN LONG lPeriod,\n    IN PTIMERAPCROUTINE pfnCompletionRoutine,\n    IN LPVOID lpArgToCompletionRoutine,\n    IN BOOL fResume\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nCancelWaitableTimer(\n    IN HANDLE hTimer\n    );\n#endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateFileMappingA(\n    IN HANDLE hFile,\n    IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes,\n    IN DWORD flProtect,\n    IN DWORD dwMaximumSizeHigh,\n    IN DWORD dwMaximumSizeLow,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateFileMappingW(\n    IN HANDLE hFile,\n    IN LPSECURITY_ATTRIBUTES lpFileMappingAttributes,\n    IN DWORD flProtect,\n    IN DWORD dwMaximumSizeHigh,\n    IN DWORD dwMaximumSizeLow,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define CreateFileMapping  CreateFileMappingW\n#else\n#define CreateFileMapping  CreateFileMappingA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenFileMappingA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenFileMappingW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define OpenFileMapping  OpenFileMappingW\n#else\n#define OpenFileMapping  OpenFileMappingA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetLogicalDriveStringsA(\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetLogicalDriveStringsW(\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer\n    );\n#ifdef UNICODE\n#define GetLogicalDriveStrings  GetLogicalDriveStringsW\n#else\n#define GetLogicalDriveStrings  GetLogicalDriveStringsA\n#endif // !UNICODE\n\n#if _WIN32_WINNT >= 0x0501\n\ntypedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {\n    LowMemoryResourceNotification,\n    HighMemoryResourceNotification\n} MEMORY_RESOURCE_NOTIFICATION_TYPE;\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateMemoryResourceNotification(\n    IN MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nQueryMemoryResourceNotification(\n    IN  HANDLE ResourceNotificationHandle,\n    OUT PBOOL  ResourceState\n    );\n\n#endif // _WIN32_WINNT >= 0x0501\n\n\nWINBASEAPI\nHMODULE\nWINAPI\nLoadLibraryA(\n    IN LPCSTR lpLibFileName\n    );\nWINBASEAPI\nHMODULE\nWINAPI\nLoadLibraryW(\n    IN LPCWSTR lpLibFileName\n    );\n#ifdef UNICODE\n#define LoadLibrary  LoadLibraryW\n#else\n#define LoadLibrary  LoadLibraryA\n#endif // !UNICODE\n\nWINBASEAPI\nHMODULE\nWINAPI\nLoadLibraryExA(\n    IN LPCSTR lpLibFileName,\n    IN HANDLE hFile,\n    IN DWORD dwFlags\n    );\nWINBASEAPI\nHMODULE\nWINAPI\nLoadLibraryExW(\n    IN LPCWSTR lpLibFileName,\n    IN HANDLE hFile,\n    IN DWORD dwFlags\n    );\n#ifdef UNICODE\n#define LoadLibraryEx  LoadLibraryExW\n#else\n#define LoadLibraryEx  LoadLibraryExA\n#endif // !UNICODE\n\n\n#define DONT_RESOLVE_DLL_REFERENCES   0x00000001\n#define LOAD_LIBRARY_AS_DATAFILE      0x00000002\n#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008\n#define LOAD_IGNORE_CODE_AUTHZ_LEVEL  0x00000010\n\n\nWINBASEAPI\nDWORD\nWINAPI\nGetModuleFileNameA(\n    IN HMODULE hModule,\n    OUT LPSTR lpFilename,\n    IN DWORD nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetModuleFileNameW(\n    IN HMODULE hModule,\n    OUT LPWSTR lpFilename,\n    IN DWORD nSize\n    );\n#ifdef UNICODE\n#define GetModuleFileName  GetModuleFileNameW\n#else\n#define GetModuleFileName  GetModuleFileNameA\n#endif // !UNICODE\n\nWINBASEAPI\nHMODULE\nWINAPI\nGetModuleHandleA(\n    IN LPCSTR lpModuleName\n    );\nWINBASEAPI\nHMODULE\nWINAPI\nGetModuleHandleW(\n    IN LPCWSTR lpModuleName\n    );\n#ifdef UNICODE\n#define GetModuleHandle  GetModuleHandleW\n#else\n#define GetModuleHandle  GetModuleHandleA\n#endif // !UNICODE\n\n#if !defined(RC_INVOKED)\n#if _WIN32_WINNT > 0x0500 || defined(WINBASE_DECLARE_GET_MODULE_HANDLE_EX) || ISOLATION_AWARE_ENABLED\n\n#define GET_MODULE_HANDLE_EX_FLAG_PIN                 (0x00000001)\n#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT  (0x00000002)\n#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS        (0x00000004)\n\ntypedef\nBOOL\n(WINAPI*\nPGET_MODULE_HANDLE_EXA)(\n    IN DWORD        dwFlags,\n    IN LPCSTR     lpModuleName,\n    OUT HMODULE*    phModule\n    );\ntypedef\nBOOL\n(WINAPI*\nPGET_MODULE_HANDLE_EXW)(\n    IN DWORD        dwFlags,\n    IN LPCWSTR     lpModuleName,\n    OUT HMODULE*    phModule\n    );\n#ifdef UNICODE\n#define PGET_MODULE_HANDLE_EX  PGET_MODULE_HANDLE_EXW\n#else\n#define PGET_MODULE_HANDLE_EX  PGET_MODULE_HANDLE_EXA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetModuleHandleExA(\n    IN DWORD        dwFlags,\n    IN LPCSTR     lpModuleName,\n    OUT HMODULE*    phModule\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetModuleHandleExW(\n    IN DWORD        dwFlags,\n    IN LPCWSTR     lpModuleName,\n    OUT HMODULE*    phModule\n    );\n#ifdef UNICODE\n#define GetModuleHandleEx  GetModuleHandleExW\n#else\n#define GetModuleHandleEx  GetModuleHandleExA\n#endif // !UNICODE\n\n#endif\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateProcessA(\n    IN LPCSTR lpApplicationName,\n    IN LPSTR lpCommandLine,\n    IN LPSECURITY_ATTRIBUTES lpProcessAttributes,\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN BOOL bInheritHandles,\n    IN DWORD dwCreationFlags,\n    IN LPVOID lpEnvironment,\n    IN LPCSTR lpCurrentDirectory,\n    IN LPSTARTUPINFOA lpStartupInfo,\n    OUT LPPROCESS_INFORMATION lpProcessInformation\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCreateProcessW(\n    IN LPCWSTR lpApplicationName,\n    IN LPWSTR lpCommandLine,\n    IN LPSECURITY_ATTRIBUTES lpProcessAttributes,\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN BOOL bInheritHandles,\n    IN DWORD dwCreationFlags,\n    IN LPVOID lpEnvironment,\n    IN LPCWSTR lpCurrentDirectory,\n    IN LPSTARTUPINFOW lpStartupInfo,\n    OUT LPPROCESS_INFORMATION lpProcessInformation\n    );\n#ifdef UNICODE\n#define CreateProcess  CreateProcessW\n#else\n#define CreateProcess  CreateProcessA\n#endif // !UNICODE\n\n\n\nWINBASEAPI\nBOOL\nWINAPI\nSetProcessShutdownParameters(\n    IN DWORD dwLevel,\n    IN DWORD dwFlags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetProcessShutdownParameters(\n    OUT LPDWORD lpdwLevel,\n    OUT LPDWORD lpdwFlags\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProcessVersion(\n    IN DWORD ProcessId\n    );\n\nWINBASEAPI\nVOID\nWINAPI\nFatalAppExitA(\n    IN UINT uAction,\n    IN LPCSTR lpMessageText\n    );\nWINBASEAPI\nVOID\nWINAPI\nFatalAppExitW(\n    IN UINT uAction,\n    IN LPCWSTR lpMessageText\n    );\n#ifdef UNICODE\n#define FatalAppExit  FatalAppExitW\n#else\n#define FatalAppExit  FatalAppExitA\n#endif // !UNICODE\n\nWINBASEAPI\nVOID\nWINAPI\nGetStartupInfoA(\n    OUT LPSTARTUPINFOA lpStartupInfo\n    );\nWINBASEAPI\nVOID\nWINAPI\nGetStartupInfoW(\n    OUT LPSTARTUPINFOW lpStartupInfo\n    );\n#ifdef UNICODE\n#define GetStartupInfo  GetStartupInfoW\n#else\n#define GetStartupInfo  GetStartupInfoA\n#endif // !UNICODE\n\nWINBASEAPI\nLPSTR\nWINAPI\nGetCommandLineA(\n    VOID\n    );\nWINBASEAPI\nLPWSTR\nWINAPI\nGetCommandLineW(\n    VOID\n    );\n#ifdef UNICODE\n#define GetCommandLine  GetCommandLineW\n#else\n#define GetCommandLine  GetCommandLineA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetEnvironmentVariableA(\n    IN LPCSTR lpName,\n    OUT LPSTR lpBuffer,\n    IN DWORD nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetEnvironmentVariableW(\n    IN LPCWSTR lpName,\n    OUT LPWSTR lpBuffer,\n    IN DWORD nSize\n    );\n#ifdef UNICODE\n#define GetEnvironmentVariable  GetEnvironmentVariableW\n#else\n#define GetEnvironmentVariable  GetEnvironmentVariableA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetEnvironmentVariableA(\n    IN LPCSTR lpName,\n    IN LPCSTR lpValue\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetEnvironmentVariableW(\n    IN LPCWSTR lpName,\n    IN LPCWSTR lpValue\n    );\n#ifdef UNICODE\n#define SetEnvironmentVariable  SetEnvironmentVariableW\n#else\n#define SetEnvironmentVariable  SetEnvironmentVariableA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nExpandEnvironmentStringsA(\n    IN LPCSTR lpSrc,\n    OUT LPSTR lpDst,\n    IN DWORD nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nExpandEnvironmentStringsW(\n    IN LPCWSTR lpSrc,\n    OUT LPWSTR lpDst,\n    IN DWORD nSize\n    );\n#ifdef UNICODE\n#define ExpandEnvironmentStrings  ExpandEnvironmentStringsW\n#else\n#define ExpandEnvironmentStrings  ExpandEnvironmentStringsA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetFirmwareEnvironmentVariableA(\n    IN LPCSTR lpName,\n    IN LPCSTR lpGuid,\n    OUT PVOID   pBuffer,\n    IN DWORD    nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetFirmwareEnvironmentVariableW(\n    IN LPCWSTR lpName,\n    IN LPCWSTR lpGuid,\n    OUT PVOID   pBuffer,\n    IN DWORD    nSize\n    );\n#ifdef UNICODE\n#define GetFirmwareEnvironmentVariable  GetFirmwareEnvironmentVariableW\n#else\n#define GetFirmwareEnvironmentVariable  GetFirmwareEnvironmentVariableA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFirmwareEnvironmentVariableA(\n    IN LPCSTR lpName,\n    IN LPCSTR lpGuid,\n    IN PVOID    pValue,\n    IN DWORD    nSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetFirmwareEnvironmentVariableW(\n    IN LPCWSTR lpName,\n    IN LPCWSTR lpGuid,\n    IN PVOID    pValue,\n    IN DWORD    nSize\n    );\n#ifdef UNICODE\n#define SetFirmwareEnvironmentVariable  SetFirmwareEnvironmentVariableW\n#else\n#define SetFirmwareEnvironmentVariable  SetFirmwareEnvironmentVariableA\n#endif // !UNICODE\n\n\nWINBASEAPI\nVOID\nWINAPI\nOutputDebugStringA(\n    IN LPCSTR lpOutputString\n    );\nWINBASEAPI\nVOID\nWINAPI\nOutputDebugStringW(\n    IN LPCWSTR lpOutputString\n    );\n#ifdef UNICODE\n#define OutputDebugString  OutputDebugStringW\n#else\n#define OutputDebugString  OutputDebugStringA\n#endif // !UNICODE\n\nWINBASEAPI\nHRSRC\nWINAPI\nFindResourceA(\n    IN HMODULE hModule,\n    IN LPCSTR lpName,\n    IN LPCSTR lpType\n    );\nWINBASEAPI\nHRSRC\nWINAPI\nFindResourceW(\n    IN HMODULE hModule,\n    IN LPCWSTR lpName,\n    IN LPCWSTR lpType\n    );\n#ifdef UNICODE\n#define FindResource  FindResourceW\n#else\n#define FindResource  FindResourceA\n#endif // !UNICODE\n\nWINBASEAPI\nHRSRC\nWINAPI\nFindResourceExA(\n    IN HMODULE hModule,\n    IN LPCSTR lpType,\n    IN LPCSTR lpName,\n    IN WORD    wLanguage\n    );\nWINBASEAPI\nHRSRC\nWINAPI\nFindResourceExW(\n    IN HMODULE hModule,\n    IN LPCWSTR lpType,\n    IN LPCWSTR lpName,\n    IN WORD    wLanguage\n    );\n#ifdef UNICODE\n#define FindResourceEx  FindResourceExW\n#else\n#define FindResourceEx  FindResourceExA\n#endif // !UNICODE\n\n#ifdef STRICT\ntypedef BOOL (CALLBACK* ENUMRESTYPEPROCA)(HMODULE hModule, LPSTR lpType,\n        LONG_PTR lParam);\ntypedef BOOL (CALLBACK* ENUMRESTYPEPROCW)(HMODULE hModule, LPWSTR lpType,\n        LONG_PTR lParam);\n#ifdef UNICODE\n#define ENUMRESTYPEPROC  ENUMRESTYPEPROCW\n#else\n#define ENUMRESTYPEPROC  ENUMRESTYPEPROCA\n#endif // !UNICODE\ntypedef BOOL (CALLBACK* ENUMRESNAMEPROCA)(HMODULE hModule, LPCSTR lpType,\n        LPSTR lpName, LONG_PTR lParam);\ntypedef BOOL (CALLBACK* ENUMRESNAMEPROCW)(HMODULE hModule, LPCWSTR lpType,\n        LPWSTR lpName, LONG_PTR lParam);\n#ifdef UNICODE\n#define ENUMRESNAMEPROC  ENUMRESNAMEPROCW\n#else\n#define ENUMRESNAMEPROC  ENUMRESNAMEPROCA\n#endif // !UNICODE\ntypedef BOOL (CALLBACK* ENUMRESLANGPROCA)(HMODULE hModule, LPCSTR lpType,\n        LPCSTR lpName, WORD  wLanguage, LONG_PTR lParam);\ntypedef BOOL (CALLBACK* ENUMRESLANGPROCW)(HMODULE hModule, LPCWSTR lpType,\n        LPCWSTR lpName, WORD  wLanguage, LONG_PTR lParam);\n#ifdef UNICODE\n#define ENUMRESLANGPROC  ENUMRESLANGPROCW\n#else\n#define ENUMRESLANGPROC  ENUMRESLANGPROCA\n#endif // !UNICODE\n#else\ntypedef FARPROC ENUMRESTYPEPROCA;\ntypedef FARPROC ENUMRESTYPEPROCW;\n#ifdef UNICODE\ntypedef ENUMRESTYPEPROCW ENUMRESTYPEPROC;\n#else\ntypedef ENUMRESTYPEPROCA ENUMRESTYPEPROC;\n#endif // UNICODE\ntypedef FARPROC ENUMRESNAMEPROCA;\ntypedef FARPROC ENUMRESNAMEPROCW;\n#ifdef UNICODE\ntypedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;\n#else\ntypedef ENUMRESNAMEPROCA ENUMRESNAMEPROC;\n#endif // UNICODE\ntypedef FARPROC ENUMRESLANGPROCA;\ntypedef FARPROC ENUMRESLANGPROCW;\n#ifdef UNICODE\ntypedef ENUMRESLANGPROCW ENUMRESLANGPROC;\n#else\ntypedef ENUMRESLANGPROCA ENUMRESLANGPROC;\n#endif // UNICODE\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceTypesA(\n    IN HMODULE hModule,\n    IN ENUMRESTYPEPROCA lpEnumFunc,\n    IN LONG_PTR lParam\n    );\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceTypesW(\n    IN HMODULE hModule,\n    IN ENUMRESTYPEPROCW lpEnumFunc,\n    IN LONG_PTR lParam\n    );\n#ifdef UNICODE\n#define EnumResourceTypes  EnumResourceTypesW\n#else\n#define EnumResourceTypes  EnumResourceTypesA\n#endif // !UNICODE\n\n\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceNamesA(\n    IN HMODULE hModule,\n    IN LPCSTR lpType,\n    IN ENUMRESNAMEPROCA lpEnumFunc,\n    IN LONG_PTR lParam\n    );\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceNamesW(\n    IN HMODULE hModule,\n    IN LPCWSTR lpType,\n    IN ENUMRESNAMEPROCW lpEnumFunc,\n    IN LONG_PTR lParam\n    );\n#ifdef UNICODE\n#define EnumResourceNames  EnumResourceNamesW\n#else\n#define EnumResourceNames  EnumResourceNamesA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceLanguagesA(\n    IN HMODULE hModule,\n    IN LPCSTR lpType,\n    IN LPCSTR lpName,\n    IN ENUMRESLANGPROCA lpEnumFunc,\n    IN LONG_PTR lParam\n    );\nWINBASEAPI\nBOOL\nWINAPI\nEnumResourceLanguagesW(\n    IN HMODULE hModule,\n    IN LPCWSTR lpType,\n    IN LPCWSTR lpName,\n    IN ENUMRESLANGPROCW lpEnumFunc,\n    IN LONG_PTR lParam\n    );\n#ifdef UNICODE\n#define EnumResourceLanguages  EnumResourceLanguagesW\n#else\n#define EnumResourceLanguages  EnumResourceLanguagesA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nBeginUpdateResourceA(\n    IN LPCSTR pFileName,\n    IN BOOL bDeleteExistingResources\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nBeginUpdateResourceW(\n    IN LPCWSTR pFileName,\n    IN BOOL bDeleteExistingResources\n    );\n#ifdef UNICODE\n#define BeginUpdateResource  BeginUpdateResourceW\n#else\n#define BeginUpdateResource  BeginUpdateResourceA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nUpdateResourceA(\n    IN HANDLE      hUpdate,\n    IN LPCSTR     lpType,\n    IN LPCSTR     lpName,\n    IN WORD        wLanguage,\n    IN LPVOID      lpData,\n    IN DWORD       cbData\n    );\nWINBASEAPI\nBOOL\nWINAPI\nUpdateResourceW(\n    IN HANDLE      hUpdate,\n    IN LPCWSTR     lpType,\n    IN LPCWSTR     lpName,\n    IN WORD        wLanguage,\n    IN LPVOID      lpData,\n    IN DWORD       cbData\n    );\n#ifdef UNICODE\n#define UpdateResource  UpdateResourceW\n#else\n#define UpdateResource  UpdateResourceA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nEndUpdateResourceA(\n    IN HANDLE      hUpdate,\n    IN BOOL        fDiscard\n    );\nWINBASEAPI\nBOOL\nWINAPI\nEndUpdateResourceW(\n    IN HANDLE      hUpdate,\n    IN BOOL        fDiscard\n    );\n#ifdef UNICODE\n#define EndUpdateResource  EndUpdateResourceW\n#else\n#define EndUpdateResource  EndUpdateResourceA\n#endif // !UNICODE\n\nWINBASEAPI\nATOM\nWINAPI\nGlobalAddAtomA(\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nATOM\nWINAPI\nGlobalAddAtomW(\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define GlobalAddAtom  GlobalAddAtomW\n#else\n#define GlobalAddAtom  GlobalAddAtomA\n#endif // !UNICODE\n\nWINBASEAPI\nATOM\nWINAPI\nGlobalFindAtomA(\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nATOM\nWINAPI\nGlobalFindAtomW(\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define GlobalFindAtom  GlobalFindAtomW\n#else\n#define GlobalFindAtom  GlobalFindAtomA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGlobalGetAtomNameA(\n    IN ATOM nAtom,\n    OUT LPSTR lpBuffer,\n    IN int nSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGlobalGetAtomNameW(\n    IN ATOM nAtom,\n    OUT LPWSTR lpBuffer,\n    IN int nSize\n    );\n#ifdef UNICODE\n#define GlobalGetAtomName  GlobalGetAtomNameW\n#else\n#define GlobalGetAtomName  GlobalGetAtomNameA\n#endif // !UNICODE\n\nWINBASEAPI\nATOM\nWINAPI\nAddAtomA(\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nATOM\nWINAPI\nAddAtomW(\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define AddAtom  AddAtomW\n#else\n#define AddAtom  AddAtomA\n#endif // !UNICODE\n\nWINBASEAPI\nATOM\nWINAPI\nFindAtomA(\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nATOM\nWINAPI\nFindAtomW(\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define FindAtom  FindAtomW\n#else\n#define FindAtom  FindAtomA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetAtomNameA(\n    IN ATOM nAtom,\n    OUT LPSTR lpBuffer,\n    IN int nSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetAtomNameW(\n    IN ATOM nAtom,\n    OUT LPWSTR lpBuffer,\n    IN int nSize\n    );\n#ifdef UNICODE\n#define GetAtomName  GetAtomNameW\n#else\n#define GetAtomName  GetAtomNameA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetProfileIntA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN INT nDefault\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetProfileIntW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN INT nDefault\n    );\n#ifdef UNICODE\n#define GetProfileInt  GetProfileIntW\n#else\n#define GetProfileInt  GetProfileIntA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProfileStringA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN LPCSTR lpDefault,\n    OUT LPSTR lpReturnedString,\n    IN DWORD nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetProfileStringW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN LPCWSTR lpDefault,\n    OUT LPWSTR lpReturnedString,\n    IN DWORD nSize\n    );\n#ifdef UNICODE\n#define GetProfileString  GetProfileStringW\n#else\n#define GetProfileString  GetProfileStringA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteProfileStringA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWriteProfileStringW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define WriteProfileString  WriteProfileStringW\n#else\n#define WriteProfileString  WriteProfileStringA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetProfileSectionA(\n    IN LPCSTR lpAppName,\n    OUT LPSTR lpReturnedString,\n    IN DWORD nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetProfileSectionW(\n    IN LPCWSTR lpAppName,\n    OUT LPWSTR lpReturnedString,\n    IN DWORD nSize\n    );\n#ifdef UNICODE\n#define GetProfileSection  GetProfileSectionW\n#else\n#define GetProfileSection  GetProfileSectionA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWriteProfileSectionA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpString\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWriteProfileSectionW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpString\n    );\n#ifdef UNICODE\n#define WriteProfileSection  WriteProfileSectionW\n#else\n#define WriteProfileSection  WriteProfileSectionA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetPrivateProfileIntA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN INT nDefault,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetPrivateProfileIntW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN INT nDefault,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define GetPrivateProfileInt  GetPrivateProfileIntW\n#else\n#define GetPrivateProfileInt  GetPrivateProfileIntA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileStringA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN LPCSTR lpDefault,\n    OUT LPSTR lpReturnedString,\n    IN DWORD nSize,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileStringW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN LPCWSTR lpDefault,\n    OUT LPWSTR lpReturnedString,\n    IN DWORD nSize,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define GetPrivateProfileString  GetPrivateProfileStringW\n#else\n#define GetPrivateProfileString  GetPrivateProfileStringA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileStringA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpKeyName,\n    IN LPCSTR lpString,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileStringW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpKeyName,\n    IN LPCWSTR lpString,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define WritePrivateProfileString  WritePrivateProfileStringW\n#else\n#define WritePrivateProfileString  WritePrivateProfileStringA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileSectionA(\n    IN LPCSTR lpAppName,\n    OUT LPSTR lpReturnedString,\n    IN DWORD nSize,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileSectionW(\n    IN LPCWSTR lpAppName,\n    OUT LPWSTR lpReturnedString,\n    IN DWORD nSize,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define GetPrivateProfileSection  GetPrivateProfileSectionW\n#else\n#define GetPrivateProfileSection  GetPrivateProfileSectionA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileSectionA(\n    IN LPCSTR lpAppName,\n    IN LPCSTR lpString,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileSectionW(\n    IN LPCWSTR lpAppName,\n    IN LPCWSTR lpString,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define WritePrivateProfileSection  WritePrivateProfileSectionW\n#else\n#define WritePrivateProfileSection  WritePrivateProfileSectionA\n#endif // !UNICODE\n\n\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileSectionNamesA(\n    OUT LPSTR lpszReturnBuffer,\n    IN DWORD nSize,\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetPrivateProfileSectionNamesW(\n    OUT LPWSTR lpszReturnBuffer,\n    IN DWORD nSize,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define GetPrivateProfileSectionNames  GetPrivateProfileSectionNamesW\n#else\n#define GetPrivateProfileSectionNames  GetPrivateProfileSectionNamesA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetPrivateProfileStructA(\n    IN LPCSTR lpszSection,\n    IN LPCSTR lpszKey,\n    OUT LPVOID   lpStruct,\n    IN UINT     uSizeStruct,\n    IN LPCSTR szFile\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetPrivateProfileStructW(\n    IN LPCWSTR lpszSection,\n    IN LPCWSTR lpszKey,\n    OUT LPVOID   lpStruct,\n    IN UINT     uSizeStruct,\n    IN LPCWSTR szFile\n    );\n#ifdef UNICODE\n#define GetPrivateProfileStruct  GetPrivateProfileStructW\n#else\n#define GetPrivateProfileStruct  GetPrivateProfileStructA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileStructA(\n    IN LPCSTR lpszSection,\n    IN LPCSTR lpszKey,\n    IN LPVOID   lpStruct,\n    IN UINT     uSizeStruct,\n    IN LPCSTR szFile\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWritePrivateProfileStructW(\n    IN LPCWSTR lpszSection,\n    IN LPCWSTR lpszKey,\n    IN LPVOID   lpStruct,\n    IN UINT     uSizeStruct,\n    IN LPCWSTR szFile\n    );\n#ifdef UNICODE\n#define WritePrivateProfileStruct  WritePrivateProfileStructW\n#else\n#define WritePrivateProfileStruct  WritePrivateProfileStructA\n#endif // !UNICODE\n\n\nWINBASEAPI\nUINT\nWINAPI\nGetDriveTypeA(\n    IN LPCSTR lpRootPathName\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetDriveTypeW(\n    IN LPCWSTR lpRootPathName\n    );\n#ifdef UNICODE\n#define GetDriveType  GetDriveTypeW\n#else\n#define GetDriveType  GetDriveTypeA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetSystemDirectoryA(\n    OUT LPSTR lpBuffer,\n    IN UINT uSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetSystemDirectoryW(\n    OUT LPWSTR lpBuffer,\n    IN UINT uSize\n    );\n#ifdef UNICODE\n#define GetSystemDirectory  GetSystemDirectoryW\n#else\n#define GetSystemDirectory  GetSystemDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetTempPathA(\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetTempPathW(\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer\n    );\n#ifdef UNICODE\n#define GetTempPath  GetTempPathW\n#else\n#define GetTempPath  GetTempPathA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetTempFileNameA(\n    IN LPCSTR lpPathName,\n    IN LPCSTR lpPrefixString,\n    IN UINT uUnique,\n    OUT LPSTR lpTempFileName\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetTempFileNameW(\n    IN LPCWSTR lpPathName,\n    IN LPCWSTR lpPrefixString,\n    IN UINT uUnique,\n    OUT LPWSTR lpTempFileName\n    );\n#ifdef UNICODE\n#define GetTempFileName  GetTempFileNameW\n#else\n#define GetTempFileName  GetTempFileNameA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetWindowsDirectoryA(\n    OUT LPSTR lpBuffer,\n    IN UINT uSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetWindowsDirectoryW(\n    OUT LPWSTR lpBuffer,\n    IN UINT uSize\n    );\n#ifdef UNICODE\n#define GetWindowsDirectory  GetWindowsDirectoryW\n#else\n#define GetWindowsDirectory  GetWindowsDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nUINT\nWINAPI\nGetSystemWindowsDirectoryA(\n    OUT LPSTR lpBuffer,\n    IN UINT uSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetSystemWindowsDirectoryW(\n    OUT LPWSTR lpBuffer,\n    IN UINT uSize\n    );\n#ifdef UNICODE\n#define GetSystemWindowsDirectory  GetSystemWindowsDirectoryW\n#else\n#define GetSystemWindowsDirectory  GetSystemWindowsDirectoryA\n#endif // !UNICODE\n\n#if !defined(RC_INVOKED) // RC warns because \"WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY\" is a bit long.\n#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY)\n\nWINBASEAPI\nUINT\nWINAPI\nGetSystemWow64DirectoryA(\n    OUT LPSTR lpBuffer,\n    IN UINT uSize\n    );\nWINBASEAPI\nUINT\nWINAPI\nGetSystemWow64DirectoryW(\n    OUT LPWSTR lpBuffer,\n    IN UINT uSize\n    );\n#ifdef UNICODE\n#define GetSystemWow64Directory  GetSystemWow64DirectoryW\n#else\n#define GetSystemWow64Directory  GetSystemWow64DirectoryA\n#endif // !UNICODE\n\n//\n// for GetProcAddress\n//\ntypedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_A)(OUT  LPSTR lpBuffer, UINT uSize);\ntypedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_W)(OUT LPWSTR lpBuffer, UINT uSize);\n\n//\n// GetProcAddress only accepts GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A,\n// GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A, GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A.\n// The others are if you want to use the strings in some other way.\n//\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A      \"GetSystemWow64DirectoryA\"\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W     L\"GetSystemWow64DirectoryA\"\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T TEXT(\"GetSystemWow64DirectoryA\")\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A      \"GetSystemWow64DirectoryW\"\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W     L\"GetSystemWow64DirectoryW\"\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T TEXT(\"GetSystemWow64DirectoryW\")\n\n#ifdef UNICODE\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T\n#else\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W\n#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T\n#endif\n\n#endif // _WIN32_WINNT >= 0x0501\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nSetCurrentDirectoryA(\n    IN LPCSTR lpPathName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetCurrentDirectoryW(\n    IN LPCWSTR lpPathName\n    );\n#ifdef UNICODE\n#define SetCurrentDirectory  SetCurrentDirectoryW\n#else\n#define SetCurrentDirectory  SetCurrentDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetCurrentDirectoryA(\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetCurrentDirectoryW(\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer\n    );\n#ifdef UNICODE\n#define GetCurrentDirectory  GetCurrentDirectoryW\n#else\n#define GetCurrentDirectory  GetCurrentDirectoryA\n#endif // !UNICODE\n\n#if _WIN32_WINNT >= 0x0502\n\nWINBASEAPI\nBOOL\nWINAPI\nSetDllDirectoryA(\n    IN LPCSTR lpPathName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetDllDirectoryW(\n    IN LPCWSTR lpPathName\n    );\n#ifdef UNICODE\n#define SetDllDirectory  SetDllDirectoryW\n#else\n#define SetDllDirectory  SetDllDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetDllDirectoryA(\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetDllDirectoryW(\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer\n    );\n#ifdef UNICODE\n#define GetDllDirectory  GetDllDirectoryW\n#else\n#define GetDllDirectory  GetDllDirectoryA\n#endif // !UNICODE\n\n#endif // _WIN32_WINNT >= 0x0502\n\nWINBASEAPI\nBOOL\nWINAPI\nGetDiskFreeSpaceA(\n    IN LPCSTR lpRootPathName,\n    OUT LPDWORD lpSectorsPerCluster,\n    OUT LPDWORD lpBytesPerSector,\n    OUT LPDWORD lpNumberOfFreeClusters,\n    OUT LPDWORD lpTotalNumberOfClusters\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetDiskFreeSpaceW(\n    IN LPCWSTR lpRootPathName,\n    OUT LPDWORD lpSectorsPerCluster,\n    OUT LPDWORD lpBytesPerSector,\n    OUT LPDWORD lpNumberOfFreeClusters,\n    OUT LPDWORD lpTotalNumberOfClusters\n    );\n#ifdef UNICODE\n#define GetDiskFreeSpace  GetDiskFreeSpaceW\n#else\n#define GetDiskFreeSpace  GetDiskFreeSpaceA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetDiskFreeSpaceExA(\n    IN LPCSTR lpDirectoryName,\n    OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller,\n    OUT PULARGE_INTEGER lpTotalNumberOfBytes,\n    OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetDiskFreeSpaceExW(\n    IN LPCWSTR lpDirectoryName,\n    OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller,\n    OUT PULARGE_INTEGER lpTotalNumberOfBytes,\n    OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes\n    );\n#ifdef UNICODE\n#define GetDiskFreeSpaceEx  GetDiskFreeSpaceExW\n#else\n#define GetDiskFreeSpaceEx  GetDiskFreeSpaceExA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateDirectoryA(\n    IN LPCSTR lpPathName,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCreateDirectoryW(\n    IN LPCWSTR lpPathName,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define CreateDirectory  CreateDirectoryW\n#else\n#define CreateDirectory  CreateDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateDirectoryExA(\n    IN LPCSTR lpTemplateDirectory,\n    IN LPCSTR lpNewDirectory,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCreateDirectoryExW(\n    IN LPCWSTR lpTemplateDirectory,\n    IN LPCWSTR lpNewDirectory,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define CreateDirectoryEx  CreateDirectoryExW\n#else\n#define CreateDirectoryEx  CreateDirectoryExA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nRemoveDirectoryA(\n    IN LPCSTR lpPathName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nRemoveDirectoryW(\n    IN LPCWSTR lpPathName\n    );\n#ifdef UNICODE\n#define RemoveDirectory  RemoveDirectoryW\n#else\n#define RemoveDirectory  RemoveDirectoryA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetFullPathNameA(\n    IN LPCSTR lpFileName,\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer,\n    OUT LPSTR *lpFilePart\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetFullPathNameW(\n    IN LPCWSTR lpFileName,\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer,\n    OUT LPWSTR *lpFilePart\n    );\n#ifdef UNICODE\n#define GetFullPathName  GetFullPathNameW\n#else\n#define GetFullPathName  GetFullPathNameA\n#endif // !UNICODE\n\n\n#define DDD_RAW_TARGET_PATH         0x00000001\n#define DDD_REMOVE_DEFINITION       0x00000002\n#define DDD_EXACT_MATCH_ON_REMOVE   0x00000004\n#define DDD_NO_BROADCAST_SYSTEM     0x00000008\n#define DDD_LUID_BROADCAST_DRIVE    0x00000010\n\nWINBASEAPI\nBOOL\nWINAPI\nDefineDosDeviceA(\n    IN DWORD dwFlags,\n    IN LPCSTR lpDeviceName,\n    IN LPCSTR lpTargetPath\n    );\nWINBASEAPI\nBOOL\nWINAPI\nDefineDosDeviceW(\n    IN DWORD dwFlags,\n    IN LPCWSTR lpDeviceName,\n    IN LPCWSTR lpTargetPath\n    );\n#ifdef UNICODE\n#define DefineDosDevice  DefineDosDeviceW\n#else\n#define DefineDosDevice  DefineDosDeviceA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nQueryDosDeviceA(\n    IN LPCSTR lpDeviceName,\n    OUT LPSTR lpTargetPath,\n    IN DWORD ucchMax\n    );\nWINBASEAPI\nDWORD\nWINAPI\nQueryDosDeviceW(\n    IN LPCWSTR lpDeviceName,\n    OUT LPWSTR lpTargetPath,\n    IN DWORD ucchMax\n    );\n#ifdef UNICODE\n#define QueryDosDevice  QueryDosDeviceW\n#else\n#define QueryDosDevice  QueryDosDeviceA\n#endif // !UNICODE\n\n#define EXPAND_LOCAL_DRIVES\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateFileA(\n    IN LPCSTR lpFileName,\n    IN DWORD dwDesiredAccess,\n    IN DWORD dwShareMode,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    IN DWORD dwCreationDisposition,\n    IN DWORD dwFlagsAndAttributes,\n    IN HANDLE hTemplateFile\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateFileW(\n    IN LPCWSTR lpFileName,\n    IN DWORD dwDesiredAccess,\n    IN DWORD dwShareMode,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    IN DWORD dwCreationDisposition,\n    IN DWORD dwFlagsAndAttributes,\n    IN HANDLE hTemplateFile\n    );\n#ifdef UNICODE\n#define CreateFile  CreateFileW\n#else\n#define CreateFile  CreateFileA\n#endif // !UNICODE\n\n#if _WIN32_WINNT >= 0x0502\n\nWINBASEAPI\nHANDLE\nWINAPI\nReOpenFile(\n    HANDLE  hOriginalFile,\n    DWORD   dwDesiredAccess,\n    DWORD   dwShareMode,\n    DWORD   dwFlagsAndAttributes\n    );\n    \n#endif // _WIN32_WINNT >= 0x0502\n\nWINBASEAPI\nBOOL\nWINAPI\nSetFileAttributesA(\n    IN LPCSTR lpFileName,\n    IN DWORD dwFileAttributes\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetFileAttributesW(\n    IN LPCWSTR lpFileName,\n    IN DWORD dwFileAttributes\n    );\n#ifdef UNICODE\n#define SetFileAttributes  SetFileAttributesW\n#else\n#define SetFileAttributes  SetFileAttributesA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetFileAttributesA(\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetFileAttributesW(\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define GetFileAttributes  GetFileAttributesW\n#else\n#define GetFileAttributes  GetFileAttributesA\n#endif // !UNICODE\n\ntypedef enum _GET_FILEEX_INFO_LEVELS {\n    GetFileExInfoStandard,\n    GetFileExMaxInfoLevel\n} GET_FILEEX_INFO_LEVELS;\n\nWINBASEAPI\nBOOL\nWINAPI\nGetFileAttributesExA(\n    IN LPCSTR lpFileName,\n    IN GET_FILEEX_INFO_LEVELS fInfoLevelId,\n    OUT LPVOID lpFileInformation\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetFileAttributesExW(\n    IN LPCWSTR lpFileName,\n    IN GET_FILEEX_INFO_LEVELS fInfoLevelId,\n    OUT LPVOID lpFileInformation\n    );\n#ifdef UNICODE\n#define GetFileAttributesEx  GetFileAttributesExW\n#else\n#define GetFileAttributesEx  GetFileAttributesExA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nGetCompressedFileSizeA(\n    IN LPCSTR lpFileName,\n    OUT LPDWORD lpFileSizeHigh\n    );\nWINBASEAPI\nDWORD\nWINAPI\nGetCompressedFileSizeW(\n    IN LPCWSTR lpFileName,\n    OUT LPDWORD lpFileSizeHigh\n    );\n#ifdef UNICODE\n#define GetCompressedFileSize  GetCompressedFileSizeW\n#else\n#define GetCompressedFileSize  GetCompressedFileSizeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nDeleteFileA(\n    IN LPCSTR lpFileName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nDeleteFileW(\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define DeleteFile  DeleteFileW\n#else\n#define DeleteFile  DeleteFileA\n#endif // !UNICODE\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nBOOL\nWINAPI\nCheckNameLegalDOS8Dot3A(\n    IN LPCSTR lpName,\n    OUT LPSTR lpOemName OPTIONAL,\n    IN DWORD OemNameSize OPTIONAL,\n    OUT PBOOL pbNameContainsSpaces OPTIONAL,\n    OUT PBOOL pbNameLegal\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCheckNameLegalDOS8Dot3W(\n    IN LPCWSTR lpName,\n    OUT LPSTR lpOemName OPTIONAL,\n    IN DWORD OemNameSize OPTIONAL,\n    OUT PBOOL pbNameContainsSpaces OPTIONAL,\n    OUT PBOOL pbNameLegal\n    );\n#ifdef UNICODE\n#define CheckNameLegalDOS8Dot3  CheckNameLegalDOS8Dot3W\n#else\n#define CheckNameLegalDOS8Dot3  CheckNameLegalDOS8Dot3A\n#endif // !UNICODE\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\n#if(_WIN32_WINNT >= 0x0400)\ntypedef enum _FINDEX_INFO_LEVELS {\n    FindExInfoStandard,\n    FindExInfoMaxInfoLevel\n} FINDEX_INFO_LEVELS;\n\ntypedef enum _FINDEX_SEARCH_OPS {\n    FindExSearchNameMatch,\n    FindExSearchLimitToDirectories,\n    FindExSearchLimitToDevices,\n    FindExSearchMaxSearchOp\n} FINDEX_SEARCH_OPS;\n\n#define FIND_FIRST_EX_CASE_SENSITIVE   0x00000001\n\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstFileExA(\n    IN LPCSTR lpFileName,\n    IN FINDEX_INFO_LEVELS fInfoLevelId,\n    OUT LPVOID lpFindFileData,\n    IN FINDEX_SEARCH_OPS fSearchOp,\n    IN LPVOID lpSearchFilter,\n    IN DWORD dwAdditionalFlags\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstFileExW(\n    IN LPCWSTR lpFileName,\n    IN FINDEX_INFO_LEVELS fInfoLevelId,\n    OUT LPVOID lpFindFileData,\n    IN FINDEX_SEARCH_OPS fSearchOp,\n    IN LPVOID lpSearchFilter,\n    IN DWORD dwAdditionalFlags\n    );\n#ifdef UNICODE\n#define FindFirstFileEx  FindFirstFileExW\n#else\n#define FindFirstFileEx  FindFirstFileExA\n#endif // !UNICODE\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstFileA(\n    IN LPCSTR lpFileName,\n    OUT LPWIN32_FIND_DATAA lpFindFileData\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstFileW(\n    IN LPCWSTR lpFileName,\n    OUT LPWIN32_FIND_DATAW lpFindFileData\n    );\n#ifdef UNICODE\n#define FindFirstFile  FindFirstFileW\n#else\n#define FindFirstFile  FindFirstFileA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindNextFileA(\n    IN HANDLE hFindFile,\n    OUT LPWIN32_FIND_DATAA lpFindFileData\n    );\nWINBASEAPI\nBOOL\nWINAPI\nFindNextFileW(\n    IN HANDLE hFindFile,\n    OUT LPWIN32_FIND_DATAW lpFindFileData\n    );\n#ifdef UNICODE\n#define FindNextFile  FindNextFileW\n#else\n#define FindNextFile  FindNextFileA\n#endif // !UNICODE\n\n\nWINBASEAPI\nDWORD\nWINAPI\nSearchPathA(\n    IN LPCSTR lpPath,\n    IN LPCSTR lpFileName,\n    IN LPCSTR lpExtension,\n    IN DWORD nBufferLength,\n    OUT LPSTR lpBuffer,\n    OUT LPSTR *lpFilePart\n    );\nWINBASEAPI\nDWORD\nWINAPI\nSearchPathW(\n    IN LPCWSTR lpPath,\n    IN LPCWSTR lpFileName,\n    IN LPCWSTR lpExtension,\n    IN DWORD nBufferLength,\n    OUT LPWSTR lpBuffer,\n    OUT LPWSTR *lpFilePart\n    );\n#ifdef UNICODE\n#define SearchPath  SearchPathW\n#else\n#define SearchPath  SearchPathA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCopyFileA(\n    IN LPCSTR lpExistingFileName,\n    IN LPCSTR lpNewFileName,\n    IN BOOL bFailIfExists\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCopyFileW(\n    IN LPCWSTR lpExistingFileName,\n    IN LPCWSTR lpNewFileName,\n    IN BOOL bFailIfExists\n    );\n#ifdef UNICODE\n#define CopyFile  CopyFileW\n#else\n#define CopyFile  CopyFileA\n#endif // !UNICODE\n\n#if(_WIN32_WINNT >= 0x0400)\ntypedef\nDWORD\n(WINAPI *LPPROGRESS_ROUTINE)(\n    LARGE_INTEGER TotalFileSize,\n    LARGE_INTEGER TotalBytesTransferred,\n    LARGE_INTEGER StreamSize,\n    LARGE_INTEGER StreamBytesTransferred,\n    DWORD dwStreamNumber,\n    DWORD dwCallbackReason,\n    HANDLE hSourceFile,\n    HANDLE hDestinationFile,\n    LPVOID lpData OPTIONAL\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nCopyFileExA(\n    IN LPCSTR lpExistingFileName,\n    IN LPCSTR lpNewFileName,\n    IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,\n    IN LPVOID lpData OPTIONAL,\n    IN LPBOOL pbCancel OPTIONAL,\n    IN DWORD dwCopyFlags\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCopyFileExW(\n    IN LPCWSTR lpExistingFileName,\n    IN LPCWSTR lpNewFileName,\n    IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,\n    IN LPVOID lpData OPTIONAL,\n    IN LPBOOL pbCancel OPTIONAL,\n    IN DWORD dwCopyFlags\n    );\n#ifdef UNICODE\n#define CopyFileEx  CopyFileExW\n#else\n#define CopyFileEx  CopyFileExA\n#endif // !UNICODE\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileA(\n    IN LPCSTR lpExistingFileName,\n    IN LPCSTR lpNewFileName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileW(\n    IN LPCWSTR lpExistingFileName,\n    IN LPCWSTR lpNewFileName\n    );\n#ifdef UNICODE\n#define MoveFile  MoveFileW\n#else\n#define MoveFile  MoveFileA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileExA(\n    IN LPCSTR lpExistingFileName,\n    IN LPCSTR lpNewFileName,\n    IN DWORD dwFlags\n    );\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileExW(\n    IN LPCWSTR lpExistingFileName,\n    IN LPCWSTR lpNewFileName,\n    IN DWORD dwFlags\n    );\n#ifdef UNICODE\n#define MoveFileEx  MoveFileExW\n#else\n#define MoveFileEx  MoveFileExA\n#endif // !UNICODE\n\n#if (_WIN32_WINNT >= 0x0500)\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileWithProgressA(\n    IN LPCSTR lpExistingFileName,\n    IN LPCSTR lpNewFileName,\n    IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,\n    IN LPVOID lpData OPTIONAL,\n    IN DWORD dwFlags\n    );\nWINBASEAPI\nBOOL\nWINAPI\nMoveFileWithProgressW(\n    IN LPCWSTR lpExistingFileName,\n    IN LPCWSTR lpNewFileName,\n    IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,\n    IN LPVOID lpData OPTIONAL,\n    IN DWORD dwFlags\n    );\n#ifdef UNICODE\n#define MoveFileWithProgress  MoveFileWithProgressW\n#else\n#define MoveFileWithProgress  MoveFileWithProgressA\n#endif // !UNICODE\n#endif // (_WIN32_WINNT >= 0x0500)\n\n#define MOVEFILE_REPLACE_EXISTING       0x00000001\n#define MOVEFILE_COPY_ALLOWED           0x00000002\n#define MOVEFILE_DELAY_UNTIL_REBOOT     0x00000004\n#define MOVEFILE_WRITE_THROUGH          0x00000008\n#if (_WIN32_WINNT >= 0x0500)\n#define MOVEFILE_CREATE_HARDLINK        0x00000010\n#define MOVEFILE_FAIL_IF_NOT_TRACKABLE  0x00000020\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n\n#if (_WIN32_WINNT >= 0x0500)\nWINBASEAPI\nBOOL\nWINAPI\nReplaceFileA(\n    LPCSTR  lpReplacedFileName,\n    LPCSTR  lpReplacementFileName,\n    LPCSTR  lpBackupFileName,\n    DWORD   dwReplaceFlags,\n    LPVOID  lpExclude,\n    LPVOID  lpReserved\n    );\nWINBASEAPI\nBOOL\nWINAPI\nReplaceFileW(\n    LPCWSTR lpReplacedFileName,\n    LPCWSTR lpReplacementFileName,\n    LPCWSTR lpBackupFileName,\n    DWORD   dwReplaceFlags,\n    LPVOID  lpExclude,\n    LPVOID  lpReserved\n    );\n#ifdef UNICODE\n#define ReplaceFile  ReplaceFileW\n#else\n#define ReplaceFile  ReplaceFileA\n#endif // !UNICODE\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n#if (_WIN32_WINNT >= 0x0500)\n//\n// API call to create hard links.\n//\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateHardLinkA(\n    IN LPCSTR lpFileName,\n    IN LPCSTR lpExistingFileName,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCreateHardLinkW(\n    IN LPCWSTR lpFileName,\n    IN LPCWSTR lpExistingFileName,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define CreateHardLink  CreateHardLinkW\n#else\n#define CreateHardLink  CreateHardLinkA\n#endif // !UNICODE\n\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n#if (_WIN32_WINNT >= 0x0501)\n\n//\n// API call to enumerate for streams within a file\n//\n\ntypedef enum _STREAM_INFO_LEVELS {\n    \n    FindStreamInfoStandard,\n    FindStreamInfoMaxInfoLevel\n\n} STREAM_INFO_LEVELS;\n\ntypedef struct _WIN32_FIND_STREAM_DATA {\n    \n    LARGE_INTEGER StreamSize;\n    WCHAR cStreamName[ MAX_PATH + 36 ]; \n\n} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA; \n\n\nHANDLE\nWINAPI\nFindFirstStreamW(\n    LPCWSTR lpFileName,\n    STREAM_INFO_LEVELS InfoLevel,\n    LPVOID lpFindStreamData,\n    DWORD dwFlags\n    );\n\nBOOL\nAPIENTRY\nFindNextStreamW(\n    HANDLE hFindStream,\n    LPVOID lpFindStreamData\n    );\n\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateNamedPipeA(\n    IN LPCSTR lpName,\n    IN DWORD dwOpenMode,\n    IN DWORD dwPipeMode,\n    IN DWORD nMaxInstances,\n    IN DWORD nOutBufferSize,\n    IN DWORD nInBufferSize,\n    IN DWORD nDefaultTimeOut,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateNamedPipeW(\n    IN LPCWSTR lpName,\n    IN DWORD dwOpenMode,\n    IN DWORD dwPipeMode,\n    IN DWORD nMaxInstances,\n    IN DWORD nOutBufferSize,\n    IN DWORD nInBufferSize,\n    IN DWORD nDefaultTimeOut,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define CreateNamedPipe  CreateNamedPipeW\n#else\n#define CreateNamedPipe  CreateNamedPipeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNamedPipeHandleStateA(\n    IN HANDLE hNamedPipe,\n    OUT LPDWORD lpState,\n    OUT LPDWORD lpCurInstances,\n    OUT LPDWORD lpMaxCollectionCount,\n    OUT LPDWORD lpCollectDataTimeout,\n    OUT LPSTR lpUserName,\n    IN DWORD nMaxUserNameSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetNamedPipeHandleStateW(\n    IN HANDLE hNamedPipe,\n    OUT LPDWORD lpState,\n    OUT LPDWORD lpCurInstances,\n    OUT LPDWORD lpMaxCollectionCount,\n    OUT LPDWORD lpCollectDataTimeout,\n    OUT LPWSTR lpUserName,\n    IN DWORD nMaxUserNameSize\n    );\n#ifdef UNICODE\n#define GetNamedPipeHandleState  GetNamedPipeHandleStateW\n#else\n#define GetNamedPipeHandleState  GetNamedPipeHandleStateA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCallNamedPipeA(\n    IN LPCSTR lpNamedPipeName,\n    IN LPVOID lpInBuffer,\n    IN DWORD nInBufferSize,\n    OUT LPVOID lpOutBuffer,\n    IN DWORD nOutBufferSize,\n    OUT LPDWORD lpBytesRead,\n    IN DWORD nTimeOut\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCallNamedPipeW(\n    IN LPCWSTR lpNamedPipeName,\n    IN LPVOID lpInBuffer,\n    IN DWORD nInBufferSize,\n    OUT LPVOID lpOutBuffer,\n    IN DWORD nOutBufferSize,\n    OUT LPDWORD lpBytesRead,\n    IN DWORD nTimeOut\n    );\n#ifdef UNICODE\n#define CallNamedPipe  CallNamedPipeW\n#else\n#define CallNamedPipe  CallNamedPipeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nWaitNamedPipeA(\n    IN LPCSTR lpNamedPipeName,\n    IN DWORD nTimeOut\n    );\nWINBASEAPI\nBOOL\nWINAPI\nWaitNamedPipeW(\n    IN LPCWSTR lpNamedPipeName,\n    IN DWORD nTimeOut\n    );\n#ifdef UNICODE\n#define WaitNamedPipe  WaitNamedPipeW\n#else\n#define WaitNamedPipe  WaitNamedPipeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetVolumeLabelA(\n    IN LPCSTR lpRootPathName,\n    IN LPCSTR lpVolumeName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetVolumeLabelW(\n    IN LPCWSTR lpRootPathName,\n    IN LPCWSTR lpVolumeName\n    );\n#ifdef UNICODE\n#define SetVolumeLabel  SetVolumeLabelW\n#else\n#define SetVolumeLabel  SetVolumeLabelA\n#endif // !UNICODE\n\nWINBASEAPI\nVOID\nWINAPI\nSetFileApisToOEM( VOID );\n\nWINBASEAPI\nVOID\nWINAPI\nSetFileApisToANSI( VOID );\n\nWINBASEAPI\nBOOL\nWINAPI\nAreFileApisANSI( VOID );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumeInformationA(\n    IN LPCSTR lpRootPathName,\n    OUT LPSTR lpVolumeNameBuffer,\n    IN DWORD nVolumeNameSize,\n    OUT LPDWORD lpVolumeSerialNumber,\n    OUT LPDWORD lpMaximumComponentLength,\n    OUT LPDWORD lpFileSystemFlags,\n    OUT LPSTR lpFileSystemNameBuffer,\n    IN DWORD nFileSystemNameSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumeInformationW(\n    IN LPCWSTR lpRootPathName,\n    OUT LPWSTR lpVolumeNameBuffer,\n    IN DWORD nVolumeNameSize,\n    OUT LPDWORD lpVolumeSerialNumber,\n    OUT LPDWORD lpMaximumComponentLength,\n    OUT LPDWORD lpFileSystemFlags,\n    OUT LPWSTR lpFileSystemNameBuffer,\n    IN DWORD nFileSystemNameSize\n    );\n#ifdef UNICODE\n#define GetVolumeInformation  GetVolumeInformationW\n#else\n#define GetVolumeInformation  GetVolumeInformationA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCancelIo(\n    IN HANDLE hFile\n    );\n\n//\n// Event logging APIs\n//\n\nWINADVAPI\nBOOL\nWINAPI\nClearEventLogA (\n    IN HANDLE hEventLog,\n    IN LPCSTR lpBackupFileName\n    );\nWINADVAPI\nBOOL\nWINAPI\nClearEventLogW (\n    IN HANDLE hEventLog,\n    IN LPCWSTR lpBackupFileName\n    );\n#ifdef UNICODE\n#define ClearEventLog  ClearEventLogW\n#else\n#define ClearEventLog  ClearEventLogA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nBackupEventLogA (\n    IN HANDLE hEventLog,\n    IN LPCSTR lpBackupFileName\n    );\nWINADVAPI\nBOOL\nWINAPI\nBackupEventLogW (\n    IN HANDLE hEventLog,\n    IN LPCWSTR lpBackupFileName\n    );\n#ifdef UNICODE\n#define BackupEventLog  BackupEventLogW\n#else\n#define BackupEventLog  BackupEventLogA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nCloseEventLog (\n    IN OUT HANDLE hEventLog\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nDeregisterEventSource (\n    IN OUT HANDLE hEventLog\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nNotifyChangeEventLog(\n    IN HANDLE  hEventLog,\n    IN HANDLE  hEvent\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nGetNumberOfEventLogRecords (\n    IN HANDLE hEventLog,\n    OUT PDWORD NumberOfRecords\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nGetOldestEventLogRecord (\n    IN HANDLE hEventLog,\n    OUT PDWORD OldestRecord\n    );\n\nWINADVAPI\nHANDLE\nWINAPI\nOpenEventLogA (\n    IN LPCSTR lpUNCServerName,\n    IN LPCSTR lpSourceName\n    );\nWINADVAPI\nHANDLE\nWINAPI\nOpenEventLogW (\n    IN LPCWSTR lpUNCServerName,\n    IN LPCWSTR lpSourceName\n    );\n#ifdef UNICODE\n#define OpenEventLog  OpenEventLogW\n#else\n#define OpenEventLog  OpenEventLogA\n#endif // !UNICODE\n\nWINADVAPI\nHANDLE\nWINAPI\nRegisterEventSourceA (\n    IN LPCSTR lpUNCServerName,\n    IN LPCSTR lpSourceName\n    );\nWINADVAPI\nHANDLE\nWINAPI\nRegisterEventSourceW (\n    IN LPCWSTR lpUNCServerName,\n    IN LPCWSTR lpSourceName\n    );\n#ifdef UNICODE\n#define RegisterEventSource  RegisterEventSourceW\n#else\n#define RegisterEventSource  RegisterEventSourceA\n#endif // !UNICODE\n\nWINADVAPI\nHANDLE\nWINAPI\nOpenBackupEventLogA (\n    IN LPCSTR lpUNCServerName,\n    IN LPCSTR lpFileName\n    );\nWINADVAPI\nHANDLE\nWINAPI\nOpenBackupEventLogW (\n    IN LPCWSTR lpUNCServerName,\n    IN LPCWSTR lpFileName\n    );\n#ifdef UNICODE\n#define OpenBackupEventLog  OpenBackupEventLogW\n#else\n#define OpenBackupEventLog  OpenBackupEventLogA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nReadEventLogA (\n     IN HANDLE     hEventLog,\n     IN DWORD      dwReadFlags,\n     IN DWORD      dwRecordOffset,\n     OUT LPVOID     lpBuffer,\n     IN DWORD      nNumberOfBytesToRead,\n     OUT DWORD      *pnBytesRead,\n     OUT DWORD      *pnMinNumberOfBytesNeeded\n    );\nWINADVAPI\nBOOL\nWINAPI\nReadEventLogW (\n     IN HANDLE     hEventLog,\n     IN DWORD      dwReadFlags,\n     IN DWORD      dwRecordOffset,\n     OUT LPVOID     lpBuffer,\n     IN DWORD      nNumberOfBytesToRead,\n     OUT DWORD      *pnBytesRead,\n     OUT DWORD      *pnMinNumberOfBytesNeeded\n    );\n#ifdef UNICODE\n#define ReadEventLog  ReadEventLogW\n#else\n#define ReadEventLog  ReadEventLogA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nReportEventA (\n     IN HANDLE     hEventLog,\n     IN WORD       wType,\n     IN WORD       wCategory,\n     IN DWORD      dwEventID,\n     IN PSID       lpUserSid,\n     IN WORD       wNumStrings,\n     IN DWORD      dwDataSize,\n     IN LPCSTR   *lpStrings,\n     IN LPVOID     lpRawData\n    );\nWINADVAPI\nBOOL\nWINAPI\nReportEventW (\n     IN HANDLE     hEventLog,\n     IN WORD       wType,\n     IN WORD       wCategory,\n     IN DWORD      dwEventID,\n     IN PSID       lpUserSid,\n     IN WORD       wNumStrings,\n     IN DWORD      dwDataSize,\n     IN LPCWSTR   *lpStrings,\n     IN LPVOID     lpRawData\n    );\n#ifdef UNICODE\n#define ReportEvent  ReportEventW\n#else\n#define ReportEvent  ReportEventA\n#endif // !UNICODE\n\n\n#define EVENTLOG_FULL_INFO      0\n\ntypedef struct _EVENTLOG_FULL_INFORMATION\n{\n    DWORD    dwFull;\n}\nEVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;\n\nWINADVAPI\nBOOL\nWINAPI\nGetEventLogInformation (\n     IN  HANDLE     hEventLog,\n     IN  DWORD      dwInfoLevel,\n     OUT LPVOID     lpBuffer,\n     IN  DWORD      cbBufSize,\n     OUT LPDWORD    pcbBytesNeeded\n    );\n\n//\n//\n// Security APIs\n//\n\n\nWINADVAPI\nBOOL\nWINAPI\nDuplicateToken(\n    IN HANDLE ExistingTokenHandle,\n    IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,\n    OUT PHANDLE DuplicateTokenHandle\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nGetKernelObjectSecurity (\n    IN HANDLE Handle,\n    IN SECURITY_INFORMATION RequestedInformation,\n    OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nImpersonateNamedPipeClient(\n    IN HANDLE hNamedPipe\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nImpersonateSelf(\n    IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nRevertToSelf (\n    VOID\n    );\n\nWINADVAPI\nBOOL\nAPIENTRY\nSetThreadToken (\n    IN PHANDLE Thread,\n    IN HANDLE Token\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheck (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    IN PGENERIC_MAPPING GenericMapping,\n    OUT PPRIVILEGE_SET PrivilegeSet,\n    IN LPDWORD PrivilegeSetLength,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByType (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    OUT POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    OUT PGENERIC_MAPPING GenericMapping,\n    OUT PPRIVILEGE_SET PrivilegeSet,\n    OUT LPDWORD PrivilegeSetLength,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeResultList (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    OUT POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    OUT PGENERIC_MAPPING GenericMapping,\n    OUT PPRIVILEGE_SET PrivilegeSet,\n    OUT LPDWORD PrivilegeSetLength,\n    OUT LPDWORD GrantedAccessList,\n    OUT LPDWORD AccessStatusList\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\n\nWINADVAPI\nBOOL\nWINAPI\nOpenProcessToken (\n    IN HANDLE ProcessHandle,\n    IN DWORD DesiredAccess,\n    OUT PHANDLE TokenHandle\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nOpenThreadToken (\n    IN HANDLE ThreadHandle,\n    IN DWORD DesiredAccess,\n    IN BOOL OpenAsSelf,\n    OUT PHANDLE TokenHandle\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetTokenInformation (\n    IN HANDLE TokenHandle,\n    IN TOKEN_INFORMATION_CLASS TokenInformationClass,\n    OUT LPVOID TokenInformation,\n    IN DWORD TokenInformationLength,\n    OUT PDWORD ReturnLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetTokenInformation (\n    IN HANDLE TokenHandle,\n    IN TOKEN_INFORMATION_CLASS TokenInformationClass,\n    IN LPVOID TokenInformation,\n    IN DWORD TokenInformationLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAdjustTokenPrivileges (\n    IN HANDLE TokenHandle,\n    IN BOOL DisableAllPrivileges,\n    IN PTOKEN_PRIVILEGES NewState,\n    IN DWORD BufferLength,\n    OUT PTOKEN_PRIVILEGES PreviousState,\n    OUT PDWORD ReturnLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAdjustTokenGroups (\n    IN HANDLE TokenHandle,\n    IN BOOL ResetToDefault,\n    IN PTOKEN_GROUPS NewState,\n    IN DWORD BufferLength,\n    OUT PTOKEN_GROUPS PreviousState,\n    OUT PDWORD ReturnLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nPrivilegeCheck (\n    IN HANDLE ClientToken,\n    IN PPRIVILEGE_SET RequiredPrivileges,\n    OUT LPBOOL pfResult\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckAndAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPSTR ObjectTypeName,\n    IN LPSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN DWORD DesiredAccess,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus,\n    OUT LPBOOL pfGenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckAndAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPWSTR ObjectTypeName,\n    IN LPWSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN DWORD DesiredAccess,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus,\n    OUT LPBOOL pfGenerateOnClose\n    );\n#ifdef UNICODE\n#define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmW\n#else\n#define AccessCheckAndAuditAlarm  AccessCheckAndAuditAlarmA\n#endif // !UNICODE\n\n#if(_WIN32_WINNT >= 0x0500)\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeAndAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPCSTR ObjectTypeName,\n    IN LPCSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus,\n    OUT LPBOOL pfGenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeAndAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPCWSTR ObjectTypeName,\n    IN LPCWSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPBOOL AccessStatus,\n    OUT LPBOOL pfGenerateOnClose\n    );\n#ifdef UNICODE\n#define AccessCheckByTypeAndAuditAlarm  AccessCheckByTypeAndAuditAlarmW\n#else\n#define AccessCheckByTypeAndAuditAlarm  AccessCheckByTypeAndAuditAlarmA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeResultListAndAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPCSTR ObjectTypeName,\n    IN LPCSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPDWORD AccessStatusList,\n    OUT LPBOOL pfGenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeResultListAndAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPCWSTR ObjectTypeName,\n    IN LPCWSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPDWORD AccessStatusList,\n    OUT LPBOOL pfGenerateOnClose\n    );\n#ifdef UNICODE\n#define AccessCheckByTypeResultListAndAuditAlarm  AccessCheckByTypeResultListAndAuditAlarmW\n#else\n#define AccessCheckByTypeResultListAndAuditAlarm  AccessCheckByTypeResultListAndAuditAlarmA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeResultListAndAuditAlarmByHandleA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN HANDLE ClientToken,\n    IN LPCSTR ObjectTypeName,\n    IN LPCSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPDWORD AccessStatusList,\n    OUT LPBOOL pfGenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nAccessCheckByTypeResultListAndAuditAlarmByHandleW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN HANDLE ClientToken,\n    IN LPCWSTR ObjectTypeName,\n    IN LPCWSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSID PrincipalSelfSid,\n    IN DWORD DesiredAccess,\n    IN AUDIT_EVENT_TYPE AuditType,\n    IN DWORD Flags,\n    IN POBJECT_TYPE_LIST ObjectTypeList,\n    IN DWORD ObjectTypeListLength,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN BOOL ObjectCreation,\n    OUT LPDWORD GrantedAccess,\n    OUT LPDWORD AccessStatusList,\n    OUT LPBOOL pfGenerateOnClose\n    );\n#ifdef UNICODE\n#define AccessCheckByTypeResultListAndAuditAlarmByHandle  AccessCheckByTypeResultListAndAuditAlarmByHandleW\n#else\n#define AccessCheckByTypeResultListAndAuditAlarmByHandle  AccessCheckByTypeResultListAndAuditAlarmByHandleA\n#endif // !UNICODE\n\n#endif //(_WIN32_WINNT >= 0x0500)\n\n\nWINADVAPI\nBOOL\nWINAPI\nObjectOpenAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPSTR ObjectTypeName,\n    IN LPSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    IN DWORD GrantedAccess,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL ObjectCreation,\n    IN BOOL AccessGranted,\n    OUT LPBOOL GenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nObjectOpenAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN LPWSTR ObjectTypeName,\n    IN LPWSTR ObjectName,\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    IN DWORD GrantedAccess,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL ObjectCreation,\n    IN BOOL AccessGranted,\n    OUT LPBOOL GenerateOnClose\n    );\n#ifdef UNICODE\n#define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmW\n#else\n#define ObjectOpenAuditAlarm  ObjectOpenAuditAlarmA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nObjectPrivilegeAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL AccessGranted\n    );\nWINADVAPI\nBOOL\nWINAPI\nObjectPrivilegeAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN HANDLE ClientToken,\n    IN DWORD DesiredAccess,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL AccessGranted\n    );\n#ifdef UNICODE\n#define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmW\n#else\n#define ObjectPrivilegeAuditAlarm  ObjectPrivilegeAuditAlarmA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nObjectCloseAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN BOOL GenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nObjectCloseAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN BOOL GenerateOnClose\n    );\n#ifdef UNICODE\n#define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmW\n#else\n#define ObjectCloseAuditAlarm  ObjectCloseAuditAlarmA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nObjectDeleteAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN BOOL GenerateOnClose\n    );\nWINADVAPI\nBOOL\nWINAPI\nObjectDeleteAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPVOID HandleId,\n    IN BOOL GenerateOnClose\n    );\n#ifdef UNICODE\n#define ObjectDeleteAuditAlarm  ObjectDeleteAuditAlarmW\n#else\n#define ObjectDeleteAuditAlarm  ObjectDeleteAuditAlarmA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nPrivilegedServiceAuditAlarmA (\n    IN LPCSTR SubsystemName,\n    IN LPCSTR ServiceName,\n    IN HANDLE ClientToken,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL AccessGranted\n    );\nWINADVAPI\nBOOL\nWINAPI\nPrivilegedServiceAuditAlarmW (\n    IN LPCWSTR SubsystemName,\n    IN LPCWSTR ServiceName,\n    IN HANDLE ClientToken,\n    IN PPRIVILEGE_SET Privileges,\n    IN BOOL AccessGranted\n    );\n#ifdef UNICODE\n#define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmW\n#else\n#define PrivilegedServiceAuditAlarm  PrivilegedServiceAuditAlarmA\n#endif // !UNICODE\n\n\n\n#if(_WIN32_WINNT >= 0x0501)\n\n\nWINADVAPI\nBOOL\nWINAPI\nIsWellKnownSid (\n    IN  PSID pSid,\n    IN  WELL_KNOWN_SID_TYPE WellKnownSidType\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nCreateWellKnownSid(\n    IN WELL_KNOWN_SID_TYPE WellKnownSidType,\n    IN PSID DomainSid  OPTIONAL,\n    OUT PSID pSid,\n    IN OUT DWORD *cbSid\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nEqualDomainSid(\n    IN PSID pSid1,\n    IN PSID pSid2,\n    OUT BOOL *pfEqual\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nGetWindowsAccountDomainSid(\n    IN PSID pSid,\n    OUT PSID ppDomainSid OPTIONAL,\n    IN OUT DWORD *cbSid\n    );\n\n#endif //(_WIN32_WINNT >= 0x0501)\n\nWINADVAPI\nBOOL\nWINAPI\nIsValidSid (\n    IN PSID pSid\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nEqualSid (\n    IN PSID pSid1,\n    IN PSID pSid2\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nEqualPrefixSid (\n    PSID pSid1,\n    PSID pSid2\n    );\n\n\nWINADVAPI\nDWORD\nWINAPI\nGetSidLengthRequired (\n    IN UCHAR nSubAuthorityCount\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAllocateAndInitializeSid (\n    IN PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,\n    IN BYTE nSubAuthorityCount,\n    IN DWORD nSubAuthority0,\n    IN DWORD nSubAuthority1,\n    IN DWORD nSubAuthority2,\n    IN DWORD nSubAuthority3,\n    IN DWORD nSubAuthority4,\n    IN DWORD nSubAuthority5,\n    IN DWORD nSubAuthority6,\n    IN DWORD nSubAuthority7,\n    OUT PSID *pSid\n    );\n\nWINADVAPI\nPVOID\nWINAPI\nFreeSid(\n    IN PSID pSid\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nInitializeSid (\n    OUT PSID Sid,\n    IN PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,\n    IN BYTE nSubAuthorityCount\n    );\n\n\nWINADVAPI\nPSID_IDENTIFIER_AUTHORITY\nWINAPI\nGetSidIdentifierAuthority (\n    IN PSID pSid\n    );\n\n\nWINADVAPI\nPDWORD\nWINAPI\nGetSidSubAuthority (\n    IN PSID pSid,\n    IN DWORD nSubAuthority\n    );\n\n\nWINADVAPI\nPUCHAR\nWINAPI\nGetSidSubAuthorityCount (\n    IN PSID pSid\n    );\n\n\nWINADVAPI\nDWORD\nWINAPI\nGetLengthSid (\n    IN PSID pSid\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nCopySid (\n    IN DWORD nDestinationSidLength,\n    OUT PSID pDestinationSid,\n    IN PSID pSourceSid\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAreAllAccessesGranted (\n    IN DWORD GrantedAccess,\n    IN DWORD DesiredAccess\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAreAnyAccessesGranted (\n    IN DWORD GrantedAccess,\n    IN DWORD DesiredAccess\n    );\n\n\nWINADVAPI\nVOID\nWINAPI\nMapGenericMask (\n    OUT PDWORD AccessMask,\n    IN PGENERIC_MAPPING GenericMapping\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nIsValidAcl (\n    IN PACL pAcl\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nInitializeAcl (\n    OUT PACL pAcl,\n    IN DWORD nAclLength,\n    IN DWORD dwAclRevision\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetAclInformation (\n    IN PACL pAcl,\n    OUT LPVOID pAclInformation,\n    IN DWORD nAclInformationLength,\n    IN ACL_INFORMATION_CLASS dwAclInformationClass\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetAclInformation (\n    IN PACL pAcl,\n    IN LPVOID pAclInformation,\n    IN DWORD nAclInformationLength,\n    IN ACL_INFORMATION_CLASS dwAclInformationClass\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAddAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD dwStartingAceIndex,\n    IN LPVOID pAceList,\n    IN DWORD nAceListLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nDeleteAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceIndex\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetAce (\n    IN PACL pAcl,\n    IN DWORD dwAceIndex,\n    OUT LPVOID *pAce\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nAddAccessAllowedAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AccessMask,\n    IN PSID pSid\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nAddAccessAllowedAceEx (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD AccessMask,\n    IN PSID pSid\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\n\nWINADVAPI\nBOOL\nWINAPI\nAddAccessDeniedAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AccessMask,\n    IN PSID pSid\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nAddAccessDeniedAceEx (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD AccessMask,\n    IN PSID pSid\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\nWINADVAPI\nBOOL\nWINAPI\nAddAuditAccessAce(\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD dwAccessMask,\n    IN PSID pSid,\n    IN BOOL bAuditSuccess,\n    IN BOOL bAuditFailure\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nAddAuditAccessAceEx(\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD dwAccessMask,\n    IN PSID pSid,\n    IN BOOL bAuditSuccess,\n    IN BOOL bAuditFailure\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nAddAccessAllowedObjectAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD AccessMask,\n    IN GUID *ObjectTypeGuid,\n    IN GUID *InheritedObjectTypeGuid,\n    IN PSID pSid\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nAddAccessDeniedObjectAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD AccessMask,\n    IN GUID *ObjectTypeGuid,\n    IN GUID *InheritedObjectTypeGuid,\n    IN PSID pSid\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nAddAuditAccessObjectAce (\n    IN OUT PACL pAcl,\n    IN DWORD dwAceRevision,\n    IN DWORD AceFlags,\n    IN DWORD AccessMask,\n    IN GUID *ObjectTypeGuid,\n    IN GUID *InheritedObjectTypeGuid,\n    IN PSID pSid,\n    IN BOOL bAuditSuccess,\n    IN BOOL bAuditFailure\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\nWINADVAPI\nBOOL\nWINAPI\nFindFirstFreeAce (\n    IN PACL pAcl,\n    OUT LPVOID *pAce\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nInitializeSecurityDescriptor (\n    OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN DWORD dwRevision\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nIsValidSecurityDescriptor (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor\n    );\n\n\nWINADVAPI\nDWORD\nWINAPI\nGetSecurityDescriptorLength (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetSecurityDescriptorControl (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    OUT PSECURITY_DESCRIPTOR_CONTROL pControl,\n    OUT LPDWORD lpdwRevision\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nSetSecurityDescriptorControl (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,\n    IN SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\nWINADVAPI\nBOOL\nWINAPI\nSetSecurityDescriptorDacl (\n    IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN BOOL bDaclPresent,\n    IN PACL pDacl,\n    IN BOOL bDaclDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetSecurityDescriptorDacl (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    OUT LPBOOL lpbDaclPresent,\n    OUT PACL *pDacl,\n    OUT LPBOOL lpbDaclDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetSecurityDescriptorSacl (\n    IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN BOOL bSaclPresent,\n    IN PACL pSacl,\n    IN BOOL bSaclDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetSecurityDescriptorSacl (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    OUT LPBOOL lpbSaclPresent,\n    OUT PACL *pSacl,\n    OUT LPBOOL lpbSaclDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetSecurityDescriptorOwner (\n    IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN PSID pOwner,\n    IN BOOL bOwnerDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetSecurityDescriptorOwner (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    OUT PSID *pOwner,\n    OUT LPBOOL lpbOwnerDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetSecurityDescriptorGroup (\n    IN OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN PSID pGroup,\n    IN BOOL bGroupDefaulted\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetSecurityDescriptorGroup (\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    OUT PSID *pGroup,\n    OUT LPBOOL lpbGroupDefaulted\n    );\n\n\nWINADVAPI\nDWORD\nWINAPI\nSetSecurityDescriptorRMControl(\n    IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PUCHAR RMControl OPTIONAL\n    );\n\nWINADVAPI\nDWORD\nWINAPI\nGetSecurityDescriptorRMControl(\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    OUT PUCHAR RMControl\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nCreatePrivateObjectSecurity (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor,\n    IN PSECURITY_DESCRIPTOR CreatorDescriptor,\n    OUT PSECURITY_DESCRIPTOR * NewDescriptor,\n    IN BOOL IsDirectoryObject,\n    IN HANDLE Token,\n    IN PGENERIC_MAPPING GenericMapping\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nConvertToAutoInheritPrivateObjectSecurity(\n    IN PSECURITY_DESCRIPTOR ParentDescriptor,\n    IN PSECURITY_DESCRIPTOR CurrentSecurityDescriptor,\n    OUT PSECURITY_DESCRIPTOR *NewSecurityDescriptor,\n    IN GUID *ObjectType,\n    IN BOOLEAN IsDirectoryObject,\n    IN PGENERIC_MAPPING GenericMapping\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nCreatePrivateObjectSecurityEx (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor,\n    IN PSECURITY_DESCRIPTOR CreatorDescriptor,\n    OUT PSECURITY_DESCRIPTOR * NewDescriptor,\n    IN GUID *ObjectType OPTIONAL,\n    IN BOOL IsContainerObject,\n    IN ULONG AutoInheritFlags,\n    IN HANDLE Token,\n    IN PGENERIC_MAPPING GenericMapping\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nCreatePrivateObjectSecurityWithMultipleInheritance (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor,\n    IN PSECURITY_DESCRIPTOR CreatorDescriptor,\n    OUT PSECURITY_DESCRIPTOR * NewDescriptor,\n    IN GUID **ObjectTypes OPTIONAL,\n    IN ULONG GuidCount,\n    IN BOOL IsContainerObject,\n    IN ULONG AutoInheritFlags,\n    IN HANDLE Token,\n    IN PGENERIC_MAPPING GenericMapping\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\nWINADVAPI\nBOOL\nWINAPI\nSetPrivateObjectSecurity (\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR ModificationDescriptor,\n    OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN HANDLE Token\n    );\n\n#if(_WIN32_WINNT >= 0x0500)\nWINADVAPI\nBOOL\nWINAPI\nSetPrivateObjectSecurityEx (\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR ModificationDescriptor,\n    OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,\n    IN ULONG AutoInheritFlags,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN HANDLE Token OPTIONAL\n    );\n#endif /* _WIN32_WINNT >=  0x0500 */\n\nWINADVAPI\nBOOL\nWINAPI\nGetPrivateObjectSecurity (\n    IN PSECURITY_DESCRIPTOR ObjectDescriptor,\n    IN SECURITY_INFORMATION SecurityInformation,\n    OUT PSECURITY_DESCRIPTOR ResultantDescriptor,\n    IN DWORD DescriptorLength,\n    OUT PDWORD ReturnLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nDestroyPrivateObjectSecurity (\n    IN OUT PSECURITY_DESCRIPTOR * ObjectDescriptor\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nMakeSelfRelativeSD (\n    IN PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,\n    OUT PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,\n    OUT LPDWORD lpdwBufferLength\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nMakeAbsoluteSD (\n    IN PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,\n    OUT PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,\n    OUT LPDWORD lpdwAbsoluteSecurityDescriptorSize,\n    OUT PACL pDacl,\n    OUT LPDWORD lpdwDaclSize,\n    OUT PACL pSacl,\n    OUT LPDWORD lpdwSaclSize,\n    OUT PSID pOwner,\n    OUT LPDWORD lpdwOwnerSize,\n    OUT PSID pPrimaryGroup,\n    OUT LPDWORD lpdwPrimaryGroupSize\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nMakeAbsoluteSD2 (\n    IN PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,\n    OUT LPDWORD lpdwBufferSize\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nSetFileSecurityA (\n    IN LPCSTR lpFileName,\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor\n    );\nWINADVAPI\nBOOL\nWINAPI\nSetFileSecurityW (\n    IN LPCWSTR lpFileName,\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor\n    );\n#ifdef UNICODE\n#define SetFileSecurity  SetFileSecurityW\n#else\n#define SetFileSecurity  SetFileSecurityA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetFileSecurityA (\n    IN LPCSTR lpFileName,\n    IN SECURITY_INFORMATION RequestedInformation,\n    OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded\n    );\nWINADVAPI\nBOOL\nWINAPI\nGetFileSecurityW (\n    IN LPCWSTR lpFileName,\n    IN SECURITY_INFORMATION RequestedInformation,\n    OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded\n    );\n#ifdef UNICODE\n#define GetFileSecurity  GetFileSecurityW\n#else\n#define GetFileSecurity  GetFileSecurityA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nSetKernelObjectSecurity (\n    IN HANDLE Handle,\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstChangeNotificationA(\n    IN LPCSTR lpPathName,\n    IN BOOL bWatchSubtree,\n    IN DWORD dwNotifyFilter\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstChangeNotificationW(\n    IN LPCWSTR lpPathName,\n    IN BOOL bWatchSubtree,\n    IN DWORD dwNotifyFilter\n    );\n#ifdef UNICODE\n#define FindFirstChangeNotification  FindFirstChangeNotificationW\n#else\n#define FindFirstChangeNotification  FindFirstChangeNotificationA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindNextChangeNotification(\n    IN HANDLE hChangeHandle\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFindCloseChangeNotification(\n    IN HANDLE hChangeHandle\n    );\n\n#if(_WIN32_WINNT >= 0x0400)\nWINBASEAPI\nBOOL\nWINAPI\nReadDirectoryChangesW(\n    IN HANDLE hDirectory,\n    IN OUT LPVOID lpBuffer,\n    IN DWORD nBufferLength,\n    IN BOOL bWatchSubtree,\n    IN DWORD dwNotifyFilter,\n    OUT LPDWORD lpBytesReturned,\n    IN LPOVERLAPPED lpOverlapped,\n    IN LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* _WIN32_WINNT >= 0x0400 */\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualLock(\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nVirtualUnlock(\n    IN LPVOID lpAddress,\n    IN SIZE_T dwSize\n    );\n\nWINBASEAPI\nLPVOID\nWINAPI\nMapViewOfFileEx(\n    IN HANDLE hFileMappingObject,\n    IN DWORD dwDesiredAccess,\n    IN DWORD dwFileOffsetHigh,\n    IN DWORD dwFileOffsetLow,\n    IN SIZE_T dwNumberOfBytesToMap,\n    IN LPVOID lpBaseAddress\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetPriorityClass(\n    IN HANDLE hProcess,\n    IN DWORD dwPriorityClass\n    );\n\nWINBASEAPI\nDWORD\nWINAPI\nGetPriorityClass(\n    IN HANDLE hProcess\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadReadPtr(\n    IN CONST VOID *lp,\n    IN UINT_PTR ucb\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadWritePtr(\n    IN LPVOID lp,\n    IN UINT_PTR ucb\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadHugeReadPtr(\n    IN CONST VOID *lp,\n    IN UINT_PTR ucb\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadHugeWritePtr(\n    IN LPVOID lp,\n    IN UINT_PTR ucb\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadCodePtr(\n    IN FARPROC lpfn\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsBadStringPtrA(\n    IN LPCSTR lpsz,\n    IN UINT_PTR ucchMax\n    );\nWINBASEAPI\nBOOL\nWINAPI\nIsBadStringPtrW(\n    IN LPCWSTR lpsz,\n    IN UINT_PTR ucchMax\n    );\n#ifdef UNICODE\n#define IsBadStringPtr  IsBadStringPtrW\n#else\n#define IsBadStringPtr  IsBadStringPtrA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLookupAccountSidA(\n    IN LPCSTR lpSystemName,\n    IN PSID Sid,\n    OUT LPSTR Name,\n    IN OUT LPDWORD cbName,\n    OUT LPSTR ReferencedDomainName,\n    IN OUT LPDWORD cbReferencedDomainName,\n    OUT PSID_NAME_USE peUse\n    );\nWINADVAPI\nBOOL\nWINAPI\nLookupAccountSidW(\n    IN LPCWSTR lpSystemName,\n    IN PSID Sid,\n    OUT LPWSTR Name,\n    IN OUT LPDWORD cbName,\n    OUT LPWSTR ReferencedDomainName,\n    IN OUT LPDWORD cbReferencedDomainName,\n    OUT PSID_NAME_USE peUse\n    );\n#ifdef UNICODE\n#define LookupAccountSid  LookupAccountSidW\n#else\n#define LookupAccountSid  LookupAccountSidA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLookupAccountNameA(\n    IN LPCSTR lpSystemName,\n    IN LPCSTR lpAccountName,\n    OUT PSID Sid,\n    IN OUT LPDWORD cbSid,\n    OUT LPSTR ReferencedDomainName,\n    IN OUT LPDWORD cbReferencedDomainName,\n    OUT PSID_NAME_USE peUse\n    );\nWINADVAPI\nBOOL\nWINAPI\nLookupAccountNameW(\n    IN LPCWSTR lpSystemName,\n    IN LPCWSTR lpAccountName,\n    OUT PSID Sid,\n    IN OUT LPDWORD cbSid,\n    OUT LPWSTR ReferencedDomainName,\n    IN OUT LPDWORD cbReferencedDomainName,\n    OUT PSID_NAME_USE peUse\n    );\n#ifdef UNICODE\n#define LookupAccountName  LookupAccountNameW\n#else\n#define LookupAccountName  LookupAccountNameA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeValueA(\n    IN LPCSTR lpSystemName,\n    IN LPCSTR lpName,\n    OUT PLUID   lpLuid\n    );\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeValueW(\n    IN LPCWSTR lpSystemName,\n    IN LPCWSTR lpName,\n    OUT PLUID   lpLuid\n    );\n#ifdef UNICODE\n#define LookupPrivilegeValue  LookupPrivilegeValueW\n#else\n#define LookupPrivilegeValue  LookupPrivilegeValueA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeNameA(\n    IN LPCSTR lpSystemName,\n    IN PLUID   lpLuid,\n    OUT LPSTR lpName,\n    IN OUT LPDWORD cbName\n    );\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeNameW(\n    IN LPCWSTR lpSystemName,\n    IN PLUID   lpLuid,\n    OUT LPWSTR lpName,\n    IN OUT LPDWORD cbName\n    );\n#ifdef UNICODE\n#define LookupPrivilegeName  LookupPrivilegeNameW\n#else\n#define LookupPrivilegeName  LookupPrivilegeNameA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeDisplayNameA(\n    IN LPCSTR lpSystemName,\n    IN LPCSTR lpName,\n    OUT LPSTR lpDisplayName,\n    IN OUT LPDWORD cbDisplayName,\n    OUT LPDWORD lpLanguageId\n    );\nWINADVAPI\nBOOL\nWINAPI\nLookupPrivilegeDisplayNameW(\n    IN LPCWSTR lpSystemName,\n    IN LPCWSTR lpName,\n    OUT LPWSTR lpDisplayName,\n    IN OUT LPDWORD cbDisplayName,\n    OUT LPDWORD lpLanguageId\n    );\n#ifdef UNICODE\n#define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameW\n#else\n#define LookupPrivilegeDisplayName  LookupPrivilegeDisplayNameA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nAllocateLocallyUniqueId(\n    OUT PLUID Luid\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nBuildCommDCBA(\n    IN LPCSTR lpDef,\n    OUT LPDCB lpDCB\n    );\nWINBASEAPI\nBOOL\nWINAPI\nBuildCommDCBW(\n    IN LPCWSTR lpDef,\n    OUT LPDCB lpDCB\n    );\n#ifdef UNICODE\n#define BuildCommDCB  BuildCommDCBW\n#else\n#define BuildCommDCB  BuildCommDCBA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nBuildCommDCBAndTimeoutsA(\n    IN LPCSTR lpDef,\n    OUT LPDCB lpDCB,\n    IN LPCOMMTIMEOUTS lpCommTimeouts\n    );\nWINBASEAPI\nBOOL\nWINAPI\nBuildCommDCBAndTimeoutsW(\n    IN LPCWSTR lpDef,\n    OUT LPDCB lpDCB,\n    IN LPCOMMTIMEOUTS lpCommTimeouts\n    );\n#ifdef UNICODE\n#define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsW\n#else\n#define BuildCommDCBAndTimeouts  BuildCommDCBAndTimeoutsA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nCommConfigDialogA(\n    IN LPCSTR lpszName,\n    IN HWND hWnd,\n    IN OUT LPCOMMCONFIG lpCC\n    );\nWINBASEAPI\nBOOL\nWINAPI\nCommConfigDialogW(\n    IN LPCWSTR lpszName,\n    IN HWND hWnd,\n    IN OUT LPCOMMCONFIG lpCC\n    );\n#ifdef UNICODE\n#define CommConfigDialog  CommConfigDialogW\n#else\n#define CommConfigDialog  CommConfigDialogA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetDefaultCommConfigA(\n    IN LPCSTR lpszName,\n    OUT LPCOMMCONFIG lpCC,\n    IN OUT LPDWORD lpdwSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetDefaultCommConfigW(\n    IN LPCWSTR lpszName,\n    OUT LPCOMMCONFIG lpCC,\n    IN OUT LPDWORD lpdwSize\n    );\n#ifdef UNICODE\n#define GetDefaultCommConfig  GetDefaultCommConfigW\n#else\n#define GetDefaultCommConfig  GetDefaultCommConfigA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetDefaultCommConfigA(\n    IN LPCSTR lpszName,\n    IN LPCOMMCONFIG lpCC,\n    IN DWORD dwSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetDefaultCommConfigW(\n    IN LPCWSTR lpszName,\n    IN LPCOMMCONFIG lpCC,\n    IN DWORD dwSize\n    );\n#ifdef UNICODE\n#define SetDefaultCommConfig  SetDefaultCommConfigW\n#else\n#define SetDefaultCommConfig  SetDefaultCommConfigA\n#endif // !UNICODE\n\n#ifndef _MAC\n#define MAX_COMPUTERNAME_LENGTH 15\n#else\n#define MAX_COMPUTERNAME_LENGTH 31\n#endif\n\nWINBASEAPI\nBOOL\nWINAPI\nGetComputerNameA (\n    OUT LPSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetComputerNameW (\n    OUT LPWSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\n#ifdef UNICODE\n#define GetComputerName  GetComputerNameW\n#else\n#define GetComputerName  GetComputerNameA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetComputerNameA (\n    IN LPCSTR lpComputerName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetComputerNameW (\n    IN LPCWSTR lpComputerName\n    );\n#ifdef UNICODE\n#define SetComputerName  SetComputerNameW\n#else\n#define SetComputerName  SetComputerNameA\n#endif // !UNICODE\n\n\n#if (_WIN32_WINNT >= 0x0500)\n\ntypedef enum _COMPUTER_NAME_FORMAT {\n    ComputerNameNetBIOS,\n    ComputerNameDnsHostname,\n    ComputerNameDnsDomain,\n    ComputerNameDnsFullyQualified,\n    ComputerNamePhysicalNetBIOS,\n    ComputerNamePhysicalDnsHostname,\n    ComputerNamePhysicalDnsDomain,\n    ComputerNamePhysicalDnsFullyQualified,\n    ComputerNameMax\n} COMPUTER_NAME_FORMAT ;\n\nWINBASEAPI\nBOOL\nWINAPI\nGetComputerNameExA (\n    IN COMPUTER_NAME_FORMAT NameType,\n    OUT LPSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetComputerNameExW (\n    IN COMPUTER_NAME_FORMAT NameType,\n    OUT LPWSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\n#ifdef UNICODE\n#define GetComputerNameEx  GetComputerNameExW\n#else\n#define GetComputerNameEx  GetComputerNameExA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nSetComputerNameExA (\n    IN COMPUTER_NAME_FORMAT NameType,\n    IN LPCSTR lpBuffer\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetComputerNameExW (\n    IN COMPUTER_NAME_FORMAT NameType,\n    IN LPCWSTR lpBuffer\n    );\n#ifdef UNICODE\n#define SetComputerNameEx  SetComputerNameExW\n#else\n#define SetComputerNameEx  SetComputerNameExA\n#endif // !UNICODE\n    \nWINBASEAPI\nDWORD\nWINAPI\nAddLocalAlternateComputerNameA (\n    IN LPCSTR lpDnsFQHostname,\n    IN ULONG    ulFlags\n    );\nWINBASEAPI\nDWORD\nWINAPI\nAddLocalAlternateComputerNameW (\n    IN LPCWSTR lpDnsFQHostname,\n    IN ULONG    ulFlags\n    );\n#ifdef UNICODE\n#define AddLocalAlternateComputerName  AddLocalAlternateComputerNameW\n#else\n#define AddLocalAlternateComputerName  AddLocalAlternateComputerNameA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nRemoveLocalAlternateComputerNameA (\n    IN LPCSTR lpAltDnsFQHostname,\n    IN ULONG    ulFlags\n    );\nWINBASEAPI\nDWORD\nWINAPI\nRemoveLocalAlternateComputerNameW (\n    IN LPCWSTR lpAltDnsFQHostname,\n    IN ULONG    ulFlags\n    );\n#ifdef UNICODE\n#define RemoveLocalAlternateComputerName  RemoveLocalAlternateComputerNameW\n#else\n#define RemoveLocalAlternateComputerName  RemoveLocalAlternateComputerNameA\n#endif // !UNICODE\n\nWINBASEAPI\nDWORD\nWINAPI\nSetLocalPrimaryComputerNameA (\n    IN LPCSTR  lpAltDnsFQHostname,\n    IN ULONG     ulFlags\n    );\nWINBASEAPI\nDWORD\nWINAPI\nSetLocalPrimaryComputerNameW (\n    IN LPCWSTR  lpAltDnsFQHostname,\n    IN ULONG     ulFlags\n    );\n#ifdef UNICODE\n#define SetLocalPrimaryComputerName  SetLocalPrimaryComputerNameW\n#else\n#define SetLocalPrimaryComputerName  SetLocalPrimaryComputerNameA\n#endif // !UNICODE\n\ntypedef enum _COMPUTER_NAME_TYPE {\n    PrimaryComputerName,\n    AlternateComputerNames,\n    AllComputerNames,\n    ComputerNameTypeMax\n} COMPUTER_NAME_TYPE ;\n\nWINBASEAPI\nDWORD\nWINAPI\nEnumerateLocalComputerNamesA (\n    IN COMPUTER_NAME_TYPE        NameType,\n    IN ULONG                     ulFlags,\n    IN OUT LPSTR               lpDnsFQHostname,\n    IN OUT LPDWORD               nSize\n    );\nWINBASEAPI\nDWORD\nWINAPI\nEnumerateLocalComputerNamesW (\n    IN COMPUTER_NAME_TYPE        NameType,\n    IN ULONG                     ulFlags,\n    IN OUT LPWSTR               lpDnsFQHostname,\n    IN OUT LPDWORD               nSize\n    );\n#ifdef UNICODE\n#define EnumerateLocalComputerNames  EnumerateLocalComputerNamesW\n#else\n#define EnumerateLocalComputerNames  EnumerateLocalComputerNamesA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nDnsHostnameToComputerNameA (\n    IN LPCSTR Hostname,\n    OUT LPSTR ComputerName,\n    IN OUT LPDWORD nSize\n    );\nWINBASEAPI\nBOOL\nWINAPI\nDnsHostnameToComputerNameW (\n    IN LPCWSTR Hostname,\n    OUT LPWSTR ComputerName,\n    IN OUT LPDWORD nSize\n    );\n#ifdef UNICODE\n#define DnsHostnameToComputerName  DnsHostnameToComputerNameW\n#else\n#define DnsHostnameToComputerName  DnsHostnameToComputerNameA\n#endif // !UNICODE\n\n#endif // _WIN32_WINNT\n\nWINADVAPI\nBOOL\nWINAPI\nGetUserNameA (\n    OUT LPSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\nWINADVAPI\nBOOL\nWINAPI\nGetUserNameW (\n    OUT LPWSTR lpBuffer,\n    IN OUT LPDWORD nSize\n    );\n#ifdef UNICODE\n#define GetUserName  GetUserNameW\n#else\n#define GetUserName  GetUserNameA\n#endif // !UNICODE\n\n//\n// Logon Support APIs\n//\n\n#define LOGON32_LOGON_INTERACTIVE       2\n#define LOGON32_LOGON_NETWORK           3\n#define LOGON32_LOGON_BATCH             4\n#define LOGON32_LOGON_SERVICE           5\n#define LOGON32_LOGON_UNLOCK            7\n#if(_WIN32_WINNT >= 0x0500)\n#define LOGON32_LOGON_NETWORK_CLEARTEXT 8\n#define LOGON32_LOGON_NEW_CREDENTIALS   9\n#endif // (_WIN32_WINNT >= 0x0500)\n\n#define LOGON32_PROVIDER_DEFAULT    0\n#define LOGON32_PROVIDER_WINNT35    1\n#if(_WIN32_WINNT >= 0x0400)\n#define LOGON32_PROVIDER_WINNT40    2\n#endif /* _WIN32_WINNT >= 0x0400 */\n#if(_WIN32_WINNT >= 0x0500)\n#define LOGON32_PROVIDER_WINNT50    3\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n\nWINADVAPI\nBOOL\nWINAPI\nLogonUserA (\n    IN LPCSTR lpszUsername,\n    IN LPCSTR lpszDomain,\n    IN LPCSTR lpszPassword,\n    IN DWORD dwLogonType,\n    IN DWORD dwLogonProvider,\n    OUT PHANDLE phToken\n    );\nWINADVAPI\nBOOL\nWINAPI\nLogonUserW (\n    IN LPCWSTR lpszUsername,\n    IN LPCWSTR lpszDomain,\n    IN LPCWSTR lpszPassword,\n    IN DWORD dwLogonType,\n    IN DWORD dwLogonProvider,\n    OUT PHANDLE phToken\n    );\n#ifdef UNICODE\n#define LogonUser  LogonUserW\n#else\n#define LogonUser  LogonUserA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nLogonUserExA (\n    IN LPCSTR lpszUsername,\n    IN LPCSTR lpszDomain,\n    IN LPCSTR lpszPassword,\n    IN DWORD dwLogonType,\n    IN DWORD dwLogonProvider,\n    OUT PHANDLE phToken           OPTIONAL,\n    OUT PSID  *ppLogonSid       OPTIONAL,\n    OUT PVOID *ppProfileBuffer  OPTIONAL,\n    OUT LPDWORD pdwProfileLength  OPTIONAL,\n    OUT PQUOTA_LIMITS pQuotaLimits OPTIONAL\n    );\nWINADVAPI\nBOOL\nWINAPI\nLogonUserExW (\n    IN LPCWSTR lpszUsername,\n    IN LPCWSTR lpszDomain,\n    IN LPCWSTR lpszPassword,\n    IN DWORD dwLogonType,\n    IN DWORD dwLogonProvider,\n    OUT PHANDLE phToken           OPTIONAL,\n    OUT PSID  *ppLogonSid       OPTIONAL,\n    OUT PVOID *ppProfileBuffer  OPTIONAL,\n    OUT LPDWORD pdwProfileLength  OPTIONAL,\n    OUT PQUOTA_LIMITS pQuotaLimits OPTIONAL\n    );\n#ifdef UNICODE\n#define LogonUserEx  LogonUserExW\n#else\n#define LogonUserEx  LogonUserExA\n#endif // !UNICODE\n\nWINADVAPI\nBOOL\nWINAPI\nImpersonateLoggedOnUser(\n    IN HANDLE  hToken\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nCreateProcessAsUserA (\n    IN HANDLE hToken,\n    IN LPCSTR lpApplicationName,\n    IN LPSTR lpCommandLine,\n    IN LPSECURITY_ATTRIBUTES lpProcessAttributes,\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN BOOL bInheritHandles,\n    IN DWORD dwCreationFlags,\n    IN LPVOID lpEnvironment,\n    IN LPCSTR lpCurrentDirectory,\n    IN LPSTARTUPINFOA lpStartupInfo,\n    OUT LPPROCESS_INFORMATION lpProcessInformation\n    );\nWINADVAPI\nBOOL\nWINAPI\nCreateProcessAsUserW (\n    IN HANDLE hToken,\n    IN LPCWSTR lpApplicationName,\n    IN LPWSTR lpCommandLine,\n    IN LPSECURITY_ATTRIBUTES lpProcessAttributes,\n    IN LPSECURITY_ATTRIBUTES lpThreadAttributes,\n    IN BOOL bInheritHandles,\n    IN DWORD dwCreationFlags,\n    IN LPVOID lpEnvironment,\n    IN LPCWSTR lpCurrentDirectory,\n    IN LPSTARTUPINFOW lpStartupInfo,\n    OUT LPPROCESS_INFORMATION lpProcessInformation\n    );\n#ifdef UNICODE\n#define CreateProcessAsUser  CreateProcessAsUserW\n#else\n#define CreateProcessAsUser  CreateProcessAsUserA\n#endif // !UNICODE\n\n\n#if(_WIN32_WINNT >= 0x0500)\n\n//\n// LogonFlags\n//\n#define LOGON_WITH_PROFILE              0x00000001\n#define LOGON_NETCREDENTIALS_ONLY       0x00000002\n#define LOGON_ZERO_PASSWORD_BUFFER      0x80000000\n\nWINADVAPI\nBOOL\nWINAPI\nCreateProcessWithLogonW(\n      LPCWSTR lpUsername,\n      LPCWSTR lpDomain,\n      LPCWSTR lpPassword,\n      DWORD   dwLogonFlags,\n      LPCWSTR lpApplicationName,\n      LPWSTR lpCommandLine,\n      DWORD dwCreationFlags,\n      LPVOID lpEnvironment,\n      LPCWSTR lpCurrentDirectory,\n      LPSTARTUPINFOW lpStartupInfo,\n      LPPROCESS_INFORMATION lpProcessInformation\n      );\n\nWINADVAPI\nBOOL\nWINAPI\nCreateProcessWithTokenW(\n      HANDLE hToken,\n      DWORD   dwLogonFlags,\n      LPCWSTR lpApplicationName,\n      LPWSTR lpCommandLine,\n      DWORD dwCreationFlags,\n      LPVOID lpEnvironment,\n      LPCWSTR lpCurrentDirectory,\n      LPSTARTUPINFOW lpStartupInfo,\n      LPPROCESS_INFORMATION lpProcessInformation\n      );\n\n#endif // (_WIN32_WINNT >= 0x0500)\n\nWINADVAPI\nBOOL\nAPIENTRY\nImpersonateAnonymousToken(\n    IN HANDLE ThreadHandle\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nDuplicateTokenEx(\n    IN HANDLE hExistingToken,\n    IN DWORD dwDesiredAccess,\n    IN LPSECURITY_ATTRIBUTES lpTokenAttributes,\n    IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,\n    IN TOKEN_TYPE TokenType,\n    OUT PHANDLE phNewToken);\n\nWINADVAPI\nBOOL\nAPIENTRY\nCreateRestrictedToken(\n    IN HANDLE ExistingTokenHandle,\n    IN DWORD Flags,\n    IN DWORD DisableSidCount,\n    IN PSID_AND_ATTRIBUTES SidsToDisable OPTIONAL,\n    IN DWORD DeletePrivilegeCount,\n    IN PLUID_AND_ATTRIBUTES PrivilegesToDelete OPTIONAL,\n    IN DWORD RestrictedSidCount,\n    IN PSID_AND_ATTRIBUTES SidsToRestrict OPTIONAL,\n    OUT PHANDLE NewTokenHandle\n    );\n\n\nWINADVAPI\nBOOL\nWINAPI\nIsTokenRestricted(\n    IN HANDLE TokenHandle\n    );\n\nWINADVAPI\nBOOL\nWINAPI\nIsTokenUntrusted(\n    IN HANDLE TokenHandle\n    );\n\n\nBOOL\nAPIENTRY\nCheckTokenMembership(\n    IN HANDLE TokenHandle OPTIONAL,\n    IN PSID SidToCheck,\n    OUT PBOOL IsMember\n    );\n\n//\n// Thread pool API's\n//\n\n#if (_WIN32_WINNT >= 0x0500)\n\ntypedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ;\n\nWINBASEAPI\nBOOL\nWINAPI\nRegisterWaitForSingleObject(\n    PHANDLE phNewWaitObject,\n    HANDLE hObject,\n    WAITORTIMERCALLBACK Callback,\n    PVOID Context,\n    ULONG dwMilliseconds,\n    ULONG dwFlags\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nRegisterWaitForSingleObjectEx(\n    HANDLE hObject,\n    WAITORTIMERCALLBACK Callback,\n    PVOID Context,\n    ULONG dwMilliseconds,\n    ULONG dwFlags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nUnregisterWait(\n    HANDLE WaitHandle\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nUnregisterWaitEx(\n    HANDLE WaitHandle,\n    HANDLE CompletionEvent\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nQueueUserWorkItem(\n    LPTHREAD_START_ROUTINE Function,\n    PVOID Context,\n    ULONG Flags\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nBindIoCompletionCallback (\n    HANDLE FileHandle,\n    LPOVERLAPPED_COMPLETION_ROUTINE Function,\n    ULONG Flags\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateTimerQueue(\n    VOID\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateTimerQueueTimer(\n    PHANDLE phNewTimer,\n    HANDLE TimerQueue,\n    WAITORTIMERCALLBACK Callback,\n    PVOID Parameter,\n    DWORD DueTime,\n    DWORD Period,\n    ULONG Flags\n    ) ;\n\nWINBASEAPI\nBOOL\nWINAPI\nChangeTimerQueueTimer(\n    HANDLE TimerQueue,\n    HANDLE Timer,\n    ULONG DueTime,\n    ULONG Period\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDeleteTimerQueueTimer(\n    HANDLE TimerQueue,\n    HANDLE Timer,\n    HANDLE CompletionEvent\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDeleteTimerQueueEx(\n    HANDLE TimerQueue,\n    HANDLE CompletionEvent\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nSetTimerQueueTimer(\n    HANDLE TimerQueue,\n    WAITORTIMERCALLBACK Callback,\n    PVOID Parameter,\n    DWORD DueTime,\n    DWORD Period,\n    BOOL PreferIo\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nCancelTimerQueueTimer(\n    HANDLE TimerQueue,\n    HANDLE Timer\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nDeleteTimerQueue(\n    HANDLE TimerQueue\n    );\n\n#endif // _WIN32_WINNT\n\n\n#if(_WIN32_WINNT >= 0x0400)\n//\n// Plug-and-Play API's\n//\n\n#define HW_PROFILE_GUIDLEN         39      // 36-characters plus NULL terminator\n#define MAX_PROFILE_LEN            80\n\n#define DOCKINFO_UNDOCKED          (0x1)\n#define DOCKINFO_DOCKED            (0x2)\n#define DOCKINFO_USER_SUPPLIED     (0x4)\n#define DOCKINFO_USER_UNDOCKED     (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)\n#define DOCKINFO_USER_DOCKED       (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)\n\ntypedef struct tagHW_PROFILE_INFOA {\n    DWORD  dwDockInfo;\n    CHAR   szHwProfileGuid[HW_PROFILE_GUIDLEN];\n    CHAR   szHwProfileName[MAX_PROFILE_LEN];\n} HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;\ntypedef struct tagHW_PROFILE_INFOW {\n    DWORD  dwDockInfo;\n    WCHAR  szHwProfileGuid[HW_PROFILE_GUIDLEN];\n    WCHAR  szHwProfileName[MAX_PROFILE_LEN];\n} HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;\n#ifdef UNICODE\ntypedef HW_PROFILE_INFOW HW_PROFILE_INFO;\ntypedef LPHW_PROFILE_INFOW LPHW_PROFILE_INFO;\n#else\ntypedef HW_PROFILE_INFOA HW_PROFILE_INFO;\ntypedef LPHW_PROFILE_INFOA LPHW_PROFILE_INFO;\n#endif // UNICODE\n\n\nWINADVAPI\nBOOL\nWINAPI\nGetCurrentHwProfileA (\n    OUT LPHW_PROFILE_INFOA  lpHwProfileInfo\n    );\nWINADVAPI\nBOOL\nWINAPI\nGetCurrentHwProfileW (\n    OUT LPHW_PROFILE_INFOW  lpHwProfileInfo\n    );\n#ifdef UNICODE\n#define GetCurrentHwProfile  GetCurrentHwProfileW\n#else\n#define GetCurrentHwProfile  GetCurrentHwProfileA\n#endif // !UNICODE\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n//\n// Performance counter API's\n//\n\nWINBASEAPI\nBOOL\nWINAPI\nQueryPerformanceCounter(\n    OUT LARGE_INTEGER *lpPerformanceCount\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nQueryPerformanceFrequency(\n    OUT LARGE_INTEGER *lpFrequency\n    );\n\n\n\nWINBASEAPI\nBOOL\nWINAPI\nGetVersionExA(\n    IN OUT LPOSVERSIONINFOA lpVersionInformation\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetVersionExW(\n    IN OUT LPOSVERSIONINFOW lpVersionInformation\n    );\n#ifdef UNICODE\n#define GetVersionEx  GetVersionExW\n#else\n#define GetVersionEx  GetVersionExA\n#endif // !UNICODE\n\n\n\nWINBASEAPI\nBOOL\nWINAPI\nVerifyVersionInfoA(\n    IN LPOSVERSIONINFOEXA lpVersionInformation,\n    IN DWORD dwTypeMask,\n    IN DWORDLONG dwlConditionMask\n    );\nWINBASEAPI\nBOOL\nWINAPI\nVerifyVersionInfoW(\n    IN LPOSVERSIONINFOEXW lpVersionInformation,\n    IN DWORD dwTypeMask,\n    IN DWORDLONG dwlConditionMask\n    );\n#ifdef UNICODE\n#define VerifyVersionInfo  VerifyVersionInfoW\n#else\n#define VerifyVersionInfo  VerifyVersionInfoA\n#endif // !UNICODE\n\n// DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base\n// API functions.\n//\n\n#include <winerror.h>\n\n/* Abnormal termination codes */\n\n#define TC_NORMAL       0\n#define TC_HARDERR      1\n#define TC_GP_TRAP      2\n#define TC_SIGNAL       3\n\n#if(WINVER >= 0x0400)\n//\n// Power Management APIs\n//\n\n#define AC_LINE_OFFLINE                 0x00\n#define AC_LINE_ONLINE                  0x01\n#define AC_LINE_BACKUP_POWER            0x02\n#define AC_LINE_UNKNOWN                 0xFF\n\n#define BATTERY_FLAG_HIGH               0x01\n#define BATTERY_FLAG_LOW                0x02\n#define BATTERY_FLAG_CRITICAL           0x04\n#define BATTERY_FLAG_CHARGING           0x08\n#define BATTERY_FLAG_NO_BATTERY         0x80\n#define BATTERY_FLAG_UNKNOWN            0xFF\n\n#define BATTERY_PERCENTAGE_UNKNOWN      0xFF\n\n#define BATTERY_LIFE_UNKNOWN        0xFFFFFFFF\n\ntypedef struct _SYSTEM_POWER_STATUS {\n    BYTE ACLineStatus;\n    BYTE BatteryFlag;\n    BYTE BatteryLifePercent;\n    BYTE Reserved1;\n    DWORD BatteryLifeTime;\n    DWORD BatteryFullLifeTime;\n}   SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;\n\nBOOL\nWINAPI\nGetSystemPowerStatus(\n    OUT LPSYSTEM_POWER_STATUS lpSystemPowerStatus\n    );\n\nBOOL\nWINAPI\nSetSystemPowerState(\n    IN BOOL fSuspend,\n    IN BOOL fForce\n    );\n\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n//\n// Very Large Memory API Subset\n//\n\nWINBASEAPI\nBOOL\nWINAPI\nAllocateUserPhysicalPages(\n    IN HANDLE hProcess,\n    IN OUT PULONG_PTR NumberOfPages,\n    OUT PULONG_PTR PageArray\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nFreeUserPhysicalPages(\n    IN HANDLE hProcess,\n    IN OUT PULONG_PTR NumberOfPages,\n    IN PULONG_PTR PageArray\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nMapUserPhysicalPages(\n    IN PVOID VirtualAddress,\n    IN ULONG_PTR NumberOfPages,\n    IN PULONG_PTR PageArray OPTIONAL\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nMapUserPhysicalPagesScatter(\n    IN PVOID *VirtualAddresses,\n    IN ULONG_PTR NumberOfPages,\n    IN PULONG_PTR PageArray OPTIONAL\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateJobObjectA(\n    IN LPSECURITY_ATTRIBUTES lpJobAttributes,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateJobObjectW(\n    IN LPSECURITY_ATTRIBUTES lpJobAttributes,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define CreateJobObject  CreateJobObjectW\n#else\n#define CreateJobObject  CreateJobObjectA\n#endif // !UNICODE\n\nWINBASEAPI\nHANDLE\nWINAPI\nOpenJobObjectA(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCSTR lpName\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nOpenJobObjectW(\n    IN DWORD dwDesiredAccess,\n    IN BOOL bInheritHandle,\n    IN LPCWSTR lpName\n    );\n#ifdef UNICODE\n#define OpenJobObject  OpenJobObjectW\n#else\n#define OpenJobObject  OpenJobObjectA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nAssignProcessToJobObject(\n    IN HANDLE hJob,\n    IN HANDLE hProcess\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nTerminateJobObject(\n    IN HANDLE hJob,\n    IN UINT uExitCode\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nQueryInformationJobObject(\n    IN HANDLE hJob,\n    IN JOBOBJECTINFOCLASS JobObjectInformationClass,\n    OUT LPVOID lpJobObjectInformation,\n    IN DWORD cbJobObjectInformationLength,\n    OUT LPDWORD lpReturnLength\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetInformationJobObject(\n    IN HANDLE hJob,\n    IN JOBOBJECTINFOCLASS JobObjectInformationClass,\n    IN LPVOID lpJobObjectInformation,\n    IN DWORD cbJobObjectInformationLength\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nIsProcessInJob (\n    IN HANDLE ProcessHandle,\n    IN HANDLE JobHandle,\n    OUT PBOOL Result\n    );\n\n\nWINBASEAPI\nBOOL\nWINAPI\nCreateJobSet (\n    IN ULONG NumJob,\n    IN PJOB_SET_ARRAY UserJobSet,\n    IN ULONG Flags);\n\n\nWINBASEAPI\nPVOID\nWINAPI\nAddVectoredExceptionHandler(\n    IN ULONG FirstHandler,\n    IN PVECTORED_EXCEPTION_HANDLER VectoredHandler\n    );\n\nWINBASEAPI\nULONG\nWINAPI\nRemoveVectoredExceptionHandler(\n    IN PVOID VectoredHandlerHandle\n    );\n\n//\n// New Volume Mount Point API.\n//\n\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstVolumeA(\n    LPSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstVolumeW(\n    LPWSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define FindFirstVolume FindFirstVolumeW\n#else\n#define FindFirstVolume FindFirstVolumeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindNextVolumeA(\n    HANDLE hFindVolume,\n    LPSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nBOOL\nWINAPI\nFindNextVolumeW(\n    HANDLE hFindVolume,\n    LPWSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define FindNextVolume FindNextVolumeW\n#else\n#define FindNextVolume FindNextVolumeA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindVolumeClose(\n    HANDLE hFindVolume\n    );\n\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstVolumeMountPointA(\n    LPCSTR lpszRootPathName,\n    LPSTR lpszVolumeMountPoint,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nFindFirstVolumeMountPointW(\n    LPCWSTR lpszRootPathName,\n    LPWSTR lpszVolumeMountPoint,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define FindFirstVolumeMountPoint FindFirstVolumeMountPointW\n#else\n#define FindFirstVolumeMountPoint FindFirstVolumeMountPointA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindNextVolumeMountPointA(\n    HANDLE hFindVolumeMountPoint,\n    LPSTR lpszVolumeMountPoint,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nBOOL\nWINAPI\nFindNextVolumeMountPointW(\n    HANDLE hFindVolumeMountPoint,\n    LPWSTR lpszVolumeMountPoint,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define FindNextVolumeMountPoint FindNextVolumeMountPointW\n#else\n#define FindNextVolumeMountPoint FindNextVolumeMountPointA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindVolumeMountPointClose(\n    HANDLE hFindVolumeMountPoint\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nSetVolumeMountPointA(\n    LPCSTR lpszVolumeMountPoint,\n    LPCSTR lpszVolumeName\n    );\nWINBASEAPI\nBOOL\nWINAPI\nSetVolumeMountPointW(\n    LPCWSTR lpszVolumeMountPoint,\n    LPCWSTR lpszVolumeName\n    );\n#ifdef UNICODE\n#define SetVolumeMountPoint  SetVolumeMountPointW\n#else\n#define SetVolumeMountPoint  SetVolumeMountPointA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nDeleteVolumeMountPointA(\n    LPCSTR lpszVolumeMountPoint\n    );\nWINBASEAPI\nBOOL\nWINAPI\nDeleteVolumeMountPointW(\n    LPCWSTR lpszVolumeMountPoint\n    );\n#ifdef UNICODE\n#define DeleteVolumeMountPoint  DeleteVolumeMountPointW\n#else\n#define DeleteVolumeMountPoint  DeleteVolumeMountPointA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumeNameForVolumeMountPointA(\n    LPCSTR lpszVolumeMountPoint,\n    LPSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumeNameForVolumeMountPointW(\n    LPCWSTR lpszVolumeMountPoint,\n    LPWSTR lpszVolumeName,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define GetVolumeNameForVolumeMountPoint  GetVolumeNameForVolumeMountPointW\n#else\n#define GetVolumeNameForVolumeMountPoint  GetVolumeNameForVolumeMountPointA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumePathNameA(\n    LPCSTR lpszFileName,\n    LPSTR lpszVolumePathName,\n    DWORD cchBufferLength\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumePathNameW(\n    LPCWSTR lpszFileName,\n    LPWSTR lpszVolumePathName,\n    DWORD cchBufferLength\n    );\n#ifdef UNICODE\n#define GetVolumePathName  GetVolumePathNameW\n#else\n#define GetVolumePathName  GetVolumePathNameA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumePathNamesForVolumeNameA(\n    LPCSTR lpszVolumeName,\n    LPSTR lpszVolumePathNames,\n    DWORD cchBufferLength,\n    PDWORD lpcchReturnLength\n    );\nWINBASEAPI\nBOOL\nWINAPI\nGetVolumePathNamesForVolumeNameW(\n    LPCWSTR lpszVolumeName,\n    LPWSTR lpszVolumePathNames,\n    DWORD cchBufferLength,\n    PDWORD lpcchReturnLength\n    );\n#ifdef UNICODE\n#define GetVolumePathNamesForVolumeName  GetVolumePathNamesForVolumeNameW\n#else\n#define GetVolumePathNamesForVolumeName  GetVolumePathNamesForVolumeNameA\n#endif // !UNICODE\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED\n\n#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID    (0x00000001)\n#define ACTCTX_FLAG_LANGID_VALID                    (0x00000002)\n#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID        (0x00000004)\n#define ACTCTX_FLAG_RESOURCE_NAME_VALID             (0x00000008)\n#define ACTCTX_FLAG_SET_PROCESS_DEFAULT             (0x00000010)\n#define ACTCTX_FLAG_APPLICATION_NAME_VALID          (0x00000020)\n#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF           (0x00000040)\n#define ACTCTX_FLAG_HMODULE_VALID                   (0x00000080)\n\ntypedef struct tagACTCTXA {\n    ULONG       cbSize;\n    DWORD       dwFlags;\n    LPCSTR      lpSource;\n    USHORT      wProcessorArchitecture;\n    LANGID      wLangId;\n    LPCSTR      lpAssemblyDirectory;\n    LPCSTR      lpResourceName;\n    LPCSTR      lpApplicationName;\n    HMODULE     hModule;\n} ACTCTXA, *PACTCTXA;\ntypedef struct tagACTCTXW {\n    ULONG       cbSize;\n    DWORD       dwFlags;\n    LPCWSTR     lpSource;\n    USHORT      wProcessorArchitecture;\n    LANGID      wLangId;\n    LPCWSTR     lpAssemblyDirectory;\n    LPCWSTR     lpResourceName;\n    LPCWSTR     lpApplicationName;\n    HMODULE     hModule;\n} ACTCTXW, *PACTCTXW;\n#ifdef UNICODE\ntypedef ACTCTXW ACTCTX;\ntypedef PACTCTXW PACTCTX;\n#else\ntypedef ACTCTXA ACTCTX;\ntypedef PACTCTXA PACTCTX;\n#endif // UNICODE\n\ntypedef const ACTCTXA *PCACTCTXA;\ntypedef const ACTCTXW *PCACTCTXW;\n#ifdef UNICODE\ntypedef ACTCTXW ACTCTX;\ntypedef PCACTCTXW PCACTCTX;\n#else\ntypedef ACTCTXA ACTCTX;\ntypedef PCACTCTXA PCACTCTX;\n#endif // UNICODE\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)\n\n\nWINBASEAPI\nHANDLE\nWINAPI\nCreateActCtxA(\n    PCACTCTXA pActCtx\n    );\nWINBASEAPI\nHANDLE\nWINAPI\nCreateActCtxW(\n    PCACTCTXW pActCtx\n    );\n#ifdef UNICODE\n#define CreateActCtx  CreateActCtxW\n#else\n#define CreateActCtx  CreateActCtxA\n#endif // !UNICODE\n\nWINBASEAPI\nVOID\nWINAPI\nAddRefActCtx(\n    HANDLE hActCtx\n    );\n\n\nWINBASEAPI\nVOID\nWINAPI\nReleaseActCtx(\n    HANDLE hActCtx\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nZombifyActCtx(\n    HANDLE hActCtx\n    );\n\n\nWINBASEAPI\nBOOL\nWINAPI\nActivateActCtx(\n    HANDLE hActCtx,\n    ULONG_PTR *lpCookie\n    );\n\n\n#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)\n\nWINBASEAPI\nBOOL\nWINAPI\nDeactivateActCtx(\n    DWORD dwFlags,\n    ULONG_PTR ulCookie\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetCurrentActCtx(\n    HANDLE *lphActCtx);\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED\n\ntypedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {\n    ULONG cbSize;\n    ULONG ulDataFormatVersion;\n    PVOID lpData;\n    ULONG ulLength;\n    PVOID lpSectionGlobalData;\n    ULONG ulSectionGlobalDataLength;\n    PVOID lpSectionBase;\n    ULONG ulSectionTotalLength;\n    HANDLE hActCtx;\n    ULONG ulAssemblyRosterIndex;\n} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;\ntypedef const ACTCTX_SECTION_KEYED_DATA_2600 * PCACTCTX_SECTION_KEYED_DATA_2600;\n\ntypedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {\n    PVOID lpInformation;\n    PVOID lpSectionBase;\n    ULONG ulSectionLength;\n    PVOID lpSectionGlobalDataBase;\n    ULONG ulSectionGlobalDataLength;\n} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;\ntypedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;\n\ntypedef struct tagACTCTX_SECTION_KEYED_DATA {\n    ULONG cbSize;\n    ULONG ulDataFormatVersion;\n    PVOID lpData;\n    ULONG ulLength;\n    PVOID lpSectionGlobalData;\n    ULONG ulSectionGlobalDataLength;\n    PVOID lpSectionBase;\n    ULONG ulSectionTotalLength;\n    HANDLE hActCtx;\n    ULONG ulAssemblyRosterIndex;\n// 2600 stops here\n    ULONG ulFlags;\n    ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;\n} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;\ntypedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA;\n\n#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)\n#define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS   (0x00000002)\n#define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)\n\n\nWINBASEAPI\nBOOL\nWINAPI\nFindActCtxSectionStringA(\n    DWORD dwFlags,\n    const GUID *lpExtensionGuid,\n    ULONG ulSectionId,\n    LPCSTR lpStringToFind,\n    PACTCTX_SECTION_KEYED_DATA ReturnedData\n    );\nWINBASEAPI\nBOOL\nWINAPI\nFindActCtxSectionStringW(\n    DWORD dwFlags,\n    const GUID *lpExtensionGuid,\n    ULONG ulSectionId,\n    LPCWSTR lpStringToFind,\n    PACTCTX_SECTION_KEYED_DATA ReturnedData\n    );\n#ifdef UNICODE\n#define FindActCtxSectionString  FindActCtxSectionStringW\n#else\n#define FindActCtxSectionString  FindActCtxSectionStringA\n#endif // !UNICODE\n\nWINBASEAPI\nBOOL\nWINAPI\nFindActCtxSectionGuid(\n    DWORD dwFlags,\n    const GUID *lpExtensionGuid,\n    ULONG ulSectionId,\n    const GUID *lpGuidToFind,\n    PACTCTX_SECTION_KEYED_DATA ReturnedData\n    );\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED\n\n#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */\n#if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)\n\ntypedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {\n    HANDLE  hActCtx;\n    DWORD   dwFlags;\n} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;\n\ntypedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;\n\n#define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1\n\n#endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)\n#endif\n\n#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)\n#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)\n#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)\n#define QUERY_ACTCTX_FLAG_NO_ADDREF         (0x80000000)\n\n#endif\n\n#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)\n\n\n//\n// switch (ulInfoClass)\n//\n//  case ActivationContextBasicInformation:\n//    pvSubInstance == NULL\n//    pvBuffer is of type PACTIVATION_CONTEXT_BASIC_INFORMATION\n//\n//  case ActivationContextDetailedInformation:\n//    pvSubInstance == NULL\n//    pvBuffer is of type PACTIVATION_CONTEXT_DETAILED_INFORMATION\n//\n//  case AssemblyDetailedInformationInActivationContext:\n//    pvSubInstance is of type PULONG\n//      *pvSubInstance < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCount\n//    pvBuffer is of type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION\n//\n//  case FileInformationInAssemblyOfAssemblyInActivationContext:\n//    pvSubInstance is of type PACTIVATION_CONTEXT_QUERY_INDEX\n//      pvSubInstance->ulAssemblyIndex < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCount\n//      pvSubInstance->ulFileIndexInAssembly < ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION::ulFileCount\n//    pvBuffer is of type PASSEMBLY_FILE_DETAILED_INFORMATION\n//\n// String are placed after the structs.\n//\nWINBASEAPI\nBOOL\nWINAPI\nQueryActCtxW(\n    IN DWORD dwFlags,\n    IN HANDLE hActCtx,\n    IN PVOID pvSubInstance,\n    IN ULONG ulInfoClass,\n    OUT PVOID pvBuffer,\n    IN SIZE_T cbBuffer OPTIONAL,\n    OUT SIZE_T *pcbWrittenOrRequired OPTIONAL\n    );\n\ntypedef BOOL (WINAPI * PQUERYACTCTXW_FUNC)(\n    IN DWORD dwFlags,\n    IN HANDLE hActCtx,\n    IN PVOID pvSubInstance,\n    IN ULONG ulInfoClass,\n    OUT PVOID pvBuffer,\n    IN SIZE_T cbBuffer OPTIONAL,\n    OUT SIZE_T *pcbWrittenOrRequired OPTIONAL\n    );\n\n#endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100)\n\n\nWINBASEAPI\nBOOL\nWINAPI\nProcessIdToSessionId(\n    IN  DWORD dwProcessId,\n    OUT DWORD *pSessionId\n    );\n\n#if _WIN32_WINNT >= 0x0501\n\nWINBASEAPI\nDWORD\nWINAPI\nWTSGetActiveConsoleSessionId();\n\nWINBASEAPI\nBOOL\nWINAPI\nIsWow64Process(\n    HANDLE hProcess,\n    PBOOL Wow64Process\n    );\n\n#endif // (_WIN32_WINNT >= 0x0501)\n\nWINBASEAPI\nBOOL\nWINAPI\nGetLogicalProcessorInformation(\n    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,\n    PDWORD ReturnedLength\n    );\n\n//\n// NUMA Information routines.\n//\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNumaHighestNodeNumber(\n    PULONG HighestNodeNumber\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNumaProcessorNode(\n    UCHAR Processor,\n    PUCHAR NodeNumber\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNumaNodeProcessorMask(\n    UCHAR Node,\n    PULONGLONG ProcessorMask\n    );\n\nWINBASEAPI\nBOOL\nWINAPI\nGetNumaAvailableMemoryNode(\n    UCHAR Node,\n    PULONGLONG AvailableBytes\n    );\n\n\n\n#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */\n#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)\n#include \"winbase.inl\"\n#endif /* ISOLATION_AWARE_ENABLED */\n#endif /* RC */\n\n#ifdef __cplusplus\n}\n#endif\n\n\n\n#endif // _WINBASE_\n\n"
  },
  {
    "path": "Bin/i386/APILib/WinGDI.h",
    "content": "/**************************************************************************\n*                                                                         *\n* wingdi.h -- GDI procedure declarations, constant definitions and macros *\n*                                                                         *\n* Copyright (c) Microsoft Corp. All rights reserved.                      *\n*                                                                         *\n**************************************************************************/\n\n#ifndef _WINGDI_\n#define _WINGDI_\n\n\n#ifdef _MAC\n#include <macwin32.h>\n#endif\n//\n// Define API decoration for direct importing of DLL references.\n//\n\n#if !defined(_GDI32_)\n#define WINGDIAPI DECLSPEC_IMPORT\n#else\n#define WINGDIAPI\n#endif\n\n//\n// Define API decoration for direct importing of DLL references.\n//\n\n#if !defined(_SPOOL32_)\n#define WINSPOOLAPI DECLSPEC_IMPORT\n#else\n#define WINSPOOLAPI\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef WINVER\n#define WINVER 0x0500   // version 5.0\n#endif /* WINVER */\n\n#ifndef NOGDI\n\n#ifndef NORASTEROPS\n\n/* Binary raster ops */\n#define R2_BLACK            1   /*  0       */\n#define R2_NOTMERGEPEN      2   /* DPon     */\n#define R2_MASKNOTPEN       3   /* DPna     */\n#define R2_NOTCOPYPEN       4   /* PN       */\n#define R2_MASKPENNOT       5   /* PDna     */\n#define R2_NOT              6   /* Dn       */\n#define R2_XORPEN           7   /* DPx      */\n#define R2_NOTMASKPEN       8   /* DPan     */\n#define R2_MASKPEN          9   /* DPa      */\n#define R2_NOTXORPEN        10  /* DPxn     */\n#define R2_NOP              11  /* D        */\n#define R2_MERGENOTPEN      12  /* DPno     */\n#define R2_COPYPEN          13  /* P        */\n#define R2_MERGEPENNOT      14  /* PDno     */\n#define R2_MERGEPEN         15  /* DPo      */\n#define R2_WHITE            16  /*  1       */\n#define R2_LAST             16\n\n/* Ternary raster operations */\n#define SRCCOPY             (DWORD)0x00CC0020 /* dest = source                   */\n#define SRCPAINT            (DWORD)0x00EE0086 /* dest = source OR dest           */\n#define SRCAND              (DWORD)0x008800C6 /* dest = source AND dest          */\n#define SRCINVERT           (DWORD)0x00660046 /* dest = source XOR dest          */\n#define SRCERASE            (DWORD)0x00440328 /* dest = source AND (NOT dest )   */\n#define NOTSRCCOPY          (DWORD)0x00330008 /* dest = (NOT source)             */\n#define NOTSRCERASE         (DWORD)0x001100A6 /* dest = (NOT src) AND (NOT dest) */\n#define MERGECOPY           (DWORD)0x00C000CA /* dest = (source AND pattern)     */\n#define MERGEPAINT          (DWORD)0x00BB0226 /* dest = (NOT source) OR dest     */\n#define PATCOPY             (DWORD)0x00F00021 /* dest = pattern                  */\n#define PATPAINT            (DWORD)0x00FB0A09 /* dest = DPSnoo                   */\n#define PATINVERT           (DWORD)0x005A0049 /* dest = pattern XOR dest         */\n#define DSTINVERT           (DWORD)0x00550009 /* dest = (NOT dest)               */\n#define BLACKNESS           (DWORD)0x00000042 /* dest = BLACK                    */\n#define WHITENESS           (DWORD)0x00FF0062 /* dest = WHITE                    */\n#if(WINVER >= 0x0500)\n\n#define NOMIRRORBITMAP      (DWORD)0x80000000 /* Do not Mirror the bitmap in this call */\n#define CAPTUREBLT          (DWORD)0x40000000 /* Include layered windows */\n#endif /* WINVER >= 0x0500 */\n\n/* Quaternary raster codes */\n#define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore))\n\n#endif /* NORASTEROPS */\n\n#define GDI_ERROR (0xFFFFFFFFL)\n#define HGDI_ERROR (LongToHandle(0xFFFFFFFFL))\n\n/* Region Flags */\n#define ERROR               0\n#define NULLREGION          1\n#define SIMPLEREGION        2\n#define COMPLEXREGION       3\n#define RGN_ERROR ERROR\n\n/* CombineRgn() Styles */\n#define RGN_AND             1\n#define RGN_OR              2\n#define RGN_XOR             3\n#define RGN_DIFF            4\n#define RGN_COPY            5\n#define RGN_MIN             RGN_AND\n#define RGN_MAX             RGN_COPY\n\n/* StretchBlt() Modes */\n#define BLACKONWHITE                 1\n#define WHITEONBLACK                 2\n#define COLORONCOLOR                 3\n#define HALFTONE                     4\n#define MAXSTRETCHBLTMODE            4\n\n#if(WINVER >= 0x0400)\n/* New StretchBlt() Modes */\n#define STRETCH_ANDSCANS    BLACKONWHITE\n#define STRETCH_ORSCANS     WHITEONBLACK\n#define STRETCH_DELETESCANS COLORONCOLOR\n#define STRETCH_HALFTONE    HALFTONE\n#endif /* WINVER >= 0x0400 */\n\n/* PolyFill() Modes */\n#define ALTERNATE                    1\n#define WINDING                      2\n#define POLYFILL_LAST                2\n\n/* Layout Orientation Options */\n#if(WINVER >= 0x0500)\n#define LAYOUT_RTL                         0x00000001 // Right to left\n#define LAYOUT_BTT                         0x00000002 // Bottom to top\n#define LAYOUT_VBH                         0x00000004 // Vertical before horizontal\n#define LAYOUT_ORIENTATIONMASK             (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH)\n#define LAYOUT_BITMAPORIENTATIONPRESERVED  0x00000008\n#endif /* WINVER >= 0x0500 */\n\n/* Text Alignment Options */\n#define TA_NOUPDATECP                0\n#define TA_UPDATECP                  1\n\n#define TA_LEFT                      0\n#define TA_RIGHT                     2\n#define TA_CENTER                    6\n\n#define TA_TOP                       0\n#define TA_BOTTOM                    8\n#define TA_BASELINE                  24\n#if (WINVER >= 0x0400)\n#define TA_RTLREADING                256\n#define TA_MASK       (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING)\n#else\n#define TA_MASK       (TA_BASELINE+TA_CENTER+TA_UPDATECP)\n#endif\n\n#define VTA_BASELINE TA_BASELINE\n#define VTA_LEFT     TA_BOTTOM\n#define VTA_RIGHT    TA_TOP\n#define VTA_CENTER   TA_CENTER\n#define VTA_BOTTOM   TA_RIGHT\n#define VTA_TOP      TA_LEFT\n\n#define ETO_OPAQUE                   0x0002\n#define ETO_CLIPPED                  0x0004\n#if(WINVER >= 0x0400)\n#define ETO_GLYPH_INDEX              0x0010\n#define ETO_RTLREADING               0x0080\n#define ETO_NUMERICSLOCAL            0x0400\n#define ETO_NUMERICSLATIN            0x0800\n#define ETO_IGNORELANGUAGE           0x1000\n#endif /* WINVER >= 0x0400 */\n#if (_WIN32_WINNT >= 0x0500)\n#define ETO_PDY                      0x2000\n#endif // (_WIN32_WINNT >= 0x0500)\n\n#define ASPECT_FILTERING             0x0001\n\n/* Bounds Accumulation APIs */\n\n#define DCB_RESET       0x0001\n#define DCB_ACCUMULATE  0x0002\n#define DCB_DIRTY       DCB_ACCUMULATE\n#define DCB_SET         (DCB_RESET | DCB_ACCUMULATE)\n#define DCB_ENABLE      0x0004\n#define DCB_DISABLE     0x0008\n\n#ifndef NOMETAFILE\n\n/* Metafile Functions */\n#define META_SETBKCOLOR              0x0201\n#define META_SETBKMODE               0x0102\n#define META_SETMAPMODE              0x0103\n#define META_SETROP2                 0x0104\n#define META_SETRELABS               0x0105\n#define META_SETPOLYFILLMODE         0x0106\n#define META_SETSTRETCHBLTMODE       0x0107\n#define META_SETTEXTCHAREXTRA        0x0108\n#define META_SETTEXTCOLOR            0x0209\n#define META_SETTEXTJUSTIFICATION    0x020A\n#define META_SETWINDOWORG            0x020B\n#define META_SETWINDOWEXT            0x020C\n#define META_SETVIEWPORTORG          0x020D\n#define META_SETVIEWPORTEXT          0x020E\n#define META_OFFSETWINDOWORG         0x020F\n#define META_SCALEWINDOWEXT          0x0410\n#define META_OFFSETVIEWPORTORG       0x0211\n#define META_SCALEVIEWPORTEXT        0x0412\n#define META_LINETO                  0x0213\n#define META_MOVETO                  0x0214\n#define META_EXCLUDECLIPRECT         0x0415\n#define META_INTERSECTCLIPRECT       0x0416\n#define META_ARC                     0x0817\n#define META_ELLIPSE                 0x0418\n#define META_FLOODFILL               0x0419\n#define META_PIE                     0x081A\n#define META_RECTANGLE               0x041B\n#define META_ROUNDRECT               0x061C\n#define META_PATBLT                  0x061D\n#define META_SAVEDC                  0x001E\n#define META_SETPIXEL                0x041F\n#define META_OFFSETCLIPRGN           0x0220\n#define META_TEXTOUT                 0x0521\n#define META_BITBLT                  0x0922\n#define META_STRETCHBLT              0x0B23\n#define META_POLYGON                 0x0324\n#define META_POLYLINE                0x0325\n#define META_ESCAPE                  0x0626\n#define META_RESTOREDC               0x0127\n#define META_FILLREGION              0x0228\n#define META_FRAMEREGION             0x0429\n#define META_INVERTREGION            0x012A\n#define META_PAINTREGION             0x012B\n#define META_SELECTCLIPREGION        0x012C\n#define META_SELECTOBJECT            0x012D\n#define META_SETTEXTALIGN            0x012E\n#define META_CHORD                   0x0830\n#define META_SETMAPPERFLAGS          0x0231\n#define META_EXTTEXTOUT              0x0a32\n#define META_SETDIBTODEV             0x0d33\n#define META_SELECTPALETTE           0x0234\n#define META_REALIZEPALETTE          0x0035\n#define META_ANIMATEPALETTE          0x0436\n#define META_SETPALENTRIES           0x0037\n#define META_POLYPOLYGON             0x0538\n#define META_RESIZEPALETTE           0x0139\n#define META_DIBBITBLT               0x0940\n#define META_DIBSTRETCHBLT           0x0b41\n#define META_DIBCREATEPATTERNBRUSH   0x0142\n#define META_STRETCHDIB              0x0f43\n#define META_EXTFLOODFILL            0x0548\n#if(WINVER >= 0x0500)\n#define META_SETLAYOUT               0x0149\n#endif /* WINVER >= 0x0500 */\n#define META_DELETEOBJECT            0x01f0\n#define META_CREATEPALETTE           0x00f7\n#define META_CREATEPATTERNBRUSH      0x01F9\n#define META_CREATEPENINDIRECT       0x02FA\n#define META_CREATEFONTINDIRECT      0x02FB\n#define META_CREATEBRUSHINDIRECT     0x02FC\n#define META_CREATEREGION            0x06FF\n\n#if(WINVER >= 0x0400)\ntypedef struct _DRAWPATRECT {\n        POINT ptPosition;\n        POINT ptSize;\n        WORD wStyle;\n        WORD wPattern;\n} DRAWPATRECT, *PDRAWPATRECT;\n#endif /* WINVER >= 0x0400 */\n\n#endif /* NOMETAFILE */\n\n/* GDI Escapes */\n#define NEWFRAME                     1\n#define ABORTDOC                     2\n#define NEXTBAND                     3\n#define SETCOLORTABLE                4\n#define GETCOLORTABLE                5\n#define FLUSHOUTPUT                  6\n#define DRAFTMODE                    7\n#define QUERYESCSUPPORT              8\n#define SETABORTPROC                 9\n#define STARTDOC                     10\n#define ENDDOC                       11\n#define GETPHYSPAGESIZE              12\n#define GETPRINTINGOFFSET            13\n#define GETSCALINGFACTOR             14\n#define MFCOMMENT                    15\n#define GETPENWIDTH                  16\n#define SETCOPYCOUNT                 17\n#define SELECTPAPERSOURCE            18\n#define DEVICEDATA                   19\n#define PASSTHROUGH                  19\n#define GETTECHNOLGY                 20\n#define GETTECHNOLOGY                20\n#define SETLINECAP                   21\n#define SETLINEJOIN                  22\n#define SETMITERLIMIT                23\n#define BANDINFO                     24\n#define DRAWPATTERNRECT              25\n#define GETVECTORPENSIZE             26\n#define GETVECTORBRUSHSIZE           27\n#define ENABLEDUPLEX                 28\n#define GETSETPAPERBINS              29\n#define GETSETPRINTORIENT            30\n#define ENUMPAPERBINS                31\n#define SETDIBSCALING                32\n#define EPSPRINTING                  33\n#define ENUMPAPERMETRICS             34\n#define GETSETPAPERMETRICS           35\n#define POSTSCRIPT_DATA              37\n#define POSTSCRIPT_IGNORE            38\n#define MOUSETRAILS                  39\n#define GETDEVICEUNITS               42\n\n#define GETEXTENDEDTEXTMETRICS       256\n#define GETEXTENTTABLE               257\n#define GETPAIRKERNTABLE             258\n#define GETTRACKKERNTABLE            259\n#define EXTTEXTOUT                   512\n#define GETFACENAME                  513\n#define DOWNLOADFACE                 514\n#define ENABLERELATIVEWIDTHS         768\n#define ENABLEPAIRKERNING            769\n#define SETKERNTRACK                 770\n#define SETALLJUSTVALUES             771\n#define SETCHARSET                   772\n\n#define STRETCHBLT                   2048\n#define METAFILE_DRIVER              2049\n#define GETSETSCREENPARAMS           3072\n#define QUERYDIBSUPPORT              3073\n#define BEGIN_PATH                   4096\n#define CLIP_TO_PATH                 4097\n#define END_PATH                     4098\n#define EXT_DEVICE_CAPS              4099\n#define RESTORE_CTM                  4100\n#define SAVE_CTM                     4101\n#define SET_ARC_DIRECTION            4102\n#define SET_BACKGROUND_COLOR         4103\n#define SET_POLY_MODE                4104\n#define SET_SCREEN_ANGLE             4105\n#define SET_SPREAD                   4106\n#define TRANSFORM_CTM                4107\n#define SET_CLIP_BOX                 4108\n#define SET_BOUNDS                   4109\n#define SET_MIRROR_MODE              4110\n#define OPENCHANNEL                  4110\n#define DOWNLOADHEADER               4111\n#define CLOSECHANNEL                 4112\n#define POSTSCRIPT_PASSTHROUGH       4115\n#define ENCAPSULATED_POSTSCRIPT      4116\n\n#define POSTSCRIPT_IDENTIFY          4117   /* new escape for NT5 pscript driver */\n#define POSTSCRIPT_INJECTION         4118   /* new escape for NT5 pscript driver */\n\n#define CHECKJPEGFORMAT              4119\n#define CHECKPNGFORMAT               4120\n\n#define GET_PS_FEATURESETTING        4121   /* new escape for NT5 pscript driver */\n\n#define SPCLPASSTHROUGH2             4568   /* new escape for NT5 pscript driver */\n\n/*\n * Parameters for POSTSCRIPT_IDENTIFY escape\n */\n\n#define PSIDENT_GDICENTRIC    0\n#define PSIDENT_PSCENTRIC     1\n\n/*\n * Header structure for the input buffer to POSTSCRIPT_INJECTION escape\n */\n\ntypedef struct _PSINJECTDATA {\n\n    DWORD   DataBytes;      /* number of raw data bytes (NOT including this header) */\n    WORD    InjectionPoint; /* injection point */\n    WORD    PageNumber;     /* page number to apply the injection */\n\n    /* Followed by raw data to be injected */\n\n} PSINJECTDATA, *PPSINJECTDATA;\n\n/*\n * Constants for PSINJECTDATA.InjectionPoint field\n */\n\n#define PSINJECT_BEGINSTREAM                1\n#define PSINJECT_PSADOBE                    2\n#define PSINJECT_PAGESATEND                 3\n#define PSINJECT_PAGES                      4\n\n#define PSINJECT_DOCNEEDEDRES               5\n#define PSINJECT_DOCSUPPLIEDRES             6\n#define PSINJECT_PAGEORDER                  7\n#define PSINJECT_ORIENTATION                8\n#define PSINJECT_BOUNDINGBOX                9\n#define PSINJECT_DOCUMENTPROCESSCOLORS      10\n\n#define PSINJECT_COMMENTS                   11\n#define PSINJECT_BEGINDEFAULTS              12\n#define PSINJECT_ENDDEFAULTS                13\n#define PSINJECT_BEGINPROLOG                14\n#define PSINJECT_ENDPROLOG                  15\n#define PSINJECT_BEGINSETUP                 16\n#define PSINJECT_ENDSETUP                   17\n#define PSINJECT_TRAILER                    18\n#define PSINJECT_EOF                        19\n#define PSINJECT_ENDSTREAM                  20\n#define PSINJECT_DOCUMENTPROCESSCOLORSATEND 21\n\n#define PSINJECT_PAGENUMBER                 100\n#define PSINJECT_BEGINPAGESETUP             101\n#define PSINJECT_ENDPAGESETUP               102\n#define PSINJECT_PAGETRAILER                103\n#define PSINJECT_PLATECOLOR                 104\n\n#define PSINJECT_SHOWPAGE                   105\n#define PSINJECT_PAGEBBOX                   106\n#define PSINJECT_ENDPAGECOMMENTS            107\n\n#define PSINJECT_VMSAVE                     200\n#define PSINJECT_VMRESTORE                  201\n\n/*\n * Parameter for GET_PS_FEATURESETTING escape\n */\n\n#define FEATURESETTING_NUP                  0\n#define FEATURESETTING_OUTPUT               1\n#define FEATURESETTING_PSLEVEL              2\n#define FEATURESETTING_CUSTPAPER            3\n#define FEATURESETTING_MIRROR               4\n#define FEATURESETTING_NEGATIVE             5\n#define FEATURESETTING_PROTOCOL             6\n\n//\n// The range of selectors between FEATURESETTING_PRIVATE_BEGIN and\n// FEATURESETTING_PRIVATE_END is reserved by Microsoft for private use\n//\n#define FEATURESETTING_PRIVATE_BEGIN 0x1000\n#define FEATURESETTING_PRIVATE_END   0x1FFF\n\n/*\n * Information about output options\n */\n\ntypedef struct _PSFEATURE_OUTPUT {\n\n    BOOL bPageIndependent;\n    BOOL bSetPageDevice;\n\n} PSFEATURE_OUTPUT, *PPSFEATURE_OUTPUT;\n\n/*\n * Information about custom paper size\n */\n\ntypedef struct _PSFEATURE_CUSTPAPER {\n\n    LONG lOrientation;\n    LONG lWidth;\n    LONG lHeight;\n    LONG lWidthOffset;\n    LONG lHeightOffset;\n\n} PSFEATURE_CUSTPAPER, *PPSFEATURE_CUSTPAPER;\n\n/* Value returned for FEATURESETTING_PROTOCOL */\n#define PSPROTOCOL_ASCII             0\n#define PSPROTOCOL_BCP               1\n#define PSPROTOCOL_TBCP              2\n#define PSPROTOCOL_BINARY            3\n\n/* Flag returned from QUERYDIBSUPPORT */\n#define QDI_SETDIBITS                1\n#define QDI_GETDIBITS                2\n#define QDI_DIBTOSCREEN              4\n#define QDI_STRETCHDIB               8\n\n/* Spooler Error Codes */\n#define SP_NOTREPORTED               0x4000\n#define SP_ERROR                     (-1)\n#define SP_APPABORT                  (-2)\n#define SP_USERABORT                 (-3)\n#define SP_OUTOFDISK                 (-4)\n#define SP_OUTOFMEMORY               (-5)\n\n#define PR_JOBSTATUS                 0x0000\n\n/* Object Definitions for EnumObjects() */\n#define OBJ_PEN             1\n#define OBJ_BRUSH           2\n#define OBJ_DC              3\n#define OBJ_METADC          4\n#define OBJ_PAL             5\n#define OBJ_FONT            6\n#define OBJ_BITMAP          7\n#define OBJ_REGION          8\n#define OBJ_METAFILE        9\n#define OBJ_MEMDC           10\n#define OBJ_EXTPEN          11\n#define OBJ_ENHMETADC       12\n#define OBJ_ENHMETAFILE     13\n#define OBJ_COLORSPACE      14\n\n/* xform stuff */\n#define MWT_IDENTITY        1\n#define MWT_LEFTMULTIPLY    2\n#define MWT_RIGHTMULTIPLY   3\n\n#define MWT_MIN             MWT_IDENTITY\n#define MWT_MAX             MWT_RIGHTMULTIPLY\n\n#define _XFORM_\ntypedef struct  tagXFORM\n  {\n    FLOAT   eM11;\n    FLOAT   eM12;\n    FLOAT   eM21;\n    FLOAT   eM22;\n    FLOAT   eDx;\n    FLOAT   eDy;\n  } XFORM, *PXFORM, FAR *LPXFORM;\n\n/* Bitmap Header Definition */\ntypedef struct tagBITMAP\n  {\n    LONG        bmType;\n    LONG        bmWidth;\n    LONG        bmHeight;\n    LONG        bmWidthBytes;\n    WORD        bmPlanes;\n    WORD        bmBitsPixel;\n    LPVOID      bmBits;\n  } BITMAP, *PBITMAP, NEAR *NPBITMAP, FAR *LPBITMAP;\n\n#include <pshpack1.h>\ntypedef struct tagRGBTRIPLE {\n        BYTE    rgbtBlue;\n        BYTE    rgbtGreen;\n        BYTE    rgbtRed;\n} RGBTRIPLE;\n#include <poppack.h>\n\ntypedef struct tagRGBQUAD {\n        BYTE    rgbBlue;\n        BYTE    rgbGreen;\n        BYTE    rgbRed;\n        BYTE    rgbReserved;\n} RGBQUAD;\ntypedef RGBQUAD FAR* LPRGBQUAD;\n\n#if(WINVER >= 0x0400)\n\n/* Image Color Matching color definitions */\n\n#define CS_ENABLE                       0x00000001L\n#define CS_DISABLE                      0x00000002L\n#define CS_DELETE_TRANSFORM             0x00000003L\n\n/* Logcolorspace signature */\n\n#define LCS_SIGNATURE           'PSOC'\n\n/* Logcolorspace lcsType values */\n\n#define LCS_sRGB                'sRGB'\n#define LCS_WINDOWS_COLOR_SPACE 'Win '  // Windows default color space\n\ntypedef LONG   LCSCSTYPE;\n#define LCS_CALIBRATED_RGB              0x00000000L\n\ntypedef LONG    LCSGAMUTMATCH;\n#define LCS_GM_BUSINESS                 0x00000001L\n#define LCS_GM_GRAPHICS                 0x00000002L\n#define LCS_GM_IMAGES                   0x00000004L\n#define LCS_GM_ABS_COLORIMETRIC         0x00000008L\n\n/* ICM Defines for results from CheckColorInGamut() */\n#define CM_OUT_OF_GAMUT                 255\n#define CM_IN_GAMUT                     0\n\n/* UpdateICMRegKey Constants               */\n#define ICM_ADDPROFILE                  1\n#define ICM_DELETEPROFILE               2\n#define ICM_QUERYPROFILE                3\n#define ICM_SETDEFAULTPROFILE           4\n#define ICM_REGISTERICMATCHER           5\n#define ICM_UNREGISTERICMATCHER         6\n#define ICM_QUERYMATCH                  7\n\n/* Macros to retrieve CMYK values from a COLORREF */\n#define GetKValue(cmyk)      ((BYTE)(cmyk))\n#define GetYValue(cmyk)      ((BYTE)((cmyk)>> 8))\n#define GetMValue(cmyk)      ((BYTE)((cmyk)>>16))\n#define GetCValue(cmyk)      ((BYTE)((cmyk)>>24))\n\n#define CMYK(c,m,y,k)       ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24)))\n\ntypedef long            FXPT16DOT16, FAR *LPFXPT16DOT16;\ntypedef long            FXPT2DOT30, FAR *LPFXPT2DOT30;\n\n/* ICM Color Definitions */\n// The following two structures are used for defining RGB's in terms of CIEXYZ.\n\ntypedef struct tagCIEXYZ\n{\n        FXPT2DOT30 ciexyzX;\n        FXPT2DOT30 ciexyzY;\n        FXPT2DOT30 ciexyzZ;\n} CIEXYZ;\ntypedef CIEXYZ  FAR *LPCIEXYZ;\n\ntypedef struct tagICEXYZTRIPLE\n{\n        CIEXYZ  ciexyzRed;\n        CIEXYZ  ciexyzGreen;\n        CIEXYZ  ciexyzBlue;\n} CIEXYZTRIPLE;\ntypedef CIEXYZTRIPLE    FAR *LPCIEXYZTRIPLE;\n\n// The next structures the logical color space. Unlike pens and brushes,\n// but like palettes, there is only one way to create a LogColorSpace.\n// A pointer to it must be passed, its elements can't be pushed as\n// arguments.\n\ntypedef struct tagLOGCOLORSPACEA {\n    DWORD lcsSignature;\n    DWORD lcsVersion;\n    DWORD lcsSize;\n    LCSCSTYPE lcsCSType;\n    LCSGAMUTMATCH lcsIntent;\n    CIEXYZTRIPLE lcsEndpoints;\n    DWORD lcsGammaRed;\n    DWORD lcsGammaGreen;\n    DWORD lcsGammaBlue;\n    CHAR   lcsFilename[MAX_PATH];\n} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;\ntypedef struct tagLOGCOLORSPACEW {\n    DWORD lcsSignature;\n    DWORD lcsVersion;\n    DWORD lcsSize;\n    LCSCSTYPE lcsCSType;\n    LCSGAMUTMATCH lcsIntent;\n    CIEXYZTRIPLE lcsEndpoints;\n    DWORD lcsGammaRed;\n    DWORD lcsGammaGreen;\n    DWORD lcsGammaBlue;\n    WCHAR  lcsFilename[MAX_PATH];\n} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;\n#ifdef UNICODE\ntypedef LOGCOLORSPACEW LOGCOLORSPACE;\ntypedef LPLOGCOLORSPACEW LPLOGCOLORSPACE;\n#else\ntypedef LOGCOLORSPACEA LOGCOLORSPACE;\ntypedef LPLOGCOLORSPACEA LPLOGCOLORSPACE;\n#endif // UNICODE\n\n#endif /* WINVER >= 0x0400 */\n\n/* structures for defining DIBs */\ntypedef struct tagBITMAPCOREHEADER {\n        DWORD   bcSize;                 /* used to get to color table */\n        WORD    bcWidth;\n        WORD    bcHeight;\n        WORD    bcPlanes;\n        WORD    bcBitCount;\n} BITMAPCOREHEADER, FAR *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;\n\ntypedef struct tagBITMAPINFOHEADER{\n        DWORD      biSize;\n        LONG       biWidth;\n        LONG       biHeight;\n        WORD       biPlanes;\n        WORD       biBitCount;\n        DWORD      biCompression;\n        DWORD      biSizeImage;\n        LONG       biXPelsPerMeter;\n        LONG       biYPelsPerMeter;\n        DWORD      biClrUsed;\n        DWORD      biClrImportant;\n} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;\n\n#if(WINVER >= 0x0400)\ntypedef struct {\n        DWORD        bV4Size;\n        LONG         bV4Width;\n        LONG         bV4Height;\n        WORD         bV4Planes;\n        WORD         bV4BitCount;\n        DWORD        bV4V4Compression;\n        DWORD        bV4SizeImage;\n        LONG         bV4XPelsPerMeter;\n        LONG         bV4YPelsPerMeter;\n        DWORD        bV4ClrUsed;\n        DWORD        bV4ClrImportant;\n        DWORD        bV4RedMask;\n        DWORD        bV4GreenMask;\n        DWORD        bV4BlueMask;\n        DWORD        bV4AlphaMask;\n        DWORD        bV4CSType;\n        CIEXYZTRIPLE bV4Endpoints;\n        DWORD        bV4GammaRed;\n        DWORD        bV4GammaGreen;\n        DWORD        bV4GammaBlue;\n} BITMAPV4HEADER, FAR *LPBITMAPV4HEADER, *PBITMAPV4HEADER;\n#endif /* WINVER >= 0x0400 */\n\n#if (WINVER >= 0x0500)\ntypedef struct {\n        DWORD        bV5Size;\n        LONG         bV5Width;\n        LONG         bV5Height;\n        WORD         bV5Planes;\n        WORD         bV5BitCount;\n        DWORD        bV5Compression;\n        DWORD        bV5SizeImage;\n        LONG         bV5XPelsPerMeter;\n        LONG         bV5YPelsPerMeter;\n        DWORD        bV5ClrUsed;\n        DWORD        bV5ClrImportant;\n        DWORD        bV5RedMask;\n        DWORD        bV5GreenMask;\n        DWORD        bV5BlueMask;\n        DWORD        bV5AlphaMask;\n        DWORD        bV5CSType;\n        CIEXYZTRIPLE bV5Endpoints;\n        DWORD        bV5GammaRed;\n        DWORD        bV5GammaGreen;\n        DWORD        bV5GammaBlue;\n        DWORD        bV5Intent;\n        DWORD        bV5ProfileData;\n        DWORD        bV5ProfileSize;\n        DWORD        bV5Reserved;\n} BITMAPV5HEADER, FAR *LPBITMAPV5HEADER, *PBITMAPV5HEADER;\n\n// Values for bV5CSType\n#define PROFILE_LINKED          'LINK'\n#define PROFILE_EMBEDDED        'MBED'\n#endif\n\n/* constants for the biCompression field */\n#define BI_RGB        0L\n#define BI_RLE8       1L\n#define BI_RLE4       2L\n#define BI_BITFIELDS  3L\n#define BI_JPEG       4L\n#define BI_PNG        5L\n#if (_WIN32_WINNT >= 0x0400)\n#endif\n\ntypedef struct tagBITMAPINFO {\n    BITMAPINFOHEADER    bmiHeader;\n    RGBQUAD             bmiColors[1];\n} BITMAPINFO, FAR *LPBITMAPINFO, *PBITMAPINFO;\n\ntypedef struct tagBITMAPCOREINFO {\n    BITMAPCOREHEADER    bmciHeader;\n    RGBTRIPLE           bmciColors[1];\n} BITMAPCOREINFO, FAR *LPBITMAPCOREINFO, *PBITMAPCOREINFO;\n\n#include <pshpack2.h>\ntypedef struct tagBITMAPFILEHEADER {\n        WORD    bfType;\n        DWORD   bfSize;\n        WORD    bfReserved1;\n        WORD    bfReserved2;\n        DWORD   bfOffBits;\n} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;\n#include <poppack.h>\n\n#define MAKEPOINTS(l)       (*((POINTS FAR *)&(l)))\n\n#if(WINVER >= 0x0400)\n#ifndef NOFONTSIG\ntypedef struct tagFONTSIGNATURE\n{\n    DWORD fsUsb[4];\n    DWORD fsCsb[2];\n} FONTSIGNATURE, *PFONTSIGNATURE,FAR *LPFONTSIGNATURE;\n\ntypedef struct tagCHARSETINFO\n{\n    UINT ciCharset;\n    UINT ciACP;\n    FONTSIGNATURE fs;\n} CHARSETINFO, *PCHARSETINFO, NEAR *NPCHARSETINFO, FAR *LPCHARSETINFO;\n\n#define TCI_SRCCHARSET  1\n#define TCI_SRCCODEPAGE 2\n#define TCI_SRCFONTSIG  3\n#define TCI_SRCLOCALE   0x1000\n\ntypedef struct tagLOCALESIGNATURE\n{\n    DWORD lsUsb[4];\n    DWORD lsCsbDefault[2];\n    DWORD lsCsbSupported[2];\n} LOCALESIGNATURE, *PLOCALESIGNATURE,FAR *LPLOCALESIGNATURE;\n\n\n#endif\n#endif /* WINVER >= 0x0400 */\n\n#ifndef NOMETAFILE\n\n/* Clipboard Metafile Picture Structure */\ntypedef struct tagHANDLETABLE\n  {\n    HGDIOBJ     objectHandle[1];\n  } HANDLETABLE, *PHANDLETABLE, FAR *LPHANDLETABLE;\n\ntypedef struct tagMETARECORD\n  {\n    DWORD       rdSize;\n    WORD        rdFunction;\n    WORD        rdParm[1];\n  } METARECORD;\ntypedef struct tagMETARECORD UNALIGNED *PMETARECORD;\ntypedef struct tagMETARECORD UNALIGNED FAR *LPMETARECORD;\n\ntypedef struct tagMETAFILEPICT\n  {\n    LONG        mm;\n    LONG        xExt;\n    LONG        yExt;\n    HMETAFILE   hMF;\n  } METAFILEPICT, FAR *LPMETAFILEPICT;\n\n#include <pshpack2.h>\ntypedef struct tagMETAHEADER\n{\n    WORD        mtType;\n    WORD        mtHeaderSize;\n    WORD        mtVersion;\n    DWORD       mtSize;\n    WORD        mtNoObjects;\n    DWORD       mtMaxRecord;\n    WORD        mtNoParameters;\n} METAHEADER;\ntypedef struct tagMETAHEADER UNALIGNED *PMETAHEADER;\ntypedef struct tagMETAHEADER UNALIGNED FAR *LPMETAHEADER;\n\n#include <poppack.h>\n\n/* Enhanced Metafile structures */\ntypedef struct tagENHMETARECORD\n{\n    DWORD   iType;              // Record type EMR_XXX\n    DWORD   nSize;              // Record size in bytes\n    DWORD   dParm[1];           // Parameters\n} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;\n\ntypedef struct tagENHMETAHEADER\n{\n    DWORD   iType;              // Record type EMR_HEADER\n    DWORD   nSize;              // Record size in bytes.  This may be greater\n                                // than the sizeof(ENHMETAHEADER).\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    RECTL   rclFrame;           // Inclusive-inclusive Picture Frame of metafile in .01 mm units\n    DWORD   dSignature;         // Signature.  Must be ENHMETA_SIGNATURE.\n    DWORD   nVersion;           // Version number\n    DWORD   nBytes;             // Size of the metafile in bytes\n    DWORD   nRecords;           // Number of records in the metafile\n    WORD    nHandles;           // Number of handles in the handle table\n                                // Handle index zero is reserved.\n    WORD    sReserved;          // Reserved.  Must be zero.\n    DWORD   nDescription;       // Number of chars in the unicode description string\n                                // This is 0 if there is no description string\n    DWORD   offDescription;     // Offset to the metafile description record.\n                                // This is 0 if there is no description string\n    DWORD   nPalEntries;        // Number of entries in the metafile palette.\n    SIZEL   szlDevice;          // Size of the reference device in pels\n    SIZEL   szlMillimeters;     // Size of the reference device in millimeters\n#if(WINVER >= 0x0400)\n    DWORD   cbPixelFormat;      // Size of PIXELFORMATDESCRIPTOR information\n                                // This is 0 if no pixel format is set\n    DWORD   offPixelFormat;     // Offset to PIXELFORMATDESCRIPTOR\n                                // This is 0 if no pixel format is set\n    DWORD   bOpenGL;            // TRUE if OpenGL commands are present in\n                                // the metafile, otherwise FALSE\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0500)\n    SIZEL   szlMicrometers;     // Size of the reference device in micrometers\n#endif /* WINVER >= 0x0500 */\n\n} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;\n\n#endif /* NOMETAFILE */\n\n#ifndef NOTEXTMETRIC\n\n/* tmPitchAndFamily flags */\n#define TMPF_FIXED_PITCH    0x01\n#define TMPF_VECTOR             0x02\n#define TMPF_DEVICE             0x08\n#define TMPF_TRUETYPE       0x04\n\n//\n// BCHAR definition for APPs\n//\n#ifdef UNICODE\n    typedef WCHAR BCHAR;\n#else\n    typedef BYTE BCHAR;\n#endif\n\n#ifndef _TEXTMETRIC_DEFINED\n#define _TEXTMETRIC_DEFINED\ntypedef struct tagTEXTMETRICA\n{\n    LONG        tmHeight;\n    LONG        tmAscent;\n    LONG        tmDescent;\n    LONG        tmInternalLeading;\n    LONG        tmExternalLeading;\n    LONG        tmAveCharWidth;\n    LONG        tmMaxCharWidth;\n    LONG        tmWeight;\n    LONG        tmOverhang;\n    LONG        tmDigitizedAspectX;\n    LONG        tmDigitizedAspectY;\n    BYTE        tmFirstChar;\n    BYTE        tmLastChar;\n    BYTE        tmDefaultChar;\n    BYTE        tmBreakChar;\n    BYTE        tmItalic;\n    BYTE        tmUnderlined;\n    BYTE        tmStruckOut;\n    BYTE        tmPitchAndFamily;\n    BYTE        tmCharSet;\n} TEXTMETRICA, *PTEXTMETRICA, NEAR *NPTEXTMETRICA, FAR *LPTEXTMETRICA;\ntypedef struct tagTEXTMETRICW\n{\n    LONG        tmHeight;\n    LONG        tmAscent;\n    LONG        tmDescent;\n    LONG        tmInternalLeading;\n    LONG        tmExternalLeading;\n    LONG        tmAveCharWidth;\n    LONG        tmMaxCharWidth;\n    LONG        tmWeight;\n    LONG        tmOverhang;\n    LONG        tmDigitizedAspectX;\n    LONG        tmDigitizedAspectY;\n    WCHAR       tmFirstChar;\n    WCHAR       tmLastChar;\n    WCHAR       tmDefaultChar;\n    WCHAR       tmBreakChar;\n    BYTE        tmItalic;\n    BYTE        tmUnderlined;\n    BYTE        tmStruckOut;\n    BYTE        tmPitchAndFamily;\n    BYTE        tmCharSet;\n} TEXTMETRICW, *PTEXTMETRICW, NEAR *NPTEXTMETRICW, FAR *LPTEXTMETRICW;\n#ifdef UNICODE\ntypedef TEXTMETRICW TEXTMETRIC;\ntypedef PTEXTMETRICW PTEXTMETRIC;\ntypedef NPTEXTMETRICW NPTEXTMETRIC;\ntypedef LPTEXTMETRICW LPTEXTMETRIC;\n#else\ntypedef TEXTMETRICA TEXTMETRIC;\ntypedef PTEXTMETRICA PTEXTMETRIC;\ntypedef NPTEXTMETRICA NPTEXTMETRIC;\ntypedef LPTEXTMETRICA LPTEXTMETRIC;\n#endif // UNICODE\n#endif // !_TEXTMETRIC_DEFINED\n\n/* ntmFlags field flags */\n#define NTM_REGULAR     0x00000040L\n#define NTM_BOLD        0x00000020L\n#define NTM_ITALIC      0x00000001L\n\n/* new in NT 5.0 */\n\n#define NTM_NONNEGATIVE_AC  0x00010000\n#define NTM_PS_OPENTYPE     0x00020000\n#define NTM_TT_OPENTYPE     0x00040000\n#define NTM_MULTIPLEMASTER  0x00080000\n#define NTM_TYPE1           0x00100000\n#define NTM_DSIG            0x00200000\n\n#include <pshpack4.h>\ntypedef struct tagNEWTEXTMETRICA\n{\n    LONG        tmHeight;\n    LONG        tmAscent;\n    LONG        tmDescent;\n    LONG        tmInternalLeading;\n    LONG        tmExternalLeading;\n    LONG        tmAveCharWidth;\n    LONG        tmMaxCharWidth;\n    LONG        tmWeight;\n    LONG        tmOverhang;\n    LONG        tmDigitizedAspectX;\n    LONG        tmDigitizedAspectY;\n    BYTE        tmFirstChar;\n    BYTE        tmLastChar;\n    BYTE        tmDefaultChar;\n    BYTE        tmBreakChar;\n    BYTE        tmItalic;\n    BYTE        tmUnderlined;\n    BYTE        tmStruckOut;\n    BYTE        tmPitchAndFamily;\n    BYTE        tmCharSet;\n    DWORD   ntmFlags;\n    UINT    ntmSizeEM;\n    UINT    ntmCellHeight;\n    UINT    ntmAvgWidth;\n} NEWTEXTMETRICA, *PNEWTEXTMETRICA, NEAR *NPNEWTEXTMETRICA, FAR *LPNEWTEXTMETRICA;\ntypedef struct tagNEWTEXTMETRICW\n{\n    LONG        tmHeight;\n    LONG        tmAscent;\n    LONG        tmDescent;\n    LONG        tmInternalLeading;\n    LONG        tmExternalLeading;\n    LONG        tmAveCharWidth;\n    LONG        tmMaxCharWidth;\n    LONG        tmWeight;\n    LONG        tmOverhang;\n    LONG        tmDigitizedAspectX;\n    LONG        tmDigitizedAspectY;\n    WCHAR       tmFirstChar;\n    WCHAR       tmLastChar;\n    WCHAR       tmDefaultChar;\n    WCHAR       tmBreakChar;\n    BYTE        tmItalic;\n    BYTE        tmUnderlined;\n    BYTE        tmStruckOut;\n    BYTE        tmPitchAndFamily;\n    BYTE        tmCharSet;\n    DWORD   ntmFlags;\n    UINT    ntmSizeEM;\n    UINT    ntmCellHeight;\n    UINT    ntmAvgWidth;\n} NEWTEXTMETRICW, *PNEWTEXTMETRICW, NEAR *NPNEWTEXTMETRICW, FAR *LPNEWTEXTMETRICW;\n#ifdef UNICODE\ntypedef NEWTEXTMETRICW NEWTEXTMETRIC;\ntypedef PNEWTEXTMETRICW PNEWTEXTMETRIC;\ntypedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC;\ntypedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC;\n#else\ntypedef NEWTEXTMETRICA NEWTEXTMETRIC;\ntypedef PNEWTEXTMETRICA PNEWTEXTMETRIC;\ntypedef NPNEWTEXTMETRICA NPNEWTEXTMETRIC;\ntypedef LPNEWTEXTMETRICA LPNEWTEXTMETRIC;\n#endif // UNICODE\n#include <poppack.h>\n\n#if(WINVER >= 0x0400)\ntypedef struct tagNEWTEXTMETRICEXA\n{\n    NEWTEXTMETRICA  ntmTm;\n    FONTSIGNATURE   ntmFontSig;\n}NEWTEXTMETRICEXA;\ntypedef struct tagNEWTEXTMETRICEXW\n{\n    NEWTEXTMETRICW  ntmTm;\n    FONTSIGNATURE   ntmFontSig;\n}NEWTEXTMETRICEXW;\n#ifdef UNICODE\ntypedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;\n#else\ntypedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;\n#endif // UNICODE\n#endif /* WINVER >= 0x0400 */\n\n#endif /* NOTEXTMETRIC */\n/* GDI Logical Objects: */\n\n/* Pel Array */\ntypedef struct tagPELARRAY\n  {\n    LONG        paXCount;\n    LONG        paYCount;\n    LONG        paXExt;\n    LONG        paYExt;\n    BYTE        paRGBs;\n  } PELARRAY, *PPELARRAY, NEAR *NPPELARRAY, FAR *LPPELARRAY;\n\n/* Logical Brush (or Pattern) */\ntypedef struct tagLOGBRUSH\n  {\n    UINT        lbStyle;\n    COLORREF    lbColor;\n    ULONG_PTR    lbHatch;    // Sundown: lbHatch could hold a HANDLE\n  } LOGBRUSH, *PLOGBRUSH, NEAR *NPLOGBRUSH, FAR *LPLOGBRUSH;\n\ntypedef struct tagLOGBRUSH32\n  {\n    UINT        lbStyle;\n    COLORREF    lbColor;\n    ULONG       lbHatch;\n  } LOGBRUSH32, *PLOGBRUSH32, NEAR *NPLOGBRUSH32, FAR *LPLOGBRUSH32;\n\ntypedef LOGBRUSH            PATTERN;\ntypedef PATTERN             *PPATTERN;\ntypedef PATTERN NEAR        *NPPATTERN;\ntypedef PATTERN FAR         *LPPATTERN;\n\n/* Logical Pen */\ntypedef struct tagLOGPEN\n  {\n    UINT        lopnStyle;\n    POINT       lopnWidth;\n    COLORREF    lopnColor;\n  } LOGPEN, *PLOGPEN, NEAR *NPLOGPEN, FAR *LPLOGPEN;\n\ntypedef struct tagEXTLOGPEN {\n    DWORD       elpPenStyle;\n    DWORD       elpWidth;\n    UINT        elpBrushStyle;\n    COLORREF    elpColor;\n    ULONG_PTR    elpHatch;     //Sundown: elpHatch could take a HANDLE\n    DWORD       elpNumEntries;\n    DWORD       elpStyleEntry[1];\n} EXTLOGPEN, *PEXTLOGPEN, NEAR *NPEXTLOGPEN, FAR *LPEXTLOGPEN;\n\n#ifndef _PALETTEENTRY_DEFINED\n#define _PALETTEENTRY_DEFINED\ntypedef struct tagPALETTEENTRY {\n    BYTE        peRed;\n    BYTE        peGreen;\n    BYTE        peBlue;\n    BYTE        peFlags;\n} PALETTEENTRY, *PPALETTEENTRY, FAR *LPPALETTEENTRY;\n#endif // !_PALETTEENTRY_DEFINED\n\n#ifndef _LOGPALETTE_DEFINED\n#define _LOGPALETTE_DEFINED\n/* Logical Palette */\ntypedef struct tagLOGPALETTE {\n    WORD        palVersion;\n    WORD        palNumEntries;\n    PALETTEENTRY        palPalEntry[1];\n} LOGPALETTE, *PLOGPALETTE, NEAR *NPLOGPALETTE, FAR *LPLOGPALETTE;\n#endif // !_LOGPALETTE_DEFINED\n\n\n/* Logical Font */\n#define LF_FACESIZE         32\n\ntypedef struct tagLOGFONTA\n{\n    LONG      lfHeight;\n    LONG      lfWidth;\n    LONG      lfEscapement;\n    LONG      lfOrientation;\n    LONG      lfWeight;\n    BYTE      lfItalic;\n    BYTE      lfUnderline;\n    BYTE      lfStrikeOut;\n    BYTE      lfCharSet;\n    BYTE      lfOutPrecision;\n    BYTE      lfClipPrecision;\n    BYTE      lfQuality;\n    BYTE      lfPitchAndFamily;\n    CHAR      lfFaceName[LF_FACESIZE];\n} LOGFONTA, *PLOGFONTA, NEAR *NPLOGFONTA, FAR *LPLOGFONTA;\ntypedef struct tagLOGFONTW\n{\n    LONG      lfHeight;\n    LONG      lfWidth;\n    LONG      lfEscapement;\n    LONG      lfOrientation;\n    LONG      lfWeight;\n    BYTE      lfItalic;\n    BYTE      lfUnderline;\n    BYTE      lfStrikeOut;\n    BYTE      lfCharSet;\n    BYTE      lfOutPrecision;\n    BYTE      lfClipPrecision;\n    BYTE      lfQuality;\n    BYTE      lfPitchAndFamily;\n    WCHAR     lfFaceName[LF_FACESIZE];\n} LOGFONTW, *PLOGFONTW, NEAR *NPLOGFONTW, FAR *LPLOGFONTW;\n#ifdef UNICODE\ntypedef LOGFONTW LOGFONT;\ntypedef PLOGFONTW PLOGFONT;\ntypedef NPLOGFONTW NPLOGFONT;\ntypedef LPLOGFONTW LPLOGFONT;\n#else\ntypedef LOGFONTA LOGFONT;\ntypedef PLOGFONTA PLOGFONT;\ntypedef NPLOGFONTA NPLOGFONT;\ntypedef LPLOGFONTA LPLOGFONT;\n#endif // UNICODE\n\n#define LF_FULLFACESIZE     64\n\n/* Structure passed to FONTENUMPROC */\ntypedef struct tagENUMLOGFONTA\n{\n    LOGFONTA elfLogFont;\n    BYTE     elfFullName[LF_FULLFACESIZE];\n    BYTE     elfStyle[LF_FACESIZE];\n} ENUMLOGFONTA, FAR* LPENUMLOGFONTA;\n/* Structure passed to FONTENUMPROC */\ntypedef struct tagENUMLOGFONTW\n{\n    LOGFONTW elfLogFont;\n    WCHAR    elfFullName[LF_FULLFACESIZE];\n    WCHAR    elfStyle[LF_FACESIZE];\n} ENUMLOGFONTW, FAR* LPENUMLOGFONTW;\n#ifdef UNICODE\ntypedef ENUMLOGFONTW ENUMLOGFONT;\ntypedef LPENUMLOGFONTW LPENUMLOGFONT;\n#else\ntypedef ENUMLOGFONTA ENUMLOGFONT;\ntypedef LPENUMLOGFONTA LPENUMLOGFONT;\n#endif // UNICODE\n\n#if(WINVER >= 0x0400)\ntypedef struct tagENUMLOGFONTEXA\n{\n    LOGFONTA    elfLogFont;\n    BYTE        elfFullName[LF_FULLFACESIZE];\n    BYTE        elfStyle[LF_FACESIZE];\n    BYTE        elfScript[LF_FACESIZE];\n} ENUMLOGFONTEXA, FAR *LPENUMLOGFONTEXA;\ntypedef struct tagENUMLOGFONTEXW\n{\n    LOGFONTW    elfLogFont;\n    WCHAR       elfFullName[LF_FULLFACESIZE];\n    WCHAR       elfStyle[LF_FACESIZE];\n    WCHAR       elfScript[LF_FACESIZE];\n} ENUMLOGFONTEXW, FAR *LPENUMLOGFONTEXW;\n#ifdef UNICODE\ntypedef ENUMLOGFONTEXW ENUMLOGFONTEX;\ntypedef LPENUMLOGFONTEXW LPENUMLOGFONTEX;\n#else\ntypedef ENUMLOGFONTEXA ENUMLOGFONTEX;\ntypedef LPENUMLOGFONTEXA LPENUMLOGFONTEX;\n#endif // UNICODE\n#endif /* WINVER >= 0x0400 */\n\n#define OUT_DEFAULT_PRECIS          0\n#define OUT_STRING_PRECIS           1\n#define OUT_CHARACTER_PRECIS        2\n#define OUT_STROKE_PRECIS           3\n#define OUT_TT_PRECIS               4\n#define OUT_DEVICE_PRECIS           5\n#define OUT_RASTER_PRECIS           6\n#define OUT_TT_ONLY_PRECIS          7\n#define OUT_OUTLINE_PRECIS          8\n#define OUT_SCREEN_OUTLINE_PRECIS   9\n#define OUT_PS_ONLY_PRECIS          10\n\n#define CLIP_DEFAULT_PRECIS     0\n#define CLIP_CHARACTER_PRECIS   1\n#define CLIP_STROKE_PRECIS      2\n#define CLIP_MASK               0xf\n#define CLIP_LH_ANGLES          (1<<4)\n#define CLIP_TT_ALWAYS          (2<<4)\n#define CLIP_EMBEDDED           (8<<4)\n\n#define DEFAULT_QUALITY         0\n#define DRAFT_QUALITY           1\n#define PROOF_QUALITY           2\n#if(WINVER >= 0x0400)\n#define NONANTIALIASED_QUALITY  3\n#define ANTIALIASED_QUALITY     4\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n#define CLEARTYPE_QUALITY       5\n#endif\n\n#if (_WIN32_WINNT >= 0x0501)\n#define CLEARTYPE_NATURAL_QUALITY       6\n#endif\n\n#define DEFAULT_PITCH           0\n#define FIXED_PITCH             1\n#define VARIABLE_PITCH          2\n#if(WINVER >= 0x0400)\n#define MONO_FONT               8\n#endif /* WINVER >= 0x0400 */\n\n#define ANSI_CHARSET            0\n#define DEFAULT_CHARSET         1\n#define SYMBOL_CHARSET          2\n#define SHIFTJIS_CHARSET        128\n#define HANGEUL_CHARSET         129\n#define HANGUL_CHARSET          129\n#define GB2312_CHARSET          134\n#define CHINESEBIG5_CHARSET     136\n#define OEM_CHARSET             255\n#if(WINVER >= 0x0400)\n#define JOHAB_CHARSET           130\n#define HEBREW_CHARSET          177\n#define ARABIC_CHARSET          178\n#define GREEK_CHARSET           161\n#define TURKISH_CHARSET         162\n#define VIETNAMESE_CHARSET      163\n#define THAI_CHARSET            222\n#define EASTEUROPE_CHARSET      238\n#define RUSSIAN_CHARSET         204\n\n#define MAC_CHARSET             77\n#define BALTIC_CHARSET          186\n\n#define FS_LATIN1               0x00000001L\n#define FS_LATIN2               0x00000002L\n#define FS_CYRILLIC             0x00000004L\n#define FS_GREEK                0x00000008L\n#define FS_TURKISH              0x00000010L\n#define FS_HEBREW               0x00000020L\n#define FS_ARABIC               0x00000040L\n#define FS_BALTIC               0x00000080L\n#define FS_VIETNAMESE           0x00000100L\n#define FS_THAI                 0x00010000L\n#define FS_JISJAPAN             0x00020000L\n#define FS_CHINESESIMP          0x00040000L\n#define FS_WANSUNG              0x00080000L\n#define FS_CHINESETRAD          0x00100000L\n#define FS_JOHAB                0x00200000L\n#define FS_SYMBOL               0x80000000L\n#endif /* WINVER >= 0x0400 */\n\n/* Font Families */\n#define FF_DONTCARE         (0<<4)  /* Don't care or don't know. */\n#define FF_ROMAN            (1<<4)  /* Variable stroke width, serifed. */\n                                    /* Times Roman, Century Schoolbook, etc. */\n#define FF_SWISS            (2<<4)  /* Variable stroke width, sans-serifed. */\n                                    /* Helvetica, Swiss, etc. */\n#define FF_MODERN           (3<<4)  /* Constant stroke width, serifed or sans-serifed. */\n                                    /* Pica, Elite, Courier, etc. */\n#define FF_SCRIPT           (4<<4)  /* Cursive, etc. */\n#define FF_DECORATIVE       (5<<4)  /* Old English, etc. */\n\n/* Font Weights */\n#define FW_DONTCARE         0\n#define FW_THIN             100\n#define FW_EXTRALIGHT       200\n#define FW_LIGHT            300\n#define FW_NORMAL           400\n#define FW_MEDIUM           500\n#define FW_SEMIBOLD         600\n#define FW_BOLD             700\n#define FW_EXTRABOLD        800\n#define FW_HEAVY            900\n\n#define FW_ULTRALIGHT       FW_EXTRALIGHT\n#define FW_REGULAR          FW_NORMAL\n#define FW_DEMIBOLD         FW_SEMIBOLD\n#define FW_ULTRABOLD        FW_EXTRABOLD\n#define FW_BLACK            FW_HEAVY\n\n#define PANOSE_COUNT               10\n#define PAN_FAMILYTYPE_INDEX        0\n#define PAN_SERIFSTYLE_INDEX        1\n#define PAN_WEIGHT_INDEX            2\n#define PAN_PROPORTION_INDEX        3\n#define PAN_CONTRAST_INDEX          4\n#define PAN_STROKEVARIATION_INDEX   5\n#define PAN_ARMSTYLE_INDEX          6\n#define PAN_LETTERFORM_INDEX        7\n#define PAN_MIDLINE_INDEX           8\n#define PAN_XHEIGHT_INDEX           9\n\n#define PAN_CULTURE_LATIN           0\n\ntypedef struct tagPANOSE\n{\n    BYTE    bFamilyType;\n    BYTE    bSerifStyle;\n    BYTE    bWeight;\n    BYTE    bProportion;\n    BYTE    bContrast;\n    BYTE    bStrokeVariation;\n    BYTE    bArmStyle;\n    BYTE    bLetterform;\n    BYTE    bMidline;\n    BYTE    bXHeight;\n} PANOSE, * LPPANOSE;\n\n#define PAN_ANY                         0 /* Any                            */\n#define PAN_NO_FIT                      1 /* No Fit                         */\n\n#define PAN_FAMILY_TEXT_DISPLAY         2 /* Text and Display               */\n#define PAN_FAMILY_SCRIPT               3 /* Script                         */\n#define PAN_FAMILY_DECORATIVE           4 /* Decorative                     */\n#define PAN_FAMILY_PICTORIAL            5 /* Pictorial                      */\n\n#define PAN_SERIF_COVE                  2 /* Cove                           */\n#define PAN_SERIF_OBTUSE_COVE           3 /* Obtuse Cove                    */\n#define PAN_SERIF_SQUARE_COVE           4 /* Square Cove                    */\n#define PAN_SERIF_OBTUSE_SQUARE_COVE    5 /* Obtuse Square Cove             */\n#define PAN_SERIF_SQUARE                6 /* Square                         */\n#define PAN_SERIF_THIN                  7 /* Thin                           */\n#define PAN_SERIF_BONE                  8 /* Bone                           */\n#define PAN_SERIF_EXAGGERATED           9 /* Exaggerated                    */\n#define PAN_SERIF_TRIANGLE             10 /* Triangle                       */\n#define PAN_SERIF_NORMAL_SANS          11 /* Normal Sans                    */\n#define PAN_SERIF_OBTUSE_SANS          12 /* Obtuse Sans                    */\n#define PAN_SERIF_PERP_SANS            13 /* Prep Sans                      */\n#define PAN_SERIF_FLARED               14 /* Flared                         */\n#define PAN_SERIF_ROUNDED              15 /* Rounded                        */\n\n#define PAN_WEIGHT_VERY_LIGHT           2 /* Very Light                     */\n#define PAN_WEIGHT_LIGHT                3 /* Light                          */\n#define PAN_WEIGHT_THIN                 4 /* Thin                           */\n#define PAN_WEIGHT_BOOK                 5 /* Book                           */\n#define PAN_WEIGHT_MEDIUM               6 /* Medium                         */\n#define PAN_WEIGHT_DEMI                 7 /* Demi                           */\n#define PAN_WEIGHT_BOLD                 8 /* Bold                           */\n#define PAN_WEIGHT_HEAVY                9 /* Heavy                          */\n#define PAN_WEIGHT_BLACK               10 /* Black                          */\n#define PAN_WEIGHT_NORD                11 /* Nord                           */\n\n#define PAN_PROP_OLD_STYLE              2 /* Old Style                      */\n#define PAN_PROP_MODERN                 3 /* Modern                         */\n#define PAN_PROP_EVEN_WIDTH             4 /* Even Width                     */\n#define PAN_PROP_EXPANDED               5 /* Expanded                       */\n#define PAN_PROP_CONDENSED              6 /* Condensed                      */\n#define PAN_PROP_VERY_EXPANDED          7 /* Very Expanded                  */\n#define PAN_PROP_VERY_CONDENSED         8 /* Very Condensed                 */\n#define PAN_PROP_MONOSPACED             9 /* Monospaced                     */\n\n#define PAN_CONTRAST_NONE               2 /* None                           */\n#define PAN_CONTRAST_VERY_LOW           3 /* Very Low                       */\n#define PAN_CONTRAST_LOW                4 /* Low                            */\n#define PAN_CONTRAST_MEDIUM_LOW         5 /* Medium Low                     */\n#define PAN_CONTRAST_MEDIUM             6 /* Medium                         */\n#define PAN_CONTRAST_MEDIUM_HIGH        7 /* Mediim High                    */\n#define PAN_CONTRAST_HIGH               8 /* High                           */\n#define PAN_CONTRAST_VERY_HIGH          9 /* Very High                      */\n\n#define PAN_STROKE_GRADUAL_DIAG         2 /* Gradual/Diagonal               */\n#define PAN_STROKE_GRADUAL_TRAN         3 /* Gradual/Transitional           */\n#define PAN_STROKE_GRADUAL_VERT         4 /* Gradual/Vertical               */\n#define PAN_STROKE_GRADUAL_HORZ         5 /* Gradual/Horizontal             */\n#define PAN_STROKE_RAPID_VERT           6 /* Rapid/Vertical                 */\n#define PAN_STROKE_RAPID_HORZ           7 /* Rapid/Horizontal               */\n#define PAN_STROKE_INSTANT_VERT         8 /* Instant/Vertical               */\n\n#define PAN_STRAIGHT_ARMS_HORZ          2 /* Straight Arms/Horizontal       */\n#define PAN_STRAIGHT_ARMS_WEDGE         3 /* Straight Arms/Wedge            */\n#define PAN_STRAIGHT_ARMS_VERT          4 /* Straight Arms/Vertical         */\n#define PAN_STRAIGHT_ARMS_SINGLE_SERIF  5 /* Straight Arms/Single-Serif     */\n#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF  6 /* Straight Arms/Double-Serif     */\n#define PAN_BENT_ARMS_HORZ              7 /* Non-Straight Arms/Horizontal   */\n#define PAN_BENT_ARMS_WEDGE             8 /* Non-Straight Arms/Wedge        */\n#define PAN_BENT_ARMS_VERT              9 /* Non-Straight Arms/Vertical     */\n#define PAN_BENT_ARMS_SINGLE_SERIF     10 /* Non-Straight Arms/Single-Serif */\n#define PAN_BENT_ARMS_DOUBLE_SERIF     11 /* Non-Straight Arms/Double-Serif */\n\n#define PAN_LETT_NORMAL_CONTACT         2 /* Normal/Contact                 */\n#define PAN_LETT_NORMAL_WEIGHTED        3 /* Normal/Weighted                */\n#define PAN_LETT_NORMAL_BOXED           4 /* Normal/Boxed                   */\n#define PAN_LETT_NORMAL_FLATTENED       5 /* Normal/Flattened               */\n#define PAN_LETT_NORMAL_ROUNDED         6 /* Normal/Rounded                 */\n#define PAN_LETT_NORMAL_OFF_CENTER      7 /* Normal/Off Center              */\n#define PAN_LETT_NORMAL_SQUARE          8 /* Normal/Square                  */\n#define PAN_LETT_OBLIQUE_CONTACT        9 /* Oblique/Contact                */\n#define PAN_LETT_OBLIQUE_WEIGHTED      10 /* Oblique/Weighted               */\n#define PAN_LETT_OBLIQUE_BOXED         11 /* Oblique/Boxed                  */\n#define PAN_LETT_OBLIQUE_FLATTENED     12 /* Oblique/Flattened              */\n#define PAN_LETT_OBLIQUE_ROUNDED       13 /* Oblique/Rounded                */\n#define PAN_LETT_OBLIQUE_OFF_CENTER    14 /* Oblique/Off Center             */\n#define PAN_LETT_OBLIQUE_SQUARE        15 /* Oblique/Square                 */\n\n#define PAN_MIDLINE_STANDARD_TRIMMED    2 /* Standard/Trimmed               */\n#define PAN_MIDLINE_STANDARD_POINTED    3 /* Standard/Pointed               */\n#define PAN_MIDLINE_STANDARD_SERIFED    4 /* Standard/Serifed               */\n#define PAN_MIDLINE_HIGH_TRIMMED        5 /* High/Trimmed                   */\n#define PAN_MIDLINE_HIGH_POINTED        6 /* High/Pointed                   */\n#define PAN_MIDLINE_HIGH_SERIFED        7 /* High/Serifed                   */\n#define PAN_MIDLINE_CONSTANT_TRIMMED    8 /* Constant/Trimmed               */\n#define PAN_MIDLINE_CONSTANT_POINTED    9 /* Constant/Pointed               */\n#define PAN_MIDLINE_CONSTANT_SERIFED   10 /* Constant/Serifed               */\n#define PAN_MIDLINE_LOW_TRIMMED        11 /* Low/Trimmed                    */\n#define PAN_MIDLINE_LOW_POINTED        12 /* Low/Pointed                    */\n#define PAN_MIDLINE_LOW_SERIFED        13 /* Low/Serifed                    */\n\n#define PAN_XHEIGHT_CONSTANT_SMALL      2 /* Constant/Small                 */\n#define PAN_XHEIGHT_CONSTANT_STD        3 /* Constant/Standard              */\n#define PAN_XHEIGHT_CONSTANT_LARGE      4 /* Constant/Large                 */\n#define PAN_XHEIGHT_DUCKING_SMALL       5 /* Ducking/Small                  */\n#define PAN_XHEIGHT_DUCKING_STD         6 /* Ducking/Standard               */\n#define PAN_XHEIGHT_DUCKING_LARGE       7 /* Ducking/Large                  */\n\n\n#define ELF_VENDOR_SIZE     4\n\n/* The extended logical font       */\n/* An extension of the ENUMLOGFONT */\n\ntypedef struct tagEXTLOGFONTA {\n    LOGFONTA    elfLogFont;\n    BYTE        elfFullName[LF_FULLFACESIZE];\n    BYTE        elfStyle[LF_FACESIZE];\n    DWORD       elfVersion;     /* 0 for the first release of NT */\n    DWORD       elfStyleSize;\n    DWORD       elfMatch;\n    DWORD       elfReserved;\n    BYTE        elfVendorId[ELF_VENDOR_SIZE];\n    DWORD       elfCulture;     /* 0 for Latin                   */\n    PANOSE      elfPanose;\n} EXTLOGFONTA, *PEXTLOGFONTA, NEAR *NPEXTLOGFONTA, FAR *LPEXTLOGFONTA;\ntypedef struct tagEXTLOGFONTW {\n    LOGFONTW    elfLogFont;\n    WCHAR       elfFullName[LF_FULLFACESIZE];\n    WCHAR       elfStyle[LF_FACESIZE];\n    DWORD       elfVersion;     /* 0 for the first release of NT */\n    DWORD       elfStyleSize;\n    DWORD       elfMatch;\n    DWORD       elfReserved;\n    BYTE        elfVendorId[ELF_VENDOR_SIZE];\n    DWORD       elfCulture;     /* 0 for Latin                   */\n    PANOSE      elfPanose;\n} EXTLOGFONTW, *PEXTLOGFONTW, NEAR *NPEXTLOGFONTW, FAR *LPEXTLOGFONTW;\n#ifdef UNICODE\ntypedef EXTLOGFONTW EXTLOGFONT;\ntypedef PEXTLOGFONTW PEXTLOGFONT;\ntypedef NPEXTLOGFONTW NPEXTLOGFONT;\ntypedef LPEXTLOGFONTW LPEXTLOGFONT;\n#else\ntypedef EXTLOGFONTA EXTLOGFONT;\ntypedef PEXTLOGFONTA PEXTLOGFONT;\ntypedef NPEXTLOGFONTA NPEXTLOGFONT;\ntypedef LPEXTLOGFONTA LPEXTLOGFONT;\n#endif // UNICODE\n\n#define ELF_VERSION         0\n#define ELF_CULTURE_LATIN   0\n\n/* EnumFonts Masks */\n#define RASTER_FONTTYPE     0x0001\n#define DEVICE_FONTTYPE     0x002\n#define TRUETYPE_FONTTYPE   0x004\n\n#define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))\n#define PALETTERGB(r,g,b)   (0x02000000 | RGB(r,g,b))\n#define PALETTEINDEX(i)     ((COLORREF)(0x01000000 | (DWORD)(WORD)(i)))\n\n/* palette entry flags */\n\n#define PC_RESERVED     0x01    /* palette index used for animation */\n#define PC_EXPLICIT     0x02    /* palette index is explicit to device */\n#define PC_NOCOLLAPSE   0x04    /* do not match color to system palette */\n\n#define GetRValue(rgb)      ((BYTE)(rgb))\n#define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))\n#define GetBValue(rgb)      ((BYTE)((rgb)>>16))\n\n/* Background Modes */\n#define TRANSPARENT         1\n#define OPAQUE              2\n#define BKMODE_LAST         2\n\n/* Graphics Modes */\n\n#define GM_COMPATIBLE       1\n#define GM_ADVANCED         2\n#define GM_LAST             2\n\n/* PolyDraw and GetPath point types */\n#define PT_CLOSEFIGURE      0x01\n#define PT_LINETO           0x02\n#define PT_BEZIERTO         0x04\n#define PT_MOVETO           0x06\n\n/* Mapping Modes */\n#define MM_TEXT             1\n#define MM_LOMETRIC         2\n#define MM_HIMETRIC         3\n#define MM_LOENGLISH        4\n#define MM_HIENGLISH        5\n#define MM_TWIPS            6\n#define MM_ISOTROPIC        7\n#define MM_ANISOTROPIC      8\n\n/* Min and Max Mapping Mode values */\n#define MM_MIN              MM_TEXT\n#define MM_MAX              MM_ANISOTROPIC\n#define MM_MAX_FIXEDSCALE   MM_TWIPS\n\n/* Coordinate Modes */\n#define ABSOLUTE            1\n#define RELATIVE            2\n\n/* Stock Logical Objects */\n#define WHITE_BRUSH         0\n#define LTGRAY_BRUSH        1\n#define GRAY_BRUSH          2\n#define DKGRAY_BRUSH        3\n#define BLACK_BRUSH         4\n#define NULL_BRUSH          5\n#define HOLLOW_BRUSH        NULL_BRUSH\n#define WHITE_PEN           6\n#define BLACK_PEN           7\n#define NULL_PEN            8\n#define OEM_FIXED_FONT      10\n#define ANSI_FIXED_FONT     11\n#define ANSI_VAR_FONT       12\n#define SYSTEM_FONT         13\n#define DEVICE_DEFAULT_FONT 14\n#define DEFAULT_PALETTE     15\n#define SYSTEM_FIXED_FONT   16\n\n#if(WINVER >= 0x0400)\n#define DEFAULT_GUI_FONT    17\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n#define DC_BRUSH            18\n#define DC_PEN              19\n#endif\n\n#if (_WIN32_WINNT >= 0x0500)\n#define STOCK_LAST          19\n#elif (WINVER >= 0x0400)\n#define STOCK_LAST          17\n#else\n#define STOCK_LAST          16\n#endif\n\n#define CLR_INVALID     0xFFFFFFFF\n\n/* Brush Styles */\n#define BS_SOLID            0\n#define BS_NULL             1\n#define BS_HOLLOW           BS_NULL\n#define BS_HATCHED          2\n#define BS_PATTERN          3\n#define BS_INDEXED          4\n#define BS_DIBPATTERN       5\n#define BS_DIBPATTERNPT     6\n#define BS_PATTERN8X8       7\n#define BS_DIBPATTERN8X8    8\n#define BS_MONOPATTERN      9\n\n/* Hatch Styles */\n#define HS_HORIZONTAL       0       /* ----- */\n#define HS_VERTICAL         1       /* ||||| */\n#define HS_FDIAGONAL        2       /* \\\\\\\\\\ */\n#define HS_BDIAGONAL        3       /* ///// */\n#define HS_CROSS            4       /* +++++ */\n#define HS_DIAGCROSS        5       /* xxxxx */\n\n/* Pen Styles */\n#define PS_SOLID            0\n#define PS_DASH             1       /* -------  */\n#define PS_DOT              2       /* .......  */\n#define PS_DASHDOT          3       /* _._._._  */\n#define PS_DASHDOTDOT       4       /* _.._.._  */\n#define PS_NULL             5\n#define PS_INSIDEFRAME      6\n#define PS_USERSTYLE        7\n#define PS_ALTERNATE        8\n#define PS_STYLE_MASK       0x0000000F\n\n#define PS_ENDCAP_ROUND     0x00000000\n#define PS_ENDCAP_SQUARE    0x00000100\n#define PS_ENDCAP_FLAT      0x00000200\n#define PS_ENDCAP_MASK      0x00000F00\n\n#define PS_JOIN_ROUND       0x00000000\n#define PS_JOIN_BEVEL       0x00001000\n#define PS_JOIN_MITER       0x00002000\n#define PS_JOIN_MASK        0x0000F000\n\n#define PS_COSMETIC         0x00000000\n#define PS_GEOMETRIC        0x00010000\n#define PS_TYPE_MASK        0x000F0000\n\n#define AD_COUNTERCLOCKWISE 1\n#define AD_CLOCKWISE        2\n\n/* Device Parameters for GetDeviceCaps() */\n#define DRIVERVERSION 0     /* Device driver version                    */\n#define TECHNOLOGY    2     /* Device classification                    */\n#define HORZSIZE      4     /* Horizontal size in millimeters           */\n#define VERTSIZE      6     /* Vertical size in millimeters             */\n#define HORZRES       8     /* Horizontal width in pixels               */\n#define VERTRES       10    /* Vertical height in pixels                */\n#define BITSPIXEL     12    /* Number of bits per pixel                 */\n#define PLANES        14    /* Number of planes                         */\n#define NUMBRUSHES    16    /* Number of brushes the device has         */\n#define NUMPENS       18    /* Number of pens the device has            */\n#define NUMMARKERS    20    /* Number of markers the device has         */\n#define NUMFONTS      22    /* Number of fonts the device has           */\n#define NUMCOLORS     24    /* Number of colors the device supports     */\n#define PDEVICESIZE   26    /* Size required for device descriptor      */\n#define CURVECAPS     28    /* Curve capabilities                       */\n#define LINECAPS      30    /* Line capabilities                        */\n#define POLYGONALCAPS 32    /* Polygonal capabilities                   */\n#define TEXTCAPS      34    /* Text capabilities                        */\n#define CLIPCAPS      36    /* Clipping capabilities                    */\n#define RASTERCAPS    38    /* Bitblt capabilities                      */\n#define ASPECTX       40    /* Length of the X leg                      */\n#define ASPECTY       42    /* Length of the Y leg                      */\n#define ASPECTXY      44    /* Length of the hypotenuse                 */\n\n#define LOGPIXELSX    88    /* Logical pixels/inch in X                 */\n#define LOGPIXELSY    90    /* Logical pixels/inch in Y                 */\n\n#define SIZEPALETTE  104    /* Number of entries in physical palette    */\n#define NUMRESERVED  106    /* Number of reserved entries in palette    */\n#define COLORRES     108    /* Actual color resolution                  */\n\n// Printing related DeviceCaps. These replace the appropriate Escapes\n\n#define PHYSICALWIDTH   110 /* Physical Width in device units           */\n#define PHYSICALHEIGHT  111 /* Physical Height in device units          */\n#define PHYSICALOFFSETX 112 /* Physical Printable Area x margin         */\n#define PHYSICALOFFSETY 113 /* Physical Printable Area y margin         */\n#define SCALINGFACTORX  114 /* Scaling factor x                         */\n#define SCALINGFACTORY  115 /* Scaling factor y                         */\n\n// Display driver specific\n\n#define VREFRESH        116  /* Current vertical refresh rate of the    */\n                             /* display device (for displays only) in Hz*/\n#define DESKTOPVERTRES  117  /* Horizontal width of entire desktop in   */\n                             /* pixels                                  */\n#define DESKTOPHORZRES  118  /* Vertical height of entire desktop in    */\n                             /* pixels                                  */\n#define BLTALIGNMENT    119  /* Preferred blt alignment                 */\n\n#if(WINVER >= 0x0500)\n#define SHADEBLENDCAPS  120  /* Shading and blending caps               */\n#define COLORMGMTCAPS   121  /* Color Management caps                   */\n#endif /* WINVER >= 0x0500 */\n\n#ifndef NOGDICAPMASKS\n\n/* Device Capability Masks: */\n\n/* Device Technologies */\n#define DT_PLOTTER          0   /* Vector plotter                   */\n#define DT_RASDISPLAY       1   /* Raster display                   */\n#define DT_RASPRINTER       2   /* Raster printer                   */\n#define DT_RASCAMERA        3   /* Raster camera                    */\n#define DT_CHARSTREAM       4   /* Character-stream, PLP            */\n#define DT_METAFILE         5   /* Metafile, VDM                    */\n#define DT_DISPFILE         6   /* Display-file                     */\n\n/* Curve Capabilities */\n#define CC_NONE             0   /* Curves not supported             */\n#define CC_CIRCLES          1   /* Can do circles                   */\n#define CC_PIE              2   /* Can do pie wedges                */\n#define CC_CHORD            4   /* Can do chord arcs                */\n#define CC_ELLIPSES         8   /* Can do ellipese                  */\n#define CC_WIDE             16  /* Can do wide lines                */\n#define CC_STYLED           32  /* Can do styled lines              */\n#define CC_WIDESTYLED       64  /* Can do wide styled lines         */\n#define CC_INTERIORS        128 /* Can do interiors                 */\n#define CC_ROUNDRECT        256 /*                                  */\n\n/* Line Capabilities */\n#define LC_NONE             0   /* Lines not supported              */\n#define LC_POLYLINE         2   /* Can do polylines                 */\n#define LC_MARKER           4   /* Can do markers                   */\n#define LC_POLYMARKER       8   /* Can do polymarkers               */\n#define LC_WIDE             16  /* Can do wide lines                */\n#define LC_STYLED           32  /* Can do styled lines              */\n#define LC_WIDESTYLED       64  /* Can do wide styled lines         */\n#define LC_INTERIORS        128 /* Can do interiors                 */\n\n/* Polygonal Capabilities */\n#define PC_NONE             0   /* Polygonals not supported         */\n#define PC_POLYGON          1   /* Can do polygons                  */\n#define PC_RECTANGLE        2   /* Can do rectangles                */\n#define PC_WINDPOLYGON      4   /* Can do winding polygons          */\n#define PC_TRAPEZOID        4   /* Can do trapezoids                */\n#define PC_SCANLINE         8   /* Can do scanlines                 */\n#define PC_WIDE             16  /* Can do wide borders              */\n#define PC_STYLED           32  /* Can do styled borders            */\n#define PC_WIDESTYLED       64  /* Can do wide styled borders       */\n#define PC_INTERIORS        128 /* Can do interiors                 */\n#define PC_POLYPOLYGON      256 /* Can do polypolygons              */\n#define PC_PATHS            512 /* Can do paths                     */\n\n/* Clipping Capabilities */\n#define CP_NONE             0   /* No clipping of output            */\n#define CP_RECTANGLE        1   /* Output clipped to rects          */\n#define CP_REGION           2   /* obsolete                         */\n\n/* Text Capabilities */\n#define TC_OP_CHARACTER     0x00000001  /* Can do OutputPrecision   CHARACTER      */\n#define TC_OP_STROKE        0x00000002  /* Can do OutputPrecision   STROKE         */\n#define TC_CP_STROKE        0x00000004  /* Can do ClipPrecision     STROKE         */\n#define TC_CR_90            0x00000008  /* Can do CharRotAbility    90             */\n#define TC_CR_ANY           0x00000010  /* Can do CharRotAbility    ANY            */\n#define TC_SF_X_YINDEP      0x00000020  /* Can do ScaleFreedom      X_YINDEPENDENT */\n#define TC_SA_DOUBLE        0x00000040  /* Can do ScaleAbility      DOUBLE         */\n#define TC_SA_INTEGER       0x00000080  /* Can do ScaleAbility      INTEGER        */\n#define TC_SA_CONTIN        0x00000100  /* Can do ScaleAbility      CONTINUOUS     */\n#define TC_EA_DOUBLE        0x00000200  /* Can do EmboldenAbility   DOUBLE         */\n#define TC_IA_ABLE          0x00000400  /* Can do ItalisizeAbility  ABLE           */\n#define TC_UA_ABLE          0x00000800  /* Can do UnderlineAbility  ABLE           */\n#define TC_SO_ABLE          0x00001000  /* Can do StrikeOutAbility  ABLE           */\n#define TC_RA_ABLE          0x00002000  /* Can do RasterFontAble    ABLE           */\n#define TC_VA_ABLE          0x00004000  /* Can do VectorFontAble    ABLE           */\n#define TC_RESERVED         0x00008000\n#define TC_SCROLLBLT        0x00010000  /* Don't do text scroll with blt           */\n\n#endif /* NOGDICAPMASKS */\n\n/* Raster Capabilities */\n#define RC_NONE\n#define RC_BITBLT           1       /* Can do standard BLT.             */\n#define RC_BANDING          2       /* Device requires banding support  */\n#define RC_SCALING          4       /* Device requires scaling support  */\n#define RC_BITMAP64         8       /* Device can support >64K bitmap   */\n#define RC_GDI20_OUTPUT     0x0010      /* has 2.0 output calls         */\n#define RC_GDI20_STATE      0x0020\n#define RC_SAVEBITMAP       0x0040\n#define RC_DI_BITMAP        0x0080      /* supports DIB to memory       */\n#define RC_PALETTE          0x0100      /* supports a palette           */\n#define RC_DIBTODEV         0x0200      /* supports DIBitsToDevice      */\n#define RC_BIGFONT          0x0400      /* supports >64K fonts          */\n#define RC_STRETCHBLT       0x0800      /* supports StretchBlt          */\n#define RC_FLOODFILL        0x1000      /* supports FloodFill           */\n#define RC_STRETCHDIB       0x2000      /* supports StretchDIBits       */\n#define RC_OP_DX_OUTPUT     0x4000\n#define RC_DEVBITS          0x8000\n\n#if(WINVER >= 0x0500)\n\n/* Shading and blending caps */\n#define SB_NONE             0x00000000\n#define SB_CONST_ALPHA      0x00000001\n#define SB_PIXEL_ALPHA      0x00000002\n#define SB_PREMULT_ALPHA    0x00000004\n\n#define SB_GRAD_RECT        0x00000010\n#define SB_GRAD_TRI         0x00000020\n\n/* Color Management caps */\n#define CM_NONE             0x00000000\n#define CM_DEVICE_ICM       0x00000001\n#define CM_GAMMA_RAMP       0x00000002\n#define CM_CMYK_COLOR       0x00000004\n\n#endif /* WINVER >= 0x0500 */\n\n\n/* DIB color table identifiers */\n\n#define DIB_RGB_COLORS      0 /* color table in RGBs */\n#define DIB_PAL_COLORS      1 /* color table in palette indices */\n\n/* constants for Get/SetSystemPaletteUse() */\n\n#define SYSPAL_ERROR    0\n#define SYSPAL_STATIC   1\n#define SYSPAL_NOSTATIC 2\n#define SYSPAL_NOSTATIC256 3\n\n/* constants for CreateDIBitmap */\n#define CBM_INIT        0x04L   /* initialize bitmap */\n\n/* ExtFloodFill style flags */\n#define  FLOODFILLBORDER   0\n#define  FLOODFILLSURFACE  1\n\n/* size of a device name string */\n#define CCHDEVICENAME 32\n\n/* size of a form name string */\n#define CCHFORMNAME 32\n\ntypedef struct _devicemodeA {\n    BYTE   dmDeviceName[CCHDEVICENAME];\n    WORD dmSpecVersion;\n    WORD dmDriverVersion;\n    WORD dmSize;\n    WORD dmDriverExtra;\n    DWORD dmFields;\n    union {\n      /* printer only fields */\n      struct {\n        short dmOrientation;\n        short dmPaperSize;\n        short dmPaperLength;\n        short dmPaperWidth;\n        short dmScale;\n        short dmCopies;\n        short dmDefaultSource;\n        short dmPrintQuality;\n      };\n      /* display only fields */\n      struct {\n        POINTL dmPosition;\n        DWORD  dmDisplayOrientation;\n        DWORD  dmDisplayFixedOutput; \n      };\n    };\n    short dmColor;\n    short dmDuplex;\n    short dmYResolution;\n    short dmTTOption;\n    short dmCollate;\n    BYTE   dmFormName[CCHFORMNAME];\n    WORD   dmLogPixels;\n    DWORD  dmBitsPerPel;\n    DWORD  dmPelsWidth;\n    DWORD  dmPelsHeight;\n    union {\n        DWORD  dmDisplayFlags;\n        DWORD  dmNup;\n    };\n    DWORD  dmDisplayFrequency;\n#if(WINVER >= 0x0400)\n    DWORD  dmICMMethod;\n    DWORD  dmICMIntent;\n    DWORD  dmMediaType;\n    DWORD  dmDitherType;\n    DWORD  dmReserved1;\n    DWORD  dmReserved2;\n#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)\n    DWORD  dmPanningWidth;\n    DWORD  dmPanningHeight;\n#endif\n#endif /* WINVER >= 0x0400 */\n} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA;\ntypedef struct _devicemodeW {\n    WCHAR  dmDeviceName[CCHDEVICENAME];\n    WORD dmSpecVersion;\n    WORD dmDriverVersion;\n    WORD dmSize;\n    WORD dmDriverExtra;\n    DWORD dmFields;\n    union {\n      /* printer only fields */\n      struct {\n        short dmOrientation;\n        short dmPaperSize;\n        short dmPaperLength;\n        short dmPaperWidth;\n        short dmScale;\n        short dmCopies;\n        short dmDefaultSource;\n        short dmPrintQuality;\n      };\n      /* display only fields */\n      struct {\n        POINTL dmPosition;\n        DWORD  dmDisplayOrientation;\n        DWORD  dmDisplayFixedOutput; \n      };\n    };\n    short dmColor;\n    short dmDuplex;\n    short dmYResolution;\n    short dmTTOption;\n    short dmCollate;\n    WCHAR  dmFormName[CCHFORMNAME];\n    WORD   dmLogPixels;\n    DWORD  dmBitsPerPel;\n    DWORD  dmPelsWidth;\n    DWORD  dmPelsHeight;\n    union {\n        DWORD  dmDisplayFlags;\n        DWORD  dmNup;\n    };\n    DWORD  dmDisplayFrequency;\n#if(WINVER >= 0x0400)\n    DWORD  dmICMMethod;\n    DWORD  dmICMIntent;\n    DWORD  dmMediaType;\n    DWORD  dmDitherType;\n    DWORD  dmReserved1;\n    DWORD  dmReserved2;\n#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)\n    DWORD  dmPanningWidth;\n    DWORD  dmPanningHeight;\n#endif\n#endif /* WINVER >= 0x0400 */\n} DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW;\n#ifdef UNICODE\ntypedef DEVMODEW DEVMODE;\ntypedef PDEVMODEW PDEVMODE;\ntypedef NPDEVMODEW NPDEVMODE;\ntypedef LPDEVMODEW LPDEVMODE;\n#else\ntypedef DEVMODEA DEVMODE;\ntypedef PDEVMODEA PDEVMODE;\ntypedef NPDEVMODEA NPDEVMODE;\ntypedef LPDEVMODEA LPDEVMODE;\n#endif // UNICODE\n\n/* current version of specification */\n#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)\n#define DM_SPECVERSION 0x0401\n#elif (WINVER >= 0x0400)\n#define DM_SPECVERSION 0x0400\n#else\n#define DM_SPECVERSION 0x0320\n#endif /* WINVER */\n\n/* field selection bits */\n#define DM_ORIENTATION          0x00000001L\n#define DM_PAPERSIZE            0x00000002L\n#define DM_PAPERLENGTH          0x00000004L\n#define DM_PAPERWIDTH           0x00000008L\n#define DM_SCALE                0x00000010L\n#if(WINVER >= 0x0500)\n#define DM_POSITION             0x00000020L\n#define DM_NUP                  0x00000040L\n#endif /* WINVER >= 0x0500 */\n#if(WINVER >= 0x0501)\n#define DM_DISPLAYORIENTATION   0x00000080L\n#endif /* WINVER >= 0x0501 */\n#define DM_COPIES               0x00000100L\n#define DM_DEFAULTSOURCE        0x00000200L\n#define DM_PRINTQUALITY         0x00000400L\n#define DM_COLOR                0x00000800L\n#define DM_DUPLEX               0x00001000L\n#define DM_YRESOLUTION          0x00002000L\n#define DM_TTOPTION             0x00004000L\n#define DM_COLLATE              0x00008000L\n#define DM_FORMNAME             0x00010000L\n#define DM_LOGPIXELS            0x00020000L\n#define DM_BITSPERPEL           0x00040000L\n#define DM_PELSWIDTH            0x00080000L\n#define DM_PELSHEIGHT           0x00100000L\n#define DM_DISPLAYFLAGS         0x00200000L\n#define DM_DISPLAYFREQUENCY     0x00400000L\n#if(WINVER >= 0x0400)\n#define DM_ICMMETHOD            0x00800000L\n#define DM_ICMINTENT            0x01000000L\n#define DM_MEDIATYPE            0x02000000L\n#define DM_DITHERTYPE           0x04000000L\n#define DM_PANNINGWIDTH         0x08000000L\n#define DM_PANNINGHEIGHT        0x10000000L\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0501)\n#define DM_DISPLAYFIXEDOUTPUT   0x20000000L\n#endif /* WINVER >= 0x0501 */\n\n/* orientation selections */\n#define DMORIENT_PORTRAIT   1\n#define DMORIENT_LANDSCAPE  2\n\n/* paper selections */\n#define DMPAPER_FIRST                DMPAPER_LETTER\n#define DMPAPER_LETTER               1  /* Letter 8 1/2 x 11 in               */\n#define DMPAPER_LETTERSMALL          2  /* Letter Small 8 1/2 x 11 in         */\n#define DMPAPER_TABLOID              3  /* Tabloid 11 x 17 in                 */\n#define DMPAPER_LEDGER               4  /* Ledger 17 x 11 in                  */\n#define DMPAPER_LEGAL                5  /* Legal 8 1/2 x 14 in                */\n#define DMPAPER_STATEMENT            6  /* Statement 5 1/2 x 8 1/2 in         */\n#define DMPAPER_EXECUTIVE            7  /* Executive 7 1/4 x 10 1/2 in        */\n#define DMPAPER_A3                   8  /* A3 297 x 420 mm                    */\n#define DMPAPER_A4                   9  /* A4 210 x 297 mm                    */\n#define DMPAPER_A4SMALL             10  /* A4 Small 210 x 297 mm              */\n#define DMPAPER_A5                  11  /* A5 148 x 210 mm                    */\n#define DMPAPER_B4                  12  /* B4 (JIS) 250 x 354                 */\n#define DMPAPER_B5                  13  /* B5 (JIS) 182 x 257 mm              */\n#define DMPAPER_FOLIO               14  /* Folio 8 1/2 x 13 in                */\n#define DMPAPER_QUARTO              15  /* Quarto 215 x 275 mm                */\n#define DMPAPER_10X14               16  /* 10x14 in                           */\n#define DMPAPER_11X17               17  /* 11x17 in                           */\n#define DMPAPER_NOTE                18  /* Note 8 1/2 x 11 in                 */\n#define DMPAPER_ENV_9               19  /* Envelope #9 3 7/8 x 8 7/8          */\n#define DMPAPER_ENV_10              20  /* Envelope #10 4 1/8 x 9 1/2         */\n#define DMPAPER_ENV_11              21  /* Envelope #11 4 1/2 x 10 3/8        */\n#define DMPAPER_ENV_12              22  /* Envelope #12 4 \\276 x 11           */\n#define DMPAPER_ENV_14              23  /* Envelope #14 5 x 11 1/2            */\n#define DMPAPER_CSHEET              24  /* C size sheet                       */\n#define DMPAPER_DSHEET              25  /* D size sheet                       */\n#define DMPAPER_ESHEET              26  /* E size sheet                       */\n#define DMPAPER_ENV_DL              27  /* Envelope DL 110 x 220mm            */\n#define DMPAPER_ENV_C5              28  /* Envelope C5 162 x 229 mm           */\n#define DMPAPER_ENV_C3              29  /* Envelope C3  324 x 458 mm          */\n#define DMPAPER_ENV_C4              30  /* Envelope C4  229 x 324 mm          */\n#define DMPAPER_ENV_C6              31  /* Envelope C6  114 x 162 mm          */\n#define DMPAPER_ENV_C65             32  /* Envelope C65 114 x 229 mm          */\n#define DMPAPER_ENV_B4              33  /* Envelope B4  250 x 353 mm          */\n#define DMPAPER_ENV_B5              34  /* Envelope B5  176 x 250 mm          */\n#define DMPAPER_ENV_B6              35  /* Envelope B6  176 x 125 mm          */\n#define DMPAPER_ENV_ITALY           36  /* Envelope 110 x 230 mm              */\n#define DMPAPER_ENV_MONARCH         37  /* Envelope Monarch 3.875 x 7.5 in    */\n#define DMPAPER_ENV_PERSONAL        38  /* 6 3/4 Envelope 3 5/8 x 6 1/2 in    */\n#define DMPAPER_FANFOLD_US          39  /* US Std Fanfold 14 7/8 x 11 in      */\n#define DMPAPER_FANFOLD_STD_GERMAN  40  /* German Std Fanfold 8 1/2 x 12 in   */\n#define DMPAPER_FANFOLD_LGL_GERMAN  41  /* German Legal Fanfold 8 1/2 x 13 in */\n#if(WINVER >= 0x0400)\n#define DMPAPER_ISO_B4              42  /* B4 (ISO) 250 x 353 mm              */\n#define DMPAPER_JAPANESE_POSTCARD   43  /* Japanese Postcard 100 x 148 mm     */\n#define DMPAPER_9X11                44  /* 9 x 11 in                          */\n#define DMPAPER_10X11               45  /* 10 x 11 in                         */\n#define DMPAPER_15X11               46  /* 15 x 11 in                         */\n#define DMPAPER_ENV_INVITE          47  /* Envelope Invite 220 x 220 mm       */\n#define DMPAPER_RESERVED_48         48  /* RESERVED--DO NOT USE               */\n#define DMPAPER_RESERVED_49         49  /* RESERVED--DO NOT USE               */\n#define DMPAPER_LETTER_EXTRA        50  /* Letter Extra 9 \\275 x 12 in        */\n#define DMPAPER_LEGAL_EXTRA         51  /* Legal Extra 9 \\275 x 15 in         */\n#define DMPAPER_TABLOID_EXTRA       52  /* Tabloid Extra 11.69 x 18 in        */\n#define DMPAPER_A4_EXTRA            53  /* A4 Extra 9.27 x 12.69 in           */\n#define DMPAPER_LETTER_TRANSVERSE   54  /* Letter Transverse 8 \\275 x 11 in   */\n#define DMPAPER_A4_TRANSVERSE       55  /* A4 Transverse 210 x 297 mm         */\n#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 /* Letter Extra Transverse 9\\275 x 12 in */\n#define DMPAPER_A_PLUS              57  /* SuperA/SuperA/A4 227 x 356 mm      */\n#define DMPAPER_B_PLUS              58  /* SuperB/SuperB/A3 305 x 487 mm      */\n#define DMPAPER_LETTER_PLUS         59  /* Letter Plus 8.5 x 12.69 in         */\n#define DMPAPER_A4_PLUS             60  /* A4 Plus 210 x 330 mm               */\n#define DMPAPER_A5_TRANSVERSE       61  /* A5 Transverse 148 x 210 mm         */\n#define DMPAPER_B5_TRANSVERSE       62  /* B5 (JIS) Transverse 182 x 257 mm   */\n#define DMPAPER_A3_EXTRA            63  /* A3 Extra 322 x 445 mm              */\n#define DMPAPER_A5_EXTRA            64  /* A5 Extra 174 x 235 mm              */\n#define DMPAPER_B5_EXTRA            65  /* B5 (ISO) Extra 201 x 276 mm        */\n#define DMPAPER_A2                  66  /* A2 420 x 594 mm                    */\n#define DMPAPER_A3_TRANSVERSE       67  /* A3 Transverse 297 x 420 mm         */\n#define DMPAPER_A3_EXTRA_TRANSVERSE 68  /* A3 Extra Transverse 322 x 445 mm   */\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define DMPAPER_DBL_JAPANESE_POSTCARD 69 /* Japanese Double Postcard 200 x 148 mm */\n#define DMPAPER_A6                  70  /* A6 105 x 148 mm                 */\n#define DMPAPER_JENV_KAKU2          71  /* Japanese Envelope Kaku #2       */\n#define DMPAPER_JENV_KAKU3          72  /* Japanese Envelope Kaku #3       */\n#define DMPAPER_JENV_CHOU3          73  /* Japanese Envelope Chou #3       */\n#define DMPAPER_JENV_CHOU4          74  /* Japanese Envelope Chou #4       */\n#define DMPAPER_LETTER_ROTATED      75  /* Letter Rotated 11 x 8 1/2 11 in */\n#define DMPAPER_A3_ROTATED          76  /* A3 Rotated 420 x 297 mm         */\n#define DMPAPER_A4_ROTATED          77  /* A4 Rotated 297 x 210 mm         */\n#define DMPAPER_A5_ROTATED          78  /* A5 Rotated 210 x 148 mm         */\n#define DMPAPER_B4_JIS_ROTATED      79  /* B4 (JIS) Rotated 364 x 257 mm   */\n#define DMPAPER_B5_JIS_ROTATED      80  /* B5 (JIS) Rotated 257 x 182 mm   */\n#define DMPAPER_JAPANESE_POSTCARD_ROTATED 81 /* Japanese Postcard Rotated 148 x 100 mm */\n#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82 /* Double Japanese Postcard Rotated 148 x 200 mm */\n#define DMPAPER_A6_ROTATED          83  /* A6 Rotated 148 x 105 mm         */\n#define DMPAPER_JENV_KAKU2_ROTATED  84  /* Japanese Envelope Kaku #2 Rotated */\n#define DMPAPER_JENV_KAKU3_ROTATED  85  /* Japanese Envelope Kaku #3 Rotated */\n#define DMPAPER_JENV_CHOU3_ROTATED  86  /* Japanese Envelope Chou #3 Rotated */\n#define DMPAPER_JENV_CHOU4_ROTATED  87  /* Japanese Envelope Chou #4 Rotated */\n#define DMPAPER_B6_JIS              88  /* B6 (JIS) 128 x 182 mm           */\n#define DMPAPER_B6_JIS_ROTATED      89  /* B6 (JIS) Rotated 182 x 128 mm   */\n#define DMPAPER_12X11               90  /* 12 x 11 in                      */\n#define DMPAPER_JENV_YOU4           91  /* Japanese Envelope You #4        */\n#define DMPAPER_JENV_YOU4_ROTATED   92  /* Japanese Envelope You #4 Rotated*/\n#define DMPAPER_P16K                93  /* PRC 16K 146 x 215 mm            */\n#define DMPAPER_P32K                94  /* PRC 32K 97 x 151 mm             */\n#define DMPAPER_P32KBIG             95  /* PRC 32K(Big) 97 x 151 mm        */\n#define DMPAPER_PENV_1              96  /* PRC Envelope #1 102 x 165 mm    */\n#define DMPAPER_PENV_2              97  /* PRC Envelope #2 102 x 176 mm    */\n#define DMPAPER_PENV_3              98  /* PRC Envelope #3 125 x 176 mm    */\n#define DMPAPER_PENV_4              99  /* PRC Envelope #4 110 x 208 mm    */\n#define DMPAPER_PENV_5              100 /* PRC Envelope #5 110 x 220 mm    */\n#define DMPAPER_PENV_6              101 /* PRC Envelope #6 120 x 230 mm    */\n#define DMPAPER_PENV_7              102 /* PRC Envelope #7 160 x 230 mm    */\n#define DMPAPER_PENV_8              103 /* PRC Envelope #8 120 x 309 mm    */\n#define DMPAPER_PENV_9              104 /* PRC Envelope #9 229 x 324 mm    */\n#define DMPAPER_PENV_10             105 /* PRC Envelope #10 324 x 458 mm   */\n#define DMPAPER_P16K_ROTATED        106 /* PRC 16K Rotated                 */\n#define DMPAPER_P32K_ROTATED        107 /* PRC 32K Rotated                 */\n#define DMPAPER_P32KBIG_ROTATED     108 /* PRC 32K(Big) Rotated            */\n#define DMPAPER_PENV_1_ROTATED      109 /* PRC Envelope #1 Rotated 165 x 102 mm */\n#define DMPAPER_PENV_2_ROTATED      110 /* PRC Envelope #2 Rotated 176 x 102 mm */\n#define DMPAPER_PENV_3_ROTATED      111 /* PRC Envelope #3 Rotated 176 x 125 mm */\n#define DMPAPER_PENV_4_ROTATED      112 /* PRC Envelope #4 Rotated 208 x 110 mm */\n#define DMPAPER_PENV_5_ROTATED      113 /* PRC Envelope #5 Rotated 220 x 110 mm */\n#define DMPAPER_PENV_6_ROTATED      114 /* PRC Envelope #6 Rotated 230 x 120 mm */\n#define DMPAPER_PENV_7_ROTATED      115 /* PRC Envelope #7 Rotated 230 x 160 mm */\n#define DMPAPER_PENV_8_ROTATED      116 /* PRC Envelope #8 Rotated 309 x 120 mm */\n#define DMPAPER_PENV_9_ROTATED      117 /* PRC Envelope #9 Rotated 324 x 229 mm */\n#define DMPAPER_PENV_10_ROTATED     118 /* PRC Envelope #10 Rotated 458 x 324 mm */\n#endif /* WINVER >= 0x0500 */\n\n#if (WINVER >= 0x0500)\n#define DMPAPER_LAST                DMPAPER_PENV_10_ROTATED\n#elif (WINVER >= 0x0400)\n#define DMPAPER_LAST                DMPAPER_A3_EXTRA_TRANSVERSE\n#else\n#define DMPAPER_LAST                DMPAPER_FANFOLD_LGL_GERMAN\n#endif\n\n#define DMPAPER_USER                256\n\n/* bin selections */\n#define DMBIN_FIRST         DMBIN_UPPER\n#define DMBIN_UPPER         1\n#define DMBIN_ONLYONE       1\n#define DMBIN_LOWER         2\n#define DMBIN_MIDDLE        3\n#define DMBIN_MANUAL        4\n#define DMBIN_ENVELOPE      5\n#define DMBIN_ENVMANUAL     6\n#define DMBIN_AUTO          7\n#define DMBIN_TRACTOR       8\n#define DMBIN_SMALLFMT      9\n#define DMBIN_LARGEFMT      10\n#define DMBIN_LARGECAPACITY 11\n#define DMBIN_CASSETTE      14\n#define DMBIN_FORMSOURCE    15\n#define DMBIN_LAST          DMBIN_FORMSOURCE\n\n#define DMBIN_USER          256     /* device specific bins start here */\n\n/* print qualities */\n#define DMRES_DRAFT         (-1)\n#define DMRES_LOW           (-2)\n#define DMRES_MEDIUM        (-3)\n#define DMRES_HIGH          (-4)\n\n/* color enable/disable for color printers */\n#define DMCOLOR_MONOCHROME  1\n#define DMCOLOR_COLOR       2\n\n/* duplex enable */\n#define DMDUP_SIMPLEX    1\n#define DMDUP_VERTICAL   2\n#define DMDUP_HORIZONTAL 3\n\n/* TrueType options */\n#define DMTT_BITMAP     1       /* print TT fonts as graphics */\n#define DMTT_DOWNLOAD   2       /* download TT fonts as soft fonts */\n#define DMTT_SUBDEV     3       /* substitute device fonts for TT fonts */\n#if(WINVER >= 0x0400)\n#define DMTT_DOWNLOAD_OUTLINE 4 /* download TT fonts as outline soft fonts */\n#endif /* WINVER >= 0x0400 */\n\n/* Collation selections */\n#define DMCOLLATE_FALSE  0\n#define DMCOLLATE_TRUE   1\n\n#if(WINVER >= 0x0501)\n/* DEVMODE dmDisplayOrientation specifiations */\n#define DMDO_DEFAULT    0\n#define DMDO_90         1\n#define DMDO_180        2\n#define DMDO_270        3\n\n/* DEVMODE dmDisplayFixedOutput specifiations */\n#define DMDFO_DEFAULT   0\n#define DMDFO_STRETCH   1\n#define DMDFO_CENTER    2\n#endif /* WINVER >= 0x0501 */\n\n/* DEVMODE dmDisplayFlags flags */\n\n// #define DM_GRAYSCALE            0x00000001 /* This flag is no longer valid */\n// #define DM_INTERLACED           0x00000002 /* This flag is no longer valid */\n#define DMDISPLAYFLAGS_TEXTMODE 0x00000004\n\n/* dmNup , multiple logical page per physical page options */\n#define DMNUP_SYSTEM        1\n#define DMNUP_ONEUP         2\n\n#if(WINVER >= 0x0400)\n/* ICM methods */\n#define DMICMMETHOD_NONE    1   /* ICM disabled */\n#define DMICMMETHOD_SYSTEM  2   /* ICM handled by system */\n#define DMICMMETHOD_DRIVER  3   /* ICM handled by driver */\n#define DMICMMETHOD_DEVICE  4   /* ICM handled by device */\n\n#define DMICMMETHOD_USER  256   /* Device-specific methods start here */\n\n/* ICM Intents */\n#define DMICM_SATURATE          1   /* Maximize color saturation */\n#define DMICM_CONTRAST          2   /* Maximize color contrast */\n#define DMICM_COLORIMETRIC       3   /* Use specific color metric */\n#define DMICM_ABS_COLORIMETRIC   4   /* Use specific color metric */\n\n#define DMICM_USER        256   /* Device-specific intents start here */\n\n/* Media types */\n\n#define DMMEDIA_STANDARD      1   /* Standard paper */\n#define DMMEDIA_TRANSPARENCY  2   /* Transparency */\n#define DMMEDIA_GLOSSY        3   /* Glossy paper */\n\n#define DMMEDIA_USER        256   /* Device-specific media start here */\n\n/* Dither types */\n#define DMDITHER_NONE       1      /* No dithering */\n#define DMDITHER_COARSE     2      /* Dither with a coarse brush */\n#define DMDITHER_FINE       3      /* Dither with a fine brush */\n#define DMDITHER_LINEART    4      /* LineArt dithering */\n#define DMDITHER_ERRORDIFFUSION 5  /* LineArt dithering */\n#define DMDITHER_RESERVED6      6      /* LineArt dithering */\n#define DMDITHER_RESERVED7      7      /* LineArt dithering */\n#define DMDITHER_RESERVED8      8      /* LineArt dithering */\n#define DMDITHER_RESERVED9      9      /* LineArt dithering */\n#define DMDITHER_GRAYSCALE  10     /* Device does grayscaling */\n\n#define DMDITHER_USER     256   /* Device-specific dithers start here */\n#endif /* WINVER >= 0x0400 */\n\ntypedef struct _DISPLAY_DEVICEA {\n    DWORD  cb;\n    CHAR   DeviceName[32];\n    CHAR   DeviceString[128];\n    DWORD  StateFlags;\n    CHAR   DeviceID[128];\n    CHAR   DeviceKey[128];\n} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;\ntypedef struct _DISPLAY_DEVICEW {\n    DWORD  cb;\n    WCHAR  DeviceName[32];\n    WCHAR  DeviceString[128];\n    DWORD  StateFlags;\n    WCHAR  DeviceID[128];\n    WCHAR  DeviceKey[128];\n} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;\n#ifdef UNICODE\ntypedef DISPLAY_DEVICEW DISPLAY_DEVICE;\ntypedef PDISPLAY_DEVICEW PDISPLAY_DEVICE;\ntypedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE;\n#else\ntypedef DISPLAY_DEVICEA DISPLAY_DEVICE;\ntypedef PDISPLAY_DEVICEA PDISPLAY_DEVICE;\ntypedef LPDISPLAY_DEVICEA LPDISPLAY_DEVICE;\n#endif // UNICODE\n\n#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001\n#define DISPLAY_DEVICE_MULTI_DRIVER        0x00000002\n#define DISPLAY_DEVICE_PRIMARY_DEVICE      0x00000004\n#define DISPLAY_DEVICE_MIRRORING_DRIVER    0x00000008\n#define DISPLAY_DEVICE_VGA_COMPATIBLE      0x00000010\n#define DISPLAY_DEVICE_REMOVABLE           0x00000020\n#define DISPLAY_DEVICE_MODESPRUNED         0x08000000\n#define DISPLAY_DEVICE_REMOTE              0x04000000  \n#define DISPLAY_DEVICE_DISCONNECT          0x02000000  \n\n\n/* Child device state */\n#define DISPLAY_DEVICE_ACTIVE              0x00000001\n#define DISPLAY_DEVICE_ATTACHED            0x00000002\n\n/* GetRegionData/ExtCreateRegion */\n\n#define RDH_RECTANGLES  1\n\ntypedef struct _RGNDATAHEADER {\n    DWORD   dwSize;\n    DWORD   iType;\n    DWORD   nCount;\n    DWORD   nRgnSize;\n    RECT    rcBound;\n} RGNDATAHEADER, *PRGNDATAHEADER;\n\ntypedef struct _RGNDATA {\n    RGNDATAHEADER   rdh;\n    char            Buffer[1];\n} RGNDATA, *PRGNDATA, NEAR *NPRGNDATA, FAR *LPRGNDATA;\n\n\n/* for GetRandomRgn */\n#define SYSRGN  4\n\ntypedef struct _ABC {\n    int     abcA;\n    UINT    abcB;\n    int     abcC;\n} ABC, *PABC, NEAR *NPABC, FAR *LPABC;\n\ntypedef struct _ABCFLOAT {\n    FLOAT   abcfA;\n    FLOAT   abcfB;\n    FLOAT   abcfC;\n} ABCFLOAT, *PABCFLOAT, NEAR *NPABCFLOAT, FAR *LPABCFLOAT;\n\n#ifndef NOTEXTMETRIC\n\n#ifdef _MAC\n#include \"pshpack4.h\"\n#endif\ntypedef struct _OUTLINETEXTMETRICA {\n    UINT    otmSize;\n    TEXTMETRICA otmTextMetrics;\n    BYTE    otmFiller;\n    PANOSE  otmPanoseNumber;\n    UINT    otmfsSelection;\n    UINT    otmfsType;\n     int    otmsCharSlopeRise;\n     int    otmsCharSlopeRun;\n     int    otmItalicAngle;\n    UINT    otmEMSquare;\n     int    otmAscent;\n     int    otmDescent;\n    UINT    otmLineGap;\n    UINT    otmsCapEmHeight;\n    UINT    otmsXHeight;\n    RECT    otmrcFontBox;\n     int    otmMacAscent;\n     int    otmMacDescent;\n    UINT    otmMacLineGap;\n    UINT    otmusMinimumPPEM;\n    POINT   otmptSubscriptSize;\n    POINT   otmptSubscriptOffset;\n    POINT   otmptSuperscriptSize;\n    POINT   otmptSuperscriptOffset;\n    UINT    otmsStrikeoutSize;\n     int    otmsStrikeoutPosition;\n     int    otmsUnderscoreSize;\n     int    otmsUnderscorePosition;\n    PSTR    otmpFamilyName;\n    PSTR    otmpFaceName;\n    PSTR    otmpStyleName;\n    PSTR    otmpFullName;\n} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, NEAR *NPOUTLINETEXTMETRICA, FAR *LPOUTLINETEXTMETRICA;\ntypedef struct _OUTLINETEXTMETRICW {\n    UINT    otmSize;\n    TEXTMETRICW otmTextMetrics;\n    BYTE    otmFiller;\n    PANOSE  otmPanoseNumber;\n    UINT    otmfsSelection;\n    UINT    otmfsType;\n     int    otmsCharSlopeRise;\n     int    otmsCharSlopeRun;\n     int    otmItalicAngle;\n    UINT    otmEMSquare;\n     int    otmAscent;\n     int    otmDescent;\n    UINT    otmLineGap;\n    UINT    otmsCapEmHeight;\n    UINT    otmsXHeight;\n    RECT    otmrcFontBox;\n     int    otmMacAscent;\n     int    otmMacDescent;\n    UINT    otmMacLineGap;\n    UINT    otmusMinimumPPEM;\n    POINT   otmptSubscriptSize;\n    POINT   otmptSubscriptOffset;\n    POINT   otmptSuperscriptSize;\n    POINT   otmptSuperscriptOffset;\n    UINT    otmsStrikeoutSize;\n     int    otmsStrikeoutPosition;\n     int    otmsUnderscoreSize;\n     int    otmsUnderscorePosition;\n    PSTR    otmpFamilyName;\n    PSTR    otmpFaceName;\n    PSTR    otmpStyleName;\n    PSTR    otmpFullName;\n} OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, NEAR *NPOUTLINETEXTMETRICW, FAR *LPOUTLINETEXTMETRICW;\n#ifdef UNICODE\ntypedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC;\ntypedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC;\ntypedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC;\ntypedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC;\n#else\ntypedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC;\ntypedef POUTLINETEXTMETRICA POUTLINETEXTMETRIC;\ntypedef NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC;\ntypedef LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC;\n#endif // UNICODE\n\n#ifdef _MAC\n#include \"poppack.h\"\n#endif\n\n#endif /* NOTEXTMETRIC */\n\n\ntypedef struct tagPOLYTEXTA\n{\n    int       x;\n    int       y;\n    UINT      n;\n    LPCSTR    lpstr;\n    UINT      uiFlags;\n    RECT      rcl;\n    int      *pdx;\n} POLYTEXTA, *PPOLYTEXTA, NEAR *NPPOLYTEXTA, FAR *LPPOLYTEXTA;\ntypedef struct tagPOLYTEXTW\n{\n    int       x;\n    int       y;\n    UINT      n;\n    LPCWSTR   lpstr;\n    UINT      uiFlags;\n    RECT      rcl;\n    int      *pdx;\n} POLYTEXTW, *PPOLYTEXTW, NEAR *NPPOLYTEXTW, FAR *LPPOLYTEXTW;\n#ifdef UNICODE\ntypedef POLYTEXTW POLYTEXT;\ntypedef PPOLYTEXTW PPOLYTEXT;\ntypedef NPPOLYTEXTW NPPOLYTEXT;\ntypedef LPPOLYTEXTW LPPOLYTEXT;\n#else\ntypedef POLYTEXTA POLYTEXT;\ntypedef PPOLYTEXTA PPOLYTEXT;\ntypedef NPPOLYTEXTA NPPOLYTEXT;\ntypedef LPPOLYTEXTA LPPOLYTEXT;\n#endif // UNICODE\n\ntypedef struct _FIXED {\n#ifndef _MAC\n    WORD    fract;\n    short   value;\n#else\n    short   value;\n    WORD    fract;\n#endif\n} FIXED;\n\n\ntypedef struct _MAT2 {\n     FIXED  eM11;\n     FIXED  eM12;\n     FIXED  eM21;\n     FIXED  eM22;\n} MAT2, FAR *LPMAT2;\n\n\n\ntypedef struct _GLYPHMETRICS {\n    UINT    gmBlackBoxX;\n    UINT    gmBlackBoxY;\n    POINT   gmptGlyphOrigin;\n    short   gmCellIncX;\n    short   gmCellIncY;\n} GLYPHMETRICS, FAR *LPGLYPHMETRICS;\n\n//  GetGlyphOutline constants\n\n#define GGO_METRICS        0\n#define GGO_BITMAP         1\n#define GGO_NATIVE         2\n#define GGO_BEZIER         3\n\n#if(WINVER >= 0x0400)\n#define  GGO_GRAY2_BITMAP   4\n#define  GGO_GRAY4_BITMAP   5\n#define  GGO_GRAY8_BITMAP   6\n#define  GGO_GLYPH_INDEX    0x0080\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n#define  GGO_UNHINTED       0x0100\n#endif // (_WIN32_WINNT >= 0x0500)\n\n#define TT_POLYGON_TYPE   24\n\n#define TT_PRIM_LINE       1\n#define TT_PRIM_QSPLINE    2\n#define TT_PRIM_CSPLINE    3\n\ntypedef struct tagPOINTFX\n{\n    FIXED x;\n    FIXED y;\n} POINTFX, FAR* LPPOINTFX;\n\ntypedef struct tagTTPOLYCURVE\n{\n    WORD    wType;\n    WORD    cpfx;\n    POINTFX apfx[1];\n} TTPOLYCURVE, FAR* LPTTPOLYCURVE;\n\ntypedef struct tagTTPOLYGONHEADER\n{\n    DWORD   cb;\n    DWORD   dwType;\n    POINTFX pfxStart;\n} TTPOLYGONHEADER, FAR* LPTTPOLYGONHEADER;\n\n\n#if(WINVER >= 0x0400)\n#define GCP_DBCS           0x0001\n#define GCP_REORDER        0x0002\n#define GCP_USEKERNING     0x0008\n#define GCP_GLYPHSHAPE     0x0010\n#define GCP_LIGATE         0x0020\n////#define GCP_GLYPHINDEXING  0x0080\n#define GCP_DIACRITIC      0x0100\n#define GCP_KASHIDA        0x0400\n#define GCP_ERROR          0x8000\n#define FLI_MASK           0x103B\n\n#define GCP_JUSTIFY        0x00010000L\n////#define GCP_NODIACRITICS   0x00020000L\n#define FLI_GLYPHS         0x00040000L\n#define GCP_CLASSIN        0x00080000L\n#define GCP_MAXEXTENT      0x00100000L\n#define GCP_JUSTIFYIN      0x00200000L\n#define GCP_DISPLAYZWG      0x00400000L\n#define GCP_SYMSWAPOFF      0x00800000L\n#define GCP_NUMERICOVERRIDE 0x01000000L\n#define GCP_NEUTRALOVERRIDE 0x02000000L\n#define GCP_NUMERICSLATIN   0x04000000L\n#define GCP_NUMERICSLOCAL   0x08000000L\n\n#define GCPCLASS_LATIN                  1\n#define GCPCLASS_HEBREW                 2\n#define GCPCLASS_ARABIC                 2\n#define GCPCLASS_NEUTRAL                3\n#define GCPCLASS_LOCALNUMBER            4\n#define GCPCLASS_LATINNUMBER            5\n#define GCPCLASS_LATINNUMERICTERMINATOR 6\n#define GCPCLASS_LATINNUMERICSEPARATOR  7\n#define GCPCLASS_NUMERICSEPARATOR       8\n#define GCPCLASS_PREBOUNDLTR         0x80\n#define GCPCLASS_PREBOUNDRTL         0x40\n#define GCPCLASS_POSTBOUNDLTR        0x20\n#define GCPCLASS_POSTBOUNDRTL        0x10\n\n#define GCPGLYPH_LINKBEFORE          0x8000\n#define GCPGLYPH_LINKAFTER           0x4000\n\n\ntypedef struct tagGCP_RESULTSA\n    {\n    DWORD   lStructSize;\n    LPSTR     lpOutString;\n    UINT FAR *lpOrder;\n    int FAR  *lpDx;\n    int FAR  *lpCaretPos;\n    LPSTR   lpClass;\n    LPWSTR  lpGlyphs;\n    UINT    nGlyphs;\n    int     nMaxFit;\n    } GCP_RESULTSA, FAR* LPGCP_RESULTSA;\ntypedef struct tagGCP_RESULTSW\n    {\n    DWORD   lStructSize;\n    LPWSTR    lpOutString;\n    UINT FAR *lpOrder;\n    int FAR  *lpDx;\n    int FAR  *lpCaretPos;\n    LPSTR   lpClass;\n    LPWSTR  lpGlyphs;\n    UINT    nGlyphs;\n    int     nMaxFit;\n    } GCP_RESULTSW, FAR* LPGCP_RESULTSW;\n#ifdef UNICODE\ntypedef GCP_RESULTSW GCP_RESULTS;\ntypedef LPGCP_RESULTSW LPGCP_RESULTS;\n#else\ntypedef GCP_RESULTSA GCP_RESULTS;\ntypedef LPGCP_RESULTSA LPGCP_RESULTS;\n#endif // UNICODE\n#endif /* WINVER >= 0x0400 */\n\ntypedef struct _RASTERIZER_STATUS {\n    short   nSize;\n    short   wFlags;\n    short   nLanguageID;\n} RASTERIZER_STATUS, FAR *LPRASTERIZER_STATUS;\n\n/* bits defined in wFlags of RASTERIZER_STATUS */\n#define TT_AVAILABLE    0x0001\n#define TT_ENABLED      0x0002\n\n/* Pixel format descriptor */\ntypedef struct tagPIXELFORMATDESCRIPTOR\n{\n    WORD  nSize;\n    WORD  nVersion;\n    DWORD dwFlags;\n    BYTE  iPixelType;\n    BYTE  cColorBits;\n    BYTE  cRedBits;\n    BYTE  cRedShift;\n    BYTE  cGreenBits;\n    BYTE  cGreenShift;\n    BYTE  cBlueBits;\n    BYTE  cBlueShift;\n    BYTE  cAlphaBits;\n    BYTE  cAlphaShift;\n    BYTE  cAccumBits;\n    BYTE  cAccumRedBits;\n    BYTE  cAccumGreenBits;\n    BYTE  cAccumBlueBits;\n    BYTE  cAccumAlphaBits;\n    BYTE  cDepthBits;\n    BYTE  cStencilBits;\n    BYTE  cAuxBuffers;\n    BYTE  iLayerType;\n    BYTE  bReserved;\n    DWORD dwLayerMask;\n    DWORD dwVisibleMask;\n    DWORD dwDamageMask;\n} PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, FAR *LPPIXELFORMATDESCRIPTOR;\n\n/* pixel types */\n#define PFD_TYPE_RGBA        0\n#define PFD_TYPE_COLORINDEX  1\n\n/* layer types */\n#define PFD_MAIN_PLANE       0\n#define PFD_OVERLAY_PLANE    1\n#define PFD_UNDERLAY_PLANE   (-1)\n\n/* PIXELFORMATDESCRIPTOR flags */\n#define PFD_DOUBLEBUFFER            0x00000001\n#define PFD_STEREO                  0x00000002\n#define PFD_DRAW_TO_WINDOW          0x00000004\n#define PFD_DRAW_TO_BITMAP          0x00000008\n#define PFD_SUPPORT_GDI             0x00000010\n#define PFD_SUPPORT_OPENGL          0x00000020\n#define PFD_GENERIC_FORMAT          0x00000040\n#define PFD_NEED_PALETTE            0x00000080\n#define PFD_NEED_SYSTEM_PALETTE     0x00000100\n#define PFD_SWAP_EXCHANGE           0x00000200\n#define PFD_SWAP_COPY               0x00000400\n#define PFD_SWAP_LAYER_BUFFERS      0x00000800\n#define PFD_GENERIC_ACCELERATED     0x00001000\n#define PFD_SUPPORT_DIRECTDRAW      0x00002000\n\n/* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */\n#define PFD_DEPTH_DONTCARE          0x20000000\n#define PFD_DOUBLEBUFFER_DONTCARE   0x40000000\n#define PFD_STEREO_DONTCARE         0x80000000\n\n#ifdef STRICT\n#if !defined(NOTEXTMETRIC)\ntypedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST TEXTMETRICA *, DWORD, LPARAM);\ntypedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST TEXTMETRICW *, DWORD, LPARAM);\n#ifdef UNICODE\n#define OLDFONTENUMPROC  OLDFONTENUMPROCW\n#else\n#define OLDFONTENUMPROC  OLDFONTENUMPROCA\n#endif // !UNICODE\n#else\ntypedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST VOID *, DWORD, LPARAM);\ntypedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST VOID *, DWORD, LPARAM);\n#ifdef UNICODE\n#define OLDFONTENUMPROC  OLDFONTENUMPROCW\n#else\n#define OLDFONTENUMPROC  OLDFONTENUMPROCA\n#endif // !UNICODE\n#endif\n\ntypedef OLDFONTENUMPROCA    FONTENUMPROCA;\ntypedef OLDFONTENUMPROCW    FONTENUMPROCW;\n#ifdef UNICODE\ntypedef FONTENUMPROCW FONTENUMPROC;\n#else\ntypedef FONTENUMPROCA FONTENUMPROC;\n#endif // UNICODE\n\ntypedef int (CALLBACK* GOBJENUMPROC)(LPVOID, LPARAM);\ntypedef VOID (CALLBACK* LINEDDAPROC)(int, int, LPARAM);\n#else\ntypedef FARPROC OLDFONTENUMPROC;\ntypedef FARPROC FONTENUMPROCA;\ntypedef FARPROC FONTENUMPROCW;\n#ifdef UNICODE\ntypedef FONTENUMPROCW FONTENUMPROC;\n#else\ntypedef FONTENUMPROCA FONTENUMPROC;\n#endif // UNICODE\ntypedef FARPROC GOBJENUMPROC;\ntypedef FARPROC LINEDDAPROC;\n#endif\n\n\n\nWINGDIAPI int WINAPI AddFontResourceA(IN LPCSTR);\nWINGDIAPI int WINAPI AddFontResourceW(IN LPCWSTR);\n#ifdef UNICODE\n#define AddFontResource  AddFontResourceW\n#else\n#define AddFontResource  AddFontResourceA\n#endif // !UNICODE\n\n\nWINGDIAPI BOOL  WINAPI AnimatePalette( IN HPALETTE, IN UINT, IN  UINT, IN CONST PALETTEENTRY *);\nWINGDIAPI BOOL  WINAPI Arc( IN HDC, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL  WINAPI BitBlt( IN HDC, IN int, IN int, IN int, IN int, IN HDC, IN int, IN int, IN DWORD);\nWINGDIAPI BOOL  WINAPI CancelDC( IN HDC);\nWINGDIAPI BOOL  WINAPI Chord( IN HDC, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI int   WINAPI ChoosePixelFormat( IN HDC, IN CONST PIXELFORMATDESCRIPTOR *);\nWINGDIAPI HMETAFILE  WINAPI CloseMetaFile( IN HDC);\nWINGDIAPI int     WINAPI CombineRgn( IN HRGN, IN HRGN, IN HRGN, IN int);\nWINGDIAPI HMETAFILE WINAPI CopyMetaFileA( IN HMETAFILE, IN LPCSTR);\nWINGDIAPI HMETAFILE WINAPI CopyMetaFileW( IN HMETAFILE, IN LPCWSTR);\n#ifdef UNICODE\n#define CopyMetaFile  CopyMetaFileW\n#else\n#define CopyMetaFile  CopyMetaFileA\n#endif // !UNICODE\nWINGDIAPI HBITMAP WINAPI CreateBitmap( IN int, IN int, IN UINT, IN UINT, IN CONST VOID *);\nWINGDIAPI HBITMAP WINAPI CreateBitmapIndirect( IN CONST BITMAP *);\nWINGDIAPI HBRUSH  WINAPI CreateBrushIndirect( IN CONST LOGBRUSH *);\nWINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap( IN HDC, IN int, IN int);\nWINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap( IN HDC, IN int, IN int);\nWINGDIAPI HDC     WINAPI CreateCompatibleDC( IN HDC);\nWINGDIAPI HDC     WINAPI CreateDCA( IN LPCSTR, IN LPCSTR, IN LPCSTR, IN CONST DEVMODEA *);\nWINGDIAPI HDC     WINAPI CreateDCW( IN LPCWSTR, IN LPCWSTR, IN LPCWSTR, IN CONST DEVMODEW *);\n#ifdef UNICODE\n#define CreateDC  CreateDCW\n#else\n#define CreateDC  CreateDCA\n#endif // !UNICODE\nWINGDIAPI HBITMAP WINAPI CreateDIBitmap( IN HDC, IN CONST BITMAPINFOHEADER *, IN DWORD, IN CONST VOID *, IN CONST BITMAPINFO *, IN UINT);\nWINGDIAPI HBRUSH  WINAPI CreateDIBPatternBrush( IN HGLOBAL, IN UINT);\nWINGDIAPI HBRUSH  WINAPI CreateDIBPatternBrushPt( IN CONST VOID *, IN UINT);\nWINGDIAPI HRGN    WINAPI CreateEllipticRgn( IN int, IN int, IN int, IN int);\nWINGDIAPI HRGN    WINAPI CreateEllipticRgnIndirect( IN CONST RECT *);\nWINGDIAPI HFONT   WINAPI CreateFontIndirectA( IN CONST LOGFONTA *);\nWINGDIAPI HFONT   WINAPI CreateFontIndirectW( IN CONST LOGFONTW *);\n#ifdef UNICODE\n#define CreateFontIndirect  CreateFontIndirectW\n#else\n#define CreateFontIndirect  CreateFontIndirectA\n#endif // !UNICODE\nWINGDIAPI HFONT   WINAPI CreateFontA( IN int, IN int, IN int, IN int, IN int, IN DWORD,\n                             IN DWORD, IN DWORD, IN DWORD, IN DWORD, IN DWORD,\n                             IN DWORD, IN DWORD, IN LPCSTR);\nWINGDIAPI HFONT   WINAPI CreateFontW( IN int, IN int, IN int, IN int, IN int, IN DWORD,\n                             IN DWORD, IN DWORD, IN DWORD, IN DWORD, IN DWORD,\n                             IN DWORD, IN DWORD, IN LPCWSTR);\n#ifdef UNICODE\n#define CreateFont  CreateFontW\n#else\n#define CreateFont  CreateFontA\n#endif // !UNICODE\n\nWINGDIAPI HBRUSH  WINAPI CreateHatchBrush( IN int, IN COLORREF);\nWINGDIAPI HDC     WINAPI CreateICA( IN LPCSTR, IN LPCSTR, IN LPCSTR, IN CONST DEVMODEA *);\nWINGDIAPI HDC     WINAPI CreateICW( IN LPCWSTR, IN LPCWSTR, IN LPCWSTR, IN CONST DEVMODEW *);\n#ifdef UNICODE\n#define CreateIC  CreateICW\n#else\n#define CreateIC  CreateICA\n#endif // !UNICODE\nWINGDIAPI HDC     WINAPI CreateMetaFileA( IN LPCSTR);\nWINGDIAPI HDC     WINAPI CreateMetaFileW( IN LPCWSTR);\n#ifdef UNICODE\n#define CreateMetaFile  CreateMetaFileW\n#else\n#define CreateMetaFile  CreateMetaFileA\n#endif // !UNICODE\nWINGDIAPI HPALETTE WINAPI CreatePalette( IN CONST LOGPALETTE *);\nWINGDIAPI HPEN    WINAPI CreatePen( IN int, IN int, IN COLORREF);\nWINGDIAPI HPEN    WINAPI CreatePenIndirect( IN CONST LOGPEN *);\nWINGDIAPI HRGN    WINAPI CreatePolyPolygonRgn( IN CONST POINT *, IN CONST INT *, IN int, IN int);\nWINGDIAPI HBRUSH  WINAPI CreatePatternBrush( IN HBITMAP);\nWINGDIAPI HRGN    WINAPI CreateRectRgn( IN int, IN int, IN int, IN int);\nWINGDIAPI HRGN    WINAPI CreateRectRgnIndirect( IN CONST RECT *);\nWINGDIAPI HRGN    WINAPI CreateRoundRectRgn( IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL    WINAPI CreateScalableFontResourceA( IN DWORD, IN LPCSTR, IN LPCSTR, IN LPCSTR);\nWINGDIAPI BOOL    WINAPI CreateScalableFontResourceW( IN DWORD, IN LPCWSTR, IN LPCWSTR, IN LPCWSTR);\n#ifdef UNICODE\n#define CreateScalableFontResource  CreateScalableFontResourceW\n#else\n#define CreateScalableFontResource  CreateScalableFontResourceA\n#endif // !UNICODE\nWINGDIAPI HBRUSH  WINAPI CreateSolidBrush( IN COLORREF);\n\nWINGDIAPI BOOL WINAPI DeleteDC( IN HDC);\nWINGDIAPI BOOL WINAPI DeleteMetaFile( IN HMETAFILE);\nWINGDIAPI BOOL WINAPI DeleteObject( IN HGDIOBJ);\nWINGDIAPI int  WINAPI DescribePixelFormat( IN HDC, IN int, IN UINT, OUT LPPIXELFORMATDESCRIPTOR);\n\n/* define types of pointers to ExtDeviceMode() and DeviceCapabilities()\n * functions for Win 3.1 compatibility\n */\n\ntypedef UINT   (CALLBACK* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT);\n\ntypedef DWORD  (CALLBACK* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE);\n\n/* mode selections for the device mode function */\n#define DM_UPDATE           1\n#define DM_COPY             2\n#define DM_PROMPT           4\n#define DM_MODIFY           8\n\n#define DM_IN_BUFFER        DM_MODIFY\n#define DM_IN_PROMPT        DM_PROMPT\n#define DM_OUT_BUFFER       DM_COPY\n#define DM_OUT_DEFAULT      DM_UPDATE\n\n/* device capabilities indices */\n#define DC_FIELDS           1\n#define DC_PAPERS           2\n#define DC_PAPERSIZE        3\n#define DC_MINEXTENT        4\n#define DC_MAXEXTENT        5\n#define DC_BINS             6\n#define DC_DUPLEX           7\n#define DC_SIZE             8\n#define DC_EXTRA            9\n#define DC_VERSION          10\n#define DC_DRIVER           11\n#define DC_BINNAMES         12\n#define DC_ENUMRESOLUTIONS  13\n#define DC_FILEDEPENDENCIES 14\n#define DC_TRUETYPE         15\n#define DC_PAPERNAMES       16\n#define DC_ORIENTATION      17\n#define DC_COPIES           18\n#if(WINVER >= 0x0400)\n#define DC_BINADJUST            19\n#define DC_EMF_COMPLIANT        20\n#define DC_DATATYPE_PRODUCED    21\n#define DC_COLLATE              22\n#define DC_MANUFACTURER         23\n#define DC_MODEL                24\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define DC_PERSONALITY          25\n#define DC_PRINTRATE            26\n#define DC_PRINTRATEUNIT        27\n#define   PRINTRATEUNIT_PPM     1\n#define   PRINTRATEUNIT_CPS     2\n#define   PRINTRATEUNIT_LPM     3\n#define   PRINTRATEUNIT_IPM     4\n#define DC_PRINTERMEM           28\n#define DC_MEDIAREADY           29\n#define DC_STAPLE               30\n#define DC_PRINTRATEPPM         31\n#define DC_COLORDEVICE          32\n#define DC_NUP                  33\n#define DC_MEDIATYPENAMES       34\n#define DC_MEDIATYPES           35\n#endif /* WINVER >= 0x0500 */\n\n/* bit fields of the return value (DWORD) for DC_TRUETYPE */\n#define DCTT_BITMAP             0x0000001L\n#define DCTT_DOWNLOAD           0x0000002L\n#define DCTT_SUBDEV             0x0000004L\n#if(WINVER >= 0x0400)\n#define DCTT_DOWNLOAD_OUTLINE   0x0000008L\n\n/* return values for DC_BINADJUST */\n#define DCBA_FACEUPNONE       0x0000\n#define DCBA_FACEUPCENTER     0x0001\n#define DCBA_FACEUPLEFT       0x0002\n#define DCBA_FACEUPRIGHT      0x0003\n#define DCBA_FACEDOWNNONE     0x0100\n#define DCBA_FACEDOWNCENTER   0x0101\n#define DCBA_FACEDOWNLEFT     0x0102\n#define DCBA_FACEDOWNRIGHT    0x0103\n#endif /* WINVER >= 0x0400 */\n\nWINSPOOLAPI int  WINAPI DeviceCapabilitiesA( IN LPCSTR, IN LPCSTR, IN WORD,\n                                OUT LPSTR, IN CONST DEVMODEA *);\nWINSPOOLAPI int  WINAPI DeviceCapabilitiesW( IN LPCWSTR, IN LPCWSTR, IN WORD,\n                                OUT LPWSTR, IN CONST DEVMODEW *);\n#ifdef UNICODE\n#define DeviceCapabilities  DeviceCapabilitiesW\n#else\n#define DeviceCapabilities  DeviceCapabilitiesA\n#endif // !UNICODE\n\nWINGDIAPI int  WINAPI DrawEscape( IN HDC, IN int, IN int, IN LPCSTR);\nWINGDIAPI BOOL WINAPI Ellipse( IN HDC, IN int, IN int, IN int, IN int);\n\n#if(WINVER >= 0x0400)\nWINGDIAPI int  WINAPI EnumFontFamiliesExA( IN HDC, IN LPLOGFONTA, IN FONTENUMPROCA, IN LPARAM, IN DWORD);\nWINGDIAPI int  WINAPI EnumFontFamiliesExW( IN HDC, IN LPLOGFONTW, IN FONTENUMPROCW, IN LPARAM, IN DWORD);\n#ifdef UNICODE\n#define EnumFontFamiliesEx  EnumFontFamiliesExW\n#else\n#define EnumFontFamiliesEx  EnumFontFamiliesExA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\nWINGDIAPI int  WINAPI EnumFontFamiliesA( IN HDC, IN LPCSTR, IN FONTENUMPROCA, IN LPARAM);\nWINGDIAPI int  WINAPI EnumFontFamiliesW( IN HDC, IN LPCWSTR, IN FONTENUMPROCW, IN LPARAM);\n#ifdef UNICODE\n#define EnumFontFamilies  EnumFontFamiliesW\n#else\n#define EnumFontFamilies  EnumFontFamiliesA\n#endif // !UNICODE\nWINGDIAPI int  WINAPI EnumFontsA( IN HDC, IN LPCSTR,  IN FONTENUMPROCA, IN LPARAM);\nWINGDIAPI int  WINAPI EnumFontsW( IN HDC, IN LPCWSTR,  IN FONTENUMPROCW, IN LPARAM);\n#ifdef UNICODE\n#define EnumFonts  EnumFontsW\n#else\n#define EnumFonts  EnumFontsA\n#endif // !UNICODE\n\n#ifdef STRICT\nWINGDIAPI int  WINAPI EnumObjects( IN HDC, IN int, IN GOBJENUMPROC, IN LPARAM);\n#else\nWINGDIAPI int  WINAPI EnumObjects( IN HDC, IN int, IN GOBJENUMPROC, IN LPVOID);\n#endif\n\n\nWINGDIAPI BOOL WINAPI EqualRgn( IN HRGN, IN HRGN);\nWINGDIAPI int  WINAPI Escape( IN HDC, IN int, IN int, IN LPCSTR,  OUT LPVOID);\nWINGDIAPI int  WINAPI ExtEscape( IN HDC, IN int, IN int, IN LPCSTR,  IN int, OUT LPSTR);\nWINGDIAPI int  WINAPI ExcludeClipRect( IN HDC, IN int, IN int, IN int, IN int);\nWINGDIAPI HRGN WINAPI ExtCreateRegion( IN CONST XFORM *, IN DWORD, IN CONST RGNDATA *);\nWINGDIAPI BOOL  WINAPI ExtFloodFill( IN HDC, IN int, IN int, IN COLORREF, IN UINT);\nWINGDIAPI BOOL   WINAPI FillRgn( IN HDC, IN HRGN, IN HBRUSH);\nWINGDIAPI BOOL   WINAPI FloodFill( IN HDC, IN int, IN int, IN COLORREF);\nWINGDIAPI BOOL   WINAPI FrameRgn( IN HDC, IN HRGN, IN HBRUSH, IN int, IN int);\nWINGDIAPI int   WINAPI GetROP2( IN HDC);\nWINGDIAPI BOOL  WINAPI GetAspectRatioFilterEx( IN HDC, OUT LPSIZE);\nWINGDIAPI COLORREF WINAPI GetBkColor( IN HDC);\n\n#if (_WIN32_WINNT >= 0x0500)\nWINGDIAPI COLORREF WINAPI GetDCBrushColor( IN HDC);\nWINGDIAPI COLORREF WINAPI GetDCPenColor( IN HDC);\n#endif\n\nWINGDIAPI int   WINAPI GetBkMode( IN HDC);\nWINGDIAPI LONG  WINAPI GetBitmapBits( IN HBITMAP, IN LONG, OUT LPVOID);\nWINGDIAPI BOOL  WINAPI GetBitmapDimensionEx( IN HBITMAP, OUT LPSIZE);\nWINGDIAPI UINT  WINAPI GetBoundsRect( IN HDC, OUT LPRECT, IN UINT);\n\nWINGDIAPI BOOL  WINAPI GetBrushOrgEx( IN HDC, OUT LPPOINT);\n\nWINGDIAPI BOOL  WINAPI GetCharWidthA( IN HDC, IN UINT, IN UINT, OUT LPINT);\nWINGDIAPI BOOL  WINAPI GetCharWidthW( IN HDC, IN UINT, IN UINT, OUT LPINT);\n#ifdef UNICODE\n#define GetCharWidth  GetCharWidthW\n#else\n#define GetCharWidth  GetCharWidthA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI GetCharWidth32A( IN HDC, IN UINT, IN UINT,  OUT LPINT);\nWINGDIAPI BOOL  WINAPI GetCharWidth32W( IN HDC, IN UINT, IN UINT,  OUT LPINT);\n#ifdef UNICODE\n#define GetCharWidth32  GetCharWidth32W\n#else\n#define GetCharWidth32  GetCharWidth32A\n#endif // !UNICODE\nWINGDIAPI BOOL  APIENTRY GetCharWidthFloatA( IN HDC, IN UINT, IN UINT, OUT PFLOAT);\nWINGDIAPI BOOL  APIENTRY GetCharWidthFloatW( IN HDC, IN UINT, IN UINT, OUT PFLOAT);\n#ifdef UNICODE\n#define GetCharWidthFloat  GetCharWidthFloatW\n#else\n#define GetCharWidthFloat  GetCharWidthFloatA\n#endif // !UNICODE\nWINGDIAPI BOOL  APIENTRY GetCharABCWidthsA( IN HDC, IN UINT, IN UINT, OUT LPABC);\nWINGDIAPI BOOL  APIENTRY GetCharABCWidthsW( IN HDC, IN UINT, IN UINT, OUT LPABC);\n#ifdef UNICODE\n#define GetCharABCWidths  GetCharABCWidthsW\n#else\n#define GetCharABCWidths  GetCharABCWidthsA\n#endif // !UNICODE\nWINGDIAPI BOOL  APIENTRY GetCharABCWidthsFloatA( IN HDC, IN UINT, IN UINT, OUT LPABCFLOAT);\nWINGDIAPI BOOL  APIENTRY GetCharABCWidthsFloatW( IN HDC, IN UINT, IN UINT, OUT LPABCFLOAT);\n#ifdef UNICODE\n#define GetCharABCWidthsFloat  GetCharABCWidthsFloatW\n#else\n#define GetCharABCWidthsFloat  GetCharABCWidthsFloatA\n#endif // !UNICODE\nWINGDIAPI int   WINAPI GetClipBox( IN HDC,  OUT LPRECT);\nWINGDIAPI int   WINAPI GetClipRgn( IN HDC, IN HRGN);\nWINGDIAPI int   WINAPI GetMetaRgn( IN HDC, IN HRGN);\nWINGDIAPI HGDIOBJ WINAPI GetCurrentObject( IN HDC, IN UINT);\nWINGDIAPI BOOL  WINAPI GetCurrentPositionEx( IN HDC,  OUT LPPOINT);\nWINGDIAPI int   WINAPI GetDeviceCaps( IN HDC, IN int);\nWINGDIAPI int   WINAPI GetDIBits( IN HDC, IN HBITMAP, IN UINT, IN UINT,  OUT LPVOID, IN OUT LPBITMAPINFO, IN UINT);\nWINGDIAPI DWORD WINAPI GetFontData( IN HDC, IN DWORD, IN DWORD, OUT LPVOID, IN DWORD);\nWINGDIAPI DWORD WINAPI GetGlyphOutlineA( IN HDC, IN UINT, IN UINT, OUT LPGLYPHMETRICS, IN DWORD, OUT LPVOID, IN CONST MAT2 *);\nWINGDIAPI DWORD WINAPI GetGlyphOutlineW( IN HDC, IN UINT, IN UINT, OUT LPGLYPHMETRICS, IN DWORD, OUT LPVOID, IN CONST MAT2 *);\n#ifdef UNICODE\n#define GetGlyphOutline  GetGlyphOutlineW\n#else\n#define GetGlyphOutline  GetGlyphOutlineA\n#endif // !UNICODE\nWINGDIAPI int   WINAPI GetGraphicsMode( IN HDC);\nWINGDIAPI int   WINAPI GetMapMode( IN HDC);\nWINGDIAPI UINT  WINAPI GetMetaFileBitsEx( IN HMETAFILE, IN UINT,  OUT LPVOID);\nWINGDIAPI HMETAFILE   WINAPI GetMetaFileA( IN LPCSTR);\nWINGDIAPI HMETAFILE   WINAPI GetMetaFileW( IN LPCWSTR);\n#ifdef UNICODE\n#define GetMetaFile  GetMetaFileW\n#else\n#define GetMetaFile  GetMetaFileA\n#endif // !UNICODE\nWINGDIAPI COLORREF WINAPI GetNearestColor( IN HDC, IN COLORREF);\nWINGDIAPI UINT  WINAPI GetNearestPaletteIndex( IN HPALETTE, IN COLORREF);\nWINGDIAPI DWORD WINAPI GetObjectType( IN HGDIOBJ h);\n\n#ifndef NOTEXTMETRIC\n\nWINGDIAPI UINT APIENTRY GetOutlineTextMetricsA( IN HDC, IN UINT, OUT LPOUTLINETEXTMETRICA);\nWINGDIAPI UINT APIENTRY GetOutlineTextMetricsW( IN HDC, IN UINT, OUT LPOUTLINETEXTMETRICW);\n#ifdef UNICODE\n#define GetOutlineTextMetrics  GetOutlineTextMetricsW\n#else\n#define GetOutlineTextMetrics  GetOutlineTextMetricsA\n#endif // !UNICODE\n\n#endif /* NOTEXTMETRIC */\n\nWINGDIAPI UINT  WINAPI GetPaletteEntries( IN HPALETTE, IN UINT, IN UINT, OUT LPPALETTEENTRY);\nWINGDIAPI COLORREF WINAPI GetPixel( IN HDC, IN int, IN int);\nWINGDIAPI int   WINAPI GetPixelFormat( IN HDC);\nWINGDIAPI int   WINAPI GetPolyFillMode( IN HDC);\nWINGDIAPI BOOL  WINAPI GetRasterizerCaps( OUT LPRASTERIZER_STATUS, IN UINT);\nWINGDIAPI int   WINAPI GetRandomRgn (IN HDC, IN HRGN, IN INT);\nWINGDIAPI DWORD WINAPI GetRegionData( IN HRGN, IN DWORD,  OUT LPRGNDATA);\nWINGDIAPI int   WINAPI GetRgnBox( IN HRGN,  OUT LPRECT);\nWINGDIAPI HGDIOBJ WINAPI GetStockObject( IN int);\nWINGDIAPI int   WINAPI GetStretchBltMode( IN HDC);\nWINGDIAPI UINT  WINAPI GetSystemPaletteEntries( IN HDC, IN UINT, IN UINT, OUT LPPALETTEENTRY);\nWINGDIAPI UINT  WINAPI GetSystemPaletteUse( IN HDC);\nWINGDIAPI int   WINAPI GetTextCharacterExtra( IN HDC);\nWINGDIAPI UINT  WINAPI GetTextAlign( IN HDC);\nWINGDIAPI COLORREF WINAPI GetTextColor( IN HDC);\n\nWINGDIAPI BOOL  APIENTRY GetTextExtentPointA(\n                    IN HDC,\n                    IN LPCSTR,\n                    IN int,\n                    OUT LPSIZE\n                    );\nWINGDIAPI BOOL  APIENTRY GetTextExtentPointW(\n                    IN HDC,\n                    IN LPCWSTR,\n                    IN int,\n                    OUT LPSIZE\n                    );\n#ifdef UNICODE\n#define GetTextExtentPoint  GetTextExtentPointW\n#else\n#define GetTextExtentPoint  GetTextExtentPointA\n#endif // !UNICODE\n\nWINGDIAPI BOOL  APIENTRY GetTextExtentPoint32A(\n                    IN HDC,\n                    IN LPCSTR,\n                    IN int,\n                    OUT LPSIZE\n                    );\nWINGDIAPI BOOL  APIENTRY GetTextExtentPoint32W(\n                    IN HDC,\n                    IN LPCWSTR,\n                    IN int,\n                    OUT LPSIZE\n                    );\n#ifdef UNICODE\n#define GetTextExtentPoint32  GetTextExtentPoint32W\n#else\n#define GetTextExtentPoint32  GetTextExtentPoint32A\n#endif // !UNICODE\n\nWINGDIAPI BOOL  APIENTRY GetTextExtentExPointA(\n                    IN HDC,\n                    IN LPCSTR,\n                    IN int,\n                    IN int,\n                    OUT LPINT,\n                    OUT LPINT,\n                    OUT LPSIZE\n                    );\nWINGDIAPI BOOL  APIENTRY GetTextExtentExPointW(\n                    IN HDC,\n                    IN LPCWSTR,\n                    IN int,\n                    IN int,\n                    OUT LPINT,\n                    OUT LPINT,\n                    OUT LPSIZE\n                    );\n#ifdef UNICODE\n#define GetTextExtentExPoint  GetTextExtentExPointW\n#else\n#define GetTextExtentExPoint  GetTextExtentExPointA\n#endif // !UNICODE\n#if(WINVER >= 0x0400)\nWINGDIAPI int WINAPI GetTextCharset( IN HDC hdc);\nWINGDIAPI int WINAPI GetTextCharsetInfo( IN HDC hdc, OUT LPFONTSIGNATURE lpSig, IN DWORD dwFlags);\nWINGDIAPI BOOL WINAPI TranslateCharsetInfo( IN OUT DWORD FAR *lpSrc,  OUT LPCHARSETINFO lpCs, IN DWORD dwFlags);\nWINGDIAPI DWORD WINAPI GetFontLanguageInfo( IN HDC );\nWINGDIAPI DWORD WINAPI GetCharacterPlacementA(  IN HDC, IN LPCSTR, IN int, IN int, IN OUT LPGCP_RESULTSA, IN DWORD);\nWINGDIAPI DWORD WINAPI GetCharacterPlacementW(  IN HDC, IN LPCWSTR, IN int, IN int, IN OUT LPGCP_RESULTSW, IN DWORD);\n#ifdef UNICODE\n#define GetCharacterPlacement  GetCharacterPlacementW\n#else\n#define GetCharacterPlacement  GetCharacterPlacementA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0500)\n\ntypedef struct tagWCRANGE\n{\n    WCHAR  wcLow;\n    USHORT cGlyphs;\n} WCRANGE, *PWCRANGE,FAR *LPWCRANGE;\n\n\ntypedef struct tagGLYPHSET\n{\n    DWORD    cbThis;\n    DWORD    flAccel;\n    DWORD    cGlyphsSupported;\n    DWORD    cRanges;\n    WCRANGE  ranges[1];\n} GLYPHSET, *PGLYPHSET, FAR *LPGLYPHSET;\n\n/* flAccel flags for the GLYPHSET structure above */\n\n#define GS_8BIT_INDICES     0x00000001\n\n/* flags for GetGlyphIndices */\n\n#define GGI_MARK_NONEXISTING_GLYPHS  0X0001\n\nWINGDIAPI DWORD WINAPI GetFontUnicodeRanges( IN HDC, OUT LPGLYPHSET);\nWINGDIAPI DWORD WINAPI GetGlyphIndicesA( IN HDC, IN LPCSTR, IN int, OUT LPWORD, IN DWORD);\nWINGDIAPI DWORD WINAPI GetGlyphIndicesW( IN HDC, IN LPCWSTR, IN int, OUT LPWORD, IN DWORD);\n#ifdef UNICODE\n#define GetGlyphIndices  GetGlyphIndicesW\n#else\n#define GetGlyphIndices  GetGlyphIndicesA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI GetTextExtentPointI( IN HDC, IN LPWORD, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI GetTextExtentExPointI( IN HDC, IN LPWORD, IN int, IN int, OUT LPINT, OUT LPINT, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI GetCharWidthI( IN HDC, IN UINT, IN UINT, IN LPWORD, OUT LPINT);\nWINGDIAPI BOOL  WINAPI GetCharABCWidthsI( IN HDC, IN UINT, IN UINT, IN LPWORD, OUT LPABC);\n\n#define STAMP_DESIGNVECTOR  (0x8000000 + 'd' + ('v' << 8))\n#define STAMP_AXESLIST      (0x8000000 + 'a' + ('l' << 8))\n#define MM_MAX_NUMAXES      16\n\n\n\ntypedef struct tagDESIGNVECTOR\n{\n    DWORD  dvReserved;\n    DWORD  dvNumAxes;\n    LONG   dvValues[MM_MAX_NUMAXES];\n} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;\n\nWINGDIAPI int  WINAPI AddFontResourceExA( IN LPCSTR, IN DWORD, IN PVOID);\nWINGDIAPI int  WINAPI AddFontResourceExW( IN LPCWSTR, IN DWORD, IN PVOID);\n#ifdef UNICODE\n#define AddFontResourceEx  AddFontResourceExW\n#else\n#define AddFontResourceEx  AddFontResourceExA\n#endif // !UNICODE\nWINGDIAPI BOOL WINAPI RemoveFontResourceExA( IN LPCSTR, IN DWORD, IN PVOID);\nWINGDIAPI BOOL WINAPI RemoveFontResourceExW( IN LPCWSTR, IN DWORD, IN PVOID);\n#ifdef UNICODE\n#define RemoveFontResourceEx  RemoveFontResourceExW\n#else\n#define RemoveFontResourceEx  RemoveFontResourceExA\n#endif // !UNICODE\nWINGDIAPI HANDLE WINAPI AddFontMemResourceEx( IN PVOID, IN DWORD, IN PVOID , IN DWORD*);\nWINGDIAPI BOOL WINAPI RemoveFontMemResourceEx( IN HANDLE);\n#define FR_PRIVATE     0x10\n#define FR_NOT_ENUM    0x20\n\n// The actual size of the DESIGNVECTOR and ENUMLOGFONTEXDV structures\n// is determined by dvNumAxes,\n// MM_MAX_NUMAXES only detemines the maximal size allowed\n\n#define MM_MAX_AXES_NAMELEN 16\n\ntypedef struct tagAXISINFOA\n{\n    LONG   axMinValue;\n    LONG   axMaxValue;\n    BYTE   axAxisName[MM_MAX_AXES_NAMELEN];\n} AXISINFOA, *PAXISINFOA, FAR *LPAXISINFOA;\ntypedef struct tagAXISINFOW\n{\n    LONG   axMinValue;\n    LONG   axMaxValue;\n    WCHAR  axAxisName[MM_MAX_AXES_NAMELEN];\n} AXISINFOW, *PAXISINFOW, FAR *LPAXISINFOW;\n#ifdef UNICODE\ntypedef AXISINFOW AXISINFO;\ntypedef PAXISINFOW PAXISINFO;\ntypedef LPAXISINFOW LPAXISINFO;\n#else\ntypedef AXISINFOA AXISINFO;\ntypedef PAXISINFOA PAXISINFO;\ntypedef LPAXISINFOA LPAXISINFO;\n#endif // UNICODE\n\ntypedef struct tagAXESLISTA\n{\n    DWORD     axlReserved;\n    DWORD     axlNumAxes;\n    AXISINFOA axlAxisInfo[MM_MAX_NUMAXES];\n} AXESLISTA, *PAXESLISTA, FAR *LPAXESLISTA;\ntypedef struct tagAXESLISTW\n{\n    DWORD     axlReserved;\n    DWORD     axlNumAxes;\n    AXISINFOW axlAxisInfo[MM_MAX_NUMAXES];\n} AXESLISTW, *PAXESLISTW, FAR *LPAXESLISTW;\n#ifdef UNICODE\ntypedef AXESLISTW AXESLIST;\ntypedef PAXESLISTW PAXESLIST;\ntypedef LPAXESLISTW LPAXESLIST;\n#else\ntypedef AXESLISTA AXESLIST;\ntypedef PAXESLISTA PAXESLIST;\ntypedef LPAXESLISTA LPAXESLIST;\n#endif // UNICODE\n\n// The actual size of the AXESLIST and ENUMTEXTMETRIC structure is\n// determined by axlNumAxes,\n// MM_MAX_NUMAXES only detemines the maximal size allowed\n\ntypedef struct tagENUMLOGFONTEXDVA\n{\n    ENUMLOGFONTEXA elfEnumLogfontEx;\n    DESIGNVECTOR   elfDesignVector;\n} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, FAR *LPENUMLOGFONTEXDVA;\ntypedef struct tagENUMLOGFONTEXDVW\n{\n    ENUMLOGFONTEXW elfEnumLogfontEx;\n    DESIGNVECTOR   elfDesignVector;\n} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, FAR *LPENUMLOGFONTEXDVW;\n#ifdef UNICODE\ntypedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;\ntypedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;\ntypedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;\n#else\ntypedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;\ntypedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;\ntypedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;\n#endif // UNICODE\n\nWINGDIAPI HFONT  WINAPI CreateFontIndirectExA( IN CONST ENUMLOGFONTEXDVA *);\nWINGDIAPI HFONT  WINAPI CreateFontIndirectExW( IN CONST ENUMLOGFONTEXDVW *);\n#ifdef UNICODE\n#define CreateFontIndirectEx  CreateFontIndirectExW\n#else\n#define CreateFontIndirectEx  CreateFontIndirectExA\n#endif // !UNICODE\n\n#ifndef NOTEXTMETRIC\ntypedef struct tagENUMTEXTMETRICA\n{\n    NEWTEXTMETRICEXA etmNewTextMetricEx;\n    AXESLISTA        etmAxesList;\n} ENUMTEXTMETRICA, *PENUMTEXTMETRICA, FAR *LPENUMTEXTMETRICA;\ntypedef struct tagENUMTEXTMETRICW\n{\n    NEWTEXTMETRICEXW etmNewTextMetricEx;\n    AXESLISTW        etmAxesList;\n} ENUMTEXTMETRICW, *PENUMTEXTMETRICW, FAR *LPENUMTEXTMETRICW;\n#ifdef UNICODE\ntypedef ENUMTEXTMETRICW ENUMTEXTMETRIC;\ntypedef PENUMTEXTMETRICW PENUMTEXTMETRIC;\ntypedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC;\n#else\ntypedef ENUMTEXTMETRICA ENUMTEXTMETRIC;\ntypedef PENUMTEXTMETRICA PENUMTEXTMETRIC;\ntypedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC;\n#endif // UNICODE\n#endif /* NOTEXTMETRIC */\n\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\nWINGDIAPI BOOL  WINAPI GetViewportExtEx( IN HDC, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI GetViewportOrgEx( IN HDC, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI GetWindowExtEx( IN HDC, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI GetWindowOrgEx( IN HDC, OUT LPPOINT);\n\nWINGDIAPI int  WINAPI IntersectClipRect( IN HDC, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL WINAPI InvertRgn( IN HDC, IN HRGN);\nWINGDIAPI BOOL WINAPI LineDDA( IN int, IN int, IN int, IN int, IN LINEDDAPROC, IN LPARAM);\nWINGDIAPI BOOL WINAPI LineTo( IN HDC, IN int, IN int);\nWINGDIAPI BOOL WINAPI MaskBlt( IN HDC, IN int, IN int, IN int, IN int,\n              IN HDC, IN int, IN int, IN HBITMAP, IN int, IN int, IN DWORD);\nWINGDIAPI BOOL WINAPI PlgBlt( IN HDC, IN CONST POINT *, IN HDC, IN int, IN int, IN int,\n                     IN int, IN HBITMAP, IN int, IN int);\n\nWINGDIAPI int  WINAPI OffsetClipRgn(IN HDC, IN int, IN int);\nWINGDIAPI int  WINAPI OffsetRgn(IN HRGN, IN int, IN int);\nWINGDIAPI BOOL WINAPI PatBlt(IN HDC, IN int, IN int, IN int, IN int, IN DWORD);\nWINGDIAPI BOOL WINAPI Pie(IN HDC, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL WINAPI PlayMetaFile(IN HDC, IN HMETAFILE);\nWINGDIAPI BOOL WINAPI PaintRgn(IN HDC, IN HRGN);\nWINGDIAPI BOOL WINAPI PolyPolygon(IN HDC, IN CONST POINT *, IN CONST INT *, IN int);\nWINGDIAPI BOOL WINAPI PtInRegion(IN HRGN, IN int, IN int);\nWINGDIAPI BOOL WINAPI PtVisible(IN HDC, IN int, IN int);\nWINGDIAPI BOOL WINAPI RectInRegion(IN HRGN, IN CONST RECT *);\nWINGDIAPI BOOL WINAPI RectVisible(IN HDC, IN CONST RECT *);\nWINGDIAPI BOOL WINAPI Rectangle(IN HDC, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL WINAPI RestoreDC(IN HDC, IN int);\nWINGDIAPI HDC  WINAPI ResetDCA(IN HDC, IN CONST DEVMODEA *);\nWINGDIAPI HDC  WINAPI ResetDCW(IN HDC, IN CONST DEVMODEW *);\n#ifdef UNICODE\n#define ResetDC  ResetDCW\n#else\n#define ResetDC  ResetDCA\n#endif // !UNICODE\nWINGDIAPI UINT WINAPI RealizePalette(IN HDC);\nWINGDIAPI BOOL WINAPI RemoveFontResourceA(IN LPCSTR);\nWINGDIAPI BOOL WINAPI RemoveFontResourceW(IN LPCWSTR);\n#ifdef UNICODE\n#define RemoveFontResource  RemoveFontResourceW\n#else\n#define RemoveFontResource  RemoveFontResourceA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI RoundRect(IN HDC, IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL WINAPI ResizePalette(IN HPALETTE, IN UINT);\n\nWINGDIAPI int  WINAPI SaveDC(IN HDC);\nWINGDIAPI int  WINAPI SelectClipRgn(IN HDC, IN HRGN);\nWINGDIAPI int  WINAPI ExtSelectClipRgn(IN HDC, IN HRGN, IN int);\nWINGDIAPI int  WINAPI SetMetaRgn(IN HDC);\nWINGDIAPI HGDIOBJ WINAPI SelectObject(IN HDC, IN HGDIOBJ);\nWINGDIAPI HPALETTE WINAPI SelectPalette(IN HDC, IN HPALETTE, IN BOOL);\nWINGDIAPI COLORREF WINAPI SetBkColor(IN HDC, IN COLORREF);\n\n#if (_WIN32_WINNT >= 0x0500)\nWINGDIAPI COLORREF WINAPI SetDCBrushColor(IN HDC, IN COLORREF);\nWINGDIAPI COLORREF WINAPI SetDCPenColor(IN HDC, IN COLORREF);\n#endif\n\n\nWINGDIAPI int   WINAPI SetBkMode(IN HDC, IN int);\nWINGDIAPI LONG  WINAPI SetBitmapBits(IN HBITMAP, IN DWORD, IN CONST VOID *);\n\nWINGDIAPI UINT  WINAPI SetBoundsRect(IN HDC, IN CONST RECT *, IN UINT);\nWINGDIAPI int   WINAPI SetDIBits(IN HDC, IN HBITMAP, IN UINT, IN UINT, IN CONST VOID *, IN CONST BITMAPINFO *, IN UINT);\nWINGDIAPI int   WINAPI SetDIBitsToDevice(IN HDC, IN int, IN int, IN DWORD, IN DWORD, IN int,\n        IN int, IN UINT, IN UINT, IN CONST VOID *, IN CONST BITMAPINFO *, IN UINT);\nWINGDIAPI DWORD WINAPI SetMapperFlags(IN HDC, IN DWORD);\nWINGDIAPI int   WINAPI SetGraphicsMode(IN HDC hdc, IN int iMode);\nWINGDIAPI int   WINAPI SetMapMode(IN HDC, IN int);\n\n#if(WINVER >= 0x0500)\nWINGDIAPI DWORD WINAPI SetLayout(IN HDC, IN DWORD);\nWINGDIAPI DWORD WINAPI GetLayout(IN HDC);\n#endif /* WINVER >= 0x0500 */\n\nWINGDIAPI HMETAFILE   WINAPI SetMetaFileBitsEx(IN UINT, IN CONST BYTE *);\nWINGDIAPI UINT  WINAPI SetPaletteEntries(IN HPALETTE, IN UINT, IN UINT, IN CONST PALETTEENTRY *);\nWINGDIAPI COLORREF WINAPI SetPixel(IN HDC, IN int, IN int, IN COLORREF);\nWINGDIAPI BOOL   WINAPI SetPixelV(IN HDC, IN int, IN int, IN COLORREF);\nWINGDIAPI BOOL  WINAPI SetPixelFormat(IN HDC, IN int, IN CONST PIXELFORMATDESCRIPTOR *);\nWINGDIAPI int   WINAPI SetPolyFillMode(IN HDC, IN int);\nWINGDIAPI BOOL   WINAPI StretchBlt(IN HDC, IN int, IN int, IN int, IN int, IN HDC, IN int, IN int, IN int, IN int, IN DWORD);\nWINGDIAPI BOOL   WINAPI SetRectRgn(IN HRGN, IN int, IN int, IN int, IN int);\nWINGDIAPI int   WINAPI StretchDIBits(IN HDC, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN CONST\n        VOID *, IN CONST BITMAPINFO *, IN UINT, IN DWORD);\nWINGDIAPI int   WINAPI SetROP2(IN HDC, IN int);\nWINGDIAPI int   WINAPI SetStretchBltMode(IN HDC, IN int);\nWINGDIAPI UINT  WINAPI SetSystemPaletteUse(IN HDC, IN UINT);\nWINGDIAPI int   WINAPI SetTextCharacterExtra(IN HDC, IN int);\nWINGDIAPI COLORREF WINAPI SetTextColor(IN HDC, IN COLORREF);\nWINGDIAPI UINT  WINAPI SetTextAlign(IN HDC, IN UINT);\nWINGDIAPI BOOL  WINAPI SetTextJustification(IN HDC, IN int, IN int);\nWINGDIAPI BOOL  WINAPI UpdateColors(IN HDC);\n\n\n#if (WINVER >= 0x0400)\n\n//\n// image blt\n//\n\ntypedef USHORT COLOR16;\n\ntypedef struct _TRIVERTEX\n{\n    LONG    x;\n    LONG    y;\n    COLOR16 Red;\n    COLOR16 Green;\n    COLOR16 Blue;\n    COLOR16 Alpha;\n}TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;\n\ntypedef struct _GRADIENT_TRIANGLE\n{\n    ULONG Vertex1;\n    ULONG Vertex2;\n    ULONG Vertex3;\n} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;\n\ntypedef struct _GRADIENT_RECT\n{\n    ULONG UpperLeft;\n    ULONG LowerRight;\n}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;\n\ntypedef struct _BLENDFUNCTION\n{\n    BYTE   BlendOp;\n    BYTE   BlendFlags;\n    BYTE   SourceConstantAlpha;\n    BYTE   AlphaFormat;\n}BLENDFUNCTION,*PBLENDFUNCTION;\n\n\n//\n// currentlly defined blend function\n//\n\n#define AC_SRC_OVER                 0x00\n\n//\n// alpha format flags\n//\n\n#define AC_SRC_ALPHA                0x01\n\nWINGDIAPI BOOL  WINAPI AlphaBlend( IN HDC, IN int, IN int, IN int, IN int, IN HDC, IN int, IN int, IN int, IN int, IN BLENDFUNCTION);\n\nWINGDIAPI BOOL  WINAPI TransparentBlt(IN HDC,IN int,IN int,IN int,IN int,IN HDC,IN int,IN int,IN int,IN int,IN UINT);\n\n\n//\n// gradient drawing modes\n//\n\n#define GRADIENT_FILL_RECT_H    0x00000000\n#define GRADIENT_FILL_RECT_V    0x00000001\n#define GRADIENT_FILL_TRIANGLE  0x00000002\n#define GRADIENT_FILL_OP_FLAG   0x000000ff\n\nWINGDIAPI BOOL  WINAPI GradientFill( IN HDC, IN PTRIVERTEX, IN ULONG, IN PVOID, IN ULONG, IN ULONG);\n\n#endif\n\n\n#ifndef NOMETAFILE\n\nWINGDIAPI BOOL  WINAPI PlayMetaFileRecord( IN HDC, IN LPHANDLETABLE, IN LPMETARECORD, IN UINT);\ntypedef int (CALLBACK* MFENUMPROC)( IN HDC, IN HANDLETABLE FAR*, IN METARECORD FAR*, IN int, IN LPARAM);\nWINGDIAPI BOOL  WINAPI EnumMetaFile(  IN HDC, IN HMETAFILE, IN MFENUMPROC, IN LPARAM);\n\ntypedef int (CALLBACK* ENHMFENUMPROC)(HDC, HANDLETABLE FAR*, CONST ENHMETARECORD *, int, LPARAM);\n\n// Enhanced Metafile Function Declarations\n\nWINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile( IN HDC);\nWINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA( IN HENHMETAFILE, IN LPCSTR);\nWINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW( IN HENHMETAFILE, IN LPCWSTR);\n#ifdef UNICODE\n#define CopyEnhMetaFile  CopyEnhMetaFileW\n#else\n#define CopyEnhMetaFile  CopyEnhMetaFileA\n#endif // !UNICODE\nWINGDIAPI HDC   WINAPI CreateEnhMetaFileA( IN HDC, IN LPCSTR, IN CONST RECT *, IN LPCSTR);\nWINGDIAPI HDC   WINAPI CreateEnhMetaFileW( IN HDC, IN LPCWSTR, IN CONST RECT *, IN LPCWSTR);\n#ifdef UNICODE\n#define CreateEnhMetaFile  CreateEnhMetaFileW\n#else\n#define CreateEnhMetaFile  CreateEnhMetaFileA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI DeleteEnhMetaFile( IN HENHMETAFILE);\nWINGDIAPI BOOL  WINAPI EnumEnhMetaFile( IN HDC, IN HENHMETAFILE, IN ENHMFENUMPROC,\n                                        IN LPVOID, IN CONST RECT *);\nWINGDIAPI HENHMETAFILE  WINAPI GetEnhMetaFileA( IN LPCSTR);\nWINGDIAPI HENHMETAFILE  WINAPI GetEnhMetaFileW( IN LPCWSTR);\n#ifdef UNICODE\n#define GetEnhMetaFile  GetEnhMetaFileW\n#else\n#define GetEnhMetaFile  GetEnhMetaFileA\n#endif // !UNICODE\nWINGDIAPI UINT  WINAPI GetEnhMetaFileBits( IN HENHMETAFILE, IN UINT, OUT LPBYTE);\nWINGDIAPI UINT  WINAPI GetEnhMetaFileDescriptionA( IN HENHMETAFILE, IN UINT,  OUT LPSTR );\nWINGDIAPI UINT  WINAPI GetEnhMetaFileDescriptionW( IN HENHMETAFILE, IN UINT,  OUT LPWSTR );\n#ifdef UNICODE\n#define GetEnhMetaFileDescription  GetEnhMetaFileDescriptionW\n#else\n#define GetEnhMetaFileDescription  GetEnhMetaFileDescriptionA\n#endif // !UNICODE\nWINGDIAPI UINT  WINAPI GetEnhMetaFileHeader( IN HENHMETAFILE, IN UINT, OUT LPENHMETAHEADER );\nWINGDIAPI UINT  WINAPI GetEnhMetaFilePaletteEntries( IN HENHMETAFILE, IN UINT, OUT LPPALETTEENTRY );\nWINGDIAPI UINT  WINAPI GetEnhMetaFilePixelFormat( IN HENHMETAFILE, IN UINT,\n                                                  OUT PIXELFORMATDESCRIPTOR *);\nWINGDIAPI UINT  WINAPI GetWinMetaFileBits( IN HENHMETAFILE, IN UINT, OUT LPBYTE, IN INT, IN HDC);\nWINGDIAPI BOOL  WINAPI PlayEnhMetaFile( IN HDC, IN HENHMETAFILE, IN CONST RECT *);\nWINGDIAPI BOOL  WINAPI PlayEnhMetaFileRecord( IN HDC, IN LPHANDLETABLE, IN CONST ENHMETARECORD *, IN UINT);\nWINGDIAPI HENHMETAFILE  WINAPI SetEnhMetaFileBits( IN UINT, IN CONST BYTE *);\nWINGDIAPI HENHMETAFILE  WINAPI SetWinMetaFileBits( IN UINT, IN CONST BYTE *, IN HDC, IN CONST METAFILEPICT *);\nWINGDIAPI BOOL  WINAPI GdiComment( IN HDC, IN UINT, IN CONST BYTE *);\n\n#endif  /* NOMETAFILE */\n\n#ifndef NOTEXTMETRIC\n\nWINGDIAPI BOOL WINAPI GetTextMetricsA( IN HDC, OUT LPTEXTMETRICA);\nWINGDIAPI BOOL WINAPI GetTextMetricsW( IN HDC, OUT LPTEXTMETRICW);\n#ifdef UNICODE\n#define GetTextMetrics  GetTextMetricsW\n#else\n#define GetTextMetrics  GetTextMetricsA\n#endif // !UNICODE\n\n#endif\n\n/* new GDI */\n\ntypedef struct tagDIBSECTION {\n    BITMAP              dsBm;\n    BITMAPINFOHEADER    dsBmih;\n    DWORD               dsBitfields[3];\n    HANDLE              dshSection;\n    DWORD               dsOffset;\n} DIBSECTION, FAR *LPDIBSECTION, *PDIBSECTION;\n\nWINGDIAPI BOOL WINAPI AngleArc( IN HDC, IN int, IN int, IN DWORD, IN FLOAT, IN FLOAT);\nWINGDIAPI BOOL WINAPI PolyPolyline( IN HDC, IN CONST POINT *, IN CONST DWORD *, IN DWORD);\nWINGDIAPI BOOL WINAPI GetWorldTransform( IN HDC, OUT LPXFORM);\nWINGDIAPI BOOL WINAPI SetWorldTransform( IN HDC, IN CONST XFORM *);\nWINGDIAPI BOOL WINAPI ModifyWorldTransform( IN HDC, IN CONST XFORM *, IN DWORD);\nWINGDIAPI BOOL WINAPI CombineTransform( OUT LPXFORM, IN CONST XFORM *, IN CONST XFORM *);\nWINGDIAPI HBITMAP WINAPI CreateDIBSection( IN HDC, IN CONST BITMAPINFO *, IN UINT, OUT VOID **, IN HANDLE, IN DWORD);\nWINGDIAPI UINT WINAPI GetDIBColorTable( IN HDC, IN UINT, IN UINT, OUT RGBQUAD *);\nWINGDIAPI UINT WINAPI SetDIBColorTable( IN HDC, IN UINT, IN UINT, IN CONST RGBQUAD *);\n\n/* Flags value for COLORADJUSTMENT */\n#define CA_NEGATIVE                 0x0001\n#define CA_LOG_FILTER               0x0002\n\n/* IlluminantIndex values */\n#define ILLUMINANT_DEVICE_DEFAULT   0\n#define ILLUMINANT_A                1\n#define ILLUMINANT_B                2\n#define ILLUMINANT_C                3\n#define ILLUMINANT_D50              4\n#define ILLUMINANT_D55              5\n#define ILLUMINANT_D65              6\n#define ILLUMINANT_D75              7\n#define ILLUMINANT_F2               8\n#define ILLUMINANT_MAX_INDEX        ILLUMINANT_F2\n\n#define ILLUMINANT_TUNGSTEN         ILLUMINANT_A\n#define ILLUMINANT_DAYLIGHT         ILLUMINANT_C\n#define ILLUMINANT_FLUORESCENT      ILLUMINANT_F2\n#define ILLUMINANT_NTSC             ILLUMINANT_C\n\n/* Min and max for RedGamma, GreenGamma, BlueGamma */\n#define RGB_GAMMA_MIN               (WORD)02500\n#define RGB_GAMMA_MAX               (WORD)65000\n\n/* Min and max for ReferenceBlack and ReferenceWhite */\n#define REFERENCE_WHITE_MIN         (WORD)6000\n#define REFERENCE_WHITE_MAX         (WORD)10000\n#define REFERENCE_BLACK_MIN         (WORD)0\n#define REFERENCE_BLACK_MAX         (WORD)4000\n\n/* Min and max for Contrast, Brightness, Colorfulness, RedGreenTint */\n#define COLOR_ADJ_MIN               (SHORT)-100\n#define COLOR_ADJ_MAX               (SHORT)100\n\ntypedef struct  tagCOLORADJUSTMENT {\n    WORD   caSize;\n    WORD   caFlags;\n    WORD   caIlluminantIndex;\n    WORD   caRedGamma;\n    WORD   caGreenGamma;\n    WORD   caBlueGamma;\n    WORD   caReferenceBlack;\n    WORD   caReferenceWhite;\n    SHORT  caContrast;\n    SHORT  caBrightness;\n    SHORT  caColorfulness;\n    SHORT  caRedGreenTint;\n} COLORADJUSTMENT, *PCOLORADJUSTMENT, FAR *LPCOLORADJUSTMENT;\n\nWINGDIAPI BOOL WINAPI SetColorAdjustment( IN HDC, IN CONST COLORADJUSTMENT *);\nWINGDIAPI BOOL WINAPI GetColorAdjustment( IN HDC, OUT LPCOLORADJUSTMENT);\nWINGDIAPI HPALETTE WINAPI CreateHalftonePalette( IN HDC);\n\n#ifdef STRICT\ntypedef BOOL (CALLBACK* ABORTPROC)( IN HDC, IN int);\n#else\ntypedef FARPROC ABORTPROC;\n#endif\n\ntypedef struct _DOCINFOA {\n    int     cbSize;\n    LPCSTR   lpszDocName;\n    LPCSTR   lpszOutput;\n#if (WINVER >= 0x0400)\n    LPCSTR   lpszDatatype;\n    DWORD    fwType;\n#endif /* WINVER */\n} DOCINFOA, *LPDOCINFOA;\ntypedef struct _DOCINFOW {\n    int     cbSize;\n    LPCWSTR  lpszDocName;\n    LPCWSTR  lpszOutput;\n#if (WINVER >= 0x0400)\n    LPCWSTR  lpszDatatype;\n    DWORD    fwType;\n#endif /* WINVER */\n} DOCINFOW, *LPDOCINFOW;\n#ifdef UNICODE\ntypedef DOCINFOW DOCINFO;\ntypedef LPDOCINFOW LPDOCINFO;\n#else\ntypedef DOCINFOA DOCINFO;\ntypedef LPDOCINFOA LPDOCINFO;\n#endif // UNICODE\n\n#if(WINVER >= 0x0400)\n#define DI_APPBANDING               0x00000001\n#define DI_ROPS_READ_DESTINATION    0x00000002\n#endif /* WINVER >= 0x0400 */\n\nWINGDIAPI int WINAPI StartDocA(IN HDC, IN CONST DOCINFOA *);\nWINGDIAPI int WINAPI StartDocW(IN HDC, IN CONST DOCINFOW *);\n#ifdef UNICODE\n#define StartDoc  StartDocW\n#else\n#define StartDoc  StartDocA\n#endif // !UNICODE\nWINGDIAPI int WINAPI EndDoc(IN HDC);\nWINGDIAPI int WINAPI StartPage(IN HDC);\nWINGDIAPI int WINAPI EndPage(IN HDC);\nWINGDIAPI int WINAPI AbortDoc(IN HDC);\nWINGDIAPI int WINAPI SetAbortProc(IN HDC, IN ABORTPROC);\n\nWINGDIAPI BOOL WINAPI AbortPath(IN HDC);\nWINGDIAPI BOOL WINAPI ArcTo(IN HDC, IN int, IN int, IN int, IN int, IN int, IN int, IN int, IN int);\nWINGDIAPI BOOL WINAPI BeginPath(IN HDC);\nWINGDIAPI BOOL WINAPI CloseFigure(IN HDC);\nWINGDIAPI BOOL WINAPI EndPath(IN HDC);\nWINGDIAPI BOOL WINAPI FillPath(IN HDC);\nWINGDIAPI BOOL WINAPI FlattenPath(IN HDC);\nWINGDIAPI int  WINAPI GetPath(IN HDC, OUT LPPOINT, OUT LPBYTE, IN int);\nWINGDIAPI HRGN WINAPI PathToRegion(IN HDC);\nWINGDIAPI BOOL WINAPI PolyDraw(IN HDC, IN CONST POINT *, IN CONST BYTE *, IN int);\nWINGDIAPI BOOL WINAPI SelectClipPath(IN HDC, IN int);\nWINGDIAPI int  WINAPI SetArcDirection(IN HDC, IN int);\nWINGDIAPI BOOL WINAPI SetMiterLimit(IN HDC, IN FLOAT, OUT PFLOAT);\nWINGDIAPI BOOL WINAPI StrokeAndFillPath(IN HDC);\nWINGDIAPI BOOL WINAPI StrokePath(IN HDC);\nWINGDIAPI BOOL WINAPI WidenPath(IN HDC);\nWINGDIAPI HPEN WINAPI ExtCreatePen(IN DWORD, IN DWORD, IN CONST LOGBRUSH *, IN DWORD, IN CONST DWORD *);\nWINGDIAPI BOOL WINAPI GetMiterLimit(IN HDC, OUT PFLOAT);\nWINGDIAPI int  WINAPI GetArcDirection(IN HDC);\n\nWINGDIAPI int   WINAPI GetObjectA( IN HGDIOBJ, IN int, OUT LPVOID);\nWINGDIAPI int   WINAPI GetObjectW( IN HGDIOBJ, IN int, OUT LPVOID);\n#ifdef UNICODE\n#define GetObject  GetObjectW\n#else\n#define GetObject  GetObjectA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI MoveToEx( IN HDC, IN int, IN int, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI TextOutA( IN HDC, IN int, IN int, IN LPCSTR, IN int);\nWINGDIAPI BOOL  WINAPI TextOutW( IN HDC, IN int, IN int, IN LPCWSTR, IN int);\n#ifdef UNICODE\n#define TextOut  TextOutW\n#else\n#define TextOut  TextOutA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI ExtTextOutA( IN HDC, IN int, IN int, IN UINT, IN CONST RECT *, IN LPCSTR, IN UINT, IN CONST INT *);\nWINGDIAPI BOOL  WINAPI ExtTextOutW( IN HDC, IN int, IN int, IN UINT, IN CONST RECT *, IN LPCWSTR, IN UINT, IN CONST INT *);\n#ifdef UNICODE\n#define ExtTextOut  ExtTextOutW\n#else\n#define ExtTextOut  ExtTextOutA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI PolyTextOutA( IN HDC, IN CONST POLYTEXTA *, IN int);\nWINGDIAPI BOOL  WINAPI PolyTextOutW( IN HDC, IN CONST POLYTEXTW *, IN int);\n#ifdef UNICODE\n#define PolyTextOut  PolyTextOutW\n#else\n#define PolyTextOut  PolyTextOutA\n#endif // !UNICODE\n\nWINGDIAPI HRGN  WINAPI CreatePolygonRgn( IN CONST POINT *, IN int, IN int);\nWINGDIAPI BOOL  WINAPI DPtoLP( IN HDC, IN OUT LPPOINT, IN int);\nWINGDIAPI BOOL  WINAPI LPtoDP( IN HDC, IN OUT LPPOINT, IN int);\nWINGDIAPI BOOL  WINAPI Polygon( IN HDC, IN CONST POINT *, IN int);\nWINGDIAPI BOOL  WINAPI Polyline( IN HDC, IN CONST POINT *, IN int);\n\nWINGDIAPI BOOL  WINAPI PolyBezier( IN HDC, IN CONST POINT *, IN DWORD);\nWINGDIAPI BOOL  WINAPI PolyBezierTo( IN HDC, IN CONST POINT *, IN DWORD);\nWINGDIAPI BOOL  WINAPI PolylineTo( IN HDC, IN CONST POINT *, IN DWORD);\n\nWINGDIAPI BOOL  WINAPI SetViewportExtEx( IN HDC, IN int, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI SetViewportOrgEx( IN HDC, IN int, IN int, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI SetWindowExtEx( IN HDC, IN int, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI SetWindowOrgEx( IN HDC, IN int, IN int, OUT LPPOINT);\n\nWINGDIAPI BOOL  WINAPI OffsetViewportOrgEx( IN HDC, IN int, IN int, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI OffsetWindowOrgEx( IN HDC, IN int, IN int, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI ScaleViewportExtEx( IN HDC, IN int, IN int, IN int, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI ScaleWindowExtEx( IN HDC, IN int, IN int, IN int, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI SetBitmapDimensionEx( IN HBITMAP, IN int, IN int, OUT LPSIZE);\nWINGDIAPI BOOL  WINAPI SetBrushOrgEx( IN HDC, IN int, IN int, OUT LPPOINT);\n\nWINGDIAPI int   WINAPI GetTextFaceA( IN HDC, IN int, OUT LPSTR);\nWINGDIAPI int   WINAPI GetTextFaceW( IN HDC, IN int, OUT LPWSTR);\n#ifdef UNICODE\n#define GetTextFace  GetTextFaceW\n#else\n#define GetTextFace  GetTextFaceA\n#endif // !UNICODE\n\n#define FONTMAPPER_MAX 10\n\ntypedef struct tagKERNINGPAIR {\n   WORD wFirst;\n   WORD wSecond;\n   int  iKernAmount;\n} KERNINGPAIR, *LPKERNINGPAIR;\n\nWINGDIAPI DWORD WINAPI GetKerningPairsA( IN HDC, IN DWORD, OUT LPKERNINGPAIR);\nWINGDIAPI DWORD WINAPI GetKerningPairsW( IN HDC, IN DWORD, OUT LPKERNINGPAIR);\n#ifdef UNICODE\n#define GetKerningPairs  GetKerningPairsW\n#else\n#define GetKerningPairs  GetKerningPairsA\n#endif // !UNICODE\n\nWINGDIAPI BOOL  WINAPI GetDCOrgEx( IN HDC, OUT LPPOINT);\nWINGDIAPI BOOL  WINAPI FixBrushOrgEx( IN HDC, IN int, IN int, IN LPPOINT);\nWINGDIAPI BOOL  WINAPI UnrealizeObject( IN HGDIOBJ);\n\nWINGDIAPI BOOL  WINAPI GdiFlush();\nWINGDIAPI DWORD WINAPI GdiSetBatchLimit( IN DWORD);\nWINGDIAPI DWORD WINAPI GdiGetBatchLimit();\n\n\n#if(WINVER >= 0x0400)\n\n#define ICM_OFF               1\n#define ICM_ON                2\n#define ICM_QUERY             3\n#define ICM_DONE_OUTSIDEDC    4\n\ntypedef int (CALLBACK* ICMENUMPROCA)(LPSTR, LPARAM);\ntypedef int (CALLBACK* ICMENUMPROCW)(LPWSTR, LPARAM);\n#ifdef UNICODE\n#define ICMENUMPROC  ICMENUMPROCW\n#else\n#define ICMENUMPROC  ICMENUMPROCA\n#endif // !UNICODE\n\nWINGDIAPI int         WINAPI SetICMMode( IN HDC, IN int);\nWINGDIAPI BOOL        WINAPI CheckColorsInGamut( IN HDC, IN LPVOID, OUT LPVOID, IN DWORD);\nWINGDIAPI HCOLORSPACE WINAPI GetColorSpace( IN HDC);\nWINGDIAPI BOOL        WINAPI GetLogColorSpaceA( IN HCOLORSPACE, OUT LPLOGCOLORSPACEA, IN DWORD);\nWINGDIAPI BOOL        WINAPI GetLogColorSpaceW( IN HCOLORSPACE, OUT LPLOGCOLORSPACEW, IN DWORD);\n#ifdef UNICODE\n#define GetLogColorSpace  GetLogColorSpaceW\n#else\n#define GetLogColorSpace  GetLogColorSpaceA\n#endif // !UNICODE\nWINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA( IN LPLOGCOLORSPACEA);\nWINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW( IN LPLOGCOLORSPACEW);\n#ifdef UNICODE\n#define CreateColorSpace  CreateColorSpaceW\n#else\n#define CreateColorSpace  CreateColorSpaceA\n#endif // !UNICODE\nWINGDIAPI HCOLORSPACE WINAPI SetColorSpace( IN HDC, IN HCOLORSPACE);\nWINGDIAPI BOOL        WINAPI DeleteColorSpace( IN HCOLORSPACE);\nWINGDIAPI BOOL        WINAPI GetICMProfileA( IN HDC, IN OUT LPDWORD, OUT LPSTR);\nWINGDIAPI BOOL        WINAPI GetICMProfileW( IN HDC, IN OUT LPDWORD, OUT LPWSTR);\n#ifdef UNICODE\n#define GetICMProfile  GetICMProfileW\n#else\n#define GetICMProfile  GetICMProfileA\n#endif // !UNICODE\nWINGDIAPI BOOL        WINAPI SetICMProfileA( IN HDC, IN LPSTR);\nWINGDIAPI BOOL        WINAPI SetICMProfileW( IN HDC, IN LPWSTR);\n#ifdef UNICODE\n#define SetICMProfile  SetICMProfileW\n#else\n#define SetICMProfile  SetICMProfileA\n#endif // !UNICODE\nWINGDIAPI BOOL        WINAPI GetDeviceGammaRamp( IN HDC, OUT LPVOID);\nWINGDIAPI BOOL        WINAPI SetDeviceGammaRamp( IN HDC, IN LPVOID);\nWINGDIAPI BOOL        WINAPI ColorMatchToTarget( IN HDC, IN HDC, IN DWORD);\nWINGDIAPI int         WINAPI EnumICMProfilesA( IN HDC, IN ICMENUMPROCA, IN LPARAM);\nWINGDIAPI int         WINAPI EnumICMProfilesW( IN HDC, IN ICMENUMPROCW, IN LPARAM);\n#ifdef UNICODE\n#define EnumICMProfiles  EnumICMProfilesW\n#else\n#define EnumICMProfiles  EnumICMProfilesA\n#endif // !UNICODE\nWINGDIAPI BOOL        WINAPI UpdateICMRegKeyA( IN DWORD, IN LPSTR, IN LPSTR, IN UINT);\nWINGDIAPI BOOL        WINAPI UpdateICMRegKeyW( IN DWORD, IN LPWSTR, IN LPWSTR, IN UINT);\n#ifdef UNICODE\n#define UpdateICMRegKey  UpdateICMRegKeyW\n#else\n#define UpdateICMRegKey  UpdateICMRegKeyA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\n#if (WINVER >= 0x0500)\nWINGDIAPI BOOL        WINAPI ColorCorrectPalette( IN HDC, IN HPALETTE, IN DWORD, IN DWORD);\n#endif\n\n#ifndef NOMETAFILE\n\n// Enhanced metafile constants.\n\n#ifndef _MAC\n#define ENHMETA_SIGNATURE       0x464D4520\n#else\n#define ENHMETA_SIGNATURE       0x20454D46\n#endif\n\n// Stock object flag used in the object handle index in the enhanced\n// metafile records.\n// E.g. The object handle index (META_STOCK_OBJECT | BLACK_BRUSH)\n// represents the stock object BLACK_BRUSH.\n\n#define ENHMETA_STOCK_OBJECT    0x80000000\n\n// Enhanced metafile record types.\n\n#define EMR_HEADER                      1\n#define EMR_POLYBEZIER                  2\n#define EMR_POLYGON                     3\n#define EMR_POLYLINE                    4\n#define EMR_POLYBEZIERTO                5\n#define EMR_POLYLINETO                  6\n#define EMR_POLYPOLYLINE                7\n#define EMR_POLYPOLYGON                 8\n#define EMR_SETWINDOWEXTEX              9\n#define EMR_SETWINDOWORGEX              10\n#define EMR_SETVIEWPORTEXTEX            11\n#define EMR_SETVIEWPORTORGEX            12\n#define EMR_SETBRUSHORGEX               13\n#define EMR_EOF                         14\n#define EMR_SETPIXELV                   15\n#define EMR_SETMAPPERFLAGS              16\n#define EMR_SETMAPMODE                  17\n#define EMR_SETBKMODE                   18\n#define EMR_SETPOLYFILLMODE             19\n#define EMR_SETROP2                     20\n#define EMR_SETSTRETCHBLTMODE           21\n#define EMR_SETTEXTALIGN                22\n#define EMR_SETCOLORADJUSTMENT          23\n#define EMR_SETTEXTCOLOR                24\n#define EMR_SETBKCOLOR                  25\n#define EMR_OFFSETCLIPRGN               26\n#define EMR_MOVETOEX                    27\n#define EMR_SETMETARGN                  28\n#define EMR_EXCLUDECLIPRECT             29\n#define EMR_INTERSECTCLIPRECT           30\n#define EMR_SCALEVIEWPORTEXTEX          31\n#define EMR_SCALEWINDOWEXTEX            32\n#define EMR_SAVEDC                      33\n#define EMR_RESTOREDC                   34\n#define EMR_SETWORLDTRANSFORM           35\n#define EMR_MODIFYWORLDTRANSFORM        36\n#define EMR_SELECTOBJECT                37\n#define EMR_CREATEPEN                   38\n#define EMR_CREATEBRUSHINDIRECT         39\n#define EMR_DELETEOBJECT                40\n#define EMR_ANGLEARC                    41\n#define EMR_ELLIPSE                     42\n#define EMR_RECTANGLE                   43\n#define EMR_ROUNDRECT                   44\n#define EMR_ARC                         45\n#define EMR_CHORD                       46\n#define EMR_PIE                         47\n#define EMR_SELECTPALETTE               48\n#define EMR_CREATEPALETTE               49\n#define EMR_SETPALETTEENTRIES           50\n#define EMR_RESIZEPALETTE               51\n#define EMR_REALIZEPALETTE              52\n#define EMR_EXTFLOODFILL                53\n#define EMR_LINETO                      54\n#define EMR_ARCTO                       55\n#define EMR_POLYDRAW                    56\n#define EMR_SETARCDIRECTION             57\n#define EMR_SETMITERLIMIT               58\n#define EMR_BEGINPATH                   59\n#define EMR_ENDPATH                     60\n#define EMR_CLOSEFIGURE                 61\n#define EMR_FILLPATH                    62\n#define EMR_STROKEANDFILLPATH           63\n#define EMR_STROKEPATH                  64\n#define EMR_FLATTENPATH                 65\n#define EMR_WIDENPATH                   66\n#define EMR_SELECTCLIPPATH              67\n#define EMR_ABORTPATH                   68\n\n#define EMR_GDICOMMENT                  70\n#define EMR_FILLRGN                     71\n#define EMR_FRAMERGN                    72\n#define EMR_INVERTRGN                   73\n#define EMR_PAINTRGN                    74\n#define EMR_EXTSELECTCLIPRGN            75\n#define EMR_BITBLT                      76\n#define EMR_STRETCHBLT                  77\n#define EMR_MASKBLT                     78\n#define EMR_PLGBLT                      79\n#define EMR_SETDIBITSTODEVICE           80\n#define EMR_STRETCHDIBITS               81\n#define EMR_EXTCREATEFONTINDIRECTW      82\n#define EMR_EXTTEXTOUTA                 83\n#define EMR_EXTTEXTOUTW                 84\n#define EMR_POLYBEZIER16                85\n#define EMR_POLYGON16                   86\n#define EMR_POLYLINE16                  87\n#define EMR_POLYBEZIERTO16              88\n#define EMR_POLYLINETO16                89\n#define EMR_POLYPOLYLINE16              90\n#define EMR_POLYPOLYGON16               91\n#define EMR_POLYDRAW16                  92\n#define EMR_CREATEMONOBRUSH             93\n#define EMR_CREATEDIBPATTERNBRUSHPT     94\n#define EMR_EXTCREATEPEN                95\n#define EMR_POLYTEXTOUTA                96\n#define EMR_POLYTEXTOUTW                97\n\n#if(WINVER >= 0x0400)\n#define EMR_SETICMMODE                  98\n#define EMR_CREATECOLORSPACE            99\n#define EMR_SETCOLORSPACE              100\n#define EMR_DELETECOLORSPACE           101\n#define EMR_GLSRECORD                  102\n#define EMR_GLSBOUNDEDRECORD           103\n#define EMR_PIXELFORMAT                104\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define EMR_RESERVED_105               105\n#define EMR_RESERVED_106               106\n#define EMR_RESERVED_107               107\n#define EMR_RESERVED_108               108\n#define EMR_RESERVED_109               109\n#define EMR_RESERVED_110               110\n#define EMR_COLORCORRECTPALETTE        111\n#define EMR_SETICMPROFILEA             112\n#define EMR_SETICMPROFILEW             113\n#define EMR_ALPHABLEND                 114\n#define EMR_SETLAYOUT                  115\n#define EMR_TRANSPARENTBLT             116\n#define EMR_RESERVED_117               117\n#define EMR_GRADIENTFILL               118\n#define EMR_RESERVED_119               119\n#define EMR_RESERVED_120               120\n#define EMR_COLORMATCHTOTARGETW        121\n#define EMR_CREATECOLORSPACEW          122\n#endif /* WINVER >= 0x0500 */\n\n#define EMR_MIN                          1\n\n#if (WINVER >= 0x0500)\n#define EMR_MAX                        122\n#elif (WINVER >= 0x0400)\n#define EMR_MAX                        104\n#else\n#define EMR_MAX                         97\n#endif\n\n// Base record type for the enhanced metafile.\n\ntypedef struct tagEMR\n{\n    DWORD   iType;              // Enhanced metafile record type\n    DWORD   nSize;              // Length of the record in bytes.\n                                // This must be a multiple of 4.\n} EMR, *PEMR;\n\n// Base text record type for the enhanced metafile.\n\ntypedef struct tagEMRTEXT\n{\n    POINTL  ptlReference;\n    DWORD   nChars;\n    DWORD   offString;          // Offset to the string\n    DWORD   fOptions;\n    RECTL   rcl;\n    DWORD   offDx;              // Offset to the inter-character spacing array.\n                                // This is always given.\n} EMRTEXT, *PEMRTEXT;\n\n// Record structures for the enhanced metafile.\n\ntypedef struct tagABORTPATH\n{\n    EMR     emr;\n} EMRABORTPATH,      *PEMRABORTPATH,\n  EMRBEGINPATH,      *PEMRBEGINPATH,\n  EMRENDPATH,        *PEMRENDPATH,\n  EMRCLOSEFIGURE,    *PEMRCLOSEFIGURE,\n  EMRFLATTENPATH,    *PEMRFLATTENPATH,\n  EMRWIDENPATH,      *PEMRWIDENPATH,\n  EMRSETMETARGN,     *PEMRSETMETARGN,\n  EMRSAVEDC,         *PEMRSAVEDC,\n  EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;\n\ntypedef struct tagEMRSELECTCLIPPATH\n{\n    EMR     emr;\n    DWORD   iMode;\n} EMRSELECTCLIPPATH,    *PEMRSELECTCLIPPATH,\n  EMRSETBKMODE,         *PEMRSETBKMODE,\n  EMRSETMAPMODE,        *PEMRSETMAPMODE,\n#if(WINVER >= 0x0500)\n  EMRSETLAYOUT,         *PEMRSETLAYOUT,\n#endif /* WINVER >= 0x0500 */\n  EMRSETPOLYFILLMODE,   *PEMRSETPOLYFILLMODE,\n  EMRSETROP2,           *PEMRSETROP2,\n  EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,\n  EMRSETICMMODE,        *PEMRSETICMMODE,\n  EMRSETTEXTALIGN,      *PEMRSETTEXTALIGN;\n\ntypedef struct tagEMRSETMITERLIMIT\n{\n    EMR     emr;\n    FLOAT   eMiterLimit;\n} EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;\n\ntypedef struct tagEMRRESTOREDC\n{\n    EMR     emr;\n    LONG    iRelative;          // Specifies a relative instance\n} EMRRESTOREDC, *PEMRRESTOREDC;\n\ntypedef struct tagEMRSETARCDIRECTION\n{\n    EMR     emr;\n    DWORD   iArcDirection;      // Specifies the arc direction in the\n                                // advanced graphics mode.\n} EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;\n\ntypedef struct tagEMRSETMAPPERFLAGS\n{\n    EMR     emr;\n    DWORD   dwFlags;\n} EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;\n\ntypedef struct tagEMRSETTEXTCOLOR\n{\n    EMR     emr;\n    COLORREF crColor;\n} EMRSETBKCOLOR,   *PEMRSETBKCOLOR,\n  EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;\n\ntypedef struct tagEMRSELECTOBJECT\n{\n    EMR     emr;\n    DWORD   ihObject;           // Object handle index\n} EMRSELECTOBJECT, *PEMRSELECTOBJECT,\n  EMRDELETEOBJECT, *PEMRDELETEOBJECT;\n\ntypedef struct tagEMRSELECTPALETTE\n{\n    EMR     emr;\n    DWORD   ihPal;              // Palette handle index, background mode only\n} EMRSELECTPALETTE, *PEMRSELECTPALETTE;\n\ntypedef struct tagEMRRESIZEPALETTE\n{\n    EMR     emr;\n    DWORD   ihPal;              // Palette handle index\n    DWORD   cEntries;\n} EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;\n\ntypedef struct tagEMRSETPALETTEENTRIES\n{\n    EMR     emr;\n    DWORD   ihPal;              // Palette handle index\n    DWORD   iStart;\n    DWORD   cEntries;\n    PALETTEENTRY aPalEntries[1];// The peFlags fields do not contain any flags\n} EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;\n\ntypedef struct tagEMRSETCOLORADJUSTMENT\n{\n    EMR     emr;\n    COLORADJUSTMENT ColorAdjustment;\n} EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;\n\ntypedef struct tagEMRGDICOMMENT\n{\n    EMR     emr;\n    DWORD   cbData;             // Size of data in bytes\n    BYTE    Data[1];\n} EMRGDICOMMENT, *PEMRGDICOMMENT;\n\ntypedef struct tagEMREOF\n{\n    EMR     emr;\n    DWORD   nPalEntries;        // Number of palette entries\n    DWORD   offPalEntries;      // Offset to the palette entries\n    DWORD   nSizeLast;          // Same as nSize and must be the last DWORD\n                                // of the record.  The palette entries,\n                                // if exist, precede this field.\n} EMREOF, *PEMREOF;\n\ntypedef struct tagEMRLINETO\n{\n    EMR     emr;\n    POINTL  ptl;\n} EMRLINETO,   *PEMRLINETO,\n  EMRMOVETOEX, *PEMRMOVETOEX;\n\ntypedef struct tagEMROFFSETCLIPRGN\n{\n    EMR     emr;\n    POINTL  ptlOffset;\n} EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;\n\ntypedef struct tagEMRFILLPATH\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n} EMRFILLPATH,          *PEMRFILLPATH,\n  EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,\n  EMRSTROKEPATH,        *PEMRSTROKEPATH;\n\ntypedef struct tagEMREXCLUDECLIPRECT\n{\n    EMR     emr;\n    RECTL   rclClip;\n} EMREXCLUDECLIPRECT,   *PEMREXCLUDECLIPRECT,\n  EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;\n\ntypedef struct tagEMRSETVIEWPORTORGEX\n{\n    EMR     emr;\n    POINTL  ptlOrigin;\n} EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,\n  EMRSETWINDOWORGEX,   *PEMRSETWINDOWORGEX,\n  EMRSETBRUSHORGEX,    *PEMRSETBRUSHORGEX;\n\ntypedef struct tagEMRSETVIEWPORTEXTEX\n{\n    EMR     emr;\n    SIZEL   szlExtent;\n} EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,\n  EMRSETWINDOWEXTEX,   *PEMRSETWINDOWEXTEX;\n\ntypedef struct tagEMRSCALEVIEWPORTEXTEX\n{\n    EMR     emr;\n    LONG    xNum;\n    LONG    xDenom;\n    LONG    yNum;\n    LONG    yDenom;\n} EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,\n  EMRSCALEWINDOWEXTEX,   *PEMRSCALEWINDOWEXTEX;\n\ntypedef struct tagEMRSETWORLDTRANSFORM\n{\n    EMR     emr;\n    XFORM   xform;\n} EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;\n\ntypedef struct tagEMRMODIFYWORLDTRANSFORM\n{\n    EMR     emr;\n    XFORM   xform;\n    DWORD   iMode;\n} EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM;\n\ntypedef struct tagEMRSETPIXELV\n{\n    EMR     emr;\n    POINTL  ptlPixel;\n    COLORREF crColor;\n} EMRSETPIXELV, *PEMRSETPIXELV;\n\ntypedef struct tagEMREXTFLOODFILL\n{\n    EMR     emr;\n    POINTL  ptlStart;\n    COLORREF crColor;\n    DWORD   iMode;\n} EMREXTFLOODFILL, *PEMREXTFLOODFILL;\n\ntypedef struct tagEMRELLIPSE\n{\n    EMR     emr;\n    RECTL   rclBox;             // Inclusive-inclusive bounding rectangle\n} EMRELLIPSE,  *PEMRELLIPSE,\n  EMRRECTANGLE, *PEMRRECTANGLE;\n\n\ntypedef struct tagEMRROUNDRECT\n{\n    EMR     emr;\n    RECTL   rclBox;             // Inclusive-inclusive bounding rectangle\n    SIZEL   szlCorner;\n} EMRROUNDRECT, *PEMRROUNDRECT;\n\ntypedef struct tagEMRARC\n{\n    EMR     emr;\n    RECTL   rclBox;             // Inclusive-inclusive bounding rectangle\n    POINTL  ptlStart;\n    POINTL  ptlEnd;\n} EMRARC,   *PEMRARC,\n  EMRARCTO, *PEMRARCTO,\n  EMRCHORD, *PEMRCHORD,\n  EMRPIE,   *PEMRPIE;\n\ntypedef struct tagEMRANGLEARC\n{\n    EMR     emr;\n    POINTL  ptlCenter;\n    DWORD   nRadius;\n    FLOAT   eStartAngle;\n    FLOAT   eSweepAngle;\n} EMRANGLEARC, *PEMRANGLEARC;\n\ntypedef struct tagEMRPOLYLINE\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cptl;\n    POINTL  aptl[1];\n} EMRPOLYLINE,     *PEMRPOLYLINE,\n  EMRPOLYBEZIER,   *PEMRPOLYBEZIER,\n  EMRPOLYGON,      *PEMRPOLYGON,\n  EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,\n  EMRPOLYLINETO,   *PEMRPOLYLINETO;\n\ntypedef struct tagEMRPOLYLINE16\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cpts;\n    POINTS  apts[1];\n} EMRPOLYLINE16,     *PEMRPOLYLINE16,\n  EMRPOLYBEZIER16,   *PEMRPOLYBEZIER16,\n  EMRPOLYGON16,      *PEMRPOLYGON16,\n  EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,\n  EMRPOLYLINETO16,   *PEMRPOLYLINETO16;\n\ntypedef struct tagEMRPOLYDRAW\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cptl;               // Number of points\n    POINTL  aptl[1];            // Array of points\n    BYTE    abTypes[1];         // Array of point types\n} EMRPOLYDRAW, *PEMRPOLYDRAW;\n\ntypedef struct tagEMRPOLYDRAW16\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cpts;               // Number of points\n    POINTS  apts[1];            // Array of points\n    BYTE    abTypes[1];         // Array of point types\n} EMRPOLYDRAW16, *PEMRPOLYDRAW16;\n\ntypedef struct tagEMRPOLYPOLYLINE\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   nPolys;             // Number of polys\n    DWORD   cptl;               // Total number of points in all polys\n    DWORD   aPolyCounts[1];     // Array of point counts for each poly\n    POINTL  aptl[1];            // Array of points\n} EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,\n  EMRPOLYPOLYGON,  *PEMRPOLYPOLYGON;\n\ntypedef struct tagEMRPOLYPOLYLINE16\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   nPolys;             // Number of polys\n    DWORD   cpts;               // Total number of points in all polys\n    DWORD   aPolyCounts[1];     // Array of point counts for each poly\n    POINTS  apts[1];            // Array of points\n} EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,\n  EMRPOLYPOLYGON16,  *PEMRPOLYPOLYGON16;\n\ntypedef struct tagEMRINVERTRGN\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cbRgnData;          // Size of region data in bytes\n    BYTE    RgnData[1];\n} EMRINVERTRGN, *PEMRINVERTRGN,\n  EMRPAINTRGN,  *PEMRPAINTRGN;\n\ntypedef struct tagEMRFILLRGN\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cbRgnData;          // Size of region data in bytes\n    DWORD   ihBrush;            // Brush handle index\n    BYTE    RgnData[1];\n} EMRFILLRGN, *PEMRFILLRGN;\n\ntypedef struct tagEMRFRAMERGN\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   cbRgnData;          // Size of region data in bytes\n    DWORD   ihBrush;            // Brush handle index\n    SIZEL   szlStroke;\n    BYTE    RgnData[1];\n} EMRFRAMERGN, *PEMRFRAMERGN;\n\ntypedef struct tagEMREXTSELECTCLIPRGN\n{\n    EMR     emr;\n    DWORD   cbRgnData;          // Size of region data in bytes\n    DWORD   iMode;\n    BYTE    RgnData[1];\n} EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;\n\ntypedef struct tagEMREXTTEXTOUTA\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   iGraphicsMode;      // Current graphics mode\n    FLOAT   exScale;            // X and Y scales from Page units to .01mm units\n    FLOAT   eyScale;            //   if graphics mode is GM_COMPATIBLE.\n    EMRTEXT emrtext;            // This is followed by the string and spacing\n                                // array\n} EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,\n  EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;\n\ntypedef struct tagEMRPOLYTEXTOUTA\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD   iGraphicsMode;      // Current graphics mode\n    FLOAT   exScale;            // X and Y scales from Page units to .01mm units\n    FLOAT   eyScale;            //   if graphics mode is GM_COMPATIBLE.\n    LONG    cStrings;\n    EMRTEXT aemrtext[1];        // Array of EMRTEXT structures.  This is\n                                // followed by the strings and spacing arrays.\n} EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,\n  EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;\n\ntypedef struct tagEMRBITBLT\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    cxDest;\n    LONG    cyDest;\n    DWORD   dwRop;\n    LONG    xSrc;\n    LONG    ySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n} EMRBITBLT, *PEMRBITBLT;\n\ntypedef struct tagEMRSTRETCHBLT\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    cxDest;\n    LONG    cyDest;\n    DWORD   dwRop;\n    LONG    xSrc;\n    LONG    ySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    LONG    cxSrc;\n    LONG    cySrc;\n} EMRSTRETCHBLT, *PEMRSTRETCHBLT;\n\ntypedef struct tagEMRMASKBLT\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    cxDest;\n    LONG    cyDest;\n    DWORD   dwRop;\n    LONG    xSrc;\n    LONG    ySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    LONG    xMask;\n    LONG    yMask;\n    DWORD   iUsageMask;         // Mask bitmap info color table usage\n    DWORD   offBmiMask;         // Offset to the mask BITMAPINFO structure if any\n    DWORD   cbBmiMask;          // Size of the mask BITMAPINFO structure if any\n    DWORD   offBitsMask;        // Offset to the mask bitmap bits if any\n    DWORD   cbBitsMask;         // Size of the mask bitmap bits if any\n} EMRMASKBLT, *PEMRMASKBLT;\n\ntypedef struct tagEMRPLGBLT\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    POINTL  aptlDest[3];\n    LONG    xSrc;\n    LONG    ySrc;\n    LONG    cxSrc;\n    LONG    cySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    LONG    xMask;\n    LONG    yMask;\n    DWORD   iUsageMask;         // Mask bitmap info color table usage\n    DWORD   offBmiMask;         // Offset to the mask BITMAPINFO structure if any\n    DWORD   cbBmiMask;          // Size of the mask BITMAPINFO structure if any\n    DWORD   offBitsMask;        // Offset to the mask bitmap bits if any\n    DWORD   cbBitsMask;         // Size of the mask bitmap bits if any\n} EMRPLGBLT, *PEMRPLGBLT;\n\ntypedef struct tagEMRSETDIBITSTODEVICE\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    xSrc;\n    LONG    ySrc;\n    LONG    cxSrc;\n    LONG    cySrc;\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n    DWORD   iStartScan;\n    DWORD   cScans;\n} EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;\n\ntypedef struct tagEMRSTRETCHDIBITS\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    xSrc;\n    LONG    ySrc;\n    LONG    cxSrc;\n    LONG    cySrc;\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n    DWORD   dwRop;\n    LONG    cxDest;\n    LONG    cyDest;\n} EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;\n\ntypedef struct tagEMREXTCREATEFONTINDIRECTW\n{\n    EMR     emr;\n    DWORD   ihFont;             // Font handle index\n    EXTLOGFONTW elfw;\n} EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW;\n\ntypedef struct tagEMRCREATEPALETTE\n{\n    EMR     emr;\n    DWORD   ihPal;              // Palette handle index\n    LOGPALETTE lgpl;            // The peFlags fields in the palette entries\n                                // do not contain any flags\n} EMRCREATEPALETTE, *PEMRCREATEPALETTE;\n\ntypedef struct tagEMRCREATEPEN\n{\n    EMR     emr;\n    DWORD   ihPen;              // Pen handle index\n    LOGPEN  lopn;\n} EMRCREATEPEN, *PEMRCREATEPEN;\n\ntypedef struct tagEMREXTCREATEPEN\n{\n    EMR     emr;\n    DWORD   ihPen;              // Pen handle index\n    DWORD   offBmi;             // Offset to the BITMAPINFO structure if any\n    DWORD   cbBmi;              // Size of the BITMAPINFO structure if any\n                                // The bitmap info is followed by the bitmap\n                                // bits to form a packed DIB.\n    DWORD   offBits;            // Offset to the brush bitmap bits if any\n    DWORD   cbBits;             // Size of the brush bitmap bits if any\n    EXTLOGPEN elp;              // The extended pen with the style array.\n} EMREXTCREATEPEN, *PEMREXTCREATEPEN;\n\ntypedef struct tagEMRCREATEBRUSHINDIRECT\n{\n    EMR        emr;\n    DWORD      ihBrush;          // Brush handle index\n    LOGBRUSH32 lb;               // The style must be BS_SOLID, BS_HOLLOW,\n                                 // BS_NULL or BS_HATCHED.\n} EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;\n\ntypedef struct tagEMRCREATEMONOBRUSH\n{\n    EMR     emr;\n    DWORD   ihBrush;            // Brush handle index\n    DWORD   iUsage;             // Bitmap info color table usage\n    DWORD   offBmi;             // Offset to the BITMAPINFO structure\n    DWORD   cbBmi;              // Size of the BITMAPINFO structure\n    DWORD   offBits;            // Offset to the bitmap bits\n    DWORD   cbBits;             // Size of the bitmap bits\n} EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;\n\ntypedef struct tagEMRCREATEDIBPATTERNBRUSHPT\n{\n    EMR     emr;\n    DWORD   ihBrush;            // Brush handle index\n    DWORD   iUsage;             // Bitmap info color table usage\n    DWORD   offBmi;             // Offset to the BITMAPINFO structure\n    DWORD   cbBmi;              // Size of the BITMAPINFO structure\n                                // The bitmap info is followed by the bitmap\n                                // bits to form a packed DIB.\n    DWORD   offBits;            // Offset to the bitmap bits\n    DWORD   cbBits;             // Size of the bitmap bits\n} EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT;\n\ntypedef struct tagEMRFORMAT\n{\n    DWORD   dSignature;         // Format signature, e.g. ENHMETA_SIGNATURE.\n    DWORD   nVersion;           // Format version number.\n    DWORD   cbData;             // Size of data in bytes.\n    DWORD   offData;            // Offset to data from GDICOMMENT_IDENTIFIER.\n                                // It must begin at a DWORD offset.\n} EMRFORMAT, *PEMRFORMAT;\n\n#if(WINVER >= 0x0400)\n\ntypedef struct tagEMRGLSRECORD\n{\n    EMR     emr;\n    DWORD   cbData;             // Size of data in bytes\n    BYTE    Data[1];\n} EMRGLSRECORD, *PEMRGLSRECORD;\n\ntypedef struct tagEMRGLSBOUNDEDRECORD\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Bounds in recording coordinates\n    DWORD   cbData;             // Size of data in bytes\n    BYTE    Data[1];\n} EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD;\n\ntypedef struct tagEMRPIXELFORMAT\n{\n    EMR     emr;\n    PIXELFORMATDESCRIPTOR pfd;\n} EMRPIXELFORMAT, *PEMRPIXELFORMAT;\n\ntypedef struct tagEMRCREATECOLORSPACE\n{\n    EMR             emr;\n    DWORD           ihCS;       // ColorSpace handle index\n    LOGCOLORSPACEA  lcs;        // Ansi version of LOGCOLORSPACE\n} EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;\n\ntypedef struct tagEMRSETCOLORSPACE\n{\n    EMR     emr;\n    DWORD   ihCS;               // ColorSpace handle index\n} EMRSETCOLORSPACE,    *PEMRSETCOLORSPACE,\n  EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,\n  EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;\n\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n\ntypedef struct tagEMREXTESCAPE\n{\n    EMR     emr;\n    INT     iEscape;            // Escape code\n    INT     cbEscData;          // Size of escape data\n    BYTE    EscData[1];         // Escape data\n} EMREXTESCAPE,  *PEMREXTESCAPE,\n  EMRDRAWESCAPE, *PEMRDRAWESCAPE;\n\ntypedef struct tagEMRNAMEDESCAPE\n{\n    EMR     emr;\n    INT     iEscape;            // Escape code\n    INT     cbDriver;           // Size of driver name\n    INT     cbEscData;          // Size of escape data\n    BYTE    EscData[1];         // Driver name and Escape data\n} EMRNAMEDESCAPE, *PEMRNAMEDESCAPE;\n\n#define SETICMPROFILE_EMBEDED           0x00000001\n\ntypedef struct tagEMRSETICMPROFILE\n{\n    EMR     emr;\n    DWORD   dwFlags;            // flags\n    DWORD   cbName;             // Size of desired profile name\n    DWORD   cbData;             // Size of raw profile data if attached\n    BYTE    Data[1];            // Array size is cbName + cbData\n} EMRSETICMPROFILE,  *PEMRSETICMPROFILE,\n  EMRSETICMPROFILEA, *PEMRSETICMPROFILEA,\n  EMRSETICMPROFILEW, *PEMRSETICMPROFILEW;\n\n#define CREATECOLORSPACE_EMBEDED        0x00000001\n\ntypedef struct tagEMRCREATECOLORSPACEW\n{\n    EMR             emr;\n    DWORD           ihCS;       // ColorSpace handle index\n    LOGCOLORSPACEW  lcs;        // Unicode version of logical color space structure\n    DWORD           dwFlags;    // flags\n    DWORD           cbData;     // size of raw source profile data if attached\n    BYTE            Data[1];    // Array size is cbData\n} EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW;\n\n#define COLORMATCHTOTARGET_EMBEDED      0x00000001\n\ntypedef struct tagCOLORMATCHTOTARGET\n{\n    EMR     emr;\n    DWORD   dwAction;           // CS_ENABLE, CS_DISABLE or CS_DELETE_TRANSFORM\n    DWORD   dwFlags;            // flags\n    DWORD   cbName;             // Size of desired target profile name\n    DWORD   cbData;             // Size of raw target profile data if attached\n    BYTE    Data[1];            // Array size is cbName + cbData\n} EMRCOLORMATCHTOTARGET, *PEMRCOLORMATCHTOTARGET;\n\ntypedef struct tagCOLORCORRECTPALETTE\n{\n    EMR     emr;\n    DWORD   ihPalette;          // Palette handle index\n    DWORD   nFirstEntry;        // Index of first entry to correct\n    DWORD   nPalEntries;        // Number of palette entries to correct\n    DWORD   nReserved;          // Reserved\n} EMRCOLORCORRECTPALETTE, *PEMRCOLORCORRECTPALETTE;\n\ntypedef struct tagEMRALPHABLEND\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    cxDest;\n    LONG    cyDest;\n    DWORD   dwRop;\n    LONG    xSrc;\n    LONG    ySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    LONG    cxSrc;\n    LONG    cySrc;\n} EMRALPHABLEND, *PEMRALPHABLEND;\n\ntypedef struct tagEMRGRADIENTFILL\n{\n    EMR       emr;\n    RECTL     rclBounds;          // Inclusive-inclusive bounds in device units\n    DWORD     nVer;\n    DWORD     nTri;\n    ULONG     ulMode;\n    TRIVERTEX Ver[1];\n}EMRGRADIENTFILL,*PEMRGRADIENTFILL;\n\ntypedef struct tagEMRTRANSPARENTBLT\n{\n    EMR     emr;\n    RECTL   rclBounds;          // Inclusive-inclusive bounds in device units\n    LONG    xDest;\n    LONG    yDest;\n    LONG    cxDest;\n    LONG    cyDest;\n    DWORD   dwRop;\n    LONG    xSrc;\n    LONG    ySrc;\n    XFORM   xformSrc;           // Source DC transform\n    COLORREF crBkColorSrc;      // Source DC BkColor in RGB\n    DWORD   iUsageSrc;          // Source bitmap info color table usage\n                                // (DIB_RGB_COLORS)\n    DWORD   offBmiSrc;          // Offset to the source BITMAPINFO structure\n    DWORD   cbBmiSrc;           // Size of the source BITMAPINFO structure\n    DWORD   offBitsSrc;         // Offset to the source bitmap bits\n    DWORD   cbBitsSrc;          // Size of the source bitmap bits\n    LONG    cxSrc;\n    LONG    cySrc;\n} EMRTRANSPARENTBLT, *PEMRTRANSPARENTBLT;\n\n\n#endif /* WINVER >= 0x0500 */\n\n#define GDICOMMENT_IDENTIFIER           0x43494447\n#define GDICOMMENT_WINDOWS_METAFILE     0x80000001\n#define GDICOMMENT_BEGINGROUP           0x00000002\n#define GDICOMMENT_ENDGROUP             0x00000003\n#define GDICOMMENT_MULTIFORMATS         0x40000004\n#define EPS_SIGNATURE                   0x46535045\n#define GDICOMMENT_UNICODE_STRING       0x00000040\n#define GDICOMMENT_UNICODE_END          0x00000080\n\n#endif  /* NOMETAFILE */\n\n\n// OpenGL wgl prototypes\n\nWINGDIAPI BOOL  WINAPI wglCopyContext(HGLRC, HGLRC, UINT);\nWINGDIAPI HGLRC WINAPI wglCreateContext(HDC);\nWINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC, int);\nWINGDIAPI BOOL  WINAPI wglDeleteContext(HGLRC);\nWINGDIAPI HGLRC WINAPI wglGetCurrentContext(VOID);\nWINGDIAPI HDC   WINAPI wglGetCurrentDC(VOID);\nWINGDIAPI PROC  WINAPI wglGetProcAddress(LPCSTR);\nWINGDIAPI BOOL  WINAPI wglMakeCurrent(HDC, HGLRC);\nWINGDIAPI BOOL  WINAPI wglShareLists(HGLRC, HGLRC);\nWINGDIAPI BOOL  WINAPI wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD);\nWINGDIAPI BOOL  WINAPI wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);\n#ifdef UNICODE\n#define wglUseFontBitmaps  wglUseFontBitmapsW\n#else\n#define wglUseFontBitmaps  wglUseFontBitmapsA\n#endif // !UNICODE\nWINGDIAPI BOOL  WINAPI SwapBuffers(HDC);\n\ntypedef struct _POINTFLOAT {\n    FLOAT   x;\n    FLOAT   y;\n} POINTFLOAT, *PPOINTFLOAT;\n\ntypedef struct _GLYPHMETRICSFLOAT {\n    FLOAT       gmfBlackBoxX;\n    FLOAT       gmfBlackBoxY;\n    POINTFLOAT  gmfptGlyphOrigin;\n    FLOAT       gmfCellIncX;\n    FLOAT       gmfCellIncY;\n} GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, FAR *LPGLYPHMETRICSFLOAT;\n\n#define WGL_FONT_LINES      0\n#define WGL_FONT_POLYGONS   1\nWINGDIAPI BOOL  WINAPI wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT,\n                                           FLOAT, int, LPGLYPHMETRICSFLOAT);\nWINGDIAPI BOOL  WINAPI wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT,\n                                           FLOAT, int, LPGLYPHMETRICSFLOAT);\n#ifdef UNICODE\n#define wglUseFontOutlines  wglUseFontOutlinesW\n#else\n#define wglUseFontOutlines  wglUseFontOutlinesA\n#endif // !UNICODE\n\n/* Layer plane descriptor */\ntypedef struct tagLAYERPLANEDESCRIPTOR { // lpd\n    WORD  nSize;\n    WORD  nVersion;\n    DWORD dwFlags;\n    BYTE  iPixelType;\n    BYTE  cColorBits;\n    BYTE  cRedBits;\n    BYTE  cRedShift;\n    BYTE  cGreenBits;\n    BYTE  cGreenShift;\n    BYTE  cBlueBits;\n    BYTE  cBlueShift;\n    BYTE  cAlphaBits;\n    BYTE  cAlphaShift;\n    BYTE  cAccumBits;\n    BYTE  cAccumRedBits;\n    BYTE  cAccumGreenBits;\n    BYTE  cAccumBlueBits;\n    BYTE  cAccumAlphaBits;\n    BYTE  cDepthBits;\n    BYTE  cStencilBits;\n    BYTE  cAuxBuffers;\n    BYTE  iLayerPlane;\n    BYTE  bReserved;\n    COLORREF crTransparent;\n} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, FAR *LPLAYERPLANEDESCRIPTOR;\n\n/* LAYERPLANEDESCRIPTOR flags */\n#define LPD_DOUBLEBUFFER        0x00000001\n#define LPD_STEREO              0x00000002\n#define LPD_SUPPORT_GDI         0x00000010\n#define LPD_SUPPORT_OPENGL      0x00000020\n#define LPD_SHARE_DEPTH         0x00000040\n#define LPD_SHARE_STENCIL       0x00000080\n#define LPD_SHARE_ACCUM         0x00000100\n#define LPD_SWAP_EXCHANGE       0x00000200\n#define LPD_SWAP_COPY           0x00000400\n#define LPD_TRANSPARENT         0x00001000\n\n#define LPD_TYPE_RGBA        0\n#define LPD_TYPE_COLORINDEX  1\n\n/* wglSwapLayerBuffers flags */\n#define WGL_SWAP_MAIN_PLANE     0x00000001\n#define WGL_SWAP_OVERLAY1       0x00000002\n#define WGL_SWAP_OVERLAY2       0x00000004\n#define WGL_SWAP_OVERLAY3       0x00000008\n#define WGL_SWAP_OVERLAY4       0x00000010\n#define WGL_SWAP_OVERLAY5       0x00000020\n#define WGL_SWAP_OVERLAY6       0x00000040\n#define WGL_SWAP_OVERLAY7       0x00000080\n#define WGL_SWAP_OVERLAY8       0x00000100\n#define WGL_SWAP_OVERLAY9       0x00000200\n#define WGL_SWAP_OVERLAY10      0x00000400\n#define WGL_SWAP_OVERLAY11      0x00000800\n#define WGL_SWAP_OVERLAY12      0x00001000\n#define WGL_SWAP_OVERLAY13      0x00002000\n#define WGL_SWAP_OVERLAY14      0x00004000\n#define WGL_SWAP_OVERLAY15      0x00008000\n#define WGL_SWAP_UNDERLAY1      0x00010000\n#define WGL_SWAP_UNDERLAY2      0x00020000\n#define WGL_SWAP_UNDERLAY3      0x00040000\n#define WGL_SWAP_UNDERLAY4      0x00080000\n#define WGL_SWAP_UNDERLAY5      0x00100000\n#define WGL_SWAP_UNDERLAY6      0x00200000\n#define WGL_SWAP_UNDERLAY7      0x00400000\n#define WGL_SWAP_UNDERLAY8      0x00800000\n#define WGL_SWAP_UNDERLAY9      0x01000000\n#define WGL_SWAP_UNDERLAY10     0x02000000\n#define WGL_SWAP_UNDERLAY11     0x04000000\n#define WGL_SWAP_UNDERLAY12     0x08000000\n#define WGL_SWAP_UNDERLAY13     0x10000000\n#define WGL_SWAP_UNDERLAY14     0x20000000\n#define WGL_SWAP_UNDERLAY15     0x40000000\n\nWINGDIAPI BOOL  WINAPI wglDescribeLayerPlane(HDC, int, int, UINT,\n                                             LPLAYERPLANEDESCRIPTOR);\nWINGDIAPI int   WINAPI wglSetLayerPaletteEntries(HDC, int, int, int,\n                                                 CONST COLORREF *);\nWINGDIAPI int   WINAPI wglGetLayerPaletteEntries(HDC, int, int, int,\n                                                 COLORREF *);\nWINGDIAPI BOOL  WINAPI wglRealizeLayerPalette(HDC, int, BOOL);\nWINGDIAPI BOOL  WINAPI wglSwapLayerBuffers(HDC, UINT);\n\n#if (WINVER >= 0x0500)\n\ntypedef struct _WGLSWAP\n{\n    HDC hdc;\n    UINT uiFlags;\n} WGLSWAP, *PWGLSWAP, FAR *LPWGLSWAP;\n\n#define WGL_SWAPMULTIPLE_MAX 16\n\nWINGDIAPI DWORD WINAPI wglSwapMultipleBuffers(UINT, CONST WGLSWAP *);\n\n#endif // (WINVER >= 0x0500)\n\n#endif /* NOGDI */\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif /* _WINGDI_ */\n\n"
  },
  {
    "path": "Bin/i386/APILib/WinNT.h",
    "content": "/*++ BUILD Version: 0081     Increment this if a change has global effects\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nModule Name:\n\n    winnt.h\n\nAbstract:\n\n    This module defines the 32-Bit Windows types and constants that are\n    defined by NT, but exposed through the Win32 API.\n\nRevision History:\n\n--*/\n\n#ifndef _WINNT_\n#define _WINNT_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#include <ctype.h>  \n#define ANYSIZE_ARRAY 1       \n\n#if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && defined(ENABLE_RESTRICTED)\n#define RESTRICTED_POINTER __restrict\n#else\n#define RESTRICTED_POINTER\n#endif\n\n#if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64)\n#define UNALIGNED __unaligned\n#if defined(_WIN64)\n#define UNALIGNED64 __unaligned\n#else\n#define UNALIGNED64\n#endif\n#else\n#define UNALIGNED\n#define UNALIGNED64\n#endif\n\n\n#if defined(_WIN64) || defined(_M_ALPHA)\n#define MAX_NATURAL_ALIGNMENT sizeof(ULONGLONG)\n#define MEMORY_ALLOCATION_ALIGNMENT 16\n#else\n#define MAX_NATURAL_ALIGNMENT sizeof(DWORD)\n#define MEMORY_ALLOCATION_ALIGNMENT 8\n#endif\n\n//\n// TYPE_ALIGNMENT will return the alignment requirements of a given type for\n// the current platform.\n//\n\n#ifdef __cplusplus\n#if _MSC_VER >= 1300\n#define TYPE_ALIGNMENT( t ) __alignof(t)\n#endif\n#else\n#define TYPE_ALIGNMENT( t ) \\\n    FIELD_OFFSET( struct { char x; t test; }, test )\n#endif\n\n#if defined(_WIN64)\n\n#define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \\\n                               TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))\n\n#define PROBE_ALIGNMENT32( _s ) TYPE_ALIGNMENT( DWORD )\n\n#else\n\n#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )\n\n#endif\n\n//\n// C_ASSERT() can be used to perform many compile-time assertions:\n//            type sizes, field offsets, etc.\n//\n// An assertion failure results in error C2118: negative subscript.\n//\n\n#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]\n\n#if !defined(_MAC) && (defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_VER >= 1100) && !(defined(MIDL_PASS) || defined(RC_INVOKED))\n#define POINTER_64 __ptr64\ntypedef unsigned __int64 POINTER_64_INT;\n#if defined(_WIN64)\n#define POINTER_32 __ptr32\n#else\n#define POINTER_32\n#endif\n#else\n#if defined(_MAC) && defined(_MAC_INT_64)\n#define POINTER_64 __ptr64\ntypedef unsigned __int64 POINTER_64_INT;\n#else\n#define POINTER_64\ntypedef unsigned long POINTER_64_INT;\n#endif\n#define POINTER_32\n#endif\n\n#if defined(_IA64_) || defined(_AMD64_)\n#define FIRMWARE_PTR\n#else\n#define FIRMWARE_PTR POINTER_32\n#endif\n\n#include <basetsd.h>\n\n\n#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(MIDL_PASS)\n#define DECLSPEC_IMPORT __declspec(dllimport)\n#else\n#define DECLSPEC_IMPORT\n#endif\n\n#ifndef DECLSPEC_NORETURN\n#if (_MSC_VER >= 1200) && !defined(MIDL_PASS)\n#define DECLSPEC_NORETURN   __declspec(noreturn)\n#else\n#define DECLSPEC_NORETURN\n#endif\n#endif\n\n#ifndef DECLSPEC_ALIGN\n#if (_MSC_VER >= 1300) && !defined(MIDL_PASS)\n#define DECLSPEC_ALIGN(x)   __declspec(align(x))\n#else\n#define DECLSPEC_ALIGN(x)\n#endif\n#endif\n\n#ifndef DECLSPEC_CACHEALIGN\n#define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(128)\n#endif\n\n#ifndef DECLSPEC_UUID\n#if (_MSC_VER >= 1100) && defined (__cplusplus)\n#define DECLSPEC_UUID(x)    __declspec(uuid(x))\n#else\n#define DECLSPEC_UUID(x)\n#endif\n#endif\n\n#ifndef DECLSPEC_NOVTABLE\n#if (_MSC_VER >= 1100) && defined(__cplusplus)\n#define DECLSPEC_NOVTABLE   __declspec(novtable)\n#else\n#define DECLSPEC_NOVTABLE\n#endif\n#endif\n\n#ifndef DECLSPEC_SELECTANY\n#if (_MSC_VER >= 1100)\n#define DECLSPEC_SELECTANY  __declspec(selectany)\n#else\n#define DECLSPEC_SELECTANY\n#endif\n#endif\n\n#ifndef NOP_FUNCTION\n#if (_MSC_VER >= 1210)\n#define NOP_FUNCTION __noop\n#else\n#define NOP_FUNCTION (void)0\n#endif\n#endif\n\n#ifndef DECLSPEC_ADDRSAFE\n#if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64))\n#define DECLSPEC_ADDRSAFE  __declspec(address_safe)\n#else\n#define DECLSPEC_ADDRSAFE\n#endif\n#endif\n\n#ifndef FORCEINLINE\n#if (_MSC_VER >= 1200)\n#define FORCEINLINE __forceinline\n#else\n#define FORCEINLINE __inline\n#endif\n#endif\n\n#ifndef DECLSPEC_DEPRECATED\n#if (_MSC_VER >= 1300) && !defined(MIDL_PASS)\n#define DECLSPEC_DEPRECATED   __declspec(deprecated)\n#define DEPRECATE_SUPPORTED\n#else\n#define DECLSPEC_DEPRECATED\n#undef  DEPRECATE_SUPPORTED\n#endif\n#endif\n\n#ifdef DEPRECATE_DDK_FUNCTIONS\n#ifdef _NTDDK_\n#define DECLSPEC_DEPRECATED_DDK DECLSPEC_DEPRECATED\n#ifdef DEPRECATE_SUPPORTED\n#define PRAGMA_DEPRECATED_DDK 1\n#endif\n#else\n#define DECLSPEC_DEPRECATED_DDK\n#define PRAGMA_DEPRECATED_DDK 1\n#endif\n#else\n#define DECLSPEC_DEPRECATED_DDK\n#define PRAGMA_DEPRECATED_DDK 0\n#endif\n\n//\n// Void\n//\n\ntypedef void *PVOID;\ntypedef void * POINTER_64 PVOID64;\n\n\n#if ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) && !defined(_M_AMD64)\n#define NTAPI __stdcall\n#else\n#define _cdecl\n#define NTAPI\n#endif\n\n//\n// Define API decoration for direct importing system DLL references.\n//\n\n#if !defined(_NTSYSTEM_)\n#define NTSYSAPI     DECLSPEC_IMPORT\n#define NTSYSCALLAPI DECLSPEC_IMPORT\n#else\n#define NTSYSAPI\n#if defined(_NTDLLBUILD_)\n#define NTSYSCALLAPI\n#else\n#define NTSYSCALLAPI DECLSPEC_ADDRSAFE\n#endif\n\n#endif\n\n\n//\n// Basics\n//\n\n#ifndef VOID\n#define VOID void\ntypedef char CHAR;\ntypedef short SHORT;\ntypedef long LONG;\n#endif\n\n//\n// UNICODE (Wide Character) types\n//\n\n#ifndef _MAC\ntypedef wchar_t WCHAR;    // wc,   16-bit UNICODE character\n#else\n// some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char\ntypedef unsigned short WCHAR;    // wc,   16-bit UNICODE character\n#endif\n\ntypedef WCHAR *PWCHAR;\ntypedef WCHAR *LPWCH, *PWCH;\ntypedef CONST WCHAR *LPCWCH, *PCWCH;\ntypedef WCHAR *NWPSTR;\ntypedef WCHAR *LPWSTR, *PWSTR;\ntypedef WCHAR UNALIGNED *LPUWSTR, *PUWSTR;\n\ntypedef CONST WCHAR *LPCWSTR, *PCWSTR;\ntypedef CONST WCHAR UNALIGNED *LPCUWSTR, *PCUWSTR;\n\n//\n// ANSI (Multi-byte Character) types\n//\ntypedef CHAR *PCHAR;\ntypedef CHAR *LPCH, *PCH;\n\ntypedef CONST CHAR *LPCCH, *PCCH;\ntypedef CHAR *NPSTR;\ntypedef CHAR *LPSTR, *PSTR;\ntypedef CONST CHAR *LPCSTR, *PCSTR;\n\n//\n// Neutral ANSI/UNICODE types and macros\n//\n#ifdef  UNICODE                     // r_winnt\n\n#ifndef _TCHAR_DEFINED\ntypedef WCHAR TCHAR, *PTCHAR;\ntypedef WCHAR TBYTE , *PTBYTE ;\n#define _TCHAR_DEFINED\n#endif /* !_TCHAR_DEFINED */\n\ntypedef LPWSTR LPTCH, PTCH;\ntypedef LPWSTR PTSTR, LPTSTR;\ntypedef LPCWSTR PCTSTR, LPCTSTR;\ntypedef LPUWSTR PUTSTR, LPUTSTR;\ntypedef LPCUWSTR PCUTSTR, LPCUTSTR;\ntypedef LPWSTR LP;\n#define __TEXT(quote) L##quote      // r_winnt\n\n#else   /* UNICODE */               // r_winnt\n\n#ifndef _TCHAR_DEFINED\ntypedef char TCHAR, *PTCHAR;\ntypedef unsigned char TBYTE , *PTBYTE ;\n#define _TCHAR_DEFINED\n#endif /* !_TCHAR_DEFINED */\n\ntypedef LPSTR LPTCH, PTCH;\ntypedef LPSTR PTSTR, LPTSTR, PUTSTR, LPUTSTR;\ntypedef LPCSTR PCTSTR, LPCTSTR, PCUTSTR, LPCUTSTR;\n#define __TEXT(quote) quote         // r_winnt\n\n#endif /* UNICODE */                // r_winnt\n#define TEXT(quote) __TEXT(quote)   // r_winnt\n\n\ntypedef SHORT *PSHORT;  \ntypedef LONG *PLONG;    \n\n#ifdef STRICT\ntypedef void *HANDLE;\n#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name\n#else\ntypedef PVOID HANDLE;\n#define DECLARE_HANDLE(name) typedef HANDLE name\n#endif\ntypedef HANDLE *PHANDLE;\n\n//\n// Flag (bit) fields\n//\n\ntypedef BYTE   FCHAR;\ntypedef WORD   FSHORT;\ntypedef DWORD  FLONG;\n\n// Component Object Model defines, and macros\n\n#ifndef _HRESULT_DEFINED\n#define _HRESULT_DEFINED\ntypedef LONG HRESULT;\n\n#endif // !_HRESULT_DEFINED\n\n#ifdef __cplusplus\n    #define EXTERN_C    extern \"C\"\n#else\n    #define EXTERN_C    extern\n#endif\n\n#if defined(_WIN32) || defined(_MPPC_)\n\n// Win32 doesn't support __export\n\n#ifdef _68K_\n#define STDMETHODCALLTYPE       __cdecl\n#else\n#define STDMETHODCALLTYPE       __stdcall\n#endif\n#define STDMETHODVCALLTYPE      __cdecl\n\n#define STDAPICALLTYPE          __stdcall\n#define STDAPIVCALLTYPE         __cdecl\n\n#else\n\n#define STDMETHODCALLTYPE       __export __stdcall\n#define STDMETHODVCALLTYPE      __export __cdecl\n\n#define STDAPICALLTYPE          __export __stdcall\n#define STDAPIVCALLTYPE         __export __cdecl\n\n#endif\n\n\n#define STDAPI                  EXTERN_C HRESULT STDAPICALLTYPE\n#define STDAPI_(type)           EXTERN_C type STDAPICALLTYPE\n\n#define STDMETHODIMP            HRESULT STDMETHODCALLTYPE\n#define STDMETHODIMP_(type)     type STDMETHODCALLTYPE\n\n// The 'V' versions allow Variable Argument lists.\n\n#define STDAPIV                 EXTERN_C HRESULT STDAPIVCALLTYPE\n#define STDAPIV_(type)          EXTERN_C type STDAPIVCALLTYPE\n\n#define STDMETHODIMPV           HRESULT STDMETHODVCALLTYPE\n#define STDMETHODIMPV_(type)    type STDMETHODVCALLTYPE\n\ntypedef char CCHAR;          \ntypedef DWORD LCID;         \ntypedef PDWORD PLCID;       \ntypedef WORD   LANGID;      \n#define APPLICATION_ERROR_MASK       0x20000000\n#define ERROR_SEVERITY_SUCCESS       0x00000000\n#define ERROR_SEVERITY_INFORMATIONAL 0x40000000\n#define ERROR_SEVERITY_WARNING       0x80000000\n#define ERROR_SEVERITY_ERROR         0xC0000000\n\n//\n// _M_IX86 included so that EM CONTEXT structure compiles with\n// x86 programs. *** TBD should this be for all architectures?\n//\n\n//\n// 16 byte aligned type for 128 bit floats\n//\n\n//\n// For we define a 128 bit structure and use __declspec(align(16)) pragma to\n// align to 128 bits.\n//\n\n#if defined(_M_IA64) && !defined(MIDL_PASS)\n__declspec(align(16))\n#endif\ntypedef struct _FLOAT128 {\n    __int64 LowPart;\n    __int64 HighPart;\n} FLOAT128;\n\ntypedef FLOAT128 *PFLOAT128;\n\n\n//\n// __int64 is only supported by 2.0 and later midl.\n// __midl is set by the 2.0 midl and not by 1.0 midl.\n//\n\n#define _ULONGLONG_\n#if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)))\ntypedef __int64 LONGLONG;\ntypedef unsigned __int64 ULONGLONG;\n\n#define MAXLONGLONG                      (0x7fffffffffffffff)\n#else\n\n#if defined(_MAC) && defined(_MAC_INT_64)\ntypedef __int64 LONGLONG;\ntypedef unsigned __int64 ULONGLONG;\n\n#define MAXLONGLONG                      (0x7fffffffffffffff)\n#else\ntypedef double LONGLONG;\ntypedef double ULONGLONG;\n#endif //_MAC and int64\n\n#endif\n\ntypedef LONGLONG *PLONGLONG;\ntypedef ULONGLONG *PULONGLONG;\n\n// Update Sequence Number\n\ntypedef LONGLONG USN;\n\n#if defined(MIDL_PASS)\ntypedef struct _LARGE_INTEGER {\n#else // MIDL_PASS\ntypedef union _LARGE_INTEGER {\n    struct {\n        DWORD LowPart;\n        LONG HighPart;\n    };\n    struct {\n        DWORD LowPart;\n        LONG HighPart;\n    } u;\n#endif //MIDL_PASS\n    LONGLONG QuadPart;\n} LARGE_INTEGER;\n\ntypedef LARGE_INTEGER *PLARGE_INTEGER;\n\n#if defined(MIDL_PASS)\ntypedef struct _ULARGE_INTEGER {\n#else // MIDL_PASS\ntypedef union _ULARGE_INTEGER {\n    struct {\n        DWORD LowPart;\n        DWORD HighPart;\n    };\n    struct {\n        DWORD LowPart;\n        DWORD HighPart;\n    } u;\n#endif //MIDL_PASS\n    ULONGLONG QuadPart;\n} ULARGE_INTEGER;\n\ntypedef ULARGE_INTEGER *PULARGE_INTEGER;\n\n// end_ntminiport end_ntndis end_ntminitape\n\n\n//\n// Locally Unique Identifier\n//\n\ntypedef struct _LUID {\n    DWORD LowPart;\n    LONG HighPart;\n} LUID, *PLUID;\n\n#define _DWORDLONG_\ntypedef ULONGLONG  DWORDLONG;\ntypedef DWORDLONG *PDWORDLONG;\n\n\n//\n// Define operations to logically shift an int64 by 0..31 bits and to multiply\n// 32-bits by 32-bits to form a 64-bit product.\n//\n\n#if defined(MIDL_PASS) || defined(RC_INVOKED)\n\n//\n// Midl does not understand inline assembler. Therefore, the Rtl functions\n// are used for shifts by 0.31 and multiplies of 32-bits times 32-bits to\n// form a 64-bit product.\n//\n\n#define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b)))\n#define UInt32x32To64(a, b) ((ULONGLONG)((DWORD)(a)) * (ULONGLONG)((DWORD)(b)))\n\n#define Int64ShllMod32(a, b) ((ULONGLONG)(a) << (b))\n#define Int64ShraMod32(a, b) ((LONGLONG)(a) >> (b))\n#define Int64ShrlMod32(a, b) ((ULONGLONG)(a) >> (b))\n\n#elif defined(_M_MRX000)\n\n//\n// MIPS uses intrinsic functions to perform shifts by 0..31 and multiplies of\n// 32-bits times 32-bits to 64-bits.\n//\n\n#define Int32x32To64 __emul\n#define UInt32x32To64 __emulu\n\n#define Int64ShllMod32 __ll_lshift\n#define Int64ShraMod32 __ll_rshift\n#define Int64ShrlMod32 __ull_rshift\n\n#if defined (__cplusplus)\nextern \"C\" {\n#endif\n\nLONGLONG\nNTAPI\nInt32x32To64 (\n    LONG Multiplier,\n    LONG Multiplicand\n    );\n\nULONGLONG\nNTAPI\nUInt32x32To64 (\n    DWORD Multiplier,\n    DWORD Multiplicand\n    );\n\nULONGLONG\nNTAPI\nInt64ShllMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    );\n\nLONGLONG\nNTAPI\nInt64ShraMod32 (\n    LONGLONG Value,\n    DWORD ShiftCount\n    );\n\nULONGLONG\nNTAPI\nInt64ShrlMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    );\n\n#if defined (__cplusplus)\n};\n#endif\n\n#pragma intrinsic(__emul)\n#pragma intrinsic(__emulu)\n\n#pragma intrinsic(__ll_lshift)\n#pragma intrinsic(__ll_rshift)\n#pragma intrinsic(__ull_rshift)\n\n#elif defined(_M_IX86)\n\n//\n// The x86 C compiler understands inline assembler. Therefore, inline functions\n// that employ inline assembler are used for shifts of 0..31.  The multiplies\n// rely on the compiler recognizing the cast of the multiplicand to int64 to\n// generate the optimal code inline.\n//\n\n#define Int32x32To64( a, b ) (LONGLONG)((LONGLONG)(LONG)(a) * (LONG)(b))\n#define UInt32x32To64( a, b ) (ULONGLONG)((ULONGLONG)(DWORD)(a) * (DWORD)(b))\n\nULONGLONG\nNTAPI\nInt64ShllMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    );\n\nLONGLONG\nNTAPI\nInt64ShraMod32 (\n    LONGLONG Value,\n    DWORD ShiftCount\n    );\n\nULONGLONG\nNTAPI\nInt64ShrlMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    );\n\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable:4035)               // re-enable below\n\n__inline ULONGLONG\nNTAPI\nInt64ShllMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    )\n{\n    __asm    {\n        mov     ecx, ShiftCount\n        mov     eax, dword ptr [Value]\n        mov     edx, dword ptr [Value+4]\n        shld    edx, eax, cl\n        shl     eax, cl\n    }\n}\n\n__inline LONGLONG\nNTAPI\nInt64ShraMod32 (\n    LONGLONG Value,\n    DWORD ShiftCount\n    )\n{\n    __asm {\n        mov     ecx, ShiftCount\n        mov     eax, dword ptr [Value]\n        mov     edx, dword ptr [Value+4]\n        shrd    eax, edx, cl\n        sar     edx, cl\n    }\n}\n\n__inline ULONGLONG\nNTAPI\nInt64ShrlMod32 (\n    ULONGLONG Value,\n    DWORD ShiftCount\n    )\n{\n    __asm    {\n        mov     ecx, ShiftCount\n        mov     eax, dword ptr [Value]\n        mov     edx, dword ptr [Value+4]\n        shrd    eax, edx, cl\n        shr     edx, cl\n    }\n}\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default:4035)\n#endif\n\n#elif defined(_M_ALPHA)\n\n//\n// Alpha has native 64-bit operations that are just as fast as their 32-bit\n// counter parts. Therefore, the int64 data type is used directly to form\n// shifts of 0..31 and multiplies of 32-bits times 32-bits to form a 64-bit\n// product.\n//\n\n#define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b)))\n#define UInt32x32To64(a, b) ((ULONGLONG)((DWORD)(a)) * (ULONGLONG)((DWORD)(b)))\n\n#define Int64ShllMod32(a, b) ((ULONGLONG)(a) << (b))\n#define Int64ShraMod32(a, b) ((LONGLONG)(a) >> (b))\n#define Int64ShrlMod32(a, b) ((ULONGLONG)(a) >> (b))\n\n\n#elif defined(_M_PPC)\n\n#define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b)))\n#define UInt32x32To64(a, b) ((ULONGLONG)((DWORD)(a)) * (ULONGLONG)((DWORD)(b)))\n\n#define Int64ShllMod32(a, b) ((ULONGLONG)(a) << (b))\n#define Int64ShraMod32(a, b) ((LONGLONG)(a) >> (b))\n#define Int64ShrlMod32(a, b) ((ULONGLONG)(a) >> (b))\n\n#elif defined(_68K_) || defined(_MPPC_)\n\n//\n// The Macintosh 68K and PowerPC compilers do not currently support int64.\n//\n\n#define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b)))\n#define UInt32x32To64(a, b) ((DWORDLONG)((DWORD)(a)) * (DWORDLONG)((DWORD)(b)))\n\n#define Int64ShllMod32(a, b) ((DWORDLONG)(a) << (b))\n#define Int64ShraMod32(a, b) ((LONGLONG)(a) >> (b))\n#define Int64ShrlMod32(a, b) ((DWORDLONG)(a) >> (b))\n\n#elif defined(_M_IA64) || defined(_M_AMD64)\n\n//\n// IA64 has native 64-bit operations that are just as fast as their 32-bit\n// counter parts. Therefore, the int64 data type is used directly to form\n// shifts of 0..31 and multiplies of 32-bits times 32-bits to form a 64-bit\n// product.\n//\n\n#define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b)))\n#define UInt32x32To64(a, b) ((ULONGLONG)((DWORD)(a)) * (ULONGLONG)((DWORD)(b)))\n\n#define Int64ShllMod32(a, b) ((ULONGLONG)(a) << (b))\n#define Int64ShraMod32(a, b) ((LONGLONG)(a) >> (b))\n#define Int64ShrlMod32(a, b) ((ULONGLONG)(a) >> (b))\n\n#else\n\n#error Must define a target architecture.\n\n#endif\n\n#define ANSI_NULL ((CHAR)0)     \n#define UNICODE_NULL ((WCHAR)0) \n#define UNICODE_STRING_MAX_BYTES ((WORD  ) 65534) \n#define UNICODE_STRING_MAX_CHARS (32767) \ntypedef BYTE  BOOLEAN;           \ntypedef BOOLEAN *PBOOLEAN;       \n//\n//  Doubly linked list structure.  Can be used as either a list head, or\n//  as link words.\n//\n\ntypedef struct _LIST_ENTRY {\n   struct _LIST_ENTRY *Flink;\n   struct _LIST_ENTRY *Blink;\n} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;\n\n//\n//  Singly linked list structure. Can be used as either a list head, or\n//  as link words.\n//\n\ntypedef struct _SINGLE_LIST_ENTRY {\n    struct _SINGLE_LIST_ENTRY *Next;\n} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;\n\n//\n// These are needed for portable debugger support.\n//\n\ntypedef struct LIST_ENTRY32 {\n    DWORD Flink;\n    DWORD Blink;\n} LIST_ENTRY32;\ntypedef LIST_ENTRY32 *PLIST_ENTRY32;\n\ntypedef struct LIST_ENTRY64 {\n    ULONGLONG Flink;\n    ULONGLONG Blink;\n} LIST_ENTRY64;\ntypedef LIST_ENTRY64 *PLIST_ENTRY64;\n\n\n#include <guiddef.h>\n\n#ifndef __OBJECTID_DEFINED\n#define __OBJECTID_DEFINED\n\ntypedef struct  _OBJECTID {     // size is 20\n    GUID Lineage;\n    DWORD Uniquifier;\n} OBJECTID;\n#endif // !_OBJECTID_DEFINED\n\n#define MINCHAR     0x80        \n#define MAXCHAR     0x7f        \n#define MINSHORT    0x8000      \n#define MAXSHORT    0x7fff      \n#define MINLONG     0x80000000  \n#define MAXLONG     0x7fffffff  \n#define MAXBYTE     0xff        \n#define MAXWORD     0xffff      \n#define MAXDWORD    0xffffffff  \n//\n// Calculate the byte offset of a field in a structure of type type.\n//\n\n#define FIELD_OFFSET(type, field)    ((LONG)(LONG_PTR)&(((type *)0)->field))\n\n#if(_WIN32_WINNT > 0x0500)\n\n//\n// Calculate the size of a field in a structure of type type, without\n// knowing or stating the type of the field.\n//\n#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))\n\n//\n// Calculate the size of a structure of type type up through and\n// including a field.\n//\n#define RTL_SIZEOF_THROUGH_FIELD(type, field) \\\n    (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))\n\n//\n//  RTL_CONTAINS_FIELD usage:\n//\n//      if (RTL_CONTAINS_FIELD(pBlock, pBlock->cbSize, dwMumble)) { // safe to use pBlock->dwMumble\n//\n#define RTL_CONTAINS_FIELD(Struct, Size, Field) \\\n    ( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) )\n\n//\n// Return the number of elements in a statically sized array.\n//   DWORD Buffer[100];\n//   RTL_NUMBER_OF(Buffer) == 100\n// This is also popularly known as: NUMBER_OF, ARRSIZE, _countof, NELEM, etc.\n//\n#define RTL_NUMBER_OF(A) (sizeof(A)/sizeof((A)[0]))\n\n//\n// An expression that yields the type of a field in a struct.\n//\n#define RTL_FIELD_TYPE(type, field) (((type*)0)->field)\n\n// RTL_ to avoid collisions in the global namespace.\n//\n// Given typedef struct _FOO { BYTE Bar[123]; } FOO;\n// RTL_NUMBER_OF_FIELD(FOO, Bar) == 123\n//\n#define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field)))\n\n//\n// eg:\n// typedef struct FOO {\n//   DWORD Integer;\n//   PVOID Pointer;\n// } FOO;\n//\n// RTL_PADDING_BETWEEN_FIELDS(FOO, Integer, Pointer) == 0 for Win32, 4 for Win64\n//\n#define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) \\\n    ((FIELD_OFFSET(T, F2) > FIELD_OFFSET(T, F1)) \\\n        ? (FIELD_OFFSET(T, F2) - FIELD_OFFSET(T, F1) - RTL_FIELD_SIZE(T, F1)) \\\n        : (FIELD_OFFSET(T, F1) - FIELD_OFFSET(T, F2) - RTL_FIELD_SIZE(T, F2)))\n\n// RTL_ to avoid collisions in the global namespace.\n#if defined(__cplusplus)\n#define RTL_CONST_CAST(type) const_cast<type>\n#else\n#define RTL_CONST_CAST(type) (type)\n#endif\n\n\n// like sizeof\n// usually this would be * CHAR_BIT, but we don't necessarily have #include <limits.h>\n#define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8)\n\n#define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field)))\n\n#endif /* _WIN32_WINNT > 0x0500 */\n\n//\n// Calculate the address of the base of the structure given its type, and an\n// address of a field within the structure.\n//\n\n#define CONTAINING_RECORD(address, type, field) ((type *)( \\\n                                                  (PCHAR)(address) - \\\n                                                  (ULONG_PTR)(&((type *)0)->field)))\n\n\n#define VER_SERVER_NT                       0x80000000\n#define VER_WORKSTATION_NT                  0x40000000\n#define VER_SUITE_SMALLBUSINESS             0x00000001\n#define VER_SUITE_ENTERPRISE                0x00000002\n#define VER_SUITE_BACKOFFICE                0x00000004\n#define VER_SUITE_COMMUNICATIONS            0x00000008\n#define VER_SUITE_TERMINAL                  0x00000010\n#define VER_SUITE_SMALLBUSINESS_RESTRICTED  0x00000020\n#define VER_SUITE_EMBEDDEDNT                0x00000040\n#define VER_SUITE_DATACENTER                0x00000080\n#define VER_SUITE_SINGLEUSERTS              0x00000100\n#define VER_SUITE_PERSONAL                  0x00000200\n#define VER_SUITE_BLADE                     0x00000400\n#define VER_SUITE_EMBEDDED_RESTRICTED       0x00000800\n\n\n//\n//  Language IDs.\n//\n//  The following two combinations of primary language ID and\n//  sublanguage ID have special semantics:\n//\n//    Primary Language ID   Sublanguage ID      Result\n//    -------------------   ---------------     ------------------------\n//    LANG_NEUTRAL          SUBLANG_NEUTRAL     Language neutral\n//    LANG_NEUTRAL          SUBLANG_DEFAULT     User default language\n//    LANG_NEUTRAL          SUBLANG_SYS_DEFAULT System default language\n//    LANG_INVARIANT        SUBLANG_NEUTRAL     Invariant locale\n//\n\n//\n//  Primary language IDs.\n//\n\n#define LANG_NEUTRAL                     0x00\n#define LANG_INVARIANT                   0x7f\n\n#define LANG_AFRIKAANS                   0x36\n#define LANG_ALBANIAN                    0x1c\n#define LANG_ARABIC                      0x01\n#define LANG_ARMENIAN                    0x2b\n#define LANG_ASSAMESE                    0x4d\n#define LANG_AZERI                       0x2c\n#define LANG_BASQUE                      0x2d\n#define LANG_BELARUSIAN                  0x23\n#define LANG_BENGALI                     0x45\n#define LANG_BULGARIAN                   0x02\n#define LANG_CATALAN                     0x03\n#define LANG_CHINESE                     0x04\n#define LANG_CROATIAN                    0x1a\n#define LANG_CZECH                       0x05\n#define LANG_DANISH                      0x06\n#define LANG_DIVEHI                      0x65\n#define LANG_DUTCH                       0x13\n#define LANG_ENGLISH                     0x09\n#define LANG_ESTONIAN                    0x25\n#define LANG_FAEROESE                    0x38\n#define LANG_FARSI                       0x29\n#define LANG_FINNISH                     0x0b\n#define LANG_FRENCH                      0x0c\n#define LANG_GALICIAN                    0x56\n#define LANG_GEORGIAN                    0x37\n#define LANG_GERMAN                      0x07\n#define LANG_GREEK                       0x08\n#define LANG_GUJARATI                    0x47\n#define LANG_HEBREW                      0x0d\n#define LANG_HINDI                       0x39\n#define LANG_HUNGARIAN                   0x0e\n#define LANG_ICELANDIC                   0x0f\n#define LANG_INDONESIAN                  0x21\n#define LANG_ITALIAN                     0x10\n#define LANG_JAPANESE                    0x11\n#define LANG_KANNADA                     0x4b\n#define LANG_KASHMIRI                    0x60\n#define LANG_KAZAK                       0x3f\n#define LANG_KONKANI                     0x57\n#define LANG_KOREAN                      0x12\n#define LANG_KYRGYZ                      0x40\n#define LANG_LATVIAN                     0x26\n#define LANG_LITHUANIAN                  0x27\n#define LANG_MACEDONIAN                  0x2f   // the Former Yugoslav Republic of Macedonia\n#define LANG_MALAY                       0x3e\n#define LANG_MALAYALAM                   0x4c\n#define LANG_MANIPURI                    0x58\n#define LANG_MARATHI                     0x4e\n#define LANG_MONGOLIAN                   0x50\n#define LANG_NEPALI                      0x61\n#define LANG_NORWEGIAN                   0x14\n#define LANG_ORIYA                       0x48\n#define LANG_POLISH                      0x15\n#define LANG_PORTUGUESE                  0x16\n#define LANG_PUNJABI                     0x46\n#define LANG_ROMANIAN                    0x18\n#define LANG_RUSSIAN                     0x19\n#define LANG_SANSKRIT                    0x4f\n#define LANG_SERBIAN                     0x1a\n#define LANG_SINDHI                      0x59\n#define LANG_SLOVAK                      0x1b\n#define LANG_SLOVENIAN                   0x24\n#define LANG_SPANISH                     0x0a\n#define LANG_SWAHILI                     0x41\n#define LANG_SWEDISH                     0x1d\n#define LANG_SYRIAC                      0x5a\n#define LANG_TAMIL                       0x49\n#define LANG_TATAR                       0x44\n#define LANG_TELUGU                      0x4a\n#define LANG_THAI                        0x1e\n#define LANG_TURKISH                     0x1f\n#define LANG_UKRAINIAN                   0x22\n#define LANG_URDU                        0x20\n#define LANG_UZBEK                       0x43\n#define LANG_VIETNAMESE                  0x2a\n\n//\n//  Sublanguage IDs.\n//\n//  The name immediately following SUBLANG_ dictates which primary\n//  language ID that sublanguage ID can be combined with to form a\n//  valid language ID.\n//\n\n#define SUBLANG_NEUTRAL                  0x00    // language neutral\n#define SUBLANG_DEFAULT                  0x01    // user default\n#define SUBLANG_SYS_DEFAULT              0x02    // system default\n\n#define SUBLANG_ARABIC_SAUDI_ARABIA      0x01    // Arabic (Saudi Arabia)\n#define SUBLANG_ARABIC_IRAQ              0x02    // Arabic (Iraq)\n#define SUBLANG_ARABIC_EGYPT             0x03    // Arabic (Egypt)\n#define SUBLANG_ARABIC_LIBYA             0x04    // Arabic (Libya)\n#define SUBLANG_ARABIC_ALGERIA           0x05    // Arabic (Algeria)\n#define SUBLANG_ARABIC_MOROCCO           0x06    // Arabic (Morocco)\n#define SUBLANG_ARABIC_TUNISIA           0x07    // Arabic (Tunisia)\n#define SUBLANG_ARABIC_OMAN              0x08    // Arabic (Oman)\n#define SUBLANG_ARABIC_YEMEN             0x09    // Arabic (Yemen)\n#define SUBLANG_ARABIC_SYRIA             0x0a    // Arabic (Syria)\n#define SUBLANG_ARABIC_JORDAN            0x0b    // Arabic (Jordan)\n#define SUBLANG_ARABIC_LEBANON           0x0c    // Arabic (Lebanon)\n#define SUBLANG_ARABIC_KUWAIT            0x0d    // Arabic (Kuwait)\n#define SUBLANG_ARABIC_UAE               0x0e    // Arabic (U.A.E)\n#define SUBLANG_ARABIC_BAHRAIN           0x0f    // Arabic (Bahrain)\n#define SUBLANG_ARABIC_QATAR             0x10    // Arabic (Qatar)\n#define SUBLANG_AZERI_LATIN              0x01    // Azeri (Latin)\n#define SUBLANG_AZERI_CYRILLIC           0x02    // Azeri (Cyrillic)\n#define SUBLANG_CHINESE_TRADITIONAL      0x01    // Chinese (Taiwan)\n#define SUBLANG_CHINESE_SIMPLIFIED       0x02    // Chinese (PR China)\n#define SUBLANG_CHINESE_HONGKONG         0x03    // Chinese (Hong Kong S.A.R., P.R.C.)\n#define SUBLANG_CHINESE_SINGAPORE        0x04    // Chinese (Singapore)\n#define SUBLANG_CHINESE_MACAU            0x05    // Chinese (Macau S.A.R.)\n#define SUBLANG_DUTCH                    0x01    // Dutch\n#define SUBLANG_DUTCH_BELGIAN            0x02    // Dutch (Belgian)\n#define SUBLANG_ENGLISH_US               0x01    // English (USA)\n#define SUBLANG_ENGLISH_UK               0x02    // English (UK)\n#define SUBLANG_ENGLISH_AUS              0x03    // English (Australian)\n#define SUBLANG_ENGLISH_CAN              0x04    // English (Canadian)\n#define SUBLANG_ENGLISH_NZ               0x05    // English (New Zealand)\n#define SUBLANG_ENGLISH_EIRE             0x06    // English (Irish)\n#define SUBLANG_ENGLISH_SOUTH_AFRICA     0x07    // English (South Africa)\n#define SUBLANG_ENGLISH_JAMAICA          0x08    // English (Jamaica)\n#define SUBLANG_ENGLISH_CARIBBEAN        0x09    // English (Caribbean)\n#define SUBLANG_ENGLISH_BELIZE           0x0a    // English (Belize)\n#define SUBLANG_ENGLISH_TRINIDAD         0x0b    // English (Trinidad)\n#define SUBLANG_ENGLISH_ZIMBABWE         0x0c    // English (Zimbabwe)\n#define SUBLANG_ENGLISH_PHILIPPINES      0x0d    // English (Philippines)\n#define SUBLANG_FRENCH                   0x01    // French\n#define SUBLANG_FRENCH_BELGIAN           0x02    // French (Belgian)\n#define SUBLANG_FRENCH_CANADIAN          0x03    // French (Canadian)\n#define SUBLANG_FRENCH_SWISS             0x04    // French (Swiss)\n#define SUBLANG_FRENCH_LUXEMBOURG        0x05    // French (Luxembourg)\n#define SUBLANG_FRENCH_MONACO            0x06    // French (Monaco)\n#define SUBLANG_GERMAN                   0x01    // German\n#define SUBLANG_GERMAN_SWISS             0x02    // German (Swiss)\n#define SUBLANG_GERMAN_AUSTRIAN          0x03    // German (Austrian)\n#define SUBLANG_GERMAN_LUXEMBOURG        0x04    // German (Luxembourg)\n#define SUBLANG_GERMAN_LIECHTENSTEIN     0x05    // German (Liechtenstein)\n#define SUBLANG_ITALIAN                  0x01    // Italian\n#define SUBLANG_ITALIAN_SWISS            0x02    // Italian (Swiss)\n#if _WIN32_WINNT >= 0x0501\n#define SUBLANG_KASHMIRI_SASIA           0x02    // Kashmiri (South Asia)\n#endif\n#define SUBLANG_KASHMIRI_INDIA           0x02    // For app compatibility only\n#define SUBLANG_KOREAN                   0x01    // Korean (Extended Wansung)\n#define SUBLANG_LITHUANIAN               0x01    // Lithuanian\n#define SUBLANG_MALAY_MALAYSIA           0x01    // Malay (Malaysia)\n#define SUBLANG_MALAY_BRUNEI_DARUSSALAM  0x02    // Malay (Brunei Darussalam)\n#define SUBLANG_NEPALI_INDIA             0x02    // Nepali (India)\n#define SUBLANG_NORWEGIAN_BOKMAL         0x01    // Norwegian (Bokmal)\n#define SUBLANG_NORWEGIAN_NYNORSK        0x02    // Norwegian (Nynorsk)\n#define SUBLANG_PORTUGUESE               0x02    // Portuguese\n#define SUBLANG_PORTUGUESE_BRAZILIAN     0x01    // Portuguese (Brazilian)\n#define SUBLANG_SERBIAN_LATIN            0x02    // Serbian (Latin)\n#define SUBLANG_SERBIAN_CYRILLIC         0x03    // Serbian (Cyrillic)\n#define SUBLANG_SPANISH                  0x01    // Spanish (Castilian)\n#define SUBLANG_SPANISH_MEXICAN          0x02    // Spanish (Mexican)\n#define SUBLANG_SPANISH_MODERN           0x03    // Spanish (Spain)\n#define SUBLANG_SPANISH_GUATEMALA        0x04    // Spanish (Guatemala)\n#define SUBLANG_SPANISH_COSTA_RICA       0x05    // Spanish (Costa Rica)\n#define SUBLANG_SPANISH_PANAMA           0x06    // Spanish (Panama)\n#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07  // Spanish (Dominican Republic)\n#define SUBLANG_SPANISH_VENEZUELA        0x08    // Spanish (Venezuela)\n#define SUBLANG_SPANISH_COLOMBIA         0x09    // Spanish (Colombia)\n#define SUBLANG_SPANISH_PERU             0x0a    // Spanish (Peru)\n#define SUBLANG_SPANISH_ARGENTINA        0x0b    // Spanish (Argentina)\n#define SUBLANG_SPANISH_ECUADOR          0x0c    // Spanish (Ecuador)\n#define SUBLANG_SPANISH_CHILE            0x0d    // Spanish (Chile)\n#define SUBLANG_SPANISH_URUGUAY          0x0e    // Spanish (Uruguay)\n#define SUBLANG_SPANISH_PARAGUAY         0x0f    // Spanish (Paraguay)\n#define SUBLANG_SPANISH_BOLIVIA          0x10    // Spanish (Bolivia)\n#define SUBLANG_SPANISH_EL_SALVADOR      0x11    // Spanish (El Salvador)\n#define SUBLANG_SPANISH_HONDURAS         0x12    // Spanish (Honduras)\n#define SUBLANG_SPANISH_NICARAGUA        0x13    // Spanish (Nicaragua)\n#define SUBLANG_SPANISH_PUERTO_RICO      0x14    // Spanish (Puerto Rico)\n#define SUBLANG_SWEDISH                  0x01    // Swedish\n#define SUBLANG_SWEDISH_FINLAND          0x02    // Swedish (Finland)\n#define SUBLANG_URDU_PAKISTAN            0x01    // Urdu (Pakistan)\n#define SUBLANG_URDU_INDIA               0x02    // Urdu (India)\n#define SUBLANG_UZBEK_LATIN              0x01    // Uzbek (Latin)\n#define SUBLANG_UZBEK_CYRILLIC           0x02    // Uzbek (Cyrillic)\n\n//\n//  Sorting IDs.\n//\n\n#define SORT_DEFAULT                     0x0     // sorting default\n\n#define SORT_JAPANESE_XJIS               0x0     // Japanese XJIS order\n#define SORT_JAPANESE_UNICODE            0x1     // Japanese Unicode order\n\n#define SORT_CHINESE_BIG5                0x0     // Chinese BIG5 order\n#define SORT_CHINESE_PRCP                0x0     // PRC Chinese Phonetic order\n#define SORT_CHINESE_UNICODE             0x1     // Chinese Unicode order\n#define SORT_CHINESE_PRC                 0x2     // PRC Chinese Stroke Count order\n#define SORT_CHINESE_BOPOMOFO            0x3     // Traditional Chinese Bopomofo order\n\n#define SORT_KOREAN_KSC                  0x0     // Korean KSC order\n#define SORT_KOREAN_UNICODE              0x1     // Korean Unicode order\n\n#define SORT_GERMAN_PHONE_BOOK           0x1     // German Phone Book order\n\n#define SORT_HUNGARIAN_DEFAULT           0x0     // Hungarian Default order\n#define SORT_HUNGARIAN_TECHNICAL         0x1     // Hungarian Technical order\n\n#define SORT_GEORGIAN_TRADITIONAL        0x0     // Georgian Traditional order\n#define SORT_GEORGIAN_MODERN             0x1     // Georgian Modern order\n\n// end_r_winnt\n\n//\n//  A language ID is a 16 bit value which is the combination of a\n//  primary language ID and a secondary language ID.  The bits are\n//  allocated as follows:\n//\n//       +-----------------------+-------------------------+\n//       |     Sublanguage ID    |   Primary Language ID   |\n//       +-----------------------+-------------------------+\n//        15                   10 9                       0   bit\n//\n//\n//  Language ID creation/extraction macros:\n//\n//    MAKELANGID    - construct language id from a primary language id and\n//                    a sublanguage id.\n//    PRIMARYLANGID - extract primary language id from a language id.\n//    SUBLANGID     - extract sublanguage id from a language id.\n//\n\n#define MAKELANGID(p, s)       ((((WORD  )(s)) << 10) | (WORD  )(p))\n#define PRIMARYLANGID(lgid)    ((WORD  )(lgid) & 0x3ff)\n#define SUBLANGID(lgid)        ((WORD  )(lgid) >> 10)\n\n\n//\n//  A locale ID is a 32 bit value which is the combination of a\n//  language ID, a sort ID, and a reserved area.  The bits are\n//  allocated as follows:\n//\n//       +-------------+---------+-------------------------+\n//       |   Reserved  | Sort ID |      Language ID        |\n//       +-------------+---------+-------------------------+\n//        31         20 19     16 15                      0   bit\n//\n//\n//  Locale ID creation/extraction macros:\n//\n//    MAKELCID            - construct the locale id from a language id and a sort id.\n//    MAKESORTLCID        - construct the locale id from a language id, sort id, and sort version.\n//    LANGIDFROMLCID      - extract the language id from a locale id.\n//    SORTIDFROMLCID      - extract the sort id from a locale id.\n//    SORTVERSIONFROMLCID - extract the sort version from a locale id.\n//\n\n#define NLS_VALID_LOCALE_MASK  0x000fffff\n\n#define MAKELCID(lgid, srtid)  ((DWORD)((((DWORD)((WORD  )(srtid))) << 16) |  \\\n                                         ((DWORD)((WORD  )(lgid)))))\n#define MAKESORTLCID(lgid, srtid, ver)                                            \\\n                               ((DWORD)((MAKELCID(lgid, srtid)) |             \\\n                                    (((DWORD)((WORD  )(ver))) << 20)))\n#define LANGIDFROMLCID(lcid)   ((WORD  )(lcid))\n#define SORTIDFROMLCID(lcid)   ((WORD  )((((DWORD)(lcid)) >> 16) & 0xf))\n#define SORTVERSIONFROMLCID(lcid)  ((WORD  )((((DWORD)(lcid)) >> 20) & 0xf))\n\n\n//\n//  Default System and User IDs for language and locale.\n//\n\n#define LANG_SYSTEM_DEFAULT    (MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT))\n#define LANG_USER_DEFAULT      (MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT))\n\n#define LOCALE_SYSTEM_DEFAULT  (MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT))\n#define LOCALE_USER_DEFAULT    (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT))\n\n#define LOCALE_NEUTRAL                                                        \\\n          (MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT))\n\n#define LOCALE_INVARIANT                                                      \\\n          (MAKELCID(MAKELANGID(LANG_INVARIANT, SUBLANG_NEUTRAL), SORT_DEFAULT))\n\n// begin_ntminiport begin_ntndis begin_ntminitape\n\n//\n// Macros used to eliminate compiler warning generated when formal\n// parameters or local variables are not declared.\n//\n// Use DBG_UNREFERENCED_PARAMETER() when a parameter is not yet\n// referenced but will be once the module is completely developed.\n//\n// Use DBG_UNREFERENCED_LOCAL_VARIABLE() when a local variable is not yet\n// referenced but will be once the module is completely developed.\n//\n// Use UNREFERENCED_PARAMETER() if a parameter will never be referenced.\n//\n// DBG_UNREFERENCED_PARAMETER and DBG_UNREFERENCED_LOCAL_VARIABLE will\n// eventually be made into a null macro to help determine whether there\n// is unfinished work.\n//\n\n#if ! defined(lint)\n#define UNREFERENCED_PARAMETER(P)          (P)\n#define DBG_UNREFERENCED_PARAMETER(P)      (P)\n#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) (V)\n\n#else // lint\n\n// Note: lint -e530 says don't complain about uninitialized variables for\n// this varible.  Error 527 has to do with unreachable code.\n// -restore restores checking to the -save state\n\n#define UNREFERENCED_PARAMETER(P)          \\\n    /*lint -save -e527 -e530 */ \\\n    { \\\n        (P) = (P); \\\n    } \\\n    /*lint -restore */\n#define DBG_UNREFERENCED_PARAMETER(P)      \\\n    /*lint -save -e527 -e530 */ \\\n    { \\\n        (P) = (P); \\\n    } \\\n    /*lint -restore */\n#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) \\\n    /*lint -save -e527 -e530 */ \\\n    { \\\n        (V) = (V); \\\n    } \\\n    /*lint -restore */\n\n#endif // lint\n\n//\n// Macro used to eliminate compiler warning 4715 within a switch statement\n// when all possible cases have already been accounted for.\n//\n// switch (a & 3) {\n//     case 0: return 1;\n//     case 1: return Foo();\n//     case 2: return Bar();\n//     case 3: return 1;\n//     DEFAULT_UNREACHABLE;\n//\n\n#if (_MSC_VER > 1200)\n#define DEFAULT_UNREACHABLE default: __assume(0)\n#else\n\n//\n// Older compilers do not support __assume(), and there is no other free\n// method of eliminating the warning.\n//\n\n#define DEFAULT_UNREACHABLE\n\n#endif\n\n#ifndef WIN32_NO_STATUS \n/*lint -save -e767 */  \n#define STATUS_WAIT_0                    ((DWORD   )0x00000000L)    \n#define STATUS_ABANDONED_WAIT_0          ((DWORD   )0x00000080L)    \n#define STATUS_USER_APC                  ((DWORD   )0x000000C0L)    \n#define STATUS_TIMEOUT                   ((DWORD   )0x00000102L)    \n#define STATUS_PENDING                   ((DWORD   )0x00000103L)    \n#define DBG_EXCEPTION_HANDLED            ((DWORD   )0x00010001L)    \n#define DBG_CONTINUE                     ((DWORD   )0x00010002L)    \n#define STATUS_SEGMENT_NOTIFICATION      ((DWORD   )0x40000005L)    \n#define DBG_TERMINATE_THREAD             ((DWORD   )0x40010003L)    \n#define DBG_TERMINATE_PROCESS            ((DWORD   )0x40010004L)    \n#define DBG_CONTROL_C                    ((DWORD   )0x40010005L)    \n#define DBG_CONTROL_BREAK                ((DWORD   )0x40010008L)    \n#define DBG_COMMAND_EXCEPTION            ((DWORD   )0x40010009L)    \n#define STATUS_GUARD_PAGE_VIOLATION      ((DWORD   )0x80000001L)    \n#define STATUS_DATATYPE_MISALIGNMENT     ((DWORD   )0x80000002L)    \n#define STATUS_BREAKPOINT                ((DWORD   )0x80000003L)    \n#define STATUS_SINGLE_STEP               ((DWORD   )0x80000004L)    \n#define DBG_EXCEPTION_NOT_HANDLED        ((DWORD   )0x80010001L)    \n#define STATUS_ACCESS_VIOLATION          ((DWORD   )0xC0000005L)    \n#define STATUS_IN_PAGE_ERROR             ((DWORD   )0xC0000006L)    \n#define STATUS_INVALID_HANDLE            ((DWORD   )0xC0000008L)    \n#define STATUS_NO_MEMORY                 ((DWORD   )0xC0000017L)    \n#define STATUS_ILLEGAL_INSTRUCTION       ((DWORD   )0xC000001DL)    \n#define STATUS_NONCONTINUABLE_EXCEPTION  ((DWORD   )0xC0000025L)    \n#define STATUS_INVALID_DISPOSITION       ((DWORD   )0xC0000026L)    \n#define STATUS_ARRAY_BOUNDS_EXCEEDED     ((DWORD   )0xC000008CL)    \n#define STATUS_FLOAT_DENORMAL_OPERAND    ((DWORD   )0xC000008DL)    \n#define STATUS_FLOAT_DIVIDE_BY_ZERO      ((DWORD   )0xC000008EL)    \n#define STATUS_FLOAT_INEXACT_RESULT      ((DWORD   )0xC000008FL)    \n#define STATUS_FLOAT_INVALID_OPERATION   ((DWORD   )0xC0000090L)    \n#define STATUS_FLOAT_OVERFLOW            ((DWORD   )0xC0000091L)    \n#define STATUS_FLOAT_STACK_CHECK         ((DWORD   )0xC0000092L)    \n#define STATUS_FLOAT_UNDERFLOW           ((DWORD   )0xC0000093L)    \n#define STATUS_INTEGER_DIVIDE_BY_ZERO    ((DWORD   )0xC0000094L)    \n#define STATUS_INTEGER_OVERFLOW          ((DWORD   )0xC0000095L)    \n#define STATUS_PRIVILEGED_INSTRUCTION    ((DWORD   )0xC0000096L)    \n#define STATUS_STACK_OVERFLOW            ((DWORD   )0xC00000FDL)    \n#define STATUS_CONTROL_C_EXIT            ((DWORD   )0xC000013AL)    \n#define STATUS_FLOAT_MULTIPLE_FAULTS     ((DWORD   )0xC00002B4L)    \n#define STATUS_FLOAT_MULTIPLE_TRAPS      ((DWORD   )0xC00002B5L)    \n#define STATUS_REG_NAT_CONSUMPTION       ((DWORD   )0xC00002C9L)    \n#if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) \n#define STATUS_SXS_EARLY_DEACTIVATION    ((DWORD   )0xC015000FL)    \n#define STATUS_SXS_INVALID_DEACTIVATION  ((DWORD   )0xC0150010L)    \n#endif \n/*lint -restore */  \n#endif \n#define MAXIMUM_WAIT_OBJECTS 64     // Maximum number of wait objects\n\n#define MAXIMUM_SUSPEND_COUNT MAXCHAR // Maximum times thread can be suspended\n\ntypedef ULONG_PTR KSPIN_LOCK;\ntypedef KSPIN_LOCK *PKSPIN_LOCK;\n\n\n#if defined(_AMD64_)\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Define bit scan intrinsics.\n//\n\n#define BitScanForward _BitScanForward\n#define BitScanReverse _BitScanReverse\n#define BitScanForward64 _BitScanForward64\n#define BitScanReverse64 _BitScanReverse64\n\nBOOLEAN\n_BitScanForward (\n    OUT DWORD *Index,\n    IN DWORD Mask\n    );\n\nBOOLEAN\n_BitScanReverse (\n    OUT DWORD *Index,\n    IN DWORD Mask\n    );\n\nBOOLEAN\n_BitScanForward64 (\n    OUT DWORD *Index,\n    IN DWORD64 Mask\n    );\n\nBOOLEAN\n_BitScanReverse64 (\n    OUT DWORD *Index,\n    IN DWORD64 Mask\n    );\n\n#pragma intrinsic(_BitScanForward)\n#pragma intrinsic(_BitScanReverse)\n#pragma intrinsic(_BitScanForward64)\n#pragma intrinsic(_BitScanReverse64)\n\n//\n// Define function to flush a cache line.\n//\n\n#define CacheLineFlush(Address) _mm_clflush(Address)\n\nVOID\n_mm_clflush (\n    PVOID Address\n    );\n\n#pragma intrinsic(_mm_clflush)\n\n//\n// Define memory fence intrinsics\n//\n\n#define LoadFence _mm_lfence\n#define MemoryFence _mm_mfence\n#define StoreFence _mm_sfence\n\nVOID\n_mm_lfence (\n    VOID\n    );\n\nVOID\n_mm_mfence (\n    VOID\n    );\n\nVOID\n_mm_sfence (\n    VOID\n    );\n\n#pragma intrinsic(_mm_lfence)\n#pragma intrinsic(_mm_mfence)\n#pragma intrinsic(_mm_sfence)\n\n//\n// Define function to get the caller's EFLAGs value.\n//\n\n#define GetCallersEflags() __getcallerseflags()\n\nunsigned __int32\n__getcallerseflags (\n    VOID\n    );\n\n#pragma intrinsic(__getcallerseflags)\n\n//\n// Define function to read the value of the time stamp counter\n//\n\n#define ReadTimeStampCounter() __rdtsc()\n\nDWORD64\n__rdtsc (\n    VOID\n    );\n\n#pragma intrinsic(__rdtsc)\n\n//\n// Define functions to move strings or bytes, words, dwords, and qwords.\n//\n\nVOID\n__movsb (\n    IN PBYTE  Destination,\n    IN PBYTE  Source,\n    IN DWORD Count\n    );\n\nVOID\n__movsw (\n    IN PWORD   Destination,\n    IN PWORD   Source,\n    IN DWORD Count\n    );\n\nVOID\n__movsd (\n    IN PDWORD Destination,\n    IN PDWORD Source,\n    IN DWORD Count\n    );\n\nVOID\n__movsq (\n    IN PULONGLONG Destination,\n    IN PULONGLONG Source,\n    IN DWORD Count\n    );\n\n#pragma intrinsic(__movsb)\n#pragma intrinsic(__movsw)\n#pragma intrinsic(__movsd)\n#pragma intrinsic(__movsq)\n\n//\n// Define functions to capture the high 64-bits of a 128-bit multiply.\n//\n\n#define MultiplyHigh __mulh\n#define UnsignedMultiplyHigh __umulh\n\nLONGLONG\nMultiplyHigh (\n    IN LONGLONG Multiplier,\n    IN LONGLONG Multiplicand\n    );\n\nULONGLONG\nUnsignedMultiplyHigh (\n    IN ULONGLONG Multiplier,\n    IN ULONGLONG Multiplicand\n    );\n\n#pragma intrinsic(__mulh)\n#pragma intrinsic(__umulh)\n\n//\n// Define functions to read and write the uer TEB and the system PCR/PRCB.\n//\n\nBYTE \n__readgsbyte (\n    IN DWORD Offset\n    );\n\nWORD  \n__readgsword (\n    IN DWORD Offset\n    );\n\nDWORD\n__readgsdword (\n    IN DWORD Offset\n    );\n\nDWORD64\n__readgsqword (\n    IN DWORD Offset\n    );\n\nVOID\n__writegsbyte (\n    IN DWORD Offset,\n    IN BYTE  Data\n    );\n\nVOID\n__writegsword (\n    IN DWORD Offset,\n    IN WORD   Data\n    );\n\nVOID\n__writegsdword (\n    IN DWORD Offset,\n    IN DWORD Data\n    );\n\nVOID\n__writegsqword (\n    IN DWORD Offset,\n    IN DWORD64 Data\n    );\n\n#pragma intrinsic(__readgsbyte)\n#pragma intrinsic(__readgsword)\n#pragma intrinsic(__readgsdword)\n#pragma intrinsic(__readgsqword)\n#pragma intrinsic(__writegsbyte)\n#pragma intrinsic(__writegsword)\n#pragma intrinsic(__writegsdword)\n#pragma intrinsic(__writegsqword)\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_AMD64   0x100000\n\n// end_wx86\n\n#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)\n#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)\n#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)\n#define CONTEXT_FLOATING_POINT  (CONTEXT_AMD64 | 0x8L)\n#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)\n\n#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)\n\n// begin_wx86\n\n#endif // !defined(RC_INVOKED)\n\n//\n// Define initial MxCsr control.\n//\n\n#define INITIAL_MXCSR 0x1f80            // initial MXCSR value\n\n//\n// Define 128-bit 16-byte aligned xmm register type.\n//\n\ntypedef struct DECLSPEC_ALIGN(16) _M128 {\n    ULONGLONG Low;\n    LONGLONG High;\n} M128, *PM128;\n\n//\n// Format of data for fnsave/frstor instructions.\n//\n// This structure is used to store the legacy floating point state.\n//\n\ntypedef struct _LEGACY_SAVE_AREA {\n    WORD   ControlWord;\n    WORD   Reserved0;\n    WORD   StatusWord;\n    WORD   Reserved1;\n    WORD   TagWord;\n    WORD   Reserved2;\n    DWORD ErrorOffset;\n    WORD   ErrorSelector;\n    WORD   ErrorOpcode;\n    DWORD DataOffset;\n    WORD   DataSelector;\n    WORD   Reserved3;\n    BYTE  FloatRegisters[8 * 10];\n} LEGACY_SAVE_AREA, *PLEGACY_SAVE_AREA;\n\n#define LEGACY_SAVE_AREA_LENGTH  ((sizeof(LEGACY_SAVE_AREA) + 15) & ~15)\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) is is used to constuct a call frame for APC delivery,\n//  and 3) it is used in the user level thread creation routines.\n//\n//\n// The flags field within this record controls the contents of a CONTEXT\n// record.\n//\n// If the context record is used as an input parameter, then for each\n// portion of the context record controlled by a flag whose value is\n// set, it is assumed that that portion of the context record contains\n// valid context. If the context record is being used to modify a threads\n// context, then only that portion of the threads context is modified.\n//\n// If the context record is used as an output parameter to capture the\n// context of a thread, then only those portions of the thread's context\n// corresponding to set flags will be returned.\n//\n// CONTEXT_CONTROL specifies SegSs, Rsp, SegCs, Rip, and EFlags.\n//\n// CONTEXT_INTEGER specifies Rax, Rcx, Rdx, Rbx, Rbp, Rsi, Rdi, and R8-R15.\n//\n// CONTEXT_SEGMENTS specifies SegDs, SegEs, SegFs, and SegGs.\n//\n// CONTEXT_DEBUG_REGISTERS specifies Dr0-Dr3 and Dr6-Dr7.\n//\n// CONTEXT_MMX_REGISTERS specifies the floating point and extended registers\n//     Mm0/St0-Mm7/St7 and Xmm0-Xmm15).\n//\n\ntypedef struct DECLSPEC_ALIGN(16) _CONTEXT {\n\n    //\n    // Register parameter home addresses.\n    //\n\n    DWORD64 P1Home;\n    DWORD64 P2Home;\n    DWORD64 P3Home;\n    DWORD64 P4Home;\n    DWORD64 P5Home;\n    DWORD64 P6Home;\n\n    //\n    // Control flags.\n    //\n\n    DWORD ContextFlags;\n    DWORD MxCsr;\n\n    //\n    // Segment Registers and processor flags.\n    //\n\n    WORD   SegCs;\n    WORD   SegDs;\n    WORD   SegEs;\n    WORD   SegFs;\n    WORD   SegGs;\n    WORD   SegSs;\n    DWORD EFlags;\n\n    //\n    // Debug registers\n    //\n\n    DWORD64 Dr0;\n    DWORD64 Dr1;\n    DWORD64 Dr2;\n    DWORD64 Dr3;\n    DWORD64 Dr6;\n    DWORD64 Dr7;\n\n    //\n    // Integer registers.\n    //\n\n    DWORD64 Rax;\n    DWORD64 Rcx;\n    DWORD64 Rdx;\n    DWORD64 Rbx;\n    DWORD64 Rsp;\n    DWORD64 Rbp;\n    DWORD64 Rsi;\n    DWORD64 Rdi;\n    DWORD64 R8;\n    DWORD64 R9;\n    DWORD64 R10;\n    DWORD64 R11;\n    DWORD64 R12;\n    DWORD64 R13;\n    DWORD64 R14;\n    DWORD64 R15;\n\n    //\n    // Program counter.\n    //\n\n    DWORD64 Rip;\n\n    //\n    // MMX/floating point state.\n    //\n\n    M128 Xmm0;\n    M128 Xmm1;\n    M128 Xmm2;\n    M128 Xmm3;\n    M128 Xmm4;\n    M128 Xmm5;\n    M128 Xmm6;\n    M128 Xmm7;\n    M128 Xmm8;\n    M128 Xmm9;\n    M128 Xmm10;\n    M128 Xmm11;\n    M128 Xmm12;\n    M128 Xmm13;\n    M128 Xmm14;\n    M128 Xmm15;\n\n    //\n    // Legacy floating point state.\n    //\n\n    LEGACY_SAVE_AREA FltSave;\n    DWORD Fill;\n\n    //\n    // Special debug control registers.\n    //\n\n    DWORD64 DebugControl;\n    DWORD64 LastBranchToRip;\n    DWORD64 LastBranchFromRip;\n    DWORD64 LastExceptionToRip;\n    DWORD64 LastExceptionFromRip;\n    DWORD64 Fill1;\n} CONTEXT, *PCONTEXT;\n\n\n#endif // _AMD64_\n\n//\n// Define function to return the current Thread Environment Block\n//\n\n#ifdef _ALPHA_                          // winnt\nvoid *_rdteb(void);                     // winnt\n#if defined(_M_ALPHA)                   // winnt\n#pragma intrinsic(_rdteb)               // winnt\n#endif                                  // winnt\n#endif                                  // winnt\n\n#if defined(_M_ALPHA)\n#define NtCurrentTeb() ((struct _TEB *)_rdteb())\n#else\nstruct _TEB *\nNtCurrentTeb(void);\n#endif\n\n//\n// Define functions to get the address of the current fiber and the\n// current fiber data.\n//\n\n#ifdef _ALPHA_\n\n#define GetCurrentFiber() (((PNT_TIB)NtCurrentTeb())->FiberData)\n#define GetFiberData() (*(PVOID *)(GetCurrentFiber()))\n\n// begin_ntddk begin_nthal\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_ALPHA              0x00020000\n\n#define CONTEXT_CONTROL         (CONTEXT_ALPHA | 0x00000001L)\n#define CONTEXT_FLOATING_POINT  (CONTEXT_ALPHA | 0x00000002L)\n#define CONTEXT_INTEGER         (CONTEXT_ALPHA | 0x00000004L)\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)\n\n#endif\n\n#ifndef _PORTABLE_32BIT_CONTEXT\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to construct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, 4) it is used in the user level thread creation\n//  routines, and 5) it is used to to pass thread state to debuggers.\n//\n//  N.B. Because this record is used as a call frame, it must be EXACTLY\n//  a multiple of 16 bytes in length.\n//\n//  There are two variations of the context structure. This is the real one.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_FLOATING_POINT.\n    //\n\n    ULONGLONG FltF0;\n    ULONGLONG FltF1;\n    ULONGLONG FltF2;\n    ULONGLONG FltF3;\n    ULONGLONG FltF4;\n    ULONGLONG FltF5;\n    ULONGLONG FltF6;\n    ULONGLONG FltF7;\n    ULONGLONG FltF8;\n    ULONGLONG FltF9;\n    ULONGLONG FltF10;\n    ULONGLONG FltF11;\n    ULONGLONG FltF12;\n    ULONGLONG FltF13;\n    ULONGLONG FltF14;\n    ULONGLONG FltF15;\n    ULONGLONG FltF16;\n    ULONGLONG FltF17;\n    ULONGLONG FltF18;\n    ULONGLONG FltF19;\n    ULONGLONG FltF20;\n    ULONGLONG FltF21;\n    ULONGLONG FltF22;\n    ULONGLONG FltF23;\n    ULONGLONG FltF24;\n    ULONGLONG FltF25;\n    ULONGLONG FltF26;\n    ULONGLONG FltF27;\n    ULONGLONG FltF28;\n    ULONGLONG FltF29;\n    ULONGLONG FltF30;\n    ULONGLONG FltF31;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_INTEGER.\n    //\n    // N.B. The registers gp, sp, and ra are defined in this section, but are\n    //  considered part of the control context rather than part of the integer\n    //  context.\n    //\n\n    ULONGLONG IntV0;    //  $0: return value register, v0\n    ULONGLONG IntT0;    //  $1: temporary registers, t0 - t7\n    ULONGLONG IntT1;    //  $2:\n    ULONGLONG IntT2;    //  $3:\n    ULONGLONG IntT3;    //  $4:\n    ULONGLONG IntT4;    //  $5:\n    ULONGLONG IntT5;    //  $6:\n    ULONGLONG IntT6;    //  $7:\n    ULONGLONG IntT7;    //  $8:\n    ULONGLONG IntS0;    //  $9: nonvolatile registers, s0 - s5\n    ULONGLONG IntS1;    // $10:\n    ULONGLONG IntS2;    // $11:\n    ULONGLONG IntS3;    // $12:\n    ULONGLONG IntS4;    // $13:\n    ULONGLONG IntS5;    // $14:\n    ULONGLONG IntFp;    // $15: frame pointer register, fp/s6\n    ULONGLONG IntA0;    // $16: argument registers, a0 - a5\n    ULONGLONG IntA1;    // $17:\n    ULONGLONG IntA2;    // $18:\n    ULONGLONG IntA3;    // $19:\n    ULONGLONG IntA4;    // $20:\n    ULONGLONG IntA5;    // $21:\n    ULONGLONG IntT8;    // $22: temporary registers, t8 - t11\n    ULONGLONG IntT9;    // $23:\n    ULONGLONG IntT10;   // $24:\n    ULONGLONG IntT11;   // $25:\n    ULONGLONG IntRa;    // $26: return address register, ra\n    ULONGLONG IntT12;   // $27: temporary register, t12\n    ULONGLONG IntAt;    // $28: assembler temp register, at\n    ULONGLONG IntGp;    // $29: global pointer register, gp\n    ULONGLONG IntSp;    // $30: stack pointer register, sp\n    ULONGLONG IntZero;  // $31: zero register, zero\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_FLOATING_POINT.\n    //\n\n    ULONGLONG Fpcr;     // floating point control register\n    ULONGLONG SoftFpcr; // software extension to FPCR\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_CONTROL.\n    //\n    // N.B. The registers gp, sp, and ra are defined in the integer section,\n    //   but are considered part of the control context rather than part of\n    //   the integer context.\n    //\n\n    ULONGLONG Fir;      // (fault instruction) continuation address\n    DWORD Psr;          // processor status\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a thread's context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    DWORD ContextFlags;\n    DWORD Fill[4];      // padding for 16-byte stack frame alignment\n\n} CONTEXT, *PCONTEXT;\n\n#else\n\n#error _PORTABLE_32BIT_CONTEXT no longer supported on Alpha.\n\n#endif // _PORTABLE_32BIT_CONTEXT\n\n// end_ntddk end_nthal\n\n#endif // _ALPHA_\n\n\n#ifdef _ALPHA_\n\nVOID\n__jump_unwind (\n    PVOID VirtualFramePointer,\n    PVOID TargetPc\n    );\n\n#endif // _ALPHA_\n\n\n#ifdef _X86_\n\n//\n// Disable these two pragmas that evaluate to \"sti\" \"cli\" on x86 so that driver\n// writers to not leave them inadvertantly in their code.\n//\n\n#if !defined(MIDL_PASS)\n#if !defined(RC_INVOKED)\n\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable:4164)   // disable C4164 warning so that apps that\n                                // build with /Od don't get weird errors !\n#ifdef _M_IX86\n#pragma function(_enable)\n#pragma function(_disable)\n#endif\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default:4164)   // reenable C4164 warning\n#endif\n\n#endif\n#endif\n\n\n#if !defined(MIDL_PASS) || defined(_M_IX86)\n\n#if (_MSC_FULL_VER >= 13012035)\n\n//\n// Define bit scan intrinsics.\n//\n\n//#define BitScanForward _BitScanForward\n//#define BitScanReverse _BitScanReverse\n\n//BOOLEAN\n//_BitScanForward (\n//    OUT DWORD *Index,\n//    IN DWORD Mask\n//    );\n\n//BOOLEAN\n//_BitScanReverse (\n//    OUT DWORD *Index,\n//    IN DWORD Mask\n//    );\n\n\n//#pragma intrinsic(_BitScanForward)\n//#pragma intrinsic(_BitScanReverse)\n\n//\n// Define FS referencing intrinsics\n//\n\nBYTE \n__readfsbyte (\n    IN DWORD Offset\n    );\n \nWORD  \n__readfsword (\n    IN DWORD Offset\n    );\n \nDWORD\n__readfsdword (\n    IN DWORD Offset\n    );\n \nVOID\n__writefsbyte (\n    IN DWORD Offset,\n    IN BYTE  Data\n    );\n \nVOID\n__writefsword (\n    IN DWORD Offset,\n    IN WORD   Data\n    );\n \nVOID\n__writefsdword (\n    IN DWORD Offset,\n    IN DWORD Data\n    );\n \n#pragma intrinsic(__readfsbyte)\n#pragma intrinsic(__readfsword)\n#pragma intrinsic(__readfsdword)\n#pragma intrinsic(__writefsbyte)\n#pragma intrinsic(__writefsword)\n#pragma intrinsic(__writefsdword)\n\n#endif\n\n#endif\n\n\n#if !defined(MIDL_PASS) && defined(_M_IX86)\n\n#if (_MSC_FULL_VER >= 13012035)\n\n_inline PVOID GetFiberData( void )    { return *(PVOID *) (ULONG_PTR) __readfsdword (0x10);}\n_inline PVOID GetCurrentFiber( void ) { return (PVOID) (ULONG_PTR) __readfsdword (0x10);}\n\n#else\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning (disable:4035)        // disable 4035 (function must return something)\n_inline PVOID GetFiberData( void ) { __asm {\n                                        mov eax, fs:[0x10]\n                                        mov eax,[eax]\n                                        }\n                                     }\n_inline PVOID GetCurrentFiber( void ) { __asm mov eax, fs:[0x10] }\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning (default:4035)        // Reenable it\n#endif\n#endif\n#endif\n\n// begin_ntddk begin_wx86\n\n//\n//  Define the size of the 80387 save area, which is in the context frame.\n//\n\n#define SIZE_OF_80387_REGISTERS      80\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_i386    0x00010000    // this assumes that i386 and\n#define CONTEXT_i486    0x00010000    // i486 have identical context records\n\n// end_wx86\n\n#define CONTEXT_CONTROL         (CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP\n#define CONTEXT_INTEGER         (CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI\n#define CONTEXT_SEGMENTS        (CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS\n#define CONTEXT_FLOATING_POINT  (CONTEXT_i386 | 0x00000008L) // 387 state\n#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7\n#define CONTEXT_EXTENDED_REGISTERS  (CONTEXT_i386 | 0x00000020L) // cpu specific extensions\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER |\\\n                      CONTEXT_SEGMENTS)\n\n#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)\n\n// begin_wx86\n\n#endif\n\n#define MAXIMUM_SUPPORTED_EXTENSION     512\n\ntypedef struct _FLOATING_SAVE_AREA {\n    DWORD   ControlWord;\n    DWORD   StatusWord;\n    DWORD   TagWord;\n    DWORD   ErrorOffset;\n    DWORD   ErrorSelector;\n    DWORD   DataOffset;\n    DWORD   DataSelector;\n    BYTE    RegisterArea[SIZE_OF_80387_REGISTERS];\n    DWORD   Cr0NpxState;\n} FLOATING_SAVE_AREA;\n\ntypedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) is is used to constuct a call frame for APC delivery,\n//  and 3) it is used in the user level thread creation routines.\n//\n//  The layout of the record conforms to a standard call frame.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a threads context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    DWORD ContextFlags;\n\n    //\n    // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is\n    // set in ContextFlags.  Note that CONTEXT_DEBUG_REGISTERS is NOT\n    // included in CONTEXT_FULL.\n    //\n\n    DWORD   Dr0;\n    DWORD   Dr1;\n    DWORD   Dr2;\n    DWORD   Dr3;\n    DWORD   Dr6;\n    DWORD   Dr7;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_FLOATING_POINT.\n    //\n\n    FLOATING_SAVE_AREA FloatSave;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_SEGMENTS.\n    //\n\n    DWORD   SegGs;\n    DWORD   SegFs;\n    DWORD   SegEs;\n    DWORD   SegDs;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_INTEGER.\n    //\n\n    DWORD   Edi;\n    DWORD   Esi;\n    DWORD   Ebx;\n    DWORD   Edx;\n    DWORD   Ecx;\n    DWORD   Eax;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_CONTROL.\n    //\n\n    DWORD   Ebp;\n    DWORD   Eip;\n    DWORD   SegCs;              // MUST BE SANITIZED\n    DWORD   EFlags;             // MUST BE SANITIZED\n    DWORD   Esp;\n    DWORD   SegSs;\n\n    //\n    // This section is specified/returned if the ContextFlags word\n    // contains the flag CONTEXT_EXTENDED_REGISTERS.\n    // The format and contexts are processor specific\n    //\n\n    BYTE    ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];\n\n} CONTEXT;\n\n\n\ntypedef CONTEXT *PCONTEXT;\n\n// begin_ntminiport\n\n#endif //_X86_\n\n\n#ifndef _LDT_ENTRY_DEFINED\n#define _LDT_ENTRY_DEFINED\n\ntypedef struct _LDT_ENTRY {\n    WORD    LimitLow;\n    WORD    BaseLow;\n    union {\n        struct {\n            BYTE    BaseMid;\n            BYTE    Flags1;     // Declare as bytes to avoid alignment\n            BYTE    Flags2;     // Problems.\n            BYTE    BaseHi;\n        } Bytes;\n        struct {\n            DWORD   BaseMid : 8;\n            DWORD   Type : 5;\n            DWORD   Dpl : 2;\n            DWORD   Pres : 1;\n            DWORD   LimitHi : 4;\n            DWORD   Sys : 1;\n            DWORD   Reserved_0 : 1;\n            DWORD   Default_Big : 1;\n            DWORD   Granularity : 1;\n            DWORD   BaseHi : 8;\n        } Bits;\n    } HighWord;\n} LDT_ENTRY, *PLDT_ENTRY;\n\n#endif\n\n\n#if defined(_MIPS_)\n\n//\n// Define functions to get the address of the current fiber and the\n// current fiber data.\n//\n\n#define GetCurrentFiber() ((*(PNT_TIB *)0x7ffff4a8)->FiberData)\n#define GetFiberData() (*(PVOID *)(GetCurrentFiber()))\n\n// begin_ntddk begin_nthal\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_R4000   0x00010000    // r4000 context\n\n#define CONTEXT_CONTROL          (CONTEXT_R4000 | 0x00000001)\n#define CONTEXT_FLOATING_POINT   (CONTEXT_R4000 | 0x00000002)\n#define CONTEXT_INTEGER          (CONTEXT_R4000 | 0x00000004)\n#define CONTEXT_EXTENDED_FLOAT   (CONTEXT_FLOATING_POINT | 0x00000008)\n#define CONTEXT_EXTENDED_INTEGER (CONTEXT_INTEGER | 0x00000010)\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | \\\n                      CONTEXT_INTEGER | CONTEXT_EXTENDED_INTEGER)\n\n#endif\n\n//\n// Context Frame\n//\n//  N.B. This frame must be exactly a multiple of 16 bytes in length.\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to constuct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, and 4) it is used in the user level thread creation\n//  routines.\n//\n//  The layout of the record conforms to a standard call frame.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // This section is always present and is used as an argument build\n    // area.\n    //\n    // N.B. Context records are 0 mod 8 aligned starting with NT 4.0.\n    //\n\n    union {\n        DWORD Argument[4];\n        ULONGLONG Alignment;\n    };\n\n    //\n    // The following union defines the 32-bit and 64-bit register context.\n    //\n\n    union {\n\n        //\n        // 32-bit context.\n        //\n\n        struct {\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_FLOATING_POINT.\n            //\n            // N.B. This section contains the 16 double floating registers f0,\n            //      f2, ..., f30.\n            //\n\n            DWORD FltF0;\n            DWORD FltF1;\n            DWORD FltF2;\n            DWORD FltF3;\n            DWORD FltF4;\n            DWORD FltF5;\n            DWORD FltF6;\n            DWORD FltF7;\n            DWORD FltF8;\n            DWORD FltF9;\n            DWORD FltF10;\n            DWORD FltF11;\n            DWORD FltF12;\n            DWORD FltF13;\n            DWORD FltF14;\n            DWORD FltF15;\n            DWORD FltF16;\n            DWORD FltF17;\n            DWORD FltF18;\n            DWORD FltF19;\n            DWORD FltF20;\n            DWORD FltF21;\n            DWORD FltF22;\n            DWORD FltF23;\n            DWORD FltF24;\n            DWORD FltF25;\n            DWORD FltF26;\n            DWORD FltF27;\n            DWORD FltF28;\n            DWORD FltF29;\n            DWORD FltF30;\n            DWORD FltF31;\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_INTEGER.\n            //\n            // N.B. The registers gp, sp, and ra are defined in this section,\n            //      but are considered part of the control context rather than\n            //      part of the integer context.\n            //\n            // N.B. Register zero is not stored in the frame.\n            //\n\n            DWORD IntZero;\n            DWORD IntAt;\n            DWORD IntV0;\n            DWORD IntV1;\n            DWORD IntA0;\n            DWORD IntA1;\n            DWORD IntA2;\n            DWORD IntA3;\n            DWORD IntT0;\n            DWORD IntT1;\n            DWORD IntT2;\n            DWORD IntT3;\n            DWORD IntT4;\n            DWORD IntT5;\n            DWORD IntT6;\n            DWORD IntT7;\n            DWORD IntS0;\n            DWORD IntS1;\n            DWORD IntS2;\n            DWORD IntS3;\n            DWORD IntS4;\n            DWORD IntS5;\n            DWORD IntS6;\n            DWORD IntS7;\n            DWORD IntT8;\n            DWORD IntT9;\n            DWORD IntK0;\n            DWORD IntK1;\n            DWORD IntGp;\n            DWORD IntSp;\n            DWORD IntS8;\n            DWORD IntRa;\n            DWORD IntLo;\n            DWORD IntHi;\n\n            //\n            // This section is specified/returned if the ContextFlags word contains\n            // the flag CONTEXT_FLOATING_POINT.\n            //\n\n            DWORD Fsr;\n\n            //\n            // This section is specified/returned if the ContextFlags word contains\n            // the flag CONTEXT_CONTROL.\n            //\n            // N.B. The registers gp, sp, and ra are defined in the integer section,\n            //   but are considered part of the control context rather than part of\n            //   the integer context.\n            //\n\n            DWORD Fir;\n            DWORD Psr;\n\n            //\n            // The flags values within this flag control the contents of\n            // a CONTEXT record.\n            //\n            // If the context record is used as an input parameter, then\n            // for each portion of the context record controlled by a flag\n            // whose value is set, it is assumed that that portion of the\n            // context record contains valid context. If the context record\n            // is being used to modify a thread's context, then only that\n            // portion of the threads context will be modified.\n            //\n            // If the context record is used as an IN OUT parameter to capture\n            // the context of a thread, then only those portions of the thread's\n            // context corresponding to set flags will be returned.\n            //\n            // The context record is never used as an OUT only parameter.\n            //\n\n            DWORD ContextFlags;\n        };\n\n        //\n        // 64-bit context.\n        //\n\n        struct {\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_EXTENDED_FLOAT.\n            //\n            // N.B. This section contains the 32 double floating registers f0,\n            //      f1, ..., f31.\n            //\n\n            ULONGLONG XFltF0;\n            ULONGLONG XFltF1;\n            ULONGLONG XFltF2;\n            ULONGLONG XFltF3;\n            ULONGLONG XFltF4;\n            ULONGLONG XFltF5;\n            ULONGLONG XFltF6;\n            ULONGLONG XFltF7;\n            ULONGLONG XFltF8;\n            ULONGLONG XFltF9;\n            ULONGLONG XFltF10;\n            ULONGLONG XFltF11;\n            ULONGLONG XFltF12;\n            ULONGLONG XFltF13;\n            ULONGLONG XFltF14;\n            ULONGLONG XFltF15;\n            ULONGLONG XFltF16;\n            ULONGLONG XFltF17;\n            ULONGLONG XFltF18;\n            ULONGLONG XFltF19;\n            ULONGLONG XFltF20;\n            ULONGLONG XFltF21;\n            ULONGLONG XFltF22;\n            ULONGLONG XFltF23;\n            ULONGLONG XFltF24;\n            ULONGLONG XFltF25;\n            ULONGLONG XFltF26;\n            ULONGLONG XFltF27;\n            ULONGLONG XFltF28;\n            ULONGLONG XFltF29;\n            ULONGLONG XFltF30;\n            ULONGLONG XFltF31;\n\n            //\n            // The following sections must exactly overlay the 32-bit context.\n            //\n\n            DWORD Fill1;\n            DWORD Fill2;\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_FLOATING_POINT.\n            //\n\n            DWORD XFsr;\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_CONTROL.\n            //\n            // N.B. The registers gp, sp, and ra are defined in the integer\n            //      section, but are considered part of the control context\n            //      rather than part of the integer context.\n            //\n\n            DWORD XFir;\n            DWORD XPsr;\n\n            //\n            // The flags values within this flag control the contents of\n            // a CONTEXT record.\n            //\n            // If the context record is used as an input parameter, then\n            // for each portion of the context record controlled by a flag\n            // whose value is set, it is assumed that that portion of the\n            // context record contains valid context. If the context record\n            // is being used to modify a thread's context, then only that\n            // portion of the threads context will be modified.\n            //\n            // If the context record is used as an IN OUT parameter to capture\n            // the context of a thread, then only those portions of the thread's\n            // context corresponding to set flags will be returned.\n            //\n            // The context record is never used as an OUT only parameter.\n            //\n\n            DWORD XContextFlags;\n\n            //\n            // This section is specified/returned if the ContextFlags contains\n            // the flag CONTEXT_EXTENDED_INTEGER.\n            //\n            // N.B. The registers gp, sp, and ra are defined in this section,\n            //      but are considered part of the control context rather than\n            //      part of the integer  context.\n            //\n            // N.B. Register zero is not stored in the frame.\n            //\n\n            ULONGLONG XIntZero;\n            ULONGLONG XIntAt;\n            ULONGLONG XIntV0;\n            ULONGLONG XIntV1;\n            ULONGLONG XIntA0;\n            ULONGLONG XIntA1;\n            ULONGLONG XIntA2;\n            ULONGLONG XIntA3;\n            ULONGLONG XIntT0;\n            ULONGLONG XIntT1;\n            ULONGLONG XIntT2;\n            ULONGLONG XIntT3;\n            ULONGLONG XIntT4;\n            ULONGLONG XIntT5;\n            ULONGLONG XIntT6;\n            ULONGLONG XIntT7;\n            ULONGLONG XIntS0;\n            ULONGLONG XIntS1;\n            ULONGLONG XIntS2;\n            ULONGLONG XIntS3;\n            ULONGLONG XIntS4;\n            ULONGLONG XIntS5;\n            ULONGLONG XIntS6;\n            ULONGLONG XIntS7;\n            ULONGLONG XIntT8;\n            ULONGLONG XIntT9;\n            ULONGLONG XIntK0;\n            ULONGLONG XIntK1;\n            ULONGLONG XIntGp;\n            ULONGLONG XIntSp;\n            ULONGLONG XIntS8;\n            ULONGLONG XIntRa;\n            ULONGLONG XIntLo;\n            ULONGLONG XIntHi;\n        };\n    };\n} CONTEXT, *PCONTEXT;\n\n// end_ntddk end_nthal\n\n#define CONTEXT32_LENGTH 0x130          // The original 32-bit Context length (pre NT 4.0)\n\n#endif // MIPS\n\n\n#if defined(_MIPS_)\n\nVOID\n__jump_unwind (\n    PVOID Fp,\n    PVOID TargetPc\n    );\n\n#endif // MIPS\n\n\n#if defined(_PPC_)\n\n\n//\n// The address of the TEB is placed into GPR 13 at context switch time\n// and should never be destroyed.  To get the address of the TEB use\n// the compiler intrinsic to access it directly from GPR 13.\n//\n\n#if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000)\nunsigned __gregister_get( unsigned const regnum );\n#define NtCurrentTeb() ((struct _TEB *)__gregister_get(13))\n#elif defined(_M_PPC)\nstruct _TEB * __builtin_get_gpr13(VOID);\n#define NtCurrentTeb() ((struct _TEB *)__builtin_get_gpr13())\n#endif\n\n\f\n//\n// Define functions to get the address of the current fiber and the\n// current fiber data.\n//\n\n#define GetCurrentFiber() (((PNT_TIB)NtCurrentTeb())->FiberData)\n#define GetFiberData() (*(PVOID *)(GetCurrentFiber()))\n\n// begin_ntddk begin_nthal\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_CONTROL         0x00000001L\n#define CONTEXT_FLOATING_POINT  0x00000002L\n#define CONTEXT_INTEGER         0x00000004L\n#define CONTEXT_DEBUG_REGISTERS 0x00000008L\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)\n\n#endif\n\n//\n// Context Frame\n//\n//  N.B. This frame must be exactly a multiple of 16 bytes in length.\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to constuct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, and 4) it is used in the user level thread creation\n//  routines.\n//\n//  Requires at least 8-byte alignment (double)\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_FLOATING_POINT.\n    //\n\n    double Fpr0;                        // Floating registers 0..31\n    double Fpr1;\n    double Fpr2;\n    double Fpr3;\n    double Fpr4;\n    double Fpr5;\n    double Fpr6;\n    double Fpr7;\n    double Fpr8;\n    double Fpr9;\n    double Fpr10;\n    double Fpr11;\n    double Fpr12;\n    double Fpr13;\n    double Fpr14;\n    double Fpr15;\n    double Fpr16;\n    double Fpr17;\n    double Fpr18;\n    double Fpr19;\n    double Fpr20;\n    double Fpr21;\n    double Fpr22;\n    double Fpr23;\n    double Fpr24;\n    double Fpr25;\n    double Fpr26;\n    double Fpr27;\n    double Fpr28;\n    double Fpr29;\n    double Fpr30;\n    double Fpr31;\n    double Fpscr;                       // Floating point status/control reg\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_INTEGER.\n    //\n\n    DWORD Gpr0;                         // General registers 0..31\n    DWORD Gpr1;\n    DWORD Gpr2;\n    DWORD Gpr3;\n    DWORD Gpr4;\n    DWORD Gpr5;\n    DWORD Gpr6;\n    DWORD Gpr7;\n    DWORD Gpr8;\n    DWORD Gpr9;\n    DWORD Gpr10;\n    DWORD Gpr11;\n    DWORD Gpr12;\n    DWORD Gpr13;\n    DWORD Gpr14;\n    DWORD Gpr15;\n    DWORD Gpr16;\n    DWORD Gpr17;\n    DWORD Gpr18;\n    DWORD Gpr19;\n    DWORD Gpr20;\n    DWORD Gpr21;\n    DWORD Gpr22;\n    DWORD Gpr23;\n    DWORD Gpr24;\n    DWORD Gpr25;\n    DWORD Gpr26;\n    DWORD Gpr27;\n    DWORD Gpr28;\n    DWORD Gpr29;\n    DWORD Gpr30;\n    DWORD Gpr31;\n\n    DWORD Cr;                           // Condition register\n    DWORD Xer;                          // Fixed point exception register\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_CONTROL.\n    //\n\n    DWORD Msr;                          // Machine status register\n    DWORD Iar;                          // Instruction address register\n    DWORD Lr;                           // Link register\n    DWORD Ctr;                          // Count register\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a thread's context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    DWORD ContextFlags;\n\n    DWORD Fill[3];                      // Pad out to multiple of 16 bytes\n\n    //\n    // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is\n    // set in ContextFlags.  Note that CONTEXT_DEBUG_REGISTERS is NOT\n    // included in CONTEXT_FULL.\n    //\n    DWORD Dr0;                          // Breakpoint Register 1\n    DWORD Dr1;                          // Breakpoint Register 2\n    DWORD Dr2;                          // Breakpoint Register 3\n    DWORD Dr3;                          // Breakpoint Register 4\n    DWORD Dr4;                          // Breakpoint Register 5\n    DWORD Dr5;                          // Breakpoint Register 6\n    DWORD Dr6;                          // Debug Status Register\n    DWORD Dr7;                          // Debug Control Register\n\n} CONTEXT, *PCONTEXT;\n\n// end_ntddk end_nthal\n\n\n//\n// Stack frame header\n//\n//   Order of appearance in stack frame:\n//      Header (six words)\n//      Parameters (at least eight words)\n//      Local variables\n//      Saved GPRs\n//      Saved FPRs\n//\n//   Minimum alignment is 8 bytes\n\ntypedef struct _STACK_FRAME_HEADER {    // GPR 1 points here\n    DWORD BackChain;                    // Addr of previous frame\n    DWORD GlueSaved1;                   // Used by glue code\n    DWORD GlueSaved2;\n    DWORD Reserved1;                    // Reserved\n    DWORD Spare1;                       // Used by tracing, profiling, ...\n    DWORD Spare2;\n\n    DWORD Parameter0;                   // First 8 parameter words are\n    DWORD Parameter1;                   //   always present\n    DWORD Parameter2;\n    DWORD Parameter3;\n    DWORD Parameter4;\n    DWORD Parameter5;\n    DWORD Parameter6;\n    DWORD Parameter7;\n\n} STACK_FRAME_HEADER,*PSTACK_FRAME_HEADER;\n\n\nVOID\n__jump_unwind (\n    PVOID Fp,\n    PVOID TargetPc\n    );\n\n#endif // defined(_PPC_)\n\n#if defined(_MPPC_)\n\n\n//\n// The address of the TEB is placed into GPR 13 at context switch time\n// and should never be destroyed.  To get the address of the TEB use\n// the compiler intrinsic to access it directly from GPR 13.\n//\n\n#if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000)\nunsigned __gregister_get( unsigned const regnum );\n#define NtCurrentTeb() ((struct _TEB *)__gregister_get(13))\n#elif defined(_M_PPC)\nstruct _TEB * __builtin_get_gpr13(VOID);\n#define NtCurrentTeb() ((struct _TEB *)__builtin_get_gpr13())\n#endif\n\n\f\n//\n// Define functions to get the address of the current fiber and the\n// current fiber data.\n//\n\n#define GetCurrentFiber() (((PNT_TIB)NtCurrentTeb())->FiberData)\n#define GetFiberData() (*(PVOID *)(GetCurrentFiber()))\n\n// begin_ntddk begin_nthal\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_CONTROL         0x00000001L\n#define CONTEXT_FLOATING_POINT  0x00000002L\n#define CONTEXT_INTEGER         0x00000004L\n#define CONTEXT_DEBUG_REGISTERS 0x00000008L\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)\n\n#endif\n\n//\n// Context Frame\n//\n//  N.B. This frame must be exactly a multiple of 16 bytes in length.\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to constuct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, and 4) it is used in the user level thread creation\n//  routines.\n//\n//  Requires at least 8-byte alignment (double)\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_FLOATING_POINT.\n    //\n\n    double Fpr0;                        // Floating registers 0..31\n    double Fpr1;\n    double Fpr2;\n    double Fpr3;\n    double Fpr4;\n    double Fpr5;\n    double Fpr6;\n    double Fpr7;\n    double Fpr8;\n    double Fpr9;\n    double Fpr10;\n    double Fpr11;\n    double Fpr12;\n    double Fpr13;\n    double Fpr14;\n    double Fpr15;\n    double Fpr16;\n    double Fpr17;\n    double Fpr18;\n    double Fpr19;\n    double Fpr20;\n    double Fpr21;\n    double Fpr22;\n    double Fpr23;\n    double Fpr24;\n    double Fpr25;\n    double Fpr26;\n    double Fpr27;\n    double Fpr28;\n    double Fpr29;\n    double Fpr30;\n    double Fpr31;\n    double Fpscr;                       // Floating point status/control reg\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_INTEGER.\n    //\n\n    DWORD Gpr0;                         // General registers 0..31\n    DWORD Gpr1;\n    DWORD Gpr2;\n    DWORD Gpr3;\n    DWORD Gpr4;\n    DWORD Gpr5;\n    DWORD Gpr6;\n    DWORD Gpr7;\n    DWORD Gpr8;\n    DWORD Gpr9;\n    DWORD Gpr10;\n    DWORD Gpr11;\n    DWORD Gpr12;\n    DWORD Gpr13;\n    DWORD Gpr14;\n    DWORD Gpr15;\n    DWORD Gpr16;\n    DWORD Gpr17;\n    DWORD Gpr18;\n    DWORD Gpr19;\n    DWORD Gpr20;\n    DWORD Gpr21;\n    DWORD Gpr22;\n    DWORD Gpr23;\n    DWORD Gpr24;\n    DWORD Gpr25;\n    DWORD Gpr26;\n    DWORD Gpr27;\n    DWORD Gpr28;\n    DWORD Gpr29;\n    DWORD Gpr30;\n    DWORD Gpr31;\n\n    DWORD Cr;                           // Condition register\n    DWORD Xer;                          // Fixed point exception register\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_CONTROL.\n    //\n\n    DWORD Msr;                          // Machine status register\n    DWORD Iar;                          // Instruction address register\n    DWORD Lr;                           // Link register\n    DWORD Ctr;                          // Count register\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a thread's context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    DWORD ContextFlags;\n\n    DWORD Fill[3];                      // Pad out to multiple of 16 bytes\n\n    //\n    // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is\n    // set in ContextFlags.  Note that CONTEXT_DEBUG_REGISTERS is NOT\n    // included in CONTEXT_FULL.\n    //\n    DWORD Dr0;                          // Breakpoint Register 1\n    DWORD Dr1;                          // Breakpoint Register 2\n    DWORD Dr2;                          // Breakpoint Register 3\n    DWORD Dr3;                          // Breakpoint Register 4\n    DWORD Dr4;                          // Breakpoint Register 5\n    DWORD Dr5;                          // Breakpoint Register 6\n    DWORD Dr6;                          // Debug Status Register\n    DWORD Dr7;                          // Debug Control Register\n\n} CONTEXT, *PCONTEXT;\n\n// end_ntddk end_nthal\n\n\n//\n// Stack frame header\n//\n//   Order of appearance in stack frame:\n//      Header (six words)\n//      Parameters (at least eight words)\n//      Local variables\n//      Saved GPRs\n//      Saved FPRs\n//\n//   Minimum alignment is 8 bytes\n\ntypedef struct _STACK_FRAME_HEADER {    // GPR 1 points here\n    DWORD BackChain;                    // Addr of previous frame\n    DWORD GlueSaved1;                   // Used by glue code\n    DWORD GlueSaved2;\n    DWORD Reserved1;                    // Reserved\n    DWORD Spare1;                       // Used by tracing, profiling, ...\n    DWORD Spare2;\n\n    DWORD Parameter0;                   // First 8 parameter words are\n    DWORD Parameter1;                   //   always present\n    DWORD Parameter2;\n    DWORD Parameter3;\n    DWORD Parameter4;\n    DWORD Parameter5;\n    DWORD Parameter6;\n    DWORD Parameter7;\n\n} STACK_FRAME_HEADER,*PSTACK_FRAME_HEADER;\n\n\nVOID\n__jump_unwind (\n    PVOID Fp,\n    PVOID TargetPc\n    );\n\n#endif // defined(_MPPC_)\n\n#if !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_)\n\nvoid * _cdecl _rdteb(void);\n#if defined(_M_IA64)                    // winnt\n#pragma intrinsic(_rdteb)               // winnt\n#endif                                  // winnt\n\n\n#if defined(_M_IA64)\n#define NtCurrentTeb()      ((struct _TEB *)_rdteb())\n#else\nstruct _TEB *\nNtCurrentTeb(void);\n#endif\n\n//\n// Define functions to get the address of the current fiber and the\n// current fiber data.\n//\n\n#define GetCurrentFiber() (((PNT_TIB)NtCurrentTeb())->FiberData)\n#define GetFiberData() (*(PVOID *)(GetCurrentFiber()))\n\n#endif  // !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_M_IA64)\n\n#ifdef _IA64_\n\n// begin_ntddk begin_nthal\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_IA64                    0x00080000\n\n#define CONTEXT_CONTROL                 (CONTEXT_IA64 | 0x00000001L)\n#define CONTEXT_LOWER_FLOATING_POINT    (CONTEXT_IA64 | 0x00000002L)\n#define CONTEXT_HIGHER_FLOATING_POINT   (CONTEXT_IA64 | 0x00000004L)\n#define CONTEXT_INTEGER                 (CONTEXT_IA64 | 0x00000008L)\n#define CONTEXT_DEBUG                   (CONTEXT_IA64 | 0x00000010L)\n#define CONTEXT_IA32_CONTROL            (CONTEXT_IA64 | 0x00000020L)  // Includes StIPSR\n\n\n#define CONTEXT_FLOATING_POINT          (CONTEXT_LOWER_FLOATING_POINT | CONTEXT_HIGHER_FLOATING_POINT)\n#define CONTEXT_FULL                    (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER | CONTEXT_IA32_CONTROL)\n#define CONTEXT_ALL                     (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER | CONTEXT_DEBUG | CONTEXT_IA32_CONTROL)\n\n#endif // !defined(RC_INVOKED)\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to construct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, 4) it is used in the user level thread creation\n//  routines, and 5) it is used to to pass thread state to debuggers.\n//\n//  N.B. Because this record is used as a call frame, it must be EXACTLY\n//  a multiple of 16 bytes in length and aligned on a 16-byte boundary.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a thread's context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    DWORD ContextFlags;\n    DWORD Fill1[3];         // for alignment of following on 16-byte boundary\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_DEBUG.\n    //\n    // N.B. CONTEXT_DEBUG is *not* part of CONTEXT_FULL.\n    //\n\n    ULONGLONG DbI0;\n    ULONGLONG DbI1;\n    ULONGLONG DbI2;\n    ULONGLONG DbI3;\n    ULONGLONG DbI4;\n    ULONGLONG DbI5;\n    ULONGLONG DbI6;\n    ULONGLONG DbI7;\n\n    ULONGLONG DbD0;\n    ULONGLONG DbD1;\n    ULONGLONG DbD2;\n    ULONGLONG DbD3;\n    ULONGLONG DbD4;\n    ULONGLONG DbD5;\n    ULONGLONG DbD6;\n    ULONGLONG DbD7;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_LOWER_FLOATING_POINT.\n    //\n\n    FLOAT128 FltS0;\n    FLOAT128 FltS1;\n    FLOAT128 FltS2;\n    FLOAT128 FltS3;\n    FLOAT128 FltT0;\n    FLOAT128 FltT1;\n    FLOAT128 FltT2;\n    FLOAT128 FltT3;\n    FLOAT128 FltT4;\n    FLOAT128 FltT5;\n    FLOAT128 FltT6;\n    FLOAT128 FltT7;\n    FLOAT128 FltT8;\n    FLOAT128 FltT9;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_HIGHER_FLOATING_POINT.\n    //\n\n    FLOAT128 FltS4;\n    FLOAT128 FltS5;\n    FLOAT128 FltS6;\n    FLOAT128 FltS7;\n    FLOAT128 FltS8;\n    FLOAT128 FltS9;\n    FLOAT128 FltS10;\n    FLOAT128 FltS11;\n    FLOAT128 FltS12;\n    FLOAT128 FltS13;\n    FLOAT128 FltS14;\n    FLOAT128 FltS15;\n    FLOAT128 FltS16;\n    FLOAT128 FltS17;\n    FLOAT128 FltS18;\n    FLOAT128 FltS19;\n\n    FLOAT128 FltF32;\n    FLOAT128 FltF33;\n    FLOAT128 FltF34;\n    FLOAT128 FltF35;\n    FLOAT128 FltF36;\n    FLOAT128 FltF37;\n    FLOAT128 FltF38;\n    FLOAT128 FltF39;\n\n    FLOAT128 FltF40;\n    FLOAT128 FltF41;\n    FLOAT128 FltF42;\n    FLOAT128 FltF43;\n    FLOAT128 FltF44;\n    FLOAT128 FltF45;\n    FLOAT128 FltF46;\n    FLOAT128 FltF47;\n    FLOAT128 FltF48;\n    FLOAT128 FltF49;\n\n    FLOAT128 FltF50;\n    FLOAT128 FltF51;\n    FLOAT128 FltF52;\n    FLOAT128 FltF53;\n    FLOAT128 FltF54;\n    FLOAT128 FltF55;\n    FLOAT128 FltF56;\n    FLOAT128 FltF57;\n    FLOAT128 FltF58;\n    FLOAT128 FltF59;\n\n    FLOAT128 FltF60;\n    FLOAT128 FltF61;\n    FLOAT128 FltF62;\n    FLOAT128 FltF63;\n    FLOAT128 FltF64;\n    FLOAT128 FltF65;\n    FLOAT128 FltF66;\n    FLOAT128 FltF67;\n    FLOAT128 FltF68;\n    FLOAT128 FltF69;\n\n    FLOAT128 FltF70;\n    FLOAT128 FltF71;\n    FLOAT128 FltF72;\n    FLOAT128 FltF73;\n    FLOAT128 FltF74;\n    FLOAT128 FltF75;\n    FLOAT128 FltF76;\n    FLOAT128 FltF77;\n    FLOAT128 FltF78;\n    FLOAT128 FltF79;\n\n    FLOAT128 FltF80;\n    FLOAT128 FltF81;\n    FLOAT128 FltF82;\n    FLOAT128 FltF83;\n    FLOAT128 FltF84;\n    FLOAT128 FltF85;\n    FLOAT128 FltF86;\n    FLOAT128 FltF87;\n    FLOAT128 FltF88;\n    FLOAT128 FltF89;\n\n    FLOAT128 FltF90;\n    FLOAT128 FltF91;\n    FLOAT128 FltF92;\n    FLOAT128 FltF93;\n    FLOAT128 FltF94;\n    FLOAT128 FltF95;\n    FLOAT128 FltF96;\n    FLOAT128 FltF97;\n    FLOAT128 FltF98;\n    FLOAT128 FltF99;\n\n    FLOAT128 FltF100;\n    FLOAT128 FltF101;\n    FLOAT128 FltF102;\n    FLOAT128 FltF103;\n    FLOAT128 FltF104;\n    FLOAT128 FltF105;\n    FLOAT128 FltF106;\n    FLOAT128 FltF107;\n    FLOAT128 FltF108;\n    FLOAT128 FltF109;\n\n    FLOAT128 FltF110;\n    FLOAT128 FltF111;\n    FLOAT128 FltF112;\n    FLOAT128 FltF113;\n    FLOAT128 FltF114;\n    FLOAT128 FltF115;\n    FLOAT128 FltF116;\n    FLOAT128 FltF117;\n    FLOAT128 FltF118;\n    FLOAT128 FltF119;\n\n    FLOAT128 FltF120;\n    FLOAT128 FltF121;\n    FLOAT128 FltF122;\n    FLOAT128 FltF123;\n    FLOAT128 FltF124;\n    FLOAT128 FltF125;\n    FLOAT128 FltF126;\n    FLOAT128 FltF127;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_LOWER_FLOATING_POINT | CONTEXT_HIGHER_FLOATING_POINT | CONTEXT_CONTROL.\n    //\n\n    ULONGLONG StFPSR;       //  FP status\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_INTEGER.\n    //\n    // N.B. The registers gp, sp, rp are part of the control context\n    //\n\n    ULONGLONG IntGp;        //  r1, volatile\n    ULONGLONG IntT0;        //  r2-r3, volatile\n    ULONGLONG IntT1;        //\n    ULONGLONG IntS0;        //  r4-r7, preserved\n    ULONGLONG IntS1;\n    ULONGLONG IntS2;\n    ULONGLONG IntS3;\n    ULONGLONG IntV0;        //  r8, volatile\n    ULONGLONG IntT2;        //  r9-r11, volatile\n    ULONGLONG IntT3;\n    ULONGLONG IntT4;\n    ULONGLONG IntSp;        //  stack pointer (r12), special\n    ULONGLONG IntTeb;       //  teb (r13), special\n    ULONGLONG IntT5;        //  r14-r31, volatile\n    ULONGLONG IntT6;\n    ULONGLONG IntT7;\n    ULONGLONG IntT8;\n    ULONGLONG IntT9;\n    ULONGLONG IntT10;\n    ULONGLONG IntT11;\n    ULONGLONG IntT12;\n    ULONGLONG IntT13;\n    ULONGLONG IntT14;\n    ULONGLONG IntT15;\n    ULONGLONG IntT16;\n    ULONGLONG IntT17;\n    ULONGLONG IntT18;\n    ULONGLONG IntT19;\n    ULONGLONG IntT20;\n    ULONGLONG IntT21;\n    ULONGLONG IntT22;\n\n    ULONGLONG IntNats;      //  Nat bits for r1-r31\n                            //  r1-r31 in bits 1 thru 31.\n    ULONGLONG Preds;        //  predicates, preserved\n\n    ULONGLONG BrRp;         //  return pointer, b0, preserved\n    ULONGLONG BrS0;         //  b1-b5, preserved\n    ULONGLONG BrS1;\n    ULONGLONG BrS2;\n    ULONGLONG BrS3;\n    ULONGLONG BrS4;\n    ULONGLONG BrT0;         //  b6-b7, volatile\n    ULONGLONG BrT1;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_CONTROL.\n    //\n\n    // Other application registers\n    ULONGLONG ApUNAT;       //  User Nat collection register, preserved\n    ULONGLONG ApLC;         //  Loop counter register, preserved\n    ULONGLONG ApEC;         //  Epilog counter register, preserved\n    ULONGLONG ApCCV;        //  CMPXCHG value register, volatile\n    ULONGLONG ApDCR;        //  Default control register (TBD)\n\n    // Register stack info\n    ULONGLONG RsPFS;        //  Previous function state, preserved\n    ULONGLONG RsBSP;        //  Backing store pointer, preserved\n    ULONGLONG RsBSPSTORE;\n    ULONGLONG RsRSC;        //  RSE configuration, volatile\n    ULONGLONG RsRNAT;       //  RSE Nat collection register, preserved\n\n    // Trap Status Information\n    ULONGLONG StIPSR;       //  Interruption Processor Status\n    ULONGLONG StIIP;        //  Interruption IP\n    ULONGLONG StIFS;        //  Interruption Function State\n\n    // iA32 related control registers\n    ULONGLONG StFCR;        //  copy of Ar21\n    ULONGLONG Eflag;        //  Eflag copy of Ar24\n    ULONGLONG SegCSD;       //  iA32 CSDescriptor (Ar25)\n    ULONGLONG SegSSD;       //  iA32 SSDescriptor (Ar26)\n    ULONGLONG Cflag;        //  Cr0+Cr4 copy of Ar27\n    ULONGLONG StFSR;        //  x86 FP status (copy of AR28)\n    ULONGLONG StFIR;        //  x86 FP status (copy of AR29)\n    ULONGLONG StFDR;        //  x86 FP status (copy of AR30)\n\n      ULONGLONG UNUSEDPACK;   //  added to pack StFDR to 16-bytes\n\n} CONTEXT, *PCONTEXT;\n\n// begin_winnt\n\n//\n// Plabel descriptor structure definition\n//\n\ntypedef struct _PLABEL_DESCRIPTOR {\n   ULONGLONG EntryPoint;\n   ULONGLONG GlobalPointer;\n} PLABEL_DESCRIPTOR, *PPLABEL_DESCRIPTOR;\n\n\n#endif // _IA64_\n\n\n#ifdef _IA64_\n\nVOID\n__jump_unwind (\n    ULONGLONG TargetMsFrame,\n    ULONGLONG TargetBsFrame,\n    ULONGLONG TargetPc\n    );\n\n#endif // _IA64_\n\n#define EXCEPTION_NONCONTINUABLE 0x1    // Noncontinuable exception\n#define EXCEPTION_MAXIMUM_PARAMETERS 15 // maximum number of exception parameters\n\n//\n// Exception record definition.\n//\n\ntypedef struct _EXCEPTION_RECORD {\n    DWORD    ExceptionCode;\n    DWORD ExceptionFlags;\n    struct _EXCEPTION_RECORD *ExceptionRecord;\n    PVOID ExceptionAddress;\n    DWORD NumberParameters;\n    ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n    } EXCEPTION_RECORD;\n\ntypedef EXCEPTION_RECORD *PEXCEPTION_RECORD;\n\ntypedef struct _EXCEPTION_RECORD32 {\n    DWORD    ExceptionCode;\n    DWORD ExceptionFlags;\n    DWORD ExceptionRecord;\n    DWORD ExceptionAddress;\n    DWORD NumberParameters;\n    DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;\n\ntypedef struct _EXCEPTION_RECORD64 {\n    DWORD    ExceptionCode;\n    DWORD ExceptionFlags;\n    DWORD64 ExceptionRecord;\n    DWORD64 ExceptionAddress;\n    DWORD NumberParameters;\n    DWORD __unusedAlignment;\n    DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;\n\n//\n// Typedef for pointer returned by exception_info()\n//\n\ntypedef struct _EXCEPTION_POINTERS {\n    PEXCEPTION_RECORD ExceptionRecord;\n    PCONTEXT ContextRecord;\n} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;\ntypedef PVOID PACCESS_TOKEN;            \ntypedef PVOID PSECURITY_DESCRIPTOR;     \ntypedef PVOID PSID;     \n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                             ACCESS MASK                            //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n//\n//  Define the access mask as a longword sized structure divided up as\n//  follows:\n//\n//       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//      +---------------+---------------+-------------------------------+\n//      |G|G|G|G|Res'd|A| StandardRights|         SpecificRights        |\n//      |R|W|E|A|     |S|               |                               |\n//      +-+-------------+---------------+-------------------------------+\n//\n//      typedef struct _ACCESS_MASK {\n//          WORD   SpecificRights;\n//          BYTE  StandardRights;\n//          BYTE  AccessSystemAcl : 1;\n//          BYTE  Reserved : 3;\n//          BYTE  GenericAll : 1;\n//          BYTE  GenericExecute : 1;\n//          BYTE  GenericWrite : 1;\n//          BYTE  GenericRead : 1;\n//      } ACCESS_MASK;\n//      typedef ACCESS_MASK *PACCESS_MASK;\n//\n//  but to make life simple for programmer's we'll allow them to specify\n//  a desired access mask by simply OR'ing together mulitple single rights\n//  and treat an access mask as a DWORD.  For example\n//\n//      DesiredAccess = DELETE | READ_CONTROL\n//\n//  So we'll declare ACCESS_MASK as DWORD\n//\n\n// begin_ntddk begin_wdm begin_nthal begin_ntifs\ntypedef DWORD ACCESS_MASK;\ntypedef ACCESS_MASK *PACCESS_MASK;\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                             ACCESS TYPES                           //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n\n// begin_ntddk begin_wdm begin_nthal begin_ntifs\n//\n//  The following are masks for the predefined standard access types\n//\n\n#define DELETE                           (0x00010000L)\n#define READ_CONTROL                     (0x00020000L)\n#define WRITE_DAC                        (0x00040000L)\n#define WRITE_OWNER                      (0x00080000L)\n#define SYNCHRONIZE                      (0x00100000L)\n\n#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)\n\n#define STANDARD_RIGHTS_READ             (READ_CONTROL)\n#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)\n#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)\n\n#define STANDARD_RIGHTS_ALL              (0x001F0000L)\n\n#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)\n\n//\n// AccessSystemAcl access type\n//\n\n#define ACCESS_SYSTEM_SECURITY           (0x01000000L)\n\n//\n// MaximumAllowed access type\n//\n\n#define MAXIMUM_ALLOWED                  (0x02000000L)\n\n//\n//  These are the generic rights.\n//\n\n#define GENERIC_READ                     (0x80000000L)\n#define GENERIC_WRITE                    (0x40000000L)\n#define GENERIC_EXECUTE                  (0x20000000L)\n#define GENERIC_ALL                      (0x10000000L)\n\n\n//\n//  Define the generic mapping array.  This is used to denote the\n//  mapping of each generic access right to a specific access mask.\n//\n\ntypedef struct _GENERIC_MAPPING {\n    ACCESS_MASK GenericRead;\n    ACCESS_MASK GenericWrite;\n    ACCESS_MASK GenericExecute;\n    ACCESS_MASK GenericAll;\n} GENERIC_MAPPING;\ntypedef GENERIC_MAPPING *PGENERIC_MAPPING;\n\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                        LUID_AND_ATTRIBUTES                         //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n//\n//\n\n\n#include <pshpack4.h>\n\ntypedef struct _LUID_AND_ATTRIBUTES {\n    LUID Luid;\n    DWORD Attributes;\n    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;\ntypedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];\ntypedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;\n\n#include <poppack.h>\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//              Security Id     (SID)                                 //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n//\n//\n// Pictorially the structure of an SID is as follows:\n//\n//         1   1   1   1   1   1\n//         5   4   3   2   1   0   9   8   7   6   5   4   3   2   1   0\n//      +---------------------------------------------------------------+\n//      |      SubAuthorityCount        |Reserved1 (SBZ)|   Revision    |\n//      +---------------------------------------------------------------+\n//      |                   IdentifierAuthority[0]                      |\n//      +---------------------------------------------------------------+\n//      |                   IdentifierAuthority[1]                      |\n//      +---------------------------------------------------------------+\n//      |                   IdentifierAuthority[2]                      |\n//      +---------------------------------------------------------------+\n//      |                                                               |\n//      +- -  -  -  -  -  -  -  SubAuthority[]  -  -  -  -  -  -  -  - -+\n//      |                                                               |\n//      +---------------------------------------------------------------+\n//\n//\n\n\n// begin_ntifs\n\n#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED\n#define SID_IDENTIFIER_AUTHORITY_DEFINED\ntypedef struct _SID_IDENTIFIER_AUTHORITY {\n    BYTE  Value[6];\n} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;\n#endif\n\n\n#ifndef SID_DEFINED\n#define SID_DEFINED\ntypedef struct _SID {\n   BYTE  Revision;\n   BYTE  SubAuthorityCount;\n   SID_IDENTIFIER_AUTHORITY IdentifierAuthority;\n#ifdef MIDL_PASS\n   [size_is(SubAuthorityCount)] DWORD SubAuthority[*];\n#else // MIDL_PASS\n   DWORD SubAuthority[ANYSIZE_ARRAY];\n#endif // MIDL_PASS\n} SID, *PISID;\n#endif\n\n#define SID_REVISION                     (1)    // Current revision level\n#define SID_MAX_SUB_AUTHORITIES          (15)\n#define SID_RECOMMENDED_SUB_AUTHORITIES  (1)    // Will change to around 6\n\n                                                // in a future release.\n#ifndef MIDL_PASS\n#define SECURITY_MAX_SID_SIZE  \\\n      (sizeof(SID) - sizeof(DWORD) + (SID_MAX_SUB_AUTHORITIES * sizeof(DWORD)))\n#endif // MIDL_PASS\n\n\ntypedef enum _SID_NAME_USE {\n    SidTypeUser = 1,\n    SidTypeGroup,\n    SidTypeDomain,\n    SidTypeAlias,\n    SidTypeWellKnownGroup,\n    SidTypeDeletedAccount,\n    SidTypeInvalid,\n    SidTypeUnknown,\n    SidTypeComputer\n} SID_NAME_USE, *PSID_NAME_USE;\n\ntypedef struct _SID_AND_ATTRIBUTES {\n    PSID Sid;\n    DWORD Attributes;\n    } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;\n\ntypedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];\ntypedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;\n\n\n\f\n/////////////////////////////////////////////////////////////////////////////\n//                                                                         //\n// Universal well-known SIDs                                               //\n//                                                                         //\n//     Null SID                     S-1-0-0                                //\n//     World                        S-1-1-0                                //\n//     Local                        S-1-2-0                                //\n//     Creator Owner ID             S-1-3-0                                //\n//     Creator Group ID             S-1-3-1                                //\n//     Creator Owner Server ID      S-1-3-2                                //\n//     Creator Group Server ID      S-1-3-3                                //\n//                                                                         //\n//     (Non-unique IDs)             S-1-4                                  //\n//                                                                         //\n/////////////////////////////////////////////////////////////////////////////\n\n#define SECURITY_NULL_SID_AUTHORITY         {0,0,0,0,0,0}\n#define SECURITY_WORLD_SID_AUTHORITY        {0,0,0,0,0,1}\n#define SECURITY_LOCAL_SID_AUTHORITY        {0,0,0,0,0,2}\n#define SECURITY_CREATOR_SID_AUTHORITY      {0,0,0,0,0,3}\n#define SECURITY_NON_UNIQUE_AUTHORITY       {0,0,0,0,0,4}\n#define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9}\n\n#define SECURITY_NULL_RID                 (0x00000000L)\n#define SECURITY_WORLD_RID                (0x00000000L)\n#define SECURITY_LOCAL_RID                (0x00000000L)\n\n#define SECURITY_CREATOR_OWNER_RID        (0x00000000L)\n#define SECURITY_CREATOR_GROUP_RID        (0x00000001L)\n\n#define SECURITY_CREATOR_OWNER_SERVER_RID (0x00000002L)\n#define SECURITY_CREATOR_GROUP_SERVER_RID (0x00000003L)\n\n\n///////////////////////////////////////////////////////////////////////////////\n//                                                                           //\n// NT well-known SIDs                                                        //\n//                                                                           //\n//     NT Authority            S-1-5                                         //\n//     Dialup                  S-1-5-1                                       //\n//                                                                           //\n//     Network                 S-1-5-2                                       //\n//     Batch                   S-1-5-3                                       //\n//     Interactive             S-1-5-4                                       //\n//     (Logon IDs)             S-1-5-5-X-Y                                   //\n//     Service                 S-1-5-6                                       //\n//     AnonymousLogon          S-1-5-7       (aka null logon session)        //\n//     Proxy                   S-1-5-8                                       //\n//     Enterprise DC (EDC)     S-1-5-9       (aka domain controller account) //\n//     Self                    S-1-5-10      (self RID)                      //\n//     Authenticated User      S-1-5-11      (Authenticated user somewhere)  //\n//     Restricted Code         S-1-5-12      (Running restricted code)       //\n//     Terminal Server         S-1-5-13      (Running on Terminal Server)    //\n//     Remote Logon            S-1-5-14      (Remote Interactive Logon)      //\n//     This Organization       S-1-5-15                                      //\n//                                                                           //\n//     Local System            S-1-5-18                                      //\n//     Local Service           S-1-5-19                                      //\n//     Network Service         S-1-5-20                                      //\n//                                                                           //\n//     (NT non-unique IDs)     S-1-5-0x15-... (NT Domain Sids)               //\n//                                                                           //\n//     (Built-in domain)       S-1-5-0x20                                    //\n//                                                                           //\n//     (Security Package IDs)  S-1-5-0x40                                    //\n//     NTLM Authentication     S-1-5-0x40-10                                 //\n//     SChannel Authentication S-1-5-0x40-14                                 //\n//     Digest Authentication   S-1-5-0x40-21                                 //\n//                                                                           //\n//     Other Organization      S-1-5-1000    (>=1000 can not be filtered)    //\n//                                                                           //\n//                                                                           //\n// NOTE: the relative identifier values (RIDs) determine which security      //\n//       boundaries the SID is allowed to cross.  Before adding new RIDs,    //\n//       a determination needs to be made regarding which range they should  //\n//       be added to in order to ensure proper \"SID filtering\"               //\n//                                                                           //\n///////////////////////////////////////////////////////////////////////////////\n\n\n#define SECURITY_NT_AUTHORITY           {0,0,0,0,0,5}   // ntifs\n\n#define SECURITY_DIALUP_RID             (0x00000001L)\n#define SECURITY_NETWORK_RID            (0x00000002L)\n#define SECURITY_BATCH_RID              (0x00000003L)\n#define SECURITY_INTERACTIVE_RID        (0x00000004L)\n#define SECURITY_LOGON_IDS_RID          (0x00000005L)\n#define SECURITY_LOGON_IDS_RID_COUNT    (3L)\n#define SECURITY_SERVICE_RID            (0x00000006L)\n#define SECURITY_ANONYMOUS_LOGON_RID    (0x00000007L)\n#define SECURITY_PROXY_RID              (0x00000008L)\n#define SECURITY_ENTERPRISE_CONTROLLERS_RID (0x00000009L)\n#define SECURITY_SERVER_LOGON_RID       SECURITY_ENTERPRISE_CONTROLLERS_RID\n#define SECURITY_PRINCIPAL_SELF_RID     (0x0000000AL)\n#define SECURITY_AUTHENTICATED_USER_RID (0x0000000BL)\n#define SECURITY_RESTRICTED_CODE_RID    (0x0000000CL)\n#define SECURITY_TERMINAL_SERVER_RID    (0x0000000DL)\n#define SECURITY_REMOTE_LOGON_RID       (0x0000000EL)\n#define SECURITY_THIS_ORGANIZATION_RID  (0x0000000FL)\n\n#define SECURITY_LOCAL_SYSTEM_RID       (0x00000012L)\n#define SECURITY_LOCAL_SERVICE_RID      (0x00000013L)\n#define SECURITY_NETWORK_SERVICE_RID    (0x00000014L)\n\n#define SECURITY_NT_NON_UNIQUE          (0x00000015L)\n#define SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT  (3L)\n\n#define SECURITY_BUILTIN_DOMAIN_RID     (0x00000020L)\n\n#define SECURITY_PACKAGE_BASE_RID       (0x00000040L)\n#define SECURITY_PACKAGE_RID_COUNT      (2L)\n#define SECURITY_PACKAGE_NTLM_RID       (0x0000000AL)\n#define SECURITY_PACKAGE_SCHANNEL_RID   (0x0000000EL)\n#define SECURITY_PACKAGE_DIGEST_RID     (0x00000015L)\n\n#define SECURITY_MAX_ALWAYS_FILTERED    (0x000003E7L)\n#define SECURITY_MIN_NEVER_FILTERED     (0x000003E8L)\n\n#define SECURITY_OTHER_ORGANIZATION_RID (0x000003E8L)\n\n\n\f\n/////////////////////////////////////////////////////////////////////////////\n//                                                                         //\n// well-known domain relative sub-authority values (RIDs)...               //\n//                                                                         //\n/////////////////////////////////////////////////////////////////////////////\n\n// Well-known users ...\n\n#define FOREST_USER_RID_MAX            (0x000001F3L)\n\n#define DOMAIN_USER_RID_ADMIN          (0x000001F4L)\n#define DOMAIN_USER_RID_GUEST          (0x000001F5L)\n#define DOMAIN_USER_RID_KRBTGT         (0x000001F6L)\n\n#define DOMAIN_USER_RID_MAX            (0x000003E7L)\n\n\n// well-known groups ...\n\n#define DOMAIN_GROUP_RID_ADMINS        (0x00000200L)\n#define DOMAIN_GROUP_RID_USERS         (0x00000201L)\n#define DOMAIN_GROUP_RID_GUESTS        (0x00000202L)\n#define DOMAIN_GROUP_RID_COMPUTERS     (0x00000203L)\n#define DOMAIN_GROUP_RID_CONTROLLERS   (0x00000204L)\n#define DOMAIN_GROUP_RID_CERT_ADMINS   (0x00000205L)\n#define DOMAIN_GROUP_RID_SCHEMA_ADMINS (0x00000206L)\n#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS (0x00000207L)\n#define DOMAIN_GROUP_RID_POLICY_ADMINS (0x00000208L)\n\n\n\n\n// well-known aliases ...\n\n#define DOMAIN_ALIAS_RID_ADMINS        (0x00000220L)\n#define DOMAIN_ALIAS_RID_USERS         (0x00000221L)\n#define DOMAIN_ALIAS_RID_GUESTS        (0x00000222L)\n#define DOMAIN_ALIAS_RID_POWER_USERS   (0x00000223L)\n\n#define DOMAIN_ALIAS_RID_ACCOUNT_OPS   (0x00000224L)\n#define DOMAIN_ALIAS_RID_SYSTEM_OPS    (0x00000225L)\n#define DOMAIN_ALIAS_RID_PRINT_OPS     (0x00000226L)\n#define DOMAIN_ALIAS_RID_BACKUP_OPS    (0x00000227L)\n\n#define DOMAIN_ALIAS_RID_REPLICATOR    (0x00000228L)\n#define DOMAIN_ALIAS_RID_RAS_SERVERS   (0x00000229L)\n#define DOMAIN_ALIAS_RID_PREW2KCOMPACCESS (0x0000022AL)\n#define DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS (0x0000022BL)\n#define DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS (0x0000022CL)\n#define DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS (0x0000022DL)\n\n#define DOMAIN_ALIAS_RID_MONITORING_USERS       (0x0000022EL)\n#define DOMAIN_ALIAS_RID_LOGGING_USERS          (0x0000022FL)\n\n\n\ntypedef enum {\n\n    WinNullSid                                  = 0,\n    WinWorldSid                                 = 1,\n    WinLocalSid                                 = 2,\n    WinCreatorOwnerSid                          = 3,\n    WinCreatorGroupSid                          = 4,\n    WinCreatorOwnerServerSid                    = 5,\n    WinCreatorGroupServerSid                    = 6,\n    WinNtAuthoritySid                           = 7,\n    WinDialupSid                                = 8,\n    WinNetworkSid                               = 9,\n    WinBatchSid                                 = 10,\n    WinInteractiveSid                           = 11,\n    WinServiceSid                               = 12,\n    WinAnonymousSid                             = 13,\n    WinProxySid                                 = 14,\n    WinEnterpriseControllersSid                 = 15,\n    WinSelfSid                                  = 16,\n    WinAuthenticatedUserSid                     = 17,\n    WinRestrictedCodeSid                        = 18,\n    WinTerminalServerSid                        = 19,\n    WinRemoteLogonIdSid                         = 20,\n    WinLogonIdsSid                              = 21,\n    WinLocalSystemSid                           = 22,\n    WinLocalServiceSid                          = 23,\n    WinNetworkServiceSid                        = 24,\n    WinBuiltinDomainSid                         = 25,\n    WinBuiltinAdministratorsSid                 = 26,\n    WinBuiltinUsersSid                          = 27,\n    WinBuiltinGuestsSid                         = 28,\n    WinBuiltinPowerUsersSid                     = 29,\n    WinBuiltinAccountOperatorsSid               = 30,\n    WinBuiltinSystemOperatorsSid                = 31,\n    WinBuiltinPrintOperatorsSid                 = 32,\n    WinBuiltinBackupOperatorsSid                = 33,\n    WinBuiltinReplicatorSid                     = 34,\n    WinBuiltinPreWindows2000CompatibleAccessSid = 35,\n    WinBuiltinRemoteDesktopUsersSid             = 36,\n    WinBuiltinNetworkConfigurationOperatorsSid  = 37,\n    WinAccountAdministratorSid                  = 38,\n    WinAccountGuestSid                          = 39,\n    WinAccountKrbtgtSid                         = 40,\n    WinAccountDomainAdminsSid                   = 41,\n    WinAccountDomainUsersSid                    = 42,\n    WinAccountDomainGuestsSid                   = 43,\n    WinAccountComputersSid                      = 44,\n    WinAccountControllersSid                    = 45,\n    WinAccountCertAdminsSid                     = 46,\n    WinAccountSchemaAdminsSid                   = 47,\n    WinAccountEnterpriseAdminsSid               = 48,\n    WinAccountPolicyAdminsSid                   = 49,\n    WinAccountRasAndIasServersSid               = 50,\n    WinNTLMAuthenticationSid                    = 51,\n    WinDigestAuthenticationSid                  = 52,\n    WinSChannelAuthenticationSid                = 53,\n    WinThisOrganizationSid                      = 54,\n    WinOtherOrganizationSid                     = 55,\n    WinBuiltinIncomingForestTrustBuildersSid    = 56,\n    WinBuiltinPerfMonitoringUsersSid            = 57,\n    WinBuiltinPerfLoggingUsersSid               = 58,\n\n} WELL_KNOWN_SID_TYPE;\n\n//\n// Allocate the System Luid.  The first 1000 LUIDs are reserved.\n// Use #999 here (0x3E7 = 999)\n//\n\n#define SYSTEM_LUID                     { 0x3E7, 0x0 }\n#define ANONYMOUS_LOGON_LUID            { 0x3e6, 0x0 }\n#define LOCALSERVICE_LUID               { 0x3e5, 0x0 }\n#define NETWORKSERVICE_LUID             { 0x3e4, 0x0 }\n\n\n// end_ntifs\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                          User and Group related SID attributes     //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n//\n// Group attributes\n//\n\n#define SE_GROUP_MANDATORY              (0x00000001L)\n#define SE_GROUP_ENABLED_BY_DEFAULT     (0x00000002L)\n#define SE_GROUP_ENABLED                (0x00000004L)\n#define SE_GROUP_OWNER                  (0x00000008L)\n#define SE_GROUP_USE_FOR_DENY_ONLY      (0x00000010L)\n#define SE_GROUP_LOGON_ID               (0xC0000000L)\n#define SE_GROUP_RESOURCE               (0x20000000L)\n\n\n\n//\n// User attributes\n//\n\n// (None yet defined.)\n\n\n\f\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                         ACL  and  ACE                              //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n//\n//  Define an ACL and the ACE format.  The structure of an ACL header\n//  followed by one or more ACEs.  Pictorally the structure of an ACL header\n//  is as follows:\n//\n//       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//      +-------------------------------+---------------+---------------+\n//      |            AclSize            |      Sbz1     |  AclRevision  |\n//      +-------------------------------+---------------+---------------+\n//      |              Sbz2             |           AceCount            |\n//      +-------------------------------+-------------------------------+\n//\n//  The current AclRevision is defined to be ACL_REVISION.\n//\n//  AclSize is the size, in bytes, allocated for the ACL.  This includes\n//  the ACL header, ACES, and remaining free space in the buffer.\n//\n//  AceCount is the number of ACES in the ACL.\n//\n\n// begin_ntddk begin_wdm begin_ntifs\n// This is the *current* ACL revision\n\n#define ACL_REVISION     (2)\n#define ACL_REVISION_DS  (4)\n\n// This is the history of ACL revisions.  Add a new one whenever\n// ACL_REVISION is updated\n\n#define ACL_REVISION1   (1)\n#define MIN_ACL_REVISION ACL_REVISION2\n#define ACL_REVISION2   (2)\n#define ACL_REVISION3   (3)\n#define ACL_REVISION4   (4)\n#define MAX_ACL_REVISION ACL_REVISION4\n\ntypedef struct _ACL {\n    BYTE  AclRevision;\n    BYTE  Sbz1;\n    WORD   AclSize;\n    WORD   AceCount;\n    WORD   Sbz2;\n} ACL;\ntypedef ACL *PACL;\n\n// end_ntddk end_wdm\n\n//\n//  The structure of an ACE is a common ace header followed by ace type\n//  specific data.  Pictorally the structure of the common ace header is\n//  as follows:\n//\n//       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//      +---------------+-------+-------+---------------+---------------+\n//      |            AceSize            |    AceFlags   |     AceType   |\n//      +---------------+-------+-------+---------------+---------------+\n//\n//  AceType denotes the type of the ace, there are some predefined ace\n//  types\n//\n//  AceSize is the size, in bytes, of ace.\n//\n//  AceFlags are the Ace flags for audit and inheritance, defined shortly.\n\ntypedef struct _ACE_HEADER {\n    BYTE  AceType;\n    BYTE  AceFlags;\n    WORD   AceSize;\n} ACE_HEADER;\ntypedef ACE_HEADER *PACE_HEADER;\n\n//\n//  The following are the predefined ace types that go into the AceType\n//  field of an Ace header.\n//\n\n#define ACCESS_MIN_MS_ACE_TYPE                  (0x0)\n#define ACCESS_ALLOWED_ACE_TYPE                 (0x0)\n#define ACCESS_DENIED_ACE_TYPE                  (0x1)\n#define SYSTEM_AUDIT_ACE_TYPE                   (0x2)\n#define SYSTEM_ALARM_ACE_TYPE                   (0x3)\n#define ACCESS_MAX_MS_V2_ACE_TYPE               (0x3)\n\n#define ACCESS_ALLOWED_COMPOUND_ACE_TYPE        (0x4)\n#define ACCESS_MAX_MS_V3_ACE_TYPE               (0x4)\n\n#define ACCESS_MIN_MS_OBJECT_ACE_TYPE           (0x5)\n#define ACCESS_ALLOWED_OBJECT_ACE_TYPE          (0x5)\n#define ACCESS_DENIED_OBJECT_ACE_TYPE           (0x6)\n#define SYSTEM_AUDIT_OBJECT_ACE_TYPE            (0x7)\n#define SYSTEM_ALARM_OBJECT_ACE_TYPE            (0x8)\n#define ACCESS_MAX_MS_OBJECT_ACE_TYPE           (0x8)\n\n#define ACCESS_MAX_MS_V4_ACE_TYPE               (0x8)\n#define ACCESS_MAX_MS_ACE_TYPE                  (0x8)\n\n#define ACCESS_ALLOWED_CALLBACK_ACE_TYPE        (0x9)\n#define ACCESS_DENIED_CALLBACK_ACE_TYPE         (0xA)\n#define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE (0xB)\n#define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE  (0xC)\n#define SYSTEM_AUDIT_CALLBACK_ACE_TYPE          (0xD)\n#define SYSTEM_ALARM_CALLBACK_ACE_TYPE          (0xE)\n#define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE   (0xF)\n#define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE   (0x10)\n\n#define ACCESS_MAX_MS_V5_ACE_TYPE               (0x10)\n\n\n//\n//  The following are the inherit flags that go into the AceFlags field\n//  of an Ace header.\n//\n\n#define OBJECT_INHERIT_ACE                (0x1)\n#define CONTAINER_INHERIT_ACE             (0x2)\n#define NO_PROPAGATE_INHERIT_ACE          (0x4)\n#define INHERIT_ONLY_ACE                  (0x8)\n#define INHERITED_ACE                     (0x10)\n#define VALID_INHERIT_FLAGS               (0x1F)\n\n\n//  The following are the currently defined ACE flags that go into the\n//  AceFlags field of an ACE header.  Each ACE type has its own set of\n//  AceFlags.\n//\n//  SUCCESSFUL_ACCESS_ACE_FLAG - used only with system audit and alarm ACE\n//  types to indicate that a message is generated for successful accesses.\n//\n//  FAILED_ACCESS_ACE_FLAG - used only with system audit and alarm ACE types\n//  to indicate that a message is generated for failed accesses.\n//\n\n//\n//  SYSTEM_AUDIT and SYSTEM_ALARM AceFlags\n//\n//  These control the signaling of audit and alarms for success or failure.\n//\n\n#define SUCCESSFUL_ACCESS_ACE_FLAG       (0x40)\n#define FAILED_ACCESS_ACE_FLAG           (0x80)\n\n\n//\n//  We'll define the structure of the predefined ACE types.  Pictorally\n//  the structure of the predefined ACE's is as follows:\n//\n//       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//      +---------------+-------+-------+---------------+---------------+\n//      |    AceFlags   | Resd  |Inherit|    AceSize    |     AceType   |\n//      +---------------+-------+-------+---------------+---------------+\n//      |                              Mask                             |\n//      +---------------------------------------------------------------+\n//      |                                                               |\n//      +                                                               +\n//      |                                                               |\n//      +                              Sid                              +\n//      |                                                               |\n//      +                                                               +\n//      |                                                               |\n//      +---------------------------------------------------------------+\n//\n//  Mask is the access mask associated with the ACE.  This is either the\n//  access allowed, access denied, audit, or alarm mask.\n//\n//  Sid is the Sid associated with the ACE.\n//\n\n//  The following are the four predefined ACE types.\n\n//  Examine the AceType field in the Header to determine\n//  which structure is appropriate to use for casting.\n\n\ntypedef struct _ACCESS_ALLOWED_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n} ACCESS_ALLOWED_ACE;\n\ntypedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;\n\ntypedef struct _ACCESS_DENIED_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n} ACCESS_DENIED_ACE;\ntypedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;\n\ntypedef struct _SYSTEM_AUDIT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n} SYSTEM_AUDIT_ACE;\ntypedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;\n\ntypedef struct _SYSTEM_ALARM_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n} SYSTEM_ALARM_ACE;\ntypedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;\n\n// end_ntifs\n\n\ntypedef struct _ACCESS_ALLOWED_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;\n\ntypedef struct _ACCESS_DENIED_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;\n\ntypedef struct _SYSTEM_AUDIT_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;\n\ntypedef struct _SYSTEM_ALARM_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;\n\n//\n// Callback ace support in post Win2000.\n// Resource managers can put their own data after Sidstart + Length of the sid\n//\n\ntypedef struct _ACCESS_ALLOWED_CALLBACK_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;\n\ntypedef struct _ACCESS_DENIED_CALLBACK_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;\n\ntypedef struct _SYSTEM_AUDIT_CALLBACK_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;\n\ntypedef struct _SYSTEM_ALARM_CALLBACK_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE;\n\ntypedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;\n\ntypedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;\n\ntypedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;\n\ntypedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE {\n    ACE_HEADER Header;\n    ACCESS_MASK Mask;\n    DWORD Flags;\n    GUID ObjectType;\n    GUID InheritedObjectType;\n    DWORD SidStart;\n    // Opaque resouce manager specific data\n} SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;\n\n//\n// Currently define Flags for \"OBJECT\" ACE types.\n//\n\n#define ACE_OBJECT_TYPE_PRESENT           0x1\n#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x2\n\n\f\n//\n//  The following declarations are used for setting and querying information\n//  about and ACL.  First are the various information classes available to\n//  the user.\n//\n\ntypedef enum _ACL_INFORMATION_CLASS {\n    AclRevisionInformation = 1,\n    AclSizeInformation\n} ACL_INFORMATION_CLASS;\n\n//\n//  This record is returned/sent if the user is requesting/setting the\n//  AclRevisionInformation\n//\n\ntypedef struct _ACL_REVISION_INFORMATION {\n    DWORD AclRevision;\n} ACL_REVISION_INFORMATION;\ntypedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;\n\n//\n//  This record is returned if the user is requesting AclSizeInformation\n//\n\ntypedef struct _ACL_SIZE_INFORMATION {\n    DWORD AceCount;\n    DWORD AclBytesInUse;\n    DWORD AclBytesFree;\n} ACL_SIZE_INFORMATION;\ntypedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                             SECURITY_DESCRIPTOR                    //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n//\n//  Define the Security Descriptor and related data types.\n//  This is an opaque data structure.\n//\n\n// begin_wdm begin_ntddk begin_ntifs\n//\n// Current security descriptor revision value\n//\n\n#define SECURITY_DESCRIPTOR_REVISION     (1)\n#define SECURITY_DESCRIPTOR_REVISION1    (1)\n\n// end_wdm end_ntddk\n\n\n#define SECURITY_DESCRIPTOR_MIN_LENGTH   (sizeof(SECURITY_DESCRIPTOR))\n\n\ntypedef WORD   SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;\n\n#define SE_OWNER_DEFAULTED               (0x0001)\n#define SE_GROUP_DEFAULTED               (0x0002)\n#define SE_DACL_PRESENT                  (0x0004)\n#define SE_DACL_DEFAULTED                (0x0008)\n#define SE_SACL_PRESENT                  (0x0010)\n#define SE_SACL_DEFAULTED                (0x0020)\n#define SE_DACL_AUTO_INHERIT_REQ         (0x0100)\n#define SE_SACL_AUTO_INHERIT_REQ         (0x0200)\n#define SE_DACL_AUTO_INHERITED           (0x0400)\n#define SE_SACL_AUTO_INHERITED           (0x0800)\n#define SE_DACL_PROTECTED                (0x1000)\n#define SE_SACL_PROTECTED                (0x2000)\n#define SE_RM_CONTROL_VALID              (0x4000)\n#define SE_SELF_RELATIVE                 (0x8000)\n\n//\n//  Where:\n//\n//      SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the\n//          SID pointed to by the Owner field was provided by a\n//          defaulting mechanism rather than explicitly provided by the\n//          original provider of the security descriptor.  This may\n//          affect the treatment of the SID with respect to inheritence\n//          of an owner.\n//\n//      SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the\n//          SID in the Group field was provided by a defaulting mechanism\n//          rather than explicitly provided by the original provider of\n//          the security descriptor.  This may affect the treatment of\n//          the SID with respect to inheritence of a primary group.\n//\n//      SE_DACL_PRESENT - This boolean flag, when set, indicates that the\n//          security descriptor contains a discretionary ACL.  If this\n//          flag is set and the Dacl field of the SECURITY_DESCRIPTOR is\n//          null, then a null ACL is explicitly being specified.\n//\n//      SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the\n//          ACL pointed to by the Dacl field was provided by a defaulting\n//          mechanism rather than explicitly provided by the original\n//          provider of the security descriptor.  This may affect the\n//          treatment of the ACL with respect to inheritence of an ACL.\n//          This flag is ignored if the DaclPresent flag is not set.\n//\n//      SE_SACL_PRESENT - This boolean flag, when set,  indicates that the\n//          security descriptor contains a system ACL pointed to by the\n//          Sacl field.  If this flag is set and the Sacl field of the\n//          SECURITY_DESCRIPTOR is null, then an empty (but present)\n//          ACL is being specified.\n//\n//      SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the\n//          ACL pointed to by the Sacl field was provided by a defaulting\n//          mechanism rather than explicitly provided by the original\n//          provider of the security descriptor.  This may affect the\n//          treatment of the ACL with respect to inheritence of an ACL.\n//          This flag is ignored if the SaclPresent flag is not set.\n//\n//      SE_SELF_RELATIVE - This boolean flag, when set, indicates that the\n//          security descriptor is in self-relative form.  In this form,\n//          all fields of the security descriptor are contiguous in memory\n//          and all pointer fields are expressed as offsets from the\n//          beginning of the security descriptor.  This form is useful\n//          for treating security descriptors as opaque data structures\n//          for transmission in communication protocol or for storage on\n//          secondary media.\n//\n//\n//\n// Pictorially the structure of a security descriptor is as follows:\n//\n//       3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//       1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//      +---------------------------------------------------------------+\n//      |            Control            |Reserved1 (SBZ)|   Revision    |\n//      +---------------------------------------------------------------+\n//      |                            Owner                              |\n//      +---------------------------------------------------------------+\n//      |                            Group                              |\n//      +---------------------------------------------------------------+\n//      |                            Sacl                               |\n//      +---------------------------------------------------------------+\n//      |                            Dacl                               |\n//      +---------------------------------------------------------------+\n//\n// In general, this data structure should be treated opaquely to ensure future\n// compatibility.\n//\n//\n\ntypedef struct _SECURITY_DESCRIPTOR_RELATIVE {\n    BYTE  Revision;\n    BYTE  Sbz1;\n    SECURITY_DESCRIPTOR_CONTROL Control;\n    DWORD Owner;\n    DWORD Group;\n    DWORD Sacl;\n    DWORD Dacl;\n    } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;\n\ntypedef struct _SECURITY_DESCRIPTOR {\n   BYTE  Revision;\n   BYTE  Sbz1;\n   SECURITY_DESCRIPTOR_CONTROL Control;\n   PSID Owner;\n   PSID Group;\n   PACL Sacl;\n   PACL Dacl;\n\n   } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;\n\n// end_ntifs\n\n// Where:\n//\n//     Revision - Contains the revision level of the security\n//         descriptor.  This allows this structure to be passed between\n//         systems or stored on disk even though it is expected to\n//         change in the future.\n//\n//     Control - A set of flags which qualify the meaning of the\n//         security descriptor or individual fields of the security\n//         descriptor.\n//\n//     Owner - is a pointer to an SID representing an object's owner.\n//         If this field is null, then no owner SID is present in the\n//         security descriptor.  If the security descriptor is in\n//         self-relative form, then this field contains an offset to\n//         the SID, rather than a pointer.\n//\n//     Group - is a pointer to an SID representing an object's primary\n//         group.  If this field is null, then no primary group SID is\n//         present in the security descriptor.  If the security descriptor\n//         is in self-relative form, then this field contains an offset to\n//         the SID, rather than a pointer.\n//\n//     Sacl - is a pointer to a system ACL.  This field value is only\n//         valid if the DaclPresent control flag is set.  If the\n//         SaclPresent flag is set and this field is null, then a null\n//         ACL  is specified.  If the security descriptor is in\n//         self-relative form, then this field contains an offset to\n//         the ACL, rather than a pointer.\n//\n//     Dacl - is a pointer to a discretionary ACL.  This field value is\n//         only valid if the DaclPresent control flag is set.  If the\n//         DaclPresent flag is set and this field is null, then a null\n//         ACL (unconditionally granting access) is specified.  If the\n//         security descriptor is in self-relative form, then this field\n//         contains an offset to the ACL, rather than a pointer.\n//\n\n\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//               Object Type list for AccessCheckByType               //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\ntypedef struct _OBJECT_TYPE_LIST {\n    WORD   Level;\n    WORD   Sbz;\n    GUID *ObjectType;\n} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;\n\n//\n// DS values for Level\n//\n\n#define ACCESS_OBJECT_GUID       0\n#define ACCESS_PROPERTY_SET_GUID 1\n#define ACCESS_PROPERTY_GUID     2\n\n#define ACCESS_MAX_LEVEL         4\n\n//\n// Parameters to NtAccessCheckByTypeAndAditAlarm\n//\n\ntypedef enum _AUDIT_EVENT_TYPE {\n    AuditEventObjectAccess,\n    AuditEventDirectoryServiceAccess\n} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;\n\n#define AUDIT_ALLOW_NO_PRIVILEGE 0x1\n\n//\n// DS values for Source and ObjectTypeName\n//\n\n#define ACCESS_DS_SOURCE_A \"DS\"\n#define ACCESS_DS_SOURCE_W L\"DS\"\n#define ACCESS_DS_OBJECT_TYPE_NAME_A \"Directory Service Object\"\n#define ACCESS_DS_OBJECT_TYPE_NAME_W L\"Directory Service Object\"\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//               Privilege Related Data Structures                    //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n\n// begin_wdm begin_ntddk begin_nthal\n//\n// Privilege attributes\n//\n\n#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)\n#define SE_PRIVILEGE_ENABLED            (0x00000002L)\n#define SE_PRIVILEGE_REMOVED            (0X00000004L)\n#define SE_PRIVILEGE_USED_FOR_ACCESS    (0x80000000L)\n\n//\n// Privilege Set Control flags\n//\n\n#define PRIVILEGE_SET_ALL_NECESSARY    (1)\n\n//\n//  Privilege Set - This is defined for a privilege set of one.\n//                  If more than one privilege is needed, then this structure\n//                  will need to be allocated with more space.\n//\n//  Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET\n//  structure (defined in se.h)\n//\n\ntypedef struct _PRIVILEGE_SET {\n    DWORD PrivilegeCount;\n    DWORD Control;\n    LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];\n    } PRIVILEGE_SET, * PPRIVILEGE_SET;\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//               NT Defined Privileges                                //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n\n#define SE_CREATE_TOKEN_NAME              TEXT(\"SeCreateTokenPrivilege\")\n#define SE_ASSIGNPRIMARYTOKEN_NAME        TEXT(\"SeAssignPrimaryTokenPrivilege\")\n#define SE_LOCK_MEMORY_NAME               TEXT(\"SeLockMemoryPrivilege\")\n#define SE_INCREASE_QUOTA_NAME            TEXT(\"SeIncreaseQuotaPrivilege\")\n#define SE_UNSOLICITED_INPUT_NAME         TEXT(\"SeUnsolicitedInputPrivilege\")\n#define SE_MACHINE_ACCOUNT_NAME           TEXT(\"SeMachineAccountPrivilege\")\n#define SE_TCB_NAME                       TEXT(\"SeTcbPrivilege\")\n#define SE_SECURITY_NAME                  TEXT(\"SeSecurityPrivilege\")\n#define SE_TAKE_OWNERSHIP_NAME            TEXT(\"SeTakeOwnershipPrivilege\")\n#define SE_LOAD_DRIVER_NAME               TEXT(\"SeLoadDriverPrivilege\")\n#define SE_SYSTEM_PROFILE_NAME            TEXT(\"SeSystemProfilePrivilege\")\n#define SE_SYSTEMTIME_NAME                TEXT(\"SeSystemtimePrivilege\")\n#define SE_PROF_SINGLE_PROCESS_NAME       TEXT(\"SeProfileSingleProcessPrivilege\")\n#define SE_INC_BASE_PRIORITY_NAME         TEXT(\"SeIncreaseBasePriorityPrivilege\")\n#define SE_CREATE_PAGEFILE_NAME           TEXT(\"SeCreatePagefilePrivilege\")\n#define SE_CREATE_PERMANENT_NAME          TEXT(\"SeCreatePermanentPrivilege\")\n#define SE_BACKUP_NAME                    TEXT(\"SeBackupPrivilege\")\n#define SE_RESTORE_NAME                   TEXT(\"SeRestorePrivilege\")\n#define SE_SHUTDOWN_NAME                  TEXT(\"SeShutdownPrivilege\")\n#define SE_DEBUG_NAME                     TEXT(\"SeDebugPrivilege\")\n#define SE_AUDIT_NAME                     TEXT(\"SeAuditPrivilege\")\n#define SE_SYSTEM_ENVIRONMENT_NAME        TEXT(\"SeSystemEnvironmentPrivilege\")\n#define SE_CHANGE_NOTIFY_NAME             TEXT(\"SeChangeNotifyPrivilege\")\n#define SE_REMOTE_SHUTDOWN_NAME           TEXT(\"SeRemoteShutdownPrivilege\")\n#define SE_UNDOCK_NAME                    TEXT(\"SeUndockPrivilege\")\n#define SE_SYNC_AGENT_NAME                TEXT(\"SeSyncAgentPrivilege\")\n#define SE_ENABLE_DELEGATION_NAME         TEXT(\"SeEnableDelegationPrivilege\")\n#define SE_MANAGE_VOLUME_NAME             TEXT(\"SeManageVolumePrivilege\")\n\n\n////////////////////////////////////////////////////////////////////\n//                                                                //\n//           Security Quality Of Service                          //\n//                                                                //\n//                                                                //\n////////////////////////////////////////////////////////////////////\n\n// begin_wdm begin_ntddk begin_nthal begin_ntifs\n//\n// Impersonation Level\n//\n// Impersonation level is represented by a pair of bits in Windows.\n// If a new impersonation level is added or lowest value is changed from\n// 0 to something else, fix the Windows CreateFile call.\n//\n\ntypedef enum _SECURITY_IMPERSONATION_LEVEL {\n    SecurityAnonymous,\n    SecurityIdentification,\n    SecurityImpersonation,\n    SecurityDelegation\n    } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;\n\n#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation\n#define SECURITY_MIN_IMPERSONATION_LEVEL SecurityAnonymous\n#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation\n#define VALID_IMPERSONATION_LEVEL(L) (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL))\n\n////////////////////////////////////////////////////////////////////\n//                                                                //\n//           Token Object Definitions                             //\n//                                                                //\n//                                                                //\n////////////////////////////////////////////////////////////////////\n\n\n//\n// Token Specific Access Rights.\n//\n\n#define TOKEN_ASSIGN_PRIMARY    (0x0001)\n#define TOKEN_DUPLICATE         (0x0002)\n#define TOKEN_IMPERSONATE       (0x0004)\n#define TOKEN_QUERY             (0x0008)\n#define TOKEN_QUERY_SOURCE      (0x0010)\n#define TOKEN_ADJUST_PRIVILEGES (0x0020)\n#define TOKEN_ADJUST_GROUPS     (0x0040)\n#define TOKEN_ADJUST_DEFAULT    (0x0080)\n#define TOKEN_ADJUST_SESSIONID  (0x0100)\n\n#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED  |\\\n                          TOKEN_ASSIGN_PRIMARY      |\\\n                          TOKEN_DUPLICATE           |\\\n                          TOKEN_IMPERSONATE         |\\\n                          TOKEN_QUERY               |\\\n                          TOKEN_QUERY_SOURCE        |\\\n                          TOKEN_ADJUST_PRIVILEGES   |\\\n                          TOKEN_ADJUST_GROUPS       |\\\n                          TOKEN_ADJUST_DEFAULT )\n\n#if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT)))\n#define TOKEN_ALL_ACCESS  (TOKEN_ALL_ACCESS_P |\\\n                          TOKEN_ADJUST_SESSIONID )\n#else\n#define TOKEN_ALL_ACCESS  (TOKEN_ALL_ACCESS_P)\n#endif\n\n#define TOKEN_READ       (STANDARD_RIGHTS_READ      |\\\n                          TOKEN_QUERY)\n\n\n#define TOKEN_WRITE      (STANDARD_RIGHTS_WRITE     |\\\n                          TOKEN_ADJUST_PRIVILEGES   |\\\n                          TOKEN_ADJUST_GROUPS       |\\\n                          TOKEN_ADJUST_DEFAULT)\n\n#define TOKEN_EXECUTE    (STANDARD_RIGHTS_EXECUTE)\n\n\n//\n//\n// Token Types\n//\n\ntypedef enum _TOKEN_TYPE {\n    TokenPrimary = 1,\n    TokenImpersonation\n    } TOKEN_TYPE;\ntypedef TOKEN_TYPE *PTOKEN_TYPE;\n\n\n//\n// Token Information Classes.\n//\n\n\ntypedef enum _TOKEN_INFORMATION_CLASS {\n    TokenUser = 1,\n    TokenGroups,\n    TokenPrivileges,\n    TokenOwner,\n    TokenPrimaryGroup,\n    TokenDefaultDacl,\n    TokenSource,\n    TokenType,\n    TokenImpersonationLevel,\n    TokenStatistics,\n    TokenRestrictedSids,\n    TokenSessionId,\n    TokenGroupsAndPrivileges,\n    TokenSessionReference,\n    TokenSandBoxInert,\n    TokenAuditPolicy,\n    MaxTokenInfoClass  // MaxTokenInfoClass should always be the last enum\n} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;\n\n//\n// Token information class structures\n//\n\n\ntypedef struct _TOKEN_USER {\n    SID_AND_ATTRIBUTES User;\n} TOKEN_USER, *PTOKEN_USER;\n\ntypedef struct _TOKEN_GROUPS {\n    DWORD GroupCount;\n    SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];\n} TOKEN_GROUPS, *PTOKEN_GROUPS;\n\n\ntypedef struct _TOKEN_PRIVILEGES {\n    DWORD PrivilegeCount;\n    LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];\n} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;\n\n\ntypedef struct _TOKEN_OWNER {\n    PSID Owner;\n} TOKEN_OWNER, *PTOKEN_OWNER;\n\n\ntypedef struct _TOKEN_PRIMARY_GROUP {\n    PSID PrimaryGroup;\n} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;\n\n\ntypedef struct _TOKEN_DEFAULT_DACL {\n    PACL DefaultDacl;\n} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;\n\ntypedef struct _TOKEN_GROUPS_AND_PRIVILEGES {\n    DWORD SidCount;\n    DWORD SidLength;\n    PSID_AND_ATTRIBUTES Sids;\n    DWORD RestrictedSidCount;\n    DWORD RestrictedSidLength;\n    PSID_AND_ATTRIBUTES RestrictedSids;\n    DWORD PrivilegeCount;\n    DWORD PrivilegeLength;\n    PLUID_AND_ATTRIBUTES Privileges;\n    LUID AuthenticationId;\n} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES;\n\n//\n// Valid bits for each TOKEN_AUDIT_POLICY policy mask field.\n//\n\n#define TOKEN_AUDIT_SUCCESS_INCLUDE 0x1\n#define TOKEN_AUDIT_SUCCESS_EXCLUDE 0x2\n#define TOKEN_AUDIT_FAILURE_INCLUDE 0x4\n#define TOKEN_AUDIT_FAILURE_EXCLUDE 0x8\n\n#define VALID_AUDIT_POLICY_BITS (TOKEN_AUDIT_SUCCESS_INCLUDE | \\\n                                 TOKEN_AUDIT_SUCCESS_EXCLUDE | \\\n                                 TOKEN_AUDIT_FAILURE_INCLUDE | \\\n                                 TOKEN_AUDIT_FAILURE_EXCLUDE)\n\n#define VALID_TOKEN_AUDIT_POLICY_ELEMENT(P) ((((P).PolicyMask & ~VALID_AUDIT_POLICY_BITS) == 0) && \\\n                                             ((P).Category <= AuditEventMaxType))\n\ntypedef struct _TOKEN_AUDIT_POLICY_ELEMENT {\n    DWORD Category;\n    DWORD PolicyMask;\n} TOKEN_AUDIT_POLICY_ELEMENT, *PTOKEN_AUDIT_POLICY_ELEMENT;\n\ntypedef struct _TOKEN_AUDIT_POLICY {\n    DWORD PolicyCount;\n    TOKEN_AUDIT_POLICY_ELEMENT Policy[ANYSIZE_ARRAY];\n} TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;\n\n#define PER_USER_AUDITING_POLICY_SIZE(p) \\\n    ( sizeof(TOKEN_AUDIT_POLICY) + (((p)->PolicyCount > ANYSIZE_ARRAY) ? (sizeof(TOKEN_AUDIT_POLICY_ELEMENT) * ((p)->PolicyCount - ANYSIZE_ARRAY)) : 0) )\n#define PER_USER_AUDITING_POLICY_SIZE_BY_COUNT(C) \\\n    ( sizeof(TOKEN_AUDIT_POLICY) + (((C) > ANYSIZE_ARRAY) ? (sizeof(TOKEN_AUDIT_POLICY_ELEMENT) * ((C) - ANYSIZE_ARRAY)) : 0) )\n\n\n#define TOKEN_SOURCE_LENGTH 8\n\ntypedef struct _TOKEN_SOURCE {\n    CHAR SourceName[TOKEN_SOURCE_LENGTH];\n    LUID SourceIdentifier;\n} TOKEN_SOURCE, *PTOKEN_SOURCE;\n\n\ntypedef struct _TOKEN_STATISTICS {\n    LUID TokenId;\n    LUID AuthenticationId;\n    LARGE_INTEGER ExpirationTime;\n    TOKEN_TYPE TokenType;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    DWORD DynamicCharged;\n    DWORD DynamicAvailable;\n    DWORD GroupCount;\n    DWORD PrivilegeCount;\n    LUID ModifiedId;\n} TOKEN_STATISTICS, *PTOKEN_STATISTICS;\n\n\n\ntypedef struct _TOKEN_CONTROL {\n    LUID TokenId;\n    LUID AuthenticationId;\n    LUID ModifiedId;\n    TOKEN_SOURCE TokenSource;\n    } TOKEN_CONTROL, *PTOKEN_CONTROL;\n\n//\n// Security Tracking Mode\n//\n\n#define SECURITY_DYNAMIC_TRACKING      (TRUE)\n#define SECURITY_STATIC_TRACKING       (FALSE)\n\ntypedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,\n                    * PSECURITY_CONTEXT_TRACKING_MODE;\n\n\n\n//\n// Quality Of Service\n//\n\ntypedef struct _SECURITY_QUALITY_OF_SERVICE {\n    DWORD Length;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;\n    BOOLEAN EffectiveOnly;\n    } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;\n\n\n//\n// Used to represent information related to a thread impersonation\n//\n\ntypedef struct _SE_IMPERSONATION_STATE {\n    PACCESS_TOKEN Token;\n    BOOLEAN CopyOnOpen;\n    BOOLEAN EffectiveOnly;\n    SECURITY_IMPERSONATION_LEVEL Level;\n} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;\n\n#define DISABLE_MAX_PRIVILEGE   0x1 \n#define SANDBOX_INERT           0x2 \n\ntypedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;\n\n#define OWNER_SECURITY_INFORMATION       (0x00000001L)\n#define GROUP_SECURITY_INFORMATION       (0x00000002L)\n#define DACL_SECURITY_INFORMATION        (0x00000004L)\n#define SACL_SECURITY_INFORMATION        (0x00000008L)\n\n#define PROTECTED_DACL_SECURITY_INFORMATION     (0x80000000L)\n#define PROTECTED_SACL_SECURITY_INFORMATION     (0x40000000L)\n#define UNPROTECTED_DACL_SECURITY_INFORMATION   (0x20000000L)\n#define UNPROTECTED_SACL_SECURITY_INFORMATION   (0x10000000L)\n\n#define PROCESS_TERMINATE         (0x0001)  \n#define PROCESS_CREATE_THREAD     (0x0002)  \n#define PROCESS_SET_SESSIONID     (0x0004)  \n#define PROCESS_VM_OPERATION      (0x0008)  \n#define PROCESS_VM_READ           (0x0010)  \n#define PROCESS_VM_WRITE          (0x0020)  \n#define PROCESS_DUP_HANDLE        (0x0040)  \n#define PROCESS_CREATE_PROCESS    (0x0080)  \n#define PROCESS_SET_QUOTA         (0x0100)  \n#define PROCESS_SET_INFORMATION   (0x0200)  \n#define PROCESS_QUERY_INFORMATION (0x0400)  \n#define PROCESS_SUSPEND_RESUME    (0x0800)  \n#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0xFFF)\n// begin_nthal\n\n#if defined(_WIN64)\n\n#define MAXIMUM_PROCESSORS 64\n\n#else\n\n#define MAXIMUM_PROCESSORS 32\n\n#endif\n\n// end_nthal\n\n#define THREAD_TERMINATE               (0x0001)  \n#define THREAD_SUSPEND_RESUME          (0x0002)  \n#define THREAD_GET_CONTEXT             (0x0008)  \n#define THREAD_SET_CONTEXT             (0x0010)  \n#define THREAD_SET_INFORMATION         (0x0020)  \n#define THREAD_QUERY_INFORMATION       (0x0040)  \n#define THREAD_SET_THREAD_TOKEN        (0x0080)\n#define THREAD_IMPERSONATE             (0x0100)\n#define THREAD_DIRECT_IMPERSONATION    (0x0200)\n// begin_ntddk begin_wdm begin_ntifs\n\n#define THREAD_ALL_ACCESS         (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0x3FF)\n\n// end_ntddk end_wdm end_ntifs\n#define JOB_OBJECT_ASSIGN_PROCESS           (0x0001)\n#define JOB_OBJECT_SET_ATTRIBUTES           (0x0002)\n#define JOB_OBJECT_QUERY                    (0x0004)\n#define JOB_OBJECT_TERMINATE                (0x0008)\n#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES  (0x0010)\n#define JOB_OBJECT_ALL_ACCESS       (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                        0x1F )\n\ntypedef struct _JOB_SET_ARRAY {\n    HANDLE JobHandle;   // Handle to job object to insert\n    DWORD MemberLevel;  // Level of this job in the set. Must be > 0. Can be sparse.\n    DWORD Flags;        // Unused. Must be zero\n} JOB_SET_ARRAY, *PJOB_SET_ARRAY;\n\n#define FLS_MAXIMUM_AVAILABLE 128   \n#define TLS_MINIMUM_AVAILABLE 64    \n\ntypedef struct _NT_TIB {\n    struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;\n    PVOID StackBase;\n    PVOID StackLimit;\n    PVOID SubSystemTib;\n    union {\n        PVOID FiberData;\n        DWORD Version;\n    };\n    PVOID ArbitraryUserPointer;\n    struct _NT_TIB *Self;\n} NT_TIB;\ntypedef NT_TIB *PNT_TIB;\n\n//\n// 32 and 64 bit specific version for wow64 and the debugger\n//\ntypedef struct _NT_TIB32 {\n    DWORD ExceptionList;\n    DWORD StackBase;\n    DWORD StackLimit;\n    DWORD SubSystemTib;\n    union {\n        DWORD FiberData;\n        DWORD Version;\n    };\n    DWORD ArbitraryUserPointer;\n    DWORD Self;\n} NT_TIB32, *PNT_TIB32;\n\ntypedef struct _NT_TIB64 {\n    DWORD64 ExceptionList;\n    DWORD64 StackBase;\n    DWORD64 StackLimit;\n    DWORD64 SubSystemTib;\n    union {\n        DWORD64 FiberData;\n        DWORD Version;\n    };\n    DWORD64 ArbitraryUserPointer;\n    DWORD64 Self;\n} NT_TIB64, *PNT_TIB64;\n\n\n#if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_)\n#define WX86\n#endif\n\n#define THREAD_BASE_PRIORITY_LOWRT  15  // value that gets a thread to LowRealtime-1\n#define THREAD_BASE_PRIORITY_MAX    2   // maximum thread base priority boost\n#define THREAD_BASE_PRIORITY_MIN    (-2)  // minimum thread base priority boost\n#define THREAD_BASE_PRIORITY_IDLE   (-15) // value that gets a thread to idle\n\ntypedef struct _QUOTA_LIMITS {\n    SIZE_T PagedPoolLimit;\n    SIZE_T NonPagedPoolLimit;\n    SIZE_T MinimumWorkingSetSize;\n    SIZE_T MaximumWorkingSetSize;\n    SIZE_T PagefileLimit;\n    LARGE_INTEGER TimeLimit;\n} QUOTA_LIMITS, *PQUOTA_LIMITS;\n\n#define QUOTA_LIMITS_HARDWS_MIN_ENABLE  0x00000001\n#define QUOTA_LIMITS_HARDWS_MIN_DISABLE 0x00000002\n#define QUOTA_LIMITS_HARDWS_MAX_ENABLE  0x00000004\n#define QUOTA_LIMITS_HARDWS_MAX_DISABLE 0x00000008\n\ntypedef struct _QUOTA_LIMITS_EX {\n    SIZE_T PagedPoolLimit;\n    SIZE_T NonPagedPoolLimit;\n    SIZE_T MinimumWorkingSetSize;\n    SIZE_T MaximumWorkingSetSize;\n    SIZE_T PagefileLimit;\n    LARGE_INTEGER TimeLimit;\n    SIZE_T Reserved1;\n    SIZE_T Reserved2;\n    SIZE_T Reserved3;\n    SIZE_T Reserved4;\n    DWORD  Flags;\n    DWORD  Reserved5;\n} QUOTA_LIMITS_EX, *PQUOTA_LIMITS_EX;\n\ntypedef struct _IO_COUNTERS {\n    ULONGLONG  ReadOperationCount;\n    ULONGLONG  WriteOperationCount;\n    ULONGLONG  OtherOperationCount;\n    ULONGLONG ReadTransferCount;\n    ULONGLONG WriteTransferCount;\n    ULONGLONG OtherTransferCount;\n} IO_COUNTERS;\ntypedef IO_COUNTERS *PIO_COUNTERS;\n//\n\ntypedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {\n    LARGE_INTEGER TotalUserTime;\n    LARGE_INTEGER TotalKernelTime;\n    LARGE_INTEGER ThisPeriodTotalUserTime;\n    LARGE_INTEGER ThisPeriodTotalKernelTime;\n    DWORD TotalPageFaultCount;\n    DWORD TotalProcesses;\n    DWORD ActiveProcesses;\n    DWORD TotalTerminatedProcesses;\n} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;\n\ntypedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {\n    LARGE_INTEGER PerProcessUserTimeLimit;\n    LARGE_INTEGER PerJobUserTimeLimit;\n    DWORD LimitFlags;\n    SIZE_T MinimumWorkingSetSize;\n    SIZE_T MaximumWorkingSetSize;\n    DWORD ActiveProcessLimit;\n    ULONG_PTR Affinity;\n    DWORD PriorityClass;\n    DWORD SchedulingClass;\n} JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION;\n\ntypedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {\n    JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;\n    IO_COUNTERS IoInfo;\n    SIZE_T ProcessMemoryLimit;\n    SIZE_T JobMemoryLimit;\n    SIZE_T PeakProcessMemoryUsed;\n    SIZE_T PeakJobMemoryUsed;\n} JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;\n\ntypedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {\n    DWORD NumberOfAssignedProcesses;\n    DWORD NumberOfProcessIdsInList;\n    ULONG_PTR ProcessIdList[1];\n} JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;\n\ntypedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {\n    DWORD UIRestrictionsClass;\n} JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS;\n\ntypedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {\n    DWORD SecurityLimitFlags ;\n    HANDLE JobToken ;\n    PTOKEN_GROUPS SidsToDisable ;\n    PTOKEN_PRIVILEGES PrivilegesToDelete ;\n    PTOKEN_GROUPS RestrictedSids ;\n} JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION ;\n\ntypedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {\n    DWORD EndOfJobTimeAction;\n} JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;\n\ntypedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {\n    PVOID CompletionKey;\n    HANDLE CompletionPort;\n} JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;\n\ntypedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {\n    JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo;\n    IO_COUNTERS IoInfo;\n} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;\n\ntypedef struct _JOBOBJECT_JOBSET_INFORMATION {\n    DWORD MemberLevel;\n} JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;\n\n#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB  0\n#define JOB_OBJECT_POST_AT_END_OF_JOB       1\n\n//\n// Completion Port Messages for job objects\n//\n// These values are returned via the lpNumberOfBytesTransferred parameter\n//\n\n#define JOB_OBJECT_MSG_END_OF_JOB_TIME          1\n#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME      2\n#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT     3\n#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO      4\n#define JOB_OBJECT_MSG_NEW_PROCESS              6\n#define JOB_OBJECT_MSG_EXIT_PROCESS             7\n#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS    8\n#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT     9\n#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT         10\n\n\n//\n// Basic Limits\n//\n#define JOB_OBJECT_LIMIT_WORKINGSET                 0x00000001\n#define JOB_OBJECT_LIMIT_PROCESS_TIME               0x00000002\n#define JOB_OBJECT_LIMIT_JOB_TIME                   0x00000004\n#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS             0x00000008\n#define JOB_OBJECT_LIMIT_AFFINITY                   0x00000010\n#define JOB_OBJECT_LIMIT_PRIORITY_CLASS             0x00000020\n#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME          0x00000040\n#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS           0x00000080\n\n//\n// Extended Limits\n//\n#define JOB_OBJECT_LIMIT_PROCESS_MEMORY             0x00000100\n#define JOB_OBJECT_LIMIT_JOB_MEMORY                 0x00000200\n#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x00000400\n#define JOB_OBJECT_LIMIT_BREAKAWAY_OK               0x00000800\n#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK        0x00001000\n#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE          0x00002000\n\n#define JOB_OBJECT_LIMIT_RESERVED2                  0x00004000\n#define JOB_OBJECT_LIMIT_RESERVED3                  0x00008000\n#define JOB_OBJECT_LIMIT_RESERVED4                  0x00010000\n#define JOB_OBJECT_LIMIT_RESERVED5                  0x00020000\n#define JOB_OBJECT_LIMIT_RESERVED6                  0x00040000\n\n\n#define JOB_OBJECT_LIMIT_VALID_FLAGS            0x0007ffff\n\n#define JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS      0x000000ff\n#define JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS   0x00003fff\n#define JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS   0x0007ffff\n\n//\n// UI restrictions for jobs\n//\n\n#define JOB_OBJECT_UILIMIT_NONE             0x00000000\n\n#define JOB_OBJECT_UILIMIT_HANDLES          0x00000001\n#define JOB_OBJECT_UILIMIT_READCLIPBOARD    0x00000002\n#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD   0x00000004\n#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x00000008\n#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS  0x00000010\n#define JOB_OBJECT_UILIMIT_GLOBALATOMS      0x00000020\n#define JOB_OBJECT_UILIMIT_DESKTOP          0x00000040\n#define JOB_OBJECT_UILIMIT_EXITWINDOWS      0x00000080\n\n#define JOB_OBJECT_UILIMIT_ALL              0x000000FF\n\n#define JOB_OBJECT_UI_VALID_FLAGS           0x000000FF\n\n#define JOB_OBJECT_SECURITY_NO_ADMIN            0x00000001\n#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN    0x00000002\n#define JOB_OBJECT_SECURITY_ONLY_TOKEN          0x00000004\n#define JOB_OBJECT_SECURITY_FILTER_TOKENS       0x00000008\n\n#define JOB_OBJECT_SECURITY_VALID_FLAGS         0x0000000f\n\ntypedef enum _JOBOBJECTINFOCLASS {\n    JobObjectBasicAccountingInformation = 1,\n    JobObjectBasicLimitInformation,\n    JobObjectBasicProcessIdList,\n    JobObjectBasicUIRestrictions,\n    JobObjectSecurityLimitInformation,\n    JobObjectEndOfJobTimeInformation,\n    JobObjectAssociateCompletionPortInformation,\n    JobObjectBasicAndIoAccountingInformation,\n    JobObjectExtendedLimitInformation,\n    JobObjectJobSetInformation,\n    MaxJobObjectInfoClass\n    } JOBOBJECTINFOCLASS;\n//\n#define EVENT_MODIFY_STATE      0x0002  \n#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) \n#define MUTANT_QUERY_STATE      0x0001\n\n#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\\\n                          MUTANT_QUERY_STATE)\n#define SEMAPHORE_MODIFY_STATE      0x0002  \n#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) \n//\n// Timer Specific Access Rights.\n//\n\n#define TIMER_QUERY_STATE       0x0001\n#define TIMER_MODIFY_STATE      0x0002\n\n#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|\\\n                          TIMER_QUERY_STATE|TIMER_MODIFY_STATE)\n\n\n#define TIME_ZONE_ID_UNKNOWN  0\n#define TIME_ZONE_ID_STANDARD 1\n#define TIME_ZONE_ID_DAYLIGHT 2\n\ntypedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {\n    RelationProcessorCore,\n    RelationNumaNode\n} LOGICAL_PROCESSOR_RELATIONSHIP;\n\n#define LTP_PC_SMT 0x1\n\ntypedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {\n    ULONG_PTR   ProcessorMask;\n    LOGICAL_PROCESSOR_RELATIONSHIP Relationship;\n    union {\n        struct {\n            BYTE  Flags;\n        } ProcessorCore;\n        struct {\n            DWORD NodeNumber;\n        } NumaNode;\n        ULONGLONG  Reserved[2];\n    };\n} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;\n\n\n#define PROCESSOR_INTEL_386     386\n#define PROCESSOR_INTEL_486     486\n#define PROCESSOR_INTEL_PENTIUM 586\n#define PROCESSOR_INTEL_IA64    2200\n#define PROCESSOR_AMD_X8664     8664\n#define PROCESSOR_MIPS_R4000    4000    // incl R4101 & R3910 for Windows CE\n#define PROCESSOR_ALPHA_21064   21064\n#define PROCESSOR_PPC_601       601\n#define PROCESSOR_PPC_603       603\n#define PROCESSOR_PPC_604       604\n#define PROCESSOR_PPC_620       620\n#define PROCESSOR_HITACHI_SH3   10003   // Windows CE\n#define PROCESSOR_HITACHI_SH3E  10004   // Windows CE\n#define PROCESSOR_HITACHI_SH4   10005   // Windows CE\n#define PROCESSOR_MOTOROLA_821  821     // Windows CE\n#define PROCESSOR_SHx_SH3       103     // Windows CE\n#define PROCESSOR_SHx_SH4       104     // Windows CE\n#define PROCESSOR_STRONGARM     2577    // Windows CE - 0xA11\n#define PROCESSOR_ARM720        1824    // Windows CE - 0x720\n#define PROCESSOR_ARM820        2080    // Windows CE - 0x820\n#define PROCESSOR_ARM920        2336    // Windows CE - 0x920\n#define PROCESSOR_ARM_7TDMI     70001   // Windows CE\n#define PROCESSOR_OPTIL         0x494f  // MSIL\n\n#define PROCESSOR_ARCHITECTURE_INTEL            0\n#define PROCESSOR_ARCHITECTURE_MIPS             1\n#define PROCESSOR_ARCHITECTURE_ALPHA            2\n#define PROCESSOR_ARCHITECTURE_PPC              3\n#define PROCESSOR_ARCHITECTURE_SHX              4\n#define PROCESSOR_ARCHITECTURE_ARM              5\n#define PROCESSOR_ARCHITECTURE_IA64             6\n#define PROCESSOR_ARCHITECTURE_ALPHA64          7\n#define PROCESSOR_ARCHITECTURE_MSIL             8\n#define PROCESSOR_ARCHITECTURE_AMD64            9\n#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64    10\n\n#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF\n\n#define PF_FLOATING_POINT_PRECISION_ERRATA  0   \n#define PF_FLOATING_POINT_EMULATED          1   \n#define PF_COMPARE_EXCHANGE_DOUBLE          2   \n#define PF_MMX_INSTRUCTIONS_AVAILABLE       3   \n#define PF_PPC_MOVEMEM_64BIT_OK             4   \n#define PF_ALPHA_BYTE_INSTRUCTIONS          5   \n#define PF_XMMI_INSTRUCTIONS_AVAILABLE      6   \n#define PF_3DNOW_INSTRUCTIONS_AVAILABLE     7   \n#define PF_RDTSC_INSTRUCTION_AVAILABLE      8   \n#define PF_PAE_ENABLED                      9   \n#define PF_XMMI64_INSTRUCTIONS_AVAILABLE   10   \n\ntypedef struct _MEMORY_BASIC_INFORMATION {\n    PVOID BaseAddress;\n    PVOID AllocationBase;\n    DWORD AllocationProtect;\n    SIZE_T RegionSize;\n    DWORD State;\n    DWORD Protect;\n    DWORD Type;\n} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;\n\ntypedef struct _MEMORY_BASIC_INFORMATION32 {\n    DWORD BaseAddress;\n    DWORD AllocationBase;\n    DWORD AllocationProtect;\n    DWORD RegionSize;\n    DWORD State;\n    DWORD Protect;\n    DWORD Type;\n} MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32;\n\ntypedef struct _MEMORY_BASIC_INFORMATION64 {\n    ULONGLONG BaseAddress;\n    ULONGLONG AllocationBase;\n    DWORD     AllocationProtect;\n    DWORD     __alignment1;\n    ULONGLONG RegionSize;\n    DWORD     State;\n    DWORD     Protect;\n    DWORD     Type;\n    DWORD     __alignment2;\n} MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64;\n\n#define SECTION_QUERY       0x0001\n#define SECTION_MAP_WRITE   0x0002\n#define SECTION_MAP_READ    0x0004\n#define SECTION_MAP_EXECUTE 0x0008\n#define SECTION_EXTEND_SIZE 0x0010\n\n#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\\\n                            SECTION_MAP_WRITE |      \\\n                            SECTION_MAP_READ |       \\\n                            SECTION_MAP_EXECUTE |    \\\n                            SECTION_EXTEND_SIZE)\n#define PAGE_NOACCESS          0x01     \n#define PAGE_READONLY          0x02     \n#define PAGE_READWRITE         0x04     \n#define PAGE_WRITECOPY         0x08     \n#define PAGE_EXECUTE           0x10     \n#define PAGE_EXECUTE_READ      0x20     \n#define PAGE_EXECUTE_READWRITE 0x40     \n#define PAGE_EXECUTE_WRITECOPY 0x80     \n#define PAGE_GUARD            0x100     \n#define PAGE_NOCACHE          0x200     \n#define PAGE_WRITECOMBINE     0x400     \n#define MEM_COMMIT           0x1000     \n#define MEM_RESERVE          0x2000     \n#define MEM_DECOMMIT         0x4000     \n#define MEM_RELEASE          0x8000     \n#define MEM_FREE            0x10000     \n#define MEM_PRIVATE         0x20000     \n#define MEM_MAPPED          0x40000     \n#define MEM_RESET           0x80000     \n#define MEM_TOP_DOWN       0x100000     \n#define MEM_WRITE_WATCH    0x200000     \n#define MEM_PHYSICAL       0x400000     \n#define MEM_LARGE_PAGES  0x20000000     \n#define MEM_4MB_PAGES    0x80000000     \n#define SEC_FILE           0x800000     \n#define SEC_IMAGE         0x1000000     \n#define SEC_RESERVE       0x4000000     \n#define SEC_COMMIT        0x8000000     \n#define SEC_NOCACHE      0x10000000     \n#define MEM_IMAGE         SEC_IMAGE     \n#define WRITE_WATCH_FLAG_RESET 0x01     \n\n//\n// Define access rights to files and directories\n//\n\n//\n// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in\n// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these\n// constants *MUST* always be in sync.\n// The values are redefined in devioctl.h because they must be available to\n// both DOS and NT.\n//\n\n#define FILE_READ_DATA            ( 0x0001 )    // file & pipe\n#define FILE_LIST_DIRECTORY       ( 0x0001 )    // directory\n\n#define FILE_WRITE_DATA           ( 0x0002 )    // file & pipe\n#define FILE_ADD_FILE             ( 0x0002 )    // directory\n\n#define FILE_APPEND_DATA          ( 0x0004 )    // file\n#define FILE_ADD_SUBDIRECTORY     ( 0x0004 )    // directory\n#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 )    // named pipe\n\n\n#define FILE_READ_EA              ( 0x0008 )    // file & directory\n\n#define FILE_WRITE_EA             ( 0x0010 )    // file & directory\n\n#define FILE_EXECUTE              ( 0x0020 )    // file\n#define FILE_TRAVERSE             ( 0x0020 )    // directory\n\n#define FILE_DELETE_CHILD         ( 0x0040 )    // directory\n\n#define FILE_READ_ATTRIBUTES      ( 0x0080 )    // all\n\n#define FILE_WRITE_ATTRIBUTES     ( 0x0100 )    // all\n\n#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)\n\n#define FILE_GENERIC_READ         (STANDARD_RIGHTS_READ     |\\\n                                   FILE_READ_DATA           |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_READ_EA             |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_WRITE        (STANDARD_RIGHTS_WRITE    |\\\n                                   FILE_WRITE_DATA          |\\\n                                   FILE_WRITE_ATTRIBUTES    |\\\n                                   FILE_WRITE_EA            |\\\n                                   FILE_APPEND_DATA         |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_EXECUTE      (STANDARD_RIGHTS_EXECUTE  |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_EXECUTE             |\\\n                                   SYNCHRONIZE)\n\n#define FILE_SHARE_READ                 0x00000001  \n#define FILE_SHARE_WRITE                0x00000002  \n#define FILE_SHARE_DELETE               0x00000004  \n#define FILE_ATTRIBUTE_READONLY             0x00000001  \n#define FILE_ATTRIBUTE_HIDDEN               0x00000002  \n#define FILE_ATTRIBUTE_SYSTEM               0x00000004  \n#define FILE_ATTRIBUTE_DIRECTORY            0x00000010  \n#define FILE_ATTRIBUTE_ARCHIVE              0x00000020  \n#define FILE_ATTRIBUTE_DEVICE               0x00000040  \n#define FILE_ATTRIBUTE_NORMAL               0x00000080  \n#define FILE_ATTRIBUTE_TEMPORARY            0x00000100  \n#define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  \n#define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  \n#define FILE_ATTRIBUTE_COMPRESSED           0x00000800  \n#define FILE_ATTRIBUTE_OFFLINE              0x00001000  \n#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  \n#define FILE_ATTRIBUTE_ENCRYPTED            0x00004000  \n#define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001   \n#define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002   \n#define FILE_NOTIFY_CHANGE_ATTRIBUTES   0x00000004   \n#define FILE_NOTIFY_CHANGE_SIZE         0x00000008   \n#define FILE_NOTIFY_CHANGE_LAST_WRITE   0x00000010   \n#define FILE_NOTIFY_CHANGE_LAST_ACCESS  0x00000020   \n#define FILE_NOTIFY_CHANGE_CREATION     0x00000040   \n#define FILE_NOTIFY_CHANGE_SECURITY     0x00000100   \n#define FILE_ACTION_ADDED                   0x00000001   \n#define FILE_ACTION_REMOVED                 0x00000002   \n#define FILE_ACTION_MODIFIED                0x00000003   \n#define FILE_ACTION_RENAMED_OLD_NAME        0x00000004   \n#define FILE_ACTION_RENAMED_NEW_NAME        0x00000005   \n#define MAILSLOT_NO_MESSAGE             ((DWORD)-1) \n#define MAILSLOT_WAIT_FOREVER           ((DWORD)-1) \n#define FILE_CASE_SENSITIVE_SEARCH      0x00000001  \n#define FILE_CASE_PRESERVED_NAMES       0x00000002  \n#define FILE_UNICODE_ON_DISK            0x00000004  \n#define FILE_PERSISTENT_ACLS            0x00000008  \n#define FILE_FILE_COMPRESSION           0x00000010  \n#define FILE_VOLUME_QUOTAS              0x00000020  \n#define FILE_SUPPORTS_SPARSE_FILES      0x00000040  \n#define FILE_SUPPORTS_REPARSE_POINTS    0x00000080  \n#define FILE_SUPPORTS_REMOTE_STORAGE    0x00000100  \n#define FILE_VOLUME_IS_COMPRESSED       0x00008000  \n#define FILE_SUPPORTS_OBJECT_IDS        0x00010000  \n#define FILE_SUPPORTS_ENCRYPTION        0x00020000  \n#define FILE_NAMED_STREAMS              0x00040000  \n#define FILE_READ_ONLY_VOLUME           0x00080000  \n\n//\n// Define the file notification information structure\n//\n\ntypedef struct _FILE_NOTIFY_INFORMATION {\n    DWORD NextEntryOffset;\n    DWORD Action;\n    DWORD FileNameLength;\n    WCHAR FileName[1];\n} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;\n\n\n//\n// Define segement buffer structure for scatter/gather read/write.\n//\n\ntypedef union _FILE_SEGMENT_ELEMENT {\n    PVOID64 Buffer;\n    ULONGLONG Alignment;\n}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;\n\n//\n// The reparse GUID structure is used by all 3rd party layered drivers to\n// store data in a reparse point. For non-Microsoft tags, The GUID field\n// cannot be GUID_NULL.\n// The constraints on reparse tags are defined below.\n// Microsoft tags can also be used with this format of the reparse point buffer.\n//\n\ntypedef struct _REPARSE_GUID_DATA_BUFFER {\n    DWORD  ReparseTag;\n    WORD   ReparseDataLength;\n    WORD   Reserved;\n    GUID   ReparseGuid;\n    struct {\n        BYTE   DataBuffer[1];\n    } GenericReparseBuffer;\n} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;\n\n#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE   FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)\n\n\n\n//\n// Maximum allowed size of the reparse data.\n//\n\n#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE      ( 16 * 1024 )\n\n//\n// Predefined reparse tags.\n// These tags need to avoid conflicting with IO_REMOUNT defined in ntos\\inc\\io.h\n//\n\n#define IO_REPARSE_TAG_RESERVED_ZERO             (0)\n#define IO_REPARSE_TAG_RESERVED_ONE              (1)\n\n//\n// The value of the following constant needs to satisfy the following conditions:\n//  (1) Be at least as large as the largest of the reserved tags.\n//  (2) Be strictly smaller than all the tags in use.\n//\n\n#define IO_REPARSE_TAG_RESERVED_RANGE            IO_REPARSE_TAG_RESERVED_ONE\n\n//\n// The reparse tags are a DWORD. The 32 bits are laid out as follows:\n//\n//   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n//   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n//  +-+-+-+-+-----------------------+-------------------------------+\n//  |M|R|N|R|     Reserved bits     |       Reparse Tag Value       |\n//  +-+-+-+-+-----------------------+-------------------------------+\n//\n// M is the Microsoft bit. When set to 1, it denotes a tag owned by Microsoft.\n//   All ISVs must use a tag with a 0 in this position.\n//   Note: If a Microsoft tag is used by non-Microsoft software, the\n//   behavior is not defined.\n//\n// R is reserved.  Must be zero for non-Microsoft tags.\n//\n// N is name surrogate. When set to 1, the file represents another named\n//   entity in the system.\n//\n// The M and N bits are OR-able.\n// The following macros check for the M and N bit values:\n//\n\n//\n// Macro to determine whether a reparse point tag corresponds to a tag\n// owned by Microsoft.\n//\n\n#define IsReparseTagMicrosoft(_tag) (              \\\n                           ((_tag) & 0x80000000)   \\\n                           )\n\n//\n// Macro to determine whether a reparse point tag is a name surrogate\n//\n\n#define IsReparseTagNameSurrogate(_tag) (          \\\n                           ((_tag) & 0x20000000)   \\\n                           )\n\n#define IO_REPARSE_TAG_MOUNT_POINT              (0xA0000003L)       \n#define IO_REPARSE_TAG_HSM                      (0xC0000004L)       \n#define IO_REPARSE_TAG_SIS                      (0x80000007L)       \n#define IO_REPARSE_TAG_DFS                      (0x8000000AL)       \n#define IO_REPARSE_TAG_FILTER_MANAGER           (0x8000000BL)       \n#define IO_COMPLETION_MODIFY_STATE  0x0002  \n#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) \n#define DUPLICATE_CLOSE_SOURCE      0x00000001  \n#define DUPLICATE_SAME_ACCESS       0x00000002  \n\ntypedef enum _SYSTEM_POWER_STATE {\n    PowerSystemUnspecified = 0,\n    PowerSystemWorking     = 1,\n    PowerSystemSleeping1   = 2,\n    PowerSystemSleeping2   = 3,\n    PowerSystemSleeping3   = 4,\n    PowerSystemHibernate   = 5,\n    PowerSystemShutdown    = 6,\n    PowerSystemMaximum     = 7\n} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;\n\n#define POWER_SYSTEM_MAXIMUM 7\n\ntypedef enum {\n    PowerActionNone = 0,\n    PowerActionReserved,\n    PowerActionSleep,\n    PowerActionHibernate,\n    PowerActionShutdown,\n    PowerActionShutdownReset,\n    PowerActionShutdownOff,\n    PowerActionWarmEject\n} POWER_ACTION, *PPOWER_ACTION;\n\ntypedef enum _DEVICE_POWER_STATE {\n    PowerDeviceUnspecified = 0,\n    PowerDeviceD0,\n    PowerDeviceD1,\n    PowerDeviceD2,\n    PowerDeviceD3,\n    PowerDeviceMaximum\n} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;\n\n\n#define ES_SYSTEM_REQUIRED  ((DWORD)0x00000001)\n#define ES_DISPLAY_REQUIRED ((DWORD)0x00000002)\n#define ES_USER_PRESENT     ((DWORD)0x00000004)\n#define ES_CONTINUOUS       ((DWORD)0x80000000)\n\ntypedef DWORD EXECUTION_STATE;\n\ntypedef enum {\n    LT_DONT_CARE,\n    LT_LOWEST_LATENCY\n} LATENCY_TIME;\n\n// end_ntminiport end_ntifs end_wdm end_ntddk\n//-----------------------------------------------------------------------------\n// Device Power Information\n// Accessable via CM_Get_DevInst_Registry_Property_Ex(CM_DRP_DEVICE_POWER_DATA)\n//-----------------------------------------------------------------------------\n\n#define PDCAP_D0_SUPPORTED              0x00000001\n#define PDCAP_D1_SUPPORTED              0x00000002\n#define PDCAP_D2_SUPPORTED              0x00000004\n#define PDCAP_D3_SUPPORTED              0x00000008\n#define PDCAP_WAKE_FROM_D0_SUPPORTED    0x00000010\n#define PDCAP_WAKE_FROM_D1_SUPPORTED    0x00000020\n#define PDCAP_WAKE_FROM_D2_SUPPORTED    0x00000040\n#define PDCAP_WAKE_FROM_D3_SUPPORTED    0x00000080\n#define PDCAP_WARM_EJECT_SUPPORTED      0x00000100\n\ntypedef struct CM_Power_Data_s {\n    DWORD               PD_Size;\n    DEVICE_POWER_STATE  PD_MostRecentPowerState;\n    DWORD               PD_Capabilities;\n    DWORD               PD_D1Latency;\n    DWORD               PD_D2Latency;\n    DWORD               PD_D3Latency;\n    DEVICE_POWER_STATE  PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM];\n    SYSTEM_POWER_STATE  PD_DeepestSystemWake;\n} CM_POWER_DATA, *PCM_POWER_DATA;\n\n// begin_ntddk\n\ntypedef enum {\n    SystemPowerPolicyAc,\n    SystemPowerPolicyDc,\n    VerifySystemPolicyAc,\n    VerifySystemPolicyDc,\n    SystemPowerCapabilities,\n    SystemBatteryState,\n    SystemPowerStateHandler,\n    ProcessorStateHandler,\n    SystemPowerPolicyCurrent,\n    AdministratorPowerPolicy,\n    SystemReserveHiberFile,\n    ProcessorInformation,\n    SystemPowerInformation,\n    ProcessorStateHandler2,\n    LastWakeTime,                                   // Compare with KeQueryInterruptTime()\n    LastSleepTime,                                  // Compare with KeQueryInterruptTime()\n    SystemExecutionState,\n    SystemPowerStateNotifyHandler,\n    ProcessorPowerPolicyAc,\n    ProcessorPowerPolicyDc,\n    VerifyProcessorPowerPolicyAc,\n    VerifyProcessorPowerPolicyDc,\n    ProcessorPowerPolicyCurrent,\n    SystemPowerStateLogging,\n    SystemPowerLoggingEntry\n} POWER_INFORMATION_LEVEL;\n\n// begin_wdm\n\n//\n// System power manager capabilities\n//\n\ntypedef struct {\n    DWORD       Granularity;\n    DWORD       Capacity;\n} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;\n\n//\n\n// Power Policy Management interfaces\n//\n\ntypedef struct {\n    POWER_ACTION    Action;\n    DWORD           Flags;\n    DWORD           EventCode;\n} POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY;\n\n// POWER_ACTION_POLICY->Flags:\n#define POWER_ACTION_QUERY_ALLOWED      0x00000001\n#define POWER_ACTION_UI_ALLOWED         0x00000002\n#define POWER_ACTION_OVERRIDE_APPS      0x00000004\n#define POWER_ACTION_LIGHTEST_FIRST     0x10000000\n#define POWER_ACTION_LOCK_CONSOLE       0x20000000\n#define POWER_ACTION_DISABLE_WAKES      0x40000000\n#define POWER_ACTION_CRITICAL           0x80000000\n\n// POWER_ACTION_POLICY->EventCode flags\n#define POWER_LEVEL_USER_NOTIFY_TEXT    0x00000001\n#define POWER_LEVEL_USER_NOTIFY_SOUND   0x00000002\n#define POWER_LEVEL_USER_NOTIFY_EXEC    0x00000004\n#define POWER_USER_NOTIFY_BUTTON        0x00000008\n#define POWER_USER_NOTIFY_SHUTDOWN      0x00000010\n#define POWER_FORCE_TRIGGER_RESET       0x80000000\n\n// system battery drain policies\ntypedef struct {\n    BOOLEAN                 Enable;\n    BYTE                    Spare[3];\n    DWORD                   BatteryLevel;\n    POWER_ACTION_POLICY     PowerPolicy;\n    SYSTEM_POWER_STATE      MinSystemState;\n} SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL;\n\n// Discharge policy constants\n#define NUM_DISCHARGE_POLICIES      4\n#define DISCHARGE_POLICY_CRITICAL   0\n#define DISCHARGE_POLICY_LOW        1\n\n//\n// Throttling policies\n//\n#define PO_THROTTLE_NONE            0\n#define PO_THROTTLE_CONSTANT        1\n#define PO_THROTTLE_DEGRADE         2\n#define PO_THROTTLE_ADAPTIVE        3\n#define PO_THROTTLE_MAXIMUM         4   // not a policy, just a limit\n\n// system power policies\ntypedef struct _SYSTEM_POWER_POLICY {\n    DWORD                   Revision;       // 1\n\n    // events\n    POWER_ACTION_POLICY     PowerButton;\n    POWER_ACTION_POLICY     SleepButton;\n    POWER_ACTION_POLICY     LidClose;\n    SYSTEM_POWER_STATE      LidOpenWake;\n    DWORD                   Reserved;\n\n    // \"system idle\" detection\n    POWER_ACTION_POLICY     Idle;\n    DWORD                   IdleTimeout;\n    BYTE                    IdleSensitivity;\n\n    // dynamic throttling policy\n    //      PO_THROTTLE_NONE, PO_THROTTLE_CONSTANT, PO_THROTTLE_DEGRADE, or PO_THROTTLE_ADAPTIVE\n    BYTE                    DynamicThrottle;\n\n    BYTE                    Spare2[2];\n\n    // meaning of power action \"sleep\"\n    SYSTEM_POWER_STATE      MinSleep;\n    SYSTEM_POWER_STATE      MaxSleep;\n    SYSTEM_POWER_STATE      ReducedLatencySleep;\n    DWORD                   WinLogonFlags;\n\n    // parameters for dozing\n    DWORD                   Spare3;\n    DWORD                   DozeS4Timeout;\n\n    // battery policies\n    DWORD                   BroadcastCapacityResolution;\n    SYSTEM_POWER_LEVEL      DischargePolicy[NUM_DISCHARGE_POLICIES];\n\n    // video policies\n    DWORD                   VideoTimeout;\n    BOOLEAN                 VideoDimDisplay;\n    DWORD                   VideoReserved[3];\n\n    // hard disk policies\n    DWORD                   SpindownTimeout;\n\n    // processor policies\n    BOOLEAN                 OptimizeForPower;\n    BYTE                    FanThrottleTolerance;\n    BYTE                    ForcedThrottle;\n    BYTE                    MinThrottle;\n    POWER_ACTION_POLICY     OverThrottled;\n\n} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;\n\n// processor power policy state\ntypedef struct _PROCESSOR_POWER_POLICY_INFO {\n\n    // Time based information (will be converted to kernel units)\n    DWORD                   TimeCheck;                      // in US\n    DWORD                   DemoteLimit;                    // in US\n    DWORD                   PromoteLimit;                   // in US\n\n    // Percentage based information\n    BYTE                    DemotePercent;\n    BYTE                    PromotePercent;\n    BYTE                    Spare[2];\n\n    // Flags\n    DWORD                   AllowDemotion:1;\n    DWORD                   AllowPromotion:1;\n    DWORD                   Reserved:30;\n\n} PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO;\n\n// processor power policy\ntypedef struct _PROCESSOR_POWER_POLICY {\n    DWORD                       Revision;       // 1\n\n    // Dynamic Throttling Policy\n    BYTE                        DynamicThrottle;\n    BYTE                        Spare[3];\n\n    // Flags\n    DWORD                       DisableCStates:1;\n    DWORD                       Reserved:31;\n\n    // System policy information\n    // The Array is last, in case it needs to be grown and the structure\n    // revision incremented.\n    DWORD                       PolicyCount;\n    PROCESSOR_POWER_POLICY_INFO Policy[3];\n\n} PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY;\n\n// administrator power policy overrides\ntypedef struct _ADMINISTRATOR_POWER_POLICY {\n\n    // meaning of power action \"sleep\"\n    SYSTEM_POWER_STATE      MinSleep;\n    SYSTEM_POWER_STATE      MaxSleep;\n\n    // video policies\n    DWORD                   MinVideoTimeout;\n    DWORD                   MaxVideoTimeout;\n\n    // disk policies\n    DWORD                   MinSpindownTimeout;\n    DWORD                   MaxSpindownTimeout;\n} ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;\n\n\ntypedef struct {\n    // Misc supported system features\n    BOOLEAN             PowerButtonPresent;\n    BOOLEAN             SleepButtonPresent;\n    BOOLEAN             LidPresent;\n    BOOLEAN             SystemS1;\n    BOOLEAN             SystemS2;\n    BOOLEAN             SystemS3;\n    BOOLEAN             SystemS4;           // hibernate\n    BOOLEAN             SystemS5;           // off\n    BOOLEAN             HiberFilePresent;\n    BOOLEAN             FullWake;\n    BOOLEAN             VideoDimPresent;\n    BOOLEAN             ApmPresent;\n    BOOLEAN             UpsPresent;\n\n    // Processors\n    BOOLEAN             ThermalControl;\n    BOOLEAN             ProcessorThrottle;\n    BYTE                ProcessorMinThrottle;\n    BYTE                ProcessorMaxThrottle;\n    BYTE                spare2[4];\n\n    // Disk\n    BOOLEAN             DiskSpinDown;\n    BYTE                spare3[8];\n\n    // System Battery\n    BOOLEAN             SystemBatteriesPresent;\n    BOOLEAN             BatteriesAreShortTerm;\n    BATTERY_REPORTING_SCALE BatteryScale[3];\n\n    // Wake\n    SYSTEM_POWER_STATE  AcOnLineWake;\n    SYSTEM_POWER_STATE  SoftLidWake;\n    SYSTEM_POWER_STATE  RtcWake;\n    SYSTEM_POWER_STATE  MinDeviceWakeState; // note this may change on driver load\n    SYSTEM_POWER_STATE  DefaultLowLatencyWake;\n} SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES;\n\ntypedef struct {\n    BOOLEAN             AcOnLine;\n    BOOLEAN             BatteryPresent;\n    BOOLEAN             Charging;\n    BOOLEAN             Discharging;\n    BOOLEAN             Spare1[4];\n\n    DWORD               MaxCapacity;\n    DWORD               RemainingCapacity;\n    DWORD               Rate;\n    DWORD               EstimatedTime;\n\n    DWORD               DefaultAlert1;\n    DWORD               DefaultAlert2;\n} SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE;\n\n\n\n//\n// Image Format\n//\n\n\n#ifndef _MAC\n\n#include \"pshpack4.h\"                   // 4 byte packing is the default\n\n#define IMAGE_DOS_SIGNATURE                 0x5A4D      // MZ\n#define IMAGE_OS2_SIGNATURE                 0x454E      // NE\n#define IMAGE_OS2_SIGNATURE_LE              0x454C      // LE\n#define IMAGE_VXD_SIGNATURE                 0x454C      // LE\n#define IMAGE_NT_SIGNATURE                  0x00004550  // PE00\n\n#include \"pshpack2.h\"                   // 16 bit headers are 2 byte packed\n\n#else\n\n#include \"pshpack1.h\"\n\n#define IMAGE_DOS_SIGNATURE                 0x4D5A      // MZ\n#define IMAGE_OS2_SIGNATURE                 0x4E45      // NE\n#define IMAGE_OS2_SIGNATURE_LE              0x4C45      // LE\n#define IMAGE_NT_SIGNATURE                  0x50450000  // PE00\n#endif\n\ntypedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header\n    WORD   e_magic;                     // Magic number\n    WORD   e_cblp;                      // Bytes on last page of file\n    WORD   e_cp;                        // Pages in file\n    WORD   e_crlc;                      // Relocations\n    WORD   e_cparhdr;                   // Size of header in paragraphs\n    WORD   e_minalloc;                  // Minimum extra paragraphs needed\n    WORD   e_maxalloc;                  // Maximum extra paragraphs needed\n    WORD   e_ss;                        // Initial (relative) SS value\n    WORD   e_sp;                        // Initial SP value\n    WORD   e_csum;                      // Checksum\n    WORD   e_ip;                        // Initial IP value\n    WORD   e_cs;                        // Initial (relative) CS value\n    WORD   e_lfarlc;                    // File address of relocation table\n    WORD   e_ovno;                      // Overlay number\n    WORD   e_res[4];                    // Reserved words\n    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)\n    WORD   e_oeminfo;                   // OEM information; e_oemid specific\n    WORD   e_res2[10];                  // Reserved words\n    LONG   e_lfanew;                    // File address of new exe header\n  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;\n\ntypedef struct _IMAGE_OS2_HEADER {      // OS/2 .EXE header\n    WORD   ne_magic;                    // Magic number\n    CHAR   ne_ver;                      // Version number\n    CHAR   ne_rev;                      // Revision number\n    WORD   ne_enttab;                   // Offset of Entry Table\n    WORD   ne_cbenttab;                 // Number of bytes in Entry Table\n    LONG   ne_crc;                      // Checksum of whole file\n    WORD   ne_flags;                    // Flag word\n    WORD   ne_autodata;                 // Automatic data segment number\n    WORD   ne_heap;                     // Initial heap allocation\n    WORD   ne_stack;                    // Initial stack allocation\n    LONG   ne_csip;                     // Initial CS:IP setting\n    LONG   ne_sssp;                     // Initial SS:SP setting\n    WORD   ne_cseg;                     // Count of file segments\n    WORD   ne_cmod;                     // Entries in Module Reference Table\n    WORD   ne_cbnrestab;                // Size of non-resident name table\n    WORD   ne_segtab;                   // Offset of Segment Table\n    WORD   ne_rsrctab;                  // Offset of Resource Table\n    WORD   ne_restab;                   // Offset of resident name table\n    WORD   ne_modtab;                   // Offset of Module Reference Table\n    WORD   ne_imptab;                   // Offset of Imported Names Table\n    LONG   ne_nrestab;                  // Offset of Non-resident Names Table\n    WORD   ne_cmovent;                  // Count of movable entries\n    WORD   ne_align;                    // Segment alignment shift count\n    WORD   ne_cres;                     // Count of resource segments\n    BYTE   ne_exetyp;                   // Target Operating system\n    BYTE   ne_flagsothers;              // Other .EXE flags\n    WORD   ne_pretthunks;               // offset to return thunks\n    WORD   ne_psegrefbytes;             // offset to segment ref. bytes\n    WORD   ne_swaparea;                 // Minimum code swap area size\n    WORD   ne_expver;                   // Expected Windows version number\n  } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;\n\ntypedef struct _IMAGE_VXD_HEADER {      // Windows VXD header\n    WORD   e32_magic;                   // Magic number\n    BYTE   e32_border;                  // The byte ordering for the VXD\n    BYTE   e32_worder;                  // The word ordering for the VXD\n    DWORD  e32_level;                   // The EXE format level for now = 0\n    WORD   e32_cpu;                     // The CPU type\n    WORD   e32_os;                      // The OS type\n    DWORD  e32_ver;                     // Module version\n    DWORD  e32_mflags;                  // Module flags\n    DWORD  e32_mpages;                  // Module # pages\n    DWORD  e32_startobj;                // Object # for instruction pointer\n    DWORD  e32_eip;                     // Extended instruction pointer\n    DWORD  e32_stackobj;                // Object # for stack pointer\n    DWORD  e32_esp;                     // Extended stack pointer\n    DWORD  e32_pagesize;                // VXD page size\n    DWORD  e32_lastpagesize;            // Last page size in VXD\n    DWORD  e32_fixupsize;               // Fixup section size\n    DWORD  e32_fixupsum;                // Fixup section checksum\n    DWORD  e32_ldrsize;                 // Loader section size\n    DWORD  e32_ldrsum;                  // Loader section checksum\n    DWORD  e32_objtab;                  // Object table offset\n    DWORD  e32_objcnt;                  // Number of objects in module\n    DWORD  e32_objmap;                  // Object page map offset\n    DWORD  e32_itermap;                 // Object iterated data map offset\n    DWORD  e32_rsrctab;                 // Offset of Resource Table\n    DWORD  e32_rsrccnt;                 // Number of resource entries\n    DWORD  e32_restab;                  // Offset of resident name table\n    DWORD  e32_enttab;                  // Offset of Entry Table\n    DWORD  e32_dirtab;                  // Offset of Module Directive Table\n    DWORD  e32_dircnt;                  // Number of module directives\n    DWORD  e32_fpagetab;                // Offset of Fixup Page Table\n    DWORD  e32_frectab;                 // Offset of Fixup Record Table\n    DWORD  e32_impmod;                  // Offset of Import Module Name Table\n    DWORD  e32_impmodcnt;               // Number of entries in Import Module Name Table\n    DWORD  e32_impproc;                 // Offset of Import Procedure Name Table\n    DWORD  e32_pagesum;                 // Offset of Per-Page Checksum Table\n    DWORD  e32_datapage;                // Offset of Enumerated Data Pages\n    DWORD  e32_preload;                 // Number of preload pages\n    DWORD  e32_nrestab;                 // Offset of Non-resident Names Table\n    DWORD  e32_cbnrestab;               // Size of Non-resident Name Table\n    DWORD  e32_nressum;                 // Non-resident Name Table Checksum\n    DWORD  e32_autodata;                // Object # for automatic data object\n    DWORD  e32_debuginfo;               // Offset of the debugging information\n    DWORD  e32_debuglen;                // The length of the debugging info. in bytes\n    DWORD  e32_instpreload;             // Number of instance pages in preload section of VXD file\n    DWORD  e32_instdemand;              // Number of instance pages in demand load section of VXD file\n    DWORD  e32_heapsize;                // Size of heap - for 16-bit apps\n    BYTE   e32_res3[12];                // Reserved words\n    DWORD  e32_winresoff;\n    DWORD  e32_winreslen;\n    WORD   e32_devid;                   // Device ID for VxD\n    WORD   e32_ddkver;                  // DDK version for VxD\n  } IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;\n\n#ifndef _MAC\n#include \"poppack.h\"                    // Back to 4 byte packing\n#endif\n\n//\n// File header format.\n//\n\ntypedef struct _IMAGE_FILE_HEADER {\n    WORD    Machine;\n    WORD    NumberOfSections;\n    DWORD   TimeDateStamp;\n    DWORD   PointerToSymbolTable;\n    DWORD   NumberOfSymbols;\n    WORD    SizeOfOptionalHeader;\n    WORD    Characteristics;\n} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;\n\n#define IMAGE_SIZEOF_FILE_HEADER             20\n\n\n#define IMAGE_FILE_RELOCS_STRIPPED           0x0001  // Relocation info stripped from file.\n#define IMAGE_FILE_EXECUTABLE_IMAGE          0x0002  // File is executable  (i.e. no unresolved externel references).\n#define IMAGE_FILE_LINE_NUMS_STRIPPED        0x0004  // Line nunbers stripped from file.\n#define IMAGE_FILE_LOCAL_SYMS_STRIPPED       0x0008  // Local symbols stripped from file.\n#define IMAGE_FILE_AGGRESIVE_WS_TRIM         0x0010  // Agressively trim working set\n#define IMAGE_FILE_LARGE_ADDRESS_AWARE       0x0020  // App can handle >2gb addresses\n#define IMAGE_FILE_BYTES_REVERSED_LO         0x0080  // Bytes of machine word are reversed.\n#define IMAGE_FILE_32BIT_MACHINE             0x0100  // 32 bit word machine.\n#define IMAGE_FILE_DEBUG_STRIPPED            0x0200  // Debugging info stripped from file in .DBG file\n#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP   0x0400  // If Image is on removable media, copy and run from the swap file.\n#define IMAGE_FILE_NET_RUN_FROM_SWAP         0x0800  // If Image is on Net, copy and run from the swap file.\n#define IMAGE_FILE_SYSTEM                    0x1000  // System File.\n#define IMAGE_FILE_DLL                       0x2000  // File is a DLL.\n#define IMAGE_FILE_UP_SYSTEM_ONLY            0x4000  // File should only be run on a UP machine\n#define IMAGE_FILE_BYTES_REVERSED_HI         0x8000  // Bytes of machine word are reversed.\n\n#define IMAGE_FILE_MACHINE_UNKNOWN           0\n#define IMAGE_FILE_MACHINE_I386              0x014c  // Intel 386.\n#define IMAGE_FILE_MACHINE_R3000             0x0162  // MIPS little-endian, 0x160 big-endian\n#define IMAGE_FILE_MACHINE_R4000             0x0166  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_R10000            0x0168  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_WCEMIPSV2         0x0169  // MIPS little-endian WCE v2\n#define IMAGE_FILE_MACHINE_ALPHA             0x0184  // Alpha_AXP\n#define IMAGE_FILE_MACHINE_SH3               0x01a2  // SH3 little-endian\n#define IMAGE_FILE_MACHINE_SH3DSP            0x01a3\n#define IMAGE_FILE_MACHINE_SH3E              0x01a4  // SH3E little-endian\n#define IMAGE_FILE_MACHINE_SH4               0x01a6  // SH4 little-endian\n#define IMAGE_FILE_MACHINE_SH5               0x01a8  // SH5\n#define IMAGE_FILE_MACHINE_ARM               0x01c0  // ARM Little-Endian\n#define IMAGE_FILE_MACHINE_THUMB             0x01c2\n#define IMAGE_FILE_MACHINE_AM33              0x01d3\n#define IMAGE_FILE_MACHINE_POWERPC           0x01F0  // IBM PowerPC Little-Endian\n#define IMAGE_FILE_MACHINE_POWERPCFP         0x01f1\n#define IMAGE_FILE_MACHINE_IA64              0x0200  // Intel 64\n#define IMAGE_FILE_MACHINE_MIPS16            0x0266  // MIPS\n#define IMAGE_FILE_MACHINE_ALPHA64           0x0284  // ALPHA64\n#define IMAGE_FILE_MACHINE_MIPSFPU           0x0366  // MIPS\n#define IMAGE_FILE_MACHINE_MIPSFPU16         0x0466  // MIPS\n#define IMAGE_FILE_MACHINE_AXP64             IMAGE_FILE_MACHINE_ALPHA64\n#define IMAGE_FILE_MACHINE_TRICORE           0x0520  // Infineon\n#define IMAGE_FILE_MACHINE_CEF               0x0CEF\n#define IMAGE_FILE_MACHINE_EBC               0x0EBC  // EFI Byte Code\n#define IMAGE_FILE_MACHINE_AMD64             0x8664  // AMD64 (K8)\n#define IMAGE_FILE_MACHINE_M32R              0x9041  // M32R little-endian\n#define IMAGE_FILE_MACHINE_CEE               0xC0EE\n\n//\n// Directory format.\n//\n\ntypedef struct _IMAGE_DATA_DIRECTORY {\n    DWORD   VirtualAddress;\n    DWORD   Size;\n} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;\n\n#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES    16\n\n//\n// Optional header format.\n//\n\ntypedef struct _IMAGE_OPTIONAL_HEADER {\n    //\n    // Standard fields.\n    //\n\n    WORD    Magic;\n    BYTE    MajorLinkerVersion;\n    BYTE    MinorLinkerVersion;\n    DWORD   SizeOfCode;\n    DWORD   SizeOfInitializedData;\n    DWORD   SizeOfUninitializedData;\n    DWORD   AddressOfEntryPoint;\n    DWORD   BaseOfCode;\n    DWORD   BaseOfData;\n\n    //\n    // NT additional fields.\n    //\n\n    DWORD   ImageBase;\n    DWORD   SectionAlignment;\n    DWORD   FileAlignment;\n    WORD    MajorOperatingSystemVersion;\n    WORD    MinorOperatingSystemVersion;\n    WORD    MajorImageVersion;\n    WORD    MinorImageVersion;\n    WORD    MajorSubsystemVersion;\n    WORD    MinorSubsystemVersion;\n    DWORD   Win32VersionValue;\n    DWORD   SizeOfImage;\n    DWORD   SizeOfHeaders;\n    DWORD   CheckSum;\n    WORD    Subsystem;\n    WORD    DllCharacteristics;\n    DWORD   SizeOfStackReserve;\n    DWORD   SizeOfStackCommit;\n    DWORD   SizeOfHeapReserve;\n    DWORD   SizeOfHeapCommit;\n    DWORD   LoaderFlags;\n    DWORD   NumberOfRvaAndSizes;\n    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];\n} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;\n\ntypedef struct _IMAGE_ROM_OPTIONAL_HEADER {\n    WORD   Magic;\n    BYTE   MajorLinkerVersion;\n    BYTE   MinorLinkerVersion;\n    DWORD  SizeOfCode;\n    DWORD  SizeOfInitializedData;\n    DWORD  SizeOfUninitializedData;\n    DWORD  AddressOfEntryPoint;\n    DWORD  BaseOfCode;\n    DWORD  BaseOfData;\n    DWORD  BaseOfBss;\n    DWORD  GprMask;\n    DWORD  CprMask[4];\n    DWORD  GpValue;\n} IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER;\n\ntypedef struct _IMAGE_OPTIONAL_HEADER64 {\n    WORD        Magic;\n    BYTE        MajorLinkerVersion;\n    BYTE        MinorLinkerVersion;\n    DWORD       SizeOfCode;\n    DWORD       SizeOfInitializedData;\n    DWORD       SizeOfUninitializedData;\n    DWORD       AddressOfEntryPoint;\n    DWORD       BaseOfCode;\n    ULONGLONG   ImageBase;\n    DWORD       SectionAlignment;\n    DWORD       FileAlignment;\n    WORD        MajorOperatingSystemVersion;\n    WORD        MinorOperatingSystemVersion;\n    WORD        MajorImageVersion;\n    WORD        MinorImageVersion;\n    WORD        MajorSubsystemVersion;\n    WORD        MinorSubsystemVersion;\n    DWORD       Win32VersionValue;\n    DWORD       SizeOfImage;\n    DWORD       SizeOfHeaders;\n    DWORD       CheckSum;\n    WORD        Subsystem;\n    WORD        DllCharacteristics;\n    ULONGLONG   SizeOfStackReserve;\n    ULONGLONG   SizeOfStackCommit;\n    ULONGLONG   SizeOfHeapReserve;\n    ULONGLONG   SizeOfHeapCommit;\n    DWORD       LoaderFlags;\n    DWORD       NumberOfRvaAndSizes;\n    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];\n} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;\n\n#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER      56\n#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER      28\n#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER    224\n#define IMAGE_SIZEOF_NT_OPTIONAL64_HEADER    240\n\n#define IMAGE_NT_OPTIONAL_HDR32_MAGIC      0x10b\n#define IMAGE_NT_OPTIONAL_HDR64_MAGIC      0x20b\n#define IMAGE_ROM_OPTIONAL_HDR_MAGIC       0x107\n\n#ifdef _WIN64\ntypedef IMAGE_OPTIONAL_HEADER64             IMAGE_OPTIONAL_HEADER;\ntypedef PIMAGE_OPTIONAL_HEADER64            PIMAGE_OPTIONAL_HEADER;\n#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER     IMAGE_SIZEOF_NT_OPTIONAL64_HEADER\n#define IMAGE_NT_OPTIONAL_HDR_MAGIC         IMAGE_NT_OPTIONAL_HDR64_MAGIC\n#else\ntypedef IMAGE_OPTIONAL_HEADER32             IMAGE_OPTIONAL_HEADER;\ntypedef PIMAGE_OPTIONAL_HEADER32            PIMAGE_OPTIONAL_HEADER;\n#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER     IMAGE_SIZEOF_NT_OPTIONAL32_HEADER\n#define IMAGE_NT_OPTIONAL_HDR_MAGIC         IMAGE_NT_OPTIONAL_HDR32_MAGIC\n#endif\n\ntypedef struct _IMAGE_NT_HEADERS64 {\n    DWORD Signature;\n    IMAGE_FILE_HEADER FileHeader;\n    IMAGE_OPTIONAL_HEADER64 OptionalHeader;\n} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;\n\ntypedef struct _IMAGE_NT_HEADERS {\n    DWORD Signature;\n    IMAGE_FILE_HEADER FileHeader;\n    IMAGE_OPTIONAL_HEADER32 OptionalHeader;\n} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;\n\ntypedef struct _IMAGE_ROM_HEADERS {\n    IMAGE_FILE_HEADER FileHeader;\n    IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;\n} IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS;\n\n#ifdef _WIN64\ntypedef IMAGE_NT_HEADERS64                  IMAGE_NT_HEADERS;\ntypedef PIMAGE_NT_HEADERS64                 PIMAGE_NT_HEADERS;\n#else\ntypedef IMAGE_NT_HEADERS32                  IMAGE_NT_HEADERS;\ntypedef PIMAGE_NT_HEADERS32                 PIMAGE_NT_HEADERS;\n#endif\n\n// IMAGE_FIRST_SECTION doesn't need 32/64 versions since the file header is the same either way.\n\n#define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER)        \\\n    ((ULONG_PTR)ntheader +                                              \\\n     FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) +                 \\\n     ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader   \\\n    ))\n\n// Subsystem Values\n\n#define IMAGE_SUBSYSTEM_UNKNOWN              0   // Unknown subsystem.\n#define IMAGE_SUBSYSTEM_NATIVE               1   // Image doesn't require a subsystem.\n#define IMAGE_SUBSYSTEM_WINDOWS_GUI          2   // Image runs in the Windows GUI subsystem.\n#define IMAGE_SUBSYSTEM_WINDOWS_CUI          3   // Image runs in the Windows character subsystem.\n#define IMAGE_SUBSYSTEM_OS2_CUI              5   // image runs in the OS/2 character subsystem.\n#define IMAGE_SUBSYSTEM_POSIX_CUI            7   // image runs in the Posix character subsystem.\n#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS       8   // image is a native Win9x driver.\n#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI       9   // Image runs in the Windows CE subsystem.\n#define IMAGE_SUBSYSTEM_EFI_APPLICATION      10  //\n#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER  11   //\n#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER   12  //\n#define IMAGE_SUBSYSTEM_EFI_ROM              13\n#define IMAGE_SUBSYSTEM_XBOX                 14\n\n// DllCharacteristics Entries\n\n//      IMAGE_LIBRARY_PROCESS_INIT           0x0001     // Reserved.\n//      IMAGE_LIBRARY_PROCESS_TERM           0x0002     // Reserved.\n//      IMAGE_LIBRARY_THREAD_INIT            0x0004     // Reserved.\n//      IMAGE_LIBRARY_THREAD_TERM            0x0008     // Reserved.\n#define IMAGE_DLLCHARACTERISTICS_NO_SEH      0x0400     // Image does not use SEH.  No SE handler may reside in this image\n#define IMAGE_DLLCHARACTERISTICS_NO_BIND     0x0800     // Do not bind this image.\n//                                           0x1000     // Reserved.\n#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER  0x2000     // Driver uses WDM model\n//                                           0x4000     // Reserved.\n#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE     0x8000\n\n// Directory Entries\n\n#define IMAGE_DIRECTORY_ENTRY_EXPORT          0   // Export Directory\n#define IMAGE_DIRECTORY_ENTRY_IMPORT          1   // Import Directory\n#define IMAGE_DIRECTORY_ENTRY_RESOURCE        2   // Resource Directory\n#define IMAGE_DIRECTORY_ENTRY_EXCEPTION       3   // Exception Directory\n#define IMAGE_DIRECTORY_ENTRY_SECURITY        4   // Security Directory\n#define IMAGE_DIRECTORY_ENTRY_BASERELOC       5   // Base Relocation Table\n#define IMAGE_DIRECTORY_ENTRY_DEBUG           6   // Debug Directory\n//      IMAGE_DIRECTORY_ENTRY_COPYRIGHT       7   // (X86 usage)\n#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE    7   // Architecture Specific Data\n#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR       8   // RVA of GP\n#define IMAGE_DIRECTORY_ENTRY_TLS             9   // TLS Directory\n#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG    10   // Load Configuration Directory\n#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT   11   // Bound Import Directory in headers\n#define IMAGE_DIRECTORY_ENTRY_IAT            12   // Import Address Table\n#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT   13   // Delay Load Import Descriptors\n#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14   // COM Runtime descriptor\n\n//\n// Non-COFF Object file header\n//\n\ntypedef struct ANON_OBJECT_HEADER {\n    WORD    Sig1;            // Must be IMAGE_FILE_MACHINE_UNKNOWN\n    WORD    Sig2;            // Must be 0xffff\n    WORD    Version;         // >= 1 (implies the CLSID field is present)\n    WORD    Machine;\n    DWORD   TimeDateStamp;\n    CLSID   ClassID;         // Used to invoke CoCreateInstance\n    DWORD   SizeOfData;      // Size of data that follows the header\n} ANON_OBJECT_HEADER;\n\n//\n// Section header format.\n//\n\n#define IMAGE_SIZEOF_SHORT_NAME              8\n\ntypedef struct _IMAGE_SECTION_HEADER {\n    BYTE    Name[IMAGE_SIZEOF_SHORT_NAME];\n    union {\n            DWORD   PhysicalAddress;\n            DWORD   VirtualSize;\n    } Misc;\n    DWORD   VirtualAddress;\n    DWORD   SizeOfRawData;\n    DWORD   PointerToRawData;\n    DWORD   PointerToRelocations;\n    DWORD   PointerToLinenumbers;\n    WORD    NumberOfRelocations;\n    WORD    NumberOfLinenumbers;\n    DWORD   Characteristics;\n} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;\n\n#define IMAGE_SIZEOF_SECTION_HEADER          40\n\n//\n// Section characteristics.\n//\n//      IMAGE_SCN_TYPE_REG                   0x00000000  // Reserved.\n//      IMAGE_SCN_TYPE_DSECT                 0x00000001  // Reserved.\n//      IMAGE_SCN_TYPE_NOLOAD                0x00000002  // Reserved.\n//      IMAGE_SCN_TYPE_GROUP                 0x00000004  // Reserved.\n#define IMAGE_SCN_TYPE_NO_PAD                0x00000008  // Reserved.\n//      IMAGE_SCN_TYPE_COPY                  0x00000010  // Reserved.\n\n#define IMAGE_SCN_CNT_CODE                   0x00000020  // Section contains code.\n#define IMAGE_SCN_CNT_INITIALIZED_DATA       0x00000040  // Section contains initialized data.\n#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  // Section contains uninitialized data.\n\n#define IMAGE_SCN_LNK_OTHER                  0x00000100  // Reserved.\n#define IMAGE_SCN_LNK_INFO                   0x00000200  // Section contains comments or some other type of information.\n//      IMAGE_SCN_TYPE_OVER                  0x00000400  // Reserved.\n#define IMAGE_SCN_LNK_REMOVE                 0x00000800  // Section contents will not become part of image.\n#define IMAGE_SCN_LNK_COMDAT                 0x00001000  // Section contents comdat.\n//                                           0x00002000  // Reserved.\n//      IMAGE_SCN_MEM_PROTECTED - Obsolete   0x00004000\n#define IMAGE_SCN_NO_DEFER_SPEC_EXC          0x00004000  // Reset speculative exceptions handling bits in the TLB entries for this section.\n#define IMAGE_SCN_GPREL                      0x00008000  // Section content can be accessed relative to GP\n#define IMAGE_SCN_MEM_FARDATA                0x00008000\n//      IMAGE_SCN_MEM_SYSHEAP  - Obsolete    0x00010000\n#define IMAGE_SCN_MEM_PURGEABLE              0x00020000\n#define IMAGE_SCN_MEM_16BIT                  0x00020000\n#define IMAGE_SCN_MEM_LOCKED                 0x00040000\n#define IMAGE_SCN_MEM_PRELOAD                0x00080000\n\n#define IMAGE_SCN_ALIGN_1BYTES               0x00100000  //\n#define IMAGE_SCN_ALIGN_2BYTES               0x00200000  //\n#define IMAGE_SCN_ALIGN_4BYTES               0x00300000  //\n#define IMAGE_SCN_ALIGN_8BYTES               0x00400000  //\n#define IMAGE_SCN_ALIGN_16BYTES              0x00500000  // Default alignment if no others are specified.\n#define IMAGE_SCN_ALIGN_32BYTES              0x00600000  //\n#define IMAGE_SCN_ALIGN_64BYTES              0x00700000  //\n#define IMAGE_SCN_ALIGN_128BYTES             0x00800000  //\n#define IMAGE_SCN_ALIGN_256BYTES             0x00900000  //\n#define IMAGE_SCN_ALIGN_512BYTES             0x00A00000  //\n#define IMAGE_SCN_ALIGN_1024BYTES            0x00B00000  //\n#define IMAGE_SCN_ALIGN_2048BYTES            0x00C00000  //\n#define IMAGE_SCN_ALIGN_4096BYTES            0x00D00000  //\n#define IMAGE_SCN_ALIGN_8192BYTES            0x00E00000  //\n// Unused                                    0x00F00000\n#define IMAGE_SCN_ALIGN_MASK                 0x00F00000\n\n#define IMAGE_SCN_LNK_NRELOC_OVFL            0x01000000  // Section contains extended relocations.\n#define IMAGE_SCN_MEM_DISCARDABLE            0x02000000  // Section can be discarded.\n#define IMAGE_SCN_MEM_NOT_CACHED             0x04000000  // Section is not cachable.\n#define IMAGE_SCN_MEM_NOT_PAGED              0x08000000  // Section is not pageable.\n#define IMAGE_SCN_MEM_SHARED                 0x10000000  // Section is shareable.\n#define IMAGE_SCN_MEM_EXECUTE                0x20000000  // Section is executable.\n#define IMAGE_SCN_MEM_READ                   0x40000000  // Section is readable.\n#define IMAGE_SCN_MEM_WRITE                  0x80000000  // Section is writeable.\n\n//\n// TLS Chaacteristic Flags\n//\n#define IMAGE_SCN_SCALE_INDEX                0x00000001  // Tls index is scaled\n\n#ifndef _MAC\n#include \"pshpack2.h\"                       // Symbols, relocs, and linenumbers are 2 byte packed\n#endif\n\n//\n// Symbol format.\n//\n\ntypedef struct _IMAGE_SYMBOL {\n    union {\n        BYTE    ShortName[8];\n        struct {\n            DWORD   Short;     // if 0, use LongName\n            DWORD   Long;      // offset into string table\n        } Name;\n        DWORD   LongName[2];    // PBYTE [2]\n    } N;\n    DWORD   Value;\n    SHORT   SectionNumber;\n    WORD    Type;\n    BYTE    StorageClass;\n    BYTE    NumberOfAuxSymbols;\n} IMAGE_SYMBOL;\ntypedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL;\n\n\n#define IMAGE_SIZEOF_SYMBOL                  18\n\n//\n// Section values.\n//\n// Symbols have a section number of the section in which they are\n// defined. Otherwise, section numbers have the following meanings:\n//\n\n#define IMAGE_SYM_UNDEFINED           (SHORT)0          // Symbol is undefined or is common.\n#define IMAGE_SYM_ABSOLUTE            (SHORT)-1         // Symbol is an absolute value.\n#define IMAGE_SYM_DEBUG               (SHORT)-2         // Symbol is a special debug item.\n#define IMAGE_SYM_SECTION_MAX         0xFEFF            // Values 0xFF00-0xFFFF are special\n\n//\n// Type (fundamental) values.\n//\n\n#define IMAGE_SYM_TYPE_NULL                 0x0000  // no type.\n#define IMAGE_SYM_TYPE_VOID                 0x0001  //\n#define IMAGE_SYM_TYPE_CHAR                 0x0002  // type character.\n#define IMAGE_SYM_TYPE_SHORT                0x0003  // type short integer.\n#define IMAGE_SYM_TYPE_INT                  0x0004  //\n#define IMAGE_SYM_TYPE_LONG                 0x0005  //\n#define IMAGE_SYM_TYPE_FLOAT                0x0006  //\n#define IMAGE_SYM_TYPE_DOUBLE               0x0007  //\n#define IMAGE_SYM_TYPE_STRUCT               0x0008  //\n#define IMAGE_SYM_TYPE_UNION                0x0009  //\n#define IMAGE_SYM_TYPE_ENUM                 0x000A  // enumeration.\n#define IMAGE_SYM_TYPE_MOE                  0x000B  // member of enumeration.\n#define IMAGE_SYM_TYPE_BYTE                 0x000C  //\n#define IMAGE_SYM_TYPE_WORD                 0x000D  //\n#define IMAGE_SYM_TYPE_UINT                 0x000E  //\n#define IMAGE_SYM_TYPE_DWORD                0x000F  //\n#define IMAGE_SYM_TYPE_PCODE                0x8000  //\n//\n// Type (derived) values.\n//\n\n#define IMAGE_SYM_DTYPE_NULL                0       // no derived type.\n#define IMAGE_SYM_DTYPE_POINTER             1       // pointer.\n#define IMAGE_SYM_DTYPE_FUNCTION            2       // function.\n#define IMAGE_SYM_DTYPE_ARRAY               3       // array.\n\n//\n// Storage classes.\n//\n#define IMAGE_SYM_CLASS_END_OF_FUNCTION     (BYTE )-1\n#define IMAGE_SYM_CLASS_NULL                0x0000\n#define IMAGE_SYM_CLASS_AUTOMATIC           0x0001\n#define IMAGE_SYM_CLASS_EXTERNAL            0x0002\n#define IMAGE_SYM_CLASS_STATIC              0x0003\n#define IMAGE_SYM_CLASS_REGISTER            0x0004\n#define IMAGE_SYM_CLASS_EXTERNAL_DEF        0x0005\n#define IMAGE_SYM_CLASS_LABEL               0x0006\n#define IMAGE_SYM_CLASS_UNDEFINED_LABEL     0x0007\n#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT    0x0008\n#define IMAGE_SYM_CLASS_ARGUMENT            0x0009\n#define IMAGE_SYM_CLASS_STRUCT_TAG          0x000A\n#define IMAGE_SYM_CLASS_MEMBER_OF_UNION     0x000B\n#define IMAGE_SYM_CLASS_UNION_TAG           0x000C\n#define IMAGE_SYM_CLASS_TYPE_DEFINITION     0x000D\n#define IMAGE_SYM_CLASS_UNDEFINED_STATIC    0x000E\n#define IMAGE_SYM_CLASS_ENUM_TAG            0x000F\n#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM      0x0010\n#define IMAGE_SYM_CLASS_REGISTER_PARAM      0x0011\n#define IMAGE_SYM_CLASS_BIT_FIELD           0x0012\n\n#define IMAGE_SYM_CLASS_FAR_EXTERNAL        0x0044  //\n\n#define IMAGE_SYM_CLASS_BLOCK               0x0064\n#define IMAGE_SYM_CLASS_FUNCTION            0x0065\n#define IMAGE_SYM_CLASS_END_OF_STRUCT       0x0066\n#define IMAGE_SYM_CLASS_FILE                0x0067\n// new\n#define IMAGE_SYM_CLASS_SECTION             0x0068\n#define IMAGE_SYM_CLASS_WEAK_EXTERNAL       0x0069\n\n#define IMAGE_SYM_CLASS_CLR_TOKEN           0x006B\n\n// type packing constants\n\n#define N_BTMASK                            0x000F\n#define N_TMASK                             0x0030\n#define N_TMASK1                            0x00C0\n#define N_TMASK2                            0x00F0\n#define N_BTSHFT                            4\n#define N_TSHIFT                            2\n// MACROS\n\n// Basic Type of  x\n#define BTYPE(x) ((x) & N_BTMASK)\n\n// Is x a pointer?\n#ifndef ISPTR\n#define ISPTR(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT))\n#endif\n\n// Is x a function?\n#ifndef ISFCN\n#define ISFCN(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT))\n#endif\n\n// Is x an array?\n\n#ifndef ISARY\n#define ISARY(x) (((x) & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT))\n#endif\n\n// Is x a structure, union, or enumeration TAG?\n#ifndef ISTAG\n#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG || (x)==IMAGE_SYM_CLASS_UNION_TAG || (x)==IMAGE_SYM_CLASS_ENUM_TAG)\n#endif\n\n#ifndef INCREF\n#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))\n#endif\n#ifndef DECREF\n#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))\n#endif\n\n//\n// Auxiliary entry format.\n//\n\ntypedef union _IMAGE_AUX_SYMBOL {\n    struct {\n        DWORD    TagIndex;                      // struct, union, or enum tag index\n        union {\n            struct {\n                WORD    Linenumber;             // declaration line number\n                WORD    Size;                   // size of struct, union, or enum\n            } LnSz;\n           DWORD    TotalSize;\n        } Misc;\n        union {\n            struct {                            // if ISFCN, tag, or .bb\n                DWORD    PointerToLinenumber;\n                DWORD    PointerToNextFunction;\n            } Function;\n            struct {                            // if ISARY, up to 4 dimen.\n                WORD     Dimension[4];\n            } Array;\n        } FcnAry;\n        WORD    TvIndex;                        // tv index\n    } Sym;\n    struct {\n        BYTE    Name[IMAGE_SIZEOF_SYMBOL];\n    } File;\n    struct {\n        DWORD   Length;                         // section length\n        WORD    NumberOfRelocations;            // number of relocation entries\n        WORD    NumberOfLinenumbers;            // number of line numbers\n        DWORD   CheckSum;                       // checksum for communal\n        SHORT   Number;                         // section number to associate with\n        BYTE    Selection;                      // communal selection type\n    } Section;\n} IMAGE_AUX_SYMBOL;\ntypedef IMAGE_AUX_SYMBOL UNALIGNED *PIMAGE_AUX_SYMBOL;\n\n#define IMAGE_SIZEOF_AUX_SYMBOL             18\n\ntypedef enum IMAGE_AUX_SYMBOL_TYPE {\n    IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1,\n} IMAGE_AUX_SYMBOL_TYPE;\n\n#include <pshpack2.h>\n\ntypedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF {\n    BYTE  bAuxType;                  // IMAGE_AUX_SYMBOL_TYPE\n    BYTE  bReserved;                 // Must be 0\n    DWORD SymbolTableIndex;\n    BYTE  rgbReserved[12];           // Must be 0\n} IMAGE_AUX_SYMBOL_TOKEN_DEF;\n\ntypedef IMAGE_AUX_SYMBOL_TOKEN_DEF UNALIGNED *PIMAGE_AUX_SYMBOL_TOKEN_DEF;\n\n#include <poppack.h>\n\n//\n// Communal selection types.\n//\n\n#define IMAGE_COMDAT_SELECT_NODUPLICATES    1\n#define IMAGE_COMDAT_SELECT_ANY             2\n#define IMAGE_COMDAT_SELECT_SAME_SIZE       3\n#define IMAGE_COMDAT_SELECT_EXACT_MATCH     4\n#define IMAGE_COMDAT_SELECT_ASSOCIATIVE     5\n#define IMAGE_COMDAT_SELECT_LARGEST         6\n#define IMAGE_COMDAT_SELECT_NEWEST          7\n\n#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY  1\n#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY    2\n#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS      3\n\n//\n// Relocation format.\n//\n\ntypedef struct _IMAGE_RELOCATION {\n    union {\n        DWORD   VirtualAddress;\n        DWORD   RelocCount;             // Set to the real count when IMAGE_SCN_LNK_NRELOC_OVFL is set\n    };\n    DWORD   SymbolTableIndex;\n    WORD    Type;\n} IMAGE_RELOCATION;\ntypedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION;\n\n#define IMAGE_SIZEOF_RELOCATION         10\n\n//\n// I386 relocation types.\n//\n#define IMAGE_REL_I386_ABSOLUTE         0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_I386_DIR16            0x0001  // Direct 16-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_REL16            0x0002  // PC-relative 16-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_DIR32            0x0006  // Direct 32-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_DIR32NB          0x0007  // Direct 32-bit reference to the symbols virtual address, base not included\n#define IMAGE_REL_I386_SEG12            0x0009  // Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address\n#define IMAGE_REL_I386_SECTION          0x000A\n#define IMAGE_REL_I386_SECREL           0x000B\n#define IMAGE_REL_I386_TOKEN            0x000C  // clr token\n#define IMAGE_REL_I386_SECREL7          0x000D  // 7 bit offset from base of section containing target\n#define IMAGE_REL_I386_REL32            0x0014  // PC-relative 32-bit reference to the symbols virtual address\n\n//\n// MIPS relocation types.\n//\n#define IMAGE_REL_MIPS_ABSOLUTE         0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_MIPS_REFHALF          0x0001\n#define IMAGE_REL_MIPS_REFWORD          0x0002\n#define IMAGE_REL_MIPS_JMPADDR          0x0003\n#define IMAGE_REL_MIPS_REFHI            0x0004\n#define IMAGE_REL_MIPS_REFLO            0x0005\n#define IMAGE_REL_MIPS_GPREL            0x0006\n#define IMAGE_REL_MIPS_LITERAL          0x0007\n#define IMAGE_REL_MIPS_SECTION          0x000A\n#define IMAGE_REL_MIPS_SECREL           0x000B\n#define IMAGE_REL_MIPS_SECRELLO         0x000C  // Low 16-bit section relative referemce (used for >32k TLS)\n#define IMAGE_REL_MIPS_SECRELHI         0x000D  // High 16-bit section relative reference (used for >32k TLS)\n#define IMAGE_REL_MIPS_TOKEN            0x000E  // clr token\n#define IMAGE_REL_MIPS_JMPADDR16        0x0010\n#define IMAGE_REL_MIPS_REFWORDNB        0x0022\n#define IMAGE_REL_MIPS_PAIR             0x0025\n\n//\n// Alpha Relocation types.\n//\n#define IMAGE_REL_ALPHA_ABSOLUTE        0x0000\n#define IMAGE_REL_ALPHA_REFLONG         0x0001\n#define IMAGE_REL_ALPHA_REFQUAD         0x0002\n#define IMAGE_REL_ALPHA_GPREL32         0x0003\n#define IMAGE_REL_ALPHA_LITERAL         0x0004\n#define IMAGE_REL_ALPHA_LITUSE          0x0005\n#define IMAGE_REL_ALPHA_GPDISP          0x0006\n#define IMAGE_REL_ALPHA_BRADDR          0x0007\n#define IMAGE_REL_ALPHA_HINT            0x0008\n#define IMAGE_REL_ALPHA_INLINE_REFLONG  0x0009\n#define IMAGE_REL_ALPHA_REFHI           0x000A\n#define IMAGE_REL_ALPHA_REFLO           0x000B\n#define IMAGE_REL_ALPHA_PAIR            0x000C\n#define IMAGE_REL_ALPHA_MATCH           0x000D\n#define IMAGE_REL_ALPHA_SECTION         0x000E\n#define IMAGE_REL_ALPHA_SECREL          0x000F\n#define IMAGE_REL_ALPHA_REFLONGNB       0x0010\n#define IMAGE_REL_ALPHA_SECRELLO        0x0011  // Low 16-bit section relative reference\n#define IMAGE_REL_ALPHA_SECRELHI        0x0012  // High 16-bit section relative reference\n#define IMAGE_REL_ALPHA_REFQ3           0x0013  // High 16 bits of 48 bit reference\n#define IMAGE_REL_ALPHA_REFQ2           0x0014  // Middle 16 bits of 48 bit reference\n#define IMAGE_REL_ALPHA_REFQ1           0x0015  // Low 16 bits of 48 bit reference\n#define IMAGE_REL_ALPHA_GPRELLO         0x0016  // Low 16-bit GP relative reference\n#define IMAGE_REL_ALPHA_GPRELHI         0x0017  // High 16-bit GP relative reference\n\n//\n// IBM PowerPC relocation types.\n//\n#define IMAGE_REL_PPC_ABSOLUTE          0x0000  // NOP\n#define IMAGE_REL_PPC_ADDR64            0x0001  // 64-bit address\n#define IMAGE_REL_PPC_ADDR32            0x0002  // 32-bit address\n#define IMAGE_REL_PPC_ADDR24            0x0003  // 26-bit address, shifted left 2 (branch absolute)\n#define IMAGE_REL_PPC_ADDR16            0x0004  // 16-bit address\n#define IMAGE_REL_PPC_ADDR14            0x0005  // 16-bit address, shifted left 2 (load doubleword)\n#define IMAGE_REL_PPC_REL24             0x0006  // 26-bit PC-relative offset, shifted left 2 (branch relative)\n#define IMAGE_REL_PPC_REL14             0x0007  // 16-bit PC-relative offset, shifted left 2 (br cond relative)\n#define IMAGE_REL_PPC_TOCREL16          0x0008  // 16-bit offset from TOC base\n#define IMAGE_REL_PPC_TOCREL14          0x0009  // 16-bit offset from TOC base, shifted left 2 (load doubleword)\n\n#define IMAGE_REL_PPC_ADDR32NB          0x000A  // 32-bit addr w/o image base\n#define IMAGE_REL_PPC_SECREL            0x000B  // va of containing section (as in an image sectionhdr)\n#define IMAGE_REL_PPC_SECTION           0x000C  // sectionheader number\n#define IMAGE_REL_PPC_IFGLUE            0x000D  // substitute TOC restore instruction iff symbol is glue code\n#define IMAGE_REL_PPC_IMGLUE            0x000E  // symbol is glue code; virtual address is TOC restore instruction\n#define IMAGE_REL_PPC_SECREL16          0x000F  // va of containing section (limited to 16 bits)\n#define IMAGE_REL_PPC_REFHI             0x0010\n#define IMAGE_REL_PPC_REFLO             0x0011\n#define IMAGE_REL_PPC_PAIR              0x0012\n#define IMAGE_REL_PPC_SECRELLO          0x0013  // Low 16-bit section relative reference (used for >32k TLS)\n#define IMAGE_REL_PPC_SECRELHI          0x0014  // High 16-bit section relative reference (used for >32k TLS)\n#define IMAGE_REL_PPC_GPREL             0x0015\n#define IMAGE_REL_PPC_TOKEN             0x0016  // clr token\n\n#define IMAGE_REL_PPC_TYPEMASK          0x00FF  // mask to isolate above values in IMAGE_RELOCATION.Type\n\n// Flag bits in IMAGE_RELOCATION.TYPE\n\n#define IMAGE_REL_PPC_NEG               0x0100  // subtract reloc value rather than adding it\n#define IMAGE_REL_PPC_BRTAKEN           0x0200  // fix branch prediction bit to predict branch taken\n#define IMAGE_REL_PPC_BRNTAKEN          0x0400  // fix branch prediction bit to predict branch not taken\n#define IMAGE_REL_PPC_TOCDEFN           0x0800  // toc slot defined in file (or, data in toc)\n\n//\n// Hitachi SH3 relocation types.\n//\n#define IMAGE_REL_SH3_ABSOLUTE          0x0000  // No relocation\n#define IMAGE_REL_SH3_DIRECT16          0x0001  // 16 bit direct\n#define IMAGE_REL_SH3_DIRECT32          0x0002  // 32 bit direct\n#define IMAGE_REL_SH3_DIRECT8           0x0003  // 8 bit direct, -128..255\n#define IMAGE_REL_SH3_DIRECT8_WORD      0x0004  // 8 bit direct .W (0 ext.)\n#define IMAGE_REL_SH3_DIRECT8_LONG      0x0005  // 8 bit direct .L (0 ext.)\n#define IMAGE_REL_SH3_DIRECT4           0x0006  // 4 bit direct (0 ext.)\n#define IMAGE_REL_SH3_DIRECT4_WORD      0x0007  // 4 bit direct .W (0 ext.)\n#define IMAGE_REL_SH3_DIRECT4_LONG      0x0008  // 4 bit direct .L (0 ext.)\n#define IMAGE_REL_SH3_PCREL8_WORD       0x0009  // 8 bit PC relative .W\n#define IMAGE_REL_SH3_PCREL8_LONG       0x000A  // 8 bit PC relative .L\n#define IMAGE_REL_SH3_PCREL12_WORD      0x000B  // 12 LSB PC relative .W\n#define IMAGE_REL_SH3_STARTOF_SECTION   0x000C  // Start of EXE section\n#define IMAGE_REL_SH3_SIZEOF_SECTION    0x000D  // Size of EXE section\n#define IMAGE_REL_SH3_SECTION           0x000E  // Section table index\n#define IMAGE_REL_SH3_SECREL            0x000F  // Offset within section\n#define IMAGE_REL_SH3_DIRECT32_NB       0x0010  // 32 bit direct not based\n#define IMAGE_REL_SH3_GPREL4_LONG       0x0011  // GP-relative addressing\n#define IMAGE_REL_SH3_TOKEN             0x0012  // clr token\n\n#define IMAGE_REL_ARM_ABSOLUTE          0x0000  // No relocation required\n#define IMAGE_REL_ARM_ADDR32            0x0001  // 32 bit address\n#define IMAGE_REL_ARM_ADDR32NB          0x0002  // 32 bit address w/o image base\n#define IMAGE_REL_ARM_BRANCH24          0x0003  // 24 bit offset << 2 & sign ext.\n#define IMAGE_REL_ARM_BRANCH11          0x0004  // Thumb: 2 11 bit offsets\n#define IMAGE_REL_ARM_TOKEN             0x0005  // clr token\n#define IMAGE_REL_ARM_GPREL12           0x0006  // GP-relative addressing (ARM)\n#define IMAGE_REL_ARM_GPREL7            0x0007  // GP-relative addressing (Thumb)\n#define IMAGE_REL_ARM_BLX24             0x0008\n#define IMAGE_REL_ARM_BLX11             0x0009\n#define IMAGE_REL_ARM_SECTION           0x000E  // Section table index\n#define IMAGE_REL_ARM_SECREL            0x000F  // Offset within section\n\n#define IMAGE_REL_AM_ABSOLUTE           0x0000\n#define IMAGE_REL_AM_ADDR32             0x0001\n#define IMAGE_REL_AM_ADDR32NB           0x0002\n#define IMAGE_REL_AM_CALL32             0x0003\n#define IMAGE_REL_AM_FUNCINFO           0x0004\n#define IMAGE_REL_AM_REL32_1            0x0005\n#define IMAGE_REL_AM_REL32_2            0x0006\n#define IMAGE_REL_AM_SECREL             0x0007\n#define IMAGE_REL_AM_SECTION            0x0008\n#define IMAGE_REL_AM_TOKEN              0x0009\n\n//\n// X86-64 relocations\n//\n#define IMAGE_REL_AMD64_ABSOLUTE        0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_AMD64_ADDR64          0x0001  // 64-bit address (VA).\n#define IMAGE_REL_AMD64_ADDR32          0x0002  // 32-bit address (VA).\n#define IMAGE_REL_AMD64_ADDR32NB        0x0003  // 32-bit address w/o image base (RVA).\n#define IMAGE_REL_AMD64_REL32           0x0004  // 32-bit relative address from byte following reloc\n#define IMAGE_REL_AMD64_REL32_1         0x0005  // 32-bit relative address from byte distance 1 from reloc\n#define IMAGE_REL_AMD64_REL32_2         0x0006  // 32-bit relative address from byte distance 2 from reloc\n#define IMAGE_REL_AMD64_REL32_3         0x0007  // 32-bit relative address from byte distance 3 from reloc\n#define IMAGE_REL_AMD64_REL32_4         0x0008  // 32-bit relative address from byte distance 4 from reloc\n#define IMAGE_REL_AMD64_REL32_5         0x0009  // 32-bit relative address from byte distance 5 from reloc\n#define IMAGE_REL_AMD64_SECTION         0x000A  // Section index\n#define IMAGE_REL_AMD64_SECREL          0x000B  // 32 bit offset from base of section containing target\n#define IMAGE_REL_AMD64_SECREL7         0x000C  // 7 bit unsigned offset from base of section containing target\n#define IMAGE_REL_AMD64_TOKEN           0x000D  // 32 bit metadata token\n\n//\n// IA64 relocation types.\n//\n#define IMAGE_REL_IA64_ABSOLUTE         0x0000\n#define IMAGE_REL_IA64_IMM14            0x0001\n#define IMAGE_REL_IA64_IMM22            0x0002\n#define IMAGE_REL_IA64_IMM64            0x0003\n#define IMAGE_REL_IA64_DIR32            0x0004\n#define IMAGE_REL_IA64_DIR64            0x0005\n#define IMAGE_REL_IA64_PCREL21B         0x0006\n#define IMAGE_REL_IA64_PCREL21M         0x0007\n#define IMAGE_REL_IA64_PCREL21F         0x0008\n#define IMAGE_REL_IA64_GPREL22          0x0009\n#define IMAGE_REL_IA64_LTOFF22          0x000A\n#define IMAGE_REL_IA64_SECTION          0x000B\n#define IMAGE_REL_IA64_SECREL22         0x000C\n#define IMAGE_REL_IA64_SECREL64I        0x000D\n#define IMAGE_REL_IA64_SECREL32         0x000E\n// \n#define IMAGE_REL_IA64_DIR32NB          0x0010\n#define IMAGE_REL_IA64_SREL14           0x0011\n#define IMAGE_REL_IA64_SREL22           0x0012\n#define IMAGE_REL_IA64_SREL32           0x0013\n#define IMAGE_REL_IA64_UREL32           0x0014\n#define IMAGE_REL_IA64_PCREL60X         0x0015  // This is always a BRL and never converted\n#define IMAGE_REL_IA64_PCREL60B         0x0016  // If possible, convert to MBB bundle with NOP.B in slot 1\n#define IMAGE_REL_IA64_PCREL60F         0x0017  // If possible, convert to MFB bundle with NOP.F in slot 1\n#define IMAGE_REL_IA64_PCREL60I         0x0018  // If possible, convert to MIB bundle with NOP.I in slot 1\n#define IMAGE_REL_IA64_PCREL60M         0x0019  // If possible, convert to MMB bundle with NOP.M in slot 1\n#define IMAGE_REL_IA64_IMMGPREL64       0x001A\n#define IMAGE_REL_IA64_TOKEN            0x001B  // clr token\n#define IMAGE_REL_IA64_GPREL32          0x001C\n#define IMAGE_REL_IA64_ADDEND           0x001F\n\n//\n// CEF relocation types.\n//\n#define IMAGE_REL_CEF_ABSOLUTE          0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_CEF_ADDR32            0x0001  // 32-bit address (VA).\n#define IMAGE_REL_CEF_ADDR64            0x0002  // 64-bit address (VA).\n#define IMAGE_REL_CEF_ADDR32NB          0x0003  // 32-bit address w/o image base (RVA).\n#define IMAGE_REL_CEF_SECTION           0x0004  // Section index\n#define IMAGE_REL_CEF_SECREL            0x0005  // 32 bit offset from base of section containing target\n#define IMAGE_REL_CEF_TOKEN             0x0006  // 32 bit metadata token\n\n//\n// clr relocation types.\n//\n#define IMAGE_REL_CEE_ABSOLUTE          0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_CEE_ADDR32            0x0001  // 32-bit address (VA).\n#define IMAGE_REL_CEE_ADDR64            0x0002  // 64-bit address (VA).\n#define IMAGE_REL_CEE_ADDR32NB          0x0003  // 32-bit address w/o image base (RVA).\n#define IMAGE_REL_CEE_SECTION           0x0004  // Section index\n#define IMAGE_REL_CEE_SECREL            0x0005  // 32 bit offset from base of section containing target\n#define IMAGE_REL_CEE_TOKEN             0x0006  // 32 bit metadata token\n\n\n#define IMAGE_REL_M32R_ABSOLUTE       0x0000   // No relocation required\n#define IMAGE_REL_M32R_ADDR32         0x0001   // 32 bit address\n#define IMAGE_REL_M32R_ADDR32NB       0x0002   // 32 bit address w/o image base\n#define IMAGE_REL_M32R_ADDR24         0x0003   // 24 bit address\n#define IMAGE_REL_M32R_GPREL16        0x0004   // GP relative addressing\n#define IMAGE_REL_M32R_PCREL24        0x0005   // 24 bit offset << 2 & sign ext.\n#define IMAGE_REL_M32R_PCREL16        0x0006   // 16 bit offset << 2 & sign ext.\n#define IMAGE_REL_M32R_PCREL8         0x0007   // 8 bit offset << 2 & sign ext.\n#define IMAGE_REL_M32R_REFHALF        0x0008   // 16 MSBs\n#define IMAGE_REL_M32R_REFHI          0x0009   // 16 MSBs; adj for LSB sign ext.\n#define IMAGE_REL_M32R_REFLO          0x000A   // 16 LSBs\n#define IMAGE_REL_M32R_PAIR           0x000B   // Link HI and LO\n#define IMAGE_REL_M32R_SECTION        0x000C   // Section table index\n#define IMAGE_REL_M32R_SECREL32       0x000D   // 32 bit section relative reference\n#define IMAGE_REL_M32R_TOKEN          0x000E   // clr token\n\n\n#define EXT_IMM64(Value, Address, Size, InstPos, ValPos)  /* Intel-IA64-Filler */           \\\n    Value |= (((ULONGLONG)((*(Address) >> InstPos) & (((ULONGLONG)1 << Size) - 1))) << ValPos)  // Intel-IA64-Filler\n\n#define INS_IMM64(Value, Address, Size, InstPos, ValPos)  /* Intel-IA64-Filler */\\\n    *(PDWORD)Address = (*(PDWORD)Address & ~(((1 << Size) - 1) << InstPos)) | /* Intel-IA64-Filler */\\\n          ((DWORD)((((ULONGLONG)Value >> ValPos) & (((ULONGLONG)1 << Size) - 1))) << InstPos)  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM7B_INST_WORD_X         3  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM7B_SIZE_X              7  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X     4  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM7B_VAL_POS_X           0  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM9D_INST_WORD_X         3  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM9D_SIZE_X              9  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X     18  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM9D_VAL_POS_X           7  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM5C_INST_WORD_X         3  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM5C_SIZE_X              5  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X     13  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM5C_VAL_POS_X           16  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IC_INST_WORD_X            3  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IC_SIZE_X                 1  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IC_INST_WORD_POS_X        12  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IC_VAL_POS_X              21  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM41a_INST_WORD_X        1  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41a_SIZE_X             10  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X    14  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41a_VAL_POS_X          22  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM41b_INST_WORD_X        1  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41b_SIZE_X             8  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X    24  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41b_VAL_POS_X          32  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_IMM41c_INST_WORD_X        2  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41c_SIZE_X             23  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X    0  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_IMM41c_VAL_POS_X          40  // Intel-IA64-Filler\n\n#define EMARCH_ENC_I17_SIGN_INST_WORD_X          3  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_SIGN_SIZE_X               1  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_SIGN_INST_WORD_POS_X      27  // Intel-IA64-Filler\n#define EMARCH_ENC_I17_SIGN_VAL_POS_X            63  // Intel-IA64-Filler\n\n\n//\n// Line number format.\n//\n\ntypedef struct _IMAGE_LINENUMBER {\n    union {\n        DWORD   SymbolTableIndex;               // Symbol table index of function name if Linenumber is 0.\n        DWORD   VirtualAddress;                 // Virtual address of line number.\n    } Type;\n    WORD    Linenumber;                         // Line number.\n} IMAGE_LINENUMBER;\ntypedef IMAGE_LINENUMBER UNALIGNED *PIMAGE_LINENUMBER;\n\n#define IMAGE_SIZEOF_LINENUMBER              6\n\n#ifndef _MAC\n#include \"poppack.h\"                        // Back to 4 byte packing\n#endif\n\n//\n// Based relocation format.\n//\n\ntypedef struct _IMAGE_BASE_RELOCATION {\n    DWORD   VirtualAddress;\n    DWORD   SizeOfBlock;\n//  WORD    TypeOffset[1];\n} IMAGE_BASE_RELOCATION;\ntypedef IMAGE_BASE_RELOCATION UNALIGNED * PIMAGE_BASE_RELOCATION;\n\n#define IMAGE_SIZEOF_BASE_RELOCATION         8\n\n//\n// Based relocation types.\n//\n\n#define IMAGE_REL_BASED_ABSOLUTE              0\n#define IMAGE_REL_BASED_HIGH                  1\n#define IMAGE_REL_BASED_LOW                   2\n#define IMAGE_REL_BASED_HIGHLOW               3\n#define IMAGE_REL_BASED_HIGHADJ               4\n#define IMAGE_REL_BASED_MIPS_JMPADDR          5\n#define IMAGE_REL_BASED_MIPS_JMPADDR16        9\n#define IMAGE_REL_BASED_IA64_IMM64            9\n#define IMAGE_REL_BASED_DIR64                 10\n\n\n//\n// Archive format.\n//\n\n#define IMAGE_ARCHIVE_START_SIZE             8\n#define IMAGE_ARCHIVE_START                  \"!<arch>\\n\"\n#define IMAGE_ARCHIVE_END                    \"`\\n\"\n#define IMAGE_ARCHIVE_PAD                    \"\\n\"\n#define IMAGE_ARCHIVE_LINKER_MEMBER          \"/               \"\n#define IMAGE_ARCHIVE_LONGNAMES_MEMBER       \"//              \"\n\ntypedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {\n    BYTE     Name[16];                          // File member name - `/' terminated.\n    BYTE     Date[12];                          // File member date - decimal.\n    BYTE     UserID[6];                         // File member user id - decimal.\n    BYTE     GroupID[6];                        // File member group id - decimal.\n    BYTE     Mode[8];                           // File member mode - octal.\n    BYTE     Size[10];                          // File member size - decimal.\n    BYTE     EndHeader[2];                      // String to end header.\n} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;\n\n#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR      60\n\n//\n// DLL support.\n//\n\n//\n// Export Format\n//\n\ntypedef struct _IMAGE_EXPORT_DIRECTORY {\n    DWORD   Characteristics;\n    DWORD   TimeDateStamp;\n    WORD    MajorVersion;\n    WORD    MinorVersion;\n    DWORD   Name;\n    DWORD   Base;\n    DWORD   NumberOfFunctions;\n    DWORD   NumberOfNames;\n    DWORD   AddressOfFunctions;     // RVA from base of image\n    DWORD   AddressOfNames;         // RVA from base of image\n    DWORD   AddressOfNameOrdinals;  // RVA from base of image\n} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;\n\n//\n// Import Format\n//\n\ntypedef struct _IMAGE_IMPORT_BY_NAME {\n    WORD    Hint;\n    BYTE    Name[1];\n} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;\n\n#include \"pshpack8.h\"                       // Use align 8 for the 64-bit IAT.\n\ntypedef struct _IMAGE_THUNK_DATA64 {\n    union {\n        ULONGLONG ForwarderString;  // PBYTE \n        ULONGLONG Function;         // PDWORD\n        ULONGLONG Ordinal;\n        ULONGLONG AddressOfData;    // PIMAGE_IMPORT_BY_NAME\n    } u1;\n} IMAGE_THUNK_DATA64;\ntypedef IMAGE_THUNK_DATA64 * PIMAGE_THUNK_DATA64;\n\n#include \"poppack.h\"                        // Back to 4 byte packing\n\ntypedef struct _IMAGE_THUNK_DATA32 {\n    union {\n        DWORD ForwarderString;      // PBYTE \n        DWORD Function;             // PDWORD\n        DWORD Ordinal;\n        DWORD AddressOfData;        // PIMAGE_IMPORT_BY_NAME\n    } u1;\n} IMAGE_THUNK_DATA32;\ntypedef IMAGE_THUNK_DATA32 * PIMAGE_THUNK_DATA32;\n\n#define IMAGE_ORDINAL_FLAG64 0x8000000000000000\n#define IMAGE_ORDINAL_FLAG32 0x80000000\n#define IMAGE_ORDINAL64(Ordinal) (Ordinal & 0xffff)\n#define IMAGE_ORDINAL32(Ordinal) (Ordinal & 0xffff)\n#define IMAGE_SNAP_BY_ORDINAL64(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG64) != 0)\n#define IMAGE_SNAP_BY_ORDINAL32(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG32) != 0)\n\n//\n// Thread Local Storage\n//\n\ntypedef VOID\n(NTAPI *PIMAGE_TLS_CALLBACK) (\n    PVOID DllHandle,\n    DWORD Reason,\n    PVOID Reserved\n    );\n\ntypedef struct _IMAGE_TLS_DIRECTORY64 {\n    ULONGLONG   StartAddressOfRawData;\n    ULONGLONG   EndAddressOfRawData;\n    ULONGLONG   AddressOfIndex;         // PDWORD\n    ULONGLONG   AddressOfCallBacks;     // PIMAGE_TLS_CALLBACK *;\n    DWORD   SizeOfZeroFill;\n    DWORD   Characteristics;\n} IMAGE_TLS_DIRECTORY64;\ntypedef IMAGE_TLS_DIRECTORY64 * PIMAGE_TLS_DIRECTORY64;\n\ntypedef struct _IMAGE_TLS_DIRECTORY32 {\n    DWORD   StartAddressOfRawData;\n    DWORD   EndAddressOfRawData;\n    DWORD   AddressOfIndex;             // PDWORD\n    DWORD   AddressOfCallBacks;         // PIMAGE_TLS_CALLBACK *\n    DWORD   SizeOfZeroFill;\n    DWORD   Characteristics;\n} IMAGE_TLS_DIRECTORY32;\ntypedef IMAGE_TLS_DIRECTORY32 * PIMAGE_TLS_DIRECTORY32;\n\n#ifdef _WIN64\n#define IMAGE_ORDINAL_FLAG              IMAGE_ORDINAL_FLAG64\n#define IMAGE_ORDINAL(Ordinal)          IMAGE_ORDINAL64(Ordinal)\ntypedef IMAGE_THUNK_DATA64              IMAGE_THUNK_DATA;\ntypedef PIMAGE_THUNK_DATA64             PIMAGE_THUNK_DATA;\n#define IMAGE_SNAP_BY_ORDINAL(Ordinal)  IMAGE_SNAP_BY_ORDINAL64(Ordinal)\ntypedef IMAGE_TLS_DIRECTORY64           IMAGE_TLS_DIRECTORY;\ntypedef PIMAGE_TLS_DIRECTORY64          PIMAGE_TLS_DIRECTORY;\n#else\n#define IMAGE_ORDINAL_FLAG              IMAGE_ORDINAL_FLAG32\n#define IMAGE_ORDINAL(Ordinal)          IMAGE_ORDINAL32(Ordinal)\ntypedef IMAGE_THUNK_DATA32              IMAGE_THUNK_DATA;\ntypedef PIMAGE_THUNK_DATA32             PIMAGE_THUNK_DATA;\n#define IMAGE_SNAP_BY_ORDINAL(Ordinal)  IMAGE_SNAP_BY_ORDINAL32(Ordinal)\ntypedef IMAGE_TLS_DIRECTORY32           IMAGE_TLS_DIRECTORY;\ntypedef PIMAGE_TLS_DIRECTORY32          PIMAGE_TLS_DIRECTORY;\n#endif\n\ntypedef struct _IMAGE_IMPORT_DESCRIPTOR {\n    union {\n        DWORD   Characteristics;            // 0 for terminating null import descriptor\n        DWORD   OriginalFirstThunk;         // RVA to original unbound IAT (PIMAGE_THUNK_DATA)\n    };\n    DWORD   TimeDateStamp;                  // 0 if not bound,\n                                            // -1 if bound, and real date\\time stamp\n                                            //     in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)\n                                            // O.W. date/time stamp of DLL bound to (Old BIND)\n\n    DWORD   ForwarderChain;                 // -1 if no forwarders\n    DWORD   Name;\n    DWORD   FirstThunk;                     // RVA to IAT (if bound this IAT has actual addresses)\n} IMAGE_IMPORT_DESCRIPTOR;\ntypedef IMAGE_IMPORT_DESCRIPTOR UNALIGNED *PIMAGE_IMPORT_DESCRIPTOR;\n\n//\n// New format import descriptors pointed to by DataDirectory[ IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT ]\n//\n\ntypedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {\n    DWORD   TimeDateStamp;\n    WORD    OffsetModuleName;\n    WORD    NumberOfModuleForwarderRefs;\n// Array of zero or more IMAGE_BOUND_FORWARDER_REF follows\n} IMAGE_BOUND_IMPORT_DESCRIPTOR,  *PIMAGE_BOUND_IMPORT_DESCRIPTOR;\n\ntypedef struct _IMAGE_BOUND_FORWARDER_REF {\n    DWORD   TimeDateStamp;\n    WORD    OffsetModuleName;\n    WORD    Reserved;\n} IMAGE_BOUND_FORWARDER_REF, *PIMAGE_BOUND_FORWARDER_REF;\n\n//\n// Resource Format.\n//\n\n//\n// Resource directory consists of two counts, following by a variable length\n// array of directory entries.  The first count is the number of entries at\n// beginning of the array that have actual names associated with each entry.\n// The entries are in ascending order, case insensitive strings.  The second\n// count is the number of entries that immediately follow the named entries.\n// This second count identifies the number of entries that have 16-bit integer\n// Ids as their name.  These entries are also sorted in ascending order.\n//\n// This structure allows fast lookup by either name or number, but for any\n// given resource entry only one form of lookup is supported, not both.\n// This is consistant with the syntax of the .RC file and the .RES file.\n//\n\ntypedef struct _IMAGE_RESOURCE_DIRECTORY {\n    DWORD   Characteristics;\n    DWORD   TimeDateStamp;\n    WORD    MajorVersion;\n    WORD    MinorVersion;\n    WORD    NumberOfNamedEntries;\n    WORD    NumberOfIdEntries;\n//  IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];\n} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;\n\n#define IMAGE_RESOURCE_NAME_IS_STRING        0x80000000\n#define IMAGE_RESOURCE_DATA_IS_DIRECTORY     0x80000000\n//\n// Each directory contains the 32-bit Name of the entry and an offset,\n// relative to the beginning of the resource directory of the data associated\n// with this directory entry.  If the name of the entry is an actual text\n// string instead of an integer Id, then the high order bit of the name field\n// is set to one and the low order 31-bits are an offset, relative to the\n// beginning of the resource directory of the string, which is of type\n// IMAGE_RESOURCE_DIRECTORY_STRING.  Otherwise the high bit is clear and the\n// low-order 16-bits are the integer Id that identify this resource directory\n// entry. If the directory entry is yet another resource directory (i.e. a\n// subdirectory), then the high order bit of the offset field will be\n// set to indicate this.  Otherwise the high bit is clear and the offset\n// field points to a resource data entry.\n//\n\ntypedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {\n    union {\n        struct {\n            DWORD NameOffset:31;\n            DWORD NameIsString:1;\n        };\n        DWORD   Name;\n        WORD    Id;\n    };\n    union {\n        DWORD   OffsetToData;\n        struct {\n            DWORD   OffsetToDirectory:31;\n            DWORD   DataIsDirectory:1;\n        };\n    };\n} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;\n\n//\n// For resource directory entries that have actual string names, the Name\n// field of the directory entry points to an object of the following type.\n// All of these string objects are stored together after the last resource\n// directory entry and before the first resource data object.  This minimizes\n// the impact of these variable length objects on the alignment of the fixed\n// size directory entry objects.\n//\n\ntypedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {\n    WORD    Length;\n    CHAR    NameString[ 1 ];\n} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING;\n\n\ntypedef struct _IMAGE_RESOURCE_DIR_STRING_U {\n    WORD    Length;\n    WCHAR   NameString[ 1 ];\n} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;\n\n\n//\n// Each resource data entry describes a leaf node in the resource directory\n// tree.  It contains an offset, relative to the beginning of the resource\n// directory of the data for the resource, a size field that gives the number\n// of bytes of data at that offset, a CodePage that should be used when\n// decoding code point values within the resource data.  Typically for new\n// applications the code page would be the unicode code page.\n//\n\ntypedef struct _IMAGE_RESOURCE_DATA_ENTRY {\n    DWORD   OffsetToData;\n    DWORD   Size;\n    DWORD   CodePage;\n    DWORD   Reserved;\n} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;\n\n//\n// Load Configuration Directory Entry\n//\n\ntypedef struct {\n    DWORD   Size;\n    DWORD   TimeDateStamp;\n    WORD    MajorVersion;\n    WORD    MinorVersion;\n    DWORD   GlobalFlagsClear;\n    DWORD   GlobalFlagsSet;\n    DWORD   CriticalSectionDefaultTimeout;\n    DWORD   DeCommitFreeBlockThreshold;\n    DWORD   DeCommitTotalFreeThreshold;\n    DWORD   LockPrefixTable;            // VA\n    DWORD   MaximumAllocationSize;\n    DWORD   VirtualMemoryThreshold;\n    DWORD   ProcessHeapFlags;\n    DWORD   ProcessAffinityMask;\n    WORD    CSDVersion;\n    WORD    Reserved1;\n    DWORD   EditList;                   // VA\n    DWORD   SecurityCookie;             // VA\n    DWORD   SEHandlerTable;             // VA\n    DWORD   SEHandlerCount;\n} IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32;\n\ntypedef struct {\n    DWORD      Size;\n    DWORD      TimeDateStamp;\n    WORD       MajorVersion;\n    WORD       MinorVersion;\n    DWORD      GlobalFlagsClear;\n    DWORD      GlobalFlagsSet;\n    DWORD      CriticalSectionDefaultTimeout;\n    ULONGLONG  DeCommitFreeBlockThreshold;\n    ULONGLONG  DeCommitTotalFreeThreshold;\n    ULONGLONG  LockPrefixTable;         // VA\n    ULONGLONG  MaximumAllocationSize;\n    ULONGLONG  VirtualMemoryThreshold;\n    ULONGLONG  ProcessAffinityMask;\n    DWORD      ProcessHeapFlags;\n    WORD       CSDVersion;\n    WORD       Reserved1;\n    ULONGLONG  EditList;                // VA\n    ULONGLONG  SecurityCookie;          // VA\n    ULONGLONG  SEHandlerTable;          // VA\n    ULONGLONG  SEHandlerCount;\n} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;\n\n#ifdef _WIN64\ntypedef IMAGE_LOAD_CONFIG_DIRECTORY64     IMAGE_LOAD_CONFIG_DIRECTORY;\ntypedef PIMAGE_LOAD_CONFIG_DIRECTORY64    PIMAGE_LOAD_CONFIG_DIRECTORY;\n#else\ntypedef IMAGE_LOAD_CONFIG_DIRECTORY32     IMAGE_LOAD_CONFIG_DIRECTORY;\ntypedef PIMAGE_LOAD_CONFIG_DIRECTORY32    PIMAGE_LOAD_CONFIG_DIRECTORY;\n#endif\n\n//\n// WIN CE Exception table format\n//\n\n//\n// Function table entry format.  Function table is pointed to by the\n// IMAGE_DIRECTORY_ENTRY_EXCEPTION directory entry.\n//\n\ntypedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {\n    DWORD FuncStart;\n    DWORD PrologLen : 8;\n    DWORD FuncLen : 22;\n    DWORD ThirtyTwoBit : 1;\n    DWORD ExceptionFlag : 1;\n} IMAGE_CE_RUNTIME_FUNCTION_ENTRY, * PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;\n\ntypedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY {\n    ULONGLONG BeginAddress;\n    ULONGLONG EndAddress;\n    ULONGLONG ExceptionHandler;\n    ULONGLONG HandlerData;\n    ULONGLONG PrologEndAddress;\n} IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;\n\ntypedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY {\n    DWORD BeginAddress;\n    DWORD EndAddress;\n    DWORD ExceptionHandler;\n    DWORD HandlerData;\n    DWORD PrologEndAddress;\n} IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;\n\ntypedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {\n    DWORD BeginAddress;\n    DWORD EndAddress;\n    DWORD UnwindInfoAddress;\n} _IMAGE_RUNTIME_FUNCTION_ENTRY, *_PIMAGE_RUNTIME_FUNCTION_ENTRY;\n\ntypedef  _IMAGE_RUNTIME_FUNCTION_ENTRY  IMAGE_IA64_RUNTIME_FUNCTION_ENTRY;\ntypedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY;\n\n#if defined(_AXP64_)\n\ntypedef  IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY  IMAGE_AXP64_RUNTIME_FUNCTION_ENTRY;\ntypedef PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY PIMAGE_AXP64_RUNTIME_FUNCTION_ENTRY;\ntypedef  IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY  IMAGE_RUNTIME_FUNCTION_ENTRY;\ntypedef PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;\n\n#elif defined(_ALPHA_)\n\ntypedef  IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY  IMAGE_RUNTIME_FUNCTION_ENTRY;\ntypedef PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;\n\n#else\n\ntypedef  _IMAGE_RUNTIME_FUNCTION_ENTRY  IMAGE_RUNTIME_FUNCTION_ENTRY;\ntypedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;\n\n#endif\n\n//\n// Debug Format\n//\n\ntypedef struct _IMAGE_DEBUG_DIRECTORY {\n    DWORD   Characteristics;\n    DWORD   TimeDateStamp;\n    WORD    MajorVersion;\n    WORD    MinorVersion;\n    DWORD   Type;\n    DWORD   SizeOfData;\n    DWORD   AddressOfRawData;\n    DWORD   PointerToRawData;\n} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;\n\n#define IMAGE_DEBUG_TYPE_UNKNOWN          0\n#define IMAGE_DEBUG_TYPE_COFF             1\n#define IMAGE_DEBUG_TYPE_CODEVIEW         2\n#define IMAGE_DEBUG_TYPE_FPO              3\n#define IMAGE_DEBUG_TYPE_MISC             4\n#define IMAGE_DEBUG_TYPE_EXCEPTION        5\n#define IMAGE_DEBUG_TYPE_FIXUP            6\n#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC      7\n#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC    8\n#define IMAGE_DEBUG_TYPE_BORLAND          9\n#define IMAGE_DEBUG_TYPE_RESERVED10       10\n#define IMAGE_DEBUG_TYPE_CLSID            11\n\n\ntypedef struct _IMAGE_COFF_SYMBOLS_HEADER {\n    DWORD   NumberOfSymbols;\n    DWORD   LvaToFirstSymbol;\n    DWORD   NumberOfLinenumbers;\n    DWORD   LvaToFirstLinenumber;\n    DWORD   RvaToFirstByteOfCode;\n    DWORD   RvaToLastByteOfCode;\n    DWORD   RvaToFirstByteOfData;\n    DWORD   RvaToLastByteOfData;\n} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;\n\n#define FRAME_FPO       0\n#define FRAME_TRAP      1\n#define FRAME_TSS       2\n#define FRAME_NONFPO    3\n\ntypedef struct _FPO_DATA {\n    DWORD       ulOffStart;             // offset 1st byte of function code\n    DWORD       cbProcSize;             // # bytes in function\n    DWORD       cdwLocals;              // # bytes in locals/4\n    WORD        cdwParams;              // # bytes in params/4\n    WORD        cbProlog : 8;           // # bytes in prolog\n    WORD        cbRegs   : 3;           // # regs saved\n    WORD        fHasSEH  : 1;           // TRUE if SEH in func\n    WORD        fUseBP   : 1;           // TRUE if EBP has been allocated\n    WORD        reserved : 1;           // reserved for future use\n    WORD        cbFrame  : 2;           // frame type\n} FPO_DATA, *PFPO_DATA;\n#define SIZEOF_RFPO_DATA 16\n\n\n#define IMAGE_DEBUG_MISC_EXENAME    1\n\ntypedef struct _IMAGE_DEBUG_MISC {\n    DWORD       DataType;               // type of misc data, see defines\n    DWORD       Length;                 // total length of record, rounded to four\n                                        // byte multiple.\n    BOOLEAN     Unicode;                // TRUE if data is unicode string\n    BYTE        Reserved[ 3 ];\n    BYTE        Data[ 1 ];              // Actual data\n} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC;\n\n\n//\n// Function table extracted from MIPS/ALPHA/IA64 images.  Does not contain\n// information needed only for runtime support.  Just those fields for\n// each entry needed by a debugger.\n//\n\ntypedef struct _IMAGE_FUNCTION_ENTRY {\n    DWORD   StartingAddress;\n    DWORD   EndingAddress;\n    DWORD   EndOfPrologue;\n} IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY;\n\ntypedef struct _IMAGE_FUNCTION_ENTRY64 {\n    ULONGLONG   StartingAddress;\n    ULONGLONG   EndingAddress;\n    union {\n        ULONGLONG   EndOfPrologue;\n        ULONGLONG   UnwindInfoAddress;\n    };\n} IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64;\n\n//\n// Debugging information can be stripped from an image file and placed\n// in a separate .DBG file, whose file name part is the same as the\n// image file name part (e.g. symbols for CMD.EXE could be stripped\n// and placed in CMD.DBG).  This is indicated by the IMAGE_FILE_DEBUG_STRIPPED\n// flag in the Characteristics field of the file header.  The beginning of\n// the .DBG file contains the following structure which captures certain\n// information from the image file.  This allows a debug to proceed even if\n// the original image file is not accessable.  This header is followed by\n// zero of more IMAGE_SECTION_HEADER structures, followed by zero or more\n// IMAGE_DEBUG_DIRECTORY structures.  The latter structures and those in\n// the image file contain file offsets relative to the beginning of the\n// .DBG file.\n//\n// If symbols have been stripped from an image, the IMAGE_DEBUG_MISC structure\n// is left in the image file, but not mapped.  This allows a debugger to\n// compute the name of the .DBG file, from the name of the image in the\n// IMAGE_DEBUG_MISC structure.\n//\n\ntypedef struct _IMAGE_SEPARATE_DEBUG_HEADER {\n    WORD        Signature;\n    WORD        Flags;\n    WORD        Machine;\n    WORD        Characteristics;\n    DWORD       TimeDateStamp;\n    DWORD       CheckSum;\n    DWORD       ImageBase;\n    DWORD       SizeOfImage;\n    DWORD       NumberOfSections;\n    DWORD       ExportedNamesSize;\n    DWORD       DebugDirectorySize;\n    DWORD       SectionAlignment;\n    DWORD       Reserved[2];\n} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;\n\ntypedef struct _NON_PAGED_DEBUG_INFO {\n    WORD        Signature;\n    WORD        Flags;\n    DWORD       Size;\n    WORD        Machine;\n    WORD        Characteristics;\n    DWORD       TimeDateStamp;\n    DWORD       CheckSum;\n    DWORD       SizeOfImage;\n    ULONGLONG   ImageBase;\n    //DebugDirectorySize\n    //IMAGE_DEBUG_DIRECTORY\n} NON_PAGED_DEBUG_INFO, *PNON_PAGED_DEBUG_INFO;\n\n#ifndef _MAC\n#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944\n#define NON_PAGED_DEBUG_SIGNATURE      0x494E\n#else\n#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4449  // DI\n#define NON_PAGED_DEBUG_SIGNATURE      0x4E49  // NI\n#endif\n\n#define IMAGE_SEPARATE_DEBUG_FLAGS_MASK 0x8000\n#define IMAGE_SEPARATE_DEBUG_MISMATCH   0x8000  // when DBG was updated, the\n                                                // old checksum didn't match.\n\n//\n//  The .arch section is made up of headers, each describing an amask position/value\n//  pointing to an array of IMAGE_ARCHITECTURE_ENTRY's.  Each \"array\" (both the header\n//  and entry arrays) are terminiated by a quadword of 0xffffffffL.\n//\n//  NOTE: There may be quadwords of 0 sprinkled around and must be skipped.\n//\n\ntypedef struct _ImageArchitectureHeader {\n    unsigned int AmaskValue: 1;                 // 1 -> code section depends on mask bit\n                                                // 0 -> new instruction depends on mask bit\n    int :7;                                     // MBZ\n    unsigned int AmaskShift: 8;                 // Amask bit in question for this fixup\n    int :16;                                    // MBZ\n    DWORD FirstEntryRVA;                        // RVA into .arch section to array of ARCHITECTURE_ENTRY's\n} IMAGE_ARCHITECTURE_HEADER, *PIMAGE_ARCHITECTURE_HEADER;\n\ntypedef struct _ImageArchitectureEntry {\n    DWORD FixupInstRVA;                         // RVA of instruction to fixup\n    DWORD NewInst;                              // fixup instruction (see alphaops.h)\n} IMAGE_ARCHITECTURE_ENTRY, *PIMAGE_ARCHITECTURE_ENTRY;\n\n#include \"poppack.h\"                // Back to the initial value\n\n// The following structure defines the new import object.  Note the values of the first two fields,\n// which must be set as stated in order to differentiate old and new import members.\n// Following this structure, the linker emits two null-terminated strings used to recreate the\n// import at the time of use.  The first string is the import's name, the second is the dll's name.\n\n#define IMPORT_OBJECT_HDR_SIG2  0xffff\n\ntypedef struct IMPORT_OBJECT_HEADER {\n    WORD    Sig1;                       // Must be IMAGE_FILE_MACHINE_UNKNOWN\n    WORD    Sig2;                       // Must be IMPORT_OBJECT_HDR_SIG2.\n    WORD    Version;\n    WORD    Machine;\n    DWORD   TimeDateStamp;              // Time/date stamp\n    DWORD   SizeOfData;                 // particularly useful for incremental links\n\n    union {\n        WORD    Ordinal;                // if grf & IMPORT_OBJECT_ORDINAL\n        WORD    Hint;\n    };\n\n    WORD    Type : 2;                   // IMPORT_TYPE\n    WORD    NameType : 3;               // IMPORT_NAME_TYPE\n    WORD    Reserved : 11;              // Reserved. Must be zero.\n} IMPORT_OBJECT_HEADER;\n\ntypedef enum IMPORT_OBJECT_TYPE\n{\n    IMPORT_OBJECT_CODE = 0,\n    IMPORT_OBJECT_DATA = 1,\n    IMPORT_OBJECT_CONST = 2,\n} IMPORT_OBJECT_TYPE;\n\ntypedef enum IMPORT_OBJECT_NAME_TYPE\n{\n    IMPORT_OBJECT_ORDINAL = 0,          // Import by ordinal\n    IMPORT_OBJECT_NAME = 1,             // Import name == public symbol name.\n    IMPORT_OBJECT_NAME_NO_PREFIX = 2,   // Import name == public symbol name skipping leading ?, @, or optionally _.\n    IMPORT_OBJECT_NAME_UNDECORATE = 3,  // Import name == public symbol name skipping leading ?, @, or optionally _\n                                        // and truncating at first @\n} IMPORT_OBJECT_NAME_TYPE;\n\n\n#ifndef __IMAGE_COR20_HEADER_DEFINED__\n#define __IMAGE_COR20_HEADER_DEFINED__\n\ntypedef enum ReplacesCorHdrNumericDefines\n{\n// COM+ Header entry point flags.\n    COMIMAGE_FLAGS_ILONLY               =0x00000001,\n    COMIMAGE_FLAGS_32BITREQUIRED        =0x00000002,\n    COMIMAGE_FLAGS_IL_LIBRARY           =0x00000004,\n    COMIMAGE_FLAGS_STRONGNAMESIGNED     =0x00000008,\n    COMIMAGE_FLAGS_TRACKDEBUGDATA       =0x00010000,\n\n// Version flags for image.\n    COR_VERSION_MAJOR_V2                =2,\n    COR_VERSION_MAJOR                   =COR_VERSION_MAJOR_V2,\n    COR_VERSION_MINOR                   =0,\n    COR_DELETED_NAME_LENGTH             =8,\n    COR_VTABLEGAP_NAME_LENGTH           =8,\n\n// Maximum size of a NativeType descriptor.\n    NATIVE_TYPE_MAX_CB                  =1,   \n    COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE=0xFF,\n\n// #defines for the MIH FLAGS\n    IMAGE_COR_MIH_METHODRVA             =0x01,\n    IMAGE_COR_MIH_EHRVA                 =0x02,    \n    IMAGE_COR_MIH_BASICBLOCK            =0x08,\n\n// V-table constants\n    COR_VTABLE_32BIT                    =0x01,          // V-table slots are 32-bits in size.   \n    COR_VTABLE_64BIT                    =0x02,          // V-table slots are 64-bits in size.   \n    COR_VTABLE_FROM_UNMANAGED           =0x04,          // If set, transition from unmanaged.\n    COR_VTABLE_CALL_MOST_DERIVED        =0x10,          // Call most derived method described by\n\n// EATJ constants\n    IMAGE_COR_EATJ_THUNK_SIZE           =32,            // Size of a jump thunk reserved range.\n\n// Max name lengths    \n    //@todo: Change to unlimited name lengths.\n    MAX_CLASS_NAME                      =1024,\n    MAX_PACKAGE_NAME                    =1024,\n} ReplacesCorHdrNumericDefines;\n\n// COM+ 2.0 header structure.\ntypedef struct IMAGE_COR20_HEADER\n{\n    // Header versioning\n    DWORD                   cb;              \n    WORD                    MajorRuntimeVersion;\n    WORD                    MinorRuntimeVersion;\n    \n    // Symbol table and startup information\n    IMAGE_DATA_DIRECTORY    MetaData;        \n    DWORD                   Flags;           \n    DWORD                   EntryPointToken;\n    \n    // Binding information\n    IMAGE_DATA_DIRECTORY    Resources;\n    IMAGE_DATA_DIRECTORY    StrongNameSignature;\n\n    // Regular fixup and binding information\n    IMAGE_DATA_DIRECTORY    CodeManagerTable;\n    IMAGE_DATA_DIRECTORY    VTableFixups;\n    IMAGE_DATA_DIRECTORY    ExportAddressTableJumps;\n\n    // Precompiled image info (internal use only - set to zero)\n    IMAGE_DATA_DIRECTORY    ManagedNativeHeader;\n    \n} IMAGE_COR20_HEADER, *PIMAGE_COR20_HEADER;\n\n#endif // __IMAGE_COR20_HEADER_DEFINED__\n\n//\n// End Image Format\n//\n\n//\n// for move macros\n//\n#ifdef _MAC\n#ifndef _INC_STRING\n#include <string.h>\n#endif /* _INC_STRING */\n#else\n#include <string.h>\n#endif // _MAC\n\n\n#ifndef _SLIST_HEADER_\n#define _SLIST_HEADER_\n\n#if defined(_WIN64)\n\n//\n// The type SINGLE_LIST_ENTRY is not suitable for use with SLISTs.  For\n// WIN64, an entry on an SLIST is required to be 16-byte aligned, while a\n// SINGLE_LIST_ENTRY structure has only 8 byte alignment.\n//\n// Therefore, all SLIST code should use the SLIST_ENTRY type instead of the\n// SINGLE_LIST_ENTRY type.\n//\n\n#pragma warning(push)\n#pragma warning(disable:4324)   // structure padded due to align()\ntypedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY *PSLIST_ENTRY;\ntypedef struct DECLSPEC_ALIGN(16) _SLIST_ENTRY {\n    PSLIST_ENTRY Next;\n} SLIST_ENTRY;\n#pragma warning(pop)\n\n#else\n\n#define SLIST_ENTRY SINGLE_LIST_ENTRY\n#define _SLIST_ENTRY _SINGLE_LIST_ENTRY\n#define PSLIST_ENTRY PSINGLE_LIST_ENTRY\n\n#endif\n\n#if defined(_WIN64)\n\ntypedef struct DECLSPEC_ALIGN(16) _SLIST_HEADER {\n    ULONGLONG Alignment;\n    ULONGLONG Region;\n} SLIST_HEADER;\n\ntypedef struct _SLIST_HEADER *PSLIST_HEADER;\n\n#else\n\ntypedef union _SLIST_HEADER {\n    ULONGLONG Alignment;\n    struct {\n        SLIST_ENTRY Next;\n        WORD   Depth;\n        WORD   Sequence;\n    };\n} SLIST_HEADER, *PSLIST_HEADER;\n\n#endif\n\n#endif\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitializeSListHead (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTSYSAPI\nPSLIST_ENTRY\nRtlFirstEntrySList (\n    IN const SLIST_HEADER *ListHead\n    );\n\nNTSYSAPI\nPSLIST_ENTRY\nNTAPI\nRtlInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTSYSAPI\nPSLIST_ENTRY\nNTAPI\nRtlInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\nNTSYSAPI\nPSLIST_ENTRY\nNTAPI\nRtlInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTSYSAPI\nWORD  \nNTAPI\nRtlQueryDepthSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#define HEAP_NO_SERIALIZE               0x00000001      \n#define HEAP_GROWABLE                   0x00000002      \n#define HEAP_GENERATE_EXCEPTIONS        0x00000004      \n#define HEAP_ZERO_MEMORY                0x00000008      \n#define HEAP_REALLOC_IN_PLACE_ONLY      0x00000010      \n#define HEAP_TAIL_CHECKING_ENABLED      0x00000020      \n#define HEAP_FREE_CHECKING_ENABLED      0x00000040      \n#define HEAP_DISABLE_COALESCE_ON_FREE   0x00000080      \n#define HEAP_CREATE_ALIGN_16            0x00010000      \n#define HEAP_CREATE_ENABLE_TRACING      0x00020000      \n#define HEAP_MAXIMUM_TAG                0x0FFF              \n#define HEAP_PSEUDO_TAG_FLAG            0x8000              \n#define HEAP_TAG_SHIFT                  18                  \n#define HEAP_MAKE_TAG_FLAGS( b, o ) ((DWORD)((b) + ((o) << 18)))  \n\n#define IS_TEXT_UNICODE_ASCII16               0x0001\n#define IS_TEXT_UNICODE_REVERSE_ASCII16       0x0010\n\n#define IS_TEXT_UNICODE_STATISTICS            0x0002\n#define IS_TEXT_UNICODE_REVERSE_STATISTICS    0x0020\n\n#define IS_TEXT_UNICODE_CONTROLS              0x0004\n#define IS_TEXT_UNICODE_REVERSE_CONTROLS      0x0040\n\n#define IS_TEXT_UNICODE_SIGNATURE             0x0008\n#define IS_TEXT_UNICODE_REVERSE_SIGNATURE     0x0080\n\n#define IS_TEXT_UNICODE_ILLEGAL_CHARS         0x0100\n#define IS_TEXT_UNICODE_ODD_LENGTH            0x0200\n#define IS_TEXT_UNICODE_DBCS_LEADBYTE         0x0400\n#define IS_TEXT_UNICODE_NULL_BYTES            0x1000\n\n#define IS_TEXT_UNICODE_UNICODE_MASK          0x000F\n#define IS_TEXT_UNICODE_REVERSE_MASK          0x00F0\n#define IS_TEXT_UNICODE_NOT_UNICODE_MASK      0x0F00\n#define IS_TEXT_UNICODE_NOT_ASCII_MASK        0xF000\n\n#define COMPRESSION_FORMAT_NONE          (0x0000)   \n#define COMPRESSION_FORMAT_DEFAULT       (0x0001)   \n#define COMPRESSION_FORMAT_LZNT1         (0x0002)   \n#define COMPRESSION_ENGINE_STANDARD      (0x0000)   \n#define COMPRESSION_ENGINE_MAXIMUM       (0x0100)   \n#define COMPRESSION_ENGINE_HIBER         (0x0200)   \n\nNTSYSAPI\nSIZE_T\nNTAPI\nRtlCompareMemory (\n    const VOID *Source1,\n    const VOID *Source2,\n    SIZE_T Length\n    );\n\n#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length)))\n\n#if defined(_M_AMD64)\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemory (\n    VOID UNALIGNED *Destination,\n    CONST VOID UNALIGNED *Source,\n    SIZE_T Length\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlMoveMemory (\n    VOID UNALIGNED *Destination,\n    CONST VOID UNALIGNED *Source,\n    SIZE_T Length\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFillMemory (\n    VOID UNALIGNED *Destination,\n    SIZE_T Length,\n    IN BYTE  Fill\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlZeroMemory (\n    VOID UNALIGNED *Destination,\n    SIZE_T Length\n    );\n\n#else\n\n#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))\n#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))\n#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))\n#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))\n\n#endif\n\n#if !defined(MIDL_PASS)\nFORCEINLINE\nPVOID\nRtlSecureZeroMemory(\n    IN PVOID ptr,\n    IN SIZE_T cnt\n    )\n{\n    volatile char *vptr = (volatile char *)ptr;\n    while (cnt) {\n        *vptr = 0;\n        vptr++;\n        cnt--;\n    }\n    return ptr;\n}\n#endif\n\n\ntypedef struct _MESSAGE_RESOURCE_ENTRY {\n    WORD   Length;\n    WORD   Flags;\n    BYTE  Text[ 1 ];\n} MESSAGE_RESOURCE_ENTRY, *PMESSAGE_RESOURCE_ENTRY;\n\n#define MESSAGE_RESOURCE_UNICODE 0x0001\n\ntypedef struct _MESSAGE_RESOURCE_BLOCK {\n    DWORD LowId;\n    DWORD HighId;\n    DWORD OffsetToEntries;\n} MESSAGE_RESOURCE_BLOCK, *PMESSAGE_RESOURCE_BLOCK;\n\ntypedef struct _MESSAGE_RESOURCE_DATA {\n    DWORD NumberOfBlocks;\n    MESSAGE_RESOURCE_BLOCK Blocks[ 1 ];\n} MESSAGE_RESOURCE_DATA, *PMESSAGE_RESOURCE_DATA;\n\ntypedef struct _OSVERSIONINFOA {\n    DWORD dwOSVersionInfoSize;\n    DWORD dwMajorVersion;\n    DWORD dwMinorVersion;\n    DWORD dwBuildNumber;\n    DWORD dwPlatformId;\n    CHAR   szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;\n\ntypedef struct _OSVERSIONINFOW {\n    DWORD dwOSVersionInfoSize;\n    DWORD dwMajorVersion;\n    DWORD dwMinorVersion;\n    DWORD dwBuildNumber;\n    DWORD dwPlatformId;\n    WCHAR  szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;\n#ifdef UNICODE\ntypedef OSVERSIONINFOW OSVERSIONINFO;\ntypedef POSVERSIONINFOW POSVERSIONINFO;\ntypedef LPOSVERSIONINFOW LPOSVERSIONINFO;\n#else\ntypedef OSVERSIONINFOA OSVERSIONINFO;\ntypedef POSVERSIONINFOA POSVERSIONINFO;\ntypedef LPOSVERSIONINFOA LPOSVERSIONINFO;\n#endif // UNICODE\n\ntypedef struct _OSVERSIONINFOEXA {\n    DWORD dwOSVersionInfoSize;\n    DWORD dwMajorVersion;\n    DWORD dwMinorVersion;\n    DWORD dwBuildNumber;\n    DWORD dwPlatformId;\n    CHAR   szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n    WORD   wServicePackMajor;\n    WORD   wServicePackMinor;\n    WORD   wSuiteMask;\n    BYTE  wProductType;\n    BYTE  wReserved;\n} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;\ntypedef struct _OSVERSIONINFOEXW {\n    DWORD dwOSVersionInfoSize;\n    DWORD dwMajorVersion;\n    DWORD dwMinorVersion;\n    DWORD dwBuildNumber;\n    DWORD dwPlatformId;\n    WCHAR  szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n    WORD   wServicePackMajor;\n    WORD   wServicePackMinor;\n    WORD   wSuiteMask;\n    BYTE  wProductType;\n    BYTE  wReserved;\n} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;\n#ifdef UNICODE\ntypedef OSVERSIONINFOEXW OSVERSIONINFOEX;\ntypedef POSVERSIONINFOEXW POSVERSIONINFOEX;\ntypedef LPOSVERSIONINFOEXW LPOSVERSIONINFOEX;\n#else\ntypedef OSVERSIONINFOEXA OSVERSIONINFOEX;\ntypedef POSVERSIONINFOEXA POSVERSIONINFOEX;\ntypedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX;\n#endif // UNICODE\n\n//\n// RtlVerifyVersionInfo() conditions\n//\n\n#define VER_EQUAL                       1\n#define VER_GREATER                     2\n#define VER_GREATER_EQUAL               3\n#define VER_LESS                        4\n#define VER_LESS_EQUAL                  5\n#define VER_AND                         6\n#define VER_OR                          7\n\n#define VER_CONDITION_MASK              7\n#define VER_NUM_BITS_PER_CONDITION_MASK 3\n\n//\n// RtlVerifyVersionInfo() type mask bits\n//\n\n#define VER_MINORVERSION                0x0000001\n#define VER_MAJORVERSION                0x0000002\n#define VER_BUILDNUMBER                 0x0000004\n#define VER_PLATFORMID                  0x0000008\n#define VER_SERVICEPACKMINOR            0x0000010\n#define VER_SERVICEPACKMAJOR            0x0000020\n#define VER_SUITENAME                   0x0000040\n#define VER_PRODUCT_TYPE                0x0000080\n\n//\n// RtlVerifyVersionInfo() os product type values\n//\n\n#define VER_NT_WORKSTATION              0x0000001\n#define VER_NT_DOMAIN_CONTROLLER        0x0000002\n#define VER_NT_SERVER                   0x0000003\n\n//\n// dwPlatformId defines:\n//\n\n#define VER_PLATFORM_WIN32s             0\n#define VER_PLATFORM_WIN32_WINDOWS      1\n#define VER_PLATFORM_WIN32_NT           2\n\n\n//\n//\n// VerifyVersionInfo() macro to set the condition mask\n//\n// For documentation sakes here's the old version of the macro that got\n// changed to call an API\n// #define VER_SET_CONDITION(_m_,_t_,_c_)  _m_=(_m_|(_c_<<(1<<_t_)))\n//\n\n#define VER_SET_CONDITION(_m_,_t_,_c_)  \\\n        ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_)))\n\nULONGLONG\nNTAPI\nVerSetConditionMask(\n        IN  ULONGLONG   ConditionMask,\n        IN  DWORD   TypeMask,\n        IN  BYTE    Condition\n        );\n//\n\ntypedef struct _RTL_CRITICAL_SECTION_DEBUG {\n    WORD   Type;\n    WORD   CreatorBackTraceIndex;\n    struct _RTL_CRITICAL_SECTION *CriticalSection;\n    LIST_ENTRY ProcessLocksList;\n    DWORD EntryCount;\n    DWORD ContentionCount;\n    DWORD Spare[ 2 ];\n} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;\n\n#define RTL_CRITSECT_TYPE 0\n#define RTL_RESOURCE_TYPE 1\n\ntypedef struct _RTL_CRITICAL_SECTION {\n    PRTL_CRITICAL_SECTION_DEBUG DebugInfo;\n\n    //\n    //  The following three fields control entering and exiting the critical\n    //  section for the resource\n    //\n\n    LONG LockCount;\n    LONG RecursionCount;\n    HANDLE OwningThread;        // from the thread's ClientId->UniqueThread\n    HANDLE LockSemaphore;\n    ULONG_PTR SpinCount;        // force size on 64-bit systems when packed\n} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;\n\ntypedef VOID (NTAPI * RTL_VERIFIER_DLL_LOAD_CALLBACK) (\n    PWSTR DllName,\n    PVOID DllBase,\n    SIZE_T DllSize,\n    PVOID Reserved\n    );\n\ntypedef VOID (NTAPI * RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (\n    PWSTR DllName,\n    PVOID DllBase,\n    SIZE_T DllSize,\n    PVOID Reserved\n    );\n\ntypedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR {\n\n    PCHAR ThunkName;\n    PVOID ThunkOldAddress;\n    PVOID ThunkNewAddress;\n\n} RTL_VERIFIER_THUNK_DESCRIPTOR, *PRTL_VERIFIER_THUNK_DESCRIPTOR;\n\ntypedef struct _RTL_VERIFIER_DLL_DESCRIPTOR {\n\n    PWCHAR DllName;\n    DWORD DllFlags;\n    PVOID DllAddress;\n    PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks;\n\n} RTL_VERIFIER_DLL_DESCRIPTOR, *PRTL_VERIFIER_DLL_DESCRIPTOR;\n\ntypedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR {\n\n    //\n    // Filled by verifier provider DLL\n    // \n\n    DWORD Length;        \n    PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls;\n    RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback;\n    RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback;\n    \n    //\n    // Filled by verifier engine\n    //\n        \n    PWSTR VerifierImage;\n    DWORD VerifierFlags;\n    DWORD VerifierDebug;\n    \n    PVOID RtlpGetStackTraceAddress;\n    PVOID RtlpDebugPageHeapCreate;\n    PVOID RtlpDebugPageHeapDestroy;\n\n} RTL_VERIFIER_PROVIDER_DESCRIPTOR, *PRTL_VERIFIER_PROVIDER_DESCRIPTOR;\n\n//\n// Application verifier standard flags\n//\n\n#define RTL_VRF_FLG_FULL_PAGE_HEAP                   0x00000001\n#define RTL_VRF_FLG_RESERVED_DONOTUSE                0x00000002 // old RTL_VRF_FLG_LOCK_CHECKS\n#define RTL_VRF_FLG_HANDLE_CHECKS                    0x00000004\n#define RTL_VRF_FLG_STACK_CHECKS                     0x00000008\n#define RTL_VRF_FLG_APPCOMPAT_CHECKS                 0x00000010\n#define RTL_VRF_FLG_TLS_CHECKS                       0x00000020\n#define RTL_VRF_FLG_DIRTY_STACKS                     0x00000040\n#define RTL_VRF_FLG_RPC_CHECKS                       0x00000080\n#define RTL_VRF_FLG_COM_CHECKS                       0x00000100\n#define RTL_VRF_FLG_DANGEROUS_APIS                   0x00000200\n#define RTL_VRF_FLG_RACE_CHECKS                      0x00000400\n#define RTL_VRF_FLG_DEADLOCK_CHECKS                  0x00000800\n#define RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS    0x00001000\n#define RTL_VRF_FLG_VIRTUAL_MEM_CHECKS               0x00002000\n#define RTL_VRF_FLG_ENABLE_LOGGING                   0x00004000\n#define RTL_VRF_FLG_FAST_FILL_HEAP                   0x00008000\n#define RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING           0x00010000\n#define RTL_VRF_FLG_ENABLED_SYSTEM_WIDE              0x00020000\n#define RTL_VRF_FLG_MISCELLANEOUS_CHECKS             0x00020000\n#define RTL_VRF_FLG_LOCK_CHECKS                      0x00040000\n\n//\n// Application verifier standard stop codes\n//\n\n#define APPLICATION_VERIFIER_INTERNAL_ERROR               0x80000000\n#define APPLICATION_VERIFIER_INTERNAL_WARNING             0x40000000\n#define APPLICATION_VERIFIER_NO_BREAK                     0x20000000\n#define APPLICATION_VERIFIER_CONTINUABLE_BREAK            0x10000000\n\n#define APPLICATION_VERIFIER_UNKNOWN_ERROR                0x0001\n#define APPLICATION_VERIFIER_ACCESS_VIOLATION             0x0002\n#define APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS        0x0003\n#define APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST         0x0004\n#define APPLICATION_VERIFIER_BAD_HEAP_HANDLE              0x0005\n#define APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE         0x0006\n#define APPLICATION_VERIFIER_DOUBLE_FREE                  0x0007\n#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK         0x0008\n#define APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP         0x0009\n#define APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION         0x000A\n#define APPLICATION_VERIFIER_STACK_OVERFLOW               0x000B\n\n#define APPLICATION_VERIFIER_TERMINATE_THREAD_CALL        0x0100\n#define APPLICATION_VERIFIER_INVALID_EXIT_PROCESS_CALL    0x0101\n\n#define APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK        0x0200\n#define APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL         0x0201\n#define APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP           0x0202\n#define APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE       0x0203\n#define APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY         0x0204\n#define APPLICATION_VERIFIER_LOCK_CORRUPTED               0x0205\n#define APPLICATION_VERIFIER_LOCK_INVALID_OWNER           0x0206\n#define APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT 0x0207\n#define APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT      0x0208\n#define APPLICATION_VERIFIER_LOCK_OVER_RELEASED           0x0209\n#define APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED         0x0210\n#define APPLICATION_VERIFIER_LOCK_ALREADY_INITIALIZED     0x0211\n\n#define APPLICATION_VERIFIER_INVALID_HANDLE               0x0300\n#define APPLICATION_VERIFIER_INVALID_TLS_VALUE            0x0301\n#define APPLICATION_VERIFIER_INCORRECT_WAIT_CALL          0x0302\n#define APPLICATION_VERIFIER_NULL_HANDLE                  0x0303\n#define APPLICATION_VERIFIER_WAIT_IN_DLLMAIN              0x0304\n\n#define APPLICATION_VERIFIER_COM_ERROR                    0x0400\n#define APPLICATION_VERIFIER_COM_API_IN_DLLMAIN           0x0401\n#define APPLICATION_VERIFIER_COM_UNHANDLED_EXCEPTION      0x0402\n#define APPLICATION_VERIFIER_COM_UNBALANCED_COINIT        0x0403\n#define APPLICATION_VERIFIER_COM_UNBALANCED_OLEINIT       0x0404\n#define APPLICATION_VERIFIER_COM_UNBALANCED_SWC           0x0405\n#define APPLICATION_VERIFIER_COM_NULL_DACL                0x0406\n#define APPLICATION_VERIFIER_COM_UNSAFE_IMPERSONATION     0x0407\n#define APPLICATION_VERIFIER_COM_SMUGGLED_WRAPPER         0x0408\n#define APPLICATION_VERIFIER_COM_SMUGGLED_PROXY           0x0409\n#define APPLICATION_VERIFIER_COM_CF_SUCCESS_WITH_NULL     0x040A\n#define APPLICATION_VERIFIER_COM_GCO_SUCCESS_WITH_NULL    0x040B\n#define APPLICATION_VERIFIER_COM_OBJECT_IN_FREED_MEMORY   0x040C\n#define APPLICATION_VERIFIER_COM_OBJECT_IN_UNLOADED_DLL   0x040D\n#define APPLICATION_VERIFIER_COM_VTBL_IN_FREED_MEMORY     0x040E\n#define APPLICATION_VERIFIER_COM_VTBL_IN_UNLOADED_DLL     0x040F\n#define APPLICATION_VERIFIER_COM_HOLDING_LOCKS_ON_CALL    0x0410\n\n#define APPLICATION_VERIFIER_RPC_ERROR                    0x0500\n\n#define APPLICATION_VERIFIER_INVALID_FREEMEM              0x0600\n#define APPLICATION_VERIFIER_INVALID_ALLOCMEM             0x0601\n#define APPLICATION_VERIFIER_INVALID_MAPVIEW              0x0602\n#define APPLICATION_VERIFIER_PROBE_INVALID_ADDRESS        0x0603\n#define APPLICATION_VERIFIER_PROBE_FREE_MEM               0x0604\n#define APPLICATION_VERIFIER_PROBE_GUARD_PAGE             0x0605\n#define APPLICATION_VERIFIER_PROBE_NULL                   0x0606\n#define APPLICATION_VERIFIER_PROBE_INVALID_START_OR_SIZE  0x0607\n\n\n#define VERIFIER_STOP(Code, Msg, P1, S1, P2, S2, P3, S3, P4, S4) {  \\\n        RtlApplicationVerifierStop ((Code),                         \\\n                                    (Msg),                          \\\n                                    (ULONG_PTR)(P1),(S1),           \\\n                                    (ULONG_PTR)(P2),(S2),           \\\n                                    (ULONG_PTR)(P3),(S3),           \\\n                                    (ULONG_PTR)(P4),(S4));          \\\n  }\n\nVOID\nNTAPI\nRtlApplicationVerifierStop (\n    ULONG_PTR Code,\n    PCHAR Message,\n    ULONG_PTR Param1, PCHAR Description1,\n    ULONG_PTR Param2, PCHAR Description2,\n    ULONG_PTR Param3, PCHAR Description3,\n    ULONG_PTR Param4, PCHAR Description4\n    );\n\ntypedef LONG (NTAPI *PVECTORED_EXCEPTION_HANDLER)(\n    struct _EXCEPTION_POINTERS *ExceptionInfo\n    );\n#define SEF_DACL_AUTO_INHERIT             0x01\n#define SEF_SACL_AUTO_INHERIT             0x02\n#define SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT 0x04\n#define SEF_AVOID_PRIVILEGE_CHECK         0x08\n#define SEF_AVOID_OWNER_CHECK             0x10\n#define SEF_DEFAULT_OWNER_FROM_PARENT     0x20\n#define SEF_DEFAULT_GROUP_FROM_PARENT     0x40\n\ntypedef enum _HEAP_INFORMATION_CLASS {\n\n    HeapCompatibilityInformation\n\n} HEAP_INFORMATION_CLASS;\n\n\nDWORD   \nNTAPI\nRtlSetHeapInformation (\n    IN PVOID HeapHandle,\n    IN HEAP_INFORMATION_CLASS HeapInformationClass,\n    IN PVOID HeapInformation OPTIONAL,\n    IN SIZE_T HeapInformationLength OPTIONAL\n    );\n\nDWORD   \nNTAPI\nRtlQueryHeapInformation (\n    IN PVOID HeapHandle,\n    IN HEAP_INFORMATION_CLASS HeapInformationClass,\n    OUT PVOID HeapInformation OPTIONAL,\n    IN SIZE_T HeapInformationLength OPTIONAL,\n    OUT PSIZE_T ReturnLength OPTIONAL\n    );\n\n//\n//  Multiple alloc-free APIS\n//\n\nDWORD\nNTAPI\nRtlMultipleAllocateHeap (\n    IN PVOID HeapHandle,\n    IN DWORD Flags,\n    IN SIZE_T Size,\n    IN DWORD Count,\n    OUT PVOID * Array\n    );\n\nDWORD\nNTAPI\nRtlMultipleFreeHeap (\n    IN PVOID HeapHandle,\n    IN DWORD Flags,\n    IN DWORD Count,\n    OUT PVOID * Array\n    );\n    \n#define WT_EXECUTEDEFAULT       0x00000000                           \n#define WT_EXECUTEINIOTHREAD    0x00000001                           \n#define WT_EXECUTEINUITHREAD    0x00000002                           \n#define WT_EXECUTEINWAITTHREAD  0x00000004                           \n#define WT_EXECUTEONLYONCE      0x00000008                           \n#define WT_EXECUTEINTIMERTHREAD 0x00000020                           \n#define WT_EXECUTELONGFUNCTION  0x00000010                           \n#define WT_EXECUTEINPERSISTENTIOTHREAD  0x00000040                   \n#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080                      \n#define WT_TRANSFER_IMPERSONATION 0x00000100                         \n#define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit)  ((Flags) |= (Limit)<<16) \ntypedef VOID (NTAPI * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );   \ntypedef VOID (NTAPI * WORKERCALLBACKFUNC) (PVOID );                 \ntypedef VOID (NTAPI * APC_CALLBACK_FUNCTION) (DWORD   , PVOID, PVOID); \n#define WT_EXECUTEINLONGTHREAD  0x00000010                           \n#define WT_EXECUTEDELETEWAIT    0x00000008                           \n\ntypedef enum _ACTIVATION_CONTEXT_INFO_CLASS {\n    ActivationContextBasicInformation                       = 1,\n    ActivationContextDetailedInformation                    = 2,\n    AssemblyDetailedInformationInActivationContext          = 3,\n    FileInformationInAssemblyOfAssemblyInActivationContext  = 4,\n    MaxActivationContextInfoClass,\n\n    //\n    // compatibility with old names\n    //\n    AssemblyDetailedInformationInActivationContxt           = 3,\n    FileInformationInAssemblyOfAssemblyInActivationContxt   = 4\n} ACTIVATION_CONTEXT_INFO_CLASS;\n\n#define ACTIVATIONCONTEXTINFOCLASS ACTIVATION_CONTEXT_INFO_CLASS\n\n\ntypedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {\n    DWORD ulAssemblyIndex; \n    DWORD ulFileIndexInAssembly; \n} ACTIVATION_CONTEXT_QUERY_INDEX, * PACTIVATION_CONTEXT_QUERY_INDEX;\n\ntypedef const struct _ACTIVATION_CONTEXT_QUERY_INDEX * PCACTIVATION_CONTEXT_QUERY_INDEX;\n\n\n#define ACTIVATION_CONTEXT_PATH_TYPE_NONE (1)\n#define ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE (2)\n#define ACTIVATION_CONTEXT_PATH_TYPE_URL (3)\n#define ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF (4)\n\ntypedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {\n    DWORD ulFlags;\n    DWORD ulFilenameLength;\n    DWORD ulPathLength; \n\n    PCWSTR lpFileName;\n    PCWSTR lpFilePath;   \n} ASSEMBLY_FILE_DETAILED_INFORMATION, *PASSEMBLY_FILE_DETAILED_INFORMATION;\ntypedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;\n\n//\n// compatibility with old names\n// The new names use \"file\" consistently.\n//\n#define  _ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION  _ASSEMBLY_FILE_DETAILED_INFORMATION\n#define   ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION   ASSEMBLY_FILE_DETAILED_INFORMATION\n#define  PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION  PASSEMBLY_FILE_DETAILED_INFORMATION\n#define PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION PCASSEMBLY_FILE_DETAILED_INFORMATION\n\ntypedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {\n    DWORD ulFlags;\n    DWORD ulEncodedAssemblyIdentityLength;      // in bytes\n    DWORD ulManifestPathType;                   // ACTIVATION_CONTEXT_PATH_TYPE_*\n    DWORD ulManifestPathLength;                 // in bytes\n    LARGE_INTEGER liManifestLastWriteTime;      // FILETIME\n    DWORD ulPolicyPathType;                     // ACTIVATION_CONTEXT_PATH_TYPE_*\n    DWORD ulPolicyPathLength;                   // in bytes\n    LARGE_INTEGER liPolicyLastWriteTime;        // FILETIME\n    DWORD ulMetadataSatelliteRosterIndex;\n    \n    DWORD ulManifestVersionMajor;               // 1\n    DWORD ulManifestVersionMinor;               // 0\n    DWORD ulPolicyVersionMajor;                 // 0\n    DWORD ulPolicyVersionMinor;                 // 0\n    DWORD ulAssemblyDirectoryNameLength;        // in bytes\n\n    PCWSTR lpAssemblyEncodedAssemblyIdentity;\n    PCWSTR lpAssemblyManifestPath;\n    PCWSTR lpAssemblyPolicyPath;\n    PCWSTR lpAssemblyDirectoryName;\n\n    DWORD  ulFileCount;\n} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION, * PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;\n\ntypedef const struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION * PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ;\n\ntypedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {\n    DWORD dwFlags;\n    DWORD ulFormatVersion;\n    DWORD ulAssemblyCount;\n    DWORD ulRootManifestPathType;\n    DWORD ulRootManifestPathChars;\n    DWORD ulRootConfigurationPathType;\n    DWORD ulRootConfigurationPathChars;\n    DWORD ulAppDirPathType;\n    DWORD ulAppDirPathChars;\n    PCWSTR lpRootManifestPath;\n    PCWSTR lpRootConfigurationPath;\n    PCWSTR lpAppDirPath;\n} ACTIVATION_CONTEXT_DETAILED_INFORMATION, *PACTIVATION_CONTEXT_DETAILED_INFORMATION;\n\ntypedef const struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;\n\n#define DLL_PROCESS_ATTACH   1    \n#define DLL_THREAD_ATTACH    2    \n#define DLL_THREAD_DETACH    3    \n#define DLL_PROCESS_DETACH   0    \n#define DLL_PROCESS_VERIFIER 4    \n\n//\n// Defines for the READ flags for Eventlogging\n//\n#define EVENTLOG_SEQUENTIAL_READ        0x0001\n#define EVENTLOG_SEEK_READ              0x0002\n#define EVENTLOG_FORWARDS_READ          0x0004\n#define EVENTLOG_BACKWARDS_READ         0x0008\n\n//\n// The types of events that can be logged.\n//\n#define EVENTLOG_SUCCESS                0x0000\n#define EVENTLOG_ERROR_TYPE             0x0001\n#define EVENTLOG_WARNING_TYPE           0x0002\n#define EVENTLOG_INFORMATION_TYPE       0x0004\n#define EVENTLOG_AUDIT_SUCCESS          0x0008\n#define EVENTLOG_AUDIT_FAILURE          0x0010\n\n//\n// Defines for the WRITE flags used by Auditing for paired events\n// These are not implemented in Product 1\n//\n\n#define EVENTLOG_START_PAIRED_EVENT    0x0001\n#define EVENTLOG_END_PAIRED_EVENT      0x0002\n#define EVENTLOG_END_ALL_PAIRED_EVENTS 0x0004\n#define EVENTLOG_PAIRED_EVENT_ACTIVE   0x0008\n#define EVENTLOG_PAIRED_EVENT_INACTIVE 0x0010\n\n//\n// Structure that defines the header of the Eventlog record. This is the\n// fixed-sized portion before all the variable-length strings, binary\n// data and pad bytes.\n//\n// TimeGenerated is the time it was generated at the client.\n// TimeWritten is the time it was put into the log at the server end.\n//\n\ntypedef struct _EVENTLOGRECORD {\n    DWORD  Length;        // Length of full record\n    DWORD  Reserved;      // Used by the service\n    DWORD  RecordNumber;  // Absolute record number\n    DWORD  TimeGenerated; // Seconds since 1-1-1970\n    DWORD  TimeWritten;   // Seconds since 1-1-1970\n    DWORD  EventID;\n    WORD   EventType;\n    WORD   NumStrings;\n    WORD   EventCategory;\n    WORD   ReservedFlags; // For use with paired events (auditing)\n    DWORD  ClosingRecordNumber; // For use with paired events (auditing)\n    DWORD  StringOffset;  // Offset from beginning of record\n    DWORD  UserSidLength;\n    DWORD  UserSidOffset;\n    DWORD  DataLength;\n    DWORD  DataOffset;    // Offset from beginning of record\n    //\n    // Then follow:\n    //\n    // WCHAR SourceName[]\n    // WCHAR Computername[]\n    // SID   UserSid\n    // WCHAR Strings[]\n    // BYTE  Data[]\n    // CHAR  Pad[]\n    // DWORD Length;\n    //\n} EVENTLOGRECORD, *PEVENTLOGRECORD;\n\n//SS: start of changes to support clustering\n//SS: ideally the\n#define MAXLOGICALLOGNAMESIZE   256\n\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable : 4200)\ntypedef struct _EVENTSFORLOGFILE{\n\tDWORD\t\t\tulSize;\n    WCHAR   \t\tszLogicalLogFile[MAXLOGICALLOGNAMESIZE];        //name of the logical file-security/application/system\n    DWORD\t\t\tulNumRecords;\n\tEVENTLOGRECORD \tpEventLogRecords[];\n}EVENTSFORLOGFILE, *PEVENTSFORLOGFILE;\n\ntypedef struct _PACKEDEVENTINFO{\n    DWORD               ulSize;  //total size of the structure\n    DWORD               ulNumEventsForLogFile; //number of EventsForLogFile structure that follow\n    DWORD \t\t\t\tulOffsets[];           //the offsets from the start of this structure to the EVENTSFORLOGFILE structure\n}PACKEDEVENTINFO, *PPACKEDEVENTINFO;\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default : 4200)\n#endif\n//SS: end of changes to support clustering\n//\n\n// begin_ntddk begin_wdm begin_nthal\n//\n// Registry Specific Access Rights.\n//\n\n#define KEY_QUERY_VALUE         (0x0001)\n#define KEY_SET_VALUE           (0x0002)\n#define KEY_CREATE_SUB_KEY      (0x0004)\n#define KEY_ENUMERATE_SUB_KEYS  (0x0008)\n#define KEY_NOTIFY              (0x0010)\n#define KEY_CREATE_LINK         (0x0020)\n#define KEY_WOW64_32KEY         (0x0200)\n#define KEY_WOW64_64KEY         (0x0100)\n#define KEY_WOW64_RES           (0x0300)\n\n#define KEY_READ                ((STANDARD_RIGHTS_READ       |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY)                 \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n\n#define KEY_WRITE               ((STANDARD_RIGHTS_WRITE      |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY)         \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_EXECUTE             ((KEY_READ)                   \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_ALL_ACCESS          ((STANDARD_RIGHTS_ALL        |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY         |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY                 |\\\n                                  KEY_CREATE_LINK)            \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n//\n// Open/Create Options\n//\n\n#define REG_OPTION_RESERVED         (0x00000000L)   // Parameter is reserved\n\n#define REG_OPTION_NON_VOLATILE     (0x00000000L)   // Key is preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_VOLATILE         (0x00000001L)   // Key is not preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_CREATE_LINK      (0x00000002L)   // Created key is a\n                                                    // symbolic link\n\n#define REG_OPTION_BACKUP_RESTORE   (0x00000004L)   // open for backup or restore\n                                                    // special access rules\n                                                    // privilege required\n\n#define REG_OPTION_OPEN_LINK        (0x00000008L)   // Open symbolic link\n\n#define REG_LEGAL_OPTION            \\\n                (REG_OPTION_RESERVED            |\\\n                 REG_OPTION_NON_VOLATILE        |\\\n                 REG_OPTION_VOLATILE            |\\\n                 REG_OPTION_CREATE_LINK         |\\\n                 REG_OPTION_BACKUP_RESTORE      |\\\n                 REG_OPTION_OPEN_LINK)\n\n//\n// Key creation/open disposition\n//\n\n#define REG_CREATED_NEW_KEY         (0x00000001L)   // New Registry Key created\n#define REG_OPENED_EXISTING_KEY     (0x00000002L)   // Existing Key opened\n\n//\n// hive format to be used by Reg(Nt)SaveKeyEx\n//\n#define REG_STANDARD_FORMAT     1\n#define REG_LATEST_FORMAT       2\n#define REG_NO_COMPRESSION      4\n\n//\n// Key restore flags\n//\n\n#define REG_WHOLE_HIVE_VOLATILE     (0x00000001L)   // Restore whole hive volatile\n#define REG_REFRESH_HIVE            (0x00000002L)   // Unwind changes to last flush\n#define REG_NO_LAZY_FLUSH           (0x00000004L)   // Never lazy flush this hive\n#define REG_FORCE_RESTORE           (0x00000008L)   // Force the restore process even when we have open handles on subkeys\n\n// end_ntddk end_wdm end_nthal\n\n//\n// Notify filter values\n//\n#define REG_NOTIFY_CHANGE_NAME          (0x00000001L) // Create or delete (child)\n#define REG_NOTIFY_CHANGE_ATTRIBUTES    (0x00000002L)\n#define REG_NOTIFY_CHANGE_LAST_SET      (0x00000004L) // time stamp\n#define REG_NOTIFY_CHANGE_SECURITY      (0x00000008L)\n\n#define REG_LEGAL_CHANGE_FILTER                 \\\n                (REG_NOTIFY_CHANGE_NAME          |\\\n                 REG_NOTIFY_CHANGE_ATTRIBUTES    |\\\n                 REG_NOTIFY_CHANGE_LAST_SET      |\\\n                 REG_NOTIFY_CHANGE_SECURITY)\n\n//\n//\n// Predefined Value Types.\n//\n\n#define REG_NONE                    ( 0 )   // No value type\n#define REG_SZ                      ( 1 )   // Unicode nul terminated string\n#define REG_EXPAND_SZ               ( 2 )   // Unicode nul terminated string\n                                            // (with environment variable references)\n#define REG_BINARY                  ( 3 )   // Free form binary\n#define REG_DWORD                   ( 4 )   // 32-bit number\n#define REG_DWORD_LITTLE_ENDIAN     ( 4 )   // 32-bit number (same as REG_DWORD)\n#define REG_DWORD_BIG_ENDIAN        ( 5 )   // 32-bit number\n#define REG_LINK                    ( 6 )   // Symbolic Link (unicode)\n#define REG_MULTI_SZ                ( 7 )   // Multiple Unicode strings\n#define REG_RESOURCE_LIST           ( 8 )   // Resource list in the resource map\n#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )  // Resource list in the hardware description\n#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )\n#define REG_QWORD                   ( 11 )  // 64-bit number\n#define REG_QWORD_LITTLE_ENDIAN     ( 11 )  // 64-bit number (same as REG_QWORD)\n\n// end_ntddk end_wdm end_nthal\n\f\n// begin_ntddk begin_wdm begin_nthal\n//\n// Service Types (Bit Mask)\n//\n#define SERVICE_KERNEL_DRIVER          0x00000001\n#define SERVICE_FILE_SYSTEM_DRIVER     0x00000002\n#define SERVICE_ADAPTER                0x00000004\n#define SERVICE_RECOGNIZER_DRIVER      0x00000008\n\n#define SERVICE_DRIVER                 (SERVICE_KERNEL_DRIVER | \\\n                                        SERVICE_FILE_SYSTEM_DRIVER | \\\n                                        SERVICE_RECOGNIZER_DRIVER)\n\n#define SERVICE_WIN32_OWN_PROCESS      0x00000010\n#define SERVICE_WIN32_SHARE_PROCESS    0x00000020\n#define SERVICE_WIN32                  (SERVICE_WIN32_OWN_PROCESS | \\\n                                        SERVICE_WIN32_SHARE_PROCESS)\n\n#define SERVICE_INTERACTIVE_PROCESS    0x00000100\n\n#define SERVICE_TYPE_ALL               (SERVICE_WIN32  | \\\n                                        SERVICE_ADAPTER | \\\n                                        SERVICE_DRIVER  | \\\n                                        SERVICE_INTERACTIVE_PROCESS)\n\n//\n// Start Type\n//\n\n#define SERVICE_BOOT_START             0x00000000\n#define SERVICE_SYSTEM_START           0x00000001\n#define SERVICE_AUTO_START             0x00000002\n#define SERVICE_DEMAND_START           0x00000003\n#define SERVICE_DISABLED               0x00000004\n\n//\n// Error control type\n//\n#define SERVICE_ERROR_IGNORE           0x00000000\n#define SERVICE_ERROR_NORMAL           0x00000001\n#define SERVICE_ERROR_SEVERE           0x00000002\n#define SERVICE_ERROR_CRITICAL         0x00000003\n\n//\n//\n// Define the registry driver node enumerations\n//\n\ntypedef enum _CM_SERVICE_NODE_TYPE {\n    DriverType               = SERVICE_KERNEL_DRIVER,\n    FileSystemType           = SERVICE_FILE_SYSTEM_DRIVER,\n    Win32ServiceOwnProcess   = SERVICE_WIN32_OWN_PROCESS,\n    Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,\n    AdapterType              = SERVICE_ADAPTER,\n    RecognizerType           = SERVICE_RECOGNIZER_DRIVER\n} SERVICE_NODE_TYPE;\n\ntypedef enum _CM_SERVICE_LOAD_TYPE {\n    BootLoad    = SERVICE_BOOT_START,\n    SystemLoad  = SERVICE_SYSTEM_START,\n    AutoLoad    = SERVICE_AUTO_START,\n    DemandLoad  = SERVICE_DEMAND_START,\n    DisableLoad = SERVICE_DISABLED\n} SERVICE_LOAD_TYPE;\n\ntypedef enum _CM_ERROR_CONTROL_TYPE {\n    IgnoreError   = SERVICE_ERROR_IGNORE,\n    NormalError   = SERVICE_ERROR_NORMAL,\n    SevereError   = SERVICE_ERROR_SEVERE,\n    CriticalError = SERVICE_ERROR_CRITICAL\n} SERVICE_ERROR_TYPE;\n\n\n\n//\n// IOCTL_TAPE_ERASE definitions\n//\n\n#define TAPE_ERASE_SHORT            0L\n#define TAPE_ERASE_LONG             1L\n\ntypedef struct _TAPE_ERASE {\n    DWORD Type;\n    BOOLEAN Immediate;\n} TAPE_ERASE, *PTAPE_ERASE;\n\n//\n// IOCTL_TAPE_PREPARE definitions\n//\n\n#define TAPE_LOAD                   0L\n#define TAPE_UNLOAD                 1L\n#define TAPE_TENSION                2L\n#define TAPE_LOCK                   3L\n#define TAPE_UNLOCK                 4L\n#define TAPE_FORMAT                 5L\n\ntypedef struct _TAPE_PREPARE {\n    DWORD Operation;\n    BOOLEAN Immediate;\n} TAPE_PREPARE, *PTAPE_PREPARE;\n\n//\n// IOCTL_TAPE_WRITE_MARKS definitions\n//\n\n#define TAPE_SETMARKS               0L\n#define TAPE_FILEMARKS              1L\n#define TAPE_SHORT_FILEMARKS        2L\n#define TAPE_LONG_FILEMARKS         3L\n\ntypedef struct _TAPE_WRITE_MARKS {\n    DWORD Type;\n    DWORD Count;\n    BOOLEAN Immediate;\n} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS;\n\n//\n// IOCTL_TAPE_GET_POSITION definitions\n//\n\n#define TAPE_ABSOLUTE_POSITION       0L\n#define TAPE_LOGICAL_POSITION        1L\n#define TAPE_PSEUDO_LOGICAL_POSITION 2L\n\ntypedef struct _TAPE_GET_POSITION {\n    DWORD Type;\n    DWORD Partition;\n    LARGE_INTEGER Offset;\n} TAPE_GET_POSITION, *PTAPE_GET_POSITION;\n\n//\n// IOCTL_TAPE_SET_POSITION definitions\n//\n\n#define TAPE_REWIND                 0L\n#define TAPE_ABSOLUTE_BLOCK         1L\n#define TAPE_LOGICAL_BLOCK          2L\n#define TAPE_PSEUDO_LOGICAL_BLOCK   3L\n#define TAPE_SPACE_END_OF_DATA      4L\n#define TAPE_SPACE_RELATIVE_BLOCKS  5L\n#define TAPE_SPACE_FILEMARKS        6L\n#define TAPE_SPACE_SEQUENTIAL_FMKS  7L\n#define TAPE_SPACE_SETMARKS         8L\n#define TAPE_SPACE_SEQUENTIAL_SMKS  9L\n\ntypedef struct _TAPE_SET_POSITION {\n    DWORD Method;\n    DWORD Partition;\n    LARGE_INTEGER Offset;\n    BOOLEAN Immediate;\n} TAPE_SET_POSITION, *PTAPE_SET_POSITION;\n\n//\n// IOCTL_TAPE_GET_DRIVE_PARAMS definitions\n//\n\n//\n// Definitions for FeaturesLow parameter\n//\n\n#define TAPE_DRIVE_FIXED            0x00000001\n#define TAPE_DRIVE_SELECT           0x00000002\n#define TAPE_DRIVE_INITIATOR        0x00000004\n\n#define TAPE_DRIVE_ERASE_SHORT      0x00000010\n#define TAPE_DRIVE_ERASE_LONG       0x00000020\n#define TAPE_DRIVE_ERASE_BOP_ONLY   0x00000040\n#define TAPE_DRIVE_ERASE_IMMEDIATE  0x00000080\n\n#define TAPE_DRIVE_TAPE_CAPACITY    0x00000100\n#define TAPE_DRIVE_TAPE_REMAINING   0x00000200\n#define TAPE_DRIVE_FIXED_BLOCK      0x00000400\n#define TAPE_DRIVE_VARIABLE_BLOCK   0x00000800\n\n#define TAPE_DRIVE_WRITE_PROTECT    0x00001000\n#define TAPE_DRIVE_EOT_WZ_SIZE      0x00002000\n\n#define TAPE_DRIVE_ECC              0x00010000\n#define TAPE_DRIVE_COMPRESSION      0x00020000\n#define TAPE_DRIVE_PADDING          0x00040000\n#define TAPE_DRIVE_REPORT_SMKS      0x00080000\n\n#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x00100000\n#define TAPE_DRIVE_GET_LOGICAL_BLK  0x00200000\n#define TAPE_DRIVE_SET_EOT_WZ_SIZE  0x00400000\n\n#define TAPE_DRIVE_EJECT_MEDIA      0x01000000\n#define TAPE_DRIVE_CLEAN_REQUESTS   0x02000000\n#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x04000000\n\n#define TAPE_DRIVE_RESERVED_BIT     0x80000000  //don't use this bit!\n//                                              //can't be a low features bit!\n//                                              //reserved; high features only\n\n//\n// Definitions for FeaturesHigh parameter\n//\n\n#define TAPE_DRIVE_LOAD_UNLOAD      0x80000001\n#define TAPE_DRIVE_TENSION          0x80000002\n#define TAPE_DRIVE_LOCK_UNLOCK      0x80000004\n#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008\n\n#define TAPE_DRIVE_SET_BLOCK_SIZE   0x80000010\n#define TAPE_DRIVE_LOAD_UNLD_IMMED  0x80000020\n#define TAPE_DRIVE_TENSION_IMMED    0x80000040\n#define TAPE_DRIVE_LOCK_UNLK_IMMED  0x80000080\n\n#define TAPE_DRIVE_SET_ECC          0x80000100\n#define TAPE_DRIVE_SET_COMPRESSION  0x80000200\n#define TAPE_DRIVE_SET_PADDING      0x80000400\n#define TAPE_DRIVE_SET_REPORT_SMKS  0x80000800\n\n#define TAPE_DRIVE_ABSOLUTE_BLK     0x80001000\n#define TAPE_DRIVE_ABS_BLK_IMMED    0x80002000\n#define TAPE_DRIVE_LOGICAL_BLK      0x80004000\n#define TAPE_DRIVE_LOG_BLK_IMMED    0x80008000\n\n#define TAPE_DRIVE_END_OF_DATA      0x80010000\n#define TAPE_DRIVE_RELATIVE_BLKS    0x80020000\n#define TAPE_DRIVE_FILEMARKS        0x80040000\n#define TAPE_DRIVE_SEQUENTIAL_FMKS  0x80080000\n\n#define TAPE_DRIVE_SETMARKS         0x80100000\n#define TAPE_DRIVE_SEQUENTIAL_SMKS  0x80200000\n#define TAPE_DRIVE_REVERSE_POSITION 0x80400000\n#define TAPE_DRIVE_SPACE_IMMEDIATE  0x80800000\n\n#define TAPE_DRIVE_WRITE_SETMARKS   0x81000000\n#define TAPE_DRIVE_WRITE_FILEMARKS  0x82000000\n#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000\n#define TAPE_DRIVE_WRITE_LONG_FMKS  0x88000000\n\n#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000\n#define TAPE_DRIVE_FORMAT           0xA0000000\n#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000\n#define TAPE_DRIVE_HIGH_FEATURES    0x80000000  //mask for high features flag\n\ntypedef struct _TAPE_GET_DRIVE_PARAMETERS {\n    BOOLEAN ECC;\n    BOOLEAN Compression;\n    BOOLEAN DataPadding;\n    BOOLEAN ReportSetmarks;\n    DWORD DefaultBlockSize;\n    DWORD MaximumBlockSize;\n    DWORD MinimumBlockSize;\n    DWORD MaximumPartitionCount;\n    DWORD FeaturesLow;\n    DWORD FeaturesHigh;\n    DWORD EOTWarningZoneSize;\n} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;\n\n//\n// IOCTL_TAPE_SET_DRIVE_PARAMETERS definitions\n//\n\ntypedef struct _TAPE_SET_DRIVE_PARAMETERS {\n    BOOLEAN ECC;\n    BOOLEAN Compression;\n    BOOLEAN DataPadding;\n    BOOLEAN ReportSetmarks;\n    DWORD EOTWarningZoneSize;\n} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS;\n\n//\n// IOCTL_TAPE_GET_MEDIA_PARAMETERS definitions\n//\n\ntypedef struct _TAPE_GET_MEDIA_PARAMETERS {\n    LARGE_INTEGER Capacity;\n    LARGE_INTEGER Remaining;\n    DWORD BlockSize;\n    DWORD PartitionCount;\n    BOOLEAN WriteProtected;\n} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS;\n\n//\n// IOCTL_TAPE_SET_MEDIA_PARAMETERS definitions\n//\n\ntypedef struct _TAPE_SET_MEDIA_PARAMETERS {\n    DWORD BlockSize;\n} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;\n\n//\n// IOCTL_TAPE_CREATE_PARTITION definitions\n//\n\n#define TAPE_FIXED_PARTITIONS       0L\n#define TAPE_SELECT_PARTITIONS      1L\n#define TAPE_INITIATOR_PARTITIONS   2L\n\ntypedef struct _TAPE_CREATE_PARTITION {\n    DWORD Method;\n    DWORD Count;\n    DWORD Size;\n} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION;\n\n\n//\n// WMI Methods\n//\n#define TAPE_QUERY_DRIVE_PARAMETERS       0L\n#define TAPE_QUERY_MEDIA_CAPACITY         1L\n#define TAPE_CHECK_FOR_DRIVE_PROBLEM      2L\n#define TAPE_QUERY_IO_ERROR_DATA          3L\n#define TAPE_QUERY_DEVICE_ERROR_DATA      4L\n\ntypedef struct _TAPE_WMI_OPERATIONS {\n   DWORD Method;\n   DWORD DataBufferSize;\n   PVOID DataBuffer;\n} TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS;\n\n//\n// Type of drive errors\n//\ntypedef enum _TAPE_DRIVE_PROBLEM_TYPE {\n   TapeDriveProblemNone, TapeDriveReadWriteWarning,\n   TapeDriveReadWriteError, TapeDriveReadWarning,\n   TapeDriveWriteWarning, TapeDriveReadError,\n   TapeDriveWriteError, TapeDriveHardwareError,\n   TapeDriveUnsupportedMedia, TapeDriveScsiConnectionError,\n   TapeDriveTimetoClean, TapeDriveCleanDriveNow,\n   TapeDriveMediaLifeExpired, TapeDriveSnappedTape\n} TAPE_DRIVE_PROBLEM_TYPE;\n\n\n#if defined(_M_AMD64) && !defined(__midl)\n\n\n__forceinline\nPVOID\nGetCurrentFiber (\n    VOID\n    )\n\n{\n\n    return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB, FiberData));\n}\n\n__forceinline\nPVOID\nGetFiberData (\n    VOID\n    )\n\n{\n\n    return *(PVOID *)GetCurrentFiber();\n}\n\n#endif // _M_AMD64 && !defined(__midl)\n\n#if (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED // winnt_only\n#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION         (1)\n#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION              (2)\n#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION     (3)\n#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION       (4)\n#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION    (5)\n#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION (6)\n#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION       (7)\n#define ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE   (8)\n#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES               (9)\n#endif // winnt_only\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif /* _WINNT_ */\n\n"
  },
  {
    "path": "Bin/i386/APILib/WinReg.h",
    "content": "/*++ BUILD Version: 0001    // Increment this if a change has global effects\n\nCopyright (c) Microsoft Corporation.  All rights reserved.\n\nModule Name:\n\n    Winreg.h\n\nAbstract:\n\n    This module contains the function prototypes and constant, type and\n    structure definitions for the Windows 32-Bit Registry API.\n\n--*/\n\n#ifndef _WINREG_\n#define _WINREG_\n\n\n#ifdef _MAC\n#include <macwin32.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef WINVER\n#define WINVER 0x0500   // version 5.0\n#endif /* !WINVER */\n\n//\n// Requested Key access mask type.\n//\n\ntypedef ACCESS_MASK REGSAM;\n\n//\n// Reserved Key Handles.\n//\n\n#define HKEY_CLASSES_ROOT           (( HKEY ) (ULONG_PTR)((LONG)0x80000000) )\n#define HKEY_CURRENT_USER           (( HKEY ) (ULONG_PTR)((LONG)0x80000001) )\n#define HKEY_LOCAL_MACHINE          (( HKEY ) (ULONG_PTR)((LONG)0x80000002) )\n#define HKEY_USERS                  (( HKEY ) (ULONG_PTR)((LONG)0x80000003) )\n#define HKEY_PERFORMANCE_DATA       (( HKEY ) (ULONG_PTR)((LONG)0x80000004) )\n#define HKEY_PERFORMANCE_TEXT       (( HKEY ) (ULONG_PTR)((LONG)0x80000050) )\n#define HKEY_PERFORMANCE_NLSTEXT    (( HKEY ) (ULONG_PTR)((LONG)0x80000060) )\n#if(WINVER >= 0x0400)\n#define HKEY_CURRENT_CONFIG         (( HKEY ) (ULONG_PTR)((LONG)0x80000005) )\n#define HKEY_DYN_DATA               (( HKEY ) (ULONG_PTR)((LONG)0x80000006) )\n\n/*NOINC*/\n#ifndef _PROVIDER_STRUCTS_DEFINED\n#define _PROVIDER_STRUCTS_DEFINED\n\n#define PROVIDER_KEEPS_VALUE_LENGTH 0x1\nstruct val_context {\n    int valuelen;       // the total length of this value\n    LPVOID value_context;   // provider's context\n    LPVOID val_buff_ptr;    // where in the ouput buffer the value is.\n};\n\ntypedef struct val_context FAR *PVALCONTEXT;\n\ntypedef struct pvalueA {           // Provider supplied value/context.\n    LPSTR   pv_valuename;          // The value name pointer\n    int pv_valuelen;\n    LPVOID pv_value_context;\n    DWORD pv_type;\n}PVALUEA, FAR *PPVALUEA;\ntypedef struct pvalueW {           // Provider supplied value/context.\n    LPWSTR  pv_valuename;          // The value name pointer\n    int pv_valuelen;\n    LPVOID pv_value_context;\n    DWORD pv_type;\n}PVALUEW, FAR *PPVALUEW;\n#ifdef UNICODE\ntypedef PVALUEW PVALUE;\ntypedef PPVALUEW PPVALUE;\n#else\ntypedef PVALUEA PVALUE;\ntypedef PPVALUEA PPVALUE;\n#endif // UNICODE\n\ntypedef\nDWORD _cdecl\nQUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals,\n          LPVOID outputbuffer, DWORD FAR *total_outlen, DWORD input_blen);\n\ntypedef QUERYHANDLER FAR *PQUERYHANDLER;\n\ntypedef struct provider_info {\n    PQUERYHANDLER pi_R0_1val;\n    PQUERYHANDLER pi_R0_allvals;\n    PQUERYHANDLER pi_R3_1val;\n    PQUERYHANDLER pi_R3_allvals;\n    DWORD pi_flags;    // capability flags (none defined yet).\n    LPVOID pi_key_context;\n}REG_PROVIDER;\n\ntypedef struct provider_info FAR *PPROVIDER;\n\ntypedef struct value_entA {\n    LPSTR   ve_valuename;\n    DWORD ve_valuelen;\n    DWORD_PTR ve_valueptr;\n    DWORD ve_type;\n}VALENTA, FAR *PVALENTA;\ntypedef struct value_entW {\n    LPWSTR  ve_valuename;\n    DWORD ve_valuelen;\n    DWORD_PTR ve_valueptr;\n    DWORD ve_type;\n}VALENTW, FAR *PVALENTW;\n#ifdef UNICODE\ntypedef VALENTW VALENT;\ntypedef PVALENTW PVALENT;\n#else\ntypedef VALENTA VALENT;\ntypedef PVALENTA PVALENT;\n#endif // UNICODE\n\n#endif // not(_PROVIDER_STRUCTS_DEFINED)\n/*INC*/\n\n#endif /* WINVER >= 0x0400 */\n\n//\n// Default values for parameters that do not exist in the Win 3.1\n// compatible APIs.\n//\n\n#define WIN31_CLASS                 NULL\n\n//\n// API Prototypes.\n//\n\n\nWINADVAPI\nLONG\nAPIENTRY\nRegCloseKey (\n    IN HKEY hKey\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegOverridePredefKey (\n    IN HKEY hKey,\n    IN HKEY hNewHKey\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenUserClassesRoot(\n    HANDLE hToken,\n    DWORD  dwOptions,\n    REGSAM samDesired,\n    PHKEY  phkResult\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenCurrentUser(\n    REGSAM samDesired,\n    PHKEY phkResult\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegDisablePredefinedCache(\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegConnectRegistryA (\n    IN LPCSTR lpMachineName,\n    IN HKEY hKey,\n    OUT PHKEY phkResult\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegConnectRegistryW (\n    IN LPCWSTR lpMachineName,\n    IN HKEY hKey,\n    OUT PHKEY phkResult\n    );\n#ifdef UNICODE\n#define RegConnectRegistry  RegConnectRegistryW\n#else\n#define RegConnectRegistry  RegConnectRegistryA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegCreateKeyA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    OUT PHKEY phkResult\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegCreateKeyW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    OUT PHKEY phkResult\n    );\n#ifdef UNICODE\n#define RegCreateKey  RegCreateKeyW\n#else\n#define RegCreateKey  RegCreateKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegCreateKeyExA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    IN DWORD Reserved,\n    IN LPSTR lpClass,\n    IN DWORD dwOptions,\n    IN REGSAM samDesired,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    OUT PHKEY phkResult,\n    OUT LPDWORD lpdwDisposition\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegCreateKeyExW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    IN DWORD Reserved,\n    IN LPWSTR lpClass,\n    IN DWORD dwOptions,\n    IN REGSAM samDesired,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    OUT PHKEY phkResult,\n    OUT LPDWORD lpdwDisposition\n    );\n#ifdef UNICODE\n#define RegCreateKeyEx  RegCreateKeyExW\n#else\n#define RegCreateKeyEx  RegCreateKeyExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegDeleteKeyA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegDeleteKeyW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey\n    );\n#ifdef UNICODE\n#define RegDeleteKey  RegDeleteKeyW\n#else\n#define RegDeleteKey  RegDeleteKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegDeleteValueA (\n    IN HKEY hKey,\n    IN LPCSTR lpValueName\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegDeleteValueW (\n    IN HKEY hKey,\n    IN LPCWSTR lpValueName\n    );\n#ifdef UNICODE\n#define RegDeleteValue  RegDeleteValueW\n#else\n#define RegDeleteValue  RegDeleteValueA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumKeyA (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPSTR lpName,\n    IN DWORD cbName\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumKeyW (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPWSTR lpName,\n    IN DWORD cbName\n    );\n#ifdef UNICODE\n#define RegEnumKey  RegEnumKeyW\n#else\n#define RegEnumKey  RegEnumKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumKeyExA (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPSTR lpName,\n    IN OUT LPDWORD lpcbName,\n    IN LPDWORD lpReserved,\n    IN OUT LPSTR lpClass,\n    IN OUT LPDWORD lpcbClass,\n    OUT PFILETIME lpftLastWriteTime\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumKeyExW (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPWSTR lpName,\n    IN OUT LPDWORD lpcbName,\n    IN LPDWORD lpReserved,\n    IN OUT LPWSTR lpClass,\n    IN OUT LPDWORD lpcbClass,\n    OUT PFILETIME lpftLastWriteTime\n    );\n#ifdef UNICODE\n#define RegEnumKeyEx  RegEnumKeyExW\n#else\n#define RegEnumKeyEx  RegEnumKeyExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumValueA (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPSTR lpValueName,\n    IN OUT LPDWORD lpcbValueName,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpType,\n    OUT LPBYTE lpData,\n    IN OUT LPDWORD lpcbData\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegEnumValueW (\n    IN HKEY hKey,\n    IN DWORD dwIndex,\n    OUT LPWSTR lpValueName,\n    IN OUT LPDWORD lpcbValueName,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpType,\n    OUT LPBYTE lpData,\n    IN OUT LPDWORD lpcbData\n    );\n#ifdef UNICODE\n#define RegEnumValue  RegEnumValueW\n#else\n#define RegEnumValue  RegEnumValueA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegFlushKey (\n    IN HKEY hKey\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegGetKeySecurity (\n    IN HKEY hKey,\n    IN SECURITY_INFORMATION SecurityInformation,\n    OUT PSECURITY_DESCRIPTOR pSecurityDescriptor,\n    IN OUT LPDWORD lpcbSecurityDescriptor\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegLoadKeyA (\n    IN HKEY    hKey,\n    IN LPCSTR  lpSubKey,\n    IN LPCSTR  lpFile\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegLoadKeyW (\n    IN HKEY    hKey,\n    IN LPCWSTR  lpSubKey,\n    IN LPCWSTR  lpFile\n    );\n#ifdef UNICODE\n#define RegLoadKey  RegLoadKeyW\n#else\n#define RegLoadKey  RegLoadKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegNotifyChangeKeyValue (\n    IN HKEY hKey,\n    IN BOOL bWatchSubtree,\n    IN DWORD dwNotifyFilter,\n    IN HANDLE hEvent,\n    IN BOOL fAsynchronus\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenKeyA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    OUT PHKEY phkResult\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenKeyW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    OUT PHKEY phkResult\n    );\n#ifdef UNICODE\n#define RegOpenKey  RegOpenKeyW\n#else\n#define RegOpenKey  RegOpenKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenKeyExA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    IN DWORD ulOptions,\n    IN REGSAM samDesired,\n    OUT PHKEY phkResult\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegOpenKeyExW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    IN DWORD ulOptions,\n    IN REGSAM samDesired,\n    OUT PHKEY phkResult\n    );\n#ifdef UNICODE\n#define RegOpenKeyEx  RegOpenKeyExW\n#else\n#define RegOpenKeyEx  RegOpenKeyExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryInfoKeyA (\n    IN HKEY hKey,\n    OUT LPSTR lpClass,\n    IN OUT LPDWORD lpcbClass,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpcSubKeys,\n    OUT LPDWORD lpcbMaxSubKeyLen,\n    OUT LPDWORD lpcbMaxClassLen,\n    OUT LPDWORD lpcValues,\n    OUT LPDWORD lpcbMaxValueNameLen,\n    OUT LPDWORD lpcbMaxValueLen,\n    OUT LPDWORD lpcbSecurityDescriptor,\n    OUT PFILETIME lpftLastWriteTime\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryInfoKeyW (\n    IN HKEY hKey,\n    OUT LPWSTR lpClass,\n    IN OUT LPDWORD lpcbClass,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpcSubKeys,\n    OUT LPDWORD lpcbMaxSubKeyLen,\n    OUT LPDWORD lpcbMaxClassLen,\n    OUT LPDWORD lpcValues,\n    OUT LPDWORD lpcbMaxValueNameLen,\n    OUT LPDWORD lpcbMaxValueLen,\n    OUT LPDWORD lpcbSecurityDescriptor,\n    OUT PFILETIME lpftLastWriteTime\n    );\n#ifdef UNICODE\n#define RegQueryInfoKey  RegQueryInfoKeyW\n#else\n#define RegQueryInfoKey  RegQueryInfoKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryValueA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    OUT LPSTR lpValue,\n    IN OUT PLONG   lpcbValue\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryValueW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    OUT LPWSTR lpValue,\n    IN OUT PLONG   lpcbValue\n    );\n#ifdef UNICODE\n#define RegQueryValue  RegQueryValueW\n#else\n#define RegQueryValue  RegQueryValueA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryMultipleValuesA (\n    IN HKEY hKey,\n    OUT PVALENTA val_list,\n    IN DWORD num_vals,\n    OUT LPSTR lpValueBuf,\n    IN OUT LPDWORD ldwTotsize\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryMultipleValuesW (\n    IN HKEY hKey,\n    OUT PVALENTW val_list,\n    IN DWORD num_vals,\n    OUT LPWSTR lpValueBuf,\n    IN OUT LPDWORD ldwTotsize\n    );\n#ifdef UNICODE\n#define RegQueryMultipleValues  RegQueryMultipleValuesW\n#else\n#define RegQueryMultipleValues  RegQueryMultipleValuesA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryValueExA (\n    IN HKEY hKey,\n    IN LPCSTR lpValueName,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpType,\n    IN OUT LPBYTE lpData,\n    IN OUT LPDWORD lpcbData\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegQueryValueExW (\n    IN HKEY hKey,\n    IN LPCWSTR lpValueName,\n    IN LPDWORD lpReserved,\n    OUT LPDWORD lpType,\n    IN OUT LPBYTE lpData,\n    IN OUT LPDWORD lpcbData\n    );\n#ifdef UNICODE\n#define RegQueryValueEx  RegQueryValueExW\n#else\n#define RegQueryValueEx  RegQueryValueExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegReplaceKeyA (\n    IN HKEY     hKey,\n    IN LPCSTR  lpSubKey,\n    IN LPCSTR  lpNewFile,\n    IN LPCSTR  lpOldFile\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegReplaceKeyW (\n    IN HKEY     hKey,\n    IN LPCWSTR  lpSubKey,\n    IN LPCWSTR  lpNewFile,\n    IN LPCWSTR  lpOldFile\n    );\n#ifdef UNICODE\n#define RegReplaceKey  RegReplaceKeyW\n#else\n#define RegReplaceKey  RegReplaceKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegRestoreKeyA (\n    IN HKEY hKey,\n    IN LPCSTR lpFile,\n    IN DWORD   dwFlags\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegRestoreKeyW (\n    IN HKEY hKey,\n    IN LPCWSTR lpFile,\n    IN DWORD   dwFlags\n    );\n#ifdef UNICODE\n#define RegRestoreKey  RegRestoreKeyW\n#else\n#define RegRestoreKey  RegRestoreKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegSaveKeyA (\n    IN HKEY hKey,\n    IN LPCSTR lpFile,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegSaveKeyW (\n    IN HKEY hKey,\n    IN LPCWSTR lpFile,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes\n    );\n#ifdef UNICODE\n#define RegSaveKey  RegSaveKeyW\n#else\n#define RegSaveKey  RegSaveKeyA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegSetKeySecurity (\n    IN HKEY hKey,\n    IN SECURITY_INFORMATION SecurityInformation,\n    IN PSECURITY_DESCRIPTOR pSecurityDescriptor\n    );\n\nWINADVAPI\nLONG\nAPIENTRY\nRegSetValueA (\n    IN HKEY hKey,\n    IN LPCSTR lpSubKey,\n    IN DWORD dwType,\n    IN LPCSTR lpData,\n    IN DWORD cbData\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegSetValueW (\n    IN HKEY hKey,\n    IN LPCWSTR lpSubKey,\n    IN DWORD dwType,\n    IN LPCWSTR lpData,\n    IN DWORD cbData\n    );\n#ifdef UNICODE\n#define RegSetValue  RegSetValueW\n#else\n#define RegSetValue  RegSetValueA\n#endif // !UNICODE\n\n\nWINADVAPI\nLONG\nAPIENTRY\nRegSetValueExA (\n    IN HKEY hKey,\n    IN LPCSTR lpValueName,\n    IN DWORD Reserved,\n    IN DWORD dwType,\n    IN CONST BYTE* lpData,\n    IN DWORD cbData\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegSetValueExW (\n    IN HKEY hKey,\n    IN LPCWSTR lpValueName,\n    IN DWORD Reserved,\n    IN DWORD dwType,\n    IN CONST BYTE* lpData,\n    IN DWORD cbData\n    );\n#ifdef UNICODE\n#define RegSetValueEx  RegSetValueExW\n#else\n#define RegSetValueEx  RegSetValueExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nRegUnLoadKeyA (\n    IN HKEY    hKey,\n    IN LPCSTR lpSubKey\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegUnLoadKeyW (\n    IN HKEY    hKey,\n    IN LPCWSTR lpSubKey\n    );\n#ifdef UNICODE\n#define RegUnLoadKey  RegUnLoadKeyW\n#else\n#define RegUnLoadKey  RegUnLoadKeyA\n#endif // !UNICODE\n\n//\n// Remoteable System Shutdown APIs\n//\n\nWINADVAPI\nBOOL\nAPIENTRY\nInitiateSystemShutdownA(\n    IN LPSTR lpMachineName,\n    IN LPSTR lpMessage,\n    IN DWORD dwTimeout,\n    IN BOOL bForceAppsClosed,\n    IN BOOL bRebootAfterShutdown\n    );\nWINADVAPI\nBOOL\nAPIENTRY\nInitiateSystemShutdownW(\n    IN LPWSTR lpMachineName,\n    IN LPWSTR lpMessage,\n    IN DWORD dwTimeout,\n    IN BOOL bForceAppsClosed,\n    IN BOOL bRebootAfterShutdown\n    );\n#ifdef UNICODE\n#define InitiateSystemShutdown  InitiateSystemShutdownW\n#else\n#define InitiateSystemShutdown  InitiateSystemShutdownA\n#endif // !UNICODE\n\n\nWINADVAPI\nBOOL\nAPIENTRY\nAbortSystemShutdownA(\n    IN LPSTR lpMachineName\n    );\nWINADVAPI\nBOOL\nAPIENTRY\nAbortSystemShutdownW(\n    IN LPWSTR lpMachineName\n    );\n#ifdef UNICODE\n#define AbortSystemShutdown  AbortSystemShutdownW\n#else\n#define AbortSystemShutdown  AbortSystemShutdownA\n#endif // !UNICODE\n\n//\n// defines for InitiateSystemShutdownEx reason codes\n//\n\n#include <reason.h>             // get the public reasons\n//\n// Then for Historical reasons support some old symbols, internal only\n\n#define REASON_SWINSTALL    SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION\n#define REASON_HWINSTALL    SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION\n#define REASON_SERVICEHANG  SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG\n#define REASON_UNSTABLE     SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE\n#define REASON_SWHWRECONF   SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG\n#define REASON_OTHER        SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER\n#define REASON_UNKNOWN      SHTDN_REASON_UNKNOWN\n#define REASON_LEGACY_API   SHTDN_REASON_LEGACY_API\n#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED\n\n//\n// MAX Shutdown TimeOut == 10 Years in seconds\n//\n#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)  \t\n\nWINADVAPI\nBOOL\nAPIENTRY\nInitiateSystemShutdownExA(\n    IN LPSTR lpMachineName,\n    IN LPSTR lpMessage,\n    IN DWORD dwTimeout,\n    IN BOOL bForceAppsClosed,\n    IN BOOL bRebootAfterShutdown,\n    IN DWORD dwReason\n    );\nWINADVAPI\nBOOL\nAPIENTRY\nInitiateSystemShutdownExW(\n    IN LPWSTR lpMachineName,\n    IN LPWSTR lpMessage,\n    IN DWORD dwTimeout,\n    IN BOOL bForceAppsClosed,\n    IN BOOL bRebootAfterShutdown,\n    IN DWORD dwReason\n    );\n#ifdef UNICODE\n#define InitiateSystemShutdownEx  InitiateSystemShutdownExW\n#else\n#define InitiateSystemShutdownEx  InitiateSystemShutdownExA\n#endif // !UNICODE\n\n\nWINADVAPI\nLONG\nAPIENTRY\nRegSaveKeyExA (\n    IN HKEY hKey,\n    IN LPCSTR lpFile,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    IN DWORD Flags\n    );\nWINADVAPI\nLONG\nAPIENTRY\nRegSaveKeyExW (\n    IN HKEY hKey,\n    IN LPCWSTR lpFile,\n    IN LPSECURITY_ATTRIBUTES lpSecurityAttributes,\n    IN DWORD Flags\n    );\n#ifdef UNICODE\n#define RegSaveKeyEx  RegSaveKeyExW\n#else\n#define RegSaveKeyEx  RegSaveKeyExA\n#endif // !UNICODE\n\nWINADVAPI\nLONG\nAPIENTRY\nWow64Win32ApiEntry (\n    DWORD dwFuncNumber,\n    DWORD dwFlag,\n    DWORD dwRes\n    );\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif // _WINREG_\n\n"
  },
  {
    "path": "Bin/i386/APILib/WinSock.h",
    "content": "/* WINSOCK.H--definitions to be used with the WINSOCK.DLL\n * Copyright (c) Microsoft Corporation. All rights reserved.\n *\n * This header file corresponds to version 1.1 of the Windows Sockets specification.\n *\n * This file includes parts which are Copyright (c) 1982-1986 Regents\n * of the University of California.  All rights reserved.  The\n * Berkeley Software License Agreement specifies the terms and\n * conditions for redistribution.\n *\n */\n\n#ifndef _WINSOCKAPI_\n#define _WINSOCKAPI_\n\n#if _MSC_VER > 1000\n#pragma once\n#endif\n\n/*\n * Pull in WINDOWS.H if necessary\n */\n#ifndef _INC_WINDOWS\n#include <windows.h>\n#endif /* _INC_WINDOWS */\n\n/*\n * Basic system type definitions, taken from the BSD file sys/types.h.\n */\ntypedef unsigned char   u_char;\ntypedef unsigned short  u_short;\ntypedef unsigned int    u_int;\ntypedef unsigned long   u_long;\n\n/*\n * The new type to be used in all\n * instances which refer to sockets.\n */\n\ntypedef UINT_PTR        SOCKET;\n\n/*\n * Select uses arrays of SOCKETs.  These macros manipulate such\n * arrays.  FD_SETSIZE may be defined by the user before including\n * this file, but the default here should be >= 64.\n *\n * CAVEAT IMPLEMENTOR and USER: THESE MACROS AND TYPES MUST BE\n * INCLUDED IN WINSOCK.H EXACTLY AS SHOWN HERE.\n */\n#ifndef FD_SETSIZE\n#define FD_SETSIZE      64\n#endif /* FD_SETSIZE */\n\ntypedef struct fd_set {\n        u_int   fd_count;               /* how many are SET? */\n        SOCKET  fd_array[FD_SETSIZE];   /* an array of SOCKETs */\n} fd_set;\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern int PASCAL FAR __WSAFDIsSet(SOCKET, fd_set FAR *);\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#define FD_CLR(fd, set) do { \\\n    u_int __i; \\\n    for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { \\\n        if (((fd_set FAR *)(set))->fd_array[__i] == fd) { \\\n            while (__i < ((fd_set FAR *)(set))->fd_count-1) { \\\n                ((fd_set FAR *)(set))->fd_array[__i] = \\\n                    ((fd_set FAR *)(set))->fd_array[__i+1]; \\\n                __i++; \\\n            } \\\n            ((fd_set FAR *)(set))->fd_count--; \\\n            break; \\\n        } \\\n    } \\\n} while(0)\n\n#define FD_SET(fd, set) do { \\\n    if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) \\\n        ((fd_set FAR *)(set))->fd_array[((fd_set FAR *)(set))->fd_count++]=(fd);\\\n} while(0)\n\n#define FD_ZERO(set) (((fd_set FAR *)(set))->fd_count=0)\n\n#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))\n\n/*\n * Structure used in select() call, taken from the BSD file sys/time.h.\n */\nstruct timeval {\n        long    tv_sec;         /* seconds */\n        long    tv_usec;        /* and microseconds */\n};\n\n/*\n * Operations on timevals.\n *\n * NB: timercmp does not work for >= or <=.\n */\n#define timerisset(tvp)         ((tvp)->tv_sec || (tvp)->tv_usec)\n#define timercmp(tvp, uvp, cmp) \\\n        ((tvp)->tv_sec cmp (uvp)->tv_sec || \\\n         (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)\n#define timerclear(tvp)         (tvp)->tv_sec = (tvp)->tv_usec = 0\n\n/*\n * Commands for ioctlsocket(),  taken from the BSD file fcntl.h.\n *\n *\n * Ioctl's have the command encoded in the lower word,\n * and the size of any in or out parameters in the upper\n * word.  The high 2 bits of the upper word are used\n * to encode the in/out status of the parameter; for now\n * we restrict parameters to at most 128 bytes.\n */\n#define IOCPARM_MASK    0x7f            /* parameters must be < 128 bytes */\n#define IOC_VOID        0x20000000      /* no parameters */\n#define IOC_OUT         0x40000000      /* copy out parameters */\n#define IOC_IN          0x80000000      /* copy in parameters */\n#define IOC_INOUT       (IOC_IN|IOC_OUT)\n                                        /* 0x20000000 distinguishes new &\n                                           old ioctl's */\n#define _IO(x,y)        (IOC_VOID|((x)<<8)|(y))\n\n#define _IOR(x,y,t)     (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n\n#define _IOW(x,y,t)     (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n\n#define FIONREAD    _IOR('f', 127, u_long) /* get # bytes to read */\n#define FIONBIO     _IOW('f', 126, u_long) /* set/clear non-blocking i/o */\n#define FIOASYNC    _IOW('f', 125, u_long) /* set/clear async i/o */\n\n/* Socket I/O Controls */\n#define SIOCSHIWAT  _IOW('s',  0, u_long)  /* set high watermark */\n#define SIOCGHIWAT  _IOR('s',  1, u_long)  /* get high watermark */\n#define SIOCSLOWAT  _IOW('s',  2, u_long)  /* set low watermark */\n#define SIOCGLOWAT  _IOR('s',  3, u_long)  /* get low watermark */\n#define SIOCATMARK  _IOR('s',  7, u_long)  /* at oob mark? */\n\n/*\n * Structures returned by network data base library, taken from the\n * BSD file netdb.h.  All addresses are supplied in host order, and\n * returned in network order (suitable for use in system calls).\n */\n\nstruct  hostent {\n        char    FAR * h_name;           /* official name of host */\n        char    FAR * FAR * h_aliases;  /* alias list */\n        short   h_addrtype;             /* host address type */\n        short   h_length;               /* length of address */\n        char    FAR * FAR * h_addr_list; /* list of addresses */\n#define h_addr  h_addr_list[0]          /* address, for backward compat */\n};\n\n/*\n * It is assumed here that a network number\n * fits in 32 bits.\n */\nstruct  netent {\n        char    FAR * n_name;           /* official name of net */\n        char    FAR * FAR * n_aliases;  /* alias list */\n        short   n_addrtype;             /* net address type */\n        u_long  n_net;                  /* network # */\n};\n\nstruct  servent {\n        char    FAR * s_name;           /* official service name */\n        char    FAR * FAR * s_aliases;  /* alias list */\n#ifdef _WIN64\n        char    FAR * s_proto;          /* protocol to use */\n        short   s_port;                 /* port # */\n#else\n        short   s_port;                 /* port # */\n        char    FAR * s_proto;          /* protocol to use */\n#endif\n};\n\nstruct  protoent {\n        char    FAR * p_name;           /* official protocol name */\n        char    FAR * FAR * p_aliases;  /* alias list */\n        short   p_proto;                /* protocol # */\n};\n\n/*\n * Constants and structures defined by the internet system,\n * Per RFC 790, September 1981, taken from the BSD file netinet/in.h.\n */\n\n/*\n * Protocols\n */\n#define IPPROTO_IP              0               /* dummy for IP */\n#define IPPROTO_ICMP            1               /* control message protocol */\n#define IPPROTO_IGMP            2               /* group management protocol */\n#define IPPROTO_GGP             3               /* gateway^2 (deprecated) */\n#define IPPROTO_TCP             6               /* tcp */\n#define IPPROTO_PUP             12              /* pup */\n#define IPPROTO_UDP             17              /* user datagram protocol */\n#define IPPROTO_IDP             22              /* xns idp */\n#define IPPROTO_ND              77              /* UNOFFICIAL net disk proto */\n\n#define IPPROTO_RAW             255             /* raw IP packet */\n#define IPPROTO_MAX             256\n\n/*\n * Port/socket numbers: network standard functions\n */\n#define IPPORT_ECHO             7\n#define IPPORT_DISCARD          9\n#define IPPORT_SYSTAT           11\n#define IPPORT_DAYTIME          13\n#define IPPORT_NETSTAT          15\n#define IPPORT_FTP              21\n#define IPPORT_TELNET           23\n#define IPPORT_SMTP             25\n#define IPPORT_TIMESERVER       37\n#define IPPORT_NAMESERVER       42\n#define IPPORT_WHOIS            43\n#define IPPORT_MTP              57\n\n/*\n * Port/socket numbers: host specific functions\n */\n#define IPPORT_TFTP             69\n#define IPPORT_RJE              77\n#define IPPORT_FINGER           79\n#define IPPORT_TTYLINK          87\n#define IPPORT_SUPDUP           95\n\n/*\n * UNIX TCP sockets\n */\n#define IPPORT_EXECSERVER       512\n#define IPPORT_LOGINSERVER      513\n#define IPPORT_CMDSERVER        514\n#define IPPORT_EFSSERVER        520\n\n/*\n * UNIX UDP sockets\n */\n#define IPPORT_BIFFUDP          512\n#define IPPORT_WHOSERVER        513\n#define IPPORT_ROUTESERVER      520\n                                        /* 520+1 also used */\n\n/*\n * Ports < IPPORT_RESERVED are reserved for\n * privileged processes (e.g. root).\n */\n#define IPPORT_RESERVED         1024\n\n/*\n * Link numbers\n */\n#define IMPLINK_IP              155\n#define IMPLINK_LOWEXPER        156\n#define IMPLINK_HIGHEXPER       158\n\n#ifndef s_addr\n/*\n * Internet address (old style... should be updated)\n */\nstruct in_addr {\n        union {\n                struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;\n                struct { u_short s_w1,s_w2; } S_un_w;\n                u_long S_addr;\n        } S_un;\n#define s_addr  S_un.S_addr\n                                /* can be used for most tcp & ip code */\n#define s_host  S_un.S_un_b.s_b2\n                                /* host on imp */\n#define s_net   S_un.S_un_b.s_b1\n                                /* network */\n#define s_imp   S_un.S_un_w.s_w2\n                                /* imp */\n#define s_impno S_un.S_un_b.s_b4\n                                /* imp # */\n#define s_lh    S_un.S_un_b.s_b3\n                                /* logical host */\n};\n#endif\n\n/*\n * Definitions of bits in internet address integers.\n * On subnets, the decomposition of addresses to host and net parts\n * is done according to subnet mask, not the masks here.\n */\n#define IN_CLASSA(i)            (((long)(i) & 0x80000000) == 0)\n#define IN_CLASSA_NET           0xff000000\n#define IN_CLASSA_NSHIFT        24\n#define IN_CLASSA_HOST          0x00ffffff\n#define IN_CLASSA_MAX           128\n\n#define IN_CLASSB(i)            (((long)(i) & 0xc0000000) == 0x80000000)\n#define IN_CLASSB_NET           0xffff0000\n#define IN_CLASSB_NSHIFT        16\n#define IN_CLASSB_HOST          0x0000ffff\n#define IN_CLASSB_MAX           65536\n\n#define IN_CLASSC(i)            (((long)(i) & 0xe0000000) == 0xc0000000)\n#define IN_CLASSC_NET           0xffffff00\n#define IN_CLASSC_NSHIFT        8\n#define IN_CLASSC_HOST          0x000000ff\n\n#define INADDR_ANY              (u_long)0x00000000\n#define INADDR_LOOPBACK         0x7f000001\n#define INADDR_BROADCAST        (u_long)0xffffffff\n#define INADDR_NONE             0xffffffff\n\n/*\n * Socket address, internet style.\n */\nstruct sockaddr_in {\n        short   sin_family;\n        u_short sin_port;\n        struct  in_addr sin_addr;\n        char    sin_zero[8];\n};\n\n#define WSADESCRIPTION_LEN      256\n#define WSASYS_STATUS_LEN       128\n\ntypedef struct WSAData {\n        WORD                    wVersion;\n        WORD                    wHighVersion;\n#ifdef _WIN64\n        unsigned short          iMaxSockets;\n        unsigned short          iMaxUdpDg;\n        char FAR *              lpVendorInfo;\n        char                    szDescription[WSADESCRIPTION_LEN+1];\n        char                    szSystemStatus[WSASYS_STATUS_LEN+1];\n#else\n        char                    szDescription[WSADESCRIPTION_LEN+1];\n        char                    szSystemStatus[WSASYS_STATUS_LEN+1];\n        unsigned short          iMaxSockets;\n        unsigned short          iMaxUdpDg;\n        char FAR *              lpVendorInfo;\n#endif\n} WSADATA;\n\ntypedef WSADATA FAR *LPWSADATA;\n\n/*\n * Options for use with [gs]etsockopt at the IP level.\n */\n#define IP_OPTIONS          1           /* set/get IP per-packet options    */\n#define IP_MULTICAST_IF     2           /* set/get IP multicast interface   */\n#define IP_MULTICAST_TTL    3           /* set/get IP multicast timetolive  */\n#define IP_MULTICAST_LOOP   4           /* set/get IP multicast loopback    */\n#define IP_ADD_MEMBERSHIP   5           /* add  an IP group membership      */\n#define IP_DROP_MEMBERSHIP  6           /* drop an IP group membership      */\n#define IP_TTL              7           /* set/get IP Time To Live          */\n#define IP_TOS              8           /* set/get IP Type Of Service       */\n#define IP_DONTFRAGMENT     9           /* set/get IP Don't Fragment flag   */\n\n\n#define IP_DEFAULT_MULTICAST_TTL   1    /* normally limit m'casts to 1 hop  */\n#define IP_DEFAULT_MULTICAST_LOOP  1    /* normally hear sends if a member  */\n#define IP_MAX_MEMBERSHIPS         20   /* per socket; must fit in one mbuf */\n\n/*\n * Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.\n */\nstruct ip_mreq {\n        struct in_addr  imr_multiaddr;  /* IP multicast address of group */\n        struct in_addr  imr_interface;  /* local IP address of interface */\n};\n\n/*\n * Definitions related to sockets: types, address families, options,\n * taken from the BSD file sys/socket.h.\n */\n\n/*\n * This is used instead of -1, since the\n * SOCKET type is unsigned.\n */\n#define INVALID_SOCKET  (SOCKET)(~0)\n#define SOCKET_ERROR            (-1)\n\n/*\n * Types\n */\n#define SOCK_STREAM     1               /* stream socket */\n#define SOCK_DGRAM      2               /* datagram socket */\n#define SOCK_RAW        3               /* raw-protocol interface */\n#define SOCK_RDM        4               /* reliably-delivered message */\n#define SOCK_SEQPACKET  5               /* sequenced packet stream */\n\n/*\n * Option flags per-socket.\n */\n#define SO_DEBUG        0x0001          /* turn on debugging info recording */\n#define SO_ACCEPTCONN   0x0002          /* socket has had listen() */\n#define SO_REUSEADDR    0x0004          /* allow local address reuse */\n#define SO_KEEPALIVE    0x0008          /* keep connections alive */\n#define SO_DONTROUTE    0x0010          /* just use interface addresses */\n#define SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */\n#define SO_USELOOPBACK  0x0040          /* bypass hardware when possible */\n#define SO_LINGER       0x0080          /* linger on close if data present */\n#define SO_OOBINLINE    0x0100          /* leave received OOB data in line */\n\n#define SO_DONTLINGER   (u_int)(~SO_LINGER)\n\n/*\n * Additional options.\n */\n#define SO_SNDBUF       0x1001          /* send buffer size */\n#define SO_RCVBUF       0x1002          /* receive buffer size */\n#define SO_SNDLOWAT     0x1003          /* send low-water mark */\n#define SO_RCVLOWAT     0x1004          /* receive low-water mark */\n#define SO_SNDTIMEO     0x1005          /* send timeout */\n#define SO_RCVTIMEO     0x1006          /* receive timeout */\n#define SO_ERROR        0x1007          /* get error status and clear */\n#define SO_TYPE         0x1008          /* get socket type */\n\n/*\n * Options for connect and disconnect data and options.  Used only by\n * non-TCP/IP transports such as DECNet, OSI TP4, etc.\n */\n#define SO_CONNDATA     0x7000\n#define SO_CONNOPT      0x7001\n#define SO_DISCDATA     0x7002\n#define SO_DISCOPT      0x7003\n#define SO_CONNDATALEN  0x7004\n#define SO_CONNOPTLEN   0x7005\n#define SO_DISCDATALEN  0x7006\n#define SO_DISCOPTLEN   0x7007\n\n/*\n * Option for opening sockets for synchronous access.\n */\n#define SO_OPENTYPE     0x7008\n\n#define SO_SYNCHRONOUS_ALERT    0x10\n#define SO_SYNCHRONOUS_NONALERT 0x20\n\n/*\n * Other NT-specific options.\n */\n#define SO_MAXDG        0x7009\n#define SO_MAXPATHDG    0x700A\n#define SO_UPDATE_ACCEPT_CONTEXT 0x700B\n#define SO_CONNECT_TIME 0x700C\n\n/*\n * TCP options.\n */\n#define TCP_NODELAY     0x0001\n#define TCP_BSDURGENT   0x7000\n\n/*\n * Address families.\n */\n#define AF_UNSPEC       0               /* unspecified */\n#define AF_UNIX         1               /* local to host (pipes, portals) */\n#define AF_INET         2               /* internetwork: UDP, TCP, etc. */\n#define AF_IMPLINK      3               /* arpanet imp addresses */\n#define AF_PUP          4               /* pup protocols: e.g. BSP */\n#define AF_CHAOS        5               /* mit CHAOS protocols */\n#define AF_IPX          6               /* IPX and SPX */\n#define AF_NS           6               /* XEROX NS protocols */\n#define AF_ISO          7               /* ISO protocols */\n#define AF_OSI          AF_ISO          /* OSI is ISO */\n#define AF_ECMA         8               /* european computer manufacturers */\n#define AF_DATAKIT      9               /* datakit protocols */\n#define AF_CCITT        10              /* CCITT protocols, X.25 etc */\n#define AF_SNA          11              /* IBM SNA */\n#define AF_DECnet       12              /* DECnet */\n#define AF_DLI          13              /* Direct data link interface */\n#define AF_LAT          14              /* LAT */\n#define AF_HYLINK       15              /* NSC Hyperchannel */\n#define AF_APPLETALK    16              /* AppleTalk */\n#define AF_NETBIOS      17              /* NetBios-style addresses */\n#define AF_VOICEVIEW    18              /* VoiceView */\n#define AF_FIREFOX      19              /* FireFox */\n#define AF_UNKNOWN1     20              /* Somebody is using this! */\n#define AF_BAN          21              /* Banyan */\n\n#define AF_MAX          22\n\n/*\n * Structure used by kernel to store most\n * addresses.\n */\nstruct sockaddr {\n        u_short sa_family;              /* address family */\n        char    sa_data[14];            /* up to 14 bytes of direct address */\n};\n\n/*\n * Structure used by kernel to pass protocol\n * information in raw sockets.\n */\nstruct sockproto {\n        u_short sp_family;              /* address family */\n        u_short sp_protocol;            /* protocol */\n};\n\n/*\n * Protocol families, same as address families for now.\n */\n#define PF_UNSPEC       AF_UNSPEC\n#define PF_UNIX         AF_UNIX\n#define PF_INET         AF_INET\n#define PF_IMPLINK      AF_IMPLINK\n#define PF_PUP          AF_PUP\n#define PF_CHAOS        AF_CHAOS\n#define PF_NS           AF_NS\n#define PF_IPX          AF_IPX\n#define PF_ISO          AF_ISO\n#define PF_OSI          AF_OSI\n#define PF_ECMA         AF_ECMA\n#define PF_DATAKIT      AF_DATAKIT\n#define PF_CCITT        AF_CCITT\n#define PF_SNA          AF_SNA\n#define PF_DECnet       AF_DECnet\n#define PF_DLI          AF_DLI\n#define PF_LAT          AF_LAT\n#define PF_HYLINK       AF_HYLINK\n#define PF_APPLETALK    AF_APPLETALK\n#define PF_VOICEVIEW    AF_VOICEVIEW\n#define PF_FIREFOX      AF_FIREFOX\n#define PF_UNKNOWN1     AF_UNKNOWN1\n#define PF_BAN          AF_BAN\n\n#define PF_MAX          AF_MAX\n\n/*\n * Structure used for manipulating linger option.\n */\nstruct  linger {\n        u_short l_onoff;                /* option on/off */\n        u_short l_linger;               /* linger time */\n};\n\n/*\n * Level number for (get/set)sockopt() to apply to socket itself.\n */\n#define SOL_SOCKET      0xffff          /* options for socket level */\n\n/*\n * Maximum queue length specifiable by listen.\n */\n#define SOMAXCONN       5\n\n#define MSG_OOB         0x1             /* process out-of-band data */\n#define MSG_PEEK        0x2             /* peek at incoming message */\n#define MSG_DONTROUTE   0x4             /* send without using routing tables */\n\n#define MSG_MAXIOVLEN   16\n\n#define MSG_PARTIAL     0x8000          /* partial send or recv for message xport */\n\n/*\n * Define constant based on rfc883, used by gethostbyxxxx() calls.\n */\n#define MAXGETHOSTSTRUCT        1024\n\n/*\n * Define flags to be used with the WSAAsyncSelect() call.\n */\n#define FD_READ         0x01\n#define FD_WRITE        0x02\n#define FD_OOB          0x04\n#define FD_ACCEPT       0x08\n#define FD_CONNECT      0x10\n#define FD_CLOSE        0x20\n\n/*\n * WinSock error codes are also defined in winerror.h\n * Hence the IFDEF.\n */\n#ifndef WSABASEERR\n\n/*\n * All Windows Sockets error constants are biased by WSABASEERR from\n * the \"normal\"\n */\n#define WSABASEERR              10000\n/*\n * Windows Sockets definitions of regular Microsoft C error constants\n */\n#define WSAEINTR                (WSABASEERR+4)\n#define WSAEBADF                (WSABASEERR+9)\n#define WSAEACCES               (WSABASEERR+13)\n#define WSAEFAULT               (WSABASEERR+14)\n#define WSAEINVAL               (WSABASEERR+22)\n#define WSAEMFILE               (WSABASEERR+24)\n\n/*\n * Windows Sockets definitions of regular Berkeley error constants\n */\n#define WSAEWOULDBLOCK          (WSABASEERR+35)\n#define WSAEINPROGRESS          (WSABASEERR+36)\n#define WSAEALREADY             (WSABASEERR+37)\n#define WSAENOTSOCK             (WSABASEERR+38)\n#define WSAEDESTADDRREQ         (WSABASEERR+39)\n#define WSAEMSGSIZE             (WSABASEERR+40)\n#define WSAEPROTOTYPE           (WSABASEERR+41)\n#define WSAENOPROTOOPT          (WSABASEERR+42)\n#define WSAEPROTONOSUPPORT      (WSABASEERR+43)\n#define WSAESOCKTNOSUPPORT      (WSABASEERR+44)\n#define WSAEOPNOTSUPP           (WSABASEERR+45)\n#define WSAEPFNOSUPPORT         (WSABASEERR+46)\n#define WSAEAFNOSUPPORT         (WSABASEERR+47)\n#define WSAEADDRINUSE           (WSABASEERR+48)\n#define WSAEADDRNOTAVAIL        (WSABASEERR+49)\n#define WSAENETDOWN             (WSABASEERR+50)\n#define WSAENETUNREACH          (WSABASEERR+51)\n#define WSAENETRESET            (WSABASEERR+52)\n#define WSAECONNABORTED         (WSABASEERR+53)\n#define WSAECONNRESET           (WSABASEERR+54)\n#define WSAENOBUFS              (WSABASEERR+55)\n#define WSAEISCONN              (WSABASEERR+56)\n#define WSAENOTCONN             (WSABASEERR+57)\n#define WSAESHUTDOWN            (WSABASEERR+58)\n#define WSAETOOMANYREFS         (WSABASEERR+59)\n#define WSAETIMEDOUT            (WSABASEERR+60)\n#define WSAECONNREFUSED         (WSABASEERR+61)\n#define WSAELOOP                (WSABASEERR+62)\n#define WSAENAMETOOLONG         (WSABASEERR+63)\n#define WSAEHOSTDOWN            (WSABASEERR+64)\n#define WSAEHOSTUNREACH         (WSABASEERR+65)\n#define WSAENOTEMPTY            (WSABASEERR+66)\n#define WSAEPROCLIM             (WSABASEERR+67)\n#define WSAEUSERS               (WSABASEERR+68)\n#define WSAEDQUOT               (WSABASEERR+69)\n#define WSAESTALE               (WSABASEERR+70)\n#define WSAEREMOTE              (WSABASEERR+71)\n\n#define WSAEDISCON              (WSABASEERR+101)\n\n/*\n * Extended Windows Sockets error constant definitions\n */\n#define WSASYSNOTREADY          (WSABASEERR+91)\n#define WSAVERNOTSUPPORTED      (WSABASEERR+92)\n#define WSANOTINITIALISED       (WSABASEERR+93)\n\n/*\n * Error return codes from gethostbyname() and gethostbyaddr()\n * (when using the resolver). Note that these errors are\n * retrieved via WSAGetLastError() and must therefore follow\n * the rules for avoiding clashes with error numbers from\n * specific implementations or language run-time systems.\n * For this reason the codes are based at WSABASEERR+1001.\n * Note also that [WSA]NO_ADDRESS is defined only for\n * compatibility purposes.\n */\n\n\n/* Authoritative Answer: Host not found */\n#define WSAHOST_NOT_FOUND       (WSABASEERR+1001)\n\n/* Non-Authoritative: Host not found, or SERVERFAIL */\n#define WSATRY_AGAIN            (WSABASEERR+1002)\n\n/* Non recoverable errors, FORMERR, REFUSED, NOTIMP */\n#define WSANO_RECOVERY          (WSABASEERR+1003)\n\n/* Valid name, no data record of requested type */\n#define WSANO_DATA              (WSABASEERR+1004)\n\n/*\n * WinSock error codes are also defined in winerror.h\n * Hence the IFDEF.\n */\n#endif /* ifdef WSABASEERR */\n\n/*\n * Compatibility macros.\n */\n\n\n#define h_errno         WSAGetLastError()\n#define HOST_NOT_FOUND          WSAHOST_NOT_FOUND\n#define TRY_AGAIN               WSATRY_AGAIN\n#define NO_RECOVERY             WSANO_RECOVERY\n#define NO_DATA                 WSANO_DATA\n/* no address, look for MX record */\n#define WSANO_ADDRESS           WSANO_DATA\n#define NO_ADDRESS              WSANO_ADDRESS\n\n/*\n * Windows Sockets errors redefined as regular Berkeley error constants.\n * These are commented out in Windows NT to avoid conflicts with errno.h.\n * Use the WSA constants instead.\n */\n#if 0\n#define EWOULDBLOCK             WSAEWOULDBLOCK\n#define EINPROGRESS             WSAEINPROGRESS\n#define EALREADY                WSAEALREADY\n#define ENOTSOCK                WSAENOTSOCK\n#define EDESTADDRREQ            WSAEDESTADDRREQ\n#define EMSGSIZE                WSAEMSGSIZE\n#define EPROTOTYPE              WSAEPROTOTYPE\n#define ENOPROTOOPT             WSAENOPROTOOPT\n#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT\n#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT\n#define EOPNOTSUPP              WSAEOPNOTSUPP\n#define EPFNOSUPPORT            WSAEPFNOSUPPORT\n#define EAFNOSUPPORT            WSAEAFNOSUPPORT\n#define EADDRINUSE              WSAEADDRINUSE\n#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL\n#define ENETDOWN                WSAENETDOWN\n#define ENETUNREACH             WSAENETUNREACH\n#define ENETRESET               WSAENETRESET\n#define ECONNABORTED            WSAECONNABORTED\n#define ECONNRESET              WSAECONNRESET\n#define ENOBUFS                 WSAENOBUFS\n#define EISCONN                 WSAEISCONN\n#define ENOTCONN                WSAENOTCONN\n#define ESHUTDOWN               WSAESHUTDOWN\n#define ETOOMANYREFS            WSAETOOMANYREFS\n#define ETIMEDOUT               WSAETIMEDOUT\n#define ECONNREFUSED            WSAECONNREFUSED\n#define ELOOP                   WSAELOOP\n#define ENAMETOOLONG            WSAENAMETOOLONG\n#define EHOSTDOWN               WSAEHOSTDOWN\n#define EHOSTUNREACH            WSAEHOSTUNREACH\n#define ENOTEMPTY               WSAENOTEMPTY\n#define EPROCLIM                WSAEPROCLIM\n#define EUSERS                  WSAEUSERS\n#define EDQUOT                  WSAEDQUOT\n#define ESTALE                  WSAESTALE\n#define EREMOTE                 WSAEREMOTE\n#endif\n\n/* Socket function prototypes */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nSOCKET PASCAL FAR accept (\n                          IN SOCKET s,\n                          OUT struct sockaddr FAR *addr,\n                          IN OUT int FAR *addrlen);\n\nint PASCAL FAR bind (\n                     IN SOCKET s,\n                     IN const struct sockaddr FAR *addr,\n                     IN int namelen);\n\nint PASCAL FAR closesocket ( IN SOCKET s);\n\nint PASCAL FAR connect (\n                        IN SOCKET s,\n                        IN const struct sockaddr FAR *name,\n                        IN int namelen);\n\nint PASCAL FAR ioctlsocket (\n                            IN SOCKET s,\n                            IN long cmd,\n                            IN OUT u_long FAR *argp);\n\nint PASCAL FAR getpeername (\n                            IN SOCKET s,\n                            OUT struct sockaddr FAR *name,\n                            IN OUT int FAR * namelen);\n\nint PASCAL FAR getsockname (\n                            IN SOCKET s,\n                            OUT struct sockaddr FAR *name,\n                            IN OUT int FAR * namelen);\n\nint PASCAL FAR getsockopt (\n                           IN SOCKET s,\n                           IN int level,\n                           IN int optname,\n                           OUT char FAR * optval,\n                           IN OUT int FAR *optlen);\n\nu_long PASCAL FAR htonl ( IN u_long hostlong);\n\nu_short PASCAL FAR htons (IN u_short hostshort);\n\nunsigned long PASCAL FAR inet_addr (IN const char FAR * cp);\n\nchar FAR * PASCAL FAR inet_ntoa (IN struct in_addr in);\n\nint PASCAL FAR listen (\n                       IN SOCKET s,\n                       IN int backlog);\n\nu_long PASCAL FAR ntohl (IN u_long netlong);\n\nu_short PASCAL FAR ntohs (IN u_short netshort);\n\nint PASCAL FAR recv (\n                     IN SOCKET s,\n                     OUT char FAR * buf,\n                     IN int len,\n                     IN int flags);\n\nint PASCAL FAR recvfrom (\n                         IN SOCKET s,\n                         OUT char FAR * buf,\n                         IN int len,\n                         IN int flags,\n                         OUT struct sockaddr FAR *from,\n                         IN OUT int FAR * fromlen);\n\nint PASCAL FAR select (\n                        IN int nfds,\n                        IN OUT fd_set FAR *readfds,\n                        IN OUT fd_set FAR *writefds,\n                        IN OUT fd_set FAR *exceptfds,\n                        IN const struct timeval FAR *timeout);\n\nint PASCAL FAR send (\n                     IN SOCKET s,\n                     IN const char FAR * buf,\n                     IN int len,\n                     IN int flags);\n\nint PASCAL FAR sendto (\n                       IN SOCKET s,\n                       IN const char FAR * buf,\n                       IN int len,\n                       IN int flags,\n                       IN const struct sockaddr FAR *to,\n                       IN int tolen);\n\nint PASCAL FAR setsockopt (\n                           IN SOCKET s,\n                           IN int level,\n                           IN int optname,\n                           IN const char FAR * optval,\n                           IN int optlen);\n\nint PASCAL FAR shutdown (\n                         IN SOCKET s,\n                         IN int how);\n\nSOCKET PASCAL FAR socket (\n                          IN int af,\n                          IN int type,\n                          IN int protocol);\n\n/* Database function prototypes */\n\nstruct hostent FAR * PASCAL FAR gethostbyaddr(\n                                              IN const char FAR * addr,\n                                              IN int len,\n                                              IN int type);\n\nstruct hostent FAR * PASCAL FAR gethostbyname(IN const char FAR * name);\n\nint PASCAL FAR gethostname (\n                            OUT char FAR * name,\n                            IN int namelen);\n\nstruct servent FAR * PASCAL FAR getservbyport(\n                                              IN int port,\n                                              IN const char FAR * proto);\n\nstruct servent FAR * PASCAL FAR getservbyname(\n                                              IN const char FAR * name,\n                                              IN const char FAR * proto);\n\nstruct protoent FAR * PASCAL FAR getprotobynumber(IN int proto);\n\nstruct protoent FAR * PASCAL FAR getprotobyname(IN const char FAR * name);\n\n/* Microsoft Windows Extension function prototypes */\n\nint PASCAL FAR WSAStartup(\n                          IN WORD wVersionRequired,\n                          OUT LPWSADATA lpWSAData);\n\nint PASCAL FAR WSACleanup(void);\n\nvoid PASCAL FAR WSASetLastError(IN int iError);\n\nint PASCAL FAR WSAGetLastError(void);\n\nBOOL PASCAL FAR WSAIsBlocking(void);\n\nint PASCAL FAR WSAUnhookBlockingHook(void);\n\nFARPROC PASCAL FAR WSASetBlockingHook(IN FARPROC lpBlockFunc);\n\nint PASCAL FAR WSACancelBlockingCall(void);\n\nHANDLE PASCAL FAR WSAAsyncGetServByName(\n                                        IN HWND hWnd,\n                                        IN u_int wMsg,\n                                        IN const char FAR * name,\n                                        IN const char FAR * proto,\n                                        OUT char FAR * buf,\n                                        IN int buflen);\n\nHANDLE PASCAL FAR WSAAsyncGetServByPort(\n                                        IN HWND hWnd,\n                                        IN u_int wMsg,\n                                        IN int port,\n                                        IN const char FAR * proto,\n                                        OUT char FAR * buf,\n                                        IN int buflen);\n\nHANDLE PASCAL FAR WSAAsyncGetProtoByName(\n                                         IN HWND hWnd,\n                                         IN u_int wMsg,\n                                         IN const char FAR * name,\n                                         OUT char FAR * buf,\n                                         IN int buflen);\n\nHANDLE PASCAL FAR WSAAsyncGetProtoByNumber(\n                                           IN HWND hWnd,\n                                           IN u_int wMsg,\n                                           IN int number,\n                                           OUT char FAR * buf,\n                                           IN int buflen);\n\nHANDLE PASCAL FAR WSAAsyncGetHostByName(\n                                        IN HWND hWnd,\n                                        IN u_int wMsg,\n                                        IN const char FAR * name,\n                                        OUT char FAR * buf,\n                                        IN int buflen);\n\nHANDLE PASCAL FAR WSAAsyncGetHostByAddr(\n                                        IN HWND hWnd,\n                                        IN u_int wMsg,\n                                        IN const char FAR * addr,\n                                        IN int len,\n                                        IN int type,\n                                        OUT char FAR * buf,\n                                        IN int buflen);\n\nint PASCAL FAR WSACancelAsyncRequest(IN HANDLE hAsyncTaskHandle);\n\nint PASCAL FAR WSAAsyncSelect(\n                              IN SOCKET s,\n                              IN HWND hWnd,\n                              IN u_int wMsg,\n                              IN long lEvent);\n\nint PASCAL FAR WSARecvEx (\n                          IN SOCKET s,\n                          OUT char FAR * buf,\n                          IN int len,\n                          IN OUT int FAR *flags);\n\ntypedef struct _TRANSMIT_FILE_BUFFERS {\n    PVOID Head;\n    DWORD HeadLength;\n    PVOID Tail;\n    DWORD TailLength;\n} TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS;\n\n#define TF_DISCONNECT       0x01\n#define TF_REUSE_SOCKET     0x02\n#define TF_WRITE_BEHIND     0x04\n\nBOOL\nPASCAL FAR\nTransmitFile (\n    IN SOCKET hSocket,\n    IN HANDLE hFile,\n    IN DWORD nNumberOfBytesToWrite,\n    IN DWORD nNumberOfBytesPerSend,\n    IN LPOVERLAPPED lpOverlapped,\n    IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,\n    IN DWORD dwReserved\n    );\n\nBOOL\nPASCAL FAR\nAcceptEx (\n    IN SOCKET sListenSocket,\n    IN SOCKET sAcceptSocket,\n    IN PVOID lpOutputBuffer,\n    IN DWORD dwReceiveDataLength,\n    IN DWORD dwLocalAddressLength,\n    IN DWORD dwRemoteAddressLength,\n    OUT LPDWORD lpdwBytesReceived,\n    IN LPOVERLAPPED lpOverlapped\n    );\n\nVOID\nPASCAL FAR\nGetAcceptExSockaddrs (\n    IN PVOID lpOutputBuffer,\n    IN DWORD dwReceiveDataLength,\n    IN DWORD dwLocalAddressLength,\n    IN DWORD dwRemoteAddressLength,\n    OUT struct sockaddr **LocalSockaddr,\n    OUT LPINT LocalSockaddrLength,\n    OUT struct sockaddr **RemoteSockaddr,\n    OUT LPINT RemoteSockaddrLength\n    );\n\n#ifdef __cplusplus\n}\n#endif\n\n/* Microsoft Windows Extended data types */\ntypedef struct sockaddr SOCKADDR;\ntypedef struct sockaddr *PSOCKADDR;\ntypedef struct sockaddr FAR *LPSOCKADDR;\n\ntypedef struct sockaddr_in SOCKADDR_IN;\ntypedef struct sockaddr_in *PSOCKADDR_IN;\ntypedef struct sockaddr_in FAR *LPSOCKADDR_IN;\n\ntypedef struct linger LINGER;\ntypedef struct linger *PLINGER;\ntypedef struct linger FAR *LPLINGER;\n\ntypedef struct in_addr IN_ADDR;\ntypedef struct in_addr *PIN_ADDR;\ntypedef struct in_addr FAR *LPIN_ADDR;\n\ntypedef struct fd_set FD_SET;\ntypedef struct fd_set *PFD_SET;\ntypedef struct fd_set FAR *LPFD_SET;\n\ntypedef struct hostent HOSTENT;\ntypedef struct hostent *PHOSTENT;\ntypedef struct hostent FAR *LPHOSTENT;\n\ntypedef struct servent SERVENT;\ntypedef struct servent *PSERVENT;\ntypedef struct servent FAR *LPSERVENT;\n\ntypedef struct protoent PROTOENT;\ntypedef struct protoent *PPROTOENT;\ntypedef struct protoent FAR *LPPROTOENT;\n\ntypedef struct timeval TIMEVAL;\ntypedef struct timeval *PTIMEVAL;\ntypedef struct timeval FAR *LPTIMEVAL;\n\n/*\n * Windows message parameter composition and decomposition\n * macros.\n *\n * WSAMAKEASYNCREPLY is intended for use by the Windows Sockets implementation\n * when constructing the response to a WSAAsyncGetXByY() routine.\n */\n#define WSAMAKEASYNCREPLY(buflen,error)     MAKELONG(buflen,error)\n/*\n * WSAMAKESELECTREPLY is intended for use by the Windows Sockets implementation\n * when constructing the response to WSAAsyncSelect().\n */\n#define WSAMAKESELECTREPLY(event,error)     MAKELONG(event,error)\n/*\n * WSAGETASYNCBUFLEN is intended for use by the Windows Sockets application\n * to extract the buffer length from the lParam in the response\n * to a WSAGetXByY().\n */\n#define WSAGETASYNCBUFLEN(lParam)           LOWORD(lParam)\n/*\n * WSAGETASYNCERROR is intended for use by the Windows Sockets application\n * to extract the error code from the lParam in the response\n * to a WSAGetXByY().\n */\n#define WSAGETASYNCERROR(lParam)            HIWORD(lParam)\n/*\n * WSAGETSELECTEVENT is intended for use by the Windows Sockets application\n * to extract the event code from the lParam in the response\n * to a WSAAsyncSelect().\n */\n#define WSAGETSELECTEVENT(lParam)           LOWORD(lParam)\n/*\n * WSAGETSELECTERROR is intended for use by the Windows Sockets application\n * to extract the error code from the lParam in the response\n * to a WSAAsyncSelect().\n */\n#define WSAGETSELECTERROR(lParam)           HIWORD(lParam)\n\n#ifdef IPV6STRICT\n#error WINSOCK2 required.\n#endif // IPV6STRICT\n\n#endif  /* _WINSOCKAPI_ */\n"
  },
  {
    "path": "Bin/i386/APILib/WinSock2.h",
    "content": "/* Winsock2.h -- definitions to be used with the WinSock 2 DLL and\n *               WinSock 2 applications.\n *\n * This header file corresponds to version 2.2.x of the WinSock API\n * specification.\n *\n * This file includes parts which are Copyright (c) 1982-1986 Regents\n * of the University of California.  All rights reserved.  The\n * Berkeley Software License Agreement specifies the terms and\n * conditions for redistribution.\n */\n\n#ifndef _WINSOCK2API_\n#define _WINSOCK2API_\n#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */\n\n/*\n * Ensure structures are packed consistently.\n * Not necessary for WIN32, it is already packed >=4 and there are\n * no structures in this header that have alignment requirement \n * higher than 4.\n * For WIN64 we do not have compatibility requirement because it is\n * not possible to mix 32/16 bit code with 64 bit code in the same\n * process.\n */\n\n#if !defined(WIN32) && !defined(_WIN64)\n#include <pshpack4.h>\n#endif\n\n/*\n * Default: include function prototypes, don't include function typedefs.\n */\n\n#ifndef INCL_WINSOCK_API_PROTOTYPES\n#define INCL_WINSOCK_API_PROTOTYPES 1\n#endif\n\n#ifndef INCL_WINSOCK_API_TYPEDEFS\n#define INCL_WINSOCK_API_TYPEDEFS 0\n#endif\n\n/*\n * Pull in WINDOWS.H if necessary\n */\n#ifndef _INC_WINDOWS\n#include <windows.h>\n#endif /* _INC_WINDOWS */\n\n/*\n * Define the current Winsock version. To build an earlier Winsock version\n * application redefine this value prior to including Winsock2.h.\n */\n\n#if !defined(MAKEWORD)\n#define MAKEWORD(low,high) \\\n        ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8))\n#endif\n\n#ifndef WINSOCK_VERSION\n#define WINSOCK_VERSION MAKEWORD(2,2)\n#endif\n\n/*\n * Establish DLL function linkage if supported by the current build\n * environment and not previously defined.\n */\n\n#ifndef WINSOCK_API_LINKAGE\n#ifdef DECLSPEC_IMPORT\n#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT\n#else\n#define WINSOCK_API_LINKAGE\n#endif\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/*\n * Basic system type definitions, taken from the BSD file sys/types.h.\n */\ntypedef unsigned char   u_char;\ntypedef unsigned short  u_short;\ntypedef unsigned int    u_int;\ntypedef unsigned long   u_long;\ntypedef unsigned __int64 u_int64;\n\n\n/*\n * The new type to be used in all\n * instances which refer to sockets.\n */\ntypedef UINT_PTR        SOCKET;\n\n/*\n * Select uses arrays of SOCKETs.  These macros manipulate such\n * arrays.  FD_SETSIZE may be defined by the user before including\n * this file, but the default here should be >= 64.\n *\n * CAVEAT IMPLEMENTOR and USER: THESE MACROS AND TYPES MUST BE\n * INCLUDED IN WINSOCK2.H EXACTLY AS SHOWN HERE.\n */\n#ifndef FD_SETSIZE\n#define FD_SETSIZE      64\n#endif /* FD_SETSIZE */\n\ntypedef struct fd_set {\n        u_int fd_count;               /* how many are SET? */\n        SOCKET  fd_array[FD_SETSIZE];   /* an array of SOCKETs */\n} fd_set;\n\nextern int PASCAL FAR __WSAFDIsSet(SOCKET, fd_set FAR *);\n\n#define FD_CLR(fd, set) do { \\\n    u_int __i; \\\n    for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { \\\n        if (((fd_set FAR *)(set))->fd_array[__i] == fd) { \\\n            while (__i < ((fd_set FAR *)(set))->fd_count-1) { \\\n                ((fd_set FAR *)(set))->fd_array[__i] = \\\n                    ((fd_set FAR *)(set))->fd_array[__i+1]; \\\n                __i++; \\\n            } \\\n            ((fd_set FAR *)(set))->fd_count--; \\\n            break; \\\n        } \\\n    } \\\n} while(0)\n\n#define FD_SET(fd, set) do { \\\n    u_int __i; \\\n    for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count; __i++) { \\\n        if (((fd_set FAR *)(set))->fd_array[__i] == (fd)) { \\\n            break; \\\n        } \\\n    } \\\n    if (__i == ((fd_set FAR *)(set))->fd_count) { \\\n        if (((fd_set FAR *)(set))->fd_count < FD_SETSIZE) { \\\n            ((fd_set FAR *)(set))->fd_array[__i] = (fd); \\\n            ((fd_set FAR *)(set))->fd_count++; \\\n        } \\\n    } \\\n} while(0)\n\n#define FD_ZERO(set) (((fd_set FAR *)(set))->fd_count=0)\n\n#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set))\n\n/*\n * Structure used in select() call, taken from the BSD file sys/time.h.\n */\nstruct timeval {\n        long    tv_sec;         /* seconds */\n        long    tv_usec;        /* and microseconds */\n};\n\n/*\n * Operations on timevals.\n *\n * NB: timercmp does not work for >= or <=.\n */\n#define timerisset(tvp)         ((tvp)->tv_sec || (tvp)->tv_usec)\n#define timercmp(tvp, uvp, cmp) \\\n        ((tvp)->tv_sec cmp (uvp)->tv_sec || \\\n         (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)\n#define timerclear(tvp)         (tvp)->tv_sec = (tvp)->tv_usec = 0\n\n/*\n * Commands for ioctlsocket(),  taken from the BSD file fcntl.h.\n *\n *\n * Ioctl's have the command encoded in the lower word,\n * and the size of any in or out parameters in the upper\n * word.  The high 2 bits of the upper word are used\n * to encode the in/out status of the parameter; for now\n * we restrict parameters to at most 128 bytes.\n */\n#define IOCPARM_MASK    0x7f            /* parameters must be < 128 bytes */\n#define IOC_VOID        0x20000000      /* no parameters */\n#define IOC_OUT         0x40000000      /* copy out parameters */\n#define IOC_IN          0x80000000      /* copy in parameters */\n#define IOC_INOUT       (IOC_IN|IOC_OUT)\n                                        /* 0x20000000 distinguishes new &\n                                           old ioctl's */\n#define _IO(x,y)        (IOC_VOID|((x)<<8)|(y))\n\n#define _IOR(x,y,t)     (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n\n#define _IOW(x,y,t)     (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))\n\n#define FIONREAD    _IOR('f', 127, u_long) /* get # bytes to read */\n#define FIONBIO     _IOW('f', 126, u_long) /* set/clear non-blocking i/o */\n#define FIOASYNC    _IOW('f', 125, u_long) /* set/clear async i/o */\n\n/* Socket I/O Controls */\n#define SIOCSHIWAT  _IOW('s',  0, u_long)  /* set high watermark */\n#define SIOCGHIWAT  _IOR('s',  1, u_long)  /* get high watermark */\n#define SIOCSLOWAT  _IOW('s',  2, u_long)  /* set low watermark */\n#define SIOCGLOWAT  _IOR('s',  3, u_long)  /* get low watermark */\n#define SIOCATMARK  _IOR('s',  7, u_long)  /* at oob mark? */\n\n/*\n * Structures returned by network data base library, taken from the\n * BSD file netdb.h.  All addresses are supplied in host order, and\n * returned in network order (suitable for use in system calls).\n */\n\nstruct  hostent {\n        char    FAR * h_name;           /* official name of host */\n        char    FAR * FAR * h_aliases;  /* alias list */\n        short   h_addrtype;             /* host address type */\n        short   h_length;               /* length of address */\n        char    FAR * FAR * h_addr_list; /* list of addresses */\n#define h_addr  h_addr_list[0]          /* address, for backward compat */\n};\n\n/*\n * It is assumed here that a network number\n * fits in 32 bits.\n */\nstruct  netent {\n        char    FAR * n_name;           /* official name of net */\n        char    FAR * FAR * n_aliases;  /* alias list */\n        short   n_addrtype;             /* net address type */\n        u_long  n_net;                  /* network # */\n};\n\nstruct  servent {\n        char    FAR * s_name;           /* official service name */\n        char    FAR * FAR * s_aliases;  /* alias list */\n#ifdef _WIN64\n        char    FAR * s_proto;          /* protocol to use */\n        short   s_port;                 /* port # */\n#else\n        short   s_port;                 /* port # */\n        char    FAR * s_proto;          /* protocol to use */\n#endif\n};\n\nstruct  protoent {\n        char    FAR * p_name;           /* official protocol name */\n        char    FAR * FAR * p_aliases;  /* alias list */\n        short   p_proto;                /* protocol # */\n};\n\n/*\n * Constants and structures defined by the internet system,\n * Per RFC 790, September 1981, taken from the BSD file netinet/in.h.\n * IPv6 additions per RFC 2292.\n */\n\n/*\n * Protocols\n */\n#define IPPROTO_IP              0               /* dummy for IP */\n#define IPPROTO_HOPOPTS         0               /* IPv6 hop-by-hop options */\n#define IPPROTO_ICMP            1               /* control message protocol */\n#define IPPROTO_IGMP            2               /* internet group management protocol */\n#define IPPROTO_GGP             3               /* gateway^2 (deprecated) */\n#define IPPROTO_IPV4            4               /* IPv4 */\n#define IPPROTO_TCP             6               /* tcp */\n#define IPPROTO_PUP             12              /* pup */\n#define IPPROTO_UDP             17              /* user datagram protocol */\n#define IPPROTO_IDP             22              /* xns idp */\n#define IPPROTO_IPV6            41              /* IPv6 */\n#define IPPROTO_ROUTING         43              /* IPv6 routing header */\n#define IPPROTO_FRAGMENT        44              /* IPv6 fragmentation header */\n#define IPPROTO_ESP             50              /* IPsec ESP header */\n#define IPPROTO_AH              51              /* IPsec AH */\n#define IPPROTO_ICMPV6          58              /* ICMPv6 */\n#define IPPROTO_NONE            59              /* IPv6 no next header */\n#define IPPROTO_DSTOPTS         60              /* IPv6 destination options */\n#define IPPROTO_ND              77              /* UNOFFICIAL net disk proto */\n#define IPPROTO_ICLFXBM         78\n\n#define IPPROTO_RAW             255             /* raw IP packet */\n#define IPPROTO_MAX             256\n\n/*\n * Port/socket numbers: network standard functions\n */\n#define IPPORT_ECHO             7\n#define IPPORT_DISCARD          9\n#define IPPORT_SYSTAT           11\n#define IPPORT_DAYTIME          13\n#define IPPORT_NETSTAT          15\n#define IPPORT_FTP              21\n#define IPPORT_TELNET           23\n#define IPPORT_SMTP             25\n#define IPPORT_TIMESERVER       37\n#define IPPORT_NAMESERVER       42\n#define IPPORT_WHOIS            43\n#define IPPORT_MTP              57\n\n/*\n * Port/socket numbers: host specific functions\n */\n#define IPPORT_TFTP             69\n#define IPPORT_RJE              77\n#define IPPORT_FINGER           79\n#define IPPORT_TTYLINK          87\n#define IPPORT_SUPDUP           95\n\n/*\n * UNIX TCP sockets\n */\n#define IPPORT_EXECSERVER       512\n#define IPPORT_LOGINSERVER      513\n#define IPPORT_CMDSERVER        514\n#define IPPORT_EFSSERVER        520\n\n/*\n * UNIX UDP sockets\n */\n#define IPPORT_BIFFUDP          512\n#define IPPORT_WHOSERVER        513\n#define IPPORT_ROUTESERVER      520\n                                        /* 520+1 also used */\n\n/*\n * Ports < IPPORT_RESERVED are reserved for\n * privileged processes (e.g. root).\n */\n#define IPPORT_RESERVED         1024\n\n/*\n * Link numbers\n */\n#define IMPLINK_IP              155\n#define IMPLINK_LOWEXPER        156\n#define IMPLINK_HIGHEXPER       158\n\n#ifndef s_addr\n/*\n * Internet address (old style... should be updated)\n */\nstruct in_addr {\n        union {\n                struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;\n                struct { u_short s_w1,s_w2; } S_un_w;\n                u_long S_addr;\n        } S_un;\n#define s_addr  S_un.S_addr\n                                /* can be used for most tcp & ip code */\n#define s_host  S_un.S_un_b.s_b2\n                                /* host on imp */\n#define s_net   S_un.S_un_b.s_b1\n                                /* network */\n#define s_imp   S_un.S_un_w.s_w2\n                                /* imp */\n#define s_impno S_un.S_un_b.s_b4\n                                /* imp # */\n#define s_lh    S_un.S_un_b.s_b3\n                                /* logical host */\n};\n#endif\n\n/*\n * Definitions of bits in internet address integers.\n * On subnets, the decomposition of addresses to host and net parts\n * is done according to subnet mask, not the masks here.\n */\n#define IN_CLASSA(i)            (((long)(i) & 0x80000000) == 0)\n#define IN_CLASSA_NET           0xff000000\n#define IN_CLASSA_NSHIFT        24\n#define IN_CLASSA_HOST          0x00ffffff\n#define IN_CLASSA_MAX           128\n\n#define IN_CLASSB(i)            (((long)(i) & 0xc0000000) == 0x80000000)\n#define IN_CLASSB_NET           0xffff0000\n#define IN_CLASSB_NSHIFT        16\n#define IN_CLASSB_HOST          0x0000ffff\n#define IN_CLASSB_MAX           65536\n\n#define IN_CLASSC(i)            (((long)(i) & 0xe0000000) == 0xc0000000)\n#define IN_CLASSC_NET           0xffffff00\n#define IN_CLASSC_NSHIFT        8\n#define IN_CLASSC_HOST          0x000000ff\n\n#define IN_CLASSD(i)            (((long)(i) & 0xf0000000) == 0xe0000000)\n#define IN_CLASSD_NET           0xf0000000       /* These ones aren't really */\n#define IN_CLASSD_NSHIFT        28               /* net and host fields, but */\n#define IN_CLASSD_HOST          0x0fffffff       /* routing needn't know.    */\n#define IN_MULTICAST(i)         IN_CLASSD(i)\n\n#define INADDR_ANY              (u_long)0x00000000\n#define INADDR_LOOPBACK         0x7f000001\n#define INADDR_BROADCAST        (u_long)0xffffffff\n#define INADDR_NONE             0xffffffff\n\n#define ADDR_ANY                INADDR_ANY\n\n/*\n * Socket address, internet style.\n */\nstruct sockaddr_in {\n        short   sin_family;\n        u_short sin_port;\n        struct  in_addr sin_addr;\n        char    sin_zero[8];\n};\n\n#define WSADESCRIPTION_LEN      256\n#define WSASYS_STATUS_LEN       128\n\ntypedef struct WSAData {\n        WORD                    wVersion;\n        WORD                    wHighVersion;\n#ifdef _WIN64\n        unsigned short          iMaxSockets;\n        unsigned short          iMaxUdpDg;\n        char FAR *              lpVendorInfo;\n        char                    szDescription[WSADESCRIPTION_LEN+1];\n        char                    szSystemStatus[WSASYS_STATUS_LEN+1];\n#else\n        char                    szDescription[WSADESCRIPTION_LEN+1];\n        char                    szSystemStatus[WSASYS_STATUS_LEN+1];\n        unsigned short          iMaxSockets;\n        unsigned short          iMaxUdpDg;\n        char FAR *              lpVendorInfo;\n#endif\n} WSADATA, FAR * LPWSADATA;\n\n/*\n * Definitions related to sockets: types, address families, options,\n * taken from the BSD file sys/socket.h.\n */\n\n/*\n * This is used instead of -1, since the\n * SOCKET type is unsigned.\n */\n#define INVALID_SOCKET  (SOCKET)(~0)\n#define SOCKET_ERROR            (-1)\n\n/*\n * The  following  may  be used in place of the address family, socket type, or\n * protocol  in  a  call  to WSASocket to indicate that the corresponding value\n * should  be taken from the supplied WSAPROTOCOL_INFO structure instead of the\n * parameter itself.\n */\n#define FROM_PROTOCOL_INFO (-1)\n\n/*\n * Types\n */\n#define SOCK_STREAM     1               /* stream socket */\n#define SOCK_DGRAM      2               /* datagram socket */\n#define SOCK_RAW        3               /* raw-protocol interface */\n#define SOCK_RDM        4               /* reliably-delivered message */\n#define SOCK_SEQPACKET  5               /* sequenced packet stream */\n\n/*\n * Option flags per-socket.\n */\n#define SO_DEBUG        0x0001          /* turn on debugging info recording */\n#define SO_ACCEPTCONN   0x0002          /* socket has had listen() */\n#define SO_REUSEADDR    0x0004          /* allow local address reuse */\n#define SO_KEEPALIVE    0x0008          /* keep connections alive */\n#define SO_DONTROUTE    0x0010          /* just use interface addresses */\n#define SO_BROADCAST    0x0020          /* permit sending of broadcast msgs */\n#define SO_USELOOPBACK  0x0040          /* bypass hardware when possible */\n#define SO_LINGER       0x0080          /* linger on close if data present */\n#define SO_OOBINLINE    0x0100          /* leave received OOB data in line */\n\n#define SO_DONTLINGER   (int)(~SO_LINGER)\n#define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) /* disallow local address reuse */\n\n/*\n * Additional options.\n */\n#define SO_SNDBUF       0x1001          /* send buffer size */\n#define SO_RCVBUF       0x1002          /* receive buffer size */\n#define SO_SNDLOWAT     0x1003          /* send low-water mark */\n#define SO_RCVLOWAT     0x1004          /* receive low-water mark */\n#define SO_SNDTIMEO     0x1005          /* send timeout */\n#define SO_RCVTIMEO     0x1006          /* receive timeout */\n#define SO_ERROR        0x1007          /* get error status and clear */\n#define SO_TYPE         0x1008          /* get socket type */\n\n/*\n * WinSock 2 extension -- new options\n */\n#define SO_GROUP_ID       0x2001      /* ID of a socket group */\n#define SO_GROUP_PRIORITY 0x2002      /* the relative priority within a group*/\n#define SO_MAX_MSG_SIZE   0x2003      /* maximum message size */\n#define SO_PROTOCOL_INFOA 0x2004      /* WSAPROTOCOL_INFOA structure */\n#define SO_PROTOCOL_INFOW 0x2005      /* WSAPROTOCOL_INFOW structure */\n#ifdef UNICODE\n#define SO_PROTOCOL_INFO  SO_PROTOCOL_INFOW\n#else\n#define SO_PROTOCOL_INFO  SO_PROTOCOL_INFOA\n#endif /* UNICODE */\n#define PVD_CONFIG        0x3001       /* configuration info for service provider */\n#define SO_CONDITIONAL_ACCEPT 0x3002   /* enable true conditional accept: */\n                                       /*  connection is not ack-ed to the */\n                                       /*  other side until conditional */\n                                       /*  function returns CF_ACCEPT */\n/*\n * TCP options.\n */\n#define TCP_NODELAY     0x0001\n\n/*\n * Address families.\n */\n#define AF_UNSPEC       0               /* unspecified */\n/*\n * Although  AF_UNSPEC  is  defined for backwards compatibility, using\n * AF_UNSPEC for the \"af\" parameter when creating a socket is STRONGLY\n * DISCOURAGED.    The  interpretation  of  the  \"protocol\"  parameter\n * depends  on the actual address family chosen.  As environments grow\n * to  include  more  and  more  address families that use overlapping\n * protocol  values  there  is  more  and  more  chance of choosing an\n * undesired address family when AF_UNSPEC is used.\n */\n#define AF_UNIX         1               /* local to host (pipes, portals) */\n#define AF_INET         2               /* internetwork: UDP, TCP, etc. */\n#define AF_IMPLINK      3               /* arpanet imp addresses */\n#define AF_PUP          4               /* pup protocols: e.g. BSP */\n#define AF_CHAOS        5               /* mit CHAOS protocols */\n#define AF_NS           6               /* XEROX NS protocols */\n#define AF_IPX          AF_NS           /* IPX protocols: IPX, SPX, etc. */\n#define AF_ISO          7               /* ISO protocols */\n#define AF_OSI          AF_ISO          /* OSI is ISO */\n#define AF_ECMA         8               /* european computer manufacturers */\n#define AF_DATAKIT      9               /* datakit protocols */\n#define AF_CCITT        10              /* CCITT protocols, X.25 etc */\n#define AF_SNA          11              /* IBM SNA */\n#define AF_DECnet       12              /* DECnet */\n#define AF_DLI          13              /* Direct data link interface */\n#define AF_LAT          14              /* LAT */\n#define AF_HYLINK       15              /* NSC Hyperchannel */\n#define AF_APPLETALK    16              /* AppleTalk */\n#define AF_NETBIOS      17              /* NetBios-style addresses */\n#define AF_VOICEVIEW    18              /* VoiceView */\n#define AF_FIREFOX      19              /* Protocols from Firefox */\n#define AF_UNKNOWN1     20              /* Somebody is using this! */\n#define AF_BAN          21              /* Banyan */\n#define AF_ATM          22              /* Native ATM Services */\n#define AF_INET6        23              /* Internetwork Version 6 */\n#define AF_CLUSTER      24              /* Microsoft Wolfpack */\n#define AF_12844        25              /* IEEE 1284.4 WG AF */\n#define AF_IRDA         26              /* IrDA */\n#define AF_NETDES       28              /* Network Designers OSI & gateway\n                                           enabled protocols */\n#define AF_TCNPROCESS   29\n#define AF_TCNMESSAGE   30\n#define AF_ICLFXBM      31\n\n#define AF_MAX          32\n\n/*\n * Structure used by kernel to store most\n * addresses.\n */\nstruct sockaddr {\n        u_short sa_family;              /* address family */\n        char    sa_data[14];            /* up to 14 bytes of direct address */\n};\n\n/*\n * Portable socket structure (RFC 2553).\n */\n\n/*\n * Desired design of maximum size and alignment.\n * These are implementation specific.\n */\n#define _SS_MAXSIZE 128                  // Maximum size.\n#define _SS_ALIGNSIZE (sizeof(__int64))  // Desired alignment.\n\n/*\n * Definitions used for sockaddr_storage structure paddings design.\n */\n#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short))\n#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE \\\n                                                    + _SS_ALIGNSIZE))\n\nstruct sockaddr_storage {\n    short ss_family;               // Address family.\n    char __ss_pad1[_SS_PAD1SIZE];  // 6 byte pad, this is to make\n                                   // implementation specific pad up to\n                                   // alignment field that follows explicit\n                                   // in the data structure.\n    __int64 __ss_align;            // Field to force desired structure.\n    char __ss_pad2[_SS_PAD2SIZE];  // 112 byte pad to achieve desired size;\n                                   // _SS_MAXSIZE value minus size of\n                                   // ss_family, __ss_pad1, and\n                                   // __ss_align fields is 112.\n};\n\n/*\n * Structure used by kernel to pass protocol\n * information in raw sockets.\n */\nstruct sockproto {\n        u_short sp_family;              /* address family */\n        u_short sp_protocol;            /* protocol */\n};\n\n/*\n * Protocol families, same as address families for now.\n */\n#define PF_UNSPEC       AF_UNSPEC\n#define PF_UNIX         AF_UNIX\n#define PF_INET         AF_INET\n#define PF_IMPLINK      AF_IMPLINK\n#define PF_PUP          AF_PUP\n#define PF_CHAOS        AF_CHAOS\n#define PF_NS           AF_NS\n#define PF_IPX          AF_IPX\n#define PF_ISO          AF_ISO\n#define PF_OSI          AF_OSI\n#define PF_ECMA         AF_ECMA\n#define PF_DATAKIT      AF_DATAKIT\n#define PF_CCITT        AF_CCITT\n#define PF_SNA          AF_SNA\n#define PF_DECnet       AF_DECnet\n#define PF_DLI          AF_DLI\n#define PF_LAT          AF_LAT\n#define PF_HYLINK       AF_HYLINK\n#define PF_APPLETALK    AF_APPLETALK\n#define PF_VOICEVIEW    AF_VOICEVIEW\n#define PF_FIREFOX      AF_FIREFOX\n#define PF_UNKNOWN1     AF_UNKNOWN1\n#define PF_BAN          AF_BAN\n#define PF_ATM          AF_ATM\n#define PF_INET6        AF_INET6\n\n#define PF_MAX          AF_MAX\n\n/*\n * Structure used for manipulating linger option.\n */\nstruct  linger {\n        u_short l_onoff;                /* option on/off */\n        u_short l_linger;               /* linger time */\n};\n\n/*\n * Level number for (get/set)sockopt() to apply to socket itself.\n */\n#define SOL_SOCKET      0xffff          /* options for socket level */\n\n/*\n * Maximum queue length specifiable by listen.\n */\n#define SOMAXCONN       0x7fffffff\n\n#define MSG_OOB         0x1             /* process out-of-band data */\n#define MSG_PEEK        0x2             /* peek at incoming message */\n#define MSG_DONTROUTE   0x4             /* send without using routing tables */\n\n#define MSG_PARTIAL     0x8000          /* partial send or recv for message xport */\n\n/*\n * WinSock 2 extension -- new flags for WSASend(), WSASendTo(), WSARecv() and\n *                          WSARecvFrom()\n */\n#define MSG_INTERRUPT   0x10            /* send/recv in the interrupt context */\n\n#define MSG_MAXIOVLEN   16\n\n/*\n * Define constant based on rfc883, used by gethostbyxxxx() calls.\n */\n#define MAXGETHOSTSTRUCT        1024\n\n/*\n * WinSock 2 extension -- bit values and indices for FD_XXX network events\n */\n#define FD_READ_BIT      0\n#define FD_READ          (1 << FD_READ_BIT)\n\n#define FD_WRITE_BIT     1\n#define FD_WRITE         (1 << FD_WRITE_BIT)\n\n#define FD_OOB_BIT       2\n#define FD_OOB           (1 << FD_OOB_BIT)\n\n#define FD_ACCEPT_BIT    3\n#define FD_ACCEPT        (1 << FD_ACCEPT_BIT)\n\n#define FD_CONNECT_BIT   4\n#define FD_CONNECT       (1 << FD_CONNECT_BIT)\n\n#define FD_CLOSE_BIT     5\n#define FD_CLOSE         (1 << FD_CLOSE_BIT)\n\n#define FD_QOS_BIT       6\n#define FD_QOS           (1 << FD_QOS_BIT)\n\n#define FD_GROUP_QOS_BIT 7\n#define FD_GROUP_QOS     (1 << FD_GROUP_QOS_BIT)\n\n#define FD_ROUTING_INTERFACE_CHANGE_BIT 8\n#define FD_ROUTING_INTERFACE_CHANGE     (1 << FD_ROUTING_INTERFACE_CHANGE_BIT)\n\n#define FD_ADDRESS_LIST_CHANGE_BIT 9\n#define FD_ADDRESS_LIST_CHANGE     (1 << FD_ADDRESS_LIST_CHANGE_BIT)\n\n#define FD_MAX_EVENTS    10\n#define FD_ALL_EVENTS    ((1 << FD_MAX_EVENTS) - 1)\n\n\n/*\n * WinSock error codes are also defined in winerror.h\n * Hence the IFDEF.\n */\n#ifndef WSABASEERR\n\n/*\n * All Windows Sockets error constants are biased by WSABASEERR from\n * the \"normal\"\n */\n#define WSABASEERR              10000\n\n/*\n * Windows Sockets definitions of regular Microsoft C error constants\n */\n#define WSAEINTR                (WSABASEERR+4)\n#define WSAEBADF                (WSABASEERR+9)\n#define WSAEACCES               (WSABASEERR+13)\n#define WSAEFAULT               (WSABASEERR+14)\n#define WSAEINVAL               (WSABASEERR+22)\n#define WSAEMFILE               (WSABASEERR+24)\n\n/*\n * Windows Sockets definitions of regular Berkeley error constants\n */\n#define WSAEWOULDBLOCK          (WSABASEERR+35)\n#define WSAEINPROGRESS          (WSABASEERR+36)\n#define WSAEALREADY             (WSABASEERR+37)\n#define WSAENOTSOCK             (WSABASEERR+38)\n#define WSAEDESTADDRREQ         (WSABASEERR+39)\n#define WSAEMSGSIZE             (WSABASEERR+40)\n#define WSAEPROTOTYPE           (WSABASEERR+41)\n#define WSAENOPROTOOPT          (WSABASEERR+42)\n#define WSAEPROTONOSUPPORT      (WSABASEERR+43)\n#define WSAESOCKTNOSUPPORT      (WSABASEERR+44)\n#define WSAEOPNOTSUPP           (WSABASEERR+45)\n#define WSAEPFNOSUPPORT         (WSABASEERR+46)\n#define WSAEAFNOSUPPORT         (WSABASEERR+47)\n#define WSAEADDRINUSE           (WSABASEERR+48)\n#define WSAEADDRNOTAVAIL        (WSABASEERR+49)\n#define WSAENETDOWN             (WSABASEERR+50)\n#define WSAENETUNREACH          (WSABASEERR+51)\n#define WSAENETRESET            (WSABASEERR+52)\n#define WSAECONNABORTED         (WSABASEERR+53)\n#define WSAECONNRESET           (WSABASEERR+54)\n#define WSAENOBUFS              (WSABASEERR+55)\n#define WSAEISCONN              (WSABASEERR+56)\n#define WSAENOTCONN             (WSABASEERR+57)\n#define WSAESHUTDOWN            (WSABASEERR+58)\n#define WSAETOOMANYREFS         (WSABASEERR+59)\n#define WSAETIMEDOUT            (WSABASEERR+60)\n#define WSAECONNREFUSED         (WSABASEERR+61)\n#define WSAELOOP                (WSABASEERR+62)\n#define WSAENAMETOOLONG         (WSABASEERR+63)\n#define WSAEHOSTDOWN            (WSABASEERR+64)\n#define WSAEHOSTUNREACH         (WSABASEERR+65)\n#define WSAENOTEMPTY            (WSABASEERR+66)\n#define WSAEPROCLIM             (WSABASEERR+67)\n#define WSAEUSERS               (WSABASEERR+68)\n#define WSAEDQUOT               (WSABASEERR+69)\n#define WSAESTALE               (WSABASEERR+70)\n#define WSAEREMOTE              (WSABASEERR+71)\n\n/*\n * Extended Windows Sockets error constant definitions\n */\n#define WSASYSNOTREADY          (WSABASEERR+91)\n#define WSAVERNOTSUPPORTED      (WSABASEERR+92)\n#define WSANOTINITIALISED       (WSABASEERR+93)\n#define WSAEDISCON              (WSABASEERR+101)\n#define WSAENOMORE              (WSABASEERR+102)\n#define WSAECANCELLED           (WSABASEERR+103)\n#define WSAEINVALIDPROCTABLE    (WSABASEERR+104)\n#define WSAEINVALIDPROVIDER     (WSABASEERR+105)\n#define WSAEPROVIDERFAILEDINIT  (WSABASEERR+106)\n#define WSASYSCALLFAILURE       (WSABASEERR+107)\n#define WSASERVICE_NOT_FOUND    (WSABASEERR+108)\n#define WSATYPE_NOT_FOUND       (WSABASEERR+109)\n#define WSA_E_NO_MORE           (WSABASEERR+110)\n#define WSA_E_CANCELLED         (WSABASEERR+111)\n#define WSAEREFUSED             (WSABASEERR+112)\n\n/*\n * Error return codes from gethostbyname() and gethostbyaddr()\n * (when using the resolver). Note that these errors are\n * retrieved via WSAGetLastError() and must therefore follow\n * the rules for avoiding clashes with error numbers from\n * specific implementations or language run-time systems.\n * For this reason the codes are based at WSABASEERR+1001.\n * Note also that [WSA]NO_ADDRESS is defined only for\n * compatibility purposes.\n */\n\n/* Authoritative Answer: Host not found */\n#define WSAHOST_NOT_FOUND       (WSABASEERR+1001)\n\n/* Non-Authoritative: Host not found, or SERVERFAIL */\n#define WSATRY_AGAIN            (WSABASEERR+1002)\n\n/* Non-recoverable errors, FORMERR, REFUSED, NOTIMP */\n#define WSANO_RECOVERY          (WSABASEERR+1003)\n\n/* Valid name, no data record of requested type */\n#define WSANO_DATA              (WSABASEERR+1004)\n\n/*\n * Define QOS related error return codes\n *\n */\n#define  WSA_QOS_RECEIVERS               (WSABASEERR + 1005)\n         /* at least one Reserve has arrived */\n#define  WSA_QOS_SENDERS                 (WSABASEERR + 1006)\n         /* at least one Path has arrived */\n#define  WSA_QOS_NO_SENDERS              (WSABASEERR + 1007)\n         /* there are no senders */\n#define  WSA_QOS_NO_RECEIVERS            (WSABASEERR + 1008)\n         /* there are no receivers */\n#define  WSA_QOS_REQUEST_CONFIRMED       (WSABASEERR + 1009)\n         /* Reserve has been confirmed */\n#define  WSA_QOS_ADMISSION_FAILURE       (WSABASEERR + 1010)\n         /* error due to lack of resources */\n#define  WSA_QOS_POLICY_FAILURE          (WSABASEERR + 1011)\n         /* rejected for administrative reasons - bad credentials */\n#define  WSA_QOS_BAD_STYLE               (WSABASEERR + 1012)\n         /* unknown or conflicting style */\n#define  WSA_QOS_BAD_OBJECT              (WSABASEERR + 1013)\n         /* problem with some part of the filterspec or providerspecific\n          * buffer in general */\n#define  WSA_QOS_TRAFFIC_CTRL_ERROR      (WSABASEERR + 1014)\n         /* problem with some part of the flowspec */\n#define  WSA_QOS_GENERIC_ERROR           (WSABASEERR + 1015)\n         /* general error */\n#define  WSA_QOS_ESERVICETYPE            (WSABASEERR + 1016)\n         /* invalid service type in flowspec */\n#define  WSA_QOS_EFLOWSPEC               (WSABASEERR + 1017)\n         /* invalid flowspec */\n#define  WSA_QOS_EPROVSPECBUF            (WSABASEERR + 1018)\n         /* invalid provider specific buffer */\n#define  WSA_QOS_EFILTERSTYLE            (WSABASEERR + 1019)\n         /* invalid filter style */\n#define  WSA_QOS_EFILTERTYPE             (WSABASEERR + 1020)\n         /* invalid filter type */\n#define  WSA_QOS_EFILTERCOUNT            (WSABASEERR + 1021)\n         /* incorrect number of filters */\n#define  WSA_QOS_EOBJLENGTH              (WSABASEERR + 1022)\n         /* invalid object length */\n#define  WSA_QOS_EFLOWCOUNT              (WSABASEERR + 1023)\n         /* incorrect number of flows */\n#define  WSA_QOS_EUNKOWNPSOBJ            (WSABASEERR + 1024)\n         /* unknown object in provider specific buffer */\n#define  WSA_QOS_EPOLICYOBJ              (WSABASEERR + 1025)\n         /* invalid policy object in provider specific buffer */\n#define  WSA_QOS_EFLOWDESC               (WSABASEERR + 1026)\n         /* invalid flow descriptor in the list */\n#define  WSA_QOS_EPSFLOWSPEC             (WSABASEERR + 1027)\n         /* inconsistent flow spec in provider specific buffer */\n#define  WSA_QOS_EPSFILTERSPEC           (WSABASEERR + 1028)\n         /* invalid filter spec in provider specific buffer */\n#define  WSA_QOS_ESDMODEOBJ              (WSABASEERR + 1029)\n         /* invalid shape discard mode object in provider specific buffer */\n#define  WSA_QOS_ESHAPERATEOBJ           (WSABASEERR + 1030)\n         /* invalid shaping rate object in provider specific buffer */\n#define  WSA_QOS_RESERVED_PETYPE         (WSABASEERR + 1031)\n         /* reserved policy element in provider specific buffer */\n\n\n\n/*\n * WinSock error codes are also defined in winerror.h\n * Hence the IFDEF.\n */\n#endif /* ifdef WSABASEERR */\n\n/*\n * Compatibility macros.\n */\n\n#define h_errno         WSAGetLastError()\n#define HOST_NOT_FOUND          WSAHOST_NOT_FOUND\n#define TRY_AGAIN               WSATRY_AGAIN\n#define NO_RECOVERY             WSANO_RECOVERY\n#define NO_DATA                 WSANO_DATA\n/* no address, look for MX record */\n#define WSANO_ADDRESS           WSANO_DATA\n#define NO_ADDRESS              WSANO_ADDRESS\n\n\n\n/*\n * Windows Sockets errors redefined as regular Berkeley error constants.\n * These are commented out in Windows NT to avoid conflicts with errno.h.\n * Use the WSA constants instead.\n */\n#if 0\n#define EWOULDBLOCK             WSAEWOULDBLOCK\n#define EINPROGRESS             WSAEINPROGRESS\n#define EALREADY                WSAEALREADY\n#define ENOTSOCK                WSAENOTSOCK\n#define EDESTADDRREQ            WSAEDESTADDRREQ\n#define EMSGSIZE                WSAEMSGSIZE\n#define EPROTOTYPE              WSAEPROTOTYPE\n#define ENOPROTOOPT             WSAENOPROTOOPT\n#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT\n#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT\n#define EOPNOTSUPP              WSAEOPNOTSUPP\n#define EPFNOSUPPORT            WSAEPFNOSUPPORT\n#define EAFNOSUPPORT            WSAEAFNOSUPPORT\n#define EADDRINUSE              WSAEADDRINUSE\n#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL\n#define ENETDOWN                WSAENETDOWN\n#define ENETUNREACH             WSAENETUNREACH\n#define ENETRESET               WSAENETRESET\n#define ECONNABORTED            WSAECONNABORTED\n#define ECONNRESET              WSAECONNRESET\n#define ENOBUFS                 WSAENOBUFS\n#define EISCONN                 WSAEISCONN\n#define ENOTCONN                WSAENOTCONN\n#define ESHUTDOWN               WSAESHUTDOWN\n#define ETOOMANYREFS            WSAETOOMANYREFS\n#define ETIMEDOUT               WSAETIMEDOUT\n#define ECONNREFUSED            WSAECONNREFUSED\n#define ELOOP                   WSAELOOP\n#define ENAMETOOLONG            WSAENAMETOOLONG\n#define EHOSTDOWN               WSAEHOSTDOWN\n#define EHOSTUNREACH            WSAEHOSTUNREACH\n#define ENOTEMPTY               WSAENOTEMPTY\n#define EPROCLIM                WSAEPROCLIM\n#define EUSERS                  WSAEUSERS\n#define EDQUOT                  WSAEDQUOT\n#define ESTALE                  WSAESTALE\n#define EREMOTE                 WSAEREMOTE\n#endif\n\n/*\n * WinSock 2 extension -- new error codes and type definition\n */\n\n#ifdef WIN32\n\n#define WSAAPI                  FAR PASCAL\n#define WSAEVENT                HANDLE\n#define LPWSAEVENT              LPHANDLE\n#define WSAOVERLAPPED           OVERLAPPED\ntypedef struct _OVERLAPPED *    LPWSAOVERLAPPED;\n\n#define WSA_IO_PENDING          (ERROR_IO_PENDING)\n#define WSA_IO_INCOMPLETE       (ERROR_IO_INCOMPLETE)\n#define WSA_INVALID_HANDLE      (ERROR_INVALID_HANDLE)\n#define WSA_INVALID_PARAMETER   (ERROR_INVALID_PARAMETER)\n#define WSA_NOT_ENOUGH_MEMORY   (ERROR_NOT_ENOUGH_MEMORY)\n#define WSA_OPERATION_ABORTED   (ERROR_OPERATION_ABORTED)\n\n#define WSA_INVALID_EVENT       ((WSAEVENT)NULL)\n#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)\n#define WSA_WAIT_FAILED         (WAIT_FAILED)\n#define WSA_WAIT_EVENT_0        (WAIT_OBJECT_0)\n#define WSA_WAIT_IO_COMPLETION  (WAIT_IO_COMPLETION)\n#define WSA_WAIT_TIMEOUT        (WAIT_TIMEOUT)\n#define WSA_INFINITE            (INFINITE)\n\n#else /* WIN16 */\n\n#define WSAAPI                  FAR PASCAL\ntypedef DWORD                   WSAEVENT, FAR * LPWSAEVENT;\n\ntypedef struct _WSAOVERLAPPED {\n    DWORD    Internal;\n    DWORD    InternalHigh;\n    DWORD    Offset;\n    DWORD    OffsetHigh;\n    WSAEVENT hEvent;\n} WSAOVERLAPPED, FAR * LPWSAOVERLAPPED;\n\n#define WSA_IO_PENDING          (WSAEWOULDBLOCK)\n#define WSA_IO_INCOMPLETE       (WSAEWOULDBLOCK)\n#define WSA_INVALID_HANDLE      (WSAENOTSOCK)\n#define WSA_INVALID_PARAMETER   (WSAEINVAL)\n#define WSA_NOT_ENOUGH_MEMORY   (WSAENOBUFS)\n#define WSA_OPERATION_ABORTED   (WSAEINTR)\n\n#define WSA_INVALID_EVENT       ((WSAEVENT)NULL)\n#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS)\n#define WSA_WAIT_FAILED         ((DWORD)-1L)\n#define WSA_WAIT_EVENT_0        ((DWORD)0)\n#define WSA_WAIT_TIMEOUT        ((DWORD)0x102L)\n#define WSA_INFINITE            ((DWORD)-1L)\n\n#endif  /* WIN32 */\n\n/*\n * WinSock 2 extension -- WSABUF and QOS struct, include qos.h\n * to pull in FLOWSPEC and related definitions\n */\n\ntypedef struct _WSABUF {\n    u_long      len;     /* the length of the buffer */\n    char FAR *  buf;     /* the pointer to the buffer */\n} WSABUF, FAR * LPWSABUF;\n\n#include <qos.h>\n\ntypedef struct _QualityOfService\n{\n    FLOWSPEC      SendingFlowspec;       /* the flow spec for data sending */\n    FLOWSPEC      ReceivingFlowspec;     /* the flow spec for data receiving */\n    WSABUF        ProviderSpecific;      /* additional provider specific stuff */\n} QOS, FAR * LPQOS;\n\n/*\n * WinSock 2 extension -- manifest constants for return values of the condition function\n */\n#define CF_ACCEPT       0x0000\n#define CF_REJECT       0x0001\n#define CF_DEFER        0x0002\n\n/*\n * WinSock 2 extension -- manifest constants for shutdown()\n */\n#define SD_RECEIVE      0x00\n#define SD_SEND         0x01\n#define SD_BOTH         0x02\n\n/*\n * WinSock 2 extension -- data type and manifest constants for socket groups\n */\ntypedef unsigned int             GROUP;\n\n#define SG_UNCONSTRAINED_GROUP   0x01\n#define SG_CONSTRAINED_GROUP     0x02\n\n/*\n * WinSock 2 extension -- data type for WSAEnumNetworkEvents()\n */\ntypedef struct _WSANETWORKEVENTS {\n       long lNetworkEvents;\n       int iErrorCode[FD_MAX_EVENTS];\n} WSANETWORKEVENTS, FAR * LPWSANETWORKEVENTS;\n\n/*\n * WinSock 2 extension -- WSAPROTOCOL_INFO structure and associated\n * manifest constants\n */\n\n#ifndef GUID_DEFINED\n#include <guiddef.h>\n#endif /* GUID_DEFINED */\n\n#define MAX_PROTOCOL_CHAIN 7\n\n#define BASE_PROTOCOL      1\n#define LAYERED_PROTOCOL   0\n\ntypedef struct _WSAPROTOCOLCHAIN {\n    int ChainLen;                                 /* the length of the chain,     */\n                                                  /* length = 0 means layered protocol, */\n                                                  /* length = 1 means base protocol, */\n                                                  /* length > 1 means protocol chain */\n    DWORD ChainEntries[MAX_PROTOCOL_CHAIN];       /* a list of dwCatalogEntryIds */\n} WSAPROTOCOLCHAIN, FAR * LPWSAPROTOCOLCHAIN;\n\n#define WSAPROTOCOL_LEN  255\n\ntypedef struct _WSAPROTOCOL_INFOA {\n    DWORD dwServiceFlags1;\n    DWORD dwServiceFlags2;\n    DWORD dwServiceFlags3;\n    DWORD dwServiceFlags4;\n    DWORD dwProviderFlags;\n    GUID ProviderId;\n    DWORD dwCatalogEntryId;\n    WSAPROTOCOLCHAIN ProtocolChain;\n    int iVersion;\n    int iAddressFamily;\n    int iMaxSockAddr;\n    int iMinSockAddr;\n    int iSocketType;\n    int iProtocol;\n    int iProtocolMaxOffset;\n    int iNetworkByteOrder;\n    int iSecurityScheme;\n    DWORD dwMessageSize;\n    DWORD dwProviderReserved;\n    CHAR   szProtocol[WSAPROTOCOL_LEN+1];\n} WSAPROTOCOL_INFOA, FAR * LPWSAPROTOCOL_INFOA;\ntypedef struct _WSAPROTOCOL_INFOW {\n    DWORD dwServiceFlags1;\n    DWORD dwServiceFlags2;\n    DWORD dwServiceFlags3;\n    DWORD dwServiceFlags4;\n    DWORD dwProviderFlags;\n    GUID ProviderId;\n    DWORD dwCatalogEntryId;\n    WSAPROTOCOLCHAIN ProtocolChain;\n    int iVersion;\n    int iAddressFamily;\n    int iMaxSockAddr;\n    int iMinSockAddr;\n    int iSocketType;\n    int iProtocol;\n    int iProtocolMaxOffset;\n    int iNetworkByteOrder;\n    int iSecurityScheme;\n    DWORD dwMessageSize;\n    DWORD dwProviderReserved;\n    WCHAR  szProtocol[WSAPROTOCOL_LEN+1];\n} WSAPROTOCOL_INFOW, FAR * LPWSAPROTOCOL_INFOW;\n#ifdef UNICODE\ntypedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;\ntypedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;\n#else\ntypedef WSAPROTOCOL_INFOA WSAPROTOCOL_INFO;\ntypedef LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO;\n#endif /* UNICODE */\n\n/* Flag bit definitions for dwProviderFlags */\n#define PFL_MULTIPLE_PROTO_ENTRIES          0x00000001\n#define PFL_RECOMMENDED_PROTO_ENTRY         0x00000002\n#define PFL_HIDDEN                          0x00000004\n#define PFL_MATCHES_PROTOCOL_ZERO           0x00000008\n\n/* Flag bit definitions for dwServiceFlags1 */\n#define XP1_CONNECTIONLESS                  0x00000001\n#define XP1_GUARANTEED_DELIVERY             0x00000002\n#define XP1_GUARANTEED_ORDER                0x00000004\n#define XP1_MESSAGE_ORIENTED                0x00000008\n#define XP1_PSEUDO_STREAM                   0x00000010\n#define XP1_GRACEFUL_CLOSE                  0x00000020\n#define XP1_EXPEDITED_DATA                  0x00000040\n#define XP1_CONNECT_DATA                    0x00000080\n#define XP1_DISCONNECT_DATA                 0x00000100\n#define XP1_SUPPORT_BROADCAST               0x00000200\n#define XP1_SUPPORT_MULTIPOINT              0x00000400\n#define XP1_MULTIPOINT_CONTROL_PLANE        0x00000800\n#define XP1_MULTIPOINT_DATA_PLANE           0x00001000\n#define XP1_QOS_SUPPORTED                   0x00002000\n#define XP1_INTERRUPT                       0x00004000\n#define XP1_UNI_SEND                        0x00008000\n#define XP1_UNI_RECV                        0x00010000\n#define XP1_IFS_HANDLES                     0x00020000\n#define XP1_PARTIAL_MESSAGE                 0x00040000\n\n#define BIGENDIAN                           0x0000\n#define LITTLEENDIAN                        0x0001\n\n#define SECURITY_PROTOCOL_NONE              0x0000\n\n/*\n * WinSock 2 extension -- manifest constants for WSAJoinLeaf()\n */\n#define JL_SENDER_ONLY    0x01\n#define JL_RECEIVER_ONLY  0x02\n#define JL_BOTH           0x04\n\n/*\n * WinSock 2 extension -- manifest constants for WSASocket()\n */\n#define WSA_FLAG_OVERLAPPED           0x01\n#define WSA_FLAG_MULTIPOINT_C_ROOT    0x02\n#define WSA_FLAG_MULTIPOINT_C_LEAF    0x04\n#define WSA_FLAG_MULTIPOINT_D_ROOT    0x08\n#define WSA_FLAG_MULTIPOINT_D_LEAF    0x10\n\n/*\n * WinSock 2 extension -- manifest constants for WSAIoctl()\n */\n#define IOC_UNIX                      0x00000000\n#define IOC_WS2                       0x08000000\n#define IOC_PROTOCOL                  0x10000000\n#define IOC_VENDOR                    0x18000000\n\n#define _WSAIO(x,y)                   (IOC_VOID|(x)|(y))\n#define _WSAIOR(x,y)                  (IOC_OUT|(x)|(y))\n#define _WSAIOW(x,y)                  (IOC_IN|(x)|(y))\n#define _WSAIORW(x,y)                 (IOC_INOUT|(x)|(y))\n\n#define SIO_ASSOCIATE_HANDLE          _WSAIOW(IOC_WS2,1)\n#define SIO_ENABLE_CIRCULAR_QUEUEING  _WSAIO(IOC_WS2,2)\n#define SIO_FIND_ROUTE                _WSAIOR(IOC_WS2,3)\n#define SIO_FLUSH                     _WSAIO(IOC_WS2,4)\n#define SIO_GET_BROADCAST_ADDRESS     _WSAIOR(IOC_WS2,5)\n#define SIO_GET_EXTENSION_FUNCTION_POINTER  _WSAIORW(IOC_WS2,6)\n#define SIO_GET_QOS                   _WSAIORW(IOC_WS2,7)\n#define SIO_GET_GROUP_QOS             _WSAIORW(IOC_WS2,8)\n#define SIO_MULTIPOINT_LOOPBACK       _WSAIOW(IOC_WS2,9)\n#define SIO_MULTICAST_SCOPE           _WSAIOW(IOC_WS2,10)\n#define SIO_SET_QOS                   _WSAIOW(IOC_WS2,11)\n#define SIO_SET_GROUP_QOS             _WSAIOW(IOC_WS2,12)\n#define SIO_TRANSLATE_HANDLE          _WSAIORW(IOC_WS2,13)\n#define SIO_ROUTING_INTERFACE_QUERY   _WSAIORW(IOC_WS2,20)\n#define SIO_ROUTING_INTERFACE_CHANGE  _WSAIOW(IOC_WS2,21)\n#define SIO_ADDRESS_LIST_QUERY        _WSAIOR(IOC_WS2,22)\n#define SIO_ADDRESS_LIST_CHANGE       _WSAIO(IOC_WS2,23)\n#define SIO_QUERY_TARGET_PNP_HANDLE   _WSAIOR(IOC_WS2,24)\n#define SIO_ADDRESS_LIST_SORT         _WSAIORW(IOC_WS2,25)\n\n/*\n * WinSock 2 extensions -- data types for the condition function in\n * WSAAccept() and overlapped I/O completion routine.\n */\n\ntypedef\nint\n(CALLBACK * LPCONDITIONPROC)(\n    IN LPWSABUF lpCallerId,\n    IN LPWSABUF lpCallerData,\n    IN OUT LPQOS lpSQOS,\n    IN OUT LPQOS lpGQOS,\n    IN LPWSABUF lpCalleeId,\n    IN LPWSABUF lpCalleeData,\n    OUT GROUP FAR * g,\n    IN DWORD_PTR dwCallbackData\n    );\n\ntypedef\nvoid\n(CALLBACK * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(\n    IN DWORD dwError,\n    IN DWORD cbTransferred,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN DWORD dwFlags\n    );\n\n/*\n * WinSock 2 extension -- manifest constants and associated structures\n * for WSANSPIoctl()\n */\n#define SIO_NSP_NOTIFY_CHANGE         _WSAIOW(IOC_WS2,25)\n\ntypedef enum _WSACOMPLETIONTYPE {\n    NSP_NOTIFY_IMMEDIATELY = 0,\n    NSP_NOTIFY_HWND,\n    NSP_NOTIFY_EVENT,\n    NSP_NOTIFY_PORT,\n    NSP_NOTIFY_APC,\n} WSACOMPLETIONTYPE, *PWSACOMPLETIONTYPE, FAR * LPWSACOMPLETIONTYPE;\n\ntypedef struct _WSACOMPLETION {\n    WSACOMPLETIONTYPE Type;\n    union {\n        struct {\n            HWND hWnd;\n            UINT uMsg;\n            WPARAM context;\n        } WindowMessage;\n        struct {\n            LPWSAOVERLAPPED lpOverlapped;\n        } Event;\n        struct {\n            LPWSAOVERLAPPED lpOverlapped;\n            LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;\n        } Apc;\n        struct {\n            LPWSAOVERLAPPED lpOverlapped;\n            HANDLE hPort;\n            ULONG_PTR Key;\n        } Port;\n    } Parameters;\n} WSACOMPLETION, *PWSACOMPLETION, FAR *LPWSACOMPLETION;\n\n/*\n * WinSock 2 extension -- manifest constants for SIO_TRANSLATE_HANDLE ioctl\n */\n#define TH_NETDEV        0x00000001\n#define TH_TAPI          0x00000002\n\n\n/*\n * Microsoft Windows Extended data types required for the functions to\n * convert   back  and  forth  between  binary  and  string  forms  of\n * addresses.\n */\ntypedef struct sockaddr SOCKADDR;\ntypedef struct sockaddr *PSOCKADDR;\ntypedef struct sockaddr FAR *LPSOCKADDR;\n\ntypedef struct sockaddr_storage SOCKADDR_STORAGE;\ntypedef struct sockaddr_storage *PSOCKADDR_STORAGE;\ntypedef struct sockaddr_storage FAR *LPSOCKADDR_STORAGE;\n\n/*\n * Manifest constants and type definitions related to name resolution and\n * registration (RNR) API\n */\n\n#ifndef _tagBLOB_DEFINED\n#define _tagBLOB_DEFINED\n#define _BLOB_DEFINED\n#define _LPBLOB_DEFINED\ntypedef struct _BLOB {\n    ULONG cbSize ;\n#ifdef MIDL_PASS\n    [size_is(cbSize)] BYTE *pBlobData;\n#else  /* MIDL_PASS */\n    BYTE *pBlobData ;\n#endif /* MIDL_PASS */\n} BLOB, *LPBLOB ;\n#endif\n\n/*\n * Service Install Flags\n */\n\n#define SERVICE_MULTIPLE       (0x00000001)\n\n/*\n *& Name Spaces\n */\n\n#define NS_ALL                      (0)\n\n#define NS_SAP                      (1)\n#define NS_NDS                      (2)\n#define NS_PEER_BROWSE              (3)\n#define NS_SLP                      (5)\n#define NS_DHCP                     (6)\n\n#define NS_TCPIP_LOCAL              (10)\n#define NS_TCPIP_HOSTS              (11)\n#define NS_DNS                      (12)\n#define NS_NETBT                    (13)\n#define NS_WINS                     (14)\n#define NS_NLA                      (15)    /* Network Location Awareness */\n\n#define NS_NBP                      (20)\n\n#define NS_MS                       (30)\n#define NS_STDA                     (31)\n#define NS_NTDS                     (32)\n\n#define NS_X500                     (40)\n#define NS_NIS                      (41)\n#define NS_NISPLUS                  (42)\n\n#define NS_WRQ                      (50)\n\n#define NS_NETDES                   (60)    /* Network Designers Limited */\n\n/*\n * Resolution flags for WSAGetAddressByName().\n * Note these are also used by the 1.1 API GetAddressByName, so\n * leave them around.\n */\n#define RES_UNUSED_1                (0x00000001)\n#define RES_FLUSH_CACHE             (0x00000002)\n#ifndef RES_SERVICE\n#define RES_SERVICE                 (0x00000004)\n#endif /* RES_SERVICE */\n\n/*\n * Well known value names for Service Types\n */\n\n#define SERVICE_TYPE_VALUE_IPXPORTA      \"IpxSocket\"\n#define SERVICE_TYPE_VALUE_IPXPORTW     L\"IpxSocket\"\n#define SERVICE_TYPE_VALUE_SAPIDA        \"SapId\"\n#define SERVICE_TYPE_VALUE_SAPIDW       L\"SapId\"\n\n#define SERVICE_TYPE_VALUE_TCPPORTA      \"TcpPort\"\n#define SERVICE_TYPE_VALUE_TCPPORTW     L\"TcpPort\"\n\n#define SERVICE_TYPE_VALUE_UDPPORTA      \"UdpPort\"\n#define SERVICE_TYPE_VALUE_UDPPORTW     L\"UdpPort\"\n\n#define SERVICE_TYPE_VALUE_OBJECTIDA     \"ObjectId\"\n#define SERVICE_TYPE_VALUE_OBJECTIDW    L\"ObjectId\"\n\n#ifdef UNICODE\n\n#define SERVICE_TYPE_VALUE_SAPID        SERVICE_TYPE_VALUE_SAPIDW\n#define SERVICE_TYPE_VALUE_TCPPORT      SERVICE_TYPE_VALUE_TCPPORTW\n#define SERVICE_TYPE_VALUE_UDPPORT      SERVICE_TYPE_VALUE_UDPPORTW\n#define SERVICE_TYPE_VALUE_OBJECTID     SERVICE_TYPE_VALUE_OBJECTIDW\n\n#else /* not UNICODE */\n\n#define SERVICE_TYPE_VALUE_SAPID        SERVICE_TYPE_VALUE_SAPIDA\n#define SERVICE_TYPE_VALUE_TCPPORT      SERVICE_TYPE_VALUE_TCPPORTA\n#define SERVICE_TYPE_VALUE_UDPPORT      SERVICE_TYPE_VALUE_UDPPORTA\n#define SERVICE_TYPE_VALUE_OBJECTID     SERVICE_TYPE_VALUE_OBJECTIDA\n\n#endif\n\n#ifndef __CSADDR_DEFINED__\n#define __CSADDR_DEFINED__\n\n\n/*\n * SockAddr Information\n */\ntypedef struct _SOCKET_ADDRESS {\n    LPSOCKADDR lpSockaddr ;\n    INT iSockaddrLength ;\n} SOCKET_ADDRESS, *PSOCKET_ADDRESS, FAR * LPSOCKET_ADDRESS ;\n\n/*\n * CSAddr Information\n */\ntypedef struct _CSADDR_INFO {\n    SOCKET_ADDRESS LocalAddr ;\n    SOCKET_ADDRESS RemoteAddr ;\n    INT iSocketType ;\n    INT iProtocol ;\n} CSADDR_INFO, *PCSADDR_INFO, FAR * LPCSADDR_INFO ;\n#endif /* __CSADDR_DEFINED__ */\n\n/*\n * Address list returned via SIO_ADDRESS_LIST_QUERY\n */\ntypedef struct _SOCKET_ADDRESS_LIST {\n    INT             iAddressCount;\n    SOCKET_ADDRESS  Address[1];\n} SOCKET_ADDRESS_LIST, FAR * LPSOCKET_ADDRESS_LIST;\n\n/*\n *  Address Family/Protocol Tuples\n */\ntypedef struct _AFPROTOCOLS {\n    INT iAddressFamily;\n    INT iProtocol;\n} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;\n\n/*\n * Client Query API Typedefs\n */\n\n/*\n * The comparators\n */\ntypedef enum _WSAEcomparator\n{\n    COMP_EQUAL = 0,\n    COMP_NOTLESS\n} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;\n\ntypedef struct _WSAVersion\n{\n    DWORD           dwVersion;\n    WSAECOMPARATOR  ecHow;\n}WSAVERSION, *PWSAVERSION, *LPWSAVERSION;\n\ntypedef struct _WSAQuerySetA\n{\n    DWORD           dwSize;\n    LPSTR           lpszServiceInstanceName;\n    LPGUID          lpServiceClassId;\n    LPWSAVERSION    lpVersion;\n    LPSTR           lpszComment;\n    DWORD           dwNameSpace;\n    LPGUID          lpNSProviderId;\n    LPSTR           lpszContext;\n    DWORD           dwNumberOfProtocols;\n    LPAFPROTOCOLS   lpafpProtocols;\n    LPSTR           lpszQueryString;\n    DWORD           dwNumberOfCsAddrs;\n    LPCSADDR_INFO   lpcsaBuffer;\n    DWORD           dwOutputFlags;\n    LPBLOB          lpBlob;\n} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;\ntypedef struct _WSAQuerySetW\n{\n    DWORD           dwSize;\n    LPWSTR          lpszServiceInstanceName;\n    LPGUID          lpServiceClassId;\n    LPWSAVERSION    lpVersion;\n    LPWSTR          lpszComment;\n    DWORD           dwNameSpace;\n    LPGUID          lpNSProviderId;\n    LPWSTR          lpszContext;\n    DWORD           dwNumberOfProtocols;\n    LPAFPROTOCOLS   lpafpProtocols;\n    LPWSTR          lpszQueryString;\n    DWORD           dwNumberOfCsAddrs;\n    LPCSADDR_INFO   lpcsaBuffer;\n    DWORD           dwOutputFlags;\n    LPBLOB          lpBlob;\n} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;\n#ifdef UNICODE\ntypedef WSAQUERYSETW WSAQUERYSET;\ntypedef PWSAQUERYSETW PWSAQUERYSET;\ntypedef LPWSAQUERYSETW LPWSAQUERYSET;\n#else\ntypedef WSAQUERYSETA WSAQUERYSET;\ntypedef PWSAQUERYSETA PWSAQUERYSET;\ntypedef LPWSAQUERYSETA LPWSAQUERYSET;\n#endif /* UNICODE */\n\n#define LUP_DEEP                0x0001\n#define LUP_CONTAINERS          0x0002\n#define LUP_NOCONTAINERS        0x0004\n#define LUP_NEAREST             0x0008\n#define LUP_RETURN_NAME         0x0010\n#define LUP_RETURN_TYPE         0x0020\n#define LUP_RETURN_VERSION      0x0040\n#define LUP_RETURN_COMMENT      0x0080\n#define LUP_RETURN_ADDR         0x0100\n#define LUP_RETURN_BLOB         0x0200\n#define LUP_RETURN_ALIASES      0x0400\n#define LUP_RETURN_QUERY_STRING 0x0800\n#define LUP_RETURN_ALL          0x0FF0\n#define LUP_RES_SERVICE         0x8000\n\n#define LUP_FLUSHCACHE       0x1000\n#define LUP_FLUSHPREVIOUS    0x2000\n\n\n/*\n * Return flags\n */\n\n#define  RESULT_IS_ALIAS      0x0001\n#define  RESULT_IS_ADDED      0x0010\n#define  RESULT_IS_CHANGED    0x0020\n#define  RESULT_IS_DELETED    0x0040\n\n\n/*\n * Service Address Registration and Deregistration Data Types.\n */\n\ntypedef enum _WSAESETSERVICEOP\n{\n    RNRSERVICE_REGISTER=0,\n    RNRSERVICE_DEREGISTER,\n    RNRSERVICE_DELETE\n} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;\n\n/*\n * Service Installation/Removal Data Types.\n */\n\ntypedef struct _WSANSClassInfoA\n{\n    LPSTR   lpszName;\n    DWORD   dwNameSpace;\n    DWORD   dwValueType;\n    DWORD   dwValueSize;\n    LPVOID  lpValue;\n}WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA;\ntypedef struct _WSANSClassInfoW\n{\n    LPWSTR  lpszName;\n    DWORD   dwNameSpace;\n    DWORD   dwValueType;\n    DWORD   dwValueSize;\n    LPVOID  lpValue;\n}WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;\n#ifdef UNICODE\ntypedef WSANSCLASSINFOW WSANSCLASSINFO;\ntypedef PWSANSCLASSINFOW PWSANSCLASSINFO;\ntypedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;\n#else\ntypedef WSANSCLASSINFOA WSANSCLASSINFO;\ntypedef PWSANSCLASSINFOA PWSANSCLASSINFO;\ntypedef LPWSANSCLASSINFOA LPWSANSCLASSINFO;\n#endif /* UNICODE */\n\ntypedef struct _WSAServiceClassInfoA\n{\n    LPGUID              lpServiceClassId;\n    LPSTR               lpszServiceClassName;\n    DWORD               dwCount;\n    LPWSANSCLASSINFOA   lpClassInfos;\n}WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA;\ntypedef struct _WSAServiceClassInfoW\n{\n    LPGUID              lpServiceClassId;\n    LPWSTR              lpszServiceClassName;\n    DWORD               dwCount;\n    LPWSANSCLASSINFOW   lpClassInfos;\n}WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;\n#ifdef UNICODE\ntypedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;\ntypedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;\ntypedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;\n#else\ntypedef WSASERVICECLASSINFOA WSASERVICECLASSINFO;\ntypedef PWSASERVICECLASSINFOA PWSASERVICECLASSINFO;\ntypedef LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO;\n#endif /* UNICODE */\n\ntypedef struct _WSANAMESPACE_INFOA {\n    GUID                NSProviderId;\n    DWORD               dwNameSpace;\n    BOOL                fActive;\n    DWORD               dwVersion;\n    LPSTR               lpszIdentifier;\n} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;\ntypedef struct _WSANAMESPACE_INFOW {\n    GUID                NSProviderId;\n    DWORD               dwNameSpace;\n    BOOL                fActive;\n    DWORD               dwVersion;\n    LPWSTR              lpszIdentifier;\n} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;\n#ifdef UNICODE\ntypedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;\ntypedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;\ntypedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;\n#else\ntypedef WSANAMESPACE_INFOA WSANAMESPACE_INFO;\ntypedef PWSANAMESPACE_INFOA PWSANAMESPACE_INFO;\ntypedef LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO;\n#endif /* UNICODE */\n\n/* Socket function prototypes */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\naccept(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * addr,\n    IN OUT int FAR * addrlen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nSOCKET\n(WSAAPI * LPFN_ACCEPT)(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * addr,\n    IN OUT int FAR * addrlen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nbind(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_BIND)(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nclosesocket(\n    IN SOCKET s\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_CLOSESOCKET)(\n    IN SOCKET s\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nconnect(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_CONNECT)(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nioctlsocket(\n    IN SOCKET s,\n    IN long cmd,\n    IN OUT u_long FAR * argp\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_IOCTLSOCKET)(\n    IN SOCKET s,\n    IN long cmd,\n    IN OUT u_long FAR * argp\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\ngetpeername(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * name,\n    IN OUT int FAR * namelen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_GETPEERNAME)(\n    IN SOCKET s,\n    IN struct sockaddr FAR * name,\n    IN OUT int FAR * namelen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\ngetsockname(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * name,\n    IN OUT int FAR * namelen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_GETSOCKNAME)(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * name,\n    IN OUT int FAR * namelen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\ngetsockopt(\n    IN SOCKET s,\n    IN int level,\n    IN int optname,\n    OUT char FAR * optval,\n    IN OUT int FAR * optlen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_GETSOCKOPT)(\n    IN SOCKET s,\n    IN int level,\n    IN int optname,\n    OUT char FAR * optval,\n    IN OUT int FAR * optlen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nu_long\nWSAAPI\nhtonl(\n    IN u_long hostlong\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nu_long\n(WSAAPI * LPFN_HTONL)(\n    IN u_long hostlong\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nu_short\nWSAAPI\nhtons(\n    IN u_short hostshort\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nu_short\n(WSAAPI * LPFN_HTONS)(\n    IN u_short hostshort\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nunsigned long\nWSAAPI\ninet_addr(\n    IN const char FAR * cp\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nunsigned long\n(WSAAPI * LPFN_INET_ADDR)(\n    IN const char FAR * cp\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nchar FAR *\nWSAAPI\ninet_ntoa(\n    IN struct in_addr in\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nchar FAR *\n(WSAAPI * LPFN_INET_NTOA)(\n    IN struct in_addr in\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nlisten(\n    IN SOCKET s,\n    IN int backlog\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_LISTEN)(\n    IN SOCKET s,\n    IN int backlog\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nu_long\nWSAAPI\nntohl(\n    IN u_long netlong\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nu_long\n(WSAAPI * LPFN_NTOHL)(\n    IN u_long netlong\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nu_short\nWSAAPI\nntohs(\n    IN u_short netshort\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nu_short\n(WSAAPI * LPFN_NTOHS)(\n    IN u_short netshort\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nrecv(\n    IN SOCKET s,\n    OUT char FAR * buf,\n    IN int len,\n    IN int flags\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_RECV)(\n    IN SOCKET s,\n    OUT char FAR * buf,\n    IN int len,\n    IN int flags\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nrecvfrom(\n    IN SOCKET s,\n    OUT char FAR * buf,\n    IN int len,\n    IN int flags,\n    OUT struct sockaddr FAR * from,\n    IN OUT int FAR * fromlen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_RECVFROM)(\n    IN SOCKET s,\n    OUT char FAR * buf,\n    IN int len,\n    IN int flags,\n    OUT struct sockaddr FAR * from,\n    IN OUT int FAR * fromlen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nselect(\n    IN int nfds,\n    IN OUT fd_set FAR * readfds,\n    IN OUT fd_set FAR * writefds,\n    IN OUT fd_set FAR *exceptfds,\n    IN const struct timeval FAR * timeout\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_SELECT)(\n    IN int nfds,\n    IN OUT fd_set FAR * readfds,\n    IN OUT fd_set FAR * writefds,\n    IN OUT fd_set FAR *exceptfds,\n    IN const struct timeval FAR * timeout\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nsend(\n    IN SOCKET s,\n    IN const char FAR * buf,\n    IN int len,\n    IN int flags\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_SEND)(\n    IN SOCKET s,\n    IN const char FAR * buf,\n    IN int len,\n    IN int flags\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nsendto(\n    IN SOCKET s,\n    IN const char FAR * buf,\n    IN int len,\n    IN int flags,\n    IN const struct sockaddr FAR * to,\n    IN int tolen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_SENDTO)(\n    IN SOCKET s,\n    IN const char FAR * buf,\n    IN int len,\n    IN int flags,\n    IN const struct sockaddr FAR * to,\n    IN int tolen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nsetsockopt(\n    IN SOCKET s,\n    IN int level,\n    IN int optname,\n    IN const char FAR * optval,\n    IN int optlen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_SETSOCKOPT)(\n    IN SOCKET s,\n    IN int level,\n    IN int optname,\n    IN const char FAR * optval,\n    IN int optlen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nshutdown(\n    IN SOCKET s,\n    IN int how\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_SHUTDOWN)(\n    IN SOCKET s,\n    IN int how\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\nsocket(\n    IN int af,\n    IN int type,\n    IN int protocol\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nSOCKET\n(WSAAPI * LPFN_SOCKET)(\n    IN int af,\n    IN int type,\n    IN int protocol\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n/* Database function prototypes */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct hostent FAR *\nWSAAPI\ngethostbyaddr(\n    IN const char FAR * addr,\n    IN int len,\n    IN int type\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct hostent FAR *\n(WSAAPI * LPFN_GETHOSTBYADDR)(\n    IN const char FAR * addr,\n    IN int len,\n    IN int type\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct hostent FAR *\nWSAAPI\ngethostbyname(\n    IN const char FAR * name\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct hostent FAR *\n(WSAAPI * LPFN_GETHOSTBYNAME)(\n    IN const char FAR * name\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\ngethostname(\n    OUT char FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_GETHOSTNAME)(\n    OUT char FAR * name,\n    IN int namelen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct servent FAR *\nWSAAPI\ngetservbyport(\n    IN int port,\n    IN const char FAR * proto\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct servent FAR *\n(WSAAPI * LPFN_GETSERVBYPORT)(\n    IN int port,\n    IN const char FAR * proto\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct servent FAR *\nWSAAPI\ngetservbyname(\n    IN const char FAR * name,\n    IN const char FAR * proto\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct servent FAR *\n(WSAAPI * LPFN_GETSERVBYNAME)(\n    IN const char FAR * name,\n    IN const char FAR * proto\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct protoent FAR *\nWSAAPI\ngetprotobynumber(\n    IN int number\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct protoent FAR *\n(WSAAPI * LPFN_GETPROTOBYNUMBER)(\n    IN int number\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nstruct protoent FAR *\nWSAAPI\ngetprotobyname(\n    IN const char FAR * name\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nstruct protoent FAR *\n(WSAAPI * LPFN_GETPROTOBYNAME)(\n    IN const char FAR * name\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n/* Microsoft Windows Extension function prototypes */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAStartup(\n    IN WORD wVersionRequested,\n    OUT LPWSADATA lpWSAData\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSASTARTUP)(\n    IN WORD wVersionRequested,\n    OUT LPWSADATA lpWSAData\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSACleanup(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSACLEANUP)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nvoid\nWSAAPI\nWSASetLastError(\n    IN int iError\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nvoid\n(WSAAPI * LPFN_WSASETLASTERROR)(\n    IN int iError\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAGetLastError(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAGETLASTERROR)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSAIsBlocking(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSAISBLOCKING)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAUnhookBlockingHook(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAUNHOOKBLOCKINGHOOK)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nFARPROC\nWSAAPI\nWSASetBlockingHook(\n    IN FARPROC lpBlockFunc\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nFARPROC\n(WSAAPI * LPFN_WSASETBLOCKINGHOOK)(\n    IN FARPROC lpBlockFunc\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSACancelBlockingCall(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSACANCELBLOCKINGCALL)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetServByName(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    IN const char FAR * proto,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETSERVBYNAME)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    IN const char FAR * proto,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetServByPort(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN int port,\n    IN const char FAR * proto,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETSERVBYPORT)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN int port,\n    IN const char FAR * proto,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetProtoByName(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETPROTOBYNAME)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetProtoByNumber(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN int number,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETPROTOBYNUMBER)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN int number,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetHostByName(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETHOSTBYNAME)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * name,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nHANDLE\nWSAAPI\nWSAAsyncGetHostByAddr(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * addr,\n    IN int len,\n    IN int type,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nHANDLE\n(WSAAPI * LPFN_WSAASYNCGETHOSTBYADDR)(\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN const char FAR * addr,\n    IN int len,\n    IN int type,\n    OUT char FAR * buf,\n    IN int buflen\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSACancelAsyncRequest(\n    IN HANDLE hAsyncTaskHandle\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSACANCELASYNCREQUEST)(\n    IN HANDLE hAsyncTaskHandle\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAAsyncSelect(\n    IN SOCKET s,\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN long lEvent\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAASYNCSELECT)(\n    IN SOCKET s,\n    IN HWND hWnd,\n    IN u_int wMsg,\n    IN long lEvent\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n/* WinSock 2 API new function prototypes */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\nWSAAccept(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * addr,\n    IN OUT LPINT addrlen,\n    IN LPCONDITIONPROC lpfnCondition,\n    IN DWORD_PTR dwCallbackData\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nSOCKET\n(WSAAPI * LPFN_WSAACCEPT)(\n    IN SOCKET s,\n    OUT struct sockaddr FAR * addr,\n    IN OUT LPINT addrlen,\n    IN LPCONDITIONPROC lpfnCondition,\n    IN DWORD_PTR dwCallbackData\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSACloseEvent(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSACLOSEEVENT)(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAConnect(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen,\n    IN LPWSABUF lpCallerData,\n    OUT LPWSABUF lpCalleeData,\n    IN LPQOS lpSQOS,\n    IN LPQOS lpGQOS\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSACONNECT)(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen,\n    IN LPWSABUF lpCallerData,\n    OUT LPWSABUF lpCalleeData,\n    IN LPQOS lpSQOS,\n    IN LPQOS lpGQOS\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nWSAEVENT\nWSAAPI\nWSACreateEvent(\n    void\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nWSAEVENT\n(WSAAPI * LPFN_WSACREATEEVENT)(\n    void\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSADuplicateSocketA(\n    IN SOCKET s,\n    IN DWORD dwProcessId,\n    OUT LPWSAPROTOCOL_INFOA lpProtocolInfo\n    );\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSADuplicateSocketW(\n    IN SOCKET s,\n    IN DWORD dwProcessId,\n    OUT LPWSAPROTOCOL_INFOW lpProtocolInfo\n    );\n#ifdef UNICODE\n#define WSADuplicateSocket  WSADuplicateSocketW\n#else\n#define WSADuplicateSocket  WSADuplicateSocketA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSADUPLICATESOCKETA)(\n    IN SOCKET s,\n    IN DWORD dwProcessId,\n    OUT LPWSAPROTOCOL_INFOA lpProtocolInfo\n    );\ntypedef\nint\n(WSAAPI * LPFN_WSADUPLICATESOCKETW)(\n    IN SOCKET s,\n    IN DWORD dwProcessId,\n    OUT LPWSAPROTOCOL_INFOW lpProtocolInfo\n    );\n#ifdef UNICODE\n#define LPFN_WSADUPLICATESOCKET  LPFN_WSADUPLICATESOCKETW\n#else\n#define LPFN_WSADUPLICATESOCKET  LPFN_WSADUPLICATESOCKETA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAEnumNetworkEvents(\n    IN SOCKET s,\n    IN WSAEVENT hEventObject,\n    OUT LPWSANETWORKEVENTS lpNetworkEvents\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAENUMNETWORKEVENTS)(\n    IN SOCKET s,\n    IN WSAEVENT hEventObject,\n    OUT LPWSANETWORKEVENTS lpNetworkEvents\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAEnumProtocolsA(\n    IN LPINT lpiProtocols,\n    OUT LPWSAPROTOCOL_INFOA lpProtocolBuffer,\n    IN OUT LPDWORD lpdwBufferLength\n    );\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAEnumProtocolsW(\n    IN LPINT lpiProtocols,\n    OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer,\n    IN OUT LPDWORD lpdwBufferLength\n    );\n#ifdef UNICODE\n#define WSAEnumProtocols  WSAEnumProtocolsW\n#else\n#define WSAEnumProtocols  WSAEnumProtocolsA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAENUMPROTOCOLSA)(\n    IN LPINT lpiProtocols,\n    OUT LPWSAPROTOCOL_INFOA lpProtocolBuffer,\n    IN OUT LPDWORD lpdwBufferLength\n    );\ntypedef\nint\n(WSAAPI * LPFN_WSAENUMPROTOCOLSW)(\n    IN LPINT lpiProtocols,\n    OUT LPWSAPROTOCOL_INFOW lpProtocolBuffer,\n    IN OUT LPDWORD lpdwBufferLength\n    );\n#ifdef UNICODE\n#define LPFN_WSAENUMPROTOCOLS  LPFN_WSAENUMPROTOCOLSW\n#else\n#define LPFN_WSAENUMPROTOCOLS  LPFN_WSAENUMPROTOCOLSA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAEventSelect(\n    IN SOCKET s,\n    IN WSAEVENT hEventObject,\n    IN long lNetworkEvents\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAEVENTSELECT)(\n    IN SOCKET s,\n    IN WSAEVENT hEventObject,\n    IN long lNetworkEvents\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSAGetOverlappedResult(\n    IN SOCKET s,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    OUT LPDWORD lpcbTransfer,\n    IN BOOL fWait,\n    OUT LPDWORD lpdwFlags\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSAGETOVERLAPPEDRESULT)(\n    IN SOCKET s,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    OUT LPDWORD lpcbTransfer,\n    IN BOOL fWait,\n    OUT LPDWORD lpdwFlags\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSAGetQOSByName(\n    IN SOCKET s,\n    IN LPWSABUF lpQOSName,\n    OUT LPQOS lpQOS\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSAGETQOSBYNAME)(\n    IN SOCKET s,\n    IN LPWSABUF lpQOSName,\n    OUT LPQOS lpQOS\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAHtonl(\n    IN SOCKET s,\n    IN u_long hostlong,\n    OUT u_long FAR * lpnetlong\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAHTONL)(\n    IN SOCKET s,\n    IN u_long hostlong,\n    OUT u_long FAR * lpnetlong\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAHtons(\n    IN SOCKET s,\n    IN u_short hostshort,\n    OUT u_short FAR * lpnetshort\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAHTONS)(\n    IN SOCKET s,\n    IN u_short hostshort,\n    OUT u_short FAR * lpnetshort\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSAIoctl(\n    IN SOCKET s,\n    IN DWORD dwIoControlCode,\n    IN LPVOID lpvInBuffer,\n    IN DWORD cbInBuffer,\n    OUT LPVOID lpvOutBuffer,\n    IN DWORD cbOutBuffer,\n    OUT LPDWORD lpcbBytesReturned,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSAIOCTL)(\n    IN SOCKET s,\n    IN DWORD dwIoControlCode,\n    IN LPVOID lpvInBuffer,\n    IN DWORD cbInBuffer,\n    OUT LPVOID lpvOutBuffer,\n    IN DWORD cbOutBuffer,\n    OUT LPDWORD lpcbBytesReturned,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\nWSAJoinLeaf(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen,\n    IN LPWSABUF lpCallerData,\n    OUT LPWSABUF lpCalleeData,\n    IN LPQOS lpSQOS,\n    IN LPQOS lpGQOS,\n    IN DWORD dwFlags\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nSOCKET\n(WSAAPI * LPFN_WSAJOINLEAF)(\n    IN SOCKET s,\n    IN const struct sockaddr FAR * name,\n    IN int namelen,\n    IN LPWSABUF lpCallerData,\n    OUT LPWSABUF lpCalleeData,\n    IN LPQOS lpSQOS,\n    IN LPQOS lpGQOS,\n    IN DWORD dwFlags\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSANtohl(\n    IN SOCKET s,\n    IN u_long netlong,\n    OUT u_long FAR * lphostlong\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSANTOHL)(\n    IN SOCKET s,\n    IN u_long netlong,\n    OUT u_long FAR * lphostlong\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSANtohs(\n    IN SOCKET s,\n    IN u_short netshort,\n    OUT u_short FAR * lphostshort\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSANTOHS)(\n    IN SOCKET s,\n    IN u_short netshort,\n    OUT u_short FAR * lphostshort\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSARecv(\n    IN SOCKET s,\n    IN OUT LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesRecvd,\n    IN OUT LPDWORD lpFlags,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSARECV)(\n    IN SOCKET s,\n    IN OUT LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesRecvd,\n    IN OUT LPDWORD lpFlags,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSARecvDisconnect(\n    IN SOCKET s,\n    OUT LPWSABUF lpInboundDisconnectData\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSARECVDISCONNECT)(\n    IN SOCKET s,\n    OUT LPWSABUF lpInboundDisconnectData\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSARecvFrom(\n    IN SOCKET s,\n    IN OUT LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesRecvd,\n    IN OUT LPDWORD lpFlags,\n    OUT struct sockaddr FAR * lpFrom,\n    IN OUT LPINT lpFromlen,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSARECVFROM)(\n    IN SOCKET s,\n    IN OUT LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesRecvd,\n    IN OUT LPDWORD lpFlags,\n    OUT struct sockaddr FAR * lpFrom,\n    IN OUT LPINT lpFromlen,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSAResetEvent(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSARESETEVENT)(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSASend(\n    IN SOCKET s,\n    IN LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesSent,\n    IN DWORD dwFlags,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSASEND)(\n    IN SOCKET s,\n    IN LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesSent,\n    IN DWORD dwFlags,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSASendDisconnect(\n    IN SOCKET s,\n    IN LPWSABUF lpOutboundDisconnectData\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSASENDDISCONNECT)(\n    IN SOCKET s,\n    IN LPWSABUF lpOutboundDisconnectData\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nint\nWSAAPI\nWSASendTo(\n    IN SOCKET s,\n    IN LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesSent,\n    IN DWORD dwFlags,\n    IN const struct sockaddr FAR * lpTo,\n    IN int iTolen,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nint\n(WSAAPI * LPFN_WSASENDTO)(\n    IN SOCKET s,\n    IN LPWSABUF lpBuffers,\n    IN DWORD dwBufferCount,\n    OUT LPDWORD lpNumberOfBytesSent,\n    IN DWORD dwFlags,\n    IN const struct sockaddr FAR * lpTo,\n    IN int iTolen,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nBOOL\nWSAAPI\nWSASetEvent(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nBOOL\n(WSAAPI * LPFN_WSASETEVENT)(\n    IN WSAEVENT hEvent\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\nWSASocketA(\n    IN int af,\n    IN int type,\n    IN int protocol,\n    IN LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    IN GROUP g,\n    IN DWORD dwFlags\n    );\nWINSOCK_API_LINKAGE\nSOCKET\nWSAAPI\nWSASocketW(\n    IN int af,\n    IN int type,\n    IN int protocol,\n    IN LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    IN GROUP g,\n    IN DWORD dwFlags\n    );\n#ifdef UNICODE\n#define WSASocket  WSASocketW\n#else\n#define WSASocket  WSASocketA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nSOCKET\n(WSAAPI * LPFN_WSASOCKETA)(\n    IN int af,\n    IN int type,\n    IN int protocol,\n    IN LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    IN GROUP g,\n    IN DWORD dwFlags\n    );\ntypedef\nSOCKET\n(WSAAPI * LPFN_WSASOCKETW)(\n    IN int af,\n    IN int type,\n    IN int protocol,\n    IN LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    IN GROUP g,\n    IN DWORD dwFlags\n    );\n#ifdef UNICODE\n#define LPFN_WSASOCKET  LPFN_WSASOCKETW\n#else\n#define LPFN_WSASOCKET  LPFN_WSASOCKETA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nDWORD\nWSAAPI\nWSAWaitForMultipleEvents(\n    IN DWORD cEvents,\n    IN const WSAEVENT FAR * lphEvents,\n    IN BOOL fWaitAll,\n    IN DWORD dwTimeout,\n    IN BOOL fAlertable\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nDWORD\n(WSAAPI * LPFN_WSAWAITFORMULTIPLEEVENTS)(\n    IN DWORD cEvents,\n    IN const WSAEVENT FAR * lphEvents,\n    IN BOOL fWaitAll,\n    IN DWORD dwTimeout,\n    IN BOOL fAlertable\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAAddressToStringA(\n    IN     LPSOCKADDR          lpsaAddress,\n    IN     DWORD               dwAddressLength,\n    IN     LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    IN OUT LPSTR             lpszAddressString,\n    IN OUT LPDWORD             lpdwAddressStringLength\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAAddressToStringW(\n    IN     LPSOCKADDR          lpsaAddress,\n    IN     DWORD               dwAddressLength,\n    IN     LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    IN OUT LPWSTR             lpszAddressString,\n    IN OUT LPDWORD             lpdwAddressStringLength\n    );\n#ifdef UNICODE\n#define WSAAddressToString  WSAAddressToStringW\n#else\n#define WSAAddressToString  WSAAddressToStringA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAADDRESSTOSTRINGA)(\n    IN     LPSOCKADDR          lpsaAddress,\n    IN     DWORD               dwAddressLength,\n    IN     LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    IN OUT LPSTR             lpszAddressString,\n    IN OUT LPDWORD             lpdwAddressStringLength\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSAADDRESSTOSTRINGW)(\n    IN     LPSOCKADDR          lpsaAddress,\n    IN     DWORD               dwAddressLength,\n    IN     LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    IN OUT LPWSTR             lpszAddressString,\n    IN OUT LPDWORD             lpdwAddressStringLength\n    );\n#ifdef UNICODE\n#define LPFN_WSAADDRESSTOSTRING  LPFN_WSAADDRESSTOSTRINGW\n#else\n#define LPFN_WSAADDRESSTOSTRING  LPFN_WSAADDRESSTOSTRINGA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAStringToAddressA(\n    IN     LPSTR               AddressString,\n    IN     INT                 AddressFamily,\n    IN     LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    OUT    LPSOCKADDR          lpAddress,\n    IN OUT LPINT               lpAddressLength\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAStringToAddressW(\n    IN     LPWSTR              AddressString,\n    IN     INT                 AddressFamily,\n    IN     LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    OUT    LPSOCKADDR          lpAddress,\n    IN OUT LPINT               lpAddressLength\n    );\n#ifdef UNICODE\n#define WSAStringToAddress  WSAStringToAddressW\n#else\n#define WSAStringToAddress  WSAStringToAddressA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSASTRINGTOADDRESSA)(\n    IN     LPSTR               AddressString,\n    IN     INT                 AddressFamily,\n    IN     LPWSAPROTOCOL_INFOA lpProtocolInfo,\n    OUT    LPSOCKADDR          lpAddress,\n    IN OUT LPINT               lpAddressLength\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSASTRINGTOADDRESSW)(\n    IN     LPWSTR              AddressString,\n    IN     INT                 AddressFamily,\n    IN     LPWSAPROTOCOL_INFOW lpProtocolInfo,\n    OUT    LPSOCKADDR          lpAddress,\n    IN OUT LPINT               lpAddressLength\n    );\n#ifdef UNICODE\n#define LPFN_WSASTRINGTOADDRESS  LPFN_WSASTRINGTOADDRESSW\n#else\n#define LPFN_WSASTRINGTOADDRESS  LPFN_WSASTRINGTOADDRESSA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n/* Registration and Name Resolution API functions */\n\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSALookupServiceBeginA(\n    IN  LPWSAQUERYSETA lpqsRestrictions,\n    IN  DWORD          dwControlFlags,\n    OUT LPHANDLE       lphLookup\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSALookupServiceBeginW(\n    IN  LPWSAQUERYSETW lpqsRestrictions,\n    IN  DWORD          dwControlFlags,\n    OUT LPHANDLE       lphLookup\n    );\n#ifdef UNICODE\n#define WSALookupServiceBegin  WSALookupServiceBeginW\n#else\n#define WSALookupServiceBegin  WSALookupServiceBeginA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSALOOKUPSERVICEBEGINA)(\n    IN  LPWSAQUERYSETA lpqsRestrictions,\n    IN  DWORD          dwControlFlags,\n    OUT LPHANDLE       lphLookup\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSALOOKUPSERVICEBEGINW)(\n    IN  LPWSAQUERYSETW lpqsRestrictions,\n    IN  DWORD          dwControlFlags,\n    OUT LPHANDLE       lphLookup\n    );\n#ifdef UNICODE\n#define LPFN_WSALOOKUPSERVICEBEGIN  LPFN_WSALOOKUPSERVICEBEGINW\n#else\n#define LPFN_WSALOOKUPSERVICEBEGIN  LPFN_WSALOOKUPSERVICEBEGINA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSALookupServiceNextA(\n    IN     HANDLE           hLookup,\n    IN     DWORD            dwControlFlags,\n    IN OUT LPDWORD          lpdwBufferLength,\n    OUT    LPWSAQUERYSETA   lpqsResults\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSALookupServiceNextW(\n    IN     HANDLE           hLookup,\n    IN     DWORD            dwControlFlags,\n    IN OUT LPDWORD          lpdwBufferLength,\n    OUT    LPWSAQUERYSETW   lpqsResults\n    );\n#ifdef UNICODE\n#define WSALookupServiceNext  WSALookupServiceNextW\n#else\n#define WSALookupServiceNext  WSALookupServiceNextA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSALOOKUPSERVICENEXTA)(\n    IN     HANDLE           hLookup,\n    IN     DWORD            dwControlFlags,\n    IN OUT LPDWORD          lpdwBufferLength,\n    OUT    LPWSAQUERYSETA   lpqsResults\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSALOOKUPSERVICENEXTW)(\n    IN     HANDLE           hLookup,\n    IN     DWORD            dwControlFlags,\n    IN OUT LPDWORD          lpdwBufferLength,\n    OUT    LPWSAQUERYSETW   lpqsResults\n    );\n#ifdef UNICODE\n#define LPFN_WSALOOKUPSERVICENEXT  LPFN_WSALOOKUPSERVICENEXTW\n#else\n#define LPFN_WSALOOKUPSERVICENEXT  LPFN_WSALOOKUPSERVICENEXTA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSANSPIoctl(\n    IN  HANDLE           hLookup,\n    IN  DWORD            dwControlCode,\n    IN  LPVOID           lpvInBuffer,\n    IN  DWORD            cbInBuffer,\n    OUT LPVOID           lpvOutBuffer,\n    IN  DWORD            cbOutBuffer,\n    OUT LPDWORD          lpcbBytesReturned,\n    IN  LPWSACOMPLETION  lpCompletion\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSANSPIOCTL)(\n    IN  HANDLE           hLookup,\n    IN  DWORD            dwControlCode,\n    IN  LPVOID           lpvInBuffer,\n    IN  DWORD            cbInBuffer,\n    OUT LPVOID           lpvOutBuffer,\n    IN  DWORD            cbOutBuffer,\n    OUT LPDWORD          lpcbBytesReturned,\n    IN  LPWSACOMPLETION  lpCompletion\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSALookupServiceEnd(\n    IN HANDLE  hLookup\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSALOOKUPSERVICEEND)(\n    IN HANDLE  hLookup\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAInstallServiceClassA(\n    IN  LPWSASERVICECLASSINFOA   lpServiceClassInfo\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAInstallServiceClassW(\n    IN  LPWSASERVICECLASSINFOW   lpServiceClassInfo\n    );\n#ifdef UNICODE\n#define WSAInstallServiceClass  WSAInstallServiceClassW\n#else\n#define WSAInstallServiceClass  WSAInstallServiceClassA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAINSTALLSERVICECLASSA)(\n    IN  LPWSASERVICECLASSINFOA   lpServiceClassInfo\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSAINSTALLSERVICECLASSW)(\n    IN  LPWSASERVICECLASSINFOW   lpServiceClassInfo\n    );\n#ifdef UNICODE\n#define LPFN_WSAINSTALLSERVICECLASS  LPFN_WSAINSTALLSERVICECLASSW\n#else\n#define LPFN_WSAINSTALLSERVICECLASS  LPFN_WSAINSTALLSERVICECLASSA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSARemoveServiceClass(\n    IN  LPGUID  lpServiceClassId\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAREMOVESERVICECLASS)(\n    IN  LPGUID  lpServiceClassId\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAGetServiceClassInfoA(\n    IN  LPGUID  lpProviderId,\n    IN  LPGUID  lpServiceClassId,\n    IN OUT LPDWORD  lpdwBufSize,\n    OUT LPWSASERVICECLASSINFOA lpServiceClassInfo\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAGetServiceClassInfoW(\n    IN  LPGUID  lpProviderId,\n    IN  LPGUID  lpServiceClassId,\n    IN OUT LPDWORD  lpdwBufSize,\n    OUT LPWSASERVICECLASSINFOW lpServiceClassInfo\n    );\n#ifdef UNICODE\n#define WSAGetServiceClassInfo  WSAGetServiceClassInfoW\n#else\n#define WSAGetServiceClassInfo  WSAGetServiceClassInfoA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAGETSERVICECLASSINFOA)(\n    IN  LPGUID  lpProviderId,\n    IN  LPGUID  lpServiceClassId,\n    IN OUT LPDWORD  lpdwBufSize,\n    OUT LPWSASERVICECLASSINFOA lpServiceClassInfo\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSAGETSERVICECLASSINFOW)(\n    IN  LPGUID  lpProviderId,\n    IN  LPGUID  lpServiceClassId,\n    IN OUT LPDWORD  lpdwBufSize,\n    OUT LPWSASERVICECLASSINFOW lpServiceClassInfo\n    );\n#ifdef UNICODE\n#define LPFN_WSAGETSERVICECLASSINFO  LPFN_WSAGETSERVICECLASSINFOW\n#else\n#define LPFN_WSAGETSERVICECLASSINFO  LPFN_WSAGETSERVICECLASSINFOA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAEnumNameSpaceProvidersA(\n    IN OUT LPDWORD              lpdwBufferLength,\n    OUT    LPWSANAMESPACE_INFOA lpnspBuffer\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAEnumNameSpaceProvidersW(\n    IN OUT LPDWORD              lpdwBufferLength,\n    OUT    LPWSANAMESPACE_INFOW lpnspBuffer\n    );\n#ifdef UNICODE\n#define WSAEnumNameSpaceProviders  WSAEnumNameSpaceProvidersW\n#else\n#define WSAEnumNameSpaceProviders  WSAEnumNameSpaceProvidersA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSA)(\n    IN OUT LPDWORD              lpdwBufferLength,\n    OUT    LPWSANAMESPACE_INFOA lpnspBuffer\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSAENUMNAMESPACEPROVIDERSW)(\n    IN OUT LPDWORD              lpdwBufferLength,\n    OUT    LPWSANAMESPACE_INFOW lpnspBuffer\n    );\n#ifdef UNICODE\n#define LPFN_WSAENUMNAMESPACEPROVIDERS  LPFN_WSAENUMNAMESPACEPROVIDERSW\n#else\n#define LPFN_WSAENUMNAMESPACEPROVIDERS  LPFN_WSAENUMNAMESPACEPROVIDERSA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAGetServiceClassNameByClassIdA(\n    IN      LPGUID  lpServiceClassId,\n    OUT     LPSTR lpszServiceClassName,\n    IN OUT  LPDWORD lpdwBufferLength\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAGetServiceClassNameByClassIdW(\n    IN      LPGUID  lpServiceClassId,\n    OUT     LPWSTR lpszServiceClassName,\n    IN OUT  LPDWORD lpdwBufferLength\n    );\n#ifdef UNICODE\n#define WSAGetServiceClassNameByClassId  WSAGetServiceClassNameByClassIdW\n#else\n#define WSAGetServiceClassNameByClassId  WSAGetServiceClassNameByClassIdA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(\n    IN      LPGUID  lpServiceClassId,\n    OUT     LPSTR lpszServiceClassName,\n    IN OUT  LPDWORD lpdwBufferLength\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(\n    IN      LPGUID  lpServiceClassId,\n    OUT     LPWSTR lpszServiceClassName,\n    IN OUT  LPDWORD lpdwBufferLength\n    );\n#ifdef UNICODE\n#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID  LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW\n#else\n#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID  LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSASetServiceA(\n    IN LPWSAQUERYSETA lpqsRegInfo,\n    IN WSAESETSERVICEOP essoperation,\n    IN DWORD dwControlFlags\n    );\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSASetServiceW(\n    IN LPWSAQUERYSETW lpqsRegInfo,\n    IN WSAESETSERVICEOP essoperation,\n    IN DWORD dwControlFlags\n    );\n#ifdef UNICODE\n#define WSASetService  WSASetServiceW\n#else\n#define WSASetService  WSASetServiceA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSASETSERVICEA)(\n    IN LPWSAQUERYSETA lpqsRegInfo,\n    IN WSAESETSERVICEOP essoperation,\n    IN DWORD dwControlFlags\n    );\ntypedef\nINT\n(WSAAPI * LPFN_WSASETSERVICEW)(\n    IN LPWSAQUERYSETW lpqsRegInfo,\n    IN WSAESETSERVICEOP essoperation,\n    IN DWORD dwControlFlags\n    );\n#ifdef UNICODE\n#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEW\n#else\n#define LPFN_WSASETSERVICE  LPFN_WSASETSERVICEA\n#endif /* !UNICODE */\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n#if INCL_WINSOCK_API_PROTOTYPES\nWINSOCK_API_LINKAGE\nINT\nWSAAPI\nWSAProviderConfigChange(\n    IN OUT LPHANDLE lpNotificationHandle,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_PROTOTYPES */\n\n#if INCL_WINSOCK_API_TYPEDEFS\ntypedef\nINT\n(WSAAPI * LPFN_WSAPROVIDERCONFIGCHANGE)(\n    IN OUT LPHANDLE lpNotificationHandle,\n    IN LPWSAOVERLAPPED lpOverlapped,\n    IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine\n    );\n#endif /* INCL_WINSOCK_API_TYPEDEFS */\n\n/* Microsoft Windows Extended data types */\ntypedef struct sockaddr_in SOCKADDR_IN;\ntypedef struct sockaddr_in *PSOCKADDR_IN;\ntypedef struct sockaddr_in FAR *LPSOCKADDR_IN;\n\ntypedef struct linger LINGER;\ntypedef struct linger *PLINGER;\ntypedef struct linger FAR *LPLINGER;\n\ntypedef struct in_addr IN_ADDR;\ntypedef struct in_addr *PIN_ADDR;\ntypedef struct in_addr FAR *LPIN_ADDR;\n\ntypedef struct fd_set FD_SET;\ntypedef struct fd_set *PFD_SET;\ntypedef struct fd_set FAR *LPFD_SET;\n\ntypedef struct hostent HOSTENT;\ntypedef struct hostent *PHOSTENT;\ntypedef struct hostent FAR *LPHOSTENT;\n\ntypedef struct servent SERVENT;\ntypedef struct servent *PSERVENT;\ntypedef struct servent FAR *LPSERVENT;\n\ntypedef struct protoent PROTOENT;\ntypedef struct protoent *PPROTOENT;\ntypedef struct protoent FAR *LPPROTOENT;\n\ntypedef struct timeval TIMEVAL;\ntypedef struct timeval *PTIMEVAL;\ntypedef struct timeval FAR *LPTIMEVAL;\n\n/*\n * Windows message parameter composition and decomposition\n * macros.\n *\n * WSAMAKEASYNCREPLY is intended for use by the Windows Sockets implementation\n * when constructing the response to a WSAAsyncGetXByY() routine.\n */\n#define WSAMAKEASYNCREPLY(buflen,error)     MAKELONG(buflen,error)\n/*\n * WSAMAKESELECTREPLY is intended for use by the Windows Sockets implementation\n * when constructing the response to WSAAsyncSelect().\n */\n#define WSAMAKESELECTREPLY(event,error)     MAKELONG(event,error)\n/*\n * WSAGETASYNCBUFLEN is intended for use by the Windows Sockets application\n * to extract the buffer length from the lParam in the response\n * to a WSAAsyncGetXByY().\n */\n#define WSAGETASYNCBUFLEN(lParam)           LOWORD(lParam)\n/*\n * WSAGETASYNCERROR is intended for use by the Windows Sockets application\n * to extract the error code from the lParam in the response\n * to a WSAGetXByY().\n */\n#define WSAGETASYNCERROR(lParam)            HIWORD(lParam)\n/*\n * WSAGETSELECTEVENT is intended for use by the Windows Sockets application\n * to extract the event code from the lParam in the response\n * to a WSAAsyncSelect().\n */\n#define WSAGETSELECTEVENT(lParam)           LOWORD(lParam)\n/*\n * WSAGETSELECTERROR is intended for use by the Windows Sockets application\n * to extract the error code from the lParam in the response\n * to a WSAAsyncSelect().\n */\n#define WSAGETSELECTERROR(lParam)           HIWORD(lParam)\n\n#ifdef __cplusplus\n}\n#endif\n\n#if !defined(WIN32) && !defined(_WIN64)\n#include <poppack.h>\n#endif\n\n#ifdef IPV6STRICT\n#include <wsipv6ok.h>\n#endif // IPV6STRICT\n\n#endif  /* _WINSOCK2API_ */\n"
  },
  {
    "path": "Bin/i386/APILib/WinSpool.h",
    "content": "/*++\n\nCopyright (c) 1990-1998  Microsoft Corporation\n\nModule Name:\n\n    WinSpool.h\n\nAbstract:\n\n    Header file for Print APIs\n\nRevision History:\n\n--*/\n\n#ifndef _WINSPOOL_\n#define _WINSPOOL_\n\n#ifdef _WINUSER_\n#include <prsht.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef struct _PRINTER_INFO_1A {\n    DWORD   Flags;\n    LPSTR   pDescription;\n    LPSTR   pName;\n    LPSTR   pComment;\n} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;\ntypedef struct _PRINTER_INFO_1W {\n    DWORD   Flags;\n    LPWSTR  pDescription;\n    LPWSTR  pName;\n    LPWSTR  pComment;\n} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_1W PRINTER_INFO_1;\ntypedef PPRINTER_INFO_1W PPRINTER_INFO_1;\ntypedef LPPRINTER_INFO_1W LPPRINTER_INFO_1;\n#else\ntypedef PRINTER_INFO_1A PRINTER_INFO_1;\ntypedef PPRINTER_INFO_1A PPRINTER_INFO_1;\ntypedef LPPRINTER_INFO_1A LPPRINTER_INFO_1;\n#endif // UNICODE\n\ntypedef struct _PRINTER_INFO_2A {\n    LPSTR     pServerName;\n    LPSTR     pPrinterName;\n    LPSTR     pShareName;\n    LPSTR     pPortName;\n    LPSTR     pDriverName;\n    LPSTR     pComment;\n    LPSTR     pLocation;\n    LPDEVMODEA pDevMode;\n    LPSTR     pSepFile;\n    LPSTR     pPrintProcessor;\n    LPSTR     pDatatype;\n    LPSTR     pParameters;\n    PSECURITY_DESCRIPTOR pSecurityDescriptor;\n    DWORD   Attributes;\n    DWORD   Priority;\n    DWORD   DefaultPriority;\n    DWORD   StartTime;\n    DWORD   UntilTime;\n    DWORD   Status;\n    DWORD   cJobs;\n    DWORD   AveragePPM;\n} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;\ntypedef struct _PRINTER_INFO_2W {\n    LPWSTR    pServerName;\n    LPWSTR    pPrinterName;\n    LPWSTR    pShareName;\n    LPWSTR    pPortName;\n    LPWSTR    pDriverName;\n    LPWSTR    pComment;\n    LPWSTR    pLocation;\n    LPDEVMODEW pDevMode;\n    LPWSTR    pSepFile;\n    LPWSTR    pPrintProcessor;\n    LPWSTR    pDatatype;\n    LPWSTR    pParameters;\n    PSECURITY_DESCRIPTOR pSecurityDescriptor;\n    DWORD   Attributes;\n    DWORD   Priority;\n    DWORD   DefaultPriority;\n    DWORD   StartTime;\n    DWORD   UntilTime;\n    DWORD   Status;\n    DWORD   cJobs;\n    DWORD   AveragePPM;\n} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_2W PRINTER_INFO_2;\ntypedef PPRINTER_INFO_2W PPRINTER_INFO_2;\ntypedef LPPRINTER_INFO_2W LPPRINTER_INFO_2;\n#else\ntypedef PRINTER_INFO_2A PRINTER_INFO_2;\ntypedef PPRINTER_INFO_2A PPRINTER_INFO_2;\ntypedef LPPRINTER_INFO_2A LPPRINTER_INFO_2;\n#endif // UNICODE\n\ntypedef struct _PRINTER_INFO_3 {\n    PSECURITY_DESCRIPTOR pSecurityDescriptor;\n} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;\n\ntypedef struct _PRINTER_INFO_4A {\n    LPSTR   pPrinterName;\n    LPSTR   pServerName;\n    DWORD   Attributes;\n} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;\ntypedef struct _PRINTER_INFO_4W {\n    LPWSTR  pPrinterName;\n    LPWSTR  pServerName;\n    DWORD   Attributes;\n} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_4W PRINTER_INFO_4;\ntypedef PPRINTER_INFO_4W PPRINTER_INFO_4;\ntypedef LPPRINTER_INFO_4W LPPRINTER_INFO_4;\n#else\ntypedef PRINTER_INFO_4A PRINTER_INFO_4;\ntypedef PPRINTER_INFO_4A PPRINTER_INFO_4;\ntypedef LPPRINTER_INFO_4A LPPRINTER_INFO_4;\n#endif // UNICODE\n\ntypedef struct _PRINTER_INFO_5A {\n    LPSTR   pPrinterName;\n    LPSTR   pPortName;\n    DWORD   Attributes;\n    DWORD   DeviceNotSelectedTimeout;\n    DWORD   TransmissionRetryTimeout;\n} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;\ntypedef struct _PRINTER_INFO_5W {\n    LPWSTR  pPrinterName;\n    LPWSTR  pPortName;\n    DWORD   Attributes;\n    DWORD   DeviceNotSelectedTimeout;\n    DWORD   TransmissionRetryTimeout;\n} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_5W PRINTER_INFO_5;\ntypedef PPRINTER_INFO_5W PPRINTER_INFO_5;\ntypedef LPPRINTER_INFO_5W LPPRINTER_INFO_5;\n#else\ntypedef PRINTER_INFO_5A PRINTER_INFO_5;\ntypedef PPRINTER_INFO_5A PPRINTER_INFO_5;\ntypedef LPPRINTER_INFO_5A LPPRINTER_INFO_5;\n#endif // UNICODE\n\ntypedef struct _PRINTER_INFO_6 {\n    DWORD   dwStatus;\n} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;\n\n\ntypedef struct _PRINTER_INFO_7A {\n  LPSTR    pszObjectGUID;\n  DWORD    dwAction;\n} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;\ntypedef struct _PRINTER_INFO_7W {\n  LPWSTR   pszObjectGUID;\n  DWORD    dwAction;\n} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_7W PRINTER_INFO_7;\ntypedef PPRINTER_INFO_7W PPRINTER_INFO_7;\ntypedef LPPRINTER_INFO_7W LPPRINTER_INFO_7;\n#else\ntypedef PRINTER_INFO_7A PRINTER_INFO_7;\ntypedef PPRINTER_INFO_7A PPRINTER_INFO_7;\ntypedef LPPRINTER_INFO_7A LPPRINTER_INFO_7;\n#endif // UNICODE\n\n#define DSPRINT_PUBLISH         0x00000001\n#define DSPRINT_UPDATE          0x00000002\n#define DSPRINT_UNPUBLISH       0x00000004\n#define DSPRINT_REPUBLISH       0x00000008\n#define DSPRINT_PENDING         0x80000000\n\ntypedef struct _PRINTER_INFO_8A {\n    LPDEVMODEA pDevMode;\n} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;\ntypedef struct _PRINTER_INFO_8W {\n    LPDEVMODEW pDevMode;\n} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_8W PRINTER_INFO_8;\ntypedef PPRINTER_INFO_8W PPRINTER_INFO_8;\ntypedef LPPRINTER_INFO_8W LPPRINTER_INFO_8;\n#else\ntypedef PRINTER_INFO_8A PRINTER_INFO_8;\ntypedef PPRINTER_INFO_8A PPRINTER_INFO_8;\ntypedef LPPRINTER_INFO_8A LPPRINTER_INFO_8;\n#endif // UNICODE\n\ntypedef struct _PRINTER_INFO_9A {\n    LPDEVMODEA pDevMode;\n} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;\ntypedef struct _PRINTER_INFO_9W {\n    LPDEVMODEW pDevMode;\n} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;\n#ifdef UNICODE\ntypedef PRINTER_INFO_9W PRINTER_INFO_9;\ntypedef PPRINTER_INFO_9W PPRINTER_INFO_9;\ntypedef LPPRINTER_INFO_9W LPPRINTER_INFO_9;\n#else\ntypedef PRINTER_INFO_9A PRINTER_INFO_9;\ntypedef PPRINTER_INFO_9A PPRINTER_INFO_9;\ntypedef LPPRINTER_INFO_9A LPPRINTER_INFO_9;\n#endif // UNICODE\n\n#define PRINTER_CONTROL_PAUSE            1\n#define PRINTER_CONTROL_RESUME           2\n#define PRINTER_CONTROL_PURGE            3\n#define PRINTER_CONTROL_SET_STATUS       4\n\n#define PRINTER_STATUS_PAUSED            0x00000001\n#define PRINTER_STATUS_ERROR             0x00000002\n#define PRINTER_STATUS_PENDING_DELETION  0x00000004\n#define PRINTER_STATUS_PAPER_JAM         0x00000008\n#define PRINTER_STATUS_PAPER_OUT         0x00000010\n#define PRINTER_STATUS_MANUAL_FEED       0x00000020\n#define PRINTER_STATUS_PAPER_PROBLEM     0x00000040\n#define PRINTER_STATUS_OFFLINE           0x00000080\n#define PRINTER_STATUS_IO_ACTIVE         0x00000100\n#define PRINTER_STATUS_BUSY              0x00000200\n#define PRINTER_STATUS_PRINTING          0x00000400\n#define PRINTER_STATUS_OUTPUT_BIN_FULL   0x00000800\n#define PRINTER_STATUS_NOT_AVAILABLE     0x00001000\n#define PRINTER_STATUS_WAITING           0x00002000\n#define PRINTER_STATUS_PROCESSING        0x00004000\n#define PRINTER_STATUS_INITIALIZING      0x00008000\n#define PRINTER_STATUS_WARMING_UP        0x00010000\n#define PRINTER_STATUS_TONER_LOW         0x00020000\n#define PRINTER_STATUS_NO_TONER          0x00040000\n#define PRINTER_STATUS_PAGE_PUNT         0x00080000\n#define PRINTER_STATUS_USER_INTERVENTION 0x00100000\n#define PRINTER_STATUS_OUT_OF_MEMORY     0x00200000\n#define PRINTER_STATUS_DOOR_OPEN         0x00400000\n#define PRINTER_STATUS_SERVER_UNKNOWN    0x00800000\n#define PRINTER_STATUS_POWER_SAVE        0x01000000\n\n\n#define PRINTER_ATTRIBUTE_QUEUED         0x00000001\n#define PRINTER_ATTRIBUTE_DIRECT         0x00000002\n#define PRINTER_ATTRIBUTE_DEFAULT        0x00000004\n#define PRINTER_ATTRIBUTE_SHARED         0x00000008\n#define PRINTER_ATTRIBUTE_NETWORK        0x00000010\n#define PRINTER_ATTRIBUTE_HIDDEN         0x00000020\n#define PRINTER_ATTRIBUTE_LOCAL          0x00000040\n\n#define PRINTER_ATTRIBUTE_ENABLE_DEVQ       0x00000080\n#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS   0x00000100\n#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200\n\n#define PRINTER_ATTRIBUTE_WORK_OFFLINE   0x00000400\n#define PRINTER_ATTRIBUTE_ENABLE_BIDI    0x00000800\n#define PRINTER_ATTRIBUTE_RAW_ONLY       0x00001000\n#define PRINTER_ATTRIBUTE_PUBLISHED      0x00002000\n#define PRINTER_ATTRIBUTE_FAX            0x00004000\n#define PRINTER_ATTRIBUTE_TS             0x00008000\n\n#define NO_PRIORITY   0\n#define MAX_PRIORITY 99\n#define MIN_PRIORITY  1\n#define DEF_PRIORITY  1\n\ntypedef struct _JOB_INFO_1A {\n   DWORD    JobId;\n   LPSTR      pPrinterName;\n   LPSTR      pMachineName;\n   LPSTR      pUserName;\n   LPSTR      pDocument;\n   LPSTR      pDatatype;\n   LPSTR      pStatus;\n   DWORD    Status;\n   DWORD    Priority;\n   DWORD    Position;\n   DWORD    TotalPages;\n   DWORD    PagesPrinted;\n   SYSTEMTIME Submitted;\n} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;\ntypedef struct _JOB_INFO_1W {\n   DWORD    JobId;\n   LPWSTR     pPrinterName;\n   LPWSTR     pMachineName;\n   LPWSTR     pUserName;\n   LPWSTR     pDocument;\n   LPWSTR     pDatatype;\n   LPWSTR     pStatus;\n   DWORD    Status;\n   DWORD    Priority;\n   DWORD    Position;\n   DWORD    TotalPages;\n   DWORD    PagesPrinted;\n   SYSTEMTIME Submitted;\n} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;\n#ifdef UNICODE\ntypedef JOB_INFO_1W JOB_INFO_1;\ntypedef PJOB_INFO_1W PJOB_INFO_1;\ntypedef LPJOB_INFO_1W LPJOB_INFO_1;\n#else\ntypedef JOB_INFO_1A JOB_INFO_1;\ntypedef PJOB_INFO_1A PJOB_INFO_1;\ntypedef LPJOB_INFO_1A LPJOB_INFO_1;\n#endif // UNICODE\n\ntypedef struct _JOB_INFO_2A {\n   DWORD    JobId;\n   LPSTR      pPrinterName;\n   LPSTR      pMachineName;\n   LPSTR      pUserName;\n   LPSTR      pDocument;\n   LPSTR      pNotifyName;\n   LPSTR      pDatatype;\n   LPSTR      pPrintProcessor;\n   LPSTR      pParameters;\n   LPSTR      pDriverName;\n   LPDEVMODEA pDevMode;\n   LPSTR      pStatus;\n   PSECURITY_DESCRIPTOR pSecurityDescriptor;\n   DWORD    Status;\n   DWORD    Priority;\n   DWORD    Position;\n   DWORD    StartTime;\n   DWORD    UntilTime;\n   DWORD    TotalPages;\n   DWORD    Size;\n   SYSTEMTIME Submitted;    // Time the job was spooled\n   DWORD    Time;           // How many miliseconds the job has been printing\n   DWORD    PagesPrinted;\n} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;\ntypedef struct _JOB_INFO_2W {\n   DWORD    JobId;\n   LPWSTR     pPrinterName;\n   LPWSTR     pMachineName;\n   LPWSTR     pUserName;\n   LPWSTR     pDocument;\n   LPWSTR     pNotifyName;\n   LPWSTR     pDatatype;\n   LPWSTR     pPrintProcessor;\n   LPWSTR     pParameters;\n   LPWSTR     pDriverName;\n   LPDEVMODEW pDevMode;\n   LPWSTR     pStatus;\n   PSECURITY_DESCRIPTOR pSecurityDescriptor;\n   DWORD    Status;\n   DWORD    Priority;\n   DWORD    Position;\n   DWORD    StartTime;\n   DWORD    UntilTime;\n   DWORD    TotalPages;\n   DWORD    Size;\n   SYSTEMTIME Submitted;    // Time the job was spooled\n   DWORD    Time;           // How many miliseconds the job has been printing\n   DWORD    PagesPrinted;\n} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;\n#ifdef UNICODE\ntypedef JOB_INFO_2W JOB_INFO_2;\ntypedef PJOB_INFO_2W PJOB_INFO_2;\ntypedef LPJOB_INFO_2W LPJOB_INFO_2;\n#else\ntypedef JOB_INFO_2A JOB_INFO_2;\ntypedef PJOB_INFO_2A PJOB_INFO_2;\ntypedef LPJOB_INFO_2A LPJOB_INFO_2;\n#endif // UNICODE\n\ntypedef struct _JOB_INFO_3 {\n    DWORD   JobId;\n    DWORD   NextJobId;\n    DWORD   Reserved;\n} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;\n\n#define JOB_CONTROL_PAUSE              1\n#define JOB_CONTROL_RESUME             2\n#define JOB_CONTROL_CANCEL             3\n#define JOB_CONTROL_RESTART            4\n#define JOB_CONTROL_DELETE             5\n#define JOB_CONTROL_SENT_TO_PRINTER    6\n#define JOB_CONTROL_LAST_PAGE_EJECTED  7\n\n#define JOB_STATUS_PAUSED               0x00000001\n#define JOB_STATUS_ERROR                0x00000002\n#define JOB_STATUS_DELETING             0x00000004\n#define JOB_STATUS_SPOOLING             0x00000008\n#define JOB_STATUS_PRINTING             0x00000010\n#define JOB_STATUS_OFFLINE              0x00000020\n#define JOB_STATUS_PAPEROUT             0x00000040\n#define JOB_STATUS_PRINTED              0x00000080\n#define JOB_STATUS_DELETED              0x00000100\n#define JOB_STATUS_BLOCKED_DEVQ         0x00000200\n#define JOB_STATUS_USER_INTERVENTION    0x00000400\n#define JOB_STATUS_RESTART              0x00000800\n#define JOB_STATUS_COMPLETE             0x00001000\n\n#define JOB_POSITION_UNSPECIFIED       0\n\ntypedef struct _ADDJOB_INFO_1A {\n    LPSTR     Path;\n    DWORD   JobId;\n} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;\ntypedef struct _ADDJOB_INFO_1W {\n    LPWSTR    Path;\n    DWORD   JobId;\n} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;\n#ifdef UNICODE\ntypedef ADDJOB_INFO_1W ADDJOB_INFO_1;\ntypedef PADDJOB_INFO_1W PADDJOB_INFO_1;\ntypedef LPADDJOB_INFO_1W LPADDJOB_INFO_1;\n#else\ntypedef ADDJOB_INFO_1A ADDJOB_INFO_1;\ntypedef PADDJOB_INFO_1A PADDJOB_INFO_1;\ntypedef LPADDJOB_INFO_1A LPADDJOB_INFO_1;\n#endif // UNICODE\n\n\ntypedef struct _DRIVER_INFO_1A {\n    LPSTR     pName;              // QMS 810\n} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;\ntypedef struct _DRIVER_INFO_1W {\n    LPWSTR    pName;              // QMS 810\n} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_1W DRIVER_INFO_1;\ntypedef PDRIVER_INFO_1W PDRIVER_INFO_1;\ntypedef LPDRIVER_INFO_1W LPDRIVER_INFO_1;\n#else\ntypedef DRIVER_INFO_1A DRIVER_INFO_1;\ntypedef PDRIVER_INFO_1A PDRIVER_INFO_1;\ntypedef LPDRIVER_INFO_1A LPDRIVER_INFO_1;\n#endif // UNICODE\n\ntypedef struct _DRIVER_INFO_2A {\n    DWORD   cVersion;\n    LPSTR     pName;              // QMS 810\n    LPSTR     pEnvironment;       // Win32 x86\n    LPSTR     pDriverPath;        // c:\\drivers\\pscript.dll\n    LPSTR     pDataFile;          // c:\\drivers\\QMS810.PPD\n    LPSTR     pConfigFile;        // c:\\drivers\\PSCRPTUI.DLL\n} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;\ntypedef struct _DRIVER_INFO_2W {\n    DWORD   cVersion;\n    LPWSTR    pName;              // QMS 810\n    LPWSTR    pEnvironment;       // Win32 x86\n    LPWSTR    pDriverPath;        // c:\\drivers\\pscript.dll\n    LPWSTR    pDataFile;          // c:\\drivers\\QMS810.PPD\n    LPWSTR    pConfigFile;        // c:\\drivers\\PSCRPTUI.DLL\n} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_2W DRIVER_INFO_2;\ntypedef PDRIVER_INFO_2W PDRIVER_INFO_2;\ntypedef LPDRIVER_INFO_2W LPDRIVER_INFO_2;\n#else\ntypedef DRIVER_INFO_2A DRIVER_INFO_2;\ntypedef PDRIVER_INFO_2A PDRIVER_INFO_2;\ntypedef LPDRIVER_INFO_2A LPDRIVER_INFO_2;\n#endif // UNICODE\n\ntypedef struct _DRIVER_INFO_3A {\n    DWORD   cVersion;\n    LPSTR     pName;                    // QMS 810\n    LPSTR     pEnvironment;             // Win32 x86\n    LPSTR     pDriverPath;              // c:\\drivers\\pscript.dll\n    LPSTR     pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPSTR     pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPSTR     pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPSTR     pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPSTR     pMonitorName;             // \"PJL monitor\"\n    LPSTR     pDefaultDataType;         // \"EMF\"\n} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;\ntypedef struct _DRIVER_INFO_3W {\n    DWORD   cVersion;\n    LPWSTR    pName;                    // QMS 810\n    LPWSTR    pEnvironment;             // Win32 x86\n    LPWSTR    pDriverPath;              // c:\\drivers\\pscript.dll\n    LPWSTR    pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPWSTR    pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPWSTR    pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPWSTR    pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPWSTR    pMonitorName;             // \"PJL monitor\"\n    LPWSTR    pDefaultDataType;         // \"EMF\"\n} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_3W DRIVER_INFO_3;\ntypedef PDRIVER_INFO_3W PDRIVER_INFO_3;\ntypedef LPDRIVER_INFO_3W LPDRIVER_INFO_3;\n#else\ntypedef DRIVER_INFO_3A DRIVER_INFO_3;\ntypedef PDRIVER_INFO_3A PDRIVER_INFO_3;\ntypedef LPDRIVER_INFO_3A LPDRIVER_INFO_3;\n#endif // UNICODE\n\ntypedef struct _DRIVER_INFO_4A {\n    DWORD   cVersion;\n    LPSTR     pName;                    // QMS 810\n    LPSTR     pEnvironment;             // Win32 x86\n    LPSTR     pDriverPath;              // c:\\drivers\\pscript.dll\n    LPSTR     pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPSTR     pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPSTR     pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPSTR     pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPSTR     pMonitorName;             // \"PJL monitor\"\n    LPSTR     pDefaultDataType;         // \"EMF\"\n    LPSTR     pszzPreviousNames;        // \"OldName1\\0OldName2\\0\\0\n} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;\ntypedef struct _DRIVER_INFO_4W {\n    DWORD   cVersion;\n    LPWSTR    pName;                    // QMS 810\n    LPWSTR    pEnvironment;             // Win32 x86\n    LPWSTR    pDriverPath;              // c:\\drivers\\pscript.dll\n    LPWSTR    pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPWSTR    pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPWSTR    pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPWSTR    pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPWSTR    pMonitorName;             // \"PJL monitor\"\n    LPWSTR    pDefaultDataType;         // \"EMF\"\n    LPWSTR    pszzPreviousNames;        // \"OldName1\\0OldName2\\0\\0\n} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_4W DRIVER_INFO_4;\ntypedef PDRIVER_INFO_4W PDRIVER_INFO_4;\ntypedef LPDRIVER_INFO_4W LPDRIVER_INFO_4;\n#else\ntypedef DRIVER_INFO_4A DRIVER_INFO_4;\ntypedef PDRIVER_INFO_4A PDRIVER_INFO_4;\ntypedef LPDRIVER_INFO_4A LPDRIVER_INFO_4;\n#endif // UNICODE\n\ntypedef struct _DRIVER_INFO_5A {\n    DWORD   cVersion;\n    LPSTR     pName;                    // QMS 810\n    LPSTR     pEnvironment;             // Win32 x86\n    LPSTR     pDriverPath;              // c:\\drivers\\pscript.dll\n    LPSTR     pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPSTR     pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    DWORD     dwDriverAttributes;       // driver attributes (like UMPD/KMPD)\n    DWORD     dwConfigVersion;          // version number of the config file since reboot\n    DWORD     dwDriverVersion;          // version number of the driver file since reboot\n} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;\ntypedef struct _DRIVER_INFO_5W {\n    DWORD   cVersion;\n    LPWSTR    pName;                    // QMS 810\n    LPWSTR    pEnvironment;             // Win32 x86\n    LPWSTR    pDriverPath;              // c:\\drivers\\pscript.dll\n    LPWSTR    pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPWSTR    pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    DWORD     dwDriverAttributes;       // driver attributes (like UMPD/KMPD)\n    DWORD     dwConfigVersion;          // version number of the config file since reboot\n    DWORD     dwDriverVersion;          // version number of the driver file since reboot\n} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_5W DRIVER_INFO_5;\ntypedef PDRIVER_INFO_5W PDRIVER_INFO_5;\ntypedef LPDRIVER_INFO_5W LPDRIVER_INFO_5;\n#else\ntypedef DRIVER_INFO_5A DRIVER_INFO_5;\ntypedef PDRIVER_INFO_5A PDRIVER_INFO_5;\ntypedef LPDRIVER_INFO_5A LPDRIVER_INFO_5;\n#endif // UNICODE\n\ntypedef struct _DRIVER_INFO_6A {\n    DWORD     cVersion;\n    LPSTR     pName;                    // QMS 810\n    LPSTR     pEnvironment;             // Win32 x86\n    LPSTR     pDriverPath;              // c:\\drivers\\pscript.dll\n    LPSTR     pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPSTR     pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPSTR     pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPSTR     pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPSTR     pMonitorName;             // \"PJL monitor\"\n    LPSTR     pDefaultDataType;         // \"EMF\"\n    LPSTR     pszzPreviousNames;        // \"OldName1\\0OldName2\\0\\0\n    FILETIME  ftDriverDate;\n    DWORDLONG dwlDriverVersion;\n    LPSTR      pszMfgName;\n    LPSTR      pszOEMUrl;\n    LPSTR      pszHardwareID;\n    LPSTR      pszProvider;\n} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;\ntypedef struct _DRIVER_INFO_6W {\n    DWORD     cVersion;\n    LPWSTR    pName;                    // QMS 810\n    LPWSTR    pEnvironment;             // Win32 x86\n    LPWSTR    pDriverPath;              // c:\\drivers\\pscript.dll\n    LPWSTR    pDataFile;                // c:\\drivers\\QMS810.PPD\n    LPWSTR    pConfigFile;              // c:\\drivers\\PSCRPTUI.DLL\n    LPWSTR    pHelpFile;                // c:\\drivers\\PSCRPTUI.HLP\n    LPWSTR    pDependentFiles;          // PSCRIPT.DLL\\0QMS810.PPD\\0PSCRIPTUI.DLL\\0PSCRIPTUI.HLP\\0PSTEST.TXT\\0\\0\n    LPWSTR    pMonitorName;             // \"PJL monitor\"\n    LPWSTR    pDefaultDataType;         // \"EMF\"\n    LPWSTR    pszzPreviousNames;        // \"OldName1\\0OldName2\\0\\0\n    FILETIME  ftDriverDate;\n    DWORDLONG dwlDriverVersion;\n    LPWSTR     pszMfgName;\n    LPWSTR     pszOEMUrl;\n    LPWSTR     pszHardwareID;\n    LPWSTR     pszProvider;\n} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;\n#ifdef UNICODE\ntypedef DRIVER_INFO_6W DRIVER_INFO_6;\ntypedef PDRIVER_INFO_6W PDRIVER_INFO_6;\ntypedef LPDRIVER_INFO_6W LPDRIVER_INFO_6;\n#else\ntypedef DRIVER_INFO_6A DRIVER_INFO_6;\ntypedef PDRIVER_INFO_6A PDRIVER_INFO_6;\ntypedef LPDRIVER_INFO_6A LPDRIVER_INFO_6;\n#endif // UNICODE\n\n\n// FLAGS for dwDriverAttributes\n#define DRIVER_KERNELMODE                0x00000001\n#define DRIVER_USERMODE                  0x00000002\n\n// FLAGS for DeletePrinterDriverEx.\n#define DPD_DELETE_UNUSED_FILES          0x00000001\n#define DPD_DELETE_SPECIFIC_VERSION      0x00000002\n#define DPD_DELETE_ALL_FILES             0x00000004\n\n// FLAGS for AddPrinterDriverEx.\n#define APD_STRICT_UPGRADE               0x00000001\n#define APD_STRICT_DOWNGRADE             0x00000002\n#define APD_COPY_ALL_FILES               0x00000004\n#define APD_COPY_NEW_FILES               0x00000008\n#define APD_COPY_FROM_DIRECTORY          0x00000010\n\n// String for EnumPrinterDrivers. Used by Windows Update\n\ntypedef struct _DOC_INFO_1A {\n    LPSTR     pDocName;\n    LPSTR     pOutputFile;\n    LPSTR     pDatatype;\n} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;\ntypedef struct _DOC_INFO_1W {\n    LPWSTR    pDocName;\n    LPWSTR    pOutputFile;\n    LPWSTR    pDatatype;\n} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;\n#ifdef UNICODE\ntypedef DOC_INFO_1W DOC_INFO_1;\ntypedef PDOC_INFO_1W PDOC_INFO_1;\ntypedef LPDOC_INFO_1W LPDOC_INFO_1;\n#else\ntypedef DOC_INFO_1A DOC_INFO_1;\ntypedef PDOC_INFO_1A PDOC_INFO_1;\ntypedef LPDOC_INFO_1A LPDOC_INFO_1;\n#endif // UNICODE\n\ntypedef struct _FORM_INFO_1A {\n    DWORD   Flags;\n    LPSTR     pName;\n    SIZEL   Size;\n    RECTL   ImageableArea;\n} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;\ntypedef struct _FORM_INFO_1W {\n    DWORD   Flags;\n    LPWSTR    pName;\n    SIZEL   Size;\n    RECTL   ImageableArea;\n} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;\n#ifdef UNICODE\ntypedef FORM_INFO_1W FORM_INFO_1;\ntypedef PFORM_INFO_1W PFORM_INFO_1;\ntypedef LPFORM_INFO_1W LPFORM_INFO_1;\n#else\ntypedef FORM_INFO_1A FORM_INFO_1;\ntypedef PFORM_INFO_1A PFORM_INFO_1;\ntypedef LPFORM_INFO_1A LPFORM_INFO_1;\n#endif // UNICODE\n\ntypedef struct _DOC_INFO_2A {\n    LPSTR     pDocName;\n    LPSTR     pOutputFile;\n    LPSTR     pDatatype;\n    DWORD   dwMode;\n    DWORD   JobId;\n} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;\ntypedef struct _DOC_INFO_2W {\n    LPWSTR    pDocName;\n    LPWSTR    pOutputFile;\n    LPWSTR    pDatatype;\n    DWORD   dwMode;\n    DWORD   JobId;\n} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;\n#ifdef UNICODE\ntypedef DOC_INFO_2W DOC_INFO_2;\ntypedef PDOC_INFO_2W PDOC_INFO_2;\ntypedef LPDOC_INFO_2W LPDOC_INFO_2;\n#else\ntypedef DOC_INFO_2A DOC_INFO_2;\ntypedef PDOC_INFO_2A PDOC_INFO_2;\ntypedef LPDOC_INFO_2A LPDOC_INFO_2;\n#endif // UNICODE\n\n#define DI_CHANNEL              1    // start direct read/write channel,\n\n\n#define DI_READ_SPOOL_JOB       3\n\ntypedef struct _DOC_INFO_3A {\n    LPSTR     pDocName;\n    LPSTR     pOutputFile;\n    LPSTR     pDatatype;\n    DWORD     dwFlags;\n} DOC_INFO_3A, *PDOC_INFO_3A, *LPDOC_INFO_3A;\ntypedef struct _DOC_INFO_3W {\n    LPWSTR    pDocName;\n    LPWSTR    pOutputFile;\n    LPWSTR    pDatatype;\n    DWORD     dwFlags;\n} DOC_INFO_3W, *PDOC_INFO_3W, *LPDOC_INFO_3W;\n#ifdef UNICODE\ntypedef DOC_INFO_3W DOC_INFO_3;\ntypedef PDOC_INFO_3W PDOC_INFO_3;\ntypedef LPDOC_INFO_3W LPDOC_INFO_3;\n#else\ntypedef DOC_INFO_3A DOC_INFO_3;\ntypedef PDOC_INFO_3A PDOC_INFO_3;\ntypedef LPDOC_INFO_3A LPDOC_INFO_3;\n#endif // UNICODE\n\n#define DI_MEMORYMAP_WRITE   0x00000001\n\n#define FORM_USER       0x00000000\n#define FORM_BUILTIN    0x00000001\n#define FORM_PRINTER    0x00000002\n\ntypedef struct _PRINTPROCESSOR_INFO_1A {\n    LPSTR     pName;\n} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;\ntypedef struct _PRINTPROCESSOR_INFO_1W {\n    LPWSTR    pName;\n} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;\n#ifdef UNICODE\ntypedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1;\ntypedef PPRINTPROCESSOR_INFO_1W PPRINTPROCESSOR_INFO_1;\ntypedef LPPRINTPROCESSOR_INFO_1W LPPRINTPROCESSOR_INFO_1;\n#else\ntypedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1;\ntypedef PPRINTPROCESSOR_INFO_1A PPRINTPROCESSOR_INFO_1;\ntypedef LPPRINTPROCESSOR_INFO_1A LPPRINTPROCESSOR_INFO_1;\n#endif // UNICODE\n\ntypedef struct _PRINTPROCESSOR_CAPS_1 {\n    DWORD     dwLevel;\n    DWORD     dwNupOptions;\n    DWORD     dwPageOrderFlags;\n    DWORD     dwNumberOfCopies;\n} PRINTPROCESSOR_CAPS_1, *PPRINTPROCESSOR_CAPS_1;\n\n#define NORMAL_PRINT                   0x00000000\n#define REVERSE_PRINT                  0x00000001\n\ntypedef struct _PORT_INFO_1A {\n    LPSTR     pName;\n} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;\ntypedef struct _PORT_INFO_1W {\n    LPWSTR    pName;\n} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;\n#ifdef UNICODE\ntypedef PORT_INFO_1W PORT_INFO_1;\ntypedef PPORT_INFO_1W PPORT_INFO_1;\ntypedef LPPORT_INFO_1W LPPORT_INFO_1;\n#else\ntypedef PORT_INFO_1A PORT_INFO_1;\ntypedef PPORT_INFO_1A PPORT_INFO_1;\ntypedef LPPORT_INFO_1A LPPORT_INFO_1;\n#endif // UNICODE\n\ntypedef struct _PORT_INFO_2A {\n    LPSTR     pPortName;\n    LPSTR     pMonitorName;\n    LPSTR     pDescription;\n    DWORD     fPortType;\n    DWORD     Reserved;\n} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;\ntypedef struct _PORT_INFO_2W {\n    LPWSTR    pPortName;\n    LPWSTR    pMonitorName;\n    LPWSTR    pDescription;\n    DWORD     fPortType;\n    DWORD     Reserved;\n} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;\n#ifdef UNICODE\ntypedef PORT_INFO_2W PORT_INFO_2;\ntypedef PPORT_INFO_2W PPORT_INFO_2;\ntypedef LPPORT_INFO_2W LPPORT_INFO_2;\n#else\ntypedef PORT_INFO_2A PORT_INFO_2;\ntypedef PPORT_INFO_2A PPORT_INFO_2;\ntypedef LPPORT_INFO_2A LPPORT_INFO_2;\n#endif // UNICODE\n\n#define PORT_TYPE_WRITE         0x0001\n#define PORT_TYPE_READ          0x0002\n#define PORT_TYPE_REDIRECTED    0x0004\n#define PORT_TYPE_NET_ATTACHED  0x0008\n\ntypedef struct _PORT_INFO_3A {\n    DWORD   dwStatus;\n    LPSTR   pszStatus;\n    DWORD   dwSeverity;\n} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;\ntypedef struct _PORT_INFO_3W {\n    DWORD   dwStatus;\n    LPWSTR  pszStatus;\n    DWORD   dwSeverity;\n} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;\n#ifdef UNICODE\ntypedef PORT_INFO_3W PORT_INFO_3;\ntypedef PPORT_INFO_3W PPORT_INFO_3;\ntypedef LPPORT_INFO_3W LPPORT_INFO_3;\n#else\ntypedef PORT_INFO_3A PORT_INFO_3;\ntypedef PPORT_INFO_3A PPORT_INFO_3;\ntypedef LPPORT_INFO_3A LPPORT_INFO_3;\n#endif // UNICODE\n\n#define PORT_STATUS_TYPE_ERROR      1\n#define PORT_STATUS_TYPE_WARNING    2\n#define PORT_STATUS_TYPE_INFO       3\n\n#define     PORT_STATUS_OFFLINE                 1\n#define     PORT_STATUS_PAPER_JAM               2\n#define     PORT_STATUS_PAPER_OUT               3\n#define     PORT_STATUS_OUTPUT_BIN_FULL         4\n#define     PORT_STATUS_PAPER_PROBLEM           5\n#define     PORT_STATUS_NO_TONER                6\n#define     PORT_STATUS_DOOR_OPEN               7\n#define     PORT_STATUS_USER_INTERVENTION       8\n#define     PORT_STATUS_OUT_OF_MEMORY           9\n\n#define     PORT_STATUS_TONER_LOW              10\n\n#define     PORT_STATUS_WARMING_UP             11\n#define     PORT_STATUS_POWER_SAVE             12\n\n\ntypedef struct _MONITOR_INFO_1A{\n    LPSTR     pName;\n} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;\ntypedef struct _MONITOR_INFO_1W{\n    LPWSTR    pName;\n} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;\n#ifdef UNICODE\ntypedef MONITOR_INFO_1W MONITOR_INFO_1;\ntypedef PMONITOR_INFO_1W PMONITOR_INFO_1;\ntypedef LPMONITOR_INFO_1W LPMONITOR_INFO_1;\n#else\ntypedef MONITOR_INFO_1A MONITOR_INFO_1;\ntypedef PMONITOR_INFO_1A PMONITOR_INFO_1;\ntypedef LPMONITOR_INFO_1A LPMONITOR_INFO_1;\n#endif // UNICODE\n\ntypedef struct _MONITOR_INFO_2A{\n    LPSTR     pName;\n    LPSTR     pEnvironment;\n    LPSTR     pDLLName;\n} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;\ntypedef struct _MONITOR_INFO_2W{\n    LPWSTR    pName;\n    LPWSTR    pEnvironment;\n    LPWSTR    pDLLName;\n} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;\n#ifdef UNICODE\ntypedef MONITOR_INFO_2W MONITOR_INFO_2;\ntypedef PMONITOR_INFO_2W PMONITOR_INFO_2;\ntypedef LPMONITOR_INFO_2W LPMONITOR_INFO_2;\n#else\ntypedef MONITOR_INFO_2A MONITOR_INFO_2;\ntypedef PMONITOR_INFO_2A PMONITOR_INFO_2;\ntypedef LPMONITOR_INFO_2A LPMONITOR_INFO_2;\n#endif // UNICODE\n\ntypedef struct _DATATYPES_INFO_1A{\n    LPSTR     pName;\n} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;\ntypedef struct _DATATYPES_INFO_1W{\n    LPWSTR    pName;\n} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;\n#ifdef UNICODE\ntypedef DATATYPES_INFO_1W DATATYPES_INFO_1;\ntypedef PDATATYPES_INFO_1W PDATATYPES_INFO_1;\ntypedef LPDATATYPES_INFO_1W LPDATATYPES_INFO_1;\n#else\ntypedef DATATYPES_INFO_1A DATATYPES_INFO_1;\ntypedef PDATATYPES_INFO_1A PDATATYPES_INFO_1;\ntypedef LPDATATYPES_INFO_1A LPDATATYPES_INFO_1;\n#endif // UNICODE\n\ntypedef struct _PRINTER_DEFAULTSA{\n    LPSTR         pDatatype;\n    LPDEVMODEA pDevMode;\n    ACCESS_MASK DesiredAccess;\n} PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;\ntypedef struct _PRINTER_DEFAULTSW{\n    LPWSTR        pDatatype;\n    LPDEVMODEW pDevMode;\n    ACCESS_MASK DesiredAccess;\n} PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;\n#ifdef UNICODE\ntypedef PRINTER_DEFAULTSW PRINTER_DEFAULTS;\ntypedef PPRINTER_DEFAULTSW PPRINTER_DEFAULTS;\ntypedef LPPRINTER_DEFAULTSW LPPRINTER_DEFAULTS;\n#else\ntypedef PRINTER_DEFAULTSA PRINTER_DEFAULTS;\ntypedef PPRINTER_DEFAULTSA PPRINTER_DEFAULTS;\ntypedef LPPRINTER_DEFAULTSA LPPRINTER_DEFAULTS;\n#endif // UNICODE\n\ntypedef struct _PRINTER_ENUM_VALUESA {\n    LPSTR   pValueName;\n    DWORD   cbValueName;\n    DWORD   dwType;\n    LPBYTE  pData;\n    DWORD   cbData;\n} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA, *LPPRINTER_ENUM_VALUESA;\ntypedef struct _PRINTER_ENUM_VALUESW {\n    LPWSTR  pValueName;\n    DWORD   cbValueName;\n    DWORD   dwType;\n    LPBYTE  pData;\n    DWORD   cbData;\n} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW, *LPPRINTER_ENUM_VALUESW;\n#ifdef UNICODE\ntypedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES;\ntypedef PPRINTER_ENUM_VALUESW PPRINTER_ENUM_VALUES;\ntypedef LPPRINTER_ENUM_VALUESW LPPRINTER_ENUM_VALUES;\n#else\ntypedef PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES;\ntypedef PPRINTER_ENUM_VALUESA PPRINTER_ENUM_VALUES;\ntypedef LPPRINTER_ENUM_VALUESA LPPRINTER_ENUM_VALUES;\n#endif // UNICODE\n\nBOOL\nWINAPI\nEnumPrintersA(\n    IN DWORD   Flags,\n    IN LPSTR Name,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrinterEnum,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumPrintersW(\n    IN DWORD   Flags,\n    IN LPWSTR Name,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrinterEnum,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumPrinters  EnumPrintersW\n#else\n#define EnumPrinters  EnumPrintersA\n#endif // !UNICODE\n\n#define PRINTER_ENUM_DEFAULT     0x00000001\n#define PRINTER_ENUM_LOCAL       0x00000002\n#define PRINTER_ENUM_CONNECTIONS 0x00000004\n#define PRINTER_ENUM_FAVORITE    0x00000004\n#define PRINTER_ENUM_NAME        0x00000008\n#define PRINTER_ENUM_REMOTE      0x00000010\n#define PRINTER_ENUM_SHARED      0x00000020\n#define PRINTER_ENUM_NETWORK     0x00000040\n\n\n#define PRINTER_ENUM_EXPAND      0x00004000\n#define PRINTER_ENUM_CONTAINER   0x00008000\n\n#define PRINTER_ENUM_ICONMASK    0x00ff0000\n#define PRINTER_ENUM_ICON1       0x00010000\n#define PRINTER_ENUM_ICON2       0x00020000\n#define PRINTER_ENUM_ICON3       0x00040000\n#define PRINTER_ENUM_ICON4       0x00080000\n#define PRINTER_ENUM_ICON5       0x00100000\n#define PRINTER_ENUM_ICON6       0x00200000\n#define PRINTER_ENUM_ICON7       0x00400000\n#define PRINTER_ENUM_ICON8       0x00800000\n#define PRINTER_ENUM_HIDE        0x01000000\n\n\n\n#define SPOOL_FILE_PERSISTENT    0x00000001\n#define SPOOL_FILE_TEMPORARY     0x00000002\n\n\nBOOL\nWINAPI\nOpenPrinterA(\n   IN LPSTR    pPrinterName,\n   OUT LPHANDLE phPrinter,\n   IN LPPRINTER_DEFAULTSA pDefault\n);\nBOOL\nWINAPI\nOpenPrinterW(\n   IN LPWSTR    pPrinterName,\n   OUT LPHANDLE phPrinter,\n   IN LPPRINTER_DEFAULTSW pDefault\n);\n#ifdef UNICODE\n#define OpenPrinter  OpenPrinterW\n#else\n#define OpenPrinter  OpenPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nResetPrinterA(\n   IN HANDLE   hPrinter,\n   IN LPPRINTER_DEFAULTSA pDefault\n);\nBOOL\nWINAPI\nResetPrinterW(\n   IN HANDLE   hPrinter,\n   IN LPPRINTER_DEFAULTSW pDefault\n);\n#ifdef UNICODE\n#define ResetPrinter  ResetPrinterW\n#else\n#define ResetPrinter  ResetPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nSetJobA(\n    IN HANDLE  hPrinter,\n    IN DWORD   JobId,\n    IN DWORD   Level,\n    IN LPBYTE  pJob,\n    IN DWORD   Command\n);\nBOOL\nWINAPI\nSetJobW(\n    IN HANDLE  hPrinter,\n    IN DWORD   JobId,\n    IN DWORD   Level,\n    IN LPBYTE  pJob,\n    IN DWORD   Command\n);\n#ifdef UNICODE\n#define SetJob  SetJobW\n#else\n#define SetJob  SetJobA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nGetJobA(\n   IN HANDLE   hPrinter,\n   IN DWORD    JobId,\n   IN DWORD    Level,\n   OUT LPBYTE   pJob,\n   IN DWORD    cbBuf,\n   OUT LPDWORD  pcbNeeded\n);\nBOOL\nWINAPI\nGetJobW(\n   IN HANDLE   hPrinter,\n   IN DWORD    JobId,\n   IN DWORD    Level,\n   OUT LPBYTE   pJob,\n   IN DWORD    cbBuf,\n   OUT LPDWORD  pcbNeeded\n);\n#ifdef UNICODE\n#define GetJob  GetJobW\n#else\n#define GetJob  GetJobA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nEnumJobsA(\n    IN HANDLE  hPrinter,\n    IN DWORD   FirstJob,\n    IN DWORD   NoJobs,\n    IN DWORD   Level,\n    OUT LPBYTE  pJob,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumJobsW(\n    IN HANDLE  hPrinter,\n    IN DWORD   FirstJob,\n    IN DWORD   NoJobs,\n    IN DWORD   Level,\n    OUT LPBYTE  pJob,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumJobs  EnumJobsW\n#else\n#define EnumJobs  EnumJobsA\n#endif // !UNICODE\n\nHANDLE\nWINAPI\nAddPrinterA(\n    IN LPSTR   pName,\n    IN DWORD   Level,\n    IN LPBYTE  pPrinter\n);\nHANDLE\nWINAPI\nAddPrinterW(\n    IN LPWSTR   pName,\n    IN DWORD   Level,\n    IN LPBYTE  pPrinter\n);\n#ifdef UNICODE\n#define AddPrinter  AddPrinterW\n#else\n#define AddPrinter  AddPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePrinter(\n   IN OUT HANDLE   hPrinter\n);\n\nBOOL\nWINAPI\nSetPrinterA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pPrinter,\n    IN DWORD   Command\n);\nBOOL\nWINAPI\nSetPrinterW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pPrinter,\n    IN DWORD   Command\n);\n#ifdef UNICODE\n#define SetPrinter  SetPrinterW\n#else\n#define SetPrinter  SetPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nGetPrinterA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrinter,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nGetPrinterW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrinter,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrinter  GetPrinterW\n#else\n#define GetPrinter  GetPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nAddPrinterDriverA(\n    IN LPSTR   pName,\n    IN  DWORD   Level,\n    OUT LPBYTE  pDriverInfo\n);\nBOOL\nWINAPI\nAddPrinterDriverW(\n    IN LPWSTR   pName,\n    IN  DWORD   Level,\n    OUT LPBYTE  pDriverInfo\n);\n#ifdef UNICODE\n#define AddPrinterDriver  AddPrinterDriverW\n#else\n#define AddPrinterDriver  AddPrinterDriverA\n#endif // !UNICODE\n\n\nBOOL\nWINAPI\nAddPrinterDriverExA(\n    IN LPSTR   pName,\n    IN DWORD     Level,\n    IN OUT LPBYTE pDriverInfo,\n    IN DWORD     dwFileCopyFlags\n);\nBOOL\nWINAPI\nAddPrinterDriverExW(\n    IN LPWSTR   pName,\n    IN DWORD     Level,\n    IN OUT LPBYTE pDriverInfo,\n    IN DWORD     dwFileCopyFlags\n);\n#ifdef UNICODE\n#define AddPrinterDriverEx  AddPrinterDriverExW\n#else\n#define AddPrinterDriverEx  AddPrinterDriverExA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nEnumPrinterDriversA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumPrinterDriversW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumPrinterDrivers  EnumPrinterDriversW\n#else\n#define EnumPrinterDrivers  EnumPrinterDriversA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nGetPrinterDriverA(\n    IN HANDLE  hPrinter,\n    IN LPSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nGetPrinterDriverW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrinterDriver  GetPrinterDriverW\n#else\n#define GetPrinterDriver  GetPrinterDriverA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nGetPrinterDriverDirectoryA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverDirectory,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nGetPrinterDriverDirectoryW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pDriverDirectory,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrinterDriverDirectory  GetPrinterDriverDirectoryW\n#else\n#define GetPrinterDriverDirectory  GetPrinterDriverDirectoryA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePrinterDriverA(\n   IN LPSTR    pName,\n   IN LPSTR    pEnvironment,\n   IN LPSTR    pDriverName\n);\nBOOL\nWINAPI\nDeletePrinterDriverW(\n   IN LPWSTR    pName,\n   IN LPWSTR    pEnvironment,\n   IN LPWSTR    pDriverName\n);\n#ifdef UNICODE\n#define DeletePrinterDriver  DeletePrinterDriverW\n#else\n#define DeletePrinterDriver  DeletePrinterDriverA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePrinterDriverExA(\n   IN LPSTR    pName,\n   IN LPSTR    pEnvironment,\n   IN LPSTR    pDriverName,\n   IN DWORD      dwDeleteFlag,\n   IN DWORD      dwVersionFlag\n);\nBOOL\nWINAPI\nDeletePrinterDriverExW(\n   IN LPWSTR    pName,\n   IN LPWSTR    pEnvironment,\n   IN LPWSTR    pDriverName,\n   IN DWORD      dwDeleteFlag,\n   IN DWORD      dwVersionFlag\n);\n#ifdef UNICODE\n#define DeletePrinterDriverEx  DeletePrinterDriverExW\n#else\n#define DeletePrinterDriverEx  DeletePrinterDriverExA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nAddPrintProcessorA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN LPSTR   pPathName,\n    IN LPSTR   pPrintProcessorName\n);\nBOOL\nWINAPI\nAddPrintProcessorW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN LPWSTR   pPathName,\n    IN LPWSTR   pPrintProcessorName\n);\n#ifdef UNICODE\n#define AddPrintProcessor  AddPrintProcessorW\n#else\n#define AddPrintProcessor  AddPrintProcessorA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nEnumPrintProcessorsA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrintProcessorInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumPrintProcessorsW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrintProcessorInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumPrintProcessors  EnumPrintProcessorsW\n#else\n#define EnumPrintProcessors  EnumPrintProcessorsA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nGetPrintProcessorDirectoryA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrintProcessorInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nGetPrintProcessorDirectoryW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN DWORD   Level,\n    OUT LPBYTE  pPrintProcessorInfo,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrintProcessorDirectory  GetPrintProcessorDirectoryW\n#else\n#define GetPrintProcessorDirectory  GetPrintProcessorDirectoryA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nEnumPrintProcessorDatatypesA(\n    IN LPSTR   pName,\n    IN LPSTR   pPrintProcessorName,\n    IN DWORD   Level,\n    OUT LPBYTE  pDatatypes,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumPrintProcessorDatatypesW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pPrintProcessorName,\n    IN DWORD   Level,\n    OUT LPBYTE  pDatatypes,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumPrintProcessorDatatypes  EnumPrintProcessorDatatypesW\n#else\n#define EnumPrintProcessorDatatypes  EnumPrintProcessorDatatypesA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePrintProcessorA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN LPSTR   pPrintProcessorName\n);\nBOOL\nWINAPI\nDeletePrintProcessorW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN LPWSTR   pPrintProcessorName\n);\n#ifdef UNICODE\n#define DeletePrintProcessor  DeletePrintProcessorW\n#else\n#define DeletePrintProcessor  DeletePrintProcessorA\n#endif // !UNICODE\n\nDWORD\nWINAPI\nStartDocPrinterA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pDocInfo\n);\nDWORD\nWINAPI\nStartDocPrinterW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pDocInfo\n);\n#ifdef UNICODE\n#define StartDocPrinter  StartDocPrinterW\n#else\n#define StartDocPrinter  StartDocPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nStartPagePrinter(\n    IN HANDLE  hPrinter\n);\n\nBOOL\nWINAPI\nWritePrinter(\n    IN HANDLE  hPrinter,\n    IN LPVOID  pBuf,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcWritten\n);\n\n\nBOOL\nWINAPI\nFlushPrinter(\n    IN HANDLE   hPrinter,\n    IN LPVOID   pBuf,\n    IN DWORD    cbBuf,\n    OUT LPDWORD pcWritten,\n    IN DWORD    cSleep\n);\n\nBOOL\nWINAPI\nEndPagePrinter(\n   IN HANDLE   hPrinter\n);\n\nBOOL\nWINAPI\nAbortPrinter(\n   IN HANDLE   hPrinter\n);\n\nBOOL\nWINAPI\nReadPrinter(\n    IN HANDLE  hPrinter,\n    OUT LPVOID  pBuf,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pNoBytesRead\n);\n\nBOOL\nWINAPI\nEndDocPrinter(\n   IN HANDLE   hPrinter\n);\n\nBOOL\nWINAPI\nAddJobA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pData,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nAddJobW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pData,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define AddJob  AddJobW\n#else\n#define AddJob  AddJobA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nScheduleJob(\n    IN HANDLE  hPrinter,\n    IN DWORD   JobId\n);\n\nBOOL\nWINAPI\nPrinterProperties(\n    IN HWND    hWnd,\n    IN HANDLE  hPrinter\n);\n\nLONG\nWINAPI\nDocumentPropertiesA(\n    IN HWND      hWnd,\n    IN HANDLE    hPrinter,\n    IN LPSTR   pDeviceName,\n    OUT PDEVMODEA pDevModeOutput,\n    IN PDEVMODEA pDevModeInput,\n    IN DWORD     fMode\n);\nLONG\nWINAPI\nDocumentPropertiesW(\n    IN HWND      hWnd,\n    IN HANDLE    hPrinter,\n    IN LPWSTR   pDeviceName,\n    OUT PDEVMODEW pDevModeOutput,\n    IN PDEVMODEW pDevModeInput,\n    IN DWORD     fMode\n);\n#ifdef UNICODE\n#define DocumentProperties  DocumentPropertiesW\n#else\n#define DocumentProperties  DocumentPropertiesA\n#endif // !UNICODE\n\nLONG\nWINAPI\nAdvancedDocumentPropertiesA(\n    IN HWND    hWnd,\n    IN HANDLE  hPrinter,\n    IN LPSTR   pDeviceName,\n    OUT PDEVMODEA pDevModeOutput,\n    IN PDEVMODEA pDevModeInput\n);\nLONG\nWINAPI\nAdvancedDocumentPropertiesW(\n    IN HWND    hWnd,\n    IN HANDLE  hPrinter,\n    IN LPWSTR   pDeviceName,\n    OUT PDEVMODEW pDevModeOutput,\n    IN PDEVMODEW pDevModeInput\n);\n#ifdef UNICODE\n#define AdvancedDocumentProperties  AdvancedDocumentPropertiesW\n#else\n#define AdvancedDocumentProperties  AdvancedDocumentPropertiesA\n#endif // !UNICODE\n\nLONG\nExtDeviceMode(\n    IN  HWND        hWnd,\n    IN  HANDLE      hInst,\n    OUT LPDEVMODEA  pDevModeOutput,\n    IN  LPSTR       pDeviceName,\n    IN  LPSTR       pPort,\n    IN  LPDEVMODEA  pDevModeInput,\n    IN  LPSTR       pProfile,\n    IN  DWORD       fMode\n);\n\n\nDWORD\nWINAPI\nGetPrinterDataA(\n    IN HANDLE   hPrinter,\n    IN LPSTR  pValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    nSize,\n    OUT LPDWORD  pcbNeeded\n);\nDWORD\nWINAPI\nGetPrinterDataW(\n    IN HANDLE   hPrinter,\n    IN LPWSTR  pValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    nSize,\n    OUT LPDWORD  pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrinterData  GetPrinterDataW\n#else\n#define GetPrinterData  GetPrinterDataA\n#endif // !UNICODE\n\nDWORD\nWINAPI\nGetPrinterDataExA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName,\n    IN LPCSTR pValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    nSize,\n    OUT LPDWORD  pcbNeeded\n);\nDWORD\nWINAPI\nGetPrinterDataExW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName,\n    IN LPCWSTR pValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    nSize,\n    OUT LPDWORD  pcbNeeded\n);\n#ifdef UNICODE\n#define GetPrinterDataEx  GetPrinterDataExW\n#else\n#define GetPrinterDataEx  GetPrinterDataExA\n#endif // !UNICODE\n\nDWORD\nWINAPI\nEnumPrinterDataA(\n    IN HANDLE   hPrinter,\n    IN DWORD    dwIndex,\n    OUT LPSTR  pValueName,\n    IN DWORD    cbValueName,\n    OUT LPDWORD  pcbValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    cbData,\n    OUT LPDWORD  pcbData\n);\nDWORD\nWINAPI\nEnumPrinterDataW(\n    IN HANDLE   hPrinter,\n    IN DWORD    dwIndex,\n    OUT LPWSTR  pValueName,\n    IN DWORD    cbValueName,\n    OUT LPDWORD  pcbValueName,\n    OUT LPDWORD  pType,\n    OUT LPBYTE   pData,\n    IN DWORD    cbData,\n    OUT LPDWORD  pcbData\n);\n#ifdef UNICODE\n#define EnumPrinterData  EnumPrinterDataW\n#else\n#define EnumPrinterData  EnumPrinterDataA\n#endif // !UNICODE\n\nDWORD\nWINAPI\nEnumPrinterDataExA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName,\n    OUT LPBYTE   pEnumValues,\n    IN DWORD    cbEnumValues,\n    OUT LPDWORD  pcbEnumValues,\n    OUT LPDWORD  pnEnumValues\n);\nDWORD\nWINAPI\nEnumPrinterDataExW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName,\n    OUT LPBYTE   pEnumValues,\n    IN DWORD    cbEnumValues,\n    OUT LPDWORD  pcbEnumValues,\n    OUT LPDWORD  pnEnumValues\n);\n#ifdef UNICODE\n#define EnumPrinterDataEx  EnumPrinterDataExW\n#else\n#define EnumPrinterDataEx  EnumPrinterDataExA\n#endif // !UNICODE\n\nDWORD\nWINAPI\nEnumPrinterKeyA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName,\n    OUT LPSTR  pSubkey,\n    IN DWORD    cbSubkey,\n    OUT LPDWORD  pcbSubkey\n);\nDWORD\nWINAPI\nEnumPrinterKeyW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName,\n    OUT LPWSTR  pSubkey,\n    IN DWORD    cbSubkey,\n    OUT LPDWORD  pcbSubkey\n);\n#ifdef UNICODE\n#define EnumPrinterKey  EnumPrinterKeyW\n#else\n#define EnumPrinterKey  EnumPrinterKeyA\n#endif // !UNICODE\n\n\nDWORD\nWINAPI\nSetPrinterDataA(\n    IN HANDLE  hPrinter,\n    IN LPSTR pValueName,\n    IN DWORD   Type,\n    IN LPBYTE  pData,\n    IN DWORD   cbData\n);\nDWORD\nWINAPI\nSetPrinterDataW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR pValueName,\n    IN DWORD   Type,\n    IN LPBYTE  pData,\n    IN DWORD   cbData\n);\n#ifdef UNICODE\n#define SetPrinterData  SetPrinterDataW\n#else\n#define SetPrinterData  SetPrinterDataA\n#endif // !UNICODE\n\n\nDWORD\nWINAPI\nSetPrinterDataExA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName,\n    IN LPCSTR pValueName,\n    IN DWORD    Type,\n    IN LPBYTE   pData,\n    IN DWORD    cbData\n);\nDWORD\nWINAPI\nSetPrinterDataExW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName,\n    IN LPCWSTR pValueName,\n    IN DWORD    Type,\n    IN LPBYTE   pData,\n    IN DWORD    cbData\n);\n#ifdef UNICODE\n#define SetPrinterDataEx  SetPrinterDataExW\n#else\n#define SetPrinterDataEx  SetPrinterDataExA\n#endif // !UNICODE\n\n\n\nDWORD\nWINAPI\nDeletePrinterDataA(\n    IN HANDLE  hPrinter,\n    IN LPSTR pValueName\n);\nDWORD\nWINAPI\nDeletePrinterDataW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR pValueName\n);\n#ifdef UNICODE\n#define DeletePrinterData  DeletePrinterDataW\n#else\n#define DeletePrinterData  DeletePrinterDataA\n#endif // !UNICODE\n\n\nDWORD\nWINAPI\nDeletePrinterDataExA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName,\n    IN LPCSTR pValueName\n);\nDWORD\nWINAPI\nDeletePrinterDataExW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName,\n    IN LPCWSTR pValueName\n);\n#ifdef UNICODE\n#define DeletePrinterDataEx  DeletePrinterDataExW\n#else\n#define DeletePrinterDataEx  DeletePrinterDataExA\n#endif // !UNICODE\n\n\nDWORD\nWINAPI\nDeletePrinterKeyA(\n    IN HANDLE   hPrinter,\n    IN LPCSTR pKeyName\n);\nDWORD\nWINAPI\nDeletePrinterKeyW(\n    IN HANDLE   hPrinter,\n    IN LPCWSTR pKeyName\n);\n#ifdef UNICODE\n#define DeletePrinterKey  DeletePrinterKeyW\n#else\n#define DeletePrinterKey  DeletePrinterKeyA\n#endif // !UNICODE\n\n\n#define PRINTER_NOTIFY_TYPE 0x00\n#define JOB_NOTIFY_TYPE     0x01\n\n#define PRINTER_NOTIFY_FIELD_SERVER_NAME             0x00\n#define PRINTER_NOTIFY_FIELD_PRINTER_NAME            0x01\n#define PRINTER_NOTIFY_FIELD_SHARE_NAME              0x02\n#define PRINTER_NOTIFY_FIELD_PORT_NAME               0x03\n#define PRINTER_NOTIFY_FIELD_DRIVER_NAME             0x04\n#define PRINTER_NOTIFY_FIELD_COMMENT                 0x05\n#define PRINTER_NOTIFY_FIELD_LOCATION                0x06\n#define PRINTER_NOTIFY_FIELD_DEVMODE                 0x07\n#define PRINTER_NOTIFY_FIELD_SEPFILE                 0x08\n#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR         0x09\n#define PRINTER_NOTIFY_FIELD_PARAMETERS              0x0A\n#define PRINTER_NOTIFY_FIELD_DATATYPE                0x0B\n#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR     0x0C\n#define PRINTER_NOTIFY_FIELD_ATTRIBUTES              0x0D\n#define PRINTER_NOTIFY_FIELD_PRIORITY                0x0E\n#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY        0x0F\n#define PRINTER_NOTIFY_FIELD_START_TIME              0x10\n#define PRINTER_NOTIFY_FIELD_UNTIL_TIME              0x11\n#define PRINTER_NOTIFY_FIELD_STATUS                  0x12\n#define PRINTER_NOTIFY_FIELD_STATUS_STRING           0x13\n#define PRINTER_NOTIFY_FIELD_CJOBS                   0x14\n#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM             0x15\n#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES             0x16\n#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED           0x17\n#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES             0x18\n#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED           0x19\n#define PRINTER_NOTIFY_FIELD_OBJECT_GUID             0x1A\n\n#define JOB_NOTIFY_FIELD_PRINTER_NAME                0x00\n#define JOB_NOTIFY_FIELD_MACHINE_NAME                0x01\n#define JOB_NOTIFY_FIELD_PORT_NAME                   0x02\n#define JOB_NOTIFY_FIELD_USER_NAME                   0x03\n#define JOB_NOTIFY_FIELD_NOTIFY_NAME                 0x04\n#define JOB_NOTIFY_FIELD_DATATYPE                    0x05\n#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR             0x06\n#define JOB_NOTIFY_FIELD_PARAMETERS                  0x07\n#define JOB_NOTIFY_FIELD_DRIVER_NAME                 0x08\n#define JOB_NOTIFY_FIELD_DEVMODE                     0x09\n#define JOB_NOTIFY_FIELD_STATUS                      0x0A\n#define JOB_NOTIFY_FIELD_STATUS_STRING               0x0B\n#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR         0x0C\n#define JOB_NOTIFY_FIELD_DOCUMENT                    0x0D\n#define JOB_NOTIFY_FIELD_PRIORITY                    0x0E\n#define JOB_NOTIFY_FIELD_POSITION                    0x0F\n#define JOB_NOTIFY_FIELD_SUBMITTED                   0x10\n#define JOB_NOTIFY_FIELD_START_TIME                  0x11\n#define JOB_NOTIFY_FIELD_UNTIL_TIME                  0x12\n#define JOB_NOTIFY_FIELD_TIME                        0x13\n#define JOB_NOTIFY_FIELD_TOTAL_PAGES                 0x14\n#define JOB_NOTIFY_FIELD_PAGES_PRINTED               0x15\n#define JOB_NOTIFY_FIELD_TOTAL_BYTES                 0x16\n#define JOB_NOTIFY_FIELD_BYTES_PRINTED               0x17\n\n\ntypedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {\n    WORD Type;\n    WORD Reserved0;\n    DWORD Reserved1;\n    DWORD Reserved2;\n    DWORD Count;\n    PWORD pFields;\n} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, *LPPRINTER_NOTIFY_OPTIONS_TYPE;\n\n\n#define PRINTER_NOTIFY_OPTIONS_REFRESH  0x01\n\ntypedef struct _PRINTER_NOTIFY_OPTIONS {\n    DWORD Version;\n    DWORD Flags;\n    DWORD Count;\n    PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;\n} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;\n\n\n\n#define PRINTER_NOTIFY_INFO_DISCARDED       0x01\n\ntypedef struct _PRINTER_NOTIFY_INFO_DATA {\n    WORD Type;\n    WORD Field;\n    DWORD Reserved;\n    DWORD Id;\n    union {\n        DWORD adwData[2];\n        struct {\n            DWORD  cbBuf;\n            LPVOID pBuf;\n        } Data;\n    } NotifyData;\n} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA, *LPPRINTER_NOTIFY_INFO_DATA;\n\ntypedef struct _PRINTER_NOTIFY_INFO {\n    DWORD Version;\n    DWORD Flags;\n    DWORD Count;\n    PRINTER_NOTIFY_INFO_DATA aData[1];\n} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;\n\n\ntypedef struct _BINARY_CONTAINER{\n    DWORD cbBuf;\n    LPBYTE pData;\n} BINARY_CONTAINER, *PBINARY_CONTAINER;\n\n\ntypedef struct _BIDI_DATA{\n    DWORD dwBidiType;\n    union {\n        BOOL   bData;\n        LONG   iData;\n        LPWSTR sData;\n        FLOAT  fData;\n        BINARY_CONTAINER biData;\n        }u;\n} BIDI_DATA, *PBIDI_DATA, *LPBIDI_DATA;\n\n\ntypedef struct _BIDI_REQUEST_DATA{\n    DWORD     dwReqNumber;\n    LPWSTR    pSchema;\n    BIDI_DATA data;\n} BIDI_REQUEST_DATA , *PBIDI_REQUEST_DATA , *LPBIDI_REQUEST_DATA;\n\n\ntypedef struct _BIDI_REQUEST_CONTAINER{\n    DWORD Version;\n    DWORD Flags;\n    DWORD Count;\n    BIDI_REQUEST_DATA aData[ 1 ];\n}BIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER;\n\ntypedef struct _BIDI_RESPONSE_DATA{\n    DWORD  dwResult;\n    DWORD  dwReqNumber;\n    LPWSTR pSchema;\n    BIDI_DATA data;\n} BIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA;\n\ntypedef struct _BIDI_RESPONSE_CONTAINER{\n    DWORD Version;\n    DWORD Flags;\n    DWORD Count;\n    BIDI_RESPONSE_DATA aData[ 1 ];\n} BIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER;\n\n#define BIDI_ACTION_ENUM_SCHEMA                 L\"EnumSchema\"\n#define BIDI_ACTION_GET                         L\"Get\"\n#define BIDI_ACTION_SET                         L\"Set\"\n#define BIDI_ACTION_GET_ALL                     L\"GetAll\"\n\ntypedef enum {\n    BIDI_NULL   = 0,\n    BIDI_INT    = 1,\n    BIDI_FLOAT  = 2,\n    BIDI_BOOL   = 3,\n    BIDI_STRING = 4,\n    BIDI_TEXT   = 5,\n    BIDI_ENUM   = 6,\n    BIDI_BLOB   = 7\n} BIDI_TYPE;\n\n#define BIDI_ACCESS_ADMINISTRATOR  0x1\n#define BIDI_ACCESS_USER           0x2\n\n\n\n/*\n    Error code for bidi apis\n*/\n\n#define ERROR_BIDI_STATUS_OK                0\n#define ERROR_BIDI_NOT_SUPPORTED            ERROR_NOT_SUPPORTED\n\n#define ERROR_BIDI_ERROR_BASE 13000\n#define ERROR_BIDI_STATUS_WARNING           (ERROR_BIDI_ERROR_BASE + 1)\n#define ERROR_BIDI_SCHEMA_READ_ONLY         (ERROR_BIDI_ERROR_BASE + 2)\n#define ERROR_BIDI_SERVER_OFFLINE           (ERROR_BIDI_ERROR_BASE + 3)\n#define ERROR_BIDI_DEVICE_OFFLINE           (ERROR_BIDI_ERROR_BASE + 4)\n#define ERROR_BIDI_SCHEMA_NOT_SUPPORTED     (ERROR_BIDI_ERROR_BASE + 5)\n\n\nDWORD\nWINAPI\nWaitForPrinterChange(\n    IN HANDLE  hPrinter,\n    IN DWORD   Flags\n);\n\nHANDLE\nWINAPI\nFindFirstPrinterChangeNotification(\n    IN HANDLE  hPrinter,\n    IN DWORD   fdwFlags,\n    IN DWORD   fdwOptions,\n    IN LPVOID  pPrinterNotifyOptions\n);\n\n\nBOOL\nWINAPI\nFindNextPrinterChangeNotification(\n    IN HANDLE hChange,\n    OUT PDWORD pdwChange,\n    IN LPVOID pvReserved,\n    OUT LPVOID *ppPrinterNotifyInfo\n);\n\nBOOL\nWINAPI\nFreePrinterNotifyInfo(\n    IN PPRINTER_NOTIFY_INFO pPrinterNotifyInfo\n);\n\nBOOL\nWINAPI\nFindClosePrinterChangeNotification(\n    IN HANDLE hChange\n);\n\n#define PRINTER_CHANGE_ADD_PRINTER              0x00000001\n#define PRINTER_CHANGE_SET_PRINTER              0x00000002\n#define PRINTER_CHANGE_DELETE_PRINTER           0x00000004\n#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER    0x00000008\n#define PRINTER_CHANGE_PRINTER                  0x000000FF\n#define PRINTER_CHANGE_ADD_JOB                  0x00000100\n#define PRINTER_CHANGE_SET_JOB                  0x00000200\n#define PRINTER_CHANGE_DELETE_JOB               0x00000400\n#define PRINTER_CHANGE_WRITE_JOB                0x00000800\n#define PRINTER_CHANGE_JOB                      0x0000FF00\n#define PRINTER_CHANGE_ADD_FORM                 0x00010000\n#define PRINTER_CHANGE_SET_FORM                 0x00020000\n#define PRINTER_CHANGE_DELETE_FORM              0x00040000\n#define PRINTER_CHANGE_FORM                     0x00070000\n#define PRINTER_CHANGE_ADD_PORT                 0x00100000\n#define PRINTER_CHANGE_CONFIGURE_PORT           0x00200000\n#define PRINTER_CHANGE_DELETE_PORT              0x00400000\n#define PRINTER_CHANGE_PORT                     0x00700000\n#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR      0x01000000\n#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR   0x04000000\n#define PRINTER_CHANGE_PRINT_PROCESSOR          0x07000000\n#define PRINTER_CHANGE_ADD_PRINTER_DRIVER       0x10000000\n#define PRINTER_CHANGE_SET_PRINTER_DRIVER       0x20000000\n#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER    0x40000000\n#define PRINTER_CHANGE_PRINTER_DRIVER           0x70000000\n#define PRINTER_CHANGE_TIMEOUT                  0x80000000\n#define PRINTER_CHANGE_ALL                      0x7777FFFF\n\nDWORD\nWINAPI\nPrinterMessageBoxA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Error,\n    IN HWND    hWnd,\n    IN LPSTR   pText,\n    IN LPSTR   pCaption,\n    IN DWORD   dwType\n);\nDWORD\nWINAPI\nPrinterMessageBoxW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Error,\n    IN HWND    hWnd,\n    IN LPWSTR   pText,\n    IN LPWSTR   pCaption,\n    IN DWORD   dwType\n);\n#ifdef UNICODE\n#define PrinterMessageBox  PrinterMessageBoxW\n#else\n#define PrinterMessageBox  PrinterMessageBoxA\n#endif // !UNICODE\n\n\n\n#define PRINTER_ERROR_INFORMATION   0x80000000\n#define PRINTER_ERROR_WARNING       0x40000000\n#define PRINTER_ERROR_SEVERE        0x20000000\n\n#define PRINTER_ERROR_OUTOFPAPER    0x00000001\n#define PRINTER_ERROR_JAM           0x00000002\n#define PRINTER_ERROR_OUTOFTONER    0x00000004\n\nBOOL\nWINAPI\nClosePrinter(\n    IN HANDLE hPrinter\n);\n\nBOOL\nWINAPI\nAddFormA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pForm\n);\nBOOL\nWINAPI\nAddFormW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    IN LPBYTE  pForm\n);\n#ifdef UNICODE\n#define AddForm  AddFormW\n#else\n#define AddForm  AddFormA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nDeleteFormA(\n    IN HANDLE  hPrinter,\n    IN LPSTR   pFormName\n);\nBOOL\nWINAPI\nDeleteFormW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR   pFormName\n);\n#ifdef UNICODE\n#define DeleteForm  DeleteFormW\n#else\n#define DeleteForm  DeleteFormA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nGetFormA(\n    IN HANDLE  hPrinter,\n    IN LPSTR   pFormName,\n    IN DWORD   Level,\n    OUT LPBYTE  pForm,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\nBOOL\nWINAPI\nGetFormW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR   pFormName,\n    IN DWORD   Level,\n    OUT LPBYTE  pForm,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded\n);\n#ifdef UNICODE\n#define GetForm  GetFormW\n#else\n#define GetForm  GetFormA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nSetFormA(\n    IN HANDLE  hPrinter,\n    IN LPSTR   pFormName,\n    IN DWORD   Level,\n    IN LPBYTE  pForm\n);\nBOOL\nWINAPI\nSetFormW(\n    IN HANDLE  hPrinter,\n    IN LPWSTR   pFormName,\n    IN DWORD   Level,\n    IN LPBYTE  pForm\n);\n#ifdef UNICODE\n#define SetForm  SetFormW\n#else\n#define SetForm  SetFormA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nEnumFormsA(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pForm,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumFormsW(\n    IN HANDLE  hPrinter,\n    IN DWORD   Level,\n    OUT LPBYTE  pForm,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumForms  EnumFormsW\n#else\n#define EnumForms  EnumFormsA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nEnumMonitorsA(\n    IN LPSTR   pName,\n    IN DWORD   Level,\n    OUT LPBYTE  pMonitors,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumMonitorsW(\n    IN LPWSTR   pName,\n    IN DWORD   Level,\n    OUT LPBYTE  pMonitors,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumMonitors  EnumMonitorsW\n#else\n#define EnumMonitors  EnumMonitorsA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nAddMonitorA(\n    IN LPSTR   pName,\n    IN DWORD   Level,\n    IN LPBYTE  pMonitors\n);\nBOOL\nWINAPI\nAddMonitorW(\n    IN LPWSTR   pName,\n    IN DWORD   Level,\n    IN LPBYTE  pMonitors\n);\n#ifdef UNICODE\n#define AddMonitor  AddMonitorW\n#else\n#define AddMonitor  AddMonitorA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nDeleteMonitorA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN LPSTR   pMonitorName\n);\nBOOL\nWINAPI\nDeleteMonitorW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN LPWSTR   pMonitorName\n);\n#ifdef UNICODE\n#define DeleteMonitor  DeleteMonitorW\n#else\n#define DeleteMonitor  DeleteMonitorA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nEnumPortsA(\n    IN LPSTR   pName,\n    IN DWORD   Level,\n    OUT LPBYTE  pPorts,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\nBOOL\nWINAPI\nEnumPortsW(\n    IN LPWSTR   pName,\n    IN DWORD   Level,\n    OUT LPBYTE  pPorts,\n    IN DWORD   cbBuf,\n    OUT LPDWORD pcbNeeded,\n    OUT LPDWORD pcReturned\n);\n#ifdef UNICODE\n#define EnumPorts  EnumPortsW\n#else\n#define EnumPorts  EnumPortsA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nAddPortA(\n    IN LPSTR   pName,\n    IN HWND    hWnd,\n    IN LPSTR   pMonitorName\n);\nBOOL\nWINAPI\nAddPortW(\n    IN LPWSTR   pName,\n    IN HWND    hWnd,\n    IN LPWSTR   pMonitorName\n);\n#ifdef UNICODE\n#define AddPort  AddPortW\n#else\n#define AddPort  AddPortA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nConfigurePortA(\n    IN LPSTR   pName,\n    IN HWND    hWnd,\n    IN LPSTR   pPortName\n);\nBOOL\nWINAPI\nConfigurePortW(\n    IN LPWSTR   pName,\n    IN HWND    hWnd,\n    IN LPWSTR   pPortName\n);\n#ifdef UNICODE\n#define ConfigurePort  ConfigurePortW\n#else\n#define ConfigurePort  ConfigurePortA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePortA(\n    IN LPSTR pName,\n    IN HWND    hWnd,\n    IN LPSTR pPortName\n);\nBOOL\nWINAPI\nDeletePortW(\n    IN LPWSTR pName,\n    IN HWND    hWnd,\n    IN LPWSTR pPortName\n);\n#ifdef UNICODE\n#define DeletePort  DeletePortW\n#else\n#define DeletePort  DeletePortA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nXcvDataW(\n    IN HANDLE  hXcv,\n    IN PCWSTR  pszDataName,\n    IN PBYTE   pInputData,\n    IN DWORD   cbInputData,\n    OUT PBYTE   pOutputData,\n    IN DWORD   cbOutputData,\n    OUT PDWORD  pcbOutputNeeded,\n    OUT PDWORD  pdwStatus\n);\n#define XcvData  XcvDataW\n\nBOOL\nWINAPI\nGetDefaultPrinterA(\n    IN LPSTR   pszBuffer,\n    IN LPDWORD  pcchBuffer\n    );\nBOOL\nWINAPI\nGetDefaultPrinterW(\n    IN LPWSTR   pszBuffer,\n    IN LPDWORD  pcchBuffer\n    );\n#ifdef UNICODE\n#define GetDefaultPrinter  GetDefaultPrinterW\n#else\n#define GetDefaultPrinter  GetDefaultPrinterA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nSetDefaultPrinterA(\n    IN LPCSTR pszPrinter\n    );\nBOOL\nWINAPI\nSetDefaultPrinterW(\n    IN LPCWSTR pszPrinter\n    );\n#ifdef UNICODE\n#define SetDefaultPrinter  SetDefaultPrinterW\n#else\n#define SetDefaultPrinter  SetDefaultPrinterA\n#endif // !UNICODE\n\n\nBOOL\nWINAPI\nSetPortA(\n    IN LPSTR     pName,\n    IN LPSTR     pPortName,\n    IN DWORD       dwLevel,\n    IN LPBYTE      pPortInfo\n);\nBOOL\nWINAPI\nSetPortW(\n    IN LPWSTR     pName,\n    IN LPWSTR     pPortName,\n    IN DWORD       dwLevel,\n    IN LPBYTE      pPortInfo\n);\n#ifdef UNICODE\n#define SetPort  SetPortW\n#else\n#define SetPort  SetPortA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nAddPrinterConnectionA(\n    IN LPSTR   pName\n);\nBOOL\nWINAPI\nAddPrinterConnectionW(\n    IN LPWSTR   pName\n);\n#ifdef UNICODE\n#define AddPrinterConnection  AddPrinterConnectionW\n#else\n#define AddPrinterConnection  AddPrinterConnectionA\n#endif // !UNICODE\n\n\n\nBOOL\nWINAPI\nDeletePrinterConnectionA(\n    IN LPSTR   pName\n);\nBOOL\nWINAPI\nDeletePrinterConnectionW(\n    IN LPWSTR   pName\n);\n#ifdef UNICODE\n#define DeletePrinterConnection  DeletePrinterConnectionW\n#else\n#define DeletePrinterConnection  DeletePrinterConnectionA\n#endif // !UNICODE\n\n\n\nHANDLE\nWINAPI\nConnectToPrinterDlg(\n    IN HWND    hwnd,\n    IN DWORD   Flags\n);\n\ntypedef struct _PROVIDOR_INFO_1A{\n    LPSTR     pName;\n    LPSTR     pEnvironment;\n    LPSTR     pDLLName;\n} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;\ntypedef struct _PROVIDOR_INFO_1W{\n    LPWSTR    pName;\n    LPWSTR    pEnvironment;\n    LPWSTR    pDLLName;\n} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;\n#ifdef UNICODE\ntypedef PROVIDOR_INFO_1W PROVIDOR_INFO_1;\ntypedef PPROVIDOR_INFO_1W PPROVIDOR_INFO_1;\ntypedef LPPROVIDOR_INFO_1W LPPROVIDOR_INFO_1;\n#else\ntypedef PROVIDOR_INFO_1A PROVIDOR_INFO_1;\ntypedef PPROVIDOR_INFO_1A PPROVIDOR_INFO_1;\ntypedef LPPROVIDOR_INFO_1A LPPROVIDOR_INFO_1;\n#endif // UNICODE\n\ntypedef struct _PROVIDOR_INFO_2A{\n    LPSTR     pOrder;\n} PROVIDOR_INFO_2A, *PPROVIDOR_INFO_2A, *LPPROVIDOR_INFO_2A;\ntypedef struct _PROVIDOR_INFO_2W{\n    LPWSTR    pOrder;\n} PROVIDOR_INFO_2W, *PPROVIDOR_INFO_2W, *LPPROVIDOR_INFO_2W;\n#ifdef UNICODE\ntypedef PROVIDOR_INFO_2W PROVIDOR_INFO_2;\ntypedef PPROVIDOR_INFO_2W PPROVIDOR_INFO_2;\ntypedef LPPROVIDOR_INFO_2W LPPROVIDOR_INFO_2;\n#else\ntypedef PROVIDOR_INFO_2A PROVIDOR_INFO_2;\ntypedef PPROVIDOR_INFO_2A PPROVIDOR_INFO_2;\ntypedef LPPROVIDOR_INFO_2A LPPROVIDOR_INFO_2;\n#endif // UNICODE\n\nBOOL\nWINAPI\nAddPrintProvidorA(\n    IN LPSTR  pName,\n    IN DWORD    level,\n    IN LPBYTE   pProvidorInfo\n);\nBOOL\nWINAPI\nAddPrintProvidorW(\n    IN LPWSTR  pName,\n    IN DWORD    level,\n    IN LPBYTE   pProvidorInfo\n);\n#ifdef UNICODE\n#define AddPrintProvidor  AddPrintProvidorW\n#else\n#define AddPrintProvidor  AddPrintProvidorA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nDeletePrintProvidorA(\n    IN LPSTR   pName,\n    IN LPSTR   pEnvironment,\n    IN LPSTR   pPrintProvidorName\n);\nBOOL\nWINAPI\nDeletePrintProvidorW(\n    IN LPWSTR   pName,\n    IN LPWSTR   pEnvironment,\n    IN LPWSTR   pPrintProvidorName\n);\n#ifdef UNICODE\n#define DeletePrintProvidor  DeletePrintProvidorW\n#else\n#define DeletePrintProvidor  DeletePrintProvidorA\n#endif // !UNICODE\n\nBOOL\nWINAPI\nIsValidDevmodeA(\n    IN  PDEVMODEA   pDevmode,\n    IN  size_t      DevmodeSize\n    );\nBOOL\nWINAPI\nIsValidDevmodeW(\n    IN  PDEVMODEW   pDevmode,\n    IN  size_t      DevmodeSize\n    );\n#ifdef UNICODE\n#define IsValidDevmode  IsValidDevmodeW\n#else\n#define IsValidDevmode  IsValidDevmodeA\n#endif // !UNICODE\n\n\n/*\n * SetPrinterData and GetPrinterData Server Handle Key values\n */\n\n#define    SPLREG_DEFAULT_SPOOL_DIRECTORY             TEXT(\"DefaultSpoolDirectory\")\n#define    SPLREG_PORT_THREAD_PRIORITY_DEFAULT        TEXT(\"PortThreadPriorityDefault\")\n#define    SPLREG_PORT_THREAD_PRIORITY                TEXT(\"PortThreadPriority\")\n#define    SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT   TEXT(\"SchedulerThreadPriorityDefault\")\n#define    SPLREG_SCHEDULER_THREAD_PRIORITY           TEXT(\"SchedulerThreadPriority\")\n#define    SPLREG_BEEP_ENABLED                        TEXT(\"BeepEnabled\")\n#define    SPLREG_NET_POPUP                           TEXT(\"NetPopup\")\n#define    SPLREG_RETRY_POPUP                         TEXT(\"RetryPopup\")\n#define    SPLREG_NET_POPUP_TO_COMPUTER               TEXT(\"NetPopupToComputer\")\n#define    SPLREG_EVENT_LOG                           TEXT(\"EventLog\")\n#define    SPLREG_MAJOR_VERSION                       TEXT(\"MajorVersion\")\n#define    SPLREG_MINOR_VERSION                       TEXT(\"MinorVersion\")\n#define    SPLREG_ARCHITECTURE                        TEXT(\"Architecture\")\n#define    SPLREG_OS_VERSION                          TEXT(\"OSVersion\")\n#define    SPLREG_OS_VERSIONEX                        TEXT(\"OSVersionEx\")\n#define    SPLREG_DS_PRESENT                          TEXT(\"DsPresent\")\n#define    SPLREG_DS_PRESENT_FOR_USER                 TEXT(\"DsPresentForUser\")\n#define    SPLREG_REMOTE_FAX                          TEXT(\"RemoteFax\")\n#define    SPLREG_RESTART_JOB_ON_POOL_ERROR           TEXT(\"RestartJobOnPoolError\")\n#define    SPLREG_RESTART_JOB_ON_POOL_ENABLED         TEXT(\"RestartJobOnPoolEnabled\")\n#define    SPLREG_DNS_MACHINE_NAME                    TEXT(\"DNSMachineName\")\n#define    SPLREG_WEBSHAREMGMT                        TEXT(\"WebShareMgmt\")\n\n\n#define SERVER_ACCESS_ADMINISTER    0x00000001\n#define SERVER_ACCESS_ENUMERATE     0x00000002\n\n#define PRINTER_ACCESS_ADMINISTER   0x00000004\n#define PRINTER_ACCESS_USE          0x00000008\n\n#define JOB_ACCESS_ADMINISTER       0x00000010\n#define JOB_ACCESS_READ             0x00000020\n\n\n/*\n * Access rights for print servers\n */\n\n#define SERVER_ALL_ACCESS    (STANDARD_RIGHTS_REQUIRED      |\\\n                              SERVER_ACCESS_ADMINISTER      |\\\n                              SERVER_ACCESS_ENUMERATE)\n\n#define SERVER_READ          (STANDARD_RIGHTS_READ          |\\\n                              SERVER_ACCESS_ENUMERATE)\n\n#define SERVER_WRITE         (STANDARD_RIGHTS_WRITE         |\\\n                              SERVER_ACCESS_ADMINISTER      |\\\n                              SERVER_ACCESS_ENUMERATE)\n\n#define SERVER_EXECUTE       (STANDARD_RIGHTS_EXECUTE       |\\\n                              SERVER_ACCESS_ENUMERATE)\n\n/*\n * Access rights for printers\n */\n\n#define PRINTER_ALL_ACCESS    (STANDARD_RIGHTS_REQUIRED     |\\\n                               PRINTER_ACCESS_ADMINISTER    |\\\n                               PRINTER_ACCESS_USE)\n\n#define PRINTER_READ          (STANDARD_RIGHTS_READ         |\\\n                               PRINTER_ACCESS_USE)\n\n#define PRINTER_WRITE         (STANDARD_RIGHTS_WRITE        |\\\n                               PRINTER_ACCESS_USE)\n\n#define PRINTER_EXECUTE       (STANDARD_RIGHTS_EXECUTE      |\\\n                               PRINTER_ACCESS_USE)\n\n/*\n * Access rights for jobs\n */\n\n#define JOB_ALL_ACCESS         (STANDARD_RIGHTS_REQUIRED    |\\\n                                JOB_ACCESS_ADMINISTER       |\\\n                                JOB_ACCESS_READ)\n\n#define JOB_READ               (STANDARD_RIGHTS_READ        |\\\n                                JOB_ACCESS_READ)\n\n#define JOB_WRITE              (STANDARD_RIGHTS_WRITE       |\\\n                                JOB_ACCESS_ADMINISTER)\n\n#define JOB_EXECUTE            (STANDARD_RIGHTS_EXECUTE     |\\\n                                JOB_ACCESS_ADMINISTER)\n\n\n/*\n * DS Print-Queue property tables\n */\n\n\n// Predefined Registry Keys used by Set/GetPrinterDataEx\n#define SPLDS_SPOOLER_KEY                       TEXT(\"DsSpooler\")\n#define SPLDS_DRIVER_KEY                        TEXT(\"DsDriver\")\n#define SPLDS_USER_KEY                          TEXT(\"DsUser\")\n\n\n// DS Print-Queue properties\n\n#define SPLDS_ASSET_NUMBER                      TEXT(\"assetNumber\")\n#define SPLDS_BYTES_PER_MINUTE                  TEXT(\"bytesPerMinute\")\n#define SPLDS_DESCRIPTION                       TEXT(\"description\")\n#define SPLDS_DRIVER_NAME                       TEXT(\"driverName\")\n#define SPLDS_DRIVER_VERSION                    TEXT(\"driverVersion\")\n#define SPLDS_LOCATION                          TEXT(\"location\")\n#define SPLDS_PORT_NAME                         TEXT(\"portName\")\n#define SPLDS_PRINT_ATTRIBUTES                  TEXT(\"printAttributes\")\n#define SPLDS_PRINT_BIN_NAMES                   TEXT(\"printBinNames\")\n#define SPLDS_PRINT_COLLATE                     TEXT(\"printCollate\")\n#define SPLDS_PRINT_COLOR                       TEXT(\"printColor\")\n#define SPLDS_PRINT_DUPLEX_SUPPORTED            TEXT(\"printDuplexSupported\")\n#define SPLDS_PRINT_END_TIME                    TEXT(\"printEndTime\")\n#define SPLDS_PRINTER_CLASS                     TEXT(\"printQueue\")\n#define SPLDS_PRINTER_NAME                      TEXT(\"printerName\")\n#define SPLDS_PRINT_KEEP_PRINTED_JOBS           TEXT(\"printKeepPrintedJobs\")\n#define SPLDS_PRINT_LANGUAGE                    TEXT(\"printLanguage\")\n#define SPLDS_PRINT_MAC_ADDRESS                 TEXT(\"printMACAddress\")\n#define SPLDS_PRINT_MAX_X_EXTENT                TEXT(\"printMaxXExtent\")\n#define SPLDS_PRINT_MAX_Y_EXTENT                TEXT(\"printMaxYExtent\")\n#define SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED    TEXT(\"printMaxResolutionSupported\")\n#define SPLDS_PRINT_MEDIA_READY                 TEXT(\"printMediaReady\")\n#define SPLDS_PRINT_MEDIA_SUPPORTED             TEXT(\"printMediaSupported\")\n#define SPLDS_PRINT_MEMORY                      TEXT(\"printMemory\")\n#define SPLDS_PRINT_MIN_X_EXTENT                TEXT(\"printMinXExtent\")\n#define SPLDS_PRINT_MIN_Y_EXTENT                TEXT(\"printMinYExtent\")\n#define SPLDS_PRINT_NETWORK_ADDRESS             TEXT(\"printNetworkAddress\")\n#define SPLDS_PRINT_NOTIFY                      TEXT(\"printNotify\")\n#define SPLDS_PRINT_NUMBER_UP                   TEXT(\"printNumberUp\")\n#define SPLDS_PRINT_ORIENTATIONS_SUPPORTED      TEXT(\"printOrientationsSupported\")\n#define SPLDS_PRINT_OWNER                       TEXT(\"printOwner\")\n#define SPLDS_PRINT_PAGES_PER_MINUTE            TEXT(\"printPagesPerMinute\")\n#define SPLDS_PRINT_RATE                        TEXT(\"printRate\")\n#define SPLDS_PRINT_RATE_UNIT                   TEXT(\"printRateUnit\")\n#define SPLDS_PRINT_SEPARATOR_FILE              TEXT(\"printSeparatorFile\")\n#define SPLDS_PRINT_SHARE_NAME                  TEXT(\"printShareName\")\n#define SPLDS_PRINT_SPOOLING                    TEXT(\"printSpooling\")\n#define SPLDS_PRINT_STAPLING_SUPPORTED          TEXT(\"printStaplingSupported\")\n#define SPLDS_PRINT_START_TIME                  TEXT(\"printStartTime\")\n#define SPLDS_PRINT_STATUS                      TEXT(\"printStatus\")\n#define SPLDS_PRIORITY                          TEXT(\"priority\")\n#define SPLDS_SERVER_NAME                       TEXT(\"serverName\")\n#define SPLDS_SHORT_SERVER_NAME                 TEXT(\"shortServerName\")\n#define SPLDS_UNC_NAME                          TEXT(\"uNCName\")\n#define SPLDS_URL                               TEXT(\"url\")\n#define SPLDS_FLAGS                             TEXT(\"flags\")\n#define SPLDS_VERSION_NUMBER                    TEXT(\"versionNumber\")\n\n/*\n    -- Additional Print-Queue properties --\n\n    These properties are not defined in the default Directory Services Schema,\n    but should be used when extending the Schema so a consistent interface is maintained.\n\n*/\n\n#define SPLDS_PRINTER_NAME_ALIASES              TEXT(\"printerNameAliases\")      // MULTI_SZ\n#define SPLDS_PRINTER_LOCATIONS                 TEXT(\"printerLocations\")        // MULTI_SZ\n#define SPLDS_PRINTER_MODEL                     TEXT(\"printerModel\")            // SZ\n\n\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // _WINSPOOL_\n"
  },
  {
    "path": "Bin/i386/APILib/WinUser.h",
    "content": "/****************************************************************************\n*                                                                           *\n* winuser.h -- USER procedure declarations, constant definitions and macros *\n*                                                                           *\n* Copyright (c) Microsoft Corporation. All rights reserved.                          *\n*                                                                           *\n****************************************************************************/\n\n\n\n#ifndef _WINUSER_\n#define _WINUSER_\n\n\n\n//\n// Define API decoration for direct importing of DLL references.\n//\n\n#if !defined(_USER32_)\n#define WINUSERAPI DECLSPEC_IMPORT\n#else\n#define WINUSERAPI\n#endif\n\n#ifdef _MAC\n#include <macwin32.h>\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif /* __cplusplus */\n\n#ifndef WINVER\n#define WINVER  0x0500      /* version 5.0 */\n#endif /* !WINVER */\n\n#include <stdarg.h>\n\n#ifndef NOUSER\n\ntypedef HANDLE HDWP;\ntypedef VOID MENUTEMPLATEA;\ntypedef VOID MENUTEMPLATEW;\n#ifdef UNICODE\ntypedef MENUTEMPLATEW MENUTEMPLATE;\n#else\ntypedef MENUTEMPLATEA MENUTEMPLATE;\n#endif // UNICODE\ntypedef PVOID LPMENUTEMPLATEA;\ntypedef PVOID LPMENUTEMPLATEW;\n#ifdef UNICODE\ntypedef LPMENUTEMPLATEW LPMENUTEMPLATE;\n#else\ntypedef LPMENUTEMPLATEA LPMENUTEMPLATE;\n#endif // UNICODE\n\ntypedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);\n\n#ifdef STRICT\n\ntypedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);\ntypedef VOID (CALLBACK* TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);\ntypedef BOOL (CALLBACK* GRAYSTRINGPROC)(HDC, LPARAM, int);\ntypedef BOOL (CALLBACK* WNDENUMPROC)(HWND, LPARAM);\ntypedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);\ntypedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT);\n\ntypedef BOOL (CALLBACK* PROPENUMPROCA)(HWND, LPCSTR, HANDLE);\ntypedef BOOL (CALLBACK* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE);\n\ntypedef BOOL (CALLBACK* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, ULONG_PTR);\ntypedef BOOL (CALLBACK* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, ULONG_PTR);\n\ntypedef int (CALLBACK* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code);\ntypedef int (CALLBACK* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code);\n\n#if(WINVER >= 0x0400)\ntypedef BOOL (CALLBACK* DRAWSTATEPROC)(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy);\n#endif /* WINVER >= 0x0400 */\n#else /* !STRICT */\n\ntypedef FARPROC DLGPROC;\ntypedef FARPROC TIMERPROC;\ntypedef FARPROC GRAYSTRINGPROC;\ntypedef FARPROC WNDENUMPROC;\ntypedef FARPROC HOOKPROC;\ntypedef FARPROC SENDASYNCPROC;\n\ntypedef FARPROC EDITWORDBREAKPROCA;\ntypedef FARPROC EDITWORDBREAKPROCW;\n\ntypedef FARPROC PROPENUMPROCA;\ntypedef FARPROC PROPENUMPROCW;\n\ntypedef FARPROC PROPENUMPROCEXA;\ntypedef FARPROC PROPENUMPROCEXW;\n\n#if(WINVER >= 0x0400)\ntypedef FARPROC DRAWSTATEPROC;\n#endif /* WINVER >= 0x0400 */\n#endif /* !STRICT */\n\n#ifdef UNICODE\ntypedef PROPENUMPROCW        PROPENUMPROC;\ntypedef PROPENUMPROCEXW      PROPENUMPROCEX;\ntypedef EDITWORDBREAKPROCW   EDITWORDBREAKPROC;\n#else  /* !UNICODE */\ntypedef PROPENUMPROCA        PROPENUMPROC;\ntypedef PROPENUMPROCEXA      PROPENUMPROCEX;\ntypedef EDITWORDBREAKPROCA   EDITWORDBREAKPROC;\n#endif /* UNICODE */\n\n#ifdef STRICT\n\ntypedef BOOL (CALLBACK* NAMEENUMPROCA)(LPSTR, LPARAM);\ntypedef BOOL (CALLBACK* NAMEENUMPROCW)(LPWSTR, LPARAM);\n\ntypedef NAMEENUMPROCA   WINSTAENUMPROCA;\ntypedef NAMEENUMPROCA   DESKTOPENUMPROCA;\ntypedef NAMEENUMPROCW   WINSTAENUMPROCW;\ntypedef NAMEENUMPROCW   DESKTOPENUMPROCW;\n\n\n#else /* !STRICT */\n\ntypedef FARPROC NAMEENUMPROCA;\ntypedef FARPROC NAMEENUMPROCW;\ntypedef FARPROC WINSTAENUMPROCA;\ntypedef FARPROC DESKTOPENUMPROCA;\ntypedef FARPROC WINSTAENUMPROCW;\ntypedef FARPROC DESKTOPENUMPROCW;\n\n\n#endif /* !STRICT */\n\n#ifdef UNICODE\ntypedef WINSTAENUMPROCW     WINSTAENUMPROC;\ntypedef DESKTOPENUMPROCW    DESKTOPENUMPROC;\n\n\n#else  /* !UNICODE */\ntypedef WINSTAENUMPROCA     WINSTAENUMPROC;\ntypedef DESKTOPENUMPROCA    DESKTOPENUMPROC;\n\n#endif /* UNICODE */\n\n#define IS_INTRESOURCE(_r) (((ULONG_PTR)(_r) >> 16) == 0)\n#define MAKEINTRESOURCEA(i) (LPSTR)((ULONG_PTR)((WORD)(i)))\n#define MAKEINTRESOURCEW(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))\n#ifdef UNICODE\n#define MAKEINTRESOURCE  MAKEINTRESOURCEW\n#else\n#define MAKEINTRESOURCE  MAKEINTRESOURCEA\n#endif // !UNICODE\n\n#ifndef NORESOURCE\n\n/*\n * Predefined Resource Types\n */\n#define RT_CURSOR           MAKEINTRESOURCE(1)\n#define RT_BITMAP           MAKEINTRESOURCE(2)\n#define RT_ICON             MAKEINTRESOURCE(3)\n#define RT_MENU             MAKEINTRESOURCE(4)\n#define RT_DIALOG           MAKEINTRESOURCE(5)\n#define RT_STRING           MAKEINTRESOURCE(6)\n#define RT_FONTDIR          MAKEINTRESOURCE(7)\n#define RT_FONT             MAKEINTRESOURCE(8)\n#define RT_ACCELERATOR      MAKEINTRESOURCE(9)\n#define RT_RCDATA           MAKEINTRESOURCE(10)\n#define RT_MESSAGETABLE     MAKEINTRESOURCE(11)\n\n#define DIFFERENCE     11\n#define RT_GROUP_CURSOR MAKEINTRESOURCE((ULONG_PTR)RT_CURSOR + DIFFERENCE)\n#define RT_GROUP_ICON   MAKEINTRESOURCE((ULONG_PTR)RT_ICON + DIFFERENCE)\n#define RT_VERSION      MAKEINTRESOURCE(16)\n#define RT_DLGINCLUDE   MAKEINTRESOURCE(17)\n#if(WINVER >= 0x0400)\n#define RT_PLUGPLAY     MAKEINTRESOURCE(19)\n#define RT_VXD          MAKEINTRESOURCE(20)\n#define RT_ANICURSOR    MAKEINTRESOURCE(21)\n#define RT_ANIICON      MAKEINTRESOURCE(22)\n#endif /* WINVER >= 0x0400 */\n#define RT_HTML         MAKEINTRESOURCE(23)\n#ifdef RC_INVOKED\n#define RT_MANIFEST                        24\n#define CREATEPROCESS_MANIFEST_RESOURCE_ID  1\n#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2\n#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3\n#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID 1   /* inclusive */\n#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID 16  /* inclusive */\n#else  /* RC_INVOKED */\n#define RT_MANIFEST                        MAKEINTRESOURCE(24)\n#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE( 1)\n#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2)\n#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)\n#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE( 1 /*inclusive*/)\n#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16 /*inclusive*/)\n#endif /* RC_INVOKED */\n\n\n#endif /* !NORESOURCE */\n\nWINUSERAPI\nint\nWINAPI\nwvsprintfA(\n    OUT LPSTR,\n    IN LPCSTR,\n    IN va_list arglist);\nWINUSERAPI\nint\nWINAPI\nwvsprintfW(\n    OUT LPWSTR,\n    IN LPCWSTR,\n    IN va_list arglist);\n#ifdef UNICODE\n#define wvsprintf  wvsprintfW\n#else\n#define wvsprintf  wvsprintfA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPIV\nwsprintfA(\n    OUT LPSTR,\n    IN LPCSTR,\n    ...);\nWINUSERAPI\nint\nWINAPIV\nwsprintfW(\n    OUT LPWSTR,\n    IN LPCWSTR,\n    ...);\n#ifdef UNICODE\n#define wsprintf  wsprintfW\n#else\n#define wsprintf  wsprintfA\n#endif // !UNICODE\n\n\n/*\n * SPI_SETDESKWALLPAPER defined constants\n */\n#define SETWALLPAPER_DEFAULT    ((LPWSTR)-1)\n\n#ifndef NOSCROLL\n\n/*\n * Scroll Bar Constants\n */\n#define SB_HORZ             0\n#define SB_VERT             1\n#define SB_CTL              2\n#define SB_BOTH             3\n\n/*\n * Scroll Bar Commands\n */\n#define SB_LINEUP           0\n#define SB_LINELEFT         0\n#define SB_LINEDOWN         1\n#define SB_LINERIGHT        1\n#define SB_PAGEUP           2\n#define SB_PAGELEFT         2\n#define SB_PAGEDOWN         3\n#define SB_PAGERIGHT        3\n#define SB_THUMBPOSITION    4\n#define SB_THUMBTRACK       5\n#define SB_TOP              6\n#define SB_LEFT             6\n#define SB_BOTTOM           7\n#define SB_RIGHT            7\n#define SB_ENDSCROLL        8\n\n#endif /* !NOSCROLL */\n\n#ifndef NOSHOWWINDOW\n\n\n/*\n * ShowWindow() Commands\n */\n#define SW_HIDE             0\n#define SW_SHOWNORMAL       1\n#define SW_NORMAL           1\n#define SW_SHOWMINIMIZED    2\n#define SW_SHOWMAXIMIZED    3\n#define SW_MAXIMIZE         3\n#define SW_SHOWNOACTIVATE   4\n#define SW_SHOW             5\n#define SW_MINIMIZE         6\n#define SW_SHOWMINNOACTIVE  7\n#define SW_SHOWNA           8\n#define SW_RESTORE          9\n#define SW_SHOWDEFAULT      10\n#define SW_FORCEMINIMIZE    11\n#define SW_MAX              11\n\n/*\n * Old ShowWindow() Commands\n */\n#define HIDE_WINDOW         0\n#define SHOW_OPENWINDOW     1\n#define SHOW_ICONWINDOW     2\n#define SHOW_FULLSCREEN     3\n#define SHOW_OPENNOACTIVATE 4\n\n/*\n * Identifiers for the WM_SHOWWINDOW message\n */\n#define SW_PARENTCLOSING    1\n#define SW_OTHERZOOM        2\n#define SW_PARENTOPENING    3\n#define SW_OTHERUNZOOM      4\n\n\n#endif /* !NOSHOWWINDOW */\n\n#if(WINVER >= 0x0500)\n/*\n * AnimateWindow() Commands\n */\n#define AW_HOR_POSITIVE             0x00000001\n#define AW_HOR_NEGATIVE             0x00000002\n#define AW_VER_POSITIVE             0x00000004\n#define AW_VER_NEGATIVE             0x00000008\n#define AW_CENTER                   0x00000010\n#define AW_HIDE                     0x00010000\n#define AW_ACTIVATE                 0x00020000\n#define AW_SLIDE                    0x00040000\n#define AW_BLEND                    0x00080000\n\n#endif /* WINVER >= 0x0500 */\n\n\n/*\n * WM_KEYUP/DOWN/CHAR HIWORD(lParam) flags\n */\n#define KF_EXTENDED       0x0100\n#define KF_DLGMODE        0x0800\n#define KF_MENUMODE       0x1000\n#define KF_ALTDOWN        0x2000\n#define KF_REPEAT         0x4000\n#define KF_UP             0x8000\n\n#ifndef NOVIRTUALKEYCODES\n\n\n/*\n * Virtual Keys, Standard Set\n */\n#define VK_LBUTTON        0x01\n#define VK_RBUTTON        0x02\n#define VK_CANCEL         0x03\n#define VK_MBUTTON        0x04    /* NOT contiguous with L & RBUTTON */\n\n#if(_WIN32_WINNT >= 0x0500)\n#define VK_XBUTTON1       0x05    /* NOT contiguous with L & RBUTTON */\n#define VK_XBUTTON2       0x06    /* NOT contiguous with L & RBUTTON */\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n/*\n * 0x07 : unassigned\n */\n\n#define VK_BACK           0x08\n#define VK_TAB            0x09\n\n/*\n * 0x0A - 0x0B : reserved\n */\n\n#define VK_CLEAR          0x0C\n#define VK_RETURN         0x0D\n\n#define VK_SHIFT          0x10\n#define VK_CONTROL        0x11\n#define VK_MENU           0x12\n#define VK_PAUSE          0x13\n#define VK_CAPITAL        0x14\n\n#define VK_KANA           0x15\n#define VK_HANGEUL        0x15  /* old name - should be here for compatibility */\n#define VK_HANGUL         0x15\n#define VK_JUNJA          0x17\n#define VK_FINAL          0x18\n#define VK_HANJA          0x19\n#define VK_KANJI          0x19\n\n#define VK_ESCAPE         0x1B\n\n#define VK_CONVERT        0x1C\n#define VK_NONCONVERT     0x1D\n#define VK_ACCEPT         0x1E\n#define VK_MODECHANGE     0x1F\n\n#define VK_SPACE          0x20\n#define VK_PRIOR          0x21\n#define VK_NEXT           0x22\n#define VK_END            0x23\n#define VK_HOME           0x24\n#define VK_LEFT           0x25\n#define VK_UP             0x26\n#define VK_RIGHT          0x27\n#define VK_DOWN           0x28\n#define VK_SELECT         0x29\n#define VK_PRINT          0x2A\n#define VK_EXECUTE        0x2B\n#define VK_SNAPSHOT       0x2C\n#define VK_INSERT         0x2D\n#define VK_DELETE         0x2E\n#define VK_HELP           0x2F\n\n/*\n * VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)\n * 0x40 : unassigned\n * VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)\n */\n\n#define VK_LWIN           0x5B\n#define VK_RWIN           0x5C\n#define VK_APPS           0x5D\n\n/*\n * 0x5E : reserved\n */\n\n#define VK_SLEEP          0x5F\n\n#define VK_NUMPAD0        0x60\n#define VK_NUMPAD1        0x61\n#define VK_NUMPAD2        0x62\n#define VK_NUMPAD3        0x63\n#define VK_NUMPAD4        0x64\n#define VK_NUMPAD5        0x65\n#define VK_NUMPAD6        0x66\n#define VK_NUMPAD7        0x67\n#define VK_NUMPAD8        0x68\n#define VK_NUMPAD9        0x69\n#define VK_MULTIPLY       0x6A\n#define VK_ADD            0x6B\n#define VK_SEPARATOR      0x6C\n#define VK_SUBTRACT       0x6D\n#define VK_DECIMAL        0x6E\n#define VK_DIVIDE         0x6F\n#define VK_F1             0x70\n#define VK_F2             0x71\n#define VK_F3             0x72\n#define VK_F4             0x73\n#define VK_F5             0x74\n#define VK_F6             0x75\n#define VK_F7             0x76\n#define VK_F8             0x77\n#define VK_F9             0x78\n#define VK_F10            0x79\n#define VK_F11            0x7A\n#define VK_F12            0x7B\n#define VK_F13            0x7C\n#define VK_F14            0x7D\n#define VK_F15            0x7E\n#define VK_F16            0x7F\n#define VK_F17            0x80\n#define VK_F18            0x81\n#define VK_F19            0x82\n#define VK_F20            0x83\n#define VK_F21            0x84\n#define VK_F22            0x85\n#define VK_F23            0x86\n#define VK_F24            0x87\n\n/*\n * 0x88 - 0x8F : unassigned\n */\n\n#define VK_NUMLOCK        0x90\n#define VK_SCROLL         0x91\n\n/*\n * NEC PC-9800 kbd definitions\n */\n#define VK_OEM_NEC_EQUAL  0x92   // '=' key on numpad\n\n/*\n * Fujitsu/OASYS kbd definitions\n */\n#define VK_OEM_FJ_JISHO   0x92   // 'Dictionary' key\n#define VK_OEM_FJ_MASSHOU 0x93   // 'Unregister word' key\n#define VK_OEM_FJ_TOUROKU 0x94   // 'Register word' key\n#define VK_OEM_FJ_LOYA    0x95   // 'Left OYAYUBI' key\n#define VK_OEM_FJ_ROYA    0x96   // 'Right OYAYUBI' key\n\n/*\n * 0x97 - 0x9F : unassigned\n */\n\n/*\n * VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.\n * Used only as parameters to GetAsyncKeyState() and GetKeyState().\n * No other API or message will distinguish left and right keys in this way.\n */\n#define VK_LSHIFT         0xA0\n#define VK_RSHIFT         0xA1\n#define VK_LCONTROL       0xA2\n#define VK_RCONTROL       0xA3\n#define VK_LMENU          0xA4\n#define VK_RMENU          0xA5\n\n#if(_WIN32_WINNT >= 0x0500)\n#define VK_BROWSER_BACK        0xA6\n#define VK_BROWSER_FORWARD     0xA7\n#define VK_BROWSER_REFRESH     0xA8\n#define VK_BROWSER_STOP        0xA9\n#define VK_BROWSER_SEARCH      0xAA\n#define VK_BROWSER_FAVORITES   0xAB\n#define VK_BROWSER_HOME        0xAC\n\n#define VK_VOLUME_MUTE         0xAD\n#define VK_VOLUME_DOWN         0xAE\n#define VK_VOLUME_UP           0xAF\n#define VK_MEDIA_NEXT_TRACK    0xB0\n#define VK_MEDIA_PREV_TRACK    0xB1\n#define VK_MEDIA_STOP          0xB2\n#define VK_MEDIA_PLAY_PAUSE    0xB3\n#define VK_LAUNCH_MAIL         0xB4\n#define VK_LAUNCH_MEDIA_SELECT 0xB5\n#define VK_LAUNCH_APP1         0xB6\n#define VK_LAUNCH_APP2         0xB7\n\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n/*\n * 0xB8 - 0xB9 : reserved\n */\n\n#define VK_OEM_1          0xBA   // ';:' for US\n#define VK_OEM_PLUS       0xBB   // '+' any country\n#define VK_OEM_COMMA      0xBC   // ',' any country\n#define VK_OEM_MINUS      0xBD   // '-' any country\n#define VK_OEM_PERIOD     0xBE   // '.' any country\n#define VK_OEM_2          0xBF   // '/?' for US\n#define VK_OEM_3          0xC0   // '`~' for US\n\n/*\n * 0xC1 - 0xD7 : reserved\n */\n\n/*\n * 0xD8 - 0xDA : unassigned\n */\n\n#define VK_OEM_4          0xDB  //  '[{' for US\n#define VK_OEM_5          0xDC  //  '\\|' for US\n#define VK_OEM_6          0xDD  //  ']}' for US\n#define VK_OEM_7          0xDE  //  ''\"' for US\n#define VK_OEM_8          0xDF\n\n/*\n * 0xE0 : reserved\n */\n\n/*\n * Various extended or enhanced keyboards\n */\n#define VK_OEM_AX         0xE1  //  'AX' key on Japanese AX kbd\n#define VK_OEM_102        0xE2  //  \"<>\" or \"\\|\" on RT 102-key kbd.\n#define VK_ICO_HELP       0xE3  //  Help key on ICO\n#define VK_ICO_00         0xE4  //  00 key on ICO\n\n#if(WINVER >= 0x0400)\n#define VK_PROCESSKEY     0xE5\n#endif /* WINVER >= 0x0400 */\n\n#define VK_ICO_CLEAR      0xE6\n\n\n#if(_WIN32_WINNT >= 0x0500)\n#define VK_PACKET         0xE7\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n/*\n * 0xE8 : unassigned\n */\n\n/*\n * Nokia/Ericsson definitions\n */\n#define VK_OEM_RESET      0xE9\n#define VK_OEM_JUMP       0xEA\n#define VK_OEM_PA1        0xEB\n#define VK_OEM_PA2        0xEC\n#define VK_OEM_PA3        0xED\n#define VK_OEM_WSCTRL     0xEE\n#define VK_OEM_CUSEL      0xEF\n#define VK_OEM_ATTN       0xF0\n#define VK_OEM_FINISH     0xF1\n#define VK_OEM_COPY       0xF2\n#define VK_OEM_AUTO       0xF3\n#define VK_OEM_ENLW       0xF4\n#define VK_OEM_BACKTAB    0xF5\n\n#define VK_ATTN           0xF6\n#define VK_CRSEL          0xF7\n#define VK_EXSEL          0xF8\n#define VK_EREOF          0xF9\n#define VK_PLAY           0xFA\n#define VK_ZOOM           0xFB\n#define VK_NONAME         0xFC\n#define VK_PA1            0xFD\n#define VK_OEM_CLEAR      0xFE\n\n/*\n * 0xFF : reserved\n */\n\n\n#endif /* !NOVIRTUALKEYCODES */\n\n#ifndef NOWH\n\n/*\n * SetWindowsHook() codes\n */\n#define WH_MIN              (-1)\n#define WH_MSGFILTER        (-1)\n#define WH_JOURNALRECORD    0\n#define WH_JOURNALPLAYBACK  1\n#define WH_KEYBOARD         2\n#define WH_GETMESSAGE       3\n#define WH_CALLWNDPROC      4\n#define WH_CBT              5\n#define WH_SYSMSGFILTER     6\n#define WH_MOUSE            7\n#if defined(_WIN32_WINDOWS)\n#define WH_HARDWARE         8\n#endif\n#define WH_DEBUG            9\n#define WH_SHELL           10\n#define WH_FOREGROUNDIDLE  11\n#if(WINVER >= 0x0400)\n#define WH_CALLWNDPROCRET  12\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0400)\n#define WH_KEYBOARD_LL     13\n#define WH_MOUSE_LL        14\n#endif // (_WIN32_WINNT >= 0x0400)\n\n#if(WINVER >= 0x0400)\n#if (_WIN32_WINNT >= 0x0400)\n#define WH_MAX             14\n#else\n#define WH_MAX             12\n#endif // (_WIN32_WINNT >= 0x0400)\n#else\n#define WH_MAX             11\n#endif\n\n#define WH_MINHOOK         WH_MIN\n#define WH_MAXHOOK         WH_MAX\n\n/*\n * Hook Codes\n */\n#define HC_ACTION           0\n#define HC_GETNEXT          1\n#define HC_SKIP             2\n#define HC_NOREMOVE         3\n#define HC_NOREM            HC_NOREMOVE\n#define HC_SYSMODALON       4\n#define HC_SYSMODALOFF      5\n\n/*\n * CBT Hook Codes\n */\n#define HCBT_MOVESIZE       0\n#define HCBT_MINMAX         1\n#define HCBT_QS             2\n#define HCBT_CREATEWND      3\n#define HCBT_DESTROYWND     4\n#define HCBT_ACTIVATE       5\n#define HCBT_CLICKSKIPPED   6\n#define HCBT_KEYSKIPPED     7\n#define HCBT_SYSCOMMAND     8\n#define HCBT_SETFOCUS       9\n\n/*\n * HCBT_CREATEWND parameters pointed to by lParam\n */\ntypedef struct tagCBT_CREATEWNDA\n{\n    struct tagCREATESTRUCTA *lpcs;\n    HWND           hwndInsertAfter;\n} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;\n/*\n * HCBT_CREATEWND parameters pointed to by lParam\n */\ntypedef struct tagCBT_CREATEWNDW\n{\n    struct tagCREATESTRUCTW *lpcs;\n    HWND           hwndInsertAfter;\n} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;\n#ifdef UNICODE\ntypedef CBT_CREATEWNDW CBT_CREATEWND;\ntypedef LPCBT_CREATEWNDW LPCBT_CREATEWND;\n#else\ntypedef CBT_CREATEWNDA CBT_CREATEWND;\ntypedef LPCBT_CREATEWNDA LPCBT_CREATEWND;\n#endif // UNICODE\n\n/*\n * HCBT_ACTIVATE structure pointed to by lParam\n */\ntypedef struct tagCBTACTIVATESTRUCT\n{\n    BOOL    fMouse;\n    HWND    hWndActive;\n} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;\n\n#if(_WIN32_WINNT >= 0x0501)\n/*\n * WTSSESSION_NOTIFICATION struct pointed by lParam, for WM_WTSSESSION_CHANGE\n */\ntypedef struct tagWTSSESSION_NOTIFICATION\n{\n    DWORD cbSize;\n    DWORD dwSessionId;\n\n} WTSSESSION_NOTIFICATION, *PWTSSESSION_NOTIFICATION;\n\n/*\n * codes passed in WPARAM for WM_WTSSESSION_CHANGE\n */\n\n#define WTS_CONSOLE_CONNECT                0x1\n#define WTS_CONSOLE_DISCONNECT             0x2\n#define WTS_REMOTE_CONNECT                 0x3\n#define WTS_REMOTE_DISCONNECT              0x4\n#define WTS_SESSION_LOGON                  0x5\n#define WTS_SESSION_LOGOFF                 0x6\n#define WTS_SESSION_LOCK                   0x7\n#define WTS_SESSION_UNLOCK                 0x8\n#define WTS_SESSION_REMOTE_CONTROL         0x9\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n/*\n * WH_MSGFILTER Filter Proc Codes\n */\n#define MSGF_DIALOGBOX      0\n#define MSGF_MESSAGEBOX     1\n#define MSGF_MENU           2\n#define MSGF_SCROLLBAR      5\n#define MSGF_NEXTWINDOW     6\n#define MSGF_MAX            8                       // unused\n#define MSGF_USER           4096\n\n/*\n * Shell support\n */\n#define HSHELL_WINDOWCREATED        1\n#define HSHELL_WINDOWDESTROYED      2\n#define HSHELL_ACTIVATESHELLWINDOW  3\n\n#if(WINVER >= 0x0400)\n#define HSHELL_WINDOWACTIVATED      4\n#define HSHELL_GETMINRECT           5\n#define HSHELL_REDRAW               6\n#define HSHELL_TASKMAN              7\n#define HSHELL_LANGUAGE             8\n#define HSHELL_SYSMENU              9\n#define HSHELL_ENDTASK              10\n#endif /* WINVER >= 0x0400 */\n#if(_WIN32_WINNT >= 0x0500)\n#define HSHELL_ACCESSIBILITYSTATE   11\n#define HSHELL_APPCOMMAND           12\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define HSHELL_WINDOWREPLACED       13\n#define HSHELL_WINDOWREPLACING      14\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define HSHELL_HIGHBIT            0x8000\n#define HSHELL_FLASH              (HSHELL_REDRAW|HSHELL_HIGHBIT)\n#define HSHELL_RUDEAPPACTIVATED   (HSHELL_WINDOWACTIVATED|HSHELL_HIGHBIT)\n\n#if(_WIN32_WINNT >= 0x0500)\n/* wparam for HSHELL_ACCESSIBILITYSTATE */\n#define    ACCESS_STICKYKEYS            0x0001\n#define    ACCESS_FILTERKEYS            0x0002\n#define    ACCESS_MOUSEKEYS             0x0003\n\n/* cmd for HSHELL_APPCOMMAND and WM_APPCOMMAND */\n#define APPCOMMAND_BROWSER_BACKWARD       1\n#define APPCOMMAND_BROWSER_FORWARD        2\n#define APPCOMMAND_BROWSER_REFRESH        3\n#define APPCOMMAND_BROWSER_STOP           4\n#define APPCOMMAND_BROWSER_SEARCH         5\n#define APPCOMMAND_BROWSER_FAVORITES      6\n#define APPCOMMAND_BROWSER_HOME           7\n#define APPCOMMAND_VOLUME_MUTE            8\n#define APPCOMMAND_VOLUME_DOWN            9\n#define APPCOMMAND_VOLUME_UP              10\n#define APPCOMMAND_MEDIA_NEXTTRACK        11\n#define APPCOMMAND_MEDIA_PREVIOUSTRACK    12\n#define APPCOMMAND_MEDIA_STOP             13\n#define APPCOMMAND_MEDIA_PLAY_PAUSE       14\n#define APPCOMMAND_LAUNCH_MAIL            15\n#define APPCOMMAND_LAUNCH_MEDIA_SELECT    16\n#define APPCOMMAND_LAUNCH_APP1            17\n#define APPCOMMAND_LAUNCH_APP2            18\n#define APPCOMMAND_BASS_DOWN              19\n#define APPCOMMAND_BASS_BOOST             20\n#define APPCOMMAND_BASS_UP                21\n#define APPCOMMAND_TREBLE_DOWN            22\n#define APPCOMMAND_TREBLE_UP              23\n#if(_WIN32_WINNT >= 0x0501)\n#define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24\n#define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25\n#define APPCOMMAND_MICROPHONE_VOLUME_UP   26\n#define APPCOMMAND_HELP                   27\n#define APPCOMMAND_FIND                   28\n#define APPCOMMAND_NEW                    29\n#define APPCOMMAND_OPEN                   30\n#define APPCOMMAND_CLOSE                  31\n#define APPCOMMAND_SAVE                   32\n#define APPCOMMAND_PRINT                  33\n#define APPCOMMAND_UNDO                   34\n#define APPCOMMAND_REDO                   35\n#define APPCOMMAND_COPY                   36\n#define APPCOMMAND_CUT                    37\n#define APPCOMMAND_PASTE                  38\n#define APPCOMMAND_REPLY_TO_MAIL          39\n#define APPCOMMAND_FORWARD_MAIL           40\n#define APPCOMMAND_SEND_MAIL              41\n#define APPCOMMAND_SPELL_CHECK            42\n#define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE    43\n#define APPCOMMAND_MIC_ON_OFF_TOGGLE      44\n#define APPCOMMAND_CORRECTION_LIST        45\n#define APPCOMMAND_MEDIA_PLAY             46\n#define APPCOMMAND_MEDIA_PAUSE            47\n#define APPCOMMAND_MEDIA_RECORD           48\n#define APPCOMMAND_MEDIA_FAST_FORWARD     49\n#define APPCOMMAND_MEDIA_REWIND           50\n#define APPCOMMAND_MEDIA_CHANNEL_UP       51\n#define APPCOMMAND_MEDIA_CHANNEL_DOWN     52\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define FAPPCOMMAND_MOUSE 0x8000\n#define FAPPCOMMAND_KEY   0\n#define FAPPCOMMAND_OEM   0x1000\n#define FAPPCOMMAND_MASK  0xF000\n\n#define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK))\n#define GET_DEVICE_LPARAM(lParam)     ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK))\n#define GET_MOUSEORKEY_LPARAM         GET_DEVICE_LPARAM\n#define GET_FLAGS_LPARAM(lParam)      (LOWORD(lParam))\n#define GET_KEYSTATE_LPARAM(lParam)   GET_FLAGS_LPARAM(lParam)\n#endif /* _WIN32_WINNT >= 0x0500 */\n\ntypedef struct\n{\n    HWND    hwnd;\n    RECT    rc;\n} SHELLHOOKINFO, *LPSHELLHOOKINFO;\n\n/*\n * Message Structure used in Journaling\n */\ntypedef struct tagEVENTMSG {\n    UINT    message;\n    UINT    paramL;\n    UINT    paramH;\n    DWORD    time;\n    HWND     hwnd;\n} EVENTMSG, *PEVENTMSGMSG, NEAR *NPEVENTMSGMSG, FAR *LPEVENTMSGMSG;\n\ntypedef struct tagEVENTMSG *PEVENTMSG, NEAR *NPEVENTMSG, FAR *LPEVENTMSG;\n\n/*\n * Message structure used by WH_CALLWNDPROC\n */\ntypedef struct tagCWPSTRUCT {\n    LPARAM  lParam;\n    WPARAM  wParam;\n    UINT    message;\n    HWND    hwnd;\n} CWPSTRUCT, *PCWPSTRUCT, NEAR *NPCWPSTRUCT, FAR *LPCWPSTRUCT;\n\n#if(WINVER >= 0x0400)\n/*\n * Message structure used by WH_CALLWNDPROCRET\n */\ntypedef struct tagCWPRETSTRUCT {\n    LRESULT lResult;\n    LPARAM  lParam;\n    WPARAM  wParam;\n    UINT    message;\n    HWND    hwnd;\n} CWPRETSTRUCT, *PCWPRETSTRUCT, NEAR *NPCWPRETSTRUCT, FAR *LPCWPRETSTRUCT;\n\n#endif /* WINVER >= 0x0400 */\n\n#if (_WIN32_WINNT >= 0x0400)\n\n/*\n * Low level hook flags\n */\n\n#define LLKHF_EXTENDED       (KF_EXTENDED >> 8)\n#define LLKHF_INJECTED       0x00000010\n#define LLKHF_ALTDOWN        (KF_ALTDOWN >> 8)\n#define LLKHF_UP             (KF_UP >> 8)\n\n#define LLMHF_INJECTED       0x00000001\n\n/*\n * Structure used by WH_KEYBOARD_LL\n */\ntypedef struct tagKBDLLHOOKSTRUCT {\n    DWORD   vkCode;\n    DWORD   scanCode;\n    DWORD   flags;\n    DWORD   time;\n    ULONG_PTR dwExtraInfo;\n} KBDLLHOOKSTRUCT, FAR *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;\n\n/*\n * Structure used by WH_MOUSE_LL\n */\ntypedef struct tagMSLLHOOKSTRUCT {\n    POINT   pt;\n    DWORD   mouseData;\n    DWORD   flags;\n    DWORD   time;\n    ULONG_PTR dwExtraInfo;\n} MSLLHOOKSTRUCT, FAR *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;\n\n#endif // (_WIN32_WINNT >= 0x0400)\n\n/*\n * Structure used by WH_DEBUG\n */\ntypedef struct tagDEBUGHOOKINFO\n{\n    DWORD   idThread;\n    DWORD   idThreadInstaller;\n    LPARAM  lParam;\n    WPARAM  wParam;\n    int     code;\n} DEBUGHOOKINFO, *PDEBUGHOOKINFO, NEAR *NPDEBUGHOOKINFO, FAR* LPDEBUGHOOKINFO;\n\n/*\n * Structure used by WH_MOUSE\n */\ntypedef struct tagMOUSEHOOKSTRUCT {\n    POINT   pt;\n    HWND    hwnd;\n    UINT    wHitTestCode;\n    ULONG_PTR dwExtraInfo;\n} MOUSEHOOKSTRUCT, FAR *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;\n\n#if(_WIN32_WINNT >= 0x0500)\n#ifdef __cplusplus\ntypedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT\n{\n    DWORD   mouseData;\n} MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;\n#else // ndef __cplusplus\ntypedef struct tagMOUSEHOOKSTRUCTEX\n{\n    MOUSEHOOKSTRUCT;\n    DWORD   mouseData;\n} MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;\n#endif\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(WINVER >= 0x0400)\n/*\n * Structure used by WH_HARDWARE\n */\ntypedef struct tagHARDWAREHOOKSTRUCT {\n    HWND    hwnd;\n    UINT    message;\n    WPARAM  wParam;\n    LPARAM  lParam;\n} HARDWAREHOOKSTRUCT, FAR *LPHARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT;\n#endif /* WINVER >= 0x0400 */\n#endif /* !NOWH */\n\n/*\n * Keyboard Layout API\n */\n#define HKL_PREV            0\n#define HKL_NEXT            1\n\n\n#define KLF_ACTIVATE        0x00000001\n#define KLF_SUBSTITUTE_OK   0x00000002\n#define KLF_REORDER         0x00000008\n#if(WINVER >= 0x0400)\n#define KLF_REPLACELANG     0x00000010\n#define KLF_NOTELLSHELL     0x00000080\n#endif /* WINVER >= 0x0400 */\n#define KLF_SETFORPROCESS   0x00000100\n#if(_WIN32_WINNT >= 0x0500)\n#define KLF_SHIFTLOCK       0x00010000\n#define KLF_RESET           0x40000000\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n\n#if(WINVER >= 0x0500)\n/*\n * Bits in wParam of WM_INPUTLANGCHANGEREQUEST message\n */\n#define INPUTLANGCHANGE_SYSCHARSET 0x0001\n#define INPUTLANGCHANGE_FORWARD    0x0002\n#define INPUTLANGCHANGE_BACKWARD   0x0004\n#endif /* WINVER >= 0x0500 */\n\n/*\n * Size of KeyboardLayoutName (number of characters), including nul terminator\n */\n#define KL_NAMELENGTH       9\n\nWINUSERAPI\nHKL\nWINAPI\nLoadKeyboardLayoutA(\n    IN LPCSTR pwszKLID,\n    IN UINT Flags);\nWINUSERAPI\nHKL\nWINAPI\nLoadKeyboardLayoutW(\n    IN LPCWSTR pwszKLID,\n    IN UINT Flags);\n#ifdef UNICODE\n#define LoadKeyboardLayout  LoadKeyboardLayoutW\n#else\n#define LoadKeyboardLayout  LoadKeyboardLayoutA\n#endif // !UNICODE\n\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nHKL\nWINAPI\nActivateKeyboardLayout(\n    IN HKL hkl,\n    IN UINT Flags);\n#else\nWINUSERAPI\nBOOL\nWINAPI\nActivateKeyboardLayout(\n    IN HKL hkl,\n    IN UINT Flags);\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nint\nWINAPI\nToUnicodeEx(\n    IN UINT wVirtKey,\n    IN UINT wScanCode,\n    IN CONST BYTE *lpKeyState,\n    OUT LPWSTR pwszBuff,\n    IN int cchBuff,\n    IN UINT wFlags,\n    IN HKL dwhkl);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nUnloadKeyboardLayout(\n    IN HKL hkl);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetKeyboardLayoutNameA(\n    OUT LPSTR pwszKLID);\nWINUSERAPI\nBOOL\nWINAPI\nGetKeyboardLayoutNameW(\n    OUT LPWSTR pwszKLID);\n#ifdef UNICODE\n#define GetKeyboardLayoutName  GetKeyboardLayoutNameW\n#else\n#define GetKeyboardLayoutName  GetKeyboardLayoutNameA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nint\nWINAPI\nGetKeyboardLayoutList(\n        IN int nBuff,\n        OUT HKL FAR *lpList);\n\nWINUSERAPI\nHKL\nWINAPI\nGetKeyboardLayout(\n    IN DWORD idThread\n);\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n\ntypedef struct tagMOUSEMOVEPOINT {\n    int   x;\n    int   y;\n    DWORD time;\n    ULONG_PTR dwExtraInfo;\n} MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, FAR* LPMOUSEMOVEPOINT;\n\n/*\n * Values for resolution parameter of GetMouseMovePointsEx\n */\n#define GMMP_USE_DISPLAY_POINTS          1\n#define GMMP_USE_HIGH_RESOLUTION_POINTS  2\n\nWINUSERAPI\nint\nWINAPI\nGetMouseMovePointsEx(\n    IN UINT             cbSize,\n    IN LPMOUSEMOVEPOINT lppt,\n    IN LPMOUSEMOVEPOINT lpptBuf,\n    IN int              nBufPoints,\n    IN DWORD            resolution\n);\n\n#endif /* WINVER >= 0x0500 */\n\n#ifndef NODESKTOP\n/*\n * Desktop-specific access flags\n */\n#define DESKTOP_READOBJECTS         0x0001L\n#define DESKTOP_CREATEWINDOW        0x0002L\n#define DESKTOP_CREATEMENU          0x0004L\n#define DESKTOP_HOOKCONTROL         0x0008L\n#define DESKTOP_JOURNALRECORD       0x0010L\n#define DESKTOP_JOURNALPLAYBACK     0x0020L\n#define DESKTOP_ENUMERATE           0x0040L\n#define DESKTOP_WRITEOBJECTS        0x0080L\n#define DESKTOP_SWITCHDESKTOP       0x0100L\n\n/*\n * Desktop-specific control flags\n */\n#define DF_ALLOWOTHERACCOUNTHOOK    0x0001L\n\n#ifdef _WINGDI_\n#ifndef NOGDI\n\nWINUSERAPI\nHDESK\nWINAPI\nCreateDesktopA(\n    IN LPCSTR lpszDesktop,\n    IN LPCSTR lpszDevice,\n    IN LPDEVMODEA pDevmode,\n    IN DWORD dwFlags,\n    IN ACCESS_MASK dwDesiredAccess,\n    IN LPSECURITY_ATTRIBUTES lpsa);\nWINUSERAPI\nHDESK\nWINAPI\nCreateDesktopW(\n    IN LPCWSTR lpszDesktop,\n    IN LPCWSTR lpszDevice,\n    IN LPDEVMODEW pDevmode,\n    IN DWORD dwFlags,\n    IN ACCESS_MASK dwDesiredAccess,\n    IN LPSECURITY_ATTRIBUTES lpsa);\n#ifdef UNICODE\n#define CreateDesktop  CreateDesktopW\n#else\n#define CreateDesktop  CreateDesktopA\n#endif // !UNICODE\n\n#endif /* NOGDI */\n#endif /* _WINGDI_ */\n\nWINUSERAPI\nHDESK\nWINAPI\nOpenDesktopA(\n    IN LPCSTR lpszDesktop,\n    IN DWORD dwFlags,\n    IN BOOL fInherit,\n    IN ACCESS_MASK dwDesiredAccess);\nWINUSERAPI\nHDESK\nWINAPI\nOpenDesktopW(\n    IN LPCWSTR lpszDesktop,\n    IN DWORD dwFlags,\n    IN BOOL fInherit,\n    IN ACCESS_MASK dwDesiredAccess);\n#ifdef UNICODE\n#define OpenDesktop  OpenDesktopW\n#else\n#define OpenDesktop  OpenDesktopA\n#endif // !UNICODE\n\nWINUSERAPI\nHDESK\nWINAPI\nOpenInputDesktop(\n    IN DWORD dwFlags,\n    IN BOOL fInherit,\n    IN ACCESS_MASK dwDesiredAccess);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDesktopsA(\n    IN HWINSTA hwinsta,\n    IN DESKTOPENUMPROCA lpEnumFunc,\n    IN LPARAM lParam);\nWINUSERAPI\nBOOL\nWINAPI\nEnumDesktopsW(\n    IN HWINSTA hwinsta,\n    IN DESKTOPENUMPROCW lpEnumFunc,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define EnumDesktops  EnumDesktopsW\n#else\n#define EnumDesktops  EnumDesktopsA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDesktopWindows(\n    IN HDESK hDesktop,\n    IN WNDENUMPROC lpfn,\n    IN LPARAM lParam);\n\nWINUSERAPI\nBOOL\nWINAPI\nSwitchDesktop(\n    IN HDESK hDesktop);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetThreadDesktop(\n    IN HDESK hDesktop);\n\nWINUSERAPI\nBOOL\nWINAPI\nCloseDesktop(\n    IN HDESK hDesktop);\n\nWINUSERAPI\nHDESK\nWINAPI\nGetThreadDesktop(\n    IN DWORD dwThreadId);\n#endif  /* !NODESKTOP */\n\n#ifndef NOWINDOWSTATION\n/*\n * Windowstation-specific access flags\n */\n#define WINSTA_ENUMDESKTOPS         0x0001L\n#define WINSTA_READATTRIBUTES       0x0002L\n#define WINSTA_ACCESSCLIPBOARD      0x0004L\n#define WINSTA_CREATEDESKTOP        0x0008L\n#define WINSTA_WRITEATTRIBUTES      0x0010L\n#define WINSTA_ACCESSGLOBALATOMS    0x0020L\n#define WINSTA_EXITWINDOWS          0x0040L\n#define WINSTA_ENUMERATE            0x0100L\n#define WINSTA_READSCREEN           0x0200L\n\n#define WINSTA_ALL_ACCESS           (WINSTA_ENUMDESKTOPS  | WINSTA_READATTRIBUTES  | WINSTA_ACCESSCLIPBOARD | \\\n                                     WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES | WINSTA_ACCESSGLOBALATOMS | \\\n                                     WINSTA_EXITWINDOWS   | WINSTA_ENUMERATE       | WINSTA_READSCREEN)\n\n/*\n * Windowstation-specific attribute flags\n */\n#define WSF_VISIBLE                 0x0001L\n\nWINUSERAPI\nHWINSTA\nWINAPI\nCreateWindowStationA(\n    IN LPCSTR              lpwinsta,\n    IN DWORD                 dwReserved,\n    IN ACCESS_MASK           dwDesiredAccess,\n    IN LPSECURITY_ATTRIBUTES lpsa);\nWINUSERAPI\nHWINSTA\nWINAPI\nCreateWindowStationW(\n    IN LPCWSTR              lpwinsta,\n    IN DWORD                 dwReserved,\n    IN ACCESS_MASK           dwDesiredAccess,\n    IN LPSECURITY_ATTRIBUTES lpsa);\n#ifdef UNICODE\n#define CreateWindowStation  CreateWindowStationW\n#else\n#define CreateWindowStation  CreateWindowStationA\n#endif // !UNICODE\n\nWINUSERAPI\nHWINSTA\nWINAPI\nOpenWindowStationA(\n    IN LPCSTR lpszWinSta,\n    IN BOOL fInherit,\n    IN ACCESS_MASK dwDesiredAccess);\nWINUSERAPI\nHWINSTA\nWINAPI\nOpenWindowStationW(\n    IN LPCWSTR lpszWinSta,\n    IN BOOL fInherit,\n    IN ACCESS_MASK dwDesiredAccess);\n#ifdef UNICODE\n#define OpenWindowStation  OpenWindowStationW\n#else\n#define OpenWindowStation  OpenWindowStationA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumWindowStationsA(\n    IN WINSTAENUMPROCA lpEnumFunc,\n    IN LPARAM lParam);\nWINUSERAPI\nBOOL\nWINAPI\nEnumWindowStationsW(\n    IN WINSTAENUMPROCW lpEnumFunc,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define EnumWindowStations  EnumWindowStationsW\n#else\n#define EnumWindowStations  EnumWindowStationsA\n#endif // !UNICODE\n\n\nWINUSERAPI\nBOOL\nWINAPI\nCloseWindowStation(\n    IN HWINSTA hWinSta);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetProcessWindowStation(\n    IN HWINSTA hWinSta);\n\nWINUSERAPI\nHWINSTA\nWINAPI\nGetProcessWindowStation(\n    VOID);\n#endif  /* !NOWINDOWSTATION */\n\n#ifndef NOSECURITY\n\nWINUSERAPI\nBOOL\nWINAPI\nSetUserObjectSecurity(\n    IN HANDLE hObj,\n    IN PSECURITY_INFORMATION pSIRequested,\n    IN PSECURITY_DESCRIPTOR pSID);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetUserObjectSecurity(\n    IN HANDLE hObj,\n    IN PSECURITY_INFORMATION pSIRequested,\n    IN OUT PSECURITY_DESCRIPTOR pSID,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded);\n\n#define UOI_FLAGS       1\n#define UOI_NAME        2\n#define UOI_TYPE        3\n#define UOI_USER_SID    4\n\ntypedef struct tagUSEROBJECTFLAGS {\n    BOOL fInherit;\n    BOOL fReserved;\n    DWORD dwFlags;\n} USEROBJECTFLAGS, *PUSEROBJECTFLAGS;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetUserObjectInformationA(\n    IN HANDLE hObj,\n    IN int nIndex,\n    OUT PVOID pvInfo,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded);\nWINUSERAPI\nBOOL\nWINAPI\nGetUserObjectInformationW(\n    IN HANDLE hObj,\n    IN int nIndex,\n    OUT PVOID pvInfo,\n    IN DWORD nLength,\n    OUT LPDWORD lpnLengthNeeded);\n#ifdef UNICODE\n#define GetUserObjectInformation  GetUserObjectInformationW\n#else\n#define GetUserObjectInformation  GetUserObjectInformationA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSetUserObjectInformationA(\n    IN HANDLE hObj,\n    IN int nIndex,\n    IN PVOID pvInfo,\n    IN DWORD nLength);\nWINUSERAPI\nBOOL\nWINAPI\nSetUserObjectInformationW(\n    IN HANDLE hObj,\n    IN int nIndex,\n    IN PVOID pvInfo,\n    IN DWORD nLength);\n#ifdef UNICODE\n#define SetUserObjectInformation  SetUserObjectInformationW\n#else\n#define SetUserObjectInformation  SetUserObjectInformationA\n#endif // !UNICODE\n\n#endif  /* !NOSECURITY */\n\n#if(WINVER >= 0x0400)\ntypedef struct tagWNDCLASSEXA {\n    UINT        cbSize;\n    /* Win 3.x */\n    UINT        style;\n    WNDPROC     lpfnWndProc;\n    int         cbClsExtra;\n    int         cbWndExtra;\n    HINSTANCE   hInstance;\n    HICON       hIcon;\n    HCURSOR     hCursor;\n    HBRUSH      hbrBackground;\n    LPCSTR      lpszMenuName;\n    LPCSTR      lpszClassName;\n    /* Win 4.0 */\n    HICON       hIconSm;\n} WNDCLASSEXA, *PWNDCLASSEXA, NEAR *NPWNDCLASSEXA, FAR *LPWNDCLASSEXA;\ntypedef struct tagWNDCLASSEXW {\n    UINT        cbSize;\n    /* Win 3.x */\n    UINT        style;\n    WNDPROC     lpfnWndProc;\n    int         cbClsExtra;\n    int         cbWndExtra;\n    HINSTANCE   hInstance;\n    HICON       hIcon;\n    HCURSOR     hCursor;\n    HBRUSH      hbrBackground;\n    LPCWSTR     lpszMenuName;\n    LPCWSTR     lpszClassName;\n    /* Win 4.0 */\n    HICON       hIconSm;\n} WNDCLASSEXW, *PWNDCLASSEXW, NEAR *NPWNDCLASSEXW, FAR *LPWNDCLASSEXW;\n#ifdef UNICODE\ntypedef WNDCLASSEXW WNDCLASSEX;\ntypedef PWNDCLASSEXW PWNDCLASSEX;\ntypedef NPWNDCLASSEXW NPWNDCLASSEX;\ntypedef LPWNDCLASSEXW LPWNDCLASSEX;\n#else\ntypedef WNDCLASSEXA WNDCLASSEX;\ntypedef PWNDCLASSEXA PWNDCLASSEX;\ntypedef NPWNDCLASSEXA NPWNDCLASSEX;\ntypedef LPWNDCLASSEXA LPWNDCLASSEX;\n#endif // UNICODE\n#endif /* WINVER >= 0x0400 */\n\ntypedef struct tagWNDCLASSA {\n    UINT        style;\n    WNDPROC     lpfnWndProc;\n    int         cbClsExtra;\n    int         cbWndExtra;\n    HINSTANCE   hInstance;\n    HICON       hIcon;\n    HCURSOR     hCursor;\n    HBRUSH      hbrBackground;\n    LPCSTR      lpszMenuName;\n    LPCSTR      lpszClassName;\n} WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;\ntypedef struct tagWNDCLASSW {\n    UINT        style;\n    WNDPROC     lpfnWndProc;\n    int         cbClsExtra;\n    int         cbWndExtra;\n    HINSTANCE   hInstance;\n    HICON       hIcon;\n    HCURSOR     hCursor;\n    HBRUSH      hbrBackground;\n    LPCWSTR     lpszMenuName;\n    LPCWSTR     lpszClassName;\n} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;\n#ifdef UNICODE\ntypedef WNDCLASSW WNDCLASS;\ntypedef PWNDCLASSW PWNDCLASS;\ntypedef NPWNDCLASSW NPWNDCLASS;\ntypedef LPWNDCLASSW LPWNDCLASS;\n#else\ntypedef WNDCLASSA WNDCLASS;\ntypedef PWNDCLASSA PWNDCLASS;\ntypedef NPWNDCLASSA NPWNDCLASS;\ntypedef LPWNDCLASSA LPWNDCLASS;\n#endif // UNICODE\n\nWINUSERAPI\nBOOL\nIsHungAppWindow(\n    IN HWND hwnd);\n\n\n#if(WINVER >= 0x0501)\nWINUSERAPI\nVOID\nDisableProcessWindowsGhosting(\n    VOID);\n#endif /* WINVER >= 0x0501 */\n\n#ifndef NOMSG\n\n/*\n * Message structure\n */\ntypedef struct tagMSG {\n    HWND        hwnd;\n    UINT        message;\n    WPARAM      wParam;\n    LPARAM      lParam;\n    DWORD       time;\n    POINT       pt;\n#ifdef _MAC\n    DWORD       lPrivate;\n#endif\n} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;\n\n#define POINTSTOPOINT(pt, pts)                          \\\n        { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts);   \\\n          (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); }\n\n#define POINTTOPOINTS(pt)      (MAKELONG((short)((pt).x), (short)((pt).y)))\n#define MAKEWPARAM(l, h)      ((WPARAM)(DWORD)MAKELONG(l, h))\n#define MAKELPARAM(l, h)      ((LPARAM)(DWORD)MAKELONG(l, h))\n#define MAKELRESULT(l, h)     ((LRESULT)(DWORD)MAKELONG(l, h))\n\n\n#endif /* !NOMSG */\n\n#ifndef NOWINOFFSETS\n\n/*\n * Window field offsets for GetWindowLong()\n */\n#define GWL_WNDPROC         (-4)\n#define GWL_HINSTANCE       (-6)\n#define GWL_HWNDPARENT      (-8)\n#define GWL_STYLE           (-16)\n#define GWL_EXSTYLE         (-20)\n#define GWL_USERDATA        (-21)\n#define GWL_ID              (-12)\n\n#ifdef _WIN64\n\n#undef GWL_WNDPROC\n#undef GWL_HINSTANCE\n#undef GWL_HWNDPARENT\n#undef GWL_USERDATA\n\n#endif /* _WIN64 */\n\n#define GWLP_WNDPROC        (-4)\n#define GWLP_HINSTANCE      (-6)\n#define GWLP_HWNDPARENT     (-8)\n#define GWLP_USERDATA       (-21)\n#define GWLP_ID             (-12)\n\n/*\n * Class field offsets for GetClassLong()\n */\n#define GCL_MENUNAME        (-8)\n#define GCL_HBRBACKGROUND   (-10)\n#define GCL_HCURSOR         (-12)\n#define GCL_HICON           (-14)\n#define GCL_HMODULE         (-16)\n#define GCL_CBWNDEXTRA      (-18)\n#define GCL_CBCLSEXTRA      (-20)\n#define GCL_WNDPROC         (-24)\n#define GCL_STYLE           (-26)\n#define GCW_ATOM            (-32)\n\n#if(WINVER >= 0x0400)\n#define GCL_HICONSM         (-34)\n#endif /* WINVER >= 0x0400 */\n\n#ifdef _WIN64\n\n#undef GCL_MENUNAME\n#undef GCL_HBRBACKGROUND\n#undef GCL_HCURSOR\n#undef GCL_HICON\n#undef GCL_HMODULE\n#undef GCL_WNDPROC\n#undef GCL_HICONSM\n\n#endif /* _WIN64 */\n\n#define GCLP_MENUNAME       (-8)\n#define GCLP_HBRBACKGROUND  (-10)\n#define GCLP_HCURSOR        (-12)\n#define GCLP_HICON          (-14)\n#define GCLP_HMODULE        (-16)\n#define GCLP_WNDPROC        (-24)\n#define GCLP_HICONSM        (-34)\n\n#endif /* !NOWINOFFSETS */\n\n#ifndef NOWINMESSAGES\n\n\n/*\n * Window Messages\n */\n\n#define WM_NULL                         0x0000\n#define WM_CREATE                       0x0001\n#define WM_DESTROY                      0x0002\n#define WM_MOVE                         0x0003\n#define WM_SIZE                         0x0005\n\n#define WM_ACTIVATE                     0x0006\n/*\n * WM_ACTIVATE state values\n */\n#define     WA_INACTIVE     0\n#define     WA_ACTIVE       1\n#define     WA_CLICKACTIVE  2\n\n#define WM_SETFOCUS                     0x0007\n#define WM_KILLFOCUS                    0x0008\n#define WM_ENABLE                       0x000A\n#define WM_SETREDRAW                    0x000B\n#define WM_SETTEXT                      0x000C\n#define WM_GETTEXT                      0x000D\n#define WM_GETTEXTLENGTH                0x000E\n#define WM_PAINT                        0x000F\n#define WM_CLOSE                        0x0010\n#ifndef _WIN32_WCE\n#define WM_QUERYENDSESSION              0x0011\n#define WM_QUERYOPEN                    0x0013\n#define WM_ENDSESSION                   0x0016\n#endif\n#define WM_QUIT                         0x0012\n#define WM_ERASEBKGND                   0x0014\n#define WM_SYSCOLORCHANGE               0x0015\n#define WM_SHOWWINDOW                   0x0018\n#define WM_WININICHANGE                 0x001A\n#if(WINVER >= 0x0400)\n#define WM_SETTINGCHANGE                WM_WININICHANGE\n#endif /* WINVER >= 0x0400 */\n\n\n#define WM_DEVMODECHANGE                0x001B\n#define WM_ACTIVATEAPP                  0x001C\n#define WM_FONTCHANGE                   0x001D\n#define WM_TIMECHANGE                   0x001E\n#define WM_CANCELMODE                   0x001F\n#define WM_SETCURSOR                    0x0020\n#define WM_MOUSEACTIVATE                0x0021\n#define WM_CHILDACTIVATE                0x0022\n#define WM_QUEUESYNC                    0x0023\n\n#define WM_GETMINMAXINFO                0x0024\n/*\n * Struct pointed to by WM_GETMINMAXINFO lParam\n */\ntypedef struct tagMINMAXINFO {\n    POINT ptReserved;\n    POINT ptMaxSize;\n    POINT ptMaxPosition;\n    POINT ptMinTrackSize;\n    POINT ptMaxTrackSize;\n} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;\n\n#define WM_PAINTICON                    0x0026\n#define WM_ICONERASEBKGND               0x0027\n#define WM_NEXTDLGCTL                   0x0028\n#define WM_SPOOLERSTATUS                0x002A\n#define WM_DRAWITEM                     0x002B\n#define WM_MEASUREITEM                  0x002C\n#define WM_DELETEITEM                   0x002D\n#define WM_VKEYTOITEM                   0x002E\n#define WM_CHARTOITEM                   0x002F\n#define WM_SETFONT                      0x0030\n#define WM_GETFONT                      0x0031\n#define WM_SETHOTKEY                    0x0032\n#define WM_GETHOTKEY                    0x0033\n#define WM_QUERYDRAGICON                0x0037\n#define WM_COMPAREITEM                  0x0039\n#if(WINVER >= 0x0500)\n#ifndef _WIN32_WCE\n#define WM_GETOBJECT                    0x003D\n#endif\n#endif /* WINVER >= 0x0500 */\n#define WM_COMPACTING                   0x0041\n#define WM_COMMNOTIFY                   0x0044  /* no longer suported */\n#define WM_WINDOWPOSCHANGING            0x0046\n#define WM_WINDOWPOSCHANGED             0x0047\n\n#define WM_POWER                        0x0048\n/*\n * wParam for WM_POWER window message and DRV_POWER driver notification\n */\n#define PWR_OK              1\n#define PWR_FAIL            (-1)\n#define PWR_SUSPENDREQUEST  1\n#define PWR_SUSPENDRESUME   2\n#define PWR_CRITICALRESUME  3\n\n#define WM_COPYDATA                     0x004A\n#define WM_CANCELJOURNAL                0x004B\n\n\n/*\n * lParam of WM_COPYDATA message points to...\n */\ntypedef struct tagCOPYDATASTRUCT {\n    ULONG_PTR dwData;\n    DWORD cbData;\n    PVOID lpData;\n} COPYDATASTRUCT, *PCOPYDATASTRUCT;\n\n#if(WINVER >= 0x0400)\ntypedef struct tagMDINEXTMENU\n{\n    HMENU   hmenuIn;\n    HMENU   hmenuNext;\n    HWND    hwndNext;\n} MDINEXTMENU, * PMDINEXTMENU, FAR * LPMDINEXTMENU;\n#endif /* WINVER >= 0x0400 */\n\n\n#if(WINVER >= 0x0400)\n#define WM_NOTIFY                       0x004E\n#define WM_INPUTLANGCHANGEREQUEST       0x0050\n#define WM_INPUTLANGCHANGE              0x0051\n#define WM_TCARD                        0x0052\n#define WM_HELP                         0x0053\n#define WM_USERCHANGED                  0x0054\n#define WM_NOTIFYFORMAT                 0x0055\n\n#define NFR_ANSI                             1\n#define NFR_UNICODE                          2\n#define NF_QUERY                             3\n#define NF_REQUERY                           4\n\n#define WM_CONTEXTMENU                  0x007B\n#define WM_STYLECHANGING                0x007C\n#define WM_STYLECHANGED                 0x007D\n#define WM_DISPLAYCHANGE                0x007E\n#define WM_GETICON                      0x007F\n#define WM_SETICON                      0x0080\n#endif /* WINVER >= 0x0400 */\n\n#define WM_NCCREATE                     0x0081\n#define WM_NCDESTROY                    0x0082\n#define WM_NCCALCSIZE                   0x0083\n#define WM_NCHITTEST                    0x0084\n#define WM_NCPAINT                      0x0085\n#define WM_NCACTIVATE                   0x0086\n#define WM_GETDLGCODE                   0x0087\n#ifndef _WIN32_WCE\n#define WM_SYNCPAINT                    0x0088\n#endif\n#define WM_NCMOUSEMOVE                  0x00A0\n#define WM_NCLBUTTONDOWN                0x00A1\n#define WM_NCLBUTTONUP                  0x00A2\n#define WM_NCLBUTTONDBLCLK              0x00A3\n#define WM_NCRBUTTONDOWN                0x00A4\n#define WM_NCRBUTTONUP                  0x00A5\n#define WM_NCRBUTTONDBLCLK              0x00A6\n#define WM_NCMBUTTONDOWN                0x00A7\n#define WM_NCMBUTTONUP                  0x00A8\n#define WM_NCMBUTTONDBLCLK              0x00A9\n\n\n\n#if(_WIN32_WINNT >= 0x0500)\n#define WM_NCXBUTTONDOWN                0x00AB\n#define WM_NCXBUTTONUP                  0x00AC\n#define WM_NCXBUTTONDBLCLK              0x00AD\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n\n#if(_WIN32_WINNT >= 0x0501)\n#define WM_INPUT                        0x00FF\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define WM_KEYFIRST                     0x0100\n#define WM_KEYDOWN                      0x0100\n#define WM_KEYUP                        0x0101\n#define WM_CHAR                         0x0102\n#define WM_DEADCHAR                     0x0103\n#define WM_SYSKEYDOWN                   0x0104\n#define WM_SYSKEYUP                     0x0105\n#define WM_SYSCHAR                      0x0106\n#define WM_SYSDEADCHAR                  0x0107\n#if(_WIN32_WINNT >= 0x0501)\n#define WM_UNICHAR                      0x0109\n#define WM_KEYLAST                      0x0109\n#define UNICODE_NOCHAR                  0xFFFF\n#else\n#define WM_KEYLAST                      0x0108\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(WINVER >= 0x0400)\n#define WM_IME_STARTCOMPOSITION         0x010D\n#define WM_IME_ENDCOMPOSITION           0x010E\n#define WM_IME_COMPOSITION              0x010F\n#define WM_IME_KEYLAST                  0x010F\n#endif /* WINVER >= 0x0400 */\n\n#define WM_INITDIALOG                   0x0110\n#define WM_COMMAND                      0x0111\n#define WM_SYSCOMMAND                   0x0112\n#define WM_TIMER                        0x0113\n#define WM_HSCROLL                      0x0114\n#define WM_VSCROLL                      0x0115\n#define WM_INITMENU                     0x0116\n#define WM_INITMENUPOPUP                0x0117\n#define WM_MENUSELECT                   0x011F\n#define WM_MENUCHAR                     0x0120\n#define WM_ENTERIDLE                    0x0121\n#if(WINVER >= 0x0500)\n#ifndef _WIN32_WCE\n#define WM_MENURBUTTONUP                0x0122\n#define WM_MENUDRAG                     0x0123\n#define WM_MENUGETOBJECT                0x0124\n#define WM_UNINITMENUPOPUP              0x0125\n#define WM_MENUCOMMAND                  0x0126\n\n#ifndef _WIN32_WCE\n#if(_WIN32_WINNT >= 0x0500)\n#define WM_CHANGEUISTATE                0x0127\n#define WM_UPDATEUISTATE                0x0128\n#define WM_QUERYUISTATE                 0x0129\n\n/*\n * LOWORD(wParam) values in WM_*UISTATE*\n */\n#define UIS_SET                         1\n#define UIS_CLEAR                       2\n#define UIS_INITIALIZE                  3\n\n/*\n * HIWORD(wParam) values in WM_*UISTATE*\n */\n#define UISF_HIDEFOCUS                  0x1\n#define UISF_HIDEACCEL                  0x2\n#if(_WIN32_WINNT >= 0x0501)\n#define UISF_ACTIVE                     0x4\n#endif /* _WIN32_WINNT >= 0x0501 */\n#endif /* _WIN32_WINNT >= 0x0500 */\n#endif\n\n#endif\n#endif /* WINVER >= 0x0500 */\n\n#define WM_CTLCOLORMSGBOX               0x0132\n#define WM_CTLCOLOREDIT                 0x0133\n#define WM_CTLCOLORLISTBOX              0x0134\n#define WM_CTLCOLORBTN                  0x0135\n#define WM_CTLCOLORDLG                  0x0136\n#define WM_CTLCOLORSCROLLBAR            0x0137\n#define WM_CTLCOLORSTATIC               0x0138\n#define MN_GETHMENU                     0x01E1\n\n#define WM_MOUSEFIRST                   0x0200\n#define WM_MOUSEMOVE                    0x0200\n#define WM_LBUTTONDOWN                  0x0201\n#define WM_LBUTTONUP                    0x0202\n#define WM_LBUTTONDBLCLK                0x0203\n#define WM_RBUTTONDOWN                  0x0204\n#define WM_RBUTTONUP                    0x0205\n#define WM_RBUTTONDBLCLK                0x0206\n#define WM_MBUTTONDOWN                  0x0207\n#define WM_MBUTTONUP                    0x0208\n#define WM_MBUTTONDBLCLK                0x0209\n#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\n#define WM_MOUSEWHEEL                   0x020A\n#endif\n#if (_WIN32_WINNT >= 0x0500)\n#define WM_XBUTTONDOWN                  0x020B\n#define WM_XBUTTONUP                    0x020C\n#define WM_XBUTTONDBLCLK                0x020D\n#endif\n#if (_WIN32_WINNT >= 0x0500)\n#define WM_MOUSELAST                    0x020D\n#elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\n#define WM_MOUSELAST                    0x020A\n#else\n#define WM_MOUSELAST                    0x0209\n#endif /* (_WIN32_WINNT >= 0x0500) */\n\n\n#if(_WIN32_WINNT >= 0x0400)\n/* Value for rolling one detent */\n#define WHEEL_DELTA                     120\n#define GET_WHEEL_DELTA_WPARAM(wParam)  ((short)HIWORD(wParam))\n\n/* Setting to scroll one page for SPI_GET/SETWHEELSCROLLLINES */\n#define WHEEL_PAGESCROLL                (UINT_MAX)\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0500)\n#define GET_KEYSTATE_WPARAM(wParam)     (LOWORD(wParam))\n#define GET_NCHITTEST_WPARAM(wParam)    ((short)LOWORD(wParam))\n#define GET_XBUTTON_WPARAM(wParam)      (HIWORD(wParam))\n\n/* XButton values are WORD flags */\n#define XBUTTON1      0x0001\n#define XBUTTON2      0x0002\n/* Were there to be an XBUTTON3, its value would be 0x0004 */\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#define WM_PARENTNOTIFY                 0x0210\n#define WM_ENTERMENULOOP                0x0211\n#define WM_EXITMENULOOP                 0x0212\n\n#if(WINVER >= 0x0400)\n#define WM_NEXTMENU                     0x0213\n#define WM_SIZING                       0x0214\n#define WM_CAPTURECHANGED               0x0215\n#define WM_MOVING                       0x0216\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0400)\n\n\n#define WM_POWERBROADCAST               0x0218\n\n#ifndef _WIN32_WCE\n#define PBT_APMQUERYSUSPEND             0x0000\n#define PBT_APMQUERYSTANDBY             0x0001\n\n#define PBT_APMQUERYSUSPENDFAILED       0x0002\n#define PBT_APMQUERYSTANDBYFAILED       0x0003\n\n#define PBT_APMSUSPEND                  0x0004\n#define PBT_APMSTANDBY                  0x0005\n\n#define PBT_APMRESUMECRITICAL           0x0006\n#define PBT_APMRESUMESUSPEND            0x0007\n#define PBT_APMRESUMESTANDBY            0x0008\n\n#define PBTF_APMRESUMEFROMFAILURE       0x00000001\n\n#define PBT_APMBATTERYLOW               0x0009\n#define PBT_APMPOWERSTATUSCHANGE        0x000A\n\n#define PBT_APMOEMEVENT                 0x000B\n#define PBT_APMRESUMEAUTOMATIC          0x0012\n#endif\n\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0400)\n#define WM_DEVICECHANGE                 0x0219\n#endif /* WINVER >= 0x0400 */\n\n#define WM_MDICREATE                    0x0220\n#define WM_MDIDESTROY                   0x0221\n#define WM_MDIACTIVATE                  0x0222\n#define WM_MDIRESTORE                   0x0223\n#define WM_MDINEXT                      0x0224\n#define WM_MDIMAXIMIZE                  0x0225\n#define WM_MDITILE                      0x0226\n#define WM_MDICASCADE                   0x0227\n#define WM_MDIICONARRANGE               0x0228\n#define WM_MDIGETACTIVE                 0x0229\n\n\n#define WM_MDISETMENU                   0x0230\n#define WM_ENTERSIZEMOVE                0x0231\n#define WM_EXITSIZEMOVE                 0x0232\n#define WM_DROPFILES                    0x0233\n#define WM_MDIREFRESHMENU               0x0234\n\n\n#if(WINVER >= 0x0400)\n#define WM_IME_SETCONTEXT               0x0281\n#define WM_IME_NOTIFY                   0x0282\n#define WM_IME_CONTROL                  0x0283\n#define WM_IME_COMPOSITIONFULL          0x0284\n#define WM_IME_SELECT                   0x0285\n#define WM_IME_CHAR                     0x0286\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0500)\n#define WM_IME_REQUEST                  0x0288\n#endif /* WINVER >= 0x0500 */\n#if(WINVER >= 0x0400)\n#define WM_IME_KEYDOWN                  0x0290\n#define WM_IME_KEYUP                    0x0291\n#endif /* WINVER >= 0x0400 */\n\n#if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500))\n#define WM_MOUSEHOVER                   0x02A1\n#define WM_MOUSELEAVE                   0x02A3\n#endif\n#if(WINVER >= 0x0500)\n#define WM_NCMOUSEHOVER                 0x02A0\n#define WM_NCMOUSELEAVE                 0x02A2\n#endif /* WINVER >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define WM_WTSSESSION_CHANGE            0x02B1\n\n#define WM_TABLET_FIRST                 0x02c0\n#define WM_TABLET_LAST                  0x02df\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define WM_CUT                          0x0300\n#define WM_COPY                         0x0301\n#define WM_PASTE                        0x0302\n#define WM_CLEAR                        0x0303\n#define WM_UNDO                         0x0304\n#define WM_RENDERFORMAT                 0x0305\n#define WM_RENDERALLFORMATS             0x0306\n#define WM_DESTROYCLIPBOARD             0x0307\n#define WM_DRAWCLIPBOARD                0x0308\n#define WM_PAINTCLIPBOARD               0x0309\n#define WM_VSCROLLCLIPBOARD             0x030A\n#define WM_SIZECLIPBOARD                0x030B\n#define WM_ASKCBFORMATNAME              0x030C\n#define WM_CHANGECBCHAIN                0x030D\n#define WM_HSCROLLCLIPBOARD             0x030E\n#define WM_QUERYNEWPALETTE              0x030F\n#define WM_PALETTEISCHANGING            0x0310\n#define WM_PALETTECHANGED               0x0311\n#define WM_HOTKEY                       0x0312\n\n#if(WINVER >= 0x0400)\n#define WM_PRINT                        0x0317\n#define WM_PRINTCLIENT                  0x0318\n#endif /* WINVER >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0500)\n#define WM_APPCOMMAND                   0x0319\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define WM_THEMECHANGED                 0x031A\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n\n#if(WINVER >= 0x0400)\n\n#define WM_HANDHELDFIRST                0x0358\n#define WM_HANDHELDLAST                 0x035F\n\n#define WM_AFXFIRST                     0x0360\n#define WM_AFXLAST                      0x037F\n#endif /* WINVER >= 0x0400 */\n\n#define WM_PENWINFIRST                  0x0380\n#define WM_PENWINLAST                   0x038F\n\n\n#if(WINVER >= 0x0400)\n#define WM_APP                          0x8000\n#endif /* WINVER >= 0x0400 */\n\n\n/*\n * NOTE: All Message Numbers below 0x0400 are RESERVED.\n *\n * Private Window Messages Start Here:\n */\n#define WM_USER                         0x0400\n\n#if(WINVER >= 0x0400)\n\n/*  wParam for WM_SIZING message  */\n#define WMSZ_LEFT           1\n#define WMSZ_RIGHT          2\n#define WMSZ_TOP            3\n#define WMSZ_TOPLEFT        4\n#define WMSZ_TOPRIGHT       5\n#define WMSZ_BOTTOM         6\n#define WMSZ_BOTTOMLEFT     7\n#define WMSZ_BOTTOMRIGHT    8\n#endif /* WINVER >= 0x0400 */\n\n#ifndef NONCMESSAGES\n\n/*\n * WM_NCHITTEST and MOUSEHOOKSTRUCT Mouse Position Codes\n */\n#define HTERROR             (-2)\n#define HTTRANSPARENT       (-1)\n#define HTNOWHERE           0\n#define HTCLIENT            1\n#define HTCAPTION           2\n#define HTSYSMENU           3\n#define HTGROWBOX           4\n#define HTSIZE              HTGROWBOX\n#define HTMENU              5\n#define HTHSCROLL           6\n#define HTVSCROLL           7\n#define HTMINBUTTON         8\n#define HTMAXBUTTON         9\n#define HTLEFT              10\n#define HTRIGHT             11\n#define HTTOP               12\n#define HTTOPLEFT           13\n#define HTTOPRIGHT          14\n#define HTBOTTOM            15\n#define HTBOTTOMLEFT        16\n#define HTBOTTOMRIGHT       17\n#define HTBORDER            18\n#define HTREDUCE            HTMINBUTTON\n#define HTZOOM              HTMAXBUTTON\n#define HTSIZEFIRST         HTLEFT\n#define HTSIZELAST          HTBOTTOMRIGHT\n#if(WINVER >= 0x0400)\n#define HTOBJECT            19\n#define HTCLOSE             20\n#define HTHELP              21\n#endif /* WINVER >= 0x0400 */\n\n\n/*\n * SendMessageTimeout values\n */\n#define SMTO_NORMAL         0x0000\n#define SMTO_BLOCK          0x0001\n#define SMTO_ABORTIFHUNG    0x0002\n#if(WINVER >= 0x0500)\n#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008\n#endif /* WINVER >= 0x0500 */\n#endif /* !NONCMESSAGES */\n\n/*\n * WM_MOUSEACTIVATE Return Codes\n */\n#define MA_ACTIVATE         1\n#define MA_ACTIVATEANDEAT   2\n#define MA_NOACTIVATE       3\n#define MA_NOACTIVATEANDEAT 4\n\n/*\n * WM_SETICON / WM_GETICON Type Codes\n */\n#define ICON_SMALL          0\n#define ICON_BIG            1\n#if(_WIN32_WINNT >= 0x0501)\n#define ICON_SMALL2         2\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n\nWINUSERAPI\nUINT\nWINAPI\nRegisterWindowMessageA(\n    IN LPCSTR lpString);\nWINUSERAPI\nUINT\nWINAPI\nRegisterWindowMessageW(\n    IN LPCWSTR lpString);\n#ifdef UNICODE\n#define RegisterWindowMessage  RegisterWindowMessageW\n#else\n#define RegisterWindowMessage  RegisterWindowMessageA\n#endif // !UNICODE\n\n\n/*\n * WM_SIZE message wParam values\n */\n#define SIZE_RESTORED       0\n#define SIZE_MINIMIZED      1\n#define SIZE_MAXIMIZED      2\n#define SIZE_MAXSHOW        3\n#define SIZE_MAXHIDE        4\n\n/*\n * Obsolete constant names\n */\n#define SIZENORMAL          SIZE_RESTORED\n#define SIZEICONIC          SIZE_MINIMIZED\n#define SIZEFULLSCREEN      SIZE_MAXIMIZED\n#define SIZEZOOMSHOW        SIZE_MAXSHOW\n#define SIZEZOOMHIDE        SIZE_MAXHIDE\n\n/*\n * WM_WINDOWPOSCHANGING/CHANGED struct pointed to by lParam\n */\ntypedef struct tagWINDOWPOS {\n    HWND    hwnd;\n    HWND    hwndInsertAfter;\n    int     x;\n    int     y;\n    int     cx;\n    int     cy;\n    UINT    flags;\n} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;\n\n/*\n * WM_NCCALCSIZE parameter structure\n */\ntypedef struct tagNCCALCSIZE_PARAMS {\n    RECT       rgrc[3];\n    PWINDOWPOS lppos;\n} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;\n\n/*\n * WM_NCCALCSIZE \"window valid rect\" return values\n */\n#define WVR_ALIGNTOP        0x0010\n#define WVR_ALIGNLEFT       0x0020\n#define WVR_ALIGNBOTTOM     0x0040\n#define WVR_ALIGNRIGHT      0x0080\n#define WVR_HREDRAW         0x0100\n#define WVR_VREDRAW         0x0200\n#define WVR_REDRAW         (WVR_HREDRAW | \\\n                            WVR_VREDRAW)\n#define WVR_VALIDRECTS      0x0400\n\n\n#ifndef NOKEYSTATES\n\n/*\n * Key State Masks for Mouse Messages\n */\n#define MK_LBUTTON          0x0001\n#define MK_RBUTTON          0x0002\n#define MK_SHIFT            0x0004\n#define MK_CONTROL          0x0008\n#define MK_MBUTTON          0x0010\n#if(_WIN32_WINNT >= 0x0500)\n#define MK_XBUTTON1         0x0020\n#define MK_XBUTTON2         0x0040\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#endif /* !NOKEYSTATES */\n\n\n#if(_WIN32_WINNT >= 0x0400)\n#ifndef NOTRACKMOUSEEVENT\n\n#define TME_HOVER       0x00000001\n#define TME_LEAVE       0x00000002\n#if(WINVER >= 0x0500)\n#define TME_NONCLIENT   0x00000010\n#endif /* WINVER >= 0x0500 */\n#define TME_QUERY       0x40000000\n#define TME_CANCEL      0x80000000\n\n\n#define HOVER_DEFAULT   0xFFFFFFFF\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0400)\ntypedef struct tagTRACKMOUSEEVENT {\n    DWORD cbSize;\n    DWORD dwFlags;\n    HWND  hwndTrack;\n    DWORD dwHoverTime;\n} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;\n\nWINUSERAPI\nBOOL\nWINAPI\nTrackMouseEvent(\n    IN OUT LPTRACKMOUSEEVENT lpEventTrack);\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0400)\n\n#endif /* !NOTRACKMOUSEEVENT */\n#endif /* _WIN32_WINNT >= 0x0400 */\n\n\n#endif /* !NOWINMESSAGES */\n\n#ifndef NOWINSTYLES\n\n\n/*\n * Window Styles\n */\n#define WS_OVERLAPPED       0x00000000L\n#define WS_POPUP            0x80000000L\n#define WS_CHILD            0x40000000L\n#define WS_MINIMIZE         0x20000000L\n#define WS_VISIBLE          0x10000000L\n#define WS_DISABLED         0x08000000L\n#define WS_CLIPSIBLINGS     0x04000000L\n#define WS_CLIPCHILDREN     0x02000000L\n#define WS_MAXIMIZE         0x01000000L\n#define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */\n#define WS_BORDER           0x00800000L\n#define WS_DLGFRAME         0x00400000L\n#define WS_VSCROLL          0x00200000L\n#define WS_HSCROLL          0x00100000L\n#define WS_SYSMENU          0x00080000L\n#define WS_THICKFRAME       0x00040000L\n#define WS_GROUP            0x00020000L\n#define WS_TABSTOP          0x00010000L\n\n#define WS_MINIMIZEBOX      0x00020000L\n#define WS_MAXIMIZEBOX      0x00010000L\n\n\n#define WS_TILED            WS_OVERLAPPED\n#define WS_ICONIC           WS_MINIMIZE\n#define WS_SIZEBOX          WS_THICKFRAME\n#define WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW\n\n/*\n * Common Window Styles\n */\n#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED     | \\\n                             WS_CAPTION        | \\\n                             WS_SYSMENU        | \\\n                             WS_THICKFRAME     | \\\n                             WS_MINIMIZEBOX    | \\\n                             WS_MAXIMIZEBOX)\n\n#define WS_POPUPWINDOW      (WS_POPUP          | \\\n                             WS_BORDER         | \\\n                             WS_SYSMENU)\n\n#define WS_CHILDWINDOW      (WS_CHILD)\n\n/*\n * Extended Window Styles\n */\n#define WS_EX_DLGMODALFRAME     0x00000001L\n#define WS_EX_NOPARENTNOTIFY    0x00000004L\n#define WS_EX_TOPMOST           0x00000008L\n#define WS_EX_ACCEPTFILES       0x00000010L\n#define WS_EX_TRANSPARENT       0x00000020L\n#if(WINVER >= 0x0400)\n#define WS_EX_MDICHILD          0x00000040L\n#define WS_EX_TOOLWINDOW        0x00000080L\n#define WS_EX_WINDOWEDGE        0x00000100L\n#define WS_EX_CLIENTEDGE        0x00000200L\n#define WS_EX_CONTEXTHELP       0x00000400L\n\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0400)\n\n#define WS_EX_RIGHT             0x00001000L\n#define WS_EX_LEFT              0x00000000L\n#define WS_EX_RTLREADING        0x00002000L\n#define WS_EX_LTRREADING        0x00000000L\n#define WS_EX_LEFTSCROLLBAR     0x00004000L\n#define WS_EX_RIGHTSCROLLBAR    0x00000000L\n\n#define WS_EX_CONTROLPARENT     0x00010000L\n#define WS_EX_STATICEDGE        0x00020000L\n#define WS_EX_APPWINDOW         0x00040000L\n\n\n#define WS_EX_OVERLAPPEDWINDOW  (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)\n#define WS_EX_PALETTEWINDOW     (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)\n\n#endif /* WINVER >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0500)\n#define WS_EX_LAYERED           0x00080000\n\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n\n#if(WINVER >= 0x0500)\n#define WS_EX_NOINHERITLAYOUT   0x00100000L // Disable inheritence of mirroring by children\n#define WS_EX_LAYOUTRTL         0x00400000L // Right to left mirroring\n#endif /* WINVER >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0500)\n#define WS_EX_COMPOSITED        0x02000000L\n#define WS_EX_NOACTIVATE        0x08000000L\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n\n/*\n * Class styles\n */\n#define CS_VREDRAW          0x0001\n#define CS_HREDRAW          0x0002\n#define CS_DBLCLKS          0x0008\n#define CS_OWNDC            0x0020\n#define CS_CLASSDC          0x0040\n#define CS_PARENTDC         0x0080\n#define CS_NOCLOSE          0x0200\n#define CS_SAVEBITS         0x0800\n#define CS_BYTEALIGNCLIENT  0x1000\n#define CS_BYTEALIGNWINDOW  0x2000\n#define CS_GLOBALCLASS      0x4000\n\n#define CS_IME              0x00010000\n#if(_WIN32_WINNT >= 0x0501)\n#define CS_DROPSHADOW       0x00020000\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n\n\n#endif /* !NOWINSTYLES */\n#if(WINVER >= 0x0400)\n/* WM_PRINT flags */\n#define PRF_CHECKVISIBLE    0x00000001L\n#define PRF_NONCLIENT       0x00000002L\n#define PRF_CLIENT          0x00000004L\n#define PRF_ERASEBKGND      0x00000008L\n#define PRF_CHILDREN        0x00000010L\n#define PRF_OWNED           0x00000020L\n\n/* 3D border styles */\n#define BDR_RAISEDOUTER 0x0001\n#define BDR_SUNKENOUTER 0x0002\n#define BDR_RAISEDINNER 0x0004\n#define BDR_SUNKENINNER 0x0008\n\n#define BDR_OUTER       (BDR_RAISEDOUTER | BDR_SUNKENOUTER)\n#define BDR_INNER       (BDR_RAISEDINNER | BDR_SUNKENINNER)\n#define BDR_RAISED      (BDR_RAISEDOUTER | BDR_RAISEDINNER)\n#define BDR_SUNKEN      (BDR_SUNKENOUTER | BDR_SUNKENINNER)\n\n\n#define EDGE_RAISED     (BDR_RAISEDOUTER | BDR_RAISEDINNER)\n#define EDGE_SUNKEN     (BDR_SUNKENOUTER | BDR_SUNKENINNER)\n#define EDGE_ETCHED     (BDR_SUNKENOUTER | BDR_RAISEDINNER)\n#define EDGE_BUMP       (BDR_RAISEDOUTER | BDR_SUNKENINNER)\n\n/* Border flags */\n#define BF_LEFT         0x0001\n#define BF_TOP          0x0002\n#define BF_RIGHT        0x0004\n#define BF_BOTTOM       0x0008\n\n#define BF_TOPLEFT      (BF_TOP | BF_LEFT)\n#define BF_TOPRIGHT     (BF_TOP | BF_RIGHT)\n#define BF_BOTTOMLEFT   (BF_BOTTOM | BF_LEFT)\n#define BF_BOTTOMRIGHT  (BF_BOTTOM | BF_RIGHT)\n#define BF_RECT         (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM)\n\n#define BF_DIAGONAL     0x0010\n\n// For diagonal lines, the BF_RECT flags specify the end point of the\n// vector bounded by the rectangle parameter.\n#define BF_DIAGONAL_ENDTOPRIGHT     (BF_DIAGONAL | BF_TOP | BF_RIGHT)\n#define BF_DIAGONAL_ENDTOPLEFT      (BF_DIAGONAL | BF_TOP | BF_LEFT)\n#define BF_DIAGONAL_ENDBOTTOMLEFT   (BF_DIAGONAL | BF_BOTTOM | BF_LEFT)\n#define BF_DIAGONAL_ENDBOTTOMRIGHT  (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT)\n\n\n#define BF_MIDDLE       0x0800  /* Fill in the middle */\n#define BF_SOFT         0x1000  /* For softer buttons */\n#define BF_ADJUST       0x2000  /* Calculate the space left over */\n#define BF_FLAT         0x4000  /* For flat rather than 3D borders */\n#define BF_MONO         0x8000  /* For monochrome borders */\n\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawEdge(\n    IN HDC hdc,\n    IN OUT LPRECT qrc,\n    IN UINT edge,\n    IN UINT grfFlags);\n\n/* flags for DrawFrameControl */\n\n#define DFC_CAPTION             1\n#define DFC_MENU                2\n#define DFC_SCROLL              3\n#define DFC_BUTTON              4\n#if(WINVER >= 0x0500)\n#define DFC_POPUPMENU           5\n#endif /* WINVER >= 0x0500 */\n\n#define DFCS_CAPTIONCLOSE       0x0000\n#define DFCS_CAPTIONMIN         0x0001\n#define DFCS_CAPTIONMAX         0x0002\n#define DFCS_CAPTIONRESTORE     0x0003\n#define DFCS_CAPTIONHELP        0x0004\n\n#define DFCS_MENUARROW          0x0000\n#define DFCS_MENUCHECK          0x0001\n#define DFCS_MENUBULLET         0x0002\n#define DFCS_MENUARROWRIGHT     0x0004\n#define DFCS_SCROLLUP           0x0000\n#define DFCS_SCROLLDOWN         0x0001\n#define DFCS_SCROLLLEFT         0x0002\n#define DFCS_SCROLLRIGHT        0x0003\n#define DFCS_SCROLLCOMBOBOX     0x0005\n#define DFCS_SCROLLSIZEGRIP     0x0008\n#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010\n\n#define DFCS_BUTTONCHECK        0x0000\n#define DFCS_BUTTONRADIOIMAGE   0x0001\n#define DFCS_BUTTONRADIOMASK    0x0002\n#define DFCS_BUTTONRADIO        0x0004\n#define DFCS_BUTTON3STATE       0x0008\n#define DFCS_BUTTONPUSH         0x0010\n\n#define DFCS_INACTIVE           0x0100\n#define DFCS_PUSHED             0x0200\n#define DFCS_CHECKED            0x0400\n\n#if(WINVER >= 0x0500)\n#define DFCS_TRANSPARENT        0x0800\n#define DFCS_HOT                0x1000\n#endif /* WINVER >= 0x0500 */\n\n#define DFCS_ADJUSTRECT         0x2000\n#define DFCS_FLAT               0x4000\n#define DFCS_MONO               0x8000\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawFrameControl(\n    IN HDC,\n    IN OUT LPRECT,\n    IN UINT,\n    IN UINT);\n\n\n/* flags for DrawCaption */\n#define DC_ACTIVE           0x0001\n#define DC_SMALLCAP         0x0002\n#define DC_ICON             0x0004\n#define DC_TEXT             0x0008\n#define DC_INBUTTON         0x0010\n#if(WINVER >= 0x0500)\n#define DC_GRADIENT         0x0020\n#endif /* WINVER >= 0x0500 */\n#if(_WIN32_WINNT >= 0x0501)\n#define DC_BUTTONS          0x1000\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawCaption(IN HWND, IN HDC, IN CONST RECT *, IN UINT);\n\n\n#define IDANI_OPEN          1\n#define IDANI_CAPTION       3\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawAnimatedRects(\n    IN HWND hwnd,\n    IN int idAni,\n    IN CONST RECT * lprcFrom,\n    IN CONST RECT * lprcTo);\n\n#endif /* WINVER >= 0x0400 */\n\n#ifndef NOCLIPBOARD\n\n\n/*\n * Predefined Clipboard Formats\n */\n#define CF_TEXT             1\n#define CF_BITMAP           2\n#define CF_METAFILEPICT     3\n#define CF_SYLK             4\n#define CF_DIF              5\n#define CF_TIFF             6\n#define CF_OEMTEXT          7\n#define CF_DIB              8\n#define CF_PALETTE          9\n#define CF_PENDATA          10\n#define CF_RIFF             11\n#define CF_WAVE             12\n#define CF_UNICODETEXT      13\n#define CF_ENHMETAFILE      14\n#if(WINVER >= 0x0400)\n#define CF_HDROP            15\n#define CF_LOCALE           16\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0500)\n#define CF_DIBV5            17\n#endif /* WINVER >= 0x0500 */\n\n#if(WINVER >= 0x0500)\n#define CF_MAX              18\n#elif(WINVER >= 0x0400)\n#define CF_MAX              17\n#else\n#define CF_MAX              15\n#endif\n\n#define CF_OWNERDISPLAY     0x0080\n#define CF_DSPTEXT          0x0081\n#define CF_DSPBITMAP        0x0082\n#define CF_DSPMETAFILEPICT  0x0083\n#define CF_DSPENHMETAFILE   0x008E\n\n/*\n * \"Private\" formats don't get GlobalFree()'d\n */\n#define CF_PRIVATEFIRST     0x0200\n#define CF_PRIVATELAST      0x02FF\n\n/*\n * \"GDIOBJ\" formats do get DeleteObject()'d\n */\n#define CF_GDIOBJFIRST      0x0300\n#define CF_GDIOBJLAST       0x03FF\n\n\n#endif /* !NOCLIPBOARD */\n\n/*\n * Defines for the fVirt field of the Accelerator table structure.\n */\n#define FVIRTKEY  TRUE          /* Assumed to be == TRUE */\n#define FNOINVERT 0x02\n#define FSHIFT    0x04\n#define FCONTROL  0x08\n#define FALT      0x10\n\ntypedef struct tagACCEL {\n#ifndef _MAC\n    BYTE   fVirt;               /* Also called the flags field */\n    WORD   key;\n    WORD   cmd;\n#else\n    WORD   fVirt;               /* Also called the flags field */\n    WORD   key;\n    DWORD  cmd;\n#endif\n} ACCEL, *LPACCEL;\n\ntypedef struct tagPAINTSTRUCT {\n    HDC         hdc;\n    BOOL        fErase;\n    RECT        rcPaint;\n    BOOL        fRestore;\n    BOOL        fIncUpdate;\n    BYTE        rgbReserved[32];\n} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;\n\ntypedef struct tagCREATESTRUCTA {\n    LPVOID      lpCreateParams;\n    HINSTANCE   hInstance;\n    HMENU       hMenu;\n    HWND        hwndParent;\n    int         cy;\n    int         cx;\n    int         y;\n    int         x;\n    LONG        style;\n    LPCSTR      lpszName;\n    LPCSTR      lpszClass;\n    DWORD       dwExStyle;\n} CREATESTRUCTA, *LPCREATESTRUCTA;\ntypedef struct tagCREATESTRUCTW {\n    LPVOID      lpCreateParams;\n    HINSTANCE   hInstance;\n    HMENU       hMenu;\n    HWND        hwndParent;\n    int         cy;\n    int         cx;\n    int         y;\n    int         x;\n    LONG        style;\n    LPCWSTR     lpszName;\n    LPCWSTR     lpszClass;\n    DWORD       dwExStyle;\n} CREATESTRUCTW, *LPCREATESTRUCTW;\n#ifdef UNICODE\ntypedef CREATESTRUCTW CREATESTRUCT;\ntypedef LPCREATESTRUCTW LPCREATESTRUCT;\n#else\ntypedef CREATESTRUCTA CREATESTRUCT;\ntypedef LPCREATESTRUCTA LPCREATESTRUCT;\n#endif // UNICODE\n\ntypedef struct tagWINDOWPLACEMENT {\n    UINT  length;\n    UINT  flags;\n    UINT  showCmd;\n    POINT ptMinPosition;\n    POINT ptMaxPosition;\n    RECT  rcNormalPosition;\n#ifdef _MAC\n    RECT  rcDevice;\n#endif\n} WINDOWPLACEMENT;\ntypedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;\n\n#define WPF_SETMINPOSITION          0x0001\n#define WPF_RESTORETOMAXIMIZED      0x0002\n#if(_WIN32_WINNT >= 0x0500)\n#define WPF_ASYNCWINDOWPLACEMENT    0x0004\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(WINVER >= 0x0400)\ntypedef struct tagNMHDR\n{\n    HWND      hwndFrom;\n    UINT_PTR  idFrom;\n    UINT      code;         // NM_ code\n}   NMHDR;\ntypedef NMHDR FAR * LPNMHDR;\n\ntypedef struct tagSTYLESTRUCT\n{\n    DWORD   styleOld;\n    DWORD   styleNew;\n} STYLESTRUCT, * LPSTYLESTRUCT;\n#endif /* WINVER >= 0x0400 */\n\n\n/*\n * Owner draw control types\n */\n#define ODT_MENU        1\n#define ODT_LISTBOX     2\n#define ODT_COMBOBOX    3\n#define ODT_BUTTON      4\n#if(WINVER >= 0x0400)\n#define ODT_STATIC      5\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Owner draw actions\n */\n#define ODA_DRAWENTIRE  0x0001\n#define ODA_SELECT      0x0002\n#define ODA_FOCUS       0x0004\n\n/*\n * Owner draw state\n */\n#define ODS_SELECTED    0x0001\n#define ODS_GRAYED      0x0002\n#define ODS_DISABLED    0x0004\n#define ODS_CHECKED     0x0008\n#define ODS_FOCUS       0x0010\n#if(WINVER >= 0x0400)\n#define ODS_DEFAULT         0x0020\n#define ODS_COMBOBOXEDIT    0x1000\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0500)\n#define ODS_HOTLIGHT        0x0040\n#define ODS_INACTIVE        0x0080\n#if(_WIN32_WINNT >= 0x0500)\n#define ODS_NOACCEL         0x0100\n#define ODS_NOFOCUSRECT     0x0200\n#endif /* _WIN32_WINNT >= 0x0500 */\n#endif /* WINVER >= 0x0500 */\n\n/*\n * MEASUREITEMSTRUCT for ownerdraw\n */\ntypedef struct tagMEASUREITEMSTRUCT {\n    UINT       CtlType;\n    UINT       CtlID;\n    UINT       itemID;\n    UINT       itemWidth;\n    UINT       itemHeight;\n    ULONG_PTR  itemData;\n} MEASUREITEMSTRUCT, NEAR *PMEASUREITEMSTRUCT, FAR *LPMEASUREITEMSTRUCT;\n\n\n/*\n * DRAWITEMSTRUCT for ownerdraw\n */\ntypedef struct tagDRAWITEMSTRUCT {\n    UINT        CtlType;\n    UINT        CtlID;\n    UINT        itemID;\n    UINT        itemAction;\n    UINT        itemState;\n    HWND        hwndItem;\n    HDC         hDC;\n    RECT        rcItem;\n    ULONG_PTR   itemData;\n} DRAWITEMSTRUCT, NEAR *PDRAWITEMSTRUCT, FAR *LPDRAWITEMSTRUCT;\n\n/*\n * DELETEITEMSTRUCT for ownerdraw\n */\ntypedef struct tagDELETEITEMSTRUCT {\n    UINT       CtlType;\n    UINT       CtlID;\n    UINT       itemID;\n    HWND       hwndItem;\n    ULONG_PTR  itemData;\n} DELETEITEMSTRUCT, NEAR *PDELETEITEMSTRUCT, FAR *LPDELETEITEMSTRUCT;\n\n/*\n * COMPAREITEMSTUCT for ownerdraw sorting\n */\ntypedef struct tagCOMPAREITEMSTRUCT {\n    UINT        CtlType;\n    UINT        CtlID;\n    HWND        hwndItem;\n    UINT        itemID1;\n    ULONG_PTR   itemData1;\n    UINT        itemID2;\n    ULONG_PTR   itemData2;\n    DWORD       dwLocaleId;\n} COMPAREITEMSTRUCT, NEAR *PCOMPAREITEMSTRUCT, FAR *LPCOMPAREITEMSTRUCT;\n\n#ifndef NOMSG\n\n/*\n * Message Function Templates\n */\n\nWINUSERAPI\nBOOL\nWINAPI\nGetMessageA(\n    OUT LPMSG lpMsg,\n    IN HWND hWnd,\n    IN UINT wMsgFilterMin,\n    IN UINT wMsgFilterMax);\nWINUSERAPI\nBOOL\nWINAPI\nGetMessageW(\n    OUT LPMSG lpMsg,\n    IN HWND hWnd,\n    IN UINT wMsgFilterMin,\n    IN UINT wMsgFilterMax);\n#ifdef UNICODE\n#define GetMessage  GetMessageW\n#else\n#define GetMessage  GetMessageA\n#endif // !UNICODE\n\n\nWINUSERAPI\nBOOL\nWINAPI\nTranslateMessage(\n    IN CONST MSG *lpMsg);\n\nWINUSERAPI\nLRESULT\nWINAPI\nDispatchMessageA(\n    IN CONST MSG *lpMsg);\nWINUSERAPI\nLRESULT\nWINAPI\nDispatchMessageW(\n    IN CONST MSG *lpMsg);\n#ifdef UNICODE\n#define DispatchMessage  DispatchMessageW\n#else\n#define DispatchMessage  DispatchMessageA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMessageQueue(\n    IN int cMessagesMax);\n\nWINUSERAPI\nBOOL\nWINAPI\nPeekMessageA(\n    OUT LPMSG lpMsg,\n    IN HWND hWnd,\n    IN UINT wMsgFilterMin,\n    IN UINT wMsgFilterMax,\n    IN UINT wRemoveMsg);\nWINUSERAPI\nBOOL\nWINAPI\nPeekMessageW(\n    OUT LPMSG lpMsg,\n    IN HWND hWnd,\n    IN UINT wMsgFilterMin,\n    IN UINT wMsgFilterMax,\n    IN UINT wRemoveMsg);\n#ifdef UNICODE\n#define PeekMessage  PeekMessageW\n#else\n#define PeekMessage  PeekMessageA\n#endif // !UNICODE\n\n\n/*\n * PeekMessage() Options\n */\n#define PM_NOREMOVE         0x0000\n#define PM_REMOVE           0x0001\n#define PM_NOYIELD          0x0002\n#if(WINVER >= 0x0500)\n#define PM_QS_INPUT         (QS_INPUT << 16)\n#define PM_QS_POSTMESSAGE   ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16)\n#define PM_QS_PAINT         (QS_PAINT << 16)\n#define PM_QS_SENDMESSAGE   (QS_SENDMESSAGE << 16)\n#endif /* WINVER >= 0x0500 */\n\n\n#endif /* !NOMSG */\n\nWINUSERAPI\nBOOL\nWINAPI\nRegisterHotKey(\n    IN HWND hWnd,\n    IN int id,\n    IN UINT fsModifiers,\n    IN UINT vk);\n\nWINUSERAPI\nBOOL\nWINAPI\nUnregisterHotKey(\n    IN HWND hWnd,\n    IN int id);\n\n#define MOD_ALT         0x0001\n#define MOD_CONTROL     0x0002\n#define MOD_SHIFT       0x0004\n#define MOD_WIN         0x0008\n\n\n#define IDHOT_SNAPWINDOW        (-1)    /* SHIFT-PRINTSCRN  */\n#define IDHOT_SNAPDESKTOP       (-2)    /* PRINTSCRN        */\n\n#ifdef WIN_INTERNAL\n    #ifndef LSTRING\n    #define NOLSTRING\n    #endif /* LSTRING */\n    #ifndef LFILEIO\n    #define NOLFILEIO\n    #endif /* LFILEIO */\n#endif /* WIN_INTERNAL */\n\n#if(WINVER >= 0x0400)\n\n#define ENDSESSION_LOGOFF    0x80000000\n#endif /* WINVER >= 0x0400 */\n\n#define EWX_LOGOFF          0\n#define EWX_SHUTDOWN        0x00000001\n#define EWX_REBOOT          0x00000002\n#define EWX_FORCE           0x00000004\n#define EWX_POWEROFF        0x00000008\n#if(_WIN32_WINNT >= 0x0500)\n#define EWX_FORCEIFHUNG     0x00000010\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n\n#define ExitWindows(dwReserved, Code) ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF)\n\nWINUSERAPI\nBOOL\nWINAPI\nExitWindowsEx(\n    IN UINT uFlags,\n    IN DWORD dwReserved);\n\nWINUSERAPI\nBOOL\nWINAPI\nSwapMouseButton(\n    IN BOOL fSwap);\n\nWINUSERAPI\nDWORD\nWINAPI\nGetMessagePos(\n    VOID);\n\nWINUSERAPI\nLONG\nWINAPI\nGetMessageTime(\n    VOID);\n\nWINUSERAPI\nLPARAM\nWINAPI\nGetMessageExtraInfo(\n    VOID);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nLPARAM\nWINAPI\nSetMessageExtraInfo(\n    IN LPARAM lParam);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nLRESULT\nWINAPI\nSendMessageA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nLRESULT\nWINAPI\nSendMessageW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define SendMessage  SendMessageW\n#else\n#define SendMessage  SendMessageA\n#endif // !UNICODE\n\nWINUSERAPI\nLRESULT\nWINAPI\nSendMessageTimeoutA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam,\n    IN UINT fuFlags,\n    IN UINT uTimeout,\n    OUT PDWORD_PTR lpdwResult);\nWINUSERAPI\nLRESULT\nWINAPI\nSendMessageTimeoutW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam,\n    IN UINT fuFlags,\n    IN UINT uTimeout,\n    OUT PDWORD_PTR lpdwResult);\n#ifdef UNICODE\n#define SendMessageTimeout  SendMessageTimeoutW\n#else\n#define SendMessageTimeout  SendMessageTimeoutA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSendNotifyMessageA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nBOOL\nWINAPI\nSendNotifyMessageW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define SendNotifyMessage  SendNotifyMessageW\n#else\n#define SendNotifyMessage  SendNotifyMessageA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSendMessageCallbackA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam,\n    IN SENDASYNCPROC lpResultCallBack,\n    IN ULONG_PTR dwData);\nWINUSERAPI\nBOOL\nWINAPI\nSendMessageCallbackW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam,\n    IN SENDASYNCPROC lpResultCallBack,\n    IN ULONG_PTR dwData);\n#ifdef UNICODE\n#define SendMessageCallback  SendMessageCallbackW\n#else\n#define SendMessageCallback  SendMessageCallbackA\n#endif // !UNICODE\n\n#if(_WIN32_WINNT >= 0x0501)\ntypedef struct {\n    UINT  cbSize;\n    HDESK hdesk;\n    HWND  hwnd;\n    LUID  luid;\n} BSMINFO, *PBSMINFO;\n\nWINUSERAPI\nlong\nWINAPI\nBroadcastSystemMessageExA(\n    IN DWORD,\n    IN LPDWORD,\n    IN UINT,\n    IN WPARAM,\n    IN LPARAM,\n    OUT PBSMINFO);\nWINUSERAPI\nlong\nWINAPI\nBroadcastSystemMessageExW(\n    IN DWORD,\n    IN LPDWORD,\n    IN UINT,\n    IN WPARAM,\n    IN LPARAM,\n    OUT PBSMINFO);\n#ifdef UNICODE\n#define BroadcastSystemMessageEx  BroadcastSystemMessageExW\n#else\n#define BroadcastSystemMessageEx  BroadcastSystemMessageExA\n#endif // !UNICODE\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(WINVER >= 0x0400)\n\n#if defined(_WIN32_WINNT)\nWINUSERAPI\nlong\nWINAPI\nBroadcastSystemMessageA(\n    IN DWORD,\n    IN LPDWORD,\n    IN UINT,\n    IN WPARAM,\n    IN LPARAM);\nWINUSERAPI\nlong\nWINAPI\nBroadcastSystemMessageW(\n    IN DWORD,\n    IN LPDWORD,\n    IN UINT,\n    IN WPARAM,\n    IN LPARAM);\n#ifdef UNICODE\n#define BroadcastSystemMessage  BroadcastSystemMessageW\n#else\n#define BroadcastSystemMessage  BroadcastSystemMessageA\n#endif // !UNICODE\n#elif defined(_WIN32_WINDOWS)\n// The Win95 version isn't A/W decorated\nWINUSERAPI\nlong\nWINAPI\nBroadcastSystemMessage(\n    IN DWORD,\n    IN LPDWORD,\n    IN UINT,\n    IN WPARAM,\n    IN LPARAM);\n\n#endif\n\n//Broadcast Special Message Recipient list\n#define BSM_ALLCOMPONENTS       0x00000000\n#define BSM_VXDS                0x00000001\n#define BSM_NETDRIVER           0x00000002\n#define BSM_INSTALLABLEDRIVERS  0x00000004\n#define BSM_APPLICATIONS        0x00000008\n#define BSM_ALLDESKTOPS         0x00000010\n\n//Broadcast Special Message Flags\n#define BSF_QUERY               0x00000001\n#define BSF_IGNORECURRENTTASK   0x00000002\n#define BSF_FLUSHDISK           0x00000004\n#define BSF_NOHANG              0x00000008\n#define BSF_POSTMESSAGE         0x00000010\n#define BSF_FORCEIFHUNG         0x00000020\n#define BSF_NOTIMEOUTIFNOTHUNG  0x00000040\n#if(_WIN32_WINNT >= 0x0500)\n#define BSF_ALLOWSFW            0x00000080\n#define BSF_SENDNOTIFYMESSAGE   0x00000100\n#endif /* _WIN32_WINNT >= 0x0500 */\n#if(_WIN32_WINNT >= 0x0501)\n#define BSF_RETURNHDESK         0x00000200\n#define BSF_LUID                0x00000400\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define BROADCAST_QUERY_DENY         0x424D5144  // Return this value to deny a query.\n#endif /* WINVER >= 0x0400 */\n\n// RegisterDeviceNotification\n\n#if(WINVER >= 0x0500)\ntypedef  PVOID           HDEVNOTIFY;\ntypedef  HDEVNOTIFY     *PHDEVNOTIFY;\n\n#define DEVICE_NOTIFY_WINDOW_HANDLE          0x00000000\n#define DEVICE_NOTIFY_SERVICE_HANDLE         0x00000001\n#if(_WIN32_WINNT >= 0x0501)\n#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES  0x00000004\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nHDEVNOTIFY\nWINAPI\nRegisterDeviceNotificationA(\n    IN HANDLE hRecipient,\n    IN LPVOID NotificationFilter,\n    IN DWORD Flags\n    );\nWINUSERAPI\nHDEVNOTIFY\nWINAPI\nRegisterDeviceNotificationW(\n    IN HANDLE hRecipient,\n    IN LPVOID NotificationFilter,\n    IN DWORD Flags\n    );\n#ifdef UNICODE\n#define RegisterDeviceNotification  RegisterDeviceNotificationW\n#else\n#define RegisterDeviceNotification  RegisterDeviceNotificationA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nUnregisterDeviceNotification(\n    IN HDEVNOTIFY Handle\n    );\n#endif /* WINVER >= 0x0500 */\n\n\nWINUSERAPI\nBOOL\nWINAPI\nPostMessageA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nBOOL\nWINAPI\nPostMessageW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define PostMessage  PostMessageW\n#else\n#define PostMessage  PostMessageA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nPostThreadMessageA(\n    IN DWORD idThread,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nBOOL\nWINAPI\nPostThreadMessageW(\n    IN DWORD idThread,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define PostThreadMessage  PostThreadMessageW\n#else\n#define PostThreadMessage  PostThreadMessageA\n#endif // !UNICODE\n\n#define PostAppMessageA(idThread, wMsg, wParam, lParam)\\\n        PostThreadMessageA((DWORD)idThread, wMsg, wParam, lParam)\n#define PostAppMessageW(idThread, wMsg, wParam, lParam)\\\n        PostThreadMessageW((DWORD)idThread, wMsg, wParam, lParam)\n#ifdef UNICODE\n#define PostAppMessage  PostAppMessageW\n#else\n#define PostAppMessage  PostAppMessageA\n#endif // !UNICODE\n\n/*\n * Special HWND value for use with PostMessage() and SendMessage()\n */\n#define HWND_BROADCAST  ((HWND)0xffff)\n\n#if(WINVER >= 0x0500)\n#define HWND_MESSAGE     ((HWND)-3)\n#endif /* WINVER >= 0x0500 */\n\nWINUSERAPI\nBOOL\nWINAPI\nAttachThreadInput(\n    IN DWORD idAttach,\n    IN DWORD idAttachTo,\n    IN BOOL fAttach);\n\n\nWINUSERAPI\nBOOL\nWINAPI\nReplyMessage(\n    IN LRESULT lResult);\n\nWINUSERAPI\nBOOL\nWINAPI\nWaitMessage(\n    VOID);\n\n\nWINUSERAPI\nDWORD\nWINAPI\nWaitForInputIdle(\n    IN HANDLE hProcess,\n    IN DWORD dwMilliseconds);\n\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefWindowProcA(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefWindowProcW(\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define DefWindowProc  DefWindowProcW\n#else\n#define DefWindowProc  DefWindowProcA\n#endif // !UNICODE\n\nWINUSERAPI\nVOID\nWINAPI\nPostQuitMessage(\n    IN int nExitCode);\n\n#ifdef STRICT\n\nWINUSERAPI\nLRESULT\nWINAPI\nCallWindowProcA(\n    IN WNDPROC lpPrevWndFunc,\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nLRESULT\nWINAPI\nCallWindowProcW(\n    IN WNDPROC lpPrevWndFunc,\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define CallWindowProc  CallWindowProcW\n#else\n#define CallWindowProc  CallWindowProcA\n#endif // !UNICODE\n\n#else /* !STRICT */\n\nWINUSERAPI\nLRESULT\nWINAPI\nCallWindowProcA(\n    IN FARPROC lpPrevWndFunc,\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nLRESULT\nWINAPI\nCallWindowProcW(\n    IN FARPROC lpPrevWndFunc,\n    IN HWND hWnd,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define CallWindowProc  CallWindowProcW\n#else\n#define CallWindowProc  CallWindowProcA\n#endif // !UNICODE\n\n#endif /* !STRICT */\n\nWINUSERAPI\nBOOL\nWINAPI\nInSendMessage(\n    VOID);\n\n#if(WINVER >= 0x0500)\nWINUSERAPI\nDWORD\nWINAPI\nInSendMessageEx(\n    IN LPVOID lpReserved);\n\n/*\n * InSendMessageEx return value\n */\n#define ISMEX_NOSEND      0x00000000\n#define ISMEX_SEND        0x00000001\n#define ISMEX_NOTIFY      0x00000002\n#define ISMEX_CALLBACK    0x00000004\n#define ISMEX_REPLIED     0x00000008\n#endif /* WINVER >= 0x0500 */\n\nWINUSERAPI\nUINT\nWINAPI\nGetDoubleClickTime(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetDoubleClickTime(\n    IN UINT);\n\nWINUSERAPI\nATOM\nWINAPI\nRegisterClassA(\n    IN CONST WNDCLASSA *lpWndClass);\nWINUSERAPI\nATOM\nWINAPI\nRegisterClassW(\n    IN CONST WNDCLASSW *lpWndClass);\n#ifdef UNICODE\n#define RegisterClass  RegisterClassW\n#else\n#define RegisterClass  RegisterClassA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nUnregisterClassA(\n    IN LPCSTR lpClassName,\n    IN HINSTANCE hInstance);\nWINUSERAPI\nBOOL\nWINAPI\nUnregisterClassW(\n    IN LPCWSTR lpClassName,\n    IN HINSTANCE hInstance);\n#ifdef UNICODE\n#define UnregisterClass  UnregisterClassW\n#else\n#define UnregisterClass  UnregisterClassA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nGetClassInfoA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpClassName,\n    OUT LPWNDCLASSA lpWndClass);\nWINUSERAPI\nBOOL\nWINAPI\nGetClassInfoW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpClassName,\n    OUT LPWNDCLASSW lpWndClass);\n#ifdef UNICODE\n#define GetClassInfo  GetClassInfoW\n#else\n#define GetClassInfo  GetClassInfoA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nATOM\nWINAPI\nRegisterClassExA(\n    IN CONST WNDCLASSEXA *);\nWINUSERAPI\nATOM\nWINAPI\nRegisterClassExW(\n    IN CONST WNDCLASSEXW *);\n#ifdef UNICODE\n#define RegisterClassEx  RegisterClassExW\n#else\n#define RegisterClassEx  RegisterClassExA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nGetClassInfoExA(\n    IN HINSTANCE,\n    IN LPCSTR,\n    OUT LPWNDCLASSEXA);\nWINUSERAPI\nBOOL\nWINAPI\nGetClassInfoExW(\n    IN HINSTANCE,\n    IN LPCWSTR,\n    OUT LPWNDCLASSEXW);\n#ifdef UNICODE\n#define GetClassInfoEx  GetClassInfoExW\n#else\n#define GetClassInfoEx  GetClassInfoExA\n#endif // !UNICODE\n\n#endif /* WINVER >= 0x0400 */\n\n#define CW_USEDEFAULT       ((int)0x80000000)\n\n/*\n * Special value for CreateWindow, et al.\n */\n#define HWND_DESKTOP        ((HWND)0)\n\n#if(_WIN32_WINNT >= 0x0501)\ntypedef BOOLEAN (WINAPI * PREGISTERCLASSNAMEW)(LPCWSTR);\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nHWND\nWINAPI\nCreateWindowExA(\n    IN DWORD dwExStyle,\n    IN LPCSTR lpClassName,\n    IN LPCSTR lpWindowName,\n    IN DWORD dwStyle,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight,\n    IN HWND hWndParent,\n    IN HMENU hMenu,\n    IN HINSTANCE hInstance,\n    IN LPVOID lpParam);\nWINUSERAPI\nHWND\nWINAPI\nCreateWindowExW(\n    IN DWORD dwExStyle,\n    IN LPCWSTR lpClassName,\n    IN LPCWSTR lpWindowName,\n    IN DWORD dwStyle,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight,\n    IN HWND hWndParent,\n    IN HMENU hMenu,\n    IN HINSTANCE hInstance,\n    IN LPVOID lpParam);\n#ifdef UNICODE\n#define CreateWindowEx  CreateWindowExW\n#else\n#define CreateWindowEx  CreateWindowExA\n#endif // !UNICODE\n\n#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\\\nnWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\\\nCreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\\\nnWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\n#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\\\nnWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\\\nCreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\\\nnWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\n#ifdef UNICODE\n#define CreateWindow  CreateWindowW\n#else\n#define CreateWindow  CreateWindowA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nIsWindow(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsMenu(\n    IN HMENU hMenu);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsChild(\n    IN HWND hWndParent,\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyWindow(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nShowWindow(\n    IN HWND hWnd,\n    IN int nCmdShow);\n\n#if(WINVER >= 0x0500)\nWINUSERAPI\nBOOL\nWINAPI\nAnimateWindow(\n    IN HWND hWnd,\n    IN DWORD dwTime,\n    IN DWORD dwFlags);\n#endif /* WINVER >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0500)\n#if defined(_WINGDI_) && !defined (NOGDI)\n\nWINUSERAPI\nBOOL\nWINAPI\nUpdateLayeredWindow(\n    HWND hWnd,\n    HDC hdcDst,\n    POINT *pptDst,\n    SIZE *psize,\n    HDC hdcSrc,\n    POINT *pptSrc,\n    COLORREF crKey,\n    BLENDFUNCTION *pblend,\n    DWORD dwFlags);\n#endif\n\n#if(_WIN32_WINNT >= 0x0501)\nWINUSERAPI\nBOOL\nWINAPI\nGetLayeredWindowAttributes(\n    HWND hwnd,\n    COLORREF *pcrKey,\n    BYTE *pbAlpha,\n    DWORD *pdwFlags);\n\n#define PW_CLIENTONLY           0x00000001\n\n\nWINUSERAPI\nBOOL\nWINAPI\nPrintWindow(\n    IN HWND hwnd,\n    IN HDC hdcBlt,\n    IN UINT nFlags);\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nBOOL\nWINAPI\nSetLayeredWindowAttributes(\n    HWND hwnd,\n    COLORREF crKey,\n    BYTE bAlpha,\n    DWORD dwFlags);\n\n#define LWA_COLORKEY            0x00000001\n#define LWA_ALPHA               0x00000002\n\n\n#define ULW_COLORKEY            0x00000001\n#define ULW_ALPHA               0x00000002\n#define ULW_OPAQUE              0x00000004\n\n\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nBOOL\nWINAPI\nShowWindowAsync(\n    IN HWND hWnd,\n    IN int nCmdShow);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nFlashWindow(\n    IN HWND hWnd,\n    IN BOOL bInvert);\n\n#if(WINVER >= 0x0500)\ntypedef struct {\n    UINT  cbSize;\n    HWND  hwnd;\n    DWORD dwFlags;\n    UINT  uCount;\n    DWORD dwTimeout;\n} FLASHWINFO, *PFLASHWINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nFlashWindowEx(\n    PFLASHWINFO pfwi);\n\n#define FLASHW_STOP         0\n#define FLASHW_CAPTION      0x00000001\n#define FLASHW_TRAY         0x00000002\n#define FLASHW_ALL          (FLASHW_CAPTION | FLASHW_TRAY)\n#define FLASHW_TIMER        0x00000004\n#define FLASHW_TIMERNOFG    0x0000000C\n\n#endif /* WINVER >= 0x0500 */\n\nWINUSERAPI\nBOOL\nWINAPI\nShowOwnedPopups(\n    IN HWND hWnd,\n    IN BOOL fShow);\n\nWINUSERAPI\nBOOL\nWINAPI\nOpenIcon(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nCloseWindow(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nMoveWindow(\n    IN HWND hWnd,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight,\n    IN BOOL bRepaint);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetWindowPos(\n    IN HWND hWnd,\n    IN HWND hWndInsertAfter,\n    IN int X,\n    IN int Y,\n    IN int cx,\n    IN int cy,\n    IN UINT uFlags);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetWindowPlacement(\n    IN HWND hWnd,\n    OUT WINDOWPLACEMENT *lpwndpl);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetWindowPlacement(\n    IN HWND hWnd,\n    IN CONST WINDOWPLACEMENT *lpwndpl);\n\n\n#ifndef NODEFERWINDOWPOS\n\nWINUSERAPI\nHDWP\nWINAPI\nBeginDeferWindowPos(\n    IN int nNumWindows);\n\nWINUSERAPI\nHDWP\nWINAPI\nDeferWindowPos(\n    IN HDWP hWinPosInfo,\n    IN HWND hWnd,\n    IN HWND hWndInsertAfter,\n    IN int x,\n    IN int y,\n    IN int cx,\n    IN int cy,\n    IN UINT uFlags);\n\nWINUSERAPI\nBOOL\nWINAPI\nEndDeferWindowPos(\n    IN HDWP hWinPosInfo);\n\n#endif /* !NODEFERWINDOWPOS */\n\nWINUSERAPI\nBOOL\nWINAPI\nIsWindowVisible(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsIconic(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nAnyPopup(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nBringWindowToTop(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsZoomed(\n    IN HWND hWnd);\n\n/*\n * SetWindowPos Flags\n */\n#define SWP_NOSIZE          0x0001\n#define SWP_NOMOVE          0x0002\n#define SWP_NOZORDER        0x0004\n#define SWP_NOREDRAW        0x0008\n#define SWP_NOACTIVATE      0x0010\n#define SWP_FRAMECHANGED    0x0020  /* The frame changed: send WM_NCCALCSIZE */\n#define SWP_SHOWWINDOW      0x0040\n#define SWP_HIDEWINDOW      0x0080\n#define SWP_NOCOPYBITS      0x0100\n#define SWP_NOOWNERZORDER   0x0200  /* Don't do owner Z ordering */\n#define SWP_NOSENDCHANGING  0x0400  /* Don't send WM_WINDOWPOSCHANGING */\n\n#define SWP_DRAWFRAME       SWP_FRAMECHANGED\n#define SWP_NOREPOSITION    SWP_NOOWNERZORDER\n\n#if(WINVER >= 0x0400)\n#define SWP_DEFERERASE      0x2000\n#define SWP_ASYNCWINDOWPOS  0x4000\n#endif /* WINVER >= 0x0400 */\n\n\n#define HWND_TOP        ((HWND)0)\n#define HWND_BOTTOM     ((HWND)1)\n#define HWND_TOPMOST    ((HWND)-1)\n#define HWND_NOTOPMOST  ((HWND)-2)\n\n#ifndef NOCTLMGR\n\n/*\n * WARNING:\n * The following structures must NOT be DWORD padded because they are\n * followed by strings, etc that do not have to be DWORD aligned.\n */\n#include <pshpack2.h>\n\n/*\n * original NT 32 bit dialog template:\n */\ntypedef struct {\n    DWORD style;\n    DWORD dwExtendedStyle;\n    WORD cdit;\n    short x;\n    short y;\n    short cx;\n    short cy;\n} DLGTEMPLATE;\ntypedef DLGTEMPLATE *LPDLGTEMPLATEA;\ntypedef DLGTEMPLATE *LPDLGTEMPLATEW;\n#ifdef UNICODE\ntypedef LPDLGTEMPLATEW LPDLGTEMPLATE;\n#else\ntypedef LPDLGTEMPLATEA LPDLGTEMPLATE;\n#endif // UNICODE\ntypedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA;\ntypedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW;\n#ifdef UNICODE\ntypedef LPCDLGTEMPLATEW LPCDLGTEMPLATE;\n#else\ntypedef LPCDLGTEMPLATEA LPCDLGTEMPLATE;\n#endif // UNICODE\n\n/*\n * 32 bit Dialog item template.\n */\ntypedef struct {\n    DWORD style;\n    DWORD dwExtendedStyle;\n    short x;\n    short y;\n    short cx;\n    short cy;\n    WORD id;\n} DLGITEMTEMPLATE;\ntypedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;\ntypedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;\n#ifdef UNICODE\ntypedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE;\n#else\ntypedef PDLGITEMTEMPLATEA PDLGITEMTEMPLATE;\n#endif // UNICODE\ntypedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;\ntypedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;\n#ifdef UNICODE\ntypedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE;\n#else\ntypedef LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE;\n#endif // UNICODE\n\n\n#include <poppack.h> /* Resume normal packing */\n\nWINUSERAPI\nHWND\nWINAPI\nCreateDialogParamA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpTemplateName,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\nWINUSERAPI\nHWND\nWINAPI\nCreateDialogParamW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpTemplateName,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\n#ifdef UNICODE\n#define CreateDialogParam  CreateDialogParamW\n#else\n#define CreateDialogParam  CreateDialogParamA\n#endif // !UNICODE\n\nWINUSERAPI\nHWND\nWINAPI\nCreateDialogIndirectParamA(\n    IN HINSTANCE hInstance,\n    IN LPCDLGTEMPLATEA lpTemplate,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\nWINUSERAPI\nHWND\nWINAPI\nCreateDialogIndirectParamW(\n    IN HINSTANCE hInstance,\n    IN LPCDLGTEMPLATEW lpTemplate,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\n#ifdef UNICODE\n#define CreateDialogIndirectParam  CreateDialogIndirectParamW\n#else\n#define CreateDialogIndirectParam  CreateDialogIndirectParamA\n#endif // !UNICODE\n\n#define CreateDialogA(hInstance, lpName, hWndParent, lpDialogFunc) \\\nCreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L)\n#define CreateDialogW(hInstance, lpName, hWndParent, lpDialogFunc) \\\nCreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L)\n#ifdef UNICODE\n#define CreateDialog  CreateDialogW\n#else\n#define CreateDialog  CreateDialogA\n#endif // !UNICODE\n\n#define CreateDialogIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nCreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#define CreateDialogIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nCreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#ifdef UNICODE\n#define CreateDialogIndirect  CreateDialogIndirectW\n#else\n#define CreateDialogIndirect  CreateDialogIndirectA\n#endif // !UNICODE\n\nWINUSERAPI\nINT_PTR\nWINAPI\nDialogBoxParamA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpTemplateName,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\nWINUSERAPI\nINT_PTR\nWINAPI\nDialogBoxParamW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpTemplateName,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\n#ifdef UNICODE\n#define DialogBoxParam  DialogBoxParamW\n#else\n#define DialogBoxParam  DialogBoxParamA\n#endif // !UNICODE\n\nWINUSERAPI\nINT_PTR\nWINAPI\nDialogBoxIndirectParamA(\n    IN HINSTANCE hInstance,\n    IN LPCDLGTEMPLATEA hDialogTemplate,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\nWINUSERAPI\nINT_PTR\nWINAPI\nDialogBoxIndirectParamW(\n    IN HINSTANCE hInstance,\n    IN LPCDLGTEMPLATEW hDialogTemplate,\n    IN HWND hWndParent,\n    IN DLGPROC lpDialogFunc,\n    IN LPARAM dwInitParam);\n#ifdef UNICODE\n#define DialogBoxIndirectParam  DialogBoxIndirectParamW\n#else\n#define DialogBoxIndirectParam  DialogBoxIndirectParamA\n#endif // !UNICODE\n\n#define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nDialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nDialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#ifdef UNICODE\n#define DialogBox  DialogBoxW\n#else\n#define DialogBox  DialogBoxA\n#endif // !UNICODE\n\n#define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nDialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) \\\nDialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L)\n#ifdef UNICODE\n#define DialogBoxIndirect  DialogBoxIndirectW\n#else\n#define DialogBoxIndirect  DialogBoxIndirectA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nEndDialog(\n    IN HWND hDlg,\n    IN INT_PTR nResult);\n\nWINUSERAPI\nHWND\nWINAPI\nGetDlgItem(\n    IN HWND hDlg,\n    IN int nIDDlgItem);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetDlgItemInt(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    IN UINT uValue,\n    IN BOOL bSigned);\n\nWINUSERAPI\nUINT\nWINAPI\nGetDlgItemInt(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    OUT BOOL *lpTranslated,\n    IN BOOL bSigned);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetDlgItemTextA(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    IN LPCSTR lpString);\nWINUSERAPI\nBOOL\nWINAPI\nSetDlgItemTextW(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    IN LPCWSTR lpString);\n#ifdef UNICODE\n#define SetDlgItemText  SetDlgItemTextW\n#else\n#define SetDlgItemText  SetDlgItemTextA\n#endif // !UNICODE\n\nWINUSERAPI\nUINT\nWINAPI\nGetDlgItemTextA(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    OUT LPSTR lpString,\n    IN int nMaxCount);\nWINUSERAPI\nUINT\nWINAPI\nGetDlgItemTextW(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    OUT LPWSTR lpString,\n    IN int nMaxCount);\n#ifdef UNICODE\n#define GetDlgItemText  GetDlgItemTextW\n#else\n#define GetDlgItemText  GetDlgItemTextA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nCheckDlgButton(\n    IN HWND hDlg,\n    IN int nIDButton,\n    IN UINT uCheck);\n\nWINUSERAPI\nBOOL\nWINAPI\nCheckRadioButton(\n    IN HWND hDlg,\n    IN int nIDFirstButton,\n    IN int nIDLastButton,\n    IN int nIDCheckButton);\n\nWINUSERAPI\nUINT\nWINAPI\nIsDlgButtonChecked(\n    IN HWND hDlg,\n    IN int nIDButton);\n\nWINUSERAPI\nLRESULT\nWINAPI\nSendDlgItemMessageA(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nLRESULT\nWINAPI\nSendDlgItemMessageW(\n    IN HWND hDlg,\n    IN int nIDDlgItem,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define SendDlgItemMessage  SendDlgItemMessageW\n#else\n#define SendDlgItemMessage  SendDlgItemMessageA\n#endif // !UNICODE\n\nWINUSERAPI\nHWND\nWINAPI\nGetNextDlgGroupItem(\n    IN HWND hDlg,\n    IN HWND hCtl,\n    IN BOOL bPrevious);\n\nWINUSERAPI\nHWND\nWINAPI\nGetNextDlgTabItem(\n    IN HWND hDlg,\n    IN HWND hCtl,\n    IN BOOL bPrevious);\n\nWINUSERAPI\nint\nWINAPI\nGetDlgCtrlID(\n    IN HWND hWnd);\n\nWINUSERAPI\nlong\nWINAPI\nGetDialogBaseUnits(VOID);\n\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefDlgProcA(\n    IN HWND hDlg,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefDlgProcW(\n    IN HWND hDlg,\n    IN UINT Msg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define DefDlgProc  DefDlgProcW\n#else\n#define DefDlgProc  DefDlgProcA\n#endif // !UNICODE\n\n/*\n * Window extra byted needed for private dialog classes.\n */\n#ifndef _MAC\n#define DLGWINDOWEXTRA 30\n#else\n#define DLGWINDOWEXTRA 48\n#endif\n\n#endif /* !NOCTLMGR */\n\n#ifndef NOMSG\n\nWINUSERAPI\nBOOL\nWINAPI\nCallMsgFilterA(\n    IN LPMSG lpMsg,\n    IN int nCode);\nWINUSERAPI\nBOOL\nWINAPI\nCallMsgFilterW(\n    IN LPMSG lpMsg,\n    IN int nCode);\n#ifdef UNICODE\n#define CallMsgFilter  CallMsgFilterW\n#else\n#define CallMsgFilter  CallMsgFilterA\n#endif // !UNICODE\n\n#endif /* !NOMSG */\n\n#ifndef NOCLIPBOARD\n\n/*\n * Clipboard Manager Functions\n */\n\nWINUSERAPI\nBOOL\nWINAPI\nOpenClipboard(\n    IN HWND hWndNewOwner);\n\nWINUSERAPI\nBOOL\nWINAPI\nCloseClipboard(\n    VOID);\n\n\n#if(WINVER >= 0x0500)\n\nWINUSERAPI\nDWORD\nWINAPI\nGetClipboardSequenceNumber(\n    VOID);\n\n#endif /* WINVER >= 0x0500 */\n\nWINUSERAPI\nHWND\nWINAPI\nGetClipboardOwner(\n    VOID);\n\nWINUSERAPI\nHWND\nWINAPI\nSetClipboardViewer(\n    IN HWND hWndNewViewer);\n\nWINUSERAPI\nHWND\nWINAPI\nGetClipboardViewer(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nChangeClipboardChain(\n    IN HWND hWndRemove,\n    IN HWND hWndNewNext);\n\nWINUSERAPI\nHANDLE\nWINAPI\nSetClipboardData(\n    IN UINT uFormat,\n    IN HANDLE hMem);\n\nWINUSERAPI\nHANDLE\nWINAPI\nGetClipboardData(\n    IN UINT uFormat);\n\nWINUSERAPI\nUINT\nWINAPI\nRegisterClipboardFormatA(\n    IN LPCSTR lpszFormat);\nWINUSERAPI\nUINT\nWINAPI\nRegisterClipboardFormatW(\n    IN LPCWSTR lpszFormat);\n#ifdef UNICODE\n#define RegisterClipboardFormat  RegisterClipboardFormatW\n#else\n#define RegisterClipboardFormat  RegisterClipboardFormatA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nCountClipboardFormats(\n    VOID);\n\nWINUSERAPI\nUINT\nWINAPI\nEnumClipboardFormats(\n    IN UINT format);\n\nWINUSERAPI\nint\nWINAPI\nGetClipboardFormatNameA(\n    IN UINT format,\n    OUT LPSTR lpszFormatName,\n    IN int cchMaxCount);\nWINUSERAPI\nint\nWINAPI\nGetClipboardFormatNameW(\n    IN UINT format,\n    OUT LPWSTR lpszFormatName,\n    IN int cchMaxCount);\n#ifdef UNICODE\n#define GetClipboardFormatName  GetClipboardFormatNameW\n#else\n#define GetClipboardFormatName  GetClipboardFormatNameA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nEmptyClipboard(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsClipboardFormatAvailable(\n    IN UINT format);\n\nWINUSERAPI\nint\nWINAPI\nGetPriorityClipboardFormat(\n    OUT UINT *paFormatPriorityList,\n    IN int cFormats);\n\nWINUSERAPI\nHWND\nWINAPI\nGetOpenClipboardWindow(\n    VOID);\n\n#endif /* !NOCLIPBOARD */\n\n/*\n * Character Translation Routines\n */\n\nWINUSERAPI\nBOOL\nWINAPI\nCharToOemA(\n    IN LPCSTR lpszSrc,\n    OUT LPSTR lpszDst);\nWINUSERAPI\nBOOL\nWINAPI\nCharToOemW(\n    IN LPCWSTR lpszSrc,\n    OUT LPSTR lpszDst);\n#ifdef UNICODE\n#define CharToOem  CharToOemW\n#else\n#define CharToOem  CharToOemA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nOemToCharA(\n    IN LPCSTR lpszSrc,\n    OUT LPSTR lpszDst);\nWINUSERAPI\nBOOL\nWINAPI\nOemToCharW(\n    IN LPCSTR lpszSrc,\n    OUT LPWSTR lpszDst);\n#ifdef UNICODE\n#define OemToChar  OemToCharW\n#else\n#define OemToChar  OemToCharA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nCharToOemBuffA(\n    IN LPCSTR lpszSrc,\n    OUT LPSTR lpszDst,\n    IN DWORD cchDstLength);\nWINUSERAPI\nBOOL\nWINAPI\nCharToOemBuffW(\n    IN LPCWSTR lpszSrc,\n    OUT LPSTR lpszDst,\n    IN DWORD cchDstLength);\n#ifdef UNICODE\n#define CharToOemBuff  CharToOemBuffW\n#else\n#define CharToOemBuff  CharToOemBuffA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nOemToCharBuffA(\n    IN LPCSTR lpszSrc,\n    OUT LPSTR lpszDst,\n    IN DWORD cchDstLength);\nWINUSERAPI\nBOOL\nWINAPI\nOemToCharBuffW(\n    IN LPCSTR lpszSrc,\n    OUT LPWSTR lpszDst,\n    IN DWORD cchDstLength);\n#ifdef UNICODE\n#define OemToCharBuff  OemToCharBuffW\n#else\n#define OemToCharBuff  OemToCharBuffA\n#endif // !UNICODE\n\nWINUSERAPI\nLPSTR\nWINAPI\nCharUpperA(\n    IN OUT LPSTR lpsz);\nWINUSERAPI\nLPWSTR\nWINAPI\nCharUpperW(\n    IN OUT LPWSTR lpsz);\n#ifdef UNICODE\n#define CharUpper  CharUpperW\n#else\n#define CharUpper  CharUpperA\n#endif // !UNICODE\n\nWINUSERAPI\nDWORD\nWINAPI\nCharUpperBuffA(\n    IN OUT LPSTR lpsz,\n    IN DWORD cchLength);\nWINUSERAPI\nDWORD\nWINAPI\nCharUpperBuffW(\n    IN OUT LPWSTR lpsz,\n    IN DWORD cchLength);\n#ifdef UNICODE\n#define CharUpperBuff  CharUpperBuffW\n#else\n#define CharUpperBuff  CharUpperBuffA\n#endif // !UNICODE\n\nWINUSERAPI\nLPSTR\nWINAPI\nCharLowerA(\n    IN OUT LPSTR lpsz);\nWINUSERAPI\nLPWSTR\nWINAPI\nCharLowerW(\n    IN OUT LPWSTR lpsz);\n#ifdef UNICODE\n#define CharLower  CharLowerW\n#else\n#define CharLower  CharLowerA\n#endif // !UNICODE\n\nWINUSERAPI\nDWORD\nWINAPI\nCharLowerBuffA(\n    IN OUT LPSTR lpsz,\n    IN DWORD cchLength);\nWINUSERAPI\nDWORD\nWINAPI\nCharLowerBuffW(\n    IN OUT LPWSTR lpsz,\n    IN DWORD cchLength);\n#ifdef UNICODE\n#define CharLowerBuff  CharLowerBuffW\n#else\n#define CharLowerBuff  CharLowerBuffA\n#endif // !UNICODE\n\nWINUSERAPI\nLPSTR\nWINAPI\nCharNextA(\n    IN LPCSTR lpsz);\nWINUSERAPI\nLPWSTR\nWINAPI\nCharNextW(\n    IN LPCWSTR lpsz);\n#ifdef UNICODE\n#define CharNext  CharNextW\n#else\n#define CharNext  CharNextA\n#endif // !UNICODE\n\nWINUSERAPI\nLPSTR\nWINAPI\nCharPrevA(\n    IN LPCSTR lpszStart,\n    IN LPCSTR lpszCurrent);\nWINUSERAPI\nLPWSTR\nWINAPI\nCharPrevW(\n    IN LPCWSTR lpszStart,\n    IN LPCWSTR lpszCurrent);\n#ifdef UNICODE\n#define CharPrev  CharPrevW\n#else\n#define CharPrev  CharPrevA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nLPSTR\nWINAPI\nCharNextExA(\n     IN WORD CodePage,\n     IN LPCSTR lpCurrentChar,\n     IN DWORD dwFlags);\n\nWINUSERAPI\nLPSTR\nWINAPI\nCharPrevExA(\n     IN WORD CodePage,\n     IN LPCSTR lpStart,\n     IN LPCSTR lpCurrentChar,\n     IN DWORD dwFlags);\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Compatibility defines for character translation routines\n */\n#define AnsiToOem CharToOemA\n#define OemToAnsi OemToCharA\n#define AnsiToOemBuff CharToOemBuffA\n#define OemToAnsiBuff OemToCharBuffA\n#define AnsiUpper CharUpperA\n#define AnsiUpperBuff CharUpperBuffA\n#define AnsiLower CharLowerA\n#define AnsiLowerBuff CharLowerBuffA\n#define AnsiNext CharNextA\n#define AnsiPrev CharPrevA\n\n#ifndef  NOLANGUAGE\n/*\n * Language dependent Routines\n */\n\nWINUSERAPI\nBOOL\nWINAPI\nIsCharAlphaA(\n    IN CHAR ch);\nWINUSERAPI\nBOOL\nWINAPI\nIsCharAlphaW(\n    IN WCHAR ch);\n#ifdef UNICODE\n#define IsCharAlpha  IsCharAlphaW\n#else\n#define IsCharAlpha  IsCharAlphaA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nIsCharAlphaNumericA(\n    IN CHAR ch);\nWINUSERAPI\nBOOL\nWINAPI\nIsCharAlphaNumericW(\n    IN WCHAR ch);\n#ifdef UNICODE\n#define IsCharAlphaNumeric  IsCharAlphaNumericW\n#else\n#define IsCharAlphaNumeric  IsCharAlphaNumericA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nIsCharUpperA(\n    IN CHAR ch);\nWINUSERAPI\nBOOL\nWINAPI\nIsCharUpperW(\n    IN WCHAR ch);\n#ifdef UNICODE\n#define IsCharUpper  IsCharUpperW\n#else\n#define IsCharUpper  IsCharUpperA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nIsCharLowerA(\n    IN CHAR ch);\nWINUSERAPI\nBOOL\nWINAPI\nIsCharLowerW(\n    IN WCHAR ch);\n#ifdef UNICODE\n#define IsCharLower  IsCharLowerW\n#else\n#define IsCharLower  IsCharLowerA\n#endif // !UNICODE\n\n#endif  /* !NOLANGUAGE */\n\nWINUSERAPI\nHWND\nWINAPI\nSetFocus(\n    IN HWND hWnd);\n\nWINUSERAPI\nHWND\nWINAPI\nGetActiveWindow(\n    VOID);\n\nWINUSERAPI\nHWND\nWINAPI\nGetFocus(\n    VOID);\n\nWINUSERAPI\nUINT\nWINAPI\nGetKBCodePage(\n    VOID);\n\nWINUSERAPI\nSHORT\nWINAPI\nGetKeyState(\n    IN int nVirtKey);\n\nWINUSERAPI\nSHORT\nWINAPI\nGetAsyncKeyState(\n    IN int vKey);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetKeyboardState(\n    OUT PBYTE lpKeyState);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetKeyboardState(\n    IN LPBYTE lpKeyState);\n\nWINUSERAPI\nint\nWINAPI\nGetKeyNameTextA(\n    IN LONG lParam,\n    OUT LPSTR lpString,\n    IN int nSize\n    );\nWINUSERAPI\nint\nWINAPI\nGetKeyNameTextW(\n    IN LONG lParam,\n    OUT LPWSTR lpString,\n    IN int nSize\n    );\n#ifdef UNICODE\n#define GetKeyNameText  GetKeyNameTextW\n#else\n#define GetKeyNameText  GetKeyNameTextA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nGetKeyboardType(\n    IN int nTypeFlag);\n\nWINUSERAPI\nint\nWINAPI\nToAscii(\n    IN UINT uVirtKey,\n    IN UINT uScanCode,\n    IN CONST BYTE *lpKeyState,\n    OUT LPWORD lpChar,\n    IN UINT uFlags);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nint\nWINAPI\nToAsciiEx(\n    IN UINT uVirtKey,\n    IN UINT uScanCode,\n    IN CONST BYTE *lpKeyState,\n    OUT LPWORD lpChar,\n    IN UINT uFlags,\n    IN HKL dwhkl);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nint\nWINAPI\nToUnicode(\n    IN UINT wVirtKey,\n    IN UINT wScanCode,\n    IN CONST BYTE *lpKeyState,\n    OUT LPWSTR pwszBuff,\n    IN int cchBuff,\n    IN UINT wFlags);\n\nWINUSERAPI\nDWORD\nWINAPI\nOemKeyScan(\n    IN WORD wOemChar);\n\nWINUSERAPI\nSHORT\nWINAPI\nVkKeyScanA(\n    IN CHAR ch);\nWINUSERAPI\nSHORT\nWINAPI\nVkKeyScanW(\n    IN WCHAR ch);\n#ifdef UNICODE\n#define VkKeyScan  VkKeyScanW\n#else\n#define VkKeyScan  VkKeyScanA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nSHORT\nWINAPI\nVkKeyScanExA(\n    IN CHAR  ch,\n    IN HKL   dwhkl);\nWINUSERAPI\nSHORT\nWINAPI\nVkKeyScanExW(\n    IN WCHAR  ch,\n    IN HKL   dwhkl);\n#ifdef UNICODE\n#define VkKeyScanEx  VkKeyScanExW\n#else\n#define VkKeyScanEx  VkKeyScanExA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n#define KEYEVENTF_EXTENDEDKEY 0x0001\n#define KEYEVENTF_KEYUP       0x0002\n#if(_WIN32_WINNT >= 0x0500)\n#define KEYEVENTF_UNICODE     0x0004\n#define KEYEVENTF_SCANCODE    0x0008\n#endif /* _WIN32_WINNT >= 0x0500 */\n\nWINUSERAPI\nVOID\nWINAPI\nkeybd_event(\n    IN BYTE bVk,\n    IN BYTE bScan,\n    IN DWORD dwFlags,\n    IN ULONG_PTR dwExtraInfo);\n\n#define MOUSEEVENTF_MOVE        0x0001 /* mouse move */\n#define MOUSEEVENTF_LEFTDOWN    0x0002 /* left button down */\n#define MOUSEEVENTF_LEFTUP      0x0004 /* left button up */\n#define MOUSEEVENTF_RIGHTDOWN   0x0008 /* right button down */\n#define MOUSEEVENTF_RIGHTUP     0x0010 /* right button up */\n#define MOUSEEVENTF_MIDDLEDOWN  0x0020 /* middle button down */\n#define MOUSEEVENTF_MIDDLEUP    0x0040 /* middle button up */\n#define MOUSEEVENTF_XDOWN       0x0080 /* x button down */\n#define MOUSEEVENTF_XUP         0x0100 /* x button down */\n#define MOUSEEVENTF_WHEEL       0x0800 /* wheel button rolled */\n#define MOUSEEVENTF_VIRTUALDESK 0x4000 /* map to entire virtual desktop */\n#define MOUSEEVENTF_ABSOLUTE    0x8000 /* absolute move */\n\n\n\nWINUSERAPI\nVOID\nWINAPI\nmouse_event(\n    IN DWORD dwFlags,\n    IN DWORD dx,\n    IN DWORD dy,\n    IN DWORD dwData,\n    IN ULONG_PTR dwExtraInfo);\n\n#if (_WIN32_WINNT > 0x0400)\n\ntypedef struct tagMOUSEINPUT {\n    LONG    dx;\n    LONG    dy;\n    DWORD   mouseData;\n    DWORD   dwFlags;\n    DWORD   time;\n    ULONG_PTR dwExtraInfo;\n} MOUSEINPUT, *PMOUSEINPUT, FAR* LPMOUSEINPUT;\n\ntypedef struct tagKEYBDINPUT {\n    WORD    wVk;\n    WORD    wScan;\n    DWORD   dwFlags;\n    DWORD   time;\n    ULONG_PTR dwExtraInfo;\n} KEYBDINPUT, *PKEYBDINPUT, FAR* LPKEYBDINPUT;\n\ntypedef struct tagHARDWAREINPUT {\n    DWORD   uMsg;\n    WORD    wParamL;\n    WORD    wParamH;\n} HARDWAREINPUT, *PHARDWAREINPUT, FAR* LPHARDWAREINPUT;\n\n#define INPUT_MOUSE     0\n#define INPUT_KEYBOARD  1\n#define INPUT_HARDWARE  2\n\ntypedef struct tagINPUT {\n    DWORD   type;\n\n    union\n    {\n        MOUSEINPUT      mi;\n        KEYBDINPUT      ki;\n        HARDWAREINPUT   hi;\n    };\n} INPUT, *PINPUT, FAR* LPINPUT;\n\nWINUSERAPI\nUINT\nWINAPI\nSendInput(\n    IN UINT    cInputs,     // number of input in the array\n    IN LPINPUT pInputs,     // array of inputs\n    IN int     cbSize);     // sizeof(INPUT)\n\n#endif // (_WIN32_WINNT > 0x0400)\n\n#if(_WIN32_WINNT >= 0x0500)\ntypedef struct tagLASTINPUTINFO {\n    UINT cbSize;\n    DWORD dwTime;\n} LASTINPUTINFO, * PLASTINPUTINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetLastInputInfo(\n    OUT PLASTINPUTINFO plii);\n#endif /* _WIN32_WINNT >= 0x0500 */\n\nWINUSERAPI\nUINT\nWINAPI\nMapVirtualKeyA(\n    IN UINT uCode,\n    IN UINT uMapType);\nWINUSERAPI\nUINT\nWINAPI\nMapVirtualKeyW(\n    IN UINT uCode,\n    IN UINT uMapType);\n#ifdef UNICODE\n#define MapVirtualKey  MapVirtualKeyW\n#else\n#define MapVirtualKey  MapVirtualKeyA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nUINT\nWINAPI\nMapVirtualKeyExA(\n    IN UINT uCode,\n    IN UINT uMapType,\n    IN HKL dwhkl);\nWINUSERAPI\nUINT\nWINAPI\nMapVirtualKeyExW(\n    IN UINT uCode,\n    IN UINT uMapType,\n    IN HKL dwhkl);\n#ifdef UNICODE\n#define MapVirtualKeyEx  MapVirtualKeyExW\n#else\n#define MapVirtualKeyEx  MapVirtualKeyExA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nGetInputState(\n    VOID);\n\nWINUSERAPI\nDWORD\nWINAPI\nGetQueueStatus(\n    IN UINT flags);\n\n\nWINUSERAPI\nHWND\nWINAPI\nGetCapture(\n    VOID);\n\nWINUSERAPI\nHWND\nWINAPI\nSetCapture(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nReleaseCapture(\n    VOID);\n\nWINUSERAPI\nDWORD\nWINAPI\nMsgWaitForMultipleObjects(\n    IN DWORD nCount,\n    IN CONST HANDLE *pHandles,\n    IN BOOL fWaitAll,\n    IN DWORD dwMilliseconds,\n    IN DWORD dwWakeMask);\n\nWINUSERAPI\nDWORD\nWINAPI\nMsgWaitForMultipleObjectsEx(\n    IN DWORD nCount,\n    IN CONST HANDLE *pHandles,\n    IN DWORD dwMilliseconds,\n    IN DWORD dwWakeMask,\n    IN DWORD dwFlags);\n\n\n#define MWMO_WAITALL        0x0001\n#define MWMO_ALERTABLE      0x0002\n#define MWMO_INPUTAVAILABLE 0x0004\n\n/*\n * Queue status flags for GetQueueStatus() and MsgWaitForMultipleObjects()\n */\n#define QS_KEY              0x0001\n#define QS_MOUSEMOVE        0x0002\n#define QS_MOUSEBUTTON      0x0004\n#define QS_POSTMESSAGE      0x0008\n#define QS_TIMER            0x0010\n#define QS_PAINT            0x0020\n#define QS_SENDMESSAGE      0x0040\n#define QS_HOTKEY           0x0080\n#define QS_ALLPOSTMESSAGE   0x0100\n#if(_WIN32_WINNT >= 0x0501)\n#define QS_RAWINPUT         0x0400\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define QS_MOUSE           (QS_MOUSEMOVE     | \\\n                            QS_MOUSEBUTTON)\n\n#if (_WIN32_WINNT >= 0x0501)\n#define QS_INPUT           (QS_MOUSE         | \\\n                            QS_KEY           | \\\n                            QS_RAWINPUT)\n#else\n#define QS_INPUT           (QS_MOUSE         | \\\n                            QS_KEY)\n#endif // (_WIN32_WINNT >= 0x0501)\n\n#define QS_ALLEVENTS       (QS_INPUT         | \\\n                            QS_POSTMESSAGE   | \\\n                            QS_TIMER         | \\\n                            QS_PAINT         | \\\n                            QS_HOTKEY)\n\n#define QS_ALLINPUT        (QS_INPUT         | \\\n                            QS_POSTMESSAGE   | \\\n                            QS_TIMER         | \\\n                            QS_PAINT         | \\\n                            QS_HOTKEY        | \\\n                            QS_SENDMESSAGE)\n\n\n/*\n * Windows Functions\n */\n\nWINUSERAPI\nUINT_PTR\nWINAPI\nSetTimer(\n    IN HWND hWnd,\n    IN UINT_PTR nIDEvent,\n    IN UINT uElapse,\n    IN TIMERPROC lpTimerFunc);\n\nWINUSERAPI\nBOOL\nWINAPI\nKillTimer(\n    IN HWND hWnd,\n    IN UINT_PTR uIDEvent);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsWindowUnicode(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnableWindow(\n    IN HWND hWnd,\n    IN BOOL bEnable);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsWindowEnabled(\n    IN HWND hWnd);\n\nWINUSERAPI\nHACCEL\nWINAPI\nLoadAcceleratorsA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpTableName);\nWINUSERAPI\nHACCEL\nWINAPI\nLoadAcceleratorsW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpTableName);\n#ifdef UNICODE\n#define LoadAccelerators  LoadAcceleratorsW\n#else\n#define LoadAccelerators  LoadAcceleratorsA\n#endif // !UNICODE\n\nWINUSERAPI\nHACCEL\nWINAPI\nCreateAcceleratorTableA(\n    IN LPACCEL, IN int);\nWINUSERAPI\nHACCEL\nWINAPI\nCreateAcceleratorTableW(\n    IN LPACCEL, IN int);\n#ifdef UNICODE\n#define CreateAcceleratorTable  CreateAcceleratorTableW\n#else\n#define CreateAcceleratorTable  CreateAcceleratorTableA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyAcceleratorTable(\n    IN HACCEL hAccel);\n\nWINUSERAPI\nint\nWINAPI\nCopyAcceleratorTableA(\n    IN HACCEL hAccelSrc,\n    OUT LPACCEL lpAccelDst,\n    IN int cAccelEntries);\nWINUSERAPI\nint\nWINAPI\nCopyAcceleratorTableW(\n    IN HACCEL hAccelSrc,\n    OUT LPACCEL lpAccelDst,\n    IN int cAccelEntries);\n#ifdef UNICODE\n#define CopyAcceleratorTable  CopyAcceleratorTableW\n#else\n#define CopyAcceleratorTable  CopyAcceleratorTableA\n#endif // !UNICODE\n\n#ifndef NOMSG\n\nWINUSERAPI\nint\nWINAPI\nTranslateAcceleratorA(\n    IN HWND hWnd,\n    IN HACCEL hAccTable,\n    IN LPMSG lpMsg);\nWINUSERAPI\nint\nWINAPI\nTranslateAcceleratorW(\n    IN HWND hWnd,\n    IN HACCEL hAccTable,\n    IN LPMSG lpMsg);\n#ifdef UNICODE\n#define TranslateAccelerator  TranslateAcceleratorW\n#else\n#define TranslateAccelerator  TranslateAcceleratorA\n#endif // !UNICODE\n\n#endif /* !NOMSG */\n\n#ifndef NOSYSMETRICS\n\n/*\n * GetSystemMetrics() codes\n */\n\n#define SM_CXSCREEN             0\n#define SM_CYSCREEN             1\n#define SM_CXVSCROLL            2\n#define SM_CYHSCROLL            3\n#define SM_CYCAPTION            4\n#define SM_CXBORDER             5\n#define SM_CYBORDER             6\n#define SM_CXDLGFRAME           7\n#define SM_CYDLGFRAME           8\n#define SM_CYVTHUMB             9\n#define SM_CXHTHUMB             10\n#define SM_CXICON               11\n#define SM_CYICON               12\n#define SM_CXCURSOR             13\n#define SM_CYCURSOR             14\n#define SM_CYMENU               15\n#define SM_CXFULLSCREEN         16\n#define SM_CYFULLSCREEN         17\n#define SM_CYKANJIWINDOW        18\n#define SM_MOUSEPRESENT         19\n#define SM_CYVSCROLL            20\n#define SM_CXHSCROLL            21\n#define SM_DEBUG                22\n#define SM_SWAPBUTTON           23\n#define SM_RESERVED1            24\n#define SM_RESERVED2            25\n#define SM_RESERVED3            26\n#define SM_RESERVED4            27\n#define SM_CXMIN                28\n#define SM_CYMIN                29\n#define SM_CXSIZE               30\n#define SM_CYSIZE               31\n#define SM_CXFRAME              32\n#define SM_CYFRAME              33\n#define SM_CXMINTRACK           34\n#define SM_CYMINTRACK           35\n#define SM_CXDOUBLECLK          36\n#define SM_CYDOUBLECLK          37\n#define SM_CXICONSPACING        38\n#define SM_CYICONSPACING        39\n#define SM_MENUDROPALIGNMENT    40\n#define SM_PENWINDOWS           41\n#define SM_DBCSENABLED          42\n#define SM_CMOUSEBUTTONS        43\n\n#if(WINVER >= 0x0400)\n#define SM_CXFIXEDFRAME           SM_CXDLGFRAME  /* ;win40 name change */\n#define SM_CYFIXEDFRAME           SM_CYDLGFRAME  /* ;win40 name change */\n#define SM_CXSIZEFRAME            SM_CXFRAME     /* ;win40 name change */\n#define SM_CYSIZEFRAME            SM_CYFRAME     /* ;win40 name change */\n\n#define SM_SECURE               44\n#define SM_CXEDGE               45\n#define SM_CYEDGE               46\n#define SM_CXMINSPACING         47\n#define SM_CYMINSPACING         48\n#define SM_CXSMICON             49\n#define SM_CYSMICON             50\n#define SM_CYSMCAPTION          51\n#define SM_CXSMSIZE             52\n#define SM_CYSMSIZE             53\n#define SM_CXMENUSIZE           54\n#define SM_CYMENUSIZE           55\n#define SM_ARRANGE              56\n#define SM_CXMINIMIZED          57\n#define SM_CYMINIMIZED          58\n#define SM_CXMAXTRACK           59\n#define SM_CYMAXTRACK           60\n#define SM_CXMAXIMIZED          61\n#define SM_CYMAXIMIZED          62\n#define SM_NETWORK              63\n#define SM_CLEANBOOT            67\n#define SM_CXDRAG               68\n#define SM_CYDRAG               69\n#endif /* WINVER >= 0x0400 */\n#define SM_SHOWSOUNDS           70\n#if(WINVER >= 0x0400)\n#define SM_CXMENUCHECK          71   /* Use instead of GetMenuCheckMarkDimensions()! */\n#define SM_CYMENUCHECK          72\n#define SM_SLOWMACHINE          73\n#define SM_MIDEASTENABLED       74\n#endif /* WINVER >= 0x0400 */\n\n#if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)\n#define SM_MOUSEWHEELPRESENT    75\n#endif\n#if(WINVER >= 0x0500)\n#define SM_XVIRTUALSCREEN       76\n#define SM_YVIRTUALSCREEN       77\n#define SM_CXVIRTUALSCREEN      78\n#define SM_CYVIRTUALSCREEN      79\n#define SM_CMONITORS            80\n#define SM_SAMEDISPLAYFORMAT    81\n#endif /* WINVER >= 0x0500 */\n#if(_WIN32_WINNT >= 0x0500)\n#define SM_IMMENABLED           82\n#endif /* _WIN32_WINNT >= 0x0500 */\n#if(_WIN32_WINNT >= 0x0501)\n#define SM_CXFOCUSBORDER        83\n#define SM_CYFOCUSBORDER        84\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define SM_TABLETPC             86\n#define SM_MEDIACENTER          87\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400))\n#define SM_CMETRICS             76\n#elif WINVER == 0x500\n#define SM_CMETRICS             83\n#else\n#define SM_CMETRICS             88\n#endif\n\n#if(WINVER >= 0x0500)\n#define SM_REMOTESESSION        0x1000\n\n\n#if(_WIN32_WINNT >= 0x0501)\n#define SM_SHUTTINGDOWN         0x2000\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(WINVER >= 0x0501)\n#define SM_REMOTECONTROL        0x2001\n#endif /* WINVER >= 0x0501 */\n\n#endif /* WINVER >= 0x0500 */\n\n\nWINUSERAPI\nint\nWINAPI\nGetSystemMetrics(\n    IN int nIndex);\n\n\n#endif /* !NOSYSMETRICS */\n\n#ifndef NOMENUS\n\nWINUSERAPI\nHMENU\nWINAPI\nLoadMenuA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpMenuName);\nWINUSERAPI\nHMENU\nWINAPI\nLoadMenuW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpMenuName);\n#ifdef UNICODE\n#define LoadMenu  LoadMenuW\n#else\n#define LoadMenu  LoadMenuA\n#endif // !UNICODE\n\nWINUSERAPI\nHMENU\nWINAPI\nLoadMenuIndirectA(\n    IN CONST MENUTEMPLATEA *lpMenuTemplate);\nWINUSERAPI\nHMENU\nWINAPI\nLoadMenuIndirectW(\n    IN CONST MENUTEMPLATEW *lpMenuTemplate);\n#ifdef UNICODE\n#define LoadMenuIndirect  LoadMenuIndirectW\n#else\n#define LoadMenuIndirect  LoadMenuIndirectA\n#endif // !UNICODE\n\nWINUSERAPI\nHMENU\nWINAPI\nGetMenu(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMenu(\n    IN HWND hWnd,\n    IN HMENU hMenu);\n\nWINUSERAPI\nBOOL\nWINAPI\nChangeMenuA(\n    IN HMENU hMenu,\n    IN UINT cmd,\n    IN LPCSTR lpszNewItem,\n    IN UINT cmdInsert,\n    IN UINT flags);\nWINUSERAPI\nBOOL\nWINAPI\nChangeMenuW(\n    IN HMENU hMenu,\n    IN UINT cmd,\n    IN LPCWSTR lpszNewItem,\n    IN UINT cmdInsert,\n    IN UINT flags);\n#ifdef UNICODE\n#define ChangeMenu  ChangeMenuW\n#else\n#define ChangeMenu  ChangeMenuA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nHiliteMenuItem(\n    IN HWND hWnd,\n    IN HMENU hMenu,\n    IN UINT uIDHiliteItem,\n    IN UINT uHilite);\n\nWINUSERAPI\nint\nWINAPI\nGetMenuStringA(\n    IN HMENU hMenu,\n    IN UINT uIDItem,\n    OUT LPSTR lpString,\n    IN int nMaxCount,\n    IN UINT uFlag);\nWINUSERAPI\nint\nWINAPI\nGetMenuStringW(\n    IN HMENU hMenu,\n    IN UINT uIDItem,\n    OUT LPWSTR lpString,\n    IN int nMaxCount,\n    IN UINT uFlag);\n#ifdef UNICODE\n#define GetMenuString  GetMenuStringW\n#else\n#define GetMenuString  GetMenuStringA\n#endif // !UNICODE\n\nWINUSERAPI\nUINT\nWINAPI\nGetMenuState(\n    IN HMENU hMenu,\n    IN UINT uId,\n    IN UINT uFlags);\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawMenuBar(\n    IN HWND hWnd);\n\n#if(_WIN32_WINNT >= 0x0501)\n#define PMB_ACTIVE      0x00000001\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n\nWINUSERAPI\nHMENU\nWINAPI\nGetSystemMenu(\n    IN HWND hWnd,\n    IN BOOL bRevert);\n\n\nWINUSERAPI\nHMENU\nWINAPI\nCreateMenu(\n    VOID);\n\nWINUSERAPI\nHMENU\nWINAPI\nCreatePopupMenu(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyMenu(\n    IN HMENU hMenu);\n\nWINUSERAPI\nDWORD\nWINAPI\nCheckMenuItem(\n    IN HMENU hMenu,\n    IN UINT uIDCheckItem,\n    IN UINT uCheck);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnableMenuItem(\n    IN HMENU hMenu,\n    IN UINT uIDEnableItem,\n    IN UINT uEnable);\n\nWINUSERAPI\nHMENU\nWINAPI\nGetSubMenu(\n    IN HMENU hMenu,\n    IN int nPos);\n\nWINUSERAPI\nUINT\nWINAPI\nGetMenuItemID(\n    IN HMENU hMenu,\n    IN int nPos);\n\nWINUSERAPI\nint\nWINAPI\nGetMenuItemCount(\n    IN HMENU hMenu);\n\nWINUSERAPI\nBOOL\nWINAPI\nInsertMenuA(\n    IN HMENU hMenu,\n    IN UINT uPosition,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCSTR lpNewItem\n    );\nWINUSERAPI\nBOOL\nWINAPI\nInsertMenuW(\n    IN HMENU hMenu,\n    IN UINT uPosition,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCWSTR lpNewItem\n    );\n#ifdef UNICODE\n#define InsertMenu  InsertMenuW\n#else\n#define InsertMenu  InsertMenuA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nAppendMenuA(\n    IN HMENU hMenu,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCSTR lpNewItem\n    );\nWINUSERAPI\nBOOL\nWINAPI\nAppendMenuW(\n    IN HMENU hMenu,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCWSTR lpNewItem\n    );\n#ifdef UNICODE\n#define AppendMenu  AppendMenuW\n#else\n#define AppendMenu  AppendMenuA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nModifyMenuA(\n    IN HMENU hMnu,\n    IN UINT uPosition,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCSTR lpNewItem\n    );\nWINUSERAPI\nBOOL\nWINAPI\nModifyMenuW(\n    IN HMENU hMnu,\n    IN UINT uPosition,\n    IN UINT uFlags,\n    IN UINT_PTR uIDNewItem,\n    IN LPCWSTR lpNewItem\n    );\n#ifdef UNICODE\n#define ModifyMenu  ModifyMenuW\n#else\n#define ModifyMenu  ModifyMenuA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI RemoveMenu(\n    IN HMENU hMenu,\n    IN UINT uPosition,\n    IN UINT uFlags);\n\nWINUSERAPI\nBOOL\nWINAPI\nDeleteMenu(\n    IN HMENU hMenu,\n    IN UINT uPosition,\n    IN UINT uFlags);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMenuItemBitmaps(\n    IN HMENU hMenu,\n    IN UINT uPosition,\n    IN UINT uFlags,\n    IN HBITMAP hBitmapUnchecked,\n    IN HBITMAP hBitmapChecked);\n\nWINUSERAPI\nLONG\nWINAPI\nGetMenuCheckMarkDimensions(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nTrackPopupMenu(\n    IN HMENU hMenu,\n    IN UINT uFlags,\n    IN int x,\n    IN int y,\n    IN int nReserved,\n    IN HWND hWnd,\n    IN CONST RECT *prcRect);\n\n#if(WINVER >= 0x0400)\n/* return codes for WM_MENUCHAR */\n#define MNC_IGNORE  0\n#define MNC_CLOSE   1\n#define MNC_EXECUTE 2\n#define MNC_SELECT  3\n\ntypedef struct tagTPMPARAMS\n{\n    UINT    cbSize;     /* Size of structure */\n    RECT    rcExclude;  /* Screen coordinates of rectangle to exclude when positioning */\n}   TPMPARAMS;\ntypedef TPMPARAMS FAR *LPTPMPARAMS;\n\nWINUSERAPI\nBOOL\nWINAPI\nTrackPopupMenuEx(\n    IN HMENU,\n    IN UINT,\n    IN int,\n    IN int,\n    IN HWND,\n    IN LPTPMPARAMS);\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n\n#define MNS_NOCHECK         0x80000000\n#define MNS_MODELESS        0x40000000\n#define MNS_DRAGDROP        0x20000000\n#define MNS_AUTODISMISS     0x10000000\n#define MNS_NOTIFYBYPOS     0x08000000\n#define MNS_CHECKORBMP      0x04000000\n\n#define MIM_MAXHEIGHT               0x00000001\n#define MIM_BACKGROUND              0x00000002\n#define MIM_HELPID                  0x00000004\n#define MIM_MENUDATA                0x00000008\n#define MIM_STYLE                   0x00000010\n#define MIM_APPLYTOSUBMENUS         0x80000000\n\ntypedef struct tagMENUINFO\n{\n    DWORD   cbSize;\n    DWORD   fMask;\n    DWORD   dwStyle;\n    UINT    cyMax;\n    HBRUSH  hbrBack;\n    DWORD   dwContextHelpID;\n    ULONG_PTR dwMenuData;\n}   MENUINFO, FAR *LPMENUINFO;\ntypedef MENUINFO CONST FAR *LPCMENUINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetMenuInfo(\n    IN HMENU,\n    OUT LPMENUINFO);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMenuInfo(\n    IN HMENU,\n    IN LPCMENUINFO);\n\nWINUSERAPI\nBOOL\nWINAPI\nEndMenu(\n        VOID);\n\n/*\n * WM_MENUDRAG return values.\n */\n#define MND_CONTINUE       0\n#define MND_ENDMENU        1\n\ntypedef struct tagMENUGETOBJECTINFO\n{\n    DWORD dwFlags;\n    UINT uPos;\n    HMENU hmenu;\n    PVOID riid;\n    PVOID pvObj;\n} MENUGETOBJECTINFO, * PMENUGETOBJECTINFO;\n\n/*\n * MENUGETOBJECTINFO dwFlags values\n */\n#define MNGOF_TOPGAP         0x00000001\n#define MNGOF_BOTTOMGAP      0x00000002\n\n/*\n * WM_MENUGETOBJECT return values\n */\n#define MNGO_NOINTERFACE     0x00000000\n#define MNGO_NOERROR         0x00000001\n#endif /* WINVER >= 0x0500 */\n\n#if(WINVER >= 0x0400)\n#define MIIM_STATE       0x00000001\n#define MIIM_ID          0x00000002\n#define MIIM_SUBMENU     0x00000004\n#define MIIM_CHECKMARKS  0x00000008\n#define MIIM_TYPE        0x00000010\n#define MIIM_DATA        0x00000020\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define MIIM_STRING      0x00000040\n#define MIIM_BITMAP      0x00000080\n#define MIIM_FTYPE       0x00000100\n\n#define HBMMENU_CALLBACK            ((HBITMAP) -1)\n#define HBMMENU_SYSTEM              ((HBITMAP)  1)\n#define HBMMENU_MBAR_RESTORE        ((HBITMAP)  2)\n#define HBMMENU_MBAR_MINIMIZE       ((HBITMAP)  3)\n#define HBMMENU_MBAR_CLOSE          ((HBITMAP)  5)\n#define HBMMENU_MBAR_CLOSE_D        ((HBITMAP)  6)\n#define HBMMENU_MBAR_MINIMIZE_D     ((HBITMAP)  7)\n#define HBMMENU_POPUP_CLOSE         ((HBITMAP)  8)\n#define HBMMENU_POPUP_RESTORE       ((HBITMAP)  9)\n#define HBMMENU_POPUP_MAXIMIZE      ((HBITMAP) 10)\n#define HBMMENU_POPUP_MINIMIZE      ((HBITMAP) 11)\n#endif /* WINVER >= 0x0500 */\n\n#if(WINVER >= 0x0400)\ntypedef struct tagMENUITEMINFOA\n{\n    UINT     cbSize;\n    UINT     fMask;\n    UINT     fType;         // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0)\n    UINT     fState;        // used if MIIM_STATE\n    UINT     wID;           // used if MIIM_ID\n    HMENU    hSubMenu;      // used if MIIM_SUBMENU\n    HBITMAP  hbmpChecked;   // used if MIIM_CHECKMARKS\n    HBITMAP  hbmpUnchecked; // used if MIIM_CHECKMARKS\n    ULONG_PTR dwItemData;   // used if MIIM_DATA\n    LPSTR    dwTypeData;    // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)\n    UINT     cch;           // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)\n#if(WINVER >= 0x0500)\n    HBITMAP  hbmpItem;      // used if MIIM_BITMAP\n#endif /* WINVER >= 0x0500 */\n}   MENUITEMINFOA, FAR *LPMENUITEMINFOA;\ntypedef struct tagMENUITEMINFOW\n{\n    UINT     cbSize;\n    UINT     fMask;\n    UINT     fType;         // used if MIIM_TYPE (4.0) or MIIM_FTYPE (>4.0)\n    UINT     fState;        // used if MIIM_STATE\n    UINT     wID;           // used if MIIM_ID\n    HMENU    hSubMenu;      // used if MIIM_SUBMENU\n    HBITMAP  hbmpChecked;   // used if MIIM_CHECKMARKS\n    HBITMAP  hbmpUnchecked; // used if MIIM_CHECKMARKS\n    ULONG_PTR dwItemData;   // used if MIIM_DATA\n    LPWSTR   dwTypeData;    // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)\n    UINT     cch;           // used if MIIM_TYPE (4.0) or MIIM_STRING (>4.0)\n#if(WINVER >= 0x0500)\n    HBITMAP  hbmpItem;      // used if MIIM_BITMAP\n#endif /* WINVER >= 0x0500 */\n}   MENUITEMINFOW, FAR *LPMENUITEMINFOW;\n#ifdef UNICODE\ntypedef MENUITEMINFOW MENUITEMINFO;\ntypedef LPMENUITEMINFOW LPMENUITEMINFO;\n#else\ntypedef MENUITEMINFOA MENUITEMINFO;\ntypedef LPMENUITEMINFOA LPMENUITEMINFO;\n#endif // UNICODE\ntypedef MENUITEMINFOA CONST FAR *LPCMENUITEMINFOA;\ntypedef MENUITEMINFOW CONST FAR *LPCMENUITEMINFOW;\n#ifdef UNICODE\ntypedef LPCMENUITEMINFOW LPCMENUITEMINFO;\n#else\ntypedef LPCMENUITEMINFOA LPCMENUITEMINFO;\n#endif // UNICODE\n\n\nWINUSERAPI\nBOOL\nWINAPI\nInsertMenuItemA(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN LPCMENUITEMINFOA\n    );\nWINUSERAPI\nBOOL\nWINAPI\nInsertMenuItemW(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN LPCMENUITEMINFOW\n    );\n#ifdef UNICODE\n#define InsertMenuItem  InsertMenuItemW\n#else\n#define InsertMenuItem  InsertMenuItemA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nGetMenuItemInfoA(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN OUT LPMENUITEMINFOA\n    );\nWINUSERAPI\nBOOL\nWINAPI\nGetMenuItemInfoW(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN OUT LPMENUITEMINFOW\n    );\n#ifdef UNICODE\n#define GetMenuItemInfo  GetMenuItemInfoW\n#else\n#define GetMenuItemInfo  GetMenuItemInfoA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMenuItemInfoA(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN LPCMENUITEMINFOA\n    );\nWINUSERAPI\nBOOL\nWINAPI\nSetMenuItemInfoW(\n    IN HMENU,\n    IN UINT,\n    IN BOOL,\n    IN LPCMENUITEMINFOW\n    );\n#ifdef UNICODE\n#define SetMenuItemInfo  SetMenuItemInfoW\n#else\n#define SetMenuItemInfo  SetMenuItemInfoA\n#endif // !UNICODE\n\n\n#define GMDI_USEDISABLED    0x0001L\n#define GMDI_GOINTOPOPUPS   0x0002L\n\nWINUSERAPI UINT    WINAPI GetMenuDefaultItem( IN HMENU hMenu, IN UINT fByPos, IN UINT gmdiFlags);\nWINUSERAPI BOOL    WINAPI SetMenuDefaultItem( IN HMENU hMenu, IN UINT uItem,  IN UINT fByPos);\n\nWINUSERAPI BOOL    WINAPI GetMenuItemRect( IN HWND hWnd, IN HMENU hMenu, IN UINT uItem, OUT LPRECT lprcItem);\nWINUSERAPI int     WINAPI MenuItemFromPoint( IN HWND hWnd, IN HMENU hMenu, IN POINT ptScreen);\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Flags for TrackPopupMenu\n */\n#define TPM_LEFTBUTTON  0x0000L\n#define TPM_RIGHTBUTTON 0x0002L\n#define TPM_LEFTALIGN   0x0000L\n#define TPM_CENTERALIGN 0x0004L\n#define TPM_RIGHTALIGN  0x0008L\n#if(WINVER >= 0x0400)\n#define TPM_TOPALIGN        0x0000L\n#define TPM_VCENTERALIGN    0x0010L\n#define TPM_BOTTOMALIGN     0x0020L\n\n#define TPM_HORIZONTAL      0x0000L     /* Horz alignment matters more */\n#define TPM_VERTICAL        0x0040L     /* Vert alignment matters more */\n#define TPM_NONOTIFY        0x0080L     /* Don't send any notification msgs */\n#define TPM_RETURNCMD       0x0100L\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0500)\n#define TPM_RECURSE         0x0001L\n#define TPM_HORPOSANIMATION 0x0400L\n#define TPM_HORNEGANIMATION 0x0800L\n#define TPM_VERPOSANIMATION 0x1000L\n#define TPM_VERNEGANIMATION 0x2000L\n#if(_WIN32_WINNT >= 0x0500)\n#define TPM_NOANIMATION     0x4000L\n#endif /* _WIN32_WINNT >= 0x0500 */\n#if(_WIN32_WINNT >= 0x0501)\n#define TPM_LAYOUTRTL       0x8000L\n#endif /* _WIN32_WINNT >= 0x0501 */\n#endif /* WINVER >= 0x0500 */\n\n\n#endif /* !NOMENUS */\n\n\n#if(WINVER >= 0x0400)\n//\n// Drag-and-drop support\n// Obsolete - use OLE instead\n//\ntypedef struct tagDROPSTRUCT\n{\n    HWND    hwndSource;\n    HWND    hwndSink;\n    DWORD   wFmt;\n    ULONG_PTR dwData;\n    POINT   ptDrop;\n    DWORD   dwControlData;\n} DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;\n\n#define DOF_EXECUTABLE      0x8001      // wFmt flags\n#define DOF_DOCUMENT        0x8002\n#define DOF_DIRECTORY       0x8003\n#define DOF_MULTIPLE        0x8004\n#define DOF_PROGMAN         0x0001\n#define DOF_SHELLDATA       0x0002\n\n#define DO_DROPFILE         0x454C4946L\n#define DO_PRINTFILE        0x544E5250L\n\nWINUSERAPI\nDWORD\nWINAPI\nDragObject(\n    IN HWND,\n    IN HWND,\n    IN UINT,\n    IN ULONG_PTR,\n    IN HCURSOR);\n\nWINUSERAPI\nBOOL\nWINAPI\nDragDetect(\n    IN HWND,\n    IN POINT);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawIcon(\n    IN HDC hDC,\n    IN int X,\n    IN int Y,\n    IN HICON hIcon);\n\n#ifndef NODRAWTEXT\n\n/*\n * DrawText() Format Flags\n */\n#define DT_TOP                      0x00000000\n#define DT_LEFT                     0x00000000\n#define DT_CENTER                   0x00000001\n#define DT_RIGHT                    0x00000002\n#define DT_VCENTER                  0x00000004\n#define DT_BOTTOM                   0x00000008\n#define DT_WORDBREAK                0x00000010\n#define DT_SINGLELINE               0x00000020\n#define DT_EXPANDTABS               0x00000040\n#define DT_TABSTOP                  0x00000080\n#define DT_NOCLIP                   0x00000100\n#define DT_EXTERNALLEADING          0x00000200\n#define DT_CALCRECT                 0x00000400\n#define DT_NOPREFIX                 0x00000800\n#define DT_INTERNAL                 0x00001000\n\n#if(WINVER >= 0x0400)\n#define DT_EDITCONTROL              0x00002000\n#define DT_PATH_ELLIPSIS            0x00004000\n#define DT_END_ELLIPSIS             0x00008000\n#define DT_MODIFYSTRING             0x00010000\n#define DT_RTLREADING               0x00020000\n#define DT_WORD_ELLIPSIS            0x00040000\n#if(WINVER >= 0x0500)\n#define DT_NOFULLWIDTHCHARBREAK     0x00080000\n#if(_WIN32_WINNT >= 0x0500)\n#define DT_HIDEPREFIX               0x00100000\n#define DT_PREFIXONLY               0x00200000\n#endif /* _WIN32_WINNT >= 0x0500 */\n#endif /* WINVER >= 0x0500 */\n\ntypedef struct tagDRAWTEXTPARAMS\n{\n    UINT    cbSize;\n    int     iTabLength;\n    int     iLeftMargin;\n    int     iRightMargin;\n    UINT    uiLengthDrawn;\n} DRAWTEXTPARAMS, FAR *LPDRAWTEXTPARAMS;\n#endif /* WINVER >= 0x0400 */\n\n\nWINUSERAPI\nint\nWINAPI\nDrawTextA(\n    IN HDC hDC,\n    IN LPCSTR lpString,\n    IN int nCount,\n    IN OUT LPRECT lpRect,\n    IN UINT uFormat);\nWINUSERAPI\nint\nWINAPI\nDrawTextW(\n    IN HDC hDC,\n    IN LPCWSTR lpString,\n    IN int nCount,\n    IN OUT LPRECT lpRect,\n    IN UINT uFormat);\n#ifdef UNICODE\n#define DrawText  DrawTextW\n#else\n#define DrawText  DrawTextA\n#endif // !UNICODE\n\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nint\nWINAPI\nDrawTextExA(\n    IN HDC,\n    IN OUT LPSTR,\n    IN int,\n    IN OUT LPRECT,\n    IN UINT,\n    IN LPDRAWTEXTPARAMS);\nWINUSERAPI\nint\nWINAPI\nDrawTextExW(\n    IN HDC,\n    IN OUT LPWSTR,\n    IN int,\n    IN OUT LPRECT,\n    IN UINT,\n    IN LPDRAWTEXTPARAMS);\n#ifdef UNICODE\n#define DrawTextEx  DrawTextExW\n#else\n#define DrawTextEx  DrawTextExA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\n#endif /* !NODRAWTEXT */\n\nWINUSERAPI\nBOOL\nWINAPI\nGrayStringA(\n    IN HDC hDC,\n    IN HBRUSH hBrush,\n    IN GRAYSTRINGPROC lpOutputFunc,\n    IN LPARAM lpData,\n    IN int nCount,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight);\nWINUSERAPI\nBOOL\nWINAPI\nGrayStringW(\n    IN HDC hDC,\n    IN HBRUSH hBrush,\n    IN GRAYSTRINGPROC lpOutputFunc,\n    IN LPARAM lpData,\n    IN int nCount,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight);\n#ifdef UNICODE\n#define GrayString  GrayStringW\n#else\n#define GrayString  GrayStringA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\n/* Monolithic state-drawing routine */\n/* Image type */\n#define DST_COMPLEX     0x0000\n#define DST_TEXT        0x0001\n#define DST_PREFIXTEXT  0x0002\n#define DST_ICON        0x0003\n#define DST_BITMAP      0x0004\n\n/* State type */\n#define DSS_NORMAL      0x0000\n#define DSS_UNION       0x0010  /* Gray string appearance */\n#define DSS_DISABLED    0x0020\n#define DSS_MONO        0x0080\n#if(_WIN32_WINNT >= 0x0500)\n#define DSS_HIDEPREFIX  0x0200\n#define DSS_PREFIXONLY  0x0400\n#endif /* _WIN32_WINNT >= 0x0500 */\n#define DSS_RIGHT       0x8000\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawStateA(\n    IN HDC,\n    IN HBRUSH,\n    IN DRAWSTATEPROC,\n    IN LPARAM,\n    IN WPARAM,\n    IN int,\n    IN int,\n    IN int,\n    IN int,\n    IN UINT);\nWINUSERAPI\nBOOL\nWINAPI\nDrawStateW(\n    IN HDC,\n    IN HBRUSH,\n    IN DRAWSTATEPROC,\n    IN LPARAM,\n    IN WPARAM,\n    IN int,\n    IN int,\n    IN int,\n    IN int,\n    IN UINT);\n#ifdef UNICODE\n#define DrawState  DrawStateW\n#else\n#define DrawState  DrawStateA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nLONG\nWINAPI\nTabbedTextOutA(\n    IN HDC hDC,\n    IN int X,\n    IN int Y,\n    IN LPCSTR lpString,\n    IN int nCount,\n    IN int nTabPositions,\n    IN CONST INT *lpnTabStopPositions,\n    IN int nTabOrigin);\nWINUSERAPI\nLONG\nWINAPI\nTabbedTextOutW(\n    IN HDC hDC,\n    IN int X,\n    IN int Y,\n    IN LPCWSTR lpString,\n    IN int nCount,\n    IN int nTabPositions,\n    IN CONST INT *lpnTabStopPositions,\n    IN int nTabOrigin);\n#ifdef UNICODE\n#define TabbedTextOut  TabbedTextOutW\n#else\n#define TabbedTextOut  TabbedTextOutA\n#endif // !UNICODE\n\nWINUSERAPI\nDWORD\nWINAPI\nGetTabbedTextExtentA(\n    IN HDC hDC,\n    IN LPCSTR lpString,\n    IN int nCount,\n    IN int nTabPositions,\n    IN CONST INT *lpnTabStopPositions);\nWINUSERAPI\nDWORD\nWINAPI\nGetTabbedTextExtentW(\n    IN HDC hDC,\n    IN LPCWSTR lpString,\n    IN int nCount,\n    IN int nTabPositions,\n    IN CONST INT *lpnTabStopPositions);\n#ifdef UNICODE\n#define GetTabbedTextExtent  GetTabbedTextExtentW\n#else\n#define GetTabbedTextExtent  GetTabbedTextExtentA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nUpdateWindow(\n    IN HWND hWnd);\n\nWINUSERAPI\nHWND\nWINAPI\nSetActiveWindow(\n    IN HWND hWnd);\n\nWINUSERAPI\nHWND\nWINAPI\nGetForegroundWindow(\n    VOID);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nBOOL\nWINAPI\nPaintDesktop(\n    IN HDC hdc);\n\nWINUSERAPI\nVOID\nWINAPI\nSwitchToThisWindow(\n    IN HWND hwnd,\n    IN BOOL fUnknown);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nSetForegroundWindow(\n    IN HWND hWnd);\n\n#if(_WIN32_WINNT >= 0x0500)\nWINUSERAPI\nBOOL\nWINAPI\nAllowSetForegroundWindow(\n    DWORD dwProcessId);\n\n#define ASFW_ANY    ((DWORD)-1)\n\nWINUSERAPI\nBOOL\nWINAPI\nLockSetForegroundWindow(\n    UINT uLockCode);\n\n#define LSFW_LOCK       1\n#define LSFW_UNLOCK     2\n\n#endif /* _WIN32_WINNT >= 0x0500 */\n\nWINUSERAPI\nHWND\nWINAPI\nWindowFromDC(\n    IN HDC hDC);\n\nWINUSERAPI\nHDC\nWINAPI\nGetDC(\n    IN HWND hWnd);\n\nWINUSERAPI\nHDC\nWINAPI\nGetDCEx(\n    IN HWND hWnd,\n    IN HRGN hrgnClip,\n    IN DWORD flags);\n\n/*\n * GetDCEx() flags\n */\n#define DCX_WINDOW           0x00000001L\n#define DCX_CACHE            0x00000002L\n#define DCX_NORESETATTRS     0x00000004L\n#define DCX_CLIPCHILDREN     0x00000008L\n#define DCX_CLIPSIBLINGS     0x00000010L\n#define DCX_PARENTCLIP       0x00000020L\n#define DCX_EXCLUDERGN       0x00000040L\n#define DCX_INTERSECTRGN     0x00000080L\n#define DCX_EXCLUDEUPDATE    0x00000100L\n#define DCX_INTERSECTUPDATE  0x00000200L\n#define DCX_LOCKWINDOWUPDATE 0x00000400L\n\n#define DCX_VALIDATE         0x00200000L\n\nWINUSERAPI\nHDC\nWINAPI\nGetWindowDC(\n    IN HWND hWnd);\n\nWINUSERAPI\nint\nWINAPI\nReleaseDC(\n    IN HWND hWnd,\n    IN HDC hDC);\n\nWINUSERAPI\nHDC\nWINAPI\nBeginPaint(\n    IN HWND hWnd,\n    OUT LPPAINTSTRUCT lpPaint);\n\nWINUSERAPI\nBOOL\nWINAPI\nEndPaint(\n    IN HWND hWnd,\n    IN CONST PAINTSTRUCT *lpPaint);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetUpdateRect(\n    IN HWND hWnd,\n    OUT LPRECT lpRect,\n    IN BOOL bErase);\n\nWINUSERAPI\nint\nWINAPI\nGetUpdateRgn(\n    IN HWND hWnd,\n    IN HRGN hRgn,\n    IN BOOL bErase);\n\nWINUSERAPI\nint\nWINAPI\nSetWindowRgn(\n    IN HWND hWnd,\n    IN HRGN hRgn,\n    IN BOOL bRedraw);\n\n\nWINUSERAPI\nint\nWINAPI\nGetWindowRgn(\n    IN HWND hWnd,\n    IN HRGN hRgn);\n\n#if(_WIN32_WINNT >= 0x0501)\n\nWINUSERAPI\nint\nWINAPI\nGetWindowRgnBox(\n    IN HWND hWnd,\n    OUT LPRECT lprc);\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nint\nWINAPI\nExcludeUpdateRgn(\n    IN HDC hDC,\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nInvalidateRect(\n    IN HWND hWnd,\n    IN CONST RECT *lpRect,\n    IN BOOL bErase);\n\nWINUSERAPI\nBOOL\nWINAPI\nValidateRect(\n    IN HWND hWnd,\n    IN CONST RECT *lpRect);\n\nWINUSERAPI\nBOOL\nWINAPI\nInvalidateRgn(\n    IN HWND hWnd,\n    IN HRGN hRgn,\n    IN BOOL bErase);\n\nWINUSERAPI\nBOOL\nWINAPI\nValidateRgn(\n    IN HWND hWnd,\n    IN HRGN hRgn);\n\n\nWINUSERAPI\nBOOL\nWINAPI\nRedrawWindow(\n    IN HWND hWnd,\n    IN CONST RECT *lprcUpdate,\n    IN HRGN hrgnUpdate,\n    IN UINT flags);\n\n/*\n * RedrawWindow() flags\n */\n#define RDW_INVALIDATE          0x0001\n#define RDW_INTERNALPAINT       0x0002\n#define RDW_ERASE               0x0004\n\n#define RDW_VALIDATE            0x0008\n#define RDW_NOINTERNALPAINT     0x0010\n#define RDW_NOERASE             0x0020\n\n#define RDW_NOCHILDREN          0x0040\n#define RDW_ALLCHILDREN         0x0080\n\n#define RDW_UPDATENOW           0x0100\n#define RDW_ERASENOW            0x0200\n\n#define RDW_FRAME               0x0400\n#define RDW_NOFRAME             0x0800\n\n\n/*\n * LockWindowUpdate API\n */\n\nWINUSERAPI\nBOOL\nWINAPI\nLockWindowUpdate(\n    IN HWND hWndLock);\n\nWINUSERAPI\nBOOL\nWINAPI\nScrollWindow(\n    IN HWND hWnd,\n    IN int XAmount,\n    IN int YAmount,\n    IN CONST RECT *lpRect,\n    IN CONST RECT *lpClipRect);\n\nWINUSERAPI\nBOOL\nWINAPI\nScrollDC(\n    IN HDC hDC,\n    IN int dx,\n    IN int dy,\n    IN CONST RECT *lprcScroll,\n    IN CONST RECT *lprcClip,\n    IN HRGN hrgnUpdate,\n    OUT LPRECT lprcUpdate);\n\nWINUSERAPI\nint\nWINAPI\nScrollWindowEx(\n    IN HWND hWnd,\n    IN int dx,\n    IN int dy,\n    IN CONST RECT *prcScroll,\n    IN CONST RECT *prcClip,\n    IN HRGN hrgnUpdate,\n    OUT LPRECT prcUpdate,\n    IN UINT flags);\n\n#define SW_SCROLLCHILDREN   0x0001  /* Scroll children within *lprcScroll. */\n#define SW_INVALIDATE       0x0002  /* Invalidate after scrolling */\n#define SW_ERASE            0x0004  /* If SW_INVALIDATE, don't send WM_ERASEBACKGROUND */\n#if(WINVER >= 0x0500)\n#define SW_SMOOTHSCROLL     0x0010  /* Use smooth scrolling */\n#endif /* WINVER >= 0x0500 */\n\n#ifndef NOSCROLL\n\nWINUSERAPI\nint\nWINAPI\nSetScrollPos(\n    IN HWND hWnd,\n    IN int nBar,\n    IN int nPos,\n    IN BOOL bRedraw);\n\nWINUSERAPI\nint\nWINAPI\nGetScrollPos(\n    IN HWND hWnd,\n    IN int nBar);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetScrollRange(\n    IN HWND hWnd,\n    IN int nBar,\n    IN int nMinPos,\n    IN int nMaxPos,\n    IN BOOL bRedraw);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetScrollRange(\n    IN HWND hWnd,\n    IN int nBar,\n    OUT LPINT lpMinPos,\n    OUT LPINT lpMaxPos);\n\nWINUSERAPI\nBOOL\nWINAPI\nShowScrollBar(\n    IN HWND hWnd,\n    IN int wBar,\n    IN BOOL bShow);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnableScrollBar(\n    IN HWND hWnd,\n    IN UINT wSBflags,\n    IN UINT wArrows);\n\n\n/*\n * EnableScrollBar() flags\n */\n#define ESB_ENABLE_BOTH     0x0000\n#define ESB_DISABLE_BOTH    0x0003\n\n#define ESB_DISABLE_LEFT    0x0001\n#define ESB_DISABLE_RIGHT   0x0002\n\n#define ESB_DISABLE_UP      0x0001\n#define ESB_DISABLE_DOWN    0x0002\n\n#define ESB_DISABLE_LTUP    ESB_DISABLE_LEFT\n#define ESB_DISABLE_RTDN    ESB_DISABLE_RIGHT\n\n\n#endif  /* !NOSCROLL */\n\nWINUSERAPI\nBOOL\nWINAPI\nSetPropA(\n    IN HWND hWnd,\n    IN LPCSTR lpString,\n    IN HANDLE hData);\nWINUSERAPI\nBOOL\nWINAPI\nSetPropW(\n    IN HWND hWnd,\n    IN LPCWSTR lpString,\n    IN HANDLE hData);\n#ifdef UNICODE\n#define SetProp  SetPropW\n#else\n#define SetProp  SetPropA\n#endif // !UNICODE\n\nWINUSERAPI\nHANDLE\nWINAPI\nGetPropA(\n    IN HWND hWnd,\n    IN LPCSTR lpString);\nWINUSERAPI\nHANDLE\nWINAPI\nGetPropW(\n    IN HWND hWnd,\n    IN LPCWSTR lpString);\n#ifdef UNICODE\n#define GetProp  GetPropW\n#else\n#define GetProp  GetPropA\n#endif // !UNICODE\n\nWINUSERAPI\nHANDLE\nWINAPI\nRemovePropA(\n    IN HWND hWnd,\n    IN LPCSTR lpString);\nWINUSERAPI\nHANDLE\nWINAPI\nRemovePropW(\n    IN HWND hWnd,\n    IN LPCWSTR lpString);\n#ifdef UNICODE\n#define RemoveProp  RemovePropW\n#else\n#define RemoveProp  RemovePropA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nEnumPropsExA(\n    IN HWND hWnd,\n    IN PROPENUMPROCEXA lpEnumFunc,\n    IN LPARAM lParam);\nWINUSERAPI\nint\nWINAPI\nEnumPropsExW(\n    IN HWND hWnd,\n    IN PROPENUMPROCEXW lpEnumFunc,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define EnumPropsEx  EnumPropsExW\n#else\n#define EnumPropsEx  EnumPropsExA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nEnumPropsA(\n    IN HWND hWnd,\n    IN PROPENUMPROCA lpEnumFunc);\nWINUSERAPI\nint\nWINAPI\nEnumPropsW(\n    IN HWND hWnd,\n    IN PROPENUMPROCW lpEnumFunc);\n#ifdef UNICODE\n#define EnumProps  EnumPropsW\n#else\n#define EnumProps  EnumPropsA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nSetWindowTextA(\n    IN HWND hWnd,\n    IN LPCSTR lpString);\nWINUSERAPI\nBOOL\nWINAPI\nSetWindowTextW(\n    IN HWND hWnd,\n    IN LPCWSTR lpString);\n#ifdef UNICODE\n#define SetWindowText  SetWindowTextW\n#else\n#define SetWindowText  SetWindowTextA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nGetWindowTextA(\n    IN HWND hWnd,\n    OUT LPSTR lpString,\n    IN int nMaxCount);\nWINUSERAPI\nint\nWINAPI\nGetWindowTextW(\n    IN HWND hWnd,\n    OUT LPWSTR lpString,\n    IN int nMaxCount);\n#ifdef UNICODE\n#define GetWindowText  GetWindowTextW\n#else\n#define GetWindowText  GetWindowTextA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nGetWindowTextLengthA(\n    IN HWND hWnd);\nWINUSERAPI\nint\nWINAPI\nGetWindowTextLengthW(\n    IN HWND hWnd);\n#ifdef UNICODE\n#define GetWindowTextLength  GetWindowTextLengthW\n#else\n#define GetWindowTextLength  GetWindowTextLengthA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nGetClientRect(\n    IN HWND hWnd,\n    OUT LPRECT lpRect);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetWindowRect(\n    IN HWND hWnd,\n    OUT LPRECT lpRect);\n\nWINUSERAPI\nBOOL\nWINAPI\nAdjustWindowRect(\n    IN OUT LPRECT lpRect,\n    IN DWORD dwStyle,\n    IN BOOL bMenu);\n\nWINUSERAPI\nBOOL\nWINAPI\nAdjustWindowRectEx(\n    IN OUT LPRECT lpRect,\n    IN DWORD dwStyle,\n    IN BOOL bMenu,\n    IN DWORD dwExStyle);\n\n\n#if(WINVER >= 0x0400)\n#define HELPINFO_WINDOW    0x0001\n#define HELPINFO_MENUITEM  0x0002\ntypedef struct tagHELPINFO      /* Structure pointed to by lParam of WM_HELP */\n{\n    UINT    cbSize;             /* Size in bytes of this struct  */\n    int     iContextType;       /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */\n    int     iCtrlId;            /* Control Id or a Menu item Id. */\n    HANDLE  hItemHandle;        /* hWnd of control or hMenu.     */\n    DWORD_PTR dwContextId;      /* Context Id associated with this item */\n    POINT   MousePos;           /* Mouse Position in screen co-ordinates */\n}  HELPINFO, FAR *LPHELPINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nSetWindowContextHelpId(\n    IN HWND,\n    IN DWORD);\n\nWINUSERAPI\nDWORD\nWINAPI\nGetWindowContextHelpId(\n    IN HWND);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetMenuContextHelpId(\n    IN HMENU,\n    IN DWORD);\n\nWINUSERAPI\nDWORD\nWINAPI\nGetMenuContextHelpId(\n    IN HMENU);\n\n#endif /* WINVER >= 0x0400 */\n\n\n#ifndef NOMB\n\n/*\n * MessageBox() Flags\n */\n#define MB_OK                       0x00000000L\n#define MB_OKCANCEL                 0x00000001L\n#define MB_ABORTRETRYIGNORE         0x00000002L\n#define MB_YESNOCANCEL              0x00000003L\n#define MB_YESNO                    0x00000004L\n#define MB_RETRYCANCEL              0x00000005L\n#if(WINVER >= 0x0500)\n#define MB_CANCELTRYCONTINUE        0x00000006L\n#endif /* WINVER >= 0x0500 */\n\n\n#define MB_ICONHAND                 0x00000010L\n#define MB_ICONQUESTION             0x00000020L\n#define MB_ICONEXCLAMATION          0x00000030L\n#define MB_ICONASTERISK             0x00000040L\n\n#if(WINVER >= 0x0400)\n#define MB_USERICON                 0x00000080L\n#define MB_ICONWARNING              MB_ICONEXCLAMATION\n#define MB_ICONERROR                MB_ICONHAND\n#endif /* WINVER >= 0x0400 */\n\n#define MB_ICONINFORMATION          MB_ICONASTERISK\n#define MB_ICONSTOP                 MB_ICONHAND\n\n#define MB_DEFBUTTON1               0x00000000L\n#define MB_DEFBUTTON2               0x00000100L\n#define MB_DEFBUTTON3               0x00000200L\n#if(WINVER >= 0x0400)\n#define MB_DEFBUTTON4               0x00000300L\n#endif /* WINVER >= 0x0400 */\n\n#define MB_APPLMODAL                0x00000000L\n#define MB_SYSTEMMODAL              0x00001000L\n#define MB_TASKMODAL                0x00002000L\n#if(WINVER >= 0x0400)\n#define MB_HELP                     0x00004000L // Help Button\n#endif /* WINVER >= 0x0400 */\n\n#define MB_NOFOCUS                  0x00008000L\n#define MB_SETFOREGROUND            0x00010000L\n#define MB_DEFAULT_DESKTOP_ONLY     0x00020000L\n\n#if(WINVER >= 0x0400)\n#define MB_TOPMOST                  0x00040000L\n#define MB_RIGHT                    0x00080000L\n#define MB_RTLREADING               0x00100000L\n\n\n#endif /* WINVER >= 0x0400 */\n\n#ifdef _WIN32_WINNT\n#if (_WIN32_WINNT >= 0x0400)\n#define MB_SERVICE_NOTIFICATION          0x00200000L\n#else\n#define MB_SERVICE_NOTIFICATION          0x00040000L\n#endif\n#define MB_SERVICE_NOTIFICATION_NT3X     0x00040000L\n#endif\n\n#define MB_TYPEMASK                 0x0000000FL\n#define MB_ICONMASK                 0x000000F0L\n#define MB_DEFMASK                  0x00000F00L\n#define MB_MODEMASK                 0x00003000L\n#define MB_MISCMASK                 0x0000C000L\n\nWINUSERAPI\nint\nWINAPI\nMessageBoxA(\n    IN HWND hWnd,\n    IN LPCSTR lpText,\n    IN LPCSTR lpCaption,\n    IN UINT uType);\nWINUSERAPI\nint\nWINAPI\nMessageBoxW(\n    IN HWND hWnd,\n    IN LPCWSTR lpText,\n    IN LPCWSTR lpCaption,\n    IN UINT uType);\n#ifdef UNICODE\n#define MessageBox  MessageBoxW\n#else\n#define MessageBox  MessageBoxA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nMessageBoxExA(\n    IN HWND hWnd,\n    IN LPCSTR lpText,\n    IN LPCSTR lpCaption,\n    IN UINT uType,\n    IN WORD wLanguageId);\nWINUSERAPI\nint\nWINAPI\nMessageBoxExW(\n    IN HWND hWnd,\n    IN LPCWSTR lpText,\n    IN LPCWSTR lpCaption,\n    IN UINT uType,\n    IN WORD wLanguageId);\n#ifdef UNICODE\n#define MessageBoxEx  MessageBoxExW\n#else\n#define MessageBoxEx  MessageBoxExA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\n\ntypedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);\n\ntypedef struct tagMSGBOXPARAMSA\n{\n    UINT        cbSize;\n    HWND        hwndOwner;\n    HINSTANCE   hInstance;\n    LPCSTR      lpszText;\n    LPCSTR      lpszCaption;\n    DWORD       dwStyle;\n    LPCSTR      lpszIcon;\n    DWORD_PTR   dwContextHelpId;\n    MSGBOXCALLBACK      lpfnMsgBoxCallback;\n    DWORD       dwLanguageId;\n} MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;\ntypedef struct tagMSGBOXPARAMSW\n{\n    UINT        cbSize;\n    HWND        hwndOwner;\n    HINSTANCE   hInstance;\n    LPCWSTR     lpszText;\n    LPCWSTR     lpszCaption;\n    DWORD       dwStyle;\n    LPCWSTR     lpszIcon;\n    DWORD_PTR   dwContextHelpId;\n    MSGBOXCALLBACK      lpfnMsgBoxCallback;\n    DWORD       dwLanguageId;\n} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;\n#ifdef UNICODE\ntypedef MSGBOXPARAMSW MSGBOXPARAMS;\ntypedef PMSGBOXPARAMSW PMSGBOXPARAMS;\ntypedef LPMSGBOXPARAMSW LPMSGBOXPARAMS;\n#else\ntypedef MSGBOXPARAMSA MSGBOXPARAMS;\ntypedef PMSGBOXPARAMSA PMSGBOXPARAMS;\ntypedef LPMSGBOXPARAMSA LPMSGBOXPARAMS;\n#endif // UNICODE\n\nWINUSERAPI\nint\nWINAPI\nMessageBoxIndirectA(\n    IN CONST MSGBOXPARAMSA *);\nWINUSERAPI\nint\nWINAPI\nMessageBoxIndirectW(\n    IN CONST MSGBOXPARAMSW *);\n#ifdef UNICODE\n#define MessageBoxIndirect  MessageBoxIndirectW\n#else\n#define MessageBoxIndirect  MessageBoxIndirectA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0400 */\n\n\nWINUSERAPI\nBOOL\nWINAPI\nMessageBeep(\n    IN UINT uType);\n\n#endif /* !NOMB */\n\nWINUSERAPI\nint\nWINAPI\nShowCursor(\n    IN BOOL bShow);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetCursorPos(\n    IN int X,\n    IN int Y);\n\nWINUSERAPI\nHCURSOR\nWINAPI\nSetCursor(\n    IN HCURSOR hCursor);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetCursorPos(\n    OUT LPPOINT lpPoint);\n\nWINUSERAPI\nBOOL\nWINAPI\nClipCursor(\n    IN CONST RECT *lpRect);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetClipCursor(\n    OUT LPRECT lpRect);\n\nWINUSERAPI\nHCURSOR\nWINAPI\nGetCursor(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nCreateCaret(\n    IN HWND hWnd,\n    IN HBITMAP hBitmap,\n    IN int nWidth,\n    IN int nHeight);\n\nWINUSERAPI\nUINT\nWINAPI\nGetCaretBlinkTime(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetCaretBlinkTime(\n    IN UINT uMSeconds);\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyCaret(\n    VOID);\n\nWINUSERAPI\nBOOL\nWINAPI\nHideCaret(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nShowCaret(\n    IN HWND hWnd);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetCaretPos(\n    IN int X,\n    IN int Y);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetCaretPos(\n    OUT LPPOINT lpPoint);\n\nWINUSERAPI\nBOOL\nWINAPI\nClientToScreen(\n    IN HWND hWnd,\n    IN OUT LPPOINT lpPoint);\n\nWINUSERAPI\nBOOL\nWINAPI\nScreenToClient(\n    IN HWND hWnd,\n    IN OUT LPPOINT lpPoint);\n\nWINUSERAPI\nint\nWINAPI\nMapWindowPoints(\n    IN HWND hWndFrom,\n    IN HWND hWndTo,\n    IN OUT LPPOINT lpPoints,\n    IN UINT cPoints);\n\nWINUSERAPI\nHWND\nWINAPI\nWindowFromPoint(\n    IN POINT Point);\n\nWINUSERAPI\nHWND\nWINAPI\nChildWindowFromPoint(\n    IN HWND hWndParent,\n    IN POINT Point);\n\n#if(WINVER >= 0x0400)\n#define CWP_ALL             0x0000\n#define CWP_SKIPINVISIBLE   0x0001\n#define CWP_SKIPDISABLED    0x0002\n#define CWP_SKIPTRANSPARENT 0x0004\n\nWINUSERAPI HWND    WINAPI ChildWindowFromPointEx( IN HWND, IN POINT, IN UINT);\n#endif /* WINVER >= 0x0400 */\n\n#ifndef NOCOLOR\n\n/*\n * Color Types\n */\n#define CTLCOLOR_MSGBOX         0\n#define CTLCOLOR_EDIT           1\n#define CTLCOLOR_LISTBOX        2\n#define CTLCOLOR_BTN            3\n#define CTLCOLOR_DLG            4\n#define CTLCOLOR_SCROLLBAR      5\n#define CTLCOLOR_STATIC         6\n#define CTLCOLOR_MAX            7\n\n#define COLOR_SCROLLBAR         0\n#define COLOR_BACKGROUND        1\n#define COLOR_ACTIVECAPTION     2\n#define COLOR_INACTIVECAPTION   3\n#define COLOR_MENU              4\n#define COLOR_WINDOW            5\n#define COLOR_WINDOWFRAME       6\n#define COLOR_MENUTEXT          7\n#define COLOR_WINDOWTEXT        8\n#define COLOR_CAPTIONTEXT       9\n#define COLOR_ACTIVEBORDER      10\n#define COLOR_INACTIVEBORDER    11\n#define COLOR_APPWORKSPACE      12\n#define COLOR_HIGHLIGHT         13\n#define COLOR_HIGHLIGHTTEXT     14\n#define COLOR_BTNFACE           15\n#define COLOR_BTNSHADOW         16\n#define COLOR_GRAYTEXT          17\n#define COLOR_BTNTEXT           18\n#define COLOR_INACTIVECAPTIONTEXT 19\n#define COLOR_BTNHIGHLIGHT      20\n\n#if(WINVER >= 0x0400)\n#define COLOR_3DDKSHADOW        21\n#define COLOR_3DLIGHT           22\n#define COLOR_INFOTEXT          23\n#define COLOR_INFOBK            24\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define COLOR_HOTLIGHT          26\n#define COLOR_GRADIENTACTIVECAPTION 27\n#define COLOR_GRADIENTINACTIVECAPTION 28\n#if(WINVER >= 0x0501)\n#define COLOR_MENUHILIGHT       29\n#define COLOR_MENUBAR           30\n#endif /* WINVER >= 0x0501 */\n#endif /* WINVER >= 0x0500 */\n\n#if(WINVER >= 0x0400)\n#define COLOR_DESKTOP           COLOR_BACKGROUND\n#define COLOR_3DFACE            COLOR_BTNFACE\n#define COLOR_3DSHADOW          COLOR_BTNSHADOW\n#define COLOR_3DHIGHLIGHT       COLOR_BTNHIGHLIGHT\n#define COLOR_3DHILIGHT         COLOR_BTNHIGHLIGHT\n#define COLOR_BTNHILIGHT        COLOR_BTNHIGHLIGHT\n#endif /* WINVER >= 0x0400 */\n\n\nWINUSERAPI\nDWORD\nWINAPI\nGetSysColor(\n    IN int nIndex);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nHBRUSH\nWINAPI\nGetSysColorBrush(\n    IN int nIndex);\n\n\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nSetSysColors(\n    IN int cElements,\n    IN CONST INT * lpaElements,\n    IN CONST COLORREF * lpaRgbValues);\n\n#endif /* !NOCOLOR */\n\nWINUSERAPI\nBOOL\nWINAPI\nDrawFocusRect(\n    IN HDC hDC,\n    IN CONST RECT * lprc);\n\nWINUSERAPI\nint\nWINAPI\nFillRect(\n    IN HDC hDC,\n    IN CONST RECT *lprc,\n    IN HBRUSH hbr);\n\nWINUSERAPI\nint\nWINAPI\nFrameRect(\n    IN HDC hDC,\n    IN CONST RECT *lprc,\n    IN HBRUSH hbr);\n\nWINUSERAPI\nBOOL\nWINAPI\nInvertRect(\n    IN HDC hDC,\n    IN CONST RECT *lprc);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetRect(\n    OUT LPRECT lprc,\n    IN int xLeft,\n    IN int yTop,\n    IN int xRight,\n    IN int yBottom);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetRectEmpty(\n    OUT LPRECT lprc);\n\nWINUSERAPI\nBOOL\nWINAPI\nCopyRect(\n    OUT LPRECT lprcDst,\n    IN CONST RECT *lprcSrc);\n\nWINUSERAPI\nBOOL\nWINAPI\nInflateRect(\n    IN OUT LPRECT lprc,\n    IN int dx,\n    IN int dy);\n\nWINUSERAPI\nBOOL\nWINAPI\nIntersectRect(\n    OUT LPRECT lprcDst,\n    IN CONST RECT *lprcSrc1,\n    IN CONST RECT *lprcSrc2);\n\nWINUSERAPI\nBOOL\nWINAPI\nUnionRect(\n    OUT LPRECT lprcDst,\n    IN CONST RECT *lprcSrc1,\n    IN CONST RECT *lprcSrc2);\n\nWINUSERAPI\nBOOL\nWINAPI\nSubtractRect(\n    OUT LPRECT lprcDst,\n    IN CONST RECT *lprcSrc1,\n    IN CONST RECT *lprcSrc2);\n\nWINUSERAPI\nBOOL\nWINAPI\nOffsetRect(\n    IN OUT LPRECT lprc,\n    IN int dx,\n    IN int dy);\n\nWINUSERAPI\nBOOL\nWINAPI\nIsRectEmpty(\n    IN CONST RECT *lprc);\n\nWINUSERAPI\nBOOL\nWINAPI\nEqualRect(\n    IN CONST RECT *lprc1,\n    IN CONST RECT *lprc2);\n\nWINUSERAPI\nBOOL\nWINAPI\nPtInRect(\n    IN CONST RECT *lprc,\n    IN POINT pt);\n\n#ifndef NOWINOFFSETS\n\nWINUSERAPI\nWORD\nWINAPI\nGetWindowWord(\n    IN HWND hWnd,\n    IN int nIndex);\n\nWINUSERAPI\nWORD\nWINAPI\nSetWindowWord(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN WORD wNewWord);\n\nWINUSERAPI\nLONG\nWINAPI\nGetWindowLongA(\n    IN HWND hWnd,\n    IN int nIndex);\nWINUSERAPI\nLONG\nWINAPI\nGetWindowLongW(\n    IN HWND hWnd,\n    IN int nIndex);\n#ifdef UNICODE\n#define GetWindowLong  GetWindowLongW\n#else\n#define GetWindowLong  GetWindowLongA\n#endif // !UNICODE\n\nWINUSERAPI\nLONG\nWINAPI\nSetWindowLongA(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG dwNewLong);\nWINUSERAPI\nLONG\nWINAPI\nSetWindowLongW(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG dwNewLong);\n#ifdef UNICODE\n#define SetWindowLong  SetWindowLongW\n#else\n#define SetWindowLong  SetWindowLongA\n#endif // !UNICODE\n\n#ifdef _WIN64\n\nWINUSERAPI\nLONG_PTR\nWINAPI\nGetWindowLongPtrA(\n    HWND hWnd,\n    int nIndex);\nWINUSERAPI\nLONG_PTR\nWINAPI\nGetWindowLongPtrW(\n    HWND hWnd,\n    int nIndex);\n#ifdef UNICODE\n#define GetWindowLongPtr  GetWindowLongPtrW\n#else\n#define GetWindowLongPtr  GetWindowLongPtrA\n#endif // !UNICODE\n\nWINUSERAPI\nLONG_PTR\nWINAPI\nSetWindowLongPtrA(\n    HWND hWnd,\n    int nIndex,\n    LONG_PTR dwNewLong);\nWINUSERAPI\nLONG_PTR\nWINAPI\nSetWindowLongPtrW(\n    HWND hWnd,\n    int nIndex,\n    LONG_PTR dwNewLong);\n#ifdef UNICODE\n#define SetWindowLongPtr  SetWindowLongPtrW\n#else\n#define SetWindowLongPtr  SetWindowLongPtrA\n#endif // !UNICODE\n\n#else  /* _WIN64 */\n\n#define GetWindowLongPtrA   GetWindowLongA\n#define GetWindowLongPtrW   GetWindowLongW\n#ifdef UNICODE\n#define GetWindowLongPtr  GetWindowLongPtrW\n#else\n#define GetWindowLongPtr  GetWindowLongPtrA\n#endif // !UNICODE\n\n#define SetWindowLongPtrA   SetWindowLongA\n#define SetWindowLongPtrW   SetWindowLongW\n#ifdef UNICODE\n#define SetWindowLongPtr  SetWindowLongPtrW\n#else\n#define SetWindowLongPtr  SetWindowLongPtrA\n#endif // !UNICODE\n\n#endif /* _WIN64 */\n\nWINUSERAPI\nWORD\nWINAPI\nGetClassWord(\n    IN HWND hWnd,\n    IN int nIndex);\n\nWINUSERAPI\nWORD\nWINAPI\nSetClassWord(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN WORD wNewWord);\n\nWINUSERAPI\nDWORD\nWINAPI\nGetClassLongA(\n    IN HWND hWnd,\n    IN int nIndex);\nWINUSERAPI\nDWORD\nWINAPI\nGetClassLongW(\n    IN HWND hWnd,\n    IN int nIndex);\n#ifdef UNICODE\n#define GetClassLong  GetClassLongW\n#else\n#define GetClassLong  GetClassLongA\n#endif // !UNICODE\n\nWINUSERAPI\nDWORD\nWINAPI\nSetClassLongA(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG dwNewLong);\nWINUSERAPI\nDWORD\nWINAPI\nSetClassLongW(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG dwNewLong);\n#ifdef UNICODE\n#define SetClassLong  SetClassLongW\n#else\n#define SetClassLong  SetClassLongA\n#endif // !UNICODE\n\n#ifdef _WIN64\n\nWINUSERAPI\nULONG_PTR\nWINAPI\nGetClassLongPtrA(\n    IN HWND hWnd,\n    IN int nIndex);\nWINUSERAPI\nULONG_PTR\nWINAPI\nGetClassLongPtrW(\n    IN HWND hWnd,\n    IN int nIndex);\n#ifdef UNICODE\n#define GetClassLongPtr  GetClassLongPtrW\n#else\n#define GetClassLongPtr  GetClassLongPtrA\n#endif // !UNICODE\n\nWINUSERAPI\nULONG_PTR\nWINAPI\nSetClassLongPtrA(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG_PTR dwNewLong);\nWINUSERAPI\nULONG_PTR\nWINAPI\nSetClassLongPtrW(\n    IN HWND hWnd,\n    IN int nIndex,\n    IN LONG_PTR dwNewLong);\n#ifdef UNICODE\n#define SetClassLongPtr  SetClassLongPtrW\n#else\n#define SetClassLongPtr  SetClassLongPtrA\n#endif // !UNICODE\n\n#else  /* _WIN64 */\n\n#define GetClassLongPtrA    GetClassLongA\n#define GetClassLongPtrW    GetClassLongW\n#ifdef UNICODE\n#define GetClassLongPtr  GetClassLongPtrW\n#else\n#define GetClassLongPtr  GetClassLongPtrA\n#endif // !UNICODE\n\n#define SetClassLongPtrA    SetClassLongA\n#define SetClassLongPtrW    SetClassLongW\n#ifdef UNICODE\n#define SetClassLongPtr  SetClassLongPtrW\n#else\n#define SetClassLongPtr  SetClassLongPtrA\n#endif // !UNICODE\n\n#endif /* _WIN64 */\n\n#endif /* !NOWINOFFSETS */\n\n#if(WINVER >= 0x0500)\nWINUSERAPI\nBOOL\nWINAPI\nGetProcessDefaultLayout(\n    OUT DWORD *pdwDefaultLayout);\n\nWINUSERAPI\nBOOL\nWINAPI\nSetProcessDefaultLayout(\n    IN DWORD dwDefaultLayout);\n#endif /* WINVER >= 0x0500 */\n\nWINUSERAPI\nHWND\nWINAPI\nGetDesktopWindow(\n    VOID);\n\n\nWINUSERAPI\nHWND\nWINAPI\nGetParent(\n    IN HWND hWnd);\n\nWINUSERAPI\nHWND\nWINAPI\nSetParent(\n    IN HWND hWndChild,\n    IN HWND hWndNewParent);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumChildWindows(\n    IN HWND hWndParent,\n    IN WNDENUMPROC lpEnumFunc,\n    IN LPARAM lParam);\n\nWINUSERAPI\nHWND\nWINAPI\nFindWindowA(\n    IN LPCSTR lpClassName,\n    IN LPCSTR lpWindowName);\nWINUSERAPI\nHWND\nWINAPI\nFindWindowW(\n    IN LPCWSTR lpClassName,\n    IN LPCWSTR lpWindowName);\n#ifdef UNICODE\n#define FindWindow  FindWindowW\n#else\n#define FindWindow  FindWindowA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI HWND    WINAPI FindWindowExA( IN HWND, IN HWND, IN LPCSTR, IN LPCSTR);\nWINUSERAPI HWND    WINAPI FindWindowExW( IN HWND, IN HWND, IN LPCWSTR, IN LPCWSTR);\n#ifdef UNICODE\n#define FindWindowEx  FindWindowExW\n#else\n#define FindWindowEx  FindWindowExA\n#endif // !UNICODE\n\nWINUSERAPI HWND    WINAPI  GetShellWindow(void);\n#endif /* WINVER >= 0x0400 */\n\n\nWINUSERAPI BOOL    WINAPI  RegisterShellHookWindow( IN HWND);\nWINUSERAPI BOOL    WINAPI  DeregisterShellHookWindow( IN HWND);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumWindows(\n    IN WNDENUMPROC lpEnumFunc,\n    IN LPARAM lParam);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumThreadWindows(\n    IN DWORD dwThreadId,\n    IN WNDENUMPROC lpfn,\n    IN LPARAM lParam);\n\n#define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows(HandleToUlong(hTask), lpfn, lParam)\n\nWINUSERAPI\nint\nWINAPI\nGetClassNameA(\n    IN HWND hWnd,\n    OUT LPSTR lpClassName,\n    IN int nMaxCount);\nWINUSERAPI\nint\nWINAPI\nGetClassNameW(\n    IN HWND hWnd,\n    OUT LPWSTR lpClassName,\n    IN int nMaxCount);\n#ifdef UNICODE\n#define GetClassName  GetClassNameW\n#else\n#define GetClassName  GetClassNameA\n#endif // !UNICODE\n\nWINUSERAPI\nHWND\nWINAPI\nGetTopWindow(\n    IN HWND hWnd);\n\n#define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd)\n#define GetSysModalWindow() (NULL)\n#define SetSysModalWindow(hWnd) (NULL)\n\nWINUSERAPI\nDWORD\nWINAPI\nGetWindowThreadProcessId(\n    IN HWND hWnd,\n    OUT LPDWORD lpdwProcessId);\n\n#if(_WIN32_WINNT >= 0x0501)\nWINUSERAPI\nBOOL\nWINAPI\nIsGUIThread(\n    BOOL bConvert);\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#define GetWindowTask(hWnd) \\\n        ((HANDLE)(DWORD_PTR)GetWindowThreadProcessId(hWnd, NULL))\n\nWINUSERAPI\nHWND\nWINAPI\nGetLastActivePopup(\n    IN HWND hWnd);\n\n/*\n * GetWindow() Constants\n */\n#define GW_HWNDFIRST        0\n#define GW_HWNDLAST         1\n#define GW_HWNDNEXT         2\n#define GW_HWNDPREV         3\n#define GW_OWNER            4\n#define GW_CHILD            5\n#if(WINVER <= 0x0400)\n#define GW_MAX              5\n#else\n#define GW_ENABLEDPOPUP     6\n#define GW_MAX              6\n#endif\n\nWINUSERAPI\nHWND\nWINAPI\nGetWindow(\n    IN HWND hWnd,\n    IN UINT uCmd);\n\n\n\n#ifndef NOWH\n\n#ifdef STRICT\n\nWINUSERAPI\nHHOOK\nWINAPI\nSetWindowsHookA(\n    IN int nFilterType,\n    IN HOOKPROC pfnFilterProc);\nWINUSERAPI\nHHOOK\nWINAPI\nSetWindowsHookW(\n    IN int nFilterType,\n    IN HOOKPROC pfnFilterProc);\n#ifdef UNICODE\n#define SetWindowsHook  SetWindowsHookW\n#else\n#define SetWindowsHook  SetWindowsHookA\n#endif // !UNICODE\n\n#else /* !STRICT */\n\nWINUSERAPI\nHOOKPROC\nWINAPI\nSetWindowsHookA(\n    IN int nFilterType,\n    IN HOOKPROC pfnFilterProc);\nWINUSERAPI\nHOOKPROC\nWINAPI\nSetWindowsHookW(\n    IN int nFilterType,\n    IN HOOKPROC pfnFilterProc);\n#ifdef UNICODE\n#define SetWindowsHook  SetWindowsHookW\n#else\n#define SetWindowsHook  SetWindowsHookA\n#endif // !UNICODE\n\n#endif /* !STRICT */\n\nWINUSERAPI\nBOOL\nWINAPI\nUnhookWindowsHook(\n    IN int nCode,\n    IN HOOKPROC pfnFilterProc);\n\nWINUSERAPI\nHHOOK\nWINAPI\nSetWindowsHookExA(\n    IN int idHook,\n    IN HOOKPROC lpfn,\n    IN HINSTANCE hmod,\n    IN DWORD dwThreadId);\nWINUSERAPI\nHHOOK\nWINAPI\nSetWindowsHookExW(\n    IN int idHook,\n    IN HOOKPROC lpfn,\n    IN HINSTANCE hmod,\n    IN DWORD dwThreadId);\n#ifdef UNICODE\n#define SetWindowsHookEx  SetWindowsHookExW\n#else\n#define SetWindowsHookEx  SetWindowsHookExA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nUnhookWindowsHookEx(\n    IN HHOOK hhk);\n\nWINUSERAPI\nLRESULT\nWINAPI\nCallNextHookEx(\n    IN HHOOK hhk,\n    IN int nCode,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n\n/*\n * Macros for source-level compatibility with old functions.\n */\n#ifdef STRICT\n#define DefHookProc(nCode, wParam, lParam, phhk)\\\n        CallNextHookEx(*phhk, nCode, wParam, lParam)\n#else\n#define DefHookProc(nCode, wParam, lParam, phhk)\\\n        CallNextHookEx((HHOOK)*phhk, nCode, wParam, lParam)\n#endif /* STRICT */\n#endif /* !NOWH */\n\n#ifndef NOMENUS\n\n\n/* ;win40  -- A lot of MF_* flags have been renamed as MFT_* and MFS_* flags */\n/*\n * Menu flags for Add/Check/EnableMenuItem()\n */\n#define MF_INSERT           0x00000000L\n#define MF_CHANGE           0x00000080L\n#define MF_APPEND           0x00000100L\n#define MF_DELETE           0x00000200L\n#define MF_REMOVE           0x00001000L\n\n#define MF_BYCOMMAND        0x00000000L\n#define MF_BYPOSITION       0x00000400L\n\n#define MF_SEPARATOR        0x00000800L\n\n#define MF_ENABLED          0x00000000L\n#define MF_GRAYED           0x00000001L\n#define MF_DISABLED         0x00000002L\n\n#define MF_UNCHECKED        0x00000000L\n#define MF_CHECKED          0x00000008L\n#define MF_USECHECKBITMAPS  0x00000200L\n\n#define MF_STRING           0x00000000L\n#define MF_BITMAP           0x00000004L\n#define MF_OWNERDRAW        0x00000100L\n\n#define MF_POPUP            0x00000010L\n#define MF_MENUBARBREAK     0x00000020L\n#define MF_MENUBREAK        0x00000040L\n\n#define MF_UNHILITE         0x00000000L\n#define MF_HILITE           0x00000080L\n\n#if(WINVER >= 0x0400)\n#define MF_DEFAULT          0x00001000L\n#endif /* WINVER >= 0x0400 */\n#define MF_SYSMENU          0x00002000L\n#define MF_HELP             0x00004000L\n#if(WINVER >= 0x0400)\n#define MF_RIGHTJUSTIFY     0x00004000L\n#endif /* WINVER >= 0x0400 */\n\n#define MF_MOUSESELECT      0x00008000L\n#if(WINVER >= 0x0400)\n#define MF_END              0x00000080L  /* Obsolete -- only used by old RES files */\n#endif /* WINVER >= 0x0400 */\n\n\n#if(WINVER >= 0x0400)\n#define MFT_STRING          MF_STRING\n#define MFT_BITMAP          MF_BITMAP\n#define MFT_MENUBARBREAK    MF_MENUBARBREAK\n#define MFT_MENUBREAK       MF_MENUBREAK\n#define MFT_OWNERDRAW       MF_OWNERDRAW\n#define MFT_RADIOCHECK      0x00000200L\n#define MFT_SEPARATOR       MF_SEPARATOR\n#define MFT_RIGHTORDER      0x00002000L\n#define MFT_RIGHTJUSTIFY    MF_RIGHTJUSTIFY\n\n/* Menu flags for Add/Check/EnableMenuItem() */\n#define MFS_GRAYED          0x00000003L\n#define MFS_DISABLED        MFS_GRAYED\n#define MFS_CHECKED         MF_CHECKED\n#define MFS_HILITE          MF_HILITE\n#define MFS_ENABLED         MF_ENABLED\n#define MFS_UNCHECKED       MF_UNCHECKED\n#define MFS_UNHILITE        MF_UNHILITE\n#define MFS_DEFAULT         MF_DEFAULT\n#endif /* WINVER >= 0x0400 */\n\n\n#if(WINVER >= 0x0400)\n\nWINUSERAPI\nBOOL\nWINAPI\nCheckMenuRadioItem(\n    IN HMENU,\n    IN UINT,\n    IN UINT,\n    IN UINT,\n    IN UINT);\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Menu item resource format\n */\ntypedef struct {\n    WORD versionNumber;\n    WORD offset;\n} MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;\n\ntypedef struct {        // version 0\n    WORD mtOption;\n    WORD mtID;\n    WCHAR mtString[1];\n} MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;\n#define MF_END             0x00000080L\n\n#endif /* !NOMENUS */\n\n#ifndef NOSYSCOMMANDS\n\n/*\n * System Menu Command Values\n */\n#define SC_SIZE         0xF000\n#define SC_MOVE         0xF010\n#define SC_MINIMIZE     0xF020\n#define SC_MAXIMIZE     0xF030\n#define SC_NEXTWINDOW   0xF040\n#define SC_PREVWINDOW   0xF050\n#define SC_CLOSE        0xF060\n#define SC_VSCROLL      0xF070\n#define SC_HSCROLL      0xF080\n#define SC_MOUSEMENU    0xF090\n#define SC_KEYMENU      0xF100\n#define SC_ARRANGE      0xF110\n#define SC_RESTORE      0xF120\n#define SC_TASKLIST     0xF130\n#define SC_SCREENSAVE   0xF140\n#define SC_HOTKEY       0xF150\n#if(WINVER >= 0x0400)\n#define SC_DEFAULT      0xF160\n#define SC_MONITORPOWER 0xF170\n#define SC_CONTEXTHELP  0xF180\n#define SC_SEPARATOR    0xF00F\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Obsolete names\n */\n#define SC_ICON         SC_MINIMIZE\n#define SC_ZOOM         SC_MAXIMIZE\n\n#endif /* !NOSYSCOMMANDS */\n\n/*\n * Resource Loading Routines\n */\n\nWINUSERAPI\nHBITMAP\nWINAPI\nLoadBitmapA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpBitmapName);\nWINUSERAPI\nHBITMAP\nWINAPI\nLoadBitmapW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpBitmapName);\n#ifdef UNICODE\n#define LoadBitmap  LoadBitmapW\n#else\n#define LoadBitmap  LoadBitmapA\n#endif // !UNICODE\n\nWINUSERAPI\nHCURSOR\nWINAPI\nLoadCursorA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpCursorName);\nWINUSERAPI\nHCURSOR\nWINAPI\nLoadCursorW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpCursorName);\n#ifdef UNICODE\n#define LoadCursor  LoadCursorW\n#else\n#define LoadCursor  LoadCursorA\n#endif // !UNICODE\n\nWINUSERAPI\nHCURSOR\nWINAPI\nLoadCursorFromFileA(\n    IN LPCSTR lpFileName);\nWINUSERAPI\nHCURSOR\nWINAPI\nLoadCursorFromFileW(\n    IN LPCWSTR lpFileName);\n#ifdef UNICODE\n#define LoadCursorFromFile  LoadCursorFromFileW\n#else\n#define LoadCursorFromFile  LoadCursorFromFileA\n#endif // !UNICODE\n\nWINUSERAPI\nHCURSOR\nWINAPI\nCreateCursor(\n    IN HINSTANCE hInst,\n    IN int xHotSpot,\n    IN int yHotSpot,\n    IN int nWidth,\n    IN int nHeight,\n    IN CONST VOID *pvANDPlane,\n    IN CONST VOID *pvXORPlane);\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyCursor(\n    IN HCURSOR hCursor);\n\n#ifndef _MAC\n#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur)))\n#else\nWINUSERAPI\nHCURSOR\nWINAPI\nCopyCursor(\n    IN HCURSOR hCursor);\n#endif\n\n/*\n * Standard Cursor IDs\n */\n#define IDC_ARROW           MAKEINTRESOURCE(32512)\n#define IDC_IBEAM           MAKEINTRESOURCE(32513)\n#define IDC_WAIT            MAKEINTRESOURCE(32514)\n#define IDC_CROSS           MAKEINTRESOURCE(32515)\n#define IDC_UPARROW         MAKEINTRESOURCE(32516)\n#define IDC_SIZE            MAKEINTRESOURCE(32640)  /* OBSOLETE: use IDC_SIZEALL */\n#define IDC_ICON            MAKEINTRESOURCE(32641)  /* OBSOLETE: use IDC_ARROW */\n#define IDC_SIZENWSE        MAKEINTRESOURCE(32642)\n#define IDC_SIZENESW        MAKEINTRESOURCE(32643)\n#define IDC_SIZEWE          MAKEINTRESOURCE(32644)\n#define IDC_SIZENS          MAKEINTRESOURCE(32645)\n#define IDC_SIZEALL         MAKEINTRESOURCE(32646)\n#define IDC_NO              MAKEINTRESOURCE(32648) /*not in win3.1 */\n#if(WINVER >= 0x0500)\n#define IDC_HAND            MAKEINTRESOURCE(32649)\n#endif /* WINVER >= 0x0500 */\n#define IDC_APPSTARTING     MAKEINTRESOURCE(32650) /*not in win3.1 */\n#if(WINVER >= 0x0400)\n#define IDC_HELP            MAKEINTRESOURCE(32651)\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nBOOL\nWINAPI\nSetSystemCursor(\n    IN HCURSOR hcur,\n    IN DWORD   id);\n\ntypedef struct _ICONINFO {\n    BOOL    fIcon;\n    DWORD   xHotspot;\n    DWORD   yHotspot;\n    HBITMAP hbmMask;\n    HBITMAP hbmColor;\n} ICONINFO;\ntypedef ICONINFO *PICONINFO;\n\nWINUSERAPI\nHICON\nWINAPI\nLoadIconA(\n    IN HINSTANCE hInstance,\n    IN LPCSTR lpIconName);\nWINUSERAPI\nHICON\nWINAPI\nLoadIconW(\n    IN HINSTANCE hInstance,\n    IN LPCWSTR lpIconName);\n#ifdef UNICODE\n#define LoadIcon  LoadIconW\n#else\n#define LoadIcon  LoadIconA\n#endif // !UNICODE\n\n\nWINUSERAPI UINT PrivateExtractIconsA(\n    IN LPCSTR szFileName,\n    IN int      nIconIndex,\n    IN int      cxIcon,\n    IN int      cyIcon,\n    OUT HICON   *phicon,\n    OUT UINT    *piconid,\n    IN UINT     nIcons,\n    IN UINT     flags);\nWINUSERAPI UINT PrivateExtractIconsW(\n    IN LPCWSTR szFileName,\n    IN int      nIconIndex,\n    IN int      cxIcon,\n    IN int      cyIcon,\n    OUT HICON   *phicon,\n    OUT UINT    *piconid,\n    IN UINT     nIcons,\n    IN UINT     flags);\n#ifdef UNICODE\n#define PrivateExtractIcons  PrivateExtractIconsW\n#else\n#define PrivateExtractIcons  PrivateExtractIconsA\n#endif // !UNICODE\n\nWINUSERAPI\nHICON\nWINAPI\nCreateIcon(\n    IN HINSTANCE hInstance,\n    IN int nWidth,\n    IN int nHeight,\n    IN BYTE cPlanes,\n    IN BYTE cBitsPixel,\n    IN CONST BYTE *lpbANDbits,\n    IN CONST BYTE *lpbXORbits);\n\nWINUSERAPI\nBOOL\nWINAPI\nDestroyIcon(\n    IN HICON hIcon);\n\nWINUSERAPI\nint\nWINAPI\nLookupIconIdFromDirectory(\n    IN PBYTE presbits,\n    IN BOOL fIcon);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nint\nWINAPI\nLookupIconIdFromDirectoryEx(\n    IN PBYTE presbits,\n    IN BOOL  fIcon,\n    IN int   cxDesired,\n    IN int   cyDesired,\n    IN UINT  Flags);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nHICON\nWINAPI\nCreateIconFromResource(\n    IN PBYTE presbits,\n    IN DWORD dwResSize,\n    IN BOOL fIcon,\n    IN DWORD dwVer);\n\n#if(WINVER >= 0x0400)\nWINUSERAPI\nHICON\nWINAPI\nCreateIconFromResourceEx(\n    IN PBYTE presbits,\n    IN DWORD dwResSize,\n    IN BOOL  fIcon,\n    IN DWORD dwVer,\n    IN int   cxDesired,\n    IN int   cyDesired,\n    IN UINT  Flags);\n\n/* Icon/Cursor header */\ntypedef struct tagCURSORSHAPE\n{\n    int     xHotSpot;\n    int     yHotSpot;\n    int     cx;\n    int     cy;\n    int     cbWidth;\n    BYTE    Planes;\n    BYTE    BitsPixel;\n} CURSORSHAPE, FAR *LPCURSORSHAPE;\n#endif /* WINVER >= 0x0400 */\n\n#define IMAGE_BITMAP        0\n#define IMAGE_ICON          1\n#define IMAGE_CURSOR        2\n#if(WINVER >= 0x0400)\n#define IMAGE_ENHMETAFILE   3\n\n#define LR_DEFAULTCOLOR     0x0000\n#define LR_MONOCHROME       0x0001\n#define LR_COLOR            0x0002\n#define LR_COPYRETURNORG    0x0004\n#define LR_COPYDELETEORG    0x0008\n#define LR_LOADFROMFILE     0x0010\n#define LR_LOADTRANSPARENT  0x0020\n#define LR_DEFAULTSIZE      0x0040\n#define LR_VGACOLOR         0x0080\n#define LR_LOADMAP3DCOLORS  0x1000\n#define LR_CREATEDIBSECTION 0x2000\n#define LR_COPYFROMRESOURCE 0x4000\n#define LR_SHARED           0x8000\n\nWINUSERAPI\nHANDLE\nWINAPI\nLoadImageA(\n    IN HINSTANCE,\n    IN LPCSTR,\n    IN UINT,\n    IN int,\n    IN int,\n    IN UINT);\nWINUSERAPI\nHANDLE\nWINAPI\nLoadImageW(\n    IN HINSTANCE,\n    IN LPCWSTR,\n    IN UINT,\n    IN int,\n    IN int,\n    IN UINT);\n#ifdef UNICODE\n#define LoadImage  LoadImageW\n#else\n#define LoadImage  LoadImageA\n#endif // !UNICODE\n\nWINUSERAPI\nHANDLE\nWINAPI\nCopyImage(\n    IN HANDLE,\n    IN UINT,\n    IN int,\n    IN int,\n    IN UINT);\n\n#define DI_MASK         0x0001\n#define DI_IMAGE        0x0002\n#define DI_NORMAL       0x0003\n#define DI_COMPAT       0x0004\n#define DI_DEFAULTSIZE  0x0008\n#if(_WIN32_WINNT >= 0x0501)\n#define DI_NOMIRROR     0x0010\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI BOOL WINAPI DrawIconEx( IN HDC hdc, IN int xLeft, IN int yTop,\n              IN HICON hIcon, IN int cxWidth, IN int cyWidth,\n              IN UINT istepIfAniCur, IN HBRUSH hbrFlickerFreeDraw, IN UINT diFlags);\n#endif /* WINVER >= 0x0400 */\n\nWINUSERAPI\nHICON\nWINAPI\nCreateIconIndirect(\n    IN PICONINFO piconinfo);\n\nWINUSERAPI\nHICON\nWINAPI\nCopyIcon(\n    IN HICON hIcon);\n\nWINUSERAPI\nBOOL\nWINAPI\nGetIconInfo(\n    IN HICON hIcon,\n    OUT PICONINFO piconinfo);\n\n#if(WINVER >= 0x0400)\n#define RES_ICON    1\n#define RES_CURSOR  2\n#endif /* WINVER >= 0x0400 */\n\n#ifdef OEMRESOURCE\n\n\n/*\n * OEM Resource Ordinal Numbers\n */\n#define OBM_CLOSE           32754\n#define OBM_UPARROW         32753\n#define OBM_DNARROW         32752\n#define OBM_RGARROW         32751\n#define OBM_LFARROW         32750\n#define OBM_REDUCE          32749\n#define OBM_ZOOM            32748\n#define OBM_RESTORE         32747\n#define OBM_REDUCED         32746\n#define OBM_ZOOMD           32745\n#define OBM_RESTORED        32744\n#define OBM_UPARROWD        32743\n#define OBM_DNARROWD        32742\n#define OBM_RGARROWD        32741\n#define OBM_LFARROWD        32740\n#define OBM_MNARROW         32739\n#define OBM_COMBO           32738\n#define OBM_UPARROWI        32737\n#define OBM_DNARROWI        32736\n#define OBM_RGARROWI        32735\n#define OBM_LFARROWI        32734\n\n#define OBM_OLD_CLOSE       32767\n#define OBM_SIZE            32766\n#define OBM_OLD_UPARROW     32765\n#define OBM_OLD_DNARROW     32764\n#define OBM_OLD_RGARROW     32763\n#define OBM_OLD_LFARROW     32762\n#define OBM_BTSIZE          32761\n#define OBM_CHECK           32760\n#define OBM_CHECKBOXES      32759\n#define OBM_BTNCORNERS      32758\n#define OBM_OLD_REDUCE      32757\n#define OBM_OLD_ZOOM        32756\n#define OBM_OLD_RESTORE     32755\n\n\n#define OCR_NORMAL          32512\n#define OCR_IBEAM           32513\n#define OCR_WAIT            32514\n#define OCR_CROSS           32515\n#define OCR_UP              32516\n#define OCR_SIZE            32640   /* OBSOLETE: use OCR_SIZEALL */\n#define OCR_ICON            32641   /* OBSOLETE: use OCR_NORMAL */\n#define OCR_SIZENWSE        32642\n#define OCR_SIZENESW        32643\n#define OCR_SIZEWE          32644\n#define OCR_SIZENS          32645\n#define OCR_SIZEALL         32646\n#define OCR_ICOCUR          32647   /* OBSOLETE: use OIC_WINLOGO */\n#define OCR_NO              32648\n#if(WINVER >= 0x0500)\n#define OCR_HAND            32649\n#endif /* WINVER >= 0x0500 */\n#if(WINVER >= 0x0400)\n#define OCR_APPSTARTING     32650\n#endif /* WINVER >= 0x0400 */\n\n\n#define OIC_SAMPLE          32512\n#define OIC_HAND            32513\n#define OIC_QUES            32514\n#define OIC_BANG            32515\n#define OIC_NOTE            32516\n#if(WINVER >= 0x0400)\n#define OIC_WINLOGO         32517\n#define OIC_WARNING         OIC_BANG\n#define OIC_ERROR           OIC_HAND\n#define OIC_INFORMATION     OIC_NOTE\n#endif /* WINVER >= 0x0400 */\n\n\n\n#endif /* OEMRESOURCE */\n\n#define ORD_LANGDRIVER    1     /* The ordinal number for the entry point of\n                                ** language drivers.\n                                */\n\n#ifndef NOICONS\n\n/*\n * Standard Icon IDs\n */\n#ifdef RC_INVOKED\n#define IDI_APPLICATION     32512\n#define IDI_HAND            32513\n#define IDI_QUESTION        32514\n#define IDI_EXCLAMATION     32515\n#define IDI_ASTERISK        32516\n#if(WINVER >= 0x0400)\n#define IDI_WINLOGO         32517\n#endif /* WINVER >= 0x0400 */\n#else\n#define IDI_APPLICATION     MAKEINTRESOURCE(32512)\n#define IDI_HAND            MAKEINTRESOURCE(32513)\n#define IDI_QUESTION        MAKEINTRESOURCE(32514)\n#define IDI_EXCLAMATION     MAKEINTRESOURCE(32515)\n#define IDI_ASTERISK        MAKEINTRESOURCE(32516)\n#if(WINVER >= 0x0400)\n#define IDI_WINLOGO         MAKEINTRESOURCE(32517)\n#endif /* WINVER >= 0x0400 */\n#endif /* RC_INVOKED */\n\n#if(WINVER >= 0x0400)\n#define IDI_WARNING     IDI_EXCLAMATION\n#define IDI_ERROR       IDI_HAND\n#define IDI_INFORMATION IDI_ASTERISK\n#endif /* WINVER >= 0x0400 */\n\n\n#endif /* !NOICONS */\n\nWINUSERAPI\nint\nWINAPI\nLoadStringA(\n    IN HINSTANCE hInstance,\n    IN UINT uID,\n    OUT LPSTR lpBuffer,\n    IN int nBufferMax);\nWINUSERAPI\nint\nWINAPI\nLoadStringW(\n    IN HINSTANCE hInstance,\n    IN UINT uID,\n    OUT LPWSTR lpBuffer,\n    IN int nBufferMax);\n#ifdef UNICODE\n#define LoadString  LoadStringW\n#else\n#define LoadString  LoadStringA\n#endif // !UNICODE\n\n\n/*\n * Dialog Box Command IDs\n */\n#define IDOK                1\n#define IDCANCEL            2\n#define IDABORT             3\n#define IDRETRY             4\n#define IDIGNORE            5\n#define IDYES               6\n#define IDNO                7\n#if(WINVER >= 0x0400)\n#define IDCLOSE         8\n#define IDHELP          9\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define IDTRYAGAIN      10\n#define IDCONTINUE      11\n#endif /* WINVER >= 0x0500 */\n\n#if(WINVER >= 0x0501)\n#ifndef IDTIMEOUT\n#define IDTIMEOUT 32000\n#endif\n#endif /* WINVER >= 0x0501 */\n\n\n#ifndef NOCTLMGR\n\n/*\n * Control Manager Structures and Definitions\n */\n\n#ifndef NOWINSTYLES\n\n\n/*\n * Edit Control Styles\n */\n#define ES_LEFT             0x0000L\n#define ES_CENTER           0x0001L\n#define ES_RIGHT            0x0002L\n#define ES_MULTILINE        0x0004L\n#define ES_UPPERCASE        0x0008L\n#define ES_LOWERCASE        0x0010L\n#define ES_PASSWORD         0x0020L\n#define ES_AUTOVSCROLL      0x0040L\n#define ES_AUTOHSCROLL      0x0080L\n#define ES_NOHIDESEL        0x0100L\n#define ES_OEMCONVERT       0x0400L\n#define ES_READONLY         0x0800L\n#define ES_WANTRETURN       0x1000L\n#if(WINVER >= 0x0400)\n#define ES_NUMBER           0x2000L\n#endif /* WINVER >= 0x0400 */\n\n\n#endif /* !NOWINSTYLES */\n\n/*\n * Edit Control Notification Codes\n */\n#define EN_SETFOCUS         0x0100\n#define EN_KILLFOCUS        0x0200\n#define EN_CHANGE           0x0300\n#define EN_UPDATE           0x0400\n#define EN_ERRSPACE         0x0500\n#define EN_MAXTEXT          0x0501\n#define EN_HSCROLL          0x0601\n#define EN_VSCROLL          0x0602\n\n#if(_WIN32_WINNT >= 0x0500)\n#define EN_ALIGN_LTR_EC     0x0700\n#define EN_ALIGN_RTL_EC     0x0701\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(WINVER >= 0x0400)\n/* Edit control EM_SETMARGIN parameters */\n#define EC_LEFTMARGIN       0x0001\n#define EC_RIGHTMARGIN      0x0002\n#define EC_USEFONTINFO      0xffff\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n/* wParam of EM_GET/SETIMESTATUS  */\n#define EMSIS_COMPOSITIONSTRING        0x0001\n\n/* lParam for EMSIS_COMPOSITIONSTRING  */\n#define EIMES_GETCOMPSTRATONCE         0x0001\n#define EIMES_CANCELCOMPSTRINFOCUS     0x0002\n#define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004\n#endif /* WINVER >= 0x0500 */\n\n#ifndef NOWINMESSAGES\n\n\n/*\n * Edit Control Messages\n */\n#define EM_GETSEL               0x00B0\n#define EM_SETSEL               0x00B1\n#define EM_GETRECT              0x00B2\n#define EM_SETRECT              0x00B3\n#define EM_SETRECTNP            0x00B4\n#define EM_SCROLL               0x00B5\n#define EM_LINESCROLL           0x00B6\n#define EM_SCROLLCARET          0x00B7\n#define EM_GETMODIFY            0x00B8\n#define EM_SETMODIFY            0x00B9\n#define EM_GETLINECOUNT         0x00BA\n#define EM_LINEINDEX            0x00BB\n#define EM_SETHANDLE            0x00BC\n#define EM_GETHANDLE            0x00BD\n#define EM_GETTHUMB             0x00BE\n#define EM_LINELENGTH           0x00C1\n#define EM_REPLACESEL           0x00C2\n#define EM_GETLINE              0x00C4\n#define EM_LIMITTEXT            0x00C5\n#define EM_CANUNDO              0x00C6\n#define EM_UNDO                 0x00C7\n#define EM_FMTLINES             0x00C8\n#define EM_LINEFROMCHAR         0x00C9\n#define EM_SETTABSTOPS          0x00CB\n#define EM_SETPASSWORDCHAR      0x00CC\n#define EM_EMPTYUNDOBUFFER      0x00CD\n#define EM_GETFIRSTVISIBLELINE  0x00CE\n#define EM_SETREADONLY          0x00CF\n#define EM_SETWORDBREAKPROC     0x00D0\n#define EM_GETWORDBREAKPROC     0x00D1\n#define EM_GETPASSWORDCHAR      0x00D2\n#if(WINVER >= 0x0400)\n#define EM_SETMARGINS           0x00D3\n#define EM_GETMARGINS           0x00D4\n#define EM_SETLIMITTEXT         EM_LIMITTEXT   /* ;win40 Name change */\n#define EM_GETLIMITTEXT         0x00D5\n#define EM_POSFROMCHAR          0x00D6\n#define EM_CHARFROMPOS          0x00D7\n#endif /* WINVER >= 0x0400 */\n\n#if(WINVER >= 0x0500)\n#define EM_SETIMESTATUS         0x00D8\n#define EM_GETIMESTATUS         0x00D9\n#endif /* WINVER >= 0x0500 */\n\n\n#endif /* !NOWINMESSAGES */\n\n/*\n * EDITWORDBREAKPROC code values\n */\n#define WB_LEFT            0\n#define WB_RIGHT           1\n#define WB_ISDELIMITER     2\n\n\n/*\n * Button Control Styles\n */\n#define BS_PUSHBUTTON       0x00000000L\n#define BS_DEFPUSHBUTTON    0x00000001L\n#define BS_CHECKBOX         0x00000002L\n#define BS_AUTOCHECKBOX     0x00000003L\n#define BS_RADIOBUTTON      0x00000004L\n#define BS_3STATE           0x00000005L\n#define BS_AUTO3STATE       0x00000006L\n#define BS_GROUPBOX         0x00000007L\n#define BS_USERBUTTON       0x00000008L\n#define BS_AUTORADIOBUTTON  0x00000009L\n#define BS_PUSHBOX          0x0000000AL\n#define BS_OWNERDRAW        0x0000000BL\n#define BS_TYPEMASK         0x0000000FL\n#define BS_LEFTTEXT         0x00000020L\n#if(WINVER >= 0x0400)\n#define BS_TEXT             0x00000000L\n#define BS_ICON             0x00000040L\n#define BS_BITMAP           0x00000080L\n#define BS_LEFT             0x00000100L\n#define BS_RIGHT            0x00000200L\n#define BS_CENTER           0x00000300L\n#define BS_TOP              0x00000400L\n#define BS_BOTTOM           0x00000800L\n#define BS_VCENTER          0x00000C00L\n#define BS_PUSHLIKE         0x00001000L\n#define BS_MULTILINE        0x00002000L\n#define BS_NOTIFY           0x00004000L\n#define BS_FLAT             0x00008000L\n#define BS_RIGHTBUTTON      BS_LEFTTEXT\n#endif /* WINVER >= 0x0400 */\n\n/*\n * User Button Notification Codes\n */\n#define BN_CLICKED          0\n#define BN_PAINT            1\n#define BN_HILITE           2\n#define BN_UNHILITE         3\n#define BN_DISABLE          4\n#define BN_DOUBLECLICKED    5\n#if(WINVER >= 0x0400)\n#define BN_PUSHED           BN_HILITE\n#define BN_UNPUSHED         BN_UNHILITE\n#define BN_DBLCLK           BN_DOUBLECLICKED\n#define BN_SETFOCUS         6\n#define BN_KILLFOCUS        7\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Button Control Messages\n */\n#define BM_GETCHECK        0x00F0\n#define BM_SETCHECK        0x00F1\n#define BM_GETSTATE        0x00F2\n#define BM_SETSTATE        0x00F3\n#define BM_SETSTYLE        0x00F4\n#if(WINVER >= 0x0400)\n#define BM_CLICK           0x00F5\n#define BM_GETIMAGE        0x00F6\n#define BM_SETIMAGE        0x00F7\n\n#define BST_UNCHECKED      0x0000\n#define BST_CHECKED        0x0001\n#define BST_INDETERMINATE  0x0002\n#define BST_PUSHED         0x0004\n#define BST_FOCUS          0x0008\n#endif /* WINVER >= 0x0400 */\n\n/*\n * Static Control Constants\n */\n#define SS_LEFT             0x00000000L\n#define SS_CENTER           0x00000001L\n#define SS_RIGHT            0x00000002L\n#define SS_ICON             0x00000003L\n#define SS_BLACKRECT        0x00000004L\n#define SS_GRAYRECT         0x00000005L\n#define SS_WHITERECT        0x00000006L\n#define SS_BLACKFRAME       0x00000007L\n#define SS_GRAYFRAME        0x00000008L\n#define SS_WHITEFRAME       0x00000009L\n#define SS_USERITEM         0x0000000AL\n#define SS_SIMPLE           0x0000000BL\n#define SS_LEFTNOWORDWRAP   0x0000000CL\n#if(WINVER >= 0x0400)\n#define SS_OWNERDRAW        0x0000000DL\n#define SS_BITMAP           0x0000000EL\n#define SS_ENHMETAFILE      0x0000000FL\n#define SS_ETCHEDHORZ       0x00000010L\n#define SS_ETCHEDVERT       0x00000011L\n#define SS_ETCHEDFRAME      0x00000012L\n#define SS_TYPEMASK         0x0000001FL\n#endif /* WINVER >= 0x0400 */\n#if(WINVER >= 0x0501)\n#define SS_REALSIZECONTROL  0x00000040L\n#endif /* WINVER >= 0x0501 */\n#define SS_NOPREFIX         0x00000080L /* Don't do \"&\" character translation */\n#if(WINVER >= 0x0400)\n#define SS_NOTIFY           0x00000100L\n#define SS_CENTERIMAGE      0x00000200L\n#define SS_RIGHTJUST        0x00000400L\n#define SS_REALSIZEIMAGE    0x00000800L\n#define SS_SUNKEN           0x00001000L\n#define SS_EDITCONTROL      0x00002000L\n#define SS_ENDELLIPSIS      0x00004000L\n#define SS_PATHELLIPSIS     0x00008000L\n#define SS_WORDELLIPSIS     0x0000C000L\n#define SS_ELLIPSISMASK     0x0000C000L\n#endif /* WINVER >= 0x0400 */\n\n\n\n#ifndef NOWINMESSAGES\n/*\n * Static Control Mesages\n */\n#define STM_SETICON         0x0170\n#define STM_GETICON         0x0171\n#if(WINVER >= 0x0400)\n#define STM_SETIMAGE        0x0172\n#define STM_GETIMAGE        0x0173\n#define STN_CLICKED         0\n#define STN_DBLCLK          1\n#define STN_ENABLE          2\n#define STN_DISABLE         3\n#endif /* WINVER >= 0x0400 */\n#define STM_MSGMAX          0x0174\n#endif /* !NOWINMESSAGES */\n\n/*\n * Dialog window class\n */\n#define WC_DIALOG       (MAKEINTATOM(0x8002))\n\n/*\n * Get/SetWindowWord/Long offsets for use with WC_DIALOG windows\n */\n#define DWL_MSGRESULT   0\n#define DWL_DLGPROC     4\n#define DWL_USER        8\n\n#ifdef _WIN64\n\n#undef DWL_MSGRESULT\n#undef DWL_DLGPROC\n#undef DWL_USER\n\n#endif /* _WIN64 */\n\n#define DWLP_MSGRESULT  0\n#define DWLP_DLGPROC    DWLP_MSGRESULT + sizeof(LRESULT)\n#define DWLP_USER       DWLP_DLGPROC + sizeof(DLGPROC)\n\n/*\n * Dialog Manager Routines\n */\n\n#ifndef NOMSG\n\nWINUSERAPI\nBOOL\nWINAPI\nIsDialogMessageA(\n    IN HWND hDlg,\n    IN LPMSG lpMsg);\nWINUSERAPI\nBOOL\nWINAPI\nIsDialogMessageW(\n    IN HWND hDlg,\n    IN LPMSG lpMsg);\n#ifdef UNICODE\n#define IsDialogMessage  IsDialogMessageW\n#else\n#define IsDialogMessage  IsDialogMessageA\n#endif // !UNICODE\n\n#endif /* !NOMSG */\n\nWINUSERAPI\nBOOL\nWINAPI\nMapDialogRect(\n    IN HWND hDlg,\n    IN OUT LPRECT lpRect);\n\nWINUSERAPI\nint\nWINAPI\nDlgDirListA(\n    IN HWND hDlg,\n    IN OUT LPSTR lpPathSpec,\n    IN int nIDListBox,\n    IN int nIDStaticPath,\n    IN UINT uFileType);\nWINUSERAPI\nint\nWINAPI\nDlgDirListW(\n    IN HWND hDlg,\n    IN OUT LPWSTR lpPathSpec,\n    IN int nIDListBox,\n    IN int nIDStaticPath,\n    IN UINT uFileType);\n#ifdef UNICODE\n#define DlgDirList  DlgDirListW\n#else\n#define DlgDirList  DlgDirListA\n#endif // !UNICODE\n\n/*\n * DlgDirList, DlgDirListComboBox flags values\n */\n#define DDL_READWRITE       0x0000\n#define DDL_READONLY        0x0001\n#define DDL_HIDDEN          0x0002\n#define DDL_SYSTEM          0x0004\n#define DDL_DIRECTORY       0x0010\n#define DDL_ARCHIVE         0x0020\n\n#define DDL_POSTMSGS        0x2000\n#define DDL_DRIVES          0x4000\n#define DDL_EXCLUSIVE       0x8000\n\nWINUSERAPI\nBOOL\nWINAPI\nDlgDirSelectExA(\n    IN HWND hDlg,\n    OUT LPSTR lpString,\n    IN int nCount,\n    IN int nIDListBox);\nWINUSERAPI\nBOOL\nWINAPI\nDlgDirSelectExW(\n    IN HWND hDlg,\n    OUT LPWSTR lpString,\n    IN int nCount,\n    IN int nIDListBox);\n#ifdef UNICODE\n#define DlgDirSelectEx  DlgDirSelectExW\n#else\n#define DlgDirSelectEx  DlgDirSelectExA\n#endif // !UNICODE\n\nWINUSERAPI\nint\nWINAPI\nDlgDirListComboBoxA(\n    IN HWND hDlg,\n    IN OUT LPSTR lpPathSpec,\n    IN int nIDComboBox,\n    IN int nIDStaticPath,\n    IN UINT uFiletype);\nWINUSERAPI\nint\nWINAPI\nDlgDirListComboBoxW(\n    IN HWND hDlg,\n    IN OUT LPWSTR lpPathSpec,\n    IN int nIDComboBox,\n    IN int nIDStaticPath,\n    IN UINT uFiletype);\n#ifdef UNICODE\n#define DlgDirListComboBox  DlgDirListComboBoxW\n#else\n#define DlgDirListComboBox  DlgDirListComboBoxA\n#endif // !UNICODE\n\nWINUSERAPI\nBOOL\nWINAPI\nDlgDirSelectComboBoxExA(\n    IN HWND hDlg,\n    OUT LPSTR lpString,\n    IN int nCount,\n    IN int nIDComboBox);\nWINUSERAPI\nBOOL\nWINAPI\nDlgDirSelectComboBoxExW(\n    IN HWND hDlg,\n    OUT LPWSTR lpString,\n    IN int nCount,\n    IN int nIDComboBox);\n#ifdef UNICODE\n#define DlgDirSelectComboBoxEx  DlgDirSelectComboBoxExW\n#else\n#define DlgDirSelectComboBoxEx  DlgDirSelectComboBoxExA\n#endif // !UNICODE\n\n\n\n/*\n * Dialog Styles\n */\n#define DS_ABSALIGN         0x01L\n#define DS_SYSMODAL         0x02L\n#define DS_LOCALEDIT        0x20L   /* Edit items get Local storage. */\n#define DS_SETFONT          0x40L   /* User specified font for Dlg controls */\n#define DS_MODALFRAME       0x80L   /* Can be combined with WS_CAPTION  */\n#define DS_NOIDLEMSG        0x100L  /* WM_ENTERIDLE message will not be sent */\n#define DS_SETFOREGROUND    0x200L  /* not in win3.1 */\n\n\n#if(WINVER >= 0x0400)\n#define DS_3DLOOK           0x0004L\n#define DS_FIXEDSYS         0x0008L\n#define DS_NOFAILCREATE     0x0010L\n#define DS_CONTROL          0x0400L\n#define DS_CENTER           0x0800L\n#define DS_CENTERMOUSE      0x1000L\n#define DS_CONTEXTHELP      0x2000L\n\n#define DS_SHELLFONT        (DS_SETFONT | DS_FIXEDSYS)\n#endif /* WINVER >= 0x0400 */\n\n#if(_WIN32_WCE >= 0x0500)\n#define DS_USEPIXELS        0x8000L\n#endif\n\n\n#define DM_GETDEFID         (WM_USER+0)\n#define DM_SETDEFID         (WM_USER+1)\n\n#if(WINVER >= 0x0400)\n#define DM_REPOSITION       (WM_USER+2)\n#endif /* WINVER >= 0x0400 */\n/*\n * Returned in HIWORD() of DM_GETDEFID result if msg is supported\n */\n#define DC_HASDEFID         0x534B\n\n/*\n * Dialog Codes\n */\n#define DLGC_WANTARROWS     0x0001      /* Control wants arrow keys         */\n#define DLGC_WANTTAB        0x0002      /* Control wants tab keys           */\n#define DLGC_WANTALLKEYS    0x0004      /* Control wants all keys           */\n#define DLGC_WANTMESSAGE    0x0004      /* Pass message to control          */\n#define DLGC_HASSETSEL      0x0008      /* Understands EM_SETSEL message    */\n#define DLGC_DEFPUSHBUTTON  0x0010      /* Default pushbutton               */\n#define DLGC_UNDEFPUSHBUTTON 0x0020     /* Non-default pushbutton           */\n#define DLGC_RADIOBUTTON    0x0040      /* Radio button                     */\n#define DLGC_WANTCHARS      0x0080      /* Want WM_CHAR messages            */\n#define DLGC_STATIC         0x0100      /* Static item: don't include       */\n#define DLGC_BUTTON         0x2000      /* Button item: can be checked      */\n\n#define LB_CTLCODE          0L\n\n/*\n * Listbox Return Values\n */\n#define LB_OKAY             0\n#define LB_ERR              (-1)\n#define LB_ERRSPACE         (-2)\n\n/*\n**  The idStaticPath parameter to DlgDirList can have the following values\n**  ORed if the list box should show other details of the files along with\n**  the name of the files;\n*/\n                                  /* all other details also will be returned */\n\n\n/*\n * Listbox Notification Codes\n */\n#define LBN_ERRSPACE        (-2)\n#define LBN_SELCHANGE       1\n#define LBN_DBLCLK          2\n#define LBN_SELCANCEL       3\n#define LBN_SETFOCUS        4\n#define LBN_KILLFOCUS       5\n\n\n\n#ifndef NOWINMESSAGES\n\n/*\n * Listbox messages\n */\n#define LB_ADDSTRING            0x0180\n#define LB_INSERTSTRING         0x0181\n#define LB_DELETESTRING         0x0182\n#define LB_SELITEMRANGEEX       0x0183\n#define LB_RESETCONTENT         0x0184\n#define LB_SETSEL               0x0185\n#define LB_SETCURSEL            0x0186\n#define LB_GETSEL               0x0187\n#define LB_GETCURSEL            0x0188\n#define LB_GETTEXT              0x0189\n#define LB_GETTEXTLEN           0x018A\n#define LB_GETCOUNT             0x018B\n#define LB_SELECTSTRING         0x018C\n#define LB_DIR                  0x018D\n#define LB_GETTOPINDEX          0x018E\n#define LB_FINDSTRING           0x018F\n#define LB_GETSELCOUNT          0x0190\n#define LB_GETSELITEMS          0x0191\n#define LB_SETTABSTOPS          0x0192\n#define LB_GETHORIZONTALEXTENT  0x0193\n#define LB_SETHORIZONTALEXTENT  0x0194\n#define LB_SETCOLUMNWIDTH       0x0195\n#define LB_ADDFILE              0x0196\n#define LB_SETTOPINDEX          0x0197\n#define LB_GETITEMRECT          0x0198\n#define LB_GETITEMDATA          0x0199\n#define LB_SETITEMDATA          0x019A\n#define LB_SELITEMRANGE         0x019B\n#define LB_SETANCHORINDEX       0x019C\n#define LB_GETANCHORINDEX       0x019D\n#define LB_SETCARETINDEX        0x019E\n#define LB_GETCARETINDEX        0x019F\n#define LB_SETITEMHEIGHT        0x01A0\n#define LB_GETITEMHEIGHT        0x01A1\n#define LB_FINDSTRINGEXACT      0x01A2\n#define LB_SETLOCALE            0x01A5\n#define LB_GETLOCALE            0x01A6\n#define LB_SETCOUNT             0x01A7\n#if(WINVER >= 0x0400)\n#define LB_INITSTORAGE          0x01A8\n#define LB_ITEMFROMPOINT        0x01A9\n#endif /* WINVER >= 0x0400 */\n#if(_WIN32_WCE >= 0x0400)\n#define LB_MULTIPLEADDSTRING    0x01B1\n#endif\n\n\n#if(_WIN32_WINNT >= 0x0501)\n#define LB_GETLISTBOXINFO       0x01B2\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define LB_MSGMAX               0x01B3\n#elif(_WIN32_WCE >= 0x0400)\n#define LB_MSGMAX               0x01B1\n#elif(WINVER >= 0x0400)\n#define LB_MSGMAX               0x01B0\n#else\n#define LB_MSGMAX               0x01A8\n#endif\n\n#endif /* !NOWINMESSAGES */\n\n#ifndef NOWINSTYLES\n\n\n/*\n * Listbox Styles\n */\n#define LBS_NOTIFY            0x0001L\n#define LBS_SORT              0x0002L\n#define LBS_NOREDRAW          0x0004L\n#define LBS_MULTIPLESEL       0x0008L\n#define LBS_OWNERDRAWFIXED    0x0010L\n#define LBS_OWNERDRAWVARIABLE 0x0020L\n#define LBS_HASSTRINGS        0x0040L\n#define LBS_USETABSTOPS       0x0080L\n#define LBS_NOINTEGRALHEIGHT  0x0100L\n#define LBS_MULTICOLUMN       0x0200L\n#define LBS_WANTKEYBOARDINPUT 0x0400L\n#define LBS_EXTENDEDSEL       0x0800L\n#define LBS_DISABLENOSCROLL   0x1000L\n#define LBS_NODATA            0x2000L\n#if(WINVER >= 0x0400)\n#define LBS_NOSEL             0x4000L\n#endif /* WINVER >= 0x0400 */\n#define LBS_COMBOBOX          0x8000L\n\n#define LBS_STANDARD          (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)\n\n\n#endif /* !NOWINSTYLES */\n\n\n/*\n * Combo Box return Values\n */\n#define CB_OKAY             0\n#define CB_ERR              (-1)\n#define CB_ERRSPACE         (-2)\n\n\n/*\n * Combo Box Notification Codes\n */\n#define CBN_ERRSPACE        (-1)\n#define CBN_SELCHANGE       1\n#define CBN_DBLCLK          2\n#define CBN_SETFOCUS        3\n#define CBN_KILLFOCUS       4\n#define CBN_EDITCHANGE      5\n#define CBN_EDITUPDATE      6\n#define CBN_DROPDOWN        7\n#define CBN_CLOSEUP         8\n#define CBN_SELENDOK        9\n#define CBN_SELENDCANCEL    10\n\n#ifndef NOWINSTYLES\n\n/*\n * Combo Box styles\n */\n#define CBS_SIMPLE            0x0001L\n#define CBS_DROPDOWN          0x0002L\n#define CBS_DROPDOWNLIST      0x0003L\n#define CBS_OWNERDRAWFIXED    0x0010L\n#define CBS_OWNERDRAWVARIABLE 0x0020L\n#define CBS_AUTOHSCROLL       0x0040L\n#define CBS_OEMCONVERT        0x0080L\n#define CBS_SORT              0x0100L\n#define CBS_HASSTRINGS        0x0200L\n#define CBS_NOINTEGRALHEIGHT  0x0400L\n#define CBS_DISABLENOSCROLL   0x0800L\n#if(WINVER >= 0x0400)\n#define CBS_UPPERCASE           0x2000L\n#define CBS_LOWERCASE           0x4000L\n#endif /* WINVER >= 0x0400 */\n\n#endif  /* !NOWINSTYLES */\n\n\n/*\n * Combo Box messages\n */\n#ifndef NOWINMESSAGES\n#define CB_GETEDITSEL               0x0140\n#define CB_LIMITTEXT                0x0141\n#define CB_SETEDITSEL               0x0142\n#define CB_ADDSTRING                0x0143\n#define CB_DELETESTRING             0x0144\n#define CB_DIR                      0x0145\n#define CB_GETCOUNT                 0x0146\n#define CB_GETCURSEL                0x0147\n#define CB_GETLBTEXT                0x0148\n#define CB_GETLBTEXTLEN             0x0149\n#define CB_INSERTSTRING             0x014A\n#define CB_RESETCONTENT             0x014B\n#define CB_FINDSTRING               0x014C\n#define CB_SELECTSTRING             0x014D\n#define CB_SETCURSEL                0x014E\n#define CB_SHOWDROPDOWN             0x014F\n#define CB_GETITEMDATA              0x0150\n#define CB_SETITEMDATA              0x0151\n#define CB_GETDROPPEDCONTROLRECT    0x0152\n#define CB_SETITEMHEIGHT            0x0153\n#define CB_GETITEMHEIGHT            0x0154\n#define CB_SETEXTENDEDUI            0x0155\n#define CB_GETEXTENDEDUI            0x0156\n#define CB_GETDROPPEDSTATE          0x0157\n#define CB_FINDSTRINGEXACT          0x0158\n#define CB_SETLOCALE                0x0159\n#define CB_GETLOCALE                0x015A\n#if(WINVER >= 0x0400)\n#define CB_GETTOPINDEX              0x015b\n#define CB_SETTOPINDEX              0x015c\n#define CB_GETHORIZONTALEXTENT      0x015d\n#define CB_SETHORIZONTALEXTENT      0x015e\n#define CB_GETDROPPEDWIDTH          0x015f\n#define CB_SETDROPPEDWIDTH          0x0160\n#define CB_INITSTORAGE              0x0161\n#if(_WIN32_WCE >= 0x0400)\n#define CB_MULTIPLEADDSTRING        0x0163\n#endif\n#endif /* WINVER >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define CB_GETCOMBOBOXINFO          0x0164\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define CB_MSGMAX                   0x0165\n#elif(_WIN32_WCE >= 0x0400)\n#define CB_MSGMAX                   0x0163\n#elif(WINVER >= 0x0400)\n#define CB_MSGMAX                   0x0162\n#else\n#define CB_MSGMAX                   0x015B\n#endif\n#endif  /* !NOWINMESSAGES */\n\n\n\n#ifndef NOWINSTYLES\n\n\n/*\n * Scroll Bar Styles\n */\n#define SBS_HORZ                    0x0000L\n#define SBS_VERT                    0x0001L\n#define SBS_TOPALIGN                0x0002L\n#define SBS_LEFTALIGN               0x0002L\n#define SBS_BOTTOMALIGN             0x0004L\n#define SBS_RIGHTALIGN              0x0004L\n#define SBS_SIZEBOXTOPLEFTALIGN     0x0002L\n#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L\n#define SBS_SIZEBOX                 0x0008L\n#if(WINVER >= 0x0400)\n#define SBS_SIZEGRIP                0x0010L\n#endif /* WINVER >= 0x0400 */\n\n\n#endif /* !NOWINSTYLES */\n\n/*\n * Scroll bar messages\n */\n#ifndef NOWINMESSAGES\n#define SBM_SETPOS                  0x00E0 /*not in win3.1 */\n#define SBM_GETPOS                  0x00E1 /*not in win3.1 */\n#define SBM_SETRANGE                0x00E2 /*not in win3.1 */\n#define SBM_SETRANGEREDRAW          0x00E6 /*not in win3.1 */\n#define SBM_GETRANGE                0x00E3 /*not in win3.1 */\n#define SBM_ENABLE_ARROWS           0x00E4 /*not in win3.1 */\n#if(WINVER >= 0x0400)\n#define SBM_SETSCROLLINFO           0x00E9\n#define SBM_GETSCROLLINFO           0x00EA\n#endif /* WINVER >= 0x0400 */\n\n#if(_WIN32_WINNT >= 0x0501)\n#define SBM_GETSCROLLBARINFO        0x00EB\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#if(WINVER >= 0x0400)\n#define SIF_RANGE           0x0001\n#define SIF_PAGE            0x0002\n#define SIF_POS             0x0004\n#define SIF_DISABLENOSCROLL 0x0008\n#define SIF_TRACKPOS        0x0010\n#define SIF_ALL             (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)\n\ntypedef struct tagSCROLLINFO\n{\n    UINT    cbSize;\n    UINT    fMask;\n    int     nMin;\n    int     nMax;\n    UINT    nPage;\n    int     nPos;\n    int     nTrackPos;\n}   SCROLLINFO, FAR *LPSCROLLINFO;\ntypedef SCROLLINFO CONST FAR *LPCSCROLLINFO;\n\nWINUSERAPI int     WINAPI SetScrollInfo(IN HWND, IN int, IN LPCSCROLLINFO, IN BOOL);\nWINUSERAPI BOOL    WINAPI GetScrollInfo(IN HWND, IN int, IN OUT LPSCROLLINFO);\n\n#endif /* WINVER >= 0x0400 */\n#endif /* !NOWINMESSAGES */\n#endif /* !NOCTLMGR */\n\n#ifndef NOMDI\n\n/*\n * MDI client style bits\n */\n#define MDIS_ALLCHILDSTYLES    0x0001\n\n/*\n * wParam Flags for WM_MDITILE and WM_MDICASCADE messages.\n */\n#define MDITILE_VERTICAL       0x0000 /*not in win3.1 */\n#define MDITILE_HORIZONTAL     0x0001 /*not in win3.1 */\n#define MDITILE_SKIPDISABLED   0x0002 /*not in win3.1 */\n#if(_WIN32_WINNT >= 0x0500)\n#define MDITILE_ZORDER         0x0004\n#endif /* _WIN32_WINNT >= 0x0500 */\n\ntypedef struct tagMDICREATESTRUCTA {\n    LPCSTR   szClass;\n    LPCSTR   szTitle;\n    HANDLE hOwner;\n    int x;\n    int y;\n    int cx;\n    int cy;\n    DWORD style;\n    LPARAM lParam;        /* app-defined stuff */\n} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;\ntypedef struct tagMDICREATESTRUCTW {\n    LPCWSTR  szClass;\n    LPCWSTR  szTitle;\n    HANDLE hOwner;\n    int x;\n    int y;\n    int cx;\n    int cy;\n    DWORD style;\n    LPARAM lParam;        /* app-defined stuff */\n} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;\n#ifdef UNICODE\ntypedef MDICREATESTRUCTW MDICREATESTRUCT;\ntypedef LPMDICREATESTRUCTW LPMDICREATESTRUCT;\n#else\ntypedef MDICREATESTRUCTA MDICREATESTRUCT;\ntypedef LPMDICREATESTRUCTA LPMDICREATESTRUCT;\n#endif // UNICODE\n\ntypedef struct tagCLIENTCREATESTRUCT {\n    HANDLE hWindowMenu;\n    UINT idFirstChild;\n} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;\n\nWINUSERAPI\nLRESULT\nWINAPI\nDefFrameProcA(\n    IN HWND hWnd,\n    IN HWND hWndMDIClient,\n    IN UINT uMsg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\nLRESULT\nWINAPI\nDefFrameProcW(\n    IN HWND hWnd,\n    IN HWND hWndMDIClient,\n    IN UINT uMsg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define DefFrameProc  DefFrameProcW\n#else\n#define DefFrameProc  DefFrameProcA\n#endif // !UNICODE\n\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefMDIChildProcA(\n    IN HWND hWnd,\n    IN UINT uMsg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\nWINUSERAPI\n#ifndef _MAC\nLRESULT\nWINAPI\n#else\nLRESULT\nCALLBACK\n#endif\nDefMDIChildProcW(\n    IN HWND hWnd,\n    IN UINT uMsg,\n    IN WPARAM wParam,\n    IN LPARAM lParam);\n#ifdef UNICODE\n#define DefMDIChildProc  DefMDIChildProcW\n#else\n#define DefMDIChildProc  DefMDIChildProcA\n#endif // !UNICODE\n\n#ifndef NOMSG\n\nWINUSERAPI\nBOOL\nWINAPI\nTranslateMDISysAccel(\n    IN HWND hWndClient,\n    IN LPMSG lpMsg);\n\n#endif /* !NOMSG */\n\nWINUSERAPI\nUINT\nWINAPI\nArrangeIconicWindows(\n    IN HWND hWnd);\n\nWINUSERAPI\nHWND\nWINAPI\nCreateMDIWindowA(\n    IN LPCSTR lpClassName,\n    IN LPCSTR lpWindowName,\n    IN DWORD dwStyle,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight,\n    IN HWND hWndParent,\n    IN HINSTANCE hInstance,\n    IN LPARAM lParam\n    );\nWINUSERAPI\nHWND\nWINAPI\nCreateMDIWindowW(\n    IN LPCWSTR lpClassName,\n    IN LPCWSTR lpWindowName,\n    IN DWORD dwStyle,\n    IN int X,\n    IN int Y,\n    IN int nWidth,\n    IN int nHeight,\n    IN HWND hWndParent,\n    IN HINSTANCE hInstance,\n    IN LPARAM lParam\n    );\n#ifdef UNICODE\n#define CreateMDIWindow  CreateMDIWindowW\n#else\n#define CreateMDIWindow  CreateMDIWindowA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0400)\nWINUSERAPI WORD    WINAPI TileWindows( IN HWND hwndParent, IN UINT wHow, IN CONST RECT * lpRect, IN UINT cKids, IN const HWND FAR * lpKids);\nWINUSERAPI WORD    WINAPI CascadeWindows( IN HWND hwndParent, IN UINT wHow, IN CONST RECT * lpRect, IN UINT cKids,  IN const HWND FAR * lpKids);\n#endif /* WINVER >= 0x0400 */\n#endif /* !NOMDI */\n\n#endif /* !NOUSER */\n\n/****** Help support ********************************************************/\n\n#ifndef NOHELP\n\ntypedef DWORD HELPPOLY;\ntypedef struct tagMULTIKEYHELPA {\n#ifndef _MAC\n    DWORD  mkSize;\n#else\n    WORD   mkSize;\n#endif\n    CHAR   mkKeylist;\n    CHAR   szKeyphrase[1];\n} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;\ntypedef struct tagMULTIKEYHELPW {\n#ifndef _MAC\n    DWORD  mkSize;\n#else\n    WORD   mkSize;\n#endif\n    WCHAR  mkKeylist;\n    WCHAR  szKeyphrase[1];\n} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;\n#ifdef UNICODE\ntypedef MULTIKEYHELPW MULTIKEYHELP;\ntypedef PMULTIKEYHELPW PMULTIKEYHELP;\ntypedef LPMULTIKEYHELPW LPMULTIKEYHELP;\n#else\ntypedef MULTIKEYHELPA MULTIKEYHELP;\ntypedef PMULTIKEYHELPA PMULTIKEYHELP;\ntypedef LPMULTIKEYHELPA LPMULTIKEYHELP;\n#endif // UNICODE\n\ntypedef struct tagHELPWININFOA {\n    int  wStructSize;\n    int  x;\n    int  y;\n    int  dx;\n    int  dy;\n    int  wMax;\n    CHAR   rgchMember[2];\n} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;\ntypedef struct tagHELPWININFOW {\n    int  wStructSize;\n    int  x;\n    int  y;\n    int  dx;\n    int  dy;\n    int  wMax;\n    WCHAR  rgchMember[2];\n} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;\n#ifdef UNICODE\ntypedef HELPWININFOW HELPWININFO;\ntypedef PHELPWININFOW PHELPWININFO;\ntypedef LPHELPWININFOW LPHELPWININFO;\n#else\ntypedef HELPWININFOA HELPWININFO;\ntypedef PHELPWININFOA PHELPWININFO;\ntypedef LPHELPWININFOA LPHELPWININFO;\n#endif // UNICODE\n\n\n/*\n * Commands to pass to WinHelp()\n */\n#define HELP_CONTEXT      0x0001L  /* Display topic in ulTopic */\n#define HELP_QUIT         0x0002L  /* Terminate help */\n#define HELP_INDEX        0x0003L  /* Display index */\n#define HELP_CONTENTS     0x0003L\n#define HELP_HELPONHELP   0x0004L  /* Display help on using help */\n#define HELP_SETINDEX     0x0005L  /* Set current Index for multi index help */\n#define HELP_SETCONTENTS  0x0005L\n#define HELP_CONTEXTPOPUP 0x0008L\n#define HELP_FORCEFILE    0x0009L\n#define HELP_KEY          0x0101L  /* Display topic for keyword in offabData */\n#define HELP_COMMAND      0x0102L\n#define HELP_PARTIALKEY   0x0105L\n#define HELP_MULTIKEY     0x0201L\n#define HELP_SETWINPOS    0x0203L\n#if(WINVER >= 0x0400)\n#define HELP_CONTEXTMENU  0x000a\n#define HELP_FINDER       0x000b\n#define HELP_WM_HELP      0x000c\n#define HELP_SETPOPUP_POS 0x000d\n\n#define HELP_TCARD              0x8000\n#define HELP_TCARD_DATA         0x0010\n#define HELP_TCARD_OTHER_CALLER 0x0011\n\n// These are in winhelp.h in Win95.\n#define IDH_NO_HELP                     28440\n#define IDH_MISSING_CONTEXT             28441 // Control doesn't have matching help context\n#define IDH_GENERIC_HELP_BUTTON         28442 // Property sheet help button\n#define IDH_OK                          28443\n#define IDH_CANCEL                      28444\n#define IDH_HELP                        28445\n\n#endif /* WINVER >= 0x0400 */\n\n\n\nWINUSERAPI\nBOOL\nWINAPI\nWinHelpA(\n    IN HWND hWndMain,\n    IN LPCSTR lpszHelp,\n    IN UINT uCommand,\n    IN ULONG_PTR dwData\n    );\nWINUSERAPI\nBOOL\nWINAPI\nWinHelpW(\n    IN HWND hWndMain,\n    IN LPCWSTR lpszHelp,\n    IN UINT uCommand,\n    IN ULONG_PTR dwData\n    );\n#ifdef UNICODE\n#define WinHelp  WinHelpW\n#else\n#define WinHelp  WinHelpA\n#endif // !UNICODE\n\n#endif /* !NOHELP */\n\n#if(WINVER >= 0x0500)\n\n#define GR_GDIOBJECTS     0       /* Count of GDI objects */\n#define GR_USEROBJECTS    1       /* Count of USER objects */\n\nWINUSERAPI\nDWORD\nWINAPI\nGetGuiResources(\n    IN HANDLE hProcess,\n    IN DWORD uiFlags);\n\n#endif /* WINVER >= 0x0500 */\n\n\n#ifndef NOSYSPARAMSINFO\n\n/*\n * Parameter for SystemParametersInfo()\n */\n\n#define SPI_GETBEEP                 0x0001\n#define SPI_SETBEEP                 0x0002\n#define SPI_GETMOUSE                0x0003\n#define SPI_SETMOUSE                0x0004\n#define SPI_GETBORDER               0x0005\n#define SPI_SETBORDER               0x0006\n#define SPI_GETKEYBOARDSPEED        0x000A\n#define SPI_SETKEYBOARDSPEED        0x000B\n#define SPI_LANGDRIVER              0x000C\n#define SPI_ICONHORIZONTALSPACING   0x000D\n#define SPI_GETSCREENSAVETIMEOUT    0x000E\n#define SPI_SETSCREENSAVETIMEOUT    0x000F\n#define SPI_GETSCREENSAVEACTIVE     0x0010\n#define SPI_SETSCREENSAVEACTIVE     0x0011\n#define SPI_GETGRIDGRANULARITY      0x0012\n#define SPI_SETGRIDGRANULARITY      0x0013\n#define SPI_SETDESKWALLPAPER        0x0014\n#define SPI_SETDESKPATTERN          0x0015\n#define SPI_GETKEYBOARDDELAY        0x0016\n#define SPI_SETKEYBOARDDELAY        0x0017\n#define SPI_ICONVERTICALSPACING     0x0018\n#define SPI_GETICONTITLEWRAP        0x0019\n#define SPI_SETICONTITLEWRAP        0x001A\n#define SPI_GETMENUDROPALIGNMENT    0x001B\n#define SPI_SETMENUDROPALIGNMENT    0x001C\n#define SPI_SETDOUBLECLKWIDTH       0x001D\n#define SPI_SETDOUBLECLKHEIGHT      0x001E\n#define SPI_GETICONTITLELOGFONT     0x001F\n#define SPI_SETDOUBLECLICKTIME      0x0020\n#define SPI_SETMOUSEBUTTONSWAP      0x0021\n#define SPI_SETICONTITLELOGFONT     0x0022\n#define SPI_GETFASTTASKSWITCH       0x0023\n#define SPI_SETFASTTASKSWITCH       0x0024\n#if(WINVER >= 0x0400)\n#define SPI_SETDRAGFULLWINDOWS      0x0025\n#define SPI_GETDRAGFULLWINDOWS      0x0026\n#define SPI_GETNONCLIENTMETRICS     0x0029\n#define SPI_SETNONCLIENTMETRICS     0x002A\n#define SPI_GETMINIMIZEDMETRICS     0x002B\n#define SPI_SETMINIMIZEDMETRICS     0x002C\n#define SPI_GETICONMETRICS          0x002D\n#define SPI_SETICONMETRICS          0x002E\n#define SPI_SETWORKAREA             0x002F\n#define SPI_GETWORKAREA             0x0030\n#define SPI_SETPENWINDOWS           0x0031\n\n#define SPI_GETHIGHCONTRAST         0x0042\n#define SPI_SETHIGHCONTRAST         0x0043\n#define SPI_GETKEYBOARDPREF         0x0044\n#define SPI_SETKEYBOARDPREF         0x0045\n#define SPI_GETSCREENREADER         0x0046\n#define SPI_SETSCREENREADER         0x0047\n#define SPI_GETANIMATION            0x0048\n#define SPI_SETANIMATION            0x0049\n#define SPI_GETFONTSMOOTHING        0x004A\n#define SPI_SETFONTSMOOTHING        0x004B\n#define SPI_SETDRAGWIDTH            0x004C\n#define SPI_SETDRAGHEIGHT           0x004D\n#define SPI_SETHANDHELD             0x004E\n#define SPI_GETLOWPOWERTIMEOUT      0x004F\n#define SPI_GETPOWEROFFTIMEOUT      0x0050\n#define SPI_SETLOWPOWERTIMEOUT      0x0051\n#define SPI_SETPOWEROFFTIMEOUT      0x0052\n#define SPI_GETLOWPOWERACTIVE       0x0053\n#define SPI_GETPOWEROFFACTIVE       0x0054\n#define SPI_SETLOWPOWERACTIVE       0x0055\n#define SPI_SETPOWEROFFACTIVE       0x0056\n#define SPI_SETCURSORS              0x0057\n#define SPI_SETICONS                0x0058\n#define SPI_GETDEFAULTINPUTLANG     0x0059\n#define SPI_SETDEFAULTINPUTLANG     0x005A\n#define SPI_SETLANGTOGGLE           0x005B\n#define SPI_GETWINDOWSEXTENSION     0x005C\n#define SPI_SETMOUSETRAILS          0x005D\n#define SPI_GETMOUSETRAILS          0x005E\n#define SPI_SETSCREENSAVERRUNNING   0x0061\n#define SPI_SCREENSAVERRUNNING     SPI_SETSCREENSAVERRUNNING\n#endif /* WINVER >= 0x0400 */\n#define SPI_GETFILTERKEYS          0x0032\n#define SPI_SETFILTERKEYS          0x0033\n#define SPI_GETTOGGLEKEYS          0x0034\n#define SPI_SETTOGGLEKEYS          0x0035\n#define SPI_GETMOUSEKEYS           0x0036\n#define SPI_SETMOUSEKEYS           0x0037\n#define SPI_GETSHOWSOUNDS          0x0038\n#define SPI_SETSHOWSOUNDS          0x0039\n#define SPI_GETSTICKYKEYS          0x003A\n#define SPI_SETSTICKYKEYS          0x003B\n#define SPI_GETACCESSTIMEOUT       0x003C\n#define SPI_SETACCESSTIMEOUT       0x003D\n#if(WINVER >= 0x0400)\n#define SPI_GETSERIALKEYS          0x003E\n#define SPI_SETSERIALKEYS          0x003F\n#endif /* WINVER >= 0x0400 */\n#define SPI_GETSOUNDSENTRY         0x0040\n#define SPI_SETSOUNDSENTRY         0x0041\n#if(_WIN32_WINNT >= 0x0400)\n#define SPI_GETSNAPTODEFBUTTON     0x005F\n#define SPI_SETSNAPTODEFBUTTON     0x0060\n#endif /* _WIN32_WINNT >= 0x0400 */\n#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)\n#define SPI_GETMOUSEHOVERWIDTH     0x0062\n#define SPI_SETMOUSEHOVERWIDTH     0x0063\n#define SPI_GETMOUSEHOVERHEIGHT    0x0064\n#define SPI_SETMOUSEHOVERHEIGHT    0x0065\n#define SPI_GETMOUSEHOVERTIME      0x0066\n#define SPI_SETMOUSEHOVERTIME      0x0067\n#define SPI_GETWHEELSCROLLLINES    0x0068\n#define SPI_SETWHEELSCROLLLINES    0x0069\n#define SPI_GETMENUSHOWDELAY       0x006A\n#define SPI_SETMENUSHOWDELAY       0x006B\n\n\n#define SPI_GETSHOWIMEUI          0x006E\n#define SPI_SETSHOWIMEUI          0x006F\n#endif\n\n\n#if(WINVER >= 0x0500)\n#define SPI_GETMOUSESPEED         0x0070\n#define SPI_SETMOUSESPEED         0x0071\n#define SPI_GETSCREENSAVERRUNNING 0x0072\n#define SPI_GETDESKWALLPAPER      0x0073\n#endif /* WINVER >= 0x0500 */\n\n\n#if(WINVER >= 0x0500)\n#define SPI_GETACTIVEWINDOWTRACKING         0x1000\n#define SPI_SETACTIVEWINDOWTRACKING         0x1001\n#define SPI_GETMENUANIMATION                0x1002\n#define SPI_SETMENUANIMATION                0x1003\n#define SPI_GETCOMBOBOXANIMATION            0x1004\n#define SPI_SETCOMBOBOXANIMATION            0x1005\n#define SPI_GETLISTBOXSMOOTHSCROLLING       0x1006\n#define SPI_SETLISTBOXSMOOTHSCROLLING       0x1007\n#define SPI_GETGRADIENTCAPTIONS             0x1008\n#define SPI_SETGRADIENTCAPTIONS             0x1009\n#define SPI_GETKEYBOARDCUES                 0x100A\n#define SPI_SETKEYBOARDCUES                 0x100B\n#define SPI_GETMENUUNDERLINES               SPI_GETKEYBOARDCUES\n#define SPI_SETMENUUNDERLINES               SPI_SETKEYBOARDCUES\n#define SPI_GETACTIVEWNDTRKZORDER           0x100C\n#define SPI_SETACTIVEWNDTRKZORDER           0x100D\n#define SPI_GETHOTTRACKING                  0x100E\n#define SPI_SETHOTTRACKING                  0x100F\n#define SPI_GETMENUFADE                     0x1012\n#define SPI_SETMENUFADE                     0x1013\n#define SPI_GETSELECTIONFADE                0x1014\n#define SPI_SETSELECTIONFADE                0x1015\n#define SPI_GETTOOLTIPANIMATION             0x1016\n#define SPI_SETTOOLTIPANIMATION             0x1017\n#define SPI_GETTOOLTIPFADE                  0x1018\n#define SPI_SETTOOLTIPFADE                  0x1019\n#define SPI_GETCURSORSHADOW                 0x101A\n#define SPI_SETCURSORSHADOW                 0x101B\n#if(_WIN32_WINNT >= 0x0501)\n#define SPI_GETMOUSESONAR                   0x101C\n#define SPI_SETMOUSESONAR                   0x101D\n#define SPI_GETMOUSECLICKLOCK               0x101E\n#define SPI_SETMOUSECLICKLOCK               0x101F\n#define SPI_GETMOUSEVANISH                  0x1020\n#define SPI_SETMOUSEVANISH                  0x1021\n#define SPI_GETFLATMENU                     0x1022\n#define SPI_SETFLATMENU                     0x1023\n#define SPI_GETDROPSHADOW                   0x1024\n#define SPI_SETDROPSHADOW                   0x1025\n#define SPI_GETBLOCKSENDINPUTRESETS         0x1026\n#define SPI_SETBLOCKSENDINPUTRESETS         0x1027\n#endif /* _WIN32_WINNT >= 0x0501 */\n#define SPI_GETUIEFFECTS                    0x103E\n#define SPI_SETUIEFFECTS                    0x103F\n\n#define SPI_GETFOREGROUNDLOCKTIMEOUT        0x2000\n#define SPI_SETFOREGROUNDLOCKTIMEOUT        0x2001\n#define SPI_GETACTIVEWNDTRKTIMEOUT          0x2002\n#define SPI_SETACTIVEWNDTRKTIMEOUT          0x2003\n#define SPI_GETFOREGROUNDFLASHCOUNT         0x2004\n#define SPI_SETFOREGROUNDFLASHCOUNT         0x2005\n#define SPI_GETCARETWIDTH                   0x2006\n#define SPI_SETCARETWIDTH                   0x2007\n\n#if(_WIN32_WINNT >= 0x0501)\n#define SPI_GETMOUSECLICKLOCKTIME           0x2008\n#define SPI_SETMOUSECLICKLOCKTIME           0x2009\n#define SPI_GETFONTSMOOTHINGTYPE            0x200A\n#define SPI_SETFONTSMOOTHINGTYPE            0x200B\n\n/* constants for SPI_GETFONTSMOOTHINGTYPE and SPI_SETFONTSMOOTHINGTYPE: */\n#define FE_FONTSMOOTHINGSTANDARD            0x0001\n#define FE_FONTSMOOTHINGCLEARTYPE           0x0002\n#define FE_FONTSMOOTHINGDOCKING             0x8000\n\n#define SPI_GETFONTSMOOTHINGCONTRAST           0x200C\n#define SPI_SETFONTSMOOTHINGCONTRAST           0x200D\n\n#define SPI_GETFOCUSBORDERWIDTH             0x200E\n#define SPI_SETFOCUSBORDERWIDTH             0x200F\n#define SPI_GETFOCUSBORDERHEIGHT            0x2010\n#define SPI_SETFOCUSBORDERHEIGHT            0x2011\n\n#define SPI_GETFONTSMOOTHINGORIENTATION           0x2012\n#define SPI_SETFONTSMOOTHINGORIENTATION           0x2013\n\n/* constants for SPI_GETFONTSMOOTHINGORIENTATION and SPI_SETFONTSMOOTHINGORIENTATION: */\n#define FE_FONTSMOOTHINGORIENTATIONBGR   0x0000\n#define FE_FONTSMOOTHINGORIENTATIONRGB   0x0001\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#endif /* WINVER >= 0x0500 */\n\n/*\n * Flags\n */\n#define SPIF_UPDATEINIFILE    0x0001\n#define SPIF_SENDWININICHANGE 0x0002\n#define SPIF_SENDCHANGE       SPIF_SENDWININICHANGE\n\n\n#define METRICS_USEDEFAULT -1\n#ifdef _WINGDI_\n#ifndef NOGDI\ntypedef struct tagNONCLIENTMETRICSA\n{\n    UINT    cbSize;\n    int     iBorderWidth;\n    int     iScrollWidth;\n    int     iScrollHeight;\n    int     iCaptionWidth;\n    int     iCaptionHeight;\n    LOGFONTA lfCaptionFont;\n    int     iSmCaptionWidth;\n    int     iSmCaptionHeight;\n    LOGFONTA lfSmCaptionFont;\n    int     iMenuWidth;\n    int     iMenuHeight;\n    LOGFONTA lfMenuFont;\n    LOGFONTA lfStatusFont;\n    LOGFONTA lfMessageFont;\n}   NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, FAR* LPNONCLIENTMETRICSA;\ntypedef struct tagNONCLIENTMETRICSW\n{\n    UINT    cbSize;\n    int     iBorderWidth;\n    int     iScrollWidth;\n    int     iScrollHeight;\n    int     iCaptionWidth;\n    int     iCaptionHeight;\n    LOGFONTW lfCaptionFont;\n    int     iSmCaptionWidth;\n    int     iSmCaptionHeight;\n    LOGFONTW lfSmCaptionFont;\n    int     iMenuWidth;\n    int     iMenuHeight;\n    LOGFONTW lfMenuFont;\n    LOGFONTW lfStatusFont;\n    LOGFONTW lfMessageFont;\n}   NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, FAR* LPNONCLIENTMETRICSW;\n#ifdef UNICODE\ntypedef NONCLIENTMETRICSW NONCLIENTMETRICS;\ntypedef PNONCLIENTMETRICSW PNONCLIENTMETRICS;\ntypedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS;\n#else\ntypedef NONCLIENTMETRICSA NONCLIENTMETRICS;\ntypedef PNONCLIENTMETRICSA PNONCLIENTMETRICS;\ntypedef LPNONCLIENTMETRICSA LPNONCLIENTMETRICS;\n#endif // UNICODE\n#endif /* NOGDI */\n#endif /* _WINGDI_ */\n\n#define ARW_BOTTOMLEFT              0x0000L\n#define ARW_BOTTOMRIGHT             0x0001L\n#define ARW_TOPLEFT                 0x0002L\n#define ARW_TOPRIGHT                0x0003L\n#define ARW_STARTMASK               0x0003L\n#define ARW_STARTRIGHT              0x0001L\n#define ARW_STARTTOP                0x0002L\n\n#define ARW_LEFT                    0x0000L\n#define ARW_RIGHT                   0x0000L\n#define ARW_UP                      0x0004L\n#define ARW_DOWN                    0x0004L\n#define ARW_HIDE                    0x0008L\n\ntypedef struct tagMINIMIZEDMETRICS\n{\n    UINT    cbSize;\n    int     iWidth;\n    int     iHorzGap;\n    int     iVertGap;\n    int     iArrange;\n}   MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;\n\n#ifdef _WINGDI_\n#ifndef NOGDI\ntypedef struct tagICONMETRICSA\n{\n    UINT    cbSize;\n    int     iHorzSpacing;\n    int     iVertSpacing;\n    int     iTitleWrap;\n    LOGFONTA lfFont;\n}   ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;\ntypedef struct tagICONMETRICSW\n{\n    UINT    cbSize;\n    int     iHorzSpacing;\n    int     iVertSpacing;\n    int     iTitleWrap;\n    LOGFONTW lfFont;\n}   ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;\n#ifdef UNICODE\ntypedef ICONMETRICSW ICONMETRICS;\ntypedef PICONMETRICSW PICONMETRICS;\ntypedef LPICONMETRICSW LPICONMETRICS;\n#else\ntypedef ICONMETRICSA ICONMETRICS;\ntypedef PICONMETRICSA PICONMETRICS;\ntypedef LPICONMETRICSA LPICONMETRICS;\n#endif // UNICODE\n#endif /* NOGDI */\n#endif /* _WINGDI_ */\n\ntypedef struct tagANIMATIONINFO\n{\n    UINT    cbSize;\n    int     iMinAnimate;\n}   ANIMATIONINFO, *LPANIMATIONINFO;\n\ntypedef struct tagSERIALKEYSA\n{\n    UINT    cbSize;\n    DWORD   dwFlags;\n    LPSTR     lpszActivePort;\n    LPSTR     lpszPort;\n    UINT    iBaudRate;\n    UINT    iPortState;\n    UINT    iActive;\n}   SERIALKEYSA, *LPSERIALKEYSA;\ntypedef struct tagSERIALKEYSW\n{\n    UINT    cbSize;\n    DWORD   dwFlags;\n    LPWSTR    lpszActivePort;\n    LPWSTR    lpszPort;\n    UINT    iBaudRate;\n    UINT    iPortState;\n    UINT    iActive;\n}   SERIALKEYSW, *LPSERIALKEYSW;\n#ifdef UNICODE\ntypedef SERIALKEYSW SERIALKEYS;\ntypedef LPSERIALKEYSW LPSERIALKEYS;\n#else\ntypedef SERIALKEYSA SERIALKEYS;\ntypedef LPSERIALKEYSA LPSERIALKEYS;\n#endif // UNICODE\n\n/* flags for SERIALKEYS dwFlags field */\n#define SERKF_SERIALKEYSON  0x00000001\n#define SERKF_AVAILABLE     0x00000002\n#define SERKF_INDICATOR     0x00000004\n\n\ntypedef struct tagHIGHCONTRASTA\n{\n    UINT    cbSize;\n    DWORD   dwFlags;\n    LPSTR   lpszDefaultScheme;\n}   HIGHCONTRASTA, *LPHIGHCONTRASTA;\ntypedef struct tagHIGHCONTRASTW\n{\n    UINT    cbSize;\n    DWORD   dwFlags;\n    LPWSTR  lpszDefaultScheme;\n}   HIGHCONTRASTW, *LPHIGHCONTRASTW;\n#ifdef UNICODE\ntypedef HIGHCONTRASTW HIGHCONTRAST;\ntypedef LPHIGHCONTRASTW LPHIGHCONTRAST;\n#else\ntypedef HIGHCONTRASTA HIGHCONTRAST;\ntypedef LPHIGHCONTRASTA LPHIGHCONTRAST;\n#endif // UNICODE\n\n/* flags for HIGHCONTRAST dwFlags field */\n#define HCF_HIGHCONTRASTON  0x00000001\n#define HCF_AVAILABLE       0x00000002\n#define HCF_HOTKEYACTIVE    0x00000004\n#define HCF_CONFIRMHOTKEY   0x00000008\n#define HCF_HOTKEYSOUND     0x00000010\n#define HCF_INDICATOR       0x00000020\n#define HCF_HOTKEYAVAILABLE 0x00000040\n\n/* Flags for ChangeDisplaySettings */\n#define CDS_UPDATEREGISTRY  0x00000001\n#define CDS_TEST            0x00000002\n#define CDS_FULLSCREEN      0x00000004\n#define CDS_GLOBAL          0x00000008\n#define CDS_SET_PRIMARY     0x00000010\n#define CDS_VIDEOPARAMETERS 0x00000020\n#define CDS_RESET           0x40000000\n#define CDS_NORESET         0x10000000\n\n#include <tvout.h>\n\n/* Return values for ChangeDisplaySettings */\n#define DISP_CHANGE_SUCCESSFUL       0\n#define DISP_CHANGE_RESTART          1\n#define DISP_CHANGE_FAILED          -1\n#define DISP_CHANGE_BADMODE         -2\n#define DISP_CHANGE_NOTUPDATED      -3\n#define DISP_CHANGE_BADFLAGS        -4\n#define DISP_CHANGE_BADPARAM        -5\n#if(_WIN32_WINNT >= 0x0501)\n#define DISP_CHANGE_BADDUALVIEW     -6\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n#ifdef _WINGDI_\n#ifndef NOGDI\n\nWINUSERAPI\nLONG\nWINAPI\nChangeDisplaySettingsA(\n    IN LPDEVMODEA  lpDevMode,\n    IN DWORD       dwFlags);\nWINUSERAPI\nLONG\nWINAPI\nChangeDisplaySettingsW(\n    IN LPDEVMODEW  lpDevMode,\n    IN DWORD       dwFlags);\n#ifdef UNICODE\n#define ChangeDisplaySettings  ChangeDisplaySettingsW\n#else\n#define ChangeDisplaySettings  ChangeDisplaySettingsA\n#endif // !UNICODE\n\nWINUSERAPI\nLONG\nWINAPI\nChangeDisplaySettingsExA(\n    IN LPCSTR    lpszDeviceName,\n    IN LPDEVMODEA  lpDevMode,\n    IN HWND        hwnd,\n    IN DWORD       dwflags,\n    IN LPVOID      lParam);\nWINUSERAPI\nLONG\nWINAPI\nChangeDisplaySettingsExW(\n    IN LPCWSTR    lpszDeviceName,\n    IN LPDEVMODEW  lpDevMode,\n    IN HWND        hwnd,\n    IN DWORD       dwflags,\n    IN LPVOID      lParam);\n#ifdef UNICODE\n#define ChangeDisplaySettingsEx  ChangeDisplaySettingsExW\n#else\n#define ChangeDisplaySettingsEx  ChangeDisplaySettingsExA\n#endif // !UNICODE\n\n#define ENUM_CURRENT_SETTINGS       ((DWORD)-1)\n#define ENUM_REGISTRY_SETTINGS      ((DWORD)-2)\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplaySettingsA(\n    IN LPCSTR lpszDeviceName,\n    IN DWORD iModeNum,\n    OUT LPDEVMODEA lpDevMode);\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplaySettingsW(\n    IN LPCWSTR lpszDeviceName,\n    IN DWORD iModeNum,\n    OUT LPDEVMODEW lpDevMode);\n#ifdef UNICODE\n#define EnumDisplaySettings  EnumDisplaySettingsW\n#else\n#define EnumDisplaySettings  EnumDisplaySettingsA\n#endif // !UNICODE\n\n#if(WINVER >= 0x0500)\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplaySettingsExA(\n    IN LPCSTR lpszDeviceName,\n    IN DWORD iModeNum,\n    OUT LPDEVMODEA lpDevMode,\n    IN DWORD dwFlags);\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplaySettingsExW(\n    IN LPCWSTR lpszDeviceName,\n    IN DWORD iModeNum,\n    OUT LPDEVMODEW lpDevMode,\n    IN DWORD dwFlags);\n#ifdef UNICODE\n#define EnumDisplaySettingsEx  EnumDisplaySettingsExW\n#else\n#define EnumDisplaySettingsEx  EnumDisplaySettingsExA\n#endif // !UNICODE\n\n/* Flags for EnumDisplaySettingsEx */\n#define EDS_RAWMODE                   0x00000002\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplayDevicesA(\n    IN LPCSTR lpDevice,\n    IN DWORD iDevNum,\n    OUT PDISPLAY_DEVICEA lpDisplayDevice,\n    IN DWORD dwFlags);\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplayDevicesW(\n    IN LPCWSTR lpDevice,\n    IN DWORD iDevNum,\n    OUT PDISPLAY_DEVICEW lpDisplayDevice,\n    IN DWORD dwFlags);\n#ifdef UNICODE\n#define EnumDisplayDevices  EnumDisplayDevicesW\n#else\n#define EnumDisplayDevices  EnumDisplayDevicesA\n#endif // !UNICODE\n#endif /* WINVER >= 0x0500 */\n\n#endif /* NOGDI */\n#endif /* _WINGDI_ */\n\n\nWINUSERAPI\nBOOL\nWINAPI\nSystemParametersInfoA(\n    IN UINT uiAction,\n    IN UINT uiParam,\n    IN OUT PVOID pvParam,\n    IN UINT fWinIni);\nWINUSERAPI\nBOOL\nWINAPI\nSystemParametersInfoW(\n    IN UINT uiAction,\n    IN UINT uiParam,\n    IN OUT PVOID pvParam,\n    IN UINT fWinIni);\n#ifdef UNICODE\n#define SystemParametersInfo  SystemParametersInfoW\n#else\n#define SystemParametersInfo  SystemParametersInfoA\n#endif // !UNICODE\n\n\n#endif  /* !NOSYSPARAMSINFO  */\n\n/*\n * Accessibility support\n */\ntypedef struct tagFILTERKEYS\n{\n    UINT  cbSize;\n    DWORD dwFlags;\n    DWORD iWaitMSec;            // Acceptance Delay\n    DWORD iDelayMSec;           // Delay Until Repeat\n    DWORD iRepeatMSec;          // Repeat Rate\n    DWORD iBounceMSec;          // Debounce Time\n} FILTERKEYS, *LPFILTERKEYS;\n\n/*\n * FILTERKEYS dwFlags field\n */\n#define FKF_FILTERKEYSON    0x00000001\n#define FKF_AVAILABLE       0x00000002\n#define FKF_HOTKEYACTIVE    0x00000004\n#define FKF_CONFIRMHOTKEY   0x00000008\n#define FKF_HOTKEYSOUND     0x00000010\n#define FKF_INDICATOR       0x00000020\n#define FKF_CLICKON         0x00000040\n\ntypedef struct tagSTICKYKEYS\n{\n    UINT  cbSize;\n    DWORD dwFlags;\n} STICKYKEYS, *LPSTICKYKEYS;\n\n/*\n * STICKYKEYS dwFlags field\n */\n#define SKF_STICKYKEYSON    0x00000001\n#define SKF_AVAILABLE       0x00000002\n#define SKF_HOTKEYACTIVE    0x00000004\n#define SKF_CONFIRMHOTKEY   0x00000008\n#define SKF_HOTKEYSOUND     0x00000010\n#define SKF_INDICATOR       0x00000020\n#define SKF_AUDIBLEFEEDBACK 0x00000040\n#define SKF_TRISTATE        0x00000080\n#define SKF_TWOKEYSOFF      0x00000100\n#if(_WIN32_WINNT >= 0x0500)\n#define SKF_LALTLATCHED       0x10000000\n#define SKF_LCTLLATCHED       0x04000000\n#define SKF_LSHIFTLATCHED     0x01000000\n#define SKF_RALTLATCHED       0x20000000\n#define SKF_RCTLLATCHED       0x08000000\n#define SKF_RSHIFTLATCHED     0x02000000\n#define SKF_LWINLATCHED       0x40000000\n#define SKF_RWINLATCHED       0x80000000\n#define SKF_LALTLOCKED        0x00100000\n#define SKF_LCTLLOCKED        0x00040000\n#define SKF_LSHIFTLOCKED      0x00010000\n#define SKF_RALTLOCKED        0x00200000\n#define SKF_RCTLLOCKED        0x00080000\n#define SKF_RSHIFTLOCKED      0x00020000\n#define SKF_LWINLOCKED        0x00400000\n#define SKF_RWINLOCKED        0x00800000\n#endif /* _WIN32_WINNT >= 0x0500 */\n\ntypedef struct tagMOUSEKEYS\n{\n    UINT cbSize;\n    DWORD dwFlags;\n    DWORD iMaxSpeed;\n    DWORD iTimeToMaxSpeed;\n    DWORD iCtrlSpeed;\n    DWORD dwReserved1;\n    DWORD dwReserved2;\n} MOUSEKEYS, *LPMOUSEKEYS;\n\n/*\n * MOUSEKEYS dwFlags field\n */\n#define MKF_MOUSEKEYSON     0x00000001\n#define MKF_AVAILABLE       0x00000002\n#define MKF_HOTKEYACTIVE    0x00000004\n#define MKF_CONFIRMHOTKEY   0x00000008\n#define MKF_HOTKEYSOUND     0x00000010\n#define MKF_INDICATOR       0x00000020\n#define MKF_MODIFIERS       0x00000040\n#define MKF_REPLACENUMBERS  0x00000080\n#if(_WIN32_WINNT >= 0x0500)\n#define MKF_LEFTBUTTONSEL   0x10000000\n#define MKF_RIGHTBUTTONSEL  0x20000000\n#define MKF_LEFTBUTTONDOWN  0x01000000\n#define MKF_RIGHTBUTTONDOWN 0x02000000\n#define MKF_MOUSEMODE       0x80000000\n#endif /* _WIN32_WINNT >= 0x0500 */\n\ntypedef struct tagACCESSTIMEOUT\n{\n    UINT  cbSize;\n    DWORD dwFlags;\n    DWORD iTimeOutMSec;\n} ACCESSTIMEOUT, *LPACCESSTIMEOUT;\n\n/*\n * ACCESSTIMEOUT dwFlags field\n */\n#define ATF_TIMEOUTON       0x00000001\n#define ATF_ONOFFFEEDBACK   0x00000002\n\n/* values for SOUNDSENTRY iFSGrafEffect field */\n#define SSGF_NONE       0\n#define SSGF_DISPLAY    3\n\n/* values for SOUNDSENTRY iFSTextEffect field */\n#define SSTF_NONE       0\n#define SSTF_CHARS      1\n#define SSTF_BORDER     2\n#define SSTF_DISPLAY    3\n\n/* values for SOUNDSENTRY iWindowsEffect field */\n#define SSWF_NONE     0\n#define SSWF_TITLE    1\n#define SSWF_WINDOW   2\n#define SSWF_DISPLAY  3\n#define SSWF_CUSTOM   4\n\ntypedef struct tagSOUNDSENTRYA\n{\n    UINT cbSize;\n    DWORD dwFlags;\n    DWORD iFSTextEffect;\n    DWORD iFSTextEffectMSec;\n    DWORD iFSTextEffectColorBits;\n    DWORD iFSGrafEffect;\n    DWORD iFSGrafEffectMSec;\n    DWORD iFSGrafEffectColor;\n    DWORD iWindowsEffect;\n    DWORD iWindowsEffectMSec;\n    LPSTR   lpszWindowsEffectDLL;\n    DWORD iWindowsEffectOrdinal;\n} SOUNDSENTRYA, *LPSOUNDSENTRYA;\ntypedef struct tagSOUNDSENTRYW\n{\n    UINT cbSize;\n    DWORD dwFlags;\n    DWORD iFSTextEffect;\n    DWORD iFSTextEffectMSec;\n    DWORD iFSTextEffectColorBits;\n    DWORD iFSGrafEffect;\n    DWORD iFSGrafEffectMSec;\n    DWORD iFSGrafEffectColor;\n    DWORD iWindowsEffect;\n    DWORD iWindowsEffectMSec;\n    LPWSTR  lpszWindowsEffectDLL;\n    DWORD iWindowsEffectOrdinal;\n} SOUNDSENTRYW, *LPSOUNDSENTRYW;\n#ifdef UNICODE\ntypedef SOUNDSENTRYW SOUNDSENTRY;\ntypedef LPSOUNDSENTRYW LPSOUNDSENTRY;\n#else\ntypedef SOUNDSENTRYA SOUNDSENTRY;\ntypedef LPSOUNDSENTRYA LPSOUNDSENTRY;\n#endif // UNICODE\n\n/*\n * SOUNDSENTRY dwFlags field\n */\n#define SSF_SOUNDSENTRYON   0x00000001\n#define SSF_AVAILABLE       0x00000002\n#define SSF_INDICATOR       0x00000004\n\ntypedef struct tagTOGGLEKEYS\n{\n    UINT cbSize;\n    DWORD dwFlags;\n} TOGGLEKEYS, *LPTOGGLEKEYS;\n\n/*\n * TOGGLEKEYS dwFlags field\n */\n#define TKF_TOGGLEKEYSON    0x00000001\n#define TKF_AVAILABLE       0x00000002\n#define TKF_HOTKEYACTIVE    0x00000004\n#define TKF_CONFIRMHOTKEY   0x00000008\n#define TKF_HOTKEYSOUND     0x00000010\n#define TKF_INDICATOR       0x00000020\n\n/*\n * Set debug level\n */\n\nWINUSERAPI\nVOID\nWINAPI\nSetDebugErrorLevel(\n    IN DWORD dwLevel\n    );\n\n/*\n * SetLastErrorEx() types.\n */\n\n#define SLE_ERROR       0x00000001\n#define SLE_MINORERROR  0x00000002\n#define SLE_WARNING     0x00000003\n\nWINUSERAPI\nVOID\nWINAPI\nSetLastErrorEx(\n    IN DWORD dwErrCode,\n    IN DWORD dwType\n    );\n\nWINUSERAPI\nint\nWINAPI\nInternalGetWindowText(\n    IN HWND hWnd,\n    OUT LPWSTR lpString,\n    IN int nMaxCount);\n\n#if defined(WINNT)\nWINUSERAPI\nBOOL\nWINAPI\nEndTask(\n    IN HWND hWnd,\n    IN BOOL fShutDown,\n    IN BOOL fForce);\n#endif\n\n\n#if(WINVER >= 0x0500)\n\n/*\n * Multimonitor API.\n */\n\n#define MONITOR_DEFAULTTONULL       0x00000000\n#define MONITOR_DEFAULTTOPRIMARY    0x00000001\n#define MONITOR_DEFAULTTONEAREST    0x00000002\n\nWINUSERAPI\nHMONITOR\nWINAPI\nMonitorFromPoint(\n    IN POINT pt,\n    IN DWORD dwFlags);\n\nWINUSERAPI\nHMONITOR\nWINAPI\nMonitorFromRect(\n    IN LPCRECT lprc,\n    IN DWORD dwFlags);\n\nWINUSERAPI\nHMONITOR\nWINAPI\nMonitorFromWindow( IN HWND hwnd, IN DWORD dwFlags);\n\n#define MONITORINFOF_PRIMARY        0x00000001\n\n#ifndef CCHDEVICENAME\n#define CCHDEVICENAME 32\n#endif\n\ntypedef struct tagMONITORINFO\n{\n    DWORD   cbSize;\n    RECT    rcMonitor;\n    RECT    rcWork;\n    DWORD   dwFlags;\n} MONITORINFO, *LPMONITORINFO;\n\n#ifdef __cplusplus\ntypedef struct tagMONITORINFOEXA : public tagMONITORINFO\n{\n    CHAR        szDevice[CCHDEVICENAME];\n} MONITORINFOEXA, *LPMONITORINFOEXA;\ntypedef struct tagMONITORINFOEXW : public tagMONITORINFO\n{\n    WCHAR       szDevice[CCHDEVICENAME];\n} MONITORINFOEXW, *LPMONITORINFOEXW;\n#ifdef UNICODE\ntypedef MONITORINFOEXW MONITORINFOEX;\ntypedef LPMONITORINFOEXW LPMONITORINFOEX;\n#else\ntypedef MONITORINFOEXA MONITORINFOEX;\ntypedef LPMONITORINFOEXA LPMONITORINFOEX;\n#endif // UNICODE\n#else // ndef __cplusplus\ntypedef struct tagMONITORINFOEXA\n{\n    MONITORINFO;\n    CHAR        szDevice[CCHDEVICENAME];\n} MONITORINFOEXA, *LPMONITORINFOEXA;\ntypedef struct tagMONITORINFOEXW\n{\n    MONITORINFO;\n    WCHAR       szDevice[CCHDEVICENAME];\n} MONITORINFOEXW, *LPMONITORINFOEXW;\n#ifdef UNICODE\ntypedef MONITORINFOEXW MONITORINFOEX;\ntypedef LPMONITORINFOEXW LPMONITORINFOEX;\n#else\ntypedef MONITORINFOEXA MONITORINFOEX;\ntypedef LPMONITORINFOEXA LPMONITORINFOEX;\n#endif // UNICODE\n#endif\n\nWINUSERAPI BOOL WINAPI GetMonitorInfoA( IN HMONITOR hMonitor, OUT LPMONITORINFO lpmi);\nWINUSERAPI BOOL WINAPI GetMonitorInfoW( IN HMONITOR hMonitor, OUT LPMONITORINFO lpmi);\n#ifdef UNICODE\n#define GetMonitorInfo  GetMonitorInfoW\n#else\n#define GetMonitorInfo  GetMonitorInfoA\n#endif // !UNICODE\n\ntypedef BOOL (CALLBACK* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);\n\nWINUSERAPI\nBOOL\nWINAPI\nEnumDisplayMonitors(\n    IN HDC             hdc,\n    IN LPCRECT         lprcClip,\n    IN MONITORENUMPROC lpfnEnum,\n    IN LPARAM          dwData);\n\n\n#ifndef NOWINABLE\n\n/*\n * WinEvents - Active Accessibility hooks\n */\n\nWINUSERAPI\nVOID\nWINAPI\nNotifyWinEvent(\n    IN DWORD event,\n    IN HWND  hwnd,\n    IN LONG  idObject,\n    IN LONG  idChild);\n\ntypedef VOID (CALLBACK* WINEVENTPROC)(\n    HWINEVENTHOOK hWinEventHook,\n    DWORD         event,\n    HWND          hwnd,\n    LONG          idObject,\n    LONG          idChild,\n    DWORD         idEventThread,\n    DWORD         dwmsEventTime);\n\nWINUSERAPI\nHWINEVENTHOOK\nWINAPI\nSetWinEventHook(\n    IN DWORD        eventMin,\n    IN DWORD        eventMax,\n    IN HMODULE      hmodWinEventProc,\n    IN WINEVENTPROC pfnWinEventProc,\n    IN DWORD        idProcess,\n    IN DWORD        idThread,\n    IN DWORD        dwFlags);\n\n#if(_WIN32_WINNT >= 0x0501)\nWINUSERAPI\nBOOL\nWINAPI\nIsWinEventHookInstalled(\n    IN DWORD event);\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n/*\n * dwFlags for SetWinEventHook\n */\n#define WINEVENT_OUTOFCONTEXT   0x0000  // Events are ASYNC\n#define WINEVENT_SKIPOWNTHREAD  0x0001  // Don't call back for events on installer's thread\n#define WINEVENT_SKIPOWNPROCESS 0x0002  // Don't call back for events on installer's process\n#define WINEVENT_INCONTEXT      0x0004  // Events are SYNC, this causes your dll to be injected into every process\n\nWINUSERAPI\nBOOL\nWINAPI\nUnhookWinEvent(\n    IN HWINEVENTHOOK hWinEventHook);\n\n/*\n * idObject values for WinEventProc and NotifyWinEvent\n */\n\n/*\n * hwnd + idObject can be used with OLEACC.DLL's OleGetObjectFromWindow()\n * to get an interface pointer to the container.  indexChild is the item\n * within the container in question.  Setup a VARIANT with vt VT_I4 and\n * lVal the indexChild and pass that in to all methods.  Then you\n * are raring to go.\n */\n\n\n/*\n * Common object IDs (cookies, only for sending WM_GETOBJECT to get at the\n * thing in question).  Positive IDs are reserved for apps (app specific),\n * negative IDs are system things and are global, 0 means \"just little old\n * me\".\n */\n#define     CHILDID_SELF        0\n#define     INDEXID_OBJECT      0\n#define     INDEXID_CONTAINER   0\n\n/*\n * Reserved IDs for system objects\n */\n#define     OBJID_WINDOW        ((LONG)0x00000000)\n#define     OBJID_SYSMENU       ((LONG)0xFFFFFFFF)\n#define     OBJID_TITLEBAR      ((LONG)0xFFFFFFFE)\n#define     OBJID_MENU          ((LONG)0xFFFFFFFD)\n#define     OBJID_CLIENT        ((LONG)0xFFFFFFFC)\n#define     OBJID_VSCROLL       ((LONG)0xFFFFFFFB)\n#define     OBJID_HSCROLL       ((LONG)0xFFFFFFFA)\n#define     OBJID_SIZEGRIP      ((LONG)0xFFFFFFF9)\n#define     OBJID_CARET         ((LONG)0xFFFFFFF8)\n#define     OBJID_CURSOR        ((LONG)0xFFFFFFF7)\n#define     OBJID_ALERT         ((LONG)0xFFFFFFF6)\n#define     OBJID_SOUND         ((LONG)0xFFFFFFF5)\n#define     OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4)\n#define     OBJID_NATIVEOM      ((LONG)0xFFFFFFF0)\n\n/*\n * EVENT DEFINITION\n */\n#define EVENT_MIN           0x00000001\n#define EVENT_MAX           0x7FFFFFFF\n\n\n/*\n *  EVENT_SYSTEM_SOUND\n *  Sent when a sound is played.  Currently nothing is generating this, we\n *  this event when a system sound (for menus, etc) is played.  Apps\n *  generate this, if accessible, when a private sound is played.  For\n *  example, if Mail plays a \"New Mail\" sound.\n *\n *  System Sounds:\n *  (Generated by PlaySoundEvent in USER itself)\n *      hwnd            is NULL\n *      idObject        is OBJID_SOUND\n *      idChild         is sound child ID if one\n *  App Sounds:\n *  (PlaySoundEvent won't generate notification; up to app)\n *      hwnd + idObject gets interface pointer to Sound object\n *      idChild identifies the sound in question\n *  are going to be cleaning up the SOUNDSENTRY feature in the control panel\n *  and will use this at that time.  Applications implementing WinEvents\n *  are perfectly welcome to use it.  Clients of IAccessible* will simply\n *  turn around and get back a non-visual object that describes the sound.\n */\n#define EVENT_SYSTEM_SOUND              0x0001\n\n/*\n * EVENT_SYSTEM_ALERT\n * System Alerts:\n * (Generated by MessageBox() calls for example)\n *      hwnd            is hwndMessageBox\n *      idObject        is OBJID_ALERT\n * App Alerts:\n * (Generated whenever)\n *      hwnd+idObject gets interface pointer to Alert\n */\n#define EVENT_SYSTEM_ALERT              0x0002\n\n/*\n * EVENT_SYSTEM_FOREGROUND\n * Sent when the foreground (active) window changes, even if it is changing\n * to another window in the same thread as the previous one.\n *      hwnd            is hwndNewForeground\n *      idObject        is OBJID_WINDOW\n *      idChild    is INDEXID_OBJECT\n */\n#define EVENT_SYSTEM_FOREGROUND         0x0003\n\n/*\n * Menu\n *      hwnd            is window (top level window or popup menu window)\n *      idObject        is ID of control (OBJID_MENU, OBJID_SYSMENU, OBJID_SELF for popup)\n *      idChild         is CHILDID_SELF\n *\n * EVENT_SYSTEM_MENUSTART\n * EVENT_SYSTEM_MENUEND\n * For MENUSTART, hwnd+idObject+idChild refers to the control with the menu bar,\n *  or the control bringing up the context menu.\n *\n * Sent when entering into and leaving from menu mode (system, app bar, and\n * track popups).\n */\n#define EVENT_SYSTEM_MENUSTART          0x0004\n#define EVENT_SYSTEM_MENUEND            0x0005\n\n/*\n * EVENT_SYSTEM_MENUPOPUPSTART\n * EVENT_SYSTEM_MENUPOPUPEND\n * Sent when a menu popup comes up and just before it is taken down.  Note\n * that for a call to TrackPopupMenu(), a client will see EVENT_SYSTEM_MENUSTART\n * followed almost immediately by EVENT_SYSTEM_MENUPOPUPSTART for the popup\n * being shown.\n *\n * For MENUPOPUP, hwnd+idObject+idChild refers to the NEW popup coming up, not the\n * parent item which is hierarchical.  You can get the parent menu/popup by\n * asking for the accParent object.\n */\n#define EVENT_SYSTEM_MENUPOPUPSTART     0x0006\n#define EVENT_SYSTEM_MENUPOPUPEND       0x0007\n\n\n/*\n * EVENT_SYSTEM_CAPTURESTART\n * EVENT_SYSTEM_CAPTUREEND\n * Sent when a window takes the capture and releases the capture.\n */\n#define EVENT_SYSTEM_CAPTURESTART       0x0008\n#define EVENT_SYSTEM_CAPTUREEND         0x0009\n\n/*\n * Move Size\n * EVENT_SYSTEM_MOVESIZESTART\n * EVENT_SYSTEM_MOVESIZEEND\n * Sent when a window enters and leaves move-size dragging mode.\n */\n#define EVENT_SYSTEM_MOVESIZESTART      0x000A\n#define EVENT_SYSTEM_MOVESIZEEND        0x000B\n\n/*\n * Context Help\n * EVENT_SYSTEM_CONTEXTHELPSTART\n * EVENT_SYSTEM_CONTEXTHELPEND\n * Sent when a window enters and leaves context sensitive help mode.\n */\n#define EVENT_SYSTEM_CONTEXTHELPSTART   0x000C\n#define EVENT_SYSTEM_CONTEXTHELPEND     0x000D\n\n/*\n * Drag & Drop\n * EVENT_SYSTEM_DRAGDROPSTART\n * EVENT_SYSTEM_DRAGDROPEND\n * Send the START notification just before going into drag&drop loop.  Send\n * the END notification just after canceling out.\n * Note that it is up to apps and OLE to generate this, since the system\n * doesn't know.  Like EVENT_SYSTEM_SOUND, it will be a while before this\n * is prevalent.\n */\n#define EVENT_SYSTEM_DRAGDROPSTART      0x000E\n#define EVENT_SYSTEM_DRAGDROPEND        0x000F\n\n/*\n * Dialog\n * Send the START notification right after the dialog is completely\n *  initialized and visible.  Send the END right before the dialog\n *  is hidden and goes away.\n * EVENT_SYSTEM_DIALOGSTART\n * EVENT_SYSTEM_DIALOGEND\n */\n#define EVENT_SYSTEM_DIALOGSTART        0x0010\n#define EVENT_SYSTEM_DIALOGEND          0x0011\n\n/*\n * EVENT_SYSTEM_SCROLLING\n * EVENT_SYSTEM_SCROLLINGSTART\n * EVENT_SYSTEM_SCROLLINGEND\n * Sent when beginning and ending the tracking of a scrollbar in a window,\n * and also for scrollbar controls.\n */\n#define EVENT_SYSTEM_SCROLLINGSTART     0x0012\n#define EVENT_SYSTEM_SCROLLINGEND       0x0013\n\n/*\n * Alt-Tab Window\n * Send the START notification right after the switch window is initialized\n * and visible.  Send the END right before it is hidden and goes away.\n * EVENT_SYSTEM_SWITCHSTART\n * EVENT_SYSTEM_SWITCHEND\n */\n#define EVENT_SYSTEM_SWITCHSTART        0x0014\n#define EVENT_SYSTEM_SWITCHEND          0x0015\n\n/*\n * EVENT_SYSTEM_MINIMIZESTART\n * EVENT_SYSTEM_MINIMIZEEND\n * Sent when a window minimizes and just before it restores.\n */\n#define EVENT_SYSTEM_MINIMIZESTART      0x0016\n#define EVENT_SYSTEM_MINIMIZEEND        0x0017\n\n\n#if(_WIN32_WINNT >= 0x0501)\n#define EVENT_CONSOLE_CARET             0x4001\n#define EVENT_CONSOLE_UPDATE_REGION     0x4002\n#define EVENT_CONSOLE_UPDATE_SIMPLE     0x4003\n#define EVENT_CONSOLE_UPDATE_SCROLL     0x4004\n#define EVENT_CONSOLE_LAYOUT            0x4005\n#define EVENT_CONSOLE_START_APPLICATION 0x4006\n#define EVENT_CONSOLE_END_APPLICATION   0x4007\n\n/*\n * Flags for EVENT_CONSOLE_START/END_APPLICATION.\n */\n#define CONSOLE_APPLICATION_16BIT       0x0001\n\n/*\n * Flags for EVENT_CONSOLE_CARET\n */\n#define CONSOLE_CARET_SELECTION         0x0001\n#define CONSOLE_CARET_VISIBLE           0x0002\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n/*\n * Object events\n *\n * The system AND apps generate these.  The system generates these for\n * real windows.  Apps generate these for objects within their window which\n * act like a separate control, e.g. an item in a list view.\n *\n * When the system generate them, dwParam2 is always WMOBJID_SELF.  When\n * apps generate them, apps put the has-meaning-to-the-app-only ID value\n * in dwParam2.\n * For all events, if you want detailed accessibility information, callers\n * should\n *      * Call AccessibleObjectFromWindow() with the hwnd, idObject parameters\n *          of the event, and IID_IAccessible as the REFIID, to get back an\n *          IAccessible* to talk to\n *      * Initialize and fill in a VARIANT as VT_I4 with lVal the idChild\n *          parameter of the event.\n *      * If idChild isn't zero, call get_accChild() in the container to see\n *          if the child is an object in its own right.  If so, you will get\n *          back an IDispatch* object for the child.  You should release the\n *          parent, and call QueryInterface() on the child object to get its\n *          IAccessible*.  Then you talk directly to the child.  Otherwise,\n *          if get_accChild() returns you nothing, you should continue to\n *          use the child VARIANT.  You will ask the container for the properties\n *          of the child identified by the VARIANT.  In other words, the\n *          child in this case is accessible but not a full-blown object.\n *          Like a button on a titlebar which is 'small' and has no children.\n */\n\n/*\n * For all EVENT_OBJECT events,\n *      hwnd is the dude to Send the WM_GETOBJECT message to (unless NULL,\n *          see above for system things)\n *      idObject is the ID of the object that can resolve any queries a\n *          client might have.  It's a way to deal with windowless controls,\n *          controls that are just drawn on the screen in some larger parent\n *          window (like SDM), or standard frame elements of a window.\n *      idChild is the piece inside of the object that is affected.  This\n *          allows clients to access things that are too small to have full\n *          blown objects in their own right.  Like the thumb of a scrollbar.\n *          The hwnd/idObject pair gets you to the container, the dude you\n *          probably want to talk to most of the time anyway.  The idChild\n *          can then be passed into the acc properties to get the name/value\n *          of it as needed.\n *\n * Example #1:\n *      System propagating a listbox selection change\n *      EVENT_OBJECT_SELECTION\n *          hwnd == listbox hwnd\n *          idObject == OBJID_WINDOW\n *          idChild == new selected item, or CHILDID_SELF if\n *              nothing now selected within container.\n *      Word '97 propagating a listbox selection change\n *          hwnd == SDM window\n *          idObject == SDM ID to get at listbox 'control'\n *          idChild == new selected item, or CHILDID_SELF if\n *              nothing\n *\n * Example #2:\n *      System propagating a menu item selection on the menu bar\n *      EVENT_OBJECT_SELECTION\n *          hwnd == top level window\n *          idObject == OBJID_MENU\n *          idChild == ID of child menu bar item selected\n *\n * Example #3:\n *      System propagating a dropdown coming off of said menu bar item\n *      EVENT_OBJECT_CREATE\n *          hwnd == popup item\n *          idObject == OBJID_WINDOW\n *          idChild == CHILDID_SELF\n *\n * Example #4:\n *\n * For EVENT_OBJECT_REORDER, the object referred to by hwnd/idObject is the\n * PARENT container in which the zorder is occurring.  This is because if\n * one child is zordering, all of them are changing their relative zorder.\n */\n#define EVENT_OBJECT_CREATE                 0x8000  // hwnd + ID + idChild is created item\n#define EVENT_OBJECT_DESTROY                0x8001  // hwnd + ID + idChild is destroyed item\n#define EVENT_OBJECT_SHOW                   0x8002  // hwnd + ID + idChild is shown item\n#define EVENT_OBJECT_HIDE                   0x8003  // hwnd + ID + idChild is hidden item\n#define EVENT_OBJECT_REORDER                0x8004  // hwnd + ID + idChild is parent of zordering children\n/*\n * NOTE:\n * Minimize the number of notifications!\n *\n * When you are hiding a parent object, obviously all child objects are no\n * longer visible on screen.  They still have the same \"visible\" status,\n * but are not truly visible.  Hence do not send HIDE notifications for the\n * children also.  One implies all.  The same goes for SHOW.\n */\n\n\n#define EVENT_OBJECT_FOCUS                  0x8005  // hwnd + ID + idChild is focused item\n#define EVENT_OBJECT_SELECTION              0x8006  // hwnd + ID + idChild is selected item (if only one), or idChild is OBJID_WINDOW if complex\n#define EVENT_OBJECT_SELECTIONADD           0x8007  // hwnd + ID + idChild is item added\n#define EVENT_OBJECT_SELECTIONREMOVE        0x8008  // hwnd + ID + idChild is item removed\n#define EVENT_OBJECT_SELECTIONWITHIN        0x8009  // hwnd + ID + idChild is parent of changed selected items\n\n/*\n * NOTES:\n * There is only one \"focused\" child item in a parent.  This is the place\n * keystrokes are going at a given moment.  Hence only send a notification\n * about where the NEW focus is going.  A NEW item getting the focus already\n * implies that the OLD item is losing it.\n *\n * SELECTION however can be multiple.  Hence the different SELECTION\n * notifications.  Here's when to use each:\n *\n * (1) Send a SELECTION notification in the simple single selection\n *     case (like the focus) when the item with the selection is\n *     merely moving to a different item within a container.  hwnd + ID\n *     is the container control, idChildItem is the new child with the\n *     selection.\n *\n * (2) Send a SELECTIONADD notification when a new item has simply been added\n *     to the selection within a container.  This is appropriate when the\n *     number of newly selected items is very small.  hwnd + ID is the\n *     container control, idChildItem is the new child added to the selection.\n *\n * (3) Send a SELECTIONREMOVE notification when a new item has simply been\n *     removed from the selection within a container.  This is appropriate\n *     when the number of newly selected items is very small, just like\n *     SELECTIONADD.  hwnd + ID is the container control, idChildItem is the\n *     new child removed from the selection.\n *\n * (4) Send a SELECTIONWITHIN notification when the selected items within a\n *     control have changed substantially.  Rather than propagate a large\n *     number of changes to reflect removal for some items, addition of\n *     others, just tell somebody who cares that a lot happened.  It will\n *     be faster an easier for somebody watching to just turn around and\n *     query the container control what the new bunch of selected items\n *     are.\n */\n\n#define EVENT_OBJECT_STATECHANGE            0x800A  // hwnd + ID + idChild is item w/ state change\n/*\n * Examples of when to send an EVENT_OBJECT_STATECHANGE include\n *      * It is being enabled/disabled (USER does for windows)\n *      * It is being pressed/released (USER does for buttons)\n *      * It is being checked/unchecked (USER does for radio/check buttons)\n */\n#define EVENT_OBJECT_LOCATIONCHANGE         0x800B  // hwnd + ID + idChild is moved/sized item\n\n/*\n * Note:\n * A LOCATIONCHANGE is not sent for every child object when the parent\n * changes shape/moves.  Send one notification for the topmost object\n * that is changing.  For example, if the user resizes a top level window,\n * USER will generate a LOCATIONCHANGE for it, but not for the menu bar,\n * title bar, scrollbars, etc.  that are also changing shape/moving.\n *\n * In other words, it only generates LOCATIONCHANGE notifications for\n * real windows that are moving/sizing.  It will not generate a LOCATIONCHANGE\n * for every non-floating child window when the parent moves (the children are\n * logically moving also on screen, but not relative to the parent).\n *\n * Now, if the app itself resizes child windows as a result of being\n * sized, USER will generate LOCATIONCHANGEs for those dudes also because\n * it doesn't know better.\n *\n * Note also that USER will generate LOCATIONCHANGE notifications for two\n * non-window sys objects:\n *      (1) System caret\n *      (2) Cursor\n */\n\n#define EVENT_OBJECT_NAMECHANGE             0x800C  // hwnd + ID + idChild is item w/ name change\n#define EVENT_OBJECT_DESCRIPTIONCHANGE      0x800D  // hwnd + ID + idChild is item w/ desc change\n#define EVENT_OBJECT_VALUECHANGE            0x800E  // hwnd + ID + idChild is item w/ value change\n#define EVENT_OBJECT_PARENTCHANGE           0x800F  // hwnd + ID + idChild is item w/ new parent\n#define EVENT_OBJECT_HELPCHANGE             0x8010  // hwnd + ID + idChild is item w/ help change\n#define EVENT_OBJECT_DEFACTIONCHANGE        0x8011  // hwnd + ID + idChild is item w/ def action change\n#define EVENT_OBJECT_ACCELERATORCHANGE      0x8012  // hwnd + ID + idChild is item w/ keybd accel change\n\n/*\n * Child IDs\n */\n\n/*\n * System Sounds (idChild of system SOUND notification)\n */\n#define SOUND_SYSTEM_STARTUP            1\n#define SOUND_SYSTEM_SHUTDOWN           2\n#define SOUND_SYSTEM_BEEP               3\n#define SOUND_SYSTEM_ERROR              4\n#define SOUND_SYSTEM_QUESTION           5\n#define SOUND_SYSTEM_WARNING            6\n#define SOUND_SYSTEM_INFORMATION        7\n#define SOUND_SYSTEM_MAXIMIZE           8\n#define SOUND_SYSTEM_MINIMIZE           9\n#define SOUND_SYSTEM_RESTOREUP          10\n#define SOUND_SYSTEM_RESTOREDOWN        11\n#define SOUND_SYSTEM_APPSTART           12\n#define SOUND_SYSTEM_FAULT              13\n#define SOUND_SYSTEM_APPEND             14\n#define SOUND_SYSTEM_MENUCOMMAND        15\n#define SOUND_SYSTEM_MENUPOPUP          16\n#define CSOUND_SYSTEM                   16\n\n/*\n * System Alerts (indexChild of system ALERT notification)\n */\n#define ALERT_SYSTEM_INFORMATIONAL      1       // MB_INFORMATION\n#define ALERT_SYSTEM_WARNING            2       // MB_WARNING\n#define ALERT_SYSTEM_ERROR              3       // MB_ERROR\n#define ALERT_SYSTEM_QUERY              4       // MB_QUESTION\n#define ALERT_SYSTEM_CRITICAL           5       // HardSysErrBox\n#define CALERT_SYSTEM                   6\n\ntypedef struct tagGUITHREADINFO\n{\n    DWORD   cbSize;\n    DWORD   flags;\n    HWND    hwndActive;\n    HWND    hwndFocus;\n    HWND    hwndCapture;\n    HWND    hwndMenuOwner;\n    HWND    hwndMoveSize;\n    HWND    hwndCaret;\n    RECT    rcCaret;\n} GUITHREADINFO, *PGUITHREADINFO, FAR * LPGUITHREADINFO;\n\n#define GUI_CARETBLINKING   0x00000001\n#define GUI_INMOVESIZE      0x00000002\n#define GUI_INMENUMODE      0x00000004\n#define GUI_SYSTEMMENUMODE  0x00000008\n#define GUI_POPUPMENUMODE   0x00000010\n#if(_WIN32_WINNT >= 0x0501)\n#define GUI_16BITTASK       0x00000020\n#endif /* _WIN32_WINNT >= 0x0501 */\n\nWINUSERAPI\nBOOL\nWINAPI\nGetGUIThreadInfo(\n    IN DWORD idThread,\n    OUT PGUITHREADINFO pgui);\n\n\nWINUSERAPI\nUINT\nWINAPI\nGetWindowModuleFileNameA(\n    IN HWND     hwnd,\n    OUT LPSTR pszFileName,\n    IN UINT     cchFileNameMax);\nWINUSERAPI\nUINT\nWINAPI\nGetWindowModuleFileNameW(\n    IN HWND     hwnd,\n    OUT LPWSTR pszFileName,\n    IN UINT     cchFileNameMax);\n#ifdef UNICODE\n#define GetWindowModuleFileName  GetWindowModuleFileNameW\n#else\n#define GetWindowModuleFileName  GetWindowModuleFileNameA\n#endif // !UNICODE\n\n#ifndef NO_STATE_FLAGS\n#define STATE_SYSTEM_UNAVAILABLE        0x00000001  // Disabled\n#define STATE_SYSTEM_SELECTED           0x00000002\n#define STATE_SYSTEM_FOCUSED            0x00000004\n#define STATE_SYSTEM_PRESSED            0x00000008\n#define STATE_SYSTEM_CHECKED            0x00000010\n#define STATE_SYSTEM_MIXED              0x00000020  // 3-state checkbox or toolbar button\n#define STATE_SYSTEM_INDETERMINATE      STATE_SYSTEM_MIXED\n#define STATE_SYSTEM_READONLY           0x00000040\n#define STATE_SYSTEM_HOTTRACKED         0x00000080\n#define STATE_SYSTEM_DEFAULT            0x00000100\n#define STATE_SYSTEM_EXPANDED           0x00000200\n#define STATE_SYSTEM_COLLAPSED          0x00000400\n#define STATE_SYSTEM_BUSY               0x00000800\n#define STATE_SYSTEM_FLOATING           0x00001000  // Children \"owned\" not \"contained\" by parent\n#define STATE_SYSTEM_MARQUEED           0x00002000\n#define STATE_SYSTEM_ANIMATED           0x00004000\n#define STATE_SYSTEM_INVISIBLE          0x00008000\n#define STATE_SYSTEM_OFFSCREEN          0x00010000\n#define STATE_SYSTEM_SIZEABLE           0x00020000\n#define STATE_SYSTEM_MOVEABLE           0x00040000\n#define STATE_SYSTEM_SELFVOICING        0x00080000\n#define STATE_SYSTEM_FOCUSABLE          0x00100000\n#define STATE_SYSTEM_SELECTABLE         0x00200000\n#define STATE_SYSTEM_LINKED             0x00400000\n#define STATE_SYSTEM_TRAVERSED          0x00800000\n#define STATE_SYSTEM_MULTISELECTABLE    0x01000000  // Supports multiple selection\n#define STATE_SYSTEM_EXTSELECTABLE      0x02000000  // Supports extended selection\n#define STATE_SYSTEM_ALERT_LOW          0x04000000  // This information is of low priority\n#define STATE_SYSTEM_ALERT_MEDIUM       0x08000000  // This information is of medium priority\n#define STATE_SYSTEM_ALERT_HIGH         0x10000000  // This information is of high priority\n#define STATE_SYSTEM_PROTECTED          0x20000000  // access to this is restricted\n#define STATE_SYSTEM_VALID              0x3FFFFFFF\n#endif\n\n#define CCHILDREN_TITLEBAR              5\n#define CCHILDREN_SCROLLBAR             5\n\n/*\n * Information about the global cursor.\n */\ntypedef struct tagCURSORINFO\n{\n    DWORD   cbSize;\n    DWORD   flags;\n    HCURSOR hCursor;\n    POINT   ptScreenPos;\n} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;\n\n#define CURSOR_SHOWING     0x00000001\n\nWINUSERAPI\nBOOL\nWINAPI\nGetCursorInfo(\n    OUT PCURSORINFO pci\n);\n\n/*\n * Window information snapshot\n */\ntypedef struct tagWINDOWINFO\n{\n    DWORD cbSize;\n    RECT  rcWindow;\n    RECT  rcClient;\n    DWORD dwStyle;\n    DWORD dwExStyle;\n    DWORD dwWindowStatus;\n    UINT  cxWindowBorders;\n    UINT  cyWindowBorders;\n    ATOM  atomWindowType;\n    WORD  wCreatorVersion;\n} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;\n\n#define WS_ACTIVECAPTION    0x0001\n\nWINUSERAPI\nBOOL\nWINAPI\nGetWindowInfo(\n    IN HWND hwnd,\n    OUT PWINDOWINFO pwi\n);\n\n/*\n * Titlebar information.\n */\ntypedef struct tagTITLEBARINFO\n{\n    DWORD cbSize;\n    RECT  rcTitleBar;\n    DWORD rgstate[CCHILDREN_TITLEBAR+1];\n} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetTitleBarInfo(\n    IN HWND hwnd,\n    OUT PTITLEBARINFO pti\n);\n\n/*\n * Menubar information\n */\ntypedef struct tagMENUBARINFO\n{\n    DWORD cbSize;\n    RECT  rcBar;          // rect of bar, popup, item\n    HMENU hMenu;          // real menu handle of bar, popup\n    HWND  hwndMenu;       // hwnd of item submenu if one\n    BOOL  fBarFocused:1;  // bar, popup has the focus\n    BOOL  fFocused:1;     // item has the focus\n} MENUBARINFO, *PMENUBARINFO, *LPMENUBARINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetMenuBarInfo(\n    IN HWND hwnd,\n    IN LONG idObject,\n    IN LONG idItem,\n    OUT PMENUBARINFO pmbi\n);\n\n/*\n * Scrollbar information\n */\ntypedef struct tagSCROLLBARINFO\n{\n    DWORD cbSize;\n    RECT  rcScrollBar;\n    int   dxyLineButton;\n    int   xyThumbTop;\n    int   xyThumbBottom;\n    int   reserved;\n    DWORD rgstate[CCHILDREN_SCROLLBAR+1];\n} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetScrollBarInfo(\n    IN HWND hwnd,\n    IN LONG idObject,\n    OUT PSCROLLBARINFO psbi\n);\n\n/*\n * Combobox information\n */\ntypedef struct tagCOMBOBOXINFO\n{\n    DWORD cbSize;\n    RECT  rcItem;\n    RECT  rcButton;\n    DWORD stateButton;\n    HWND  hwndCombo;\n    HWND  hwndItem;\n    HWND  hwndList;\n} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetComboBoxInfo(\n    IN HWND hwndCombo,\n    OUT PCOMBOBOXINFO pcbi\n);\n\n/*\n * The \"real\" ancestor window\n */\n#define     GA_PARENT       1\n#define     GA_ROOT         2\n#define     GA_ROOTOWNER    3\n\nWINUSERAPI\nHWND\nWINAPI\nGetAncestor(\n    IN HWND hwnd,\n    IN UINT gaFlags\n);\n\n\n/*\n * This gets the REAL child window at the point.  If it is in the dead\n * space of a group box, it will try a sibling behind it.  But static\n * fields will get returned.  In other words, it is kind of a cross between\n * ChildWindowFromPointEx and WindowFromPoint.\n */\nWINUSERAPI\nHWND\nWINAPI\nRealChildWindowFromPoint(\n    IN HWND hwndParent,\n    IN POINT ptParentClientCoords\n);\n\n\n/*\n * This gets the name of the window TYPE, not class.  This allows us to\n * recognize ThunderButton32 et al.\n */\nWINUSERAPI\nUINT\nWINAPI\nRealGetWindowClassA(\n    IN HWND  hwnd,\n    OUT LPSTR pszType,\n    IN UINT  cchType\n);\n/*\n * This gets the name of the window TYPE, not class.  This allows us to\n * recognize ThunderButton32 et al.\n */\nWINUSERAPI\nUINT\nWINAPI\nRealGetWindowClassW(\n    IN HWND  hwnd,\n    OUT LPWSTR pszType,\n    IN UINT  cchType\n);\n#ifdef UNICODE\n#define RealGetWindowClass  RealGetWindowClassW\n#else\n#define RealGetWindowClass  RealGetWindowClassA\n#endif // !UNICODE\n\n/*\n * Alt-Tab Switch window information.\n */\ntypedef struct tagALTTABINFO\n{\n    DWORD cbSize;\n    int   cItems;\n    int   cColumns;\n    int   cRows;\n    int   iColFocus;\n    int   iRowFocus;\n    int   cxItem;\n    int   cyItem;\n    POINT ptStart;\n} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;\n\nWINUSERAPI\nBOOL\nWINAPI\nGetAltTabInfoA(\n    IN HWND hwnd,\n    IN int iItem,\n    OUT PALTTABINFO pati,\n    OUT LPSTR pszItemText,\n    IN UINT cchItemText\n);\nWINUSERAPI\nBOOL\nWINAPI\nGetAltTabInfoW(\n    IN HWND hwnd,\n    IN int iItem,\n    OUT PALTTABINFO pati,\n    OUT LPWSTR pszItemText,\n    IN UINT cchItemText\n);\n#ifdef UNICODE\n#define GetAltTabInfo  GetAltTabInfoW\n#else\n#define GetAltTabInfo  GetAltTabInfoA\n#endif // !UNICODE\n\n/*\n * Listbox information.\n * Returns the number of items per row.\n */\nWINUSERAPI\nDWORD\nWINAPI\nGetListBoxInfo(\n    IN HWND hwnd\n);\n\n#endif /* NOWINABLE */\n#endif /* WINVER >= 0x0500 */\n\n\n#if(_WIN32_WINNT >= 0x0500)\nWINUSERAPI\nBOOL\nWINAPI\nLockWorkStation(\n    VOID);\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0500)\n\nWINUSERAPI\nBOOL\nWINAPI\nUserHandleGrantAccess(\n    HANDLE hUserHandle,\n    HANDLE hJob,\n    BOOL   bGrant);\n\n#endif /* _WIN32_WINNT >= 0x0500 */\n\n#if(_WIN32_WINNT >= 0x0501)\n\n/*\n * Raw Input Messages.\n */\n\nDECLARE_HANDLE(HRAWINPUT);\n\n/*\n * WM_INPUT wParam\n */\n\n/*\n * Use this macro to get the input code from wParam.\n */\n#define GET_RAWINPUT_CODE_WPARAM(wParam)    ((wParam) & 0xff)\n\n/*\n * The input is in the regular message flow,\n * the app is required to call DefWindowProc\n * so that the system can perform clean ups.\n */\n#define RIM_INPUT       0\n\n/*\n * The input is sink only. The app is expected\n * to behave nicely.\n */\n#define RIM_INPUTSINK   1\n\n\n/*\n * Raw Input data header\n */\ntypedef struct tagRAWINPUTHEADER {\n    DWORD dwType;\n    DWORD dwSize;\n    HANDLE hDevice;\n    WPARAM wParam;\n} RAWINPUTHEADER, *PRAWINPUTHEADER, *LPRAWINPUTHEADER;\n\n/*\n * Type of the raw input\n */\n#define RIM_TYPEMOUSE       0\n#define RIM_TYPEKEYBOARD    1\n#define RIM_TYPEHID         2\n\n/*\n * Raw format of the mouse input\n */\ntypedef struct tagRAWMOUSE {\n    /*\n     * Indicator flags.\n     */\n    USHORT usFlags;\n\n    /*\n     * The transition state of the mouse buttons.\n     */\n    union {\n        ULONG ulButtons;\n        struct  {\n            USHORT  usButtonFlags;\n            USHORT  usButtonData;\n        };\n    };\n\n\n    /*\n     * The raw state of the mouse buttons.\n     */\n    ULONG ulRawButtons;\n\n    /*\n     * The signed relative or absolute motion in the X direction.\n     */\n    LONG lLastX;\n\n    /*\n     * The signed relative or absolute motion in the Y direction.\n     */\n    LONG lLastY;\n\n    /*\n     * Device-specific additional information for the event.\n     */\n    ULONG ulExtraInformation;\n\n} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;\n\n/*\n * Define the mouse button state indicators.\n */\n\n#define RI_MOUSE_LEFT_BUTTON_DOWN   0x0001  // Left Button changed to down.\n#define RI_MOUSE_LEFT_BUTTON_UP     0x0002  // Left Button changed to up.\n#define RI_MOUSE_RIGHT_BUTTON_DOWN  0x0004  // Right Button changed to down.\n#define RI_MOUSE_RIGHT_BUTTON_UP    0x0008  // Right Button changed to up.\n#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010  // Middle Button changed to down.\n#define RI_MOUSE_MIDDLE_BUTTON_UP   0x0020  // Middle Button changed to up.\n\n#define RI_MOUSE_BUTTON_1_DOWN      RI_MOUSE_LEFT_BUTTON_DOWN\n#define RI_MOUSE_BUTTON_1_UP        RI_MOUSE_LEFT_BUTTON_UP\n#define RI_MOUSE_BUTTON_2_DOWN      RI_MOUSE_RIGHT_BUTTON_DOWN\n#define RI_MOUSE_BUTTON_2_UP        RI_MOUSE_RIGHT_BUTTON_UP\n#define RI_MOUSE_BUTTON_3_DOWN      RI_MOUSE_MIDDLE_BUTTON_DOWN\n#define RI_MOUSE_BUTTON_3_UP        RI_MOUSE_MIDDLE_BUTTON_UP\n\n#define RI_MOUSE_BUTTON_4_DOWN      0x0040\n#define RI_MOUSE_BUTTON_4_UP        0x0080\n#define RI_MOUSE_BUTTON_5_DOWN      0x0100\n#define RI_MOUSE_BUTTON_5_UP        0x0200\n\n/*\n * If usButtonFlags has RI_MOUSE_WHEEL, the wheel delta is stored in usButtonData.\n * Take it as a signed value.\n */\n#define RI_MOUSE_WHEEL              0x0400\n\n/*\n * Define the mouse indicator flags.\n */\n#define MOUSE_MOVE_RELATIVE         0\n#define MOUSE_MOVE_ABSOLUTE         1\n#define MOUSE_VIRTUAL_DESKTOP    0x02  // the coordinates are mapped to the virtual desktop\n#define MOUSE_ATTRIBUTES_CHANGED 0x04  // requery for mouse attributes\n\n\n/*\n * Raw format of the keyboard input\n */\ntypedef struct tagRAWKEYBOARD {\n    /*\n     * The \"make\" scan code (key depression).\n     */\n    USHORT MakeCode;\n\n    /*\n     * The flags field indicates a \"break\" (key release) and other\n     * miscellaneous scan code information defined in ntddkbd.h.\n     */\n    USHORT Flags;\n\n    USHORT Reserved;\n\n    /*\n     * Windows message compatible information\n     */\n    USHORT VKey;\n    UINT   Message;\n\n    /*\n     * Device-specific additional information for the event.\n     */\n    ULONG ExtraInformation;\n\n\n} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;\n\n\n/*\n * Define the keyboard overrun MakeCode.\n */\n\n#define KEYBOARD_OVERRUN_MAKE_CODE    0xFF\n\n/*\n * Define the keyboard input data Flags.\n */\n#define RI_KEY_MAKE             0\n#define RI_KEY_BREAK            1\n#define RI_KEY_E0               2\n#define RI_KEY_E1               4\n#define RI_KEY_TERMSRV_SET_LED  8\n#define RI_KEY_TERMSRV_SHADOW   0x10\n\n\n/*\n * Raw format of the input from Human Input Devices\n */\ntypedef struct tagRAWHID {\n    DWORD dwSizeHid;    // byte size of each report\n    DWORD dwCount;      // number of input packed\n    BYTE bRawData[1];\n} RAWHID, *PRAWHID, *LPRAWHID;\n\n/*\n * RAWINPUT data structure.\n */\ntypedef struct tagRAWINPUT {\n    RAWINPUTHEADER header;\n    union {\n        RAWMOUSE    mouse;\n        RAWKEYBOARD keyboard;\n        RAWHID      hid;\n    } data;\n} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;\n\n#ifdef _WIN64\n#define RAWINPUT_ALIGN(x)   (((x) + sizeof(QWORD) - 1) & ~(sizeof(QWORD) - 1))\n#else   // _WIN64\n#define RAWINPUT_ALIGN(x)   (((x) + sizeof(DWORD) - 1) & ~(sizeof(DWORD) - 1))\n#endif  // _WIN64\n\n#define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize)))\n\n/*\n * Flags for GetRawInputData\n */\n\n#define RID_INPUT               0x10000003\n#define RID_HEADER              0x10000005\n\nWINUSERAPI\nUINT\nWINAPI\nGetRawInputData(\n    IN HRAWINPUT    hRawInput,\n    IN UINT         uiCommand,\n    OUT LPVOID      pData,\n    IN OUT PUINT    pcbSize,\n    IN UINT         cbSizeHeader);\n\n/*\n * Raw Input Device Information\n */\n#define RIDI_PREPARSEDDATA      0x20000005\n#define RIDI_DEVICENAME         0x20000007  // the return valus is the character length, not the byte size\n#define RIDI_DEVICEINFO         0x2000000b\n\ntypedef struct tagRID_DEVICE_INFO_MOUSE {\n    DWORD dwId;\n    DWORD dwNumberOfButtons;\n    DWORD dwSampleRate;\n} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;\n\ntypedef struct tagRID_DEVICE_INFO_KEYBOARD {\n    DWORD dwType;\n    DWORD dwSubType;\n    DWORD dwKeyboardMode;\n    DWORD dwNumberOfFunctionKeys;\n    DWORD dwNumberOfIndicators;\n    DWORD dwNumberOfKeysTotal;\n} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;\n\ntypedef struct tagRID_DEVICE_INFO_HID {\n    DWORD dwVendorId;\n    DWORD dwProductId;\n    DWORD dwVersionNumber;\n\n    /*\n     * Top level collection UsagePage and Usage\n     */\n    USHORT usUsagePage;\n    USHORT usUsage;\n} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;\n\ntypedef struct tagRID_DEVICE_INFO {\n    DWORD cbSize;\n    DWORD dwType;\n    union {\n        RID_DEVICE_INFO_MOUSE mouse;\n        RID_DEVICE_INFO_KEYBOARD keyboard;\n        RID_DEVICE_INFO_HID hid;\n    };\n} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;\n\nWINUSERAPI\nUINT\nWINAPI\nGetRawInputDeviceInfoA(\n    IN HANDLE hDevice,\n    IN UINT uiCommand,\n    OUT LPVOID pData,\n    IN OUT PUINT pcbSize);\nWINUSERAPI\nUINT\nWINAPI\nGetRawInputDeviceInfoW(\n    IN HANDLE hDevice,\n    IN UINT uiCommand,\n    OUT LPVOID pData,\n    IN OUT PUINT pcbSize);\n#ifdef UNICODE\n#define GetRawInputDeviceInfo  GetRawInputDeviceInfoW\n#else\n#define GetRawInputDeviceInfo  GetRawInputDeviceInfoA\n#endif // !UNICODE\n\n\n/*\n * Raw Input Bulk Read: GetRawInputBuffer\n */\nWINUSERAPI\nUINT\nWINAPI\nGetRawInputBuffer(\n    OUT PRAWINPUT   pData,\n    IN OUT PUINT    pcbSize,\n    IN UINT         cbSizeHeader);\n\n/*\n * Raw Input request APIs\n */\ntypedef struct tagRAWINPUTDEVICE {\n    USHORT usUsagePage; // Toplevel collection UsagePage\n    USHORT usUsage;     // Toplevel collection Usage\n    DWORD dwFlags;\n    HWND hwndTarget;    // Target hwnd. NULL = follows keyboard focus\n} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;\n\ntypedef CONST RAWINPUTDEVICE* PCRAWINPUTDEVICE;\n\n#define RIDEV_REMOVE            0x00000001\n#define RIDEV_EXCLUDE           0x00000010\n#define RIDEV_PAGEONLY          0x00000020\n#define RIDEV_NOLEGACY          0x00000030\n#define RIDEV_INPUTSINK         0x00000100\n#define RIDEV_CAPTUREMOUSE      0x00000200  // effective when mouse nolegacy is specified, otherwise it would be an error\n#define RIDEV_NOHOTKEYS         0x00000200  // effective for keyboard.\n#define RIDEV_APPKEYS           0x00000400  // effective for keyboard.\n#define RIDEV_EXMODEMASK        0x000000F0\n\n#define RIDEV_EXMODE(mode)  ((mode) & RIDEV_EXMODEMASK)\n\nWINUSERAPI\nBOOL\nWINAPI\nRegisterRawInputDevices(\n    IN PCRAWINPUTDEVICE pRawInputDevices,\n    IN UINT uiNumDevices,\n    IN UINT cbSize);\n\nWINUSERAPI\nUINT\nWINAPI\nGetRegisteredRawInputDevices(\n    OUT PRAWINPUTDEVICE pRawInputDevices,\n    IN OUT PUINT puiNumDevices,\n    IN UINT cbSize);\n\n\ntypedef struct tagRAWINPUTDEVICELIST {\n    HANDLE hDevice;\n    DWORD dwType;\n} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;\n\nWINUSERAPI\nUINT\nWINAPI\nGetRawInputDeviceList(\n    OUT PRAWINPUTDEVICELIST pRawInputDeviceList,\n    IN OUT PUINT puiNumDevices,\n    IN UINT cbSize);\n\n\nWINUSERAPI\nLRESULT\nWINAPI\nDefRawInputProc(\n    IN PRAWINPUT* paRawInput,\n    IN INT nInput,\n    IN UINT cbSizeHeader);\n\n\n#endif /* _WIN32_WINNT >= 0x0501 */\n\n\n\n\n#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */\n#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)\n#include \"winuser.inl\"\n#endif /* ISOLATION_AWARE_ENABLED */\n#endif /* RC */\n\n#ifdef __cplusplus\n}\n#endif  /* __cplusplus */\n\n#endif /* !_WINUSER_ */\n\n\n\n\n"
  },
  {
    "path": "Bin/i386/APILib/ntddk.h",
    "content": "/*++ BUILD Version: 0120    // Increment this if a change has global effects\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nModule Name:\n\n    ntddk.h\n\nAbstract:\n\n    This module defines the NT types, constants, and functions that are\n    exposed to device drivers.\n\nRevision History:\n\n--*/\n\n#ifndef _NTDDK_\n#define _NTDDK_\n\n#ifndef RC_INVOKED\n#if _MSC_VER < 1300\n#error Compiler version not supported by Windows DDK\n#endif\n#endif // RC_INVOKED\n\n#define NT_INCLUDED\n#define _CTYPE_DISABLE_MACROS\n\n#include <excpt.h>\n#include <ntdef.h>\n#include <ntstatus.h>\n#include <bugcodes.h>\n#include <ntiologc.h>\n//\n// Kernel Mutex Level Numbers (must be globallly assigned within executive)\n// The third token in the name is the sub-component name that defines and\n// uses the level number.\n//\n\n//\n// Used by Vdm for protecting io simulation structures\n//\n\n#define MUTEX_LEVEL_VDM_IO                  (ULONG)0x00000001\n\n#define MUTEX_LEVEL_EX_PROFILE              (ULONG)0x00000040\n\n//\n// The LANMAN Redirector uses the file system major function, but defines\n// it's own mutex levels.  We can do this safely because we know that the\n// local filesystem will never call the remote filesystem and vice versa.\n//\n\n#define MUTEX_LEVEL_RDR_FILESYS_DATABASE    (ULONG)0x10100000\n#define MUTEX_LEVEL_RDR_FILESYS_SECURITY    (ULONG)0x10100001\n\n//\n// File System levels.\n//\n\n#define MUTEX_LEVEL_FILESYSTEM_RAW_VCB      (ULONG)0x11000006\n\n//\n// In the NT STREAMS environment, a mutex is used to serialize open, close\n// and Scheduler threads executing in a subsystem-parallelized stack.\n//\n\n#define MUTEX_LEVEL_STREAMS_SUBSYS          (ULONG)0x11001001\n\n//\n// Mutex level used by LDT support on x86\n//\n\n#define MUTEX_LEVEL_PS_LDT                  (ULONG)0x1F000000\n\n//\n// Define types that are not exported.\n//\n\ntypedef struct _BUS_HANDLER *PBUS_HANDLER;\ntypedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;\ntypedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;\ntypedef struct _EPROCESS *PEPROCESS;\ntypedef struct _ETHREAD *PETHREAD;\ntypedef struct _IO_TIMER *PIO_TIMER;\ntypedef struct _KINTERRUPT *PKINTERRUPT;\ntypedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;\ntypedef struct _OBJECT_TYPE *POBJECT_TYPE;\ntypedef struct _PEB *PPEB;\n\n#if defined(_M_AMD64)\n\nPKTHREAD\nNTAPI\nKeGetCurrentThread(\n    VOID\n    );\n\n#endif // defined(_M_AMD64)\n\n#if defined(_M_IX86)\nPKTHREAD NTAPI KeGetCurrentThread();\n#endif // defined(_M_IX86)\n\n#if defined(_M_IA64)\n\n//\n// Define Address of Processor Control Registers.\n//\n\n#define KIPCR ((ULONG_PTR)(KADDRESS_BASE + 0xffff0000))            // kernel address of first PCR\n\n//\n// Define Pointer to Processor Control Registers.\n//\n\n#define PCR ((volatile KPCR * const)KIPCR)\n\nPKTHREAD NTAPI KeGetCurrentThread();\n\n#endif // defined(_M_IA64)\n\n#define PsGetCurrentProcess() IoGetCurrentProcess()\n#define PsGetCurrentThread() ((PETHREAD) (KeGetCurrentThread()))\nextern NTSYSAPI CCHAR KeNumberProcessors;\n\n#include <mce.h>\n\n#ifndef FAR\n#define FAR\n#endif\n\n//\n// Define alignment macros to align structure sizes and pointers up and down.\n//\n\n#define ALIGN_DOWN(length, type) \\\n    ((ULONG)(length) & ~(sizeof(type) - 1))\n\n#define ALIGN_UP(length, type) \\\n    (ALIGN_DOWN(((ULONG)(length) + sizeof(type) - 1), type))\n\n#define ALIGN_DOWN_POINTER(address, type) \\\n    ((PVOID)((ULONG_PTR)(address) & ~((ULONG_PTR)sizeof(type) - 1)))\n\n#define ALIGN_UP_POINTER(address, type) \\\n    (ALIGN_DOWN_POINTER(((ULONG_PTR)(address) + sizeof(type) - 1), type))\n\n#define POOL_TAGGING 1\n\n#ifndef DBG\n#define DBG 0\n#endif\n\n#if DBG\n#define IF_DEBUG if (TRUE)\n#else\n#define IF_DEBUG if (FALSE)\n#endif\n\n#if DEVL\n\n\nextern ULONG NtGlobalFlag;\n\n#define IF_NTOS_DEBUG( FlagName ) \\\n    if (NtGlobalFlag & (FLG_ ## FlagName))\n\n#else\n#define IF_NTOS_DEBUG( FlagName ) if (FALSE)\n#endif\n\n//\n// Kernel definitions that need to be here for forward reference purposes\n//\n\n// begin_ntndis\n//\n// Processor modes.\n//\n\ntypedef CCHAR KPROCESSOR_MODE;\n\ntypedef enum _MODE {\n    KernelMode,\n    UserMode,\n    MaximumMode\n} MODE;\n\n// end_ntndis\n//\n// APC function types\n//\n\n//\n// Put in an empty definition for the KAPC so that the\n// routines can reference it before it is declared.\n//\n\nstruct _KAPC;\n\ntypedef\nVOID\n(*PKNORMAL_ROUTINE) (\n    IN PVOID NormalContext,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\ntypedef\nVOID\n(*PKKERNEL_ROUTINE) (\n    IN struct _KAPC *Apc,\n    IN OUT PKNORMAL_ROUTINE *NormalRoutine,\n    IN OUT PVOID *NormalContext,\n    IN OUT PVOID *SystemArgument1,\n    IN OUT PVOID *SystemArgument2\n    );\n\ntypedef\nVOID\n(*PKRUNDOWN_ROUTINE) (\n    IN struct _KAPC *Apc\n    );\n\ntypedef\nBOOLEAN\n(*PKSYNCHRONIZE_ROUTINE) (\n    IN PVOID SynchronizeContext\n    );\n\ntypedef\nBOOLEAN\n(*PKTRANSFER_ROUTINE) (\n    VOID\n    );\n\n//\n//\n// Asynchronous Procedure Call (APC) object\n//\n//\n\ntypedef struct _KAPC {\n    CSHORT Type;\n    CSHORT Size;\n    ULONG Spare0;\n    struct _KTHREAD *Thread;\n    LIST_ENTRY ApcListEntry;\n    PKKERNEL_ROUTINE KernelRoutine;\n    PKRUNDOWN_ROUTINE RundownRoutine;\n    PKNORMAL_ROUTINE NormalRoutine;\n    PVOID NormalContext;\n\n    //\n    // N.B. The following two members MUST be together.\n    //\n\n    PVOID SystemArgument1;\n    PVOID SystemArgument2;\n    CCHAR ApcStateIndex;\n    KPROCESSOR_MODE ApcMode;\n    BOOLEAN Inserted;\n} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;\n\n// begin_ntndis\n//\n// DPC routine\n//\n\nstruct _KDPC;\n\ntypedef\nVOID\n(*PKDEFERRED_ROUTINE) (\n    IN struct _KDPC *Dpc,\n    IN PVOID DeferredContext,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\n//\n// Define DPC importance.\n//\n// LowImportance - Queue DPC at end of target DPC queue.\n// MediumImportance - Queue DPC at end of target DPC queue.\n// HighImportance - Queue DPC at front of target DPC DPC queue.\n//\n// If there is currently a DPC active on the target processor, or a DPC\n// interrupt has already been requested on the target processor when a\n// DPC is queued, then no further action is necessary. The DPC will be\n// executed on the target processor when its queue entry is processed.\n//\n// If there is not a DPC active on the target processor and a DPC interrupt\n// has not been requested on the target processor, then the exact treatment\n// of the DPC is dependent on whether the host system is a UP system or an\n// MP system.\n//\n// UP system.\n//\n// If the DPC is of medium or high importance, the current DPC queue depth\n// is greater than the maximum target depth, or current DPC request rate is\n// less the minimum target rate, then a DPC interrupt is requested on the\n// host processor and the DPC will be processed when the interrupt occurs.\n// Otherwise, no DPC interupt is requested and the DPC execution will be\n// delayed until the DPC queue depth is greater that the target depth or the\n// minimum DPC rate is less than the target rate.\n//\n// MP system.\n//\n// If the DPC is being queued to another processor and the depth of the DPC\n// queue on the target processor is greater than the maximum target depth or\n// the DPC is of high importance, then a DPC interrupt is requested on the\n// target processor and the DPC will be processed when the interrupt occurs.\n// Otherwise, the DPC execution will be delayed on the target processor until\n// the DPC queue depth on the target processor is greater that the maximum\n// target depth or the minimum DPC rate on the target processor is less than\n// the target mimimum rate.\n//\n// If the DPC is being queued to the current processor and the DPC is not of\n// low importance, the current DPC queue depth is greater than the maximum\n// target depth, or the minimum DPC rate is less than the minimum target rate,\n// then a DPC interrupt is request on the current processor and the DPV will\n// be processed whne the interrupt occurs. Otherwise, no DPC interupt is\n// requested and the DPC execution will be delayed until the DPC queue depth\n// is greater that the target depth or the minimum DPC rate is less than the\n// target rate.\n//\n\ntypedef enum _KDPC_IMPORTANCE {\n    LowImportance,\n    MediumImportance,\n    HighImportance\n} KDPC_IMPORTANCE;\n\n//\n// Deferred Procedure Call (DPC) object\n//\n\ntypedef struct _KDPC {\n    CSHORT Type;\n    UCHAR Number;\n    UCHAR Importance;\n    LIST_ENTRY DpcListEntry;\n    PKDEFERRED_ROUTINE DeferredRoutine;\n    PVOID DeferredContext;\n    PVOID SystemArgument1;\n    PVOID SystemArgument2;\n    PULONG_PTR Lock;\n} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;\n\n\n//\n// Interprocessor interrupt worker routine function prototype.\n//\n\ntypedef PVOID PKIPI_CONTEXT;\n\ntypedef\nVOID\n(*PKIPI_WORKER)(\n    IN PKIPI_CONTEXT PacketContext,\n    IN PVOID Parameter1,\n    IN PVOID Parameter2,\n    IN PVOID Parameter3\n    );\n\n//\n// Define interprocessor interrupt performance counters.\n//\n\ntypedef struct _KIPI_COUNTS {\n    ULONG Freeze;\n    ULONG Packet;\n    ULONG DPC;\n    ULONG APC;\n    ULONG FlushSingleTb;\n    ULONG FlushMultipleTb;\n    ULONG FlushEntireTb;\n    ULONG GenericCall;\n    ULONG ChangeColor;\n    ULONG SweepDcache;\n    ULONG SweepIcache;\n    ULONG SweepIcacheRange;\n    ULONG FlushIoBuffers;\n    ULONG GratuitousDPC;\n} KIPI_COUNTS, *PKIPI_COUNTS;\n\n#if defined(NT_UP)\n\n#define HOT_STATISTIC(a) a\n\n#else\n\n#define HOT_STATISTIC(a) (KeGetCurrentPrcb()->a)\n\n#endif\n\n//\n// I/O system definitions.\n//\n// Define a Memory Descriptor List (MDL)\n//\n// An MDL describes pages in a virtual buffer in terms of physical pages.  The\n// pages associated with the buffer are described in an array that is allocated\n// just after the MDL header structure itself.  In a future compiler this will\n// be placed at:\n//\n//      ULONG Pages[];\n//\n// Until this declaration is permitted, however, one simply calculates the\n// base of the array by adding one to the base MDL pointer:\n//\n//      Pages = (PULONG) (Mdl + 1);\n//\n// Notice that while in the context of the subject thread, the base virtual\n// address of a buffer mapped by an MDL may be referenced using the following:\n//\n//      Mdl->StartVa | Mdl->ByteOffset\n//\n\n\ntypedef struct _MDL {\n    struct _MDL *Next;\n    CSHORT Size;\n    CSHORT MdlFlags;\n    struct _EPROCESS *Process;\n    PVOID MappedSystemVa;\n    PVOID StartVa;\n    ULONG ByteCount;\n    ULONG ByteOffset;\n} MDL, *PMDL;\n\n#define MDL_MAPPED_TO_SYSTEM_VA     0x0001\n#define MDL_PAGES_LOCKED            0x0002\n#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004\n#define MDL_ALLOCATED_FIXED_SIZE    0x0008\n#define MDL_PARTIAL                 0x0010\n#define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020\n#define MDL_IO_PAGE_READ            0x0040\n#define MDL_WRITE_OPERATION         0x0080\n#define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100\n#define MDL_FREE_EXTRA_PTES         0x0200\n#define MDL_IO_SPACE                0x0800\n#define MDL_NETWORK_HEADER          0x1000\n#define MDL_MAPPING_CAN_FAIL        0x2000\n#define MDL_ALLOCATED_MUST_SUCCEED  0x4000\n\n\n#define MDL_MAPPING_FLAGS (MDL_MAPPED_TO_SYSTEM_VA     | \\\n                           MDL_PAGES_LOCKED            | \\\n                           MDL_SOURCE_IS_NONPAGED_POOL | \\\n                           MDL_PARTIAL_HAS_BEEN_MAPPED | \\\n                           MDL_PARENT_MAPPED_SYSTEM_VA | \\\n                           MDL_SYSTEM_VA               | \\\n                           MDL_IO_SPACE )\n\n// end_ntndis\n//\n// switch to DBG when appropriate\n//\n\n#if DBG\n#define PAGED_CODE() \\\n    { if (KeGetCurrentIrql() > APC_LEVEL) { \\\n          KdPrint(( \"EX: Pageable code called at IRQL %d\\n\", KeGetCurrentIrql() )); \\\n          ASSERT(FALSE); \\\n       } \\\n    }\n#else\n#define PAGED_CODE() NOP_FUNCTION;\n#endif\n\n#define NTKERNELAPI DECLSPEC_IMPORT     \n#if !defined(_NTHAL_) && !defined(_BLDR_)\n\n#define NTHALAPI DECLSPEC_IMPORT            // wdm ntndis ntifs ntosp\n\n#else\n\n#define NTHALAPI                            // nthal\n\n#endif\n//\n// Common dispatcher object header\n//\n// N.B. The size field contains the number of dwords in the structure.\n//\n\ntypedef struct _DISPATCHER_HEADER {\n    UCHAR Type;\n    UCHAR Absolute;\n    UCHAR Size;\n    UCHAR Inserted;\n    LONG SignalState;\n    LIST_ENTRY WaitListHead;\n} DISPATCHER_HEADER;\n\n//\n// Event object\n//\n\ntypedef struct _KEVENT {\n    DISPATCHER_HEADER Header;\n} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;\n\n//\n// Timer object\n//\n\ntypedef struct _KTIMER {\n    DISPATCHER_HEADER Header;\n    ULARGE_INTEGER DueTime;\n    LIST_ENTRY TimerListEntry;\n    struct _KDPC *Dpc;\n    LONG Period;\n} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;\n\n\n#ifdef _X86_\n\n//\n// Disable these two pragmas that evaluate to \"sti\" \"cli\" on x86 so that driver\n// writers to not leave them inadvertantly in their code.\n//\n\n#if !defined(MIDL_PASS)\n#if !defined(RC_INVOKED)\n\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable:4164)   // disable C4164 warning so that apps that\n                                // build with /Od don't get weird errors !\n#ifdef _M_IX86\n#pragma function(_enable)\n#pragma function(_disable)\n#endif\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default:4164)   // reenable C4164 warning\n#endif\n\n#endif\n#endif\n\n//\n// Size of kernel mode stack.\n//\n\n#define KERNEL_STACK_SIZE 12288\n\n//\n// Define size of large kernel mode stack for callbacks.\n//\n\n#define KERNEL_LARGE_STACK_SIZE 61440\n\n//\n// Define number of pages to initialize in a large kernel stack.\n//\n\n#define KERNEL_LARGE_STACK_COMMIT 12288\n\n#ifdef _X86_\n\n//\n//  Define the size of the 80387 save area, which is in the context frame.\n//\n\n#define SIZE_OF_80387_REGISTERS      80\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_i386    0x00010000    // this assumes that i386 and\n#define CONTEXT_i486    0x00010000    // i486 have identical context records\n\n// end_wx86\n\n#define CONTEXT_CONTROL         (CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP\n#define CONTEXT_INTEGER         (CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI\n#define CONTEXT_SEGMENTS        (CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS\n#define CONTEXT_FLOATING_POINT  (CONTEXT_i386 | 0x00000008L) // 387 state\n#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7\n#define CONTEXT_EXTENDED_REGISTERS  (CONTEXT_i386 | 0x00000020L) // cpu specific extensions\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER |\\\n                      CONTEXT_SEGMENTS)\n\n// begin_wx86\n\n#endif\n\n#define MAXIMUM_SUPPORTED_EXTENSION     512\n\ntypedef struct _FLOATING_SAVE_AREA {\n    ULONG   ControlWord;\n    ULONG   StatusWord;\n    ULONG   TagWord;\n    ULONG   ErrorOffset;\n    ULONG   ErrorSelector;\n    ULONG   DataOffset;\n    ULONG   DataSelector;\n    UCHAR   RegisterArea[SIZE_OF_80387_REGISTERS];\n    ULONG   Cr0NpxState;\n} FLOATING_SAVE_AREA;\n\ntypedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) is is used to constuct a call frame for APC delivery,\n//  and 3) it is used in the user level thread creation routines.\n//\n//  The layout of the record conforms to a standard call frame.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a threads context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    ULONG ContextFlags;\n\n    //\n    // This section is specified/returned if CONTEXT_DEBUG_REGISTERS is\n    // set in ContextFlags.  Note that CONTEXT_DEBUG_REGISTERS is NOT\n    // included in CONTEXT_FULL.\n    //\n\n    ULONG   Dr0;\n    ULONG   Dr1;\n    ULONG   Dr2;\n    ULONG   Dr3;\n    ULONG   Dr6;\n    ULONG   Dr7;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_FLOATING_POINT.\n    //\n\n    FLOATING_SAVE_AREA FloatSave;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_SEGMENTS.\n    //\n\n    ULONG   SegGs;\n    ULONG   SegFs;\n    ULONG   SegEs;\n    ULONG   SegDs;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_INTEGER.\n    //\n\n    ULONG   Edi;\n    ULONG   Esi;\n    ULONG   Ebx;\n    ULONG   Edx;\n    ULONG   Ecx;\n    ULONG   Eax;\n\n    //\n    // This section is specified/returned if the\n    // ContextFlags word contians the flag CONTEXT_CONTROL.\n    //\n\n    ULONG   Ebp;\n    ULONG   Eip;\n    ULONG   SegCs;              // MUST BE SANITIZED\n    ULONG   EFlags;             // MUST BE SANITIZED\n    ULONG   Esp;\n    ULONG   SegSs;\n\n    //\n    // This section is specified/returned if the ContextFlags word\n    // contains the flag CONTEXT_EXTENDED_REGISTERS.\n    // The format and contexts are processor specific\n    //\n\n    UCHAR   ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];\n\n} CONTEXT;\n\n\n\ntypedef CONTEXT *PCONTEXT;\n\n// begin_ntminiport\n\n#endif //_X86_\n\n#endif // _X86_\n\n#if defined(_AMD64_)\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Define function to get the caller's EFLAGs value.\n//\n\n#define GetCallersEflags() __getcallerseflags()\n\nunsigned __int32\n__getcallerseflags (\n    VOID\n    );\n\n#pragma intrinsic(__getcallerseflags)\n\n//\n// Define function to read the value of the time stamp counter\n//\n\n#define ReadTimeStampCounter() __rdtsc()\n\nULONG64\n__rdtsc (\n    VOID\n    );\n\n#pragma intrinsic(__rdtsc)\n\n//\n// Define functions to move strings or bytes, words, dwords, and qwords.\n//\n\nVOID\n__movsb (\n    IN PUCHAR Destination,\n    IN PUCHAR Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsw (\n    IN PUSHORT Destination,\n    IN PUSHORT Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsd (\n    IN PULONG Destination,\n    IN PULONG Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsq (\n    IN PULONGLONG Destination,\n    IN PULONGLONG Source,\n    IN ULONG Count\n    );\n\n#pragma intrinsic(__movsb)\n#pragma intrinsic(__movsw)\n#pragma intrinsic(__movsd)\n#pragma intrinsic(__movsq)\n\n//\n// Define functions to capture the high 64-bits of a 128-bit multiply.\n//\n\n#define MultiplyHigh __mulh\n#define UnsignedMultiplyHigh __umulh\n\nLONGLONG\nMultiplyHigh (\n    IN LONGLONG Multiplier,\n    IN LONGLONG Multiplicand\n    );\n\nULONGLONG\nUnsignedMultiplyHigh (\n    IN ULONGLONG Multiplier,\n    IN ULONGLONG Multiplicand\n    );\n\n#pragma intrinsic(__mulh)\n#pragma intrinsic(__umulh)\n\n//\n// Define functions to read and write the uer TEB and the system PCR/PRCB.\n//\n\nUCHAR\n__readgsbyte (\n    IN ULONG Offset\n    );\n\nUSHORT\n__readgsword (\n    IN ULONG Offset\n    );\n\nULONG\n__readgsdword (\n    IN ULONG Offset\n    );\n\nULONG64\n__readgsqword (\n    IN ULONG Offset\n    );\n\nVOID\n__writegsbyte (\n    IN ULONG Offset,\n    IN UCHAR Data\n    );\n\nVOID\n__writegsword (\n    IN ULONG Offset,\n    IN USHORT Data\n    );\n\nVOID\n__writegsdword (\n    IN ULONG Offset,\n    IN ULONG Data\n    );\n\nVOID\n__writegsqword (\n    IN ULONG Offset,\n    IN ULONG64 Data\n    );\n\n#pragma intrinsic(__readgsbyte)\n#pragma intrinsic(__readgsword)\n#pragma intrinsic(__readgsdword)\n#pragma intrinsic(__readgsqword)\n#pragma intrinsic(__writegsbyte)\n#pragma intrinsic(__writegsword)\n#pragma intrinsic(__writegsdword)\n#pragma intrinsic(__writegsqword)\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Size of kernel mode stack.\n//\n\n#define KERNEL_STACK_SIZE 0x5000\n\n//\n// Define size of large kernel mode stack for callbacks.\n//\n\n#define KERNEL_LARGE_STACK_SIZE 0xf000\n\n//\n// Define number of pages to initialize in a large kernel stack.\n//\n\n#define KERNEL_LARGE_STACK_COMMIT 0x5000\n\n//\n// Define the size of the stack used for processing an MCA exception.\n//\n\n#define KERNEL_MCA_EXCEPTION_STACK_SIZE 0x2000\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_AMD64   0x100000\n\n// end_wx86\n\n#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)\n#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)\n#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)\n#define CONTEXT_FLOATING_POINT  (CONTEXT_AMD64 | 0x8L)\n#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)\n\n#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)\n\n// begin_wx86\n\n#endif // !defined(RC_INVOKED)\n\n//\n// Define 128-bit 16-byte aligned xmm register type.\n//\n\ntypedef struct DECLSPEC_ALIGN(16) _M128 {\n    ULONGLONG Low;\n    LONGLONG High;\n} M128, *PM128;\n\n//\n// Format of data for fnsave/frstor instructions.\n//\n// This structure is used to store the legacy floating point state.\n//\n\ntypedef struct _LEGACY_SAVE_AREA {\n    USHORT ControlWord;\n    USHORT Reserved0;\n    USHORT StatusWord;\n    USHORT Reserved1;\n    USHORT TagWord;\n    USHORT Reserved2;\n    ULONG ErrorOffset;\n    USHORT ErrorSelector;\n    USHORT ErrorOpcode;\n    ULONG DataOffset;\n    USHORT DataSelector;\n    USHORT Reserved3;\n    UCHAR FloatRegisters[8 * 10];\n} LEGACY_SAVE_AREA, *PLEGACY_SAVE_AREA;\n\n#define LEGACY_SAVE_AREA_LENGTH  ((sizeof(LEGACY_SAVE_AREA) + 15) & ~15)\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) is is used to constuct a call frame for APC delivery,\n//  and 3) it is used in the user level thread creation routines.\n//\n//\n// The flags field within this record controls the contents of a CONTEXT\n// record.\n//\n// If the context record is used as an input parameter, then for each\n// portion of the context record controlled by a flag whose value is\n// set, it is assumed that that portion of the context record contains\n// valid context. If the context record is being used to modify a threads\n// context, then only that portion of the threads context is modified.\n//\n// If the context record is used as an output parameter to capture the\n// context of a thread, then only those portions of the thread's context\n// corresponding to set flags will be returned.\n//\n// CONTEXT_CONTROL specifies SegSs, Rsp, SegCs, Rip, and EFlags.\n//\n// CONTEXT_INTEGER specifies Rax, Rcx, Rdx, Rbx, Rbp, Rsi, Rdi, and R8-R15.\n//\n// CONTEXT_SEGMENTS specifies SegDs, SegEs, SegFs, and SegGs.\n//\n// CONTEXT_DEBUG_REGISTERS specifies Dr0-Dr3 and Dr6-Dr7.\n//\n// CONTEXT_MMX_REGISTERS specifies the floating point and extended registers\n//     Mm0/St0-Mm7/St7 and Xmm0-Xmm15).\n//\n\ntypedef struct DECLSPEC_ALIGN(16) _CONTEXT {\n\n    //\n    // Register parameter home addresses.\n    //\n\n    ULONG64 P1Home;\n    ULONG64 P2Home;\n    ULONG64 P3Home;\n    ULONG64 P4Home;\n    ULONG64 P5Home;\n    ULONG64 P6Home;\n\n    //\n    // Control flags.\n    //\n\n    ULONG ContextFlags;\n    ULONG MxCsr;\n\n    //\n    // Segment Registers and processor flags.\n    //\n\n    USHORT SegCs;\n    USHORT SegDs;\n    USHORT SegEs;\n    USHORT SegFs;\n    USHORT SegGs;\n    USHORT SegSs;\n    ULONG EFlags;\n\n    //\n    // Debug registers\n    //\n\n    ULONG64 Dr0;\n    ULONG64 Dr1;\n    ULONG64 Dr2;\n    ULONG64 Dr3;\n    ULONG64 Dr6;\n    ULONG64 Dr7;\n\n    //\n    // Integer registers.\n    //\n\n    ULONG64 Rax;\n    ULONG64 Rcx;\n    ULONG64 Rdx;\n    ULONG64 Rbx;\n    ULONG64 Rsp;\n    ULONG64 Rbp;\n    ULONG64 Rsi;\n    ULONG64 Rdi;\n    ULONG64 R8;\n    ULONG64 R9;\n    ULONG64 R10;\n    ULONG64 R11;\n    ULONG64 R12;\n    ULONG64 R13;\n    ULONG64 R14;\n    ULONG64 R15;\n\n    //\n    // Program counter.\n    //\n\n    ULONG64 Rip;\n\n    //\n    // MMX/floating point state.\n    //\n\n    M128 Xmm0;\n    M128 Xmm1;\n    M128 Xmm2;\n    M128 Xmm3;\n    M128 Xmm4;\n    M128 Xmm5;\n    M128 Xmm6;\n    M128 Xmm7;\n    M128 Xmm8;\n    M128 Xmm9;\n    M128 Xmm10;\n    M128 Xmm11;\n    M128 Xmm12;\n    M128 Xmm13;\n    M128 Xmm14;\n    M128 Xmm15;\n\n    //\n    // Legacy floating point state.\n    //\n\n    LEGACY_SAVE_AREA FltSave;\n    ULONG Fill;\n} CONTEXT, *PCONTEXT;\n\n\n#endif // _AMD64_\n\n\n#ifdef _IA64_\n\n//\n// Define size of kernel mode stack.\n//\n\n#define KERNEL_STACK_SIZE 0x8000\n\n//\n// Define size of large kernel mode stack for callbacks.\n//\n\n#define KERNEL_LARGE_STACK_SIZE 0x1A000\n\n//\n// Define number of pages to initialize in a large kernel stack.\n//\n\n#define KERNEL_LARGE_STACK_COMMIT 0x8000\n\n//\n//  Define size of kernel mode backing store stack.\n//\n\n#define KERNEL_BSTORE_SIZE 0x6000\n\n//\n//  Define size of large kernel mode backing store for callbacks.\n//\n\n#define KERNEL_LARGE_BSTORE_SIZE 0x10000\n\n//\n//  Define number of pages to initialize in a large kernel backing store.\n//\n\n#define KERNEL_LARGE_BSTORE_COMMIT 0x6000\n\n//\n// Define base address for kernel and user space.\n//\n\n#define UREGION_INDEX 0\n\n#define KREGION_INDEX 7\n\n#define UADDRESS_BASE ((ULONGLONG)UREGION_INDEX << 61)\n\n\n#define KADDRESS_BASE ((ULONGLONG)KREGION_INDEX << 61)\n\n\n//\n// The following flags control the contents of the CONTEXT structure.\n//\n\n#if !defined(RC_INVOKED)\n\n#define CONTEXT_IA64                    0x00080000\n\n#define CONTEXT_CONTROL                 (CONTEXT_IA64 | 0x00000001L)\n#define CONTEXT_LOWER_FLOATING_POINT    (CONTEXT_IA64 | 0x00000002L)\n#define CONTEXT_HIGHER_FLOATING_POINT   (CONTEXT_IA64 | 0x00000004L)\n#define CONTEXT_INTEGER                 (CONTEXT_IA64 | 0x00000008L)\n#define CONTEXT_DEBUG                   (CONTEXT_IA64 | 0x00000010L)\n#define CONTEXT_IA32_CONTROL            (CONTEXT_IA64 | 0x00000020L)  // Includes StIPSR\n\n\n#define CONTEXT_FLOATING_POINT          (CONTEXT_LOWER_FLOATING_POINT | CONTEXT_HIGHER_FLOATING_POINT)\n#define CONTEXT_FULL                    (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER | CONTEXT_IA32_CONTROL)\n\n#endif // !defined(RC_INVOKED)\n\n//\n// Context Frame\n//\n//  This frame has a several purposes: 1) it is used as an argument to\n//  NtContinue, 2) it is used to construct a call frame for APC delivery,\n//  3) it is used to construct a call frame for exception dispatching\n//  in user mode, 4) it is used in the user level thread creation\n//  routines, and 5) it is used to to pass thread state to debuggers.\n//\n//  N.B. Because this record is used as a call frame, it must be EXACTLY\n//  a multiple of 16 bytes in length and aligned on a 16-byte boundary.\n//\n\ntypedef struct _CONTEXT {\n\n    //\n    // The flags values within this flag control the contents of\n    // a CONTEXT record.\n    //\n    // If the context record is used as an input parameter, then\n    // for each portion of the context record controlled by a flag\n    // whose value is set, it is assumed that that portion of the\n    // context record contains valid context. If the context record\n    // is being used to modify a thread's context, then only that\n    // portion of the threads context will be modified.\n    //\n    // If the context record is used as an IN OUT parameter to capture\n    // the context of a thread, then only those portions of the thread's\n    // context corresponding to set flags will be returned.\n    //\n    // The context record is never used as an OUT only parameter.\n    //\n\n    ULONG ContextFlags;\n    ULONG Fill1[3];         // for alignment of following on 16-byte boundary\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_DEBUG.\n    //\n    // N.B. CONTEXT_DEBUG is *not* part of CONTEXT_FULL.\n    //\n\n    ULONGLONG DbI0;\n    ULONGLONG DbI1;\n    ULONGLONG DbI2;\n    ULONGLONG DbI3;\n    ULONGLONG DbI4;\n    ULONGLONG DbI5;\n    ULONGLONG DbI6;\n    ULONGLONG DbI7;\n\n    ULONGLONG DbD0;\n    ULONGLONG DbD1;\n    ULONGLONG DbD2;\n    ULONGLONG DbD3;\n    ULONGLONG DbD4;\n    ULONGLONG DbD5;\n    ULONGLONG DbD6;\n    ULONGLONG DbD7;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_LOWER_FLOATING_POINT.\n    //\n\n    FLOAT128 FltS0;\n    FLOAT128 FltS1;\n    FLOAT128 FltS2;\n    FLOAT128 FltS3;\n    FLOAT128 FltT0;\n    FLOAT128 FltT1;\n    FLOAT128 FltT2;\n    FLOAT128 FltT3;\n    FLOAT128 FltT4;\n    FLOAT128 FltT5;\n    FLOAT128 FltT6;\n    FLOAT128 FltT7;\n    FLOAT128 FltT8;\n    FLOAT128 FltT9;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_HIGHER_FLOATING_POINT.\n    //\n\n    FLOAT128 FltS4;\n    FLOAT128 FltS5;\n    FLOAT128 FltS6;\n    FLOAT128 FltS7;\n    FLOAT128 FltS8;\n    FLOAT128 FltS9;\n    FLOAT128 FltS10;\n    FLOAT128 FltS11;\n    FLOAT128 FltS12;\n    FLOAT128 FltS13;\n    FLOAT128 FltS14;\n    FLOAT128 FltS15;\n    FLOAT128 FltS16;\n    FLOAT128 FltS17;\n    FLOAT128 FltS18;\n    FLOAT128 FltS19;\n\n    FLOAT128 FltF32;\n    FLOAT128 FltF33;\n    FLOAT128 FltF34;\n    FLOAT128 FltF35;\n    FLOAT128 FltF36;\n    FLOAT128 FltF37;\n    FLOAT128 FltF38;\n    FLOAT128 FltF39;\n\n    FLOAT128 FltF40;\n    FLOAT128 FltF41;\n    FLOAT128 FltF42;\n    FLOAT128 FltF43;\n    FLOAT128 FltF44;\n    FLOAT128 FltF45;\n    FLOAT128 FltF46;\n    FLOAT128 FltF47;\n    FLOAT128 FltF48;\n    FLOAT128 FltF49;\n\n    FLOAT128 FltF50;\n    FLOAT128 FltF51;\n    FLOAT128 FltF52;\n    FLOAT128 FltF53;\n    FLOAT128 FltF54;\n    FLOAT128 FltF55;\n    FLOAT128 FltF56;\n    FLOAT128 FltF57;\n    FLOAT128 FltF58;\n    FLOAT128 FltF59;\n\n    FLOAT128 FltF60;\n    FLOAT128 FltF61;\n    FLOAT128 FltF62;\n    FLOAT128 FltF63;\n    FLOAT128 FltF64;\n    FLOAT128 FltF65;\n    FLOAT128 FltF66;\n    FLOAT128 FltF67;\n    FLOAT128 FltF68;\n    FLOAT128 FltF69;\n\n    FLOAT128 FltF70;\n    FLOAT128 FltF71;\n    FLOAT128 FltF72;\n    FLOAT128 FltF73;\n    FLOAT128 FltF74;\n    FLOAT128 FltF75;\n    FLOAT128 FltF76;\n    FLOAT128 FltF77;\n    FLOAT128 FltF78;\n    FLOAT128 FltF79;\n\n    FLOAT128 FltF80;\n    FLOAT128 FltF81;\n    FLOAT128 FltF82;\n    FLOAT128 FltF83;\n    FLOAT128 FltF84;\n    FLOAT128 FltF85;\n    FLOAT128 FltF86;\n    FLOAT128 FltF87;\n    FLOAT128 FltF88;\n    FLOAT128 FltF89;\n\n    FLOAT128 FltF90;\n    FLOAT128 FltF91;\n    FLOAT128 FltF92;\n    FLOAT128 FltF93;\n    FLOAT128 FltF94;\n    FLOAT128 FltF95;\n    FLOAT128 FltF96;\n    FLOAT128 FltF97;\n    FLOAT128 FltF98;\n    FLOAT128 FltF99;\n\n    FLOAT128 FltF100;\n    FLOAT128 FltF101;\n    FLOAT128 FltF102;\n    FLOAT128 FltF103;\n    FLOAT128 FltF104;\n    FLOAT128 FltF105;\n    FLOAT128 FltF106;\n    FLOAT128 FltF107;\n    FLOAT128 FltF108;\n    FLOAT128 FltF109;\n\n    FLOAT128 FltF110;\n    FLOAT128 FltF111;\n    FLOAT128 FltF112;\n    FLOAT128 FltF113;\n    FLOAT128 FltF114;\n    FLOAT128 FltF115;\n    FLOAT128 FltF116;\n    FLOAT128 FltF117;\n    FLOAT128 FltF118;\n    FLOAT128 FltF119;\n\n    FLOAT128 FltF120;\n    FLOAT128 FltF121;\n    FLOAT128 FltF122;\n    FLOAT128 FltF123;\n    FLOAT128 FltF124;\n    FLOAT128 FltF125;\n    FLOAT128 FltF126;\n    FLOAT128 FltF127;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_LOWER_FLOATING_POINT | CONTEXT_HIGHER_FLOATING_POINT | CONTEXT_CONTROL.\n    //\n\n    ULONGLONG StFPSR;       //  FP status\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_INTEGER.\n    //\n    // N.B. The registers gp, sp, rp are part of the control context\n    //\n\n    ULONGLONG IntGp;        //  r1, volatile\n    ULONGLONG IntT0;        //  r2-r3, volatile\n    ULONGLONG IntT1;        //\n    ULONGLONG IntS0;        //  r4-r7, preserved\n    ULONGLONG IntS1;\n    ULONGLONG IntS2;\n    ULONGLONG IntS3;\n    ULONGLONG IntV0;        //  r8, volatile\n    ULONGLONG IntT2;        //  r9-r11, volatile\n    ULONGLONG IntT3;\n    ULONGLONG IntT4;\n    ULONGLONG IntSp;        //  stack pointer (r12), special\n    ULONGLONG IntTeb;       //  teb (r13), special\n    ULONGLONG IntT5;        //  r14-r31, volatile\n    ULONGLONG IntT6;\n    ULONGLONG IntT7;\n    ULONGLONG IntT8;\n    ULONGLONG IntT9;\n    ULONGLONG IntT10;\n    ULONGLONG IntT11;\n    ULONGLONG IntT12;\n    ULONGLONG IntT13;\n    ULONGLONG IntT14;\n    ULONGLONG IntT15;\n    ULONGLONG IntT16;\n    ULONGLONG IntT17;\n    ULONGLONG IntT18;\n    ULONGLONG IntT19;\n    ULONGLONG IntT20;\n    ULONGLONG IntT21;\n    ULONGLONG IntT22;\n\n    ULONGLONG IntNats;      //  Nat bits for r1-r31\n                            //  r1-r31 in bits 1 thru 31.\n    ULONGLONG Preds;        //  predicates, preserved\n\n    ULONGLONG BrRp;         //  return pointer, b0, preserved\n    ULONGLONG BrS0;         //  b1-b5, preserved\n    ULONGLONG BrS1;\n    ULONGLONG BrS2;\n    ULONGLONG BrS3;\n    ULONGLONG BrS4;\n    ULONGLONG BrT0;         //  b6-b7, volatile\n    ULONGLONG BrT1;\n\n    //\n    // This section is specified/returned if the ContextFlags word contains\n    // the flag CONTEXT_CONTROL.\n    //\n\n    // Other application registers\n    ULONGLONG ApUNAT;       //  User Nat collection register, preserved\n    ULONGLONG ApLC;         //  Loop counter register, preserved\n    ULONGLONG ApEC;         //  Epilog counter register, preserved\n    ULONGLONG ApCCV;        //  CMPXCHG value register, volatile\n    ULONGLONG ApDCR;        //  Default control register (TBD)\n\n    // Register stack info\n    ULONGLONG RsPFS;        //  Previous function state, preserved\n    ULONGLONG RsBSP;        //  Backing store pointer, preserved\n    ULONGLONG RsBSPSTORE;\n    ULONGLONG RsRSC;        //  RSE configuration, volatile\n    ULONGLONG RsRNAT;       //  RSE Nat collection register, preserved\n\n    // Trap Status Information\n    ULONGLONG StIPSR;       //  Interruption Processor Status\n    ULONGLONG StIIP;        //  Interruption IP\n    ULONGLONG StIFS;        //  Interruption Function State\n\n    // iA32 related control registers\n    ULONGLONG StFCR;        //  copy of Ar21\n    ULONGLONG Eflag;        //  Eflag copy of Ar24\n    ULONGLONG SegCSD;       //  iA32 CSDescriptor (Ar25)\n    ULONGLONG SegSSD;       //  iA32 SSDescriptor (Ar26)\n    ULONGLONG Cflag;        //  Cr0+Cr4 copy of Ar27\n    ULONGLONG StFSR;        //  x86 FP status (copy of AR28)\n    ULONGLONG StFIR;        //  x86 FP status (copy of AR29)\n    ULONGLONG StFDR;        //  x86 FP status (copy of AR30)\n\n      ULONGLONG UNUSEDPACK;   //  added to pack StFDR to 16-bytes\n\n} CONTEXT, *PCONTEXT;\n\n// begin_winnt\n\n//\n// Plabel descriptor structure definition\n//\n\ntypedef struct _PLABEL_DESCRIPTOR {\n   ULONGLONG EntryPoint;\n   ULONGLONG GlobalPointer;\n} PLABEL_DESCRIPTOR, *PPLABEL_DESCRIPTOR;\n\n// end_winnt\n\n#endif // _IA64_\n//\n//  Define an access token from a programmer's viewpoint.  The structure is\n//  completely opaque and the programer is only allowed to have pointers\n//  to tokens.\n//\n\ntypedef PVOID PACCESS_TOKEN;            // winnt\n\n//\n// Pointer to a SECURITY_DESCRIPTOR  opaque data type.\n//\n\ntypedef PVOID PSECURITY_DESCRIPTOR;     // winnt\n\n//\n// Define a pointer to the Security ID data type (an opaque data type)\n//\n\ntypedef PVOID PSID;     // winnt\n\ntypedef ULONG ACCESS_MASK;\ntypedef ACCESS_MASK *PACCESS_MASK;\n\n// end_winnt\n//\n//  The following are masks for the predefined standard access types\n//\n\n#define DELETE                           (0x00010000L)\n#define READ_CONTROL                     (0x00020000L)\n#define WRITE_DAC                        (0x00040000L)\n#define WRITE_OWNER                      (0x00080000L)\n#define SYNCHRONIZE                      (0x00100000L)\n\n#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)\n\n#define STANDARD_RIGHTS_READ             (READ_CONTROL)\n#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)\n#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)\n\n#define STANDARD_RIGHTS_ALL              (0x001F0000L)\n\n#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)\n\n//\n// AccessSystemAcl access type\n//\n\n#define ACCESS_SYSTEM_SECURITY           (0x01000000L)\n\n//\n// MaximumAllowed access type\n//\n\n#define MAXIMUM_ALLOWED                  (0x02000000L)\n\n//\n//  These are the generic rights.\n//\n\n#define GENERIC_READ                     (0x80000000L)\n#define GENERIC_WRITE                    (0x40000000L)\n#define GENERIC_EXECUTE                  (0x20000000L)\n#define GENERIC_ALL                      (0x10000000L)\n\n\n//\n//  Define the generic mapping array.  This is used to denote the\n//  mapping of each generic access right to a specific access mask.\n//\n\ntypedef struct _GENERIC_MAPPING {\n    ACCESS_MASK GenericRead;\n    ACCESS_MASK GenericWrite;\n    ACCESS_MASK GenericExecute;\n    ACCESS_MASK GenericAll;\n} GENERIC_MAPPING;\ntypedef GENERIC_MAPPING *PGENERIC_MAPPING;\n\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                        LUID_AND_ATTRIBUTES                         //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n//\n//\n\n\n#include <pshpack4.h>\n\ntypedef struct _LUID_AND_ATTRIBUTES {\n    LUID Luid;\n    ULONG Attributes;\n    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;\ntypedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];\ntypedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;\n\n#include <poppack.h>\n\n// This is the *current* ACL revision\n\n#define ACL_REVISION     (2)\n#define ACL_REVISION_DS  (4)\n\n// This is the history of ACL revisions.  Add a new one whenever\n// ACL_REVISION is updated\n\n#define ACL_REVISION1   (1)\n#define MIN_ACL_REVISION ACL_REVISION2\n#define ACL_REVISION2   (2)\n#define ACL_REVISION3   (3)\n#define ACL_REVISION4   (4)\n#define MAX_ACL_REVISION ACL_REVISION4\n\ntypedef struct _ACL {\n    UCHAR AclRevision;\n    UCHAR Sbz1;\n    USHORT AclSize;\n    USHORT AceCount;\n    USHORT Sbz2;\n} ACL;\ntypedef ACL *PACL;\n\n//\n// Current security descriptor revision value\n//\n\n#define SECURITY_DESCRIPTOR_REVISION     (1)\n#define SECURITY_DESCRIPTOR_REVISION1    (1)\n\n//\n// Privilege attributes\n//\n\n#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)\n#define SE_PRIVILEGE_ENABLED            (0x00000002L)\n#define SE_PRIVILEGE_USED_FOR_ACCESS    (0x80000000L)\n\n//\n// Privilege Set Control flags\n//\n\n#define PRIVILEGE_SET_ALL_NECESSARY    (1)\n\n//\n//  Privilege Set - This is defined for a privilege set of one.\n//                  If more than one privilege is needed, then this structure\n//                  will need to be allocated with more space.\n//\n//  Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET\n//  structure (defined in se.h)\n//\n\ntypedef struct _PRIVILEGE_SET {\n    ULONG PrivilegeCount;\n    ULONG Control;\n    LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];\n    } PRIVILEGE_SET, * PPRIVILEGE_SET;\n\n//\n// These must be converted to LUIDs before use.\n//\n\n#define SE_MIN_WELL_KNOWN_PRIVILEGE       (2L)\n#define SE_CREATE_TOKEN_PRIVILEGE         (2L)\n#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE   (3L)\n#define SE_LOCK_MEMORY_PRIVILEGE          (4L)\n#define SE_INCREASE_QUOTA_PRIVILEGE       (5L)\n\n// end_wdm\n//\n// Unsolicited Input is obsolete and unused.\n//\n\n#define SE_UNSOLICITED_INPUT_PRIVILEGE    (6L)\n\n// begin_wdm\n#define SE_MACHINE_ACCOUNT_PRIVILEGE      (6L)\n#define SE_TCB_PRIVILEGE                  (7L)\n#define SE_SECURITY_PRIVILEGE             (8L)\n#define SE_TAKE_OWNERSHIP_PRIVILEGE       (9L)\n#define SE_LOAD_DRIVER_PRIVILEGE          (10L)\n#define SE_SYSTEM_PROFILE_PRIVILEGE       (11L)\n#define SE_SYSTEMTIME_PRIVILEGE           (12L)\n#define SE_PROF_SINGLE_PROCESS_PRIVILEGE  (13L)\n#define SE_INC_BASE_PRIORITY_PRIVILEGE    (14L)\n#define SE_CREATE_PAGEFILE_PRIVILEGE      (15L)\n#define SE_CREATE_PERMANENT_PRIVILEGE     (16L)\n#define SE_BACKUP_PRIVILEGE               (17L)\n#define SE_RESTORE_PRIVILEGE              (18L)\n#define SE_SHUTDOWN_PRIVILEGE             (19L)\n#define SE_DEBUG_PRIVILEGE                (20L)\n#define SE_AUDIT_PRIVILEGE                (21L)\n#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE   (22L)\n#define SE_CHANGE_NOTIFY_PRIVILEGE        (23L)\n#define SE_REMOTE_SHUTDOWN_PRIVILEGE      (24L)\n#define SE_UNDOCK_PRIVILEGE               (25L)\n#define SE_SYNC_AGENT_PRIVILEGE           (26L)\n#define SE_ENABLE_DELEGATION_PRIVILEGE    (27L)\n#define SE_MANAGE_VOLUME_PRIVILEGE        (28L)\n#define SE_MAX_WELL_KNOWN_PRIVILEGE       (SE_MANAGE_VOLUME_PRIVILEGE)\n\n//\n// Impersonation Level\n//\n// Impersonation level is represented by a pair of bits in Windows.\n// If a new impersonation level is added or lowest value is changed from\n// 0 to something else, fix the Windows CreateFile call.\n//\n\ntypedef enum _SECURITY_IMPERSONATION_LEVEL {\n    SecurityAnonymous,\n    SecurityIdentification,\n    SecurityImpersonation,\n    SecurityDelegation\n    } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;\n\n#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation\n#define SECURITY_MIN_IMPERSONATION_LEVEL SecurityAnonymous\n#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation\n#define VALID_IMPERSONATION_LEVEL(L) (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL))\n//\n// Security Tracking Mode\n//\n\n#define SECURITY_DYNAMIC_TRACKING      (TRUE)\n#define SECURITY_STATIC_TRACKING       (FALSE)\n\ntypedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,\n                    * PSECURITY_CONTEXT_TRACKING_MODE;\n\n\n\n//\n// Quality Of Service\n//\n\ntypedef struct _SECURITY_QUALITY_OF_SERVICE {\n    ULONG Length;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;\n    BOOLEAN EffectiveOnly;\n    } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;\n\n\n//\n// Used to represent information related to a thread impersonation\n//\n\ntypedef struct _SE_IMPERSONATION_STATE {\n    PACCESS_TOKEN Token;\n    BOOLEAN CopyOnOpen;\n    BOOLEAN EffectiveOnly;\n    SECURITY_IMPERSONATION_LEVEL Level;\n} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;\n\n\ntypedef ULONG SECURITY_INFORMATION, *PSECURITY_INFORMATION;\n\n#define OWNER_SECURITY_INFORMATION       (0x00000001L)\n#define GROUP_SECURITY_INFORMATION       (0x00000002L)\n#define DACL_SECURITY_INFORMATION        (0x00000004L)\n#define SACL_SECURITY_INFORMATION        (0x00000008L)\n\n#define PROTECTED_DACL_SECURITY_INFORMATION     (0x80000000L)\n#define PROTECTED_SACL_SECURITY_INFORMATION     (0x40000000L)\n#define UNPROTECTED_DACL_SECURITY_INFORMATION   (0x20000000L)\n#define UNPROTECTED_SACL_SECURITY_INFORMATION   (0x10000000L)\n\n\n#define LOW_PRIORITY 0              // Lowest thread priority level\n#define LOW_REALTIME_PRIORITY 16    // Lowest realtime priority level\n#define HIGH_PRIORITY 31            // Highest thread priority level\n#define MAXIMUM_PRIORITY 32         // Number of thread priority levels\n// begin_winnt\n#define MAXIMUM_WAIT_OBJECTS 64     // Maximum number of wait objects\n\n#define MAXIMUM_SUSPEND_COUNT MAXCHAR // Maximum times thread can be suspended\n// end_winnt\n\n//\n// Define system time structure.\n//\n\ntypedef struct _KSYSTEM_TIME {\n    ULONG LowPart;\n    LONG High1Time;\n    LONG High2Time;\n} KSYSTEM_TIME, *PKSYSTEM_TIME;\n\n//\n// Thread priority\n//\n\ntypedef LONG KPRIORITY;\n\n//\n// Spin Lock\n//\n\n// begin_ntndis begin_winnt\n\ntypedef ULONG_PTR KSPIN_LOCK;\ntypedef KSPIN_LOCK *PKSPIN_LOCK;\n\n// end_ntndis end_winnt end_wdm\n\n//\n// Define per processor lock queue structure.\n//\n// N.B. The lock field of the spin lock queue structure contains the address\n//      of the associated kernel spin lock, an owner bit, and a lock bit. Bit\n//      0 of the spin lock address is the wait bit and bit 1 is the owner bit.\n//      The use of this field is such that the bits can be set and cleared\n//      noninterlocked, however, the back pointer must be preserved.\n//\n//      The lock wait bit is set when a processor enqueues itself on the lock\n//      queue and it is not the only entry in the queue. The processor will\n//      spin on this bit waiting for the lock to be granted.\n//\n//      The owner bit is set when the processor owns the respective lock.\n//\n//      The next field of the spin lock queue structure is used to line the\n//      queued lock structures together in fifo order. It also can set set and\n//      cleared noninterlocked.\n//\n\n#define LOCK_QUEUE_WAIT 1\n#define LOCK_QUEUE_OWNER 2\n\ntypedef enum _KSPIN_LOCK_QUEUE_NUMBER {\n    LockQueueDispatcherLock,\n    LockQueueContextSwapLock,\n    LockQueuePfnLock,\n    LockQueueSystemSpaceLock,\n    LockQueueVacbLock,\n    LockQueueMasterLock,\n    LockQueueNonPagedPoolLock,\n    LockQueueIoCancelLock,\n    LockQueueWorkQueueLock,\n    LockQueueIoVpbLock,\n    LockQueueIoDatabaseLock,\n    LockQueueIoCompletionLock,\n    LockQueueNtfsStructLock,\n    LockQueueAfdWorkQueueLock,\n    LockQueueBcbLock,\n    LockQueueMaximumLock\n} KSPIN_LOCK_QUEUE_NUMBER, *PKSPIN_LOCK_QUEUE_NUMBER;\n\ntypedef struct _KSPIN_LOCK_QUEUE {\n    struct _KSPIN_LOCK_QUEUE * volatile Next;\n    PKSPIN_LOCK volatile Lock;\n} KSPIN_LOCK_QUEUE, *PKSPIN_LOCK_QUEUE;\n\ntypedef struct _KLOCK_QUEUE_HANDLE {\n    KSPIN_LOCK_QUEUE LockQueue;\n    KIRQL OldIrql;\n} KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;\n\n// begin_wdm\n//\n// Interrupt routine (first level dispatch)\n//\n\ntypedef\nVOID\n(*PKINTERRUPT_ROUTINE) (\n    VOID\n    );\n\n//\n// Profile source types\n//\ntypedef enum _KPROFILE_SOURCE {\n    ProfileTime,\n    ProfileAlignmentFixup,\n    ProfileTotalIssues,\n    ProfilePipelineDry,\n    ProfileLoadInstructions,\n    ProfilePipelineFrozen,\n    ProfileBranchInstructions,\n    ProfileTotalNonissues,\n    ProfileDcacheMisses,\n    ProfileIcacheMisses,\n    ProfileCacheMisses,\n    ProfileBranchMispredictions,\n    ProfileStoreInstructions,\n    ProfileFpInstructions,\n    ProfileIntegerInstructions,\n    Profile2Issue,\n    Profile3Issue,\n    Profile4Issue,\n    ProfileSpecialInstructions,\n    ProfileTotalCycles,\n    ProfileIcacheIssues,\n    ProfileDcacheAccesses,\n    ProfileMemoryBarrierCycles,\n    ProfileLoadLinkedIssues,\n    ProfileMaximum\n} KPROFILE_SOURCE;\n\n//\n// for move macros\n//\n#ifdef _MAC\n#ifndef _INC_STRING\n#include <string.h>\n#endif /* _INC_STRING */\n#else\n#include <string.h>\n#endif // _MAC\n\n\n#ifndef _SLIST_HEADER_\n#define _SLIST_HEADER_\n\n#define SLIST_ENTRY SINGLE_LIST_ENTRY\n#define _SLIST_ENTRY _SINGLE_LIST_ENTRY\n#define PSLIST_ENTRY PSINGLE_LIST_ENTRY\n\n#if defined(_WIN64)\n\ntypedef struct DECLSPEC_ALIGN(16) _SLIST_HEADER {\n    ULONGLONG Alignment;\n    ULONGLONG Region;\n} SLIST_HEADER;\n\ntypedef struct _SLIST_HEADER *PSLIST_HEADER;\n\n#else\n\ntypedef union _SLIST_HEADER {\n    ULONGLONG Alignment;\n    struct {\n        SLIST_ENTRY Next;\n        USHORT Depth;\n        USHORT Sequence;\n    };\n} SLIST_HEADER, *PSLIST_HEADER;\n\n#endif\n\n#endif\n\n//\n// If debugging support enabled, define an ASSERT macro that works.  Otherwise\n// define the ASSERT macro to expand to an empty expression.\n//\n// The ASSERT macro has been updated to be an expression instead of a statement.\n//\n\n#if DBG\nNTSYSAPI\nVOID\nNTAPI\nRtlAssert(\n    PVOID FailedAssertion,\n    PVOID FileName,\n    ULONG LineNumber,\n    PCHAR Message\n    );\n\n#define ASSERT( exp ) \\\n    ((!(exp)) ? \\\n        (RtlAssert( #exp, __FILE__, __LINE__, NULL ),FALSE) : \\\n        TRUE)\n\n#define ASSERTMSG( msg, exp ) \\\n    ((!(exp)) ? \\\n        (RtlAssert( #exp, __FILE__, __LINE__, msg ),FALSE) : \\\n        TRUE)\n\n#define RTL_SOFT_ASSERT(_exp) \\\n    ((!(_exp)) ? \\\n        (DbgPrint(\"%s(%d): Soft assertion failed\\n   Expression: %s\\n\", __FILE__, __LINE__, #_exp),FALSE) : \\\n        TRUE)\n\n#define RTL_SOFT_ASSERTMSG(_msg, _exp) \\\n    ((!(_exp)) ? \\\n        (DbgPrint(\"%s(%d): Soft assertion failed\\n   Expression: %s\\n   Message: %s\\n\", __FILE__, __LINE__, #_exp, (_msg)),FALSE) : \\\n        TRUE)\n\n#define RTL_VERIFY( exp )         ASSERT(exp)\n#define RTL_VERIFYMSG( msg, exp ) ASSERT(msg, exp)\n\n#define RTL_SOFT_VERIFY(_exp)          RTL_SOFT_ASSERT(_exp)\n#define RTL_SOFT_VERIFYMSG(_msg, _exp) RTL_SOFT_ASSERTMSG(_msg, _exp)\n\n#else\n#define ASSERT( exp )         ((void) 0)\n#define ASSERTMSG( msg, exp ) ((void) 0)\n\n#define RTL_SOFT_ASSERT(_exp)          ((void) 0)\n#define RTL_SOFT_ASSERTMSG(_msg, _exp) ((void) 0)\n\n#define RTL_VERIFY( exp )         ((exp) ? TRUE : FALSE)\n#define RTL_VERIFYMSG( msg, exp ) ((exp) ? TRUE : FALSE)\n\n#define RTL_SOFT_VERIFY(_exp)         ((_exp) ? TRUE : FALSE)\n#define RTL_SOFT_VERIFYMSG(msg, _exp) ((_exp) ? TRUE : FALSE)\n\n#endif // DBG\n\n//\n//  Doubly-linked list manipulation routines.\n//\n\n\n//\n//  VOID\n//  InitializeListHead32(\n//      PLIST_ENTRY32 ListHead\n//      );\n//\n\n#define InitializeListHead32(ListHead) (\\\n    (ListHead)->Flink = (ListHead)->Blink = PtrToUlong((ListHead)))\n\n#if !defined(MIDL_PASS) && !defined(SORTPP_PASS)\n\n\nVOID\nFORCEINLINE\nInitializeListHead(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    ListHead->Flink = ListHead->Blink = ListHead;\n}\n\n//\n//  BOOLEAN\n//  IsListEmpty(\n//      PLIST_ENTRY ListHead\n//      );\n//\n\n#define IsListEmpty(ListHead) \\\n    ((ListHead)->Flink == (ListHead))\n\n\n\nVOID\nFORCEINLINE\nRemoveEntryList(\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Blink;\n    PLIST_ENTRY Flink;\n\n    Flink = Entry->Flink;\n    Blink = Entry->Blink;\n    Blink->Flink = Flink;\n    Flink->Blink = Blink;\n}\n\nPLIST_ENTRY\nFORCEINLINE\nRemoveHeadList(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    PLIST_ENTRY Flink;\n    PLIST_ENTRY Entry;\n\n    Entry = ListHead->Flink;\n    Flink = Entry->Flink;\n    ListHead->Flink = Flink;\n    Flink->Blink = ListHead;\n    return Entry;\n}\n\n\n\nPLIST_ENTRY\nFORCEINLINE\nRemoveTailList(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    PLIST_ENTRY Blink;\n    PLIST_ENTRY Entry;\n\n    Entry = ListHead->Blink;\n    Blink = Entry->Blink;\n    ListHead->Blink = Blink;\n    Blink->Flink = ListHead;\n    return Entry;\n}\n\n\nVOID\nFORCEINLINE\nInsertTailList(\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Blink;\n\n    Blink = ListHead->Blink;\n    Entry->Flink = ListHead;\n    Entry->Blink = Blink;\n    Blink->Flink = Entry;\n    ListHead->Blink = Entry;\n}\n\n\nVOID\nFORCEINLINE\nInsertHeadList(\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Flink;\n\n    Flink = ListHead->Flink;\n    Entry->Flink = Flink;\n    Entry->Blink = ListHead;\n    Flink->Blink = Entry;\n    ListHead->Flink = Entry;\n}\n\n\n//\n//\n//  PSINGLE_LIST_ENTRY\n//  PopEntryList(\n//      PSINGLE_LIST_ENTRY ListHead\n//      );\n//\n\n#define PopEntryList(ListHead) \\\n    (ListHead)->Next;\\\n    {\\\n        PSINGLE_LIST_ENTRY FirstEntry;\\\n        FirstEntry = (ListHead)->Next;\\\n        if (FirstEntry != NULL) {     \\\n            (ListHead)->Next = FirstEntry->Next;\\\n        }                             \\\n    }\n\n\n//\n//  VOID\n//  PushEntryList(\n//      PSINGLE_LIST_ENTRY ListHead,\n//      PSINGLE_LIST_ENTRY Entry\n//      );\n//\n\n#define PushEntryList(ListHead,Entry) \\\n    (Entry)->Next = (ListHead)->Next; \\\n    (ListHead)->Next = (Entry)\n\n#endif // !MIDL_PASS\n\n// end_wdm end_nthal end_ntifs end_ntndis\n\n\n\n#if defined (_MSC_VER) && ( _MSC_VER >= 900 )\n\nPVOID\n_ReturnAddress (\n    VOID\n    );\n\n#pragma intrinsic(_ReturnAddress)\n\n#endif\n\n#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)\n\n#define RtlGetCallersAddress(CallersAddress, CallersCaller) \\\n    *CallersAddress = (PVOID)_ReturnAddress(); \\\n    *CallersCaller = NULL;\n\n#else\n\nNTSYSAPI\nVOID\nNTAPI\nRtlGetCallersAddress(\n    OUT PVOID *CallersAddress,\n    OUT PVOID *CallersCaller\n    );\n\n#endif\n\nNTSYSAPI\nULONG\nNTAPI\nRtlWalkFrameChain (\n    OUT PVOID *Callers,\n    IN ULONG Count,\n    IN ULONG Flags\n    );\n\n//\n// Subroutines for dealing with the Registry\n//\n\ntypedef NTSTATUS (NTAPI * PRTL_QUERY_REGISTRY_ROUTINE)(\n    IN PWSTR ValueName,\n    IN ULONG ValueType,\n    IN PVOID ValueData,\n    IN ULONG ValueLength,\n    IN PVOID Context,\n    IN PVOID EntryContext\n    );\n\ntypedef struct _RTL_QUERY_REGISTRY_TABLE {\n    PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;\n    ULONG Flags;\n    PWSTR Name;\n    PVOID EntryContext;\n    ULONG DefaultType;\n    PVOID DefaultData;\n    ULONG DefaultLength;\n\n} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;\n\n\n//\n// The following flags specify how the Name field of a RTL_QUERY_REGISTRY_TABLE\n// entry is interpreted.  A NULL name indicates the end of the table.\n//\n\n#define RTL_QUERY_REGISTRY_SUBKEY   0x00000001  // Name is a subkey and remainder of\n                                                // table or until next subkey are value\n                                                // names for that subkey to look at.\n\n#define RTL_QUERY_REGISTRY_TOPKEY   0x00000002  // Reset current key to original key for\n                                                // this and all following table entries.\n\n#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004  // Fail if no match found for this table\n                                                // entry.\n\n#define RTL_QUERY_REGISTRY_NOVALUE  0x00000008  // Used to mark a table entry that has no\n                                                // value name, just wants a call out, not\n                                                // an enumeration of all values.\n\n#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010  // Used to suppress the expansion of\n                                                // REG_MULTI_SZ into multiple callouts or\n                                                // to prevent the expansion of environment\n                                                // variable values in REG_EXPAND_SZ\n\n#define RTL_QUERY_REGISTRY_DIRECT   0x00000020  // QueryRoutine field ignored.  EntryContext\n                                                // field points to location to store value.\n                                                // For null terminated strings, EntryContext\n                                                // points to UNICODE_STRING structure that\n                                                // that describes maximum size of buffer.\n                                                // If .Buffer field is NULL then a buffer is\n                                                // allocated.\n                                                //\n\n#define RTL_QUERY_REGISTRY_DELETE   0x00000040  // Used to delete value keys after they\n                                                // are queried.\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlQueryRegistryValues(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PRTL_QUERY_REGISTRY_TABLE QueryTable,\n    IN PVOID Context,\n    IN PVOID Environment OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlWriteRegistryValue(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PCWSTR ValueName,\n    IN ULONG ValueType,\n    IN PVOID ValueData,\n    IN ULONG ValueLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlDeleteRegistryValue(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PCWSTR ValueName\n    );\n\n// end_wdm\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlCreateRegistryKey(\n    IN ULONG RelativeTo,\n    IN PWSTR Path\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlCheckRegistryKey(\n    IN ULONG RelativeTo,\n    IN PWSTR Path\n    );\n\n// begin_wdm\n//\n// The following values for the RelativeTo parameter determine what the\n// Path parameter to RtlQueryRegistryValues is relative to.\n//\n\n#define RTL_REGISTRY_ABSOLUTE     0   // Path is a full path\n#define RTL_REGISTRY_SERVICES     1   // \\Registry\\Machine\\System\\CurrentControlSet\\Services\n#define RTL_REGISTRY_CONTROL      2   // \\Registry\\Machine\\System\\CurrentControlSet\\Control\n#define RTL_REGISTRY_WINDOWS_NT   3   // \\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\n#define RTL_REGISTRY_DEVICEMAP    4   // \\Registry\\Machine\\Hardware\\DeviceMap\n#define RTL_REGISTRY_USER         5   // \\Registry\\User\\CurrentUser\n#define RTL_REGISTRY_MAXIMUM      6\n#define RTL_REGISTRY_HANDLE       0x40000000    // Low order bits are registry handle\n#define RTL_REGISTRY_OPTIONAL     0x80000000    // Indicates the key node is optional\n\nNTSYSAPI                                            \nNTSTATUS                                            \nNTAPI                                               \nRtlCharToInteger (                                  \n    PCSZ String,                                    \n    ULONG Base,                                     \n    PULONG Value                                    \n    );                                              \n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlIntegerToUnicodeString (\n    ULONG Value,\n    ULONG Base,\n    PUNICODE_STRING String\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlInt64ToUnicodeString (\n    IN ULONGLONG Value,\n    IN ULONG Base OPTIONAL,\n    IN OUT PUNICODE_STRING String\n    );\n\n#ifdef _WIN64\n#define RtlIntPtrToUnicodeString(Value, Base, String) RtlInt64ToUnicodeString(Value, Base, String)\n#else\n#define RtlIntPtrToUnicodeString(Value, Base, String) RtlIntegerToUnicodeString(Value, Base, String)\n#endif\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlUnicodeStringToInteger (\n    PCUNICODE_STRING String,\n    ULONG Base,\n    PULONG Value\n    );\n\n\f\n//\n//  String manipulation routines\n//\n\n#ifdef _NTSYSTEM_\n\n#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag\n#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag\n\n#else\n\n#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)\n#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)\n\n#endif // _NTSYSTEM_\n\nextern BOOLEAN NLS_MB_CODE_PAGE_TAG;     // TRUE -> Multibyte CP, FALSE -> Singlebyte\nextern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG; // TRUE -> Multibyte CP, FALSE -> Singlebyte\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitString(\n    PSTRING DestinationString,\n    PCSZ SourceString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitAnsiString(\n    PANSI_STRING DestinationString,\n    PCSZ SourceString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCWSTR SourceString\n    );\n\n#define RtlInitEmptyUnicodeString(_ucStr,_buf,_bufSize) \\\n    ((_ucStr)->Buffer = (_buf), \\\n     (_ucStr)->Length = 0, \\\n     (_ucStr)->MaximumLength = (USHORT)(_bufSize))\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyString(\n    PSTRING DestinationString,\n    const STRING * SourceString\n    );\n\nNTSYSAPI\nCHAR\nNTAPI\nRtlUpperChar (\n    CHAR Character\n    );\n\nNTSYSAPI\nLONG\nNTAPI\nRtlCompareString(\n    const STRING * String1,\n    const STRING * String2,\n    BOOLEAN CaseInSensitive\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlEqualString(\n    const STRING * String1,\n    const STRING * String2,\n    BOOLEAN CaseInSensitive\n    );\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlUpperString(\n    PSTRING DestinationString,\n    const STRING * SourceString\n    );\n\n//\n// NLS String functions\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAnsiStringToUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCANSI_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlUnicodeStringToAnsiString(\n    PANSI_STRING DestinationString,\n    PCUNICODE_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n\nNTSYSAPI\nLONG\nNTAPI\nRtlCompareUnicodeString(\n    PCUNICODE_STRING String1,\n    PCUNICODE_STRING String2,\n    BOOLEAN CaseInSensitive\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlEqualUnicodeString(\n    const UNICODE_STRING *String1,\n    const UNICODE_STRING *String2,\n    BOOLEAN CaseInSensitive\n    );\n\n#define HASH_STRING_ALGORITHM_DEFAULT   (0)\n#define HASH_STRING_ALGORITHM_X65599    (1)\n#define HASH_STRING_ALGORITHM_INVALID   (0xffffffff)\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlHashUnicodeString(\n    IN const UNICODE_STRING *String,\n    IN BOOLEAN CaseInSensitive,\n    IN ULONG HashAlgorithm,\n    OUT PULONG HashValue\n    );\n\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlPrefixUnicodeString(\n    IN PUNICODE_STRING String1,\n    IN PUNICODE_STRING String2,\n    IN BOOLEAN CaseInSensitive\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlUpcaseUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCUNICODE_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCUNICODE_STRING SourceString\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAppendUnicodeStringToString (\n    PUNICODE_STRING Destination,\n    PCUNICODE_STRING Source\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAppendUnicodeToString (\n    PUNICODE_STRING Destination,\n    PCWSTR Source\n    );\n\n// end_ntndis end_wdm\n\nNTSYSAPI\nWCHAR\nNTAPI\nRtlUpcaseUnicodeChar(\n    WCHAR SourceCharacter\n    );\n\nNTSYSAPI\nWCHAR\nNTAPI\nRtlDowncaseUnicodeChar(\n    WCHAR SourceCharacter\n    );\n\n// begin_wdm\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFreeUnicodeString(\n    PUNICODE_STRING UnicodeString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFreeAnsiString(\n    PANSI_STRING AnsiString\n    );\n\n\nNTSYSAPI\nULONG\nNTAPI\nRtlxAnsiStringToUnicodeSize(\n    PCANSI_STRING AnsiString\n    );\n\n//\n//  NTSYSAPI\n//  ULONG\n//  NTAPI\n//  RtlAnsiStringToUnicodeSize(\n//      PANSI_STRING AnsiString\n//      );\n//\n\n#define RtlAnsiStringToUnicodeSize(STRING) (                 \\\n    NLS_MB_CODE_PAGE_TAG ?                                   \\\n    RtlxAnsiStringToUnicodeSize(STRING) :                    \\\n    ((STRING)->Length + sizeof(ANSI_NULL)) * sizeof(WCHAR) \\\n)\n\n\n// begin_ntminiport\n\n#include <guiddef.h>\n\n// end_ntminiport\n\n#ifndef DEFINE_GUIDEX\n    #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name\n#endif // !defined(DEFINE_GUIDEX)\n\n#ifndef STATICGUIDOF\n    #define STATICGUIDOF(guid) STATIC_##guid\n#endif // !defined(STATICGUIDOF)\n\n#ifndef __IID_ALIGNED__\n    #define __IID_ALIGNED__\n    #ifdef __cplusplus\n        inline int IsEqualGUIDAligned(REFGUID guid1, REFGUID guid2)\n        {\n            return ((*(PLONGLONG)(&guid1) == *(PLONGLONG)(&guid2)) && (*((PLONGLONG)(&guid1) + 1) == *((PLONGLONG)(&guid2) + 1)));\n        }\n    #else // !__cplusplus\n        #define IsEqualGUIDAligned(guid1, guid2) \\\n            ((*(PLONGLONG)(guid1) == *(PLONGLONG)(guid2)) && (*((PLONGLONG)(guid1) + 1) == *((PLONGLONG)(guid2) + 1)))\n    #endif // !__cplusplus\n#endif // !__IID_ALIGNED__\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlStringFromGUID(\n    IN REFGUID Guid,\n    OUT PUNICODE_STRING GuidString\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlGUIDFromString(\n    IN PUNICODE_STRING GuidString,\n    OUT GUID* Guid\n    );\n\n//\n// Fast primitives to compare, move, and zero memory\n//\n\n// begin_winnt begin_ntndis\n\nNTSYSAPI\nSIZE_T\nNTAPI\nRtlCompareMemory (\n    const VOID *Source1,\n    const VOID *Source2,\n    SIZE_T Length\n    );\n\n#if defined(_M_AMD64) || defined(_M_IA64)\n\n#define RtlEqualMemory(Source1, Source2, Length) \\\n    ((Length) == RtlCompareMemory(Source1, Source2, Length))\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemory (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\n#if !defined(_M_AMD64)\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemory32 (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   ULONG Length\n   );\n\n#endif\n\nNTSYSAPI\nVOID\nNTAPI\nRtlMoveMemory (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFillMemory (\n   VOID UNALIGNED *Destination,\n   SIZE_T Length,\n   UCHAR Fill\n   );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlZeroMemory (\n   VOID UNALIGNED *Destination,\n   SIZE_T Length\n   );\n\n#else\n\n#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length)))\n#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))\n#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))\n#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))\n#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))\n\n#endif\n\n#if !defined(MIDL_PASS)\nFORCEINLINE\nPVOID\nRtlSecureZeroMemory(\n    IN PVOID ptr, \n    IN SIZE_T cnt\n    ) \n{\n    volatile char *vptr = (volatile char *)ptr;\n    while (cnt) {\n        *vptr = 0;\n        vptr++;\n        cnt--;\n    }\n    return ptr;\n}\n#endif\n\n// end_ntndis end_winnt\n\n#define RtlCopyBytes RtlCopyMemory\n#define RtlZeroBytes RtlZeroMemory\n#define RtlFillBytes RtlFillMemory\n\n#if defined(_M_AMD64)\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemoryNonTemporal (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\n#else\n\n#define RtlCopyMemoryNonTemporal RtlCopyMemory\n\n#endif\n\nNTSYSAPI\nVOID\nFASTCALL\nRtlPrefetchMemoryNonTemporal(\n    IN PVOID Source,\n    IN SIZE_T Length\n    );\n\n//\n// Define kernel debugger print prototypes and macros.\n//\n// N.B. The following function cannot be directly imported because there are\n//      a few places in the source tree where this function is redefined.\n//\n\nVOID\nNTAPI\nDbgBreakPoint(\n    VOID\n    );\n\n// end_wdm\n\nNTSYSAPI\nVOID\nNTAPI\nDbgBreakPointWithStatus(\n    IN ULONG Status\n    );\n\n// begin_wdm\n\n#define DBG_STATUS_CONTROL_C        1\n#define DBG_STATUS_SYSRQ            2\n#define DBG_STATUS_BUGCHECK_FIRST   3\n#define DBG_STATUS_BUGCHECK_SECOND  4\n#define DBG_STATUS_FATAL            5\n#define DBG_STATUS_DEBUG_CONTROL    6\n#define DBG_STATUS_WORKER           7\n\n#if DBG\n\n#define KdPrint(_x_) DbgPrint _x_\n// end_wdm\n#define KdPrintEx(_x_) DbgPrintEx _x_\n#define vKdPrintEx(_x_) vDbgPrintEx _x_\n#define vKdPrintExWithPrefix(_x_) vDbgPrintExWithPrefix _x_\n// begin_wdm\n#define KdBreakPoint() DbgBreakPoint()\n\n// end_wdm\n\n#define KdBreakPointWithStatus(s) DbgBreakPointWithStatus(s)\n\n// begin_wdm\n\n#else\n\n#define KdPrint(_x_)\n// end_wdm\n#define KdPrintEx(_x_)\n#define vKdPrintEx(_x_)\n#define vKdPrintExWithPrefix(_x_)\n// begin_wdm\n#define KdBreakPoint()\n\n// end_wdm\n\n#define KdBreakPointWithStatus(s)\n\n// begin_wdm\n\n#endif\n\n#ifndef _DBGNT_\n\nULONG\n__cdecl\nDbgPrint(\n    PCH Format,\n    ...\n    );\n\n// end_wdm\n\nULONG\n__cdecl\nDbgPrintEx(\n    IN ULONG ComponentId,\n    IN ULONG Level,\n    IN PCH Format,\n    ...\n    );\n\n#ifdef _VA_LIST_DEFINED\n\nULONG\nvDbgPrintEx(\n    IN ULONG ComponentId,\n    IN ULONG Level,\n    IN PCH Format,\n    va_list arglist\n    );\n\nULONG\nvDbgPrintExWithPrefix(\n    IN PCH Prefix,\n    IN ULONG ComponentId,\n    IN ULONG Level,\n    IN PCH Format,\n    va_list arglist\n    );\n\n#endif\n\nULONG\n__cdecl\nDbgPrintReturnControlC(\n    PCH Format,\n    ...\n    );\n\nNTSYSAPI\nNTSTATUS\nDbgQueryDebugFilterState(\n    IN ULONG ComponentId,\n    IN ULONG Level\n    );\n\nNTSYSAPI\nNTSTATUS\nDbgSetDebugFilterState(\n    IN ULONG ComponentId,\n    IN ULONG Level,\n    IN BOOLEAN State\n    );\n\n// begin_wdm\n\n#endif // _DBGNT_\n\n//\n// Large integer arithmetic routines.\n//\n\n//\n// Large integer add - 64-bits + 64-bits -> 64-bits\n//\n\n#if !defined(MIDL_PASS)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerAdd (\n    LARGE_INTEGER Addend1,\n    LARGE_INTEGER Addend2\n    )\n{\n    LARGE_INTEGER Sum;\n\n    Sum.QuadPart = Addend1.QuadPart + Addend2.QuadPart;\n    return Sum;\n}\n\n//\n// Enlarged integer multiply - 32-bits * 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlEnlargedIntegerMultiply (\n    LONG Multiplicand,\n    LONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = (LONGLONG)Multiplicand * (ULONGLONG)Multiplier;\n    return Product;\n}\n\n//\n// Unsigned enlarged integer multiply - 32-bits * 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlEnlargedUnsignedMultiply (\n    ULONG Multiplicand,\n    ULONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = (ULONGLONG)Multiplicand * (ULONGLONG)Multiplier;\n    return Product;\n}\n\n//\n// Enlarged integer divide - 64-bits / 32-bits > 32-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nULONG\nNTAPI\nRtlEnlargedUnsignedDivide (\n    IN ULARGE_INTEGER Dividend,\n    IN ULONG Divisor,\n    IN PULONG Remainder OPTIONAL\n    )\n{\n    ULONG Quotient;\n\n    Quotient = (ULONG)(Dividend.QuadPart / Divisor);\n    if (ARGUMENT_PRESENT(Remainder)) {\n        *Remainder = (ULONG)(Dividend.QuadPart % Divisor);\n    }\n\n    return Quotient;\n}\n\n//\n// Large integer negation - -(64-bits)\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerNegate (\n    LARGE_INTEGER Subtrahend\n    )\n{\n    LARGE_INTEGER Difference;\n\n    Difference.QuadPart = -Subtrahend.QuadPart;\n    return Difference;\n}\n\n//\n// Large integer subtract - 64-bits - 64-bits -> 64-bits.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerSubtract (\n    LARGE_INTEGER Minuend,\n    LARGE_INTEGER Subtrahend\n    )\n{\n    LARGE_INTEGER Difference;\n\n    Difference.QuadPart = Minuend.QuadPart - Subtrahend.QuadPart;\n    return Difference;\n}\n\n//\n// Extended large integer magic divide - 64-bits / 32-bits -> 64-bits\n//\n\n#if defined(_AMD64_)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedMagicDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER MagicDivisor,\n    CCHAR ShiftCount\n    )\n{\n     LARGE_INTEGER Quotient;\n\n     Quotient.QuadPart = UnsignedMultiplyHigh((ULONG64)Dividend.QuadPart,\n                                              (ULONG64)MagicDivisor.QuadPart);\n\n     Quotient.QuadPart = (ULONG64)Quotient.QuadPart >> ShiftCount;\n     return Quotient;\n}\n\n#endif // defined(_AMD64_)\n\n#if defined(_X86_) || defined(_IA64_)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedMagicDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER MagicDivisor,\n    CCHAR ShiftCount\n    );\n\n#endif // defined(_X86_) || defined(_IA64_)\n\n#if defined(_AMD64_) || defined(_IA64_)\n\n//\n// Large Integer divide - 64-bits / 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    ULONG Divisor,\n    PULONG Remainder OPTIONAL\n    )\n{\n    LARGE_INTEGER Quotient;\n\n    Quotient.QuadPart = (ULONG64)Dividend.QuadPart / Divisor;\n    if (ARGUMENT_PRESENT(Remainder)) {\n        *Remainder = (ULONG)(Dividend.QuadPart % Divisor);\n    }\n\n    return Quotient;\n}\n\n// end_wdm\n//\n// Large Integer divide - 64-bits / 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER Divisor,\n    PLARGE_INTEGER Remainder OPTIONAL\n    )\n{\n    LARGE_INTEGER Quotient;\n\n    Quotient.QuadPart = Dividend.QuadPart / Divisor.QuadPart;\n    if (ARGUMENT_PRESENT(Remainder)) {\n        Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;\n    }\n\n    return Quotient;\n}\n\n// begin_wdm\n//\n// Extended integer multiply - 32-bits * 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedIntegerMultiply (\n    LARGE_INTEGER Multiplicand,\n    LONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = Multiplicand.QuadPart * Multiplier;\n    return Product;\n}\n\n#else\n\n//\n// Large Integer divide - 64-bits / 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    ULONG Divisor,\n    PULONG Remainder\n    );\n\n// end_wdm\n//\n// Large Integer divide - 64-bits / 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER Divisor,\n    PLARGE_INTEGER Remainder\n    );\n\n// begin_wdm\n//\n// Extended integer multiply - 32-bits * 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedIntegerMultiply (\n    LARGE_INTEGER Multiplicand,\n    LONG Multiplier\n    );\n\n#endif // defined(_AMD64_) || defined(_IA64_)\n\n//\n// Large integer and - 64-bite & 64-bits -> 64-bits.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(RtlLargeIntegerAnd)      // Use native __int64 math\n#endif\n#define RtlLargeIntegerAnd(Result, Source, Mask) \\\n    Result.QuadPart = Source.QuadPart & Mask.QuadPart\n\n//\n// Convert signed integer to large integer.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlConvertLongToLargeInteger (\n    LONG SignedInteger\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = SignedInteger;\n    return Result;\n}\n\n//\n// Convert unsigned integer to large integer.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlConvertUlongToLargeInteger (\n    ULONG UnsignedInteger\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = UnsignedInteger;\n    return Result;\n}\n\n//\n// Large integer shift routines.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerShiftLeft (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = LargeInteger.QuadPart << ShiftCount;\n    return Result;\n}\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerShiftRight (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = (ULONG64)LargeInteger.QuadPart >> ShiftCount;\n    return Result;\n}\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerArithmeticShift (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = LargeInteger.QuadPart >> ShiftCount;\n    return Result;\n}\n\n\n//\n// Large integer comparison routines.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(RtlLargeIntegerGreaterThan)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterThanOrEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerNotEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThan)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThanOrEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterThanZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterOrEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerNotEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThanZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessOrEqualToZero)      // Use native __int64 math\n#endif\n\n#define RtlLargeIntegerGreaterThan(X,Y) (                              \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart > (Y).LowPart)) || \\\n    ((X).HighPart > (Y).HighPart)                                      \\\n)\n\n#define RtlLargeIntegerGreaterThanOrEqualTo(X,Y) (                      \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart >= (Y).LowPart)) || \\\n    ((X).HighPart > (Y).HighPart)                                       \\\n)\n\n#define RtlLargeIntegerEqualTo(X,Y) (                              \\\n    !(((X).LowPart ^ (Y).LowPart) | ((X).HighPart ^ (Y).HighPart)) \\\n)\n\n#define RtlLargeIntegerNotEqualTo(X,Y) (                          \\\n    (((X).LowPart ^ (Y).LowPart) | ((X).HighPart ^ (Y).HighPart)) \\\n)\n\n#define RtlLargeIntegerLessThan(X,Y) (                                 \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart < (Y).LowPart)) || \\\n    ((X).HighPart < (Y).HighPart)                                      \\\n)\n\n#define RtlLargeIntegerLessThanOrEqualTo(X,Y) (                         \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart <= (Y).LowPart)) || \\\n    ((X).HighPart < (Y).HighPart)                                       \\\n)\n\n#define RtlLargeIntegerGreaterThanZero(X) (       \\\n    (((X).HighPart == 0) && ((X).LowPart > 0)) || \\\n    ((X).HighPart > 0 )                           \\\n)\n\n#define RtlLargeIntegerGreaterOrEqualToZero(X) ( \\\n    (X).HighPart >= 0                            \\\n)\n\n#define RtlLargeIntegerEqualToZero(X) ( \\\n    !((X).LowPart | (X).HighPart)       \\\n)\n\n#define RtlLargeIntegerNotEqualToZero(X) ( \\\n    ((X).LowPart | (X).HighPart)           \\\n)\n\n#define RtlLargeIntegerLessThanZero(X) ( \\\n    ((X).HighPart < 0)                   \\\n)\n\n#define RtlLargeIntegerLessOrEqualToZero(X) (           \\\n    ((X).HighPart < 0) || !((X).LowPart | (X).HighPart) \\\n)\n\n#endif // !defined(MIDL_PASS)\n\f\n//\n//  Time conversion routines\n//\n\ntypedef struct _TIME_FIELDS {\n    CSHORT Year;        // range [1601...]\n    CSHORT Month;       // range [1..12]\n    CSHORT Day;         // range [1..31]\n    CSHORT Hour;        // range [0..23]\n    CSHORT Minute;      // range [0..59]\n    CSHORT Second;      // range [0..59]\n    CSHORT Milliseconds;// range [0..999]\n    CSHORT Weekday;     // range [0..6] == [Sunday..Saturday]\n} TIME_FIELDS;\ntypedef TIME_FIELDS *PTIME_FIELDS;\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlTimeToTimeFields (\n    PLARGE_INTEGER Time,\n    PTIME_FIELDS TimeFields\n    );\n\n//\n//  A time field record (Weekday ignored) -> 64 bit Time value\n//\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlTimeFieldsToTime (\n    PTIME_FIELDS TimeFields,\n    PLARGE_INTEGER Time\n    );\n\n//\n// The following macros store and retrieve USHORTS and ULONGS from potentially\n// unaligned addresses, avoiding alignment faults.  they should probably be\n// rewritten in assembler\n//\n\n#define SHORT_SIZE  (sizeof(USHORT))\n#define SHORT_MASK  (SHORT_SIZE - 1)\n#define LONG_SIZE       (sizeof(LONG))\n#define LONGLONG_SIZE   (sizeof(LONGLONG))\n#define LONG_MASK       (LONG_SIZE - 1)\n#define LONGLONG_MASK   (LONGLONG_SIZE - 1)\n#define LOWBYTE_MASK 0x00FF\n\n#define FIRSTBYTE(VALUE)  ((VALUE) & LOWBYTE_MASK)\n#define SECONDBYTE(VALUE) (((VALUE) >> 8) & LOWBYTE_MASK)\n#define THIRDBYTE(VALUE)  (((VALUE) >> 16) & LOWBYTE_MASK)\n#define FOURTHBYTE(VALUE) (((VALUE) >> 24) & LOWBYTE_MASK)\n\n//\n// if MIPS Big Endian, order of bytes is reversed.\n//\n\n#define SHORT_LEAST_SIGNIFICANT_BIT  0\n#define SHORT_MOST_SIGNIFICANT_BIT   1\n\n#define LONG_LEAST_SIGNIFICANT_BIT       0\n#define LONG_3RD_MOST_SIGNIFICANT_BIT    1\n#define LONG_2ND_MOST_SIGNIFICANT_BIT    2\n#define LONG_MOST_SIGNIFICANT_BIT        3\n\n//++\n//\n// VOID\n// RtlStoreUshort (\n//     PUSHORT ADDRESS\n//     USHORT VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a USHORT value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store USHORT value\n//     VALUE - USHORT to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlStoreUshort(ADDRESS,VALUE)                     \\\n         if ((ULONG_PTR)(ADDRESS) & SHORT_MASK) {         \\\n             ((PUCHAR) (ADDRESS))[SHORT_LEAST_SIGNIFICANT_BIT] = (UCHAR)(FIRSTBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[SHORT_MOST_SIGNIFICANT_BIT ] = (UCHAR)(SECONDBYTE(VALUE));   \\\n         }                                                \\\n         else {                                           \\\n             *((PUSHORT) (ADDRESS)) = (USHORT) VALUE;     \\\n         }\n\n\n//++\n//\n// VOID\n// RtlStoreUlong (\n//     PULONG ADDRESS\n//     ULONG VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONG value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONG value\n//     VALUE - ULONG to store\n//\n// Return Value:\n//\n//     none.\n//\n// Note:\n//     Depending on the machine, we might want to call storeushort in the\n//     unaligned case.\n//\n//--\n\n#define RtlStoreUlong(ADDRESS,VALUE)                      \\\n         if ((ULONG_PTR)(ADDRESS) & LONG_MASK) {          \\\n             ((PUCHAR) (ADDRESS))[LONG_LEAST_SIGNIFICANT_BIT      ] = (UCHAR)(FIRSTBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[LONG_3RD_MOST_SIGNIFICANT_BIT   ] = (UCHAR)(SECONDBYTE(VALUE));   \\\n             ((PUCHAR) (ADDRESS))[LONG_2ND_MOST_SIGNIFICANT_BIT   ] = (UCHAR)(THIRDBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[LONG_MOST_SIGNIFICANT_BIT       ] = (UCHAR)(FOURTHBYTE(VALUE));   \\\n         }                                                \\\n         else {                                           \\\n             *((PULONG) (ADDRESS)) = (ULONG) (VALUE);     \\\n         }\n\n//++\n//\n// VOID\n// RtlStoreUlonglong (\n//     PULONGLONG ADDRESS\n//     ULONG VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONGLONG value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONGLONG value\n//     VALUE - ULONGLONG to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlStoreUlonglong(ADDRESS,VALUE)                        \\\n         if ((ULONG_PTR)(ADDRESS) & LONGLONG_MASK) {            \\\n             RtlStoreUlong((ULONG_PTR)(ADDRESS),                \\\n                           (ULONGLONG)(VALUE) & 0xFFFFFFFF);    \\\n             RtlStoreUlong((ULONG_PTR)(ADDRESS)+sizeof(ULONG),  \\\n                           (ULONGLONG)(VALUE) >> 32);           \\\n         } else {                                               \\\n             *((PULONGLONG)(ADDRESS)) = (ULONGLONG)(VALUE);     \\\n         }\n\n//++\n//\n// VOID\n// RtlStoreUlongPtr (\n//     PULONG_PTR ADDRESS\n//     ULONG_PTR VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONG_PTR value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONG_PTR value\n//     VALUE - ULONG_PTR to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#ifdef _WIN64\n\n#define RtlStoreUlongPtr(ADDRESS,VALUE)                         \\\n         RtlStoreUlonglong(ADDRESS,VALUE)\n\n#else\n\n#define RtlStoreUlongPtr(ADDRESS,VALUE)                         \\\n         RtlStoreUlong(ADDRESS,VALUE)\n\n#endif\n\n//++\n//\n// VOID\n// RtlRetrieveUshort (\n//     PUSHORT DESTINATION_ADDRESS\n//     PUSHORT SOURCE_ADDRESS\n//     )\n//\n// Routine Description:\n//\n// This macro retrieves a USHORT value from the SOURCE address, avoiding\n// alignment faults.  The DESTINATION address is assumed to be aligned.\n//\n// Arguments:\n//\n//     DESTINATION_ADDRESS - where to store USHORT value\n//     SOURCE_ADDRESS - where to retrieve USHORT value from\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlRetrieveUshort(DEST_ADDRESS,SRC_ADDRESS)                   \\\n         if ((ULONG_PTR)SRC_ADDRESS & SHORT_MASK) {                       \\\n             ((PUCHAR) DEST_ADDRESS)[0] = ((PUCHAR) SRC_ADDRESS)[0];  \\\n             ((PUCHAR) DEST_ADDRESS)[1] = ((PUCHAR) SRC_ADDRESS)[1];  \\\n         }                                                            \\\n         else {                                                       \\\n             *((PUSHORT) DEST_ADDRESS) = *((PUSHORT) SRC_ADDRESS);    \\\n         }                                                            \\\n\n//++\n//\n// VOID\n// RtlRetrieveUlong (\n//     PULONG DESTINATION_ADDRESS\n//     PULONG SOURCE_ADDRESS\n//     )\n//\n// Routine Description:\n//\n// This macro retrieves a ULONG value from the SOURCE address, avoiding\n// alignment faults.  The DESTINATION address is assumed to be aligned.\n//\n// Arguments:\n//\n//     DESTINATION_ADDRESS - where to store ULONG value\n//     SOURCE_ADDRESS - where to retrieve ULONG value from\n//\n// Return Value:\n//\n//     none.\n//\n// Note:\n//     Depending on the machine, we might want to call retrieveushort in the\n//     unaligned case.\n//\n//--\n\n#define RtlRetrieveUlong(DEST_ADDRESS,SRC_ADDRESS)                    \\\n         if ((ULONG_PTR)SRC_ADDRESS & LONG_MASK) {                        \\\n             ((PUCHAR) DEST_ADDRESS)[0] = ((PUCHAR) SRC_ADDRESS)[0];  \\\n             ((PUCHAR) DEST_ADDRESS)[1] = ((PUCHAR) SRC_ADDRESS)[1];  \\\n             ((PUCHAR) DEST_ADDRESS)[2] = ((PUCHAR) SRC_ADDRESS)[2];  \\\n             ((PUCHAR) DEST_ADDRESS)[3] = ((PUCHAR) SRC_ADDRESS)[3];  \\\n         }                                                            \\\n         else {                                                       \\\n             *((PULONG) DEST_ADDRESS) = *((PULONG) SRC_ADDRESS);      \\\n         }\n//\n//  BitMap routines.  The following structure, routines, and macros are\n//  for manipulating bitmaps.  The user is responsible for allocating a bitmap\n//  structure (which is really a header) and a buffer (which must be longword\n//  aligned and multiple longwords in size).\n//\n\ntypedef struct _RTL_BITMAP {\n    ULONG SizeOfBitMap;                     // Number of bits in bit map\n    PULONG Buffer;                          // Pointer to the bit map itself\n} RTL_BITMAP;\ntypedef RTL_BITMAP *PRTL_BITMAP;\n\n//\n//  The following routine initializes a new bitmap.  It does not alter the\n//  data currently in the bitmap.  This routine must be called before\n//  any other bitmap routine/macro.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitializeBitMap (\n    PRTL_BITMAP BitMapHeader,\n    PULONG BitMapBuffer,\n    ULONG SizeOfBitMap\n    );\n\n//\n//  The following three routines clear, set, and test the state of a\n//  single bit in a bitmap.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlTestBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\n//\n//  The following two routines either clear or set all of the bits\n//  in a bitmap.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearAllBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetAllBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\n//\n//  The following two routines locate a contiguous region of either\n//  clear or set bits within the bitmap.  The region will be at least\n//  as large as the number specified, and the search of the bitmap will\n//  begin at the specified hint index (which is a bit index within the\n//  bitmap, zero based).  The return value is the bit index of the located\n//  region (zero based) or -1 (i.e., 0xffffffff) if such a region cannot\n//  be located\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindSetBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\n//\n//  The following two routines locate a contiguous region of either\n//  clear or set bits within the bitmap and either set or clear the bits\n//  within the located region.  The region will be as large as the number\n//  specified, and the search for the region will begin at the specified\n//  hint index (which is a bit index within the bitmap, zero based).  The\n//  return value is the bit index of the located region (zero based) or\n//  -1 (i.e., 0xffffffff) if such a region cannot be located.  If a region\n//  cannot be located then the setting/clearing of the bitmap is not performed.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearBitsAndSet (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindSetBitsAndClear (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\n//\n//  The following two routines clear or set bits within a specified region\n//  of the bitmap.  The starting index is zero based.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG NumberToClear\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG NumberToSet\n    );\n\n//\n//  The following routine locates a set of contiguous regions of clear\n//  bits within the bitmap.  The caller specifies whether to return the\n//  longest runs or just the first found lcoated.  The following structure is\n//  used to denote a contiguous run of bits.  The two routines return an array\n//  of this structure, one for each run located.\n//\n\ntypedef struct _RTL_BITMAP_RUN {\n\n    ULONG StartingIndex;\n    ULONG NumberOfBits;\n\n} RTL_BITMAP_RUN;\ntypedef RTL_BITMAP_RUN *PRTL_BITMAP_RUN;\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearRuns (\n    PRTL_BITMAP BitMapHeader,\n    PRTL_BITMAP_RUN RunArray,\n    ULONG SizeOfRunArray,\n    BOOLEAN LocateLongestRuns\n    );\n\n//\n//  The following routine locates the longest contiguous region of\n//  clear bits within the bitmap.  The returned starting index value\n//  denotes the first contiguous region located satisfying our requirements\n//  The return value is the length (in bits) of the longest region found.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindLongestRunClear (\n    PRTL_BITMAP BitMapHeader,\n    PULONG StartingIndex\n    );\n\n//\n//  The following routine locates the first contiguous region of\n//  clear bits within the bitmap.  The returned starting index value\n//  denotes the first contiguous region located satisfying our requirements\n//  The return value is the length (in bits) of the region found.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindFirstRunClear (\n    PRTL_BITMAP BitMapHeader,\n    PULONG StartingIndex\n    );\n\n//\n//  The following macro returns the value of the bit stored within the\n//  bitmap at the specified location.  If the bit is set a value of 1 is\n//  returned otherwise a value of 0 is returned.\n//\n//      ULONG\n//      RtlCheckBit (\n//          PRTL_BITMAP BitMapHeader,\n//          ULONG BitPosition\n//          );\n//\n//\n//  To implement CheckBit the macro retrieves the longword containing the\n//  bit in question, shifts the longword to get the bit in question into the\n//  low order bit position and masks out all other bits.\n//\n\n#define RtlCheckBit(BMH,BP) ((((BMH)->Buffer[(BP) / 32]) >> ((BP) % 32)) & 0x1)\n\n//\n//  The following two procedures return to the caller the total number of\n//  clear or set bits within the specified bitmap.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlNumberOfClearBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlNumberOfSetBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\n//\n//  The following two procedures return to the caller a boolean value\n//  indicating if the specified range of bits are all clear or set.\n//\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlAreBitsClear (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG Length\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlAreBitsSet (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG Length\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindNextForwardRunClear (\n    IN PRTL_BITMAP BitMapHeader,\n    IN ULONG FromIndex,\n    IN PULONG StartingRunIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindLastBackwardRunClear (\n    IN PRTL_BITMAP BitMapHeader,\n    IN ULONG FromIndex,\n    IN PULONG StartingRunIndex\n    );\n\n//\n//  The following two procedures return to the caller a value indicating\n//  the position within a ULONGLONG of the most or least significant non-zero\n//  bit.  A value of zero results in a return value of -1.\n//\n\nNTSYSAPI\nCCHAR\nNTAPI\nRtlFindLeastSignificantBit (\n    IN ULONGLONG Set\n    );\n\nNTSYSAPI\nCCHAR\nNTAPI\nRtlFindMostSignificantBit (\n    IN ULONGLONG Set\n    );\n\n\n//\n// BOOLEAN\n// RtlEqualLuid(\n//      PLUID L1,\n//      PLUID L2\n//      );\n\n#define RtlEqualLuid(L1, L2) (((L1)->LowPart == (L2)->LowPart) && \\\n                              ((L1)->HighPart  == (L2)->HighPart))\n\n//\n// BOOLEAN\n// RtlIsZeroLuid(\n//      PLUID L1\n//      );\n//\n#define RtlIsZeroLuid(L1) ((BOOLEAN) (((L1)->LowPart | (L1)->HighPart) == 0))\n\n\n#if !defined(MIDL_PASS)\n\nFORCEINLINE LUID\nNTAPI\nRtlConvertLongToLuid(\n    LONG Long\n    )\n{\n    LUID TempLuid;\n    LARGE_INTEGER TempLi;\n\n    TempLi.QuadPart = Long;\n    TempLuid.LowPart = TempLi.LowPart;\n    TempLuid.HighPart = TempLi.HighPart;\n    return(TempLuid);\n}\n\nFORCEINLINE\nLUID\nNTAPI\nRtlConvertUlongToLuid(\n    ULONG Ulong\n    )\n{\n    LUID TempLuid;\n\n    TempLuid.LowPart = Ulong;\n    TempLuid.HighPart = 0;\n    return(TempLuid);\n}\n#endif\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlMapGenericMask(\n    PACCESS_MASK AccessMask,\n    PGENERIC_MAPPING GenericMapping\n    );\n//\n//  SecurityDescriptor RTL routine definitions\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlCreateSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor,\n    ULONG Revision\n    );\n\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlValidSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\n\nNTSYSAPI\nULONG\nNTAPI\nRtlLengthSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlValidRelativeSecurityDescriptor (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,\n    IN ULONG SecurityDescriptorLength,\n    IN SECURITY_INFORMATION RequiredInformation\n    );\n\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlSetDaclSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor,\n    BOOLEAN DaclPresent,\n    PACL Dacl,\n    BOOLEAN DaclDefaulted\n    );\n\n\n//\n// Range list package\n//\n\ntypedef struct _RTL_RANGE {\n\n    //\n    // The start of the range\n    //\n    ULONGLONG Start;    // Read only\n\n    //\n    // The end of the range\n    //\n    ULONGLONG End;      // Read only\n\n    //\n    // Data the user passed in when they created the range\n    //\n    PVOID UserData;     // Read/Write\n\n    //\n    // The owner of the range\n    //\n    PVOID Owner;        // Read/Write\n\n    //\n    // User defined flags the user specified when they created the range\n    //\n    UCHAR Attributes;    // Read/Write\n\n    //\n    // Flags (RTL_RANGE_*)\n    //\n    UCHAR Flags;       // Read only\n\n} RTL_RANGE, *PRTL_RANGE;\n\n\n#define RTL_RANGE_SHARED    0x01\n#define RTL_RANGE_CONFLICT  0x02\n\ntypedef struct _RTL_RANGE_LIST {\n\n    //\n    // The list of ranges\n    //\n    LIST_ENTRY ListHead;\n\n    //\n    // These always come in useful\n    //\n    ULONG Flags;        // use RANGE_LIST_FLAG_*\n\n    //\n    // The number of entries in the list\n    //\n    ULONG Count;\n\n    //\n    // Every time an add/delete operation is performed on the list this is\n    // incremented.  It is checked during iteration to ensure that the list\n    // hasn't changed between GetFirst/GetNext or GetNext/GetNext calls\n    //\n    ULONG Stamp;\n\n} RTL_RANGE_LIST, *PRTL_RANGE_LIST;\n\ntypedef struct _RANGE_LIST_ITERATOR {\n\n    PLIST_ENTRY RangeListHead;\n    PLIST_ENTRY MergedHead;\n    PVOID Current;\n    ULONG Stamp;\n\n} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitializeRangeList(\n    IN OUT PRTL_RANGE_LIST RangeList\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFreeRangeList(\n    IN PRTL_RANGE_LIST RangeList\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlCopyRangeList(\n    OUT PRTL_RANGE_LIST CopyRangeList,\n    IN PRTL_RANGE_LIST RangeList\n    );\n\n#define RTL_RANGE_LIST_ADD_IF_CONFLICT      0x00000001\n#define RTL_RANGE_LIST_ADD_SHARED           0x00000002\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAddRange(\n    IN OUT PRTL_RANGE_LIST RangeList,\n    IN ULONGLONG Start,\n    IN ULONGLONG End,\n    IN UCHAR Attributes,\n    IN ULONG Flags,\n    IN PVOID UserData,  OPTIONAL\n    IN PVOID Owner      OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlDeleteRange(\n    IN OUT PRTL_RANGE_LIST RangeList,\n    IN ULONGLONG Start,\n    IN ULONGLONG End,\n    IN PVOID Owner\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlDeleteOwnersRanges(\n    IN OUT PRTL_RANGE_LIST RangeList,\n    IN PVOID Owner\n    );\n\n#define RTL_RANGE_LIST_SHARED_OK           0x00000001\n#define RTL_RANGE_LIST_NULL_CONFLICT_OK    0x00000002\n\ntypedef\nBOOLEAN\n(*PRTL_CONFLICT_RANGE_CALLBACK) (\n    IN PVOID Context,\n    IN PRTL_RANGE Range\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlFindRange(\n    IN PRTL_RANGE_LIST RangeList,\n    IN ULONGLONG Minimum,\n    IN ULONGLONG Maximum,\n    IN ULONG Length,\n    IN ULONG Alignment,\n    IN ULONG Flags,\n    IN UCHAR AttributeAvailableMask,\n    IN PVOID Context OPTIONAL,\n    IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,\n    OUT PULONGLONG Start\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlIsRangeAvailable(\n    IN PRTL_RANGE_LIST RangeList,\n    IN ULONGLONG Start,\n    IN ULONGLONG End,\n    IN ULONG Flags,\n    IN UCHAR AttributeAvailableMask,\n    IN PVOID Context OPTIONAL,\n    IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,\n    OUT PBOOLEAN Available\n    );\n\n#define FOR_ALL_RANGES(RangeList, Iterator, Current)            \\\n    for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \\\n         (Current) != NULL;                                     \\\n         RtlGetNextRange((Iterator), &(Current), TRUE)          \\\n         )\n\n#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current)  \\\n    for (RtlGetLastRange((RangeList), (Iterator), &(Current));  \\\n         (Current) != NULL;                                     \\\n         RtlGetNextRange((Iterator), &(Current), FALSE)         \\\n         )\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlGetFirstRange(\n    IN PRTL_RANGE_LIST RangeList,\n    OUT PRTL_RANGE_LIST_ITERATOR Iterator,\n    OUT PRTL_RANGE *Range\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlGetLastRange(\n    IN PRTL_RANGE_LIST RangeList,\n    OUT PRTL_RANGE_LIST_ITERATOR Iterator,\n    OUT PRTL_RANGE *Range\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlGetNextRange(\n    IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,\n    OUT PRTL_RANGE *Range,\n    IN BOOLEAN MoveForwards\n    );\n\n#define RTL_RANGE_LIST_MERGE_IF_CONFLICT    RTL_RANGE_LIST_ADD_IF_CONFLICT\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlMergeRangeLists(\n    OUT PRTL_RANGE_LIST MergedRangeList,\n    IN PRTL_RANGE_LIST RangeList1,\n    IN PRTL_RANGE_LIST RangeList2,\n    IN ULONG Flags\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlInvertRangeList(\n    OUT PRTL_RANGE_LIST InvertedRangeList,\n    IN PRTL_RANGE_LIST RangeList\n    );\n\n// end_nthal\n\n// begin_wdm\n\n//\n// Byte swap routines.  These are used to convert from little-endian to\n// big-endian and vice-versa.\n//\n\n#if (defined(_M_IX86) && (_MSC_FULL_VER > 13009037)) || ((defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_FULL_VER > 13009175))\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nunsigned short __cdecl _byteswap_ushort(unsigned short);\nunsigned long  __cdecl _byteswap_ulong (unsigned long);\nunsigned __int64 __cdecl _byteswap_uint64(unsigned __int64);\n#ifdef __cplusplus\n}\n#endif\n#pragma intrinsic(_byteswap_ushort)\n#pragma intrinsic(_byteswap_ulong)\n#pragma intrinsic(_byteswap_uint64)\n\n#define RtlUshortByteSwap(_x)    _byteswap_ushort((USHORT)(_x))\n#define RtlUlongByteSwap(_x)     _byteswap_ulong((_x))\n#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))\n#else\nUSHORT\nFASTCALL\nRtlUshortByteSwap(\n    IN USHORT Source\n    );\n\nULONG\nFASTCALL\nRtlUlongByteSwap(\n    IN ULONG Source\n    );\n\nULONGLONG\nFASTCALL\nRtlUlonglongByteSwap(\n    IN ULONGLONG Source\n    );\n#endif\n\n// end_wdm\n\n// begin_ntifs\n\n//\n// Routine for converting from a volume device object to a DOS name.\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlVolumeDeviceToDosName(\n    IN  PVOID           VolumeDeviceObject,\n    OUT PUNICODE_STRING DosName\n    );\n\ntypedef struct _OSVERSIONINFOA {\n    ULONG dwOSVersionInfoSize;\n    ULONG dwMajorVersion;\n    ULONG dwMinorVersion;\n    ULONG dwBuildNumber;\n    ULONG dwPlatformId;\n    CHAR   szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;\n\ntypedef struct _OSVERSIONINFOW {\n    ULONG dwOSVersionInfoSize;\n    ULONG dwMajorVersion;\n    ULONG dwMinorVersion;\n    ULONG dwBuildNumber;\n    ULONG dwPlatformId;\n    WCHAR  szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;\n#ifdef UNICODE\ntypedef OSVERSIONINFOW OSVERSIONINFO;\ntypedef POSVERSIONINFOW POSVERSIONINFO;\ntypedef LPOSVERSIONINFOW LPOSVERSIONINFO;\n#else\ntypedef OSVERSIONINFOA OSVERSIONINFO;\ntypedef POSVERSIONINFOA POSVERSIONINFO;\ntypedef LPOSVERSIONINFOA LPOSVERSIONINFO;\n#endif // UNICODE\n\ntypedef struct _OSVERSIONINFOEXA {\n    ULONG dwOSVersionInfoSize;\n    ULONG dwMajorVersion;\n    ULONG dwMinorVersion;\n    ULONG dwBuildNumber;\n    ULONG dwPlatformId;\n    CHAR   szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n    USHORT wServicePackMajor;\n    USHORT wServicePackMinor;\n    USHORT wSuiteMask;\n    UCHAR wProductType;\n    UCHAR wReserved;\n} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;\ntypedef struct _OSVERSIONINFOEXW {\n    ULONG dwOSVersionInfoSize;\n    ULONG dwMajorVersion;\n    ULONG dwMinorVersion;\n    ULONG dwBuildNumber;\n    ULONG dwPlatformId;\n    WCHAR  szCSDVersion[ 128 ];     // Maintenance string for PSS usage\n    USHORT wServicePackMajor;\n    USHORT wServicePackMinor;\n    USHORT wSuiteMask;\n    UCHAR wProductType;\n    UCHAR wReserved;\n} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;\n#ifdef UNICODE\ntypedef OSVERSIONINFOEXW OSVERSIONINFOEX;\ntypedef POSVERSIONINFOEXW POSVERSIONINFOEX;\ntypedef LPOSVERSIONINFOEXW LPOSVERSIONINFOEX;\n#else\ntypedef OSVERSIONINFOEXA OSVERSIONINFOEX;\ntypedef POSVERSIONINFOEXA POSVERSIONINFOEX;\ntypedef LPOSVERSIONINFOEXA LPOSVERSIONINFOEX;\n#endif // UNICODE\n\n//\n// RtlVerifyVersionInfo() conditions\n//\n\n#define VER_EQUAL                       1\n#define VER_GREATER                     2\n#define VER_GREATER_EQUAL               3\n#define VER_LESS                        4\n#define VER_LESS_EQUAL                  5\n#define VER_AND                         6\n#define VER_OR                          7\n\n#define VER_CONDITION_MASK              7\n#define VER_NUM_BITS_PER_CONDITION_MASK 3\n\n//\n// RtlVerifyVersionInfo() type mask bits\n//\n\n#define VER_MINORVERSION                0x0000001\n#define VER_MAJORVERSION                0x0000002\n#define VER_BUILDNUMBER                 0x0000004\n#define VER_PLATFORMID                  0x0000008\n#define VER_SERVICEPACKMINOR            0x0000010\n#define VER_SERVICEPACKMAJOR            0x0000020\n#define VER_SUITENAME                   0x0000040\n#define VER_PRODUCT_TYPE                0x0000080\n\n//\n// RtlVerifyVersionInfo() os product type values\n//\n\n#define VER_NT_WORKSTATION              0x0000001\n#define VER_NT_DOMAIN_CONTROLLER        0x0000002\n#define VER_NT_SERVER                   0x0000003\n\n//\n// dwPlatformId defines:\n//\n\n#define VER_PLATFORM_WIN32s             0\n#define VER_PLATFORM_WIN32_WINDOWS      1\n#define VER_PLATFORM_WIN32_NT           2\n\n\n//\n//\n// VerifyVersionInfo() macro to set the condition mask\n//\n// For documentation sakes here's the old version of the macro that got\n// changed to call an API\n// #define VER_SET_CONDITION(_m_,_t_,_c_)  _m_=(_m_|(_c_<<(1<<_t_)))\n//\n\n#define VER_SET_CONDITION(_m_,_t_,_c_)  \\\n        ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_)))\n\nULONGLONG\nNTAPI\nVerSetConditionMask(\n        IN  ULONGLONG   ConditionMask,\n        IN  ULONG   TypeMask,\n        IN  UCHAR   Condition\n        );\n//\n// end_winnt\n//\n\nNTSYSAPI\nNTSTATUS\nRtlGetVersion(\n    OUT PRTL_OSVERSIONINFOW lpVersionInformation\n    );\n\nNTSYSAPI\nNTSTATUS\nRtlVerifyVersionInfo(\n    IN PRTL_OSVERSIONINFOEXW VersionInfo,\n    IN ULONG TypeMask,\n    IN ULONGLONG  ConditionMask\n    );\n\n//\n\n//\n// Interlocked bit manipulation interfaces\n//\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedSetBits (\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    );\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedClearBits (\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    );\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedSetClearBits (\n    IN OUT PULONG Flags,\n    IN ULONG sFlag,\n    IN ULONG cFlag\n    );\n\n\n//\n// These are for when the compiler has fixes in for these intrinsics\n//\n#if (_MSC_FULL_VER > 13009037) || !defined (_M_IX86)\n\n#define RtlInterlockedSetBits(Flags, Flag) \\\n    InterlockedOr ((PLONG) (Flags), Flag)\n\n#define RtlInterlockedAndBits(Flags, Flag) \\\n    InterlockedAnd ((PLONG) (Flags), Flag)\n\n#define RtlInterlockedClearBits(Flags, Flag) \\\n    RtlInterlockedAndBits (Flags, ~(Flag))\n\n#define RtlInterlockedXorBits(Flags, Flag) \\\n    InterlockedXor (Flags, Flag)\n\n\n#define RtlInterlockedSetBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedSetBits (Flags, Flag)\n\n#define RtlInterlockedAndBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedAndBits (Flags, Flag)\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    RtlInterlockedAndBitsDiscardReturn (Flags, ~(Flag))\n\n#else\n\n#if defined (_X86_) && !defined(MIDL_PASS)\n\nFORCEINLINE\nVOID\nRtlInterlockedSetBitsDiscardReturn(\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    )\n{\n    __asm {\n        mov ecx, Flags\n        mov eax, Flag\n#if defined (NT_UP)\n        or [ecx], eax\n#else\n        lock or [ecx], eax\n#endif\n    }\n}\n\nFORCEINLINE\nVOID\nRtlInterlockedAndBitsDiscardReturn(\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    )\n{\n    __asm {\n        mov ecx, Flags\n        mov eax, Flag\n#if defined (NT_UP)\n        and [ecx], eax\n#else\n        lock and [ecx], eax\n#endif\n    }\n}\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedAndBitsDiscardReturn ((Flags), ~(Flag))\n\n#else\n\n#define RtlInterlockedSetBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedSetBits ((Flags), (Flag))\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedClearBits ((Flags), (Flag))\n\n#endif  /* #if defined(_X86_) && !defined(MIDL_PASS) */\n\n#endif\n\n//\n// Component name filter id enumeration and levels.\n//\n\n#define DPFLTR_ERROR_LEVEL 0\n#define DPFLTR_WARNING_LEVEL 1\n#define DPFLTR_TRACE_LEVEL 2\n#define DPFLTR_INFO_LEVEL 3\n#define DPFLTR_MASK 0x80000000\n\ntypedef enum _DPFLTR_TYPE {\n    DPFLTR_SYSTEM_ID = 0,\n    DPFLTR_SMSS_ID = 1,\n    DPFLTR_SETUP_ID = 2,\n    DPFLTR_NTFS_ID = 3,\n    DPFLTR_FSTUB_ID = 4,\n    DPFLTR_CRASHDUMP_ID = 5,\n    DPFLTR_CDAUDIO_ID = 6,\n    DPFLTR_CDROM_ID = 7,\n    DPFLTR_CLASSPNP_ID = 8,\n    DPFLTR_DISK_ID = 9,\n    DPFLTR_REDBOOK_ID = 10,\n    DPFLTR_STORPROP_ID = 11,\n    DPFLTR_SCSIPORT_ID = 12,\n    DPFLTR_SCSIMINIPORT_ID = 13,\n    DPFLTR_CONFIG_ID = 14,\n    DPFLTR_I8042PRT_ID = 15,\n    DPFLTR_SERMOUSE_ID = 16,\n    DPFLTR_LSERMOUS_ID = 17,\n    DPFLTR_KBDHID_ID = 18,\n    DPFLTR_MOUHID_ID = 19,\n    DPFLTR_KBDCLASS_ID = 20,\n    DPFLTR_MOUCLASS_ID = 21,\n    DPFLTR_TWOTRACK_ID = 22,\n    DPFLTR_WMILIB_ID = 23,\n    DPFLTR_ACPI_ID = 24,\n    DPFLTR_AMLI_ID = 25,\n    DPFLTR_HALIA64_ID = 26,\n    DPFLTR_VIDEO_ID = 27,\n    DPFLTR_SVCHOST_ID = 28,\n    DPFLTR_VIDEOPRT_ID = 29,\n    DPFLTR_TCPIP_ID = 30,\n    DPFLTR_DMSYNTH_ID = 31,\n    DPFLTR_NTOSPNP_ID = 32,\n    DPFLTR_FASTFAT_ID = 33,\n    DPFLTR_SAMSS_ID = 34,\n    DPFLTR_PNPMGR_ID = 35,\n    DPFLTR_NETAPI_ID = 36,\n    DPFLTR_SCSERVER_ID = 37,\n    DPFLTR_SCCLIENT_ID = 38,\n    DPFLTR_SERIAL_ID = 39,\n    DPFLTR_SERENUM_ID = 40,\n    DPFLTR_UHCD_ID = 41,\n    DPFLTR_BOOTOK_ID = 42,\n    DPFLTR_BOOTVRFY_ID = 43,\n    DPFLTR_RPCPROXY_ID = 44,\n    DPFLTR_AUTOCHK_ID = 45,\n    DPFLTR_DCOMSS_ID = 46,\n    DPFLTR_UNIMODEM_ID = 47,\n    DPFLTR_SIS_ID = 48,\n    DPFLTR_FLTMGR_ID = 49,\n    DPFLTR_WMICORE_ID = 50,\n    DPFLTR_BURNENG_ID = 51,\n    DPFLTR_IMAPI_ID = 52,\n    DPFLTR_SXS_ID = 53,\n    DPFLTR_FUSION_ID = 54,\n    DPFLTR_IDLETASK_ID = 55,\n    DPFLTR_SOFTPCI_ID = 56,\n    DPFLTR_TAPE_ID = 57,\n    DPFLTR_MCHGR_ID = 58,\n    DPFLTR_IDEP_ID = 59,\n    DPFLTR_PCIIDE_ID = 60,\n    DPFLTR_FLOPPY_ID = 61,\n    DPFLTR_FDC_ID = 62,\n    DPFLTR_TERMSRV_ID = 63,\n    DPFLTR_W32TIME_ID = 64,\n    DPFLTR_PREFETCHER_ID = 65,\n    DPFLTR_RSFILTER_ID = 66,\n    DPFLTR_FCPORT_ID = 67,\n    DPFLTR_PCI_ID = 68,\n    DPFLTR_DMIO_ID = 69,\n    DPFLTR_DMCONFIG_ID = 70,\n    DPFLTR_DMADMIN_ID = 71,\n    DPFLTR_WSOCKTRANSPORT_ID = 72,\n    DPFLTR_VSS_ID = 73,\n    DPFLTR_PNPMEM_ID = 74,\n    DPFLTR_PROCESSOR_ID = 75,\n    DPFLTR_DMSERVER_ID = 76,\n    DPFLTR_SR_ID = 77,\n    DPFLTR_INFINIBAND_ID = 78,\n    DPFLTR_IHVDRIVER_ID = 79,\n    DPFLTR_IHVVIDEO_ID = 80,\n    DPFLTR_IHVAUDIO_ID = 81,\n    DPFLTR_IHVNETWORK_ID = 82,\n    DPFLTR_IHVSTREAMING_ID = 83,\n    DPFLTR_IHVBUS_ID = 84,\n    DPFLTR_HPS_ID = 85,\n    DPFLTR_RTLTHREADPOOL_ID = 86,\n    DPFLTR_LDR_ID = 87,\n    DPFLTR_TCPIP6_ID = 88,\n    DPFLTR_ISAPNP_ID = 89,\n    DPFLTR_SHPC_ID = 90,\n    DPFLTR_STORPORT_ID = 91,\n    DPFLTR_STORMINIPORT_ID = 92,\n    DPFLTR_PRINTSPOOLER_ID = 93,\n    DPFLTR_ENDOFTABLE_ID\n} DPFLTR_TYPE;\n\n//\n// Define the various device type values.  Note that values used by Microsoft\n// Corporation are in the range 0-32767, and 32768-65535 are reserved for use\n// by customers.\n//\n\n#define DEVICE_TYPE ULONG\n\n#define FILE_DEVICE_BEEP                0x00000001\n#define FILE_DEVICE_CD_ROM              0x00000002\n#define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003\n#define FILE_DEVICE_CONTROLLER          0x00000004\n#define FILE_DEVICE_DATALINK            0x00000005\n#define FILE_DEVICE_DFS                 0x00000006\n#define FILE_DEVICE_DISK                0x00000007\n#define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008\n#define FILE_DEVICE_FILE_SYSTEM         0x00000009\n#define FILE_DEVICE_INPORT_PORT         0x0000000a\n#define FILE_DEVICE_KEYBOARD            0x0000000b\n#define FILE_DEVICE_MAILSLOT            0x0000000c\n#define FILE_DEVICE_MIDI_IN             0x0000000d\n#define FILE_DEVICE_MIDI_OUT            0x0000000e\n#define FILE_DEVICE_MOUSE               0x0000000f\n#define FILE_DEVICE_MULTI_UNC_PROVIDER  0x00000010\n#define FILE_DEVICE_NAMED_PIPE          0x00000011\n#define FILE_DEVICE_NETWORK             0x00000012\n#define FILE_DEVICE_NETWORK_BROWSER     0x00000013\n#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014\n#define FILE_DEVICE_NULL                0x00000015\n#define FILE_DEVICE_PARALLEL_PORT       0x00000016\n#define FILE_DEVICE_PHYSICAL_NETCARD    0x00000017\n#define FILE_DEVICE_PRINTER             0x00000018\n#define FILE_DEVICE_SCANNER             0x00000019\n#define FILE_DEVICE_SERIAL_MOUSE_PORT   0x0000001a\n#define FILE_DEVICE_SERIAL_PORT         0x0000001b\n#define FILE_DEVICE_SCREEN              0x0000001c\n#define FILE_DEVICE_SOUND               0x0000001d\n#define FILE_DEVICE_STREAMS             0x0000001e\n#define FILE_DEVICE_TAPE                0x0000001f\n#define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020\n#define FILE_DEVICE_TRANSPORT           0x00000021\n#define FILE_DEVICE_UNKNOWN             0x00000022\n#define FILE_DEVICE_VIDEO               0x00000023\n#define FILE_DEVICE_VIRTUAL_DISK        0x00000024\n#define FILE_DEVICE_WAVE_IN             0x00000025\n#define FILE_DEVICE_WAVE_OUT            0x00000026\n#define FILE_DEVICE_8042_PORT           0x00000027\n#define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028\n#define FILE_DEVICE_BATTERY             0x00000029\n#define FILE_DEVICE_BUS_EXTENDER        0x0000002a\n#define FILE_DEVICE_MODEM               0x0000002b\n#define FILE_DEVICE_VDM                 0x0000002c\n#define FILE_DEVICE_MASS_STORAGE        0x0000002d\n#define FILE_DEVICE_SMB                 0x0000002e\n#define FILE_DEVICE_KS                  0x0000002f\n#define FILE_DEVICE_CHANGER             0x00000030\n#define FILE_DEVICE_SMARTCARD           0x00000031\n#define FILE_DEVICE_ACPI                0x00000032\n#define FILE_DEVICE_DVD                 0x00000033\n#define FILE_DEVICE_FULLSCREEN_VIDEO    0x00000034\n#define FILE_DEVICE_DFS_FILE_SYSTEM     0x00000035\n#define FILE_DEVICE_DFS_VOLUME          0x00000036\n#define FILE_DEVICE_SERENUM             0x00000037\n#define FILE_DEVICE_TERMSRV             0x00000038\n#define FILE_DEVICE_KSEC                0x00000039\n#define FILE_DEVICE_FIPS\t\t0x0000003A\n\n//\n// Macro definition for defining IOCTL and FSCTL function control codes.  Note\n// that function codes 0-2047 are reserved for Microsoft Corporation, and\n// 2048-4095 are reserved for customers.\n//\n\n#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \\\n    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \\\n)\n\n//\n// Macro to extract device type out of the device io control code\n//\n#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode)     (((ULONG)(ctrlCode & 0xffff0000)) >> 16)\n\n//\n// Define the method codes for how buffers are passed for I/O and FS controls\n//\n\n#define METHOD_BUFFERED                 0\n#define METHOD_IN_DIRECT                1\n#define METHOD_OUT_DIRECT               2\n#define METHOD_NEITHER                  3\n\n//\n// Define the access check value for any access\n//\n//\n// The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in\n// ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these\n// constants *MUST* always be in sync.\n//\n//\n// FILE_SPECIAL_ACCESS is checked by the NT I/O system the same as FILE_ANY_ACCESS.\n// The file systems, however, may add additional access checks for I/O and FS controls\n// that use this value.\n//\n\n\n#define FILE_ANY_ACCESS                 0\n#define FILE_SPECIAL_ACCESS    (FILE_ANY_ACCESS)\n#define FILE_READ_ACCESS          ( 0x0001 )    // file & pipe\n#define FILE_WRITE_ACCESS         ( 0x0002 )    // file & pipe\n\n// begin_winnt\n\n//\n// Define access rights to files and directories\n//\n\n//\n// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in\n// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these\n// constants *MUST* always be in sync.\n// The values are redefined in devioctl.h because they must be available to\n// both DOS and NT.\n//\n\n#define FILE_READ_DATA            ( 0x0001 )    // file & pipe\n#define FILE_LIST_DIRECTORY       ( 0x0001 )    // directory\n\n#define FILE_WRITE_DATA           ( 0x0002 )    // file & pipe\n#define FILE_ADD_FILE             ( 0x0002 )    // directory\n\n#define FILE_APPEND_DATA          ( 0x0004 )    // file\n#define FILE_ADD_SUBDIRECTORY     ( 0x0004 )    // directory\n#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 )    // named pipe\n\n\n#define FILE_READ_EA              ( 0x0008 )    // file & directory\n\n#define FILE_WRITE_EA             ( 0x0010 )    // file & directory\n\n#define FILE_EXECUTE              ( 0x0020 )    // file\n#define FILE_TRAVERSE             ( 0x0020 )    // directory\n\n#define FILE_DELETE_CHILD         ( 0x0040 )    // directory\n\n#define FILE_READ_ATTRIBUTES      ( 0x0080 )    // all\n\n#define FILE_WRITE_ATTRIBUTES     ( 0x0100 )    // all\n\n#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)\n\n#define FILE_GENERIC_READ         (STANDARD_RIGHTS_READ     |\\\n                                   FILE_READ_DATA           |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_READ_EA             |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_WRITE        (STANDARD_RIGHTS_WRITE    |\\\n                                   FILE_WRITE_DATA          |\\\n                                   FILE_WRITE_ATTRIBUTES    |\\\n                                   FILE_WRITE_EA            |\\\n                                   FILE_APPEND_DATA         |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_EXECUTE      (STANDARD_RIGHTS_EXECUTE  |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_EXECUTE             |\\\n                                   SYNCHRONIZE)\n\n// end_winnt\n\n\n//\n// Define share access rights to files and directories\n//\n\n#define FILE_SHARE_READ                 0x00000001  // winnt\n#define FILE_SHARE_WRITE                0x00000002  // winnt\n#define FILE_SHARE_DELETE               0x00000004  // winnt\n#define FILE_SHARE_VALID_FLAGS          0x00000007\n\n//\n// Define the file attributes values\n//\n// Note:  0x00000008 is reserved for use for the old DOS VOLID (volume ID)\n//        and is therefore not considered valid in NT.\n//\n// Note:  0x00000010 is reserved for use for the old DOS SUBDIRECTORY flag\n//        and is therefore not considered valid in NT.  This flag has\n//        been disassociated with file attributes since the other flags are\n//        protected with READ_ and WRITE_ATTRIBUTES access to the file.\n//\n// Note:  Note also that the order of these flags is set to allow both the\n//        FAT and the Pinball File Systems to directly set the attributes\n//        flags in attributes words without having to pick each flag out\n//        individually.  The order of these flags should not be changed!\n//\n\n#define FILE_ATTRIBUTE_READONLY             0x00000001  // winnt\n#define FILE_ATTRIBUTE_HIDDEN               0x00000002  // winnt\n#define FILE_ATTRIBUTE_SYSTEM               0x00000004  // winnt\n//OLD DOS VOLID                             0x00000008\n\n#define FILE_ATTRIBUTE_DIRECTORY            0x00000010  // winnt\n#define FILE_ATTRIBUTE_ARCHIVE              0x00000020  // winnt\n#define FILE_ATTRIBUTE_DEVICE               0x00000040  // winnt\n#define FILE_ATTRIBUTE_NORMAL               0x00000080  // winnt\n\n#define FILE_ATTRIBUTE_TEMPORARY            0x00000100  // winnt\n#define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  // winnt\n#define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  // winnt\n#define FILE_ATTRIBUTE_COMPRESSED           0x00000800  // winnt\n\n#define FILE_ATTRIBUTE_OFFLINE              0x00001000  // winnt\n#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  // winnt\n#define FILE_ATTRIBUTE_ENCRYPTED            0x00004000  // winnt\n\n#define FILE_ATTRIBUTE_VALID_FLAGS          0x00007fb7\n#define FILE_ATTRIBUTE_VALID_SET_FLAGS      0x000031a7\n\n//\n// Define the create disposition values\n//\n\n#define FILE_SUPERSEDE                  0x00000000\n#define FILE_OPEN                       0x00000001\n#define FILE_CREATE                     0x00000002\n#define FILE_OPEN_IF                    0x00000003\n#define FILE_OVERWRITE                  0x00000004\n#define FILE_OVERWRITE_IF               0x00000005\n#define FILE_MAXIMUM_DISPOSITION        0x00000005\n\n//\n// Define the create/open option flags\n//\n\n#define FILE_DIRECTORY_FILE                     0x00000001\n#define FILE_WRITE_THROUGH                      0x00000002\n#define FILE_SEQUENTIAL_ONLY                    0x00000004\n#define FILE_NO_INTERMEDIATE_BUFFERING          0x00000008\n\n#define FILE_SYNCHRONOUS_IO_ALERT               0x00000010\n#define FILE_SYNCHRONOUS_IO_NONALERT            0x00000020\n#define FILE_NON_DIRECTORY_FILE                 0x00000040\n#define FILE_CREATE_TREE_CONNECTION             0x00000080\n\n#define FILE_COMPLETE_IF_OPLOCKED               0x00000100\n#define FILE_NO_EA_KNOWLEDGE                    0x00000200\n#define FILE_OPEN_FOR_RECOVERY                  0x00000400\n#define FILE_RANDOM_ACCESS                      0x00000800\n\n#define FILE_DELETE_ON_CLOSE                    0x00001000\n#define FILE_OPEN_BY_FILE_ID                    0x00002000\n#define FILE_OPEN_FOR_BACKUP_INTENT             0x00004000\n#define FILE_NO_COMPRESSION                     0x00008000\n\n#define FILE_RESERVE_OPFILTER                   0x00100000\n#define FILE_OPEN_REPARSE_POINT                 0x00200000\n#define FILE_OPEN_NO_RECALL                     0x00400000\n#define FILE_OPEN_FOR_FREE_SPACE_QUERY          0x00800000\n\n#define FILE_COPY_STRUCTURED_STORAGE            0x00000041\n#define FILE_STRUCTURED_STORAGE                 0x00000441\n\n#define FILE_VALID_OPTION_FLAGS                 0x00ffffff\n#define FILE_VALID_PIPE_OPTION_FLAGS            0x00000032\n#define FILE_VALID_MAILSLOT_OPTION_FLAGS        0x00000032\n#define FILE_VALID_SET_FLAGS                    0x00000036\n\n//\n// Define the I/O status information return values for NtCreateFile/NtOpenFile\n//\n\n#define FILE_SUPERSEDED                 0x00000000\n#define FILE_OPENED                     0x00000001\n#define FILE_CREATED                    0x00000002\n#define FILE_OVERWRITTEN                0x00000003\n#define FILE_EXISTS                     0x00000004\n#define FILE_DOES_NOT_EXIST             0x00000005\n\n//\n// Define special ByteOffset parameters for read and write operations\n//\n\n#define FILE_WRITE_TO_END_OF_FILE       0xffffffff\n#define FILE_USE_FILE_POINTER_POSITION  0xfffffffe\n\n//\n// Define alignment requirement values\n//\n\n#define FILE_BYTE_ALIGNMENT             0x00000000\n#define FILE_WORD_ALIGNMENT             0x00000001\n#define FILE_LONG_ALIGNMENT             0x00000003\n#define FILE_QUAD_ALIGNMENT             0x00000007\n#define FILE_OCTA_ALIGNMENT             0x0000000f\n#define FILE_32_BYTE_ALIGNMENT          0x0000001f\n#define FILE_64_BYTE_ALIGNMENT          0x0000003f\n#define FILE_128_BYTE_ALIGNMENT         0x0000007f\n#define FILE_256_BYTE_ALIGNMENT         0x000000ff\n#define FILE_512_BYTE_ALIGNMENT         0x000001ff\n\n//\n// Define the maximum length of a filename string\n//\n\n#define MAXIMUM_FILENAME_LENGTH         256\n\n//\n// Define the various device characteristics flags\n//\n\n#define FILE_REMOVABLE_MEDIA            0x00000001\n#define FILE_READ_ONLY_DEVICE           0x00000002\n#define FILE_FLOPPY_DISKETTE            0x00000004\n#define FILE_WRITE_ONCE_MEDIA           0x00000008\n#define FILE_REMOTE_DEVICE              0x00000010\n#define FILE_DEVICE_IS_MOUNTED          0x00000020\n#define FILE_VIRTUAL_VOLUME             0x00000040\n#define FILE_AUTOGENERATED_DEVICE_NAME  0x00000080\n#define FILE_DEVICE_SECURE_OPEN         0x00000100\n#define FILE_CHARACTERISTIC_PNP_DEVICE  0x00000800\n\n// end_wdm\n\n//\n// The FILE_EXPECT flags will only exist for WinXP. After that they will be\n// ignored and an IRP will be sent in their place.\n//\n#define FILE_CHARACTERISTICS_EXPECT_ORDERLY_REMOVAL     0x00000200\n#define FILE_CHARACTERISTICS_EXPECT_SURPRISE_REMOVAL    0x00000300\n#define FILE_CHARACTERISTICS_REMOVAL_POLICY_MASK        0x00000300\n\n//\n// flags specified here will be propagated up and down a device stack\n// after FDO and all filter devices are added, but before the device\n// stack is started\n//\n\n#define FILE_CHARACTERISTICS_PROPAGATED (   FILE_REMOVABLE_MEDIA   | \\\n                                            FILE_READ_ONLY_DEVICE  | \\\n                                            FILE_FLOPPY_DISKETTE   | \\\n                                            FILE_WRITE_ONCE_MEDIA  | \\\n                                            FILE_DEVICE_SECURE_OPEN  )\n\n//\n// Define the base asynchronous I/O argument types\n//\n\ntypedef struct _IO_STATUS_BLOCK {\n    union {\n        NTSTATUS Status;\n        PVOID Pointer;\n    };\n\n    ULONG_PTR Information;\n} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;\n\n#if defined(_WIN64)\ntypedef struct _IO_STATUS_BLOCK32 {\n    NTSTATUS Status;\n    ULONG Information;\n} IO_STATUS_BLOCK32, *PIO_STATUS_BLOCK32;\n#endif\n\n\n//\n// Define an Asynchronous Procedure Call from I/O viewpoint\n//\n\ntypedef\nVOID\n(NTAPI *PIO_APC_ROUTINE) (\n    IN PVOID ApcContext,\n    IN PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG Reserved\n    );\n#define PIO_APC_ROUTINE_DEFINED\n\n//\n// Define the file information class values\n//\n// WARNING:  The order of the following values are assumed by the I/O system.\n//           Any changes made here should be reflected there as well.\n//\n\ntypedef enum _FILE_INFORMATION_CLASS {\n// end_wdm\n    FileDirectoryInformation         = 1,\n    FileFullDirectoryInformation,   // 2\n    FileBothDirectoryInformation,   // 3\n    FileBasicInformation,           // 4  wdm\n    FileStandardInformation,        // 5  wdm\n    FileInternalInformation,        // 6\n    FileEaInformation,              // 7\n    FileAccessInformation,          // 8\n    FileNameInformation,            // 9\n    FileRenameInformation,          // 10\n    FileLinkInformation,            // 11\n    FileNamesInformation,           // 12\n    FileDispositionInformation,     // 13\n    FilePositionInformation,        // 14 wdm\n    FileFullEaInformation,          // 15\n    FileModeInformation,            // 16\n    FileAlignmentInformation,       // 17\n    FileAllInformation,             // 18\n    FileAllocationInformation,      // 19\n    FileEndOfFileInformation,       // 20 wdm\n    FileAlternateNameInformation,   // 21\n    FileStreamInformation,          // 22\n    FilePipeInformation,            // 23\n    FilePipeLocalInformation,       // 24\n    FilePipeRemoteInformation,      // 25\n    FileMailslotQueryInformation,   // 26\n    FileMailslotSetInformation,     // 27\n    FileCompressionInformation,     // 28\n    FileObjectIdInformation,        // 29\n    FileCompletionInformation,      // 30\n    FileMoveClusterInformation,     // 31\n    FileQuotaInformation,           // 32\n    FileReparsePointInformation,    // 33\n    FileNetworkOpenInformation,     // 34\n    FileAttributeTagInformation,    // 35\n    FileTrackingInformation,        // 36\n    FileIdBothDirectoryInformation, // 37\n    FileIdFullDirectoryInformation, // 38\n    FileValidDataLengthInformation, // 39\n    FileShortNameInformation,       // 40\n    FileMaximumInformation\n// begin_wdm\n} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;\n\n//\n// Define the various structures which are returned on query operations\n//\n\ntypedef struct _FILE_BASIC_INFORMATION {                    \n    LARGE_INTEGER CreationTime;                             \n    LARGE_INTEGER LastAccessTime;                           \n    LARGE_INTEGER LastWriteTime;                            \n    LARGE_INTEGER ChangeTime;                               \n    ULONG FileAttributes;                                   \n} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;         \n                                                            \ntypedef struct _FILE_STANDARD_INFORMATION {                 \n    LARGE_INTEGER AllocationSize;                           \n    LARGE_INTEGER EndOfFile;                                \n    ULONG NumberOfLinks;                                    \n    BOOLEAN DeletePending;                                  \n    BOOLEAN Directory;                                      \n} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;   \n                                                            \ntypedef struct _FILE_POSITION_INFORMATION {                 \n    LARGE_INTEGER CurrentByteOffset;                        \n} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;   \n                                                            \ntypedef struct _FILE_ALIGNMENT_INFORMATION {                \n    ULONG AlignmentRequirement;                             \n} FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION; \n                                                            \ntypedef struct _FILE_NAME_INFORMATION {                     \n    ULONG FileNameLength;                                   \n    WCHAR FileName[1];                                      \n} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;           \n                                                            \ntypedef struct _FILE_NETWORK_OPEN_INFORMATION {                 \n    LARGE_INTEGER CreationTime;                                 \n    LARGE_INTEGER LastAccessTime;                               \n    LARGE_INTEGER LastWriteTime;                                \n    LARGE_INTEGER ChangeTime;                                   \n    LARGE_INTEGER AllocationSize;                               \n    LARGE_INTEGER EndOfFile;                                    \n    ULONG FileAttributes;                                       \n} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;   \n                                                                \ntypedef struct _FILE_ATTRIBUTE_TAG_INFORMATION {               \n    ULONG FileAttributes;                                       \n    ULONG ReparseTag;                                           \n} FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION;  \n                                                                \ntypedef struct _FILE_DISPOSITION_INFORMATION {                  \n    BOOLEAN DeleteFile;                                         \n} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION; \n                                                                \ntypedef struct _FILE_END_OF_FILE_INFORMATION {                  \n    LARGE_INTEGER EndOfFile;                                    \n} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION; \n                                                                \ntypedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {                                    \n    LARGE_INTEGER ValidDataLength;                                                      \n} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;             \n\ntypedef struct _FILE_FULL_EA_INFORMATION {\n    ULONG NextEntryOffset;\n    UCHAR Flags;\n    UCHAR EaNameLength;\n    USHORT EaValueLength;\n    CHAR EaName[1];\n} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;\n\n//\n// Define the file system information class values\n//\n// WARNING:  The order of the following values are assumed by the I/O system.\n//           Any changes made here should be reflected there as well.\n\ntypedef enum _FSINFOCLASS {\n    FileFsVolumeInformation       = 1,\n    FileFsLabelInformation,      // 2\n    FileFsSizeInformation,       // 3\n    FileFsDeviceInformation,     // 4\n    FileFsAttributeInformation,  // 5\n    FileFsControlInformation,    // 6\n    FileFsFullSizeInformation,   // 7\n    FileFsObjectIdInformation,   // 8\n    FileFsDriverPathInformation, // 9\n    FileFsMaximumInformation\n} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;\n\ntypedef struct _FILE_FS_DEVICE_INFORMATION {                    \n    DEVICE_TYPE DeviceType;                                     \n    ULONG Characteristics;                                      \n} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;     \n                                                                \n\n//\n// Define segement buffer structure for scatter/gather read/write.\n//\n\ntypedef union _FILE_SEGMENT_ELEMENT {\n    PVOID64 Buffer;\n    ULONGLONG Alignment;\n}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;\n\n//\n// Define the I/O bus interface types.\n//\n\ntypedef enum _INTERFACE_TYPE {\n    InterfaceTypeUndefined = -1,\n    Internal,\n    Isa,\n    Eisa,\n    MicroChannel,\n    TurboChannel,\n    PCIBus,\n    VMEBus,\n    NuBus,\n    PCMCIABus,\n    CBus,\n    MPIBus,\n    MPSABus,\n    ProcessorInternal,\n    InternalPowerBus,\n    PNPISABus,\n    PNPBus,\n    MaximumInterfaceType\n}INTERFACE_TYPE, *PINTERFACE_TYPE;\n\n//\n// Define the DMA transfer widths.\n//\n\ntypedef enum _DMA_WIDTH {\n    Width8Bits,\n    Width16Bits,\n    Width32Bits,\n    MaximumDmaWidth\n}DMA_WIDTH, *PDMA_WIDTH;\n\n//\n// Define DMA transfer speeds.\n//\n\ntypedef enum _DMA_SPEED {\n    Compatible,\n    TypeA,\n    TypeB,\n    TypeC,\n    TypeF,\n    MaximumDmaSpeed\n}DMA_SPEED, *PDMA_SPEED;\n\n//\n// Define Interface reference/dereference routines for\n//  Interfaces exported by IRP_MN_QUERY_INTERFACE\n//\n\ntypedef VOID (*PINTERFACE_REFERENCE)(PVOID Context);\ntypedef VOID (*PINTERFACE_DEREFERENCE)(PVOID Context);\n\n// end_wdm\n\n//\n// Define types of bus information.\n//\n\ntypedef enum _BUS_DATA_TYPE {\n    ConfigurationSpaceUndefined = -1,\n    Cmos,\n    EisaConfiguration,\n    Pos,\n    CbusConfiguration,\n    PCIConfiguration,\n    VMEConfiguration,\n    NuBusConfiguration,\n    PCMCIAConfiguration,\n    MPIConfiguration,\n    MPSAConfiguration,\n    PNPISAConfiguration,\n    SgiInternalConfiguration,\n    MaximumBusDataType\n} BUS_DATA_TYPE, *PBUS_DATA_TYPE;\n\n//\n// Define I/O Driver error log packet structure.  This structure is filled in\n// by the driver.\n//\n\ntypedef struct _IO_ERROR_LOG_PACKET {\n    UCHAR MajorFunctionCode;\n    UCHAR RetryCount;\n    USHORT DumpDataSize;\n    USHORT NumberOfStrings;\n    USHORT StringOffset;\n    USHORT EventCategory;\n    NTSTATUS ErrorCode;\n    ULONG UniqueErrorValue;\n    NTSTATUS FinalStatus;\n    ULONG SequenceNumber;\n    ULONG IoControlCode;\n    LARGE_INTEGER DeviceOffset;\n    ULONG DumpData[1];\n}IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;\n\n//\n// Define the I/O error log message.  This message is sent by the error log\n// thread over the lpc port.\n//\n\ntypedef struct _IO_ERROR_LOG_MESSAGE {\n    USHORT Type;\n    USHORT Size;\n    USHORT DriverNameLength;\n    LARGE_INTEGER TimeStamp;\n    ULONG DriverNameOffset;\n    IO_ERROR_LOG_PACKET EntryData;\n}IO_ERROR_LOG_MESSAGE, *PIO_ERROR_LOG_MESSAGE;\n\n//\n// Define the maximum message size that will be sent over the LPC to the\n// application reading the error log entries.\n//\n\n//\n// Regardless of LPC size restrictions, ERROR_LOG_MAXIMUM_SIZE must remain\n// a value that can fit in a UCHAR.\n//\n\n#define ERROR_LOG_LIMIT_SIZE (256-16)\n\n//\n// This limit, exclusive of IO_ERROR_LOG_MESSAGE_HEADER_LENGTH, also applies\n// to IO_ERROR_LOG_MESSAGE_LENGTH\n//\n\n#define IO_ERROR_LOG_MESSAGE_HEADER_LENGTH (sizeof(IO_ERROR_LOG_MESSAGE) -    \\\n                                            sizeof(IO_ERROR_LOG_PACKET) +     \\\n                                            (sizeof(WCHAR) * 40))\n\n#define ERROR_LOG_MESSAGE_LIMIT_SIZE                                          \\\n    (ERROR_LOG_LIMIT_SIZE + IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)\n\n//\n// IO_ERROR_LOG_MESSAGE_LENGTH is\n// min(PORT_MAXIMUM_MESSAGE_LENGTH, ERROR_LOG_MESSAGE_LIMIT_SIZE)\n//\n\n#define IO_ERROR_LOG_MESSAGE_LENGTH                                           \\\n    ((PORT_MAXIMUM_MESSAGE_LENGTH > ERROR_LOG_MESSAGE_LIMIT_SIZE) ?           \\\n        ERROR_LOG_MESSAGE_LIMIT_SIZE :                                        \\\n        PORT_MAXIMUM_MESSAGE_LENGTH)\n\n//\n// Define the maximum packet size a driver can allocate.\n//\n\n#define ERROR_LOG_MAXIMUM_SIZE (IO_ERROR_LOG_MESSAGE_LENGTH -                 \\\n                                IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)\n\n#ifdef _WIN64\n#define PORT_MAXIMUM_MESSAGE_LENGTH 512\n#else\n#define PORT_MAXIMUM_MESSAGE_LENGTH 256\n#endif\n//\n// Registry Specific Access Rights.\n//\n\n#define KEY_QUERY_VALUE         (0x0001)\n#define KEY_SET_VALUE           (0x0002)\n#define KEY_CREATE_SUB_KEY      (0x0004)\n#define KEY_ENUMERATE_SUB_KEYS  (0x0008)\n#define KEY_NOTIFY              (0x0010)\n#define KEY_CREATE_LINK         (0x0020)\n#define KEY_WOW64_32KEY         (0x0200)\n#define KEY_WOW64_64KEY         (0x0100)\n#define KEY_WOW64_RES           (0x0300)\n\n#define KEY_READ                ((STANDARD_RIGHTS_READ       |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY)                 \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n\n#define KEY_WRITE               ((STANDARD_RIGHTS_WRITE      |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY)         \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_EXECUTE             ((KEY_READ)                   \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_ALL_ACCESS          ((STANDARD_RIGHTS_ALL        |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY         |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY                 |\\\n                                  KEY_CREATE_LINK)            \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n//\n// Open/Create Options\n//\n\n#define REG_OPTION_RESERVED         (0x00000000L)   // Parameter is reserved\n\n#define REG_OPTION_NON_VOLATILE     (0x00000000L)   // Key is preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_VOLATILE         (0x00000001L)   // Key is not preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_CREATE_LINK      (0x00000002L)   // Created key is a\n                                                    // symbolic link\n\n#define REG_OPTION_BACKUP_RESTORE   (0x00000004L)   // open for backup or restore\n                                                    // special access rules\n                                                    // privilege required\n\n#define REG_OPTION_OPEN_LINK        (0x00000008L)   // Open symbolic link\n\n#define REG_LEGAL_OPTION            \\\n                (REG_OPTION_RESERVED            |\\\n                 REG_OPTION_NON_VOLATILE        |\\\n                 REG_OPTION_VOLATILE            |\\\n                 REG_OPTION_CREATE_LINK         |\\\n                 REG_OPTION_BACKUP_RESTORE      |\\\n                 REG_OPTION_OPEN_LINK)\n\n//\n// Key creation/open disposition\n//\n\n#define REG_CREATED_NEW_KEY         (0x00000001L)   // New Registry Key created\n#define REG_OPENED_EXISTING_KEY     (0x00000002L)   // Existing Key opened\n\n//\n// hive format to be used by Reg(Nt)SaveKeyEx\n//\n#define REG_STANDARD_FORMAT     1\n#define REG_LATEST_FORMAT       2\n#define REG_NO_COMPRESSION      4\n\n//\n// Key restore flags\n//\n\n#define REG_WHOLE_HIVE_VOLATILE     (0x00000001L)   // Restore whole hive volatile\n#define REG_REFRESH_HIVE            (0x00000002L)   // Unwind changes to last flush\n#define REG_NO_LAZY_FLUSH           (0x00000004L)   // Never lazy flush this hive\n#define REG_FORCE_RESTORE           (0x00000008L)   // Force the restore process even when we have open handles on subkeys\n\n//\n// Key query structures\n//\n\ntypedef struct _KEY_BASIC_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;\n\ntypedef struct _KEY_NODE_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   ClassOffset;\n    ULONG   ClassLength;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n//          Class[1];           // Variable length string not declared\n} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;\n\ntypedef struct _KEY_FULL_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   ClassOffset;\n    ULONG   ClassLength;\n    ULONG   SubKeys;\n    ULONG   MaxNameLen;\n    ULONG   MaxClassLen;\n    ULONG   Values;\n    ULONG   MaxValueNameLen;\n    ULONG   MaxValueDataLen;\n    WCHAR   Class[1];           // Variable length\n} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;\n\n// end_wdm\ntypedef struct _KEY_NAME_INFORMATION {\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n} KEY_NAME_INFORMATION, *PKEY_NAME_INFORMATION;\n\ntypedef struct _KEY_CACHED_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   SubKeys;\n    ULONG   MaxNameLen;\n    ULONG   Values;\n    ULONG   MaxValueNameLen;\n    ULONG   MaxValueDataLen;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n} KEY_CACHED_INFORMATION, *PKEY_CACHED_INFORMATION;\n\ntypedef struct _KEY_FLAGS_INFORMATION {\n    ULONG   UserFlags;\n} KEY_FLAGS_INFORMATION, *PKEY_FLAGS_INFORMATION;\n\n// begin_wdm\ntypedef enum _KEY_INFORMATION_CLASS {\n    KeyBasicInformation,\n    KeyNodeInformation,\n    KeyFullInformation\n// end_wdm\n    ,\n    KeyNameInformation,\n    KeyCachedInformation,\n    KeyFlagsInformation\n// begin_wdm\n} KEY_INFORMATION_CLASS;\n\ntypedef struct _KEY_WRITE_TIME_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n} KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;\n\ntypedef struct _KEY_USER_FLAGS_INFORMATION {\n    ULONG   UserFlags;\n} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;\n\ntypedef enum _KEY_SET_INFORMATION_CLASS {\n    KeyWriteTimeInformation,\n    KeyUserFlagsInformation\n} KEY_SET_INFORMATION_CLASS;\n\n//\n// Value entry query structures\n//\n\ntypedef struct _KEY_VALUE_BASIC_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable size\n} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;\n\ntypedef struct _KEY_VALUE_FULL_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   DataOffset;\n    ULONG   DataLength;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable size\n//          Data[1];            // Variable size data not declared\n} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;\n\ntypedef struct _KEY_VALUE_PARTIAL_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   DataLength;\n    UCHAR   Data[1];            // Variable size\n} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;\n\ntypedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {\n    ULONG   Type;\n    ULONG   DataLength;\n    UCHAR   Data[1];            // Variable size\n} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;\n\ntypedef struct _KEY_VALUE_ENTRY {\n    PUNICODE_STRING ValueName;\n    ULONG           DataLength;\n    ULONG           DataOffset;\n    ULONG           Type;\n} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;\n\ntypedef enum _KEY_VALUE_INFORMATION_CLASS {\n    KeyValueBasicInformation,\n    KeyValueFullInformation,\n    KeyValuePartialInformation,\n    KeyValueFullInformationAlign64,\n    KeyValuePartialInformationAlign64\n} KEY_VALUE_INFORMATION_CLASS;\n\n\n\n#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\\\')\n\n//\n// Object Manager Object Type Specific Access Rights.\n//\n\n#define OBJECT_TYPE_CREATE (0x0001)\n\n#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\n//\n// Object Manager Directory Specific Access Rights.\n//\n\n#define DIRECTORY_QUERY                 (0x0001)\n#define DIRECTORY_TRAVERSE              (0x0002)\n#define DIRECTORY_CREATE_OBJECT         (0x0004)\n#define DIRECTORY_CREATE_SUBDIRECTORY   (0x0008)\n\n#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)\n\n//\n// Object Manager Symbolic Link Specific Access Rights.\n//\n\n#define SYMBOLIC_LINK_QUERY (0x0001)\n\n#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\ntypedef struct _OBJECT_NAME_INFORMATION {               \n    UNICODE_STRING Name;                                \n} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;   \n#define DUPLICATE_CLOSE_SOURCE      0x00000001  // winnt\n#define DUPLICATE_SAME_ACCESS       0x00000002  // winnt\n#define DUPLICATE_SAME_ATTRIBUTES   0x00000004\n\n//\n// Section Information Structures.\n//\n\ntypedef enum _SECTION_INHERIT {\n    ViewShare = 1,\n    ViewUnmap = 2\n} SECTION_INHERIT;\n\n//\n// Section Access Rights.\n//\n\n// begin_winnt\n#define SECTION_QUERY       0x0001\n#define SECTION_MAP_WRITE   0x0002\n#define SECTION_MAP_READ    0x0004\n#define SECTION_MAP_EXECUTE 0x0008\n#define SECTION_EXTEND_SIZE 0x0010\n\n#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\\\n                            SECTION_MAP_WRITE |      \\\n                            SECTION_MAP_READ |       \\\n                            SECTION_MAP_EXECUTE |    \\\n                            SECTION_EXTEND_SIZE)\n// end_winnt\n\n#define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS\n\n#define PAGE_NOACCESS          0x01     // winnt\n#define PAGE_READONLY          0x02     // winnt\n#define PAGE_READWRITE         0x04     // winnt\n#define PAGE_WRITECOPY         0x08     // winnt\n#define PAGE_EXECUTE           0x10     // winnt\n#define PAGE_EXECUTE_READ      0x20     // winnt\n#define PAGE_EXECUTE_READWRITE 0x40     // winnt\n#define PAGE_EXECUTE_WRITECOPY 0x80     // winnt\n#define PAGE_GUARD            0x100     // winnt\n#define PAGE_NOCACHE          0x200     // winnt\n#define PAGE_WRITECOMBINE     0x400     // winnt\n\n#define MEM_COMMIT           0x1000     \n#define MEM_RESERVE          0x2000     \n#define MEM_DECOMMIT         0x4000     \n#define MEM_RELEASE          0x8000     \n#define MEM_FREE            0x10000     \n#define MEM_PRIVATE         0x20000     \n#define MEM_MAPPED          0x40000     \n#define MEM_RESET           0x80000     \n#define MEM_TOP_DOWN       0x100000     \n#define MEM_LARGE_PAGES  0x20000000     \n#define MEM_4MB_PAGES    0x80000000     \n#define SEC_RESERVE       0x4000000     \n#define PROCESS_DUP_HANDLE        (0x0040)  // winnt\n#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0xFFF)\n// begin_nthal\n\n#if defined(_WIN64)\n\n#define MAXIMUM_PROCESSORS 64\n\n#else\n\n#define MAXIMUM_PROCESSORS 32\n\n#endif\n\n// end_nthal\n\n// end_winnt\n\n//\n// Thread Specific Access Rights\n//\n\n#define THREAD_TERMINATE               (0x0001)  // winnt\n#define THREAD_SET_INFORMATION         (0x0020)  // winnt\n\n#define THREAD_ALL_ACCESS         (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0x3FF)\n\n//\n// ClientId\n//\n\ntypedef struct _CLIENT_ID {\n    HANDLE UniqueProcess;\n    HANDLE UniqueThread;\n} CLIENT_ID;\ntypedef CLIENT_ID *PCLIENT_ID;\n\n//\n// Thread Environment Block (and portable part of Thread Information Block)\n//\n\n//\n//  NT_TIB - Thread Information Block - Portable part.\n//\n//      This is the subsystem portable part of the Thread Information Block.\n//      It appears as the first part of the TEB for all threads which have\n//      a user mode component.\n//\n//\n\n// begin_winnt\n\ntypedef struct _NT_TIB {\n    struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;\n    PVOID StackBase;\n    PVOID StackLimit;\n    PVOID SubSystemTib;\n    union {\n        PVOID FiberData;\n        ULONG Version;\n    };\n    PVOID ArbitraryUserPointer;\n    struct _NT_TIB *Self;\n} NT_TIB;\ntypedef NT_TIB *PNT_TIB;\n\n//\n// 32 and 64 bit specific version for wow64 and the debugger\n//\ntypedef struct _NT_TIB32 {\n    ULONG ExceptionList;\n    ULONG StackBase;\n    ULONG StackLimit;\n    ULONG SubSystemTib;\n    union {\n        ULONG FiberData;\n        ULONG Version;\n    };\n    ULONG ArbitraryUserPointer;\n    ULONG Self;\n} NT_TIB32, *PNT_TIB32;\n\ntypedef struct _NT_TIB64 {\n    ULONG64 ExceptionList;\n    ULONG64 StackBase;\n    ULONG64 StackLimit;\n    ULONG64 SubSystemTib;\n    union {\n        ULONG64 FiberData;\n        ULONG Version;\n    };\n    ULONG64 ArbitraryUserPointer;\n    ULONG64 Self;\n} NT_TIB64, *PNT_TIB64;\n\n//\n// Process Information Classes\n//\n\ntypedef enum _PROCESSINFOCLASS {\n    ProcessBasicInformation,\n    ProcessQuotaLimits,\n    ProcessIoCounters,\n    ProcessVmCounters,\n    ProcessTimes,\n    ProcessBasePriority,\n    ProcessRaisePriority,\n    ProcessDebugPort,\n    ProcessExceptionPort,\n    ProcessAccessToken,\n    ProcessLdtInformation,\n    ProcessLdtSize,\n    ProcessDefaultHardErrorMode,\n    ProcessIoPortHandlers,          // Note: this is kernel mode only\n    ProcessPooledUsageAndLimits,\n    ProcessWorkingSetWatch,\n    ProcessUserModeIOPL,\n    ProcessEnableAlignmentFaultFixup,\n    ProcessPriorityClass,\n    ProcessWx86Information,\n    ProcessHandleCount,\n    ProcessAffinityMask,\n    ProcessPriorityBoost,\n    ProcessDeviceMap,\n    ProcessSessionInformation,\n    ProcessForegroundInformation,\n    ProcessWow64Information,\n    ProcessImageFileName,\n    ProcessLUIDDeviceMapsEnabled,\n    ProcessBreakOnTermination,\n    ProcessDebugObjectHandle,\n    ProcessDebugFlags,\n    ProcessHandleTracing,\n    MaxProcessInfoClass             // MaxProcessInfoClass should always be the last enum\n    } PROCESSINFOCLASS;\n\n//\n// Thread Information Classes\n//\n\ntypedef enum _THREADINFOCLASS {\n    ThreadBasicInformation,\n    ThreadTimes,\n    ThreadPriority,\n    ThreadBasePriority,\n    ThreadAffinityMask,\n    ThreadImpersonationToken,\n    ThreadDescriptorTableEntry,\n    ThreadEnableAlignmentFaultFixup,\n    ThreadEventPair_Reusable,\n    ThreadQuerySetWin32StartAddress,\n    ThreadZeroTlsCell,\n    ThreadPerformanceCount,\n    ThreadAmILastThread,\n    ThreadIdealProcessor,\n    ThreadPriorityBoost,\n    ThreadSetTlsArrayAddress,\n    ThreadIsIoPending,\n    ThreadHideFromDebugger,\n    ThreadBreakOnTermination,\n    MaxThreadInfoClass\n    } THREADINFOCLASS;\n//\n// Process Information Structures\n//\n\n//\n// PageFaultHistory Information\n//  NtQueryInformationProcess using ProcessWorkingSetWatch\n//\ntypedef struct _PROCESS_WS_WATCH_INFORMATION {\n    PVOID FaultingPc;\n    PVOID FaultingVa;\n} PROCESS_WS_WATCH_INFORMATION, *PPROCESS_WS_WATCH_INFORMATION;\n\n//\n// Basic Process Information\n//  NtQueryInformationProcess using ProcessBasicInfo\n//\n\ntypedef struct _PROCESS_BASIC_INFORMATION {\n    NTSTATUS ExitStatus;\n    PPEB PebBaseAddress;\n    ULONG_PTR AffinityMask;\n    KPRIORITY BasePriority;\n    ULONG_PTR UniqueProcessId;\n    ULONG_PTR InheritedFromUniqueProcessId;\n} PROCESS_BASIC_INFORMATION;\ntypedef PROCESS_BASIC_INFORMATION *PPROCESS_BASIC_INFORMATION;\n\n\n//\n// Process Device Map information\n//  NtQueryInformationProcess using ProcessDeviceMap\n//  NtSetInformationProcess using ProcessDeviceMap\n//\n\ntypedef struct _PROCESS_DEVICEMAP_INFORMATION {\n    union {\n        struct {\n            HANDLE DirectoryHandle;\n        } Set;\n        struct {\n            ULONG DriveMap;\n            UCHAR DriveType[ 32 ];\n        } Query;\n    };\n} PROCESS_DEVICEMAP_INFORMATION, *PPROCESS_DEVICEMAP_INFORMATION;\n\ntypedef struct _PROCESS_DEVICEMAP_INFORMATION_EX {\n    union {\n        struct {\n            HANDLE DirectoryHandle;\n        } Set;\n        struct {\n            ULONG DriveMap;\n            UCHAR DriveType[ 32 ];\n        } Query;\n    };\n    ULONG Flags;    // specifies that the query type\n} PROCESS_DEVICEMAP_INFORMATION_EX, *PPROCESS_DEVICEMAP_INFORMATION_EX;\n\n//\n// PROCESS_DEVICEMAP_INFORMATION_EX flags\n//\n#define PROCESS_LUID_DOSDEVICES_ONLY 0x00000001\n\n//\n// Multi-User Session specific Process Information\n//  NtQueryInformationProcess using ProcessSessionInformation\n//\n\ntypedef struct _PROCESS_SESSION_INFORMATION {\n    ULONG SessionId;\n} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;\n\n\ntypedef struct _PROCESS_HANDLE_TRACING_ENABLE {\n    ULONG Flags;\n} PROCESS_HANDLE_TRACING_ENABLE, *PPROCESS_HANDLE_TRACING_ENABLE;\n\n#define PROCESS_HANDLE_TRACING_MAX_STACKS 16\n\ntypedef struct _PROCESS_HANDLE_TRACING_ENTRY {\n    HANDLE Handle;\n    CLIENT_ID ClientId;\n    ULONG Type;\n    PVOID Stacks[PROCESS_HANDLE_TRACING_MAX_STACKS];\n} PROCESS_HANDLE_TRACING_ENTRY, *PPROCESS_HANDLE_TRACING_ENTRY;\n\ntypedef struct _PROCESS_HANDLE_TRACING_QUERY {\n    HANDLE Handle;\n    ULONG  TotalTraces;\n    PROCESS_HANDLE_TRACING_ENTRY HandleTrace[1];\n} PROCESS_HANDLE_TRACING_QUERY, *PPROCESS_HANDLE_TRACING_QUERY;\n\n//\n// Process Quotas\n//  NtQueryInformationProcess using ProcessQuotaLimits\n//  NtQueryInformationProcess using ProcessPooledQuotaLimits\n//  NtSetInformationProcess using ProcessQuotaLimits\n//\n\n// begin_winnt\n\ntypedef struct _QUOTA_LIMITS {\n    SIZE_T PagedPoolLimit;\n    SIZE_T NonPagedPoolLimit;\n    SIZE_T MinimumWorkingSetSize;\n    SIZE_T MaximumWorkingSetSize;\n    SIZE_T PagefileLimit;\n    LARGE_INTEGER TimeLimit;\n} QUOTA_LIMITS;\ntypedef QUOTA_LIMITS *PQUOTA_LIMITS;\n\n// end_winnt\n\n//\n// Process I/O Counters\n//  NtQueryInformationProcess using ProcessIoCounters\n//\n\n// begin_winnt\ntypedef struct _IO_COUNTERS {\n    ULONGLONG  ReadOperationCount;\n    ULONGLONG  WriteOperationCount;\n    ULONGLONG  OtherOperationCount;\n    ULONGLONG ReadTransferCount;\n    ULONGLONG WriteTransferCount;\n    ULONGLONG OtherTransferCount;\n} IO_COUNTERS;\ntypedef IO_COUNTERS *PIO_COUNTERS;\n\n// end_winnt\n\n//\n// Process Virtual Memory Counters\n//  NtQueryInformationProcess using ProcessVmCounters\n//\n\ntypedef struct _VM_COUNTERS {\n    SIZE_T PeakVirtualSize;\n    SIZE_T VirtualSize;\n    ULONG PageFaultCount;\n    SIZE_T PeakWorkingSetSize;\n    SIZE_T WorkingSetSize;\n    SIZE_T QuotaPeakPagedPoolUsage;\n    SIZE_T QuotaPagedPoolUsage;\n    SIZE_T QuotaPeakNonPagedPoolUsage;\n    SIZE_T QuotaNonPagedPoolUsage;\n    SIZE_T PagefileUsage;\n    SIZE_T PeakPagefileUsage;\n} VM_COUNTERS;\ntypedef VM_COUNTERS *PVM_COUNTERS;\n\ntypedef struct _VM_COUNTERS_EX {\n    SIZE_T PeakVirtualSize;\n    SIZE_T VirtualSize;\n    ULONG PageFaultCount;\n    SIZE_T PeakWorkingSetSize;\n    SIZE_T WorkingSetSize;\n    SIZE_T QuotaPeakPagedPoolUsage;\n    SIZE_T QuotaPagedPoolUsage;\n    SIZE_T QuotaPeakNonPagedPoolUsage;\n    SIZE_T QuotaNonPagedPoolUsage;\n    SIZE_T PagefileUsage;\n    SIZE_T PeakPagefileUsage;\n    SIZE_T PrivateUsage;\n} VM_COUNTERS_EX;\ntypedef VM_COUNTERS_EX *PVM_COUNTERS_EX;\n\n//\n// Process Pooled Quota Usage and Limits\n//  NtQueryInformationProcess using ProcessPooledUsageAndLimits\n//\n\ntypedef struct _POOLED_USAGE_AND_LIMITS {\n    SIZE_T PeakPagedPoolUsage;\n    SIZE_T PagedPoolUsage;\n    SIZE_T PagedPoolLimit;\n    SIZE_T PeakNonPagedPoolUsage;\n    SIZE_T NonPagedPoolUsage;\n    SIZE_T NonPagedPoolLimit;\n    SIZE_T PeakPagefileUsage;\n    SIZE_T PagefileUsage;\n    SIZE_T PagefileLimit;\n} POOLED_USAGE_AND_LIMITS;\ntypedef POOLED_USAGE_AND_LIMITS *PPOOLED_USAGE_AND_LIMITS;\n\n//\n// Process Security Context Information\n//  NtSetInformationProcess using ProcessAccessToken\n// PROCESS_SET_ACCESS_TOKEN access to the process is needed\n// to use this info level.\n//\n\ntypedef struct _PROCESS_ACCESS_TOKEN {\n\n    //\n    // Handle to Primary token to assign to the process.\n    // TOKEN_ASSIGN_PRIMARY access to this token is needed.\n    //\n\n    HANDLE Token;\n\n    //\n    // Handle to the initial thread of the process.\n    // A process's access token can only be changed if the process has\n    // no threads or one thread.  If the process has no threads, this\n    // field must be set to NULL.  Otherwise, it must contain a handle\n    // open to the process's only thread.  THREAD_QUERY_INFORMATION access\n    // is needed via this handle.\n\n    HANDLE Thread;\n\n} PROCESS_ACCESS_TOKEN, *PPROCESS_ACCESS_TOKEN;\n\n//\n// Process/Thread System and User Time\n//  NtQueryInformationProcess using ProcessTimes\n//  NtQueryInformationThread using ThreadTimes\n//\n\ntypedef struct _KERNEL_USER_TIMES {\n    LARGE_INTEGER CreateTime;\n    LARGE_INTEGER ExitTime;\n    LARGE_INTEGER KernelTime;\n    LARGE_INTEGER UserTime;\n} KERNEL_USER_TIMES;\ntypedef KERNEL_USER_TIMES *PKERNEL_USER_TIMES;\nNTSYSCALLAPI\nNTSTATUS\nNTAPI\nNtOpenProcess (\n    OUT PHANDLE ProcessHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    IN PCLIENT_ID ClientId OPTIONAL\n    );\n#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 )  \nNTSYSCALLAPI\nNTSTATUS\nNTAPI\nNtQueryInformationProcess(\n    IN HANDLE ProcessHandle,\n    IN PROCESSINFOCLASS ProcessInformationClass,\n    OUT PVOID ProcessInformation,\n    IN ULONG ProcessInformationLength,\n    OUT PULONG ReturnLength OPTIONAL\n    );\n#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 )   \n\n#ifndef _PO_DDK_\n#define _PO_DDK_\n\n// begin_winnt\n\ntypedef enum _SYSTEM_POWER_STATE {\n    PowerSystemUnspecified = 0,\n    PowerSystemWorking     = 1,\n    PowerSystemSleeping1   = 2,\n    PowerSystemSleeping2   = 3,\n    PowerSystemSleeping3   = 4,\n    PowerSystemHibernate   = 5,\n    PowerSystemShutdown    = 6,\n    PowerSystemMaximum     = 7\n} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;\n\n#define POWER_SYSTEM_MAXIMUM 7\n\ntypedef enum {\n    PowerActionNone = 0,\n    PowerActionReserved,\n    PowerActionSleep,\n    PowerActionHibernate,\n    PowerActionShutdown,\n    PowerActionShutdownReset,\n    PowerActionShutdownOff,\n    PowerActionWarmEject\n} POWER_ACTION, *PPOWER_ACTION;\n\ntypedef enum _DEVICE_POWER_STATE {\n    PowerDeviceUnspecified = 0,\n    PowerDeviceD0,\n    PowerDeviceD1,\n    PowerDeviceD2,\n    PowerDeviceD3,\n    PowerDeviceMaximum\n} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;\n\n// end_winnt\n\ntypedef union _POWER_STATE {\n    SYSTEM_POWER_STATE SystemState;\n    DEVICE_POWER_STATE DeviceState;\n} POWER_STATE, *PPOWER_STATE;\n\ntypedef enum _POWER_STATE_TYPE {\n    SystemPowerState = 0,\n    DevicePowerState\n} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;\n\n//\n// Generic power related IOCTLs\n//\n\n#define IOCTL_QUERY_DEVICE_POWER_STATE  \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x0, METHOD_BUFFERED, FILE_READ_ACCESS)\n\n#define IOCTL_SET_DEVICE_WAKE           \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x1, METHOD_BUFFERED, FILE_WRITE_ACCESS)\n\n#define IOCTL_CANCEL_DEVICE_WAKE        \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x2, METHOD_BUFFERED, FILE_WRITE_ACCESS)\n\n\n//\n// Defines for W32 interfaces\n//\n\n// begin_winnt\n\n#define ES_SYSTEM_REQUIRED  ((ULONG)0x00000001)\n#define ES_DISPLAY_REQUIRED ((ULONG)0x00000002)\n#define ES_USER_PRESENT     ((ULONG)0x00000004)\n#define ES_CONTINUOUS       ((ULONG)0x80000000)\n\ntypedef ULONG EXECUTION_STATE;\n\ntypedef enum {\n    LT_DONT_CARE,\n    LT_LOWEST_LATENCY\n} LATENCY_TIME;\n\n\ntypedef enum {\n    SystemPowerPolicyAc,\n    SystemPowerPolicyDc,\n    VerifySystemPolicyAc,\n    VerifySystemPolicyDc,\n    SystemPowerCapabilities,\n    SystemBatteryState,\n    SystemPowerStateHandler,\n    ProcessorStateHandler,\n    SystemPowerPolicyCurrent,\n    AdministratorPowerPolicy,\n    SystemReserveHiberFile,\n    ProcessorInformation,\n    SystemPowerInformation,\n    ProcessorStateHandler2,\n    LastWakeTime,                                   // Compare with KeQueryInterruptTime()\n    LastSleepTime,                                  // Compare with KeQueryInterruptTime()\n    SystemExecutionState,\n    SystemPowerStateNotifyHandler,\n    ProcessorPowerPolicyAc,\n    ProcessorPowerPolicyDc,\n    VerifyProcessorPowerPolicyAc,\n    VerifyProcessorPowerPolicyDc,\n    ProcessorPowerPolicyCurrent\n} POWER_INFORMATION_LEVEL;\n\n// begin_wdm\n\n//\n// System power manager capabilities\n//\n\ntypedef struct {\n    ULONG       Granularity;\n    ULONG       Capacity;\n} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;\n\n// end_winnt\n// begin_ntminiport\n// begin_ntifs\n\n#endif // !_PO_DDK_\n\n\n#if defined(_X86_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 16\n\n//\n// Indicate that the i386 compiler supports the pragma textout construct.\n//\n\n#define ALLOC_PRAGMA 1\n//\n// Indicate that the i386 compiler supports the DATA_SEG(\"INIT\") and\n// DATA_SEG(\"PAGE\") pragmas\n//\n\n#define ALLOC_DATA_PRAGMA 1\n\n#define NORMAL_DISPATCH_LENGTH 106                  \n#define DISPATCH_LENGTH NORMAL_DISPATCH_LENGTH      \n//\n// Interrupt Request Level definitions\n//\n\n#define PASSIVE_LEVEL 0             // Passive release level\n#define LOW_LEVEL 0                 // Lowest interrupt level\n#define APC_LEVEL 1                 // APC interrupt level\n#define DISPATCH_LEVEL 2            // Dispatcher level\n\n#define PROFILE_LEVEL 27            // timer used for profiling.\n#define CLOCK1_LEVEL 28             // Interval clock 1 level - Not used on x86\n#define CLOCK2_LEVEL 28             // Interval clock 2 level\n#define IPI_LEVEL 29                // Interprocessor interrupt level\n#define POWER_LEVEL 30              // Power failure level\n#define HIGH_LEVEL 31               // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL DISPATCH_LEVEL  // synchronization level - UP system\n\n#else\n\n#define SYNCH_LEVEL (IPI_LEVEL-1)   // synchronization level - MP system\n\n#endif\n\n\n//\n// I/O space read and write macros.\n//\n//  These have to be actual functions on the 386, because we need\n//  to use assembler, but cannot return a value if we inline it.\n//\n//  The READ/WRITE_REGISTER_* calls manipulate I/O registers in MEMORY space.\n//  (Use x86 move instructions, with LOCK prefix to force correct behavior\n//   w.r.t. caches and write buffers.)\n//\n//  The READ/WRITE_PORT_* calls manipulate I/O registers in PORT space.\n//  (Use x86 in/out instructions.)\n//\n\nNTKERNELAPI\nUCHAR\nNTAPI\nREAD_REGISTER_UCHAR(\n    PUCHAR  Register\n    );\n\nNTKERNELAPI\nUSHORT\nNTAPI\nREAD_REGISTER_USHORT(\n    PUSHORT Register\n    );\n\nNTKERNELAPI\nULONG\nNTAPI\nREAD_REGISTER_ULONG(\n    PULONG  Register\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_UCHAR(\n    PUCHAR  Register,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_USHORT(\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_ULONG(\n    PULONG  Register,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_UCHAR(\n    PUCHAR  Register,\n    UCHAR   Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_USHORT(\n    PUSHORT Register,\n    USHORT  Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_ULONG(\n    PULONG  Register,\n    ULONG   Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_UCHAR(\n    PUCHAR  Register,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_USHORT(\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_ULONG(\n    PULONG  Register,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nUCHAR\nNTAPI\nREAD_PORT_UCHAR(\n    PUCHAR  Port\n    );\n\nNTHALAPI\nUSHORT\nNTAPI\nREAD_PORT_USHORT(\n    PUSHORT Port\n    );\n\nNTHALAPI\nULONG\nNTAPI\nREAD_PORT_ULONG(\n    PULONG  Port\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_UCHAR(\n    PUCHAR  Port,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_USHORT(\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_ULONG(\n    PULONG  Port,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_UCHAR(\n    PUCHAR  Port,\n    UCHAR   Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_USHORT(\n    PUSHORT Port,\n    USHORT  Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_ULONG(\n    PULONG  Port,\n    ULONG   Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_UCHAR(\n    PUCHAR  Port,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_USHORT(\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_ULONG(\n    PULONG  Port,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\n// end_ntndis\n//\n// Get data cache fill size.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(KeGetDcacheFillSize)      // Use GetDmaAlignment\n#endif\n\n#define KeGetDcacheFillSize() 1L\n\n\n#define KeFlushIoBuffers(Mdl, ReadOperation, DmaOperation)\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n// begin_wdm\n\n#define KeQueryTickCount(CurrentCount ) { \\\n    volatile PKSYSTEM_TIME _TickCount = *((PKSYSTEM_TIME *)(&KeTickCount)); \\\n    while (TRUE) {                                                          \\\n        (CurrentCount)->HighPart = _TickCount->High1Time;                   \\\n        (CurrentCount)->LowPart = _TickCount->LowPart;                      \\\n        if ((CurrentCount)->HighPart == _TickCount->High2Time) break;       \\\n        _asm { rep nop }                                                    \\\n    }                                                                       \\\n}\n\n// end_wdm\n\n#else\n\n\nVOID\nNTAPI\nKeQueryTickCount (\n    OUT PLARGE_INTEGER CurrentCount\n    );\n\n#endif // defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n\n//\n// Processor Control Region Structure Definition\n//\n\n#define PCR_MINOR_VERSION 1\n#define PCR_MAJOR_VERSION 1\n\ntypedef struct _KPCR {\n\n//\n// Start of the architecturally defined section of the PCR. This section\n// may be directly addressed by vendor/platform specific HAL code and will\n// not change from version to version of NT.\n//\n\n    NT_TIB  NtTib;\n    struct _KPCR *SelfPcr;              // flat address of this PCR\n    struct _KPRCB *Prcb;                // pointer to Prcb\n    KIRQL   Irql;\n    ULONG   IRR;\n    ULONG   IrrActive;\n    ULONG   IDR;\n    PVOID   KdVersionBlock;\n\n    struct _KIDTENTRY *IDT;\n    struct _KGDTENTRY *GDT;\n    struct _KTSS      *TSS;\n    USHORT  MajorVersion;\n    USHORT  MinorVersion;\n    KAFFINITY SetMember;\n    ULONG   StallScaleFactor;\n    UCHAR   DebugActive;\n    UCHAR   Number;\n\n\n} KPCR, *PKPCR;\n\n//\n// The non-volatile 387 state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG   ControlWord;\n    ULONG   StatusWord;\n    ULONG   ErrorOffset;\n    ULONG   ErrorSelector;\n    ULONG   DataOffset;                 // Not used in wdm\n    ULONG   DataSelector;\n    ULONG   Cr0NpxState;\n    ULONG   Spare1;                     // Not used in wdm\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n//\n// i386 Specific portions of mm component\n//\n\n//\n// Define the page size for the Intel 386 as 4096 (0x1000).\n//\n\n#define PAGE_SIZE 0x1000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 12L\n\n// end_ntndis end_wdm\n//\n// Define the number of bits to shift to right justify the Page Directory Index\n// field of a PTE.\n//\n\n#define PDI_SHIFT_X86    22\n#define PDI_SHIFT_X86PAE 21\n\n#if !defined (_X86PAE_)\n#define PDI_SHIFT PDI_SHIFT_X86\n#else\n#define PDI_SHIFT PDI_SHIFT_X86PAE\n#define PPI_SHIFT 30\n#endif\n\n//\n// Define the number of bits to shift to right justify the Page Table Index\n// field of a PTE.\n//\n\n#define PTI_SHIFT 12\n\n//\n// Define the highest user address and user probe address.\n//\n\n\nextern PVOID *MmHighestUserAddress;\nextern PVOID *MmSystemRangeStart;\nextern ULONG *MmUserProbeAddress;\n\n#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress\n#define MM_SYSTEM_RANGE_START *MmSystemRangeStart\n#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress\n\n//\n// The lowest user address reserves the low 64k.\n//\n\n#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000\n\n//\n// The lowest address for system space.\n//\n\n#if !defined (_X86PAE_)\n#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0800000\n#else\n#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000\n#endif\n\n// begin_wdm\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(Address) MmLockPagableDataSection(Address)\n\n#define KIP0PCRADDRESS              0xffdff000  \n\n#define KI_USER_SHARED_DATA         0xffdf0000\n#define SharedUserData  ((KUSER_SHARED_DATA * const) KI_USER_SHARED_DATA)\n\n//\n// Result type definition for i386.  (Machine specific enumerate type\n// which is return type for portable exinterlockedincrement/decrement\n// procedures.)  In general, you should use the enumerated type defined\n// in ex.h instead of directly referencing these constants.\n//\n\n// Flags loaded into AH by LAHF instruction\n\n#define EFLAG_SIGN      0x8000\n#define EFLAG_ZERO      0x4000\n#define EFLAG_SELECT    (EFLAG_SIGN | EFLAG_ZERO)\n\n#define RESULT_NEGATIVE ((EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)\n#define RESULT_ZERO     ((~EFLAG_SIGN & EFLAG_ZERO) & EFLAG_SELECT)\n#define RESULT_POSITIVE ((~EFLAG_SIGN & ~EFLAG_ZERO) & EFLAG_SELECT)\n\n//\n// Convert various portable ExInterlock APIs into their architectural\n// equivalents.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInterlockedIncrementLong)      // Use InterlockedIncrement\n#pragma deprecated(ExInterlockedDecrementLong)      // Use InterlockedDecrement\n#pragma deprecated(ExInterlockedExchangeUlong)      // Use InterlockedExchange\n#endif\n\n#define ExInterlockedIncrementLong(Addend,Lock) \\\n        Exfi386InterlockedIncrementLong(Addend)\n\n#define ExInterlockedDecrementLong(Addend,Lock) \\\n        Exfi386InterlockedDecrementLong(Addend)\n\n#define ExInterlockedExchangeUlong(Target,Value,Lock) \\\n        Exfi386InterlockedExchangeUlong(Target,Value)\n\n//  begin_wdm\n\n#define ExInterlockedAddUlong           ExfInterlockedAddUlong\n#define ExInterlockedInsertHeadList     ExfInterlockedInsertHeadList\n#define ExInterlockedInsertTailList     ExfInterlockedInsertTailList\n#define ExInterlockedRemoveHeadList     ExfInterlockedRemoveHeadList\n#define ExInterlockedPopEntryList       ExfInterlockedPopEntryList\n#define ExInterlockedPushEntryList      ExfInterlockedPushEntryList\n\n//  end_wdm\n\n//\n// Prototypes for architectural specific versions of Exi386 Api\n//\n\n//\n// Interlocked result type is portable, but its values are machine specific.\n// Constants for value are in i386.h, mips.h, etc.\n//\n\ntypedef enum _INTERLOCKED_RESULT {\n    ResultNegative = RESULT_NEGATIVE,\n    ResultZero     = RESULT_ZERO,\n    ResultPositive = RESULT_POSITIVE\n} INTERLOCKED_RESULT;\n\nNTKERNELAPI\nINTERLOCKED_RESULT\nFASTCALL\nExfi386InterlockedIncrementLong (\n    IN PLONG Addend\n    );\n\nNTKERNELAPI\nINTERLOCKED_RESULT\nFASTCALL\nExfi386InterlockedDecrementLong (\n    IN PLONG Addend\n    );\n\nNTKERNELAPI\nULONG\nFASTCALL\nExfi386InterlockedExchangeUlong (\n    IN PULONG Target,\n    IN ULONG Value\n    );\n\n#if !defined(_WINBASE_) && !defined(NONTOSPINTERLOCK) \n#if !defined(MIDL_PASS) // wdm\n#if defined(NO_INTERLOCKED_INTRINSICS) || defined(_CROSS_PLATFORM_)\n//  begin_wdm\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedIncrement(\n    IN LONG volatile *Addend\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedDecrement(\n    IN LONG volatile *Addend\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\n#define InterlockedExchangePointer(Target, Value) \\\n   (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))\n\nLONG\nFASTCALL\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Increment\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedCompareExchange(\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\n#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \\\n    (PVOID)InterlockedCompareExchange((PLONG)Destination, (LONG)ExChange, (LONG)Comperand)\n\n#define InterlockedCompareExchange64(Destination, ExChange, Comperand) \\\n    ExfInterlockedCompareExchange64(Destination, &(ExChange), &(Comperand))\n\nNTKERNELAPI\nLONGLONG\nFASTCALL\nExfInterlockedCompareExchange64(\n    IN OUT LONGLONG volatile *Destination,\n    IN PLONGLONG ExChange,\n    IN PLONGLONG Comperand\n    );\n\n//  end_wdm\n\n#else       // NO_INTERLOCKED_INCREMENTS || _CROSS_PLATFORM_\n\n#define InterlockedExchangePointer(Target, Value) \\\n   (PVOID)InterlockedExchange((PLONG)Target, (LONG)Value)\n\n\n#if (_MSC_FULL_VER > 13009037)\nLONG\n__cdecl\n_InterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\n#pragma intrinsic (_InterlockedExchange)\n#define InterlockedExchange _InterlockedExchange\n#else\nFORCEINLINE\nLONG\nFASTCALL\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    )\n{\n    __asm {\n        mov     eax, Value\n        mov     ecx, Target\n        xchg    [ecx], eax\n    }\n}\n#endif\n\n#if (_MSC_FULL_VER > 13009037)\nLONG\n__cdecl\n_InterlockedIncrement(\n    IN LONG volatile *Addend\n    );\n\n#pragma intrinsic (_InterlockedIncrement)\n#define InterlockedIncrement _InterlockedIncrement\n#else\n#define InterlockedIncrement(Addend) (InterlockedExchangeAdd (Addend, 1)+1)\n#endif\n\n#if (_MSC_FULL_VER > 13009037)\nLONG\n__cdecl\n_InterlockedDecrement(\n    IN LONG volatile *Addend\n    );\n\n#pragma intrinsic (_InterlockedDecrement)\n#define InterlockedDecrement _InterlockedDecrement\n#else\n#define InterlockedDecrement(Addend) (InterlockedExchangeAdd (Addend, -1)-1)\n#endif\n\n#if (_MSC_FULL_VER > 13009037)\nLONG\n__cdecl\n_InterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Increment\n    );\n\n#pragma intrinsic (_InterlockedExchangeAdd)\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n#else\n// begin_wdm\nFORCEINLINE\nLONG\nFASTCALL\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Increment\n    )\n{\n    __asm {\n         mov     eax, Increment\n         mov     ecx, Addend\n    lock xadd    [ecx], eax\n    }\n}\n// end_wdm\n#endif\n\n#if (_MSC_FULL_VER > 13009037)\nLONG\n__cdecl\n_InterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\n#pragma intrinsic (_InterlockedCompareExchange)\n#define InterlockedCompareExchange (LONG)_InterlockedCompareExchange\n#else\nFORCEINLINE\nLONG\nFASTCALL\nInterlockedCompareExchange(\n    IN OUT LONG volatile *Destination,\n    IN LONG Exchange,\n    IN LONG Comperand\n    )\n{\n    __asm {\n        mov     eax, Comperand\n        mov     ecx, Destination\n        mov     edx, Exchange\n   lock cmpxchg [ecx], edx\n    }\n}\n#endif\n\n#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \\\n    (PVOID)InterlockedCompareExchange((PLONG)Destination, (LONG)ExChange, (LONG)Comperand)\n\n#define InterlockedCompareExchange64(Destination, ExChange, Comperand) \\\n    ExfInterlockedCompareExchange64(Destination, &(ExChange), &(Comperand))\n\nNTKERNELAPI\nLONGLONG\nFASTCALL\nExfInterlockedCompareExchange64(\n    IN OUT LONGLONG volatile *Destination,\n    IN PLONGLONG ExChange,\n    IN PLONGLONG Comperand\n    );\n\n#endif      // INTERLOCKED_INTRINSICS || _CROSS_PLATFORM_\n// begin_wdm\n#endif      // MIDL_PASS\n#endif      // __WINBASE__ && !NONTOSPINTERLOCK\n\n//\n// Turn these instrinsics off until the compiler can handle them\n//\n#if (_MSC_FULL_VER > 13009037)\n\nLONG\n_InterlockedOr (\n    IN OUT PLONG Target,\n    IN LONG Set\n    );\n\n#pragma intrinsic (_InterlockedOr)\n\n#define InterlockedOr _InterlockedOr\n\nLONG\n_InterlockedAnd (\n    IN OUT LONG volatile *Target,\n    IN LONG Set\n    );\n\n#pragma intrinsic (_InterlockedAnd)\n\n#define InterlockedAnd _InterlockedAnd\n\nLONG\n_InterlockedXor (\n    IN OUT LONG volatile Target,\n    IN LONG Set\n    );\n\n#pragma intrinsic (_InterlockedXor)\n\n#define InterlockedXor _InterlockedXor\n\n#else // compiler version\n\nFORCEINLINE\nLONG\nInterlockedAnd (\n    IN OUT LONG volatile *Target,\n    LONG Set\n    )\n{\n    LONG i;\n    LONG j;\n\n    j = *Target;\n    do {\n        i = j;\n        j = InterlockedCompareExchange(Target,\n                                       i & Set,\n                                       i);\n\n    } while (i != j);\n\n    return j;\n}\n\nFORCEINLINE\nLONG\nInterlockedOr (\n    IN OUT LONG volatile *Target,\n    IN LONG Set\n    )\n{\n    LONG i;\n    LONG j;\n\n    j = *Target;\n    do {\n        i = j;\n        j = InterlockedCompareExchange(Target,\n                                       i | Set,\n                                       i);\n\n    } while (i != j);\n\n    return j;\n}\n\n#endif // compiler version\n\n\n\n#if !defined(MIDL_PASS) && defined(_M_IX86)\n\n//\n// i386 function definitions\n//\n\n#pragma warning(disable:4035)               // re-enable below\n\n// end_wdm\n\n#if NT_UP\n    #define _PCR   ds:[KIP0PCRADDRESS]\n#else\n    #define _PCR   fs:[0]\n#endif\n\n\n//\n// Get current IRQL.\n//\n// On x86 this function resides in the HAL\n//\n\nNTHALAPI\nKIRQL\nNTAPI\nKeGetCurrentIrql();\n\n// end_wdm\n//\n// Get the current processor number\n//\n\nFORCEINLINE\nULONG\nNTAPI\nKeGetCurrentProcessorNumber(VOID)\n{\n    __asm {  movzx eax, _PCR KPCR.Number  }\n}\n\n\n#pragma warning(default:4035)\n\n// begin_wdm\n#endif // !defined(MIDL_PASS) && defined(_M_IX86)\n\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nKeSaveFloatingPointState (\n    OUT PKFLOATING_SAVE     FloatSave\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nKeRestoreFloatingPointState (\n    IN PKFLOATING_SAVE      FloatSave\n    );\n\n\n#endif // defined(_X86_)\n\n\n// Use the following for kernel mode runtime checks of X86 system architecture\n\n#ifdef _X86_\n\n#ifdef IsNEC_98\n#undef IsNEC_98\n#endif\n\n#ifdef IsNotNEC_98\n#undef IsNotNEC_98\n#endif\n\n#ifdef SetNEC_98\n#undef SetNEC_98\n#endif\n\n#ifdef SetNotNEC_98\n#undef SetNotNEC_98\n#endif\n\n#define IsNEC_98     (SharedUserData->AlternativeArchitecture == NEC98x86)\n#define IsNotNEC_98  (SharedUserData->AlternativeArchitecture != NEC98x86)\n#define SetNEC_98    SharedUserData->AlternativeArchitecture = NEC98x86\n#define SetNotNEC_98 SharedUserData->AlternativeArchitecture = StandardDesign\n\n#endif\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Define intrinsic function to do in's and out's.\n//\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nUCHAR\n__inbyte (\n    IN USHORT Port\n    );\n\nUSHORT\n__inword (\n    IN USHORT Port\n    );\n\nULONG\n__indword (\n    IN USHORT Port\n    );\n\nVOID\n__outbyte (\n    IN USHORT Port,\n    IN UCHAR Data\n    );\n\nVOID\n__outword (\n    IN USHORT Port,\n    IN USHORT Data\n    );\n\nVOID\n__outdword (\n    IN USHORT Port,\n    IN ULONG Data\n    );\n\nVOID\n__inbytestring (\n    IN USHORT Port,\n    IN PUCHAR Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__inwordstring (\n    IN USHORT Port,\n    IN PUSHORT Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__indwordstring (\n    IN USHORT Port,\n    IN PULONG Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outbytestring (\n    IN USHORT Port,\n    IN PUCHAR Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outwordstring (\n    IN USHORT Port,\n    IN PUSHORT Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outdwordstring (\n    IN USHORT Port,\n    IN PULONG Buffer,\n    IN ULONG Count\n    );\n\n#ifdef __cplusplus\n}\n#endif\n\n#pragma intrinsic(__inbyte)\n#pragma intrinsic(__inword)\n#pragma intrinsic(__indword)\n#pragma intrinsic(__outbyte)\n#pragma intrinsic(__outword)\n#pragma intrinsic(__outdword)\n#pragma intrinsic(__inbytestring)\n#pragma intrinsic(__inwordstring)\n#pragma intrinsic(__indwordstring)\n#pragma intrinsic(__outbytestring)\n#pragma intrinsic(__outwordstring)\n#pragma intrinsic(__outdwordstring)\n\n//\n// Interlocked intrinsic functions.\n//\n\n#define InterlockedAnd _InterlockedAnd\n#define InterlockedOr _InterlockedOr\n#define InterlockedXor _InterlockedXor\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedAdd _InterlockedAdd\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n#define InterlockedCompareExchange _InterlockedCompareExchange\n\n#define InterlockedAnd64 _InterlockedAnd64\n#define InterlockedOr64 _InterlockedOr64\n#define InterlockedXor64 _InterlockedXor64\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedAdd64 _InterlockedAdd64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nLONG\nInterlockedAnd (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG\nInterlockedOr (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG\nInterlockedXor (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG64\nInterlockedAnd64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedOr64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedXor64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG\nInterlockedIncrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedDecrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\n#if !defined(_X86AMD64_)\n\n__forceinline\nLONG\nInterlockedAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    )\n\n{\n    return InterlockedExchangeAdd(Addend, Value) + Value;\n}\n\n#endif\n\nLONG\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nLONG64\nInterlockedIncrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedDecrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedExchange64(\n    IN OUT LONG64 volatile *Target,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedExchangeAdd64(\n    IN OUT LONG64 volatile *Addend,\n    IN LONG64 Value\n    );\n\n#if !defined(_X86AMD64_)\n\n__forceinline\nLONG64\nInterlockedAdd64(\n    IN OUT LONG64 volatile *Addend,\n    IN LONG64 Value\n    )\n\n{\n    return InterlockedExchangeAdd64(Addend, Value) + Value;\n}\n\n#endif\n\nLONG64\nInterlockedCompareExchange64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 ExChange,\n    IN LONG64 Comperand\n    );\n\nPVOID\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID Exchange,\n    IN PVOID Comperand\n    );\n\nPVOID\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\n#pragma intrinsic(_InterlockedAnd)\n#pragma intrinsic(_InterlockedOr)\n#pragma intrinsic(_InterlockedXor)\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedAnd64)\n#pragma intrinsic(_InterlockedOr64)\n#pragma intrinsic(_InterlockedXor64)\n#pragma intrinsic(_InterlockedIncrement64)\n#pragma intrinsic(_InterlockedDecrement64)\n#pragma intrinsic(_InterlockedExchange64)\n#pragma intrinsic(_InterlockedExchangeAdd64)\n#pragma intrinsic(_InterlockedCompareExchange64)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n#if defined(_AMD64_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG64 SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG64 PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 16\n\n//\n// Indicate that the AMD64 compiler supports the allocate pragmas.\n//\n\n#define ALLOC_PRAGMA 1\n#define ALLOC_DATA_PRAGMA 1\n\n#define NORMAL_DISPATCH_LENGTH 106                  \n#define DISPATCH_LENGTH NORMAL_DISPATCH_LENGTH      \n                                                    \n//\n// Interrupt Request Level definitions\n//\n\n#define PASSIVE_LEVEL 0                 // Passive release level\n#define LOW_LEVEL 0                     // Lowest interrupt level\n#define APC_LEVEL 1                     // APC interrupt level\n#define DISPATCH_LEVEL 2                // Dispatcher level\n\n#define CLOCK_LEVEL 13                  // Interval clock level\n#define IPI_LEVEL 14                    // Interprocessor interrupt level\n#define POWER_LEVEL 14                  // Power failure level\n#define PROFILE_LEVEL 15                // timer used for profiling.\n#define HIGH_LEVEL 15                   // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL DISPATCH_LEVEL      // synchronization level\n\n#else\n\n#define SYNCH_LEVEL (IPI_LEVEL - 1)     // synchronization level\n\n#endif\n\n#define IRQL_VECTOR_OFFSET 2            // offset from IRQL to vector / 16\n\n\n//\n// I/O space read and write macros.\n//\n//  The READ/WRITE_REGISTER_* calls manipulate I/O registers in MEMORY space.\n//  (Use move instructions, with LOCK prefix to force correct behavior\n//   w.r.t. caches and write buffers.)\n//\n//  The READ/WRITE_PORT_* calls manipulate I/O registers in PORT space.\n//  (Use in/out instructions.)\n//\n\n__forceinline\nUCHAR\nREAD_REGISTER_UCHAR (\n    volatile UCHAR *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nUSHORT\nREAD_REGISTER_USHORT (\n    volatile USHORT *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nULONG\nREAD_REGISTER_ULONG (\n    volatile ULONG *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_UCHAR (\n    PUCHAR Register,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n{\n    __movsb(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_USHORT (\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n{\n    __movsw(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_ULONG (\n    PULONG Register,\n    PULONG Buffer,\n    ULONG Count\n    )\n{\n    __movsd(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_UCHAR (\n    PUCHAR Register,\n    UCHAR Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_USHORT (\n    PUSHORT Register,\n    USHORT Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_ULONG (\n    PULONG Register,\n    ULONG Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_UCHAR (\n    PUCHAR Register,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsb(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_USHORT (\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsw(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_ULONG (\n    PULONG Register,\n    PULONG Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsd(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nUCHAR\nREAD_PORT_UCHAR (\n    PUCHAR Port\n    )\n\n{\n    return __inbyte((USHORT)((ULONG64)Port));\n}\n\n__forceinline\nUSHORT\nREAD_PORT_USHORT (\n    PUSHORT Port\n    )\n\n{\n    return __inword((USHORT)((ULONG64)Port));\n}\n\n__forceinline\nULONG\nREAD_PORT_ULONG (\n    PULONG Port\n    )\n\n{\n    return __indword((USHORT)((ULONG64)Port));\n}\n\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_UCHAR (\n    PUCHAR Port,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n\n{\n    __inbytestring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_USHORT (\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n\n{\n    __inwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_ULONG (\n    PULONG Port,\n    PULONG Buffer,\n    ULONG Count\n    )\n\n{\n    __indwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_UCHAR (\n    PUCHAR Port,\n    UCHAR Value\n    )\n\n{\n    __outbyte((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_USHORT (\n    PUSHORT Port,\n    USHORT Value\n    )\n\n{\n    __outword((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_ULONG (\n    PULONG Port,\n    ULONG Value\n    )\n\n{\n    __outdword((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_UCHAR (\n    PUCHAR Port,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n\n{\n    __outbytestring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_USHORT (\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n\n{\n    __outwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_ULONG (\n    PULONG Port,\n    PULONG Buffer,\n    ULONG Count\n    )\n\n{\n    __outdwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n// end_ntndis\n//\n// Get data cache fill size.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(KeGetDcacheFillSize)      // Use GetDmaAlignment\n#endif\n\n#define KeGetDcacheFillSize() 1L\n\n\n#define KeFlushIoBuffers(Mdl, ReadOperation, DmaOperation)\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n// begin_wdm\n\n#define KeQueryTickCount(CurrentCount ) \\\n    *(PULONG64)(CurrentCount) = **((volatile ULONG64 **)(&KeTickCount));\n\n// end_wdm\n\n#else\n\n\nVOID\nKeQueryTickCount (\n    OUT PLARGE_INTEGER CurrentCount\n    );\n\n#endif // defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n\n//\n// Processor Control Region Structure Definition\n//\n\n#define PCR_MINOR_VERSION 1\n#define PCR_MAJOR_VERSION 1\n\ntypedef struct _KPCR {\n\n//\n// Start of the architecturally defined section of the PCR. This section\n// may be directly addressed by vendor/platform specific HAL code and will\n// not change from version to version of NT.\n//\n\n    NT_TIB NtTib;\n    struct _KPRCB *CurrentPrcb;\n    ULONG64 SavedRcx;\n    ULONG64 SavedR11;\n    KIRQL Irql;\n    UCHAR SecondLevelCacheAssociativity;\n    UCHAR Number;\n    UCHAR Fill0;\n    ULONG Irr;\n    ULONG IrrActive;\n    ULONG Idr;\n    USHORT MajorVersion;\n    USHORT MinorVersion;\n    ULONG StallScaleFactor;\n    union _KIDTENTRY64 *IdtBase;\n    union _KGDTENTRY64 *GdtBase;\n    struct _KTSS64 *TssBase;\n\n\n} KPCR, *PKPCR;\n\n//\n// The nonvolatile floating state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG MxCsr;\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n//\n// AMD64 Specific portions of mm component.\n//\n// Define the page size for the AMD64 as 4096 (0x1000).\n//\n\n#define PAGE_SIZE 0x1000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 12L\n\n// end_ntndis end_wdm\n\n#define PXE_BASE          0xFFFFF6FB7DBED000UI64\n#define PXE_SELFMAP       0xFFFFF6FB7DBEDF68UI64\n#define PPE_BASE          0xFFFFF6FB7DA00000UI64\n#define PDE_BASE          0xFFFFF6FB40000000UI64\n#define PTE_BASE          0xFFFFF68000000000UI64\n\n#define PXE_TOP           0xFFFFF6FB7DBEDFFFUI64\n#define PPE_TOP           0xFFFFF6FB7DBFFFFFUI64\n#define PDE_TOP           0xFFFFF6FB7FFFFFFFUI64\n#define PTE_TOP           0xFFFFF6FFFFFFFFFFUI64\n\n#define PDE_KTBASE_AMD64  PPE_BASE\n\n#define PTI_SHIFT 12\n#define PDI_SHIFT 21\n#define PPI_SHIFT 30\n#define PXI_SHIFT 39\n\n#define PTE_PER_PAGE 512\n#define PDE_PER_PAGE 512\n#define PPE_PER_PAGE 512\n#define PXE_PER_PAGE 512\n\n#define PTI_MASK_AMD64 (PTE_PER_PAGE - 1)\n#define PDI_MASK_AMD64 (PDE_PER_PAGE - 1)\n#define PPI_MASK (PPE_PER_PAGE - 1)\n#define PXI_MASK (PXE_PER_PAGE - 1)\n\n//\n// Define the highest user address and user probe address.\n//\n\n\nextern PVOID *MmHighestUserAddress;\nextern PVOID *MmSystemRangeStart;\nextern ULONG64 *MmUserProbeAddress;\n\n#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress\n#define MM_SYSTEM_RANGE_START *MmSystemRangeStart\n#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress\n\n//\n// The lowest user address reserves the low 64k.\n//\n\n#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000\n\n//\n// The lowest address for system space.\n//\n\n#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xFFFF080000000000\n\n// begin_wdm\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(Address) MmLockPagableDataSection(Address)\n\n\n#define KI_USER_SHARED_DATA     0xFFFFF78000000000UI64\n\n#define SharedUserData  ((KUSER_SHARED_DATA * const) KI_USER_SHARED_DATA)\n\n//\n// Intrinsic functions\n//\n\n//  begin_wdm\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED)  && !defined(MIDL_PASS)\n\n// end_wdm\n\n//\n// The following routines are provided for backward compatibility with old\n// code. They are no longer the preferred way to accomplish these functions.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInterlockedIncrementLong)      // Use InterlockedIncrement\n#pragma deprecated(ExInterlockedDecrementLong)      // Use InterlockedDecrement\n#pragma deprecated(ExInterlockedExchangeUlong)      // Use InterlockedExchange\n#endif\n\n#define RESULT_ZERO 0\n#define RESULT_NEGATIVE 1\n#define RESULT_POSITIVE 2\n\ntypedef enum _INTERLOCKED_RESULT {\n    ResultNegative = RESULT_NEGATIVE,\n    ResultZero = RESULT_ZERO,\n    ResultPositive = RESULT_POSITIVE\n} INTERLOCKED_RESULT;\n\n#define ExInterlockedDecrementLong(Addend, Lock)                            \\\n    _ExInterlockedDecrementLong(Addend)\n\n__forceinline\nLONG\n_ExInterlockedDecrementLong (\n    IN OUT PLONG Addend\n    )\n\n{\n\n    LONG Result;\n\n    Result = InterlockedDecrement(Addend);\n    if (Result < 0) {\n        return ResultNegative;\n\n    } else if (Result > 0) {\n        return ResultPositive;\n\n    } else {\n        return ResultZero;\n    }\n}\n\n#define ExInterlockedIncrementLong(Addend, Lock)                            \\\n    _ExInterlockedIncrementLong(Addend)\n\n__forceinline\nLONG\n_ExInterlockedIncrementLong (\n    IN OUT PLONG Addend\n    )\n\n{\n\n    LONG Result;\n\n    Result = InterlockedIncrement(Addend);\n    if (Result < 0) {\n        return ResultNegative;\n\n    } else if (Result > 0) {\n        return ResultPositive;\n\n    } else {\n        return ResultZero;\n    }\n}\n\n#define ExInterlockedExchangeUlong(Target, Value, Lock)                     \\\n    _ExInterlockedExchangeUlong(Target, Value)\n\n__forceinline\n_ExInterlockedExchangeUlong (\n    IN OUT PULONG Target,\n    IN ULONG Value\n    )\n\n{\n\n    return (ULONG)InterlockedExchange((PLONG)Target, (LONG)Value);\n}\n\n// begin_wdm\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED)  && !defined(MIDL_PASS)\n\n\n#if !defined(MIDL_PASS) && defined(_M_AMD64)\n\n//\n// AMD646 function prototype definitions\n//\n\n// end_wdm\n\n\n//\n// Get the current processor number\n//\n\n__forceinline\nULONG\nKeGetCurrentProcessorNumber (\n    VOID\n    )\n\n{\n\n    return (ULONG)__readgsbyte(FIELD_OFFSET(KPCR, Number));\n}\n\n\n// begin_wdm\n\n#endif // !defined(MIDL_PASS) && defined(_M_AMD64)\n\n\nNTKERNELAPI\nNTSTATUS\nKeSaveFloatingPointState (\n    OUT PKFLOATING_SAVE SaveArea\n    );\n\nNTKERNELAPI\nNTSTATUS\nKeRestoreFloatingPointState (\n    IN PKFLOATING_SAVE SaveArea\n    );\n\n\n#endif // defined(_AMD64_)\n\n\n\n#if defined(_AMD64_)\n\nNTKERNELAPI\nKIRQL\nKeGetCurrentIrql (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeLowerIrql (\n    IN KIRQL NewIrql\n    );\n\n#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)\n\nNTKERNELAPI\nKIRQL\nKfRaiseIrql (\n    IN KIRQL NewIrql\n    );\n\n// end_wdm\n\nNTKERNELAPI\nKIRQL\nKeRaiseIrqlToDpcLevel (\n    VOID\n    );\n\nNTKERNELAPI\nKIRQL\nKeRaiseIrqlToSynchLevel (\n    VOID\n    );\n\n// begin_wdm\n\n#endif // defined(_AMD64_)\n\n\n#if defined(_IA64_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG_PTR SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG_PTR PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 100\n\n//\n// Indicate that the IA64 compiler supports the pragma textout construct.\n//\n\n#define ALLOC_PRAGMA 1\n\n//\n// Define intrinsic calls and their prototypes\n//\n\n#include \"ia64reg.h\"\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nunsigned __int64 __getReg (int);\nvoid __setReg (int, unsigned __int64);\nvoid __isrlz (void);\nvoid __dsrlz (void);\nvoid __fwb (void);\nvoid __mf (void);\nvoid __mfa (void);\nvoid __synci (void);\n__int64 __thash (__int64);\n__int64 __ttag (__int64);\nvoid __ptcl (__int64, __int64);\nvoid __ptcg (__int64, __int64);\nvoid __ptcga (__int64, __int64);\nvoid __ptri (__int64, __int64);\nvoid __ptrd (__int64, __int64);\nvoid __invalat (void);\nvoid __break (int);\nvoid __fc (__int64);\nvoid __sum (int);\nvoid __rsm (int);\nvoid _ReleaseSpinLock( unsigned __int64 *);\n\n#ifdef _M_IA64\n#pragma intrinsic (__getReg)\n#pragma intrinsic (__setReg)\n#pragma intrinsic (__isrlz)\n#pragma intrinsic (__dsrlz)\n#pragma intrinsic (__fwb)\n#pragma intrinsic (__mf)\n#pragma intrinsic (__mfa)\n#pragma intrinsic (__synci)\n#pragma intrinsic (__thash)\n#pragma intrinsic (__ttag)\n#pragma intrinsic (__ptcl)\n#pragma intrinsic (__ptcg)\n#pragma intrinsic (__ptcga)\n#pragma intrinsic (__ptri)\n#pragma intrinsic (__ptrd)\n#pragma intrinsic (__invalat)\n#pragma intrinsic (__break)\n#pragma intrinsic (__fc)\n#pragma intrinsic (__sum)\n#pragma intrinsic (__rsm)\n#pragma intrinsic (_ReleaseSpinLock)\n\n#endif // _M_IA64\n\n#ifdef __cplusplus\n}\n#endif\n\n\n// end_wdm end_ntndis\n\n//\n// Define macro to generate import names.\n//\n\n#define IMPORT_NAME(name) __imp_##name\n\n// begin_wdm\n\n//\n// Define length of interrupt vector table.\n//\n\n#define MAXIMUM_VECTOR 256\n\n// end_wdm\n\n\n//\n// IA64 specific interlocked operation result values.\n//\n\n#define RESULT_ZERO 0\n#define RESULT_NEGATIVE 1\n#define RESULT_POSITIVE 2\n\n//\n// Interlocked result type is portable, but its values are machine specific.\n// Constants for values are in i386.h, mips.h, etc.\n//\n\ntypedef enum _INTERLOCKED_RESULT {\n    ResultNegative = RESULT_NEGATIVE,\n    ResultZero     = RESULT_ZERO,\n    ResultPositive = RESULT_POSITIVE\n} INTERLOCKED_RESULT;\n\n//\n// Convert portable interlock interfaces to architecture specific interfaces.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInterlockedIncrementLong)      // Use InterlockedIncrement\n#pragma deprecated(ExInterlockedDecrementLong)      // Use InterlockedDecrement\n#pragma deprecated(ExInterlockedExchangeUlong)      // Use InterlockedExchange\n#endif\n\n#define ExInterlockedIncrementLong(Addend, Lock) \\\n    ExIa64InterlockedIncrementLong(Addend)\n\n#define ExInterlockedDecrementLong(Addend, Lock) \\\n    ExIa64InterlockedDecrementLong(Addend)\n\n#define ExInterlockedExchangeUlong(Target, Value, Lock) \\\n    ExIa64InterlockedExchangeUlong(Target, Value)\n\nNTKERNELAPI\nINTERLOCKED_RESULT\nExIa64InterlockedIncrementLong (\n    IN PLONG Addend\n    );\n\nNTKERNELAPI\nINTERLOCKED_RESULT\nExIa64InterlockedDecrementLong (\n    IN PLONG Addend\n    );\n\nNTKERNELAPI\nULONG\nExIa64InterlockedExchangeUlong (\n    IN PULONG Target,\n    IN ULONG Value\n    );\n\f\n// begin_wdm\n\n//\n// IA64 Interrupt Definitions.\n//\n// Define length of interrupt object dispatch code in longwords.\n//\n\n#define DISPATCH_LENGTH 2*2                // Length of dispatch code template in 32-bit words\n\n//\n// Begin of a block of definitions that must be synchronized with kxia64.h.\n//\n\n//\n// Define Interrupt Request Levels.\n//\n\n#define PASSIVE_LEVEL            0      // Passive release level\n#define LOW_LEVEL                0      // Lowest interrupt level\n#define APC_LEVEL                1      // APC interrupt level\n#define DISPATCH_LEVEL           2      // Dispatcher level\n#define CMC_LEVEL                3      // Correctable machine check level\n#define DEVICE_LEVEL_BASE        4      // 4 - 11 - Device IRQLs\n#define PC_LEVEL                12      // Performance Counter IRQL\n#define IPI_LEVEL               14      // IPI IRQL\n#define CLOCK_LEVEL             13      // Clock Timer IRQL\n#define POWER_LEVEL             15      // Power failure level\n#define PROFILE_LEVEL           15      // Profiling level\n#define HIGH_LEVEL              15      // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL             DISPATCH_LEVEL  // Synchronization level - UP\n\n#else\n\n#define SYNCH_LEVEL             (IPI_LEVEL-1) // Synchronization level - MP\n\n#endif\n\n//\n// The current IRQL is maintained in the TPR.mic field. The\n// shift count is the number of bits to shift right to extract the\n// IRQL from the TPR. See the GET/SET_IRQL macros.\n//\n\n#define TPR_MIC        4\n#define TPR_IRQL_SHIFT TPR_MIC\n\n// To go from vector number <-> IRQL we just do a shift\n#define VECTOR_IRQL_SHIFT TPR_IRQL_SHIFT\n\n//\n// Interrupt Vector Definitions\n//\n\n#define APC_VECTOR          APC_LEVEL << VECTOR_IRQL_SHIFT\n#define DISPATCH_VECTOR     DISPATCH_LEVEL << VECTOR_IRQL_SHIFT\n\n\n//\n// End of a block of definitions that must be synchronized with kxia64.h.\n//\n\n//\n// Define profile intervals.\n//\n\n#define DEFAULT_PROFILE_COUNT 0x40000000 // ~= 20 seconds @50mhz\n#define DEFAULT_PROFILE_INTERVAL (10 * 500) // 500 microseconds\n#define MAXIMUM_PROFILE_INTERVAL (10 * 1000 * 1000) // 1 second\n#define MINIMUM_PROFILE_INTERVAL (10 * 40) // 40 microseconds\n\n#if defined(_M_IA64) && !defined(RC_INVOKED)\n\n#define InterlockedAdd _InterlockedAdd\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n\n#define InterlockedAdd64 _InterlockedAdd64\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n#define InterlockedCompareExchange _InterlockedCompareExchange\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nLONG\n__cdecl\nInterlockedAdd (\n    LONG volatile *Addend,\n    LONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedAdd64 (\n    LONGLONG volatile *Addend,\n    LONGLONG Value\n    );\n\nLONG\n__cdecl\nInterlockedIncrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\n__cdecl\nInterlockedDecrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\n__cdecl\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nLONGLONG\n__cdecl\nInterlockedIncrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedDecrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchange64(\n    IN OUT LONGLONG volatile *Target,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchangeAdd64(\n    IN OUT LONGLONG volatile *Addend,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedCompareExchange64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG ExChange,\n    IN LONGLONG Comperand\n    );\n\nPVOID\n__cdecl\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID Exchange,\n    IN PVOID Comperand\n    );\n\nPVOID\n__cdecl\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\n#pragma intrinsic(_InterlockedAdd)\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedAdd64)\n#pragma intrinsic(_InterlockedIncrement64)\n#pragma intrinsic(_InterlockedDecrement64)\n#pragma intrinsic(_InterlockedExchange64)\n#pragma intrinsic(_InterlockedCompareExchange64)\n#pragma intrinsic(_InterlockedExchangeAdd64)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // defined(_M_IA64) && !defined(RC_INVOKED)\n\n\n__inline\nLONG\nInterlockedAnd (\n    IN OUT LONG volatile *Target,\n    LONG Set\n    )\n{\n    LONG i;\n    LONG j;\n\n    j = *Target;\n    do {\n        i = j;\n        j = InterlockedCompareExchange(Target,\n                                       i & Set,\n                                       i);\n\n    } while (i != j);\n\n    return j;\n}\n\n__inline\nLONG\nInterlockedOr (\n    IN OUT LONG volatile *Target,\n    IN LONG Set\n    )\n{\n    LONG i;\n    LONG j;\n\n    j = *Target;\n    do {\n        i = j;\n        j = InterlockedCompareExchange(Target,\n                                       i | Set,\n                                       i);\n\n    } while (i != j);\n\n    return j;\n}\n\n\n#define KI_USER_SHARED_DATA ((ULONG_PTR)(KADDRESS_BASE + 0xFFFE0000))\n#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)\n\n//\n// Prototype for get current IRQL. **** TBD (read TPR)\n//\n\nNTKERNELAPI\nKIRQL\nKeGetCurrentIrql();\n\n// end_wdm\n\n//\n// Get address of current processor block.\n//\n\n#define KeGetCurrentPrcb() PCR->Prcb\n\n//\n// Get address of processor control region.\n//\n\n#define KeGetPcr() PCR\n\n//\n// Get address of current kernel thread object.\n//\n\n#if defined(_M_IA64)\n#define KeGetCurrentThread() PCR->CurrentThread\n#endif\n\n//\n// Get current processor number.\n//\n\n#define KeGetCurrentProcessorNumber() PCR->Number\n\n//\n// Get data cache fill size.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(KeGetDcacheFillSize)      // Use GetDmaAlignment\n#endif\n\n#define KeGetDcacheFillSize() PCR->DcacheFillSize\n\n\n#define KeSaveFloatingPointState(a)         STATUS_SUCCESS\n#define KeRestoreFloatingPointState(a)      STATUS_SUCCESS\n\n\n//\n// Define the page size\n//\n\n#define PAGE_SIZE 0x2000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 13L\n\n//\n// Cache and write buffer flush functions.\n//\n\nNTKERNELAPI\nVOID\nKeFlushIoBuffers (\n    IN PMDL Mdl,\n    IN BOOLEAN ReadOperation,\n    IN BOOLEAN DmaOperation\n    );\n\n\n//\n// Kernel breakin breakpoint\n//\n\nVOID\nKeBreakinBreakpoint (\n    VOID\n    );\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n// begin_wdm\n\n#define KeQueryTickCount(CurrentCount ) \\\n    *(PULONGLONG)(CurrentCount) = **((volatile ULONGLONG **)(&KeTickCount));\n\n// end_wdm\n\n#else\n\n\nNTKERNELAPI\nVOID\nKeQueryTickCount (\n    OUT PLARGE_INTEGER CurrentCount\n    );\n\n#endif // defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_)\n\n//\n// I/O space read and write macros.\n//\n\nNTHALAPI\nUCHAR\nREAD_PORT_UCHAR (\n    PUCHAR RegisterAddress\n    );\n\nNTHALAPI\nUSHORT\nREAD_PORT_USHORT (\n    PUSHORT RegisterAddress\n    );\n\nNTHALAPI\nULONG\nREAD_PORT_ULONG (\n    PULONG RegisterAddress\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_UCHAR (\n    PUCHAR portAddress,\n    PUCHAR readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_USHORT (\n    PUSHORT portAddress,\n    PUSHORT readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_ULONG (\n    PULONG portAddress,\n    PULONG readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_UCHAR (\n    PUCHAR portAddress,\n    UCHAR  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_USHORT (\n    PUSHORT portAddress,\n    USHORT  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_ULONG (\n    PULONG portAddress,\n    ULONG  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_UCHAR (\n    PUCHAR portAddress,\n    PUCHAR writeBuffer,\n    ULONG  writeCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_USHORT (\n    PUSHORT portAddress,\n    PUSHORT writeBuffer,\n    ULONG  writeCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_ULONG (\n    PULONG portAddress,\n    PULONG writeBuffer,\n    ULONG  writeCount\n    );\n\n\n#define READ_REGISTER_UCHAR(x) \\\n    (__mf(), *(volatile UCHAR * const)(x))\n\n#define READ_REGISTER_USHORT(x) \\\n    (__mf(), *(volatile USHORT * const)(x))\n\n#define READ_REGISTER_ULONG(x) \\\n    (__mf(), *(volatile ULONG * const)(x))\n\n#define READ_REGISTER_BUFFER_UCHAR(x, y, z) {                           \\\n    PUCHAR registerBuffer = x;                                          \\\n    PUCHAR readBuffer = y;                                              \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile UCHAR * const)(registerBuffer);        \\\n    }                                                                   \\\n}\n\n#define READ_REGISTER_BUFFER_USHORT(x, y, z) {                          \\\n    PUSHORT registerBuffer = x;                                         \\\n    PUSHORT readBuffer = y;                                             \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile USHORT * const)(registerBuffer);       \\\n    }                                                                   \\\n}\n\n#define READ_REGISTER_BUFFER_ULONG(x, y, z) {                           \\\n    PULONG registerBuffer = x;                                          \\\n    PULONG readBuffer = y;                                              \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile ULONG * const)(registerBuffer);        \\\n    }                                                                   \\\n}\n\n#define WRITE_REGISTER_UCHAR(x, y) {    \\\n    *(volatile UCHAR * const)(x) = y;   \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_USHORT(x, y) {   \\\n    *(volatile USHORT * const)(x) = y;  \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_ULONG(x, y) {    \\\n    *(volatile ULONG * const)(x) = y;   \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_BUFFER_UCHAR(x, y, z) {                            \\\n    PUCHAR registerBuffer = x;                                            \\\n    PUCHAR writeBuffer = y;                                               \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile UCHAR * const)(registerBuffer) = *writeBuffer;         \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n#define WRITE_REGISTER_BUFFER_USHORT(x, y, z) {                           \\\n    PUSHORT registerBuffer = x;                                           \\\n    PUSHORT writeBuffer = y;                                              \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile USHORT * const)(registerBuffer) = *writeBuffer;        \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n#define WRITE_REGISTER_BUFFER_ULONG(x, y, z) {                            \\\n    PULONG registerBuffer = x;                                            \\\n    PULONG writeBuffer = y;                                               \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile ULONG * const)(registerBuffer) = *writeBuffer;         \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n//\n// Non-volatile floating point state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG   Reserved;\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n\n//\n// Processor Control Block (PRCB)\n//\n\n#define PRCB_MINOR_VERSION 1\n#define PRCB_MAJOR_VERSION 1\n#define PRCB_BUILD_DEBUG        0x0001\n#define PRCB_BUILD_UNIPROCESSOR 0x0002\n\nstruct _RESTART_BLOCK;\n\ntypedef struct _KPRCB {\n\n//\n// Major and minor version numbers of the PCR.\n//\n\n    USHORT MinorVersion;\n    USHORT MajorVersion;\n\n//\n// Start of the architecturally defined section of the PRCB. This section\n// may be directly addressed by vendor/platform specific HAL code and will\n// not change from version to version of NT.\n//\n//\n\n    struct _KTHREAD *CurrentThread;\n    struct _KTHREAD *RESTRICTED_POINTER NextThread;\n    struct _KTHREAD *IdleThread;\n    CCHAR Number;\n    CCHAR WakeIdle;\n    USHORT BuildType;\n    KAFFINITY SetMember;\n    struct _RESTART_BLOCK *RestartBlock;\n    ULONG_PTR PcrPage;\n    ULONG Spare0[4];\n\n//\n// Processor Idendification Registers.\n//\n\n    ULONG     ProcessorModel;\n    ULONG     ProcessorRevision;\n    ULONG     ProcessorFamily;\n    ULONG     ProcessorArchRev;\n    ULONGLONG ProcessorSerialNumber;\n    ULONGLONG ProcessorFeatureBits;\n    UCHAR     ProcessorVendorString[16];\n\n//\n// Space reserved for the system.\n//\n\n    ULONGLONG SystemReserved[8];\n\n//\n// Space reserved for the HAL.\n//\n\n    ULONGLONG HalReserved[16];\n\n//\n// End of the architecturally defined section of the PRCB.\n} KPRCB, *PKPRCB, *RESTRICTED_POINTER PRKPRCB;\n\n// begin_ntndis\n\n//\n// OS_MCA, OS_INIT HandOff State definitions\n//\n// Note: The following definitions *must* match the definiions of the\n//       corresponding SAL Revision Hand-Off structures.\n//\n\ntypedef struct _SAL_HANDOFF_STATE   {\n    ULONGLONG     PalProcEntryPoint;\n    ULONGLONG     SalProcEntryPoint;\n    ULONGLONG     SalGlobalPointer;\n     LONGLONG     RendezVousResult;\n    ULONGLONG     SalReturnAddress;\n    ULONGLONG     MinStateSavePtr;\n} SAL_HANDOFF_STATE, *PSAL_HANDOFF_STATE;\n\ntypedef struct _OS_HANDOFF_STATE    {\n    ULONGLONG     Result;\n    ULONGLONG     SalGlobalPointer;\n    ULONGLONG     MinStateSavePtr;\n    ULONGLONG     SalReturnAddress;\n    ULONGLONG     NewContextFlag;\n} OS_HANDOFF_STATE, *POS_HANDOFF_STATE;\n\n//\n// per processor OS_MCA and OS_INIT resource structure\n//\n\n\n#define SER_EVENT_STACK_FRAME_ENTRIES    8\n\ntypedef struct _SAL_EVENT_RESOURCES {\n\n    SAL_HANDOFF_STATE   SalToOsHandOff;\n    OS_HANDOFF_STATE    OsToSalHandOff;\n    PVOID               StateDump;\n    ULONGLONG           StateDumpPhysical;\n    PVOID               BackStore;\n    ULONGLONG           BackStoreLimit;\n    PVOID               Stack;\n    ULONGLONG           StackLimit;\n    PULONGLONG          PTOM;\n    ULONGLONG           StackFrame[SER_EVENT_STACK_FRAME_ENTRIES];\n    PVOID               EventPool;\n    ULONG               EventPoolSize;\n} SAL_EVENT_RESOURCES, *PSAL_EVENT_RESOURCES;\n\n//\n// PAL Mini-save area, used by MCA and INIT\n//\n\ntypedef struct _PAL_MINI_SAVE_AREA {\n    ULONGLONG IntNats;      //  Nat bits for r1-r31\n                            //  r1-r31 in bits 1 thru 31.\n    ULONGLONG IntGp;        //  r1, volatile\n    ULONGLONG IntT0;        //  r2-r3, volatile\n    ULONGLONG IntT1;        //\n    ULONGLONG IntS0;        //  r4-r7, preserved\n    ULONGLONG IntS1;\n    ULONGLONG IntS2;\n    ULONGLONG IntS3;\n    ULONGLONG IntV0;        //  r8, volatile\n    ULONGLONG IntT2;        //  r9-r11, volatile\n    ULONGLONG IntT3;\n    ULONGLONG IntT4;\n    ULONGLONG IntSp;        //  stack pointer (r12), special\n    ULONGLONG IntTeb;       //  teb (r13), special\n    ULONGLONG IntT5;        //  r14-r31, volatile\n    ULONGLONG IntT6;\n\n    ULONGLONG B0R16;        // Bank 0 registers 16-31\n    ULONGLONG B0R17;        \n    ULONGLONG B0R18;        \n    ULONGLONG B0R19;        \n    ULONGLONG B0R20;        \n    ULONGLONG B0R21;        \n    ULONGLONG B0R22;        \n    ULONGLONG B0R23;        \n    ULONGLONG B0R24;        \n    ULONGLONG B0R25;        \n    ULONGLONG B0R26;        \n    ULONGLONG B0R27;        \n    ULONGLONG B0R28;        \n    ULONGLONG B0R29;        \n    ULONGLONG B0R30;        \n    ULONGLONG B0R31;        \n\n    ULONGLONG IntT7;        // Bank 1 registers 16-31\n    ULONGLONG IntT8;\n    ULONGLONG IntT9;\n    ULONGLONG IntT10;\n    ULONGLONG IntT11;\n    ULONGLONG IntT12;\n    ULONGLONG IntT13;\n    ULONGLONG IntT14;\n    ULONGLONG IntT15;\n    ULONGLONG IntT16;\n    ULONGLONG IntT17;\n    ULONGLONG IntT18;\n    ULONGLONG IntT19;\n    ULONGLONG IntT20;\n    ULONGLONG IntT21;\n    ULONGLONG IntT22;\n\n    ULONGLONG Preds;        //  predicates, preserved\n    ULONGLONG BrRp;         //  return pointer, b0, preserved\n    ULONGLONG RsRSC;        //  RSE configuration, volatile\n    ULONGLONG StIIP;        //  Interruption IP\n    ULONGLONG StIPSR;       //  Interruption Processor Status\n    ULONGLONG StIFS;        //  Interruption Function State\n    ULONGLONG XIP;          //  Event IP\n    ULONGLONG XPSR;         //  Event Processor Status\n    ULONGLONG XFS;          //  Event Function State\n    \n} PAL_MINI_SAVE_AREA, *PPAL_MINI_SAVE_AREA;\n\n//\n// Define Processor Control Region Structure.\n//\n\n#define PCR_MINOR_VERSION 1\n#define PCR_MAJOR_VERSION 1\n\ntypedef struct _KPCR {\n\n//\n// Major and minor version numbers of the PCR.\n//\n    ULONG MinorVersion;\n    ULONG MajorVersion;\n\n//\n// Start of the architecturally defined section of the PCR. This section\n// may be directly addressed by vendor/platform specific HAL code and will\n// not change from version to version of NT.\n//\n\n//\n// First and second level cache parameters.\n//\n\n    ULONG FirstLevelDcacheSize;\n    ULONG FirstLevelDcacheFillSize;\n    ULONG FirstLevelIcacheSize;\n    ULONG FirstLevelIcacheFillSize;\n    ULONG SecondLevelDcacheSize;\n    ULONG SecondLevelDcacheFillSize;\n    ULONG SecondLevelIcacheSize;\n    ULONG SecondLevelIcacheFillSize;\n\n//\n// Data cache alignment and fill size used for cache flushing and alignment.\n// These fields are set to the larger of the first and second level data\n// cache fill sizes.\n//\n\n    ULONG DcacheAlignment;\n    ULONG DcacheFillSize;\n\n//\n// Instruction cache alignment and fill size used for cache flushing and\n// alignment. These fields are set to the larger of the first and second\n// level data cache fill sizes.\n//\n\n    ULONG IcacheAlignment;\n    ULONG IcacheFillSize;\n\n//\n// Processor identification from PrId register.\n//\n\n    ULONG ProcessorId;\n\n//\n// Profiling data.\n//\n\n    ULONG ProfileInterval;\n    ULONG ProfileCount;\n\n//\n// Stall execution count and scale factor.\n//\n\n    ULONG StallExecutionCount;\n    ULONG StallScaleFactor;\n\n    ULONG InterruptionCount;\n\n//\n// Space reserved for the system.\n//\n\n    ULONGLONG   SystemReserved[6];\n\n//\n// Space reserved for the HAL\n//\n\n    ULONGLONG   HalReserved[64];\n\n//\n// IRQL mapping tables.\n//\n\n    UCHAR IrqlMask[64];\n    UCHAR IrqlTable[64];\n\n//\n// External Interrupt vectors.\n//\n\n    PKINTERRUPT_ROUTINE InterruptRoutine[MAXIMUM_VECTOR];\n\n//\n// Reserved interrupt vector mask.\n//\n\n    ULONG ReservedVectors;\n\n//\n// Processor affinity mask.\n//\n\n    KAFFINITY SetMember;\n\n//\n// Complement of the processor affinity mask.\n//\n\n    KAFFINITY NotMember;\n\n//\n// Pointer to processor control block.\n//\n\n    struct _KPRCB *Prcb;\n\n//\n//  Shadow copy of Prcb->CurrentThread for fast access\n//\n\n    struct _KTHREAD *CurrentThread;\n\n//\n// Processor number.\n//\n\n    CCHAR Number;                        // Processor Number\n    UCHAR DebugActive;                   // debug register active in user flag\n    UCHAR KernelDebugActive;             // debug register active in kernel flag\n    UCHAR CurrentIrql;                   // Current IRQL\n    union {\n        USHORT SoftwareInterruptPending; // Software Interrupt Pending Flag\n        struct {\n            UCHAR ApcInterrupt;          // 0x01 if APC int pending\n            UCHAR DispatchInterrupt;     // 0x01 if dispatch int pending\n        };\n    };\n\n//\n// Address of per processor SAPIC EOI Table\n//\n\n    PVOID       EOITable;\n\n//\n// IA-64 Machine Check Events trackers\n//\n\n    UCHAR       InOsMca;\n    UCHAR       InOsInit;\n    UCHAR       InOsCmc;\n    UCHAR       InOsCpe;\n    ULONG       InOsULONG_Spare; // Spare ULONG\n    PSAL_EVENT_RESOURCES OsMcaResourcePtr;\n    PSAL_EVENT_RESOURCES OsInitResourcePtr;\n\n//\n// End of the architecturally defined section of the PCR. This section\n// may be directly addressed by vendor/platform specific HAL code and will\n// not change from version to version of NT.\n//\n\n\n} KPCR, *PKPCR;\n\n\n//\n// The highest user address reserves 64K bytes for a guard page. This\n// the probing of address from kernel mode to only have to check the\n// starting address for structures of 64k bytes or less.\n//\n\nextern NTKERNELAPI PVOID MmHighestUserAddress;\nextern NTKERNELAPI PVOID MmSystemRangeStart;\nextern NTKERNELAPI ULONG_PTR MmUserProbeAddress;\n\n\n#define MM_HIGHEST_USER_ADDRESS MmHighestUserAddress\n#define MM_USER_PROBE_ADDRESS MmUserProbeAddress\n#define MM_SYSTEM_RANGE_START MmSystemRangeStart\n\n//\n// The lowest user address reserves the low 64k.\n//\n\n#define MM_LOWEST_USER_ADDRESS  (PVOID)((ULONG_PTR)(UADDRESS_BASE+0x00010000))\n\n// begin_wdm\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(PLabelAddress) \\\n    MmLockPagableDataSection((PVOID)(*((PULONGLONG)PLabelAddress)))\n\n#define VRN_MASK   0xE000000000000000UI64    // Virtual Region Number mask\n\n//\n// The lowest address for system space.\n//\n\n#define MM_LOWEST_SYSTEM_ADDRESS ((PVOID)((ULONG_PTR)(KADDRESS_BASE + 0xC0C00000)))\n#endif // defined(_IA64_)\n//\n// Event Specific Access Rights.\n//\n\n#define EVENT_QUERY_STATE       0x0001\n#define EVENT_MODIFY_STATE      0x0002  // winnt\n#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt\n\n//\n// Semaphore Specific Access Rights.\n//\n\n#define SEMAPHORE_QUERY_STATE       0x0001\n#define SEMAPHORE_MODIFY_STATE      0x0002  // winnt\n\n#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) // winnt\n\n//\n// Timer APC routine definition.\n//\n\ntypedef\nVOID\n(*PTIMER_APC_ROUTINE) (\n    IN PVOID TimerContext,\n    IN ULONG TimerLowValue,\n    IN LONG TimerHighValue\n    );\n\n\n//\n//  Driver Verifier Definitions\n//\n\ntypedef ULONG_PTR (*PDRIVER_VERIFIER_THUNK_ROUTINE) (\n    IN PVOID Context\n    );\n\n//\n//  This structure is passed in by drivers that want to thunk callers of\n//  their exports.\n//\n\ntypedef struct _DRIVER_VERIFIER_THUNK_PAIRS {\n    PDRIVER_VERIFIER_THUNK_ROUTINE  PristineRoutine;\n    PDRIVER_VERIFIER_THUNK_ROUTINE  NewRoutine;\n} DRIVER_VERIFIER_THUNK_PAIRS, *PDRIVER_VERIFIER_THUNK_PAIRS;\n\n//\n//  Driver Verifier flags.\n//\n\n#define DRIVER_VERIFIER_SPECIAL_POOLING             0x0001\n#define DRIVER_VERIFIER_FORCE_IRQL_CHECKING         0x0002\n#define DRIVER_VERIFIER_INJECT_ALLOCATION_FAILURES  0x0004\n#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS      0x0008\n#define DRIVER_VERIFIER_IO_CHECKING                 0x0010\n\n\n//\n// Defined processor features\n//\n\n#define PF_FLOATING_POINT_PRECISION_ERRATA  0   // winnt\n#define PF_FLOATING_POINT_EMULATED          1   // winnt\n#define PF_COMPARE_EXCHANGE_DOUBLE          2   // winnt\n#define PF_MMX_INSTRUCTIONS_AVAILABLE       3   // winnt\n#define PF_PPC_MOVEMEM_64BIT_OK             4   // winnt\n#define PF_ALPHA_BYTE_INSTRUCTIONS          5   // winnt\n#define PF_XMMI_INSTRUCTIONS_AVAILABLE      6   // winnt\n#define PF_3DNOW_INSTRUCTIONS_AVAILABLE     7   // winnt\n#define PF_RDTSC_INSTRUCTION_AVAILABLE      8   // winnt\n#define PF_PAE_ENABLED                      9   // winnt\n#define PF_XMMI64_INSTRUCTIONS_AVAILABLE   10   // winnt\n\ntypedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {\n    StandardDesign,                 // None == 0 == standard design\n    NEC98x86,                       // NEC PC98xx series on X86\n    EndAlternatives                 // past end of known alternatives\n} ALTERNATIVE_ARCHITECTURE_TYPE;\n\n// correctly define these run-time definitions for non X86 machines\n\n#ifndef _X86_\n\n#ifndef IsNEC_98\n#define IsNEC_98 (FALSE)\n#endif\n\n#ifndef IsNotNEC_98\n#define IsNotNEC_98 (TRUE)\n#endif\n\n#ifndef SetNEC_98\n#define SetNEC_98\n#endif\n\n#ifndef SetNotNEC_98\n#define SetNotNEC_98\n#endif\n\n#endif\n\n#define PROCESSOR_FEATURE_MAX 64\n\n// end_wdm\n\n#if defined(REMOTE_BOOT)\n//\n// Defined system flags.\n//\n\n/* the following two lines should be tagged with \"winnt\" when REMOTE_BOOT is on. */\n#define SYSTEM_FLAG_REMOTE_BOOT_CLIENT 0x00000001\n#define SYSTEM_FLAG_DISKLESS_CLIENT    0x00000002\n#endif // defined(REMOTE_BOOT)\n\n//\n// Define data shared between kernel and user mode.\n//\n// N.B. User mode has read only access to this data\n//\n#ifdef _MAC\n#pragma warning( disable : 4121)\n#endif\n\n//\n// Note: When adding a new field that's processor-architecture-specific (for example, bound with #if i386),\n// then place this field to be the last element in the KUSER_SHARED_DATA so that offsets into common\n// fields are the same for Wow6432 and Win64.\n//\n\ntypedef struct _KUSER_SHARED_DATA {\n\n    //\n    // Current low 32-bit of tick count and tick count multiplier.\n    //\n    // N.B. The tick count is updated each time the clock ticks.\n    //\n\n    volatile ULONG TickCountLow;\n    ULONG TickCountMultiplier;\n\n    //\n    // Current 64-bit interrupt time in 100ns units.\n    //\n\n    volatile KSYSTEM_TIME InterruptTime;\n\n    //\n    // Current 64-bit system time in 100ns units.\n    //\n\n    volatile KSYSTEM_TIME SystemTime;\n\n    //\n    // Current 64-bit time zone bias.\n    //\n\n    volatile KSYSTEM_TIME TimeZoneBias;\n\n    //\n    // Support image magic number range for the host system.\n    //\n    // N.B. This is an inclusive range.\n    //\n\n    USHORT ImageNumberLow;\n    USHORT ImageNumberHigh;\n\n    //\n    // Copy of system root in Unicode\n    //\n\n    WCHAR NtSystemRoot[ 260 ];\n\n    //\n    // Maximum stack trace depth if tracing enabled.\n    //\n\n    ULONG MaxStackTraceDepth;\n\n    //\n    // Crypto Exponent\n    //\n\n    ULONG CryptoExponent;\n\n    //\n    // TimeZoneId\n    //\n\n    ULONG TimeZoneId;\n\n    ULONG Reserved2[ 8 ];\n\n    //\n    // product type\n    //\n\n    NT_PRODUCT_TYPE NtProductType;\n    BOOLEAN ProductTypeIsValid;\n\n    //\n    // NT Version. Note that each process sees a version from its PEB, but\n    // if the process is running with an altered view of the system version,\n    // the following two fields are used to correctly identify the version\n    //\n\n    ULONG NtMajorVersion;\n    ULONG NtMinorVersion;\n\n    //\n    // Processor Feature Bits\n    //\n\n    BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX];\n\n    //\n    // Reserved fields - do not use\n    //\n    ULONG Reserved1;\n    ULONG Reserved3;\n\n    //\n    // Time slippage while in debugger\n    //\n\n    volatile ULONG TimeSlip;\n\n    //\n    // Alternative system architecture.  Example: NEC PC98xx on x86\n    //\n\n    ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture;\n\n    //\n    // If the system is an evaluation unit, the following field contains the\n    // date and time that the evaluation unit expires. A value of 0 indicates\n    // that there is no expiration. A non-zero value is the UTC absolute time\n    // that the system expires.\n    //\n\n    LARGE_INTEGER SystemExpirationDate;\n\n    //\n    // Suite Support\n    //\n\n    ULONG SuiteMask;\n\n    //\n    // TRUE if a kernel debugger is connected/enabled\n    //\n\n    BOOLEAN KdDebuggerEnabled;\n\n\n    //\n    // Current console session Id. Always zero on non-TS systems\n    //\n    volatile ULONG ActiveConsoleId;\n\n    //\n    // Force-dismounts cause handles to become invalid. Rather than\n    // always probe handles, we maintain a serial number of\n    // dismounts that clients can use to see if they need to probe\n    // handles.\n    //\n\n    volatile ULONG DismountCount;\n\n    //\n    // This field indicates the status of the 64-bit COM+ package on the system.\n    // It indicates whether the Itermediate Language (IL) COM+ images need to\n    // use the 64-bit COM+ runtime or the 32-bit COM+ runtime.\n    //\n\n    ULONG ComPlusPackage;\n\n    //\n    // Time in tick count for system-wide last user input across all\n    // terminal sessions. For MP performance, it is not updated all\n    // the time (e.g. once a minute per session). It is used for idle\n    // detection.\n    //\n\n    ULONG LastSystemRITEventTickCount;\n\n    //\n    // Number of physical pages in the system.  This can dynamically\n    // change as physical memory can be added or removed from a running\n    // system.\n    //\n\n    ULONG NumberOfPhysicalPages;\n\n    //\n    // True if the system was booted in safe boot mode.\n    //\n\n    BOOLEAN SafeBootMode;\n\n        //\n        // The following field is used for Heap  and  CritSec Tracing\n        // The last bit is set for Critical Sec Collision tracing and\n        // second Last bit is for Heap Tracing\n        // Also the first 16 bits are used as counter.\n        //\n\n        ULONG TraceLogging;\n\n#if defined(i386)\n\n    //\n    // Depending on the processor, the code for fast system call\n    // will differ, the following buffer is filled with the appropriate\n    // code sequence and user mode code will branch through it.\n    //\n    // (32 bytes, using ULONGLONG for alignment).\n    //\n\n    ULONGLONG   Fill0;          // alignment\n    ULONGLONG   SystemCall[4];\n\n#endif\n\n} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;\n\n#ifdef _MAC\n#pragma warning( default : 4121 )\n#endif\n\n// begin_winnt\n//\n// Predefined Value Types.\n//\n\n#define REG_NONE                    ( 0 )   // No value type\n#define REG_SZ                      ( 1 )   // Unicode nul terminated string\n#define REG_EXPAND_SZ               ( 2 )   // Unicode nul terminated string\n                                            // (with environment variable references)\n#define REG_BINARY                  ( 3 )   // Free form binary\n#define REG_DWORD                   ( 4 )   // 32-bit number\n#define REG_DWORD_LITTLE_ENDIAN     ( 4 )   // 32-bit number (same as REG_DWORD)\n#define REG_DWORD_BIG_ENDIAN        ( 5 )   // 32-bit number\n#define REG_LINK                    ( 6 )   // Symbolic Link (unicode)\n#define REG_MULTI_SZ                ( 7 )   // Multiple Unicode strings\n#define REG_RESOURCE_LIST           ( 8 )   // Resource list in the resource map\n#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )  // Resource list in the hardware description\n#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )\n#define REG_QWORD                   ( 11 )  // 64-bit number\n#define REG_QWORD_LITTLE_ENDIAN     ( 11 )  // 64-bit number (same as REG_QWORD)\n\n//\n// Service Types (Bit Mask)\n//\n#define SERVICE_KERNEL_DRIVER          0x00000001\n#define SERVICE_FILE_SYSTEM_DRIVER     0x00000002\n#define SERVICE_ADAPTER                0x00000004\n#define SERVICE_RECOGNIZER_DRIVER      0x00000008\n\n#define SERVICE_DRIVER                 (SERVICE_KERNEL_DRIVER | \\\n                                        SERVICE_FILE_SYSTEM_DRIVER | \\\n                                        SERVICE_RECOGNIZER_DRIVER)\n\n#define SERVICE_WIN32_OWN_PROCESS      0x00000010\n#define SERVICE_WIN32_SHARE_PROCESS    0x00000020\n#define SERVICE_WIN32                  (SERVICE_WIN32_OWN_PROCESS | \\\n                                        SERVICE_WIN32_SHARE_PROCESS)\n\n#define SERVICE_INTERACTIVE_PROCESS    0x00000100\n\n#define SERVICE_TYPE_ALL               (SERVICE_WIN32  | \\\n                                        SERVICE_ADAPTER | \\\n                                        SERVICE_DRIVER  | \\\n                                        SERVICE_INTERACTIVE_PROCESS)\n\n//\n// Start Type\n//\n\n#define SERVICE_BOOT_START             0x00000000\n#define SERVICE_SYSTEM_START           0x00000001\n#define SERVICE_AUTO_START             0x00000002\n#define SERVICE_DEMAND_START           0x00000003\n#define SERVICE_DISABLED               0x00000004\n\n//\n// Error control type\n//\n#define SERVICE_ERROR_IGNORE           0x00000000\n#define SERVICE_ERROR_NORMAL           0x00000001\n#define SERVICE_ERROR_SEVERE           0x00000002\n#define SERVICE_ERROR_CRITICAL         0x00000003\n\n//\n//\n// Define the registry driver node enumerations\n//\n\ntypedef enum _CM_SERVICE_NODE_TYPE {\n    DriverType               = SERVICE_KERNEL_DRIVER,\n    FileSystemType           = SERVICE_FILE_SYSTEM_DRIVER,\n    Win32ServiceOwnProcess   = SERVICE_WIN32_OWN_PROCESS,\n    Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,\n    AdapterType              = SERVICE_ADAPTER,\n    RecognizerType           = SERVICE_RECOGNIZER_DRIVER\n} SERVICE_NODE_TYPE;\n\ntypedef enum _CM_SERVICE_LOAD_TYPE {\n    BootLoad    = SERVICE_BOOT_START,\n    SystemLoad  = SERVICE_SYSTEM_START,\n    AutoLoad    = SERVICE_AUTO_START,\n    DemandLoad  = SERVICE_DEMAND_START,\n    DisableLoad = SERVICE_DISABLED\n} SERVICE_LOAD_TYPE;\n\ntypedef enum _CM_ERROR_CONTROL_TYPE {\n    IgnoreError   = SERVICE_ERROR_IGNORE,\n    NormalError   = SERVICE_ERROR_NORMAL,\n    SevereError   = SERVICE_ERROR_SEVERE,\n    CriticalError = SERVICE_ERROR_CRITICAL\n} SERVICE_ERROR_TYPE;\n\n// end_winnt\n\n//\n// Resource List definitions\n//\n\n// begin_ntminiport begin_ntndis\n\n//\n// Defines the Type in the RESOURCE_DESCRIPTOR\n//\n// NOTE:  For all CM_RESOURCE_TYPE values, there must be a\n// corresponding ResType value in the 32-bit ConfigMgr headerfile\n// (cfgmgr32.h).  Values in the range [0x6,0x80) use the same values\n// as their ConfigMgr counterparts.  CM_RESOURCE_TYPE values with\n// the high bit set (i.e., in the range [0x80,0xFF]), are\n// non-arbitrated resources.  These correspond to the same values\n// in cfgmgr32.h that have their high bit set (however, since\n// cfgmgr32.h uses 16 bits for ResType values, these values are in\n// the range [0x8000,0x807F).  Note that ConfigMgr ResType values\n// cannot be in the range [0x8080,0xFFFF), because they would not\n// be able to map into CM_RESOURCE_TYPE values.  (0xFFFF itself is\n// a special value, because it maps to CmResourceTypeDeviceSpecific.)\n//\n\ntypedef int CM_RESOURCE_TYPE;\n\n// CmResourceTypeNull is reserved\n\n#define CmResourceTypeNull                0   // ResType_All or ResType_None (0x0000)\n#define CmResourceTypePort                1   // ResType_IO (0x0002)\n#define CmResourceTypeInterrupt           2   // ResType_IRQ (0x0004)\n#define CmResourceTypeMemory              3   // ResType_Mem (0x0001)\n#define CmResourceTypeDma                 4   // ResType_DMA (0x0003)\n#define CmResourceTypeDeviceSpecific      5   // ResType_ClassSpecific (0xFFFF)\n#define CmResourceTypeBusNumber           6   // ResType_BusNumber (0x0006)\n// end_wdm\n#define CmResourceTypeMaximum             7\n// begin_wdm\n#define CmResourceTypeNonArbitrated     128   // Not arbitrated if 0x80 bit set\n#define CmResourceTypeConfigData        128   // ResType_Reserved (0x8000)\n#define CmResourceTypeDevicePrivate     129   // ResType_DevicePrivate (0x8001)\n#define CmResourceTypePcCardConfig      130   // ResType_PcCardConfig (0x8002)\n#define CmResourceTypeMfCardConfig      131   // ResType_MfCardConfig (0x8003)\n\n//\n// Defines the ShareDisposition in the RESOURCE_DESCRIPTOR\n//\n\ntypedef enum _CM_SHARE_DISPOSITION {\n    CmResourceShareUndetermined = 0,    // Reserved\n    CmResourceShareDeviceExclusive,\n    CmResourceShareDriverExclusive,\n    CmResourceShareShared\n} CM_SHARE_DISPOSITION;\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeInterrupt\n//\n\n#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0\n#define CM_RESOURCE_INTERRUPT_LATCHED         1\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeMemory\n//\n\n#define CM_RESOURCE_MEMORY_READ_WRITE       0x0000\n#define CM_RESOURCE_MEMORY_READ_ONLY        0x0001\n#define CM_RESOURCE_MEMORY_WRITE_ONLY       0x0002\n#define CM_RESOURCE_MEMORY_PREFETCHABLE     0x0004\n\n#define CM_RESOURCE_MEMORY_COMBINEDWRITE    0x0008\n#define CM_RESOURCE_MEMORY_24               0x0010\n#define CM_RESOURCE_MEMORY_CACHEABLE        0x0020\n\n//\n// Define the bit masks for Flags when type is CmResourceTypePort\n//\n\n#define CM_RESOURCE_PORT_MEMORY                             0x0000\n#define CM_RESOURCE_PORT_IO                                 0x0001\n#define CM_RESOURCE_PORT_10_BIT_DECODE                      0x0004\n#define CM_RESOURCE_PORT_12_BIT_DECODE                      0x0008\n#define CM_RESOURCE_PORT_16_BIT_DECODE                      0x0010\n#define CM_RESOURCE_PORT_POSITIVE_DECODE                    0x0020\n#define CM_RESOURCE_PORT_PASSIVE_DECODE                     0x0040\n#define CM_RESOURCE_PORT_WINDOW_DECODE                      0x0080\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeDma\n//\n\n#define CM_RESOURCE_DMA_8                   0x0000\n#define CM_RESOURCE_DMA_16                  0x0001\n#define CM_RESOURCE_DMA_32                  0x0002\n#define CM_RESOURCE_DMA_8_AND_16            0x0004\n#define CM_RESOURCE_DMA_BUS_MASTER          0x0008\n#define CM_RESOURCE_DMA_TYPE_A              0x0010\n#define CM_RESOURCE_DMA_TYPE_B              0x0020\n#define CM_RESOURCE_DMA_TYPE_F              0x0040\n\n// end_ntminiport end_ntndis\n\n//\n// This structure defines one type of resource used by a driver.\n//\n// There can only be *1* DeviceSpecificData block. It must be located at\n// the end of all resource descriptors in a full descriptor block.\n//\n\n//\n// Make sure alignment is made properly by compiler; otherwise move\n// flags back to the top of the structure (common to all members of the\n// union).\n//\n// begin_ntndis\n\n#include \"pshpack4.h\"\ntypedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {\n    UCHAR Type;\n    UCHAR ShareDisposition;\n    USHORT Flags;\n    union {\n\n        //\n        // Range of resources, inclusive.  These are physical, bus relative.\n        // It is known that Port and Memory below have the exact same layout\n        // as Generic.\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;\n            ULONG Length;\n        } Generic;\n\n        //\n        // end_wdm\n        // Range of port numbers, inclusive. These are physical, bus\n        // relative. The value should be the same as the one passed to\n        // HalTranslateBusAddress().\n        // begin_wdm\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;\n            ULONG Length;\n        } Port;\n\n        //\n        // end_wdm\n        // IRQL and vector. Should be same values as were passed to\n        // HalGetInterruptVector().\n        // begin_wdm\n        //\n\n        struct {\n            ULONG Level;\n            ULONG Vector;\n            KAFFINITY Affinity;\n        } Interrupt;\n\n        //\n        // Range of memory addresses, inclusive. These are physical, bus\n        // relative. The value should be the same as the one passed to\n        // HalTranslateBusAddress().\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;    // 64 bit physical addresses.\n            ULONG Length;\n        } Memory;\n\n        //\n        // Physical DMA channel.\n        //\n\n        struct {\n            ULONG Channel;\n            ULONG Port;\n            ULONG Reserved1;\n        } Dma;\n\n        //\n        // Device driver private data, usually used to help it figure\n        // what the resource assignments decisions that were made.\n        //\n\n        struct {\n            ULONG Data[3];\n        } DevicePrivate;\n\n        //\n        // Bus Number information.\n        //\n\n        struct {\n            ULONG Start;\n            ULONG Length;\n            ULONG Reserved;\n        } BusNumber;\n\n        //\n        // Device Specific information defined by the driver.\n        // The DataSize field indicates the size of the data in bytes. The\n        // data is located immediately after the DeviceSpecificData field in\n        // the structure.\n        //\n\n        struct {\n            ULONG DataSize;\n            ULONG Reserved1;\n            ULONG Reserved2;\n        } DeviceSpecificData;\n    } u;\n} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;\n#include \"poppack.h\"\n\n//\n// A Partial Resource List is what can be found in the ARC firmware\n// or will be generated by ntdetect.com.\n// The configuration manager will transform this structure into a Full\n// resource descriptor when it is about to store it in the regsitry.\n//\n// Note: There must a be a convention to the order of fields of same type,\n// (defined on a device by device basis) so that the fields can make sense\n// to a driver (i.e. when multiple memory ranges are necessary).\n//\n\ntypedef struct _CM_PARTIAL_RESOURCE_LIST {\n    USHORT Version;\n    USHORT Revision;\n    ULONG Count;\n    CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;\n\n//\n// A Full Resource Descriptor is what can be found in the registry.\n// This is what will be returned to a driver when it queries the registry\n// to get device information; it will be stored under a key in the hardware\n// description tree.\n//\n// end_wdm\n// Note: The BusNumber and Type are redundant information, but we will keep\n// it since it allows the driver _not_ to append it when it is creating\n// a resource list which could possibly span multiple buses.\n//\n// begin_wdm\n// Note: There must a be a convention to the order of fields of same type,\n// (defined on a device by device basis) so that the fields can make sense\n// to a driver (i.e. when multiple memory ranges are necessary).\n//\n\ntypedef struct _CM_FULL_RESOURCE_DESCRIPTOR {\n    INTERFACE_TYPE InterfaceType; // unused for WDM\n    ULONG BusNumber; // unused for WDM\n    CM_PARTIAL_RESOURCE_LIST PartialResourceList;\n} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;\n\n//\n// The Resource list is what will be stored by the drivers into the\n// resource map via the IO API.\n//\n\ntypedef struct _CM_RESOURCE_LIST {\n    ULONG Count;\n    CM_FULL_RESOURCE_DESCRIPTOR List[1];\n} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;\n\n// end_ntndis\n//\n// Define the structures used to interpret configuration data of\n// \\\\Registry\\machine\\hardware\\description tree.\n// Basically, these structures are used to interpret component\n// sepcific data.\n//\n\n//\n// Define DEVICE_FLAGS\n//\n\ntypedef struct _DEVICE_FLAGS {\n    ULONG Failed : 1;\n    ULONG ReadOnly : 1;\n    ULONG Removable : 1;\n    ULONG ConsoleIn : 1;\n    ULONG ConsoleOut : 1;\n    ULONG Input : 1;\n    ULONG Output : 1;\n} DEVICE_FLAGS, *PDEVICE_FLAGS;\n\n//\n// Define Component Information structure\n//\n\ntypedef struct _CM_COMPONENT_INFORMATION {\n    DEVICE_FLAGS Flags;\n    ULONG Version;\n    ULONG Key;\n    KAFFINITY AffinityMask;\n} CM_COMPONENT_INFORMATION, *PCM_COMPONENT_INFORMATION;\n\n//\n// The following structures are used to interpret x86\n// DeviceSpecificData of CM_PARTIAL_RESOURCE_DESCRIPTOR.\n// (Most of the structures are defined by BIOS.  They are\n// not aligned on word (or dword) boundary.\n//\n\n//\n// Define the Rom Block structure\n//\n\ntypedef struct _CM_ROM_BLOCK {\n    ULONG Address;\n    ULONG Size;\n} CM_ROM_BLOCK, *PCM_ROM_BLOCK;\n\n// begin_ntminiport begin_ntndis\n\n#include \"pshpack1.h\"\n\n// end_ntminiport end_ntndis\n\n//\n// Define INT13 driver parameter block\n//\n\ntypedef struct _CM_INT13_DRIVE_PARAMETER {\n    USHORT DriveSelect;\n    ULONG MaxCylinders;\n    USHORT SectorsPerTrack;\n    USHORT MaxHeads;\n    USHORT NumberDrives;\n} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;\n\n// begin_ntminiport begin_ntndis\n\n//\n// Define Mca POS data block for slot\n//\n\ntypedef struct _CM_MCA_POS_DATA {\n    USHORT AdapterId;\n    UCHAR PosData1;\n    UCHAR PosData2;\n    UCHAR PosData3;\n    UCHAR PosData4;\n} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;\n\n//\n// Memory configuration of eisa data block structure\n//\n\ntypedef struct _EISA_MEMORY_TYPE {\n    UCHAR ReadWrite: 1;\n    UCHAR Cached : 1;\n    UCHAR Reserved0 :1;\n    UCHAR Type:2;\n    UCHAR Shared:1;\n    UCHAR Reserved1 :1;\n    UCHAR MoreEntries : 1;\n} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;\n\ntypedef struct _EISA_MEMORY_CONFIGURATION {\n    EISA_MEMORY_TYPE ConfigurationByte;\n    UCHAR DataSize;\n    USHORT AddressLowWord;\n    UCHAR AddressHighByte;\n    USHORT MemorySize;\n} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;\n\n\n//\n// Interrupt configurationn of eisa data block structure\n//\n\ntypedef struct _EISA_IRQ_DESCRIPTOR {\n    UCHAR Interrupt : 4;\n    UCHAR Reserved :1;\n    UCHAR LevelTriggered :1;\n    UCHAR Shared : 1;\n    UCHAR MoreEntries : 1;\n} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;\n\ntypedef struct _EISA_IRQ_CONFIGURATION {\n    EISA_IRQ_DESCRIPTOR ConfigurationByte;\n    UCHAR Reserved;\n} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;\n\n\n//\n// DMA description of eisa data block structure\n//\n\ntypedef struct _DMA_CONFIGURATION_BYTE0 {\n    UCHAR Channel : 3;\n    UCHAR Reserved : 3;\n    UCHAR Shared :1;\n    UCHAR MoreEntries :1;\n} DMA_CONFIGURATION_BYTE0;\n\ntypedef struct _DMA_CONFIGURATION_BYTE1 {\n    UCHAR Reserved0 : 2;\n    UCHAR TransferSize : 2;\n    UCHAR Timing : 2;\n    UCHAR Reserved1 : 2;\n} DMA_CONFIGURATION_BYTE1;\n\ntypedef struct _EISA_DMA_CONFIGURATION {\n    DMA_CONFIGURATION_BYTE0 ConfigurationByte0;\n    DMA_CONFIGURATION_BYTE1 ConfigurationByte1;\n} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;\n\n\n//\n// Port description of eisa data block structure\n//\n\ntypedef struct _EISA_PORT_DESCRIPTOR {\n    UCHAR NumberPorts : 5;\n    UCHAR Reserved :1;\n    UCHAR Shared :1;\n    UCHAR MoreEntries : 1;\n} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;\n\ntypedef struct _EISA_PORT_CONFIGURATION {\n    EISA_PORT_DESCRIPTOR Configuration;\n    USHORT PortAddress;\n} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;\n\n\n//\n// Eisa slot information definition\n// N.B. This structure is different from the one defined\n//      in ARC eisa addendum.\n//\n\ntypedef struct _CM_EISA_SLOT_INFORMATION {\n    UCHAR ReturnCode;\n    UCHAR ReturnFlags;\n    UCHAR MajorRevision;\n    UCHAR MinorRevision;\n    USHORT Checksum;\n    UCHAR NumberFunctions;\n    UCHAR FunctionInformation;\n    ULONG CompressedId;\n} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;\n\n\n//\n// Eisa function information definition\n//\n\ntypedef struct _CM_EISA_FUNCTION_INFORMATION {\n    ULONG CompressedId;\n    UCHAR IdSlotFlags1;\n    UCHAR IdSlotFlags2;\n    UCHAR MinorRevision;\n    UCHAR MajorRevision;\n    UCHAR Selections[26];\n    UCHAR FunctionFlags;\n    UCHAR TypeString[80];\n    EISA_MEMORY_CONFIGURATION EisaMemory[9];\n    EISA_IRQ_CONFIGURATION EisaIrq[7];\n    EISA_DMA_CONFIGURATION EisaDma[4];\n    EISA_PORT_CONFIGURATION EisaPort[20];\n    UCHAR InitializationData[60];\n} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;\n\n//\n// The following defines the way pnp bios information is stored in\n// the registry \\\\HKEY_LOCAL_MACHINE\\HARDWARE\\Description\\System\\MultifunctionAdapter\\x\n// key, where x is an integer number indicating adapter instance. The\n// \"Identifier\" of the key must equal to \"PNP BIOS\" and the\n// \"ConfigurationData\" is organized as follow:\n//\n//      CM_PNP_BIOS_INSTALLATION_CHECK        +\n//      CM_PNP_BIOS_DEVICE_NODE for device 1  +\n//      CM_PNP_BIOS_DEVICE_NODE for device 2  +\n//                ...\n//      CM_PNP_BIOS_DEVICE_NODE for device n\n//\n\n//\n// Pnp BIOS device node structure\n//\n\ntypedef struct _CM_PNP_BIOS_DEVICE_NODE {\n    USHORT Size;\n    UCHAR Node;\n    ULONG ProductId;\n    UCHAR DeviceType[3];\n    USHORT DeviceAttributes;\n    // followed by AllocatedResourceBlock, PossibleResourceBlock\n    // and CompatibleDeviceId\n} CM_PNP_BIOS_DEVICE_NODE,*PCM_PNP_BIOS_DEVICE_NODE;\n\n//\n// Pnp BIOS Installation check\n//\n\ntypedef struct _CM_PNP_BIOS_INSTALLATION_CHECK {\n    UCHAR Signature[4];             // $PnP (ascii)\n    UCHAR Revision;\n    UCHAR Length;\n    USHORT ControlField;\n    UCHAR Checksum;\n    ULONG EventFlagAddress;         // Physical address\n    USHORT RealModeEntryOffset;\n    USHORT RealModeEntrySegment;\n    USHORT ProtectedModeEntryOffset;\n    ULONG ProtectedModeCodeBaseAddress;\n    ULONG OemDeviceId;\n    USHORT RealModeDataBaseAddress;\n    ULONG ProtectedModeDataBaseAddress;\n} CM_PNP_BIOS_INSTALLATION_CHECK, *PCM_PNP_BIOS_INSTALLATION_CHECK;\n\n#include \"poppack.h\"\n\n//\n// Masks for EISA function information\n//\n\n#define EISA_FUNCTION_ENABLED                   0x80\n#define EISA_FREE_FORM_DATA                     0x40\n#define EISA_HAS_PORT_INIT_ENTRY                0x20\n#define EISA_HAS_PORT_RANGE                     0x10\n#define EISA_HAS_DMA_ENTRY                      0x08\n#define EISA_HAS_IRQ_ENTRY                      0x04\n#define EISA_HAS_MEMORY_ENTRY                   0x02\n#define EISA_HAS_TYPE_ENTRY                     0x01\n#define EISA_HAS_INFORMATION                    EISA_HAS_PORT_RANGE + \\\n                                                EISA_HAS_DMA_ENTRY + \\\n                                                EISA_HAS_IRQ_ENTRY + \\\n                                                EISA_HAS_MEMORY_ENTRY + \\\n                                                EISA_HAS_TYPE_ENTRY\n\n//\n// Masks for EISA memory configuration\n//\n\n#define EISA_MORE_ENTRIES                       0x80\n#define EISA_SYSTEM_MEMORY                      0x00\n#define EISA_MEMORY_TYPE_RAM                    0x01\n\n//\n// Returned error code for EISA bios call\n//\n\n#define EISA_INVALID_SLOT                       0x80\n#define EISA_INVALID_FUNCTION                   0x81\n#define EISA_INVALID_CONFIGURATION              0x82\n#define EISA_EMPTY_SLOT                         0x83\n#define EISA_INVALID_BIOS_CALL                  0x86\n\n// end_ntminiport end_ntndis\n\n//\n// The following structures are used to interpret mips\n// DeviceSpecificData of CM_PARTIAL_RESOURCE_DESCRIPTOR.\n//\n\n//\n// Device data records for adapters.\n//\n\n//\n// The device data record for the Emulex SCSI controller.\n//\n\ntypedef struct _CM_SCSI_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    UCHAR HostIdentifier;\n} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;\n\n//\n// Device data records for controllers.\n//\n\n//\n// The device data record for the Video controller.\n//\n\ntypedef struct _CM_VIDEO_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    ULONG VideoClock;\n} CM_VIDEO_DEVICE_DATA, *PCM_VIDEO_DEVICE_DATA;\n\n//\n// The device data record for the SONIC network controller.\n//\n\ntypedef struct _CM_SONIC_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    USHORT DataConfigurationRegister;\n    UCHAR EthernetAddress[8];\n} CM_SONIC_DEVICE_DATA, *PCM_SONIC_DEVICE_DATA;\n\n//\n// The device data record for the serial controller.\n//\n\ntypedef struct _CM_SERIAL_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    ULONG BaudClock;\n} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;\n\n//\n// Device data records for peripherals.\n//\n\n//\n// The device data record for the Monitor peripheral.\n//\n\ntypedef struct _CM_MONITOR_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    USHORT HorizontalScreenSize;\n    USHORT VerticalScreenSize;\n    USHORT HorizontalResolution;\n    USHORT VerticalResolution;\n    USHORT HorizontalDisplayTimeLow;\n    USHORT HorizontalDisplayTime;\n    USHORT HorizontalDisplayTimeHigh;\n    USHORT HorizontalBackPorchLow;\n    USHORT HorizontalBackPorch;\n    USHORT HorizontalBackPorchHigh;\n    USHORT HorizontalFrontPorchLow;\n    USHORT HorizontalFrontPorch;\n    USHORT HorizontalFrontPorchHigh;\n    USHORT HorizontalSyncLow;\n    USHORT HorizontalSync;\n    USHORT HorizontalSyncHigh;\n    USHORT VerticalBackPorchLow;\n    USHORT VerticalBackPorch;\n    USHORT VerticalBackPorchHigh;\n    USHORT VerticalFrontPorchLow;\n    USHORT VerticalFrontPorch;\n    USHORT VerticalFrontPorchHigh;\n    USHORT VerticalSyncLow;\n    USHORT VerticalSync;\n    USHORT VerticalSyncHigh;\n} CM_MONITOR_DEVICE_DATA, *PCM_MONITOR_DEVICE_DATA;\n\n//\n// The device data record for the Floppy peripheral.\n//\n\ntypedef struct _CM_FLOPPY_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    CHAR Size[8];\n    ULONG MaxDensity;\n    ULONG MountDensity;\n    //\n    // New data fields for version >= 2.0\n    //\n    UCHAR StepRateHeadUnloadTime;\n    UCHAR HeadLoadTime;\n    UCHAR MotorOffTime;\n    UCHAR SectorLengthCode;\n    UCHAR SectorPerTrack;\n    UCHAR ReadWriteGapLength;\n    UCHAR DataTransferLength;\n    UCHAR FormatGapLength;\n    UCHAR FormatFillCharacter;\n    UCHAR HeadSettleTime;\n    UCHAR MotorSettleTime;\n    UCHAR MaximumTrackValue;\n    UCHAR DataTransferRate;\n} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;\n\n//\n// The device data record for the Keyboard peripheral.\n// The KeyboardFlags is defined (by x86 BIOS INT 16h, function 02) as:\n//      bit 7 : Insert on\n//      bit 6 : Caps Lock on\n//      bit 5 : Num Lock on\n//      bit 4 : Scroll Lock on\n//      bit 3 : Alt Key is down\n//      bit 2 : Ctrl Key is down\n//      bit 1 : Left shift key is down\n//      bit 0 : Right shift key is down\n//\n\ntypedef struct _CM_KEYBOARD_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    UCHAR Type;\n    UCHAR Subtype;\n    USHORT KeyboardFlags;\n} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;\n\n//\n// Declaration of the structure for disk geometries\n//\n\ntypedef struct _CM_DISK_GEOMETRY_DEVICE_DATA {\n    ULONG BytesPerSector;\n    ULONG NumberOfCylinders;\n    ULONG SectorsPerTrack;\n    ULONG NumberOfHeads;\n} CM_DISK_GEOMETRY_DEVICE_DATA, *PCM_DISK_GEOMETRY_DEVICE_DATA;\n\n// end_wdm\n//\n// Declaration of the structure for the PcCard ISA IRQ map\n//\n\ntypedef struct _CM_PCCARD_DEVICE_DATA {\n    UCHAR Flags;\n    UCHAR ErrorCode;\n    USHORT Reserved;\n    ULONG BusData;\n    ULONG DeviceId;\n    ULONG LegacyBaseAddress;\n    UCHAR IRQMap[16];\n} CM_PCCARD_DEVICE_DATA, *PCM_PCCARD_DEVICE_DATA;\n\n// Definitions for Flags\n\n#define PCCARD_MAP_ERROR        0x01\n#define PCCARD_DEVICE_PCI       0x10\n\n#define PCCARD_SCAN_DISABLED    0x01\n#define PCCARD_MAP_ZERO         0x02\n#define PCCARD_NO_TIMER         0x03\n#define PCCARD_NO_PIC           0x04\n#define PCCARD_NO_LEGACY_BASE   0x05\n#define PCCARD_DUP_LEGACY_BASE  0x06\n#define PCCARD_NO_CONTROLLERS   0x07\n\n// begin_wdm\n// begin_ntminiport\n\n//\n// Defines Resource Options\n//\n\n#define IO_RESOURCE_PREFERRED       0x01\n#define IO_RESOURCE_DEFAULT         0x02\n#define IO_RESOURCE_ALTERNATIVE     0x08\n\n\n//\n// This structure defines one type of resource requested by the driver\n//\n\ntypedef struct _IO_RESOURCE_DESCRIPTOR {\n    UCHAR Option;\n    UCHAR Type;                         // use CM_RESOURCE_TYPE\n    UCHAR ShareDisposition;             // use CM_SHARE_DISPOSITION\n    UCHAR Spare1;\n    USHORT Flags;                       // use CM resource flag defines\n    USHORT Spare2;                      // align\n\n    union {\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Port;\n\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Memory;\n\n        struct {\n            ULONG MinimumVector;\n            ULONG MaximumVector;\n        } Interrupt;\n\n        struct {\n            ULONG MinimumChannel;\n            ULONG MaximumChannel;\n        } Dma;\n\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Generic;\n\n        struct {\n            ULONG Data[3];\n        } DevicePrivate;\n\n        //\n        // Bus Number information.\n        //\n\n        struct {\n            ULONG Length;\n            ULONG MinBusNumber;\n            ULONG MaxBusNumber;\n            ULONG Reserved;\n        } BusNumber;\n\n        struct {\n            ULONG Priority;   // use LCPRI_Xxx values in cfg.h\n            ULONG Reserved1;\n            ULONG Reserved2;\n        } ConfigData;\n\n    } u;\n\n} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;\n\n// end_ntminiport\n\n\ntypedef struct _IO_RESOURCE_LIST {\n    USHORT Version;\n    USHORT Revision;\n\n    ULONG Count;\n    IO_RESOURCE_DESCRIPTOR Descriptors[1];\n} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;\n\n\ntypedef struct _IO_RESOURCE_REQUIREMENTS_LIST {\n    ULONG ListSize;\n    INTERFACE_TYPE InterfaceType; // unused for WDM\n    ULONG BusNumber; // unused for WDM\n    ULONG SlotNumber;\n    ULONG Reserved[3];\n    ULONG AlternativeLists;\n    IO_RESOURCE_LIST  List[1];\n} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;\n\n//\n// Exception flag definitions.\n//\n\n// begin_winnt\n#define EXCEPTION_NONCONTINUABLE 0x1    // Noncontinuable exception\n// end_winnt\n\n//\n// Define maximum number of exception parameters.\n//\n\n// begin_winnt\n#define EXCEPTION_MAXIMUM_PARAMETERS 15 // maximum number of exception parameters\n\n//\n// Exception record definition.\n//\n\ntypedef struct _EXCEPTION_RECORD {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    struct _EXCEPTION_RECORD *ExceptionRecord;\n    PVOID ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n    } EXCEPTION_RECORD;\n\ntypedef EXCEPTION_RECORD *PEXCEPTION_RECORD;\n\ntypedef struct _EXCEPTION_RECORD32 {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    ULONG ExceptionRecord;\n    ULONG ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;\n\ntypedef struct _EXCEPTION_RECORD64 {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    ULONG64 ExceptionRecord;\n    ULONG64 ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG __unusedAlignment;\n    ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;\n\n//\n// Typedef for pointer returned by exception_info()\n//\n\ntypedef struct _EXCEPTION_POINTERS {\n    PEXCEPTION_RECORD ExceptionRecord;\n    PCONTEXT ContextRecord;\n} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;\n// end_winnt\n\n//\n// Define configuration routine types.\n//\n// Configuration information.\n//\n\ntypedef enum _CONFIGURATION_TYPE {\n    ArcSystem,\n    CentralProcessor,\n    FloatingPointProcessor,\n    PrimaryIcache,\n    PrimaryDcache,\n    SecondaryIcache,\n    SecondaryDcache,\n    SecondaryCache,\n    EisaAdapter,\n    TcAdapter,\n    ScsiAdapter,\n    DtiAdapter,\n    MultiFunctionAdapter,\n    DiskController,\n    TapeController,\n    CdromController,\n    WormController,\n    SerialController,\n    NetworkController,\n    DisplayController,\n    ParallelController,\n    PointerController,\n    KeyboardController,\n    AudioController,\n    OtherController,\n    DiskPeripheral,\n    FloppyDiskPeripheral,\n    TapePeripheral,\n    ModemPeripheral,\n    MonitorPeripheral,\n    PrinterPeripheral,\n    PointerPeripheral,\n    KeyboardPeripheral,\n    TerminalPeripheral,\n    OtherPeripheral,\n    LinePeripheral,\n    NetworkPeripheral,\n    SystemMemory,\n    DockingInformation,\n    RealModeIrqRoutingTable,\n    RealModePCIEnumeration,\n    MaximumType\n} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;\n\n#define THREAD_WAIT_OBJECTS 3           // Builtin usable wait blocks\n//\n\n#if defined(_X86_)\n\n#define PAUSE_PROCESSOR _asm { rep nop }\n\n#else\n\n#define PAUSE_PROCESSOR\n\n#endif\n\n\n//\n// Interrupt modes.\n//\n\ntypedef enum _KINTERRUPT_MODE {\n    LevelSensitive,\n    Latched\n    } KINTERRUPT_MODE;\n\n//\n// Wait reasons\n//\n\ntypedef enum _KWAIT_REASON {\n    Executive,\n    FreePage,\n    PageIn,\n    PoolAllocation,\n    DelayExecution,\n    Suspended,\n    UserRequest,\n    WrExecutive,\n    WrFreePage,\n    WrPageIn,\n    WrPoolAllocation,\n    WrDelayExecution,\n    WrSuspended,\n    WrUserRequest,\n    WrEventPair,\n    WrQueue,\n    WrLpcReceive,\n    WrLpcReply,\n    WrVirtualMemory,\n    WrPageOut,\n    WrRendezvous,\n    Spare2,\n    Spare3,\n    Spare4,\n    Spare5,\n    Spare6,\n    WrKernel,\n    MaximumWaitReason\n    } KWAIT_REASON;\n\n\ntypedef struct _KWAIT_BLOCK {\n    LIST_ENTRY WaitListEntry;\n    struct _KTHREAD *RESTRICTED_POINTER Thread;\n    PVOID Object;\n    struct _KWAIT_BLOCK *RESTRICTED_POINTER NextWaitBlock;\n    USHORT WaitKey;\n    USHORT WaitType;\n} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;\n\n//\n// Thread start function\n//\n\ntypedef\nVOID\n(*PKSTART_ROUTINE) (\n    IN PVOID StartContext\n    );\n\n//\n// Kernel object structure definitions\n//\n\n//\n// Device Queue object and entry\n//\n\ntypedef struct _KDEVICE_QUEUE {\n    CSHORT Type;\n    CSHORT Size;\n    LIST_ENTRY DeviceListHead;\n    KSPIN_LOCK Lock;\n    BOOLEAN Busy;\n} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;\n\ntypedef struct _KDEVICE_QUEUE_ENTRY {\n    LIST_ENTRY DeviceListEntry;\n    ULONG SortKey;\n    BOOLEAN Inserted;\n} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY, *RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;\n\n//\n// Define the interrupt service function type and the empty struct\n// type.\n//\ntypedef\nBOOLEAN\n(*PKSERVICE_ROUTINE) (\n    IN struct _KINTERRUPT *Interrupt,\n    IN PVOID ServiceContext\n    );\n//\n// Mutant object\n//\n\ntypedef struct _KMUTANT {\n    DISPATCHER_HEADER Header;\n    LIST_ENTRY MutantListEntry;\n    struct _KTHREAD *RESTRICTED_POINTER OwnerThread;\n    BOOLEAN Abandoned;\n    UCHAR ApcDisable;\n} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;\n\n//\n//\n// Semaphore object\n//\n\ntypedef struct _KSEMAPHORE {\n    DISPATCHER_HEADER Header;\n    LONG Limit;\n} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;\n\n//\n// DPC object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeDpc (\n    IN PRKDPC Dpc,\n    IN PKDEFERRED_ROUTINE DeferredRoutine,\n    IN PVOID DeferredContext\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertQueueDpc (\n    IN PRKDPC Dpc,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRemoveQueueDpc (\n    IN PRKDPC Dpc\n    );\n\n// end_wdm\n\nNTKERNELAPI\nVOID\nKeSetImportanceDpc (\n    IN PRKDPC Dpc,\n    IN KDPC_IMPORTANCE Importance\n    );\n\nNTKERNELAPI\nVOID\nKeSetTargetProcessorDpc (\n    IN PRKDPC Dpc,\n    IN CCHAR Number\n    );\n\n// begin_wdm\n\nNTKERNELAPI\nVOID\nKeFlushQueuedDpcs (\n    VOID\n    );\n\n//\n// Device queue object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertByKeyDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveByKeyDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveByKeyDeviceQueueIfBusy (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRemoveEntryDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry\n    );\n\n\nNTKERNELAPI\nBOOLEAN\nKeSynchronizeExecution (\n    IN PKINTERRUPT Interrupt,\n    IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,\n    IN PVOID SynchronizeContext\n    );\n\nNTKERNELAPI\nKIRQL\nKeAcquireInterruptSpinLock (\n    IN PKINTERRUPT Interrupt\n    );\n\nNTKERNELAPI\nVOID\nKeReleaseInterruptSpinLock (\n    IN PKINTERRUPT Interrupt,\n    IN KIRQL OldIrql\n    );\n\n//\n// Kernel dispatcher object functions\n//\n// Event Object\n//\n\n\nNTKERNELAPI\nVOID\nKeInitializeEvent (\n    IN PRKEVENT Event,\n    IN EVENT_TYPE Type,\n    IN BOOLEAN State\n    );\n\nNTKERNELAPI\nVOID\nKeClearEvent (\n    IN PRKEVENT Event\n    );\n\nNTKERNELAPI\nLONG\nKePulseEvent (\n    IN PRKEVENT Event,\n    IN KPRIORITY Increment,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nLONG\nKeReadStateEvent (\n    IN PRKEVENT Event\n    );\n\nNTKERNELAPI\nLONG\nKeResetEvent (\n    IN PRKEVENT Event\n    );\n\n\nNTKERNELAPI\nLONG\nKeSetEvent (\n    IN PRKEVENT Event,\n    IN KPRIORITY Increment,\n    IN BOOLEAN Wait\n    );\n\n//\n// Mutex object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeMutex (\n    IN PRKMUTEX Mutex,\n    IN ULONG Level\n    );\n\nNTKERNELAPI\nLONG\nKeReadStateMutex (\n    IN PRKMUTEX Mutex\n    );\n\nNTKERNELAPI\nLONG\nKeReleaseMutex (\n    IN PRKMUTEX Mutex,\n    IN BOOLEAN Wait\n    );\n\n//\n// Semaphore object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeSemaphore (\n    IN PRKSEMAPHORE Semaphore,\n    IN LONG Count,\n    IN LONG Limit\n    );\n\nNTKERNELAPI\nLONG\nKeReadStateSemaphore (\n    IN PRKSEMAPHORE Semaphore\n    );\n\nNTKERNELAPI\nLONG\nKeReleaseSemaphore (\n    IN PRKSEMAPHORE Semaphore,\n    IN KPRIORITY Increment,\n    IN LONG Adjustment,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI                                         \nNTSTATUS                                            \nKeDelayExecutionThread (                            \n    IN KPROCESSOR_MODE WaitMode,                    \n    IN BOOLEAN Alertable,                           \n    IN PLARGE_INTEGER Interval                      \n    );                                              \n                                                    \nNTKERNELAPI                                         \nKPRIORITY                                           \nKeQueryPriorityThread (                             \n    IN PKTHREAD Thread                              \n    );                                              \n                                                    \nNTKERNELAPI                                         \nULONG                                               \nKeQueryRuntimeThread (                              \n    IN PKTHREAD Thread,                             \n    OUT PULONG UserTime                             \n    );                                              \n                                                    \nNTKERNELAPI                                         \nLONG                                                \nKeSetBasePriorityThread (                           \n    IN PKTHREAD Thread,                             \n    IN LONG Increment                               \n    );                                              \n                                                    \nNTKERNELAPI                                         \nKPRIORITY                                           \nKeSetPriorityThread (                               \n    IN PKTHREAD Thread,                             \n    IN KPRIORITY Priority                           \n    );                                              \n                                                    \n\n#if ((defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) ||defined(_NTHAL_)) && !defined(_NTSYSTEM_DRIVER_) || defined(_NTOSP_))\n\n// begin_wdm\n\nNTKERNELAPI\nVOID\nKeEnterCriticalRegion (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeLeaveCriticalRegion (\n    VOID\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeAreApcsDisabled(\n    VOID\n    );\n\n// end_wdm\n\n#else\n\n//++\n//\n// VOID\n// KeEnterCriticalRegion (\n//    VOID\n//    )\n//\n//\n// Routine Description:\n//\n//    This function disables kernel APC's.\n//\n//    N.B. The following code does not require any interlocks. There are\n//         two cases of interest: 1) On an MP system, the thread cannot\n//         be running on two processors as once, and 2) if the thread is\n//         is interrupted to deliver a kernel mode APC which also calls\n//         this routine, the values read and stored will stack and unstack\n//         properly.\n//\n// Arguments:\n//\n//    None.\n//\n// Return Value:\n//\n//    None.\n//--\n\n#define KeEnterCriticalRegion() KeGetCurrentThread()->KernelApcDisable -= 1\n\n//++\n//\n// VOID\n// KeEnterCriticalRegionThread (\n//    PKTHREAD CurrentThread\n//    )\n//\n//\n// Routine Description:\n//\n//    This function disables kernel APC's for the current thread only.\n//\n//    N.B. The following code does not require any interlocks. There are\n//         two cases of interest: 1) On an MP system, the thread cannot\n//         be running on two processors as once, and 2) if the thread is\n//         is interrupted to deliver a kernel mode APC which also calls\n//         this routine, the values read and stored will stack and unstack\n//         properly.\n//\n// Arguments:\n//\n//    CurrentThread - Current thread thats executing. This must be the\n//                    current thread.\n//\n// Return Value:\n//\n//    None.\n//--\n\n#define KeEnterCriticalRegionThread(CurrentThread) { \\\n    ASSERT (CurrentThread == KeGetCurrentThread ()); \\\n    (CurrentThread)->KernelApcDisable -= 1;          \\\n}\n\n//++\n//\n// VOID\n// KeLeaveCriticalRegion (\n//    VOID\n//    )\n//\n//\n// Routine Description:\n//\n//    This function enables kernel APC's.\n//\n//    N.B. The following code does not require any interlocks. There are\n//         two cases of interest: 1) On an MP system, the thread cannot\n//         be running on two processors as once, and 2) if the thread is\n//         is interrupted to deliver a kernel mode APC which also calls\n//         this routine, the values read and stored will stack and unstack\n//         properly.\n//\n// Arguments:\n//\n//    None.\n//\n// Return Value:\n//\n//    None.\n//--\n\n#define KeLeaveCriticalRegion() KiLeaveCriticalRegion()\n\n//++\n//\n// VOID\n// KeLeaveCriticalRegionThread (\n//    PKTHREAD CurrentThread\n//    )\n//\n//\n// Routine Description:\n//\n//    This function enables kernel APC's for the current thread.\n//\n//    N.B. The following code does not require any interlocks. There are\n//         two cases of interest: 1) On an MP system, the thread cannot\n//         be running on two processors as once, and 2) if the thread is\n//         is interrupted to deliver a kernel mode APC which also calls\n//         this routine, the values read and stored will stack and unstack\n//         properly.\n//\n// Arguments:\n//\n//    CurrentThread - Current thread thats executing. This must be the\n//                    current thread.\n//\n// Return Value:\n//\n//    None.\n//--\n\n#define KeLeaveCriticalRegionThread(CurrentThread) { \\\n    ASSERT (CurrentThread == KeGetCurrentThread ()); \\\n    KiLeaveCriticalRegionThread(CurrentThread);      \\\n}\n\n#define KeAreApcsDisabled() (KeGetCurrentThread()->KernelApcDisable != 0);\n\n//++\n//\n// KPROCESSOR_MODE\n// KeGetPReviousMode (\n//    VOID\n//    )\n//\n//\n// Routine Description:\n//\n//    This function gets the threads previous mode from the trap frame\n//\n//\n// Arguments:\n//\n//    None.\n//\n// Return Value:\n//\n//    KPROCESSOR_MODE - Previous mode for this thread\n//--\n#define KeGetPreviousMode()     (KeGetCurrentThread()->PreviousMode)\n\n//++\n//\n// KPROCESSOR_MODE\n// KeGetPReviousModeByThread (\n//    PKTHREAD xxCurrentThread\n//    )\n//\n//\n// Routine Description:\n//\n//    This function gets the threads previous mode from the trap frame.\n//\n//\n// Arguments:\n//\n//    xxCurrentThread - Current thread. This can not be a cross thread reference\n//\n// Return Value:\n//\n//    KPROCESSOR_MODE - Previous mode for this thread\n//--\n#define KeGetPreviousModeByThread(xxCurrentThread) (ASSERT (xxCurrentThread == KeGetCurrentThread ()),\\\n                                                    (xxCurrentThread)->PreviousMode)\n\n\n#endif\n\n//  begin_wdm\n\n//\n// Timer object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeTimer (\n    IN PKTIMER Timer\n    );\n\nNTKERNELAPI\nVOID\nKeInitializeTimerEx (\n    IN PKTIMER Timer,\n    IN TIMER_TYPE Type\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeCancelTimer (\n    IN PKTIMER\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeReadStateTimer (\n    PKTIMER Timer\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeSetTimer (\n    IN PKTIMER Timer,\n    IN LARGE_INTEGER DueTime,\n    IN PKDPC Dpc OPTIONAL\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeSetTimerEx (\n    IN PKTIMER Timer,\n    IN LARGE_INTEGER DueTime,\n    IN LONG Period OPTIONAL,\n    IN PKDPC Dpc OPTIONAL\n    );\n\n\n#define KeWaitForMutexObject KeWaitForSingleObject\n\nNTKERNELAPI\nNTSTATUS\nKeWaitForMultipleObjects (\n    IN ULONG Count,\n    IN PVOID Object[],\n    IN WAIT_TYPE WaitType,\n    IN KWAIT_REASON WaitReason,\n    IN KPROCESSOR_MODE WaitMode,\n    IN BOOLEAN Alertable,\n    IN PLARGE_INTEGER Timeout OPTIONAL,\n    IN PKWAIT_BLOCK WaitBlockArray OPTIONAL\n    );\n\nNTKERNELAPI\nNTSTATUS\nKeWaitForSingleObject (\n    IN PVOID Object,\n    IN KWAIT_REASON WaitReason,\n    IN KPROCESSOR_MODE WaitMode,\n    IN BOOLEAN Alertable,\n    IN PLARGE_INTEGER Timeout OPTIONAL\n    );\n\n\n//\n// On X86 the following routines are defined in the HAL and imported by\n// all other modules.\n//\n\n#if defined(_X86_) && !defined(_NTHAL_)\n\n#define _DECL_HAL_KE_IMPORT  __declspec(dllimport)\n\n#else\n\n#define _DECL_HAL_KE_IMPORT\n\n#endif\n\n//\n// spin lock functions\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nKeInitializeSpinLock (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#if defined(_X86_)\n\nNTKERNELAPI\nVOID\nFASTCALL\nKefAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nKefReleaseSpinLockFromDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#define KeAcquireSpinLockAtDpcLevel(a)      KefAcquireSpinLockAtDpcLevel(a)\n#define KeReleaseSpinLockFromDpcLevel(a)    KefReleaseSpinLockFromDpcLevel(a)\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nFASTCALL\nKfAcquireSpinLock (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKfReleaseSpinLock (\n    IN PKSPIN_LOCK SpinLock,\n    IN KIRQL NewIrql\n    );\n\n// end_wdm\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nFASTCALL\nKeAcquireSpinLockRaiseToSynch (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n// begin_wdm\n\n#define KeAcquireSpinLock(a,b)  *(b) = KfAcquireSpinLock(a)\n#define KeReleaseSpinLock(a,b)  KfReleaseSpinLock(a,b)\n\n#else\n\nNTKERNELAPI\nKIRQL\nFASTCALL\nKeAcquireSpinLockRaiseToSynch (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nKeAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nKeReleaseSpinLockFromDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nKIRQL\nKeAcquireSpinLockRaiseToDpc (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#define KeAcquireSpinLock(SpinLock, OldIrql) \\\n    *(OldIrql) = KeAcquireSpinLockRaiseToDpc(SpinLock)\n\nNTKERNELAPI\nVOID\nKeReleaseSpinLock (\n    IN PKSPIN_LOCK SpinLock,\n    IN KIRQL NewIrql\n    );\n\n#endif\n\nNTKERNELAPI\nBOOLEAN\nFASTCALL\nKeTryToAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n\n#if defined(_X86_)\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKfLowerIrql (\n    IN KIRQL NewIrql\n    );\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nFASTCALL\nKfRaiseIrql (\n    IN KIRQL NewIrql\n    );\n\n// end_wdm\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nKeRaiseIrqlToDpcLevel(\n    VOID\n    );\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nKeRaiseIrqlToSynchLevel(\n    VOID\n    );\n\n// begin_wdm\n\n#define KeLowerIrql(a)      KfLowerIrql(a)\n#define KeRaiseIrql(a,b)    *(b) = KfRaiseIrql(a)\n\n// end_wdm\n\n// begin_wdm\n\n#elif defined(_ALPHA_)\n\n#define KeLowerIrql(a)      __swpirql(a)\n#define KeRaiseIrql(a,b)    *(b) = __swpirql(a)\n\n// end_wdm\n\nextern ULONG KiSynchIrql;\n\n#define KfRaiseIrql(a)      __swpirql(a)\n#define KeRaiseIrqlToDpcLevel() __swpirql(DISPATCH_LEVEL)\n#define KeRaiseIrqlToSynchLevel() __swpirql((UCHAR)KiSynchIrql)\n\n// begin_wdm\n\n#elif defined(_IA64_)\n\nVOID\nKeLowerIrql (\n    IN KIRQL NewIrql\n    );\n\nVOID\nKeRaiseIrql (\n    IN KIRQL NewIrql,\n    OUT PKIRQL OldIrql\n    );\n\n// end_wdm\n\nKIRQL\nKfRaiseIrql (\n    IN KIRQL NewIrql\n    );\n\nKIRQL\nKeRaiseIrqlToDpcLevel (\n    VOID\n    );\n\nKIRQL\nKeRaiseIrqlToSynchLevel (\n    VOID\n    );\n\n// begin_wdm\n\n#elif defined(_AMD64_)\n\n//\n// These function are defined in amd64.h for the AMD64 platform.\n//\n\n#else\n\n#error \"no target architecture\"\n\n#endif\n\n//\n// Queued spin lock functions for \"in stack\" lock handles.\n//\n// The following three functions RAISE and LOWER IRQL when a queued\n// in stack spin lock is acquired or released using these routines.\n//\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKeAcquireInStackQueuedSpinLock (\n    IN PKSPIN_LOCK SpinLock,\n    IN PKLOCK_QUEUE_HANDLE LockHandle\n    );\n\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKeReleaseInStackQueuedSpinLock (\n    IN PKLOCK_QUEUE_HANDLE LockHandle\n    );\n\n//\n// The following two functions do NOT raise or lower IRQL when a queued\n// in stack spin lock is acquired or released using these functions.\n//\n\nNTKERNELAPI\nVOID\nFASTCALL\nKeAcquireInStackQueuedSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock,\n    IN PKLOCK_QUEUE_HANDLE LockHandle\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nKeReleaseInStackQueuedSpinLockFromDpcLevel (\n    IN PKLOCK_QUEUE_HANDLE LockHandle\n    );\n\n//\n// Miscellaneous kernel functions\n//\n\ntypedef enum _KBUGCHECK_BUFFER_DUMP_STATE {\n    BufferEmpty,\n    BufferInserted,\n    BufferStarted,\n    BufferFinished,\n    BufferIncomplete\n} KBUGCHECK_BUFFER_DUMP_STATE;\n\ntypedef\nVOID\n(*PKBUGCHECK_CALLBACK_ROUTINE) (\n    IN PVOID Buffer,\n    IN ULONG Length\n    );\n\ntypedef struct _KBUGCHECK_CALLBACK_RECORD {\n    LIST_ENTRY Entry;\n    PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;\n    PVOID Buffer;\n    ULONG Length;\n    PUCHAR Component;\n    ULONG_PTR Checksum;\n    UCHAR State;\n} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;\n\n#define KeInitializeCallbackRecord(CallbackRecord) \\\n    (CallbackRecord)->State = BufferEmpty\n\nNTKERNELAPI\nBOOLEAN\nKeDeregisterBugCheckCallback (\n    IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRegisterBugCheckCallback (\n    IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord,\n    IN PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,\n    IN PVOID Buffer,\n    IN ULONG Length,\n    IN PUCHAR Component\n    );\n\ntypedef enum _KBUGCHECK_CALLBACK_REASON {\n    KbCallbackInvalid,\n    KbCallbackReserved1,\n    KbCallbackSecondaryDumpData,\n    KbCallbackDumpIo,\n} KBUGCHECK_CALLBACK_REASON;\n\ntypedef\nVOID\n(*PKBUGCHECK_REASON_CALLBACK_ROUTINE) (\n    IN KBUGCHECK_CALLBACK_REASON Reason,\n    IN struct _KBUGCHECK_REASON_CALLBACK_RECORD* Record,\n    IN OUT PVOID ReasonSpecificData,\n    IN ULONG ReasonSpecificDataLength\n    );\n\ntypedef struct _KBUGCHECK_REASON_CALLBACK_RECORD {\n    LIST_ENTRY Entry;\n    PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine;\n    PUCHAR Component;\n    ULONG_PTR Checksum;\n    KBUGCHECK_CALLBACK_REASON Reason;\n    UCHAR State;\n} KBUGCHECK_REASON_CALLBACK_RECORD, *PKBUGCHECK_REASON_CALLBACK_RECORD;\n\ntypedef struct _KBUGCHECK_SECONDARY_DUMP_DATA {\n    IN PVOID InBuffer;\n    IN ULONG InBufferLength;\n    IN ULONG MaximumAllowed;\n    OUT GUID Guid;\n    OUT PVOID OutBuffer;\n    OUT ULONG OutBufferLength;\n} KBUGCHECK_SECONDARY_DUMP_DATA, *PKBUGCHECK_SECONDARY_DUMP_DATA;\n\ntypedef enum _KBUGCHECK_DUMP_IO_TYPE\n{\n    KbDumpIoInvalid,\n    KbDumpIoHeader,\n    KbDumpIoBody,\n    KbDumpIoSecondaryData,\n    KbDumpIoComplete\n} KBUGCHECK_DUMP_IO_TYPE;\n\ntypedef struct _KBUGCHECK_DUMP_IO {\n    IN ULONG64 Offset;\n    IN PVOID Buffer;\n    IN ULONG BufferLength;\n    IN KBUGCHECK_DUMP_IO_TYPE Type;\n} KBUGCHECK_DUMP_IO, *PKBUGCHECK_DUMP_IO;\n\nNTKERNELAPI\nBOOLEAN\nKeDeregisterBugCheckReasonCallback (\n    IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRegisterBugCheckReasonCallback (\n    IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,\n    IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,\n    IN KBUGCHECK_CALLBACK_REASON Reason,\n    IN PUCHAR Component\n    );\n\n// end_wdm\n\nNTKERNELAPI\nDECLSPEC_NORETURN\nVOID\nNTAPI\nKeBugCheck (\n    IN ULONG BugCheckCode\n    );\n\n\nNTKERNELAPI\nDECLSPEC_NORETURN\nVOID\nKeBugCheckEx(\n    IN ULONG BugCheckCode,\n    IN ULONG_PTR BugCheckParameter1,\n    IN ULONG_PTR BugCheckParameter2,\n    IN ULONG_PTR BugCheckParameter3,\n    IN ULONG_PTR BugCheckParameter4\n    );\n\n\nNTKERNELAPI\nULONGLONG\nKeQueryInterruptTime (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeQuerySystemTime (\n    OUT PLARGE_INTEGER CurrentTime\n    );\n\nNTKERNELAPI\nULONG\nKeQueryTimeIncrement (\n    VOID\n    );\n\nNTKERNELAPI\nULONG\nKeGetRecommendedSharedDataAlignment (\n    VOID\n    );\n\n// end_wdm\nNTKERNELAPI\nKAFFINITY\nKeQueryActiveProcessors (\n    VOID\n    );\n\n//\n// Time update notify routine.\n//\n\ntypedef\nVOID\n(FASTCALL *PTIME_UPDATE_NOTIFY_ROUTINE)(\n    IN HANDLE ThreadId,\n    IN KPROCESSOR_MODE Mode\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nKeSetTimeUpdateNotifyRoutine(\n    IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine\n    );\n\n\n#if defined(_AMD64_) || defined(_ALPHA_) || defined(_IA64_)\n\nextern volatile LARGE_INTEGER KeTickCount;\n\n#else\n\nextern volatile KSYSTEM_TIME KeTickCount;\n\n#endif\n\n\ntypedef enum _MEMORY_CACHING_TYPE_ORIG {\n    MmFrameBufferCached = 2\n} MEMORY_CACHING_TYPE_ORIG;\n\ntypedef enum _MEMORY_CACHING_TYPE {\n    MmNonCached = FALSE,\n    MmCached = TRUE,\n    MmWriteCombined = MmFrameBufferCached,\n    MmHardwareCoherentCached,\n    MmNonCachedUnordered,       // IA64\n    MmUSWCCached,\n    MmMaximumCacheType\n} MEMORY_CACHING_TYPE;\n\n//\n// Define external data.\n// because of indirection for all drivers external to ntoskrnl these are actually ptrs\n//\n\n#if defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_)\n\nextern PBOOLEAN KdDebuggerNotPresent;\nextern PBOOLEAN KdDebuggerEnabled;\n#define KD_DEBUGGER_ENABLED     *KdDebuggerEnabled\n#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent\n\n#else\n\nextern BOOLEAN KdDebuggerNotPresent;\nextern BOOLEAN KdDebuggerEnabled;\n#define KD_DEBUGGER_ENABLED     KdDebuggerEnabled\n#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent\n\n#endif\n\n\n\n\nVOID\nKdDisableDebugger(\n    VOID\n    );\n\nVOID\nKdEnableDebugger(\n    VOID\n    );\n\n//\n// Pool Allocation routines (in pool.c)\n//\n\ntypedef enum _POOL_TYPE {\n    NonPagedPool,\n    PagedPool,\n    NonPagedPoolMustSucceed,\n    DontUseThisType,\n    NonPagedPoolCacheAligned,\n    PagedPoolCacheAligned,\n    NonPagedPoolCacheAlignedMustS,\n    MaxPoolType\n\n    // end_wdm\n    ,\n    //\n    // Note these per session types are carefully chosen so that the appropriate\n    // masking still applies as well as MaxPoolType above.\n    //\n\n    NonPagedPoolSession = 32,\n    PagedPoolSession = NonPagedPoolSession + 1,\n    NonPagedPoolMustSucceedSession = PagedPoolSession + 1,\n    DontUseThisTypeSession = NonPagedPoolMustSucceedSession + 1,\n    NonPagedPoolCacheAlignedSession = DontUseThisTypeSession + 1,\n    PagedPoolCacheAlignedSession = NonPagedPoolCacheAlignedSession + 1,\n    NonPagedPoolCacheAlignedMustSSession = PagedPoolCacheAlignedSession + 1,\n\n    // begin_wdm\n\n    } POOL_TYPE;\n\n#define POOL_COLD_ALLOCATION 256     // Note this cannot encode into the header.\n\n\nNTKERNELAPI\nPVOID\nExAllocatePool(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nPVOID\nExAllocatePoolWithQuota(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nPVOID\nNTAPI\nExAllocatePoolWithTag(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\n//\n// _EX_POOL_PRIORITY_ provides a method for the system to handle requests\n// intelligently in low resource conditions.\n//\n// LowPoolPriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is low on resources.  An example of\n// this could be for a non-critical network connection where the driver can\n// handle the failure case when system resources are close to being depleted.\n//\n// NormalPoolPriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is very low on resources.  An example\n// of this could be for a non-critical local filesystem request.\n//\n// HighPoolPriority should be used when it is unacceptable to the driver for the\n// mapping request to fail unless the system is completely out of resources.\n// An example of this would be the paging file path in a driver.\n//\n// SpecialPool can be specified to bound the allocation at a page end (or\n// beginning).  This should only be done on systems being debugged as the\n// memory cost is expensive.\n//\n// N.B.  These values are very carefully chosen so that the pool allocation\n//       code can quickly crack the priority request.\n//\n\ntypedef enum _EX_POOL_PRIORITY {\n    LowPoolPriority,\n    LowPoolPrioritySpecialPoolOverrun = 8,\n    LowPoolPrioritySpecialPoolUnderrun = 9,\n    NormalPoolPriority = 16,\n    NormalPoolPrioritySpecialPoolOverrun = 24,\n    NormalPoolPrioritySpecialPoolUnderrun = 25,\n    HighPoolPriority = 32,\n    HighPoolPrioritySpecialPoolOverrun = 40,\n    HighPoolPrioritySpecialPoolUnderrun = 41\n\n    } EX_POOL_PRIORITY;\n\nNTKERNELAPI\nPVOID\nNTAPI\nExAllocatePoolWithTagPriority(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag,\n    IN EX_POOL_PRIORITY Priority\n    );\n\n#ifndef POOL_TAGGING\n#define ExAllocatePoolWithTag(a,b,c) ExAllocatePool(a,b)\n#endif //POOL_TAGGING\n\nNTKERNELAPI\nPVOID\nExAllocatePoolWithQuotaTag(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\n#ifndef POOL_TAGGING\n#define ExAllocatePoolWithQuotaTag(a,b,c) ExAllocatePoolWithQuota(a,b)\n#endif //POOL_TAGGING\n\nNTKERNELAPI\nVOID\nNTAPI\nExFreePool(\n    IN PVOID P\n    );\n\n// end_wdm\n#if defined(POOL_TAGGING)\n#define ExFreePool(a) ExFreePoolWithTag(a,0)\n#endif\n\n//\n// If high order bit in Pool tag is set, then must use ExFreePoolWithTag to free\n//\n\n#define PROTECTED_POOL 0x80000000\n\n// begin_wdm\nNTKERNELAPI\nVOID\nExFreePoolWithTag(\n    IN PVOID P,\n    IN ULONG Tag\n    );\n\n//\n// Routines to support fast mutexes.\n//\n\ntypedef struct _FAST_MUTEX {\n    LONG Count;\n    PKTHREAD Owner;\n    ULONG Contention;\n    KEVENT Event;\n    ULONG OldIrql;\n} FAST_MUTEX, *PFAST_MUTEX;\n\n#define ExInitializeFastMutex(_FastMutex)                            \\\n    (_FastMutex)->Count = 1;                                         \\\n    (_FastMutex)->Owner = NULL;                                      \\\n    (_FastMutex)->Contention = 0;                                    \\\n    KeInitializeEvent(&(_FastMutex)->Event,                          \\\n                      SynchronizationEvent,                          \\\n                      FALSE);\n\nNTKERNELAPI\nVOID\nFASTCALL\nExAcquireFastMutexUnsafe (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseFastMutexUnsafe (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#if defined(_ALPHA_) || defined(_IA64_) || defined(_AMD64_)\n\nNTKERNELAPI\nVOID\nFASTCALL\nExAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nBOOLEAN\nFASTCALL\nExTryToAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#elif defined(_X86_)\n\nNTHALAPI\nVOID\nFASTCALL\nExAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTHALAPI\nVOID\nFASTCALL\nExReleaseFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTHALAPI\nBOOLEAN\nFASTCALL\nExTryToAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#else\n\n#error \"Target architecture not defined\"\n\n#endif\n\n//\n\nNTKERNELAPI\nVOID\nFASTCALL\nExInterlockedAddLargeStatistic (\n    IN PLARGE_INTEGER Addend,\n    IN ULONG Increment\n    );\n\n// end_ntndis\n\nNTKERNELAPI\nLARGE_INTEGER\nExInterlockedAddLargeInteger (\n    IN PLARGE_INTEGER Addend,\n    IN LARGE_INTEGER Increment,\n    IN PKSPIN_LOCK Lock\n    );\n\n\nNTKERNELAPI\nULONG\nFASTCALL\nExInterlockedAddUlong (\n    IN PULONG Addend,\n    IN ULONG Increment,\n    IN PKSPIN_LOCK Lock\n    );\n\n\n#if defined(_AMD64_) || defined(_AXP64_) || defined(_IA64_)\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    InterlockedCompareExchange64(Destination, *(Exchange), *(Comperand))\n\n#elif defined(_ALPHA_)\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    ExpInterlockedCompareExchange64(Destination, Exchange, Comperand)\n\n#else\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    ExfInterlockedCompareExchange64(Destination, Exchange, Comperand)\n\n#endif\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedInsertHeadList (\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedInsertTailList (\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedRemoveHeadList (\n    IN PLIST_ENTRY ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSINGLE_LIST_ENTRY\nFASTCALL\nExInterlockedPopEntryList (\n    IN PSINGLE_LIST_ENTRY ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSINGLE_LIST_ENTRY\nFASTCALL\nExInterlockedPushEntryList (\n    IN PSINGLE_LIST_ENTRY ListHead,\n    IN PSINGLE_LIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\n//\n// Define interlocked sequenced listhead functions.\n//\n// A sequenced interlocked list is a singly linked list with a header that\n// contains the current depth and a sequence number. Each time an entry is\n// inserted or removed from the list the depth is updated and the sequence\n// number is incremented. This enables AMD64, IA64, and Pentium and later\n// machines to insert and remove from the list without the use of spinlocks.\n//\n\n#if !defined(_WINBASE_)\n\n/*++\n\nRoutine Description:\n\n    This function initializes a sequenced singly linked listhead.\n\nArguments:\n\n    SListHead - Supplies a pointer to a sequenced singly linked listhead.\n\nReturn Value:\n\n    None.\n\n--*/\n\n#if defined(_WIN64) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_NTOSP_))\n\nNTKERNELAPI\nVOID\nInitializeSListHead (\n    IN PSLIST_HEADER SListHead\n    );\n\n#else\n\n__inline\nVOID\nInitializeSListHead (\n    IN PSLIST_HEADER SListHead\n    )\n\n{\n\n#ifdef _WIN64\n\n    //\n    // Slist headers must be 16 byte aligned.\n    //\n\n    if ((ULONG_PTR) SListHead & 0x0f) {\n\n        DbgPrint( \"InitializeSListHead unaligned Slist header.  Address = %p, Caller = %p\\n\", SListHead, _ReturnAddress());\n        RtlRaiseStatus(STATUS_DATATYPE_MISALIGNMENT);\n    }\n\n#endif\n\n    SListHead->Alignment = 0;\n\n    //\n    // For IA-64 we save the region number of the elements of the list in a\n    // separate field.  This imposes the requirement that all elements stored\n    // in the list are from the same region.\n\n#if defined(_IA64_)\n\n    SListHead->Region = (ULONG_PTR)SListHead & VRN_MASK;\n\n#elif defined(_AMD64_)\n\n    SListHead->Region = 0;\n\n#endif\n\n    return;\n}\n\n#endif\n\n#endif // !defined(_WINBASE_)\n\n#define ExInitializeSListHead InitializeSListHead\n\nPSLIST_ENTRY\nFirstEntrySList (\n    IN const SLIST_HEADER *SListHead\n    );\n\n/*++\n\nRoutine Description:\n\n    This function queries the current number of entries contained in a\n    sequenced single linked list.\n\nArguments:\n\n    SListHead - Supplies a pointer to the sequenced listhead which is\n        be queried.\n\nReturn Value:\n\n    The current number of entries in the sequenced singly linked list is\n    returned as the function value.\n\n--*/\n\n#if defined(_WIN64)\n\n#if (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_NTOSP_))\n\nNTKERNELAPI\nUSHORT\nExQueryDepthSList (\n    IN PSLIST_HEADER SListHead\n    );\n\n#else\n\n__inline\nUSHORT\nExQueryDepthSList (\n    IN PSLIST_HEADER SListHead\n    )\n\n{\n\n    return (USHORT)(SListHead->Alignment & 0xffff);\n}\n\n#endif\n\n#else\n\n#define ExQueryDepthSList(_listhead_) (_listhead_)->Depth\n\n#endif\n\n#if defined(_WIN64)\n\n#define ExInterlockedPopEntrySList(Head, Lock) \\\n    ExpInterlockedPopEntrySList(Head)\n\n#define ExInterlockedPushEntrySList(Head, Entry, Lock) \\\n    ExpInterlockedPushEntrySList(Head, Entry)\n\n#define ExInterlockedFlushSList(Head) \\\n    ExpInterlockedFlushSList(Head)\n\n#if !defined(_WINBASE_)\n\n#define InterlockedPopEntrySList(Head) \\\n    ExpInterlockedPopEntrySList(Head)\n\n#define InterlockedPushEntrySList(Head, Entry) \\\n    ExpInterlockedPushEntrySList(Head, Entry)\n\n#define InterlockedFlushSList(Head) \\\n    ExpInterlockedFlushSList(Head)\n\n#define QueryDepthSList(Head) \\\n    ExQueryDepthSList(Head)\n\n#endif // !defined(_WINBASE_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#else\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\n#else\n\n#define ExInterlockedPopEntrySList(ListHead, Lock) \\\n    InterlockedPopEntrySList(ListHead)\n\n#define ExInterlockedPushEntrySList(ListHead, ListEntry, Lock) \\\n    InterlockedPushEntrySList(ListHead, ListEntry)\n\n#endif\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#if !defined(_WINBASE_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\n#define InterlockedFlushSList(Head) \\\n    ExInterlockedFlushSList(Head)\n\n#define QueryDepthSList(Head) \\\n    ExQueryDepthSList(Head)\n\n#endif // !defined(_WINBASE_)\n\n#endif // defined(_WIN64)\n\n\ntypedef\nPVOID\n(*PALLOCATE_FUNCTION) (\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\ntypedef\nVOID\n(*PFREE_FUNCTION) (\n    IN PVOID Buffer\n    );\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_) || defined(_NDIS_))\n\ntypedef struct _GENERAL_LOOKASIDE {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _GENERAL_LOOKASIDE {\n\n#endif\n\n    SLIST_HEADER ListHead;\n    USHORT Depth;\n    USHORT MaximumDepth;\n    ULONG TotalAllocates;\n    union {\n        ULONG AllocateMisses;\n        ULONG AllocateHits;\n    };\n\n    ULONG TotalFrees;\n    union {\n        ULONG FreeMisses;\n        ULONG FreeHits;\n    };\n\n    POOL_TYPE Type;\n    ULONG Tag;\n    ULONG Size;\n    PALLOCATE_FUNCTION Allocate;\n    PFREE_FUNCTION Free;\n    LIST_ENTRY ListEntry;\n    ULONG LastTotalAllocates;\n    union {\n        ULONG LastAllocateMisses;\n        ULONG LastAllocateHits;\n    };\n\n    ULONG Future[2];\n} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_) || defined(_NDIS_))\n\ntypedef struct _NPAGED_LOOKASIDE_LIST {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _NPAGED_LOOKASIDE_LIST {\n\n#endif\n\n    GENERAL_LOOKASIDE L;\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n\n    KSPIN_LOCK Lock__ObsoleteButDoNotDelete;\n\n#endif\n\n} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;\n\nNTKERNELAPI\nVOID\nExInitializeNPagedLookasideList (\n    IN PNPAGED_LOOKASIDE_LIST Lookaside,\n    IN PALLOCATE_FUNCTION Allocate,\n    IN PFREE_FUNCTION Free,\n    IN ULONG Flags,\n    IN SIZE_T Size,\n    IN ULONG Tag,\n    IN USHORT Depth\n    );\n\nNTKERNELAPI\nVOID\nExDeleteNPagedLookasideList (\n    IN PNPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n__inline\nPVOID\nExAllocateFromNPagedLookasideList(\n    IN PNPAGED_LOOKASIDE_LIST Lookaside\n    )\n\n/*++\n\nRoutine Description:\n\n    This function removes (pops) the first entry from the specified\n    nonpaged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\nReturn Value:\n\n    If an entry is removed from the specified lookaside list, then the\n    address of the entry is returned as the function value. Otherwise,\n    NULL is returned.\n\n--*/\n\n{\n\n    PVOID Entry;\n\n    Lookaside->L.TotalAllocates += 1;\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\n    Entry = ExInterlockedPopEntrySList(&Lookaside->L.ListHead,\n                                       &Lookaside->Lock__ObsoleteButDoNotDelete);\n\n\n#else\n\n    Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);\n\n#endif\n\n    if (Entry == NULL) {\n        Lookaside->L.AllocateMisses += 1;\n        Entry = (Lookaside->L.Allocate)(Lookaside->L.Type,\n                                        Lookaside->L.Size,\n                                        Lookaside->L.Tag);\n    }\n\n    return Entry;\n}\n\n__inline\nVOID\nExFreeToNPagedLookasideList(\n    IN PNPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    )\n\n/*++\n\nRoutine Description:\n\n    This function inserts (pushes) the specified entry into the specified\n    nonpaged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\n    Entry - Supples a pointer to the entry that is inserted in the\n        lookaside list.\n\nReturn Value:\n\n    None.\n\n--*/\n\n{\n\n    Lookaside->L.TotalFrees += 1;\n    if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {\n        Lookaside->L.FreeMisses += 1;\n        (Lookaside->L.Free)(Entry);\n\n    } else {\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\n        ExInterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                    (PSLIST_ENTRY)Entry,\n                                    &Lookaside->Lock__ObsoleteButDoNotDelete);\n\n#else\n\n        InterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                  (PSLIST_ENTRY)Entry);\n\n#endif\n\n    }\n    return;\n}\n\n// end_ntndis\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_)  || defined(_NDIS_))\n\ntypedef struct _PAGED_LOOKASIDE_LIST {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _PAGED_LOOKASIDE_LIST {\n\n#endif\n\n    GENERAL_LOOKASIDE L;\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n\n    FAST_MUTEX Lock__ObsoleteButDoNotDelete;\n\n#endif\n\n} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;\n\n\nNTKERNELAPI\nVOID\nExInitializePagedLookasideList (\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PALLOCATE_FUNCTION Allocate,\n    IN PFREE_FUNCTION Free,\n    IN ULONG Flags,\n    IN SIZE_T Size,\n    IN ULONG Tag,\n    IN USHORT Depth\n    );\n\nNTKERNELAPI\nVOID\nExDeletePagedLookasideList (\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nPVOID\nExAllocateFromPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n#else\n\n__inline\nPVOID\nExAllocateFromPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    )\n\n/*++\n\nRoutine Description:\n\n    This function removes (pops) the first entry from the specified\n    paged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a paged lookaside list structure.\n\nReturn Value:\n\n    If an entry is removed from the specified lookaside list, then the\n    address of the entry is returned as the function value. Otherwise,\n    NULL is returned.\n\n--*/\n\n{\n\n    PVOID Entry;\n\n    Lookaside->L.TotalAllocates += 1;\n    Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);\n    if (Entry == NULL) {\n        Lookaside->L.AllocateMisses += 1;\n        Entry = (Lookaside->L.Allocate)(Lookaside->L.Type,\n                                        Lookaside->L.Size,\n                                        Lookaside->L.Tag);\n    }\n\n    return Entry;\n}\n\n#endif\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nVOID\nExFreeToPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    );\n\n#else\n\n__inline\nVOID\nExFreeToPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    )\n\n/*++\n\nRoutine Description:\n\n    This function inserts (pushes) the specified entry into the specified\n    paged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\n    Entry - Supples a pointer to the entry that is inserted in the\n        lookaside list.\n\nReturn Value:\n\n    None.\n\n--*/\n\n{\n\n    Lookaside->L.TotalFrees += 1;\n    if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {\n        Lookaside->L.FreeMisses += 1;\n        (Lookaside->L.Free)(Entry);\n\n    } else {\n        InterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                  (PSLIST_ENTRY)Entry);\n    }\n\n    return;\n}\n\n#endif\n\n\nNTKERNELAPI\nVOID\nNTAPI\nProbeForRead(\n    IN CONST VOID *Address,\n    IN SIZE_T Length,\n    IN ULONG Alignment\n    );\n\n//\n// Common probe for write functions.\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nProbeForWrite (\n    IN PVOID Address,\n    IN SIZE_T Length,\n    IN ULONG Alignment\n    );\n\n//\n// Worker Thread\n//\n\ntypedef enum _WORK_QUEUE_TYPE {\n    CriticalWorkQueue,\n    DelayedWorkQueue,\n    HyperCriticalWorkQueue,\n    MaximumWorkQueue\n} WORK_QUEUE_TYPE;\n\ntypedef\nVOID\n(*PWORKER_THREAD_ROUTINE)(\n    IN PVOID Parameter\n    );\n\ntypedef struct _WORK_QUEUE_ITEM {\n    LIST_ENTRY List;\n    PWORKER_THREAD_ROUTINE WorkerRoutine;\n    PVOID Parameter;\n} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInitializeWorkItem)    // Use IoAllocateWorkItem\n#endif\n#define ExInitializeWorkItem(Item, Routine, Context) \\\n    (Item)->WorkerRoutine = (Routine);               \\\n    (Item)->Parameter = (Context);                   \\\n    (Item)->List.Flink = NULL;\n\nDECLSPEC_DEPRECATED_DDK                     // Use IoQueueWorkItem\nNTKERNELAPI\nVOID\nExQueueWorkItem(\n    IN PWORK_QUEUE_ITEM WorkItem,\n    IN WORK_QUEUE_TYPE QueueType\n    );\n\n\nNTKERNELAPI\nBOOLEAN\nExIsProcessorFeaturePresent(\n    ULONG ProcessorFeature\n    );\n\n//\n// Zone Allocation\n//\n\ntypedef struct _ZONE_SEGMENT_HEADER {\n    SINGLE_LIST_ENTRY SegmentList;\n    PVOID Reserved;\n} ZONE_SEGMENT_HEADER, *PZONE_SEGMENT_HEADER;\n\ntypedef struct _ZONE_HEADER {\n    SINGLE_LIST_ENTRY FreeList;\n    SINGLE_LIST_ENTRY SegmentList;\n    ULONG BlockSize;\n    ULONG TotalSegmentSize;\n} ZONE_HEADER, *PZONE_HEADER;\n\n\nDECLSPEC_DEPRECATED_DDK\nNTKERNELAPI\nNTSTATUS\nExInitializeZone(\n    IN PZONE_HEADER Zone,\n    IN ULONG BlockSize,\n    IN PVOID InitialSegment,\n    IN ULONG InitialSegmentSize\n    );\n\nDECLSPEC_DEPRECATED_DDK\nNTKERNELAPI\nNTSTATUS\nExExtendZone(\n    IN PZONE_HEADER Zone,\n    IN PVOID Segment,\n    IN ULONG SegmentSize\n    );\n\nDECLSPEC_DEPRECATED_DDK\nNTKERNELAPI\nNTSTATUS\nExInterlockedExtendZone(\n    IN PZONE_HEADER Zone,\n    IN PVOID Segment,\n    IN ULONG SegmentSize,\n    IN PKSPIN_LOCK Lock\n    );\n\n//++\n//\n// PVOID\n// ExAllocateFromZone(\n//     IN PZONE_HEADER Zone\n//     )\n//\n// Routine Description:\n//\n//     This routine removes an entry from the zone and returns a pointer to it.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header controlling the storage from which the\n//         entry is to be allocated.\n//\n// Return Value:\n//\n//     The function value is a pointer to the storage allocated from the zone.\n//\n//--\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExAllocateFromZone)\n#endif\n#define ExAllocateFromZone(Zone) \\\n    (PVOID)((Zone)->FreeList.Next); \\\n    if ( (Zone)->FreeList.Next ) (Zone)->FreeList.Next = (Zone)->FreeList.Next->Next\n\n\n//++\n//\n// PVOID\n// ExFreeToZone(\n//     IN PZONE_HEADER Zone,\n//     IN PVOID Block\n//     )\n//\n// Routine Description:\n//\n//     This routine places the specified block of storage back onto the free\n//     list in the specified zone.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header controlling the storage to which the\n//         entry is to be inserted.\n//\n//     Block - Pointer to the block of storage to be freed back to the zone.\n//\n// Return Value:\n//\n//     Pointer to previous block of storage that was at the head of the free\n//         list.  NULL implies the zone went from no available free blocks to\n//         at least one free block.\n//\n//--\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExFreeToZone)\n#endif\n#define ExFreeToZone(Zone,Block)                                    \\\n    ( ((PSINGLE_LIST_ENTRY)(Block))->Next = (Zone)->FreeList.Next,  \\\n      (Zone)->FreeList.Next = ((PSINGLE_LIST_ENTRY)(Block)),        \\\n      ((PSINGLE_LIST_ENTRY)(Block))->Next                           \\\n    )\n\n//++\n//\n// BOOLEAN\n// ExIsFullZone(\n//     IN PZONE_HEADER Zone\n//     )\n//\n// Routine Description:\n//\n//     This routine determines if the specified zone is full or not.  A zone\n//     is considered full if the free list is empty.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header to be tested.\n//\n// Return Value:\n//\n//     TRUE if the zone is full and FALSE otherwise.\n//\n//--\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExIsFullZone)\n#endif\n#define ExIsFullZone(Zone) \\\n    ( (Zone)->FreeList.Next == (PSINGLE_LIST_ENTRY)NULL )\n\n//++\n//\n// PVOID\n// ExInterlockedAllocateFromZone(\n//     IN PZONE_HEADER Zone,\n//     IN PKSPIN_LOCK Lock\n//     )\n//\n// Routine Description:\n//\n//     This routine removes an entry from the zone and returns a pointer to it.\n//     The removal is performed with the specified lock owned for the sequence\n//     to make it MP-safe.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header controlling the storage from which the\n//         entry is to be allocated.\n//\n//     Lock - Pointer to the spin lock which should be obtained before removing\n//         the entry from the allocation list.  The lock is released before\n//         returning to the caller.\n//\n// Return Value:\n//\n//     The function value is a pointer to the storage allocated from the zone.\n//\n//--\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInterlockedAllocateFromZone)\n#endif\n#define ExInterlockedAllocateFromZone(Zone,Lock) \\\n    (PVOID) ExInterlockedPopEntryList( &(Zone)->FreeList, Lock )\n\n//++\n//\n// PVOID\n// ExInterlockedFreeToZone(\n//     IN PZONE_HEADER Zone,\n//     IN PVOID Block,\n//     IN PKSPIN_LOCK Lock\n//     )\n//\n// Routine Description:\n//\n//     This routine places the specified block of storage back onto the free\n//     list in the specified zone.  The insertion is performed with the lock\n//     owned for the sequence to make it MP-safe.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header controlling the storage to which the\n//         entry is to be inserted.\n//\n//     Block - Pointer to the block of storage to be freed back to the zone.\n//\n//     Lock - Pointer to the spin lock which should be obtained before inserting\n//         the entry onto the free list.  The lock is released before returning\n//         to the caller.\n//\n// Return Value:\n//\n//     Pointer to previous block of storage that was at the head of the free\n//         list.  NULL implies the zone went from no available free blocks to\n//         at least one free block.\n//\n//--\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInterlockedFreeToZone)\n#endif\n#define ExInterlockedFreeToZone(Zone,Block,Lock) \\\n    ExInterlockedPushEntryList( &(Zone)->FreeList, ((PSINGLE_LIST_ENTRY) (Block)), Lock )\n\n\n//++\n//\n// BOOLEAN\n// ExIsObjectInFirstZoneSegment(\n//     IN PZONE_HEADER Zone,\n//     IN PVOID Object\n//     )\n//\n// Routine Description:\n//\n//     This routine determines if the specified pointer lives in the zone.\n//\n// Arguments:\n//\n//     Zone - Pointer to the zone header controlling the storage to which the\n//         object may belong.\n//\n//     Object - Pointer to the object in question.\n//\n// Return Value:\n//\n//     TRUE if the Object came from the first segment of zone.\n//\n//--\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExIsObjectInFirstZoneSegment)\n#endif\n#define ExIsObjectInFirstZoneSegment(Zone,Object) ((BOOLEAN)     \\\n    (((PUCHAR)(Object) >= (PUCHAR)(Zone)->SegmentList.Next) &&   \\\n     ((PUCHAR)(Object) < (PUCHAR)(Zone)->SegmentList.Next +      \\\n                         (Zone)->TotalSegmentSize))              \\\n)\n\n//\n//  Define executive resource data structures.\n//\n\ntypedef ULONG_PTR ERESOURCE_THREAD;\ntypedef ERESOURCE_THREAD *PERESOURCE_THREAD;\n\ntypedef struct _OWNER_ENTRY {\n    ERESOURCE_THREAD OwnerThread;\n    union {\n        LONG OwnerCount;\n        ULONG TableSize;\n    };\n\n} OWNER_ENTRY, *POWNER_ENTRY;\n\ntypedef struct _ERESOURCE {\n    LIST_ENTRY SystemResourcesList;\n    POWNER_ENTRY OwnerTable;\n    SHORT ActiveCount;\n    USHORT Flag;\n    PKSEMAPHORE SharedWaiters;\n    PKEVENT ExclusiveWaiters;\n    OWNER_ENTRY OwnerThreads[2];\n    ULONG ContentionCount;\n    USHORT NumberOfSharedWaiters;\n    USHORT NumberOfExclusiveWaiters;\n    union {\n        PVOID Address;\n        ULONG_PTR CreatorBackTraceIndex;\n    };\n\n    KSPIN_LOCK SpinLock;\n} ERESOURCE, *PERESOURCE;\n//\n//  Values for ERESOURCE.Flag\n//\n\n#define ResourceNeverExclusive       0x10\n#define ResourceReleaseByOtherThread 0x20\n#define ResourceOwnedExclusive       0x80\n\n#define RESOURCE_HASH_TABLE_SIZE 64\n\ntypedef struct _RESOURCE_HASH_ENTRY {\n    LIST_ENTRY ListEntry;\n    PVOID Address;\n    ULONG ContentionCount;\n    ULONG Number;\n} RESOURCE_HASH_ENTRY, *PRESOURCE_HASH_ENTRY;\n\ntypedef struct _RESOURCE_PERFORMANCE_DATA {\n    ULONG ActiveResourceCount;\n    ULONG TotalResourceCount;\n    ULONG ExclusiveAcquire;\n    ULONG SharedFirstLevel;\n    ULONG SharedSecondLevel;\n    ULONG StarveFirstLevel;\n    ULONG StarveSecondLevel;\n    ULONG WaitForExclusive;\n    ULONG OwnerTableExpands;\n    ULONG MaximumTableExpand;\n    LIST_ENTRY HashTable[RESOURCE_HASH_TABLE_SIZE];\n} RESOURCE_PERFORMANCE_DATA, *PRESOURCE_PERFORMANCE_DATA;\n\n//\n// Define executive resource function prototypes.\n//\nNTKERNELAPI\nNTSTATUS\nExInitializeResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nNTSTATUS\nExReinitializeResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireResourceSharedLite(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireResourceExclusiveLite(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireSharedStarveExclusive(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireSharedWaitForExclusive(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExTryToAcquireResourceExclusiveLite(\n    IN PERESOURCE Resource\n    );\n\n//\n//  VOID\n//  ExReleaseResource(\n//      IN PERESOURCE Resource\n//      );\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExReleaseResource)       // Use ExReleaseResourceLite\n#endif\n#define ExReleaseResource(R) (ExReleaseResourceLite(R))\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nVOID\nExReleaseResourceForThreadLite(\n    IN PERESOURCE Resource,\n    IN ERESOURCE_THREAD ResourceThreadId\n    );\n\nNTKERNELAPI\nVOID\nExSetResourceOwnerPointer(\n    IN PERESOURCE Resource,\n    IN PVOID OwnerPointer\n    );\n\nNTKERNELAPI\nVOID\nExConvertExclusiveToSharedLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nNTSTATUS\nExDeleteResourceLite (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExGetExclusiveWaiterCount (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExGetSharedWaiterCount (\n    IN PERESOURCE Resource\n    );\n\n//\n//  ERESOURCE_THREAD\n//  ExGetCurrentResourceThread(\n//      );\n//\n\n#define ExGetCurrentResourceThread() ((ULONG_PTR)PsGetCurrentThread())\n\nNTKERNELAPI\nBOOLEAN\nExIsResourceAcquiredExclusiveLite (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExIsResourceAcquiredSharedLite (\n    IN PERESOURCE Resource\n    );\n\n//\n// An acquired resource is always owned shared, as shared ownership is a subset\n// of exclusive ownership.\n//\n#define ExIsResourceAcquiredLite ExIsResourceAcquiredSharedLite\n\n// end_wdm\n//\n//  ntddk.h stole the entrypoints we wanted so fix them up here.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInitializeResource)            // use ExInitializeResourceLite\n#pragma deprecated(ExAcquireResourceShared)         // use ExAcquireResourceSharedLite\n#pragma deprecated(ExAcquireResourceExclusive)      // use ExAcquireResourceExclusiveLite\n#pragma deprecated(ExReleaseResourceForThread)      // use ExReleaseResourceForThreadLite\n#pragma deprecated(ExConvertExclusiveToShared)      // use ExConvertExclusiveToSharedLite\n#pragma deprecated(ExDeleteResource)                // use ExDeleteResourceLite\n#pragma deprecated(ExIsResourceAcquiredExclusive)   // use ExIsResourceAcquiredExclusiveLite\n#pragma deprecated(ExIsResourceAcquiredShared)      // use ExIsResourceAcquiredSharedLite\n#pragma deprecated(ExIsResourceAcquired)            // use ExIsResourceAcquiredSharedLite\n#endif\n#define ExInitializeResource ExInitializeResourceLite\n#define ExAcquireResourceShared ExAcquireResourceSharedLite\n#define ExAcquireResourceExclusive ExAcquireResourceExclusiveLite\n#define ExReleaseResourceForThread ExReleaseResourceForThreadLite\n#define ExConvertExclusiveToShared ExConvertExclusiveToSharedLite\n#define ExDeleteResource ExDeleteResourceLite\n#define ExIsResourceAcquiredExclusive ExIsResourceAcquiredExclusiveLite\n#define ExIsResourceAcquiredShared ExIsResourceAcquiredSharedLite\n#define ExIsResourceAcquired ExIsResourceAcquiredSharedLite\n\n//\n// Get previous mode\n//\n\nNTKERNELAPI\nKPROCESSOR_MODE\nExGetPreviousMode(\n    VOID\n    );\n//\n// Raise status from kernel mode.\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nExRaiseStatus (\n    IN NTSTATUS Status\n    );\n\n// end_wdm\n\nNTKERNELAPI\nVOID\nExRaiseDatatypeMisalignment (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nExRaiseAccessViolation (\n    VOID\n    );\n\n//\n// Set timer resolution.\n//\n\nNTKERNELAPI\nULONG\nExSetTimerResolution (\n    IN ULONG DesiredTime,\n    IN BOOLEAN SetResolution\n    );\n\n//\n// Subtract time zone bias from system time to get local time.\n//\n\nNTKERNELAPI\nVOID\nExSystemTimeToLocalTime (\n    IN PLARGE_INTEGER SystemTime,\n    OUT PLARGE_INTEGER LocalTime\n    );\n\n//\n// Add time zone bias to local time to get system time.\n//\n\nNTKERNELAPI\nVOID\nExLocalTimeToSystemTime (\n    IN PLARGE_INTEGER LocalTime,\n    OUT PLARGE_INTEGER SystemTime\n    );\n\n\n//\n// Define the type for Callback function.\n//\n\ntypedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;\n\ntypedef VOID (*PCALLBACK_FUNCTION ) (\n    IN PVOID CallbackContext,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nExCreateCallback (\n    OUT PCALLBACK_OBJECT *CallbackObject,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    IN BOOLEAN Create,\n    IN BOOLEAN AllowMultipleCallbacks\n    );\n\nNTKERNELAPI\nPVOID\nExRegisterCallback (\n    IN PCALLBACK_OBJECT CallbackObject,\n    IN PCALLBACK_FUNCTION CallbackFunction,\n    IN PVOID CallbackContext\n    );\n\nNTKERNELAPI\nVOID\nExUnregisterCallback (\n    IN PVOID CallbackRegistration\n    );\n\nNTKERNELAPI\nVOID\nExNotifyCallback (\n    IN PVOID CallbackObject,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\n\n//\n// UUID Generation\n//\n\ntypedef GUID UUID;\n\nNTKERNELAPI\nNTSTATUS\nExUuidCreate(\n    OUT UUID *Uuid\n    );\n\n//\n// suite support\n//\n\nNTKERNELAPI\nBOOLEAN\nExVerifySuite(\n    SUITE_TYPE SuiteType\n    );\n\n\n//\n// Define a block to hold the actual routine registration.\n//\ntypedef NTSTATUS (*PEX_CALLBACK_FUNCTION ) (\n    IN PVOID CallbackContext,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\n//\n// Registry kernel mode callbacks\n//\n\n//\n// Hook selector\n//\ntypedef enum _REG_NOTIFY_CLASS {\n    RegNtDeleteKey,\n    RegNtSetValueKey,\n    RegNtDeleteValueKey,\n    RegNtSetInformationKey,\n    RegNtRenameKey,\n    RegNtEnumerateKey,\n    RegNtEnumerateValueKey,\n    RegNtQueryKey,\n    RegNtQueryValueKey,\n    RegNtQueryMultipleValueKey,\n    RegNtPreCreateKey,\n    RegNtPostCreateKey,\n    RegNtPreOpenKey,\n    RegNtPostOpenKey,\n    RegNtKeyHandleClose\n} REG_NOTIFY_CLASS;\n\n//\n// Parameter description for each notify class\n//\ntypedef struct _REG_DELETE_KEY_INFORMATION {\n    PVOID               Object;                      // IN\n} REG_DELETE_KEY_INFORMATION, *PREG_DELETE_KEY_INFORMATION;\n\ntypedef struct _REG_SET_VALUE_KEY_INFORMATION {\n    PVOID               Object;                         // IN\n    PUNICODE_STRING     ValueName;                      // IN\n    ULONG               TitleIndex;                     // IN\n    ULONG               Type;                           // IN\n    PVOID               Data;                           // IN\n    ULONG               DataSize;                       // IN\n} REG_SET_VALUE_KEY_INFORMATION, *PREG_SET_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_DELETE_VALUE_KEY_INFORMATION {\n    PVOID               Object;                         // IN\n    PUNICODE_STRING     ValueName;                      // IN\n} REG_DELETE_VALUE_KEY_INFORMATION, *PREG_DELETE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_SET_INFORMATION_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    KEY_SET_INFORMATION_CLASS   KeySetInformationClass; // IN\n    PVOID                       KeySetInformation;      // IN\n    ULONG                       KeySetInformationLength;// IN\n} REG_SET_INFORMATION_KEY_INFORMATION, *PREG_SET_INFORMATION_KEY_INFORMATION;\n\ntypedef struct _REG_ENUMERATE_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    ULONG                       Index;                  // IN\n    KEY_INFORMATION_CLASS       KeyInformationClass;    // IN\n    PVOID                       KeyInformation;         // IN\n    ULONG                       Length;                 // IN\n    PULONG                      ResultLength;           // OUT\n} REG_ENUMERATE_KEY_INFORMATION, *PREG_ENUMERATE_KEY_INFORMATION;\n\ntypedef struct _REG_ENUMERATE_VALUE_KEY_INFORMATION {\n    PVOID                           Object;                     // IN\n    ULONG                           Index;                      // IN\n    KEY_VALUE_INFORMATION_CLASS     KeyValueInformationClass;   // IN\n    PVOID                           KeyValueInformation;        // IN\n    ULONG                           Length;                     // IN\n    PULONG                          ResultLength;               // OUT\n} REG_ENUMERATE_VALUE_KEY_INFORMATION, *PREG_ENUMERATE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    KEY_INFORMATION_CLASS       KeyInformationClass;    // IN\n    PVOID                       KeyInformation;         // IN\n    ULONG                       Length;                 // IN\n    PULONG                      ResultLength;           // OUT\n} REG_QUERY_KEY_INFORMATION, *PREG_QUERY_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_VALUE_KEY_INFORMATION {\n    PVOID                           Object;                     // IN\n    PUNICODE_STRING                 ValueName;                  // IN\n    KEY_VALUE_INFORMATION_CLASS     KeyValueInformationClass;   // IN\n    PVOID                           KeyValueInformation;        // IN\n    ULONG                           Length;                     // IN\n    PULONG                          ResultLength;               // OUT\n} REG_QUERY_VALUE_KEY_INFORMATION, *PREG_QUERY_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION {\n    PVOID               Object;                 // IN\n    PKEY_VALUE_ENTRY    ValueEntries;           // IN\n    ULONG               EntryCount;             // IN\n    PVOID               ValueBuffer;            // IN\n    PULONG              BufferLength;           // IN OUT\n    PULONG              RequiredBufferLength;   // OUT\n} REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION, *PREG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_RENAME_KEY_INFORMATION {\n    PVOID            Object;    // IN\n    PUNICODE_STRING  NewName;   // IN\n} REG_RENAME_KEY_INFORMATION, *PREG_RENAME_KEY_INFORMATION;\n\ntypedef struct _REG_PRE_CREATE_KEY_INFORMATION {\n    PUNICODE_STRING     CompleteName;   // IN\n} REG_PRE_CREATE_KEY_INFORMATION, REG_PRE_OPEN_KEY_INFORMATION,*PREG_PRE_CREATE_KEY_INFORMATION, *PREG_PRE_OPEN_KEY_INFORMATION;;\n\ntypedef struct _REG_POST_CREATE_KEY_INFORMATION {\n    PUNICODE_STRING     CompleteName;   // IN\n    PVOID               Object;         // IN\n    NTSTATUS            Status;         // IN\n} REG_POST_CREATE_KEY_INFORMATION,REG_POST_OPEN_KEY_INFORMATION, *PREG_POST_CREATE_KEY_INFORMATION, *PREG_POST_OPEN_KEY_INFORMATION;\n\ntypedef struct _REG_KEY_HANDLE_CLOSE_INFORMATION {\n    PVOID               Object;         // IN\n} REG_KEY_HANDLE_CLOSE_INFORMATION, *PREG_KEY_HANDLE_CLOSE_INFORMATION;\n\n\nNTSTATUS\nCmRegisterCallback(IN PEX_CALLBACK_FUNCTION Function,\n                   IN PVOID                 Context,\n                   IN OUT PLARGE_INTEGER    Cookie\n                    );\nNTSTATUS\nCmUnRegisterCallback(IN LARGE_INTEGER    Cookie);\n\n//\n// Priority increment definitions.  The comment for each definition gives\n// the names of the system services that use the definition when satisfying\n// a wait.\n//\n\n//\n// Priority increment used when satisfying a wait on an executive event\n// (NtPulseEvent and NtSetEvent)\n//\n\n#define EVENT_INCREMENT                 1\n\n//\n// Priority increment when no I/O has been done.  This is used by device\n// and file system drivers when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_NO_INCREMENT                 0\n\n\n//\n// Priority increment for completing CD-ROM I/O.  This is used by CD-ROM device\n// and file system drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_CD_ROM_INCREMENT             1\n\n//\n// Priority increment for completing disk I/O.  This is used by disk device\n// and file system drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_DISK_INCREMENT               1\n\n// end_ntifs\n\n//\n// Priority increment for completing keyboard I/O.  This is used by keyboard\n// device drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_KEYBOARD_INCREMENT           6\n\n// begin_ntifs\n//\n// Priority increment for completing mailslot I/O.  This is used by the mail-\n// slot file system driver when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_MAILSLOT_INCREMENT           2\n\n// end_ntifs\n//\n// Priority increment for completing mouse I/O.  This is used by mouse device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_MOUSE_INCREMENT              6\n\n// begin_ntifs\n//\n// Priority increment for completing named pipe I/O.  This is used by the\n// named pipe file system driver when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_NAMED_PIPE_INCREMENT         2\n\n//\n// Priority increment for completing network I/O.  This is used by network\n// device and network file system drivers when completing an IRP\n// (IoCompleteRequest).\n//\n\n#define IO_NETWORK_INCREMENT            2\n\n// end_ntifs\n//\n// Priority increment for completing parallel I/O.  This is used by parallel\n// device drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_PARALLEL_INCREMENT           1\n\n//\n// Priority increment for completing serial I/O.  This is used by serial device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_SERIAL_INCREMENT             2\n\n//\n// Priority increment for completing sound I/O.  This is used by sound device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_SOUND_INCREMENT              8\n\n//\n// Priority increment for completing video I/O.  This is used by video device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_VIDEO_INCREMENT              1\n\n//\n// Priority increment used when satisfying a wait on an executive semaphore\n// (NtReleaseSemaphore)\n//\n\n#define SEMAPHORE_INCREMENT             1\n\n//\n//  Indicates the system may do I/O to physical addresses above 4 GB.\n//\n\nextern PBOOLEAN Mm64BitPhysicalAddress;\n\n\n//\n// Define maximum disk transfer size to be used by MM and Cache Manager,\n// so that packet-oriented disk drivers can optimize their packet allocation\n// to this size.\n//\n\n#define MM_MAXIMUM_DISK_IO_SIZE          (0x10000)\n\n//++\n//\n// ULONG_PTR\n// ROUND_TO_PAGES (\n//     IN ULONG_PTR Size\n//     )\n//\n// Routine Description:\n//\n//     The ROUND_TO_PAGES macro takes a size in bytes and rounds it up to a\n//     multiple of the page size.\n//\n//     NOTE: This macro fails for values 0xFFFFFFFF - (PAGE_SIZE - 1).\n//\n// Arguments:\n//\n//     Size - Size in bytes to round up to a page multiple.\n//\n// Return Value:\n//\n//     Returns the size rounded up to a multiple of the page size.\n//\n//--\n\n#define ROUND_TO_PAGES(Size)  (((ULONG_PTR)(Size) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1))\n\n//++\n//\n// ULONG\n// BYTES_TO_PAGES (\n//     IN ULONG Size\n//     )\n//\n// Routine Description:\n//\n//     The BYTES_TO_PAGES macro takes the size in bytes and calculates the\n//     number of pages required to contain the bytes.\n//\n// Arguments:\n//\n//     Size - Size in bytes.\n//\n// Return Value:\n//\n//     Returns the number of pages required to contain the specified size.\n//\n//--\n\n#define BYTES_TO_PAGES(Size)  ((ULONG)((ULONG_PTR)(Size) >> PAGE_SHIFT) + \\\n                               (((ULONG)(Size) & (PAGE_SIZE - 1)) != 0))\n\n//++\n//\n// ULONG\n// BYTE_OFFSET (\n//     IN PVOID Va\n//     )\n//\n// Routine Description:\n//\n//     The BYTE_OFFSET macro takes a virtual address and returns the byte offset\n//     of that address within the page.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n// Return Value:\n//\n//     Returns the byte offset portion of the virtual address.\n//\n//--\n\n#define BYTE_OFFSET(Va) ((ULONG)((LONG_PTR)(Va) & (PAGE_SIZE - 1)))\n\n//++\n//\n// PVOID\n// PAGE_ALIGN (\n//     IN PVOID Va\n//     )\n//\n// Routine Description:\n//\n//     The PAGE_ALIGN macro takes a virtual address and returns a page-aligned\n//     virtual address for that page.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n// Return Value:\n//\n//     Returns the page aligned virtual address.\n//\n//--\n\n#define PAGE_ALIGN(Va) ((PVOID)((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))\n\n//++\n//\n// ULONG\n// ADDRESS_AND_SIZE_TO_SPAN_PAGES (\n//     IN PVOID Va,\n//     IN ULONG Size\n//     )\n//\n// Routine Description:\n//\n//     The ADDRESS_AND_SIZE_TO_SPAN_PAGES macro takes a virtual address and\n//     size and returns the number of pages spanned by the size.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n//     Size - Size in bytes.\n//\n// Return Value:\n//\n//     Returns the number of pages spanned by the size.\n//\n//--\n\n#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va,Size) \\\n    ((ULONG)((((ULONG_PTR)(Va) & (PAGE_SIZE -1)) + (Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(COMPUTE_PAGES_SPANNED)   // Use ADDRESS_AND_SIZE_TO_SPAN_PAGES\n#endif\n\n#define COMPUTE_PAGES_SPANNED(Va, Size) ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va,Size)\n\n\n//++\n// PPFN_NUMBER\n// MmGetMdlPfnArray (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlPfnArray routine returns the virtual address of the\n//     first element of the array of physical page numbers associated with\n//     the MDL.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the virtual address of the first element of the array of\n//     physical page numbers associated with the MDL.\n//\n//--\n\n#define MmGetMdlPfnArray(Mdl) ((PPFN_NUMBER)(Mdl + 1))\n\n//++\n//\n// PVOID\n// MmGetMdlVirtualAddress (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlVirtualAddress returns the virtual address of the buffer\n//     described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the virtual address of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlVirtualAddress(Mdl)                                     \\\n    ((PVOID) ((PCHAR) ((Mdl)->StartVa) + (Mdl)->ByteOffset))\n\n//++\n//\n// ULONG\n// MmGetMdlByteCount (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlByteCount returns the length in bytes of the buffer\n//     described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the byte count of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlByteCount(Mdl)  ((Mdl)->ByteCount)\n\n//++\n//\n// ULONG\n// MmGetMdlByteOffset (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlByteOffset returns the byte offset within the page\n//     of the buffer described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the byte offset within the page of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlByteOffset(Mdl)  ((Mdl)->ByteOffset)\n\n//++\n//\n// PVOID\n// MmGetMdlStartVa (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlBaseVa returns the virtual address of the buffer\n//     described by the Mdl rounded down to the nearest page.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the returns the starting virtual address of the MDL.\n//\n//\n//--\n\n#define MmGetMdlBaseVa(Mdl)  ((Mdl)->StartVa)\n\ntypedef enum _MM_SYSTEM_SIZE {\n    MmSmallSystem,\n    MmMediumSystem,\n    MmLargeSystem\n} MM_SYSTEMSIZE;\n\nNTKERNELAPI\nMM_SYSTEMSIZE\nMmQuerySystemSize(\n    VOID\n    );\n\n//  end_wdm\n\nNTKERNELAPI\nBOOLEAN\nMmIsThisAnNtAsSystem(\n    VOID\n    );\n\n//  begin_wdm\n\ntypedef enum _LOCK_OPERATION {\n    IoReadAccess,\n    IoWriteAccess,\n    IoModifyAccess\n} LOCK_OPERATION;\n\n\nNTSTATUS\nMmIsVerifierEnabled (\n    OUT PULONG VerifierFlags\n    );\n\nNTSTATUS\nMmAddVerifierThunks (\n    IN PVOID ThunkBuffer,\n    IN ULONG ThunkBufferSize\n    );\n\n\nNTKERNELAPI\nVOID\nMmProbeAndLockProcessPages (\n    IN OUT PMDL MemoryDescriptorList,\n    IN PEPROCESS Process,\n    IN KPROCESSOR_MODE AccessMode,\n    IN LOCK_OPERATION Operation\n    );\n\n\n// begin_nthal\n//\n// I/O support routines.\n//\n\nNTKERNELAPI\nVOID\nMmProbeAndLockPages (\n    IN OUT PMDL MemoryDescriptorList,\n    IN KPROCESSOR_MODE AccessMode,\n    IN LOCK_OPERATION Operation\n    );\n\n\nNTKERNELAPI\nVOID\nMmUnlockPages (\n    IN PMDL MemoryDescriptorList\n    );\n\n\nNTKERNELAPI\nVOID\nMmBuildMdlForNonPagedPool (\n    IN OUT PMDL MemoryDescriptorList\n    );\n\nNTKERNELAPI\nPVOID\nMmMapLockedPages (\n    IN PMDL MemoryDescriptorList,\n    IN KPROCESSOR_MODE AccessMode\n    );\n\nNTKERNELAPI\nPVOID\nMmGetSystemRoutineAddress (\n    IN PUNICODE_STRING SystemRoutineName\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmAdvanceMdl (\n    IN PMDL Mdl,\n    IN ULONG NumberOfBytes\n    );\n\n// end_wdm\n\nNTKERNELAPI\nNTSTATUS\nMmMapUserAddressesToPage (\n    IN PVOID BaseAddress,\n    IN SIZE_T NumberOfBytes,\n    IN PVOID PageAddress\n    );\n\n// begin_wdm\nNTKERNELAPI\nNTSTATUS\nMmProtectMdlSystemAddress (\n    IN PMDL MemoryDescriptorList,\n    IN ULONG NewProtect\n    );\n\n//\n// _MM_PAGE_PRIORITY_ provides a method for the system to handle requests\n// intelligently in low resource conditions.\n//\n// LowPagePriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is low on resources.  An example of\n// this could be for a non-critical network connection where the driver can\n// handle the failure case when system resources are close to being depleted.\n//\n// NormalPagePriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is very low on resources.  An example\n// of this could be for a non-critical local filesystem request.\n//\n// HighPagePriority should be used when it is unacceptable to the driver for the\n// mapping request to fail unless the system is completely out of resources.\n// An example of this would be the paging file path in a driver.\n//\n\n// begin_ntndis\n\ntypedef enum _MM_PAGE_PRIORITY {\n    LowPagePriority,\n    NormalPagePriority = 16,\n    HighPagePriority = 32\n} MM_PAGE_PRIORITY;\n\n// end_ntndis\n\n//\n// Note: This function is not available in WDM 1.0\n//\nNTKERNELAPI\nPVOID\nMmMapLockedPagesSpecifyCache (\n     IN PMDL MemoryDescriptorList,\n     IN KPROCESSOR_MODE AccessMode,\n     IN MEMORY_CACHING_TYPE CacheType,\n     IN PVOID BaseAddress,\n     IN ULONG BugCheckOnFailure,\n     IN MM_PAGE_PRIORITY Priority\n     );\n\nNTKERNELAPI\nVOID\nMmUnmapLockedPages (\n    IN PVOID BaseAddress,\n    IN PMDL MemoryDescriptorList\n    );\n\nPVOID\nMmAllocateMappingAddress (\n     IN SIZE_T NumberOfBytes,\n     IN ULONG PoolTag\n     );\n\nVOID\nMmFreeMappingAddress (\n     IN PVOID BaseAddress,\n     IN ULONG PoolTag\n     );\n\nPVOID\nMmMapLockedPagesWithReservedMapping (\n    IN PVOID MappingAddress,\n    IN ULONG PoolTag,\n    IN PMDL MemoryDescriptorList,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\nVOID\nMmUnmapReservedMapping (\n     IN PVOID BaseAddress,\n     IN ULONG PoolTag,\n     IN PMDL MemoryDescriptorList\n     );\n\n// end_wdm\n\ntypedef struct _PHYSICAL_MEMORY_RANGE {\n    PHYSICAL_ADDRESS BaseAddress;\n    LARGE_INTEGER NumberOfBytes;\n} PHYSICAL_MEMORY_RANGE, *PPHYSICAL_MEMORY_RANGE;\n\nNTKERNELAPI\nNTSTATUS\nMmAddPhysicalMemory (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmAddPhysicalMemoryEx (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes,\n    IN ULONG Flags\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmRemovePhysicalMemory (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmRemovePhysicalMemoryEx (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes,\n    IN ULONG Flags\n    );\n\nNTKERNELAPI\nPPHYSICAL_MEMORY_RANGE\nMmGetPhysicalMemoryRanges (\n    VOID\n    );\n\nNTSTATUS\nMmMarkPhysicalMemoryAsGood (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes\n    );\n\nNTSTATUS\nMmMarkPhysicalMemoryAsBad (\n    IN PPHYSICAL_ADDRESS StartAddress,\n    IN OUT PLARGE_INTEGER NumberOfBytes\n    );\n\n// begin_wdm\n\nNTKERNELAPI\nPMDL\nMmAllocatePagesForMdl (\n    IN PHYSICAL_ADDRESS LowAddress,\n    IN PHYSICAL_ADDRESS HighAddress,\n    IN PHYSICAL_ADDRESS SkipBytes,\n    IN SIZE_T TotalBytes\n    );\n\nNTKERNELAPI\nVOID\nMmFreePagesFromMdl (\n    IN PMDL MemoryDescriptorList\n    );\n\nNTKERNELAPI\nPVOID\nMmMapIoSpace (\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN SIZE_T NumberOfBytes,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\nNTKERNELAPI\nVOID\nMmUnmapIoSpace (\n    IN PVOID BaseAddress,\n    IN SIZE_T NumberOfBytes\n    );\n\n\nNTKERNELAPI\nPVOID\nMmMapVideoDisplay (\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN SIZE_T NumberOfBytes,\n    IN MEMORY_CACHING_TYPE CacheType\n     );\n\nNTKERNELAPI\nVOID\nMmUnmapVideoDisplay (\n     IN PVOID BaseAddress,\n     IN SIZE_T NumberOfBytes\n     );\n\nNTKERNELAPI\nPHYSICAL_ADDRESS\nMmGetPhysicalAddress (\n    IN PVOID BaseAddress\n    );\n\nNTKERNELAPI\nPVOID\nMmGetVirtualForPhysical (\n    IN PHYSICAL_ADDRESS PhysicalAddress\n    );\n\nNTKERNELAPI\nPVOID\nMmAllocateContiguousMemory (\n    IN SIZE_T NumberOfBytes,\n    IN PHYSICAL_ADDRESS HighestAcceptableAddress\n    );\n\nNTKERNELAPI\nPVOID\nMmAllocateContiguousMemorySpecifyCache (\n    IN SIZE_T NumberOfBytes,\n    IN PHYSICAL_ADDRESS LowestAcceptableAddress,\n    IN PHYSICAL_ADDRESS HighestAcceptableAddress,\n    IN PHYSICAL_ADDRESS BoundaryAddressMultiple OPTIONAL,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\nNTKERNELAPI\nVOID\nMmFreeContiguousMemory (\n    IN PVOID BaseAddress\n    );\n\nNTKERNELAPI\nVOID\nMmFreeContiguousMemorySpecifyCache (\n    IN PVOID BaseAddress,\n    IN SIZE_T NumberOfBytes,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\n\nNTKERNELAPI\nPVOID\nMmAllocateNonCachedMemory (\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nVOID\nMmFreeNonCachedMemory (\n    IN PVOID BaseAddress,\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nBOOLEAN\nMmIsAddressValid (\n    IN PVOID VirtualAddress\n    );\n\nDECLSPEC_DEPRECATED_DDK\nNTKERNELAPI\nBOOLEAN\nMmIsNonPagedSystemAddressValid (\n    IN PVOID VirtualAddress\n    );\n\n//  begin_wdm\n\nNTKERNELAPI\nSIZE_T\nMmSizeOfMdl(\n    IN PVOID Base,\n    IN SIZE_T Length\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoCreateMdl\nNTKERNELAPI\nPMDL\nMmCreateMdl(\n    IN PMDL MemoryDescriptorList OPTIONAL,\n    IN PVOID Base,\n    IN SIZE_T Length\n    );\n\nNTKERNELAPI\nPVOID\nMmLockPagableDataSection(\n    IN PVOID AddressWithinSection\n    );\n\n// end_wdm\n\nNTKERNELAPI\nVOID\nMmLockPagableSectionByHandle (\n    IN PVOID ImageSectionHandle\n    );\n\nNTKERNELAPI\nVOID\nMmResetDriverPaging (\n    IN PVOID AddressWithinSection\n    );\n\n\nNTKERNELAPI\nPVOID\nMmPageEntireDriver (\n    IN PVOID AddressWithinSection\n    );\n\nNTKERNELAPI\nVOID\nMmUnlockPagableImageSection(\n    IN PVOID ImageSectionHandle\n    );\n\n// end_wdm end_ntosp\n\n// begin_ntosp\nNTKERNELAPI\nHANDLE\nMmSecureVirtualMemory (\n    IN PVOID Address,\n    IN SIZE_T Size,\n    IN ULONG ProbeMode\n    );\n\nNTKERNELAPI\nVOID\nMmUnsecureVirtualMemory (\n    IN HANDLE SecureHandle\n    );\n\n// end_ntosp\n\nNTKERNELAPI\nNTSTATUS\nMmMapViewInSystemSpace (\n    IN PVOID Section,\n    OUT PVOID *MappedBase,\n    IN PSIZE_T ViewSize\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmUnmapViewInSystemSpace (\n    IN PVOID MappedBase\n    );\n\n// begin_ntosp\nNTKERNELAPI\nNTSTATUS\nMmMapViewInSessionSpace (\n    IN PVOID Section,\n    OUT PVOID *MappedBase,\n    IN OUT PSIZE_T ViewSize\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmUnmapViewInSessionSpace (\n    IN PVOID MappedBase\n    );\n// end_ntosp\n\n// begin_wdm begin_ntosp\n\n//++\n//\n// VOID\n// MmInitializeMdl (\n//     IN PMDL MemoryDescriptorList,\n//     IN PVOID BaseVa,\n//     IN SIZE_T Length\n//     )\n//\n// Routine Description:\n//\n//     This routine initializes the header of a Memory Descriptor List (MDL).\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to initialize.\n//\n//     BaseVa - Base virtual address mapped by the MDL.\n//\n//     Length - Length, in bytes, of the buffer mapped by the MDL.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define MmInitializeMdl(MemoryDescriptorList, BaseVa, Length) { \\\n    (MemoryDescriptorList)->Next = (PMDL) NULL; \\\n    (MemoryDescriptorList)->Size = (CSHORT)(sizeof(MDL) +  \\\n            (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES((BaseVa), (Length)))); \\\n    (MemoryDescriptorList)->MdlFlags = 0; \\\n    (MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN((BaseVa)); \\\n    (MemoryDescriptorList)->ByteOffset = BYTE_OFFSET((BaseVa)); \\\n    (MemoryDescriptorList)->ByteCount = (ULONG)(Length); \\\n    }\n\n//++\n//\n// PVOID\n// MmGetSystemAddressForMdlSafe (\n//     IN PMDL MDL,\n//     IN MM_PAGE_PRIORITY PRIORITY\n//     )\n//\n// Routine Description:\n//\n//     This routine returns the mapped address of an MDL. If the\n//     Mdl is not already mapped or a system address, it is mapped.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to map.\n//\n//     Priority - Supplies an indication as to how important it is that this\n//                request succeed under low available PTE conditions.\n//\n// Return Value:\n//\n//     Returns the base address where the pages are mapped.  The base address\n//     has the same offset as the virtual address in the MDL.\n//\n//     Unlike MmGetSystemAddressForMdl, Safe guarantees that it will always\n//     return NULL on failure instead of bugchecking the system.\n//\n//     This macro is not usable by WDM 1.0 drivers as 1.0 did not include\n//     MmMapLockedPagesSpecifyCache.  The solution for WDM 1.0 drivers is to\n//     provide synchronization and set/reset the MDL_MAPPING_CAN_FAIL bit.\n//\n//--\n\n#define MmGetSystemAddressForMdlSafe(MDL, PRIORITY)                    \\\n     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA |                    \\\n                        MDL_SOURCE_IS_NONPAGED_POOL)) ?                \\\n                             ((MDL)->MappedSystemVa) :                 \\\n                             (MmMapLockedPagesSpecifyCache((MDL),      \\\n                                                           KernelMode, \\\n                                                           MmCached,   \\\n                                                           NULL,       \\\n                                                           FALSE,      \\\n                                                           (PRIORITY))))\n\n//++\n//\n// PVOID\n// MmGetSystemAddressForMdl (\n//     IN PMDL MDL\n//     )\n//\n// Routine Description:\n//\n//     This routine returns the mapped address of an MDL, if the\n//     Mdl is not already mapped or a system address, it is mapped.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to map.\n//\n// Return Value:\n//\n//     Returns the base address where the pages are mapped.  The base address\n//     has the same offset as the virtual address in the MDL.\n//\n//--\n\n//#define MmGetSystemAddressForMdl(MDL)\n//     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA)) ?\n//                             ((MDL)->MappedSystemVa) :\n//                ((((MDL)->MdlFlags & (MDL_SOURCE_IS_NONPAGED_POOL)) ?\n//                      ((PVOID)((ULONG)(MDL)->StartVa | (MDL)->ByteOffset)) :\n//                            (MmMapLockedPages((MDL),KernelMode)))))\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(MmGetSystemAddressForMdl)    // Use MmGetSystemAddressForMdlSafe\n#endif\n\n#define MmGetSystemAddressForMdl(MDL)                                  \\\n     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA |                    \\\n                        MDL_SOURCE_IS_NONPAGED_POOL)) ?                \\\n                             ((MDL)->MappedSystemVa) :                 \\\n                             (MmMapLockedPages((MDL),KernelMode)))\n\n//++\n//\n// VOID\n// MmPrepareMdlForReuse (\n//     IN PMDL MDL\n//     )\n//\n// Routine Description:\n//\n//     This routine will take all of the steps necessary to allow an MDL to be\n//     re-used.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL that will be re-used.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define MmPrepareMdlForReuse(MDL)                                       \\\n    if (((MDL)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) {         \\\n        ASSERT(((MDL)->MdlFlags & MDL_PARTIAL) != 0);                   \\\n        MmUnmapLockedPages( (MDL)->MappedSystemVa, (MDL) );             \\\n    } else if (((MDL)->MdlFlags & MDL_PARTIAL) == 0) {                  \\\n        ASSERT(((MDL)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0);       \\\n    }\n\ntypedef NTSTATUS (*PMM_DLL_INITIALIZE)(\n    IN PUNICODE_STRING RegistryPath\n    );\n\ntypedef NTSTATUS (*PMM_DLL_UNLOAD)(\n    VOID\n    );\n\n\n\n//\n// Define an empty typedef for the _DRIVER_OBJECT structure so it may be\n// referenced by function types before it is actually defined.\n//\nstruct _DRIVER_OBJECT;\n\nNTKERNELAPI\nLOGICAL\nMmIsDriverVerifying (\n    IN struct _DRIVER_OBJECT *DriverObject\n    );\n\n//\n//  Security operation codes\n//\n\ntypedef enum _SECURITY_OPERATION_CODE {\n    SetSecurityDescriptor,\n    QuerySecurityDescriptor,\n    DeleteSecurityDescriptor,\n    AssignSecurityDescriptor\n    } SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;\n\n//\n//  Data structure used to capture subject security context\n//  for access validations and auditing.\n//\n//  THE FIELDS OF THIS DATA STRUCTURE SHOULD BE CONSIDERED OPAQUE\n//  BY ALL EXCEPT THE SECURITY ROUTINES.\n//\n\ntypedef struct _SECURITY_SUBJECT_CONTEXT {\n    PACCESS_TOKEN ClientToken;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    PACCESS_TOKEN PrimaryToken;\n    PVOID ProcessAuditId;\n    } SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;\n\n///////////////////////////////////////////////////////////////////////////////\n//                                                                           //\n//                  ACCESS_STATE and related structures                      //\n//                                                                           //\n///////////////////////////////////////////////////////////////////////////////\n\n//\n//  Initial Privilege Set - Room for three privileges, which should\n//  be enough for most applications.  This structure exists so that\n//  it can be imbedded in an ACCESS_STATE structure.  Use PRIVILEGE_SET\n//  for all other references to Privilege sets.\n//\n\n#define INITIAL_PRIVILEGE_COUNT         3\n\ntypedef struct _INITIAL_PRIVILEGE_SET {\n    ULONG PrivilegeCount;\n    ULONG Control;\n    LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];\n    } INITIAL_PRIVILEGE_SET, * PINITIAL_PRIVILEGE_SET;\n\n\n\n//\n// Combine the information that describes the state\n// of an access-in-progress into a single structure\n//\n\n\ntypedef struct _ACCESS_STATE {\n   LUID OperationID;\n   BOOLEAN SecurityEvaluated;\n   BOOLEAN GenerateAudit;\n   BOOLEAN GenerateOnClose;\n   BOOLEAN PrivilegesAllocated;\n   ULONG Flags;\n   ACCESS_MASK RemainingDesiredAccess;\n   ACCESS_MASK PreviouslyGrantedAccess;\n   ACCESS_MASK OriginalDesiredAccess;\n   SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;\n   PSECURITY_DESCRIPTOR SecurityDescriptor;\n   PVOID AuxData;\n   union {\n      INITIAL_PRIVILEGE_SET InitialPrivilegeSet;\n      PRIVILEGE_SET PrivilegeSet;\n      } Privileges;\n\n   BOOLEAN AuditPrivileges;\n   UNICODE_STRING ObjectName;\n   UNICODE_STRING ObjectTypeName;\n\n   } ACCESS_STATE, *PACCESS_STATE;\n\n\nNTKERNELAPI\nNTSTATUS\nSeAssignSecurity (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,\n    IN PSECURITY_DESCRIPTOR ExplicitDescriptor,\n    OUT PSECURITY_DESCRIPTOR *NewDescriptor,\n    IN BOOLEAN IsDirectoryObject,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectContext,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN POOL_TYPE PoolType\n    );\n\nNTKERNELAPI\nNTSTATUS\nSeAssignSecurityEx (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,\n    IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,\n    OUT PSECURITY_DESCRIPTOR *NewDescriptor,\n    IN GUID *ObjectType OPTIONAL,\n    IN BOOLEAN IsDirectoryObject,\n    IN ULONG AutoInheritFlags,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectContext,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN POOL_TYPE PoolType\n    );\n\nNTKERNELAPI\nNTSTATUS\nSeDeassignSecurity (\n    IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor\n    );\n\nNTKERNELAPI\nBOOLEAN\nSeAccessCheck (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,\n    IN BOOLEAN SubjectContextLocked,\n    IN ACCESS_MASK DesiredAccess,\n    IN ACCESS_MASK PreviouslyGrantedAccess,\n    OUT PPRIVILEGE_SET *Privileges OPTIONAL,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN KPROCESSOR_MODE AccessMode,\n    OUT PACCESS_MASK GrantedAccess,\n    OUT PNTSTATUS AccessStatus\n    );\n\n\n#ifdef SE_NTFS_WORLD_CACHE\n\nVOID\nSeGetWorldRights (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PGENERIC_MAPPING GenericMapping,\n    OUT PACCESS_MASK GrantedAccess\n    );\n\n#endif\n\n\nNTKERNELAPI\nBOOLEAN\nSeValidSecurityDescriptor(\n    IN ULONG Length,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\nNTKERNELAPI                                                     \nBOOLEAN                                                         \nSeSinglePrivilegeCheck(                                         \n    LUID PrivilegeValue,                                        \n    KPROCESSOR_MODE PreviousMode                                \n    );                                                          \n//\n// System Thread and Process Creation and Termination\n//\n\nNTKERNELAPI\nNTSTATUS\nPsCreateSystemThread(\n    OUT PHANDLE ThreadHandle,\n    IN ULONG DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,\n    IN HANDLE ProcessHandle OPTIONAL,\n    OUT PCLIENT_ID ClientId OPTIONAL,\n    IN PKSTART_ROUTINE StartRoutine,\n    IN PVOID StartContext\n    );\n\nNTKERNELAPI\nNTSTATUS\nPsTerminateSystemThread(\n    IN NTSTATUS ExitStatus\n    );\n\n\ntypedef\nVOID\n(*PCREATE_PROCESS_NOTIFY_ROUTINE)(\n    IN HANDLE ParentId,\n    IN HANDLE ProcessId,\n    IN BOOLEAN Create\n    );\n\nNTSTATUS\nPsSetCreateProcessNotifyRoutine(\n    IN PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,\n    IN BOOLEAN Remove\n    );\n\ntypedef\nVOID\n(*PCREATE_THREAD_NOTIFY_ROUTINE)(\n    IN HANDLE ProcessId,\n    IN HANDLE ThreadId,\n    IN BOOLEAN Create\n    );\n\nNTSTATUS\nPsSetCreateThreadNotifyRoutine(\n    IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine\n    );\n\nNTSTATUS\nPsRemoveCreateThreadNotifyRoutine (\n    IN PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine\n    );\n\n//\n// Structures for Load Image Notify\n//\n\ntypedef struct _IMAGE_INFO {\n    union {\n        ULONG Properties;\n        struct {\n            ULONG ImageAddressingMode  : 8;  // code addressing mode\n            ULONG SystemModeImage      : 1;  // system mode image\n            ULONG ImageMappedToAllPids : 1;  // image mapped into all processes\n            ULONG Reserved             : 22;\n        };\n    };\n    PVOID       ImageBase;\n    ULONG       ImageSelector;\n    SIZE_T      ImageSize;\n    ULONG       ImageSectionNumber;\n} IMAGE_INFO, *PIMAGE_INFO;\n\n#define IMAGE_ADDRESSING_MODE_32BIT     3\n\ntypedef\nVOID\n(*PLOAD_IMAGE_NOTIFY_ROUTINE)(\n    IN PUNICODE_STRING FullImageName,\n    IN HANDLE ProcessId,                // pid into which image is being mapped\n    IN PIMAGE_INFO ImageInfo\n    );\n\nNTSTATUS\nPsSetLoadImageNotifyRoutine(\n    IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine\n    );\n\nNTSTATUS\nPsRemoveLoadImageNotifyRoutine(\n    IN PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine\n    );\n\n\n\nHANDLE\nPsGetCurrentProcessId( VOID );\n\nHANDLE\nPsGetCurrentThreadId( VOID );\n\n\n// end_ntosp\n\nBOOLEAN\nPsGetVersion(\n    PULONG MajorVersion OPTIONAL,\n    PULONG MinorVersion OPTIONAL,\n    PULONG BuildNumber OPTIONAL,\n    PUNICODE_STRING CSDVersion OPTIONAL\n    );\n\n//\n// Define I/O system data structure type codes.  Each major data structure in\n// the I/O system has a type code  The type field in each structure is at the\n// same offset.  The following values can be used to determine which type of\n// data structure a pointer refers to.\n//\n\n#define IO_TYPE_ADAPTER                 0x00000001\n#define IO_TYPE_CONTROLLER              0x00000002\n#define IO_TYPE_DEVICE                  0x00000003\n#define IO_TYPE_DRIVER                  0x00000004\n#define IO_TYPE_FILE                    0x00000005\n#define IO_TYPE_IRP                     0x00000006\n#define IO_TYPE_MASTER_ADAPTER          0x00000007\n#define IO_TYPE_OPEN_PACKET             0x00000008\n#define IO_TYPE_TIMER                   0x00000009\n#define IO_TYPE_VPB                     0x0000000a\n#define IO_TYPE_ERROR_LOG               0x0000000b\n#define IO_TYPE_ERROR_MESSAGE           0x0000000c\n#define IO_TYPE_DEVICE_OBJECT_EXTENSION 0x0000000d\n\n\n//\n// Define the major function codes for IRPs.\n//\n\n\n#define IRP_MJ_CREATE                   0x00\n#define IRP_MJ_CREATE_NAMED_PIPE        0x01\n#define IRP_MJ_CLOSE                    0x02\n#define IRP_MJ_READ                     0x03\n#define IRP_MJ_WRITE                    0x04\n#define IRP_MJ_QUERY_INFORMATION        0x05\n#define IRP_MJ_SET_INFORMATION          0x06\n#define IRP_MJ_QUERY_EA                 0x07\n#define IRP_MJ_SET_EA                   0x08\n#define IRP_MJ_FLUSH_BUFFERS            0x09\n#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a\n#define IRP_MJ_SET_VOLUME_INFORMATION   0x0b\n#define IRP_MJ_DIRECTORY_CONTROL        0x0c\n#define IRP_MJ_FILE_SYSTEM_CONTROL      0x0d\n#define IRP_MJ_DEVICE_CONTROL           0x0e\n#define IRP_MJ_INTERNAL_DEVICE_CONTROL  0x0f\n#define IRP_MJ_SHUTDOWN                 0x10\n#define IRP_MJ_LOCK_CONTROL             0x11\n#define IRP_MJ_CLEANUP                  0x12\n#define IRP_MJ_CREATE_MAILSLOT          0x13\n#define IRP_MJ_QUERY_SECURITY           0x14\n#define IRP_MJ_SET_SECURITY             0x15\n#define IRP_MJ_POWER                    0x16\n#define IRP_MJ_SYSTEM_CONTROL           0x17\n#define IRP_MJ_DEVICE_CHANGE            0x18\n#define IRP_MJ_QUERY_QUOTA              0x19\n#define IRP_MJ_SET_QUOTA                0x1a\n#define IRP_MJ_PNP                      0x1b\n#define IRP_MJ_PNP_POWER                IRP_MJ_PNP      // Obsolete....\n#define IRP_MJ_MAXIMUM_FUNCTION         0x1b\n\n//\n// Make the Scsi major code the same as internal device control.\n//\n\n#define IRP_MJ_SCSI                     IRP_MJ_INTERNAL_DEVICE_CONTROL\n\n//\n// Define the minor function codes for IRPs.  The lower 128 codes, from 0x00 to\n// 0x7f are reserved to Microsoft.  The upper 128 codes, from 0x80 to 0xff, are\n// reserved to customers of Microsoft.\n//\n\n// end_wdm end_ntndis\n//\n// Directory control minor function codes\n//\n\n#define IRP_MN_QUERY_DIRECTORY          0x01\n#define IRP_MN_NOTIFY_CHANGE_DIRECTORY  0x02\n\n//\n// File system control minor function codes.  Note that \"user request\" is\n// assumed to be zero by both the I/O system and file systems.  Do not change\n// this value.\n//\n\n#define IRP_MN_USER_FS_REQUEST          0x00\n#define IRP_MN_MOUNT_VOLUME             0x01\n#define IRP_MN_VERIFY_VOLUME            0x02\n#define IRP_MN_LOAD_FILE_SYSTEM         0x03\n#define IRP_MN_TRACK_LINK               0x04    // To be obsoleted soon\n#define IRP_MN_KERNEL_CALL              0x04\n\n//\n// Lock control minor function codes\n//\n\n#define IRP_MN_LOCK                     0x01\n#define IRP_MN_UNLOCK_SINGLE            0x02\n#define IRP_MN_UNLOCK_ALL               0x03\n#define IRP_MN_UNLOCK_ALL_BY_KEY        0x04\n\n//\n// Read and Write minor function codes for file systems supporting Lan Manager\n// software.  All of these subfunction codes are invalid if the file has been\n// opened with FO_NO_INTERMEDIATE_BUFFERING.  They are also invalid in combi-\n// nation with synchronous calls (Irp Flag or file open option).\n//\n// Note that \"normal\" is assumed to be zero by both the I/O system and file\n// systems.  Do not change this value.\n//\n\n#define IRP_MN_NORMAL                   0x00\n#define IRP_MN_DPC                      0x01\n#define IRP_MN_MDL                      0x02\n#define IRP_MN_COMPLETE                 0x04\n#define IRP_MN_COMPRESSED               0x08\n\n#define IRP_MN_MDL_DPC                  (IRP_MN_MDL | IRP_MN_DPC)\n#define IRP_MN_COMPLETE_MDL             (IRP_MN_COMPLETE | IRP_MN_MDL)\n#define IRP_MN_COMPLETE_MDL_DPC         (IRP_MN_COMPLETE_MDL | IRP_MN_DPC)\n\n// begin_wdm\n//\n// Device Control Request minor function codes for SCSI support. Note that\n// user requests are assumed to be zero.\n//\n\n#define IRP_MN_SCSI_CLASS               0x01\n\n//\n// PNP minor function codes.\n//\n\n#define IRP_MN_START_DEVICE                 0x00\n#define IRP_MN_QUERY_REMOVE_DEVICE          0x01\n#define IRP_MN_REMOVE_DEVICE                0x02\n#define IRP_MN_CANCEL_REMOVE_DEVICE         0x03\n#define IRP_MN_STOP_DEVICE                  0x04\n#define IRP_MN_QUERY_STOP_DEVICE            0x05\n#define IRP_MN_CANCEL_STOP_DEVICE           0x06\n\n#define IRP_MN_QUERY_DEVICE_RELATIONS       0x07\n#define IRP_MN_QUERY_INTERFACE              0x08\n#define IRP_MN_QUERY_CAPABILITIES           0x09\n#define IRP_MN_QUERY_RESOURCES              0x0A\n#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS  0x0B\n#define IRP_MN_QUERY_DEVICE_TEXT            0x0C\n#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D\n\n#define IRP_MN_READ_CONFIG                  0x0F\n#define IRP_MN_WRITE_CONFIG                 0x10\n#define IRP_MN_EJECT                        0x11\n#define IRP_MN_SET_LOCK                     0x12\n#define IRP_MN_QUERY_ID                     0x13\n#define IRP_MN_QUERY_PNP_DEVICE_STATE       0x14\n#define IRP_MN_QUERY_BUS_INFORMATION        0x15\n#define IRP_MN_DEVICE_USAGE_NOTIFICATION    0x16\n#define IRP_MN_SURPRISE_REMOVAL             0x17\n// end_wdm\n#define IRP_MN_QUERY_LEGACY_BUS_INFORMATION 0x18\n// begin_wdm\n\n//\n// POWER minor function codes\n//\n#define IRP_MN_WAIT_WAKE                    0x00\n#define IRP_MN_POWER_SEQUENCE               0x01\n#define IRP_MN_SET_POWER                    0x02\n#define IRP_MN_QUERY_POWER                  0x03\n\n// begin_ntminiport\n//\n// WMI minor function codes under IRP_MJ_SYSTEM_CONTROL\n//\n\n#define IRP_MN_QUERY_ALL_DATA               0x00\n#define IRP_MN_QUERY_SINGLE_INSTANCE        0x01\n#define IRP_MN_CHANGE_SINGLE_INSTANCE       0x02\n#define IRP_MN_CHANGE_SINGLE_ITEM           0x03\n#define IRP_MN_ENABLE_EVENTS                0x04\n#define IRP_MN_DISABLE_EVENTS               0x05\n#define IRP_MN_ENABLE_COLLECTION            0x06\n#define IRP_MN_DISABLE_COLLECTION           0x07\n#define IRP_MN_REGINFO                      0x08\n#define IRP_MN_EXECUTE_METHOD               0x09\n// Minor code 0x0a is reserved\n#define IRP_MN_REGINFO_EX                   0x0b\n\n// end_ntminiport\n\n//\n// Define option flags for IoCreateFile.  Note that these values must be\n// exactly the same as the SL_... flags for a create function.  Note also\n// that there are flags that may be passed to IoCreateFile that are not\n// placed in the stack location for the create IRP.  These flags start in\n// the next byte.\n//\n\n#define IO_FORCE_ACCESS_CHECK           0x0001\n#define IO_NO_PARAMETER_CHECKING        0x0100\n\n//\n// Define Information fields for whether or not a REPARSE or a REMOUNT has\n// occurred in the file system.\n//\n\n#define IO_REPARSE                      0x0\n#define IO_REMOUNT                      0x1\n\n//\n// Define callout routine type for use in IoQueryDeviceDescription().\n//\n\ntypedef NTSTATUS (*PIO_QUERY_DEVICE_ROUTINE)(\n    IN PVOID Context,\n    IN PUNICODE_STRING PathName,\n    IN INTERFACE_TYPE BusType,\n    IN ULONG BusNumber,\n    IN PKEY_VALUE_FULL_INFORMATION *BusInformation,\n    IN CONFIGURATION_TYPE ControllerType,\n    IN ULONG ControllerNumber,\n    IN PKEY_VALUE_FULL_INFORMATION *ControllerInformation,\n    IN CONFIGURATION_TYPE PeripheralType,\n    IN ULONG PeripheralNumber,\n    IN PKEY_VALUE_FULL_INFORMATION *PeripheralInformation\n    );\n\n\n// Defines the order of the information in the array of\n// PKEY_VALUE_FULL_INFORMATION.\n//\n\ntypedef enum _IO_QUERY_DEVICE_DATA_FORMAT {\n    IoQueryDeviceIdentifier = 0,\n    IoQueryDeviceConfigurationData,\n    IoQueryDeviceComponentInformation,\n    IoQueryDeviceMaxData\n} IO_QUERY_DEVICE_DATA_FORMAT, *PIO_QUERY_DEVICE_DATA_FORMAT;\n\n// begin_wdm begin_ntifs\n//\n// Define the objects that can be created by IoCreateFile.\n//\n\ntypedef enum _CREATE_FILE_TYPE {\n    CreateFileTypeNone,\n    CreateFileTypeNamedPipe,\n    CreateFileTypeMailslot\n} CREATE_FILE_TYPE;\n\n//\n// Define the structures used by the I/O system\n//\n\n//\n// Define empty typedefs for the _IRP, _DEVICE_OBJECT, and _DRIVER_OBJECT\n// structures so they may be referenced by function types before they are\n// actually defined.\n//\nstruct _DEVICE_DESCRIPTION;\nstruct _DEVICE_OBJECT;\nstruct _DMA_ADAPTER;\nstruct _DRIVER_OBJECT;\nstruct _DRIVE_LAYOUT_INFORMATION;\nstruct _DISK_PARTITION;\nstruct _FILE_OBJECT;\nstruct _IRP;\nstruct _SCSI_REQUEST_BLOCK;\nstruct _SCATTER_GATHER_LIST;\n\n//\n// Define the I/O version of a DPC routine.\n//\n\ntypedef\nVOID\n(*PIO_DPC_ROUTINE) (\n    IN PKDPC Dpc,\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PVOID Context\n    );\n\n//\n// Define driver timer routine type.\n//\n\ntypedef\nVOID\n(*PIO_TIMER_ROUTINE) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN PVOID Context\n    );\n\n//\n// Define driver initialization routine type.\n//\ntypedef\nNTSTATUS\n(*PDRIVER_INITIALIZE) (\n    IN struct _DRIVER_OBJECT *DriverObject,\n    IN PUNICODE_STRING RegistryPath\n    );\n\n// end_wdm\n//\n// Define driver reinitialization routine type.\n//\n\ntypedef\nVOID\n(*PDRIVER_REINITIALIZE) (\n    IN struct _DRIVER_OBJECT *DriverObject,\n    IN PVOID Context,\n    IN ULONG Count\n    );\n\n// begin_wdm begin_ntndis\n//\n// Define driver cancel routine type.\n//\n\ntypedef\nVOID\n(*PDRIVER_CANCEL) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver dispatch routine type.\n//\n\ntypedef\nNTSTATUS\n(*PDRIVER_DISPATCH) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver start I/O routine type.\n//\n\ntypedef\nVOID\n(*PDRIVER_STARTIO) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver unload routine type.\n//\ntypedef\nVOID\n(*PDRIVER_UNLOAD) (\n    IN struct _DRIVER_OBJECT *DriverObject\n    );\n//\n// Define driver AddDevice routine type.\n//\n\ntypedef\nNTSTATUS\n(*PDRIVER_ADD_DEVICE) (\n    IN struct _DRIVER_OBJECT *DriverObject,\n    IN struct _DEVICE_OBJECT *PhysicalDeviceObject\n    );\n\n\n//\n// Define fast I/O procedure prototypes.\n//\n// Fast I/O read and write procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_CHECK_IF_POSSIBLE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    IN BOOLEAN CheckForReadOperation,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_READ) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    OUT PVOID Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    IN PVOID Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O query basic and standard information procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_BASIC_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT PFILE_BASIC_INFORMATION Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_STANDARD_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT PFILE_STANDARD_INFORMATION Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O lock and unlock procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_LOCK) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PLARGE_INTEGER Length,\n    PEPROCESS ProcessId,\n    ULONG Key,\n    BOOLEAN FailImmediately,\n    BOOLEAN ExclusiveLock,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_SINGLE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PLARGE_INTEGER Length,\n    PEPROCESS ProcessId,\n    ULONG Key,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_ALL) (\n    IN struct _FILE_OBJECT *FileObject,\n    PEPROCESS ProcessId,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_ALL_BY_KEY) (\n    IN struct _FILE_OBJECT *FileObject,\n    PVOID ProcessId,\n    ULONG Key,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O device control procedure.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_DEVICE_CONTROL) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    IN PVOID InputBuffer OPTIONAL,\n    IN ULONG InputBufferLength,\n    OUT PVOID OutputBuffer OPTIONAL,\n    IN ULONG OutputBufferLength,\n    IN ULONG IoControlCode,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Define callbacks for NtCreateSection to synchronize correctly with\n// the file system.  It pre-acquires the resources that will be needed\n// when calling to query and set file/allocation size in the file system.\n//\n\ntypedef\nVOID\n(*PFAST_IO_ACQUIRE_FILE) (\n    IN struct _FILE_OBJECT *FileObject\n    );\n\ntypedef\nVOID\n(*PFAST_IO_RELEASE_FILE) (\n    IN struct _FILE_OBJECT *FileObject\n    );\n\n//\n// Define callback for drivers that have device objects attached to lower-\n// level drivers' device objects.  This callback is made when the lower-level\n// driver is deleting its device object.\n//\n\ntypedef\nVOID\n(*PFAST_IO_DETACH_DEVICE) (\n    IN struct _DEVICE_OBJECT *SourceDevice,\n    IN struct _DEVICE_OBJECT *TargetDevice\n    );\n\n//\n// This structure is used by the server to quickly get the information needed\n// to service a server open call.  It is takes what would be two fast io calls\n// one for basic information and the other for standard information and makes\n// it into one call.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_NETWORK_OPEN_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT struct _FILE_NETWORK_OPEN_INFORMATION *Buffer,\n    OUT struct _IO_STATUS_BLOCK *IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n//  Define Mdl-based routines for the server to call\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ_COMPLETE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_PREPARE_MDL_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_WRITE_COMPLETE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n//  If this routine is present, it will be called by FsRtl\n//  to acquire the file for the mapped page writer.\n//\n\ntypedef\nNTSTATUS\n(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER EndingOffset,\n    OUT struct _ERESOURCE **ResourceToRelease,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nNTSTATUS\n(*PFAST_IO_RELEASE_FOR_MOD_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _ERESOURCE *ResourceToRelease,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\n//\n//  If this routine is present, it will be called by FsRtl\n//  to acquire the file for the mapped page writer.\n//\n\ntypedef\nNTSTATUS\n(*PFAST_IO_ACQUIRE_FOR_CCFLUSH) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nNTSTATUS\n(*PFAST_IO_RELEASE_FOR_CCFLUSH) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_READ_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PVOID Buffer,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    OUT struct _COMPRESSED_DATA_INFO *CompressedDataInfo,\n    IN ULONG CompressedDataInfoLength,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_WRITE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    IN PVOID Buffer,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _COMPRESSED_DATA_INFO *CompressedDataInfo,\n    IN ULONG CompressedDataInfoLength,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_OPEN) (\n    IN struct _IRP *Irp,\n    OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Define the structure to describe the Fast I/O dispatch routines.  Any\n// additions made to this structure MUST be added monotonically to the end\n// of the structure, and fields CANNOT be removed from the middle.\n//\n\ntypedef struct _FAST_IO_DISPATCH {\n    ULONG SizeOfFastIoDispatch;\n    PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;\n    PFAST_IO_READ FastIoRead;\n    PFAST_IO_WRITE FastIoWrite;\n    PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;\n    PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;\n    PFAST_IO_LOCK FastIoLock;\n    PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;\n    PFAST_IO_UNLOCK_ALL FastIoUnlockAll;\n    PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;\n    PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;\n    PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;\n    PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;\n    PFAST_IO_DETACH_DEVICE FastIoDetachDevice;\n    PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;\n    PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;\n    PFAST_IO_MDL_READ MdlRead;\n    PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;\n    PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;\n    PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;\n    PFAST_IO_READ_COMPRESSED FastIoReadCompressed;\n    PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;\n    PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;\n    PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;\n    PFAST_IO_QUERY_OPEN FastIoQueryOpen;\n    PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;\n    PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;\n    PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;\n} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;\n\n//\n// Define the actions that a driver execution routine may request of the\n// adapter/controller allocation routines upon return.\n//\n\ntypedef enum _IO_ALLOCATION_ACTION {\n    KeepObject = 1,\n    DeallocateObject,\n    DeallocateObjectKeepRegisters\n} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;\n\n//\n// Define device driver adapter/controller execution routine.\n//\n\ntypedef\nIO_ALLOCATION_ACTION\n(*PDRIVER_CONTROL) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PVOID MapRegisterBase,\n    IN PVOID Context\n    );\n\n//\n// Define the I/O system's security context type for use by file system's\n// when checking access to volumes, files, and directories.\n//\n\ntypedef struct _IO_SECURITY_CONTEXT {\n    PSECURITY_QUALITY_OF_SERVICE SecurityQos;\n    PACCESS_STATE AccessState;\n    ACCESS_MASK DesiredAccess;\n    ULONG FullCreateOptions;\n} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;\n\n//\n// Define Volume Parameter Block (VPB) flags.\n//\n\n#define VPB_MOUNTED                     0x00000001\n#define VPB_LOCKED                      0x00000002\n#define VPB_PERSISTENT                  0x00000004\n#define VPB_REMOVE_PENDING              0x00000008\n#define VPB_RAW_MOUNT                   0x00000010\n\n\n//\n// Volume Parameter Block (VPB)\n//\n\n#define MAXIMUM_VOLUME_LABEL_LENGTH  (32 * sizeof(WCHAR)) // 32 characters\n\ntypedef struct _VPB {\n    CSHORT Type;\n    CSHORT Size;\n    USHORT Flags;\n    USHORT VolumeLabelLength; // in bytes\n    struct _DEVICE_OBJECT *DeviceObject;\n    struct _DEVICE_OBJECT *RealDevice;\n    ULONG SerialNumber;\n    ULONG ReferenceCount;\n    WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH / sizeof(WCHAR)];\n} VPB, *PVPB;\n\n\n#if defined(_WIN64)\n\n//\n// Use __inline DMA macros (hal.h)\n//\n#ifndef USE_DMA_MACROS\n#define USE_DMA_MACROS\n#endif\n\n//\n// Only PnP drivers!\n//\n#ifndef NO_LEGACY_DRIVERS\n#define NO_LEGACY_DRIVERS\n#endif\n\n#endif // _WIN64\n\n\n#if defined(USE_DMA_MACROS) && (defined(_NTDDK_) || defined(_NTDRIVER_) || defined(_NTOSP_))\n\n//  begin_wdm\n//\n// Define object type specific fields of various objects used by the I/O system\n//\n\ntypedef struct _DMA_ADAPTER *PADAPTER_OBJECT;\n\n// end_wdm\n#else\n\n//\n// Define object type specific fields of various objects used by the I/O system\n//\n\ntypedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT; // ntndis\n\n#endif // USE_DMA_MACROS && (_NTDDK_ || _NTDRIVER_ || _NTOSP_)\n\n//  begin_wdm\n//\n// Define Wait Context Block (WCB)\n//\n\ntypedef struct _WAIT_CONTEXT_BLOCK {\n    KDEVICE_QUEUE_ENTRY WaitQueueEntry;\n    PDRIVER_CONTROL DeviceRoutine;\n    PVOID DeviceContext;\n    ULONG NumberOfMapRegisters;\n    PVOID DeviceObject;\n    PVOID CurrentIrp;\n    PKDPC BufferChainingDpc;\n} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;\n\n// end_wdm\n\ntypedef struct _CONTROLLER_OBJECT {\n    CSHORT Type;\n    CSHORT Size;\n    PVOID ControllerExtension;\n    KDEVICE_QUEUE DeviceWaitQueue;\n\n    ULONG Spare1;\n    LARGE_INTEGER Spare2;\n\n} CONTROLLER_OBJECT, *PCONTROLLER_OBJECT;\n\n// begin_wdm\n//\n// Define Device Object (DO) flags\n//\n#define DO_VERIFY_VOLUME                0x00000002      \n#define DO_BUFFERED_IO                  0x00000004      \n#define DO_EXCLUSIVE                    0x00000008      \n#define DO_DIRECT_IO                    0x00000010      \n#define DO_MAP_IO_BUFFER                0x00000020      \n#define DO_DEVICE_HAS_NAME              0x00000040      \n#define DO_DEVICE_INITIALIZING          0x00000080      \n#define DO_SYSTEM_BOOT_PARTITION        0x00000100      \n#define DO_LONG_TERM_REQUESTS           0x00000200      \n#define DO_NEVER_LAST_DEVICE            0x00000400      \n#define DO_SHUTDOWN_REGISTERED          0x00000800      \n#define DO_BUS_ENUMERATED_DEVICE        0x00001000      \n#define DO_POWER_PAGABLE                0x00002000      \n#define DO_POWER_INRUSH                 0x00004000      \n#define DO_LOW_PRIORITY_FILESYSTEM      0x00010000      \n//\n// Device Object structure definition\n//\n\ntypedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT {\n    CSHORT Type;\n    USHORT Size;\n    LONG ReferenceCount;\n    struct _DRIVER_OBJECT *DriverObject;\n    struct _DEVICE_OBJECT *NextDevice;\n    struct _DEVICE_OBJECT *AttachedDevice;\n    struct _IRP *CurrentIrp;\n    PIO_TIMER Timer;\n    ULONG Flags;                                // See above:  DO_...\n    ULONG Characteristics;                      // See ntioapi:  FILE_...\n    PVPB Vpb;\n    PVOID DeviceExtension;\n    DEVICE_TYPE DeviceType;\n    CCHAR StackSize;\n    union {\n        LIST_ENTRY ListEntry;\n        WAIT_CONTEXT_BLOCK Wcb;\n    } Queue;\n    ULONG AlignmentRequirement;\n    KDEVICE_QUEUE DeviceQueue;\n    KDPC Dpc;\n\n    //\n    //  The following field is for exclusive use by the filesystem to keep\n    //  track of the number of Fsp threads currently using the device\n    //\n\n    ULONG ActiveThreadCount;\n    PSECURITY_DESCRIPTOR SecurityDescriptor;\n    KEVENT DeviceLock;\n\n    USHORT SectorSize;\n    USHORT Spare1;\n\n    struct _DEVOBJ_EXTENSION  *DeviceObjectExtension;\n    PVOID  Reserved;\n} DEVICE_OBJECT;\n\ntypedef struct _DEVICE_OBJECT *PDEVICE_OBJECT; // ntndis\n\n\nstruct  _DEVICE_OBJECT_POWER_EXTENSION;\n\ntypedef struct _DEVOBJ_EXTENSION {\n\n    CSHORT          Type;\n    USHORT          Size;\n\n    //\n    // Public part of the DeviceObjectExtension structure\n    //\n\n    PDEVICE_OBJECT  DeviceObject;               // owning device object\n\n\n} DEVOBJ_EXTENSION, *PDEVOBJ_EXTENSION;\n\n//\n// Define Driver Object (DRVO) flags\n//\n\n#define DRVO_UNLOAD_INVOKED             0x00000001\n#define DRVO_LEGACY_DRIVER              0x00000002\n#define DRVO_BUILTIN_DRIVER             0x00000004    // Driver objects for Hal, PnP Mgr\n// end_wdm\n#define DRVO_REINIT_REGISTERED          0x00000008\n#define DRVO_INITIALIZED                0x00000010\n#define DRVO_BOOTREINIT_REGISTERED      0x00000020\n#define DRVO_LEGACY_RESOURCES           0x00000040\n\n// begin_wdm\n\ntypedef struct _DRIVER_EXTENSION {\n\n    //\n    // Back pointer to Driver Object\n    //\n\n    struct _DRIVER_OBJECT *DriverObject;\n\n    //\n    // The AddDevice entry point is called by the Plug & Play manager\n    // to inform the driver when a new device instance arrives that this\n    // driver must control.\n    //\n\n    PDRIVER_ADD_DEVICE AddDevice;\n\n    //\n    // The count field is used to count the number of times the driver has\n    // had its registered reinitialization routine invoked.\n    //\n\n    ULONG Count;\n\n    //\n    // The service name field is used by the pnp manager to determine\n    // where the driver related info is stored in the registry.\n    //\n\n    UNICODE_STRING ServiceKeyName;\n\n    //\n    // Note: any new shared fields get added here.\n    //\n\n\n} DRIVER_EXTENSION, *PDRIVER_EXTENSION;\n\n\ntypedef struct _DRIVER_OBJECT {\n    CSHORT Type;\n    CSHORT Size;\n\n    //\n    // The following links all of the devices created by a single driver\n    // together on a list, and the Flags word provides an extensible flag\n    // location for driver objects.\n    //\n\n    PDEVICE_OBJECT DeviceObject;\n    ULONG Flags;\n\n    //\n    // The following section describes where the driver is loaded.  The count\n    // field is used to count the number of times the driver has had its\n    // registered reinitialization routine invoked.\n    //\n\n    PVOID DriverStart;\n    ULONG DriverSize;\n    PVOID DriverSection;\n    PDRIVER_EXTENSION DriverExtension;\n\n    //\n    // The driver name field is used by the error log thread\n    // determine the name of the driver that an I/O request is/was bound.\n    //\n\n    UNICODE_STRING DriverName;\n\n    //\n    // The following section is for registry support.  Thise is a pointer\n    // to the path to the hardware information in the registry\n    //\n\n    PUNICODE_STRING HardwareDatabase;\n\n    //\n    // The following section contains the optional pointer to an array of\n    // alternate entry points to a driver for \"fast I/O\" support.  Fast I/O\n    // is performed by invoking the driver routine directly with separate\n    // parameters, rather than using the standard IRP call mechanism.  Note\n    // that these functions may only be used for synchronous I/O, and when\n    // the file is cached.\n    //\n\n    PFAST_IO_DISPATCH FastIoDispatch;\n\n    //\n    // The following section describes the entry points to this particular\n    // driver.  Note that the major function dispatch table must be the last\n    // field in the object so that it remains extensible.\n    //\n\n    PDRIVER_INITIALIZE DriverInit;\n    PDRIVER_STARTIO DriverStartIo;\n    PDRIVER_UNLOAD DriverUnload;\n    PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];\n\n} DRIVER_OBJECT;\ntypedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; // ntndis\n\n\n\n//\n// The following structure is pointed to by the SectionObject pointer field\n// of a file object, and is allocated by the various NT file systems.\n//\n\ntypedef struct _SECTION_OBJECT_POINTERS {\n    PVOID DataSectionObject;\n    PVOID SharedCacheMap;\n    PVOID ImageSectionObject;\n} SECTION_OBJECT_POINTERS;\ntypedef SECTION_OBJECT_POINTERS *PSECTION_OBJECT_POINTERS;\n\n//\n// Define the format of a completion message.\n//\n\ntypedef struct _IO_COMPLETION_CONTEXT {\n    PVOID Port;\n    PVOID Key;\n} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;\n\n//\n// Define File Object (FO) flags\n//\n\n#define FO_FILE_OPEN                    0x00000001\n#define FO_SYNCHRONOUS_IO               0x00000002\n#define FO_ALERTABLE_IO                 0x00000004\n#define FO_NO_INTERMEDIATE_BUFFERING    0x00000008\n#define FO_WRITE_THROUGH                0x00000010\n#define FO_SEQUENTIAL_ONLY              0x00000020\n#define FO_CACHE_SUPPORTED              0x00000040\n#define FO_NAMED_PIPE                   0x00000080\n#define FO_STREAM_FILE                  0x00000100\n#define FO_MAILSLOT                     0x00000200\n#define FO_GENERATE_AUDIT_ON_CLOSE      0x00000400\n#define FO_DIRECT_DEVICE_OPEN           0x00000800\n#define FO_FILE_MODIFIED                0x00001000\n#define FO_FILE_SIZE_CHANGED            0x00002000\n#define FO_CLEANUP_COMPLETE             0x00004000\n#define FO_TEMPORARY_FILE               0x00008000\n#define FO_DELETE_ON_CLOSE              0x00010000\n#define FO_OPENED_CASE_SENSITIVE        0x00020000\n#define FO_HANDLE_CREATED               0x00040000\n#define FO_FILE_FAST_IO_READ            0x00080000\n#define FO_RANDOM_ACCESS                0x00100000\n#define FO_FILE_OPEN_CANCELLED          0x00200000\n#define FO_VOLUME_OPEN                  0x00400000\n#define FO_FILE_OBJECT_HAS_EXTENSION    0x00800000\n#define FO_REMOTE_ORIGIN                0x01000000\n\ntypedef struct _FILE_OBJECT {\n    CSHORT Type;\n    CSHORT Size;\n    PDEVICE_OBJECT DeviceObject;\n    PVPB Vpb;\n    PVOID FsContext;\n    PVOID FsContext2;\n    PSECTION_OBJECT_POINTERS SectionObjectPointer;\n    PVOID PrivateCacheMap;\n    NTSTATUS FinalStatus;\n    struct _FILE_OBJECT *RelatedFileObject;\n    BOOLEAN LockOperation;\n    BOOLEAN DeletePending;\n    BOOLEAN ReadAccess;\n    BOOLEAN WriteAccess;\n    BOOLEAN DeleteAccess;\n    BOOLEAN SharedRead;\n    BOOLEAN SharedWrite;\n    BOOLEAN SharedDelete;\n    ULONG Flags;\n    UNICODE_STRING FileName;\n    LARGE_INTEGER CurrentByteOffset;\n    ULONG Waiters;\n    ULONG Busy;\n    PVOID LastLock;\n    KEVENT Lock;\n    KEVENT Event;\n    PIO_COMPLETION_CONTEXT CompletionContext;\n} FILE_OBJECT;\ntypedef struct _FILE_OBJECT *PFILE_OBJECT; // ntndis\n\n//\n// Define I/O Request Packet (IRP) flags\n//\n\n#define IRP_NOCACHE                     0x00000001\n#define IRP_PAGING_IO                   0x00000002\n#define IRP_MOUNT_COMPLETION            0x00000002\n#define IRP_SYNCHRONOUS_API             0x00000004\n#define IRP_ASSOCIATED_IRP              0x00000008\n#define IRP_BUFFERED_IO                 0x00000010\n#define IRP_DEALLOCATE_BUFFER           0x00000020\n#define IRP_INPUT_OPERATION             0x00000040\n#define IRP_SYNCHRONOUS_PAGING_IO       0x00000040\n#define IRP_CREATE_OPERATION            0x00000080\n#define IRP_READ_OPERATION              0x00000100\n#define IRP_WRITE_OPERATION             0x00000200\n#define IRP_CLOSE_OPERATION             0x00000400\n// end_wdm\n\n#define IRP_DEFER_IO_COMPLETION         0x00000800\n#define IRP_OB_QUERY_NAME               0x00001000\n#define IRP_HOLD_DEVICE_QUEUE           0x00002000\n#define IRP_RETRY_IO_COMPLETION         0x00004000\n#define IRP_CLASS_CACHE_OPERATION       0x00008000\n\n#define IRP_SET_USER_EVENT              IRP_CLOSE_OPERATION\n\n// begin_wdm\n//\n// Define I/O request packet (IRP) alternate flags for allocation control.\n//\n\n#define IRP_QUOTA_CHARGED               0x01\n#define IRP_ALLOCATED_MUST_SUCCEED      0x02\n#define IRP_ALLOCATED_FIXED_SIZE        0x04\n#define IRP_LOOKASIDE_ALLOCATION        0x08\n\n//\n// I/O Request Packet (IRP) definition\n//\n\ntypedef struct _IRP {\n    CSHORT Type;\n    USHORT Size;\n\n    //\n    // Define the common fields used to control the IRP.\n    //\n\n    //\n    // Define a pointer to the Memory Descriptor List (MDL) for this I/O\n    // request.  This field is only used if the I/O is \"direct I/O\".\n    //\n\n    PMDL MdlAddress;\n\n    //\n    // Flags word - used to remember various flags.\n    //\n\n    ULONG Flags;\n\n    //\n    // The following union is used for one of three purposes:\n    //\n    //    1. This IRP is an associated IRP.  The field is a pointer to a master\n    //       IRP.\n    //\n    //    2. This is the master IRP.  The field is the count of the number of\n    //       IRPs which must complete (associated IRPs) before the master can\n    //       complete.\n    //\n    //    3. This operation is being buffered and the field is the address of\n    //       the system space buffer.\n    //\n\n    union {\n        struct _IRP *MasterIrp;\n        LONG IrpCount;\n        PVOID SystemBuffer;\n    } AssociatedIrp;\n\n    //\n    // Thread list entry - allows queueing the IRP to the thread pending I/O\n    // request packet list.\n    //\n\n    LIST_ENTRY ThreadListEntry;\n\n    //\n    // I/O status - final status of operation.\n    //\n\n    IO_STATUS_BLOCK IoStatus;\n\n    //\n    // Requestor mode - mode of the original requestor of this operation.\n    //\n\n    KPROCESSOR_MODE RequestorMode;\n\n    //\n    // Pending returned - TRUE if pending was initially returned as the\n    // status for this packet.\n    //\n\n    BOOLEAN PendingReturned;\n\n    //\n    // Stack state information.\n    //\n\n    CHAR StackCount;\n    CHAR CurrentLocation;\n\n    //\n    // Cancel - packet has been canceled.\n    //\n\n    BOOLEAN Cancel;\n\n    //\n    // Cancel Irql - Irql at which the cancel spinlock was acquired.\n    //\n\n    KIRQL CancelIrql;\n\n    //\n    // ApcEnvironment - Used to save the APC environment at the time that the\n    // packet was initialized.\n    //\n\n    CCHAR ApcEnvironment;\n\n    //\n    // Allocation control flags.\n    //\n\n    UCHAR AllocationFlags;\n\n    //\n    // User parameters.\n    //\n\n    PIO_STATUS_BLOCK UserIosb;\n    PKEVENT UserEvent;\n    union {\n        struct {\n            PIO_APC_ROUTINE UserApcRoutine;\n            PVOID UserApcContext;\n        } AsynchronousParameters;\n        LARGE_INTEGER AllocationSize;\n    } Overlay;\n\n    //\n    // CancelRoutine - Used to contain the address of a cancel routine supplied\n    // by a device driver when the IRP is in a cancelable state.\n    //\n\n    PDRIVER_CANCEL CancelRoutine;\n\n    //\n    // Note that the UserBuffer parameter is outside of the stack so that I/O\n    // completion can copy data back into the user's address space without\n    // having to know exactly which service was being invoked.  The length\n    // of the copy is stored in the second half of the I/O status block. If\n    // the UserBuffer field is NULL, then no copy is performed.\n    //\n\n    PVOID UserBuffer;\n\n    //\n    // Kernel structures\n    //\n    // The following section contains kernel structures which the IRP needs\n    // in order to place various work information in kernel controller system\n    // queues.  Because the size and alignment cannot be controlled, they are\n    // placed here at the end so they just hang off and do not affect the\n    // alignment of other fields in the IRP.\n    //\n\n    union {\n\n        struct {\n\n            union {\n\n                //\n                // DeviceQueueEntry - The device queue entry field is used to\n                // queue the IRP to the device driver device queue.\n                //\n\n                KDEVICE_QUEUE_ENTRY DeviceQueueEntry;\n\n                struct {\n\n                    //\n                    // The following are available to the driver to use in\n                    // whatever manner is desired, while the driver owns the\n                    // packet.\n                    //\n\n                    PVOID DriverContext[4];\n\n                } ;\n\n            } ;\n\n            //\n            // Thread - pointer to caller's Thread Control Block.\n            //\n\n            PETHREAD Thread;\n\n            //\n            // Auxiliary buffer - pointer to any auxiliary buffer that is\n            // required to pass information to a driver that is not contained\n            // in a normal buffer.\n            //\n\n            PCHAR AuxiliaryBuffer;\n\n            //\n            // The following unnamed structure must be exactly identical\n            // to the unnamed structure used in the minipacket header used\n            // for completion queue entries.\n            //\n\n            struct {\n\n                //\n                // List entry - used to queue the packet to completion queue, among\n                // others.\n                //\n\n                LIST_ENTRY ListEntry;\n\n                union {\n\n                    //\n                    // Current stack location - contains a pointer to the current\n                    // IO_STACK_LOCATION structure in the IRP stack.  This field\n                    // should never be directly accessed by drivers.  They should\n                    // use the standard functions.\n                    //\n\n                    struct _IO_STACK_LOCATION *CurrentStackLocation;\n\n                    //\n                    // Minipacket type.\n                    //\n\n                    ULONG PacketType;\n                };\n            };\n\n            //\n            // Original file object - pointer to the original file object\n            // that was used to open the file.  This field is owned by the\n            // I/O system and should not be used by any other drivers.\n            //\n\n            PFILE_OBJECT OriginalFileObject;\n\n        } Overlay;\n\n        //\n        // APC - This APC control block is used for the special kernel APC as\n        // well as for the caller's APC, if one was specified in the original\n        // argument list.  If so, then the APC is reused for the normal APC for\n        // whatever mode the caller was in and the \"special\" routine that is\n        // invoked before the APC gets control simply deallocates the IRP.\n        //\n\n        KAPC Apc;\n\n        //\n        // CompletionKey - This is the key that is used to distinguish\n        // individual I/O operations initiated on a single file handle.\n        //\n\n        PVOID CompletionKey;\n\n    } Tail;\n\n} IRP, *PIRP;\n\n//\n// Define completion routine types for use in stack locations in an IRP\n//\n\ntypedef\nNTSTATUS\n(*PIO_COMPLETION_ROUTINE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PVOID Context\n    );\n\n//\n// Define stack location control flags\n//\n\n#define SL_PENDING_RETURNED             0x01\n#define SL_INVOKE_ON_CANCEL             0x20\n#define SL_INVOKE_ON_SUCCESS            0x40\n#define SL_INVOKE_ON_ERROR              0x80\n\n//\n// Define flags for various functions\n//\n\n//\n// Create / Create Named Pipe\n//\n// The following flags must exactly match those in the IoCreateFile call's\n// options.  The case sensitive flag is added in later, by the parse routine,\n// and is not an actual option to open.  Rather, it is part of the object\n// manager's attributes structure.\n//\n\n#define SL_FORCE_ACCESS_CHECK           0x01\n#define SL_OPEN_PAGING_FILE             0x02\n#define SL_OPEN_TARGET_DIRECTORY        0x04\n\n#define SL_CASE_SENSITIVE               0x80\n\n//\n// Read / Write\n//\n\n#define SL_KEY_SPECIFIED                0x01\n#define SL_OVERRIDE_VERIFY_VOLUME       0x02\n#define SL_WRITE_THROUGH                0x04\n#define SL_FT_SEQUENTIAL_WRITE          0x08\n\n//\n// Device I/O Control\n//\n//\n// Same SL_OVERRIDE_VERIFY_VOLUME as for read/write above.\n//\n\n#define SL_READ_ACCESS_GRANTED          0x01\n#define SL_WRITE_ACCESS_GRANTED         0x04    // Gap for SL_OVERRIDE_VERIFY_VOLUME\n\n//\n// Lock\n//\n\n#define SL_FAIL_IMMEDIATELY             0x01\n#define SL_EXCLUSIVE_LOCK               0x02\n\n//\n// QueryDirectory / QueryEa / QueryQuota\n//\n\n#define SL_RESTART_SCAN                 0x01\n#define SL_RETURN_SINGLE_ENTRY          0x02\n#define SL_INDEX_SPECIFIED              0x04\n\n//\n// NotifyDirectory\n//\n\n#define SL_WATCH_TREE                   0x01\n\n//\n// FileSystemControl\n//\n//    minor: mount/verify volume\n//\n\n#define SL_ALLOW_RAW_MOUNT              0x01\n\n//\n// Define PNP/POWER types required by IRP_MJ_PNP/IRP_MJ_POWER.\n//\n\ntypedef enum _DEVICE_RELATION_TYPE {\n    BusRelations,\n    EjectionRelations,\n    PowerRelations,\n    RemovalRelations,\n    TargetDeviceRelation,\n    SingleBusRelations\n} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;\n\ntypedef struct _DEVICE_RELATIONS {\n    ULONG Count;\n    PDEVICE_OBJECT Objects[1];  // variable length\n} DEVICE_RELATIONS, *PDEVICE_RELATIONS;\n\ntypedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {\n    DeviceUsageTypeUndefined,\n    DeviceUsageTypePaging,\n    DeviceUsageTypeHibernation,\n    DeviceUsageTypeDumpFile\n} DEVICE_USAGE_NOTIFICATION_TYPE;\n\n// begin_ntminiport\n\n// workaround overloaded definition (rpc generated headers all define INTERFACE\n// to match the class name).\n#undef INTERFACE\n\ntypedef struct _INTERFACE {\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    // interface specific entries go here\n} INTERFACE, *PINTERFACE;\n\n// end_ntminiport\n\ntypedef struct _DEVICE_CAPABILITIES {\n    USHORT Size;\n    USHORT Version;  // the version documented here is version 1\n    ULONG DeviceD1:1;\n    ULONG DeviceD2:1;\n    ULONG LockSupported:1;\n    ULONG EjectSupported:1; // Ejectable in S0\n    ULONG Removable:1;\n    ULONG DockDevice:1;\n    ULONG UniqueID:1;\n    ULONG SilentInstall:1;\n    ULONG RawDeviceOK:1;\n    ULONG SurpriseRemovalOK:1;\n    ULONG WakeFromD0:1;\n    ULONG WakeFromD1:1;\n    ULONG WakeFromD2:1;\n    ULONG WakeFromD3:1;\n    ULONG HardwareDisabled:1;\n    ULONG NonDynamic:1;\n    ULONG WarmEjectSupported:1;\n    ULONG NoDisplayInUI:1;\n    ULONG Reserved:14;\n\n    ULONG Address;\n    ULONG UINumber;\n\n    DEVICE_POWER_STATE DeviceState[POWER_SYSTEM_MAXIMUM];\n    SYSTEM_POWER_STATE SystemWake;\n    DEVICE_POWER_STATE DeviceWake;\n    ULONG D1Latency;\n    ULONG D2Latency;\n    ULONG D3Latency;\n} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;\n\ntypedef struct _POWER_SEQUENCE {\n    ULONG SequenceD1;\n    ULONG SequenceD2;\n    ULONG SequenceD3;\n} POWER_SEQUENCE, *PPOWER_SEQUENCE;\n\ntypedef enum {\n    BusQueryDeviceID = 0,       // <Enumerator>\\<Enumerator-specific device id>\n    BusQueryHardwareIDs = 1,    // Hardware ids\n    BusQueryCompatibleIDs = 2,  // compatible device ids\n    BusQueryInstanceID = 3,     // persistent id for this instance of the device\n    BusQueryDeviceSerialNumber = 4    // serial number for this device\n} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;\n\ntypedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;\n\n#define PNP_DEVICE_DISABLED                      0x00000001\n#define PNP_DEVICE_DONT_DISPLAY_IN_UI            0x00000002\n#define PNP_DEVICE_FAILED                        0x00000004\n#define PNP_DEVICE_REMOVED                       0x00000008\n#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010\n#define PNP_DEVICE_NOT_DISABLEABLE               0x00000020\n\ntypedef enum {\n    DeviceTextDescription = 0,            // DeviceDesc property\n    DeviceTextLocationInformation = 1     // DeviceLocation property\n} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;\n\n//\n// Define I/O Request Packet (IRP) stack locations\n//\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n#include \"pshpack4.h\"\n#endif\n\n// begin_ntndis\n\n#if defined(_WIN64)\n#define POINTER_ALIGNMENT DECLSPEC_ALIGN(8)\n#else\n#define POINTER_ALIGNMENT\n#endif\n\n// end_ntndis\n\ntypedef struct _IO_STACK_LOCATION {\n    UCHAR MajorFunction;\n    UCHAR MinorFunction;\n    UCHAR Flags;\n    UCHAR Control;\n\n    //\n    // The following user parameters are based on the service that is being\n    // invoked.  Drivers and file systems can determine which set to use based\n    // on the above major and minor function codes.\n    //\n\n    union {\n\n        //\n        // System service parameters for:  NtCreateFile\n        //\n\n        struct {\n            PIO_SECURITY_CONTEXT SecurityContext;\n            ULONG Options;\n            USHORT POINTER_ALIGNMENT FileAttributes;\n            USHORT ShareAccess;\n            ULONG POINTER_ALIGNMENT EaLength;\n        } Create;\n\n\n        //\n        // System service parameters for:  NtReadFile\n        //\n\n        struct {\n            ULONG Length;\n            ULONG POINTER_ALIGNMENT Key;\n            LARGE_INTEGER ByteOffset;\n        } Read;\n\n        //\n        // System service parameters for:  NtWriteFile\n        //\n\n        struct {\n            ULONG Length;\n            ULONG POINTER_ALIGNMENT Key;\n            LARGE_INTEGER ByteOffset;\n        } Write;\n\n\n        //\n        // System service parameters for:  NtQueryInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;\n        } QueryFile;\n\n        //\n        // System service parameters for:  NtSetInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;\n            PFILE_OBJECT FileObject;\n            union {\n                struct {\n                    BOOLEAN ReplaceIfExists;\n                    BOOLEAN AdvanceOnly;\n                };\n                ULONG ClusterCount;\n                HANDLE DeleteHandle;\n            };\n        } SetFile;\n\n\n        //\n        // System service parameters for:  NtQueryVolumeInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;\n        } QueryVolume;\n\n\n        //\n        // System service parameters for:  NtFlushBuffersFile\n        //\n        // No extra user-supplied parameters.\n        //\n\n\n        //\n        // System service parameters for:  NtDeviceIoControlFile\n        //\n        // Note that the user's output buffer is stored in the UserBuffer field\n        // and the user's input buffer is stored in the SystemBuffer field.\n        //\n\n        struct {\n            ULONG OutputBufferLength;\n            ULONG POINTER_ALIGNMENT InputBufferLength;\n            ULONG POINTER_ALIGNMENT IoControlCode;\n            PVOID Type3InputBuffer;\n        } DeviceIoControl;\n\n// end_wdm\n        //\n        // System service parameters for:  NtQuerySecurityObject\n        //\n\n        struct {\n            SECURITY_INFORMATION SecurityInformation;\n            ULONG POINTER_ALIGNMENT Length;\n        } QuerySecurity;\n\n        //\n        // System service parameters for:  NtSetSecurityObject\n        //\n\n        struct {\n            SECURITY_INFORMATION SecurityInformation;\n            PSECURITY_DESCRIPTOR SecurityDescriptor;\n        } SetSecurity;\n\n// begin_wdm\n        //\n        // Non-system service parameters.\n        //\n        // Parameters for MountVolume\n        //\n\n        struct {\n            PVPB Vpb;\n            PDEVICE_OBJECT DeviceObject;\n        } MountVolume;\n\n        //\n        // Parameters for VerifyVolume\n        //\n\n        struct {\n            PVPB Vpb;\n            PDEVICE_OBJECT DeviceObject;\n        } VerifyVolume;\n\n        //\n        // Parameters for Scsi with internal device contorl.\n        //\n\n        struct {\n            struct _SCSI_REQUEST_BLOCK *Srb;\n        } Scsi;\n\n\n        //\n        // Parameters for IRP_MN_QUERY_DEVICE_RELATIONS\n        //\n\n        struct {\n            DEVICE_RELATION_TYPE Type;\n        } QueryDeviceRelations;\n\n        //\n        // Parameters for IRP_MN_QUERY_INTERFACE\n        //\n\n        struct {\n            CONST GUID *InterfaceType;\n            USHORT Size;\n            USHORT Version;\n            PINTERFACE Interface;\n            PVOID InterfaceSpecificData;\n        } QueryInterface;\n\n// end_ntifs\n\n        //\n        // Parameters for IRP_MN_QUERY_CAPABILITIES\n        //\n\n        struct {\n            PDEVICE_CAPABILITIES Capabilities;\n        } DeviceCapabilities;\n\n        //\n        // Parameters for IRP_MN_FILTER_RESOURCE_REQUIREMENTS\n        //\n\n        struct {\n            PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;\n        } FilterResourceRequirements;\n\n        //\n        // Parameters for IRP_MN_READ_CONFIG and IRP_MN_WRITE_CONFIG\n        //\n\n        struct {\n            ULONG WhichSpace;\n            PVOID Buffer;\n            ULONG Offset;\n            ULONG POINTER_ALIGNMENT Length;\n        } ReadWriteConfig;\n\n        //\n        // Parameters for IRP_MN_SET_LOCK\n        //\n\n        struct {\n            BOOLEAN Lock;\n        } SetLock;\n\n        //\n        // Parameters for IRP_MN_QUERY_ID\n        //\n\n        struct {\n            BUS_QUERY_ID_TYPE IdType;\n        } QueryId;\n\n        //\n        // Parameters for IRP_MN_QUERY_DEVICE_TEXT\n        //\n\n        struct {\n            DEVICE_TEXT_TYPE DeviceTextType;\n            LCID POINTER_ALIGNMENT LocaleId;\n        } QueryDeviceText;\n\n        //\n        // Parameters for IRP_MN_DEVICE_USAGE_NOTIFICATION\n        //\n\n        struct {\n            BOOLEAN InPath;\n            BOOLEAN Reserved[3];\n            DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;\n        } UsageNotification;\n\n        //\n        // Parameters for IRP_MN_WAIT_WAKE\n        //\n\n        struct {\n            SYSTEM_POWER_STATE PowerState;\n        } WaitWake;\n\n        //\n        // Parameter for IRP_MN_POWER_SEQUENCE\n        //\n\n        struct {\n            PPOWER_SEQUENCE PowerSequence;\n        } PowerSequence;\n\n        //\n        // Parameters for IRP_MN_SET_POWER and IRP_MN_QUERY_POWER\n        //\n\n        struct {\n            ULONG SystemContext;\n            POWER_STATE_TYPE POINTER_ALIGNMENT Type;\n            POWER_STATE POINTER_ALIGNMENT State;\n            POWER_ACTION POINTER_ALIGNMENT ShutdownType;\n        } Power;\n\n        //\n        // Parameters for StartDevice\n        //\n\n        struct {\n            PCM_RESOURCE_LIST AllocatedResources;\n            PCM_RESOURCE_LIST AllocatedResourcesTranslated;\n        } StartDevice;\n\n// begin_ntifs\n        //\n        // Parameters for Cleanup\n        //\n        // No extra parameters supplied\n        //\n\n        //\n        // WMI Irps\n        //\n\n        struct {\n            ULONG_PTR ProviderId;\n            PVOID DataPath;\n            ULONG BufferSize;\n            PVOID Buffer;\n        } WMI;\n\n        //\n        // Others - driver-specific\n        //\n\n        struct {\n            PVOID Argument1;\n            PVOID Argument2;\n            PVOID Argument3;\n            PVOID Argument4;\n        } Others;\n\n    } Parameters;\n\n    //\n    // Save a pointer to this device driver's device object for this request\n    // so it can be passed to the completion routine if needed.\n    //\n\n    PDEVICE_OBJECT DeviceObject;\n\n    //\n    // The following location contains a pointer to the file object for this\n    //\n\n    PFILE_OBJECT FileObject;\n\n    //\n    // The following routine is invoked depending on the flags in the above\n    // flags field.\n    //\n\n    PIO_COMPLETION_ROUTINE CompletionRoutine;\n\n    //\n    // The following is used to store the address of the context parameter\n    // that should be passed to the CompletionRoutine.\n    //\n\n    PVOID Context;\n\n} IO_STACK_LOCATION, *PIO_STACK_LOCATION;\n#if !defined(_AMD64_) && !defined(_IA64_)\n#include \"poppack.h\"\n#endif\n\n//\n// Define the share access structure used by file systems to determine\n// whether or not another accessor may open the file.\n//\n\ntypedef struct _SHARE_ACCESS {\n    ULONG OpenCount;\n    ULONG Readers;\n    ULONG Writers;\n    ULONG Deleters;\n    ULONG SharedRead;\n    ULONG SharedWrite;\n    ULONG SharedDelete;\n} SHARE_ACCESS, *PSHARE_ACCESS;\n\n// end_wdm\n\n//\n// The following structure is used by drivers that are initializing to\n// determine the number of devices of a particular type that have already\n// been initialized.  It is also used to track whether or not the AtDisk\n// address range has already been claimed.  Finally, it is used by the\n// NtQuerySystemInformation system service to return device type counts.\n//\n\ntypedef struct _CONFIGURATION_INFORMATION {\n\n    //\n    // This field indicates the total number of disks in the system.  This\n    // number should be used by the driver to determine the name of new\n    // disks.  This field should be updated by the driver as it finds new\n    // disks.\n    //\n\n    ULONG DiskCount;                // Count of hard disks thus far\n    ULONG FloppyCount;              // Count of floppy disks thus far\n    ULONG CdRomCount;               // Count of CD-ROM drives thus far\n    ULONG TapeCount;                // Count of tape drives thus far\n    ULONG ScsiPortCount;            // Count of SCSI port adapters thus far\n    ULONG SerialCount;              // Count of serial devices thus far\n    ULONG ParallelCount;            // Count of parallel devices thus far\n\n    //\n    // These next two fields indicate ownership of one of the two IO address\n    // spaces that are used by WD1003-compatable disk controllers.\n    //\n\n    BOOLEAN AtDiskPrimaryAddressClaimed;    // 0x1F0 - 0x1FF\n    BOOLEAN AtDiskSecondaryAddressClaimed;  // 0x170 - 0x17F\n\n    //\n    // Indicates the structure version, as anything value belong this will have been added.\n    // Use the structure size as the version.\n    //\n\n    ULONG Version;\n\n    //\n    // Indicates the total number of medium changer devices in the system.\n    // This field will be updated by the drivers as it determines that\n    // new devices have been found and will be supported.\n    //\n\n    ULONG MediumChangerCount;\n\n} CONFIGURATION_INFORMATION, *PCONFIGURATION_INFORMATION;\n\n//\n// Public I/O routine definitions\n//\n\nNTKERNELAPI\nVOID\nIoAcquireCancelSpinLock(\n    OUT PKIRQL Irql\n    );\n\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateAdapterChannel\nNTKERNELAPI\nNTSTATUS\nIoAllocateAdapterChannel(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nVOID\nIoAllocateController(\n    IN PCONTROLLER_OBJECT ControllerObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    );\n\n//  begin_wdm\n\nNTKERNELAPI\nNTSTATUS\nIoAllocateDriverObjectExtension(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PVOID ClientIdentificationAddress,\n    IN ULONG DriverObjectExtensionSize,\n    OUT PVOID *DriverObjectExtension\n    );\n\n// begin_ntifs\n\nNTKERNELAPI\nPVOID\nIoAllocateErrorLogEntry(\n    IN PVOID IoObject,\n    IN UCHAR EntrySize\n    );\n\nNTKERNELAPI\nPIRP\nIoAllocateIrp(\n    IN CCHAR StackSize,\n    IN BOOLEAN ChargeQuota\n    );\n\nNTKERNELAPI\nPMDL\nIoAllocateMdl(\n    IN PVOID VirtualAddress,\n    IN ULONG Length,\n    IN BOOLEAN SecondaryBuffer,\n    IN BOOLEAN ChargeQuota,\n    IN OUT PIRP Irp OPTIONAL\n    );\n\n// end_wdm end_ntifs\n//++\n//\n// VOID\n// IoAssignArcName(\n//     IN PUNICODE_STRING ArcName,\n//     IN PUNICODE_STRING DeviceName\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked by drivers of bootable media to create a symbolic\n//     link between the ARC name of their device and its NT name.  This allows\n//     the system to determine which device in the system was actually booted\n//     from since the ARC firmware only deals in ARC names, and NT only deals\n//     in NT names.\n//\n// Arguments:\n//\n//     ArcName - Supplies the Unicode string representing the ARC name.\n//\n//     DeviceName - Supplies the name to which the ARCname refers.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoAssignArcName( ArcName, DeviceName ) (  \\\n    IoCreateSymbolicLink( (ArcName), (DeviceName) ) )\n\nDECLSPEC_DEPRECATED_DDK                 // Use Pnp or IoReprtDetectedDevice\nNTKERNELAPI\nNTSTATUS\nIoAssignResources (\n    IN PUNICODE_STRING RegistryPath,\n    IN PUNICODE_STRING DriverClassName OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDEVICE_OBJECT DeviceObject OPTIONAL,\n    IN PIO_RESOURCE_REQUIREMENTS_LIST RequestedResources,\n    IN OUT PCM_RESOURCE_LIST *AllocatedResources\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoAttachDevice(\n    IN PDEVICE_OBJECT SourceDevice,\n    IN PUNICODE_STRING TargetDevice,\n    OUT PDEVICE_OBJECT *AttachedDevice\n    );\n\n// end_wdm\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoAttachDeviceToDeviceStack\nNTKERNELAPI\nNTSTATUS\nIoAttachDeviceByPointer(\n    IN PDEVICE_OBJECT SourceDevice,\n    IN PDEVICE_OBJECT TargetDevice\n    );\n\n// begin_wdm\n\nNTKERNELAPI\nPDEVICE_OBJECT\nIoAttachDeviceToDeviceStack(\n    IN PDEVICE_OBJECT SourceDevice,\n    IN PDEVICE_OBJECT TargetDevice\n    );\n\nNTKERNELAPI\nPIRP\nIoBuildAsynchronousFsdRequest(\n    IN ULONG MajorFunction,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PVOID Buffer OPTIONAL,\n    IN ULONG Length OPTIONAL,\n    IN PLARGE_INTEGER StartingOffset OPTIONAL,\n    IN PIO_STATUS_BLOCK IoStatusBlock OPTIONAL\n    );\n\nNTKERNELAPI\nPIRP\nIoBuildDeviceIoControlRequest(\n    IN ULONG IoControlCode,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PVOID InputBuffer OPTIONAL,\n    IN ULONG InputBufferLength,\n    OUT PVOID OutputBuffer OPTIONAL,\n    IN ULONG OutputBufferLength,\n    IN BOOLEAN InternalDeviceIoControl,\n    IN PKEVENT Event,\n    OUT PIO_STATUS_BLOCK IoStatusBlock\n    );\n\nNTKERNELAPI\nVOID\nIoBuildPartialMdl(\n    IN PMDL SourceMdl,\n    IN OUT PMDL TargetMdl,\n    IN PVOID VirtualAddress,\n    IN ULONG Length\n    );\n\ntypedef struct _BOOTDISK_INFORMATION {\n    LONGLONG BootPartitionOffset;\n    LONGLONG SystemPartitionOffset;\n    ULONG BootDeviceSignature;\n    ULONG SystemDeviceSignature;\n} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;\n\n//\n// This structure should follow the previous structure field for field.\n//\ntypedef struct _BOOTDISK_INFORMATION_EX {\n    LONGLONG BootPartitionOffset;\n    LONGLONG SystemPartitionOffset;\n    ULONG BootDeviceSignature;\n    ULONG SystemDeviceSignature;\n    GUID BootDeviceGuid;\n    GUID SystemDeviceGuid;\n    BOOLEAN BootDeviceIsGpt;\n    BOOLEAN SystemDeviceIsGpt;\n} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;\n\nNTKERNELAPI\nNTSTATUS\nIoGetBootDiskInformation(\n    IN OUT PBOOTDISK_INFORMATION BootDiskInformation,\n    IN ULONG Size\n    );\n\n\nNTKERNELAPI\nPIRP\nIoBuildSynchronousFsdRequest(\n    IN ULONG MajorFunction,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PVOID Buffer OPTIONAL,\n    IN ULONG Length OPTIONAL,\n    IN PLARGE_INTEGER StartingOffset OPTIONAL,\n    IN PKEVENT Event,\n    OUT PIO_STATUS_BLOCK IoStatusBlock\n    );\n\nNTKERNELAPI\nNTSTATUS\nFASTCALL\nIofCallDriver(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PIRP Irp\n    );\n\n#define IoCallDriver(a,b)   \\\n        IofCallDriver(a,b)\n\nNTKERNELAPI\nBOOLEAN\nIoCancelIrp(\n    IN PIRP Irp\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoCheckShareAccess(\n    IN ACCESS_MASK DesiredAccess,\n    IN ULONG DesiredShareAccess,\n    IN OUT PFILE_OBJECT FileObject,\n    IN OUT PSHARE_ACCESS ShareAccess,\n    IN BOOLEAN Update\n    );\n\n//\n// This value should be returned from completion routines to continue\n// completing the IRP upwards. Otherwise, STATUS_MORE_PROCESSING_REQUIRED\n// should be returned.\n//\n#define STATUS_CONTINUE_COMPLETION      STATUS_SUCCESS\n\n//\n// Completion routines can also use this enumeration in place of status codes.\n//\ntypedef enum _IO_COMPLETION_ROUTINE_RESULT {\n\n    ContinueCompletion = STATUS_CONTINUE_COMPLETION,\n    StopCompletion = STATUS_MORE_PROCESSING_REQUIRED\n\n} IO_COMPLETION_ROUTINE_RESULT, *PIO_COMPLETION_ROUTINE_RESULT;\n\nNTKERNELAPI\nVOID\nFASTCALL\nIofCompleteRequest(\n    IN PIRP Irp,\n    IN CCHAR PriorityBoost\n    );\n\n#define IoCompleteRequest(a,b)  \\\n        IofCompleteRequest(a,b)\n\n// end_ntifs\n\nNTKERNELAPI\nNTSTATUS\nIoConnectInterrupt(\n    OUT PKINTERRUPT *InterruptObject,\n    IN PKSERVICE_ROUTINE ServiceRoutine,\n    IN PVOID ServiceContext,\n    IN PKSPIN_LOCK SpinLock OPTIONAL,\n    IN ULONG Vector,\n    IN KIRQL Irql,\n    IN KIRQL SynchronizeIrql,\n    IN KINTERRUPT_MODE InterruptMode,\n    IN BOOLEAN ShareVector,\n    IN KAFFINITY ProcessorEnableMask,\n    IN BOOLEAN FloatingSave\n    );\n\n//  end_wdm\n\nNTKERNELAPI\nPCONTROLLER_OBJECT\nIoCreateController(\n    IN ULONG Size\n    );\n\n//  begin_wdm begin_ntifs\n\nNTKERNELAPI\nNTSTATUS\nIoCreateDevice(\n    IN PDRIVER_OBJECT DriverObject,\n    IN ULONG DeviceExtensionSize,\n    IN PUNICODE_STRING DeviceName OPTIONAL,\n    IN DEVICE_TYPE DeviceType,\n    IN ULONG DeviceCharacteristics,\n    IN BOOLEAN Exclusive,\n    OUT PDEVICE_OBJECT *DeviceObject\n    );\n\n#define WDM_MAJORVERSION        0x01\n#define WDM_MINORVERSION        0x20\n\nNTKERNELAPI\nBOOLEAN\nIoIsWdmVersionAvailable(\n    IN UCHAR MajorVersion,\n    IN UCHAR MinorVersion\n    );\n\n// end_nthal\n\nNTKERNELAPI\nNTSTATUS\nIoCreateFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PLARGE_INTEGER AllocationSize OPTIONAL,\n    IN ULONG FileAttributes,\n    IN ULONG ShareAccess,\n    IN ULONG Disposition,\n    IN ULONG CreateOptions,\n    IN PVOID EaBuffer OPTIONAL,\n    IN ULONG EaLength,\n    IN CREATE_FILE_TYPE CreateFileType,\n    IN PVOID ExtraCreateParameters OPTIONAL,\n    IN ULONG Options\n    );\n\n\nNTKERNELAPI\nPKEVENT\nIoCreateNotificationEvent(\n    IN PUNICODE_STRING EventName,\n    OUT PHANDLE EventHandle\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoCreateSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN PUNICODE_STRING DeviceName\n    );\n\nNTKERNELAPI\nPKEVENT\nIoCreateSynchronizationEvent(\n    IN PUNICODE_STRING EventName,\n    OUT PHANDLE EventHandle\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoCreateUnprotectedSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN PUNICODE_STRING DeviceName\n    );\n\n//  end_wdm\n\n//++\n//\n// VOID\n// IoDeassignArcName(\n//     IN PUNICODE_STRING ArcName\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked by drivers to deassign an ARC name that they\n//     created to a device.  This is generally only called if the driver is\n//     deleting the device object, which means that the driver is probably\n//     unloading.\n//\n// Arguments:\n//\n//     ArcName - Supplies the ARC name to be removed.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoDeassignArcName( ArcName ) (  \\\n    IoDeleteSymbolicLink( (ArcName) ) )\n\n// end_ntifs\n\nNTKERNELAPI\nVOID\nIoDeleteController(\n    IN PCONTROLLER_OBJECT ControllerObject\n    );\n\n//  begin_wdm begin_ntifs\n\nNTKERNELAPI\nVOID\nIoDeleteDevice(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoDeleteSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName\n    );\n\nNTKERNELAPI\nVOID\nIoDetachDevice(\n    IN OUT PDEVICE_OBJECT TargetDevice\n    );\n\n// end_ntifs\n\nNTKERNELAPI\nVOID\nIoDisconnectInterrupt(\n    IN PKINTERRUPT InterruptObject\n    );\n\n\nNTKERNELAPI\nVOID\nIoFreeController(\n    IN PCONTROLLER_OBJECT ControllerObject\n    );\n\n//  begin_wdm begin_ntifs\n\nNTKERNELAPI\nVOID\nIoFreeIrp(\n    IN PIRP Irp\n    );\n\nNTKERNELAPI\nVOID\nIoFreeMdl(\n    IN PMDL Mdl\n    );\n\nNTKERNELAPI                                 \nPDEVICE_OBJECT                              \nIoGetAttachedDeviceReference(               \n    IN PDEVICE_OBJECT DeviceObject          \n    );                                      \n                                            \nNTKERNELAPI                                 \nPCONFIGURATION_INFORMATION                  \nIoGetConfigurationInformation( VOID );      \n\n//++\n//\n// PIO_STACK_LOCATION\n// IoGetCurrentIrpStackLocation(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to return a pointer to the current stack location\n//     in an I/O Request Packet (IRP).\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     The function value is a pointer to the current stack location in the\n//     packet.\n//\n//--\n\n#define IoGetCurrentIrpStackLocation( Irp ) ( (Irp)->Tail.Overlay.CurrentStackLocation )\n\n// end_nthal end_wdm\n\nNTKERNELAPI\nPDEVICE_OBJECT\nIoGetDeviceToVerify(\n    IN PETHREAD Thread\n    );\n\n//  begin_wdm\n\nNTKERNELAPI\nPVOID\nIoGetDriverObjectExtension(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PVOID ClientIdentificationAddress\n    );\n\nNTKERNELAPI\nPEPROCESS\nIoGetCurrentProcess(\n    VOID\n    );\n\n// begin_nthal\n\nNTKERNELAPI\nNTSTATUS\nIoGetDeviceObjectPointer(\n    IN PUNICODE_STRING ObjectName,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PFILE_OBJECT *FileObject,\n    OUT PDEVICE_OBJECT *DeviceObject\n    );\n\nNTKERNELAPI\nstruct _DMA_ADAPTER *\nIoGetDmaAdapter(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,           OPTIONAL // required for PnP drivers\n    IN struct _DEVICE_DESCRIPTION *DeviceDescription,\n    IN OUT PULONG NumberOfMapRegisters\n    );\n\nNTKERNELAPI\nBOOLEAN\nIoForwardIrpSynchronously(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp\n    );\n\n#define IoForwardAndCatchIrp IoForwardIrpSynchronously\n\n//  end_wdm\n\nNTKERNELAPI\nPGENERIC_MAPPING\nIoGetFileObjectGenericMapping(\n    VOID\n    );\n\n// end_nthal\n\n\n// begin_wdm\n\n//++\n//\n// ULONG\n// IoGetFunctionCodeFromCtlCode(\n//     IN ULONG ControlCode\n//     )\n//\n// Routine Description:\n//\n//     This routine extracts the function code from IOCTL and FSCTL function\n//     control codes.\n//     This routine should only be used by kernel mode code.\n//\n// Arguments:\n//\n//     ControlCode - A function control code (IOCTL or FSCTL) from which the\n//         function code must be extracted.\n//\n// Return Value:\n//\n//     The extracted function code.\n//\n// Note:\n//\n//     The CTL_CODE macro, used to create IOCTL and FSCTL function control\n//     codes, is defined in ntioapi.h\n//\n//--\n\n#define IoGetFunctionCodeFromCtlCode( ControlCode ) (\\\n    ( ControlCode >> 2) & 0x00000FFF )\n\n// begin_nthal\n\nNTKERNELAPI\nPVOID\nIoGetInitialStack(\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nIoGetStackLimits (\n    OUT PULONG_PTR LowLimit,\n    OUT PULONG_PTR HighLimit\n    );\n\n//\n//  The following function is used to tell the caller how much stack is available\n//\n\nFORCEINLINE\nULONG_PTR\nIoGetRemainingStackSize (\n    VOID\n    )\n{\n    ULONG_PTR Top;\n    ULONG_PTR Bottom;\n\n    IoGetStackLimits( &Bottom, &Top );\n    return((ULONG_PTR)(&Top) - Bottom );\n}\n\n//++\n//\n// PIO_STACK_LOCATION\n// IoGetNextIrpStackLocation(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to return a pointer to the next stack location\n//     in an I/O Request Packet (IRP).\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     The function value is a pointer to the next stack location in the packet.\n//\n//--\n\n#define IoGetNextIrpStackLocation( Irp ) (\\\n    (Irp)->Tail.Overlay.CurrentStackLocation - 1 )\n\nNTKERNELAPI\nPDEVICE_OBJECT\nIoGetRelatedDeviceObject(\n    IN PFILE_OBJECT FileObject\n    );\n\n\n//++\n//\n// VOID\n// IoInitializeDpcRequest(\n//     IN PDEVICE_OBJECT DeviceObject,\n//     IN PIO_DPC_ROUTINE DpcRoutine\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to initialize the DPC in a device object for a\n//     device driver during its initialization routine.  The DPC is used later\n//     when the driver interrupt service routine requests that a DPC routine\n//     be queued for later execution.\n//\n// Arguments:\n//\n//     DeviceObject - Pointer to the device object that the request is for.\n//\n//     DpcRoutine - Address of the driver's DPC routine to be executed when\n//         the DPC is dequeued for processing.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoInitializeDpcRequest( DeviceObject, DpcRoutine ) (\\\n    KeInitializeDpc( &(DeviceObject)->Dpc,                  \\\n                     (PKDEFERRED_ROUTINE) (DpcRoutine),     \\\n                     (DeviceObject) ) )\n\nNTKERNELAPI\nVOID\nIoInitializeIrp(\n    IN OUT PIRP Irp,\n    IN USHORT PacketSize,\n    IN CCHAR StackSize\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoInitializeTimer(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIO_TIMER_ROUTINE TimerRoutine,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nVOID\nIoReuseIrp(\n    IN OUT PIRP Irp,\n    IN NTSTATUS Iostatus\n    );\n\n// end_wdm\n\nNTKERNELAPI\nVOID\nIoCancelFileOpen(\n    IN PDEVICE_OBJECT  DeviceObject,\n    IN PFILE_OBJECT    FileObject\n    );\n\n//++\n//\n// BOOLEAN\n// IoIsErrorUserInduced(\n//     IN NTSTATUS Status\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to determine if an error was as a\n//     result of user actions.  Typically these error are related\n//     to removable media and will result in a pop-up.\n//\n// Arguments:\n//\n//     Status - The status value to check.\n//\n// Return Value:\n//     The function value is TRUE if the user induced the error,\n//     otherwise FALSE is returned.\n//\n//--\n#define IoIsErrorUserInduced( Status ) ((BOOLEAN)  \\\n    (((Status) == STATUS_DEVICE_NOT_READY) ||      \\\n     ((Status) == STATUS_IO_TIMEOUT) ||            \\\n     ((Status) == STATUS_MEDIA_WRITE_PROTECTED) || \\\n     ((Status) == STATUS_NO_MEDIA_IN_DEVICE) ||    \\\n     ((Status) == STATUS_VERIFY_REQUIRED) ||       \\\n     ((Status) == STATUS_UNRECOGNIZED_MEDIA) ||    \\\n     ((Status) == STATUS_WRONG_VOLUME)))\n\n\nNTKERNELAPI\nPIRP\nIoMakeAssociatedIrp(\n    IN PIRP Irp,\n    IN CCHAR StackSize\n    );\n\n//  begin_wdm\n\n//++\n//\n// VOID\n// IoMarkIrpPending(\n//     IN OUT PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine marks the specified I/O Request Packet (IRP) to indicate\n//     that an initial status of STATUS_PENDING was returned to the caller.\n//     This is used so that I/O completion can determine whether or not to\n//     fully complete the I/O operation requested by the packet.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet to be marked pending.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoMarkIrpPending( Irp ) ( \\\n    IoGetCurrentIrpStackLocation( (Irp) )->Control |= SL_PENDING_RETURNED )\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoGetDeviceProperty\nNTKERNELAPI\nNTSTATUS\nIoQueryDeviceDescription(\n    IN PINTERFACE_TYPE BusType OPTIONAL,\n    IN PULONG BusNumber OPTIONAL,\n    IN PCONFIGURATION_TYPE ControllerType OPTIONAL,\n    IN PULONG ControllerNumber OPTIONAL,\n    IN PCONFIGURATION_TYPE PeripheralType OPTIONAL,\n    IN PULONG PeripheralNumber OPTIONAL,\n    IN PIO_QUERY_DEVICE_ROUTINE CalloutRoutine,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nVOID\nIoRaiseHardError(\n    IN PIRP Irp,\n    IN PVPB Vpb OPTIONAL,\n    IN PDEVICE_OBJECT RealDeviceObject\n    );\n\nNTKERNELAPI\nBOOLEAN\nIoRaiseInformationalHardError(\n    IN NTSTATUS ErrorStatus,\n    IN PUNICODE_STRING String OPTIONAL,\n    IN PKTHREAD Thread OPTIONAL\n    );\n\nNTKERNELAPI\nBOOLEAN\nIoSetThreadHardErrorMode(\n    IN BOOLEAN EnableHardErrors\n    );\n\nNTKERNELAPI\nVOID\nIoRegisterBootDriverReinitialization(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nVOID\nIoRegisterDriverReinitialization(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDRIVER_REINITIALIZE DriverReinitializationRoutine,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoRegisterShutdownNotification(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoRegisterLastChanceShutdownNotification(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\n// begin_wdm\n\nNTKERNELAPI\nVOID\nIoReleaseCancelSpinLock(\n    IN KIRQL Irql\n    );\n\n\nNTKERNELAPI\nVOID\nIoRemoveShareAccess(\n    IN PFILE_OBJECT FileObject,\n    IN OUT PSHARE_ACCESS ShareAccess\n    );\n\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoReportResourceForDetection\nNTKERNELAPI\nNTSTATUS\nIoReportResourceUsage(\n    IN PUNICODE_STRING DriverClassName OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PCM_RESOURCE_LIST DriverList OPTIONAL,\n    IN ULONG DriverListSize OPTIONAL,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PCM_RESOURCE_LIST DeviceList OPTIONAL,\n    IN ULONG DeviceListSize OPTIONAL,\n    IN BOOLEAN OverrideConflict,\n    OUT PBOOLEAN ConflictDetected\n    );\n\n//  begin_wdm\n\n//++\n//\n// VOID\n// IoRequestDpc(\n//     IN PDEVICE_OBJECT DeviceObject,\n//     IN PIRP Irp,\n//     IN PVOID Context\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked by the device driver's interrupt service routine\n//     to request that a DPC routine be queued for later execution at a lower\n//     IRQL.\n//\n// Arguments:\n//\n//     DeviceObject - Device object for which the request is being processed.\n//\n//     Irp - Pointer to the current I/O Request Packet (IRP) for the specified\n//         device.\n//\n//     Context - Provides a general context parameter to be passed to the\n//         DPC routine.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoRequestDpc( DeviceObject, Irp, Context ) ( \\\n    KeInsertQueueDpc( &(DeviceObject)->Dpc, (Irp), (Context) ) )\n\n//++\n//\n// PDRIVER_CANCEL\n// IoSetCancelRoutine(\n//     IN PIRP Irp,\n//     IN PDRIVER_CANCEL CancelRoutine\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the address of a cancel routine which\n//     is to be invoked when an I/O packet has been canceled.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet itself.\n//\n//     CancelRoutine - Address of the cancel routine that is to be invoked\n//         if the IRP is cancelled.\n//\n// Return Value:\n//\n//     Previous value of CancelRoutine field in the IRP.\n//\n//--\n\n#define IoSetCancelRoutine( Irp, NewCancelRoutine ) (  \\\n    (PDRIVER_CANCEL) InterlockedExchangePointer( (PVOID *) &(Irp)->CancelRoutine, (PVOID) (NewCancelRoutine) ) )\n\n//++\n//\n// VOID\n// IoSetCompletionRoutine(\n//     IN PIRP Irp,\n//     IN PIO_COMPLETION_ROUTINE CompletionRoutine,\n//     IN PVOID Context,\n//     IN BOOLEAN InvokeOnSuccess,\n//     IN BOOLEAN InvokeOnError,\n//     IN BOOLEAN InvokeOnCancel\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the address of a completion routine which\n//     is to be invoked when an I/O packet has been completed by a lower-level\n//     driver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet itself.\n//\n//     CompletionRoutine - Address of the completion routine that is to be\n//         invoked once the next level driver completes the packet.\n//\n//     Context - Specifies a context parameter to be passed to the completion\n//         routine.\n//\n//     InvokeOnSuccess - Specifies that the completion routine is invoked when the\n//         operation is successfully completed.\n//\n//     InvokeOnError - Specifies that the completion routine is invoked when the\n//         operation completes with an error status.\n//\n//     InvokeOnCancel - Specifies that the completion routine is invoked when the\n//         operation is being canceled.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoSetCompletionRoutine( Irp, Routine, CompletionContext, Success, Error, Cancel ) { \\\n    PIO_STACK_LOCATION __irpSp;                                               \\\n    ASSERT( (Success) | (Error) | (Cancel) ? (Routine) != NULL : TRUE );    \\\n    __irpSp = IoGetNextIrpStackLocation( (Irp) );                             \\\n    __irpSp->CompletionRoutine = (Routine);                                   \\\n    __irpSp->Context = (CompletionContext);                                   \\\n    __irpSp->Control = 0;                                                     \\\n    if ((Success)) { __irpSp->Control = SL_INVOKE_ON_SUCCESS; }               \\\n    if ((Error)) { __irpSp->Control |= SL_INVOKE_ON_ERROR; }                  \\\n    if ((Cancel)) { __irpSp->Control |= SL_INVOKE_ON_CANCEL; } }\n\nNTSTATUS\nIoSetCompletionRoutineEx(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PIO_COMPLETION_ROUTINE CompletionRoutine,\n    IN PVOID Context,\n    IN BOOLEAN InvokeOnSuccess,\n    IN BOOLEAN InvokeOnError,\n    IN BOOLEAN InvokeOnCancel\n    );\n\n\n\nNTKERNELAPI\nVOID\nIoSetHardErrorOrVerifyDevice(\n    IN PIRP Irp,\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\n\n//++\n//\n// VOID\n// IoSetNextIrpStackLocation (\n//     IN OUT PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the current IRP stack location to\n//     the next stack location, i.e. it \"pushes\" the stack.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet (IRP).\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoSetNextIrpStackLocation( Irp ) {      \\\n    (Irp)->CurrentLocation--;                   \\\n    (Irp)->Tail.Overlay.CurrentStackLocation--; }\n\n//++\n//\n// VOID\n// IoCopyCurrentIrpStackLocationToNext(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to copy the IRP stack arguments and file\n//     pointer from the current IrpStackLocation to the next\n//     in an I/O Request Packet (IRP).\n//\n//     If the caller wants to call IoCallDriver with a completion routine\n//     but does not wish to change the arguments otherwise,\n//     the caller first calls IoCopyCurrentIrpStackLocationToNext,\n//     then IoSetCompletionRoutine, then IoCallDriver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoCopyCurrentIrpStackLocationToNext( Irp ) { \\\n    PIO_STACK_LOCATION __irpSp; \\\n    PIO_STACK_LOCATION __nextIrpSp; \\\n    __irpSp = IoGetCurrentIrpStackLocation( (Irp) ); \\\n    __nextIrpSp = IoGetNextIrpStackLocation( (Irp) ); \\\n    RtlCopyMemory( __nextIrpSp, __irpSp, FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \\\n    __nextIrpSp->Control = 0; }\n\n//++\n//\n// VOID\n// IoSkipCurrentIrpStackLocation (\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to increment the current stack location of\n//     a given IRP.\n//\n//     If the caller wishes to call the next driver in a stack, and does not\n//     wish to change the arguments, nor does he wish to set a completion\n//     routine, then the caller first calls IoSkipCurrentIrpStackLocation\n//     and the calls IoCallDriver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     None\n//\n//--\n\n#define IoSkipCurrentIrpStackLocation( Irp ) { \\\n    (Irp)->CurrentLocation++; \\\n    (Irp)->Tail.Overlay.CurrentStackLocation++; }\n\n\nNTKERNELAPI\nVOID\nIoSetShareAccess(\n    IN ACCESS_MASK DesiredAccess,\n    IN ULONG DesiredShareAccess,\n    IN OUT PFILE_OBJECT FileObject,\n    OUT PSHARE_ACCESS ShareAccess\n    );\n\n\n\ntypedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {\n    BOOLEAN     Removed;\n    BOOLEAN     Reserved [3];\n    LONG        IoCount;\n    KEVENT      RemoveEvent;\n\n} IO_REMOVE_LOCK_COMMON_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK_DBG_BLOCK {\n    LONG        Signature;\n    LONG        HighWatermark;\n    LONGLONG    MaxLockedTicks;\n    LONG        AllocateTag;\n    LIST_ENTRY  LockList;\n    KSPIN_LOCK  Spin;\n    LONG        LowMemoryCount;\n    ULONG       Reserved1[4];\n    PVOID       Reserved2;\n    PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;\n} IO_REMOVE_LOCK_DBG_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK {\n    IO_REMOVE_LOCK_COMMON_BLOCK Common;\n#if DBG\n    IO_REMOVE_LOCK_DBG_BLOCK Dbg;\n#endif\n} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;\n\n#define IoInitializeRemoveLock(Lock, Tag, Maxmin, HighWater) \\\n        IoInitializeRemoveLockEx (Lock, Tag, Maxmin, HighWater, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoInitializeRemoveLockEx(\n    IN  PIO_REMOVE_LOCK Lock,\n    IN  ULONG   AllocateTag, // Used only on checked kernels\n    IN  ULONG   MaxLockedMinutes, // Used only on checked kernels\n    IN  ULONG   HighWatermark, // Used only on checked kernels\n    IN  ULONG   RemlockSize // are we checked or free\n    );\n//\n//  Initialize a remove lock.\n//\n//  Note: Allocation for remove locks needs to be within the device extension,\n//  so that the memory for this structure stays allocated until such time as the\n//  device object itself is deallocated.\n//\n\n#define IoAcquireRemoveLock(RemoveLock, Tag) \\\n        IoAcquireRemoveLockEx(RemoveLock, Tag, __FILE__, __LINE__, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nIoAcquireRemoveLockEx (\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN OPTIONAL PVOID   Tag, // Optional\n    IN PCSTR            File,\n    IN ULONG            Line,\n    IN ULONG            RemlockSize // are we checked or free\n    );\n\n//\n// Routine Description:\n//\n//    This routine is called to acquire the remove lock for a device object.\n//    While the lock is held, the caller can assume that no pending pnp REMOVE\n//    requests will be completed.\n//\n//    The lock should be acquired immediately upon entering a dispatch routine.\n//    It should also be acquired before creating any new reference to the\n//    device object if there's a chance of releasing the reference before the\n//    new one is done, in addition to references to the driver code itself,\n//    which is removed from memory when the last device object goes.\n//\n//    Arguments:\n//\n//    RemoveLock - A pointer to an initialized REMOVE_LOCK structure.\n//\n//    Tag - Used for tracking lock allocation and release.  The same tag\n//          specified when acquiring the lock must be used to release the lock.\n//          Tags are only checked in checked versions of the driver.\n//\n//    File - set to __FILE__ as the location in the code where the lock was taken.\n//\n//    Line - set to __LINE__.\n//\n// Return Value:\n//\n//    Returns whether or not the remove lock was obtained.\n//    If successful the caller should continue with work calling\n//    IoReleaseRemoveLock when finished.\n//\n//    If not successful the lock was not obtained.  The caller should abort the\n//    work but not call IoReleaseRemoveLock.\n//\n\n#define IoReleaseRemoveLock(RemoveLock, Tag) \\\n        IoReleaseRemoveLockEx(RemoveLock, Tag, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoReleaseRemoveLockEx(\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN PVOID            Tag, // Optional\n    IN ULONG            RemlockSize // are we checked or free\n    );\n//\n//\n// Routine Description:\n//\n//    This routine is called to release the remove lock on the device object.  It\n//    must be called when finished using a previously locked reference to the\n//    device object.  If an Tag was specified when acquiring the lock then the\n//    same Tag must be specified when releasing the lock.\n//\n//    When the lock count reduces to zero, this routine will signal the waiting\n//    event to release the waiting thread deleting the device object protected\n//    by this lock.\n//\n// Arguments:\n//\n//    DeviceObject - the device object to lock\n//\n//    Tag - The TAG (if any) specified when acquiring the lock.  This is used\n//          for lock tracking purposes\n//\n// Return Value:\n//\n//    none\n//\n\n#define IoReleaseRemoveLockAndWait(RemoveLock, Tag) \\\n        IoReleaseRemoveLockAndWaitEx(RemoveLock, Tag, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoReleaseRemoveLockAndWaitEx(\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN PVOID            Tag,\n    IN ULONG            RemlockSize // are we checked or free\n    );\n//\n//\n// Routine Description:\n//\n//    This routine is called when the client would like to delete the\n//    remove-locked resource.  This routine will block until all the remove\n//    locks have released.\n//\n//    This routine MUST be called after acquiring the lock.\n//\n// Arguments:\n//\n//    RemoveLock\n//\n// Return Value:\n//\n//    none\n//\n\n\n//++\n//\n// USHORT\n// IoSizeOfIrp(\n//     IN CCHAR StackSize\n//     )\n//\n// Routine Description:\n//\n//     Determines the size of an IRP given the number of stack locations\n//     the IRP will have.\n//\n// Arguments:\n//\n//     StackSize - Number of stack locations for the IRP.\n//\n// Return Value:\n//\n//     Size in bytes of the IRP.\n//\n//--\n\n#define IoSizeOfIrp( StackSize ) \\\n    ((USHORT) (sizeof( IRP ) + ((StackSize) * (sizeof( IO_STACK_LOCATION )))))\n\n// end_ntifs\n\n\nNTKERNELAPI\nVOID\nIoStartNextPacket(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN Cancelable\n    );\n\nNTKERNELAPI\nVOID\nIoStartNextPacketByKey(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN Cancelable,\n    IN ULONG Key\n    );\n\nNTKERNELAPI\nVOID\nIoStartPacket(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PULONG Key OPTIONAL,\n    IN PDRIVER_CANCEL CancelFunction OPTIONAL\n    );\n\nVOID\nIoSetStartIoAttributes(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN DeferredStartIo,\n    IN BOOLEAN NonCancelable\n    );\n\n// begin_ntifs\n\nNTKERNELAPI\nVOID\nIoStartTimer(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI\nVOID\nIoStopTimer(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\n\nNTKERNELAPI\nVOID\nIoUnregisterShutdownNotification(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\n//  end_wdm\n\nNTKERNELAPI\nVOID\nIoUpdateShareAccess(\n    IN PFILE_OBJECT FileObject,\n    IN OUT PSHARE_ACCESS ShareAccess\n    );\n\nNTKERNELAPI                                     \nVOID                                            \nIoWriteErrorLogEntry(                           \n    IN PVOID ElEntry                            \n    );                                          \n\ntypedef struct _IO_WORKITEM *PIO_WORKITEM;\n\ntypedef\nVOID\n(*PIO_WORKITEM_ROUTINE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PVOID Context\n    );\n\nPIO_WORKITEM\nIoAllocateWorkItem(\n    PDEVICE_OBJECT DeviceObject\n    );\n\nVOID\nIoFreeWorkItem(\n    PIO_WORKITEM IoWorkItem\n    );\n\nVOID\nIoQueueWorkItem(\n    IN PIO_WORKITEM IoWorkItem,\n    IN PIO_WORKITEM_ROUTINE WorkerRoutine,\n    IN WORK_QUEUE_TYPE QueueType,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIRegistrationControl(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG Action\n);\n\n//\n// Action code for IoWMIRegistrationControl api\n//\n\n#define WMIREG_ACTION_REGISTER      1\n#define WMIREG_ACTION_DEREGISTER    2\n#define WMIREG_ACTION_REREGISTER    3\n#define WMIREG_ACTION_UPDATE_GUIDS  4\n#define WMIREG_ACTION_BLOCK_IRPS    5\n\n//\n// Code passed in IRP_MN_REGINFO WMI irp\n//\n\n#define WMIREGISTER                 0\n#define WMIUPDATE                   1\n\nNTKERNELAPI\nNTSTATUS\nIoWMIAllocateInstanceIds(\n    IN GUID *Guid,\n    IN ULONG InstanceCount,\n    OUT ULONG *FirstInstanceId\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISuggestInstanceName(\n    IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,\n    IN PUNICODE_STRING SymbolicLinkName OPTIONAL,\n    IN BOOLEAN CombineNames,\n    OUT PUNICODE_STRING SuggestedInstanceName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIWriteEvent(\n    IN PVOID WnodeEventItem\n    );\n\n#if defined(_WIN64)\nNTKERNELAPI\nULONG IoWMIDeviceObjectToProviderId(\n    PDEVICE_OBJECT DeviceObject\n    );\n#else\n#define IoWMIDeviceObjectToProviderId(DeviceObject) ((ULONG)(DeviceObject))\n#endif\n\nNTKERNELAPI\nNTSTATUS IoWMIOpenBlock(\n    IN GUID *DataBlockGuid,\n    IN ULONG DesiredAccess,\n    OUT PVOID *DataBlockObject\n    );\n\n\nNTKERNELAPI\nNTSTATUS IoWMIQueryAllData(\n    IN PVOID DataBlockObject,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQueryAllDataMultiple(\n    IN PVOID *DataBlockObjectList,\n    IN ULONG ObjectCount,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQuerySingleInstance(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQuerySingleInstanceMultiple(\n    IN PVOID *DataBlockObjectList,\n    IN PUNICODE_STRING InstanceNames,\n    IN ULONG ObjectCount,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetSingleInstance(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG Version,\n    IN ULONG ValueBufferSize,\n    IN PVOID ValueBuffer\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetSingleItem(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG DataItemId,\n    IN ULONG Version,\n    IN ULONG ValueBufferSize,\n    IN PVOID ValueBuffer\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIExecuteMethod(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG MethodId,\n    IN ULONG InBufferSize,\n    IN OUT PULONG OutBufferSize,\n    IN OUT PUCHAR InOutBuffer\n    );\n\n\n\ntypedef VOID (*WMI_NOTIFICATION_CALLBACK)(\n    PVOID Wnode,\n    PVOID Context\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetNotificationCallback(\n    IN PVOID Object,\n    IN WMI_NOTIFICATION_CALLBACK Callback,\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIHandleToInstanceName(\n    IN PVOID DataBlockObject,\n    IN HANDLE FileHandle,\n    OUT PUNICODE_STRING InstanceName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIDeviceObjectToInstanceName(\n    IN PVOID DataBlockObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    OUT PUNICODE_STRING InstanceName\n    );\n\n#if defined(_WIN64)\nBOOLEAN\nIoIs32bitProcess(\n    IN PIRP Irp\n    );\n#endif\nNTKERNELAPI\nVOID\nFASTCALL\nHalExamineMBR(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG MBRTypeIdentifier,\n    OUT PVOID *Buffer\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoReadPartitionTableEx\nNTKERNELAPI\nNTSTATUS\nFASTCALL\nIoReadPartitionTable(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN BOOLEAN ReturnRecognizedPartitions,\n    OUT struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoSetPartitionInformationEx\nNTKERNELAPI\nNTSTATUS\nFASTCALL\nIoSetPartitionInformation(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG PartitionNumber,\n    IN ULONG PartitionType\n    );\n\n// begin_ntosp\nDECLSPEC_DEPRECATED_DDK                 // Use IoWritePartitionTableEx\nNTKERNELAPI\nNTSTATUS\nFASTCALL\nIoWritePartitionTable(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG SectorsPerTrack,\n    IN ULONG NumberOfHeads,\n    IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoCreateDisk(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN struct _CREATE_DISK* Disk\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoReadPartitionTableEx(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN struct _DRIVE_LAYOUT_INFORMATION_EX** DriveLayout\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWritePartitionTableEx(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN struct _DRIVE_LAYOUT_INFORMATION_EX* DriveLayout\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoSetPartitionInformationEx(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG PartitionNumber,\n    IN struct _SET_PARTITION_INFORMATION_EX* PartitionInfo\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoUpdateDiskGeometry(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN struct _DISK_GEOMETRY_EX* OldDiskGeometry,\n    IN struct _DISK_GEOMETRY_EX* NewDiskGeometry\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoVerifyPartitionTable(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN FixErrors\n    );\n\ntypedef struct _DISK_SIGNATURE {\n    ULONG PartitionStyle;\n    union {\n        struct {\n            ULONG Signature;\n            ULONG CheckSum;\n        } Mbr;\n\n        struct {\n            GUID DiskId;\n        } Gpt;\n    };\n} DISK_SIGNATURE, *PDISK_SIGNATURE;\n\nNTKERNELAPI\nNTSTATUS\nIoReadDiskSignature(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG BytesPerSector,\n    OUT PDISK_SIGNATURE Signature\n    );\n\n// end_ntosp\n\nNTSTATUS\nIoVolumeDeviceToDosName(\n    IN  PVOID           VolumeDeviceObject,\n    OUT PUNICODE_STRING DosName\n    );\n\nNTSTATUS\nIoSetSystemPartition(\n    PUNICODE_STRING VolumeNameString\n    );\n\n// begin_wdm\nVOID\nIoFreeErrorLogEntry(\n    PVOID ElEntry\n    );\n\n// Cancel SAFE API set start\n//\n// The following APIs are to help ease the pain of writing queue packages that\n// handle the cancellation race well. The idea of this set of APIs is to not\n// force a single queue data structure but allow the cancel logic to be hidden\n// from the drivers. A driver implements a queue and as part of its header\n// includes the IO_CSQ structure. In its initialization routine it calls\n// IoInitializeCsq. Then in the dispatch routine when the driver wants to\n// insert an IRP into the queue it calls IoCsqInsertIrp. When the driver wants\n// to remove something from the queue it calls IoCsqRemoveIrp. Note that Insert\n// can fail if the IRP was cancelled in the meantime. Remove can also fail if\n// the IRP was already cancelled.\n//\n// There are typically two modes where drivers queue IRPs. These two modes are\n// covered by the cancel safe queue API set.\n//\n// Mode 1:\n// One is where the driver queues the IRP and at some later\n// point in time dequeues an IRP and issues the IO request.\n// For this mode the driver should use IoCsqInsertIrp and IoCsqRemoveNextIrp.\n// The driver in this case is expected to pass NULL to the irp context\n// parameter in IoInsertIrp.\n//\n// Mode 2:\n// In this the driver queues theIRP, issues the IO request (like issuing a DMA\n// request or writing to a register) and when the IO request completes (either\n// using a DPC or timer) the driver dequeues the IRP and completes it. For this\n// mode the driver should use IoCsqInsertIrp and IoCsqRemoveIrp. In this case\n// the driver should allocate an IRP context and pass it in to IoCsqInsertIrp.\n// The cancel API code creates an association between the IRP and the context\n// and thus ensures that when the time comes to remove the IRP it can ascertain\n// correctly.\n//\n// Note that the cancel API set assumes that the field DriverContext[3] is\n// always available for use and that the driver does not use it.\n//\n\n\n//\n// Bookkeeping structure. This should be opaque to drivers.\n// Drivers typically include this as part of their queue headers.\n// Given a CSQ pointer the driver should be able to get its\n// queue header using CONTAINING_RECORD macro\n//\n\ntypedef struct _IO_CSQ IO_CSQ, *PIO_CSQ;\n\n#define IO_TYPE_CSQ_IRP_CONTEXT 1\n#define IO_TYPE_CSQ             2\n\n//\n// IRP context structure. This structure is necessary if the driver is using\n// the second mode.\n//\n\n\ntypedef struct _IO_CSQ_IRP_CONTEXT {\n    ULONG   Type;\n    PIRP    Irp;\n    PIO_CSQ Csq;\n} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;\n\n//\n// Routines that insert/remove IRP\n//\n\ntypedef VOID\n(*PIO_CSQ_INSERT_IRP)(\n    IN struct _IO_CSQ    *Csq,\n    IN PIRP              Irp\n    );\n\ntypedef VOID\n(*PIO_CSQ_REMOVE_IRP)(\n    IN  PIO_CSQ Csq,\n    IN  PIRP    Irp\n    );\n\n//\n// Retrieves next entry after Irp from the queue.\n// Returns NULL if there are no entries in the queue.\n// If Irp is NUL, returns the entry in the head of the queue.\n// This routine does not remove the IRP from the queue.\n//\n\n\ntypedef PIRP\n(*PIO_CSQ_PEEK_NEXT_IRP)(\n    IN  PIO_CSQ Csq,\n    IN  PIRP    Irp,\n    IN  PVOID   PeekContext\n    );\n\n//\n// Lock routine that protects the cancel safe queue.\n//\n\ntypedef VOID\n(*PIO_CSQ_ACQUIRE_LOCK)(\n     IN  PIO_CSQ Csq,\n     OUT PKIRQL  Irql\n     );\n\ntypedef VOID\n(*PIO_CSQ_RELEASE_LOCK)(\n     IN PIO_CSQ Csq,\n     IN KIRQL   Irql\n     );\n\n\n//\n// Completes the IRP with STATUS_CANCELLED. IRP is guaranteed to be valid\n// In most cases this routine just calls IoCompleteRequest(Irp, STATUS_CANCELLED);\n//\n\ntypedef VOID\n(*PIO_CSQ_COMPLETE_CANCELED_IRP)(\n    IN  PIO_CSQ    Csq,\n    IN  PIRP       Irp\n    );\n\n//\n// Bookkeeping structure. This should be opaque to drivers.\n// Drivers typically include this as part of their queue headers.\n// Given a CSQ pointer the driver should be able to get its\n// queue header using CONTAINING_RECORD macro\n//\n\ntypedef struct _IO_CSQ {\n    ULONG                            Type;\n    PIO_CSQ_INSERT_IRP               CsqInsertIrp;\n    PIO_CSQ_REMOVE_IRP               CsqRemoveIrp;\n    PIO_CSQ_PEEK_NEXT_IRP            CsqPeekNextIrp;\n    PIO_CSQ_ACQUIRE_LOCK             CsqAcquireLock;\n    PIO_CSQ_RELEASE_LOCK             CsqReleaseLock;\n    PIO_CSQ_COMPLETE_CANCELED_IRP    CsqCompleteCanceledIrp;\n    PVOID                            ReservePointer;    // Future expansion\n} IO_CSQ, *PIO_CSQ;\n\n//\n// Initializes the cancel queue structure.\n//\n\nNTSTATUS\nIoCsqInitialize(\n    IN PIO_CSQ                          Csq,\n    IN PIO_CSQ_INSERT_IRP               CsqInsertIrp,\n    IN PIO_CSQ_REMOVE_IRP               CsqRemoveIrp,\n    IN PIO_CSQ_PEEK_NEXT_IRP            CsqPeekNextIrp,\n    IN PIO_CSQ_ACQUIRE_LOCK             CsqAcquireLock,\n    IN PIO_CSQ_RELEASE_LOCK             CsqReleaseLock,\n    IN PIO_CSQ_COMPLETE_CANCELED_IRP    CsqCompleteCanceledIrp\n    );\n\n\n//\n// The caller calls this routine to insert the IRP and return STATUS_PENDING.\n//\n\nVOID\nIoCsqInsertIrp(\n    IN  PIO_CSQ             Csq,\n    IN  PIRP                Irp,\n    IN  PIO_CSQ_IRP_CONTEXT Context\n    );\n\n//\n// Returns an IRP if one can be found. NULL otherwise.\n//\n\nPIRP\nIoCsqRemoveNextIrp(\n    IN  PIO_CSQ   Csq,\n    IN  PVOID     PeekContext\n    );\n\n//\n// This routine is called from timeout or DPCs.\n// The context is presumably part of the DPC or timer context.\n// If succesfull returns the IRP associated with context.\n//\n\nPIRP\nIoCsqRemoveIrp(\n    IN  PIO_CSQ             Csq,\n    IN  PIO_CSQ_IRP_CONTEXT Context\n    );\n\n// Cancel SAFE API set end\n\n\nNTSTATUS\nIoValidateDeviceIoControlAccess(\n    IN  PIRP    Irp,\n    IN  ULONG   RequiredAccess\n    );\n#ifdef RUN_WPP\n#include <evntrace.h>\n#include <stdarg.h>\n#endif // #ifdef RUN_WPP\n\n#ifdef RUN_WPP\n\nNTKERNELAPI\nNTSTATUS\nWmiTraceMessage(\n    IN TRACEHANDLE  LoggerHandle,\n    IN ULONG        MessageFlags,\n    IN LPGUID       MessageGuid,\n    IN USHORT       MessageNumber,\n    IN ...\n    );\n\nNTKERNELAPI\nNTSTATUS\nWmiTraceMessageVa(\n    IN TRACEHANDLE  LoggerHandle,\n    IN ULONG        MessageFlags,\n    IN LPGUID       MessageGuid,\n    IN USHORT       MessageNumber,\n    IN va_list      MessageArgList\n    );\n\n\n#endif // #ifdef RUN_WPP\n\n#ifndef TRACE_INFORMATION_CLASS_DEFINE\ntypedef enum _TRACE_INFORMATION_CLASS {\n    TraceIdClass,\n    TraceHandleClass,\n    TraceEnableFlagsClass,\n    TraceEnableLevelClass,\n    GlobalLoggerHandleClass,\n    EventLoggerHandleClass,\n    AllLoggerHandlesClass,\n    TraceHandleByNameClass\n} TRACE_INFORMATION_CLASS;\n\nNTKERNELAPI\nNTSTATUS\nWmiQueryTraceInformation(\n    IN TRACE_INFORMATION_CLASS TraceInformationClass,\n    OUT PVOID TraceInformation,\n    IN ULONG TraceInformationLength,\n    OUT PULONG RequiredLength OPTIONAL,\n    IN PVOID Buffer OPTIONAL\n    );\n#define TRACE_INFORMATION_CLASS_DEFINE\n#endif // TRACE_INFOPRMATION_CLASS_DEFINE\n\n\n//\n// Define PnP Device Property for IoGetDeviceProperty\n//\n\ntypedef enum {\n    DevicePropertyDeviceDescription,\n    DevicePropertyHardwareID,\n    DevicePropertyCompatibleIDs,\n    DevicePropertyBootConfiguration,\n    DevicePropertyBootConfigurationTranslated,\n    DevicePropertyClassName,\n    DevicePropertyClassGuid,\n    DevicePropertyDriverKeyName,\n    DevicePropertyManufacturer,\n    DevicePropertyFriendlyName,\n    DevicePropertyLocationInformation,\n    DevicePropertyPhysicalDeviceObjectName,\n    DevicePropertyBusTypeGuid,\n    DevicePropertyLegacyBusType,\n    DevicePropertyBusNumber,\n    DevicePropertyEnumeratorName,\n    DevicePropertyAddress,\n    DevicePropertyUINumber,\n    DevicePropertyInstallState,\n    DevicePropertyRemovalPolicy\n} DEVICE_REGISTRY_PROPERTY;\n\ntypedef BOOLEAN (*PTRANSLATE_BUS_ADDRESS)(\n    IN PVOID Context,\n    IN PHYSICAL_ADDRESS BusAddress,\n    IN ULONG Length,\n    IN OUT PULONG AddressSpace,\n    OUT PPHYSICAL_ADDRESS TranslatedAddress\n    );\n\ntypedef struct _DMA_ADAPTER *(*PGET_DMA_ADAPTER)(\n    IN PVOID Context,\n    IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,\n    OUT PULONG NumberOfMapRegisters\n    );\n\ntypedef ULONG (*PGET_SET_DEVICE_DATA)(\n    IN PVOID Context,\n    IN ULONG DataType,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\ntypedef enum _DEVICE_INSTALL_STATE {\n    InstallStateInstalled,\n    InstallStateNeedsReinstall,\n    InstallStateFailedInstall,\n    InstallStateFinishInstall\n} DEVICE_INSTALL_STATE, *PDEVICE_INSTALL_STATE;\n\n//\n// Define structure returned in response to IRP_MN_QUERY_BUS_INFORMATION by a\n// PDO indicating the type of bus the device exists on.\n//\n\ntypedef struct _PNP_BUS_INFORMATION {\n    GUID BusTypeGuid;\n    INTERFACE_TYPE LegacyBusType;\n    ULONG BusNumber;\n} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;\n\n//\n// Define structure returned in response to IRP_MN_QUERY_LEGACY_BUS_INFORMATION\n// by an FDO indicating the type of bus it is.  This is normally the same bus\n// type as the device's children (i.e., as retrieved from the child PDO's via\n// IRP_MN_QUERY_BUS_INFORMATION) except for cases like CardBus, which can\n// support both 16-bit (PCMCIABus) and 32-bit (PCIBus) cards.\n//\n\ntypedef struct _LEGACY_BUS_INFORMATION {\n    GUID BusTypeGuid;\n    INTERFACE_TYPE LegacyBusType;\n    ULONG BusNumber;\n} LEGACY_BUS_INFORMATION, *PLEGACY_BUS_INFORMATION;\n\n//\n// Defines for IoGetDeviceProperty(DevicePropertyRemovalPolicy).\n//\ntypedef enum _DEVICE_REMOVAL_POLICY {\n\n    RemovalPolicyExpectNoRemoval = 1,\n    RemovalPolicyExpectOrderlyRemoval = 2,\n    RemovalPolicyExpectSurpriseRemoval = 3\n\n} DEVICE_REMOVAL_POLICY, *PDEVICE_REMOVAL_POLICY;\n\n\n\ntypedef struct _BUS_INTERFACE_STANDARD {\n    //\n    // generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    //\n    // standard bus interfaces\n    //\n    PTRANSLATE_BUS_ADDRESS TranslateBusAddress;\n    PGET_DMA_ADAPTER GetDmaAdapter;\n    PGET_SET_DEVICE_DATA SetBusData;\n    PGET_SET_DEVICE_DATA GetBusData;\n\n} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;\n\n//\n// The following definitions are used in ACPI QueryInterface\n//\ntypedef BOOLEAN (* PGPE_SERVICE_ROUTINE) (\n                            PVOID,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_CONNECT_VECTOR) (\n                            PDEVICE_OBJECT,\n                            ULONG,\n                            KINTERRUPT_MODE,\n                            BOOLEAN,\n                            PGPE_SERVICE_ROUTINE,\n                            PVOID,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_DISCONNECT_VECTOR) (\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_ENABLE_EVENT) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_DISABLE_EVENT) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_CLEAR_STATUS) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef VOID (* PDEVICE_NOTIFY_CALLBACK) (\n                            PVOID,\n                            ULONG);\n\ntypedef NTSTATUS (* PREGISTER_FOR_DEVICE_NOTIFICATIONS) (\n                            PDEVICE_OBJECT,\n                            PDEVICE_NOTIFY_CALLBACK,\n                            PVOID);\n\ntypedef void (* PUNREGISTER_FOR_DEVICE_NOTIFICATIONS) (\n                            PDEVICE_OBJECT,\n                            PDEVICE_NOTIFY_CALLBACK);\n\ntypedef struct _ACPI_INTERFACE_STANDARD {\n    //\n    // Generic interface header\n    //\n    USHORT                  Size;\n    USHORT                  Version;\n    PVOID                   Context;\n    PINTERFACE_REFERENCE    InterfaceReference;\n    PINTERFACE_DEREFERENCE  InterfaceDereference;\n    //\n    // ACPI interfaces\n    //\n    PGPE_CONNECT_VECTOR                     GpeConnectVector;\n    PGPE_DISCONNECT_VECTOR                  GpeDisconnectVector;\n    PGPE_ENABLE_EVENT                       GpeEnableEvent;\n    PGPE_DISABLE_EVENT                      GpeDisableEvent;\n    PGPE_CLEAR_STATUS                       GpeClearStatus;\n    PREGISTER_FOR_DEVICE_NOTIFICATIONS      RegisterForDeviceNotifications;\n    PUNREGISTER_FOR_DEVICE_NOTIFICATIONS    UnregisterForDeviceNotifications;\n\n} ACPI_INTERFACE_STANDARD, *PACPI_INTERFACE_STANDARD;\n\n\nNTKERNELAPI\nNTSTATUS\nIoReportDetectedDevice(\n    IN PDRIVER_OBJECT DriverObject,\n    IN INTERFACE_TYPE LegacyBusType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN PCM_RESOURCE_LIST ResourceList,\n    IN PIO_RESOURCE_REQUIREMENTS_LIST ResourceRequirements OPTIONAL,\n    IN BOOLEAN ResourceAssigned,\n    IN OUT PDEVICE_OBJECT *DeviceObject\n    );\n\n// begin_wdm\n\nNTKERNELAPI\nVOID\nIoInvalidateDeviceRelations(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN DEVICE_RELATION_TYPE Type\n    );\n\nNTKERNELAPI\nVOID\nIoRequestDeviceEject(\n    IN PDEVICE_OBJECT PhysicalDeviceObject\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoGetDeviceProperty(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN DEVICE_REGISTRY_PROPERTY DeviceProperty,\n    IN ULONG BufferLength,\n    OUT PVOID PropertyBuffer,\n    OUT PULONG ResultLength\n    );\n\n//\n// The following definitions are used in IoOpenDeviceRegistryKey\n//\n\n#define PLUGPLAY_REGKEY_DEVICE  1\n#define PLUGPLAY_REGKEY_DRIVER  2\n#define PLUGPLAY_REGKEY_CURRENT_HWPROFILE 4\n\nNTKERNELAPI\nNTSTATUS\nIoOpenDeviceRegistryKey(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG DevInstKeyType,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PHANDLE DevInstRegKey\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoRegisterDeviceInterface(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN CONST GUID *InterfaceClassGuid,\n    IN PUNICODE_STRING ReferenceString,     OPTIONAL\n    OUT PUNICODE_STRING SymbolicLinkName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoOpenDeviceInterfaceRegistryKey(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PHANDLE DeviceInterfaceKey\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoSetDeviceInterfaceState(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN BOOLEAN Enable\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoGetDeviceInterfaces(\n    IN CONST GUID *InterfaceClassGuid,\n    IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,\n    IN ULONG Flags,\n    OUT PWSTR *SymbolicLinkList\n    );\n\n#define DEVICE_INTERFACE_INCLUDE_NONACTIVE   0x00000001\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoGetDeviceInterfaceAlias(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN CONST GUID *AliasInterfaceClassGuid,\n    OUT PUNICODE_STRING AliasSymbolicLinkName\n    );\n\n//\n// Define PnP notification event categories\n//\n\ntypedef enum _IO_NOTIFICATION_EVENT_CATEGORY {\n    EventCategoryReserved,\n    EventCategoryHardwareProfileChange,\n    EventCategoryDeviceInterfaceChange,\n    EventCategoryTargetDeviceChange\n} IO_NOTIFICATION_EVENT_CATEGORY;\n\n//\n// Define flags that modify the behavior of IoRegisterPlugPlayNotification\n// for the various event categories...\n//\n\n#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES    0x00000001\n\ntypedef\nNTSTATUS\n(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE) (\n    IN PVOID NotificationStructure,\n    IN PVOID Context\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoRegisterPlugPlayNotification(\n    IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory,\n    IN ULONG EventCategoryFlags,\n    IN PVOID EventCategoryData OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,\n    IN PVOID Context,\n    OUT PVOID *NotificationEntry\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoUnregisterPlugPlayNotification(\n    IN PVOID NotificationEntry\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoReportTargetDeviceChange(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN PVOID NotificationStructure  // always begins with a PLUGPLAY_NOTIFICATION_HEADER\n    );\n\ntypedef\nVOID\n(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nVOID\nIoInvalidateDeviceState(\n    IN PDEVICE_OBJECT PhysicalDeviceObject\n    );\n\n#define IoAdjustPagingPathCount(_count_,_paging_) {     \\\n    if (_paging_) {                                     \\\n        InterlockedIncrement(_count_);                  \\\n    } else {                                            \\\n        InterlockedDecrement(_count_);                  \\\n    }                                                   \\\n}\n\nNTKERNELAPI\nNTSTATUS\nIoReportTargetDeviceChangeAsynchronous(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN PVOID NotificationStructure,  // always begins with a PLUGPLAY_NOTIFICATION_HEADER\n    IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback,       OPTIONAL\n    IN PVOID Context    OPTIONAL\n    );\n// end_wdm end_ntosp\n//\n// Resource arbiter declarations\n//\n\ntypedef enum _ARBITER_ACTION {\n    ArbiterActionTestAllocation,\n    ArbiterActionRetestAllocation,\n    ArbiterActionCommitAllocation,\n    ArbiterActionRollbackAllocation,\n    ArbiterActionQueryAllocatedResources,\n    ArbiterActionWriteReservedResources,\n    ArbiterActionQueryConflict,\n    ArbiterActionQueryArbitrate,\n    ArbiterActionAddReserved,\n    ArbiterActionBootAllocation\n} ARBITER_ACTION, *PARBITER_ACTION;\n\ntypedef struct _ARBITER_CONFLICT_INFO {\n    //\n    // The device object owning the device that is causing the conflict\n    //\n    PDEVICE_OBJECT OwningObject;\n\n    //\n    // The start of the conflicting range\n    //\n    ULONGLONG Start;\n\n    //\n    // The end of the conflicting range\n    //\n    ULONGLONG End;\n\n} ARBITER_CONFLICT_INFO, *PARBITER_CONFLICT_INFO;\n\n//\n// The parameters for those actions\n//\n\ntypedef struct _ARBITER_PARAMETERS {\n\n    union {\n\n        struct {\n\n            //\n            // Doubly linked list of ARBITER_LIST_ENTRY's\n            //\n            IN OUT PLIST_ENTRY ArbitrationList;\n\n            //\n            // The size of the AllocateFrom array\n            //\n            IN ULONG AllocateFromCount;\n\n            //\n            // Array of resource descriptors describing the resources available\n            // to the arbiter for it to arbitrate\n            //\n            IN PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom;\n\n        } TestAllocation;\n\n        struct {\n\n            //\n            // Doubly linked list of ARBITER_LIST_ENTRY's\n            //\n            IN OUT PLIST_ENTRY ArbitrationList;\n\n            //\n            // The size of the AllocateFrom array\n            //\n            IN ULONG AllocateFromCount;\n\n            //\n            // Array of resource descriptors describing the resources available\n            // to the arbiter for it to arbitrate\n            //\n            IN PCM_PARTIAL_RESOURCE_DESCRIPTOR AllocateFrom;\n\n        } RetestAllocation;\n\n        struct {\n\n            //\n            // Doubly linked list of ARBITER_LIST_ENTRY's\n            //\n            IN OUT PLIST_ENTRY ArbitrationList;\n\n        } BootAllocation;\n\n        struct {\n\n            //\n            // The resources that are currently allocated\n            //\n            OUT PCM_PARTIAL_RESOURCE_LIST *AllocatedResources;\n\n        } QueryAllocatedResources;\n\n        struct {\n\n            //\n            // This is the device we are trying to find a conflict for\n            //\n            IN PDEVICE_OBJECT PhysicalDeviceObject;\n\n            //\n            // This is the resource to find the conflict for\n            //\n            IN PIO_RESOURCE_DESCRIPTOR ConflictingResource;\n\n            //\n            // Number of devices conflicting on the resource\n            //\n            OUT PULONG ConflictCount;\n\n            //\n            // Pointer to array describing the conflicting device objects and ranges\n            //\n            OUT PARBITER_CONFLICT_INFO *Conflicts;\n\n        } QueryConflict;\n\n        struct {\n\n            //\n            // Doubly linked list of ARBITER_LIST_ENTRY's - should have\n            // only one entry\n            //\n            IN PLIST_ENTRY ArbitrationList;\n\n        } QueryArbitrate;\n\n        struct {\n\n            //\n            // Indicates the device whose resources are to be marked as reserved\n            //\n            PDEVICE_OBJECT ReserveDevice;\n\n        } AddReserved;\n\n    } Parameters;\n\n} ARBITER_PARAMETERS, *PARBITER_PARAMETERS;\n\n\n\ntypedef enum _ARBITER_REQUEST_SOURCE {\n\n    ArbiterRequestUndefined = -1,\n    ArbiterRequestLegacyReported,   // IoReportResourceUsage\n    ArbiterRequestHalReported,      // IoReportHalResourceUsage\n    ArbiterRequestLegacyAssigned,   // IoAssignResources\n    ArbiterRequestPnpDetected,      // IoReportResourceForDetection\n    ArbiterRequestPnpEnumerated     // IRP_MN_QUERY_RESOURCE_REQUIREMENTS\n\n} ARBITER_REQUEST_SOURCE;\n\n\ntypedef enum _ARBITER_RESULT {\n\n    ArbiterResultUndefined = -1,\n    ArbiterResultSuccess,\n    ArbiterResultExternalConflict, // This indicates that the request can never be solved for devices in this list\n    ArbiterResultNullRequest       // The request was for length zero and thus no translation should be attempted\n\n} ARBITER_RESULT;\n\n//\n// ARBITER_FLAG_BOOT_CONFIG - this indicates that the request is for the\n// resources assigned by the firmware/BIOS.  It should be succeeded even if\n// it conflicts with another devices boot config.\n//\n\n#define ARBITER_FLAG_BOOT_CONFIG 0x00000001\n\n// begin_ntosp\n\nNTKERNELAPI\nNTSTATUS\nIoReportResourceForDetection(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PCM_RESOURCE_LIST DriverList OPTIONAL,\n    IN ULONG DriverListSize OPTIONAL,\n    IN PDEVICE_OBJECT DeviceObject OPTIONAL,\n    IN PCM_RESOURCE_LIST DeviceList OPTIONAL,\n    IN ULONG DeviceListSize OPTIONAL,\n    OUT PBOOLEAN ConflictDetected\n    );\n\n// end_ntosp\n\ntypedef struct _ARBITER_LIST_ENTRY {\n\n    //\n    // This is a doubly linked list of entries for easy sorting\n    //\n    LIST_ENTRY ListEntry;\n\n    //\n    // The number of alternative allocation\n    //\n    ULONG AlternativeCount;\n\n    //\n    // Pointer to an array of resource descriptors for the possible allocations\n    //\n    PIO_RESOURCE_DESCRIPTOR Alternatives;\n\n    //\n    // The device object of the device requesting these resources.\n    //\n    PDEVICE_OBJECT PhysicalDeviceObject;\n\n    //\n    // Indicates where the request came from\n    //\n    ARBITER_REQUEST_SOURCE RequestSource;\n\n    //\n    // Flags these indicate a variety of things (use ARBITER_FLAG_*)\n    //\n    ULONG Flags;\n\n    //\n    // Space to aid the arbiter in processing the list it is initialized to 0 when\n    // the entry is created.  The system will not attempt to interpret it.\n    //\n    LONG_PTR WorkSpace;\n\n    //\n    // Interface Type, Slot Number and Bus Number from Resource Requirements list,\n    // used only for reverse identification.\n    //\n    INTERFACE_TYPE InterfaceType;\n    ULONG SlotNumber;\n    ULONG BusNumber;\n\n    //\n    // A pointer to a descriptor to indicate the resource that was allocated.\n    // This is allocated by the system and filled in by the arbiter in response to an\n    // ArbiterActionTestAllocation.\n    //\n    PCM_PARTIAL_RESOURCE_DESCRIPTOR Assignment;\n\n    //\n    // Pointer to the alternative that was chosen from to provide the assignment.\n    // This is filled in by the arbiter in response to an ArbiterActionTestAllocation.\n    //\n    PIO_RESOURCE_DESCRIPTOR SelectedAlternative;\n\n    //\n    // The result of the operation\n    // This is filled in by the arbiter in response to an ArbiterActionTestAllocation.\n    //\n    ARBITER_RESULT Result;\n\n} ARBITER_LIST_ENTRY, *PARBITER_LIST_ENTRY;\n\n//\n// The arbiter's entry point\n//\n\ntypedef\nNTSTATUS\n(*PARBITER_HANDLER) (\n    IN PVOID Context,\n    IN ARBITER_ACTION Action,\n    IN OUT PARBITER_PARAMETERS Parameters\n    );\n\n//\n// Arbiter interface\n//\n\n#define ARBITER_PARTIAL   0x00000001\n\n\ntypedef struct _ARBITER_INTERFACE {\n\n    //\n    // Generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n\n    //\n    // Entry point to the arbiter\n    //\n    PARBITER_HANDLER ArbiterHandler;\n\n    //\n    // Other information about the arbiter, use ARBITER_* flags\n    //\n    ULONG Flags;\n\n} ARBITER_INTERFACE, *PARBITER_INTERFACE;\n\n//\n// The directions translation can take place in\n//\n\ntypedef enum _RESOURCE_TRANSLATION_DIRECTION { // ntosp\n    TranslateChildToParent,                    // ntosp\n    TranslateParentToChild                     // ntosp\n} RESOURCE_TRANSLATION_DIRECTION;              // ntosp\n\n//\n// Translation functions\n//\n// begin_ntosp\n\ntypedef\nNTSTATUS\n(*PTRANSLATE_RESOURCE_HANDLER)(\n    IN PVOID Context,\n    IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Source,\n    IN RESOURCE_TRANSLATION_DIRECTION Direction,\n    IN ULONG AlternativesCount, OPTIONAL\n    IN IO_RESOURCE_DESCRIPTOR Alternatives[], OPTIONAL\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR Target\n);\n\ntypedef\nNTSTATUS\n(*PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER)(\n    IN PVOID Context,\n    IN PIO_RESOURCE_DESCRIPTOR Source,\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    OUT PULONG TargetCount,\n    OUT PIO_RESOURCE_DESCRIPTOR *Target\n);\n\n//\n// Translator Interface\n//\n\ntypedef struct _TRANSLATOR_INTERFACE {\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    PTRANSLATE_RESOURCE_HANDLER TranslateResources;\n    PTRANSLATE_RESOURCE_REQUIREMENTS_HANDLER TranslateResourceRequirements;\n} TRANSLATOR_INTERFACE, *PTRANSLATOR_INTERFACE;\n\n\n//\n// Header structure for all Plug&Play notification events...\n//\n\ntypedef struct _PLUGPLAY_NOTIFICATION_HEADER {\n    USHORT Version; // presently at version 1.\n    USHORT Size;    // size (in bytes) of header + event-specific data.\n    GUID Event;\n    //\n    // Event-specific stuff starts here.\n    //\n} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;\n\n//\n// Notification structure for all EventCategoryHardwareProfileChange events...\n//\n\ntypedef struct _HWPROFILE_CHANGE_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // (No event-specific data)\n    //\n} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;\n\n\n//\n// Notification structure for all EventCategoryDeviceInterfaceChange events...\n//\n\ntypedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    GUID InterfaceClassGuid;\n    PUNICODE_STRING SymbolicLinkName;\n} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;\n\n\n//\n// Notification structures for EventCategoryTargetDeviceChange...\n//\n\n//\n// The following structure is used for TargetDeviceQueryRemove,\n// TargetDeviceRemoveCancelled, and TargetDeviceRemoveComplete:\n//\ntypedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    PFILE_OBJECT FileObject;\n} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;\n\n//\n// The following structure header is used for all other (i.e., 3rd-party)\n// target device change events.  The structure accommodates both a\n// variable-length binary data buffer, and a variable-length unicode text\n// buffer.  The header must indicate where the text buffer begins, so that\n// the data can be delivered in the appropriate format (ANSI or Unicode)\n// to user-mode recipients (i.e., that have registered for handle-based\n// notification via RegisterDeviceNotification).\n//\n\ntypedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    PFILE_OBJECT FileObject;    // This field must be set to NULL by callers of\n                                // IoReportTargetDeviceChange.  Clients that\n                                // have registered for target device change\n                                // notification on the affected PDO will be\n                                // called with this field set to the file object\n                                // they specified during registration.\n                                //\n    LONG NameBufferOffset;      // offset (in bytes) from beginning of\n                                // CustomDataBuffer where text begins (-1 if none)\n                                //\n    UCHAR CustomDataBuffer[1];  // variable-length buffer, containing (optionally)\n                                // a binary data at the start of the buffer,\n                                // followed by an optional unicode text buffer\n                                // (word-aligned).\n                                //\n} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;\n\n//\n// Define the device description structure.\n//\n\ntypedef struct _DEVICE_DESCRIPTION {\n    ULONG Version;\n    BOOLEAN Master;\n    BOOLEAN ScatterGather;\n    BOOLEAN DemandMode;\n    BOOLEAN AutoInitialize;\n    BOOLEAN Dma32BitAddresses;\n    BOOLEAN IgnoreCount;\n    BOOLEAN Reserved1;          // must be false\n    BOOLEAN Dma64BitAddresses;\n    ULONG BusNumber; // unused for WDM\n    ULONG DmaChannel;\n    INTERFACE_TYPE  InterfaceType;\n    DMA_WIDTH DmaWidth;\n    DMA_SPEED DmaSpeed;\n    ULONG MaximumLength;\n    ULONG DmaPort;\n} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;\n\n//\n// Define the supported version numbers for the device description structure.\n//\n\n#define DEVICE_DESCRIPTION_VERSION  0\n#define DEVICE_DESCRIPTION_VERSION1 1\n#define DEVICE_DESCRIPTION_VERSION2 2\n\n//\n// The following function prototypes are for HAL routines with a prefix of Hal.\n//\n// General functions.\n//\n\ntypedef\nBOOLEAN\n(*PHAL_RESET_DISPLAY_PARAMETERS) (\n    IN ULONG Columns,\n    IN ULONG Rows\n    );\n\nNTHALAPI\nVOID\nHalAcquireDisplayOwnership (\n    IN PHAL_RESET_DISPLAY_PARAMETERS  ResetDisplayParameters\n    );\n\n#if defined(_ALPHA_) || defined(_IA64_)         \n                                                \nDECLSPEC_DEPRECATED_DDK                 // Use GetDmaRequirement\nNTHALAPI\nULONG\nHalGetDmaAlignmentRequirement (\n    VOID\n    );\n\n#endif                                          \n                                                \n#if defined(_M_IX86) || defined(_M_AMD64)       \n                                                \n#define HalGetDmaAlignmentRequirement() 1L      \n#endif                                          \n                                                \nNTHALAPI                                        \nVOID                                            \nKeFlushWriteBuffer (                            \n    VOID                                        \n    );                                          \n                                                \n//\n// I/O driver configuration functions.\n//\n#if !defined(NO_LEGACY_DRIVERS)\nDECLSPEC_DEPRECATED_DDK                 // Use Pnp or IoReportDetectedDevice\nNTHALAPI\nNTSTATUS\nHalAssignSlotResources (\n    IN PUNICODE_STRING RegistryPath,\n    IN PUNICODE_STRING DriverClassName OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN INTERFACE_TYPE BusType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN OUT PCM_RESOURCE_LIST *AllocatedResources\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use Pnp or IoReportDetectedDevice\nNTHALAPI\nULONG\nHalGetInterruptVector(\n    IN INTERFACE_TYPE  InterfaceType,\n    IN ULONG BusNumber,\n    IN ULONG BusInterruptLevel,\n    IN ULONG BusInterruptVector,\n    OUT PKIRQL Irql,\n    OUT PKAFFINITY Affinity\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG\nNTHALAPI\nULONG\nHalSetBusData(\n    IN BUS_DATA_TYPE BusDataType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN PVOID Buffer,\n    IN ULONG Length\n    );\n#endif // NO_LEGACY_DRIVERS\n\nDECLSPEC_DEPRECATED_DDK                 // Use IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG\nNTHALAPI\nULONG\nHalSetBusDataByOffset(\n    IN BUS_DATA_TYPE BusDataType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG\nNTHALAPI\nBOOLEAN\nHalTranslateBusAddress(\n    IN INTERFACE_TYPE  InterfaceType,\n    IN ULONG BusNumber,\n    IN PHYSICAL_ADDRESS BusAddress,\n    IN OUT PULONG AddressSpace,\n    OUT PPHYSICAL_ADDRESS TranslatedAddress\n    );\n\n//\n// Values for AddressSpace parameter of HalTranslateBusAddress\n//\n//      0x0         - Memory space\n//      0x1         - Port space\n//      0x2 - 0x1F  - Address spaces specific for Alpha\n//                      0x2 - UserMode view of memory space\n//                      0x3 - UserMode view of port space\n//                      0x4 - Dense memory space\n//                      0x5 - reserved\n//                      0x6 - UserMode view of dense memory space\n//                      0x7 - 0x1F - reserved\n//\n\nNTHALAPI\nPVOID\nHalAllocateCrashDumpRegisters(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN OUT PULONG NumberOfMapRegisters\n    );\n\n#if !defined(NO_LEGACY_DRIVERS)\nDECLSPEC_DEPRECATED_DDK                 // Use IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG\nNTHALAPI\nULONG\nHalGetBusData(\n    IN BUS_DATA_TYPE BusDataType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN PVOID Buffer,\n    IN ULONG Length\n    );\n#endif // NO_LEGACY_DRIVERS\n\nDECLSPEC_DEPRECATED_DDK                 // Use IRP_MN_QUERY_INTERFACE and IRP_MN_READ_CONFIG\nNTHALAPI\nULONG\nHalGetBusDataByOffset(\n    IN BUS_DATA_TYPE BusDataType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoGetDmaAdapter\nNTHALAPI\nPADAPTER_OBJECT\nHalGetAdapter(\n    IN PDEVICE_DESCRIPTION DeviceDescription,\n    IN OUT PULONG NumberOfMapRegisters\n    );\n\n//\n// System beep functions.\n//\n#if !defined(NO_LEGACY_DRIVERS)\nNTHALAPI\nBOOLEAN\nHalMakeBeep(\n    IN ULONG Frequency\n    );\n#endif // NO_LEGACY_DRIVERS\n\n//\n// The following function prototypes are for HAL routines with a prefix of Io.\n//\n// DMA adapter object functions.\n//\n\n//\n// Performance counter function.\n//\n\nNTHALAPI\nLARGE_INTEGER\nKeQueryPerformanceCounter (\n   OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL\n   );\n\n// begin_ntndis\n//\n// Stall processor execution function.\n//\n\nNTHALAPI\nVOID\nKeStallExecutionProcessor (\n    IN ULONG MicroSeconds\n    );\n\n\ntypedef\nVOID\n(*PDEVICE_CONTROL_COMPLETION)(\n    IN struct _DEVICE_CONTROL_CONTEXT     *ControlContext\n    );\n\ntypedef struct _DEVICE_CONTROL_CONTEXT {\n    NTSTATUS                Status;\n    PDEVICE_HANDLER_OBJECT  DeviceHandler;\n    PDEVICE_OBJECT          DeviceObject;\n    ULONG                   ControlCode;\n    PVOID                   Buffer;\n    PULONG                  BufferLength;\n    PVOID                   Context;\n} DEVICE_CONTROL_CONTEXT, *PDEVICE_CONTROL_CONTEXT;\n\ntypedef\nPBUS_HANDLER\n(FASTCALL *pHalHandlerForBus) (\n    IN INTERFACE_TYPE InterfaceType,\n    IN ULONG          BusNumber\n    );\ntypedef\nVOID\n(FASTCALL *pHalReferenceBusHandler) (\n    IN PBUS_HANDLER   BusHandler\n    );\n\n//*****************************************************************************\n//      HAL Function dispatch\n//\n\ntypedef enum _HAL_QUERY_INFORMATION_CLASS {\n    HalInstalledBusInformation,\n    HalProfileSourceInformation,\n    HalInformationClassUnused1,\n    HalPowerInformation,\n    HalProcessorSpeedInformation,\n    HalCallbackInformation,\n    HalMapRegisterInformation,\n    HalMcaLogInformation,               // Machine Check Abort Information\n    HalFrameBufferCachingInformation,\n    HalDisplayBiosInformation,\n    HalProcessorFeatureInformation,\n    HalNumaTopologyInterface,\n    HalErrorInformation,                // General MCA, CMC, CPE Error Information.\n    HalCmcLogInformation,               // Processor Corrected Machine Check Information\n    HalCpeLogInformation,               // Corrected Platform Error Information\n    HalQueryMcaInterface,\n    HalQueryAMLIIllegalIOPortAddresses,\n    HalQueryMaxHotPlugMemoryAddress,\n    HalPartitionIpiInterface,\n    HalPlatformInformation\n    // information levels >= 0x8000000 reserved for OEM use\n} HAL_QUERY_INFORMATION_CLASS, *PHAL_QUERY_INFORMATION_CLASS;\n\n\ntypedef enum _HAL_SET_INFORMATION_CLASS {\n    HalProfileSourceInterval,\n    HalProfileSourceInterruptHandler,\n    HalMcaRegisterDriver,              // Registring Machine Check Abort driver\n    HalKernelErrorHandler,\n    HalCmcRegisterDriver,              // Registring Processor Corrected Machine Check driver\n    HalCpeRegisterDriver,              // Registring Corrected Platform  Error driver\n    HalMcaLog,\n    HalCmcLog,\n    HalCpeLog,\n} HAL_SET_INFORMATION_CLASS, *PHAL_SET_INFORMATION_CLASS;\n\n\ntypedef\nNTSTATUS\n(*pHalQuerySystemInformation)(\n    IN HAL_QUERY_INFORMATION_CLASS  InformationClass,\n    IN ULONG     BufferSize,\n    IN OUT PVOID Buffer,\n    OUT PULONG   ReturnedLength\n    );\n\nNTSTATUS\nHaliQuerySystemInformation(\n    IN HAL_SET_INFORMATION_CLASS    InformationClass,\n    IN ULONG     BufferSize,\n    IN OUT PVOID Buffer,\n    OUT PULONG   ReturnedLength\n    );\nNTSTATUS\nHaliHandlePCIConfigSpaceAccess(\n    IN      BOOLEAN Read,\n    IN      ULONG   Addr,\n    IN      ULONG   Size,\n    IN OUT  PULONG  pData\n    );\n\ntypedef\nNTSTATUS\n(*pHalSetSystemInformation)(\n    IN HAL_SET_INFORMATION_CLASS    InformationClass,\n    IN ULONG     BufferSize,\n    IN PVOID     Buffer\n    );\n\nNTSTATUS\nHaliSetSystemInformation(\n    IN HAL_SET_INFORMATION_CLASS    InformationClass,\n    IN ULONG     BufferSize,\n    IN PVOID     Buffer\n    );\n\ntypedef\nVOID\n(FASTCALL *pHalExamineMBR)(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG MBRTypeIdentifier,\n    OUT PVOID *Buffer\n    );\n\ntypedef\nVOID\n(FASTCALL *pHalIoAssignDriveLetters)(\n    IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,\n    IN PSTRING NtDeviceName,\n    OUT PUCHAR NtSystemPath,\n    OUT PSTRING NtSystemPathString\n    );\n\ntypedef\nNTSTATUS\n(FASTCALL *pHalIoReadPartitionTable)(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN BOOLEAN ReturnRecognizedPartitions,\n    OUT struct _DRIVE_LAYOUT_INFORMATION **PartitionBuffer\n    );\n\ntypedef\nNTSTATUS\n(FASTCALL *pHalIoSetPartitionInformation)(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG PartitionNumber,\n    IN ULONG PartitionType\n    );\n\ntypedef\nNTSTATUS\n(FASTCALL *pHalIoWritePartitionTable)(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG SectorSize,\n    IN ULONG SectorsPerTrack,\n    IN ULONG NumberOfHeads,\n    IN struct _DRIVE_LAYOUT_INFORMATION *PartitionBuffer\n    );\n\ntypedef\nNTSTATUS\n(*pHalQueryBusSlots)(\n    IN PBUS_HANDLER         BusHandler,\n    IN ULONG                BufferSize,\n    OUT PULONG              SlotNumbers,\n    OUT PULONG              ReturnedLength\n    );\n\ntypedef\nNTSTATUS\n(*pHalInitPnpDriver)(\n    VOID\n    );\n\nNTSTATUS\nHaliInitPnpDriver(\n    VOID\n    );\n\ntypedef struct _PM_DISPATCH_TABLE {\n    ULONG   Signature;\n    ULONG   Version;\n    PVOID   Function[1];\n} PM_DISPATCH_TABLE, *PPM_DISPATCH_TABLE;\n\ntypedef\nNTSTATUS\n(*pHalInitPowerManagement)(\n    IN PPM_DISPATCH_TABLE  PmDriverDispatchTable,\n    OUT PPM_DISPATCH_TABLE *PmHalDispatchTable\n    );\n\nNTSTATUS\nHaliInitPowerManagement(\n    IN PPM_DISPATCH_TABLE  PmDriverDispatchTable,\n    IN OUT PPM_DISPATCH_TABLE *PmHalDispatchTable\n    );\n\ntypedef\nstruct _DMA_ADAPTER *\n(*pHalGetDmaAdapter)(\n    IN PVOID Context,\n    IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,\n    OUT PULONG NumberOfMapRegisters\n    );\n\nstruct _DMA_ADAPTER *\nHaliGetDmaAdapter(\n    IN PVOID Context,\n    IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,\n    OUT PULONG NumberOfMapRegisters\n    );\n\ntypedef\nNTSTATUS\n(*pHalGetInterruptTranslator)(\n    IN INTERFACE_TYPE ParentInterfaceType,\n    IN ULONG ParentBusNumber,\n    IN INTERFACE_TYPE BridgeInterfaceType,\n    IN USHORT Size,\n    IN USHORT Version,\n    OUT PTRANSLATOR_INTERFACE Translator,\n    OUT PULONG BridgeBusNumber\n    );\n\nNTSTATUS\nHaliGetInterruptTranslator(\n    IN INTERFACE_TYPE ParentInterfaceType,\n    IN ULONG ParentBusNumber,\n    IN INTERFACE_TYPE BridgeInterfaceType,\n    IN USHORT Size,\n    IN USHORT Version,\n    OUT PTRANSLATOR_INTERFACE Translator,\n    OUT PULONG BridgeBusNumber\n    );\n\ntypedef\nBOOLEAN\n(*pHalTranslateBusAddress)(\n    IN INTERFACE_TYPE  InterfaceType,\n    IN ULONG BusNumber,\n    IN PHYSICAL_ADDRESS BusAddress,\n    IN OUT PULONG AddressSpace,\n    OUT PPHYSICAL_ADDRESS TranslatedAddress\n    );\n\ntypedef\nNTSTATUS\n(*pHalAssignSlotResources) (\n    IN PUNICODE_STRING RegistryPath,\n    IN PUNICODE_STRING DriverClassName OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN INTERFACE_TYPE BusType,\n    IN ULONG BusNumber,\n    IN ULONG SlotNumber,\n    IN OUT PCM_RESOURCE_LIST *AllocatedResources\n    );\n\ntypedef\nVOID\n(*pHalHaltSystem) (\n    VOID\n    );\n\ntypedef\nVOID\n(*pHalResetDisplay) (\n    VOID\n    );\n\ntypedef\nUCHAR\n(*pHalVectorToIDTEntry) (\n    ULONG Vector\n);\n\ntypedef\nBOOLEAN\n(*pHalFindBusAddressTranslation) (\n    IN PHYSICAL_ADDRESS BusAddress,\n    IN OUT PULONG AddressSpace,\n    OUT PPHYSICAL_ADDRESS TranslatedAddress,\n    IN OUT PULONG_PTR Context,\n    IN BOOLEAN NextBus\n    );\n\ntypedef\nNTSTATUS\n(*pHalStartMirroring)(\n    VOID\n    );\n\ntypedef\nNTSTATUS\n(*pHalEndMirroring)(\n    IN ULONG PassNumber\n    );\n\ntypedef\nNTSTATUS\n(*pHalMirrorPhysicalMemory)(\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN LARGE_INTEGER NumberOfBytes\n    );\n\ntypedef\nNTSTATUS\n(*pHalMirrorVerify)(\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN LARGE_INTEGER NumberOfBytes\n    );\n\ntypedef struct {\n    UCHAR     Type;  //CmResourceType\n    BOOLEAN   Valid;\n    UCHAR     Reserved[2];\n    PUCHAR    TranslatedAddress;\n    ULONG     Length;\n} DEBUG_DEVICE_ADDRESS, *PDEBUG_DEVICE_ADDRESS;\n\ntypedef struct {\n    PHYSICAL_ADDRESS  Start;\n    PHYSICAL_ADDRESS  MaxEnd;\n    PVOID             VirtualAddress;\n    ULONG             Length;\n    BOOLEAN           Cached;\n    BOOLEAN           Aligned;\n} DEBUG_MEMORY_REQUIREMENTS, *PDEBUG_MEMORY_REQUIREMENTS;\n\ntypedef struct {\n    ULONG     Bus;\n    ULONG     Slot;\n    USHORT    VendorID;\n    USHORT    DeviceID;\n    UCHAR     BaseClass;\n    UCHAR     SubClass;\n    UCHAR     ProgIf;\n    BOOLEAN   Initialized;\n    DEBUG_DEVICE_ADDRESS BaseAddress[6];\n    DEBUG_MEMORY_REQUIREMENTS   Memory;\n} DEBUG_DEVICE_DESCRIPTOR, *PDEBUG_DEVICE_DESCRIPTOR;\n\ntypedef\nNTSTATUS\n(*pKdSetupPciDeviceForDebugging)(\n    IN     PVOID                     LoaderBlock,   OPTIONAL\n    IN OUT PDEBUG_DEVICE_DESCRIPTOR  PciDevice\n);\n\ntypedef\nNTSTATUS\n(*pKdReleasePciDeviceForDebugging)(\n    IN OUT PDEBUG_DEVICE_DESCRIPTOR  PciDevice\n);\n\ntypedef\nPVOID\n(*pKdGetAcpiTablePhase0)(\n    IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,\n    IN ULONG Signature\n    );\n\ntypedef\nVOID\n(*pKdCheckPowerButton)(\n    VOID\n    );\n\ntypedef\nVOID\n(*pHalEndOfBoot)(\n    VOID\n    );\n\ntypedef\nPVOID\n(*pKdMapPhysicalMemory64)(\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN ULONG NumberPages\n    );\n\ntypedef\nVOID\n(*pKdUnmapVirtualAddress)(\n    IN PVOID    VirtualAddress,\n    IN ULONG    NumberPages\n    );\n\n\ntypedef struct {\n    ULONG                           Version;\n    pHalQuerySystemInformation      HalQuerySystemInformation;\n    pHalSetSystemInformation        HalSetSystemInformation;\n    pHalQueryBusSlots               HalQueryBusSlots;\n    ULONG                           Spare1;\n    pHalExamineMBR                  HalExamineMBR;\n    pHalIoAssignDriveLetters        HalIoAssignDriveLetters;\n    pHalIoReadPartitionTable        HalIoReadPartitionTable;\n    pHalIoSetPartitionInformation   HalIoSetPartitionInformation;\n    pHalIoWritePartitionTable       HalIoWritePartitionTable;\n\n    pHalHandlerForBus               HalReferenceHandlerForBus;\n    pHalReferenceBusHandler         HalReferenceBusHandler;\n    pHalReferenceBusHandler         HalDereferenceBusHandler;\n\n    pHalInitPnpDriver               HalInitPnpDriver;\n    pHalInitPowerManagement         HalInitPowerManagement;\n\n    pHalGetDmaAdapter               HalGetDmaAdapter;\n    pHalGetInterruptTranslator      HalGetInterruptTranslator;\n\n    pHalStartMirroring              HalStartMirroring;\n    pHalEndMirroring                HalEndMirroring;\n    pHalMirrorPhysicalMemory        HalMirrorPhysicalMemory;\n    pHalEndOfBoot                   HalEndOfBoot;\n    pHalMirrorVerify                HalMirrorVerify;\n\n} HAL_DISPATCH, *PHAL_DISPATCH;\n\n#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_)\n\nextern  PHAL_DISPATCH   HalDispatchTable;\n#define HALDISPATCH     HalDispatchTable\n\n#else\n\nextern  HAL_DISPATCH    HalDispatchTable;\n#define HALDISPATCH     (&HalDispatchTable)\n\n#endif\n\n#define HAL_DISPATCH_VERSION        3\n\n#define HalDispatchTableVersion         HALDISPATCH->Version\n#define HalQuerySystemInformation       HALDISPATCH->HalQuerySystemInformation\n#define HalSetSystemInformation         HALDISPATCH->HalSetSystemInformation\n#define HalQueryBusSlots                HALDISPATCH->HalQueryBusSlots\n\n#define HalReferenceHandlerForBus       HALDISPATCH->HalReferenceHandlerForBus\n#define HalReferenceBusHandler          HALDISPATCH->HalReferenceBusHandler\n#define HalDereferenceBusHandler        HALDISPATCH->HalDereferenceBusHandler\n\n#define HalInitPnpDriver                HALDISPATCH->HalInitPnpDriver\n#define HalInitPowerManagement          HALDISPATCH->HalInitPowerManagement\n\n#define HalGetDmaAdapter                HALDISPATCH->HalGetDmaAdapter\n#define HalGetInterruptTranslator       HALDISPATCH->HalGetInterruptTranslator\n\n#define HalStartMirroring               HALDISPATCH->HalStartMirroring\n#define HalEndMirroring                 HALDISPATCH->HalEndMirroring\n#define HalMirrorPhysicalMemory         HALDISPATCH->HalMirrorPhysicalMemory\n#define HalEndOfBoot                    HALDISPATCH->HalEndOfBoot\n#define HalMirrorVerify                 HALDISPATCH->HalMirrorVerify\n\n\n//\n// HAL System Information Structures.\n//\n\n// for the information class \"HalInstalledBusInformation\"\ntypedef struct _HAL_BUS_INFORMATION{\n    INTERFACE_TYPE  BusType;\n    BUS_DATA_TYPE   ConfigurationType;\n    ULONG           BusNumber;\n    ULONG           Reserved;\n} HAL_BUS_INFORMATION, *PHAL_BUS_INFORMATION;\n\n// for the information class \"HalProfileSourceInformation\"\ntypedef struct _HAL_PROFILE_SOURCE_INFORMATION {\n    KPROFILE_SOURCE Source;\n    BOOLEAN Supported;\n    ULONG Interval;\n} HAL_PROFILE_SOURCE_INFORMATION, *PHAL_PROFILE_SOURCE_INFORMATION;\n\ntypedef struct _HAL_PROFILE_SOURCE_INFORMATION_EX {\n    KPROFILE_SOURCE Source;\n    BOOLEAN         Supported;\n    ULONG_PTR       Interval;\n    ULONG_PTR       DefInterval;\n    ULONG_PTR       MaxInterval;\n    ULONG_PTR       MinInterval;\n} HAL_PROFILE_SOURCE_INFORMATION_EX, *PHAL_PROFILE_SOURCE_INFORMATION_EX;\n\n// for the information class \"HalProfileSourceInterval\"\ntypedef struct _HAL_PROFILE_SOURCE_INTERVAL {\n    KPROFILE_SOURCE Source;\n    ULONG_PTR Interval;\n} HAL_PROFILE_SOURCE_INTERVAL, *PHAL_PROFILE_SOURCE_INTERVAL;\n\n// for the information class \"HalDispayBiosInformation\"\ntypedef enum _HAL_DISPLAY_BIOS_INFORMATION {\n    HalDisplayInt10Bios,\n    HalDisplayEmulatedBios,\n    HalDisplayNoBios\n} HAL_DISPLAY_BIOS_INFORMATION, *PHAL_DISPLAY_BIOS_INFORMATION;\n\n// for the information class \"HalPowerInformation\"\ntypedef struct _HAL_POWER_INFORMATION {\n    ULONG   TBD;\n} HAL_POWER_INFORMATION, *PHAL_POWER_INFORMATION;\n\n// for the information class \"HalProcessorSpeedInformation\"\ntypedef struct _HAL_PROCESSOR_SPEED_INFO {\n    ULONG   ProcessorSpeed;\n} HAL_PROCESSOR_SPEED_INFORMATION, *PHAL_PROCESSOR_SPEED_INFORMATION;\n\n// for the information class \"HalCallbackInformation\"\ntypedef struct _HAL_CALLBACKS {\n    PCALLBACK_OBJECT  SetSystemInformation;\n    PCALLBACK_OBJECT  BusCheck;\n} HAL_CALLBACKS, *PHAL_CALLBACKS;\n\n// for the information class \"HalProcessorFeatureInformation\"\ntypedef struct _HAL_PROCESSOR_FEATURE {\n    ULONG UsableFeatureBits;\n} HAL_PROCESSOR_FEATURE;\n\n// for the information class \"HalNumaTopologyInterface\"\n\ntypedef ULONG HALNUMAPAGETONODE;\n\ntypedef\nHALNUMAPAGETONODE\n(*PHALNUMAPAGETONODE)(\n    IN  ULONG_PTR   PhysicalPageNumber\n    );\n\ntypedef\nNTSTATUS\n(*PHALNUMAQUERYPROCESSORNODE)(\n    IN  ULONG       ProcessorNumber,\n    OUT PUSHORT     Identifier,\n    OUT PUCHAR      Node\n    );\n\ntypedef struct _HAL_NUMA_TOPOLOGY_INTERFACE {\n    ULONG                               NumberOfNodes;\n    PHALNUMAQUERYPROCESSORNODE          QueryProcessorNode;\n    PHALNUMAPAGETONODE                  PageToNode;\n} HAL_NUMA_TOPOLOGY_INTERFACE;\n\ntypedef\nNTSTATUS\n(*PHALIOREADWRITEHANDLER)(\n    IN      BOOLEAN fRead,\n    IN      ULONG dwAddr,\n    IN      ULONG dwSize,\n    IN OUT  PULONG pdwData\n    );\n\n// for the information class \"HalQueryIllegalIOPortAddresses\"\ntypedef struct _HAL_AMLI_BAD_IO_ADDRESS_LIST\n{\n    ULONG                   BadAddrBegin;\n    ULONG                   BadAddrSize;\n    ULONG                   OSVersionTrigger;\n    PHALIOREADWRITEHANDLER  IOHandler;\n} HAL_AMLI_BAD_IO_ADDRESS_LIST, *PHAL_AMLI_BAD_IO_ADDRESS_LIST;\n\n// end_ntosp\n\n#if defined(_X86_) || defined(_IA64_) || defined(_AMD64_)\n\n//\n// HalQueryMcaInterface\n//\n\ntypedef\nVOID\n(*PHALMCAINTERFACELOCK)(\n    VOID\n    );\n\ntypedef\nVOID\n(*PHALMCAINTERFACEUNLOCK)(\n    VOID\n    );\n\ntypedef\nNTSTATUS\n(*PHALMCAINTERFACEREADREGISTER)(\n    IN     UCHAR    BankNumber,\n    IN OUT PVOID    Exception\n    );\n\ntypedef struct _HAL_MCA_INTERFACE {\n    PHALMCAINTERFACELOCK            Lock;\n    PHALMCAINTERFACEUNLOCK          Unlock;\n    PHALMCAINTERFACEREADREGISTER    ReadRegister;\n} HAL_MCA_INTERFACE;\n\ntypedef\n#if defined(_IA64_)\nERROR_SEVERITY\n#else  // !_IA64_\nVOID\n#endif // !_IA64_\n(*PDRIVER_EXCPTN_CALLBACK) (\n    IN PVOID            Context,\n    IN PMCA_EXCEPTION   BankLog\n);\n\ntypedef PDRIVER_EXCPTN_CALLBACK  PDRIVER_MCA_EXCEPTION_CALLBACK;\n\n//\n// Structure to record the callbacks from driver\n//\n\ntypedef struct _MCA_DRIVER_INFO {\n    PDRIVER_MCA_EXCEPTION_CALLBACK ExceptionCallback;\n    PKDEFERRED_ROUTINE             DpcCallback;\n    PVOID                          DeviceContext;\n} MCA_DRIVER_INFO, *PMCA_DRIVER_INFO;\n\n// For the information class HalKernelErrorHandler\ntypedef BOOLEAN (*KERNEL_MCA_DELIVERY)( PVOID Reserved, PVOID Argument2 );\ntypedef BOOLEAN (*KERNEL_CMC_DELIVERY)( PVOID Reserved, PVOID Argument2 );\ntypedef BOOLEAN (*KERNEL_CPE_DELIVERY)( PVOID Reserved, PVOID Argument2 );\ntypedef BOOLEAN (*KERNEL_MCE_DELIVERY)( PVOID Reserved, PVOID Argument2 );\n\n#define KERNEL_ERROR_HANDLER_VERSION 0x1\ntypedef struct\n{\n    ULONG                Version;     // Version of this structure. Required to be 1rst field.\n    ULONG                Padding;\n    KERNEL_MCA_DELIVERY  KernelMcaDelivery;   // Kernel callback for MCA DPC Queueing.\n    KERNEL_CMC_DELIVERY  KernelCmcDelivery;   // Kernel callback for CMC DPC Queueing.\n    KERNEL_CPE_DELIVERY  KernelCpeDelivery;   // Kernel callback for CPE DPC Queueing.\n    KERNEL_MCE_DELIVERY  KernelMceDelivery;   // Kernel callback for CME DPC Queueing.\n                                              //    Includes the kernel notifications for FW\n                                              //    interfaces errors.\n} KERNEL_ERROR_HANDLER_INFO, *PKERNEL_ERROR_HANDLER_INFO;\n\n// KERNEL_MCA_DELIVERY.McaType definition\n#define KERNEL_MCA_UNKNOWN   0x0\n#define KERNEL_MCA_PREVIOUS  0x1\n#define KERNEL_MCA_CORRECTED 0x2\n\n// KERNEL_MCE_DELIVERY.Reserved.EVENTTYPE definitions\n#define KERNEL_MCE_EVENTTYPE_MCA   0x00\n#define KERNEL_MCE_EVENTTYPE_INIT  0x01\n#define KERNEL_MCE_EVENTTYPE_CMC   0x02\n#define KERNEL_MCE_EVENTTYPE_CPE   0x03\n#define KERNEL_MCE_EVENTTYPE_MASK  0xffff\n#define KERNEL_MCE_EVENTTYPE( _Reverved ) ((USHORT)(ULONG_PTR)(_Reserved))\n\n// KERNEL_MCE_DELIVERY.Reserved.OPERATION definitions\n#define KERNEL_MCE_OPERATION_CLEAR_STATE_INFO   0x1\n#define KERNEL_MCE_OPERATION_GET_STATE_INFO     0x2\n#define KERNEL_MCE_OPERATION_MASK               0xffff\n#define KERNEL_MCE_OPERATION_SHIFT              KERNEL_MCE_EVENTTYPE_MASK\n#define KERNEL_MCE_OPERATION( _Reserved )  \\\n   ((USHORT)((((ULONG_PTR)(_Reserved)) >> KERNEL_MCE_OPERATION_SHIFT) & KERNEL_MCE_OPERATION_MASK))\n\n// for information class HalErrorInformation\n#define HAL_ERROR_INFO_VERSION 0x2\n\ntypedef struct _HAL_ERROR_INFO {\n    ULONG     Version;                 // Version of this structure\n    ULONG     Reserved;                //\n    ULONG     McaMaxSize;              // Maximum size of a Machine Check Abort record\n    ULONG     McaPreviousEventsCount;  // Flag indicating previous or early-boot MCA event logs.\n    ULONG     McaCorrectedEventsCount; // Number of corrected MCA events since boot.      approx.\n    ULONG     McaKernelDeliveryFails;  // Number of Kernel callback failures.             approx.\n    ULONG     McaDriverDpcQueueFails;  // Number of OEM MCA Driver Dpc queueing failures. approx.\n    ULONG     McaReserved;\n    ULONG     CmcMaxSize;              // Maximum size of a Corrected Machine  Check record\n    ULONG     CmcPollingInterval;      // In units of seconds\n    ULONG     CmcInterruptsCount;      // Number of CMC interrupts.                       approx.\n    ULONG     CmcKernelDeliveryFails;  // Number of Kernel callback failures.             approx.\n    ULONG     CmcDriverDpcQueueFails;  // Number of OEM CMC Driver Dpc queueing failures. approx.\n    ULONG     CmcGetStateFails;        // Number of failures in getting  the log from FW.\n    ULONG     CmcClearStateFails;      // Number of failures in clearing the log from FW.\n    ULONG     CmcReserved;\n    ULONGLONG CmcLogId;                // Last seen record identifier.\n    ULONG     CpeMaxSize;              // Maximum size of a Corrected Platform Event record\n    ULONG     CpePollingInterval;      // In units of seconds\n    ULONG     CpeInterruptsCount;      // Number of CPE interrupts.                       approx.\n    ULONG     CpeKernelDeliveryFails;  // Number of Kernel callback failures.             approx.\n    ULONG     CpeDriverDpcQueueFails;  // Number of OEM CPE Driver Dpc queueing failures. approx.\n    ULONG     CpeGetStateFails;        // Number of failures in getting  the log from FW.\n    ULONG     CpeClearStateFails;      // Number of failures in clearing the log from FW.\n    ULONG     CpeInterruptSources;     // Number of SAPIC Platform Interrupt Sources\n    ULONGLONG CpeLogId;                // Last seen record identifier.\n    ULONGLONG KernelReserved[4];\n} HAL_ERROR_INFO, *PHAL_ERROR_INFO;\n\n//\n// Known values for HAL_ERROR_INFO.CmcPollingInterval.\n//\n\n#define HAL_CMC_INTERRUPTS_BASED  ((ULONG)-1)\n#define HAL_CMC_DISABLED          ((ULONG)0)\n\n//\n// Known values for HAL_ERROR_INFO.CpePollingInterval.\n//\n\n#define HAL_CPE_INTERRUPTS_BASED  ((ULONG)-1)\n#define HAL_CPE_DISABLED          ((ULONG)0)\n\n#define HAL_MCA_INTERRUPTS_BASED  ((ULONG)-1)\n#define HAL_MCA_DISABLED          ((ULONG)0)\n\n\n//\n// Driver Callback type for the information class \"HalCmcRegisterDriver\"\n//\n\ntypedef\nVOID\n(*PDRIVER_CMC_EXCEPTION_CALLBACK) (\n    IN PVOID            Context,\n    IN PCMC_EXCEPTION   CmcLog\n);\n\n//\n// Driver Callback type for the information class \"HalCpeRegisterDriver\"\n//\n\ntypedef\nVOID\n(*PDRIVER_CPE_EXCEPTION_CALLBACK) (\n    IN PVOID            Context,\n    IN PCPE_EXCEPTION   CmcLog\n);\n\n//\n//\n// Structure to record the callbacks from driver\n//\n\ntypedef struct _CMC_DRIVER_INFO {\n    PDRIVER_CMC_EXCEPTION_CALLBACK ExceptionCallback;\n    PKDEFERRED_ROUTINE             DpcCallback;\n    PVOID                          DeviceContext;\n} CMC_DRIVER_INFO, *PCMC_DRIVER_INFO;\n\ntypedef struct _CPE_DRIVER_INFO {\n    PDRIVER_CPE_EXCEPTION_CALLBACK ExceptionCallback;\n    PKDEFERRED_ROUTINE             DpcCallback;\n    PVOID                          DeviceContext;\n} CPE_DRIVER_INFO, *PCPE_DRIVER_INFO;\n\n#endif // defined(_X86_) || defined(_IA64_) || defined(_AMD64_)\n\n#if defined(_IA64_)\n\ntypedef\nNTSTATUS\n(*HALSENDCROSSPARTITIONIPI)(\n    IN USHORT ProcessorID,\n    IN UCHAR  HardwareVector\n    );\n\ntypedef\nNTSTATUS\n(*HALRESERVECROSSPARTITIONINTERRUPTVECTOR)(\n    OUT PULONG Vector,\n    OUT PKIRQL Irql,\n    IN OUT PKAFFINITY Affinity,\n    OUT PUCHAR HardwareVector\n    );\n\ntypedef struct _HAL_CROSS_PARTITION_IPI_INTERFACE {\n    HALSENDCROSSPARTITIONIPI HalSendCrossPartitionIpi;\n    HALRESERVECROSSPARTITIONINTERRUPTVECTOR HalReserveCrossPartitionInterruptVector;\n} HAL_CROSS_PARTITION_IPI_INTERFACE;\n\n#endif\n\ntypedef struct _HAL_PLATFORM_INFORMATION {\n    ULONG PlatformFlags;\n} HAL_PLATFORM_INFORMATION, *PHAL_PLATFORM_INFORMATION;\n\n//\n// These platform flags are carried over from the IPPT table\n// definition if appropriate.\n//\n\n#define HAL_PLATFORM_DISABLE_PTCG            0x04L\n#define HAL_PLATFORM_DISABLE_UC_MAIN_MEMORY  0x08L\n\n\n//  begin_wdm begin_ntndis begin_ntosp\n\ntypedef struct _SCATTER_GATHER_ELEMENT {\n    PHYSICAL_ADDRESS Address;\n    ULONG Length;\n    ULONG_PTR Reserved;\n} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;\n\n#pragma warning(disable:4200)\ntypedef struct _SCATTER_GATHER_LIST {\n    ULONG NumberOfElements;\n    ULONG_PTR Reserved;\n    SCATTER_GATHER_ELEMENT Elements[];\n} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;\n#pragma warning(default:4200)\n\n// end_ntndis\n\ntypedef struct _DMA_OPERATIONS *PDMA_OPERATIONS;\n\ntypedef struct _DMA_ADAPTER {\n    USHORT Version;\n    USHORT Size;\n    PDMA_OPERATIONS DmaOperations;\n    // Private Bus Device Driver data follows,\n} DMA_ADAPTER, *PDMA_ADAPTER;\n\ntypedef VOID (*PPUT_DMA_ADAPTER)(\n    PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef PVOID (*PALLOCATE_COMMON_BUFFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    OUT PPHYSICAL_ADDRESS LogicalAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\ntypedef VOID (*PFREE_COMMON_BUFFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    IN PHYSICAL_ADDRESS LogicalAddress,\n    IN PVOID VirtualAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\ntypedef NTSTATUS (*PALLOCATE_ADAPTER_CHANNEL)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    );\n\ntypedef BOOLEAN (*PFLUSH_ADAPTER_BUFFERS)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef VOID (*PFREE_ADAPTER_CHANNEL)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef VOID (*PFREE_MAP_REGISTERS)(\n    IN PDMA_ADAPTER DmaAdapter,\n    PVOID MapRegisterBase,\n    ULONG NumberOfMapRegisters\n    );\n\ntypedef PHYSICAL_ADDRESS (*PMAP_TRANSFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN OUT PULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef ULONG (*PGET_DMA_ALIGNMENT)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef ULONG (*PREAD_DMA_COUNTER)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef VOID\n(*PDRIVER_LIST_CONTROL)(\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN PVOID Context\n    );\n\ntypedef NTSTATUS\n(*PGET_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PMDL Mdl,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN PDRIVER_LIST_CONTROL ExecutionRoutine,\n    IN PVOID Context,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef VOID\n(*PPUT_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef NTSTATUS\n(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(\n     IN PDMA_ADAPTER DmaAdapter,\n     IN OPTIONAL PMDL Mdl,\n     IN PVOID CurrentVa,\n     IN ULONG Length,\n     OUT PULONG  ScatterGatherListSize,\n     OUT OPTIONAL PULONG pNumberOfMapRegisters\n     );\n\ntypedef NTSTATUS\n(*PBUILD_SCATTER_GATHER_LIST)(\n     IN PDMA_ADAPTER DmaAdapter,\n     IN PDEVICE_OBJECT DeviceObject,\n     IN PMDL Mdl,\n     IN PVOID CurrentVa,\n     IN ULONG Length,\n     IN PDRIVER_LIST_CONTROL ExecutionRoutine,\n     IN PVOID Context,\n     IN BOOLEAN WriteToDevice,\n     IN PVOID   ScatterGatherBuffer,\n     IN ULONG   ScatterGatherLength\n     );\n\ntypedef NTSTATUS\n(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN PMDL OriginalMdl,\n    OUT PMDL *TargetMdl\n    );\n\ntypedef struct _DMA_OPERATIONS {\n    ULONG Size;\n    PPUT_DMA_ADAPTER PutDmaAdapter;\n    PALLOCATE_COMMON_BUFFER AllocateCommonBuffer;\n    PFREE_COMMON_BUFFER FreeCommonBuffer;\n    PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel;\n    PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers;\n    PFREE_ADAPTER_CHANNEL FreeAdapterChannel;\n    PFREE_MAP_REGISTERS FreeMapRegisters;\n    PMAP_TRANSFER MapTransfer;\n    PGET_DMA_ALIGNMENT GetDmaAlignment;\n    PREAD_DMA_COUNTER ReadDmaCounter;\n    PGET_SCATTER_GATHER_LIST GetScatterGatherList;\n    PPUT_SCATTER_GATHER_LIST PutScatterGatherList;\n    PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList;\n    PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList;\n    PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList;\n} DMA_OPERATIONS;\n\n// end_wdm\n\n\n#if defined(_WIN64)\n\n//\n// Use __inline DMA macros (hal.h)\n//\n#ifndef USE_DMA_MACROS\n#define USE_DMA_MACROS\n#endif\n\n//\n// Only PnP drivers!\n//\n#ifndef NO_LEGACY_DRIVERS\n#define NO_LEGACY_DRIVERS\n#endif\n\n#endif // _WIN64\n\n\n#if defined(USE_DMA_MACROS) && (defined(_NTDDK_) || defined(_NTDRIVER_))\n\n// begin_wdm\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateCommonBuffer\nFORCEINLINE\nPVOID\nHalAllocateCommonBuffer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    OUT PPHYSICAL_ADDRESS LogicalAddress,\n    IN BOOLEAN CacheEnabled\n    ){\n\n    PALLOCATE_COMMON_BUFFER allocateCommonBuffer;\n    PVOID commonBuffer;\n\n    allocateCommonBuffer = *(DmaAdapter)->DmaOperations->AllocateCommonBuffer;\n    ASSERT( allocateCommonBuffer != NULL );\n\n    commonBuffer = allocateCommonBuffer( DmaAdapter,\n                                         Length,\n                                         LogicalAddress,\n                                         CacheEnabled );\n\n    return commonBuffer;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeCommonBuffer\nFORCEINLINE\nVOID\nHalFreeCommonBuffer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    IN PHYSICAL_ADDRESS LogicalAddress,\n    IN PVOID VirtualAddress,\n    IN BOOLEAN CacheEnabled\n    ){\n\n    PFREE_COMMON_BUFFER freeCommonBuffer;\n\n    freeCommonBuffer = *(DmaAdapter)->DmaOperations->FreeCommonBuffer;\n    ASSERT( freeCommonBuffer != NULL );\n\n    freeCommonBuffer( DmaAdapter,\n                      Length,\n                      LogicalAddress,\n                      VirtualAddress,\n                      CacheEnabled );\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateAdapterChannel\nFORCEINLINE\nNTSTATUS\nIoAllocateAdapterChannel(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    ){\n\n    PALLOCATE_ADAPTER_CHANNEL allocateAdapterChannel;\n    NTSTATUS status;\n\n    allocateAdapterChannel =\n        *(DmaAdapter)->DmaOperations->AllocateAdapterChannel;\n\n    ASSERT( allocateAdapterChannel != NULL );\n\n    status = allocateAdapterChannel( DmaAdapter,\n                                     DeviceObject,\n                                     NumberOfMapRegisters,\n                                     ExecutionRoutine,\n                                     Context );\n\n    return status;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FlushAdapterBuffers\nFORCEINLINE\nBOOLEAN\nIoFlushAdapterBuffers(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN BOOLEAN WriteToDevice\n    ){\n\n    PFLUSH_ADAPTER_BUFFERS flushAdapterBuffers;\n    BOOLEAN result;\n\n    flushAdapterBuffers = *(DmaAdapter)->DmaOperations->FlushAdapterBuffers;\n    ASSERT( flushAdapterBuffers != NULL );\n\n    result = flushAdapterBuffers( DmaAdapter,\n                                  Mdl,\n                                  MapRegisterBase,\n                                  CurrentVa,\n                                  Length,\n                                  WriteToDevice );\n    return result;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeAdapterChannel\nFORCEINLINE\nVOID\nIoFreeAdapterChannel(\n    IN PDMA_ADAPTER DmaAdapter\n    ){\n\n    PFREE_ADAPTER_CHANNEL freeAdapterChannel;\n\n    freeAdapterChannel = *(DmaAdapter)->DmaOperations->FreeAdapterChannel;\n    ASSERT( freeAdapterChannel != NULL );\n\n    freeAdapterChannel( DmaAdapter );\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeMapRegisters\nFORCEINLINE\nVOID\nIoFreeMapRegisters(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PVOID MapRegisterBase,\n    IN ULONG NumberOfMapRegisters\n    ){\n\n    PFREE_MAP_REGISTERS freeMapRegisters;\n\n    freeMapRegisters = *(DmaAdapter)->DmaOperations->FreeMapRegisters;\n    ASSERT( freeMapRegisters != NULL );\n\n    freeMapRegisters( DmaAdapter,\n                      MapRegisterBase,\n                      NumberOfMapRegisters );\n}\n\n\nDECLSPEC_DEPRECATED_DDK                 // Use MapTransfer\nFORCEINLINE\nPHYSICAL_ADDRESS\nIoMapTransfer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN OUT PULONG Length,\n    IN BOOLEAN WriteToDevice\n    ){\n\n    PHYSICAL_ADDRESS physicalAddress;\n    PMAP_TRANSFER mapTransfer;\n\n    mapTransfer = *(DmaAdapter)->DmaOperations->MapTransfer;\n    ASSERT( mapTransfer != NULL );\n\n    physicalAddress = mapTransfer( DmaAdapter,\n                                   Mdl,\n                                   MapRegisterBase,\n                                   CurrentVa,\n                                   Length,\n                                   WriteToDevice );\n\n    return physicalAddress;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use GetDmaAlignment\nFORCEINLINE\nULONG\nHalGetDmaAlignment(\n    IN PDMA_ADAPTER DmaAdapter\n    )\n{\n    PGET_DMA_ALIGNMENT getDmaAlignment;\n    ULONG alignment;\n\n    getDmaAlignment = *(DmaAdapter)->DmaOperations->GetDmaAlignment;\n    ASSERT( getDmaAlignment != NULL );\n\n    alignment = getDmaAlignment( DmaAdapter );\n    return alignment;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use ReadDmaCounter\nFORCEINLINE\nULONG\nHalReadDmaCounter(\n    IN PDMA_ADAPTER DmaAdapter\n    )\n{\n    PREAD_DMA_COUNTER readDmaCounter;\n    ULONG counter;\n\n    readDmaCounter = *(DmaAdapter)->DmaOperations->ReadDmaCounter;\n    ASSERT( readDmaCounter != NULL );\n\n    counter = readDmaCounter( DmaAdapter );\n    return counter;\n}\n\n// end_wdm\n\n#else\n\n//\n// DMA adapter object functions.\n//\nNTHALAPI\nNTSTATUS\nHalAllocateAdapterChannel(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN PWAIT_CONTEXT_BLOCK Wcb,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateCommonBuffer\nNTHALAPI\nPVOID\nHalAllocateCommonBuffer(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN ULONG Length,\n    OUT PPHYSICAL_ADDRESS LogicalAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeCommonBuffer\nNTHALAPI\nVOID\nHalFreeCommonBuffer(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN ULONG Length,\n    IN PHYSICAL_ADDRESS LogicalAddress,\n    IN PVOID VirtualAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use ReadDmaCounter\nNTHALAPI\nULONG\nHalReadDmaCounter(\n    IN PADAPTER_OBJECT AdapterObject\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use FlushAdapterBuffers\nNTHALAPI\nBOOLEAN\nIoFlushAdapterBuffers(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeAdapterChannel\nNTHALAPI\nVOID\nIoFreeAdapterChannel(\n    IN PADAPTER_OBJECT AdapterObject\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeMapRegisters\nNTHALAPI\nVOID\nIoFreeMapRegisters(\n   IN PADAPTER_OBJECT AdapterObject,\n   IN PVOID MapRegisterBase,\n   IN ULONG NumberOfMapRegisters\n   );\n\nDECLSPEC_DEPRECATED_DDK                 // Use MapTransfer\nNTHALAPI\nPHYSICAL_ADDRESS\nIoMapTransfer(\n    IN PADAPTER_OBJECT AdapterObject,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN OUT PULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n#endif // USE_DMA_MACROS && (_NTDDK_ || _NTDRIVER_)\n\nNTSTATUS\nHalGetScatterGatherList (\n    IN PADAPTER_OBJECT DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PMDL Mdl,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN PDRIVER_LIST_CONTROL ExecutionRoutine,\n    IN PVOID Context,\n    IN BOOLEAN WriteToDevice\n    );\n\nVOID\nHalPutScatterGatherList (\n    IN PADAPTER_OBJECT DmaAdapter,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN BOOLEAN WriteToDevice\n    );\n\nVOID\nHalPutDmaAdapter(\n    IN PADAPTER_OBJECT DmaAdapter\n    );\n\n\nNTKERNELAPI\nVOID\nPoSetSystemState (\n    IN EXECUTION_STATE Flags\n    );\n\n// begin_ntifs\n\nNTKERNELAPI\nPVOID\nPoRegisterSystemState (\n    IN PVOID StateHandle,\n    IN EXECUTION_STATE Flags\n    );\n\n// end_ntifs\n\ntypedef\nVOID\n(*PREQUEST_POWER_COMPLETE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN UCHAR MinorFunction,\n    IN POWER_STATE PowerState,\n    IN PVOID Context,\n    IN PIO_STATUS_BLOCK IoStatus\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestPowerIrp (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN UCHAR MinorFunction,\n    IN POWER_STATE PowerState,\n    IN PREQUEST_POWER_COMPLETE CompletionFunction,\n    IN PVOID Context,\n    OUT PIRP *Irp OPTIONAL\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestShutdownEvent (\n    OUT PVOID *Event\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestShutdownWait (\n    IN PETHREAD Thread\n    );\n\n// begin_ntifs\n\nNTKERNELAPI\nVOID\nPoUnregisterSystemState (\n    IN PVOID StateHandle\n    );\n\n// begin_nthal\n\nNTKERNELAPI\nPOWER_STATE\nPoSetPowerState (\n    IN PDEVICE_OBJECT   DeviceObject,\n    IN POWER_STATE_TYPE Type,\n    IN POWER_STATE      State\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoCallDriver (\n    IN PDEVICE_OBJECT   DeviceObject,\n    IN OUT PIRP         Irp\n    );\n\nNTKERNELAPI\nVOID\nPoStartNextPowerIrp(\n    IN PIRP    Irp\n    );\n\n\nNTKERNELAPI\nPULONG\nPoRegisterDeviceForIdleDetection (\n    IN PDEVICE_OBJECT     DeviceObject,\n    IN ULONG              ConservationIdleTime,\n    IN ULONG              PerformanceIdleTime,\n    IN DEVICE_POWER_STATE State\n    );\n\n#define PoSetDeviceBusy(IdlePointer) \\\n    *IdlePointer = 0\n\n//\n// \\Callback\\PowerState values\n//\n\n#define PO_CB_SYSTEM_POWER_POLICY       0\n#define PO_CB_AC_STATUS                 1\n#define PO_CB_BUTTON_COLLISION          2\n#define PO_CB_SYSTEM_STATE_LOCK         3\n#define PO_CB_LID_SWITCH_STATE          4\n#define PO_CB_PROCESSOR_POWER_POLICY    5\n\n//\n// Determine if there is a complete device failure on an error.\n//\n\nNTKERNELAPI\nBOOLEAN\nFsRtlIsTotalDeviceFailure(\n    IN NTSTATUS Status\n    );\n\n//\n// Object Manager types\n//\n\ntypedef struct _OBJECT_HANDLE_INFORMATION {\n    ULONG HandleAttributes;\n    ACCESS_MASK GrantedAccess;\n} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;\n\nNTKERNELAPI                                                     \nNTSTATUS                                                        \nObReferenceObjectByHandle(                                      \n    IN HANDLE Handle,                                           \n    IN ACCESS_MASK DesiredAccess,                               \n    IN POBJECT_TYPE ObjectType OPTIONAL,                        \n    IN KPROCESSOR_MODE AccessMode,                              \n    OUT PVOID *Object,                                          \n    OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL   \n    );                                                          \n\n#define ObDereferenceObject(a)                                     \\\n        ObfDereferenceObject(a)\n\n#define ObReferenceObject(Object) ObfReferenceObject(Object)\n\nNTKERNELAPI\nLONG\nFASTCALL\nObfReferenceObject(\n    IN PVOID Object\n    );\n\nNTKERNELAPI\nNTSTATUS\nObReferenceObjectByPointer(\n    IN PVOID Object,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_TYPE ObjectType,\n    IN KPROCESSOR_MODE AccessMode\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nObfDereferenceObject(\n    IN PVOID Object\n    );\n\nNTSTATUS\nObGetObjectSecurity(\n    IN PVOID Object,\n    OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,\n    OUT PBOOLEAN MemoryAllocated\n    );\n\nVOID\nObReleaseObjectSecurity(\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN BOOLEAN MemoryAllocated\n    );\n\n\n//\n// A PCI driver can read the complete 256 bytes of configuration\n// information for any PCI device by calling:\n//\n//      ULONG\n//      HalGetBusData (\n//          IN BUS_DATA_TYPE        PCIConfiguration,\n//          IN ULONG                PciBusNumber,\n//          IN PCI_SLOT_NUMBER      VirtualSlotNumber,\n//          IN PPCI_COMMON_CONFIG   &PCIDeviceConfig,\n//          IN ULONG                sizeof (PCIDeviceConfig)\n//      );\n//\n//      A return value of 0 means that the specified PCI bus does not exist.\n//\n//      A return value of 2, with a VendorID of PCI_INVALID_VENDORID means\n//      that the PCI bus does exist, but there is no device at the specified\n//      VirtualSlotNumber (PCI Device/Function number).\n//\n//\n\n// begin_wdm begin_ntminiport begin_ntndis\n\ntypedef struct _PCI_SLOT_NUMBER {\n    union {\n        struct {\n            ULONG   DeviceNumber:5;\n            ULONG   FunctionNumber:3;\n            ULONG   Reserved:24;\n        } bits;\n        ULONG   AsULONG;\n    } u;\n} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;\n\n\n#define PCI_TYPE0_ADDRESSES             6\n#define PCI_TYPE1_ADDRESSES             2\n#define PCI_TYPE2_ADDRESSES             5\n\ntypedef struct _PCI_COMMON_CONFIG {\n    USHORT  VendorID;                   // (ro)\n    USHORT  DeviceID;                   // (ro)\n    USHORT  Command;                    // Device control\n    USHORT  Status;\n    UCHAR   RevisionID;                 // (ro)\n    UCHAR   ProgIf;                     // (ro)\n    UCHAR   SubClass;                   // (ro)\n    UCHAR   BaseClass;                  // (ro)\n    UCHAR   CacheLineSize;              // (ro+)\n    UCHAR   LatencyTimer;               // (ro+)\n    UCHAR   HeaderType;                 // (ro)\n    UCHAR   BIST;                       // Built in self test\n\n    union {\n        struct _PCI_HEADER_TYPE_0 {\n            ULONG   BaseAddresses[PCI_TYPE0_ADDRESSES];\n            ULONG   CIS;\n            USHORT  SubVendorID;\n            USHORT  SubSystemID;\n            ULONG   ROMBaseAddress;\n            UCHAR   CapabilitiesPtr;\n            UCHAR   Reserved1[3];\n            ULONG   Reserved2;\n            UCHAR   InterruptLine;      //\n            UCHAR   InterruptPin;       // (ro)\n            UCHAR   MinimumGrant;       // (ro)\n            UCHAR   MaximumLatency;     // (ro)\n        } type0;\n\n// end_wdm end_ntminiport end_ntndis\n\n        //\n        // PCI to PCI Bridge\n        //\n\n        struct _PCI_HEADER_TYPE_1 {\n            ULONG   BaseAddresses[PCI_TYPE1_ADDRESSES];\n            UCHAR   PrimaryBus;\n            UCHAR   SecondaryBus;\n            UCHAR   SubordinateBus;\n            UCHAR   SecondaryLatency;\n            UCHAR   IOBase;\n            UCHAR   IOLimit;\n            USHORT  SecondaryStatus;\n            USHORT  MemoryBase;\n            USHORT  MemoryLimit;\n            USHORT  PrefetchBase;\n            USHORT  PrefetchLimit;\n            ULONG   PrefetchBaseUpper32;\n            ULONG   PrefetchLimitUpper32;\n            USHORT  IOBaseUpper16;\n            USHORT  IOLimitUpper16;\n            UCHAR   CapabilitiesPtr;\n            UCHAR   Reserved1[3];\n            ULONG   ROMBaseAddress;\n            UCHAR   InterruptLine;\n            UCHAR   InterruptPin;\n            USHORT  BridgeControl;\n        } type1;\n\n        //\n        // PCI to CARDBUS Bridge\n        //\n\n        struct _PCI_HEADER_TYPE_2 {\n            ULONG   SocketRegistersBaseAddress;\n            UCHAR   CapabilitiesPtr;\n            UCHAR   Reserved;\n            USHORT  SecondaryStatus;\n            UCHAR   PrimaryBus;\n            UCHAR   SecondaryBus;\n            UCHAR   SubordinateBus;\n            UCHAR   SecondaryLatency;\n            struct  {\n                ULONG   Base;\n                ULONG   Limit;\n            }       Range[PCI_TYPE2_ADDRESSES-1];\n            UCHAR   InterruptLine;\n            UCHAR   InterruptPin;\n            USHORT  BridgeControl;\n        } type2;\n\n// begin_wdm begin_ntminiport begin_ntndis\n\n    } u;\n\n    UCHAR   DeviceSpecific[192];\n\n} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;\n\n\n#define PCI_COMMON_HDR_LENGTH (FIELD_OFFSET (PCI_COMMON_CONFIG, DeviceSpecific))\n\n#define PCI_MAX_DEVICES                     32\n#define PCI_MAX_FUNCTION                    8\n#define PCI_MAX_BRIDGE_NUMBER               0xFF\n\n#define PCI_INVALID_VENDORID                0xFFFF\n\n//\n// Bit encodings for  PCI_COMMON_CONFIG.HeaderType\n//\n\n#define PCI_MULTIFUNCTION                   0x80\n#define PCI_DEVICE_TYPE                     0x00\n#define PCI_BRIDGE_TYPE                     0x01\n#define PCI_CARDBUS_BRIDGE_TYPE             0x02\n\n#define PCI_CONFIGURATION_TYPE(PciData) \\\n    (((PPCI_COMMON_CONFIG)(PciData))->HeaderType & ~PCI_MULTIFUNCTION)\n\n#define PCI_MULTIFUNCTION_DEVICE(PciData) \\\n    ((((PPCI_COMMON_CONFIG)(PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)\n\n//\n// Bit encodings for PCI_COMMON_CONFIG.Command\n//\n\n#define PCI_ENABLE_IO_SPACE                 0x0001\n#define PCI_ENABLE_MEMORY_SPACE             0x0002\n#define PCI_ENABLE_BUS_MASTER               0x0004\n#define PCI_ENABLE_SPECIAL_CYCLES           0x0008\n#define PCI_ENABLE_WRITE_AND_INVALIDATE     0x0010\n#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE   0x0020\n#define PCI_ENABLE_PARITY                   0x0040  // (ro+)\n#define PCI_ENABLE_WAIT_CYCLE               0x0080  // (ro+)\n#define PCI_ENABLE_SERR                     0x0100  // (ro+)\n#define PCI_ENABLE_FAST_BACK_TO_BACK        0x0200  // (ro)\n\n//\n// Bit encodings for PCI_COMMON_CONFIG.Status\n//\n\n#define PCI_STATUS_CAPABILITIES_LIST        0x0010  // (ro)\n#define PCI_STATUS_66MHZ_CAPABLE            0x0020  // (ro)\n#define PCI_STATUS_UDF_SUPPORTED            0x0040  // (ro)\n#define PCI_STATUS_FAST_BACK_TO_BACK        0x0080  // (ro)\n#define PCI_STATUS_DATA_PARITY_DETECTED     0x0100\n#define PCI_STATUS_DEVSEL                   0x0600  // 2 bits wide\n#define PCI_STATUS_SIGNALED_TARGET_ABORT    0x0800\n#define PCI_STATUS_RECEIVED_TARGET_ABORT    0x1000\n#define PCI_STATUS_RECEIVED_MASTER_ABORT    0x2000\n#define PCI_STATUS_SIGNALED_SYSTEM_ERROR    0x4000\n#define PCI_STATUS_DETECTED_PARITY_ERROR    0x8000\n\n//\n// The NT PCI Driver uses a WhichSpace parameter on its CONFIG_READ/WRITE\n// routines.   The following values are defined-\n//\n\n#define PCI_WHICHSPACE_CONFIG               0x0\n#define PCI_WHICHSPACE_ROM                  0x52696350\n\n// end_wdm\n//\n// PCI Capability IDs\n//\n\n#define PCI_CAPABILITY_ID_POWER_MANAGEMENT  0x01\n#define PCI_CAPABILITY_ID_AGP               0x02\n#define PCI_CAPABILITY_ID_MSI               0x05\n\n//\n// All PCI Capability structures have the following header.\n//\n// CapabilityID is used to identify the type of the structure (is\n// one of the PCI_CAPABILITY_ID values above.\n//\n// Next is the offset in PCI Configuration space (0x40 - 0xfc) of the\n// next capability structure in the list, or 0x00 if there are no more\n// entries.\n//\ntypedef struct _PCI_CAPABILITIES_HEADER {\n    UCHAR   CapabilityID;\n    UCHAR   Next;\n} PCI_CAPABILITIES_HEADER, *PPCI_CAPABILITIES_HEADER;\n\n//\n// Power Management Capability\n//\n\ntypedef struct _PCI_PMC {\n    UCHAR       Version:3;\n    UCHAR       PMEClock:1;\n    UCHAR       Rsvd1:1;\n    UCHAR       DeviceSpecificInitialization:1;\n    UCHAR       Rsvd2:2;\n    struct _PM_SUPPORT {\n        UCHAR   Rsvd2:1;\n        UCHAR   D1:1;\n        UCHAR   D2:1;\n        UCHAR   PMED0:1;\n        UCHAR   PMED1:1;\n        UCHAR   PMED2:1;\n        UCHAR   PMED3Hot:1;\n        UCHAR   PMED3Cold:1;\n    } Support;\n} PCI_PMC, *PPCI_PMC;\n\ntypedef struct _PCI_PMCSR {\n    USHORT      PowerState:2;\n    USHORT      Rsvd1:6;\n    USHORT      PMEEnable:1;\n    USHORT      DataSelect:4;\n    USHORT      DataScale:2;\n    USHORT      PMEStatus:1;\n} PCI_PMCSR, *PPCI_PMCSR;\n\n\ntypedef struct _PCI_PMCSR_BSE {\n    UCHAR       Rsvd1:6;\n    UCHAR       D3HotSupportsStopClock:1;       // B2_B3#\n    UCHAR       BusPowerClockControlEnabled:1;  // BPCC_EN\n} PCI_PMCSR_BSE, *PPCI_PMCSR_BSE;\n\n\ntypedef struct _PCI_PM_CAPABILITY {\n\n    PCI_CAPABILITIES_HEADER Header;\n\n    //\n    // Power Management Capabilities (Offset = 2)\n    //\n\n    union {\n        PCI_PMC         Capabilities;\n        USHORT          AsUSHORT;\n    } PMC;\n\n    //\n    // Power Management Control/Status (Offset = 4)\n    //\n\n    union {\n        PCI_PMCSR       ControlStatus;\n        USHORT          AsUSHORT;\n    } PMCSR;\n\n    //\n    // PMCSR PCI-PCI Bridge Support Extensions\n    //\n\n    union {\n        PCI_PMCSR_BSE   BridgeSupport;\n        UCHAR           AsUCHAR;\n    } PMCSR_BSE;\n\n    //\n    // Optional read only 8 bit Data register.  Contents controlled by\n    // DataSelect and DataScale in ControlStatus.\n    //\n\n    UCHAR   Data;\n\n} PCI_PM_CAPABILITY, *PPCI_PM_CAPABILITY;\n\n//\n// AGP Capability\n//\n\ntypedef struct _PCI_AGP_CAPABILITY {\n\n    PCI_CAPABILITIES_HEADER Header;\n\n    USHORT  Minor:4;\n    USHORT  Major:4;\n    USHORT  Rsvd1:8;\n\n    struct  _PCI_AGP_STATUS {\n        ULONG   Rate:3;\n        ULONG   Rsvd1:1;\n        ULONG   FastWrite:1;\n        ULONG   FourGB:1;\n        ULONG   Rsvd2:3;\n        ULONG   SideBandAddressing:1;                   // SBA\n        ULONG   Rsvd3:14;\n        ULONG   RequestQueueDepthMaximum:8;             // RQ\n    } AGPStatus;\n\n    struct  _PCI_AGP_COMMAND {\n        ULONG   Rate:3;\n        ULONG   Rsvd1:1;\n        ULONG   FastWriteEnable:1;\n        ULONG   FourGBEnable:1;\n        ULONG   Rsvd2:2;\n        ULONG   AGPEnable:1;\n        ULONG   SBAEnable:1;\n        ULONG   Rsvd3:14;\n        ULONG   RequestQueueDepth:8;\n    } AGPCommand;\n\n} PCI_AGP_CAPABILITY, *PPCI_AGP_CAPABILITY;\n\n#define PCI_AGP_RATE_1X     0x1\n#define PCI_AGP_RATE_2X     0x2\n#define PCI_AGP_RATE_4X     0x4\n\n//\n// MSI (Message Signalled Interrupts) Capability\n//\n\ntypedef struct _PCI_MSI_CAPABILITY {\n\n      PCI_CAPABILITIES_HEADER Header;\n\n      struct _PCI_MSI_MESSAGE_CONTROL {\n         USHORT  MSIEnable:1;\n         USHORT  MultipleMessageCapable:3;\n         USHORT  MultipleMessageEnable:3;\n         USHORT  CapableOf64Bits:1;\n         USHORT  Reserved:8;\n      } MessageControl;\n\n      union {\n            struct _PCI_MSI_MESSAGE_ADDRESS {\n               ULONG_PTR Reserved:2;              // always zero, DWORD aligned address\n               ULONG_PTR Address:30;\n            } Register;\n            ULONG_PTR Raw;\n      } MessageAddress;\n\n      //\n      // The rest of the Capability structure differs depending on whether\n      // 32bit or 64bit addressing is being used.\n      //\n      // (The CapableOf64Bits bit above determines this)\n      //\n\n      union {\n\n         // For 64 bit devices\n\n         struct _PCI_MSI_64BIT_DATA {\n            ULONG MessageUpperAddress;\n            USHORT MessageData;\n         } Bit64;\n\n         // For 32 bit devices\n\n         struct _PCI_MSI_32BIT_DATA {\n            USHORT MessageData;\n            ULONG Unused;\n         } Bit32;\n      } Data;\n\n} PCI_MSI_CAPABILITY, *PPCI_PCI_CAPABILITY;\n\n// begin_wdm\n//\n// Base Class Code encodings for Base Class (from PCI spec rev 2.1).\n//\n\n#define PCI_CLASS_PRE_20                    0x00\n#define PCI_CLASS_MASS_STORAGE_CTLR         0x01\n#define PCI_CLASS_NETWORK_CTLR              0x02\n#define PCI_CLASS_DISPLAY_CTLR              0x03\n#define PCI_CLASS_MULTIMEDIA_DEV            0x04\n#define PCI_CLASS_MEMORY_CTLR               0x05\n#define PCI_CLASS_BRIDGE_DEV                0x06\n#define PCI_CLASS_SIMPLE_COMMS_CTLR         0x07\n#define PCI_CLASS_BASE_SYSTEM_DEV           0x08\n#define PCI_CLASS_INPUT_DEV                 0x09\n#define PCI_CLASS_DOCKING_STATION           0x0a\n#define PCI_CLASS_PROCESSOR                 0x0b\n#define PCI_CLASS_SERIAL_BUS_CTLR           0x0c\n#define PCI_CLASS_WIRELESS_CTLR             0x0d\n#define PCI_CLASS_INTELLIGENT_IO_CTLR       0x0e\n#define PCI_CLASS_SATELLITE_COMMS_CTLR      0x0f\n#define PCI_CLASS_ENCRYPTION_DECRYPTION     0x10\n#define PCI_CLASS_DATA_ACQ_SIGNAL_PROC      0x11\n\n// 0d thru fe reserved\n\n#define PCI_CLASS_NOT_DEFINED               0xff\n\n//\n// Sub Class Code encodings (PCI rev 2.1).\n//\n\n// Class 00 - PCI_CLASS_PRE_20\n\n#define PCI_SUBCLASS_PRE_20_NON_VGA         0x00\n#define PCI_SUBCLASS_PRE_20_VGA             0x01\n\n// Class 01 - PCI_CLASS_MASS_STORAGE_CTLR\n\n#define PCI_SUBCLASS_MSC_SCSI_BUS_CTLR      0x00\n#define PCI_SUBCLASS_MSC_IDE_CTLR           0x01\n#define PCI_SUBCLASS_MSC_FLOPPY_CTLR        0x02\n#define PCI_SUBCLASS_MSC_IPI_CTLR           0x03\n#define PCI_SUBCLASS_MSC_RAID_CTLR          0x04\n#define PCI_SUBCLASS_MSC_OTHER              0x80\n\n// Class 02 - PCI_CLASS_NETWORK_CTLR\n\n#define PCI_SUBCLASS_NET_ETHERNET_CTLR      0x00\n#define PCI_SUBCLASS_NET_TOKEN_RING_CTLR    0x01\n#define PCI_SUBCLASS_NET_FDDI_CTLR          0x02\n#define PCI_SUBCLASS_NET_ATM_CTLR           0x03\n#define PCI_SUBCLASS_NET_ISDN_CTLR          0x04\n#define PCI_SUBCLASS_NET_OTHER              0x80\n\n// Class 03 - PCI_CLASS_DISPLAY_CTLR\n\n// N.B. Sub Class 00 could be VGA or 8514 depending on Interface byte\n\n#define PCI_SUBCLASS_VID_VGA_CTLR           0x00\n#define PCI_SUBCLASS_VID_XGA_CTLR           0x01\n#define PCI_SUBLCASS_VID_3D_CTLR            0x02\n#define PCI_SUBCLASS_VID_OTHER              0x80\n\n// Class 04 - PCI_CLASS_MULTIMEDIA_DEV\n\n#define PCI_SUBCLASS_MM_VIDEO_DEV           0x00\n#define PCI_SUBCLASS_MM_AUDIO_DEV           0x01\n#define PCI_SUBCLASS_MM_TELEPHONY_DEV       0x02\n#define PCI_SUBCLASS_MM_OTHER               0x80\n\n// Class 05 - PCI_CLASS_MEMORY_CTLR\n\n#define PCI_SUBCLASS_MEM_RAM                0x00\n#define PCI_SUBCLASS_MEM_FLASH              0x01\n#define PCI_SUBCLASS_MEM_OTHER              0x80\n\n// Class 06 - PCI_CLASS_BRIDGE_DEV\n\n#define PCI_SUBCLASS_BR_HOST                0x00\n#define PCI_SUBCLASS_BR_ISA                 0x01\n#define PCI_SUBCLASS_BR_EISA                0x02\n#define PCI_SUBCLASS_BR_MCA                 0x03\n#define PCI_SUBCLASS_BR_PCI_TO_PCI          0x04\n#define PCI_SUBCLASS_BR_PCMCIA              0x05\n#define PCI_SUBCLASS_BR_NUBUS               0x06\n#define PCI_SUBCLASS_BR_CARDBUS             0x07\n#define PCI_SUBCLASS_BR_RACEWAY             0x08\n#define PCI_SUBCLASS_BR_OTHER               0x80\n\n// Class 07 - PCI_CLASS_SIMPLE_COMMS_CTLR\n\n// N.B. Sub Class 00 and 01 additional info in Interface byte\n\n#define PCI_SUBCLASS_COM_SERIAL             0x00\n#define PCI_SUBCLASS_COM_PARALLEL           0x01\n#define PCI_SUBCLASS_COM_MULTIPORT          0x02\n#define PCI_SUBCLASS_COM_MODEM              0x03\n#define PCI_SUBCLASS_COM_OTHER              0x80\n\n// Class 08 - PCI_CLASS_BASE_SYSTEM_DEV\n\n// N.B. See Interface byte for additional info.\n\n#define PCI_SUBCLASS_SYS_INTERRUPT_CTLR     0x00\n#define PCI_SUBCLASS_SYS_DMA_CTLR           0x01\n#define PCI_SUBCLASS_SYS_SYSTEM_TIMER       0x02\n#define PCI_SUBCLASS_SYS_REAL_TIME_CLOCK    0x03\n#define PCI_SUBCLASS_SYS_GEN_HOTPLUG_CTLR   0x04\n#define PCI_SUBCLASS_SYS_OTHER              0x80\n\n// Class 09 - PCI_CLASS_INPUT_DEV\n\n#define PCI_SUBCLASS_INP_KEYBOARD           0x00\n#define PCI_SUBCLASS_INP_DIGITIZER          0x01\n#define PCI_SUBCLASS_INP_MOUSE              0x02\n#define PCI_SUBCLASS_INP_SCANNER            0x03\n#define PCI_SUBCLASS_INP_GAMEPORT           0x04\n#define PCI_SUBCLASS_INP_OTHER              0x80\n\n// Class 0a - PCI_CLASS_DOCKING_STATION\n\n#define PCI_SUBCLASS_DOC_GENERIC            0x00\n#define PCI_SUBCLASS_DOC_OTHER              0x80\n\n// Class 0b - PCI_CLASS_PROCESSOR\n\n#define PCI_SUBCLASS_PROC_386               0x00\n#define PCI_SUBCLASS_PROC_486               0x01\n#define PCI_SUBCLASS_PROC_PENTIUM           0x02\n#define PCI_SUBCLASS_PROC_ALPHA             0x10\n#define PCI_SUBCLASS_PROC_POWERPC           0x20\n#define PCI_SUBCLASS_PROC_COPROCESSOR       0x40\n\n// Class 0c - PCI_CLASS_SERIAL_BUS_CTLR\n\n#define PCI_SUBCLASS_SB_IEEE1394            0x00\n#define PCI_SUBCLASS_SB_ACCESS              0x01\n#define PCI_SUBCLASS_SB_SSA                 0x02\n#define PCI_SUBCLASS_SB_USB                 0x03\n#define PCI_SUBCLASS_SB_FIBRE_CHANNEL       0x04\n#define PCI_SUBCLASS_SB_SMBUS               0x05\n\n// Class 0d - PCI_CLASS_WIRELESS_CTLR\n\n#define PCI_SUBCLASS_WIRELESS_IRDA          0x00\n#define PCI_SUBCLASS_WIRELESS_CON_IR        0x01\n#define PCI_SUBCLASS_WIRELESS_RF            0x10\n#define PCI_SUBCLASS_WIRELESS_OTHER         0x80\n\n// Class 0e - PCI_CLASS_INTELLIGENT_IO_CTLR\n\n#define PCI_SUBCLASS_INTIO_I2O              0x00\n\n// Class 0f - PCI_CLASS_SATELLITE_CTLR\n\n#define PCI_SUBCLASS_SAT_TV                 0x01\n#define PCI_SUBCLASS_SAT_AUDIO              0x02\n#define PCI_SUBCLASS_SAT_VOICE              0x03\n#define PCI_SUBCLASS_SAT_DATA               0x04\n\n// Class 10 - PCI_CLASS_ENCRYPTION_DECRYPTION\n\n#define PCI_SUBCLASS_CRYPTO_NET_COMP        0x00\n#define PCI_SUBCLASS_CRYPTO_ENTERTAINMENT   0x10\n#define PCI_SUBCLASS_CRYPTO_OTHER           0x80\n\n// Class 11 - PCI_CLASS_DATA_ACQ_SIGNAL_PROC\n\n#define PCI_SUBCLASS_DASP_DPIO              0x00\n#define PCI_SUBCLASS_DASP_OTHER             0x80\n\n\n\n// end_ntndis\n\n//\n// Bit encodes for PCI_COMMON_CONFIG.u.type0.BaseAddresses\n//\n\n#define PCI_ADDRESS_IO_SPACE                0x00000001  // (ro)\n#define PCI_ADDRESS_MEMORY_TYPE_MASK        0x00000006  // (ro)\n#define PCI_ADDRESS_MEMORY_PREFETCHABLE     0x00000008  // (ro)\n\n#define PCI_ADDRESS_IO_ADDRESS_MASK         0xfffffffc\n#define PCI_ADDRESS_MEMORY_ADDRESS_MASK     0xfffffff0\n#define PCI_ADDRESS_ROM_ADDRESS_MASK        0xfffff800\n\n#define PCI_TYPE_32BIT      0\n#define PCI_TYPE_20BIT      2\n#define PCI_TYPE_64BIT      4\n\n//\n// Bit encodes for PCI_COMMON_CONFIG.u.type0.ROMBaseAddresses\n//\n\n#define PCI_ROMADDRESS_ENABLED              0x00000001\n\n\n//\n// Reference notes for PCI configuration fields:\n//\n// ro   these field are read only.  changes to these fields are ignored\n//\n// ro+  these field are intended to be read only and should be initialized\n//      by the system to their proper values.  However, driver may change\n//      these settings.\n//\n// ---\n//\n//      All resources comsumed by a PCI device start as unitialized\n//      under NT.  An uninitialized memory or I/O base address can be\n//      determined by checking it's corrisponding enabled bit in the\n//      PCI_COMMON_CONFIG.Command value.  An InterruptLine is unitialized\n//      if it contains the value of -1.\n//\n\n// end_wdm end_ntminiport\n\n\n//\n// Portable portion of HAL & HAL bus extender definitions for BUSHANDLER\n// BusData for installed PCI buses.\n//\n\ntypedef VOID\n(*PciPin2Line) (\n    IN struct _BUS_HANDLER  *BusHandler,\n    IN struct _BUS_HANDLER  *RootHandler,\n    IN PCI_SLOT_NUMBER      SlotNumber,\n    IN PPCI_COMMON_CONFIG   PciData\n    );\n\ntypedef VOID\n(*PciLine2Pin) (\n    IN struct _BUS_HANDLER  *BusHandler,\n    IN struct _BUS_HANDLER  *RootHandler,\n    IN PCI_SLOT_NUMBER      SlotNumber,\n    IN PPCI_COMMON_CONFIG   PciNewData,\n    IN PPCI_COMMON_CONFIG   PciOldData\n    );\n\ntypedef VOID\n(*PciReadWriteConfig) (\n    IN struct _BUS_HANDLER *BusHandler,\n    IN PCI_SLOT_NUMBER Slot,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\n#define PCI_DATA_TAG            ' ICP'\n#define PCI_DATA_VERSION        1\n\ntypedef struct _PCIBUSDATA {\n    ULONG                   Tag;\n    ULONG                   Version;\n    PciReadWriteConfig      ReadConfig;\n    PciReadWriteConfig      WriteConfig;\n    PciPin2Line             Pin2Line;\n    PciLine2Pin             Line2Pin;\n    PCI_SLOT_NUMBER         ParentSlot;\n    PVOID                   Reserved[4];\n} PCIBUSDATA, *PPCIBUSDATA;\n\ntypedef ULONG (*PCI_READ_WRITE_CONFIG)(\n    IN PVOID Context,\n    IN UCHAR BusOffset,\n    IN ULONG Slot,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\ntypedef VOID (*PCI_PIN_TO_LINE)(\n    IN PVOID Context,\n    IN PPCI_COMMON_CONFIG PciData\n    );\n\ntypedef VOID (*PCI_LINE_TO_PIN)(\n    IN PVOID Context,\n    IN PPCI_COMMON_CONFIG PciNewData,\n    IN PPCI_COMMON_CONFIG PciOldData\n    );\n\ntypedef struct _PCI_BUS_INTERFACE_STANDARD {\n    //\n    // generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    //\n    // standard PCI bus interfaces\n    //\n    PCI_READ_WRITE_CONFIG ReadConfig;\n    PCI_READ_WRITE_CONFIG WriteConfig;\n    PCI_PIN_TO_LINE PinToLine;\n    PCI_LINE_TO_PIN LineToPin;\n} PCI_BUS_INTERFACE_STANDARD, *PPCI_BUS_INTERFACE_STANDARD;\n\n#define PCI_BUS_INTERFACE_STANDARD_VERSION 1\n\n// begin_wdm\n\n#define PCI_DEVICE_PRESENT_INTERFACE_VERSION 1\n\n//\n// Flags for PCI_DEVICE_PRESENCE_PARAMETERS\n//\n#define PCI_USE_SUBSYSTEM_IDS   0x00000001\n#define PCI_USE_REVISION        0x00000002\n// The following flags are only valid for IsDevicePresentEx\n#define PCI_USE_VENDEV_IDS      0x00000004\n#define PCI_USE_CLASS_SUBCLASS  0x00000008\n#define PCI_USE_PROGIF          0x00000010\n#define PCI_USE_LOCAL_BUS       0x00000020\n#define PCI_USE_LOCAL_DEVICE    0x00000040\n\n//\n// Search parameters structure for IsDevicePresentEx\n//\ntypedef struct _PCI_DEVICE_PRESENCE_PARAMETERS {\n    \n    ULONG Size;\n    ULONG Flags;\n\n    USHORT VendorID;\n    USHORT DeviceID;\n    UCHAR RevisionID;\n    USHORT SubVendorID;\n    USHORT SubSystemID;\n    UCHAR BaseClass;\n    UCHAR SubClass;\n    UCHAR ProgIf;\n\n} PCI_DEVICE_PRESENCE_PARAMETERS, *PPCI_DEVICE_PRESENCE_PARAMETERS;\n\ntypedef\nBOOLEAN\n(*PPCI_IS_DEVICE_PRESENT) (\n    IN USHORT VendorID,\n    IN USHORT DeviceID,\n    IN UCHAR RevisionID,\n    IN USHORT SubVendorID,\n    IN USHORT SubSystemID,\n    IN ULONG Flags\n);\n\ntypedef\nBOOLEAN\n(*PPCI_IS_DEVICE_PRESENT_EX) (\n    IN PVOID Context,\n    IN PPCI_DEVICE_PRESENCE_PARAMETERS Parameters\n    );\n\ntypedef struct _PCI_DEVICE_PRESENT_INTERFACE {\n    //\n    // generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    //\n    // pci device info\n    //\n    PPCI_IS_DEVICE_PRESENT IsDevicePresent;\n    \n    PPCI_IS_DEVICE_PRESENT_EX IsDevicePresentEx;\n\n} PCI_DEVICE_PRESENT_INTERFACE, *PPCI_DEVICE_PRESENT_INTERFACE;\n\n\n\n\n#ifdef POOL_TAGGING\n#define ExAllocatePool(a,b) ExAllocatePoolWithTag(a,b,' kdD')\n#define ExAllocatePoolWithQuota(a,b) ExAllocatePoolWithQuotaTag(a,b,' kdD')\n#endif\n\nextern POBJECT_TYPE *IoFileObjectType;\nextern POBJECT_TYPE *ExEventObjectType;\nextern POBJECT_TYPE *ExSemaphoreObjectType;\n\n//\n// Define exported ZwXxx routines to device drivers.\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PLARGE_INTEGER AllocationSize OPTIONAL,\n    IN ULONG FileAttributes,\n    IN ULONG ShareAccess,\n    IN ULONG CreateDisposition,\n    IN ULONG CreateOptions,\n    IN PVOID EaBuffer OPTIONAL,\n    IN ULONG EaLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG ShareAccess,\n    IN ULONG OpenOptions\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryInformationFile(\n    IN HANDLE FileHandle,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    OUT PVOID FileInformation,\n    IN ULONG Length,\n    IN FILE_INFORMATION_CLASS FileInformationClass\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwSetInformationFile(\n    IN HANDLE FileHandle,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PVOID FileInformation,\n    IN ULONG Length,\n    IN FILE_INFORMATION_CLASS FileInformationClass\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwReadFile(\n    IN HANDLE FileHandle,\n    IN HANDLE Event OPTIONAL,\n    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,\n    IN PVOID ApcContext OPTIONAL,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    OUT PVOID Buffer,\n    IN ULONG Length,\n    IN PLARGE_INTEGER ByteOffset OPTIONAL,\n    IN PULONG Key OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwWriteFile(\n    IN HANDLE FileHandle,\n    IN HANDLE Event OPTIONAL,\n    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,\n    IN PVOID ApcContext OPTIONAL,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PVOID Buffer,\n    IN ULONG Length,\n    IN PLARGE_INTEGER ByteOffset OPTIONAL,\n    IN PULONG Key OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwClose(\n    IN HANDLE Handle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateDirectoryObject(\n    OUT PHANDLE DirectoryHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwMakeTemporaryObject(\n    IN HANDLE Handle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenSection(\n    OUT PHANDLE SectionHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwMapViewOfSection(\n    IN HANDLE SectionHandle,\n    IN HANDLE ProcessHandle,\n    IN OUT PVOID *BaseAddress,\n    IN ULONG ZeroBits,\n    IN ULONG CommitSize,\n    IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,\n    IN OUT PSIZE_T ViewSize,\n    IN SECTION_INHERIT InheritDisposition,\n    IN ULONG AllocationType,\n    IN ULONG Protect\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwUnmapViewOfSection(\n    IN HANDLE ProcessHandle,\n    IN PVOID BaseAddress\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwSetInformationThread(\n    IN HANDLE ThreadHandle,\n    IN THREADINFOCLASS ThreadInformationClass,\n    IN PVOID ThreadInformation,\n    IN ULONG ThreadInformationLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateKey(\n    OUT PHANDLE KeyHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    IN ULONG TitleIndex,\n    IN PUNICODE_STRING Class OPTIONAL,\n    IN ULONG CreateOptions,\n    OUT PULONG Disposition OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenKey(\n    OUT PHANDLE KeyHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwDeleteKey(\n    IN HANDLE KeyHandle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwDeleteValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwEnumerateKey(\n    IN HANDLE KeyHandle,\n    IN ULONG Index,\n    IN KEY_INFORMATION_CLASS KeyInformationClass,\n    OUT PVOID KeyInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwEnumerateValueKey(\n    IN HANDLE KeyHandle,\n    IN ULONG Index,\n    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,\n    OUT PVOID KeyValueInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwFlushKey(\n    IN HANDLE KeyHandle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryKey(\n    IN HANDLE KeyHandle,\n    IN KEY_INFORMATION_CLASS KeyInformationClass,\n    OUT PVOID KeyInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName,\n    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,\n    OUT PVOID KeyValueInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwSetValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName,\n    IN ULONG TitleIndex OPTIONAL,\n    IN ULONG Type,\n    IN PVOID Data,\n    IN ULONG DataSize\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenSymbolicLinkObject(\n    OUT PHANDLE LinkHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQuerySymbolicLinkObject(\n    IN HANDLE LinkHandle,\n    IN OUT PUNICODE_STRING LinkTarget,\n    OUT PULONG ReturnedLength OPTIONAL\n    );\n\nNTSTATUS\nZwCreateTimer (\n    OUT PHANDLE TimerHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,\n    IN TIMER_TYPE TimerType\n    );\n\nNTSTATUS\nZwOpenTimer (\n    OUT PHANDLE TimerHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSTATUS\nZwCancelTimer (\n    IN HANDLE TimerHandle,\n    OUT PBOOLEAN CurrentState OPTIONAL\n    );\n\nNTSTATUS\nZwSetTimer (\n    IN HANDLE TimerHandle,\n    IN PLARGE_INTEGER DueTime,\n    IN PTIMER_APC_ROUTINE TimerApcRoutine OPTIONAL,\n    IN PVOID TimerContext OPTIONAL,\n    IN BOOLEAN WakeTimer,\n    IN LONG Period OPTIONAL,\n    OUT PBOOLEAN PreviousState OPTIONAL\n    );\n\n#endif // _NTDDK_\n\n"
  },
  {
    "path": "Bin/i386/APILib/wdm.h",
    "content": "/*++ BUILD Version: 0109    // Increment this if a change has global effects\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nModule Name:\n\n    wdm.h\n\nAbstract:\n\n    This module defines the WDM types, constants, and functions that are\n    exposed to device drivers.\n\nRevision History:\n\n--*/\n\n#ifndef _WDMDDK_\n#define _WDMDDK_\n#define _NTDDK_\n\n#ifndef RC_INVOKED\n#if _MSC_VER < 1300\n#error Compiler version not supported by Windows DDK\n#endif\n#endif // RC_INVOKED\n\n#define NT_INCLUDED\n#define _CTYPE_DISABLE_MACROS\n\n#include <excpt.h>\n#include <ntdef.h>\n#include <ntstatus.h>\n#include <bugcodes.h>\n#include <ntiologc.h>\n\n//\n// Define types that are not exported.\n//\n\ntypedef struct _ACCESS_STATE *PACCESS_STATE;\ntypedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;\ntypedef struct _EPROCESS *PEPROCESS;\ntypedef struct _ETHREAD *PETHREAD;\ntypedef struct _IO_TIMER *PIO_TIMER;\ntypedef struct _KINTERRUPT *PKINTERRUPT;\ntypedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;\ntypedef struct _OBJECT_TYPE *POBJECT_TYPE;\ntypedef struct _SECURITY_QUALITY_OF_SERVICE *PSECURITY_QUALITY_OF_SERVICE;\n\n#if defined(_M_AMD64)\n\nPKTHREAD\nNTAPI\nKeGetCurrentThread(\n    VOID\n    );\n\n#endif // defined(_M_AMD64)\n\n#if defined(_M_IX86)\nPKTHREAD NTAPI KeGetCurrentThread();\n#endif // defined(_M_IX86)\n\n#if defined(_M_IA64)\n\n//\n// Define base address for kernel and user space\n//\n\n#ifdef _WIN64\n\n#define UREGION_INDEX 1\n\n#define KREGION_INDEX 7\n\n#define UADDRESS_BASE ((ULONG_PTR)UREGION_INDEX << 61)\n\n#define KADDRESS_BASE ((ULONG_PTR)KREGION_INDEX << 61)\n\n#else  // !_WIN64\n\n#define KADDRESS_BASE 0\n\n#define UADDRESS_BASE 0\n\n#endif // !_WIN64\n\n//\n// Define Address of Processor Control Registers.\n//\n\n#define KIPCR ((ULONG_PTR)(KADDRESS_BASE + 0xffff0000))            // kernel address of first PCR\n\n//\n// Define Pointer to Processor Control Registers.\n//\n\n#define PCR ((volatile KPCR * const)KIPCR)\n\nPKTHREAD NTAPI KeGetCurrentThread();\n\n#endif // defined(_M_IA64)\n\n#include <mce.h>\n\n#ifndef FAR\n#define FAR\n#endif\n\n#define PsGetCurrentProcess() IoGetCurrentProcess()\n#define PsGetCurrentThread() ((PETHREAD) (KeGetCurrentThread()))\nextern NTSYSAPI CCHAR KeNumberProcessors;\n\n//\n// Define alignment macros to align structure sizes and pointers up and down.\n//\n\n#define ALIGN_DOWN(length, type) \\\n    ((ULONG)(length) & ~(sizeof(type) - 1))\n\n#define ALIGN_UP(length, type) \\\n    (ALIGN_DOWN(((ULONG)(length) + sizeof(type) - 1), type))\n\n#define ALIGN_DOWN_POINTER(address, type) \\\n    ((PVOID)((ULONG_PTR)(address) & ~((ULONG_PTR)sizeof(type) - 1)))\n\n#define ALIGN_UP_POINTER(address, type) \\\n    (ALIGN_DOWN_POINTER(((ULONG_PTR)(address) + sizeof(type) - 1), type))\n\n#define POOL_TAGGING 1\n\n#ifndef DBG\n#define DBG 0\n#endif\n\n#if DBG\n#define IF_DEBUG if (TRUE)\n#else\n#define IF_DEBUG if (FALSE)\n#endif\n\n#if DEVL\n\n\nextern ULONG NtGlobalFlag;\n\n#define IF_NTOS_DEBUG( FlagName ) \\\n    if (NtGlobalFlag & (FLG_ ## FlagName))\n\n#else\n#define IF_NTOS_DEBUG( FlagName ) if (FALSE)\n#endif\n\n//\n// Kernel definitions that need to be here for forward reference purposes\n//\n\n\n//\n// Processor modes.\n//\n\ntypedef CCHAR KPROCESSOR_MODE;\n\ntypedef enum _MODE {\n    KernelMode,\n    UserMode,\n    MaximumMode\n} MODE;\n\n\n//\n// APC function types\n//\n\n//\n// Put in an empty definition for the KAPC so that the\n// routines can reference it before it is declared.\n//\n\nstruct _KAPC;\n\ntypedef\nVOID\n(*PKNORMAL_ROUTINE) (\n    IN PVOID NormalContext,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\ntypedef\nVOID\n(*PKKERNEL_ROUTINE) (\n    IN struct _KAPC *Apc,\n    IN OUT PKNORMAL_ROUTINE *NormalRoutine,\n    IN OUT PVOID *NormalContext,\n    IN OUT PVOID *SystemArgument1,\n    IN OUT PVOID *SystemArgument2\n    );\n\ntypedef\nVOID\n(*PKRUNDOWN_ROUTINE) (\n    IN struct _KAPC *Apc\n    );\n\ntypedef\nBOOLEAN\n(*PKSYNCHRONIZE_ROUTINE) (\n    IN PVOID SynchronizeContext\n    );\n\ntypedef\nBOOLEAN\n(*PKTRANSFER_ROUTINE) (\n    VOID\n    );\n\n//\n//\n// Asynchronous Procedure Call (APC) object\n//\n//\n\ntypedef struct _KAPC {\n    CSHORT Type;\n    CSHORT Size;\n    ULONG Spare0;\n    struct _KTHREAD *Thread;\n    LIST_ENTRY ApcListEntry;\n    PKKERNEL_ROUTINE KernelRoutine;\n    PKRUNDOWN_ROUTINE RundownRoutine;\n    PKNORMAL_ROUTINE NormalRoutine;\n    PVOID NormalContext;\n\n    //\n    // N.B. The following two members MUST be together.\n    //\n\n    PVOID SystemArgument1;\n    PVOID SystemArgument2;\n    CCHAR ApcStateIndex;\n    KPROCESSOR_MODE ApcMode;\n    BOOLEAN Inserted;\n} KAPC, *PKAPC, *RESTRICTED_POINTER PRKAPC;\n\n\n//\n// DPC routine\n//\n\nstruct _KDPC;\n\ntypedef\nVOID\n(*PKDEFERRED_ROUTINE) (\n    IN struct _KDPC *Dpc,\n    IN PVOID DeferredContext,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\n//\n// Define DPC importance.\n//\n// LowImportance - Queue DPC at end of target DPC queue.\n// MediumImportance - Queue DPC at end of target DPC queue.\n// HighImportance - Queue DPC at front of target DPC DPC queue.\n//\n// If there is currently a DPC active on the target processor, or a DPC\n// interrupt has already been requested on the target processor when a\n// DPC is queued, then no further action is necessary. The DPC will be\n// executed on the target processor when its queue entry is processed.\n//\n// If there is not a DPC active on the target processor and a DPC interrupt\n// has not been requested on the target processor, then the exact treatment\n// of the DPC is dependent on whether the host system is a UP system or an\n// MP system.\n//\n// UP system.\n//\n// If the DPC is of medium or high importance, the current DPC queue depth\n// is greater than the maximum target depth, or current DPC request rate is\n// less the minimum target rate, then a DPC interrupt is requested on the\n// host processor and the DPC will be processed when the interrupt occurs.\n// Otherwise, no DPC interupt is requested and the DPC execution will be\n// delayed until the DPC queue depth is greater that the target depth or the\n// minimum DPC rate is less than the target rate.\n//\n// MP system.\n//\n// If the DPC is being queued to another processor and the depth of the DPC\n// queue on the target processor is greater than the maximum target depth or\n// the DPC is of high importance, then a DPC interrupt is requested on the\n// target processor and the DPC will be processed when the interrupt occurs.\n// Otherwise, the DPC execution will be delayed on the target processor until\n// the DPC queue depth on the target processor is greater that the maximum\n// target depth or the minimum DPC rate on the target processor is less than\n// the target mimimum rate.\n//\n// If the DPC is being queued to the current processor and the DPC is not of\n// low importance, the current DPC queue depth is greater than the maximum\n// target depth, or the minimum DPC rate is less than the minimum target rate,\n// then a DPC interrupt is request on the current processor and the DPV will\n// be processed whne the interrupt occurs. Otherwise, no DPC interupt is\n// requested and the DPC execution will be delayed until the DPC queue depth\n// is greater that the target depth or the minimum DPC rate is less than the\n// target rate.\n//\n\ntypedef enum _KDPC_IMPORTANCE {\n    LowImportance,\n    MediumImportance,\n    HighImportance\n} KDPC_IMPORTANCE;\n\n//\n// Deferred Procedure Call (DPC) object\n//\n\ntypedef struct _KDPC {\n    CSHORT Type;\n    UCHAR Number;\n    UCHAR Importance;\n    LIST_ENTRY DpcListEntry;\n    PKDEFERRED_ROUTINE DeferredRoutine;\n    PVOID DeferredContext;\n    PVOID SystemArgument1;\n    PVOID SystemArgument2;\n    PULONG_PTR Lock;\n} KDPC, *PKDPC, *RESTRICTED_POINTER PRKDPC;\n\n\n//\n// Interprocessor interrupt worker routine function prototype.\n//\n\ntypedef PVOID PKIPI_CONTEXT;\n\ntypedef\nVOID\n(*PKIPI_WORKER)(\n    IN PKIPI_CONTEXT PacketContext,\n    IN PVOID Parameter1,\n    IN PVOID Parameter2,\n    IN PVOID Parameter3\n    );\n\n//\n// Define interprocessor interrupt performance counters.\n//\n\ntypedef struct _KIPI_COUNTS {\n    ULONG Freeze;\n    ULONG Packet;\n    ULONG DPC;\n    ULONG APC;\n    ULONG FlushSingleTb;\n    ULONG FlushMultipleTb;\n    ULONG FlushEntireTb;\n    ULONG GenericCall;\n    ULONG ChangeColor;\n    ULONG SweepDcache;\n    ULONG SweepIcache;\n    ULONG SweepIcacheRange;\n    ULONG FlushIoBuffers;\n    ULONG GratuitousDPC;\n} KIPI_COUNTS, *PKIPI_COUNTS;\n\n#if defined(NT_UP)\n\n#define HOT_STATISTIC(a) a\n\n#else\n\n#define HOT_STATISTIC(a) (KeGetCurrentPrcb()->a)\n\n#endif\n\n//\n// I/O system definitions.\n//\n// Define a Memory Descriptor List (MDL)\n//\n// An MDL describes pages in a virtual buffer in terms of physical pages.  The\n// pages associated with the buffer are described in an array that is allocated\n// just after the MDL header structure itself.  In a future compiler this will\n// be placed at:\n//\n//      ULONG Pages[];\n//\n// Until this declaration is permitted, however, one simply calculates the\n// base of the array by adding one to the base MDL pointer:\n//\n//      Pages = (PULONG) (Mdl + 1);\n//\n// Notice that while in the context of the subject thread, the base virtual\n// address of a buffer mapped by an MDL may be referenced using the following:\n//\n//      Mdl->StartVa | Mdl->ByteOffset\n//\n\n\ntypedef struct _MDL {\n    struct _MDL *Next;\n    CSHORT Size;\n    CSHORT MdlFlags;\n    struct _EPROCESS *Process;\n    PVOID MappedSystemVa;\n    PVOID StartVa;\n    ULONG ByteCount;\n    ULONG ByteOffset;\n} MDL, *PMDL;\n\n#define MDL_MAPPED_TO_SYSTEM_VA     0x0001\n#define MDL_PAGES_LOCKED            0x0002\n#define MDL_SOURCE_IS_NONPAGED_POOL 0x0004\n#define MDL_ALLOCATED_FIXED_SIZE    0x0008\n#define MDL_PARTIAL                 0x0010\n#define MDL_PARTIAL_HAS_BEEN_MAPPED 0x0020\n#define MDL_IO_PAGE_READ            0x0040\n#define MDL_WRITE_OPERATION         0x0080\n#define MDL_PARENT_MAPPED_SYSTEM_VA 0x0100\n#define MDL_FREE_EXTRA_PTES         0x0200\n#define MDL_IO_SPACE                0x0800\n#define MDL_NETWORK_HEADER          0x1000\n#define MDL_MAPPING_CAN_FAIL        0x2000\n#define MDL_ALLOCATED_MUST_SUCCEED  0x4000\n\n\n#define MDL_MAPPING_FLAGS (MDL_MAPPED_TO_SYSTEM_VA     | \\\n                           MDL_PAGES_LOCKED            | \\\n                           MDL_SOURCE_IS_NONPAGED_POOL | \\\n                           MDL_PARTIAL_HAS_BEEN_MAPPED | \\\n                           MDL_PARENT_MAPPED_SYSTEM_VA | \\\n                           MDL_SYSTEM_VA               | \\\n                           MDL_IO_SPACE )\n\n\n//\n// switch to DBG when appropriate\n//\n\n#if DBG\n#define PAGED_CODE() \\\n    { if (KeGetCurrentIrql() > APC_LEVEL) { \\\n          KdPrint(( \"EX: Pageable code called at IRQL %d\\n\", KeGetCurrentIrql() )); \\\n          ASSERT(FALSE); \\\n       } \\\n    }\n#else\n#define PAGED_CODE() NOP_FUNCTION;\n#endif\n\n#define NTKERNELAPI DECLSPEC_IMPORT     \n#define NTHALAPI DECLSPEC_IMPORT            \n//\n// Common dispatcher object header\n//\n// N.B. The size field contains the number of dwords in the structure.\n//\n\ntypedef struct _DISPATCHER_HEADER {\n    UCHAR Type;\n    UCHAR Absolute;\n    UCHAR Size;\n    UCHAR Inserted;\n    LONG SignalState;\n    LIST_ENTRY WaitListHead;\n} DISPATCHER_HEADER;\n\n//\n// Event object\n//\n\ntypedef struct _KEVENT {\n    DISPATCHER_HEADER Header;\n} KEVENT, *PKEVENT, *RESTRICTED_POINTER PRKEVENT;\n\n//\n// Timer object\n//\n\ntypedef struct _KTIMER {\n    DISPATCHER_HEADER Header;\n    ULARGE_INTEGER DueTime;\n    LIST_ENTRY TimerListEntry;\n    struct _KDPC *Dpc;\n    LONG Period;\n} KTIMER, *PKTIMER, *RESTRICTED_POINTER PRKTIMER;\n\n\n#ifdef _X86_\n\n//\n// Disable these two pragmas that evaluate to \"sti\" \"cli\" on x86 so that driver\n// writers to not leave them inadvertantly in their code.\n//\n\n#if !defined(MIDL_PASS)\n#if !defined(RC_INVOKED)\n\n#if _MSC_VER >= 1200\n#pragma warning(push)\n#endif\n#pragma warning(disable:4164)   // disable C4164 warning so that apps that\n                                // build with /Od don't get weird errors !\n#ifdef _M_IX86\n#pragma function(_enable)\n#pragma function(_disable)\n#endif\n\n#if _MSC_VER >= 1200\n#pragma warning(pop)\n#else\n#pragma warning(default:4164)   // reenable C4164 warning\n#endif\n\n#endif\n#endif\n\n#endif // _X86_\n\n#if defined(_AMD64_)\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Define function to get the caller's EFLAGs value.\n//\n\n#define GetCallersEflags() __getcallerseflags()\n\nunsigned __int32\n__getcallerseflags (\n    VOID\n    );\n\n#pragma intrinsic(__getcallerseflags)\n\n//\n// Define function to read the value of the time stamp counter\n//\n\n#define ReadTimeStampCounter() __rdtsc()\n\nULONG64\n__rdtsc (\n    VOID\n    );\n\n#pragma intrinsic(__rdtsc)\n\n//\n// Define functions to move strings or bytes, words, dwords, and qwords.\n//\n\nVOID\n__movsb (\n    IN PUCHAR Destination,\n    IN PUCHAR Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsw (\n    IN PUSHORT Destination,\n    IN PUSHORT Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsd (\n    IN PULONG Destination,\n    IN PULONG Source,\n    IN ULONG Count\n    );\n\nVOID\n__movsq (\n    IN PULONGLONG Destination,\n    IN PULONGLONG Source,\n    IN ULONG Count\n    );\n\n#pragma intrinsic(__movsb)\n#pragma intrinsic(__movsw)\n#pragma intrinsic(__movsd)\n#pragma intrinsic(__movsq)\n\n//\n// Define functions to capture the high 64-bits of a 128-bit multiply.\n//\n\n#define MultiplyHigh __mulh\n#define UnsignedMultiplyHigh __umulh\n\nLONGLONG\nMultiplyHigh (\n    IN LONGLONG Multiplier,\n    IN LONGLONG Multiplicand\n    );\n\nULONGLONG\nUnsignedMultiplyHigh (\n    IN ULONGLONG Multiplier,\n    IN ULONGLONG Multiplicand\n    );\n\n#pragma intrinsic(__mulh)\n#pragma intrinsic(__umulh)\n\n//\n// Define functions to read and write the uer TEB and the system PCR/PRCB.\n//\n\nUCHAR\n__readgsbyte (\n    IN ULONG Offset\n    );\n\nUSHORT\n__readgsword (\n    IN ULONG Offset\n    );\n\nULONG\n__readgsdword (\n    IN ULONG Offset\n    );\n\nULONG64\n__readgsqword (\n    IN ULONG Offset\n    );\n\nVOID\n__writegsbyte (\n    IN ULONG Offset,\n    IN UCHAR Data\n    );\n\nVOID\n__writegsword (\n    IN ULONG Offset,\n    IN USHORT Data\n    );\n\nVOID\n__writegsdword (\n    IN ULONG Offset,\n    IN ULONG Data\n    );\n\nVOID\n__writegsqword (\n    IN ULONG Offset,\n    IN ULONG64 Data\n    );\n\n#pragma intrinsic(__readgsbyte)\n#pragma intrinsic(__readgsword)\n#pragma intrinsic(__readgsdword)\n#pragma intrinsic(__readgsqword)\n#pragma intrinsic(__writegsbyte)\n#pragma intrinsic(__writegsword)\n#pragma intrinsic(__writegsdword)\n#pragma intrinsic(__writegsqword)\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n\n#endif // _AMD64_\n\n\n#ifdef _IA64_\n\n#endif // _IA64_\n//\n//  Define an access token from a programmer's viewpoint.  The structure is\n//  completely opaque and the programer is only allowed to have pointers\n//  to tokens.\n//\n\ntypedef PVOID PACCESS_TOKEN;            \n\n//\n// Pointer to a SECURITY_DESCRIPTOR  opaque data type.\n//\n\ntypedef PVOID PSECURITY_DESCRIPTOR;     \n\n//\n// Define a pointer to the Security ID data type (an opaque data type)\n//\n\ntypedef PVOID PSID;     \n\ntypedef ULONG ACCESS_MASK;\ntypedef ACCESS_MASK *PACCESS_MASK;\n\n\n//\n//  The following are masks for the predefined standard access types\n//\n\n#define DELETE                           (0x00010000L)\n#define READ_CONTROL                     (0x00020000L)\n#define WRITE_DAC                        (0x00040000L)\n#define WRITE_OWNER                      (0x00080000L)\n#define SYNCHRONIZE                      (0x00100000L)\n\n#define STANDARD_RIGHTS_REQUIRED         (0x000F0000L)\n\n#define STANDARD_RIGHTS_READ             (READ_CONTROL)\n#define STANDARD_RIGHTS_WRITE            (READ_CONTROL)\n#define STANDARD_RIGHTS_EXECUTE          (READ_CONTROL)\n\n#define STANDARD_RIGHTS_ALL              (0x001F0000L)\n\n#define SPECIFIC_RIGHTS_ALL              (0x0000FFFFL)\n\n//\n// AccessSystemAcl access type\n//\n\n#define ACCESS_SYSTEM_SECURITY           (0x01000000L)\n\n//\n// MaximumAllowed access type\n//\n\n#define MAXIMUM_ALLOWED                  (0x02000000L)\n\n//\n//  These are the generic rights.\n//\n\n#define GENERIC_READ                     (0x80000000L)\n#define GENERIC_WRITE                    (0x40000000L)\n#define GENERIC_EXECUTE                  (0x20000000L)\n#define GENERIC_ALL                      (0x10000000L)\n\n\n//\n//  Define the generic mapping array.  This is used to denote the\n//  mapping of each generic access right to a specific access mask.\n//\n\ntypedef struct _GENERIC_MAPPING {\n    ACCESS_MASK GenericRead;\n    ACCESS_MASK GenericWrite;\n    ACCESS_MASK GenericExecute;\n    ACCESS_MASK GenericAll;\n} GENERIC_MAPPING;\ntypedef GENERIC_MAPPING *PGENERIC_MAPPING;\n\n\n\n////////////////////////////////////////////////////////////////////////\n//                                                                    //\n//                        LUID_AND_ATTRIBUTES                         //\n//                                                                    //\n////////////////////////////////////////////////////////////////////////\n//\n//\n\n\n#include <pshpack4.h>\n\ntypedef struct _LUID_AND_ATTRIBUTES {\n    LUID Luid;\n    ULONG Attributes;\n    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;\ntypedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];\ntypedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;\n\n#include <poppack.h>\n\n// This is the *current* ACL revision\n\n#define ACL_REVISION     (2)\n#define ACL_REVISION_DS  (4)\n\n// This is the history of ACL revisions.  Add a new one whenever\n// ACL_REVISION is updated\n\n#define ACL_REVISION1   (1)\n#define MIN_ACL_REVISION ACL_REVISION2\n#define ACL_REVISION2   (2)\n#define ACL_REVISION3   (3)\n#define ACL_REVISION4   (4)\n#define MAX_ACL_REVISION ACL_REVISION4\n\ntypedef struct _ACL {\n    UCHAR AclRevision;\n    UCHAR Sbz1;\n    USHORT AclSize;\n    USHORT AceCount;\n    USHORT Sbz2;\n} ACL;\ntypedef ACL *PACL;\n\n//\n// Current security descriptor revision value\n//\n\n#define SECURITY_DESCRIPTOR_REVISION     (1)\n#define SECURITY_DESCRIPTOR_REVISION1    (1)\n\n//\n// Privilege attributes\n//\n\n#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L)\n#define SE_PRIVILEGE_ENABLED            (0x00000002L)\n#define SE_PRIVILEGE_USED_FOR_ACCESS    (0x80000000L)\n\n//\n// Privilege Set Control flags\n//\n\n#define PRIVILEGE_SET_ALL_NECESSARY    (1)\n\n//\n//  Privilege Set - This is defined for a privilege set of one.\n//                  If more than one privilege is needed, then this structure\n//                  will need to be allocated with more space.\n//\n//  Note: don't change this structure without fixing the INITIAL_PRIVILEGE_SET\n//  structure (defined in se.h)\n//\n\ntypedef struct _PRIVILEGE_SET {\n    ULONG PrivilegeCount;\n    ULONG Control;\n    LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];\n    } PRIVILEGE_SET, * PPRIVILEGE_SET;\n\n//\n// These must be converted to LUIDs before use.\n//\n\n#define SE_MIN_WELL_KNOWN_PRIVILEGE       (2L)\n#define SE_CREATE_TOKEN_PRIVILEGE         (2L)\n#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE   (3L)\n#define SE_LOCK_MEMORY_PRIVILEGE          (4L)\n#define SE_INCREASE_QUOTA_PRIVILEGE       (5L)\n\n#define SE_MACHINE_ACCOUNT_PRIVILEGE      (6L)\n#define SE_TCB_PRIVILEGE                  (7L)\n#define SE_SECURITY_PRIVILEGE             (8L)\n#define SE_TAKE_OWNERSHIP_PRIVILEGE       (9L)\n#define SE_LOAD_DRIVER_PRIVILEGE          (10L)\n#define SE_SYSTEM_PROFILE_PRIVILEGE       (11L)\n#define SE_SYSTEMTIME_PRIVILEGE           (12L)\n#define SE_PROF_SINGLE_PROCESS_PRIVILEGE  (13L)\n#define SE_INC_BASE_PRIORITY_PRIVILEGE    (14L)\n#define SE_CREATE_PAGEFILE_PRIVILEGE      (15L)\n#define SE_CREATE_PERMANENT_PRIVILEGE     (16L)\n#define SE_BACKUP_PRIVILEGE               (17L)\n#define SE_RESTORE_PRIVILEGE              (18L)\n#define SE_SHUTDOWN_PRIVILEGE             (19L)\n#define SE_DEBUG_PRIVILEGE                (20L)\n#define SE_AUDIT_PRIVILEGE                (21L)\n#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE   (22L)\n#define SE_CHANGE_NOTIFY_PRIVILEGE        (23L)\n#define SE_REMOTE_SHUTDOWN_PRIVILEGE      (24L)\n#define SE_UNDOCK_PRIVILEGE               (25L)\n#define SE_SYNC_AGENT_PRIVILEGE           (26L)\n#define SE_ENABLE_DELEGATION_PRIVILEGE    (27L)\n#define SE_MANAGE_VOLUME_PRIVILEGE        (28L)\n#define SE_MAX_WELL_KNOWN_PRIVILEGE       (SE_MANAGE_VOLUME_PRIVILEGE)\n\n//\n// Impersonation Level\n//\n// Impersonation level is represented by a pair of bits in Windows.\n// If a new impersonation level is added or lowest value is changed from\n// 0 to something else, fix the Windows CreateFile call.\n//\n\ntypedef enum _SECURITY_IMPERSONATION_LEVEL {\n    SecurityAnonymous,\n    SecurityIdentification,\n    SecurityImpersonation,\n    SecurityDelegation\n    } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;\n\n#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation\n#define SECURITY_MIN_IMPERSONATION_LEVEL SecurityAnonymous\n#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation\n#define VALID_IMPERSONATION_LEVEL(L) (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL))\n//\n// Security Tracking Mode\n//\n\n#define SECURITY_DYNAMIC_TRACKING      (TRUE)\n#define SECURITY_STATIC_TRACKING       (FALSE)\n\ntypedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,\n                    * PSECURITY_CONTEXT_TRACKING_MODE;\n\n\n\n//\n// Quality Of Service\n//\n\ntypedef struct _SECURITY_QUALITY_OF_SERVICE {\n    ULONG Length;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;\n    BOOLEAN EffectiveOnly;\n    } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;\n\n\n//\n// Used to represent information related to a thread impersonation\n//\n\ntypedef struct _SE_IMPERSONATION_STATE {\n    PACCESS_TOKEN Token;\n    BOOLEAN CopyOnOpen;\n    BOOLEAN EffectiveOnly;\n    SECURITY_IMPERSONATION_LEVEL Level;\n} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;\n\n\ntypedef ULONG SECURITY_INFORMATION, *PSECURITY_INFORMATION;\n\n#define OWNER_SECURITY_INFORMATION       (0x00000001L)\n#define GROUP_SECURITY_INFORMATION       (0x00000002L)\n#define DACL_SECURITY_INFORMATION        (0x00000004L)\n#define SACL_SECURITY_INFORMATION        (0x00000008L)\n\n#define PROTECTED_DACL_SECURITY_INFORMATION     (0x80000000L)\n#define PROTECTED_SACL_SECURITY_INFORMATION     (0x40000000L)\n#define UNPROTECTED_DACL_SECURITY_INFORMATION   (0x20000000L)\n#define UNPROTECTED_SACL_SECURITY_INFORMATION   (0x10000000L)\n\n\n#define LOW_PRIORITY 0              // Lowest thread priority level\n#define LOW_REALTIME_PRIORITY 16    // Lowest realtime priority level\n#define HIGH_PRIORITY 31            // Highest thread priority level\n#define MAXIMUM_PRIORITY 32         // Number of thread priority levels\n\n#define MAXIMUM_WAIT_OBJECTS 64     // Maximum number of wait objects\n\n#define MAXIMUM_SUSPEND_COUNT MAXCHAR // Maximum times thread can be suspended\n\n\n//\n// Define system time structure.\n//\n\ntypedef struct _KSYSTEM_TIME {\n    ULONG LowPart;\n    LONG High1Time;\n    LONG High2Time;\n} KSYSTEM_TIME, *PKSYSTEM_TIME;\n\n//\n// Thread priority\n//\n\ntypedef LONG KPRIORITY;\n\n//\n// Spin Lock\n//\n\n\n\ntypedef ULONG_PTR KSPIN_LOCK;\ntypedef KSPIN_LOCK *PKSPIN_LOCK;\n\n//\n// Interrupt routine (first level dispatch)\n//\n\ntypedef\nVOID\n(*PKINTERRUPT_ROUTINE) (\n    VOID\n    );\n\n//\n// Profile source types\n//\ntypedef enum _KPROFILE_SOURCE {\n    ProfileTime,\n    ProfileAlignmentFixup,\n    ProfileTotalIssues,\n    ProfilePipelineDry,\n    ProfileLoadInstructions,\n    ProfilePipelineFrozen,\n    ProfileBranchInstructions,\n    ProfileTotalNonissues,\n    ProfileDcacheMisses,\n    ProfileIcacheMisses,\n    ProfileCacheMisses,\n    ProfileBranchMispredictions,\n    ProfileStoreInstructions,\n    ProfileFpInstructions,\n    ProfileIntegerInstructions,\n    Profile2Issue,\n    Profile3Issue,\n    Profile4Issue,\n    ProfileSpecialInstructions,\n    ProfileTotalCycles,\n    ProfileIcacheIssues,\n    ProfileDcacheAccesses,\n    ProfileMemoryBarrierCycles,\n    ProfileLoadLinkedIssues,\n    ProfileMaximum\n} KPROFILE_SOURCE;\n\n//\n// for move macros\n//\n#ifdef _MAC\n#ifndef _INC_STRING\n#include <string.h>\n#endif /* _INC_STRING */\n#else\n#include <string.h>\n#endif // _MAC\n\n\n#ifndef _SLIST_HEADER_\n#define _SLIST_HEADER_\n\n#define SLIST_ENTRY SINGLE_LIST_ENTRY\n#define _SLIST_ENTRY _SINGLE_LIST_ENTRY\n#define PSLIST_ENTRY PSINGLE_LIST_ENTRY\n\n#if defined(_WIN64)\n\ntypedef struct DECLSPEC_ALIGN(16) _SLIST_HEADER {\n    ULONGLONG Alignment;\n    ULONGLONG Region;\n} SLIST_HEADER;\n\ntypedef struct _SLIST_HEADER *PSLIST_HEADER;\n\n#else\n\ntypedef union _SLIST_HEADER {\n    ULONGLONG Alignment;\n    struct {\n        SLIST_ENTRY Next;\n        USHORT Depth;\n        USHORT Sequence;\n    };\n} SLIST_HEADER, *PSLIST_HEADER;\n\n#endif\n\n#endif\n\n//\n// If debugging support enabled, define an ASSERT macro that works.  Otherwise\n// define the ASSERT macro to expand to an empty expression.\n//\n// The ASSERT macro has been updated to be an expression instead of a statement.\n//\n\n#if DBG\nNTSYSAPI\nVOID\nNTAPI\nRtlAssert(\n    PVOID FailedAssertion,\n    PVOID FileName,\n    ULONG LineNumber,\n    PCHAR Message\n    );\n\n#define ASSERT( exp ) \\\n    ((!(exp)) ? \\\n        (RtlAssert( #exp, __FILE__, __LINE__, NULL ),FALSE) : \\\n        TRUE)\n\n#define ASSERTMSG( msg, exp ) \\\n    ((!(exp)) ? \\\n        (RtlAssert( #exp, __FILE__, __LINE__, msg ),FALSE) : \\\n        TRUE)\n\n#define RTL_SOFT_ASSERT(_exp) \\\n    ((!(_exp)) ? \\\n        (DbgPrint(\"%s(%d): Soft assertion failed\\n   Expression: %s\\n\", __FILE__, __LINE__, #_exp),FALSE) : \\\n        TRUE)\n\n#define RTL_SOFT_ASSERTMSG(_msg, _exp) \\\n    ((!(_exp)) ? \\\n        (DbgPrint(\"%s(%d): Soft assertion failed\\n   Expression: %s\\n   Message: %s\\n\", __FILE__, __LINE__, #_exp, (_msg)),FALSE) : \\\n        TRUE)\n\n#define RTL_VERIFY( exp )         ASSERT(exp)\n#define RTL_VERIFYMSG( msg, exp ) ASSERT(msg, exp)\n\n#define RTL_SOFT_VERIFY(_exp)          RTL_SOFT_ASSERT(_exp)\n#define RTL_SOFT_VERIFYMSG(_msg, _exp) RTL_SOFT_ASSERTMSG(_msg, _exp)\n\n#else\n#define ASSERT( exp )         ((void) 0)\n#define ASSERTMSG( msg, exp ) ((void) 0)\n\n#define RTL_SOFT_ASSERT(_exp)          ((void) 0)\n#define RTL_SOFT_ASSERTMSG(_msg, _exp) ((void) 0)\n\n#define RTL_VERIFY( exp )         ((exp) ? TRUE : FALSE)\n#define RTL_VERIFYMSG( msg, exp ) ((exp) ? TRUE : FALSE)\n\n#define RTL_SOFT_VERIFY(_exp)         ((_exp) ? TRUE : FALSE)\n#define RTL_SOFT_VERIFYMSG(msg, _exp) ((_exp) ? TRUE : FALSE)\n\n#endif // DBG\n\n//\n//  Doubly-linked list manipulation routines.\n//\n\n\n//\n//  VOID\n//  InitializeListHead32(\n//      PLIST_ENTRY32 ListHead\n//      );\n//\n\n#define InitializeListHead32(ListHead) (\\\n    (ListHead)->Flink = (ListHead)->Blink = PtrToUlong((ListHead)))\n\n#if !defined(MIDL_PASS) && !defined(SORTPP_PASS)\n\n\nVOID\nFORCEINLINE\nInitializeListHead(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    ListHead->Flink = ListHead->Blink = ListHead;\n}\n\n//\n//  BOOLEAN\n//  IsListEmpty(\n//      PLIST_ENTRY ListHead\n//      );\n//\n\n#define IsListEmpty(ListHead) \\\n    ((ListHead)->Flink == (ListHead))\n\n\n\nVOID\nFORCEINLINE\nRemoveEntryList(\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Blink;\n    PLIST_ENTRY Flink;\n\n    Flink = Entry->Flink;\n    Blink = Entry->Blink;\n    Blink->Flink = Flink;\n    Flink->Blink = Blink;\n}\n\nPLIST_ENTRY\nFORCEINLINE\nRemoveHeadList(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    PLIST_ENTRY Flink;\n    PLIST_ENTRY Entry;\n\n    Entry = ListHead->Flink;\n    Flink = Entry->Flink;\n    ListHead->Flink = Flink;\n    Flink->Blink = ListHead;\n    return Entry;\n}\n\n\n\nPLIST_ENTRY\nFORCEINLINE\nRemoveTailList(\n    IN PLIST_ENTRY ListHead\n    )\n{\n    PLIST_ENTRY Blink;\n    PLIST_ENTRY Entry;\n\n    Entry = ListHead->Blink;\n    Blink = Entry->Blink;\n    ListHead->Blink = Blink;\n    Blink->Flink = ListHead;\n    return Entry;\n}\n\n\nVOID\nFORCEINLINE\nInsertTailList(\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Blink;\n\n    Blink = ListHead->Blink;\n    Entry->Flink = ListHead;\n    Entry->Blink = Blink;\n    Blink->Flink = Entry;\n    ListHead->Blink = Entry;\n}\n\n\nVOID\nFORCEINLINE\nInsertHeadList(\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY Entry\n    )\n{\n    PLIST_ENTRY Flink;\n\n    Flink = ListHead->Flink;\n    Entry->Flink = Flink;\n    Entry->Blink = ListHead;\n    Flink->Blink = Entry;\n    ListHead->Flink = Entry;\n}\n\n\n//\n//\n//  PSINGLE_LIST_ENTRY\n//  PopEntryList(\n//      PSINGLE_LIST_ENTRY ListHead\n//      );\n//\n\n#define PopEntryList(ListHead) \\\n    (ListHead)->Next;\\\n    {\\\n        PSINGLE_LIST_ENTRY FirstEntry;\\\n        FirstEntry = (ListHead)->Next;\\\n        if (FirstEntry != NULL) {     \\\n            (ListHead)->Next = FirstEntry->Next;\\\n        }                             \\\n    }\n\n\n//\n//  VOID\n//  PushEntryList(\n//      PSINGLE_LIST_ENTRY ListHead,\n//      PSINGLE_LIST_ENTRY Entry\n//      );\n//\n\n#define PushEntryList(ListHead,Entry) \\\n    (Entry)->Next = (ListHead)->Next; \\\n    (ListHead)->Next = (Entry)\n\n#endif // !MIDL_PASS\n\n//\n// Subroutines for dealing with the Registry\n//\n\ntypedef NTSTATUS (NTAPI * PRTL_QUERY_REGISTRY_ROUTINE)(\n    IN PWSTR ValueName,\n    IN ULONG ValueType,\n    IN PVOID ValueData,\n    IN ULONG ValueLength,\n    IN PVOID Context,\n    IN PVOID EntryContext\n    );\n\ntypedef struct _RTL_QUERY_REGISTRY_TABLE {\n    PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine;\n    ULONG Flags;\n    PWSTR Name;\n    PVOID EntryContext;\n    ULONG DefaultType;\n    PVOID DefaultData;\n    ULONG DefaultLength;\n\n} RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE;\n\n\n//\n// The following flags specify how the Name field of a RTL_QUERY_REGISTRY_TABLE\n// entry is interpreted.  A NULL name indicates the end of the table.\n//\n\n#define RTL_QUERY_REGISTRY_SUBKEY   0x00000001  // Name is a subkey and remainder of\n                                                // table or until next subkey are value\n                                                // names for that subkey to look at.\n\n#define RTL_QUERY_REGISTRY_TOPKEY   0x00000002  // Reset current key to original key for\n                                                // this and all following table entries.\n\n#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004  // Fail if no match found for this table\n                                                // entry.\n\n#define RTL_QUERY_REGISTRY_NOVALUE  0x00000008  // Used to mark a table entry that has no\n                                                // value name, just wants a call out, not\n                                                // an enumeration of all values.\n\n#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010  // Used to suppress the expansion of\n                                                // REG_MULTI_SZ into multiple callouts or\n                                                // to prevent the expansion of environment\n                                                // variable values in REG_EXPAND_SZ\n\n#define RTL_QUERY_REGISTRY_DIRECT   0x00000020  // QueryRoutine field ignored.  EntryContext\n                                                // field points to location to store value.\n                                                // For null terminated strings, EntryContext\n                                                // points to UNICODE_STRING structure that\n                                                // that describes maximum size of buffer.\n                                                // If .Buffer field is NULL then a buffer is\n                                                // allocated.\n                                                //\n\n#define RTL_QUERY_REGISTRY_DELETE   0x00000040  // Used to delete value keys after they\n                                                // are queried.\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlQueryRegistryValues(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PRTL_QUERY_REGISTRY_TABLE QueryTable,\n    IN PVOID Context,\n    IN PVOID Environment OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlWriteRegistryValue(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PCWSTR ValueName,\n    IN ULONG ValueType,\n    IN PVOID ValueData,\n    IN ULONG ValueLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlDeleteRegistryValue(\n    IN ULONG RelativeTo,\n    IN PCWSTR Path,\n    IN PCWSTR ValueName\n    );\n\n//\n// The following values for the RelativeTo parameter determine what the\n// Path parameter to RtlQueryRegistryValues is relative to.\n//\n\n#define RTL_REGISTRY_ABSOLUTE     0   // Path is a full path\n#define RTL_REGISTRY_SERVICES     1   // \\Registry\\Machine\\System\\CurrentControlSet\\Services\n#define RTL_REGISTRY_CONTROL      2   // \\Registry\\Machine\\System\\CurrentControlSet\\Control\n#define RTL_REGISTRY_WINDOWS_NT   3   // \\Registry\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\n#define RTL_REGISTRY_DEVICEMAP    4   // \\Registry\\Machine\\Hardware\\DeviceMap\n#define RTL_REGISTRY_USER         5   // \\Registry\\User\\CurrentUser\n#define RTL_REGISTRY_MAXIMUM      6\n#define RTL_REGISTRY_HANDLE       0x40000000    // Low order bits are registry handle\n#define RTL_REGISTRY_OPTIONAL     0x80000000    // Indicates the key node is optional\n\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlIntegerToUnicodeString (\n    ULONG Value,\n    ULONG Base,\n    PUNICODE_STRING String\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlInt64ToUnicodeString (\n    IN ULONGLONG Value,\n    IN ULONG Base OPTIONAL,\n    IN OUT PUNICODE_STRING String\n    );\n\n#ifdef _WIN64\n#define RtlIntPtrToUnicodeString(Value, Base, String) RtlInt64ToUnicodeString(Value, Base, String)\n#else\n#define RtlIntPtrToUnicodeString(Value, Base, String) RtlIntegerToUnicodeString(Value, Base, String)\n#endif\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlUnicodeStringToInteger (\n    PCUNICODE_STRING String,\n    ULONG Base,\n    PULONG Value\n    );\n\n\f\n//\n//  String manipulation routines\n//\n\n#ifdef _NTSYSTEM_\n\n#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag\n#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag\n\n#else\n\n#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)\n#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)\n\n#endif // _NTSYSTEM_\n\nextern BOOLEAN NLS_MB_CODE_PAGE_TAG;     // TRUE -> Multibyte CP, FALSE -> Singlebyte\nextern BOOLEAN NLS_MB_OEM_CODE_PAGE_TAG; // TRUE -> Multibyte CP, FALSE -> Singlebyte\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitString(\n    PSTRING DestinationString,\n    PCSZ SourceString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitAnsiString(\n    PANSI_STRING DestinationString,\n    PCSZ SourceString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCWSTR SourceString\n    );\n\n#define RtlInitEmptyUnicodeString(_ucStr,_buf,_bufSize) \\\n    ((_ucStr)->Buffer = (_buf), \\\n     (_ucStr)->Length = 0, \\\n     (_ucStr)->MaximumLength = (USHORT)(_bufSize))\n\n//\n// NLS String functions\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAnsiStringToUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCANSI_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlUnicodeStringToAnsiString(\n    PANSI_STRING DestinationString,\n    PCUNICODE_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n\nNTSYSAPI\nLONG\nNTAPI\nRtlCompareUnicodeString(\n    PCUNICODE_STRING String1,\n    PCUNICODE_STRING String2,\n    BOOLEAN CaseInSensitive\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlEqualUnicodeString(\n    const UNICODE_STRING *String1,\n    const UNICODE_STRING *String2,\n    BOOLEAN CaseInSensitive\n    );\n\n#define HASH_STRING_ALGORITHM_DEFAULT   (0)\n#define HASH_STRING_ALGORITHM_X65599    (1)\n#define HASH_STRING_ALGORITHM_INVALID   (0xffffffff)\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlHashUnicodeString(\n    IN const UNICODE_STRING *String,\n    IN BOOLEAN CaseInSensitive,\n    IN ULONG HashAlgorithm,\n    OUT PULONG HashValue\n    );\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyUnicodeString(\n    PUNICODE_STRING DestinationString,\n    PCUNICODE_STRING SourceString\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAppendUnicodeStringToString (\n    PUNICODE_STRING Destination,\n    PCUNICODE_STRING Source\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlAppendUnicodeToString (\n    PUNICODE_STRING Destination,\n    PCWSTR Source\n    );\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFreeUnicodeString(\n    PUNICODE_STRING UnicodeString\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFreeAnsiString(\n    PANSI_STRING AnsiString\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlxUnicodeStringToAnsiSize(\n    PCUNICODE_STRING UnicodeString\n    );\n\n//\n//  NTSYSAPI\n//  ULONG\n//  NTAPI\n//  RtlUnicodeStringToAnsiSize(\n//      PUNICODE_STRING UnicodeString\n//      );\n//\n\n#define RtlUnicodeStringToAnsiSize(STRING) (                  \\\n    NLS_MB_CODE_PAGE_TAG ?                                    \\\n    RtlxUnicodeStringToAnsiSize(STRING) :                     \\\n    ((STRING)->Length + sizeof(UNICODE_NULL)) / sizeof(WCHAR) \\\n)\n\n\nNTSYSAPI\nULONG\nNTAPI\nRtlxAnsiStringToUnicodeSize(\n    PCANSI_STRING AnsiString\n    );\n\n//\n//  NTSYSAPI\n//  ULONG\n//  NTAPI\n//  RtlAnsiStringToUnicodeSize(\n//      PANSI_STRING AnsiString\n//      );\n//\n\n#define RtlAnsiStringToUnicodeSize(STRING) (                 \\\n    NLS_MB_CODE_PAGE_TAG ?                                   \\\n    RtlxAnsiStringToUnicodeSize(STRING) :                    \\\n    ((STRING)->Length + sizeof(ANSI_NULL)) * sizeof(WCHAR) \\\n)\n\n\n\n\n#include <guiddef.h>\n\n\n\n#ifndef DEFINE_GUIDEX\n    #define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name\n#endif // !defined(DEFINE_GUIDEX)\n\n#ifndef STATICGUIDOF\n    #define STATICGUIDOF(guid) STATIC_##guid\n#endif // !defined(STATICGUIDOF)\n\n#ifndef __IID_ALIGNED__\n    #define __IID_ALIGNED__\n    #ifdef __cplusplus\n        inline int IsEqualGUIDAligned(REFGUID guid1, REFGUID guid2)\n        {\n            return ((*(PLONGLONG)(&guid1) == *(PLONGLONG)(&guid2)) && (*((PLONGLONG)(&guid1) + 1) == *((PLONGLONG)(&guid2) + 1)));\n        }\n    #else // !__cplusplus\n        #define IsEqualGUIDAligned(guid1, guid2) \\\n            ((*(PLONGLONG)(guid1) == *(PLONGLONG)(guid2)) && (*((PLONGLONG)(guid1) + 1) == *((PLONGLONG)(guid2) + 1)))\n    #endif // !__cplusplus\n#endif // !__IID_ALIGNED__\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlStringFromGUID(\n    IN REFGUID Guid,\n    OUT PUNICODE_STRING GuidString\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlGUIDFromString(\n    IN PUNICODE_STRING GuidString,\n    OUT GUID* Guid\n    );\n\n//\n// Fast primitives to compare, move, and zero memory\n//\n\n\n\nNTSYSAPI\nSIZE_T\nNTAPI\nRtlCompareMemory (\n    const VOID *Source1,\n    const VOID *Source2,\n    SIZE_T Length\n    );\n\n#if defined(_M_AMD64) || defined(_M_IA64)\n\n#define RtlEqualMemory(Source1, Source2, Length) \\\n    ((Length) == RtlCompareMemory(Source1, Source2, Length))\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemory (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\n#if !defined(_M_AMD64)\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemory32 (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   ULONG Length\n   );\n\n#endif\n\nNTSYSAPI\nVOID\nNTAPI\nRtlMoveMemory (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlFillMemory (\n   VOID UNALIGNED *Destination,\n   SIZE_T Length,\n   UCHAR Fill\n   );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlZeroMemory (\n   VOID UNALIGNED *Destination,\n   SIZE_T Length\n   );\n\n#else\n\n#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length)))\n#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))\n#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))\n#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))\n#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))\n\n#endif\n\n#if !defined(MIDL_PASS)\nFORCEINLINE\nPVOID\nRtlSecureZeroMemory(\n    IN PVOID ptr, \n    IN SIZE_T cnt\n    ) \n{\n    volatile char *vptr = (volatile char *)ptr;\n    while (cnt) {\n        *vptr = 0;\n        vptr++;\n        cnt--;\n    }\n    return ptr;\n}\n#endif\n\n\n\n#define RtlCopyBytes RtlCopyMemory\n#define RtlZeroBytes RtlZeroMemory\n#define RtlFillBytes RtlFillMemory\n\n#if defined(_M_AMD64)\n\nNTSYSAPI\nVOID\nNTAPI\nRtlCopyMemoryNonTemporal (\n   VOID UNALIGNED *Destination,\n   CONST VOID UNALIGNED *Source,\n   SIZE_T Length\n   );\n\n#else\n\n#define RtlCopyMemoryNonTemporal RtlCopyMemory\n\n#endif\n\nNTSYSAPI\nVOID\nFASTCALL\nRtlPrefetchMemoryNonTemporal(\n    IN PVOID Source,\n    IN SIZE_T Length\n    );\n\n//\n// Define kernel debugger print prototypes and macros.\n//\n// N.B. The following function cannot be directly imported because there are\n//      a few places in the source tree where this function is redefined.\n//\n\nVOID\nNTAPI\nDbgBreakPoint(\n    VOID\n    );\n\n\n#define DBG_STATUS_CONTROL_C        1\n#define DBG_STATUS_SYSRQ            2\n#define DBG_STATUS_BUGCHECK_FIRST   3\n#define DBG_STATUS_BUGCHECK_SECOND  4\n#define DBG_STATUS_FATAL            5\n#define DBG_STATUS_DEBUG_CONTROL    6\n#define DBG_STATUS_WORKER           7\n\n#if DBG\n\n#define KdPrint(_x_) DbgPrint _x_\n#define KdBreakPoint() DbgBreakPoint()\n\n\n#else\n\n#define KdPrint(_x_)\n#define KdBreakPoint()\n\n\n#endif\n\n#ifndef _DBGNT_\n\nULONG\n__cdecl\nDbgPrint(\n    PCH Format,\n    ...\n    );\n\n\n#endif // _DBGNT_\n\n//\n// Large integer arithmetic routines.\n//\n\n//\n// Large integer add - 64-bits + 64-bits -> 64-bits\n//\n\n#if !defined(MIDL_PASS)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerAdd (\n    LARGE_INTEGER Addend1,\n    LARGE_INTEGER Addend2\n    )\n{\n    LARGE_INTEGER Sum;\n\n    Sum.QuadPart = Addend1.QuadPart + Addend2.QuadPart;\n    return Sum;\n}\n\n//\n// Enlarged integer multiply - 32-bits * 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlEnlargedIntegerMultiply (\n    LONG Multiplicand,\n    LONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = (LONGLONG)Multiplicand * (ULONGLONG)Multiplier;\n    return Product;\n}\n\n//\n// Unsigned enlarged integer multiply - 32-bits * 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlEnlargedUnsignedMultiply (\n    ULONG Multiplicand,\n    ULONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = (ULONGLONG)Multiplicand * (ULONGLONG)Multiplier;\n    return Product;\n}\n\n//\n// Enlarged integer divide - 64-bits / 32-bits > 32-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nULONG\nNTAPI\nRtlEnlargedUnsignedDivide (\n    IN ULARGE_INTEGER Dividend,\n    IN ULONG Divisor,\n    IN PULONG Remainder OPTIONAL\n    )\n{\n    ULONG Quotient;\n\n    Quotient = (ULONG)(Dividend.QuadPart / Divisor);\n    if (ARGUMENT_PRESENT(Remainder)) {\n        *Remainder = (ULONG)(Dividend.QuadPart % Divisor);\n    }\n\n    return Quotient;\n}\n\n//\n// Large integer negation - -(64-bits)\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerNegate (\n    LARGE_INTEGER Subtrahend\n    )\n{\n    LARGE_INTEGER Difference;\n\n    Difference.QuadPart = -Subtrahend.QuadPart;\n    return Difference;\n}\n\n//\n// Large integer subtract - 64-bits - 64-bits -> 64-bits.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerSubtract (\n    LARGE_INTEGER Minuend,\n    LARGE_INTEGER Subtrahend\n    )\n{\n    LARGE_INTEGER Difference;\n\n    Difference.QuadPart = Minuend.QuadPart - Subtrahend.QuadPart;\n    return Difference;\n}\n\n//\n// Extended large integer magic divide - 64-bits / 32-bits -> 64-bits\n//\n\n#if defined(_AMD64_)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedMagicDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER MagicDivisor,\n    CCHAR ShiftCount\n    )\n{\n     LARGE_INTEGER Quotient;\n\n     Quotient.QuadPart = UnsignedMultiplyHigh((ULONG64)Dividend.QuadPart,\n                                              (ULONG64)MagicDivisor.QuadPart);\n\n     Quotient.QuadPart = (ULONG64)Quotient.QuadPart >> ShiftCount;\n     return Quotient;\n}\n\n#endif // defined(_AMD64_)\n\n#if defined(_X86_) || defined(_IA64_)\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedMagicDivide (\n    LARGE_INTEGER Dividend,\n    LARGE_INTEGER MagicDivisor,\n    CCHAR ShiftCount\n    );\n\n#endif // defined(_X86_) || defined(_IA64_)\n\n#if defined(_AMD64_) || defined(_IA64_)\n\n//\n// Large Integer divide - 64-bits / 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    ULONG Divisor,\n    PULONG Remainder OPTIONAL\n    )\n{\n    LARGE_INTEGER Quotient;\n\n    Quotient.QuadPart = (ULONG64)Dividend.QuadPart / Divisor;\n    if (ARGUMENT_PRESENT(Remainder)) {\n        *Remainder = (ULONG)(Dividend.QuadPart % Divisor);\n    }\n\n    return Quotient;\n}\n\n//\n// Extended integer multiply - 32-bits * 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlExtendedIntegerMultiply (\n    LARGE_INTEGER Multiplicand,\n    LONG Multiplier\n    )\n{\n    LARGE_INTEGER Product;\n\n    Product.QuadPart = Multiplicand.QuadPart * Multiplier;\n    return Product;\n}\n\n#else\n\n//\n// Large Integer divide - 64-bits / 32-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedLargeIntegerDivide (\n    LARGE_INTEGER Dividend,\n    ULONG Divisor,\n    PULONG Remainder\n    );\n\n//\n// Extended integer multiply - 32-bits * 64-bits -> 64-bits\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\nNTSYSAPI\nLARGE_INTEGER\nNTAPI\nRtlExtendedIntegerMultiply (\n    LARGE_INTEGER Multiplicand,\n    LONG Multiplier\n    );\n\n#endif // defined(_AMD64_) || defined(_IA64_)\n\n//\n// Large integer and - 64-bite & 64-bits -> 64-bits.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(RtlLargeIntegerAnd)      // Use native __int64 math\n#endif\n#define RtlLargeIntegerAnd(Result, Source, Mask) \\\n    Result.QuadPart = Source.QuadPart & Mask.QuadPart\n\n//\n// Convert signed integer to large integer.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlConvertLongToLargeInteger (\n    LONG SignedInteger\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = SignedInteger;\n    return Result;\n}\n\n//\n// Convert unsigned integer to large integer.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlConvertUlongToLargeInteger (\n    ULONG UnsignedInteger\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = UnsignedInteger;\n    return Result;\n}\n\n//\n// Large integer shift routines.\n//\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerShiftLeft (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = LargeInteger.QuadPart << ShiftCount;\n    return Result;\n}\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerShiftRight (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = (ULONG64)LargeInteger.QuadPart >> ShiftCount;\n    return Result;\n}\n\nDECLSPEC_DEPRECATED_DDK         // Use native __int64 math\n__inline\nLARGE_INTEGER\nNTAPI\nRtlLargeIntegerArithmeticShift (\n    LARGE_INTEGER LargeInteger,\n    CCHAR ShiftCount\n    )\n{\n    LARGE_INTEGER Result;\n\n    Result.QuadPart = LargeInteger.QuadPart >> ShiftCount;\n    return Result;\n}\n\n\n//\n// Large integer comparison routines.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(RtlLargeIntegerGreaterThan)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterThanOrEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerNotEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThan)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThanOrEqualTo)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterThanZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerGreaterOrEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerNotEqualToZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessThanZero)      // Use native __int64 math\n#pragma deprecated(RtlLargeIntegerLessOrEqualToZero)      // Use native __int64 math\n#endif\n\n#define RtlLargeIntegerGreaterThan(X,Y) (                              \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart > (Y).LowPart)) || \\\n    ((X).HighPart > (Y).HighPart)                                      \\\n)\n\n#define RtlLargeIntegerGreaterThanOrEqualTo(X,Y) (                      \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart >= (Y).LowPart)) || \\\n    ((X).HighPart > (Y).HighPart)                                       \\\n)\n\n#define RtlLargeIntegerEqualTo(X,Y) (                              \\\n    !(((X).LowPart ^ (Y).LowPart) | ((X).HighPart ^ (Y).HighPart)) \\\n)\n\n#define RtlLargeIntegerNotEqualTo(X,Y) (                          \\\n    (((X).LowPart ^ (Y).LowPart) | ((X).HighPart ^ (Y).HighPart)) \\\n)\n\n#define RtlLargeIntegerLessThan(X,Y) (                                 \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart < (Y).LowPart)) || \\\n    ((X).HighPart < (Y).HighPart)                                      \\\n)\n\n#define RtlLargeIntegerLessThanOrEqualTo(X,Y) (                         \\\n    (((X).HighPart == (Y).HighPart) && ((X).LowPart <= (Y).LowPart)) || \\\n    ((X).HighPart < (Y).HighPart)                                       \\\n)\n\n#define RtlLargeIntegerGreaterThanZero(X) (       \\\n    (((X).HighPart == 0) && ((X).LowPart > 0)) || \\\n    ((X).HighPart > 0 )                           \\\n)\n\n#define RtlLargeIntegerGreaterOrEqualToZero(X) ( \\\n    (X).HighPart >= 0                            \\\n)\n\n#define RtlLargeIntegerEqualToZero(X) ( \\\n    !((X).LowPart | (X).HighPart)       \\\n)\n\n#define RtlLargeIntegerNotEqualToZero(X) ( \\\n    ((X).LowPart | (X).HighPart)           \\\n)\n\n#define RtlLargeIntegerLessThanZero(X) ( \\\n    ((X).HighPart < 0)                   \\\n)\n\n#define RtlLargeIntegerLessOrEqualToZero(X) (           \\\n    ((X).HighPart < 0) || !((X).LowPart | (X).HighPart) \\\n)\n\n#endif // !defined(MIDL_PASS)\n\f\n//\n//  Time conversion routines\n//\n\ntypedef struct _TIME_FIELDS {\n    CSHORT Year;        // range [1601...]\n    CSHORT Month;       // range [1..12]\n    CSHORT Day;         // range [1..31]\n    CSHORT Hour;        // range [0..23]\n    CSHORT Minute;      // range [0..59]\n    CSHORT Second;      // range [0..59]\n    CSHORT Milliseconds;// range [0..999]\n    CSHORT Weekday;     // range [0..6] == [Sunday..Saturday]\n} TIME_FIELDS;\ntypedef TIME_FIELDS *PTIME_FIELDS;\n\n\nNTSYSAPI\nVOID\nNTAPI\nRtlTimeToTimeFields (\n    PLARGE_INTEGER Time,\n    PTIME_FIELDS TimeFields\n    );\n\n//\n//  A time field record (Weekday ignored) -> 64 bit Time value\n//\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlTimeFieldsToTime (\n    PTIME_FIELDS TimeFields,\n    PLARGE_INTEGER Time\n    );\n\n//\n// The following macros store and retrieve USHORTS and ULONGS from potentially\n// unaligned addresses, avoiding alignment faults.  they should probably be\n// rewritten in assembler\n//\n\n#define SHORT_SIZE  (sizeof(USHORT))\n#define SHORT_MASK  (SHORT_SIZE - 1)\n#define LONG_SIZE       (sizeof(LONG))\n#define LONGLONG_SIZE   (sizeof(LONGLONG))\n#define LONG_MASK       (LONG_SIZE - 1)\n#define LONGLONG_MASK   (LONGLONG_SIZE - 1)\n#define LOWBYTE_MASK 0x00FF\n\n#define FIRSTBYTE(VALUE)  ((VALUE) & LOWBYTE_MASK)\n#define SECONDBYTE(VALUE) (((VALUE) >> 8) & LOWBYTE_MASK)\n#define THIRDBYTE(VALUE)  (((VALUE) >> 16) & LOWBYTE_MASK)\n#define FOURTHBYTE(VALUE) (((VALUE) >> 24) & LOWBYTE_MASK)\n\n//\n// if MIPS Big Endian, order of bytes is reversed.\n//\n\n#define SHORT_LEAST_SIGNIFICANT_BIT  0\n#define SHORT_MOST_SIGNIFICANT_BIT   1\n\n#define LONG_LEAST_SIGNIFICANT_BIT       0\n#define LONG_3RD_MOST_SIGNIFICANT_BIT    1\n#define LONG_2ND_MOST_SIGNIFICANT_BIT    2\n#define LONG_MOST_SIGNIFICANT_BIT        3\n\n//++\n//\n// VOID\n// RtlStoreUshort (\n//     PUSHORT ADDRESS\n//     USHORT VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a USHORT value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store USHORT value\n//     VALUE - USHORT to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlStoreUshort(ADDRESS,VALUE)                     \\\n         if ((ULONG_PTR)(ADDRESS) & SHORT_MASK) {         \\\n             ((PUCHAR) (ADDRESS))[SHORT_LEAST_SIGNIFICANT_BIT] = (UCHAR)(FIRSTBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[SHORT_MOST_SIGNIFICANT_BIT ] = (UCHAR)(SECONDBYTE(VALUE));   \\\n         }                                                \\\n         else {                                           \\\n             *((PUSHORT) (ADDRESS)) = (USHORT) VALUE;     \\\n         }\n\n\n//++\n//\n// VOID\n// RtlStoreUlong (\n//     PULONG ADDRESS\n//     ULONG VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONG value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONG value\n//     VALUE - ULONG to store\n//\n// Return Value:\n//\n//     none.\n//\n// Note:\n//     Depending on the machine, we might want to call storeushort in the\n//     unaligned case.\n//\n//--\n\n#define RtlStoreUlong(ADDRESS,VALUE)                      \\\n         if ((ULONG_PTR)(ADDRESS) & LONG_MASK) {          \\\n             ((PUCHAR) (ADDRESS))[LONG_LEAST_SIGNIFICANT_BIT      ] = (UCHAR)(FIRSTBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[LONG_3RD_MOST_SIGNIFICANT_BIT   ] = (UCHAR)(SECONDBYTE(VALUE));   \\\n             ((PUCHAR) (ADDRESS))[LONG_2ND_MOST_SIGNIFICANT_BIT   ] = (UCHAR)(THIRDBYTE(VALUE));    \\\n             ((PUCHAR) (ADDRESS))[LONG_MOST_SIGNIFICANT_BIT       ] = (UCHAR)(FOURTHBYTE(VALUE));   \\\n         }                                                \\\n         else {                                           \\\n             *((PULONG) (ADDRESS)) = (ULONG) (VALUE);     \\\n         }\n\n//++\n//\n// VOID\n// RtlStoreUlonglong (\n//     PULONGLONG ADDRESS\n//     ULONG VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONGLONG value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONGLONG value\n//     VALUE - ULONGLONG to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlStoreUlonglong(ADDRESS,VALUE)                        \\\n         if ((ULONG_PTR)(ADDRESS) & LONGLONG_MASK) {            \\\n             RtlStoreUlong((ULONG_PTR)(ADDRESS),                \\\n                           (ULONGLONG)(VALUE) & 0xFFFFFFFF);    \\\n             RtlStoreUlong((ULONG_PTR)(ADDRESS)+sizeof(ULONG),  \\\n                           (ULONGLONG)(VALUE) >> 32);           \\\n         } else {                                               \\\n             *((PULONGLONG)(ADDRESS)) = (ULONGLONG)(VALUE);     \\\n         }\n\n//++\n//\n// VOID\n// RtlStoreUlongPtr (\n//     PULONG_PTR ADDRESS\n//     ULONG_PTR VALUE\n//     )\n//\n// Routine Description:\n//\n// This macro stores a ULONG_PTR value in at a particular address, avoiding\n// alignment faults.\n//\n// Arguments:\n//\n//     ADDRESS - where to store ULONG_PTR value\n//     VALUE - ULONG_PTR to store\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#ifdef _WIN64\n\n#define RtlStoreUlongPtr(ADDRESS,VALUE)                         \\\n         RtlStoreUlonglong(ADDRESS,VALUE)\n\n#else\n\n#define RtlStoreUlongPtr(ADDRESS,VALUE)                         \\\n         RtlStoreUlong(ADDRESS,VALUE)\n\n#endif\n\n//++\n//\n// VOID\n// RtlRetrieveUshort (\n//     PUSHORT DESTINATION_ADDRESS\n//     PUSHORT SOURCE_ADDRESS\n//     )\n//\n// Routine Description:\n//\n// This macro retrieves a USHORT value from the SOURCE address, avoiding\n// alignment faults.  The DESTINATION address is assumed to be aligned.\n//\n// Arguments:\n//\n//     DESTINATION_ADDRESS - where to store USHORT value\n//     SOURCE_ADDRESS - where to retrieve USHORT value from\n//\n// Return Value:\n//\n//     none.\n//\n//--\n\n#define RtlRetrieveUshort(DEST_ADDRESS,SRC_ADDRESS)                   \\\n         if ((ULONG_PTR)SRC_ADDRESS & SHORT_MASK) {                       \\\n             ((PUCHAR) DEST_ADDRESS)[0] = ((PUCHAR) SRC_ADDRESS)[0];  \\\n             ((PUCHAR) DEST_ADDRESS)[1] = ((PUCHAR) SRC_ADDRESS)[1];  \\\n         }                                                            \\\n         else {                                                       \\\n             *((PUSHORT) DEST_ADDRESS) = *((PUSHORT) SRC_ADDRESS);    \\\n         }                                                            \\\n\n//++\n//\n// VOID\n// RtlRetrieveUlong (\n//     PULONG DESTINATION_ADDRESS\n//     PULONG SOURCE_ADDRESS\n//     )\n//\n// Routine Description:\n//\n// This macro retrieves a ULONG value from the SOURCE address, avoiding\n// alignment faults.  The DESTINATION address is assumed to be aligned.\n//\n// Arguments:\n//\n//     DESTINATION_ADDRESS - where to store ULONG value\n//     SOURCE_ADDRESS - where to retrieve ULONG value from\n//\n// Return Value:\n//\n//     none.\n//\n// Note:\n//     Depending on the machine, we might want to call retrieveushort in the\n//     unaligned case.\n//\n//--\n\n#define RtlRetrieveUlong(DEST_ADDRESS,SRC_ADDRESS)                    \\\n         if ((ULONG_PTR)SRC_ADDRESS & LONG_MASK) {                        \\\n             ((PUCHAR) DEST_ADDRESS)[0] = ((PUCHAR) SRC_ADDRESS)[0];  \\\n             ((PUCHAR) DEST_ADDRESS)[1] = ((PUCHAR) SRC_ADDRESS)[1];  \\\n             ((PUCHAR) DEST_ADDRESS)[2] = ((PUCHAR) SRC_ADDRESS)[2];  \\\n             ((PUCHAR) DEST_ADDRESS)[3] = ((PUCHAR) SRC_ADDRESS)[3];  \\\n         }                                                            \\\n         else {                                                       \\\n             *((PULONG) DEST_ADDRESS) = *((PULONG) SRC_ADDRESS);      \\\n         }\n//\n//  BitMap routines.  The following structure, routines, and macros are\n//  for manipulating bitmaps.  The user is responsible for allocating a bitmap\n//  structure (which is really a header) and a buffer (which must be longword\n//  aligned and multiple longwords in size).\n//\n\ntypedef struct _RTL_BITMAP {\n    ULONG SizeOfBitMap;                     // Number of bits in bit map\n    PULONG Buffer;                          // Pointer to the bit map itself\n} RTL_BITMAP;\ntypedef RTL_BITMAP *PRTL_BITMAP;\n\n//\n//  The following routine initializes a new bitmap.  It does not alter the\n//  data currently in the bitmap.  This routine must be called before\n//  any other bitmap routine/macro.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlInitializeBitMap (\n    PRTL_BITMAP BitMapHeader,\n    PULONG BitMapBuffer,\n    ULONG SizeOfBitMap\n    );\n\n//\n//  The following three routines clear, set, and test the state of a\n//  single bit in a bitmap.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlTestBit (\n    PRTL_BITMAP BitMapHeader,\n    ULONG BitNumber\n    );\n\n//\n//  The following two routines either clear or set all of the bits\n//  in a bitmap.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearAllBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetAllBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\n//\n//  The following two routines locate a contiguous region of either\n//  clear or set bits within the bitmap.  The region will be at least\n//  as large as the number specified, and the search of the bitmap will\n//  begin at the specified hint index (which is a bit index within the\n//  bitmap, zero based).  The return value is the bit index of the located\n//  region (zero based) or -1 (i.e., 0xffffffff) if such a region cannot\n//  be located\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindSetBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\n//\n//  The following two routines locate a contiguous region of either\n//  clear or set bits within the bitmap and either set or clear the bits\n//  within the located region.  The region will be as large as the number\n//  specified, and the search for the region will begin at the specified\n//  hint index (which is a bit index within the bitmap, zero based).  The\n//  return value is the bit index of the located region (zero based) or\n//  -1 (i.e., 0xffffffff) if such a region cannot be located.  If a region\n//  cannot be located then the setting/clearing of the bitmap is not performed.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearBitsAndSet (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindSetBitsAndClear (\n    PRTL_BITMAP BitMapHeader,\n    ULONG NumberToFind,\n    ULONG HintIndex\n    );\n\n//\n//  The following two routines clear or set bits within a specified region\n//  of the bitmap.  The starting index is zero based.\n//\n\nNTSYSAPI\nVOID\nNTAPI\nRtlClearBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG NumberToClear\n    );\n\nNTSYSAPI\nVOID\nNTAPI\nRtlSetBits (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG NumberToSet\n    );\n\n//\n//  The following routine locates a set of contiguous regions of clear\n//  bits within the bitmap.  The caller specifies whether to return the\n//  longest runs or just the first found lcoated.  The following structure is\n//  used to denote a contiguous run of bits.  The two routines return an array\n//  of this structure, one for each run located.\n//\n\ntypedef struct _RTL_BITMAP_RUN {\n\n    ULONG StartingIndex;\n    ULONG NumberOfBits;\n\n} RTL_BITMAP_RUN;\ntypedef RTL_BITMAP_RUN *PRTL_BITMAP_RUN;\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindClearRuns (\n    PRTL_BITMAP BitMapHeader,\n    PRTL_BITMAP_RUN RunArray,\n    ULONG SizeOfRunArray,\n    BOOLEAN LocateLongestRuns\n    );\n\n//\n//  The following routine locates the longest contiguous region of\n//  clear bits within the bitmap.  The returned starting index value\n//  denotes the first contiguous region located satisfying our requirements\n//  The return value is the length (in bits) of the longest region found.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindLongestRunClear (\n    PRTL_BITMAP BitMapHeader,\n    PULONG StartingIndex\n    );\n\n//\n//  The following routine locates the first contiguous region of\n//  clear bits within the bitmap.  The returned starting index value\n//  denotes the first contiguous region located satisfying our requirements\n//  The return value is the length (in bits) of the region found.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindFirstRunClear (\n    PRTL_BITMAP BitMapHeader,\n    PULONG StartingIndex\n    );\n\n//\n//  The following macro returns the value of the bit stored within the\n//  bitmap at the specified location.  If the bit is set a value of 1 is\n//  returned otherwise a value of 0 is returned.\n//\n//      ULONG\n//      RtlCheckBit (\n//          PRTL_BITMAP BitMapHeader,\n//          ULONG BitPosition\n//          );\n//\n//\n//  To implement CheckBit the macro retrieves the longword containing the\n//  bit in question, shifts the longword to get the bit in question into the\n//  low order bit position and masks out all other bits.\n//\n\n#define RtlCheckBit(BMH,BP) ((((BMH)->Buffer[(BP) / 32]) >> ((BP) % 32)) & 0x1)\n\n//\n//  The following two procedures return to the caller the total number of\n//  clear or set bits within the specified bitmap.\n//\n\nNTSYSAPI\nULONG\nNTAPI\nRtlNumberOfClearBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlNumberOfSetBits (\n    PRTL_BITMAP BitMapHeader\n    );\n\n//\n//  The following two procedures return to the caller a boolean value\n//  indicating if the specified range of bits are all clear or set.\n//\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlAreBitsClear (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG Length\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlAreBitsSet (\n    PRTL_BITMAP BitMapHeader,\n    ULONG StartingIndex,\n    ULONG Length\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindNextForwardRunClear (\n    IN PRTL_BITMAP BitMapHeader,\n    IN ULONG FromIndex,\n    IN PULONG StartingRunIndex\n    );\n\nNTSYSAPI\nULONG\nNTAPI\nRtlFindLastBackwardRunClear (\n    IN PRTL_BITMAP BitMapHeader,\n    IN ULONG FromIndex,\n    IN PULONG StartingRunIndex\n    );\n\n//\n//  The following two procedures return to the caller a value indicating\n//  the position within a ULONGLONG of the most or least significant non-zero\n//  bit.  A value of zero results in a return value of -1.\n//\n\nNTSYSAPI\nCCHAR\nNTAPI\nRtlFindLeastSignificantBit (\n    IN ULONGLONG Set\n    );\n\nNTSYSAPI\nCCHAR\nNTAPI\nRtlFindMostSignificantBit (\n    IN ULONGLONG Set\n    );\n\n//\n//  SecurityDescriptor RTL routine definitions\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlCreateSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor,\n    ULONG Revision\n    );\n\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlValidSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\n\nNTSYSAPI\nULONG\nNTAPI\nRtlLengthSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\nNTSYSAPI\nBOOLEAN\nNTAPI\nRtlValidRelativeSecurityDescriptor (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,\n    IN ULONG SecurityDescriptorLength,\n    IN SECURITY_INFORMATION RequiredInformation\n    );\n\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nRtlSetDaclSecurityDescriptor (\n    PSECURITY_DESCRIPTOR SecurityDescriptor,\n    BOOLEAN DaclPresent,\n    PACL Dacl,\n    BOOLEAN DaclDefaulted\n    );\n\n\n//\n// Byte swap routines.  These are used to convert from little-endian to\n// big-endian and vice-versa.\n//\n\n#if (defined(_M_IX86) && (_MSC_FULL_VER > 13009037)) || ((defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_FULL_VER > 13009175))\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nunsigned short __cdecl _byteswap_ushort(unsigned short);\nunsigned long  __cdecl _byteswap_ulong (unsigned long);\nunsigned __int64 __cdecl _byteswap_uint64(unsigned __int64);\n#ifdef __cplusplus\n}\n#endif\n#pragma intrinsic(_byteswap_ushort)\n#pragma intrinsic(_byteswap_ulong)\n#pragma intrinsic(_byteswap_uint64)\n\n#define RtlUshortByteSwap(_x)    _byteswap_ushort((USHORT)(_x))\n#define RtlUlongByteSwap(_x)     _byteswap_ulong((_x))\n#define RtlUlonglongByteSwap(_x) _byteswap_uint64((_x))\n#else\nUSHORT\nFASTCALL\nRtlUshortByteSwap(\n    IN USHORT Source\n    );\n\nULONG\nFASTCALL\nRtlUlongByteSwap(\n    IN ULONG Source\n    );\n\nULONGLONG\nFASTCALL\nRtlUlonglongByteSwap(\n    IN ULONGLONG Source\n    );\n#endif\n\n\n//\n// Interlocked bit manipulation interfaces\n//\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedSetBits (\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    );\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedClearBits (\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    );\n\nNTSYSAPI\nULONG\nFASTCALL\nRtlInterlockedSetClearBits (\n    IN OUT PULONG Flags,\n    IN ULONG sFlag,\n    IN ULONG cFlag\n    );\n\n\n//\n// These are for when the compiler has fixes in for these intrinsics\n//\n#if (_MSC_FULL_VER > 13009037) || !defined (_M_IX86)\n\n#define RtlInterlockedSetBits(Flags, Flag) \\\n    InterlockedOr ((PLONG) (Flags), Flag)\n\n#define RtlInterlockedAndBits(Flags, Flag) \\\n    InterlockedAnd ((PLONG) (Flags), Flag)\n\n#define RtlInterlockedClearBits(Flags, Flag) \\\n    RtlInterlockedAndBits (Flags, ~(Flag))\n\n#define RtlInterlockedXorBits(Flags, Flag) \\\n    InterlockedXor (Flags, Flag)\n\n\n#define RtlInterlockedSetBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedSetBits (Flags, Flag)\n\n#define RtlInterlockedAndBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedAndBits (Flags, Flag)\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    RtlInterlockedAndBitsDiscardReturn (Flags, ~(Flag))\n\n#else\n\n#if defined (_X86_) && !defined(MIDL_PASS)\n\nFORCEINLINE\nVOID\nRtlInterlockedSetBitsDiscardReturn(\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    )\n{\n    __asm {\n        mov ecx, Flags\n        mov eax, Flag\n#if defined (NT_UP)\n        or [ecx], eax\n#else\n        lock or [ecx], eax\n#endif\n    }\n}\n\nFORCEINLINE\nVOID\nRtlInterlockedAndBitsDiscardReturn(\n    IN OUT PULONG Flags,\n    IN ULONG Flag\n    )\n{\n    __asm {\n        mov ecx, Flags\n        mov eax, Flag\n#if defined (NT_UP)\n        and [ecx], eax\n#else\n        lock and [ecx], eax\n#endif\n    }\n}\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedAndBitsDiscardReturn ((Flags), ~(Flag))\n\n#else\n\n#define RtlInterlockedSetBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedSetBits ((Flags), (Flag))\n\n#define RtlInterlockedClearBitsDiscardReturn(Flags, Flag) \\\n    (VOID) RtlInterlockedClearBits ((Flags), (Flag))\n\n#endif  /* #if defined(_X86_) && !defined(MIDL_PASS) */\n\n#endif\n\n//\n// Component name filter id enumeration and levels.\n//\n\n#define DPFLTR_ERROR_LEVEL 0\n#define DPFLTR_WARNING_LEVEL 1\n#define DPFLTR_TRACE_LEVEL 2\n#define DPFLTR_INFO_LEVEL 3\n#define DPFLTR_MASK 0x80000000\n\ntypedef enum _DPFLTR_TYPE {\n    DPFLTR_SYSTEM_ID = 0,\n    DPFLTR_SMSS_ID = 1,\n    DPFLTR_SETUP_ID = 2,\n    DPFLTR_NTFS_ID = 3,\n    DPFLTR_FSTUB_ID = 4,\n    DPFLTR_CRASHDUMP_ID = 5,\n    DPFLTR_CDAUDIO_ID = 6,\n    DPFLTR_CDROM_ID = 7,\n    DPFLTR_CLASSPNP_ID = 8,\n    DPFLTR_DISK_ID = 9,\n    DPFLTR_REDBOOK_ID = 10,\n    DPFLTR_STORPROP_ID = 11,\n    DPFLTR_SCSIPORT_ID = 12,\n    DPFLTR_SCSIMINIPORT_ID = 13,\n    DPFLTR_CONFIG_ID = 14,\n    DPFLTR_I8042PRT_ID = 15,\n    DPFLTR_SERMOUSE_ID = 16,\n    DPFLTR_LSERMOUS_ID = 17,\n    DPFLTR_KBDHID_ID = 18,\n    DPFLTR_MOUHID_ID = 19,\n    DPFLTR_KBDCLASS_ID = 20,\n    DPFLTR_MOUCLASS_ID = 21,\n    DPFLTR_TWOTRACK_ID = 22,\n    DPFLTR_WMILIB_ID = 23,\n    DPFLTR_ACPI_ID = 24,\n    DPFLTR_AMLI_ID = 25,\n    DPFLTR_HALIA64_ID = 26,\n    DPFLTR_VIDEO_ID = 27,\n    DPFLTR_SVCHOST_ID = 28,\n    DPFLTR_VIDEOPRT_ID = 29,\n    DPFLTR_TCPIP_ID = 30,\n    DPFLTR_DMSYNTH_ID = 31,\n    DPFLTR_NTOSPNP_ID = 32,\n    DPFLTR_FASTFAT_ID = 33,\n    DPFLTR_SAMSS_ID = 34,\n    DPFLTR_PNPMGR_ID = 35,\n    DPFLTR_NETAPI_ID = 36,\n    DPFLTR_SCSERVER_ID = 37,\n    DPFLTR_SCCLIENT_ID = 38,\n    DPFLTR_SERIAL_ID = 39,\n    DPFLTR_SERENUM_ID = 40,\n    DPFLTR_UHCD_ID = 41,\n    DPFLTR_BOOTOK_ID = 42,\n    DPFLTR_BOOTVRFY_ID = 43,\n    DPFLTR_RPCPROXY_ID = 44,\n    DPFLTR_AUTOCHK_ID = 45,\n    DPFLTR_DCOMSS_ID = 46,\n    DPFLTR_UNIMODEM_ID = 47,\n    DPFLTR_SIS_ID = 48,\n    DPFLTR_FLTMGR_ID = 49,\n    DPFLTR_WMICORE_ID = 50,\n    DPFLTR_BURNENG_ID = 51,\n    DPFLTR_IMAPI_ID = 52,\n    DPFLTR_SXS_ID = 53,\n    DPFLTR_FUSION_ID = 54,\n    DPFLTR_IDLETASK_ID = 55,\n    DPFLTR_SOFTPCI_ID = 56,\n    DPFLTR_TAPE_ID = 57,\n    DPFLTR_MCHGR_ID = 58,\n    DPFLTR_IDEP_ID = 59,\n    DPFLTR_PCIIDE_ID = 60,\n    DPFLTR_FLOPPY_ID = 61,\n    DPFLTR_FDC_ID = 62,\n    DPFLTR_TERMSRV_ID = 63,\n    DPFLTR_W32TIME_ID = 64,\n    DPFLTR_PREFETCHER_ID = 65,\n    DPFLTR_RSFILTER_ID = 66,\n    DPFLTR_FCPORT_ID = 67,\n    DPFLTR_PCI_ID = 68,\n    DPFLTR_DMIO_ID = 69,\n    DPFLTR_DMCONFIG_ID = 70,\n    DPFLTR_DMADMIN_ID = 71,\n    DPFLTR_WSOCKTRANSPORT_ID = 72,\n    DPFLTR_VSS_ID = 73,\n    DPFLTR_PNPMEM_ID = 74,\n    DPFLTR_PROCESSOR_ID = 75,\n    DPFLTR_DMSERVER_ID = 76,\n    DPFLTR_SR_ID = 77,\n    DPFLTR_INFINIBAND_ID = 78,\n    DPFLTR_IHVDRIVER_ID = 79,\n    DPFLTR_IHVVIDEO_ID = 80,\n    DPFLTR_IHVAUDIO_ID = 81,\n    DPFLTR_IHVNETWORK_ID = 82,\n    DPFLTR_IHVSTREAMING_ID = 83,\n    DPFLTR_IHVBUS_ID = 84,\n    DPFLTR_HPS_ID = 85,\n    DPFLTR_RTLTHREADPOOL_ID = 86,\n    DPFLTR_LDR_ID = 87,\n    DPFLTR_TCPIP6_ID = 88,\n    DPFLTR_ISAPNP_ID = 89,\n    DPFLTR_SHPC_ID = 90,\n    DPFLTR_STORPORT_ID = 91,\n    DPFLTR_STORMINIPORT_ID = 92,\n    DPFLTR_PRINTSPOOLER_ID = 93,\n    DPFLTR_ENDOFTABLE_ID\n} DPFLTR_TYPE;\n\n//\n// Define the various device type values.  Note that values used by Microsoft\n// Corporation are in the range 0-32767, and 32768-65535 are reserved for use\n// by customers.\n//\n\n#define DEVICE_TYPE ULONG\n\n#define FILE_DEVICE_BEEP                0x00000001\n#define FILE_DEVICE_CD_ROM              0x00000002\n#define FILE_DEVICE_CD_ROM_FILE_SYSTEM  0x00000003\n#define FILE_DEVICE_CONTROLLER          0x00000004\n#define FILE_DEVICE_DATALINK            0x00000005\n#define FILE_DEVICE_DFS                 0x00000006\n#define FILE_DEVICE_DISK                0x00000007\n#define FILE_DEVICE_DISK_FILE_SYSTEM    0x00000008\n#define FILE_DEVICE_FILE_SYSTEM         0x00000009\n#define FILE_DEVICE_INPORT_PORT         0x0000000a\n#define FILE_DEVICE_KEYBOARD            0x0000000b\n#define FILE_DEVICE_MAILSLOT            0x0000000c\n#define FILE_DEVICE_MIDI_IN             0x0000000d\n#define FILE_DEVICE_MIDI_OUT            0x0000000e\n#define FILE_DEVICE_MOUSE               0x0000000f\n#define FILE_DEVICE_MULTI_UNC_PROVIDER  0x00000010\n#define FILE_DEVICE_NAMED_PIPE          0x00000011\n#define FILE_DEVICE_NETWORK             0x00000012\n#define FILE_DEVICE_NETWORK_BROWSER     0x00000013\n#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014\n#define FILE_DEVICE_NULL                0x00000015\n#define FILE_DEVICE_PARALLEL_PORT       0x00000016\n#define FILE_DEVICE_PHYSICAL_NETCARD    0x00000017\n#define FILE_DEVICE_PRINTER             0x00000018\n#define FILE_DEVICE_SCANNER             0x00000019\n#define FILE_DEVICE_SERIAL_MOUSE_PORT   0x0000001a\n#define FILE_DEVICE_SERIAL_PORT         0x0000001b\n#define FILE_DEVICE_SCREEN              0x0000001c\n#define FILE_DEVICE_SOUND               0x0000001d\n#define FILE_DEVICE_STREAMS             0x0000001e\n#define FILE_DEVICE_TAPE                0x0000001f\n#define FILE_DEVICE_TAPE_FILE_SYSTEM    0x00000020\n#define FILE_DEVICE_TRANSPORT           0x00000021\n#define FILE_DEVICE_UNKNOWN             0x00000022\n#define FILE_DEVICE_VIDEO               0x00000023\n#define FILE_DEVICE_VIRTUAL_DISK        0x00000024\n#define FILE_DEVICE_WAVE_IN             0x00000025\n#define FILE_DEVICE_WAVE_OUT            0x00000026\n#define FILE_DEVICE_8042_PORT           0x00000027\n#define FILE_DEVICE_NETWORK_REDIRECTOR  0x00000028\n#define FILE_DEVICE_BATTERY             0x00000029\n#define FILE_DEVICE_BUS_EXTENDER        0x0000002a\n#define FILE_DEVICE_MODEM               0x0000002b\n#define FILE_DEVICE_VDM                 0x0000002c\n#define FILE_DEVICE_MASS_STORAGE        0x0000002d\n#define FILE_DEVICE_SMB                 0x0000002e\n#define FILE_DEVICE_KS                  0x0000002f\n#define FILE_DEVICE_CHANGER             0x00000030\n#define FILE_DEVICE_SMARTCARD           0x00000031\n#define FILE_DEVICE_ACPI                0x00000032\n#define FILE_DEVICE_DVD                 0x00000033\n#define FILE_DEVICE_FULLSCREEN_VIDEO    0x00000034\n#define FILE_DEVICE_DFS_FILE_SYSTEM     0x00000035\n#define FILE_DEVICE_DFS_VOLUME          0x00000036\n#define FILE_DEVICE_SERENUM             0x00000037\n#define FILE_DEVICE_TERMSRV             0x00000038\n#define FILE_DEVICE_KSEC                0x00000039\n#define FILE_DEVICE_FIPS\t\t0x0000003A\n\n//\n// Macro definition for defining IOCTL and FSCTL function control codes.  Note\n// that function codes 0-2047 are reserved for Microsoft Corporation, and\n// 2048-4095 are reserved for customers.\n//\n\n#define CTL_CODE( DeviceType, Function, Method, Access ) (                 \\\n    ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \\\n)\n\n//\n// Macro to extract device type out of the device io control code\n//\n#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode)     (((ULONG)(ctrlCode & 0xffff0000)) >> 16)\n\n//\n// Define the method codes for how buffers are passed for I/O and FS controls\n//\n\n#define METHOD_BUFFERED                 0\n#define METHOD_IN_DIRECT                1\n#define METHOD_OUT_DIRECT               2\n#define METHOD_NEITHER                  3\n\n//\n// Define the access check value for any access\n//\n//\n// The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in\n// ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these\n// constants *MUST* always be in sync.\n//\n//\n// FILE_SPECIAL_ACCESS is checked by the NT I/O system the same as FILE_ANY_ACCESS.\n// The file systems, however, may add additional access checks for I/O and FS controls\n// that use this value.\n//\n\n\n#define FILE_ANY_ACCESS                 0\n#define FILE_SPECIAL_ACCESS    (FILE_ANY_ACCESS)\n#define FILE_READ_ACCESS          ( 0x0001 )    // file & pipe\n#define FILE_WRITE_ACCESS         ( 0x0002 )    // file & pipe\n\n\n\n//\n// Define access rights to files and directories\n//\n\n//\n// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in\n// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these\n// constants *MUST* always be in sync.\n// The values are redefined in devioctl.h because they must be available to\n// both DOS and NT.\n//\n\n#define FILE_READ_DATA            ( 0x0001 )    // file & pipe\n#define FILE_LIST_DIRECTORY       ( 0x0001 )    // directory\n\n#define FILE_WRITE_DATA           ( 0x0002 )    // file & pipe\n#define FILE_ADD_FILE             ( 0x0002 )    // directory\n\n#define FILE_APPEND_DATA          ( 0x0004 )    // file\n#define FILE_ADD_SUBDIRECTORY     ( 0x0004 )    // directory\n#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 )    // named pipe\n\n\n#define FILE_READ_EA              ( 0x0008 )    // file & directory\n\n#define FILE_WRITE_EA             ( 0x0010 )    // file & directory\n\n#define FILE_EXECUTE              ( 0x0020 )    // file\n#define FILE_TRAVERSE             ( 0x0020 )    // directory\n\n#define FILE_DELETE_CHILD         ( 0x0040 )    // directory\n\n#define FILE_READ_ATTRIBUTES      ( 0x0080 )    // all\n\n#define FILE_WRITE_ATTRIBUTES     ( 0x0100 )    // all\n\n#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)\n\n#define FILE_GENERIC_READ         (STANDARD_RIGHTS_READ     |\\\n                                   FILE_READ_DATA           |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_READ_EA             |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_WRITE        (STANDARD_RIGHTS_WRITE    |\\\n                                   FILE_WRITE_DATA          |\\\n                                   FILE_WRITE_ATTRIBUTES    |\\\n                                   FILE_WRITE_EA            |\\\n                                   FILE_APPEND_DATA         |\\\n                                   SYNCHRONIZE)\n\n\n#define FILE_GENERIC_EXECUTE      (STANDARD_RIGHTS_EXECUTE  |\\\n                                   FILE_READ_ATTRIBUTES     |\\\n                                   FILE_EXECUTE             |\\\n                                   SYNCHRONIZE)\n\n\n\n\n//\n// Define share access rights to files and directories\n//\n\n#define FILE_SHARE_READ                 0x00000001  \n#define FILE_SHARE_WRITE                0x00000002  \n#define FILE_SHARE_DELETE               0x00000004  \n#define FILE_SHARE_VALID_FLAGS          0x00000007\n\n//\n// Define the file attributes values\n//\n// Note:  0x00000008 is reserved for use for the old DOS VOLID (volume ID)\n//        and is therefore not considered valid in NT.\n//\n// Note:  0x00000010 is reserved for use for the old DOS SUBDIRECTORY flag\n//        and is therefore not considered valid in NT.  This flag has\n//        been disassociated with file attributes since the other flags are\n//        protected with READ_ and WRITE_ATTRIBUTES access to the file.\n//\n// Note:  Note also that the order of these flags is set to allow both the\n//        FAT and the Pinball File Systems to directly set the attributes\n//        flags in attributes words without having to pick each flag out\n//        individually.  The order of these flags should not be changed!\n//\n\n#define FILE_ATTRIBUTE_READONLY             0x00000001  \n#define FILE_ATTRIBUTE_HIDDEN               0x00000002  \n#define FILE_ATTRIBUTE_SYSTEM               0x00000004  \n//OLD DOS VOLID                             0x00000008\n\n#define FILE_ATTRIBUTE_DIRECTORY            0x00000010  \n#define FILE_ATTRIBUTE_ARCHIVE              0x00000020  \n#define FILE_ATTRIBUTE_DEVICE               0x00000040  \n#define FILE_ATTRIBUTE_NORMAL               0x00000080  \n\n#define FILE_ATTRIBUTE_TEMPORARY            0x00000100  \n#define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  \n#define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  \n#define FILE_ATTRIBUTE_COMPRESSED           0x00000800  \n\n#define FILE_ATTRIBUTE_OFFLINE              0x00001000  \n#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  \n#define FILE_ATTRIBUTE_ENCRYPTED            0x00004000  \n\n#define FILE_ATTRIBUTE_VALID_FLAGS          0x00007fb7\n#define FILE_ATTRIBUTE_VALID_SET_FLAGS      0x000031a7\n\n//\n// Define the create disposition values\n//\n\n#define FILE_SUPERSEDE                  0x00000000\n#define FILE_OPEN                       0x00000001\n#define FILE_CREATE                     0x00000002\n#define FILE_OPEN_IF                    0x00000003\n#define FILE_OVERWRITE                  0x00000004\n#define FILE_OVERWRITE_IF               0x00000005\n#define FILE_MAXIMUM_DISPOSITION        0x00000005\n\n//\n// Define the create/open option flags\n//\n\n#define FILE_DIRECTORY_FILE                     0x00000001\n#define FILE_WRITE_THROUGH                      0x00000002\n#define FILE_SEQUENTIAL_ONLY                    0x00000004\n#define FILE_NO_INTERMEDIATE_BUFFERING          0x00000008\n\n#define FILE_SYNCHRONOUS_IO_ALERT               0x00000010\n#define FILE_SYNCHRONOUS_IO_NONALERT            0x00000020\n#define FILE_NON_DIRECTORY_FILE                 0x00000040\n#define FILE_CREATE_TREE_CONNECTION             0x00000080\n\n#define FILE_COMPLETE_IF_OPLOCKED               0x00000100\n#define FILE_NO_EA_KNOWLEDGE                    0x00000200\n#define FILE_OPEN_FOR_RECOVERY                  0x00000400\n#define FILE_RANDOM_ACCESS                      0x00000800\n\n#define FILE_DELETE_ON_CLOSE                    0x00001000\n#define FILE_OPEN_BY_FILE_ID                    0x00002000\n#define FILE_OPEN_FOR_BACKUP_INTENT             0x00004000\n#define FILE_NO_COMPRESSION                     0x00008000\n\n#define FILE_RESERVE_OPFILTER                   0x00100000\n#define FILE_OPEN_REPARSE_POINT                 0x00200000\n#define FILE_OPEN_NO_RECALL                     0x00400000\n#define FILE_OPEN_FOR_FREE_SPACE_QUERY          0x00800000\n\n#define FILE_COPY_STRUCTURED_STORAGE            0x00000041\n#define FILE_STRUCTURED_STORAGE                 0x00000441\n\n#define FILE_VALID_OPTION_FLAGS                 0x00ffffff\n#define FILE_VALID_PIPE_OPTION_FLAGS            0x00000032\n#define FILE_VALID_MAILSLOT_OPTION_FLAGS        0x00000032\n#define FILE_VALID_SET_FLAGS                    0x00000036\n\n//\n// Define the I/O status information return values for NtCreateFile/NtOpenFile\n//\n\n#define FILE_SUPERSEDED                 0x00000000\n#define FILE_OPENED                     0x00000001\n#define FILE_CREATED                    0x00000002\n#define FILE_OVERWRITTEN                0x00000003\n#define FILE_EXISTS                     0x00000004\n#define FILE_DOES_NOT_EXIST             0x00000005\n\n//\n// Define special ByteOffset parameters for read and write operations\n//\n\n#define FILE_WRITE_TO_END_OF_FILE       0xffffffff\n#define FILE_USE_FILE_POINTER_POSITION  0xfffffffe\n\n//\n// Define alignment requirement values\n//\n\n#define FILE_BYTE_ALIGNMENT             0x00000000\n#define FILE_WORD_ALIGNMENT             0x00000001\n#define FILE_LONG_ALIGNMENT             0x00000003\n#define FILE_QUAD_ALIGNMENT             0x00000007\n#define FILE_OCTA_ALIGNMENT             0x0000000f\n#define FILE_32_BYTE_ALIGNMENT          0x0000001f\n#define FILE_64_BYTE_ALIGNMENT          0x0000003f\n#define FILE_128_BYTE_ALIGNMENT         0x0000007f\n#define FILE_256_BYTE_ALIGNMENT         0x000000ff\n#define FILE_512_BYTE_ALIGNMENT         0x000001ff\n\n//\n// Define the maximum length of a filename string\n//\n\n#define MAXIMUM_FILENAME_LENGTH         256\n\n//\n// Define the various device characteristics flags\n//\n\n#define FILE_REMOVABLE_MEDIA            0x00000001\n#define FILE_READ_ONLY_DEVICE           0x00000002\n#define FILE_FLOPPY_DISKETTE            0x00000004\n#define FILE_WRITE_ONCE_MEDIA           0x00000008\n#define FILE_REMOTE_DEVICE              0x00000010\n#define FILE_DEVICE_IS_MOUNTED          0x00000020\n#define FILE_VIRTUAL_VOLUME             0x00000040\n#define FILE_AUTOGENERATED_DEVICE_NAME  0x00000080\n#define FILE_DEVICE_SECURE_OPEN         0x00000100\n#define FILE_CHARACTERISTIC_PNP_DEVICE  0x00000800\n\n//\n// Define the base asynchronous I/O argument types\n//\n\ntypedef struct _IO_STATUS_BLOCK {\n    union {\n        NTSTATUS Status;\n        PVOID Pointer;\n    };\n\n    ULONG_PTR Information;\n} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;\n\n#if defined(_WIN64)\ntypedef struct _IO_STATUS_BLOCK32 {\n    NTSTATUS Status;\n    ULONG Information;\n} IO_STATUS_BLOCK32, *PIO_STATUS_BLOCK32;\n#endif\n\n\n//\n// Define an Asynchronous Procedure Call from I/O viewpoint\n//\n\ntypedef\nVOID\n(NTAPI *PIO_APC_ROUTINE) (\n    IN PVOID ApcContext,\n    IN PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG Reserved\n    );\n#define PIO_APC_ROUTINE_DEFINED\n\n//\n// Define the file information class values\n//\n// WARNING:  The order of the following values are assumed by the I/O system.\n//           Any changes made here should be reflected there as well.\n//\n\ntypedef enum _FILE_INFORMATION_CLASS {\n    FileBasicInformation = 4,           \n    FileStandardInformation = 5,        \n    FilePositionInformation = 14,        \n    FileEndOfFileInformation = 20,       \n} FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;\n\n//\n// Define the various structures which are returned on query operations\n//\n\ntypedef struct _FILE_BASIC_INFORMATION {                    \n    LARGE_INTEGER CreationTime;                             \n    LARGE_INTEGER LastAccessTime;                           \n    LARGE_INTEGER LastWriteTime;                            \n    LARGE_INTEGER ChangeTime;                               \n    ULONG FileAttributes;                                   \n} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;         \n                                                            \ntypedef struct _FILE_STANDARD_INFORMATION {                 \n    LARGE_INTEGER AllocationSize;                           \n    LARGE_INTEGER EndOfFile;                                \n    ULONG NumberOfLinks;                                    \n    BOOLEAN DeletePending;                                  \n    BOOLEAN Directory;                                      \n} FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION;   \n                                                            \ntypedef struct _FILE_POSITION_INFORMATION {                 \n    LARGE_INTEGER CurrentByteOffset;                        \n} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION;   \n                                                            \ntypedef struct _FILE_NETWORK_OPEN_INFORMATION {                 \n    LARGE_INTEGER CreationTime;                                 \n    LARGE_INTEGER LastAccessTime;                               \n    LARGE_INTEGER LastWriteTime;                                \n    LARGE_INTEGER ChangeTime;                                   \n    LARGE_INTEGER AllocationSize;                               \n    LARGE_INTEGER EndOfFile;                                    \n    ULONG FileAttributes;                                       \n} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;   \n                                                                \n\ntypedef struct _FILE_FULL_EA_INFORMATION {\n    ULONG NextEntryOffset;\n    UCHAR Flags;\n    UCHAR EaNameLength;\n    USHORT EaValueLength;\n    CHAR EaName[1];\n} FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION;\n\n//\n// Define the file system information class values\n//\n// WARNING:  The order of the following values are assumed by the I/O system.\n//           Any changes made here should be reflected there as well.\n\ntypedef enum _FSINFOCLASS {\n    FileFsVolumeInformation       = 1,\n    FileFsLabelInformation,      // 2\n    FileFsSizeInformation,       // 3\n    FileFsDeviceInformation,     // 4\n    FileFsAttributeInformation,  // 5\n    FileFsControlInformation,    // 6\n    FileFsFullSizeInformation,   // 7\n    FileFsObjectIdInformation,   // 8\n    FileFsDriverPathInformation, // 9\n    FileFsMaximumInformation\n} FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS;\n\ntypedef struct _FILE_FS_DEVICE_INFORMATION {                    \n    DEVICE_TYPE DeviceType;                                     \n    ULONG Characteristics;                                      \n} FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION;     \n                                                                \n//\n// Define the I/O bus interface types.\n//\n\ntypedef enum _INTERFACE_TYPE {\n    InterfaceTypeUndefined = -1,\n    Internal,\n    Isa,\n    Eisa,\n    MicroChannel,\n    TurboChannel,\n    PCIBus,\n    VMEBus,\n    NuBus,\n    PCMCIABus,\n    CBus,\n    MPIBus,\n    MPSABus,\n    ProcessorInternal,\n    InternalPowerBus,\n    PNPISABus,\n    PNPBus,\n    MaximumInterfaceType\n}INTERFACE_TYPE, *PINTERFACE_TYPE;\n\n//\n// Define the DMA transfer widths.\n//\n\ntypedef enum _DMA_WIDTH {\n    Width8Bits,\n    Width16Bits,\n    Width32Bits,\n    MaximumDmaWidth\n}DMA_WIDTH, *PDMA_WIDTH;\n\n//\n// Define DMA transfer speeds.\n//\n\ntypedef enum _DMA_SPEED {\n    Compatible,\n    TypeA,\n    TypeB,\n    TypeC,\n    TypeF,\n    MaximumDmaSpeed\n}DMA_SPEED, *PDMA_SPEED;\n\n//\n// Define Interface reference/dereference routines for\n//  Interfaces exported by IRP_MN_QUERY_INTERFACE\n//\n\ntypedef VOID (*PINTERFACE_REFERENCE)(PVOID Context);\ntypedef VOID (*PINTERFACE_DEREFERENCE)(PVOID Context);\n\n//\n// Define I/O Driver error log packet structure.  This structure is filled in\n// by the driver.\n//\n\ntypedef struct _IO_ERROR_LOG_PACKET {\n    UCHAR MajorFunctionCode;\n    UCHAR RetryCount;\n    USHORT DumpDataSize;\n    USHORT NumberOfStrings;\n    USHORT StringOffset;\n    USHORT EventCategory;\n    NTSTATUS ErrorCode;\n    ULONG UniqueErrorValue;\n    NTSTATUS FinalStatus;\n    ULONG SequenceNumber;\n    ULONG IoControlCode;\n    LARGE_INTEGER DeviceOffset;\n    ULONG DumpData[1];\n}IO_ERROR_LOG_PACKET, *PIO_ERROR_LOG_PACKET;\n\n//\n// Define the I/O error log message.  This message is sent by the error log\n// thread over the lpc port.\n//\n\ntypedef struct _IO_ERROR_LOG_MESSAGE {\n    USHORT Type;\n    USHORT Size;\n    USHORT DriverNameLength;\n    LARGE_INTEGER TimeStamp;\n    ULONG DriverNameOffset;\n    IO_ERROR_LOG_PACKET EntryData;\n}IO_ERROR_LOG_MESSAGE, *PIO_ERROR_LOG_MESSAGE;\n\n//\n// Define the maximum message size that will be sent over the LPC to the\n// application reading the error log entries.\n//\n\n//\n// Regardless of LPC size restrictions, ERROR_LOG_MAXIMUM_SIZE must remain\n// a value that can fit in a UCHAR.\n//\n\n#define ERROR_LOG_LIMIT_SIZE (256-16)\n\n//\n// This limit, exclusive of IO_ERROR_LOG_MESSAGE_HEADER_LENGTH, also applies\n// to IO_ERROR_LOG_MESSAGE_LENGTH\n//\n\n#define IO_ERROR_LOG_MESSAGE_HEADER_LENGTH (sizeof(IO_ERROR_LOG_MESSAGE) -    \\\n                                            sizeof(IO_ERROR_LOG_PACKET) +     \\\n                                            (sizeof(WCHAR) * 40))\n\n#define ERROR_LOG_MESSAGE_LIMIT_SIZE                                          \\\n    (ERROR_LOG_LIMIT_SIZE + IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)\n\n//\n// IO_ERROR_LOG_MESSAGE_LENGTH is\n// min(PORT_MAXIMUM_MESSAGE_LENGTH, ERROR_LOG_MESSAGE_LIMIT_SIZE)\n//\n\n#define IO_ERROR_LOG_MESSAGE_LENGTH                                           \\\n    ((PORT_MAXIMUM_MESSAGE_LENGTH > ERROR_LOG_MESSAGE_LIMIT_SIZE) ?           \\\n        ERROR_LOG_MESSAGE_LIMIT_SIZE :                                        \\\n        PORT_MAXIMUM_MESSAGE_LENGTH)\n\n//\n// Define the maximum packet size a driver can allocate.\n//\n\n#define ERROR_LOG_MAXIMUM_SIZE (IO_ERROR_LOG_MESSAGE_LENGTH -                 \\\n                                IO_ERROR_LOG_MESSAGE_HEADER_LENGTH)\n\n#ifdef _WIN64\n#define PORT_MAXIMUM_MESSAGE_LENGTH 512\n#else\n#define PORT_MAXIMUM_MESSAGE_LENGTH 256\n#endif\n//\n// Registry Specific Access Rights.\n//\n\n#define KEY_QUERY_VALUE         (0x0001)\n#define KEY_SET_VALUE           (0x0002)\n#define KEY_CREATE_SUB_KEY      (0x0004)\n#define KEY_ENUMERATE_SUB_KEYS  (0x0008)\n#define KEY_NOTIFY              (0x0010)\n#define KEY_CREATE_LINK         (0x0020)\n#define KEY_WOW64_32KEY         (0x0200)\n#define KEY_WOW64_64KEY         (0x0100)\n#define KEY_WOW64_RES           (0x0300)\n\n#define KEY_READ                ((STANDARD_RIGHTS_READ       |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY)                 \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n\n#define KEY_WRITE               ((STANDARD_RIGHTS_WRITE      |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY)         \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_EXECUTE             ((KEY_READ)                   \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n#define KEY_ALL_ACCESS          ((STANDARD_RIGHTS_ALL        |\\\n                                  KEY_QUERY_VALUE            |\\\n                                  KEY_SET_VALUE              |\\\n                                  KEY_CREATE_SUB_KEY         |\\\n                                  KEY_ENUMERATE_SUB_KEYS     |\\\n                                  KEY_NOTIFY                 |\\\n                                  KEY_CREATE_LINK)            \\\n                                  &                           \\\n                                 (~SYNCHRONIZE))\n\n//\n// Open/Create Options\n//\n\n#define REG_OPTION_RESERVED         (0x00000000L)   // Parameter is reserved\n\n#define REG_OPTION_NON_VOLATILE     (0x00000000L)   // Key is preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_VOLATILE         (0x00000001L)   // Key is not preserved\n                                                    // when system is rebooted\n\n#define REG_OPTION_CREATE_LINK      (0x00000002L)   // Created key is a\n                                                    // symbolic link\n\n#define REG_OPTION_BACKUP_RESTORE   (0x00000004L)   // open for backup or restore\n                                                    // special access rules\n                                                    // privilege required\n\n#define REG_OPTION_OPEN_LINK        (0x00000008L)   // Open symbolic link\n\n#define REG_LEGAL_OPTION            \\\n                (REG_OPTION_RESERVED            |\\\n                 REG_OPTION_NON_VOLATILE        |\\\n                 REG_OPTION_VOLATILE            |\\\n                 REG_OPTION_CREATE_LINK         |\\\n                 REG_OPTION_BACKUP_RESTORE      |\\\n                 REG_OPTION_OPEN_LINK)\n\n//\n// Key creation/open disposition\n//\n\n#define REG_CREATED_NEW_KEY         (0x00000001L)   // New Registry Key created\n#define REG_OPENED_EXISTING_KEY     (0x00000002L)   // Existing Key opened\n\n//\n// hive format to be used by Reg(Nt)SaveKeyEx\n//\n#define REG_STANDARD_FORMAT     1\n#define REG_LATEST_FORMAT       2\n#define REG_NO_COMPRESSION      4\n\n//\n// Key restore flags\n//\n\n#define REG_WHOLE_HIVE_VOLATILE     (0x00000001L)   // Restore whole hive volatile\n#define REG_REFRESH_HIVE            (0x00000002L)   // Unwind changes to last flush\n#define REG_NO_LAZY_FLUSH           (0x00000004L)   // Never lazy flush this hive\n#define REG_FORCE_RESTORE           (0x00000008L)   // Force the restore process even when we have open handles on subkeys\n\n//\n// Key query structures\n//\n\ntypedef struct _KEY_BASIC_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n} KEY_BASIC_INFORMATION, *PKEY_BASIC_INFORMATION;\n\ntypedef struct _KEY_NODE_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   ClassOffset;\n    ULONG   ClassLength;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable length string\n//          Class[1];           // Variable length string not declared\n} KEY_NODE_INFORMATION, *PKEY_NODE_INFORMATION;\n\ntypedef struct _KEY_FULL_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n    ULONG   TitleIndex;\n    ULONG   ClassOffset;\n    ULONG   ClassLength;\n    ULONG   SubKeys;\n    ULONG   MaxNameLen;\n    ULONG   MaxClassLen;\n    ULONG   Values;\n    ULONG   MaxValueNameLen;\n    ULONG   MaxValueDataLen;\n    WCHAR   Class[1];           // Variable length\n} KEY_FULL_INFORMATION, *PKEY_FULL_INFORMATION;\n\ntypedef enum _KEY_INFORMATION_CLASS {\n    KeyBasicInformation,\n    KeyNodeInformation,\n    KeyFullInformation\n} KEY_INFORMATION_CLASS;\n\ntypedef struct _KEY_WRITE_TIME_INFORMATION {\n    LARGE_INTEGER LastWriteTime;\n} KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;\n\ntypedef struct _KEY_USER_FLAGS_INFORMATION {\n    ULONG   UserFlags;\n} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;\n\ntypedef enum _KEY_SET_INFORMATION_CLASS {\n    KeyWriteTimeInformation,\n    KeyUserFlagsInformation\n} KEY_SET_INFORMATION_CLASS;\n\n//\n// Value entry query structures\n//\n\ntypedef struct _KEY_VALUE_BASIC_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable size\n} KEY_VALUE_BASIC_INFORMATION, *PKEY_VALUE_BASIC_INFORMATION;\n\ntypedef struct _KEY_VALUE_FULL_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   DataOffset;\n    ULONG   DataLength;\n    ULONG   NameLength;\n    WCHAR   Name[1];            // Variable size\n//          Data[1];            // Variable size data not declared\n} KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION;\n\ntypedef struct _KEY_VALUE_PARTIAL_INFORMATION {\n    ULONG   TitleIndex;\n    ULONG   Type;\n    ULONG   DataLength;\n    UCHAR   Data[1];            // Variable size\n} KEY_VALUE_PARTIAL_INFORMATION, *PKEY_VALUE_PARTIAL_INFORMATION;\n\ntypedef struct _KEY_VALUE_PARTIAL_INFORMATION_ALIGN64 {\n    ULONG   Type;\n    ULONG   DataLength;\n    UCHAR   Data[1];            // Variable size\n} KEY_VALUE_PARTIAL_INFORMATION_ALIGN64, *PKEY_VALUE_PARTIAL_INFORMATION_ALIGN64;\n\ntypedef struct _KEY_VALUE_ENTRY {\n    PUNICODE_STRING ValueName;\n    ULONG           DataLength;\n    ULONG           DataOffset;\n    ULONG           Type;\n} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;\n\ntypedef enum _KEY_VALUE_INFORMATION_CLASS {\n    KeyValueBasicInformation,\n    KeyValueFullInformation,\n    KeyValuePartialInformation,\n    KeyValueFullInformationAlign64,\n    KeyValuePartialInformationAlign64\n} KEY_VALUE_INFORMATION_CLASS;\n\n\n\n#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\\\')\n\n//\n// Object Manager Object Type Specific Access Rights.\n//\n\n#define OBJECT_TYPE_CREATE (0x0001)\n\n#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\n//\n// Object Manager Directory Specific Access Rights.\n//\n\n#define DIRECTORY_QUERY                 (0x0001)\n#define DIRECTORY_TRAVERSE              (0x0002)\n#define DIRECTORY_CREATE_OBJECT         (0x0004)\n#define DIRECTORY_CREATE_SUBDIRECTORY   (0x0008)\n\n#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)\n\n//\n// Object Manager Symbolic Link Specific Access Rights.\n//\n\n#define SYMBOLIC_LINK_QUERY (0x0001)\n\n#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\ntypedef struct _OBJECT_NAME_INFORMATION {               \n    UNICODE_STRING Name;                                \n} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;   \n#define DUPLICATE_CLOSE_SOURCE      0x00000001  \n#define DUPLICATE_SAME_ACCESS       0x00000002  \n#define DUPLICATE_SAME_ATTRIBUTES   0x00000004\n\n//\n// Section Information Structures.\n//\n\ntypedef enum _SECTION_INHERIT {\n    ViewShare = 1,\n    ViewUnmap = 2\n} SECTION_INHERIT;\n\n//\n// Section Access Rights.\n//\n\n\n#define SECTION_QUERY       0x0001\n#define SECTION_MAP_WRITE   0x0002\n#define SECTION_MAP_READ    0x0004\n#define SECTION_MAP_EXECUTE 0x0008\n#define SECTION_EXTEND_SIZE 0x0010\n\n#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\\\n                            SECTION_MAP_WRITE |      \\\n                            SECTION_MAP_READ |       \\\n                            SECTION_MAP_EXECUTE |    \\\n                            SECTION_EXTEND_SIZE)\n\n\n#define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS\n\n#define PAGE_NOACCESS          0x01     \n#define PAGE_READONLY          0x02     \n#define PAGE_READWRITE         0x04     \n#define PAGE_WRITECOPY         0x08     \n#define PAGE_EXECUTE           0x10     \n#define PAGE_EXECUTE_READ      0x20     \n#define PAGE_EXECUTE_READWRITE 0x40     \n#define PAGE_EXECUTE_WRITECOPY 0x80     \n#define PAGE_GUARD            0x100     \n#define PAGE_NOCACHE          0x200     \n#define PAGE_WRITECOMBINE     0x400     \n\n#define MEM_COMMIT           0x1000     \n#define MEM_RESERVE          0x2000     \n#define MEM_DECOMMIT         0x4000     \n#define MEM_RELEASE          0x8000     \n#define MEM_FREE            0x10000     \n#define MEM_PRIVATE         0x20000     \n#define MEM_MAPPED          0x40000     \n#define MEM_RESET           0x80000     \n#define MEM_TOP_DOWN       0x100000     \n#define MEM_LARGE_PAGES  0x20000000     \n#define MEM_4MB_PAGES    0x80000000     \n#define SEC_RESERVE       0x4000000     \n#define PROCESS_DUP_HANDLE        (0x0040)  \n#define PROCESS_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0xFFF)\n\n\n#if defined(_WIN64)\n\n#define MAXIMUM_PROCESSORS 64\n\n#else\n\n#define MAXIMUM_PROCESSORS 32\n\n#endif\n\n\n\n\n\n//\n// Thread Specific Access Rights\n//\n\n#define THREAD_TERMINATE               (0x0001)  \n#define THREAD_SET_INFORMATION         (0x0020)  \n\n#define THREAD_ALL_ACCESS         (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \\\n                                   0x3FF)\n\n//\n// ClientId\n//\n\ntypedef struct _CLIENT_ID {\n    HANDLE UniqueProcess;\n    HANDLE UniqueThread;\n} CLIENT_ID;\ntypedef CLIENT_ID *PCLIENT_ID;\n\n#define NtCurrentProcess() ( (HANDLE)(LONG_PTR) -1 )  \n#define NtCurrentThread() ( (HANDLE)(LONG_PTR) -2 )   \n\n#ifndef _PO_DDK_\n#define _PO_DDK_\n\n\n\ntypedef enum _SYSTEM_POWER_STATE {\n    PowerSystemUnspecified = 0,\n    PowerSystemWorking     = 1,\n    PowerSystemSleeping1   = 2,\n    PowerSystemSleeping2   = 3,\n    PowerSystemSleeping3   = 4,\n    PowerSystemHibernate   = 5,\n    PowerSystemShutdown    = 6,\n    PowerSystemMaximum     = 7\n} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;\n\n#define POWER_SYSTEM_MAXIMUM 7\n\ntypedef enum {\n    PowerActionNone = 0,\n    PowerActionReserved,\n    PowerActionSleep,\n    PowerActionHibernate,\n    PowerActionShutdown,\n    PowerActionShutdownReset,\n    PowerActionShutdownOff,\n    PowerActionWarmEject\n} POWER_ACTION, *PPOWER_ACTION;\n\ntypedef enum _DEVICE_POWER_STATE {\n    PowerDeviceUnspecified = 0,\n    PowerDeviceD0,\n    PowerDeviceD1,\n    PowerDeviceD2,\n    PowerDeviceD3,\n    PowerDeviceMaximum\n} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;\n\n\n\ntypedef union _POWER_STATE {\n    SYSTEM_POWER_STATE SystemState;\n    DEVICE_POWER_STATE DeviceState;\n} POWER_STATE, *PPOWER_STATE;\n\ntypedef enum _POWER_STATE_TYPE {\n    SystemPowerState = 0,\n    DevicePowerState\n} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;\n\n//\n// Generic power related IOCTLs\n//\n\n#define IOCTL_QUERY_DEVICE_POWER_STATE  \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x0, METHOD_BUFFERED, FILE_READ_ACCESS)\n\n#define IOCTL_SET_DEVICE_WAKE           \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x1, METHOD_BUFFERED, FILE_WRITE_ACCESS)\n\n#define IOCTL_CANCEL_DEVICE_WAKE        \\\n        CTL_CODE(FILE_DEVICE_BATTERY, 0x2, METHOD_BUFFERED, FILE_WRITE_ACCESS)\n\n\n//\n// Defines for W32 interfaces\n//\n\n\n\n#define ES_SYSTEM_REQUIRED  ((ULONG)0x00000001)\n#define ES_DISPLAY_REQUIRED ((ULONG)0x00000002)\n#define ES_USER_PRESENT     ((ULONG)0x00000004)\n#define ES_CONTINUOUS       ((ULONG)0x80000000)\n\ntypedef ULONG EXECUTION_STATE;\n\ntypedef enum {\n    LT_DONT_CARE,\n    LT_LOWEST_LATENCY\n} LATENCY_TIME;\n\n\n//\n// System power manager capabilities\n//\n\ntypedef struct {\n    ULONG       Granularity;\n    ULONG       Capacity;\n} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;\n\n\n\n\n\n#endif // !_PO_DDK_\n\n\n#if defined(_X86_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 16\n\n//\n// Indicate that the i386 compiler supports the pragma textout construct.\n//\n\n#define ALLOC_PRAGMA 1\n//\n// Indicate that the i386 compiler supports the DATA_SEG(\"INIT\") and\n// DATA_SEG(\"PAGE\") pragmas\n//\n\n#define ALLOC_DATA_PRAGMA 1\n\n#define NORMAL_DISPATCH_LENGTH 106                  \n#define DISPATCH_LENGTH NORMAL_DISPATCH_LENGTH      \n//\n// Interrupt Request Level definitions\n//\n\n#define PASSIVE_LEVEL 0             // Passive release level\n#define LOW_LEVEL 0                 // Lowest interrupt level\n#define APC_LEVEL 1                 // APC interrupt level\n#define DISPATCH_LEVEL 2            // Dispatcher level\n\n#define PROFILE_LEVEL 27            // timer used for profiling.\n#define CLOCK1_LEVEL 28             // Interval clock 1 level - Not used on x86\n#define CLOCK2_LEVEL 28             // Interval clock 2 level\n#define IPI_LEVEL 29                // Interprocessor interrupt level\n#define POWER_LEVEL 30              // Power failure level\n#define HIGH_LEVEL 31               // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL DISPATCH_LEVEL  // synchronization level - UP system\n\n#else\n\n#define SYNCH_LEVEL (IPI_LEVEL-1)   // synchronization level - MP system\n\n#endif\n\n\n//\n// I/O space read and write macros.\n//\n//  These have to be actual functions on the 386, because we need\n//  to use assembler, but cannot return a value if we inline it.\n//\n//  The READ/WRITE_REGISTER_* calls manipulate I/O registers in MEMORY space.\n//  (Use x86 move instructions, with LOCK prefix to force correct behavior\n//   w.r.t. caches and write buffers.)\n//\n//  The READ/WRITE_PORT_* calls manipulate I/O registers in PORT space.\n//  (Use x86 in/out instructions.)\n//\n\nNTKERNELAPI\nUCHAR\nNTAPI\nREAD_REGISTER_UCHAR(\n    PUCHAR  Register\n    );\n\nNTKERNELAPI\nUSHORT\nNTAPI\nREAD_REGISTER_USHORT(\n    PUSHORT Register\n    );\n\nNTKERNELAPI\nULONG\nNTAPI\nREAD_REGISTER_ULONG(\n    PULONG  Register\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_UCHAR(\n    PUCHAR  Register,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_USHORT(\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nREAD_REGISTER_BUFFER_ULONG(\n    PULONG  Register,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_UCHAR(\n    PUCHAR  Register,\n    UCHAR   Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_USHORT(\n    PUSHORT Register,\n    USHORT  Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_ULONG(\n    PULONG  Register,\n    ULONG   Value\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_UCHAR(\n    PUCHAR  Register,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_USHORT(\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTKERNELAPI\nVOID\nNTAPI\nWRITE_REGISTER_BUFFER_ULONG(\n    PULONG  Register,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nUCHAR\nNTAPI\nREAD_PORT_UCHAR(\n    PUCHAR  Port\n    );\n\nNTHALAPI\nUSHORT\nNTAPI\nREAD_PORT_USHORT(\n    PUSHORT Port\n    );\n\nNTHALAPI\nULONG\nNTAPI\nREAD_PORT_ULONG(\n    PULONG  Port\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_UCHAR(\n    PUCHAR  Port,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_USHORT(\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nREAD_PORT_BUFFER_ULONG(\n    PULONG  Port,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_UCHAR(\n    PUCHAR  Port,\n    UCHAR   Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_USHORT(\n    PUSHORT Port,\n    USHORT  Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_ULONG(\n    PULONG  Port,\n    ULONG   Value\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_UCHAR(\n    PUCHAR  Port,\n    PUCHAR  Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_USHORT(\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG   Count\n    );\n\nNTHALAPI\nVOID\nNTAPI\nWRITE_PORT_BUFFER_ULONG(\n    PULONG  Port,\n    PULONG  Buffer,\n    ULONG   Count\n    );\n\n\n//\n// Get data cache fill size.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(KeGetDcacheFillSize)      // Use GetDmaAlignment\n#endif\n\n#define KeGetDcacheFillSize() 1L\n\n\n#define KeFlushIoBuffers(Mdl, ReadOperation, DmaOperation)\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#define KeQueryTickCount(CurrentCount ) { \\\n    volatile PKSYSTEM_TIME _TickCount = *((PKSYSTEM_TIME *)(&KeTickCount)); \\\n    while (TRUE) {                                                          \\\n        (CurrentCount)->HighPart = _TickCount->High1Time;                   \\\n        (CurrentCount)->LowPart = _TickCount->LowPart;                      \\\n        if ((CurrentCount)->HighPart == _TickCount->High2Time) break;       \\\n        _asm { rep nop }                                                    \\\n    }                                                                       \\\n}\n\n//\n// The non-volatile 387 state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG   DoNotUse1;\n    ULONG   DoNotUse2;\n    ULONG   DoNotUse3;\n    ULONG   DoNotUse4;\n    ULONG   DoNotUse5;\n    ULONG   DoNotUse6;\n    ULONG   DoNotUse7;\n    ULONG   DoNotUse8;\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n//\n// i386 Specific portions of mm component\n//\n\n//\n// Define the page size for the Intel 386 as 4096 (0x1000).\n//\n\n#define PAGE_SIZE 0x1000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 12L\n\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(Address) MmLockPagableDataSection(Address)\n\n#define KIP0PCRADDRESS              0xffdff000  \n\n#define ExInterlockedAddUlong           ExfInterlockedAddUlong\n#define ExInterlockedInsertHeadList     ExfInterlockedInsertHeadList\n#define ExInterlockedInsertTailList     ExfInterlockedInsertTailList\n#define ExInterlockedRemoveHeadList     ExfInterlockedRemoveHeadList\n#define ExInterlockedPopEntryList       ExfInterlockedPopEntryList\n#define ExInterlockedPushEntryList      ExfInterlockedPushEntryList\n\n#pragma warning(disable:4035)               \n#if !defined(MIDL_PASS) \n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedIncrement(\n    IN LONG volatile *Addend\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedDecrement(\n    IN LONG volatile *Addend\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\n#define InterlockedExchangePointer(Target, Value) \\\n   (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))\n\nLONG\nFASTCALL\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Increment\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nInterlockedCompareExchange(\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\n#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) \\\n    (PVOID)InterlockedCompareExchange((PLONG)Destination, (LONG)ExChange, (LONG)Comperand)\n\n#define InterlockedCompareExchange64(Destination, ExChange, Comperand) \\\n    ExfInterlockedCompareExchange64(Destination, &(ExChange), &(Comperand))\n\nNTKERNELAPI\nLONGLONG\nFASTCALL\nExfInterlockedCompareExchange64(\n    IN OUT LONGLONG volatile *Destination,\n    IN PLONGLONG ExChange,\n    IN PLONGLONG Comperand\n    );\n\nFORCEINLINE\nLONG\nFASTCALL\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Increment\n    )\n{\n    __asm {\n         mov     eax, Increment\n         mov     ecx, Addend\n    lock xadd    [ecx], eax\n    }\n}\n#endif      // MIDL_PASS\n// end_ntosp end_ntddk end_nthal\n#pragma warning(default:4035)\n\n\n#if !defined(MIDL_PASS) && defined(_M_IX86)\n\n//\n// i386 function definitions\n//\n\n#pragma warning(disable:4035)               // re-enable below\n\n\n//\n// Get current IRQL.\n//\n// On x86 this function resides in the HAL\n//\n\nNTHALAPI\nKIRQL\nNTAPI\nKeGetCurrentIrql();\n\n#endif // !defined(MIDL_PASS) && defined(_M_IX86)\n\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nKeSaveFloatingPointState (\n    OUT PKFLOATING_SAVE     FloatSave\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nKeRestoreFloatingPointState (\n    IN PKFLOATING_SAVE      FloatSave\n    );\n\n\n#endif // defined(_X86_)\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n//\n// Define intrinsic function to do in's and out's.\n//\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nUCHAR\n__inbyte (\n    IN USHORT Port\n    );\n\nUSHORT\n__inword (\n    IN USHORT Port\n    );\n\nULONG\n__indword (\n    IN USHORT Port\n    );\n\nVOID\n__outbyte (\n    IN USHORT Port,\n    IN UCHAR Data\n    );\n\nVOID\n__outword (\n    IN USHORT Port,\n    IN USHORT Data\n    );\n\nVOID\n__outdword (\n    IN USHORT Port,\n    IN ULONG Data\n    );\n\nVOID\n__inbytestring (\n    IN USHORT Port,\n    IN PUCHAR Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__inwordstring (\n    IN USHORT Port,\n    IN PUSHORT Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__indwordstring (\n    IN USHORT Port,\n    IN PULONG Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outbytestring (\n    IN USHORT Port,\n    IN PUCHAR Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outwordstring (\n    IN USHORT Port,\n    IN PUSHORT Buffer,\n    IN ULONG Count\n    );\n\nVOID\n__outdwordstring (\n    IN USHORT Port,\n    IN PULONG Buffer,\n    IN ULONG Count\n    );\n\n#ifdef __cplusplus\n}\n#endif\n\n#pragma intrinsic(__inbyte)\n#pragma intrinsic(__inword)\n#pragma intrinsic(__indword)\n#pragma intrinsic(__outbyte)\n#pragma intrinsic(__outword)\n#pragma intrinsic(__outdword)\n#pragma intrinsic(__inbytestring)\n#pragma intrinsic(__inwordstring)\n#pragma intrinsic(__indwordstring)\n#pragma intrinsic(__outbytestring)\n#pragma intrinsic(__outwordstring)\n#pragma intrinsic(__outdwordstring)\n\n//\n// Interlocked intrinsic functions.\n//\n\n#define InterlockedAnd _InterlockedAnd\n#define InterlockedOr _InterlockedOr\n#define InterlockedXor _InterlockedXor\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedAdd _InterlockedAdd\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n#define InterlockedCompareExchange _InterlockedCompareExchange\n\n#define InterlockedAnd64 _InterlockedAnd64\n#define InterlockedOr64 _InterlockedOr64\n#define InterlockedXor64 _InterlockedXor64\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedAdd64 _InterlockedAdd64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nLONG\nInterlockedAnd (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG\nInterlockedOr (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG\nInterlockedXor (\n    IN OUT LONG volatile *Destination,\n    IN LONG Value\n    );\n\nLONG64\nInterlockedAnd64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedOr64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedXor64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 Value\n    );\n\nLONG\nInterlockedIncrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedDecrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\n#if !defined(_X86AMD64_)\n\n__forceinline\nLONG\nInterlockedAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    )\n\n{\n    return InterlockedExchangeAdd(Addend, Value) + Value;\n}\n\n#endif\n\nLONG\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nLONG64\nInterlockedIncrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedDecrement64(\n    IN OUT LONG64 volatile *Addend\n    );\n\nLONG64\nInterlockedExchange64(\n    IN OUT LONG64 volatile *Target,\n    IN LONG64 Value\n    );\n\nLONG64\nInterlockedExchangeAdd64(\n    IN OUT LONG64 volatile *Addend,\n    IN LONG64 Value\n    );\n\n#if !defined(_X86AMD64_)\n\n__forceinline\nLONG64\nInterlockedAdd64(\n    IN OUT LONG64 volatile *Addend,\n    IN LONG64 Value\n    )\n\n{\n    return InterlockedExchangeAdd64(Addend, Value) + Value;\n}\n\n#endif\n\nLONG64\nInterlockedCompareExchange64 (\n    IN OUT LONG64 volatile *Destination,\n    IN LONG64 ExChange,\n    IN LONG64 Comperand\n    );\n\nPVOID\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID Exchange,\n    IN PVOID Comperand\n    );\n\nPVOID\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\n#pragma intrinsic(_InterlockedAnd)\n#pragma intrinsic(_InterlockedOr)\n#pragma intrinsic(_InterlockedXor)\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedAnd64)\n#pragma intrinsic(_InterlockedOr64)\n#pragma intrinsic(_InterlockedXor64)\n#pragma intrinsic(_InterlockedIncrement64)\n#pragma intrinsic(_InterlockedDecrement64)\n#pragma intrinsic(_InterlockedExchange64)\n#pragma intrinsic(_InterlockedExchangeAdd64)\n#pragma intrinsic(_InterlockedCompareExchange64)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS)\n\n#if defined(_AMD64_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG64 SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG64 PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 16\n\n//\n// Indicate that the AMD64 compiler supports the allocate pragmas.\n//\n\n#define ALLOC_PRAGMA 1\n#define ALLOC_DATA_PRAGMA 1\n\n#define NORMAL_DISPATCH_LENGTH 106                  \n#define DISPATCH_LENGTH NORMAL_DISPATCH_LENGTH      \n                                                    \n//\n// Interrupt Request Level definitions\n//\n\n#define PASSIVE_LEVEL 0                 // Passive release level\n#define LOW_LEVEL 0                     // Lowest interrupt level\n#define APC_LEVEL 1                     // APC interrupt level\n#define DISPATCH_LEVEL 2                // Dispatcher level\n\n#define CLOCK_LEVEL 13                  // Interval clock level\n#define IPI_LEVEL 14                    // Interprocessor interrupt level\n#define POWER_LEVEL 14                  // Power failure level\n#define PROFILE_LEVEL 15                // timer used for profiling.\n#define HIGH_LEVEL 15                   // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL DISPATCH_LEVEL      // synchronization level\n\n#else\n\n#define SYNCH_LEVEL (IPI_LEVEL - 1)     // synchronization level\n\n#endif\n\n#define IRQL_VECTOR_OFFSET 2            // offset from IRQL to vector / 16\n\n\n//\n// I/O space read and write macros.\n//\n//  The READ/WRITE_REGISTER_* calls manipulate I/O registers in MEMORY space.\n//  (Use move instructions, with LOCK prefix to force correct behavior\n//   w.r.t. caches and write buffers.)\n//\n//  The READ/WRITE_PORT_* calls manipulate I/O registers in PORT space.\n//  (Use in/out instructions.)\n//\n\n__forceinline\nUCHAR\nREAD_REGISTER_UCHAR (\n    volatile UCHAR *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nUSHORT\nREAD_REGISTER_USHORT (\n    volatile USHORT *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nULONG\nREAD_REGISTER_ULONG (\n    volatile ULONG *Register\n    )\n{\n    return *Register;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_UCHAR (\n    PUCHAR Register,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n{\n    __movsb(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_USHORT (\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n{\n    __movsw(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_REGISTER_BUFFER_ULONG (\n    PULONG Register,\n    PULONG Buffer,\n    ULONG Count\n    )\n{\n    __movsd(Register, Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_UCHAR (\n    PUCHAR Register,\n    UCHAR Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_USHORT (\n    PUSHORT Register,\n    USHORT Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_ULONG (\n    PULONG Register,\n    ULONG Value\n    )\n{\n    LONG Synch;\n\n    *Register = Value;\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_UCHAR (\n    PUCHAR Register,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsb(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_USHORT (\n    PUSHORT Register,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsw(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_REGISTER_BUFFER_ULONG (\n    PULONG Register,\n    PULONG Buffer,\n    ULONG Count\n    )\n{\n    LONG Synch;\n\n    __movsd(Register, Buffer, Count);\n    InterlockedOr(&Synch, 1);\n    return;\n}\n\n__forceinline\nUCHAR\nREAD_PORT_UCHAR (\n    PUCHAR Port\n    )\n\n{\n    return __inbyte((USHORT)((ULONG64)Port));\n}\n\n__forceinline\nUSHORT\nREAD_PORT_USHORT (\n    PUSHORT Port\n    )\n\n{\n    return __inword((USHORT)((ULONG64)Port));\n}\n\n__forceinline\nULONG\nREAD_PORT_ULONG (\n    PULONG Port\n    )\n\n{\n    return __indword((USHORT)((ULONG64)Port));\n}\n\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_UCHAR (\n    PUCHAR Port,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n\n{\n    __inbytestring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_USHORT (\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n\n{\n    __inwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nREAD_PORT_BUFFER_ULONG (\n    PULONG Port,\n    PULONG Buffer,\n    ULONG Count\n    )\n\n{\n    __indwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_UCHAR (\n    PUCHAR Port,\n    UCHAR Value\n    )\n\n{\n    __outbyte((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_USHORT (\n    PUSHORT Port,\n    USHORT Value\n    )\n\n{\n    __outword((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_ULONG (\n    PULONG Port,\n    ULONG Value\n    )\n\n{\n    __outdword((USHORT)((ULONG64)Port), Value);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_UCHAR (\n    PUCHAR Port,\n    PUCHAR Buffer,\n    ULONG Count\n    )\n\n{\n    __outbytestring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_USHORT (\n    PUSHORT Port,\n    PUSHORT Buffer,\n    ULONG Count\n    )\n\n{\n    __outwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n__forceinline\nVOID\nWRITE_PORT_BUFFER_ULONG (\n    PULONG Port,\n    PULONG Buffer,\n    ULONG Count\n    )\n\n{\n    __outdwordstring((USHORT)((ULONG64)Port), Buffer, Count);\n    return;\n}\n\n\n//\n// Get data cache fill size.\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(KeGetDcacheFillSize)      // Use GetDmaAlignment\n#endif\n\n#define KeGetDcacheFillSize() 1L\n\n\n#define KeFlushIoBuffers(Mdl, ReadOperation, DmaOperation)\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#define KeQueryTickCount(CurrentCount ) \\\n    *(PULONG64)(CurrentCount) = **((volatile ULONG64 **)(&KeTickCount));\n\n//\n// The nonvolatile floating state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG MxCsr;\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n//\n// AMD64 Specific portions of mm component.\n//\n// Define the page size for the AMD64 as 4096 (0x1000).\n//\n\n#define PAGE_SIZE 0x1000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 12L\n\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(Address) MmLockPagableDataSection(Address)\n\n\n#if defined(_M_AMD64) && !defined(RC_INVOKED)  && !defined(MIDL_PASS)\n\n\n#endif // defined(_M_AMD64) && !defined(RC_INVOKED)  && !defined(MIDL_PASS)\n\n\n#if !defined(MIDL_PASS) && defined(_M_AMD64)\n\n//\n// AMD646 function prototype definitions\n//\n\n\n#endif // !defined(MIDL_PASS) && defined(_M_AMD64)\n\n\nNTKERNELAPI\nNTSTATUS\nKeSaveFloatingPointState (\n    OUT PKFLOATING_SAVE SaveArea\n    );\n\nNTKERNELAPI\nNTSTATUS\nKeRestoreFloatingPointState (\n    IN PKFLOATING_SAVE SaveArea\n    );\n\n\n#endif // defined(_AMD64_)\n\n\n\n#if defined(_AMD64_)\n\nNTKERNELAPI\nKIRQL\nKeGetCurrentIrql (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeLowerIrql (\n    IN KIRQL NewIrql\n    );\n\n#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)\n\nNTKERNELAPI\nKIRQL\nKfRaiseIrql (\n    IN KIRQL NewIrql\n    );\n\n\n#endif // defined(_AMD64_)\n\n\n#if defined(_IA64_)\n\n//\n// Types to use to contain PFNs and their counts.\n//\n\ntypedef ULONG PFN_COUNT;\n\ntypedef LONG_PTR SPFN_NUMBER, *PSPFN_NUMBER;\ntypedef ULONG_PTR PFN_NUMBER, *PPFN_NUMBER;\n\n//\n// Define maximum size of flush multiple TB request.\n//\n\n#define FLUSH_MULTIPLE_MAXIMUM 100\n\n//\n// Indicate that the IA64 compiler supports the pragma textout construct.\n//\n\n#define ALLOC_PRAGMA 1\n\n//\n// Define intrinsic calls and their prototypes\n//\n\n#include \"ia64reg.h\"\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nunsigned __int64 __getReg (int);\nvoid __setReg (int, unsigned __int64);\nvoid __isrlz (void);\nvoid __dsrlz (void);\nvoid __fwb (void);\nvoid __mf (void);\nvoid __mfa (void);\nvoid __synci (void);\n__int64 __thash (__int64);\n__int64 __ttag (__int64);\nvoid __ptcl (__int64, __int64);\nvoid __ptcg (__int64, __int64);\nvoid __ptcga (__int64, __int64);\nvoid __ptri (__int64, __int64);\nvoid __ptrd (__int64, __int64);\nvoid __invalat (void);\nvoid __break (int);\nvoid __fc (__int64);\nvoid __sum (int);\nvoid __rsm (int);\nvoid _ReleaseSpinLock( unsigned __int64 *);\n\n#ifdef _M_IA64\n#pragma intrinsic (__getReg)\n#pragma intrinsic (__setReg)\n#pragma intrinsic (__isrlz)\n#pragma intrinsic (__dsrlz)\n#pragma intrinsic (__fwb)\n#pragma intrinsic (__mf)\n#pragma intrinsic (__mfa)\n#pragma intrinsic (__synci)\n#pragma intrinsic (__thash)\n#pragma intrinsic (__ttag)\n#pragma intrinsic (__ptcl)\n#pragma intrinsic (__ptcg)\n#pragma intrinsic (__ptcga)\n#pragma intrinsic (__ptri)\n#pragma intrinsic (__ptrd)\n#pragma intrinsic (__invalat)\n#pragma intrinsic (__break)\n#pragma intrinsic (__fc)\n#pragma intrinsic (__sum)\n#pragma intrinsic (__rsm)\n#pragma intrinsic (_ReleaseSpinLock)\n\n#endif // _M_IA64\n\n#ifdef __cplusplus\n}\n#endif\n\n\n\n//\n// Define length of interrupt vector table.\n//\n\n#define MAXIMUM_VECTOR 256\n\n\n//\n// IA64 Interrupt Definitions.\n//\n// Define length of interrupt object dispatch code in longwords.\n//\n\n#define DISPATCH_LENGTH 2*2                // Length of dispatch code template in 32-bit words\n\n//\n// Begin of a block of definitions that must be synchronized with kxia64.h.\n//\n\n//\n// Define Interrupt Request Levels.\n//\n\n#define PASSIVE_LEVEL            0      // Passive release level\n#define LOW_LEVEL                0      // Lowest interrupt level\n#define APC_LEVEL                1      // APC interrupt level\n#define DISPATCH_LEVEL           2      // Dispatcher level\n#define CMC_LEVEL                3      // Correctable machine check level\n#define DEVICE_LEVEL_BASE        4      // 4 - 11 - Device IRQLs\n#define PC_LEVEL                12      // Performance Counter IRQL\n#define IPI_LEVEL               14      // IPI IRQL\n#define CLOCK_LEVEL             13      // Clock Timer IRQL\n#define POWER_LEVEL             15      // Power failure level\n#define PROFILE_LEVEL           15      // Profiling level\n#define HIGH_LEVEL              15      // Highest interrupt level\n\n#if defined(NT_UP)\n\n#define SYNCH_LEVEL             DISPATCH_LEVEL  // Synchronization level - UP\n\n#else\n\n#define SYNCH_LEVEL             (IPI_LEVEL-1) // Synchronization level - MP\n\n#endif\n\n//\n// The current IRQL is maintained in the TPR.mic field. The\n// shift count is the number of bits to shift right to extract the\n// IRQL from the TPR. See the GET/SET_IRQL macros.\n//\n\n#define TPR_MIC        4\n#define TPR_IRQL_SHIFT TPR_MIC\n\n// To go from vector number <-> IRQL we just do a shift\n#define VECTOR_IRQL_SHIFT TPR_IRQL_SHIFT\n\n//\n// Interrupt Vector Definitions\n//\n\n#define APC_VECTOR          APC_LEVEL << VECTOR_IRQL_SHIFT\n#define DISPATCH_VECTOR     DISPATCH_LEVEL << VECTOR_IRQL_SHIFT\n\n\n//\n// End of a block of definitions that must be synchronized with kxia64.h.\n//\n\n//\n// Define profile intervals.\n//\n\n#define DEFAULT_PROFILE_COUNT 0x40000000 // ~= 20 seconds @50mhz\n#define DEFAULT_PROFILE_INTERVAL (10 * 500) // 500 microseconds\n#define MAXIMUM_PROFILE_INTERVAL (10 * 1000 * 1000) // 1 second\n#define MINIMUM_PROFILE_INTERVAL (10 * 40) // 40 microseconds\n\n#if defined(_M_IA64) && !defined(RC_INVOKED)\n\n#define InterlockedAdd _InterlockedAdd\n#define InterlockedIncrement _InterlockedIncrement\n#define InterlockedDecrement _InterlockedDecrement\n#define InterlockedExchange _InterlockedExchange\n#define InterlockedExchangeAdd _InterlockedExchangeAdd\n\n#define InterlockedAdd64 _InterlockedAdd64\n#define InterlockedIncrement64 _InterlockedIncrement64\n#define InterlockedDecrement64 _InterlockedDecrement64\n#define InterlockedExchange64 _InterlockedExchange64\n#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64\n#define InterlockedCompareExchange64 _InterlockedCompareExchange64\n\n#define InterlockedCompareExchange _InterlockedCompareExchange\n#define InterlockedExchangePointer _InterlockedExchangePointer\n#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nLONG\n__cdecl\nInterlockedAdd (\n    LONG volatile *Addend,\n    LONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedAdd64 (\n    LONGLONG volatile *Addend,\n    LONGLONG Value\n    );\n\nLONG\n__cdecl\nInterlockedIncrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\n__cdecl\nInterlockedDecrement(\n    IN OUT LONG volatile *Addend\n    );\n\nLONG\n__cdecl\nInterlockedExchange(\n    IN OUT LONG volatile *Target,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedExchangeAdd(\n    IN OUT LONG volatile *Addend,\n    IN LONG Value\n    );\n\nLONG\n__cdecl\nInterlockedCompareExchange (\n    IN OUT LONG volatile *Destination,\n    IN LONG ExChange,\n    IN LONG Comperand\n    );\n\nLONGLONG\n__cdecl\nInterlockedIncrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedDecrement64(\n    IN OUT LONGLONG volatile *Addend\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchange64(\n    IN OUT LONGLONG volatile *Target,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedExchangeAdd64(\n    IN OUT LONGLONG volatile *Addend,\n    IN LONGLONG Value\n    );\n\nLONGLONG\n__cdecl\nInterlockedCompareExchange64 (\n    IN OUT LONGLONG volatile *Destination,\n    IN LONGLONG ExChange,\n    IN LONGLONG Comperand\n    );\n\nPVOID\n__cdecl\nInterlockedCompareExchangePointer (\n    IN OUT PVOID volatile *Destination,\n    IN PVOID Exchange,\n    IN PVOID Comperand\n    );\n\nPVOID\n__cdecl\nInterlockedExchangePointer(\n    IN OUT PVOID volatile *Target,\n    IN PVOID Value\n    );\n\n#pragma intrinsic(_InterlockedAdd)\n#pragma intrinsic(_InterlockedIncrement)\n#pragma intrinsic(_InterlockedDecrement)\n#pragma intrinsic(_InterlockedExchange)\n#pragma intrinsic(_InterlockedCompareExchange)\n#pragma intrinsic(_InterlockedExchangeAdd)\n#pragma intrinsic(_InterlockedAdd64)\n#pragma intrinsic(_InterlockedIncrement64)\n#pragma intrinsic(_InterlockedDecrement64)\n#pragma intrinsic(_InterlockedExchange64)\n#pragma intrinsic(_InterlockedCompareExchange64)\n#pragma intrinsic(_InterlockedExchangeAdd64)\n#pragma intrinsic(_InterlockedExchangePointer)\n#pragma intrinsic(_InterlockedCompareExchangePointer)\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif // defined(_M_IA64) && !defined(RC_INVOKED)\n\n\n#define KI_USER_SHARED_DATA ((ULONG_PTR)(KADDRESS_BASE + 0xFFFE0000))\n#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)\n\n//\n// Prototype for get current IRQL. **** TBD (read TPR)\n//\n\nNTKERNELAPI\nKIRQL\nKeGetCurrentIrql();\n\n\n#define KeSaveFloatingPointState(a)         STATUS_SUCCESS\n#define KeRestoreFloatingPointState(a)      STATUS_SUCCESS\n\n\n//\n// Define the page size\n//\n\n#define PAGE_SIZE 0x2000\n\n//\n// Define the number of trailing zeroes in a page aligned virtual address.\n// This is used as the shift count when shifting virtual addresses to\n// virtual page numbers.\n//\n\n#define PAGE_SHIFT 13L\n\n//\n// Cache and write buffer flush functions.\n//\n\nNTKERNELAPI\nVOID\nKeFlushIoBuffers (\n    IN PMDL Mdl,\n    IN BOOLEAN ReadOperation,\n    IN BOOLEAN DmaOperation\n    );\n\n\n//\n// Kernel breakin breakpoint\n//\n\nVOID\nKeBreakinBreakpoint (\n    VOID\n    );\n\n\n#define ExAcquireSpinLock(Lock, OldIrql) KeAcquireSpinLock((Lock), (OldIrql))\n#define ExReleaseSpinLock(Lock, OldIrql) KeReleaseSpinLock((Lock), (OldIrql))\n#define ExAcquireSpinLockAtDpcLevel(Lock) KeAcquireSpinLockAtDpcLevel(Lock)\n#define ExReleaseSpinLockFromDpcLevel(Lock) KeReleaseSpinLockFromDpcLevel(Lock)\n\n\n#define KeQueryTickCount(CurrentCount ) \\\n    *(PULONGLONG)(CurrentCount) = **((volatile ULONGLONG **)(&KeTickCount));\n\n//\n// I/O space read and write macros.\n//\n\nNTHALAPI\nUCHAR\nREAD_PORT_UCHAR (\n    PUCHAR RegisterAddress\n    );\n\nNTHALAPI\nUSHORT\nREAD_PORT_USHORT (\n    PUSHORT RegisterAddress\n    );\n\nNTHALAPI\nULONG\nREAD_PORT_ULONG (\n    PULONG RegisterAddress\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_UCHAR (\n    PUCHAR portAddress,\n    PUCHAR readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_USHORT (\n    PUSHORT portAddress,\n    PUSHORT readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nREAD_PORT_BUFFER_ULONG (\n    PULONG portAddress,\n    PULONG readBuffer,\n    ULONG  readCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_UCHAR (\n    PUCHAR portAddress,\n    UCHAR  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_USHORT (\n    PUSHORT portAddress,\n    USHORT  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_ULONG (\n    PULONG portAddress,\n    ULONG  Data\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_UCHAR (\n    PUCHAR portAddress,\n    PUCHAR writeBuffer,\n    ULONG  writeCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_USHORT (\n    PUSHORT portAddress,\n    PUSHORT writeBuffer,\n    ULONG  writeCount\n    );\n\nNTHALAPI\nVOID\nWRITE_PORT_BUFFER_ULONG (\n    PULONG portAddress,\n    PULONG writeBuffer,\n    ULONG  writeCount\n    );\n\n\n#define READ_REGISTER_UCHAR(x) \\\n    (__mf(), *(volatile UCHAR * const)(x))\n\n#define READ_REGISTER_USHORT(x) \\\n    (__mf(), *(volatile USHORT * const)(x))\n\n#define READ_REGISTER_ULONG(x) \\\n    (__mf(), *(volatile ULONG * const)(x))\n\n#define READ_REGISTER_BUFFER_UCHAR(x, y, z) {                           \\\n    PUCHAR registerBuffer = x;                                          \\\n    PUCHAR readBuffer = y;                                              \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile UCHAR * const)(registerBuffer);        \\\n    }                                                                   \\\n}\n\n#define READ_REGISTER_BUFFER_USHORT(x, y, z) {                          \\\n    PUSHORT registerBuffer = x;                                         \\\n    PUSHORT readBuffer = y;                                             \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile USHORT * const)(registerBuffer);       \\\n    }                                                                   \\\n}\n\n#define READ_REGISTER_BUFFER_ULONG(x, y, z) {                           \\\n    PULONG registerBuffer = x;                                          \\\n    PULONG readBuffer = y;                                              \\\n    ULONG readCount;                                                    \\\n    __mf();                                                             \\\n    for (readCount = z; readCount--; readBuffer++, registerBuffer++) {  \\\n        *readBuffer = *(volatile ULONG * const)(registerBuffer);        \\\n    }                                                                   \\\n}\n\n#define WRITE_REGISTER_UCHAR(x, y) {    \\\n    *(volatile UCHAR * const)(x) = y;   \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_USHORT(x, y) {   \\\n    *(volatile USHORT * const)(x) = y;  \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_ULONG(x, y) {    \\\n    *(volatile ULONG * const)(x) = y;   \\\n    KeFlushWriteBuffer();               \\\n}\n\n#define WRITE_REGISTER_BUFFER_UCHAR(x, y, z) {                            \\\n    PUCHAR registerBuffer = x;                                            \\\n    PUCHAR writeBuffer = y;                                               \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile UCHAR * const)(registerBuffer) = *writeBuffer;         \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n#define WRITE_REGISTER_BUFFER_USHORT(x, y, z) {                           \\\n    PUSHORT registerBuffer = x;                                           \\\n    PUSHORT writeBuffer = y;                                              \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile USHORT * const)(registerBuffer) = *writeBuffer;        \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n#define WRITE_REGISTER_BUFFER_ULONG(x, y, z) {                            \\\n    PULONG registerBuffer = x;                                            \\\n    PULONG writeBuffer = y;                                               \\\n    ULONG writeCount;                                                     \\\n    for (writeCount = z; writeCount--; writeBuffer++, registerBuffer++) { \\\n        *(volatile ULONG * const)(registerBuffer) = *writeBuffer;         \\\n    }                                                                     \\\n    KeFlushWriteBuffer();                                                 \\\n}\n\n//\n// Non-volatile floating point state\n//\n\ntypedef struct _KFLOATING_SAVE {\n    ULONG   Reserved;\n} KFLOATING_SAVE, *PKFLOATING_SAVE;\n\n\n#define MmGetProcedureAddress(Address) (Address)\n#define MmLockPagableCodeSection(PLabelAddress) \\\n    MmLockPagableDataSection((PVOID)(*((PULONGLONG)PLabelAddress)))\n\n#define VRN_MASK   0xE000000000000000UI64    // Virtual Region Number mask\n\n//\n// The lowest address for system space.\n//\n\n#define MM_LOWEST_SYSTEM_ADDRESS ((PVOID)((ULONG_PTR)(KADDRESS_BASE + 0xC0C00000)))\n#endif // defined(_IA64_)\n//\n// Event Specific Access Rights.\n//\n\n#define EVENT_QUERY_STATE       0x0001\n#define EVENT_MODIFY_STATE      0x0002  \n#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) \n\n//\n// Semaphore Specific Access Rights.\n//\n\n#define SEMAPHORE_QUERY_STATE       0x0001\n#define SEMAPHORE_MODIFY_STATE      0x0002  \n\n#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) \n\n\n//\n// Defined processor features\n//\n\n#define PF_FLOATING_POINT_PRECISION_ERRATA  0   \n#define PF_FLOATING_POINT_EMULATED          1   \n#define PF_COMPARE_EXCHANGE_DOUBLE          2   \n#define PF_MMX_INSTRUCTIONS_AVAILABLE       3   \n#define PF_PPC_MOVEMEM_64BIT_OK             4   \n#define PF_ALPHA_BYTE_INSTRUCTIONS          5   \n#define PF_XMMI_INSTRUCTIONS_AVAILABLE      6   \n#define PF_3DNOW_INSTRUCTIONS_AVAILABLE     7   \n#define PF_RDTSC_INSTRUCTION_AVAILABLE      8   \n#define PF_PAE_ENABLED                      9   \n#define PF_XMMI64_INSTRUCTIONS_AVAILABLE   10   \n\ntypedef enum _ALTERNATIVE_ARCHITECTURE_TYPE {\n    StandardDesign,                 // None == 0 == standard design\n    NEC98x86,                       // NEC PC98xx series on X86\n    EndAlternatives                 // past end of known alternatives\n} ALTERNATIVE_ARCHITECTURE_TYPE;\n\n// correctly define these run-time definitions for non X86 machines\n\n#ifndef _X86_\n\n#ifndef IsNEC_98\n#define IsNEC_98 (FALSE)\n#endif\n\n#ifndef IsNotNEC_98\n#define IsNotNEC_98 (TRUE)\n#endif\n\n#ifndef SetNEC_98\n#define SetNEC_98\n#endif\n\n#ifndef SetNotNEC_98\n#define SetNotNEC_98\n#endif\n\n#endif\n\n#define PROCESSOR_FEATURE_MAX 64\n\n\n//\n// Predefined Value Types.\n//\n\n#define REG_NONE                    ( 0 )   // No value type\n#define REG_SZ                      ( 1 )   // Unicode nul terminated string\n#define REG_EXPAND_SZ               ( 2 )   // Unicode nul terminated string\n                                            // (with environment variable references)\n#define REG_BINARY                  ( 3 )   // Free form binary\n#define REG_DWORD                   ( 4 )   // 32-bit number\n#define REG_DWORD_LITTLE_ENDIAN     ( 4 )   // 32-bit number (same as REG_DWORD)\n#define REG_DWORD_BIG_ENDIAN        ( 5 )   // 32-bit number\n#define REG_LINK                    ( 6 )   // Symbolic Link (unicode)\n#define REG_MULTI_SZ                ( 7 )   // Multiple Unicode strings\n#define REG_RESOURCE_LIST           ( 8 )   // Resource list in the resource map\n#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )  // Resource list in the hardware description\n#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )\n#define REG_QWORD                   ( 11 )  // 64-bit number\n#define REG_QWORD_LITTLE_ENDIAN     ( 11 )  // 64-bit number (same as REG_QWORD)\n\n//\n// Service Types (Bit Mask)\n//\n#define SERVICE_KERNEL_DRIVER          0x00000001\n#define SERVICE_FILE_SYSTEM_DRIVER     0x00000002\n#define SERVICE_ADAPTER                0x00000004\n#define SERVICE_RECOGNIZER_DRIVER      0x00000008\n\n#define SERVICE_DRIVER                 (SERVICE_KERNEL_DRIVER | \\\n                                        SERVICE_FILE_SYSTEM_DRIVER | \\\n                                        SERVICE_RECOGNIZER_DRIVER)\n\n#define SERVICE_WIN32_OWN_PROCESS      0x00000010\n#define SERVICE_WIN32_SHARE_PROCESS    0x00000020\n#define SERVICE_WIN32                  (SERVICE_WIN32_OWN_PROCESS | \\\n                                        SERVICE_WIN32_SHARE_PROCESS)\n\n#define SERVICE_INTERACTIVE_PROCESS    0x00000100\n\n#define SERVICE_TYPE_ALL               (SERVICE_WIN32  | \\\n                                        SERVICE_ADAPTER | \\\n                                        SERVICE_DRIVER  | \\\n                                        SERVICE_INTERACTIVE_PROCESS)\n\n//\n// Start Type\n//\n\n#define SERVICE_BOOT_START             0x00000000\n#define SERVICE_SYSTEM_START           0x00000001\n#define SERVICE_AUTO_START             0x00000002\n#define SERVICE_DEMAND_START           0x00000003\n#define SERVICE_DISABLED               0x00000004\n\n//\n// Error control type\n//\n#define SERVICE_ERROR_IGNORE           0x00000000\n#define SERVICE_ERROR_NORMAL           0x00000001\n#define SERVICE_ERROR_SEVERE           0x00000002\n#define SERVICE_ERROR_CRITICAL         0x00000003\n\n//\n//\n// Define the registry driver node enumerations\n//\n\ntypedef enum _CM_SERVICE_NODE_TYPE {\n    DriverType               = SERVICE_KERNEL_DRIVER,\n    FileSystemType           = SERVICE_FILE_SYSTEM_DRIVER,\n    Win32ServiceOwnProcess   = SERVICE_WIN32_OWN_PROCESS,\n    Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,\n    AdapterType              = SERVICE_ADAPTER,\n    RecognizerType           = SERVICE_RECOGNIZER_DRIVER\n} SERVICE_NODE_TYPE;\n\ntypedef enum _CM_SERVICE_LOAD_TYPE {\n    BootLoad    = SERVICE_BOOT_START,\n    SystemLoad  = SERVICE_SYSTEM_START,\n    AutoLoad    = SERVICE_AUTO_START,\n    DemandLoad  = SERVICE_DEMAND_START,\n    DisableLoad = SERVICE_DISABLED\n} SERVICE_LOAD_TYPE;\n\ntypedef enum _CM_ERROR_CONTROL_TYPE {\n    IgnoreError   = SERVICE_ERROR_IGNORE,\n    NormalError   = SERVICE_ERROR_NORMAL,\n    SevereError   = SERVICE_ERROR_SEVERE,\n    CriticalError = SERVICE_ERROR_CRITICAL\n} SERVICE_ERROR_TYPE;\n\n\n\n//\n// Resource List definitions\n//\n\n\n\n//\n// Defines the Type in the RESOURCE_DESCRIPTOR\n//\n// NOTE:  For all CM_RESOURCE_TYPE values, there must be a\n// corresponding ResType value in the 32-bit ConfigMgr headerfile\n// (cfgmgr32.h).  Values in the range [0x6,0x80) use the same values\n// as their ConfigMgr counterparts.  CM_RESOURCE_TYPE values with\n// the high bit set (i.e., in the range [0x80,0xFF]), are\n// non-arbitrated resources.  These correspond to the same values\n// in cfgmgr32.h that have their high bit set (however, since\n// cfgmgr32.h uses 16 bits for ResType values, these values are in\n// the range [0x8000,0x807F).  Note that ConfigMgr ResType values\n// cannot be in the range [0x8080,0xFFFF), because they would not\n// be able to map into CM_RESOURCE_TYPE values.  (0xFFFF itself is\n// a special value, because it maps to CmResourceTypeDeviceSpecific.)\n//\n\ntypedef int CM_RESOURCE_TYPE;\n\n// CmResourceTypeNull is reserved\n\n#define CmResourceTypeNull                0   // ResType_All or ResType_None (0x0000)\n#define CmResourceTypePort                1   // ResType_IO (0x0002)\n#define CmResourceTypeInterrupt           2   // ResType_IRQ (0x0004)\n#define CmResourceTypeMemory              3   // ResType_Mem (0x0001)\n#define CmResourceTypeDma                 4   // ResType_DMA (0x0003)\n#define CmResourceTypeDeviceSpecific      5   // ResType_ClassSpecific (0xFFFF)\n#define CmResourceTypeBusNumber           6   // ResType_BusNumber (0x0006)\n#define CmResourceTypeNonArbitrated     128   // Not arbitrated if 0x80 bit set\n#define CmResourceTypeConfigData        128   // ResType_Reserved (0x8000)\n#define CmResourceTypeDevicePrivate     129   // ResType_DevicePrivate (0x8001)\n#define CmResourceTypePcCardConfig      130   // ResType_PcCardConfig (0x8002)\n#define CmResourceTypeMfCardConfig      131   // ResType_MfCardConfig (0x8003)\n\n//\n// Defines the ShareDisposition in the RESOURCE_DESCRIPTOR\n//\n\ntypedef enum _CM_SHARE_DISPOSITION {\n    CmResourceShareUndetermined = 0,    // Reserved\n    CmResourceShareDeviceExclusive,\n    CmResourceShareDriverExclusive,\n    CmResourceShareShared\n} CM_SHARE_DISPOSITION;\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeInterrupt\n//\n\n#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE 0\n#define CM_RESOURCE_INTERRUPT_LATCHED         1\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeMemory\n//\n\n#define CM_RESOURCE_MEMORY_READ_WRITE       0x0000\n#define CM_RESOURCE_MEMORY_READ_ONLY        0x0001\n#define CM_RESOURCE_MEMORY_WRITE_ONLY       0x0002\n#define CM_RESOURCE_MEMORY_PREFETCHABLE     0x0004\n\n#define CM_RESOURCE_MEMORY_COMBINEDWRITE    0x0008\n#define CM_RESOURCE_MEMORY_24               0x0010\n#define CM_RESOURCE_MEMORY_CACHEABLE        0x0020\n\n//\n// Define the bit masks for Flags when type is CmResourceTypePort\n//\n\n#define CM_RESOURCE_PORT_MEMORY                             0x0000\n#define CM_RESOURCE_PORT_IO                                 0x0001\n#define CM_RESOURCE_PORT_10_BIT_DECODE                      0x0004\n#define CM_RESOURCE_PORT_12_BIT_DECODE                      0x0008\n#define CM_RESOURCE_PORT_16_BIT_DECODE                      0x0010\n#define CM_RESOURCE_PORT_POSITIVE_DECODE                    0x0020\n#define CM_RESOURCE_PORT_PASSIVE_DECODE                     0x0040\n#define CM_RESOURCE_PORT_WINDOW_DECODE                      0x0080\n\n//\n// Define the bit masks for Flags when type is CmResourceTypeDma\n//\n\n#define CM_RESOURCE_DMA_8                   0x0000\n#define CM_RESOURCE_DMA_16                  0x0001\n#define CM_RESOURCE_DMA_32                  0x0002\n#define CM_RESOURCE_DMA_8_AND_16            0x0004\n#define CM_RESOURCE_DMA_BUS_MASTER          0x0008\n#define CM_RESOURCE_DMA_TYPE_A              0x0010\n#define CM_RESOURCE_DMA_TYPE_B              0x0020\n#define CM_RESOURCE_DMA_TYPE_F              0x0040\n\n\n\n//\n// This structure defines one type of resource used by a driver.\n//\n// There can only be *1* DeviceSpecificData block. It must be located at\n// the end of all resource descriptors in a full descriptor block.\n//\n\n//\n// Make sure alignment is made properly by compiler; otherwise move\n// flags back to the top of the structure (common to all members of the\n// union).\n//\n\n\n#include \"pshpack4.h\"\ntypedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {\n    UCHAR Type;\n    UCHAR ShareDisposition;\n    USHORT Flags;\n    union {\n\n        //\n        // Range of resources, inclusive.  These are physical, bus relative.\n        // It is known that Port and Memory below have the exact same layout\n        // as Generic.\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;\n            ULONG Length;\n        } Generic;\n\n        //\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;\n            ULONG Length;\n        } Port;\n\n        //\n        //\n\n        struct {\n            ULONG Level;\n            ULONG Vector;\n            KAFFINITY Affinity;\n        } Interrupt;\n\n        //\n        // Range of memory addresses, inclusive. These are physical, bus\n        // relative. The value should be the same as the one passed to\n        // HalTranslateBusAddress().\n        //\n\n        struct {\n            PHYSICAL_ADDRESS Start;    // 64 bit physical addresses.\n            ULONG Length;\n        } Memory;\n\n        //\n        // Physical DMA channel.\n        //\n\n        struct {\n            ULONG Channel;\n            ULONG Port;\n            ULONG Reserved1;\n        } Dma;\n\n        //\n        // Device driver private data, usually used to help it figure\n        // what the resource assignments decisions that were made.\n        //\n\n        struct {\n            ULONG Data[3];\n        } DevicePrivate;\n\n        //\n        // Bus Number information.\n        //\n\n        struct {\n            ULONG Start;\n            ULONG Length;\n            ULONG Reserved;\n        } BusNumber;\n\n        //\n        // Device Specific information defined by the driver.\n        // The DataSize field indicates the size of the data in bytes. The\n        // data is located immediately after the DeviceSpecificData field in\n        // the structure.\n        //\n\n        struct {\n            ULONG DataSize;\n            ULONG Reserved1;\n            ULONG Reserved2;\n        } DeviceSpecificData;\n    } u;\n} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;\n#include \"poppack.h\"\n\n//\n// A Partial Resource List is what can be found in the ARC firmware\n// or will be generated by ntdetect.com.\n// The configuration manager will transform this structure into a Full\n// resource descriptor when it is about to store it in the regsitry.\n//\n// Note: There must a be a convention to the order of fields of same type,\n// (defined on a device by device basis) so that the fields can make sense\n// to a driver (i.e. when multiple memory ranges are necessary).\n//\n\ntypedef struct _CM_PARTIAL_RESOURCE_LIST {\n    USHORT Version;\n    USHORT Revision;\n    ULONG Count;\n    CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];\n} CM_PARTIAL_RESOURCE_LIST, *PCM_PARTIAL_RESOURCE_LIST;\n\n//\n// A Full Resource Descriptor is what can be found in the registry.\n// This is what will be returned to a driver when it queries the registry\n// to get device information; it will be stored under a key in the hardware\n// description tree.\n//\n// Note: There must a be a convention to the order of fields of same type,\n// (defined on a device by device basis) so that the fields can make sense\n// to a driver (i.e. when multiple memory ranges are necessary).\n//\n\ntypedef struct _CM_FULL_RESOURCE_DESCRIPTOR {\n    INTERFACE_TYPE DoNotUse1;\n    ULONG DoNotUse2;\n    CM_PARTIAL_RESOURCE_LIST PartialResourceList;\n} CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;\n\n//\n// The Resource list is what will be stored by the drivers into the\n// resource map via the IO API.\n//\n\ntypedef struct _CM_RESOURCE_LIST {\n    ULONG Count;\n    CM_FULL_RESOURCE_DESCRIPTOR List[1];\n} CM_RESOURCE_LIST, *PCM_RESOURCE_LIST;\n\n\n//\n// Define the structures used to interpret configuration data of\n// \\\\Registry\\machine\\hardware\\description tree.\n// Basically, these structures are used to interpret component\n// sepcific data.\n//\n\n//\n// Define DEVICE_FLAGS\n//\n\ntypedef struct _DEVICE_FLAGS {\n    ULONG Failed : 1;\n    ULONG ReadOnly : 1;\n    ULONG Removable : 1;\n    ULONG ConsoleIn : 1;\n    ULONG ConsoleOut : 1;\n    ULONG Input : 1;\n    ULONG Output : 1;\n} DEVICE_FLAGS, *PDEVICE_FLAGS;\n\n//\n// Define Component Information structure\n//\n\ntypedef struct _CM_COMPONENT_INFORMATION {\n    DEVICE_FLAGS Flags;\n    ULONG Version;\n    ULONG Key;\n    KAFFINITY AffinityMask;\n} CM_COMPONENT_INFORMATION, *PCM_COMPONENT_INFORMATION;\n\n//\n// The following structures are used to interpret x86\n// DeviceSpecificData of CM_PARTIAL_RESOURCE_DESCRIPTOR.\n// (Most of the structures are defined by BIOS.  They are\n// not aligned on word (or dword) boundary.\n//\n\n//\n// Define the Rom Block structure\n//\n\ntypedef struct _CM_ROM_BLOCK {\n    ULONG Address;\n    ULONG Size;\n} CM_ROM_BLOCK, *PCM_ROM_BLOCK;\n\n\n\n#include \"pshpack1.h\"\n\n\n\n//\n// Define INT13 driver parameter block\n//\n\ntypedef struct _CM_INT13_DRIVE_PARAMETER {\n    USHORT DriveSelect;\n    ULONG MaxCylinders;\n    USHORT SectorsPerTrack;\n    USHORT MaxHeads;\n    USHORT NumberDrives;\n} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;\n\n\n\n//\n// Define Mca POS data block for slot\n//\n\ntypedef struct _CM_MCA_POS_DATA {\n    USHORT AdapterId;\n    UCHAR PosData1;\n    UCHAR PosData2;\n    UCHAR PosData3;\n    UCHAR PosData4;\n} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;\n\n//\n// Memory configuration of eisa data block structure\n//\n\ntypedef struct _EISA_MEMORY_TYPE {\n    UCHAR ReadWrite: 1;\n    UCHAR Cached : 1;\n    UCHAR Reserved0 :1;\n    UCHAR Type:2;\n    UCHAR Shared:1;\n    UCHAR Reserved1 :1;\n    UCHAR MoreEntries : 1;\n} EISA_MEMORY_TYPE, *PEISA_MEMORY_TYPE;\n\ntypedef struct _EISA_MEMORY_CONFIGURATION {\n    EISA_MEMORY_TYPE ConfigurationByte;\n    UCHAR DataSize;\n    USHORT AddressLowWord;\n    UCHAR AddressHighByte;\n    USHORT MemorySize;\n} EISA_MEMORY_CONFIGURATION, *PEISA_MEMORY_CONFIGURATION;\n\n\n//\n// Interrupt configurationn of eisa data block structure\n//\n\ntypedef struct _EISA_IRQ_DESCRIPTOR {\n    UCHAR Interrupt : 4;\n    UCHAR Reserved :1;\n    UCHAR LevelTriggered :1;\n    UCHAR Shared : 1;\n    UCHAR MoreEntries : 1;\n} EISA_IRQ_DESCRIPTOR, *PEISA_IRQ_DESCRIPTOR;\n\ntypedef struct _EISA_IRQ_CONFIGURATION {\n    EISA_IRQ_DESCRIPTOR ConfigurationByte;\n    UCHAR Reserved;\n} EISA_IRQ_CONFIGURATION, *PEISA_IRQ_CONFIGURATION;\n\n\n//\n// DMA description of eisa data block structure\n//\n\ntypedef struct _DMA_CONFIGURATION_BYTE0 {\n    UCHAR Channel : 3;\n    UCHAR Reserved : 3;\n    UCHAR Shared :1;\n    UCHAR MoreEntries :1;\n} DMA_CONFIGURATION_BYTE0;\n\ntypedef struct _DMA_CONFIGURATION_BYTE1 {\n    UCHAR Reserved0 : 2;\n    UCHAR TransferSize : 2;\n    UCHAR Timing : 2;\n    UCHAR Reserved1 : 2;\n} DMA_CONFIGURATION_BYTE1;\n\ntypedef struct _EISA_DMA_CONFIGURATION {\n    DMA_CONFIGURATION_BYTE0 ConfigurationByte0;\n    DMA_CONFIGURATION_BYTE1 ConfigurationByte1;\n} EISA_DMA_CONFIGURATION, *PEISA_DMA_CONFIGURATION;\n\n\n//\n// Port description of eisa data block structure\n//\n\ntypedef struct _EISA_PORT_DESCRIPTOR {\n    UCHAR NumberPorts : 5;\n    UCHAR Reserved :1;\n    UCHAR Shared :1;\n    UCHAR MoreEntries : 1;\n} EISA_PORT_DESCRIPTOR, *PEISA_PORT_DESCRIPTOR;\n\ntypedef struct _EISA_PORT_CONFIGURATION {\n    EISA_PORT_DESCRIPTOR Configuration;\n    USHORT PortAddress;\n} EISA_PORT_CONFIGURATION, *PEISA_PORT_CONFIGURATION;\n\n\n//\n// Eisa slot information definition\n// N.B. This structure is different from the one defined\n//      in ARC eisa addendum.\n//\n\ntypedef struct _CM_EISA_SLOT_INFORMATION {\n    UCHAR ReturnCode;\n    UCHAR ReturnFlags;\n    UCHAR MajorRevision;\n    UCHAR MinorRevision;\n    USHORT Checksum;\n    UCHAR NumberFunctions;\n    UCHAR FunctionInformation;\n    ULONG CompressedId;\n} CM_EISA_SLOT_INFORMATION, *PCM_EISA_SLOT_INFORMATION;\n\n\n//\n// Eisa function information definition\n//\n\ntypedef struct _CM_EISA_FUNCTION_INFORMATION {\n    ULONG CompressedId;\n    UCHAR IdSlotFlags1;\n    UCHAR IdSlotFlags2;\n    UCHAR MinorRevision;\n    UCHAR MajorRevision;\n    UCHAR Selections[26];\n    UCHAR FunctionFlags;\n    UCHAR TypeString[80];\n    EISA_MEMORY_CONFIGURATION EisaMemory[9];\n    EISA_IRQ_CONFIGURATION EisaIrq[7];\n    EISA_DMA_CONFIGURATION EisaDma[4];\n    EISA_PORT_CONFIGURATION EisaPort[20];\n    UCHAR InitializationData[60];\n} CM_EISA_FUNCTION_INFORMATION, *PCM_EISA_FUNCTION_INFORMATION;\n\n//\n// The following defines the way pnp bios information is stored in\n// the registry \\\\HKEY_LOCAL_MACHINE\\HARDWARE\\Description\\System\\MultifunctionAdapter\\x\n// key, where x is an integer number indicating adapter instance. The\n// \"Identifier\" of the key must equal to \"PNP BIOS\" and the\n// \"ConfigurationData\" is organized as follow:\n//\n//      CM_PNP_BIOS_INSTALLATION_CHECK        +\n//      CM_PNP_BIOS_DEVICE_NODE for device 1  +\n//      CM_PNP_BIOS_DEVICE_NODE for device 2  +\n//                ...\n//      CM_PNP_BIOS_DEVICE_NODE for device n\n//\n\n//\n// Pnp BIOS device node structure\n//\n\ntypedef struct _CM_PNP_BIOS_DEVICE_NODE {\n    USHORT Size;\n    UCHAR Node;\n    ULONG ProductId;\n    UCHAR DeviceType[3];\n    USHORT DeviceAttributes;\n    // followed by AllocatedResourceBlock, PossibleResourceBlock\n    // and CompatibleDeviceId\n} CM_PNP_BIOS_DEVICE_NODE,*PCM_PNP_BIOS_DEVICE_NODE;\n\n//\n// Pnp BIOS Installation check\n//\n\ntypedef struct _CM_PNP_BIOS_INSTALLATION_CHECK {\n    UCHAR Signature[4];             // $PnP (ascii)\n    UCHAR Revision;\n    UCHAR Length;\n    USHORT ControlField;\n    UCHAR Checksum;\n    ULONG EventFlagAddress;         // Physical address\n    USHORT RealModeEntryOffset;\n    USHORT RealModeEntrySegment;\n    USHORT ProtectedModeEntryOffset;\n    ULONG ProtectedModeCodeBaseAddress;\n    ULONG OemDeviceId;\n    USHORT RealModeDataBaseAddress;\n    ULONG ProtectedModeDataBaseAddress;\n} CM_PNP_BIOS_INSTALLATION_CHECK, *PCM_PNP_BIOS_INSTALLATION_CHECK;\n\n#include \"poppack.h\"\n\n//\n// Masks for EISA function information\n//\n\n#define EISA_FUNCTION_ENABLED                   0x80\n#define EISA_FREE_FORM_DATA                     0x40\n#define EISA_HAS_PORT_INIT_ENTRY                0x20\n#define EISA_HAS_PORT_RANGE                     0x10\n#define EISA_HAS_DMA_ENTRY                      0x08\n#define EISA_HAS_IRQ_ENTRY                      0x04\n#define EISA_HAS_MEMORY_ENTRY                   0x02\n#define EISA_HAS_TYPE_ENTRY                     0x01\n#define EISA_HAS_INFORMATION                    EISA_HAS_PORT_RANGE + \\\n                                                EISA_HAS_DMA_ENTRY + \\\n                                                EISA_HAS_IRQ_ENTRY + \\\n                                                EISA_HAS_MEMORY_ENTRY + \\\n                                                EISA_HAS_TYPE_ENTRY\n\n//\n// Masks for EISA memory configuration\n//\n\n#define EISA_MORE_ENTRIES                       0x80\n#define EISA_SYSTEM_MEMORY                      0x00\n#define EISA_MEMORY_TYPE_RAM                    0x01\n\n//\n// Returned error code for EISA bios call\n//\n\n#define EISA_INVALID_SLOT                       0x80\n#define EISA_INVALID_FUNCTION                   0x81\n#define EISA_INVALID_CONFIGURATION              0x82\n#define EISA_EMPTY_SLOT                         0x83\n#define EISA_INVALID_BIOS_CALL                  0x86\n\n\n\n//\n// The following structures are used to interpret mips\n// DeviceSpecificData of CM_PARTIAL_RESOURCE_DESCRIPTOR.\n//\n\n//\n// Device data records for adapters.\n//\n\n//\n// The device data record for the Emulex SCSI controller.\n//\n\ntypedef struct _CM_SCSI_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    UCHAR HostIdentifier;\n} CM_SCSI_DEVICE_DATA, *PCM_SCSI_DEVICE_DATA;\n\n//\n// Device data records for controllers.\n//\n\n//\n// The device data record for the Video controller.\n//\n\ntypedef struct _CM_VIDEO_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    ULONG VideoClock;\n} CM_VIDEO_DEVICE_DATA, *PCM_VIDEO_DEVICE_DATA;\n\n//\n// The device data record for the SONIC network controller.\n//\n\ntypedef struct _CM_SONIC_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    USHORT DataConfigurationRegister;\n    UCHAR EthernetAddress[8];\n} CM_SONIC_DEVICE_DATA, *PCM_SONIC_DEVICE_DATA;\n\n//\n// The device data record for the serial controller.\n//\n\ntypedef struct _CM_SERIAL_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    ULONG BaudClock;\n} CM_SERIAL_DEVICE_DATA, *PCM_SERIAL_DEVICE_DATA;\n\n//\n// Device data records for peripherals.\n//\n\n//\n// The device data record for the Monitor peripheral.\n//\n\ntypedef struct _CM_MONITOR_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    USHORT HorizontalScreenSize;\n    USHORT VerticalScreenSize;\n    USHORT HorizontalResolution;\n    USHORT VerticalResolution;\n    USHORT HorizontalDisplayTimeLow;\n    USHORT HorizontalDisplayTime;\n    USHORT HorizontalDisplayTimeHigh;\n    USHORT HorizontalBackPorchLow;\n    USHORT HorizontalBackPorch;\n    USHORT HorizontalBackPorchHigh;\n    USHORT HorizontalFrontPorchLow;\n    USHORT HorizontalFrontPorch;\n    USHORT HorizontalFrontPorchHigh;\n    USHORT HorizontalSyncLow;\n    USHORT HorizontalSync;\n    USHORT HorizontalSyncHigh;\n    USHORT VerticalBackPorchLow;\n    USHORT VerticalBackPorch;\n    USHORT VerticalBackPorchHigh;\n    USHORT VerticalFrontPorchLow;\n    USHORT VerticalFrontPorch;\n    USHORT VerticalFrontPorchHigh;\n    USHORT VerticalSyncLow;\n    USHORT VerticalSync;\n    USHORT VerticalSyncHigh;\n} CM_MONITOR_DEVICE_DATA, *PCM_MONITOR_DEVICE_DATA;\n\n//\n// The device data record for the Floppy peripheral.\n//\n\ntypedef struct _CM_FLOPPY_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    CHAR Size[8];\n    ULONG MaxDensity;\n    ULONG MountDensity;\n    //\n    // New data fields for version >= 2.0\n    //\n    UCHAR StepRateHeadUnloadTime;\n    UCHAR HeadLoadTime;\n    UCHAR MotorOffTime;\n    UCHAR SectorLengthCode;\n    UCHAR SectorPerTrack;\n    UCHAR ReadWriteGapLength;\n    UCHAR DataTransferLength;\n    UCHAR FormatGapLength;\n    UCHAR FormatFillCharacter;\n    UCHAR HeadSettleTime;\n    UCHAR MotorSettleTime;\n    UCHAR MaximumTrackValue;\n    UCHAR DataTransferRate;\n} CM_FLOPPY_DEVICE_DATA, *PCM_FLOPPY_DEVICE_DATA;\n\n//\n// The device data record for the Keyboard peripheral.\n// The KeyboardFlags is defined (by x86 BIOS INT 16h, function 02) as:\n//      bit 7 : Insert on\n//      bit 6 : Caps Lock on\n//      bit 5 : Num Lock on\n//      bit 4 : Scroll Lock on\n//      bit 3 : Alt Key is down\n//      bit 2 : Ctrl Key is down\n//      bit 1 : Left shift key is down\n//      bit 0 : Right shift key is down\n//\n\ntypedef struct _CM_KEYBOARD_DEVICE_DATA {\n    USHORT Version;\n    USHORT Revision;\n    UCHAR Type;\n    UCHAR Subtype;\n    USHORT KeyboardFlags;\n} CM_KEYBOARD_DEVICE_DATA, *PCM_KEYBOARD_DEVICE_DATA;\n\n//\n// Declaration of the structure for disk geometries\n//\n\ntypedef struct _CM_DISK_GEOMETRY_DEVICE_DATA {\n    ULONG BytesPerSector;\n    ULONG NumberOfCylinders;\n    ULONG SectorsPerTrack;\n    ULONG NumberOfHeads;\n} CM_DISK_GEOMETRY_DEVICE_DATA, *PCM_DISK_GEOMETRY_DEVICE_DATA;\n\n\n\n//\n// Defines Resource Options\n//\n\n#define IO_RESOURCE_PREFERRED       0x01\n#define IO_RESOURCE_DEFAULT         0x02\n#define IO_RESOURCE_ALTERNATIVE     0x08\n\n\n//\n// This structure defines one type of resource requested by the driver\n//\n\ntypedef struct _IO_RESOURCE_DESCRIPTOR {\n    UCHAR Option;\n    UCHAR Type;                         // use CM_RESOURCE_TYPE\n    UCHAR ShareDisposition;             // use CM_SHARE_DISPOSITION\n    UCHAR Spare1;\n    USHORT Flags;                       // use CM resource flag defines\n    USHORT Spare2;                      // align\n\n    union {\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Port;\n\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Memory;\n\n        struct {\n            ULONG MinimumVector;\n            ULONG MaximumVector;\n        } Interrupt;\n\n        struct {\n            ULONG MinimumChannel;\n            ULONG MaximumChannel;\n        } Dma;\n\n        struct {\n            ULONG Length;\n            ULONG Alignment;\n            PHYSICAL_ADDRESS MinimumAddress;\n            PHYSICAL_ADDRESS MaximumAddress;\n        } Generic;\n\n        struct {\n            ULONG Data[3];\n        } DevicePrivate;\n\n        //\n        // Bus Number information.\n        //\n\n        struct {\n            ULONG Length;\n            ULONG MinBusNumber;\n            ULONG MaxBusNumber;\n            ULONG Reserved;\n        } BusNumber;\n\n        struct {\n            ULONG Priority;   // use LCPRI_Xxx values in cfg.h\n            ULONG Reserved1;\n            ULONG Reserved2;\n        } ConfigData;\n\n    } u;\n\n} IO_RESOURCE_DESCRIPTOR, *PIO_RESOURCE_DESCRIPTOR;\n\n\n\n\ntypedef struct _IO_RESOURCE_LIST {\n    USHORT Version;\n    USHORT Revision;\n\n    ULONG Count;\n    IO_RESOURCE_DESCRIPTOR Descriptors[1];\n} IO_RESOURCE_LIST, *PIO_RESOURCE_LIST;\n\n\ntypedef struct _IO_RESOURCE_REQUIREMENTS_LIST {\n    ULONG ListSize;\n    INTERFACE_TYPE DoNotUse1;\n    ULONG DoNotUse2;\n    ULONG DoNotUse3;\n    ULONG Reserved[3];\n    ULONG AlternativeLists;\n    IO_RESOURCE_LIST  List[1];\n} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;\n\n//\n// Exception flag definitions.\n//\n\n\n#define EXCEPTION_NONCONTINUABLE 0x1    // Noncontinuable exception\n\n\n//\n// Define maximum number of exception parameters.\n//\n\n\n#define EXCEPTION_MAXIMUM_PARAMETERS 15 // maximum number of exception parameters\n\n//\n// Exception record definition.\n//\n\ntypedef struct _EXCEPTION_RECORD {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    struct _EXCEPTION_RECORD *ExceptionRecord;\n    PVOID ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n    } EXCEPTION_RECORD;\n\ntypedef EXCEPTION_RECORD *PEXCEPTION_RECORD;\n\ntypedef struct _EXCEPTION_RECORD32 {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    ULONG ExceptionRecord;\n    ULONG ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;\n\ntypedef struct _EXCEPTION_RECORD64 {\n    NTSTATUS ExceptionCode;\n    ULONG ExceptionFlags;\n    ULONG64 ExceptionRecord;\n    ULONG64 ExceptionAddress;\n    ULONG NumberParameters;\n    ULONG __unusedAlignment;\n    ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];\n} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;\n\n//\n// Typedef for pointer returned by exception_info()\n//\n\ntypedef struct _EXCEPTION_POINTERS {\n    PEXCEPTION_RECORD ExceptionRecord;\n    PVOID ContextRecord;\n} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;\n\n\n#define THREAD_WAIT_OBJECTS 3           // Builtin usable wait blocks\n\n//\n// Interrupt modes.\n//\n\ntypedef enum _KINTERRUPT_MODE {\n    LevelSensitive,\n    Latched\n    } KINTERRUPT_MODE;\n\n//\n// Wait reasons\n//\n\ntypedef enum _KWAIT_REASON {\n    Executive,\n    FreePage,\n    PageIn,\n    PoolAllocation,\n    DelayExecution,\n    Suspended,\n    UserRequest,\n    WrExecutive,\n    WrFreePage,\n    WrPageIn,\n    WrPoolAllocation,\n    WrDelayExecution,\n    WrSuspended,\n    WrUserRequest,\n    WrEventPair,\n    WrQueue,\n    WrLpcReceive,\n    WrLpcReply,\n    WrVirtualMemory,\n    WrPageOut,\n    WrRendezvous,\n    Spare2,\n    Spare3,\n    Spare4,\n    Spare5,\n    Spare6,\n    WrKernel,\n    MaximumWaitReason\n    } KWAIT_REASON;\n\n\ntypedef struct _KWAIT_BLOCK {\n    LIST_ENTRY WaitListEntry;\n    struct _KTHREAD *RESTRICTED_POINTER Thread;\n    PVOID Object;\n    struct _KWAIT_BLOCK *RESTRICTED_POINTER NextWaitBlock;\n    USHORT WaitKey;\n    USHORT WaitType;\n} KWAIT_BLOCK, *PKWAIT_BLOCK, *RESTRICTED_POINTER PRKWAIT_BLOCK;\n\n//\n// Thread start function\n//\n\ntypedef\nVOID\n(*PKSTART_ROUTINE) (\n    IN PVOID StartContext\n    );\n\n//\n// Kernel object structure definitions\n//\n\n//\n// Device Queue object and entry\n//\n\ntypedef struct _KDEVICE_QUEUE {\n    CSHORT Type;\n    CSHORT Size;\n    LIST_ENTRY DeviceListHead;\n    KSPIN_LOCK Lock;\n    BOOLEAN Busy;\n} KDEVICE_QUEUE, *PKDEVICE_QUEUE, *RESTRICTED_POINTER PRKDEVICE_QUEUE;\n\ntypedef struct _KDEVICE_QUEUE_ENTRY {\n    LIST_ENTRY DeviceListEntry;\n    ULONG SortKey;\n    BOOLEAN Inserted;\n} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY, *RESTRICTED_POINTER PRKDEVICE_QUEUE_ENTRY;\n\n//\n// Define the interrupt service function type and the empty struct\n// type.\n//\ntypedef\nBOOLEAN\n(*PKSERVICE_ROUTINE) (\n    IN struct _KINTERRUPT *Interrupt,\n    IN PVOID ServiceContext\n    );\n//\n// Mutant object\n//\n\ntypedef struct _KMUTANT {\n    DISPATCHER_HEADER Header;\n    LIST_ENTRY MutantListEntry;\n    struct _KTHREAD *RESTRICTED_POINTER OwnerThread;\n    BOOLEAN Abandoned;\n    UCHAR ApcDisable;\n} KMUTANT, *PKMUTANT, *RESTRICTED_POINTER PRKMUTANT, KMUTEX, *PKMUTEX, *RESTRICTED_POINTER PRKMUTEX;\n\n//\n//\n// Semaphore object\n//\n\ntypedef struct _KSEMAPHORE {\n    DISPATCHER_HEADER Header;\n    LONG Limit;\n} KSEMAPHORE, *PKSEMAPHORE, *RESTRICTED_POINTER PRKSEMAPHORE;\n\n//\n// DPC object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeDpc (\n    IN PRKDPC Dpc,\n    IN PKDEFERRED_ROUTINE DeferredRoutine,\n    IN PVOID DeferredContext\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertQueueDpc (\n    IN PRKDPC Dpc,\n    IN PVOID SystemArgument1,\n    IN PVOID SystemArgument2\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRemoveQueueDpc (\n    IN PRKDPC Dpc\n    );\n\n\nNTKERNELAPI\nVOID\nKeFlushQueuedDpcs (\n    VOID\n    );\n\n//\n// Device queue object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeInsertByKeyDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveByKeyDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nPKDEVICE_QUEUE_ENTRY\nKeRemoveByKeyDeviceQueueIfBusy (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN ULONG SortKey\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRemoveEntryDeviceQueue (\n    IN PKDEVICE_QUEUE DeviceQueue,\n    IN PKDEVICE_QUEUE_ENTRY DeviceQueueEntry\n    );\n\n\nNTKERNELAPI\nBOOLEAN\nKeSynchronizeExecution (\n    IN PKINTERRUPT Interrupt,\n    IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,\n    IN PVOID SynchronizeContext\n    );\n\nNTKERNELAPI\nKIRQL\nKeAcquireInterruptSpinLock (\n    IN PKINTERRUPT Interrupt\n    );\n\nNTKERNELAPI\nVOID\nKeReleaseInterruptSpinLock (\n    IN PKINTERRUPT Interrupt,\n    IN KIRQL OldIrql\n    );\n\n//\n// Kernel dispatcher object functions\n//\n// Event Object\n//\n\n\nNTKERNELAPI\nVOID\nKeInitializeEvent (\n    IN PRKEVENT Event,\n    IN EVENT_TYPE Type,\n    IN BOOLEAN State\n    );\n\nNTKERNELAPI\nVOID\nKeClearEvent (\n    IN PRKEVENT Event\n    );\n\n\nNTKERNELAPI\nLONG\nKeReadStateEvent (\n    IN PRKEVENT Event\n    );\n\nNTKERNELAPI\nLONG\nKeResetEvent (\n    IN PRKEVENT Event\n    );\n\n\nNTKERNELAPI\nLONG\nKeSetEvent (\n    IN PRKEVENT Event,\n    IN KPRIORITY Increment,\n    IN BOOLEAN Wait\n    );\n\n//\n// Mutex object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeMutex (\n    IN PRKMUTEX Mutex,\n    IN ULONG Level\n    );\n\nNTKERNELAPI\nLONG\nKeReadStateMutex (\n    IN PRKMUTEX Mutex\n    );\n\nNTKERNELAPI\nLONG\nKeReleaseMutex (\n    IN PRKMUTEX Mutex,\n    IN BOOLEAN Wait\n    );\n\n//\n// Semaphore object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeSemaphore (\n    IN PRKSEMAPHORE Semaphore,\n    IN LONG Count,\n    IN LONG Limit\n    );\n\nNTKERNELAPI\nLONG\nKeReadStateSemaphore (\n    IN PRKSEMAPHORE Semaphore\n    );\n\nNTKERNELAPI\nLONG\nKeReleaseSemaphore (\n    IN PRKSEMAPHORE Semaphore,\n    IN KPRIORITY Increment,\n    IN LONG Adjustment,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI                                         \nNTSTATUS                                            \nKeDelayExecutionThread (                            \n    IN KPROCESSOR_MODE WaitMode,                    \n    IN BOOLEAN Alertable,                           \n    IN PLARGE_INTEGER Interval                      \n    );                                              \n                                                    \nNTKERNELAPI                                         \nKPRIORITY                                           \nKeQueryPriorityThread (                             \n    IN PKTHREAD Thread                              \n    );                                              \n                                                    \nNTKERNELAPI                                         \nULONG                                               \nKeQueryRuntimeThread (                              \n    IN PKTHREAD Thread,                             \n    OUT PULONG UserTime                             \n    );                                              \n                                                    \nNTKERNELAPI                                         \nKPRIORITY                                           \nKeSetPriorityThread (                               \n    IN PKTHREAD Thread,                             \n    IN KPRIORITY Priority                           \n    );                                              \n                                                    \n\nNTKERNELAPI\nVOID\nKeEnterCriticalRegion (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeLeaveCriticalRegion (\n    VOID\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeAreApcsDisabled(\n    VOID\n    );\n\n\n//\n// Timer object\n//\n\nNTKERNELAPI\nVOID\nKeInitializeTimer (\n    IN PKTIMER Timer\n    );\n\nNTKERNELAPI\nVOID\nKeInitializeTimerEx (\n    IN PKTIMER Timer,\n    IN TIMER_TYPE Type\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeCancelTimer (\n    IN PKTIMER\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeReadStateTimer (\n    PKTIMER Timer\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeSetTimer (\n    IN PKTIMER Timer,\n    IN LARGE_INTEGER DueTime,\n    IN PKDPC Dpc OPTIONAL\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeSetTimerEx (\n    IN PKTIMER Timer,\n    IN LARGE_INTEGER DueTime,\n    IN LONG Period OPTIONAL,\n    IN PKDPC Dpc OPTIONAL\n    );\n\n\n#define KeWaitForMutexObject KeWaitForSingleObject\n\nNTKERNELAPI\nNTSTATUS\nKeWaitForMultipleObjects (\n    IN ULONG Count,\n    IN PVOID Object[],\n    IN WAIT_TYPE WaitType,\n    IN KWAIT_REASON WaitReason,\n    IN KPROCESSOR_MODE WaitMode,\n    IN BOOLEAN Alertable,\n    IN PLARGE_INTEGER Timeout OPTIONAL,\n    IN PKWAIT_BLOCK WaitBlockArray OPTIONAL\n    );\n\nNTKERNELAPI\nNTSTATUS\nKeWaitForSingleObject (\n    IN PVOID Object,\n    IN KWAIT_REASON WaitReason,\n    IN KPROCESSOR_MODE WaitMode,\n    IN BOOLEAN Alertable,\n    IN PLARGE_INTEGER Timeout OPTIONAL\n    );\n\n\n//\n// On X86 the following routines are defined in the HAL and imported by\n// all other modules.\n//\n\n#if defined(_X86_) && !defined(_NTHAL_)\n\n#define _DECL_HAL_KE_IMPORT  __declspec(dllimport)\n\n#else\n\n#define _DECL_HAL_KE_IMPORT\n\n#endif\n\n//\n// spin lock functions\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nKeInitializeSpinLock (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#if defined(_X86_)\n\nNTKERNELAPI\nVOID\nFASTCALL\nKefAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nKefReleaseSpinLockFromDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#define KeAcquireSpinLockAtDpcLevel(a)      KefAcquireSpinLockAtDpcLevel(a)\n#define KeReleaseSpinLockFromDpcLevel(a)    KefReleaseSpinLockFromDpcLevel(a)\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nFASTCALL\nKfAcquireSpinLock (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKfReleaseSpinLock (\n    IN PKSPIN_LOCK SpinLock,\n    IN KIRQL NewIrql\n    );\n\n\n#define KeAcquireSpinLock(a,b)  *(b) = KfAcquireSpinLock(a)\n#define KeReleaseSpinLock(a,b)  KfReleaseSpinLock(a,b)\n\n#else\n\nNTKERNELAPI\nKIRQL\nFASTCALL\nKeAcquireSpinLockRaiseToSynch (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nKeAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nVOID\nKeReleaseSpinLockFromDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\nNTKERNELAPI\nKIRQL\nKeAcquireSpinLockRaiseToDpc (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n#define KeAcquireSpinLock(SpinLock, OldIrql) \\\n    *(OldIrql) = KeAcquireSpinLockRaiseToDpc(SpinLock)\n\nNTKERNELAPI\nVOID\nKeReleaseSpinLock (\n    IN PKSPIN_LOCK SpinLock,\n    IN KIRQL NewIrql\n    );\n\n#endif\n\nNTKERNELAPI\nBOOLEAN\nFASTCALL\nKeTryToAcquireSpinLockAtDpcLevel (\n    IN PKSPIN_LOCK SpinLock\n    );\n\n\n#if defined(_X86_)\n\n_DECL_HAL_KE_IMPORT\nVOID\nFASTCALL\nKfLowerIrql (\n    IN KIRQL NewIrql\n    );\n\n_DECL_HAL_KE_IMPORT\nKIRQL\nFASTCALL\nKfRaiseIrql (\n    IN KIRQL NewIrql\n    );\n\n\n#define KeLowerIrql(a)      KfLowerIrql(a)\n#define KeRaiseIrql(a,b)    *(b) = KfRaiseIrql(a)\n\n\n#elif defined(_ALPHA_)\n\n#define KeLowerIrql(a)      __swpirql(a)\n#define KeRaiseIrql(a,b)    *(b) = __swpirql(a)\n\n\n#elif defined(_IA64_)\n\nVOID\nKeLowerIrql (\n    IN KIRQL NewIrql\n    );\n\nVOID\nKeRaiseIrql (\n    IN KIRQL NewIrql,\n    OUT PKIRQL OldIrql\n    );\n\n\n#elif defined(_AMD64_)\n\n//\n// These function are defined in amd64.h for the AMD64 platform.\n//\n\n#else\n\n#error \"no target architecture\"\n\n#endif\n\n//\n// Miscellaneous kernel functions\n//\n\ntypedef enum _KBUGCHECK_BUFFER_DUMP_STATE {\n    BufferEmpty,\n    BufferInserted,\n    BufferStarted,\n    BufferFinished,\n    BufferIncomplete\n} KBUGCHECK_BUFFER_DUMP_STATE;\n\ntypedef\nVOID\n(*PKBUGCHECK_CALLBACK_ROUTINE) (\n    IN PVOID Buffer,\n    IN ULONG Length\n    );\n\ntypedef struct _KBUGCHECK_CALLBACK_RECORD {\n    LIST_ENTRY Entry;\n    PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine;\n    PVOID Buffer;\n    ULONG Length;\n    PUCHAR Component;\n    ULONG_PTR Checksum;\n    UCHAR State;\n} KBUGCHECK_CALLBACK_RECORD, *PKBUGCHECK_CALLBACK_RECORD;\n\n#define KeInitializeCallbackRecord(CallbackRecord) \\\n    (CallbackRecord)->State = BufferEmpty\n\nNTKERNELAPI\nBOOLEAN\nKeDeregisterBugCheckCallback (\n    IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRegisterBugCheckCallback (\n    IN PKBUGCHECK_CALLBACK_RECORD CallbackRecord,\n    IN PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine,\n    IN PVOID Buffer,\n    IN ULONG Length,\n    IN PUCHAR Component\n    );\n\ntypedef enum _KBUGCHECK_CALLBACK_REASON {\n    KbCallbackInvalid,\n    KbCallbackReserved1,\n    KbCallbackSecondaryDumpData,\n    KbCallbackDumpIo,\n} KBUGCHECK_CALLBACK_REASON;\n\ntypedef\nVOID\n(*PKBUGCHECK_REASON_CALLBACK_ROUTINE) (\n    IN KBUGCHECK_CALLBACK_REASON Reason,\n    IN struct _KBUGCHECK_REASON_CALLBACK_RECORD* Record,\n    IN OUT PVOID ReasonSpecificData,\n    IN ULONG ReasonSpecificDataLength\n    );\n\ntypedef struct _KBUGCHECK_REASON_CALLBACK_RECORD {\n    LIST_ENTRY Entry;\n    PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine;\n    PUCHAR Component;\n    ULONG_PTR Checksum;\n    KBUGCHECK_CALLBACK_REASON Reason;\n    UCHAR State;\n} KBUGCHECK_REASON_CALLBACK_RECORD, *PKBUGCHECK_REASON_CALLBACK_RECORD;\n\ntypedef struct _KBUGCHECK_SECONDARY_DUMP_DATA {\n    IN PVOID InBuffer;\n    IN ULONG InBufferLength;\n    IN ULONG MaximumAllowed;\n    OUT GUID Guid;\n    OUT PVOID OutBuffer;\n    OUT ULONG OutBufferLength;\n} KBUGCHECK_SECONDARY_DUMP_DATA, *PKBUGCHECK_SECONDARY_DUMP_DATA;\n\ntypedef enum _KBUGCHECK_DUMP_IO_TYPE\n{\n    KbDumpIoInvalid,\n    KbDumpIoHeader,\n    KbDumpIoBody,\n    KbDumpIoSecondaryData,\n    KbDumpIoComplete\n} KBUGCHECK_DUMP_IO_TYPE;\n\ntypedef struct _KBUGCHECK_DUMP_IO {\n    IN ULONG64 Offset;\n    IN PVOID Buffer;\n    IN ULONG BufferLength;\n    IN KBUGCHECK_DUMP_IO_TYPE Type;\n} KBUGCHECK_DUMP_IO, *PKBUGCHECK_DUMP_IO;\n\nNTKERNELAPI\nBOOLEAN\nKeDeregisterBugCheckReasonCallback (\n    IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord\n    );\n\nNTKERNELAPI\nBOOLEAN\nKeRegisterBugCheckReasonCallback (\n    IN PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,\n    IN PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,\n    IN KBUGCHECK_CALLBACK_REASON Reason,\n    IN PUCHAR Component\n    );\n\n\nNTKERNELAPI\nDECLSPEC_NORETURN\nVOID\nKeBugCheckEx(\n    IN ULONG BugCheckCode,\n    IN ULONG_PTR BugCheckParameter1,\n    IN ULONG_PTR BugCheckParameter2,\n    IN ULONG_PTR BugCheckParameter3,\n    IN ULONG_PTR BugCheckParameter4\n    );\n\n\nNTKERNELAPI\nULONGLONG\nKeQueryInterruptTime (\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nKeQuerySystemTime (\n    OUT PLARGE_INTEGER CurrentTime\n    );\n\nNTKERNELAPI\nULONG\nKeQueryTimeIncrement (\n    VOID\n    );\n\nNTKERNELAPI\nULONG\nKeGetRecommendedSharedDataAlignment (\n    VOID\n    );\n\n\n#if defined(_AMD64_) || defined(_ALPHA_) || defined(_IA64_)\n\nextern volatile LARGE_INTEGER KeTickCount;\n\n#else\n\nextern volatile KSYSTEM_TIME KeTickCount;\n\n#endif\n\n\ntypedef enum _MEMORY_CACHING_TYPE_ORIG {\n    MmFrameBufferCached = 2\n} MEMORY_CACHING_TYPE_ORIG;\n\ntypedef enum _MEMORY_CACHING_TYPE {\n    MmNonCached = FALSE,\n    MmCached = TRUE,\n    MmWriteCombined = MmFrameBufferCached,\n    MmHardwareCoherentCached,\n    MmCachingTypeDoNotUse1,\n    MmCachingTypeDoNotUse2,\n    MmMaximumCacheType\n} MEMORY_CACHING_TYPE;\n\n//\n// Define external data.\n// because of indirection for all drivers external to ntoskrnl these are actually ptrs\n//\n\n#if defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_)\n\nextern PBOOLEAN KdDebuggerNotPresent;\nextern PBOOLEAN KdDebuggerEnabled;\n#define KD_DEBUGGER_ENABLED     *KdDebuggerEnabled\n#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent\n\n#else\n\nextern BOOLEAN KdDebuggerNotPresent;\nextern BOOLEAN KdDebuggerEnabled;\n#define KD_DEBUGGER_ENABLED     KdDebuggerEnabled\n#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent\n\n#endif\n\n\n\n\nVOID\nKdDisableDebugger(\n    VOID\n    );\n\nVOID\nKdEnableDebugger(\n    VOID\n    );\n\n//\n// Pool Allocation routines (in pool.c)\n//\n\ntypedef enum _POOL_TYPE {\n    NonPagedPool,\n    PagedPool,\n    NonPagedPoolMustSucceed,\n    DontUseThisType,\n    NonPagedPoolCacheAligned,\n    PagedPoolCacheAligned,\n    NonPagedPoolCacheAlignedMustS,\n    MaxPoolType\n\n\n    } POOL_TYPE;\n\n#define POOL_COLD_ALLOCATION 256     // Note this cannot encode into the header.\n\n\nNTKERNELAPI\nPVOID\nExAllocatePool(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nPVOID\nExAllocatePoolWithQuota(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes\n    );\n\nNTKERNELAPI\nPVOID\nNTAPI\nExAllocatePoolWithTag(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\n//\n// _EX_POOL_PRIORITY_ provides a method for the system to handle requests\n// intelligently in low resource conditions.\n//\n// LowPoolPriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is low on resources.  An example of\n// this could be for a non-critical network connection where the driver can\n// handle the failure case when system resources are close to being depleted.\n//\n// NormalPoolPriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is very low on resources.  An example\n// of this could be for a non-critical local filesystem request.\n//\n// HighPoolPriority should be used when it is unacceptable to the driver for the\n// mapping request to fail unless the system is completely out of resources.\n// An example of this would be the paging file path in a driver.\n//\n// SpecialPool can be specified to bound the allocation at a page end (or\n// beginning).  This should only be done on systems being debugged as the\n// memory cost is expensive.\n//\n// N.B.  These values are very carefully chosen so that the pool allocation\n//       code can quickly crack the priority request.\n//\n\ntypedef enum _EX_POOL_PRIORITY {\n    LowPoolPriority,\n    LowPoolPrioritySpecialPoolOverrun = 8,\n    LowPoolPrioritySpecialPoolUnderrun = 9,\n    NormalPoolPriority = 16,\n    NormalPoolPrioritySpecialPoolOverrun = 24,\n    NormalPoolPrioritySpecialPoolUnderrun = 25,\n    HighPoolPriority = 32,\n    HighPoolPrioritySpecialPoolOverrun = 40,\n    HighPoolPrioritySpecialPoolUnderrun = 41\n\n    } EX_POOL_PRIORITY;\n\nNTKERNELAPI\nPVOID\nNTAPI\nExAllocatePoolWithTagPriority(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag,\n    IN EX_POOL_PRIORITY Priority\n    );\n\n#ifndef POOL_TAGGING\n#define ExAllocatePoolWithTag(a,b,c) ExAllocatePool(a,b)\n#endif //POOL_TAGGING\n\nNTKERNELAPI\nPVOID\nExAllocatePoolWithQuotaTag(\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\n#ifndef POOL_TAGGING\n#define ExAllocatePoolWithQuotaTag(a,b,c) ExAllocatePoolWithQuota(a,b)\n#endif //POOL_TAGGING\n\nNTKERNELAPI\nVOID\nNTAPI\nExFreePool(\n    IN PVOID P\n    );\n\nNTKERNELAPI\nVOID\nExFreePoolWithTag(\n    IN PVOID P,\n    IN ULONG Tag\n    );\n\n//\n// Routines to support fast mutexes.\n//\n\ntypedef struct _FAST_MUTEX {\n    LONG Count;\n    PKTHREAD Owner;\n    ULONG Contention;\n    KEVENT Event;\n    ULONG OldIrql;\n} FAST_MUTEX, *PFAST_MUTEX;\n\n#define ExInitializeFastMutex(_FastMutex)                            \\\n    (_FastMutex)->Count = 1;                                         \\\n    (_FastMutex)->Owner = NULL;                                      \\\n    (_FastMutex)->Contention = 0;                                    \\\n    KeInitializeEvent(&(_FastMutex)->Event,                          \\\n                      SynchronizationEvent,                          \\\n                      FALSE);\n\nNTKERNELAPI\nVOID\nFASTCALL\nExAcquireFastMutexUnsafe (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseFastMutexUnsafe (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#if defined(_ALPHA_) || defined(_IA64_) || defined(_AMD64_)\n\nNTKERNELAPI\nVOID\nFASTCALL\nExAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTKERNELAPI\nBOOLEAN\nFASTCALL\nExTryToAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#elif defined(_X86_)\n\nNTHALAPI\nVOID\nFASTCALL\nExAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTHALAPI\nVOID\nFASTCALL\nExReleaseFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\nNTHALAPI\nBOOLEAN\nFASTCALL\nExTryToAcquireFastMutex (\n    IN PFAST_MUTEX FastMutex\n    );\n\n#else\n\n#error \"Target architecture not defined\"\n\n#endif\n\n//\n\nNTKERNELAPI\nVOID\nFASTCALL\nExInterlockedAddLargeStatistic (\n    IN PLARGE_INTEGER Addend,\n    IN ULONG Increment\n    );\n\n\n\nNTKERNELAPI\nLARGE_INTEGER\nExInterlockedAddLargeInteger (\n    IN PLARGE_INTEGER Addend,\n    IN LARGE_INTEGER Increment,\n    IN PKSPIN_LOCK Lock\n    );\n\n\nNTKERNELAPI\nULONG\nFASTCALL\nExInterlockedAddUlong (\n    IN PULONG Addend,\n    IN ULONG Increment,\n    IN PKSPIN_LOCK Lock\n    );\n\n\n#if defined(_AMD64_) || defined(_AXP64_) || defined(_IA64_)\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    InterlockedCompareExchange64(Destination, *(Exchange), *(Comperand))\n\n#elif defined(_ALPHA_)\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    ExpInterlockedCompareExchange64(Destination, Exchange, Comperand)\n\n#else\n\n#define ExInterlockedCompareExchange64(Destination, Exchange, Comperand, Lock) \\\n    ExfInterlockedCompareExchange64(Destination, Exchange, Comperand)\n\n#endif\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedInsertHeadList (\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedInsertTailList (\n    IN PLIST_ENTRY ListHead,\n    IN PLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPLIST_ENTRY\nFASTCALL\nExInterlockedRemoveHeadList (\n    IN PLIST_ENTRY ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSINGLE_LIST_ENTRY\nFASTCALL\nExInterlockedPopEntryList (\n    IN PSINGLE_LIST_ENTRY ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSINGLE_LIST_ENTRY\nFASTCALL\nExInterlockedPushEntryList (\n    IN PSINGLE_LIST_ENTRY ListHead,\n    IN PSINGLE_LIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\n//\n// Define interlocked sequenced listhead functions.\n//\n// A sequenced interlocked list is a singly linked list with a header that\n// contains the current depth and a sequence number. Each time an entry is\n// inserted or removed from the list the depth is updated and the sequence\n// number is incremented. This enables AMD64, IA64, and Pentium and later\n// machines to insert and remove from the list without the use of spinlocks.\n//\n\n#if !defined(_WINBASE_)\n\n/*++\n\nRoutine Description:\n\n    This function initializes a sequenced singly linked listhead.\n\nArguments:\n\n    SListHead - Supplies a pointer to a sequenced singly linked listhead.\n\nReturn Value:\n\n    None.\n\n--*/\n\n#if defined(_WIN64) && (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_NTOSP_))\n\nNTKERNELAPI\nVOID\nInitializeSListHead (\n    IN PSLIST_HEADER SListHead\n    );\n\n#else\n\n__inline\nVOID\nInitializeSListHead (\n    IN PSLIST_HEADER SListHead\n    )\n\n{\n\n#ifdef _WIN64\n\n    //\n    // Slist headers must be 16 byte aligned.\n    //\n\n    if ((ULONG_PTR) SListHead & 0x0f) {\n\n        DbgPrint( \"InitializeSListHead unaligned Slist header.  Address = %p, Caller = %p\\n\", SListHead, _ReturnAddress());\n        RtlRaiseStatus(STATUS_DATATYPE_MISALIGNMENT);\n    }\n\n#endif\n\n    SListHead->Alignment = 0;\n\n    //\n    // For IA-64 we save the region number of the elements of the list in a\n    // separate field.  This imposes the requirement that all elements stored\n    // in the list are from the same region.\n\n#if defined(_IA64_)\n\n    SListHead->Region = (ULONG_PTR)SListHead & VRN_MASK;\n\n#elif defined(_AMD64_)\n\n    SListHead->Region = 0;\n\n#endif\n\n    return;\n}\n\n#endif\n\n#endif // !defined(_WINBASE_)\n\n#define ExInitializeSListHead InitializeSListHead\n\nPSLIST_ENTRY\nFirstEntrySList (\n    IN const SLIST_HEADER *SListHead\n    );\n\n/*++\n\nRoutine Description:\n\n    This function queries the current number of entries contained in a\n    sequenced single linked list.\n\nArguments:\n\n    SListHead - Supplies a pointer to the sequenced listhead which is\n        be queried.\n\nReturn Value:\n\n    The current number of entries in the sequenced singly linked list is\n    returned as the function value.\n\n--*/\n\n#if defined(_WIN64)\n\n#if (defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_NTOSP_))\n\nNTKERNELAPI\nUSHORT\nExQueryDepthSList (\n    IN PSLIST_HEADER SListHead\n    );\n\n#else\n\n__inline\nUSHORT\nExQueryDepthSList (\n    IN PSLIST_HEADER SListHead\n    )\n\n{\n\n    return (USHORT)(SListHead->Alignment & 0xffff);\n}\n\n#endif\n\n#else\n\n#define ExQueryDepthSList(_listhead_) (_listhead_)->Depth\n\n#endif\n\n#if defined(_WIN64)\n\n#define ExInterlockedPopEntrySList(Head, Lock) \\\n    ExpInterlockedPopEntrySList(Head)\n\n#define ExInterlockedPushEntrySList(Head, Entry, Lock) \\\n    ExpInterlockedPushEntrySList(Head, Entry)\n\n#define ExInterlockedFlushSList(Head) \\\n    ExpInterlockedFlushSList(Head)\n\n#if !defined(_WINBASE_)\n\n#define InterlockedPopEntrySList(Head) \\\n    ExpInterlockedPopEntrySList(Head)\n\n#define InterlockedPushEntrySList(Head, Entry) \\\n    ExpInterlockedPushEntrySList(Head, Entry)\n\n#define InterlockedFlushSList(Head) \\\n    ExpInterlockedFlushSList(Head)\n\n#define QueryDepthSList(Head) \\\n    ExQueryDepthSList(Head)\n\n#endif // !defined(_WINBASE_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nExpInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#else\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PKSPIN_LOCK Lock\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry,\n    IN PKSPIN_LOCK Lock\n    );\n\n#else\n\n#define ExInterlockedPopEntrySList(ListHead, Lock) \\\n    InterlockedPopEntrySList(ListHead)\n\n#define ExInterlockedPushEntrySList(ListHead, ListEntry, Lock) \\\n    InterlockedPushEntrySList(ListHead, ListEntry)\n\n#endif\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nExInterlockedFlushSList (\n    IN PSLIST_HEADER ListHead\n    );\n\n#if !defined(_WINBASE_)\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nInterlockedPopEntrySList (\n    IN PSLIST_HEADER ListHead\n    );\n\nNTKERNELAPI\nPSLIST_ENTRY\nFASTCALL\nInterlockedPushEntrySList (\n    IN PSLIST_HEADER ListHead,\n    IN PSLIST_ENTRY ListEntry\n    );\n\n#define InterlockedFlushSList(Head) \\\n    ExInterlockedFlushSList(Head)\n\n#define QueryDepthSList(Head) \\\n    ExQueryDepthSList(Head)\n\n#endif // !defined(_WINBASE_)\n\n#endif // defined(_WIN64)\n\n\ntypedef\nPVOID\n(*PALLOCATE_FUNCTION) (\n    IN POOL_TYPE PoolType,\n    IN SIZE_T NumberOfBytes,\n    IN ULONG Tag\n    );\n\ntypedef\nVOID\n(*PFREE_FUNCTION) (\n    IN PVOID Buffer\n    );\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_) || defined(_NDIS_))\n\ntypedef struct _GENERAL_LOOKASIDE {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _GENERAL_LOOKASIDE {\n\n#endif\n\n    SLIST_HEADER ListHead;\n    USHORT Depth;\n    USHORT MaximumDepth;\n    ULONG TotalAllocates;\n    union {\n        ULONG AllocateMisses;\n        ULONG AllocateHits;\n    };\n\n    ULONG TotalFrees;\n    union {\n        ULONG FreeMisses;\n        ULONG FreeHits;\n    };\n\n    POOL_TYPE Type;\n    ULONG Tag;\n    ULONG Size;\n    PALLOCATE_FUNCTION Allocate;\n    PFREE_FUNCTION Free;\n    LIST_ENTRY ListEntry;\n    ULONG LastTotalAllocates;\n    union {\n        ULONG LastAllocateMisses;\n        ULONG LastAllocateHits;\n    };\n\n    ULONG Future[2];\n} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_) || defined(_NDIS_))\n\ntypedef struct _NPAGED_LOOKASIDE_LIST {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _NPAGED_LOOKASIDE_LIST {\n\n#endif\n\n    GENERAL_LOOKASIDE L;\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n\n    KSPIN_LOCK Lock__ObsoleteButDoNotDelete;\n\n#endif\n\n} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;\n\nNTKERNELAPI\nVOID\nExInitializeNPagedLookasideList (\n    IN PNPAGED_LOOKASIDE_LIST Lookaside,\n    IN PALLOCATE_FUNCTION Allocate,\n    IN PFREE_FUNCTION Free,\n    IN ULONG Flags,\n    IN SIZE_T Size,\n    IN ULONG Tag,\n    IN USHORT Depth\n    );\n\nNTKERNELAPI\nVOID\nExDeleteNPagedLookasideList (\n    IN PNPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n__inline\nPVOID\nExAllocateFromNPagedLookasideList(\n    IN PNPAGED_LOOKASIDE_LIST Lookaside\n    )\n\n/*++\n\nRoutine Description:\n\n    This function removes (pops) the first entry from the specified\n    nonpaged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\nReturn Value:\n\n    If an entry is removed from the specified lookaside list, then the\n    address of the entry is returned as the function value. Otherwise,\n    NULL is returned.\n\n--*/\n\n{\n\n    PVOID Entry;\n\n    Lookaside->L.TotalAllocates += 1;\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\n    Entry = ExInterlockedPopEntrySList(&Lookaside->L.ListHead,\n                                       &Lookaside->Lock__ObsoleteButDoNotDelete);\n\n\n#else\n\n    Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);\n\n#endif\n\n    if (Entry == NULL) {\n        Lookaside->L.AllocateMisses += 1;\n        Entry = (Lookaside->L.Allocate)(Lookaside->L.Type,\n                                        Lookaside->L.Size,\n                                        Lookaside->L.Tag);\n    }\n\n    return Entry;\n}\n\n__inline\nVOID\nExFreeToNPagedLookasideList(\n    IN PNPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    )\n\n/*++\n\nRoutine Description:\n\n    This function inserts (pushes) the specified entry into the specified\n    nonpaged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\n    Entry - Supples a pointer to the entry that is inserted in the\n        lookaside list.\n\nReturn Value:\n\n    None.\n\n--*/\n\n{\n\n    Lookaside->L.TotalFrees += 1;\n    if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {\n        Lookaside->L.FreeMisses += 1;\n        (Lookaside->L.Free)(Entry);\n\n    } else {\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\n        ExInterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                    (PSLIST_ENTRY)Entry,\n                                    &Lookaside->Lock__ObsoleteButDoNotDelete);\n\n#else\n\n        InterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                  (PSLIST_ENTRY)Entry);\n\n#endif\n\n    }\n    return;\n}\n\n\n\n#if !defined(_WIN64) && (defined(_NTDDK_) || defined(_NTIFS_)  || defined(_NDIS_))\n\ntypedef struct _PAGED_LOOKASIDE_LIST {\n\n#else\n\ntypedef struct DECLSPEC_CACHEALIGN _PAGED_LOOKASIDE_LIST {\n\n#endif\n\n    GENERAL_LOOKASIDE L;\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n\n    FAST_MUTEX Lock__ObsoleteButDoNotDelete;\n\n#endif\n\n} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;\n\n\nNTKERNELAPI\nVOID\nExInitializePagedLookasideList (\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PALLOCATE_FUNCTION Allocate,\n    IN PFREE_FUNCTION Free,\n    IN ULONG Flags,\n    IN SIZE_T Size,\n    IN ULONG Tag,\n    IN USHORT Depth\n    );\n\nNTKERNELAPI\nVOID\nExDeletePagedLookasideList (\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nPVOID\nExAllocateFromPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    );\n\n#else\n\n__inline\nPVOID\nExAllocateFromPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside\n    )\n\n/*++\n\nRoutine Description:\n\n    This function removes (pops) the first entry from the specified\n    paged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a paged lookaside list structure.\n\nReturn Value:\n\n    If an entry is removed from the specified lookaside list, then the\n    address of the entry is returned as the function value. Otherwise,\n    NULL is returned.\n\n--*/\n\n{\n\n    PVOID Entry;\n\n    Lookaside->L.TotalAllocates += 1;\n    Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);\n    if (Entry == NULL) {\n        Lookaside->L.AllocateMisses += 1;\n        Entry = (Lookaside->L.Allocate)(Lookaside->L.Type,\n                                        Lookaside->L.Size,\n                                        Lookaside->L.Tag);\n    }\n\n    return Entry;\n}\n\n#endif\n\n#if defined(_WIN2K_COMPAT_SLIST_USAGE) && defined(_X86_)\n\nNTKERNELAPI\nVOID\nExFreeToPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    );\n\n#else\n\n__inline\nVOID\nExFreeToPagedLookasideList(\n    IN PPAGED_LOOKASIDE_LIST Lookaside,\n    IN PVOID Entry\n    )\n\n/*++\n\nRoutine Description:\n\n    This function inserts (pushes) the specified entry into the specified\n    paged lookaside list.\n\nArguments:\n\n    Lookaside - Supplies a pointer to a nonpaged lookaside list structure.\n\n    Entry - Supples a pointer to the entry that is inserted in the\n        lookaside list.\n\nReturn Value:\n\n    None.\n\n--*/\n\n{\n\n    Lookaside->L.TotalFrees += 1;\n    if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {\n        Lookaside->L.FreeMisses += 1;\n        (Lookaside->L.Free)(Entry);\n\n    } else {\n        InterlockedPushEntrySList(&Lookaside->L.ListHead,\n                                  (PSLIST_ENTRY)Entry);\n    }\n\n    return;\n}\n\n#endif\n\n\nNTKERNELAPI\nVOID\nNTAPI\nProbeForRead(\n    IN CONST VOID *Address,\n    IN SIZE_T Length,\n    IN ULONG Alignment\n    );\n\n//\n// Common probe for write functions.\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nProbeForWrite (\n    IN PVOID Address,\n    IN SIZE_T Length,\n    IN ULONG Alignment\n    );\n\n//\n// Worker Thread\n//\n\ntypedef enum _WORK_QUEUE_TYPE {\n    CriticalWorkQueue,\n    DelayedWorkQueue,\n    HyperCriticalWorkQueue,\n    MaximumWorkQueue\n} WORK_QUEUE_TYPE;\n\ntypedef\nVOID\n(*PWORKER_THREAD_ROUTINE)(\n    IN PVOID Parameter\n    );\n\ntypedef struct _WORK_QUEUE_ITEM {\n    LIST_ENTRY List;\n    PWORKER_THREAD_ROUTINE WorkerRoutine;\n    PVOID Parameter;\n} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExInitializeWorkItem)    // Use IoAllocateWorkItem\n#endif\n#define ExInitializeWorkItem(Item, Routine, Context) \\\n    (Item)->WorkerRoutine = (Routine);               \\\n    (Item)->Parameter = (Context);                   \\\n    (Item)->List.Flink = NULL;\n\nDECLSPEC_DEPRECATED_DDK                     // Use IoQueueWorkItem\nNTKERNELAPI\nVOID\nExQueueWorkItem(\n    IN PWORK_QUEUE_ITEM WorkItem,\n    IN WORK_QUEUE_TYPE QueueType\n    );\n\n\nNTKERNELAPI\nBOOLEAN\nExIsProcessorFeaturePresent(\n    ULONG ProcessorFeature\n    );\n\n//\n//  Define executive resource data structures.\n//\n\ntypedef ULONG_PTR ERESOURCE_THREAD;\ntypedef ERESOURCE_THREAD *PERESOURCE_THREAD;\n\ntypedef struct _OWNER_ENTRY {\n    ERESOURCE_THREAD OwnerThread;\n    union {\n        LONG OwnerCount;\n        ULONG TableSize;\n    };\n\n} OWNER_ENTRY, *POWNER_ENTRY;\n\ntypedef struct _ERESOURCE {\n    LIST_ENTRY SystemResourcesList;\n    POWNER_ENTRY OwnerTable;\n    SHORT ActiveCount;\n    USHORT Flag;\n    PKSEMAPHORE SharedWaiters;\n    PKEVENT ExclusiveWaiters;\n    OWNER_ENTRY OwnerThreads[2];\n    ULONG ContentionCount;\n    USHORT NumberOfSharedWaiters;\n    USHORT NumberOfExclusiveWaiters;\n    union {\n        PVOID Address;\n        ULONG_PTR CreatorBackTraceIndex;\n    };\n\n    KSPIN_LOCK SpinLock;\n} ERESOURCE, *PERESOURCE;\n//\n//  Values for ERESOURCE.Flag\n//\n\n#define ResourceNeverExclusive       0x10\n#define ResourceReleaseByOtherThread 0x20\n#define ResourceOwnedExclusive       0x80\n\n#define RESOURCE_HASH_TABLE_SIZE 64\n\ntypedef struct _RESOURCE_HASH_ENTRY {\n    LIST_ENTRY ListEntry;\n    PVOID Address;\n    ULONG ContentionCount;\n    ULONG Number;\n} RESOURCE_HASH_ENTRY, *PRESOURCE_HASH_ENTRY;\n\ntypedef struct _RESOURCE_PERFORMANCE_DATA {\n    ULONG ActiveResourceCount;\n    ULONG TotalResourceCount;\n    ULONG ExclusiveAcquire;\n    ULONG SharedFirstLevel;\n    ULONG SharedSecondLevel;\n    ULONG StarveFirstLevel;\n    ULONG StarveSecondLevel;\n    ULONG WaitForExclusive;\n    ULONG OwnerTableExpands;\n    ULONG MaximumTableExpand;\n    LIST_ENTRY HashTable[RESOURCE_HASH_TABLE_SIZE];\n} RESOURCE_PERFORMANCE_DATA, *PRESOURCE_PERFORMANCE_DATA;\n\n//\n// Define executive resource function prototypes.\n//\nNTKERNELAPI\nNTSTATUS\nExInitializeResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nNTSTATUS\nExReinitializeResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireResourceSharedLite(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireResourceExclusiveLite(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireSharedStarveExclusive(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExAcquireSharedWaitForExclusive(\n    IN PERESOURCE Resource,\n    IN BOOLEAN Wait\n    );\n\nNTKERNELAPI\nBOOLEAN\nExTryToAcquireResourceExclusiveLite(\n    IN PERESOURCE Resource\n    );\n\n//\n//  VOID\n//  ExReleaseResource(\n//      IN PERESOURCE Resource\n//      );\n//\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(ExReleaseResource)       // Use ExReleaseResourceLite\n#endif\n#define ExReleaseResource(R) (ExReleaseResourceLite(R))\n\nNTKERNELAPI\nVOID\nFASTCALL\nExReleaseResourceLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nVOID\nExReleaseResourceForThreadLite(\n    IN PERESOURCE Resource,\n    IN ERESOURCE_THREAD ResourceThreadId\n    );\n\nNTKERNELAPI\nVOID\nExSetResourceOwnerPointer(\n    IN PERESOURCE Resource,\n    IN PVOID OwnerPointer\n    );\n\nNTKERNELAPI\nVOID\nExConvertExclusiveToSharedLite(\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nNTSTATUS\nExDeleteResourceLite (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExGetExclusiveWaiterCount (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExGetSharedWaiterCount (\n    IN PERESOURCE Resource\n    );\n\n//\n//  ERESOURCE_THREAD\n//  ExGetCurrentResourceThread(\n//      );\n//\n\n#define ExGetCurrentResourceThread() ((ULONG_PTR)PsGetCurrentThread())\n\nNTKERNELAPI\nBOOLEAN\nExIsResourceAcquiredExclusiveLite (\n    IN PERESOURCE Resource\n    );\n\nNTKERNELAPI\nULONG\nExIsResourceAcquiredSharedLite (\n    IN PERESOURCE Resource\n    );\n\n//\n// An acquired resource is always owned shared, as shared ownership is a subset\n// of exclusive ownership.\n//\n#define ExIsResourceAcquiredLite ExIsResourceAcquiredSharedLite\n\n//\n// Get previous mode\n//\n\nNTKERNELAPI\nKPROCESSOR_MODE\nExGetPreviousMode(\n    VOID\n    );\n//\n// Raise status from kernel mode.\n//\n\nNTKERNELAPI\nVOID\nNTAPI\nExRaiseStatus (\n    IN NTSTATUS Status\n    );\n\n//\n// Set timer resolution.\n//\n\nNTKERNELAPI\nULONG\nExSetTimerResolution (\n    IN ULONG DesiredTime,\n    IN BOOLEAN SetResolution\n    );\n\n//\n// Subtract time zone bias from system time to get local time.\n//\n\nNTKERNELAPI\nVOID\nExSystemTimeToLocalTime (\n    IN PLARGE_INTEGER SystemTime,\n    OUT PLARGE_INTEGER LocalTime\n    );\n\n//\n// Add time zone bias to local time to get system time.\n//\n\nNTKERNELAPI\nVOID\nExLocalTimeToSystemTime (\n    IN PLARGE_INTEGER LocalTime,\n    OUT PLARGE_INTEGER SystemTime\n    );\n\n\n//\n// Define the type for Callback function.\n//\n\ntypedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;\n\ntypedef VOID (*PCALLBACK_FUNCTION ) (\n    IN PVOID CallbackContext,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nExCreateCallback (\n    OUT PCALLBACK_OBJECT *CallbackObject,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    IN BOOLEAN Create,\n    IN BOOLEAN AllowMultipleCallbacks\n    );\n\nNTKERNELAPI\nPVOID\nExRegisterCallback (\n    IN PCALLBACK_OBJECT CallbackObject,\n    IN PCALLBACK_FUNCTION CallbackFunction,\n    IN PVOID CallbackContext\n    );\n\nNTKERNELAPI\nVOID\nExUnregisterCallback (\n    IN PVOID CallbackRegistration\n    );\n\nNTKERNELAPI\nVOID\nExNotifyCallback (\n    IN PVOID CallbackObject,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\n//\n// suite support\n//\n\nNTKERNELAPI\nBOOLEAN\nExVerifySuite(\n    SUITE_TYPE SuiteType\n    );\n\n\n//\n// Define a block to hold the actual routine registration.\n//\ntypedef NTSTATUS (*PEX_CALLBACK_FUNCTION ) (\n    IN PVOID CallbackContext,\n    IN PVOID Argument1,\n    IN PVOID Argument2\n    );\n\n\n//\n// Registry kernel mode callbacks\n//\n\n//\n// Hook selector\n//\ntypedef enum _REG_NOTIFY_CLASS {\n    RegNtDeleteKey,\n    RegNtSetValueKey,\n    RegNtDeleteValueKey,\n    RegNtSetInformationKey,\n    RegNtRenameKey,\n    RegNtEnumerateKey,\n    RegNtEnumerateValueKey,\n    RegNtQueryKey,\n    RegNtQueryValueKey,\n    RegNtQueryMultipleValueKey,\n    RegNtPreCreateKey,\n    RegNtPostCreateKey,\n    RegNtPreOpenKey,\n    RegNtPostOpenKey,\n    RegNtKeyHandleClose\n} REG_NOTIFY_CLASS;\n\n//\n// Parameter description for each notify class\n//\ntypedef struct _REG_DELETE_KEY_INFORMATION {\n    PVOID               Object;                      // IN\n} REG_DELETE_KEY_INFORMATION, *PREG_DELETE_KEY_INFORMATION;\n\ntypedef struct _REG_SET_VALUE_KEY_INFORMATION {\n    PVOID               Object;                         // IN\n    PUNICODE_STRING     ValueName;                      // IN\n    ULONG               TitleIndex;                     // IN\n    ULONG               Type;                           // IN\n    PVOID               Data;                           // IN\n    ULONG               DataSize;                       // IN\n} REG_SET_VALUE_KEY_INFORMATION, *PREG_SET_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_DELETE_VALUE_KEY_INFORMATION {\n    PVOID               Object;                         // IN\n    PUNICODE_STRING     ValueName;                      // IN\n} REG_DELETE_VALUE_KEY_INFORMATION, *PREG_DELETE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_SET_INFORMATION_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    KEY_SET_INFORMATION_CLASS   KeySetInformationClass; // IN\n    PVOID                       KeySetInformation;      // IN\n    ULONG                       KeySetInformationLength;// IN\n} REG_SET_INFORMATION_KEY_INFORMATION, *PREG_SET_INFORMATION_KEY_INFORMATION;\n\ntypedef struct _REG_ENUMERATE_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    ULONG                       Index;                  // IN\n    KEY_INFORMATION_CLASS       KeyInformationClass;    // IN\n    PVOID                       KeyInformation;         // IN\n    ULONG                       Length;                 // IN\n    PULONG                      ResultLength;           // OUT\n} REG_ENUMERATE_KEY_INFORMATION, *PREG_ENUMERATE_KEY_INFORMATION;\n\ntypedef struct _REG_ENUMERATE_VALUE_KEY_INFORMATION {\n    PVOID                           Object;                     // IN\n    ULONG                           Index;                      // IN\n    KEY_VALUE_INFORMATION_CLASS     KeyValueInformationClass;   // IN\n    PVOID                           KeyValueInformation;        // IN\n    ULONG                           Length;                     // IN\n    PULONG                          ResultLength;               // OUT\n} REG_ENUMERATE_VALUE_KEY_INFORMATION, *PREG_ENUMERATE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_KEY_INFORMATION {\n    PVOID                       Object;                 // IN\n    KEY_INFORMATION_CLASS       KeyInformationClass;    // IN\n    PVOID                       KeyInformation;         // IN\n    ULONG                       Length;                 // IN\n    PULONG                      ResultLength;           // OUT\n} REG_QUERY_KEY_INFORMATION, *PREG_QUERY_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_VALUE_KEY_INFORMATION {\n    PVOID                           Object;                     // IN\n    PUNICODE_STRING                 ValueName;                  // IN\n    KEY_VALUE_INFORMATION_CLASS     KeyValueInformationClass;   // IN\n    PVOID                           KeyValueInformation;        // IN\n    ULONG                           Length;                     // IN\n    PULONG                          ResultLength;               // OUT\n} REG_QUERY_VALUE_KEY_INFORMATION, *PREG_QUERY_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION {\n    PVOID               Object;                 // IN\n    PKEY_VALUE_ENTRY    ValueEntries;           // IN\n    ULONG               EntryCount;             // IN\n    PVOID               ValueBuffer;            // IN\n    PULONG              BufferLength;           // IN OUT\n    PULONG              RequiredBufferLength;   // OUT\n} REG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION, *PREG_QUERY_MULTIPLE_VALUE_KEY_INFORMATION;\n\ntypedef struct _REG_RENAME_KEY_INFORMATION {\n    PVOID            Object;    // IN\n    PUNICODE_STRING  NewName;   // IN\n} REG_RENAME_KEY_INFORMATION, *PREG_RENAME_KEY_INFORMATION;\n\ntypedef struct _REG_PRE_CREATE_KEY_INFORMATION {\n    PUNICODE_STRING     CompleteName;   // IN\n} REG_PRE_CREATE_KEY_INFORMATION, REG_PRE_OPEN_KEY_INFORMATION,*PREG_PRE_CREATE_KEY_INFORMATION, *PREG_PRE_OPEN_KEY_INFORMATION;;\n\ntypedef struct _REG_POST_CREATE_KEY_INFORMATION {\n    PUNICODE_STRING     CompleteName;   // IN\n    PVOID               Object;         // IN\n    NTSTATUS            Status;         // IN\n} REG_POST_CREATE_KEY_INFORMATION,REG_POST_OPEN_KEY_INFORMATION, *PREG_POST_CREATE_KEY_INFORMATION, *PREG_POST_OPEN_KEY_INFORMATION;\n\ntypedef struct _REG_KEY_HANDLE_CLOSE_INFORMATION {\n    PVOID               Object;         // IN\n} REG_KEY_HANDLE_CLOSE_INFORMATION, *PREG_KEY_HANDLE_CLOSE_INFORMATION;\n\n\nNTSTATUS\nCmRegisterCallback(IN PEX_CALLBACK_FUNCTION Function,\n                   IN PVOID                 Context,\n                   IN OUT PLARGE_INTEGER    Cookie\n                    );\nNTSTATUS\nCmUnRegisterCallback(IN LARGE_INTEGER    Cookie);\n\n//\n// Priority increment definitions.  The comment for each definition gives\n// the names of the system services that use the definition when satisfying\n// a wait.\n//\n\n//\n// Priority increment used when satisfying a wait on an executive event\n// (NtPulseEvent and NtSetEvent)\n//\n\n#define EVENT_INCREMENT                 1\n\n//\n// Priority increment when no I/O has been done.  This is used by device\n// and file system drivers when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_NO_INCREMENT                 0\n\n\n//\n// Priority increment for completing CD-ROM I/O.  This is used by CD-ROM device\n// and file system drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_CD_ROM_INCREMENT             1\n\n//\n// Priority increment for completing disk I/O.  This is used by disk device\n// and file system drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_DISK_INCREMENT               1\n\n\n\n//\n// Priority increment for completing keyboard I/O.  This is used by keyboard\n// device drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_KEYBOARD_INCREMENT           6\n\n\n//\n// Priority increment for completing mailslot I/O.  This is used by the mail-\n// slot file system driver when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_MAILSLOT_INCREMENT           2\n\n\n//\n// Priority increment for completing mouse I/O.  This is used by mouse device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_MOUSE_INCREMENT              6\n\n\n//\n// Priority increment for completing named pipe I/O.  This is used by the\n// named pipe file system driver when completing an IRP (IoCompleteRequest).\n//\n\n#define IO_NAMED_PIPE_INCREMENT         2\n\n//\n// Priority increment for completing network I/O.  This is used by network\n// device and network file system drivers when completing an IRP\n// (IoCompleteRequest).\n//\n\n#define IO_NETWORK_INCREMENT            2\n\n\n//\n// Priority increment for completing parallel I/O.  This is used by parallel\n// device drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_PARALLEL_INCREMENT           1\n\n//\n// Priority increment for completing serial I/O.  This is used by serial device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_SERIAL_INCREMENT             2\n\n//\n// Priority increment for completing sound I/O.  This is used by sound device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_SOUND_INCREMENT              8\n\n//\n// Priority increment for completing video I/O.  This is used by video device\n// drivers when completing an IRP (IoCompleteRequest)\n//\n\n#define IO_VIDEO_INCREMENT              1\n\n//\n// Priority increment used when satisfying a wait on an executive semaphore\n// (NtReleaseSemaphore)\n//\n\n#define SEMAPHORE_INCREMENT             1\n\n//\n//  Indicates the system may do I/O to physical addresses above 4 GB.\n//\n\nextern PBOOLEAN Mm64BitPhysicalAddress;\n\n\n//\n// Define maximum disk transfer size to be used by MM and Cache Manager,\n// so that packet-oriented disk drivers can optimize their packet allocation\n// to this size.\n//\n\n#define MM_MAXIMUM_DISK_IO_SIZE          (0x10000)\n\n//++\n//\n// ULONG_PTR\n// ROUND_TO_PAGES (\n//     IN ULONG_PTR Size\n//     )\n//\n// Routine Description:\n//\n//     The ROUND_TO_PAGES macro takes a size in bytes and rounds it up to a\n//     multiple of the page size.\n//\n//     NOTE: This macro fails for values 0xFFFFFFFF - (PAGE_SIZE - 1).\n//\n// Arguments:\n//\n//     Size - Size in bytes to round up to a page multiple.\n//\n// Return Value:\n//\n//     Returns the size rounded up to a multiple of the page size.\n//\n//--\n\n#define ROUND_TO_PAGES(Size)  (((ULONG_PTR)(Size) + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1))\n\n//++\n//\n// ULONG\n// BYTES_TO_PAGES (\n//     IN ULONG Size\n//     )\n//\n// Routine Description:\n//\n//     The BYTES_TO_PAGES macro takes the size in bytes and calculates the\n//     number of pages required to contain the bytes.\n//\n// Arguments:\n//\n//     Size - Size in bytes.\n//\n// Return Value:\n//\n//     Returns the number of pages required to contain the specified size.\n//\n//--\n\n#define BYTES_TO_PAGES(Size)  ((ULONG)((ULONG_PTR)(Size) >> PAGE_SHIFT) + \\\n                               (((ULONG)(Size) & (PAGE_SIZE - 1)) != 0))\n\n//++\n//\n// ULONG\n// BYTE_OFFSET (\n//     IN PVOID Va\n//     )\n//\n// Routine Description:\n//\n//     The BYTE_OFFSET macro takes a virtual address and returns the byte offset\n//     of that address within the page.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n// Return Value:\n//\n//     Returns the byte offset portion of the virtual address.\n//\n//--\n\n#define BYTE_OFFSET(Va) ((ULONG)((LONG_PTR)(Va) & (PAGE_SIZE - 1)))\n\n//++\n//\n// PVOID\n// PAGE_ALIGN (\n//     IN PVOID Va\n//     )\n//\n// Routine Description:\n//\n//     The PAGE_ALIGN macro takes a virtual address and returns a page-aligned\n//     virtual address for that page.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n// Return Value:\n//\n//     Returns the page aligned virtual address.\n//\n//--\n\n#define PAGE_ALIGN(Va) ((PVOID)((ULONG_PTR)(Va) & ~(PAGE_SIZE - 1)))\n\n//++\n//\n// ULONG\n// ADDRESS_AND_SIZE_TO_SPAN_PAGES (\n//     IN PVOID Va,\n//     IN ULONG Size\n//     )\n//\n// Routine Description:\n//\n//     The ADDRESS_AND_SIZE_TO_SPAN_PAGES macro takes a virtual address and\n//     size and returns the number of pages spanned by the size.\n//\n// Arguments:\n//\n//     Va - Virtual address.\n//\n//     Size - Size in bytes.\n//\n// Return Value:\n//\n//     Returns the number of pages spanned by the size.\n//\n//--\n\n#define ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va,Size) \\\n    ((ULONG)((((ULONG_PTR)(Va) & (PAGE_SIZE -1)) + (Size) + (PAGE_SIZE - 1)) >> PAGE_SHIFT))\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(COMPUTE_PAGES_SPANNED)   // Use ADDRESS_AND_SIZE_TO_SPAN_PAGES\n#endif\n\n#define COMPUTE_PAGES_SPANNED(Va, Size) ADDRESS_AND_SIZE_TO_SPAN_PAGES(Va,Size)\n\n\n//++\n// PPFN_NUMBER\n// MmGetMdlPfnArray (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlPfnArray routine returns the virtual address of the\n//     first element of the array of physical page numbers associated with\n//     the MDL.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the virtual address of the first element of the array of\n//     physical page numbers associated with the MDL.\n//\n//--\n\n#define MmGetMdlPfnArray(Mdl) ((PPFN_NUMBER)(Mdl + 1))\n\n//++\n//\n// PVOID\n// MmGetMdlVirtualAddress (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlVirtualAddress returns the virtual address of the buffer\n//     described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the virtual address of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlVirtualAddress(Mdl)                                     \\\n    ((PVOID) ((PCHAR) ((Mdl)->StartVa) + (Mdl)->ByteOffset))\n\n//++\n//\n// ULONG\n// MmGetMdlByteCount (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlByteCount returns the length in bytes of the buffer\n//     described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the byte count of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlByteCount(Mdl)  ((Mdl)->ByteCount)\n\n//++\n//\n// ULONG\n// MmGetMdlByteOffset (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlByteOffset returns the byte offset within the page\n//     of the buffer described by the Mdl.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the byte offset within the page of the buffer described by the Mdl\n//\n//--\n\n#define MmGetMdlByteOffset(Mdl)  ((Mdl)->ByteOffset)\n\n//++\n//\n// PVOID\n// MmGetMdlStartVa (\n//     IN PMDL Mdl\n//     )\n//\n// Routine Description:\n//\n//     The MmGetMdlBaseVa returns the virtual address of the buffer\n//     described by the Mdl rounded down to the nearest page.\n//\n// Arguments:\n//\n//     Mdl - Pointer to an MDL.\n//\n// Return Value:\n//\n//     Returns the returns the starting virtual address of the MDL.\n//\n//\n//--\n\n#define MmGetMdlBaseVa(Mdl)  ((Mdl)->StartVa)\n\ntypedef enum _MM_SYSTEM_SIZE {\n    MmSmallSystem,\n    MmMediumSystem,\n    MmLargeSystem\n} MM_SYSTEMSIZE;\n\nNTKERNELAPI\nMM_SYSTEMSIZE\nMmQuerySystemSize(\n    VOID\n    );\n\n\ntypedef enum _LOCK_OPERATION {\n    IoReadAccess,\n    IoWriteAccess,\n    IoModifyAccess\n} LOCK_OPERATION;\n\n\nNTSTATUS\nMmIsVerifierEnabled (\n    OUT PULONG VerifierFlags\n    );\n\nNTSTATUS\nMmAddVerifierThunks (\n    IN PVOID ThunkBuffer,\n    IN ULONG ThunkBufferSize\n    );\n\n\nNTKERNELAPI\nVOID\nMmProbeAndLockProcessPages (\n    IN OUT PMDL MemoryDescriptorList,\n    IN PEPROCESS Process,\n    IN KPROCESSOR_MODE AccessMode,\n    IN LOCK_OPERATION Operation\n    );\n\n\n\n//\n// I/O support routines.\n//\n\nNTKERNELAPI\nVOID\nMmProbeAndLockPages (\n    IN OUT PMDL MemoryDescriptorList,\n    IN KPROCESSOR_MODE AccessMode,\n    IN LOCK_OPERATION Operation\n    );\n\n\nNTKERNELAPI\nVOID\nMmUnlockPages (\n    IN PMDL MemoryDescriptorList\n    );\n\n\nNTKERNELAPI\nVOID\nMmBuildMdlForNonPagedPool (\n    IN OUT PMDL MemoryDescriptorList\n    );\n\nNTKERNELAPI\nPVOID\nMmMapLockedPages (\n    IN PMDL MemoryDescriptorList,\n    IN KPROCESSOR_MODE AccessMode\n    );\n\nNTKERNELAPI\nPVOID\nMmGetSystemRoutineAddress (\n    IN PUNICODE_STRING SystemRoutineName\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmAdvanceMdl (\n    IN PMDL Mdl,\n    IN ULONG NumberOfBytes\n    );\n\nNTKERNELAPI\nNTSTATUS\nMmProtectMdlSystemAddress (\n    IN PMDL MemoryDescriptorList,\n    IN ULONG NewProtect\n    );\n\n//\n// _MM_PAGE_PRIORITY_ provides a method for the system to handle requests\n// intelligently in low resource conditions.\n//\n// LowPagePriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is low on resources.  An example of\n// this could be for a non-critical network connection where the driver can\n// handle the failure case when system resources are close to being depleted.\n//\n// NormalPagePriority should be used when it is acceptable to the driver for the\n// mapping request to fail if the system is very low on resources.  An example\n// of this could be for a non-critical local filesystem request.\n//\n// HighPagePriority should be used when it is unacceptable to the driver for the\n// mapping request to fail unless the system is completely out of resources.\n// An example of this would be the paging file path in a driver.\n//\n\n\n\ntypedef enum _MM_PAGE_PRIORITY {\n    LowPagePriority,\n    NormalPagePriority = 16,\n    HighPagePriority = 32\n} MM_PAGE_PRIORITY;\n\n\n\n//\n// Note: This function is not available in WDM 1.0\n//\nNTKERNELAPI\nPVOID\nMmMapLockedPagesSpecifyCache (\n     IN PMDL MemoryDescriptorList,\n     IN KPROCESSOR_MODE AccessMode,\n     IN MEMORY_CACHING_TYPE CacheType,\n     IN PVOID BaseAddress,\n     IN ULONG BugCheckOnFailure,\n     IN MM_PAGE_PRIORITY Priority\n     );\n\nNTKERNELAPI\nVOID\nMmUnmapLockedPages (\n    IN PVOID BaseAddress,\n    IN PMDL MemoryDescriptorList\n    );\n\nPVOID\nMmAllocateMappingAddress (\n     IN SIZE_T NumberOfBytes,\n     IN ULONG PoolTag\n     );\n\nVOID\nMmFreeMappingAddress (\n     IN PVOID BaseAddress,\n     IN ULONG PoolTag\n     );\n\nPVOID\nMmMapLockedPagesWithReservedMapping (\n    IN PVOID MappingAddress,\n    IN ULONG PoolTag,\n    IN PMDL MemoryDescriptorList,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\nVOID\nMmUnmapReservedMapping (\n     IN PVOID BaseAddress,\n     IN ULONG PoolTag,\n     IN PMDL MemoryDescriptorList\n     );\n\n\nNTKERNELAPI\nPMDL\nMmAllocatePagesForMdl (\n    IN PHYSICAL_ADDRESS LowAddress,\n    IN PHYSICAL_ADDRESS HighAddress,\n    IN PHYSICAL_ADDRESS SkipBytes,\n    IN SIZE_T TotalBytes\n    );\n\nNTKERNELAPI\nVOID\nMmFreePagesFromMdl (\n    IN PMDL MemoryDescriptorList\n    );\n\nNTKERNELAPI\nPVOID\nMmMapIoSpace (\n    IN PHYSICAL_ADDRESS PhysicalAddress,\n    IN SIZE_T NumberOfBytes,\n    IN MEMORY_CACHING_TYPE CacheType\n    );\n\nNTKERNELAPI\nVOID\nMmUnmapIoSpace (\n    IN PVOID BaseAddress,\n    IN SIZE_T NumberOfBytes\n    );\n\n\nNTKERNELAPI\nSIZE_T\nMmSizeOfMdl(\n    IN PVOID Base,\n    IN SIZE_T Length\n    );\n\nDECLSPEC_DEPRECATED_DDK                 // Use IoCreateMdl\nNTKERNELAPI\nPMDL\nMmCreateMdl(\n    IN PMDL MemoryDescriptorList OPTIONAL,\n    IN PVOID Base,\n    IN SIZE_T Length\n    );\n\nNTKERNELAPI\nPVOID\nMmLockPagableDataSection(\n    IN PVOID AddressWithinSection\n    );\n\nNTKERNELAPI\nVOID\nMmResetDriverPaging (\n    IN PVOID AddressWithinSection\n    );\n\n\nNTKERNELAPI\nPVOID\nMmPageEntireDriver (\n    IN PVOID AddressWithinSection\n    );\n\nNTKERNELAPI\nVOID\nMmUnlockPagableImageSection(\n    IN PVOID ImageSectionHandle\n    );\n\n\n//++\n//\n// VOID\n// MmInitializeMdl (\n//     IN PMDL MemoryDescriptorList,\n//     IN PVOID BaseVa,\n//     IN SIZE_T Length\n//     )\n//\n// Routine Description:\n//\n//     This routine initializes the header of a Memory Descriptor List (MDL).\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to initialize.\n//\n//     BaseVa - Base virtual address mapped by the MDL.\n//\n//     Length - Length, in bytes, of the buffer mapped by the MDL.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define MmInitializeMdl(MemoryDescriptorList, BaseVa, Length) { \\\n    (MemoryDescriptorList)->Next = (PMDL) NULL; \\\n    (MemoryDescriptorList)->Size = (CSHORT)(sizeof(MDL) +  \\\n            (sizeof(PFN_NUMBER) * ADDRESS_AND_SIZE_TO_SPAN_PAGES((BaseVa), (Length)))); \\\n    (MemoryDescriptorList)->MdlFlags = 0; \\\n    (MemoryDescriptorList)->StartVa = (PVOID) PAGE_ALIGN((BaseVa)); \\\n    (MemoryDescriptorList)->ByteOffset = BYTE_OFFSET((BaseVa)); \\\n    (MemoryDescriptorList)->ByteCount = (ULONG)(Length); \\\n    }\n\n//++\n//\n// PVOID\n// MmGetSystemAddressForMdlSafe (\n//     IN PMDL MDL,\n//     IN MM_PAGE_PRIORITY PRIORITY\n//     )\n//\n// Routine Description:\n//\n//     This routine returns the mapped address of an MDL. If the\n//     Mdl is not already mapped or a system address, it is mapped.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to map.\n//\n//     Priority - Supplies an indication as to how important it is that this\n//                request succeed under low available PTE conditions.\n//\n// Return Value:\n//\n//     Returns the base address where the pages are mapped.  The base address\n//     has the same offset as the virtual address in the MDL.\n//\n//     Unlike MmGetSystemAddressForMdl, Safe guarantees that it will always\n//     return NULL on failure instead of bugchecking the system.\n//\n//     This macro is not usable by WDM 1.0 drivers as 1.0 did not include\n//     MmMapLockedPagesSpecifyCache.  The solution for WDM 1.0 drivers is to\n//     provide synchronization and set/reset the MDL_MAPPING_CAN_FAIL bit.\n//\n//--\n\n#define MmGetSystemAddressForMdlSafe(MDL, PRIORITY)                    \\\n     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA |                    \\\n                        MDL_SOURCE_IS_NONPAGED_POOL)) ?                \\\n                             ((MDL)->MappedSystemVa) :                 \\\n                             (MmMapLockedPagesSpecifyCache((MDL),      \\\n                                                           KernelMode, \\\n                                                           MmCached,   \\\n                                                           NULL,       \\\n                                                           FALSE,      \\\n                                                           (PRIORITY))))\n\n//++\n//\n// PVOID\n// MmGetSystemAddressForMdl (\n//     IN PMDL MDL\n//     )\n//\n// Routine Description:\n//\n//     This routine returns the mapped address of an MDL, if the\n//     Mdl is not already mapped or a system address, it is mapped.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL to map.\n//\n// Return Value:\n//\n//     Returns the base address where the pages are mapped.  The base address\n//     has the same offset as the virtual address in the MDL.\n//\n//--\n\n//#define MmGetSystemAddressForMdl(MDL)\n//     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA)) ?\n//                             ((MDL)->MappedSystemVa) :\n//                ((((MDL)->MdlFlags & (MDL_SOURCE_IS_NONPAGED_POOL)) ?\n//                      ((PVOID)((ULONG)(MDL)->StartVa | (MDL)->ByteOffset)) :\n//                            (MmMapLockedPages((MDL),KernelMode)))))\n\n#if PRAGMA_DEPRECATED_DDK\n#pragma deprecated(MmGetSystemAddressForMdl)    // Use MmGetSystemAddressForMdlSafe\n#endif\n\n#define MmGetSystemAddressForMdl(MDL)                                  \\\n     (((MDL)->MdlFlags & (MDL_MAPPED_TO_SYSTEM_VA |                    \\\n                        MDL_SOURCE_IS_NONPAGED_POOL)) ?                \\\n                             ((MDL)->MappedSystemVa) :                 \\\n                             (MmMapLockedPages((MDL),KernelMode)))\n\n//++\n//\n// VOID\n// MmPrepareMdlForReuse (\n//     IN PMDL MDL\n//     )\n//\n// Routine Description:\n//\n//     This routine will take all of the steps necessary to allow an MDL to be\n//     re-used.\n//\n// Arguments:\n//\n//     MemoryDescriptorList - Pointer to the MDL that will be re-used.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define MmPrepareMdlForReuse(MDL)                                       \\\n    if (((MDL)->MdlFlags & MDL_PARTIAL_HAS_BEEN_MAPPED) != 0) {         \\\n        ASSERT(((MDL)->MdlFlags & MDL_PARTIAL) != 0);                   \\\n        MmUnmapLockedPages( (MDL)->MappedSystemVa, (MDL) );             \\\n    } else if (((MDL)->MdlFlags & MDL_PARTIAL) == 0) {                  \\\n        ASSERT(((MDL)->MdlFlags & MDL_MAPPED_TO_SYSTEM_VA) == 0);       \\\n    }\n\ntypedef NTSTATUS (*PMM_DLL_INITIALIZE)(\n    IN PUNICODE_STRING RegistryPath\n    );\n\ntypedef NTSTATUS (*PMM_DLL_UNLOAD)(\n    VOID\n    );\n\n\n\n//\n// Define an empty typedef for the _DRIVER_OBJECT structure so it may be\n// referenced by function types before it is actually defined.\n//\nstruct _DRIVER_OBJECT;\n\nNTKERNELAPI\nLOGICAL\nMmIsDriverVerifying (\n    IN struct _DRIVER_OBJECT *DriverObject\n    );\n\n//\n//  Security operation codes\n//\n\ntypedef enum _SECURITY_OPERATION_CODE {\n    SetSecurityDescriptor,\n    QuerySecurityDescriptor,\n    DeleteSecurityDescriptor,\n    AssignSecurityDescriptor\n    } SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;\n\n//\n//  Data structure used to capture subject security context\n//  for access validations and auditing.\n//\n//  THE FIELDS OF THIS DATA STRUCTURE SHOULD BE CONSIDERED OPAQUE\n//  BY ALL EXCEPT THE SECURITY ROUTINES.\n//\n\ntypedef struct _SECURITY_SUBJECT_CONTEXT {\n    PACCESS_TOKEN ClientToken;\n    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;\n    PACCESS_TOKEN PrimaryToken;\n    PVOID ProcessAuditId;\n    } SECURITY_SUBJECT_CONTEXT, *PSECURITY_SUBJECT_CONTEXT;\n\n///////////////////////////////////////////////////////////////////////////////\n//                                                                           //\n//                  ACCESS_STATE and related structures                      //\n//                                                                           //\n///////////////////////////////////////////////////////////////////////////////\n\n//\n//  Initial Privilege Set - Room for three privileges, which should\n//  be enough for most applications.  This structure exists so that\n//  it can be imbedded in an ACCESS_STATE structure.  Use PRIVILEGE_SET\n//  for all other references to Privilege sets.\n//\n\n#define INITIAL_PRIVILEGE_COUNT         3\n\ntypedef struct _INITIAL_PRIVILEGE_SET {\n    ULONG PrivilegeCount;\n    ULONG Control;\n    LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];\n    } INITIAL_PRIVILEGE_SET, * PINITIAL_PRIVILEGE_SET;\n\n\n\n//\n// Combine the information that describes the state\n// of an access-in-progress into a single structure\n//\n\n\ntypedef struct _ACCESS_STATE {\n   LUID OperationID;\n   BOOLEAN SecurityEvaluated;\n   BOOLEAN GenerateAudit;\n   BOOLEAN GenerateOnClose;\n   BOOLEAN PrivilegesAllocated;\n   ULONG Flags;\n   ACCESS_MASK RemainingDesiredAccess;\n   ACCESS_MASK PreviouslyGrantedAccess;\n   ACCESS_MASK OriginalDesiredAccess;\n   SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;\n   PSECURITY_DESCRIPTOR SecurityDescriptor;\n   PVOID AuxData;\n   union {\n      INITIAL_PRIVILEGE_SET InitialPrivilegeSet;\n      PRIVILEGE_SET PrivilegeSet;\n      } Privileges;\n\n   BOOLEAN AuditPrivileges;\n   UNICODE_STRING ObjectName;\n   UNICODE_STRING ObjectTypeName;\n\n   } ACCESS_STATE, *PACCESS_STATE;\n\n\nNTKERNELAPI\nNTSTATUS\nSeAssignSecurity (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,\n    IN PSECURITY_DESCRIPTOR ExplicitDescriptor,\n    OUT PSECURITY_DESCRIPTOR *NewDescriptor,\n    IN BOOLEAN IsDirectoryObject,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectContext,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN POOL_TYPE PoolType\n    );\n\nNTKERNELAPI\nNTSTATUS\nSeAssignSecurityEx (\n    IN PSECURITY_DESCRIPTOR ParentDescriptor OPTIONAL,\n    IN PSECURITY_DESCRIPTOR ExplicitDescriptor OPTIONAL,\n    OUT PSECURITY_DESCRIPTOR *NewDescriptor,\n    IN GUID *ObjectType OPTIONAL,\n    IN BOOLEAN IsDirectoryObject,\n    IN ULONG AutoInheritFlags,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectContext,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN POOL_TYPE PoolType\n    );\n\nNTKERNELAPI\nNTSTATUS\nSeDeassignSecurity (\n    IN OUT PSECURITY_DESCRIPTOR *SecurityDescriptor\n    );\n\nNTKERNELAPI\nBOOLEAN\nSeAccessCheck (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,\n    IN BOOLEAN SubjectContextLocked,\n    IN ACCESS_MASK DesiredAccess,\n    IN ACCESS_MASK PreviouslyGrantedAccess,\n    OUT PPRIVILEGE_SET *Privileges OPTIONAL,\n    IN PGENERIC_MAPPING GenericMapping,\n    IN KPROCESSOR_MODE AccessMode,\n    OUT PACCESS_MASK GrantedAccess,\n    OUT PNTSTATUS AccessStatus\n    );\n\n\n#ifdef SE_NTFS_WORLD_CACHE\n\nVOID\nSeGetWorldRights (\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN PGENERIC_MAPPING GenericMapping,\n    OUT PACCESS_MASK GrantedAccess\n    );\n\n#endif\n\n\nNTKERNELAPI\nBOOLEAN\nSeValidSecurityDescriptor(\n    IN ULONG Length,\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor\n    );\n\n//\n// System Thread and Process Creation and Termination\n//\n\nNTKERNELAPI\nNTSTATUS\nPsCreateSystemThread(\n    OUT PHANDLE ThreadHandle,\n    IN ULONG DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,\n    IN HANDLE ProcessHandle OPTIONAL,\n    OUT PCLIENT_ID ClientId OPTIONAL,\n    IN PKSTART_ROUTINE StartRoutine,\n    IN PVOID StartContext\n    );\n\nNTKERNELAPI\nNTSTATUS\nPsTerminateSystemThread(\n    IN NTSTATUS ExitStatus\n    );\n\n//\n// Define I/O system data structure type codes.  Each major data structure in\n// the I/O system has a type code  The type field in each structure is at the\n// same offset.  The following values can be used to determine which type of\n// data structure a pointer refers to.\n//\n\n#define IO_TYPE_ADAPTER                 0x00000001\n#define IO_TYPE_CONTROLLER              0x00000002\n#define IO_TYPE_DEVICE                  0x00000003\n#define IO_TYPE_DRIVER                  0x00000004\n#define IO_TYPE_FILE                    0x00000005\n#define IO_TYPE_IRP                     0x00000006\n#define IO_TYPE_MASTER_ADAPTER          0x00000007\n#define IO_TYPE_OPEN_PACKET             0x00000008\n#define IO_TYPE_TIMER                   0x00000009\n#define IO_TYPE_VPB                     0x0000000a\n#define IO_TYPE_ERROR_LOG               0x0000000b\n#define IO_TYPE_ERROR_MESSAGE           0x0000000c\n#define IO_TYPE_DEVICE_OBJECT_EXTENSION 0x0000000d\n\n\n//\n// Define the major function codes for IRPs.\n//\n\n\n#define IRP_MJ_CREATE                   0x00\n#define IRP_MJ_CREATE_NAMED_PIPE        0x01\n#define IRP_MJ_CLOSE                    0x02\n#define IRP_MJ_READ                     0x03\n#define IRP_MJ_WRITE                    0x04\n#define IRP_MJ_QUERY_INFORMATION        0x05\n#define IRP_MJ_SET_INFORMATION          0x06\n#define IRP_MJ_QUERY_EA                 0x07\n#define IRP_MJ_SET_EA                   0x08\n#define IRP_MJ_FLUSH_BUFFERS            0x09\n#define IRP_MJ_QUERY_VOLUME_INFORMATION 0x0a\n#define IRP_MJ_SET_VOLUME_INFORMATION   0x0b\n#define IRP_MJ_DIRECTORY_CONTROL        0x0c\n#define IRP_MJ_FILE_SYSTEM_CONTROL      0x0d\n#define IRP_MJ_DEVICE_CONTROL           0x0e\n#define IRP_MJ_INTERNAL_DEVICE_CONTROL  0x0f\n#define IRP_MJ_SHUTDOWN                 0x10\n#define IRP_MJ_LOCK_CONTROL             0x11\n#define IRP_MJ_CLEANUP                  0x12\n#define IRP_MJ_CREATE_MAILSLOT          0x13\n#define IRP_MJ_QUERY_SECURITY           0x14\n#define IRP_MJ_SET_SECURITY             0x15\n#define IRP_MJ_POWER                    0x16\n#define IRP_MJ_SYSTEM_CONTROL           0x17\n#define IRP_MJ_DEVICE_CHANGE            0x18\n#define IRP_MJ_QUERY_QUOTA              0x19\n#define IRP_MJ_SET_QUOTA                0x1a\n#define IRP_MJ_PNP                      0x1b\n#define IRP_MJ_PNP_POWER                IRP_MJ_PNP      // Obsolete....\n#define IRP_MJ_MAXIMUM_FUNCTION         0x1b\n\n//\n// Make the Scsi major code the same as internal device control.\n//\n\n#define IRP_MJ_SCSI                     IRP_MJ_INTERNAL_DEVICE_CONTROL\n\n//\n// Define the minor function codes for IRPs.  The lower 128 codes, from 0x00 to\n// 0x7f are reserved to Microsoft.  The upper 128 codes, from 0x80 to 0xff, are\n// reserved to customers of Microsoft.\n//\n\n//\n// Device Control Request minor function codes for SCSI support. Note that\n// user requests are assumed to be zero.\n//\n\n#define IRP_MN_SCSI_CLASS               0x01\n\n//\n// PNP minor function codes.\n//\n\n#define IRP_MN_START_DEVICE                 0x00\n#define IRP_MN_QUERY_REMOVE_DEVICE          0x01\n#define IRP_MN_REMOVE_DEVICE                0x02\n#define IRP_MN_CANCEL_REMOVE_DEVICE         0x03\n#define IRP_MN_STOP_DEVICE                  0x04\n#define IRP_MN_QUERY_STOP_DEVICE            0x05\n#define IRP_MN_CANCEL_STOP_DEVICE           0x06\n\n#define IRP_MN_QUERY_DEVICE_RELATIONS       0x07\n#define IRP_MN_QUERY_INTERFACE              0x08\n#define IRP_MN_QUERY_CAPABILITIES           0x09\n#define IRP_MN_QUERY_RESOURCES              0x0A\n#define IRP_MN_QUERY_RESOURCE_REQUIREMENTS  0x0B\n#define IRP_MN_QUERY_DEVICE_TEXT            0x0C\n#define IRP_MN_FILTER_RESOURCE_REQUIREMENTS 0x0D\n\n#define IRP_MN_READ_CONFIG                  0x0F\n#define IRP_MN_WRITE_CONFIG                 0x10\n#define IRP_MN_EJECT                        0x11\n#define IRP_MN_SET_LOCK                     0x12\n#define IRP_MN_QUERY_ID                     0x13\n#define IRP_MN_QUERY_PNP_DEVICE_STATE       0x14\n#define IRP_MN_QUERY_BUS_INFORMATION        0x15\n#define IRP_MN_DEVICE_USAGE_NOTIFICATION    0x16\n#define IRP_MN_SURPRISE_REMOVAL             0x17\n\n//\n// POWER minor function codes\n//\n#define IRP_MN_WAIT_WAKE                    0x00\n#define IRP_MN_POWER_SEQUENCE               0x01\n#define IRP_MN_SET_POWER                    0x02\n#define IRP_MN_QUERY_POWER                  0x03\n\n\n//\n// WMI minor function codes under IRP_MJ_SYSTEM_CONTROL\n//\n\n#define IRP_MN_QUERY_ALL_DATA               0x00\n#define IRP_MN_QUERY_SINGLE_INSTANCE        0x01\n#define IRP_MN_CHANGE_SINGLE_INSTANCE       0x02\n#define IRP_MN_CHANGE_SINGLE_ITEM           0x03\n#define IRP_MN_ENABLE_EVENTS                0x04\n#define IRP_MN_DISABLE_EVENTS               0x05\n#define IRP_MN_ENABLE_COLLECTION            0x06\n#define IRP_MN_DISABLE_COLLECTION           0x07\n#define IRP_MN_REGINFO                      0x08\n#define IRP_MN_EXECUTE_METHOD               0x09\n// Minor code 0x0a is reserved\n#define IRP_MN_REGINFO_EX                   0x0b\n\n\n\n//\n// Define option flags for IoCreateFile.  Note that these values must be\n// exactly the same as the SL_... flags for a create function.  Note also\n// that there are flags that may be passed to IoCreateFile that are not\n// placed in the stack location for the create IRP.  These flags start in\n// the next byte.\n//\n\n#define IO_FORCE_ACCESS_CHECK           0x0001\n#define IO_NO_PARAMETER_CHECKING        0x0100\n\n//\n// Define Information fields for whether or not a REPARSE or a REMOUNT has\n// occurred in the file system.\n//\n\n#define IO_REPARSE                      0x0\n#define IO_REMOUNT                      0x1\n\n//\n// Define the objects that can be created by IoCreateFile.\n//\n\ntypedef enum _CREATE_FILE_TYPE {\n    CreateFileTypeNone,\n    CreateFileTypeNamedPipe,\n    CreateFileTypeMailslot\n} CREATE_FILE_TYPE;\n\n//\n// Define the structures used by the I/O system\n//\n\n//\n// Define empty typedefs for the _IRP, _DEVICE_OBJECT, and _DRIVER_OBJECT\n// structures so they may be referenced by function types before they are\n// actually defined.\n//\nstruct _DEVICE_DESCRIPTION;\nstruct _DEVICE_OBJECT;\nstruct _DMA_ADAPTER;\nstruct _DRIVER_OBJECT;\nstruct _DRIVE_LAYOUT_INFORMATION;\nstruct _DISK_PARTITION;\nstruct _FILE_OBJECT;\nstruct _IRP;\nstruct _SCSI_REQUEST_BLOCK;\nstruct _SCATTER_GATHER_LIST;\n\n//\n// Define the I/O version of a DPC routine.\n//\n\ntypedef\nVOID\n(*PIO_DPC_ROUTINE) (\n    IN PKDPC Dpc,\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PVOID Context\n    );\n\n//\n// Define driver timer routine type.\n//\n\ntypedef\nVOID\n(*PIO_TIMER_ROUTINE) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN PVOID Context\n    );\n\n//\n// Define driver initialization routine type.\n//\ntypedef\nNTSTATUS\n(*PDRIVER_INITIALIZE) (\n    IN struct _DRIVER_OBJECT *DriverObject,\n    IN PUNICODE_STRING RegistryPath\n    );\n\n//\n// Define driver cancel routine type.\n//\n\ntypedef\nVOID\n(*PDRIVER_CANCEL) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver dispatch routine type.\n//\n\ntypedef\nNTSTATUS\n(*PDRIVER_DISPATCH) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver start I/O routine type.\n//\n\ntypedef\nVOID\n(*PDRIVER_STARTIO) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp\n    );\n\n//\n// Define driver unload routine type.\n//\ntypedef\nVOID\n(*PDRIVER_UNLOAD) (\n    IN struct _DRIVER_OBJECT *DriverObject\n    );\n//\n// Define driver AddDevice routine type.\n//\n\ntypedef\nNTSTATUS\n(*PDRIVER_ADD_DEVICE) (\n    IN struct _DRIVER_OBJECT *DriverObject,\n    IN struct _DEVICE_OBJECT *PhysicalDeviceObject\n    );\n\n\n//\n// Define fast I/O procedure prototypes.\n//\n// Fast I/O read and write procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_CHECK_IF_POSSIBLE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    IN BOOLEAN CheckForReadOperation,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_READ) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    OUT PVOID Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN BOOLEAN Wait,\n    IN ULONG LockKey,\n    IN PVOID Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O query basic and standard information procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_BASIC_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT PFILE_BASIC_INFORMATION Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_STANDARD_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT PFILE_STANDARD_INFORMATION Buffer,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O lock and unlock procedures.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_LOCK) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PLARGE_INTEGER Length,\n    PEPROCESS ProcessId,\n    ULONG Key,\n    BOOLEAN FailImmediately,\n    BOOLEAN ExclusiveLock,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_SINGLE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PLARGE_INTEGER Length,\n    PEPROCESS ProcessId,\n    ULONG Key,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_ALL) (\n    IN struct _FILE_OBJECT *FileObject,\n    PEPROCESS ProcessId,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_UNLOCK_ALL_BY_KEY) (\n    IN struct _FILE_OBJECT *FileObject,\n    PVOID ProcessId,\n    ULONG Key,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Fast I/O device control procedure.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_DEVICE_CONTROL) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    IN PVOID InputBuffer OPTIONAL,\n    IN ULONG InputBufferLength,\n    OUT PVOID OutputBuffer OPTIONAL,\n    IN ULONG OutputBufferLength,\n    IN ULONG IoControlCode,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Define callbacks for NtCreateSection to synchronize correctly with\n// the file system.  It pre-acquires the resources that will be needed\n// when calling to query and set file/allocation size in the file system.\n//\n\ntypedef\nVOID\n(*PFAST_IO_ACQUIRE_FILE) (\n    IN struct _FILE_OBJECT *FileObject\n    );\n\ntypedef\nVOID\n(*PFAST_IO_RELEASE_FILE) (\n    IN struct _FILE_OBJECT *FileObject\n    );\n\n//\n// Define callback for drivers that have device objects attached to lower-\n// level drivers' device objects.  This callback is made when the lower-level\n// driver is deleting its device object.\n//\n\ntypedef\nVOID\n(*PFAST_IO_DETACH_DEVICE) (\n    IN struct _DEVICE_OBJECT *SourceDevice,\n    IN struct _DEVICE_OBJECT *TargetDevice\n    );\n\n//\n// This structure is used by the server to quickly get the information needed\n// to service a server open call.  It is takes what would be two fast io calls\n// one for basic information and the other for standard information and makes\n// it into one call.\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_NETWORK_OPEN_INFO) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN BOOLEAN Wait,\n    OUT struct _FILE_NETWORK_OPEN_INFORMATION *Buffer,\n    OUT struct _IO_STATUS_BLOCK *IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n//  Define Mdl-based routines for the server to call\n//\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ_COMPLETE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_PREPARE_MDL_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_WRITE_COMPLETE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n//  If this routine is present, it will be called by FsRtl\n//  to acquire the file for the mapped page writer.\n//\n\ntypedef\nNTSTATUS\n(*PFAST_IO_ACQUIRE_FOR_MOD_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER EndingOffset,\n    OUT struct _ERESOURCE **ResourceToRelease,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nNTSTATUS\n(*PFAST_IO_RELEASE_FOR_MOD_WRITE) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _ERESOURCE *ResourceToRelease,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\n//\n//  If this routine is present, it will be called by FsRtl\n//  to acquire the file for the mapped page writer.\n//\n\ntypedef\nNTSTATUS\n(*PFAST_IO_ACQUIRE_FOR_CCFLUSH) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nNTSTATUS\n(*PFAST_IO_RELEASE_FOR_CCFLUSH) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN struct _DEVICE_OBJECT *DeviceObject\n             );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_READ_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    OUT PVOID Buffer,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    OUT struct _COMPRESSED_DATA_INFO *CompressedDataInfo,\n    IN ULONG CompressedDataInfoLength,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_WRITE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN ULONG Length,\n    IN ULONG LockKey,\n    IN PVOID Buffer,\n    OUT PMDL *MdlChain,\n    OUT PIO_STATUS_BLOCK IoStatus,\n    IN struct _COMPRESSED_DATA_INFO *CompressedDataInfo,\n    IN ULONG CompressedDataInfoLength,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_READ_COMPLETE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED) (\n    IN struct _FILE_OBJECT *FileObject,\n    IN PLARGE_INTEGER FileOffset,\n    IN PMDL MdlChain,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\ntypedef\nBOOLEAN\n(*PFAST_IO_QUERY_OPEN) (\n    IN struct _IRP *Irp,\n    OUT PFILE_NETWORK_OPEN_INFORMATION NetworkInformation,\n    IN struct _DEVICE_OBJECT *DeviceObject\n    );\n\n//\n// Define the structure to describe the Fast I/O dispatch routines.  Any\n// additions made to this structure MUST be added monotonically to the end\n// of the structure, and fields CANNOT be removed from the middle.\n//\n\ntypedef struct _FAST_IO_DISPATCH {\n    ULONG SizeOfFastIoDispatch;\n    PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;\n    PFAST_IO_READ FastIoRead;\n    PFAST_IO_WRITE FastIoWrite;\n    PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;\n    PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;\n    PFAST_IO_LOCK FastIoLock;\n    PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;\n    PFAST_IO_UNLOCK_ALL FastIoUnlockAll;\n    PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;\n    PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;\n    PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;\n    PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;\n    PFAST_IO_DETACH_DEVICE FastIoDetachDevice;\n    PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;\n    PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;\n    PFAST_IO_MDL_READ MdlRead;\n    PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;\n    PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;\n    PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;\n    PFAST_IO_READ_COMPRESSED FastIoReadCompressed;\n    PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;\n    PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;\n    PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;\n    PFAST_IO_QUERY_OPEN FastIoQueryOpen;\n    PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;\n    PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;\n    PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;\n} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;\n\n//\n// Define the actions that a driver execution routine may request of the\n// adapter/controller allocation routines upon return.\n//\n\ntypedef enum _IO_ALLOCATION_ACTION {\n    KeepObject = 1,\n    DeallocateObject,\n    DeallocateObjectKeepRegisters\n} IO_ALLOCATION_ACTION, *PIO_ALLOCATION_ACTION;\n\n//\n// Define device driver adapter/controller execution routine.\n//\n\ntypedef\nIO_ALLOCATION_ACTION\n(*PDRIVER_CONTROL) (\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PVOID MapRegisterBase,\n    IN PVOID Context\n    );\n\n//\n// Define the I/O system's security context type for use by file system's\n// when checking access to volumes, files, and directories.\n//\n\ntypedef struct _IO_SECURITY_CONTEXT {\n    PSECURITY_QUALITY_OF_SERVICE SecurityQos;\n    PACCESS_STATE AccessState;\n    ACCESS_MASK DesiredAccess;\n    ULONG FullCreateOptions;\n} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;\n\n//\n// Define object type specific fields of various objects used by the I/O system\n//\n\ntypedef struct _DMA_ADAPTER *PADAPTER_OBJECT;\n\n//\n// Define Wait Context Block (WCB)\n//\n\ntypedef struct _WAIT_CONTEXT_BLOCK {\n    KDEVICE_QUEUE_ENTRY WaitQueueEntry;\n    PDRIVER_CONTROL DeviceRoutine;\n    PVOID DeviceContext;\n    ULONG NumberOfMapRegisters;\n    PVOID DeviceObject;\n    PVOID CurrentIrp;\n    PKDPC BufferChainingDpc;\n} WAIT_CONTEXT_BLOCK, *PWAIT_CONTEXT_BLOCK;\n\n//\n// Define Device Object (DO) flags\n//\n#define DO_BUFFERED_IO                  0x00000004      \n#define DO_EXCLUSIVE                    0x00000008      \n#define DO_DIRECT_IO                    0x00000010      \n#define DO_MAP_IO_BUFFER                0x00000020      \n#define DO_DEVICE_INITIALIZING          0x00000080      \n#define DO_SHUTDOWN_REGISTERED          0x00000800      \n#define DO_BUS_ENUMERATED_DEVICE        0x00001000      \n#define DO_POWER_PAGABLE                0x00002000      \n#define DO_POWER_INRUSH                 0x00004000      \n//\n// Device Object structure definition\n//\n\ntypedef struct DECLSPEC_ALIGN(MEMORY_ALLOCATION_ALIGNMENT) _DEVICE_OBJECT {\n    CSHORT Type;\n    USHORT Size;\n    LONG ReferenceCount;\n    struct _DRIVER_OBJECT *DriverObject;\n    struct _DEVICE_OBJECT *NextDevice;\n    struct _DEVICE_OBJECT *AttachedDevice;\n    struct _IRP *CurrentIrp;\n    PIO_TIMER Timer;\n    ULONG Flags;                                // See above:  DO_...\n    ULONG Characteristics;                      // See ntioapi:  FILE_...\n    PVOID DoNotUse1;\n    PVOID DeviceExtension;\n    DEVICE_TYPE DeviceType;\n    CCHAR StackSize;\n    union {\n        LIST_ENTRY ListEntry;\n        WAIT_CONTEXT_BLOCK Wcb;\n    } Queue;\n    ULONG AlignmentRequirement;\n    KDEVICE_QUEUE DeviceQueue;\n    KDPC Dpc;\n\n    //\n    //  The following field is for exclusive use by the filesystem to keep\n    //  track of the number of Fsp threads currently using the device\n    //\n\n    ULONG ActiveThreadCount;\n    PSECURITY_DESCRIPTOR SecurityDescriptor;\n    KEVENT DeviceLock;\n\n    USHORT SectorSize;\n    USHORT Spare1;\n\n    struct _DEVOBJ_EXTENSION  *DeviceObjectExtension;\n    PVOID  Reserved;\n} DEVICE_OBJECT;\n\ntypedef struct _DEVICE_OBJECT *PDEVICE_OBJECT; \n\n\nstruct  _DEVICE_OBJECT_POWER_EXTENSION;\n\ntypedef struct _DEVOBJ_EXTENSION {\n\n    CSHORT          Type;\n    USHORT          Size;\n\n    //\n    // Public part of the DeviceObjectExtension structure\n    //\n\n    PDEVICE_OBJECT  DeviceObject;               // owning device object\n\n\n} DEVOBJ_EXTENSION, *PDEVOBJ_EXTENSION;\n\n//\n// Define Driver Object (DRVO) flags\n//\n\n#define DRVO_UNLOAD_INVOKED             0x00000001\n#define DRVO_LEGACY_DRIVER              0x00000002\n#define DRVO_BUILTIN_DRIVER             0x00000004    // Driver objects for Hal, PnP Mgr\n\ntypedef struct _DRIVER_EXTENSION {\n\n    //\n    // Back pointer to Driver Object\n    //\n\n    struct _DRIVER_OBJECT *DriverObject;\n\n    //\n    // The AddDevice entry point is called by the Plug & Play manager\n    // to inform the driver when a new device instance arrives that this\n    // driver must control.\n    //\n\n    PDRIVER_ADD_DEVICE AddDevice;\n\n    //\n    // The count field is used to count the number of times the driver has\n    // had its registered reinitialization routine invoked.\n    //\n\n    ULONG Count;\n\n    //\n    // The service name field is used by the pnp manager to determine\n    // where the driver related info is stored in the registry.\n    //\n\n    UNICODE_STRING ServiceKeyName;\n\n    //\n    // Note: any new shared fields get added here.\n    //\n\n\n} DRIVER_EXTENSION, *PDRIVER_EXTENSION;\n\n\ntypedef struct _DRIVER_OBJECT {\n    CSHORT Type;\n    CSHORT Size;\n\n    //\n    // The following links all of the devices created by a single driver\n    // together on a list, and the Flags word provides an extensible flag\n    // location for driver objects.\n    //\n\n    PDEVICE_OBJECT DeviceObject;\n    ULONG Flags;\n\n    //\n    // The following section describes where the driver is loaded.  The count\n    // field is used to count the number of times the driver has had its\n    // registered reinitialization routine invoked.\n    //\n\n    PVOID DriverStart;\n    ULONG DriverSize;\n    PVOID DriverSection;\n    PDRIVER_EXTENSION DriverExtension;\n\n    //\n    // The driver name field is used by the error log thread\n    // determine the name of the driver that an I/O request is/was bound.\n    //\n\n    UNICODE_STRING DriverName;\n\n    //\n    // The following section is for registry support.  Thise is a pointer\n    // to the path to the hardware information in the registry\n    //\n\n    PUNICODE_STRING HardwareDatabase;\n\n    //\n    // The following section contains the optional pointer to an array of\n    // alternate entry points to a driver for \"fast I/O\" support.  Fast I/O\n    // is performed by invoking the driver routine directly with separate\n    // parameters, rather than using the standard IRP call mechanism.  Note\n    // that these functions may only be used for synchronous I/O, and when\n    // the file is cached.\n    //\n\n    PFAST_IO_DISPATCH FastIoDispatch;\n\n    //\n    // The following section describes the entry points to this particular\n    // driver.  Note that the major function dispatch table must be the last\n    // field in the object so that it remains extensible.\n    //\n\n    PDRIVER_INITIALIZE DriverInit;\n    PDRIVER_STARTIO DriverStartIo;\n    PDRIVER_UNLOAD DriverUnload;\n    PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];\n\n} DRIVER_OBJECT;\ntypedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; \n\n\n\n//\n// The following structure is pointed to by the SectionObject pointer field\n// of a file object, and is allocated by the various NT file systems.\n//\n\ntypedef struct _SECTION_OBJECT_POINTERS {\n    PVOID DataSectionObject;\n    PVOID SharedCacheMap;\n    PVOID ImageSectionObject;\n} SECTION_OBJECT_POINTERS;\ntypedef SECTION_OBJECT_POINTERS *PSECTION_OBJECT_POINTERS;\n\n//\n// Define the format of a completion message.\n//\n\ntypedef struct _IO_COMPLETION_CONTEXT {\n    PVOID Port;\n    PVOID Key;\n} IO_COMPLETION_CONTEXT, *PIO_COMPLETION_CONTEXT;\n\n//\n// Define File Object (FO) flags\n//\n\n#define FO_FILE_OPEN                    0x00000001\n#define FO_SYNCHRONOUS_IO               0x00000002\n#define FO_ALERTABLE_IO                 0x00000004\n#define FO_NO_INTERMEDIATE_BUFFERING    0x00000008\n#define FO_WRITE_THROUGH                0x00000010\n#define FO_SEQUENTIAL_ONLY              0x00000020\n#define FO_CACHE_SUPPORTED              0x00000040\n#define FO_NAMED_PIPE                   0x00000080\n#define FO_STREAM_FILE                  0x00000100\n#define FO_MAILSLOT                     0x00000200\n#define FO_GENERATE_AUDIT_ON_CLOSE      0x00000400\n#define FO_DIRECT_DEVICE_OPEN           0x00000800\n#define FO_FILE_MODIFIED                0x00001000\n#define FO_FILE_SIZE_CHANGED            0x00002000\n#define FO_CLEANUP_COMPLETE             0x00004000\n#define FO_TEMPORARY_FILE               0x00008000\n#define FO_DELETE_ON_CLOSE              0x00010000\n#define FO_OPENED_CASE_SENSITIVE        0x00020000\n#define FO_HANDLE_CREATED               0x00040000\n#define FO_FILE_FAST_IO_READ            0x00080000\n#define FO_RANDOM_ACCESS                0x00100000\n#define FO_FILE_OPEN_CANCELLED          0x00200000\n#define FO_VOLUME_OPEN                  0x00400000\n#define FO_FILE_OBJECT_HAS_EXTENSION    0x00800000\n#define FO_REMOTE_ORIGIN                0x01000000\n\ntypedef struct _FILE_OBJECT {\n    CSHORT Type;\n    CSHORT Size;\n    PDEVICE_OBJECT DeviceObject;\n    PVOID DoNotUse1;\n    PVOID FsContext;\n    PVOID FsContext2;\n    PSECTION_OBJECT_POINTERS SectionObjectPointer;\n    PVOID PrivateCacheMap;\n    NTSTATUS FinalStatus;\n    struct _FILE_OBJECT *RelatedFileObject;\n    BOOLEAN LockOperation;\n    BOOLEAN DeletePending;\n    BOOLEAN ReadAccess;\n    BOOLEAN WriteAccess;\n    BOOLEAN DeleteAccess;\n    BOOLEAN SharedRead;\n    BOOLEAN SharedWrite;\n    BOOLEAN SharedDelete;\n    ULONG Flags;\n    UNICODE_STRING FileName;\n    LARGE_INTEGER CurrentByteOffset;\n    ULONG Waiters;\n    ULONG Busy;\n    PVOID LastLock;\n    KEVENT Lock;\n    KEVENT Event;\n    PIO_COMPLETION_CONTEXT CompletionContext;\n} FILE_OBJECT;\ntypedef struct _FILE_OBJECT *PFILE_OBJECT; \n\n//\n// Define I/O Request Packet (IRP) flags\n//\n\n#define IRP_NOCACHE                     0x00000001\n#define IRP_PAGING_IO                   0x00000002\n#define IRP_MOUNT_COMPLETION            0x00000002\n#define IRP_SYNCHRONOUS_API             0x00000004\n#define IRP_ASSOCIATED_IRP              0x00000008\n#define IRP_BUFFERED_IO                 0x00000010\n#define IRP_DEALLOCATE_BUFFER           0x00000020\n#define IRP_INPUT_OPERATION             0x00000040\n#define IRP_SYNCHRONOUS_PAGING_IO       0x00000040\n#define IRP_CREATE_OPERATION            0x00000080\n#define IRP_READ_OPERATION              0x00000100\n#define IRP_WRITE_OPERATION             0x00000200\n#define IRP_CLOSE_OPERATION             0x00000400\n//\n// Define I/O request packet (IRP) alternate flags for allocation control.\n//\n\n#define IRP_QUOTA_CHARGED               0x01\n#define IRP_ALLOCATED_MUST_SUCCEED      0x02\n#define IRP_ALLOCATED_FIXED_SIZE        0x04\n#define IRP_LOOKASIDE_ALLOCATION        0x08\n\n//\n// I/O Request Packet (IRP) definition\n//\n\ntypedef struct _IRP {\n    CSHORT Type;\n    USHORT Size;\n\n    //\n    // Define the common fields used to control the IRP.\n    //\n\n    //\n    // Define a pointer to the Memory Descriptor List (MDL) for this I/O\n    // request.  This field is only used if the I/O is \"direct I/O\".\n    //\n\n    PMDL MdlAddress;\n\n    //\n    // Flags word - used to remember various flags.\n    //\n\n    ULONG Flags;\n\n    //\n    // The following union is used for one of three purposes:\n    //\n    //    1. This IRP is an associated IRP.  The field is a pointer to a master\n    //       IRP.\n    //\n    //    2. This is the master IRP.  The field is the count of the number of\n    //       IRPs which must complete (associated IRPs) before the master can\n    //       complete.\n    //\n    //    3. This operation is being buffered and the field is the address of\n    //       the system space buffer.\n    //\n\n    union {\n        struct _IRP *MasterIrp;\n        LONG IrpCount;\n        PVOID SystemBuffer;\n    } AssociatedIrp;\n\n    //\n    // Thread list entry - allows queueing the IRP to the thread pending I/O\n    // request packet list.\n    //\n\n    LIST_ENTRY ThreadListEntry;\n\n    //\n    // I/O status - final status of operation.\n    //\n\n    IO_STATUS_BLOCK IoStatus;\n\n    //\n    // Requestor mode - mode of the original requestor of this operation.\n    //\n\n    KPROCESSOR_MODE RequestorMode;\n\n    //\n    // Pending returned - TRUE if pending was initially returned as the\n    // status for this packet.\n    //\n\n    BOOLEAN PendingReturned;\n\n    //\n    // Stack state information.\n    //\n\n    CHAR StackCount;\n    CHAR CurrentLocation;\n\n    //\n    // Cancel - packet has been canceled.\n    //\n\n    BOOLEAN Cancel;\n\n    //\n    // Cancel Irql - Irql at which the cancel spinlock was acquired.\n    //\n\n    KIRQL CancelIrql;\n\n    //\n    // ApcEnvironment - Used to save the APC environment at the time that the\n    // packet was initialized.\n    //\n\n    CCHAR ApcEnvironment;\n\n    //\n    // Allocation control flags.\n    //\n\n    UCHAR AllocationFlags;\n\n    //\n    // User parameters.\n    //\n\n    PIO_STATUS_BLOCK UserIosb;\n    PKEVENT UserEvent;\n    union {\n        struct {\n            PIO_APC_ROUTINE UserApcRoutine;\n            PVOID UserApcContext;\n        } AsynchronousParameters;\n        LARGE_INTEGER AllocationSize;\n    } Overlay;\n\n    //\n    // CancelRoutine - Used to contain the address of a cancel routine supplied\n    // by a device driver when the IRP is in a cancelable state.\n    //\n\n    PDRIVER_CANCEL CancelRoutine;\n\n    //\n    // Note that the UserBuffer parameter is outside of the stack so that I/O\n    // completion can copy data back into the user's address space without\n    // having to know exactly which service was being invoked.  The length\n    // of the copy is stored in the second half of the I/O status block. If\n    // the UserBuffer field is NULL, then no copy is performed.\n    //\n\n    PVOID UserBuffer;\n\n    //\n    // Kernel structures\n    //\n    // The following section contains kernel structures which the IRP needs\n    // in order to place various work information in kernel controller system\n    // queues.  Because the size and alignment cannot be controlled, they are\n    // placed here at the end so they just hang off and do not affect the\n    // alignment of other fields in the IRP.\n    //\n\n    union {\n\n        struct {\n\n            union {\n\n                //\n                // DeviceQueueEntry - The device queue entry field is used to\n                // queue the IRP to the device driver device queue.\n                //\n\n                KDEVICE_QUEUE_ENTRY DeviceQueueEntry;\n\n                struct {\n\n                    //\n                    // The following are available to the driver to use in\n                    // whatever manner is desired, while the driver owns the\n                    // packet.\n                    //\n\n                    PVOID DriverContext[4];\n\n                } ;\n\n            } ;\n\n            //\n            // Thread - pointer to caller's Thread Control Block.\n            //\n\n            PETHREAD Thread;\n\n            //\n            // Auxiliary buffer - pointer to any auxiliary buffer that is\n            // required to pass information to a driver that is not contained\n            // in a normal buffer.\n            //\n\n            PCHAR AuxiliaryBuffer;\n\n            //\n            // The following unnamed structure must be exactly identical\n            // to the unnamed structure used in the minipacket header used\n            // for completion queue entries.\n            //\n\n            struct {\n\n                //\n                // List entry - used to queue the packet to completion queue, among\n                // others.\n                //\n\n                LIST_ENTRY ListEntry;\n\n                union {\n\n                    //\n                    // Current stack location - contains a pointer to the current\n                    // IO_STACK_LOCATION structure in the IRP stack.  This field\n                    // should never be directly accessed by drivers.  They should\n                    // use the standard functions.\n                    //\n\n                    struct _IO_STACK_LOCATION *CurrentStackLocation;\n\n                    //\n                    // Minipacket type.\n                    //\n\n                    ULONG PacketType;\n                };\n            };\n\n            //\n            // Original file object - pointer to the original file object\n            // that was used to open the file.  This field is owned by the\n            // I/O system and should not be used by any other drivers.\n            //\n\n            PFILE_OBJECT OriginalFileObject;\n\n        } Overlay;\n\n        //\n        // APC - This APC control block is used for the special kernel APC as\n        // well as for the caller's APC, if one was specified in the original\n        // argument list.  If so, then the APC is reused for the normal APC for\n        // whatever mode the caller was in and the \"special\" routine that is\n        // invoked before the APC gets control simply deallocates the IRP.\n        //\n\n        KAPC Apc;\n\n        //\n        // CompletionKey - This is the key that is used to distinguish\n        // individual I/O operations initiated on a single file handle.\n        //\n\n        PVOID CompletionKey;\n\n    } Tail;\n\n} IRP, *PIRP;\n\n//\n// Define completion routine types for use in stack locations in an IRP\n//\n\ntypedef\nNTSTATUS\n(*PIO_COMPLETION_ROUTINE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PVOID Context\n    );\n\n//\n// Define stack location control flags\n//\n\n#define SL_PENDING_RETURNED             0x01\n#define SL_INVOKE_ON_CANCEL             0x20\n#define SL_INVOKE_ON_SUCCESS            0x40\n#define SL_INVOKE_ON_ERROR              0x80\n\n//\n// Define flags for various functions\n//\n\n//\n// Create / Create Named Pipe\n//\n// The following flags must exactly match those in the IoCreateFile call's\n// options.  The case sensitive flag is added in later, by the parse routine,\n// and is not an actual option to open.  Rather, it is part of the object\n// manager's attributes structure.\n//\n\n#define SL_FORCE_ACCESS_CHECK           0x01\n#define SL_OPEN_PAGING_FILE             0x02\n#define SL_OPEN_TARGET_DIRECTORY        0x04\n\n#define SL_CASE_SENSITIVE               0x80\n\n//\n// Read / Write\n//\n\n#define SL_KEY_SPECIFIED                0x01\n#define SL_OVERRIDE_VERIFY_VOLUME       0x02\n#define SL_WRITE_THROUGH                0x04\n#define SL_FT_SEQUENTIAL_WRITE          0x08\n\n//\n// Device I/O Control\n//\n//\n// Same SL_OVERRIDE_VERIFY_VOLUME as for read/write above.\n//\n\n#define SL_READ_ACCESS_GRANTED          0x01\n#define SL_WRITE_ACCESS_GRANTED         0x04    // Gap for SL_OVERRIDE_VERIFY_VOLUME\n\n//\n// Lock\n//\n\n#define SL_FAIL_IMMEDIATELY             0x01\n#define SL_EXCLUSIVE_LOCK               0x02\n\n//\n// QueryDirectory / QueryEa / QueryQuota\n//\n\n#define SL_RESTART_SCAN                 0x01\n#define SL_RETURN_SINGLE_ENTRY          0x02\n#define SL_INDEX_SPECIFIED              0x04\n\n//\n// NotifyDirectory\n//\n\n#define SL_WATCH_TREE                   0x01\n\n//\n// FileSystemControl\n//\n//    minor: mount/verify volume\n//\n\n#define SL_ALLOW_RAW_MOUNT              0x01\n\n//\n// Define PNP/POWER types required by IRP_MJ_PNP/IRP_MJ_POWER.\n//\n\ntypedef enum _DEVICE_RELATION_TYPE {\n    BusRelations,\n    EjectionRelations,\n    PowerRelations,\n    RemovalRelations,\n    TargetDeviceRelation,\n    SingleBusRelations\n} DEVICE_RELATION_TYPE, *PDEVICE_RELATION_TYPE;\n\ntypedef struct _DEVICE_RELATIONS {\n    ULONG Count;\n    PDEVICE_OBJECT Objects[1];  // variable length\n} DEVICE_RELATIONS, *PDEVICE_RELATIONS;\n\ntypedef enum _DEVICE_USAGE_NOTIFICATION_TYPE {\n    DeviceUsageTypeUndefined,\n    DeviceUsageTypePaging,\n    DeviceUsageTypeHibernation,\n    DeviceUsageTypeDumpFile\n} DEVICE_USAGE_NOTIFICATION_TYPE;\n\n\n\n// workaround overloaded definition (rpc generated headers all define INTERFACE\n// to match the class name).\n#undef INTERFACE\n\ntypedef struct _INTERFACE {\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    // interface specific entries go here\n} INTERFACE, *PINTERFACE;\n\n\n\ntypedef struct _DEVICE_CAPABILITIES {\n    USHORT Size;\n    USHORT Version;  // the version documented here is version 1\n    ULONG DeviceD1:1;\n    ULONG DeviceD2:1;\n    ULONG LockSupported:1;\n    ULONG EjectSupported:1; // Ejectable in S0\n    ULONG Removable:1;\n    ULONG DockDevice:1;\n    ULONG UniqueID:1;\n    ULONG SilentInstall:1;\n    ULONG RawDeviceOK:1;\n    ULONG SurpriseRemovalOK:1;\n    ULONG WakeFromD0:1;\n    ULONG WakeFromD1:1;\n    ULONG WakeFromD2:1;\n    ULONG WakeFromD3:1;\n    ULONG HardwareDisabled:1;\n    ULONG NonDynamic:1;\n    ULONG WarmEjectSupported:1;\n    ULONG NoDisplayInUI:1;\n    ULONG Reserved:14;\n\n    ULONG Address;\n    ULONG UINumber;\n\n    DEVICE_POWER_STATE DeviceState[POWER_SYSTEM_MAXIMUM];\n    SYSTEM_POWER_STATE SystemWake;\n    DEVICE_POWER_STATE DeviceWake;\n    ULONG D1Latency;\n    ULONG D2Latency;\n    ULONG D3Latency;\n} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;\n\ntypedef struct _POWER_SEQUENCE {\n    ULONG SequenceD1;\n    ULONG SequenceD2;\n    ULONG SequenceD3;\n} POWER_SEQUENCE, *PPOWER_SEQUENCE;\n\ntypedef enum {\n    BusQueryDeviceID = 0,       // <Enumerator>\\<Enumerator-specific device id>\n    BusQueryHardwareIDs = 1,    // Hardware ids\n    BusQueryCompatibleIDs = 2,  // compatible device ids\n    BusQueryInstanceID = 3,     // persistent id for this instance of the device\n    BusQueryDeviceSerialNumber = 4    // serial number for this device\n} BUS_QUERY_ID_TYPE, *PBUS_QUERY_ID_TYPE;\n\ntypedef ULONG PNP_DEVICE_STATE, *PPNP_DEVICE_STATE;\n\n#define PNP_DEVICE_DISABLED                      0x00000001\n#define PNP_DEVICE_DONT_DISPLAY_IN_UI            0x00000002\n#define PNP_DEVICE_FAILED                        0x00000004\n#define PNP_DEVICE_REMOVED                       0x00000008\n#define PNP_DEVICE_RESOURCE_REQUIREMENTS_CHANGED 0x00000010\n#define PNP_DEVICE_NOT_DISABLEABLE               0x00000020\n\ntypedef enum {\n    DeviceTextDescription = 0,            // DeviceDesc property\n    DeviceTextLocationInformation = 1     // DeviceLocation property\n} DEVICE_TEXT_TYPE, *PDEVICE_TEXT_TYPE;\n\n//\n// Define I/O Request Packet (IRP) stack locations\n//\n\n#if !defined(_AMD64_) && !defined(_IA64_)\n#include \"pshpack4.h\"\n#endif\n\n\n\n#if defined(_WIN64)\n#define POINTER_ALIGNMENT DECLSPEC_ALIGN(8)\n#else\n#define POINTER_ALIGNMENT\n#endif\n\n\n\ntypedef struct _IO_STACK_LOCATION {\n    UCHAR MajorFunction;\n    UCHAR MinorFunction;\n    UCHAR Flags;\n    UCHAR Control;\n\n    //\n    // The following user parameters are based on the service that is being\n    // invoked.  Drivers and file systems can determine which set to use based\n    // on the above major and minor function codes.\n    //\n\n    union {\n\n        //\n        // System service parameters for:  NtCreateFile\n        //\n\n        struct {\n            PIO_SECURITY_CONTEXT SecurityContext;\n            ULONG Options;\n            USHORT POINTER_ALIGNMENT FileAttributes;\n            USHORT ShareAccess;\n            ULONG POINTER_ALIGNMENT EaLength;\n        } Create;\n\n\n        //\n        // System service parameters for:  NtReadFile\n        //\n\n        struct {\n            ULONG Length;\n            ULONG POINTER_ALIGNMENT Key;\n            LARGE_INTEGER ByteOffset;\n        } Read;\n\n        //\n        // System service parameters for:  NtWriteFile\n        //\n\n        struct {\n            ULONG Length;\n            ULONG POINTER_ALIGNMENT Key;\n            LARGE_INTEGER ByteOffset;\n        } Write;\n\n\n        //\n        // System service parameters for:  NtQueryInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;\n        } QueryFile;\n\n        //\n        // System service parameters for:  NtSetInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FILE_INFORMATION_CLASS POINTER_ALIGNMENT FileInformationClass;\n            PFILE_OBJECT FileObject;\n            union {\n                struct {\n                    BOOLEAN ReplaceIfExists;\n                    BOOLEAN AdvanceOnly;\n                };\n                ULONG ClusterCount;\n                HANDLE DeleteHandle;\n            };\n        } SetFile;\n\n\n        //\n        // System service parameters for:  NtQueryVolumeInformationFile\n        //\n\n        struct {\n            ULONG Length;\n            FS_INFORMATION_CLASS POINTER_ALIGNMENT FsInformationClass;\n        } QueryVolume;\n\n\n        //\n        // System service parameters for:  NtFlushBuffersFile\n        //\n        // No extra user-supplied parameters.\n        //\n\n\n        //\n        // System service parameters for:  NtDeviceIoControlFile\n        //\n        // Note that the user's output buffer is stored in the UserBuffer field\n        // and the user's input buffer is stored in the SystemBuffer field.\n        //\n\n        struct {\n            ULONG OutputBufferLength;\n            ULONG POINTER_ALIGNMENT InputBufferLength;\n            ULONG POINTER_ALIGNMENT IoControlCode;\n            PVOID Type3InputBuffer;\n        } DeviceIoControl;\n\n        //\n        // Non-system service parameters.\n        //\n        // Parameters for MountVolume\n        //\n\n        struct {\n            PVOID DoNotUse1;\n            PDEVICE_OBJECT DeviceObject;\n        } MountVolume;\n\n        //\n        // Parameters for VerifyVolume\n        //\n\n        struct {\n            PVOID DoNotUse1;\n            PDEVICE_OBJECT DeviceObject;\n        } VerifyVolume;\n\n        //\n        // Parameters for Scsi with internal device contorl.\n        //\n\n        struct {\n            struct _SCSI_REQUEST_BLOCK *Srb;\n        } Scsi;\n\n\n        //\n        // Parameters for IRP_MN_QUERY_DEVICE_RELATIONS\n        //\n\n        struct {\n            DEVICE_RELATION_TYPE Type;\n        } QueryDeviceRelations;\n\n        //\n        // Parameters for IRP_MN_QUERY_INTERFACE\n        //\n\n        struct {\n            CONST GUID *InterfaceType;\n            USHORT Size;\n            USHORT Version;\n            PINTERFACE Interface;\n            PVOID InterfaceSpecificData;\n        } QueryInterface;\n\n\n\n        //\n        // Parameters for IRP_MN_QUERY_CAPABILITIES\n        //\n\n        struct {\n            PDEVICE_CAPABILITIES Capabilities;\n        } DeviceCapabilities;\n\n        //\n        // Parameters for IRP_MN_FILTER_RESOURCE_REQUIREMENTS\n        //\n\n        struct {\n            PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;\n        } FilterResourceRequirements;\n\n        //\n        // Parameters for IRP_MN_READ_CONFIG and IRP_MN_WRITE_CONFIG\n        //\n\n        struct {\n            ULONG WhichSpace;\n            PVOID Buffer;\n            ULONG Offset;\n            ULONG POINTER_ALIGNMENT Length;\n        } ReadWriteConfig;\n\n        //\n        // Parameters for IRP_MN_SET_LOCK\n        //\n\n        struct {\n            BOOLEAN Lock;\n        } SetLock;\n\n        //\n        // Parameters for IRP_MN_QUERY_ID\n        //\n\n        struct {\n            BUS_QUERY_ID_TYPE IdType;\n        } QueryId;\n\n        //\n        // Parameters for IRP_MN_QUERY_DEVICE_TEXT\n        //\n\n        struct {\n            DEVICE_TEXT_TYPE DeviceTextType;\n            LCID POINTER_ALIGNMENT LocaleId;\n        } QueryDeviceText;\n\n        //\n        // Parameters for IRP_MN_DEVICE_USAGE_NOTIFICATION\n        //\n\n        struct {\n            BOOLEAN InPath;\n            BOOLEAN Reserved[3];\n            DEVICE_USAGE_NOTIFICATION_TYPE POINTER_ALIGNMENT Type;\n        } UsageNotification;\n\n        //\n        // Parameters for IRP_MN_WAIT_WAKE\n        //\n\n        struct {\n            SYSTEM_POWER_STATE PowerState;\n        } WaitWake;\n\n        //\n        // Parameter for IRP_MN_POWER_SEQUENCE\n        //\n\n        struct {\n            PPOWER_SEQUENCE PowerSequence;\n        } PowerSequence;\n\n        //\n        // Parameters for IRP_MN_SET_POWER and IRP_MN_QUERY_POWER\n        //\n\n        struct {\n            ULONG SystemContext;\n            POWER_STATE_TYPE POINTER_ALIGNMENT Type;\n            POWER_STATE POINTER_ALIGNMENT State;\n            POWER_ACTION POINTER_ALIGNMENT ShutdownType;\n        } Power;\n\n        //\n        // Parameters for StartDevice\n        //\n\n        struct {\n            PCM_RESOURCE_LIST AllocatedResources;\n            PCM_RESOURCE_LIST AllocatedResourcesTranslated;\n        } StartDevice;\n\n\n        //\n        // Parameters for Cleanup\n        //\n        // No extra parameters supplied\n        //\n\n        //\n        // WMI Irps\n        //\n\n        struct {\n            ULONG_PTR ProviderId;\n            PVOID DataPath;\n            ULONG BufferSize;\n            PVOID Buffer;\n        } WMI;\n\n        //\n        // Others - driver-specific\n        //\n\n        struct {\n            PVOID Argument1;\n            PVOID Argument2;\n            PVOID Argument3;\n            PVOID Argument4;\n        } Others;\n\n    } Parameters;\n\n    //\n    // Save a pointer to this device driver's device object for this request\n    // so it can be passed to the completion routine if needed.\n    //\n\n    PDEVICE_OBJECT DeviceObject;\n\n    //\n    // The following location contains a pointer to the file object for this\n    //\n\n    PFILE_OBJECT FileObject;\n\n    //\n    // The following routine is invoked depending on the flags in the above\n    // flags field.\n    //\n\n    PIO_COMPLETION_ROUTINE CompletionRoutine;\n\n    //\n    // The following is used to store the address of the context parameter\n    // that should be passed to the CompletionRoutine.\n    //\n\n    PVOID Context;\n\n} IO_STACK_LOCATION, *PIO_STACK_LOCATION;\n#if !defined(_AMD64_) && !defined(_IA64_)\n#include \"poppack.h\"\n#endif\n\n//\n// Define the share access structure used by file systems to determine\n// whether or not another accessor may open the file.\n//\n\ntypedef struct _SHARE_ACCESS {\n    ULONG OpenCount;\n    ULONG Readers;\n    ULONG Writers;\n    ULONG Deleters;\n    ULONG SharedRead;\n    ULONG SharedWrite;\n    ULONG SharedDelete;\n} SHARE_ACCESS, *PSHARE_ACCESS;\n\n//\n// Public I/O routine definitions\n//\n\nNTKERNELAPI\nVOID\nIoAcquireCancelSpinLock(\n    OUT PKIRQL Irql\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoAllocateDriverObjectExtension(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PVOID ClientIdentificationAddress,\n    IN ULONG DriverObjectExtensionSize,\n    OUT PVOID *DriverObjectExtension\n    );\n\n\n\nNTKERNELAPI\nPVOID\nIoAllocateErrorLogEntry(\n    IN PVOID IoObject,\n    IN UCHAR EntrySize\n    );\n\nNTKERNELAPI\nPIRP\nIoAllocateIrp(\n    IN CCHAR StackSize,\n    IN BOOLEAN ChargeQuota\n    );\n\nNTKERNELAPI\nPMDL\nIoAllocateMdl(\n    IN PVOID VirtualAddress,\n    IN ULONG Length,\n    IN BOOLEAN SecondaryBuffer,\n    IN BOOLEAN ChargeQuota,\n    IN OUT PIRP Irp OPTIONAL\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoAttachDevice(\n    IN PDEVICE_OBJECT SourceDevice,\n    IN PUNICODE_STRING TargetDevice,\n    OUT PDEVICE_OBJECT *AttachedDevice\n    );\n\n\nNTKERNELAPI\nPDEVICE_OBJECT\nIoAttachDeviceToDeviceStack(\n    IN PDEVICE_OBJECT SourceDevice,\n    IN PDEVICE_OBJECT TargetDevice\n    );\n\nNTKERNELAPI\nPIRP\nIoBuildAsynchronousFsdRequest(\n    IN ULONG MajorFunction,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PVOID Buffer OPTIONAL,\n    IN ULONG Length OPTIONAL,\n    IN PLARGE_INTEGER StartingOffset OPTIONAL,\n    IN PIO_STATUS_BLOCK IoStatusBlock OPTIONAL\n    );\n\nNTKERNELAPI\nPIRP\nIoBuildDeviceIoControlRequest(\n    IN ULONG IoControlCode,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PVOID InputBuffer OPTIONAL,\n    IN ULONG InputBufferLength,\n    OUT PVOID OutputBuffer OPTIONAL,\n    IN ULONG OutputBufferLength,\n    IN BOOLEAN InternalDeviceIoControl,\n    IN PKEVENT Event,\n    OUT PIO_STATUS_BLOCK IoStatusBlock\n    );\n\nNTKERNELAPI\nVOID\nIoBuildPartialMdl(\n    IN PMDL SourceMdl,\n    IN OUT PMDL TargetMdl,\n    IN PVOID VirtualAddress,\n    IN ULONG Length\n    );\n\ntypedef struct _BOOTDISK_INFORMATION {\n    LONGLONG BootPartitionOffset;\n    LONGLONG SystemPartitionOffset;\n    ULONG BootDeviceSignature;\n    ULONG SystemDeviceSignature;\n} BOOTDISK_INFORMATION, *PBOOTDISK_INFORMATION;\n\n//\n// This structure should follow the previous structure field for field.\n//\ntypedef struct _BOOTDISK_INFORMATION_EX {\n    LONGLONG BootPartitionOffset;\n    LONGLONG SystemPartitionOffset;\n    ULONG BootDeviceSignature;\n    ULONG SystemDeviceSignature;\n    GUID BootDeviceGuid;\n    GUID SystemDeviceGuid;\n    BOOLEAN BootDeviceIsGpt;\n    BOOLEAN SystemDeviceIsGpt;\n} BOOTDISK_INFORMATION_EX, *PBOOTDISK_INFORMATION_EX;\n\nNTKERNELAPI\nNTSTATUS\nIoGetBootDiskInformation(\n    IN OUT PBOOTDISK_INFORMATION BootDiskInformation,\n    IN ULONG Size\n    );\n\n\nNTKERNELAPI\nPIRP\nIoBuildSynchronousFsdRequest(\n    IN ULONG MajorFunction,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PVOID Buffer OPTIONAL,\n    IN ULONG Length OPTIONAL,\n    IN PLARGE_INTEGER StartingOffset OPTIONAL,\n    IN PKEVENT Event,\n    OUT PIO_STATUS_BLOCK IoStatusBlock\n    );\n\nNTKERNELAPI\nNTSTATUS\nFASTCALL\nIofCallDriver(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN OUT PIRP Irp\n    );\n\n#define IoCallDriver(a,b)   \\\n        IofCallDriver(a,b)\n\nNTKERNELAPI\nBOOLEAN\nIoCancelIrp(\n    IN PIRP Irp\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoCheckShareAccess(\n    IN ACCESS_MASK DesiredAccess,\n    IN ULONG DesiredShareAccess,\n    IN OUT PFILE_OBJECT FileObject,\n    IN OUT PSHARE_ACCESS ShareAccess,\n    IN BOOLEAN Update\n    );\n\n//\n// This value should be returned from completion routines to continue\n// completing the IRP upwards. Otherwise, STATUS_MORE_PROCESSING_REQUIRED\n// should be returned.\n//\n#define STATUS_CONTINUE_COMPLETION      STATUS_SUCCESS\n\n//\n// Completion routines can also use this enumeration in place of status codes.\n//\ntypedef enum _IO_COMPLETION_ROUTINE_RESULT {\n\n    ContinueCompletion = STATUS_CONTINUE_COMPLETION,\n    StopCompletion = STATUS_MORE_PROCESSING_REQUIRED\n\n} IO_COMPLETION_ROUTINE_RESULT, *PIO_COMPLETION_ROUTINE_RESULT;\n\nNTKERNELAPI\nVOID\nFASTCALL\nIofCompleteRequest(\n    IN PIRP Irp,\n    IN CCHAR PriorityBoost\n    );\n\n#define IoCompleteRequest(a,b)  \\\n        IofCompleteRequest(a,b)\n\n\n\nNTKERNELAPI\nNTSTATUS\nIoConnectInterrupt(\n    OUT PKINTERRUPT *InterruptObject,\n    IN PKSERVICE_ROUTINE ServiceRoutine,\n    IN PVOID ServiceContext,\n    IN PKSPIN_LOCK SpinLock OPTIONAL,\n    IN ULONG Vector,\n    IN KIRQL Irql,\n    IN KIRQL SynchronizeIrql,\n    IN KINTERRUPT_MODE InterruptMode,\n    IN BOOLEAN ShareVector,\n    IN KAFFINITY ProcessorEnableMask,\n    IN BOOLEAN FloatingSave\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoCreateDevice(\n    IN PDRIVER_OBJECT DriverObject,\n    IN ULONG DeviceExtensionSize,\n    IN PUNICODE_STRING DeviceName OPTIONAL,\n    IN DEVICE_TYPE DeviceType,\n    IN ULONG DeviceCharacteristics,\n    IN BOOLEAN Reserved,\n    OUT PDEVICE_OBJECT *DeviceObject\n    );\n\n#define WDM_MAJORVERSION        0x01\n#define WDM_MINORVERSION        0x20\n\nNTKERNELAPI\nBOOLEAN\nIoIsWdmVersionAvailable(\n    IN UCHAR MajorVersion,\n    IN UCHAR MinorVersion\n    );\n\n\n\nNTKERNELAPI\nNTSTATUS\nIoCreateFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PLARGE_INTEGER AllocationSize OPTIONAL,\n    IN ULONG FileAttributes,\n    IN ULONG ShareAccess,\n    IN ULONG Disposition,\n    IN ULONG CreateOptions,\n    IN PVOID EaBuffer OPTIONAL,\n    IN ULONG EaLength,\n    IN CREATE_FILE_TYPE CreateFileType,\n    IN PVOID ExtraCreateParameters OPTIONAL,\n    IN ULONG Options\n    );\n\n\nNTKERNELAPI\nPKEVENT\nIoCreateNotificationEvent(\n    IN PUNICODE_STRING EventName,\n    OUT PHANDLE EventHandle\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoCreateSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN PUNICODE_STRING DeviceName\n    );\n\nNTKERNELAPI\nPKEVENT\nIoCreateSynchronizationEvent(\n    IN PUNICODE_STRING EventName,\n    OUT PHANDLE EventHandle\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoCreateUnprotectedSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN PUNICODE_STRING DeviceName\n    );\n\n\nNTKERNELAPI\nVOID\nIoDeleteDevice(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoDeleteSymbolicLink(\n    IN PUNICODE_STRING SymbolicLinkName\n    );\n\nNTKERNELAPI\nVOID\nIoDetachDevice(\n    IN OUT PDEVICE_OBJECT TargetDevice\n    );\n\n\n\nNTKERNELAPI\nVOID\nIoDisconnectInterrupt(\n    IN PKINTERRUPT InterruptObject\n    );\n\n\nNTKERNELAPI\nVOID\nIoFreeIrp(\n    IN PIRP Irp\n    );\n\nNTKERNELAPI\nVOID\nIoFreeMdl(\n    IN PMDL Mdl\n    );\n\nNTKERNELAPI                                 \nPDEVICE_OBJECT                              \nIoGetAttachedDeviceReference(               \n    IN PDEVICE_OBJECT DeviceObject          \n    );                                      \n                                            \n\n//++\n//\n// PIO_STACK_LOCATION\n// IoGetCurrentIrpStackLocation(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to return a pointer to the current stack location\n//     in an I/O Request Packet (IRP).\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     The function value is a pointer to the current stack location in the\n//     packet.\n//\n//--\n\n#define IoGetCurrentIrpStackLocation( Irp ) ( (Irp)->Tail.Overlay.CurrentStackLocation )\n\n\nNTKERNELAPI\nPVOID\nIoGetDriverObjectExtension(\n    IN PDRIVER_OBJECT DriverObject,\n    IN PVOID ClientIdentificationAddress\n    );\n\nNTKERNELAPI\nPEPROCESS\nIoGetCurrentProcess(\n    VOID\n    );\n\n\n\nNTKERNELAPI\nNTSTATUS\nIoGetDeviceObjectPointer(\n    IN PUNICODE_STRING ObjectName,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PFILE_OBJECT *FileObject,\n    OUT PDEVICE_OBJECT *DeviceObject\n    );\n\nNTKERNELAPI\nstruct _DMA_ADAPTER *\nIoGetDmaAdapter(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,           \n    IN struct _DEVICE_DESCRIPTION *DeviceDescription,\n    IN OUT PULONG NumberOfMapRegisters\n    );\n\nNTKERNELAPI\nBOOLEAN\nIoForwardIrpSynchronously(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp\n    );\n\n#define IoForwardAndCatchIrp IoForwardIrpSynchronously\n\n\n//++\n//\n// ULONG\n// IoGetFunctionCodeFromCtlCode(\n//     IN ULONG ControlCode\n//     )\n//\n// Routine Description:\n//\n//     This routine extracts the function code from IOCTL and FSCTL function\n//     control codes.\n//     This routine should only be used by kernel mode code.\n//\n// Arguments:\n//\n//     ControlCode - A function control code (IOCTL or FSCTL) from which the\n//         function code must be extracted.\n//\n// Return Value:\n//\n//     The extracted function code.\n//\n// Note:\n//\n//     The CTL_CODE macro, used to create IOCTL and FSCTL function control\n//     codes, is defined in ntioapi.h\n//\n//--\n\n#define IoGetFunctionCodeFromCtlCode( ControlCode ) (\\\n    ( ControlCode >> 2) & 0x00000FFF )\n\n\n\nNTKERNELAPI\nPVOID\nIoGetInitialStack(\n    VOID\n    );\n\nNTKERNELAPI\nVOID\nIoGetStackLimits (\n    OUT PULONG_PTR LowLimit,\n    OUT PULONG_PTR HighLimit\n    );\n\n//\n//  The following function is used to tell the caller how much stack is available\n//\n\nFORCEINLINE\nULONG_PTR\nIoGetRemainingStackSize (\n    VOID\n    )\n{\n    ULONG_PTR Top;\n    ULONG_PTR Bottom;\n\n    IoGetStackLimits( &Bottom, &Top );\n    return((ULONG_PTR)(&Top) - Bottom );\n}\n\n//++\n//\n// PIO_STACK_LOCATION\n// IoGetNextIrpStackLocation(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to return a pointer to the next stack location\n//     in an I/O Request Packet (IRP).\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     The function value is a pointer to the next stack location in the packet.\n//\n//--\n\n#define IoGetNextIrpStackLocation( Irp ) (\\\n    (Irp)->Tail.Overlay.CurrentStackLocation - 1 )\n\nNTKERNELAPI\nPDEVICE_OBJECT\nIoGetRelatedDeviceObject(\n    IN PFILE_OBJECT FileObject\n    );\n\n\n//++\n//\n// VOID\n// IoInitializeDpcRequest(\n//     IN PDEVICE_OBJECT DeviceObject,\n//     IN PIO_DPC_ROUTINE DpcRoutine\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to initialize the DPC in a device object for a\n//     device driver during its initialization routine.  The DPC is used later\n//     when the driver interrupt service routine requests that a DPC routine\n//     be queued for later execution.\n//\n// Arguments:\n//\n//     DeviceObject - Pointer to the device object that the request is for.\n//\n//     DpcRoutine - Address of the driver's DPC routine to be executed when\n//         the DPC is dequeued for processing.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoInitializeDpcRequest( DeviceObject, DpcRoutine ) (\\\n    KeInitializeDpc( &(DeviceObject)->Dpc,                  \\\n                     (PKDEFERRED_ROUTINE) (DpcRoutine),     \\\n                     (DeviceObject) ) )\n\nNTKERNELAPI\nVOID\nIoInitializeIrp(\n    IN OUT PIRP Irp,\n    IN USHORT PacketSize,\n    IN CCHAR StackSize\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoInitializeTimer(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIO_TIMER_ROUTINE TimerRoutine,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nVOID\nIoReuseIrp(\n    IN OUT PIRP Irp,\n    IN NTSTATUS Iostatus\n    );\n\n\n//++\n//\n// BOOLEAN\n// IoIsErrorUserInduced(\n//     IN NTSTATUS Status\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to determine if an error was as a\n//     result of user actions.  Typically these error are related\n//     to removable media and will result in a pop-up.\n//\n// Arguments:\n//\n//     Status - The status value to check.\n//\n// Return Value:\n//     The function value is TRUE if the user induced the error,\n//     otherwise FALSE is returned.\n//\n//--\n#define IoIsErrorUserInduced( Status ) ((BOOLEAN)  \\\n    (((Status) == STATUS_DEVICE_NOT_READY) ||      \\\n     ((Status) == STATUS_IO_TIMEOUT) ||            \\\n     ((Status) == STATUS_MEDIA_WRITE_PROTECTED) || \\\n     ((Status) == STATUS_NO_MEDIA_IN_DEVICE) ||    \\\n     ((Status) == STATUS_VERIFY_REQUIRED) ||       \\\n     ((Status) == STATUS_UNRECOGNIZED_MEDIA) ||    \\\n     ((Status) == STATUS_WRONG_VOLUME)))\n\n\n//++\n//\n// VOID\n// IoMarkIrpPending(\n//     IN OUT PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine marks the specified I/O Request Packet (IRP) to indicate\n//     that an initial status of STATUS_PENDING was returned to the caller.\n//     This is used so that I/O completion can determine whether or not to\n//     fully complete the I/O operation requested by the packet.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet to be marked pending.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoMarkIrpPending( Irp ) ( \\\n    IoGetCurrentIrpStackLocation( (Irp) )->Control |= SL_PENDING_RETURNED )\n\n\nNTKERNELAPI\nVOID\nIoReleaseCancelSpinLock(\n    IN KIRQL Irql\n    );\n\n\n//++\n//\n// VOID\n// IoRequestDpc(\n//     IN PDEVICE_OBJECT DeviceObject,\n//     IN PIRP Irp,\n//     IN PVOID Context\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked by the device driver's interrupt service routine\n//     to request that a DPC routine be queued for later execution at a lower\n//     IRQL.\n//\n// Arguments:\n//\n//     DeviceObject - Device object for which the request is being processed.\n//\n//     Irp - Pointer to the current I/O Request Packet (IRP) for the specified\n//         device.\n//\n//     Context - Provides a general context parameter to be passed to the\n//         DPC routine.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoRequestDpc( DeviceObject, Irp, Context ) ( \\\n    KeInsertQueueDpc( &(DeviceObject)->Dpc, (Irp), (Context) ) )\n\n//++\n//\n// PDRIVER_CANCEL\n// IoSetCancelRoutine(\n//     IN PIRP Irp,\n//     IN PDRIVER_CANCEL CancelRoutine\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the address of a cancel routine which\n//     is to be invoked when an I/O packet has been canceled.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet itself.\n//\n//     CancelRoutine - Address of the cancel routine that is to be invoked\n//         if the IRP is cancelled.\n//\n// Return Value:\n//\n//     Previous value of CancelRoutine field in the IRP.\n//\n//--\n\n#define IoSetCancelRoutine( Irp, NewCancelRoutine ) (  \\\n    (PDRIVER_CANCEL) InterlockedExchangePointer( (PVOID *) &(Irp)->CancelRoutine, (PVOID) (NewCancelRoutine) ) )\n\n//++\n//\n// VOID\n// IoSetCompletionRoutine(\n//     IN PIRP Irp,\n//     IN PIO_COMPLETION_ROUTINE CompletionRoutine,\n//     IN PVOID Context,\n//     IN BOOLEAN InvokeOnSuccess,\n//     IN BOOLEAN InvokeOnError,\n//     IN BOOLEAN InvokeOnCancel\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the address of a completion routine which\n//     is to be invoked when an I/O packet has been completed by a lower-level\n//     driver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet itself.\n//\n//     CompletionRoutine - Address of the completion routine that is to be\n//         invoked once the next level driver completes the packet.\n//\n//     Context - Specifies a context parameter to be passed to the completion\n//         routine.\n//\n//     InvokeOnSuccess - Specifies that the completion routine is invoked when the\n//         operation is successfully completed.\n//\n//     InvokeOnError - Specifies that the completion routine is invoked when the\n//         operation completes with an error status.\n//\n//     InvokeOnCancel - Specifies that the completion routine is invoked when the\n//         operation is being canceled.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoSetCompletionRoutine( Irp, Routine, CompletionContext, Success, Error, Cancel ) { \\\n    PIO_STACK_LOCATION __irpSp;                                               \\\n    ASSERT( (Success) | (Error) | (Cancel) ? (Routine) != NULL : TRUE );    \\\n    __irpSp = IoGetNextIrpStackLocation( (Irp) );                             \\\n    __irpSp->CompletionRoutine = (Routine);                                   \\\n    __irpSp->Context = (CompletionContext);                                   \\\n    __irpSp->Control = 0;                                                     \\\n    if ((Success)) { __irpSp->Control = SL_INVOKE_ON_SUCCESS; }               \\\n    if ((Error)) { __irpSp->Control |= SL_INVOKE_ON_ERROR; }                  \\\n    if ((Cancel)) { __irpSp->Control |= SL_INVOKE_ON_CANCEL; } }\n\nNTSTATUS\nIoSetCompletionRoutineEx(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PIO_COMPLETION_ROUTINE CompletionRoutine,\n    IN PVOID Context,\n    IN BOOLEAN InvokeOnSuccess,\n    IN BOOLEAN InvokeOnError,\n    IN BOOLEAN InvokeOnCancel\n    );\n\n\n\n//++\n//\n// VOID\n// IoSetNextIrpStackLocation (\n//     IN OUT PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to set the current IRP stack location to\n//     the next stack location, i.e. it \"pushes\" the stack.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet (IRP).\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoSetNextIrpStackLocation( Irp ) {      \\\n    (Irp)->CurrentLocation--;                   \\\n    (Irp)->Tail.Overlay.CurrentStackLocation--; }\n\n//++\n//\n// VOID\n// IoCopyCurrentIrpStackLocationToNext(\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to copy the IRP stack arguments and file\n//     pointer from the current IrpStackLocation to the next\n//     in an I/O Request Packet (IRP).\n//\n//     If the caller wants to call IoCallDriver with a completion routine\n//     but does not wish to change the arguments otherwise,\n//     the caller first calls IoCopyCurrentIrpStackLocationToNext,\n//     then IoSetCompletionRoutine, then IoCallDriver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     None.\n//\n//--\n\n#define IoCopyCurrentIrpStackLocationToNext( Irp ) { \\\n    PIO_STACK_LOCATION __irpSp; \\\n    PIO_STACK_LOCATION __nextIrpSp; \\\n    __irpSp = IoGetCurrentIrpStackLocation( (Irp) ); \\\n    __nextIrpSp = IoGetNextIrpStackLocation( (Irp) ); \\\n    RtlCopyMemory( __nextIrpSp, __irpSp, FIELD_OFFSET(IO_STACK_LOCATION, CompletionRoutine)); \\\n    __nextIrpSp->Control = 0; }\n\n//++\n//\n// VOID\n// IoSkipCurrentIrpStackLocation (\n//     IN PIRP Irp\n//     )\n//\n// Routine Description:\n//\n//     This routine is invoked to increment the current stack location of\n//     a given IRP.\n//\n//     If the caller wishes to call the next driver in a stack, and does not\n//     wish to change the arguments, nor does he wish to set a completion\n//     routine, then the caller first calls IoSkipCurrentIrpStackLocation\n//     and the calls IoCallDriver.\n//\n// Arguments:\n//\n//     Irp - Pointer to the I/O Request Packet.\n//\n// Return Value:\n//\n//     None\n//\n//--\n\n#define IoSkipCurrentIrpStackLocation( Irp ) { \\\n    (Irp)->CurrentLocation++; \\\n    (Irp)->Tail.Overlay.CurrentStackLocation++; }\n\n\nNTKERNELAPI\nVOID\nIoSetShareAccess(\n    IN ACCESS_MASK DesiredAccess,\n    IN ULONG DesiredShareAccess,\n    IN OUT PFILE_OBJECT FileObject,\n    OUT PSHARE_ACCESS ShareAccess\n    );\n\n\n\ntypedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK * PIO_REMOVE_LOCK_TRACKING_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {\n    BOOLEAN     Removed;\n    BOOLEAN     Reserved [3];\n    LONG        IoCount;\n    KEVENT      RemoveEvent;\n\n} IO_REMOVE_LOCK_COMMON_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK_DBG_BLOCK {\n    LONG        Signature;\n    LONG        HighWatermark;\n    LONGLONG    MaxLockedTicks;\n    LONG        AllocateTag;\n    LIST_ENTRY  LockList;\n    KSPIN_LOCK  Spin;\n    LONG        LowMemoryCount;\n    ULONG       Reserved1[4];\n    PVOID       Reserved2;\n    PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;\n} IO_REMOVE_LOCK_DBG_BLOCK;\n\ntypedef struct _IO_REMOVE_LOCK {\n    IO_REMOVE_LOCK_COMMON_BLOCK Common;\n#if DBG\n    IO_REMOVE_LOCK_DBG_BLOCK Dbg;\n#endif\n} IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;\n\n#define IoInitializeRemoveLock(Lock, Tag, Maxmin, HighWater) \\\n        IoInitializeRemoveLockEx (Lock, Tag, Maxmin, HighWater, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoInitializeRemoveLockEx(\n    IN  PIO_REMOVE_LOCK Lock,\n    IN  ULONG   AllocateTag, // Used only on checked kernels\n    IN  ULONG   MaxLockedMinutes, // Used only on checked kernels\n    IN  ULONG   HighWatermark, // Used only on checked kernels\n    IN  ULONG   RemlockSize // are we checked or free\n    );\n//\n//  Initialize a remove lock.\n//\n//  Note: Allocation for remove locks needs to be within the device extension,\n//  so that the memory for this structure stays allocated until such time as the\n//  device object itself is deallocated.\n//\n\n#define IoAcquireRemoveLock(RemoveLock, Tag) \\\n        IoAcquireRemoveLockEx(RemoveLock, Tag, __FILE__, __LINE__, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nIoAcquireRemoveLockEx (\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN OPTIONAL PVOID   Tag, // Optional\n    IN PCSTR            File,\n    IN ULONG            Line,\n    IN ULONG            RemlockSize // are we checked or free\n    );\n\n//\n// Routine Description:\n//\n//    This routine is called to acquire the remove lock for a device object.\n//    While the lock is held, the caller can assume that no pending pnp REMOVE\n//    requests will be completed.\n//\n//    The lock should be acquired immediately upon entering a dispatch routine.\n//    It should also be acquired before creating any new reference to the\n//    device object if there's a chance of releasing the reference before the\n//    new one is done, in addition to references to the driver code itself,\n//    which is removed from memory when the last device object goes.\n//\n//    Arguments:\n//\n//    RemoveLock - A pointer to an initialized REMOVE_LOCK structure.\n//\n//    Tag - Used for tracking lock allocation and release.  The same tag\n//          specified when acquiring the lock must be used to release the lock.\n//          Tags are only checked in checked versions of the driver.\n//\n//    File - set to __FILE__ as the location in the code where the lock was taken.\n//\n//    Line - set to __LINE__.\n//\n// Return Value:\n//\n//    Returns whether or not the remove lock was obtained.\n//    If successful the caller should continue with work calling\n//    IoReleaseRemoveLock when finished.\n//\n//    If not successful the lock was not obtained.  The caller should abort the\n//    work but not call IoReleaseRemoveLock.\n//\n\n#define IoReleaseRemoveLock(RemoveLock, Tag) \\\n        IoReleaseRemoveLockEx(RemoveLock, Tag, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoReleaseRemoveLockEx(\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN PVOID            Tag, // Optional\n    IN ULONG            RemlockSize // are we checked or free\n    );\n//\n//\n// Routine Description:\n//\n//    This routine is called to release the remove lock on the device object.  It\n//    must be called when finished using a previously locked reference to the\n//    device object.  If an Tag was specified when acquiring the lock then the\n//    same Tag must be specified when releasing the lock.\n//\n//    When the lock count reduces to zero, this routine will signal the waiting\n//    event to release the waiting thread deleting the device object protected\n//    by this lock.\n//\n// Arguments:\n//\n//    DeviceObject - the device object to lock\n//\n//    Tag - The TAG (if any) specified when acquiring the lock.  This is used\n//          for lock tracking purposes\n//\n// Return Value:\n//\n//    none\n//\n\n#define IoReleaseRemoveLockAndWait(RemoveLock, Tag) \\\n        IoReleaseRemoveLockAndWaitEx(RemoveLock, Tag, sizeof (IO_REMOVE_LOCK))\n\nNTSYSAPI\nVOID\nNTAPI\nIoReleaseRemoveLockAndWaitEx(\n    IN PIO_REMOVE_LOCK RemoveLock,\n    IN PVOID            Tag,\n    IN ULONG            RemlockSize // are we checked or free\n    );\n//\n//\n// Routine Description:\n//\n//    This routine is called when the client would like to delete the\n//    remove-locked resource.  This routine will block until all the remove\n//    locks have released.\n//\n//    This routine MUST be called after acquiring the lock.\n//\n// Arguments:\n//\n//    RemoveLock\n//\n// Return Value:\n//\n//    none\n//\n\n\n//++\n//\n// USHORT\n// IoSizeOfIrp(\n//     IN CCHAR StackSize\n//     )\n//\n// Routine Description:\n//\n//     Determines the size of an IRP given the number of stack locations\n//     the IRP will have.\n//\n// Arguments:\n//\n//     StackSize - Number of stack locations for the IRP.\n//\n// Return Value:\n//\n//     Size in bytes of the IRP.\n//\n//--\n\n#define IoSizeOfIrp( StackSize ) \\\n    ((USHORT) (sizeof( IRP ) + ((StackSize) * (sizeof( IO_STACK_LOCATION )))))\n\n\n\n\nNTKERNELAPI\nVOID\nIoStartNextPacket(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN Cancelable\n    );\n\nNTKERNELAPI\nVOID\nIoStartNextPacketByKey(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN Cancelable,\n    IN ULONG Key\n    );\n\nNTKERNELAPI\nVOID\nIoStartPacket(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PIRP Irp,\n    IN PULONG Key OPTIONAL,\n    IN PDRIVER_CANCEL CancelFunction OPTIONAL\n    );\n\nVOID\nIoSetStartIoAttributes(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN BOOLEAN DeferredStartIo,\n    IN BOOLEAN NonCancelable\n    );\n\n\n\nNTKERNELAPI\nVOID\nIoStartTimer(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI\nVOID\nIoStopTimer(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\n\nNTKERNELAPI\nVOID\nIoUnregisterShutdownNotification(\n    IN PDEVICE_OBJECT DeviceObject\n    );\n\nNTKERNELAPI                                     \nVOID                                            \nIoWriteErrorLogEntry(                           \n    IN PVOID ElEntry                            \n    );                                          \n\ntypedef struct _IO_WORKITEM *PIO_WORKITEM;\n\ntypedef\nVOID\n(*PIO_WORKITEM_ROUTINE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PVOID Context\n    );\n\nPIO_WORKITEM\nIoAllocateWorkItem(\n    PDEVICE_OBJECT DeviceObject\n    );\n\nVOID\nIoFreeWorkItem(\n    PIO_WORKITEM IoWorkItem\n    );\n\nVOID\nIoQueueWorkItem(\n    IN PIO_WORKITEM IoWorkItem,\n    IN PIO_WORKITEM_ROUTINE WorkerRoutine,\n    IN WORK_QUEUE_TYPE QueueType,\n    IN PVOID Context\n    );\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIRegistrationControl(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG Action\n);\n\n//\n// Action code for IoWMIRegistrationControl api\n//\n\n#define WMIREG_ACTION_REGISTER      1\n#define WMIREG_ACTION_DEREGISTER    2\n#define WMIREG_ACTION_REREGISTER    3\n#define WMIREG_ACTION_UPDATE_GUIDS  4\n#define WMIREG_ACTION_BLOCK_IRPS    5\n\n//\n// Code passed in IRP_MN_REGINFO WMI irp\n//\n\n#define WMIREGISTER                 0\n#define WMIUPDATE                   1\n\nNTKERNELAPI\nNTSTATUS\nIoWMIAllocateInstanceIds(\n    IN GUID *Guid,\n    IN ULONG InstanceCount,\n    OUT ULONG *FirstInstanceId\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISuggestInstanceName(\n    IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,\n    IN PUNICODE_STRING SymbolicLinkName OPTIONAL,\n    IN BOOLEAN CombineNames,\n    OUT PUNICODE_STRING SuggestedInstanceName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIWriteEvent(\n    IN PVOID WnodeEventItem\n    );\n\n#if defined(_WIN64)\nNTKERNELAPI\nULONG IoWMIDeviceObjectToProviderId(\n    PDEVICE_OBJECT DeviceObject\n    );\n#else\n#define IoWMIDeviceObjectToProviderId(DeviceObject) ((ULONG)(DeviceObject))\n#endif\n\nNTKERNELAPI\nNTSTATUS IoWMIOpenBlock(\n    IN GUID *DataBlockGuid,\n    IN ULONG DesiredAccess,\n    OUT PVOID *DataBlockObject\n    );\n\n\nNTKERNELAPI\nNTSTATUS IoWMIQueryAllData(\n    IN PVOID DataBlockObject,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQueryAllDataMultiple(\n    IN PVOID *DataBlockObjectList,\n    IN ULONG ObjectCount,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQuerySingleInstance(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\nNTKERNELAPI\nNTSTATUS\nIoWMIQuerySingleInstanceMultiple(\n    IN PVOID *DataBlockObjectList,\n    IN PUNICODE_STRING InstanceNames,\n    IN ULONG ObjectCount,\n    IN OUT ULONG *InOutBufferSize,\n    OUT /* non paged */ PVOID OutBuffer\n);\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetSingleInstance(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG Version,\n    IN ULONG ValueBufferSize,\n    IN PVOID ValueBuffer\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetSingleItem(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG DataItemId,\n    IN ULONG Version,\n    IN ULONG ValueBufferSize,\n    IN PVOID ValueBuffer\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIExecuteMethod(\n    IN PVOID DataBlockObject,\n    IN PUNICODE_STRING InstanceName,\n    IN ULONG MethodId,\n    IN ULONG InBufferSize,\n    IN OUT PULONG OutBufferSize,\n    IN OUT PUCHAR InOutBuffer\n    );\n\n\n\ntypedef VOID (*WMI_NOTIFICATION_CALLBACK)(\n    PVOID Wnode,\n    PVOID Context\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMISetNotificationCallback(\n    IN PVOID Object,\n    IN WMI_NOTIFICATION_CALLBACK Callback,\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIHandleToInstanceName(\n    IN PVOID DataBlockObject,\n    IN HANDLE FileHandle,\n    OUT PUNICODE_STRING InstanceName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoWMIDeviceObjectToInstanceName(\n    IN PVOID DataBlockObject,\n    IN PDEVICE_OBJECT DeviceObject,\n    OUT PUNICODE_STRING InstanceName\n    );\n\n#if defined(_WIN64)\nBOOLEAN\nIoIs32bitProcess(\n    IN PIRP Irp\n    );\n#endif\nVOID\nIoFreeErrorLogEntry(\n    PVOID ElEntry\n    );\n\n// Cancel SAFE API set start\n//\n// The following APIs are to help ease the pain of writing queue packages that\n// handle the cancellation race well. The idea of this set of APIs is to not\n// force a single queue data structure but allow the cancel logic to be hidden\n// from the drivers. A driver implements a queue and as part of its header\n// includes the IO_CSQ structure. In its initialization routine it calls\n// IoInitializeCsq. Then in the dispatch routine when the driver wants to\n// insert an IRP into the queue it calls IoCsqInsertIrp. When the driver wants\n// to remove something from the queue it calls IoCsqRemoveIrp. Note that Insert\n// can fail if the IRP was cancelled in the meantime. Remove can also fail if\n// the IRP was already cancelled.\n//\n// There are typically two modes where drivers queue IRPs. These two modes are\n// covered by the cancel safe queue API set.\n//\n// Mode 1:\n// One is where the driver queues the IRP and at some later\n// point in time dequeues an IRP and issues the IO request.\n// For this mode the driver should use IoCsqInsertIrp and IoCsqRemoveNextIrp.\n// The driver in this case is expected to pass NULL to the irp context\n// parameter in IoInsertIrp.\n//\n// Mode 2:\n// In this the driver queues theIRP, issues the IO request (like issuing a DMA\n// request or writing to a register) and when the IO request completes (either\n// using a DPC or timer) the driver dequeues the IRP and completes it. For this\n// mode the driver should use IoCsqInsertIrp and IoCsqRemoveIrp. In this case\n// the driver should allocate an IRP context and pass it in to IoCsqInsertIrp.\n// The cancel API code creates an association between the IRP and the context\n// and thus ensures that when the time comes to remove the IRP it can ascertain\n// correctly.\n//\n// Note that the cancel API set assumes that the field DriverContext[3] is\n// always available for use and that the driver does not use it.\n//\n\n\n//\n// Bookkeeping structure. This should be opaque to drivers.\n// Drivers typically include this as part of their queue headers.\n// Given a CSQ pointer the driver should be able to get its\n// queue header using CONTAINING_RECORD macro\n//\n\ntypedef struct _IO_CSQ IO_CSQ, *PIO_CSQ;\n\n#define IO_TYPE_CSQ_IRP_CONTEXT 1\n#define IO_TYPE_CSQ             2\n\n//\n// IRP context structure. This structure is necessary if the driver is using\n// the second mode.\n//\n\n\ntypedef struct _IO_CSQ_IRP_CONTEXT {\n    ULONG   Type;\n    PIRP    Irp;\n    PIO_CSQ Csq;\n} IO_CSQ_IRP_CONTEXT, *PIO_CSQ_IRP_CONTEXT;\n\n//\n// Routines that insert/remove IRP\n//\n\ntypedef VOID\n(*PIO_CSQ_INSERT_IRP)(\n    IN struct _IO_CSQ    *Csq,\n    IN PIRP              Irp\n    );\n\ntypedef VOID\n(*PIO_CSQ_REMOVE_IRP)(\n    IN  PIO_CSQ Csq,\n    IN  PIRP    Irp\n    );\n\n//\n// Retrieves next entry after Irp from the queue.\n// Returns NULL if there are no entries in the queue.\n// If Irp is NUL, returns the entry in the head of the queue.\n// This routine does not remove the IRP from the queue.\n//\n\n\ntypedef PIRP\n(*PIO_CSQ_PEEK_NEXT_IRP)(\n    IN  PIO_CSQ Csq,\n    IN  PIRP    Irp,\n    IN  PVOID   PeekContext\n    );\n\n//\n// Lock routine that protects the cancel safe queue.\n//\n\ntypedef VOID\n(*PIO_CSQ_ACQUIRE_LOCK)(\n     IN  PIO_CSQ Csq,\n     OUT PKIRQL  Irql\n     );\n\ntypedef VOID\n(*PIO_CSQ_RELEASE_LOCK)(\n     IN PIO_CSQ Csq,\n     IN KIRQL   Irql\n     );\n\n\n//\n// Completes the IRP with STATUS_CANCELLED. IRP is guaranteed to be valid\n// In most cases this routine just calls IoCompleteRequest(Irp, STATUS_CANCELLED);\n//\n\ntypedef VOID\n(*PIO_CSQ_COMPLETE_CANCELED_IRP)(\n    IN  PIO_CSQ    Csq,\n    IN  PIRP       Irp\n    );\n\n//\n// Bookkeeping structure. This should be opaque to drivers.\n// Drivers typically include this as part of their queue headers.\n// Given a CSQ pointer the driver should be able to get its\n// queue header using CONTAINING_RECORD macro\n//\n\ntypedef struct _IO_CSQ {\n    ULONG                            Type;\n    PIO_CSQ_INSERT_IRP               CsqInsertIrp;\n    PIO_CSQ_REMOVE_IRP               CsqRemoveIrp;\n    PIO_CSQ_PEEK_NEXT_IRP            CsqPeekNextIrp;\n    PIO_CSQ_ACQUIRE_LOCK             CsqAcquireLock;\n    PIO_CSQ_RELEASE_LOCK             CsqReleaseLock;\n    PIO_CSQ_COMPLETE_CANCELED_IRP    CsqCompleteCanceledIrp;\n    PVOID                            ReservePointer;    // Future expansion\n} IO_CSQ, *PIO_CSQ;\n\n//\n// Initializes the cancel queue structure.\n//\n\nNTSTATUS\nIoCsqInitialize(\n    IN PIO_CSQ                          Csq,\n    IN PIO_CSQ_INSERT_IRP               CsqInsertIrp,\n    IN PIO_CSQ_REMOVE_IRP               CsqRemoveIrp,\n    IN PIO_CSQ_PEEK_NEXT_IRP            CsqPeekNextIrp,\n    IN PIO_CSQ_ACQUIRE_LOCK             CsqAcquireLock,\n    IN PIO_CSQ_RELEASE_LOCK             CsqReleaseLock,\n    IN PIO_CSQ_COMPLETE_CANCELED_IRP    CsqCompleteCanceledIrp\n    );\n\n\n//\n// The caller calls this routine to insert the IRP and return STATUS_PENDING.\n//\n\nVOID\nIoCsqInsertIrp(\n    IN  PIO_CSQ             Csq,\n    IN  PIRP                Irp,\n    IN  PIO_CSQ_IRP_CONTEXT Context\n    );\n\n//\n// Returns an IRP if one can be found. NULL otherwise.\n//\n\nPIRP\nIoCsqRemoveNextIrp(\n    IN  PIO_CSQ   Csq,\n    IN  PVOID     PeekContext\n    );\n\n//\n// This routine is called from timeout or DPCs.\n// The context is presumably part of the DPC or timer context.\n// If succesfull returns the IRP associated with context.\n//\n\nPIRP\nIoCsqRemoveIrp(\n    IN  PIO_CSQ             Csq,\n    IN  PIO_CSQ_IRP_CONTEXT Context\n    );\n\n// Cancel SAFE API set end\n\n\n#ifdef RUN_WPP\n#include <evntrace.h>\n#include <stdarg.h>\n#endif // #ifdef RUN_WPP\n\n#ifdef RUN_WPP\n\nNTKERNELAPI\nNTSTATUS\nWmiTraceMessage(\n    IN TRACEHANDLE  LoggerHandle,\n    IN ULONG        MessageFlags,\n    IN LPGUID       MessageGuid,\n    IN USHORT       MessageNumber,\n    IN ...\n    );\n\nNTKERNELAPI\nNTSTATUS\nWmiTraceMessageVa(\n    IN TRACEHANDLE  LoggerHandle,\n    IN ULONG        MessageFlags,\n    IN LPGUID       MessageGuid,\n    IN USHORT       MessageNumber,\n    IN va_list      MessageArgList\n    );\n\n\n#endif // #ifdef RUN_WPP\n\n#ifndef TRACE_INFORMATION_CLASS_DEFINE\ntypedef enum _TRACE_INFORMATION_CLASS {\n    TraceIdClass,\n    TraceHandleClass,\n    TraceEnableFlagsClass,\n    TraceEnableLevelClass,\n    GlobalLoggerHandleClass,\n    EventLoggerHandleClass,\n    AllLoggerHandlesClass,\n    TraceHandleByNameClass\n} TRACE_INFORMATION_CLASS;\n\nNTKERNELAPI\nNTSTATUS\nWmiQueryTraceInformation(\n    IN TRACE_INFORMATION_CLASS TraceInformationClass,\n    OUT PVOID TraceInformation,\n    IN ULONG TraceInformationLength,\n    OUT PULONG RequiredLength OPTIONAL,\n    IN PVOID Buffer OPTIONAL\n    );\n#define TRACE_INFORMATION_CLASS_DEFINE\n#endif // TRACE_INFOPRMATION_CLASS_DEFINE\n\n\n//\n// Define PnP Device Property for IoGetDeviceProperty\n//\n\ntypedef enum {\n    DevicePropertyDeviceDescription,\n    DevicePropertyHardwareID,\n    DevicePropertyCompatibleIDs,\n    DevicePropertyBootConfiguration,\n    DevicePropertyBootConfigurationTranslated,\n    DevicePropertyClassName,\n    DevicePropertyClassGuid,\n    DevicePropertyDriverKeyName,\n    DevicePropertyManufacturer,\n    DevicePropertyFriendlyName,\n    DevicePropertyLocationInformation,\n    DevicePropertyPhysicalDeviceObjectName,\n    DevicePropertyBusTypeGuid,\n    DevicePropertyLegacyBusType,\n    DevicePropertyBusNumber,\n    DevicePropertyEnumeratorName,\n    DevicePropertyAddress,\n    DevicePropertyUINumber,\n    DevicePropertyInstallState,\n    DevicePropertyRemovalPolicy\n} DEVICE_REGISTRY_PROPERTY;\n\ntypedef BOOLEAN (*PTRANSLATE_BUS_ADDRESS)(\n    IN PVOID Context,\n    IN PHYSICAL_ADDRESS BusAddress,\n    IN ULONG Length,\n    IN OUT PULONG AddressSpace,\n    OUT PPHYSICAL_ADDRESS TranslatedAddress\n    );\n\ntypedef struct _DMA_ADAPTER *(*PGET_DMA_ADAPTER)(\n    IN PVOID Context,\n    IN struct _DEVICE_DESCRIPTION *DeviceDescriptor,\n    OUT PULONG NumberOfMapRegisters\n    );\n\ntypedef ULONG (*PGET_SET_DEVICE_DATA)(\n    IN PVOID Context,\n    IN ULONG DataType,\n    IN PVOID Buffer,\n    IN ULONG Offset,\n    IN ULONG Length\n    );\n\ntypedef enum _DEVICE_INSTALL_STATE {\n    InstallStateInstalled,\n    InstallStateNeedsReinstall,\n    InstallStateFailedInstall,\n    InstallStateFinishInstall\n} DEVICE_INSTALL_STATE, *PDEVICE_INSTALL_STATE;\n\n//\n// Define structure returned in response to IRP_MN_QUERY_BUS_INFORMATION by a\n// PDO indicating the type of bus the device exists on.\n//\n\ntypedef struct _PNP_BUS_INFORMATION {\n    GUID BusTypeGuid;\n    INTERFACE_TYPE LegacyBusType;\n    ULONG BusNumber;\n} PNP_BUS_INFORMATION, *PPNP_BUS_INFORMATION;\n\n//\n// Define structure returned in response to IRP_MN_QUERY_LEGACY_BUS_INFORMATION\n// by an FDO indicating the type of bus it is.  This is normally the same bus\n// type as the device's children (i.e., as retrieved from the child PDO's via\n// IRP_MN_QUERY_BUS_INFORMATION) except for cases like CardBus, which can\n// support both 16-bit (PCMCIABus) and 32-bit (PCIBus) cards.\n//\n\ntypedef struct _LEGACY_BUS_INFORMATION {\n    GUID BusTypeGuid;\n    INTERFACE_TYPE LegacyBusType;\n    ULONG BusNumber;\n} LEGACY_BUS_INFORMATION, *PLEGACY_BUS_INFORMATION;\n\n//\n// Defines for IoGetDeviceProperty(DevicePropertyRemovalPolicy).\n//\ntypedef enum _DEVICE_REMOVAL_POLICY {\n\n    RemovalPolicyExpectNoRemoval = 1,\n    RemovalPolicyExpectOrderlyRemoval = 2,\n    RemovalPolicyExpectSurpriseRemoval = 3\n\n} DEVICE_REMOVAL_POLICY, *PDEVICE_REMOVAL_POLICY;\n\n\n\ntypedef struct _BUS_INTERFACE_STANDARD {\n    //\n    // generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    //\n    // standard bus interfaces\n    //\n    PTRANSLATE_BUS_ADDRESS TranslateBusAddress;\n    PGET_DMA_ADAPTER GetDmaAdapter;\n    PGET_SET_DEVICE_DATA SetBusData;\n    PGET_SET_DEVICE_DATA GetBusData;\n\n} BUS_INTERFACE_STANDARD, *PBUS_INTERFACE_STANDARD;\n\n//\n// The following definitions are used in ACPI QueryInterface\n//\ntypedef BOOLEAN (* PGPE_SERVICE_ROUTINE) (\n                            PVOID,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_CONNECT_VECTOR) (\n                            PDEVICE_OBJECT,\n                            ULONG,\n                            KINTERRUPT_MODE,\n                            BOOLEAN,\n                            PGPE_SERVICE_ROUTINE,\n                            PVOID,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_DISCONNECT_VECTOR) (\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_ENABLE_EVENT) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_DISABLE_EVENT) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef NTSTATUS (* PGPE_CLEAR_STATUS) (\n                            PDEVICE_OBJECT,\n                            PVOID);\n\ntypedef VOID (* PDEVICE_NOTIFY_CALLBACK) (\n                            PVOID,\n                            ULONG);\n\ntypedef NTSTATUS (* PREGISTER_FOR_DEVICE_NOTIFICATIONS) (\n                            PDEVICE_OBJECT,\n                            PDEVICE_NOTIFY_CALLBACK,\n                            PVOID);\n\ntypedef void (* PUNREGISTER_FOR_DEVICE_NOTIFICATIONS) (\n                            PDEVICE_OBJECT,\n                            PDEVICE_NOTIFY_CALLBACK);\n\ntypedef struct _ACPI_INTERFACE_STANDARD {\n    //\n    // Generic interface header\n    //\n    USHORT                  Size;\n    USHORT                  Version;\n    PVOID                   Context;\n    PINTERFACE_REFERENCE    InterfaceReference;\n    PINTERFACE_DEREFERENCE  InterfaceDereference;\n    //\n    // ACPI interfaces\n    //\n    PGPE_CONNECT_VECTOR                     GpeConnectVector;\n    PGPE_DISCONNECT_VECTOR                  GpeDisconnectVector;\n    PGPE_ENABLE_EVENT                       GpeEnableEvent;\n    PGPE_DISABLE_EVENT                      GpeDisableEvent;\n    PGPE_CLEAR_STATUS                       GpeClearStatus;\n    PREGISTER_FOR_DEVICE_NOTIFICATIONS      RegisterForDeviceNotifications;\n    PUNREGISTER_FOR_DEVICE_NOTIFICATIONS    UnregisterForDeviceNotifications;\n\n} ACPI_INTERFACE_STANDARD, *PACPI_INTERFACE_STANDARD;\n\n\nNTKERNELAPI\nVOID\nIoInvalidateDeviceRelations(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN DEVICE_RELATION_TYPE Type\n    );\n\nNTKERNELAPI\nVOID\nIoRequestDeviceEject(\n    IN PDEVICE_OBJECT PhysicalDeviceObject\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoGetDeviceProperty(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN DEVICE_REGISTRY_PROPERTY DeviceProperty,\n    IN ULONG BufferLength,\n    OUT PVOID PropertyBuffer,\n    OUT PULONG ResultLength\n    );\n\n//\n// The following definitions are used in IoOpenDeviceRegistryKey\n//\n\n#define PLUGPLAY_REGKEY_DEVICE  1\n#define PLUGPLAY_REGKEY_DRIVER  2\n#define PLUGPLAY_REGKEY_CURRENT_HWPROFILE 4\n\nNTKERNELAPI\nNTSTATUS\nIoOpenDeviceRegistryKey(\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG DevInstKeyType,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PHANDLE DevInstRegKey\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoRegisterDeviceInterface(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN CONST GUID *InterfaceClassGuid,\n    IN PUNICODE_STRING ReferenceString,     OPTIONAL\n    OUT PUNICODE_STRING SymbolicLinkName\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoOpenDeviceInterfaceRegistryKey(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN ACCESS_MASK DesiredAccess,\n    OUT PHANDLE DeviceInterfaceKey\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoSetDeviceInterfaceState(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN BOOLEAN Enable\n    );\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoGetDeviceInterfaces(\n    IN CONST GUID *InterfaceClassGuid,\n    IN PDEVICE_OBJECT PhysicalDeviceObject OPTIONAL,\n    IN ULONG Flags,\n    OUT PWSTR *SymbolicLinkList\n    );\n\n#define DEVICE_INTERFACE_INCLUDE_NONACTIVE   0x00000001\n\nNTKERNELAPI\nNTSTATUS\nNTAPI\nIoGetDeviceInterfaceAlias(\n    IN PUNICODE_STRING SymbolicLinkName,\n    IN CONST GUID *AliasInterfaceClassGuid,\n    OUT PUNICODE_STRING AliasSymbolicLinkName\n    );\n\n//\n// Define PnP notification event categories\n//\n\ntypedef enum _IO_NOTIFICATION_EVENT_CATEGORY {\n    EventCategoryReserved,\n    EventCategoryHardwareProfileChange,\n    EventCategoryDeviceInterfaceChange,\n    EventCategoryTargetDeviceChange\n} IO_NOTIFICATION_EVENT_CATEGORY;\n\n//\n// Define flags that modify the behavior of IoRegisterPlugPlayNotification\n// for the various event categories...\n//\n\n#define PNPNOTIFY_DEVICE_INTERFACE_INCLUDE_EXISTING_INTERFACES    0x00000001\n\ntypedef\nNTSTATUS\n(*PDRIVER_NOTIFICATION_CALLBACK_ROUTINE) (\n    IN PVOID NotificationStructure,\n    IN PVOID Context\n);\n\n\nNTKERNELAPI\nNTSTATUS\nIoRegisterPlugPlayNotification(\n    IN IO_NOTIFICATION_EVENT_CATEGORY EventCategory,\n    IN ULONG EventCategoryFlags,\n    IN PVOID EventCategoryData OPTIONAL,\n    IN PDRIVER_OBJECT DriverObject,\n    IN PDRIVER_NOTIFICATION_CALLBACK_ROUTINE CallbackRoutine,\n    IN PVOID Context,\n    OUT PVOID *NotificationEntry\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoUnregisterPlugPlayNotification(\n    IN PVOID NotificationEntry\n    );\n\nNTKERNELAPI\nNTSTATUS\nIoReportTargetDeviceChange(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN PVOID NotificationStructure  // always begins with a PLUGPLAY_NOTIFICATION_HEADER\n    );\n\ntypedef\nVOID\n(*PDEVICE_CHANGE_COMPLETE_CALLBACK)(\n    IN PVOID Context\n    );\n\nNTKERNELAPI\nVOID\nIoInvalidateDeviceState(\n    IN PDEVICE_OBJECT PhysicalDeviceObject\n    );\n\n#define IoAdjustPagingPathCount(_count_,_paging_) {     \\\n    if (_paging_) {                                     \\\n        InterlockedIncrement(_count_);                  \\\n    } else {                                            \\\n        InterlockedDecrement(_count_);                  \\\n    }                                                   \\\n}\n\nNTKERNELAPI\nNTSTATUS\nIoReportTargetDeviceChangeAsynchronous(\n    IN PDEVICE_OBJECT PhysicalDeviceObject,\n    IN PVOID NotificationStructure,  // always begins with a PLUGPLAY_NOTIFICATION_HEADER\n    IN PDEVICE_CHANGE_COMPLETE_CALLBACK Callback,       OPTIONAL\n    IN PVOID Context    OPTIONAL\n    );\n\n//\n// Header structure for all Plug&Play notification events...\n//\n\ntypedef struct _PLUGPLAY_NOTIFICATION_HEADER {\n    USHORT Version; // presently at version 1.\n    USHORT Size;    // size (in bytes) of header + event-specific data.\n    GUID Event;\n    //\n    // Event-specific stuff starts here.\n    //\n} PLUGPLAY_NOTIFICATION_HEADER, *PPLUGPLAY_NOTIFICATION_HEADER;\n\n//\n// Notification structure for all EventCategoryHardwareProfileChange events...\n//\n\ntypedef struct _HWPROFILE_CHANGE_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // (No event-specific data)\n    //\n} HWPROFILE_CHANGE_NOTIFICATION, *PHWPROFILE_CHANGE_NOTIFICATION;\n\n\n//\n// Notification structure for all EventCategoryDeviceInterfaceChange events...\n//\n\ntypedef struct _DEVICE_INTERFACE_CHANGE_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    GUID InterfaceClassGuid;\n    PUNICODE_STRING SymbolicLinkName;\n} DEVICE_INTERFACE_CHANGE_NOTIFICATION, *PDEVICE_INTERFACE_CHANGE_NOTIFICATION;\n\n\n//\n// Notification structures for EventCategoryTargetDeviceChange...\n//\n\n//\n// The following structure is used for TargetDeviceQueryRemove,\n// TargetDeviceRemoveCancelled, and TargetDeviceRemoveComplete:\n//\ntypedef struct _TARGET_DEVICE_REMOVAL_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    PFILE_OBJECT FileObject;\n} TARGET_DEVICE_REMOVAL_NOTIFICATION, *PTARGET_DEVICE_REMOVAL_NOTIFICATION;\n\n//\n// The following structure header is used for all other (i.e., 3rd-party)\n// target device change events.  The structure accommodates both a\n// variable-length binary data buffer, and a variable-length unicode text\n// buffer.  The header must indicate where the text buffer begins, so that\n// the data can be delivered in the appropriate format (ANSI or Unicode)\n// to user-mode recipients (i.e., that have registered for handle-based\n// notification via RegisterDeviceNotification).\n//\n\ntypedef struct _TARGET_DEVICE_CUSTOM_NOTIFICATION {\n    USHORT Version;\n    USHORT Size;\n    GUID Event;\n    //\n    // Event-specific data\n    //\n    PFILE_OBJECT FileObject;    // This field must be set to NULL by callers of\n                                // IoReportTargetDeviceChange.  Clients that\n                                // have registered for target device change\n                                // notification on the affected PDO will be\n                                // called with this field set to the file object\n                                // they specified during registration.\n                                //\n    LONG NameBufferOffset;      // offset (in bytes) from beginning of\n                                // CustomDataBuffer where text begins (-1 if none)\n                                //\n    UCHAR CustomDataBuffer[1];  // variable-length buffer, containing (optionally)\n                                // a binary data at the start of the buffer,\n                                // followed by an optional unicode text buffer\n                                // (word-aligned).\n                                //\n} TARGET_DEVICE_CUSTOM_NOTIFICATION, *PTARGET_DEVICE_CUSTOM_NOTIFICATION;\n\n//\n// Define the device description structure.\n//\n\ntypedef struct _DEVICE_DESCRIPTION {\n    ULONG Version;\n    BOOLEAN Master;\n    BOOLEAN ScatterGather;\n    BOOLEAN DemandMode;\n    BOOLEAN AutoInitialize;\n    BOOLEAN Dma32BitAddresses;\n    BOOLEAN IgnoreCount;\n    BOOLEAN Reserved1;          // must be false\n    BOOLEAN Dma64BitAddresses;\n    ULONG DoNotUse2;\n    ULONG DmaChannel;\n    INTERFACE_TYPE  InterfaceType;\n    DMA_WIDTH DmaWidth;\n    DMA_SPEED DmaSpeed;\n    ULONG MaximumLength;\n    ULONG DmaPort;\n} DEVICE_DESCRIPTION, *PDEVICE_DESCRIPTION;\n\n//\n// Define the supported version numbers for the device description structure.\n//\n\n#define DEVICE_DESCRIPTION_VERSION  0\n#define DEVICE_DESCRIPTION_VERSION1 1\n#define DEVICE_DESCRIPTION_VERSION2 2\n\n                                                \nNTHALAPI                                        \nVOID                                            \nKeFlushWriteBuffer (                            \n    VOID                                        \n    );                                          \n                                                \n//\n// Performance counter function.\n//\n\nNTHALAPI\nLARGE_INTEGER\nKeQueryPerformanceCounter (\n   OUT PLARGE_INTEGER PerformanceFrequency OPTIONAL\n   );\n\n\n//\n// Stall processor execution function.\n//\n\nNTHALAPI\nVOID\nKeStallExecutionProcessor (\n    IN ULONG MicroSeconds\n    );\n\n\ntypedef struct _SCATTER_GATHER_ELEMENT {\n    PHYSICAL_ADDRESS Address;\n    ULONG Length;\n    ULONG_PTR Reserved;\n} SCATTER_GATHER_ELEMENT, *PSCATTER_GATHER_ELEMENT;\n\n#pragma warning(disable:4200)\ntypedef struct _SCATTER_GATHER_LIST {\n    ULONG NumberOfElements;\n    ULONG_PTR Reserved;\n    SCATTER_GATHER_ELEMENT Elements[];\n} SCATTER_GATHER_LIST, *PSCATTER_GATHER_LIST;\n#pragma warning(default:4200)\n\n\n\ntypedef struct _DMA_OPERATIONS *PDMA_OPERATIONS;\n\ntypedef struct _DMA_ADAPTER {\n    USHORT Version;\n    USHORT Size;\n    PDMA_OPERATIONS DmaOperations;\n    // Private Bus Device Driver data follows,\n} DMA_ADAPTER, *PDMA_ADAPTER;\n\ntypedef VOID (*PPUT_DMA_ADAPTER)(\n    PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef PVOID (*PALLOCATE_COMMON_BUFFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    OUT PPHYSICAL_ADDRESS LogicalAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\ntypedef VOID (*PFREE_COMMON_BUFFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    IN PHYSICAL_ADDRESS LogicalAddress,\n    IN PVOID VirtualAddress,\n    IN BOOLEAN CacheEnabled\n    );\n\ntypedef NTSTATUS (*PALLOCATE_ADAPTER_CHANNEL)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    );\n\ntypedef BOOLEAN (*PFLUSH_ADAPTER_BUFFERS)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef VOID (*PFREE_ADAPTER_CHANNEL)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef VOID (*PFREE_MAP_REGISTERS)(\n    IN PDMA_ADAPTER DmaAdapter,\n    PVOID MapRegisterBase,\n    ULONG NumberOfMapRegisters\n    );\n\ntypedef PHYSICAL_ADDRESS (*PMAP_TRANSFER)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN OUT PULONG Length,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef ULONG (*PGET_DMA_ALIGNMENT)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef ULONG (*PREAD_DMA_COUNTER)(\n    IN PDMA_ADAPTER DmaAdapter\n    );\n\ntypedef VOID\n(*PDRIVER_LIST_CONTROL)(\n    IN struct _DEVICE_OBJECT *DeviceObject,\n    IN struct _IRP *Irp,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN PVOID Context\n    );\n\ntypedef NTSTATUS\n(*PGET_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN PMDL Mdl,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN PDRIVER_LIST_CONTROL ExecutionRoutine,\n    IN PVOID Context,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef VOID\n(*PPUT_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN BOOLEAN WriteToDevice\n    );\n\ntypedef NTSTATUS\n(*PCALCULATE_SCATTER_GATHER_LIST_SIZE)(\n     IN PDMA_ADAPTER DmaAdapter,\n     IN OPTIONAL PMDL Mdl,\n     IN PVOID CurrentVa,\n     IN ULONG Length,\n     OUT PULONG  ScatterGatherListSize,\n     OUT OPTIONAL PULONG pNumberOfMapRegisters\n     );\n\ntypedef NTSTATUS\n(*PBUILD_SCATTER_GATHER_LIST)(\n     IN PDMA_ADAPTER DmaAdapter,\n     IN PDEVICE_OBJECT DeviceObject,\n     IN PMDL Mdl,\n     IN PVOID CurrentVa,\n     IN ULONG Length,\n     IN PDRIVER_LIST_CONTROL ExecutionRoutine,\n     IN PVOID Context,\n     IN BOOLEAN WriteToDevice,\n     IN PVOID   ScatterGatherBuffer,\n     IN ULONG   ScatterGatherLength\n     );\n\ntypedef NTSTATUS\n(*PBUILD_MDL_FROM_SCATTER_GATHER_LIST)(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PSCATTER_GATHER_LIST ScatterGather,\n    IN PMDL OriginalMdl,\n    OUT PMDL *TargetMdl\n    );\n\ntypedef struct _DMA_OPERATIONS {\n    ULONG Size;\n    PPUT_DMA_ADAPTER PutDmaAdapter;\n    PALLOCATE_COMMON_BUFFER AllocateCommonBuffer;\n    PFREE_COMMON_BUFFER FreeCommonBuffer;\n    PALLOCATE_ADAPTER_CHANNEL AllocateAdapterChannel;\n    PFLUSH_ADAPTER_BUFFERS FlushAdapterBuffers;\n    PFREE_ADAPTER_CHANNEL FreeAdapterChannel;\n    PFREE_MAP_REGISTERS FreeMapRegisters;\n    PMAP_TRANSFER MapTransfer;\n    PGET_DMA_ALIGNMENT GetDmaAlignment;\n    PREAD_DMA_COUNTER ReadDmaCounter;\n    PGET_SCATTER_GATHER_LIST GetScatterGatherList;\n    PPUT_SCATTER_GATHER_LIST PutScatterGatherList;\n    PCALCULATE_SCATTER_GATHER_LIST_SIZE CalculateScatterGatherList;\n    PBUILD_SCATTER_GATHER_LIST BuildScatterGatherList;\n    PBUILD_MDL_FROM_SCATTER_GATHER_LIST BuildMdlFromScatterGatherList;\n} DMA_OPERATIONS;\n\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateCommonBuffer\nFORCEINLINE\nPVOID\nHalAllocateCommonBuffer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    OUT PPHYSICAL_ADDRESS LogicalAddress,\n    IN BOOLEAN CacheEnabled\n    ){\n\n    PALLOCATE_COMMON_BUFFER allocateCommonBuffer;\n    PVOID commonBuffer;\n\n    allocateCommonBuffer = *(DmaAdapter)->DmaOperations->AllocateCommonBuffer;\n    ASSERT( allocateCommonBuffer != NULL );\n\n    commonBuffer = allocateCommonBuffer( DmaAdapter,\n                                         Length,\n                                         LogicalAddress,\n                                         CacheEnabled );\n\n    return commonBuffer;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeCommonBuffer\nFORCEINLINE\nVOID\nHalFreeCommonBuffer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN ULONG Length,\n    IN PHYSICAL_ADDRESS LogicalAddress,\n    IN PVOID VirtualAddress,\n    IN BOOLEAN CacheEnabled\n    ){\n\n    PFREE_COMMON_BUFFER freeCommonBuffer;\n\n    freeCommonBuffer = *(DmaAdapter)->DmaOperations->FreeCommonBuffer;\n    ASSERT( freeCommonBuffer != NULL );\n\n    freeCommonBuffer( DmaAdapter,\n                      Length,\n                      LogicalAddress,\n                      VirtualAddress,\n                      CacheEnabled );\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use AllocateAdapterChannel\nFORCEINLINE\nNTSTATUS\nIoAllocateAdapterChannel(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PDEVICE_OBJECT DeviceObject,\n    IN ULONG NumberOfMapRegisters,\n    IN PDRIVER_CONTROL ExecutionRoutine,\n    IN PVOID Context\n    ){\n\n    PALLOCATE_ADAPTER_CHANNEL allocateAdapterChannel;\n    NTSTATUS status;\n\n    allocateAdapterChannel =\n        *(DmaAdapter)->DmaOperations->AllocateAdapterChannel;\n\n    ASSERT( allocateAdapterChannel != NULL );\n\n    status = allocateAdapterChannel( DmaAdapter,\n                                     DeviceObject,\n                                     NumberOfMapRegisters,\n                                     ExecutionRoutine,\n                                     Context );\n\n    return status;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FlushAdapterBuffers\nFORCEINLINE\nBOOLEAN\nIoFlushAdapterBuffers(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN ULONG Length,\n    IN BOOLEAN WriteToDevice\n    ){\n\n    PFLUSH_ADAPTER_BUFFERS flushAdapterBuffers;\n    BOOLEAN result;\n\n    flushAdapterBuffers = *(DmaAdapter)->DmaOperations->FlushAdapterBuffers;\n    ASSERT( flushAdapterBuffers != NULL );\n\n    result = flushAdapterBuffers( DmaAdapter,\n                                  Mdl,\n                                  MapRegisterBase,\n                                  CurrentVa,\n                                  Length,\n                                  WriteToDevice );\n    return result;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeAdapterChannel\nFORCEINLINE\nVOID\nIoFreeAdapterChannel(\n    IN PDMA_ADAPTER DmaAdapter\n    ){\n\n    PFREE_ADAPTER_CHANNEL freeAdapterChannel;\n\n    freeAdapterChannel = *(DmaAdapter)->DmaOperations->FreeAdapterChannel;\n    ASSERT( freeAdapterChannel != NULL );\n\n    freeAdapterChannel( DmaAdapter );\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use FreeMapRegisters\nFORCEINLINE\nVOID\nIoFreeMapRegisters(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PVOID MapRegisterBase,\n    IN ULONG NumberOfMapRegisters\n    ){\n\n    PFREE_MAP_REGISTERS freeMapRegisters;\n\n    freeMapRegisters = *(DmaAdapter)->DmaOperations->FreeMapRegisters;\n    ASSERT( freeMapRegisters != NULL );\n\n    freeMapRegisters( DmaAdapter,\n                      MapRegisterBase,\n                      NumberOfMapRegisters );\n}\n\n\nDECLSPEC_DEPRECATED_DDK                 // Use MapTransfer\nFORCEINLINE\nPHYSICAL_ADDRESS\nIoMapTransfer(\n    IN PDMA_ADAPTER DmaAdapter,\n    IN PMDL Mdl,\n    IN PVOID MapRegisterBase,\n    IN PVOID CurrentVa,\n    IN OUT PULONG Length,\n    IN BOOLEAN WriteToDevice\n    ){\n\n    PHYSICAL_ADDRESS physicalAddress;\n    PMAP_TRANSFER mapTransfer;\n\n    mapTransfer = *(DmaAdapter)->DmaOperations->MapTransfer;\n    ASSERT( mapTransfer != NULL );\n\n    physicalAddress = mapTransfer( DmaAdapter,\n                                   Mdl,\n                                   MapRegisterBase,\n                                   CurrentVa,\n                                   Length,\n                                   WriteToDevice );\n\n    return physicalAddress;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use GetDmaAlignment\nFORCEINLINE\nULONG\nHalGetDmaAlignment(\n    IN PDMA_ADAPTER DmaAdapter\n    )\n{\n    PGET_DMA_ALIGNMENT getDmaAlignment;\n    ULONG alignment;\n\n    getDmaAlignment = *(DmaAdapter)->DmaOperations->GetDmaAlignment;\n    ASSERT( getDmaAlignment != NULL );\n\n    alignment = getDmaAlignment( DmaAdapter );\n    return alignment;\n}\n\nDECLSPEC_DEPRECATED_DDK                 // Use ReadDmaCounter\nFORCEINLINE\nULONG\nHalReadDmaCounter(\n    IN PDMA_ADAPTER DmaAdapter\n    )\n{\n    PREAD_DMA_COUNTER readDmaCounter;\n    ULONG counter;\n\n    readDmaCounter = *(DmaAdapter)->DmaOperations->ReadDmaCounter;\n    ASSERT( readDmaCounter != NULL );\n\n    counter = readDmaCounter( DmaAdapter );\n    return counter;\n}\n\n\nNTKERNELAPI\nVOID\nPoSetSystemState (\n    IN EXECUTION_STATE Flags\n    );\n\n\n\nNTKERNELAPI\nPVOID\nPoRegisterSystemState (\n    IN PVOID StateHandle,\n    IN EXECUTION_STATE Flags\n    );\n\n\n\ntypedef\nVOID\n(*PREQUEST_POWER_COMPLETE) (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN UCHAR MinorFunction,\n    IN POWER_STATE PowerState,\n    IN PVOID Context,\n    IN PIO_STATUS_BLOCK IoStatus\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestPowerIrp (\n    IN PDEVICE_OBJECT DeviceObject,\n    IN UCHAR MinorFunction,\n    IN POWER_STATE PowerState,\n    IN PREQUEST_POWER_COMPLETE CompletionFunction,\n    IN PVOID Context,\n    OUT PIRP *Irp OPTIONAL\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestShutdownEvent (\n    OUT PVOID *Event\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoRequestShutdownWait (\n    IN PETHREAD Thread\n    );\n\n\n\nNTKERNELAPI\nVOID\nPoUnregisterSystemState (\n    IN PVOID StateHandle\n    );\n\n\n\nNTKERNELAPI\nPOWER_STATE\nPoSetPowerState (\n    IN PDEVICE_OBJECT   DeviceObject,\n    IN POWER_STATE_TYPE Type,\n    IN POWER_STATE      State\n    );\n\nNTKERNELAPI\nNTSTATUS\nPoCallDriver (\n    IN PDEVICE_OBJECT   DeviceObject,\n    IN OUT PIRP         Irp\n    );\n\nNTKERNELAPI\nVOID\nPoStartNextPowerIrp(\n    IN PIRP    Irp\n    );\n\n\nNTKERNELAPI\nPULONG\nPoRegisterDeviceForIdleDetection (\n    IN PDEVICE_OBJECT     DeviceObject,\n    IN ULONG              ConservationIdleTime,\n    IN ULONG              PerformanceIdleTime,\n    IN DEVICE_POWER_STATE State\n    );\n\n#define PoSetDeviceBusy(IdlePointer) \\\n    *IdlePointer = 0\n\n//\n// \\Callback\\PowerState values\n//\n\n#define PO_CB_SYSTEM_POWER_POLICY       0\n#define PO_CB_AC_STATUS                 1\n#define PO_CB_BUTTON_COLLISION          2\n#define PO_CB_SYSTEM_STATE_LOCK         3\n#define PO_CB_LID_SWITCH_STATE          4\n#define PO_CB_PROCESSOR_POWER_POLICY    5\n\n//\n// Object Manager types\n//\n\ntypedef struct _OBJECT_HANDLE_INFORMATION {\n    ULONG HandleAttributes;\n    ACCESS_MASK GrantedAccess;\n} OBJECT_HANDLE_INFORMATION, *POBJECT_HANDLE_INFORMATION;\n\nNTKERNELAPI                                                     \nNTSTATUS                                                        \nObReferenceObjectByHandle(                                      \n    IN HANDLE Handle,                                           \n    IN ACCESS_MASK DesiredAccess,                               \n    IN POBJECT_TYPE ObjectType OPTIONAL,                        \n    IN KPROCESSOR_MODE AccessMode,                              \n    OUT PVOID *Object,                                          \n    OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL   \n    );                                                          \n\n#define ObDereferenceObject(a)                                     \\\n        ObfDereferenceObject(a)\n\n#define ObReferenceObject(Object) ObfReferenceObject(Object)\n\nNTKERNELAPI\nLONG\nFASTCALL\nObfReferenceObject(\n    IN PVOID Object\n    );\n\nNTKERNELAPI\nNTSTATUS\nObReferenceObjectByPointer(\n    IN PVOID Object,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_TYPE ObjectType,\n    IN KPROCESSOR_MODE AccessMode\n    );\n\nNTKERNELAPI\nLONG\nFASTCALL\nObfDereferenceObject(\n    IN PVOID Object\n    );\n\nNTSTATUS\nObGetObjectSecurity(\n    IN PVOID Object,\n    OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,\n    OUT PBOOLEAN MemoryAllocated\n    );\n\nVOID\nObReleaseObjectSecurity(\n    IN PSECURITY_DESCRIPTOR SecurityDescriptor,\n    IN BOOLEAN MemoryAllocated\n    );\n\n\ntypedef struct _PCI_SLOT_NUMBER {\n    union {\n        struct {\n            ULONG   DeviceNumber:5;\n            ULONG   FunctionNumber:3;\n            ULONG   Reserved:24;\n        } bits;\n        ULONG   AsULONG;\n    } u;\n} PCI_SLOT_NUMBER, *PPCI_SLOT_NUMBER;\n\n\n#define PCI_TYPE0_ADDRESSES             6\n#define PCI_TYPE1_ADDRESSES             2\n#define PCI_TYPE2_ADDRESSES             5\n\ntypedef struct _PCI_COMMON_CONFIG {\n    USHORT  VendorID;                   // (ro)\n    USHORT  DeviceID;                   // (ro)\n    USHORT  Command;                    // Device control\n    USHORT  Status;\n    UCHAR   RevisionID;                 // (ro)\n    UCHAR   ProgIf;                     // (ro)\n    UCHAR   SubClass;                   // (ro)\n    UCHAR   BaseClass;                  // (ro)\n    UCHAR   CacheLineSize;              // (ro+)\n    UCHAR   LatencyTimer;               // (ro+)\n    UCHAR   HeaderType;                 // (ro)\n    UCHAR   BIST;                       // Built in self test\n\n    union {\n        struct _PCI_HEADER_TYPE_0 {\n            ULONG   BaseAddresses[PCI_TYPE0_ADDRESSES];\n            ULONG   CIS;\n            USHORT  SubVendorID;\n            USHORT  SubSystemID;\n            ULONG   ROMBaseAddress;\n            UCHAR   CapabilitiesPtr;\n            UCHAR   Reserved1[3];\n            ULONG   Reserved2;\n            UCHAR   InterruptLine;      //\n            UCHAR   InterruptPin;       // (ro)\n            UCHAR   MinimumGrant;       // (ro)\n            UCHAR   MaximumLatency;     // (ro)\n        } type0;\n\n\n    } u;\n\n    UCHAR   DeviceSpecific[192];\n\n} PCI_COMMON_CONFIG, *PPCI_COMMON_CONFIG;\n\n\n#define PCI_COMMON_HDR_LENGTH (FIELD_OFFSET (PCI_COMMON_CONFIG, DeviceSpecific))\n\n#define PCI_MAX_DEVICES                     32\n#define PCI_MAX_FUNCTION                    8\n#define PCI_MAX_BRIDGE_NUMBER               0xFF\n\n#define PCI_INVALID_VENDORID                0xFFFF\n\n//\n// Bit encodings for  PCI_COMMON_CONFIG.HeaderType\n//\n\n#define PCI_MULTIFUNCTION                   0x80\n#define PCI_DEVICE_TYPE                     0x00\n#define PCI_BRIDGE_TYPE                     0x01\n#define PCI_CARDBUS_BRIDGE_TYPE             0x02\n\n#define PCI_CONFIGURATION_TYPE(PciData) \\\n    (((PPCI_COMMON_CONFIG)(PciData))->HeaderType & ~PCI_MULTIFUNCTION)\n\n#define PCI_MULTIFUNCTION_DEVICE(PciData) \\\n    ((((PPCI_COMMON_CONFIG)(PciData))->HeaderType & PCI_MULTIFUNCTION) != 0)\n\n//\n// Bit encodings for PCI_COMMON_CONFIG.Command\n//\n\n#define PCI_ENABLE_IO_SPACE                 0x0001\n#define PCI_ENABLE_MEMORY_SPACE             0x0002\n#define PCI_ENABLE_BUS_MASTER               0x0004\n#define PCI_ENABLE_SPECIAL_CYCLES           0x0008\n#define PCI_ENABLE_WRITE_AND_INVALIDATE     0x0010\n#define PCI_ENABLE_VGA_COMPATIBLE_PALETTE   0x0020\n#define PCI_ENABLE_PARITY                   0x0040  // (ro+)\n#define PCI_ENABLE_WAIT_CYCLE               0x0080  // (ro+)\n#define PCI_ENABLE_SERR                     0x0100  // (ro+)\n#define PCI_ENABLE_FAST_BACK_TO_BACK        0x0200  // (ro)\n\n//\n// Bit encodings for PCI_COMMON_CONFIG.Status\n//\n\n#define PCI_STATUS_CAPABILITIES_LIST        0x0010  // (ro)\n#define PCI_STATUS_66MHZ_CAPABLE            0x0020  // (ro)\n#define PCI_STATUS_UDF_SUPPORTED            0x0040  // (ro)\n#define PCI_STATUS_FAST_BACK_TO_BACK        0x0080  // (ro)\n#define PCI_STATUS_DATA_PARITY_DETECTED     0x0100\n#define PCI_STATUS_DEVSEL                   0x0600  // 2 bits wide\n#define PCI_STATUS_SIGNALED_TARGET_ABORT    0x0800\n#define PCI_STATUS_RECEIVED_TARGET_ABORT    0x1000\n#define PCI_STATUS_RECEIVED_MASTER_ABORT    0x2000\n#define PCI_STATUS_SIGNALED_SYSTEM_ERROR    0x4000\n#define PCI_STATUS_DETECTED_PARITY_ERROR    0x8000\n\n//\n// The NT PCI Driver uses a WhichSpace parameter on its CONFIG_READ/WRITE\n// routines.   The following values are defined-\n//\n\n#define PCI_WHICHSPACE_CONFIG               0x0\n#define PCI_WHICHSPACE_ROM                  0x52696350\n\n//\n// Base Class Code encodings for Base Class (from PCI spec rev 2.1).\n//\n\n#define PCI_CLASS_PRE_20                    0x00\n#define PCI_CLASS_MASS_STORAGE_CTLR         0x01\n#define PCI_CLASS_NETWORK_CTLR              0x02\n#define PCI_CLASS_DISPLAY_CTLR              0x03\n#define PCI_CLASS_MULTIMEDIA_DEV            0x04\n#define PCI_CLASS_MEMORY_CTLR               0x05\n#define PCI_CLASS_BRIDGE_DEV                0x06\n#define PCI_CLASS_SIMPLE_COMMS_CTLR         0x07\n#define PCI_CLASS_BASE_SYSTEM_DEV           0x08\n#define PCI_CLASS_INPUT_DEV                 0x09\n#define PCI_CLASS_DOCKING_STATION           0x0a\n#define PCI_CLASS_PROCESSOR                 0x0b\n#define PCI_CLASS_SERIAL_BUS_CTLR           0x0c\n#define PCI_CLASS_WIRELESS_CTLR             0x0d\n#define PCI_CLASS_INTELLIGENT_IO_CTLR       0x0e\n#define PCI_CLASS_SATELLITE_COMMS_CTLR      0x0f\n#define PCI_CLASS_ENCRYPTION_DECRYPTION     0x10\n#define PCI_CLASS_DATA_ACQ_SIGNAL_PROC      0x11\n\n// 0d thru fe reserved\n\n#define PCI_CLASS_NOT_DEFINED               0xff\n\n//\n// Sub Class Code encodings (PCI rev 2.1).\n//\n\n// Class 00 - PCI_CLASS_PRE_20\n\n#define PCI_SUBCLASS_PRE_20_NON_VGA         0x00\n#define PCI_SUBCLASS_PRE_20_VGA             0x01\n\n// Class 01 - PCI_CLASS_MASS_STORAGE_CTLR\n\n#define PCI_SUBCLASS_MSC_SCSI_BUS_CTLR      0x00\n#define PCI_SUBCLASS_MSC_IDE_CTLR           0x01\n#define PCI_SUBCLASS_MSC_FLOPPY_CTLR        0x02\n#define PCI_SUBCLASS_MSC_IPI_CTLR           0x03\n#define PCI_SUBCLASS_MSC_RAID_CTLR          0x04\n#define PCI_SUBCLASS_MSC_OTHER              0x80\n\n// Class 02 - PCI_CLASS_NETWORK_CTLR\n\n#define PCI_SUBCLASS_NET_ETHERNET_CTLR      0x00\n#define PCI_SUBCLASS_NET_TOKEN_RING_CTLR    0x01\n#define PCI_SUBCLASS_NET_FDDI_CTLR          0x02\n#define PCI_SUBCLASS_NET_ATM_CTLR           0x03\n#define PCI_SUBCLASS_NET_ISDN_CTLR          0x04\n#define PCI_SUBCLASS_NET_OTHER              0x80\n\n// Class 03 - PCI_CLASS_DISPLAY_CTLR\n\n// N.B. Sub Class 00 could be VGA or 8514 depending on Interface byte\n\n#define PCI_SUBCLASS_VID_VGA_CTLR           0x00\n#define PCI_SUBCLASS_VID_XGA_CTLR           0x01\n#define PCI_SUBLCASS_VID_3D_CTLR            0x02\n#define PCI_SUBCLASS_VID_OTHER              0x80\n\n// Class 04 - PCI_CLASS_MULTIMEDIA_DEV\n\n#define PCI_SUBCLASS_MM_VIDEO_DEV           0x00\n#define PCI_SUBCLASS_MM_AUDIO_DEV           0x01\n#define PCI_SUBCLASS_MM_TELEPHONY_DEV       0x02\n#define PCI_SUBCLASS_MM_OTHER               0x80\n\n// Class 05 - PCI_CLASS_MEMORY_CTLR\n\n#define PCI_SUBCLASS_MEM_RAM                0x00\n#define PCI_SUBCLASS_MEM_FLASH              0x01\n#define PCI_SUBCLASS_MEM_OTHER              0x80\n\n// Class 06 - PCI_CLASS_BRIDGE_DEV\n\n#define PCI_SUBCLASS_BR_HOST                0x00\n#define PCI_SUBCLASS_BR_ISA                 0x01\n#define PCI_SUBCLASS_BR_EISA                0x02\n#define PCI_SUBCLASS_BR_MCA                 0x03\n#define PCI_SUBCLASS_BR_PCI_TO_PCI          0x04\n#define PCI_SUBCLASS_BR_PCMCIA              0x05\n#define PCI_SUBCLASS_BR_NUBUS               0x06\n#define PCI_SUBCLASS_BR_CARDBUS             0x07\n#define PCI_SUBCLASS_BR_RACEWAY             0x08\n#define PCI_SUBCLASS_BR_OTHER               0x80\n\n// Class 07 - PCI_CLASS_SIMPLE_COMMS_CTLR\n\n// N.B. Sub Class 00 and 01 additional info in Interface byte\n\n#define PCI_SUBCLASS_COM_SERIAL             0x00\n#define PCI_SUBCLASS_COM_PARALLEL           0x01\n#define PCI_SUBCLASS_COM_MULTIPORT          0x02\n#define PCI_SUBCLASS_COM_MODEM              0x03\n#define PCI_SUBCLASS_COM_OTHER              0x80\n\n// Class 08 - PCI_CLASS_BASE_SYSTEM_DEV\n\n// N.B. See Interface byte for additional info.\n\n#define PCI_SUBCLASS_SYS_INTERRUPT_CTLR     0x00\n#define PCI_SUBCLASS_SYS_DMA_CTLR           0x01\n#define PCI_SUBCLASS_SYS_SYSTEM_TIMER       0x02\n#define PCI_SUBCLASS_SYS_REAL_TIME_CLOCK    0x03\n#define PCI_SUBCLASS_SYS_GEN_HOTPLUG_CTLR   0x04\n#define PCI_SUBCLASS_SYS_OTHER              0x80\n\n// Class 09 - PCI_CLASS_INPUT_DEV\n\n#define PCI_SUBCLASS_INP_KEYBOARD           0x00\n#define PCI_SUBCLASS_INP_DIGITIZER          0x01\n#define PCI_SUBCLASS_INP_MOUSE              0x02\n#define PCI_SUBCLASS_INP_SCANNER            0x03\n#define PCI_SUBCLASS_INP_GAMEPORT           0x04\n#define PCI_SUBCLASS_INP_OTHER              0x80\n\n// Class 0a - PCI_CLASS_DOCKING_STATION\n\n#define PCI_SUBCLASS_DOC_GENERIC            0x00\n#define PCI_SUBCLASS_DOC_OTHER              0x80\n\n// Class 0b - PCI_CLASS_PROCESSOR\n\n#define PCI_SUBCLASS_PROC_386               0x00\n#define PCI_SUBCLASS_PROC_486               0x01\n#define PCI_SUBCLASS_PROC_PENTIUM           0x02\n#define PCI_SUBCLASS_PROC_ALPHA             0x10\n#define PCI_SUBCLASS_PROC_POWERPC           0x20\n#define PCI_SUBCLASS_PROC_COPROCESSOR       0x40\n\n// Class 0c - PCI_CLASS_SERIAL_BUS_CTLR\n\n#define PCI_SUBCLASS_SB_IEEE1394            0x00\n#define PCI_SUBCLASS_SB_ACCESS              0x01\n#define PCI_SUBCLASS_SB_SSA                 0x02\n#define PCI_SUBCLASS_SB_USB                 0x03\n#define PCI_SUBCLASS_SB_FIBRE_CHANNEL       0x04\n#define PCI_SUBCLASS_SB_SMBUS               0x05\n\n// Class 0d - PCI_CLASS_WIRELESS_CTLR\n\n#define PCI_SUBCLASS_WIRELESS_IRDA          0x00\n#define PCI_SUBCLASS_WIRELESS_CON_IR        0x01\n#define PCI_SUBCLASS_WIRELESS_RF            0x10\n#define PCI_SUBCLASS_WIRELESS_OTHER         0x80\n\n// Class 0e - PCI_CLASS_INTELLIGENT_IO_CTLR\n\n#define PCI_SUBCLASS_INTIO_I2O              0x00\n\n// Class 0f - PCI_CLASS_SATELLITE_CTLR\n\n#define PCI_SUBCLASS_SAT_TV                 0x01\n#define PCI_SUBCLASS_SAT_AUDIO              0x02\n#define PCI_SUBCLASS_SAT_VOICE              0x03\n#define PCI_SUBCLASS_SAT_DATA               0x04\n\n// Class 10 - PCI_CLASS_ENCRYPTION_DECRYPTION\n\n#define PCI_SUBCLASS_CRYPTO_NET_COMP        0x00\n#define PCI_SUBCLASS_CRYPTO_ENTERTAINMENT   0x10\n#define PCI_SUBCLASS_CRYPTO_OTHER           0x80\n\n// Class 11 - PCI_CLASS_DATA_ACQ_SIGNAL_PROC\n\n#define PCI_SUBCLASS_DASP_DPIO              0x00\n#define PCI_SUBCLASS_DASP_OTHER             0x80\n\n\n\n\n\n//\n// Bit encodes for PCI_COMMON_CONFIG.u.type0.BaseAddresses\n//\n\n#define PCI_ADDRESS_IO_SPACE                0x00000001  // (ro)\n#define PCI_ADDRESS_MEMORY_TYPE_MASK        0x00000006  // (ro)\n#define PCI_ADDRESS_MEMORY_PREFETCHABLE     0x00000008  // (ro)\n\n#define PCI_ADDRESS_IO_ADDRESS_MASK         0xfffffffc\n#define PCI_ADDRESS_MEMORY_ADDRESS_MASK     0xfffffff0\n#define PCI_ADDRESS_ROM_ADDRESS_MASK        0xfffff800\n\n#define PCI_TYPE_32BIT      0\n#define PCI_TYPE_20BIT      2\n#define PCI_TYPE_64BIT      4\n\n//\n// Bit encodes for PCI_COMMON_CONFIG.u.type0.ROMBaseAddresses\n//\n\n#define PCI_ROMADDRESS_ENABLED              0x00000001\n\n\n//\n// Reference notes for PCI configuration fields:\n//\n// ro   these field are read only.  changes to these fields are ignored\n//\n// ro+  these field are intended to be read only and should be initialized\n//      by the system to their proper values.  However, driver may change\n//      these settings.\n//\n// ---\n//\n//      All resources comsumed by a PCI device start as unitialized\n//      under NT.  An uninitialized memory or I/O base address can be\n//      determined by checking it's corrisponding enabled bit in the\n//      PCI_COMMON_CONFIG.Command value.  An InterruptLine is unitialized\n//      if it contains the value of -1.\n//\n\n\n#define PCI_DEVICE_PRESENT_INTERFACE_VERSION 1\n\n//\n// Flags for PCI_DEVICE_PRESENCE_PARAMETERS\n//\n#define PCI_USE_SUBSYSTEM_IDS   0x00000001\n#define PCI_USE_REVISION        0x00000002\n// The following flags are only valid for IsDevicePresentEx\n#define PCI_USE_VENDEV_IDS      0x00000004\n#define PCI_USE_CLASS_SUBCLASS  0x00000008\n#define PCI_USE_PROGIF          0x00000010\n#define PCI_USE_LOCAL_BUS       0x00000020\n#define PCI_USE_LOCAL_DEVICE    0x00000040\n\n//\n// Search parameters structure for IsDevicePresentEx\n//\ntypedef struct _PCI_DEVICE_PRESENCE_PARAMETERS {\n    \n    ULONG Size;\n    ULONG Flags;\n\n    USHORT VendorID;\n    USHORT DeviceID;\n    UCHAR RevisionID;\n    USHORT SubVendorID;\n    USHORT SubSystemID;\n    UCHAR BaseClass;\n    UCHAR SubClass;\n    UCHAR ProgIf;\n\n} PCI_DEVICE_PRESENCE_PARAMETERS, *PPCI_DEVICE_PRESENCE_PARAMETERS;\n\ntypedef\nBOOLEAN\n(*PPCI_IS_DEVICE_PRESENT) (\n    IN USHORT VendorID,\n    IN USHORT DeviceID,\n    IN UCHAR RevisionID,\n    IN USHORT SubVendorID,\n    IN USHORT SubSystemID,\n    IN ULONG Flags\n);\n\ntypedef\nBOOLEAN\n(*PPCI_IS_DEVICE_PRESENT_EX) (\n    IN PVOID Context,\n    IN PPCI_DEVICE_PRESENCE_PARAMETERS Parameters\n    );\n\ntypedef struct _PCI_DEVICE_PRESENT_INTERFACE {\n    //\n    // generic interface header\n    //\n    USHORT Size;\n    USHORT Version;\n    PVOID Context;\n    PINTERFACE_REFERENCE InterfaceReference;\n    PINTERFACE_DEREFERENCE InterfaceDereference;\n    //\n    // pci device info\n    //\n    PPCI_IS_DEVICE_PRESENT IsDevicePresent;\n    \n    PPCI_IS_DEVICE_PRESENT_EX IsDevicePresentEx;\n\n} PCI_DEVICE_PRESENT_INTERFACE, *PPCI_DEVICE_PRESENT_INTERFACE;\n\n\n\n\n#ifdef POOL_TAGGING\n#define ExAllocatePool(a,b) ExAllocatePoolWithTag(a,b,' mdW')\n#define ExAllocatePoolWithQuota(a,b) ExAllocatePoolWithQuotaTag(a,b,' kdD')\n#endif\n\nextern POBJECT_TYPE *IoFileObjectType;\nextern POBJECT_TYPE *ExEventObjectType;\nextern POBJECT_TYPE *ExSemaphoreObjectType;\n\n//\n// Define exported ZwXxx routines to device drivers.\n//\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PLARGE_INTEGER AllocationSize OPTIONAL,\n    IN ULONG FileAttributes,\n    IN ULONG ShareAccess,\n    IN ULONG CreateDisposition,\n    IN ULONG CreateOptions,\n    IN PVOID EaBuffer OPTIONAL,\n    IN ULONG EaLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenFile(\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG ShareAccess,\n    IN ULONG OpenOptions\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryInformationFile(\n    IN HANDLE FileHandle,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    OUT PVOID FileInformation,\n    IN ULONG Length,\n    IN FILE_INFORMATION_CLASS FileInformationClass\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwSetInformationFile(\n    IN HANDLE FileHandle,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PVOID FileInformation,\n    IN ULONG Length,\n    IN FILE_INFORMATION_CLASS FileInformationClass\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwReadFile(\n    IN HANDLE FileHandle,\n    IN HANDLE Event OPTIONAL,\n    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,\n    IN PVOID ApcContext OPTIONAL,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    OUT PVOID Buffer,\n    IN ULONG Length,\n    IN PLARGE_INTEGER ByteOffset OPTIONAL,\n    IN PULONG Key OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwWriteFile(\n    IN HANDLE FileHandle,\n    IN HANDLE Event OPTIONAL,\n    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,\n    IN PVOID ApcContext OPTIONAL,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PVOID Buffer,\n    IN ULONG Length,\n    IN PLARGE_INTEGER ByteOffset OPTIONAL,\n    IN PULONG Key OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwClose(\n    IN HANDLE Handle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateDirectoryObject(\n    OUT PHANDLE DirectoryHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwMakeTemporaryObject(\n    IN HANDLE Handle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenSection(\n    OUT PHANDLE SectionHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwMapViewOfSection(\n    IN HANDLE SectionHandle,\n    IN HANDLE ProcessHandle,\n    IN OUT PVOID *BaseAddress,\n    IN ULONG ZeroBits,\n    IN ULONG CommitSize,\n    IN OUT PLARGE_INTEGER SectionOffset OPTIONAL,\n    IN OUT PSIZE_T ViewSize,\n    IN SECTION_INHERIT InheritDisposition,\n    IN ULONG AllocationType,\n    IN ULONG Protect\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwUnmapViewOfSection(\n    IN HANDLE ProcessHandle,\n    IN PVOID BaseAddress\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwCreateKey(\n    OUT PHANDLE KeyHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    IN ULONG TitleIndex,\n    IN PUNICODE_STRING Class OPTIONAL,\n    IN ULONG CreateOptions,\n    OUT PULONG Disposition OPTIONAL\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenKey(\n    OUT PHANDLE KeyHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwDeleteKey(\n    IN HANDLE KeyHandle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwDeleteValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwEnumerateKey(\n    IN HANDLE KeyHandle,\n    IN ULONG Index,\n    IN KEY_INFORMATION_CLASS KeyInformationClass,\n    OUT PVOID KeyInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwEnumerateValueKey(\n    IN HANDLE KeyHandle,\n    IN ULONG Index,\n    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,\n    OUT PVOID KeyValueInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwFlushKey(\n    IN HANDLE KeyHandle\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryKey(\n    IN HANDLE KeyHandle,\n    IN KEY_INFORMATION_CLASS KeyInformationClass,\n    OUT PVOID KeyInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQueryValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName,\n    IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,\n    OUT PVOID KeyValueInformation,\n    IN ULONG Length,\n    OUT PULONG ResultLength\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwSetValueKey(\n    IN HANDLE KeyHandle,\n    IN PUNICODE_STRING ValueName,\n    IN ULONG TitleIndex OPTIONAL,\n    IN ULONG Type,\n    IN PVOID Data,\n    IN ULONG DataSize\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenSymbolicLinkObject(\n    OUT PHANDLE LinkHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwQuerySymbolicLinkObject(\n    IN HANDLE LinkHandle,\n    IN OUT PUNICODE_STRING LinkTarget,\n    OUT PULONG ReturnedLength OPTIONAL\n    );\n\n#endif // _WDMDDK_\n\n"
  },
  {
    "path": "Bin/i386/APILib/winternl.h",
    "content": "/************************************************************************\n*                                                                       *\n*   winternl.h -- This module defines the internal NT APIs and data     *\n*       structures that are intended for the use only by internal core  *\n*       Windows components.  These APIs and data structures may change  *\n*       at any time.                                                    *\n*                                                                       *\n*   These APIs and data structures are subject to changes from one      *\n*       Windows release to another Windows release.  To maintain the    *\n*       compatiblity of your application, avoid using these APIs and    *\n*       data structures.                                                *\n*                                                                       *\n*   The appropriate mechanism for accessing the functions defined in    *\n*       this header is to use LoadLibrary() for ntdll.dll and           *\n*       GetProcAddress() for the particular function.  By using this    *\n*       approach, your application will be more resilient to changes    *\n*       for these functions between Windows releases.  If a function    *\n*       prototype does change, then GetProcAddress() for that function  *\n*       might detect the change and fail the function call, which your  *\n*       application will be able to detect.  GetProcAddress() may not   *\n*       be able to detect all signature changes, thus avoid using these *\n*       internal functions.  Instead, your application should use the   *\n*       appropriate Win32 function that provides equivalent or similiar *\n*       functionality.                                                  *\n*                                                                       *\n*   Copyright (c) Microsoft Corp. All rights reserved.                  *\n*                                                                       *\n************************************************************************/\n\n#ifndef _WINTERNL_\n#define _WINTERNL_\n\n#if (_WIN32_WINNT >= 0x0500)\n\n#include <windef.h>\n\n//\n// The PEB and TEB structures are subject to changes between Windows\n// releases, thus the fields offsets may change as well as the Reserved\n// fields.  The Reserved fields are reserved for use only by the Windows\n// operating systems.  Do not assume a maximum size for the structures.\n//\n\n//\n// Instead of using the BeingDebugged field, use the Win32 APIs\n//     IsDebuggerPresent, CheckRemoteDebuggerPresent\n// Instead of using the SessionId field, use the Win32 APIs\n//     GetCurrentProcessId and ProcessIdToSessionId\n// Sample x86 assembly code that gets the SessionId (subject to change\n//     between Windows releases, use the Win32 APIs to make your application\n//     resilient to changes)\n//     mov     eax,fs:[00000018]\n//     mov     eax,[eax+0x30]\n//     mov     eax,[eax+0x1d4]\n//\ntypedef struct _PEB {\n    BYTE Reserved1[2];\n    BYTE BeingDebugged;\n    BYTE Reserved2[229];\n    PVOID Reserved3[59];\n    ULONG SessionId;\n} PEB, *PPEB;\n\n//\n// Instead of using the Tls fields, use the Win32 TLS APIs\n//     TlsAlloc, TlsGetValue, TlsSetValue, TlsFree\n//\n// Instead of using the ReservedForOle field, use the COM API\n//     CoGetContextToken\n//\ntypedef struct _TEB {\n    BYTE Reserved1[1952];\n    PVOID Reserved2[412];\n    PVOID TlsSlots[64];\n    BYTE Reserved3[8];\n    PVOID Reserved4[26];\n    PVOID ReservedForOle;  // Windows 2000 only\n    PVOID Reserved5[4];\n    PVOID TlsExpansionSlots;\n} TEB;\ntypedef TEB *PTEB;\n\n//\n// These data structures and type definitions are needed for compilation and\n// use of the internal Windows APIs defined in this header.\n//\ntypedef LONG NTSTATUS;\n\ntypedef CONST char *PCSZ;\n\ntypedef struct _STRING {\n    USHORT Length;\n    USHORT MaximumLength;\n    PCHAR Buffer;\n} STRING;\ntypedef STRING *PSTRING;\n\ntypedef STRING ANSI_STRING;\ntypedef PSTRING PANSI_STRING;\ntypedef PSTRING PCANSI_STRING;\n\ntypedef STRING OEM_STRING;\ntypedef PSTRING POEM_STRING;\ntypedef CONST STRING* PCOEM_STRING;\n\ntypedef struct _UNICODE_STRING {\n    USHORT Length;\n    USHORT MaximumLength;\n    PWSTR  Buffer;\n} UNICODE_STRING;\ntypedef UNICODE_STRING *PUNICODE_STRING;\ntypedef const UNICODE_STRING *PCUNICODE_STRING;\n\ntypedef struct _OBJECT_ATTRIBUTES {\n    ULONG Length;\n    HANDLE RootDirectory;\n    PUNICODE_STRING ObjectName;\n    ULONG Attributes;\n    PVOID SecurityDescriptor;\n    PVOID SecurityQualityOfService;\n} OBJECT_ATTRIBUTES;\ntypedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;\n\ntypedef struct _IO_STATUS_BLOCK {\n    union {\n        NTSTATUS Status;\n        PVOID Pointer;\n    };\n\n    ULONG_PTR Information;\n} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;\n\ntypedef\nVOID\n(NTAPI *PIO_APC_ROUTINE) (\n    IN PVOID ApcContext,\n    IN PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG Reserved\n    );\n\n#if defined(_M_IA64)\n\ntypedef struct _FRAME_POINTERS {\n    ULONGLONG MemoryStackFp;\n    ULONGLONG BackingStoreFp;\n} FRAME_POINTERS, *PFRAME_POINTERS;\n\n#define UNWIND_HISTORY_TABLE_SIZE 12\n\ntypedef struct _RUNTIME_FUNCTION {\n    ULONG BeginAddress;\n    ULONG EndAddress;\n    ULONG UnwindInfoAddress;\n} RUNTIME_FUNCTION, *PRUNTIME_FUNCTION;\n\ntypedef struct _UNWIND_HISTORY_TABLE_ENTRY {\n    ULONG64 ImageBase;\n    ULONG64 Gp;\n    PRUNTIME_FUNCTION FunctionEntry;\n} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;\n\ntypedef struct _UNWIND_HISTORY_TABLE {\n    ULONG Count;\n    UCHAR Search;\n    ULONG64 LowAddress;\n    ULONG64 HighAddress;\n    UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE];\n} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;\n\n#endif // _M_IA64\n\ntypedef struct _PROCESS_BASIC_INFORMATION {\n    PVOID Reserved1;\n    PPEB PebBaseAddress;\n    PVOID Reserved2[2];\n    ULONG_PTR UniqueProcessId;\n    PVOID Reserved3;\n} PROCESS_BASIC_INFORMATION;\ntypedef PROCESS_BASIC_INFORMATION *PPROCESS_BASIC_INFORMATION;\n\ntypedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {\n    LARGE_INTEGER IdleTime;\n    LARGE_INTEGER KernelTime;\n    LARGE_INTEGER UserTime;\n    LARGE_INTEGER Reserved1[2];\n    ULONG Reserved2;\n} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION, *PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;\n\ntypedef struct _SYSTEM_PROCESS_INFORMATION {\n    ULONG NextEntryOffset;\n    BYTE Reserved1[52];\n    PVOID Reserved2[3];\n    HANDLE UniqueProcessId;\n    PVOID Reserved3;\n    ULONG HandleCount;\n    BYTE Reserved4[4];\n    PVOID Reserved5[11];\n    SIZE_T PeakPagefileUsage;\n    SIZE_T PrivatePageCount;\n    LARGE_INTEGER Reserved6[6];\n} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;\n\ntypedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION {\n    ULONG RegistryQuotaAllowed;\n    ULONG RegistryQuotaUsed;\n    PVOID Reserved1;\n} SYSTEM_REGISTRY_QUOTA_INFORMATION, *PSYSTEM_REGISTRY_QUOTA_INFORMATION;\n\ntypedef struct _SYSTEM_BASIC_INFORMATION {\n    BYTE Reserved1[24];\n    PVOID Reserved2[4];\n    CCHAR NumberOfProcessors;\n} SYSTEM_BASIC_INFORMATION, *PSYSTEM_BASIC_INFORMATION;\n\ntypedef struct _SYSTEM_TIMEOFDAY_INFORMATION {\n    BYTE Reserved1[48];\n} SYSTEM_TIMEOFDAY_INFORMATION, *PSYSTEM_TIMEOFDAY_INFORMATION;\n\ntypedef struct _SYSTEM_PERFORMANCE_INFORMATION {\n    BYTE Reserved1[312];\n} SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION;\n\ntypedef struct _SYSTEM_EXCEPTION_INFORMATION {\n    BYTE Reserved1[16];\n} SYSTEM_EXCEPTION_INFORMATION, *PSYSTEM_EXCEPTION_INFORMATION;\n\ntypedef struct _SYSTEM_LOOKASIDE_INFORMATION {\n    BYTE Reserved1[32];\n} SYSTEM_LOOKASIDE_INFORMATION, *PSYSTEM_LOOKASIDE_INFORMATION;\n\ntypedef struct _SYSTEM_INTERRUPT_INFORMATION {\n    BYTE Reserved1[24];\n} SYSTEM_INTERRUPT_INFORMATION, *PSYSTEM_INTERRUPT_INFORMATION;\n\ntypedef enum _FILE_INFORMATION_CLASS {\n    FileDirectoryInformation = 1\n} FILE_INFORMATION_CLASS;\n\ntypedef enum _PROCESSINFOCLASS {\n    ProcessBasicInformation = 0,\n    ProcessWow64Information = 26\n} PROCESSINFOCLASS;\n\ntypedef enum _THREADINFOCLASS {\n    ThreadIsIoPending = 16\n} THREADINFOCLASS;\n\ntypedef enum _SYSTEM_INFORMATION_CLASS {\n    SystemBasicInformation = 0,\n    SystemPerformanceInformation = 2,\n    SystemTimeOfDayInformation = 3,\n    SystemProcessInformation = 5,\n    SystemProcessorPerformanceInformation = 8,\n    SystemInterruptInformation = 23,\n    SystemExceptionInformation = 33,\n    SystemRegistryQuotaInformation = 37,\n    SystemLookasideInformation = 45\n} SYSTEM_INFORMATION_CLASS;\n\n#if (_WIN32_WINNT >= 0x0501)\n//\n// use the WTS API instead\n//     WTSGetActiveConsoleSessionId\n// The active console id is cached as a volatile ULONG in a constant\n// memory location.  This x86 memory location is subject to changes between\n// Windows releases.  Use the WTS API to make your application resilient to\n// changes.\n//\n#define INTERNAL_TS_ACTIVE_CONSOLE_ID ( *((volatile ULONG*)(0x7ffe02d8)) )\n#endif // (_WIN32_WINNT >= 0x0501)\n\n//\n// These functions are intended for use by internal core Windows components\n// since these functions may change between Windows releases.\n//\n\n#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))\n#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))\n#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))\n\n//\n// use the Win32 API instead\n//     CloseHandle\n//\nNTSTATUS\nNtClose (\n    IN HANDLE Handle\n    );\n\n//\n// use the Win32 API instead\n//     CreateFile\n//\nNTSTATUS\nNtCreateFile (\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN PLARGE_INTEGER AllocationSize OPTIONAL,\n    IN ULONG FileAttributes,\n    IN ULONG ShareAccess,\n    IN ULONG CreateDisposition,\n    IN ULONG CreateOptions,\n    IN PVOID EaBuffer OPTIONAL,\n    IN ULONG EaLength\n    );\n\n//\n// use the Win32 API instead\n//     CreateFile\n//\nNTSTATUS\nNtOpenFile (\n    OUT PHANDLE FileHandle,\n    IN ACCESS_MASK DesiredAccess,\n    IN POBJECT_ATTRIBUTES ObjectAttributes,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG ShareAccess,\n    IN ULONG OpenOptions\n    );\n\n//\n// use the Win32 API instead\n//     DeviceIoControl\n//\nNTSTATUS\nNtDeviceIoControlFile (\n    IN HANDLE FileHandle,\n    IN HANDLE Event OPTIONAL,\n    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,\n    IN PVOID ApcContext OPTIONAL,\n    OUT PIO_STATUS_BLOCK IoStatusBlock,\n    IN ULONG IoControlCode,\n    IN PVOID InputBuffer OPTIONAL,\n    IN ULONG InputBufferLength,\n    OUT PVOID OutputBuffer OPTIONAL,\n    IN ULONG OutputBufferLength\n    );\n\n//\n// use the Win32 API instead\n//     WaitForSingleObjectEx\n//\nNTSTATUS\nNtWaitForSingleObject (\n    IN HANDLE Handle,\n    IN BOOLEAN Alertable,\n    IN PLARGE_INTEGER Timeout OPTIONAL\n    );\n\n//\n// use the Win32 API instead\n//     CheckNameLegalDOS8Dot3\n//\nBOOLEAN\nRtlIsNameLegalDOS8Dot3 (\n    IN PUNICODE_STRING Name,\n    IN OUT POEM_STRING OemName OPTIONAL,\n    IN OUT PBOOLEAN NameContainsSpaces OPTIONAL\n    );\n\n//\n// This function might be needed for some of the internal Windows functions,\n// defined in this header file.\n//\nULONG\nRtlNtStatusToDosError (\n   NTSTATUS Status\n   );\n\n//\n// use the Win32 APIs instead\n//     GetProcessHandleCount\n//     GetProcessId\n//\nNTSTATUS\nNtQueryInformationProcess (\n    IN HANDLE ProcessHandle,\n    IN PROCESSINFOCLASS ProcessInformationClass,\n    OUT PVOID ProcessInformation,\n    IN ULONG ProcessInformationLength,\n    OUT PULONG ReturnLength OPTIONAL\n    );\n\n//\n// use the Win32 API instead\n//     GetThreadIOPendingFlag\n//\nNTSTATUS\nNtQueryInformationThread (\n    IN HANDLE ThreadHandle,\n    IN THREADINFOCLASS ThreadInformationClass,\n    OUT PVOID ThreadInformation,\n    IN ULONG ThreadInformationLength,\n    OUT PULONG ReturnLength OPTIONAL\n    );\n\n//\n// use the Win32 APIs instead\n//     GetSystemRegistryQuota\n//     GetSystemTimes\n// use the CryptoAPIs instead for generating random data\n//     CryptGenRandom\n//\nNTSTATUS\nNtQuerySystemInformation (\n    IN SYSTEM_INFORMATION_CLASS SystemInformationClass,\n    OUT PVOID SystemInformation,\n    IN ULONG SystemInformationLength,\n    OUT PULONG ReturnLength OPTIONAL\n    );\n\n//\n// use the Win32 API instead\n//     GetSystemTimeAsFileTime\n//\nNTSTATUS\nNtQuerySystemTime (\n    OUT PLARGE_INTEGER SystemTime\n    );\n\n//\n// use the Win32 API instead\n//     LocalFileTimeToFileTime\n//\nNTSTATUS\nRtlLocalTimeToSystemTime (\n    IN PLARGE_INTEGER LocalTime,\n    OUT PLARGE_INTEGER SystemTime\n    );\n\n//\n// use the Win32 API instead\n//     SystemTimeToFileTime to convert to FILETIME structures\n//     copy the resulting FILETIME structures to ULARGE_INTEGER structures\n//     perform the calculation\n//\nBOOLEAN\nRtlTimeToSecondsSince1970 (\n    PLARGE_INTEGER Time,\n    PULONG ElapsedSeconds\n    );\n\n//\n// These APIs might be need for some of the internal Windows functions,\n// defined in this header file.\n//\nVOID\nRtlFreeAnsiString (\n    PANSI_STRING AnsiString\n    );\n\nVOID\nRtlFreeUnicodeString (\n    PUNICODE_STRING UnicodeString\n    );\n\nVOID\nRtlFreeOemString(\n    POEM_STRING OemString\n    );\n\nVOID\nRtlInitString (\n    PSTRING DestinationString,\n    PCSZ SourceString\n    );\n\nVOID\nRtlInitAnsiString (\n    PANSI_STRING DestinationString,\n    PCSZ SourceString\n    );\n\nVOID\nRtlInitUnicodeString (\n    PUNICODE_STRING DestinationString,\n    PCWSTR SourceString\n    );\n\nNTSTATUS\nRtlAnsiStringToUnicodeString (\n    PUNICODE_STRING DestinationString,\n    PCANSI_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\nNTSTATUS\nRtlUnicodeStringToAnsiString (\n    PANSI_STRING DestinationString,\n    PCUNICODE_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\nNTSTATUS\nRtlUnicodeStringToOemString(\n    POEM_STRING DestinationString,\n    PCUNICODE_STRING SourceString,\n    BOOLEAN AllocateDestinationString\n    );\n\n//\n// Use the Win32 API instead\n//     WideCharToMultiByte\n//     set CodePage to CP_ACP\n//     set cbMultiByte to 0\n//\nNTSTATUS\nRtlUnicodeToMultiByteSize(\n    PULONG BytesInMultiByteString,\n    IN PWSTR UnicodeString,\n    ULONG BytesInUnicodeString\n    );\n\n//\n// Use the C runtime function instead\n//     strtol\n//\nNTSTATUS\nRtlCharToInteger (\n    PCSZ String,\n    ULONG Base,\n    PULONG Value\n    );\n\n//\n// use the Win32 API instead\n//     ConvertSidToStringSid\n//\nNTSTATUS\nRtlConvertSidToUnicodeString (\n    PUNICODE_STRING UnicodeString,\n    PSID Sid,\n    BOOLEAN AllocateDestinationString\n    );\n\n//\n// use the CryptoAPIs instead\n//     CryptGenRandom\n//\nULONG\nRtlUniform (\n    PULONG Seed\n    );\n\n//\n// Use the default built-in system exception handling instead of these\n// functions\n//\nVOID\nRtlUnwind (\n    IN PVOID TargetFrame OPTIONAL,\n    IN PVOID TargetIp OPTIONAL,\n    IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,\n    IN PVOID ReturnValue\n    );\n\n#if defined(_M_IA64)\n\nVOID\nRtlUnwind2 (\n    IN FRAME_POINTERS TargetFrame OPTIONAL,\n    IN PVOID TargetIp OPTIONAL,\n    IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,\n    IN PVOID ReturnValue,\n    IN PCONTEXT ContextRecord\n    );\n\nVOID\nRtlUnwindEx (\n    IN FRAME_POINTERS TargetFrame OPTIONAL,\n    IN PVOID TargetIp OPTIONAL,\n    IN PEXCEPTION_RECORD ExceptionRecord OPTIONAL,\n    IN PVOID ReturnValue,\n    IN PCONTEXT ContextRecord,\n    IN PUNWIND_HISTORY_TABLE HistoryTable OPTIONAL\n    );\n\n#endif // _M_IA64\n\n#endif // (_WIN32_WINNT >= 0x0500)\n\n\n\n#define LOGONID_CURRENT     ((ULONG)-1)\n#define SERVERNAME_CURRENT  ((HANDLE)NULL)\n\ntypedef enum _WINSTATIONINFOCLASS {\n    WinStationInformation = 8\n} WINSTATIONINFOCLASS;\n\n\ntypedef struct _WINSTATIONINFORMATIONW {\n    BYTE Reserved2[70];     \n    ULONG LogonId;\n    BYTE Reserved3[1140]; \n} WINSTATIONINFORMATIONW, * PWINSTATIONINFORMATIONW;\n\n//\n// this function is implemented in winsta.dll (you need to loadlibrary to call this function)\n// this internal function retrives the LogonId (also called SessionId) for the current process\n// You should avoid using this function as it can change. you can retrieve the same information \n// Using public api WTSQuerySessionInformation. Pass WTSSessionId as the WTSInfoClass parameter\n// \ntypedef BOOLEAN (WINAPI * PWINSTATIONQUERYINFORMATIONW)(\n    HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG );\n\n\n#endif // _WINTERNL_\n"
  },
  {
    "path": "Bin/i386/Syser.cmd",
    "content": ""
  },
  {
    "path": "Bin/i386/SyserApp.cmd",
    "content": ""
  },
  {
    "path": "Bin/i386/mfc_sym/mfc42.def",
    "content": "1 DllGetClassObject\n2 DllCanUnloadNow\n3 DllRegisterServer\n4 DllUnregisterServer\n5 CRuntimeconst CCachedDataPathProperty::classCCachedDataPathProperty\n6 CRuntimeconst CDataPathProperty::classCDataPathProperty\n256 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n257 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n258 _AFX_CONTROLPOS::_AFX_CONTROLPOS()\n259 _AFX_DAO_STATE::_AFX_DAO_STATE()\n260 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n261 _AFX_OLE_STATE::_AFX_OLE_STATE()\n262 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n263 _AFX_WIN_STATE::_AFX_WIN_STATE()\n264 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n265 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n266 AFX_CLASSINIT::AFX_CLASSINIT(CRuntime*)\n267 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n268 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n269 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long)\n270 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n271 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n272 CAnimateCtrl::CAnimateCtrl()\n273 CArchive::CArchive(CFile *,unsigned int,int,void *)\n274 CArchivePropExchange::CArchivePropExchange(CArchive &)\n275 CArchiveStream::CArchiveStream(CArchive *)\n276 CAsyncMonikerFile::CAsyncMonikerFile()\n277 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n278 CAsyncSocket::CAsyncSocket()\n279 CBitmap::CBitmap()\n280 CBitmapButton::CBitmapButton()\n281 CBlobProperty::CBlobProperty(void *)\n282 CBrush::CBrush(int,unsigned long)\n283 CBrush::CBrush(unsigned long)\n284 CBrush::CBrush(CBitmap *)\n285 CBrush::CBrush()\n286 CButton::CButton()\n287 CByteArray::CByteArray()\n288 CCheckListBox::CCheckListBox()\n289 CClientDC::CClientDC(CWnd *)\n290 CCmdTarget::CCmdTarget()\n291 CCmdUI::CCmdUI()\n292 CColorButton::CColorButton()\n293 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n294 CColorPropPage::CColorPropPage()\n295 CComboBox::CComboBox()\n296 CCommandLineInfo::CCommandLineInfo()\n297 CConnectionPoint::CConnectionPoint()\n298 CControlBar::CControlBar()\n299 CControlBarInfo::CControlBarInfo()\n300 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n301 CControlFrameWnd::CControlFrameWnd(COleControl *)\n302 CCriticalSection::CCriticalSection()\n303 CCtrlView::CCtrlView(char const *,unsigned long)\n304 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n305 CDaoException::CDaoException()\n306 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n307 CDaoIndexFieldInfo::CDaoIndexFieldInfo()\n308 CDaoIndexInfo::CDaoIndexInfo()\n309 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n310 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n311 CDaoRecordView::CDaoRecordView(unsigned int)\n312 CDaoRecordView::CDaoRecordView(char const *)\n313 CDaoRelationFieldInfo::CDaoRelationFieldInfo()\n314 CDaoRelationInfo::CDaoRelationInfo()\n315 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n316 CDaoWorkspace::CDaoWorkspace()\n317 CDatabase::CDatabase()\n318 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n319 CDataExchange::CDataExchange(CWnd *,int)\n320 CDataSourceControl::CDataSourceControl(COleControlSite *)\n321 CDBException::CDBException(short)\n322 CDBVariant::CDBVariant()\n323 CDC::CDC()\n324 CDialog::CDialog(unsigned int,CWnd *)\n325 CDialog::CDialog(char const *,CWnd *)\n326 CDialog::CDialog()\n327 CDialogBar::CDialogBar()\n328 CDialogTemplate::CDialogTemplate(void *)\n329 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n330 CDocItem::CDocItem()\n331 CDockBar::CDockBar(int)\n332 CDockContext::CDockContext(CControlBar *)\n333 CDockState::CDockState()\n334 CDocManager::CDocManager()\n335 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n336 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n337 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n338 CDocument::CDocument()\n339 CDragListBox::CDragListBox()\n340 CDumpContext::CDumpContext(CFile *)\n341 CDWordArray::CDWordArray()\n342 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n343 CEdit::CEdit()\n344 CEditView::CEditView()\n345 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n346 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n347 CEnumFormatEtc::CEnumFormatEtc()\n348 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n349 CException::CException(int)\n350 CException::CException()\n351 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n352 CFile::CFile(int)\n353 CFile::CFile(char const *,unsigned int)\n354 CFile::CFile()\n355 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *)\n356 CFileFind::CFileFind()\n357 CFindReplaceDialog::CFindReplaceDialog()\n358 CFont::CFont()\n359 CFontComboBox::CFontComboBox()\n360 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n361 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n362 CFontHolder::CFontHolder(IPropertyNotifySink *)\n363 CFontPropPage::CFontPropPage()\n364 CFormView::CFormView(unsigned int)\n365 CFormView::CFormView(char const *)\n366 CFrameWnd::CFrameWnd()\n367 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n368 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n369 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n370 CGdiObject::CGdiObject()\n371 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n372 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n373 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n374 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n375 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n376 CGopherLocator::CGopherLocator(char const *,unsigned long)\n377 CHandleMap::CHandleMap(CRuntime*,unsigned int,int)\n378 CHeaderCtrl::CHeaderCtrl()\n379 CHotKeyCtrl::CHotKeyCtrl()\n380 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n381 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n382 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n383 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n384 CImageList::CImageList()\n385 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n386 CInternetException::CInternetException(unsigned long)\n387 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n388 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n389 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n390 CListBox::CListBox()\n391 CListCtrl::CListCtrl()\n392 CListView::CListView()\n393 CLongBinary::CLongBinary()\n394 CMapPtrToPtr::CMapPtrToPtr(int)\n395 CMapPtrToWord::CMapPtrToWord(int)\n396 CMapStringToOb::CMapStringToOb(int)\n397 CMapStringToPtr::CMapStringToPtr(int)\n398 CMapStringToString::CMapStringToString(int)\n399 CMapWordToOb::CMapWordToOb(int)\n400 CMapWordToPtr::CMapWordToPtr(int)\n401 CMDIChildWnd::CMDIChildWnd()\n402 CMDIFrameWnd::CMDIFrameWnd()\n403 CMemFile::CMemFile(unsigned int)\n404 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n405 CMenu::CMenu()\n406 CMetaFileDC::CMetaFileDC()\n407 CMiniDockFrameWnd::CMiniDockFrameWnd()\n408 CMiniFrameWnd::CMiniFrameWnd()\n409 CMirrorFile::CMirrorFile()\n410 CMonikerFile::CMonikerFile()\n411 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n412 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n413 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n414 CObArray::CObArray()\n415 CObList::CObList(int)\n416 CODBCFieldInfo::CODBCFieldInfo()\n417 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n418 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n419 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n420 COleClientItem::COleClientItem(COleDocument *)\n421 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n422 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n423 COleControl::COleControl()\n424 COleControlContainer::COleControlContainer(CWnd *)\n425 COleControlLock::COleControlLock(_GUID const &)\n426 COleControlSite::COleControlSite(COleControlContainer *)\n427 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n428 COleCurrency::COleCurrency(long,long)\n429 COleDataObject::COleDataObject()\n430 COleDataSource::COleDataSource()\n431 COleDialog::COleDialog(CWnd *)\n432 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n433 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n434 COleDispatchDriver::COleDispatchDriver()\n435 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n436 COleDocIPFrameWnd::COleDocIPFrameWnd()\n437 COleDocument::COleDocument()\n438 COleDropSource::COleDropSource()\n439 COleDropTarget::COleDropTarget()\n440 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n441 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n442 COleIPFrameWnd::COleIPFrameWnd()\n443 COleLinkingDoc::COleLinkingDoc()\n444 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n445 COleMessageFilter::COleMessageFilter()\n446 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n447 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n448 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n449 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n450 COleResizeBar::COleResizeBar()\n451 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n452 COleSafeArray::COleSafeArray(tagVARIANT const &)\n453 COleSafeArray::COleSafeArray(COleSafeArray const &)\n454 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n455 COleSafeArray::COleSafeArray(tagVARIANT const *)\n456 COleServerDoc::COleServerDoc()\n457 COleServerItem::COleServerItem(COleServerDoc *,int)\n458 COleStreamFile::COleStreamFile(IStream *)\n459 COleTemplateServer::COleTemplateServer()\n460 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n461 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n462 COleVariant::COleVariant(tagVARIANT const &)\n463 COleVariant::COleVariant(COleVariant const &)\n464 COleVariant::COleVariant(short,unsigned short)\n465 COleVariant::COleVariant(long,unsigned short)\n466 COleVariant::COleVariant(char const *,unsigned short)\n467 COleVariant::COleVariant(tagVARIANT const *)\n468 COleVariant::COleVariant()\n469 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n470 CPaintDC::CPaintDC(CWnd *)\n471 CPalette::CPalette()\n472 CPen::CPen(int,int,unsigned long)\n473 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n474 CPen::CPen()\n475 CPictureHolder::CPictureHolder()\n476 CPicturePropPage::CPicturePropPage()\n477 CPoint::CPoint(unsigned long)\n478 CPoint::CPoint(tagPOINT)\n479 CPreviewDC::CPreviewDC()\n480 CPreviewView::CPreviewView()\n481 CPrintDialog::CPrintDialog(tagPDA &)\n482 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n483 CPrintInfo::CPrintInfo()\n484 CPrintPreviewState::CPrintPreviewState()\n485 CProgressCtrl::CProgressCtrl()\n486 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n487 CProperty::CProperty(unsigned long,void * const,unsigned long)\n488 CProperty::CProperty()\n489 CPropertyPage::CPropertyPage(unsigned int,unsigned int)\n490 CPropertyPage::CPropertyPage(char const *,unsigned int)\n491 CPropertyPage::CPropertyPage()\n492 CPropertySection::CPropertySection(_GUID)\n493 CPropertySection::CPropertySection()\n494 CPropertySet::CPropertySet(_GUID)\n495 CPropertySet::CPropertySet()\n496 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n497 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n498 CPropertySheet::CPropertySheet()\n499 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n500 CPtrArray::CPtrArray()\n501 CPtrList::CPtrList(int)\n502 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n503 CRecordset::CRecordset(CDatabase *)\n504 CRecordView::CRecordView(unsigned int)\n505 CRecordView::CRecordView(char const *)\n506 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n507 CRectTracker::CRectTracker()\n508 CReObject::CReObject(CRichEditCntrItem *)\n509 CReObject::CReObject()\n510 CResetPropExchange::CResetPropExchange()\n511 CRgn::CRgn()\n512 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n513 CRichEditCtrl::CRichEditCtrl()\n514 CRichEditDoc::CRichEditDoc()\n515 CRichEditView::CRichEditView()\n516 CScrollBar::CScrollBar()\n517 CScrollView::CScrollView()\n518 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n519 CSharedFile::CSharedFile(unsigned int,unsigned int)\n520 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n521 CSingleLock::CSingleLock(CSyncObject *,int)\n522 CSliderCtrl::CSliderCtrl()\n523 CSocket::CSocket()\n524 CSocketFile::CSocketFile(CSocket *,int)\n525 CSocketWnd::CSocketWnd()\n526 CSpinButtonCtrl::CSpinButtonCtrl()\n527 CSplitterWnd::CSplitterWnd()\n528 CStatic::CStatic()\n529 CStatusBar::CStatusBar()\n530 CStatusBarCtrl::CStatusBarCtrl()\n531 CStdioFile::CStdioFile(_iobuf *)\n532 CStdioFile::CStdioFile(char const *,unsigned int)\n533 CStdioFile::CStdioFile()\n534 CStockPropPage::CStockPropPage(unsigned int,unsigned int)\n535 CString::CString(CString const &)\n536 CString::CString(char,int)\n537 CString::CString(char const *)\n538 CString::CString(char const *,int)\n539 CString::CString(unsigned short const *)\n540 CString::CString()\n541 CStringArray::CStringArray()\n542 CStringList::CStringList(int)\n543 CSyncObject::CSyncObject(char const *)\n544 CTabCtrl::CTabCtrl()\n545 CTestCmdUI::CTestCmdUI()\n546 CThreadSlotData::CThreadSlotData()\n547 CTime::CTime(_FILETIME const &,int)\n548 CTime::CTime(_SYSTEMTIME const &,int)\n549 CTime::CTime(CTime const &)\n550 CTime::CTime(unsigned short,unsigned short,int)\n551 CTime::CTime(int,int,int,int,int,int,int)\n552 CTime::CTime()\n553 CTimeSpan::CTimeSpan()\n554 CToolBar::CToolBar()\n555 CToolBarCtrl::CToolBarCtrl()\n556 CToolTipCtrl::CToolTipCtrl()\n557 CTreeCtrl::CTreeCtrl()\n558 CTreeView::CTreeView()\n559 CUIntArray::CUIntArray()\n560 CView::CView()\n561 CWinApp::CWinApp(char const *)\n562 CWindowDC::CWindowDC(CWnd *)\n563 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n564 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n565 CWinThread::CWinThread()\n566 CWnd::CWnd(HWND__ *)\n567 CWnd::CWnd()\n568 CWordArray::CWordArray()\n569 CPreviewView::PAGE_INFO::PAGE_INFO()\n570 tagFONTOBJECT::tagFONTOBJECT(tagFONTOBJECT const &)\n571 _CIP<IBindCtx,&_GUID const IID_IBindCtx>::~_CIP<IBindCtx,&_GUID const IID_IBindCtx>()\n572 _CIP<IBindHost,&_GUID const IID_IBindHost>::~_CIP<IBindHost,&_GUID const IID_IBindHost>()\n573 _CIP<IBinding,&_GUID const IID_IBinding>::~_CIP<IBinding,&_GUID const IID_IBinding>()\n574 _CIP<IMoniker,&_GUID const IID_IMoniker>::~_CIP<IMoniker,&_GUID const IID_IMoniker>()\n575 _CIP<IServiceProvider,&_GUID const IID_IServiceProvider>::~_CIP<IServiceProvider,&_GUID const IID_IServiceProvider>()\n576 _CIP<IStream,&_GUID const IID_IStream>::~_CIP<IStream,&_GUID const IID_IStream>()\n577 CIP<IBindCtx,&_GUID const IID_IBindCtx>::~CIP<IBindCtx,&_GUID const IID_IBindCtx>()\n578 CIP<IBindHost,&_GUID const IID_IBindHost>::~CIP<IBindHost,&_GUID const IID_IBindHost>()\n579 CIP<IBinding,&_GUID const IID_IBinding>::~CIP<IBinding,&_GUID const IID_IBinding>()\n580 CIP<IMoniker,&_GUID const IID_IMoniker>::~CIP<IMoniker,&_GUID const IID_IMoniker>()\n581 CIP<IServiceProvider,&_GUID const IID_IServiceProvider>::~CIP<IServiceProvider,&_GUID const IID_IServiceProvider>()\n582 CIP<IStream,&_GUID const IID_IStream>::~CIP<IStream,&_GUID const IID_IStream>()\n583 CThreadLocal<AFX_MODULE_THREAD_STATE>::~CThreadLocal<AFX_MODULE_THREAD_STATE>()\n584 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n585 _AFX_CTL3D_STATE::~_AFX_CTL3D_STATE()\n586 _AFX_CTL3D_THREAD::~_AFX_CTL3D_THREAD()\n587 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n588 _AFX_DB_STATE::~_AFX_DB_STATE()\n589 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n590 _AFX_EXTDLL_STATE::~_AFX_EXTDLL_STATE()\n591 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n592 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n593 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n594 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n595 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n596 _AFX_WIN_STATE::~_AFX_WIN_STATE()\n597 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n598 AFX_COM::~AFX_COM()\n599 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n600 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n601 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n602 CAnimateCtrl::~CAnimateCtrl()\n603 CArchive::~CArchive()\n604 CAsyncMonikerFile::~CAsyncMonikerFile()\n605 CAsyncSocket::~CAsyncSocket()\n606 CBitmap::~CBitmap()\n607 CBitmapButton::~CBitmapButton()\n608 CBrush::~CBrush()\n609 CButton::~CButton()\n610 CByteArray::~CByteArray()\n611 CCachedDataPathProperty::~CCachedDataPathProperty()\n612 CCheckListBox::~CCheckListBox()\n613 CClientDC::~CClientDC()\n614 CCmdTarget::~CCmdTarget()\n615 CColorButton::~CColorButton()\n616 CComboBox::~CComboBox()\n617 CCommandLineInfo::~CCommandLineInfo()\n618 CCommonDialog::~CCommonDialog()\n619 CConnectionPoint::~CConnectionPoint()\n620 CControlBar::~CControlBar()\n621 CCriticalSection::~CCriticalSection()\n622 CCtrlView::~CCtrlView()\n623 CDaoDatabase::~CDaoDatabase()\n624 CDaoException::~CDaoException()\n625 CDaoFieldInfo::~CDaoFieldInfo()\n626 CDaoIndexFieldInfo::~CDaoIndexFieldInfo()\n627 CDaoIndexInfo::~CDaoIndexInfo()\n628 CDaoQueryDef::~CDaoQueryDef()\n629 CDaoRecordset::~CDaoRecordset()\n630 CDaoRecordView::~CDaoRecordView()\n631 CDaoRelationFieldInfo::~CDaoRelationFieldInfo()\n632 CDaoRelationInfo::~CDaoRelationInfo()\n633 CDaoTableDef::~CDaoTableDef()\n634 CDaoWorkspace::~CDaoWorkspace()\n635 CDatabase::~CDatabase()\n636 CDataPathProperty::~CDataPathProperty()\n637 CDataSourceControl::~CDataSourceControl()\n638 CDBException::~CDBException()\n639 CDBVariant::~CDBVariant()\n640 CDC::~CDC()\n641 CDialog::~CDialog()\n642 CDialogBar::~CDialogBar()\n643 CDialogTemplate::~CDialogTemplate()\n644 CDocItem::~CDocItem()\n645 CDockBar::~CDockBar()\n646 CDockContext::~CDockContext()\n647 CDockState::~CDockState()\n648 CDocManager::~CDocManager()\n649 CDocObjectServer::~CDocObjectServer()\n650 CDocObjectServerItem::~CDocObjectServerItem()\n651 CDocTemplate::~CDocTemplate()\n652 CDocument::~CDocument()\n653 CDragListBox::~CDragListBox()\n654 CDWordArray::~CDWordArray()\n655 CDynLinkLibrary::~CDynLinkLibrary()\n656 CEdit::~CEdit()\n657 CEditView::~CEditView()\n658 CEnumArray::~CEnumArray()\n659 CEnumConnPoints::~CEnumConnPoints()\n660 CEnumFormatEtc::~CEnumFormatEtc()\n661 CEnumOleVerb::~CEnumOleVerb()\n662 CEnumUnknown::~CEnumUnknown()\n663 CEvent::~CEvent()\n664 CException::~CException()\n665 CFile::~CFile()\n666 CFileDialog::~CFileDialog()\n667 CFileException::~CFileException()\n668 CFileFind::~CFileFind()\n669 CFont::~CFont()\n670 CFontComboBox::~CFontComboBox()\n671 CFontDialog::~CFontDialog()\n672 CFontHolder::~CFontHolder()\n673 CFormView::~CFormView()\n674 CFrameWnd::~CFrameWnd()\n675 CFtpConnection::~CFtpConnection()\n676 CFtpFileFind::~CFtpFileFind()\n677 CGdiObject::~CGdiObject()\n678 CGopherConnection::~CGopherConnection()\n679 CGopherFile::~CGopherFile()\n680 CGopherFileFind::~CGopherFileFind()\n681 CGopherLocator::~CGopherLocator()\n682 CHeaderCtrl::~CHeaderCtrl()\n683 CHotKeyCtrl::~CHotKeyCtrl()\n684 CHttpConnection::~CHttpConnection()\n685 CHttpFile::~CHttpFile()\n686 CImageList::~CImageList()\n687 CInternetConnection::~CInternetConnection()\n688 CInternetException::~CInternetException()\n689 CInternetFile::~CInternetFile()\n690 CInternetSession::~CInternetSession()\n691 COleServerItem::CItemDataSource::~CItemDataSource()\n692 CListBox::~CListBox()\n693 CListCtrl::~CListCtrl()\n694 CListView::~CListView()\n695 CLongBinary::~CLongBinary()\n696 CMapPtrToPtr::~CMapPtrToPtr()\n697 CMapPtrToWord::~CMapPtrToWord()\n698 CMapStringToOb::~CMapStringToOb()\n699 CMapStringToPtr::~CMapStringToPtr()\n700 CMapStringToString::~CMapStringToString()\n701 CMapWordToOb::~CMapWordToOb()\n702 CMapWordToPtr::~CMapWordToPtr()\n703 CMemFile::~CMemFile()\n704 CMenu::~CMenu()\n705 CMetaFileDC::~CMetaFileDC()\n706 CMiniFrameWnd::~CMiniFrameWnd()\n707 CMirrorFile::~CMirrorFile()\n708 CMonikerFile::~CMonikerFile()\n709 CMultiDocTemplate::~CMultiDocTemplate()\n710 CMultiLock::~CMultiLock()\n711 CMutex::~CMutex()\n712 CNoTrackObject::~CNoTrackObject()\n713 CObArray::~CObArray()\n714 CObject::~CObject()\n715 CObList::~CObList()\n716 CODBCFieldInfo::~CODBCFieldInfo()\n717 COleBusyDialog::~COleBusyDialog()\n718 COleChangeIconDialog::~COleChangeIconDialog()\n719 COleChangeSourceDialog::~COleChangeSourceDialog()\n720 COleClientItem::~COleClientItem()\n721 COleCmdUI::~COleCmdUI()\n722 COleCntrFrameWnd::~COleCntrFrameWnd()\n723 COleControl::~COleControl()\n724 COleControlContainer::~COleControlContainer()\n725 COleControlLock::~COleControlLock()\n726 COleControlSite::~COleControlSite()\n727 COleConvertDialog::~COleConvertDialog()\n728 COleDataObject::~COleDataObject()\n729 COleDataSource::~COleDataSource()\n730 COleDialog::~COleDialog()\n731 COleDispatchDriver::~COleDispatchDriver()\n732 COleDispatchException::~COleDispatchException()\n733 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n734 COleDocument::~COleDocument()\n735 COleDropSource::~COleDropSource()\n736 COleDropTarget::~COleDropTarget()\n737 COleFrameHook::~COleFrameHook()\n738 COleInsertDialog::~COleInsertDialog()\n739 COleIPFrameWnd::~COleIPFrameWnd()\n740 COleLinkingDoc::~COleLinkingDoc()\n741 COleLinksDialog::~COleLinksDialog()\n742 COleMessageFilter::~COleMessageFilter()\n743 COleObjectFactory::~COleObjectFactory()\n744 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n745 COlePropertiesDialog::~COlePropertiesDialog()\n746 COlePropertyPage::~COlePropertyPage()\n747 COleResizeBar::~COleResizeBar()\n748 COleServerDoc::~COleServerDoc()\n749 COleServerItem::~COleServerItem()\n750 COleStreamFile::~COleStreamFile()\n751 COleTemplateServer::~COleTemplateServer()\n752 COleUpdateDialog::~COleUpdateDialog()\n753 COleVariant::~COleVariant()\n754 CPageSetupDialog::~CPageSetupDialog()\n755 CPaintDC::~CPaintDC()\n756 CPalette::~CPalette()\n757 CPen::~CPen()\n758 CPictureHolder::~CPictureHolder()\n759 CPicturePropPage::~CPicturePropPage()\n760 CPreviewDC::~CPreviewDC()\n761 CPreviewView::~CPreviewView()\n762 CPrintDialog::~CPrintDialog()\n763 CPrintInfo::~CPrintInfo()\n764 CProcessLocalObject::~CProcessLocalObject()\n765 CProgressCtrl::~CProgressCtrl()\n766 CPropbagPropExchange::~CPropbagPropExchange()\n767 CProperty::~CProperty()\n768 CPropertyPage::~CPropertyPage()\n769 CPropertySection::~CPropertySection()\n770 CPropertySet::~CPropertySet()\n771 CPropertySheet::~CPropertySheet()\n772 CPtrArray::~CPtrArray()\n773 CPtrList::~CPtrList()\n774 CRecentFileList::~CRecentFileList()\n775 CRecordset::~CRecordset()\n776 CRecordView::~CRecordView()\n777 CRectTracker::~CRectTracker()\n778 CReObject::~CReObject()\n779 CRgn::~CRgn()\n780 CRichEditCntrItem::~CRichEditCntrItem()\n781 CRichEditCtrl::~CRichEditCtrl()\n782 CRichEditView::~CRichEditView()\n783 CScrollBar::~CScrollBar()\n784 CScrollView::~CScrollView()\n785 CSemaphore::~CSemaphore()\n786 CSharedFile::~CSharedFile()\n787 CSimpleException::~CSimpleException()\n788 CSingleDocTemplate::~CSingleDocTemplate()\n789 CSizeComboBox::~CSizeComboBox()\n790 CSliderCtrl::~CSliderCtrl()\n791 CSocket::~CSocket()\n792 CSocketFile::~CSocketFile()\n793 CSpinButtonCtrl::~CSpinButtonCtrl()\n794 CSplitterWnd::~CSplitterWnd()\n795 CStatic::~CStatic()\n796 CStatusBar::~CStatusBar()\n797 CStatusBarCtrl::~CStatusBarCtrl()\n798 CStdioFile::~CStdioFile()\n799 CStockPropPage::~CStockPropPage()\n800 CString::~CString()\n801 CStringArray::~CStringArray()\n802 CStringList::~CStringList()\n803 CSyncObject::~CSyncObject()\n804 CTabCtrl::~CTabCtrl()\n805 CThreadLocalObject::~CThreadLocalObject()\n806 CThreadSlotData::~CThreadSlotData()\n807 CToolBar::~CToolBar()\n808 CToolBarCtrl::~CToolBarCtrl()\n809 CToolTipCtrl::~CToolTipCtrl()\n810 CTreeCtrl::~CTreeCtrl()\n811 CTreeView::~CTreeView()\n812 CUIntArray::~CUIntArray()\n813 CView::~CView()\n814 CWaitCursor::~CWaitCursor()\n815 CWinApp::~CWinApp()\n816 CWindowDC::~CWindowDC()\n817 CWinThread::~CWinThread()\n818 CWnd::~CWnd()\n819 CWordArray::~CWordArray()\n820 tagFONTOBJECT::~tagFONTOBJECT()\n821 COleControl::XEventConnPt::~XEventConnPt()\n822 COleControl::XPropConnPt::~XPropConnPt()\n823 void * operator new(unsigned int)\n824 void * CNoTrackObject::operator new(unsigned int)\n825 void operator delete(void *)\n826 void CNoTrackObject::operator delete(void *)\n827 void CObject::operator delete(void *)\n828 _CIP<IBindHost,&_GUID const IID_IBindHost> & _CIP<IBindHost,&_GUID const IID_IBindHost>::operator=(IBindHost *)\n829 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n830 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n831 COleCurrency const & COleCurrency::operator=(union tagCY)\n832 COleDateTime const & COleDateTime::operator=(long const &)\n833 COleDateTime const & COleDateTime::operator=(_FILETIME const &)\n834 COleDateTime const & COleDateTime::operator=(_SYSTEMTIME const &)\n835 COleDateTime const & COleDateTime::operator=(tagVARIANT const &)\n836 COleDateTime const & COleDateTime::operator=(double)\n837 COleDateTimeSpan const & COleDateTimeSpan::operator=(COleDateTimeSpan const &)\n838 COleDateTimeSpan const & COleDateTimeSpan::operator=(double)\n839 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n840 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n841 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n842 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n843 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n844 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n845 COleVariant const & COleVariant::operator=(COleVariant const &)\n846 COleVariant const & COleVariant::operator=(CByteArray const &)\n847 COleVariant const & COleVariant::operator=(CLongBinary const &)\n848 COleVariant const & COleVariant::operator=(COleCurrency const &)\n849 COleVariant const & COleVariant::operator=(COleDateTime const &)\n850 COleVariant const & COleVariant::operator=(CString const &)\n851 COleVariant const & COleVariant::operator=(unsigned char)\n852 COleVariant const & COleVariant::operator=(short)\n853 COleVariant const & COleVariant::operator=(long)\n854 COleVariant const & COleVariant::operator=(float)\n855 COleVariant const & COleVariant::operator=(double)\n856 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n857 COleVariant const & COleVariant::operator=(char const * const)\n858 CString const & CString::operator=(CString const &)\n859 CString const & CString::operator=(char)\n860 CString const & CString::operator=(char const *)\n861 CString const & CString::operator=(unsigned short const *)\n862 CArchive & operator>>(CArchive &,CByteArray * &)\n863 CArchive & operator>>(CArchive &,CDocItem * &)\n864 CArchive & operator>>(CArchive &,CDockState * &)\n865 CArchive & operator>>(CArchive &,CDWordArray * &)\n866 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n867 CArchive & operator>>(CArchive &,CMapStringToString * &)\n868 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n869 CArchive & operator>>(CArchive &,CObArray * &)\n870 CArchive & operator>>(CArchive &,CObList * &)\n871 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n872 CArchive & operator>>(CArchive &,CStringArray * &)\n873 CArchive & operator>>(CArchive &,CStringList * &)\n874 CArchive & operator>>(CArchive &,CWordArray * &)\n875 CArchive & operator>>(CArchive &,COleCurrency &)\n876 CArchive & operator>>(CArchive &,COleDateTime &)\n877 CArchive & operator>>(CArchive &,COleDateTimeSpan &)\n878 CArchive & operator>>(CArchive &,COleVariant &)\n879 CArchive & operator>>(CArchive &,CString &)\n880 CArchive & operator>>(CArchive &,CTime &)\n881 CArchive & operator>>(CArchive &,CTimeSpan &)\n882 CArchive & operator<<(CArchive &,CString const &)\n883 CArchive & operator<<(CArchive &,COleCurrency)\n884 CArchive & operator<<(CArchive &,COleDateTime)\n885 CArchive & operator<<(CArchive &,COleDateTimeSpan)\n886 CArchive & operator<<(CArchive &,COleVariant)\n887 CArchive & operator<<(CArchive &,CTime)\n888 CArchive & operator<<(CArchive &,CTimeSpan)\n889 CDumpContext & CDumpContext::operator<<(CObject const &)\n890 CDumpContext & CDumpContext::operator<<(unsigned char)\n891 CDumpContext & CDumpContext::operator<<(unsigned short)\n892 CDumpContext & CDumpContext::operator<<(int)\n893 CDumpContext & CDumpContext::operator<<(unsigned int)\n894 CDumpContext & CDumpContext::operator<<(long)\n895 CDumpContext & CDumpContext::operator<<(unsigned long)\n896 CDumpContext & CDumpContext::operator<<(char const *)\n897 CDumpContext & CDumpContext::operator<<(unsigned short const *)\n898 CDumpContext & CDumpContext::operator<<(CObject const *)\n899 CDumpContext & CDumpContext::operator<<(void const *)\n900 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n901 int COleSafeArray::operator==(tagVARIANT const &)const \n902 int COleSafeArray::operator==(COleSafeArray const &)const \n903 int COleSafeArray::operator==(COleVariant const &)const \n904 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n905 int COleSafeArray::operator==(tagVARIANT const *)const \n906 int COleVariant::operator==(tagVARIANT const &)const \n907 int CTime::operator==(CTime)const \n908 int CTime::operator!=(CTime)const \n909 void * & CMapPtrToPtr::operator[](void *)\n910 unsigned short & CMapPtrToWord::operator[](void *)\n911 CObject * & CMapStringToOb::operator[](char const *)\n912 void * & CMapStringToPtr::operator[](char const *)\n913 CString & CMapStringToString::operator[](char const *)\n914 CObject * & CMapWordToOb::operator[](unsigned short)\n915 void * & CMapWordToPtr::operator[](unsigned short)\n916 COleCurrency COleCurrency::operator*(long)const \n917 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n918 COleCurrency COleCurrency::operator-()const \n919 COleDateTime COleDateTime::operator-(COleDateTimeSpan const &)const \n920 COleDateTimeSpan COleDateTime::operator-(COleDateTime const &)const \n921 COleDateTimeSpan COleDateTimeSpan::operator-(COleDateTimeSpan const &)const \n922 CString operator+(CString const &,CString const &)\n923 CString operator+(CString const &,char)\n924 CString operator+(CString const &,char const *)\n925 CString operator+(char,CString const &)\n926 CString operator+(char const *,CString const &)\n927 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n928 COleDateTime COleDateTime::operator+(COleDateTimeSpan const &)const \n929 COleDateTimeSpan COleDateTimeSpan::operator+(COleDateTimeSpan const &)const \n930 COleCurrency COleCurrency::operator/(long)const \n931 int COleCurrency::operator<(COleCurrency const &)const \n932 int COleDateTime::operator<(COleDateTime const &)const \n933 int COleCurrency::operator<=(COleCurrency const &)const \n934 int COleDateTime::operator<=(COleDateTime const &)const \n935 int COleCurrency::operator>(COleCurrency const &)const \n936 int COleDateTime::operator>(COleDateTime const &)const \n937 int COleCurrency::operator>=(COleCurrency const &)const \n938 int COleDateTime::operator>=(COleDateTime const &)const \n939 CString const & CString::operator+=(CString const &)\n940 CString const & CString::operator+=(char)\n941 CString const & CString::operator+=(char const *)\n942 int _AfxAbortProc(HDC__ *,int)\n943 AFX_ADVAPI_CALL _afxAdvApi\n944 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n945 AFX_COMDLG_CALL _afxComDlg\n946 AFX_COMMCTRL_CALL _afxCommCtrl\n947 int const _afxDBCS\n948 AFX_ODBC_CALL _afxODBC\n949 AFX_OLE_CALL _afxOLE\n950 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n951 AFX_SHELL_CALL _afxShell\n952 AFX_SOCK_CALL _afxSOCK\n953 AFX_URLMON_CALL _afxUrlMon\n954 AFX_WINSPOOL_CALL _afxWinSpool\n955 int _mbstowcsz(unsigned short *,char const *,unsigned int)\n956 int _wcstombsz(char *,unsigned short const *,unsigned int)\n957 void CArchive::Abort()\n958 void CFile::Abort()\n959 void CInternetFile::Abort()\n960 void CMemFile::Abort()\n961 void CMirrorFile::Abort()\n962 void COleStreamFile::Abort()\n963 void CSocketFile::Abort()\n964 void CStdioFile::Abort()\n965 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n966 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n967 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n968 void COleSafeArray::AccessData(void * *)\n969 void COleClientItem::Activate(long,CView *,tagMSG *)\n970 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n971 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n972 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n973 void CDocObjectServer::ActivateDocObject()\n974 void COleServerDoc::ActivateDocObject()\n975 void CFrameWnd::ActivateFrame(int)\n976 void CMDIChildWnd::ActivateFrame(int)\n977 int COleServerDoc::ActivateInPlace()\n978 void CSplitterWnd::ActivateNext(int)\n979 void CWnd::ActivateTopParent()\n980 void CRecentFileList::Add(char const *)\n981 int CToolBarCtrl::AddBitmap(int,unsigned int)\n982 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n983 void COleClientItem::AddCachedData(COleDataSource *)\n984 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n985 void CDocManager::AddDocTemplate(CDocTemplate *)\n986 void CWinApp::AddDocTemplate(CDocTemplate *)\n987 void CDocTemplate::AddDocument(CDocument *)\n988 void CMultiDocTemplate::AddDocument(CDocument *)\n989 void CSingleDocTemplate::AddDocument(CDocument *)\n990 int CFontComboBox::AddFont(tagLOGFONTA *,unsigned long)\n991 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n992 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n993 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n994 void COleControl::AddFrameLevelUI()\n995 void CFrameWnd::AddFrameWnd()\n996 __POSITION * CObList::AddHead(CObject *)\n997 void CObList::AddHead(CObList *)\n998 __POSITION * CPtrList::AddHead(void *)\n999 void CPtrList::AddHead(CPtrList *)\n1000 void CSimpleList::AddHead(void *)\n1001 __POSITION * CStringList::AddHead(char const *)\n1002 void CStringList::AddHead(CStringList *)\n1003 void COleDocument::AddItem(CDocItem *)\n1004 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1005 void CDaoRecordset::AddNew()\n1006 void CRecordset::AddNew()\n1007 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1008 void CPropertySheet::AddPage(CPropertyPage *)\n1009 void CPropertySection::AddProperty(CProperty *)\n1010 void CPropertySet::AddProperty(_GUID,CProperty *)\n1011 unsigned long CArchiveStream::AddRef()\n1012 unsigned long CBlobProperty::AddRef()\n1013 unsigned long CInnerUnknown::AddRef()\n1014 unsigned long COleConnPtContainer::AddRef()\n1015 unsigned long COleDispatchImpl::AddRef()\n1016 unsigned long COleUILinkInfo::AddRef()\n1017 unsigned long COleClientItem::XAdviseSink::AddRef()\n1018 unsigned long COleControlSite::XAmbientProps::AddRef()\n1019 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1020 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1021 unsigned long CConnectionPoint::XConnPt::AddRef()\n1022 unsigned long COleControl::XDataObject::AddRef()\n1023 unsigned long COleDataSource::XDataObject::AddRef()\n1024 unsigned long COleServerDoc::XDataObject::AddRef()\n1025 unsigned long COleServerItem::XDataObject::AddRef()\n1026 unsigned long COleDropSource::XDropSource::AddRef()\n1027 unsigned long COleDropTarget::XDropTarget::AddRef()\n1028 unsigned long CEnumArray::XEnumVOID::AddRef()\n1029 unsigned long COleControlSite::XEventSink::AddRef()\n1030 unsigned long COleControl::XFontNotification::AddRef()\n1031 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1032 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1033 unsigned long COleControl::XOleCache::AddRef()\n1034 unsigned long COleClientItem::XOleClientSite::AddRef()\n1035 unsigned long COleControlSite::XOleClientSite::AddRef()\n1036 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1037 unsigned long COleControlContainer::XOleContainer::AddRef()\n1038 unsigned long COleControl::XOleControl::AddRef()\n1039 unsigned long COleControlSite::XOleControlSite::AddRef()\n1040 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1041 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1042 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1043 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1044 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1045 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1046 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1047 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1048 unsigned long COleClientItem::XOleIPSite::AddRef()\n1049 unsigned long COleControlSite::XOleIPSite::AddRef()\n1050 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1051 unsigned long CDocObjectServer::XOleObject::AddRef()\n1052 unsigned long COleControl::XOleObject::AddRef()\n1053 unsigned long COleServerDoc::XOleObject::AddRef()\n1054 unsigned long COleServerItem::XOleObject::AddRef()\n1055 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1056 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1057 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1058 unsigned long COleControl::XPersistMemory::AddRef()\n1059 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1060 unsigned long COleControl::XPersistStorage::AddRef()\n1061 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1062 unsigned long COleControl::XPersistStreamInit::AddRef()\n1063 unsigned long COleControl::XPointerInactive::AddRef()\n1064 unsigned long CDocObjectServer::XPrint::AddRef()\n1065 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1066 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1067 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1068 unsigned long COleControl::XProvideClassInfo::AddRef()\n1069 unsigned long COleControl::XQuickActivate::AddRef()\n1070 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1071 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1072 unsigned long COleControl::XViewObject::AddRef()\n1073 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1074 int CHttpFile::AddRequestHeaders(CString &,unsigned long)\n1075 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1076 CPropertySection * CPropertySet::AddSection(_GUID)\n1077 void CPropertySet::AddSection(CPropertySection *)\n1078 int CSizeComboBox::AddSize(int,long)\n1079 void COlePasteSpecialDialog::AddStandardFormats(int)\n1080 int CToolBarCtrl::AddString(unsigned int)\n1081 __POSITION * CObList::AddTail(CObject *)\n1082 void CObList::AddTail(CObList *)\n1083 __POSITION * CPtrList::AddTail(void *)\n1084 void CPtrList::AddTail(CPtrList *)\n1085 __POSITION * CStringList::AddTail(char const *)\n1086 void CStringList::AddTail(CStringList *)\n1087 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1088 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1089 void CWinApp::AddToRecentFileList(char const *)\n1090 void CDocument::AddView(CView *)\n1091 void CMetaFileDC::AdjustCP(int)\n1092 void CRichEditView::AdjustDialogPosition(CDialog *)\n1093 void CRectTracker::AdjustRect(int,tagRECT *)\n1094 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1095 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1096 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1097 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1098 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1099 unsigned short * AfxA2WHelper(unsigned short *,char const *,int)\n1100 void AfxAbort()\n1101 char * AfxAllocTaskAnsiString(char const *)\n1102 char * AfxAllocTaskAnsiString(unsigned short const *)\n1103 unsigned short * AfxAllocTaskWideString(char const *)\n1104 unsigned short * AfxAllocTaskWideString(unsigned short const *)\n1105 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1106 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1107 unsigned short * AfxBSTR2ABSTR(unsigned short *)\n1108 void AfxBSTR2CString(CString *,unsigned short *)\n1109 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1110 void AfxCancelModes(HWND__ *)\n1111 int AfxComparePath(char const *,char const *)\n1112 int AfxCompareValueByRef(void *,void *,int)\n1113 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1114 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1115 void AfxCopyValueByRef(void *,void *,long *,int)\n1116 void AfxCoreInitModule()\n1117 HDC__ * AfxCreateDC(void *,void *)\n1118 int AfxCriticalInit()\n1119 int AfxCriticalNewHandler(unsigned int)\n1120 void AfxCriticalTerm()\n1121 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1122 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1123 _DAODBEngine * AfxDaoGetEngine()\n1124 void AfxDaoInit()\n1125 void AfxDaoTerm()\n1126 AUX_DATA afxData\n1127 void AfxDeleteObject(void * *)\n1128 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1129 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1130 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1131 long AfxDllCanUnloadNow()\n1132 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1133 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1134 void AfxEnableControlContainer(COccManager *)\n1135 void AfxEnableWin31Compatibility()\n1136 void AfxEnableWin40Compatibility()\n1137 int AfxEndDeferRegisterClass(long)\n1138 void AfxEndThread(unsigned int,int)\n1139 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1140 int AfxExtractSubString(CString &,char const *,int,char)\n1141 void AfxFailMaxChars(CDataExchange *,int)\n1142 void AfxFailRadio(CDataExchange *)\n1143 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1144 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1145 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1146 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1147 void AfxFormatString1(CString &,unsigned int,char const *)\n1148 void AfxFormatString2(CString &,unsigned int,char const *,char const *)\n1149 void AfxFormatStrings(CString &,unsigned int,char const * const *,int)\n1150 void AfxFormatStrings(CString &,char const *,char const * const *,int)\n1151 int AfxFreeLibrary(HINSTANCE__ *)\n1152 int AfxFullPath(char *,char const *)\n1153 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1154 AFX_MODULE_STATE * AfxGetAppModuleState()\n1155 long AfxGetClassIDFromString(char const *,_GUID *)\n1156 _AFX_CTL3D_STATE * AfxGetCtl3dState()\n1157 _AFX_DAO_STATE * AfxGetDaoState()\n1158 CString const & AfxGetEmptyString()\n1159 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1160 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1161 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1162 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1163 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1164 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1165 int AfxGetInProcServer(char const *,CString &)\n1166 unsigned long AfxGetInternetHandleType(void *)\n1167 void AfxGetModuleShortFileName(HINSTANCE__ *,CString &)\n1168 AFX_MODULE_STATE * AfxGetModuleState()\n1169 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1170 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1171 HWND__ * AfxGetParentOwner(HWND__ *)\n1172 int AfxGetPropSheetFont(CString &,unsigned short &,int)\n1173 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1174 void AfxGetRoot(char const *,CString &)\n1175 CWinThread * AfxGetThread()\n1176 _AFX_THREAD_STATE * AfxGetThreadState()\n1177 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1178 void AfxGlobalFree(void *)\n1179 int AfxHelpEnabled()\n1180 void AfxHookWindowCreate(CWnd *)\n1181 void AfxINetLoad(int (__stdcall**)(),char const *)\n1182 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1183 void AfxInitLocalData(HINSTANCE__ *)\n1184 void AfxInitThread()\n1185 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1186 int AfxIsDescendant(HWND__ *,HWND__ *)\n1187 int AfxIsValidAddress(void const *,unsigned int,int)\n1188 int AfxIsValidString(char const *,int)\n1189 int AfxIsValidString(unsigned short const *,int)\n1190 HINSTANCE__ * AfxLoadDll(HINSTANCE__ * * volatile,char const *)\n1191 HINSTANCE__ * AfxLoadDll(HINSTANCE__ * * volatile,char const *,int (__stdcall**)(),char const *)\n1192 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1193 HINSTANCE__ * AfxLoadLibrary(char const *)\n1194 int AfxLoadString(unsigned int,char *,unsigned int)\n1195 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1196 void AfxLockGlobals(int)\n1197 void AfxLockTempMaps()\n1198 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1199 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1200 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1201 int AfxNewHandler(unsigned int)\n1202 int AfxOleCanExitApp()\n1203 int AfxOleGetUserCtrl()\n1204 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1205 int AfxOleInit()\n1206 void AfxOleLockApp()\n1207 int AfxOleLockControl(_GUID const &)\n1208 int AfxOleLockControl(char const *)\n1209 void AfxOleOnReleaseAllObjects()\n1210 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1211 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1212 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1213 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1214 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1215 int AfxOleRegisterServerClassCompat(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1216 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1217 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1218 void AfxOleSetUserCtrl(int)\n1219 void AfxOleTerm(int)\n1220 void AfxOleTermOrFreeLib(int,int)\n1221 int AfxOleTypeMatchGuid(ITypeInfo *,tagTYPEDESC *,_GUID const &,unsigned long)\n1222 void AfxOleUnlockAllControls()\n1223 void AfxOleUnlockApp()\n1224 int AfxOleUnlockControl(_GUID const &)\n1225 int AfxOleUnlockControl(char const *)\n1226 int AfxOleUnregisterClass(_GUID const &,char const *)\n1227 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1228 int AfxParseURL(char const *,unsigned long &,CString &,CString &,unsigned short &)\n1229 void AfxPostQuitMessage(int)\n1230 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1231 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1232 int AfxRegisterClass(tagWNDCLASSA *)\n1233 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1234 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1235 void AfxResetMsgCache()\n1236 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1237 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned int)\n1238 void AfxSafeArrayInit(COleSafeArray *)\n1239 void AfxSetCurrentRecord(long *,long,short)\n1240 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1241 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1242 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1243 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1244 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1245 void AfxSetRecordCount(long *,long,long,int,short)\n1246 void AfxSetWindowText(HWND__ *,char const *)\n1247 int AfxSocketInit(WSAData *)\n1248 void AfxSocketTerm()\n1249 void AfxStoreField(CRecordset &,unsigned int,void *)\n1250 CString AfxStringFromCLSID(_GUID const &)\n1251 unsigned short * AfxTaskStringA2W(char const *)\n1252 char * AfxTaskStringW2A(unsigned short const *)\n1253 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1254 void AfxTermLocalData(HINSTANCE__ *,int)\n1255 void AfxTermThread(HINSTANCE__ *)\n1256 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1257 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1258 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1259 void AfxThrowArchiveException(int,char const *)\n1260 void AfxThrowDaoException(int,long)\n1261 void AfxThrowDBException(short,CDatabase *,void *)\n1262 void AfxThrowFileException(int,long,char const *)\n1263 void AfxThrowInternetException(unsigned long,unsigned long)\n1264 void AfxThrowLastCleanup()\n1265 void AfxThrowMemoryException()\n1266 void AfxThrowNotSupportedException()\n1267 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1268 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1269 void AfxThrowOleException(long)\n1270 void AfxThrowResourceException()\n1271 void AfxThrowUserException()\n1564 void AfxTimeToFileTime(CTime const &,_FILETIME *)\n1565 void AfxTlsAddRef()\n1566 void AfxTlsRelease()\n1567 void AfxTryCleanup()\n1568 int AfxUnhookWindowCreate()\n1569 void AfxUnlockGlobals(int)\n1570 int AfxUnlockTempMaps(int)\n1571 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1572 void AfxVariantInit(tagVARIANT *)\n1573 int AfxVerifyLicFile(HINSTANCE__ *,char const *,unsigned short const *,unsigned int)\n1574 char * AfxW2AHelper(char *,unsigned short const *,int)\n1575 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1576 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1577 void AfxWinTerm()\n1578 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1579 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1580 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1581 unsigned char * CMemFile::Alloc(unsigned long)\n1582 unsigned char * CSharedFile::Alloc(unsigned long)\n1583 void CRecordset::AllocAndCacheFieldInfo()\n1584 void CString::AllocBeforeWrite(int)\n1585 void CString::AllocBuffer(int)\n1586 void CDaoRecordset::AllocCache()\n1587 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1588 void CDatabase::AllocConnect(unsigned long)\n1589 void CString::AllocCopy(CString &,int,int,int)const \n1590 void COleSafeArray::AllocData()\n1591 void CDaoRecordset::AllocDatabase()\n1592 void CRecordset::AllocDataCache()\n1593 void COleSafeArray::AllocDescriptor(unsigned long)\n1594 int CControlBar::AllocElements(int,int)\n1595 int CStatusBar::AllocElements(int,int)\n1596 int CRecordset::AllocHstmt()\n1597 void AllocLongBinary(CLongBinary &,unsigned long)\n1598 void CRecordset::AllocRowset()\n1599 int CThreadSlotData::AllocSlot()\n1600 void CRecordset::AllocStatusArrays()\n1601 unsigned short * CString::AllocSysString()const \n1602 void * CProperty::AllocValue(unsigned long)\n1603 short COleControl::AmbientAppearance()\n1604 unsigned long COleControl::AmbientBackColor()\n1605 CString COleControl::AmbientDisplayName()\n1606 IFontDisp * COleControl::AmbientFont()\n1607 unsigned long COleControl::AmbientForeColor()\n1608 unsigned long COleControl::AmbientLocaleID()\n1609 CString COleControl::AmbientScaleUnits()\n1610 int COleControl::AmbientShowGrabHandles()\n1611 int COleControl::AmbientShowHatching()\n1612 short COleControl::AmbientTextAlign()\n1613 int COleControl::AmbientUIDead()\n1614 int COleControl::AmbientUserMode()\n1615 int CByteArray::Append(CByteArray const &)\n1616 void CDaoQueryDef::Append()\n1617 void CDaoTableDef::Append()\n1618 void CDaoWorkspace::Append()\n1619 int CDWordArray::Append(CDWordArray const &)\n1620 int CObArray::Append(CObArray const &)\n1621 int CPtrArray::Append(CPtrArray const &)\n1622 int CStringArray::Append(CStringArray const &)\n1623 int CUIntArray::Append(CUIntArray const &)\n1624 int CWordArray::Append(CWordArray const &)\n1625 void CRecordset::AppendFilterAndSortSQL()\n1626 unsigned int CRecordset::AppendNames(CString *,char const *)\n1627 unsigned int CRecordset::AppendNamesValues(void *,CString *,char const *)\n1628 void CDaoFieldExchange::AppendParamType(CString &,unsigned long)\n1629 unsigned int CRecordset::AppendValues(void *,CString *,char const *)\n1630 long COlePropertyPage::XPropertyPage::Apply()\n1631 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1632 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1633 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1634 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1635 void CObject::AssertValid()const \n1636 void CString::AssignCopy(int,char const *)\n1637 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1638 int CAsyncSocket::AsyncSelect(long)\n1639 int CAsyncSocket::Attach(unsigned int,long)\n1640 int CDC::Attach(HDC__ *)\n1641 int CGdiObject::Attach(void *)\n1642 int CImageList::Attach(_IMAGELIST *)\n1643 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1644 int CMenu::Attach(HMENU__ *)\n1645 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1646 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1647 void COleDataObject::Attach(IDataObject *,int)\n1648 void COleSafeArray::Attach(tagVARIANT &)\n1649 void COleStreamFile::Attach(IStream *)\n1650 void COleVariant::Attach(tagVARIANT &)\n1651 int CWnd::Attach(HWND__ *)\n1652 int COleDataObject::AttachClipboard()\n1653 void CWnd::AttachControlSite(CHandleMap *)\n1654 void CWnd::AttachControlSite(CWnd *)\n1655 void COleClientItem::AttachDataObject(COleDataObject &)const \n1656 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1657 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1658 CPrintDialog * CPrintDialog::AttachOnSetup()\n1659 void COleControlSite::AttachWindow()\n1660 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1661 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1662 void COleMessageFilter::BeginBusyState()\n1663 int CDragListBox::BeginDrag(CPoint)\n1664 void COleDataObject::BeginEnumFormats()\n1665 void CFrameWnd::BeginModalState()\n1666 void CWnd::BeginModalState()\n1667 void CDaoWorkspace::BeginTrans()\n1668 int CDatabase::BeginTrans()\n1669 void CCmdTarget::BeginWaitCursor()\n1670 int CAsyncSocket::Bind(unsigned int,char const *)\n1671 void CDataSourceControl::BindColumns()\n1672 void COccManager::BindControls(CWnd *)\n1673 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1674 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1675 void CDaoRecordset::BindFields()\n1676 void CRecordset::BindFieldsForUpdate()\n1677 unsigned int CRecordset::BindFieldsToColumns()\n1678 void CDaoRecordset::BindParameters()\n1679 void CDatabase::BindParameters(void *)\n1680 unsigned int CRecordset::BindParams(void *)\n1681 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1682 void CDataSourceControl::BindProp(COleControlSite *,int)\n1683 void COleControlSite::BindProperty(long,CWnd *)\n1684 void CWnd::BindProperty(long,CWnd *)\n1685 void COleControl::BoundPropertyChanged(long)\n1686 int COleControl::BoundPropertyRequestEdit(long)\n1687 void CFrameWnd::BringToTop(int)\n1688 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1689 void CDaoRecordset::BuildParameterList()\n1690 void CPropertySheet::BuildPropPageArray()\n1691 void CDaoRecordset::BuildSelectList()\n1692 void CRecordset::BuildSelectSQL()\n1693 int COleControl::BuildSharedMenu()\n1694 int COleDocIPFrameWnd::BuildSharedMenu()\n1695 int COleIPFrameWnd::BuildSharedMenu()\n1696 void CDaoRecordset::BuildSQL()\n1697 void CRecordset::BuildSQL(char const *)\n1698 void CRecordset::BuildUpdateSQL()\n1699 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1700 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1701 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1702 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1703 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1704 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1705 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1706 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1707 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1708 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1709 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1710 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1711 CSize CControlBar::CalcFixedLayout(int,int)\n1712 CSize CDialogBar::CalcFixedLayout(int,int)\n1713 CSize CDockBar::CalcFixedLayout(int,int)\n1714 CSize CStatusBar::CalcFixedLayout(int,int)\n1715 CSize CToolBar::CalcFixedLayout(int,int)\n1716 void CControlBar::CalcInsideRect(CRect &,int)const \n1717 void CStatusBar::CalcInsideRect(CRect &,int)const \n1718 CSize CToolBar::CalcLayout(unsigned long,int)\n1719 int CCheckListBox::CalcMinimumItemHeight()\n1720 CSize CPreviewView::CalcPageDisplaySize()\n1721 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1722 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1723 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1724 void CMiniFrameWnd::CalcWindowRect(tagRECT *,unsigned int)\n1725 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1726 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1727 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1728 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1729 int COleClientItem::CanActivate()\n1730 int CRichEditCntrItem::CanActivate()\n1731 int CSplitterWnd::CanActivateNext(int)\n1732 int CDaoRecordset::CanAppend()const \n1733 int CDaoRecordset::CanBookmark()\n1734 int CRecordset::CanBookmark()const \n1735 void CDatabase::Cancel()\n1736 void CRecordset::Cancel()\n1737 void CSocket::CancelBlockingCall()\n1738 void CDragListBox::CancelDrag(CPoint)\n1739 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1740 long COleUILinkInfo::CancelLink(unsigned long)\n1741 void CDockContext::CancelLoop()\n1742 void CPropertyPage::CancelToClose()\n1743 void CWnd::CancelToolTips(int)\n1744 void CDaoRecordset::CancelUpdate()\n1745 void CRecordset::CancelUpdate()\n1746 int CDocument::CanCloseFrame(CFrameWnd *)\n1747 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1748 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1749 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1750 unsigned long CDockContext::CanDock()\n1751 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1752 int CFrameWnd::CanEnterHelpMode()\n1753 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1754 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1755 int COleClientItem::CanPaste()\n1756 int CRichEditCtrl::CanPaste(unsigned int)const \n1757 int CRichEditView::CanPaste()const \n1758 int COleClientItem::CanPasteLink()\n1759 int CDaoRecordset::CanRestart()\n1760 int CDaoRecordset::CanScroll()const \n1761 int CDaoDatabase::CanTransact()\n1762 int CDaoRecordset::CanTransact()\n1763 int CDaoDatabase::CanUpdate()\n1764 int CDaoQueryDef::CanUpdate()\n1765 int CDaoRecordset::CanUpdate()const \n1766 int CDaoTableDef::CanUpdate()\n1767 void CScrollView::CenterOnPoint(CPoint)\n1768 void CWnd::CenterWindow(CWnd *)\n1769 void CPicturePropPage::ChangePicture(IPicture *)\n1770 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1771 int CListBox::CharToItem(unsigned int,unsigned int)\n1772 void CString::CharToOemA()\n1773 int CDatabase::Check(short)const \n1774 int CRecordset::Check(short)const \n1775 int CDialog::CheckAutoCenter()\n1776 int CWnd::CheckAutoCenter()\n1777 void CArchive::CheckCount()\n1778 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1779 void CWnd::CheckDlgButton(int,unsigned int)\n1780 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1781 void COleClientItem::CheckGeneral(long)\n1782 void COleControlContainer::CheckRadioButton(int,int,int)\n1783 void CWnd::CheckRadioButton(int,int,int)\n1784 void COleDateTime::CheckRange()\n1785 void COleDateTimeSpan::CheckRange()\n1786 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1787 void CRecordset::CheckRowsetError(short)\n1788 CRuntimeconst CAnimateCtrl::classCAnimateCtrl\n1789 CRuntimeconst CArchiveException::classCArchiveException\n1790 CRuntimeconst CAsyncMonikerFile::classCAsyncMonikerFile\n1791 CRuntimeconst CAsyncSocket::classCAsyncSocket\n1792 CRuntimeconst CBitmap::classCBitmap\n1793 CRuntimeconst CBitmapButton::classCBitmapButton\n1794 CRuntimeconst CBrush::classCBrush\n1795 CRuntimeconst CButton::classCButton\n1796 CRuntimeCByteArray::classCByteArray\n1797 CRuntimeconst CCheckListBox::classCCheckListBox\n1798 CRuntimeconst CClientDC::classCClientDC\n1799 CRuntimeconst CCmdTarget::classCCmdTarget\n1800 CRuntimeconst CColorDialog::classCColorDialog\n1801 CRuntimeconst CColorPropPage::classCColorPropPage\n1802 CRuntimeconst CComboBox::classCComboBox\n1803 CRuntimeconst CControlBar::classCControlBar\n1804 CRuntimeconst CCriticalSection::classCCriticalSection\n1805 CRuntimeconst CCtrlView::classCCtrlView\n1806 CRuntimeconst CDaoDatabase::classCDaoDatabase\n1807 CRuntimeconst CDaoException::classCDaoException\n1808 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n1809 CRuntimeconst CDaoRecordset::classCDaoRecordset\n1810 CRuntimeconst CDaoRecordView::classCDaoRecordView\n1811 CRuntimeconst CDaoTableDef::classCDaoTableDef\n1812 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n1813 CRuntimeconst CDatabase::classCDatabase\n1814 CRuntimeconst CDBException::classCDBException\n1815 CRuntimeconst CDC::classCDC\n1816 CRuntimeconst CDialog::classCDialog\n1817 CRuntimeconst CDialogBar::classCDialogBar\n1818 CRuntimeCDocItem::classCDocItem\n1819 CRuntimeconst CDockBar::classCDockBar\n1820 CRuntimeCDockState::classCDockState\n1821 CRuntimeconst CDocManager::classCDocManager\n1822 CRuntimeconst CDocObjectServer::classCDocObjectServer\n1823 CRuntimeconst CDocObjectServerItem::classCDocObjectServerItem\n1824 CRuntimeconst CDocTemplate::classCDocTemplate\n1825 CRuntimeconst CDocument::classCDocument\n1826 CRuntimeconst CDragListBox::classCDragListBox\n1827 CRuntimeCDWordArray::classCDWordArray\n1828 CRuntimeconst CDynLinkLibrary::classCDynLinkLibrary\n1829 CRuntimeconst CEdit::classCEdit\n1830 CRuntimeconst CEditView::classCEditView\n1831 CRuntimeconst CEvent::classCEvent\n1832 CRuntimeconst CException::classCException\n1833 CRuntimeconst CFile::classCFile\n1834 CRuntimeconst CFileDialog::classCFileDialog\n1835 CRuntimeconst CFileException::classCFileException\n1836 CRuntimeconst CFileFind::classCFileFind\n1837 CRuntimeconst CFindReplaceDialog::classCFindReplaceDialog\n1838 CRuntimeconst CFont::classCFont\n1839 CRuntimeconst CFontDialog::classCFontDialog\n1840 CRuntimeconst CFontPropPage::classCFontPropPage\n1841 CRuntimeconst CFormView::classCFormView\n1842 CRuntimeconst CFrameWnd::classCFrameWnd\n1843 CRuntimeconst CGdiObject::classCGdiObject\n1844 CRuntimeconst CHeaderCtrl::classCHeaderCtrl\n1845 CRuntimeconst CHotKeyCtrl::classCHotKeyCtrl\n1846 CRuntimeconst CImageList::classCImageList\n1847 CRuntimeconst CListBox::classCListBox\n1848 CRuntimeconst CListCtrl::classCListCtrl\n1849 CRuntimeconst CListView::classCListView\n1850 CRuntimeconst CLongBinary::classCLongBinary\n1851 CRuntimeconst CMapPtrToPtr::classCMapPtrToPtr\n1852 CRuntimeconst CMapPtrToWord::classCMapPtrToWord\n1853 CRuntimeCMapStringToOb::classCMapStringToOb\n1854 CRuntimeconst CMapStringToPtr::classCMapStringToPtr\n1855 CRuntimeCMapStringToString::classCMapStringToString\n1856 CRuntimeCMapWordToOb::classCMapWordToOb\n1857 CRuntimeconst CMapWordToPtr::classCMapWordToPtr\n1858 CRuntimeconst CMDIChildWnd::classCMDIChildWnd\n1859 CRuntimeconst CMDIFrameWnd::classCMDIFrameWnd\n1860 CRuntimeconst CMemFile::classCMemFile\n1861 CRuntimeconst CMemoryException::classCMemoryException\n1862 CRuntimeconst CMenu::classCMenu\n1863 CRuntimeconst CMetaFileDC::classCMetaFileDC\n1864 CRuntimeconst CMiniDockFrameWnd::classCMiniDockFrameWnd\n1865 CRuntimeconst CMiniFrameWnd::classCMiniFrameWnd\n1866 CRuntimeconst CMonikerFile::classCMonikerFile\n1867 CRuntimeconst CMultiDocTemplate::classCMultiDocTemplate\n1868 CRuntimeconst CMutex::classCMutex\n1869 CRuntimeconst CNotSupportedException::classCNotSupportedException\n1870 CRuntimeCObArray::classCObArray\n1871 CRuntimeconst CObject::classCObject\n1872 CRuntimeCObList::classCObList\n1873 CRuntimeconst COleBusyDialog::classCOleBusyDialog\n1874 CRuntimeconst COleChangeIconDialog::classCOleChangeIconDialog\n1875 CRuntimeconst COleChangeSourceDialog::classCOleChangeSourceDialog\n1876 CRuntimeconst COleClientItem::classCOleClientItem\n1877 CRuntimeconst COleControl::classCOleControl\n1878 CRuntimeconst COleControlModule::classCOleControlModule\n1879 CRuntimeconst COleConvertDialog::classCOleConvertDialog\n1880 CRuntimeconst COleDialog::classCOleDialog\n1881 CRuntimeconst COleDispatchException::classCOleDispatchException\n1882 CRuntimeconst COleDocIPFrameWnd::classCOleDocIPFrameWnd\n1883 CRuntimeconst COleDocument::classCOleDocument\n1884 CRuntimeconst COleException::classCOleException\n1885 CRuntimeconst COleInsertDialog::classCOleInsertDialog\n1886 CRuntimeconst COleIPFrameWnd::classCOleIPFrameWnd\n1887 CRuntimeconst COleLinkingDoc::classCOleLinkingDoc\n1888 CRuntimeconst COleLinksDialog::classCOleLinksDialog\n1889 CRuntimeconst COleObjectFactory::classCOleObjectFactory\n1890 CRuntimeconst COlePasteSpecialDialog::classCOlePasteSpecialDialog\n1891 CRuntimeconst COlePropertiesDialog::classCOlePropertiesDialog\n1892 CRuntimeconst COlePropertyPage::classCOlePropertyPage\n1893 CRuntimeconst COleResizeBar::classCOleResizeBar\n1894 CRuntimeconst COleServerDoc::classCOleServerDoc\n1895 CRuntimeconst COleServerItem::classCOleServerItem\n1896 CRuntimeconst COleStreamFile::classCOleStreamFile\n1897 CRuntimeconst COleUpdateDialog::classCOleUpdateDialog\n1898 CRuntimeconst CPageSetupDialog::classCPageSetupDialog\n1899 CRuntimeconst CPaintDC::classCPaintDC\n1900 CRuntimeconst CPalette::classCPalette\n1901 CRuntimeconst CPen::classCPen\n1902 CRuntimeconst CPicturePropPage::classCPicturePropPage\n1903 CRuntimeconst CPreviewDC::classCPreviewDC\n1904 CRuntimeconst CPreviewView::classCPreviewView\n1905 CRuntimeconst CPrintDialog::classCPrintDialog\n1906 CRuntimeconst CProgressCtrl::classCProgressCtrl\n1907 CRuntimeconst CPropertyPage::classCPropertyPage\n1908 CRuntimeconst CPropertySheet::classCPropertySheet\n1909 CRuntimeconst CPtrArray::classCPtrArray\n1910 CRuntimeconst CPtrList::classCPtrList\n1911 CRuntimeconst CRecordset::classCRecordset\n1912 CRuntimeconst CRecordView::classCRecordView\n1913 CRuntimeconst CResourceException::classCResourceException\n1914 CRuntimeconst CRgn::classCRgn\n1915 CRuntimeCRichEditCntrItem::classCRichEditCntrItem\n1916 CRuntimeconst CRichEditCtrl::classCRichEditCtrl\n1917 CRuntimeconst CRichEditDoc::classCRichEditDoc\n1918 CRuntimeconst CRichEditView::classCRichEditView\n1919 CRuntimeconst CScrollBar::classCScrollBar\n1920 CRuntimeconst CScrollView::classCScrollView\n1921 CRuntimeconst CSemaphore::classCSemaphore\n1922 CRuntimeconst CSharedFile::classCSharedFile\n1923 CRuntimeconst CSingleDocTemplate::classCSingleDocTemplate\n1924 CRuntimeconst CSliderCtrl::classCSliderCtrl\n1925 CRuntimeconst CSocket::classCSocket\n1926 CRuntimeconst CSocketFile::classCSocketFile\n1927 CRuntimeconst CSpinButtonCtrl::classCSpinButtonCtrl\n1928 CRuntimeconst CSplitterWnd::classCSplitterWnd\n1929 CRuntimeconst CStatic::classCStatic\n1930 CRuntimeconst CStatusBar::classCStatusBar\n1931 CRuntimeconst CStatusBarCtrl::classCStatusBarCtrl\n1932 CRuntimeconst CStdioFile::classCStdioFile\n1933 CRuntimeconst CStockPropPage::classCStockPropPage\n1934 CRuntimeCStringArray::classCStringArray\n1935 CRuntimeCStringList::classCStringList\n1936 CRuntimeconst CSyncObject::classCSyncObject\n1937 CRuntimeconst CTabCtrl::classCTabCtrl\n1938 CRuntimeconst CToolBar::classCToolBar\n1939 CRuntimeconst CToolBarCtrl::classCToolBarCtrl\n1940 CRuntimeconst CToolTipCtrl::classCToolTipCtrl\n1941 CRuntimeconst CTreeCtrl::classCTreeCtrl\n1942 CRuntimeconst CTreeView::classCTreeView\n1943 CRuntimeconst CUIntArray::classCUIntArray\n1944 CRuntimeconst CUserException::classCUserException\n1945 CRuntimeconst CView::classCView\n1946 CRuntimeconst CWinApp::classCWinApp\n1947 CRuntimeconst CWindowDC::classCWindowDC\n1948 CRuntimeconst CWinThread::classCWinThread\n1949 CRuntimeconst CWnd::classCWnd\n1950 CRuntimeCWordArray::classCWordArray\n1951 void CPropertyPage::Cleanup()\n1952 void COlePropertyPage::CleanupObjectArray()\n1953 void CDBVariant::Clear()\n1954 void CDockState::Clear()\n1955 void COleVariant::Clear()\n1956 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n1957 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1958 void CRecordset::ClearFieldStatus()\n1959 void CDaoRecordset::ClearFieldStatusFlags()\n1960 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n1961 void CRecordset::ClearNullFieldStatus(unsigned long)\n1962 void CRecordset::ClearNullParamStatus(unsigned long)\n1963 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1964 int COleControl::ClipCaretRect(tagRECT *)\n1965 void CPreviewDC::ClipToPage()\n1966 long CArchiveStream::Clone(IStream * *)\n1967 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1968 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1969 void CArchive::Close()\n1970 void CAsyncMonikerFile::Close()\n1971 void CAsyncSocket::Close()\n1972 void CCachedDataPathProperty::Close()\n1973 void CDaoDatabase::Close()\n1974 void CDaoQueryDef::Close()\n1975 void CDaoRecordset::Close()\n1976 void CDaoTableDef::Close()\n1977 void CDaoWorkspace::Close()\n1978 void CDatabase::Close()\n1979 void CFile::Close()\n1980 void CFileFind::Close()\n1981 void CFtpConnection::Close()\n1982 void CGopherConnection::Close()\n1983 void CGopherFile::Close()\n1984 void CHttpConnection::Close()\n1985 void CHttpFile::Close()\n1986 void CInternetConnection::Close()\n1987 void CInternetFile::Close()\n1988 void CInternetSession::Close()\n1989 void CMemFile::Close()\n1990 void CMirrorFile::Close()\n1991 void CMonikerFile::Close()\n1992 void COleClientItem::Close(enum tagOLECLOSE)\n1993 void COleStreamFile::Close()\n1994 void CRecordset::Close()\n1995 void CSocket::Close()\n1996 void CSocketFile::Close()\n1997 void CStdioFile::Close()\n1998 long CDocObjectServer::XOleObject::Close(unsigned long)\n1999 long COleControl::XOleObject::Close(unsigned long)\n2000 long COleServerDoc::XOleObject::Close(unsigned long)\n2001 long COleServerItem::XOleObject::Close(unsigned long)\n2002 void CDocManager::CloseAllDocuments(int)\n2003 void CDocTemplate::CloseAllDocuments(int)\n2004 void CWinApp::CloseAllDocuments(int)\n2005 void CFileFind::CloseContext()\n2006 void CFtpFileFind::CloseContext()\n2007 void CGopherFileFind::CloseContext()\n2008 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2009 unsigned long CColorButton::colGetFaceColor()\n2010 AFX_OLECMDMAP const CCmdTarget::commandMap\n2011 int CStatusBar::CommandToIndex(unsigned int)const \n2012 int CToolBar::CommandToIndex(unsigned int)const \n2013 long CArchiveStream::Commit(unsigned long)\n2014 void COleClientItem::CommitItem(int)\n2015 void COleDocument::CommitItems(int)\n2016 void CDaoWorkspace::CommitTrans()\n2017 int CDatabase::CommitTrans()\n2018 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n2019 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2020 void CWinThread::CommonConstruct()\n2021 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n2022 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n2023 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2024 int CListBox::CompareItem(tagCOMPAREITEM*)\n2025 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n2026 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n2027 void CString::ConcatCopy(int,char const *,int,char const *)\n2028 void CString::ConcatInPlace(int,char const *)\n2029 int CAsyncSocket::Connect(char const *,unsigned int)\n2030 int CDatabase::Connect(unsigned long)\n2031 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2032 int CSocket::ConnectHelper(sockaddr const *,int)\n2033 AFX_CONNECTIONMAP const CCmdTarget::connectionMap\n2034 AFX_CONNECTIONMAP const COleControl::connectionMap\n2035 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2036 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2037 void COleServerDoc::ConnectView(CWnd *,CView *)\n2038 void CPropertyPage::Construct(unsigned int,unsigned int)\n2039 void CPropertyPage::Construct(char const *,unsigned int)\n2040 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2041 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n2042 void CRectTracker::Construct()\n2043 void ConstructElements(COleVariant *,int)\n2044 void ConstructElements(CString *,int)\n2045 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2046 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2047 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2048 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2049 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2050 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2051 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2052 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2053 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2054 int CPropertySheet::ContinueModal()\n2055 int CWnd::ContinueModal()\n2056 void COleControl::ControlInfoChanged()\n2057 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2058 int COleClientItem::ConvertTo(_GUID const &)\n2059 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2060 void CByteArray::Copy(CByteArray const &)\n2061 void CDWordArray::Copy(CDWordArray const &)\n2062 void CObArray::Copy(CObArray const &)\n2063 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2064 void CPtrArray::Copy(CPtrArray const &)\n2065 void CStringArray::Copy(CStringArray const &)\n2066 void CUIntArray::Copy(CUIntArray const &)\n2067 void CWordArray::Copy(CWordArray const &)\n2068 void CString::CopyBeforeWrite()\n2069 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2070 void CopyElements(COleVariant *,COleVariant const *,int)\n2071 void CopyElements(CString *,CString const *,int)\n2072 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2073 void COleClientItem::CopyToClipboard(int)\n2074 void COleServerItem::CopyToClipboard(int)\n2075 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n2076 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2077 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n2078 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2079 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2080 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2081 int CControlFrameWnd::Create(char const *)\n2082 void CDaoDatabase::Create(char const *,char const *,int)\n2083 void CDaoQueryDef::Create(char const *,char const *)\n2084 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n2085 void CDaoWorkspace::Create(char const *,char const *,char const *)\n2086 int CDialog::Create(char const *,CWnd *)\n2087 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n2088 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2089 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2090 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n2091 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2092 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n2093 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2094 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2095 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2096 int CImageList::Create(int,int,unsigned int,int,int)\n2097 int CImageList::Create(unsigned int,int,int,unsigned long)\n2098 int CImageList::Create(char const *,int,int,unsigned long)\n2099 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2100 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2101 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2102 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2103 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2104 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2105 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2106 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2107 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2108 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2109 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2110 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2111 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2112 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2113 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2114 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2115 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2116 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2117 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2118 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2119 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2120 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2121 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2122 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2123 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2124 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2125 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2126 IBindHost * CMonikerFile::CreateBindHost()\n2127 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n2128 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2129 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2130 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2131 void CConnectionPoint::CreateConnectionArray()\n2132 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2133 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,unsigned short *,COleControlSite * *)\n2134 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,unsigned short *)\n2135 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,unsigned short *)\n2136 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,unsigned short *)\n2137 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2138 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2139 int CFtpConnection::CreateDirectoryA(char const *)\n2140 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2141 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n2142 int CWnd::CreateDlg(char const *,CWnd *)\n2143 HWND__ * COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long)\n2144 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2145 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n2146 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n2147 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2148 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2149 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2150 int CPictureHolder::CreateEmpty()\n2151 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2152 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2153 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n2154 void CDaoTableDef::CreateField(char const *,short,long,long)\n2155 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2156 CControlFrameWnd * COleControl::CreateFrameWindow()\n2157 int CPictureHolder::CreateFromBitmap(unsigned int)\n2158 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2159 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2160 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2161 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2162 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2163 int CPictureHolder::CreateFromIcon(unsigned int)\n2164 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2165 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2166 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n2167 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2168 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2169 int CDialog::CreateIndirect(void *,CWnd *)\n2170 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2171 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2172 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2173 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2174 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,unsigned short *,void * *)\n2175 int COleInsertDialog::CreateItem(COleClientItem *)\n2176 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2177 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2178 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2179 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2180 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n2181 CGopherLocator CGopherConnection::CreateLocator(char const *)\n2182 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n2183 int COleStreamFile::CreateMemoryStream(CFileException *)\n2184 CDocument * CDocTemplate::CreateNewDocument()\n2185 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2186 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2187 CNoTrackObject * CProcessLocal<_AFX_PROPPAGEFONTINFO>::CreateObject()\n2188 CNoTrackObject * CProcessLocal<_AFX_BASE_MODULE_STATE>::CreateObject()\n2189 CNoTrackObject * CProcessLocal<_AFX_CHECKLIST_STATE>::CreateObject()\n2190 CNoTrackObject * CProcessLocal<_AFX_COLOR_STATE>::CreateObject()\n2191 CNoTrackObject * CProcessLocal<_AFX_CTL3D_STATE>::CreateObject()\n2192 CNoTrackObject * CProcessLocal<_AFX_DB_STATE>::CreateObject()\n2193 CNoTrackObject * CProcessLocal<_AFX_EDIT_STATE>::CreateObject()\n2194 CNoTrackObject * CProcessLocal<_AFX_EXTDLL_STATE>::CreateObject()\n2195 CNoTrackObject * CProcessLocal<_AFX_MAIL_STATE>::CreateObject()\n2196 CNoTrackObject * CProcessLocal<_AFX_OLE_STATE>::CreateObject()\n2197 CNoTrackObject * CProcessLocal<_AFX_RICHEDIT_STATE>::CreateObject()\n2198 CNoTrackObject * CProcessLocal<_AFX_SOCK_STATE>::CreateObject()\n2199 CNoTrackObject * CProcessLocal<_AFX_WIN_STATE>::CreateObject()\n2200 CNoTrackObject * CProcessLocal<COccManager>::CreateObject()\n2201 CNoTrackObject * CThreadLocal<_AFX_CTL3D_THREAD>::CreateObject()\n2202 CNoTrackObject * CThreadLocal<_AFX_THREAD_STATE>::CreateObject()\n2203 CNoTrackObject * CThreadLocal<_AFXCTL_AMBIENT_CACHE>::CreateObject()\n2204 CNoTrackObject * CThreadLocal<AFX_MODULE_THREAD_STATE>::CreateObject()\n2205 CObject * CByteArray::CreateObject()\n2206 CObject * CColorPropPage::CreateObject()\n2207 CObject * CDC::CreateObject()\n2208 CObject * CDocItem::CreateObject()\n2209 CObject * CDockState::CreateObject()\n2210 CObject * CDWordArray::CreateObject()\n2211 CObject * CEditView::CreateObject()\n2212 CObject * CFontPropPage::CreateObject()\n2213 CObject * CFrameWnd::CreateObject()\n2214 CObject * CGdiObject::CreateObject()\n2215 CObject * CImageList::CreateObject()\n2216 CObject * CListView::CreateObject()\n2217 CObject * CMapStringToOb::CreateObject()\n2218 CObject * CMapStringToString::CreateObject()\n2219 CObject * CMapWordToOb::CreateObject()\n2220 CObject * CMDIChildWnd::CreateObject()\n2221 CObject * CMDIFrameWnd::CreateObject()\n2222 CObject * CMenu::CreateObject()\n2223 CObject * CMiniDockFrameWnd::CreateObject()\n2224 CObject * CMiniFrameWnd::CreateObject()\n2225 CObject * CObArray::CreateObject()\n2226 CObject * CObList::CreateObject()\n2227 CObject * COleDocIPFrameWnd::CreateObject()\n2228 CObject * COleIPFrameWnd::CreateObject()\n2229 CObject * CPicturePropPage::CreateObject()\n2230 CObject * CPreviewView::CreateObject()\n2231 CObject * CRichEditCntrItem::CreateObject()\n2232 CObject * CRichEditView::CreateObject()\n2233 CObject * CRuntimeClass::CreateObject()\n2234 CObject * CStringArray::CreateObject()\n2235 CObject * CStringList::CreateObject()\n2236 CObject * CTreeView::CreateObject()\n2237 CObject * CWnd::CreateObject()\n2238 CObject * CWordArray::CreateObject()\n2239 void COleControlContainer::CreateOleFont(CFont *)\n2240 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2241 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2242 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,unsigned short *)\n2243 int CFont::CreatePointFont(int,char const *,CDC *)\n2244 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n2245 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2246 HDC__ * CPrintDialog::CreatePrinterDC()\n2247 int CWinApp::CreatePrinterDC(CDC &)\n2248 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n2249 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n2250 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2251 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2252 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2253 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2254 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2255 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n2256 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2257 void COleControl::CreateTracker(int,int)\n2258 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2259 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2260 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2261 void COleControl::CreateWindowForSubclassedControl()\n2262 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2263 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2264 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2265 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2266 void DDP_Check(CDataExchange *,int,int &,char const *)\n2267 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n2268 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n2269 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n2270 void DDP_EndText(CDataExchange *,int,short *,char const *)\n2271 void DDP_EndText(CDataExchange *,int,int *,char const *)\n2272 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n2273 void DDP_EndText(CDataExchange *,int,long *,char const *)\n2274 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n2275 void DDP_EndText(CDataExchange *,int,float *,char const *)\n2276 void DDP_EndText(CDataExchange *,int,double *,char const *)\n2277 void DDP_EndText(CDataExchange *,int,CString *,char const *)\n2278 void DDP_PostProcessing(CDataExchange *)\n2279 void DDP_Radio(CDataExchange *,int,int &,char const *)\n2280 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n2281 void DDP_Text(CDataExchange *,int,short &,char const *)\n2282 void DDP_Text(CDataExchange *,int,int &,char const *)\n2283 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n2284 void DDP_Text(CDataExchange *,int,long &,char const *)\n2285 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n2286 void DDP_Text(CDataExchange *,int,float &,char const *)\n2287 void DDP_Text(CDataExchange *,int,double &,char const *)\n2288 void DDP_Text(CDataExchange *,int,CString &,char const *)\n2289 void DDV_MaxChars(CDataExchange *,CString const &,int)\n2290 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2291 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2292 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2293 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2294 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2295 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2296 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2297 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2298 void DDX_CBIndex(CDataExchange *,int,int &)\n2299 void DDX_CBString(CDataExchange *,int,CString &)\n2300 void DDX_CBStringExact(CDataExchange *,int,CString &)\n2301 void DDX_Check(CDataExchange *,int,int &)\n2302 void DDX_Control(CDataExchange *,int,CWnd &)\n2303 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2304 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2305 void DDX_FieldCBString(CDataExchange *,int,CString &,CDaoRecordset *)\n2306 void DDX_FieldCBString(CDataExchange *,int,CString &,CRecordset *)\n2307 void DDX_FieldCBStringExact(CDataExchange *,int,CString &,CDaoRecordset *)\n2308 void DDX_FieldCBStringExact(CDataExchange *,int,CString &,CRecordset *)\n2309 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n2310 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2311 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2312 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2313 void DDX_FieldLBString(CDataExchange *,int,CString &,CDaoRecordset *)\n2314 void DDX_FieldLBString(CDataExchange *,int,CString &,CRecordset *)\n2315 void DDX_FieldLBStringExact(CDataExchange *,int,CString &,CDaoRecordset *)\n2316 void DDX_FieldLBStringExact(CDataExchange *,int,CString &,CRecordset *)\n2317 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n2318 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2319 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n2320 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2321 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n2322 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2323 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n2324 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n2325 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2326 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2327 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2328 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2329 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2330 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2331 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2332 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2333 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2334 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2335 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2336 void DDX_FieldText(CDataExchange *,int,COleDateTime &,CDaoRecordset *)\n2337 void DDX_FieldText(CDataExchange *,int,CString &,CDaoRecordset *)\n2338 void DDX_FieldText(CDataExchange *,int,CString &,CRecordset *)\n2339 void DDX_LBIndex(CDataExchange *,int,int &)\n2340 void DDX_LBString(CDataExchange *,int,CString &)\n2341 void DDX_LBStringExact(CDataExchange *,int,CString &)\n2342 void DDX_OCBool(CDataExchange *,int,long,int &)\n2343 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2344 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2345 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2346 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2347 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2348 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2349 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2350 void DDX_OCInt(CDataExchange *,int,long,int &)\n2351 void DDX_OCInt(CDataExchange *,int,long,long &)\n2352 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2353 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2354 void DDX_OCShort(CDataExchange *,int,long,short &)\n2355 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2356 void DDX_OCText(CDataExchange *,int,long,CString &)\n2357 void DDX_OCTextRO(CDataExchange *,int,long,CString &)\n2358 void DDX_Radio(CDataExchange *,int,int &)\n2359 void DDX_Scroll(CDataExchange *,int,int &)\n2360 void DDX_Text(CDataExchange *,int,unsigned char &)\n2361 void DDX_Text(CDataExchange *,int,short &)\n2362 void DDX_Text(CDataExchange *,int,int &)\n2363 void DDX_Text(CDataExchange *,int,unsigned int &)\n2364 void DDX_Text(CDataExchange *,int,long &)\n2365 void DDX_Text(CDataExchange *,int,unsigned long &)\n2366 void DDX_Text(CDataExchange *,int,float &)\n2367 void DDX_Text(CDataExchange *,int,double &)\n2368 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2369 void DDX_Text(CDataExchange *,int,COleDateTime &)\n2370 void DDX_Text(CDataExchange *,int,CString &)\n2371 void COleClientItem::Deactivate()\n2372 long COlePropertyPage::XPropertyPage::Deactivate()\n2373 int COleServerDoc::DeactivateAndUndo()\n2374 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2375 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2376 void COleClientItem::DeactivateUI()\n2377 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n2378 void CFieldExchange::Default(char const *,void *,long *,int,unsigned int,unsigned int)\n2379 long CWnd::Default()\n2380 void CRect::DeflateRect(int,int,int,int)\n2381 void CRect::DeflateRect(tagRECT const *)\n2382 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2383 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2384 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2385 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2386 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2387 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2388 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2389 void CControlBar::DelayShow(int)\n2390 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2391 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2392 void CDaoRecordset::Delete()\n2393 void CException::Delete()\n2394 void COleClientItem::Delete(int)\n2395 void CRecordset::Delete()\n2396 void CWinThread::Delete()\n2397 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2398 void CSplitterWnd::DeleteColumn(int)\n2399 void CDocument::DeleteContents()\n2400 void CEditView::DeleteContents()\n2401 void COleDocument::DeleteContents()\n2402 void COleServerDoc::DeleteContents()\n2403 void CRichEditDoc::DeleteContents()\n2404 void CRichEditView::DeleteContents()\n2405 int CDC::DeleteDC()\n2406 void CDaoTableDef::DeleteField(int)\n2407 void CDaoTableDef::DeleteField(char const *)\n2408 int CImageList::DeleteImageList()\n2409 void CDaoTableDef::DeleteIndex(int)\n2410 void CDaoTableDef::DeleteIndex(char const *)\n2411 void CComboBox::DeleteItem(tagDELETEITEM*)\n2412 void CFontComboBox::DeleteItem(tagDELETEITEM*)\n2413 void CListBox::DeleteItem(tagDELETEITEM*)\n2414 int CGdiObject::DeleteObject()\n2415 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2416 void CDaoDatabase::DeleteQueryDef(char const *)\n2417 void CDaoDatabase::DeleteRelation(char const *)\n2418 void CSplitterWnd::DeleteRow(int)\n2419 void CDaoDatabase::DeleteTableDef(char const *)\n2420 void CHandleMap::DeleteTemp()\n2421 void CDC::DeleteTempMap()\n2422 void CGdiObject::DeleteTempMap()\n2423 void CImageList::DeleteTempMap()\n2424 void CMenu::DeleteTempMap()\n2425 void CWnd::DeleteTempMap()\n2426 void CRichEditDoc::DeleteUnmarkedItems()const \n2427 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2428 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2429 void CSplitterWnd::DeleteView(int,int)\n2430 long CWinApp::DelRegTree(HKEY__ *,CString const &)\n2431 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2432 void COleSafeArray::Destroy()\n2433 int COleControlSite::DestroyControl()\n2434 void COleSafeArray::DestroyData()\n2435 void COleSafeArray::DestroyDescriptor()\n2436 void CFrameWnd::DestroyDockBars()\n2437 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2438 int CMenu::DestroyMenu()\n2439 void COleControl::DestroySharedMenu()\n2440 void COleDocIPFrameWnd::DestroySharedMenu()\n2441 void COleIPFrameWnd::DestroySharedMenu()\n2442 int CToolTipCtrl::DestroyToolTipCtrl()\n2443 void COleControl::DestroyTracker()\n2444 int CControlBar::DestroyWindow()\n2445 int CMDIChildWnd::DestroyWindow()\n2446 int CWnd::DestroyWindow()\n2447 void DestructElements(COleVariant *,int)\n2448 void DestructElements(CString *,int)\n2449 unsigned int CAsyncSocket::Detach()\n2450 HDC__ * CDC::Detach()\n2451 void * CDialogTemplate::Detach()\n2452 void * CGdiObject::Detach()\n2453 _IMAGELIST * CImageList::Detach()\n2454 unsigned char * CMemFile::Detach()\n2455 HMENU__ * CMenu::Detach()\n2456 int CMonikerFile::Detach(CFileException *)\n2457 IDataObject * COleDataObject::Detach()\n2458 tagVARIANT COleSafeArray::Detach()\n2459 IStream * COleStreamFile::Detach()\n2460 tagVARIANT COleVariant::Detach()\n2461 void * CSharedFile::Detach()\n2462 HDC__ * CWindowlessDC::Detach()\n2463 HWND__ * CWnd::Detach()\n2464 IDispatch * COleDispatchDriver::DetachDispatch()\n2465 void CAsyncSocket::DetachHandle(unsigned int,int)\n2466 void COleControlSite::DetachWindow()\n2467 void CWinApp::DevModeChange(char *)\n2468 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n2469 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n2470 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n2471 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n2472 void DFX_DateTime(CDaoFieldExchange *,char const *,COleDateTime &,unsigned long)\n2473 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n2474 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n2475 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n2476 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n2477 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n2478 void DFX_Text(CDaoFieldExchange *,char const *,CString &,int,unsigned long)\n2479 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2480 int COleServerDoc::DiscardUndoState()\n2481 long COleClientItem::XOleIPSite::DiscardUndoState()\n2482 long COleControlSite::XOleIPSite::DiscardUndoState()\n2483 void COleDispatchImpl::Disconnect()\n2484 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2485 void CDocument::DisconnectViews()\n2486 AFX_DISPMAP const CCmdTarget::dispatchMap\n2487 void CWinThread::DispatchThreadMessage(tagMSG *)\n2488 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2489 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2490 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2491 void CAsyncSocket::DoCallBack(unsigned int,long)\n2492 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2493 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2494 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2495 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2496 void COleControl::DoClick()\n2497 int COleFrameHook::DoContextSensitiveHelp(int)\n2498 int COleConvertDialog::DoConvert(COleClientItem *)\n2499 void CColorPropPage::DoDataExchange(CDataExchange *)\n2500 void CFontPropPage::DoDataExchange(CDataExchange *)\n2501 void CPicturePropPage::DoDataExchange(CDataExchange *)\n2502 void CWnd::DoDataExchange(CDataExchange *)\n2503 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2504 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2505 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2506 int COleFrameHook::DoEnableModeless(int)\n2507 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2508 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2509 void CRecordset::DoFieldExchange(CFieldExchange *)\n2510 int CDocument::DoFileSave()\n2511 int CSplitterWnd::DoKeyboardSplit()\n2512 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2513 int CColorDialog::DoModal()\n2514 int CDialog::DoModal()\n2515 int CFileDialog::DoModal()\n2516 int CFontDialog::DoModal()\n2517 int COleBusyDialog::DoModal()\n2518 int COleChangeIconDialog::DoModal()\n2519 int COleChangeSourceDialog::DoModal()\n2520 int COleConvertDialog::DoModal()\n2521 int COleInsertDialog::DoModal()\n2522 int COleLinksDialog::DoModal()\n2523 int COlePasteSpecialDialog::DoModal()\n2524 int COlePropertiesDialog::DoModal()\n2525 int COleUpdateDialog::DoModal()\n2526 int CPageSetupDialog::DoModal()\n2527 int CPrintDialog::DoModal()\n2528 int CPropertySheet::DoModal()\n2529 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2530 void CControlBar::DoPaint(CDC *)\n2531 void CDockBar::DoPaint(CDC *)\n2532 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2533 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2534 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2535 int CView::DoPreparePrinting(CPrintInfo *)\n2536 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2537 int CWinApp::DoPrintDialog(CPrintDialog *)\n2538 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2539 int CDocManager::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n2540 int CWinApp::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n2541 void COleControl::DoPropExchange(CPropExchange *)\n2542 int CDocument::DoSave(char const *,int)\n2543 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2544 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2545 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2546 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2547 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2548 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2549 long COleControlSite::DoVerb(long,tagMSG *)\n2550 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2551 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2552 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2553 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2554 void CWinApp::DoWaitCursor(int)\n2555 void CPreviewView::DoZoom(unsigned int,CPoint)\n2556 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2557 void CDC::DPtoLP(tagSIZE *)const \n2558 void CWnd::DragAcceptFiles(int)\n2559 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2560 unsigned int CDragListBox::Dragging(CPoint)\n2561 long COleDropTarget::XDropTarget::DragLeave()\n2562 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2563 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2564 void CRectTracker::Draw(CDC *)const \n2565 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2566 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2567 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2568 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2569 void CControlBar::DrawBorders(CDC *,CRect &)\n2570 void COleControl::DrawContent(CDC *,CRect &)\n2571 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2572 void CDockContext::DrawFocusRect(int)\n2573 void CDragListBox::DrawInsert(int)\n2574 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2575 void CButton::DrawItem(tagDRAWITEM*)\n2576 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2577 void CColorButton::DrawItem(tagDRAWITEM*)\n2578 void CComboBox::DrawItem(tagDRAWITEM*)\n2579 void CFontComboBox::DrawItem(tagDRAWITEM*)\n2580 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2581 void CListBox::DrawItem(tagDRAWITEM*)\n2582 void CListCtrl::DrawItem(tagDRAWITEM*)\n2583 void CListView::DrawItem(tagDRAWITEM*)\n2584 void CMenu::DrawItem(tagDRAWITEM*)\n2585 void CStatusBar::DrawItem(tagDRAWITEM*)\n2586 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2587 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2588 void COleControl::DrawMetafile(CDC *,CRect &)\n2589 void CDragListBox::DrawSingle(int)\n2590 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2591 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2592 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2593 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2594 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2595 void CDragListBox::Dropped(int,CPoint)\n2596 void CObject::Dump(CDumpContext &)const \n2597 long COleControl::XDataObject::DUnadvise(unsigned long)\n2598 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2599 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2600 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2601 CFile * CFile::Duplicate()const \n2602 CFile * CInternetFile::Duplicate()const \n2603 CFile * CMemFile::Duplicate()const \n2604 CFile * COleStreamFile::Duplicate()const \n2605 CFile * CSocketFile::Duplicate()const \n2606 CFile * CStdioFile::Duplicate()const \n2607 unsigned long const CEditView::dwStyleDefault\n2608 void CDaoRecordset::Edit()\n2609 void CRecordset::Edit()\n2610 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2611 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2612 void CDBException::Empty()\n2613 void COleDataSource::Empty()\n2614 void CString::Empty()\n2615 void CCheckListBox::Enable(int,int)\n2616 void CCmdUI::Enable(int)\n2617 void COleCmdUI::Enable(int)\n2618 void CStatusCmdUI::Enable(int)\n2619 void CTestCmdUI::Enable(int)\n2620 void CToolCmdUI::Enable(int)\n2621 int CWinApp::Enable3dControls()\n2622 void CCmdTarget::EnableAggregation()\n2623 void CCmdTarget::EnableAutomation()\n2624 void CRecordset::EnableBookmarks()\n2625 void CCmdTarget::EnableConnections()\n2626 void CControlBar::EnableDocking(unsigned long)\n2627 void CFrameWnd::EnableDocking(unsigned long)\n2628 void COleControlSite::EnableDSC()\n2629 void CWinApp::EnableModeless(int)\n2630 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2631 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2632 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2633 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2634 void CWnd::EnableScrollBarCtrl(int,int)\n2635 void CWinApp::EnableShellOpen()\n2636 void COleControl::EnableSimpleFrame()\n2637 void CPropertySheet::EnableStackedTabs(int)\n2638 int CInternetSession::EnableStatusCallback(int)\n2639 int CWnd::EnableToolTips(int)\n2640 void CCmdTarget::EnableTypeLib()\n2641 int COleControlSite::EnableWindow(int)\n2642 int CWnd::EnableWindow(int)\n2643 void COleMessageFilter::EndBusyState()\n2644 long COleLinkingDoc::EndDeferErrors(long)\n2645 void CDialog::EndDialog(int)\n2646 void CPropertySheet::EndDialog(int)\n2647 void CDockContext::EndDrag()\n2648 void CWnd::EndModalLoop(int)\n2649 void CFrameWnd::EndModalState()\n2650 void CWnd::EndModalState()\n2651 void CDockContext::EndResize()\n2652 void CCmdTarget::EndWaitCursor()\n2653 void COleDataObject::EnsureClipboardObject()\n2654 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2655 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2656 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2657 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2658 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2659 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2660 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2661 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2662 int COlePropertyPage::EnumControls(HWND__ *,long)\n2663 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2664 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2665 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2666 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2667 int CFontPropPage::EnumFontFamiliesCallBack(tagENUMLOGFONTA *,tagNEWTEXTMETRICA *,int,long)\n2668 int CFontPropPage::EnumFontFamiliesCallBack2(tagENUMLOGFONTA *,tagNEWTEXTMETRICA *,int,long)\n2669 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2670 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2671 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2672 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2673 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2674 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2675 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2676 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2677 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2678 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2679 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2680 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2681 void CControlBar::EraseNonClient()\n2682 int CFileException::ErrnoToException(int)\n2683 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2684 int CDC::Escape(int,int,char const *,void *)\n2685 int CMetaFileDC::Escape(int,int,char const *,void *)\n2686 int CPreviewDC::Escape(int,int,char const *,void *)\n2687 AFX_EVENTMAP const COleControl::eventMap\n2688 AFX_EVENTSINKMAP const CCmdTarget::eventsinkMap\n2689 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2690 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2691 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2692 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2693 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2694 int COleControl::ExchangeExtent(CPropExchange *)\n2695 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2696 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2697 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2698 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2699 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2700 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2701 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2702 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2703 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2704 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2705 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2706 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2707 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2708 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2709 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2710 void COleControl::ExchangeStockProps(CPropExchange *)\n2711 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2712 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2713 int CDC::ExcludeClipRect(int,int,int,int)\n2714 int CDC::ExcludeClipRect(tagRECT const *)\n2715 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2716 void CDaoDatabase::Execute(char const *,int)\n2717 void CDaoQueryDef::Execute(int)\n2718 int CWnd::ExecuteDlgInit(void *)\n2719 int CWnd::ExecuteDlgInit(char const *)\n2720 void CRecordset::ExecuteSetPosUpdate()\n2721 void CDatabase::ExecuteSQL(char const *)\n2722 void CRecordset::ExecuteUpdateSQL()\n2723 void CFrameWnd::ExitHelpMode()\n2724 int COleControlModule::ExitInstance()\n2725 int CWinApp::ExitInstance()\n2726 int CWinThread::ExitInstance()\n2727 unsigned long CCmdTarget::ExternalAddRef()\n2728 void CCmdTarget::ExternalDisconnect()\n2729 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2730 unsigned long CCmdTarget::ExternalRelease()\n2731 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2732 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2733 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2734 CColorPropPage::CColorPropPageFactory CColorPropPage::factory\n2735 CFontPropPage::CFontPropPageFactory CFontPropPage::factory\n2736 CPicturePropPage::CPicturePropPageFactory CPicturePropPage::factory\n2737 void CDataExchange::Fail()\n2738 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2739 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2740 void CArchive::FillBuffer(unsigned int)\n2741 void CDaoRecordset::FillCache(long *,COleVariant *)\n2742 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n2743 void CDaoException::FillErrorInfo()\n2744 void CFontPropPage::FillFacenameList()\n2745 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2746 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2747 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2748 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n2749 void CStockPropPage::FillPropnameList(_GUID const &,int,CComboBox &)\n2750 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n2751 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n2752 void CFontPropPage::FillSizeList()\n2753 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2754 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2755 void CColorPropPage::FillSysColors()\n2756 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n2757 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n2758 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n2759 void CWnd::FilterToolTipMessage(tagMSG *)\n2760 int CDaoRecordset::Find(long,char const *)\n2761 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2762 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2763 int CString::Find(char)const \n2764 int CString::Find(char const *)const \n2765 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2766 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2767 int CDockBar::FindBar(CControlBar *,int)\n2768 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2769 CWnd * FindDlgItem(CWnd *,unsigned long)\n2770 int CFileFind::FindFile(char const *,unsigned long)\n2771 int CFtpFileFind::FindFile(char const *,unsigned long)\n2772 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2773 int CGopherFileFind::FindFile(char const *,unsigned long)\n2774 int CDaoRecordset::FindFirst(char const *)\n2775 __POSITION * CObList::FindIndex(int)const \n2776 __POSITION * CPtrList::FindIndex(int)const \n2777 __POSITION * CStringList::FindIndex(int)const \n2778 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2779 int CDaoRecordset::FindLast(char const *)\n2780 int CDaoRecordset::FindNext(char const *)\n2781 int CFileFind::FindNextFileA()\n2782 int CFtpFileFind::FindNextFileA()\n2783 int CGopherFileFind::FindNextFileA()\n2784 int CString::FindOneOf(char const *)const \n2785 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2786 int CDaoRecordset::FindPrev(char const *)\n2787 char const * CRecordset::FindSQLToken(char const *,char const *)\n2788 int CEditView::FindTextA(char const *,int,int)\n2789 int CRichEditView::FindTextA(_AFX_RICHEDIT_STATE *)\n2790 int CRichEditView::FindTextA(char const *,int,int)\n2791 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n2792 int CRichEditView::FindTextSimple(char const *,int,int)\n2793 int COleClientItem::FinishCreate(long)\n2794 void COleControl::FireError(long,char const *,unsigned int)\n2795 void COleControl::FireEvent(long,unsigned char *,...)\n2796 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2797 void COleControl::FireEventV(long,unsigned char *,char *)\n2798 void CDaoRecordset::Fixup()\n2799 void CRecordset::Fixups()\n2800 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2801 void CArchive::Flush()\n2802 void CDumpContext::Flush()\n2803 void CFile::Flush()\n2804 void CInternetFile::Flush()\n2805 void CMemFile::Flush()\n2806 void COleStreamFile::Flush()\n2807 void CSocketFile::Flush()\n2808 void CStdioFile::Flush()\n2809 void COleDataSource::FlushClipboard()\n2810 int CRecordset::FlushResultSet()const \n2811 CString COleCurrency::Format(unsigned long,unsigned long)const \n2812 CString COleDateTime::Format(unsigned int)const \n2813 CString COleDateTime::Format(unsigned long,unsigned long)const \n2814 CString COleDateTime::Format(char const *)const \n2815 CString COleDateTimeSpan::Format(unsigned int)const \n2816 CString COleDateTimeSpan::Format(char const *)const \n2817 void CString::Format(unsigned int,...)\n2818 void CString::Format(char const *,...)\n2819 CString CTime::Format(unsigned int)const \n2820 CString CTime::Format(char const *)const \n2821 CString CTimeSpan::Format(unsigned int)const \n2822 CString CTimeSpan::Format(char const *)const \n2823 CString CTime::FormatGmt(unsigned int)const \n2824 CString CTime::FormatGmt(char const *)const \n2825 void CString::FormatMessageA(unsigned int,...)\n2826 void CString::FormatMessageA(char const *,...)\n2827 void CString::FormatV(char const *,char *)\n2828 void COleControl::ForwardActivationMsg(tagMSG *)\n2829 void CDatabase::Free()\n2830 void CMemFile::Free(unsigned char *)\n2831 void CSharedFile::Free(unsigned char *)\n2832 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2833 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2834 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2835 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2836 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2837 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2838 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2839 void CDaoRecordset::FreeCache()\n2840 void CRecordset::FreeDataCache()\n2841 void CPlex::FreeDataChain()\n2842 void CByteArray::FreeExtra()\n2843 void CDWordArray::FreeExtra()\n2844 void CObArray::FreeExtra()\n2845 void CPtrArray::FreeExtra()\n2846 void CString::FreeExtra()\n2847 void CStringArray::FreeExtra()\n2848 void CUIntArray::FreeExtra()\n2849 void CWordArray::FreeExtra()\n2850 void CObList::FreeNode(CObList::CNode *)\n2851 void CPtrList::FreeNode(CPtrList::CNode *)\n2852 void CStringList::FreeNode(CStringList::CNode *)\n2853 void CRecordset::FreeRowset()\n2854 void CThreadSlotData::FreeSlot(int)\n2855 void CProperty::FreeValue()\n2856 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2857 long COleControl::XOleControl::FreezeEvents(int)\n2858 int COleClientItem::FreezeLink()\n2859 CDC * CDC::FromHandle(HDC__ *)\n2860 CGdiObject * CGdiObject::FromHandle(void *)\n2861 CObject * CHandleMap::FromHandle(void *)\n2862 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2863 CMenu * CMenu::FromHandle(HMENU__ *)\n2864 CWnd * CWnd::FromHandle(HWND__ *)\n2865 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2866 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2867 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2868 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2869 void * CProperty::Get(unsigned long *)\n2870 void * CProperty::Get()\n2871 void * CPropertySection::Get(unsigned long)\n2872 void * CPropertySection::Get(unsigned long,unsigned long *)\n2873 void * CPropertySet::Get(_GUID,unsigned long)\n2874 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2875 long CDaoRecordset::GetAbsolutePosition()\n2876 unsigned long COleControl::GetActivationPolicy()\n2877 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2878 CDocument * CFrameWnd::GetActiveDocument()\n2879 CFrameWnd * CFrameWnd::GetActiveFrame()\n2880 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2881 int CPropertySheet::GetActiveIndex()const \n2882 CPropertyPage * CPropertySheet::GetActivePage()const \n2883 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2884 CView * CFrameWnd::GetActiveView()const \n2885 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2886 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2887 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2888 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2889 short COleControl::GetAppearance()\n2890 HKEY__ * CWinApp::GetAppRegistryKey()\n2891 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &)const \n2892 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &)const \n2893 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &)const \n2894 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &)const \n2895 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &)const \n2896 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &)const \n2897 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &)const \n2898 CString CStringArray::GetAt(int)const \n2899 int CGopherConnection::GetAttribute(CGopherLocator &,CString,CString &)\n2900 long CDaoTableDef::GetAttributes()\n2901 unsigned long COleControl::GetBackColor()\n2902 void CControlBar::GetBarInfo(CControlBarInfo *)\n2903 void CDockBar::GetBarInfo(CControlBarInfo *)\n2904 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2905 void * CBlobProperty::GetBlob()\n2906 COleVariant CDaoRecordset::GetBookmark()\n2907 void CRecordset::GetBookmark(CDBVariant &)\n2908 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2909 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2910 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2911 short COleControl::GetBorderStyle()\n2912 long CDataSourceControl::GetBoundClientRow()\n2913 int CRecordset::GetBoundFieldIndex(void *)\n2914 int CRecordset::GetBoundParamIndex(void *)\n2915 char * CString::GetBuffer(int)\n2916 unsigned int CEditView::GetBufferLength()const \n2917 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2918 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2919 char * CString::GetBufferSetLength(int)\n2920 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2921 unsigned int CToolBar::GetButtonStyle(int)const \n2922 CString CToolBar::GetButtonText(int)const \n2923 void CToolBar::GetButtonText(int,CString &)const \n2924 unsigned short CPropertySet::GetByteOrder()\n2925 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2926 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2927 long CDaoRecordset::GetCacheSize()\n2928 COleVariant CDaoRecordset::GetCacheStart()\n2929 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n2930 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2931 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2932 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2933 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2934 CWnd * COleControl::GetCapture()\n2935 void CFontDialog::GetCharFormat(_charformat &)const \n2936 _charformat & CRichEditView::GetCharFormatSelection()\n2937 int CCheckListBox::GetCheck(int)\n2938 int CWnd::GetCheckedRadioButton(int,int)\n2939 long CBlobProperty::GetClassID(_GUID *)\n2940 long CColorPropPage::GetClassID(_GUID *)\n2941 long CFontPropPage::GetClassID(_GUID *)\n2942 void COleClientItem::GetClassID(_GUID *)const \n2943 long CPicturePropPage::GetClassID(_GUID *)\n2944 _GUID CPropertySet::GetClassID()\n2945 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2946 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2947 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2948 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2949 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2950 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2951 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n2952 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2953 void COleControl::GetClientOffset(long *,long *)const \n2954 void COleControl::GetClientRect(tagRECT *)const \n2955 IOleClientSite * COleClientItem::GetClientSite()\n2956 IOleClientSite * COleControl::GetClientSite()\n2957 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2958 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2959 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2960 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2961 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2962 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2963 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2964 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2965 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2966 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2967 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2968 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2969 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2970 COleDataSource * COleDataSource::GetClipboardOwner()\n2971 int CDC::GetClipBox(tagRECT *)const \n2972 int CMetaFileDC::GetClipBox(tagRECT *)const \n2973 int CColorPropPage::GetColorProp(CDataExchange *,unsigned long *,char const *)\n2974 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2975 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2976 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2977 CString CDaoDatabase::GetConnect()\n2978 CString CDaoQueryDef::GetConnect()\n2979 CString CDaoTableDef::GetConnect()\n2980 void CDatabase::GetConnectInfo()\n2981 int CConnectionPoint::GetConnectionCount()\n2982 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2983 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2984 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2985 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2986 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2987 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2988 CPtrArray const * CConnectionPoint::GetConnections()\n2989 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2990 IOleItemContainer * COleDocument::GetContainer()\n2991 IOleItemContainer * COleLinkingDoc::GetContainer()\n2992 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2993 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2994 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2995 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2996 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2997 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2998 unsigned long COleControl::GetControlFlags()\n2999 void COleControlSite::GetControlInfo()\n3000 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3001 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3002 IUnknown * CCmdTarget::GetControllingUnknown()\n3003 void COleControl::GetControlSize(int *,int *)\n3004 int COlePropertyPage::GetControlStatus(unsigned int)\n3005 IUnknown * CWnd::GetControlUnknown()\n3006 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3007 int CPrintDialog::GetCopies()const \n3008 unsigned long CPropertySection::GetCount()\n3009 unsigned long CPropertySet::GetCount()\n3010 int CFileFind::GetCreationTime(CTime &)const \n3011 int CFileFind::GetCreationTime(_FILETIME *)const \n3012 int CGopherFileFind::GetCreationTime(CTime &)const \n3013 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3014 long COleLinkingDoc::XPersistFile::GetCurFile(unsigned short * *)\n3015 int CFtpConnection::GetCurrentDirectoryA(CString &)const \n3016 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n3017 int CFtpConnection::GetCurrentDirectoryAsURL(CString &)const \n3018 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n3019 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n3020 CString CDaoRecordset::GetCurrentIndex()\n3021 tagMSG const * CWnd::GetCurrentMessage()\n3022 CString CFontComboBox::GetCurrentName()\n3023 ICursor * CDataBoundProperty::GetCursor()\n3024 ICursor * CDataSourceControl::GetCursor()\n3025 long COleControlSite::GetCursor(long,ICursor * *,void * *)\n3026 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3027 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3028 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3029 long CRecordset::GetData(CDatabase *,void *,short,short,void *,int,short)\n3030 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3031 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3032 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3033 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3034 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3035 void CDaoRecordset::GetDataAndFixupNulls()\n3036 short CDaoWorkspace::GetDatabaseCount()\n3037 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n3038 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n3039 CString CDatabase::GetDatabaseName()const \n3040 void * CRecordset::GetDataBuffer(CDBVariant &,short,int *,short,unsigned long)\n3041 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3042 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3043 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3044 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3045 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3046 IDataObject * COleServerItem::GetDataObject()\n3047 COleControl::CControlDataSource * COleControl::GetDataSource()\n3048 COleDateTime CDaoQueryDef::GetDateCreated()\n3049 COleDateTime CDaoRecordset::GetDateCreated()\n3050 COleDateTime CDaoTableDef::GetDateCreated()\n3051 COleDateTime CDaoQueryDef::GetDateLastUpdated()\n3052 COleDateTime CDaoRecordset::GetDateLastUpdated()\n3053 COleDateTime CDaoTableDef::GetDateLastUpdated()\n3054 int COleDateTime::GetDay()const \n3055 int COleDateTime::GetDayOfWeek()const \n3056 int COleDateTime::GetDayOfYear()const \n3057 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3058 HACCEL__ * CDocument::GetDefaultAccelerator()\n3059 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3060 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3061 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3062 CString CRecordset::GetDefaultConnect()\n3063 CString CDaoRecordset::GetDefaultDBName()\n3064 short CRecordset::GetDefaultFieldType(short)\n3065 HMENU__ * CDocument::GetDefaultMenu()\n3066 HMENU__ * COleServerDoc::GetDefaultMenu()\n3067 int CPrintDialog::GetDefaults()\n3068 CString CDaoRecordset::GetDefaultSQL()\n3069 CString CRecordset::GetDefaultSQL()\n3070 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3071 unsigned long COleControlSite::GetDefBtnCode()\n3072 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3073 CString CPageSetupDialog::GetDeviceName()const \n3074 CString CPrintDialog::GetDeviceName()const \n3075 CPoint CScrollView::GetDeviceScrollPosition()const \n3076 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3077 _devicemodeA * CPageSetupDialog::GetDevMode()const \n3078 _devicemodeA * CPrintDialog::GetDevMode()const \n3079 int CCmdTarget::GetDispatchIID(_GUID *)\n3080 int COleControl::GetDispatchIID(_GUID *)\n3081 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3082 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3083 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3084 int CRecentFileList::GetDisplayName(CString &,int,char const *,int,int)const \n3085 int CFontHolder::GetDisplayString(CString &)\n3086 int CPictureHolder::GetDisplayString(CString &)\n3087 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,unsigned short * *)\n3088 int COleControlSite::GetDlgCtrlID()const \n3089 int CWnd::GetDlgCtrlID()const \n3090 CWnd * COleControlContainer::GetDlgItem(int)const \n3091 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3092 CWnd * CWnd::GetDlgItem(int)const \n3093 void CWnd::GetDlgItem(int,HWND__ * *)const \n3094 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3095 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3096 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n3097 int CWnd::GetDlgItemTextA(int,CString &)const \n3098 int CWnd::GetDlgItemTextA(int,char *,int)const \n3099 CDockBar * CDockContext::GetDockBar(unsigned long)\n3100 CControlBar * CDockBar::GetDockedControlBar(int)const \n3101 int CDockBar::GetDockedCount()const \n3102 int CDockBar::GetDockedVisibleCount()const \n3103 CFrameWnd * CControlBar::GetDockingFrame()const \n3104 void CFrameWnd::GetDockState(CDockState &)const \n3105 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3106 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3107 int CDocTemplate::GetDocString(CString &,enum CDocTemplate::DocStringIndex)const \n3108 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3109 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3110 CString CPageSetupDialog::GetDriverName()const \n3111 CString CPrintDialog::GetDriverName()const \n3112 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3113 IUnknown * CWnd::GetDSCCursor()\n3114 short CDaoRecordset::GetEditMode()\n3115 void COleSafeArray::GetElement(long *,void *)\n3116 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3117 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3118 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3119 int COleControl::GetEnabled()\n3120 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3121 short CDaoException::GetErrorCount()\n3122 void CDaoException::GetErrorInfo(int)\n3123 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3124 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3125 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3126 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3127 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3128 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3129 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3130 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3131 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3132 int COleControlSite::GetEventIID(_GUID *)\n3133 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3134 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n3135 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3136 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3137 unsigned long COleControlSite::GetExStyle()const \n3138 unsigned long CWnd::GetExStyle()const \n3139 IDispatch * COleControl::GetExtendedControl()\n3140 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3141 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3142 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3143 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3144 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3145 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3146 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3147 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3148 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3149 CString CFontDialog::GetFaceName()const \n3150 short CDaoQueryDef::GetFieldCount()\n3151 short CDaoRecordset::GetFieldCount()\n3152 short CDaoTableDef::GetFieldCount()\n3153 int CDaoRecordset::GetFieldIndex(void *)\n3154 short CRecordset::GetFieldIndexByName(char const *)\n3155 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3156 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n3157 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3158 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n3159 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3160 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n3161 unsigned long CDaoRecordset::GetFieldLength(int)\n3162 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3163 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3164 COleVariant CDaoRecordset::GetFieldValue(int)\n3165 COleVariant CDaoRecordset::GetFieldValue(char const *)\n3166 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n3167 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n3168 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3169 void CRecordset::GetFieldValue(short,CString &)\n3170 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n3171 void CRecordset::GetFieldValue(char const *,CString &)\n3172 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n3173 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n3174 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3175 CString CFileDialog::GetFileExt()const \n3176 CString CFile::GetFileName()const \n3177 CString CFileDialog::GetFileName()const \n3178 CString CFileFind::GetFileName()const \n3179 CString CGopherFileFind::GetFileName()const \n3180 CString CFile::GetFilePath()const \n3181 CString CFileFind::GetFilePath()const \n3182 CString CGopherFileFind::GetFilePath()const \n3183 CString CFile::GetFileTitle()const \n3184 CString CFileDialog::GetFileTitle()const \n3185 CString CFileFind::GetFileTitle()const \n3186 CString CGopherFileFind::GetFileTitle()const \n3187 int COleServerDoc::GetFileTypeString(CString &)\n3188 CString CFileFind::GetFileURL()const \n3189 CString CFtpFileFind::GetFileURL()const \n3190 CString CGopherFileFind::GetFileURL()const \n3191 CString CHttpFile::GetFileURL()const \n3192 CString CFindReplaceDialog::GetFindString()const \n3193 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3194 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3195 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3196 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3197 CFrameWnd * COleDocument::GetFirstFrame()\n3198 __POSITION * CDocument::GetFirstViewPosition()const \n3199 CWnd * COleControl::GetFocus()\n3200 CString CFileDialog::GetFolderPath()const \n3201 int CDialogTemplate::GetFont(CString &,unsigned short &)const \n3202 int CDialogTemplate::GetFont(DLGTEMPLATE const *,CString &,unsigned short &)\n3203 IFontDisp * COleControl::GetFont()\n3204 IFontDisp * CFontHolder::GetFontDispatch()\n3205 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3206 HFONT__ * CFontHolder::GetFontHandle()\n3207 FONTITEM_PPG * CFontComboBox::GetFontItem(int)\n3208 int CFontPropPage::GetFontProps(CDataExchange *,tagFONTOBJECT *,char const *,tagMERGEOBJECT *)\n3209 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3210 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n3211 unsigned long CFontComboBox::GetFontType(int)\n3212 unsigned long COleControl::GetForeColor()\n3213 _GUID CPropertySection::GetFormatID()\n3214 unsigned short CPropertySet::GetFormatVersion()\n3215 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n3216 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3217 tm * CTime::GetGmtTm(tm *)const \n3218 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n3219 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3220 CBrush * CDC::GetHalftoneBrush()\n3221 unsigned int CRectTracker::GetHandleMask()const \n3222 void CRectTracker::GetHandleRect(int,CRect *)const \n3223 int CRectTracker::GetHandleSize(tagRECT const *)const \n3224 long CSizeComboBox::GetHeight(int)\n3225 void CSplitterWnd::GetHitRect(int,CRect &)\n3226 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3227 int COleDateTime::GetHour()const \n3228 long COleDateTimeSpan::GetHours()const \n3229 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n3230 unsigned int COleControl::GetHwnd()\n3231 void * COleClientItem::GetIconicMetafile()\n3232 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3233 unsigned int COleControlSite::GetID()\n3234 unsigned long CProperty::GetID()\n3235 int CPropertySection::GetID(char const *,unsigned long *)\n3236 IDataObject * COleDataObject::GetIDataObject(int)\n3237 IDispatch * CCmdTarget::GetIDispatch(int)\n3238 long COleDispatchImpl::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3239 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3240 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3241 _GUID const & COleControl::XEventConnPt::GetIID()\n3242 _GUID const & COleControl::XPropConnPt::GetIID()\n3243 short CDaoRecordset::GetIndexCount()\n3244 short CDaoTableDef::GetIndexCount()\n3245 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3246 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n3247 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3248 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n3249 CString CDaoWorkspace::GetIniPath()\n3250 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3251 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3252 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3253 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3254 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3255 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3256 CWnd * COleClientItem::GetInPlaceWindow()\n3257 void CSplitterWnd::GetInsideRect(CRect &)const \n3258 IUnknown * CCmdTarget::GetInterface(void const *)\n3259 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3260 IUnknown * COleControl::GetInterfaceHook(void const *)\n3261 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3262 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3263 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3264 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3265 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3266 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3267 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3268 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3269 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3270 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3271 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3272 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3273 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3274 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3275 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3276 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3277 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3278 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3279 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3280 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3281 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3282 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3283 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n3284 int CDaoWorkspace::GetIsolateODBCTrans()\n3285 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3286 unsigned long CListCtrl::GetItemData(int)const \n3287 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3288 unsigned int CStatusBar::GetItemID(int)const \n3289 unsigned int CToolBar::GetItemID(int)const \n3290 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3291 void COleClientItem::GetItemName(char *)const \n3292 void COleServerDoc::GetItemPosition(tagRECT *)const \n3293 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3294 void CStatusBar::GetItemRect(int,tagRECT *)const \n3295 void CToolBar::GetItemRect(int,tagRECT *)const \n3296 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3297 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3298 void COleClientItem::GetItemStorage()\n3299 void COleClientItem::GetItemStorageCompound()\n3300 void COleClientItem::GetItemStorageFlat()\n3301 CString CListCtrl::GetItemText(int,int)const \n3302 int CListCtrl::GetItemText(int,int,char *,int)const \n3303 CString CTreeCtrl::GetItemText(_TREEITEM *)const \n3304 int CFileFind::GetLastAccessTime(CTime &)const \n3305 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3306 int CGopherFileFind::GetLastAccessTime(CTime &)const \n3307 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3308 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n3309 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3310 int CFileFind::GetLastWriteTime(CTime &)const \n3311 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3312 int CGopherFileFind::GetLastWriteTime(CTime &)const \n3313 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3314 long CRecordset::GetLBFetchSize(long)\n3315 void COleSafeArray::GetLBound(unsigned long,long *)\n3316 long CRecordset::GetLBReallocSize(long)\n3317 void CComboBox::GetLBText(int,CString &)const \n3318 unsigned long CFile::GetLength()const \n3319 unsigned long CFileFind::GetLength()const \n3320 unsigned long CGopherFileFind::GetLength()const \n3321 unsigned long CInternetFile::GetLength()const \n3322 unsigned long COleStreamFile::GetLength()const \n3323 unsigned long CSocketFile::GetLength()const \n3324 __int64 CFileFind::GetLength64()const \n3325 __int64 CGopherFileFind::GetLength64()const \n3326 int COleObjectFactory::GetLicenseKey(unsigned long,unsigned short * *)\n3327 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3328 int CRichEditCtrl::GetLine(int,char *)const \n3329 int CRichEditCtrl::GetLine(int,char *,int)const \n3330 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n3331 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3332 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3333 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n3334 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3335 CPtrList * CPropertySection::GetList()\n3336 CPtrList * CPropertySet::GetList()\n3337 tm * CTime::GetLocalTm(tm *)const \n3338 CGopherLocator CGopherFileFind::GetLocator()const \n3339 int CDaoRecordset::GetLockingMode()\n3340 tagLOGFONTA * CFontComboBox::GetLogFont(int)\n3341 short CDaoWorkspace::GetLoginTimeout()\n3342 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3343 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,int,CDBVariant &,short)\n3344 long CFieldExchange::GetLongBinarySize(int)\n3345 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,int,CString &,short)\n3346 CWnd * CWinThread::GetMainWnd()\n3347 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3348 int CConnectionPoint::GetMaxConnections()\n3349 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n3350 CWnd * CFrameWnd::GetMessageBar()\n3351 CWnd * CMDIChildWnd::GetMessageBar()\n3352 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n3353 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n3354 AFX_MSGMAP const * CColorDialog::GetMessageMap()const \n3355 AFX_MSGMAP const * CColorPropPage::GetMessageMap()const \n3356 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n3357 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n3358 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n3359 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n3360 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n3361 AFX_MSGMAP const * CDialog::GetMessageMap()const \n3362 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n3363 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n3364 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n3365 AFX_MSGMAP const * CDocument::GetMessageMap()const \n3366 AFX_MSGMAP const * CEditView::GetMessageMap()const \n3367 AFX_MSGMAP const * CFontPropPage::GetMessageMap()const \n3368 AFX_MSGMAP const * CFormView::GetMessageMap()const \n3369 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n3370 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n3371 AFX_MSGMAP const * CListView::GetMessageMap()const \n3372 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n3373 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n3374 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n3375 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n3376 AFX_MSGMAP const * COleControl::GetMessageMap()const \n3377 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n3378 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n3379 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n3380 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n3381 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n3382 AFX_MSGMAP const * CPicturePropPage::GetMessageMap()const \n3383 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n3384 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n3385 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n3386 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n3387 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n3388 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n3389 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n3390 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n3391 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n3392 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n3393 AFX_MSGMAP const * CStockPropPage::GetMessageMap()const \n3394 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n3395 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n3396 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n3397 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n3398 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n3399 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n3400 AFX_MSGMAP const * CView::GetMessageMap()const \n3401 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n3402 AFX_MSGMAP const * CWnd::GetMessageMap()const \n3403 void CFrameWnd::GetMessageString(unsigned int,CString &)const \n3404 void COleControl::GetMessageString(unsigned int,CString &)const \n3405 long CDataSourceControl::GetMetaData()\n3406 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3407 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3408 int COleDateTime::GetMinute()const \n3409 long COleDateTimeSpan::GetMinutes()const \n3410 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3411 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3412 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3413 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3414 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3415 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3416 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3417 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3418 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3419 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3420 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3421 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3422 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3423 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3424 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3425 int COleDateTime::GetMonth()const \n3426 CString CDaoDatabase::GetName()\n3427 CString CDaoQueryDef::GetName()\n3428 CString CDaoRecordset::GetName()\n3429 CString CDaoTableDef::GetName()\n3430 CString CDaoWorkspace::GetName()\n3431 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3432 unsigned long COleClientItem::GetNewItemNumber()\n3433 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3434 CDataBoundProperty * CDataBoundProperty::GetNext()\n3435 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3436 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3437 void CMapStringToOb::GetNextAssoc(__POSITION * &,CString &,CObject * &)const \n3438 void CMapStringToPtr::GetNextAssoc(__POSITION * &,CString &,void * &)const \n3439 void CMapStringToString::GetNextAssoc(__POSITION * &,CString &,CString &)const \n3440 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3441 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3442 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3443 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3444 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3445 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3446 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3447 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3448 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3449 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3450 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3451 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3452 CString CFileDialog::GetNextPathName(__POSITION * &)const \n3453 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3454 CView * CDocument::GetNextView(__POSITION * &)const \n3455 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3456 void CCmdTarget::GetNotSupported()\n3457 void COleControl::GetNotSupported()\n3458 CString CHttpFile::GetObjectA()const \n3459 long COleLinkingDoc::XOleItemContainer::GetObjectA(unsigned short *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3460 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3461 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3462 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3463 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n3464 unsigned int CArchive::GetObjectSchema()\n3465 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(unsigned short *,IBindCtx *,_GUID const &,void * *)\n3466 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3467 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n3468 short CDaoQueryDef::GetODBCTimeout()\n3469 IOleObject * COleServerItem::GetOleObject()\n3470 unsigned long COleSafeArray::GetOneDimSize()\n3471 int CDocManager::GetOpenDocumentCount()\n3472 int CWinApp::GetOpenDocumentCount()\n3473 unsigned long CPropertySet::GetOSVersion()\n3474 CWnd * COleControl::GetOuterWindow()const \n3475 int CPropertySheet::GetPageCount()const \n3476 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3477 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3478 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3479 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3480 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3481 CWnd * CSplitterWnd::GetPane(int,int)const \n3482 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3483 unsigned int CStatusBar::GetPaneStyle(int)const \n3484 CString CStatusBar::GetPaneText(int)const \n3485 void CStatusBar::GetPaneText(int,CString &)const \n3486 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3487 _paraformat & CRichEditView::GetParaFormatSelection()\n3488 short CDaoQueryDef::GetParameterCount()\n3489 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n3490 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n3491 COleVariant CDaoQueryDef::GetParamValue(int)\n3492 COleVariant CDaoQueryDef::GetParamValue(char const *)\n3493 COleVariant CDaoRecordset::GetParamValue(int)\n3494 COleVariant CDaoRecordset::GetParamValue(char const *)\n3495 CFrameWnd * CWnd::GetParentFrame()const \n3496 CWnd * CWnd::GetParentOwner()const \n3497 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3498 CString CDataPathProperty::GetPath()const \n3499 CString CFileDialog::GetPathName()const \n3500 int CAsyncSocket::GetPeerName(CString &,unsigned int &)\n3501 float CDaoRecordset::GetPercentPosition()\n3502 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3503 int CPicturePropPage::GetPictureProp(CDataExchange *,IPictureDisp * *,char const *)\n3504 void CSizeComboBox::GetPointSize(union tagCY &)\n3505 CString CPageSetupDialog::GetPortName()const \n3506 CString CPrintDialog::GetPortName()const \n3507 unsigned long CFile::GetPosition()const \n3508 unsigned long CMemFile::GetPosition()const \n3509 unsigned long COleStreamFile::GetPosition()const \n3510 unsigned long CSocketFile::GetPosition()const \n3511 unsigned long CStdioFile::GetPosition()const \n3512 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3513 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3514 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3515 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3516 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3517 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n3518 CFont * CEditView::GetPrinterFont()const \n3519 long CAsyncMonikerFile::GetPriority()const \n3520 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n3521 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n3522 CString CWinApp::GetProfileStringA(char const *,char const *,char const *)\n3523 int COlePropertyPage::GetPropCheck(char const *,int *)\n3524 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3525 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3526 CProperty * CPropertySection::GetProperty(unsigned long)\n3527 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3528 void CWnd::GetProperty(long,unsigned short,void *)const \n3529 int COlePropertyPage::GetPropIndex(char const *,int *)\n3530 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3531 int COlePropertyPage::GetPropRadio(char const *,int *)\n3532 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3533 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n3534 int COlePropertyPage::GetPropText(char const *,short *)\n3535 int COlePropertyPage::GetPropText(char const *,int *)\n3536 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n3537 int COlePropertyPage::GetPropText(char const *,long *)\n3538 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n3539 int COlePropertyPage::GetPropText(char const *,float *)\n3540 int COlePropertyPage::GetPropText(char const *,double *)\n3541 int COlePropertyPage::GetPropText(char const *,CString *)\n3542 short CDaoDatabase::GetQueryDefCount()\n3543 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n3544 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n3545 short CDaoDatabase::GetQueryTimeout()\n3546 void CSliderCtrl::GetRange(int &,int &)const \n3547 void CSpinButtonCtrl::GetRange(int &,int &)const \n3548 void * CProperty::GetRawValue()\n3549 long COleControl::GetReadyState()\n3550 long CDaoRecordset::GetRecordCount()\n3551 long CDaoTableDef::GetRecordCount()\n3552 long CDaoDatabase::GetRecordsAffected()\n3553 long CDaoQueryDef::GetRecordsAffected()\n3554 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3555 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3556 int COleControl::GetRectInContainer(tagRECT *)\n3557 short CDaoDatabase::GetRelationCount()\n3558 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n3559 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n3560 CString CFindReplaceDialog::GetReplaceString()const \n3561 int CDaoQueryDef::GetReturnsRecords()\n3562 CString CFileFind::GetRoot()const \n3563 CString CGopherFileFind::GetRoot()const \n3564 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3565 CView * CCmdTarget::GetRoutingView()\n3566 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3567 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3568 CRuntime* CArchiveException::GetRuntimeClass()const \n3569 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3570 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3571 CRuntime* CBitmap::GetRuntimeClass()const \n3572 CRuntime* CBitmapButton::GetRuntimeClass()const \n3573 CRuntime* CBrush::GetRuntimeClass()const \n3574 CRuntime* CButton::GetRuntimeClass()const \n3575 CRuntime* CByteArray::GetRuntimeClass()const \n3576 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3577 CRuntime* CCheckListBox::GetRuntimeClass()const \n3578 CRuntime* CClientDC::GetRuntimeClass()const \n3579 CRuntime* CCmdTarget::GetRuntimeClass()const \n3580 CRuntime* CColorDialog::GetRuntimeClass()const \n3581 CRuntime* CColorPropPage::GetRuntimeClass()const \n3582 CRuntime* CComboBox::GetRuntimeClass()const \n3583 CRuntime* CControlBar::GetRuntimeClass()const \n3584 CRuntime* CCriticalSection::GetRuntimeClass()const \n3585 CRuntime* CCtrlView::GetRuntimeClass()const \n3586 CRuntime* CDaoDatabase::GetRuntimeClass()const \n3587 CRuntime* CDaoException::GetRuntimeClass()const \n3588 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n3589 CRuntime* CDaoRecordset::GetRuntimeClass()const \n3590 CRuntime* CDaoRecordView::GetRuntimeClass()const \n3591 CRuntime* CDaoTableDef::GetRuntimeClass()const \n3592 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n3593 CRuntime* CDatabase::GetRuntimeClass()const \n3594 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3595 CRuntime* CDBException::GetRuntimeClass()const \n3596 CRuntime* CDC::GetRuntimeClass()const \n3597 CRuntime* CDialog::GetRuntimeClass()const \n3598 CRuntime* CDialogBar::GetRuntimeClass()const \n3599 CRuntime* CDocItem::GetRuntimeClass()const \n3600 CRuntime* CDockBar::GetRuntimeClass()const \n3601 CRuntime* CDockState::GetRuntimeClass()const \n3602 CRuntime* CDocManager::GetRuntimeClass()const \n3603 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3604 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3605 CRuntime* CDocTemplate::GetRuntimeClass()const \n3606 CRuntime* CDocument::GetRuntimeClass()const \n3607 CRuntime* CDragListBox::GetRuntimeClass()const \n3608 CRuntime* CDWordArray::GetRuntimeClass()const \n3609 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3610 CRuntime* CEdit::GetRuntimeClass()const \n3611 CRuntime* CEditView::GetRuntimeClass()const \n3612 CRuntime* CEvent::GetRuntimeClass()const \n3613 CRuntime* CException::GetRuntimeClass()const \n3614 CRuntime* CFile::GetRuntimeClass()const \n3615 CRuntime* CFileDialog::GetRuntimeClass()const \n3616 CRuntime* CFileException::GetRuntimeClass()const \n3617 CRuntime* CFileFind::GetRuntimeClass()const \n3618 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3619 CRuntime* CFont::GetRuntimeClass()const \n3620 CRuntime* CFontDialog::GetRuntimeClass()const \n3621 CRuntime* CFontPropPage::GetRuntimeClass()const \n3622 CRuntime* CFormView::GetRuntimeClass()const \n3623 CRuntime* CFrameWnd::GetRuntimeClass()const \n3624 CRuntime* CFtpConnection::GetRuntimeClass()const \n3625 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3626 CRuntime* CGdiObject::GetRuntimeClass()const \n3627 CRuntime* CGopherConnection::GetRuntimeClass()const \n3628 CRuntime* CGopherFile::GetRuntimeClass()const \n3629 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3630 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3631 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3632 CRuntime* CHttpConnection::GetRuntimeClass()const \n3633 CRuntime* CHttpFile::GetRuntimeClass()const \n3634 CRuntime* CImageList::GetRuntimeClass()const \n3635 CRuntime* CInternetConnection::GetRuntimeClass()const \n3636 CRuntime* CInternetException::GetRuntimeClass()const \n3637 CRuntime* CInternetFile::GetRuntimeClass()const \n3638 CRuntime* CInternetSession::GetRuntimeClass()const \n3639 CRuntime* CListBox::GetRuntimeClass()const \n3640 CRuntime* CListCtrl::GetRuntimeClass()const \n3641 CRuntime* CListView::GetRuntimeClass()const \n3642 CRuntime* CLongBinary::GetRuntimeClass()const \n3643 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3644 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3645 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3646 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3647 CRuntime* CMapStringToString::GetRuntimeClass()const \n3648 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3649 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3650 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3651 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3652 CRuntime* CMemFile::GetRuntimeClass()const \n3653 CRuntime* CMemoryException::GetRuntimeClass()const \n3654 CRuntime* CMenu::GetRuntimeClass()const \n3655 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3656 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3657 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3658 CRuntime* CMonikerFile::GetRuntimeClass()const \n3659 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3660 CRuntime* CMutex::GetRuntimeClass()const \n3661 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3662 CRuntime* CObArray::GetRuntimeClass()const \n3663 CRuntime* CObject::GetRuntimeClass()const \n3664 CRuntime* CObList::GetRuntimeClass()const \n3665 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3666 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3667 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3668 CRuntime* COleClientItem::GetRuntimeClass()const \n3669 CRuntime* COleControl::GetRuntimeClass()const \n3670 CRuntime* COleControlModule::GetRuntimeClass()const \n3671 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3672 CRuntime* COleDialog::GetRuntimeClass()const \n3673 CRuntime* COleDispatchException::GetRuntimeClass()const \n3674 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3675 CRuntime* COleDocument::GetRuntimeClass()const \n3676 CRuntime* COleException::GetRuntimeClass()const \n3677 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3678 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3679 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3680 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3681 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3682 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3683 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3684 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3685 CRuntime* COleResizeBar::GetRuntimeClass()const \n3686 CRuntime* COleServerDoc::GetRuntimeClass()const \n3687 CRuntime* COleServerItem::GetRuntimeClass()const \n3688 CRuntime* COleStreamFile::GetRuntimeClass()const \n3689 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3690 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3691 CRuntime* CPaintDC::GetRuntimeClass()const \n3692 CRuntime* CPalette::GetRuntimeClass()const \n3693 CRuntime* CPen::GetRuntimeClass()const \n3694 CRuntime* CPicturePropPage::GetRuntimeClass()const \n3695 CRuntime* CPreviewDC::GetRuntimeClass()const \n3696 CRuntime* CPreviewView::GetRuntimeClass()const \n3697 CRuntime* CPrintDialog::GetRuntimeClass()const \n3698 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3699 CRuntime* CPropertyPage::GetRuntimeClass()const \n3700 CRuntime* CPropertySheet::GetRuntimeClass()const \n3701 CRuntime* CPtrArray::GetRuntimeClass()const \n3702 CRuntime* CPtrList::GetRuntimeClass()const \n3703 CRuntime* CRecordset::GetRuntimeClass()const \n3704 CRuntime* CRecordView::GetRuntimeClass()const \n3705 CRuntime* CResourceException::GetRuntimeClass()const \n3706 CRuntime* CRgn::GetRuntimeClass()const \n3707 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3708 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3709 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3710 CRuntime* CRichEditView::GetRuntimeClass()const \n3711 CRuntime* CScrollBar::GetRuntimeClass()const \n3712 CRuntime* CScrollView::GetRuntimeClass()const \n3713 CRuntime* CSemaphore::GetRuntimeClass()const \n3714 CRuntime* CSharedFile::GetRuntimeClass()const \n3715 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3716 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3717 CRuntime* CSocket::GetRuntimeClass()const \n3718 CRuntime* CSocketFile::GetRuntimeClass()const \n3719 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3720 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3721 CRuntime* CStatic::GetRuntimeClass()const \n3722 CRuntime* CStatusBar::GetRuntimeClass()const \n3723 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3724 CRuntime* CStdioFile::GetRuntimeClass()const \n3725 CRuntime* CStockPropPage::GetRuntimeClass()const \n3726 CRuntime* CStringArray::GetRuntimeClass()const \n3727 CRuntime* CStringList::GetRuntimeClass()const \n3728 CRuntime* CSyncObject::GetRuntimeClass()const \n3729 CRuntime* CTabCtrl::GetRuntimeClass()const \n3730 CRuntime* CToolBar::GetRuntimeClass()const \n3731 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3732 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3733 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3734 CRuntime* CTreeView::GetRuntimeClass()const \n3735 CRuntime* CUIntArray::GetRuntimeClass()const \n3736 CRuntime* CUserException::GetRuntimeClass()const \n3737 CRuntime* CView::GetRuntimeClass()const \n3738 CRuntime* CWinApp::GetRuntimeClass()const \n3739 CRuntime* CWindowDC::GetRuntimeClass()const \n3740 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3741 CRuntime* CWinThread::GetRuntimeClass()const \n3742 CRuntime* CWnd::GetRuntimeClass()const \n3743 CRuntime* CWordArray::GetRuntimeClass()const \n3744 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3745 unsigned long * CColorDialog::GetSavedCustomColors()\n3746 CString CGopherFileFind::GetScreenName()const \n3747 CSize CDockState::GetScreenSize()\n3748 CScrollBar * CView::GetScrollBarCtrl(int)const \n3749 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3750 void CScrollView::GetScrollBarSizes(CSize &)\n3751 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3752 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3753 int CWnd::GetScrollLimit(int)\n3754 int CWnd::GetScrollPos(int)const \n3755 CPoint CScrollView::GetScrollPosition()const \n3756 void CWnd::GetScrollRange(int,int *,int *)const \n3757 unsigned long CSplitterWnd::GetScrollStyle()const \n3758 int COleDateTime::GetSecond()const \n3759 long COleDateTimeSpan::GetSeconds()const \n3760 CPropertySection * CPropertySet::GetSection(_GUID)\n3761 HKEY__ * CWinApp::GetSectionKey(char const *)\n3762 char const * CPropertySection::GetSectionName()\n3763 void CRichEditCtrl::GetSel(long &,long &)const \n3764 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3765 void CEditView::GetSelectedText(CString &)const \n3766 void CSliderCtrl::GetSelection(int &,int &)const \n3767 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3768 unsigned int COleConvertDialog::GetSelectionType()const \n3769 unsigned int COleInsertDialog::GetSelectionType()const \n3770 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3771 CString CRichEditCtrl::GetSelText()const \n3772 CString CInternetConnection::GetServerName()const \n3773 unsigned long CPropertySection::GetSize()\n3774 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3775 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3776 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3777 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3778 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3779 CWnd * CSplitterWnd::GetSizingParent()\n3780 int CAsyncSocket::GetSockName(CString &,unsigned int &)\n3781 CString CDaoTableDef::GetSourceTableName()\n3782 CString CDaoQueryDef::GetSQL()\n3783 CString CDaoRecordset::GetSQL()const \n3784 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3785 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3786 __POSITION * CConnectionPoint::GetStartPosition()const \n3787 __POSITION * COleDocument::GetStartPosition()const \n3788 __POSITION * CRichEditDoc::GetStartPosition()const \n3789 int CFile::GetStatus(CFileStatus &)const \n3790 int CFile::GetStatus(char const *,CFileStatus &)\n3791 int CMemFile::GetStatus(CFileStatus &)const \n3792 int COleStreamFile::GetStatus(CFileStatus &)const \n3793 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n3794 CString const COleStreamFile::GetStorageName()const \n3795 IStream * COleStreamFile::GetStream()const \n3796 unsigned long COleControlSite::GetStyle()const \n3797 unsigned long CWnd::GetStyle()const \n3798 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3799 short CDaoDatabase::GetTableDefCount()\n3800 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n3801 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n3802 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3803 void CListBox::GetText(int,CString &)const \n3804 unsigned short * COleControl::GetText()\n3805 CString CStatusBarCtrl::GetText(int,int *)const \n3806 int CStatusBarCtrl::GetText(char const *,int,int *)const \n3807 void CToolTipCtrl::GetText(CString &,CWnd *,unsigned int)const \n3808 int CRecordset::GetTextLen(short,unsigned long)\n3809 int CStatusBarCtrl::GetTextLength(int,int *)const \n3810 COleDateTime COleDateTime::GetTickCount()\n3811 CTime CTime::GetTickCount()\n3812 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3813 CFrameWnd * CWnd::GetTopLevelFrame()const \n3814 CWnd * CWnd::GetTopLevelOwner()const \n3815 CWnd * CWnd::GetTopLevelParent()const \n3816 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3817 void CRectTracker::GetTrueRect(tagRECT *)const \n3818 short CDaoQueryDef::GetType()\n3819 short CDaoRecordset::GetType()\n3820 short CPictureHolder::GetType()\n3821 unsigned long CProperty::GetType()\n3822 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3823 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3824 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3825 unsigned int CCmdTarget::GetTypeInfoCount()\n3826 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3827 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3828 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3829 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3830 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3831 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3832 void COleSafeArray::GetUBound(unsigned long,long *)\n3833 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3834 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3835 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3836 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3837 CString CDaoWorkspace::GetUserNameA()\n3838 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,CString &)\n3839 void COleControl::GetUserType(char *)\n3840 long CDocObjectServer::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3841 long COleControl::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3842 long COleServerDoc::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3843 long COleServerItem::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3844 CString CDaoRecordset::GetValidationRule()\n3845 CString CDaoTableDef::GetValidationRule()\n3846 CString CDaoRecordset::GetValidationText()\n3847 CString CDaoTableDef::GetValidationText()\n3848 void * CMapPtrToPtr::GetValueAt(void *)const \n3849 CString CHttpFile::GetVerb()const \n3850 CString CDaoDatabase::GetVersion()\n3851 CString CDaoWorkspace::GetVersion()\n3852 unsigned long CDockState::GetVersion()\n3853 CRichEditView * CRichEditDoc::GetView()const \n3854 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3855 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3856 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3857 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3858 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3859 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3860 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3861 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3862 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3863 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3864 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3865 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3866 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3867 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3868 IDropTarget * COleControl::GetWindowlessDropTarget()\n3869 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3870 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3871 int COleControlSite::GetWindowTextA(char *,int)const \n3872 void COleControlSite::GetWindowTextA(CString &)const \n3873 int CWnd::GetWindowTextA(char *,int)const \n3874 void CWnd::GetWindowTextA(CString &)const \n3875 int COleControlSite::GetWindowTextLengthA()const \n3876 int CWnd::GetWindowTextLengthA()const \n3877 short CDaoWorkspace::GetWorkspaceCount()\n3878 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n3879 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n3880 int COleDateTime::GetYear()const \n3881 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3882 long COleDropSource::GiveFeedback(unsigned long)\n3883 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3884 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3885 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3886 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3887 void CMemFile::GrowFile(unsigned long)\n3888 _GUID const CColorPropPage::guid\n3889 _GUID const CFontPropPage::guid\n3890 _GUID const CPicturePropPage::guid\n3891 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3892 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3893 long CDialog::HandleInitDialog(unsigned int,long)\n3894 long CDialogBar::HandleInitDialog(unsigned int,long)\n3895 long CFormView::HandleInitDialog(unsigned int,long)\n3896 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3897 long CDialog::HandleSetFont(unsigned int,long)\n3898 long COleControl::XPersistStorage::HandsOffStorage()\n3899 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3900 int COleDocument::HasBlankItems()const \n3901 int CDialogTemplate::HasFont()const \n3902 unsigned int HashKey(tagVARIANT const &)\n3903 unsigned int HashKey(char const *)\n3904 long COlePropertyPage::XPropertyPage::Help(unsigned short const *)\n3905 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n3906 void CWinApp::HideApplication()\n3907 void CFileDialog::HideControl(int)\n3908 void CDC::HIMETRICtoDP(tagSIZE *)const \n3909 void CDC::HIMETRICtoLP(tagSIZE *)const \n3910 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3911 int CRectTracker::HitTest(CPoint)const \n3912 int CSplitterWnd::HitTest(CPoint)const \n3913 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n3914 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3915 int CRectTracker::HitTestHandles(CPoint)const \n3916 int CSplitterWnd::IdFromRowCol(int,int)const \n3917 void CDaoWorkspace::Idle(int)\n3918 void COlePropertyPage::IgnoreApply(unsigned int)\n3919 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3920 void CRect::InflateRect(int,int,int,int)\n3921 void CRect::InflateRect(tagRECT const *)\n3922 int CWinApp::InitApplication()\n3923 long COleControl::XOleCache::InitCache(IDataObject *)\n3924 int CWnd::InitControlContainer()\n3925 void CDaoWorkspace::InitDatabasesCollection()\n3926 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3927 void CDaoException::InitErrorsCollection()\n3928 void CDaoQueryDef::InitFieldsCollection()\n3929 void CDaoRecordset::InitFieldsCollection()\n3930 void CDaoTableDef::InitFieldsCollection()\n3931 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3932 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3933 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3934 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3935 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3936 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3937 void CMapStringToOb::InitHashTable(unsigned int,int)\n3938 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3939 void CMapStringToString::InitHashTable(unsigned int,int)\n3940 void CMapWordToOb::InitHashTable(unsigned int,int)\n3941 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3942 long CDataSourceControl::Initialize()\n3943 void CMiniFrameWnd::Initialize()\n3944 void CDaoWorkspace::InitializeEngine()\n3945 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3946 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3947 int CEditView::InitializeReplace()\n3948 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3949 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3950 void CDaoRecordset::InitIndexesCollection()\n3951 void CDaoTableDef::InitIndexesCollection()\n3952 int COleControlModule::InitInstance()\n3953 int CWinApp::InitInstance()\n3954 int CWinThread::InitInstance()\n3955 void CDockContext::InitLoop()\n3956 int CDialog::InitModalIndirect(void *,CWnd *)\n3957 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3958 long COleControl::XPersistMemory::InitNew()\n3959 long COleControl::XPersistPropertyBag::InitNew()\n3960 long COleControl::XPersistStorage::InitNew(IStorage *)\n3961 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3962 long COleControl::XPersistStreamInit::InitNew()\n3963 void CDaoQueryDef::InitParametersCollection()\n3964 void CDaoDatabase::InitQueryDefsCollection()\n3965 void CRecordset::InitRecord()\n3966 void CDaoDatabase::InitRelationsCollection()\n3967 void COleControl::InitStockEventMask()\n3968 void COleControl::InitStockPropMask()\n3969 void CSimpleException::InitString()\n3970 void CDaoDatabase::InitTableDefsCollection()\n3971 void CDaoDatabase::InitWorkspace()\n3972 void CDaoWorkspace::InitWorkspacesCollection()\n3973 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3974 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3975 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3976 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3977 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3978 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n3979 void CByteArray::InsertAt(int,unsigned char,int)\n3980 void CByteArray::InsertAt(int,CByteArray *)\n3981 void CDWordArray::InsertAt(int,unsigned long,int)\n3982 void CDWordArray::InsertAt(int,CDWordArray *)\n3983 void CObArray::InsertAt(int,CObArray *)\n3984 void CObArray::InsertAt(int,CObject *,int)\n3985 void CPtrArray::InsertAt(int,CPtrArray *)\n3986 void CPtrArray::InsertAt(int,void *,int)\n3987 void CStringArray::InsertAt(int,CStringArray *)\n3988 void CStringArray::InsertAt(int,char const *,int)\n3989 void CUIntArray::InsertAt(int,unsigned int,int)\n3990 void CUIntArray::InsertAt(int,CUIntArray *)\n3991 void CWordArray::InsertAt(int,unsigned short,int)\n3992 void CWordArray::InsertAt(int,CWordArray *)\n3993 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3994 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3995 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n3996 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n3997 void CRichEditView::InsertFileAsObject(char const *)\n3998 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n3999 long CRichEditView::InsertItem(CRichEditCntrItem *)\n4000 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n4001 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4002 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4003 AFX_INTERFACEMAP const CCmdTarget::interfaceMap\n4004 AFX_INTERFACEMAP const CDocObjectServer::interfaceMap\n4005 AFX_INTERFACEMAP const COleClientItem::interfaceMap\n4006 AFX_INTERFACEMAP const COleControl::interfaceMap\n4007 AFX_INTERFACEMAP const COleDataSource::interfaceMap\n4008 AFX_INTERFACEMAP const COleDropSource::interfaceMap\n4009 AFX_INTERFACEMAP const COleDropTarget::interfaceMap\n4010 AFX_INTERFACEMAP const COleFrameHook::interfaceMap\n4011 AFX_INTERFACEMAP const COleLinkingDoc::interfaceMap\n4012 AFX_INTERFACEMAP const COleMessageFilter::interfaceMap\n4013 AFX_INTERFACEMAP const COleObjectFactory::interfaceMap\n4014 AFX_INTERFACEMAP const COlePropertyPage::interfaceMap\n4015 AFX_INTERFACEMAP const COleServerDoc::interfaceMap\n4016 AFX_INTERFACEMAP const COleServerItem::interfaceMap\n4017 AFX_INTERFACEMAP const CRichEditView::interfaceMap\n4018 CFontHolder & COleControl::InternalGetFont()\n4019 CString const & COleControl::InternalGetText()\n4020 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n4021 unsigned long CCmdTarget::InternalRelease()\n4022 int CDC::IntersectClipRect(int,int,int,int)\n4023 int CDC::IntersectClipRect(tagRECT const *)\n4024 void CCheckListBox::InvalidateCheck(int)\n4025 void COleControl::InvalidateControl(tagRECT const *,int)\n4026 void CCheckListBox::InvalidateItem(int)\n4027 void COleControl::InvalidateRgn(CRgn *,int)\n4028 void CMiniFrameWnd::InvertSysMenu()\n4029 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4030 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4031 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4032 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4033 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4034 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4035 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4036 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4037 int CDocItem::IsBlank()const \n4038 int COleServerItem::IsBlank()const \n4039 int CDaoRecordset::IsBOF()const \n4040 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n4041 int COleServerItem::IsConnected()const \n4042 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n4043 int COleControlSite::IsDefaultButton()\n4044 int CDaoRecordset::IsDeleted()const \n4045 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n4046 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n4047 int CWnd::IsDialogMessageA(tagMSG *)\n4048 long CBlobProperty::IsDirty()\n4049 long COleLinkingDoc::XPersistFile::IsDirty()\n4050 long COleControl::XPersistMemory::IsDirty()\n4051 long COleControl::XPersistStorage::IsDirty()\n4052 long COleServerDoc::XPersistStorage::IsDirty()\n4053 long COleControl::XPersistStreamInit::IsDirty()\n4054 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n4055 unsigned int CWnd::IsDlgButtonChecked(int)const \n4056 int CControlBar::IsDockBar()const \n4057 int CDockBar::IsDockBar()const \n4058 int CFileFind::IsDots()const \n4059 int CGopherFileFind::IsDots()const \n4060 int CCheckListBox::IsEnabled(int)\n4061 int CDaoRecordset::IsEOF()const \n4062 int CDaoRecordset::IsFieldDirty(void *)\n4063 int CRecordset::IsFieldDirty(void *)\n4064 int CDaoRecordset::IsFieldNull(void *)\n4065 int CRecordset::IsFieldNull(void *)\n4066 int CDaoRecordset::IsFieldNullable(void *)\n4067 int CRecordset::IsFieldNullable(void *)\n4068 int CRecordset::IsFieldNullable(unsigned long)const \n4069 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n4070 int CRecordset::IsFieldStatusDirty(unsigned long)const \n4071 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n4072 int CRecordset::IsFieldStatusNull(unsigned long)const \n4073 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n4074 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n4075 int CFieldExchange::IsFieldType(unsigned int *)\n4076 int CControlBar::IsFloating()const \n4077 int CFrameWnd::IsFrameWnd()const \n4078 int CWnd::IsFrameWnd()const \n4079 int CWinThread::IsIdleMessage(tagMSG *)\n4080 int CCmdTarget::IsInvokeAllowed(long)\n4081 int COleControl::IsInvokeAllowed(long)\n4082 int CRecordset::IsJoin(char const *)\n4083 int CObject::IsKindOf(CRuntimeconst *)const \n4084 int COccManager::IsLabelControl(CWnd *)\n4085 int COleObjectFactory::IsLicenseValid()\n4086 int CDaoRecordset::IsMatch()\n4087 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n4088 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n4089 int CDocument::IsModified()\n4090 int COleClientItem::IsModified()const \n4091 int COleControl::IsModified()\n4092 int COlePropertyPage::IsModified()\n4093 int CRichEditDoc::IsModified()\n4094 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n4095 int CDaoRecordView::IsOnFirstRecord()\n4096 int CRecordView::IsOnFirstRecord()\n4097 int CDaoRecordView::IsOnLastRecord()\n4098 int CRecordView::IsOnLastRecord()\n4099 int CRecordset::IsOpen()const \n4100 long COlePropertyPage::XPropertyPage::IsPageDirty()\n4101 int CRecordset::IsParamStatusNull(unsigned long)const \n4102 int CRecordset::IsRecordsetUpdatable()\n4103 int COleObjectFactory::IsRegistered()const \n4104 int CCmdTarget::IsResultExpected()\n4105 int CRichEditView::IsRichEditFormat(unsigned short)\n4106 long COleLinkingDoc::XOleItemContainer::IsRunning(unsigned short *)\n4107 int CRichEditView::IsSelected(CObject const *)const \n4108 int CView::IsSelected(CObject const *)const \n4109 int CRecordset::IsSelectQueryUpdatable(char const *)\n4110 int CObject::IsSerializable()const \n4111 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n4112 int CRecordset::IsSQLUpdatable(char const *)\n4113 int COleControl::IsSubclassedControl()\n4114 int CWnd::IsTopParentActive()const \n4115 int CFrameWnd::IsTracking()const \n4116 long CDocObjectServer::XOleObject::IsUpToDate()\n4117 long COleControl::XOleObject::IsUpToDate()\n4118 long COleServerDoc::XOleObject::IsUpToDate()\n4119 long COleServerItem::XOleObject::IsUpToDate()\n4120 int CDaoFieldExchange::IsValidOperation()\n4121 int CControlBar::IsVisible()const \n4122 int COleControlSite::IsWindowEnabled()const \n4123 int CWnd::IsWindowEnabled()const \n4124 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n4125 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n4126 void COleControl::KeyDown(unsigned short *)\n4127 void COleControl::KeyUp(unsigned short *)\n4128 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n4129 CString CString::Left(int)const \n4130 int CRichEditCtrl::LineIndex(int)const \n4131 int CRichEditCtrl::LineLength(int)const \n4132 void CRichEditCtrl::LineScroll(int,int)\n4133 int CDC::LineTo(int,int)\n4134 unsigned long CRichEditView::lMaxSize\n4135 long CBlobProperty::Load(IStream *)\n4136 int CDialogTemplate::Load(char const *)\n4137 void COleControl::Load(char const *,CDataPathProperty &)\n4138 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4139 long COleLinkingDoc::XPersistFile::Load(unsigned short const *,unsigned long)\n4140 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4141 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4142 long COleControl::XPersistStorage::Load(IStorage *)\n4143 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4144 long COleControl::XPersistStreamInit::Load(IStream *)\n4145 int CFrameWnd::LoadAccelTable(char const *)\n4146 void CFrameWnd::LoadBarState(char const *)\n4147 int CToolBar::LoadBitmapA(char const *)\n4148 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n4149 void CDaoRecordset::LoadFields()\n4150 void CRecordset::LoadFields()\n4151 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4152 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4153 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4154 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4155 void COleDocument::LoadFromStorage()\n4156 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n4157 void CDockState::LoadState(char const *)\n4158 long COleControl::LoadState(IStream *)\n4159 void CWinApp::LoadStdProfileSettings(unsigned int)\n4160 int CString::LoadStringA(unsigned int)\n4161 void CDocTemplate::LoadTemplate()\n4162 void CMultiDocTemplate::LoadTemplate()\n4163 int CToolBar::LoadToolBar(char const *)\n4164 int CCriticalSection::Lock(unsigned long)\n4165 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4166 void COleSafeArray::Lock()\n4167 int CSingleLock::Lock(unsigned long)\n4168 int CSyncObject::Lock(unsigned long)\n4169 void CTypeLibCache::Lock()\n4170 char const * CEditView::LockBuffer()const \n4171 char * CString::LockBuffer()\n4172 long COleControlContainer::XOleContainer::LockContainer(int)\n4173 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4174 void COleLinkingDoc::LockExternal(int,int)\n4175 int COleControl::LockInPlaceActive(int)\n4176 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4177 void CFile::LockRange(unsigned long,unsigned long)\n4178 void CInternetFile::LockRange(unsigned long,unsigned long)\n4179 void CMemFile::LockRange(unsigned long,unsigned long)\n4180 void COleStreamFile::LockRange(unsigned long,unsigned long)\n4181 void CSocketFile::LockRange(unsigned long,unsigned long)\n4182 void CStdioFile::LockRange(unsigned long,unsigned long)\n4183 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4184 long COleObjectFactory::XClassFactory::LockServer(int)\n4185 int CMapPtrToPtr::Lookup(void *,void * &)const \n4186 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4187 int CMapStringToOb::Lookup(char const *,CObject * &)const \n4188 int CMapStringToPtr::Lookup(char const *,void * &)const \n4189 int CMapStringToString::Lookup(char const *,CString &)const \n4190 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4191 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4192 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4193 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4194 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4195 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4196 int CMapStringToOb::LookupKey(char const *,char const * &)const \n4197 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n4198 int CMapStringToString::LookupKey(char const *,char const * &)const \n4199 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4200 void CDC::LPtoDP(tagSIZE *)const \n4201 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4202 void CString::MakeLower()\n4203 void CString::MakeReverse()\n4204 void CString::MakeUpper()\n4205 void CArchive::MapObject(CObject const *)\n4206 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4207 int COleDialog::MapResult(unsigned int)\n4208 long CPropertyPage::MapWizardResult(long)\n4209 void CDaoRecordset::MarkForAddNew()\n4210 void CRecordset::MarkForAddNew()\n4211 void CDaoRecordset::MarkForEdit()\n4212 void CRecordset::MarkForUpdate()\n4213 void CRichEditDoc::MarkItemsClear()const \n4214 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n4215 int CFileFind::MatchesMask(unsigned long)const \n4216 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4217 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4218 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4219 void CListBox::MeasureItem(tagMEASUREITEM*)\n4220 void CMenu::MeasureItem(tagMEASUREITEM*)\n4221 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n4222 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned int)\n4223 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n4224 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n4225 AFX_MSGMAP const CCheckListBox::messageMap\n4226 AFX_MSGMAP const CCmdTarget::messageMap\n4227 AFX_MSGMAP const CColorDialog::messageMap\n4228 AFX_MSGMAP const CColorPropPage::messageMap\n4229 AFX_MSGMAP const CCommonDialog::messageMap\n4230 AFX_MSGMAP const CControlBar::messageMap\n4231 AFX_MSGMAP const CControlFrameWnd::messageMap\n4232 AFX_MSGMAP const CCtrlView::messageMap\n4233 AFX_MSGMAP const CDaoRecordView::messageMap\n4234 AFX_MSGMAP const CDialog::messageMap\n4235 AFX_MSGMAP const CDialogBar::messageMap\n4236 AFX_MSGMAP const CDockBar::messageMap\n4237 AFX_MSGMAP const CDocObjectServer::messageMap\n4238 AFX_MSGMAP const CDocument::messageMap\n4239 AFX_MSGMAP const CEditView::messageMap\n4240 AFX_MSGMAP const CFontPropPage::messageMap\n4241 AFX_MSGMAP const CFormView::messageMap\n4242 AFX_MSGMAP const CFrameWnd::messageMap\n4243 AFX_MSGMAP const CListCtrl::messageMap\n4244 AFX_MSGMAP const CListView::messageMap\n4245 AFX_MSGMAP const CMDIChildWnd::messageMap\n4246 AFX_MSGMAP const CMDIFrameWnd::messageMap\n4247 AFX_MSGMAP const CMiniDockFrameWnd::messageMap\n4248 AFX_MSGMAP const CMiniFrameWnd::messageMap\n4249 AFX_MSGMAP const COleControl::messageMap\n4250 AFX_MSGMAP const COleDocIPFrameWnd::messageMap\n4251 AFX_MSGMAP const COleIPFrameWnd::messageMap\n4252 AFX_MSGMAP const COlePropertyPage::messageMap\n4253 AFX_MSGMAP const COleResizeBar::messageMap\n4254 AFX_MSGMAP const COleServerDoc::messageMap\n4255 AFX_MSGMAP const CPicturePropPage::messageMap\n4256 AFX_MSGMAP const CPreviewView::messageMap\n4257 AFX_MSGMAP const CPrintDialog::messageMap\n4258 AFX_MSGMAP const CPropertyPage::messageMap\n4259 AFX_MSGMAP const CPropertySheet::messageMap\n4260 AFX_MSGMAP const CRecordView::messageMap\n4261 AFX_MSGMAP const CRichEditView::messageMap\n4262 AFX_MSGMAP const CScrollView::messageMap\n4263 AFX_MSGMAP const CSocketWnd::messageMap\n4264 AFX_MSGMAP const CSplitterWnd::messageMap\n4265 AFX_MSGMAP const CStatusBar::messageMap\n4266 AFX_MSGMAP const CStockPropPage::messageMap\n4267 AFX_MSGMAP const CTabCtrl::messageMap\n4268 AFX_MSGMAP const CToolBar::messageMap\n4269 AFX_MSGMAP const CToolBarCtrl::messageMap\n4270 AFX_MSGMAP const CToolTipCtrl::messageMap\n4271 AFX_MSGMAP const CTreeCtrl::messageMap\n4272 AFX_MSGMAP const CTreeView::messageMap\n4273 AFX_MSGMAP const CView::messageMap\n4274 AFX_MSGMAP const CWinApp::messageMap\n4275 AFX_MSGMAP const CWnd::messageMap\n4276 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4277 CString CString::Mid(int)const \n4278 CString CString::Mid(int,int)const \n4279 void CPreviewDC::MirrorAttributes()\n4280 void CPreviewDC::MirrorFont()\n4281 void CPreviewDC::MirrorMappingMode(int)\n4282 void CPreviewDC::MirrorViewportOrg()\n4283 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4284 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4285 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4286 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4287 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4288 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4289 void CDaoRecordset::Move(long)\n4290 void CDockContext::Move(CPoint)\n4291 void CRecordset::Move(long,unsigned short)\n4292 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4293 void CDaoRecordset::MoveFirst()\n4294 void CDaoRecordset::MoveLast()\n4295 void CDaoRecordset::MoveNext()\n4296 void CDaoRecordset::MovePrev()\n4297 CPoint CDC::MoveTo(int,int)\n4298 void COleControlSite::MoveWindow(int,int,int,int,int)\n4299 void CWnd::MoveWindow(int,int,int,int,int)\n4300 CRect CRect::MulDiv(int,int)const \n4301 unsigned int COleDropSource::nDragDelay\n4302 unsigned int COleDropSource::nDragMinDist\n4303 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4304 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4305 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4306 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4307 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4308 CMapStringToString::CAssoc * CMapStringToString::NewAssoc()\n4309 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4310 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4311 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4312 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4313 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4314 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4315 unsigned int const CEditView::nMaxSize\n4316 int CRectTracker::NormalizeHit(int)const \n4317 void CRect::NormalizeRect()\n4318 void CDataBoundProperty::Notify()\n4319 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4320 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4321 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4322 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4323 void COleServerDoc::NotifyRename(char const *)\n4324 unsigned int COleDropTarget::nScrollDelay\n4325 int COleDropTarget::nScrollInset\n4326 unsigned int COleDropTarget::nScrollInterval\n4327 void CString::OemToCharA()\n4328 int CDC::OffsetClipRgn(int,int)\n4329 int CDC::OffsetClipRgn(tagSIZE)\n4330 CPoint CDC::OffsetViewportOrg(int,int)\n4331 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4332 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4333 CPoint CDC::OffsetWindowOrg(int,int)\n4334 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4335 void CAsyncSocket::OnAccept(int)\n4336 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4337 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4338 void COleClientItem::OnActivate()\n4339 void COleFrameHook::OnActivate(int)\n4340 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4341 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4342 long COleControl::OnActivateInPlace(int,tagMSG *)\n4343 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4344 long CWnd::OnActivateTopLevel(unsigned int,long)\n4345 void COleClientItem::OnActivateUI()\n4346 long CDocObjectServer::OnActivateView()\n4347 void CFormView::OnActivateView(int,CView *,CView *)\n4348 void CPreviewView::OnActivateView(int,CView *,CView *)\n4349 void CView::OnActivateView(int,CView *,CView *)\n4350 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4351 void CConnectionPoint::OnAdvise(int)\n4352 void COleControl::XEventConnPt::OnAdvise(int)\n4353 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4354 void COleControl::OnAmbientPropertyChange(long)\n4355 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4356 void COleControl::OnAppearanceChanged()\n4357 void CWinApp::OnAppExit()\n4358 int CPropertyPage::OnApply()\n4359 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4360 void CDocObjectServer::OnApplyViewState(CArchive &)\n4361 void COleControl::OnBackColorChanged()\n4362 int CFrameWnd::OnBarCheck(unsigned int)\n4363 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4364 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4365 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4366 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4367 int COleDropSource::OnBeginDrag(CWnd *)\n4368 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4369 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4370 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4371 void COleControl::OnBorderStyleChanged()\n4372 void CPicturePropPage::OnBrowse()\n4373 void CRichEditView::OnBullet()\n4374 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4375 void CCommonDialog::OnCancel()\n4376 void CDialog::OnCancel()\n4377 void CPropertyPage::OnCancel()\n4378 void CRichEditView::OnCancelEditCntr()\n4379 void COleControl::OnCancelMode()\n4380 void CSplitterWnd::OnCancelMode()\n4381 void CWnd::OnCancelMode()\n4382 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4383 long COleControl::XFontNotification::OnChanged(long)\n4384 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4385 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4386 void CRectTracker::OnChangedRect(CRect const &)\n4387 void CDocument::OnChangedViewList()\n4388 int COleClientItem::OnChangeItemPosition(CRect const &)\n4389 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4390 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4391 void CRichEditView::OnCharBold()\n4392 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4393 void CRichEditView::OnCharItalic()\n4394 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4395 void CRichEditView::OnCharUnderline()\n4396 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4397 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4398 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4399 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4400 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4401 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4402 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4403 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4404 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4405 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4406 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4407 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4408 void CPicturePropPage::OnClear()\n4409 void COleControl::OnClick(unsigned short)\n4410 CEnumArray * CEnumArray::OnClone()\n4411 void CAsyncSocket::OnClose(int)\n4412 void CControlFrameWnd::OnClose()\n4413 void CFrameWnd::OnClose()\n4414 void CMiniDockFrameWnd::OnClose()\n4415 void COleControl::OnClose(unsigned long)\n4416 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4417 void CPropertySheet::OnClose()\n4418 void COleClientItem::XAdviseSink::OnClose()\n4419 void CDocObjectServer::OnCloseDocument()\n4420 void CDocument::OnCloseDocument()\n4421 void COleDocument::OnCloseDocument()\n4422 void COleLinkingDoc::OnCloseDocument()\n4423 void COleServerDoc::OnCloseDocument()\n4424 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4425 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4426 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4427 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4428 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4429 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4430 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4431 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4432 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4433 void CRichEditView::OnColorDefault()\n4434 int CColorDialog::OnColorOK()\n4435 void CRichEditView::OnColorPick(unsigned long)\n4436 int CFrameWnd::OnCommand(unsigned int,long)\n4437 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4438 int COlePropertyPage::OnCommand(unsigned int,long)\n4439 int CPropertySheet::OnCommand(unsigned int,long)\n4440 int CSplitterWnd::OnCommand(unsigned int,long)\n4441 int CWnd::OnCommand(unsigned int,long)\n4442 long CDialog::OnCommandHelp(unsigned int,long)\n4443 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4444 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4445 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4446 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4447 void CAsyncSocket::OnConnect(int)\n4448 void CFrameWnd::OnContextHelp()\n4449 int COleFrameHook::OnContextHelp(int)\n4450 void COleIPFrameWnd::OnContextHelp()\n4451 void CWinApp::OnContextHelp()\n4452 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4453 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n4454 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n4455 int CEditView::OnCreate(tagCREATESTRUCTA *)\n4456 int CFormView::OnCreate(tagCREATESTRUCTA *)\n4457 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4458 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n4459 int COleControl::OnCreate(tagCREATESTRUCTA *)\n4460 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4461 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n4462 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n4463 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n4464 int CView::OnCreate(tagCREATESTRUCTA *)\n4465 int CCmdTarget::OnCreateAggregates()\n4466 int COleControl::OnCreateAggregates()\n4467 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4468 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4469 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4470 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4471 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n4472 CCmdTarget * COleObjectFactory::OnCreateObject()\n4473 CCmdTarget * COleTemplateServer::OnCreateObject()\n4474 HBRUSH__ * CColorDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n4475 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4476 HBRUSH__ * CDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n4477 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4478 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4479 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4480 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4481 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4482 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4483 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4484 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4485 int CDocManager::OnDDECommand(char *)\n4486 int CWinApp::OnDDECommand(char *)\n4487 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4488 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4489 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4490 void COleClientItem::OnDeactivate()\n4491 void COleServerDoc::OnDeactivate()\n4492 void COleClientItem::OnDeactivateAndUndo()\n4493 void COleClientItem::OnDeactivateUI(int)\n4494 void COleServerDoc::OnDeactivateUI(int)\n4495 void CRichEditCntrItem::OnDeactivateUI(int)\n4496 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4497 void CControlBar::OnDestroy()\n4498 void CEditView::OnDestroy()\n4499 void CFrameWnd::OnDestroy()\n4500 void CMDIChildWnd::OnDestroy()\n4501 void CMDIFrameWnd::OnDestroy()\n4502 void COleControl::OnDestroy()\n4503 void COleIPFrameWnd::OnDestroy()\n4504 void CRichEditView::OnDestroy()\n4505 void CTabCtrl::OnDestroy()\n4506 void CTreeCtrl::OnDestroy()\n4507 void CTreeView::OnDestroy()\n4508 void CView::OnDestroy()\n4509 void CRichEditView::OnDevModeChange(char *)\n4510 void CWnd::OnDevModeChange(char *)\n4511 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4512 void COleClientItem::OnDiscardUndoState()\n4513 void CSplitterWnd::OnDisplayChange()\n4514 long CWnd::OnDisplayChange(unsigned int,long)\n4515 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4516 int COleFrameHook::OnDocActivate(int)\n4517 void COleServerDoc::OnDocWindowActivate(int)\n4518 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4519 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4520 void CDocObjectServerItem::OnDoVerb(long)\n4521 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4522 void COleServerItem::OnDoVerb(long)\n4523 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4524 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4525 void COleDropTarget::OnDragLeave(CWnd *)\n4526 void CView::OnDragLeave()\n4527 long CWnd::OnDragList(unsigned int,long)\n4528 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4529 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4530 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4531 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4532 void CCtrlView::OnDraw(CDC *)\n4533 void CFormView::OnDraw(CDC *)\n4534 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4535 void CPreviewView::OnDraw(CDC *)\n4536 void CView::OnDraw(CDC *)\n4537 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4538 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4539 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4540 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4541 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4542 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4543 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4544 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4545 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4546 void CFrameWnd::OnDropFiles(HDROP__ *)\n4547 void CRichEditView::OnDropFiles(HDROP__ *)\n4548 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4549 int CEditView::OnEditChange()\n4550 void CFontPropPage::OnEditchangeFontstyles()\n4551 void COleDocument::OnEditChangeIcon()\n4552 void CEditView::OnEditClear()\n4553 void CRichEditView::OnEditClear()\n4554 void COleDocument::OnEditConvert()\n4555 void CEditView::OnEditCopy()\n4556 void CRichEditView::OnEditCopy()\n4557 void CEditView::OnEditCut()\n4558 void CRichEditView::OnEditCut()\n4559 void CEditView::OnEditFind()\n4560 void CRichEditView::OnEditFind()\n4561 void CEditView::OnEditFindReplace(int)\n4562 void CRichEditView::OnEditFindReplace(int)\n4563 void COleDocument::OnEditLinks()\n4564 void CEditView::OnEditPaste()\n4565 void CRichEditView::OnEditPaste()\n4566 void CRichEditView::OnEditPasteSpecial()\n4567 void CRichEditView::OnEditProperties()\n4568 int CColorPropPage::OnEditProperty(long)\n4569 int CFontPropPage::OnEditProperty(long)\n4570 int COlePropertyPage::OnEditProperty(long)\n4571 int CPicturePropPage::OnEditProperty(long)\n4572 int CStockPropPage::OnEditProperty(long,CComboBox &)\n4573 void CEditView::OnEditRepeat()\n4574 void CRichEditView::OnEditRepeat()\n4575 void CEditView::OnEditReplace()\n4576 void CRichEditView::OnEditReplace()\n4577 void CEditView::OnEditSelectAll()\n4578 void CRichEditView::OnEditSelectAll()\n4579 void CEditView::OnEditUndo()\n4580 void CRichEditView::OnEditUndo()\n4581 void CFontPropPage::OnEditupdateFontnames()\n4582 void CFontPropPage::OnEditupdateFontsizes()\n4583 void CFrameWnd::OnEnable(int)\n4584 void COleControl::OnEnabledChanged()\n4585 void COleFrameHook::OnEnableModeless(int)\n4586 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4587 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4588 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4589 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4590 void CFrameWnd::OnEndSession(int)\n4591 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4592 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4593 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4594 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4595 int CFrameWnd::OnEraseBkgnd(CDC *)\n4596 int COleResizeBar::OnEraseBkgnd(CDC *)\n4597 int CPreviewView::OnEraseBkgnd(CDC *)\n4598 int CToolBar::OnEraseBkgnd(CDC *)\n4599 int CWnd::OnEraseBkgnd(CDC *)\n4600 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4601 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4602 int COleControlSite::OnEvent(AFX_EVENT *)\n4603 void COleControl::OnEventAdvise(int)\n4604 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4605 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4606 void CDocument::OnFileClose()\n4607 void CFileDialog::OnFileNameChange()\n4608 int CFileDialog::OnFileNameOK()\n4609 void CDocManager::OnFileNew()\n4610 void CWinApp::OnFileNew()\n4611 void CDocManager::OnFileOpen()\n4612 void CWinApp::OnFileOpen()\n4613 void CView::OnFilePrint()\n4614 void CView::OnFilePrintPreview()\n4615 void CWinApp::OnFilePrintSetup()\n4616 void CDocument::OnFileSave()\n4617 void CDocument::OnFileSaveAs()\n4618 void COleServerDoc::OnFileSaveCopyAs()\n4619 void CDocument::OnFileSendMail()\n4620 void COleDocument::OnFileSendMail()\n4621 void COleServerDoc::OnFileUpdate()\n4622 void CCmdTarget::OnFinalRelease()\n4623 void CDocument::OnFinalRelease()\n4624 void COleControl::OnFinalRelease()\n4625 void COlePropertyPage::OnFinalRelease()\n4626 void COleServerItem::OnFinalRelease()\n4627 void CWnd::OnFinalRelease()\n4628 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n4629 void CEditView::OnFindNext(char const *,int,int)\n4630 void CRichEditView::OnFindNext(char const *,int,int,int)\n4631 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4632 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4633 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4634 long COleControlSite::XOleControlSite::OnFocus(int)\n4635 void CFileDialog::OnFolderChange()\n4636 void COleControl::OnFontChanged()\n4637 void COleControl::OnForeColorChanged()\n4638 void CRichEditView::OnFormatFont()\n4639 void COleControl::OnFrameClose()\n4640 void COleServerDoc::OnFrameWindowActivate(int)\n4641 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4642 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4643 void COleControl::OnFreezeEvents(int)\n4644 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4645 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4646 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4647 void COleClientItem::OnGetClipRect(CRect &)\n4648 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4649 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4650 int COleControl::OnGetDisplayString(long,CString &)\n4651 unsigned int COleControl::OnGetDlgCode()\n4652 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4653 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4654 HMENU__ * COleControl::OnGetInPlaceMenu()\n4655 void COleClientItem::OnGetItemPosition(CRect &)\n4656 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n4657 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n4658 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4659 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4660 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4661 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4662 long CMiniFrameWnd::OnGetText(unsigned int,long)\n4663 long CStatusBar::OnGetText(unsigned int,long)\n4664 long CMiniFrameWnd::OnGetTextLength(unsigned int,long)\n4665 long CStatusBar::OnGetTextLength(unsigned int,long)\n4666 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4667 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4668 unsigned long COleControl::OnGetViewStatus()\n4669 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4670 HBRUSH__ * CWnd::OnGrayCtlColor(CDC *,CWnd *,unsigned int)\n4671 void CFrameWnd::OnHelp()\n4672 int COlePropertyPage::OnHelp(char const *)\n4673 void CWinApp::OnHelp()\n4674 void CWnd::OnHelp()\n4675 void CWinApp::OnHelpFinder()\n4676 void CWnd::OnHelpFinder()\n4677 long CControlBar::OnHelpHitTest(unsigned int,long)\n4678 long CDialog::OnHelpHitTest(unsigned int,long)\n4679 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4680 void CWinApp::OnHelpIndex()\n4681 void CWnd::OnHelpIndex()\n4682 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4683 int CWnd::OnHelpInfo(tagHELPINFO *)\n4684 void CWinApp::OnHelpUsing()\n4685 void CWnd::OnHelpUsing()\n4686 void CDocObjectServerItem::OnHide()\n4687 long COleControl::OnHide()\n4688 void COleServerItem::OnHide()\n4689 void COleControl::OnHideToolBars()\n4690 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4691 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4692 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4693 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4694 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4695 void CDocTemplate::OnIdle()\n4696 void CDocument::OnIdle()\n4697 void COleDocument::OnIdle()\n4698 int CWinApp::OnIdle(long)\n4699 int CWinThread::OnIdle(long)\n4700 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4701 void CFrameWnd::OnIdleUpdateCmdUI()\n4702 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4703 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4704 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4705 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4706 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4707 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4708 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4709 int CColorPropPage::OnInitDialog()\n4710 int CDialog::OnInitDialog()\n4711 int CFontPropPage::OnInitDialog()\n4712 int COlePropertiesDialog::OnInitDialog()\n4713 int COlePropertyPage::OnInitDialog()\n4714 int CPicturePropPage::OnInitDialog()\n4715 int CPropertySheet::OnInitDialog()\n4716 void CFileDialog::OnInitDone()\n4717 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4718 void CControlBar::OnInitialUpdate()\n4719 void CDaoRecordView::OnInitialUpdate()\n4720 void CFormView::OnInitialUpdate()\n4721 void CRecordView::OnInitialUpdate()\n4722 void CRichEditView::OnInitialUpdate()\n4723 void CView::OnInitialUpdate()\n4724 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4725 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4726 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4727 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4728 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4729 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4730 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4731 void CRichEditView::OnInsertObject()\n4732 void CSplitterWnd::OnInvertTracker(CRect const &)\n4733 void CDockContext::OnKey(int,int)\n4734 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4735 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4736 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4737 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4738 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4739 void COleControl::OnKeyPressEvent(unsigned short)\n4740 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4741 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4742 int CPropertyPage::OnKillActive()\n4743 void COleControl::OnKillFocus(CWnd *)\n4744 long CCheckListBox::OnLBAddString(unsigned int,long)\n4745 long CCheckListBox::OnLBFindString(unsigned int,long)\n4746 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4747 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4748 long CCheckListBox::OnLBGetText(unsigned int,long)\n4749 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4750 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4751 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4752 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4753 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4754 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4755 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4756 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4757 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4758 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4759 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4760 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4761 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4762 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4763 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4764 void CMiniFrameWnd::OnLButtonUp(unsigned int,CPoint)\n4765 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4766 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4767 void CAsyncMonikerFile::OnLowResource()\n4768 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4769 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4770 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4771 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4772 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4773 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4774 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4775 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4776 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4777 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4778 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4779 int CSocket::OnMessagePending()\n4780 void COleControl::OnMnemonic(tagMSG *)\n4781 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4782 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4783 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4784 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4785 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4786 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4787 void CMiniFrameWnd::OnMouseMove(unsigned int,CPoint)\n4788 void COleControl::OnMouseMove(unsigned int,CPoint)\n4789 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4790 int CDaoRecordView::OnMove(unsigned int)\n4791 void COleControl::OnMove(int,int)\n4792 int CRecordView::OnMove(unsigned int)\n4793 int CFrameWnd::OnNcActivate(int)\n4794 int CMDIChildWnd::OnNcActivate(int)\n4795 int CMiniFrameWnd::OnNcActivate(int)\n4796 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4797 void CMiniFrameWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4798 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4799 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4800 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4801 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n4802 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n4803 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n4804 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n4805 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n4806 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n4807 void CListCtrl::OnNcDestroy()\n4808 void CListView::OnNcDestroy()\n4809 void CWnd::OnNcDestroy()\n4810 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4811 unsigned int COleControl::OnNcHitTest(CPoint)\n4812 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4813 unsigned int CToolBar::OnNcHitTest(CPoint)\n4814 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4815 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4816 void CMiniFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4817 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4818 void CDockBar::OnNcPaint()\n4819 void CMiniFrameWnd::OnNcPaint()\n4820 void COleControl::OnNcPaint()\n4821 void CStatusBar::OnNcPaint()\n4822 void CToolBar::OnNcPaint()\n4823 int CDocument::OnNewDocument()\n4824 int COleDocument::OnNewDocument()\n4825 int COleLinkingDoc::OnNewDocument()\n4826 void COleServerDoc::OnNewEmbedding(IStorage *)\n4827 int CEnumArray::OnNext(void *)\n4828 int CEnumConnPoints::OnNext(void *)\n4829 int CEnumFormatEtc::OnNext(void *)\n4830 int CEnumOleVerb::OnNext(void *)\n4831 int CEnumUnknown::OnNext(void *)\n4832 void CPreviewView::OnNextPage()\n4833 int CView::OnNextPaneCmd(unsigned int)\n4834 int CFileDialog::OnNotify(unsigned int,long,long *)\n4835 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4836 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4837 int CWnd::OnNotify(unsigned int,long,long *)\n4838 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4839 long CWnd::OnNTCtlColor(unsigned int,long)\n4840 void CPreviewView::OnNumPageChange()\n4841 void CColorPropPage::OnObjectsChanged()\n4842 void CFontPropPage::OnObjectsChanged()\n4843 void COlePropertyPage::OnObjectsChanged()\n4844 void CPicturePropPage::OnObjectsChanged()\n4845 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4846 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4847 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4848 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4849 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4850 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4851 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4852 void CCommonDialog::OnOK()\n4853 void CDialog::OnOK()\n4854 void CPropertyPage::OnOK()\n4855 void CDocObjectServerItem::OnOpen()\n4856 long COleControl::OnOpen(int,tagMSG *)\n4857 void COleServerItem::OnOpen()\n4858 int CDocument::OnOpenDocument(char const *)\n4859 int COleDocument::OnOpenDocument(char const *)\n4860 int COleLinkingDoc::OnOpenDocument(char const *)\n4861 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4862 int CWinApp::OnOpenRecentFile(unsigned int)\n4863 void CAsyncSocket::OnOutOfBandData(int)\n4864 void CControlBar::OnPaint()\n4865 void CCtrlView::OnPaint()\n4866 void CDockBar::OnPaint()\n4867 void CFontPropPage::OnPaint()\n4868 void COleControl::OnPaint(CDC *)\n4869 void COleResizeBar::OnPaint()\n4870 void CPicturePropPage::OnPaint()\n4871 void CSplitterWnd::OnPaint()\n4872 void CStatusBar::OnPaint()\n4873 void CToolBar::OnPaint()\n4874 void CView::OnPaint()\n4875 void CFrameWnd::OnPaletteChanged(CWnd *)\n4876 void COleFrameHook::OnPaletteChanged(CWnd *)\n4877 void CRichEditView::OnParaAlign(unsigned short)\n4878 void CRichEditView::OnParaCenter()\n4879 void CRichEditView::OnParaLeft()\n4880 void CRichEditView::OnParaRight()\n4881 void CWnd::OnParentNotify(unsigned int,long)\n4882 int CRichEditView::OnPasteNativeObject(IStorage *)\n4883 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4884 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4885 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4886 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4887 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4888 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4889 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4890 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4891 int CEditView::OnPreparePrinting(CPrintInfo *)\n4892 int CView::OnPreparePrinting(CPrintInfo *)\n4893 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4894 void CPreviewView::OnPreviewClose()\n4895 void CPreviewView::OnPreviewPrint()\n4896 void CPreviewView::OnPrevPage()\n4897 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4898 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4899 void CView::OnPrint(CDC *,CPrintInfo *)\n4900 void CRichEditView::OnPrinterChanged(CDC const &)\n4901 void CPrintDialog::OnPrintSetup()\n4902 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n4903 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4904 long CWnd::OnQuery3dControls(unsigned int,long)\n4905 int CPropertyPage::OnQueryCancel()\n4906 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4907 int CFrameWnd::OnQueryEndSession()\n4908 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4909 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4910 int CFrameWnd::OnQueryNewPalette()\n4911 int COleFrameHook::OnQueryNewPalette()\n4912 int COleServerItem::OnQueryUpdateItems()\n4913 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4914 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4915 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4916 int COleServerDoc::OnReactivateAndUndo()\n4917 void COleFrameHook::OnRecalcLayout()\n4918 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4919 void CAsyncSocket::OnReceive(int)\n4920 void COleControl::OnReflectorDestroyed()\n4921 void COleClientItem::OnRemoveMenus(CMenu *)\n4922 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4923 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4924 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4925 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4926 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4927 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4928 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4929 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4930 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4931 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4932 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4933 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4934 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4935 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4936 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4937 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4938 void CEditView::OnReplaceAll(char const *,char const *,int)\n4939 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n4940 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n4941 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n4942 long COleControl::XFontNotification::OnRequestEdit(long)\n4943 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4944 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4945 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4946 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4947 void CEnumArray::OnReset()\n4948 void CPropertyPage::OnReset()\n4949 void COleControl::OnResetState()\n4950 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4951 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4952 void COleClientItem::XAdviseSink::OnSave()\n4953 int CDocument::OnSaveDocument(char const *)\n4954 int COleDocument::OnSaveDocument(char const *)\n4955 int COleLinkingDoc::OnSaveDocument(char const *)\n4956 int COleServerDoc::OnSaveDocument(char const *)\n4957 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4958 void COleServerItem::OnSaveEmbedding(IStorage *)\n4959 void CDocObjectServer::OnSaveViewState(CArchive &)\n4960 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4961 int CView::OnScroll(unsigned int,unsigned int,int)\n4962 int COleClientItem::OnScrollBy(CSize)\n4963 int CScrollView::OnScrollBy(CSize,int)\n4964 int CView::OnScrollBy(CSize,int)\n4965 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4966 void CColorPropPage::OnSelchangeColorprop()\n4967 void CFontPropPage::OnSelchangeFontnames()\n4968 void CFontPropPage::OnSelchangeFontprop()\n4969 void CFontPropPage::OnSelchangeFontsizes()\n4970 void CFontPropPage::OnSelchangeFontstyles()\n4971 void CPicturePropPage::OnSelchangePictProp()\n4972 void CStockPropPage::OnSelchangePropname(CComboBox &)\n4973 void CColorPropPage::OnSelchangeSystemcolors()\n4974 void CColorPropPage::OnSelect()\n4975 void CAsyncSocket::OnSend(int)\n4976 int CPropertyPage::OnSetActive()\n4977 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4978 long CToolBar::OnSetButtonSize(unsigned int,long)\n4979 void COleControl::OnSetClientSite()\n4980 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4981 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4982 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4983 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4984 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4985 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4986 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4987 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4988 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4989 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4990 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4991 long CPropertySheet::OnSetDefID(unsigned int,long)\n4992 int COleControl::OnSetExtent(tagSIZE *)\n4993 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4994 void CFormView::OnSetFocus(CWnd *)\n4995 void CFrameWnd::OnSetFocus(CWnd *)\n4996 void COleControl::OnSetFocus(CWnd *)\n4997 long CCheckListBox::OnSetFont(unsigned int,long)\n4998 void CDialog::OnSetFont(CFont *)\n4999 long CEditView::OnSetFont(unsigned int,long)\n5000 void COleServerDoc::OnSetHostNames(char const *,char const *)\n5001 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n5002 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n5003 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n5004 long CFrameWnd::OnSetMessageString(unsigned int,long)\n5005 long COleControl::OnSetMessageString(unsigned int,long)\n5006 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n5007 long CStatusBar::OnSetMinHeight(unsigned int,long)\n5008 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n5009 void CDatabase::OnSetOptions(void *)\n5010 void CRecordset::OnSetOptions(void *)\n5011 void COlePropertyPage::OnSetPageSite()\n5012 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n5013 long CMiniFrameWnd::OnSetText(unsigned int,long)\n5014 long COleControl::OnSetText(unsigned int,long)\n5015 long CStatusBar::OnSetText(unsigned int,long)\n5016 unsigned int CFileDialog::OnShareViolation(char const *)\n5017 void CDocObjectServerItem::OnShow()\n5018 void COleServerItem::OnShow()\n5019 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n5020 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n5021 void COleServerDoc::OnShowDocument(int)\n5022 void COleClientItem::OnShowItem()\n5023 void COleControl::OnShowToolBars()\n5024 void COleDocument::OnShowViews(int)\n5025 void COleLinkingDoc::OnShowViews(int)\n5026 void COleControl::OnShowWindow(int,unsigned int)\n5027 void CWnd::OnShowWindow(int,unsigned int)\n5028 long COleClientItem::XOleClientSite::OnShowWindow(int)\n5029 long COleControlSite::XOleClientSite::OnShowWindow(int)\n5030 void CFrameWnd::OnSize(unsigned int,int,int)\n5031 void CMDIChildWnd::OnSize(unsigned int,int,int)\n5032 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n5033 void COleControl::OnSize(unsigned int,int,int)\n5034 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n5035 void COleResizeBar::OnSize(unsigned int,int,int)\n5036 void CPreviewView::OnSize(unsigned int,int,int)\n5037 void CScrollView::OnSize(unsigned int,int,int)\n5038 void CSplitterWnd::OnSize(unsigned int,int,int)\n5039 void CStatusBar::OnSize(unsigned int,int,int)\n5040 void CWnd::OnSize(unsigned int,int,int)\n5041 long CControlBar::OnSizeParent(unsigned int,long)\n5042 long CDockBar::OnSizeParent(unsigned int,long)\n5043 long COleResizeBar::OnSizeParent(unsigned int,long)\n5044 int CEnumArray::OnSkip()\n5045 long CSocketWnd::OnSocketDead(unsigned int,long)\n5046 long CSocketWnd::OnSocketNotify(unsigned int,long)\n5047 int CView::OnSplitCmd(unsigned int)\n5048 void CAsyncMonikerFile::OnStartBinding()\n5049 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n5050 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n5051 void CFontPropPage::OnStrikeout()\n5052 void CToolBar::OnSysColorChange()\n5053 void CWnd::OnSysColorChange()\n5054 void CFrameWnd::OnSysCommand(unsigned int,long)\n5055 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n5056 void CPropertySheet::OnSysCommand(unsigned int,long)\n5057 void CSplitterWnd::OnSysCommand(unsigned int,long)\n5058 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n5059 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n5060 void COleControl::OnTextChanged()\n5061 void CEditView::OnTextNotFound(char const *)\n5062 void CRichEditView::OnTextNotFound(char const *)\n5063 void CControlBar::OnTimer(unsigned int)\n5064 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n5065 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n5066 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5067 void CFileDialog::OnTypeChange()\n5068 void COleControlContainer::OnUIActivate(COleControlSite *)\n5069 long COleClientItem::XOleIPSite::OnUIActivate()\n5070 long COleControlSite::XOleIPSite::OnUIActivate()\n5071 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n5072 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n5073 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n5074 void CFontPropPage::OnUnderline()\n5075 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5076 void CView::OnUpdate(CView *,long,CObject *)\n5077 void CRichEditView::OnUpdateBullet(CCmdUI *)\n5078 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n5079 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n5080 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n5081 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n5082 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n5083 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n5084 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n5085 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n5086 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n5087 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n5088 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5089 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5090 int COleServerDoc::OnUpdateDocument()\n5091 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n5092 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5093 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5094 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5095 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5096 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5097 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5098 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5099 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5100 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5101 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5102 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5103 void CFrameWnd::OnUpdateFrameTitle(int)\n5104 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5105 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5106 int COleClientItem::OnUpdateFrameTitle()\n5107 int COleFrameHook::OnUpdateFrameTitle()\n5108 void COleServerItem::OnUpdateItems()\n5109 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5110 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5111 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5112 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5113 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5114 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5115 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5116 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5117 void CEditView::OnUpdateNeedText(CCmdUI *)\n5118 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5119 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5120 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5121 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5122 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5123 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5124 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5125 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5126 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5127 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5128 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5129 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5130 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5131 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n5132 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5133 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n5134 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5135 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n5136 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5137 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n5138 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5139 void CView::OnUpdateSplitCmd(CCmdUI *)\n5140 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5141 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5142 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5143 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5144 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5145 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5146 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5147 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5148 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5149 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5150 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5151 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5152 void CMDIFrameWnd::OnWindowNew()\n5153 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5154 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5155 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5156 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5157 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5158 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5159 void CWnd::OnWinIniChange(char const *)\n5160 long CPropertyPage::OnWizardBack()\n5161 int CPropertyPage::OnWizardFinish()\n5162 long CPropertyPage::OnWizardNext()\n5163 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5164 void CPreviewView::OnZoomIn()\n5165 void CPreviewView::OnZoomOut()\n5166 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5167 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5168 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5169 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5170 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n5171 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n5172 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n5173 int CAsyncMonikerFile::Open(char const *,CFileException *)\n5174 void CDaoDatabase::Open(char const *,int,int,char const *)\n5175 void CDaoQueryDef::Open(char const *)\n5176 void CDaoRecordset::Open(int,char const *,int)\n5177 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n5178 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n5179 void CDaoTableDef::Open(char const *)\n5180 void CDaoWorkspace::Open(char const *)\n5181 int CDatabase::Open(char const *,int,int,char const *,int)\n5182 int CDataPathProperty::Open(CFileException *)\n5183 int CDataPathProperty::Open(COleControl *,CFileException *)\n5184 int CDataPathProperty::Open(char const *,CFileException *)\n5185 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n5186 int CFile::Open(char const *,unsigned int,CFileException *)\n5187 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n5188 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5189 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5190 int CMonikerFile::Open(IMoniker *,CFileException *)\n5191 int CMonikerFile::Open(char const *,CFileException *)\n5192 int CRecordset::Open(unsigned int,char const *,unsigned long)\n5193 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n5194 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n5195 long CDocObjectServer::XOleDocumentView::Open()\n5196 CDocument * CDocManager::OpenDocumentFile(char const *)\n5197 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n5198 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n5199 CDocument * CWinApp::OpenDocumentFile(char const *)\n5200 int CDatabase::OpenEx(char const *,unsigned long)\n5201 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n5202 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n5203 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5204 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5205 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5206 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n5207 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n5208 int CFileException::OsErrorToException(long)\n5209 void CDumpContext::OutputString(char const *)\n5210 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5211 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5212 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5213 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5214 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5215 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n5216 int COleDateTime::ParseDateTime(char const *,unsigned long,unsigned long)\n5217 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,unsigned short *,unsigned long *,IMoniker * *)\n5218 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,unsigned short *,unsigned long *,IMoniker * *)\n5219 void CCommandLineInfo::ParseLast(int)\n5220 void CCommandLineInfo::ParseParam(char const *,int,int)\n5221 void CCommandLineInfo::ParseParamFlag(char const *)\n5222 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5223 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5224 int CDC::PlayMetaFile(HMETAFILE__ *)\n5225 int CDC::PolyBezierTo(tagPOINT const *,int)\n5226 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5227 int CDC::PolylineTo(tagPOINT const *,int)\n5228 void CPreviewView::PositionPage(unsigned int)\n5229 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5230 int CMonikerFile::PostBindToStream(CFileException *)\n5231 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5232 void CDialog::PostModal()\n5233 void COleControl::PostModalDialog(HWND__ *)\n5234 void CControlBar::PostNcDestroy()\n5235 void CControlFrameWnd::PostNcDestroy()\n5236 void CFindReplaceDialog::PostNcDestroy()\n5237 void CFrameWnd::PostNcDestroy()\n5238 void COleCntrFrameWnd::PostNcDestroy()\n5239 void CReflectorWnd::PostNcDestroy()\n5240 void CView::PostNcDestroy()\n5241 void CWnd::PostNcDestroy()\n5242 void CRecordset::PreBindFields()\n5243 void CDocument::PreCloseFrame(CFrameWnd *)\n5244 void COleDocument::PreCloseFrame(CFrameWnd *)\n5245 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5246 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5247 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5248 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n5249 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5250 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n5251 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5252 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5253 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n5254 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5255 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5256 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5257 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5258 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n5259 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n5260 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n5261 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5262 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5263 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5264 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n5265 void CDialog::PreInitDialog()\n5266 void COleChangeSourceDialog::PreInitDialog()\n5267 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5268 HWND__ * CDialog::PreModal()\n5269 void COleControl::PreModalDialog(HWND__ *)\n5270 void CRecordset::PrepareAndExecute()\n5271 HWND__ * CDataExchange::PrepareCtrl(int)\n5272 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5273 CWnd * CDataExchange::PrepareOleCtrl(int)\n5274 void CRecordset::PrepareUpdateHstmt()\n5275 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n5276 void CDragListBox::PreSubclassWindow()\n5277 void CWnd::PreSubclassWindow()\n5278 int CWnd::PreTranslateInput(tagMSG *)\n5279 int CControlBar::PreTranslateMessage(tagMSG *)\n5280 int CDialog::PreTranslateMessage(tagMSG *)\n5281 int CFormView::PreTranslateMessage(tagMSG *)\n5282 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5283 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5284 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5285 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5286 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5287 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5288 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5289 int CWinThread::PreTranslateMessage(tagMSG *)\n5290 int CWnd::PreTranslateMessage(tagMSG *)\n5291 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5292 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5293 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5294 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5295 long CRichEditView::PrintPage(CDC *,long,long)\n5296 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5297 long COleException::Process(CException const *)\n5298 int CSocket::ProcessAuxQueue()\n5299 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5300 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5301 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5302 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5303 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5304 void COleSafeArray::PtrOfIndex(long *,void * *)\n5305 int CDC::PtVisible(int,int)const \n5306 int CMetaFileDC::PtVisible(int,int)const \n5307 int CWinThread::PumpMessage()\n5308 int CSocket::PumpMessages(unsigned int)\n5309 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n5310 void COleSafeArray::PutElement(long *,void *)\n5311 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n5312 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n5313 int PX_Bool(CPropExchange *,char const *,int &)\n5314 int PX_Bool(CPropExchange *,char const *,int &,int)\n5315 int PX_Color(CPropExchange *,char const *,unsigned long &)\n5316 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n5317 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n5318 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n5319 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n5320 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,CString const &)\n5321 int PX_Double(CPropExchange *,char const *,double &)\n5322 int PX_Double(CPropExchange *,char const *,double &,double)\n5323 int PX_Float(CPropExchange *,char const *,float &)\n5324 int PX_Float(CPropExchange *,char const *,float &,float)\n5325 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5326 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n5327 int PX_Long(CPropExchange *,char const *,long &)\n5328 int PX_Long(CPropExchange *,char const *,long &,long)\n5329 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n5330 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n5331 int PX_Short(CPropExchange *,char const *,short &)\n5332 int PX_Short(CPropExchange *,char const *,short &,short)\n5333 int PX_String(CPropExchange *,char const *,CString &)\n5334 int PX_String(CPropExchange *,char const *,CString &,char const *)\n5335 int PX_String(CPropExchange *,char const *,CString &,CString const &)\n5336 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n5337 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n5338 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n5339 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n5340 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5341 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5342 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5343 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5344 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5345 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5346 void * COleControl::QueryDefHandler(_GUID const &)\n5347 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5348 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5349 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5350 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5351 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5352 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5353 int CHttpFile::QueryInfo(unsigned long,CString &,unsigned long *)const \n5354 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5355 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5356 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5357 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5358 long _CIP<IBindHost,&_GUID const IID_IBindHost>::QueryInterface(IUnknown *)\n5359 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5360 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5361 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5362 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5363 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5364 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5365 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n5366 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n5367 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n5368 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n5369 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n5370 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n5371 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n5372 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n5373 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n5374 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n5375 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n5376 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n5377 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n5378 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n5379 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n5380 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n5381 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n5382 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n5383 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n5384 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n5385 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n5386 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n5387 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n5388 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n5389 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n5390 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n5391 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n5392 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n5393 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n5394 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n5395 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n5396 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n5397 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n5398 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n5399 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n5400 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n5401 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n5402 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n5403 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n5404 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n5405 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n5406 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n5407 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n5408 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n5409 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n5410 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n5411 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n5412 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n5413 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n5414 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n5415 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n5416 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n5417 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n5418 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n5419 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n5420 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n5421 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5422 int CInternetConnection::QueryOption(unsigned long,CString &)const \n5423 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5424 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5425 int CInternetFile::QueryOption(unsigned long,CString &)const \n5426 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5427 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5428 int CInternetSession::QueryOption(unsigned long,CString &)const \n5429 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5430 long CPropertyPage::QuerySiblings(unsigned int,long)\n5431 IUnknown * CConnectionPoint::QuerySinkInterface(IUnknown *)\n5432 IUnknown * COleControl::XEventConnPt::QuerySinkInterface(IUnknown *)\n5433 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5434 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n5435 int COleControlSite::QuickActivate()\n5436 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5437 int COleClientItem::ReactivateAndUndo()\n5438 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5439 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5440 unsigned int CArchive::Read(void *,unsigned int)\n5441 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5442 unsigned int CFile::Read(void *,unsigned int)\n5443 int CImageList::Read(CArchive *)\n5444 unsigned int CInternetFile::Read(void *,unsigned int)\n5445 unsigned int CMemFile::Read(void *,unsigned int)\n5446 unsigned int COleStreamFile::Read(void *,unsigned int)\n5447 unsigned int CSocketFile::Read(void *,unsigned int)\n5448 unsigned int CStdioFile::Read(void *,unsigned int)\n5449 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5450 unsigned long CArchive::ReadCount()\n5451 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5452 int CProperty::ReadFromStream(IStream *)\n5453 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5454 int CPropertySet::ReadFromStream(IStream *)\n5455 void COleClientItem::ReadItem(CArchive &)\n5456 void COleClientItem::ReadItemCompound(CArchive &)\n5457 void COleClientItem::ReadItemFlat(CArchive &)\n5458 void CRecentFileList::ReadList()\n5459 int CPropertySection::ReadNameDictFromStream(IStream *)\n5460 CObject * CArchive::ReadObject(CRuntimeconst *)\n5461 int CArchive::ReadString(CString &)\n5462 char * CArchive::ReadString(char *,unsigned int)\n5463 int CInternetFile::ReadString(CString &)\n5464 char * CInternetFile::ReadString(char *,unsigned int)\n5465 int CStdioFile::ReadString(CString &)\n5466 char * CStdioFile::ReadString(char *,unsigned int)\n5467 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5468 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5469 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5470 void CRecordset::RebindParams(void *)\n5471 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5472 void CFrameWnd::RecalcLayout(int)\n5473 void CMiniDockFrameWnd::RecalcLayout(int)\n5474 void COleCntrFrameWnd::RecalcLayout(int)\n5475 void COleDocIPFrameWnd::RecalcLayout(int)\n5476 void COleIPFrameWnd::RecalcLayout(int)\n5477 void CSplitterWnd::RecalcLayout()\n5478 int CAsyncSocket::Receive(void *,int,int)\n5479 int CSocket::Receive(void *,int,int)\n5480 int CAsyncSocket::ReceiveFrom(void *,int,CString &,unsigned int &,int)\n5481 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5482 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5483 void COleControl::RecreateControlWindow()\n5484 CRect const CFrameWnd::rectDefault\n5485 int CDC::RectVisible(tagRECT const *)const \n5486 int CMetaFileDC::RectVisible(tagRECT const *)const \n5487 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5488 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5489 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5490 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5491 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5492 void COleControl::Refresh()\n5493 void CDaoTableDef::RefreshLink()\n5494 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5495 int COleDropTarget::Register(CWnd *)\n5496 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n5497 int COleMessageFilter::Register()\n5498 int COleObjectFactory::Register()\n5499 int COleTemplateServer::Register()\n5500 int COleObjectFactory::RegisterAll()\n5501 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n5502 void CDocManager::RegisterShellFileTypes(int)\n5503 void CWinApp::RegisterShellFileTypes(int)\n5504 void CWinApp::RegisterShellFileTypesCompat()\n5505 unsigned long CArchiveStream::Release()\n5506 unsigned long CBlobProperty::Release()\n5507 unsigned long CInnerUnknown::Release()\n5508 void COleClientItem::Release(enum tagOLECLOSE)\n5509 unsigned long COleConnPtContainer::Release()\n5510 void COleDataObject::Release()\n5511 unsigned long COleDispatchImpl::Release()\n5512 unsigned long COleUILinkInfo::Release()\n5513 void CString::Release()\n5514 void CString::Release(CStringData *)\n5515 unsigned long COleClientItem::XAdviseSink::Release()\n5516 unsigned long COleControlSite::XAmbientProps::Release()\n5517 unsigned long COleControlSite::XBoundObjectSite::Release()\n5518 unsigned long COleObjectFactory::XClassFactory::Release()\n5519 unsigned long CConnectionPoint::XConnPt::Release()\n5520 unsigned long COleControl::XDataObject::Release()\n5521 unsigned long COleDataSource::XDataObject::Release()\n5522 unsigned long COleServerDoc::XDataObject::Release()\n5523 unsigned long COleServerItem::XDataObject::Release()\n5524 unsigned long COleDropSource::XDropSource::Release()\n5525 unsigned long COleDropTarget::XDropTarget::Release()\n5526 unsigned long CEnumArray::XEnumVOID::Release()\n5527 unsigned long COleControlSite::XEventSink::Release()\n5528 unsigned long COleControl::XFontNotification::Release()\n5529 unsigned long COleMessageFilter::XMessageFilter::Release()\n5530 unsigned long COleControlSite::XNotifyDBEvents::Release()\n5531 unsigned long COleControl::XOleCache::Release()\n5532 unsigned long COleClientItem::XOleClientSite::Release()\n5533 unsigned long COleControlSite::XOleClientSite::Release()\n5534 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n5535 unsigned long COleControlContainer::XOleContainer::Release()\n5536 unsigned long COleControl::XOleControl::Release()\n5537 unsigned long COleControlSite::XOleControlSite::Release()\n5538 unsigned long CDocObjectServer::XOleDocument::Release()\n5539 unsigned long CDocObjectServer::XOleDocumentView::Release()\n5540 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n5541 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n5542 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n5543 unsigned long COleControl::XOleInPlaceObject::Release()\n5544 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n5545 unsigned long COleControlContainer::XOleIPFrame::Release()\n5546 unsigned long COleClientItem::XOleIPSite::Release()\n5547 unsigned long COleControlSite::XOleIPSite::Release()\n5548 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n5549 unsigned long CDocObjectServer::XOleObject::Release()\n5550 unsigned long COleControl::XOleObject::Release()\n5551 unsigned long COleServerDoc::XOleObject::Release()\n5552 unsigned long COleServerItem::XOleObject::Release()\n5553 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n5554 unsigned long COleControl::XPerPropertyBrowsing::Release()\n5555 unsigned long COleLinkingDoc::XPersistFile::Release()\n5556 unsigned long COleControl::XPersistMemory::Release()\n5557 unsigned long COleControl::XPersistPropertyBag::Release()\n5558 unsigned long COleControl::XPersistStorage::Release()\n5559 unsigned long COleServerDoc::XPersistStorage::Release()\n5560 unsigned long COleControl::XPersistStreamInit::Release()\n5561 unsigned long COleControl::XPointerInactive::Release()\n5562 unsigned long CDocObjectServer::XPrint::Release()\n5563 unsigned long COleControlSite::XPropertyNotifySink::Release()\n5564 unsigned long COlePropertyPage::XPropertyPage::Release()\n5565 unsigned long COlePropertyPage::XPropNotifySink::Release()\n5566 unsigned long COleControl::XProvideClassInfo::Release()\n5567 unsigned long COleControl::XQuickActivate::Release()\n5568 unsigned long CRichEditView::XRichEditOleCallback::Release()\n5569 unsigned long COleControl::XSpecifyPropertyPages::Release()\n5570 unsigned long COleControl::XViewObject::Release()\n5571 void CDC::ReleaseAttribDC()\n5572 void CString::ReleaseBuffer(int)\n5573 int COleControl::ReleaseCapture()\n5574 int COleControl::ReleaseDC(CDC *)\n5575 void COleDispatchDriver::ReleaseDispatch()\n5576 void CDocObjectServer::ReleaseDocSite()\n5577 void CDocument::ReleaseFile(CFile *,int)\n5578 void CFontHolder::ReleaseFont()\n5579 void CDC::ReleaseOutputDC()\n5580 void CMetaFileDC::ReleaseOutputDC()\n5581 void CPreviewDC::ReleaseOutputDC()\n5582 int COleClientItem::Reload()\n5583 void CFile::Remove(char const *)\n5584 int CFtpConnection::Remove(char const *)\n5585 void CPropertySection::Remove(unsigned long)\n5586 void CPropertySet::Remove(_GUID)\n5587 void CPropertySet::Remove(_GUID,unsigned long)\n5588 void CRecentFileList::Remove(int)\n5589 int CSimpleList::Remove(void *)\n5590 void CMapPtrToPtr::RemoveAll()\n5591 void CMapPtrToWord::RemoveAll()\n5592 void CMapStringToOb::RemoveAll()\n5593 void CMapStringToPtr::RemoveAll()\n5594 void CMapStringToString::RemoveAll()\n5595 void CMapWordToOb::RemoveAll()\n5596 void CMapWordToPtr::RemoveAll()\n5597 void CObList::RemoveAll()\n5598 void CPropertySection::RemoveAll()\n5599 void CPropertySet::RemoveAll()\n5600 void CPtrList::RemoveAll()\n5601 void CStringList::RemoveAll()\n5602 void CByteArray::RemoveAt(int,int)\n5603 void CDWordArray::RemoveAt(int,int)\n5604 void CObArray::RemoveAt(int,int)\n5605 void CObList::RemoveAt(__POSITION *)\n5606 void CPtrArray::RemoveAt(int,int)\n5607 void CPtrList::RemoveAt(__POSITION *)\n5608 void CStringArray::RemoveAt(int,int)\n5609 void CStringList::RemoveAt(__POSITION *)\n5610 void CUIntArray::RemoveAt(int,int)\n5611 void CWordArray::RemoveAt(int,int)\n5612 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5613 void CFrameWnd::RemoveControlBar(CControlBar *)\n5614 int CFtpConnection::RemoveDirectoryA(char const *)\n5615 void CDocTemplate::RemoveDocument(CDocument *)\n5616 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5617 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5618 void COleControl::RemoveFrameLevelUI()\n5619 void CFrameWnd::RemoveFrameWnd()\n5620 CObject * CObList::RemoveHead()\n5621 void * CPtrList::RemoveHead()\n5622 CString CStringList::RemoveHead()\n5623 void CListCtrl::RemoveImageList(int)\n5624 void CListView::RemoveImageList(int)\n5625 void CTreeCtrl::RemoveImageList(int)\n5626 void CTreeView::RemoveImageList(int)\n5627 void COleDocument::RemoveItem(CDocItem *)\n5628 int CMapPtrToPtr::RemoveKey(void *)\n5629 int CMapPtrToWord::RemoveKey(void *)\n5630 int CMapStringToOb::RemoveKey(char const *)\n5631 int CMapStringToPtr::RemoveKey(char const *)\n5632 int CMapStringToString::RemoveKey(char const *)\n5633 int CMapWordToOb::RemoveKey(unsigned short)\n5634 int CMapWordToPtr::RemoveKey(unsigned short)\n5635 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5636 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5637 void CPropertySheet::RemovePage(int)\n5638 void CPropertySheet::RemovePage(CPropertyPage *)\n5639 void CDockBar::RemovePlaceHolder(CControlBar *)\n5640 void CDataBoundProperty::RemoveSource()\n5641 CObject * CObList::RemoveTail()\n5642 void * CPtrList::RemoveTail()\n5643 CString CStringList::RemoveTail()\n5644 void CDocument::RemoveView(CView *)\n5645 void CFile::Rename(char const *,char const *)\n5646 int CFtpConnection::Rename(char const *,char const *)\n5647 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5648 void CDaoWorkspace::RepairDatabase(char const *)\n5649 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5650 void CDatabase::ReplaceBrackets(char *)\n5651 int CException::ReportError(unsigned int,unsigned int)\n5652 int COleClientItem::ReportError(long)const \n5653 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5654 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5655 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5656 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5657 void CDaoRecordset::Requery()\n5658 int CRecordset::Requery()\n5659 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5660 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5661 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,unsigned short * *)\n5662 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5663 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5664 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5665 long CEnumArray::XEnumVOID::Reset()\n5666 void CRecordset::ResetCursor()\n5667 void CCachedDataPathProperty::ResetData()\n5668 void CDataPathProperty::ResetData()\n5669 void COleControl::ResetStockProps()\n5670 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5671 void COleControl::ResetVersion(unsigned long)\n5672 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5673 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5674 void COleControl::ResizeFrameWindow(int,int)\n5675 void COleSafeArray::ResizeOneDim(unsigned long)\n5676 void COleControl::ResizeOpenControl(int,int)\n5677 void CScrollView::ResizeParentToFit(int)\n5678 int CDC::RestoreDC(int)\n5679 int CPreviewDC::RestoreDC(int)\n5680 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n5681 void CCmdTarget::RestoreWaitCursor()\n5682 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5683 int CString::ReverseFind(char)const \n5684 long CArchiveStream::Revert()\n5685 void COleDropTarget::Revoke()\n5686 void COleLinkingDoc::Revoke()\n5687 void COleMessageFilter::Revoke()\n5688 void COleObjectFactory::Revoke()\n5689 void COleObjectFactory::RevokeAll()\n5690 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n5691 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n5692 void RFX_Bool(CFieldExchange *,char const *,int &)\n5693 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5694 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n5695 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n5696 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n5697 void RFX_Date(CFieldExchange *,char const *,CTime &)\n5698 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n5699 void RFX_Double(CFieldExchange *,char const *,double &)\n5700 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n5701 void RFX_Int(CFieldExchange *,char const *,int &)\n5702 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5703 void RFX_Long(CFieldExchange *,char const *,long &)\n5704 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n5705 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n5706 void RFX_Single(CFieldExchange *,char const *,float &)\n5707 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n5708 void RFX_Text(CFieldExchange *,char const *,CString &,int,int,short)\n5709 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n5710 CString CString::Right(int)const \n5711 void CDaoWorkspace::Rollback()\n5712 int CDatabase::Rollback()\n5713 void COleClientItem::Run()\n5714 int CWinApp::Run()\n5715 int CWinThread::Run()\n5716 int CWinApp::RunAutomated()\n5717 int CWinApp::RunEmbedded()\n5718 int CWnd::RunModalLoop(unsigned long)\n5719 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5720 int CEditView::SameAsSelected(char const *,int)\n5721 int CRichEditView::SameAsSelected(char const *,int,int)\n5722 long CBlobProperty::Save(IStream *,int)\n5723 long COleLinkingDoc::XPersistFile::Save(unsigned short const *,int)\n5724 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5725 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5726 long COleControl::XPersistStorage::Save(IStorage *,int)\n5727 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5728 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5729 int CDocManager::SaveAllModified()\n5730 int CDocTemplate::SaveAllModified()\n5731 int CWinApp::SaveAllModified()\n5732 void CFrameWnd::SaveBarState(char const *)const \n5733 long COleLinkingDoc::XPersistFile::SaveCompleted(unsigned short const *)\n5734 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5735 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5736 int CDC::SaveDC()\n5737 int CPreviewDC::SaveDC()\n5738 void COleServerDoc::SaveEmbedding()\n5739 int CFormView::SaveFocusControl()\n5740 int CDocument::SaveModified()\n5741 int COleDocument::SaveModified()\n5742 int COleServerDoc::SaveModified()\n5743 int COleServerDoc::SaveModifiedPrompt()\n5744 long COleClientItem::XOleClientSite::SaveObject()\n5745 long COleControlSite::XOleClientSite::SaveObject()\n5746 int CControlBarInfo::SaveState(char const *,int)\n5747 void CDockState::SaveState(char const *)\n5748 long COleControl::SaveState(IStream *)\n5749 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n5750 void CWinApp::SaveStdProfileSettings()\n5751 void COleDocument::SaveToStorage(CObject *)\n5752 void COleLinkingDoc::SaveToStorage(CObject *)\n5753 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5754 void CDockState::ScalePoint(CPoint &)\n5755 void CDockState::ScaleRectPos(CRect &)\n5756 CSize CDC::ScaleViewportExt(int,int,int,int)\n5757 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5758 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5759 CSize CDC::ScaleWindowExt(int,int,int,int)\n5760 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5761 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5762 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5763 void COleControlContainer::ScrollChildren(int,int)\n5764 int COleServerDoc::ScrollContainerBy(CSize)\n5765 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5766 void CScrollView::ScrollToPosition(tagPOINT)\n5767 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5768 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5769 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5770 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5771 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n5772 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n5773 long CFile::Seek(long,unsigned int)\n5774 long CInternetFile::Seek(long,unsigned int)\n5775 long CMemFile::Seek(long,unsigned int)\n5776 long COleStreamFile::Seek(long,unsigned int)\n5777 long CSocketFile::Seek(long,unsigned int)\n5778 long CStdioFile::Seek(long,unsigned int)\n5779 CFont * CFontHolder::Select(CDC *,long,long)\n5780 int CDC::SelectClipPath(int)\n5781 int CDC::SelectClipRgn(CRgn *)\n5782 int CDC::SelectClipRgn(CRgn *,int)\n5783 void CFontPropPage::SelectFontFromList(CString,tagMERGEOBJECT *)\n5784 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5785 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5786 int CDC::SelectObject(CRgn *)\n5787 CBrush * CDC::SelectObject(CBrush *)\n5788 CPen * CDC::SelectObject(CPen *)\n5789 CFont * CDC::SelectObject(CFont *)\n5790 CFont * CPreviewDC::SelectObject(CFont *)\n5791 CPalette * CDC::SelectPalette(CPalette *,int)\n5792 void CWinApp::SelectPrinter(void *,void *,int)\n5793 CFont * COleControl::SelectStockFont(CDC *)\n5794 CGdiObject * CDC::SelectStockObject(int)\n5795 CGdiObject * CPreviewDC::SelectStockObject(int)\n5796 int CAsyncSocket::Send(void const *,int,int)\n5797 int CSocket::Send(void const *,int,int)\n5798 void COleControl::SendAdvise(unsigned int)\n5799 int CWnd::SendChildNotifyLastMsg(long *)\n5800 int CSocket::SendChunk(void const *,int,int)\n5801 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5802 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5803 void CDocument::SendInitialUpdate()\n5804 void CRecordset::SendLongBinaryData(void *)\n5805 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5806 void COleControlSite::SendMnemonic(tagMSG *)\n5807 int CHttpFile::SendRequest(CString &,void *,unsigned long)\n5808 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n5809 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n5810 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5811 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5812 void CByteArray::Serialize(CArchive &)\n5813 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5814 void CDocItem::Serialize(CArchive &)\n5815 void CDockState::Serialize(CArchive &)\n5816 void CDWordArray::Serialize(CArchive &)\n5817 void CEditView::Serialize(CArchive &)\n5818 void CMapStringToOb::Serialize(CArchive &)\n5819 void CMapStringToString::Serialize(CArchive &)\n5820 void CMapWordToOb::Serialize(CArchive &)\n5821 void CObArray::Serialize(CArchive &)\n5822 void CObject::Serialize(CArchive &)\n5823 void CObList::Serialize(CArchive &)\n5824 void COleClientItem::Serialize(CArchive &)\n5825 void COleControl::Serialize(CArchive &)\n5826 void COleDocument::Serialize(CArchive &)\n5827 void CRichEditDoc::Serialize(CArchive &)\n5828 void CRichEditView::Serialize(CArchive &)\n5829 void CStringArray::Serialize(CArchive &)\n5830 void CStringList::Serialize(CArchive &)\n5831 void CWordArray::Serialize(CArchive &)\n5832 void CArchive::SerializeClass(CRuntimeconst *)\n5833 void SerializeElements(CArchive &,COleVariant *,int)\n5834 void SerializeElements(CArchive &,CString *,int)\n5835 void COleControl::SerializeExtent(CArchive &)\n5836 void CEditView::SerializeRaw(CArchive &)\n5837 void COleControl::SerializeStockProps(CArchive &)\n5838 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5839 int CProperty::Set(unsigned long,void * const,unsigned long)\n5840 int CProperty::Set(void * const)\n5841 int CProperty::Set(void * const,unsigned long)\n5842 int CPropertySection::Set(unsigned long,void *)\n5843 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5844 int CPropertySet::Set(_GUID,unsigned long,void *)\n5845 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5846 void CDaoRecordset::SetAbsolutePosition(long)\n5847 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,unsigned short const *)\n5848 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,unsigned short const *)\n5849 int CPropertySheet::SetActivePage(int)\n5850 int CPropertySheet::SetActivePage(CPropertyPage *)\n5851 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5852 void CFrameWnd::SetActiveView(CView *,int)\n5853 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5854 void COleControl::SetAppearance(short)\n5855 int CDC::SetArcDirection(int)\n5856 void CString::SetAt(int,char)\n5857 void CByteArray::SetAtGrow(int,unsigned char)\n5858 void CDWordArray::SetAtGrow(int,unsigned long)\n5859 void CObArray::SetAtGrow(int,CObject *)\n5860 void CPtrArray::SetAtGrow(int,void *)\n5861 void CStringArray::SetAtGrow(int,char const *)\n5862 void CUIntArray::SetAtGrow(int,unsigned int)\n5863 void CWordArray::SetAtGrow(int,unsigned short)\n5864 void CDC::SetAttribDC(HDC__ *)\n5865 void CMetaFileDC::SetAttribDC(HDC__ *)\n5866 void CPreviewDC::SetAttribDC(HDC__ *)\n5867 void CDaoTableDef::SetAttributes(long)\n5868 void COleControl::SetBackColor(unsigned long)\n5869 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5870 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5871 void CControlBar::SetBarStyle(unsigned long)\n5872 int CToolBar::SetBitmap(HBITMAP__ *)\n5873 unsigned long CDC::SetBkColor(unsigned long)\n5874 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5875 int CDC::SetBkMode(int)\n5876 void CDaoRecordset::SetBookmark(COleVariant)\n5877 void CRecordset::SetBookmark(CDBVariant const &)\n5878 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5879 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5880 void COleControl::SetBorderStyle(short)\n5881 void CColorPropPage::SetButton(CColorButton *)\n5882 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5883 int CToolBar::SetButtons(unsigned int const *,int)\n5884 void CToolBar::SetButtonStyle(int,unsigned int)\n5885 int CToolBar::SetButtonText(int,char const *)\n5886 void CDaoRecordset::SetCacheSize(long)\n5887 void CDaoRecordset::SetCacheStart(COleVariant)\n5888 CWnd * COleControl::SetCapture()\n5889 void CRichEditView::SetCharFormat(_charformat)\n5890 void CCheckListBox::SetCheck(int,int)\n5891 void CCmdUI::SetCheck(int)\n5892 void COleCmdUI::SetCheck(int)\n5893 void CStatusCmdUI::SetCheck(int)\n5894 void CTestCmdUI::SetCheck(int)\n5895 void CToolCmdUI::SetCheck(int)\n5896 void CCheckListBox::SetCheckStyle(unsigned int)\n5897 void CPropertySet::SetClassID(_GUID)\n5898 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5899 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5900 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5901 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5902 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5903 void COleDataSource::SetClipboard()\n5904 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5905 int CColorPropPage::SetColorProp(CDataExchange *,unsigned long,char const *)\n5906 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5907 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5908 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5909 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5910 void CSplitterWnd::SetColumnInfo(int,int,int)\n5911 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5912 void CDaoQueryDef::SetConnect(char const *)\n5913 void CDaoTableDef::SetConnect(char const *)\n5914 void CDocTemplate::SetContainerInfo(unsigned int)\n5915 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5916 void CReflectorWnd::SetControl(COleControl *)\n5917 int COleControl::SetControlSize(int,int)\n5918 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5919 void CFileDialog::SetControlText(int,char const *)\n5920 void COleCurrency::SetCurrency(long,long)\n5921 void CColorDialog::SetCurrentColor(unsigned long)\n5922 int CFtpConnection::SetCurrentDirectoryA(char const *)\n5923 void CWinApp::SetCurrentHandles()\n5924 void CDaoRecordset::SetCurrentIndex(char const *)\n5925 void CPreviewView::SetCurrentPage(unsigned int,int)\n5926 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5927 void CDaoRecordset::SetCursorAttributes()\n5928 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5929 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5930 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5931 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5932 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5933 int COleDateTime::SetDateTime(int,int,int,int,int,int)\n5934 void COleDateTimeSpan::SetDateTimeSpan(long,int,int,int)\n5935 void COccManager::SetDefaultButton(CWnd *,int)\n5936 void COleControlSite::SetDefaultButton(int)\n5937 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n5938 void CDaoWorkspace::SetDefaultPassword(char const *)\n5939 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5940 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5941 void CDaoWorkspace::SetDefaultUser(char const *)\n5942 void CFileDialog::SetDefExt(char const *)\n5943 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n5944 void COlePropertyPage::SetDialogResource(void *)\n5945 void CDaoRecordset::SetDirtyFields()\n5946 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n5947 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5948 int COleControlSite::SetDlgCtrlID(int)\n5949 int CWnd::SetDlgCtrlID(int)\n5950 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5951 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5952 void COleControlContainer::SetDlgItemTextA(int,char const *)\n5953 void CWnd::SetDlgItemTextA(int,char const *)\n5954 void CFrameWnd::SetDockState(CDockState const &)\n5955 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5956 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5957 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5958 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5959 void COleControl::SetEnabled(int)\n5960 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5961 int COleControlSite::SetExtent()\n5962 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5963 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5964 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5965 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5966 void CColorButton::SetFaceColor(unsigned long)\n5967 void CDaoRecordset::SetFieldDirty(void *,int)\n5968 void CRecordset::SetFieldDirty(void *,int)\n5969 void CDaoRecordset::SetFieldNull(void *,int)\n5970 void CRecordset::SetFieldNull(void *,int)\n5971 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5972 void CDaoRecordset::SetFieldValue(int,char const *)\n5973 void CDaoRecordset::SetFieldValue(char const *,char const *)\n5974 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n5975 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n5976 void CDaoRecordset::SetFieldValueNull(int)\n5977 void CDaoRecordset::SetFieldValueNull(char const *)\n5978 void CFile::SetFilePath(char const *)\n5979 CWnd * COleControl::SetFocus()\n5980 CWnd * COleControlSite::SetFocus()\n5981 CWnd * CWnd::SetFocus()\n5982 int CDialogTemplate::SetFont(char const *,unsigned short)\n5983 void CFontHolder::SetFont(IFont *)\n5984 void COleControl::SetFont(IFontDisp *)\n5985 int CFontPropPage::SetFontProps(CDataExchange *,tagFONTOBJECT,char const *)\n5986 void COleControl::SetForeColor(unsigned long)\n5987 void CPropertySection::SetFormatID(_GUID)\n5988 void CPropertySet::SetFormatVersion(unsigned short)\n5989 void CSharedFile::SetHandle(void *,int)\n5990 void CToolBar::SetHeight(int)\n5991 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5992 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n5993 void COleClientItem::SetHostNames(char const *,char const *)\n5994 long CDocObjectServer::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5995 long COleControl::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5996 long COleServerDoc::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5997 long COleServerItem::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5998 int COleClientItem::SetIconicMetafile(void *)\n5999 void CProperty::SetID(unsigned long)\n6000 int CStatusBar::SetIndicators(unsigned int const *,int)\n6001 void CDaoWorkspace::SetIniPath(char const *)\n6002 void COleControl::SetInitialDataFormats()\n6003 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n6004 void COleControl::SetInitialSize(int,int)\n6005 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n6006 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6007 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n6008 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n6009 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n6010 void CFile::SetLength(unsigned long)\n6011 void CInternetFile::SetLength(unsigned long)\n6012 void CMemFile::SetLength(unsigned long)\n6013 void COleStreamFile::SetLength(unsigned long)\n6014 void CSocketFile::SetLength(unsigned long)\n6015 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n6016 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n6017 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n6018 void CDaoRecordset::SetLockingMode(int)\n6019 void CRecordset::SetLockingMode(unsigned int)\n6020 void CDaoWorkspace::SetLoginTimeout(short)\n6021 int CDC::SetMapMode(int)\n6022 int CPreviewDC::SetMapMode(int)\n6023 unsigned long CDC::SetMapperFlags(unsigned long)\n6024 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6025 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6026 void CFrameWnd::SetMessageText(unsigned int)\n6027 void CFrameWnd::SetMessageText(char const *)\n6028 void CPropertyPage::SetModified(int)\n6029 void CDocument::SetModifiedFlag(int)\n6030 void COleControl::SetModifiedFlag(int)\n6031 void COlePropertyPage::SetModifiedFlag(int)\n6032 void CRichEditDoc::SetModifiedFlag(int)\n6033 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6034 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6035 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6036 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6037 void CDaoQueryDef::SetName(char const *)\n6038 void CDaoTableDef::SetName(char const *)\n6039 int CPropertySection::SetName(unsigned long,char const *)\n6040 void COleControl::SetNotPermitted()\n6041 void CCmdTarget::SetNotSupported()\n6042 void COleControl::SetNotSupported()\n6043 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6044 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6045 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6046 void CRecordset::SetNullFieldStatus(unsigned long)\n6047 void CRecordset::SetNullParamStatus(unsigned long)\n6048 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6049 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6050 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6051 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n6052 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6053 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6054 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6055 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6056 void CDaoQueryDef::SetODBCTimeout(short)\n6057 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6058 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6059 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6060 void CPropertySet::SetOSVersion(unsigned long)\n6061 void CDC::SetOutputDC(HDC__ *)\n6062 void CMetaFileDC::SetOutputDC(HDC__ *)\n6063 void CPreviewDC::SetOutputDC(HDC__ *)\n6064 void CToolBar::SetOwner(CWnd *)\n6065 void COlePropertyPage::SetPageName(char const *)\n6066 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n6067 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n6068 void CStatusBar::SetPaneStyle(int,unsigned int)\n6069 int CStatusBar::SetPaneText(int,char const *,int)\n6070 int CRichEditCtrl::SetParaFormat(_paraformat &)\n6071 int CRichEditView::SetParaFormat(_paraformat &)\n6072 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6073 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n6074 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6075 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n6076 void CDaoQueryDef::SetParamValueNull(int)\n6077 void CDaoQueryDef::SetParamValueNull(char const *)\n6078 void CDaoRecordset::SetParamValueNull(int)\n6079 void CDaoRecordset::SetParamValueNull(char const *)\n6080 void CDocument::SetPathName(char const *,int)\n6081 void COleDocument::SetPathName(char const *,int)\n6082 void CRichEditDoc::SetPathName(char const *,int)\n6083 void CDaoRecordset::SetPercentPosition(float)\n6084 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n6085 int CPicturePropPage::SetPictureProp(CDataExchange *,IPictureDisp *,char const *)\n6086 int CDC::SetPolyFillMode(int)\n6087 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n6088 int COleClientItem::SetPrintDevice(tagPDA const *)\n6089 void CEditView::SetPrinterFont(CFont *)\n6090 int CPreviewView::SetPrintView(CView *)\n6091 int COlePropertyPage::SetPropCheck(char const *,int)\n6092 void COleControlSite::SetProperty(long,unsigned short,...)\n6093 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n6094 void CWnd::SetProperty(long,unsigned short,...)\n6095 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n6096 int COlePropertyPage::SetPropIndex(char const *,int)\n6097 int COlePropertyPage::SetPropRadio(char const *,int)\n6098 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n6099 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n6100 int COlePropertyPage::SetPropText(char const *,short &)\n6101 int COlePropertyPage::SetPropText(char const *,int &)\n6102 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n6103 int COlePropertyPage::SetPropText(char const *,long &)\n6104 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n6105 int COlePropertyPage::SetPropText(char const *,float &)\n6106 int COlePropertyPage::SetPropText(char const *,double &)\n6107 int COlePropertyPage::SetPropText(char const *,CString &)\n6108 void CDaoDatabase::SetQueryTimeout(short)\n6109 void CCmdUI::SetRadio(int)\n6110 void CTestCmdUI::SetRadio(int)\n6111 void CSliderCtrl::SetRange(int,int,int)\n6112 int CInternetFile::SetReadBufferSize(unsigned int)\n6113 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n6114 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n6115 int COleControl::SetRectInContainer(tagRECT const *)\n6116 void CWinApp::SetRegistryKey(unsigned int)\n6117 void CWinApp::SetRegistryKey(char const *)\n6118 void CDaoQueryDef::SetReturnsRecords(int)\n6119 int CDC::SetROP2(int)\n6120 void CSplitterWnd::SetRowInfo(int,int,int)\n6121 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n6122 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n6123 void CRecordset::SetRowsetSize(unsigned long)\n6124 void CPreviewView::SetScaledSize(unsigned int)\n6125 void CPreviewDC::SetScaleRatio(int,int)\n6126 void CScrollView::SetScaleToFitSize(tagSIZE)\n6127 void CDockState::SetScreenSize(CSize &)\n6128 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n6129 int CWnd::SetScrollPos(int,int,int)\n6130 void CWnd::SetScrollRange(int,int,int,int)\n6131 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n6132 void CSplitterWnd::SetScrollStyle(unsigned long)\n6133 int CPropertySection::SetSectionName(char const *)\n6134 void CRichEditCtrl::SetSel(long,long)\n6135 void CSliderCtrl::SetSelection(int,int)\n6136 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n6137 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6138 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6139 void CByteArray::SetSize(int,int)\n6140 void CDWordArray::SetSize(int,int)\n6141 void CObArray::SetSize(int,int)\n6142 void CPtrArray::SetSize(int,int)\n6143 void CStringArray::SetSize(int,int)\n6144 void CUIntArray::SetSize(int,int)\n6145 void CWordArray::SetSize(int,int)\n6146 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6147 void CDaoTableDef::SetSourceTableName(char const *)\n6148 void CSplitterWnd::SetSplitCursor(int)\n6149 void CDaoQueryDef::SetSQL(char const *)\n6150 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6151 void CColorButton::SetState(int)\n6152 void CRecordset::SetState(int,char const *,unsigned long)\n6153 void CFile::SetStatus(char const *,CFileStatus const &)\n6154 int CControlBar::SetStatusText(int)\n6155 long COleFrameHook::XOleInPlaceFrame::SetStatusText(unsigned short const *)\n6156 long COleControlContainer::XOleIPFrame::SetStatusText(unsigned short const *)\n6157 int CDC::SetStretchBltMode(int)\n6158 void COleVariant::SetString(char const *,unsigned short)\n6159 unsigned short * CString::SetSysString(unsigned short * *)const \n6160 int CDialogTemplate::SetSystemFont(unsigned short)\n6161 void CEditView::SetTabStops(int)\n6162 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6163 void CFileDialog::SetTemplate(char const *,char const *)\n6164 void CCmdUI::SetText(char const *)\n6165 void COleCmdUI::SetText(char const *)\n6166 void COleControl::SetText(char const *)\n6167 void CStatusCmdUI::SetText(char const *)\n6168 void CTestCmdUI::SetText(char const *)\n6169 void CToolCmdUI::SetText(char const *)\n6170 unsigned int CDC::SetTextAlign(unsigned int)\n6171 int CDC::SetTextCharacterExtra(int)\n6172 unsigned long CDC::SetTextColor(unsigned long)\n6173 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6174 int CDC::SetTextJustification(int,int)\n6175 void CDocument::SetTitle(char const *)\n6176 void CPropertySheet::SetTitle(char const *,unsigned int)\n6177 void CRichEditDoc::SetTitle(char const *)\n6178 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6179 void CPreviewDC::SetTopLeftOffset(CSize)\n6180 void CProperty::SetType(unsigned long)\n6181 void CRecordset::SetUpdateMethod()\n6182 void CDaoTableDef::SetValidationRule(char const *)\n6183 void CDaoTableDef::SetValidationText(char const *)\n6184 void CThreadSlotData::SetValue(int,void *)\n6185 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6186 CSize CDC::SetViewportExt(int,int)\n6187 CSize CMetaFileDC::SetViewportExt(int,int)\n6188 CSize CPreviewDC::SetViewportExt(int,int)\n6189 CPoint CDC::SetViewportOrg(int,int)\n6190 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6191 CPoint CPreviewDC::SetViewportOrg(int,int)\n6192 CSize CDC::SetWindowExt(int,int)\n6193 CSize CPreviewDC::SetWindowExt(int,int)\n6194 CPoint CDC::SetWindowOrg(int,int)\n6195 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6196 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6197 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6198 void COleControlSite::SetWindowTextA(char const *)\n6199 void CWnd::SetWindowTextA(char const *)\n6200 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n6201 int CInternetFile::SetWriteBufferSize(unsigned int)\n6202 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6203 long CDocObjectServer::XOleDocumentView::Show(int)\n6204 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6205 void CDockBar::ShowAll(int)\n6206 long CRichEditCntrItem::ShowContainerUI(int)\n6207 long CRichEditView::ShowContainerUI(int)\n6208 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6209 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6210 long COleClientItem::XOleClientSite::ShowObject()\n6211 long COleControlSite::XOleClientSite::ShowObject()\n6212 void CFrameWnd::ShowOwnedWindows(int)\n6213 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6214 int COleControlSite::ShowWindow(int)\n6215 int CWnd::ShowWindow(int)\n6216 tagSIZE const CScrollView::sizeDefault\n6217 void CBitmapButton::SizeToContent()\n6218 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6219 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6220 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6221 int CAsyncSocket::Socket(int,long,int,int)\n6222 CString CString::SpanExcluding(char const *)const \n6223 CString CString::SpanIncluding(char const *)const \n6224 int CSplitterWnd::SplitColumn(int)\n6225 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6226 int CSplitterWnd::SplitRow(int)\n6227 int CDC::StartDocA(char const *)\n6228 void CDockContext::StartDrag(CPoint)\n6229 void CDockContext::StartResize(int,CPoint)\n6230 void CSplitterWnd::StartTracking(int)\n6231 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6232 void CSplitterWnd::StopTracking(int)\n6233 void CRuntimeClass::Store(CArchive &)const \n6234 void CDaoRecordset::StoreFields()\n6235 void CRecordset::StoreFields()\n6236 void CRichEditView::Stream(CArchive &,int)\n6237 void CDockContext::Stretch(CPoint)\n6238 void CDaoRecordset::StripBrackets(char const *,char *)\n6239 int CWnd::SubclassCtl3d(int)\n6240 int CWnd::SubclassDlg3d(unsigned long)\n6241 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6242 int CWnd::SubclassWindow(HWND__ *)\n6243 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6244 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6245 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6246 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6247 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6248 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6249 void CRichEditView::TextNotFound(char const *)\n6250 int CDC::TextOutA(int,int,char const *,int)\n6251 int CMetaFileDC::TextOutA(int,int,char const *,int)\n6252 int CPreviewDC::TextOutA(int,int,char const *,int)\n6253 void CDaoDatabase::ThrowDaoException(int)\n6254 void CDaoQueryDef::ThrowDaoException(int)\n6255 void CDaoRecordset::ThrowDaoException(int)\n6256 void CDaoTableDef::ThrowDaoException(int)\n6257 void CDaoWorkspace::ThrowDaoException(int)\n6258 void CDatabase::ThrowDBException(short)\n6259 void CRecordset::ThrowDBException(short,void *)\n6260 void CFileException::ThrowErrno(int,char const *)\n6261 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6262 void COleControl::ThrowError(long,char const *,unsigned int)\n6263 void ThrowGetRowsDaoException(long)\n6264 void CFileException::ThrowOsError(long,char const *)\n6265 void CDockContext::ToggleDocking()\n6266 int CDockContext::Track()\n6267 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6268 void CSplitterWnd::TrackColumnSize(int,int)\n6269 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6270 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6271 void CSplitterWnd::TrackRowSize(int,int)\n6272 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6273 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6274 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6275 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n6276 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6277 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6278 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6279 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6280 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n6281 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6282 void CString::TrimLeft()\n6283 void CString::TrimRight()\n6284 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6285 void COccManager::UIActivateControl(CWnd *)\n6286 long COleControl::XOleInPlaceObject::UIDeactivate()\n6287 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6288 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6289 void COleSafeArray::UnaccessData()\n6290 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6291 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6292 long COleControl::XOleObject::Unadvise(unsigned long)\n6293 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6294 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6295 void CRecordset::UnbindFieldsForUpdate()\n6296 long COleControl::XOleCache::Uncache(unsigned long)\n6297 long COleControl::XViewObject::Unfreeze(unsigned long)\n6298 int CCriticalSection::Unlock()\n6299 int CEvent::Unlock()\n6300 int CMultiLock::Unlock(long,long *)\n6301 int CMultiLock::Unlock()\n6302 int CMutex::Unlock()\n6303 void COleSafeArray::Unlock()\n6304 int CSemaphore::Unlock(long,long *)\n6305 int CSemaphore::Unlock()\n6306 int CSingleLock::Unlock(long,long *)\n6307 int CSingleLock::Unlock()\n6308 int CSyncObject::Unlock(long,long *)\n6309 void CTypeLibCache::Unlock()\n6310 void CEditView::UnlockBuffer()const \n6311 void CString::UnlockBuffer()\n6312 void CFile::UnlockRange(unsigned long,unsigned long)\n6313 void CInternetFile::UnlockRange(unsigned long,unsigned long)\n6314 void CMemFile::UnlockRange(unsigned long,unsigned long)\n6315 void COleStreamFile::UnlockRange(unsigned long,unsigned long)\n6316 void CSocketFile::UnlockRange(unsigned long,unsigned long)\n6317 void CStdioFile::UnlockRange(unsigned long,unsigned long)\n6318 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6319 int CWinApp::Unregister()\n6320 HWND__ * CWnd::UnsubclassWindow()\n6321 void CDaoRecordset::Update()\n6322 int CRecordset::Update()\n6323 long CDocObjectServer::XOleObject::Update()\n6324 long COleControl::XOleObject::Update()\n6325 long COleServerDoc::XOleObject::Update()\n6326 long COleServerItem::XOleObject::Update()\n6327 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6328 void CStatusBar::UpdateAllPanes(int,int)\n6329 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6330 void CScrollView::UpdateBars()\n6331 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6332 long CDataSourceControl::UpdateControls()\n6333 long CDataSourceControl::UpdateCursor()\n6334 int CWnd::UpdateData(int)\n6335 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6336 void CDocument::UpdateFrameCounts()\n6337 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n6338 int CRecordset::UpdateInsertDelete()\n6339 void COleClientItem::UpdateItemType()\n6340 int COleClientItem::UpdateLink()\n6341 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6342 void CSizeComboBox::UpdateLogFont(tagLOGFONTA *,int)\n6343 void CRecentFileList::UpdateMenu(CCmdUI *)\n6344 void COleDocument::UpdateModifiedFlag()\n6345 void CRichEditDoc::UpdateModifiedFlag()\n6346 void CRichEditDoc::UpdateObjectCache()\n6347 void CWinApp::UpdatePrinterSelection(int)\n6348 int CColorPropPage::CColorPropPageFactory::UpdateRegistry(int)\n6349 int CFontPropPage::CFontPropPageFactory::UpdateRegistry(int)\n6350 int COleObjectFactory::UpdateRegistry(int)\n6351 void COleObjectFactory::UpdateRegistry(char const *)\n6352 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *)\n6353 int CPicturePropPage::CPicturePropPageFactory::UpdateRegistry(int)\n6354 int COleObjectFactory::UpdateRegistryAll(int)\n6355 void CFontPropPage::UpdateSampleFont()\n6356 void CDockContext::UpdateState(int *,int)\n6357 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6358 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n6359 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6360 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6361 void CDatabase::VerifyConnect()\n6362 unsigned long CRecordset::VerifyCursorSupport()\n6363 void CRecordset::VerifyDriverBehavior()\n6364 int COleObjectFactory::VerifyLicenseKey(unsigned short *)\n6365 int COleObjectFactory::VerifyUserLicense()\n6366 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6367 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6368 int COleControl::WillAmbientsBeValidDuringLoad()\n6369 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6370 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6371 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6372 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6373 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6374 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6375 void CWinApp::WinHelpA(unsigned long,unsigned int)\n6376 void CWnd::WinHelpA(unsigned long,unsigned int)\n6377 CWnd const CWnd::wndBottom\n6378 CWnd const CWnd::wndNoTopMost\n6379 CWnd const CWnd::wndTop\n6380 CWnd const CWnd::wndTopMost\n6381 void CRichEditView::WrapChanged()\n6382 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6383 void CArchive::Write(void const *,unsigned int)\n6384 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6385 void CFile::Write(void const *,unsigned int)\n6386 void CGopherFile::Write(void const *,unsigned int)\n6387 int CImageList::Write(CArchive *)\n6388 void CInternetFile::Write(void const *,unsigned int)\n6389 void CMemFile::Write(void const *,unsigned int)\n6390 void COleStreamFile::Write(void const *,unsigned int)\n6391 void CSocketFile::Write(void const *,unsigned int)\n6392 void CStdioFile::Write(void const *,unsigned int)\n6393 void CArchive::WriteClass(CRuntimeconst *)\n6394 void CArchive::WriteCount(unsigned long)\n6395 void COleClientItem::WriteItem(CArchive &)\n6396 void COleClientItem::WriteItemCompound(CArchive &)\n6397 void COleClientItem::WriteItemFlat(CArchive &)\n6398 void CRecentFileList::WriteList()\n6399 int CPropertySection::WriteNameDictToStream(IStream *)\n6400 void CArchive::WriteObject(CObject const *)\n6401 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n6402 int CWinApp::WriteProfileInt(char const *,char const *,int)\n6403 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n6404 void CArchive::WriteString(char const *)\n6405 void CGopherFile::WriteString(char const *)\n6406 void CInternetFile::WriteString(char const *)\n6407 void CStdioFile::WriteString(char const *)\n6408 void CEditView::WriteToArchive(CArchive &)\n6409 int CProperty::WriteToStream(IStream *)\n6410 int CPropertySection::WriteToStream(IStream *)\n6411 int CPropertySet::WriteToStream(IStream *)\n6412 afxChNil\n6413 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n6414 _CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>::~_CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>()\n6415 _CIP<IUnknown,&_GUID const IID_IUnknown>::~_CIP<IUnknown,&_GUID const IID_IUnknown>()\n6416 CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>::~CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>()\n6417 CIP<IUnknown,&_GUID const IID_IUnknown>::~CIP<IUnknown,&_GUID const IID_IUnknown>()\n6418 int AfxParseURLEx(char const *,unsigned long &,CString &,CString &,unsigned short &,CString &,CString &,unsigned long)\n6421 CRuntimeconst CInternetException::classCInternetException\n6422 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n6423 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n6424 void CAsyncMonikerFile::EndCallbacks()\n6425 void CMonikerFile::Flush()\n6426 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n6427 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n6428 CEnumConnections::CEnumConnections(void const *,unsigned int)\n6429 CEnumConnections::~CEnumConnections()\n6430 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n6431 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n6432 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n6433 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n6434 int _AfxDeleteRegKey(char const *)\n6435 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n6436 void AfxGetDefaultValue(_DAOField *,CString &)\n6437 HINSTANCE__ * AfxGetResourceHandle()\n6438 int AfxInitRichEdit()\n6439 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n6440 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n6441 void AfxSetDefaultValue(_DAOField *,CString &)\n6442 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n6443 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n6444 void COleControlContainer::FreezeAllEvents(int)\n6445 void COleControlSite::FreezeEvents(int)\n6446 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n6447 unsigned int HashKey(unsigned short const *)\n6448 AFX_INTERFACEMAP const COleControlContainer::interfaceMap\n6449 AFX_INTERFACEMAP const COleControlSite::interfaceMap\n6450 CEnumArray * CEnumConnections::OnClone()\n6451 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6452 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6453 void CWnd::OnDestroy()\n6454 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6455 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6456 int CEnumConnections::OnNext(void *)\n6457 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6458 void CWnd::OnSettingChange(unsigned int,char const *)\n6459 void CRecordset::SetParamNull(int,int)\n6460 int COleObjectFactory::Unregister()\n6461 int COleTemplateServer::Unregister()\n6462 int COleObjectFactory::UnregisterAll()\n6463 void CDocManager::UnregisterShellFileTypes()\n6464 void CWinApp::UnregisterShellFileTypes()\n6465 AFX_CLASSINIT_COMPAT::AFX_CLASSINIT_COMPAT(CRuntime*)\n6466 AFX_EVENT::AFX_EVENT(int)\n6467 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n6468 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n6469 CColorPropPage::CColorPropPageFactory::CColorPropPageFactory(_GUID const &,CRuntime*,int,char const *)\n6470 CDaoErrorInfo::CDaoErrorInfo()\n6471 CDaoFieldInfo::CDaoFieldInfo()\n6472 CDataPathProperty::CDataPathProperty(COleControl *)\n6473 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n6474 CFileStatus::CFileStatus()\n6475 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n6476 CFontPropPage::CFontPropPageFactory::CFontPropPageFactory(_GUID const &,CRuntime*,int,char const *)\n6477 CGopherLocator::CGopherLocator(CGopherLocator const &)\n6478 CHtmlView::CHtmlView()\n6479 CMemoryException::CMemoryException(int,unsigned int)\n6480 CNotSupportedException::CNotSupportedException(int,unsigned int)\n6481 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n6482 COleVariant::COleVariant(_ITEMIDLIST const *)\n6483 CParkingWnd::CParkingWnd()\n6484 CPicturePropPage::CPicturePropPageFactory::CPicturePropPageFactory(_GUID const &,CRuntime*,int,char const *)\n6485 CPropertyPageEx::CPropertyPageEx(unsigned int,unsigned int,unsigned int,unsigned int)\n6486 CPropertyPageEx::CPropertyPageEx(char const *,unsigned int,unsigned int,unsigned int)\n6487 CPropertyPageEx::CPropertyPageEx()\n6488 CPropertySheetEx::CPropertySheetEx(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6489 CPropertySheetEx::CPropertySheetEx(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6490 CPropertySheetEx::CPropertySheetEx()\n6491 CReBar::CReBar()\n6492 CResourceException::CResourceException(int,unsigned int)\n6493 CString::CString(unsigned short const *,int)\n6494 CUserException::CUserException(int,unsigned int)\n6495 CEmbeddedButActsLikePtr<CMapPtrToPtr>::~CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n6496 CEmbeddedButActsLikePtr<CPtrList>::~CEmbeddedButActsLikePtr<CPtrList>()\n6497 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n6498 CArchiveException::~CArchiveException()\n6499 CColorDialog::~CColorDialog()\n6500 CColorPropPage::~CColorPropPage()\n6501 CColorPropPage::CColorPropPageFactory::~CColorPropPageFactory()\n6502 CComboBoxEx::~CComboBoxEx()\n6503 CControlBarInfo::~CControlBarInfo()\n6504 COleControl::CControlDataSource::~CControlDataSource()\n6505 CControlFrameWnd::~CControlFrameWnd()\n6506 CControlRectTracker::~CControlRectTracker()\n6507 CDaoErrorInfo::~CDaoErrorInfo()\n6508 CDateTimeCtrl::~CDateTimeCtrl()\n6509 CFindReplaceDialog::~CFindReplaceDialog()\n6510 CFixedAlloc::~CFixedAlloc()\n6511 CFontPropPage::~CFontPropPage()\n6512 CFontPropPage::CFontPropPageFactory::~CFontPropPageFactory()\n6513 CHandleMap::~CHandleMap()\n6514 CHtmlView::~CHtmlView()\n6515 CIPAddressCtrl::~CIPAddressCtrl()\n6516 CMDIChildWnd::~CMDIChildWnd()\n6517 CMDIFrameWnd::~CMDIFrameWnd()\n6518 CMemoryException::~CMemoryException()\n6519 CMiniDockFrameWnd::~CMiniDockFrameWnd()\n6520 CMonthCalCtrl::~CMonthCalCtrl()\n6521 CNotSupportedException::~CNotSupportedException()\n6522 COccManager::~COccManager()\n6523 COleDocObjectItem::~COleDocObjectItem()\n6524 COleException::~COleException()\n6525 COleSafeArray::~COleSafeArray()\n6526 CParkingWnd::~CParkingWnd()\n6527 CPicturePropPage::CPicturePropPageFactory::~CPicturePropPageFactory()\n6528 CPropertyPageEx::~CPropertyPageEx()\n6529 CPropertySheetEx::~CPropertySheetEx()\n6530 CPushRoutingFrame::~CPushRoutingFrame()\n6531 CPushRoutingView::~CPushRoutingView()\n6532 CReBar::~CReBar()\n6533 CReflectorWnd::~CReflectorWnd()\n6534 CResourceException::~CResourceException()\n6535 CRichEditDoc::~CRichEditDoc()\n6536 CSocketWnd::~CSocketWnd()\n6537 CTempDC::~CTempDC()\n6538 CTempGdiObject::~CTempGdiObject()\n6539 CTempImageList::~CTempImageList()\n6540 CTempMenu::~CTempMenu()\n6541 CTempWnd::~CTempWnd()\n6542 CThreadData::~CThreadData()\n6543 CTypeLibCacheMap::~CTypeLibCacheMap()\n6544 CUserException::~CUserException()\n6545 CWindowlessDC::~CWindowlessDC()\n6546 void CTempWnd::operator delete(void *)\n6547 CArchive & CArchive::operator>>(unsigned char &)\n6548 CArchive & CArchive::operator>>(unsigned short &)\n6549 CArchive & CArchive::operator>>(long &)\n6550 CArchive & CArchive::operator>>(unsigned long &)\n6551 CArchive & CArchive::operator>>(float &)\n6552 CArchive & CArchive::operator>>(double &)\n6553 CArchive & CArchive::operator<<(unsigned char)\n6554 CArchive & CArchive::operator<<(unsigned short)\n6555 CArchive & CArchive::operator<<(long)\n6556 CArchive & CArchive::operator<<(unsigned long)\n6557 CArchive & CArchive::operator<<(float)\n6558 CArchive & CArchive::operator<<(double)\n6559 int operator==(_GUID const &,_GUID const &)\n6560 int CTime::operator<(CTime)const \n6561 int CTime::operator>(CTime)const \n6562 void COleDocObjectItem::ActivateAndShow()\n6563 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n6564 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n6565 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n6566 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n6567 __POSITION * CStringList::AddHead(CString const &)\n6568 void CPropertySheetEx::AddPage(CPropertyPageEx *)\n6569 __POSITION * CStringList::AddTail(CString const &)\n6570 void AfxCheckError(long)\n6571 void AfxClassInit(CRuntime*)\n6572 long AfxDelRegTreeHelper(HKEY__ *,CString const &)\n6573 AFX_EXCEPTION_CONTEXT * AfxGetExceptionContext()\n6574 void * AfxGetHENV()\n6575 CWnd * AfxGetMainWnd()\n6576 HINSTANCE__ * AfxGetResourceHandleCompat()\n6577 CHandleMap * afxMapHDC(int)\n6578 CHandleMap * afxMapHGDIOBJ(int)\n6579 CHandleMap * afxMapHIMAGELIST(int)\n6580 CHandleMap * afxMapHMENU(int)\n6581 CHandleMap * afxMapHWND(int)\n6582 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n6583 void AfxTrackerTerm()\n6584 void AfxWingdixTerm()\n6585 void * CFixedAlloc::Alloc()\n6586 unsigned short * AtlA2WHelper(unsigned short *,char const *,int)\n6587 _devicemodeW * AtlDevModeA2W(_devicemodeW *,_devicemodeA *)\n6588 _devicemodeA * AtlDevModeW2A(_devicemodeA *,_devicemodeW *)\n6589 char * AtlW2AHelper(char *,unsigned short const *,int)\n6590 void COleControlContainer::AttachControlSite(CWnd *)\n6591 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,int *)\n6592 void CPropertySheetEx::BuildPropPageArray()\n6593 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n6594 CSize CReBar::CalcFixedLayout(int,int)\n6595 int CDatabase::CheckHstmt(short,void *)const \n6596 CRuntimeconst CComboBoxEx::classCComboBoxEx\n6597 CRuntimeconst CHtmlView::classCHtmlView\n6598 CRuntimeconst CIPAddressCtrl::classCIPAddressCtrl\n6599 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6600 CRuntimeconst COleDocObjectItem::classCOleDocObjectItem\n6601 CRuntimeconst CPropertyPageEx::classCPropertyPageEx\n6602 CRuntimeconst CPropertySheetEx::classCPropertySheetEx\n6603 CRuntimeconst CReBar::classCReBar\n6604 CRuntimeconst CReBarCtrl::classCReBarCtrl\n6605 void CWnd::ClientToScreen(tagRECT *)const \n6606 void CPropertyPageEx::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n6607 void CPropertySheetEx::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6608 void CPropertyPageEx::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n6609 void CPropertyPageEx::Construct(char const *,unsigned int,unsigned int,unsigned int)\n6610 void CPropertySheetEx::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6611 void CPropertySheetEx::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6612 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6613 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6614 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n6615 int CImageList::Create(CImageList *)\n6616 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6617 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n6618 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6619 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n6620 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6621 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,unsigned short *,COleControlSite * *)\n6622 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,unsigned short *)\n6623 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,unsigned short *)\n6624 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n6625 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n6626 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n6627 CObject * CHtmlView::CreateObject()\n6628 CObject * CTempDC::CreateObject()\n6629 CObject * CTempGdiObject::CreateObject()\n6630 CObject * CTempImageList::CreateObject()\n6631 CObject * CTempMenu::CreateObject()\n6632 CObject * CTempWnd::CreateObject()\n6633 void COleControl::CreateTracker(int,int,tagRECT const *)\n6634 void DDV_MinMaxDateTime(CDataExchange *,COleDateTime &,COleDateTime const *,COleDateTime const *)\n6635 void DDV_MinMaxDateTime(CDataExchange *,CTime &,CTime const *,CTime const *)\n6636 void DDV_MinMaxMonth(CDataExchange *,COleDateTime &,COleDateTime const *,COleDateTime const *)\n6637 void DDV_MinMaxMonth(CDataExchange *,CTime &,CTime const *,CTime const *)\n6638 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n6639 void DDX_DateTimeCtrl(CDataExchange *,int,COleDateTime &)\n6640 void DDX_DateTimeCtrl(CDataExchange *,int,CTime &)\n6641 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6642 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n6643 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n6644 void DDX_MonthCalCtrl(CDataExchange *,int,COleDateTime &)\n6645 void DDX_MonthCalCtrl(CDataExchange *,int,CTime &)\n6646 void DDX_Slider(CDataExchange *,int,int &)\n6647 void DDX_Text(CDataExchange *,int,char *,int)\n6648 int CString::Delete(int,int)\n6649 int CComboBoxEx::DeleteItem(int)\n6650 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n6651 int COleInsertDialog::DoModal(unsigned long)\n6652 void CControlBar::DrawGripper(CDC *,CRect const &)\n6653 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n6654 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long)\n6655 int CWnd::EnableTrackingToolTips(int)\n6656 void CPropertyPage::EndDialog(int)\n6657 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n6658 AFX_EVENTSINKMAP const CHtmlView::eventsinkMap\n6659 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6660 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n6661 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n6662 int CString::Find(char,int)const \n6663 int CString::Find(char const *,int)const \n6664 int FontAttrSize(int)\n6665 void CFixedAlloc::Free(void *)\n6666 void CFixedAlloc::FreeAll()\n6667 void __fastcall CString::FreeData(CStringData *)\n6668 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n6669 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n6670 int CHtmlView::GetAddressBar()const \n6671 IDispatch * CHtmlView::GetApplication()const \n6672 int COleDateTime::GetAsSystemTime(_SYSTEMTIME &)const \n6673 int CTime::GetAsSystemTime(_SYSTEMTIME &)const \n6674 int CHtmlView::GetBusy()const \n6675 int CListCtrl::GetCheck(int)const \n6676 int CTreeCtrl::GetCheck(_TREEITEM *)const \n6677 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n6678 int CListCtrl::GetColumnOrderArray(int *,int)\n6679 IDispatch * CHtmlView::GetContainer()const \n6680 int CInternetSession::GetCookie(char const *,char const *,CString &)\n6681 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n6682 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n6683 int CListBox::GetCurSel()const \n6684 int CMonthCalCtrl::GetCurSel(COleDateTime &)const \n6685 int CMonthCalCtrl::GetCurSel(CTime &)const \n6686 IUnknown * CDataBoundProperty::GetCursor()\n6687 IUnknown * CDataSourceControl::GetCursor()\n6688 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n6689 int CDocManager::GetDocumentCount()\n6690 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n6691 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n6692 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n6693 CFont * CWnd::GetFont()const \n6694 CString CHtmlView::GetFullName()const \n6695 int CHtmlView::GetFullScreen()const \n6696 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n6697 long CHtmlView::GetHeight()const \n6698 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n6699 IDispatch * CHtmlView::GetHtmlDocument()const \n6700 HICON__ * COleClientItem::GetIconFromRegistry()const \n6701 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n6702 CImageList * CReBarCtrl::GetImageList()const \n6703 IUnknown * COleFrameHook::GetInterfaceHook(void const *)\n6704 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n6705 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n6706 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n6707 unsigned long CDC::GetLayout()const \n6708 long CHtmlView::GetLeft()const \n6709 CString CHtmlView::GetLocationName()const \n6710 CString CHtmlView::GetLocationURL()const \n6711 int CHtmlView::GetMenuBar()const \n6712 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n6713 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n6714 AFX_MSGMAP const * CReBar::GetMessageMap()const \n6715 IMoniker * CMonikerFile::GetMoniker()const \n6716 int CMonthCalCtrl::GetMonthRange(COleDateTime &,COleDateTime &,unsigned long)const \n6717 int CMonthCalCtrl::GetMonthRange(CTime &,CTime &,unsigned long)const \n6718 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n6719 int CHtmlView::GetOffline()const \n6720 int CHeaderCtrl::GetOrderArray(int *,int)\n6721 CWnd * CWnd::GetOwner()const \n6722 int COleDocObjectItem::GetPageCount(long *,long *)\n6723 CRect CRichEditView::GetPageRect()const \n6724 IDispatch * CHtmlView::GetParentBrowser()const \n6725 CRect CRichEditView::GetPrintRect()const \n6726 COleVariant CHtmlView::GetProperty(char const *)\n6727 int CHtmlView::GetProperty(char const *,CString &)\n6728 _AFX_OLDPROPSHEETHEADER * CPropertySheet::GetPropSheetHeader()\n6729 unsigned long CDateTimeCtrl::GetRange(COleDateTime *,COleDateTime *)const \n6730 unsigned long CDateTimeCtrl::GetRange(CTime *,CTime *)const \n6731 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n6732 unsigned long CMonthCalCtrl::GetRange(COleDateTime *,COleDateTime *)const \n6733 unsigned long CMonthCalCtrl::GetRange(CTime *,CTime *)const \n6734 void CProgressCtrl::GetRange(int &,int &)\n6735 enum tagREADYSTATE CHtmlView::GetReadyState()const \n6736 int CHtmlView::GetRegisterAsBrowser()const \n6737 int CHtmlView::GetRegisterAsDropTarget()const \n6738 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n6739 CView * CCmdTarget::GetRoutingView_()\n6740 CRuntime* CComboBoxEx::GetRuntimeClass()const \n6741 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n6742 CRuntime* CHtmlView::GetRuntimeClass()const \n6743 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n6744 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n6745 CRuntime* COleDBRecordView::GetRuntimeClass()const \n6746 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n6747 CRuntime* CPropertyPageEx::GetRuntimeClass()const \n6748 CRuntime* CPropertySheetEx::GetRuntimeClass()const \n6749 CRuntime* CReBar::GetRuntimeClass()const \n6750 CRuntime* CReBarCtrl::GetRuntimeClass()const \n6751 CRuntime* CTempDC::GetRuntimeClass()const \n6752 CRuntime* CTempGdiObject::GetRuntimeClass()const \n6753 CRuntime* CTempImageList::GetRuntimeClass()const \n6754 CRuntime* CTempMenu::GetRuntimeClass()const \n6755 CRuntime* CTempWnd::GetRuntimeClass()const \n6756 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n6757 int CMonthCalCtrl::GetSelRange(COleDateTime &,COleDateTime &)const \n6758 int CMonthCalCtrl::GetSelRange(CTime &,CTime &)const \n6759 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n6760 int CHtmlView::GetSilent()const \n6761 int CHtmlView::GetStatusBar()const \n6762 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n6763 CTabCtrl * CPropertySheet::GetTabControl()const \n6764 CString CMirrorFile::GetTempName(char const *,int)\n6765 int CHtmlView::GetTheaterMode()const \n6766 int CDateTimeCtrl::GetTime(COleDateTime &)const \n6767 unsigned long CDateTimeCtrl::GetTime(CTime &)const \n6768 CString CStatusBarCtrl::GetTipText(int)const \n6769 CString CFrameWnd::GetTitle()const \n6770 int CMonthCalCtrl::GetToday(COleDateTime &)const \n6771 int CMonthCalCtrl::GetToday(CTime &)const \n6772 int CHtmlView::GetToolBar()const \n6773 long CHtmlView::GetTop()const \n6774 int CHtmlView::GetTopLevelContainer()const \n6775 CString CHtmlView::GetType()const \n6776 int CHtmlView::GetVisible()const \n6777 int HasFont(DLGTEMPLATE const *)\n6778 int CString::Insert(int,char)\n6779 int CString::Insert(int,char const *)\n6780 __POSITION * CStringList::InsertAfter(__POSITION *,CString const &)\n6781 void CStringArray::InsertAt(int,CString const &,int)\n6782 __POSITION * CStringList::InsertBefore(__POSITION *,CString const &)\n6783 void CStringArray::InsertEmpty(int,int)\n6784 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n6785 int CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n6786 int CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n6787 AFX_INTERFACEMAP const COleDocObjectItem::interfaceMap\n6788 int CPropertyPage::IsButtonEnabled(int)\n6789 int IsButtonUp(tagMSG *)\n6790 int IsDialogEx(DLGTEMPLATE const *)\n6791 int IsDirSep(char)\n6792 int IsEnterKey(tagMSG *)\n6793 int IsHelpKey(tagMSG *)\n6794 void CToolBar::Layout()\n6795 int CBitmap::LoadBitmapA(unsigned int)\n6796 int CHtmlView::LoadFromResource(unsigned int)\n6797 int CHtmlView::LoadFromResource(char const *)\n6798 void CMDIChildWnd::MDIActivate()\n6799 void CMDIChildWnd::MDIDestroy()\n6800 AFX_MSGMAP const CHtmlView::messageMap\n6801 AFX_MSGMAP const COleDBRecordView::messageMap\n6802 AFX_MSGMAP const CReBar::messageMap\n6803 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n6804 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n6805 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n6806 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n6807 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n6808 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n6809 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n6810 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n6811 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n6812 void CHtmlView::OnCommandStateChange(long,int)\n6813 void CHtmlView::OnDestroy()\n6814 void CHtmlView::OnDocumentComplete(char const *)\n6815 void CHtmlView::OnDownloadBegin()\n6816 void CHtmlView::OnDownloadComplete()\n6817 void CHtmlView::OnDraw(CDC *)\n6818 void CToolTipCtrl::OnEnable(int)\n6819 int COleControl::OnEraseBkgnd(CDC *)\n6820 int CReBar::OnEraseBkgnd(CDC *)\n6821 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6822 void CHtmlView::OnFilePrint()\n6823 void CHtmlView::OnFullScreen(int)\n6824 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6825 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6826 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6827 void COleDBRecordView::OnInitialUpdate()\n6828 void CFrameWnd::OnInitMenu(CMenu *)\n6829 void COleFrameHook::OnInitMenu(CMenu *)\n6830 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6831 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6832 void CHtmlView::OnMenuBar(int)\n6833 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6834 int COleDBRecordView::OnMove(unsigned int)\n6835 void CHtmlView::OnNavigateComplete2(char const *)\n6836 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6837 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n6838 void CReBar::OnNcPaint()\n6839 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6840 void CHtmlView::OnPaint()\n6841 void CReBar::OnPaint()\n6842 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6843 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6844 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6845 void CHtmlView::OnProgressChange(long,long)\n6846 void CHtmlView::OnPropertyChange(char const *)\n6847 void CHtmlView::OnQuit()\n6848 void CReBar::OnRecalcParent()\n6849 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6850 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6851 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6852 long CToolBar::OnSetSizeHelper(CSize &,long)\n6853 long CReBar::OnShowBand(unsigned int,long)\n6854 void CHtmlView::OnSize(unsigned int,int,int)\n6855 void CHtmlView::OnStatusBar(int)\n6856 void CHtmlView::OnStatusTextChange(char const *)\n6857 void CHtmlView::OnTheaterMode(int)\n6858 void CHtmlView::OnTitleChange(char const *)\n6859 void CHtmlView::OnToolBar(int)\n6860 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6861 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6862 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6863 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6864 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6865 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6866 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6867 void CHtmlView::OnVisible(int)\n6868 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n6869 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n6870 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6871 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n6872 void COleDocObjectItem::Release(enum tagOLECLOSE)\n6873 void COleControl::ReleaseCaches()\n6874 int CString::Remove(char)\n6875 void CTypeLibCacheMap::RemoveAll(void *)\n6876 int CString::Replace(char,char)\n6877 int CString::Replace(char const *,char const *)\n6878 void RFX_Date(CFieldExchange *,char const *,COleDateTime &)\n6879 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n6880 void CWnd::ScreenToClient(tagRECT *)const \n6881 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n6882 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n6883 void CStringArray::SetAtGrow(int,CString const &)\n6884 void CAsyncMonikerFile::SetBinding(IBinding *)\n6885 int CListCtrl::SetBkImage(char *,int,int,int)\n6886 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n6887 void CControlBar::SetBorders(int,int,int,int)\n6888 int CListCtrl::SetCheck(int,int)\n6889 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n6890 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n6891 int CListCtrl::SetColumnOrderArray(int,int *)\n6892 int CInternetSession::SetCookie(char const *,char const *,char const *)\n6893 int CMonthCalCtrl::SetCurSel(COleDateTime const &)\n6894 int CMonthCalCtrl::SetCurSel(CTime const &)\n6895 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n6896 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n6897 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n6898 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n6899 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n6900 CSize CListCtrl::SetIconSpacing(int,int)\n6901 CSize CListCtrl::SetIconSpacing(CSize)\n6902 int CReBarCtrl::SetImageList(CImageList *)\n6903 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n6904 int CListCtrl::SetItemCountEx(int,unsigned long)\n6905 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n6906 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n6907 int CListCtrl::SetItemText(int,int,char const *)\n6908 unsigned long CDC::SetLayout(unsigned long)\n6909 int CHeaderCtrl::SetOrderArray(int,int *)\n6910 int CDateTimeCtrl::SetRange(COleDateTime const *,COleDateTime const *)\n6911 int CDateTimeCtrl::SetRange(CTime const *,CTime const *)\n6912 int CMonthCalCtrl::SetRange(COleDateTime const *,COleDateTime const *)\n6913 int CMonthCalCtrl::SetRange(CTime const *,CTime const *)\n6914 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6915 void CCheckListBox::SetSelectionCheck(int)\n6916 int CMonthCalCtrl::SetSelRange(COleDateTime const &,COleDateTime const &)\n6917 int CMonthCalCtrl::SetSelRange(CTime const &,CTime const &)\n6918 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6919 int CDateTimeCtrl::SetTime(COleDateTime const &)\n6920 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6921 int CDateTimeCtrl::SetTime(CTime const *)\n6922 void CMonthCalCtrl::SetToday(COleDateTime const &)\n6923 void CMonthCalCtrl::SetToday(CTime const *)\n6924 int CMonthCalCtrl::SizeMinReq(int)\n6925 int COleDocObjectItem::SupportsIPrint()\n6926 COleVariant CDataSourceControl::ToVariant(int)\n6927 void CString::TrimLeft(char)\n6928 void CString::TrimLeft(char const *)\n6929 void CString::TrimRight(char)\n6930 void CString::TrimRight(char const *)\n6931 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6932 int CMenu::GetMenuStringA(unsigned int,CString &,unsigned int)const \n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc42d.def",
    "content": "256 void CRect::operator&=(tagRECT const &)\n257 void CRect::operator|=(tagRECT const &)\n258 CEmbeddedButActsLikePtr<CMapPtrToPtr>::CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n259 CEmbeddedButActsLikePtr<CPtrList>::CEmbeddedButActsLikePtr<CPtrList>()\n260 CTypedSimpleList<CRuntime*>::CTypedSimpleList<CRuntime*>(int)\n261 CTypedSimpleList<CThreadData *>::CTypedSimpleList<CThreadData *>(int)\n262 CTypedSimpleList<CDynLinkLibrary *>::CTypedSimpleList<CDynLinkLibrary *>(int)\n263 CTypedSimpleList<CFrameWnd *>::CTypedSimpleList<CFrameWnd *>(int)\n264 CTypedSimpleList<COleControlLock *>::CTypedSimpleList<COleControlLock *>(int)\n265 CTypedSimpleList<COleObjectFactory *>::CTypedSimpleList<COleObjectFactory *>(int)\n266 _AFX_BASE_MODULE_STATE::_AFX_BASE_MODULE_STATE()\n267 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n268 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n269 _AFX_CONTROLPOS::_AFX_CONTROLPOS()\n270 _AFX_CTL3D_STATE::_AFX_CTL3D_STATE()\n271 _AFX_CTL3D_THREAD::_AFX_CTL3D_THREAD()\n272 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n273 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n274 _AFX_MAIL_STATE::_AFX_MAIL_STATE()\n275 _AFX_PROPPAGEFONTINFO::_AFX_PROPPAGEFONTINFO()\n276 _AFX_RICHEDIT_STATE::_AFX_RICHEDIT_STATE()\n277 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n278 _AFX_WIN_STATE::_AFX_WIN_STATE()\n279 AFX_CHECK_DATA::AFX_CHECK_DATA()\n280 AFX_CLASSINIT::AFX_CLASSINIT(CRuntime*)\n281 AFX_CLASSINIT_COMPAT::AFX_CLASSINIT_COMPAT(CRuntime*)\n282 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n283 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n284 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n285 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long)\n286 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n287 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n288 CAnimateCtrl::CAnimateCtrl()\n289 CArchive::CArchive(CArchive const &)\n290 CArchive::CArchive(CFile *,unsigned int,int,void *)\n291 CArchiveException::CArchiveException(int,char const *)\n292 CArchiveStream::CArchiveStream(CArchive *)\n293 CBitmap::CBitmap()\n294 CBitmapButton::CBitmapButton()\n295 CBrush::CBrush(int,unsigned long)\n296 CBrush::CBrush(unsigned long)\n297 CBrush::CBrush(CBitmap *)\n298 CBrush::CBrush()\n299 CButton::CButton()\n300 CByteArray::CByteArray()\n301 CCheckListBox::CCheckListBox()\n302 CClientDC::CClientDC(CWnd *)\n303 CCmdTarget::CCmdTarget()\n304 CCmdUI::CCmdUI()\n305 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n306 CComboBox::CComboBox()\n307 CComboBoxEx::CComboBoxEx()\n308 CCommandLineInfo::CCommandLineInfo()\n309 CCommonDialog::CCommonDialog(CWnd *)\n310 CControlBar::CControlBar()\n311 CControlBarInfo::CControlBarInfo()\n312 CCreateContext::CCreateContext()\n313 CCriticalSection::CCriticalSection()\n314 CCtrlView::CCtrlView(char const *,unsigned long)\n315 CDataExchange::CDataExchange(CWnd *,int)\n316 CDC::CDC()\n317 CDialog::CDialog(unsigned int,CWnd *)\n318 CDialog::CDialog(char const *,CWnd *)\n319 CDialog::CDialog()\n320 CDialogBar::CDialogBar()\n321 CDialogTemplate::CDialogTemplate(void *)\n322 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n323 CDockBar::CDockBar(int)\n324 CDockContext::CDockContext(CControlBar *)\n325 CDockState::CDockState()\n326 CDocManager::CDocManager()\n327 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n328 CDocument::CDocument()\n329 CDragListBox::CDragListBox()\n330 CDumpContext::CDumpContext(CDumpContext const &)\n331 CDumpContext::CDumpContext(CFile *)\n332 CDWordArray::CDWordArray()\n333 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n334 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n335 CEdit::CEdit()\n336 CEditView::CEditView()\n337 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n338 CException::CException(int)\n339 CException::CException()\n340 CFile::CFile(int)\n341 CFile::CFile(char const *,unsigned int)\n342 CFile::CFile()\n343 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *)\n344 CFileException::CFileException(int,long,char const *)\n345 CFileFind::CFileFind()\n346 CFileStatus::CFileStatus()\n347 CFindReplaceDialog::CFindReplaceDialog()\n348 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n349 CFont::CFont()\n350 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n351 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n352 CFormView::CFormView(unsigned int)\n353 CFormView::CFormView(char const *)\n354 CFrameWnd::CFrameWnd()\n355 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n356 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n357 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n358 CGdiObject::CGdiObject()\n359 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n360 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n361 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n362 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n363 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n364 CGopherLocator::CGopherLocator(char const *,unsigned long)\n365 CGopherLocator::CGopherLocator(CGopherLocator const &)\n366 CHandleMap::CHandleMap(CRuntime*,unsigned int,int)\n367 CHeaderCtrl::CHeaderCtrl()\n368 CHotKeyCtrl::CHotKeyCtrl()\n369 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n370 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n371 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n372 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n373 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n374 CImageList::CImageList()\n375 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n376 CInternetException::CInternetException(unsigned long)\n377 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n378 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n379 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n380 CIPAddressCtrl::CIPAddressCtrl()\n381 CListBox::CListBox()\n382 CListCtrl::CListCtrl()\n383 CListView::CListView()\n384 CMapPtrToPtr::CMapPtrToPtr(int)\n385 CMapPtrToWord::CMapPtrToWord(int)\n386 CMapStringToOb::CMapStringToOb(int)\n387 CMapStringToPtr::CMapStringToPtr(int)\n388 CMapStringToString::CMapStringToString(int)\n389 CMapWordToOb::CMapWordToOb(int)\n390 CMapWordToPtr::CMapWordToPtr(int)\n391 CMDIChildWnd::CMDIChildWnd()\n392 CMDIFrameWnd::CMDIFrameWnd()\n393 CMemFile::CMemFile(unsigned int)\n394 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n395 CMemoryException::CMemoryException(int,unsigned int)\n396 CMemoryException::CMemoryException()\n397 CMemoryState::CMemoryState()\n398 CMenu::CMenu()\n399 CMetaFileDC::CMetaFileDC()\n400 CMiniDockFrameWnd::CMiniDockFrameWnd()\n401 CMiniFrameWnd::CMiniFrameWnd()\n402 CMirrorFile::CMirrorFile()\n403 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n404 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n405 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n406 CNoTrackObject::CNoTrackObject()\n407 CNotSupportedException::CNotSupportedException(int,unsigned int)\n408 CNotSupportedException::CNotSupportedException()\n409 CObArray::CObArray()\n410 CObject::CObject()\n411 CObList::CObList(int)\n412 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n413 CPaintDC::CPaintDC(CWnd *)\n414 CPalette::CPalette()\n415 CPen::CPen(int,int,unsigned long)\n416 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n417 CPen::CPen()\n418 CPoint::CPoint(int,int)\n419 CPoint::CPoint(unsigned long)\n420 CPoint::CPoint(tagPOINT)\n421 CPoint::CPoint(tagSIZE)\n422 CPoint::CPoint()\n423 CPreviewDC::CPreviewDC()\n424 CPreviewView::CPreviewView()\n425 CPrintDialog::CPrintDialog(tagPDA &)\n426 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n427 CPrintInfo::CPrintInfo()\n428 CPrintPreviewState::CPrintPreviewState()\n429 CProgressCtrl::CProgressCtrl()\n430 CPropertyPage::CPropertyPage(unsigned int,unsigned int)\n431 CPropertyPage::CPropertyPage(char const *,unsigned int)\n432 CPropertyPage::CPropertyPage()\n433 CPropertyPageEx::CPropertyPageEx(unsigned int,unsigned int,unsigned int,unsigned int)\n434 CPropertyPageEx::CPropertyPageEx(char const *,unsigned int,unsigned int,unsigned int)\n435 CPropertyPageEx::CPropertyPageEx()\n436 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n437 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n438 CPropertySheet::CPropertySheet()\n439 CPropertySheetEx::CPropertySheetEx(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n440 CPropertySheetEx::CPropertySheetEx(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n441 CPropertySheetEx::CPropertySheetEx()\n442 CPtrArray::CPtrArray()\n443 CPtrList::CPtrList(int)\n444 CPushRoutingFrame::CPushRoutingFrame(CFrameWnd *)\n445 CPushRoutingView::CPushRoutingView(CView *)\n446 CReBar::CReBar()\n447 CReBarCtrl::CReBarCtrl()\n448 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n449 CRect::CRect(tagRECT const &)\n450 CRect::CRect(int,int,int,int)\n451 CRect::CRect(tagRECT const *)\n452 CRect::CRect(tagPOINT,tagPOINT)\n453 CRect::CRect(tagPOINT,tagSIZE)\n454 CRect::CRect()\n455 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n456 CRectTracker::CRectTracker()\n457 CResourceException::CResourceException(int,unsigned int)\n458 CResourceException::CResourceException()\n459 CRgn::CRgn()\n460 CRichEditCtrl::CRichEditCtrl()\n461 CScrollBar::CScrollBar()\n462 CScrollView::CScrollView()\n463 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n464 CSharedFile::CSharedFile(unsigned int,unsigned int)\n465 CSimpleException::CSimpleException(int)\n466 CSimpleException::CSimpleException()\n467 CSimpleList::CSimpleList(int)\n468 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n469 CSingleLock::CSingleLock(CSyncObject *,int)\n470 CSize::CSize(int,int)\n471 CSize::CSize(unsigned long)\n472 CSize::CSize(tagPOINT)\n473 CSize::CSize(tagSIZE)\n474 CSize::CSize()\n475 CSliderCtrl::CSliderCtrl()\n476 CSpinButtonCtrl::CSpinButtonCtrl()\n477 CSplitterWnd::CSplitterWnd()\n478 CStatic::CStatic()\n479 CStatusBar::CStatusBar()\n480 CStatusBarCtrl::CStatusBarCtrl()\n481 CStatusCmdUI::CStatusCmdUI()\n482 CStdioFile::CStdioFile(_iobuf *)\n483 CStdioFile::CStdioFile(char const *,unsigned int)\n484 CStdioFile::CStdioFile()\n485 CString::CString(CString const &)\n486 CString::CString(char,int)\n487 CString::CString(char const *)\n488 CString::CString(char const *,int)\n489 CString::CString(unsigned char const *)\n490 CString::CString(unsigned short const *)\n491 CString::CString(unsigned short const *,int)\n492 CString::CString()\n493 CStringArray::CStringArray()\n494 CStringList::CStringList(int)\n495 CSyncObject::CSyncObject(char const *)\n496 CTabCtrl::CTabCtrl()\n497 CTempDC::CTempDC()\n498 CTempGdiObject::CTempGdiObject()\n499 CTempImageList::CTempImageList()\n500 CTempMenu::CTempMenu()\n501 CTempWnd::CTempWnd()\n502 CTestCmdUI::CTestCmdUI()\n503 CThreadData::CThreadData()\n504 CThreadSlotData::CThreadSlotData()\n505 CTime::CTime(_FILETIME const &,int)\n506 CTime::CTime(_SYSTEMTIME const &,int)\n507 CTime::CTime(CTime const &)\n508 CTime::CTime(unsigned short,unsigned short,int)\n509 CTime::CTime(int,int,int,int,int,int,int)\n510 CTime::CTime(long)\n511 CTime::CTime()\n512 CTimeSpan::CTimeSpan(CTimeSpan const &)\n513 CTimeSpan::CTimeSpan(long)\n514 CTimeSpan::CTimeSpan(long,int,int,int)\n515 CTimeSpan::CTimeSpan()\n516 CToolBar::CToolBar()\n517 CToolBarCtrl::CToolBarCtrl()\n518 CToolCmdUI::CToolCmdUI()\n519 CToolTipCtrl::CToolTipCtrl()\n520 CTreeCtrl::CTreeCtrl()\n521 CTreeView::CTreeView()\n522 CTypeLibCache::CTypeLibCache()\n523 CUIntArray::CUIntArray()\n524 CUserException::CUserException(int,unsigned int)\n525 CUserException::CUserException()\n526 CView::CView()\n527 CWaitCursor::CWaitCursor()\n528 CWinApp::CWinApp(char const *)\n529 CWindowDC::CWindowDC(CWnd *)\n530 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n531 CWinThread::CWinThread()\n532 CWnd::CWnd(HWND__ *)\n533 CWnd::CWnd()\n534 CWordArray::CWordArray()\n535 ISequentialStream::ISequentialStream()\n536 IStream::IStream()\n537 CPreviewView::PAGE_INFO::PAGE_INFO()\n538 CEmbeddedButActsLikePtr<CMapPtrToPtr>::~CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n539 CEmbeddedButActsLikePtr<CPtrList>::~CEmbeddedButActsLikePtr<CPtrList>()\n540 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n541 _AFX_CTL3D_STATE::~_AFX_CTL3D_STATE()\n542 _AFX_CTL3D_THREAD::~_AFX_CTL3D_THREAD()\n543 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n544 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n545 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n546 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n547 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n548 _AFX_WIN_STATE::~_AFX_WIN_STATE()\n549 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n550 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n551 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n552 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n553 CAnimateCtrl::~CAnimateCtrl()\n554 CArchive::~CArchive()\n555 CArchiveException::~CArchiveException()\n556 CBitmap::~CBitmap()\n557 CBitmapButton::~CBitmapButton()\n558 CBrush::~CBrush()\n559 CButton::~CButton()\n560 CByteArray::~CByteArray()\n561 CCheckListBox::~CCheckListBox()\n562 CClientDC::~CClientDC()\n563 CCmdTarget::~CCmdTarget()\n564 CColorDialog::~CColorDialog()\n565 CComboBox::~CComboBox()\n566 CComboBoxEx::~CComboBoxEx()\n567 CCommandLineInfo::~CCommandLineInfo()\n568 CCommonDialog::~CCommonDialog()\n569 CControlBar::~CControlBar()\n570 CControlBarInfo::~CControlBarInfo()\n571 CCriticalSection::~CCriticalSection()\n572 CCtrlView::~CCtrlView()\n573 CDC::~CDC()\n574 CDialog::~CDialog()\n575 CDialogBar::~CDialogBar()\n576 CDialogTemplate::~CDialogTemplate()\n577 CDockBar::~CDockBar()\n578 CDockContext::~CDockContext()\n579 CDockState::~CDockState()\n580 CDocManager::~CDocManager()\n581 CDocTemplate::~CDocTemplate()\n582 CDocument::~CDocument()\n583 CDragListBox::~CDragListBox()\n584 CDWordArray::~CDWordArray()\n585 CDynLinkLibrary::~CDynLinkLibrary()\n586 CEdit::~CEdit()\n587 CEditView::~CEditView()\n588 CEvent::~CEvent()\n589 CException::~CException()\n590 CFile::~CFile()\n591 CFileDialog::~CFileDialog()\n592 CFileException::~CFileException()\n593 CFileFind::~CFileFind()\n594 CFindReplaceDialog::~CFindReplaceDialog()\n595 CFixedAlloc::~CFixedAlloc()\n596 CFont::~CFont()\n597 CFontDialog::~CFontDialog()\n598 CFormView::~CFormView()\n599 CFrameWnd::~CFrameWnd()\n600 CFtpConnection::~CFtpConnection()\n601 CFtpFileFind::~CFtpFileFind()\n602 CGdiObject::~CGdiObject()\n603 CGopherConnection::~CGopherConnection()\n604 CGopherFile::~CGopherFile()\n605 CGopherFileFind::~CGopherFileFind()\n606 CGopherLocator::~CGopherLocator()\n607 CHandleMap::~CHandleMap()\n608 CHeaderCtrl::~CHeaderCtrl()\n609 CHotKeyCtrl::~CHotKeyCtrl()\n610 CHttpConnection::~CHttpConnection()\n611 CHttpFile::~CHttpFile()\n612 CImageList::~CImageList()\n613 CInternetConnection::~CInternetConnection()\n614 CInternetException::~CInternetException()\n615 CInternetFile::~CInternetFile()\n616 CInternetSession::~CInternetSession()\n617 CIPAddressCtrl::~CIPAddressCtrl()\n618 CListBox::~CListBox()\n619 CListCtrl::~CListCtrl()\n620 CListView::~CListView()\n621 CMapPtrToPtr::~CMapPtrToPtr()\n622 CMapPtrToWord::~CMapPtrToWord()\n623 CMapStringToOb::~CMapStringToOb()\n624 CMapStringToPtr::~CMapStringToPtr()\n625 CMapStringToString::~CMapStringToString()\n626 CMapWordToOb::~CMapWordToOb()\n627 CMapWordToPtr::~CMapWordToPtr()\n628 CMDIChildWnd::~CMDIChildWnd()\n629 CMDIFrameWnd::~CMDIFrameWnd()\n630 CMemFile::~CMemFile()\n631 CMemoryException::~CMemoryException()\n632 CMenu::~CMenu()\n633 CMetaFileDC::~CMetaFileDC()\n634 CMiniDockFrameWnd::~CMiniDockFrameWnd()\n635 CMiniFrameWnd::~CMiniFrameWnd()\n636 CMirrorFile::~CMirrorFile()\n637 CMultiDocTemplate::~CMultiDocTemplate()\n638 CMultiLock::~CMultiLock()\n639 CMutex::~CMutex()\n640 CNoTrackObject::~CNoTrackObject()\n641 CNotSupportedException::~CNotSupportedException()\n642 CObArray::~CObArray()\n643 CObject::~CObject()\n644 CObList::~CObList()\n645 CPageSetupDialog::~CPageSetupDialog()\n646 CPaintDC::~CPaintDC()\n647 CPalette::~CPalette()\n648 CPen::~CPen()\n649 CPreviewDC::~CPreviewDC()\n650 CPreviewView::~CPreviewView()\n651 CPrintDialog::~CPrintDialog()\n652 CPrintInfo::~CPrintInfo()\n653 CProcessLocalObject::~CProcessLocalObject()\n654 CProgressCtrl::~CProgressCtrl()\n655 CPropertyPage::~CPropertyPage()\n656 CPropertyPageEx::~CPropertyPageEx()\n657 CPropertySheet::~CPropertySheet()\n658 CPropertySheetEx::~CPropertySheetEx()\n659 CPtrArray::~CPtrArray()\n660 CPtrList::~CPtrList()\n661 CPushRoutingFrame::~CPushRoutingFrame()\n662 CPushRoutingView::~CPushRoutingView()\n663 CReBar::~CReBar()\n664 CReBarCtrl::~CReBarCtrl()\n665 CRecentFileList::~CRecentFileList()\n666 CRectTracker::~CRectTracker()\n667 CResourceException::~CResourceException()\n668 CRgn::~CRgn()\n669 CRichEditCtrl::~CRichEditCtrl()\n670 CScrollBar::~CScrollBar()\n671 CScrollView::~CScrollView()\n672 CSemaphore::~CSemaphore()\n673 CSharedFile::~CSharedFile()\n674 CSimpleException::~CSimpleException()\n675 CSingleDocTemplate::~CSingleDocTemplate()\n676 CSingleLock::~CSingleLock()\n677 CSliderCtrl::~CSliderCtrl()\n678 CSpinButtonCtrl::~CSpinButtonCtrl()\n679 CSplitterWnd::~CSplitterWnd()\n680 CStatic::~CStatic()\n681 CStatusBar::~CStatusBar()\n682 CStatusBarCtrl::~CStatusBarCtrl()\n683 CStdioFile::~CStdioFile()\n684 CString::~CString()\n685 CStringArray::~CStringArray()\n686 CStringList::~CStringList()\n687 CSyncObject::~CSyncObject()\n688 CTabCtrl::~CTabCtrl()\n689 CTempDC::~CTempDC()\n690 CTempGdiObject::~CTempGdiObject()\n691 CTempImageList::~CTempImageList()\n692 CTempMenu::~CTempMenu()\n693 CTempWnd::~CTempWnd()\n694 CThreadData::~CThreadData()\n695 CThreadLocalObject::~CThreadLocalObject()\n696 CThreadSlotData::~CThreadSlotData()\n697 CToolBar::~CToolBar()\n698 CToolBarCtrl::~CToolBarCtrl()\n699 CToolTipCtrl::~CToolTipCtrl()\n700 CTreeCtrl::~CTreeCtrl()\n701 CTreeView::~CTreeView()\n702 CUIntArray::~CUIntArray()\n703 CUserException::~CUserException()\n704 CView::~CView()\n705 CWaitCursor::~CWaitCursor()\n706 CWinApp::~CWinApp()\n707 CWindowDC::~CWindowDC()\n708 CWinThread::~CWinThread()\n709 CWnd::~CWnd()\n710 CWordArray::~CWordArray()\n711 void * operator new(unsigned int)\n712 void * operator new(unsigned int,int,char const *,int)\n713 void * operator new(unsigned int,void *)\n714 void * operator new(unsigned int,char const *,int)\n715 void * CNoTrackObject::operator new(unsigned int)\n716 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n717 void * CObject::operator new(unsigned int)\n718 void * CObject::operator new(unsigned int,void *)\n719 void * CObject::operator new(unsigned int,char const *,int)\n720 void * CThreadSlotData::operator new(unsigned int,void *)\n721 void operator delete(void *)\n722 void operator delete(void *,void *)\n723 void operator delete(void *,char const *,int)\n724 void CException::operator delete(void *)\n725 void CException::operator delete(void *,char const *,int)\n726 void CNoTrackObject::operator delete(void *)\n727 void CNoTrackObject::operator delete(void *,char const *,int)\n728 void CObject::operator delete(void *)\n729 void CObject::operator delete(void *,void *)\n730 void CObject::operator delete(void *,char const *,int)\n731 void CArchive::operator=(CArchive const &)\n732 void CDumpContext::operator=(CDumpContext const &)\n733 void CRect::operator=(tagRECT const &)\n734 CString const & CString::operator=(CString const &)\n735 CString const & CString::operator=(char)\n736 CString const & CString::operator=(char const *)\n737 CString const & CString::operator=(unsigned char const *)\n738 CString const & CString::operator=(unsigned short const *)\n739 CTime const & CTime::operator=(CTime const &)\n740 CTime const & CTime::operator=(long)\n741 CTimeSpan const & CTimeSpan::operator=(CTimeSpan const &)\n742 CArchive & operator>>(CArchive &,CByteArray * &)\n743 CArchive & operator>>(CArchive &,CDockState * &)\n744 CArchive & operator>>(CArchive &,CDWordArray * &)\n745 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n746 CArchive & operator>>(CArchive &,CMapStringToString * &)\n747 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n748 CArchive & operator>>(CArchive &,CObArray * &)\n749 CArchive & operator>>(CArchive &,CObject * &)\n750 CArchive & operator>>(CArchive &,CObList * &)\n751 CArchive & operator>>(CArchive &,CStringArray * &)\n752 CArchive & operator>>(CArchive &,CStringList * &)\n753 CArchive & operator>>(CArchive &,CWordArray * &)\n754 CArchive & operator>>(CArchive &,CObject const * &)\n755 CArchive & operator>>(CArchive &,tagPOINT &)\n756 CArchive & operator>>(CArchive &,tagRECT &)\n757 CArchive & operator>>(CArchive &,tagSIZE &)\n758 CArchive & operator>>(CArchive &,CString &)\n759 CArchive & operator>>(CArchive &,CTime &)\n760 CArchive & operator>>(CArchive &,CTimeSpan &)\n761 CArchive & CArchive::operator>>(char &)\n762 CArchive & CArchive::operator>>(unsigned char &)\n763 CArchive & CArchive::operator>>(short &)\n764 CArchive & CArchive::operator>>(unsigned short &)\n765 CArchive & CArchive::operator>>(int &)\n766 CArchive & CArchive::operator>>(unsigned int &)\n767 CArchive & CArchive::operator>>(long &)\n768 CArchive & CArchive::operator>>(unsigned long &)\n769 CArchive & CArchive::operator>>(float &)\n770 CArchive & CArchive::operator>>(double &)\n771 CArchive & operator<<(CArchive &,tagRECT const &)\n772 CArchive & operator<<(CArchive &,CString const &)\n773 CArchive & operator<<(CArchive &,CObject const *)\n774 CArchive & operator<<(CArchive &,tagPOINT)\n775 CArchive & operator<<(CArchive &,tagSIZE)\n776 CArchive & operator<<(CArchive &,CTime)\n777 CArchive & operator<<(CArchive &,CTimeSpan)\n778 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n779 CDumpContext & operator<<(CDumpContext &,CString const &)\n780 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n781 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n782 CDumpContext & operator<<(CDumpContext &,CTime)\n783 CDumpContext & operator<<(CDumpContext &,CTimeSpan)\n784 CArchive & CArchive::operator<<(char)\n785 CArchive & CArchive::operator<<(unsigned char)\n786 CArchive & CArchive::operator<<(short)\n787 CArchive & CArchive::operator<<(unsigned short)\n788 CArchive & CArchive::operator<<(int)\n789 CArchive & CArchive::operator<<(unsigned int)\n790 CArchive & CArchive::operator<<(long)\n791 CArchive & CArchive::operator<<(unsigned long)\n792 CArchive & CArchive::operator<<(float)\n793 CArchive & CArchive::operator<<(double)\n794 CDumpContext & CDumpContext::operator<<(CObject const &)\n795 CDumpContext & CDumpContext::operator<<(unsigned char)\n796 CDumpContext & CDumpContext::operator<<(unsigned short)\n797 CDumpContext & CDumpContext::operator<<(int)\n798 CDumpContext & CDumpContext::operator<<(unsigned int)\n799 CDumpContext & CDumpContext::operator<<(long)\n800 CDumpContext & CDumpContext::operator<<(unsigned long)\n801 CDumpContext & CDumpContext::operator<<(float)\n802 CDumpContext & CDumpContext::operator<<(double)\n803 CDumpContext & CDumpContext::operator<<(char const *)\n804 CDumpContext & CDumpContext::operator<<(unsigned short const *)\n805 CDumpContext & CDumpContext::operator<<(CObject const *)\n806 CDumpContext & CDumpContext::operator<<(void const *)\n807 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n808 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n809 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n810 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n811 int operator==(_GUID const &,_GUID const &)\n812 bool operator==(CString const &,CString const &)\n813 bool operator==(CString const &,char const *)\n814 bool operator==(char const *,CString const &)\n815 int CGdiObject::operator==(CGdiObject const &)const \n816 int CMenu::operator==(CMenu const &)const \n817 int CPoint::operator==(tagPOINT)const \n818 int CRect::operator==(tagRECT const &)const \n819 int CSize::operator==(tagSIZE)const \n820 int CTime::operator==(CTime)const \n821 int CTimeSpan::operator==(CTimeSpan)const \n822 int CWnd::operator==(CWnd const &)const \n823 bool operator!=(CString const &,CString const &)\n824 bool operator!=(CString const &,char const *)\n825 bool operator!=(char const *,CString const &)\n826 int CGdiObject::operator!=(CGdiObject const &)const \n827 int CMenu::operator!=(CMenu const &)const \n828 int CPoint::operator!=(tagPOINT)const \n829 int CRect::operator!=(tagRECT const &)const \n830 int CSize::operator!=(tagSIZE)const \n831 int CTime::operator!=(CTime)const \n832 int CTimeSpan::operator!=(CTimeSpan)const \n833 int CWnd::operator!=(CWnd const &)const \n834 unsigned char & CByteArray::operator[](int)\n835 unsigned char CByteArray::operator[](int)const \n836 unsigned long & CDWordArray::operator[](int)\n837 unsigned long CDWordArray::operator[](int)const \n838 void * & CMapPtrToPtr::operator[](void *)\n839 unsigned short & CMapPtrToWord::operator[](void *)\n840 CObject * & CMapStringToOb::operator[](char const *)\n841 void * & CMapStringToPtr::operator[](char const *)\n842 CString & CMapStringToString::operator[](char const *)\n843 CObject * & CMapWordToOb::operator[](unsigned short)\n844 void * & CMapWordToPtr::operator[](unsigned short)\n845 CObject * & CObArray::operator[](int)\n846 CObject * CObArray::operator[](int)const \n847 void * & CPtrArray::operator[](int)\n848 void * CPtrArray::operator[](int)const \n849 CString & CRecentFileList::operator[](int)\n850 char CString::operator[](int)const \n851 CString & CStringArray::operator[](int)\n852 CString CStringArray::operator[](int)const \n853 unsigned int & CUIntArray::operator[](int)\n854 unsigned int CUIntArray::operator[](int)const \n855 unsigned short & CWordArray::operator[](int)\n856 unsigned short CWordArray::operator[](int)const \n857 CEmbeddedButActsLikePtr<CPtrList>::operator CPtrList *()\n858 CTypedSimpleList<CRuntime*>::operator CRuntime*()\n859 CTypedSimpleList<CThreadData *>::operator CThreadData *()\n860 CTypedSimpleList<CDynLinkLibrary *>::operator CDynLinkLibrary *()\n861 CTypedSimpleList<CFrameWnd *>::operator CFrameWnd *()\n862 CBitmap::operator HBITMAP__ *()const \n863 CBrush::operator HBRUSH__ *()const \n864 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n865 CDC::operator HDC__ *()const \n866 CFile::operator int()const \n867 CFont::operator HFONT__ *()const \n868 CGdiObject::operator void *()const \n869 CGopherLocator::operator char const *()const \n870 CImageList::operator _IMAGELIST *()const \n871 CInternetConnection::operator void *()const \n872 CInternetFile::operator void *()const \n873 CInternetSession::operator void *()const \n874 CMenu::operator HMENU__ *()const \n875 CPalette::operator HPALETTE__ *()const \n876 CPen::operator HPEN__ *()const \n877 CRect::operator tagRECT *()\n878 CRect::operator tagRECT const *()const \n879 CRgn::operator HRGN__ *()const \n880 CString::operator char const *()const \n881 CSyncObject::operator void *()const \n882 CWinThread::operator void *()const \n883 CWnd::operator HWND__ *()const \n884 CPtrList * CEmbeddedButActsLikePtr<CPtrList>::operator->()\n885 CPoint CPoint::operator-(tagSIZE)const \n886 CPoint CPoint::operator-()const \n887 CRect CPoint::operator-(tagRECT const *)const \n888 CSize CPoint::operator-(tagPOINT)const \n889 CRect CRect::operator-(tagRECT const *)const \n890 CRect CRect::operator-(tagPOINT)const \n891 CRect CRect::operator-(tagSIZE)const \n892 CSize CSize::operator-(tagSIZE)const \n893 CSize CSize::operator-()const \n894 CPoint CSize::operator-(tagPOINT)const \n895 CRect CSize::operator-(tagRECT const *)const \n896 CTime CTime::operator-(CTimeSpan)const \n897 CTimeSpan CTime::operator-(CTime)const \n898 CTimeSpan CTimeSpan::operator-(CTimeSpan)const \n899 CString operator+(CString const &,CString const &)\n900 CString operator+(CString const &,char)\n901 CString operator+(CString const &,char const *)\n902 CString operator+(char,CString const &)\n903 CString operator+(char const *,CString const &)\n904 CPoint CPoint::operator+(tagPOINT)const \n905 CPoint CPoint::operator+(tagSIZE)const \n906 CRect CPoint::operator+(tagRECT const *)const \n907 CRect CRect::operator+(tagRECT const *)const \n908 CRect CRect::operator+(tagPOINT)const \n909 CRect CRect::operator+(tagSIZE)const \n910 CSize CSize::operator+(tagSIZE)const \n911 CPoint CSize::operator+(tagPOINT)const \n912 CRect CSize::operator+(tagRECT const *)const \n913 CTime CTime::operator+(CTimeSpan)const \n914 CTimeSpan CTimeSpan::operator+(CTimeSpan)const \n915 CRect CRect::operator&(tagRECT const &)const \n916 bool operator<(CString const &,CString const &)\n917 bool operator<(CString const &,char const *)\n918 bool operator<(char const *,CString const &)\n919 int CTime::operator<(CTime)const \n920 int CTimeSpan::operator<(CTimeSpan)const \n921 bool operator<=(CString const &,CString const &)\n922 bool operator<=(CString const &,char const *)\n923 bool operator<=(char const *,CString const &)\n924 int CTime::operator<=(CTime)const \n925 int CTimeSpan::operator<=(CTimeSpan)const \n926 bool operator>(CString const &,CString const &)\n927 bool operator>(CString const &,char const *)\n928 bool operator>(char const *,CString const &)\n929 int CTime::operator>(CTime)const \n930 int CTimeSpan::operator>(CTimeSpan)const \n931 bool operator>=(CString const &,CString const &)\n932 bool operator>=(CString const &,char const *)\n933 bool operator>=(char const *,CString const &)\n934 int CTime::operator>=(CTime)const \n935 int CTimeSpan::operator>=(CTimeSpan)const \n936 CRect CRect::operator|(tagRECT const &)const \n937 void CPoint::operator+=(tagPOINT)\n938 void CPoint::operator+=(tagSIZE)\n939 void CRect::operator+=(tagRECT const *)\n940 void CRect::operator+=(tagPOINT)\n941 void CRect::operator+=(tagSIZE)\n942 void CSize::operator+=(tagSIZE)\n943 CString const & CString::operator+=(CString const &)\n944 CString const & CString::operator+=(char)\n945 CString const & CString::operator+=(char const *)\n946 CTime const & CTime::operator+=(CTimeSpan)\n947 CTimeSpan const & CTimeSpan::operator+=(CTimeSpan)\n948 void CPoint::operator-=(tagPOINT)\n949 void CPoint::operator-=(tagSIZE)\n950 void CRect::operator-=(tagRECT const *)\n951 void CRect::operator-=(tagPOINT)\n952 void CRect::operator-=(tagSIZE)\n953 void CSize::operator-=(tagSIZE)\n954 CTime const & CTime::operator-=(CTimeSpan)\n955 CTimeSpan const & CTimeSpan::operator-=(CTimeSpan)\n956 int _AfxAbortProc(HDC__ *,int)\n957 int const _afxDBCS\n958 int _AfxDeleteRegKey(char const *)\n959 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n960 int _mbstowcsz(unsigned short *,char const *,unsigned int)\n961 int _wcstombsz(char *,unsigned short const *,unsigned int)\n962 char const * A2CT(char const *)\n963 char * A2T(char *)\n964 void CArchive::Abort()\n965 void CFile::Abort()\n966 void CInternetFile::Abort()\n967 void CMemFile::Abort()\n968 void CMirrorFile::Abort()\n969 void CStdioFile::Abort()\n970 int CDC::AbortDoc()\n971 int CDC::AbortPath()\n972 void CToolTipCtrl::Activate(int)\n973 void CFrameWnd::ActivateFrame(int)\n974 void CMDIChildWnd::ActivateFrame(int)\n975 void CSplitterWnd::ActivateNext(int)\n976 void CWnd::ActivateTopParent()\n977 int CByteArray::Add(unsigned char)\n978 int CDWordArray::Add(unsigned long)\n979 int CImageList::Add(HICON__ *)\n980 int CImageList::Add(CBitmap *,CBitmap *)\n981 int CImageList::Add(CBitmap *,unsigned long)\n982 int CObArray::Add(CObject *)\n983 int CPtrArray::Add(void *)\n984 void CRecentFileList::Add(char const *)\n985 int CStringArray::Add(CString const &)\n986 int CStringArray::Add(char const *)\n987 int CUIntArray::Add(unsigned int)\n988 int CWordArray::Add(unsigned short)\n989 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n990 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n991 int CToolBarCtrl::AddBitmap(int,unsigned int)\n992 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n993 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n994 void CFrameWnd::AddControlBar(CControlBar *)\n995 void CDocManager::AddDocTemplate(CDocTemplate *)\n996 void CWinApp::AddDocTemplate(CDocTemplate *)\n997 void CDocTemplate::AddDocument(CDocument *)\n998 void CMultiDocTemplate::AddDocument(CDocument *)\n999 void CSingleDocTemplate::AddDocument(CDocument *)\n1000 void CFrameWnd::AddFrameWnd()\n1001 void CTypedSimpleList<CRuntime*>::AddHead(CRuntime*)\n1002 void CTypedSimpleList<CThreadData *>::AddHead(CThreadData *)\n1003 void CTypedSimpleList<CDynLinkLibrary *>::AddHead(CDynLinkLibrary *)\n1004 void CTypedSimpleList<CFrameWnd *>::AddHead(CFrameWnd *)\n1005 __POSITION * CObList::AddHead(CObject *)\n1006 void CObList::AddHead(CObList *)\n1007 __POSITION * CPtrList::AddHead(void *)\n1008 void CPtrList::AddHead(CPtrList *)\n1009 void CSimpleList::AddHead(void *)\n1010 __POSITION * CStringList::AddHead(CString const &)\n1011 __POSITION * CStringList::AddHead(char const *)\n1012 void CStringList::AddHead(CStringList *)\n1013 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1014 void CPropertySheet::AddPage(CPropertyPage *)\n1015 void CPropertySheetEx::AddPage(CPropertyPageEx *)\n1016 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1017 int CHttpFile::AddRequestHeaders(CString &,unsigned long)\n1018 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1019 int CComboBox::AddString(char const *)\n1020 int CComboBoxEx::AddString(char const *)\n1021 int CListBox::AddString(char const *)\n1022 int CToolBarCtrl::AddString(unsigned int)\n1023 int CToolBarCtrl::AddStrings(char const *)\n1024 __POSITION * CObList::AddTail(CObject *)\n1025 void CObList::AddTail(CObList *)\n1026 __POSITION * CPtrList::AddTail(void *)\n1027 void CPtrList::AddTail(CPtrList *)\n1028 __POSITION * CStringList::AddTail(CString const &)\n1029 __POSITION * CStringList::AddTail(char const *)\n1030 void CStringList::AddTail(CStringList *)\n1031 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1032 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1033 void CWinApp::AddToRecentFileList(char const *)\n1034 void CDocument::AddView(CView *)\n1035 void CMetaFileDC::AdjustCP(int)\n1036 void CRectTracker::AdjustRect(int,tagRECT *)\n1037 void CTabCtrl::AdjustRect(int,tagRECT *)\n1038 unsigned short * AfxA2WHelper(unsigned short *,char const *,int)\n1039 void AfxAbort()\n1040 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1041 int AfxAssertFailedLine(char const *,int)\n1042 void AfxAssertValidObject(CObject const *,char const *,int)\n1043 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1044 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1045 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1046 void AfxCancelModes(HWND__ *)\n1047 int AfxCheckMemory()\n1048 void AfxClassInit(CRuntime*)\n1049 int AfxComparePath(char const *,char const *)\n1050 void AfxCoreInitModule()\n1051 HDC__ * AfxCreateDC(void *,void *)\n1052 int AfxCriticalInit()\n1053 int AfxCriticalNewHandler(unsigned int)\n1054 void AfxCriticalTerm()\n1055 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1056 AUX_DATA afxData\n1057 void AfxDeleteObject(void * *)\n1058 long AfxDelRegTreeHelper(HKEY__ *,CString const &)\n1059 int AfxDiagnosticInit()\n1060 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1061 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1062 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1063 CDumpContext afxDump\n1064 void AfxDump(CObject const *)\n1065 int AfxDumpMemoryLeaks()\n1066 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1067 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1068 int AfxEnableMemoryTracking(int)\n1069 void AfxEnableWin31Compatibility()\n1070 void AfxEnableWin40Compatibility()\n1071 int AfxEndDeferRegisterClass(long)\n1072 void AfxEndThread(unsigned int,int)\n1073 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1074 int AfxExtractSubString(CString &,char const *,int,char)\n1075 void AfxFailMaxChars(CDataExchange *,int)\n1076 void AfxFailRadio(CDataExchange *)\n1077 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1078 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1079 void AfxFormatString1(CString &,unsigned int,char const *)\n1080 void AfxFormatString2(CString &,unsigned int,char const *,char const *)\n1081 void AfxFormatStrings(CString &,unsigned int,char const * const *,int)\n1082 void AfxFormatStrings(CString &,char const *,char const * const *,int)\n1083 int AfxFreeLibrary(HINSTANCE__ *)\n1084 void AfxFreeMemoryDebug(void *,int)\n1085 int AfxFullPath(char *,char const *)\n1086 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1087 CWinApp * AfxGetApp()\n1088 AFX_MODULE_STATE * AfxGetAppModuleState()\n1089 char const * AfxGetAppName()\n1090 _AFX_CTL3D_STATE * AfxGetCtl3dState()\n1091 CString const & AfxGetEmptyString()\n1092 AFX_EXCEPTION_CONTEXT * AfxGetExceptionContext()\n1093 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1094 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1095 int AfxGetInProcServer(char const *,CString &)\n1096 HINSTANCE__ * AfxGetInstanceHandle()\n1097 unsigned long AfxGetInternetHandleType(void *)\n1098 CWnd * AfxGetMainWnd()\n1099 void AfxGetModuleShortFileName(HINSTANCE__ *,CString &)\n1100 AFX_MODULE_STATE * AfxGetModuleState()\n1101 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1102 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1103 HWND__ * AfxGetParentOwner(HWND__ *)\n1104 int AfxGetPropSheetFont(CString &,unsigned short &,int)\n1105 HINSTANCE__ * AfxGetResourceHandle()\n1106 HINSTANCE__ * AfxGetResourceHandleCompat()\n1107 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1108 void AfxGetRoot(char const *,CString &)\n1109 CWinThread * AfxGetThread()\n1110 _AFX_THREAD_STATE * AfxGetThreadState()\n1111 void AfxGlobalFree(void *)\n1112 int AfxHelpEnabled()\n1113 void AfxHookWindowCreate(CWnd *)\n1114 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1115 void AfxInitLocalData(HINSTANCE__ *)\n1116 int AfxInitRichEdit()\n1117 void AfxInitThread()\n1118 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1119 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1120 int AfxIsDescendant(HWND__ *,HWND__ *)\n1121 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1122 int AfxIsValidAddress(void const *,unsigned int,int)\n1123 int AfxIsValidString(char const *,int)\n1124 int AfxIsValidString(unsigned short const *,int)\n1125 HINSTANCE__ * AfxLoadLibrary(char const *)\n1126 int AfxLoadString(unsigned int,char *,unsigned int)\n1127 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1128 void AfxLockGlobals(int)\n1129 void AfxLockTempMaps()\n1130 CHandleMap * afxMapHDC(int)\n1131 CHandleMap * afxMapHGDIOBJ(int)\n1132 CHandleMap * afxMapHIMAGELIST(int)\n1133 CHandleMap * afxMapHMENU(int)\n1134 CHandleMap * afxMapHWND(int)\n1135 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1136 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1137 int AfxNewHandler(unsigned int)\n1138 int AfxOleCanExitApp()\n1139 COleMessageFilter * AfxOleGetMessageFilter()\n1140 int AfxOleGetUserCtrl()\n1141 void AfxOleLockApp()\n1142 void AfxOleOnReleaseAllObjects()\n1143 void AfxOleSetUserCtrl(int)\n1144 void AfxOleUnlockApp()\n1145 int AfxParseURL(char const *,unsigned long &,CString &,CString &,unsigned short &)\n1146 int AfxParseURLEx(char const *,unsigned long &,CString &,CString &,unsigned short &,CString &,CString &,unsigned long)\n1147 void AfxPostQuitMessage(int)\n1148 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1149 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1150 int AfxRegisterClass(tagWNDCLASSA *)\n1151 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1152 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1153 void AfxResetMsgCache()\n1154 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1155 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1156 void AfxSetAllocStop(long)\n1157 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1158 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1159 void AfxSetResourceHandle(HINSTANCE__ *)\n1160 void AfxSetWindowText(HWND__ *,char const *)\n1161 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1162 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1163 CString AfxStringFromCLSID(_GUID const &)\n1164 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1165 void AfxTermLocalData(HINSTANCE__ *,int)\n1166 void AfxTermThread(HINSTANCE__ *)\n1167 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1168 void AfxThrowArchiveException(int,char const *)\n1169 void AfxThrowFileException(int,long,char const *)\n1170 void AfxThrowInternetException(unsigned long,unsigned long)\n1171 void AfxThrowLastCleanup()\n1172 void AfxThrowMemoryException()\n1173 void AfxThrowNotSupportedException()\n1174 void AfxThrowResourceException()\n1175 void AfxThrowUserException()\n1176 void AfxTimeToFileTime(CTime const &,_FILETIME *)\n1177 void AfxTlsAddRef()\n1178 void AfxTlsRelease()\n1179 void AfxTrace(char const *,...)\n1180 int afxTraceEnabled\n1181 unsigned int afxTraceFlags\n1182 void AfxTrackerTerm()\n1183 void AfxTryCleanup()\n1184 int AfxUnhookWindowCreate()\n1185 void AfxUnlockGlobals(int)\n1186 int AfxUnlockTempMaps(int)\n1187 char * AfxW2AHelper(char *,unsigned short const *,int)\n1188 void AfxWingdixTerm()\n1189 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1190 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1191 void AfxWinTerm()\n1192 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1193 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1194 void * CFixedAlloc::Alloc()\n1195 unsigned char * CMemFile::Alloc(unsigned long)\n1196 unsigned char * CSharedFile::Alloc(unsigned long)\n1197 void CString::AllocBeforeWrite(int)\n1198 void CString::AllocBuffer(int)\n1199 void CString::AllocCopy(CString &,int,int,int)const \n1200 int CControlBar::AllocElements(int,int)\n1201 int CStatusBar::AllocElements(int,int)\n1202 int CThreadSlotData::AllocSlot()\n1203 int CDC::AngleArc(int,int,int,float,float)\n1204 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1205 int CByteArray::Append(CByteArray const &)\n1206 int CDWordArray::Append(CDWordArray const &)\n1207 int CObArray::Append(CObArray const &)\n1208 int CPtrArray::Append(CPtrArray const &)\n1209 int CStringArray::Append(CStringArray const &)\n1210 int CUIntArray::Append(CUIntArray const &)\n1211 int CWordArray::Append(CWordArray const &)\n1212 int CMenu::AppendMenuA(unsigned int,unsigned int,char const *)\n1213 int CMenu::AppendMenuA(unsigned int,unsigned int,CBitmap const *)\n1214 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1215 int CDC::Arc(int,int,int,int,int,int,int,int)\n1216 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1217 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1218 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1219 int CListCtrl::Arrange(unsigned int)\n1220 unsigned int CWnd::ArrangeIconicWindows()\n1221 void CBitmapButton::AssertValid()const \n1222 void CByteArray::AssertValid()const \n1223 void CClientDC::AssertValid()const \n1224 void CCmdTarget::AssertValid()const \n1225 void CControlBar::AssertValid()const \n1226 void CCtrlView::AssertValid()const \n1227 void CDC::AssertValid()const \n1228 void CDialog::AssertValid()const \n1229 void CDockBar::AssertValid()const \n1230 void CDocManager::AssertValid()const \n1231 void CDocTemplate::AssertValid()const \n1232 void CDocument::AssertValid()const \n1233 void CDWordArray::AssertValid()const \n1234 void CDynLinkLibrary::AssertValid()const \n1235 void CEditView::AssertValid()const \n1236 void CFile::AssertValid()const \n1237 void CFileFind::AssertValid()const \n1238 void CFormView::AssertValid()const \n1239 void CFrameWnd::AssertValid()const \n1240 void CFtpConnection::AssertValid()const \n1241 void CFtpFileFind::AssertValid()const \n1242 void CGdiObject::AssertValid()const \n1243 void CGopherConnection::AssertValid()const \n1244 void CGopherFile::AssertValid()const \n1245 void CGopherFileFind::AssertValid()const \n1246 void CHttpConnection::AssertValid()const \n1247 void CHttpFile::AssertValid()const \n1248 void CImageList::AssertValid()const \n1249 void CInternetConnection::AssertValid()const \n1250 void CInternetFile::AssertValid()const \n1251 void CMapPtrToPtr::AssertValid()const \n1252 void CMapPtrToWord::AssertValid()const \n1253 void CMapStringToOb::AssertValid()const \n1254 void CMapStringToPtr::AssertValid()const \n1255 void CMapStringToString::AssertValid()const \n1256 void CMapWordToOb::AssertValid()const \n1257 void CMapWordToPtr::AssertValid()const \n1258 void CMDIChildWnd::AssertValid()const \n1259 void CMDIFrameWnd::AssertValid()const \n1260 void CMemFile::AssertValid()const \n1261 void CMenu::AssertValid()const \n1262 void CMultiDocTemplate::AssertValid()const \n1263 void CObArray::AssertValid()const \n1264 void CObject::AssertValid()const \n1265 void CObList::AssertValid()const \n1266 void CPaintDC::AssertValid()const \n1267 void CPreviewDC::AssertValid()const \n1268 void CPreviewView::AssertValid()const \n1269 void CPropertyPage::AssertValid()const \n1270 void CPropertyPageEx::AssertValid()const \n1271 void CPropertySheet::AssertValid()const \n1272 void CPropertySheetEx::AssertValid()const \n1273 void CPtrArray::AssertValid()const \n1274 void CPtrList::AssertValid()const \n1275 void CScrollView::AssertValid()const \n1276 void CSingleDocTemplate::AssertValid()const \n1277 void CSplitterWnd::AssertValid()const \n1278 void CStatusBar::AssertValid()const \n1279 void CStringArray::AssertValid()const \n1280 void CStringList::AssertValid()const \n1281 void CSyncObject::AssertValid()const \n1282 void CToolBar::AssertValid()const \n1283 void CUIntArray::AssertValid()const \n1284 void CView::AssertValid()const \n1285 void CWinApp::AssertValid()const \n1286 void CWindowDC::AssertValid()const \n1287 void CWinThread::AssertValid()const \n1288 void CWnd::AssertValid()const \n1289 void CWordArray::AssertValid()const \n1290 void CString::AssignCopy(int,char const *)\n1291 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1292 unsigned short * AtlA2WHelper(unsigned short *,char const *,int)\n1293 unsigned short * AtlA2WHelper(unsigned short *,char const *,int,unsigned int)\n1294 int CDC::Attach(HDC__ *)\n1295 int CGdiObject::Attach(void *)\n1296 int CImageList::Attach(_IMAGELIST *)\n1297 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1298 int CMenu::Attach(HMENU__ *)\n1299 int CWnd::Attach(HWND__ *)\n1300 void COleControlContainer::AttachControlSite(CWnd *)\n1301 void CWnd::AttachControlSite(CHandleMap *)\n1302 void CWnd::AttachControlSite(CWnd *)\n1303 CPrintDialog * CPrintDialog::AttachOnSetup()\n1304 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1305 void CToolBarCtrl::AutoSize()\n1306 int CDragListBox::BeginDrag(CPoint)\n1307 int CImageList::BeginDrag(int,CPoint)\n1308 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1309 void CFrameWnd::BeginModalState()\n1310 void CWnd::BeginModalState()\n1311 CDC * CWnd::BeginPaint(tagPAINT*)\n1312 int CDC::BeginPath()\n1313 void CCmdTarget::BeginWaitCursor()\n1314 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1315 void CWnd::BindProperty(long,CWnd *)\n1316 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1317 CPoint & CRect::BottomRight()\n1318 CPoint const & CRect::BottomRight()const \n1319 void CFrameWnd::BringToTop(int)\n1320 void CWnd::BringWindowToTop()\n1321 void CPropertySheet::BuildPropPageArray()\n1322 void CPropertySheetEx::BuildPropPageArray()\n1323 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1324 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1325 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1326 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1327 CSize CControlBar::CalcFixedLayout(int,int)\n1328 CSize CDialogBar::CalcFixedLayout(int,int)\n1329 CSize CDockBar::CalcFixedLayout(int,int)\n1330 CSize CReBar::CalcFixedLayout(int,int)\n1331 CSize CStatusBar::CalcFixedLayout(int,int)\n1332 CSize CToolBar::CalcFixedLayout(int,int)\n1333 void CControlBar::CalcInsideRect(CRect &,int)const \n1334 void CStatusBar::CalcInsideRect(CRect &,int)const \n1335 CSize CToolBar::CalcLayout(unsigned long,int)\n1336 int CCheckListBox::CalcMinimumItemHeight()\n1337 CSize CPreviewView::CalcPageDisplaySize()\n1338 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1339 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1340 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1341 void CMiniFrameWnd::CalcWindowRect(tagRECT *,unsigned int)\n1342 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1343 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1344 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1345 int CSplitterWnd::CanActivateNext(int)\n1346 void CDragListBox::CancelDrag(CPoint)\n1347 void CDockContext::CancelLoop()\n1348 void CPropertyPage::CancelToClose()\n1349 void CWnd::CancelToolTips(int)\n1350 int CDocument::CanCloseFrame(CFrameWnd *)\n1351 unsigned long CDockContext::CanDock()\n1352 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1353 int CFrameWnd::CanEnterHelpMode()\n1354 int CRichEditCtrl::CanPaste(unsigned int)const \n1355 int CEdit::CanUndo()const \n1356 int CRichEditCtrl::CanUndo()const \n1357 void CScrollView::CenterOnPoint(CPoint)\n1358 CPoint CRect::CenterPoint()const \n1359 void CWnd::CenterWindow(CWnd *)\n1360 int CWnd::ChangeClipboardChain(HWND__ *)\n1361 int CEdit::CharFromPos(CPoint)const \n1362 int CListBox::CharToItem(unsigned int,unsigned int)\n1363 void CString::CharToOemA()\n1364 int CDialog::CheckAutoCenter()\n1365 int CWnd::CheckAutoCenter()\n1366 int CToolBarCtrl::CheckButton(int,int)\n1367 void CArchive::CheckCount()\n1368 void CWnd::CheckDlgButton(int,unsigned int)\n1369 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1370 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1371 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1372 void CMemoryState::Checkpoint()\n1373 void CWnd::CheckRadioButton(int,int,int)\n1374 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1375 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1376 int CDC::Chord(int,int,int,int,int,int,int,int)\n1377 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1378 CRuntimeconst CAnimateCtrl::classCAnimateCtrl\n1379 CRuntimeconst CArchiveException::classCArchiveException\n1380 CRuntimeconst CBitmap::classCBitmap\n1381 CRuntimeconst CBitmapButton::classCBitmapButton\n1382 CRuntimeconst CBrush::classCBrush\n1383 CRuntimeconst CButton::classCButton\n1384 CRuntimeCByteArray::classCByteArray\n1385 CRuntimeconst CCheckListBox::classCCheckListBox\n1386 CRuntimeconst CClientDC::classCClientDC\n1387 CRuntimeconst CCmdTarget::classCCmdTarget\n1388 CRuntimeconst CColorDialog::classCColorDialog\n1389 CRuntimeconst CComboBox::classCComboBox\n1390 CRuntimeconst CComboBoxEx::classCComboBoxEx\n1391 CRuntimeconst CControlBar::classCControlBar\n1392 CRuntimeconst CCriticalSection::classCCriticalSection\n1393 CRuntimeconst CCtrlView::classCCtrlView\n1394 CRuntimeconst CDC::classCDC\n1395 CRuntimeconst CDialog::classCDialog\n1396 CRuntimeconst CDialogBar::classCDialogBar\n1397 CRuntimeconst CDockBar::classCDockBar\n1398 CRuntimeCDockState::classCDockState\n1399 CRuntimeconst CDocManager::classCDocManager\n1400 CRuntimeconst CDocTemplate::classCDocTemplate\n1401 CRuntimeconst CDocument::classCDocument\n1402 CRuntimeconst CDragListBox::classCDragListBox\n1403 CRuntimeCDWordArray::classCDWordArray\n1404 CRuntimeconst CDynLinkLibrary::classCDynLinkLibrary\n1405 CRuntimeconst CEdit::classCEdit\n1406 CRuntimeconst CEditView::classCEditView\n1407 CRuntimeconst CEvent::classCEvent\n1408 CRuntimeconst CException::classCException\n1409 CRuntimeconst CFile::classCFile\n1410 CRuntimeconst CFileDialog::classCFileDialog\n1411 CRuntimeconst CFileException::classCFileException\n1412 CRuntimeconst CFileFind::classCFileFind\n1413 CRuntimeconst CFindReplaceDialog::classCFindReplaceDialog\n1414 CRuntimeconst CFont::classCFont\n1415 CRuntimeconst CFontDialog::classCFontDialog\n1416 CRuntimeconst CFormView::classCFormView\n1417 CRuntimeconst CFrameWnd::classCFrameWnd\n1418 CRuntimeconst CGdiObject::classCGdiObject\n1419 CRuntimeconst CHeaderCtrl::classCHeaderCtrl\n1420 CRuntimeconst CHotKeyCtrl::classCHotKeyCtrl\n1421 CRuntimeconst CImageList::classCImageList\n1422 CRuntimeconst CInternetException::classCInternetException\n1423 CRuntimeconst CIPAddressCtrl::classCIPAddressCtrl\n1424 CRuntimeconst CListBox::classCListBox\n1425 CRuntimeconst CListCtrl::classCListCtrl\n1426 CRuntimeconst CListView::classCListView\n1427 CRuntimeconst CMapPtrToPtr::classCMapPtrToPtr\n1428 CRuntimeconst CMapPtrToWord::classCMapPtrToWord\n1429 CRuntimeCMapStringToOb::classCMapStringToOb\n1430 CRuntimeconst CMapStringToPtr::classCMapStringToPtr\n1431 CRuntimeCMapStringToString::classCMapStringToString\n1432 CRuntimeCMapWordToOb::classCMapWordToOb\n1433 CRuntimeconst CMapWordToPtr::classCMapWordToPtr\n1434 CRuntimeconst CMDIChildWnd::classCMDIChildWnd\n1435 CRuntimeconst CMDIFrameWnd::classCMDIFrameWnd\n1436 CRuntimeconst CMemFile::classCMemFile\n1437 CRuntimeconst CMemoryException::classCMemoryException\n1438 CRuntimeconst CMenu::classCMenu\n1439 CRuntimeconst CMetaFileDC::classCMetaFileDC\n1440 CRuntimeconst CMiniDockFrameWnd::classCMiniDockFrameWnd\n1441 CRuntimeconst CMiniFrameWnd::classCMiniFrameWnd\n1442 CRuntimeconst CMultiDocTemplate::classCMultiDocTemplate\n1443 CRuntimeconst CMutex::classCMutex\n1444 CRuntimeconst CNotSupportedException::classCNotSupportedException\n1445 CRuntimeCObArray::classCObArray\n1446 CRuntimeconst CObject::classCObject\n1447 CRuntimeCObList::classCObList\n1448 CRuntimeconst CPageSetupDialog::classCPageSetupDialog\n1449 CRuntimeconst CPaintDC::classCPaintDC\n1450 CRuntimeconst CPalette::classCPalette\n1451 CRuntimeconst CPen::classCPen\n1452 CRuntimeconst CPreviewDC::classCPreviewDC\n1453 CRuntimeconst CPreviewView::classCPreviewView\n1454 CRuntimeconst CPrintDialog::classCPrintDialog\n1455 CRuntimeconst CProgressCtrl::classCProgressCtrl\n1456 CRuntimeconst CPropertyPage::classCPropertyPage\n1457 CRuntimeconst CPropertyPageEx::classCPropertyPageEx\n1458 CRuntimeconst CPropertySheet::classCPropertySheet\n1459 CRuntimeconst CPropertySheetEx::classCPropertySheetEx\n1460 CRuntimeconst CPtrArray::classCPtrArray\n1461 CRuntimeconst CPtrList::classCPtrList\n1462 CRuntimeconst CReBar::classCReBar\n1463 CRuntimeconst CReBarCtrl::classCReBarCtrl\n1464 CRuntimeconst CResourceException::classCResourceException\n1465 CRuntimeconst CRgn::classCRgn\n1466 CRuntimeconst CRichEditCtrl::classCRichEditCtrl\n1467 CRuntimeconst CScrollBar::classCScrollBar\n1468 CRuntimeconst CScrollView::classCScrollView\n1469 CRuntimeconst CSemaphore::classCSemaphore\n1470 CRuntimeconst CSharedFile::classCSharedFile\n1471 CRuntimeconst CSingleDocTemplate::classCSingleDocTemplate\n1472 CRuntimeconst CSliderCtrl::classCSliderCtrl\n1473 CRuntimeconst CSpinButtonCtrl::classCSpinButtonCtrl\n1474 CRuntimeconst CSplitterWnd::classCSplitterWnd\n1475 CRuntimeconst CStatic::classCStatic\n1476 CRuntimeconst CStatusBar::classCStatusBar\n1477 CRuntimeconst CStatusBarCtrl::classCStatusBarCtrl\n1478 CRuntimeconst CStdioFile::classCStdioFile\n1479 CRuntimeCStringArray::classCStringArray\n1480 CRuntimeCStringList::classCStringList\n1481 CRuntimeconst CSyncObject::classCSyncObject\n1482 CRuntimeconst CTabCtrl::classCTabCtrl\n1483 CRuntimeconst CToolBar::classCToolBar\n1484 CRuntimeconst CToolBarCtrl::classCToolBarCtrl\n1485 CRuntimeconst CToolTipCtrl::classCToolTipCtrl\n1486 CRuntimeconst CTreeCtrl::classCTreeCtrl\n1487 CRuntimeconst CTreeView::classCTreeView\n1488 CRuntimeconst CUIntArray::classCUIntArray\n1489 CRuntimeconst CUserException::classCUserException\n1490 CRuntimeconst CView::classCView\n1491 CRuntimeconst CWinApp::classCWinApp\n1492 CRuntimeconst CWindowDC::classCWindowDC\n1493 CRuntimeconst CWinThread::classCWinThread\n1494 CRuntimeconst CWnd::classCWnd\n1495 CRuntimeCWordArray::classCWordArray\n1496 void CPropertyPage::Cleanup()\n1497 void CComboBox::Clear()\n1498 void CDockState::Clear()\n1499 void CEdit::Clear()\n1500 void CRichEditCtrl::Clear()\n1501 void CIPAddressCtrl::ClearAddress()\n1502 void CSliderCtrl::ClearSel(int)\n1503 void CSliderCtrl::ClearTics(int)\n1504 void CWnd::ClientToScreen(tagPOINT *)const \n1505 void CWnd::ClientToScreen(tagRECT *)const \n1506 void CPreviewDC::ClipToPage()\n1507 long CArchiveStream::Clone(IStream * *)\n1508 int CAnimateCtrl::Close()\n1509 void CArchive::Close()\n1510 void CFile::Close()\n1511 void CFileFind::Close()\n1512 void CFtpConnection::Close()\n1513 void CGopherConnection::Close()\n1514 void CGopherFile::Close()\n1515 void CHttpConnection::Close()\n1516 void CHttpFile::Close()\n1517 void CInternetConnection::Close()\n1518 void CInternetFile::Close()\n1519 void CInternetSession::Close()\n1520 void CMemFile::Close()\n1521 HMETAFILE__ * CMetaFileDC::Close()\n1522 void CMirrorFile::Close()\n1523 void CStdioFile::Close()\n1524 void CDocManager::CloseAllDocuments(int)\n1525 void CDocTemplate::CloseAllDocuments(int)\n1526 void CWinApp::CloseAllDocuments(int)\n1527 void CFileFind::CloseContext()\n1528 void CFtpFileFind::CloseContext()\n1529 void CGopherFileFind::CloseContext()\n1530 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n1531 int CDC::CloseFigure()\n1532 void CWnd::CloseWindow()\n1533 int CString::Collate(char const *)const \n1534 int CString::CollateNoCase(char const *)const \n1535 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n1536 AFX_OLECMDMAP const CCmdTarget::commandMap\n1537 int CStatusBar::CommandToIndex(unsigned int)const \n1538 int CToolBar::CommandToIndex(unsigned int)const \n1539 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n1540 long CArchiveStream::Commit(unsigned long)\n1541 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1542 void CPropertyPageEx::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1543 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1544 void CPropertySheetEx::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1545 void CWinThread::CommonConstruct()\n1546 int CString::Compare(char const *)const \n1547 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1548 int CListBox::CompareItem(tagCOMPAREITEM*)\n1549 int CString::CompareNoCase(char const *)const \n1550 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1551 void CString::ConcatCopy(int,char const *,int,char const *)\n1552 void CString::ConcatInPlace(int,char const *)\n1553 AFX_CONNECTIONMAP const CCmdTarget::connectionMap\n1554 void CPropertyPage::Construct(unsigned int,unsigned int)\n1555 void CPropertyPage::Construct(char const *,unsigned int)\n1556 void CPropertyPageEx::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1557 void CPropertyPageEx::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1558 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1559 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1560 void CPropertySheetEx::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1561 void CPropertySheetEx::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1562 void CRectTracker::Construct()\n1563 void CSimpleList::Construct(int)\n1564 void ConstructElements(CString *,int)\n1565 int CPropertySheet::ContinueModal()\n1566 int CWnd::ContinueModal()\n1567 void CCmdUI::ContinueRouting()\n1568 void CByteArray::Copy(CByteArray const &)\n1569 void CComboBox::Copy()\n1570 void CDWordArray::Copy(CDWordArray const &)\n1571 void CEdit::Copy()\n1572 int CImageList::Copy(int,int,unsigned int)\n1573 int CImageList::Copy(int,CImageList *,int,unsigned int)\n1574 void CObArray::Copy(CObArray const &)\n1575 void CPtrArray::Copy(CPtrArray const &)\n1576 void CRichEditCtrl::Copy()\n1577 void CStringArray::Copy(CStringArray const &)\n1578 void CUIntArray::Copy(CUIntArray const &)\n1579 void CWordArray::Copy(CWordArray const &)\n1580 void CString::CopyBeforeWrite()\n1581 void CopyElements(CString *,CString const *,int)\n1582 void CRect::CopyRect(tagRECT const *)\n1583 int CRgn::CopyRgn(CRgn *)\n1584 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1585 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1586 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1587 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1589 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1590 int CDialog::Create(unsigned int,CWnd *)\n1591 int CDialog::Create(char const *,CWnd *)\n1592 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n1593 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1594 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1595 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1596 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1597 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1598 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1599 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1600 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1601 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1602 int CImageList::Create(int,int,unsigned int,int,int)\n1603 int CImageList::Create(unsigned int,int,int,unsigned long)\n1604 int CImageList::Create(CImageList *)\n1605 int CImageList::Create(char const *,int,int,unsigned long)\n1606 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1607 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1608 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1609 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1610 int CMetaFileDC::Create(char const *)\n1611 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1612 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1613 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1614 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1615 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1616 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1617 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1618 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1619 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1620 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1621 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1622 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1623 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1624 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1625 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1626 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1627 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1628 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1629 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1630 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1631 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1632 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n1633 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n1634 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n1635 void CWnd::CreateCaret(CBitmap *)\n1636 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n1637 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1638 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n1639 int CDC::CreateCompatibleDC(CDC *)\n1640 int CDC::CreateDCA(char const *,char const *,char const *,void const *)\n1641 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1642 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n1643 int CFtpConnection::CreateDirectoryA(char const *)\n1644 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n1645 int CWnd::CreateDlg(char const *,CWnd *)\n1646 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n1647 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1648 CImageList * CHeaderCtrl::CreateDragImage(int)\n1649 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1650 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1651 int CRgn::CreateEllipticRgn(int,int,int,int)\n1652 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n1653 int CMetaFileDC::CreateEnhanced(CDC *,char const *,tagRECT const *,char const *)\n1654 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1655 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1656 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1657 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1658 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1659 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1660 int CFont::CreateFontA(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,char const *)\n1661 int CFont::CreateFontIndirectA(tagLOGFONTA const *)\n1662 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n1663 int CRgn::CreateFromPath(CDC *)\n1664 void CWnd::CreateGrayCaret(int,int)\n1665 int CPalette::CreateHalftonePalette(CDC *)\n1666 int CBrush::CreateHatchBrush(int,unsigned long)\n1667 int CDC::CreateICA(char const *,char const *,char const *,void const *)\n1668 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1669 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1670 int CDialog::CreateIndirect(void *,CWnd *)\n1671 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1672 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1673 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n1674 CGopherLocator CGopherConnection::CreateLocator(char const *)\n1675 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n1676 int CMenu::CreateMenu()\n1677 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1678 CDocument * CDocTemplate::CreateNewDocument()\n1679 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1680 CObject * CByteArray::CreateObject()\n1681 CObject * CDC::CreateObject()\n1682 CObject * CDockState::CreateObject()\n1683 CObject * CDWordArray::CreateObject()\n1684 CObject * CEditView::CreateObject()\n1685 CObject * CFrameWnd::CreateObject()\n1686 CObject * CGdiObject::CreateObject()\n1687 CObject * CImageList::CreateObject()\n1688 CObject * CListView::CreateObject()\n1689 CObject * CMapStringToOb::CreateObject()\n1690 CObject * CMapStringToString::CreateObject()\n1691 CObject * CMapWordToOb::CreateObject()\n1692 CObject * CMDIChildWnd::CreateObject()\n1693 CObject * CMDIFrameWnd::CreateObject()\n1694 CObject * CMenu::CreateObject()\n1695 CObject * CMiniDockFrameWnd::CreateObject()\n1696 CObject * CMiniFrameWnd::CreateObject()\n1697 CObject * CObArray::CreateObject()\n1698 CObject * CObList::CreateObject()\n1699 CObject * CPreviewView::CreateObject()\n1700 CObject * CRuntimeClass::CreateObject()\n1701 CObject * CStringArray::CreateObject()\n1702 CObject * CStringList::CreateObject()\n1703 CObject * CTempDC::CreateObject()\n1704 CObject * CTempGdiObject::CreateObject()\n1705 CObject * CTempImageList::CreateObject()\n1706 CObject * CTempMenu::CreateObject()\n1707 CObject * CTempWnd::CreateObject()\n1708 CObject * CTreeView::CreateObject()\n1709 CObject * CWnd::CreateObject()\n1710 CObject * CWordArray::CreateObject()\n1711 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1712 int CPalette::CreatePalette(tagLOGPALETTE *)\n1713 int CBrush::CreatePatternBrush(CBitmap *)\n1714 int CPen::CreatePen(int,int,unsigned long)\n1715 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n1716 int CPen::CreatePenIndirect(tagLOGPEN *)\n1717 int CFont::CreatePointFont(int,char const *,CDC *)\n1718 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n1719 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n1720 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n1721 int CMenu::CreatePopupMenu()\n1722 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1723 HDC__ * CPrintDialog::CreatePrinterDC()\n1724 int CWinApp::CreatePrinterDC(CDC &)\n1725 int CRgn::CreateRectRgn(int,int,int,int)\n1726 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n1727 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n1728 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1729 int CBrush::CreateSolidBrush(unsigned long)\n1730 void CWnd::CreateSolidCaret(int,int)\n1731 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1732 int CGdiObject::CreateStockObject(int)\n1733 int CBrush::CreateSysColorBrush(int)\n1734 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1735 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1736 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1737 void CToolBarCtrl::Customize()\n1738 void CComboBox::Cut()\n1739 void CEdit::Cut()\n1740 void CRichEditCtrl::Cut()\n1741 void * CPlex::data()\n1742 char * CStringData::data()\n1743 void DDV_MaxChars(CDataExchange *,CString const &,int)\n1744 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1745 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1746 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1747 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1748 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1749 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1750 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1751 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1752 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1753 void DDX_CBIndex(CDataExchange *,int,int &)\n1754 void DDX_CBString(CDataExchange *,int,CString &)\n1755 void DDX_CBStringExact(CDataExchange *,int,CString &)\n1756 void DDX_Check(CDataExchange *,int,int &)\n1757 void DDX_Control(CDataExchange *,int,CWnd &)\n1758 void DDX_LBIndex(CDataExchange *,int,int &)\n1759 void DDX_LBString(CDataExchange *,int,CString &)\n1760 void DDX_LBStringExact(CDataExchange *,int,CString &)\n1761 void DDX_Radio(CDataExchange *,int,int &)\n1762 void DDX_Scroll(CDataExchange *,int,int &)\n1763 void DDX_Slider(CDataExchange *,int,int &)\n1764 void DDX_Text(CDataExchange *,int,unsigned char &)\n1765 void DDX_Text(CDataExchange *,int,short &)\n1766 void DDX_Text(CDataExchange *,int,int &)\n1767 void DDX_Text(CDataExchange *,int,unsigned int &)\n1768 void DDX_Text(CDataExchange *,int,long &)\n1769 void DDX_Text(CDataExchange *,int,unsigned long &)\n1770 void DDX_Text(CDataExchange *,int,float &)\n1771 void DDX_Text(CDataExchange *,int,double &)\n1772 void DDX_Text(CDataExchange *,int,CString &)\n1773 void DDX_Text(CDataExchange *,int,char *,int)\n1774 long CWnd::Default()\n1775 void CRect::DeflateRect(int,int)\n1776 void CRect::DeflateRect(int,int,int,int)\n1777 void CRect::DeflateRect(tagRECT const *)\n1778 void CRect::DeflateRect(tagSIZE)\n1779 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1780 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1781 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1782 void CFrameWnd::DelayRecalcLayout(int)\n1783 void CControlBar::DelayShow(int)\n1784 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1785 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1786 void CFrameWnd::DelayUpdateFrameTitle()\n1787 void CException::Delete()\n1788 int CString::Delete(int,int)\n1789 void CWinThread::Delete()\n1790 int CListCtrl::DeleteAllItems()\n1791 int CTabCtrl::DeleteAllItems()\n1792 int CTreeCtrl::DeleteAllItems()\n1793 int CReBarCtrl::DeleteBand(unsigned int)\n1794 int CToolBarCtrl::DeleteButton(int)\n1795 int CListCtrl::DeleteColumn(int)\n1796 void CSplitterWnd::DeleteColumn(int)\n1797 void CDocument::DeleteContents()\n1798 void CEditView::DeleteContents()\n1799 int CDC::DeleteDC()\n1800 int CImageList::DeleteImageList()\n1801 void CComboBox::DeleteItem(tagDELETEITEM*)\n1802 int CComboBoxEx::DeleteItem(int)\n1803 int CHeaderCtrl::DeleteItem(int)\n1804 void CListBox::DeleteItem(tagDELETEITEM*)\n1805 int CListCtrl::DeleteItem(int)\n1806 int CTabCtrl::DeleteItem(int)\n1807 int CTreeCtrl::DeleteItem(_TREEITEM *)\n1808 int CMenu::DeleteMenu(unsigned int,unsigned int)\n1809 int CGdiObject::DeleteObject()\n1810 void CSplitterWnd::DeleteRow(int)\n1811 int CComboBox::DeleteString(unsigned int)\n1812 int CListBox::DeleteString(unsigned int)\n1813 void CHandleMap::DeleteTemp()\n1814 void CDC::DeleteTempMap()\n1815 void CGdiObject::DeleteTempMap()\n1816 void CImageList::DeleteTempMap()\n1817 void CMenu::DeleteTempMap()\n1818 void CWnd::DeleteTempMap()\n1819 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1820 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1821 void CSplitterWnd::DeleteView(int,int)\n1822 long CWinApp::DelRegTree(HKEY__ *,CString const &)\n1823 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1824 void CTabCtrl::DeselectAll(int)\n1825 void CFrameWnd::DestroyDockBars()\n1826 int CMenu::DestroyMenu()\n1827 int CToolTipCtrl::DestroyToolTipCtrl()\n1828 int CControlBar::DestroyWindow()\n1829 int CMDIChildWnd::DestroyWindow()\n1830 int CWnd::DestroyWindow()\n1831 void DestructElements(CString *,int)\n1832 HDC__ * CDC::Detach()\n1833 void * CDialogTemplate::Detach()\n1834 void * CGdiObject::Detach()\n1835 _IMAGELIST * CImageList::Detach()\n1836 unsigned char * CMemFile::Detach()\n1837 HMENU__ * CMenu::Detach()\n1838 void * CSharedFile::Detach()\n1839 HWND__ * CWnd::Detach()\n1840 void CWinApp::DevModeChange(char *)\n1841 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n1842 int CComboBox::Dir(unsigned int,char const *)\n1843 int CComboBoxEx::Dir(unsigned int,char const *)\n1844 int CListBox::Dir(unsigned int,char const *)\n1845 void CDocument::DisconnectViews()\n1846 AFX_DISPMAP const CCmdTarget::dispatchMap\n1847 void CWinThread::DispatchThreadMessage(tagMSG *)\n1848 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1849 int CRichEditCtrl::DisplayBand(tagRECT *)\n1850 int CWnd::DlgDirListA(char *,int,int,unsigned int)\n1851 int CWnd::DlgDirListComboBoxA(char *,int,int,unsigned int)\n1852 int CWnd::DlgDirSelect(char *,int)\n1853 int CWnd::DlgDirSelectComboBox(char *,int)\n1854 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1855 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1856 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1857 void CWnd::DoDataExchange(CDataExchange *)\n1858 int CDocument::DoFileSave()\n1859 int CSplitterWnd::DoKeyboardSplit()\n1860 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n1861 int CColorDialog::DoModal()\n1862 int CDialog::DoModal()\n1863 int CFileDialog::DoModal()\n1864 int CFontDialog::DoModal()\n1865 int CPageSetupDialog::DoModal()\n1866 int CPrintDialog::DoModal()\n1867 int CPropertySheet::DoModal()\n1868 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n1869 void CControlBar::DoPaint(CDC *)\n1870 void CDockBar::DoPaint(CDC *)\n1871 int CView::DoPreparePrinting(CPrintInfo *)\n1872 int CWinApp::DoPrintDialog(CPrintDialog *)\n1873 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n1874 int CDocManager::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n1875 int CWinApp::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n1876 int CDocument::DoSave(char const *,int)\n1877 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n1878 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n1879 int CCmdUI::DoUpdate(CCmdTarget *,int)\n1880 void CWinApp::DoWaitCursor(int)\n1881 void CPreviewView::DoZoom(unsigned int,CPoint)\n1882 void CDC::DPtoHIMETRIC(tagSIZE *)const \n1883 void CDC::DPtoLP(tagPOINT *,int)const \n1884 void CDC::DPtoLP(tagRECT *)const \n1885 void CDC::DPtoLP(tagSIZE *)const \n1886 void CWnd::DragAcceptFiles(int)\n1887 int CImageList::DragEnter(CWnd *,CPoint)\n1888 unsigned int CDragListBox::Dragging(CPoint)\n1889 int CImageList::DragLeave(CWnd *)\n1890 int CImageList::DragMove(CPoint)\n1891 void CReBarCtrl::DragMove(unsigned long)\n1892 int CImageList::DragShowNolock(int)\n1893 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n1894 void CRectTracker::Draw(CDC *)const \n1895 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n1896 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n1897 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n1898 void CControlBar::DrawBorders(CDC *,CRect &)\n1899 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n1900 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n1901 int CDC::DrawEscape(int,int,char const *)\n1902 void CDC::DrawFocusRect(tagRECT const *)\n1903 void CDockContext::DrawFocusRect(int)\n1904 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n1905 void CControlBar::DrawGripper(CDC *,CRect const &)\n1906 int CDC::DrawIcon(int,int,HICON__ *)\n1907 int CDC::DrawIcon(tagPOINT,HICON__ *)\n1908 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n1909 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long)\n1910 void CDragListBox::DrawInsert(int)\n1911 void CBitmapButton::DrawItem(tagDRAWITEM*)\n1912 void CButton::DrawItem(tagDRAWITEM*)\n1913 void CCheckListBox::DrawItem(tagDRAWITEM*)\n1914 void CComboBox::DrawItem(tagDRAWITEM*)\n1915 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n1916 void CListBox::DrawItem(tagDRAWITEM*)\n1917 void CListCtrl::DrawItem(tagDRAWITEM*)\n1918 void CListView::DrawItem(tagDRAWITEM*)\n1919 void CMenu::DrawItem(tagDRAWITEM*)\n1920 void CStatusBar::DrawItem(tagDRAWITEM*)\n1921 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n1922 void CTabCtrl::DrawItem(tagDRAWITEM*)\n1923 void CWnd::DrawMenuBar()\n1924 void CDragListBox::DrawSingle(int)\n1925 int DrawState(HDC__ *,HBRUSH__ *,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,int,int,int,int,unsigned int)\n1926 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n1927 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n1928 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n1929 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n1930 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n1931 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n1932 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,HBRUSH__ *)\n1933 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,CBrush *)\n1934 int CDC::DrawTextA(CString const &,tagRECT *,unsigned int)\n1935 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n1936 int CMetaFileDC::DrawTextA(CString const &,tagRECT *,unsigned int)\n1937 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n1938 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n1939 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n1940 void CDragListBox::Dropped(int,CPoint)\n1941 void CArchiveException::Dump(CDumpContext &)const \n1942 void CBitmap::Dump(CDumpContext &)const \n1943 void CBitmapButton::Dump(CDumpContext &)const \n1944 void CBrush::Dump(CDumpContext &)const \n1945 void CByteArray::Dump(CDumpContext &)const \n1946 void CClientDC::Dump(CDumpContext &)const \n1947 void CCmdTarget::Dump(CDumpContext &)const \n1948 void CColorDialog::Dump(CDumpContext &)const \n1949 void CControlBar::Dump(CDumpContext &)const \n1950 void CCtrlView::Dump(CDumpContext &)const \n1951 void CDC::Dump(CDumpContext &)const \n1952 void CDialog::Dump(CDumpContext &)const \n1953 void CDockBar::Dump(CDumpContext &)const \n1954 void CDocManager::Dump(CDumpContext &)const \n1955 void CDocTemplate::Dump(CDumpContext &)const \n1956 void CDocument::Dump(CDumpContext &)const \n1957 void CDWordArray::Dump(CDumpContext &)const \n1958 void CDynLinkLibrary::Dump(CDumpContext &)const \n1959 void CEditView::Dump(CDumpContext &)const \n1960 void CFile::Dump(CDumpContext &)const \n1961 void CFileDialog::Dump(CDumpContext &)const \n1962 void CFileException::Dump(CDumpContext &)const \n1963 void CFileFind::Dump(CDumpContext &)const \n1964 void CFileStatus::Dump(CDumpContext &)const \n1965 void CFindReplaceDialog::Dump(CDumpContext &)const \n1966 void CFont::Dump(CDumpContext &)const \n1967 void CFontDialog::Dump(CDumpContext &)const \n1968 void CFormView::Dump(CDumpContext &)const \n1969 void CFrameWnd::Dump(CDumpContext &)const \n1970 void CFtpConnection::Dump(CDumpContext &)const \n1971 void CFtpFileFind::Dump(CDumpContext &)const \n1972 void CGdiObject::Dump(CDumpContext &)const \n1973 void CGopherConnection::Dump(CDumpContext &)const \n1974 void CGopherFile::Dump(CDumpContext &)const \n1975 void CGopherFileFind::Dump(CDumpContext &)const \n1976 void CHttpConnection::Dump(CDumpContext &)const \n1977 void CHttpFile::Dump(CDumpContext &)const \n1978 void CImageList::Dump(CDumpContext &)const \n1979 void CInternetConnection::Dump(CDumpContext &)const \n1980 void CInternetException::Dump(CDumpContext &)const \n1981 void CInternetFile::Dump(CDumpContext &)const \n1982 void CInternetSession::Dump(CDumpContext &)const \n1983 void CMapPtrToPtr::Dump(CDumpContext &)const \n1984 void CMapPtrToWord::Dump(CDumpContext &)const \n1985 void CMapStringToOb::Dump(CDumpContext &)const \n1986 void CMapStringToPtr::Dump(CDumpContext &)const \n1987 void CMapStringToString::Dump(CDumpContext &)const \n1988 void CMapWordToOb::Dump(CDumpContext &)const \n1989 void CMapWordToPtr::Dump(CDumpContext &)const \n1990 void CMDIChildWnd::Dump(CDumpContext &)const \n1991 void CMDIFrameWnd::Dump(CDumpContext &)const \n1992 void CMemFile::Dump(CDumpContext &)const \n1993 void CMenu::Dump(CDumpContext &)const \n1994 void CMultiDocTemplate::Dump(CDumpContext &)const \n1995 void CObArray::Dump(CDumpContext &)const \n1996 void CObject::Dump(CDumpContext &)const \n1997 void CObList::Dump(CDumpContext &)const \n1998 void CPageSetupDialog::Dump(CDumpContext &)const \n1999 void CPaintDC::Dump(CDumpContext &)const \n2000 void CPen::Dump(CDumpContext &)const \n2001 void CPreviewDC::Dump(CDumpContext &)const \n2002 void CPreviewView::Dump(CDumpContext &)const \n2003 void CPrintDialog::Dump(CDumpContext &)const \n2004 void CPropertyPage::Dump(CDumpContext &)const \n2005 void CPropertyPageEx::Dump(CDumpContext &)const \n2006 void CPropertySheet::Dump(CDumpContext &)const \n2007 void CPropertySheetEx::Dump(CDumpContext &)const \n2008 void CPtrArray::Dump(CDumpContext &)const \n2009 void CPtrList::Dump(CDumpContext &)const \n2010 void CScrollView::Dump(CDumpContext &)const \n2011 void CSingleDocTemplate::Dump(CDumpContext &)const \n2012 void CSplitterWnd::Dump(CDumpContext &)const \n2013 void CStatusBar::Dump(CDumpContext &)const \n2014 void CStdioFile::Dump(CDumpContext &)const \n2015 void CStringArray::Dump(CDumpContext &)const \n2016 void CStringList::Dump(CDumpContext &)const \n2017 void CSyncObject::Dump(CDumpContext &)const \n2018 void CToolBar::Dump(CDumpContext &)const \n2019 void CUIntArray::Dump(CDumpContext &)const \n2020 void CView::Dump(CDumpContext &)const \n2021 void CWinApp::Dump(CDumpContext &)const \n2022 void CWindowDC::Dump(CDumpContext &)const \n2023 void CWinThread::Dump(CDumpContext &)const \n2024 void CWnd::Dump(CDumpContext &)const \n2025 void CWordArray::Dump(CDumpContext &)const \n2026 void CMemoryState::DumpAllObjectsSince()const \n2027 void CMemoryState::DumpStatistics()const \n2028 CFile * CFile::Duplicate()const \n2029 CFile * CInternetFile::Duplicate()const \n2030 CFile * CMemFile::Duplicate()const \n2031 CFile * CStdioFile::Duplicate()const \n2032 unsigned long const CEditView::dwStyleDefault\n2033 CEdit * CListCtrl::EditLabel(int)\n2034 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2035 unsigned char & CByteArray::ElementAt(int)\n2036 unsigned long & CDWordArray::ElementAt(int)\n2037 CObject * & CObArray::ElementAt(int)\n2038 void * & CPtrArray::ElementAt(int)\n2039 CString & CStringArray::ElementAt(int)\n2040 unsigned int & CUIntArray::ElementAt(int)\n2041 unsigned short & CWordArray::ElementAt(int)\n2042 int CDC::Ellipse(int,int,int,int)\n2043 int CDC::Ellipse(tagRECT const *)\n2044 void CString::Empty()\n2045 void CEdit::EmptyUndoBuffer()\n2046 void CRichEditCtrl::EmptyUndoBuffer()\n2047 void CCheckListBox::Enable(int,int)\n2048 void CCmdUI::Enable(int)\n2049 void CStatusCmdUI::Enable(int)\n2050 void CTestCmdUI::Enable(int)\n2051 void CToolCmdUI::Enable(int)\n2052 int CWinApp::Enable3dControls()\n2053 int CToolBarCtrl::EnableButton(int,int)\n2054 void CControlBar::EnableDocking(unsigned long)\n2055 void CFrameWnd::EnableDocking(unsigned long)\n2056 void CReBar::EnableDocking(unsigned long)\n2057 void CStatusBar::EnableDocking(unsigned long)\n2058 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2059 void CWinApp::EnableModeless(int)\n2060 int CScrollBar::EnableScrollBar(unsigned int)\n2061 int CWnd::EnableScrollBar(int,unsigned int)\n2062 void CWnd::EnableScrollBarCtrl(int,int)\n2063 void CWinApp::EnableShellOpen()\n2064 void CPropertySheet::EnableStackedTabs(int)\n2065 int CInternetSession::EnableStatusCallback(int)\n2066 int CWnd::EnableToolTips(int)\n2067 int CWnd::EnableTrackingToolTips(int)\n2068 int CWnd::EnableWindow(int)\n2069 void CDialog::EndDialog(int)\n2070 void CPropertyPage::EndDialog(int)\n2071 void CPropertySheet::EndDialog(int)\n2072 int CDC::EndDoc()\n2073 void CDockContext::EndDrag()\n2074 void CImageList::EndDrag()\n2075 void CReBarCtrl::EndDrag()\n2076 void CWnd::EndModalLoop(int)\n2077 void CFrameWnd::EndModalState()\n2078 void CWnd::EndModalState()\n2079 int CDC::EndPage()\n2080 void CWnd::EndPaint(tagPAINT*)\n2081 int CDC::EndPath()\n2082 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2083 void CDockContext::EndResize()\n2084 void CCmdTarget::EndWaitCursor()\n2085 int CListCtrl::EnsureVisible(int,int)\n2086 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n2087 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n2088 int CRect::EqualRect(tagRECT const *)const \n2089 int CRgn::EqualRgn(CRgn *)const \n2090 void CControlBar::EraseNonClient()\n2091 int CFileException::ErrnoToException(int)\n2092 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2093 int CDC::Escape(int,int,char const *,int,char *)\n2094 int CDC::Escape(int,int,char const *,void *)\n2095 int CMetaFileDC::Escape(int,int,char const *,void *)\n2096 int CPreviewDC::Escape(int,int,char const *,void *)\n2097 AFX_EVENTSINKMAP const CCmdTarget::eventsinkMap\n2098 int CDC::ExcludeClipRect(int,int,int,int)\n2099 int CDC::ExcludeClipRect(tagRECT const *)\n2100 int CDC::ExcludeUpdateRgn(CWnd *)\n2101 int CWnd::ExecuteDlgInit(void *)\n2102 int CWnd::ExecuteDlgInit(char const *)\n2103 void CFrameWnd::ExitHelpMode()\n2104 int CWinApp::ExitInstance()\n2105 int CWinThread::ExitInstance()\n2106 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n2107 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n2108 HICON__ * CImageList::ExtractIconA(int)\n2109 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,CString const &,int *)\n2110 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2111 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,CString const &,int *)\n2112 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2113 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2114 void CDataExchange::Fail()\n2115 void CArchive::FillBuffer(unsigned int)\n2116 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2117 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2118 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2119 int CDC::FillPath()\n2120 void CDC::FillRect(tagRECT const *,CBrush *)\n2121 int CDC::FillRgn(CRgn *,CBrush *)\n2122 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2123 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2124 void CWnd::FilterToolTipMessage(tagMSG *)\n2125 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2126 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2127 int CString::Find(char)const \n2128 int CString::Find(char,int)const \n2129 int CString::Find(char const *)const \n2130 int CString::Find(char const *,int)const \n2131 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2132 int CDockBar::FindBar(CControlBar *,int)\n2133 int CFileFind::FindFile(char const *,unsigned long)\n2134 int CFtpFileFind::FindFile(char const *,unsigned long)\n2135 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2136 int CGopherFileFind::FindFile(char const *,unsigned long)\n2137 __POSITION * CObList::FindIndex(int)const \n2138 __POSITION * CPtrList::FindIndex(int)const \n2139 __POSITION * CStringList::FindIndex(int)const \n2140 int CListCtrl::FindItem(tagLVFINDINFOA *,int)const \n2141 int CFindReplaceDialog::FindNext()const \n2142 int CFileFind::FindNextFileA()\n2143 int CFtpFileFind::FindNextFileA()\n2144 int CGopherFileFind::FindNextFileA()\n2145 int CString::FindOneOf(char const *)const \n2146 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2147 int CComboBox::FindString(int,char const *)const \n2148 int CComboBoxEx::FindString(int,char const *)const \n2149 int CListBox::FindString(int,char const *)const \n2150 int CComboBox::FindStringExact(int,char const *)const \n2151 int CListBox::FindStringExact(int,char const *)const \n2152 int CEditView::FindTextA(char const *,int,int)\n2153 long CRichEditCtrl::FindTextA(unsigned long,_findtextexa *)const \n2154 CWnd * CWnd::FindWindowA(char const *,char const *)\n2155 int CWnd::FlashWindow(int)\n2156 int CDC::FlattenPath()\n2157 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2158 int CDC::FloodFill(int,int,unsigned long)\n2159 void CArchive::Flush()\n2160 void CDumpContext::Flush()\n2161 void CFile::Flush()\n2162 void CInternetFile::Flush()\n2163 void CMemFile::Flush()\n2164 void CStdioFile::Flush()\n2165 int CEdit::FmtLines(int)\n2166 int FontAttrSize(int)\n2167 void CString::Format(unsigned int,...)\n2168 void CString::Format(char const *,...)\n2169 CString CTime::Format(unsigned int)const \n2170 CString CTime::Format(char const *)const \n2171 CString CTimeSpan::Format(unsigned int)const \n2172 CString CTimeSpan::Format(char const *)const \n2173 CString CTime::FormatGmt(unsigned int)const \n2174 CString CTime::FormatGmt(char const *)const \n2175 void CString::FormatMessageA(unsigned int,...)\n2176 void CString::FormatMessageA(char const *,...)\n2177 long CRichEditCtrl::FormatRange(_formatrange *,int)\n2178 void CString::FormatV(char const *,char *)\n2179 void CDC::FrameRect(tagRECT const *,CBrush *)\n2180 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n2181 void CFixedAlloc::Free(void *)\n2182 void CMemFile::Free(unsigned char *)\n2183 void CSharedFile::Free(unsigned char *)\n2184 void CFixedAlloc::FreeAll()\n2185 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2186 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2187 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2188 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2189 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2190 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2191 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2192 void __fastcall CString::FreeData(CStringData *)\n2193 void CPlex::FreeDataChain()\n2194 void CByteArray::FreeExtra()\n2195 void CDWordArray::FreeExtra()\n2196 void CObArray::FreeExtra()\n2197 void CPtrArray::FreeExtra()\n2198 void CString::FreeExtra()\n2199 void CStringArray::FreeExtra()\n2200 void CUIntArray::FreeExtra()\n2201 void CWordArray::FreeExtra()\n2202 void CObList::FreeNode(CObList::CNode *)\n2203 void CPtrList::FreeNode(CPtrList::CNode *)\n2204 void CStringList::FreeNode(CStringList::CNode *)\n2205 void CThreadSlotData::FreeSlot(int)\n2206 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n2207 CBrush * CBrush::FromHandle(HBRUSH__ *)\n2208 CDC * CDC::FromHandle(HDC__ *)\n2209 CFont * CFont::FromHandle(HFONT__ *)\n2210 CGdiObject * CGdiObject::FromHandle(void *)\n2211 CObject * CHandleMap::FromHandle(void *)\n2212 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2213 CMenu * CMenu::FromHandle(HMENU__ *)\n2214 CPalette * CPalette::FromHandle(HPALETTE__ *)\n2215 CPen * CPen::FromHandle(HPEN__ *)\n2216 CRgn * CRgn::FromHandle(HRGN__ *)\n2217 CWnd * CWnd::FromHandle(HWND__ *)\n2218 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2219 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2220 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2221 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n2222 CDocument * CFrameWnd::GetActiveDocument()\n2223 CFrameWnd * CFrameWnd::GetActiveFrame()\n2224 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2225 int CPropertySheet::GetActiveIndex()const \n2226 CPropertyPage * CPropertySheet::GetActivePage()const \n2227 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n2228 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2229 CView * CFrameWnd::GetActiveView()const \n2230 CWnd * CWnd::GetActiveWindow()\n2231 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2232 int CIPAddressCtrl::GetAddress(unsigned long &)\n2233 int CString::GetAllocLength()const \n2234 int CToolBarCtrl::GetAnchorHighlight()const \n2235 int CListBox::GetAnchorIndex()const \n2236 HKEY__ * CWinApp::GetAppRegistryKey()\n2237 int CDC::GetArcDirection()const \n2238 CSize CDC::GetAspectRatioFilter()const \n2239 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &)const \n2240 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &)const \n2241 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &)const \n2242 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &)const \n2243 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &)const \n2244 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &)const \n2245 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &)const \n2246 int CTime::GetAsSystemTime(_SYSTEMTIME &)const \n2247 unsigned char CByteArray::GetAt(int)const \n2248 unsigned long CDWordArray::GetAt(int)const \n2249 CObject * CObArray::GetAt(int)const \n2250 CObject * & CObList::GetAt(__POSITION *)\n2251 CObject * CObList::GetAt(__POSITION *)const \n2252 void * CPtrArray::GetAt(int)const \n2253 void * & CPtrList::GetAt(__POSITION *)\n2254 void * CPtrList::GetAt(__POSITION *)const \n2255 char CString::GetAt(int)const \n2256 CString CStringArray::GetAt(int)const \n2257 CString & CStringList::GetAt(__POSITION *)\n2258 CString CStringList::GetAt(__POSITION *)const \n2259 unsigned int CUIntArray::GetAt(int)const \n2260 unsigned short CWordArray::GetAt(int)const \n2261 int CGopherConnection::GetAttribute(CGopherLocator &,CString,CString &)\n2262 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n2263 unsigned int CReBarCtrl::GetBandCount()const \n2264 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOA *)const \n2265 unsigned int CReBarCtrl::GetBarHeight()const \n2266 void CControlBar::GetBarInfo(CControlBarInfo *)\n2267 void CDockBar::GetBarInfo(CControlBarInfo *)\n2268 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n2269 unsigned long CControlBar::GetBarStyle()\n2270 unsigned int CSpinButtonCtrl::GetBase()const \n2271 int CBitmap::GetBitmap(tagBITMAP *)\n2272 HBITMAP__ * CButton::GetBitmap()const \n2273 HBITMAP__ * CStatic::GetBitmap()const \n2274 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n2275 CSize CBitmap::GetBitmapDimension()const \n2276 unsigned int CToolBarCtrl::GetBitmapFlags()const \n2277 unsigned long CDC::GetBkColor()const \n2278 unsigned long CImageList::GetBkColor()const \n2279 unsigned long CListCtrl::GetBkColor()const \n2280 unsigned long CReBarCtrl::GetBkColor()const \n2281 unsigned long CTreeCtrl::GetBkColor()const \n2282 int CListCtrl::GetBkImage(tagLVBKIMAGEA *)const \n2283 int CDC::GetBkMode()const \n2284 CRect CControlBar::GetBorders()const \n2285 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2286 int CStatusBarCtrl::GetBorders(int *)const \n2287 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n2288 CPoint CDC::GetBrushOrg()const \n2289 CWnd * CSliderCtrl::GetBuddy(int)const \n2290 CWnd * CSpinButtonCtrl::GetBuddy()const \n2291 char * CString::GetBuffer(int)\n2292 unsigned int CEditView::GetBufferLength()const \n2293 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2294 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2295 char * CString::GetBufferSetLength(int)\n2296 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n2297 int CToolBarCtrl::GetButtonCount()const \n2298 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2299 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOA *)const \n2300 unsigned long CToolBarCtrl::GetButtonSize()const \n2301 unsigned int CButton::GetButtonStyle()const \n2302 unsigned int CToolBar::GetButtonStyle(int)const \n2303 CString CToolBar::GetButtonText(int)const \n2304 void CToolBar::GetButtonText(int,CString &)const \n2305 unsigned int CListCtrl::GetCallbackMask()const \n2306 CWnd * CWnd::GetCapture()\n2307 int CListBox::GetCaretIndex()const \n2308 CPoint CWnd::GetCaretPos()\n2309 void CSliderCtrl::GetChannelRect(tagRECT *)const \n2310 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABC *)const \n2311 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABCFLOAT *)const \n2312 void CFontDialog::GetCharFormat(_charformat &)const \n2313 CPoint CRichEditCtrl::GetCharPos(long)const \n2314 int CDC::GetCharWidthA(unsigned int,unsigned int,int *)const \n2315 int CDC::GetCharWidthA(unsigned int,unsigned int,float *)const \n2316 int CButton::GetCheck()const \n2317 int CCheckListBox::GetCheck(int)\n2318 int CListCtrl::GetCheck(int)const \n2319 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2320 int CWnd::GetCheckedRadioButton(int,int)\n2321 unsigned int CCheckListBox::GetCheckStyle()\n2322 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n2323 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2324 void CWnd::GetClientRect(tagRECT *)const \n2325 CWnd * CWnd::GetClipboardOwner()\n2326 CWnd * CWnd::GetClipboardViewer()\n2327 int CDC::GetClipBox(tagRECT *)const \n2328 int CMetaFileDC::GetClipBox(tagRECT *)const \n2329 unsigned long CColorDialog::GetColor()const \n2330 unsigned long CFontDialog::GetColor()const \n2331 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n2332 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2333 int CListCtrl::GetColumn(int,tagLVCOLUMNA *)const \n2334 int CSplitterWnd::GetColumnCount()const \n2335 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2336 int CListCtrl::GetColumnOrderArray(int *,int)\n2337 int CListCtrl::GetColumnWidth(int)const \n2338 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n2339 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2340 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2341 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2342 unsigned long CInternetConnection::GetContext()const \n2343 unsigned long CInternetFile::GetContext()const \n2344 unsigned long CInternetSession::GetContext()const \n2345 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2346 IUnknown * CWnd::GetControlUnknown()\n2347 int CInternetSession::GetCookie(char const *,char const *,CString &)\n2348 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n2349 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n2350 int CPrintDialog::GetCopies()const \n2351 int CComboBox::GetCount()const \n2352 int CControlBar::GetCount()const \n2353 int CListBox::GetCount()const \n2354 int CMapPtrToPtr::GetCount()const \n2355 int CMapPtrToWord::GetCount()const \n2356 int CMapStringToOb::GetCount()const \n2357 int CMapStringToPtr::GetCount()const \n2358 int CMapStringToString::GetCount()const \n2359 int CMapWordToOb::GetCount()const \n2360 int CMapWordToPtr::GetCount()const \n2361 int CObList::GetCount()const \n2362 int CPtrList::GetCount()const \n2363 int CStringList::GetCount()const \n2364 unsigned int CTreeCtrl::GetCount()const \n2365 int CListCtrl::GetCountPerPage()const \n2366 int CFileFind::GetCreationTime(CTime &)const \n2367 int CFileFind::GetCreationTime(_FILETIME *)const \n2368 int CGopherFileFind::GetCreationTime(CTime &)const \n2369 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2370 int CTabCtrl::GetCurFocus()const \n2371 CBitmap * CDC::GetCurrentBitmap()const \n2372 CBrush * CDC::GetCurrentBrush()const \n2373 int CFtpConnection::GetCurrentDirectoryA(CString &)const \n2374 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n2375 int CFtpConnection::GetCurrentDirectoryAsURL(CString &)const \n2376 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n2377 CFont * CDC::GetCurrentFont()const \n2378 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n2379 tagMSG const * CWnd::GetCurrentMessage()\n2380 CPalette * CDC::GetCurrentPalette()const \n2381 CPen * CDC::GetCurrentPen()const \n2382 CPoint CDC::GetCurrentPosition()const \n2383 int CComboBox::GetCurSel()const \n2384 int CListBox::GetCurSel()const \n2385 int CTabCtrl::GetCurSel()const \n2386 HICON__ * CButton::GetCursor()\n2387 HICON__ * CStatic::GetCursor()\n2388 unsigned char * CByteArray::GetData()\n2389 unsigned char const * CByteArray::GetData()const \n2390 unsigned long * CDWordArray::GetData()\n2391 unsigned long const * CDWordArray::GetData()const \n2392 CObject * * CObArray::GetData()\n2393 CObject const * * CObArray::GetData()const \n2394 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2395 void * * CPtrArray::GetData()\n2396 void const * * CPtrArray::GetData()const \n2397 CStringData * CString::GetData()const \n2398 CString * CStringArray::GetData()\n2399 CString const * CStringArray::GetData()const \n2400 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2401 unsigned int * CUIntArray::GetData()\n2402 unsigned int const * CUIntArray::GetData()const \n2403 unsigned short * CWordArray::GetData()\n2404 unsigned short const * CWordArray::GetData()const \n2405 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2406 int CTime::GetDay()const \n2407 int CTime::GetDayOfWeek()const \n2408 long CTimeSpan::GetDays()const \n2409 CDC * CWnd::GetDC()\n2410 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n2411 HACCEL__ * CDocument::GetDefaultAccelerator()\n2412 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2413 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2414 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n2415 HMENU__ * CDocument::GetDefaultMenu()\n2416 int CPrintDialog::GetDefaults()\n2417 unsigned long CDialog::GetDefID()const \n2418 int CToolTipCtrl::GetDelayTime(unsigned long)const \n2419 int CDumpContext::GetDepth()const \n2420 CWnd * CWnd::GetDescendantWindow(int,int)const \n2421 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2422 CWnd * CWnd::GetDesktopWindow()\n2423 int CDC::GetDeviceCaps(int)const \n2424 CString CPageSetupDialog::GetDeviceName()const \n2425 CString CPrintDialog::GetDeviceName()const \n2426 CPoint CScrollView::GetDeviceScrollPosition()const \n2427 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2428 _devicemodeA * CPageSetupDialog::GetDevMode()const \n2429 _devicemodeA * CPrintDialog::GetDevMode()const \n2430 CImageList * CToolBarCtrl::GetDisabledImageList()const \n2431 int CCmdTarget::GetDispatchIID(_GUID *)\n2432 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2433 int CRecentFileList::GetDisplayName(CString &,int,char const *,int,int)const \n2434 int CWnd::GetDlgCtrlID()const \n2435 CWnd * CWnd::GetDlgItem(int)const \n2436 void CWnd::GetDlgItem(int,HWND__ * *)const \n2437 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2438 int CWnd::GetDlgItemTextA(int,CString &)const \n2439 int CWnd::GetDlgItemTextA(int,char *,int)const \n2440 CDockBar * CDockContext::GetDockBar(unsigned long)\n2441 CControlBar * CDockBar::GetDockedControlBar(int)const \n2442 int CDockBar::GetDockedCount()const \n2443 int CDockBar::GetDockedVisibleCount()const \n2444 CFrameWnd * CControlBar::GetDockingFrame()const \n2445 void CFrameWnd::GetDockState(CDockState &)const \n2446 int CDocTemplate::GetDocString(CString &,enum CDocTemplate::DocStringIndex)const \n2447 CDocTemplate * CDocument::GetDocTemplate()const \n2448 CDocument * CView::GetDocument()const \n2449 int CDocManager::GetDocumentCount()\n2450 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n2451 CString CPageSetupDialog::GetDriverName()const \n2452 CString CPrintDialog::GetDriverName()const \n2453 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n2454 void CComboBox::GetDroppedControlRect(tagRECT *)const \n2455 int CComboBox::GetDroppedState()const \n2456 int CComboBox::GetDroppedWidth()const \n2457 IDropTarget * CReBarCtrl::GetDropTarget()const \n2458 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2459 IUnknown * CWnd::GetDSCCursor()\n2460 CEdit * CListCtrl::GetEditControl()const \n2461 CEdit * CTreeCtrl::GetEditControl()const \n2462 CEdit * CComboBoxEx::GetEditCtrl()\n2463 CEdit & CEditView::GetEditCtrl()const \n2464 unsigned long CComboBox::GetEditSel()const \n2465 HENHMETAFILE__ * CStatic::GetEnhMetaFileA()const \n2466 int CPalette::GetEntryCount()\n2467 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2468 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2469 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2470 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2471 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2472 long CRichEditCtrl::GetEventMask()const \n2473 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2474 unsigned long CWnd::GetExStyle()const \n2475 unsigned long CComboBoxEx::GetExtendedStyle()const \n2476 unsigned long CListCtrl::GetExtendedStyle()\n2477 unsigned long CTabCtrl::GetExtendedStyle()\n2478 unsigned long CToolBarCtrl::GetExtendedStyle()const \n2479 int CComboBox::GetExtendedUI()const \n2480 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n2481 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2482 CString CFontDialog::GetFaceName()const \n2483 CFile * CArchive::GetFile()const \n2484 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n2485 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n2486 CString CFileDialog::GetFileExt()const \n2487 CString CFile::GetFileName()const \n2488 CString CFileDialog::GetFileName()const \n2489 CString CFileFind::GetFileName()const \n2490 CString CGopherFileFind::GetFileName()const \n2491 CString CFile::GetFilePath()const \n2492 CString CFileFind::GetFilePath()const \n2493 CString CGopherFileFind::GetFilePath()const \n2494 short GetFileTitle(char const *,char *,unsigned short)\n2495 CString CFile::GetFileTitle()const \n2496 CString CFileDialog::GetFileTitle()const \n2497 CString CFileFind::GetFileTitle()const \n2498 CString CGopherFileFind::GetFileTitle()const \n2499 CString CFileFind::GetFileURL()const \n2500 CString CFtpFileFind::GetFileURL()const \n2501 CString CGopherFileFind::GetFileURL()const \n2502 CString CHttpFile::GetFileURL()const \n2503 CString CFindReplaceDialog::GetFindString()const \n2504 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2505 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2506 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2507 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2508 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n2509 __POSITION * CDocument::GetFirstViewPosition()const \n2510 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n2511 int CEdit::GetFirstVisibleLine()const \n2512 int CRichEditCtrl::GetFirstVisibleLine()const \n2513 CWnd * CWnd::GetFocus()\n2514 CString CFileDialog::GetFolderPath()const \n2515 int CDialogTemplate::GetFont(CString &,unsigned short &)const \n2516 int CDialogTemplate::GetFont(DLGTEMPLATE const *,CString &,unsigned short &)\n2517 CFont * CWnd::GetFont()const \n2518 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n2519 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2520 CWnd * CWnd::GetForegroundWindow()\n2521 int CPrintDialog::GetFromPage()const \n2522 unsigned int CPrintInfo::GetFromPage()const \n2523 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n2524 unsigned long CDC::GetGlyphOutlineA(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n2525 tm * CTime::GetGmtTm(tm *)const \n2526 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n2527 CBrush * CDC::GetHalftoneBrush()\n2528 void * CEdit::GetHandle()const \n2529 unsigned int CRectTracker::GetHandleMask()const \n2530 void CRectTracker::GetHandleRect(int,CRect *)const \n2531 int CRectTracker::GetHandleSize(tagRECT const *)const \n2532 unsigned int CMapPtrToPtr::GetHashTableSize()const \n2533 unsigned int CMapPtrToWord::GetHashTableSize()const \n2534 unsigned int CMapStringToOb::GetHashTableSize()const \n2535 unsigned int CMapStringToPtr::GetHashTableSize()const \n2536 unsigned int CMapStringToString::GetHashTableSize()const \n2537 unsigned int CMapWordToOb::GetHashTableSize()const \n2538 unsigned int CMapWordToPtr::GetHashTableSize()const \n2539 CRuntime* CTypedSimpleList<CRuntime*>::GetHead()\n2540 COleObjectFactory * CTypedSimpleList<COleObjectFactory *>::GetHead()\n2541 CObject * & CObList::GetHead()\n2542 CObject * CObList::GetHead()const \n2543 void * & CPtrList::GetHead()\n2544 void * CPtrList::GetHead()const \n2545 void * CSimpleList::GetHead()const \n2546 CString & CStringList::GetHead()\n2547 CString CStringList::GetHead()const \n2548 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2549 __POSITION * CObList::GetHeadPosition()const \n2550 __POSITION * CPtrList::GetHeadPosition()const \n2551 __POSITION * CStringList::GetHeadPosition()const \n2552 void CSplitterWnd::GetHitRect(int,CRect &)\n2553 unsigned int CComboBox::GetHorizontalExtent()const \n2554 int CListBox::GetHorizontalExtent()const \n2555 HICON__ * CListCtrl::GetHotCursor()\n2556 CImageList * CToolBarCtrl::GetHotImageList()const \n2557 int CListCtrl::GetHotItem()\n2558 int CToolBarCtrl::GetHotItem()const \n2559 unsigned long CHotKeyCtrl::GetHotKey()const \n2560 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2561 int CTime::GetHour()const \n2562 int CTimeSpan::GetHours()const \n2563 unsigned long CListCtrl::GetHoverTime()const \n2564 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n2565 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n2566 HICON__ * CButton::GetIcon()const \n2567 HICON__ * CStatic::GetIcon()const \n2568 HICON__ * CWnd::GetIcon(int)const \n2569 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2570 int CImageList::GetImageCount()const \n2571 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n2572 CImageList * CComboBoxEx::GetImageList()const \n2573 CImageList * CHeaderCtrl::GetImageList()const \n2574 CImageList * CListCtrl::GetImageList(int)const \n2575 CImageList * CReBarCtrl::GetImageList()const \n2576 CImageList * CTabCtrl::GetImageList()const \n2577 CImageList * CToolBarCtrl::GetImageList()const \n2578 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n2579 unsigned int CTreeCtrl::GetIndent()const \n2580 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n2581 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n2582 unsigned long CTreeCtrl::GetInsertMarkColor()const \n2583 void CSplitterWnd::GetInsideRect(CRect &)const \n2584 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2585 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2586 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2587 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n2588 int CHeaderCtrl::GetItem(int,_HD_ITEMA *)const \n2589 int CListCtrl::GetItem(tagLVITEMA *)const \n2590 int CTabCtrl::GetItem(int,tagTCITEMA *)const \n2591 int CTreeCtrl::GetItem(tagTVITEMA *)const \n2592 int CHeaderCtrl::GetItemCount()const \n2593 int CListCtrl::GetItemCount()const \n2594 int CTabCtrl::GetItemCount()const \n2595 unsigned long CComboBox::GetItemData(int)const \n2596 unsigned long CListBox::GetItemData(int)const \n2597 unsigned long CListCtrl::GetItemData(int)const \n2598 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2599 void * CComboBox::GetItemDataPtr(int)const \n2600 void * CListBox::GetItemDataPtr(int)const \n2601 int CComboBox::GetItemHeight(int)const \n2602 int CListBox::GetItemHeight(int)const \n2603 short CTreeCtrl::GetItemHeight()const \n2604 unsigned int CStatusBar::GetItemID(int)const \n2605 unsigned int CToolBar::GetItemID(int)const \n2606 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2607 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n2608 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n2609 int CListBox::GetItemRect(int,tagRECT *)const \n2610 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2611 void CStatusBar::GetItemRect(int,tagRECT *)const \n2612 int CTabCtrl::GetItemRect(int,tagRECT *)const \n2613 void CToolBar::GetItemRect(int,tagRECT *)const \n2614 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n2615 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2616 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n2617 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2618 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2619 CString CListCtrl::GetItemText(int,int)const \n2620 int CListCtrl::GetItemText(int,int,char *,int)const \n2621 CString CTreeCtrl::GetItemText(_TREEITEM *)const \n2622 int CDC::GetKerningPairsA(int,tagKERNINGPAIR *)const \n2623 int CFileFind::GetLastAccessTime(CTime &)const \n2624 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2625 int CGopherFileFind::GetLastAccessTime(CTime &)const \n2626 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2627 CWnd * CWnd::GetLastActivePopup()const \n2628 int CFileFind::GetLastWriteTime(CTime &)const \n2629 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2630 int CGopherFileFind::GetLastWriteTime(CTime &)const \n2631 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2632 unsigned long CDC::GetLayout()const \n2633 int CComboBox::GetLBText(int,char *)const \n2634 void CComboBox::GetLBText(int,CString &)const \n2635 int CComboBox::GetLBTextLen(int)const \n2636 unsigned long CFile::GetLength()const \n2637 unsigned long CFileFind::GetLength()const \n2638 unsigned long CGopherFileFind::GetLength()const \n2639 unsigned long CInternetFile::GetLength()const \n2640 int CString::GetLength()const \n2641 __int64 CFileFind::GetLength64()const \n2642 __int64 CGopherFileFind::GetLength64()const \n2643 unsigned int CEdit::GetLimitText()const \n2644 long CRichEditCtrl::GetLimitText()const \n2645 int CEdit::GetLine(int,char *)const \n2646 int CEdit::GetLine(int,char *,int)const \n2647 int CRichEditCtrl::GetLine(int,char *)const \n2648 int CRichEditCtrl::GetLine(int,char *,int)const \n2649 int CEdit::GetLineCount()const \n2650 int CRichEditCtrl::GetLineCount()const \n2651 int CSliderCtrl::GetLineSize()const \n2652 CListCtrl & CListView::GetListCtrl()const \n2653 unsigned long CComboBox::GetLocale()const \n2654 unsigned long CListBox::GetLocale()const \n2655 tm * CTime::GetLocalTm(tm *)const \n2656 CGopherLocator CGopherFileFind::GetLocator()const \n2657 int CGopherLocator::GetLocatorType(unsigned long &)const \n2658 int CBrush::GetLogBrush(tagLOGBRUSH *)\n2659 int CFont::GetLogFont(tagLOGFONTA *)\n2660 int CPen::GetLogPen(tagLOGPEN *)\n2661 CWnd * CWinThread::GetMainWnd()\n2662 int CDC::GetMapMode()const \n2663 void CToolTipCtrl::GetMargin(tagRECT *)const \n2664 unsigned long CEdit::GetMargins()const \n2665 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2666 unsigned int CPrintInfo::GetMaxPage()const \n2667 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n2668 int CToolBarCtrl::GetMaxTextRows()const \n2669 int CToolTipCtrl::GetMaxTipWidth()const \n2670 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2671 CMenu * CWnd::GetMenu()const \n2672 unsigned long CMenu::GetMenuContextHelpId()const \n2673 unsigned int CMenu::GetMenuItemCount()const \n2674 unsigned int CMenu::GetMenuItemID(int)const \n2675 int CMenu::GetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n2676 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n2677 int CMenu::GetMenuStringA(unsigned int,CString &,unsigned int)const \n2678 int CMenu::GetMenuStringA(unsigned int,char *,int,unsigned int)const \n2679 CWnd * CFrameWnd::GetMessageBar()\n2680 CWnd * CMDIChildWnd::GetMessageBar()\n2681 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2682 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2683 AFX_MSGMAP const * CColorDialog::GetMessageMap()const \n2684 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2685 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2686 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2687 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2688 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2689 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2690 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2691 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2692 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2693 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2694 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2695 AFX_MSGMAP const * CListView::GetMessageMap()const \n2696 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2697 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2698 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2699 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2700 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2701 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2702 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2703 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2704 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2705 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2706 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2707 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2708 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2709 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2710 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2711 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2712 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2713 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2714 AFX_MSGMAP const * CView::GetMessageMap()const \n2715 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2716 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2717 void CFrameWnd::GetMessageString(unsigned int,CString &)const \n2718 unsigned int CPrintInfo::GetMinPage()const \n2719 int CTime::GetMinute()const \n2720 int CTimeSpan::GetMinutes()const \n2721 float CDC::GetMiterLimit()const \n2722 int CEdit::GetModify()const \n2723 int CRichEditCtrl::GetModify()const \n2724 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2725 int CTime::GetMonth()const \n2726 unsigned long CDC::GetNearestColor(unsigned long)const \n2727 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n2728 CObject * & CObList::GetNext(__POSITION * &)\n2729 CObject * CObList::GetNext(__POSITION * &)const \n2730 void * & CPtrList::GetNext(__POSITION * &)\n2731 void * CPtrList::GetNext(__POSITION * &)const \n2732 CString & CStringList::GetNext(__POSITION * &)\n2733 CString CStringList::GetNext(__POSITION * &)const \n2734 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n2735 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n2736 void CMapStringToOb::GetNextAssoc(__POSITION * &,CString &,CObject * &)const \n2737 void CMapStringToPtr::GetNextAssoc(__POSITION * &,CString &,void * &)const \n2738 void CMapStringToString::GetNextAssoc(__POSITION * &,CString &,CString &)const \n2739 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n2740 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n2741 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n2742 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n2743 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n2744 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n2745 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n2746 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n2747 int CListCtrl::GetNextItem(int,int)const \n2748 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n2749 CString CFileDialog::GetNextPathName(__POSITION * &)const \n2750 void * * CSimpleList::GetNextPtr(void *)const \n2751 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n2752 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n2753 CView * CDocument::GetNextView(__POSITION * &)const \n2754 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n2755 HWND__ * GetNextWindow(HWND__ *,unsigned int)\n2756 CWnd * CWnd::GetNextWindow(unsigned int)const \n2757 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n2758 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n2759 unsigned int CSliderCtrl::GetNumTics()const \n2760 int CGdiObject::GetObjectA(int,void *)const \n2761 CString CHttpFile::GetObjectA()const \n2762 unsigned int CArchive::GetObjectSchema()\n2763 unsigned int CGdiObject::GetObjectType()const \n2764 CWnd * CWnd::GetOpenClipboardWindow()\n2765 int CDocManager::GetOpenDocumentCount()\n2766 int CWinApp::GetOpenDocumentCount()\n2767 int CHeaderCtrl::GetOrderArray(int *,int)\n2768 int CListCtrl::GetOrigin(tagPOINT *)const \n2769 unsigned int CDC::GetOutlineTextMetricsA(unsigned int,_OUTLINETEXTMETRICA *)const \n2770 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n2771 CSize CDC::GetOutputTabbedTextExtent(CString const &,int,int *)const \n2772 CSize CDC::GetOutputTabbedTextExtent(char const *,int,int,int *)const \n2773 CSize CDC::GetOutputTextExtent(CString const &)const \n2774 CSize CDC::GetOutputTextExtent(char const *,int)const \n2775 int CDC::GetOutputTextMetrics(tagTEXTMETRICA *)const \n2776 CWnd * CWnd::GetOwner()const \n2777 CPropertyPage * CPropertySheet::GetPage(int)const \n2778 int CPropertySheet::GetPageCount()const \n2779 int CPropertySheet::GetPageIndex(CPropertyPage *)\n2780 int CSliderCtrl::GetPageSize()const \n2781 CPalette * CReBarCtrl::GetPalette()const \n2782 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n2783 CWnd * CSplitterWnd::GetPane(int,int)const \n2784 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n2785 unsigned int CStatusBar::GetPaneStyle(int)const \n2786 CString CStatusBar::GetPaneText(int)const \n2787 void CStatusBar::GetPaneText(int,CString &)const \n2788 CSize CPageSetupDialog::GetPaperSize()const \n2789 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n2790 CWnd * CWnd::GetParent()const \n2791 CFrameWnd * CWnd::GetParentFrame()const \n2792 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n2793 CWnd * CWnd::GetParentOwner()const \n2794 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n2795 int CStatusBarCtrl::GetParts(int,int *)const \n2796 char CEdit::GetPasswordChar()const \n2797 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n2798 CString const & CDocument::GetPathName()const \n2799 CString CFileDialog::GetPathName()const \n2800 unsigned long CDC::GetPixel(int,int)const \n2801 unsigned long CDC::GetPixel(tagPOINT)const \n2802 int CDC::GetPolyFillMode()const \n2803 CString CPageSetupDialog::GetPortName()const \n2804 CString CPrintDialog::GetPortName()const \n2805 int CProgressCtrl::GetPos()\n2806 int CSliderCtrl::GetPos()const \n2807 int CSpinButtonCtrl::GetPos()const \n2808 unsigned long CFile::GetPosition()const \n2809 unsigned long CMemFile::GetPosition()const \n2810 unsigned long CStdioFile::GetPosition()const \n2811 CObject * & CObList::GetPrev(__POSITION * &)\n2812 CObject * CObList::GetPrev(__POSITION * &)const \n2813 void * & CPtrList::GetPrev(__POSITION * &)\n2814 void * CPtrList::GetPrev(__POSITION * &)const \n2815 CString & CStringList::GetPrev(__POSITION * &)\n2816 CString CStringList::GetPrev(__POSITION * &)const \n2817 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n2818 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n2819 HDC__ * CPrintDialog::GetPrinterDC()const \n2820 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n2821 CFont * CEditView::GetPrinterFont()const \n2822 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n2823 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n2824 CString CWinApp::GetProfileStringA(char const *,char const *,char const *)\n2825 void CWnd::GetProperty(long,unsigned short,void *)const \n2826 _AFX_OLDPROPSHEETHEADER * CPropertySheet::GetPropSheetHeader()\n2827 void CProgressCtrl::GetRange(int &,int &)\n2828 void CSliderCtrl::GetRange(int &,int &)const \n2829 unsigned long CSpinButtonCtrl::GetRange()const \n2830 void CSpinButtonCtrl::GetRange(int &,int &)const \n2831 void CSpinButtonCtrl::GetRange32(int &,int &)const \n2832 int CSliderCtrl::GetRangeMax()const \n2833 int CSliderCtrl::GetRangeMin()const \n2834 int CFileDialog::GetReadOnlyPref()const \n2835 CReBarCtrl & CReBar::GetReBarCtrl()const \n2836 void CEdit::GetRect(tagRECT *)const \n2837 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n2838 void CRichEditCtrl::GetRect(tagRECT *)const \n2839 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n2840 int CToolBarCtrl::GetRect(int,tagRECT *)const \n2841 int CRgn::GetRegionData(_RGNDATA *,int)const \n2842 CString CFindReplaceDialog::GetReplaceString()const \n2843 int CRgn::GetRgnBox(tagRECT *)const \n2844 CString CFileFind::GetRoot()const \n2845 CString CGopherFileFind::GetRoot()const \n2846 _TREEITEM * CTreeCtrl::GetRootItem()const \n2847 int CDC::GetROP2()const \n2848 CFrameWnd * CCmdTarget::GetRoutingFrame()\n2849 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n2850 CView * CCmdTarget::GetRoutingView()\n2851 CView * CCmdTarget::GetRoutingView_()\n2852 unsigned int CReBarCtrl::GetRowCount()const \n2853 int CSplitterWnd::GetRowCount()const \n2854 int CTabCtrl::GetRowCount()const \n2855 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n2856 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n2857 int CToolBarCtrl::GetRows()const \n2858 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n2859 CRuntime* CArchiveException::GetRuntimeClass()const \n2860 CRuntime* CBitmap::GetRuntimeClass()const \n2861 CRuntime* CBitmapButton::GetRuntimeClass()const \n2862 CRuntime* CBrush::GetRuntimeClass()const \n2863 CRuntime* CButton::GetRuntimeClass()const \n2864 CRuntime* CByteArray::GetRuntimeClass()const \n2865 CRuntime* CCheckListBox::GetRuntimeClass()const \n2866 CRuntime* CClientDC::GetRuntimeClass()const \n2867 CRuntime* CCmdTarget::GetRuntimeClass()const \n2868 CRuntime* CColorDialog::GetRuntimeClass()const \n2869 CRuntime* CComboBox::GetRuntimeClass()const \n2870 CRuntime* CComboBoxEx::GetRuntimeClass()const \n2871 CRuntime* CControlBar::GetRuntimeClass()const \n2872 CRuntime* CCriticalSection::GetRuntimeClass()const \n2873 CRuntime* CCtrlView::GetRuntimeClass()const \n2874 CRuntime* CDC::GetRuntimeClass()const \n2875 CRuntime* CDialog::GetRuntimeClass()const \n2876 CRuntime* CDialogBar::GetRuntimeClass()const \n2877 CRuntime* CDockBar::GetRuntimeClass()const \n2878 CRuntime* CDockState::GetRuntimeClass()const \n2879 CRuntime* CDocManager::GetRuntimeClass()const \n2880 CRuntime* CDocTemplate::GetRuntimeClass()const \n2881 CRuntime* CDocument::GetRuntimeClass()const \n2882 CRuntime* CDragListBox::GetRuntimeClass()const \n2883 CRuntime* CDWordArray::GetRuntimeClass()const \n2884 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n2885 CRuntime* CEdit::GetRuntimeClass()const \n2886 CRuntime* CEditView::GetRuntimeClass()const \n2887 CRuntime* CEvent::GetRuntimeClass()const \n2888 CRuntime* CException::GetRuntimeClass()const \n2889 CRuntime* CFile::GetRuntimeClass()const \n2890 CRuntime* CFileDialog::GetRuntimeClass()const \n2891 CRuntime* CFileException::GetRuntimeClass()const \n2892 CRuntime* CFileFind::GetRuntimeClass()const \n2893 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n2894 CRuntime* CFont::GetRuntimeClass()const \n2895 CRuntime* CFontDialog::GetRuntimeClass()const \n2896 CRuntime* CFormView::GetRuntimeClass()const \n2897 CRuntime* CFrameWnd::GetRuntimeClass()const \n2898 CRuntime* CFtpConnection::GetRuntimeClass()const \n2899 CRuntime* CFtpFileFind::GetRuntimeClass()const \n2900 CRuntime* CGdiObject::GetRuntimeClass()const \n2901 CRuntime* CGopherConnection::GetRuntimeClass()const \n2902 CRuntime* CGopherFile::GetRuntimeClass()const \n2903 CRuntime* CGopherFileFind::GetRuntimeClass()const \n2904 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n2905 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n2906 CRuntime* CHttpConnection::GetRuntimeClass()const \n2907 CRuntime* CHttpFile::GetRuntimeClass()const \n2908 CRuntime* CImageList::GetRuntimeClass()const \n2909 CRuntime* CInternetConnection::GetRuntimeClass()const \n2910 CRuntime* CInternetException::GetRuntimeClass()const \n2911 CRuntime* CInternetFile::GetRuntimeClass()const \n2912 CRuntime* CInternetSession::GetRuntimeClass()const \n2913 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n2914 CRuntime* CListBox::GetRuntimeClass()const \n2915 CRuntime* CListCtrl::GetRuntimeClass()const \n2916 CRuntime* CListView::GetRuntimeClass()const \n2917 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n2918 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n2919 CRuntime* CMapStringToOb::GetRuntimeClass()const \n2920 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n2921 CRuntime* CMapStringToString::GetRuntimeClass()const \n2922 CRuntime* CMapWordToOb::GetRuntimeClass()const \n2923 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n2924 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n2925 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n2926 CRuntime* CMemFile::GetRuntimeClass()const \n2927 CRuntime* CMemoryException::GetRuntimeClass()const \n2928 CRuntime* CMenu::GetRuntimeClass()const \n2929 CRuntime* CMetaFileDC::GetRuntimeClass()const \n2930 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n2931 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n2932 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n2933 CRuntime* CMutex::GetRuntimeClass()const \n2934 CRuntime* CNotSupportedException::GetRuntimeClass()const \n2935 CRuntime* CObArray::GetRuntimeClass()const \n2936 CRuntime* CObject::GetRuntimeClass()const \n2937 CRuntime* CObList::GetRuntimeClass()const \n2938 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n2939 CRuntime* CPaintDC::GetRuntimeClass()const \n2940 CRuntime* CPalette::GetRuntimeClass()const \n2941 CRuntime* CPen::GetRuntimeClass()const \n2942 CRuntime* CPreviewDC::GetRuntimeClass()const \n2943 CRuntime* CPreviewView::GetRuntimeClass()const \n2944 CRuntime* CPrintDialog::GetRuntimeClass()const \n2945 CRuntime* CProgressCtrl::GetRuntimeClass()const \n2946 CRuntime* CPropertyPage::GetRuntimeClass()const \n2947 CRuntime* CPropertyPageEx::GetRuntimeClass()const \n2948 CRuntime* CPropertySheet::GetRuntimeClass()const \n2949 CRuntime* CPropertySheetEx::GetRuntimeClass()const \n2950 CRuntime* CPtrArray::GetRuntimeClass()const \n2951 CRuntime* CPtrList::GetRuntimeClass()const \n2952 CRuntime* CReBar::GetRuntimeClass()const \n2953 CRuntime* CReBarCtrl::GetRuntimeClass()const \n2954 CRuntime* CResourceException::GetRuntimeClass()const \n2955 CRuntime* CRgn::GetRuntimeClass()const \n2956 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n2957 CRuntime* CScrollBar::GetRuntimeClass()const \n2958 CRuntime* CScrollView::GetRuntimeClass()const \n2959 CRuntime* CSemaphore::GetRuntimeClass()const \n2960 CRuntime* CSharedFile::GetRuntimeClass()const \n2961 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n2962 CRuntime* CSliderCtrl::GetRuntimeClass()const \n2963 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n2964 CRuntime* CSplitterWnd::GetRuntimeClass()const \n2965 CRuntime* CStatic::GetRuntimeClass()const \n2966 CRuntime* CStatusBar::GetRuntimeClass()const \n2967 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n2968 CRuntime* CStdioFile::GetRuntimeClass()const \n2969 CRuntime* CStringArray::GetRuntimeClass()const \n2970 CRuntime* CStringList::GetRuntimeClass()const \n2971 CRuntime* CSyncObject::GetRuntimeClass()const \n2972 CRuntime* CTabCtrl::GetRuntimeClass()const \n2973 CRuntime* CTempDC::GetRuntimeClass()const \n2974 CRuntime* CTempGdiObject::GetRuntimeClass()const \n2975 CRuntime* CTempImageList::GetRuntimeClass()const \n2976 CRuntime* CTempMenu::GetRuntimeClass()const \n2977 CRuntime* CTempWnd::GetRuntimeClass()const \n2978 CRuntime* CToolBar::GetRuntimeClass()const \n2979 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n2980 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n2981 CRuntime* CTreeCtrl::GetRuntimeClass()const \n2982 CRuntime* CTreeView::GetRuntimeClass()const \n2983 CRuntime* CUIntArray::GetRuntimeClass()const \n2984 CRuntime* CUserException::GetRuntimeClass()const \n2985 CRuntime* CView::GetRuntimeClass()const \n2986 CRuntime* CWinApp::GetRuntimeClass()const \n2987 CRuntime* CWindowDC::GetRuntimeClass()const \n2988 CRuntime* CWinThread::GetRuntimeClass()const \n2989 CRuntime* CWnd::GetRuntimeClass()const \n2990 CRuntime* CWordArray::GetRuntimeClass()const \n2991 void * CGdiObject::GetSafeHandle()const \n2992 _IMAGELIST * CImageList::GetSafeHandle()const \n2993 HDC__ * CDC::GetSafeHdc()const \n2994 HMENU__ * CMenu::GetSafeHmenu()const \n2995 HWND__ * CWnd::GetSafeHwnd()const \n2996 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n2997 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n2998 unsigned long * CColorDialog::GetSavedCustomColors()\n2999 CString CGopherFileFind::GetScreenName()const \n3000 CSize CDockState::GetScreenSize()\n3001 CScrollBar * CView::GetScrollBarCtrl(int)const \n3002 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3003 void CScrollView::GetScrollBarSizes(CSize &)\n3004 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3005 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n3006 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3007 int CScrollBar::GetScrollLimit()\n3008 int CWnd::GetScrollLimit(int)\n3009 int CScrollBar::GetScrollPos()const \n3010 int CWnd::GetScrollPos(int)const \n3011 CPoint CScrollView::GetScrollPosition()const \n3012 void CScrollBar::GetScrollRange(int *,int *)const \n3013 void CWnd::GetScrollRange(int,int *,int *)const \n3014 unsigned long CSplitterWnd::GetScrollStyle()const \n3015 int CTime::GetSecond()const \n3016 int CTimeSpan::GetSeconds()const \n3017 HKEY__ * CWinApp::GetSectionKey(char const *)\n3018 unsigned long CEdit::GetSel()const \n3019 void CEdit::GetSel(int &,int &)const \n3020 int CListBox::GetSel(int)const \n3021 void CRichEditCtrl::GetSel(long &,long &)const \n3022 void CRichEditCtrl::GetSel(_charrange &)const \n3023 int CListBox::GetSelCount()const \n3024 unsigned int CListCtrl::GetSelectedCount()const \n3025 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n3026 void CEditView::GetSelectedText(CString &)const \n3027 void CSliderCtrl::GetSelection(int &,int &)const \n3028 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3029 int CListCtrl::GetSelectionMark()\n3030 unsigned short CRichEditCtrl::GetSelectionType()const \n3031 int CListBox::GetSelItems(int,int *)const \n3032 CString CRichEditCtrl::GetSelText()const \n3033 long CRichEditCtrl::GetSelText(char *)const \n3034 CString CInternetConnection::GetServerName()const \n3035 CInternetSession * CInternetConnection::GetSession()const \n3036 int CByteArray::GetSize()const \n3037 int CDWordArray::GetSize()const \n3038 int CFontDialog::GetSize()const \n3039 int CObArray::GetSize()const \n3040 int CPtrArray::GetSize()const \n3041 int CRecentFileList::GetSize()const \n3042 int CStringArray::GetSize()const \n3043 int CUIntArray::GetSize()const \n3044 int CWordArray::GetSize()const \n3045 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3046 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3047 CWnd * CSplitterWnd::GetSizingParent()\n3048 __POSITION * CFileDialog::GetStartPosition()const \n3049 __POSITION * CMapPtrToPtr::GetStartPosition()const \n3050 __POSITION * CMapPtrToWord::GetStartPosition()const \n3051 __POSITION * CMapStringToOb::GetStartPosition()const \n3052 __POSITION * CMapStringToPtr::GetStartPosition()const \n3053 __POSITION * CMapStringToString::GetStartPosition()const \n3054 __POSITION * CMapWordToOb::GetStartPosition()const \n3055 __POSITION * CMapWordToPtr::GetStartPosition()const \n3056 unsigned int CButton::GetState()const \n3057 int CToolBarCtrl::GetState(int)const \n3058 int CFile::GetStatus(CFileStatus &)const \n3059 int CFile::GetStatus(char const *,CFileStatus &)\n3060 int CMemFile::GetStatus(CFileStatus &)const \n3061 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n3062 int CDC::GetStretchBltMode()const \n3063 int CListCtrl::GetStringWidth(char const *)const \n3064 unsigned long CToolBarCtrl::GetStyle()const \n3065 unsigned long CWnd::GetStyle()const \n3066 CString CFontDialog::GetStyleName()const \n3067 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3068 CMenu * CMenu::GetSubMenu(int)const \n3069 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3070 CMenu * CWnd::GetSystemMenu(int)const \n3071 CSize CDC::GetTabbedTextExtentA(CString const &,int,int *)const \n3072 CSize CDC::GetTabbedTextExtentA(char const *,int,int,int *)const \n3073 CTabCtrl * CPropertySheet::GetTabControl()const \n3074 CObject * & CObList::GetTail()\n3075 CObject * CObList::GetTail()const \n3076 void * & CPtrList::GetTail()\n3077 void * CPtrList::GetTail()const \n3078 CString & CStringList::GetTail()\n3079 CString CStringList::GetTail()const \n3080 __POSITION * CObList::GetTailPosition()const \n3081 __POSITION * CPtrList::GetTailPosition()const \n3082 __POSITION * CStringList::GetTailPosition()const \n3083 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3084 CString CMirrorFile::GetTempName(char const *,int)\n3085 int CListBox::GetText(int,char *)const \n3086 void CListBox::GetText(int,CString &)const \n3087 CString CStatusBarCtrl::GetText(int,int *)const \n3088 int CStatusBarCtrl::GetText(char const *,int,int *)const \n3089 void CToolTipCtrl::GetText(CString &,CWnd *,unsigned int)const \n3090 unsigned int CDC::GetTextAlign()const \n3091 unsigned long CListCtrl::GetTextBkColor()const \n3092 int CDC::GetTextCharacterExtra()const \n3093 unsigned long CDC::GetTextColor()const \n3094 unsigned long CListCtrl::GetTextColor()const \n3095 unsigned long CReBarCtrl::GetTextColor()const \n3096 unsigned long CTreeCtrl::GetTextColor()const \n3097 CSize CDC::GetTextExtent(CString const &)const \n3098 CSize CDC::GetTextExtent(char const *,int)const \n3099 int CDC::GetTextFaceA(CString &)const \n3100 int CDC::GetTextFaceA(int,char *)const \n3101 int CListBox::GetTextLen(int)const \n3102 long CRichEditCtrl::GetTextLength()const \n3103 int CStatusBarCtrl::GetTextLength(int,int *)const \n3104 int CDC::GetTextMetricsA(tagTEXTMETRICA *)const \n3105 int CWinThread::GetThreadPriority()\n3106 void * CThreadSlotData::GetThreadValue(int)\n3107 void CSliderCtrl::GetThumbRect(tagRECT *)const \n3108 int CSliderCtrl::GetTic(int)const \n3109 unsigned long * CSliderCtrl::GetTicArray()const \n3110 CTime CTime::GetTickCount()\n3111 int CSliderCtrl::GetTicPos(int)const \n3112 long CTime::GetTime()const \n3113 unsigned long CToolTipCtrl::GetTipBkColor()const \n3114 CString CStatusBarCtrl::GetTipText(int)const \n3115 unsigned long CToolTipCtrl::GetTipTextColor()const \n3116 CString const & CDocument::GetTitle()const \n3117 CString CFrameWnd::GetTitle()const \n3118 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n3119 int CToolTipCtrl::GetToolCount()const \n3120 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3121 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n3122 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n3123 CToolTipCtrl * CTabCtrl::GetToolTips()const \n3124 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n3125 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n3126 int CPrintDialog::GetToPage()const \n3127 unsigned int CPrintInfo::GetToPage()const \n3128 int CComboBox::GetTopIndex()const \n3129 int CListBox::GetTopIndex()const \n3130 int CListCtrl::GetTopIndex()const \n3131 CFrameWnd * CWnd::GetTopLevelFrame()const \n3132 CWnd * CWnd::GetTopLevelOwner()const \n3133 CWnd * CWnd::GetTopLevelParent()const \n3134 CWnd * CWnd::GetTopWindow()const \n3135 long CTimeSpan::GetTotalHours()const \n3136 long CTimeSpan::GetTotalMinutes()const \n3137 long CTimeSpan::GetTotalSeconds()const \n3138 CSize CScrollView::GetTotalSize()const \n3139 CTreeCtrl & CTreeView::GetTreeCtrl()const \n3140 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3141 void CRectTracker::GetTrueRect(tagRECT *)const \n3142 unsigned int CCmdTarget::GetTypeInfoCount()\n3143 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3144 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3145 int CWnd::GetUpdateRect(tagRECT *,int)\n3146 int CWnd::GetUpdateRgn(CRgn *,int)\n3147 int CByteArray::GetUpperBound()const \n3148 int CDWordArray::GetUpperBound()const \n3149 int CObArray::GetUpperBound()const \n3150 int CPtrArray::GetUpperBound()const \n3151 int CStringArray::GetUpperBound()const \n3152 int CUIntArray::GetUpperBound()const \n3153 int CWordArray::GetUpperBound()const \n3154 void * CMapPtrToPtr::GetValueAt(void *)const \n3155 CString CHttpFile::GetVerb()const \n3156 unsigned long CDockState::GetVersion()\n3157 CSize CDC::GetViewportExt()const \n3158 CPoint CDC::GetViewportOrg()const \n3159 int CListCtrl::GetViewRect(tagRECT *)const \n3160 unsigned int CTreeCtrl::GetVisibleCount()const \n3161 int CFontDialog::GetWeight()const \n3162 CWnd * CDC::GetWindow()const \n3163 CWnd * CWnd::GetWindow(unsigned int)const \n3164 unsigned long CWnd::GetWindowContextHelpId()const \n3165 CDC * CWnd::GetWindowDC()\n3166 CSize CDC::GetWindowExt()const \n3167 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3168 CPoint CDC::GetWindowOrg()const \n3169 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3170 void CWnd::GetWindowRect(tagRECT *)const \n3171 int CWnd::GetWindowRgn(HRGN__ *)const \n3172 HTASK__ * GetWindowTask(HWND__ *)\n3173 int CWnd::GetWindowTextA(char *,int)const \n3174 void CWnd::GetWindowTextA(CString &)const \n3175 int CWnd::GetWindowTextLengthA()const \n3176 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n3177 int CTime::GetYear()const \n3178 void CDialog::GotoDlgCtrl(CWnd *)\n3179 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3180 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3181 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3182 void CMemFile::GrowFile(unsigned long)\n3183 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3184 long CDialog::HandleInitDialog(unsigned int,long)\n3185 long CDialogBar::HandleInitDialog(unsigned int,long)\n3186 long CFormView::HandleInitDialog(unsigned int,long)\n3187 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3188 long CDialog::HandleSetFont(unsigned int,long)\n3189 int CComboBoxEx::HasEditChanged()\n3190 int HasFont(DLGTEMPLATE const *)\n3191 int CDialogTemplate::HasFont()const \n3192 unsigned int HashKey(char const *)\n3193 unsigned int HashKey(unsigned short const *)\n3194 unsigned int CMapPtrToPtr::HashKey(void *)const \n3195 unsigned int CMapPtrToWord::HashKey(void *)const \n3196 unsigned int CMapStringToOb::HashKey(char const *)const \n3197 unsigned int CMapStringToPtr::HashKey(char const *)const \n3198 unsigned int CMapStringToString::HashKey(char const *)const \n3199 unsigned int CMapWordToOb::HashKey(unsigned short)const \n3200 unsigned int CMapWordToPtr::HashKey(unsigned short)const \n3201 int CRect::Height()const \n3202 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n3203 void CWinApp::HideApplication()\n3204 int CToolBarCtrl::HideButton(int,int)\n3205 void CWnd::HideCaret()\n3206 void CFileDialog::HideControl(int)\n3207 void CRichEditCtrl::HideSelection(int,int)\n3208 int CTabCtrl::HighlightItem(int,int)\n3209 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n3210 void CDC::HIMETRICtoDP(tagSIZE *)const \n3211 void CDC::HIMETRICtoLP(tagSIZE *)const \n3212 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n3213 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3214 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n3215 int CRectTracker::HitTest(CPoint)const \n3216 int CSplitterWnd::HitTest(CPoint)const \n3217 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n3218 int CToolBarCtrl::HitTest(tagPOINT *)const \n3219 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n3220 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n3221 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3222 int CRectTracker::HitTestHandles(CPoint)const \n3223 int CSplitterWnd::IdFromRowCol(int,int)const \n3224 int CReBarCtrl::IDToIndex(unsigned int)const \n3225 int CToolBarCtrl::Indeterminate(int,int)\n3226 void CRect::InflateRect(int,int)\n3227 void CRect::InflateRect(int,int,int,int)\n3228 void CRect::InflateRect(tagRECT const *)\n3229 void CRect::InflateRect(tagSIZE)\n3230 void CString::Init()\n3231 int CWinApp::InitApplication()\n3232 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3233 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3234 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3235 void CMapStringToOb::InitHashTable(unsigned int,int)\n3236 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3237 void CMapStringToString::InitHashTable(unsigned int,int)\n3238 void CMapWordToOb::InitHashTable(unsigned int,int)\n3239 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3240 void CMiniFrameWnd::Initialize()\n3241 int CEditView::InitializeReplace()\n3242 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3243 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3244 int CWinApp::InitInstance()\n3245 int CWinThread::InitInstance()\n3246 void CDockContext::InitLoop()\n3247 int CDialog::InitModalIndirect(void *,CWnd *)\n3248 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3249 int CComboBox::InitStorage(int,unsigned int)\n3250 int CListBox::InitStorage(int,unsigned int)\n3251 void CSimpleException::InitString()\n3252 int CFrameWnd::InModalState()const \n3253 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3254 int CString::Insert(int,char)\n3255 int CString::Insert(int,char const *)\n3256 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3257 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3258 __POSITION * CStringList::InsertAfter(__POSITION *,CString const &)\n3259 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n3260 void CByteArray::InsertAt(int,unsigned char,int)\n3261 void CByteArray::InsertAt(int,CByteArray *)\n3262 void CDWordArray::InsertAt(int,unsigned long,int)\n3263 void CDWordArray::InsertAt(int,CDWordArray *)\n3264 void CObArray::InsertAt(int,CObArray *)\n3265 void CObArray::InsertAt(int,CObject *,int)\n3266 void CPtrArray::InsertAt(int,CPtrArray *)\n3267 void CPtrArray::InsertAt(int,void *,int)\n3268 void CStringArray::InsertAt(int,CString const &,int)\n3269 void CStringArray::InsertAt(int,CStringArray *)\n3270 void CStringArray::InsertAt(int,char const *,int)\n3271 void CUIntArray::InsertAt(int,unsigned int,int)\n3272 void CUIntArray::InsertAt(int,CUIntArray *)\n3273 void CWordArray::InsertAt(int,unsigned short,int)\n3274 void CWordArray::InsertAt(int,CWordArray *)\n3275 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOA *)\n3276 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3277 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3278 __POSITION * CStringList::InsertBefore(__POSITION *,CString const &)\n3279 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n3280 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n3281 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n3282 int CListCtrl::InsertColumn(int,tagLVCOLUMNA const *)\n3283 void CStringArray::InsertEmpty(int,int)\n3284 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n3285 int CHeaderCtrl::InsertItem(int,_HD_ITEMA *)\n3286 int CListCtrl::InsertItem(int,char const *)\n3287 int CListCtrl::InsertItem(int,char const *,int)\n3288 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n3289 int CListCtrl::InsertItem(tagLVITEMA const *)\n3290 int CTabCtrl::InsertItem(int,tagTCITEMA *)\n3291 int CTabCtrl::InsertItem(int,char const *)\n3292 int CTabCtrl::InsertItem(int,char const *,int)\n3293 int CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n3294 int CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n3295 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3296 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTA *)\n3297 _TREEITEM * CTreeCtrl::InsertItem(char const *,int,int,_TREEITEM *,_TREEITEM *)\n3298 _TREEITEM * CTreeCtrl::InsertItem(char const *,_TREEITEM *,_TREEITEM *)\n3299 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n3300 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,char const *)\n3301 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n3302 int CComboBox::InsertString(int,char const *)\n3303 int CComboBoxEx::InsertString(int,char const *)\n3304 int CListBox::InsertString(int,char const *)\n3305 AFX_INTERFACEMAP const CCmdTarget::interfaceMap\n3306 int CDC::IntersectClipRect(int,int,int,int)\n3307 int CDC::IntersectClipRect(tagRECT const *)\n3308 int CRect::IntersectRect(tagRECT const *,tagRECT const *)\n3309 void CWnd::Invalidate(int)\n3310 void CCheckListBox::InvalidateCheck(int)\n3311 void CCheckListBox::InvalidateItem(int)\n3312 void CWnd::InvalidateRect(tagRECT const *,int)\n3313 void CWnd::InvalidateRgn(CRgn *,int)\n3314 void CDC::InvertRect(tagRECT const *)\n3315 int CDC::InvertRgn(CRgn *)\n3316 void CMiniFrameWnd::InvertSysMenu()\n3317 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3318 int CFileFind::IsArchived()const \n3319 int CIPAddressCtrl::IsBlank()const \n3320 int CFontDialog::IsBold()const \n3321 int CArchive::IsBufferEmpty()const \n3322 int CToolBarCtrl::IsButtonChecked(int)const \n3323 int CPropertyPage::IsButtonEnabled(int)\n3324 int CToolBarCtrl::IsButtonEnabled(int)const \n3325 int CToolBarCtrl::IsButtonHidden(int)const \n3326 int CToolBarCtrl::IsButtonHighlighted(int)const \n3327 int CToolBarCtrl::IsButtonIndeterminate(int)const \n3328 int CToolBarCtrl::IsButtonPressed(int)const \n3329 int IsButtonUp(tagMSG *)\n3330 int CArchive::IsByteSwapping()const \n3331 int CWnd::IsChild(CWnd const *)const \n3332 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n3333 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3334 int CFileFind::IsCompressed()const \n3335 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3336 int IsDialogEx(DLGTEMPLATE const *)\n3337 int CWnd::IsDialogMessageA(tagMSG *)\n3338 int CFileFind::IsDirectory()const \n3339 int IsDirSep(char)\n3340 unsigned int CWnd::IsDlgButtonChecked(int)const \n3341 int CControlBar::IsDockBar()const \n3342 int CDockBar::IsDockBar()const \n3343 int CFileFind::IsDots()const \n3344 int CGopherFileFind::IsDots()const \n3345 int CMapPtrToPtr::IsEmpty()const \n3346 int CMapPtrToWord::IsEmpty()const \n3347 int CMapStringToOb::IsEmpty()const \n3348 int CMapStringToPtr::IsEmpty()const \n3349 int CMapStringToString::IsEmpty()const \n3350 int CMapWordToOb::IsEmpty()const \n3351 int CMapWordToPtr::IsEmpty()const \n3352 int CObList::IsEmpty()const \n3353 int CPtrList::IsEmpty()const \n3354 int CSimpleList::IsEmpty()const \n3355 int CString::IsEmpty()const \n3356 int CStringList::IsEmpty()const \n3357 int CCheckListBox::IsEnabled(int)\n3358 int IsEnterKey(tagMSG *)\n3359 int IsEqualGUID(_GUID const &,_GUID const &)\n3360 int CControlBar::IsFloating()const \n3361 int CFrameWnd::IsFrameWnd()const \n3362 int CWnd::IsFrameWnd()const \n3363 int IsHelpKey(tagMSG *)\n3364 int CFileFind::IsHidden()const \n3365 int CWnd::IsIconic()const \n3366 int CWinThread::IsIdleMessage(tagMSG *)\n3367 int CCmdTarget::IsInvokeAllowed(long)\n3368 int CFontDialog::IsItalic()const \n3369 int CObject::IsKindOf(CRuntimeconst *)const \n3370 int CArchive::IsLoading()const \n3371 int CMultiLock::IsLocked(unsigned long)\n3372 int CSingleLock::IsLocked()\n3373 int CDocument::IsModified()\n3374 int CFileFind::IsNormal()const \n3375 int CDC::IsPrinting()const \n3376 int CFileFind::IsReadOnly()const \n3377 int CRect::IsRectEmpty()const \n3378 int CRect::IsRectNull()const \n3379 int CView::IsSelected(CObject const *)const \n3380 int CObject::IsSerializable()const \n3381 int CStatusBarCtrl::IsSimple()const \n3382 int CArchive::IsStoring()const \n3383 int CFontDialog::IsStrikeOut()const \n3384 int CFileFind::IsSystem()const \n3385 int CFileFind::IsTemporary()const \n3386 int CFindReplaceDialog::IsTerminating()const \n3387 int CWnd::IsTopParentActive()const \n3388 int CFrameWnd::IsTracking()const \n3389 int CSplitterWnd::IsTracking()\n3390 int CFontDialog::IsUnderline()const \n3391 int CControlBar::IsVisible()const \n3392 int CWnd::IsWindowEnabled()const \n3393 int CWnd::IsWindowVisible()const \n3394 int CPropertySheet::IsWizard()const \n3395 int CWnd::IsZoomed()const \n3396 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3397 int CDragListBox::ItemFromPt(CPoint,int)const \n3398 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3399 unsigned short * CToolBarData::items()\n3400 int CWnd::KillTimer(int)\n3401 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n3402 void CToolBar::Layout()\n3403 CString CString::Left(int)const \n3404 int CComboBox::LimitText(int)\n3405 void CEdit::LimitText(int)\n3406 void CRichEditCtrl::LimitText(long)\n3407 int CEdit::LineFromChar(int)const \n3408 long CRichEditCtrl::LineFromChar(long)const \n3409 int CEdit::LineIndex(int)const \n3410 int CRichEditCtrl::LineIndex(int)const \n3411 int CEdit::LineLength(int)const \n3412 int CRichEditCtrl::LineLength(int)const \n3413 void CEdit::LineScroll(int,int)\n3414 void CRichEditCtrl::LineScroll(int,int)\n3415 int CDC::LineTo(int,int)\n3416 int CDC::LineTo(tagPOINT)\n3417 int CDialogTemplate::Load(char const *)\n3418 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n3419 int CFrameWnd::LoadAccelTable(char const *)\n3420 void CFrameWnd::LoadBarState(char const *)\n3421 int CBitmap::LoadBitmapA(unsigned int)\n3422 int CBitmap::LoadBitmapA(char const *)\n3423 int CToolBar::LoadBitmapA(unsigned int)\n3424 int CToolBar::LoadBitmapA(char const *)\n3425 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n3426 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n3427 HICON__ * CWinApp::LoadCursorA(unsigned int)const \n3428 HICON__ * CWinApp::LoadCursorA(char const *)const \n3429 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3430 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3431 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3432 HICON__ * CWinApp::LoadIconA(unsigned int)const \n3433 HICON__ * CWinApp::LoadIconA(char const *)const \n3434 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n3435 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n3436 int CMenu::LoadMenuA(unsigned int)\n3437 int CMenu::LoadMenuA(char const *)\n3438 int CMenu::LoadMenuIndirectA(void const *)\n3439 int CBitmap::LoadOEMBitmap(unsigned int)\n3440 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n3441 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n3442 HICON__ * CWinApp::LoadStandardCursor(char const *)const \n3443 HICON__ * CWinApp::LoadStandardIcon(char const *)const \n3444 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n3445 void CDockState::LoadState(char const *)\n3446 void CWinApp::LoadStdProfileSettings(unsigned int)\n3447 int CString::LoadStringA(unsigned int)\n3448 void CDocTemplate::LoadTemplate()\n3449 void CMultiDocTemplate::LoadTemplate()\n3450 int CToolBar::LoadToolBar(unsigned int)\n3451 int CToolBar::LoadToolBar(char const *)\n3452 int CCriticalSection::Lock()\n3453 int CCriticalSection::Lock(unsigned long)\n3454 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n3455 int CSingleLock::Lock(unsigned long)\n3456 int CSyncObject::Lock(unsigned long)\n3457 char const * CEditView::LockBuffer()const \n3458 char * CString::LockBuffer()\n3459 void CFile::LockRange(unsigned long,unsigned long)\n3460 void CInternetFile::LockRange(unsigned long,unsigned long)\n3461 void CMemFile::LockRange(unsigned long,unsigned long)\n3462 void CStdioFile::LockRange(unsigned long,unsigned long)\n3463 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n3464 int CWnd::LockWindowUpdate()\n3465 int CMapPtrToPtr::Lookup(void *,void * &)const \n3466 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n3467 int CMapStringToOb::Lookup(char const *,CObject * &)const \n3468 int CMapStringToPtr::Lookup(char const *,void * &)const \n3469 int CMapStringToString::Lookup(char const *,CString &)const \n3470 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n3471 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n3472 int CMapStringToOb::LookupKey(char const *,char const * &)const \n3473 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n3474 int CMapStringToString::LookupKey(char const *,char const * &)const \n3475 CObject * CHandleMap::LookupPermanent(void *)\n3476 CObject * CHandleMap::LookupTemporary(void *)\n3477 void CDC::LPtoDP(tagPOINT *,int)const \n3478 void CDC::LPtoDP(tagRECT *)const \n3479 void CDC::LPtoDP(tagSIZE *)const \n3480 void CDC::LPtoHIMETRIC(tagSIZE *)const \n3481 void CString::MakeLower()\n3482 void CString::MakeReverse()\n3483 void CString::MakeUpper()\n3484 int CToolBarCtrl::MapAccelerator(char,unsigned int *)\n3485 void CDialog::MapDialogRect(tagRECT *)const \n3486 void CArchive::MapObject(CObject const *)\n3487 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n3488 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n3489 long CPropertyPage::MapWizardResult(long)\n3490 int CToolBarCtrl::MarkButton(int,int)\n3491 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n3492 int CFindReplaceDialog::MatchCase()const \n3493 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n3494 int CFileFind::MatchesMask(unsigned long)const \n3495 int CFindReplaceDialog::MatchWholeWord()const \n3496 void CReBarCtrl::MaximizeBand(unsigned int)\n3497 void CMDIChildWnd::MDIActivate()\n3498 void CMDIFrameWnd::MDIActivate(CWnd *)\n3499 void CMDIFrameWnd::MDICascade(int)\n3500 void CMDIFrameWnd::MDICascade()\n3501 void CMDIChildWnd::MDIDestroy()\n3502 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n3503 void CMDIFrameWnd::MDIIconArrange()\n3504 void CMDIChildWnd::MDIMaximize()\n3505 void CMDIFrameWnd::MDIMaximize(CWnd *)\n3506 void CMDIFrameWnd::MDINext()\n3507 void CMDIChildWnd::MDIRestore()\n3508 void CMDIFrameWnd::MDIRestore(CWnd *)\n3509 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n3510 void CMDIFrameWnd::MDITile(int)\n3511 void CMDIFrameWnd::MDITile()\n3512 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n3513 void CComboBox::MeasureItem(tagMEASUREITEM*)\n3514 void CListBox::MeasureItem(tagMEASUREITEM*)\n3515 void CMenu::MeasureItem(tagMEASUREITEM*)\n3516 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned int)\n3517 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n3518 AFX_MSGMAP const CCheckListBox::messageMap\n3519 AFX_MSGMAP const CCmdTarget::messageMap\n3520 AFX_MSGMAP const CColorDialog::messageMap\n3521 AFX_MSGMAP const CCommonDialog::messageMap\n3522 AFX_MSGMAP const CControlBar::messageMap\n3523 AFX_MSGMAP const CCtrlView::messageMap\n3524 AFX_MSGMAP const CDialog::messageMap\n3525 AFX_MSGMAP const CDialogBar::messageMap\n3526 AFX_MSGMAP const CDockBar::messageMap\n3527 AFX_MSGMAP const CDocument::messageMap\n3528 AFX_MSGMAP const CEditView::messageMap\n3529 AFX_MSGMAP const CFormView::messageMap\n3530 AFX_MSGMAP const CFrameWnd::messageMap\n3531 AFX_MSGMAP const CListCtrl::messageMap\n3532 AFX_MSGMAP const CListView::messageMap\n3533 AFX_MSGMAP const CMDIChildWnd::messageMap\n3534 AFX_MSGMAP const CMDIFrameWnd::messageMap\n3535 AFX_MSGMAP const CMiniDockFrameWnd::messageMap\n3536 AFX_MSGMAP const CMiniFrameWnd::messageMap\n3537 AFX_MSGMAP const CPreviewView::messageMap\n3538 AFX_MSGMAP const CPrintDialog::messageMap\n3539 AFX_MSGMAP const CPropertyPage::messageMap\n3540 AFX_MSGMAP const CPropertySheet::messageMap\n3541 AFX_MSGMAP const CReBar::messageMap\n3542 AFX_MSGMAP const CScrollView::messageMap\n3543 AFX_MSGMAP const CSplitterWnd::messageMap\n3544 AFX_MSGMAP const CStatusBar::messageMap\n3545 AFX_MSGMAP const CTabCtrl::messageMap\n3546 AFX_MSGMAP const CToolBar::messageMap\n3547 AFX_MSGMAP const CToolBarCtrl::messageMap\n3548 AFX_MSGMAP const CToolTipCtrl::messageMap\n3549 AFX_MSGMAP const CTreeCtrl::messageMap\n3550 AFX_MSGMAP const CTreeView::messageMap\n3551 AFX_MSGMAP const CView::messageMap\n3552 AFX_MSGMAP const CWinApp::messageMap\n3553 AFX_MSGMAP const CWnd::messageMap\n3554 CString CString::Mid(int)const \n3555 CString CString::Mid(int,int)const \n3556 void CReBarCtrl::MinimizeBand(unsigned int)\n3557 void CPreviewDC::MirrorAttributes()\n3558 void CPreviewDC::MirrorFont()\n3559 void CPreviewDC::MirrorMappingMode(int)\n3560 void CPreviewDC::MirrorViewportOrg()\n3561 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,char const *)\n3562 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n3563 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3564 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n3565 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3566 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n3567 void CDockContext::Move(CPoint)\n3568 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n3569 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n3570 CPoint CDC::MoveTo(int,int)\n3571 CPoint CDC::MoveTo(tagPOINT)\n3572 void CWnd::MoveWindow(int,int,int,int,int)\n3573 void CWnd::MoveWindow(tagRECT const *,int)\n3574 CRect CRect::MulDiv(int,int)const \n3575 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n3576 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n3577 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n3578 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n3579 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n3580 CMapStringToString::CAssoc * CMapStringToString::NewAssoc()\n3581 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n3582 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n3583 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n3584 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n3585 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n3586 void CDialog::NextDlgCtrl()const \n3587 unsigned int const CEditView::nMaxSize\n3588 int CRectTracker::NormalizeHit(int)const \n3589 void CRect::NormalizeRect()\n3590 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n3591 void CString::OemToCharA()\n3592 void CPoint::Offset(int,int)\n3593 void CPoint::Offset(tagPOINT)\n3594 void CPoint::Offset(tagSIZE)\n3595 int CDC::OffsetClipRgn(int,int)\n3596 int CDC::OffsetClipRgn(tagSIZE)\n3597 int CProgressCtrl::OffsetPos(int)\n3598 void CRect::OffsetRect(int,int)\n3599 void CRect::OffsetRect(tagPOINT)\n3600 void CRect::OffsetRect(tagSIZE)\n3601 int CRgn::OffsetRgn(int,int)\n3602 int CRgn::OffsetRgn(tagPOINT)\n3603 CPoint CDC::OffsetViewportOrg(int,int)\n3604 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n3605 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n3606 CPoint CDC::OffsetWindowOrg(int,int)\n3607 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3608 void CWnd::OnActivate(unsigned int,CWnd *,int)\n3609 void CWnd::OnActivateApp(int,HTASK__ *)\n3610 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n3611 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n3612 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n3613 long CWnd::OnActivateTopLevel(unsigned int,long)\n3614 void CFormView::OnActivateView(int,CView *,CView *)\n3615 void CPreviewView::OnActivateView(int,CView *,CView *)\n3616 void CView::OnActivateView(int,CView *,CView *)\n3617 long CToolTipCtrl::OnAddTool(unsigned int,long)\n3618 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n3619 void CWinApp::OnAppExit()\n3620 int CPropertyPage::OnApply()\n3621 void CWnd::OnAskCbFormatName(unsigned int,char *)\n3622 int CFrameWnd::OnBarCheck(unsigned int)\n3623 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n3624 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n3625 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n3626 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3627 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n3628 void CCommonDialog::OnCancel()\n3629 void CDialog::OnCancel()\n3630 void CPropertyPage::OnCancel()\n3631 void CSplitterWnd::OnCancelMode()\n3632 void CWnd::OnCancelMode()\n3633 void CWnd::OnCaptureChanged(CWnd *)\n3634 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n3635 void CRectTracker::OnChangedRect(CRect const &)\n3636 void CDocument::OnChangedViewList()\n3637 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n3638 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n3639 void CWnd::OnChildActivate()\n3640 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n3641 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3642 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3643 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3644 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3645 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3646 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3647 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n3648 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n3649 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3650 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3651 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n3652 void CFrameWnd::OnClose()\n3653 void CMiniDockFrameWnd::OnClose()\n3654 void CPropertySheet::OnClose()\n3655 void CWnd::OnClose()\n3656 void CDocument::OnCloseDocument()\n3657 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3658 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3659 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3660 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3661 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3662 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3663 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3664 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3665 int CColorDialog::OnColorOK()\n3666 int CFrameWnd::OnCommand(unsigned int,long)\n3667 int CMDIFrameWnd::OnCommand(unsigned int,long)\n3668 int CPropertySheet::OnCommand(unsigned int,long)\n3669 int CSplitterWnd::OnCommand(unsigned int,long)\n3670 int CWnd::OnCommand(unsigned int,long)\n3671 long CDialog::OnCommandHelp(unsigned int,long)\n3672 long CFrameWnd::OnCommandHelp(unsigned int,long)\n3673 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n3674 long CPropertySheet::OnCommandHelp(unsigned int,long)\n3675 void CWnd::OnCompacting(unsigned int)\n3676 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n3677 void CFrameWnd::OnContextHelp()\n3678 void CWinApp::OnContextHelp()\n3679 void CWnd::OnContextMenu(CWnd *,CPoint)\n3680 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n3681 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n3682 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n3683 int CEditView::OnCreate(tagCREATESTRUCTA *)\n3684 int CFormView::OnCreate(tagCREATESTRUCTA *)\n3685 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n3686 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n3687 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n3688 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n3689 int CView::OnCreate(tagCREATESTRUCTA *)\n3690 int CWnd::OnCreate(tagCREATESTRUCTA *)\n3691 int CCmdTarget::OnCreateAggregates()\n3692 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n3693 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n3694 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n3695 HBRUSH__ * CColorDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n3696 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n3697 HBRUSH__ * CDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n3698 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n3699 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n3700 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n3701 int CDocManager::OnDDECommand(char *)\n3702 int CWinApp::OnDDECommand(char *)\n3703 long CFrameWnd::OnDDEExecute(unsigned int,long)\n3704 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n3705 long CFrameWnd::OnDDETerminate(unsigned int,long)\n3706 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n3707 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n3708 void CControlBar::OnDestroy()\n3709 void CEditView::OnDestroy()\n3710 void CFrameWnd::OnDestroy()\n3711 void CMDIChildWnd::OnDestroy()\n3712 void CMDIFrameWnd::OnDestroy()\n3713 void CTabCtrl::OnDestroy()\n3714 void CTreeCtrl::OnDestroy()\n3715 void CTreeView::OnDestroy()\n3716 void CView::OnDestroy()\n3717 void CWnd::OnDestroy()\n3718 void CWnd::OnDestroyClipboard()\n3719 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n3720 void CWnd::OnDevModeChange(char *)\n3721 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n3722 void CSplitterWnd::OnDisplayChange()\n3723 long CWnd::OnDisplayChange(unsigned int,long)\n3724 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n3725 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n3726 void CView::OnDragLeave()\n3727 long CWnd::OnDragList(unsigned int,long)\n3728 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n3729 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n3730 void CCtrlView::OnDraw(CDC *)\n3731 void CFormView::OnDraw(CDC *)\n3732 void CPreviewView::OnDraw(CDC *)\n3733 void CView::OnDraw(CDC *)\n3734 void CWnd::OnDrawClipboard()\n3735 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n3736 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n3737 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n3738 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n3739 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n3740 void CFrameWnd::OnDropFiles(HDROP__ *)\n3741 void CWnd::OnDropFiles(HDROP__ *)\n3742 int CEditView::OnEditChange()\n3743 void CEditView::OnEditClear()\n3744 void CEditView::OnEditCopy()\n3745 void CEditView::OnEditCut()\n3746 void CEditView::OnEditFind()\n3747 void CEditView::OnEditFindReplace(int)\n3748 void CEditView::OnEditPaste()\n3749 void CEditView::OnEditRepeat()\n3750 void CEditView::OnEditReplace()\n3751 void CEditView::OnEditSelectAll()\n3752 void CEditView::OnEditUndo()\n3753 void CFrameWnd::OnEnable(int)\n3754 void CToolTipCtrl::OnEnable(int)\n3755 void CWnd::OnEnable(int)\n3756 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n3757 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n3758 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n3759 void CFrameWnd::OnEndSession(int)\n3760 void CWnd::OnEndSession(int)\n3761 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n3762 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n3763 void CWnd::OnEnterMenuLoop(int)\n3764 int CFrameWnd::OnEraseBkgnd(CDC *)\n3765 int CPreviewView::OnEraseBkgnd(CDC *)\n3766 int CReBar::OnEraseBkgnd(CDC *)\n3767 int CToolBar::OnEraseBkgnd(CDC *)\n3768 int CWnd::OnEraseBkgnd(CDC *)\n3769 void CWnd::OnExitMenuLoop(int)\n3770 void CDocument::OnFileClose()\n3771 void CFileDialog::OnFileNameChange()\n3772 int CFileDialog::OnFileNameOK()\n3773 void CDocManager::OnFileNew()\n3774 void CWinApp::OnFileNew()\n3775 void CDocManager::OnFileOpen()\n3776 void CWinApp::OnFileOpen()\n3777 void CView::OnFilePrint()\n3778 void CView::OnFilePrintPreview()\n3779 void CWinApp::OnFilePrintSetup()\n3780 void CDocument::OnFileSave()\n3781 void CDocument::OnFileSaveAs()\n3782 void CDocument::OnFileSendMail()\n3783 void COleDocument::OnFileSendMail()\n3784 void CCmdTarget::OnFinalRelease()\n3785 void CDocument::OnFinalRelease()\n3786 void CWnd::OnFinalRelease()\n3787 void CEditView::OnFindNext(char const *,int,int)\n3788 long CEditView::OnFindReplaceCmd(unsigned int,long)\n3789 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n3790 void CFileDialog::OnFolderChange()\n3791 void CWnd::OnFontChange()\n3792 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n3793 unsigned int CWnd::OnGetDlgCode()\n3794 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n3795 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n3796 long CMiniFrameWnd::OnGetText(unsigned int,long)\n3797 long CStatusBar::OnGetText(unsigned int,long)\n3798 long CMiniFrameWnd::OnGetTextLength(unsigned int,long)\n3799 long CStatusBar::OnGetTextLength(unsigned int,long)\n3800 HBRUSH__ * CWnd::OnGrayCtlColor(CDC *,CWnd *,unsigned int)\n3801 void CReBar::OnHeightChange(tagNMHDR *,long *)\n3802 void CFrameWnd::OnHelp()\n3803 void CWinApp::OnHelp()\n3804 void CWnd::OnHelp()\n3805 void CWinApp::OnHelpFinder()\n3806 void CWnd::OnHelpFinder()\n3807 long CControlBar::OnHelpHitTest(unsigned int,long)\n3808 long CDialog::OnHelpHitTest(unsigned int,long)\n3809 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n3810 void CWinApp::OnHelpIndex()\n3811 void CWnd::OnHelpIndex()\n3812 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n3813 int CWnd::OnHelpInfo(tagHELPINFO *)\n3814 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n3815 void CWinApp::OnHelpUsing()\n3816 void CWnd::OnHelpUsing()\n3817 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3818 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3819 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3820 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3821 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3822 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n3823 void CWnd::OnIconEraseBkgnd(CDC *)\n3824 void CDocTemplate::OnIdle()\n3825 void CDocument::OnIdle()\n3826 int CWinApp::OnIdle(long)\n3827 int CWinThread::OnIdle(long)\n3828 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n3829 void CFrameWnd::OnIdleUpdateCmdUI()\n3830 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n3831 int CDialog::OnInitDialog()\n3832 int CPropertySheet::OnInitDialog()\n3833 void CFileDialog::OnInitDone()\n3834 void CControlBar::OnInitialUpdate()\n3835 void CFormView::OnInitialUpdate()\n3836 void CView::OnInitialUpdate()\n3837 void CFrameWnd::OnInitMenu(CMenu *)\n3838 void CWnd::OnInitMenu(CMenu *)\n3839 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n3840 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n3841 void CSplitterWnd::OnInvertTracker(CRect const &)\n3842 void CDockContext::OnKey(int,int)\n3843 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3844 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3845 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3846 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n3847 int CPropertyPage::OnKillActive()\n3848 void CWnd::OnKillFocus(CWnd *)\n3849 long CCheckListBox::OnLBAddString(unsigned int,long)\n3850 long CCheckListBox::OnLBFindString(unsigned int,long)\n3851 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n3852 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n3853 long CCheckListBox::OnLBGetText(unsigned int,long)\n3854 long CCheckListBox::OnLBInsertString(unsigned int,long)\n3855 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n3856 long CCheckListBox::OnLBSelectString(unsigned int,long)\n3857 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n3858 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n3859 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n3860 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n3861 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n3862 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n3863 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n3864 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n3865 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n3866 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n3867 void CWnd::OnLButtonDown(unsigned int,CPoint)\n3868 void CMiniFrameWnd::OnLButtonUp(unsigned int,CPoint)\n3869 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n3870 void CWnd::OnLButtonUp(unsigned int,CPoint)\n3871 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n3872 void CWnd::OnMButtonDown(unsigned int,CPoint)\n3873 void CWnd::OnMButtonUp(unsigned int,CPoint)\n3874 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n3875 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n3876 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n3877 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n3878 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n3879 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n3880 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n3881 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n3882 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3883 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3884 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3885 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3886 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3887 void CMiniFrameWnd::OnMouseMove(unsigned int,CPoint)\n3888 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n3889 void CWnd::OnMouseMove(unsigned int,CPoint)\n3890 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n3891 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n3892 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n3893 void CWnd::OnMove(int,int)\n3894 void CWnd::OnMoving(unsigned int,tagRECT *)\n3895 int CFrameWnd::OnNcActivate(int)\n3896 int CMDIChildWnd::OnNcActivate(int)\n3897 int CMiniFrameWnd::OnNcActivate(int)\n3898 int CWnd::OnNcActivate(int)\n3899 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3900 void CMiniFrameWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3901 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3902 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3903 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3904 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3905 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n3906 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n3907 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n3908 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n3909 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n3910 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n3911 int CWnd::OnNcCreate(tagCREATESTRUCTA *)\n3912 void CListCtrl::OnNcDestroy()\n3913 void CListView::OnNcDestroy()\n3914 void CWnd::OnNcDestroy()\n3915 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n3916 unsigned int CStatusBar::OnNcHitTest(CPoint)\n3917 unsigned int CToolBar::OnNcHitTest(CPoint)\n3918 unsigned int CWnd::OnNcHitTest(CPoint)\n3919 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n3920 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n3921 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n3922 void CMiniFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n3923 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n3924 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n3925 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n3926 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n3927 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n3928 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n3929 void CDockBar::OnNcPaint()\n3930 void CMiniFrameWnd::OnNcPaint()\n3931 void CReBar::OnNcPaint()\n3932 void CStatusBar::OnNcPaint()\n3933 void CToolBar::OnNcPaint()\n3934 void CWnd::OnNcPaint()\n3935 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n3936 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n3937 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n3938 int CDocument::OnNewDocument()\n3939 void CPreviewView::OnNextPage()\n3940 int CView::OnNextPaneCmd(unsigned int)\n3941 int CFileDialog::OnNotify(unsigned int,long,long *)\n3942 int CPropertyPage::OnNotify(unsigned int,long,long *)\n3943 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n3944 int CWnd::OnNotify(unsigned int,long,long *)\n3945 long CWnd::OnNTCtlColor(unsigned int,long)\n3946 void CPreviewView::OnNumPageChange()\n3947 void CCommonDialog::OnOK()\n3948 void CDialog::OnOK()\n3949 void CPropertyPage::OnOK()\n3950 int CDocument::OnOpenDocument(char const *)\n3951 int CWinApp::OnOpenRecentFile(unsigned int)\n3952 void CControlBar::OnPaint()\n3953 void CCtrlView::OnPaint()\n3954 void CDockBar::OnPaint()\n3955 void CReBar::OnPaint()\n3956 void CSplitterWnd::OnPaint()\n3957 void CStatusBar::OnPaint()\n3958 void CToolBar::OnPaint()\n3959 void CView::OnPaint()\n3960 void CWnd::OnPaint()\n3961 void CWnd::OnPaintClipboard(CWnd *,void *)\n3962 void CFrameWnd::OnPaletteChanged(CWnd *)\n3963 void CWnd::OnPaletteChanged(CWnd *)\n3964 void CWnd::OnPaletteIsChanging(CWnd *)\n3965 void CWnd::OnParentNotify(unsigned int,long)\n3966 long CFrameWnd::OnPopMessageString(unsigned int,long)\n3967 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n3968 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n3969 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n3970 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n3971 int CEditView::OnPreparePrinting(CPrintInfo *)\n3972 int CView::OnPreparePrinting(CPrintInfo *)\n3973 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n3974 void CPreviewView::OnPreviewClose()\n3975 void CPreviewView::OnPreviewPrint()\n3976 void CPreviewView::OnPrevPage()\n3977 void CEditView::OnPrint(CDC *,CPrintInfo *)\n3978 void CView::OnPrint(CDC *,CPrintInfo *)\n3979 void CPrintDialog::OnPrintSetup()\n3980 long CWnd::OnQuery3dControls(unsigned int,long)\n3981 int CPropertyPage::OnQueryCancel()\n3982 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n3983 HICON__ * CWnd::OnQueryDragIcon()\n3984 int CFrameWnd::OnQueryEndSession()\n3985 int CWnd::OnQueryEndSession()\n3986 int CFrameWnd::OnQueryNewPalette()\n3987 int CWnd::OnQueryNewPalette()\n3988 int CWnd::OnQueryOpen()\n3989 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n3990 void CWnd::OnRButtonDown(unsigned int,CPoint)\n3991 void CWnd::OnRButtonUp(unsigned int,CPoint)\n3992 void CReBar::OnRecalcParent()\n3993 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n3994 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n3995 void CWnd::OnRenderAllFormats()\n3996 void CWnd::OnRenderFormat(unsigned int)\n3997 void CEditView::OnReplaceAll(char const *,char const *,int)\n3998 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n3999 void CPropertyPage::OnReset()\n4000 int CDocument::OnSaveDocument(char const *)\n4001 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4002 int CView::OnScroll(unsigned int,unsigned int,int)\n4003 int CScrollView::OnScrollBy(CSize,int)\n4004 int CView::OnScrollBy(CSize,int)\n4005 int CPropertyPage::OnSetActive()\n4006 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4007 long CToolBar::OnSetButtonSize(unsigned int,long)\n4008 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4009 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4010 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4011 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4012 long CPropertySheet::OnSetDefID(unsigned int,long)\n4013 void CFormView::OnSetFocus(CWnd *)\n4014 void CFrameWnd::OnSetFocus(CWnd *)\n4015 void CWnd::OnSetFocus(CWnd *)\n4016 long CCheckListBox::OnSetFont(unsigned int,long)\n4017 void CDialog::OnSetFont(CFont *)\n4018 long CEditView::OnSetFont(unsigned int,long)\n4019 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4020 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4021 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4022 long CToolBar::OnSetSizeHelper(CSize &,long)\n4023 long CMiniFrameWnd::OnSetText(unsigned int,long)\n4024 long CStatusBar::OnSetText(unsigned int,long)\n4025 void CWnd::OnSettingChange(unsigned int,char const *)\n4026 unsigned int CFileDialog::OnShareViolation(char const *)\n4027 long CReBar::OnShowBand(unsigned int,long)\n4028 void CWnd::OnShowWindow(int,unsigned int)\n4029 void CFrameWnd::OnSize(unsigned int,int,int)\n4030 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4031 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4032 void CPreviewView::OnSize(unsigned int,int,int)\n4033 void CScrollView::OnSize(unsigned int,int,int)\n4034 void CSplitterWnd::OnSize(unsigned int,int,int)\n4035 void CStatusBar::OnSize(unsigned int,int,int)\n4036 void CWnd::OnSize(unsigned int,int,int)\n4037 void CWnd::OnSizeClipboard(CWnd *,void *)\n4038 long CControlBar::OnSizeParent(unsigned int,long)\n4039 long CDockBar::OnSizeParent(unsigned int,long)\n4040 void CWnd::OnSizing(unsigned int,tagRECT *)\n4041 int CView::OnSplitCmd(unsigned int)\n4042 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n4043 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4044 void CWnd::OnStyleChanged(int,tagSTYLE*)\n4045 void CWnd::OnStyleChanging(int,tagSTYLE*)\n4046 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n4047 void CToolBar::OnSysColorChange()\n4048 void CWnd::OnSysColorChange()\n4049 void CFrameWnd::OnSysCommand(unsigned int,long)\n4050 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4051 void CPropertySheet::OnSysCommand(unsigned int,long)\n4052 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4053 void CWnd::OnSysCommand(unsigned int,long)\n4054 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n4055 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4056 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4057 void CWnd::OnTCard(unsigned int,unsigned long)\n4058 void CEditView::OnTextNotFound(char const *)\n4059 void CWnd::OnTimeChange()\n4060 void CControlBar::OnTimer(unsigned int)\n4061 void CWnd::OnTimer(unsigned int)\n4062 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4063 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4064 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4065 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4066 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4067 void CFileDialog::OnTypeChange()\n4068 void CView::OnUpdate(CView *,long,CObject *)\n4069 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4070 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4071 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4072 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4073 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4074 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4075 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4076 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4077 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n4078 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4079 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n4080 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4081 void CFrameWnd::OnUpdateFrameTitle(int)\n4082 void CMDIChildWnd::OnUpdateFrameTitle(int)\n4083 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n4084 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n4085 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n4086 void CEditView::OnUpdateNeedClip(CCmdUI *)\n4087 void CEditView::OnUpdateNeedFind(CCmdUI *)\n4088 void CEditView::OnUpdateNeedSel(CCmdUI *)\n4089 void CEditView::OnUpdateNeedText(CCmdUI *)\n4090 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n4091 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n4092 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n4093 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n4094 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n4095 void CView::OnUpdateSplitCmd(CCmdUI *)\n4096 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n4097 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n4098 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n4099 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4100 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4101 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4102 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4103 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4104 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n4105 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n4106 void CMDIFrameWnd::OnWindowNew()\n4107 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n4108 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n4109 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n4110 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4111 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n4112 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n4113 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4114 void CWnd::OnWinIniChange(char const *)\n4115 long CPropertyPage::OnWizardBack()\n4116 int CPropertyPage::OnWizardFinish()\n4117 long CPropertyPage::OnWizardNext()\n4118 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n4119 void CPreviewView::OnZoomIn()\n4120 void CPreviewView::OnZoomOut()\n4121 int CAnimateCtrl::Open(unsigned int)\n4122 int CAnimateCtrl::Open(char const *)\n4123 int CFile::Open(char const *,unsigned int,CFileException *)\n4124 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n4125 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n4126 int CWnd::OpenClipboard()\n4127 CDocument * CDocManager::OpenDocumentFile(char const *)\n4128 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n4129 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n4130 CDocument * CWinApp::OpenDocumentFile(char const *)\n4131 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n4132 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n4133 int CWnd::OpenIcon()\n4134 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n4135 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n4136 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n4137 int CHeaderCtrl::OrderToIndex(int)const \n4138 int CFileException::OsErrorToException(long)\n4139 void CDumpContext::OutputString(char const *)\n4140 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n4141 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n4142 int CDC::PaintRgn(CRgn *)\n4143 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n4144 void CCommandLineInfo::ParseLast(int)\n4145 void CCommandLineInfo::ParseParam(char const *,int,int)\n4146 void CCommandLineInfo::ParseParamFlag(char const *)\n4147 void CCommandLineInfo::ParseParamNotFlag(char const *)\n4148 void CComboBox::Paste()\n4149 void CEdit::Paste()\n4150 void CRichEditCtrl::Paste()\n4151 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n4152 int CDC::PatBlt(int,int,int,int,unsigned long)\n4153 int CDC::Pie(int,int,int,int,int,int,int,int)\n4154 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n4155 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n4156 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n4157 int CDC::PlayMetaFile(HMETAFILE__ *)\n4158 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n4159 int CDC::PolyBezier(tagPOINT const *,int)\n4160 int CDC::PolyBezierTo(tagPOINT const *,int)\n4161 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n4162 int CDC::Polygon(tagPOINT *,int)\n4163 int CDC::Polyline(tagPOINT *,int)\n4164 int CDC::PolylineTo(tagPOINT const *,int)\n4165 int CDC::PolyPolygon(tagPOINT *,int *,int)\n4166 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n4167 void CToolTipCtrl::Pop()\n4168 CPoint CEdit::PosFromChar(unsigned int)const \n4169 void CPreviewView::PositionPage(unsigned int)\n4170 int CWnd::PostMessageA(unsigned int,unsigned int,long)\n4171 void CDialog::PostModal()\n4172 void CControlBar::PostNcDestroy()\n4173 void CFindReplaceDialog::PostNcDestroy()\n4174 void CFrameWnd::PostNcDestroy()\n4175 void CView::PostNcDestroy()\n4176 void CWnd::PostNcDestroy()\n4177 int CWinThread::PostThreadMessageA(unsigned int,unsigned int,long)\n4178 void CDocument::PreCloseFrame(CFrameWnd *)\n4179 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n4180 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n4181 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n4182 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n4183 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4184 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n4185 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4186 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4187 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4188 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n4189 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n4190 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n4191 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4192 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n4193 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n4194 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n4195 void CDialog::PreInitDialog()\n4196 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n4197 HWND__ * CDialog::PreModal()\n4198 HWND__ * CDataExchange::PrepareCtrl(int)\n4199 HWND__ * CDataExchange::PrepareEditCtrl(int)\n4200 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n4201 int CPropertySheet::PressButton(int)\n4202 int CToolBarCtrl::PressButton(int,int)\n4203 void CCheckListBox::PreSubclassWindow()\n4204 void CDragListBox::PreSubclassWindow()\n4205 void CWnd::PreSubclassWindow()\n4206 int CWnd::PreTranslateInput(tagMSG *)\n4207 int CControlBar::PreTranslateMessage(tagMSG *)\n4208 int CDialog::PreTranslateMessage(tagMSG *)\n4209 int CFormView::PreTranslateMessage(tagMSG *)\n4210 int CFrameWnd::PreTranslateMessage(tagMSG *)\n4211 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n4212 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n4213 int CPropertyPage::PreTranslateMessage(tagMSG *)\n4214 int CPropertySheet::PreTranslateMessage(tagMSG *)\n4215 int CWinThread::PreTranslateMessage(tagMSG *)\n4216 int CWnd::PreTranslateMessage(tagMSG *)\n4217 void CDialog::PrevDlgCtrl()const \n4218 void CWnd::Print(CDC *,unsigned long)const \n4219 int CPrintDialog::PrintAll()const \n4220 void CWnd::PrintClient(CDC *,unsigned long)const \n4221 int CPrintDialog::PrintCollate()const \n4222 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n4223 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n4224 int CPrintDialog::PrintRange()const \n4225 int CPrintDialog::PrintSelection()const \n4226 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n4227 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n4228 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n4229 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n4230 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n4231 int CRect::PtInRect(tagPOINT)const \n4232 int CRgn::PtInRegion(int,int)const \n4233 int CRgn::PtInRegion(tagPOINT)const \n4234 int CDC::PtVisible(tagPOINT)const \n4235 int CDC::PtVisible(int,int)const \n4236 int CMetaFileDC::PtVisible(tagPOINT)const \n4237 int CMetaFileDC::PtVisible(int,int)const \n4238 int CEvent::PulseEvent()\n4239 int CWinThread::PumpMessage()\n4240 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n4241 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n4242 int CHttpFile::QueryInfo(unsigned long,CString &,unsigned long *)const \n4243 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n4244 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n4245 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n4246 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n4247 int CInternetConnection::QueryOption(unsigned long,CString &)const \n4248 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n4249 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n4250 int CInternetFile::QueryOption(unsigned long,CString &)const \n4251 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n4252 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n4253 int CInternetSession::QueryOption(unsigned long,CString &)const \n4254 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n4255 long CPropertyPage::QuerySiblings(unsigned int,long)\n4256 unsigned int CArchive::Read(void *,unsigned int)\n4257 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n4258 unsigned int CFile::Read(void *,unsigned int)\n4259 int CImageList::Read(CArchive *)\n4260 unsigned int CInternetFile::Read(void *,unsigned int)\n4261 unsigned int CMemFile::Read(void *,unsigned int)\n4262 unsigned int CStdioFile::Read(void *,unsigned int)\n4263 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n4264 unsigned long CArchive::ReadCount()\n4265 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n4266 unsigned long CFile::ReadHuge(void *,unsigned long)\n4267 void CRecentFileList::ReadList()\n4268 CObject * CArchive::ReadObject(CRuntimeconst *)\n4269 int CArchive::ReadString(CString &)\n4270 char * CArchive::ReadString(char *,unsigned int)\n4271 int CInternetFile::ReadString(CString &)\n4272 char * CInternetFile::ReadString(char *,unsigned int)\n4273 int CStdioFile::ReadString(CString &)\n4274 char * CStdioFile::ReadString(char *,unsigned int)\n4275 unsigned int CDC::RealizePalette()\n4276 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n4277 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n4278 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n4279 void CFrameWnd::RecalcLayout(int)\n4280 void CMiniDockFrameWnd::RecalcLayout(int)\n4281 void CSplitterWnd::RecalcLayout()\n4282 int CDC::Rectangle(int,int,int,int)\n4283 int CDC::Rectangle(tagRECT const *)\n4284 CRect const CFrameWnd::rectDefault\n4285 int CRgn::RectInRegion(tagRECT const *)const \n4286 int CDC::RectVisible(tagRECT const *)const \n4287 int CMetaFileDC::RectVisible(tagRECT const *)const \n4288 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n4289 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n4290 int CListCtrl::RedrawItems(int,int)\n4291 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n4292 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n4293 int CWnd::ReflectLastMsg(HWND__ *,long *)\n4294 void CDocManager::RegisterShellFileTypes(int)\n4295 void CWinApp::RegisterShellFileTypes(int)\n4296 void CWinApp::RegisterShellFileTypesCompat()\n4297 void CToolTipCtrl::RelayEvent(tagMSG *)\n4298 unsigned long CArchiveStream::Release()\n4299 void CString::Release()\n4300 void CString::Release(CStringData *)\n4301 void CDC::ReleaseAttribDC()\n4302 void CString::ReleaseBuffer(int)\n4303 int CWnd::ReleaseDC(CDC *)\n4304 void CDocument::ReleaseFile(CFile *,int)\n4305 void CDC::ReleaseOutputDC()\n4306 void CMetaFileDC::ReleaseOutputDC()\n4307 void CPreviewDC::ReleaseOutputDC()\n4308 int CTypedSimpleList<CThreadData *>::Remove(CThreadData *)\n4309 int CTypedSimpleList<CDynLinkLibrary *>::Remove(CDynLinkLibrary *)\n4310 int CTypedSimpleList<CFrameWnd *>::Remove(CFrameWnd *)\n4311 void CFile::Remove(char const *)\n4312 int CFtpConnection::Remove(char const *)\n4313 int CImageList::Remove(int)\n4314 void CRecentFileList::Remove(int)\n4315 int CSimpleList::Remove(void *)\n4316 int CString::Remove(char)\n4317 void CByteArray::RemoveAll()\n4318 void CDWordArray::RemoveAll()\n4319 void CMapPtrToPtr::RemoveAll()\n4320 void CMapPtrToWord::RemoveAll()\n4321 void CMapStringToOb::RemoveAll()\n4322 void CMapStringToPtr::RemoveAll()\n4323 void CMapStringToString::RemoveAll()\n4324 void CMapWordToOb::RemoveAll()\n4325 void CMapWordToPtr::RemoveAll()\n4326 void CObArray::RemoveAll()\n4327 void CObList::RemoveAll()\n4328 void CPtrArray::RemoveAll()\n4329 void CPtrList::RemoveAll()\n4330 void CStringArray::RemoveAll()\n4331 void CStringList::RemoveAll()\n4332 void CTypeLibCacheMap::RemoveAll(void *)\n4333 void CUIntArray::RemoveAll()\n4334 void CWordArray::RemoveAll()\n4335 void CByteArray::RemoveAt(int,int)\n4336 void CDWordArray::RemoveAt(int,int)\n4337 void CObArray::RemoveAt(int,int)\n4338 void CObList::RemoveAt(__POSITION *)\n4339 void CPtrArray::RemoveAt(int,int)\n4340 void CPtrList::RemoveAt(__POSITION *)\n4341 void CStringArray::RemoveAt(int,int)\n4342 void CStringList::RemoveAt(__POSITION *)\n4343 void CUIntArray::RemoveAt(int,int)\n4344 void CWordArray::RemoveAt(int,int)\n4345 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n4346 void CFrameWnd::RemoveControlBar(CControlBar *)\n4347 int CFtpConnection::RemoveDirectoryA(char const *)\n4348 void CDocTemplate::RemoveDocument(CDocument *)\n4349 void CMultiDocTemplate::RemoveDocument(CDocument *)\n4350 void CSingleDocTemplate::RemoveDocument(CDocument *)\n4351 void CFrameWnd::RemoveFrameWnd()\n4352 void CHandleMap::RemoveHandle(void *)\n4353 CObject * CObList::RemoveHead()\n4354 void * CPtrList::RemoveHead()\n4355 CString CStringList::RemoveHead()\n4356 void CTabCtrl::RemoveImage(int)\n4357 void CListCtrl::RemoveImageList(int)\n4358 void CListView::RemoveImageList(int)\n4359 void CTreeCtrl::RemoveImageList(int)\n4360 void CTreeView::RemoveImageList(int)\n4361 int CMapPtrToPtr::RemoveKey(void *)\n4362 int CMapPtrToWord::RemoveKey(void *)\n4363 int CMapStringToOb::RemoveKey(char const *)\n4364 int CMapStringToPtr::RemoveKey(char const *)\n4365 int CMapStringToString::RemoveKey(char const *)\n4366 int CMapWordToOb::RemoveKey(unsigned short)\n4367 int CMapWordToPtr::RemoveKey(unsigned short)\n4368 int CMenu::RemoveMenu(unsigned int,unsigned int)\n4369 void CPropertySheet::RemovePage(int)\n4370 void CPropertySheet::RemovePage(CPropertyPage *)\n4371 void CDockBar::RemovePlaceHolder(CControlBar *)\n4372 CObject * CObList::RemoveTail()\n4373 void * CPtrList::RemoveTail()\n4374 CString CStringList::RemoveTail()\n4375 void CDocument::RemoveView(CView *)\n4376 void CFile::Rename(char const *,char const *)\n4377 int CFtpConnection::Rename(char const *,char const *)\n4378 int CImageList::Replace(int,HICON__ *)\n4379 int CImageList::Replace(int,CBitmap *,CBitmap *)\n4380 int CString::Replace(char,char)\n4381 int CString::Replace(char const *,char const *)\n4382 int CFindReplaceDialog::ReplaceAll()const \n4383 int CFindReplaceDialog::ReplaceCurrent()const \n4384 void CEdit::ReplaceSel(char const *,int)\n4385 void CRichEditCtrl::ReplaceSel(char const *,int)\n4386 int CException::ReportError(unsigned int,unsigned int)\n4387 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n4388 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n4389 void CRichEditCtrl::RequestResize()\n4390 void CComboBox::ResetContent()\n4391 void CListBox::ResetContent()\n4392 int CDC::ResetDCA(_devicemodeA const *)\n4393 int CEvent::ResetEvent()\n4394 void CControlBar::ResetTimer(unsigned int,unsigned int)\n4395 int CPalette::ResizePalette(unsigned int)\n4396 void CScrollView::ResizeParentToFit(int)\n4397 void CWaitCursor::Restore()\n4398 int CDC::RestoreDC(int)\n4399 int CPreviewDC::RestoreDC(int)\n4400 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n4401 void CCmdTarget::RestoreWaitCursor()\n4402 unsigned long CWinThread::ResumeThread()\n4403 int CString::ReverseFind(char)const \n4404 long CArchiveStream::Revert()\n4405 CString CString::Right(int)const \n4406 int CDC::RoundRect(int,int,int,int,int,int)\n4407 int CDC::RoundRect(tagRECT const *,tagPOINT)\n4408 int CWinApp::Run()\n4409 int CWinThread::Run()\n4410 int CWnd::RunModalLoop(unsigned long)\n4411 int CString::SafeStrlen(char const *)\n4412 int CEditView::SameAsSelected(char const *,int)\n4413 int CDocManager::SaveAllModified()\n4414 int CDocTemplate::SaveAllModified()\n4415 int CWinApp::SaveAllModified()\n4416 void CFrameWnd::SaveBarState(char const *)const \n4417 int CDC::SaveDC()\n4418 int CPreviewDC::SaveDC()\n4419 int CFormView::SaveFocusControl()\n4420 int CDocument::SaveModified()\n4421 int CControlBarInfo::SaveState(char const *,int)\n4422 void CDockState::SaveState(char const *)\n4423 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n4424 void CWinApp::SaveStdProfileSettings()\n4425 void CDockState::ScalePoint(CPoint &)\n4426 void CDockState::ScaleRectPos(CRect &)\n4427 CSize CDC::ScaleViewportExt(int,int,int,int)\n4428 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n4429 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n4430 CSize CDC::ScaleWindowExt(int,int,int,int)\n4431 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n4432 void CWnd::ScreenToClient(tagPOINT *)const \n4433 void CWnd::ScreenToClient(tagRECT *)const \n4434 int CListCtrl::Scroll(CSize)\n4435 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n4436 void CScrollView::ScrollToDevicePosition(tagPOINT)\n4437 void CScrollView::ScrollToPosition(tagPOINT)\n4438 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n4439 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n4440 int CFindReplaceDialog::SearchDown()const \n4441 int CAnimateCtrl::Seek(unsigned int)\n4442 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n4443 long CFile::Seek(long,unsigned int)\n4444 long CInternetFile::Seek(long,unsigned int)\n4445 long CMemFile::Seek(long,unsigned int)\n4446 long CStdioFile::Seek(long,unsigned int)\n4447 void CFile::SeekToBegin()\n4448 unsigned long CFile::SeekToEnd()\n4449 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n4450 int CDC::SelectClipPath(int)\n4451 int CDC::SelectClipRgn(CRgn *)\n4452 int CDC::SelectClipRgn(CRgn *,int)\n4453 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n4454 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n4455 int CTreeCtrl::SelectItem(_TREEITEM *)\n4456 int CDC::SelectObject(CRgn *)\n4457 CBitmap * CDC::SelectObject(CBitmap *)\n4458 CBrush * CDC::SelectObject(CBrush *)\n4459 CGdiObject * CDC::SelectObject(CGdiObject *)\n4460 CPen * CDC::SelectObject(CPen *)\n4461 void * CDC::SelectObject(void *)\n4462 CFont * CDC::SelectObject(CFont *)\n4463 CFont * CPreviewDC::SelectObject(CFont *)\n4464 CPalette * CDC::SelectPalette(CPalette *,int)\n4465 void CWinApp::SelectPrinter(void *,void *,int)\n4466 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n4467 CGdiObject * CDC::SelectStockObject(int)\n4468 CGdiObject * CPreviewDC::SelectStockObject(int)\n4469 int CComboBox::SelectString(int,char const *)\n4470 int CListBox::SelectString(int,char const *)\n4471 int CListBox::SelItemRange(int,int,int)\n4472 int CWnd::SendChildNotifyLastMsg(long *)\n4473 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n4474 void CDocument::SendInitialUpdate()\n4475 long CWnd::SendMessageA(unsigned int,unsigned int,long)\n4476 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n4477 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n4478 int CWnd::SendNotifyMessageA(unsigned int,unsigned int,long)\n4479 int CHttpFile::SendRequest(CString &,void *,unsigned long)\n4480 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n4481 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n4482 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n4483 void CByteArray::Serialize(CArchive &)\n4484 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n4485 void CDockState::Serialize(CArchive &)\n4486 void CDWordArray::Serialize(CArchive &)\n4487 void CEditView::Serialize(CArchive &)\n4488 void CMapStringToOb::Serialize(CArchive &)\n4489 void CMapStringToString::Serialize(CArchive &)\n4490 void CMapWordToOb::Serialize(CArchive &)\n4491 void CObArray::Serialize(CArchive &)\n4492 void CObject::Serialize(CArchive &)\n4493 void CObList::Serialize(CArchive &)\n4494 void CStringArray::Serialize(CArchive &)\n4495 void CStringList::Serialize(CArchive &)\n4496 void CWordArray::Serialize(CArchive &)\n4497 void CArchive::SerializeClass(CRuntimeconst *)\n4498 void SerializeElements(CArchive &,CString *,int)\n4499 void CEditView::SerializeRaw(CArchive &)\n4500 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n4501 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n4502 int CPropertySheet::SetActivePage(int)\n4503 int CPropertySheet::SetActivePage(CPropertyPage *)\n4504 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n4505 void CFrameWnd::SetActiveView(CView *,int)\n4506 CWnd * CWnd::SetActiveWindow()\n4507 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n4508 void CIPAddressCtrl::SetAddress(unsigned long)\n4509 int CToolBarCtrl::SetAnchorHighlight(int)\n4510 void CListBox::SetAnchorIndex(int)\n4511 int CDC::SetArcDirection(int)\n4512 void CByteArray::SetAt(int,unsigned char)\n4513 void CDWordArray::SetAt(int,unsigned long)\n4514 void CMapPtrToPtr::SetAt(void *,void *)\n4515 void CMapPtrToWord::SetAt(void *,unsigned short)\n4516 void CMapStringToOb::SetAt(char const *,CObject *)\n4517 void CMapStringToPtr::SetAt(char const *,void *)\n4518 void CMapStringToString::SetAt(char const *,char const *)\n4519 void CMapWordToOb::SetAt(unsigned short,CObject *)\n4520 void CMapWordToPtr::SetAt(unsigned short,void *)\n4521 void CObArray::SetAt(int,CObject *)\n4522 void CObList::SetAt(__POSITION *,CObject *)\n4523 void CPtrArray::SetAt(int,void *)\n4524 void CPtrList::SetAt(__POSITION *,void *)\n4525 void CString::SetAt(int,char)\n4526 void CStringArray::SetAt(int,CString const &)\n4527 void CStringArray::SetAt(int,char const *)\n4528 void CStringList::SetAt(__POSITION *,CString const &)\n4529 void CStringList::SetAt(__POSITION *,char const *)\n4530 void CUIntArray::SetAt(int,unsigned int)\n4531 void CWordArray::SetAt(int,unsigned short)\n4532 void CByteArray::SetAtGrow(int,unsigned char)\n4533 void CDWordArray::SetAtGrow(int,unsigned long)\n4534 void CObArray::SetAtGrow(int,CObject *)\n4535 void CPtrArray::SetAtGrow(int,void *)\n4536 void CStringArray::SetAtGrow(int,CString const &)\n4537 void CStringArray::SetAtGrow(int,char const *)\n4538 void CUIntArray::SetAtGrow(int,unsigned int)\n4539 void CWordArray::SetAtGrow(int,unsigned short)\n4540 void CDC::SetAttribDC(HDC__ *)\n4541 void CMetaFileDC::SetAttribDC(HDC__ *)\n4542 void CPreviewDC::SetAttribDC(HDC__ *)\n4543 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n4544 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOA *)\n4545 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n4546 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n4547 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n4548 void CControlBar::SetBarStyle(unsigned long)\n4549 int CSpinButtonCtrl::SetBase(int)\n4550 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n4551 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n4552 int CToolBar::SetBitmap(HBITMAP__ *)\n4553 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n4554 CSize CBitmap::SetBitmapDimension(int,int)\n4555 int CToolBarCtrl::SetBitmapSize(CSize)\n4556 unsigned long CDC::SetBkColor(unsigned long)\n4557 unsigned long CImageList::SetBkColor(unsigned long)\n4558 int CListCtrl::SetBkColor(unsigned long)\n4559 unsigned long CPreviewDC::SetBkColor(unsigned long)\n4560 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n4561 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n4562 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n4563 int CListCtrl::SetBkImage(char *,int,int,int)\n4564 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n4565 int CListCtrl::SetBkImage(tagLVBKIMAGEA *)\n4566 int CDC::SetBkMode(int)\n4567 void CControlBar::SetBorders(int,int,int,int)\n4568 void CControlBar::SetBorders(tagRECT const *)\n4569 void CStatusBar::SetBorders(int,int,int,int)\n4570 void CStatusBar::SetBorders(tagRECT const *)\n4571 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n4572 CPoint CDC::SetBrushOrg(int,int)\n4573 CPoint CDC::SetBrushOrg(tagPOINT)\n4574 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n4575 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n4576 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n4577 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOA *)\n4578 int CToolBar::SetButtons(unsigned int const *,int)\n4579 int CToolBarCtrl::SetButtonSize(CSize)\n4580 void CToolBarCtrl::SetButtonStructSize(int)\n4581 void CButton::SetButtonStyle(unsigned int,int)\n4582 void CToolBar::SetButtonStyle(int,unsigned int)\n4583 int CToolBar::SetButtonText(int,char const *)\n4584 int CToolBarCtrl::SetButtonWidth(int,int)\n4585 int CListCtrl::SetCallbackMask(unsigned int)\n4586 CWnd * CWnd::SetCapture()\n4587 int CListBox::SetCaretIndex(int,int)\n4588 void CWnd::SetCaretPos(tagPOINT)\n4589 void CButton::SetCheck(int)\n4590 void CCheckListBox::SetCheck(int,int)\n4591 void CCmdUI::SetCheck(int)\n4592 int CListCtrl::SetCheck(int,int)\n4593 void CStatusCmdUI::SetCheck(int)\n4594 void CTestCmdUI::SetCheck(int)\n4595 void CToolCmdUI::SetCheck(int)\n4596 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n4597 void CCheckListBox::SetCheckStyle(unsigned int)\n4598 HWND__ * CWnd::SetClipboardViewer()\n4599 int CToolBarCtrl::SetCmdID(int,unsigned int)\n4600 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n4601 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n4602 int CListCtrl::SetColumn(int,tagLVCOLUMNA const *)\n4603 void CSplitterWnd::SetColumnInfo(int,int,int)\n4604 int CListCtrl::SetColumnOrderArray(int,int *)\n4605 void CListBox::SetColumnWidth(int)\n4606 int CListCtrl::SetColumnWidth(int,int)\n4607 void CDocTemplate::SetContainerInfo(unsigned int)\n4608 void CFileDialog::SetControlText(int,char const *)\n4609 int CInternetSession::SetCookie(char const *,char const *,char const *)\n4610 void CTabCtrl::SetCurFocus(int)\n4611 void CColorDialog::SetCurrentColor(unsigned long)\n4612 int CFtpConnection::SetCurrentDirectoryA(char const *)\n4613 void CWinApp::SetCurrentHandles()\n4614 void CPreviewView::SetCurrentPage(unsigned int,int)\n4615 int CComboBox::SetCurSel(int)\n4616 int CListBox::SetCurSel(int)\n4617 int CTabCtrl::SetCurSel(int)\n4618 HICON__ * CButton::SetCursor(HICON__ *)\n4619 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n4620 HICON__ * CStatic::SetCursor(HICON__ *)\n4621 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n4622 int CMenu::SetDefaultItem(unsigned int,int)\n4623 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n4624 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n4625 void CFileDialog::SetDefExt(char const *)\n4626 void CDialog::SetDefID(unsigned int)\n4627 void CToolTipCtrl::SetDelayTime(unsigned int)\n4628 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n4629 void CDumpContext::SetDepth(int)\n4630 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n4631 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n4632 int CWnd::SetDlgCtrlID(int)\n4633 void CWnd::SetDlgItemInt(int,unsigned int,int)\n4634 void CWnd::SetDlgItemTextA(int,char const *)\n4635 void CFrameWnd::SetDockState(CDockState const &)\n4636 int CImageList::SetDragCursorImage(int,CPoint)\n4637 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n4638 int CComboBox::SetDroppedWidth(unsigned int)\n4639 int CComboBox::SetEditSel(int,int)\n4640 int CComboBoxEx::SetEditSel(int,int)\n4641 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n4642 int CEvent::SetEvent()\n4643 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n4644 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n4645 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n4646 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n4647 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n4648 int CComboBox::SetExtendedUI(int)\n4649 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n4650 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n4651 void CFile::SetFilePath(char const *)\n4652 void CPropertySheet::SetFinishText(char const *)\n4653 CWnd * CWnd::SetFocus()\n4654 int CDialogTemplate::SetFont(char const *,unsigned short)\n4655 void CWnd::SetFont(CFont *,int)\n4656 int CWnd::SetForegroundWindow()\n4657 void CEdit::SetHandle(void *)\n4658 void CSharedFile::SetHandle(void *,int)\n4659 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n4660 void CToolBar::SetHeight(int)\n4661 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n4662 void CDialog::SetHelpID(unsigned int)\n4663 void CComboBox::SetHorizontalExtent(unsigned int)\n4664 void CListBox::SetHorizontalExtent(int)\n4665 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n4666 int CHeaderCtrl::SetHotDivider(int)\n4667 int CHeaderCtrl::SetHotDivider(CPoint)\n4668 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n4669 int CListCtrl::SetHotItem(int)\n4670 int CToolBarCtrl::SetHotItem(int)\n4671 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n4672 unsigned long CListCtrl::SetHoverTime(unsigned long)\n4673 HICON__ * CButton::SetIcon(HICON__ *)\n4674 HICON__ * CStatic::SetIcon(HICON__ *)\n4675 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n4676 HICON__ * CWnd::SetIcon(HICON__ *,int)\n4677 CSize CListCtrl::SetIconSpacing(int,int)\n4678 CSize CListCtrl::SetIconSpacing(CSize)\n4679 int CImageList::SetImageCount(unsigned int)\n4680 CImageList * CComboBoxEx::SetImageList(CImageList *)\n4681 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n4682 CImageList * CListCtrl::SetImageList(CImageList *,int)\n4683 int CReBarCtrl::SetImageList(CImageList *)\n4684 CImageList * CTabCtrl::SetImageList(CImageList *)\n4685 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n4686 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n4687 int CToolBarCtrl::SetIndent(int)\n4688 void CTreeCtrl::SetIndent(unsigned int)\n4689 int CStatusBar::SetIndicators(unsigned int const *,int)\n4690 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n4691 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n4692 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n4693 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n4694 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n4695 int CHeaderCtrl::SetItem(int,_HD_ITEMA *)\n4696 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n4697 int CListCtrl::SetItem(tagLVITEMA const *)\n4698 int CTabCtrl::SetItem(int,tagTCITEMA *)\n4699 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n4700 int CTreeCtrl::SetItem(tagTVITEMA *)\n4701 void CListCtrl::SetItemCount(int)\n4702 int CListCtrl::SetItemCountEx(int,unsigned long)\n4703 int CComboBox::SetItemData(int,unsigned long)\n4704 int CListBox::SetItemData(int,unsigned long)\n4705 int CListCtrl::SetItemData(int,unsigned long)\n4706 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n4707 int CComboBox::SetItemDataPtr(int,void *)\n4708 int CListBox::SetItemDataPtr(int,void *)\n4709 int CTabCtrl::SetItemExtra(int)\n4710 int CComboBox::SetItemHeight(int,unsigned int)\n4711 int CListBox::SetItemHeight(int,unsigned int)\n4712 short CTreeCtrl::SetItemHeight(short)\n4713 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n4714 int CListCtrl::SetItemPosition(int,tagPOINT)\n4715 CSize CTabCtrl::SetItemSize(CSize)\n4716 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n4717 int CListCtrl::SetItemState(int,tagLVITEMA *)\n4718 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n4719 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n4720 int CListCtrl::SetItemText(int,int,char const *)\n4721 int CTreeCtrl::SetItemText(_TREEITEM *,char const *)\n4722 unsigned long CDC::SetLayout(unsigned long)\n4723 void CFile::SetLength(unsigned long)\n4724 void CInternetFile::SetLength(unsigned long)\n4725 void CMemFile::SetLength(unsigned long)\n4726 void CEdit::SetLimitText(unsigned int)\n4727 int CSliderCtrl::SetLineSize(int)\n4728 void CArchive::SetLoadParams(unsigned int)\n4729 unsigned long CComboBox::SetLocale(unsigned long)\n4730 unsigned long CListBox::SetLocale(unsigned long)\n4731 int CDC::SetMapMode(int)\n4732 int CPreviewDC::SetMapMode(int)\n4733 unsigned long CDC::SetMapperFlags(unsigned long)\n4734 void CToolTipCtrl::SetMargin(tagRECT *)\n4735 void CEdit::SetMargins(unsigned int,unsigned int)\n4736 void CPrintInfo::SetMaxPage(unsigned int)\n4737 int CToolBarCtrl::SetMaxTextRows(int)\n4738 int CToolTipCtrl::SetMaxTipWidth(int)\n4739 int CWnd::SetMenu(CMenu *)\n4740 int CMenu::SetMenuContextHelpId(unsigned long)\n4741 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n4742 void CFrameWnd::SetMessageText(unsigned int)\n4743 void CFrameWnd::SetMessageText(char const *)\n4744 void CStatusBarCtrl::SetMinHeight(int)\n4745 void CPrintInfo::SetMinPage(unsigned int)\n4746 int CTabCtrl::SetMinTabWidth(int)\n4747 int CDC::SetMiterLimit(float)\n4748 void CPropertyPage::SetModified(int)\n4749 void CDocument::SetModifiedFlag(int)\n4750 void CEdit::SetModify(int)\n4751 void CRichEditCtrl::SetModify(int)\n4752 void CArchive::SetObjectSchema(unsigned int)\n4753 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4754 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4755 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4756 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4757 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n4758 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n4759 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4760 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n4761 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4762 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n4763 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4764 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n4765 int CHeaderCtrl::SetOrderArray(int,int *)\n4766 void CDC::SetOutputDC(HDC__ *)\n4767 void CMetaFileDC::SetOutputDC(HDC__ *)\n4768 void CPreviewDC::SetOutputDC(HDC__ *)\n4769 int CImageList::SetOverlayImage(int,int)\n4770 CWnd * CReBarCtrl::SetOwner(CWnd *)\n4771 void CToolBar::SetOwner(CWnd *)\n4772 void CToolBarCtrl::SetOwner(CWnd *)\n4773 void CWnd::SetOwner(CWnd *)\n4774 void CTabCtrl::SetPadding(CSize)\n4775 int CSliderCtrl::SetPageSize(int)\n4776 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n4777 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n4778 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n4779 void CStatusBar::SetPaneStyle(int,unsigned int)\n4780 int CStatusBar::SetPaneText(int,char const *,int)\n4781 int CRichEditCtrl::SetParaFormat(_paraformat &)\n4782 CWnd * CWnd::SetParent(CWnd *)\n4783 int CStatusBarCtrl::SetParts(int,int *)\n4784 void CEdit::SetPasswordChar(char)\n4785 void CDocument::SetPathName(char const *,int)\n4786 void CHandleMap::SetPermanent(void *,CObject *)\n4787 unsigned long CDC::SetPixel(int,int,unsigned long)\n4788 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n4789 int CDC::SetPixelV(int,int,unsigned long)\n4790 int CDC::SetPixelV(tagPOINT,unsigned long)\n4791 int CDC::SetPolyFillMode(int)\n4792 int CProgressCtrl::SetPos(int)\n4793 void CSliderCtrl::SetPos(int)\n4794 int CSpinButtonCtrl::SetPos(int)\n4795 void CEditView::SetPrinterFont(CFont *)\n4796 int CPreviewView::SetPrintView(CView *)\n4797 void CWnd::SetProperty(long,unsigned short,...)\n4798 void CCmdUI::SetRadio(int)\n4799 void CTestCmdUI::SetRadio(int)\n4800 void CProgressCtrl::SetRange(short,short)\n4801 void CSliderCtrl::SetRange(int,int,int)\n4802 void CSpinButtonCtrl::SetRange(int,int)\n4803 void CProgressCtrl::SetRange32(int,int)\n4804 void CSpinButtonCtrl::SetRange32(int,int)\n4805 void CSliderCtrl::SetRangeMax(int,int)\n4806 void CSliderCtrl::SetRangeMin(int,int)\n4807 int CInternetFile::SetReadBufferSize(unsigned int)\n4808 int CEdit::SetReadOnly(int)\n4809 int CRichEditCtrl::SetReadOnly(int)\n4810 void CEdit::SetRect(tagRECT const *)\n4811 void CRect::SetRect(int,int,int,int)\n4812 void CRect::SetRect(tagPOINT,tagPOINT)\n4813 void CRichEditCtrl::SetRect(tagRECT const *)\n4814 void CRect::SetRectEmpty()\n4815 void CEdit::SetRectNP(tagRECT const *)\n4816 void CRgn::SetRectRgn(int,int,int,int)\n4817 void CRgn::SetRectRgn(tagRECT const *)\n4818 void CWnd::SetRedraw(int)\n4819 void CWinApp::SetRegistryKey(unsigned int)\n4820 void CWinApp::SetRegistryKey(char const *)\n4821 int CDC::SetROP2(int)\n4822 void CSplitterWnd::SetRowInfo(int,int,int)\n4823 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n4824 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n4825 void CPreviewView::SetScaledSize(unsigned int)\n4826 void CPreviewDC::SetScaleRatio(int,int)\n4827 void CScrollView::SetScaleToFitSize(tagSIZE)\n4828 void CDockState::SetScreenSize(CSize &)\n4829 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n4830 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n4831 int CScrollBar::SetScrollPos(int,int)\n4832 int CWnd::SetScrollPos(int,int,int)\n4833 void CScrollBar::SetScrollRange(int,int,int)\n4834 void CWnd::SetScrollRange(int,int,int,int)\n4835 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n4836 void CSplitterWnd::SetScrollStyle(unsigned long)\n4837 void CEdit::SetSel(int,int,int)\n4838 void CEdit::SetSel(unsigned long,int)\n4839 int CListBox::SetSel(int,int)\n4840 void CRichEditCtrl::SetSel(_charrange &)\n4841 void CRichEditCtrl::SetSel(long,long)\n4842 void CSliderCtrl::SetSelection(int,int)\n4843 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n4844 void CCheckListBox::SetSelectionCheck(int)\n4845 int CListCtrl::SetSelectionMark(int)\n4846 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n4847 int CStatusBarCtrl::SetSimple(int)\n4848 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n4849 void CByteArray::SetSize(int,int)\n4850 void CDWordArray::SetSize(int,int)\n4851 void CObArray::SetSize(int,int)\n4852 void CPtrArray::SetSize(int,int)\n4853 void CStringArray::SetSize(int,int)\n4854 void CUIntArray::SetSize(int,int)\n4855 void CWordArray::SetSize(int,int)\n4856 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n4857 void CSplitterWnd::SetSplitCursor(int)\n4858 void CButton::SetState(int)\n4859 int CToolBarCtrl::SetState(int,unsigned int)\n4860 void CFile::SetStatus(char const *,CFileStatus const &)\n4861 int CControlBar::SetStatusText(int)\n4862 int CProgressCtrl::SetStep(int)\n4863 void CArchive::SetStoreParams(unsigned int,unsigned int)\n4864 int CDC::SetStretchBltMode(int)\n4865 void CToolBarCtrl::SetStyle(unsigned long)\n4866 int CDialogTemplate::SetSystemFont(unsigned short)\n4867 int CEdit::SetTabStops(int const &)\n4868 int CEdit::SetTabStops(int,int *)\n4869 void CEdit::SetTabStops()\n4870 void CEditView::SetTabStops(int)\n4871 int CListBox::SetTabStops(int const &)\n4872 int CListBox::SetTabStops(int,int *)\n4873 void CListBox::SetTabStops()\n4874 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n4875 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n4876 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n4877 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n4878 void CFileDialog::SetTemplate(char const *,char const *)\n4879 void CCmdUI::SetText(char const *)\n4880 int CStatusBarCtrl::SetText(char const *,int,int)\n4881 void CStatusCmdUI::SetText(char const *)\n4882 void CTestCmdUI::SetText(char const *)\n4883 void CToolCmdUI::SetText(char const *)\n4884 unsigned int CDC::SetTextAlign(unsigned int)\n4885 int CListCtrl::SetTextBkColor(unsigned long)\n4886 int CDC::SetTextCharacterExtra(int)\n4887 unsigned long CDC::SetTextColor(unsigned long)\n4888 int CListCtrl::SetTextColor(unsigned long)\n4889 unsigned long CPreviewDC::SetTextColor(unsigned long)\n4890 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n4891 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n4892 int CDC::SetTextJustification(int,int)\n4893 int CWinThread::SetThreadPriority(int)\n4894 int CSliderCtrl::SetTic(int)\n4895 void CSliderCtrl::SetTicFreq(int)\n4896 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n4897 void CToolTipCtrl::SetTipBkColor(unsigned long)\n4898 int CSliderCtrl::SetTipSide(int)\n4899 void CStatusBarCtrl::SetTipText(int,char const *)\n4900 void CToolTipCtrl::SetTipTextColor(unsigned long)\n4901 void CDocument::SetTitle(char const *)\n4902 void CFrameWnd::SetTitle(char const *)\n4903 void CPropertySheet::SetTitle(char const *,unsigned int)\n4904 void CToolTipCtrl::SetToolInfo(tagTOOLINFOA *)\n4905 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n4906 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n4907 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n4908 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n4909 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n4910 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n4911 int CComboBox::SetTopIndex(int)\n4912 int CListBox::SetTopIndex(int)\n4913 void CPreviewDC::SetTopLeftOffset(CSize)\n4914 void CThreadSlotData::SetValue(int,void *)\n4915 CSize CDC::SetViewportExt(tagSIZE)\n4916 CSize CDC::SetViewportExt(int,int)\n4917 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n4918 CSize CMetaFileDC::SetViewportExt(int,int)\n4919 CSize CPreviewDC::SetViewportExt(int,int)\n4920 CPoint CDC::SetViewportOrg(tagPOINT)\n4921 CPoint CDC::SetViewportOrg(int,int)\n4922 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n4923 CPoint CMetaFileDC::SetViewportOrg(int,int)\n4924 CPoint CPreviewDC::SetViewportOrg(int,int)\n4925 int CWnd::SetWindowContextHelpId(unsigned long)\n4926 CSize CDC::SetWindowExt(tagSIZE)\n4927 CSize CDC::SetWindowExt(int,int)\n4928 CSize CPreviewDC::SetWindowExt(int,int)\n4929 CPoint CDC::SetWindowOrg(int,int)\n4930 CPoint CDC::SetWindowOrg(tagPOINT)\n4931 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n4932 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n4933 int CWnd::SetWindowRgn(HRGN__ *,int)\n4934 void CWnd::SetWindowTextA(char const *)\n4935 void CPropertySheet::SetWizardButtons(unsigned long)\n4936 void CPropertySheet::SetWizardMode()\n4937 void CPropertySheetEx::SetWizardMode()\n4938 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n4939 void CListCtrl::SetWorkAreas(int,tagRECT *)\n4940 int CInternetFile::SetWriteBufferSize(unsigned int)\n4941 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n4942 void CDockBar::ShowAll(int)\n4943 int CReBarCtrl::ShowBand(unsigned int,int)\n4944 void CWnd::ShowCaret()\n4945 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n4946 void CComboBox::ShowDropDown(int)\n4947 void CWnd::ShowOwnedPopups(int)\n4948 void CFrameWnd::ShowOwnedWindows(int)\n4949 void CScrollBar::ShowScrollBar(int)\n4950 void CWnd::ShowScrollBar(unsigned int,int)\n4951 int CWnd::ShowWindow(int)\n4952 CSize CRect::Size()const \n4953 tagSIZE const CScrollView::sizeDefault\n4954 void CBitmapButton::SizeToContent()\n4955 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n4956 int CReBarCtrl::SizeToRect(CRect &)\n4957 int CTreeCtrl::SortChildren(_TREEITEM *)\n4958 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n4959 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n4960 CString CString::SpanExcluding(char const *)const \n4961 CString CString::SpanIncluding(char const *)const \n4962 int CSplitterWnd::SplitColumn(int)\n4963 int CSplitterWnd::SplitRow(int)\n4964 int CDC::StartDocA(_DOCINFOA *)\n4965 int CDC::StartDocA(char const *)\n4966 void CDockContext::StartDrag(CPoint)\n4967 int CDC::StartPage()\n4968 void CDockContext::StartResize(int,CPoint)\n4969 void CSplitterWnd::StartTracking(int)\n4970 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n4971 int CProgressCtrl::StepIt()\n4972 int CAnimateCtrl::Stop()\n4973 void CSplitterWnd::StopTracking(int)\n4974 void CRuntimeClass::Store(CArchive &)const \n4975 long CRichEditCtrl::StreamIn(int,_editstream &)\n4976 long CRichEditCtrl::StreamOut(int,_editstream &)\n4977 void CDockContext::Stretch(CPoint)\n4978 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n4979 int CDC::StrokeAndFillPath()\n4980 int CDC::StrokePath()\n4981 int CWnd::SubclassCtl3d(int)\n4982 int CWnd::SubclassDlg3d(unsigned long)\n4983 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n4984 int CWnd::SubclassWindow(HWND__ *)\n4985 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n4986 int CRect::SubtractRect(tagRECT const *,tagRECT const *)\n4987 unsigned long CWinThread::SuspendThread()\n4988 void CRect::SwapLeftRight()\n4989 void CRect::SwapLeftRight(tagRECT *)\n4990 char * T2A(char *)\n4991 char const * T2CA(char const *)\n4992 CSize CDC::TabbedTextOutA(int,int,CString const &,int,int *,int)\n4993 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n4994 CSize CMetaFileDC::TabbedTextOutA(int,int,CString const &,int,int *,int)\n4995 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n4996 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n4997 int CDC::TextOutA(int,int,CString const &)\n4998 int CDC::TextOutA(int,int,char const *,int)\n4999 int CMetaFileDC::TextOutA(int,int,CString const &)\n5000 int CMetaFileDC::TextOutA(int,int,char const *,int)\n5001 int CPreviewDC::TextOutA(int,int,char const *,int)\n5002 void CFileException::ThrowErrno(int,char const *)\n5003 void CFileException::ThrowOsError(long,char const *)\n5004 void CDockContext::ToggleDocking()\n5005 CPoint & CRect::TopLeft()\n5006 CPoint const & CRect::TopLeft()const \n5007 int CDockContext::Track()\n5008 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n5009 void CSplitterWnd::TrackColumnSize(int,int)\n5010 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n5011 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n5012 void CSplitterWnd::TrackRowSize(int,int)\n5013 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n5014 void CString::TrimLeft(char)\n5015 void CString::TrimLeft(char const *)\n5016 void CString::TrimLeft()\n5017 void CString::TrimRight(char)\n5018 void CString::TrimRight(char const *)\n5019 void CString::TrimRight()\n5020 int CEdit::Undo()\n5021 int CRichEditCtrl::Undo()\n5022 int CRect::UnionRect(tagRECT const *,tagRECT const *)\n5023 int CCriticalSection::Unlock()\n5024 int CEvent::Unlock()\n5025 int CMultiLock::Unlock(long,long *)\n5026 int CMultiLock::Unlock()\n5027 int CMutex::Unlock()\n5028 int CSemaphore::Unlock(long,long *)\n5029 int CSemaphore::Unlock()\n5030 int CSingleLock::Unlock(long,long *)\n5031 int CSingleLock::Unlock()\n5032 int CSyncObject::Unlock(long,long *)\n5033 void CTypeLibCache::Unlock()\n5034 void CEditView::UnlockBuffer()const \n5035 void CString::UnlockBuffer()\n5036 void CFile::UnlockRange(unsigned long,unsigned long)\n5037 void CInternetFile::UnlockRange(unsigned long,unsigned long)\n5038 void CMemFile::UnlockRange(unsigned long,unsigned long)\n5039 void CStdioFile::UnlockRange(unsigned long,unsigned long)\n5040 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5041 int UnlockResource(void *)\n5042 void CWnd::UnlockWindowUpdate()\n5043 int CGdiObject::UnrealizeObject()\n5044 int CWinApp::Unregister()\n5045 void CDocManager::UnregisterShellFileTypes()\n5046 void CWinApp::UnregisterShellFileTypes()\n5047 HWND__ * CWnd::UnsubclassWindow()\n5048 int CListCtrl::Update(int)\n5049 void CToolTipCtrl::Update()\n5050 void CStatusBar::UpdateAllPanes(int,int)\n5051 void CDocument::UpdateAllViews(CView *,long,CObject *)\n5052 void CScrollView::UpdateBars()\n5053 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n5054 void CDC::UpdateColors()\n5055 void CMemoryState::UpdateData()\n5056 int CWnd::UpdateData(int)\n5057 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n5058 void CDocument::UpdateFrameCounts()\n5059 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n5060 void CRecentFileList::UpdateMenu(CCmdUI *)\n5061 void CWinApp::UpdatePrinterSelection(int)\n5062 void CDockContext::UpdateState(int *,int)\n5063 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n5064 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n5065 void CWnd::UpdateWindow()\n5066 void CWnd::ValidateRect(tagRECT const *)\n5067 void CWnd::ValidateRgn(CRgn *)\n5068 void CSliderCtrl::VerifyPos()\n5069 int CListBox::VKeyToItem(unsigned int,unsigned int)\n5070 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n5071 int CDC::WidenPath()\n5072 int CRect::Width()const \n5073 CWnd * CWnd::WindowFromPoint(tagPOINT)\n5074 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n5075 long CReBar::WindowProc(unsigned int,unsigned int,long)\n5076 long CWnd::WindowProc(unsigned int,unsigned int,long)\n5077 void CWinApp::WinHelpA(unsigned long,unsigned int)\n5078 void CWnd::WinHelpA(unsigned long,unsigned int)\n5079 CWnd const CWnd::wndBottom\n5080 CWnd const CWnd::wndNoTopMost\n5081 CWnd const CWnd::wndTop\n5082 CWnd const CWnd::wndTopMost\n5083 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n5084 void CArchive::Write(void const *,unsigned int)\n5085 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n5086 void CFile::Write(void const *,unsigned int)\n5087 void CGopherFile::Write(void const *,unsigned int)\n5088 int CImageList::Write(CArchive *)\n5089 void CInternetFile::Write(void const *,unsigned int)\n5090 void CMemFile::Write(void const *,unsigned int)\n5091 void CStdioFile::Write(void const *,unsigned int)\n5092 void CArchive::WriteClass(CRuntimeconst *)\n5093 void CArchive::WriteCount(unsigned long)\n5094 void CFile::WriteHuge(void const *,unsigned long)\n5095 void CRecentFileList::WriteList()\n5096 void CArchive::WriteObject(CObject const *)\n5097 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n5098 int CWinApp::WriteProfileInt(char const *,char const *,int)\n5099 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n5100 void CArchive::WriteString(char const *)\n5101 void CGopherFile::WriteString(char const *)\n5102 void CInternetFile::WriteString(char const *)\n5103 void CStdioFile::WriteString(char const *)\n5104 void CEditView::WriteToArchive(CArchive &)\n5105 afxChNil\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc42u.def",
    "content": "1 DllGetClassObject\n2 DllCanUnloadNow\n3 DllRegisterServer\n4 DllUnregisterServer\n5 CRuntimeconst CCachedDataPathProperty::classCCachedDataPathProperty\n6 CRuntimeconst CDataPathProperty::classCDataPathProperty\n256 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n257 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n258 _AFX_CONTROLPOS::_AFX_CONTROLPOS()\n259 _AFX_DAO_STATE::_AFX_DAO_STATE()\n260 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n261 _AFX_OLE_STATE::_AFX_OLE_STATE()\n262 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n263 _AFX_WIN_STATE::_AFX_WIN_STATE()\n264 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n265 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n266 AFX_CLASSINIT::AFX_CLASSINIT(CRuntime*)\n267 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,unsigned short const *)\n268 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n269 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long)\n270 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n271 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n272 CAnimateCtrl::CAnimateCtrl()\n273 CArchive::CArchive(CFile *,unsigned int,int,void *)\n274 CArchivePropExchange::CArchivePropExchange(CArchive &)\n275 CArchiveStream::CArchiveStream(CArchive *)\n276 CAsyncMonikerFile::CAsyncMonikerFile()\n277 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n278 CAsyncSocket::CAsyncSocket()\n279 CBitmap::CBitmap()\n280 CBitmapButton::CBitmapButton()\n281 CBlobProperty::CBlobProperty(void *)\n282 CBrush::CBrush(int,unsigned long)\n283 CBrush::CBrush(unsigned long)\n284 CBrush::CBrush(CBitmap *)\n285 CBrush::CBrush()\n286 CButton::CButton()\n287 CByteArray::CByteArray()\n288 CCheckListBox::CCheckListBox()\n289 CClientDC::CClientDC(CWnd *)\n290 CCmdTarget::CCmdTarget()\n291 CCmdUI::CCmdUI()\n292 CColorButton::CColorButton()\n293 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n294 CColorPropPage::CColorPropPage()\n295 CComboBox::CComboBox()\n296 CCommandLineInfo::CCommandLineInfo()\n297 CConnectionPoint::CConnectionPoint()\n298 CControlBar::CControlBar()\n299 CControlBarInfo::CControlBarInfo()\n300 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n301 CControlFrameWnd::CControlFrameWnd(COleControl *)\n302 CCriticalSection::CCriticalSection()\n303 CCtrlView::CCtrlView(unsigned short const *,unsigned long)\n304 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n305 CDaoException::CDaoException()\n306 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n307 CDaoIndexFieldInfo::CDaoIndexFieldInfo()\n308 CDaoIndexInfo::CDaoIndexInfo()\n309 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n310 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n311 CDaoRecordView::CDaoRecordView(unsigned int)\n312 CDaoRecordView::CDaoRecordView(unsigned short const *)\n313 CDaoRelationFieldInfo::CDaoRelationFieldInfo()\n314 CDaoRelationInfo::CDaoRelationInfo()\n315 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n316 CDaoWorkspace::CDaoWorkspace()\n317 CDatabase::CDatabase()\n318 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n319 CDataExchange::CDataExchange(CWnd *,int)\n320 CDataSourceControl::CDataSourceControl(COleControlSite *)\n321 CDBException::CDBException(short)\n322 CDBVariant::CDBVariant()\n323 CDC::CDC()\n324 CDialog::CDialog(unsigned int,CWnd *)\n325 CDialog::CDialog(unsigned short const *,CWnd *)\n326 CDialog::CDialog()\n327 CDialogBar::CDialogBar()\n328 CDialogTemplate::CDialogTemplate(void *)\n329 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n330 CDocItem::CDocItem()\n331 CDockBar::CDockBar(int)\n332 CDockContext::CDockContext(CControlBar *)\n333 CDockState::CDockState()\n334 CDocManager::CDocManager()\n335 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n336 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n337 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n338 CDocument::CDocument()\n339 CDragListBox::CDragListBox()\n340 CDumpContext::CDumpContext(CFile *)\n341 CDWordArray::CDWordArray()\n342 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n343 CEdit::CEdit()\n344 CEditView::CEditView()\n345 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n346 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n347 CEnumFormatEtc::CEnumFormatEtc()\n348 CEvent::CEvent(int,int,unsigned short const *,_SECURITY_ATTRIBUTES *)\n349 CException::CException(int)\n350 CException::CException()\n351 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n352 CFile::CFile(int)\n353 CFile::CFile(unsigned short const *,unsigned int)\n354 CFile::CFile()\n355 CFileDialog::CFileDialog(int,unsigned short const *,unsigned short const *,unsigned long,unsigned short const *,CWnd *)\n356 CFileFind::CFileFind()\n357 CFindReplaceDialog::CFindReplaceDialog()\n358 CFont::CFont()\n359 CFontComboBox::CFontComboBox()\n360 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n361 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n362 CFontHolder::CFontHolder(IPropertyNotifySink *)\n363 CFontPropPage::CFontPropPage()\n364 CFormView::CFormView(unsigned int)\n365 CFormView::CFormView(unsigned short const *)\n366 CFrameWnd::CFrameWnd()\n367 CFtpConnection::CFtpConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n368 CFtpConnection::CFtpConnection(CInternetSession *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short,int)\n369 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n370 CGdiObject::CGdiObject()\n371 CGopherConnection::CGopherConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n372 CGopherConnection::CGopherConnection(CInternetSession *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short)\n373 CGopherFile::CGopherFile(void *,void *,unsigned short const *,unsigned long,unsigned long)\n374 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n375 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n376 CGopherLocator::CGopherLocator(unsigned short const *,unsigned long)\n377 CHandleMap::CHandleMap(CRuntime*,unsigned int,int)\n378 CHeaderCtrl::CHeaderCtrl()\n379 CHotKeyCtrl::CHotKeyCtrl()\n380 CHttpConnection::CHttpConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n381 CHttpConnection::CHttpConnection(CInternetSession *,unsigned short const *,unsigned short,unsigned short const *,unsigned short const *,unsigned long)\n382 CHttpFile::CHttpFile(void *,void *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)\n383 CHttpFile::CHttpFile(void *,unsigned short const *,unsigned short const *,CHttpConnection *)\n384 CImageList::CImageList()\n385 CInternetConnection::CInternetConnection(CInternetSession *,unsigned short const *,unsigned short,unsigned long)\n386 CInternetException::CInternetException(unsigned long)\n387 CInternetFile::CInternetFile(void *,void *,unsigned short const *,unsigned short const *,unsigned long,int)\n388 CInternetFile::CInternetFile(void *,unsigned short const *,CInternetConnection *,int)\n389 CInternetSession::CInternetSession(unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned short const *,unsigned long)\n390 CListBox::CListBox()\n391 CListCtrl::CListCtrl()\n392 CListView::CListView()\n393 CLongBinary::CLongBinary()\n394 CMapPtrToPtr::CMapPtrToPtr(int)\n395 CMapPtrToWord::CMapPtrToWord(int)\n396 CMapStringToOb::CMapStringToOb(int)\n397 CMapStringToPtr::CMapStringToPtr(int)\n398 CMapStringToString::CMapStringToString(int)\n399 CMapWordToOb::CMapWordToOb(int)\n400 CMapWordToPtr::CMapWordToPtr(int)\n401 CMDIChildWnd::CMDIChildWnd()\n402 CMDIFrameWnd::CMDIFrameWnd()\n403 CMemFile::CMemFile(unsigned int)\n404 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n405 CMenu::CMenu()\n406 CMetaFileDC::CMetaFileDC()\n407 CMiniDockFrameWnd::CMiniDockFrameWnd()\n408 CMiniFrameWnd::CMiniFrameWnd()\n409 CMirrorFile::CMirrorFile()\n410 CMonikerFile::CMonikerFile()\n411 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n412 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n413 CMutex::CMutex(int,unsigned short const *,_SECURITY_ATTRIBUTES *)\n414 CObArray::CObArray()\n415 CObList::CObList(int)\n416 CODBCFieldInfo::CODBCFieldInfo()\n417 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n418 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n419 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n420 COleClientItem::COleClientItem(COleDocument *)\n421 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n422 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n423 COleControl::COleControl()\n424 COleControlContainer::COleControlContainer(CWnd *)\n425 COleControlLock::COleControlLock(_GUID const &)\n426 COleControlSite::COleControlSite(COleControlContainer *)\n427 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n428 COleCurrency::COleCurrency(long,long)\n429 COleDataObject::COleDataObject()\n430 COleDataSource::COleDataSource()\n431 COleDialog::COleDialog(CWnd *)\n432 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n433 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n434 COleDispatchDriver::COleDispatchDriver()\n435 COleDispatchException::COleDispatchException(unsigned short const *,unsigned int,unsigned short)\n436 COleDocIPFrameWnd::COleDocIPFrameWnd()\n437 COleDocument::COleDocument()\n438 COleDropSource::COleDropSource()\n439 COleDropTarget::COleDropTarget()\n440 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n441 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n442 COleIPFrameWnd::COleIPFrameWnd()\n443 COleLinkingDoc::COleLinkingDoc()\n444 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n445 COleMessageFilter::COleMessageFilter()\n446 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,unsigned short const *)\n447 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n448 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n449 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n450 COleResizeBar::COleResizeBar()\n451 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n452 COleSafeArray::COleSafeArray(tagVARIANT const &)\n453 COleSafeArray::COleSafeArray(COleSafeArray const &)\n454 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n455 COleSafeArray::COleSafeArray(tagVARIANT const *)\n456 COleServerDoc::COleServerDoc()\n457 COleServerItem::COleServerItem(COleServerDoc *,int)\n458 COleStreamFile::COleStreamFile(IStream *)\n459 COleTemplateServer::COleTemplateServer()\n460 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n461 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n462 COleVariant::COleVariant(tagVARIANT const &)\n463 COleVariant::COleVariant(COleVariant const &)\n464 COleVariant::COleVariant(short,unsigned short)\n465 COleVariant::COleVariant(long,unsigned short)\n466 COleVariant::COleVariant(unsigned short const *,unsigned short)\n467 COleVariant::COleVariant(tagVARIANT const *)\n468 COleVariant::COleVariant()\n469 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n470 CPaintDC::CPaintDC(CWnd *)\n471 CPalette::CPalette()\n472 CPen::CPen(int,int,unsigned long)\n473 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n474 CPen::CPen()\n475 CPictureHolder::CPictureHolder()\n476 CPicturePropPage::CPicturePropPage()\n477 CPoint::CPoint(unsigned long)\n478 CPoint::CPoint(tagPOINT)\n479 CPreviewDC::CPreviewDC()\n480 CPreviewView::CPreviewView()\n481 CPrintDialog::CPrintDialog(tagPDW &)\n482 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n483 CPrintInfo::CPrintInfo()\n484 CPrintPreviewState::CPrintPreviewState()\n485 CProgressCtrl::CProgressCtrl()\n486 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n487 CProperty::CProperty(unsigned long,void * const,unsigned long)\n488 CProperty::CProperty()\n489 CPropertyPage::CPropertyPage(unsigned int,unsigned int)\n490 CPropertyPage::CPropertyPage(unsigned short const *,unsigned int)\n491 CPropertyPage::CPropertyPage()\n492 CPropertySection::CPropertySection(_GUID)\n493 CPropertySection::CPropertySection()\n494 CPropertySet::CPropertySet(_GUID)\n495 CPropertySet::CPropertySet()\n496 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n497 CPropertySheet::CPropertySheet(unsigned short const *,CWnd *,unsigned int)\n498 CPropertySheet::CPropertySheet()\n499 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n500 CPtrArray::CPtrArray()\n501 CPtrList::CPtrList(int)\n502 CRecentFileList::CRecentFileList(unsigned int,unsigned short const *,unsigned short const *,int,int)\n503 CRecordset::CRecordset(CDatabase *)\n504 CRecordView::CRecordView(unsigned int)\n505 CRecordView::CRecordView(unsigned short const *)\n506 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n507 CRectTracker::CRectTracker()\n508 CReObject::CReObject(CRichEditCntrItem *)\n509 CReObject::CReObject()\n510 CResetPropExchange::CResetPropExchange()\n511 CRgn::CRgn()\n512 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n513 CRichEditCtrl::CRichEditCtrl()\n514 CRichEditDoc::CRichEditDoc()\n515 CRichEditView::CRichEditView()\n516 CScrollBar::CScrollBar()\n517 CScrollView::CScrollView()\n518 CSemaphore::CSemaphore(long,long,unsigned short const *,_SECURITY_ATTRIBUTES *)\n519 CSharedFile::CSharedFile(unsigned int,unsigned int)\n520 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n521 CSingleLock::CSingleLock(CSyncObject *,int)\n522 CSliderCtrl::CSliderCtrl()\n523 CSocket::CSocket()\n524 CSocketFile::CSocketFile(CSocket *,int)\n525 CSocketWnd::CSocketWnd()\n526 CSpinButtonCtrl::CSpinButtonCtrl()\n527 CSplitterWnd::CSplitterWnd()\n528 CStatic::CStatic()\n529 CStatusBar::CStatusBar()\n530 CStatusBarCtrl::CStatusBarCtrl()\n531 CStdioFile::CStdioFile(_iobuf *)\n532 CStdioFile::CStdioFile(unsigned short const *,unsigned int)\n533 CStdioFile::CStdioFile()\n534 CStockPropPage::CStockPropPage(unsigned int,unsigned int)\n535 CString::CString(CString const &)\n536 CString::CString(unsigned short,int)\n537 CString::CString(char const *)\n538 CString::CString(unsigned short const *)\n539 CString::CString(unsigned short const *,int)\n540 CString::CString()\n541 CStringArray::CStringArray()\n542 CStringList::CStringList(int)\n543 CSyncObject::CSyncObject(unsigned short const *)\n544 CTabCtrl::CTabCtrl()\n545 CTestCmdUI::CTestCmdUI()\n546 CThreadSlotData::CThreadSlotData()\n547 CTime::CTime(_FILETIME const &,int)\n548 CTime::CTime(_SYSTEMTIME const &,int)\n549 CTime::CTime(CTime const &)\n550 CTime::CTime(unsigned short,unsigned short,int)\n551 CTime::CTime(int,int,int,int,int,int,int)\n552 CTime::CTime()\n553 CTimeSpan::CTimeSpan()\n554 CToolBar::CToolBar()\n555 CToolBarCtrl::CToolBarCtrl()\n556 CToolTipCtrl::CToolTipCtrl()\n557 CTreeCtrl::CTreeCtrl()\n558 CTreeView::CTreeView()\n559 CUIntArray::CUIntArray()\n560 CView::CView()\n561 CWinApp::CWinApp(unsigned short const *)\n562 CWindowDC::CWindowDC(CWnd *)\n563 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n564 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n565 CWinThread::CWinThread()\n566 CWnd::CWnd(HWND__ *)\n567 CWnd::CWnd()\n568 CWordArray::CWordArray()\n569 CPreviewView::PAGE_INFO::PAGE_INFO()\n570 tagFONTOBJECT::tagFONTOBJECT(tagFONTOBJECT const &)\n571 _CIP<IBindCtx,&_GUID const IID_IBindCtx>::~_CIP<IBindCtx,&_GUID const IID_IBindCtx>()\n572 _CIP<IBindHost,&_GUID const IID_IBindHost>::~_CIP<IBindHost,&_GUID const IID_IBindHost>()\n573 _CIP<IBinding,&_GUID const IID_IBinding>::~_CIP<IBinding,&_GUID const IID_IBinding>()\n574 _CIP<IMoniker,&_GUID const IID_IMoniker>::~_CIP<IMoniker,&_GUID const IID_IMoniker>()\n575 _CIP<IServiceProvider,&_GUID const IID_IServiceProvider>::~_CIP<IServiceProvider,&_GUID const IID_IServiceProvider>()\n576 _CIP<IStream,&_GUID const IID_IStream>::~_CIP<IStream,&_GUID const IID_IStream>()\n577 CIP<IBindCtx,&_GUID const IID_IBindCtx>::~CIP<IBindCtx,&_GUID const IID_IBindCtx>()\n578 CIP<IBindHost,&_GUID const IID_IBindHost>::~CIP<IBindHost,&_GUID const IID_IBindHost>()\n579 CIP<IBinding,&_GUID const IID_IBinding>::~CIP<IBinding,&_GUID const IID_IBinding>()\n580 CIP<IMoniker,&_GUID const IID_IMoniker>::~CIP<IMoniker,&_GUID const IID_IMoniker>()\n581 CIP<IServiceProvider,&_GUID const IID_IServiceProvider>::~CIP<IServiceProvider,&_GUID const IID_IServiceProvider>()\n582 CIP<IStream,&_GUID const IID_IStream>::~CIP<IStream,&_GUID const IID_IStream>()\n583 CThreadLocal<AFX_MODULE_THREAD_STATE>::~CThreadLocal<AFX_MODULE_THREAD_STATE>()\n584 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n585 _AFX_CTL3D_STATE::~_AFX_CTL3D_STATE()\n586 _AFX_CTL3D_THREAD::~_AFX_CTL3D_THREAD()\n587 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n588 _AFX_DB_STATE::~_AFX_DB_STATE()\n589 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n590 _AFX_EXTDLL_STATE::~_AFX_EXTDLL_STATE()\n591 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n592 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n593 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n594 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n595 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n596 _AFX_WIN_STATE::~_AFX_WIN_STATE()\n597 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n598 AFX_COM::~AFX_COM()\n599 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n600 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n601 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n602 CAnimateCtrl::~CAnimateCtrl()\n603 CArchive::~CArchive()\n604 CAsyncMonikerFile::~CAsyncMonikerFile()\n605 CAsyncSocket::~CAsyncSocket()\n606 CBitmap::~CBitmap()\n607 CBitmapButton::~CBitmapButton()\n608 CBrush::~CBrush()\n609 CButton::~CButton()\n610 CByteArray::~CByteArray()\n611 CCachedDataPathProperty::~CCachedDataPathProperty()\n612 CCheckListBox::~CCheckListBox()\n613 CClientDC::~CClientDC()\n614 CCmdTarget::~CCmdTarget()\n615 CColorButton::~CColorButton()\n616 CComboBox::~CComboBox()\n617 CCommandLineInfo::~CCommandLineInfo()\n618 CCommonDialog::~CCommonDialog()\n619 CConnectionPoint::~CConnectionPoint()\n620 CControlBar::~CControlBar()\n621 CCriticalSection::~CCriticalSection()\n622 CCtrlView::~CCtrlView()\n623 CDaoDatabase::~CDaoDatabase()\n624 CDaoException::~CDaoException()\n625 CDaoFieldInfo::~CDaoFieldInfo()\n626 CDaoIndexFieldInfo::~CDaoIndexFieldInfo()\n627 CDaoIndexInfo::~CDaoIndexInfo()\n628 CDaoQueryDef::~CDaoQueryDef()\n629 CDaoRecordset::~CDaoRecordset()\n630 CDaoRecordView::~CDaoRecordView()\n631 CDaoRelationFieldInfo::~CDaoRelationFieldInfo()\n632 CDaoRelationInfo::~CDaoRelationInfo()\n633 CDaoTableDef::~CDaoTableDef()\n634 CDaoWorkspace::~CDaoWorkspace()\n635 CDatabase::~CDatabase()\n636 CDataPathProperty::~CDataPathProperty()\n637 CDataSourceControl::~CDataSourceControl()\n638 CDBException::~CDBException()\n639 CDBVariant::~CDBVariant()\n640 CDC::~CDC()\n641 CDialog::~CDialog()\n642 CDialogBar::~CDialogBar()\n643 CDialogTemplate::~CDialogTemplate()\n644 CDocItem::~CDocItem()\n645 CDockBar::~CDockBar()\n646 CDockContext::~CDockContext()\n647 CDockState::~CDockState()\n648 CDocManager::~CDocManager()\n649 CDocObjectServer::~CDocObjectServer()\n650 CDocObjectServerItem::~CDocObjectServerItem()\n651 CDocTemplate::~CDocTemplate()\n652 CDocument::~CDocument()\n653 CDragListBox::~CDragListBox()\n654 CDWordArray::~CDWordArray()\n655 CDynLinkLibrary::~CDynLinkLibrary()\n656 CEdit::~CEdit()\n657 CEditView::~CEditView()\n658 CEnumArray::~CEnumArray()\n659 CEnumConnPoints::~CEnumConnPoints()\n660 CEnumFormatEtc::~CEnumFormatEtc()\n661 CEnumOleVerb::~CEnumOleVerb()\n662 CEnumUnknown::~CEnumUnknown()\n663 CEvent::~CEvent()\n664 CException::~CException()\n665 CFile::~CFile()\n666 CFileDialog::~CFileDialog()\n667 CFileException::~CFileException()\n668 CFileFind::~CFileFind()\n669 CFont::~CFont()\n670 CFontComboBox::~CFontComboBox()\n671 CFontDialog::~CFontDialog()\n672 CFontHolder::~CFontHolder()\n673 CFormView::~CFormView()\n674 CFrameWnd::~CFrameWnd()\n675 CFtpConnection::~CFtpConnection()\n676 CFtpFileFind::~CFtpFileFind()\n677 CGdiObject::~CGdiObject()\n678 CGopherConnection::~CGopherConnection()\n679 CGopherFile::~CGopherFile()\n680 CGopherFileFind::~CGopherFileFind()\n681 CGopherLocator::~CGopherLocator()\n682 CHeaderCtrl::~CHeaderCtrl()\n683 CHotKeyCtrl::~CHotKeyCtrl()\n684 CHttpConnection::~CHttpConnection()\n685 CHttpFile::~CHttpFile()\n686 CImageList::~CImageList()\n687 CInternetConnection::~CInternetConnection()\n688 CInternetException::~CInternetException()\n689 CInternetFile::~CInternetFile()\n690 CInternetSession::~CInternetSession()\n691 COleServerItem::CItemDataSource::~CItemDataSource()\n692 CListBox::~CListBox()\n693 CListCtrl::~CListCtrl()\n694 CListView::~CListView()\n695 CLongBinary::~CLongBinary()\n696 CMapPtrToPtr::~CMapPtrToPtr()\n697 CMapPtrToWord::~CMapPtrToWord()\n698 CMapStringToOb::~CMapStringToOb()\n699 CMapStringToPtr::~CMapStringToPtr()\n700 CMapStringToString::~CMapStringToString()\n701 CMapWordToOb::~CMapWordToOb()\n702 CMapWordToPtr::~CMapWordToPtr()\n703 CMemFile::~CMemFile()\n704 CMenu::~CMenu()\n705 CMetaFileDC::~CMetaFileDC()\n706 CMiniFrameWnd::~CMiniFrameWnd()\n707 CMirrorFile::~CMirrorFile()\n708 CMonikerFile::~CMonikerFile()\n709 CMultiDocTemplate::~CMultiDocTemplate()\n710 CMultiLock::~CMultiLock()\n711 CMutex::~CMutex()\n712 CNoTrackObject::~CNoTrackObject()\n713 CObArray::~CObArray()\n714 CObject::~CObject()\n715 CObList::~CObList()\n716 CODBCFieldInfo::~CODBCFieldInfo()\n717 COleBusyDialog::~COleBusyDialog()\n718 COleChangeIconDialog::~COleChangeIconDialog()\n719 COleChangeSourceDialog::~COleChangeSourceDialog()\n720 COleClientItem::~COleClientItem()\n721 COleCmdUI::~COleCmdUI()\n722 COleCntrFrameWnd::~COleCntrFrameWnd()\n723 COleControl::~COleControl()\n724 COleControlContainer::~COleControlContainer()\n725 COleControlLock::~COleControlLock()\n726 COleControlSite::~COleControlSite()\n727 COleConvertDialog::~COleConvertDialog()\n728 COleDataObject::~COleDataObject()\n729 COleDataSource::~COleDataSource()\n730 COleDialog::~COleDialog()\n731 COleDispatchDriver::~COleDispatchDriver()\n732 COleDispatchException::~COleDispatchException()\n733 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n734 COleDocument::~COleDocument()\n735 COleDropSource::~COleDropSource()\n736 COleDropTarget::~COleDropTarget()\n737 COleFrameHook::~COleFrameHook()\n738 COleInsertDialog::~COleInsertDialog()\n739 COleIPFrameWnd::~COleIPFrameWnd()\n740 COleLinkingDoc::~COleLinkingDoc()\n741 COleLinksDialog::~COleLinksDialog()\n742 COleMessageFilter::~COleMessageFilter()\n743 COleObjectFactory::~COleObjectFactory()\n744 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n745 COlePropertiesDialog::~COlePropertiesDialog()\n746 COlePropertyPage::~COlePropertyPage()\n747 COleResizeBar::~COleResizeBar()\n748 COleServerDoc::~COleServerDoc()\n749 COleServerItem::~COleServerItem()\n750 COleStreamFile::~COleStreamFile()\n751 COleTemplateServer::~COleTemplateServer()\n752 COleUpdateDialog::~COleUpdateDialog()\n753 COleVariant::~COleVariant()\n754 CPageSetupDialog::~CPageSetupDialog()\n755 CPaintDC::~CPaintDC()\n756 CPalette::~CPalette()\n757 CPen::~CPen()\n758 CPictureHolder::~CPictureHolder()\n759 CPicturePropPage::~CPicturePropPage()\n760 CPreviewDC::~CPreviewDC()\n761 CPreviewView::~CPreviewView()\n762 CPrintDialog::~CPrintDialog()\n763 CPrintInfo::~CPrintInfo()\n764 CProcessLocalObject::~CProcessLocalObject()\n765 CProgressCtrl::~CProgressCtrl()\n766 CPropbagPropExchange::~CPropbagPropExchange()\n767 CProperty::~CProperty()\n768 CPropertyPage::~CPropertyPage()\n769 CPropertySection::~CPropertySection()\n770 CPropertySet::~CPropertySet()\n771 CPropertySheet::~CPropertySheet()\n772 CPtrArray::~CPtrArray()\n773 CPtrList::~CPtrList()\n774 CRecentFileList::~CRecentFileList()\n775 CRecordset::~CRecordset()\n776 CRecordView::~CRecordView()\n777 CRectTracker::~CRectTracker()\n778 CReObject::~CReObject()\n779 CRgn::~CRgn()\n780 CRichEditCntrItem::~CRichEditCntrItem()\n781 CRichEditCtrl::~CRichEditCtrl()\n782 CRichEditView::~CRichEditView()\n783 CScrollBar::~CScrollBar()\n784 CScrollView::~CScrollView()\n785 CSemaphore::~CSemaphore()\n786 CSharedFile::~CSharedFile()\n787 CSimpleException::~CSimpleException()\n788 CSingleDocTemplate::~CSingleDocTemplate()\n789 CSizeComboBox::~CSizeComboBox()\n790 CSliderCtrl::~CSliderCtrl()\n791 CSocket::~CSocket()\n792 CSocketFile::~CSocketFile()\n793 CSpinButtonCtrl::~CSpinButtonCtrl()\n794 CSplitterWnd::~CSplitterWnd()\n795 CStatic::~CStatic()\n796 CStatusBar::~CStatusBar()\n797 CStatusBarCtrl::~CStatusBarCtrl()\n798 CStdioFile::~CStdioFile()\n799 CStockPropPage::~CStockPropPage()\n800 CString::~CString()\n801 CStringArray::~CStringArray()\n802 CStringList::~CStringList()\n803 CSyncObject::~CSyncObject()\n804 CTabCtrl::~CTabCtrl()\n805 CThreadLocalObject::~CThreadLocalObject()\n806 CThreadSlotData::~CThreadSlotData()\n807 CToolBar::~CToolBar()\n808 CToolBarCtrl::~CToolBarCtrl()\n809 CToolTipCtrl::~CToolTipCtrl()\n810 CTreeCtrl::~CTreeCtrl()\n811 CTreeView::~CTreeView()\n812 CUIntArray::~CUIntArray()\n813 CView::~CView()\n814 CWaitCursor::~CWaitCursor()\n815 CWinApp::~CWinApp()\n816 CWindowDC::~CWindowDC()\n817 CWinThread::~CWinThread()\n818 CWnd::~CWnd()\n819 CWordArray::~CWordArray()\n820 tagFONTOBJECT::~tagFONTOBJECT()\n821 COleControl::XEventConnPt::~XEventConnPt()\n822 COleControl::XPropConnPt::~XPropConnPt()\n823 void * operator new(unsigned int)\n824 void * CNoTrackObject::operator new(unsigned int)\n825 void operator delete(void *)\n826 void CNoTrackObject::operator delete(void *)\n827 void CObject::operator delete(void *)\n828 _CIP<IBindHost,&_GUID const IID_IBindHost> & _CIP<IBindHost,&_GUID const IID_IBindHost>::operator=(IBindHost *)\n829 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n830 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n831 COleCurrency const & COleCurrency::operator=(union tagCY)\n832 COleDateTime const & COleDateTime::operator=(long const &)\n833 COleDateTime const & COleDateTime::operator=(_FILETIME const &)\n834 COleDateTime const & COleDateTime::operator=(_SYSTEMTIME const &)\n835 COleDateTime const & COleDateTime::operator=(tagVARIANT const &)\n836 COleDateTime const & COleDateTime::operator=(double)\n837 COleDateTimeSpan const & COleDateTimeSpan::operator=(COleDateTimeSpan const &)\n838 COleDateTimeSpan const & COleDateTimeSpan::operator=(double)\n839 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n840 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n841 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n842 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n843 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n844 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n845 COleVariant const & COleVariant::operator=(COleVariant const &)\n846 COleVariant const & COleVariant::operator=(CByteArray const &)\n847 COleVariant const & COleVariant::operator=(CLongBinary const &)\n848 COleVariant const & COleVariant::operator=(COleCurrency const &)\n849 COleVariant const & COleVariant::operator=(COleDateTime const &)\n850 COleVariant const & COleVariant::operator=(CString const &)\n851 COleVariant const & COleVariant::operator=(unsigned char)\n852 COleVariant const & COleVariant::operator=(short)\n853 COleVariant const & COleVariant::operator=(long)\n854 COleVariant const & COleVariant::operator=(float)\n855 COleVariant const & COleVariant::operator=(double)\n856 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n857 COleVariant const & COleVariant::operator=(unsigned short const * const)\n858 CString const & CString::operator=(CString const &)\n859 CString const & CString::operator=(unsigned short)\n860 CString const & CString::operator=(char const *)\n861 CString const & CString::operator=(unsigned short const *)\n862 CArchive & operator>>(CArchive &,CByteArray * &)\n863 CArchive & operator>>(CArchive &,CDocItem * &)\n864 CArchive & operator>>(CArchive &,CDockState * &)\n865 CArchive & operator>>(CArchive &,CDWordArray * &)\n866 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n867 CArchive & operator>>(CArchive &,CMapStringToString * &)\n868 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n869 CArchive & operator>>(CArchive &,CObArray * &)\n870 CArchive & operator>>(CArchive &,CObList * &)\n871 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n872 CArchive & operator>>(CArchive &,CStringArray * &)\n873 CArchive & operator>>(CArchive &,CStringList * &)\n874 CArchive & operator>>(CArchive &,CWordArray * &)\n875 CArchive & operator>>(CArchive &,COleCurrency &)\n876 CArchive & operator>>(CArchive &,COleDateTime &)\n877 CArchive & operator>>(CArchive &,COleDateTimeSpan &)\n878 CArchive & operator>>(CArchive &,COleVariant &)\n879 CArchive & operator>>(CArchive &,CString &)\n880 CArchive & operator>>(CArchive &,CTime &)\n881 CArchive & operator>>(CArchive &,CTimeSpan &)\n882 CArchive & operator<<(CArchive &,CString const &)\n883 CArchive & operator<<(CArchive &,COleCurrency)\n884 CArchive & operator<<(CArchive &,COleDateTime)\n885 CArchive & operator<<(CArchive &,COleDateTimeSpan)\n886 CArchive & operator<<(CArchive &,COleVariant)\n887 CArchive & operator<<(CArchive &,CTime)\n888 CArchive & operator<<(CArchive &,CTimeSpan)\n889 CDumpContext & CDumpContext::operator<<(CObject const &)\n890 CDumpContext & CDumpContext::operator<<(unsigned char)\n891 CDumpContext & CDumpContext::operator<<(unsigned short)\n892 CDumpContext & CDumpContext::operator<<(int)\n893 CDumpContext & CDumpContext::operator<<(unsigned int)\n894 CDumpContext & CDumpContext::operator<<(long)\n895 CDumpContext & CDumpContext::operator<<(unsigned long)\n896 CDumpContext & CDumpContext::operator<<(char const *)\n897 CDumpContext & CDumpContext::operator<<(unsigned short const *)\n898 CDumpContext & CDumpContext::operator<<(CObject const *)\n899 CDumpContext & CDumpContext::operator<<(void const *)\n900 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n901 int COleSafeArray::operator==(tagVARIANT const &)const \n902 int COleSafeArray::operator==(COleSafeArray const &)const \n903 int COleSafeArray::operator==(COleVariant const &)const \n904 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n905 int COleSafeArray::operator==(tagVARIANT const *)const \n906 int COleVariant::operator==(tagVARIANT const &)const \n907 int CTime::operator==(CTime)const \n908 int CTime::operator!=(CTime)const \n909 void * & CMapPtrToPtr::operator[](void *)\n910 unsigned short & CMapPtrToWord::operator[](void *)\n911 CObject * & CMapStringToOb::operator[](unsigned short const *)\n912 void * & CMapStringToPtr::operator[](unsigned short const *)\n913 CString & CMapStringToString::operator[](unsigned short const *)\n914 CObject * & CMapWordToOb::operator[](unsigned short)\n915 void * & CMapWordToPtr::operator[](unsigned short)\n916 COleCurrency COleCurrency::operator*(long)const \n917 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n918 COleCurrency COleCurrency::operator-()const \n919 COleDateTime COleDateTime::operator-(COleDateTimeSpan const &)const \n920 COleDateTimeSpan COleDateTime::operator-(COleDateTime const &)const \n921 COleDateTimeSpan COleDateTimeSpan::operator-(COleDateTimeSpan const &)const \n922 CString operator+(CString const &,CString const &)\n923 CString operator+(CString const &,char)\n924 CString operator+(CString const &,unsigned short)\n925 CString operator+(CString const &,unsigned short const *)\n926 CString operator+(unsigned short,CString const &)\n927 CString operator+(unsigned short const *,CString const &)\n928 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n929 COleDateTime COleDateTime::operator+(COleDateTimeSpan const &)const \n930 COleDateTimeSpan COleDateTimeSpan::operator+(COleDateTimeSpan const &)const \n931 COleCurrency COleCurrency::operator/(long)const \n932 int COleCurrency::operator<(COleCurrency const &)const \n933 int COleDateTime::operator<(COleDateTime const &)const \n934 int COleCurrency::operator<=(COleCurrency const &)const \n935 int COleDateTime::operator<=(COleDateTime const &)const \n936 int COleCurrency::operator>(COleCurrency const &)const \n937 int COleDateTime::operator>(COleDateTime const &)const \n938 int COleCurrency::operator>=(COleCurrency const &)const \n939 int COleDateTime::operator>=(COleDateTime const &)const \n940 CString const & CString::operator+=(CString const &)\n941 CString const & CString::operator+=(unsigned short)\n942 CString const & CString::operator+=(unsigned short const *)\n943 int _AfxAbortProc(HDC__ *,int)\n944 AFX_ADVAPI_CALL _afxAdvApi\n945 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n946 AFX_COMDLG_CALL _afxComDlg\n947 AFX_COMMCTRL_CALL _afxCommCtrl\n948 AFX_ODBC_CALL _afxODBC\n949 AFX_OLE_CALL _afxOLE\n950 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n951 AFX_SHELL_CALL _afxShell\n952 AFX_SOCK_CALL _afxSOCK\n953 AFX_URLMON_CALL _afxUrlMon\n954 AFX_WINSPOOL_CALL _afxWinSpool\n955 int _mbstowcsz(unsigned short *,char const *,unsigned int)\n956 int _wcstombsz(char *,unsigned short const *,unsigned int)\n957 void CArchive::Abort()\n958 void CFile::Abort()\n959 void CInternetFile::Abort()\n960 void CMemFile::Abort()\n961 void CMirrorFile::Abort()\n962 void COleStreamFile::Abort()\n963 void CSocketFile::Abort()\n964 void CStdioFile::Abort()\n965 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n966 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n967 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n968 void COleSafeArray::AccessData(void * *)\n969 void COleClientItem::Activate(long,CView *,tagMSG *)\n970 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n971 int COleClientItem::ActivateAs(unsigned short const *,_GUID const &,_GUID const &)\n972 int CRichEditCntrItem::ActivateAs(unsigned short const *,_GUID const &,_GUID const &)\n973 void CDocObjectServer::ActivateDocObject()\n974 void COleServerDoc::ActivateDocObject()\n975 void CFrameWnd::ActivateFrame(int)\n976 void CMDIChildWnd::ActivateFrame(int)\n977 int COleServerDoc::ActivateInPlace()\n978 void CSplitterWnd::ActivateNext(int)\n979 void CWnd::ActivateTopParent()\n980 void CRecentFileList::Add(unsigned short const *)\n981 int CToolBarCtrl::AddBitmap(int,unsigned int)\n982 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n983 void COleClientItem::AddCachedData(COleDataSource *)\n984 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n985 void CDocManager::AddDocTemplate(CDocTemplate *)\n986 void CWinApp::AddDocTemplate(CDocTemplate *)\n987 void CDocTemplate::AddDocument(CDocument *)\n988 void CMultiDocTemplate::AddDocument(CDocument *)\n989 void CSingleDocTemplate::AddDocument(CDocument *)\n990 int CFontComboBox::AddFont(tagLOGFONTW *,unsigned long)\n991 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n992 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,unsigned short *,unsigned short *,unsigned long)\n993 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n994 void COleControl::AddFrameLevelUI()\n995 void CFrameWnd::AddFrameWnd()\n996 __POSITION * CObList::AddHead(CObject *)\n997 void CObList::AddHead(CObList *)\n998 __POSITION * CPtrList::AddHead(void *)\n999 void CPtrList::AddHead(CPtrList *)\n1000 void CSimpleList::AddHead(void *)\n1001 __POSITION * CStringList::AddHead(unsigned short const *)\n1002 void CStringList::AddHead(CStringList *)\n1003 void COleDocument::AddItem(CDocItem *)\n1004 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1005 void CDaoRecordset::AddNew()\n1006 void CRecordset::AddNew()\n1007 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1008 void CPropertySheet::AddPage(CPropertyPage *)\n1009 void CPropertySection::AddProperty(CProperty *)\n1010 void CPropertySet::AddProperty(_GUID,CProperty *)\n1011 unsigned long CArchiveStream::AddRef()\n1012 unsigned long CBlobProperty::AddRef()\n1013 unsigned long CInnerUnknown::AddRef()\n1014 unsigned long COleConnPtContainer::AddRef()\n1015 unsigned long COleDispatchImpl::AddRef()\n1016 unsigned long COleUILinkInfo::AddRef()\n1017 unsigned long COleClientItem::XAdviseSink::AddRef()\n1018 unsigned long COleControlSite::XAmbientProps::AddRef()\n1019 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1020 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1021 unsigned long CConnectionPoint::XConnPt::AddRef()\n1022 unsigned long COleControl::XDataObject::AddRef()\n1023 unsigned long COleDataSource::XDataObject::AddRef()\n1024 unsigned long COleServerDoc::XDataObject::AddRef()\n1025 unsigned long COleServerItem::XDataObject::AddRef()\n1026 unsigned long COleDropSource::XDropSource::AddRef()\n1027 unsigned long COleDropTarget::XDropTarget::AddRef()\n1028 unsigned long CEnumArray::XEnumVOID::AddRef()\n1029 unsigned long COleControlSite::XEventSink::AddRef()\n1030 unsigned long COleControl::XFontNotification::AddRef()\n1031 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1032 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1033 unsigned long COleControl::XOleCache::AddRef()\n1034 unsigned long COleClientItem::XOleClientSite::AddRef()\n1035 unsigned long COleControlSite::XOleClientSite::AddRef()\n1036 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1037 unsigned long COleControlContainer::XOleContainer::AddRef()\n1038 unsigned long COleControl::XOleControl::AddRef()\n1039 unsigned long COleControlSite::XOleControlSite::AddRef()\n1040 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1041 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1042 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1043 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1044 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1045 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1046 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1047 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1048 unsigned long COleClientItem::XOleIPSite::AddRef()\n1049 unsigned long COleControlSite::XOleIPSite::AddRef()\n1050 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1051 unsigned long CDocObjectServer::XOleObject::AddRef()\n1052 unsigned long COleControl::XOleObject::AddRef()\n1053 unsigned long COleServerDoc::XOleObject::AddRef()\n1054 unsigned long COleServerItem::XOleObject::AddRef()\n1055 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1056 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1057 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1058 unsigned long COleControl::XPersistMemory::AddRef()\n1059 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1060 unsigned long COleControl::XPersistStorage::AddRef()\n1061 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1062 unsigned long COleControl::XPersistStreamInit::AddRef()\n1063 unsigned long COleControl::XPointerInactive::AddRef()\n1064 unsigned long CDocObjectServer::XPrint::AddRef()\n1065 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1066 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1067 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1068 unsigned long COleControl::XProvideClassInfo::AddRef()\n1069 unsigned long COleControl::XQuickActivate::AddRef()\n1070 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1071 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1072 unsigned long COleControl::XViewObject::AddRef()\n1073 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1074 int CHttpFile::AddRequestHeaders(CString &,unsigned long)\n1075 int CHttpFile::AddRequestHeaders(unsigned short const *,unsigned long,int)\n1076 CPropertySection * CPropertySet::AddSection(_GUID)\n1077 void CPropertySet::AddSection(CPropertySection *)\n1078 int CSizeComboBox::AddSize(int,long)\n1079 void COlePasteSpecialDialog::AddStandardFormats(int)\n1080 int CToolBarCtrl::AddString(unsigned int)\n1081 __POSITION * CObList::AddTail(CObject *)\n1082 void CObList::AddTail(CObList *)\n1083 __POSITION * CPtrList::AddTail(void *)\n1084 void CPtrList::AddTail(CPtrList *)\n1085 __POSITION * CStringList::AddTail(unsigned short const *)\n1086 void CStringList::AddTail(CStringList *)\n1087 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1088 int CToolTipCtrl::AddTool(CWnd *,unsigned short const *,tagRECT const *,unsigned int)\n1089 void CWinApp::AddToRecentFileList(unsigned short const *)\n1090 void CDocument::AddView(CView *)\n1091 void CMetaFileDC::AdjustCP(int)\n1092 void CRichEditView::AdjustDialogPosition(CDialog *)\n1093 void CRectTracker::AdjustRect(int,tagRECT *)\n1094 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1095 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1096 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1097 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1098 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1099 unsigned short * AfxA2WHelper(unsigned short *,char const *,int)\n1100 void AfxAbort()\n1101 char * AfxAllocTaskAnsiString(char const *)\n1102 char * AfxAllocTaskAnsiString(unsigned short const *)\n1103 unsigned short * AfxAllocTaskWideString(char const *)\n1104 unsigned short * AfxAllocTaskWideString(unsigned short const *)\n1105 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1106 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1107 void AfxBSTR2CString(CString *,unsigned short *)\n1108 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1109 void AfxCancelModes(HWND__ *)\n1110 int AfxComparePath(unsigned short const *,unsigned short const *)\n1111 int AfxCompareValueByRef(void *,void *,int)\n1112 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1113 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1114 void AfxCopyValueByRef(void *,void *,long *,int)\n1115 void AfxCoreInitModule()\n1116 HDC__ * AfxCreateDC(void *,void *)\n1117 int AfxCriticalInit()\n1118 int AfxCriticalNewHandler(unsigned int)\n1119 void AfxCriticalTerm()\n1120 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1121 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1122 _DAODBEngine * AfxDaoGetEngine()\n1123 void AfxDaoInit()\n1124 void AfxDaoTerm()\n1125 AUX_DATA afxData\n1126 void AfxDeleteObject(void * *)\n1127 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1128 long AfxDllCanUnloadNow()\n1129 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1130 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1131 void AfxEnableControlContainer(COccManager *)\n1132 void AfxEnableWin31Compatibility()\n1133 void AfxEnableWin40Compatibility()\n1134 int AfxEndDeferRegisterClass(long)\n1135 void AfxEndThread(unsigned int,int)\n1136 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1137 int AfxExtractSubString(CString &,unsigned short const *,int,unsigned short)\n1138 void AfxFailMaxChars(CDataExchange *,int)\n1139 void AfxFailRadio(CDataExchange *)\n1140 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1141 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1142 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1143 HINSTANCE__ * AfxFindResourceHandle(unsigned short const *,unsigned short const *)\n1144 void AfxFormatString1(CString &,unsigned int,unsigned short const *)\n1145 void AfxFormatString2(CString &,unsigned int,unsigned short const *,unsigned short const *)\n1146 void AfxFormatStrings(CString &,unsigned int,unsigned short const * const *,int)\n1147 void AfxFormatStrings(CString &,unsigned short const *,unsigned short const * const *,int)\n1148 int AfxFreeLibrary(HINSTANCE__ *)\n1149 int AfxFullPath(unsigned short *,unsigned short const *)\n1150 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1151 AFX_MODULE_STATE * AfxGetAppModuleState()\n1152 long AfxGetClassIDFromString(unsigned short const *,_GUID *)\n1153 _AFX_CTL3D_STATE * AfxGetCtl3dState()\n1154 _AFX_DAO_STATE * AfxGetDaoState()\n1155 CString const & AfxGetEmptyString()\n1156 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1157 unsigned int AfxGetFileName(unsigned short const *,unsigned short *,unsigned int)\n1158 unsigned int AfxGetFileTitle(unsigned short const *,unsigned short *,unsigned int)\n1159 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1160 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1161 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1162 int AfxGetInProcServer(unsigned short const *,CString &)\n1163 unsigned long AfxGetInternetHandleType(void *)\n1164 void AfxGetModuleShortFileName(HINSTANCE__ *,CString &)\n1165 AFX_MODULE_STATE * AfxGetModuleState()\n1166 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1167 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1168 HWND__ * AfxGetParentOwner(HWND__ *)\n1169 int AfxGetPropSheetFont(CString &,unsigned short &,int)\n1170 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1171 void AfxGetRoot(unsigned short const *,CString &)\n1172 CWinThread * AfxGetThread()\n1173 _AFX_THREAD_STATE * AfxGetThreadState()\n1174 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1175 void AfxGlobalFree(void *)\n1176 int AfxHelpEnabled()\n1177 void AfxHookWindowCreate(CWnd *)\n1178 void AfxINetLoad(int (__stdcall**)(),char const *)\n1179 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1180 void AfxInitLocalData(HINSTANCE__ *)\n1181 void AfxInitThread()\n1182 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1183 int AfxIsDescendant(HWND__ *,HWND__ *)\n1184 int AfxIsValidAddress(void const *,unsigned int,int)\n1185 int AfxIsValidString(char const *,int)\n1186 int AfxIsValidString(unsigned short const *,int)\n1187 HINSTANCE__ * AfxLoadDll(HINSTANCE__ * * volatile,char const *)\n1188 HINSTANCE__ * AfxLoadDll(HINSTANCE__ * * volatile,char const *,int (__stdcall**)(),char const *)\n1189 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1190 HINSTANCE__ * AfxLoadLibrary(unsigned short const *)\n1191 int AfxLoadString(unsigned int,unsigned short *,unsigned int)\n1192 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1193 void AfxLockGlobals(int)\n1194 void AfxLockTempMaps()\n1195 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1196 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1197 int AfxMessageBox(unsigned short const *,unsigned int,unsigned int)\n1198 int AfxNewHandler(unsigned int)\n1199 int AfxOleCanExitApp()\n1200 int AfxOleGetUserCtrl()\n1201 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1202 int AfxOleInit()\n1203 void AfxOleLockApp()\n1204 int AfxOleLockControl(_GUID const &)\n1205 int AfxOleLockControl(unsigned short const *)\n1206 void AfxOleOnReleaseAllObjects()\n1207 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,unsigned short const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1208 int AfxOleRegisterHelper(unsigned short const * const *,unsigned short const * const *,int,int,HKEY__ *)\n1209 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1210 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1211 int AfxOleRegisterServerClass(_GUID const &,unsigned short const *,unsigned short const *,unsigned short const *,enum OLE_APPTYPE,unsigned short const * *,unsigned short const * *,int,unsigned short const *)\n1212 int AfxOleRegisterServerClassCompat(_GUID const &,unsigned short const *,unsigned short const *,unsigned short const *,enum OLE_APPTYPE,unsigned short const * *,unsigned short const * *)\n1213 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,unsigned short const *,unsigned short const *)\n1214 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1215 void AfxOleSetUserCtrl(int)\n1216 void AfxOleTerm(int)\n1217 void AfxOleTermOrFreeLib(int,int)\n1218 int AfxOleTypeMatchGuid(ITypeInfo *,tagTYPEDESC *,_GUID const &,unsigned long)\n1219 void AfxOleUnlockAllControls()\n1220 void AfxOleUnlockApp()\n1221 int AfxOleUnlockControl(_GUID const &)\n1222 int AfxOleUnlockControl(unsigned short const *)\n1223 int AfxOleUnregisterClass(_GUID const &,unsigned short const *)\n1224 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1225 int AfxParseURL(unsigned short const *,unsigned long &,CString &,CString &,unsigned short &)\n1226 void AfxPostQuitMessage(int)\n1227 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1228 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1229 int AfxRegisterClass(tagWNDCLASSW *)\n1230 unsigned short const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1231 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1232 void AfxResetMsgCache()\n1233 int AfxResolveShortcut(CWnd *,unsigned short const *,unsigned short *,int)\n1234 void AfxRFXBulkDefault(CFieldExchange *,unsigned short const *,void *,long *,int,unsigned int)\n1235 void AfxSafeArrayInit(COleSafeArray *)\n1236 void AfxSetCurrentRecord(long *,long,short)\n1237 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1238 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1239 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1240 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1241 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1242 void AfxSetRecordCount(long *,long,long,int,short)\n1243 void AfxSetWindowText(HWND__ *,unsigned short const *)\n1244 int AfxSocketInit(WSAData *)\n1245 void AfxSocketTerm()\n1246 void AfxStoreField(CRecordset &,unsigned int,void *)\n1247 CString AfxStringFromCLSID(_GUID const &)\n1248 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1249 void AfxTermLocalData(HINSTANCE__ *,int)\n1250 void AfxTermThread(HINSTANCE__ *)\n1251 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1252 void AfxThrowArchiveException(int,unsigned short const *)\n1253 void AfxThrowDaoException(int,long)\n1254 void AfxThrowDBException(short,CDatabase *,void *)\n1255 void AfxThrowFileException(int,long,unsigned short const *)\n1256 void AfxThrowInternetException(unsigned long,unsigned long)\n1257 void AfxThrowLastCleanup()\n1258 void AfxThrowMemoryException()\n1259 void AfxThrowNotSupportedException()\n1260 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1261 void AfxThrowOleDispatchException(unsigned short,unsigned short const *,unsigned int)\n1262 void AfxThrowOleException(long)\n1263 void AfxThrowResourceException()\n1264 void AfxThrowUserException()\n1557 void AfxTimeToFileTime(CTime const &,_FILETIME *)\n1558 void AfxTlsAddRef()\n1559 void AfxTlsRelease()\n1560 void AfxTryCleanup()\n1561 int AfxUnhookWindowCreate()\n1562 void AfxUnlockGlobals(int)\n1563 int AfxUnlockTempMaps(int)\n1564 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1565 void AfxVariantInit(tagVARIANT *)\n1566 int AfxVerifyLicFile(HINSTANCE__ *,unsigned short const *,unsigned short const *,unsigned int)\n1567 char * AfxW2AHelper(char *,unsigned short const *,int)\n1568 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,unsigned short *,int)\n1569 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,unsigned short *,int)\n1570 void AfxWinTerm()\n1571 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1572 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1573 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1574 unsigned char * CMemFile::Alloc(unsigned long)\n1575 unsigned char * CSharedFile::Alloc(unsigned long)\n1576 void CRecordset::AllocAndCacheFieldInfo()\n1577 void CString::AllocBeforeWrite(int)\n1578 void CString::AllocBuffer(int)\n1579 void CDaoRecordset::AllocCache()\n1580 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1581 void CDatabase::AllocConnect(unsigned long)\n1582 void CString::AllocCopy(CString &,int,int,int)const \n1583 void COleSafeArray::AllocData()\n1584 void CDaoRecordset::AllocDatabase()\n1585 void CRecordset::AllocDataCache()\n1586 void COleSafeArray::AllocDescriptor(unsigned long)\n1587 int CControlBar::AllocElements(int,int)\n1588 int CStatusBar::AllocElements(int,int)\n1589 int CRecordset::AllocHstmt()\n1590 void AllocLongBinary(CLongBinary &,unsigned long)\n1591 void CRecordset::AllocRowset()\n1592 int CThreadSlotData::AllocSlot()\n1593 void CRecordset::AllocStatusArrays()\n1594 unsigned short * CString::AllocSysString()const \n1595 void * CProperty::AllocValue(unsigned long)\n1596 short COleControl::AmbientAppearance()\n1597 unsigned long COleControl::AmbientBackColor()\n1598 CString COleControl::AmbientDisplayName()\n1599 IFontDisp * COleControl::AmbientFont()\n1600 unsigned long COleControl::AmbientForeColor()\n1601 unsigned long COleControl::AmbientLocaleID()\n1602 CString COleControl::AmbientScaleUnits()\n1603 int COleControl::AmbientShowGrabHandles()\n1604 int COleControl::AmbientShowHatching()\n1605 short COleControl::AmbientTextAlign()\n1606 int COleControl::AmbientUIDead()\n1607 int COleControl::AmbientUserMode()\n1608 int CByteArray::Append(CByteArray const &)\n1609 void CDaoQueryDef::Append()\n1610 void CDaoTableDef::Append()\n1611 void CDaoWorkspace::Append()\n1612 int CDWordArray::Append(CDWordArray const &)\n1613 int CObArray::Append(CObArray const &)\n1614 int CPtrArray::Append(CPtrArray const &)\n1615 int CStringArray::Append(CStringArray const &)\n1616 int CUIntArray::Append(CUIntArray const &)\n1617 int CWordArray::Append(CWordArray const &)\n1618 void CRecordset::AppendFilterAndSortSQL()\n1619 unsigned int CRecordset::AppendNames(CString *,unsigned short const *)\n1620 unsigned int CRecordset::AppendNamesValues(void *,CString *,unsigned short const *)\n1621 void CDaoFieldExchange::AppendParamType(CString &,unsigned long)\n1622 unsigned int CRecordset::AppendValues(void *,CString *,unsigned short const *)\n1623 long COlePropertyPage::XPropertyPage::Apply()\n1624 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1625 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1626 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1627 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1628 void CObject::AssertValid()const \n1629 void CString::AssignCopy(int,unsigned short const *)\n1630 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1631 int CAsyncSocket::AsyncSelect(long)\n1632 int CAsyncSocket::Attach(unsigned int,long)\n1633 int CDC::Attach(HDC__ *)\n1634 int CGdiObject::Attach(void *)\n1635 int CImageList::Attach(_IMAGELIST *)\n1636 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1637 int CMenu::Attach(HMENU__ *)\n1638 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1639 int CMonikerFile::Attach(unsigned short const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1640 void COleDataObject::Attach(IDataObject *,int)\n1641 void COleSafeArray::Attach(tagVARIANT &)\n1642 void COleStreamFile::Attach(IStream *)\n1643 void COleVariant::Attach(tagVARIANT &)\n1644 int CWnd::Attach(HWND__ *)\n1645 int COleDataObject::AttachClipboard()\n1646 void CWnd::AttachControlSite(CHandleMap *)\n1647 void CWnd::AttachControlSite(CWnd *)\n1648 void COleClientItem::AttachDataObject(COleDataObject &)const \n1649 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1650 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1651 CPrintDialog * CPrintDialog::AttachOnSetup()\n1652 void COleControlSite::AttachWindow()\n1653 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1654 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1655 void COleMessageFilter::BeginBusyState()\n1656 int CDragListBox::BeginDrag(CPoint)\n1657 void COleDataObject::BeginEnumFormats()\n1658 void CFrameWnd::BeginModalState()\n1659 void CWnd::BeginModalState()\n1660 void CDaoWorkspace::BeginTrans()\n1661 int CDatabase::BeginTrans()\n1662 void CCmdTarget::BeginWaitCursor()\n1663 int CAsyncSocket::Bind(unsigned int,unsigned short const *)\n1664 void CDataSourceControl::BindColumns()\n1665 void COccManager::BindControls(CWnd *)\n1666 void COleControlSite::BindDefaultProperty(long,unsigned short,unsigned short const *,CWnd *)\n1667 void CWnd::BindDefaultProperty(long,unsigned short,unsigned short const *,CWnd *)\n1668 void CDaoRecordset::BindFields()\n1669 void CRecordset::BindFieldsForUpdate()\n1670 unsigned int CRecordset::BindFieldsToColumns()\n1671 void CDaoRecordset::BindParameters()\n1672 void CDatabase::BindParameters(void *)\n1673 unsigned int CRecordset::BindParams(void *)\n1674 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1675 void CDataSourceControl::BindProp(COleControlSite *,int)\n1676 void COleControlSite::BindProperty(long,CWnd *)\n1677 void CWnd::BindProperty(long,CWnd *)\n1678 void COleControl::BoundPropertyChanged(long)\n1679 int COleControl::BoundPropertyRequestEdit(long)\n1680 void CFrameWnd::BringToTop(int)\n1681 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1682 void CDaoRecordset::BuildParameterList()\n1683 void CPropertySheet::BuildPropPageArray()\n1684 void CDaoRecordset::BuildSelectList()\n1685 void CRecordset::BuildSelectSQL()\n1686 int COleControl::BuildSharedMenu()\n1687 int COleDocIPFrameWnd::BuildSharedMenu()\n1688 int COleIPFrameWnd::BuildSharedMenu()\n1689 void CDaoRecordset::BuildSQL()\n1690 void CRecordset::BuildSQL(unsigned short const *)\n1691 void CRecordset::BuildUpdateSQL()\n1692 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1693 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1694 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1695 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1696 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1697 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1698 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1699 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1700 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1701 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1702 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1703 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1704 CSize CControlBar::CalcFixedLayout(int,int)\n1705 CSize CDialogBar::CalcFixedLayout(int,int)\n1706 CSize CDockBar::CalcFixedLayout(int,int)\n1707 CSize CStatusBar::CalcFixedLayout(int,int)\n1708 CSize CToolBar::CalcFixedLayout(int,int)\n1709 void CControlBar::CalcInsideRect(CRect &,int)const \n1710 void CStatusBar::CalcInsideRect(CRect &,int)const \n1711 CSize CToolBar::CalcLayout(unsigned long,int)\n1712 int CCheckListBox::CalcMinimumItemHeight()\n1713 CSize CPreviewView::CalcPageDisplaySize()\n1714 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1715 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1716 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1717 void CMiniFrameWnd::CalcWindowRect(tagRECT *,unsigned int)\n1718 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1719 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1720 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1721 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1722 int COleClientItem::CanActivate()\n1723 int CRichEditCntrItem::CanActivate()\n1724 int CSplitterWnd::CanActivateNext(int)\n1725 int CDaoRecordset::CanAppend()const \n1726 int CDaoRecordset::CanBookmark()\n1727 int CRecordset::CanBookmark()const \n1728 void CDatabase::Cancel()\n1729 void CRecordset::Cancel()\n1730 void CSocket::CancelBlockingCall()\n1731 void CDragListBox::CancelDrag(CPoint)\n1732 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1733 long COleUILinkInfo::CancelLink(unsigned long)\n1734 void CDockContext::CancelLoop()\n1735 void CPropertyPage::CancelToClose()\n1736 void CWnd::CancelToolTips(int)\n1737 void CDaoRecordset::CancelUpdate()\n1738 void CRecordset::CancelUpdate()\n1739 int CDocument::CanCloseFrame(CFrameWnd *)\n1740 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1741 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1742 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1743 unsigned long CDockContext::CanDock()\n1744 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1745 int CFrameWnd::CanEnterHelpMode()\n1746 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1747 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1748 int COleClientItem::CanPaste()\n1749 int CRichEditCtrl::CanPaste(unsigned int)const \n1750 int CRichEditView::CanPaste()const \n1751 int COleClientItem::CanPasteLink()\n1752 int CDaoRecordset::CanRestart()\n1753 int CDaoRecordset::CanScroll()const \n1754 int CDaoDatabase::CanTransact()\n1755 int CDaoRecordset::CanTransact()\n1756 int CDaoDatabase::CanUpdate()\n1757 int CDaoQueryDef::CanUpdate()\n1758 int CDaoRecordset::CanUpdate()const \n1759 int CDaoTableDef::CanUpdate()\n1760 void CScrollView::CenterOnPoint(CPoint)\n1761 void CWnd::CenterWindow(CWnd *)\n1762 void CPicturePropPage::ChangePicture(IPicture *)\n1763 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1764 int CListBox::CharToItem(unsigned int,unsigned int)\n1765 int CDatabase::Check(short)const \n1766 int CRecordset::Check(short)const \n1767 int CDialog::CheckAutoCenter()\n1768 int CWnd::CheckAutoCenter()\n1769 void CArchive::CheckCount()\n1770 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1771 void CWnd::CheckDlgButton(int,unsigned int)\n1772 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1773 void COleClientItem::CheckGeneral(long)\n1774 void COleControlContainer::CheckRadioButton(int,int,int)\n1775 void CWnd::CheckRadioButton(int,int,int)\n1776 void COleDateTime::CheckRange()\n1777 void COleDateTimeSpan::CheckRange()\n1778 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1779 void CRecordset::CheckRowsetError(short)\n1780 CRuntimeconst CAnimateCtrl::classCAnimateCtrl\n1781 CRuntimeconst CArchiveException::classCArchiveException\n1782 CRuntimeconst CAsyncMonikerFile::classCAsyncMonikerFile\n1783 CRuntimeconst CAsyncSocket::classCAsyncSocket\n1784 CRuntimeconst CBitmap::classCBitmap\n1785 CRuntimeconst CBitmapButton::classCBitmapButton\n1786 CRuntimeconst CBrush::classCBrush\n1787 CRuntimeconst CButton::classCButton\n1788 CRuntimeCByteArray::classCByteArray\n1789 CRuntimeconst CCheckListBox::classCCheckListBox\n1790 CRuntimeconst CClientDC::classCClientDC\n1791 CRuntimeconst CCmdTarget::classCCmdTarget\n1792 CRuntimeconst CColorDialog::classCColorDialog\n1793 CRuntimeconst CColorPropPage::classCColorPropPage\n1794 CRuntimeconst CComboBox::classCComboBox\n1795 CRuntimeconst CControlBar::classCControlBar\n1796 CRuntimeconst CCriticalSection::classCCriticalSection\n1797 CRuntimeconst CCtrlView::classCCtrlView\n1798 CRuntimeconst CDaoDatabase::classCDaoDatabase\n1799 CRuntimeconst CDaoException::classCDaoException\n1800 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n1801 CRuntimeconst CDaoRecordset::classCDaoRecordset\n1802 CRuntimeconst CDaoRecordView::classCDaoRecordView\n1803 CRuntimeconst CDaoTableDef::classCDaoTableDef\n1804 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n1805 CRuntimeconst CDatabase::classCDatabase\n1806 CRuntimeconst CDBException::classCDBException\n1807 CRuntimeconst CDC::classCDC\n1808 CRuntimeconst CDialog::classCDialog\n1809 CRuntimeconst CDialogBar::classCDialogBar\n1810 CRuntimeCDocItem::classCDocItem\n1811 CRuntimeconst CDockBar::classCDockBar\n1812 CRuntimeCDockState::classCDockState\n1813 CRuntimeconst CDocManager::classCDocManager\n1814 CRuntimeconst CDocObjectServer::classCDocObjectServer\n1815 CRuntimeconst CDocObjectServerItem::classCDocObjectServerItem\n1816 CRuntimeconst CDocTemplate::classCDocTemplate\n1817 CRuntimeconst CDocument::classCDocument\n1818 CRuntimeconst CDragListBox::classCDragListBox\n1819 CRuntimeCDWordArray::classCDWordArray\n1820 CRuntimeconst CDynLinkLibrary::classCDynLinkLibrary\n1821 CRuntimeconst CEdit::classCEdit\n1822 CRuntimeconst CEditView::classCEditView\n1823 CRuntimeconst CEvent::classCEvent\n1824 CRuntimeconst CException::classCException\n1825 CRuntimeconst CFile::classCFile\n1826 CRuntimeconst CFileDialog::classCFileDialog\n1827 CRuntimeconst CFileException::classCFileException\n1828 CRuntimeconst CFileFind::classCFileFind\n1829 CRuntimeconst CFindReplaceDialog::classCFindReplaceDialog\n1830 CRuntimeconst CFont::classCFont\n1831 CRuntimeconst CFontDialog::classCFontDialog\n1832 CRuntimeconst CFontPropPage::classCFontPropPage\n1833 CRuntimeconst CFormView::classCFormView\n1834 CRuntimeconst CFrameWnd::classCFrameWnd\n1835 CRuntimeconst CGdiObject::classCGdiObject\n1836 CRuntimeconst CHeaderCtrl::classCHeaderCtrl\n1837 CRuntimeconst CHotKeyCtrl::classCHotKeyCtrl\n1838 CRuntimeconst CImageList::classCImageList\n1839 CRuntimeconst CListBox::classCListBox\n1840 CRuntimeconst CListCtrl::classCListCtrl\n1841 CRuntimeconst CListView::classCListView\n1842 CRuntimeconst CLongBinary::classCLongBinary\n1843 CRuntimeconst CMapPtrToPtr::classCMapPtrToPtr\n1844 CRuntimeconst CMapPtrToWord::classCMapPtrToWord\n1845 CRuntimeCMapStringToOb::classCMapStringToOb\n1846 CRuntimeconst CMapStringToPtr::classCMapStringToPtr\n1847 CRuntimeCMapStringToString::classCMapStringToString\n1848 CRuntimeCMapWordToOb::classCMapWordToOb\n1849 CRuntimeconst CMapWordToPtr::classCMapWordToPtr\n1850 CRuntimeconst CMDIChildWnd::classCMDIChildWnd\n1851 CRuntimeconst CMDIFrameWnd::classCMDIFrameWnd\n1852 CRuntimeconst CMemFile::classCMemFile\n1853 CRuntimeconst CMemoryException::classCMemoryException\n1854 CRuntimeconst CMenu::classCMenu\n1855 CRuntimeconst CMetaFileDC::classCMetaFileDC\n1856 CRuntimeconst CMiniDockFrameWnd::classCMiniDockFrameWnd\n1857 CRuntimeconst CMiniFrameWnd::classCMiniFrameWnd\n1858 CRuntimeconst CMonikerFile::classCMonikerFile\n1859 CRuntimeconst CMultiDocTemplate::classCMultiDocTemplate\n1860 CRuntimeconst CMutex::classCMutex\n1861 CRuntimeconst CNotSupportedException::classCNotSupportedException\n1862 CRuntimeCObArray::classCObArray\n1863 CRuntimeconst CObject::classCObject\n1864 CRuntimeCObList::classCObList\n1865 CRuntimeconst COleBusyDialog::classCOleBusyDialog\n1866 CRuntimeconst COleChangeIconDialog::classCOleChangeIconDialog\n1867 CRuntimeconst COleChangeSourceDialog::classCOleChangeSourceDialog\n1868 CRuntimeconst COleClientItem::classCOleClientItem\n1869 CRuntimeconst COleControl::classCOleControl\n1870 CRuntimeconst COleControlModule::classCOleControlModule\n1871 CRuntimeconst COleConvertDialog::classCOleConvertDialog\n1872 CRuntimeconst COleDialog::classCOleDialog\n1873 CRuntimeconst COleDispatchException::classCOleDispatchException\n1874 CRuntimeconst COleDocIPFrameWnd::classCOleDocIPFrameWnd\n1875 CRuntimeconst COleDocument::classCOleDocument\n1876 CRuntimeconst COleException::classCOleException\n1877 CRuntimeconst COleInsertDialog::classCOleInsertDialog\n1878 CRuntimeconst COleIPFrameWnd::classCOleIPFrameWnd\n1879 CRuntimeconst COleLinkingDoc::classCOleLinkingDoc\n1880 CRuntimeconst COleLinksDialog::classCOleLinksDialog\n1881 CRuntimeconst COleObjectFactory::classCOleObjectFactory\n1882 CRuntimeconst COlePasteSpecialDialog::classCOlePasteSpecialDialog\n1883 CRuntimeconst COlePropertiesDialog::classCOlePropertiesDialog\n1884 CRuntimeconst COlePropertyPage::classCOlePropertyPage\n1885 CRuntimeconst COleResizeBar::classCOleResizeBar\n1886 CRuntimeconst COleServerDoc::classCOleServerDoc\n1887 CRuntimeconst COleServerItem::classCOleServerItem\n1888 CRuntimeconst COleStreamFile::classCOleStreamFile\n1889 CRuntimeconst COleUpdateDialog::classCOleUpdateDialog\n1890 CRuntimeconst CPageSetupDialog::classCPageSetupDialog\n1891 CRuntimeconst CPaintDC::classCPaintDC\n1892 CRuntimeconst CPalette::classCPalette\n1893 CRuntimeconst CPen::classCPen\n1894 CRuntimeconst CPicturePropPage::classCPicturePropPage\n1895 CRuntimeconst CPreviewDC::classCPreviewDC\n1896 CRuntimeconst CPreviewView::classCPreviewView\n1897 CRuntimeconst CPrintDialog::classCPrintDialog\n1898 CRuntimeconst CProgressCtrl::classCProgressCtrl\n1899 CRuntimeconst CPropertyPage::classCPropertyPage\n1900 CRuntimeconst CPropertySheet::classCPropertySheet\n1901 CRuntimeconst CPtrArray::classCPtrArray\n1902 CRuntimeconst CPtrList::classCPtrList\n1903 CRuntimeconst CRecordset::classCRecordset\n1904 CRuntimeconst CRecordView::classCRecordView\n1905 CRuntimeconst CResourceException::classCResourceException\n1906 CRuntimeconst CRgn::classCRgn\n1907 CRuntimeCRichEditCntrItem::classCRichEditCntrItem\n1908 CRuntimeconst CRichEditCtrl::classCRichEditCtrl\n1909 CRuntimeconst CRichEditDoc::classCRichEditDoc\n1910 CRuntimeconst CRichEditView::classCRichEditView\n1911 CRuntimeconst CScrollBar::classCScrollBar\n1912 CRuntimeconst CScrollView::classCScrollView\n1913 CRuntimeconst CSemaphore::classCSemaphore\n1914 CRuntimeconst CSharedFile::classCSharedFile\n1915 CRuntimeconst CSingleDocTemplate::classCSingleDocTemplate\n1916 CRuntimeconst CSliderCtrl::classCSliderCtrl\n1917 CRuntimeconst CSocket::classCSocket\n1918 CRuntimeconst CSocketFile::classCSocketFile\n1919 CRuntimeconst CSpinButtonCtrl::classCSpinButtonCtrl\n1920 CRuntimeconst CSplitterWnd::classCSplitterWnd\n1921 CRuntimeconst CStatic::classCStatic\n1922 CRuntimeconst CStatusBar::classCStatusBar\n1923 CRuntimeconst CStatusBarCtrl::classCStatusBarCtrl\n1924 CRuntimeconst CStdioFile::classCStdioFile\n1925 CRuntimeconst CStockPropPage::classCStockPropPage\n1926 CRuntimeCStringArray::classCStringArray\n1927 CRuntimeCStringList::classCStringList\n1928 CRuntimeconst CSyncObject::classCSyncObject\n1929 CRuntimeconst CTabCtrl::classCTabCtrl\n1930 CRuntimeconst CToolBar::classCToolBar\n1931 CRuntimeconst CToolBarCtrl::classCToolBarCtrl\n1932 CRuntimeconst CToolTipCtrl::classCToolTipCtrl\n1933 CRuntimeconst CTreeCtrl::classCTreeCtrl\n1934 CRuntimeconst CTreeView::classCTreeView\n1935 CRuntimeconst CUIntArray::classCUIntArray\n1936 CRuntimeconst CUserException::classCUserException\n1937 CRuntimeconst CView::classCView\n1938 CRuntimeconst CWinApp::classCWinApp\n1939 CRuntimeconst CWindowDC::classCWindowDC\n1940 CRuntimeconst CWinThread::classCWinThread\n1941 CRuntimeconst CWnd::classCWnd\n1942 CRuntimeCWordArray::classCWordArray\n1943 void CPropertyPage::Cleanup()\n1944 void COlePropertyPage::CleanupObjectArray()\n1945 void CDBVariant::Clear()\n1946 void CDockState::Clear()\n1947 void COleVariant::Clear()\n1948 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n1949 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1950 void CRecordset::ClearFieldStatus()\n1951 void CDaoRecordset::ClearFieldStatusFlags()\n1952 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n1953 void CRecordset::ClearNullFieldStatus(unsigned long)\n1954 void CRecordset::ClearNullParamStatus(unsigned long)\n1955 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1956 int COleControl::ClipCaretRect(tagRECT *)\n1957 void CPreviewDC::ClipToPage()\n1958 long CArchiveStream::Clone(IStream * *)\n1959 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1960 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1961 void CArchive::Close()\n1962 void CAsyncMonikerFile::Close()\n1963 void CAsyncSocket::Close()\n1964 void CCachedDataPathProperty::Close()\n1965 void CDaoDatabase::Close()\n1966 void CDaoQueryDef::Close()\n1967 void CDaoRecordset::Close()\n1968 void CDaoTableDef::Close()\n1969 void CDaoWorkspace::Close()\n1970 void CDatabase::Close()\n1971 void CFile::Close()\n1972 void CFileFind::Close()\n1973 void CFtpConnection::Close()\n1974 void CGopherConnection::Close()\n1975 void CGopherFile::Close()\n1976 void CHttpConnection::Close()\n1977 void CHttpFile::Close()\n1978 void CInternetConnection::Close()\n1979 void CInternetFile::Close()\n1980 void CInternetSession::Close()\n1981 void CMemFile::Close()\n1982 void CMirrorFile::Close()\n1983 void CMonikerFile::Close()\n1984 void COleClientItem::Close(enum tagOLECLOSE)\n1985 void COleStreamFile::Close()\n1986 void CRecordset::Close()\n1987 void CSocket::Close()\n1988 void CSocketFile::Close()\n1989 void CStdioFile::Close()\n1990 long CDocObjectServer::XOleObject::Close(unsigned long)\n1991 long COleControl::XOleObject::Close(unsigned long)\n1992 long COleServerDoc::XOleObject::Close(unsigned long)\n1993 long COleServerItem::XOleObject::Close(unsigned long)\n1994 void CDocManager::CloseAllDocuments(int)\n1995 void CDocTemplate::CloseAllDocuments(int)\n1996 void CWinApp::CloseAllDocuments(int)\n1997 void CFileFind::CloseContext()\n1998 void CFtpFileFind::CloseContext()\n1999 void CGopherFileFind::CloseContext()\n2000 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2001 unsigned long CColorButton::colGetFaceColor()\n2002 AFX_OLECMDMAP const CCmdTarget::commandMap\n2003 int CStatusBar::CommandToIndex(unsigned int)const \n2004 int CToolBar::CommandToIndex(unsigned int)const \n2005 long CArchiveStream::Commit(unsigned long)\n2006 void COleClientItem::CommitItem(int)\n2007 void COleDocument::CommitItems(int)\n2008 void CDaoWorkspace::CommitTrans()\n2009 int CDatabase::CommitTrans()\n2010 void CPropertyPage::CommonConstruct(unsigned short const *,unsigned int)\n2011 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2012 void CWinThread::CommonConstruct()\n2013 void CDaoWorkspace::CompactDatabase(unsigned short const *,unsigned short const *,unsigned short const *,int)\n2014 void CDaoWorkspace::CompactDatabase(unsigned short const *,unsigned short const *,unsigned short const *,int,unsigned short const *)\n2015 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2016 int CListBox::CompareItem(tagCOMPAREITEM*)\n2017 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n2018 CSize CPreviewDC::ComputeDeltas(int &,unsigned short const *,unsigned int &,int,unsigned int,int *,int,unsigned short *,int *,int &)\n2019 void CString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)\n2020 void CString::ConcatInPlace(int,unsigned short const *)\n2021 int CAsyncSocket::Connect(unsigned short const *,unsigned int)\n2022 int CDatabase::Connect(unsigned long)\n2023 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2024 int CSocket::ConnectHelper(sockaddr const *,int)\n2025 AFX_CONNECTIONMAP const CCmdTarget::connectionMap\n2026 AFX_CONNECTIONMAP const COleControl::connectionMap\n2027 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2028 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2029 void COleServerDoc::ConnectView(CWnd *,CView *)\n2030 void CPropertyPage::Construct(unsigned int,unsigned int)\n2031 void CPropertyPage::Construct(unsigned short const *,unsigned int)\n2032 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2033 void CPropertySheet::Construct(unsigned short const *,CWnd *,unsigned int)\n2034 void CRectTracker::Construct()\n2035 void ConstructElements(COleVariant *,int)\n2036 void ConstructElements(CString *,int)\n2037 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2038 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2039 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2040 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2041 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2042 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2043 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2044 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2045 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2046 int CPropertySheet::ContinueModal()\n2047 int CWnd::ContinueModal()\n2048 void COleControl::ControlInfoChanged()\n2049 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2050 int COleClientItem::ConvertTo(_GUID const &)\n2051 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2052 void CByteArray::Copy(CByteArray const &)\n2053 void CDWordArray::Copy(CDWordArray const &)\n2054 void CObArray::Copy(CObArray const &)\n2055 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2056 void CPtrArray::Copy(CPtrArray const &)\n2057 void CStringArray::Copy(CStringArray const &)\n2058 void CUIntArray::Copy(CUIntArray const &)\n2059 void CWordArray::Copy(CWordArray const &)\n2060 void CString::CopyBeforeWrite()\n2061 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2062 void CopyElements(COleVariant *,COleVariant const *,int)\n2063 void CopyElements(CString *,CString const *,int)\n2064 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2065 void COleClientItem::CopyToClipboard(int)\n2066 void COleServerItem::CopyToClipboard(int)\n2067 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n2068 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2069 int CAsyncSocket::Create(unsigned int,int,long,unsigned short const *)\n2070 int CButton::Create(unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2071 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2072 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2073 int CControlFrameWnd::Create(unsigned short const *)\n2074 void CDaoDatabase::Create(unsigned short const *,unsigned short const *,int)\n2075 void CDaoQueryDef::Create(unsigned short const *,unsigned short const *)\n2076 void CDaoTableDef::Create(unsigned short const *,long,unsigned short const *,unsigned short const *)\n2077 void CDaoWorkspace::Create(unsigned short const *,unsigned short const *,unsigned short const *)\n2078 int CDialog::Create(unsigned short const *,CWnd *)\n2079 int CDialogBar::Create(CWnd *,unsigned short const *,unsigned int,unsigned int)\n2080 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2081 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2082 int CFindReplaceDialog::Create(int,unsigned short const *,unsigned short const *,unsigned long,CWnd *)\n2083 int CFormView::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2084 int CFrameWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned short const *,unsigned long,CCreateContext *)\n2085 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2086 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2087 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2088 int CImageList::Create(int,int,unsigned int,int,int)\n2089 int CImageList::Create(unsigned int,int,int,unsigned long)\n2090 int CImageList::Create(unsigned short const *,int,int,unsigned long)\n2091 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2092 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2093 int CMDIChildWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2094 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2095 int CMiniFrameWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2096 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2097 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2098 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2099 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2100 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2101 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2102 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2103 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2104 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2105 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2106 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2107 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2108 int CStatic::Create(unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2109 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2110 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2111 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2112 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2113 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2114 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2115 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2116 int CWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2117 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2118 IBindHost * CMonikerFile::CreateBindHost()\n2119 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n2120 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2121 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2122 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2123 void CConnectionPoint::CreateConnectionArray()\n2124 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2125 int COleControlContainer::CreateControl(CWnd *,_GUID const &,unsigned short const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,unsigned short *,COleControlSite * *)\n2126 long COleControlSite::CreateControl(CWnd *,_GUID const &,unsigned short const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,unsigned short *)\n2127 int CWnd::CreateControl(_GUID const &,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,unsigned short *)\n2128 int CWnd::CreateControl(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,unsigned short *)\n2129 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2130 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2131 int CFtpConnection::CreateDirectoryW(unsigned short const *)\n2132 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2133 int COleDispatchDriver::CreateDispatch(unsigned short const *,COleException *)\n2134 int CWnd::CreateDlg(unsigned short const *,CWnd *)\n2135 HWND__ * COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long)\n2136 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2137 int COccManager::CreateDlgControls(CWnd *,unsigned short const *,_AFX_OCC_DIALOG_INFO *)\n2138 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n2139 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2140 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2141 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2142 int CPictureHolder::CreateEmpty()\n2143 int CMiniFrameWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2144 int CWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2145 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n2146 void CDaoTableDef::CreateField(unsigned short const *,short,long,long)\n2147 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2148 CControlFrameWnd * COleControl::CreateFrameWindow()\n2149 int CPictureHolder::CreateFromBitmap(unsigned int)\n2150 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2151 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2152 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2153 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2154 int COleClientItem::CreateFromFile(unsigned short const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2155 int CPictureHolder::CreateFromIcon(unsigned int)\n2156 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2157 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2158 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n2159 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2160 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2161 int CDialog::CreateIndirect(void *,CWnd *)\n2162 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2163 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2164 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2165 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2166 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,unsigned short *,void * *)\n2167 int COleInsertDialog::CreateItem(COleClientItem *)\n2168 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2169 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2170 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2171 int COleClientItem::CreateLinkFromFile(unsigned short const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2172 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *,unsigned short const *,unsigned long)\n2173 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *)\n2174 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short)\n2175 int COleStreamFile::CreateMemoryStream(CFileException *)\n2176 CDocument * CDocTemplate::CreateNewDocument()\n2177 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2178 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2179 CNoTrackObject * CProcessLocal<_AFX_PROPPAGEFONTINFO>::CreateObject()\n2180 CNoTrackObject * CProcessLocal<_AFX_BASE_MODULE_STATE>::CreateObject()\n2181 CNoTrackObject * CProcessLocal<_AFX_CHECKLIST_STATE>::CreateObject()\n2182 CNoTrackObject * CProcessLocal<_AFX_COLOR_STATE>::CreateObject()\n2183 CNoTrackObject * CProcessLocal<_AFX_CTL3D_STATE>::CreateObject()\n2184 CNoTrackObject * CProcessLocal<_AFX_DB_STATE>::CreateObject()\n2185 CNoTrackObject * CProcessLocal<_AFX_EDIT_STATE>::CreateObject()\n2186 CNoTrackObject * CProcessLocal<_AFX_EXTDLL_STATE>::CreateObject()\n2187 CNoTrackObject * CProcessLocal<_AFX_MAIL_STATE>::CreateObject()\n2188 CNoTrackObject * CProcessLocal<_AFX_OLE_STATE>::CreateObject()\n2189 CNoTrackObject * CProcessLocal<_AFX_RICHEDIT_STATE>::CreateObject()\n2190 CNoTrackObject * CProcessLocal<_AFX_SOCK_STATE>::CreateObject()\n2191 CNoTrackObject * CProcessLocal<_AFX_WIN_STATE>::CreateObject()\n2192 CNoTrackObject * CProcessLocal<COccManager>::CreateObject()\n2193 CNoTrackObject * CThreadLocal<_AFX_CTL3D_THREAD>::CreateObject()\n2194 CNoTrackObject * CThreadLocal<_AFX_THREAD_STATE>::CreateObject()\n2195 CNoTrackObject * CThreadLocal<_AFXCTL_AMBIENT_CACHE>::CreateObject()\n2196 CNoTrackObject * CThreadLocal<AFX_MODULE_THREAD_STATE>::CreateObject()\n2197 CObject * CByteArray::CreateObject()\n2198 CObject * CColorPropPage::CreateObject()\n2199 CObject * CDC::CreateObject()\n2200 CObject * CDocItem::CreateObject()\n2201 CObject * CDockState::CreateObject()\n2202 CObject * CDWordArray::CreateObject()\n2203 CObject * CEditView::CreateObject()\n2204 CObject * CFontPropPage::CreateObject()\n2205 CObject * CFrameWnd::CreateObject()\n2206 CObject * CGdiObject::CreateObject()\n2207 CObject * CImageList::CreateObject()\n2208 CObject * CListView::CreateObject()\n2209 CObject * CMapStringToOb::CreateObject()\n2210 CObject * CMapStringToString::CreateObject()\n2211 CObject * CMapWordToOb::CreateObject()\n2212 CObject * CMDIChildWnd::CreateObject()\n2213 CObject * CMDIFrameWnd::CreateObject()\n2214 CObject * CMenu::CreateObject()\n2215 CObject * CMiniDockFrameWnd::CreateObject()\n2216 CObject * CMiniFrameWnd::CreateObject()\n2217 CObject * CObArray::CreateObject()\n2218 CObject * CObList::CreateObject()\n2219 CObject * COleDocIPFrameWnd::CreateObject()\n2220 CObject * COleIPFrameWnd::CreateObject()\n2221 CObject * CPicturePropPage::CreateObject()\n2222 CObject * CPreviewView::CreateObject()\n2223 CObject * CRichEditCntrItem::CreateObject()\n2224 CObject * CRichEditView::CreateObject()\n2225 CObject * CRuntimeClass::CreateObject()\n2226 CObject * CStringArray::CreateObject()\n2227 CObject * CStringList::CreateObject()\n2228 CObject * CTreeView::CreateObject()\n2229 CObject * CWnd::CreateObject()\n2230 CObject * CWordArray::CreateObject()\n2231 void COleControlContainer::CreateOleFont(CFont *)\n2232 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2233 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2234 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,unsigned short *)\n2235 int CFont::CreatePointFont(int,unsigned short const *,CDC *)\n2236 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n2237 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2238 HDC__ * CPrintDialog::CreatePrinterDC()\n2239 int CWinApp::CreatePrinterDC(CDC &)\n2240 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n2241 void CDaoDatabase::CreateRelation(unsigned short const *,unsigned short const *,unsigned short const *,long,unsigned short const *,unsigned short const *)\n2242 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2243 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2244 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2245 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2246 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2247 int COleStreamFile::CreateStream(IStorage *,unsigned short const *,unsigned long,CFileException *)\n2248 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2249 void COleControl::CreateTracker(int,int)\n2250 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2251 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2252 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2253 void COleControl::CreateWindowForSubclassedControl()\n2254 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2255 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2256 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2257 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2258 void DDP_Check(CDataExchange *,int,int &,unsigned short const *)\n2259 void DDP_EndCheck(CDataExchange *,int,int *,unsigned short const *)\n2260 void DDP_EndRadio(CDataExchange *,int,int *,unsigned short const *)\n2261 void DDP_EndText(CDataExchange *,int,unsigned char *,unsigned short const *)\n2262 void DDP_EndText(CDataExchange *,int,short *,unsigned short const *)\n2263 void DDP_EndText(CDataExchange *,int,int *,unsigned short const *)\n2264 void DDP_EndText(CDataExchange *,int,unsigned int *,unsigned short const *)\n2265 void DDP_EndText(CDataExchange *,int,long *,unsigned short const *)\n2266 void DDP_EndText(CDataExchange *,int,unsigned long *,unsigned short const *)\n2267 void DDP_EndText(CDataExchange *,int,float *,unsigned short const *)\n2268 void DDP_EndText(CDataExchange *,int,double *,unsigned short const *)\n2269 void DDP_EndText(CDataExchange *,int,CString *,unsigned short const *)\n2270 void DDP_PostProcessing(CDataExchange *)\n2271 void DDP_Radio(CDataExchange *,int,int &,unsigned short const *)\n2272 void DDP_Text(CDataExchange *,int,unsigned char &,unsigned short const *)\n2273 void DDP_Text(CDataExchange *,int,short &,unsigned short const *)\n2274 void DDP_Text(CDataExchange *,int,int &,unsigned short const *)\n2275 void DDP_Text(CDataExchange *,int,unsigned int &,unsigned short const *)\n2276 void DDP_Text(CDataExchange *,int,long &,unsigned short const *)\n2277 void DDP_Text(CDataExchange *,int,unsigned long &,unsigned short const *)\n2278 void DDP_Text(CDataExchange *,int,float &,unsigned short const *)\n2279 void DDP_Text(CDataExchange *,int,double &,unsigned short const *)\n2280 void DDP_Text(CDataExchange *,int,CString &,unsigned short const *)\n2281 void DDV_MaxChars(CDataExchange *,CString const &,int)\n2282 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2283 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2284 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2285 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2286 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2287 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2288 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2289 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2290 void DDX_CBIndex(CDataExchange *,int,int &)\n2291 void DDX_CBString(CDataExchange *,int,CString &)\n2292 void DDX_CBStringExact(CDataExchange *,int,CString &)\n2293 void DDX_Check(CDataExchange *,int,int &)\n2294 void DDX_Control(CDataExchange *,int,CWnd &)\n2295 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2296 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2297 void DDX_FieldCBString(CDataExchange *,int,CString &,CDaoRecordset *)\n2298 void DDX_FieldCBString(CDataExchange *,int,CString &,CRecordset *)\n2299 void DDX_FieldCBStringExact(CDataExchange *,int,CString &,CDaoRecordset *)\n2300 void DDX_FieldCBStringExact(CDataExchange *,int,CString &,CRecordset *)\n2301 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n2302 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2303 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2304 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2305 void DDX_FieldLBString(CDataExchange *,int,CString &,CDaoRecordset *)\n2306 void DDX_FieldLBString(CDataExchange *,int,CString &,CRecordset *)\n2307 void DDX_FieldLBStringExact(CDataExchange *,int,CString &,CDaoRecordset *)\n2308 void DDX_FieldLBStringExact(CDataExchange *,int,CString &,CRecordset *)\n2309 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n2310 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2311 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n2312 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2313 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n2314 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2315 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n2316 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n2317 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2318 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2319 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2320 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2321 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2322 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2323 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2324 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2325 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2326 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2327 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2328 void DDX_FieldText(CDataExchange *,int,COleDateTime &,CDaoRecordset *)\n2329 void DDX_FieldText(CDataExchange *,int,CString &,CDaoRecordset *)\n2330 void DDX_FieldText(CDataExchange *,int,CString &,CRecordset *)\n2331 void DDX_LBIndex(CDataExchange *,int,int &)\n2332 void DDX_LBString(CDataExchange *,int,CString &)\n2333 void DDX_LBStringExact(CDataExchange *,int,CString &)\n2334 void DDX_OCBool(CDataExchange *,int,long,int &)\n2335 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2336 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2337 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2338 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2339 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2340 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2341 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2342 void DDX_OCInt(CDataExchange *,int,long,int &)\n2343 void DDX_OCInt(CDataExchange *,int,long,long &)\n2344 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2345 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2346 void DDX_OCShort(CDataExchange *,int,long,short &)\n2347 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2348 void DDX_OCText(CDataExchange *,int,long,CString &)\n2349 void DDX_OCTextRO(CDataExchange *,int,long,CString &)\n2350 void DDX_Radio(CDataExchange *,int,int &)\n2351 void DDX_Scroll(CDataExchange *,int,int &)\n2352 void DDX_Text(CDataExchange *,int,unsigned char &)\n2353 void DDX_Text(CDataExchange *,int,short &)\n2354 void DDX_Text(CDataExchange *,int,int &)\n2355 void DDX_Text(CDataExchange *,int,unsigned int &)\n2356 void DDX_Text(CDataExchange *,int,long &)\n2357 void DDX_Text(CDataExchange *,int,unsigned long &)\n2358 void DDX_Text(CDataExchange *,int,float &)\n2359 void DDX_Text(CDataExchange *,int,double &)\n2360 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2361 void DDX_Text(CDataExchange *,int,COleDateTime &)\n2362 void DDX_Text(CDataExchange *,int,CString &)\n2363 void COleClientItem::Deactivate()\n2364 long COlePropertyPage::XPropertyPage::Deactivate()\n2365 int COleServerDoc::DeactivateAndUndo()\n2366 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2367 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2368 void COleClientItem::DeactivateUI()\n2369 void CDaoFieldExchange::Default(unsigned short const *,void *,unsigned long,unsigned long)\n2370 void CFieldExchange::Default(unsigned short const *,void *,long *,int,unsigned int,unsigned int)\n2371 long CWnd::Default()\n2372 void CRect::DeflateRect(int,int,int,int)\n2373 void CRect::DeflateRect(tagRECT const *)\n2374 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2375 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2376 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2377 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2378 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2379 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2380 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2381 void CControlBar::DelayShow(int)\n2382 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2383 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2384 void CDaoRecordset::Delete()\n2385 void CException::Delete()\n2386 void COleClientItem::Delete(int)\n2387 void CRecordset::Delete()\n2388 void CWinThread::Delete()\n2389 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2390 void CSplitterWnd::DeleteColumn(int)\n2391 void CDocument::DeleteContents()\n2392 void CEditView::DeleteContents()\n2393 void COleDocument::DeleteContents()\n2394 void COleServerDoc::DeleteContents()\n2395 void CRichEditDoc::DeleteContents()\n2396 void CRichEditView::DeleteContents()\n2397 int CDC::DeleteDC()\n2398 void CDaoTableDef::DeleteField(int)\n2399 void CDaoTableDef::DeleteField(unsigned short const *)\n2400 int CImageList::DeleteImageList()\n2401 void CDaoTableDef::DeleteIndex(int)\n2402 void CDaoTableDef::DeleteIndex(unsigned short const *)\n2403 void CComboBox::DeleteItem(tagDELETEITEM*)\n2404 void CFontComboBox::DeleteItem(tagDELETEITEM*)\n2405 void CListBox::DeleteItem(tagDELETEITEM*)\n2406 int CGdiObject::DeleteObject()\n2407 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2408 void CDaoDatabase::DeleteQueryDef(unsigned short const *)\n2409 void CDaoDatabase::DeleteRelation(unsigned short const *)\n2410 void CSplitterWnd::DeleteRow(int)\n2411 void CDaoDatabase::DeleteTableDef(unsigned short const *)\n2412 void CHandleMap::DeleteTemp()\n2413 void CDC::DeleteTempMap()\n2414 void CGdiObject::DeleteTempMap()\n2415 void CImageList::DeleteTempMap()\n2416 void CMenu::DeleteTempMap()\n2417 void CWnd::DeleteTempMap()\n2418 void CRichEditDoc::DeleteUnmarkedItems()const \n2419 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2420 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2421 void CSplitterWnd::DeleteView(int,int)\n2422 long CWinApp::DelRegTree(HKEY__ *,CString const &)\n2423 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2424 void COleSafeArray::Destroy()\n2425 int COleControlSite::DestroyControl()\n2426 void COleSafeArray::DestroyData()\n2427 void COleSafeArray::DestroyDescriptor()\n2428 void CFrameWnd::DestroyDockBars()\n2429 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2430 int CMenu::DestroyMenu()\n2431 void COleControl::DestroySharedMenu()\n2432 void COleDocIPFrameWnd::DestroySharedMenu()\n2433 void COleIPFrameWnd::DestroySharedMenu()\n2434 int CToolTipCtrl::DestroyToolTipCtrl()\n2435 void COleControl::DestroyTracker()\n2436 int CControlBar::DestroyWindow()\n2437 int CMDIChildWnd::DestroyWindow()\n2438 int CWnd::DestroyWindow()\n2439 void DestructElements(COleVariant *,int)\n2440 void DestructElements(CString *,int)\n2441 unsigned int CAsyncSocket::Detach()\n2442 HDC__ * CDC::Detach()\n2443 void * CDialogTemplate::Detach()\n2444 void * CGdiObject::Detach()\n2445 _IMAGELIST * CImageList::Detach()\n2446 unsigned char * CMemFile::Detach()\n2447 HMENU__ * CMenu::Detach()\n2448 int CMonikerFile::Detach(CFileException *)\n2449 IDataObject * COleDataObject::Detach()\n2450 tagVARIANT COleSafeArray::Detach()\n2451 IStream * COleStreamFile::Detach()\n2452 tagVARIANT COleVariant::Detach()\n2453 void * CSharedFile::Detach()\n2454 HDC__ * CWindowlessDC::Detach()\n2455 HWND__ * CWnd::Detach()\n2456 IDispatch * COleDispatchDriver::DetachDispatch()\n2457 void CAsyncSocket::DetachHandle(unsigned int,int)\n2458 void COleControlSite::DetachWindow()\n2459 void CWinApp::DevModeChange(unsigned short *)\n2460 void DFX_Binary(CDaoFieldExchange *,unsigned short const *,CByteArray &,int,unsigned long)\n2461 void DFX_Bool(CDaoFieldExchange *,unsigned short const *,int &,unsigned long)\n2462 void DFX_Byte(CDaoFieldExchange *,unsigned short const *,unsigned char &,unsigned long)\n2463 void DFX_Currency(CDaoFieldExchange *,unsigned short const *,COleCurrency &,unsigned long)\n2464 void DFX_DateTime(CDaoFieldExchange *,unsigned short const *,COleDateTime &,unsigned long)\n2465 void DFX_Double(CDaoFieldExchange *,unsigned short const *,double &,unsigned long)\n2466 void DFX_Long(CDaoFieldExchange *,unsigned short const *,long &,unsigned long)\n2467 void DFX_LongBinary(CDaoFieldExchange *,unsigned short const *,CLongBinary &,unsigned long,unsigned long)\n2468 void DFX_Short(CDaoFieldExchange *,unsigned short const *,short &,unsigned long)\n2469 void DFX_Single(CDaoFieldExchange *,unsigned short const *,float &,unsigned long)\n2470 void DFX_Text(CDaoFieldExchange *,unsigned short const *,CString &,int,unsigned long)\n2471 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2472 int COleServerDoc::DiscardUndoState()\n2473 long COleClientItem::XOleIPSite::DiscardUndoState()\n2474 long COleControlSite::XOleIPSite::DiscardUndoState()\n2475 void COleDispatchImpl::Disconnect()\n2476 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2477 void CDocument::DisconnectViews()\n2478 AFX_DISPMAP const CCmdTarget::dispatchMap\n2479 void CWinThread::DispatchThreadMessage(tagMSG *)\n2480 void COleControl::DisplayError(long,unsigned short const *,unsigned short const *,unsigned short const *,unsigned int)\n2481 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2482 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2483 void CAsyncSocket::DoCallBack(unsigned int,long)\n2484 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2485 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2486 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2487 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2488 void COleControl::DoClick()\n2489 int COleFrameHook::DoContextSensitiveHelp(int)\n2490 int COleConvertDialog::DoConvert(COleClientItem *)\n2491 void CColorPropPage::DoDataExchange(CDataExchange *)\n2492 void CFontPropPage::DoDataExchange(CDataExchange *)\n2493 void CPicturePropPage::DoDataExchange(CDataExchange *)\n2494 void CWnd::DoDataExchange(CDataExchange *)\n2495 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2496 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2497 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2498 int COleFrameHook::DoEnableModeless(int)\n2499 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2500 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2501 void CRecordset::DoFieldExchange(CFieldExchange *)\n2502 int CDocument::DoFileSave()\n2503 int CSplitterWnd::DoKeyboardSplit()\n2504 int CWinApp::DoMessageBox(unsigned short const *,unsigned int,unsigned int)\n2505 int CColorDialog::DoModal()\n2506 int CDialog::DoModal()\n2507 int CFileDialog::DoModal()\n2508 int CFontDialog::DoModal()\n2509 int COleBusyDialog::DoModal()\n2510 int COleChangeIconDialog::DoModal()\n2511 int COleChangeSourceDialog::DoModal()\n2512 int COleConvertDialog::DoModal()\n2513 int COleInsertDialog::DoModal()\n2514 int COleLinksDialog::DoModal()\n2515 int COlePasteSpecialDialog::DoModal()\n2516 int COlePropertiesDialog::DoModal()\n2517 int COleUpdateDialog::DoModal()\n2518 int CPageSetupDialog::DoModal()\n2519 int CPrintDialog::DoModal()\n2520 int CPropertySheet::DoModal()\n2521 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2522 void CControlBar::DoPaint(CDC *)\n2523 void CDockBar::DoPaint(CDC *)\n2524 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2525 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2526 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2527 int CView::DoPreparePrinting(CPrintInfo *)\n2528 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2529 int CWinApp::DoPrintDialog(CPrintDialog *)\n2530 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2531 int CDocManager::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n2532 int CWinApp::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n2533 void COleControl::DoPropExchange(CPropExchange *)\n2534 int CDocument::DoSave(unsigned short const *,int)\n2535 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2536 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2537 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2538 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2539 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2540 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2541 long COleControlSite::DoVerb(long,tagMSG *)\n2542 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2543 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2544 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2545 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2546 void CWinApp::DoWaitCursor(int)\n2547 void CPreviewView::DoZoom(unsigned int,CPoint)\n2548 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2549 void CDC::DPtoLP(tagSIZE *)const \n2550 void CWnd::DragAcceptFiles(int)\n2551 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2552 unsigned int CDragListBox::Dragging(CPoint)\n2553 long COleDropTarget::XDropTarget::DragLeave()\n2554 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2555 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2556 void CRectTracker::Draw(CDC *)const \n2557 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2558 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2559 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2560 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2561 void CControlBar::DrawBorders(CDC *,CRect &)\n2562 void COleControl::DrawContent(CDC *,CRect &)\n2563 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2564 void CDockContext::DrawFocusRect(int)\n2565 void CDragListBox::DrawInsert(int)\n2566 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2567 void CButton::DrawItem(tagDRAWITEM*)\n2568 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2569 void CColorButton::DrawItem(tagDRAWITEM*)\n2570 void CComboBox::DrawItem(tagDRAWITEM*)\n2571 void CFontComboBox::DrawItem(tagDRAWITEM*)\n2572 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2573 void CListBox::DrawItem(tagDRAWITEM*)\n2574 void CListCtrl::DrawItem(tagDRAWITEM*)\n2575 void CListView::DrawItem(tagDRAWITEM*)\n2576 void CMenu::DrawItem(tagDRAWITEM*)\n2577 void CStatusBar::DrawItem(tagDRAWITEM*)\n2578 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2579 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2580 void COleControl::DrawMetafile(CDC *,CRect &)\n2581 void CDragListBox::DrawSingle(int)\n2582 int CDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n2583 int CMetaFileDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n2584 int CPreviewDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n2585 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2586 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2587 void CDragListBox::Dropped(int,CPoint)\n2588 void CObject::Dump(CDumpContext &)const \n2589 long COleControl::XDataObject::DUnadvise(unsigned long)\n2590 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2591 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2592 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2593 CFile * CFile::Duplicate()const \n2594 CFile * CInternetFile::Duplicate()const \n2595 CFile * CMemFile::Duplicate()const \n2596 CFile * COleStreamFile::Duplicate()const \n2597 CFile * CSocketFile::Duplicate()const \n2598 CFile * CStdioFile::Duplicate()const \n2599 unsigned long const CEditView::dwStyleDefault\n2600 void CDaoRecordset::Edit()\n2601 void CRecordset::Edit()\n2602 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2603 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2604 void CDBException::Empty()\n2605 void COleDataSource::Empty()\n2606 void CString::Empty()\n2607 void CCheckListBox::Enable(int,int)\n2608 void CCmdUI::Enable(int)\n2609 void COleCmdUI::Enable(int)\n2610 void CStatusCmdUI::Enable(int)\n2611 void CTestCmdUI::Enable(int)\n2612 void CToolCmdUI::Enable(int)\n2613 int CWinApp::Enable3dControls()\n2614 void CCmdTarget::EnableAggregation()\n2615 void CCmdTarget::EnableAutomation()\n2616 void CRecordset::EnableBookmarks()\n2617 void CCmdTarget::EnableConnections()\n2618 void CControlBar::EnableDocking(unsigned long)\n2619 void CFrameWnd::EnableDocking(unsigned long)\n2620 void COleControlSite::EnableDSC()\n2621 void CWinApp::EnableModeless(int)\n2622 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2623 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2624 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2625 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2626 void CWnd::EnableScrollBarCtrl(int,int)\n2627 void CWinApp::EnableShellOpen()\n2628 void COleControl::EnableSimpleFrame()\n2629 void CPropertySheet::EnableStackedTabs(int)\n2630 int CInternetSession::EnableStatusCallback(int)\n2631 int CWnd::EnableToolTips(int)\n2632 void CCmdTarget::EnableTypeLib()\n2633 int COleControlSite::EnableWindow(int)\n2634 int CWnd::EnableWindow(int)\n2635 void COleMessageFilter::EndBusyState()\n2636 long COleLinkingDoc::EndDeferErrors(long)\n2637 void CDialog::EndDialog(int)\n2638 void CPropertySheet::EndDialog(int)\n2639 void CDockContext::EndDrag()\n2640 void CWnd::EndModalLoop(int)\n2641 void CFrameWnd::EndModalState()\n2642 void CWnd::EndModalState()\n2643 void CDockContext::EndResize()\n2644 void CCmdTarget::EndWaitCursor()\n2645 void COleDataObject::EnsureClipboardObject()\n2646 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2647 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2648 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2649 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2650 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2651 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2652 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2653 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2654 int COlePropertyPage::EnumControls(HWND__ *,long)\n2655 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2656 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2657 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2658 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2659 int CFontPropPage::EnumFontFamiliesCallBack(tagENUMLOGFONTW *,tagNEWTEXTMETRICW *,int,long)\n2660 int CFontPropPage::EnumFontFamiliesCallBack2(tagENUMLOGFONTW *,tagNEWTEXTMETRICW *,int,long)\n2661 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2662 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2663 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2664 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2665 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2666 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2667 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2668 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2669 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2670 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2671 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2672 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2673 void CControlBar::EraseNonClient()\n2674 int CFileException::ErrnoToException(int)\n2675 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2676 int CDC::Escape(int,int,char const *,void *)\n2677 int CMetaFileDC::Escape(int,int,char const *,void *)\n2678 int CPreviewDC::Escape(int,int,char const *,void *)\n2679 AFX_EVENTMAP const COleControl::eventMap\n2680 AFX_EVENTSINKMAP const CCmdTarget::eventsinkMap\n2681 int CArchivePropExchange::ExchangeBlobProp(unsigned short const *,void * *,void *)\n2682 int CAsyncPropExchange::ExchangeBlobProp(unsigned short const *,void * *,void *)\n2683 int CPropbagPropExchange::ExchangeBlobProp(unsigned short const *,void * *,void *)\n2684 int CPropsetPropExchange::ExchangeBlobProp(unsigned short const *,void * *,void *)\n2685 int CResetPropExchange::ExchangeBlobProp(unsigned short const *,void * *,void *)\n2686 int COleControl::ExchangeExtent(CPropExchange *)\n2687 int CArchivePropExchange::ExchangeFontProp(unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2688 int CAsyncPropExchange::ExchangeFontProp(unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2689 int CPropbagPropExchange::ExchangeFontProp(unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2690 int CPropsetPropExchange::ExchangeFontProp(unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2691 int CResetPropExchange::ExchangeFontProp(unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2692 int CArchivePropExchange::ExchangePersistentProp(unsigned short const *,IUnknown * *,_GUID const &,IUnknown *)\n2693 int CAsyncPropExchange::ExchangePersistentProp(unsigned short const *,IUnknown * *,_GUID const &,IUnknown *)\n2694 int CPropbagPropExchange::ExchangePersistentProp(unsigned short const *,IUnknown * *,_GUID const &,IUnknown *)\n2695 int CPropsetPropExchange::ExchangePersistentProp(unsigned short const *,IUnknown * *,_GUID const &,IUnknown *)\n2696 int CResetPropExchange::ExchangePersistentProp(unsigned short const *,IUnknown * *,_GUID const &,IUnknown *)\n2697 int CArchivePropExchange::ExchangeProp(unsigned short const *,unsigned short,void *,void const *)\n2698 int CAsyncPropExchange::ExchangeProp(unsigned short const *,unsigned short,void *,void const *)\n2699 int CPropbagPropExchange::ExchangeProp(unsigned short const *,unsigned short,void *,void const *)\n2700 int CPropsetPropExchange::ExchangeProp(unsigned short const *,unsigned short,void *,void const *)\n2701 int CResetPropExchange::ExchangeProp(unsigned short const *,unsigned short,void *,void const *)\n2702 void COleControl::ExchangeStockProps(CPropExchange *)\n2703 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2704 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2705 int CDC::ExcludeClipRect(int,int,int,int)\n2706 int CDC::ExcludeClipRect(tagRECT const *)\n2707 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2708 void CDaoDatabase::Execute(unsigned short const *,int)\n2709 void CDaoQueryDef::Execute(int)\n2710 int CWnd::ExecuteDlgInit(void *)\n2711 int CWnd::ExecuteDlgInit(unsigned short const *)\n2712 void CRecordset::ExecuteSetPosUpdate()\n2713 void CDatabase::ExecuteSQL(unsigned short const *)\n2714 void CRecordset::ExecuteUpdateSQL()\n2715 void CFrameWnd::ExitHelpMode()\n2716 int COleControlModule::ExitInstance()\n2717 int CWinApp::ExitInstance()\n2718 int CWinThread::ExitInstance()\n2719 unsigned long CCmdTarget::ExternalAddRef()\n2720 void CCmdTarget::ExternalDisconnect()\n2721 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2722 unsigned long CCmdTarget::ExternalRelease()\n2723 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2724 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2725 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2726 CColorPropPage::CColorPropPageFactory CColorPropPage::factory\n2727 CFontPropPage::CFontPropPageFactory CFontPropPage::factory\n2728 CPicturePropPage::CPicturePropPageFactory CPicturePropPage::factory\n2729 void CDataExchange::Fail()\n2730 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2731 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2732 void CArchive::FillBuffer(unsigned int)\n2733 void CDaoRecordset::FillCache(long *,COleVariant *)\n2734 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n2735 void CDaoException::FillErrorInfo()\n2736 void CFontPropPage::FillFacenameList()\n2737 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2738 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2739 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2740 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n2741 void CStockPropPage::FillPropnameList(_GUID const &,int,CComboBox &)\n2742 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n2743 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n2744 void CFontPropPage::FillSizeList()\n2745 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2746 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2747 void CColorPropPage::FillSysColors()\n2748 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n2749 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n2750 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n2751 void CWnd::FilterToolTipMessage(tagMSG *)\n2752 int CDaoRecordset::Find(long,unsigned short const *)\n2753 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2754 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2755 int CString::Find(unsigned short)const \n2756 int CString::Find(unsigned short const *)const \n2757 __POSITION * CStringList::Find(unsigned short const *,__POSITION *)const \n2758 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2759 int CDockBar::FindBar(CControlBar *,int)\n2760 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2761 CWnd * FindDlgItem(CWnd *,unsigned long)\n2762 int CFileFind::FindFile(unsigned short const *,unsigned long)\n2763 int CFtpFileFind::FindFile(unsigned short const *,unsigned long)\n2764 int CGopherFileFind::FindFile(CGopherLocator &,unsigned short const *,unsigned long)\n2765 int CGopherFileFind::FindFile(unsigned short const *,unsigned long)\n2766 int CDaoRecordset::FindFirst(unsigned short const *)\n2767 __POSITION * CObList::FindIndex(int)const \n2768 __POSITION * CPtrList::FindIndex(int)const \n2769 __POSITION * CStringList::FindIndex(int)const \n2770 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2771 int CDaoRecordset::FindLast(unsigned short const *)\n2772 int CDaoRecordset::FindNext(unsigned short const *)\n2773 int CFileFind::FindNextFileW()\n2774 int CFtpFileFind::FindNextFileW()\n2775 int CGopherFileFind::FindNextFileW()\n2776 int CString::FindOneOf(unsigned short const *)const \n2777 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2778 int CDaoRecordset::FindPrev(unsigned short const *)\n2779 unsigned short const * CRecordset::FindSQLToken(unsigned short const *,unsigned short const *)\n2780 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n2781 int CRichEditView::FindTextSimple(unsigned short const *,int,int)\n2782 int CEditView::FindTextW(unsigned short const *,int,int)\n2783 int CRichEditView::FindTextW(_AFX_RICHEDIT_STATE *)\n2784 int CRichEditView::FindTextW(unsigned short const *,int,int)\n2785 int COleClientItem::FinishCreate(long)\n2786 void COleControl::FireError(long,unsigned short const *,unsigned int)\n2787 void COleControl::FireEvent(long,unsigned char *,...)\n2788 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2789 void COleControl::FireEventV(long,unsigned char *,char *)\n2790 void CDaoRecordset::Fixup()\n2791 void CRecordset::Fixups()\n2792 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2793 void CArchive::Flush()\n2794 void CDumpContext::Flush()\n2795 void CFile::Flush()\n2796 void CInternetFile::Flush()\n2797 void CMemFile::Flush()\n2798 void COleStreamFile::Flush()\n2799 void CSocketFile::Flush()\n2800 void CStdioFile::Flush()\n2801 void COleDataSource::FlushClipboard()\n2802 int CRecordset::FlushResultSet()const \n2803 CString COleCurrency::Format(unsigned long,unsigned long)const \n2804 CString COleDateTime::Format(unsigned int)const \n2805 CString COleDateTime::Format(unsigned long,unsigned long)const \n2806 CString COleDateTime::Format(unsigned short const *)const \n2807 CString COleDateTimeSpan::Format(unsigned int)const \n2808 CString COleDateTimeSpan::Format(unsigned short const *)const \n2809 void CString::Format(unsigned int,...)\n2810 void CString::Format(unsigned short const *,...)\n2811 CString CTime::Format(unsigned int)const \n2812 CString CTime::Format(char const *)const \n2813 CString CTime::Format(unsigned short const *)const \n2814 CString CTimeSpan::Format(unsigned int)const \n2815 CString CTimeSpan::Format(char const *)const \n2816 CString CTimeSpan::Format(unsigned short const *)const \n2817 CString CTime::FormatGmt(unsigned int)const \n2818 CString CTime::FormatGmt(char const *)const \n2819 CString CTime::FormatGmt(unsigned short const *)const \n2820 void CString::FormatMessageW(unsigned int,...)\n2821 void CString::FormatMessageW(unsigned short const *,...)\n2822 void CString::FormatV(unsigned short const *,char *)\n2823 void COleControl::ForwardActivationMsg(tagMSG *)\n2824 void CDatabase::Free()\n2825 void CMemFile::Free(unsigned char *)\n2826 void CSharedFile::Free(unsigned char *)\n2827 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2828 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2829 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2830 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2831 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2832 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2833 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2834 void CDaoRecordset::FreeCache()\n2835 void CRecordset::FreeDataCache()\n2836 void CPlex::FreeDataChain()\n2837 void CByteArray::FreeExtra()\n2838 void CDWordArray::FreeExtra()\n2839 void CObArray::FreeExtra()\n2840 void CPtrArray::FreeExtra()\n2841 void CString::FreeExtra()\n2842 void CStringArray::FreeExtra()\n2843 void CUIntArray::FreeExtra()\n2844 void CWordArray::FreeExtra()\n2845 void CObList::FreeNode(CObList::CNode *)\n2846 void CPtrList::FreeNode(CPtrList::CNode *)\n2847 void CStringList::FreeNode(CStringList::CNode *)\n2848 void CRecordset::FreeRowset()\n2849 void CThreadSlotData::FreeSlot(int)\n2850 void CProperty::FreeValue()\n2851 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2852 long COleControl::XOleControl::FreezeEvents(int)\n2853 int COleClientItem::FreezeLink()\n2854 CDC * CDC::FromHandle(HDC__ *)\n2855 CGdiObject * CGdiObject::FromHandle(void *)\n2856 CObject * CHandleMap::FromHandle(void *)\n2857 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2858 CMenu * CMenu::FromHandle(HMENU__ *)\n2859 CWnd * CWnd::FromHandle(HWND__ *)\n2860 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2861 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2862 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2863 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2864 void * CProperty::Get(unsigned long *)\n2865 void * CProperty::Get()\n2866 void * CPropertySection::Get(unsigned long)\n2867 void * CPropertySection::Get(unsigned long,unsigned long *)\n2868 void * CPropertySet::Get(_GUID,unsigned long)\n2869 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2870 long CDaoRecordset::GetAbsolutePosition()\n2871 unsigned long COleControl::GetActivationPolicy()\n2872 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2873 CDocument * CFrameWnd::GetActiveDocument()\n2874 CFrameWnd * CFrameWnd::GetActiveFrame()\n2875 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2876 int CPropertySheet::GetActiveIndex()const \n2877 CPropertyPage * CPropertySheet::GetActivePage()const \n2878 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2879 CView * CFrameWnd::GetActiveView()const \n2880 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2881 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2882 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2883 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2884 short COleControl::GetAppearance()\n2885 HKEY__ * CWinApp::GetAppRegistryKey()\n2886 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &)const \n2887 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &)const \n2888 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(unsigned short const *,unsigned int &)const \n2889 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(unsigned short const *,unsigned int &)const \n2890 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(unsigned short const *,unsigned int &)const \n2891 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &)const \n2892 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &)const \n2893 CString CStringArray::GetAt(int)const \n2894 int CGopherConnection::GetAttribute(CGopherLocator &,CString,CString &)\n2895 long CDaoTableDef::GetAttributes()\n2896 unsigned long COleControl::GetBackColor()\n2897 void CControlBar::GetBarInfo(CControlBarInfo *)\n2898 void CDockBar::GetBarInfo(CControlBarInfo *)\n2899 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2900 void * CBlobProperty::GetBlob()\n2901 COleVariant CDaoRecordset::GetBookmark()\n2902 void CRecordset::GetBookmark(CDBVariant &)\n2903 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2904 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2905 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2906 short COleControl::GetBorderStyle()\n2907 long CDataSourceControl::GetBoundClientRow()\n2908 int CRecordset::GetBoundFieldIndex(void *)\n2909 int CRecordset::GetBoundParamIndex(void *)\n2910 unsigned short * CString::GetBuffer(int)\n2911 unsigned int CEditView::GetBufferLength()const \n2912 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2913 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2914 unsigned short * CString::GetBufferSetLength(int)\n2915 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2916 unsigned int CToolBar::GetButtonStyle(int)const \n2917 CString CToolBar::GetButtonText(int)const \n2918 void CToolBar::GetButtonText(int,CString &)const \n2919 unsigned short CPropertySet::GetByteOrder()\n2920 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2921 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2922 long CDaoRecordset::GetCacheSize()\n2923 COleVariant CDaoRecordset::GetCacheStart()\n2924 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n2925 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2926 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2927 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2928 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2929 CWnd * COleControl::GetCapture()\n2930 void CFontDialog::GetCharFormat(_charformat &)const \n2931 _charformat & CRichEditView::GetCharFormatSelection()\n2932 int CCheckListBox::GetCheck(int)\n2933 int CWnd::GetCheckedRadioButton(int,int)\n2934 long CBlobProperty::GetClassID(_GUID *)\n2935 long CColorPropPage::GetClassID(_GUID *)\n2936 long CFontPropPage::GetClassID(_GUID *)\n2937 void COleClientItem::GetClassID(_GUID *)const \n2938 long CPicturePropPage::GetClassID(_GUID *)\n2939 _GUID CPropertySet::GetClassID()\n2940 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2941 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2942 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2943 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2944 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2945 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2946 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n2947 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2948 void COleControl::GetClientOffset(long *,long *)const \n2949 void COleControl::GetClientRect(tagRECT *)const \n2950 IOleClientSite * COleClientItem::GetClientSite()\n2951 IOleClientSite * COleControl::GetClientSite()\n2952 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2953 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2954 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2955 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2956 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2957 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2958 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2959 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2960 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2961 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2962 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2963 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2964 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2965 COleDataSource * COleDataSource::GetClipboardOwner()\n2966 int CDC::GetClipBox(tagRECT *)const \n2967 int CMetaFileDC::GetClipBox(tagRECT *)const \n2968 int CColorPropPage::GetColorProp(CDataExchange *,unsigned long *,unsigned short const *)\n2969 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2970 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2971 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2972 CString CDaoDatabase::GetConnect()\n2973 CString CDaoQueryDef::GetConnect()\n2974 CString CDaoTableDef::GetConnect()\n2975 void CDatabase::GetConnectInfo()\n2976 int CConnectionPoint::GetConnectionCount()\n2977 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2978 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2979 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2980 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2981 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2982 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2983 CPtrArray const * CConnectionPoint::GetConnections()\n2984 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2985 IOleItemContainer * COleDocument::GetContainer()\n2986 IOleItemContainer * COleLinkingDoc::GetContainer()\n2987 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2988 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2989 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2990 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2991 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2992 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2993 unsigned long COleControl::GetControlFlags()\n2994 void COleControlSite::GetControlInfo()\n2995 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2996 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2997 IUnknown * CCmdTarget::GetControllingUnknown()\n2998 void COleControl::GetControlSize(int *,int *)\n2999 int COlePropertyPage::GetControlStatus(unsigned int)\n3000 IUnknown * CWnd::GetControlUnknown()\n3001 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3002 int CPrintDialog::GetCopies()const \n3003 unsigned long CPropertySection::GetCount()\n3004 unsigned long CPropertySet::GetCount()\n3005 int CFileFind::GetCreationTime(CTime &)const \n3006 int CFileFind::GetCreationTime(_FILETIME *)const \n3007 int CGopherFileFind::GetCreationTime(CTime &)const \n3008 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3009 long COleLinkingDoc::XPersistFile::GetCurFile(unsigned short * *)\n3010 int CFtpConnection::GetCurrentDirectoryAsURL(CString &)const \n3011 int CFtpConnection::GetCurrentDirectoryAsURL(unsigned short *,unsigned long *)const \n3012 int CFtpConnection::GetCurrentDirectoryW(CString &)const \n3013 int CFtpConnection::GetCurrentDirectoryW(unsigned short *,unsigned long *)const \n3014 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n3015 CString CDaoRecordset::GetCurrentIndex()\n3016 tagMSG const * CWnd::GetCurrentMessage()\n3017 CString CFontComboBox::GetCurrentName()\n3018 ICursor * CDataBoundProperty::GetCursor()\n3019 ICursor * CDataSourceControl::GetCursor()\n3020 long COleControlSite::GetCursor(long,ICursor * *,void * *)\n3021 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3022 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3023 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3024 long CRecordset::GetData(CDatabase *,void *,short,short,void *,int,short)\n3025 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3026 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3027 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3028 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3029 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3030 void CDaoRecordset::GetDataAndFixupNulls()\n3031 short CDaoWorkspace::GetDatabaseCount()\n3032 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n3033 void CDaoWorkspace::GetDatabaseInfo(unsigned short const *,CDaoDatabaseInfo &,unsigned long)\n3034 CString CDatabase::GetDatabaseName()const \n3035 void * CRecordset::GetDataBuffer(CDBVariant &,short,int *,short,unsigned long)\n3036 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3037 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3038 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3039 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3040 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3041 IDataObject * COleServerItem::GetDataObject()\n3042 COleControl::CControlDataSource * COleControl::GetDataSource()\n3043 COleDateTime CDaoQueryDef::GetDateCreated()\n3044 COleDateTime CDaoRecordset::GetDateCreated()\n3045 COleDateTime CDaoTableDef::GetDateCreated()\n3046 COleDateTime CDaoQueryDef::GetDateLastUpdated()\n3047 COleDateTime CDaoRecordset::GetDateLastUpdated()\n3048 COleDateTime CDaoTableDef::GetDateLastUpdated()\n3049 int COleDateTime::GetDay()const \n3050 int COleDateTime::GetDayOfWeek()const \n3051 int COleDateTime::GetDayOfYear()const \n3052 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3053 HACCEL__ * CDocument::GetDefaultAccelerator()\n3054 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3055 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3056 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3057 CString CRecordset::GetDefaultConnect()\n3058 CString CDaoRecordset::GetDefaultDBName()\n3059 short CRecordset::GetDefaultFieldType(short)\n3060 HMENU__ * CDocument::GetDefaultMenu()\n3061 HMENU__ * COleServerDoc::GetDefaultMenu()\n3062 int CPrintDialog::GetDefaults()\n3063 CString CDaoRecordset::GetDefaultSQL()\n3064 CString CRecordset::GetDefaultSQL()\n3065 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3066 unsigned long COleControlSite::GetDefBtnCode()\n3067 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3068 CString CPageSetupDialog::GetDeviceName()const \n3069 CString CPrintDialog::GetDeviceName()const \n3070 CPoint CScrollView::GetDeviceScrollPosition()const \n3071 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3072 _devicemodeW * CPageSetupDialog::GetDevMode()const \n3073 _devicemodeW * CPrintDialog::GetDevMode()const \n3074 int CCmdTarget::GetDispatchIID(_GUID *)\n3075 int COleControl::GetDispatchIID(_GUID *)\n3076 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3077 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3078 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3079 int CRecentFileList::GetDisplayName(CString &,int,unsigned short const *,int,int)const \n3080 int CFontHolder::GetDisplayString(CString &)\n3081 int CPictureHolder::GetDisplayString(CString &)\n3082 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,unsigned short * *)\n3083 int COleControlSite::GetDlgCtrlID()const \n3084 int CWnd::GetDlgCtrlID()const \n3085 CWnd * COleControlContainer::GetDlgItem(int)const \n3086 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3087 CWnd * CWnd::GetDlgItem(int)const \n3088 void CWnd::GetDlgItem(int,HWND__ * *)const \n3089 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3090 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3091 int COleControlContainer::GetDlgItemTextW(int,unsigned short *,int)const \n3092 int CWnd::GetDlgItemTextW(int,CString &)const \n3093 int CWnd::GetDlgItemTextW(int,unsigned short *,int)const \n3094 CDockBar * CDockContext::GetDockBar(unsigned long)\n3095 CControlBar * CDockBar::GetDockedControlBar(int)const \n3096 int CDockBar::GetDockedCount()const \n3097 int CDockBar::GetDockedVisibleCount()const \n3098 CFrameWnd * CControlBar::GetDockingFrame()const \n3099 void CFrameWnd::GetDockState(CDockState &)const \n3100 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3101 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3102 int CDocTemplate::GetDocString(CString &,enum CDocTemplate::DocStringIndex)const \n3103 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3104 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3105 CString CPageSetupDialog::GetDriverName()const \n3106 CString CPrintDialog::GetDriverName()const \n3107 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3108 IUnknown * CWnd::GetDSCCursor()\n3109 short CDaoRecordset::GetEditMode()\n3110 void COleSafeArray::GetElement(long *,void *)\n3111 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3112 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3113 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3114 int COleControl::GetEnabled()\n3115 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3116 short CDaoException::GetErrorCount()\n3117 void CDaoException::GetErrorInfo(int)\n3118 int CArchiveException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3119 int CDaoException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3120 int CDBException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3121 int CException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3122 int CFileException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3123 int CInternetException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3124 int COleDispatchException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3125 int COleException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3126 int CSimpleException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n3127 int COleControlSite::GetEventIID(_GUID *)\n3128 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3129 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(unsigned short const *,long *)const \n3130 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3131 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3132 unsigned long COleControlSite::GetExStyle()const \n3133 unsigned long CWnd::GetExStyle()const \n3134 IDispatch * COleControl::GetExtendedControl()\n3135 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3136 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3137 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3138 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3139 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3140 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3141 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3142 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3143 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3144 CString CFontDialog::GetFaceName()const \n3145 short CDaoQueryDef::GetFieldCount()\n3146 short CDaoRecordset::GetFieldCount()\n3147 short CDaoTableDef::GetFieldCount()\n3148 int CDaoRecordset::GetFieldIndex(void *)\n3149 short CRecordset::GetFieldIndexByName(unsigned short const *)\n3150 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3151 void CDaoQueryDef::GetFieldInfo(unsigned short const *,CDaoFieldInfo &,unsigned long)\n3152 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3153 void CDaoRecordset::GetFieldInfo(unsigned short const *,CDaoFieldInfo &,unsigned long)\n3154 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n3155 void CDaoTableDef::GetFieldInfo(unsigned short const *,CDaoFieldInfo &,unsigned long)\n3156 unsigned long CDaoRecordset::GetFieldLength(int)\n3157 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3158 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3159 COleVariant CDaoRecordset::GetFieldValue(int)\n3160 COleVariant CDaoRecordset::GetFieldValue(unsigned short const *)\n3161 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n3162 void CDaoRecordset::GetFieldValue(unsigned short const *,COleVariant &)\n3163 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3164 void CRecordset::GetFieldValue(short,CString &)\n3165 void CRecordset::GetFieldValue(unsigned short const *,CDBVariant &,short)\n3166 void CRecordset::GetFieldValue(unsigned short const *,CString &)\n3167 CFile * CDocument::GetFile(unsigned short const *,unsigned int,CFileException *)\n3168 int CFtpConnection::GetFile(unsigned short const *,unsigned short const *,int,unsigned long,unsigned long,unsigned long)\n3169 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3170 CString CFileDialog::GetFileExt()const \n3171 CString CFile::GetFileName()const \n3172 CString CFileDialog::GetFileName()const \n3173 CString CFileFind::GetFileName()const \n3174 CString CGopherFileFind::GetFileName()const \n3175 CString CFile::GetFilePath()const \n3176 CString CFileFind::GetFilePath()const \n3177 CString CGopherFileFind::GetFilePath()const \n3178 CString CFile::GetFileTitle()const \n3179 CString CFileDialog::GetFileTitle()const \n3180 CString CFileFind::GetFileTitle()const \n3181 CString CGopherFileFind::GetFileTitle()const \n3182 int COleServerDoc::GetFileTypeString(CString &)\n3183 CString CFileFind::GetFileURL()const \n3184 CString CFtpFileFind::GetFileURL()const \n3185 CString CGopherFileFind::GetFileURL()const \n3186 CString CHttpFile::GetFileURL()const \n3187 CString CFindReplaceDialog::GetFindString()const \n3188 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3189 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3190 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3191 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3192 CFrameWnd * COleDocument::GetFirstFrame()\n3193 __POSITION * CDocument::GetFirstViewPosition()const \n3194 CWnd * COleControl::GetFocus()\n3195 CString CFileDialog::GetFolderPath()const \n3196 int CDialogTemplate::GetFont(CString &,unsigned short &)const \n3197 int CDialogTemplate::GetFont(DLGTEMPLATE const *,CString &,unsigned short &)\n3198 IFontDisp * COleControl::GetFont()\n3199 IFontDisp * CFontHolder::GetFontDispatch()\n3200 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3201 HFONT__ * CFontHolder::GetFontHandle()\n3202 FONTITEM_PPG * CFontComboBox::GetFontItem(int)\n3203 int CFontPropPage::GetFontProps(CDataExchange *,tagFONTOBJECT *,unsigned short const *,tagMERGEOBJECT *)\n3204 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3205 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n3206 unsigned long CFontComboBox::GetFontType(int)\n3207 unsigned long COleControl::GetForeColor()\n3208 _GUID CPropertySection::GetFormatID()\n3209 unsigned short CPropertySet::GetFormatVersion()\n3210 CFtpConnection * CInternetSession::GetFtpConnection(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short,int)\n3211 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3212 tm * CTime::GetGmtTm(tm *)const \n3213 CGopherConnection * CInternetSession::GetGopherConnection(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short)\n3214 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3215 CBrush * CDC::GetHalftoneBrush()\n3216 unsigned int CRectTracker::GetHandleMask()const \n3217 void CRectTracker::GetHandleRect(int,CRect *)const \n3218 int CRectTracker::GetHandleSize(tagRECT const *)const \n3219 long CSizeComboBox::GetHeight(int)\n3220 void CSplitterWnd::GetHitRect(int,CRect &)\n3221 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3222 int COleDateTime::GetHour()const \n3223 long COleDateTimeSpan::GetHours()const \n3224 CHttpConnection * CInternetSession::GetHttpConnection(unsigned short const *,unsigned short,unsigned short const *,unsigned short const *)\n3225 unsigned int COleControl::GetHwnd()\n3226 void * COleClientItem::GetIconicMetafile()\n3227 unsigned short const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3228 unsigned int COleControlSite::GetID()\n3229 unsigned long CProperty::GetID()\n3230 int CPropertySection::GetID(unsigned short const *,unsigned long *)\n3231 IDataObject * COleDataObject::GetIDataObject(int)\n3232 IDispatch * CCmdTarget::GetIDispatch(int)\n3233 long COleDispatchImpl::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3234 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3235 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,unsigned short * *,unsigned int,unsigned long,long *)\n3236 _GUID const & COleControl::XEventConnPt::GetIID()\n3237 _GUID const & COleControl::XPropConnPt::GetIID()\n3238 short CDaoRecordset::GetIndexCount()\n3239 short CDaoTableDef::GetIndexCount()\n3240 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3241 void CDaoRecordset::GetIndexInfo(unsigned short const *,CDaoIndexInfo &,unsigned long)\n3242 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3243 void CDaoTableDef::GetIndexInfo(unsigned short const *,CDaoIndexInfo &,unsigned long)\n3244 CString CDaoWorkspace::GetIniPath()\n3245 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3246 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3247 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3248 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3249 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3250 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3251 CWnd * COleClientItem::GetInPlaceWindow()\n3252 void CSplitterWnd::GetInsideRect(CRect &)const \n3253 IUnknown * CCmdTarget::GetInterface(void const *)\n3254 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3255 IUnknown * COleControl::GetInterfaceHook(void const *)\n3256 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3257 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3258 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3259 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3260 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3261 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3262 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3263 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3264 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3265 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3266 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3267 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3268 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3269 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3270 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3271 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3272 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3273 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3274 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3275 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3276 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3277 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3278 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n3279 int CDaoWorkspace::GetIsolateODBCTrans()\n3280 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3281 unsigned long CListCtrl::GetItemData(int)const \n3282 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3283 unsigned int CStatusBar::GetItemID(int)const \n3284 unsigned int CToolBar::GetItemID(int)const \n3285 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3286 void COleClientItem::GetItemName(unsigned short *)const \n3287 void COleServerDoc::GetItemPosition(tagRECT *)const \n3288 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3289 void CStatusBar::GetItemRect(int,tagRECT *)const \n3290 void CToolBar::GetItemRect(int,tagRECT *)const \n3291 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3292 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3293 void COleClientItem::GetItemStorage()\n3294 void COleClientItem::GetItemStorageCompound()\n3295 void COleClientItem::GetItemStorageFlat()\n3296 CString CListCtrl::GetItemText(int,int)const \n3297 int CListCtrl::GetItemText(int,int,unsigned short *,int)const \n3298 CString CTreeCtrl::GetItemText(_TREEITEM *)const \n3299 int CFileFind::GetLastAccessTime(CTime &)const \n3300 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3301 int CGopherFileFind::GetLastAccessTime(CTime &)const \n3302 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3303 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n3304 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3305 int CFileFind::GetLastWriteTime(CTime &)const \n3306 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3307 int CGopherFileFind::GetLastWriteTime(CTime &)const \n3308 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3309 long CRecordset::GetLBFetchSize(long)\n3310 void COleSafeArray::GetLBound(unsigned long,long *)\n3311 long CRecordset::GetLBReallocSize(long)\n3312 void CComboBox::GetLBText(int,CString &)const \n3313 unsigned long CFile::GetLength()const \n3314 unsigned long CFileFind::GetLength()const \n3315 unsigned long CGopherFileFind::GetLength()const \n3316 unsigned long CInternetFile::GetLength()const \n3317 unsigned long COleStreamFile::GetLength()const \n3318 unsigned long CSocketFile::GetLength()const \n3319 __int64 CFileFind::GetLength64()const \n3320 __int64 CGopherFileFind::GetLength64()const \n3321 int COleObjectFactory::GetLicenseKey(unsigned long,unsigned short * *)\n3322 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3323 int CRichEditCtrl::GetLine(int,unsigned short *)const \n3324 int CRichEditCtrl::GetLine(int,unsigned short *,int)const \n3325 long COleUILinkInfo::GetLinkSource(unsigned long,unsigned short * *,unsigned long *,unsigned short * *,unsigned short * *,int *,int *)\n3326 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3327 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3328 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n3329 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3330 CPtrList * CPropertySection::GetList()\n3331 CPtrList * CPropertySet::GetList()\n3332 tm * CTime::GetLocalTm(tm *)const \n3333 CGopherLocator CGopherFileFind::GetLocator()const \n3334 int CDaoRecordset::GetLockingMode()\n3335 tagLOGFONTW * CFontComboBox::GetLogFont(int)\n3336 short CDaoWorkspace::GetLoginTimeout()\n3337 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3338 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,int,CDBVariant &,short)\n3339 long CFieldExchange::GetLongBinarySize(int)\n3340 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,int,CString &,short)\n3341 CWnd * CWinThread::GetMainWnd()\n3342 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3343 int CConnectionPoint::GetMaxConnections()\n3344 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n3345 CWnd * CFrameWnd::GetMessageBar()\n3346 CWnd * CMDIChildWnd::GetMessageBar()\n3347 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n3348 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n3349 AFX_MSGMAP const * CColorDialog::GetMessageMap()const \n3350 AFX_MSGMAP const * CColorPropPage::GetMessageMap()const \n3351 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n3352 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n3353 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n3354 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n3355 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n3356 AFX_MSGMAP const * CDialog::GetMessageMap()const \n3357 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n3358 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n3359 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n3360 AFX_MSGMAP const * CDocument::GetMessageMap()const \n3361 AFX_MSGMAP const * CEditView::GetMessageMap()const \n3362 AFX_MSGMAP const * CFontPropPage::GetMessageMap()const \n3363 AFX_MSGMAP const * CFormView::GetMessageMap()const \n3364 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n3365 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n3366 AFX_MSGMAP const * CListView::GetMessageMap()const \n3367 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n3368 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n3369 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n3370 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n3371 AFX_MSGMAP const * COleControl::GetMessageMap()const \n3372 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n3373 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n3374 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n3375 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n3376 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n3377 AFX_MSGMAP const * CPicturePropPage::GetMessageMap()const \n3378 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n3379 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n3380 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n3381 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n3382 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n3383 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n3384 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n3385 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n3386 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n3387 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n3388 AFX_MSGMAP const * CStockPropPage::GetMessageMap()const \n3389 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n3390 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n3391 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n3392 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n3393 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n3394 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n3395 AFX_MSGMAP const * CView::GetMessageMap()const \n3396 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n3397 AFX_MSGMAP const * CWnd::GetMessageMap()const \n3398 void CFrameWnd::GetMessageString(unsigned int,CString &)const \n3399 void COleControl::GetMessageString(unsigned int,CString &)const \n3400 long CDataSourceControl::GetMetaData()\n3401 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3402 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3403 int COleDateTime::GetMinute()const \n3404 long COleDateTimeSpan::GetMinutes()const \n3405 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3406 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3407 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3408 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3409 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3410 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3411 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3412 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3413 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3414 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3415 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3416 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3417 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3418 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3419 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3420 int COleDateTime::GetMonth()const \n3421 CString CDaoDatabase::GetName()\n3422 CString CDaoQueryDef::GetName()\n3423 CString CDaoRecordset::GetName()\n3424 CString CDaoTableDef::GetName()\n3425 CString CDaoWorkspace::GetName()\n3426 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3427 unsigned long COleClientItem::GetNewItemNumber()\n3428 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3429 CDataBoundProperty * CDataBoundProperty::GetNext()\n3430 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3431 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3432 void CMapStringToOb::GetNextAssoc(__POSITION * &,CString &,CObject * &)const \n3433 void CMapStringToPtr::GetNextAssoc(__POSITION * &,CString &,void * &)const \n3434 void CMapStringToString::GetNextAssoc(__POSITION * &,CString &,CString &)const \n3435 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3436 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3437 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3438 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3439 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3440 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3441 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3442 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3443 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3444 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3445 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3446 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3447 CString CFileDialog::GetNextPathName(__POSITION * &)const \n3448 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3449 CView * CDocument::GetNextView(__POSITION * &)const \n3450 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3451 void CCmdTarget::GetNotSupported()\n3452 void COleControl::GetNotSupported()\n3453 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3454 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3455 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3456 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,unsigned short * *,unsigned short * *,unsigned short * *,unsigned short * *)\n3457 unsigned int CArchive::GetObjectSchema()\n3458 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(unsigned short *,IBindCtx *,_GUID const &,void * *)\n3459 CString CHttpFile::GetObjectW()const \n3460 long COleLinkingDoc::XOleItemContainer::GetObjectW(unsigned short *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3461 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3462 void CRecordset::GetODBCFieldInfo(unsigned short const *,CODBCFieldInfo &)\n3463 short CDaoQueryDef::GetODBCTimeout()\n3464 IOleObject * COleServerItem::GetOleObject()\n3465 unsigned long COleSafeArray::GetOneDimSize()\n3466 int CDocManager::GetOpenDocumentCount()\n3467 int CWinApp::GetOpenDocumentCount()\n3468 unsigned long CPropertySet::GetOSVersion()\n3469 CWnd * COleControl::GetOuterWindow()const \n3470 int CPropertySheet::GetPageCount()const \n3471 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3472 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3473 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3474 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3475 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3476 CWnd * CSplitterWnd::GetPane(int,int)const \n3477 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3478 unsigned int CStatusBar::GetPaneStyle(int)const \n3479 CString CStatusBar::GetPaneText(int)const \n3480 void CStatusBar::GetPaneText(int,CString &)const \n3481 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3482 _paraformat & CRichEditView::GetParaFormatSelection()\n3483 short CDaoQueryDef::GetParameterCount()\n3484 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n3485 void CDaoQueryDef::GetParameterInfo(unsigned short const *,CDaoParameterInfo &,unsigned long)\n3486 COleVariant CDaoQueryDef::GetParamValue(int)\n3487 COleVariant CDaoQueryDef::GetParamValue(unsigned short const *)\n3488 COleVariant CDaoRecordset::GetParamValue(int)\n3489 COleVariant CDaoRecordset::GetParamValue(unsigned short const *)\n3490 CFrameWnd * CWnd::GetParentFrame()const \n3491 CWnd * CWnd::GetParentOwner()const \n3492 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3493 CString CDataPathProperty::GetPath()const \n3494 CString CFileDialog::GetPathName()const \n3495 int CAsyncSocket::GetPeerName(CString &,unsigned int &)\n3496 float CDaoRecordset::GetPercentPosition()\n3497 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3498 int CPicturePropPage::GetPictureProp(CDataExchange *,IPictureDisp * *,unsigned short const *)\n3499 void CSizeComboBox::GetPointSize(union tagCY &)\n3500 CString CPageSetupDialog::GetPortName()const \n3501 CString CPrintDialog::GetPortName()const \n3502 unsigned long CFile::GetPosition()const \n3503 unsigned long CMemFile::GetPosition()const \n3504 unsigned long COleStreamFile::GetPosition()const \n3505 unsigned long CSocketFile::GetPosition()const \n3506 unsigned long CStdioFile::GetPosition()const \n3507 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3508 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3509 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3510 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3511 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3512 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n3513 CFont * CEditView::GetPrinterFont()const \n3514 long CAsyncMonikerFile::GetPriority()const \n3515 int CWinApp::GetProfileBinary(unsigned short const *,unsigned short const *,unsigned char * *,unsigned int *)\n3516 unsigned int CWinApp::GetProfileIntW(unsigned short const *,unsigned short const *,int)\n3517 CString CWinApp::GetProfileStringW(unsigned short const *,unsigned short const *,unsigned short const *)\n3518 int COlePropertyPage::GetPropCheck(unsigned short const *,int *)\n3519 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3520 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3521 CProperty * CPropertySection::GetProperty(unsigned long)\n3522 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3523 void CWnd::GetProperty(long,unsigned short,void *)const \n3524 int COlePropertyPage::GetPropIndex(unsigned short const *,int *)\n3525 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3526 int COlePropertyPage::GetPropRadio(unsigned short const *,int *)\n3527 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3528 int COlePropertyPage::GetPropText(unsigned short const *,unsigned char *)\n3529 int COlePropertyPage::GetPropText(unsigned short const *,short *)\n3530 int COlePropertyPage::GetPropText(unsigned short const *,int *)\n3531 int COlePropertyPage::GetPropText(unsigned short const *,unsigned int *)\n3532 int COlePropertyPage::GetPropText(unsigned short const *,long *)\n3533 int COlePropertyPage::GetPropText(unsigned short const *,unsigned long *)\n3534 int COlePropertyPage::GetPropText(unsigned short const *,float *)\n3535 int COlePropertyPage::GetPropText(unsigned short const *,double *)\n3536 int COlePropertyPage::GetPropText(unsigned short const *,CString *)\n3537 short CDaoDatabase::GetQueryDefCount()\n3538 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n3539 void CDaoDatabase::GetQueryDefInfo(unsigned short const *,CDaoQueryDefInfo &,unsigned long)\n3540 short CDaoDatabase::GetQueryTimeout()\n3541 void CSliderCtrl::GetRange(int &,int &)const \n3542 void CSpinButtonCtrl::GetRange(int &,int &)const \n3543 void * CProperty::GetRawValue()\n3544 long COleControl::GetReadyState()\n3545 long CDaoRecordset::GetRecordCount()\n3546 long CDaoTableDef::GetRecordCount()\n3547 long CDaoDatabase::GetRecordsAffected()\n3548 long CDaoQueryDef::GetRecordsAffected()\n3549 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3550 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3551 int COleControl::GetRectInContainer(tagRECT *)\n3552 short CDaoDatabase::GetRelationCount()\n3553 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n3554 void CDaoDatabase::GetRelationInfo(unsigned short const *,CDaoRelationInfo &,unsigned long)\n3555 CString CFindReplaceDialog::GetReplaceString()const \n3556 int CDaoQueryDef::GetReturnsRecords()\n3557 CString CFileFind::GetRoot()const \n3558 CString CGopherFileFind::GetRoot()const \n3559 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3560 CView * CCmdTarget::GetRoutingView()\n3561 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3562 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3563 CRuntime* CArchiveException::GetRuntimeClass()const \n3564 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3565 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3566 CRuntime* CBitmap::GetRuntimeClass()const \n3567 CRuntime* CBitmapButton::GetRuntimeClass()const \n3568 CRuntime* CBrush::GetRuntimeClass()const \n3569 CRuntime* CButton::GetRuntimeClass()const \n3570 CRuntime* CByteArray::GetRuntimeClass()const \n3571 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3572 CRuntime* CCheckListBox::GetRuntimeClass()const \n3573 CRuntime* CClientDC::GetRuntimeClass()const \n3574 CRuntime* CCmdTarget::GetRuntimeClass()const \n3575 CRuntime* CColorDialog::GetRuntimeClass()const \n3576 CRuntime* CColorPropPage::GetRuntimeClass()const \n3577 CRuntime* CComboBox::GetRuntimeClass()const \n3578 CRuntime* CControlBar::GetRuntimeClass()const \n3579 CRuntime* CCriticalSection::GetRuntimeClass()const \n3580 CRuntime* CCtrlView::GetRuntimeClass()const \n3581 CRuntime* CDaoDatabase::GetRuntimeClass()const \n3582 CRuntime* CDaoException::GetRuntimeClass()const \n3583 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n3584 CRuntime* CDaoRecordset::GetRuntimeClass()const \n3585 CRuntime* CDaoRecordView::GetRuntimeClass()const \n3586 CRuntime* CDaoTableDef::GetRuntimeClass()const \n3587 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n3588 CRuntime* CDatabase::GetRuntimeClass()const \n3589 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3590 CRuntime* CDBException::GetRuntimeClass()const \n3591 CRuntime* CDC::GetRuntimeClass()const \n3592 CRuntime* CDialog::GetRuntimeClass()const \n3593 CRuntime* CDialogBar::GetRuntimeClass()const \n3594 CRuntime* CDocItem::GetRuntimeClass()const \n3595 CRuntime* CDockBar::GetRuntimeClass()const \n3596 CRuntime* CDockState::GetRuntimeClass()const \n3597 CRuntime* CDocManager::GetRuntimeClass()const \n3598 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3599 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3600 CRuntime* CDocTemplate::GetRuntimeClass()const \n3601 CRuntime* CDocument::GetRuntimeClass()const \n3602 CRuntime* CDragListBox::GetRuntimeClass()const \n3603 CRuntime* CDWordArray::GetRuntimeClass()const \n3604 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3605 CRuntime* CEdit::GetRuntimeClass()const \n3606 CRuntime* CEditView::GetRuntimeClass()const \n3607 CRuntime* CEvent::GetRuntimeClass()const \n3608 CRuntime* CException::GetRuntimeClass()const \n3609 CRuntime* CFile::GetRuntimeClass()const \n3610 CRuntime* CFileDialog::GetRuntimeClass()const \n3611 CRuntime* CFileException::GetRuntimeClass()const \n3612 CRuntime* CFileFind::GetRuntimeClass()const \n3613 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3614 CRuntime* CFont::GetRuntimeClass()const \n3615 CRuntime* CFontDialog::GetRuntimeClass()const \n3616 CRuntime* CFontPropPage::GetRuntimeClass()const \n3617 CRuntime* CFormView::GetRuntimeClass()const \n3618 CRuntime* CFrameWnd::GetRuntimeClass()const \n3619 CRuntime* CFtpConnection::GetRuntimeClass()const \n3620 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3621 CRuntime* CGdiObject::GetRuntimeClass()const \n3622 CRuntime* CGopherConnection::GetRuntimeClass()const \n3623 CRuntime* CGopherFile::GetRuntimeClass()const \n3624 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3625 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3626 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3627 CRuntime* CHttpConnection::GetRuntimeClass()const \n3628 CRuntime* CHttpFile::GetRuntimeClass()const \n3629 CRuntime* CImageList::GetRuntimeClass()const \n3630 CRuntime* CInternetConnection::GetRuntimeClass()const \n3631 CRuntime* CInternetException::GetRuntimeClass()const \n3632 CRuntime* CInternetFile::GetRuntimeClass()const \n3633 CRuntime* CInternetSession::GetRuntimeClass()const \n3634 CRuntime* CListBox::GetRuntimeClass()const \n3635 CRuntime* CListCtrl::GetRuntimeClass()const \n3636 CRuntime* CListView::GetRuntimeClass()const \n3637 CRuntime* CLongBinary::GetRuntimeClass()const \n3638 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3639 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3640 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3641 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3642 CRuntime* CMapStringToString::GetRuntimeClass()const \n3643 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3644 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3645 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3646 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3647 CRuntime* CMemFile::GetRuntimeClass()const \n3648 CRuntime* CMemoryException::GetRuntimeClass()const \n3649 CRuntime* CMenu::GetRuntimeClass()const \n3650 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3651 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3652 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3653 CRuntime* CMonikerFile::GetRuntimeClass()const \n3654 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3655 CRuntime* CMutex::GetRuntimeClass()const \n3656 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3657 CRuntime* CObArray::GetRuntimeClass()const \n3658 CRuntime* CObject::GetRuntimeClass()const \n3659 CRuntime* CObList::GetRuntimeClass()const \n3660 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3661 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3662 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3663 CRuntime* COleClientItem::GetRuntimeClass()const \n3664 CRuntime* COleControl::GetRuntimeClass()const \n3665 CRuntime* COleControlModule::GetRuntimeClass()const \n3666 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3667 CRuntime* COleDialog::GetRuntimeClass()const \n3668 CRuntime* COleDispatchException::GetRuntimeClass()const \n3669 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3670 CRuntime* COleDocument::GetRuntimeClass()const \n3671 CRuntime* COleException::GetRuntimeClass()const \n3672 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3673 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3674 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3675 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3676 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3677 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3678 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3679 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3680 CRuntime* COleResizeBar::GetRuntimeClass()const \n3681 CRuntime* COleServerDoc::GetRuntimeClass()const \n3682 CRuntime* COleServerItem::GetRuntimeClass()const \n3683 CRuntime* COleStreamFile::GetRuntimeClass()const \n3684 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3685 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3686 CRuntime* CPaintDC::GetRuntimeClass()const \n3687 CRuntime* CPalette::GetRuntimeClass()const \n3688 CRuntime* CPen::GetRuntimeClass()const \n3689 CRuntime* CPicturePropPage::GetRuntimeClass()const \n3690 CRuntime* CPreviewDC::GetRuntimeClass()const \n3691 CRuntime* CPreviewView::GetRuntimeClass()const \n3692 CRuntime* CPrintDialog::GetRuntimeClass()const \n3693 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3694 CRuntime* CPropertyPage::GetRuntimeClass()const \n3695 CRuntime* CPropertySheet::GetRuntimeClass()const \n3696 CRuntime* CPtrArray::GetRuntimeClass()const \n3697 CRuntime* CPtrList::GetRuntimeClass()const \n3698 CRuntime* CRecordset::GetRuntimeClass()const \n3699 CRuntime* CRecordView::GetRuntimeClass()const \n3700 CRuntime* CResourceException::GetRuntimeClass()const \n3701 CRuntime* CRgn::GetRuntimeClass()const \n3702 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3703 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3704 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3705 CRuntime* CRichEditView::GetRuntimeClass()const \n3706 CRuntime* CScrollBar::GetRuntimeClass()const \n3707 CRuntime* CScrollView::GetRuntimeClass()const \n3708 CRuntime* CSemaphore::GetRuntimeClass()const \n3709 CRuntime* CSharedFile::GetRuntimeClass()const \n3710 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3711 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3712 CRuntime* CSocket::GetRuntimeClass()const \n3713 CRuntime* CSocketFile::GetRuntimeClass()const \n3714 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3715 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3716 CRuntime* CStatic::GetRuntimeClass()const \n3717 CRuntime* CStatusBar::GetRuntimeClass()const \n3718 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3719 CRuntime* CStdioFile::GetRuntimeClass()const \n3720 CRuntime* CStockPropPage::GetRuntimeClass()const \n3721 CRuntime* CStringArray::GetRuntimeClass()const \n3722 CRuntime* CStringList::GetRuntimeClass()const \n3723 CRuntime* CSyncObject::GetRuntimeClass()const \n3724 CRuntime* CTabCtrl::GetRuntimeClass()const \n3725 CRuntime* CToolBar::GetRuntimeClass()const \n3726 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3727 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3728 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3729 CRuntime* CTreeView::GetRuntimeClass()const \n3730 CRuntime* CUIntArray::GetRuntimeClass()const \n3731 CRuntime* CUserException::GetRuntimeClass()const \n3732 CRuntime* CView::GetRuntimeClass()const \n3733 CRuntime* CWinApp::GetRuntimeClass()const \n3734 CRuntime* CWindowDC::GetRuntimeClass()const \n3735 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3736 CRuntime* CWinThread::GetRuntimeClass()const \n3737 CRuntime* CWnd::GetRuntimeClass()const \n3738 CRuntime* CWordArray::GetRuntimeClass()const \n3739 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3740 unsigned long * CColorDialog::GetSavedCustomColors()\n3741 CString CGopherFileFind::GetScreenName()const \n3742 CSize CDockState::GetScreenSize()\n3743 CScrollBar * CView::GetScrollBarCtrl(int)const \n3744 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3745 void CScrollView::GetScrollBarSizes(CSize &)\n3746 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3747 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3748 int CWnd::GetScrollLimit(int)\n3749 int CWnd::GetScrollPos(int)const \n3750 CPoint CScrollView::GetScrollPosition()const \n3751 void CWnd::GetScrollRange(int,int *,int *)const \n3752 unsigned long CSplitterWnd::GetScrollStyle()const \n3753 int COleDateTime::GetSecond()const \n3754 long COleDateTimeSpan::GetSeconds()const \n3755 CPropertySection * CPropertySet::GetSection(_GUID)\n3756 HKEY__ * CWinApp::GetSectionKey(unsigned short const *)\n3757 unsigned short const * CPropertySection::GetSectionName()\n3758 void CRichEditCtrl::GetSel(long &,long &)const \n3759 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3760 void CEditView::GetSelectedText(CString &)const \n3761 void CSliderCtrl::GetSelection(int &,int &)const \n3762 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3763 unsigned int COleConvertDialog::GetSelectionType()const \n3764 unsigned int COleInsertDialog::GetSelectionType()const \n3765 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3766 CString CRichEditCtrl::GetSelText()const \n3767 CString CInternetConnection::GetServerName()const \n3768 unsigned long CPropertySection::GetSize()\n3769 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3770 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3771 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3772 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3773 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3774 CWnd * CSplitterWnd::GetSizingParent()\n3775 int CAsyncSocket::GetSockName(CString &,unsigned int &)\n3776 CString CDaoTableDef::GetSourceTableName()\n3777 CString CDaoQueryDef::GetSQL()\n3778 CString CDaoRecordset::GetSQL()const \n3779 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3780 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3781 __POSITION * CConnectionPoint::GetStartPosition()const \n3782 __POSITION * COleDocument::GetStartPosition()const \n3783 __POSITION * CRichEditDoc::GetStartPosition()const \n3784 int CFile::GetStatus(CFileStatus &)const \n3785 int CFile::GetStatus(unsigned short const *,CFileStatus &)\n3786 int CMemFile::GetStatus(CFileStatus &)const \n3787 int COleStreamFile::GetStatus(CFileStatus &)const \n3788 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n3789 CString const COleStreamFile::GetStorageName()const \n3790 IStream * COleStreamFile::GetStream()const \n3791 unsigned long COleControlSite::GetStyle()const \n3792 unsigned long CWnd::GetStyle()const \n3793 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3794 short CDaoDatabase::GetTableDefCount()\n3795 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n3796 void CDaoDatabase::GetTableDefInfo(unsigned short const *,CDaoTableDefInfo &,unsigned long)\n3797 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3798 void CListBox::GetText(int,CString &)const \n3799 unsigned short * COleControl::GetText()\n3800 CString CStatusBarCtrl::GetText(int,int *)const \n3801 int CStatusBarCtrl::GetText(unsigned short const *,int,int *)const \n3802 void CToolTipCtrl::GetText(CString &,CWnd *,unsigned int)const \n3803 int CRecordset::GetTextLen(short,unsigned long)\n3804 int CStatusBarCtrl::GetTextLength(int,int *)const \n3805 COleDateTime COleDateTime::GetTickCount()\n3806 CTime CTime::GetTickCount()\n3807 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3808 CFrameWnd * CWnd::GetTopLevelFrame()const \n3809 CWnd * CWnd::GetTopLevelOwner()const \n3810 CWnd * CWnd::GetTopLevelParent()const \n3811 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3812 void CRectTracker::GetTrueRect(tagRECT *)const \n3813 short CDaoQueryDef::GetType()\n3814 short CDaoRecordset::GetType()\n3815 short CPictureHolder::GetType()\n3816 unsigned long CProperty::GetType()\n3817 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3818 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3819 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3820 unsigned int CCmdTarget::GetTypeInfoCount()\n3821 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3822 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3823 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3824 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3825 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3826 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3827 void COleSafeArray::GetUBound(unsigned long,long *)\n3828 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3829 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3830 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3831 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3832 CString CDaoWorkspace::GetUserNameW()\n3833 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,CString &)\n3834 void COleControl::GetUserType(unsigned short *)\n3835 long CDocObjectServer::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3836 long COleControl::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3837 long COleServerDoc::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3838 long COleServerItem::XOleObject::GetUserType(unsigned long,unsigned short * *)\n3839 CString CDaoRecordset::GetValidationRule()\n3840 CString CDaoTableDef::GetValidationRule()\n3841 CString CDaoRecordset::GetValidationText()\n3842 CString CDaoTableDef::GetValidationText()\n3843 void * CMapPtrToPtr::GetValueAt(void *)const \n3844 CString CHttpFile::GetVerb()const \n3845 CString CDaoDatabase::GetVersion()\n3846 CString CDaoWorkspace::GetVersion()\n3847 unsigned long CDockState::GetVersion()\n3848 CRichEditView * CRichEditDoc::GetView()const \n3849 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3850 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3851 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3852 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3853 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3854 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3855 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3856 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3857 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3858 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3859 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3860 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3861 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3862 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3863 IDropTarget * COleControl::GetWindowlessDropTarget()\n3864 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3865 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3866 int COleControlSite::GetWindowTextLengthW()const \n3867 int CWnd::GetWindowTextLengthW()const \n3868 int COleControlSite::GetWindowTextW(unsigned short *,int)const \n3869 void COleControlSite::GetWindowTextW(CString &)const \n3870 int CWnd::GetWindowTextW(unsigned short *,int)const \n3871 void CWnd::GetWindowTextW(CString &)const \n3872 short CDaoWorkspace::GetWorkspaceCount()\n3873 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n3874 void CDaoWorkspace::GetWorkspaceInfo(unsigned short const *,CDaoWorkspaceInfo &,unsigned long)\n3875 int COleDateTime::GetYear()const \n3876 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3877 long COleDropSource::GiveFeedback(unsigned long)\n3878 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3879 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3880 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3881 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3882 void CMemFile::GrowFile(unsigned long)\n3883 _GUID const CColorPropPage::guid\n3884 _GUID const CFontPropPage::guid\n3885 _GUID const CPicturePropPage::guid\n3886 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3887 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3888 long CDialog::HandleInitDialog(unsigned int,long)\n3889 long CDialogBar::HandleInitDialog(unsigned int,long)\n3890 long CFormView::HandleInitDialog(unsigned int,long)\n3891 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3892 long CDialog::HandleSetFont(unsigned int,long)\n3893 long COleControl::XPersistStorage::HandsOffStorage()\n3894 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3895 int COleDocument::HasBlankItems()const \n3896 int CDialogTemplate::HasFont()const \n3897 unsigned int HashKey(tagVARIANT const &)\n3898 unsigned int HashKey(unsigned short const *)\n3899 long COlePropertyPage::XPropertyPage::Help(unsigned short const *)\n3900 void CDumpContext::HexDump(unsigned short const *,unsigned char *,int,int)\n3901 void CWinApp::HideApplication()\n3902 void CFileDialog::HideControl(int)\n3903 void CDC::HIMETRICtoDP(tagSIZE *)const \n3904 void CDC::HIMETRICtoLP(tagSIZE *)const \n3905 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3906 int CRectTracker::HitTest(CPoint)const \n3907 int CSplitterWnd::HitTest(CPoint)const \n3908 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n3909 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3910 int CRectTracker::HitTestHandles(CPoint)const \n3911 int CSplitterWnd::IdFromRowCol(int,int)const \n3912 void CDaoWorkspace::Idle(int)\n3913 void COlePropertyPage::IgnoreApply(unsigned int)\n3914 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3915 void CRect::InflateRect(int,int,int,int)\n3916 void CRect::InflateRect(tagRECT const *)\n3917 int CWinApp::InitApplication()\n3918 long COleControl::XOleCache::InitCache(IDataObject *)\n3919 int CWnd::InitControlContainer()\n3920 void CDaoWorkspace::InitDatabasesCollection()\n3921 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3922 void CDaoException::InitErrorsCollection()\n3923 void CDaoQueryDef::InitFieldsCollection()\n3924 void CDaoRecordset::InitFieldsCollection()\n3925 void CDaoTableDef::InitFieldsCollection()\n3926 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3927 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3928 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3929 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3930 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3931 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3932 void CMapStringToOb::InitHashTable(unsigned int,int)\n3933 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3934 void CMapStringToString::InitHashTable(unsigned int,int)\n3935 void CMapWordToOb::InitHashTable(unsigned int,int)\n3936 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3937 long CDataSourceControl::Initialize()\n3938 void CMiniFrameWnd::Initialize()\n3939 void CDaoWorkspace::InitializeEngine()\n3940 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3941 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3942 int CEditView::InitializeReplace()\n3943 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3944 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3945 void CDaoRecordset::InitIndexesCollection()\n3946 void CDaoTableDef::InitIndexesCollection()\n3947 int COleControlModule::InitInstance()\n3948 int CWinApp::InitInstance()\n3949 int CWinThread::InitInstance()\n3950 void CDockContext::InitLoop()\n3951 int CDialog::InitModalIndirect(void *,CWnd *)\n3952 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3953 long COleControl::XPersistMemory::InitNew()\n3954 long COleControl::XPersistPropertyBag::InitNew()\n3955 long COleControl::XPersistStorage::InitNew(IStorage *)\n3956 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3957 long COleControl::XPersistStreamInit::InitNew()\n3958 void CDaoQueryDef::InitParametersCollection()\n3959 void CDaoDatabase::InitQueryDefsCollection()\n3960 void CRecordset::InitRecord()\n3961 void CDaoDatabase::InitRelationsCollection()\n3962 void COleControl::InitStockEventMask()\n3963 void COleControl::InitStockPropMask()\n3964 void CSimpleException::InitString()\n3965 void CDaoDatabase::InitTableDefsCollection()\n3966 void CDaoDatabase::InitWorkspace()\n3967 void CDaoWorkspace::InitWorkspacesCollection()\n3968 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3969 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3970 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3971 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3972 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3973 __POSITION * CStringList::InsertAfter(__POSITION *,unsigned short const *)\n3974 void CByteArray::InsertAt(int,unsigned char,int)\n3975 void CByteArray::InsertAt(int,CByteArray *)\n3976 void CDWordArray::InsertAt(int,unsigned long,int)\n3977 void CDWordArray::InsertAt(int,CDWordArray *)\n3978 void CObArray::InsertAt(int,CObArray *)\n3979 void CObArray::InsertAt(int,CObject *,int)\n3980 void CPtrArray::InsertAt(int,CPtrArray *)\n3981 void CPtrArray::InsertAt(int,void *,int)\n3982 void CStringArray::InsertAt(int,CStringArray *)\n3983 void CStringArray::InsertAt(int,unsigned short const *,int)\n3984 void CUIntArray::InsertAt(int,unsigned int,int)\n3985 void CUIntArray::InsertAt(int,CUIntArray *)\n3986 void CWordArray::InsertAt(int,unsigned short,int)\n3987 void CWordArray::InsertAt(int,CWordArray *)\n3988 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3989 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3990 __POSITION * CStringList::InsertBefore(__POSITION *,unsigned short const *)\n3991 int CListCtrl::InsertColumn(int,unsigned short const *,int,int,int)\n3992 void CRichEditView::InsertFileAsObject(unsigned short const *)\n3993 int CListCtrl::InsertItem(unsigned int,int,unsigned short const *,unsigned int,unsigned int,int,long)\n3994 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3995 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,unsigned short const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3996 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3997 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3998 AFX_INTERFACEMAP const CCmdTarget::interfaceMap\n3999 AFX_INTERFACEMAP const CDocObjectServer::interfaceMap\n4000 AFX_INTERFACEMAP const COleClientItem::interfaceMap\n4001 AFX_INTERFACEMAP const COleControl::interfaceMap\n4002 AFX_INTERFACEMAP const COleDataSource::interfaceMap\n4003 AFX_INTERFACEMAP const COleDropSource::interfaceMap\n4004 AFX_INTERFACEMAP const COleDropTarget::interfaceMap\n4005 AFX_INTERFACEMAP const COleFrameHook::interfaceMap\n4006 AFX_INTERFACEMAP const COleLinkingDoc::interfaceMap\n4007 AFX_INTERFACEMAP const COleMessageFilter::interfaceMap\n4008 AFX_INTERFACEMAP const COleObjectFactory::interfaceMap\n4009 AFX_INTERFACEMAP const COlePropertyPage::interfaceMap\n4010 AFX_INTERFACEMAP const COleServerDoc::interfaceMap\n4011 AFX_INTERFACEMAP const COleServerItem::interfaceMap\n4012 AFX_INTERFACEMAP const CRichEditView::interfaceMap\n4013 CFontHolder & COleControl::InternalGetFont()\n4014 CString const & COleControl::InternalGetText()\n4015 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n4016 unsigned long CCmdTarget::InternalRelease()\n4017 int CDC::IntersectClipRect(int,int,int,int)\n4018 int CDC::IntersectClipRect(tagRECT const *)\n4019 void CCheckListBox::InvalidateCheck(int)\n4020 void COleControl::InvalidateControl(tagRECT const *,int)\n4021 void CCheckListBox::InvalidateItem(int)\n4022 void COleControl::InvalidateRgn(CRgn *,int)\n4023 void CMiniFrameWnd::InvertSysMenu()\n4024 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4025 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4026 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4027 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4028 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4029 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4030 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4031 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4032 int CDocItem::IsBlank()const \n4033 int COleServerItem::IsBlank()const \n4034 int CDaoRecordset::IsBOF()const \n4035 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n4036 int COleServerItem::IsConnected()const \n4037 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n4038 int COleControlSite::IsDefaultButton()\n4039 int CDaoRecordset::IsDeleted()const \n4040 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n4041 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n4042 int CWnd::IsDialogMessageW(tagMSG *)\n4043 long CBlobProperty::IsDirty()\n4044 long COleLinkingDoc::XPersistFile::IsDirty()\n4045 long COleControl::XPersistMemory::IsDirty()\n4046 long COleControl::XPersistStorage::IsDirty()\n4047 long COleServerDoc::XPersistStorage::IsDirty()\n4048 long COleControl::XPersistStreamInit::IsDirty()\n4049 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n4050 unsigned int CWnd::IsDlgButtonChecked(int)const \n4051 int CControlBar::IsDockBar()const \n4052 int CDockBar::IsDockBar()const \n4053 int CFileFind::IsDots()const \n4054 int CGopherFileFind::IsDots()const \n4055 int CCheckListBox::IsEnabled(int)\n4056 int CDaoRecordset::IsEOF()const \n4057 int CDaoRecordset::IsFieldDirty(void *)\n4058 int CRecordset::IsFieldDirty(void *)\n4059 int CDaoRecordset::IsFieldNull(void *)\n4060 int CRecordset::IsFieldNull(void *)\n4061 int CDaoRecordset::IsFieldNullable(void *)\n4062 int CRecordset::IsFieldNullable(void *)\n4063 int CRecordset::IsFieldNullable(unsigned long)const \n4064 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n4065 int CRecordset::IsFieldStatusDirty(unsigned long)const \n4066 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n4067 int CRecordset::IsFieldStatusNull(unsigned long)const \n4068 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n4069 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n4070 int CFieldExchange::IsFieldType(unsigned int *)\n4071 int CControlBar::IsFloating()const \n4072 int CFrameWnd::IsFrameWnd()const \n4073 int CWnd::IsFrameWnd()const \n4074 int CWinThread::IsIdleMessage(tagMSG *)\n4075 int CCmdTarget::IsInvokeAllowed(long)\n4076 int COleControl::IsInvokeAllowed(long)\n4077 int CRecordset::IsJoin(unsigned short const *)\n4078 int CObject::IsKindOf(CRuntimeconst *)const \n4079 int COccManager::IsLabelControl(CWnd *)\n4080 int COleObjectFactory::IsLicenseValid()\n4081 int CDaoRecordset::IsMatch()\n4082 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n4083 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n4084 int CDocument::IsModified()\n4085 int COleClientItem::IsModified()const \n4086 int COleControl::IsModified()\n4087 int COlePropertyPage::IsModified()\n4088 int CRichEditDoc::IsModified()\n4089 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n4090 int CDaoRecordView::IsOnFirstRecord()\n4091 int CRecordView::IsOnFirstRecord()\n4092 int CDaoRecordView::IsOnLastRecord()\n4093 int CRecordView::IsOnLastRecord()\n4094 int CRecordset::IsOpen()const \n4095 long COlePropertyPage::XPropertyPage::IsPageDirty()\n4096 int CRecordset::IsParamStatusNull(unsigned long)const \n4097 int CRecordset::IsRecordsetUpdatable()\n4098 int COleObjectFactory::IsRegistered()const \n4099 int CCmdTarget::IsResultExpected()\n4100 int CRichEditView::IsRichEditFormat(unsigned short)\n4101 long COleLinkingDoc::XOleItemContainer::IsRunning(unsigned short *)\n4102 int CRichEditView::IsSelected(CObject const *)const \n4103 int CView::IsSelected(CObject const *)const \n4104 int CRecordset::IsSelectQueryUpdatable(unsigned short const *)\n4105 int CObject::IsSerializable()const \n4106 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n4107 int CRecordset::IsSQLUpdatable(unsigned short const *)\n4108 int COleControl::IsSubclassedControl()\n4109 int CWnd::IsTopParentActive()const \n4110 int CFrameWnd::IsTracking()const \n4111 long CDocObjectServer::XOleObject::IsUpToDate()\n4112 long COleControl::XOleObject::IsUpToDate()\n4113 long COleServerDoc::XOleObject::IsUpToDate()\n4114 long COleServerItem::XOleObject::IsUpToDate()\n4115 int CDaoFieldExchange::IsValidOperation()\n4116 int CControlBar::IsVisible()const \n4117 int COleControlSite::IsWindowEnabled()const \n4118 int CWnd::IsWindowEnabled()const \n4119 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n4120 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n4121 void COleControl::KeyDown(unsigned short *)\n4122 void COleControl::KeyUp(unsigned short *)\n4123 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n4124 CString CString::Left(int)const \n4125 int CRichEditCtrl::LineIndex(int)const \n4126 int CRichEditCtrl::LineLength(int)const \n4127 void CRichEditCtrl::LineScroll(int,int)\n4128 int CDC::LineTo(int,int)\n4129 unsigned long CRichEditView::lMaxSize\n4130 long CBlobProperty::Load(IStream *)\n4131 int CDialogTemplate::Load(unsigned short const *)\n4132 void COleControl::Load(unsigned short const *,CDataPathProperty &)\n4133 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4134 long COleLinkingDoc::XPersistFile::Load(unsigned short const *,unsigned long)\n4135 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4136 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4137 long COleControl::XPersistStorage::Load(IStorage *)\n4138 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4139 long COleControl::XPersistStreamInit::Load(IStream *)\n4140 int CFrameWnd::LoadAccelTable(unsigned short const *)\n4141 void CFrameWnd::LoadBarState(unsigned short const *)\n4142 int CBitmapButton::LoadBitmaps(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)\n4143 int CToolBar::LoadBitmapW(unsigned short const *)\n4144 void CDaoRecordset::LoadFields()\n4145 void CRecordset::LoadFields()\n4146 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4147 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4148 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4149 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4150 void COleDocument::LoadFromStorage()\n4151 int CControlBarInfo::LoadState(unsigned short const *,int,CDockState *)\n4152 void CDockState::LoadState(unsigned short const *)\n4153 long COleControl::LoadState(IStream *)\n4154 void CWinApp::LoadStdProfileSettings(unsigned int)\n4155 int CString::LoadStringW(unsigned int)\n4156 void CDocTemplate::LoadTemplate()\n4157 void CMultiDocTemplate::LoadTemplate()\n4158 int CToolBar::LoadToolBar(unsigned short const *)\n4159 int CCriticalSection::Lock(unsigned long)\n4160 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4161 void COleSafeArray::Lock()\n4162 int CSingleLock::Lock(unsigned long)\n4163 int CSyncObject::Lock(unsigned long)\n4164 void CTypeLibCache::Lock()\n4165 unsigned short const * CEditView::LockBuffer()const \n4166 unsigned short * CString::LockBuffer()\n4167 long COleControlContainer::XOleContainer::LockContainer(int)\n4168 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4169 void COleLinkingDoc::LockExternal(int,int)\n4170 int COleControl::LockInPlaceActive(int)\n4171 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4172 void CFile::LockRange(unsigned long,unsigned long)\n4173 void CInternetFile::LockRange(unsigned long,unsigned long)\n4174 void CMemFile::LockRange(unsigned long,unsigned long)\n4175 void COleStreamFile::LockRange(unsigned long,unsigned long)\n4176 void CSocketFile::LockRange(unsigned long,unsigned long)\n4177 void CStdioFile::LockRange(unsigned long,unsigned long)\n4178 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4179 long COleObjectFactory::XClassFactory::LockServer(int)\n4180 int CMapPtrToPtr::Lookup(void *,void * &)const \n4181 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4182 int CMapStringToOb::Lookup(unsigned short const *,CObject * &)const \n4183 int CMapStringToPtr::Lookup(unsigned short const *,void * &)const \n4184 int CMapStringToString::Lookup(unsigned short const *,CString &)const \n4185 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4186 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4187 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4188 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4189 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4190 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4191 int CMapStringToOb::LookupKey(unsigned short const *,unsigned short const * &)const \n4192 int CMapStringToPtr::LookupKey(unsigned short const *,unsigned short const * &)const \n4193 int CMapStringToString::LookupKey(unsigned short const *,unsigned short const * &)const \n4194 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4195 void CDC::LPtoDP(tagSIZE *)const \n4196 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4197 void CString::MakeLower()\n4198 void CString::MakeReverse()\n4199 void CString::MakeUpper()\n4200 void CArchive::MapObject(CObject const *)\n4201 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4202 int COleDialog::MapResult(unsigned int)\n4203 long CPropertyPage::MapWizardResult(long)\n4204 void CDaoRecordset::MarkForAddNew()\n4205 void CRecordset::MarkForAddNew()\n4206 void CDaoRecordset::MarkForEdit()\n4207 void CRecordset::MarkForUpdate()\n4208 void CRichEditDoc::MarkItemsClear()const \n4209 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(unsigned short const *,CDocument * &)\n4210 int CFileFind::MatchesMask(unsigned long)const \n4211 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4212 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4213 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4214 void CListBox::MeasureItem(tagMEASUREITEM*)\n4215 void CMenu::MeasureItem(tagMEASUREITEM*)\n4216 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,unsigned short const *)\n4217 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned int)\n4218 int COlePropertyPage::MessageBoxW(unsigned short const *,unsigned short const *,unsigned int)\n4219 int CWnd::MessageBoxW(unsigned short const *,unsigned short const *,unsigned int)\n4220 AFX_MSGMAP const CCheckListBox::messageMap\n4221 AFX_MSGMAP const CCmdTarget::messageMap\n4222 AFX_MSGMAP const CColorDialog::messageMap\n4223 AFX_MSGMAP const CColorPropPage::messageMap\n4224 AFX_MSGMAP const CCommonDialog::messageMap\n4225 AFX_MSGMAP const CControlBar::messageMap\n4226 AFX_MSGMAP const CControlFrameWnd::messageMap\n4227 AFX_MSGMAP const CCtrlView::messageMap\n4228 AFX_MSGMAP const CDaoRecordView::messageMap\n4229 AFX_MSGMAP const CDialog::messageMap\n4230 AFX_MSGMAP const CDialogBar::messageMap\n4231 AFX_MSGMAP const CDockBar::messageMap\n4232 AFX_MSGMAP const CDocObjectServer::messageMap\n4233 AFX_MSGMAP const CDocument::messageMap\n4234 AFX_MSGMAP const CEditView::messageMap\n4235 AFX_MSGMAP const CFontPropPage::messageMap\n4236 AFX_MSGMAP const CFormView::messageMap\n4237 AFX_MSGMAP const CFrameWnd::messageMap\n4238 AFX_MSGMAP const CListCtrl::messageMap\n4239 AFX_MSGMAP const CListView::messageMap\n4240 AFX_MSGMAP const CMDIChildWnd::messageMap\n4241 AFX_MSGMAP const CMDIFrameWnd::messageMap\n4242 AFX_MSGMAP const CMiniDockFrameWnd::messageMap\n4243 AFX_MSGMAP const CMiniFrameWnd::messageMap\n4244 AFX_MSGMAP const COleControl::messageMap\n4245 AFX_MSGMAP const COleDocIPFrameWnd::messageMap\n4246 AFX_MSGMAP const COleIPFrameWnd::messageMap\n4247 AFX_MSGMAP const COlePropertyPage::messageMap\n4248 AFX_MSGMAP const COleResizeBar::messageMap\n4249 AFX_MSGMAP const COleServerDoc::messageMap\n4250 AFX_MSGMAP const CPicturePropPage::messageMap\n4251 AFX_MSGMAP const CPreviewView::messageMap\n4252 AFX_MSGMAP const CPrintDialog::messageMap\n4253 AFX_MSGMAP const CPropertyPage::messageMap\n4254 AFX_MSGMAP const CPropertySheet::messageMap\n4255 AFX_MSGMAP const CRecordView::messageMap\n4256 AFX_MSGMAP const CRichEditView::messageMap\n4257 AFX_MSGMAP const CScrollView::messageMap\n4258 AFX_MSGMAP const CSocketWnd::messageMap\n4259 AFX_MSGMAP const CSplitterWnd::messageMap\n4260 AFX_MSGMAP const CStatusBar::messageMap\n4261 AFX_MSGMAP const CStockPropPage::messageMap\n4262 AFX_MSGMAP const CTabCtrl::messageMap\n4263 AFX_MSGMAP const CToolBar::messageMap\n4264 AFX_MSGMAP const CToolBarCtrl::messageMap\n4265 AFX_MSGMAP const CToolTipCtrl::messageMap\n4266 AFX_MSGMAP const CTreeCtrl::messageMap\n4267 AFX_MSGMAP const CTreeView::messageMap\n4268 AFX_MSGMAP const CView::messageMap\n4269 AFX_MSGMAP const CWinApp::messageMap\n4270 AFX_MSGMAP const CWnd::messageMap\n4271 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4272 CString CString::Mid(int)const \n4273 CString CString::Mid(int,int)const \n4274 void CPreviewDC::MirrorAttributes()\n4275 void CPreviewDC::MirrorFont()\n4276 void CPreviewDC::MirrorMappingMode(int)\n4277 void CPreviewDC::MirrorViewportOrg()\n4278 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4279 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4280 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4281 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4282 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4283 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4284 void CDaoRecordset::Move(long)\n4285 void CDockContext::Move(CPoint)\n4286 void CRecordset::Move(long,unsigned short)\n4287 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4288 void CDaoRecordset::MoveFirst()\n4289 void CDaoRecordset::MoveLast()\n4290 void CDaoRecordset::MoveNext()\n4291 void CDaoRecordset::MovePrev()\n4292 CPoint CDC::MoveTo(int,int)\n4293 void COleControlSite::MoveWindow(int,int,int,int,int)\n4294 void CWnd::MoveWindow(int,int,int,int,int)\n4295 CRect CRect::MulDiv(int,int)const \n4296 unsigned int COleDropSource::nDragDelay\n4297 unsigned int COleDropSource::nDragMinDist\n4298 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4299 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4300 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4301 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4302 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4303 CMapStringToString::CAssoc * CMapStringToString::NewAssoc()\n4304 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4305 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4306 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4307 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4308 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4309 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4310 unsigned int const CEditView::nMaxSize\n4311 int CRectTracker::NormalizeHit(int)const \n4312 void CRect::NormalizeRect()\n4313 void CDataBoundProperty::Notify()\n4314 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4315 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4316 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4317 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4318 void COleServerDoc::NotifyRename(unsigned short const *)\n4319 unsigned int COleDropTarget::nScrollDelay\n4320 int COleDropTarget::nScrollInset\n4321 unsigned int COleDropTarget::nScrollInterval\n4322 int CDC::OffsetClipRgn(int,int)\n4323 int CDC::OffsetClipRgn(tagSIZE)\n4324 CPoint CDC::OffsetViewportOrg(int,int)\n4325 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4326 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4327 CPoint CDC::OffsetWindowOrg(int,int)\n4328 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4329 void CAsyncSocket::OnAccept(int)\n4330 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4331 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4332 void COleClientItem::OnActivate()\n4333 void COleFrameHook::OnActivate(int)\n4334 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4335 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4336 long COleControl::OnActivateInPlace(int,tagMSG *)\n4337 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4338 long CWnd::OnActivateTopLevel(unsigned int,long)\n4339 void COleClientItem::OnActivateUI()\n4340 long CDocObjectServer::OnActivateView()\n4341 void CFormView::OnActivateView(int,CView *,CView *)\n4342 void CPreviewView::OnActivateView(int,CView *,CView *)\n4343 void CView::OnActivateView(int,CView *,CView *)\n4344 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4345 void CConnectionPoint::OnAdvise(int)\n4346 void COleControl::XEventConnPt::OnAdvise(int)\n4347 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4348 void COleControl::OnAmbientPropertyChange(long)\n4349 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4350 void COleControl::OnAppearanceChanged()\n4351 void CWinApp::OnAppExit()\n4352 int CPropertyPage::OnApply()\n4353 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4354 void CDocObjectServer::OnApplyViewState(CArchive &)\n4355 void COleControl::OnBackColorChanged()\n4356 int CFrameWnd::OnBarCheck(unsigned int)\n4357 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4358 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4359 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4360 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4361 int COleDropSource::OnBeginDrag(CWnd *)\n4362 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4363 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4364 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4365 void COleControl::OnBorderStyleChanged()\n4366 void CPicturePropPage::OnBrowse()\n4367 void CRichEditView::OnBullet()\n4368 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4369 void CCommonDialog::OnCancel()\n4370 void CDialog::OnCancel()\n4371 void CPropertyPage::OnCancel()\n4372 void CRichEditView::OnCancelEditCntr()\n4373 void COleControl::OnCancelMode()\n4374 void CSplitterWnd::OnCancelMode()\n4375 void CWnd::OnCancelMode()\n4376 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4377 long COleControl::XFontNotification::OnChanged(long)\n4378 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4379 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4380 void CRectTracker::OnChangedRect(CRect const &)\n4381 void CDocument::OnChangedViewList()\n4382 int COleClientItem::OnChangeItemPosition(CRect const &)\n4383 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4384 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4385 void CRichEditView::OnCharBold()\n4386 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4387 void CRichEditView::OnCharItalic()\n4388 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4389 void CRichEditView::OnCharUnderline()\n4390 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4391 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4392 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4393 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4394 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4395 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4396 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4397 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4398 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4399 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4400 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4401 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4402 void CPicturePropPage::OnClear()\n4403 void COleControl::OnClick(unsigned short)\n4404 CEnumArray * CEnumArray::OnClone()\n4405 void CAsyncSocket::OnClose(int)\n4406 void CControlFrameWnd::OnClose()\n4407 void CFrameWnd::OnClose()\n4408 void CMiniDockFrameWnd::OnClose()\n4409 void COleControl::OnClose(unsigned long)\n4410 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4411 void CPropertySheet::OnClose()\n4412 void COleClientItem::XAdviseSink::OnClose()\n4413 void CDocObjectServer::OnCloseDocument()\n4414 void CDocument::OnCloseDocument()\n4415 void COleDocument::OnCloseDocument()\n4416 void COleLinkingDoc::OnCloseDocument()\n4417 void COleServerDoc::OnCloseDocument()\n4418 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4419 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4420 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4421 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4422 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4423 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4424 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4425 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4426 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4427 void CRichEditView::OnColorDefault()\n4428 int CColorDialog::OnColorOK()\n4429 void CRichEditView::OnColorPick(unsigned long)\n4430 int CFrameWnd::OnCommand(unsigned int,long)\n4431 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4432 int COlePropertyPage::OnCommand(unsigned int,long)\n4433 int CPropertySheet::OnCommand(unsigned int,long)\n4434 int CSplitterWnd::OnCommand(unsigned int,long)\n4435 int CWnd::OnCommand(unsigned int,long)\n4436 long CDialog::OnCommandHelp(unsigned int,long)\n4437 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4438 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4439 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4440 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4441 void CAsyncSocket::OnConnect(int)\n4442 void CFrameWnd::OnContextHelp()\n4443 int COleFrameHook::OnContextHelp(int)\n4444 void COleIPFrameWnd::OnContextHelp()\n4445 void CWinApp::OnContextHelp()\n4446 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4447 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n4448 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n4449 int CEditView::OnCreate(tagCREATESTRUCTW *)\n4450 int CFormView::OnCreate(tagCREATESTRUCTW *)\n4451 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4452 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n4453 int COleControl::OnCreate(tagCREATESTRUCTW *)\n4454 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4455 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n4456 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n4457 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n4458 int CView::OnCreate(tagCREATESTRUCTW *)\n4459 int CCmdTarget::OnCreateAggregates()\n4460 int COleControl::OnCreateAggregates()\n4461 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4462 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4463 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4464 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4465 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n4466 CCmdTarget * COleObjectFactory::OnCreateObject()\n4467 CCmdTarget * COleTemplateServer::OnCreateObject()\n4468 HBRUSH__ * CColorDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n4469 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4470 HBRUSH__ * CDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n4471 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4472 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4473 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4474 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4475 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4476 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4477 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4478 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4479 int CDocManager::OnDDECommand(unsigned short *)\n4480 int CWinApp::OnDDECommand(unsigned short *)\n4481 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4482 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4483 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4484 void COleClientItem::OnDeactivate()\n4485 void COleServerDoc::OnDeactivate()\n4486 void COleClientItem::OnDeactivateAndUndo()\n4487 void COleClientItem::OnDeactivateUI(int)\n4488 void COleServerDoc::OnDeactivateUI(int)\n4489 void CRichEditCntrItem::OnDeactivateUI(int)\n4490 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4491 void CControlBar::OnDestroy()\n4492 void CEditView::OnDestroy()\n4493 void CFrameWnd::OnDestroy()\n4494 void CMDIChildWnd::OnDestroy()\n4495 void CMDIFrameWnd::OnDestroy()\n4496 void COleControl::OnDestroy()\n4497 void COleIPFrameWnd::OnDestroy()\n4498 void CRichEditView::OnDestroy()\n4499 void CTabCtrl::OnDestroy()\n4500 void CTreeCtrl::OnDestroy()\n4501 void CTreeView::OnDestroy()\n4502 void CView::OnDestroy()\n4503 void CRichEditView::OnDevModeChange(unsigned short *)\n4504 void CWnd::OnDevModeChange(unsigned short *)\n4505 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4506 void COleClientItem::OnDiscardUndoState()\n4507 void CSplitterWnd::OnDisplayChange()\n4508 long CWnd::OnDisplayChange(unsigned int,long)\n4509 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4510 int COleFrameHook::OnDocActivate(int)\n4511 void COleServerDoc::OnDocWindowActivate(int)\n4512 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4513 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4514 void CDocObjectServerItem::OnDoVerb(long)\n4515 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4516 void COleServerItem::OnDoVerb(long)\n4517 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4518 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4519 void COleDropTarget::OnDragLeave(CWnd *)\n4520 void CView::OnDragLeave()\n4521 long CWnd::OnDragList(unsigned int,long)\n4522 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4523 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4524 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4525 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4526 void CCtrlView::OnDraw(CDC *)\n4527 void CFormView::OnDraw(CDC *)\n4528 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4529 void CPreviewView::OnDraw(CDC *)\n4530 void CView::OnDraw(CDC *)\n4531 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4532 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4533 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4534 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4535 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4536 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4537 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4538 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4539 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4540 void CFrameWnd::OnDropFiles(HDROP__ *)\n4541 void CRichEditView::OnDropFiles(HDROP__ *)\n4542 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4543 int CEditView::OnEditChange()\n4544 void CFontPropPage::OnEditchangeFontstyles()\n4545 void COleDocument::OnEditChangeIcon()\n4546 void CEditView::OnEditClear()\n4547 void CRichEditView::OnEditClear()\n4548 void COleDocument::OnEditConvert()\n4549 void CEditView::OnEditCopy()\n4550 void CRichEditView::OnEditCopy()\n4551 void CEditView::OnEditCut()\n4552 void CRichEditView::OnEditCut()\n4553 void CEditView::OnEditFind()\n4554 void CRichEditView::OnEditFind()\n4555 void CEditView::OnEditFindReplace(int)\n4556 void CRichEditView::OnEditFindReplace(int)\n4557 void COleDocument::OnEditLinks()\n4558 void CEditView::OnEditPaste()\n4559 void CRichEditView::OnEditPaste()\n4560 void CRichEditView::OnEditPasteSpecial()\n4561 void CRichEditView::OnEditProperties()\n4562 int CColorPropPage::OnEditProperty(long)\n4563 int CFontPropPage::OnEditProperty(long)\n4564 int COlePropertyPage::OnEditProperty(long)\n4565 int CPicturePropPage::OnEditProperty(long)\n4566 int CStockPropPage::OnEditProperty(long,CComboBox &)\n4567 void CEditView::OnEditRepeat()\n4568 void CRichEditView::OnEditRepeat()\n4569 void CEditView::OnEditReplace()\n4570 void CRichEditView::OnEditReplace()\n4571 void CEditView::OnEditSelectAll()\n4572 void CRichEditView::OnEditSelectAll()\n4573 void CEditView::OnEditUndo()\n4574 void CRichEditView::OnEditUndo()\n4575 void CFontPropPage::OnEditupdateFontnames()\n4576 void CFontPropPage::OnEditupdateFontsizes()\n4577 void CFrameWnd::OnEnable(int)\n4578 void COleControl::OnEnabledChanged()\n4579 void COleFrameHook::OnEnableModeless(int)\n4580 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4581 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4582 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4583 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4584 void CFrameWnd::OnEndSession(int)\n4585 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4586 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4587 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4588 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4589 int CFrameWnd::OnEraseBkgnd(CDC *)\n4590 int COleResizeBar::OnEraseBkgnd(CDC *)\n4591 int CPreviewView::OnEraseBkgnd(CDC *)\n4592 int CToolBar::OnEraseBkgnd(CDC *)\n4593 int CWnd::OnEraseBkgnd(CDC *)\n4594 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4595 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4596 int COleControlSite::OnEvent(AFX_EVENT *)\n4597 void COleControl::OnEventAdvise(int)\n4598 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4599 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4600 void CDocument::OnFileClose()\n4601 void CFileDialog::OnFileNameChange()\n4602 int CFileDialog::OnFileNameOK()\n4603 void CDocManager::OnFileNew()\n4604 void CWinApp::OnFileNew()\n4605 void CDocManager::OnFileOpen()\n4606 void CWinApp::OnFileOpen()\n4607 void CView::OnFilePrint()\n4608 void CView::OnFilePrintPreview()\n4609 void CWinApp::OnFilePrintSetup()\n4610 void CDocument::OnFileSave()\n4611 void CDocument::OnFileSaveAs()\n4612 void COleServerDoc::OnFileSaveCopyAs()\n4613 void CDocument::OnFileSendMail()\n4614 void COleDocument::OnFileSendMail()\n4615 void COleServerDoc::OnFileUpdate()\n4616 void CCmdTarget::OnFinalRelease()\n4617 void CDocument::OnFinalRelease()\n4618 void COleControl::OnFinalRelease()\n4619 void COlePropertyPage::OnFinalRelease()\n4620 void COleServerItem::OnFinalRelease()\n4621 void CWnd::OnFinalRelease()\n4622 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(unsigned short const *)\n4623 void CEditView::OnFindNext(unsigned short const *,int,int)\n4624 void CRichEditView::OnFindNext(unsigned short const *,int,int,int)\n4625 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4626 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4627 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4628 long COleControlSite::XOleControlSite::OnFocus(int)\n4629 void CFileDialog::OnFolderChange()\n4630 void COleControl::OnFontChanged()\n4631 void COleControl::OnForeColorChanged()\n4632 void CRichEditView::OnFormatFont()\n4633 void COleControl::OnFrameClose()\n4634 void COleServerDoc::OnFrameWindowActivate(int)\n4635 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4636 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4637 void COleControl::OnFreezeEvents(int)\n4638 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4639 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4640 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4641 void COleClientItem::OnGetClipRect(CRect &)\n4642 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4643 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4644 int COleControl::OnGetDisplayString(long,CString &)\n4645 unsigned int COleControl::OnGetDlgCode()\n4646 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4647 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4648 HMENU__ * COleControl::OnGetInPlaceMenu()\n4649 void COleClientItem::OnGetItemPosition(CRect &)\n4650 COleServerItem * COleLinkingDoc::OnGetLinkedItem(unsigned short const *)\n4651 COleServerItem * COleServerDoc::OnGetLinkedItem(unsigned short const *)\n4652 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4653 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4654 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4655 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4656 long CMiniFrameWnd::OnGetText(unsigned int,long)\n4657 long CStatusBar::OnGetText(unsigned int,long)\n4658 long CMiniFrameWnd::OnGetTextLength(unsigned int,long)\n4659 long CStatusBar::OnGetTextLength(unsigned int,long)\n4660 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4661 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4662 unsigned long COleControl::OnGetViewStatus()\n4663 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4664 HBRUSH__ * CWnd::OnGrayCtlColor(CDC *,CWnd *,unsigned int)\n4665 void CFrameWnd::OnHelp()\n4666 int COlePropertyPage::OnHelp(unsigned short const *)\n4667 void CWinApp::OnHelp()\n4668 void CWnd::OnHelp()\n4669 void CWinApp::OnHelpFinder()\n4670 void CWnd::OnHelpFinder()\n4671 long CControlBar::OnHelpHitTest(unsigned int,long)\n4672 long CDialog::OnHelpHitTest(unsigned int,long)\n4673 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4674 void CWinApp::OnHelpIndex()\n4675 void CWnd::OnHelpIndex()\n4676 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4677 int CWnd::OnHelpInfo(tagHELPINFO *)\n4678 void CWinApp::OnHelpUsing()\n4679 void CWnd::OnHelpUsing()\n4680 void CDocObjectServerItem::OnHide()\n4681 long COleControl::OnHide()\n4682 void COleServerItem::OnHide()\n4683 void COleControl::OnHideToolBars()\n4684 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4685 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4686 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4687 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4688 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4689 void CDocTemplate::OnIdle()\n4690 void CDocument::OnIdle()\n4691 void COleDocument::OnIdle()\n4692 int CWinApp::OnIdle(long)\n4693 int CWinThread::OnIdle(long)\n4694 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4695 void CFrameWnd::OnIdleUpdateCmdUI()\n4696 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4697 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4698 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4699 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4700 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4701 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4702 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4703 int CColorPropPage::OnInitDialog()\n4704 int CDialog::OnInitDialog()\n4705 int CFontPropPage::OnInitDialog()\n4706 int COlePropertiesDialog::OnInitDialog()\n4707 int COlePropertyPage::OnInitDialog()\n4708 int CPicturePropPage::OnInitDialog()\n4709 int CPropertySheet::OnInitDialog()\n4710 void CFileDialog::OnInitDone()\n4711 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4712 void CControlBar::OnInitialUpdate()\n4713 void CDaoRecordView::OnInitialUpdate()\n4714 void CFormView::OnInitialUpdate()\n4715 void CRecordView::OnInitialUpdate()\n4716 void CRichEditView::OnInitialUpdate()\n4717 void CView::OnInitialUpdate()\n4718 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4719 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4720 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4721 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4722 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4723 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4724 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4725 void CRichEditView::OnInsertObject()\n4726 void CSplitterWnd::OnInvertTracker(CRect const &)\n4727 void CDockContext::OnKey(int,int)\n4728 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4729 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4730 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4731 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4732 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4733 void COleControl::OnKeyPressEvent(unsigned short)\n4734 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4735 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4736 int CPropertyPage::OnKillActive()\n4737 void COleControl::OnKillFocus(CWnd *)\n4738 long CCheckListBox::OnLBAddString(unsigned int,long)\n4739 long CCheckListBox::OnLBFindString(unsigned int,long)\n4740 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4741 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4742 long CCheckListBox::OnLBGetText(unsigned int,long)\n4743 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4744 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4745 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4746 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4747 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4748 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4749 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4750 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4751 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4752 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4753 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4754 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4755 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4756 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4757 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4758 void CMiniFrameWnd::OnLButtonUp(unsigned int,CPoint)\n4759 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4760 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4761 void CAsyncMonikerFile::OnLowResource()\n4762 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4763 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4764 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4765 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4766 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4767 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4768 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4769 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4770 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4771 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4772 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4773 int CSocket::OnMessagePending()\n4774 void COleControl::OnMnemonic(tagMSG *)\n4775 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4776 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4777 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4778 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4779 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4780 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4781 void CMiniFrameWnd::OnMouseMove(unsigned int,CPoint)\n4782 void COleControl::OnMouseMove(unsigned int,CPoint)\n4783 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4784 int CDaoRecordView::OnMove(unsigned int)\n4785 void COleControl::OnMove(int,int)\n4786 int CRecordView::OnMove(unsigned int)\n4787 int CFrameWnd::OnNcActivate(int)\n4788 int CMDIChildWnd::OnNcActivate(int)\n4789 int CMiniFrameWnd::OnNcActivate(int)\n4790 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4791 void CMiniFrameWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4792 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4793 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4794 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4795 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n4796 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n4797 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n4798 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n4799 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n4800 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n4801 void CListCtrl::OnNcDestroy()\n4802 void CListView::OnNcDestroy()\n4803 void CWnd::OnNcDestroy()\n4804 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4805 unsigned int COleControl::OnNcHitTest(CPoint)\n4806 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4807 unsigned int CToolBar::OnNcHitTest(CPoint)\n4808 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4809 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4810 void CMiniFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4811 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4812 void CDockBar::OnNcPaint()\n4813 void CMiniFrameWnd::OnNcPaint()\n4814 void COleControl::OnNcPaint()\n4815 void CStatusBar::OnNcPaint()\n4816 void CToolBar::OnNcPaint()\n4817 int CDocument::OnNewDocument()\n4818 int COleDocument::OnNewDocument()\n4819 int COleLinkingDoc::OnNewDocument()\n4820 void COleServerDoc::OnNewEmbedding(IStorage *)\n4821 int CEnumArray::OnNext(void *)\n4822 int CEnumConnPoints::OnNext(void *)\n4823 int CEnumFormatEtc::OnNext(void *)\n4824 int CEnumOleVerb::OnNext(void *)\n4825 int CEnumUnknown::OnNext(void *)\n4826 void CPreviewView::OnNextPage()\n4827 int CView::OnNextPaneCmd(unsigned int)\n4828 int CFileDialog::OnNotify(unsigned int,long,long *)\n4829 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4830 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4831 int CWnd::OnNotify(unsigned int,long,long *)\n4832 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4833 long CWnd::OnNTCtlColor(unsigned int,long)\n4834 void CPreviewView::OnNumPageChange()\n4835 void CColorPropPage::OnObjectsChanged()\n4836 void CFontPropPage::OnObjectsChanged()\n4837 void COlePropertyPage::OnObjectsChanged()\n4838 void CPicturePropPage::OnObjectsChanged()\n4839 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4840 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4841 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4842 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4843 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4844 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4845 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4846 void CCommonDialog::OnOK()\n4847 void CDialog::OnOK()\n4848 void CPropertyPage::OnOK()\n4849 void CDocObjectServerItem::OnOpen()\n4850 long COleControl::OnOpen(int,tagMSG *)\n4851 void COleServerItem::OnOpen()\n4852 int CDocument::OnOpenDocument(unsigned short const *)\n4853 int COleDocument::OnOpenDocument(unsigned short const *)\n4854 int COleLinkingDoc::OnOpenDocument(unsigned short const *)\n4855 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4856 int CWinApp::OnOpenRecentFile(unsigned int)\n4857 void CAsyncSocket::OnOutOfBandData(int)\n4858 void CControlBar::OnPaint()\n4859 void CCtrlView::OnPaint()\n4860 void CDockBar::OnPaint()\n4861 void CFontPropPage::OnPaint()\n4862 void COleControl::OnPaint(CDC *)\n4863 void COleResizeBar::OnPaint()\n4864 void CPicturePropPage::OnPaint()\n4865 void CSplitterWnd::OnPaint()\n4866 void CStatusBar::OnPaint()\n4867 void CToolBar::OnPaint()\n4868 void CView::OnPaint()\n4869 void CFrameWnd::OnPaletteChanged(CWnd *)\n4870 void COleFrameHook::OnPaletteChanged(CWnd *)\n4871 void CRichEditView::OnParaAlign(unsigned short)\n4872 void CRichEditView::OnParaCenter()\n4873 void CRichEditView::OnParaLeft()\n4874 void CRichEditView::OnParaRight()\n4875 void CWnd::OnParentNotify(unsigned int,long)\n4876 int CRichEditView::OnPasteNativeObject(IStorage *)\n4877 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4878 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4879 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4880 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4881 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4882 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4883 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4884 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4885 int CEditView::OnPreparePrinting(CPrintInfo *)\n4886 int CView::OnPreparePrinting(CPrintInfo *)\n4887 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4888 void CPreviewView::OnPreviewClose()\n4889 void CPreviewView::OnPreviewPrint()\n4890 void CPreviewView::OnPrevPage()\n4891 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4892 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4893 void CView::OnPrint(CDC *,CPrintInfo *)\n4894 void CRichEditView::OnPrinterChanged(CDC const &)\n4895 void CPrintDialog::OnPrintSetup()\n4896 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,unsigned short const *)\n4897 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4898 long CWnd::OnQuery3dControls(unsigned int,long)\n4899 int CPropertyPage::OnQueryCancel()\n4900 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4901 int CFrameWnd::OnQueryEndSession()\n4902 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4903 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4904 int CFrameWnd::OnQueryNewPalette()\n4905 int COleFrameHook::OnQueryNewPalette()\n4906 int COleServerItem::OnQueryUpdateItems()\n4907 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4908 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4909 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4910 int COleServerDoc::OnReactivateAndUndo()\n4911 void COleFrameHook::OnRecalcLayout()\n4912 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4913 void CAsyncSocket::OnReceive(int)\n4914 void COleControl::OnReflectorDestroyed()\n4915 void COleClientItem::OnRemoveMenus(CMenu *)\n4916 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4917 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4918 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4919 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4920 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4921 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4922 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4923 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4924 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4925 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4926 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4927 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4928 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4929 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4930 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4931 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4932 void CEditView::OnReplaceAll(unsigned short const *,unsigned short const *,int)\n4933 void CRichEditView::OnReplaceAll(unsigned short const *,unsigned short const *,int,int)\n4934 void CEditView::OnReplaceSel(unsigned short const *,int,int,unsigned short const *)\n4935 void CRichEditView::OnReplaceSel(unsigned short const *,int,int,int,unsigned short const *)\n4936 long COleControl::XFontNotification::OnRequestEdit(long)\n4937 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4938 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4939 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4940 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4941 void CEnumArray::OnReset()\n4942 void CPropertyPage::OnReset()\n4943 void COleControl::OnResetState()\n4944 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4945 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4946 void COleClientItem::XAdviseSink::OnSave()\n4947 int CDocument::OnSaveDocument(unsigned short const *)\n4948 int COleDocument::OnSaveDocument(unsigned short const *)\n4949 int COleLinkingDoc::OnSaveDocument(unsigned short const *)\n4950 int COleServerDoc::OnSaveDocument(unsigned short const *)\n4951 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4952 void COleServerItem::OnSaveEmbedding(IStorage *)\n4953 void CDocObjectServer::OnSaveViewState(CArchive &)\n4954 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4955 int CView::OnScroll(unsigned int,unsigned int,int)\n4956 int COleClientItem::OnScrollBy(CSize)\n4957 int CScrollView::OnScrollBy(CSize,int)\n4958 int CView::OnScrollBy(CSize,int)\n4959 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4960 void CColorPropPage::OnSelchangeColorprop()\n4961 void CFontPropPage::OnSelchangeFontnames()\n4962 void CFontPropPage::OnSelchangeFontprop()\n4963 void CFontPropPage::OnSelchangeFontsizes()\n4964 void CFontPropPage::OnSelchangeFontstyles()\n4965 void CPicturePropPage::OnSelchangePictProp()\n4966 void CStockPropPage::OnSelchangePropname(CComboBox &)\n4967 void CColorPropPage::OnSelchangeSystemcolors()\n4968 void CColorPropPage::OnSelect()\n4969 void CAsyncSocket::OnSend(int)\n4970 int CPropertyPage::OnSetActive()\n4971 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4972 long CToolBar::OnSetButtonSize(unsigned int,long)\n4973 void COleControl::OnSetClientSite()\n4974 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4975 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4976 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4977 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4978 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4979 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4980 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4981 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4982 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4983 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4984 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4985 long CPropertySheet::OnSetDefID(unsigned int,long)\n4986 int COleControl::OnSetExtent(tagSIZE *)\n4987 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4988 void CFormView::OnSetFocus(CWnd *)\n4989 void CFrameWnd::OnSetFocus(CWnd *)\n4990 void COleControl::OnSetFocus(CWnd *)\n4991 long CCheckListBox::OnSetFont(unsigned int,long)\n4992 void CDialog::OnSetFont(CFont *)\n4993 long CEditView::OnSetFont(unsigned int,long)\n4994 void COleServerDoc::OnSetHostNames(unsigned short const *,unsigned short const *)\n4995 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4996 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4997 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4998 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4999 long COleControl::OnSetMessageString(unsigned int,long)\n5000 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n5001 long CStatusBar::OnSetMinHeight(unsigned int,long)\n5002 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n5003 void CDatabase::OnSetOptions(void *)\n5004 void CRecordset::OnSetOptions(void *)\n5005 void COlePropertyPage::OnSetPageSite()\n5006 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n5007 long CMiniFrameWnd::OnSetText(unsigned int,long)\n5008 long COleControl::OnSetText(unsigned int,long)\n5009 long CStatusBar::OnSetText(unsigned int,long)\n5010 unsigned int CFileDialog::OnShareViolation(unsigned short const *)\n5011 void CDocObjectServerItem::OnShow()\n5012 void COleServerItem::OnShow()\n5013 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n5014 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n5015 void COleServerDoc::OnShowDocument(int)\n5016 void COleClientItem::OnShowItem()\n5017 void COleControl::OnShowToolBars()\n5018 void COleDocument::OnShowViews(int)\n5019 void COleLinkingDoc::OnShowViews(int)\n5020 void COleControl::OnShowWindow(int,unsigned int)\n5021 void CWnd::OnShowWindow(int,unsigned int)\n5022 long COleClientItem::XOleClientSite::OnShowWindow(int)\n5023 long COleControlSite::XOleClientSite::OnShowWindow(int)\n5024 void CFrameWnd::OnSize(unsigned int,int,int)\n5025 void CMDIChildWnd::OnSize(unsigned int,int,int)\n5026 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n5027 void COleControl::OnSize(unsigned int,int,int)\n5028 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n5029 void COleResizeBar::OnSize(unsigned int,int,int)\n5030 void CPreviewView::OnSize(unsigned int,int,int)\n5031 void CScrollView::OnSize(unsigned int,int,int)\n5032 void CSplitterWnd::OnSize(unsigned int,int,int)\n5033 void CStatusBar::OnSize(unsigned int,int,int)\n5034 void CWnd::OnSize(unsigned int,int,int)\n5035 long CControlBar::OnSizeParent(unsigned int,long)\n5036 long CDockBar::OnSizeParent(unsigned int,long)\n5037 long COleResizeBar::OnSizeParent(unsigned int,long)\n5038 int CEnumArray::OnSkip()\n5039 long CSocketWnd::OnSocketDead(unsigned int,long)\n5040 long CSocketWnd::OnSocketNotify(unsigned int,long)\n5041 int CView::OnSplitCmd(unsigned int)\n5042 void CAsyncMonikerFile::OnStartBinding()\n5043 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n5044 void CAsyncMonikerFile::OnStopBinding(long,unsigned short const *)\n5045 void CFontPropPage::OnStrikeout()\n5046 void CToolBar::OnSysColorChange()\n5047 void CWnd::OnSysColorChange()\n5048 void CFrameWnd::OnSysCommand(unsigned int,long)\n5049 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n5050 void CPropertySheet::OnSysCommand(unsigned int,long)\n5051 void CSplitterWnd::OnSysCommand(unsigned int,long)\n5052 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n5053 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n5054 void COleControl::OnTextChanged()\n5055 void CEditView::OnTextNotFound(unsigned short const *)\n5056 void CRichEditView::OnTextNotFound(unsigned short const *)\n5057 void CControlBar::OnTimer(unsigned int)\n5058 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n5059 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n5060 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5061 void CFileDialog::OnTypeChange()\n5062 void COleControlContainer::OnUIActivate(COleControlSite *)\n5063 long COleClientItem::XOleIPSite::OnUIActivate()\n5064 long COleControlSite::XOleIPSite::OnUIActivate()\n5065 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n5066 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n5067 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n5068 void CFontPropPage::OnUnderline()\n5069 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5070 void CView::OnUpdate(CView *,long,CObject *)\n5071 void CRichEditView::OnUpdateBullet(CCmdUI *)\n5072 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n5073 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n5074 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n5075 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n5076 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n5077 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n5078 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n5079 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n5080 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n5081 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n5082 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5083 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5084 int COleServerDoc::OnUpdateDocument()\n5085 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n5086 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5087 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5088 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5089 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5090 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5091 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5092 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5093 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5094 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5095 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5096 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5097 void CFrameWnd::OnUpdateFrameTitle(int)\n5098 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5099 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5100 int COleClientItem::OnUpdateFrameTitle()\n5101 int COleFrameHook::OnUpdateFrameTitle()\n5102 void COleServerItem::OnUpdateItems()\n5103 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5104 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5105 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5106 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5107 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5108 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5109 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5110 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5111 void CEditView::OnUpdateNeedText(CCmdUI *)\n5112 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5113 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5114 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5115 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5116 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5117 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5118 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5119 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5120 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5121 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5122 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5123 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5124 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5125 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n5126 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5127 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n5128 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5129 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n5130 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5131 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n5132 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5133 void CView::OnUpdateSplitCmd(CCmdUI *)\n5134 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5135 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5136 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5137 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5138 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5139 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5140 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5141 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5142 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5143 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5144 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5145 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5146 void CMDIFrameWnd::OnWindowNew()\n5147 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5148 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5149 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5150 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5151 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5152 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5153 void CWnd::OnWinIniChange(unsigned short const *)\n5154 long CPropertyPage::OnWizardBack()\n5155 int CPropertyPage::OnWizardFinish()\n5156 long CPropertyPage::OnWizardNext()\n5157 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5158 void CPreviewView::OnZoomIn()\n5159 void CPreviewView::OnZoomOut()\n5160 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5161 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5162 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5163 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5164 int CAsyncMonikerFile::Open(unsigned short const *,IBindHost *,CFileException *)\n5165 int CAsyncMonikerFile::Open(unsigned short const *,IServiceProvider *,CFileException *)\n5166 int CAsyncMonikerFile::Open(unsigned short const *,IUnknown *,CFileException *)\n5167 int CAsyncMonikerFile::Open(unsigned short const *,CFileException *)\n5168 void CDaoDatabase::Open(unsigned short const *,int,int,unsigned short const *)\n5169 void CDaoQueryDef::Open(unsigned short const *)\n5170 void CDaoRecordset::Open(int,unsigned short const *,int)\n5171 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n5172 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n5173 void CDaoTableDef::Open(unsigned short const *)\n5174 void CDaoWorkspace::Open(unsigned short const *)\n5175 int CDatabase::Open(unsigned short const *,int,int,unsigned short const *,int)\n5176 int CDataPathProperty::Open(CFileException *)\n5177 int CDataPathProperty::Open(COleControl *,CFileException *)\n5178 int CDataPathProperty::Open(unsigned short const *,CFileException *)\n5179 int CDataPathProperty::Open(unsigned short const *,COleControl *,CFileException *)\n5180 int CFile::Open(unsigned short const *,unsigned int,CFileException *)\n5181 int CMirrorFile::Open(unsigned short const *,unsigned int,CFileException *)\n5182 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5183 int CMonikerFile::Open(unsigned short const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5184 int CMonikerFile::Open(IMoniker *,CFileException *)\n5185 int CMonikerFile::Open(unsigned short const *,CFileException *)\n5186 int CRecordset::Open(unsigned int,unsigned short const *,unsigned long)\n5187 int CSocketFile::Open(unsigned short const *,unsigned int,CFileException *)\n5188 int CStdioFile::Open(unsigned short const *,unsigned int,CFileException *)\n5189 long CDocObjectServer::XOleDocumentView::Open()\n5190 CDocument * CDocManager::OpenDocumentFile(unsigned short const *)\n5191 CDocument * CMultiDocTemplate::OpenDocumentFile(unsigned short const *,int)\n5192 CDocument * CSingleDocTemplate::OpenDocumentFile(unsigned short const *,int)\n5193 CDocument * CWinApp::OpenDocumentFile(unsigned short const *)\n5194 int CDatabase::OpenEx(unsigned short const *,unsigned long)\n5195 CInternetFile * CFtpConnection::OpenFile(unsigned short const *,unsigned long,unsigned long,unsigned long)\n5196 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,unsigned short const *,unsigned long)\n5197 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5198 CHttpFile * CHttpConnection::OpenRequest(int,unsigned short const *,unsigned short const *,unsigned long,unsigned short const * *,unsigned short const *,unsigned long)\n5199 CHttpFile * CHttpConnection::OpenRequest(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short const * *,unsigned short const *,unsigned long)\n5200 int COleStreamFile::OpenStream(IStorage *,unsigned short const *,unsigned long,CFileException *)\n5201 CStdioFile * CInternetSession::OpenURL(unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned long)\n5202 int CFileException::OsErrorToException(long)\n5203 void CDumpContext::OutputString(unsigned short const *)\n5204 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5205 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5206 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5207 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5208 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5209 int COleCurrency::ParseCurrency(unsigned short const *,unsigned long,unsigned long)\n5210 int COleDateTime::ParseDateTime(unsigned short const *,unsigned long,unsigned long)\n5211 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,unsigned short *,unsigned long *,IMoniker * *)\n5212 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,unsigned short *,unsigned long *,IMoniker * *)\n5213 void CCommandLineInfo::ParseLast(int)\n5214 void CCommandLineInfo::ParseParam(char const *,int,int)\n5215 void CCommandLineInfo::ParseParam(unsigned short const *,int,int)\n5216 void CCommandLineInfo::ParseParamFlag(char const *)\n5217 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5218 void CCommandLineInfo::ParseParamNotFlag(unsigned short const *)\n5219 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5220 int CDC::PlayMetaFile(HMETAFILE__ *)\n5221 int CDC::PolyBezierTo(tagPOINT const *,int)\n5222 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5223 int CDC::PolylineTo(tagPOINT const *,int)\n5224 void CPreviewView::PositionPage(unsigned int)\n5225 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5226 int CMonikerFile::PostBindToStream(CFileException *)\n5227 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5228 void CDialog::PostModal()\n5229 void COleControl::PostModalDialog(HWND__ *)\n5230 void CControlBar::PostNcDestroy()\n5231 void CControlFrameWnd::PostNcDestroy()\n5232 void CFindReplaceDialog::PostNcDestroy()\n5233 void CFrameWnd::PostNcDestroy()\n5234 void COleCntrFrameWnd::PostNcDestroy()\n5235 void CReflectorWnd::PostNcDestroy()\n5236 void CView::PostNcDestroy()\n5237 void CWnd::PostNcDestroy()\n5238 void CRecordset::PreBindFields()\n5239 void CDocument::PreCloseFrame(CFrameWnd *)\n5240 void COleDocument::PreCloseFrame(CFrameWnd *)\n5241 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5242 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5243 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5244 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n5245 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5246 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n5247 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5248 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5249 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n5250 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5251 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5252 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5253 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5254 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n5255 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n5256 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n5257 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5258 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5259 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5260 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n5261 void CDialog::PreInitDialog()\n5262 void COleChangeSourceDialog::PreInitDialog()\n5263 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5264 HWND__ * CDialog::PreModal()\n5265 void COleControl::PreModalDialog(HWND__ *)\n5266 void CRecordset::PrepareAndExecute()\n5267 HWND__ * CDataExchange::PrepareCtrl(int)\n5268 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5269 CWnd * CDataExchange::PrepareOleCtrl(int)\n5270 void CRecordset::PrepareUpdateHstmt()\n5271 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n5272 void CDragListBox::PreSubclassWindow()\n5273 void CWnd::PreSubclassWindow()\n5274 int CWnd::PreTranslateInput(tagMSG *)\n5275 int CControlBar::PreTranslateMessage(tagMSG *)\n5276 int CDialog::PreTranslateMessage(tagMSG *)\n5277 int CFormView::PreTranslateMessage(tagMSG *)\n5278 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5279 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5280 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5281 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5282 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5283 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5284 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5285 int CWinThread::PreTranslateMessage(tagMSG *)\n5286 int CWnd::PreTranslateMessage(tagMSG *)\n5287 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5288 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5289 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5290 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5291 long CRichEditView::PrintPage(CDC *,long,long)\n5292 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5293 long COleException::Process(CException const *)\n5294 int CSocket::ProcessAuxQueue()\n5295 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5296 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5297 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5298 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5299 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5300 void COleSafeArray::PtrOfIndex(long *,void * *)\n5301 int CDC::PtVisible(int,int)const \n5302 int CMetaFileDC::PtVisible(int,int)const \n5303 int CWinThread::PumpMessage()\n5304 int CSocket::PumpMessages(unsigned int)\n5305 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n5306 void COleSafeArray::PutElement(long *,void *)\n5307 int CFtpConnection::PutFile(unsigned short const *,unsigned short const *,unsigned long,unsigned long)\n5308 int PX_Blob(CPropExchange *,unsigned short const *,void * &,void *)\n5309 int PX_Bool(CPropExchange *,unsigned short const *,int &)\n5310 int PX_Bool(CPropExchange *,unsigned short const *,int &,int)\n5311 int PX_Color(CPropExchange *,unsigned short const *,unsigned long &)\n5312 int PX_Color(CPropExchange *,unsigned short const *,unsigned long &,unsigned long)\n5313 int PX_Currency(CPropExchange *,unsigned short const *,union tagCY &)\n5314 int PX_Currency(CPropExchange *,unsigned short const *,union tagCY &,union tagCY)\n5315 int PX_DataPath(CPropExchange *,unsigned short const *,CDataPathProperty &,unsigned short const *)\n5316 int PX_DataPath(CPropExchange *,unsigned short const *,CDataPathProperty &,CString const &)\n5317 int PX_Double(CPropExchange *,unsigned short const *,double &)\n5318 int PX_Double(CPropExchange *,unsigned short const *,double &,double)\n5319 int PX_Float(CPropExchange *,unsigned short const *,float &)\n5320 int PX_Float(CPropExchange *,unsigned short const *,float &,float)\n5321 int PX_Font(CPropExchange *,unsigned short const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5322 int PX_IUnknown(CPropExchange *,unsigned short const *,IUnknown * &,_GUID const &,IUnknown *)\n5323 int PX_Long(CPropExchange *,unsigned short const *,long &)\n5324 int PX_Long(CPropExchange *,unsigned short const *,long &,long)\n5325 int PX_Picture(CPropExchange *,unsigned short const *,CPictureHolder &)\n5326 int PX_Picture(CPropExchange *,unsigned short const *,CPictureHolder &,CPictureHolder &)\n5327 int PX_Short(CPropExchange *,unsigned short const *,short &)\n5328 int PX_Short(CPropExchange *,unsigned short const *,short &,short)\n5329 int PX_String(CPropExchange *,unsigned short const *,CString &)\n5330 int PX_String(CPropExchange *,unsigned short const *,CString &,unsigned short const *)\n5331 int PX_String(CPropExchange *,unsigned short const *,CString &,CString const &)\n5332 int PX_ULong(CPropExchange *,unsigned short const *,unsigned long &)\n5333 int PX_ULong(CPropExchange *,unsigned short const *,unsigned long &,unsigned long)\n5334 int PX_UShort(CPropExchange *,unsigned short const *,unsigned short &)\n5335 int PX_UShort(CPropExchange *,unsigned short const *,unsigned short &,unsigned short)\n5336 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5337 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5338 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5339 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5340 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5341 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5342 void * COleControl::QueryDefHandler(_GUID const &)\n5343 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5344 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5345 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5346 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5347 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5348 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5349 int CHttpFile::QueryInfo(unsigned long,CString &,unsigned long *)const \n5350 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5351 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5352 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5353 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5354 long _CIP<IBindHost,&_GUID const IID_IBindHost>::QueryInterface(IUnknown *)\n5355 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5356 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5357 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5358 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5359 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5360 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5361 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n5362 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n5363 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n5364 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n5365 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n5366 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n5367 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n5368 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n5369 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n5370 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n5371 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n5372 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n5373 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n5374 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n5375 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n5376 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n5377 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n5378 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n5379 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n5380 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n5381 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n5382 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n5383 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n5384 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n5385 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n5386 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n5387 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n5388 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n5389 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n5390 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n5391 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n5392 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n5393 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n5394 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n5395 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n5396 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n5397 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n5398 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n5399 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n5400 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n5401 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n5402 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n5403 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n5404 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n5405 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n5406 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n5407 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n5408 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n5409 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n5410 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n5411 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n5412 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n5413 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n5414 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n5415 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n5416 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n5417 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5418 int CInternetConnection::QueryOption(unsigned long,CString &)const \n5419 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5420 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5421 int CInternetFile::QueryOption(unsigned long,CString &)const \n5422 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5423 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5424 int CInternetSession::QueryOption(unsigned long,CString &)const \n5425 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5426 long CPropertyPage::QuerySiblings(unsigned int,long)\n5427 IUnknown * CConnectionPoint::QuerySinkInterface(IUnknown *)\n5428 IUnknown * COleControl::XEventConnPt::QuerySinkInterface(IUnknown *)\n5429 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5430 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n5431 int COleControlSite::QuickActivate()\n5432 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5433 int COleClientItem::ReactivateAndUndo()\n5434 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5435 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5436 unsigned int CArchive::Read(void *,unsigned int)\n5437 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5438 unsigned int CFile::Read(void *,unsigned int)\n5439 int CImageList::Read(CArchive *)\n5440 unsigned int CInternetFile::Read(void *,unsigned int)\n5441 unsigned int CMemFile::Read(void *,unsigned int)\n5442 unsigned int COleStreamFile::Read(void *,unsigned int)\n5443 unsigned int CSocketFile::Read(void *,unsigned int)\n5444 unsigned int CStdioFile::Read(void *,unsigned int)\n5445 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5446 unsigned long CArchive::ReadCount()\n5447 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5448 int CProperty::ReadFromStream(IStream *)\n5449 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5450 int CPropertySet::ReadFromStream(IStream *)\n5451 void COleClientItem::ReadItem(CArchive &)\n5452 void COleClientItem::ReadItemCompound(CArchive &)\n5453 void COleClientItem::ReadItemFlat(CArchive &)\n5454 void CRecentFileList::ReadList()\n5455 int CPropertySection::ReadNameDictFromStream(IStream *)\n5456 CObject * CArchive::ReadObject(CRuntimeconst *)\n5457 int CArchive::ReadString(CString &)\n5458 unsigned short * CArchive::ReadString(unsigned short *,unsigned int)\n5459 int CInternetFile::ReadString(CString &)\n5460 unsigned short * CInternetFile::ReadString(unsigned short *,unsigned int)\n5461 int CStdioFile::ReadString(CString &)\n5462 unsigned short * CStdioFile::ReadString(unsigned short *,unsigned int)\n5463 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5464 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5465 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5466 void CRecordset::RebindParams(void *)\n5467 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5468 void CFrameWnd::RecalcLayout(int)\n5469 void CMiniDockFrameWnd::RecalcLayout(int)\n5470 void COleCntrFrameWnd::RecalcLayout(int)\n5471 void COleDocIPFrameWnd::RecalcLayout(int)\n5472 void COleIPFrameWnd::RecalcLayout(int)\n5473 void CSplitterWnd::RecalcLayout()\n5474 int CAsyncSocket::Receive(void *,int,int)\n5475 int CSocket::Receive(void *,int,int)\n5476 int CAsyncSocket::ReceiveFrom(void *,int,CString &,unsigned int &,int)\n5477 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5478 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5479 void COleControl::RecreateControlWindow()\n5480 CRect const CFrameWnd::rectDefault\n5481 int CDC::RectVisible(tagRECT const *)const \n5482 int CMetaFileDC::RectVisible(tagRECT const *)const \n5483 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5484 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5485 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5486 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5487 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5488 void COleControl::Refresh()\n5489 void CDaoTableDef::RefreshLink()\n5490 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5491 int COleDropTarget::Register(CWnd *)\n5492 int COleLinkingDoc::Register(COleObjectFactory *,unsigned short const *)\n5493 int COleMessageFilter::Register()\n5494 int COleObjectFactory::Register()\n5495 int COleTemplateServer::Register()\n5496 int COleObjectFactory::RegisterAll()\n5497 int COleLinkingDoc::RegisterIfServerAttached(unsigned short const *,int)\n5498 void CDocManager::RegisterShellFileTypes(int)\n5499 void CWinApp::RegisterShellFileTypes(int)\n5500 void CWinApp::RegisterShellFileTypesCompat()\n5501 unsigned long CArchiveStream::Release()\n5502 unsigned long CBlobProperty::Release()\n5503 unsigned long CInnerUnknown::Release()\n5504 void COleClientItem::Release(enum tagOLECLOSE)\n5505 unsigned long COleConnPtContainer::Release()\n5506 void COleDataObject::Release()\n5507 unsigned long COleDispatchImpl::Release()\n5508 unsigned long COleUILinkInfo::Release()\n5509 void CString::Release()\n5510 void CString::Release(CStringData *)\n5511 unsigned long COleClientItem::XAdviseSink::Release()\n5512 unsigned long COleControlSite::XAmbientProps::Release()\n5513 unsigned long COleControlSite::XBoundObjectSite::Release()\n5514 unsigned long COleObjectFactory::XClassFactory::Release()\n5515 unsigned long CConnectionPoint::XConnPt::Release()\n5516 unsigned long COleControl::XDataObject::Release()\n5517 unsigned long COleDataSource::XDataObject::Release()\n5518 unsigned long COleServerDoc::XDataObject::Release()\n5519 unsigned long COleServerItem::XDataObject::Release()\n5520 unsigned long COleDropSource::XDropSource::Release()\n5521 unsigned long COleDropTarget::XDropTarget::Release()\n5522 unsigned long CEnumArray::XEnumVOID::Release()\n5523 unsigned long COleControlSite::XEventSink::Release()\n5524 unsigned long COleControl::XFontNotification::Release()\n5525 unsigned long COleMessageFilter::XMessageFilter::Release()\n5526 unsigned long COleControlSite::XNotifyDBEvents::Release()\n5527 unsigned long COleControl::XOleCache::Release()\n5528 unsigned long COleClientItem::XOleClientSite::Release()\n5529 unsigned long COleControlSite::XOleClientSite::Release()\n5530 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n5531 unsigned long COleControlContainer::XOleContainer::Release()\n5532 unsigned long COleControl::XOleControl::Release()\n5533 unsigned long COleControlSite::XOleControlSite::Release()\n5534 unsigned long CDocObjectServer::XOleDocument::Release()\n5535 unsigned long CDocObjectServer::XOleDocumentView::Release()\n5536 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n5537 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n5538 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n5539 unsigned long COleControl::XOleInPlaceObject::Release()\n5540 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n5541 unsigned long COleControlContainer::XOleIPFrame::Release()\n5542 unsigned long COleClientItem::XOleIPSite::Release()\n5543 unsigned long COleControlSite::XOleIPSite::Release()\n5544 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n5545 unsigned long CDocObjectServer::XOleObject::Release()\n5546 unsigned long COleControl::XOleObject::Release()\n5547 unsigned long COleServerDoc::XOleObject::Release()\n5548 unsigned long COleServerItem::XOleObject::Release()\n5549 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n5550 unsigned long COleControl::XPerPropertyBrowsing::Release()\n5551 unsigned long COleLinkingDoc::XPersistFile::Release()\n5552 unsigned long COleControl::XPersistMemory::Release()\n5553 unsigned long COleControl::XPersistPropertyBag::Release()\n5554 unsigned long COleControl::XPersistStorage::Release()\n5555 unsigned long COleServerDoc::XPersistStorage::Release()\n5556 unsigned long COleControl::XPersistStreamInit::Release()\n5557 unsigned long COleControl::XPointerInactive::Release()\n5558 unsigned long CDocObjectServer::XPrint::Release()\n5559 unsigned long COleControlSite::XPropertyNotifySink::Release()\n5560 unsigned long COlePropertyPage::XPropertyPage::Release()\n5561 unsigned long COlePropertyPage::XPropNotifySink::Release()\n5562 unsigned long COleControl::XProvideClassInfo::Release()\n5563 unsigned long COleControl::XQuickActivate::Release()\n5564 unsigned long CRichEditView::XRichEditOleCallback::Release()\n5565 unsigned long COleControl::XSpecifyPropertyPages::Release()\n5566 unsigned long COleControl::XViewObject::Release()\n5567 void CDC::ReleaseAttribDC()\n5568 void CString::ReleaseBuffer(int)\n5569 int COleControl::ReleaseCapture()\n5570 int COleControl::ReleaseDC(CDC *)\n5571 void COleDispatchDriver::ReleaseDispatch()\n5572 void CDocObjectServer::ReleaseDocSite()\n5573 void CDocument::ReleaseFile(CFile *,int)\n5574 void CFontHolder::ReleaseFont()\n5575 void CDC::ReleaseOutputDC()\n5576 void CMetaFileDC::ReleaseOutputDC()\n5577 void CPreviewDC::ReleaseOutputDC()\n5578 int COleClientItem::Reload()\n5579 void CFile::Remove(unsigned short const *)\n5580 int CFtpConnection::Remove(unsigned short const *)\n5581 void CPropertySection::Remove(unsigned long)\n5582 void CPropertySet::Remove(_GUID)\n5583 void CPropertySet::Remove(_GUID,unsigned long)\n5584 void CRecentFileList::Remove(int)\n5585 int CSimpleList::Remove(void *)\n5586 void CMapPtrToPtr::RemoveAll()\n5587 void CMapPtrToWord::RemoveAll()\n5588 void CMapStringToOb::RemoveAll()\n5589 void CMapStringToPtr::RemoveAll()\n5590 void CMapStringToString::RemoveAll()\n5591 void CMapWordToOb::RemoveAll()\n5592 void CMapWordToPtr::RemoveAll()\n5593 void CObList::RemoveAll()\n5594 void CPropertySection::RemoveAll()\n5595 void CPropertySet::RemoveAll()\n5596 void CPtrList::RemoveAll()\n5597 void CStringList::RemoveAll()\n5598 void CByteArray::RemoveAt(int,int)\n5599 void CDWordArray::RemoveAt(int,int)\n5600 void CObArray::RemoveAt(int,int)\n5601 void CObList::RemoveAt(__POSITION *)\n5602 void CPtrArray::RemoveAt(int,int)\n5603 void CPtrList::RemoveAt(__POSITION *)\n5604 void CStringArray::RemoveAt(int,int)\n5605 void CStringList::RemoveAt(__POSITION *)\n5606 void CUIntArray::RemoveAt(int,int)\n5607 void CWordArray::RemoveAt(int,int)\n5608 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5609 void CFrameWnd::RemoveControlBar(CControlBar *)\n5610 int CFtpConnection::RemoveDirectoryW(unsigned short const *)\n5611 void CDocTemplate::RemoveDocument(CDocument *)\n5612 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5613 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5614 void COleControl::RemoveFrameLevelUI()\n5615 void CFrameWnd::RemoveFrameWnd()\n5616 CObject * CObList::RemoveHead()\n5617 void * CPtrList::RemoveHead()\n5618 CString CStringList::RemoveHead()\n5619 void CListCtrl::RemoveImageList(int)\n5620 void CListView::RemoveImageList(int)\n5621 void CTreeCtrl::RemoveImageList(int)\n5622 void CTreeView::RemoveImageList(int)\n5623 void COleDocument::RemoveItem(CDocItem *)\n5624 int CMapPtrToPtr::RemoveKey(void *)\n5625 int CMapPtrToWord::RemoveKey(void *)\n5626 int CMapStringToOb::RemoveKey(unsigned short const *)\n5627 int CMapStringToPtr::RemoveKey(unsigned short const *)\n5628 int CMapStringToString::RemoveKey(unsigned short const *)\n5629 int CMapWordToOb::RemoveKey(unsigned short)\n5630 int CMapWordToPtr::RemoveKey(unsigned short)\n5631 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5632 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5633 void CPropertySheet::RemovePage(int)\n5634 void CPropertySheet::RemovePage(CPropertyPage *)\n5635 void CDockBar::RemovePlaceHolder(CControlBar *)\n5636 void CDataBoundProperty::RemoveSource()\n5637 CObject * CObList::RemoveTail()\n5638 void * CPtrList::RemoveTail()\n5639 CString CStringList::RemoveTail()\n5640 void CDocument::RemoveView(CView *)\n5641 void CFile::Rename(unsigned short const *,unsigned short const *)\n5642 int CFtpConnection::Rename(unsigned short const *,unsigned short const *)\n5643 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5644 void CDaoWorkspace::RepairDatabase(unsigned short const *)\n5645 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5646 void CDatabase::ReplaceBrackets(unsigned short *)\n5647 int CException::ReportError(unsigned int,unsigned int)\n5648 int COleClientItem::ReportError(long)const \n5649 void CDocument::ReportSaveLoadException(unsigned short const *,CException *,int,unsigned int)\n5650 void COleLinkingDoc::ReportSaveLoadException(unsigned short const *,CException *,int,unsigned int)\n5651 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5652 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5653 void CDaoRecordset::Requery()\n5654 int CRecordset::Requery()\n5655 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5656 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5657 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,unsigned short * *)\n5658 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5659 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5660 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5661 long CEnumArray::XEnumVOID::Reset()\n5662 void CRecordset::ResetCursor()\n5663 void CCachedDataPathProperty::ResetData()\n5664 void CDataPathProperty::ResetData()\n5665 void COleControl::ResetStockProps()\n5666 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5667 void COleControl::ResetVersion(unsigned long)\n5668 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5669 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5670 void COleControl::ResizeFrameWindow(int,int)\n5671 void COleSafeArray::ResizeOneDim(unsigned long)\n5672 void COleControl::ResizeOpenControl(int,int)\n5673 void CScrollView::ResizeParentToFit(int)\n5674 int CDC::RestoreDC(int)\n5675 int CPreviewDC::RestoreDC(int)\n5676 void CToolBarCtrl::RestoreState(HKEY__ *,unsigned short const *,unsigned short const *)\n5677 void CCmdTarget::RestoreWaitCursor()\n5678 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5679 int CString::ReverseFind(unsigned short)const \n5680 long CArchiveStream::Revert()\n5681 void COleDropTarget::Revoke()\n5682 void COleLinkingDoc::Revoke()\n5683 void COleMessageFilter::Revoke()\n5684 void COleObjectFactory::Revoke()\n5685 void COleObjectFactory::RevokeAll()\n5686 void RFX_Binary(CFieldExchange *,unsigned short const *,CByteArray &,int)\n5687 void RFX_Binary_Bulk(CFieldExchange *,unsigned short const *,unsigned char * *,long * *,int)\n5688 void RFX_Bool(CFieldExchange *,unsigned short const *,int &)\n5689 void RFX_Bool_Bulk(CFieldExchange *,unsigned short const *,int * *,long * *)\n5690 void RFX_Byte(CFieldExchange *,unsigned short const *,unsigned char &)\n5691 void RFX_Byte_Bulk(CFieldExchange *,unsigned short const *,unsigned char * *,long * *)\n5692 void RFX_Date(CFieldExchange *,unsigned short const *,tagTIMESTAMP_&)\n5693 void RFX_Date(CFieldExchange *,unsigned short const *,CTime &)\n5694 void RFX_Date_Bulk(CFieldExchange *,unsigned short const *,tagTIMESTAMP_* *,long * *)\n5695 void RFX_Double(CFieldExchange *,unsigned short const *,double &)\n5696 void RFX_Double_Bulk(CFieldExchange *,unsigned short const *,double * *,long * *)\n5697 void RFX_Int(CFieldExchange *,unsigned short const *,int &)\n5698 void RFX_Int_Bulk(CFieldExchange *,unsigned short const *,int * *,long * *)\n5699 void RFX_Long(CFieldExchange *,unsigned short const *,long &)\n5700 void RFX_Long_Bulk(CFieldExchange *,unsigned short const *,long * *,long * *)\n5701 void RFX_LongBinary(CFieldExchange *,unsigned short const *,CLongBinary &)\n5702 void RFX_Single(CFieldExchange *,unsigned short const *,float &)\n5703 void RFX_Single_Bulk(CFieldExchange *,unsigned short const *,float * *,long * *)\n5704 void RFX_Text(CFieldExchange *,unsigned short const *,CString &,int,int,short)\n5705 void RFX_Text_Bulk(CFieldExchange *,unsigned short const *,char * *,long * *,int)\n5706 CString CString::Right(int)const \n5707 void CDaoWorkspace::Rollback()\n5708 int CDatabase::Rollback()\n5709 void COleClientItem::Run()\n5710 int CWinApp::Run()\n5711 int CWinThread::Run()\n5712 int CWinApp::RunAutomated()\n5713 int CWinApp::RunEmbedded()\n5714 int CWnd::RunModalLoop(unsigned long)\n5715 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5716 int CEditView::SameAsSelected(unsigned short const *,int)\n5717 int CRichEditView::SameAsSelected(unsigned short const *,int,int)\n5718 long CBlobProperty::Save(IStream *,int)\n5719 long COleLinkingDoc::XPersistFile::Save(unsigned short const *,int)\n5720 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5721 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5722 long COleControl::XPersistStorage::Save(IStorage *,int)\n5723 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5724 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5725 int CDocManager::SaveAllModified()\n5726 int CDocTemplate::SaveAllModified()\n5727 int CWinApp::SaveAllModified()\n5728 void CFrameWnd::SaveBarState(unsigned short const *)const \n5729 long COleLinkingDoc::XPersistFile::SaveCompleted(unsigned short const *)\n5730 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5731 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5732 int CDC::SaveDC()\n5733 int CPreviewDC::SaveDC()\n5734 void COleServerDoc::SaveEmbedding()\n5735 int CFormView::SaveFocusControl()\n5736 int CDocument::SaveModified()\n5737 int COleDocument::SaveModified()\n5738 int COleServerDoc::SaveModified()\n5739 int COleServerDoc::SaveModifiedPrompt()\n5740 long COleClientItem::XOleClientSite::SaveObject()\n5741 long COleControlSite::XOleClientSite::SaveObject()\n5742 int CControlBarInfo::SaveState(unsigned short const *,int)\n5743 void CDockState::SaveState(unsigned short const *)\n5744 long COleControl::SaveState(IStream *)\n5745 void CToolBarCtrl::SaveState(HKEY__ *,unsigned short const *,unsigned short const *)\n5746 void CWinApp::SaveStdProfileSettings()\n5747 void COleDocument::SaveToStorage(CObject *)\n5748 void COleLinkingDoc::SaveToStorage(CObject *)\n5749 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5750 void CDockState::ScalePoint(CPoint &)\n5751 void CDockState::ScaleRectPos(CRect &)\n5752 CSize CDC::ScaleViewportExt(int,int,int,int)\n5753 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5754 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5755 CSize CDC::ScaleWindowExt(int,int,int,int)\n5756 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5757 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5758 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5759 void COleControlContainer::ScrollChildren(int,int)\n5760 int COleServerDoc::ScrollContainerBy(CSize)\n5761 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5762 void CScrollView::ScrollToPosition(tagPOINT)\n5763 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5764 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5765 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5766 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5767 int CDaoRecordset::Seek(unsigned short const *,COleVariant *,COleVariant *,COleVariant *)\n5768 int CDaoRecordset::Seek(unsigned short const *,COleVariant *,unsigned short)\n5769 long CFile::Seek(long,unsigned int)\n5770 long CInternetFile::Seek(long,unsigned int)\n5771 long CMemFile::Seek(long,unsigned int)\n5772 long COleStreamFile::Seek(long,unsigned int)\n5773 long CSocketFile::Seek(long,unsigned int)\n5774 long CStdioFile::Seek(long,unsigned int)\n5775 CFont * CFontHolder::Select(CDC *,long,long)\n5776 int CDC::SelectClipPath(int)\n5777 int CDC::SelectClipRgn(CRgn *)\n5778 int CDC::SelectClipRgn(CRgn *,int)\n5779 void CFontPropPage::SelectFontFromList(CString,tagMERGEOBJECT *)\n5780 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5781 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5782 int CDC::SelectObject(CRgn *)\n5783 CBrush * CDC::SelectObject(CBrush *)\n5784 CPen * CDC::SelectObject(CPen *)\n5785 CFont * CDC::SelectObject(CFont *)\n5786 CFont * CPreviewDC::SelectObject(CFont *)\n5787 CPalette * CDC::SelectPalette(CPalette *,int)\n5788 void CWinApp::SelectPrinter(void *,void *,int)\n5789 CFont * COleControl::SelectStockFont(CDC *)\n5790 CGdiObject * CDC::SelectStockObject(int)\n5791 CGdiObject * CPreviewDC::SelectStockObject(int)\n5792 int CAsyncSocket::Send(void const *,int,int)\n5793 int CSocket::Send(void const *,int,int)\n5794 void COleControl::SendAdvise(unsigned int)\n5795 int CWnd::SendChildNotifyLastMsg(long *)\n5796 int CSocket::SendChunk(void const *,int,int)\n5797 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5798 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5799 void CDocument::SendInitialUpdate()\n5800 void CRecordset::SendLongBinaryData(void *)\n5801 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5802 void COleControlSite::SendMnemonic(tagMSG *)\n5803 int CHttpFile::SendRequest(CString &,void *,unsigned long)\n5804 int CHttpFile::SendRequest(unsigned short const *,unsigned long,void *,unsigned long)\n5805 int CAsyncSocket::SendTo(void const *,int,unsigned int,unsigned short const *,int)\n5806 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5807 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5808 void CByteArray::Serialize(CArchive &)\n5809 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5810 void CDocItem::Serialize(CArchive &)\n5811 void CDockState::Serialize(CArchive &)\n5812 void CDWordArray::Serialize(CArchive &)\n5813 void CEditView::Serialize(CArchive &)\n5814 void CMapStringToOb::Serialize(CArchive &)\n5815 void CMapStringToString::Serialize(CArchive &)\n5816 void CMapWordToOb::Serialize(CArchive &)\n5817 void CObArray::Serialize(CArchive &)\n5818 void CObject::Serialize(CArchive &)\n5819 void CObList::Serialize(CArchive &)\n5820 void COleClientItem::Serialize(CArchive &)\n5821 void COleControl::Serialize(CArchive &)\n5822 void COleDocument::Serialize(CArchive &)\n5823 void CRichEditDoc::Serialize(CArchive &)\n5824 void CRichEditView::Serialize(CArchive &)\n5825 void CStringArray::Serialize(CArchive &)\n5826 void CStringList::Serialize(CArchive &)\n5827 void CWordArray::Serialize(CArchive &)\n5828 void CArchive::SerializeClass(CRuntimeconst *)\n5829 void SerializeElements(CArchive &,COleVariant *,int)\n5830 void SerializeElements(CArchive &,CString *,int)\n5831 void COleControl::SerializeExtent(CArchive &)\n5832 void CEditView::SerializeRaw(CArchive &)\n5833 void COleControl::SerializeStockProps(CArchive &)\n5834 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5835 int CProperty::Set(unsigned long,void * const,unsigned long)\n5836 int CProperty::Set(void * const)\n5837 int CProperty::Set(void * const,unsigned long)\n5838 int CPropertySection::Set(unsigned long,void *)\n5839 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5840 int CPropertySet::Set(_GUID,unsigned long,void *)\n5841 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5842 void CDaoRecordset::SetAbsolutePosition(long)\n5843 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,unsigned short const *)\n5844 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,unsigned short const *)\n5845 int CPropertySheet::SetActivePage(int)\n5846 int CPropertySheet::SetActivePage(CPropertyPage *)\n5847 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5848 void CFrameWnd::SetActiveView(CView *,int)\n5849 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5850 void COleControl::SetAppearance(short)\n5851 int CDC::SetArcDirection(int)\n5852 void CString::SetAt(int,unsigned short)\n5853 void CByteArray::SetAtGrow(int,unsigned char)\n5854 void CDWordArray::SetAtGrow(int,unsigned long)\n5855 void CObArray::SetAtGrow(int,CObject *)\n5856 void CPtrArray::SetAtGrow(int,void *)\n5857 void CStringArray::SetAtGrow(int,unsigned short const *)\n5858 void CUIntArray::SetAtGrow(int,unsigned int)\n5859 void CWordArray::SetAtGrow(int,unsigned short)\n5860 void CDC::SetAttribDC(HDC__ *)\n5861 void CMetaFileDC::SetAttribDC(HDC__ *)\n5862 void CPreviewDC::SetAttribDC(HDC__ *)\n5863 void CDaoTableDef::SetAttributes(long)\n5864 void COleControl::SetBackColor(unsigned long)\n5865 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5866 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5867 void CControlBar::SetBarStyle(unsigned long)\n5868 int CToolBar::SetBitmap(HBITMAP__ *)\n5869 unsigned long CDC::SetBkColor(unsigned long)\n5870 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5871 int CDC::SetBkMode(int)\n5872 void CDaoRecordset::SetBookmark(COleVariant)\n5873 void CRecordset::SetBookmark(CDBVariant const &)\n5874 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5875 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5876 void COleControl::SetBorderStyle(short)\n5877 void CColorPropPage::SetButton(CColorButton *)\n5878 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5879 int CToolBar::SetButtons(unsigned int const *,int)\n5880 void CToolBar::SetButtonStyle(int,unsigned int)\n5881 int CToolBar::SetButtonText(int,unsigned short const *)\n5882 void CDaoRecordset::SetCacheSize(long)\n5883 void CDaoRecordset::SetCacheStart(COleVariant)\n5884 CWnd * COleControl::SetCapture()\n5885 void CRichEditView::SetCharFormat(_charformat)\n5886 void CCheckListBox::SetCheck(int,int)\n5887 void CCmdUI::SetCheck(int)\n5888 void COleCmdUI::SetCheck(int)\n5889 void CStatusCmdUI::SetCheck(int)\n5890 void CTestCmdUI::SetCheck(int)\n5891 void CToolCmdUI::SetCheck(int)\n5892 void CCheckListBox::SetCheckStyle(unsigned int)\n5893 void CPropertySet::SetClassID(_GUID)\n5894 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5895 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5896 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5897 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5898 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5899 void COleDataSource::SetClipboard()\n5900 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5901 int CColorPropPage::SetColorProp(CDataExchange *,unsigned long,unsigned short const *)\n5902 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5903 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5904 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5905 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5906 void CSplitterWnd::SetColumnInfo(int,int,int)\n5907 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5908 void CDaoQueryDef::SetConnect(unsigned short const *)\n5909 void CDaoTableDef::SetConnect(unsigned short const *)\n5910 void CDocTemplate::SetContainerInfo(unsigned int)\n5911 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5912 void CReflectorWnd::SetControl(COleControl *)\n5913 int COleControl::SetControlSize(int,int)\n5914 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5915 void CFileDialog::SetControlText(int,char const *)\n5916 void COleCurrency::SetCurrency(long,long)\n5917 void CColorDialog::SetCurrentColor(unsigned long)\n5918 int CFtpConnection::SetCurrentDirectoryW(unsigned short const *)\n5919 void CWinApp::SetCurrentHandles()\n5920 void CDaoRecordset::SetCurrentIndex(unsigned short const *)\n5921 void CPreviewView::SetCurrentPage(unsigned int,int)\n5922 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5923 void CDaoRecordset::SetCursorAttributes()\n5924 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5925 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5926 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5927 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5928 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5929 int COleDateTime::SetDateTime(int,int,int,int,int,int)\n5930 void COleDateTimeSpan::SetDateTimeSpan(long,int,int,int)\n5931 void COccManager::SetDefaultButton(CWnd *,int)\n5932 void COleControlSite::SetDefaultButton(int)\n5933 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n5934 void CDaoWorkspace::SetDefaultPassword(unsigned short const *)\n5935 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5936 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5937 void CDaoWorkspace::SetDefaultUser(unsigned short const *)\n5938 void CFileDialog::SetDefExt(char const *)\n5939 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n5940 void COlePropertyPage::SetDialogResource(void *)\n5941 void CDaoRecordset::SetDirtyFields()\n5942 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n5943 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5944 int COleControlSite::SetDlgCtrlID(int)\n5945 int CWnd::SetDlgCtrlID(int)\n5946 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5947 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5948 void COleControlContainer::SetDlgItemTextW(int,unsigned short const *)\n5949 void CWnd::SetDlgItemTextW(int,unsigned short const *)\n5950 void CFrameWnd::SetDockState(CDockState const &)\n5951 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5952 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5953 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5954 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5955 void COleControl::SetEnabled(int)\n5956 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5957 int COleControlSite::SetExtent()\n5958 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5959 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5960 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5961 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5962 void CColorButton::SetFaceColor(unsigned long)\n5963 void CDaoRecordset::SetFieldDirty(void *,int)\n5964 void CRecordset::SetFieldDirty(void *,int)\n5965 void CDaoRecordset::SetFieldNull(void *,int)\n5966 void CRecordset::SetFieldNull(void *,int)\n5967 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5968 void CDaoRecordset::SetFieldValue(int,unsigned short const *)\n5969 void CDaoRecordset::SetFieldValue(unsigned short const *,unsigned short const *)\n5970 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n5971 void CDaoRecordset::SetFieldValue(unsigned short const *,COleVariant const &)\n5972 void CDaoRecordset::SetFieldValueNull(int)\n5973 void CDaoRecordset::SetFieldValueNull(unsigned short const *)\n5974 void CFile::SetFilePath(unsigned short const *)\n5975 CWnd * COleControl::SetFocus()\n5976 CWnd * COleControlSite::SetFocus()\n5977 CWnd * CWnd::SetFocus()\n5978 int CDialogTemplate::SetFont(unsigned short const *,unsigned short)\n5979 void CFontHolder::SetFont(IFont *)\n5980 void COleControl::SetFont(IFontDisp *)\n5981 int CFontPropPage::SetFontProps(CDataExchange *,tagFONTOBJECT,unsigned short const *)\n5982 void COleControl::SetForeColor(unsigned long)\n5983 void CPropertySection::SetFormatID(_GUID)\n5984 void CPropertySet::SetFormatVersion(unsigned short)\n5985 void CSharedFile::SetHandle(void *,int)\n5986 void CToolBar::SetHeight(int)\n5987 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5988 void COlePropertyPage::SetHelpInfo(unsigned short const *,unsigned short const *,unsigned long)\n5989 void COleClientItem::SetHostNames(unsigned short const *,unsigned short const *)\n5990 long CDocObjectServer::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5991 long COleControl::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5992 long COleServerDoc::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5993 long COleServerItem::XOleObject::SetHostNames(unsigned short const *,unsigned short const *)\n5994 int COleClientItem::SetIconicMetafile(void *)\n5995 void CProperty::SetID(unsigned long)\n5996 int CStatusBar::SetIndicators(unsigned int const *,int)\n5997 void CDaoWorkspace::SetIniPath(unsigned short const *)\n5998 void COleControl::SetInitialDataFormats()\n5999 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n6000 void COleControl::SetInitialSize(int,int)\n6001 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n6002 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6003 int CListCtrl::SetItem(int,int,unsigned int,unsigned short const *,int,unsigned int,unsigned int,long)\n6004 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,unsigned short const *,int,int,unsigned int,unsigned int,long)\n6005 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n6006 void CFile::SetLength(unsigned long)\n6007 void CInternetFile::SetLength(unsigned long)\n6008 void CMemFile::SetLength(unsigned long)\n6009 void COleStreamFile::SetLength(unsigned long)\n6010 void CSocketFile::SetLength(unsigned long)\n6011 long COleUILinkInfo::SetLinkSource(unsigned long,unsigned short *,unsigned long,unsigned long *,int)\n6012 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n6013 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n6014 void CDaoRecordset::SetLockingMode(int)\n6015 void CRecordset::SetLockingMode(unsigned int)\n6016 void CDaoWorkspace::SetLoginTimeout(short)\n6017 int CDC::SetMapMode(int)\n6018 int CPreviewDC::SetMapMode(int)\n6019 unsigned long CDC::SetMapperFlags(unsigned long)\n6020 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6021 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6022 void CFrameWnd::SetMessageText(unsigned int)\n6023 void CFrameWnd::SetMessageText(unsigned short const *)\n6024 void CPropertyPage::SetModified(int)\n6025 void CDocument::SetModifiedFlag(int)\n6026 void COleControl::SetModifiedFlag(int)\n6027 void COlePropertyPage::SetModifiedFlag(int)\n6028 void CRichEditDoc::SetModifiedFlag(int)\n6029 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6030 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6031 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6032 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6033 void CDaoQueryDef::SetName(unsigned short const *)\n6034 void CDaoTableDef::SetName(unsigned short const *)\n6035 int CPropertySection::SetName(unsigned long,unsigned short const *)\n6036 void COleControl::SetNotPermitted()\n6037 void CCmdTarget::SetNotSupported()\n6038 void COleControl::SetNotSupported()\n6039 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6040 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6041 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6042 void CRecordset::SetNullFieldStatus(unsigned long)\n6043 void CRecordset::SetNullParamStatus(unsigned long)\n6044 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6045 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6046 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6047 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n6048 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6049 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6050 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6051 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6052 void CDaoQueryDef::SetODBCTimeout(short)\n6053 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6054 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6055 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6056 void CPropertySet::SetOSVersion(unsigned long)\n6057 void CDC::SetOutputDC(HDC__ *)\n6058 void CMetaFileDC::SetOutputDC(HDC__ *)\n6059 void CPreviewDC::SetOutputDC(HDC__ *)\n6060 void CToolBar::SetOwner(CWnd *)\n6061 void COlePropertyPage::SetPageName(unsigned short const *)\n6062 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n6063 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n6064 void CStatusBar::SetPaneStyle(int,unsigned int)\n6065 int CStatusBar::SetPaneText(int,unsigned short const *,int)\n6066 int CRichEditCtrl::SetParaFormat(_paraformat &)\n6067 int CRichEditView::SetParaFormat(_paraformat &)\n6068 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6069 void CDaoQueryDef::SetParamValue(unsigned short const *,COleVariant const &)\n6070 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6071 void CDaoRecordset::SetParamValue(unsigned short const *,COleVariant const &)\n6072 void CDaoQueryDef::SetParamValueNull(int)\n6073 void CDaoQueryDef::SetParamValueNull(unsigned short const *)\n6074 void CDaoRecordset::SetParamValueNull(int)\n6075 void CDaoRecordset::SetParamValueNull(unsigned short const *)\n6076 void CDocument::SetPathName(unsigned short const *,int)\n6077 void COleDocument::SetPathName(unsigned short const *,int)\n6078 void CRichEditDoc::SetPathName(unsigned short const *,int)\n6079 void CDaoRecordset::SetPercentPosition(float)\n6080 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n6081 int CPicturePropPage::SetPictureProp(CDataExchange *,IPictureDisp *,unsigned short const *)\n6082 int CDC::SetPolyFillMode(int)\n6083 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n6084 int COleClientItem::SetPrintDevice(tagPDW const *)\n6085 void CEditView::SetPrinterFont(CFont *)\n6086 int CPreviewView::SetPrintView(CView *)\n6087 int COlePropertyPage::SetPropCheck(unsigned short const *,int)\n6088 void COleControlSite::SetProperty(long,unsigned short,...)\n6089 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n6090 void CWnd::SetProperty(long,unsigned short,...)\n6091 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n6092 int COlePropertyPage::SetPropIndex(unsigned short const *,int)\n6093 int COlePropertyPage::SetPropRadio(unsigned short const *,int)\n6094 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n6095 int COlePropertyPage::SetPropText(unsigned short const *,unsigned char &)\n6096 int COlePropertyPage::SetPropText(unsigned short const *,short &)\n6097 int COlePropertyPage::SetPropText(unsigned short const *,int &)\n6098 int COlePropertyPage::SetPropText(unsigned short const *,unsigned int &)\n6099 int COlePropertyPage::SetPropText(unsigned short const *,long &)\n6100 int COlePropertyPage::SetPropText(unsigned short const *,unsigned long &)\n6101 int COlePropertyPage::SetPropText(unsigned short const *,float &)\n6102 int COlePropertyPage::SetPropText(unsigned short const *,double &)\n6103 int COlePropertyPage::SetPropText(unsigned short const *,CString &)\n6104 void CDaoDatabase::SetQueryTimeout(short)\n6105 void CCmdUI::SetRadio(int)\n6106 void CTestCmdUI::SetRadio(int)\n6107 void CSliderCtrl::SetRange(int,int,int)\n6108 int CInternetFile::SetReadBufferSize(unsigned int)\n6109 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n6110 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n6111 int COleControl::SetRectInContainer(tagRECT const *)\n6112 void CWinApp::SetRegistryKey(unsigned int)\n6113 void CWinApp::SetRegistryKey(unsigned short const *)\n6114 void CDaoQueryDef::SetReturnsRecords(int)\n6115 int CDC::SetROP2(int)\n6116 void CSplitterWnd::SetRowInfo(int,int,int)\n6117 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n6118 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n6119 void CRecordset::SetRowsetSize(unsigned long)\n6120 void CPreviewView::SetScaledSize(unsigned int)\n6121 void CPreviewDC::SetScaleRatio(int,int)\n6122 void CScrollView::SetScaleToFitSize(tagSIZE)\n6123 void CDockState::SetScreenSize(CSize &)\n6124 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n6125 int CWnd::SetScrollPos(int,int,int)\n6126 void CWnd::SetScrollRange(int,int,int,int)\n6127 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n6128 void CSplitterWnd::SetScrollStyle(unsigned long)\n6129 int CPropertySection::SetSectionName(unsigned short const *)\n6130 void CRichEditCtrl::SetSel(long,long)\n6131 void CSliderCtrl::SetSelection(int,int)\n6132 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n6133 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6134 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6135 void CByteArray::SetSize(int,int)\n6136 void CDWordArray::SetSize(int,int)\n6137 void CObArray::SetSize(int,int)\n6138 void CPtrArray::SetSize(int,int)\n6139 void CStringArray::SetSize(int,int)\n6140 void CUIntArray::SetSize(int,int)\n6141 void CWordArray::SetSize(int,int)\n6142 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6143 void CDaoTableDef::SetSourceTableName(unsigned short const *)\n6144 void CSplitterWnd::SetSplitCursor(int)\n6145 void CDaoQueryDef::SetSQL(unsigned short const *)\n6146 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6147 void CColorButton::SetState(int)\n6148 void CRecordset::SetState(int,unsigned short const *,unsigned long)\n6149 void CFile::SetStatus(unsigned short const *,CFileStatus const &)\n6150 int CControlBar::SetStatusText(int)\n6151 long COleFrameHook::XOleInPlaceFrame::SetStatusText(unsigned short const *)\n6152 long COleControlContainer::XOleIPFrame::SetStatusText(unsigned short const *)\n6153 int CDC::SetStretchBltMode(int)\n6154 void COleVariant::SetString(unsigned short const *,unsigned short)\n6155 unsigned short * CString::SetSysString(unsigned short * *)const \n6156 int CDialogTemplate::SetSystemFont(unsigned short)\n6157 void CEditView::SetTabStops(int)\n6158 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6159 void CFileDialog::SetTemplate(unsigned short const *,unsigned short const *)\n6160 void CCmdUI::SetText(unsigned short const *)\n6161 void COleCmdUI::SetText(unsigned short const *)\n6162 void COleControl::SetText(unsigned short const *)\n6163 void CStatusCmdUI::SetText(unsigned short const *)\n6164 void CTestCmdUI::SetText(unsigned short const *)\n6165 void CToolCmdUI::SetText(unsigned short const *)\n6166 unsigned int CDC::SetTextAlign(unsigned int)\n6167 int CDC::SetTextCharacterExtra(int)\n6168 unsigned long CDC::SetTextColor(unsigned long)\n6169 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6170 int CDC::SetTextJustification(int,int)\n6171 void CDocument::SetTitle(unsigned short const *)\n6172 void CPropertySheet::SetTitle(unsigned short const *,unsigned int)\n6173 void CRichEditDoc::SetTitle(unsigned short const *)\n6174 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6175 void CPreviewDC::SetTopLeftOffset(CSize)\n6176 void CProperty::SetType(unsigned long)\n6177 void CRecordset::SetUpdateMethod()\n6178 void CDaoTableDef::SetValidationRule(unsigned short const *)\n6179 void CDaoTableDef::SetValidationText(unsigned short const *)\n6180 void CThreadSlotData::SetValue(int,void *)\n6181 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6182 CSize CDC::SetViewportExt(int,int)\n6183 CSize CMetaFileDC::SetViewportExt(int,int)\n6184 CSize CPreviewDC::SetViewportExt(int,int)\n6185 CPoint CDC::SetViewportOrg(int,int)\n6186 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6187 CPoint CPreviewDC::SetViewportOrg(int,int)\n6188 CSize CDC::SetWindowExt(int,int)\n6189 CSize CPreviewDC::SetWindowExt(int,int)\n6190 CPoint CDC::SetWindowOrg(int,int)\n6191 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6192 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6193 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6194 void COleControlSite::SetWindowTextW(unsigned short const *)\n6195 void CWnd::SetWindowTextW(unsigned short const *)\n6196 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n6197 int CInternetFile::SetWriteBufferSize(unsigned int)\n6198 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6199 long CDocObjectServer::XOleDocumentView::Show(int)\n6200 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6201 void CDockBar::ShowAll(int)\n6202 long CRichEditCntrItem::ShowContainerUI(int)\n6203 long CRichEditView::ShowContainerUI(int)\n6204 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6205 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6206 long COleClientItem::XOleClientSite::ShowObject()\n6207 long COleControlSite::XOleClientSite::ShowObject()\n6208 void CFrameWnd::ShowOwnedWindows(int)\n6209 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6210 int COleControlSite::ShowWindow(int)\n6211 int CWnd::ShowWindow(int)\n6212 tagSIZE const CScrollView::sizeDefault\n6213 void CBitmapButton::SizeToContent()\n6214 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6215 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6216 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6217 int CAsyncSocket::Socket(int,long,int,int)\n6218 CString CString::SpanExcluding(unsigned short const *)const \n6219 CString CString::SpanIncluding(unsigned short const *)const \n6220 int CSplitterWnd::SplitColumn(int)\n6221 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6222 int CSplitterWnd::SplitRow(int)\n6223 int CDC::StartDocW(unsigned short const *)\n6224 void CDockContext::StartDrag(CPoint)\n6225 void CDockContext::StartResize(int,CPoint)\n6226 void CSplitterWnd::StartTracking(int)\n6227 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6228 void CSplitterWnd::StopTracking(int)\n6229 void CRuntimeClass::Store(CArchive &)const \n6230 void CDaoRecordset::StoreFields()\n6231 void CRecordset::StoreFields()\n6232 void CRichEditView::Stream(CArchive &,int)\n6233 void CDockContext::Stretch(CPoint)\n6234 void CDaoRecordset::StripBrackets(unsigned short const *,unsigned short *)\n6235 int CWnd::SubclassCtl3d(int)\n6236 int CWnd::SubclassDlg3d(unsigned long)\n6237 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6238 int CWnd::SubclassWindow(HWND__ *)\n6239 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6240 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6241 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6242 CSize CDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n6243 CSize CMetaFileDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n6244 CSize CPreviewDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n6245 void CRichEditView::TextNotFound(unsigned short const *)\n6246 int CDC::TextOutW(int,int,unsigned short const *,int)\n6247 int CMetaFileDC::TextOutW(int,int,unsigned short const *,int)\n6248 int CPreviewDC::TextOutW(int,int,unsigned short const *,int)\n6249 void CDaoDatabase::ThrowDaoException(int)\n6250 void CDaoQueryDef::ThrowDaoException(int)\n6251 void CDaoRecordset::ThrowDaoException(int)\n6252 void CDaoTableDef::ThrowDaoException(int)\n6253 void CDaoWorkspace::ThrowDaoException(int)\n6254 void CDatabase::ThrowDBException(short)\n6255 void CRecordset::ThrowDBException(short,void *)\n6256 void CFileException::ThrowErrno(int,unsigned short const *)\n6257 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6258 void COleControl::ThrowError(long,unsigned short const *,unsigned int)\n6259 void ThrowGetRowsDaoException(long)\n6260 void CFileException::ThrowOsError(long,unsigned short const *)\n6261 void CDockContext::ToggleDocking()\n6262 int CDockContext::Track()\n6263 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6264 void CSplitterWnd::TrackColumnSize(int,int)\n6265 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6266 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6267 void CSplitterWnd::TrackRowSize(int,int)\n6268 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6269 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6270 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6271 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n6272 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6273 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6274 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6275 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6276 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n6277 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6278 void CString::TrimLeft()\n6279 void CString::TrimRight()\n6280 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6281 void COccManager::UIActivateControl(CWnd *)\n6282 long COleControl::XOleInPlaceObject::UIDeactivate()\n6283 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6284 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6285 void COleSafeArray::UnaccessData()\n6286 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6287 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6288 long COleControl::XOleObject::Unadvise(unsigned long)\n6289 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6290 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6291 void CRecordset::UnbindFieldsForUpdate()\n6292 long COleControl::XOleCache::Uncache(unsigned long)\n6293 long COleControl::XViewObject::Unfreeze(unsigned long)\n6294 int CCriticalSection::Unlock()\n6295 int CEvent::Unlock()\n6296 int CMultiLock::Unlock(long,long *)\n6297 int CMultiLock::Unlock()\n6298 int CMutex::Unlock()\n6299 void COleSafeArray::Unlock()\n6300 int CSemaphore::Unlock(long,long *)\n6301 int CSemaphore::Unlock()\n6302 int CSingleLock::Unlock(long,long *)\n6303 int CSingleLock::Unlock()\n6304 int CSyncObject::Unlock(long,long *)\n6305 void CTypeLibCache::Unlock()\n6306 void CEditView::UnlockBuffer()const \n6307 void CString::UnlockBuffer()\n6308 void CFile::UnlockRange(unsigned long,unsigned long)\n6309 void CInternetFile::UnlockRange(unsigned long,unsigned long)\n6310 void CMemFile::UnlockRange(unsigned long,unsigned long)\n6311 void COleStreamFile::UnlockRange(unsigned long,unsigned long)\n6312 void CSocketFile::UnlockRange(unsigned long,unsigned long)\n6313 void CStdioFile::UnlockRange(unsigned long,unsigned long)\n6314 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6315 int CWinApp::Unregister()\n6316 HWND__ * CWnd::UnsubclassWindow()\n6317 void CDaoRecordset::Update()\n6318 int CRecordset::Update()\n6319 long CDocObjectServer::XOleObject::Update()\n6320 long COleControl::XOleObject::Update()\n6321 long COleServerDoc::XOleObject::Update()\n6322 long COleServerItem::XOleObject::Update()\n6323 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6324 void CStatusBar::UpdateAllPanes(int,int)\n6325 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6326 void CScrollView::UpdateBars()\n6327 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6328 long CDataSourceControl::UpdateControls()\n6329 long CDataSourceControl::UpdateCursor()\n6330 int CWnd::UpdateData(int)\n6331 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6332 void CDocument::UpdateFrameCounts()\n6333 void CFrameWnd::UpdateFrameTitleForDocument(unsigned short const *)\n6334 int CRecordset::UpdateInsertDelete()\n6335 void COleClientItem::UpdateItemType()\n6336 int COleClientItem::UpdateLink()\n6337 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6338 void CSizeComboBox::UpdateLogFont(tagLOGFONTW *,int)\n6339 void CRecentFileList::UpdateMenu(CCmdUI *)\n6340 void COleDocument::UpdateModifiedFlag()\n6341 void CRichEditDoc::UpdateModifiedFlag()\n6342 void CRichEditDoc::UpdateObjectCache()\n6343 void CWinApp::UpdatePrinterSelection(int)\n6344 int CColorPropPage::CColorPropPageFactory::UpdateRegistry(int)\n6345 int CFontPropPage::CFontPropPageFactory::UpdateRegistry(int)\n6346 int COleObjectFactory::UpdateRegistry(int)\n6347 void COleObjectFactory::UpdateRegistry(unsigned short const *)\n6348 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,unsigned short const * *,unsigned short const * *)\n6349 int CPicturePropPage::CPicturePropPageFactory::UpdateRegistry(int)\n6350 int COleObjectFactory::UpdateRegistryAll(int)\n6351 void CFontPropPage::UpdateSampleFont()\n6352 void CDockContext::UpdateState(int *,int)\n6353 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6354 void CToolTipCtrl::UpdateTipText(unsigned short const *,CWnd *,unsigned int)\n6355 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6356 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6357 void CDatabase::VerifyConnect()\n6358 unsigned long CRecordset::VerifyCursorSupport()\n6359 void CRecordset::VerifyDriverBehavior()\n6360 int COleObjectFactory::VerifyLicenseKey(unsigned short *)\n6361 int COleObjectFactory::VerifyUserLicense()\n6362 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6363 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6364 int COleControl::WillAmbientsBeValidDuringLoad()\n6365 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6366 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6367 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6368 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6369 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6370 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6371 void CWinApp::WinHelpW(unsigned long,unsigned int)\n6372 void CWnd::WinHelpW(unsigned long,unsigned int)\n6373 CWnd const CWnd::wndBottom\n6374 CWnd const CWnd::wndNoTopMost\n6375 CWnd const CWnd::wndTop\n6376 CWnd const CWnd::wndTopMost\n6377 void CRichEditView::WrapChanged()\n6378 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6379 void CArchive::Write(void const *,unsigned int)\n6380 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6381 void CFile::Write(void const *,unsigned int)\n6382 void CGopherFile::Write(void const *,unsigned int)\n6383 int CImageList::Write(CArchive *)\n6384 void CInternetFile::Write(void const *,unsigned int)\n6385 void CMemFile::Write(void const *,unsigned int)\n6386 void COleStreamFile::Write(void const *,unsigned int)\n6387 void CSocketFile::Write(void const *,unsigned int)\n6388 void CStdioFile::Write(void const *,unsigned int)\n6389 void CArchive::WriteClass(CRuntimeconst *)\n6390 void CArchive::WriteCount(unsigned long)\n6391 void COleClientItem::WriteItem(CArchive &)\n6392 void COleClientItem::WriteItemCompound(CArchive &)\n6393 void COleClientItem::WriteItemFlat(CArchive &)\n6394 void CRecentFileList::WriteList()\n6395 int CPropertySection::WriteNameDictToStream(IStream *)\n6396 void CArchive::WriteObject(CObject const *)\n6397 int CWinApp::WriteProfileBinary(unsigned short const *,unsigned short const *,unsigned char *,unsigned int)\n6398 int CWinApp::WriteProfileInt(unsigned short const *,unsigned short const *,int)\n6399 int CWinApp::WriteProfileStringW(unsigned short const *,unsigned short const *,unsigned short const *)\n6400 void CArchive::WriteString(unsigned short const *)\n6401 void CGopherFile::WriteString(unsigned short const *)\n6402 void CInternetFile::WriteString(unsigned short const *)\n6403 void CStdioFile::WriteString(unsigned short const *)\n6404 void CEditView::WriteToArchive(CArchive &)\n6405 int CProperty::WriteToStream(IStream *)\n6406 int CPropertySection::WriteToStream(IStream *)\n6407 int CPropertySet::WriteToStream(IStream *)\n6408 afxChNil\n6409 CHttpConnection::CHttpConnection(CInternetSession *,unsigned short const *,unsigned long,unsigned short,unsigned short const *,unsigned short const *,unsigned long)\n6410 _CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>::~_CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>()\n6411 _CIP<IUnknown,&_GUID const IID_IUnknown>::~_CIP<IUnknown,&_GUID const IID_IUnknown>()\n6412 CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>::~CIP<IBindStatusCallback,&_GUID const IID_IBindStatusCallback>()\n6413 CIP<IUnknown,&_GUID const IID_IUnknown>::~CIP<IUnknown,&_GUID const IID_IUnknown>()\n6414 int AfxParseURLEx(unsigned short const *,unsigned long &,CString &,CString &,unsigned short &,CString &,CString &,unsigned long)\n6417 CRuntimeconst CInternetException::classCInternetException\n6418 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n6419 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n6420 void CAsyncMonikerFile::EndCallbacks()\n6421 void CMonikerFile::Flush()\n6422 CHttpConnection * CInternetSession::GetHttpConnection(unsigned short const *,unsigned long,unsigned short,unsigned short const *,unsigned short const *)\n6423 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n6424 CColorPropPage::CColorPropPageFactory::CColorPropPageFactory(_GUID const &,CRuntime*,int,unsigned short const *)\n6425 CEnumConnections::CEnumConnections(void const *,unsigned int)\n6426 CFontPropPage::CFontPropPageFactory::CFontPropPageFactory(_GUID const &,CRuntime*,int,unsigned short const *)\n6427 CPicturePropPage::CPicturePropPageFactory::CPicturePropPageFactory(_GUID const &,CRuntime*,int,unsigned short const *)\n6428 Duplicate1_??1?$CIP@UIStream@@$1?IID_IStream@@3U_GUID@@B@@QAE@XZ\n6429 CEnumConnections::~CEnumConnections()\n6430 int _AfxDeleteRegKey(unsigned short const *)\n6431 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n6432 void AfxGetDefaultValue(_DAOField *,CString &)\n6433 int AfxInitRichEdit()\n6434 int AfxOleUnregisterHelper(unsigned short const * const *,unsigned short const * const *,int,HKEY__ *)\n6435 int AfxOleUnregisterServerClass(_GUID const &,unsigned short const *,unsigned short const *,unsigned short const *,enum OLE_APPTYPE,unsigned short const * *,unsigned short const * *)\n6436 void AfxSetDefaultValue(_DAOField *,CString &)\n6437 int CWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n6438 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n6439 Duplicate1_?FindAndSelect@CRichEditView@@QAEJKAAU_findtextexa@@@Z\n6440 void COleControlContainer::FreezeAllEvents(int)\n6441 void COleControlSite::FreezeEvents(int)\n6442 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n6443 unsigned int HashKey(char const *)\n6444 AFX_INTERFACEMAP const COleControlContainer::interfaceMap\n6445 AFX_INTERFACEMAP const COleControlSite::interfaceMap\n6446 int CBitmap::LoadBitmapW(unsigned int)\n6447 unsigned short const * OLE2CT(unsigned short const *)\n6448 CEnumArray * CEnumConnections::OnClone()\n6449 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6450 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6451 void CWnd::OnDestroy()\n6452 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6453 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6454 int CEnumConnections::OnNext(void *)\n6455 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6456 void CWnd::OnSettingChange(unsigned int,unsigned short const *)\n6457 void CRecordset::SetParamNull(int,int)\n6458 unsigned short * T2OLE(unsigned short *)\n6459 int COleObjectFactory::Unregister()\n6460 int COleTemplateServer::Unregister()\n6461 int COleObjectFactory::UnregisterAll()\n6462 void CDocManager::UnregisterShellFileTypes()\n6463 void CWinApp::UnregisterShellFileTypes()\n6464 AFX_CLASSINIT_COMPAT::AFX_CLASSINIT_COMPAT(CRuntime*)\n6465 AFX_EVENT::AFX_EVENT(int)\n6466 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n6467 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n6468 CDaoErrorInfo::CDaoErrorInfo()\n6469 CDaoFieldInfo::CDaoFieldInfo()\n6470 CDataPathProperty::CDataPathProperty(COleControl *)\n6471 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n6472 CFileStatus::CFileStatus()\n6473 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n6474 CGopherLocator::CGopherLocator(CGopherLocator const &)\n6475 CHtmlView::CHtmlView()\n6476 CMemoryException::CMemoryException(int,unsigned int)\n6477 CNotSupportedException::CNotSupportedException(int,unsigned int)\n6478 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n6479 COleVariant::COleVariant(_ITEMIDLIST const *)\n6480 CParkingWnd::CParkingWnd()\n6481 CPropertyPageEx::CPropertyPageEx(unsigned int,unsigned int,unsigned int,unsigned int)\n6482 CPropertyPageEx::CPropertyPageEx(unsigned short const *,unsigned int,unsigned int,unsigned int)\n6483 CPropertyPageEx::CPropertyPageEx()\n6484 CPropertySheetEx::CPropertySheetEx(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6485 CPropertySheetEx::CPropertySheetEx(unsigned short const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6486 CPropertySheetEx::CPropertySheetEx()\n6487 CReBar::CReBar()\n6488 CResourceException::CResourceException(int,unsigned int)\n6489 CString::CString(char const *,int)\n6490 CUserException::CUserException(int,unsigned int)\n6491 CEmbeddedButActsLikePtr<CMapPtrToPtr>::~CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n6492 CEmbeddedButActsLikePtr<CPtrList>::~CEmbeddedButActsLikePtr<CPtrList>()\n6493 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n6494 CArchiveException::~CArchiveException()\n6495 CColorDialog::~CColorDialog()\n6496 CColorPropPage::~CColorPropPage()\n6497 CColorPropPage::CColorPropPageFactory::~CColorPropPageFactory()\n6498 CComboBoxEx::~CComboBoxEx()\n6499 CControlBarInfo::~CControlBarInfo()\n6500 COleControl::CControlDataSource::~CControlDataSource()\n6501 CControlFrameWnd::~CControlFrameWnd()\n6502 CControlRectTracker::~CControlRectTracker()\n6503 CDaoErrorInfo::~CDaoErrorInfo()\n6504 CDateTimeCtrl::~CDateTimeCtrl()\n6505 CFindReplaceDialog::~CFindReplaceDialog()\n6506 CFixedAlloc::~CFixedAlloc()\n6507 CFontPropPage::~CFontPropPage()\n6508 CFontPropPage::CFontPropPageFactory::~CFontPropPageFactory()\n6509 CHandleMap::~CHandleMap()\n6510 CHtmlView::~CHtmlView()\n6511 CIPAddressCtrl::~CIPAddressCtrl()\n6512 CMDIChildWnd::~CMDIChildWnd()\n6513 CMDIFrameWnd::~CMDIFrameWnd()\n6514 CMemoryException::~CMemoryException()\n6515 CMiniDockFrameWnd::~CMiniDockFrameWnd()\n6516 CMonthCalCtrl::~CMonthCalCtrl()\n6517 CNotSupportedException::~CNotSupportedException()\n6518 COccManager::~COccManager()\n6519 COleDocObjectItem::~COleDocObjectItem()\n6520 COleException::~COleException()\n6521 COleSafeArray::~COleSafeArray()\n6522 CParkingWnd::~CParkingWnd()\n6523 CPicturePropPage::CPicturePropPageFactory::~CPicturePropPageFactory()\n6524 CPropertyPageEx::~CPropertyPageEx()\n6525 CPropertySheetEx::~CPropertySheetEx()\n6526 CPushRoutingFrame::~CPushRoutingFrame()\n6527 CPushRoutingView::~CPushRoutingView()\n6528 CReBar::~CReBar()\n6529 CReflectorWnd::~CReflectorWnd()\n6530 CResourceException::~CResourceException()\n6531 CRichEditDoc::~CRichEditDoc()\n6532 CSocketWnd::~CSocketWnd()\n6533 CTempDC::~CTempDC()\n6534 CTempGdiObject::~CTempGdiObject()\n6535 CTempImageList::~CTempImageList()\n6536 CTempMenu::~CTempMenu()\n6537 CTempWnd::~CTempWnd()\n6538 CThreadData::~CThreadData()\n6539 CTypeLibCacheMap::~CTypeLibCacheMap()\n6540 CUserException::~CUserException()\n6541 CWindowlessDC::~CWindowlessDC()\n6542 void CTempWnd::operator delete(void *)\n6543 CArchive & CArchive::operator>>(unsigned char &)\n6544 CArchive & CArchive::operator>>(unsigned short &)\n6545 CArchive & CArchive::operator>>(long &)\n6546 CArchive & CArchive::operator>>(unsigned long &)\n6547 CArchive & CArchive::operator>>(float &)\n6548 CArchive & CArchive::operator>>(double &)\n6549 CArchive & CArchive::operator<<(unsigned char)\n6550 CArchive & CArchive::operator<<(unsigned short)\n6551 CArchive & CArchive::operator<<(long)\n6552 CArchive & CArchive::operator<<(unsigned long)\n6553 CArchive & CArchive::operator<<(float)\n6554 CArchive & CArchive::operator<<(double)\n6555 int operator==(_GUID const &,_GUID const &)\n6556 int CTime::operator<(CTime)const \n6557 int CTime::operator>(CTime)const \n6558 void COleDocObjectItem::ActivateAndShow()\n6559 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n6560 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,unsigned short const *,unsigned long)\n6561 int CReBar::AddBar(CWnd *,unsigned short const *,CBitmap *,unsigned long)\n6562 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n6563 __POSITION * CStringList::AddHead(CString const &)\n6564 void CPropertySheetEx::AddPage(CPropertyPageEx *)\n6565 __POSITION * CStringList::AddTail(CString const &)\n6566 void AfxCheckError(long)\n6567 void AfxClassInit(CRuntime*)\n6568 long AfxDelRegTreeHelper(HKEY__ *,CString const &)\n6569 void AfxEditviewTerm()\n6570 AFX_EXCEPTION_CONTEXT * AfxGetExceptionContext()\n6571 void * AfxGetHENV()\n6572 CWnd * AfxGetMainWnd()\n6573 CHandleMap * afxMapHDC(int)\n6574 CHandleMap * afxMapHGDIOBJ(int)\n6575 CHandleMap * afxMapHIMAGELIST(int)\n6576 CHandleMap * afxMapHMENU(int)\n6577 CHandleMap * afxMapHWND(int)\n6578 int AfxOleRegisterServerClass(_GUID const &,unsigned short const *,unsigned short const *,unsigned short const *,enum OLE_APPTYPE,unsigned short const * *,unsigned short const * *,int,unsigned short const *,unsigned short const *)\n6579 void AfxTrackerTerm()\n6580 void AfxWingdixTerm()\n6581 void * CFixedAlloc::Alloc()\n6582 void COleControlContainer::AttachControlSite(CWnd *)\n6583 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,int *)\n6584 void CPropertySheetEx::BuildPropPageArray()\n6585 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n6586 CSize CReBar::CalcFixedLayout(int,int)\n6587 int CDatabase::CheckHstmt(short,void *)const \n6588 CRuntimeconst CComboBoxEx::classCComboBoxEx\n6589 CRuntimeconst CHtmlView::classCHtmlView\n6590 CRuntimeconst CIPAddressCtrl::classCIPAddressCtrl\n6591 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6592 CRuntimeconst COleDocObjectItem::classCOleDocObjectItem\n6593 CRuntimeconst CPropertyPageEx::classCPropertyPageEx\n6594 CRuntimeconst CPropertySheetEx::classCPropertySheetEx\n6595 CRuntimeconst CReBar::classCReBar\n6596 CRuntimeconst CReBarCtrl::classCReBarCtrl\n6597 void CWnd::ClientToScreen(tagRECT *)const \n6598 void CPropertyPageEx::CommonConstruct(unsigned short const *,unsigned int,unsigned int,unsigned int)\n6599 void CPropertySheetEx::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6600 void CPropertyPageEx::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n6601 void CPropertyPageEx::Construct(unsigned short const *,unsigned int,unsigned int,unsigned int)\n6602 void CPropertySheetEx::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6603 void CPropertySheetEx::Construct(unsigned short const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n6604 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6605 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6606 int CHtmlView::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n6607 int CImageList::Create(CImageList *)\n6608 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6609 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n6610 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6611 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n6612 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n6613 int COleControlContainer::CreateControl(CWnd *,_GUID const &,unsigned short const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,unsigned short *,COleControlSite * *)\n6614 long COleControlSite::CreateControl(CWnd *,_GUID const &,unsigned short const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,unsigned short *)\n6615 int CWnd::CreateControl(_GUID const &,unsigned short const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,unsigned short *)\n6616 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n6617 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n6618 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n6619 CObject * CHtmlView::CreateObject()\n6620 CObject * CTempDC::CreateObject()\n6621 CObject * CTempGdiObject::CreateObject()\n6622 CObject * CTempImageList::CreateObject()\n6623 CObject * CTempMenu::CreateObject()\n6624 CObject * CTempWnd::CreateObject()\n6625 void COleControl::CreateTracker(int,int,tagRECT const *)\n6626 void DDV_MinMaxDateTime(CDataExchange *,COleDateTime &,COleDateTime const *,COleDateTime const *)\n6627 void DDV_MinMaxDateTime(CDataExchange *,CTime &,CTime const *,CTime const *)\n6628 void DDV_MinMaxMonth(CDataExchange *,COleDateTime &,COleDateTime const *,COleDateTime const *)\n6629 void DDV_MinMaxMonth(CDataExchange *,CTime &,CTime const *,CTime const *)\n6630 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n6631 void DDX_DateTimeCtrl(CDataExchange *,int,COleDateTime &)\n6632 void DDX_DateTimeCtrl(CDataExchange *,int,CTime &)\n6633 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6634 void DDX_FieldText(CDataExchange *,int,unsigned short *,int,CDaoRecordset *)\n6635 void DDX_FieldText(CDataExchange *,int,unsigned short *,int,CRecordset *)\n6636 void DDX_MonthCalCtrl(CDataExchange *,int,COleDateTime &)\n6637 void DDX_MonthCalCtrl(CDataExchange *,int,CTime &)\n6638 void DDX_Slider(CDataExchange *,int,int &)\n6639 void DDX_Text(CDataExchange *,int,unsigned short *,int)\n6640 int CString::Delete(int,int)\n6641 int CComboBoxEx::DeleteItem(int)\n6642 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n6643 int COleInsertDialog::DoModal(unsigned long)\n6644 void CControlBar::DrawGripper(CDC *,CRect const &)\n6645 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n6646 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long)\n6647 int CWnd::EnableTrackingToolTips(int)\n6648 void CPropertyPage::EndDialog(int)\n6649 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n6650 AFX_EVENTSINKMAP const CHtmlView::eventsinkMap\n6651 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6652 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n6653 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n6654 int CString::Find(unsigned short,int)const \n6655 int CString::Find(unsigned short const *,int)const \n6656 int FontAttrSize(int)\n6657 void CFixedAlloc::Free(void *)\n6658 void CFixedAlloc::FreeAll()\n6659 void __fastcall CString::FreeData(CStringData *)\n6660 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n6661 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n6662 int CHtmlView::GetAddressBar()const \n6663 IDispatch * CHtmlView::GetApplication()const \n6664 int COleDateTime::GetAsSystemTime(_SYSTEMTIME &)const \n6665 int CTime::GetAsSystemTime(_SYSTEMTIME &)const \n6666 int CHtmlView::GetBusy()const \n6667 int CListCtrl::GetCheck(int)const \n6668 int CTreeCtrl::GetCheck(_TREEITEM *)const \n6669 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n6670 int CListCtrl::GetColumnOrderArray(int *,int)\n6671 IDispatch * CHtmlView::GetContainer()const \n6672 int CInternetSession::GetCookie(char const *,unsigned short const *,CString &)\n6673 int CInternetSession::GetCookie(char const *,unsigned short const *,unsigned short *,unsigned long)\n6674 unsigned long CInternetSession::GetCookieLength(char const *,unsigned short const *)\n6675 int CListBox::GetCurSel()const \n6676 int CMonthCalCtrl::GetCurSel(COleDateTime &)const \n6677 int CMonthCalCtrl::GetCurSel(CTime &)const \n6678 IUnknown * CDataBoundProperty::GetCursor()\n6679 IUnknown * CDataSourceControl::GetCursor()\n6680 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n6681 int CDocManager::GetDocumentCount()\n6682 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n6683 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n6684 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n6685 CFont * CWnd::GetFont()const \n6686 CString CHtmlView::GetFullName()const \n6687 int CHtmlView::GetFullScreen()const \n6688 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n6689 long CHtmlView::GetHeight()const \n6690 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n6691 IDispatch * CHtmlView::GetHtmlDocument()const \n6692 HICON__ * COleClientItem::GetIconFromRegistry()const \n6693 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n6694 CImageList * CReBarCtrl::GetImageList()const \n6695 IUnknown * COleFrameHook::GetInterfaceHook(void const *)\n6696 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n6697 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n6698 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n6699 unsigned long CDC::GetLayout()const \n6700 long CHtmlView::GetLeft()const \n6701 CString CHtmlView::GetLocationName()const \n6702 CString CHtmlView::GetLocationURL()const \n6703 int CHtmlView::GetMenuBar()const \n6704 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n6705 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n6706 AFX_MSGMAP const * CReBar::GetMessageMap()const \n6707 IMoniker * CMonikerFile::GetMoniker()const \n6708 int CMonthCalCtrl::GetMonthRange(COleDateTime &,COleDateTime &,unsigned long)const \n6709 int CMonthCalCtrl::GetMonthRange(CTime &,CTime &,unsigned long)const \n6710 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n6711 int CHtmlView::GetOffline()const \n6712 int CHeaderCtrl::GetOrderArray(int *,int)\n6713 CWnd * CWnd::GetOwner()const \n6714 int COleDocObjectItem::GetPageCount(long *,long *)\n6715 CRect CRichEditView::GetPageRect()const \n6716 IDispatch * CHtmlView::GetParentBrowser()const \n6717 CRect CRichEditView::GetPrintRect()const \n6718 COleVariant CHtmlView::GetProperty(unsigned short const *)\n6719 int CHtmlView::GetProperty(unsigned short const *,CString &)\n6720 _AFX_OLDPROPSHEETHEADER * CPropertySheet::GetPropSheetHeader()\n6721 unsigned long CDateTimeCtrl::GetRange(COleDateTime *,COleDateTime *)const \n6722 unsigned long CDateTimeCtrl::GetRange(CTime *,CTime *)const \n6723 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n6724 unsigned long CMonthCalCtrl::GetRange(COleDateTime *,COleDateTime *)const \n6725 unsigned long CMonthCalCtrl::GetRange(CTime *,CTime *)const \n6726 void CProgressCtrl::GetRange(int &,int &)\n6727 enum tagREADYSTATE CHtmlView::GetReadyState()const \n6728 int CHtmlView::GetRegisterAsBrowser()const \n6729 int CHtmlView::GetRegisterAsDropTarget()const \n6730 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n6731 CView * CCmdTarget::GetRoutingView_()\n6732 CRuntime* CComboBoxEx::GetRuntimeClass()const \n6733 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n6734 CRuntime* CHtmlView::GetRuntimeClass()const \n6735 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n6736 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n6737 CRuntime* COleDBRecordView::GetRuntimeClass()const \n6738 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n6739 CRuntime* CPropertyPageEx::GetRuntimeClass()const \n6740 CRuntime* CPropertySheetEx::GetRuntimeClass()const \n6741 CRuntime* CReBar::GetRuntimeClass()const \n6742 CRuntime* CReBarCtrl::GetRuntimeClass()const \n6743 CRuntime* CTempDC::GetRuntimeClass()const \n6744 CRuntime* CTempGdiObject::GetRuntimeClass()const \n6745 CRuntime* CTempImageList::GetRuntimeClass()const \n6746 CRuntime* CTempMenu::GetRuntimeClass()const \n6747 CRuntime* CTempWnd::GetRuntimeClass()const \n6748 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n6749 int CMonthCalCtrl::GetSelRange(COleDateTime &,COleDateTime &)const \n6750 int CMonthCalCtrl::GetSelRange(CTime &,CTime &)const \n6751 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n6752 int CHtmlView::GetSilent()const \n6753 int CHtmlView::GetStatusBar()const \n6754 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n6755 CTabCtrl * CPropertySheet::GetTabControl()const \n6756 CString CMirrorFile::GetTempName(unsigned short const *,int)\n6757 int CHtmlView::GetTheaterMode()const \n6758 int CDateTimeCtrl::GetTime(COleDateTime &)const \n6759 unsigned long CDateTimeCtrl::GetTime(CTime &)const \n6760 CString CStatusBarCtrl::GetTipText(int)const \n6761 CString CFrameWnd::GetTitle()const \n6762 int CMonthCalCtrl::GetToday(COleDateTime &)const \n6763 int CMonthCalCtrl::GetToday(CTime &)const \n6764 int CHtmlView::GetToolBar()const \n6765 long CHtmlView::GetTop()const \n6766 int CHtmlView::GetTopLevelContainer()const \n6767 CString CHtmlView::GetType()const \n6768 int CHtmlView::GetVisible()const \n6769 int HasFont(DLGTEMPLATE const *)\n6770 int CString::Insert(int,unsigned short)\n6771 int CString::Insert(int,unsigned short const *)\n6772 __POSITION * CStringList::InsertAfter(__POSITION *,CString const &)\n6773 void CStringArray::InsertAt(int,CString const &,int)\n6774 __POSITION * CStringList::InsertBefore(__POSITION *,CString const &)\n6775 void CStringArray::InsertEmpty(int,int)\n6776 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n6777 int CTabCtrl::InsertItem(unsigned int,int,unsigned short const *,int,long)\n6778 int CTabCtrl::InsertItem(unsigned int,int,unsigned short const *,int,long,unsigned long,unsigned long)\n6779 AFX_INTERFACEMAP const COleDocObjectItem::interfaceMap\n6780 int CPropertyPage::IsButtonEnabled(int)\n6781 int IsButtonUp(tagMSG *)\n6782 int IsDialogEx(DLGTEMPLATE const *)\n6783 int IsDirSep(unsigned short)\n6784 int IsEnterKey(tagMSG *)\n6785 int IsHelpKey(tagMSG *)\n6786 void CToolBar::Layout()\n6787 int CHtmlView::LoadFromResource(unsigned int)\n6788 int CHtmlView::LoadFromResource(unsigned short const *)\n6789 void CMDIChildWnd::MDIActivate()\n6790 void CMDIChildWnd::MDIDestroy()\n6791 AFX_MSGMAP const CHtmlView::messageMap\n6792 AFX_MSGMAP const COleDBRecordView::messageMap\n6793 AFX_MSGMAP const CReBar::messageMap\n6794 void CHtmlView::Navigate(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *,void *,unsigned long)\n6795 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,unsigned short const *)\n6796 void CHtmlView::Navigate2(unsigned short const *,unsigned long,unsigned short const *,unsigned short const *,void *,unsigned long)\n6797 void CHtmlView::Navigate2(unsigned short const *,unsigned long,CByteArray &,unsigned short const *,unsigned short const *)\n6798 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n6799 void CHtmlView::OnBeforeNavigate2(unsigned short const *,unsigned long,unsigned short const *,CByteArray &,unsigned short const *,int *)\n6800 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n6801 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n6802 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n6803 void CHtmlView::OnCommandStateChange(long,int)\n6804 void CHtmlView::OnDestroy()\n6805 void CHtmlView::OnDocumentComplete(unsigned short const *)\n6806 void CHtmlView::OnDownloadBegin()\n6807 void CHtmlView::OnDownloadComplete()\n6808 void CHtmlView::OnDraw(CDC *)\n6809 void CToolTipCtrl::OnEnable(int)\n6810 int COleControl::OnEraseBkgnd(CDC *)\n6811 int CReBar::OnEraseBkgnd(CDC *)\n6812 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6813 void CHtmlView::OnFilePrint()\n6814 void CHtmlView::OnFullScreen(int)\n6815 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6816 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6817 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6818 void COleDBRecordView::OnInitialUpdate()\n6819 void CFrameWnd::OnInitMenu(CMenu *)\n6820 void COleFrameHook::OnInitMenu(CMenu *)\n6821 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6822 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6823 void CHtmlView::OnMenuBar(int)\n6824 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6825 int COleDBRecordView::OnMove(unsigned int)\n6826 void CHtmlView::OnNavigateComplete2(unsigned short const *)\n6827 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6828 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n6829 void CReBar::OnNcPaint()\n6830 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6831 void CHtmlView::OnPaint()\n6832 void CReBar::OnPaint()\n6833 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6834 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6835 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6836 void CHtmlView::OnProgressChange(long,long)\n6837 void CHtmlView::OnPropertyChange(unsigned short const *)\n6838 void CHtmlView::OnQuit()\n6839 void CReBar::OnRecalcParent()\n6840 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6841 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6842 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6843 long CToolBar::OnSetSizeHelper(CSize &,long)\n6844 long CReBar::OnShowBand(unsigned int,long)\n6845 void CHtmlView::OnSize(unsigned int,int,int)\n6846 void CHtmlView::OnStatusBar(int)\n6847 void CHtmlView::OnStatusTextChange(unsigned short const *)\n6848 void CHtmlView::OnTheaterMode(int)\n6849 void CHtmlView::OnTitleChange(unsigned short const *)\n6850 void CHtmlView::OnToolBar(int)\n6851 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6852 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6853 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6854 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6855 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6856 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6857 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6858 void CHtmlView::OnVisible(int)\n6859 void CHtmlView::PutProperty(unsigned short const *,tagVARIANT const &)\n6860 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n6861 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6862 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n6863 void COleDocObjectItem::Release(enum tagOLECLOSE)\n6864 void COleControl::ReleaseCaches()\n6865 int CString::Remove(unsigned short)\n6866 void CTypeLibCacheMap::RemoveAll(void *)\n6867 int CString::Replace(unsigned short,unsigned short)\n6868 int CString::Replace(unsigned short const *,unsigned short const *)\n6869 void RFX_Date(CFieldExchange *,unsigned short const *,COleDateTime &)\n6870 void RFX_Text(CFieldExchange *,unsigned short const *,unsigned short *,int,int,short)\n6871 void CWnd::ScreenToClient(tagRECT *)const \n6872 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n6873 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n6874 void CStringArray::SetAtGrow(int,CString const &)\n6875 void CAsyncMonikerFile::SetBinding(IBinding *)\n6876 int CListCtrl::SetBkImage(unsigned short *,int,int,int)\n6877 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n6878 void CControlBar::SetBorders(int,int,int,int)\n6879 int CListCtrl::SetCheck(int,int)\n6880 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n6881 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n6882 int CListCtrl::SetColumnOrderArray(int,int *)\n6883 int CInternetSession::SetCookie(char const *,unsigned short const *,unsigned short const *)\n6884 int CMonthCalCtrl::SetCurSel(COleDateTime const &)\n6885 int CMonthCalCtrl::SetCurSel(CTime const &)\n6886 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n6887 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n6888 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n6889 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n6890 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n6891 CSize CListCtrl::SetIconSpacing(int,int)\n6892 CSize CListCtrl::SetIconSpacing(CSize)\n6893 int CReBarCtrl::SetImageList(CImageList *)\n6894 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n6895 int CListCtrl::SetItemCountEx(int,unsigned long)\n6896 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n6897 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n6898 int CListCtrl::SetItemText(int,int,unsigned short const *)\n6899 unsigned long CDC::SetLayout(unsigned long)\n6900 int CHeaderCtrl::SetOrderArray(int,int *)\n6901 int CDateTimeCtrl::SetRange(COleDateTime const *,COleDateTime const *)\n6902 int CDateTimeCtrl::SetRange(CTime const *,CTime const *)\n6903 int CMonthCalCtrl::SetRange(COleDateTime const *,COleDateTime const *)\n6904 int CMonthCalCtrl::SetRange(CTime const *,CTime const *)\n6905 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6906 void CCheckListBox::SetSelectionCheck(int)\n6907 int CMonthCalCtrl::SetSelRange(COleDateTime const &,COleDateTime const &)\n6908 int CMonthCalCtrl::SetSelRange(CTime const &,CTime const &)\n6909 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6910 int CDateTimeCtrl::SetTime(COleDateTime const &)\n6911 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6912 int CDateTimeCtrl::SetTime(CTime const *)\n6913 void CMonthCalCtrl::SetToday(COleDateTime const &)\n6914 void CMonthCalCtrl::SetToday(CTime const *)\n6915 int CMonthCalCtrl::SizeMinReq(int)\n6916 int COleDocObjectItem::SupportsIPrint()\n6917 COleVariant CDataSourceControl::ToVariant(int)\n6918 void CString::TrimLeft(unsigned short)\n6919 void CString::TrimLeft(unsigned short const *)\n6920 void CString::TrimRight(unsigned short)\n6921 void CString::TrimRight(unsigned short const *)\n6922 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6923 int CMenu::GetMenuStringW(unsigned int,CString &,unsigned int)const \n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc42ud.def",
    "content": "256 void CRect::operator&=(tagRECT const &)\n257 void CRect::operator|=(tagRECT const &)\n258 CEmbeddedButActsLikePtr<CMapPtrToPtr>::CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n259 CEmbeddedButActsLikePtr<CPtrList>::CEmbeddedButActsLikePtr<CPtrList>()\n260 CTypedSimpleList<CRuntime*>::CTypedSimpleList<CRuntime*>(int)\n261 CTypedSimpleList<CThreadData *>::CTypedSimpleList<CThreadData *>(int)\n262 CTypedSimpleList<CDynLinkLibrary *>::CTypedSimpleList<CDynLinkLibrary *>(int)\n263 CTypedSimpleList<CFrameWnd *>::CTypedSimpleList<CFrameWnd *>(int)\n264 CTypedSimpleList<COleControlLock *>::CTypedSimpleList<COleControlLock *>(int)\n265 CTypedSimpleList<COleObjectFactory *>::CTypedSimpleList<COleObjectFactory *>(int)\n266 _AFX_BASE_MODULE_STATE::_AFX_BASE_MODULE_STATE()\n267 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n268 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n269 _AFX_CONTROLPOS::_AFX_CONTROLPOS()\n270 _AFX_CTL3D_STATE::_AFX_CTL3D_STATE()\n271 _AFX_CTL3D_THREAD::_AFX_CTL3D_THREAD()\n272 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n273 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n274 _AFX_MAIL_STATE::_AFX_MAIL_STATE()\n275 _AFX_PROPPAGEFONTINFO::_AFX_PROPPAGEFONTINFO()\n276 _AFX_RICHEDIT_STATE::_AFX_RICHEDIT_STATE()\n277 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n278 _AFX_WIN_STATE::_AFX_WIN_STATE()\n279 AFX_CHECK_DATA::AFX_CHECK_DATA()\n280 AFX_CLASSINIT::AFX_CLASSINIT(CRuntime*)\n281 AFX_CLASSINIT_COMPAT::AFX_CLASSINIT_COMPAT(CRuntime*)\n282 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n283 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n284 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n285 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long)\n286 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n287 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n288 CAnimateCtrl::CAnimateCtrl()\n289 CArchive::CArchive(CArchive const &)\n290 CArchive::CArchive(CFile *,unsigned int,int,void *)\n291 CArchiveException::CArchiveException(int,unsigned short const *)\n292 CArchiveStream::CArchiveStream(CArchive *)\n293 CBitmap::CBitmap()\n294 CBitmapButton::CBitmapButton()\n295 CBrush::CBrush(int,unsigned long)\n296 CBrush::CBrush(unsigned long)\n297 CBrush::CBrush(CBitmap *)\n298 CBrush::CBrush()\n299 CButton::CButton()\n300 CByteArray::CByteArray()\n301 CCheckListBox::CCheckListBox()\n302 CClientDC::CClientDC(CWnd *)\n303 CCmdTarget::CCmdTarget()\n304 CCmdUI::CCmdUI()\n305 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n306 CComboBox::CComboBox()\n307 CComboBoxEx::CComboBoxEx()\n308 CCommandLineInfo::CCommandLineInfo()\n309 CCommonDialog::CCommonDialog(CWnd *)\n310 CControlBar::CControlBar()\n311 CControlBarInfo::CControlBarInfo()\n312 CCreateContext::CCreateContext()\n313 CCriticalSection::CCriticalSection()\n314 CCtrlView::CCtrlView(unsigned short const *,unsigned long)\n315 CDataExchange::CDataExchange(CWnd *,int)\n316 CDC::CDC()\n317 CDialog::CDialog(unsigned int,CWnd *)\n318 CDialog::CDialog(unsigned short const *,CWnd *)\n319 CDialog::CDialog()\n320 CDialogBar::CDialogBar()\n321 CDialogTemplate::CDialogTemplate(void *)\n322 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n323 CDockBar::CDockBar(int)\n324 CDockContext::CDockContext(CControlBar *)\n325 CDockState::CDockState()\n326 CDocManager::CDocManager()\n327 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n328 CDocument::CDocument()\n329 CDragListBox::CDragListBox()\n330 CDumpContext::CDumpContext(CDumpContext const &)\n331 CDumpContext::CDumpContext(CFile *)\n332 CDWordArray::CDWordArray()\n333 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n334 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n335 CEdit::CEdit()\n336 CEditView::CEditView()\n337 CEvent::CEvent(int,int,unsigned short const *,_SECURITY_ATTRIBUTES *)\n338 CException::CException(int)\n339 CException::CException()\n340 CFile::CFile(int)\n341 CFile::CFile(unsigned short const *,unsigned int)\n342 CFile::CFile()\n343 CFileDialog::CFileDialog(int,unsigned short const *,unsigned short const *,unsigned long,unsigned short const *,CWnd *)\n344 CFileException::CFileException(int,long,unsigned short const *)\n345 CFileFind::CFileFind()\n346 CFileStatus::CFileStatus()\n347 CFindReplaceDialog::CFindReplaceDialog()\n348 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n349 CFont::CFont()\n350 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n351 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n352 CFormView::CFormView(unsigned int)\n353 CFormView::CFormView(unsigned short const *)\n354 CFrameWnd::CFrameWnd()\n355 CFtpConnection::CFtpConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n356 CFtpConnection::CFtpConnection(CInternetSession *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short,int)\n357 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n358 CGdiObject::CGdiObject()\n359 CGopherConnection::CGopherConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n360 CGopherConnection::CGopherConnection(CInternetSession *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short)\n361 CGopherFile::CGopherFile(void *,void *,unsigned short const *,unsigned long,unsigned long)\n362 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n363 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n364 CGopherLocator::CGopherLocator(unsigned short const *,unsigned long)\n365 CGopherLocator::CGopherLocator(CGopherLocator const &)\n366 CHandleMap::CHandleMap(CRuntime*,unsigned int,int)\n367 CHeaderCtrl::CHeaderCtrl()\n368 CHotKeyCtrl::CHotKeyCtrl()\n369 CHttpConnection::CHttpConnection(CInternetSession *,void *,unsigned short const *,unsigned long)\n370 CHttpConnection::CHttpConnection(CInternetSession *,unsigned short const *,unsigned short,unsigned short const *,unsigned short const *,unsigned long)\n371 CHttpConnection::CHttpConnection(CInternetSession *,unsigned short const *,unsigned long,unsigned short,unsigned short const *,unsigned short const *,unsigned long)\n372 CHttpFile::CHttpFile(void *,void *,unsigned short const *,unsigned short const *,unsigned short const *,unsigned long)\n373 CHttpFile::CHttpFile(void *,unsigned short const *,unsigned short const *,CHttpConnection *)\n374 CImageList::CImageList()\n375 CInternetConnection::CInternetConnection(CInternetSession *,unsigned short const *,unsigned short,unsigned long)\n376 CInternetException::CInternetException(unsigned long)\n377 CInternetFile::CInternetFile(void *,void *,unsigned short const *,unsigned short const *,unsigned long,int)\n378 CInternetFile::CInternetFile(void *,unsigned short const *,CInternetConnection *,int)\n379 CInternetSession::CInternetSession(unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned short const *,unsigned long)\n380 CIPAddressCtrl::CIPAddressCtrl()\n381 CListBox::CListBox()\n382 CListCtrl::CListCtrl()\n383 CListView::CListView()\n384 CMapPtrToPtr::CMapPtrToPtr(int)\n385 CMapPtrToWord::CMapPtrToWord(int)\n386 CMapStringToOb::CMapStringToOb(int)\n387 CMapStringToPtr::CMapStringToPtr(int)\n388 CMapStringToString::CMapStringToString(int)\n389 CMapWordToOb::CMapWordToOb(int)\n390 CMapWordToPtr::CMapWordToPtr(int)\n391 CMDIChildWnd::CMDIChildWnd()\n392 CMDIFrameWnd::CMDIFrameWnd()\n393 CMemFile::CMemFile(unsigned int)\n394 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n395 CMemoryException::CMemoryException(int,unsigned int)\n396 CMemoryException::CMemoryException()\n397 CMemoryState::CMemoryState()\n398 CMenu::CMenu()\n399 CMetaFileDC::CMetaFileDC()\n400 CMiniDockFrameWnd::CMiniDockFrameWnd()\n401 CMiniFrameWnd::CMiniFrameWnd()\n402 CMirrorFile::CMirrorFile()\n403 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n404 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n405 CMutex::CMutex(int,unsigned short const *,_SECURITY_ATTRIBUTES *)\n406 CNoTrackObject::CNoTrackObject()\n407 CNotSupportedException::CNotSupportedException(int,unsigned int)\n408 CNotSupportedException::CNotSupportedException()\n409 CObArray::CObArray()\n410 CObject::CObject()\n411 CObList::CObList(int)\n412 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n413 CPaintDC::CPaintDC(CWnd *)\n414 CPalette::CPalette()\n415 CPen::CPen(int,int,unsigned long)\n416 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n417 CPen::CPen()\n418 CPoint::CPoint(int,int)\n419 CPoint::CPoint(unsigned long)\n420 CPoint::CPoint(tagPOINT)\n421 CPoint::CPoint(tagSIZE)\n422 CPoint::CPoint()\n423 CPreviewDC::CPreviewDC()\n424 CPreviewView::CPreviewView()\n425 CPrintDialog::CPrintDialog(tagPDW &)\n426 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n427 CPrintInfo::CPrintInfo()\n428 CPrintPreviewState::CPrintPreviewState()\n429 CProgressCtrl::CProgressCtrl()\n430 CPropertyPage::CPropertyPage(unsigned int,unsigned int)\n431 CPropertyPage::CPropertyPage(unsigned short const *,unsigned int)\n432 CPropertyPage::CPropertyPage()\n433 CPropertyPageEx::CPropertyPageEx(unsigned int,unsigned int,unsigned int,unsigned int)\n434 CPropertyPageEx::CPropertyPageEx(unsigned short const *,unsigned int,unsigned int,unsigned int)\n435 CPropertyPageEx::CPropertyPageEx()\n436 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n437 CPropertySheet::CPropertySheet(unsigned short const *,CWnd *,unsigned int)\n438 CPropertySheet::CPropertySheet()\n439 CPropertySheetEx::CPropertySheetEx(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n440 CPropertySheetEx::CPropertySheetEx(unsigned short const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n441 CPropertySheetEx::CPropertySheetEx()\n442 CPtrArray::CPtrArray()\n443 CPtrList::CPtrList(int)\n444 CPushRoutingFrame::CPushRoutingFrame(CFrameWnd *)\n445 CPushRoutingView::CPushRoutingView(CView *)\n446 CReBar::CReBar()\n447 CReBarCtrl::CReBarCtrl()\n448 CRecentFileList::CRecentFileList(unsigned int,unsigned short const *,unsigned short const *,int,int)\n449 CRect::CRect(tagRECT const &)\n450 CRect::CRect(int,int,int,int)\n451 CRect::CRect(tagRECT const *)\n452 CRect::CRect(tagPOINT,tagPOINT)\n453 CRect::CRect(tagPOINT,tagSIZE)\n454 CRect::CRect()\n455 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n456 CRectTracker::CRectTracker()\n457 CResourceException::CResourceException(int,unsigned int)\n458 CResourceException::CResourceException()\n459 CRgn::CRgn()\n460 CRichEditCtrl::CRichEditCtrl()\n461 CScrollBar::CScrollBar()\n462 CScrollView::CScrollView()\n463 CSemaphore::CSemaphore(long,long,unsigned short const *,_SECURITY_ATTRIBUTES *)\n464 CSharedFile::CSharedFile(unsigned int,unsigned int)\n465 CSimpleException::CSimpleException(int)\n466 CSimpleException::CSimpleException()\n467 CSimpleList::CSimpleList(int)\n468 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n469 CSingleLock::CSingleLock(CSyncObject *,int)\n470 CSize::CSize(int,int)\n471 CSize::CSize(unsigned long)\n472 CSize::CSize(tagPOINT)\n473 CSize::CSize(tagSIZE)\n474 CSize::CSize()\n475 CSliderCtrl::CSliderCtrl()\n476 CSpinButtonCtrl::CSpinButtonCtrl()\n477 CSplitterWnd::CSplitterWnd()\n478 CStatic::CStatic()\n479 CStatusBar::CStatusBar()\n480 CStatusBarCtrl::CStatusBarCtrl()\n481 CStatusCmdUI::CStatusCmdUI()\n482 CStdioFile::CStdioFile(_iobuf *)\n483 CStdioFile::CStdioFile(unsigned short const *,unsigned int)\n484 CStdioFile::CStdioFile()\n485 CString::CString(CString const &)\n486 CString::CString(unsigned short,int)\n487 CString::CString(char const *)\n488 CString::CString(char const *,int)\n489 CString::CString(unsigned char const *)\n490 CString::CString(unsigned short const *)\n491 CString::CString(unsigned short const *,int)\n492 CString::CString()\n493 CStringArray::CStringArray()\n494 CStringList::CStringList(int)\n495 CSyncObject::CSyncObject(unsigned short const *)\n496 CTabCtrl::CTabCtrl()\n497 CTempDC::CTempDC()\n498 CTempGdiObject::CTempGdiObject()\n499 CTempImageList::CTempImageList()\n500 CTempMenu::CTempMenu()\n501 CTempWnd::CTempWnd()\n502 CTestCmdUI::CTestCmdUI()\n503 CThreadData::CThreadData()\n504 CThreadSlotData::CThreadSlotData()\n505 CTime::CTime(_FILETIME const &,int)\n506 CTime::CTime(_SYSTEMTIME const &,int)\n507 CTime::CTime(CTime const &)\n508 CTime::CTime(unsigned short,unsigned short,int)\n509 CTime::CTime(int,int,int,int,int,int,int)\n510 CTime::CTime(long)\n511 CTime::CTime()\n512 CTimeSpan::CTimeSpan(CTimeSpan const &)\n513 CTimeSpan::CTimeSpan(long)\n514 CTimeSpan::CTimeSpan(long,int,int,int)\n515 CTimeSpan::CTimeSpan()\n516 CToolBar::CToolBar()\n517 CToolBarCtrl::CToolBarCtrl()\n518 CToolCmdUI::CToolCmdUI()\n519 CToolTipCtrl::CToolTipCtrl()\n520 CTreeCtrl::CTreeCtrl()\n521 CTreeView::CTreeView()\n522 CTypeLibCache::CTypeLibCache()\n523 CUIntArray::CUIntArray()\n524 CUserException::CUserException(int,unsigned int)\n525 CUserException::CUserException()\n526 CView::CView()\n527 CWaitCursor::CWaitCursor()\n528 CWinApp::CWinApp(unsigned short const *)\n529 CWindowDC::CWindowDC(CWnd *)\n530 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n531 CWinThread::CWinThread()\n532 CWnd::CWnd(HWND__ *)\n533 CWnd::CWnd()\n534 CWordArray::CWordArray()\n535 ISequentialStream::ISequentialStream()\n536 IStream::IStream()\n537 CPreviewView::PAGE_INFO::PAGE_INFO()\n538 CEmbeddedButActsLikePtr<CMapPtrToPtr>::~CEmbeddedButActsLikePtr<CMapPtrToPtr>()\n539 CEmbeddedButActsLikePtr<CPtrList>::~CEmbeddedButActsLikePtr<CPtrList>()\n540 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n541 _AFX_CTL3D_STATE::~_AFX_CTL3D_STATE()\n542 _AFX_CTL3D_THREAD::~_AFX_CTL3D_THREAD()\n543 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n544 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n545 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n546 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n547 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n548 _AFX_WIN_STATE::~_AFX_WIN_STATE()\n549 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n550 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n551 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n552 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n553 CAnimateCtrl::~CAnimateCtrl()\n554 CArchive::~CArchive()\n555 CArchiveException::~CArchiveException()\n556 CBitmap::~CBitmap()\n557 CBitmapButton::~CBitmapButton()\n558 CBrush::~CBrush()\n559 CButton::~CButton()\n560 CByteArray::~CByteArray()\n561 CCheckListBox::~CCheckListBox()\n562 CClientDC::~CClientDC()\n563 CCmdTarget::~CCmdTarget()\n564 CColorDialog::~CColorDialog()\n565 CComboBox::~CComboBox()\n566 CComboBoxEx::~CComboBoxEx()\n567 CCommandLineInfo::~CCommandLineInfo()\n568 CCommonDialog::~CCommonDialog()\n569 CControlBar::~CControlBar()\n570 CControlBarInfo::~CControlBarInfo()\n571 CCriticalSection::~CCriticalSection()\n572 CCtrlView::~CCtrlView()\n573 CDC::~CDC()\n574 CDialog::~CDialog()\n575 CDialogBar::~CDialogBar()\n576 CDialogTemplate::~CDialogTemplate()\n577 CDockBar::~CDockBar()\n578 CDockContext::~CDockContext()\n579 CDockState::~CDockState()\n580 CDocManager::~CDocManager()\n581 CDocTemplate::~CDocTemplate()\n582 CDocument::~CDocument()\n583 CDragListBox::~CDragListBox()\n584 CDWordArray::~CDWordArray()\n585 CDynLinkLibrary::~CDynLinkLibrary()\n586 CEdit::~CEdit()\n587 CEditView::~CEditView()\n588 CEvent::~CEvent()\n589 CException::~CException()\n590 CFile::~CFile()\n591 CFileDialog::~CFileDialog()\n592 CFileException::~CFileException()\n593 CFileFind::~CFileFind()\n594 CFindReplaceDialog::~CFindReplaceDialog()\n595 CFixedAlloc::~CFixedAlloc()\n596 CFont::~CFont()\n597 CFontDialog::~CFontDialog()\n598 CFormView::~CFormView()\n599 CFrameWnd::~CFrameWnd()\n600 CFtpConnection::~CFtpConnection()\n601 CFtpFileFind::~CFtpFileFind()\n602 CGdiObject::~CGdiObject()\n603 CGopherConnection::~CGopherConnection()\n604 CGopherFile::~CGopherFile()\n605 CGopherFileFind::~CGopherFileFind()\n606 CGopherLocator::~CGopherLocator()\n607 CHandleMap::~CHandleMap()\n608 CHeaderCtrl::~CHeaderCtrl()\n609 CHotKeyCtrl::~CHotKeyCtrl()\n610 CHttpConnection::~CHttpConnection()\n611 CHttpFile::~CHttpFile()\n612 CImageList::~CImageList()\n613 CInternetConnection::~CInternetConnection()\n614 CInternetException::~CInternetException()\n615 CInternetFile::~CInternetFile()\n616 CInternetSession::~CInternetSession()\n617 CIPAddressCtrl::~CIPAddressCtrl()\n618 CListBox::~CListBox()\n619 CListCtrl::~CListCtrl()\n620 CListView::~CListView()\n621 CMapPtrToPtr::~CMapPtrToPtr()\n622 CMapPtrToWord::~CMapPtrToWord()\n623 CMapStringToOb::~CMapStringToOb()\n624 CMapStringToPtr::~CMapStringToPtr()\n625 CMapStringToString::~CMapStringToString()\n626 CMapWordToOb::~CMapWordToOb()\n627 CMapWordToPtr::~CMapWordToPtr()\n628 CMDIChildWnd::~CMDIChildWnd()\n629 CMDIFrameWnd::~CMDIFrameWnd()\n630 CMemFile::~CMemFile()\n631 CMemoryException::~CMemoryException()\n632 CMenu::~CMenu()\n633 CMetaFileDC::~CMetaFileDC()\n634 CMiniDockFrameWnd::~CMiniDockFrameWnd()\n635 CMiniFrameWnd::~CMiniFrameWnd()\n636 CMirrorFile::~CMirrorFile()\n637 CMultiDocTemplate::~CMultiDocTemplate()\n638 CMultiLock::~CMultiLock()\n639 CMutex::~CMutex()\n640 CNoTrackObject::~CNoTrackObject()\n641 CNotSupportedException::~CNotSupportedException()\n642 CObArray::~CObArray()\n643 CObject::~CObject()\n644 CObList::~CObList()\n645 CPageSetupDialog::~CPageSetupDialog()\n646 CPaintDC::~CPaintDC()\n647 CPalette::~CPalette()\n648 CPen::~CPen()\n649 CPreviewDC::~CPreviewDC()\n650 CPreviewView::~CPreviewView()\n651 CPrintDialog::~CPrintDialog()\n652 CPrintInfo::~CPrintInfo()\n653 CProcessLocalObject::~CProcessLocalObject()\n654 CProgressCtrl::~CProgressCtrl()\n655 CPropertyPage::~CPropertyPage()\n656 CPropertyPageEx::~CPropertyPageEx()\n657 CPropertySheet::~CPropertySheet()\n658 CPropertySheetEx::~CPropertySheetEx()\n659 CPtrArray::~CPtrArray()\n660 CPtrList::~CPtrList()\n661 CPushRoutingFrame::~CPushRoutingFrame()\n662 CPushRoutingView::~CPushRoutingView()\n663 CReBar::~CReBar()\n664 CReBarCtrl::~CReBarCtrl()\n665 CRecentFileList::~CRecentFileList()\n666 CRectTracker::~CRectTracker()\n667 CResourceException::~CResourceException()\n668 CRgn::~CRgn()\n669 CRichEditCtrl::~CRichEditCtrl()\n670 CScrollBar::~CScrollBar()\n671 CScrollView::~CScrollView()\n672 CSemaphore::~CSemaphore()\n673 CSharedFile::~CSharedFile()\n674 CSimpleException::~CSimpleException()\n675 CSingleDocTemplate::~CSingleDocTemplate()\n676 CSingleLock::~CSingleLock()\n677 CSliderCtrl::~CSliderCtrl()\n678 CSpinButtonCtrl::~CSpinButtonCtrl()\n679 CSplitterWnd::~CSplitterWnd()\n680 CStatic::~CStatic()\n681 CStatusBar::~CStatusBar()\n682 CStatusBarCtrl::~CStatusBarCtrl()\n683 CStdioFile::~CStdioFile()\n684 CString::~CString()\n685 CStringArray::~CStringArray()\n686 CStringList::~CStringList()\n687 CSyncObject::~CSyncObject()\n688 CTabCtrl::~CTabCtrl()\n689 CTempDC::~CTempDC()\n690 CTempGdiObject::~CTempGdiObject()\n691 CTempImageList::~CTempImageList()\n692 CTempMenu::~CTempMenu()\n693 CTempWnd::~CTempWnd()\n694 CThreadData::~CThreadData()\n695 CThreadLocalObject::~CThreadLocalObject()\n696 CThreadSlotData::~CThreadSlotData()\n697 CToolBar::~CToolBar()\n698 CToolBarCtrl::~CToolBarCtrl()\n699 CToolTipCtrl::~CToolTipCtrl()\n700 CTreeCtrl::~CTreeCtrl()\n701 CTreeView::~CTreeView()\n702 CUIntArray::~CUIntArray()\n703 CUserException::~CUserException()\n704 CView::~CView()\n705 CWaitCursor::~CWaitCursor()\n706 CWinApp::~CWinApp()\n707 CWindowDC::~CWindowDC()\n708 CWinThread::~CWinThread()\n709 CWnd::~CWnd()\n710 CWordArray::~CWordArray()\n711 void * operator new(unsigned int)\n712 void * operator new(unsigned int,int,char const *,int)\n713 void * operator new(unsigned int,void *)\n714 void * operator new(unsigned int,char const *,int)\n715 void * CNoTrackObject::operator new(unsigned int)\n716 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n717 void * CObject::operator new(unsigned int)\n718 void * CObject::operator new(unsigned int,void *)\n719 void * CObject::operator new(unsigned int,char const *,int)\n720 void * CThreadSlotData::operator new(unsigned int,void *)\n721 void operator delete(void *)\n722 void operator delete(void *,void *)\n723 void operator delete(void *,char const *,int)\n724 void CException::operator delete(void *)\n725 void CException::operator delete(void *,char const *,int)\n726 void CNoTrackObject::operator delete(void *)\n727 void CNoTrackObject::operator delete(void *,char const *,int)\n728 void CObject::operator delete(void *)\n729 void CObject::operator delete(void *,void *)\n730 void CObject::operator delete(void *,char const *,int)\n731 void CArchive::operator=(CArchive const &)\n732 void CDumpContext::operator=(CDumpContext const &)\n733 void CRect::operator=(tagRECT const &)\n734 CString const & CString::operator=(CString const &)\n735 CString const & CString::operator=(char)\n736 CString const & CString::operator=(unsigned short)\n737 CString const & CString::operator=(char const *)\n738 CString const & CString::operator=(unsigned char const *)\n739 CString const & CString::operator=(unsigned short const *)\n740 CTime const & CTime::operator=(CTime const &)\n741 CTime const & CTime::operator=(long)\n742 CTimeSpan const & CTimeSpan::operator=(CTimeSpan const &)\n743 CArchive & operator>>(CArchive &,CByteArray * &)\n744 CArchive & operator>>(CArchive &,CDockState * &)\n745 CArchive & operator>>(CArchive &,CDWordArray * &)\n746 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n747 CArchive & operator>>(CArchive &,CMapStringToString * &)\n748 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n749 CArchive & operator>>(CArchive &,CObArray * &)\n750 CArchive & operator>>(CArchive &,CObject * &)\n751 CArchive & operator>>(CArchive &,CObList * &)\n752 CArchive & operator>>(CArchive &,CStringArray * &)\n753 CArchive & operator>>(CArchive &,CStringList * &)\n754 CArchive & operator>>(CArchive &,CWordArray * &)\n755 CArchive & operator>>(CArchive &,CObject const * &)\n756 CArchive & operator>>(CArchive &,tagPOINT &)\n757 CArchive & operator>>(CArchive &,tagRECT &)\n758 CArchive & operator>>(CArchive &,tagSIZE &)\n759 CArchive & operator>>(CArchive &,CString &)\n760 CArchive & operator>>(CArchive &,CTime &)\n761 CArchive & operator>>(CArchive &,CTimeSpan &)\n762 CArchive & CArchive::operator>>(char &)\n763 CArchive & CArchive::operator>>(unsigned char &)\n764 CArchive & CArchive::operator>>(short &)\n765 CArchive & CArchive::operator>>(unsigned short &)\n766 CArchive & CArchive::operator>>(int &)\n767 CArchive & CArchive::operator>>(unsigned int &)\n768 CArchive & CArchive::operator>>(long &)\n769 CArchive & CArchive::operator>>(unsigned long &)\n770 CArchive & CArchive::operator>>(float &)\n771 CArchive & CArchive::operator>>(double &)\n772 CArchive & operator<<(CArchive &,tagRECT const &)\n773 CArchive & operator<<(CArchive &,CString const &)\n774 CArchive & operator<<(CArchive &,CObject const *)\n775 CArchive & operator<<(CArchive &,tagPOINT)\n776 CArchive & operator<<(CArchive &,tagSIZE)\n777 CArchive & operator<<(CArchive &,CTime)\n778 CArchive & operator<<(CArchive &,CTimeSpan)\n779 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n780 CDumpContext & operator<<(CDumpContext &,CString const &)\n781 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n782 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n783 CDumpContext & operator<<(CDumpContext &,CTime)\n784 CDumpContext & operator<<(CDumpContext &,CTimeSpan)\n785 CArchive & CArchive::operator<<(char)\n786 CArchive & CArchive::operator<<(unsigned char)\n787 CArchive & CArchive::operator<<(short)\n788 CArchive & CArchive::operator<<(unsigned short)\n789 CArchive & CArchive::operator<<(int)\n790 CArchive & CArchive::operator<<(unsigned int)\n791 CArchive & CArchive::operator<<(long)\n792 CArchive & CArchive::operator<<(unsigned long)\n793 CArchive & CArchive::operator<<(float)\n794 CArchive & CArchive::operator<<(double)\n795 CDumpContext & CDumpContext::operator<<(CObject const &)\n796 CDumpContext & CDumpContext::operator<<(unsigned char)\n797 CDumpContext & CDumpContext::operator<<(unsigned short)\n798 CDumpContext & CDumpContext::operator<<(int)\n799 CDumpContext & CDumpContext::operator<<(unsigned int)\n800 CDumpContext & CDumpContext::operator<<(long)\n801 CDumpContext & CDumpContext::operator<<(unsigned long)\n802 CDumpContext & CDumpContext::operator<<(float)\n803 CDumpContext & CDumpContext::operator<<(double)\n804 CDumpContext & CDumpContext::operator<<(char const *)\n805 CDumpContext & CDumpContext::operator<<(unsigned short const *)\n806 CDumpContext & CDumpContext::operator<<(CObject const *)\n807 CDumpContext & CDumpContext::operator<<(void const *)\n808 int operator==(_GUID const &,_GUID const &)\n809 bool operator==(CString const &,CString const &)\n810 bool operator==(CString const &,unsigned short const *)\n811 bool operator==(unsigned short const *,CString const &)\n812 int CGdiObject::operator==(CGdiObject const &)const \n813 int CMenu::operator==(CMenu const &)const \n814 int CPoint::operator==(tagPOINT)const \n815 int CRect::operator==(tagRECT const &)const \n816 int CSize::operator==(tagSIZE)const \n817 int CTime::operator==(CTime)const \n818 int CTimeSpan::operator==(CTimeSpan)const \n819 int CWnd::operator==(CWnd const &)const \n820 bool operator!=(CString const &,CString const &)\n821 bool operator!=(CString const &,unsigned short const *)\n822 bool operator!=(unsigned short const *,CString const &)\n823 int CGdiObject::operator!=(CGdiObject const &)const \n824 int CMenu::operator!=(CMenu const &)const \n825 int CPoint::operator!=(tagPOINT)const \n826 int CRect::operator!=(tagRECT const &)const \n827 int CSize::operator!=(tagSIZE)const \n828 int CTime::operator!=(CTime)const \n829 int CTimeSpan::operator!=(CTimeSpan)const \n830 int CWnd::operator!=(CWnd const &)const \n831 unsigned char & CByteArray::operator[](int)\n832 unsigned char CByteArray::operator[](int)const \n833 unsigned long & CDWordArray::operator[](int)\n834 unsigned long CDWordArray::operator[](int)const \n835 void * & CMapPtrToPtr::operator[](void *)\n836 unsigned short & CMapPtrToWord::operator[](void *)\n837 CObject * & CMapStringToOb::operator[](unsigned short const *)\n838 void * & CMapStringToPtr::operator[](unsigned short const *)\n839 CString & CMapStringToString::operator[](unsigned short const *)\n840 CObject * & CMapWordToOb::operator[](unsigned short)\n841 void * & CMapWordToPtr::operator[](unsigned short)\n842 CObject * & CObArray::operator[](int)\n843 CObject * CObArray::operator[](int)const \n844 void * & CPtrArray::operator[](int)\n845 void * CPtrArray::operator[](int)const \n846 CString & CRecentFileList::operator[](int)\n847 unsigned short CString::operator[](int)const \n848 CString & CStringArray::operator[](int)\n849 CString CStringArray::operator[](int)const \n850 unsigned int & CUIntArray::operator[](int)\n851 unsigned int CUIntArray::operator[](int)const \n852 unsigned short & CWordArray::operator[](int)\n853 unsigned short CWordArray::operator[](int)const \n854 CEmbeddedButActsLikePtr<CPtrList>::operator CPtrList *()\n855 CTypedSimpleList<CRuntime*>::operator CRuntime*()\n856 CTypedSimpleList<CThreadData *>::operator CThreadData *()\n857 CTypedSimpleList<CDynLinkLibrary *>::operator CDynLinkLibrary *()\n858 CTypedSimpleList<CFrameWnd *>::operator CFrameWnd *()\n859 CBitmap::operator HBITMAP__ *()const \n860 CBrush::operator HBRUSH__ *()const \n861 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n862 CDC::operator HDC__ *()const \n863 CFile::operator int()const \n864 CFont::operator HFONT__ *()const \n865 CGdiObject::operator void *()const \n866 CGopherLocator::operator unsigned short const *()const \n867 CImageList::operator _IMAGELIST *()const \n868 CInternetConnection::operator void *()const \n869 CInternetFile::operator void *()const \n870 CInternetSession::operator void *()const \n871 CMenu::operator HMENU__ *()const \n872 CPalette::operator HPALETTE__ *()const \n873 CPen::operator HPEN__ *()const \n874 CRect::operator tagRECT *()\n875 CRect::operator tagRECT const *()const \n876 CRgn::operator HRGN__ *()const \n877 CString::operator unsigned short const *()const \n878 CSyncObject::operator void *()const \n879 CWinThread::operator void *()const \n880 CWnd::operator HWND__ *()const \n881 CPtrList * CEmbeddedButActsLikePtr<CPtrList>::operator->()\n882 CPoint CPoint::operator-(tagSIZE)const \n883 CPoint CPoint::operator-()const \n884 CRect CPoint::operator-(tagRECT const *)const \n885 CSize CPoint::operator-(tagPOINT)const \n886 CRect CRect::operator-(tagRECT const *)const \n887 CRect CRect::operator-(tagPOINT)const \n888 CRect CRect::operator-(tagSIZE)const \n889 CSize CSize::operator-(tagSIZE)const \n890 CSize CSize::operator-()const \n891 CPoint CSize::operator-(tagPOINT)const \n892 CRect CSize::operator-(tagRECT const *)const \n893 CTime CTime::operator-(CTimeSpan)const \n894 CTimeSpan CTime::operator-(CTime)const \n895 CTimeSpan CTimeSpan::operator-(CTimeSpan)const \n896 CString operator+(CString const &,CString const &)\n897 CString operator+(CString const &,char)\n898 CString operator+(CString const &,unsigned short)\n899 CString operator+(CString const &,unsigned short const *)\n900 CString operator+(char,CString const &)\n901 CString operator+(unsigned short,CString const &)\n902 CString operator+(unsigned short const *,CString const &)\n903 CPoint CPoint::operator+(tagPOINT)const \n904 CPoint CPoint::operator+(tagSIZE)const \n905 CRect CPoint::operator+(tagRECT const *)const \n906 CRect CRect::operator+(tagRECT const *)const \n907 CRect CRect::operator+(tagPOINT)const \n908 CRect CRect::operator+(tagSIZE)const \n909 CSize CSize::operator+(tagSIZE)const \n910 CPoint CSize::operator+(tagPOINT)const \n911 CRect CSize::operator+(tagRECT const *)const \n912 CTime CTime::operator+(CTimeSpan)const \n913 CTimeSpan CTimeSpan::operator+(CTimeSpan)const \n914 CRect CRect::operator&(tagRECT const &)const \n915 bool operator<(CString const &,CString const &)\n916 bool operator<(CString const &,unsigned short const *)\n917 bool operator<(unsigned short const *,CString const &)\n918 int CTime::operator<(CTime)const \n919 int CTimeSpan::operator<(CTimeSpan)const \n920 bool operator<=(CString const &,CString const &)\n921 bool operator<=(CString const &,unsigned short const *)\n922 bool operator<=(unsigned short const *,CString const &)\n923 int CTime::operator<=(CTime)const \n924 int CTimeSpan::operator<=(CTimeSpan)const \n925 bool operator>(CString const &,CString const &)\n926 bool operator>(CString const &,unsigned short const *)\n927 bool operator>(unsigned short const *,CString const &)\n928 int CTime::operator>(CTime)const \n929 int CTimeSpan::operator>(CTimeSpan)const \n930 bool operator>=(CString const &,CString const &)\n931 bool operator>=(CString const &,unsigned short const *)\n932 bool operator>=(unsigned short const *,CString const &)\n933 int CTime::operator>=(CTime)const \n934 int CTimeSpan::operator>=(CTimeSpan)const \n935 CRect CRect::operator|(tagRECT const &)const \n936 void CPoint::operator+=(tagPOINT)\n937 void CPoint::operator+=(tagSIZE)\n938 void CRect::operator+=(tagRECT const *)\n939 void CRect::operator+=(tagPOINT)\n940 void CRect::operator+=(tagSIZE)\n941 void CSize::operator+=(tagSIZE)\n942 CString const & CString::operator+=(CString const &)\n943 CString const & CString::operator+=(char)\n944 CString const & CString::operator+=(unsigned short)\n945 CString const & CString::operator+=(unsigned short const *)\n946 CTime const & CTime::operator+=(CTimeSpan)\n947 CTimeSpan const & CTimeSpan::operator+=(CTimeSpan)\n948 void CPoint::operator-=(tagPOINT)\n949 void CPoint::operator-=(tagSIZE)\n950 void CRect::operator-=(tagRECT const *)\n951 void CRect::operator-=(tagPOINT)\n952 void CRect::operator-=(tagSIZE)\n953 void CSize::operator-=(tagSIZE)\n954 CTime const & CTime::operator-=(CTimeSpan)\n955 CTimeSpan const & CTimeSpan::operator-=(CTimeSpan)\n956 int _AfxAbortProc(HDC__ *,int)\n957 int _AfxDeleteRegKey(unsigned short const *)\n958 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n959 int _mbstowcsz(unsigned short *,char const *,unsigned int)\n960 int _wcstombsz(char *,unsigned short const *,unsigned int)\n961 void CArchive::Abort()\n962 void CFile::Abort()\n963 void CInternetFile::Abort()\n964 void CMemFile::Abort()\n965 void CMirrorFile::Abort()\n966 void CStdioFile::Abort()\n967 int CDC::AbortDoc()\n968 int CDC::AbortPath()\n969 void CToolTipCtrl::Activate(int)\n970 void CFrameWnd::ActivateFrame(int)\n971 void CMDIChildWnd::ActivateFrame(int)\n972 void CSplitterWnd::ActivateNext(int)\n973 void CWnd::ActivateTopParent()\n974 int CByteArray::Add(unsigned char)\n975 int CDWordArray::Add(unsigned long)\n976 int CImageList::Add(HICON__ *)\n977 int CImageList::Add(CBitmap *,CBitmap *)\n978 int CImageList::Add(CBitmap *,unsigned long)\n979 int CObArray::Add(CObject *)\n980 int CPtrArray::Add(void *)\n981 void CRecentFileList::Add(unsigned short const *)\n982 int CStringArray::Add(CString const &)\n983 int CStringArray::Add(unsigned short const *)\n984 int CUIntArray::Add(unsigned int)\n985 int CWordArray::Add(unsigned short)\n986 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,unsigned short const *,unsigned long)\n987 int CReBar::AddBar(CWnd *,unsigned short const *,CBitmap *,unsigned long)\n988 int CToolBarCtrl::AddBitmap(int,unsigned int)\n989 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n990 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n991 void CFrameWnd::AddControlBar(CControlBar *)\n992 void CDocManager::AddDocTemplate(CDocTemplate *)\n993 void CWinApp::AddDocTemplate(CDocTemplate *)\n994 void CDocTemplate::AddDocument(CDocument *)\n995 void CMultiDocTemplate::AddDocument(CDocument *)\n996 void CSingleDocTemplate::AddDocument(CDocument *)\n997 void CFrameWnd::AddFrameWnd()\n998 void CTypedSimpleList<CRuntime*>::AddHead(CRuntime*)\n999 void CTypedSimpleList<CThreadData *>::AddHead(CThreadData *)\n1000 void CTypedSimpleList<CDynLinkLibrary *>::AddHead(CDynLinkLibrary *)\n1001 void CTypedSimpleList<CFrameWnd *>::AddHead(CFrameWnd *)\n1002 __POSITION * CObList::AddHead(CObject *)\n1003 void CObList::AddHead(CObList *)\n1004 __POSITION * CPtrList::AddHead(void *)\n1005 void CPtrList::AddHead(CPtrList *)\n1006 void CSimpleList::AddHead(void *)\n1007 __POSITION * CStringList::AddHead(CString const &)\n1008 __POSITION * CStringList::AddHead(unsigned short const *)\n1009 void CStringList::AddHead(CStringList *)\n1010 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1011 void CPropertySheet::AddPage(CPropertyPage *)\n1012 void CPropertySheetEx::AddPage(CPropertyPageEx *)\n1013 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1014 int CHttpFile::AddRequestHeaders(CString &,unsigned long)\n1015 int CHttpFile::AddRequestHeaders(unsigned short const *,unsigned long,int)\n1016 int CComboBox::AddString(unsigned short const *)\n1017 int CComboBoxEx::AddString(unsigned short const *)\n1018 int CListBox::AddString(unsigned short const *)\n1019 int CToolBarCtrl::AddString(unsigned int)\n1020 int CToolBarCtrl::AddStrings(unsigned short const *)\n1021 __POSITION * CObList::AddTail(CObject *)\n1022 void CObList::AddTail(CObList *)\n1023 __POSITION * CPtrList::AddTail(void *)\n1024 void CPtrList::AddTail(CPtrList *)\n1025 __POSITION * CStringList::AddTail(CString const &)\n1026 __POSITION * CStringList::AddTail(unsigned short const *)\n1027 void CStringList::AddTail(CStringList *)\n1028 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1029 int CToolTipCtrl::AddTool(CWnd *,unsigned short const *,tagRECT const *,unsigned int)\n1030 void CWinApp::AddToRecentFileList(unsigned short const *)\n1031 void CDocument::AddView(CView *)\n1032 void CMetaFileDC::AdjustCP(int)\n1033 void CRectTracker::AdjustRect(int,tagRECT *)\n1034 void CTabCtrl::AdjustRect(int,tagRECT *)\n1035 unsigned short * AfxA2WHelper(unsigned short *,char const *,int)\n1036 void AfxAbort()\n1037 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1038 int AfxAssertFailedLine(char const *,int)\n1039 void AfxAssertValidObject(CObject const *,char const *,int)\n1040 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1041 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1042 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1043 void AfxCancelModes(HWND__ *)\n1044 int AfxCheckMemory()\n1045 void AfxClassInit(CRuntime*)\n1046 int AfxComparePath(unsigned short const *,unsigned short const *)\n1047 void AfxCoreInitModule()\n1048 HDC__ * AfxCreateDC(void *,void *)\n1049 int AfxCriticalInit()\n1050 int AfxCriticalNewHandler(unsigned int)\n1051 void AfxCriticalTerm()\n1052 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1053 AUX_DATA afxData\n1054 void AfxDeleteObject(void * *)\n1055 long AfxDelRegTreeHelper(HKEY__ *,CString const &)\n1056 int AfxDiagnosticInit()\n1057 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1058 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1059 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1060 CDumpContext afxDump\n1061 void AfxDump(CObject const *)\n1062 int AfxDumpMemoryLeaks()\n1063 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1064 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1065 void AfxEditviewTerm()\n1066 int AfxEnableMemoryTracking(int)\n1067 void AfxEnableWin31Compatibility()\n1068 void AfxEnableWin40Compatibility()\n1069 int AfxEndDeferRegisterClass(long)\n1070 void AfxEndThread(unsigned int,int)\n1071 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1072 int AfxExtractSubString(CString &,unsigned short const *,int,unsigned short)\n1073 void AfxFailMaxChars(CDataExchange *,int)\n1074 void AfxFailRadio(CDataExchange *)\n1075 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1076 HINSTANCE__ * AfxFindResourceHandle(unsigned short const *,unsigned short const *)\n1077 void AfxFormatString1(CString &,unsigned int,unsigned short const *)\n1078 void AfxFormatString2(CString &,unsigned int,unsigned short const *,unsigned short const *)\n1079 void AfxFormatStrings(CString &,unsigned int,unsigned short const * const *,int)\n1080 void AfxFormatStrings(CString &,unsigned short const *,unsigned short const * const *,int)\n1081 int AfxFreeLibrary(HINSTANCE__ *)\n1082 void AfxFreeMemoryDebug(void *,int)\n1083 int AfxFullPath(unsigned short *,unsigned short const *)\n1084 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1085 CWinApp * AfxGetApp()\n1086 AFX_MODULE_STATE * AfxGetAppModuleState()\n1087 unsigned short const * AfxGetAppName()\n1088 _AFX_CTL3D_STATE * AfxGetCtl3dState()\n1089 CString const & AfxGetEmptyString()\n1090 AFX_EXCEPTION_CONTEXT * AfxGetExceptionContext()\n1091 unsigned int AfxGetFileName(unsigned short const *,unsigned short *,unsigned int)\n1092 unsigned int AfxGetFileTitle(unsigned short const *,unsigned short *,unsigned int)\n1093 int AfxGetInProcServer(unsigned short const *,CString &)\n1094 HINSTANCE__ * AfxGetInstanceHandle()\n1095 unsigned long AfxGetInternetHandleType(void *)\n1096 CWnd * AfxGetMainWnd()\n1097 void AfxGetModuleShortFileName(HINSTANCE__ *,CString &)\n1098 AFX_MODULE_STATE * AfxGetModuleState()\n1099 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1100 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1101 HWND__ * AfxGetParentOwner(HWND__ *)\n1102 int AfxGetPropSheetFont(CString &,unsigned short &,int)\n1103 HINSTANCE__ * AfxGetResourceHandle()\n1104 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1105 void AfxGetRoot(unsigned short const *,CString &)\n1106 CWinThread * AfxGetThread()\n1107 _AFX_THREAD_STATE * AfxGetThreadState()\n1108 void AfxGlobalFree(void *)\n1109 int AfxHelpEnabled()\n1110 void AfxHookWindowCreate(CWnd *)\n1111 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1112 void AfxInitLocalData(HINSTANCE__ *)\n1113 int AfxInitRichEdit()\n1114 void AfxInitThread()\n1115 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1116 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1117 int AfxIsDescendant(HWND__ *,HWND__ *)\n1118 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1119 int AfxIsValidAddress(void const *,unsigned int,int)\n1120 int AfxIsValidString(char const *,int)\n1121 int AfxIsValidString(unsigned short const *,int)\n1122 HINSTANCE__ * AfxLoadLibrary(unsigned short const *)\n1123 int AfxLoadString(unsigned int,unsigned short *,unsigned int)\n1124 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1125 void AfxLockGlobals(int)\n1126 void AfxLockTempMaps()\n1127 CHandleMap * afxMapHDC(int)\n1128 CHandleMap * afxMapHGDIOBJ(int)\n1129 CHandleMap * afxMapHIMAGELIST(int)\n1130 CHandleMap * afxMapHMENU(int)\n1131 CHandleMap * afxMapHWND(int)\n1132 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1133 int AfxMessageBox(unsigned short const *,unsigned int,unsigned int)\n1134 int AfxNewHandler(unsigned int)\n1135 int AfxOleCanExitApp()\n1136 COleMessageFilter * AfxOleGetMessageFilter()\n1137 int AfxOleGetUserCtrl()\n1138 void AfxOleLockApp()\n1139 void AfxOleOnReleaseAllObjects()\n1140 void AfxOleSetUserCtrl(int)\n1141 void AfxOleUnlockApp()\n1142 int AfxParseURL(unsigned short const *,unsigned long &,CString &,CString &,unsigned short &)\n1143 int AfxParseURLEx(unsigned short const *,unsigned long &,CString &,CString &,unsigned short &,CString &,CString &,unsigned long)\n1144 void AfxPostQuitMessage(int)\n1145 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1146 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1147 int AfxRegisterClass(tagWNDCLASSW *)\n1148 unsigned short const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1149 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1150 void AfxResetMsgCache()\n1151 int AfxResolveShortcut(CWnd *,unsigned short const *,unsigned short *,int)\n1152 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1153 void AfxSetAllocStop(long)\n1154 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1155 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1156 void AfxSetResourceHandle(HINSTANCE__ *)\n1157 void AfxSetWindowText(HWND__ *,unsigned short const *)\n1158 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1159 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1160 CString AfxStringFromCLSID(_GUID const &)\n1161 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1162 void AfxTermLocalData(HINSTANCE__ *,int)\n1163 void AfxTermThread(HINSTANCE__ *)\n1164 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1165 void AfxThrowArchiveException(int,unsigned short const *)\n1166 void AfxThrowFileException(int,long,unsigned short const *)\n1167 void AfxThrowInternetException(unsigned long,unsigned long)\n1168 void AfxThrowLastCleanup()\n1169 void AfxThrowMemoryException()\n1170 void AfxThrowNotSupportedException()\n1171 void AfxThrowResourceException()\n1172 void AfxThrowUserException()\n1173 void AfxTimeToFileTime(CTime const &,_FILETIME *)\n1174 void AfxTlsAddRef()\n1175 void AfxTlsRelease()\n1176 void AfxTrace(unsigned short const *,...)\n1177 int afxTraceEnabled\n1178 unsigned int afxTraceFlags\n1179 void AfxTrackerTerm()\n1180 void AfxTryCleanup()\n1181 int AfxUnhookWindowCreate()\n1182 void AfxUnlockGlobals(int)\n1183 int AfxUnlockTempMaps(int)\n1184 char * AfxW2AHelper(char *,unsigned short const *,int)\n1185 void AfxWingdixTerm()\n1186 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,unsigned short *,int)\n1187 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,unsigned short *,int)\n1188 void AfxWinTerm()\n1189 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1190 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1191 void * CFixedAlloc::Alloc()\n1192 unsigned char * CMemFile::Alloc(unsigned long)\n1193 unsigned char * CSharedFile::Alloc(unsigned long)\n1194 void CString::AllocBeforeWrite(int)\n1195 void CString::AllocBuffer(int)\n1196 void CString::AllocCopy(CString &,int,int,int)const \n1197 int CControlBar::AllocElements(int,int)\n1198 int CStatusBar::AllocElements(int,int)\n1199 int CThreadSlotData::AllocSlot()\n1200 int CDC::AngleArc(int,int,int,float,float)\n1201 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1202 int CByteArray::Append(CByteArray const &)\n1203 int CDWordArray::Append(CDWordArray const &)\n1204 int CObArray::Append(CObArray const &)\n1205 int CPtrArray::Append(CPtrArray const &)\n1206 int CStringArray::Append(CStringArray const &)\n1207 int CUIntArray::Append(CUIntArray const &)\n1208 int CWordArray::Append(CWordArray const &)\n1209 int CMenu::AppendMenuW(unsigned int,unsigned int,unsigned short const *)\n1210 int CMenu::AppendMenuW(unsigned int,unsigned int,CBitmap const *)\n1211 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1212 int CDC::Arc(int,int,int,int,int,int,int,int)\n1213 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1214 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1215 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1216 int CListCtrl::Arrange(unsigned int)\n1217 unsigned int CWnd::ArrangeIconicWindows()\n1218 void CBitmapButton::AssertValid()const \n1219 void CByteArray::AssertValid()const \n1220 void CClientDC::AssertValid()const \n1221 void CCmdTarget::AssertValid()const \n1222 void CControlBar::AssertValid()const \n1223 void CCtrlView::AssertValid()const \n1224 void CDC::AssertValid()const \n1225 void CDialog::AssertValid()const \n1226 void CDockBar::AssertValid()const \n1227 void CDocManager::AssertValid()const \n1228 void CDocTemplate::AssertValid()const \n1229 void CDocument::AssertValid()const \n1230 void CDWordArray::AssertValid()const \n1231 void CDynLinkLibrary::AssertValid()const \n1232 void CEditView::AssertValid()const \n1233 void CFile::AssertValid()const \n1234 void CFileFind::AssertValid()const \n1235 void CFormView::AssertValid()const \n1236 void CFrameWnd::AssertValid()const \n1237 void CFtpConnection::AssertValid()const \n1238 void CFtpFileFind::AssertValid()const \n1239 void CGdiObject::AssertValid()const \n1240 void CGopherConnection::AssertValid()const \n1241 void CGopherFile::AssertValid()const \n1242 void CGopherFileFind::AssertValid()const \n1243 void CHttpConnection::AssertValid()const \n1244 void CHttpFile::AssertValid()const \n1245 void CImageList::AssertValid()const \n1246 void CInternetConnection::AssertValid()const \n1247 void CInternetFile::AssertValid()const \n1248 void CMapPtrToPtr::AssertValid()const \n1249 void CMapPtrToWord::AssertValid()const \n1250 void CMapStringToOb::AssertValid()const \n1251 void CMapStringToPtr::AssertValid()const \n1252 void CMapStringToString::AssertValid()const \n1253 void CMapWordToOb::AssertValid()const \n1254 void CMapWordToPtr::AssertValid()const \n1255 void CMDIChildWnd::AssertValid()const \n1256 void CMDIFrameWnd::AssertValid()const \n1257 void CMemFile::AssertValid()const \n1258 void CMenu::AssertValid()const \n1259 void CMultiDocTemplate::AssertValid()const \n1260 void CObArray::AssertValid()const \n1261 void CObject::AssertValid()const \n1262 void CObList::AssertValid()const \n1263 void CPaintDC::AssertValid()const \n1264 void CPreviewDC::AssertValid()const \n1265 void CPreviewView::AssertValid()const \n1266 void CPropertyPage::AssertValid()const \n1267 void CPropertyPageEx::AssertValid()const \n1268 void CPropertySheet::AssertValid()const \n1269 void CPropertySheetEx::AssertValid()const \n1270 void CPtrArray::AssertValid()const \n1271 void CPtrList::AssertValid()const \n1272 void CScrollView::AssertValid()const \n1273 void CSingleDocTemplate::AssertValid()const \n1274 void CSplitterWnd::AssertValid()const \n1275 void CStatusBar::AssertValid()const \n1276 void CStringArray::AssertValid()const \n1277 void CStringList::AssertValid()const \n1278 void CSyncObject::AssertValid()const \n1279 void CToolBar::AssertValid()const \n1280 void CUIntArray::AssertValid()const \n1281 void CView::AssertValid()const \n1282 void CWinApp::AssertValid()const \n1283 void CWindowDC::AssertValid()const \n1284 void CWinThread::AssertValid()const \n1285 void CWnd::AssertValid()const \n1286 void CWordArray::AssertValid()const \n1287 void CString::AssignCopy(int,unsigned short const *)\n1288 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1289 unsigned short * AtlA2WHelper(unsigned short *,char const *,int)\n1290 unsigned short * AtlA2WHelper(unsigned short *,char const *,int,unsigned int)\n1291 char * AtlW2AHelper(char *,unsigned short const *,int)\n1292 char * AtlW2AHelper(char *,unsigned short const *,int,unsigned int)\n1293 int CDC::Attach(HDC__ *)\n1294 int CGdiObject::Attach(void *)\n1295 int CImageList::Attach(_IMAGELIST *)\n1296 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1297 int CMenu::Attach(HMENU__ *)\n1298 int CWnd::Attach(HWND__ *)\n1299 void COleControlContainer::AttachControlSite(CWnd *)\n1300 void CWnd::AttachControlSite(CHandleMap *)\n1301 void CWnd::AttachControlSite(CWnd *)\n1302 CPrintDialog * CPrintDialog::AttachOnSetup()\n1303 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1304 void CToolBarCtrl::AutoSize()\n1305 int CDragListBox::BeginDrag(CPoint)\n1306 int CImageList::BeginDrag(int,CPoint)\n1307 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1308 void CFrameWnd::BeginModalState()\n1309 void CWnd::BeginModalState()\n1310 CDC * CWnd::BeginPaint(tagPAINT*)\n1311 int CDC::BeginPath()\n1312 void CCmdTarget::BeginWaitCursor()\n1313 void CWnd::BindDefaultProperty(long,unsigned short,unsigned short const *,CWnd *)\n1314 void CWnd::BindProperty(long,CWnd *)\n1315 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1316 CPoint & CRect::BottomRight()\n1317 CPoint const & CRect::BottomRight()const \n1318 void CFrameWnd::BringToTop(int)\n1319 void CWnd::BringWindowToTop()\n1320 void CPropertySheet::BuildPropPageArray()\n1321 void CPropertySheetEx::BuildPropPageArray()\n1322 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1323 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1324 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1325 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1326 CSize CControlBar::CalcFixedLayout(int,int)\n1327 CSize CDialogBar::CalcFixedLayout(int,int)\n1328 CSize CDockBar::CalcFixedLayout(int,int)\n1329 CSize CReBar::CalcFixedLayout(int,int)\n1330 CSize CStatusBar::CalcFixedLayout(int,int)\n1331 CSize CToolBar::CalcFixedLayout(int,int)\n1332 void CControlBar::CalcInsideRect(CRect &,int)const \n1333 void CStatusBar::CalcInsideRect(CRect &,int)const \n1334 CSize CToolBar::CalcLayout(unsigned long,int)\n1335 int CCheckListBox::CalcMinimumItemHeight()\n1336 CSize CPreviewView::CalcPageDisplaySize()\n1337 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1338 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1339 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1340 void CMiniFrameWnd::CalcWindowRect(tagRECT *,unsigned int)\n1341 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1342 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1343 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1344 int CSplitterWnd::CanActivateNext(int)\n1345 void CDragListBox::CancelDrag(CPoint)\n1346 void CDockContext::CancelLoop()\n1347 void CPropertyPage::CancelToClose()\n1348 void CWnd::CancelToolTips(int)\n1349 int CDocument::CanCloseFrame(CFrameWnd *)\n1350 unsigned long CDockContext::CanDock()\n1351 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1352 int CFrameWnd::CanEnterHelpMode()\n1353 int CRichEditCtrl::CanPaste(unsigned int)const \n1354 int CEdit::CanUndo()const \n1355 int CRichEditCtrl::CanUndo()const \n1356 void CScrollView::CenterOnPoint(CPoint)\n1357 CPoint CRect::CenterPoint()const \n1358 void CWnd::CenterWindow(CWnd *)\n1359 int CWnd::ChangeClipboardChain(HWND__ *)\n1360 int CEdit::CharFromPos(CPoint)const \n1361 int CListBox::CharToItem(unsigned int,unsigned int)\n1362 int CDialog::CheckAutoCenter()\n1363 int CWnd::CheckAutoCenter()\n1364 int CToolBarCtrl::CheckButton(int,int)\n1365 void CArchive::CheckCount()\n1366 void CWnd::CheckDlgButton(int,unsigned int)\n1367 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1368 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1369 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1370 void CMemoryState::Checkpoint()\n1371 void CWnd::CheckRadioButton(int,int,int)\n1372 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1373 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1374 int CDC::Chord(int,int,int,int,int,int,int,int)\n1375 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1376 CRuntimeconst CAnimateCtrl::classCAnimateCtrl\n1377 CRuntimeconst CArchiveException::classCArchiveException\n1378 CRuntimeconst CBitmap::classCBitmap\n1379 CRuntimeconst CBitmapButton::classCBitmapButton\n1380 CRuntimeconst CBrush::classCBrush\n1381 CRuntimeconst CButton::classCButton\n1382 CRuntimeCByteArray::classCByteArray\n1383 CRuntimeconst CCheckListBox::classCCheckListBox\n1384 CRuntimeconst CClientDC::classCClientDC\n1385 CRuntimeconst CCmdTarget::classCCmdTarget\n1386 CRuntimeconst CColorDialog::classCColorDialog\n1387 CRuntimeconst CComboBox::classCComboBox\n1388 CRuntimeconst CComboBoxEx::classCComboBoxEx\n1389 CRuntimeconst CControlBar::classCControlBar\n1390 CRuntimeconst CCriticalSection::classCCriticalSection\n1391 CRuntimeconst CCtrlView::classCCtrlView\n1392 CRuntimeconst CDC::classCDC\n1393 CRuntimeconst CDialog::classCDialog\n1394 CRuntimeconst CDialogBar::classCDialogBar\n1395 CRuntimeconst CDockBar::classCDockBar\n1396 CRuntimeCDockState::classCDockState\n1397 CRuntimeconst CDocManager::classCDocManager\n1398 CRuntimeconst CDocTemplate::classCDocTemplate\n1399 CRuntimeconst CDocument::classCDocument\n1400 CRuntimeconst CDragListBox::classCDragListBox\n1401 CRuntimeCDWordArray::classCDWordArray\n1402 CRuntimeconst CDynLinkLibrary::classCDynLinkLibrary\n1403 CRuntimeconst CEdit::classCEdit\n1404 CRuntimeconst CEditView::classCEditView\n1405 CRuntimeconst CEvent::classCEvent\n1406 CRuntimeconst CException::classCException\n1407 CRuntimeconst CFile::classCFile\n1408 CRuntimeconst CFileDialog::classCFileDialog\n1409 CRuntimeconst CFileException::classCFileException\n1410 CRuntimeconst CFileFind::classCFileFind\n1411 CRuntimeconst CFindReplaceDialog::classCFindReplaceDialog\n1412 CRuntimeconst CFont::classCFont\n1413 CRuntimeconst CFontDialog::classCFontDialog\n1414 CRuntimeconst CFormView::classCFormView\n1415 CRuntimeconst CFrameWnd::classCFrameWnd\n1416 CRuntimeconst CGdiObject::classCGdiObject\n1417 CRuntimeconst CHeaderCtrl::classCHeaderCtrl\n1418 CRuntimeconst CHotKeyCtrl::classCHotKeyCtrl\n1419 CRuntimeconst CImageList::classCImageList\n1420 CRuntimeconst CInternetException::classCInternetException\n1421 CRuntimeconst CIPAddressCtrl::classCIPAddressCtrl\n1422 CRuntimeconst CListBox::classCListBox\n1423 CRuntimeconst CListCtrl::classCListCtrl\n1424 CRuntimeconst CListView::classCListView\n1425 CRuntimeconst CMapPtrToPtr::classCMapPtrToPtr\n1426 CRuntimeconst CMapPtrToWord::classCMapPtrToWord\n1427 CRuntimeCMapStringToOb::classCMapStringToOb\n1428 CRuntimeconst CMapStringToPtr::classCMapStringToPtr\n1429 CRuntimeCMapStringToString::classCMapStringToString\n1430 CRuntimeCMapWordToOb::classCMapWordToOb\n1431 CRuntimeconst CMapWordToPtr::classCMapWordToPtr\n1432 CRuntimeconst CMDIChildWnd::classCMDIChildWnd\n1433 CRuntimeconst CMDIFrameWnd::classCMDIFrameWnd\n1434 CRuntimeconst CMemFile::classCMemFile\n1435 CRuntimeconst CMemoryException::classCMemoryException\n1436 CRuntimeconst CMenu::classCMenu\n1437 CRuntimeconst CMetaFileDC::classCMetaFileDC\n1438 CRuntimeconst CMiniDockFrameWnd::classCMiniDockFrameWnd\n1439 CRuntimeconst CMiniFrameWnd::classCMiniFrameWnd\n1440 CRuntimeconst CMultiDocTemplate::classCMultiDocTemplate\n1441 CRuntimeconst CMutex::classCMutex\n1442 CRuntimeconst CNotSupportedException::classCNotSupportedException\n1443 CRuntimeCObArray::classCObArray\n1444 CRuntimeconst CObject::classCObject\n1445 CRuntimeCObList::classCObList\n1446 CRuntimeconst CPageSetupDialog::classCPageSetupDialog\n1447 CRuntimeconst CPaintDC::classCPaintDC\n1448 CRuntimeconst CPalette::classCPalette\n1449 CRuntimeconst CPen::classCPen\n1450 CRuntimeconst CPreviewDC::classCPreviewDC\n1451 CRuntimeconst CPreviewView::classCPreviewView\n1452 CRuntimeconst CPrintDialog::classCPrintDialog\n1453 CRuntimeconst CProgressCtrl::classCProgressCtrl\n1454 CRuntimeconst CPropertyPage::classCPropertyPage\n1455 CRuntimeconst CPropertyPageEx::classCPropertyPageEx\n1456 CRuntimeconst CPropertySheet::classCPropertySheet\n1457 CRuntimeconst CPropertySheetEx::classCPropertySheetEx\n1458 CRuntimeconst CPtrArray::classCPtrArray\n1459 CRuntimeconst CPtrList::classCPtrList\n1460 CRuntimeconst CReBar::classCReBar\n1461 CRuntimeconst CReBarCtrl::classCReBarCtrl\n1462 CRuntimeconst CResourceException::classCResourceException\n1463 CRuntimeconst CRgn::classCRgn\n1464 CRuntimeconst CRichEditCtrl::classCRichEditCtrl\n1465 CRuntimeconst CScrollBar::classCScrollBar\n1466 CRuntimeconst CScrollView::classCScrollView\n1467 CRuntimeconst CSemaphore::classCSemaphore\n1468 CRuntimeconst CSharedFile::classCSharedFile\n1469 CRuntimeconst CSingleDocTemplate::classCSingleDocTemplate\n1470 CRuntimeconst CSliderCtrl::classCSliderCtrl\n1471 CRuntimeconst CSpinButtonCtrl::classCSpinButtonCtrl\n1472 CRuntimeconst CSplitterWnd::classCSplitterWnd\n1473 CRuntimeconst CStatic::classCStatic\n1474 CRuntimeconst CStatusBar::classCStatusBar\n1475 CRuntimeconst CStatusBarCtrl::classCStatusBarCtrl\n1476 CRuntimeconst CStdioFile::classCStdioFile\n1477 CRuntimeCStringArray::classCStringArray\n1478 CRuntimeCStringList::classCStringList\n1479 CRuntimeconst CSyncObject::classCSyncObject\n1480 CRuntimeconst CTabCtrl::classCTabCtrl\n1481 CRuntimeconst CToolBar::classCToolBar\n1482 CRuntimeconst CToolBarCtrl::classCToolBarCtrl\n1483 CRuntimeconst CToolTipCtrl::classCToolTipCtrl\n1484 CRuntimeconst CTreeCtrl::classCTreeCtrl\n1485 CRuntimeconst CTreeView::classCTreeView\n1486 CRuntimeconst CUIntArray::classCUIntArray\n1487 CRuntimeconst CUserException::classCUserException\n1488 CRuntimeconst CView::classCView\n1489 CRuntimeconst CWinApp::classCWinApp\n1490 CRuntimeconst CWindowDC::classCWindowDC\n1491 CRuntimeconst CWinThread::classCWinThread\n1492 CRuntimeconst CWnd::classCWnd\n1493 CRuntimeCWordArray::classCWordArray\n1494 void CPropertyPage::Cleanup()\n1495 void CComboBox::Clear()\n1496 void CDockState::Clear()\n1497 void CEdit::Clear()\n1498 void CRichEditCtrl::Clear()\n1499 void CIPAddressCtrl::ClearAddress()\n1500 void CSliderCtrl::ClearSel(int)\n1501 void CSliderCtrl::ClearTics(int)\n1502 void CWnd::ClientToScreen(tagPOINT *)const \n1503 void CWnd::ClientToScreen(tagRECT *)const \n1504 void CPreviewDC::ClipToPage()\n1505 long CArchiveStream::Clone(IStream * *)\n1506 int CAnimateCtrl::Close()\n1507 void CArchive::Close()\n1508 void CFile::Close()\n1509 void CFileFind::Close()\n1510 void CFtpConnection::Close()\n1511 void CGopherConnection::Close()\n1512 void CGopherFile::Close()\n1513 void CHttpConnection::Close()\n1514 void CHttpFile::Close()\n1515 void CInternetConnection::Close()\n1516 void CInternetFile::Close()\n1517 void CInternetSession::Close()\n1518 void CMemFile::Close()\n1519 HMETAFILE__ * CMetaFileDC::Close()\n1520 void CMirrorFile::Close()\n1521 void CStdioFile::Close()\n1522 void CDocManager::CloseAllDocuments(int)\n1523 void CDocTemplate::CloseAllDocuments(int)\n1524 void CWinApp::CloseAllDocuments(int)\n1525 void CFileFind::CloseContext()\n1526 void CFtpFileFind::CloseContext()\n1527 void CGopherFileFind::CloseContext()\n1528 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n1529 int CDC::CloseFigure()\n1530 void CWnd::CloseWindow()\n1531 int CString::Collate(unsigned short const *)const \n1532 int CString::CollateNoCase(unsigned short const *)const \n1533 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n1534 AFX_OLECMDMAP const CCmdTarget::commandMap\n1535 int CStatusBar::CommandToIndex(unsigned int)const \n1536 int CToolBar::CommandToIndex(unsigned int)const \n1537 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n1538 long CArchiveStream::Commit(unsigned long)\n1539 void CPropertyPage::CommonConstruct(unsigned short const *,unsigned int)\n1540 void CPropertyPageEx::CommonConstruct(unsigned short const *,unsigned int,unsigned int,unsigned int)\n1541 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1542 void CPropertySheetEx::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1543 void CWinThread::CommonConstruct()\n1544 int CString::Compare(unsigned short const *)const \n1545 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1546 int CListBox::CompareItem(tagCOMPAREITEM*)\n1547 int CString::CompareNoCase(unsigned short const *)const \n1548 CSize CPreviewDC::ComputeDeltas(int &,unsigned short const *,unsigned int &,int,unsigned int,int *,int,unsigned short *,int *,int &)\n1549 void CString::ConcatCopy(int,unsigned short const *,int,unsigned short const *)\n1550 void CString::ConcatInPlace(int,unsigned short const *)\n1551 AFX_CONNECTIONMAP const CCmdTarget::connectionMap\n1552 void CPropertyPage::Construct(unsigned int,unsigned int)\n1553 void CPropertyPage::Construct(unsigned short const *,unsigned int)\n1554 void CPropertyPageEx::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1555 void CPropertyPageEx::Construct(unsigned short const *,unsigned int,unsigned int,unsigned int)\n1556 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1557 void CPropertySheet::Construct(unsigned short const *,CWnd *,unsigned int)\n1558 void CPropertySheetEx::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1559 void CPropertySheetEx::Construct(unsigned short const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1560 void CRectTracker::Construct()\n1561 void CSimpleList::Construct(int)\n1562 void ConstructElements(CString *,int)\n1563 int CPropertySheet::ContinueModal()\n1564 int CWnd::ContinueModal()\n1565 void CCmdUI::ContinueRouting()\n1566 void CByteArray::Copy(CByteArray const &)\n1567 void CComboBox::Copy()\n1568 void CDWordArray::Copy(CDWordArray const &)\n1569 void CEdit::Copy()\n1570 int CImageList::Copy(int,int,unsigned int)\n1571 int CImageList::Copy(int,CImageList *,int,unsigned int)\n1572 void CObArray::Copy(CObArray const &)\n1573 void CPtrArray::Copy(CPtrArray const &)\n1574 void CRichEditCtrl::Copy()\n1575 void CStringArray::Copy(CStringArray const &)\n1576 void CUIntArray::Copy(CUIntArray const &)\n1577 void CWordArray::Copy(CWordArray const &)\n1578 void CString::CopyBeforeWrite()\n1579 void CopyElements(CString *,CString const *,int)\n1580 void CRect::CopyRect(tagRECT const *)\n1581 int CRgn::CopyRgn(CRgn *)\n1582 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1583 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1584 int CButton::Create(unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1585 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1586 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1587 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CDialog::Create(unsigned int,CWnd *)\n1589 int CDialog::Create(unsigned short const *,CWnd *)\n1590 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n1591 int CDialogBar::Create(CWnd *,unsigned short const *,unsigned int,unsigned int)\n1592 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1593 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1594 int CFindReplaceDialog::Create(int,unsigned short const *,unsigned short const *,unsigned long,CWnd *)\n1595 int CFormView::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1596 int CFrameWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned short const *,unsigned long,CCreateContext *)\n1597 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1598 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1599 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1600 int CImageList::Create(int,int,unsigned int,int,int)\n1601 int CImageList::Create(unsigned int,int,int,unsigned long)\n1602 int CImageList::Create(CImageList *)\n1603 int CImageList::Create(unsigned short const *,int,int,unsigned long)\n1604 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1605 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1606 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1607 int CMDIChildWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1608 int CMetaFileDC::Create(unsigned short const *)\n1609 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1610 int CMiniFrameWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1611 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1612 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1613 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1614 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1615 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1616 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1617 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1618 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1619 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1620 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1621 int CStatic::Create(unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1622 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1623 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1624 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1625 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1626 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1627 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1628 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1629 int CWnd::Create(unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1630 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n1631 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n1632 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n1633 void CWnd::CreateCaret(CBitmap *)\n1634 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n1635 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1636 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n1637 int CDC::CreateCompatibleDC(CDC *)\n1638 int CDC::CreateDCW(unsigned short const *,unsigned short const *,unsigned short const *,void const *)\n1639 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1640 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n1641 int CFtpConnection::CreateDirectoryW(unsigned short const *)\n1642 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n1643 int CWnd::CreateDlg(unsigned short const *,CWnd *)\n1644 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n1645 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1646 CImageList * CHeaderCtrl::CreateDragImage(int)\n1647 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1648 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1649 int CRgn::CreateEllipticRgn(int,int,int,int)\n1650 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n1651 int CMetaFileDC::CreateEnhanced(CDC *,unsigned short const *,tagRECT const *,unsigned short const *)\n1652 int CMiniFrameWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1653 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1654 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1655 int CWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1656 int CWnd::CreateEx(unsigned long,unsigned short const *,unsigned short const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1657 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1658 int CFont::CreateFontIndirectW(tagLOGFONTW const *)\n1659 int CFont::CreateFontW(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned short const *)\n1660 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n1661 int CRgn::CreateFromPath(CDC *)\n1662 void CWnd::CreateGrayCaret(int,int)\n1663 int CPalette::CreateHalftonePalette(CDC *)\n1664 int CBrush::CreateHatchBrush(int,unsigned long)\n1665 int CDC::CreateICW(unsigned short const *,unsigned short const *,unsigned short const *,void const *)\n1666 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1667 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1668 int CDialog::CreateIndirect(void *,CWnd *)\n1669 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1670 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1671 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *,unsigned short const *,unsigned long)\n1672 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *)\n1673 CGopherLocator CGopherConnection::CreateLocator(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short)\n1674 int CMenu::CreateMenu()\n1675 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1676 CDocument * CDocTemplate::CreateNewDocument()\n1677 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1678 CObject * CByteArray::CreateObject()\n1679 CObject * CDC::CreateObject()\n1680 CObject * CDockState::CreateObject()\n1681 CObject * CDWordArray::CreateObject()\n1682 CObject * CEditView::CreateObject()\n1683 CObject * CFrameWnd::CreateObject()\n1684 CObject * CGdiObject::CreateObject()\n1685 CObject * CImageList::CreateObject()\n1686 CObject * CListView::CreateObject()\n1687 CObject * CMapStringToOb::CreateObject()\n1688 CObject * CMapStringToString::CreateObject()\n1689 CObject * CMapWordToOb::CreateObject()\n1690 CObject * CMDIChildWnd::CreateObject()\n1691 CObject * CMDIFrameWnd::CreateObject()\n1692 CObject * CMenu::CreateObject()\n1693 CObject * CMiniDockFrameWnd::CreateObject()\n1694 CObject * CMiniFrameWnd::CreateObject()\n1695 CObject * CObArray::CreateObject()\n1696 CObject * CObList::CreateObject()\n1697 CObject * CPreviewView::CreateObject()\n1698 CObject * CRuntimeClass::CreateObject()\n1699 CObject * CStringArray::CreateObject()\n1700 CObject * CStringList::CreateObject()\n1701 CObject * CTempDC::CreateObject()\n1702 CObject * CTempGdiObject::CreateObject()\n1703 CObject * CTempImageList::CreateObject()\n1704 CObject * CTempMenu::CreateObject()\n1705 CObject * CTempWnd::CreateObject()\n1706 CObject * CTreeView::CreateObject()\n1707 CObject * CWnd::CreateObject()\n1708 CObject * CWordArray::CreateObject()\n1709 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1710 int CPalette::CreatePalette(tagLOGPALETTE *)\n1711 int CBrush::CreatePatternBrush(CBitmap *)\n1712 int CPen::CreatePen(int,int,unsigned long)\n1713 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n1714 int CPen::CreatePenIndirect(tagLOGPEN *)\n1715 int CFont::CreatePointFont(int,unsigned short const *,CDC *)\n1716 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n1717 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n1718 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n1719 int CMenu::CreatePopupMenu()\n1720 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1721 HDC__ * CPrintDialog::CreatePrinterDC()\n1722 int CWinApp::CreatePrinterDC(CDC &)\n1723 int CRgn::CreateRectRgn(int,int,int,int)\n1724 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n1725 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n1726 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1727 int CBrush::CreateSolidBrush(unsigned long)\n1728 void CWnd::CreateSolidCaret(int,int)\n1729 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1730 int CGdiObject::CreateStockObject(int)\n1731 int CBrush::CreateSysColorBrush(int)\n1732 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1733 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1734 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1735 void CToolBarCtrl::Customize()\n1736 void CComboBox::Cut()\n1737 void CEdit::Cut()\n1738 void CRichEditCtrl::Cut()\n1739 void * CPlex::data()\n1740 unsigned short * CStringData::data()\n1741 void DDV_MaxChars(CDataExchange *,CString const &,int)\n1742 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1743 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1744 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1745 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1746 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1747 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1748 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1749 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1750 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1751 void DDX_CBIndex(CDataExchange *,int,int &)\n1752 void DDX_CBString(CDataExchange *,int,CString &)\n1753 void DDX_CBStringExact(CDataExchange *,int,CString &)\n1754 void DDX_Check(CDataExchange *,int,int &)\n1755 void DDX_Control(CDataExchange *,int,CWnd &)\n1756 void DDX_LBIndex(CDataExchange *,int,int &)\n1757 void DDX_LBString(CDataExchange *,int,CString &)\n1758 void DDX_LBStringExact(CDataExchange *,int,CString &)\n1759 void DDX_Radio(CDataExchange *,int,int &)\n1760 void DDX_Scroll(CDataExchange *,int,int &)\n1761 void DDX_Slider(CDataExchange *,int,int &)\n1762 void DDX_Text(CDataExchange *,int,unsigned char &)\n1763 void DDX_Text(CDataExchange *,int,short &)\n1764 void DDX_Text(CDataExchange *,int,int &)\n1765 void DDX_Text(CDataExchange *,int,unsigned int &)\n1766 void DDX_Text(CDataExchange *,int,long &)\n1767 void DDX_Text(CDataExchange *,int,unsigned long &)\n1768 void DDX_Text(CDataExchange *,int,float &)\n1769 void DDX_Text(CDataExchange *,int,double &)\n1770 void DDX_Text(CDataExchange *,int,CString &)\n1771 void DDX_Text(CDataExchange *,int,unsigned short *,int)\n1772 long CWnd::Default()\n1773 void CRect::DeflateRect(int,int)\n1774 void CRect::DeflateRect(int,int,int,int)\n1775 void CRect::DeflateRect(tagRECT const *)\n1776 void CRect::DeflateRect(tagSIZE)\n1777 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1778 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1779 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1780 void CFrameWnd::DelayRecalcLayout(int)\n1781 void CControlBar::DelayShow(int)\n1782 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1783 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1784 void CFrameWnd::DelayUpdateFrameTitle()\n1785 void CException::Delete()\n1786 int CString::Delete(int,int)\n1787 void CWinThread::Delete()\n1788 int CListCtrl::DeleteAllItems()\n1789 int CTabCtrl::DeleteAllItems()\n1790 int CTreeCtrl::DeleteAllItems()\n1791 int CReBarCtrl::DeleteBand(unsigned int)\n1792 int CToolBarCtrl::DeleteButton(int)\n1793 int CListCtrl::DeleteColumn(int)\n1794 void CSplitterWnd::DeleteColumn(int)\n1795 void CDocument::DeleteContents()\n1796 void CEditView::DeleteContents()\n1797 int CDC::DeleteDC()\n1798 int CImageList::DeleteImageList()\n1799 void CComboBox::DeleteItem(tagDELETEITEM*)\n1800 int CComboBoxEx::DeleteItem(int)\n1801 int CHeaderCtrl::DeleteItem(int)\n1802 void CListBox::DeleteItem(tagDELETEITEM*)\n1803 int CListCtrl::DeleteItem(int)\n1804 int CTabCtrl::DeleteItem(int)\n1805 int CTreeCtrl::DeleteItem(_TREEITEM *)\n1806 int CMenu::DeleteMenu(unsigned int,unsigned int)\n1807 int CGdiObject::DeleteObject()\n1808 void CSplitterWnd::DeleteRow(int)\n1809 int CComboBox::DeleteString(unsigned int)\n1810 int CListBox::DeleteString(unsigned int)\n1811 void CHandleMap::DeleteTemp()\n1812 void CDC::DeleteTempMap()\n1813 void CGdiObject::DeleteTempMap()\n1814 void CImageList::DeleteTempMap()\n1815 void CMenu::DeleteTempMap()\n1816 void CWnd::DeleteTempMap()\n1817 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1818 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1819 void CSplitterWnd::DeleteView(int,int)\n1820 long CWinApp::DelRegTree(HKEY__ *,CString const &)\n1821 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1822 void CTabCtrl::DeselectAll(int)\n1823 void CFrameWnd::DestroyDockBars()\n1824 int CMenu::DestroyMenu()\n1825 int CToolTipCtrl::DestroyToolTipCtrl()\n1826 int CControlBar::DestroyWindow()\n1827 int CMDIChildWnd::DestroyWindow()\n1828 int CWnd::DestroyWindow()\n1829 void DestructElements(CString *,int)\n1830 HDC__ * CDC::Detach()\n1831 void * CDialogTemplate::Detach()\n1832 void * CGdiObject::Detach()\n1833 _IMAGELIST * CImageList::Detach()\n1834 unsigned char * CMemFile::Detach()\n1835 HMENU__ * CMenu::Detach()\n1836 void * CSharedFile::Detach()\n1837 HWND__ * CWnd::Detach()\n1838 void CWinApp::DevModeChange(unsigned short *)\n1839 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n1840 int CComboBox::Dir(unsigned int,unsigned short const *)\n1841 int CComboBoxEx::Dir(unsigned int,unsigned short const *)\n1842 int CListBox::Dir(unsigned int,unsigned short const *)\n1843 void CDocument::DisconnectViews()\n1844 AFX_DISPMAP const CCmdTarget::dispatchMap\n1845 void CWinThread::DispatchThreadMessage(tagMSG *)\n1846 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1847 int CRichEditCtrl::DisplayBand(tagRECT *)\n1848 int CWnd::DlgDirListComboBoxW(unsigned short *,int,int,unsigned int)\n1849 int CWnd::DlgDirListW(unsigned short *,int,int,unsigned int)\n1850 int CWnd::DlgDirSelect(unsigned short *,int)\n1851 int CWnd::DlgDirSelectComboBox(unsigned short *,int)\n1852 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1853 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1854 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1855 void CWnd::DoDataExchange(CDataExchange *)\n1856 int CDocument::DoFileSave()\n1857 int CSplitterWnd::DoKeyboardSplit()\n1858 int CWinApp::DoMessageBox(unsigned short const *,unsigned int,unsigned int)\n1859 int CColorDialog::DoModal()\n1860 int CDialog::DoModal()\n1861 int CFileDialog::DoModal()\n1862 int CFontDialog::DoModal()\n1863 int CPageSetupDialog::DoModal()\n1864 int CPrintDialog::DoModal()\n1865 int CPropertySheet::DoModal()\n1866 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n1867 void CControlBar::DoPaint(CDC *)\n1868 void CDockBar::DoPaint(CDC *)\n1869 int CView::DoPreparePrinting(CPrintInfo *)\n1870 int CWinApp::DoPrintDialog(CPrintDialog *)\n1871 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n1872 int CDocManager::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n1873 int CWinApp::DoPromptFileName(CString &,unsigned int,unsigned long,int,CDocTemplate *)\n1874 int CDocument::DoSave(unsigned short const *,int)\n1875 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n1876 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n1877 int CCmdUI::DoUpdate(CCmdTarget *,int)\n1878 void CWinApp::DoWaitCursor(int)\n1879 void CPreviewView::DoZoom(unsigned int,CPoint)\n1880 void CDC::DPtoHIMETRIC(tagSIZE *)const \n1881 void CDC::DPtoLP(tagPOINT *,int)const \n1882 void CDC::DPtoLP(tagRECT *)const \n1883 void CDC::DPtoLP(tagSIZE *)const \n1884 void CWnd::DragAcceptFiles(int)\n1885 int CImageList::DragEnter(CWnd *,CPoint)\n1886 unsigned int CDragListBox::Dragging(CPoint)\n1887 int CImageList::DragLeave(CWnd *)\n1888 int CImageList::DragMove(CPoint)\n1889 void CReBarCtrl::DragMove(unsigned long)\n1890 int CImageList::DragShowNolock(int)\n1891 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n1892 void CRectTracker::Draw(CDC *)const \n1893 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n1894 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n1895 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n1896 void CControlBar::DrawBorders(CDC *,CRect &)\n1897 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n1898 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n1899 int CDC::DrawEscape(int,int,char const *)\n1900 void CDC::DrawFocusRect(tagRECT const *)\n1901 void CDockContext::DrawFocusRect(int)\n1902 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n1903 void CControlBar::DrawGripper(CDC *,CRect const &)\n1904 int CDC::DrawIcon(int,int,HICON__ *)\n1905 int CDC::DrawIcon(tagPOINT,HICON__ *)\n1906 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n1907 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long)\n1908 void CDragListBox::DrawInsert(int)\n1909 void CBitmapButton::DrawItem(tagDRAWITEM*)\n1910 void CButton::DrawItem(tagDRAWITEM*)\n1911 void CCheckListBox::DrawItem(tagDRAWITEM*)\n1912 void CComboBox::DrawItem(tagDRAWITEM*)\n1913 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n1914 void CListBox::DrawItem(tagDRAWITEM*)\n1915 void CListCtrl::DrawItem(tagDRAWITEM*)\n1916 void CListView::DrawItem(tagDRAWITEM*)\n1917 void CMenu::DrawItem(tagDRAWITEM*)\n1918 void CStatusBar::DrawItem(tagDRAWITEM*)\n1919 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n1920 void CTabCtrl::DrawItem(tagDRAWITEM*)\n1921 void CWnd::DrawMenuBar()\n1922 void CDragListBox::DrawSingle(int)\n1923 int DrawState(HDC__ *,HBRUSH__ *,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,int,int,int,int,unsigned int)\n1924 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n1925 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n1926 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n1927 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n1928 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n1929 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n1930 int CDC::DrawState(CPoint,CSize,unsigned short const *,unsigned int,int,int,HBRUSH__ *)\n1931 int CDC::DrawState(CPoint,CSize,unsigned short const *,unsigned int,int,int,CBrush *)\n1932 int CDC::DrawTextW(CString const &,tagRECT *,unsigned int)\n1933 int CDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n1934 int CMetaFileDC::DrawTextW(CString const &,tagRECT *,unsigned int)\n1935 int CMetaFileDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n1936 int CPreviewDC::DrawTextW(unsigned short const *,int,tagRECT *,unsigned int)\n1937 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n1938 void CDragListBox::Dropped(int,CPoint)\n1939 void CArchiveException::Dump(CDumpContext &)const \n1940 void CBitmap::Dump(CDumpContext &)const \n1941 void CBitmapButton::Dump(CDumpContext &)const \n1942 void CBrush::Dump(CDumpContext &)const \n1943 void CByteArray::Dump(CDumpContext &)const \n1944 void CClientDC::Dump(CDumpContext &)const \n1945 void CCmdTarget::Dump(CDumpContext &)const \n1946 void CColorDialog::Dump(CDumpContext &)const \n1947 void CControlBar::Dump(CDumpContext &)const \n1948 void CCtrlView::Dump(CDumpContext &)const \n1949 void CDC::Dump(CDumpContext &)const \n1950 void CDialog::Dump(CDumpContext &)const \n1951 void CDockBar::Dump(CDumpContext &)const \n1952 void CDocManager::Dump(CDumpContext &)const \n1953 void CDocTemplate::Dump(CDumpContext &)const \n1954 void CDocument::Dump(CDumpContext &)const \n1955 void CDWordArray::Dump(CDumpContext &)const \n1956 void CDynLinkLibrary::Dump(CDumpContext &)const \n1957 void CEditView::Dump(CDumpContext &)const \n1958 void CFile::Dump(CDumpContext &)const \n1959 void CFileDialog::Dump(CDumpContext &)const \n1960 void CFileException::Dump(CDumpContext &)const \n1961 void CFileFind::Dump(CDumpContext &)const \n1962 void CFileStatus::Dump(CDumpContext &)const \n1963 void CFindReplaceDialog::Dump(CDumpContext &)const \n1964 void CFont::Dump(CDumpContext &)const \n1965 void CFontDialog::Dump(CDumpContext &)const \n1966 void CFormView::Dump(CDumpContext &)const \n1967 void CFrameWnd::Dump(CDumpContext &)const \n1968 void CFtpConnection::Dump(CDumpContext &)const \n1969 void CFtpFileFind::Dump(CDumpContext &)const \n1970 void CGdiObject::Dump(CDumpContext &)const \n1971 void CGopherConnection::Dump(CDumpContext &)const \n1972 void CGopherFile::Dump(CDumpContext &)const \n1973 void CGopherFileFind::Dump(CDumpContext &)const \n1974 void CHttpConnection::Dump(CDumpContext &)const \n1975 void CHttpFile::Dump(CDumpContext &)const \n1976 void CImageList::Dump(CDumpContext &)const \n1977 void CInternetConnection::Dump(CDumpContext &)const \n1978 void CInternetException::Dump(CDumpContext &)const \n1979 void CInternetFile::Dump(CDumpContext &)const \n1980 void CInternetSession::Dump(CDumpContext &)const \n1981 void CMapPtrToPtr::Dump(CDumpContext &)const \n1982 void CMapPtrToWord::Dump(CDumpContext &)const \n1983 void CMapStringToOb::Dump(CDumpContext &)const \n1984 void CMapStringToPtr::Dump(CDumpContext &)const \n1985 void CMapStringToString::Dump(CDumpContext &)const \n1986 void CMapWordToOb::Dump(CDumpContext &)const \n1987 void CMapWordToPtr::Dump(CDumpContext &)const \n1988 void CMDIChildWnd::Dump(CDumpContext &)const \n1989 void CMDIFrameWnd::Dump(CDumpContext &)const \n1990 void CMemFile::Dump(CDumpContext &)const \n1991 void CMenu::Dump(CDumpContext &)const \n1992 void CMultiDocTemplate::Dump(CDumpContext &)const \n1993 void CObArray::Dump(CDumpContext &)const \n1994 void CObject::Dump(CDumpContext &)const \n1995 void CObList::Dump(CDumpContext &)const \n1996 void CPageSetupDialog::Dump(CDumpContext &)const \n1997 void CPaintDC::Dump(CDumpContext &)const \n1998 void CPen::Dump(CDumpContext &)const \n1999 void CPreviewDC::Dump(CDumpContext &)const \n2000 void CPreviewView::Dump(CDumpContext &)const \n2001 void CPrintDialog::Dump(CDumpContext &)const \n2002 void CPropertyPage::Dump(CDumpContext &)const \n2003 void CPropertyPageEx::Dump(CDumpContext &)const \n2004 void CPropertySheet::Dump(CDumpContext &)const \n2005 void CPropertySheetEx::Dump(CDumpContext &)const \n2006 void CPtrArray::Dump(CDumpContext &)const \n2007 void CPtrList::Dump(CDumpContext &)const \n2008 void CScrollView::Dump(CDumpContext &)const \n2009 void CSingleDocTemplate::Dump(CDumpContext &)const \n2010 void CSplitterWnd::Dump(CDumpContext &)const \n2011 void CStatusBar::Dump(CDumpContext &)const \n2012 void CStdioFile::Dump(CDumpContext &)const \n2013 void CStringArray::Dump(CDumpContext &)const \n2014 void CStringList::Dump(CDumpContext &)const \n2015 void CSyncObject::Dump(CDumpContext &)const \n2016 void CToolBar::Dump(CDumpContext &)const \n2017 void CUIntArray::Dump(CDumpContext &)const \n2018 void CView::Dump(CDumpContext &)const \n2019 void CWinApp::Dump(CDumpContext &)const \n2020 void CWindowDC::Dump(CDumpContext &)const \n2021 void CWinThread::Dump(CDumpContext &)const \n2022 void CWnd::Dump(CDumpContext &)const \n2023 void CWordArray::Dump(CDumpContext &)const \n2024 void CMemoryState::DumpAllObjectsSince()const \n2025 void CMemoryState::DumpStatistics()const \n2026 CFile * CFile::Duplicate()const \n2027 CFile * CInternetFile::Duplicate()const \n2028 CFile * CMemFile::Duplicate()const \n2029 CFile * CStdioFile::Duplicate()const \n2030 unsigned long const CEditView::dwStyleDefault\n2031 CEdit * CListCtrl::EditLabel(int)\n2032 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2033 unsigned char & CByteArray::ElementAt(int)\n2034 unsigned long & CDWordArray::ElementAt(int)\n2035 CObject * & CObArray::ElementAt(int)\n2036 void * & CPtrArray::ElementAt(int)\n2037 CString & CStringArray::ElementAt(int)\n2038 unsigned int & CUIntArray::ElementAt(int)\n2039 unsigned short & CWordArray::ElementAt(int)\n2040 int CDC::Ellipse(int,int,int,int)\n2041 int CDC::Ellipse(tagRECT const *)\n2042 void CString::Empty()\n2043 void CEdit::EmptyUndoBuffer()\n2044 void CRichEditCtrl::EmptyUndoBuffer()\n2045 void CCheckListBox::Enable(int,int)\n2046 void CCmdUI::Enable(int)\n2047 void CStatusCmdUI::Enable(int)\n2048 void CTestCmdUI::Enable(int)\n2049 void CToolCmdUI::Enable(int)\n2050 int CWinApp::Enable3dControls()\n2051 int CToolBarCtrl::EnableButton(int,int)\n2052 void CControlBar::EnableDocking(unsigned long)\n2053 void CFrameWnd::EnableDocking(unsigned long)\n2054 void CReBar::EnableDocking(unsigned long)\n2055 void CStatusBar::EnableDocking(unsigned long)\n2056 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2057 void CWinApp::EnableModeless(int)\n2058 int CScrollBar::EnableScrollBar(unsigned int)\n2059 int CWnd::EnableScrollBar(int,unsigned int)\n2060 void CWnd::EnableScrollBarCtrl(int,int)\n2061 void CWinApp::EnableShellOpen()\n2062 void CPropertySheet::EnableStackedTabs(int)\n2063 int CInternetSession::EnableStatusCallback(int)\n2064 int CWnd::EnableToolTips(int)\n2065 int CWnd::EnableTrackingToolTips(int)\n2066 int CWnd::EnableWindow(int)\n2067 void CDialog::EndDialog(int)\n2068 void CPropertyPage::EndDialog(int)\n2069 void CPropertySheet::EndDialog(int)\n2070 int CDC::EndDoc()\n2071 void CDockContext::EndDrag()\n2072 void CImageList::EndDrag()\n2073 void CReBarCtrl::EndDrag()\n2074 void CWnd::EndModalLoop(int)\n2075 void CFrameWnd::EndModalState()\n2076 void CWnd::EndModalState()\n2077 int CDC::EndPage()\n2078 void CWnd::EndPaint(tagPAINT*)\n2079 int CDC::EndPath()\n2080 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2081 void CDockContext::EndResize()\n2082 void CCmdTarget::EndWaitCursor()\n2083 int CListCtrl::EnsureVisible(int,int)\n2084 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n2085 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n2086 int CRect::EqualRect(tagRECT const *)const \n2087 int CRgn::EqualRgn(CRgn *)const \n2088 void CControlBar::EraseNonClient()\n2089 int CFileException::ErrnoToException(int)\n2090 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2091 int CDC::Escape(int,int,char const *,int,char *)\n2092 int CDC::Escape(int,int,char const *,void *)\n2093 int CMetaFileDC::Escape(int,int,char const *,void *)\n2094 int CPreviewDC::Escape(int,int,char const *,void *)\n2095 AFX_EVENTSINKMAP const CCmdTarget::eventsinkMap\n2096 int CDC::ExcludeClipRect(int,int,int,int)\n2097 int CDC::ExcludeClipRect(tagRECT const *)\n2098 int CDC::ExcludeUpdateRgn(CWnd *)\n2099 int CWnd::ExecuteDlgInit(void *)\n2100 int CWnd::ExecuteDlgInit(unsigned short const *)\n2101 void CFrameWnd::ExitHelpMode()\n2102 int CWinApp::ExitInstance()\n2103 int CWinThread::ExitInstance()\n2104 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n2105 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n2106 HICON__ * CImageList::ExtractIconW(int)\n2107 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,CString const &,int *)\n2108 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2109 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,CString const &,int *)\n2110 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2111 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,unsigned short const *,unsigned int,int *)\n2112 void CDataExchange::Fail()\n2113 void CArchive::FillBuffer(unsigned int)\n2114 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2115 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2116 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2117 int CDC::FillPath()\n2118 void CDC::FillRect(tagRECT const *,CBrush *)\n2119 int CDC::FillRgn(CRgn *,CBrush *)\n2120 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2121 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2122 void CWnd::FilterToolTipMessage(tagMSG *)\n2123 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2124 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2125 int CString::Find(unsigned short)const \n2126 int CString::Find(unsigned short,int)const \n2127 int CString::Find(unsigned short const *)const \n2128 int CString::Find(unsigned short const *,int)const \n2129 __POSITION * CStringList::Find(unsigned short const *,__POSITION *)const \n2130 int CDockBar::FindBar(CControlBar *,int)\n2131 int CFileFind::FindFile(unsigned short const *,unsigned long)\n2132 int CFtpFileFind::FindFile(unsigned short const *,unsigned long)\n2133 int CGopherFileFind::FindFile(CGopherLocator &,unsigned short const *,unsigned long)\n2134 int CGopherFileFind::FindFile(unsigned short const *,unsigned long)\n2135 __POSITION * CObList::FindIndex(int)const \n2136 __POSITION * CPtrList::FindIndex(int)const \n2137 __POSITION * CStringList::FindIndex(int)const \n2138 int CListCtrl::FindItem(tagLVFINDINFOW *,int)const \n2139 int CFindReplaceDialog::FindNext()const \n2140 int CFileFind::FindNextFileW()\n2141 int CFtpFileFind::FindNextFileW()\n2142 int CGopherFileFind::FindNextFileW()\n2143 int CString::FindOneOf(unsigned short const *)const \n2144 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2145 int CComboBox::FindString(int,unsigned short const *)const \n2146 int CComboBoxEx::FindString(int,unsigned short const *)const \n2147 int CListBox::FindString(int,unsigned short const *)const \n2148 int CComboBox::FindStringExact(int,unsigned short const *)const \n2149 int CListBox::FindStringExact(int,unsigned short const *)const \n2150 int CEditView::FindTextW(unsigned short const *,int,int)\n2151 long CRichEditCtrl::FindTextW(unsigned long,_findtextexa *)const \n2152 CWnd * CWnd::FindWindowW(unsigned short const *,unsigned short const *)\n2153 int CWnd::FlashWindow(int)\n2154 int CDC::FlattenPath()\n2155 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2156 int CDC::FloodFill(int,int,unsigned long)\n2157 void CArchive::Flush()\n2158 void CDumpContext::Flush()\n2159 void CFile::Flush()\n2160 void CInternetFile::Flush()\n2161 void CMemFile::Flush()\n2162 void CStdioFile::Flush()\n2163 int CEdit::FmtLines(int)\n2164 int FontAttrSize(int)\n2165 void CString::Format(unsigned int,...)\n2166 void CString::Format(unsigned short const *,...)\n2167 CString CTime::Format(unsigned int)const \n2168 CString CTime::Format(char const *)const \n2169 CString CTime::Format(unsigned short const *)const \n2170 CString CTimeSpan::Format(unsigned int)const \n2171 CString CTimeSpan::Format(char const *)const \n2172 CString CTimeSpan::Format(unsigned short const *)const \n2173 CString CTime::FormatGmt(unsigned int)const \n2174 CString CTime::FormatGmt(char const *)const \n2175 CString CTime::FormatGmt(unsigned short const *)const \n2176 void CString::FormatMessageW(unsigned int,...)\n2177 void CString::FormatMessageW(unsigned short const *,...)\n2178 long CRichEditCtrl::FormatRange(_formatrange *,int)\n2179 void CString::FormatV(unsigned short const *,char *)\n2180 void CDC::FrameRect(tagRECT const *,CBrush *)\n2181 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n2182 void CFixedAlloc::Free(void *)\n2183 void CMemFile::Free(unsigned char *)\n2184 void CSharedFile::Free(unsigned char *)\n2185 void CFixedAlloc::FreeAll()\n2186 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2187 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2188 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2189 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2190 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2191 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2192 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2193 void __fastcall CString::FreeData(CStringData *)\n2194 void CPlex::FreeDataChain()\n2195 void CByteArray::FreeExtra()\n2196 void CDWordArray::FreeExtra()\n2197 void CObArray::FreeExtra()\n2198 void CPtrArray::FreeExtra()\n2199 void CString::FreeExtra()\n2200 void CStringArray::FreeExtra()\n2201 void CUIntArray::FreeExtra()\n2202 void CWordArray::FreeExtra()\n2203 void CObList::FreeNode(CObList::CNode *)\n2204 void CPtrList::FreeNode(CPtrList::CNode *)\n2205 void CStringList::FreeNode(CStringList::CNode *)\n2206 void CThreadSlotData::FreeSlot(int)\n2207 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n2208 CBrush * CBrush::FromHandle(HBRUSH__ *)\n2209 CDC * CDC::FromHandle(HDC__ *)\n2210 CFont * CFont::FromHandle(HFONT__ *)\n2211 CGdiObject * CGdiObject::FromHandle(void *)\n2212 CObject * CHandleMap::FromHandle(void *)\n2213 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2214 CMenu * CMenu::FromHandle(HMENU__ *)\n2215 CPalette * CPalette::FromHandle(HPALETTE__ *)\n2216 CPen * CPen::FromHandle(HPEN__ *)\n2217 CRgn * CRgn::FromHandle(HRGN__ *)\n2218 CWnd * CWnd::FromHandle(HWND__ *)\n2219 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2220 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2221 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2222 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n2223 CDocument * CFrameWnd::GetActiveDocument()\n2224 CFrameWnd * CFrameWnd::GetActiveFrame()\n2225 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2226 int CPropertySheet::GetActiveIndex()const \n2227 CPropertyPage * CPropertySheet::GetActivePage()const \n2228 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n2229 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2230 CView * CFrameWnd::GetActiveView()const \n2231 CWnd * CWnd::GetActiveWindow()\n2232 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2233 int CIPAddressCtrl::GetAddress(unsigned long &)\n2234 int CString::GetAllocLength()const \n2235 int CToolBarCtrl::GetAnchorHighlight()const \n2236 int CListBox::GetAnchorIndex()const \n2237 HKEY__ * CWinApp::GetAppRegistryKey()\n2238 int CDC::GetArcDirection()const \n2239 CSize CDC::GetAspectRatioFilter()const \n2240 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &)const \n2241 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &)const \n2242 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(unsigned short const *,unsigned int &)const \n2243 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(unsigned short const *,unsigned int &)const \n2244 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(unsigned short const *,unsigned int &)const \n2245 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &)const \n2246 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &)const \n2247 int CTime::GetAsSystemTime(_SYSTEMTIME &)const \n2248 unsigned char CByteArray::GetAt(int)const \n2249 unsigned long CDWordArray::GetAt(int)const \n2250 CObject * CObArray::GetAt(int)const \n2251 CObject * & CObList::GetAt(__POSITION *)\n2252 CObject * CObList::GetAt(__POSITION *)const \n2253 void * CPtrArray::GetAt(int)const \n2254 void * & CPtrList::GetAt(__POSITION *)\n2255 void * CPtrList::GetAt(__POSITION *)const \n2256 unsigned short CString::GetAt(int)const \n2257 CString CStringArray::GetAt(int)const \n2258 CString & CStringList::GetAt(__POSITION *)\n2259 CString CStringList::GetAt(__POSITION *)const \n2260 unsigned int CUIntArray::GetAt(int)const \n2261 unsigned short CWordArray::GetAt(int)const \n2262 int CGopherConnection::GetAttribute(CGopherLocator &,CString,CString &)\n2263 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n2264 unsigned int CReBarCtrl::GetBandCount()const \n2265 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOW *)const \n2266 unsigned int CReBarCtrl::GetBarHeight()const \n2267 void CControlBar::GetBarInfo(CControlBarInfo *)\n2268 void CDockBar::GetBarInfo(CControlBarInfo *)\n2269 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n2270 unsigned long CControlBar::GetBarStyle()\n2271 unsigned int CSpinButtonCtrl::GetBase()const \n2272 int CBitmap::GetBitmap(tagBITMAP *)\n2273 HBITMAP__ * CButton::GetBitmap()const \n2274 HBITMAP__ * CStatic::GetBitmap()const \n2275 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n2276 CSize CBitmap::GetBitmapDimension()const \n2277 unsigned int CToolBarCtrl::GetBitmapFlags()const \n2278 unsigned long CDC::GetBkColor()const \n2279 unsigned long CImageList::GetBkColor()const \n2280 unsigned long CListCtrl::GetBkColor()const \n2281 unsigned long CReBarCtrl::GetBkColor()const \n2282 unsigned long CTreeCtrl::GetBkColor()const \n2283 int CListCtrl::GetBkImage(tagLVBKIMAGEW *)const \n2284 int CDC::GetBkMode()const \n2285 CRect CControlBar::GetBorders()const \n2286 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2287 int CStatusBarCtrl::GetBorders(int *)const \n2288 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n2289 CPoint CDC::GetBrushOrg()const \n2290 CWnd * CSliderCtrl::GetBuddy(int)const \n2291 CWnd * CSpinButtonCtrl::GetBuddy()const \n2292 unsigned short * CString::GetBuffer(int)\n2293 unsigned int CEditView::GetBufferLength()const \n2294 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2295 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2296 unsigned short * CString::GetBufferSetLength(int)\n2297 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n2298 int CToolBarCtrl::GetButtonCount()const \n2299 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2300 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOW *)const \n2301 unsigned long CToolBarCtrl::GetButtonSize()const \n2302 unsigned int CButton::GetButtonStyle()const \n2303 unsigned int CToolBar::GetButtonStyle(int)const \n2304 CString CToolBar::GetButtonText(int)const \n2305 void CToolBar::GetButtonText(int,CString &)const \n2306 unsigned int CListCtrl::GetCallbackMask()const \n2307 CWnd * CWnd::GetCapture()\n2308 int CListBox::GetCaretIndex()const \n2309 CPoint CWnd::GetCaretPos()\n2310 void CSliderCtrl::GetChannelRect(tagRECT *)const \n2311 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABC *)const \n2312 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABCFLOAT *)const \n2313 void CFontDialog::GetCharFormat(_charformat &)const \n2314 CPoint CRichEditCtrl::GetCharPos(long)const \n2315 int CDC::GetCharWidthW(unsigned int,unsigned int,int *)const \n2316 int CDC::GetCharWidthW(unsigned int,unsigned int,float *)const \n2317 int CButton::GetCheck()const \n2318 int CCheckListBox::GetCheck(int)\n2319 int CListCtrl::GetCheck(int)const \n2320 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2321 int CWnd::GetCheckedRadioButton(int,int)\n2322 unsigned int CCheckListBox::GetCheckStyle()\n2323 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n2324 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2325 void CWnd::GetClientRect(tagRECT *)const \n2326 CWnd * CWnd::GetClipboardOwner()\n2327 CWnd * CWnd::GetClipboardViewer()\n2328 int CDC::GetClipBox(tagRECT *)const \n2329 int CMetaFileDC::GetClipBox(tagRECT *)const \n2330 unsigned long CColorDialog::GetColor()const \n2331 unsigned long CFontDialog::GetColor()const \n2332 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n2333 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2334 int CListCtrl::GetColumn(int,tagLVCOLUMNW *)const \n2335 int CSplitterWnd::GetColumnCount()const \n2336 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2337 int CListCtrl::GetColumnOrderArray(int *,int)\n2338 int CListCtrl::GetColumnWidth(int)const \n2339 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n2340 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2341 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2342 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2343 unsigned long CInternetConnection::GetContext()const \n2344 unsigned long CInternetFile::GetContext()const \n2345 unsigned long CInternetSession::GetContext()const \n2346 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2347 IUnknown * CWnd::GetControlUnknown()\n2348 int CInternetSession::GetCookie(char const *,unsigned short const *,CString &)\n2349 int CInternetSession::GetCookie(char const *,unsigned short const *,unsigned short *,unsigned long)\n2350 unsigned long CInternetSession::GetCookieLength(char const *,unsigned short const *)\n2351 int CPrintDialog::GetCopies()const \n2352 int CComboBox::GetCount()const \n2353 int CControlBar::GetCount()const \n2354 int CListBox::GetCount()const \n2355 int CMapPtrToPtr::GetCount()const \n2356 int CMapPtrToWord::GetCount()const \n2357 int CMapStringToOb::GetCount()const \n2358 int CMapStringToPtr::GetCount()const \n2359 int CMapStringToString::GetCount()const \n2360 int CMapWordToOb::GetCount()const \n2361 int CMapWordToPtr::GetCount()const \n2362 int CObList::GetCount()const \n2363 int CPtrList::GetCount()const \n2364 int CStringList::GetCount()const \n2365 unsigned int CTreeCtrl::GetCount()const \n2366 int CListCtrl::GetCountPerPage()const \n2367 int CFileFind::GetCreationTime(CTime &)const \n2368 int CFileFind::GetCreationTime(_FILETIME *)const \n2369 int CGopherFileFind::GetCreationTime(CTime &)const \n2370 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2371 int CTabCtrl::GetCurFocus()const \n2372 CBitmap * CDC::GetCurrentBitmap()const \n2373 CBrush * CDC::GetCurrentBrush()const \n2374 int CFtpConnection::GetCurrentDirectoryAsURL(CString &)const \n2375 int CFtpConnection::GetCurrentDirectoryAsURL(unsigned short *,unsigned long *)const \n2376 int CFtpConnection::GetCurrentDirectoryW(CString &)const \n2377 int CFtpConnection::GetCurrentDirectoryW(unsigned short *,unsigned long *)const \n2378 CFont * CDC::GetCurrentFont()const \n2379 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n2380 tagMSG const * CWnd::GetCurrentMessage()\n2381 CPalette * CDC::GetCurrentPalette()const \n2382 CPen * CDC::GetCurrentPen()const \n2383 CPoint CDC::GetCurrentPosition()const \n2384 int CComboBox::GetCurSel()const \n2385 int CListBox::GetCurSel()const \n2386 int CTabCtrl::GetCurSel()const \n2387 HICON__ * CButton::GetCursor()\n2388 HICON__ * CStatic::GetCursor()\n2389 unsigned char * CByteArray::GetData()\n2390 unsigned char const * CByteArray::GetData()const \n2391 unsigned long * CDWordArray::GetData()\n2392 unsigned long const * CDWordArray::GetData()const \n2393 CObject * * CObArray::GetData()\n2394 CObject const * * CObArray::GetData()const \n2395 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2396 void * * CPtrArray::GetData()\n2397 void const * * CPtrArray::GetData()const \n2398 CStringData * CString::GetData()const \n2399 CString * CStringArray::GetData()\n2400 CString const * CStringArray::GetData()const \n2401 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2402 unsigned int * CUIntArray::GetData()\n2403 unsigned int const * CUIntArray::GetData()const \n2404 unsigned short * CWordArray::GetData()\n2405 unsigned short const * CWordArray::GetData()const \n2406 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2407 int CTime::GetDay()const \n2408 int CTime::GetDayOfWeek()const \n2409 long CTimeSpan::GetDays()const \n2410 CDC * CWnd::GetDC()\n2411 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n2412 HACCEL__ * CDocument::GetDefaultAccelerator()\n2413 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2414 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2415 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n2416 HMENU__ * CDocument::GetDefaultMenu()\n2417 int CPrintDialog::GetDefaults()\n2418 unsigned long CDialog::GetDefID()const \n2419 int CToolTipCtrl::GetDelayTime(unsigned long)const \n2420 int CDumpContext::GetDepth()const \n2421 CWnd * CWnd::GetDescendantWindow(int,int)const \n2422 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2423 CWnd * CWnd::GetDesktopWindow()\n2424 int CDC::GetDeviceCaps(int)const \n2425 CString CPageSetupDialog::GetDeviceName()const \n2426 CString CPrintDialog::GetDeviceName()const \n2427 CPoint CScrollView::GetDeviceScrollPosition()const \n2428 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2429 _devicemodeW * CPageSetupDialog::GetDevMode()const \n2430 _devicemodeW * CPrintDialog::GetDevMode()const \n2431 CImageList * CToolBarCtrl::GetDisabledImageList()const \n2432 int CCmdTarget::GetDispatchIID(_GUID *)\n2433 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2434 int CRecentFileList::GetDisplayName(CString &,int,unsigned short const *,int,int)const \n2435 int CWnd::GetDlgCtrlID()const \n2436 CWnd * CWnd::GetDlgItem(int)const \n2437 void CWnd::GetDlgItem(int,HWND__ * *)const \n2438 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2439 int CWnd::GetDlgItemTextW(int,CString &)const \n2440 int CWnd::GetDlgItemTextW(int,unsigned short *,int)const \n2441 CDockBar * CDockContext::GetDockBar(unsigned long)\n2442 CControlBar * CDockBar::GetDockedControlBar(int)const \n2443 int CDockBar::GetDockedCount()const \n2444 int CDockBar::GetDockedVisibleCount()const \n2445 CFrameWnd * CControlBar::GetDockingFrame()const \n2446 void CFrameWnd::GetDockState(CDockState &)const \n2447 int CDocTemplate::GetDocString(CString &,enum CDocTemplate::DocStringIndex)const \n2448 CDocTemplate * CDocument::GetDocTemplate()const \n2449 CDocument * CView::GetDocument()const \n2450 int CDocManager::GetDocumentCount()\n2451 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n2452 CString CPageSetupDialog::GetDriverName()const \n2453 CString CPrintDialog::GetDriverName()const \n2454 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n2455 void CComboBox::GetDroppedControlRect(tagRECT *)const \n2456 int CComboBox::GetDroppedState()const \n2457 int CComboBox::GetDroppedWidth()const \n2458 IDropTarget * CReBarCtrl::GetDropTarget()const \n2459 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2460 IUnknown * CWnd::GetDSCCursor()\n2461 CEdit * CListCtrl::GetEditControl()const \n2462 CEdit * CTreeCtrl::GetEditControl()const \n2463 CEdit * CComboBoxEx::GetEditCtrl()\n2464 CEdit & CEditView::GetEditCtrl()const \n2465 unsigned long CComboBox::GetEditSel()const \n2466 HENHMETAFILE__ * CStatic::GetEnhMetaFileW()const \n2467 int CPalette::GetEntryCount()\n2468 int CArchiveException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n2469 int CException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n2470 int CFileException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n2471 int CInternetException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n2472 int CSimpleException::GetErrorMessage(unsigned short *,unsigned int,unsigned int *)\n2473 long CRichEditCtrl::GetEventMask()const \n2474 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2475 unsigned long CWnd::GetExStyle()const \n2476 unsigned long CComboBoxEx::GetExtendedStyle()const \n2477 unsigned long CListCtrl::GetExtendedStyle()\n2478 unsigned long CTabCtrl::GetExtendedStyle()\n2479 unsigned long CToolBarCtrl::GetExtendedStyle()const \n2480 int CComboBox::GetExtendedUI()const \n2481 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n2482 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2483 CString CFontDialog::GetFaceName()const \n2484 CFile * CArchive::GetFile()const \n2485 CFile * CDocument::GetFile(unsigned short const *,unsigned int,CFileException *)\n2486 int CFtpConnection::GetFile(unsigned short const *,unsigned short const *,int,unsigned long,unsigned long,unsigned long)\n2487 CString CFileDialog::GetFileExt()const \n2488 CString CFile::GetFileName()const \n2489 CString CFileDialog::GetFileName()const \n2490 CString CFileFind::GetFileName()const \n2491 CString CGopherFileFind::GetFileName()const \n2492 CString CFile::GetFilePath()const \n2493 CString CFileFind::GetFilePath()const \n2494 CString CGopherFileFind::GetFilePath()const \n2495 short GetFileTitle(unsigned short const *,unsigned short *,unsigned short)\n2496 CString CFile::GetFileTitle()const \n2497 CString CFileDialog::GetFileTitle()const \n2498 CString CFileFind::GetFileTitle()const \n2499 CString CGopherFileFind::GetFileTitle()const \n2500 CString CFileFind::GetFileURL()const \n2501 CString CFtpFileFind::GetFileURL()const \n2502 CString CGopherFileFind::GetFileURL()const \n2503 CString CHttpFile::GetFileURL()const \n2504 CString CFindReplaceDialog::GetFindString()const \n2505 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2506 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2507 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2508 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2509 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n2510 __POSITION * CDocument::GetFirstViewPosition()const \n2511 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n2512 int CEdit::GetFirstVisibleLine()const \n2513 int CRichEditCtrl::GetFirstVisibleLine()const \n2514 CWnd * CWnd::GetFocus()\n2515 CString CFileDialog::GetFolderPath()const \n2516 int CDialogTemplate::GetFont(CString &,unsigned short &)const \n2517 int CDialogTemplate::GetFont(DLGTEMPLATE const *,CString &,unsigned short &)\n2518 CFont * CWnd::GetFont()const \n2519 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n2520 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2521 CWnd * CWnd::GetForegroundWindow()\n2522 int CPrintDialog::GetFromPage()const \n2523 unsigned int CPrintInfo::GetFromPage()const \n2524 CFtpConnection * CInternetSession::GetFtpConnection(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short,int)\n2525 unsigned long CDC::GetGlyphOutlineW(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n2526 tm * CTime::GetGmtTm(tm *)const \n2527 CGopherConnection * CInternetSession::GetGopherConnection(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short)\n2528 CBrush * CDC::GetHalftoneBrush()\n2529 void * CEdit::GetHandle()const \n2530 unsigned int CRectTracker::GetHandleMask()const \n2531 void CRectTracker::GetHandleRect(int,CRect *)const \n2532 int CRectTracker::GetHandleSize(tagRECT const *)const \n2533 unsigned int CMapPtrToPtr::GetHashTableSize()const \n2534 unsigned int CMapPtrToWord::GetHashTableSize()const \n2535 unsigned int CMapStringToOb::GetHashTableSize()const \n2536 unsigned int CMapStringToPtr::GetHashTableSize()const \n2537 unsigned int CMapStringToString::GetHashTableSize()const \n2538 unsigned int CMapWordToOb::GetHashTableSize()const \n2539 unsigned int CMapWordToPtr::GetHashTableSize()const \n2540 CRuntime* CTypedSimpleList<CRuntime*>::GetHead()\n2541 COleObjectFactory * CTypedSimpleList<COleObjectFactory *>::GetHead()\n2542 CObject * & CObList::GetHead()\n2543 CObject * CObList::GetHead()const \n2544 void * & CPtrList::GetHead()\n2545 void * CPtrList::GetHead()const \n2546 void * CSimpleList::GetHead()const \n2547 CString & CStringList::GetHead()\n2548 CString CStringList::GetHead()const \n2549 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2550 __POSITION * CObList::GetHeadPosition()const \n2551 __POSITION * CPtrList::GetHeadPosition()const \n2552 __POSITION * CStringList::GetHeadPosition()const \n2553 void CSplitterWnd::GetHitRect(int,CRect &)\n2554 unsigned int CComboBox::GetHorizontalExtent()const \n2555 int CListBox::GetHorizontalExtent()const \n2556 HICON__ * CListCtrl::GetHotCursor()\n2557 CImageList * CToolBarCtrl::GetHotImageList()const \n2558 int CListCtrl::GetHotItem()\n2559 int CToolBarCtrl::GetHotItem()const \n2560 unsigned long CHotKeyCtrl::GetHotKey()const \n2561 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2562 int CTime::GetHour()const \n2563 int CTimeSpan::GetHours()const \n2564 unsigned long CListCtrl::GetHoverTime()const \n2565 CHttpConnection * CInternetSession::GetHttpConnection(unsigned short const *,unsigned short,unsigned short const *,unsigned short const *)\n2566 CHttpConnection * CInternetSession::GetHttpConnection(unsigned short const *,unsigned long,unsigned short,unsigned short const *,unsigned short const *)\n2567 HICON__ * CButton::GetIcon()const \n2568 HICON__ * CStatic::GetIcon()const \n2569 HICON__ * CWnd::GetIcon(int)const \n2570 unsigned short const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2571 int CImageList::GetImageCount()const \n2572 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n2573 CImageList * CComboBoxEx::GetImageList()const \n2574 CImageList * CHeaderCtrl::GetImageList()const \n2575 CImageList * CListCtrl::GetImageList(int)const \n2576 CImageList * CReBarCtrl::GetImageList()const \n2577 CImageList * CTabCtrl::GetImageList()const \n2578 CImageList * CToolBarCtrl::GetImageList()const \n2579 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n2580 unsigned int CTreeCtrl::GetIndent()const \n2581 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n2582 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n2583 unsigned long CTreeCtrl::GetInsertMarkColor()const \n2584 void CSplitterWnd::GetInsideRect(CRect &)const \n2585 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2586 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2587 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2588 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n2589 int CHeaderCtrl::GetItem(int,_HD_ITEMW *)const \n2590 int CListCtrl::GetItem(tagLVITEMW *)const \n2591 int CTabCtrl::GetItem(int,tagTCITEMW *)const \n2592 int CTreeCtrl::GetItem(tagTVITEMW *)const \n2593 int CHeaderCtrl::GetItemCount()const \n2594 int CListCtrl::GetItemCount()const \n2595 int CTabCtrl::GetItemCount()const \n2596 unsigned long CComboBox::GetItemData(int)const \n2597 unsigned long CListBox::GetItemData(int)const \n2598 unsigned long CListCtrl::GetItemData(int)const \n2599 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2600 void * CComboBox::GetItemDataPtr(int)const \n2601 void * CListBox::GetItemDataPtr(int)const \n2602 int CComboBox::GetItemHeight(int)const \n2603 int CListBox::GetItemHeight(int)const \n2604 short CTreeCtrl::GetItemHeight()const \n2605 unsigned int CStatusBar::GetItemID(int)const \n2606 unsigned int CToolBar::GetItemID(int)const \n2607 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2608 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n2609 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n2610 int CListBox::GetItemRect(int,tagRECT *)const \n2611 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2612 void CStatusBar::GetItemRect(int,tagRECT *)const \n2613 int CTabCtrl::GetItemRect(int,tagRECT *)const \n2614 void CToolBar::GetItemRect(int,tagRECT *)const \n2615 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n2616 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2617 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n2618 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2619 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2620 CString CListCtrl::GetItemText(int,int)const \n2621 int CListCtrl::GetItemText(int,int,unsigned short *,int)const \n2622 CString CTreeCtrl::GetItemText(_TREEITEM *)const \n2623 int CDC::GetKerningPairsW(int,tagKERNINGPAIR *)const \n2624 int CFileFind::GetLastAccessTime(CTime &)const \n2625 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2626 int CGopherFileFind::GetLastAccessTime(CTime &)const \n2627 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2628 CWnd * CWnd::GetLastActivePopup()const \n2629 int CFileFind::GetLastWriteTime(CTime &)const \n2630 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2631 int CGopherFileFind::GetLastWriteTime(CTime &)const \n2632 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2633 unsigned long CDC::GetLayout()const \n2634 int CComboBox::GetLBText(int,unsigned short *)const \n2635 void CComboBox::GetLBText(int,CString &)const \n2636 int CComboBox::GetLBTextLen(int)const \n2637 unsigned long CFile::GetLength()const \n2638 unsigned long CFileFind::GetLength()const \n2639 unsigned long CGopherFileFind::GetLength()const \n2640 unsigned long CInternetFile::GetLength()const \n2641 int CString::GetLength()const \n2642 __int64 CFileFind::GetLength64()const \n2643 __int64 CGopherFileFind::GetLength64()const \n2644 unsigned int CEdit::GetLimitText()const \n2645 long CRichEditCtrl::GetLimitText()const \n2646 int CEdit::GetLine(int,unsigned short *)const \n2647 int CEdit::GetLine(int,unsigned short *,int)const \n2648 int CRichEditCtrl::GetLine(int,unsigned short *)const \n2649 int CRichEditCtrl::GetLine(int,unsigned short *,int)const \n2650 int CEdit::GetLineCount()const \n2651 int CRichEditCtrl::GetLineCount()const \n2652 int CSliderCtrl::GetLineSize()const \n2653 CListCtrl & CListView::GetListCtrl()const \n2654 unsigned long CComboBox::GetLocale()const \n2655 unsigned long CListBox::GetLocale()const \n2656 tm * CTime::GetLocalTm(tm *)const \n2657 CGopherLocator CGopherFileFind::GetLocator()const \n2658 int CGopherLocator::GetLocatorType(unsigned long &)const \n2659 int CBrush::GetLogBrush(tagLOGBRUSH *)\n2660 int CFont::GetLogFont(tagLOGFONTW *)\n2661 int CPen::GetLogPen(tagLOGPEN *)\n2662 CWnd * CWinThread::GetMainWnd()\n2663 int CDC::GetMapMode()const \n2664 void CToolTipCtrl::GetMargin(tagRECT *)const \n2665 unsigned long CEdit::GetMargins()const \n2666 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2667 unsigned int CPrintInfo::GetMaxPage()const \n2668 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n2669 int CToolBarCtrl::GetMaxTextRows()const \n2670 int CToolTipCtrl::GetMaxTipWidth()const \n2671 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2672 CMenu * CWnd::GetMenu()const \n2673 unsigned long CMenu::GetMenuContextHelpId()const \n2674 unsigned int CMenu::GetMenuItemCount()const \n2675 unsigned int CMenu::GetMenuItemID(int)const \n2676 int CMenu::GetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n2677 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n2678 int CMenu::GetMenuStringW(unsigned int,CString &,unsigned int)const \n2679 int CMenu::GetMenuStringW(unsigned int,unsigned short *,int,unsigned int)const \n2680 CWnd * CFrameWnd::GetMessageBar()\n2681 CWnd * CMDIChildWnd::GetMessageBar()\n2682 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2683 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2684 AFX_MSGMAP const * CColorDialog::GetMessageMap()const \n2685 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2686 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2687 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2688 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2689 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2690 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2691 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2692 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2693 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2694 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2695 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2696 AFX_MSGMAP const * CListView::GetMessageMap()const \n2697 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2698 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2699 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2700 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2701 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2702 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2703 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2704 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2705 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2706 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2707 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2708 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2709 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2710 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2711 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2712 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2713 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2714 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2715 AFX_MSGMAP const * CView::GetMessageMap()const \n2716 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2717 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2718 void CFrameWnd::GetMessageString(unsigned int,CString &)const \n2719 unsigned int CPrintInfo::GetMinPage()const \n2720 int CTime::GetMinute()const \n2721 int CTimeSpan::GetMinutes()const \n2722 float CDC::GetMiterLimit()const \n2723 int CEdit::GetModify()const \n2724 int CRichEditCtrl::GetModify()const \n2725 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2726 int CTime::GetMonth()const \n2727 unsigned long CDC::GetNearestColor(unsigned long)const \n2728 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n2729 CObject * & CObList::GetNext(__POSITION * &)\n2730 CObject * CObList::GetNext(__POSITION * &)const \n2731 void * & CPtrList::GetNext(__POSITION * &)\n2732 void * CPtrList::GetNext(__POSITION * &)const \n2733 CString & CStringList::GetNext(__POSITION * &)\n2734 CString CStringList::GetNext(__POSITION * &)const \n2735 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n2736 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n2737 void CMapStringToOb::GetNextAssoc(__POSITION * &,CString &,CObject * &)const \n2738 void CMapStringToPtr::GetNextAssoc(__POSITION * &,CString &,void * &)const \n2739 void CMapStringToString::GetNextAssoc(__POSITION * &,CString &,CString &)const \n2740 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n2741 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n2742 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n2743 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n2744 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n2745 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n2746 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n2747 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n2748 int CListCtrl::GetNextItem(int,int)const \n2749 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n2750 CString CFileDialog::GetNextPathName(__POSITION * &)const \n2751 void * * CSimpleList::GetNextPtr(void *)const \n2752 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n2753 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n2754 CView * CDocument::GetNextView(__POSITION * &)const \n2755 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n2756 HWND__ * GetNextWindow(HWND__ *,unsigned int)\n2757 CWnd * CWnd::GetNextWindow(unsigned int)const \n2758 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n2759 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n2760 unsigned int CSliderCtrl::GetNumTics()const \n2761 unsigned int CArchive::GetObjectSchema()\n2762 unsigned int CGdiObject::GetObjectType()const \n2763 int CGdiObject::GetObjectW(int,void *)const \n2764 CString CHttpFile::GetObjectW()const \n2765 CWnd * CWnd::GetOpenClipboardWindow()\n2766 int CDocManager::GetOpenDocumentCount()\n2767 int CWinApp::GetOpenDocumentCount()\n2768 int CHeaderCtrl::GetOrderArray(int *,int)\n2769 int CListCtrl::GetOrigin(tagPOINT *)const \n2770 unsigned int CDC::GetOutlineTextMetricsW(unsigned int,_OUTLINETEXTMETRICW *)const \n2771 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n2772 CSize CDC::GetOutputTabbedTextExtent(CString const &,int,int *)const \n2773 CSize CDC::GetOutputTabbedTextExtent(unsigned short const *,int,int,int *)const \n2774 CSize CDC::GetOutputTextExtent(CString const &)const \n2775 CSize CDC::GetOutputTextExtent(unsigned short const *,int)const \n2776 int CDC::GetOutputTextMetrics(tagTEXTMETRICW *)const \n2777 CWnd * CWnd::GetOwner()const \n2778 CPropertyPage * CPropertySheet::GetPage(int)const \n2779 int CPropertySheet::GetPageCount()const \n2780 int CPropertySheet::GetPageIndex(CPropertyPage *)\n2781 int CSliderCtrl::GetPageSize()const \n2782 CPalette * CReBarCtrl::GetPalette()const \n2783 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n2784 CWnd * CSplitterWnd::GetPane(int,int)const \n2785 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n2786 unsigned int CStatusBar::GetPaneStyle(int)const \n2787 CString CStatusBar::GetPaneText(int)const \n2788 void CStatusBar::GetPaneText(int,CString &)const \n2789 CSize CPageSetupDialog::GetPaperSize()const \n2790 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n2791 CWnd * CWnd::GetParent()const \n2792 CFrameWnd * CWnd::GetParentFrame()const \n2793 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n2794 CWnd * CWnd::GetParentOwner()const \n2795 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n2796 int CStatusBarCtrl::GetParts(int,int *)const \n2797 unsigned short CEdit::GetPasswordChar()const \n2798 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n2799 CString const & CDocument::GetPathName()const \n2800 CString CFileDialog::GetPathName()const \n2801 unsigned long CDC::GetPixel(int,int)const \n2802 unsigned long CDC::GetPixel(tagPOINT)const \n2803 int CDC::GetPolyFillMode()const \n2804 CString CPageSetupDialog::GetPortName()const \n2805 CString CPrintDialog::GetPortName()const \n2806 int CProgressCtrl::GetPos()\n2807 int CSliderCtrl::GetPos()const \n2808 int CSpinButtonCtrl::GetPos()const \n2809 unsigned long CFile::GetPosition()const \n2810 unsigned long CMemFile::GetPosition()const \n2811 unsigned long CStdioFile::GetPosition()const \n2812 CObject * & CObList::GetPrev(__POSITION * &)\n2813 CObject * CObList::GetPrev(__POSITION * &)const \n2814 void * & CPtrList::GetPrev(__POSITION * &)\n2815 void * CPtrList::GetPrev(__POSITION * &)const \n2816 CString & CStringList::GetPrev(__POSITION * &)\n2817 CString CStringList::GetPrev(__POSITION * &)const \n2818 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n2819 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n2820 HDC__ * CPrintDialog::GetPrinterDC()const \n2821 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n2822 CFont * CEditView::GetPrinterFont()const \n2823 int CWinApp::GetProfileBinary(unsigned short const *,unsigned short const *,unsigned char * *,unsigned int *)\n2824 unsigned int CWinApp::GetProfileIntW(unsigned short const *,unsigned short const *,int)\n2825 CString CWinApp::GetProfileStringW(unsigned short const *,unsigned short const *,unsigned short const *)\n2826 void CWnd::GetProperty(long,unsigned short,void *)const \n2827 _AFX_OLDPROPSHEETHEADER * CPropertySheet::GetPropSheetHeader()\n2828 void CProgressCtrl::GetRange(int &,int &)\n2829 void CSliderCtrl::GetRange(int &,int &)const \n2830 unsigned long CSpinButtonCtrl::GetRange()const \n2831 void CSpinButtonCtrl::GetRange(int &,int &)const \n2832 void CSpinButtonCtrl::GetRange32(int &,int &)const \n2833 int CSliderCtrl::GetRangeMax()const \n2834 int CSliderCtrl::GetRangeMin()const \n2835 int CFileDialog::GetReadOnlyPref()const \n2836 CReBarCtrl & CReBar::GetReBarCtrl()const \n2837 void CEdit::GetRect(tagRECT *)const \n2838 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n2839 void CRichEditCtrl::GetRect(tagRECT *)const \n2840 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n2841 int CToolBarCtrl::GetRect(int,tagRECT *)const \n2842 int CRgn::GetRegionData(_RGNDATA *,int)const \n2843 CString CFindReplaceDialog::GetReplaceString()const \n2844 int CRgn::GetRgnBox(tagRECT *)const \n2845 CString CFileFind::GetRoot()const \n2846 CString CGopherFileFind::GetRoot()const \n2847 _TREEITEM * CTreeCtrl::GetRootItem()const \n2848 int CDC::GetROP2()const \n2849 CFrameWnd * CCmdTarget::GetRoutingFrame()\n2850 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n2851 CView * CCmdTarget::GetRoutingView()\n2852 CView * CCmdTarget::GetRoutingView_()\n2853 unsigned int CReBarCtrl::GetRowCount()const \n2854 int CSplitterWnd::GetRowCount()const \n2855 int CTabCtrl::GetRowCount()const \n2856 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n2857 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n2858 int CToolBarCtrl::GetRows()const \n2859 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n2860 CRuntime* CArchiveException::GetRuntimeClass()const \n2861 CRuntime* CBitmap::GetRuntimeClass()const \n2862 CRuntime* CBitmapButton::GetRuntimeClass()const \n2863 CRuntime* CBrush::GetRuntimeClass()const \n2864 CRuntime* CButton::GetRuntimeClass()const \n2865 CRuntime* CByteArray::GetRuntimeClass()const \n2866 CRuntime* CCheckListBox::GetRuntimeClass()const \n2867 CRuntime* CClientDC::GetRuntimeClass()const \n2868 CRuntime* CCmdTarget::GetRuntimeClass()const \n2869 CRuntime* CColorDialog::GetRuntimeClass()const \n2870 CRuntime* CComboBox::GetRuntimeClass()const \n2871 CRuntime* CComboBoxEx::GetRuntimeClass()const \n2872 CRuntime* CControlBar::GetRuntimeClass()const \n2873 CRuntime* CCriticalSection::GetRuntimeClass()const \n2874 CRuntime* CCtrlView::GetRuntimeClass()const \n2875 CRuntime* CDC::GetRuntimeClass()const \n2876 CRuntime* CDialog::GetRuntimeClass()const \n2877 CRuntime* CDialogBar::GetRuntimeClass()const \n2878 CRuntime* CDockBar::GetRuntimeClass()const \n2879 CRuntime* CDockState::GetRuntimeClass()const \n2880 CRuntime* CDocManager::GetRuntimeClass()const \n2881 CRuntime* CDocTemplate::GetRuntimeClass()const \n2882 CRuntime* CDocument::GetRuntimeClass()const \n2883 CRuntime* CDragListBox::GetRuntimeClass()const \n2884 CRuntime* CDWordArray::GetRuntimeClass()const \n2885 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n2886 CRuntime* CEdit::GetRuntimeClass()const \n2887 CRuntime* CEditView::GetRuntimeClass()const \n2888 CRuntime* CEvent::GetRuntimeClass()const \n2889 CRuntime* CException::GetRuntimeClass()const \n2890 CRuntime* CFile::GetRuntimeClass()const \n2891 CRuntime* CFileDialog::GetRuntimeClass()const \n2892 CRuntime* CFileException::GetRuntimeClass()const \n2893 CRuntime* CFileFind::GetRuntimeClass()const \n2894 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n2895 CRuntime* CFont::GetRuntimeClass()const \n2896 CRuntime* CFontDialog::GetRuntimeClass()const \n2897 CRuntime* CFormView::GetRuntimeClass()const \n2898 CRuntime* CFrameWnd::GetRuntimeClass()const \n2899 CRuntime* CFtpConnection::GetRuntimeClass()const \n2900 CRuntime* CFtpFileFind::GetRuntimeClass()const \n2901 CRuntime* CGdiObject::GetRuntimeClass()const \n2902 CRuntime* CGopherConnection::GetRuntimeClass()const \n2903 CRuntime* CGopherFile::GetRuntimeClass()const \n2904 CRuntime* CGopherFileFind::GetRuntimeClass()const \n2905 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n2906 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n2907 CRuntime* CHttpConnection::GetRuntimeClass()const \n2908 CRuntime* CHttpFile::GetRuntimeClass()const \n2909 CRuntime* CImageList::GetRuntimeClass()const \n2910 CRuntime* CInternetConnection::GetRuntimeClass()const \n2911 CRuntime* CInternetException::GetRuntimeClass()const \n2912 CRuntime* CInternetFile::GetRuntimeClass()const \n2913 CRuntime* CInternetSession::GetRuntimeClass()const \n2914 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n2915 CRuntime* CListBox::GetRuntimeClass()const \n2916 CRuntime* CListCtrl::GetRuntimeClass()const \n2917 CRuntime* CListView::GetRuntimeClass()const \n2918 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n2919 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n2920 CRuntime* CMapStringToOb::GetRuntimeClass()const \n2921 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n2922 CRuntime* CMapStringToString::GetRuntimeClass()const \n2923 CRuntime* CMapWordToOb::GetRuntimeClass()const \n2924 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n2925 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n2926 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n2927 CRuntime* CMemFile::GetRuntimeClass()const \n2928 CRuntime* CMemoryException::GetRuntimeClass()const \n2929 CRuntime* CMenu::GetRuntimeClass()const \n2930 CRuntime* CMetaFileDC::GetRuntimeClass()const \n2931 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n2932 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n2933 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n2934 CRuntime* CMutex::GetRuntimeClass()const \n2935 CRuntime* CNotSupportedException::GetRuntimeClass()const \n2936 CRuntime* CObArray::GetRuntimeClass()const \n2937 CRuntime* CObject::GetRuntimeClass()const \n2938 CRuntime* CObList::GetRuntimeClass()const \n2939 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n2940 CRuntime* CPaintDC::GetRuntimeClass()const \n2941 CRuntime* CPalette::GetRuntimeClass()const \n2942 CRuntime* CPen::GetRuntimeClass()const \n2943 CRuntime* CPreviewDC::GetRuntimeClass()const \n2944 CRuntime* CPreviewView::GetRuntimeClass()const \n2945 CRuntime* CPrintDialog::GetRuntimeClass()const \n2946 CRuntime* CProgressCtrl::GetRuntimeClass()const \n2947 CRuntime* CPropertyPage::GetRuntimeClass()const \n2948 CRuntime* CPropertyPageEx::GetRuntimeClass()const \n2949 CRuntime* CPropertySheet::GetRuntimeClass()const \n2950 CRuntime* CPropertySheetEx::GetRuntimeClass()const \n2951 CRuntime* CPtrArray::GetRuntimeClass()const \n2952 CRuntime* CPtrList::GetRuntimeClass()const \n2953 CRuntime* CReBar::GetRuntimeClass()const \n2954 CRuntime* CReBarCtrl::GetRuntimeClass()const \n2955 CRuntime* CResourceException::GetRuntimeClass()const \n2956 CRuntime* CRgn::GetRuntimeClass()const \n2957 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n2958 CRuntime* CScrollBar::GetRuntimeClass()const \n2959 CRuntime* CScrollView::GetRuntimeClass()const \n2960 CRuntime* CSemaphore::GetRuntimeClass()const \n2961 CRuntime* CSharedFile::GetRuntimeClass()const \n2962 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n2963 CRuntime* CSliderCtrl::GetRuntimeClass()const \n2964 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n2965 CRuntime* CSplitterWnd::GetRuntimeClass()const \n2966 CRuntime* CStatic::GetRuntimeClass()const \n2967 CRuntime* CStatusBar::GetRuntimeClass()const \n2968 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n2969 CRuntime* CStdioFile::GetRuntimeClass()const \n2970 CRuntime* CStringArray::GetRuntimeClass()const \n2971 CRuntime* CStringList::GetRuntimeClass()const \n2972 CRuntime* CSyncObject::GetRuntimeClass()const \n2973 CRuntime* CTabCtrl::GetRuntimeClass()const \n2974 CRuntime* CTempDC::GetRuntimeClass()const \n2975 CRuntime* CTempGdiObject::GetRuntimeClass()const \n2976 CRuntime* CTempImageList::GetRuntimeClass()const \n2977 CRuntime* CTempMenu::GetRuntimeClass()const \n2978 CRuntime* CTempWnd::GetRuntimeClass()const \n2979 CRuntime* CToolBar::GetRuntimeClass()const \n2980 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n2981 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n2982 CRuntime* CTreeCtrl::GetRuntimeClass()const \n2983 CRuntime* CTreeView::GetRuntimeClass()const \n2984 CRuntime* CUIntArray::GetRuntimeClass()const \n2985 CRuntime* CUserException::GetRuntimeClass()const \n2986 CRuntime* CView::GetRuntimeClass()const \n2987 CRuntime* CWinApp::GetRuntimeClass()const \n2988 CRuntime* CWindowDC::GetRuntimeClass()const \n2989 CRuntime* CWinThread::GetRuntimeClass()const \n2990 CRuntime* CWnd::GetRuntimeClass()const \n2991 CRuntime* CWordArray::GetRuntimeClass()const \n2992 void * CGdiObject::GetSafeHandle()const \n2993 _IMAGELIST * CImageList::GetSafeHandle()const \n2994 HDC__ * CDC::GetSafeHdc()const \n2995 HMENU__ * CMenu::GetSafeHmenu()const \n2996 HWND__ * CWnd::GetSafeHwnd()const \n2997 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n2998 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n2999 unsigned long * CColorDialog::GetSavedCustomColors()\n3000 CString CGopherFileFind::GetScreenName()const \n3001 CSize CDockState::GetScreenSize()\n3002 CScrollBar * CView::GetScrollBarCtrl(int)const \n3003 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3004 void CScrollView::GetScrollBarSizes(CSize &)\n3005 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3006 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n3007 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3008 int CScrollBar::GetScrollLimit()\n3009 int CWnd::GetScrollLimit(int)\n3010 int CScrollBar::GetScrollPos()const \n3011 int CWnd::GetScrollPos(int)const \n3012 CPoint CScrollView::GetScrollPosition()const \n3013 void CScrollBar::GetScrollRange(int *,int *)const \n3014 void CWnd::GetScrollRange(int,int *,int *)const \n3015 unsigned long CSplitterWnd::GetScrollStyle()const \n3016 int CTime::GetSecond()const \n3017 int CTimeSpan::GetSeconds()const \n3018 HKEY__ * CWinApp::GetSectionKey(unsigned short const *)\n3019 unsigned long CEdit::GetSel()const \n3020 void CEdit::GetSel(int &,int &)const \n3021 int CListBox::GetSel(int)const \n3022 void CRichEditCtrl::GetSel(long &,long &)const \n3023 void CRichEditCtrl::GetSel(_charrange &)const \n3024 int CListBox::GetSelCount()const \n3025 unsigned int CListCtrl::GetSelectedCount()const \n3026 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n3027 void CEditView::GetSelectedText(CString &)const \n3028 void CSliderCtrl::GetSelection(int &,int &)const \n3029 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3030 int CListCtrl::GetSelectionMark()\n3031 unsigned short CRichEditCtrl::GetSelectionType()const \n3032 int CListBox::GetSelItems(int,int *)const \n3033 CString CRichEditCtrl::GetSelText()const \n3034 long CRichEditCtrl::GetSelText(char *)const \n3035 CString CInternetConnection::GetServerName()const \n3036 CInternetSession * CInternetConnection::GetSession()const \n3037 int CByteArray::GetSize()const \n3038 int CDWordArray::GetSize()const \n3039 int CFontDialog::GetSize()const \n3040 int CObArray::GetSize()const \n3041 int CPtrArray::GetSize()const \n3042 int CRecentFileList::GetSize()const \n3043 int CStringArray::GetSize()const \n3044 int CUIntArray::GetSize()const \n3045 int CWordArray::GetSize()const \n3046 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3047 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3048 CWnd * CSplitterWnd::GetSizingParent()\n3049 __POSITION * CFileDialog::GetStartPosition()const \n3050 __POSITION * CMapPtrToPtr::GetStartPosition()const \n3051 __POSITION * CMapPtrToWord::GetStartPosition()const \n3052 __POSITION * CMapStringToOb::GetStartPosition()const \n3053 __POSITION * CMapStringToPtr::GetStartPosition()const \n3054 __POSITION * CMapStringToString::GetStartPosition()const \n3055 __POSITION * CMapWordToOb::GetStartPosition()const \n3056 __POSITION * CMapWordToPtr::GetStartPosition()const \n3057 unsigned int CButton::GetState()const \n3058 int CToolBarCtrl::GetState(int)const \n3059 int CFile::GetStatus(CFileStatus &)const \n3060 int CFile::GetStatus(unsigned short const *,CFileStatus &)\n3061 int CMemFile::GetStatus(CFileStatus &)const \n3062 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n3063 int CDC::GetStretchBltMode()const \n3064 int CListCtrl::GetStringWidth(unsigned short const *)const \n3065 unsigned long CToolBarCtrl::GetStyle()const \n3066 unsigned long CWnd::GetStyle()const \n3067 CString CFontDialog::GetStyleName()const \n3068 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3069 CMenu * CMenu::GetSubMenu(int)const \n3070 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3071 CMenu * CWnd::GetSystemMenu(int)const \n3072 CSize CDC::GetTabbedTextExtentW(CString const &,int,int *)const \n3073 CSize CDC::GetTabbedTextExtentW(unsigned short const *,int,int,int *)const \n3074 CTabCtrl * CPropertySheet::GetTabControl()const \n3075 CObject * & CObList::GetTail()\n3076 CObject * CObList::GetTail()const \n3077 void * & CPtrList::GetTail()\n3078 void * CPtrList::GetTail()const \n3079 CString & CStringList::GetTail()\n3080 CString CStringList::GetTail()const \n3081 __POSITION * CObList::GetTailPosition()const \n3082 __POSITION * CPtrList::GetTailPosition()const \n3083 __POSITION * CStringList::GetTailPosition()const \n3084 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3085 CString CMirrorFile::GetTempName(unsigned short const *,int)\n3086 int CListBox::GetText(int,unsigned short *)const \n3087 void CListBox::GetText(int,CString &)const \n3088 CString CStatusBarCtrl::GetText(int,int *)const \n3089 int CStatusBarCtrl::GetText(unsigned short const *,int,int *)const \n3090 void CToolTipCtrl::GetText(CString &,CWnd *,unsigned int)const \n3091 unsigned int CDC::GetTextAlign()const \n3092 unsigned long CListCtrl::GetTextBkColor()const \n3093 int CDC::GetTextCharacterExtra()const \n3094 unsigned long CDC::GetTextColor()const \n3095 unsigned long CListCtrl::GetTextColor()const \n3096 unsigned long CReBarCtrl::GetTextColor()const \n3097 unsigned long CTreeCtrl::GetTextColor()const \n3098 CSize CDC::GetTextExtent(CString const &)const \n3099 CSize CDC::GetTextExtent(unsigned short const *,int)const \n3100 int CDC::GetTextFaceW(CString &)const \n3101 int CDC::GetTextFaceW(int,unsigned short *)const \n3102 int CListBox::GetTextLen(int)const \n3103 long CRichEditCtrl::GetTextLength()const \n3104 int CStatusBarCtrl::GetTextLength(int,int *)const \n3105 int CDC::GetTextMetricsW(tagTEXTMETRICW *)const \n3106 int CWinThread::GetThreadPriority()\n3107 void * CThreadSlotData::GetThreadValue(int)\n3108 void CSliderCtrl::GetThumbRect(tagRECT *)const \n3109 int CSliderCtrl::GetTic(int)const \n3110 unsigned long * CSliderCtrl::GetTicArray()const \n3111 CTime CTime::GetTickCount()\n3112 int CSliderCtrl::GetTicPos(int)const \n3113 long CTime::GetTime()const \n3114 unsigned long CToolTipCtrl::GetTipBkColor()const \n3115 CString CStatusBarCtrl::GetTipText(int)const \n3116 unsigned long CToolTipCtrl::GetTipTextColor()const \n3117 CString const & CDocument::GetTitle()const \n3118 CString CFrameWnd::GetTitle()const \n3119 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n3120 int CToolTipCtrl::GetToolCount()const \n3121 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3122 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n3123 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n3124 CToolTipCtrl * CTabCtrl::GetToolTips()const \n3125 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n3126 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n3127 int CPrintDialog::GetToPage()const \n3128 unsigned int CPrintInfo::GetToPage()const \n3129 int CComboBox::GetTopIndex()const \n3130 int CListBox::GetTopIndex()const \n3131 int CListCtrl::GetTopIndex()const \n3132 CFrameWnd * CWnd::GetTopLevelFrame()const \n3133 CWnd * CWnd::GetTopLevelOwner()const \n3134 CWnd * CWnd::GetTopLevelParent()const \n3135 CWnd * CWnd::GetTopWindow()const \n3136 long CTimeSpan::GetTotalHours()const \n3137 long CTimeSpan::GetTotalMinutes()const \n3138 long CTimeSpan::GetTotalSeconds()const \n3139 CSize CScrollView::GetTotalSize()const \n3140 CTreeCtrl & CTreeView::GetTreeCtrl()const \n3141 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3142 void CRectTracker::GetTrueRect(tagRECT *)const \n3143 unsigned int CCmdTarget::GetTypeInfoCount()\n3144 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3145 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3146 int CWnd::GetUpdateRect(tagRECT *,int)\n3147 int CWnd::GetUpdateRgn(CRgn *,int)\n3148 int CByteArray::GetUpperBound()const \n3149 int CDWordArray::GetUpperBound()const \n3150 int CObArray::GetUpperBound()const \n3151 int CPtrArray::GetUpperBound()const \n3152 int CStringArray::GetUpperBound()const \n3153 int CUIntArray::GetUpperBound()const \n3154 int CWordArray::GetUpperBound()const \n3155 void * CMapPtrToPtr::GetValueAt(void *)const \n3156 CString CHttpFile::GetVerb()const \n3157 unsigned long CDockState::GetVersion()\n3158 CSize CDC::GetViewportExt()const \n3159 CPoint CDC::GetViewportOrg()const \n3160 int CListCtrl::GetViewRect(tagRECT *)const \n3161 unsigned int CTreeCtrl::GetVisibleCount()const \n3162 int CFontDialog::GetWeight()const \n3163 CWnd * CDC::GetWindow()const \n3164 CWnd * CWnd::GetWindow(unsigned int)const \n3165 unsigned long CWnd::GetWindowContextHelpId()const \n3166 CDC * CWnd::GetWindowDC()\n3167 CSize CDC::GetWindowExt()const \n3168 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3169 CPoint CDC::GetWindowOrg()const \n3170 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3171 void CWnd::GetWindowRect(tagRECT *)const \n3172 int CWnd::GetWindowRgn(HRGN__ *)const \n3173 HTASK__ * GetWindowTask(HWND__ *)\n3174 int CWnd::GetWindowTextLengthW()const \n3175 int CWnd::GetWindowTextW(unsigned short *,int)const \n3176 void CWnd::GetWindowTextW(CString &)const \n3177 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n3178 int CTime::GetYear()const \n3179 void CDialog::GotoDlgCtrl(CWnd *)\n3180 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3181 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3182 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3183 void CMemFile::GrowFile(unsigned long)\n3184 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3185 long CDialog::HandleInitDialog(unsigned int,long)\n3186 long CDialogBar::HandleInitDialog(unsigned int,long)\n3187 long CFormView::HandleInitDialog(unsigned int,long)\n3188 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3189 long CDialog::HandleSetFont(unsigned int,long)\n3190 int CComboBoxEx::HasEditChanged()\n3191 int HasFont(DLGTEMPLATE const *)\n3192 int CDialogTemplate::HasFont()const \n3193 unsigned int HashKey(char const *)\n3194 unsigned int HashKey(unsigned short const *)\n3195 unsigned int CMapPtrToPtr::HashKey(void *)const \n3196 unsigned int CMapPtrToWord::HashKey(void *)const \n3197 unsigned int CMapStringToOb::HashKey(unsigned short const *)const \n3198 unsigned int CMapStringToPtr::HashKey(unsigned short const *)const \n3199 unsigned int CMapStringToString::HashKey(unsigned short const *)const \n3200 unsigned int CMapWordToOb::HashKey(unsigned short)const \n3201 unsigned int CMapWordToPtr::HashKey(unsigned short)const \n3202 int CRect::Height()const \n3203 void CDumpContext::HexDump(unsigned short const *,unsigned char *,int,int)\n3204 void CWinApp::HideApplication()\n3205 int CToolBarCtrl::HideButton(int,int)\n3206 void CWnd::HideCaret()\n3207 void CFileDialog::HideControl(int)\n3208 void CRichEditCtrl::HideSelection(int,int)\n3209 int CTabCtrl::HighlightItem(int,int)\n3210 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n3211 void CDC::HIMETRICtoDP(tagSIZE *)const \n3212 void CDC::HIMETRICtoLP(tagSIZE *)const \n3213 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n3214 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3215 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n3216 int CRectTracker::HitTest(CPoint)const \n3217 int CSplitterWnd::HitTest(CPoint)const \n3218 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n3219 int CToolBarCtrl::HitTest(tagPOINT *)const \n3220 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n3221 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n3222 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3223 int CRectTracker::HitTestHandles(CPoint)const \n3224 int CSplitterWnd::IdFromRowCol(int,int)const \n3225 int CReBarCtrl::IDToIndex(unsigned int)const \n3226 int CToolBarCtrl::Indeterminate(int,int)\n3227 void CRect::InflateRect(int,int)\n3228 void CRect::InflateRect(int,int,int,int)\n3229 void CRect::InflateRect(tagRECT const *)\n3230 void CRect::InflateRect(tagSIZE)\n3231 void CString::Init()\n3232 int CWinApp::InitApplication()\n3233 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3234 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3235 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3236 void CMapStringToOb::InitHashTable(unsigned int,int)\n3237 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3238 void CMapStringToString::InitHashTable(unsigned int,int)\n3239 void CMapWordToOb::InitHashTable(unsigned int,int)\n3240 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3241 void CMiniFrameWnd::Initialize()\n3242 int CEditView::InitializeReplace()\n3243 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3244 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3245 int CWinApp::InitInstance()\n3246 int CWinThread::InitInstance()\n3247 void CDockContext::InitLoop()\n3248 int CDialog::InitModalIndirect(void *,CWnd *)\n3249 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3250 int CComboBox::InitStorage(int,unsigned int)\n3251 int CListBox::InitStorage(int,unsigned int)\n3252 void CSimpleException::InitString()\n3253 int CFrameWnd::InModalState()const \n3254 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3255 int CString::Insert(int,unsigned short)\n3256 int CString::Insert(int,unsigned short const *)\n3257 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3258 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3259 __POSITION * CStringList::InsertAfter(__POSITION *,CString const &)\n3260 __POSITION * CStringList::InsertAfter(__POSITION *,unsigned short const *)\n3261 void CByteArray::InsertAt(int,unsigned char,int)\n3262 void CByteArray::InsertAt(int,CByteArray *)\n3263 void CDWordArray::InsertAt(int,unsigned long,int)\n3264 void CDWordArray::InsertAt(int,CDWordArray *)\n3265 void CObArray::InsertAt(int,CObArray *)\n3266 void CObArray::InsertAt(int,CObject *,int)\n3267 void CPtrArray::InsertAt(int,CPtrArray *)\n3268 void CPtrArray::InsertAt(int,void *,int)\n3269 void CStringArray::InsertAt(int,CString const &,int)\n3270 void CStringArray::InsertAt(int,CStringArray *)\n3271 void CStringArray::InsertAt(int,unsigned short const *,int)\n3272 void CUIntArray::InsertAt(int,unsigned int,int)\n3273 void CUIntArray::InsertAt(int,CUIntArray *)\n3274 void CWordArray::InsertAt(int,unsigned short,int)\n3275 void CWordArray::InsertAt(int,CWordArray *)\n3276 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOW *)\n3277 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3278 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3279 __POSITION * CStringList::InsertBefore(__POSITION *,CString const &)\n3280 __POSITION * CStringList::InsertBefore(__POSITION *,unsigned short const *)\n3281 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n3282 int CListCtrl::InsertColumn(int,unsigned short const *,int,int,int)\n3283 int CListCtrl::InsertColumn(int,tagLVCOLUMNW const *)\n3284 void CStringArray::InsertEmpty(int,int)\n3285 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n3286 int CHeaderCtrl::InsertItem(int,_HD_ITEMW *)\n3287 int CListCtrl::InsertItem(int,unsigned short const *)\n3288 int CListCtrl::InsertItem(int,unsigned short const *,int)\n3289 int CListCtrl::InsertItem(unsigned int,int,unsigned short const *,unsigned int,unsigned int,int,long)\n3290 int CListCtrl::InsertItem(tagLVITEMW const *)\n3291 int CTabCtrl::InsertItem(int,tagTCITEMW *)\n3292 int CTabCtrl::InsertItem(int,unsigned short const *)\n3293 int CTabCtrl::InsertItem(int,unsigned short const *,int)\n3294 int CTabCtrl::InsertItem(unsigned int,int,unsigned short const *,int,long)\n3295 int CTabCtrl::InsertItem(unsigned int,int,unsigned short const *,int,long,unsigned long,unsigned long)\n3296 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,unsigned short const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3297 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTW *)\n3298 _TREEITEM * CTreeCtrl::InsertItem(unsigned short const *,int,int,_TREEITEM *,_TREEITEM *)\n3299 _TREEITEM * CTreeCtrl::InsertItem(unsigned short const *,_TREEITEM *,_TREEITEM *)\n3300 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n3301 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,unsigned short const *)\n3302 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n3303 int CComboBox::InsertString(int,unsigned short const *)\n3304 int CComboBoxEx::InsertString(int,unsigned short const *)\n3305 int CListBox::InsertString(int,unsigned short const *)\n3306 AFX_INTERFACEMAP const CCmdTarget::interfaceMap\n3307 int CDC::IntersectClipRect(int,int,int,int)\n3308 int CDC::IntersectClipRect(tagRECT const *)\n3309 int CRect::IntersectRect(tagRECT const *,tagRECT const *)\n3310 void CWnd::Invalidate(int)\n3311 void CCheckListBox::InvalidateCheck(int)\n3312 void CCheckListBox::InvalidateItem(int)\n3313 void CWnd::InvalidateRect(tagRECT const *,int)\n3314 void CWnd::InvalidateRgn(CRgn *,int)\n3315 void CDC::InvertRect(tagRECT const *)\n3316 int CDC::InvertRgn(CRgn *)\n3317 void CMiniFrameWnd::InvertSysMenu()\n3318 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3319 int CFileFind::IsArchived()const \n3320 int CIPAddressCtrl::IsBlank()const \n3321 int CFontDialog::IsBold()const \n3322 int CArchive::IsBufferEmpty()const \n3323 int CToolBarCtrl::IsButtonChecked(int)const \n3324 int CPropertyPage::IsButtonEnabled(int)\n3325 int CToolBarCtrl::IsButtonEnabled(int)const \n3326 int CToolBarCtrl::IsButtonHidden(int)const \n3327 int CToolBarCtrl::IsButtonHighlighted(int)const \n3328 int CToolBarCtrl::IsButtonIndeterminate(int)const \n3329 int CToolBarCtrl::IsButtonPressed(int)const \n3330 int IsButtonUp(tagMSG *)\n3331 int CArchive::IsByteSwapping()const \n3332 int CWnd::IsChild(CWnd const *)const \n3333 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n3334 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3335 int CFileFind::IsCompressed()const \n3336 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3337 int IsDialogEx(DLGTEMPLATE const *)\n3338 int CWnd::IsDialogMessageW(tagMSG *)\n3339 int CFileFind::IsDirectory()const \n3340 int IsDirSep(unsigned short)\n3341 unsigned int CWnd::IsDlgButtonChecked(int)const \n3342 int CControlBar::IsDockBar()const \n3343 int CDockBar::IsDockBar()const \n3344 int CFileFind::IsDots()const \n3345 int CGopherFileFind::IsDots()const \n3346 int CMapPtrToPtr::IsEmpty()const \n3347 int CMapPtrToWord::IsEmpty()const \n3348 int CMapStringToOb::IsEmpty()const \n3349 int CMapStringToPtr::IsEmpty()const \n3350 int CMapStringToString::IsEmpty()const \n3351 int CMapWordToOb::IsEmpty()const \n3352 int CMapWordToPtr::IsEmpty()const \n3353 int CObList::IsEmpty()const \n3354 int CPtrList::IsEmpty()const \n3355 int CSimpleList::IsEmpty()const \n3356 int CString::IsEmpty()const \n3357 int CStringList::IsEmpty()const \n3358 int CCheckListBox::IsEnabled(int)\n3359 int IsEnterKey(tagMSG *)\n3360 int IsEqualGUID(_GUID const &,_GUID const &)\n3361 int CControlBar::IsFloating()const \n3362 int CFrameWnd::IsFrameWnd()const \n3363 int CWnd::IsFrameWnd()const \n3364 int IsHelpKey(tagMSG *)\n3365 int CFileFind::IsHidden()const \n3366 int CWnd::IsIconic()const \n3367 int CWinThread::IsIdleMessage(tagMSG *)\n3368 int CCmdTarget::IsInvokeAllowed(long)\n3369 int CFontDialog::IsItalic()const \n3370 int CObject::IsKindOf(CRuntimeconst *)const \n3371 int CArchive::IsLoading()const \n3372 int CMultiLock::IsLocked(unsigned long)\n3373 int CSingleLock::IsLocked()\n3374 int CDocument::IsModified()\n3375 int CFileFind::IsNormal()const \n3376 int CDC::IsPrinting()const \n3377 int CFileFind::IsReadOnly()const \n3378 int CRect::IsRectEmpty()const \n3379 int CRect::IsRectNull()const \n3380 int CView::IsSelected(CObject const *)const \n3381 int CObject::IsSerializable()const \n3382 int CStatusBarCtrl::IsSimple()const \n3383 int CArchive::IsStoring()const \n3384 int CFontDialog::IsStrikeOut()const \n3385 int CFileFind::IsSystem()const \n3386 int CFileFind::IsTemporary()const \n3387 int CFindReplaceDialog::IsTerminating()const \n3388 int CWnd::IsTopParentActive()const \n3389 int CFrameWnd::IsTracking()const \n3390 int CSplitterWnd::IsTracking()\n3391 int CFontDialog::IsUnderline()const \n3392 int CControlBar::IsVisible()const \n3393 int CWnd::IsWindowEnabled()const \n3394 int CWnd::IsWindowVisible()const \n3395 int CPropertySheet::IsWizard()const \n3396 int CWnd::IsZoomed()const \n3397 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3398 int CDragListBox::ItemFromPt(CPoint,int)const \n3399 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3400 unsigned short * CToolBarData::items()\n3401 int CWnd::KillTimer(int)\n3402 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n3403 void CToolBar::Layout()\n3404 CString CString::Left(int)const \n3405 int CComboBox::LimitText(int)\n3406 void CEdit::LimitText(int)\n3407 void CRichEditCtrl::LimitText(long)\n3408 int CEdit::LineFromChar(int)const \n3409 long CRichEditCtrl::LineFromChar(long)const \n3410 int CEdit::LineIndex(int)const \n3411 int CRichEditCtrl::LineIndex(int)const \n3412 int CEdit::LineLength(int)const \n3413 int CRichEditCtrl::LineLength(int)const \n3414 void CEdit::LineScroll(int,int)\n3415 void CRichEditCtrl::LineScroll(int,int)\n3416 int CDC::LineTo(int,int)\n3417 int CDC::LineTo(tagPOINT)\n3418 int CDialogTemplate::Load(unsigned short const *)\n3419 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n3420 int CFrameWnd::LoadAccelTable(unsigned short const *)\n3421 void CFrameWnd::LoadBarState(unsigned short const *)\n3422 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n3423 int CBitmapButton::LoadBitmaps(unsigned short const *,unsigned short const *,unsigned short const *,unsigned short const *)\n3424 int CBitmap::LoadBitmapW(unsigned int)\n3425 int CBitmap::LoadBitmapW(unsigned short const *)\n3426 int CToolBar::LoadBitmapW(unsigned int)\n3427 int CToolBar::LoadBitmapW(unsigned short const *)\n3428 HICON__ * CWinApp::LoadCursorW(unsigned int)const \n3429 HICON__ * CWinApp::LoadCursorW(unsigned short const *)const \n3430 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3431 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3432 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3433 HICON__ * CWinApp::LoadIconW(unsigned int)const \n3434 HICON__ * CWinApp::LoadIconW(unsigned short const *)const \n3435 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n3436 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n3437 int CMenu::LoadMenuIndirectW(void const *)\n3438 int CMenu::LoadMenuW(unsigned int)\n3439 int CMenu::LoadMenuW(unsigned short const *)\n3440 int CBitmap::LoadOEMBitmap(unsigned int)\n3441 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n3442 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n3443 HICON__ * CWinApp::LoadStandardCursor(unsigned short const *)const \n3444 HICON__ * CWinApp::LoadStandardIcon(unsigned short const *)const \n3445 int CControlBarInfo::LoadState(unsigned short const *,int,CDockState *)\n3446 void CDockState::LoadState(unsigned short const *)\n3447 void CWinApp::LoadStdProfileSettings(unsigned int)\n3448 int CString::LoadStringW(unsigned int)\n3449 void CDocTemplate::LoadTemplate()\n3450 void CMultiDocTemplate::LoadTemplate()\n3451 int CToolBar::LoadToolBar(unsigned int)\n3452 int CToolBar::LoadToolBar(unsigned short const *)\n3453 int CCriticalSection::Lock()\n3454 int CCriticalSection::Lock(unsigned long)\n3455 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n3456 int CSingleLock::Lock(unsigned long)\n3457 int CSyncObject::Lock(unsigned long)\n3458 unsigned short const * CEditView::LockBuffer()const \n3459 unsigned short * CString::LockBuffer()\n3460 void CFile::LockRange(unsigned long,unsigned long)\n3461 void CInternetFile::LockRange(unsigned long,unsigned long)\n3462 void CMemFile::LockRange(unsigned long,unsigned long)\n3463 void CStdioFile::LockRange(unsigned long,unsigned long)\n3464 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n3465 int CWnd::LockWindowUpdate()\n3466 int CMapPtrToPtr::Lookup(void *,void * &)const \n3467 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n3468 int CMapStringToOb::Lookup(unsigned short const *,CObject * &)const \n3469 int CMapStringToPtr::Lookup(unsigned short const *,void * &)const \n3470 int CMapStringToString::Lookup(unsigned short const *,CString &)const \n3471 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n3472 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n3473 int CMapStringToOb::LookupKey(unsigned short const *,unsigned short const * &)const \n3474 int CMapStringToPtr::LookupKey(unsigned short const *,unsigned short const * &)const \n3475 int CMapStringToString::LookupKey(unsigned short const *,unsigned short const * &)const \n3476 CObject * CHandleMap::LookupPermanent(void *)\n3477 CObject * CHandleMap::LookupTemporary(void *)\n3478 void CDC::LPtoDP(tagPOINT *,int)const \n3479 void CDC::LPtoDP(tagRECT *)const \n3480 void CDC::LPtoDP(tagSIZE *)const \n3481 void CDC::LPtoHIMETRIC(tagSIZE *)const \n3482 void CString::MakeLower()\n3483 void CString::MakeReverse()\n3484 void CString::MakeUpper()\n3485 int CToolBarCtrl::MapAccelerator(unsigned short,unsigned int *)\n3486 void CDialog::MapDialogRect(tagRECT *)const \n3487 void CArchive::MapObject(CObject const *)\n3488 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n3489 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n3490 long CPropertyPage::MapWizardResult(long)\n3491 int CToolBarCtrl::MarkButton(int,int)\n3492 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n3493 int CFindReplaceDialog::MatchCase()const \n3494 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(unsigned short const *,CDocument * &)\n3495 int CFileFind::MatchesMask(unsigned long)const \n3496 int CFindReplaceDialog::MatchWholeWord()const \n3497 void CReBarCtrl::MaximizeBand(unsigned int)\n3498 void CMDIChildWnd::MDIActivate()\n3499 void CMDIFrameWnd::MDIActivate(CWnd *)\n3500 void CMDIFrameWnd::MDICascade(int)\n3501 void CMDIFrameWnd::MDICascade()\n3502 void CMDIChildWnd::MDIDestroy()\n3503 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n3504 void CMDIFrameWnd::MDIIconArrange()\n3505 void CMDIChildWnd::MDIMaximize()\n3506 void CMDIFrameWnd::MDIMaximize(CWnd *)\n3507 void CMDIFrameWnd::MDINext()\n3508 void CMDIChildWnd::MDIRestore()\n3509 void CMDIFrameWnd::MDIRestore(CWnd *)\n3510 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n3511 void CMDIFrameWnd::MDITile(int)\n3512 void CMDIFrameWnd::MDITile()\n3513 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n3514 void CComboBox::MeasureItem(tagMEASUREITEM*)\n3515 void CListBox::MeasureItem(tagMEASUREITEM*)\n3516 void CMenu::MeasureItem(tagMEASUREITEM*)\n3517 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned int)\n3518 int CWnd::MessageBoxW(unsigned short const *,unsigned short const *,unsigned int)\n3519 AFX_MSGMAP const CCheckListBox::messageMap\n3520 AFX_MSGMAP const CCmdTarget::messageMap\n3521 AFX_MSGMAP const CColorDialog::messageMap\n3522 AFX_MSGMAP const CCommonDialog::messageMap\n3523 AFX_MSGMAP const CControlBar::messageMap\n3524 AFX_MSGMAP const CCtrlView::messageMap\n3525 AFX_MSGMAP const CDialog::messageMap\n3526 AFX_MSGMAP const CDialogBar::messageMap\n3527 AFX_MSGMAP const CDockBar::messageMap\n3528 AFX_MSGMAP const CDocument::messageMap\n3529 AFX_MSGMAP const CEditView::messageMap\n3530 AFX_MSGMAP const CFormView::messageMap\n3531 AFX_MSGMAP const CFrameWnd::messageMap\n3532 AFX_MSGMAP const CListCtrl::messageMap\n3533 AFX_MSGMAP const CListView::messageMap\n3534 AFX_MSGMAP const CMDIChildWnd::messageMap\n3535 AFX_MSGMAP const CMDIFrameWnd::messageMap\n3536 AFX_MSGMAP const CMiniDockFrameWnd::messageMap\n3537 AFX_MSGMAP const CMiniFrameWnd::messageMap\n3538 AFX_MSGMAP const CPreviewView::messageMap\n3539 AFX_MSGMAP const CPrintDialog::messageMap\n3540 AFX_MSGMAP const CPropertyPage::messageMap\n3541 AFX_MSGMAP const CPropertySheet::messageMap\n3542 AFX_MSGMAP const CReBar::messageMap\n3543 AFX_MSGMAP const CScrollView::messageMap\n3544 AFX_MSGMAP const CSplitterWnd::messageMap\n3545 AFX_MSGMAP const CStatusBar::messageMap\n3546 AFX_MSGMAP const CTabCtrl::messageMap\n3547 AFX_MSGMAP const CToolBar::messageMap\n3548 AFX_MSGMAP const CToolBarCtrl::messageMap\n3549 AFX_MSGMAP const CToolTipCtrl::messageMap\n3550 AFX_MSGMAP const CTreeCtrl::messageMap\n3551 AFX_MSGMAP const CTreeView::messageMap\n3552 AFX_MSGMAP const CView::messageMap\n3553 AFX_MSGMAP const CWinApp::messageMap\n3554 AFX_MSGMAP const CWnd::messageMap\n3555 CString CString::Mid(int)const \n3556 CString CString::Mid(int,int)const \n3557 void CReBarCtrl::MinimizeBand(unsigned int)\n3558 void CPreviewDC::MirrorAttributes()\n3559 void CPreviewDC::MirrorFont()\n3560 void CPreviewDC::MirrorMappingMode(int)\n3561 void CPreviewDC::MirrorViewportOrg()\n3562 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,unsigned short const *)\n3563 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n3564 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3565 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n3566 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3567 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n3568 void CDockContext::Move(CPoint)\n3569 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n3570 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n3571 CPoint CDC::MoveTo(int,int)\n3572 CPoint CDC::MoveTo(tagPOINT)\n3573 void CWnd::MoveWindow(int,int,int,int,int)\n3574 void CWnd::MoveWindow(tagRECT const *,int)\n3575 CRect CRect::MulDiv(int,int)const \n3576 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n3577 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n3578 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n3579 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n3580 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n3581 CMapStringToString::CAssoc * CMapStringToString::NewAssoc()\n3582 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n3583 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n3584 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n3585 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n3586 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n3587 void CDialog::NextDlgCtrl()const \n3588 unsigned int const CEditView::nMaxSize\n3589 int CRectTracker::NormalizeHit(int)const \n3590 void CRect::NormalizeRect()\n3591 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n3592 void CPoint::Offset(int,int)\n3593 void CPoint::Offset(tagPOINT)\n3594 void CPoint::Offset(tagSIZE)\n3595 int CDC::OffsetClipRgn(int,int)\n3596 int CDC::OffsetClipRgn(tagSIZE)\n3597 int CProgressCtrl::OffsetPos(int)\n3598 void CRect::OffsetRect(int,int)\n3599 void CRect::OffsetRect(tagPOINT)\n3600 void CRect::OffsetRect(tagSIZE)\n3601 int CRgn::OffsetRgn(int,int)\n3602 int CRgn::OffsetRgn(tagPOINT)\n3603 CPoint CDC::OffsetViewportOrg(int,int)\n3604 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n3605 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n3606 CPoint CDC::OffsetWindowOrg(int,int)\n3607 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3608 void CWnd::OnActivate(unsigned int,CWnd *,int)\n3609 void CWnd::OnActivateApp(int,HTASK__ *)\n3610 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n3611 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n3612 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n3613 long CWnd::OnActivateTopLevel(unsigned int,long)\n3614 void CFormView::OnActivateView(int,CView *,CView *)\n3615 void CPreviewView::OnActivateView(int,CView *,CView *)\n3616 void CView::OnActivateView(int,CView *,CView *)\n3617 long CToolTipCtrl::OnAddTool(unsigned int,long)\n3618 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n3619 void CWinApp::OnAppExit()\n3620 int CPropertyPage::OnApply()\n3621 void CWnd::OnAskCbFormatName(unsigned int,unsigned short *)\n3622 int CFrameWnd::OnBarCheck(unsigned int)\n3623 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n3624 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n3625 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n3626 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3627 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n3628 void CCommonDialog::OnCancel()\n3629 void CDialog::OnCancel()\n3630 void CPropertyPage::OnCancel()\n3631 void CSplitterWnd::OnCancelMode()\n3632 void CWnd::OnCancelMode()\n3633 void CWnd::OnCaptureChanged(CWnd *)\n3634 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n3635 void CRectTracker::OnChangedRect(CRect const &)\n3636 void CDocument::OnChangedViewList()\n3637 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n3638 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n3639 void CWnd::OnChildActivate()\n3640 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n3641 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3642 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3643 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3644 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3645 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n3646 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3647 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n3648 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n3649 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3650 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n3651 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n3652 void CFrameWnd::OnClose()\n3653 void CMiniDockFrameWnd::OnClose()\n3654 void CPropertySheet::OnClose()\n3655 void CWnd::OnClose()\n3656 void CDocument::OnCloseDocument()\n3657 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3658 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3659 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3660 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3661 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3662 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3663 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3664 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n3665 int CColorDialog::OnColorOK()\n3666 int CFrameWnd::OnCommand(unsigned int,long)\n3667 int CMDIFrameWnd::OnCommand(unsigned int,long)\n3668 int CPropertySheet::OnCommand(unsigned int,long)\n3669 int CSplitterWnd::OnCommand(unsigned int,long)\n3670 int CWnd::OnCommand(unsigned int,long)\n3671 long CDialog::OnCommandHelp(unsigned int,long)\n3672 long CFrameWnd::OnCommandHelp(unsigned int,long)\n3673 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n3674 long CPropertySheet::OnCommandHelp(unsigned int,long)\n3675 void CWnd::OnCompacting(unsigned int)\n3676 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n3677 void CFrameWnd::OnContextHelp()\n3678 void CWinApp::OnContextHelp()\n3679 void CWnd::OnContextMenu(CWnd *,CPoint)\n3680 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n3681 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n3682 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n3683 int CEditView::OnCreate(tagCREATESTRUCTW *)\n3684 int CFormView::OnCreate(tagCREATESTRUCTW *)\n3685 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n3686 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n3687 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n3688 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n3689 int CView::OnCreate(tagCREATESTRUCTW *)\n3690 int CWnd::OnCreate(tagCREATESTRUCTW *)\n3691 int CCmdTarget::OnCreateAggregates()\n3692 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n3693 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n3694 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n3695 HBRUSH__ * CColorDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n3696 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n3697 HBRUSH__ * CDialog::OnCtlColor(CDC *,CWnd *,unsigned int)\n3698 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n3699 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n3700 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n3701 int CDocManager::OnDDECommand(unsigned short *)\n3702 int CWinApp::OnDDECommand(unsigned short *)\n3703 long CFrameWnd::OnDDEExecute(unsigned int,long)\n3704 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n3705 long CFrameWnd::OnDDETerminate(unsigned int,long)\n3706 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n3707 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n3708 void CControlBar::OnDestroy()\n3709 void CEditView::OnDestroy()\n3710 void CFrameWnd::OnDestroy()\n3711 void CMDIChildWnd::OnDestroy()\n3712 void CMDIFrameWnd::OnDestroy()\n3713 void CTabCtrl::OnDestroy()\n3714 void CTreeCtrl::OnDestroy()\n3715 void CTreeView::OnDestroy()\n3716 void CView::OnDestroy()\n3717 void CWnd::OnDestroy()\n3718 void CWnd::OnDestroyClipboard()\n3719 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n3720 void CWnd::OnDevModeChange(unsigned short *)\n3721 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n3722 void CSplitterWnd::OnDisplayChange()\n3723 long CWnd::OnDisplayChange(unsigned int,long)\n3724 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n3725 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n3726 void CView::OnDragLeave()\n3727 long CWnd::OnDragList(unsigned int,long)\n3728 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n3729 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n3730 void CCtrlView::OnDraw(CDC *)\n3731 void CFormView::OnDraw(CDC *)\n3732 void CPreviewView::OnDraw(CDC *)\n3733 void CView::OnDraw(CDC *)\n3734 void CWnd::OnDrawClipboard()\n3735 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n3736 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n3737 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n3738 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n3739 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n3740 void CFrameWnd::OnDropFiles(HDROP__ *)\n3741 void CWnd::OnDropFiles(HDROP__ *)\n3742 int CEditView::OnEditChange()\n3743 void CEditView::OnEditClear()\n3744 void CEditView::OnEditCopy()\n3745 void CEditView::OnEditCut()\n3746 void CEditView::OnEditFind()\n3747 void CEditView::OnEditFindReplace(int)\n3748 void CEditView::OnEditPaste()\n3749 void CEditView::OnEditRepeat()\n3750 void CEditView::OnEditReplace()\n3751 void CEditView::OnEditSelectAll()\n3752 void CEditView::OnEditUndo()\n3753 void CFrameWnd::OnEnable(int)\n3754 void CToolTipCtrl::OnEnable(int)\n3755 void CWnd::OnEnable(int)\n3756 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n3757 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n3758 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n3759 void CFrameWnd::OnEndSession(int)\n3760 void CWnd::OnEndSession(int)\n3761 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n3762 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n3763 void CWnd::OnEnterMenuLoop(int)\n3764 int CFrameWnd::OnEraseBkgnd(CDC *)\n3765 int CPreviewView::OnEraseBkgnd(CDC *)\n3766 int CReBar::OnEraseBkgnd(CDC *)\n3767 int CToolBar::OnEraseBkgnd(CDC *)\n3768 int CWnd::OnEraseBkgnd(CDC *)\n3769 void CWnd::OnExitMenuLoop(int)\n3770 void CDocument::OnFileClose()\n3771 void CFileDialog::OnFileNameChange()\n3772 int CFileDialog::OnFileNameOK()\n3773 void CDocManager::OnFileNew()\n3774 void CWinApp::OnFileNew()\n3775 void CDocManager::OnFileOpen()\n3776 void CWinApp::OnFileOpen()\n3777 void CView::OnFilePrint()\n3778 void CView::OnFilePrintPreview()\n3779 void CWinApp::OnFilePrintSetup()\n3780 void CDocument::OnFileSave()\n3781 void CDocument::OnFileSaveAs()\n3782 void CDocument::OnFileSendMail()\n3783 void COleDocument::OnFileSendMail()\n3784 void CCmdTarget::OnFinalRelease()\n3785 void CDocument::OnFinalRelease()\n3786 void CWnd::OnFinalRelease()\n3787 void CEditView::OnFindNext(unsigned short const *,int,int)\n3788 long CEditView::OnFindReplaceCmd(unsigned int,long)\n3789 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n3790 void CFileDialog::OnFolderChange()\n3791 void CWnd::OnFontChange()\n3792 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n3793 unsigned int CWnd::OnGetDlgCode()\n3794 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n3795 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n3796 long CMiniFrameWnd::OnGetText(unsigned int,long)\n3797 long CStatusBar::OnGetText(unsigned int,long)\n3798 long CMiniFrameWnd::OnGetTextLength(unsigned int,long)\n3799 long CStatusBar::OnGetTextLength(unsigned int,long)\n3800 HBRUSH__ * CWnd::OnGrayCtlColor(CDC *,CWnd *,unsigned int)\n3801 void CReBar::OnHeightChange(tagNMHDR *,long *)\n3802 void CFrameWnd::OnHelp()\n3803 void CWinApp::OnHelp()\n3804 void CWnd::OnHelp()\n3805 void CWinApp::OnHelpFinder()\n3806 void CWnd::OnHelpFinder()\n3807 long CControlBar::OnHelpHitTest(unsigned int,long)\n3808 long CDialog::OnHelpHitTest(unsigned int,long)\n3809 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n3810 void CWinApp::OnHelpIndex()\n3811 void CWnd::OnHelpIndex()\n3812 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n3813 int CWnd::OnHelpInfo(tagHELPINFO *)\n3814 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n3815 void CWinApp::OnHelpUsing()\n3816 void CWnd::OnHelpUsing()\n3817 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3818 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3819 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3820 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3821 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n3822 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n3823 void CWnd::OnIconEraseBkgnd(CDC *)\n3824 void CDocTemplate::OnIdle()\n3825 void CDocument::OnIdle()\n3826 int CWinApp::OnIdle(long)\n3827 int CWinThread::OnIdle(long)\n3828 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n3829 void CFrameWnd::OnIdleUpdateCmdUI()\n3830 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n3831 int CDialog::OnInitDialog()\n3832 int CPropertySheet::OnInitDialog()\n3833 void CFileDialog::OnInitDone()\n3834 void CControlBar::OnInitialUpdate()\n3835 void CFormView::OnInitialUpdate()\n3836 void CView::OnInitialUpdate()\n3837 void CFrameWnd::OnInitMenu(CMenu *)\n3838 void CWnd::OnInitMenu(CMenu *)\n3839 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n3840 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n3841 void CSplitterWnd::OnInvertTracker(CRect const &)\n3842 void CDockContext::OnKey(int,int)\n3843 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3844 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3845 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n3846 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n3847 int CPropertyPage::OnKillActive()\n3848 void CWnd::OnKillFocus(CWnd *)\n3849 long CCheckListBox::OnLBAddString(unsigned int,long)\n3850 long CCheckListBox::OnLBFindString(unsigned int,long)\n3851 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n3852 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n3853 long CCheckListBox::OnLBGetText(unsigned int,long)\n3854 long CCheckListBox::OnLBInsertString(unsigned int,long)\n3855 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n3856 long CCheckListBox::OnLBSelectString(unsigned int,long)\n3857 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n3858 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n3859 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n3860 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n3861 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n3862 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n3863 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n3864 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n3865 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n3866 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n3867 void CWnd::OnLButtonDown(unsigned int,CPoint)\n3868 void CMiniFrameWnd::OnLButtonUp(unsigned int,CPoint)\n3869 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n3870 void CWnd::OnLButtonUp(unsigned int,CPoint)\n3871 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n3872 void CWnd::OnMButtonDown(unsigned int,CPoint)\n3873 void CWnd::OnMButtonUp(unsigned int,CPoint)\n3874 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n3875 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n3876 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n3877 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n3878 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n3879 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n3880 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n3881 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n3882 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3883 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3884 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3885 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3886 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n3887 void CMiniFrameWnd::OnMouseMove(unsigned int,CPoint)\n3888 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n3889 void CWnd::OnMouseMove(unsigned int,CPoint)\n3890 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n3891 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n3892 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n3893 void CWnd::OnMove(int,int)\n3894 void CWnd::OnMoving(unsigned int,tagRECT *)\n3895 int CFrameWnd::OnNcActivate(int)\n3896 int CMDIChildWnd::OnNcActivate(int)\n3897 int CMiniFrameWnd::OnNcActivate(int)\n3898 int CWnd::OnNcActivate(int)\n3899 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3900 void CMiniFrameWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3901 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3902 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3903 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3904 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n3905 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n3906 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n3907 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n3908 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n3909 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n3910 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n3911 int CWnd::OnNcCreate(tagCREATESTRUCTW *)\n3912 void CListCtrl::OnNcDestroy()\n3913 void CListView::OnNcDestroy()\n3914 void CWnd::OnNcDestroy()\n3915 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n3916 unsigned int CStatusBar::OnNcHitTest(CPoint)\n3917 unsigned int CToolBar::OnNcHitTest(CPoint)\n3918 unsigned int CWnd::OnNcHitTest(CPoint)\n3919 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n3920 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n3921 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n3922 void CMiniFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n3923 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n3924 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n3925 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n3926 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n3927 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n3928 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n3929 void CDockBar::OnNcPaint()\n3930 void CMiniFrameWnd::OnNcPaint()\n3931 void CReBar::OnNcPaint()\n3932 void CStatusBar::OnNcPaint()\n3933 void CToolBar::OnNcPaint()\n3934 void CWnd::OnNcPaint()\n3935 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n3936 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n3937 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n3938 int CDocument::OnNewDocument()\n3939 void CPreviewView::OnNextPage()\n3940 int CView::OnNextPaneCmd(unsigned int)\n3941 int CFileDialog::OnNotify(unsigned int,long,long *)\n3942 int CPropertyPage::OnNotify(unsigned int,long,long *)\n3943 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n3944 int CWnd::OnNotify(unsigned int,long,long *)\n3945 long CWnd::OnNTCtlColor(unsigned int,long)\n3946 void CPreviewView::OnNumPageChange()\n3947 void CCommonDialog::OnOK()\n3948 void CDialog::OnOK()\n3949 void CPropertyPage::OnOK()\n3950 int CDocument::OnOpenDocument(unsigned short const *)\n3951 int CWinApp::OnOpenRecentFile(unsigned int)\n3952 void CControlBar::OnPaint()\n3953 void CCtrlView::OnPaint()\n3954 void CDockBar::OnPaint()\n3955 void CReBar::OnPaint()\n3956 void CSplitterWnd::OnPaint()\n3957 void CStatusBar::OnPaint()\n3958 void CToolBar::OnPaint()\n3959 void CView::OnPaint()\n3960 void CWnd::OnPaint()\n3961 void CWnd::OnPaintClipboard(CWnd *,void *)\n3962 void CFrameWnd::OnPaletteChanged(CWnd *)\n3963 void CWnd::OnPaletteChanged(CWnd *)\n3964 void CWnd::OnPaletteIsChanging(CWnd *)\n3965 void CWnd::OnParentNotify(unsigned int,long)\n3966 long CFrameWnd::OnPopMessageString(unsigned int,long)\n3967 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n3968 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n3969 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n3970 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n3971 int CEditView::OnPreparePrinting(CPrintInfo *)\n3972 int CView::OnPreparePrinting(CPrintInfo *)\n3973 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n3974 void CPreviewView::OnPreviewClose()\n3975 void CPreviewView::OnPreviewPrint()\n3976 void CPreviewView::OnPrevPage()\n3977 void CEditView::OnPrint(CDC *,CPrintInfo *)\n3978 void CView::OnPrint(CDC *,CPrintInfo *)\n3979 void CPrintDialog::OnPrintSetup()\n3980 long CWnd::OnQuery3dControls(unsigned int,long)\n3981 int CPropertyPage::OnQueryCancel()\n3982 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n3983 HICON__ * CWnd::OnQueryDragIcon()\n3984 int CFrameWnd::OnQueryEndSession()\n3985 int CWnd::OnQueryEndSession()\n3986 int CFrameWnd::OnQueryNewPalette()\n3987 int CWnd::OnQueryNewPalette()\n3988 int CWnd::OnQueryOpen()\n3989 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n3990 void CWnd::OnRButtonDown(unsigned int,CPoint)\n3991 void CWnd::OnRButtonUp(unsigned int,CPoint)\n3992 void CReBar::OnRecalcParent()\n3993 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n3994 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n3995 void CWnd::OnRenderAllFormats()\n3996 void CWnd::OnRenderFormat(unsigned int)\n3997 void CEditView::OnReplaceAll(unsigned short const *,unsigned short const *,int)\n3998 void CEditView::OnReplaceSel(unsigned short const *,int,int,unsigned short const *)\n3999 void CPropertyPage::OnReset()\n4000 int CDocument::OnSaveDocument(unsigned short const *)\n4001 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4002 int CView::OnScroll(unsigned int,unsigned int,int)\n4003 int CScrollView::OnScrollBy(CSize,int)\n4004 int CView::OnScrollBy(CSize,int)\n4005 int CPropertyPage::OnSetActive()\n4006 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4007 long CToolBar::OnSetButtonSize(unsigned int,long)\n4008 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4009 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4010 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4011 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4012 long CPropertySheet::OnSetDefID(unsigned int,long)\n4013 void CFormView::OnSetFocus(CWnd *)\n4014 void CFrameWnd::OnSetFocus(CWnd *)\n4015 void CWnd::OnSetFocus(CWnd *)\n4016 long CCheckListBox::OnSetFont(unsigned int,long)\n4017 void CDialog::OnSetFont(CFont *)\n4018 long CEditView::OnSetFont(unsigned int,long)\n4019 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4020 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4021 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4022 long CToolBar::OnSetSizeHelper(CSize &,long)\n4023 long CMiniFrameWnd::OnSetText(unsigned int,long)\n4024 long CStatusBar::OnSetText(unsigned int,long)\n4025 void CWnd::OnSettingChange(unsigned int,unsigned short const *)\n4026 unsigned int CFileDialog::OnShareViolation(unsigned short const *)\n4027 long CReBar::OnShowBand(unsigned int,long)\n4028 void CWnd::OnShowWindow(int,unsigned int)\n4029 void CFrameWnd::OnSize(unsigned int,int,int)\n4030 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4031 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4032 void CPreviewView::OnSize(unsigned int,int,int)\n4033 void CScrollView::OnSize(unsigned int,int,int)\n4034 void CSplitterWnd::OnSize(unsigned int,int,int)\n4035 void CStatusBar::OnSize(unsigned int,int,int)\n4036 void CWnd::OnSize(unsigned int,int,int)\n4037 void CWnd::OnSizeClipboard(CWnd *,void *)\n4038 long CControlBar::OnSizeParent(unsigned int,long)\n4039 long CDockBar::OnSizeParent(unsigned int,long)\n4040 void CWnd::OnSizing(unsigned int,tagRECT *)\n4041 int CView::OnSplitCmd(unsigned int)\n4042 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n4043 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4044 void CWnd::OnStyleChanged(int,tagSTYLE*)\n4045 void CWnd::OnStyleChanging(int,tagSTYLE*)\n4046 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n4047 void CToolBar::OnSysColorChange()\n4048 void CWnd::OnSysColorChange()\n4049 void CFrameWnd::OnSysCommand(unsigned int,long)\n4050 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4051 void CPropertySheet::OnSysCommand(unsigned int,long)\n4052 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4053 void CWnd::OnSysCommand(unsigned int,long)\n4054 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n4055 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4056 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4057 void CWnd::OnTCard(unsigned int,unsigned long)\n4058 void CEditView::OnTextNotFound(unsigned short const *)\n4059 void CWnd::OnTimeChange()\n4060 void CControlBar::OnTimer(unsigned int)\n4061 void CWnd::OnTimer(unsigned int)\n4062 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4063 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4064 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4065 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4066 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4067 void CFileDialog::OnTypeChange()\n4068 void CView::OnUpdate(CView *,long,CObject *)\n4069 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4070 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4071 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4072 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4073 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4074 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4075 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4076 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4077 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n4078 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4079 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n4080 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4081 void CFrameWnd::OnUpdateFrameTitle(int)\n4082 void CMDIChildWnd::OnUpdateFrameTitle(int)\n4083 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n4084 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n4085 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n4086 void CEditView::OnUpdateNeedClip(CCmdUI *)\n4087 void CEditView::OnUpdateNeedFind(CCmdUI *)\n4088 void CEditView::OnUpdateNeedSel(CCmdUI *)\n4089 void CEditView::OnUpdateNeedText(CCmdUI *)\n4090 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n4091 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n4092 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n4093 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n4094 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n4095 void CView::OnUpdateSplitCmd(CCmdUI *)\n4096 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n4097 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n4098 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n4099 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4100 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4101 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4102 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4103 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4104 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n4105 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n4106 void CMDIFrameWnd::OnWindowNew()\n4107 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n4108 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n4109 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n4110 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4111 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n4112 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n4113 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4114 void CWnd::OnWinIniChange(unsigned short const *)\n4115 long CPropertyPage::OnWizardBack()\n4116 int CPropertyPage::OnWizardFinish()\n4117 long CPropertyPage::OnWizardNext()\n4118 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n4119 void CPreviewView::OnZoomIn()\n4120 void CPreviewView::OnZoomOut()\n4121 int CAnimateCtrl::Open(unsigned int)\n4122 int CAnimateCtrl::Open(unsigned short const *)\n4123 int CFile::Open(unsigned short const *,unsigned int,CFileException *)\n4124 int CMirrorFile::Open(unsigned short const *,unsigned int,CFileException *)\n4125 int CStdioFile::Open(unsigned short const *,unsigned int,CFileException *)\n4126 int CWnd::OpenClipboard()\n4127 CDocument * CDocManager::OpenDocumentFile(unsigned short const *)\n4128 CDocument * CMultiDocTemplate::OpenDocumentFile(unsigned short const *,int)\n4129 CDocument * CSingleDocTemplate::OpenDocumentFile(unsigned short const *,int)\n4130 CDocument * CWinApp::OpenDocumentFile(unsigned short const *)\n4131 CInternetFile * CFtpConnection::OpenFile(unsigned short const *,unsigned long,unsigned long,unsigned long)\n4132 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,unsigned short const *,unsigned long)\n4133 int CWnd::OpenIcon()\n4134 CHttpFile * CHttpConnection::OpenRequest(int,unsigned short const *,unsigned short const *,unsigned long,unsigned short const * *,unsigned short const *,unsigned long)\n4135 CHttpFile * CHttpConnection::OpenRequest(unsigned short const *,unsigned short const *,unsigned short const *,unsigned long,unsigned short const * *,unsigned short const *,unsigned long)\n4136 CStdioFile * CInternetSession::OpenURL(unsigned short const *,unsigned long,unsigned long,unsigned short const *,unsigned long)\n4137 int CHeaderCtrl::OrderToIndex(int)const \n4138 int CFileException::OsErrorToException(long)\n4139 void CDumpContext::OutputString(unsigned short const *)\n4140 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n4141 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n4142 int CDC::PaintRgn(CRgn *)\n4143 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n4144 void CCommandLineInfo::ParseLast(int)\n4145 void CCommandLineInfo::ParseParam(char const *,int,int)\n4146 void CCommandLineInfo::ParseParam(unsigned short const *,int,int)\n4147 void CCommandLineInfo::ParseParamFlag(char const *)\n4148 void CCommandLineInfo::ParseParamNotFlag(char const *)\n4149 void CCommandLineInfo::ParseParamNotFlag(unsigned short const *)\n4150 void CComboBox::Paste()\n4151 void CEdit::Paste()\n4152 void CRichEditCtrl::Paste()\n4153 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n4154 int CDC::PatBlt(int,int,int,int,unsigned long)\n4155 int CDC::Pie(int,int,int,int,int,int,int,int)\n4156 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n4157 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n4158 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n4159 int CDC::PlayMetaFile(HMETAFILE__ *)\n4160 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n4161 int CDC::PolyBezier(tagPOINT const *,int)\n4162 int CDC::PolyBezierTo(tagPOINT const *,int)\n4163 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n4164 int CDC::Polygon(tagPOINT *,int)\n4165 int CDC::Polyline(tagPOINT *,int)\n4166 int CDC::PolylineTo(tagPOINT const *,int)\n4167 int CDC::PolyPolygon(tagPOINT *,int *,int)\n4168 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n4169 void CToolTipCtrl::Pop()\n4170 CPoint CEdit::PosFromChar(unsigned int)const \n4171 void CPreviewView::PositionPage(unsigned int)\n4172 int CWnd::PostMessageW(unsigned int,unsigned int,long)\n4173 void CDialog::PostModal()\n4174 void CControlBar::PostNcDestroy()\n4175 void CFindReplaceDialog::PostNcDestroy()\n4176 void CFrameWnd::PostNcDestroy()\n4177 void CView::PostNcDestroy()\n4178 void CWnd::PostNcDestroy()\n4179 int CWinThread::PostThreadMessageW(unsigned int,unsigned int,long)\n4180 void CDocument::PreCloseFrame(CFrameWnd *)\n4181 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n4182 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n4183 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n4184 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n4185 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4186 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n4187 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4188 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4189 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4190 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n4191 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n4192 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n4193 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4194 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n4195 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n4196 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n4197 void CDialog::PreInitDialog()\n4198 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n4199 HWND__ * CDialog::PreModal()\n4200 HWND__ * CDataExchange::PrepareCtrl(int)\n4201 HWND__ * CDataExchange::PrepareEditCtrl(int)\n4202 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n4203 int CPropertySheet::PressButton(int)\n4204 int CToolBarCtrl::PressButton(int,int)\n4205 void CCheckListBox::PreSubclassWindow()\n4206 void CDragListBox::PreSubclassWindow()\n4207 void CWnd::PreSubclassWindow()\n4208 int CWnd::PreTranslateInput(tagMSG *)\n4209 int CControlBar::PreTranslateMessage(tagMSG *)\n4210 int CDialog::PreTranslateMessage(tagMSG *)\n4211 int CFormView::PreTranslateMessage(tagMSG *)\n4212 int CFrameWnd::PreTranslateMessage(tagMSG *)\n4213 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n4214 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n4215 int CPropertyPage::PreTranslateMessage(tagMSG *)\n4216 int CPropertySheet::PreTranslateMessage(tagMSG *)\n4217 int CWinThread::PreTranslateMessage(tagMSG *)\n4218 int CWnd::PreTranslateMessage(tagMSG *)\n4219 void CDialog::PrevDlgCtrl()const \n4220 void CWnd::Print(CDC *,unsigned long)const \n4221 int CPrintDialog::PrintAll()const \n4222 void CWnd::PrintClient(CDC *,unsigned long)const \n4223 int CPrintDialog::PrintCollate()const \n4224 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n4225 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n4226 int CPrintDialog::PrintRange()const \n4227 int CPrintDialog::PrintSelection()const \n4228 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n4229 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n4230 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n4231 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n4232 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n4233 int CRect::PtInRect(tagPOINT)const \n4234 int CRgn::PtInRegion(int,int)const \n4235 int CRgn::PtInRegion(tagPOINT)const \n4236 int CDC::PtVisible(tagPOINT)const \n4237 int CDC::PtVisible(int,int)const \n4238 int CMetaFileDC::PtVisible(tagPOINT)const \n4239 int CMetaFileDC::PtVisible(int,int)const \n4240 int CEvent::PulseEvent()\n4241 int CWinThread::PumpMessage()\n4242 int CFtpConnection::PutFile(unsigned short const *,unsigned short const *,unsigned long,unsigned long)\n4243 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n4244 int CHttpFile::QueryInfo(unsigned long,CString &,unsigned long *)const \n4245 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n4246 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n4247 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n4248 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n4249 int CInternetConnection::QueryOption(unsigned long,CString &)const \n4250 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n4251 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n4252 int CInternetFile::QueryOption(unsigned long,CString &)const \n4253 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n4254 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n4255 int CInternetSession::QueryOption(unsigned long,CString &)const \n4256 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n4257 long CPropertyPage::QuerySiblings(unsigned int,long)\n4258 unsigned int CArchive::Read(void *,unsigned int)\n4259 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n4260 unsigned int CFile::Read(void *,unsigned int)\n4261 int CImageList::Read(CArchive *)\n4262 unsigned int CInternetFile::Read(void *,unsigned int)\n4263 unsigned int CMemFile::Read(void *,unsigned int)\n4264 unsigned int CStdioFile::Read(void *,unsigned int)\n4265 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n4266 unsigned long CArchive::ReadCount()\n4267 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n4268 unsigned long CFile::ReadHuge(void *,unsigned long)\n4269 void CRecentFileList::ReadList()\n4270 CObject * CArchive::ReadObject(CRuntimeconst *)\n4271 int CArchive::ReadString(CString &)\n4272 unsigned short * CArchive::ReadString(unsigned short *,unsigned int)\n4273 int CInternetFile::ReadString(CString &)\n4274 unsigned short * CInternetFile::ReadString(unsigned short *,unsigned int)\n4275 int CStdioFile::ReadString(CString &)\n4276 unsigned short * CStdioFile::ReadString(unsigned short *,unsigned int)\n4277 unsigned int CDC::RealizePalette()\n4278 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n4279 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n4280 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n4281 void CFrameWnd::RecalcLayout(int)\n4282 void CMiniDockFrameWnd::RecalcLayout(int)\n4283 void CSplitterWnd::RecalcLayout()\n4284 int CDC::Rectangle(int,int,int,int)\n4285 int CDC::Rectangle(tagRECT const *)\n4286 CRect const CFrameWnd::rectDefault\n4287 int CRgn::RectInRegion(tagRECT const *)const \n4288 int CDC::RectVisible(tagRECT const *)const \n4289 int CMetaFileDC::RectVisible(tagRECT const *)const \n4290 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n4291 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n4292 int CListCtrl::RedrawItems(int,int)\n4293 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n4294 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n4295 int CWnd::ReflectLastMsg(HWND__ *,long *)\n4296 void CDocManager::RegisterShellFileTypes(int)\n4297 void CWinApp::RegisterShellFileTypes(int)\n4298 void CWinApp::RegisterShellFileTypesCompat()\n4299 void CToolTipCtrl::RelayEvent(tagMSG *)\n4300 unsigned long CArchiveStream::Release()\n4301 void CString::Release()\n4302 void CString::Release(CStringData *)\n4303 void CDC::ReleaseAttribDC()\n4304 void CString::ReleaseBuffer(int)\n4305 int CWnd::ReleaseDC(CDC *)\n4306 void CDocument::ReleaseFile(CFile *,int)\n4307 void CDC::ReleaseOutputDC()\n4308 void CMetaFileDC::ReleaseOutputDC()\n4309 void CPreviewDC::ReleaseOutputDC()\n4310 int CTypedSimpleList<CThreadData *>::Remove(CThreadData *)\n4311 int CTypedSimpleList<CDynLinkLibrary *>::Remove(CDynLinkLibrary *)\n4312 int CTypedSimpleList<CFrameWnd *>::Remove(CFrameWnd *)\n4313 void CFile::Remove(unsigned short const *)\n4314 int CFtpConnection::Remove(unsigned short const *)\n4315 int CImageList::Remove(int)\n4316 void CRecentFileList::Remove(int)\n4317 int CSimpleList::Remove(void *)\n4318 int CString::Remove(unsigned short)\n4319 void CByteArray::RemoveAll()\n4320 void CDWordArray::RemoveAll()\n4321 void CMapPtrToPtr::RemoveAll()\n4322 void CMapPtrToWord::RemoveAll()\n4323 void CMapStringToOb::RemoveAll()\n4324 void CMapStringToPtr::RemoveAll()\n4325 void CMapStringToString::RemoveAll()\n4326 void CMapWordToOb::RemoveAll()\n4327 void CMapWordToPtr::RemoveAll()\n4328 void CObArray::RemoveAll()\n4329 void CObList::RemoveAll()\n4330 void CPtrArray::RemoveAll()\n4331 void CPtrList::RemoveAll()\n4332 void CStringArray::RemoveAll()\n4333 void CStringList::RemoveAll()\n4334 void CTypeLibCacheMap::RemoveAll(void *)\n4335 void CUIntArray::RemoveAll()\n4336 void CWordArray::RemoveAll()\n4337 void CByteArray::RemoveAt(int,int)\n4338 void CDWordArray::RemoveAt(int,int)\n4339 void CObArray::RemoveAt(int,int)\n4340 void CObList::RemoveAt(__POSITION *)\n4341 void CPtrArray::RemoveAt(int,int)\n4342 void CPtrList::RemoveAt(__POSITION *)\n4343 void CStringArray::RemoveAt(int,int)\n4344 void CStringList::RemoveAt(__POSITION *)\n4345 void CUIntArray::RemoveAt(int,int)\n4346 void CWordArray::RemoveAt(int,int)\n4347 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n4348 void CFrameWnd::RemoveControlBar(CControlBar *)\n4349 int CFtpConnection::RemoveDirectoryW(unsigned short const *)\n4350 void CDocTemplate::RemoveDocument(CDocument *)\n4351 void CMultiDocTemplate::RemoveDocument(CDocument *)\n4352 void CSingleDocTemplate::RemoveDocument(CDocument *)\n4353 void CFrameWnd::RemoveFrameWnd()\n4354 void CHandleMap::RemoveHandle(void *)\n4355 CObject * CObList::RemoveHead()\n4356 void * CPtrList::RemoveHead()\n4357 CString CStringList::RemoveHead()\n4358 void CTabCtrl::RemoveImage(int)\n4359 void CListCtrl::RemoveImageList(int)\n4360 void CListView::RemoveImageList(int)\n4361 void CTreeCtrl::RemoveImageList(int)\n4362 void CTreeView::RemoveImageList(int)\n4363 int CMapPtrToPtr::RemoveKey(void *)\n4364 int CMapPtrToWord::RemoveKey(void *)\n4365 int CMapStringToOb::RemoveKey(unsigned short const *)\n4366 int CMapStringToPtr::RemoveKey(unsigned short const *)\n4367 int CMapStringToString::RemoveKey(unsigned short const *)\n4368 int CMapWordToOb::RemoveKey(unsigned short)\n4369 int CMapWordToPtr::RemoveKey(unsigned short)\n4370 int CMenu::RemoveMenu(unsigned int,unsigned int)\n4371 void CPropertySheet::RemovePage(int)\n4372 void CPropertySheet::RemovePage(CPropertyPage *)\n4373 void CDockBar::RemovePlaceHolder(CControlBar *)\n4374 CObject * CObList::RemoveTail()\n4375 void * CPtrList::RemoveTail()\n4376 CString CStringList::RemoveTail()\n4377 void CDocument::RemoveView(CView *)\n4378 void CFile::Rename(unsigned short const *,unsigned short const *)\n4379 int CFtpConnection::Rename(unsigned short const *,unsigned short const *)\n4380 int CImageList::Replace(int,HICON__ *)\n4381 int CImageList::Replace(int,CBitmap *,CBitmap *)\n4382 int CString::Replace(unsigned short,unsigned short)\n4383 int CString::Replace(unsigned short const *,unsigned short const *)\n4384 int CFindReplaceDialog::ReplaceAll()const \n4385 int CFindReplaceDialog::ReplaceCurrent()const \n4386 void CEdit::ReplaceSel(unsigned short const *,int)\n4387 void CRichEditCtrl::ReplaceSel(unsigned short const *,int)\n4388 int CException::ReportError(unsigned int,unsigned int)\n4389 void CDocument::ReportSaveLoadException(unsigned short const *,CException *,int,unsigned int)\n4390 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n4391 void CRichEditCtrl::RequestResize()\n4392 void CComboBox::ResetContent()\n4393 void CListBox::ResetContent()\n4394 int CDC::ResetDCW(_devicemodeW const *)\n4395 int CEvent::ResetEvent()\n4396 void CControlBar::ResetTimer(unsigned int,unsigned int)\n4397 int CPalette::ResizePalette(unsigned int)\n4398 void CScrollView::ResizeParentToFit(int)\n4399 void CWaitCursor::Restore()\n4400 int CDC::RestoreDC(int)\n4401 int CPreviewDC::RestoreDC(int)\n4402 void CToolBarCtrl::RestoreState(HKEY__ *,unsigned short const *,unsigned short const *)\n4403 void CCmdTarget::RestoreWaitCursor()\n4404 unsigned long CWinThread::ResumeThread()\n4405 int CString::ReverseFind(unsigned short)const \n4406 long CArchiveStream::Revert()\n4407 CString CString::Right(int)const \n4408 int CDC::RoundRect(int,int,int,int,int,int)\n4409 int CDC::RoundRect(tagRECT const *,tagPOINT)\n4410 int CWinApp::Run()\n4411 int CWinThread::Run()\n4412 int CWnd::RunModalLoop(unsigned long)\n4413 int CString::SafeStrlen(unsigned short const *)\n4414 int CEditView::SameAsSelected(unsigned short const *,int)\n4415 int CDocManager::SaveAllModified()\n4416 int CDocTemplate::SaveAllModified()\n4417 int CWinApp::SaveAllModified()\n4418 void CFrameWnd::SaveBarState(unsigned short const *)const \n4419 int CDC::SaveDC()\n4420 int CPreviewDC::SaveDC()\n4421 int CFormView::SaveFocusControl()\n4422 int CDocument::SaveModified()\n4423 int CControlBarInfo::SaveState(unsigned short const *,int)\n4424 void CDockState::SaveState(unsigned short const *)\n4425 void CToolBarCtrl::SaveState(HKEY__ *,unsigned short const *,unsigned short const *)\n4426 void CWinApp::SaveStdProfileSettings()\n4427 void CDockState::ScalePoint(CPoint &)\n4428 void CDockState::ScaleRectPos(CRect &)\n4429 CSize CDC::ScaleViewportExt(int,int,int,int)\n4430 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n4431 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n4432 CSize CDC::ScaleWindowExt(int,int,int,int)\n4433 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n4434 void CWnd::ScreenToClient(tagPOINT *)const \n4435 void CWnd::ScreenToClient(tagRECT *)const \n4436 int CListCtrl::Scroll(CSize)\n4437 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n4438 void CScrollView::ScrollToDevicePosition(tagPOINT)\n4439 void CScrollView::ScrollToPosition(tagPOINT)\n4440 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n4441 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n4442 int CFindReplaceDialog::SearchDown()const \n4443 int CAnimateCtrl::Seek(unsigned int)\n4444 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n4445 long CFile::Seek(long,unsigned int)\n4446 long CInternetFile::Seek(long,unsigned int)\n4447 long CMemFile::Seek(long,unsigned int)\n4448 long CStdioFile::Seek(long,unsigned int)\n4449 void CFile::SeekToBegin()\n4450 unsigned long CFile::SeekToEnd()\n4451 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n4452 int CDC::SelectClipPath(int)\n4453 int CDC::SelectClipRgn(CRgn *)\n4454 int CDC::SelectClipRgn(CRgn *,int)\n4455 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n4456 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n4457 int CTreeCtrl::SelectItem(_TREEITEM *)\n4458 int CDC::SelectObject(CRgn *)\n4459 CBitmap * CDC::SelectObject(CBitmap *)\n4460 CBrush * CDC::SelectObject(CBrush *)\n4461 CGdiObject * CDC::SelectObject(CGdiObject *)\n4462 CPen * CDC::SelectObject(CPen *)\n4463 void * CDC::SelectObject(void *)\n4464 CFont * CDC::SelectObject(CFont *)\n4465 CFont * CPreviewDC::SelectObject(CFont *)\n4466 CPalette * CDC::SelectPalette(CPalette *,int)\n4467 void CWinApp::SelectPrinter(void *,void *,int)\n4468 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n4469 CGdiObject * CDC::SelectStockObject(int)\n4470 CGdiObject * CPreviewDC::SelectStockObject(int)\n4471 int CComboBox::SelectString(int,unsigned short const *)\n4472 int CListBox::SelectString(int,unsigned short const *)\n4473 int CListBox::SelItemRange(int,int,int)\n4474 int CWnd::SendChildNotifyLastMsg(long *)\n4475 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n4476 void CDocument::SendInitialUpdate()\n4477 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n4478 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n4479 long CWnd::SendMessageW(unsigned int,unsigned int,long)\n4480 int CWnd::SendNotifyMessageW(unsigned int,unsigned int,long)\n4481 int CHttpFile::SendRequest(CString &,void *,unsigned long)\n4482 int CHttpFile::SendRequest(unsigned short const *,unsigned long,void *,unsigned long)\n4483 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n4484 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n4485 void CByteArray::Serialize(CArchive &)\n4486 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n4487 void CDockState::Serialize(CArchive &)\n4488 void CDWordArray::Serialize(CArchive &)\n4489 void CEditView::Serialize(CArchive &)\n4490 void CMapStringToOb::Serialize(CArchive &)\n4491 void CMapStringToString::Serialize(CArchive &)\n4492 void CMapWordToOb::Serialize(CArchive &)\n4493 void CObArray::Serialize(CArchive &)\n4494 void CObject::Serialize(CArchive &)\n4495 void CObList::Serialize(CArchive &)\n4496 void CStringArray::Serialize(CArchive &)\n4497 void CStringList::Serialize(CArchive &)\n4498 void CWordArray::Serialize(CArchive &)\n4499 void CArchive::SerializeClass(CRuntimeconst *)\n4500 void SerializeElements(CArchive &,CString *,int)\n4501 void CEditView::SerializeRaw(CArchive &)\n4502 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n4503 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n4504 int CPropertySheet::SetActivePage(int)\n4505 int CPropertySheet::SetActivePage(CPropertyPage *)\n4506 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n4507 void CFrameWnd::SetActiveView(CView *,int)\n4508 CWnd * CWnd::SetActiveWindow()\n4509 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n4510 void CIPAddressCtrl::SetAddress(unsigned long)\n4511 int CToolBarCtrl::SetAnchorHighlight(int)\n4512 void CListBox::SetAnchorIndex(int)\n4513 int CDC::SetArcDirection(int)\n4514 void CByteArray::SetAt(int,unsigned char)\n4515 void CDWordArray::SetAt(int,unsigned long)\n4516 void CMapPtrToPtr::SetAt(void *,void *)\n4517 void CMapPtrToWord::SetAt(void *,unsigned short)\n4518 void CMapStringToOb::SetAt(unsigned short const *,CObject *)\n4519 void CMapStringToPtr::SetAt(unsigned short const *,void *)\n4520 void CMapStringToString::SetAt(unsigned short const *,unsigned short const *)\n4521 void CMapWordToOb::SetAt(unsigned short,CObject *)\n4522 void CMapWordToPtr::SetAt(unsigned short,void *)\n4523 void CObArray::SetAt(int,CObject *)\n4524 void CObList::SetAt(__POSITION *,CObject *)\n4525 void CPtrArray::SetAt(int,void *)\n4526 void CPtrList::SetAt(__POSITION *,void *)\n4527 void CString::SetAt(int,unsigned short)\n4528 void CStringArray::SetAt(int,CString const &)\n4529 void CStringArray::SetAt(int,unsigned short const *)\n4530 void CStringList::SetAt(__POSITION *,CString const &)\n4531 void CStringList::SetAt(__POSITION *,unsigned short const *)\n4532 void CUIntArray::SetAt(int,unsigned int)\n4533 void CWordArray::SetAt(int,unsigned short)\n4534 void CByteArray::SetAtGrow(int,unsigned char)\n4535 void CDWordArray::SetAtGrow(int,unsigned long)\n4536 void CObArray::SetAtGrow(int,CObject *)\n4537 void CPtrArray::SetAtGrow(int,void *)\n4538 void CStringArray::SetAtGrow(int,CString const &)\n4539 void CStringArray::SetAtGrow(int,unsigned short const *)\n4540 void CUIntArray::SetAtGrow(int,unsigned int)\n4541 void CWordArray::SetAtGrow(int,unsigned short)\n4542 void CDC::SetAttribDC(HDC__ *)\n4543 void CMetaFileDC::SetAttribDC(HDC__ *)\n4544 void CPreviewDC::SetAttribDC(HDC__ *)\n4545 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n4546 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOW *)\n4547 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n4548 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n4549 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n4550 void CControlBar::SetBarStyle(unsigned long)\n4551 int CSpinButtonCtrl::SetBase(int)\n4552 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n4553 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n4554 int CToolBar::SetBitmap(HBITMAP__ *)\n4555 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n4556 CSize CBitmap::SetBitmapDimension(int,int)\n4557 int CToolBarCtrl::SetBitmapSize(CSize)\n4558 unsigned long CDC::SetBkColor(unsigned long)\n4559 unsigned long CImageList::SetBkColor(unsigned long)\n4560 int CListCtrl::SetBkColor(unsigned long)\n4561 unsigned long CPreviewDC::SetBkColor(unsigned long)\n4562 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n4563 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n4564 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n4565 int CListCtrl::SetBkImage(unsigned short *,int,int,int)\n4566 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n4567 int CListCtrl::SetBkImage(tagLVBKIMAGEW *)\n4568 int CDC::SetBkMode(int)\n4569 void CControlBar::SetBorders(int,int,int,int)\n4570 void CControlBar::SetBorders(tagRECT const *)\n4571 void CStatusBar::SetBorders(int,int,int,int)\n4572 void CStatusBar::SetBorders(tagRECT const *)\n4573 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n4574 CPoint CDC::SetBrushOrg(int,int)\n4575 CPoint CDC::SetBrushOrg(tagPOINT)\n4576 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n4577 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n4578 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n4579 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOW *)\n4580 int CToolBar::SetButtons(unsigned int const *,int)\n4581 int CToolBarCtrl::SetButtonSize(CSize)\n4582 void CToolBarCtrl::SetButtonStructSize(int)\n4583 void CButton::SetButtonStyle(unsigned int,int)\n4584 void CToolBar::SetButtonStyle(int,unsigned int)\n4585 int CToolBar::SetButtonText(int,unsigned short const *)\n4586 int CToolBarCtrl::SetButtonWidth(int,int)\n4587 int CListCtrl::SetCallbackMask(unsigned int)\n4588 CWnd * CWnd::SetCapture()\n4589 int CListBox::SetCaretIndex(int,int)\n4590 void CWnd::SetCaretPos(tagPOINT)\n4591 void CButton::SetCheck(int)\n4592 void CCheckListBox::SetCheck(int,int)\n4593 void CCmdUI::SetCheck(int)\n4594 int CListCtrl::SetCheck(int,int)\n4595 void CStatusCmdUI::SetCheck(int)\n4596 void CTestCmdUI::SetCheck(int)\n4597 void CToolCmdUI::SetCheck(int)\n4598 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n4599 void CCheckListBox::SetCheckStyle(unsigned int)\n4600 HWND__ * CWnd::SetClipboardViewer()\n4601 int CToolBarCtrl::SetCmdID(int,unsigned int)\n4602 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n4603 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n4604 int CListCtrl::SetColumn(int,tagLVCOLUMNW const *)\n4605 void CSplitterWnd::SetColumnInfo(int,int,int)\n4606 int CListCtrl::SetColumnOrderArray(int,int *)\n4607 void CListBox::SetColumnWidth(int)\n4608 int CListCtrl::SetColumnWidth(int,int)\n4609 void CDocTemplate::SetContainerInfo(unsigned int)\n4610 void CFileDialog::SetControlText(int,char const *)\n4611 int CInternetSession::SetCookie(char const *,unsigned short const *,unsigned short const *)\n4612 void CTabCtrl::SetCurFocus(int)\n4613 void CColorDialog::SetCurrentColor(unsigned long)\n4614 int CFtpConnection::SetCurrentDirectoryW(unsigned short const *)\n4615 void CWinApp::SetCurrentHandles()\n4616 void CPreviewView::SetCurrentPage(unsigned int,int)\n4617 int CComboBox::SetCurSel(int)\n4618 int CListBox::SetCurSel(int)\n4619 int CTabCtrl::SetCurSel(int)\n4620 HICON__ * CButton::SetCursor(HICON__ *)\n4621 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n4622 HICON__ * CStatic::SetCursor(HICON__ *)\n4623 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n4624 int CMenu::SetDefaultItem(unsigned int,int)\n4625 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n4626 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n4627 void CFileDialog::SetDefExt(char const *)\n4628 void CDialog::SetDefID(unsigned int)\n4629 void CToolTipCtrl::SetDelayTime(unsigned int)\n4630 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n4631 void CDumpContext::SetDepth(int)\n4632 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n4633 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n4634 int CWnd::SetDlgCtrlID(int)\n4635 void CWnd::SetDlgItemInt(int,unsigned int,int)\n4636 void CWnd::SetDlgItemTextW(int,unsigned short const *)\n4637 void CFrameWnd::SetDockState(CDockState const &)\n4638 int CImageList::SetDragCursorImage(int,CPoint)\n4639 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n4640 int CComboBox::SetDroppedWidth(unsigned int)\n4641 int CComboBox::SetEditSel(int,int)\n4642 int CComboBoxEx::SetEditSel(int,int)\n4643 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n4644 int CEvent::SetEvent()\n4645 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n4646 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n4647 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n4648 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n4649 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n4650 int CComboBox::SetExtendedUI(int)\n4651 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n4652 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n4653 void CFile::SetFilePath(unsigned short const *)\n4654 void CPropertySheet::SetFinishText(unsigned short const *)\n4655 CWnd * CWnd::SetFocus()\n4656 int CDialogTemplate::SetFont(unsigned short const *,unsigned short)\n4657 void CWnd::SetFont(CFont *,int)\n4658 int CWnd::SetForegroundWindow()\n4659 void CEdit::SetHandle(void *)\n4660 void CSharedFile::SetHandle(void *,int)\n4661 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n4662 void CToolBar::SetHeight(int)\n4663 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n4664 void CDialog::SetHelpID(unsigned int)\n4665 void CComboBox::SetHorizontalExtent(unsigned int)\n4666 void CListBox::SetHorizontalExtent(int)\n4667 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n4668 int CHeaderCtrl::SetHotDivider(int)\n4669 int CHeaderCtrl::SetHotDivider(CPoint)\n4670 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n4671 int CListCtrl::SetHotItem(int)\n4672 int CToolBarCtrl::SetHotItem(int)\n4673 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n4674 unsigned long CListCtrl::SetHoverTime(unsigned long)\n4675 HICON__ * CButton::SetIcon(HICON__ *)\n4676 HICON__ * CStatic::SetIcon(HICON__ *)\n4677 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n4678 HICON__ * CWnd::SetIcon(HICON__ *,int)\n4679 CSize CListCtrl::SetIconSpacing(int,int)\n4680 CSize CListCtrl::SetIconSpacing(CSize)\n4681 int CImageList::SetImageCount(unsigned int)\n4682 CImageList * CComboBoxEx::SetImageList(CImageList *)\n4683 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n4684 CImageList * CListCtrl::SetImageList(CImageList *,int)\n4685 int CReBarCtrl::SetImageList(CImageList *)\n4686 CImageList * CTabCtrl::SetImageList(CImageList *)\n4687 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n4688 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n4689 int CToolBarCtrl::SetIndent(int)\n4690 void CTreeCtrl::SetIndent(unsigned int)\n4691 int CStatusBar::SetIndicators(unsigned int const *,int)\n4692 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n4693 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n4694 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n4695 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n4696 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n4697 int CHeaderCtrl::SetItem(int,_HD_ITEMW *)\n4698 int CListCtrl::SetItem(int,int,unsigned int,unsigned short const *,int,unsigned int,unsigned int,long)\n4699 int CListCtrl::SetItem(tagLVITEMW const *)\n4700 int CTabCtrl::SetItem(int,tagTCITEMW *)\n4701 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,unsigned short const *,int,int,unsigned int,unsigned int,long)\n4702 int CTreeCtrl::SetItem(tagTVITEMW *)\n4703 void CListCtrl::SetItemCount(int)\n4704 int CListCtrl::SetItemCountEx(int,unsigned long)\n4705 int CComboBox::SetItemData(int,unsigned long)\n4706 int CListBox::SetItemData(int,unsigned long)\n4707 int CListCtrl::SetItemData(int,unsigned long)\n4708 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n4709 int CComboBox::SetItemDataPtr(int,void *)\n4710 int CListBox::SetItemDataPtr(int,void *)\n4711 int CTabCtrl::SetItemExtra(int)\n4712 int CComboBox::SetItemHeight(int,unsigned int)\n4713 int CListBox::SetItemHeight(int,unsigned int)\n4714 short CTreeCtrl::SetItemHeight(short)\n4715 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n4716 int CListCtrl::SetItemPosition(int,tagPOINT)\n4717 CSize CTabCtrl::SetItemSize(CSize)\n4718 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n4719 int CListCtrl::SetItemState(int,tagLVITEMW *)\n4720 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n4721 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n4722 int CListCtrl::SetItemText(int,int,unsigned short const *)\n4723 int CTreeCtrl::SetItemText(_TREEITEM *,unsigned short const *)\n4724 unsigned long CDC::SetLayout(unsigned long)\n4725 void CFile::SetLength(unsigned long)\n4726 void CInternetFile::SetLength(unsigned long)\n4727 void CMemFile::SetLength(unsigned long)\n4728 void CEdit::SetLimitText(unsigned int)\n4729 int CSliderCtrl::SetLineSize(int)\n4730 void CArchive::SetLoadParams(unsigned int)\n4731 unsigned long CComboBox::SetLocale(unsigned long)\n4732 unsigned long CListBox::SetLocale(unsigned long)\n4733 int CDC::SetMapMode(int)\n4734 int CPreviewDC::SetMapMode(int)\n4735 unsigned long CDC::SetMapperFlags(unsigned long)\n4736 void CToolTipCtrl::SetMargin(tagRECT *)\n4737 void CEdit::SetMargins(unsigned int,unsigned int)\n4738 void CPrintInfo::SetMaxPage(unsigned int)\n4739 int CToolBarCtrl::SetMaxTextRows(int)\n4740 int CToolTipCtrl::SetMaxTipWidth(int)\n4741 int CWnd::SetMenu(CMenu *)\n4742 int CMenu::SetMenuContextHelpId(unsigned long)\n4743 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n4744 void CFrameWnd::SetMessageText(unsigned int)\n4745 void CFrameWnd::SetMessageText(unsigned short const *)\n4746 void CStatusBarCtrl::SetMinHeight(int)\n4747 void CPrintInfo::SetMinPage(unsigned int)\n4748 int CTabCtrl::SetMinTabWidth(int)\n4749 int CDC::SetMiterLimit(float)\n4750 void CPropertyPage::SetModified(int)\n4751 void CDocument::SetModifiedFlag(int)\n4752 void CEdit::SetModify(int)\n4753 void CRichEditCtrl::SetModify(int)\n4754 void CArchive::SetObjectSchema(unsigned int)\n4755 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4756 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4757 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4758 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n4759 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n4760 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n4761 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4762 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n4763 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4764 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n4765 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n4766 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n4767 int CHeaderCtrl::SetOrderArray(int,int *)\n4768 void CDC::SetOutputDC(HDC__ *)\n4769 void CMetaFileDC::SetOutputDC(HDC__ *)\n4770 void CPreviewDC::SetOutputDC(HDC__ *)\n4771 int CImageList::SetOverlayImage(int,int)\n4772 CWnd * CReBarCtrl::SetOwner(CWnd *)\n4773 void CToolBar::SetOwner(CWnd *)\n4774 void CToolBarCtrl::SetOwner(CWnd *)\n4775 void CWnd::SetOwner(CWnd *)\n4776 void CTabCtrl::SetPadding(CSize)\n4777 int CSliderCtrl::SetPageSize(int)\n4778 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n4779 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n4780 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n4781 void CStatusBar::SetPaneStyle(int,unsigned int)\n4782 int CStatusBar::SetPaneText(int,unsigned short const *,int)\n4783 int CRichEditCtrl::SetParaFormat(_paraformat &)\n4784 CWnd * CWnd::SetParent(CWnd *)\n4785 int CStatusBarCtrl::SetParts(int,int *)\n4786 void CEdit::SetPasswordChar(unsigned short)\n4787 void CDocument::SetPathName(unsigned short const *,int)\n4788 void CHandleMap::SetPermanent(void *,CObject *)\n4789 unsigned long CDC::SetPixel(int,int,unsigned long)\n4790 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n4791 int CDC::SetPixelV(int,int,unsigned long)\n4792 int CDC::SetPixelV(tagPOINT,unsigned long)\n4793 int CDC::SetPolyFillMode(int)\n4794 int CProgressCtrl::SetPos(int)\n4795 void CSliderCtrl::SetPos(int)\n4796 int CSpinButtonCtrl::SetPos(int)\n4797 void CEditView::SetPrinterFont(CFont *)\n4798 int CPreviewView::SetPrintView(CView *)\n4799 void CWnd::SetProperty(long,unsigned short,...)\n4800 void CCmdUI::SetRadio(int)\n4801 void CTestCmdUI::SetRadio(int)\n4802 void CProgressCtrl::SetRange(short,short)\n4803 void CSliderCtrl::SetRange(int,int,int)\n4804 void CSpinButtonCtrl::SetRange(int,int)\n4805 void CProgressCtrl::SetRange32(int,int)\n4806 void CSpinButtonCtrl::SetRange32(int,int)\n4807 void CSliderCtrl::SetRangeMax(int,int)\n4808 void CSliderCtrl::SetRangeMin(int,int)\n4809 int CInternetFile::SetReadBufferSize(unsigned int)\n4810 int CEdit::SetReadOnly(int)\n4811 int CRichEditCtrl::SetReadOnly(int)\n4812 void CEdit::SetRect(tagRECT const *)\n4813 void CRect::SetRect(int,int,int,int)\n4814 void CRect::SetRect(tagPOINT,tagPOINT)\n4815 void CRichEditCtrl::SetRect(tagRECT const *)\n4816 void CRect::SetRectEmpty()\n4817 void CEdit::SetRectNP(tagRECT const *)\n4818 void CRgn::SetRectRgn(int,int,int,int)\n4819 void CRgn::SetRectRgn(tagRECT const *)\n4820 void CWnd::SetRedraw(int)\n4821 void CWinApp::SetRegistryKey(unsigned int)\n4822 void CWinApp::SetRegistryKey(unsigned short const *)\n4823 int CDC::SetROP2(int)\n4824 void CSplitterWnd::SetRowInfo(int,int,int)\n4825 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n4826 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n4827 void CPreviewView::SetScaledSize(unsigned int)\n4828 void CPreviewDC::SetScaleRatio(int,int)\n4829 void CScrollView::SetScaleToFitSize(tagSIZE)\n4830 void CDockState::SetScreenSize(CSize &)\n4831 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n4832 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n4833 int CScrollBar::SetScrollPos(int,int)\n4834 int CWnd::SetScrollPos(int,int,int)\n4835 void CScrollBar::SetScrollRange(int,int,int)\n4836 void CWnd::SetScrollRange(int,int,int,int)\n4837 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n4838 void CSplitterWnd::SetScrollStyle(unsigned long)\n4839 void CEdit::SetSel(int,int,int)\n4840 void CEdit::SetSel(unsigned long,int)\n4841 int CListBox::SetSel(int,int)\n4842 void CRichEditCtrl::SetSel(_charrange &)\n4843 void CRichEditCtrl::SetSel(long,long)\n4844 void CSliderCtrl::SetSelection(int,int)\n4845 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n4846 void CCheckListBox::SetSelectionCheck(int)\n4847 int CListCtrl::SetSelectionMark(int)\n4848 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n4849 int CStatusBarCtrl::SetSimple(int)\n4850 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n4851 void CByteArray::SetSize(int,int)\n4852 void CDWordArray::SetSize(int,int)\n4853 void CObArray::SetSize(int,int)\n4854 void CPtrArray::SetSize(int,int)\n4855 void CStringArray::SetSize(int,int)\n4856 void CUIntArray::SetSize(int,int)\n4857 void CWordArray::SetSize(int,int)\n4858 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n4859 void CSplitterWnd::SetSplitCursor(int)\n4860 void CButton::SetState(int)\n4861 int CToolBarCtrl::SetState(int,unsigned int)\n4862 void CFile::SetStatus(unsigned short const *,CFileStatus const &)\n4863 int CControlBar::SetStatusText(int)\n4864 int CProgressCtrl::SetStep(int)\n4865 void CArchive::SetStoreParams(unsigned int,unsigned int)\n4866 int CDC::SetStretchBltMode(int)\n4867 void CToolBarCtrl::SetStyle(unsigned long)\n4868 int CDialogTemplate::SetSystemFont(unsigned short)\n4869 int CEdit::SetTabStops(int const &)\n4870 int CEdit::SetTabStops(int,int *)\n4871 void CEdit::SetTabStops()\n4872 void CEditView::SetTabStops(int)\n4873 int CListBox::SetTabStops(int const &)\n4874 int CListBox::SetTabStops(int,int *)\n4875 void CListBox::SetTabStops()\n4876 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n4877 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n4878 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n4879 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n4880 void CFileDialog::SetTemplate(unsigned short const *,unsigned short const *)\n4881 void CCmdUI::SetText(unsigned short const *)\n4882 int CStatusBarCtrl::SetText(unsigned short const *,int,int)\n4883 void CStatusCmdUI::SetText(unsigned short const *)\n4884 void CTestCmdUI::SetText(unsigned short const *)\n4885 void CToolCmdUI::SetText(unsigned short const *)\n4886 unsigned int CDC::SetTextAlign(unsigned int)\n4887 int CListCtrl::SetTextBkColor(unsigned long)\n4888 int CDC::SetTextCharacterExtra(int)\n4889 unsigned long CDC::SetTextColor(unsigned long)\n4890 int CListCtrl::SetTextColor(unsigned long)\n4891 unsigned long CPreviewDC::SetTextColor(unsigned long)\n4892 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n4893 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n4894 int CDC::SetTextJustification(int,int)\n4895 int CWinThread::SetThreadPriority(int)\n4896 int CSliderCtrl::SetTic(int)\n4897 void CSliderCtrl::SetTicFreq(int)\n4898 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n4899 void CToolTipCtrl::SetTipBkColor(unsigned long)\n4900 int CSliderCtrl::SetTipSide(int)\n4901 void CStatusBarCtrl::SetTipText(int,unsigned short const *)\n4902 void CToolTipCtrl::SetTipTextColor(unsigned long)\n4903 void CDocument::SetTitle(unsigned short const *)\n4904 void CFrameWnd::SetTitle(unsigned short const *)\n4905 void CPropertySheet::SetTitle(unsigned short const *,unsigned int)\n4906 void CToolTipCtrl::SetToolInfo(tagTOOLINFOW *)\n4907 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n4908 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n4909 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n4910 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n4911 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n4912 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n4913 int CComboBox::SetTopIndex(int)\n4914 int CListBox::SetTopIndex(int)\n4915 void CPreviewDC::SetTopLeftOffset(CSize)\n4916 void CThreadSlotData::SetValue(int,void *)\n4917 CSize CDC::SetViewportExt(tagSIZE)\n4918 CSize CDC::SetViewportExt(int,int)\n4919 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n4920 CSize CMetaFileDC::SetViewportExt(int,int)\n4921 CSize CPreviewDC::SetViewportExt(int,int)\n4922 CPoint CDC::SetViewportOrg(tagPOINT)\n4923 CPoint CDC::SetViewportOrg(int,int)\n4924 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n4925 CPoint CMetaFileDC::SetViewportOrg(int,int)\n4926 CPoint CPreviewDC::SetViewportOrg(int,int)\n4927 int CWnd::SetWindowContextHelpId(unsigned long)\n4928 CSize CDC::SetWindowExt(tagSIZE)\n4929 CSize CDC::SetWindowExt(int,int)\n4930 CSize CPreviewDC::SetWindowExt(int,int)\n4931 CPoint CDC::SetWindowOrg(int,int)\n4932 CPoint CDC::SetWindowOrg(tagPOINT)\n4933 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n4934 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n4935 int CWnd::SetWindowRgn(HRGN__ *,int)\n4936 void CWnd::SetWindowTextW(unsigned short const *)\n4937 void CPropertySheet::SetWizardButtons(unsigned long)\n4938 void CPropertySheet::SetWizardMode()\n4939 void CPropertySheetEx::SetWizardMode()\n4940 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n4941 void CListCtrl::SetWorkAreas(int,tagRECT *)\n4942 int CInternetFile::SetWriteBufferSize(unsigned int)\n4943 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n4944 void CDockBar::ShowAll(int)\n4945 int CReBarCtrl::ShowBand(unsigned int,int)\n4946 void CWnd::ShowCaret()\n4947 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n4948 void CComboBox::ShowDropDown(int)\n4949 void CWnd::ShowOwnedPopups(int)\n4950 void CFrameWnd::ShowOwnedWindows(int)\n4951 void CScrollBar::ShowScrollBar(int)\n4952 void CWnd::ShowScrollBar(unsigned int,int)\n4953 int CWnd::ShowWindow(int)\n4954 CSize CRect::Size()const \n4955 tagSIZE const CScrollView::sizeDefault\n4956 void CBitmapButton::SizeToContent()\n4957 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n4958 int CReBarCtrl::SizeToRect(CRect &)\n4959 int CTreeCtrl::SortChildren(_TREEITEM *)\n4960 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n4961 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n4962 CString CString::SpanExcluding(unsigned short const *)const \n4963 CString CString::SpanIncluding(unsigned short const *)const \n4964 int CSplitterWnd::SplitColumn(int)\n4965 int CSplitterWnd::SplitRow(int)\n4966 int CDC::StartDocW(_DOCINFOW *)\n4967 int CDC::StartDocW(unsigned short const *)\n4968 void CDockContext::StartDrag(CPoint)\n4969 int CDC::StartPage()\n4970 void CDockContext::StartResize(int,CPoint)\n4971 void CSplitterWnd::StartTracking(int)\n4972 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n4973 int CProgressCtrl::StepIt()\n4974 int CAnimateCtrl::Stop()\n4975 void CSplitterWnd::StopTracking(int)\n4976 void CRuntimeClass::Store(CArchive &)const \n4977 long CRichEditCtrl::StreamIn(int,_editstream &)\n4978 long CRichEditCtrl::StreamOut(int,_editstream &)\n4979 void CDockContext::Stretch(CPoint)\n4980 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n4981 int CDC::StrokeAndFillPath()\n4982 int CDC::StrokePath()\n4983 int CWnd::SubclassCtl3d(int)\n4984 int CWnd::SubclassDlg3d(unsigned long)\n4985 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n4986 int CWnd::SubclassWindow(HWND__ *)\n4987 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n4988 int CRect::SubtractRect(tagRECT const *,tagRECT const *)\n4989 unsigned long CWinThread::SuspendThread()\n4990 void CRect::SwapLeftRight()\n4991 void CRect::SwapLeftRight(tagRECT *)\n4992 unsigned short const * T2COLE(unsigned short const *)\n4993 unsigned short * T2W(unsigned short *)\n4994 CSize CDC::TabbedTextOutW(int,int,CString const &,int,int *,int)\n4995 CSize CDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n4996 CSize CMetaFileDC::TabbedTextOutW(int,int,CString const &,int,int *,int)\n4997 CSize CMetaFileDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n4998 CSize CPreviewDC::TabbedTextOutW(int,int,unsigned short const *,int,int,int *,int)\n4999 int CDC::TextOutW(int,int,CString const &)\n5000 int CDC::TextOutW(int,int,unsigned short const *,int)\n5001 int CMetaFileDC::TextOutW(int,int,CString const &)\n5002 int CMetaFileDC::TextOutW(int,int,unsigned short const *,int)\n5003 int CPreviewDC::TextOutW(int,int,unsigned short const *,int)\n5004 void CFileException::ThrowErrno(int,unsigned short const *)\n5005 void CFileException::ThrowOsError(long,unsigned short const *)\n5006 void CDockContext::ToggleDocking()\n5007 CPoint & CRect::TopLeft()\n5008 CPoint const & CRect::TopLeft()const \n5009 int CDockContext::Track()\n5010 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n5011 void CSplitterWnd::TrackColumnSize(int,int)\n5012 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n5013 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n5014 void CSplitterWnd::TrackRowSize(int,int)\n5015 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n5016 void CString::TrimLeft(unsigned short)\n5017 void CString::TrimLeft(unsigned short const *)\n5018 void CString::TrimLeft()\n5019 void CString::TrimRight(unsigned short)\n5020 void CString::TrimRight(unsigned short const *)\n5021 void CString::TrimRight()\n5022 int CEdit::Undo()\n5023 int CRichEditCtrl::Undo()\n5024 int CRect::UnionRect(tagRECT const *,tagRECT const *)\n5025 int CCriticalSection::Unlock()\n5026 int CEvent::Unlock()\n5027 int CMultiLock::Unlock(long,long *)\n5028 int CMultiLock::Unlock()\n5029 int CMutex::Unlock()\n5030 int CSemaphore::Unlock(long,long *)\n5031 int CSemaphore::Unlock()\n5032 int CSingleLock::Unlock(long,long *)\n5033 int CSingleLock::Unlock()\n5034 int CSyncObject::Unlock(long,long *)\n5035 void CTypeLibCache::Unlock()\n5036 void CEditView::UnlockBuffer()const \n5037 void CString::UnlockBuffer()\n5038 void CFile::UnlockRange(unsigned long,unsigned long)\n5039 void CInternetFile::UnlockRange(unsigned long,unsigned long)\n5040 void CMemFile::UnlockRange(unsigned long,unsigned long)\n5041 void CStdioFile::UnlockRange(unsigned long,unsigned long)\n5042 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5043 int UnlockResource(void *)\n5044 void CWnd::UnlockWindowUpdate()\n5045 int CGdiObject::UnrealizeObject()\n5046 int CWinApp::Unregister()\n5047 void CDocManager::UnregisterShellFileTypes()\n5048 void CWinApp::UnregisterShellFileTypes()\n5049 HWND__ * CWnd::UnsubclassWindow()\n5050 int CListCtrl::Update(int)\n5051 void CToolTipCtrl::Update()\n5052 void CStatusBar::UpdateAllPanes(int,int)\n5053 void CDocument::UpdateAllViews(CView *,long,CObject *)\n5054 void CScrollView::UpdateBars()\n5055 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n5056 void CDC::UpdateColors()\n5057 void CMemoryState::UpdateData()\n5058 int CWnd::UpdateData(int)\n5059 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n5060 void CDocument::UpdateFrameCounts()\n5061 void CFrameWnd::UpdateFrameTitleForDocument(unsigned short const *)\n5062 void CRecentFileList::UpdateMenu(CCmdUI *)\n5063 void CWinApp::UpdatePrinterSelection(int)\n5064 void CDockContext::UpdateState(int *,int)\n5065 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n5066 void CToolTipCtrl::UpdateTipText(unsigned short const *,CWnd *,unsigned int)\n5067 void CWnd::UpdateWindow()\n5068 void CWnd::ValidateRect(tagRECT const *)\n5069 void CWnd::ValidateRgn(CRgn *)\n5070 void CSliderCtrl::VerifyPos()\n5071 int CListBox::VKeyToItem(unsigned int,unsigned int)\n5072 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n5073 unsigned short * wcschr(unsigned short *,unsigned short)\n5074 unsigned short * wcspbrk(unsigned short *,unsigned short const *)\n5075 unsigned short * wcsrchr(unsigned short *,unsigned short)\n5076 unsigned short * wcsstr(unsigned short *,unsigned short const *)\n5077 int CDC::WidenPath()\n5078 int CRect::Width()const \n5079 CWnd * CWnd::WindowFromPoint(tagPOINT)\n5080 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n5081 long CReBar::WindowProc(unsigned int,unsigned int,long)\n5082 long CWnd::WindowProc(unsigned int,unsigned int,long)\n5083 void CWinApp::WinHelpW(unsigned long,unsigned int)\n5084 void CWnd::WinHelpW(unsigned long,unsigned int)\n5085 CWnd const CWnd::wndBottom\n5086 CWnd const CWnd::wndNoTopMost\n5087 CWnd const CWnd::wndTop\n5088 CWnd const CWnd::wndTopMost\n5089 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n5090 void CArchive::Write(void const *,unsigned int)\n5091 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n5092 void CFile::Write(void const *,unsigned int)\n5093 void CGopherFile::Write(void const *,unsigned int)\n5094 int CImageList::Write(CArchive *)\n5095 void CInternetFile::Write(void const *,unsigned int)\n5096 void CMemFile::Write(void const *,unsigned int)\n5097 void CStdioFile::Write(void const *,unsigned int)\n5098 void CArchive::WriteClass(CRuntimeconst *)\n5099 void CArchive::WriteCount(unsigned long)\n5100 void CFile::WriteHuge(void const *,unsigned long)\n5101 void CRecentFileList::WriteList()\n5102 void CArchive::WriteObject(CObject const *)\n5103 int CWinApp::WriteProfileBinary(unsigned short const *,unsigned short const *,unsigned char *,unsigned int)\n5104 int CWinApp::WriteProfileInt(unsigned short const *,unsigned short const *,int)\n5105 int CWinApp::WriteProfileStringW(unsigned short const *,unsigned short const *,unsigned short const *)\n5106 void CArchive::WriteString(unsigned short const *)\n5107 void CGopherFile::WriteString(unsigned short const *)\n5108 void CInternetFile::WriteString(unsigned short const *)\n5109 void CStdioFile::WriteString(unsigned short const *)\n5110 void CEditView::WriteToArchive(CArchive &)\n5111 afxChNil\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc70.def",
    "content": "256 void * operator new[](unsigned int)\n257 void operator delete[](void *)\n258 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n259 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n260 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n261 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n262 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n263 CArchive::CArchive(CFile *,unsigned int,int,void *)\n264 CArchivePropExchange::CArchivePropExchange(CArchive &)\n265 CArchiveStream::CArchiveStream(CArchive *)\n266 CAsyncMonikerFile::CAsyncMonikerFile()\n267 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n268 CAsyncSocket::CAsyncSocket()\n269 CBlobProperty::CBlobProperty(void *)\n270 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n271 CBrush::CBrush(int,unsigned long)\n272 CBrush::CBrush(unsigned long)\n273 CBrush::CBrush(CBitmap *)\n274 CByteArray::CByteArray()\n275 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n276 CClientDC::CClientDC(CWnd *)\n277 CCmdTarget::CCmdTarget()\n278 CCmdUI::CCmdUI()\n279 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n280 CCommandLineInfo::CCommandLineInfo()\n281 CConnectionPoint::CConnectionPoint()\n282 CControlBar::CControlBar()\n283 CControlBarInfo::CControlBarInfo()\n284 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n285 CControlFrameWnd::CControlFrameWnd(COleControl *)\n286 CCtrlView::CCtrlView(char const *,unsigned long)\n287 CDatabase::CDatabase()\n288 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n289 CDataExchange::CDataExchange(CWnd *,int)\n290 CDataSourceControl::CDataSourceControl(COleControlSite *)\n291 CDBException::CDBException(short)\n292 CDBVariant::CDBVariant()\n293 CDC::CDC()\n294 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n295 CDHtmlControlSink::CDHtmlControlSink()\n296 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n297 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n298 CDHtmlDialog::CDHtmlDialog()\n299 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n300 CDialog::CDialog(unsigned int,CWnd *)\n301 CDialog::CDialog(char const *,CWnd *)\n302 CDialog::CDialog()\n303 CDialogBar::CDialogBar()\n304 CDialogTemplate::CDialogTemplate(void *)\n305 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n306 CDocItem::CDocItem()\n307 CDockBar::CDockBar(int)\n308 CDockContext::CDockContext(CControlBar *)\n309 CDockState::CDockState()\n310 CDocManager::CDocManager()\n311 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n312 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n313 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n314 CDocument::CDocument()\n315 CDumpContext::CDumpContext(CFile *)\n316 CDWordArray::CDWordArray()\n317 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n318 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n319 CEditView::CEditView()\n320 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n321 CEnumConnections::CEnumConnections(void const *,unsigned int)\n322 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n323 CEnumFormatEtc::CEnumFormatEtc()\n324 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n325 CException::CException(int)\n326 CException::CException()\n327 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n328 CFile::CFile(void *)\n329 CFile::CFile(char const *,unsigned int)\n330 CFile::CFile()\n331 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n332 CFileFind::CFileFind()\n333 CFindReplaceDialog::CFindReplaceDialog()\n334 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n335 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n336 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n337 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n338 CFontHolder::CFontHolder(IPropertyNotifySink *)\n339 CFormView::CFormView(unsigned int)\n340 CFormView::CFormView(char const *)\n341 CFrameWnd::CFrameWnd()\n342 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n343 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n344 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n345 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n346 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n347 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n348 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n349 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n350 CGopherLocator::CGopherLocator(char const *,unsigned long)\n351 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n352 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n353 CHtmlEditCtrl::CHtmlEditCtrl()\n354 CHtmlEditDoc::CHtmlEditDoc()\n355 CHtmlEditView::CHtmlEditView()\n356 CHtmlView::CHtmlView()\n357 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n358 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n359 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n360 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n361 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n362 CImageList::CImageList()\n363 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n364 CInternetException::CInternetException(unsigned long)\n365 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n366 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n367 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n368 CLongBinary::CLongBinary()\n369 CMapPtrToPtr::CMapPtrToPtr(int)\n370 CMapPtrToWord::CMapPtrToWord(int)\n371 CMapStringToOb::CMapStringToOb(int)\n372 CMapStringToPtr::CMapStringToPtr(int)\n373 CMapStringToString::CMapStringToString(int)\n374 CMapWordToOb::CMapWordToOb(int)\n375 CMapWordToPtr::CMapWordToPtr(int)\n376 CMDIChildWnd::CMDIChildWnd()\n377 CMDIFrameWnd::CMDIFrameWnd()\n378 CMemFile::CMemFile(unsigned int)\n379 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n380 CMetaFileDC::CMetaFileDC()\n381 CMiniDockFrameWnd::CMiniDockFrameWnd()\n382 CMiniFrameWnd::CMiniFrameWnd()\n383 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n384 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n385 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n386 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n387 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n388 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n389 CObArray::CObArray()\n390 CObList::CObList(int)\n391 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n392 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n393 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n394 COleClientItem::COleClientItem(COleDocument *)\n395 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n396 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n397 COleControl::COleControl()\n398 COleControlContainer::COleControlContainer(CWnd *)\n399 COleControlLock::COleControlLock(_GUID const &)\n400 COleControlSite::COleControlSite(COleControlContainer *)\n401 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n402 COleCurrency::COleCurrency(long,long)\n403 COleDataObject::COleDataObject()\n404 COleDataSource::COleDataSource()\n405 COleDialog::COleDialog(CWnd *)\n406 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n407 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n408 COleDispatchDriver::COleDispatchDriver()\n409 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n410 COleDocIPFrameWnd::COleDocIPFrameWnd()\n411 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n412 COleDocument::COleDocument()\n413 COleDropSource::COleDropSource()\n414 COleDropTarget::COleDropTarget()\n415 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n416 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n417 COleIPFrameWnd::COleIPFrameWnd()\n418 COleLinkingDoc::COleLinkingDoc()\n419 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n420 COleMessageFilter::COleMessageFilter()\n421 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n422 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n423 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n424 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n425 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n426 COleResizeBar::COleResizeBar()\n427 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n428 COleSafeArray::COleSafeArray(tagVARIANT const &)\n429 COleSafeArray::COleSafeArray(COleSafeArray const &)\n430 COleSafeArray::COleSafeArray(COleVariant const &)\n431 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n432 COleSafeArray::COleSafeArray(tagVARIANT const *)\n433 COleServerDoc::COleServerDoc()\n434 COleServerItem::COleServerItem(COleServerDoc *,int)\n435 COleStreamFile::COleStreamFile(IStream *)\n436 COleTemplateServer::COleTemplateServer()\n437 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n438 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n439 COleVariant::COleVariant(tagVARIANT const &)\n440 COleVariant::COleVariant(COleVariant const &)\n441 COleVariant::COleVariant(short,unsigned short)\n442 COleVariant::COleVariant(long,unsigned short)\n443 COleVariant::COleVariant(char const *,unsigned short)\n444 COleVariant::COleVariant(_ITEMIDLIST const *)\n445 COleVariant::COleVariant(tagVARIANT const *)\n446 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n447 CPaintDC::CPaintDC(CWnd *)\n448 CPen::CPen(int,int,unsigned long)\n449 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n450 CPictureHolder::CPictureHolder()\n451 CPreviewDC::CPreviewDC()\n452 CPreviewView::CPreviewView()\n453 CPrintDialog::CPrintDialog(tagPDA &)\n454 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n455 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n456 CPrintInfo::CPrintInfo()\n457 CPrintPreviewState::CPrintPreviewState()\n458 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n459 CProperty::CProperty(unsigned long,void * const,unsigned long)\n460 CProperty::CProperty()\n461 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n462 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n463 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n464 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n465 CPropertyPage::CPropertyPage()\n466 CPropertySection::CPropertySection(_GUID)\n467 CPropertySection::CPropertySection()\n468 CPropertySet::CPropertySet(_GUID)\n469 CPropertySet::CPropertySet()\n470 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n471 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n472 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n473 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n474 CPropertySheet::CPropertySheet()\n475 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n476 CPtrArray::CPtrArray()\n477 CPtrList::CPtrList(int)\n478 CReBar::CReBar()\n479 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n480 CRecordset::CRecordset(CDatabase *)\n481 CRecordView::CRecordView(unsigned int)\n482 CRecordView::CRecordView(char const *)\n483 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n484 CReObject::CReObject(CRichEditCntrItem *)\n485 CReObject::CReObject()\n486 CResetPropExchange::CResetPropExchange()\n487 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n488 CRichEditDoc::CRichEditDoc()\n489 CRichEditView::CRichEditView()\n490 CScrollView::CScrollView()\n491 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n492 CSharedFile::CSharedFile(unsigned int,unsigned int)\n493 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n494 CSingleLock::CSingleLock(CSyncObject *,int)\n495 CSocket::CSocket()\n496 CSocketFile::CSocketFile(CSocket *,int)\n497 CSocketWnd::CSocketWnd()\n498 CSplitterWnd::CSplitterWnd()\n499 CStatusBar::CStatusBar()\n500 CStdioFile::CStdioFile(_iobuf *)\n501 CStdioFile::CStdioFile(char const *,unsigned int)\n502 CStdioFile::CStdioFile()\n503 CStringArray::CStringArray()\n504 CStringList::CStringList(int)\n505 CSyncObject::CSyncObject(char const *)\n506 CTestCmdUI::CTestCmdUI()\n507 CThreadSlotData::CThreadSlotData()\n508 CToolBar::CToolBar()\n509 CToolTipCtrl::CToolTipCtrl()\n510 CUIntArray::CUIntArray()\n511 CView::CView()\n512 CWinApp::CWinApp(char const *)\n513 CWindowDC::CWindowDC(CWnd *)\n514 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n515 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n516 CWinThread::CWinThread()\n517 CWnd::CWnd(HWND__ *)\n518 CWnd::CWnd()\n519 CWordArray::CWordArray()\n520 CPreviewView::PAGE_INFO::PAGE_INFO()\n521 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n522 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n523 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n524 CAnimateCtrl::~CAnimateCtrl()\n525 CArchive::~CArchive()\n526 CAsyncMonikerFile::~CAsyncMonikerFile()\n527 CAsyncSocket::~CAsyncSocket()\n528 CButton::~CButton()\n529 CByteArray::~CByteArray()\n530 CClientDC::~CClientDC()\n531 CCmdTarget::~CCmdTarget()\n532 CComboBox::~CComboBox()\n533 CComboBoxEx::~CComboBoxEx()\n534 CCommandLineInfo::~CCommandLineInfo()\n535 CConnectionPoint::~CConnectionPoint()\n536 CControlBar::~CControlBar()\n537 CCtrlView::~CCtrlView()\n538 CDatabase::~CDatabase()\n539 CDataSourceControl::~CDataSourceControl()\n540 CDateTimeCtrl::~CDateTimeCtrl()\n541 CDBException::~CDBException()\n542 CDBVariant::~CDBVariant()\n543 CDC::~CDC()\n544 CDHtmlControlSink::~CDHtmlControlSink()\n545 CDHtmlDialog::~CDHtmlDialog()\n546 CDialog::~CDialog()\n547 CDialogBar::~CDialogBar()\n548 CDialogTemplate::~CDialogTemplate()\n549 CDocItem::~CDocItem()\n550 CDockBar::~CDockBar()\n551 CDockContext::~CDockContext()\n552 CDockState::~CDockState()\n553 CDocManager::~CDocManager()\n554 CDocObjectServer::~CDocObjectServer()\n555 CDocObjectServerItem::~CDocObjectServerItem()\n556 CDocTemplate::~CDocTemplate()\n557 CDocument::~CDocument()\n558 CDragListBox::~CDragListBox()\n559 CDWordArray::~CDWordArray()\n560 CDynLinkLibrary::~CDynLinkLibrary()\n561 CEdit::~CEdit()\n562 CEditView::~CEditView()\n563 CEnumArray::~CEnumArray()\n564 CEnumConnections::~CEnumConnections()\n565 CEnumConnPoints::~CEnumConnPoints()\n566 CEnumFormatEtc::~CEnumFormatEtc()\n567 CEnumOleVerb::~CEnumOleVerb()\n568 CEnumUnknown::~CEnumUnknown()\n569 CEvent::~CEvent()\n570 CFile::~CFile()\n571 CFileDialog::~CFileDialog()\n572 CFileFind::~CFileFind()\n573 CFixedAlloc::~CFixedAlloc()\n574 CFixedAllocNoSync::~CFixedAllocNoSync()\n575 CFontHolder::~CFontHolder()\n576 CFrameWnd::~CFrameWnd()\n577 CFtpConnection::~CFtpConnection()\n578 CFtpFileFind::~CFtpFileFind()\n579 CGopherConnection::~CGopherConnection()\n580 CGopherFile::~CGopherFile()\n581 CGopherFileFind::~CGopherFileFind()\n582 CGopherLocator::~CGopherLocator()\n583 CHeaderCtrl::~CHeaderCtrl()\n584 CHotKeyCtrl::~CHotKeyCtrl()\n585 CHtmlControlSite::~CHtmlControlSite()\n586 CHtmlEditCtrl::~CHtmlEditCtrl()\n587 CHtmlEditDoc::~CHtmlEditDoc()\n588 CHtmlEditView::~CHtmlEditView()\n589 CHtmlView::~CHtmlView()\n590 CHttpConnection::~CHttpConnection()\n591 CHttpFile::~CHttpFile()\n592 CImageList::~CImageList()\n593 CInternetConnection::~CInternetConnection()\n594 CInternetException::~CInternetException()\n595 CInternetFile::~CInternetFile()\n596 CInternetSession::~CInternetSession()\n597 CIPAddressCtrl::~CIPAddressCtrl()\n598 CListBox::~CListBox()\n599 CListCtrl::~CListCtrl()\n600 CLongBinary::~CLongBinary()\n601 CMapPtrToPtr::~CMapPtrToPtr()\n602 CMapPtrToWord::~CMapPtrToWord()\n603 CMapStringToOb::~CMapStringToOb()\n604 CMapStringToPtr::~CMapStringToPtr()\n605 CMapStringToString::~CMapStringToString()\n606 CMapWordToOb::~CMapWordToOb()\n607 CMapWordToPtr::~CMapWordToPtr()\n608 CMemFile::~CMemFile()\n609 CMetaFileDC::~CMetaFileDC()\n610 CMiniFrameWnd::~CMiniFrameWnd()\n611 CMonikerFile::~CMonikerFile()\n612 CMonthCalCtrl::~CMonthCalCtrl()\n613 CMultiDocTemplate::~CMultiDocTemplate()\n614 CMultiLock::~CMultiLock()\n615 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n616 CMutex::~CMutex()\n617 CObArray::~CObArray()\n618 CObList::~CObList()\n619 COleBusyDialog::~COleBusyDialog()\n620 COleChangeIconDialog::~COleChangeIconDialog()\n621 COleChangeSourceDialog::~COleChangeSourceDialog()\n622 COleClientItem::~COleClientItem()\n623 COleCntrFrameWnd::~COleCntrFrameWnd()\n624 COleControl::~COleControl()\n625 COleControlContainer::~COleControlContainer()\n626 COleControlLock::~COleControlLock()\n627 COleControlSite::~COleControlSite()\n628 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n629 COleConvertDialog::~COleConvertDialog()\n630 COleDataSource::~COleDataSource()\n631 COleDispatchException::~COleDispatchException()\n632 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n633 COleDocObjectItem::~COleDocObjectItem()\n634 COleDocument::~COleDocument()\n635 COleDropTarget::~COleDropTarget()\n636 COleFrameHook::~COleFrameHook()\n637 COleInsertDialog::~COleInsertDialog()\n638 COleIPFrameWnd::~COleIPFrameWnd()\n639 COleLinkingDoc::~COleLinkingDoc()\n640 COleLinksDialog::~COleLinksDialog()\n641 COleMessageFilter::~COleMessageFilter()\n642 COleObjectFactory::~COleObjectFactory()\n643 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n644 COlePropertyPage::~COlePropertyPage()\n645 COleResizeBar::~COleResizeBar()\n646 COleServerDoc::~COleServerDoc()\n647 COleServerItem::~COleServerItem()\n648 COleStreamFile::~COleStreamFile()\n649 COleUpdateDialog::~COleUpdateDialog()\n650 CPaintDC::~CPaintDC()\n651 CPictureHolder::~CPictureHolder()\n652 CPreviewDC::~CPreviewDC()\n653 CPreviewView::~CPreviewView()\n654 CPrintInfo::~CPrintInfo()\n655 CProcessLocalObject::~CProcessLocalObject()\n656 CProgressCtrl::~CProgressCtrl()\n657 CPropbagPropExchange::~CPropbagPropExchange()\n658 CProperty::~CProperty()\n659 CPropertyPage::~CPropertyPage()\n660 CPropertySection::~CPropertySection()\n661 CPropertySet::~CPropertySet()\n662 CPropertySheet::~CPropertySheet()\n663 CPtrArray::~CPtrArray()\n664 CPtrList::~CPtrList()\n665 CRecentFileList::~CRecentFileList()\n666 CRecordset::~CRecordset()\n667 CRecordView::~CRecordView()\n668 CRectTracker::~CRectTracker()\n669 CReObject::~CReObject()\n670 CRichEditCntrItem::~CRichEditCntrItem()\n671 CRichEditCtrl::~CRichEditCtrl()\n672 CScrollBar::~CScrollBar()\n673 CScrollView::~CScrollView()\n674 CSemaphore::~CSemaphore()\n675 CSharedFile::~CSharedFile()\n676 CSingleDocTemplate::~CSingleDocTemplate()\n677 CSliderCtrl::~CSliderCtrl()\n678 CSocket::~CSocket()\n679 CSocketFile::~CSocketFile()\n680 CSpinButtonCtrl::~CSpinButtonCtrl()\n681 CSplitterWnd::~CSplitterWnd()\n682 CStatic::~CStatic()\n683 CStatusBar::~CStatusBar()\n684 CStatusBarCtrl::~CStatusBarCtrl()\n685 CStdioFile::~CStdioFile()\n686 CStringArray::~CStringArray()\n687 CStringList::~CStringList()\n688 CSyncObject::~CSyncObject()\n689 CTabCtrl::~CTabCtrl()\n690 CThreadLocalObject::~CThreadLocalObject()\n691 CThreadSlotData::~CThreadSlotData()\n692 CToolBar::~CToolBar()\n693 CToolBarCtrl::~CToolBarCtrl()\n694 CToolTipCtrl::~CToolTipCtrl()\n695 CTreeCtrl::~CTreeCtrl()\n696 CUIntArray::~CUIntArray()\n697 CView::~CView()\n698 CWinApp::~CWinApp()\n699 CWindowDC::~CWindowDC()\n700 CWinThread::~CWinThread()\n701 CWnd::~CWnd()\n702 CWordArray::~CWordArray()\n703 void * operator new(unsigned int)\n704 void * CNoTrackObject::operator new(unsigned int)\n705 void operator delete(void *)\n706 void CNoTrackObject::operator delete(void *)\n707 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n708 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n709 COleCurrency const & COleCurrency::operator=(union tagCY)\n710 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n711 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n712 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n713 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n714 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n715 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n716 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n717 COleVariant const & COleVariant::operator=(COleVariant const &)\n718 COleVariant const & COleVariant::operator=(CByteArray const &)\n719 COleVariant const & COleVariant::operator=(CLongBinary const &)\n720 COleVariant const & COleVariant::operator=(COleCurrency const &)\n721 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n722 COleVariant const & COleVariant::operator=(unsigned char)\n723 COleVariant const & COleVariant::operator=(short)\n724 COleVariant const & COleVariant::operator=(long)\n725 COleVariant const & COleVariant::operator=(float)\n726 COleVariant const & COleVariant::operator=(double)\n727 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n728 COleVariant const & COleVariant::operator=(char const * const)\n729 CArchive & operator>>(CArchive &,CByteArray * &)\n730 CArchive & operator>>(CArchive &,CDocItem * &)\n731 CArchive & operator>>(CArchive &,CDockState * &)\n732 CArchive & operator>>(CArchive &,CDWordArray * &)\n733 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n734 CArchive & operator>>(CArchive &,CMapStringToString * &)\n735 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n736 CArchive & operator>>(CArchive &,CObArray * &)\n737 CArchive & operator>>(CArchive &,CObList * &)\n738 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n739 CArchive & operator>>(CArchive &,CStringArray * &)\n740 CArchive & operator>>(CArchive &,CStringList * &)\n741 CArchive & operator>>(CArchive &,CWordArray * &)\n742 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n743 CArchive & operator>>(CArchive &,COleCurrency &)\n744 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n745 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n746 CArchive & operator>>(CArchive &,COleVariant &)\n747 CArchive & operator>>(CArchive &,ATL::CTime &)\n748 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n749 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n750 CArchive & operator<<(CArchive &,COleCurrency)\n751 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n752 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n753 CArchive & operator<<(CArchive &,COleVariant)\n754 CArchive & operator<<(CArchive &,ATL::CTime)\n755 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n756 CDumpContext & CDumpContext::operator<<(__int64)\n757 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n758 CDumpContext & CDumpContext::operator<<(CObject const &)\n759 CDumpContext & CDumpContext::operator<<(unsigned char)\n760 CDumpContext & CDumpContext::operator<<(unsigned short)\n761 CDumpContext & CDumpContext::operator<<(int)\n762 CDumpContext & CDumpContext::operator<<(unsigned int)\n763 CDumpContext & CDumpContext::operator<<(long)\n764 CDumpContext & CDumpContext::operator<<(unsigned long)\n765 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n766 CDumpContext & CDumpContext::operator<<(HDC__ *)\n767 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n768 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n769 CDumpContext & CDumpContext::operator<<(HWND__ *)\n770 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n771 CDumpContext & CDumpContext::operator<<(char const *)\n772 CDumpContext & CDumpContext::operator<<(CObject const *)\n773 CDumpContext & CDumpContext::operator<<(void const *)\n774 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n775 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n776 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n777 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n778 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n779 int COleSafeArray::operator==(tagVARIANT const &)const \n780 int COleSafeArray::operator==(COleSafeArray const &)const \n781 int COleSafeArray::operator==(COleVariant const &)const \n782 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n783 int COleSafeArray::operator==(tagVARIANT const *)const \n784 int COleVariant::operator==(tagVARIANT const &)const \n785 void * & CMapPtrToPtr::operator[](void *)\n786 unsigned short & CMapPtrToWord::operator[](void *)\n787 CObject * & CMapStringToOb::operator[](char const *)\n788 void * & CMapStringToPtr::operator[](char const *)\n789 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n790 CObject * & CMapWordToOb::operator[](unsigned short)\n791 void * & CMapWordToPtr::operator[](unsigned short)\n792 COleCurrency COleCurrency::operator*(long)const \n793 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n794 COleCurrency COleCurrency::operator-()const \n795 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n796 COleCurrency COleCurrency::operator/(long)const \n797 int COleCurrency::operator<(COleCurrency const &)const \n798 int COleCurrency::operator<=(COleCurrency const &)const \n799 int COleCurrency::operator>(COleCurrency const &)const \n800 int COleCurrency::operator>=(COleCurrency const &)const \n801 int _AfxSocketInit(WSAData *)\n802 void CArchive::Abort()\n803 void CFile::Abort()\n804 void CInternetFile::Abort()\n805 void CMemFile::Abort()\n806 void CMirrorFile::Abort()\n807 void COleStreamFile::Abort()\n808 void CSocketFile::Abort()\n809 void CStdioFile::Abort()\n810 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n811 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n812 long CWnd::accDoDefaultAction(tagVARIANT)\n813 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n814 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n815 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n816 void COleSafeArray::AccessData(void * *)\n817 long CWnd::accHitTest(long,long,tagVARIANT *)\n818 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n819 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n820 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n821 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n822 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n823 long CWnd::accSelect(long,tagVARIANT)\n824 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n825 void COleClientItem::Activate(long,CView *,tagMSG *)\n826 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n827 void COleDocObjectItem::ActivateAndShow()\n828 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n829 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n830 void CDocObjectServer::ActivateDocObject()\n831 void COleServerDoc::ActivateDocObject()\n832 void CFrameWnd::ActivateFrame(int)\n833 void CMDIChildWnd::ActivateFrame(int)\n834 int COleServerDoc::ActivateInPlace()\n835 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n836 void CSplitterWnd::ActivateNext(int)\n837 void CWnd::ActivateTopParent()\n838 void CRecentFileList::Add(char const *)\n839 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n840 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n841 int CToolBarCtrl::AddBitmap(int,unsigned int)\n842 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n843 void COleClientItem::AddCachedData(COleDataSource *)\n844 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n845 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n846 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n847 void CDocManager::AddDocTemplate(CDocTemplate *)\n848 void CWinApp::AddDocTemplate(CDocTemplate *)\n849 void CDocTemplate::AddDocument(CDocument *)\n850 void CMultiDocTemplate::AddDocument(CDocument *)\n851 void CSingleDocTemplate::AddDocument(CDocument *)\n852 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n853 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n854 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n855 void COleControl::AddFrameLevelUI()\n856 void CFrameWnd::AddFrameWnd()\n857 __POSITION * CObList::AddHead(CObject *)\n858 void CObList::AddHead(CObList *)\n859 __POSITION * CPtrList::AddHead(void *)\n860 void CPtrList::AddHead(CPtrList *)\n861 void CSimpleList::AddHead(void *)\n862 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n863 __POSITION * CStringList::AddHead(char const *)\n864 void CStringList::AddHead(CStringList *)\n865 void COleDocument::AddItem(CDocItem *)\n866 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n867 void CRecordset::AddNew()\n868 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n869 void CPropertySheet::AddPage(CPropertyPage *)\n870 void CPropertySection::AddProperty(CProperty *)\n871 void CPropertySet::AddProperty(_GUID,CProperty *)\n872 unsigned long CArchiveStream::AddRef()\n873 unsigned long CBlobProperty::AddRef()\n874 unsigned long CBrowserControlSite::AddRef()\n875 unsigned long CDHtmlControlSink::AddRef()\n876 unsigned long CDHtmlElementEventSink::AddRef()\n877 unsigned long CDHtmlEventSink::AddRef()\n878 unsigned long CInnerUnknown::AddRef()\n879 unsigned long COleConnPtContainer::AddRef()\n880 unsigned long COleDispatchImpl::AddRef()\n881 unsigned long COleUILinkInfo::AddRef()\n882 unsigned long CPrintDialogEx::AddRef()\n883 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n884 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n885 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n886 CPropertySection * CPropertySet::AddSection(_GUID)\n887 void CPropertySet::AddSection(CPropertySection *)\n888 void COlePasteSpecialDialog::AddStandardFormats(int)\n889 int CToolBarCtrl::AddString(unsigned int)\n890 __POSITION * CObList::AddTail(CObject *)\n891 void CObList::AddTail(CObList *)\n892 __POSITION * CPtrList::AddTail(void *)\n893 void CPtrList::AddTail(CPtrList *)\n894 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n895 __POSITION * CStringList::AddTail(char const *)\n896 void CStringList::AddTail(CStringList *)\n897 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n898 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n899 void CWinApp::AddToRecentFileList(char const *)\n900 void CDocument::AddView(CView *)\n901 void CMetaFileDC::AdjustCP(int)\n902 void CRichEditView::AdjustDialogPosition(CDialog *)\n903 void CRectTracker::AdjustRect(int,tagRECT *)\n904 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n905 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n906 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n907 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n908 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n909 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n910 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n911 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n912 void AfxAbort()\n917 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n918 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n919 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n920 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n921 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n922 void AfxCancelModes(HWND__ *)\n923 void AfxCheckError(long)\n924 void AfxClassInit(CRuntime*)\n925 int AfxComparePath(char const *,char const *)\n926 int AfxCompareValueByRef(void *,void *,int)\n927 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n928 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n929 void AfxCopyValueByRef(void *,void *,long *,int)\n930 void AfxCoreInitModule()\n931 HDC__ * AfxCreateDC(void *,void *)\n932 int AfxCriticalInit()\n933 int AfxCriticalNewHandler(unsigned int)\n934 void AfxCriticalTerm()\n935 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n936 AUX_DATA afxData\n937 void AfxDeleteObject(void * *)\n938 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n939 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n940 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n941 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n942 long AfxDllCanUnloadNow()\n943 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n944 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n945 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n946 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n947 void AfxEnableControlContainer(COccManager *)\n948 int AfxEndDeferRegisterClass(long)\n949 void AfxEndThread(unsigned int,int)\n950 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n951 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n952 void AfxFailMaxChars(CDataExchange *,int)\n953 void AfxFailRadio(CDataExchange *)\n954 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n955 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n956 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n957 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n958 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n959 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n960 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n961 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n962 int AfxFreeLibrary(HINSTANCE__ *)\n963 int AfxFullPath(char *,char const *)\n964 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n965 AFX_MODULE_STATE * AfxGetAppModuleState()\n966 long AfxGetClassIDFromString(char const *,_GUID *)\n967 tagMSG * AfxGetCurrentMessage()\n968 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n969 unsigned long AfxGetDllVersion()\n970 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n971 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n972 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n973 void * AfxGetHENV()\n974 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n975 unsigned long AfxGetInternetHandleType(void *)\n976 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n977 AFX_MODULE_STATE * AfxGetModuleState()\n978 int (__cdecl*AfxGetNewHandler())(unsigned int)\n979 HWND__ * AfxGetParentOwner(HWND__ *)\n980 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n981 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n982 ATL::IAtlStringMgr * AfxGetStringManager()\n983 CWinThread * AfxGetThread()\n984 _AFX_THREAD_STATE * AfxGetThreadState()\n985 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n986 void AfxGlobalFree(void *)\n987 int AfxHelpEnabled()\n988 void AfxHookWindowCreate(CWnd *)\n989 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n990 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n991 void AfxInitLocalData(HINSTANCE__ *)\n992 int AfxInitRichEdit()\n993 void AfxInitThread()\n994 int AfxInternalIsIdleMessage(tagMSG *)\n995 int AfxInternalPreTranslateMessage(tagMSG *)\n996 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n997 int AfxInternalPumpMessage()\n998 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n999 int AfxIsDescendant(HWND__ *,HWND__ *)\n1000 int AfxIsIdleMessage(tagMSG *)\n1001 int AfxIsValidAddress(void const *,unsigned int,int)\n1002 int AfxIsValidString(wchar_t const *,int)\n1003 int AfxIsValidString(char const *,int)\n1004 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1005 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1006 HINSTANCE__ * AfxLoadLibrary(char const *)\n1007 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1008 int AfxLoadString(unsigned int,char *,unsigned int)\n1009 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1010 void AfxLockGlobals(int)\n1011 void AfxLockTempMaps()\n1012 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1013 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1014 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1015 int AfxOleCanExitApp()\n1016 int AfxOleGetUserCtrl()\n1017 int AfxOleInit()\n1018 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1019 void AfxOleLockApp()\n1020 int AfxOleLockControl(_GUID const &)\n1021 int AfxOleLockControl(char const *)\n1022 void AfxOleOnReleaseAllObjects()\n1023 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1024 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1025 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1026 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1027 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1028 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1029 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1030 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1031 void AfxOleSetUserCtrl(int)\n1032 void AfxOleTerm(int)\n1033 void AfxOleTermOrFreeLib(int,int)\n1034 void AfxOleUnlockAllControls()\n1035 void AfxOleUnlockApp()\n1036 int AfxOleUnlockControl(_GUID const &)\n1037 int AfxOleUnlockControl(char const *)\n1038 int AfxOleUnregisterClass(_GUID const &,char const *)\n1039 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1040 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1041 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1042 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1043 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1044 void AfxPostQuitMessage(int)\n1045 int AfxPreTranslateMessage(tagMSG *)\n1046 long AfxProcessWndProcException(CException *,tagMSG const *)\n1047 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1048 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1049 int AfxPumpMessage()\n1050 unsigned int AfxReadStringLength(CArchive &,int &)\n1051 int AfxRegisterClass(tagWNDCLASSA *)\n1052 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1053 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1054 void AfxResetMsgCache()\n1055 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1056 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1057 void AfxSafeArrayInit(COleSafeArray *)\n1058 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1059 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1060 void AfxSetWindowText(HWND__ *,char const *)\n1061 void AfxSocketTerm()\n1062 void AfxStoreField(CRecordset &,unsigned int,void *)\n1063 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1064 wchar_t * AfxTaskStringA2W(char const *)\n1065 char * AfxTaskStringW2A(wchar_t const *)\n1066 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1067 void AfxTermLocalData(HINSTANCE__ *,int)\n1068 void AfxTermThread(HINSTANCE__ *)\n1069 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1070 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1071 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1072 void AfxThrowArchiveException(int,char const *)\n1073 void AfxThrowDBException(short,CDatabase *,void *)\n1074 void AfxThrowFileException(int,long,char const *)\n1075 void AfxThrowInternetException(unsigned long,unsigned long)\n1076 void AfxThrowLastCleanup()\n1077 void AfxThrowMemoryException()\n1078 void AfxThrowNotSupportedException()\n1079 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1080 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1081 void AfxThrowOleException(long)\n1082 void AfxThrowResourceException()\n1083 void AfxThrowUserException()\n1084 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1085 void AfxTlsAddRef()\n1086 void AfxTlsRelease()\n1087 void AfxTrackerTerm()\n1088 void AfxTryCleanup()\n1089 int AfxUnhookWindowCreate()\n1090 void AfxUnlockGlobals(int)\n1091 int AfxUnlockTempMaps(int)\n1092 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1093 void AfxVariantInit(tagVARIANT *)\n1094 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1095 char * AfxW2AHelper(char *,wchar_t const *,int)\n1096 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1097 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1098 void AfxWinTerm()\n1099 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1100 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1101 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1102 void * CFixedAlloc::Alloc()\n1103 void * CFixedAllocNoSync::Alloc()\n1104 unsigned char * CMemFile::Alloc(unsigned long)\n1105 unsigned char * CSharedFile::Alloc(unsigned long)\n1106 void CRecordset::AllocAndCacheFieldInfo()\n1107 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1108 void CDatabase::AllocConnect(unsigned long)\n1109 void COleSafeArray::AllocData()\n1110 void CRecordset::AllocDataCache()\n1111 void COleSafeArray::AllocDescriptor(unsigned long)\n1112 int CControlBar::AllocElements(int,int)\n1113 int CStatusBar::AllocElements(int,int)\n1114 int CRecordset::AllocHstmt()\n1115 void CPropertyPage::AllocPSP(unsigned long)\n1116 void CRecordset::AllocRowset()\n1117 int CThreadSlotData::AllocSlot()\n1118 void CRecordset::AllocStatusArrays()\n1119 void * CProperty::AllocValue(unsigned long)\n1120 short COleControl::AmbientAppearance()\n1121 unsigned long COleControl::AmbientBackColor()\n1122 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1123 IFontDisp * COleControl::AmbientFont()\n1124 unsigned long COleControl::AmbientForeColor()\n1125 unsigned long COleControl::AmbientLocaleID()\n1126 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1127 int COleControl::AmbientShowGrabHandles()\n1128 int COleControl::AmbientShowHatching()\n1129 short COleControl::AmbientTextAlign()\n1130 int COleControl::AmbientUIDead()\n1131 int COleControl::AmbientUserMode()\n1132 int CByteArray::Append(CByteArray const &)\n1133 int CDWordArray::Append(CDWordArray const &)\n1134 int CObArray::Append(CObArray const &)\n1135 int CPtrArray::Append(CPtrArray const &)\n1136 int CStringArray::Append(CStringArray const &)\n1137 int CUIntArray::Append(CUIntArray const &)\n1138 int CWordArray::Append(CWordArray const &)\n1139 void CRecordset::AppendFilterAndSortSQL()\n1140 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1141 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1142 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1143 long COlePropertyPage::XPropertyPage::Apply()\n1144 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1145 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1146 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1147 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1148 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1149 int CAsyncSocket::AsyncSelect(long)\n1150 int CAsyncSocket::Attach(unsigned int,long)\n1151 int CDC::Attach(HDC__ *)\n1152 int CGdiObject::Attach(void *)\n1153 int CImageList::Attach(_IMAGELIST *)\n1154 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1155 int CMenu::Attach(HMENU__ *)\n1156 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1157 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1158 void COleDataObject::Attach(IDataObject *,int)\n1159 void COleSafeArray::Attach(tagVARIANT &)\n1160 void COleStreamFile::Attach(IStream *)\n1161 void COleVariant::Attach(tagVARIANT &)\n1162 int CWnd::Attach(HWND__ *)\n1163 int COleDataObject::AttachClipboard()\n1164 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1165 void CWnd::AttachControlSite(CHandleMap *)\n1166 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1167 void COleClientItem::AttachDataObject(COleDataObject &)const \n1168 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1169 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1170 CPrintDialog * CPrintDialog::AttachOnSetup()\n1171 void COleControlSite::AttachWindow()\n1172 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1173 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1174 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1175 void COleMessageFilter::BeginBusyState()\n1176 int CDragListBox::BeginDrag(CPoint)\n1177 void COleDataObject::BeginEnumFormats()\n1178 void CFrameWnd::BeginModalState()\n1179 int CDatabase::BeginTrans()\n1180 void CCmdTarget::BeginWaitCursor()\n1181 int CAsyncSocket::Bind(unsigned int,char const *)\n1182 void CDataSourceControl::BindColumns()\n1183 void COccManager::BindControls(CWnd *)\n1184 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1185 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1186 void CRecordset::BindFieldsForUpdate()\n1187 unsigned int CRecordset::BindFieldsToColumns()\n1188 void CDatabase::BindParameters(void *)\n1189 unsigned int CRecordset::BindParams(void *)\n1190 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1191 void CDataSourceControl::BindProp(COleControlSite *,int)\n1192 void COleControlSite::BindProperty(long,CWnd *)\n1193 void CWnd::BindProperty(long,CWnd *)\n1194 void COleControl::BoundPropertyChanged(long)\n1195 int COleControl::BoundPropertyRequestEdit(long)\n1196 void CFrameWnd::BringToTop(int)\n1197 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1198 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1199 void CPropertySheet::BuildPropPageArray()\n1200 void CRecordset::BuildSelectSQL()\n1201 int COleControl::BuildSharedMenu()\n1202 int COleDocIPFrameWnd::BuildSharedMenu()\n1203 int COleIPFrameWnd::BuildSharedMenu()\n1204 void CRecordset::BuildSQL(char const *)\n1205 void CRecordset::BuildUpdateSQL()\n1206 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1207 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1208 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1209 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1210 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1211 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1212 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1213 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1214 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1215 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1216 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1217 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1218 CSize CControlBar::CalcFixedLayout(int,int)\n1219 CSize CDialogBar::CalcFixedLayout(int,int)\n1220 CSize CDockBar::CalcFixedLayout(int,int)\n1221 CSize CReBar::CalcFixedLayout(int,int)\n1222 CSize CStatusBar::CalcFixedLayout(int,int)\n1223 CSize CToolBar::CalcFixedLayout(int,int)\n1224 void CControlBar::CalcInsideRect(CRect &,int)const \n1225 void CStatusBar::CalcInsideRect(CRect &,int)const \n1226 CSize CToolBar::CalcLayout(unsigned long,int)\n1227 int CCheckListBox::CalcMinimumItemHeight()\n1228 CSize CPreviewView::CalcPageDisplaySize()\n1229 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1230 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1231 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1232 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1233 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1234 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1235 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1236 int CDHtmlDialog::CanAccessExternal()\n1237 int COleClientItem::CanActivate()\n1238 int CRichEditCntrItem::CanActivate()\n1239 int CSplitterWnd::CanActivateNext(int)\n1240 int CRecordset::CanBookmark()const \n1241 void CDatabase::Cancel()\n1242 void CRecordset::Cancel()\n1243 void CSocket::CancelBlockingCall()\n1244 void CDragListBox::CancelDrag(CPoint)\n1245 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1246 long COleUILinkInfo::CancelLink(unsigned long)\n1247 void CDockContext::CancelLoop()\n1248 void CPropertyPage::CancelToClose()\n1249 void CWnd::CancelToolTips(int)\n1250 void CRecordset::CancelUpdate()\n1251 int CDocument::CanCloseFrame(CFrameWnd *)\n1252 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1253 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1254 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1255 unsigned long CDockContext::CanDock()\n1256 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1257 int CFrameWnd::CanEnterHelpMode()\n1258 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1259 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1260 int COleClientItem::CanPaste()\n1261 int CRichEditCtrl::CanPaste(unsigned int)const \n1262 int CRichEditView::CanPaste()const \n1263 int COleClientItem::CanPasteLink()\n1264 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1265 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1266 void CScrollView::CenterOnPoint(CPoint)\n1267 void CWnd::CenterWindow(CWnd *)\n1268 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1269 int CListBox::CharToItem(unsigned int,unsigned int)\n1270 int CDatabase::Check(short)const \n1271 int CRecordset::Check(short)const \n1272 int CDialog::CheckAutoCenter()\n1273 int CWnd::CheckAutoCenter()\n1274 void CArchive::CheckCount()\n1275 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1276 void CWnd::CheckDlgButton(int,unsigned int)\n1277 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1278 void COleClientItem::CheckGeneral(long)\n1279 int CDatabase::CheckHstmt(short,void *)const \n1280 void COleControlContainer::CheckRadioButton(int,int,int)\n1281 void CWnd::CheckRadioButton(int,int,int)\n1282 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1283 void CRecordset::CheckRowsetError(short)\n1284 void CScrollView::CheckScrollBars(int &,int &)const \n1285 void CPropertyPage::Cleanup()\n1286 void COlePropertyPage::CleanupObjectArray()\n1287 void CDBVariant::Clear()\n1288 void CDockState::Clear()\n1289 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1290 void CRecordset::ClearFieldStatus()\n1291 void CRecordset::ClearNullFieldStatus(unsigned long)\n1292 void CRecordset::ClearNullParamStatus(unsigned long)\n1293 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1294 void CWnd::ClientToScreen(tagRECT *)const \n1295 int COleControl::ClipCaretRect(tagRECT *)\n1296 void CPreviewDC::ClipToPage()\n1297 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1298 long CArchiveStream::Clone(IStream * *)\n1299 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1300 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1301 void CArchive::Close()\n1302 void CAsyncMonikerFile::Close()\n1303 void CAsyncSocket::Close()\n1304 void CCachedDataPathProperty::Close()\n1305 void CDatabase::Close()\n1306 void CFile::Close()\n1307 void CFileFind::Close()\n1308 void CInternetConnection::Close()\n1309 void CInternetFile::Close()\n1310 void CInternetSession::Close()\n1311 void CMemFile::Close()\n1312 void CMirrorFile::Close()\n1313 void CMonikerFile::Close()\n1314 void COleClientItem::Close(enum tagOLECLOSE)\n1315 void COleStreamFile::Close()\n1316 void CRecordset::Close()\n1317 void CSocket::Close()\n1318 void CSocketFile::Close()\n1319 void CStdioFile::Close()\n1320 long CDocObjectServer::XOleObject::Close(unsigned long)\n1321 long COleControl::XOleObject::Close(unsigned long)\n1322 long COleServerDoc::XOleObject::Close(unsigned long)\n1323 long COleServerItem::XOleObject::Close(unsigned long)\n1324 void CDocManager::CloseAllDocuments(int)\n1325 void CDocTemplate::CloseAllDocuments(int)\n1326 void CWinApp::CloseAllDocuments(int)\n1327 void CFileFind::CloseContext()\n1328 void CFtpFileFind::CloseContext()\n1329 void CGopherFileFind::CloseContext()\n1330 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1331 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1332 int CStatusBar::CommandToIndex(unsigned int)const \n1333 int CToolBar::CommandToIndex(unsigned int)const \n1334 long CArchiveStream::Commit(unsigned long)\n1335 void COleClientItem::CommitItem(int)\n1336 void COleDocument::CommitItems(int,IStorage *)\n1337 int CDatabase::CommitTrans()\n1338 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n1339 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1340 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1341 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1342 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1343 void CWinThread::CommonConstruct()\n1344 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1345 int CListBox::CompareItem(tagCOMPAREITEM*)\n1346 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1347 int CAsyncSocket::Connect(char const *,unsigned int)\n1348 int CDatabase::Connect(unsigned long)\n1349 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1350 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1351 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1352 int CSocket::ConnectHelper(sockaddr const *,int)\n1353 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1354 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1355 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1356 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1357 void COleServerDoc::ConnectView(CWnd *,CView *)\n1358 void CPropertyPage::Construct(unsigned int,unsigned int)\n1359 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1360 void CPropertyPage::Construct(char const *,unsigned int)\n1361 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1362 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1363 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1364 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1365 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1366 void CRectTracker::Construct()\n1367 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1368 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1369 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1370 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1371 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1372 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1373 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1374 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1375 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1376 int CPropertySheet::ContinueModal()\n1377 int CWnd::ContinueModal()\n1378 void COleControl::ControlInfoChanged()\n1379 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1380 int COleClientItem::ConvertTo(_GUID const &)\n1381 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1382 void CByteArray::Copy(CByteArray const &)\n1383 void CDWordArray::Copy(CDWordArray const &)\n1384 void CObArray::Copy(CObArray const &)\n1385 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1386 void CPtrArray::Copy(CPtrArray const &)\n1387 void CStringArray::Copy(CStringArray const &)\n1388 void CUIntArray::Copy(CUIntArray const &)\n1389 void CWordArray::Copy(CWordArray const &)\n1390 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1391 void CopyElements(COleVariant *,COleVariant const *,int)\n1392 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1393 void COleClientItem::CopyToClipboard(int)\n1394 void COleServerItem::CopyToClipboard(int)\n1395 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1396 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n1397 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1398 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1399 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1400 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1401 int CControlFrameWnd::Create(char const *)\n1402 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1403 int CDialog::Create(char const *,CWnd *)\n1404 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1405 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1406 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1407 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1408 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1409 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1410 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1411 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1412 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1413 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1414 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1415 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1416 int CImageList::Create(int,int,unsigned int,int,int)\n1417 int CImageList::Create(unsigned int,int,int,unsigned long)\n1418 int CImageList::Create(CImageList *)\n1419 int CImageList::Create(char const *,int,int,unsigned long)\n1420 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1421 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1422 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1423 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1424 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1425 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1426 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1427 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1428 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1429 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1430 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1431 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1432 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1433 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1434 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1435 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1436 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1437 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1438 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1439 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1440 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1441 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1442 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1443 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1444 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1445 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1446 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1447 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1448 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1449 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1450 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1451 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1452 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1453 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1454 IBindHost * CMonikerFile::CreateBindHost()\n1455 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1456 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n1457 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1458 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1459 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1460 void CConnectionPoint::CreateConnectionArray()\n1461 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1462 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1463 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1464 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1465 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1466 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1467 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1468 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1469 int CWnd::CreateControlContainer(COleControlContainer * *)\n1470 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1471 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1472 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1473 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1474 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1475 int CFtpConnection::CreateDirectoryA(char const *)\n1476 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1477 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n1478 int CWnd::CreateDlg(char const *,CWnd *)\n1479 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1480 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1481 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n1482 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n1483 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1484 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1485 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1486 int CPictureHolder::CreateEmpty()\n1487 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1488 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1489 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1490 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1491 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1492 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1493 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1494 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1495 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1496 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1497 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1498 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1499 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1500 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1501 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1502 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1503 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1504 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1505 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1506 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1507 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1508 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1509 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1510 CControlFrameWnd * COleControl::CreateFrameWindow()\n1511 int CPictureHolder::CreateFromBitmap(unsigned int)\n1512 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1513 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1514 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1515 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1516 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1517 int CPictureHolder::CreateFromIcon(unsigned int)\n1518 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1519 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1520 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1521 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1522 int CDialog::CreateIndirect(void *,CWnd *)\n1523 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1524 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1525 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1526 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1527 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1528 int COleInsertDialog::CreateItem(COleClientItem *)\n1529 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1530 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1531 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1532 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1533 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n1534 CGopherLocator CGopherConnection::CreateLocator(char const *)\n1535 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n1536 int COleStreamFile::CreateMemoryStream(CFileException *)\n1537 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1538 CDocument * CDocTemplate::CreateNewDocument()\n1539 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1540 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1541 CObject * CByteArray::CreateObject()\n1542 CObject * CDC::CreateObject()\n1543 CObject * CDocItem::CreateObject()\n1544 CObject * CDockState::CreateObject()\n1545 CObject * CDWordArray::CreateObject()\n1546 CObject * CEditView::CreateObject()\n1547 CObject * CFrameWnd::CreateObject()\n1548 CObject * CGdiObject::CreateObject()\n1549 CObject * CHtmlEditView::CreateObject()\n1550 CObject * CHtmlView::CreateObject()\n1551 CObject * CImageList::CreateObject()\n1552 CObject * CListView::CreateObject()\n1553 CObject * CMapStringToOb::CreateObject()\n1554 CObject * CMapStringToString::CreateObject()\n1555 CObject * CMapWordToOb::CreateObject()\n1556 CObject * CMDIChildWnd::CreateObject()\n1557 CObject * CMDIFrameWnd::CreateObject()\n1558 CObject * CMenu::CreateObject()\n1559 CObject * CMiniDockFrameWnd::CreateObject()\n1560 CObject * CMiniFrameWnd::CreateObject()\n1561 CObject * CObArray::CreateObject()\n1562 CObject * CObList::CreateObject()\n1563 CObject * COleDocIPFrameWnd::CreateObject()\n1564 CObject * COleIPFrameWnd::CreateObject()\n1565 CObject * CPreviewView::CreateObject()\n1566 CObject * CRichEditCntrItem::CreateObject()\n1567 CObject * CRichEditView::CreateObject()\n1568 CObject * CRuntimeClass::CreateObject()\n1569 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1570 CObject * CRuntimeClass::CreateObject(char const *)\n1571 CObject * CStringArray::CreateObject()\n1572 CObject * CStringList::CreateObject()\n1573 CObject * CTreeView::CreateObject()\n1574 CObject * CWnd::CreateObject()\n1575 CObject * CWordArray::CreateObject()\n1576 void COleControlContainer::CreateOleFont(CFont *)\n1577 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1578 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1579 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1580 int CFont::CreatePointFont(int,char const *,CDC *)\n1581 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n1582 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1583 HDC__ * CPrintDialog::CreatePrinterDC()\n1584 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1585 int CWinApp::CreatePrinterDC(CDC &)\n1586 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1587 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1588 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1589 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1590 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1591 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n1592 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1593 void COleControl::CreateTracker(int,int)\n1594 void COleControl::CreateTracker(int,int,tagRECT const *)\n1595 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1596 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1597 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1598 void COleControl::CreateWindowForSubclassedControl()\n1599 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1600 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1601 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1602 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1603 void DDP_Check(CDataExchange *,int,int &,char const *)\n1604 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n1605 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n1606 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n1607 void DDP_EndText(CDataExchange *,int,short *,char const *)\n1608 void DDP_EndText(CDataExchange *,int,int *,char const *)\n1609 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n1610 void DDP_EndText(CDataExchange *,int,long *,char const *)\n1611 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n1612 void DDP_EndText(CDataExchange *,int,float *,char const *)\n1613 void DDP_EndText(CDataExchange *,int,double *,char const *)\n1614 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1615 void DDP_PostProcessing(CDataExchange *)\n1616 void DDP_Radio(CDataExchange *,int,int &,char const *)\n1617 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n1618 void DDP_Text(CDataExchange *,int,short &,char const *)\n1619 void DDP_Text(CDataExchange *,int,int &,char const *)\n1620 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n1621 void DDP_Text(CDataExchange *,int,long &,char const *)\n1622 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n1623 void DDP_Text(CDataExchange *,int,float &,char const *)\n1624 void DDP_Text(CDataExchange *,int,double &,char const *)\n1625 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n1626 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int)\n1627 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1628 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1629 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1630 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1631 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1632 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1633 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1634 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1635 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1636 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1637 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1638 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1639 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1640 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1641 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1642 void DDX_CBIndex(CDataExchange *,int,int &)\n1643 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1644 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1645 void DDX_Check(CDataExchange *,int,int &)\n1646 void DDX_Control(CDataExchange *,int,CWnd &)\n1647 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1648 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1649 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1650 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1651 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1652 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1653 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n1654 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n1655 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n1656 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n1657 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n1658 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n1659 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n1660 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n1661 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n1662 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n1663 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n1664 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n1665 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n1666 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n1667 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n1668 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n1669 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n1670 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n1671 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n1672 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1673 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n1674 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n1675 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n1676 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n1677 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n1678 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n1679 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n1680 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1681 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n1682 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1683 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1684 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1685 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1686 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1687 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1688 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1689 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1690 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1691 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1692 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1693 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1694 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1695 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1696 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1697 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1698 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1699 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1700 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n1701 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1702 void DDX_LBIndex(CDataExchange *,int,int &)\n1703 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1704 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1705 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1706 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1707 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1708 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1709 void DDX_OCBool(CDataExchange *,int,long,int &)\n1710 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1711 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1712 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1713 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1714 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1715 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1716 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1717 void DDX_OCInt(CDataExchange *,int,long,int &)\n1718 void DDX_OCInt(CDataExchange *,int,long,long &)\n1719 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1720 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1721 void DDX_OCShort(CDataExchange *,int,long,short &)\n1722 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1723 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1724 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1725 void DDX_Radio(CDataExchange *,int,int &)\n1726 void DDX_Scroll(CDataExchange *,int,int &)\n1727 void DDX_Slider(CDataExchange *,int,int &)\n1728 void DDX_Text(CDataExchange *,int,__int64 &)\n1729 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1730 void DDX_Text(CDataExchange *,int,unsigned char &)\n1731 void DDX_Text(CDataExchange *,int,short &)\n1732 void DDX_Text(CDataExchange *,int,int &)\n1733 void DDX_Text(CDataExchange *,int,unsigned int &)\n1734 void DDX_Text(CDataExchange *,int,long &)\n1735 void DDX_Text(CDataExchange *,int,unsigned long &)\n1736 void DDX_Text(CDataExchange *,int,float &)\n1737 void DDX_Text(CDataExchange *,int,double &)\n1738 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1739 void DDX_Text(CDataExchange *,int,_GUID &)\n1740 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1741 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1742 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1743 void DDX_Text(CDataExchange *,int,tagDEC &)\n1744 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1745 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1746 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1747 void DDX_Text(CDataExchange *,int,char *,int)\n1748 void COleClientItem::Deactivate()\n1749 long COlePropertyPage::XPropertyPage::Deactivate()\n1750 int COleServerDoc::DeactivateAndUndo()\n1751 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1752 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1753 void COleClientItem::DeactivateUI()\n1754 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n1755 long CWnd::Default()\n1756 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1757 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1758 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n1759 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n1760 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1761 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1762 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1763 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1764 void CControlBar::DelayShow(int)\n1765 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1766 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1767 void CException::Delete()\n1768 void COleClientItem::Delete(int)\n1769 void CRecordset::Delete()\n1770 void CWinThread::Delete()\n1771 void CSplitterWnd::DeleteColumn(int)\n1772 void CDocument::DeleteContents()\n1773 void CEditView::DeleteContents()\n1774 void CHtmlEditDoc::DeleteContents()\n1775 void COleDocument::DeleteContents()\n1776 void COleServerDoc::DeleteContents()\n1777 void CRichEditDoc::DeleteContents()\n1778 void CRichEditView::DeleteContents()\n1779 int CDC::DeleteDC()\n1780 int CImageList::DeleteImageList()\n1781 void CComboBox::DeleteItem(tagDELETEITEM*)\n1782 int CComboBoxEx::DeleteItem(int)\n1783 void CListBox::DeleteItem(tagDELETEITEM*)\n1784 int CGdiObject::DeleteObject()\n1785 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1786 void CSplitterWnd::DeleteRow(int)\n1787 void CHandleMap::DeleteTemp()\n1788 void CDC::DeleteTempMap()\n1789 void CGdiObject::DeleteTempMap()\n1790 void CImageList::DeleteTempMap()\n1791 void CMenu::DeleteTempMap()\n1792 void CWnd::DeleteTempMap()\n1793 void CRichEditDoc::DeleteUnmarkedItems()const \n1794 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1795 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1796 void CSplitterWnd::DeleteView(int,int)\n1797 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n1798 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1799 void COleSafeArray::Destroy()\n1800 int COleControlSite::DestroyControl()\n1801 void COleSafeArray::DestroyData()\n1802 void COleSafeArray::DestroyDescriptor()\n1803 void CFrameWnd::DestroyDockBars()\n1804 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1805 int CMenu::DestroyMenu()\n1806 void CDHtmlDialog::DestroyModeless()\n1807 void COleControl::DestroySharedMenu()\n1808 void COleDocIPFrameWnd::DestroySharedMenu()\n1809 void COleIPFrameWnd::DestroySharedMenu()\n1810 int CToolTipCtrl::DestroyToolTipCtrl()\n1811 void COleControl::DestroyTracker()\n1812 int CControlBar::DestroyWindow()\n1813 int CMDIChildWnd::DestroyWindow()\n1814 int CWnd::DestroyWindow()\n1815 unsigned int CAsyncSocket::Detach()\n1816 HDC__ * CDC::Detach()\n1817 void * CDialogTemplate::Detach()\n1818 void * CGdiObject::Detach()\n1819 _IMAGELIST * CImageList::Detach()\n1820 unsigned char * CMemFile::Detach()\n1821 HMENU__ * CMenu::Detach()\n1822 int CMonikerFile::Detach(CFileException *)\n1823 IDataObject * COleDataObject::Detach()\n1824 tagVARIANT COleSafeArray::Detach()\n1825 IStream * COleStreamFile::Detach()\n1826 tagVARIANT COleVariant::Detach()\n1827 void * CSharedFile::Detach()\n1828 HDC__ * CWindowlessDC::Detach()\n1829 HWND__ * CWnd::Detach()\n1830 IDispatch * COleDispatchDriver::DetachDispatch()\n1831 void CAsyncSocket::DetachHandle(unsigned int,int)\n1832 void COleControlSite::DetachWindow()\n1833 void CWinApp::DevModeChange(char *)\n1834 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1835 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1836 int COleServerDoc::DiscardUndoState()\n1837 long COleClientItem::XOleIPSite::DiscardUndoState()\n1838 long COleControlSite::XOleIPSite::DiscardUndoState()\n1839 void COleDispatchImpl::Disconnect()\n1840 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1841 void CDHtmlDialog::DisconnectDHtmlEvents()\n1842 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1843 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1844 void CDocument::DisconnectViews()\n1845 void CWinThread::DispatchThreadMessage(tagMSG *)\n1846 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1847 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n1848 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1849 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n1850 void CAsyncSocket::DoCallBack(unsigned int,long)\n1851 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n1852 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1853 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1854 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1855 void COleControl::DoClick()\n1856 int COleFrameHook::DoContextSensitiveHelp(int)\n1857 int COleConvertDialog::DoConvert(COleClientItem *)\n1858 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n1859 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n1860 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n1861 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n1862 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n1863 int COleFrameHook::DoEnableModeless(int)\n1864 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n1865 void CRecordset::DoFieldExchange(CFieldExchange *)\n1866 int CDocument::DoFileSave()\n1867 int CSplitterWnd::DoKeyboardSplit()\n1868 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n1869 int CColorDialog::DoModal()\n1870 int CDialog::DoModal()\n1871 int CFileDialog::DoModal()\n1872 int CFontDialog::DoModal()\n1873 int COleBusyDialog::DoModal()\n1874 int COleChangeIconDialog::DoModal()\n1875 int COleChangeSourceDialog::DoModal()\n1876 int COleConvertDialog::DoModal()\n1877 int COleInsertDialog::DoModal(unsigned long)\n1878 int COleInsertDialog::DoModal()\n1879 int COleLinksDialog::DoModal()\n1880 int COlePasteSpecialDialog::DoModal()\n1881 int COlePropertiesDialog::DoModal()\n1882 int COleUpdateDialog::DoModal()\n1883 int CPageSetupDialog::DoModal()\n1884 int CPrintDialog::DoModal()\n1885 int CPrintDialogEx::DoModal()\n1886 int CPropertySheet::DoModal()\n1887 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n1888 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n1889 void CControlBar::DoPaint(CDC *)\n1890 void CDockBar::DoPaint(CDC *)\n1891 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n1892 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n1893 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n1894 int CView::DoPreparePrinting(CPrintInfo *)\n1895 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n1896 int CWinApp::DoPrintDialog(CPrintDialog *)\n1897 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n1898 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n1899 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n1900 void COleControl::DoPropExchange(CPropExchange *)\n1901 int CDocument::DoSave(char const *,int)\n1902 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n1903 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n1904 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n1905 int CCmdUI::DoUpdate(CCmdTarget *,int)\n1906 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n1907 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n1908 long COleControlSite::DoVerb(long,tagMSG *)\n1909 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1910 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1911 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1912 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1913 void CWinApp::DoWaitCursor(int)\n1914 void CPreviewView::DoZoom(unsigned int,CPoint)\n1915 void CDC::DPtoHIMETRIC(tagSIZE *)const \n1916 void CDC::DPtoLP(tagSIZE *)const \n1917 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n1918 unsigned int CDragListBox::Dragging(CPoint)\n1919 long COleDropTarget::XDropTarget::DragLeave()\n1920 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n1921 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n1922 void CRectTracker::Draw(CDC *)const \n1923 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n1924 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n1925 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n1926 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n1927 void CControlBar::DrawBorders(CDC *,CRect &)\n1928 void COleControl::DrawContent(CDC *,CRect &)\n1929 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n1930 void CDockContext::DrawFocusRect(int)\n1931 void CControlBar::DrawGripper(CDC *,CRect const &)\n1932 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n1933 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n1934 void CDragListBox::DrawInsert(int)\n1935 void CBitmapButton::DrawItem(tagDRAWITEM*)\n1936 void CButton::DrawItem(tagDRAWITEM*)\n1937 void CCheckListBox::DrawItem(tagDRAWITEM*)\n1938 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n1939 void CComboBox::DrawItem(tagDRAWITEM*)\n1940 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n1941 void CListBox::DrawItem(tagDRAWITEM*)\n1942 void CListCtrl::DrawItem(tagDRAWITEM*)\n1943 void CListView::DrawItem(tagDRAWITEM*)\n1944 void CMenu::DrawItem(tagDRAWITEM*)\n1945 void CStatic::DrawItem(tagDRAWITEM*)\n1946 void CStatusBar::DrawItem(tagDRAWITEM*)\n1947 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n1948 void CTabCtrl::DrawItem(tagDRAWITEM*)\n1949 void COleControl::DrawMetafile(CDC *,CRect &)\n1950 void CDragListBox::DrawSingle(int)\n1951 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n1952 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n1953 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n1954 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n1955 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n1956 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n1957 void CDragListBox::Dropped(int,CPoint)\n1958 CDumpContext & CDumpContext::DumpAsHex(__int64)\n1959 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n1960 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n1961 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n1962 CDumpContext & CDumpContext::DumpAsHex(int)\n1963 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n1964 CDumpContext & CDumpContext::DumpAsHex(long)\n1965 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n1966 long COleControl::XDataObject::DUnadvise(unsigned long)\n1967 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n1968 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n1969 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n1970 CFile * CFile::Duplicate()const \n1971 CFile * CInternetFile::Duplicate()const \n1972 CFile * CMemFile::Duplicate()const \n1973 CFile * COleStreamFile::Duplicate()const \n1974 CFile * CSocketFile::Duplicate()const \n1975 CFile * CStdioFile::Duplicate()const \n1976 unsigned long const CEditView::dwStyleDefault\n1977 void CRecordset::Edit()\n1978 long COlePropertyPage::XPropertyPage::EditProperty(long)\n1979 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n1980 void CDBException::Empty()\n1981 void COleDataSource::Empty()\n1982 void CCheckListBox::Enable(int,int)\n1983 void CCmdUI::Enable(int)\n1984 void COleCmdUI::Enable(int)\n1985 void CStatusCmdUI::Enable(int)\n1986 void CTestCmdUI::Enable(int)\n1987 void CToolCmdUI::Enable(int)\n1988 void CCmdTarget::EnableAggregation()\n1989 void CCmdTarget::EnableAutomation()\n1990 void CRecordset::EnableBookmarks()\n1991 void CCmdTarget::EnableConnections()\n1992 void CControlBar::EnableDocking(unsigned long)\n1993 void CFrameWnd::EnableDocking(unsigned long)\n1994 void COleControlSite::EnableDSC()\n1995 long CBrowserControlSite::EnableModeless(int)\n1996 long CDHtmlDialog::EnableModeless(int)\n1997 void CWinApp::EnableModeless(int)\n1998 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n1999 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2000 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2001 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2002 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2003 void CWnd::EnableScrollBarCtrl(int,int)\n2004 void CWinApp::EnableShellOpen()\n2005 void COleControl::EnableSimpleFrame()\n2006 void CPropertySheet::EnableStackedTabs(int)\n2007 int CInternetSession::EnableStatusCallback(int)\n2008 int CWnd::EnableToolTips(int)\n2009 int CWnd::EnableTrackingToolTips(int)\n2010 void CCmdTarget::EnableTypeLib()\n2011 int COleControlSite::EnableWindow(int)\n2012 int CWnd::EnableWindow(int)\n2013 void COleMessageFilter::EndBusyState()\n2014 void CAsyncMonikerFile::EndCallbacks()\n2015 long COleLinkingDoc::EndDeferErrors(long)\n2016 void CDialog::EndDialog(int)\n2017 void CPropertyPage::EndDialog(int)\n2018 void CPropertySheet::EndDialog(int)\n2019 void CDockContext::EndDrag()\n2020 void CWnd::EndModalLoop(int)\n2021 void CFrameWnd::EndModalState()\n2022 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2023 void CDockContext::EndResize()\n2024 void CCmdTarget::EndWaitCursor()\n2025 void COleDataObject::EnsureClipboardObject()\n2026 long CWnd::EnsureStdObj()\n2027 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2028 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2029 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2030 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2031 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2032 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2033 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2034 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2035 int COlePropertyPage::EnumControls(HWND__ *,long)\n2036 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2037 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2038 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2039 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2040 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2041 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2042 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2043 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2044 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2045 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2046 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2047 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2048 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2049 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2050 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2051 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2052 void CControlBar::EraseNonClient()\n2053 int CFileException::ErrnoToException(int)\n2054 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2055 int CMetaFileDC::Escape(int,int,char const *,void *)\n2056 int CPreviewDC::Escape(int,int,char const *,void *)\n2057 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2058 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2059 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2060 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2061 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2062 int COleControl::ExchangeExtent(CPropExchange *)\n2063 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2064 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2065 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2066 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2067 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2068 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2069 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2070 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2071 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2072 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2073 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2074 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2075 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2076 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2077 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2078 void COleControl::ExchangeStockProps(CPropExchange *)\n2079 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2080 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2081 int CDC::ExcludeClipRect(int,int,int,int)\n2082 int CDC::ExcludeClipRect(tagRECT const *)\n2083 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2084 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2085 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2086 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2087 int CHtmlEditView::ExecHandler(unsigned int)\n2088 int CWnd::ExecuteDlgInit(void *)\n2089 int CWnd::ExecuteDlgInit(char const *)\n2090 void CRecordset::ExecuteSetPosUpdate()\n2091 void CDatabase::ExecuteSQL(char const *)\n2092 void CRecordset::ExecuteUpdateSQL()\n2093 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2094 void CFrameWnd::ExitHelpMode()\n2095 int COleControlModule::ExitInstance()\n2096 int CWinApp::ExitInstance()\n2097 int CWinThread::ExitInstance()\n2098 unsigned long CCmdTarget::ExternalAddRef()\n2099 void CCmdTarget::ExternalDisconnect()\n2100 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2101 unsigned long CCmdTarget::ExternalRelease()\n2102 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2103 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2104 void CDataExchange::Fail()\n2105 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2106 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2107 void CArchive::FillBuffer(unsigned int)\n2108 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2109 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2110 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2111 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2112 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2113 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2114 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2115 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2116 void CWnd::FilterToolTipMessage(tagMSG *)\n2117 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2118 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2119 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2120 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2121 int CDockBar::FindBar(CControlBar *,int)\n2122 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2123 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2124 int CFileFind::FindFile(char const *,unsigned long)\n2125 int CFtpFileFind::FindFile(char const *,unsigned long)\n2126 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2127 int CGopherFileFind::FindFile(char const *,unsigned long)\n2128 __POSITION * CObList::FindIndex(int)const \n2129 __POSITION * CPtrList::FindIndex(int)const \n2130 __POSITION * CStringList::FindIndex(int)const \n2131 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2132 int CFileFind::FindNextFileA()\n2133 int CFtpFileFind::FindNextFileA()\n2134 int CGopherFileFind::FindNextFileA()\n2135 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2136 int CDHtmlDialog::FindSinkForObject(char const *)\n2137 char const * CRecordset::FindSQLToken(char const *,char const *)\n2138 int CEditView::FindTextA(char const *,int,int)\n2139 int CRichEditView::FindTextA(char const *,int,int,int)\n2140 int CRichEditView::FindTextSimple(char const *,int,int,int)\n2141 int COleClientItem::FinishCreate(long)\n2142 void COleControl::FireError(long,char const *,unsigned int)\n2143 void COleControl::FireEvent(long,unsigned char *,...)\n2144 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2145 void COleControl::FireEventV(long,unsigned char *,char *)\n2146 void CRecordset::Fixups()\n2147 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2148 void CArchive::Flush()\n2149 void CDumpContext::Flush()\n2150 void CFile::Flush()\n2151 void CInternetFile::Flush()\n2152 void CMemFile::Flush()\n2153 void CMonikerFile::Flush()\n2154 void COleStreamFile::Flush()\n2155 void CSocketFile::Flush()\n2156 void CStdioFile::Flush()\n2157 void COleDataSource::FlushClipboard()\n2158 int CRecordset::FlushResultSet()\n2159 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n2160 void COleControl::ForwardActivationMsg(tagMSG *)\n2161 void CAfxStringMgr::Free(ATL::CStringData *)\n2162 void CDatabase::Free()\n2163 void CFixedAlloc::Free(void *)\n2164 void CFixedAllocNoSync::Free(void *)\n2165 void CMemFile::Free(unsigned char *)\n2166 void CSharedFile::Free(unsigned char *)\n2167 void CFixedAlloc::FreeAll()\n2168 void CFixedAllocNoSync::FreeAll()\n2169 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2170 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2171 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2172 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2173 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2174 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2175 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2176 void CRecordset::FreeDataCache()\n2177 void CPlex::FreeDataChain()\n2178 void CByteArray::FreeExtra()\n2179 void CDWordArray::FreeExtra()\n2180 void CObArray::FreeExtra()\n2181 void CPtrArray::FreeExtra()\n2182 void CStringArray::FreeExtra()\n2183 void CUIntArray::FreeExtra()\n2184 void CWordArray::FreeExtra()\n2185 void CObList::FreeNode(CObList::CNode *)\n2186 void CPtrList::FreeNode(CPtrList::CNode *)\n2187 void CStringList::FreeNode(CStringList::CNode *)\n2188 void CRecordset::FreeRowset()\n2189 void CThreadSlotData::FreeSlot(int)\n2190 void CProperty::FreeValue()\n2191 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2192 void COleControlContainer::FreezeAllEvents(int)\n2193 void COleControlSite::FreezeEvents(int)\n2194 long COleControl::XOleControl::FreezeEvents(int)\n2195 int COleClientItem::FreezeLink()\n2196 CDC * CDC::FromHandle(HDC__ *)\n2197 CGdiObject * CGdiObject::FromHandle(void *)\n2198 CObject * CHandleMap::FromHandle(void *)\n2199 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2200 CMenu * CMenu::FromHandle(HMENU__ *)\n2201 CWnd * CWnd::FromHandle(HWND__ *)\n2202 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2203 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2204 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2205 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2206 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2207 CRuntime* CRuntimeClass::FromName(char const *)\n2208 void * CProperty::Get(unsigned long *)\n2209 void * CProperty::Get()\n2210 void * CPropertySection::Get(unsigned long)\n2211 void * CPropertySection::Get(unsigned long,unsigned long *)\n2212 void * CPropertySet::Get(_GUID,unsigned long)\n2213 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2214 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2215 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2216 long CWnd::get_accChildCount(long *)\n2217 long CWnd::XAccessible::get_accChildCount(long *)\n2218 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2219 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2220 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2221 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2222 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2223 long CWnd::get_accFocus(tagVARIANT *)\n2224 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2225 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2226 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2227 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2228 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2229 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2230 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2231 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2232 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2233 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2234 long CWnd::get_accParent(IDispatch * *)\n2235 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2236 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2237 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2238 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2239 long CWnd::get_accSelection(tagVARIANT *)\n2240 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2241 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2242 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2243 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2244 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2245 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2246 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2247 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2248 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2249 long CWnd::GetAccessibleChildCount()\n2250 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2251 unsigned long COleControl::GetActivationPolicy()\n2252 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2253 CDocument * CFrameWnd::GetActiveDocument()\n2254 CFrameWnd * CFrameWnd::GetActiveFrame()\n2255 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2256 int CPropertySheet::GetActiveIndex()const \n2257 CPropertyPage * CPropertySheet::GetActivePage()const \n2258 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2259 CView * CFrameWnd::GetActiveView()const \n2260 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2261 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2262 int CHtmlView::GetAddressBar()const \n2263 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2264 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2265 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2266 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2267 short COleControl::GetAppearance()\n2268 IDispatch * CHtmlView::GetApplication()const \n2269 HKEY__ * CWinApp::GetAppRegistryKey()\n2270 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2271 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2272 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2273 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2274 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2275 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2276 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2277 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2278 unsigned long COleControl::GetBackColor()\n2279 void CControlBar::GetBarInfo(CControlBarInfo *)\n2280 void CDockBar::GetBarInfo(CControlBarInfo *)\n2281 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2282 void * CBlobProperty::GetBlob()\n2283 void CRecordset::GetBookmark(CDBVariant &)\n2284 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2285 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2286 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2287 short COleControl::GetBorderStyle()\n2288 long CDataSourceControl::GetBoundClientRow()\n2289 int CRecordset::GetBoundFieldIndex(void *)\n2290 int CRecordset::GetBoundParamIndex(void *)\n2291 unsigned int CEditView::GetBufferLength()const \n2292 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2293 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2294 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2295 int CHtmlView::GetBusy()const \n2296 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2297 unsigned int CToolBar::GetButtonStyle(int)const \n2298 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n2299 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2300 void COleSafeArray::GetByteArray(CByteArray &)\n2301 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2302 unsigned short CPropertySet::GetByteOrder()\n2303 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2304 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2305 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2306 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2307 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2308 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2309 CWnd * COleControl::GetCapture()\n2310 long COleControlSite::XOleIPSite::GetCapture()\n2311 void CFontDialog::GetCharFormat(_charformat &)const \n2312 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n2313 int CCheckListBox::GetCheck(int)\n2314 int CListCtrl::GetCheck(int)const \n2315 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2316 int CWnd::GetCheckedRadioButton(int,int)\n2317 long CBlobProperty::GetClassID(_GUID *)\n2318 void COleClientItem::GetClassID(_GUID *)const \n2319 _GUID CPropertySet::GetClassID()\n2320 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2321 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2322 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2323 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2324 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2325 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2326 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n2327 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2328 void COleControl::GetClientOffset(long *,long *)const \n2329 void COleControl::GetClientRect(tagRECT *)const \n2330 IOleClientSite * COleClientItem::GetClientSite()\n2331 IOleClientSite * COleControl::GetClientSite()\n2332 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2333 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2334 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2335 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2336 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2337 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2338 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2339 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2340 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2341 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2342 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2343 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2344 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2345 COleDataSource * COleDataSource::GetClipboardOwner()\n2346 int CDC::GetClipBox(tagRECT *)const \n2347 int CMetaFileDC::GetClipBox(tagRECT *)const \n2348 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2349 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2350 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2351 int CListCtrl::GetColumnOrderArray(int *,int)\n2352 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2353 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2354 void CDatabase::GetConnectInfo()\n2355 int CConnectionPoint::GetConnectionCount()\n2356 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2357 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2358 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2359 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2360 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2361 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2362 CPtrArray const * CConnectionPoint::GetConnections()\n2363 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2364 IDispatch * CHtmlView::GetContainer()const \n2365 IOleItemContainer * COleDocument::GetContainer()\n2366 IOleItemContainer * COleLinkingDoc::GetContainer()\n2367 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2368 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2369 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2370 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2371 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2372 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2373 COleControlContainer * CWnd::GetControlContainer()\n2374 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n2375 unsigned long COleControl::GetControlFlags()\n2376 void COleControlSite::GetControlInfo()\n2377 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2378 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2379 IUnknown * CCmdTarget::GetControllingUnknown()\n2380 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2381 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n2382 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n2383 void COleControl::GetControlSize(int *,int *)\n2384 int COlePropertyPage::GetControlStatus(unsigned int)\n2385 IUnknown * CWnd::GetControlUnknown()\n2386 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2387 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2388 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n2389 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n2390 int CPrintDialog::GetCopies()const \n2391 int CPrintDialogEx::GetCopies()const \n2392 unsigned long CPropertySection::GetCount()\n2393 unsigned long CPropertySet::GetCount()\n2394 int CFileFind::GetCreationTime(ATL::CTime &)const \n2395 int CFileFind::GetCreationTime(_FILETIME *)const \n2396 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2397 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2398 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2399 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2400 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n2401 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2402 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n2403 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n2404 tagMSG const * CWnd::GetCurrentMessage()\n2405 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2406 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2407 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2408 IUnknown * CDataBoundProperty::GetCursor()\n2409 IUnknown * CDataSourceControl::GetCursor()\n2410 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2411 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2412 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2413 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2414 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2415 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2416 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2417 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2418 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2419 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2420 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n2421 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2422 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2423 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2424 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2425 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2426 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2427 IDataObject * COleServerItem::GetDataObject()\n2428 COleControl::CControlDataSource * COleControl::GetDataSource()\n2429 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2430 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2431 HACCEL__ * CDocument::GetDefaultAccelerator()\n2432 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2433 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2434 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2435 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n2436 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n2437 short CRecordset::GetDefaultFieldType(short)\n2438 HMENU__ * CDocument::GetDefaultMenu()\n2439 HMENU__ * COleServerDoc::GetDefaultMenu()\n2440 int CPrintDialog::GetDefaults()\n2441 int CPrintDialogEx::GetDefaults()\n2442 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n2443 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2444 unsigned long COleControlSite::GetDefBtnCode()\n2445 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2446 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n2447 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n2448 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n2449 CPoint CScrollView::GetDeviceScrollPosition()const \n2450 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2451 _devicemodeA * CPageSetupDialog::GetDevMode()const \n2452 _devicemodeA * CPrintDialog::GetDevMode()const \n2453 _devicemodeA * CPrintDialogEx::GetDevMode()const \n2454 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2455 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2456 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2457 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2458 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2459 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2460 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2461 int CCmdTarget::GetDispatchIID(_GUID *)\n2462 int COleControl::GetDispatchIID(_GUID *)\n2463 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2464 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2465 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2466 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n2467 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2468 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2469 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2470 int COleControlSite::GetDlgCtrlID()const \n2471 int CWnd::GetDlgCtrlID()const \n2472 CWnd * COleControlContainer::GetDlgItem(int)const \n2473 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2474 CWnd * CWnd::GetDlgItem(int)const \n2475 void CWnd::GetDlgItem(int,HWND__ * *)const \n2476 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2477 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2478 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n2479 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2480 int CWnd::GetDlgItemTextA(int,char *,int)const \n2481 CDockBar * CDockContext::GetDockBar(unsigned long)\n2482 CControlBar * CDockBar::GetDockedControlBar(int)const \n2483 int CDockBar::GetDockedCount()const \n2484 int CDockBar::GetDockedVisibleCount()const \n2485 CFrameWnd * CControlBar::GetDockingFrame()const \n2486 void CFrameWnd::GetDockState(CDockState &)const \n2487 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2488 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2489 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n2490 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2491 int CDocManager::GetDocumentCount()\n2492 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2493 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n2494 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n2495 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n2496 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2497 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2498 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2499 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2500 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2501 IUnknown * CWnd::GetDSCCursor()\n2502 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n2503 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n2504 void COleSafeArray::GetElement(long *,void *)\n2505 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n2506 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n2507 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n2508 wchar_t * CDHtmlDialog::GetElementText(char const *)\n2509 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2510 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2511 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2512 int COleControl::GetEnabled()\n2513 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2514 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2515 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2516 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2517 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2518 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2519 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2520 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2521 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2522 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2523 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2524 int COleControlSite::GetEventIID(_GUID *)\n2525 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2526 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n2527 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n2528 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2529 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2530 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2531 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2532 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2533 unsigned long COleControlSite::GetExStyle()const \n2534 unsigned long CWnd::GetExStyle()const \n2535 IDispatch * COleControl::GetExtendedControl()\n2536 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2537 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2538 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2539 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2540 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2541 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2542 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2543 long CBrowserControlSite::GetExternal(IDispatch * *)\n2544 long CDHtmlDialog::GetExternal(IDispatch * *)\n2545 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2546 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2547 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2548 short CRecordset::GetFieldIndexByName(char const *)\n2549 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2550 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2551 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2552 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2553 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2554 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n2555 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n2556 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n2557 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2558 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n2559 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n2560 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n2561 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n2562 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n2563 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n2564 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n2565 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n2566 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n2567 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n2568 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n2569 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n2570 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2571 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n2572 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n2573 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n2574 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n2575 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2576 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2577 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2578 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2579 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2580 CFrameWnd * COleDocument::GetFirstFrame()\n2581 __POSITION * CDocument::GetFirstViewPosition()const \n2582 CWnd * COleControl::GetFocus()\n2583 long COleControlSite::XOleIPSite::GetFocus()\n2584 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n2585 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n2586 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n2587 IFontDisp * COleControl::GetFont()\n2588 IFontDisp * CFontHolder::GetFontDispatch()\n2589 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2590 HFONT__ * CFontHolder::GetFontHandle()\n2591 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2592 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n2593 unsigned long COleControl::GetForeColor()\n2594 _GUID CPropertySection::GetFormatID()\n2595 unsigned short CPropertySet::GetFormatVersion()\n2596 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n2597 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n2598 int CHtmlView::GetFullScreen()const \n2599 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2600 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2601 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n2602 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2603 CBrush * CDC::GetHalftoneBrush()\n2604 unsigned int CRectTracker::GetHandleMask()const \n2605 void CRectTracker::GetHandleRect(int,CRect *)const \n2606 int CRectTracker::GetHandleSize(tagRECT const *)const \n2607 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2608 long CHtmlView::GetHeight()const \n2609 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2610 void CSplitterWnd::GetHitRect(int,CRect &)\n2611 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2612 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2613 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2614 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2615 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n2616 IDispatch * CHtmlView::GetHtmlDocument()const \n2617 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n2618 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n2619 unsigned int COleControl::GetHwnd()\n2620 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2621 HICON__ * COleClientItem::GetIconFromRegistry()const \n2622 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2623 void * COleClientItem::GetIconicMetafile()\n2624 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2625 unsigned long CProperty::GetID()\n2626 int CPropertySection::GetID(char const *,unsigned long *)\n2627 IDataObject * COleDataObject::GetIDataObject(int)\n2628 IDispatch * CCmdTarget::GetIDispatch(int)\n2629 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2630 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2631 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2632 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2633 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2634 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2635 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2636 _GUID const & COleControl::XEventConnPt::GetIID()\n2637 CImageList * CReBarCtrl::GetImageList()const \n2638 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2639 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2640 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2641 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2642 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2643 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2644 CWnd * COleClientItem::GetInPlaceWindow()\n2645 void CSplitterWnd::GetInsideRect(CRect &)const \n2646 IUnknown * CCmdTarget::GetInterface(void const *)\n2647 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2648 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2649 IUnknown * COleControl::GetInterfaceHook(void const *)\n2650 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2651 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2652 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2653 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2654 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2655 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2656 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2657 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2658 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2659 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2660 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2661 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2662 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2663 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2664 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2665 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2666 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2667 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2668 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2669 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2670 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2671 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2672 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2673 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2674 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2675 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2676 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2677 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n2678 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2679 unsigned long CListCtrl::GetItemData(int)const \n2680 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2681 unsigned int CStatusBar::GetItemID(int)const \n2682 unsigned int CToolBar::GetItemID(int)const \n2683 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2684 void COleClientItem::GetItemName(char *)const \n2685 void COleServerDoc::GetItemPosition(tagRECT *)const \n2686 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2687 void CStatusBar::GetItemRect(int,tagRECT *)const \n2688 void CToolBar::GetItemRect(int,tagRECT *)const \n2689 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2690 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2691 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2692 void COleClientItem::GetItemStorage()\n2693 void COleClientItem::GetItemStorageCompound()\n2694 void COleClientItem::GetItemStorageFlat()\n2695 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n2696 int CListCtrl::GetItemText(int,int,char *,int)const \n2697 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2698 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2699 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2700 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2701 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2702 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2703 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2704 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2705 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2706 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2707 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2708 unsigned long CDC::GetLayout()const \n2709 long CRecordset::GetLBFetchSize(long)\n2710 void COleSafeArray::GetLBound(unsigned long,long *)\n2711 long CRecordset::GetLBReallocSize(long)\n2712 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2713 long CHtmlView::GetLeft()const \n2714 unsigned __int64 CFile::GetLength()const \n2715 unsigned __int64 CFileFind::GetLength()const \n2716 unsigned __int64 CGopherFileFind::GetLength()const \n2717 unsigned __int64 CInternetFile::GetLength()const \n2718 unsigned __int64 CMemFile::GetLength()const \n2719 unsigned __int64 COleStreamFile::GetLength()const \n2720 unsigned __int64 CSocketFile::GetLength()const \n2721 unsigned __int64 CStdioFile::GetLength()const \n2722 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2723 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2724 int CRichEditCtrl::GetLine(int,char *)const \n2725 int CRichEditCtrl::GetLine(int,char *,int)const \n2726 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n2727 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2728 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2729 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2730 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2731 CPtrList * CPropertySection::GetList()\n2732 CPtrList * CPropertySet::GetList()\n2733 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n2734 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n2735 CGopherLocator CGopherFileFind::GetLocator()const \n2736 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2737 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2738 long CFieldExchange::GetLongBinarySize(int)\n2739 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2740 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2741 CWnd * CWinThread::GetMainWnd()\n2742 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2743 int CConnectionPoint::GetMaxConnections()\n2744 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2745 int CHtmlView::GetMenuBar()const \n2746 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n2747 CWnd * CFrameWnd::GetMessageBar()\n2748 CWnd * CMDIChildWnd::GetMessageBar()\n2749 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2750 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2751 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2752 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2753 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2754 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2755 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2756 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2757 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2758 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2759 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2760 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2761 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2762 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2763 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2764 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2765 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2766 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2767 AFX_MSGMAP const * CListView::GetMessageMap()const \n2768 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2769 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2770 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2771 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2772 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2773 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2774 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2775 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2776 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2777 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2778 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2779 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2780 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2781 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2782 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2783 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2784 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2785 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2786 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2787 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2788 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2789 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2790 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2791 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2792 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2793 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2794 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2795 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2796 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2797 AFX_MSGMAP const * CView::GetMessageMap()const \n2798 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2799 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2800 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2801 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2802 long CDataSourceControl::GetMetaData()\n2803 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2804 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2805 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2806 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2807 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2808 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2809 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2810 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n2811 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n2812 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n2813 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n2814 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2815 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2816 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2817 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2818 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2819 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2820 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n2821 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n2822 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n2823 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n2824 unsigned long COleClientItem::GetNewItemNumber()\n2825 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n2826 CDataBoundProperty * CDataBoundProperty::GetNext()\n2827 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n2828 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n2829 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n2830 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n2831 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2832 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n2833 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n2834 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n2835 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n2836 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n2837 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n2838 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n2839 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n2840 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n2841 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n2842 int COleDataObject::GetNextFormat(tagFORMATETC *)\n2843 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n2844 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n2845 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n2846 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n2847 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n2848 CView * CDocument::GetNextView(__POSITION * &)const \n2849 ATL::CStringData * CAfxStringMgr::GetNilString()\n2850 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n2851 void CCmdTarget::GetNotSupported()\n2852 void COleControl::GetNotSupported()\n2853 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n2854 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n2855 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n2856 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n2857 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n2858 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n2859 unsigned int CArchive::GetObjectSchema()\n2860 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n2861 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n2862 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n2863 int CHtmlView::GetOffline()const \n2864 tagOFNA & CFileDialog::GetOFN()\n2865 tagOFNA const & CFileDialog::GetOFN()const \n2866 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n2867 IOleObject * COleServerItem::GetOleObject()\n2868 unsigned long COleSafeArray::GetOneDimSize()\n2869 int CDocManager::GetOpenDocumentCount()\n2870 int CWinApp::GetOpenDocumentCount()\n2871 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n2872 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n2873 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n2874 int CHeaderCtrl::GetOrderArray(int *,int)\n2875 unsigned long CPropertySet::GetOSVersion()\n2876 CWnd * COleControl::GetOuterWindow()const \n2877 int COleDocObjectItem::GetPageCount(long *,long *)\n2878 int CPropertySheet::GetPageCount()const \n2879 int CPropertySheet::GetPageIndex(CPropertyPage *)\n2880 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n2881 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n2882 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n2883 IPropertyPageSite * COlePropertyPage::GetPageSite()\n2884 CWnd * CSplitterWnd::GetPane(int,int)const \n2885 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n2886 unsigned int CStatusBar::GetPaneStyle(int)const \n2887 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n2888 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n2889 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n2890 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n2891 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n2892 IDispatch * CHtmlView::GetParentBrowser()const \n2893 CFrameWnd * CWnd::GetParentFrame()const \n2894 CWnd * CWnd::GetParentOwner()const \n2895 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n2896 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n2897 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n2898 IPictureDisp * CPictureHolder::GetPictureDispatch()\n2899 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n2900 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n2901 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n2902 unsigned __int64 CFile::GetPosition()const \n2903 unsigned __int64 CMemFile::GetPosition()const \n2904 unsigned __int64 COleStreamFile::GetPosition()const \n2905 unsigned __int64 CSocketFile::GetPosition()const \n2906 unsigned __int64 CStdioFile::GetPosition()const \n2907 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n2908 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n2909 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n2910 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n2911 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n2912 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n2913 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n2914 CFont * CEditView::GetPrinterFont()const \n2915 long CAsyncMonikerFile::GetPriority()const \n2916 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n2917 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n2918 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n2919 int COlePropertyPage::GetPropCheck(char const *,int *)\n2920 COleVariant CHtmlView::GetProperty(char const *)\n2921 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2922 void COleControlSite::GetProperty(long,unsigned short,void *)const \n2923 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n2924 CProperty * CPropertySection::GetProperty(unsigned long)\n2925 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n2926 void CWnd::GetProperty(long,unsigned short,void *)const \n2927 int COlePropertyPage::GetPropIndex(char const *,int *)\n2928 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n2929 int COlePropertyPage::GetPropRadio(char const *,int *)\n2930 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n2931 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n2932 int COlePropertyPage::GetPropText(char const *,short *)\n2933 int COlePropertyPage::GetPropText(char const *,int *)\n2934 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n2935 int COlePropertyPage::GetPropText(char const *,long *)\n2936 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n2937 int COlePropertyPage::GetPropText(char const *,float *)\n2938 int COlePropertyPage::GetPropText(char const *,double *)\n2939 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *)\n2940 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n2941 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n2942 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n2943 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n2944 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n2945 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n2946 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n2947 void CProgressCtrl::GetRange(int &,int &)\n2948 void CSliderCtrl::GetRange(int &,int &)const \n2949 void CSpinButtonCtrl::GetRange(int &,int &)const \n2950 void * CProperty::GetRawValue()\n2951 enum tagREADYSTATE CHtmlView::GetReadyState()const \n2952 long COleControl::GetReadyState()\n2953 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n2954 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n2955 int COleControl::GetRectInContainer(tagRECT *)\n2956 int CHtmlView::GetRegisterAsBrowser()const \n2957 int CHtmlView::GetRegisterAsDropTarget()const \n2958 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n2959 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n2960 CFrameWnd * CCmdTarget::GetRoutingFrame()\n2961 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n2962 CView * CCmdTarget::GetRoutingView()\n2963 CView * CCmdTarget::GetRoutingView_()\n2964 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n2965 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n2966 CRuntime* CArchiveException::GetRuntimeClass()const \n2967 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n2968 CRuntime* CAsyncSocket::GetRuntimeClass()const \n2969 CRuntime* CBitmap::GetRuntimeClass()const \n2970 CRuntime* CBitmapButton::GetRuntimeClass()const \n2971 CRuntime* CBrush::GetRuntimeClass()const \n2972 CRuntime* CButton::GetRuntimeClass()const \n2973 CRuntime* CByteArray::GetRuntimeClass()const \n2974 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n2975 CRuntime* CCheckListBox::GetRuntimeClass()const \n2976 CRuntime* CClientDC::GetRuntimeClass()const \n2977 CRuntime* CCmdTarget::GetRuntimeClass()const \n2978 CRuntime* CColorDialog::GetRuntimeClass()const \n2979 CRuntime* CComboBox::GetRuntimeClass()const \n2980 CRuntime* CComboBoxEx::GetRuntimeClass()const \n2981 CRuntime* CControlBar::GetRuntimeClass()const \n2982 CRuntime* CCriticalSection::GetRuntimeClass()const \n2983 CRuntime* CCtrlView::GetRuntimeClass()const \n2984 CRuntime* CDatabase::GetRuntimeClass()const \n2985 CRuntime* CDataPathProperty::GetRuntimeClass()const \n2986 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n2987 CRuntime* CDBException::GetRuntimeClass()const \n2988 CRuntime* CDC::GetRuntimeClass()const \n2989 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n2990 CRuntime* CDialog::GetRuntimeClass()const \n2991 CRuntime* CDialogBar::GetRuntimeClass()const \n2992 CRuntime* CDocItem::GetRuntimeClass()const \n2993 CRuntime* CDockBar::GetRuntimeClass()const \n2994 CRuntime* CDockState::GetRuntimeClass()const \n2995 CRuntime* CDocManager::GetRuntimeClass()const \n2996 CRuntime* CDocObjectServer::GetRuntimeClass()const \n2997 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n2998 CRuntime* CDocTemplate::GetRuntimeClass()const \n2999 CRuntime* CDocument::GetRuntimeClass()const \n3000 CRuntime* CDragListBox::GetRuntimeClass()const \n3001 CRuntime* CDWordArray::GetRuntimeClass()const \n3002 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3003 CRuntime* CEdit::GetRuntimeClass()const \n3004 CRuntime* CEditView::GetRuntimeClass()const \n3005 CRuntime* CEvent::GetRuntimeClass()const \n3006 CRuntime* CException::GetRuntimeClass()const \n3007 CRuntime* CFile::GetRuntimeClass()const \n3008 CRuntime* CFileDialog::GetRuntimeClass()const \n3009 CRuntime* CFileException::GetRuntimeClass()const \n3010 CRuntime* CFileFind::GetRuntimeClass()const \n3011 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3012 CRuntime* CFont::GetRuntimeClass()const \n3013 CRuntime* CFontDialog::GetRuntimeClass()const \n3014 CRuntime* CFormView::GetRuntimeClass()const \n3015 CRuntime* CFrameWnd::GetRuntimeClass()const \n3016 CRuntime* CFtpConnection::GetRuntimeClass()const \n3017 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3018 CRuntime* CGdiObject::GetRuntimeClass()const \n3019 CRuntime* CGopherConnection::GetRuntimeClass()const \n3020 CRuntime* CGopherFile::GetRuntimeClass()const \n3021 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3022 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3023 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3024 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3025 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3026 CRuntime* CHtmlView::GetRuntimeClass()const \n3027 CRuntime* CHttpConnection::GetRuntimeClass()const \n3028 CRuntime* CHttpFile::GetRuntimeClass()const \n3029 CRuntime* CImageList::GetRuntimeClass()const \n3030 CRuntime* CInternetConnection::GetRuntimeClass()const \n3031 CRuntime* CInternetException::GetRuntimeClass()const \n3032 CRuntime* CInternetFile::GetRuntimeClass()const \n3033 CRuntime* CInternetSession::GetRuntimeClass()const \n3034 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3035 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3036 CRuntime* CListBox::GetRuntimeClass()const \n3037 CRuntime* CListCtrl::GetRuntimeClass()const \n3038 CRuntime* CListView::GetRuntimeClass()const \n3039 CRuntime* CLongBinary::GetRuntimeClass()const \n3040 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3041 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3042 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3043 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3044 CRuntime* CMapStringToString::GetRuntimeClass()const \n3045 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3046 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3047 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3048 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3049 CRuntime* CMemFile::GetRuntimeClass()const \n3050 CRuntime* CMemoryException::GetRuntimeClass()const \n3051 CRuntime* CMenu::GetRuntimeClass()const \n3052 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3053 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3054 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3055 CRuntime* CMonikerFile::GetRuntimeClass()const \n3056 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3057 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3058 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3059 CRuntime* CMutex::GetRuntimeClass()const \n3060 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3061 CRuntime* CObArray::GetRuntimeClass()const \n3062 CRuntime* CObject::GetRuntimeClass()const \n3063 CRuntime* CObList::GetRuntimeClass()const \n3064 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3065 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3066 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3067 CRuntime* COleClientItem::GetRuntimeClass()const \n3068 CRuntime* COleControl::GetRuntimeClass()const \n3069 CRuntime* COleControlModule::GetRuntimeClass()const \n3070 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3071 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3072 CRuntime* COleDialog::GetRuntimeClass()const \n3073 CRuntime* COleDispatchException::GetRuntimeClass()const \n3074 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3075 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3076 CRuntime* COleDocument::GetRuntimeClass()const \n3077 CRuntime* COleException::GetRuntimeClass()const \n3078 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3079 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3080 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3081 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3082 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3083 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3084 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3085 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3086 CRuntime* COleResizeBar::GetRuntimeClass()const \n3087 CRuntime* COleServerDoc::GetRuntimeClass()const \n3088 CRuntime* COleServerItem::GetRuntimeClass()const \n3089 CRuntime* COleStreamFile::GetRuntimeClass()const \n3090 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3091 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3092 CRuntime* CPaintDC::GetRuntimeClass()const \n3093 CRuntime* CPalette::GetRuntimeClass()const \n3094 CRuntime* CPen::GetRuntimeClass()const \n3095 CRuntime* CPreviewDC::GetRuntimeClass()const \n3096 CRuntime* CPreviewView::GetRuntimeClass()const \n3097 CRuntime* CPrintDialog::GetRuntimeClass()const \n3098 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3099 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3100 CRuntime* CPropertyPage::GetRuntimeClass()const \n3101 CRuntime* CPropertySheet::GetRuntimeClass()const \n3102 CRuntime* CPtrArray::GetRuntimeClass()const \n3103 CRuntime* CPtrList::GetRuntimeClass()const \n3104 CRuntime* CReBar::GetRuntimeClass()const \n3105 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3106 CRuntime* CRecordset::GetRuntimeClass()const \n3107 CRuntime* CRecordView::GetRuntimeClass()const \n3108 CRuntime* CResourceException::GetRuntimeClass()const \n3109 CRuntime* CRgn::GetRuntimeClass()const \n3110 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3111 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3112 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3113 CRuntime* CRichEditView::GetRuntimeClass()const \n3114 CRuntime* CScrollBar::GetRuntimeClass()const \n3115 CRuntime* CScrollView::GetRuntimeClass()const \n3116 CRuntime* CSemaphore::GetRuntimeClass()const \n3117 CRuntime* CSharedFile::GetRuntimeClass()const \n3118 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3119 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3120 CRuntime* CSocket::GetRuntimeClass()const \n3121 CRuntime* CSocketFile::GetRuntimeClass()const \n3122 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3123 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3124 CRuntime* CStatic::GetRuntimeClass()const \n3125 CRuntime* CStatusBar::GetRuntimeClass()const \n3126 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3127 CRuntime* CStdioFile::GetRuntimeClass()const \n3128 CRuntime* CStringArray::GetRuntimeClass()const \n3129 CRuntime* CStringList::GetRuntimeClass()const \n3130 CRuntime* CSyncObject::GetRuntimeClass()const \n3131 CRuntime* CTabCtrl::GetRuntimeClass()const \n3132 CRuntime* CToolBar::GetRuntimeClass()const \n3133 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3134 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3135 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3136 CRuntime* CTreeView::GetRuntimeClass()const \n3137 CRuntime* CUIntArray::GetRuntimeClass()const \n3138 CRuntime* CUserException::GetRuntimeClass()const \n3139 CRuntime* CView::GetRuntimeClass()const \n3140 CRuntime* CWinApp::GetRuntimeClass()const \n3141 CRuntime* CWindowDC::GetRuntimeClass()const \n3142 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3143 CRuntime* CWinThread::GetRuntimeClass()const \n3144 CRuntime* CWnd::GetRuntimeClass()const \n3145 CRuntime* CWordArray::GetRuntimeClass()const \n3146 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3147 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3148 unsigned long * CColorDialog::GetSavedCustomColors()\n3149 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n3150 CSize CDockState::GetScreenSize()\n3151 CScrollBar * CView::GetScrollBarCtrl(int)const \n3152 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3153 void CScrollView::GetScrollBarSizes(CSize &)\n3154 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3155 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3156 int CWnd::GetScrollLimit(int)\n3157 int CWnd::GetScrollPos(int)const \n3158 CPoint CScrollView::GetScrollPosition()const \n3159 void CWnd::GetScrollRange(int,int *,int *)const \n3160 unsigned long CSplitterWnd::GetScrollStyle()const \n3161 CPropertySection * CPropertySet::GetSection(_GUID)\n3162 HKEY__ * CWinApp::GetSectionKey(char const *)\n3163 char const * CPropertySection::GetSectionName()\n3164 void CRichEditCtrl::GetSel(long &,long &)const \n3165 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3166 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3167 void CSliderCtrl::GetSelection(int &,int &)const \n3168 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3169 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n3170 unsigned int COleConvertDialog::GetSelectionType()const \n3171 unsigned int COleInsertDialog::GetSelectionType()const \n3172 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3173 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3174 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3175 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3176 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n3177 int CHtmlView::GetSilent()const \n3178 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3179 unsigned long CPropertySection::GetSize()\n3180 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3181 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3182 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3183 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3184 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3185 CWnd * CSplitterWnd::GetSizingParent()\n3186 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3187 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3188 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3189 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3190 char const * CHtmlEditCtrl::GetStartDocument()\n3191 char const * CHtmlEditView::GetStartDocument()\n3192 __POSITION * CConnectionPoint::GetStartPosition()const \n3193 __POSITION * COleDocument::GetStartPosition()const \n3194 __POSITION * CRichEditDoc::GetStartPosition()const \n3195 int CFile::GetStatus(CFileStatus &)const \n3196 int CFile::GetStatus(char const *,CFileStatus &)\n3197 int CMemFile::GetStatus(CFileStatus &)const \n3198 int COleStreamFile::GetStatus(CFileStatus &)const \n3199 int CHtmlView::GetStatusBar()const \n3200 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n3201 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n3202 IStream * COleStreamFile::GetStream()const \n3203 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3204 unsigned long COleControlSite::GetStyle()const \n3205 unsigned long COleControlSiteOrWnd::GetStyle()const \n3206 unsigned long CWnd::GetStyle()const \n3207 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3208 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3209 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3210 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3211 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3212 wchar_t * COleControl::GetText()\n3213 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n3214 int CStatusBarCtrl::GetText(char const *,int,int *)const \n3215 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n3216 long CRecordset::GetTextLen(short,unsigned long)\n3217 int CStatusBarCtrl::GetTextLength(int,int *)const \n3218 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3219 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3220 int CHtmlView::GetTheaterMode()const \n3221 CRuntime* CAnimateCtrl::GetThisClass()\n3222 CRuntime* CArchiveException::GetThisClass()\n3223 CRuntime* CAsyncMonikerFile::GetThisClass()\n3224 CRuntime* CAsyncSocket::GetThisClass()\n3225 CRuntime* CBitmap::GetThisClass()\n3226 CRuntime* CBitmapButton::GetThisClass()\n3227 CRuntime* CBrush::GetThisClass()\n3228 CRuntime* CButton::GetThisClass()\n3229 CRuntime* CByteArray::GetThisClass()\n3230 CRuntime* CCachedDataPathProperty::GetThisClass()\n3231 CRuntime* CCheckListBox::GetThisClass()\n3232 CRuntime* CClientDC::GetThisClass()\n3233 CRuntime* CCmdTarget::GetThisClass()\n3234 CRuntime* CColorDialog::GetThisClass()\n3235 CRuntime* CComboBox::GetThisClass()\n3236 CRuntime* CComboBoxEx::GetThisClass()\n3237 CRuntime* CControlBar::GetThisClass()\n3238 CRuntime* CCriticalSection::GetThisClass()\n3239 CRuntime* CCtrlView::GetThisClass()\n3240 CRuntime* CDatabase::GetThisClass()\n3241 CRuntime* CDataPathProperty::GetThisClass()\n3242 CRuntime* CDateTimeCtrl::GetThisClass()\n3243 CRuntime* CDBException::GetThisClass()\n3244 CRuntime* CDC::GetThisClass()\n3245 CRuntime* CDHtmlDialog::GetThisClass()\n3246 CRuntime* CDialog::GetThisClass()\n3247 CRuntime* CDialogBar::GetThisClass()\n3248 CRuntime* CDocItem::GetThisClass()\n3249 CRuntime* CDockBar::GetThisClass()\n3250 CRuntime* CDockState::GetThisClass()\n3251 CRuntime* CDocManager::GetThisClass()\n3252 CRuntime* CDocObjectServer::GetThisClass()\n3253 CRuntime* CDocObjectServerItem::GetThisClass()\n3254 CRuntime* CDocTemplate::GetThisClass()\n3255 CRuntime* CDocument::GetThisClass()\n3256 CRuntime* CDragListBox::GetThisClass()\n3257 CRuntime* CDWordArray::GetThisClass()\n3258 CRuntime* CDynLinkLibrary::GetThisClass()\n3259 CRuntime* CEdit::GetThisClass()\n3260 CRuntime* CEditView::GetThisClass()\n3261 CRuntime* CEvent::GetThisClass()\n3262 CRuntime* CException::GetThisClass()\n3263 CRuntime* CFile::GetThisClass()\n3264 CRuntime* CFileDialog::GetThisClass()\n3265 CRuntime* CFileException::GetThisClass()\n3266 CRuntime* CFileFind::GetThisClass()\n3267 CRuntime* CFindReplaceDialog::GetThisClass()\n3268 CRuntime* CFont::GetThisClass()\n3269 CRuntime* CFontDialog::GetThisClass()\n3270 CRuntime* CFormView::GetThisClass()\n3271 CRuntime* CFrameWnd::GetThisClass()\n3272 CRuntime* CFtpConnection::GetThisClass()\n3273 CRuntime* CFtpFileFind::GetThisClass()\n3274 CRuntime* CGdiObject::GetThisClass()\n3275 CRuntime* CGopherConnection::GetThisClass()\n3276 CRuntime* CGopherFile::GetThisClass()\n3277 CRuntime* CGopherFileFind::GetThisClass()\n3278 CRuntime* CHeaderCtrl::GetThisClass()\n3279 CRuntime* CHotKeyCtrl::GetThisClass()\n3280 CRuntime* CHtmlEditDoc::GetThisClass()\n3281 CRuntime* CHtmlEditView::GetThisClass()\n3282 CRuntime* CHtmlView::GetThisClass()\n3283 CRuntime* CHttpConnection::GetThisClass()\n3284 CRuntime* CHttpFile::GetThisClass()\n3285 CRuntime* CImageList::GetThisClass()\n3286 CRuntime* CInternetConnection::GetThisClass()\n3287 CRuntime* CInternetException::GetThisClass()\n3288 CRuntime* CInternetFile::GetThisClass()\n3289 CRuntime* CInternetSession::GetThisClass()\n3290 CRuntime* CIPAddressCtrl::GetThisClass()\n3291 CRuntime* CLinkCtrl::GetThisClass()\n3292 CRuntime* CListBox::GetThisClass()\n3293 CRuntime* CListCtrl::GetThisClass()\n3294 CRuntime* CListView::GetThisClass()\n3295 CRuntime* CLongBinary::GetThisClass()\n3296 CRuntime* CMapPtrToPtr::GetThisClass()\n3297 CRuntime* CMapPtrToWord::GetThisClass()\n3298 CRuntime* CMapStringToOb::GetThisClass()\n3299 CRuntime* CMapStringToPtr::GetThisClass()\n3300 CRuntime* CMapStringToString::GetThisClass()\n3301 CRuntime* CMapWordToOb::GetThisClass()\n3302 CRuntime* CMapWordToPtr::GetThisClass()\n3303 CRuntime* CMDIChildWnd::GetThisClass()\n3304 CRuntime* CMDIFrameWnd::GetThisClass()\n3305 CRuntime* CMemFile::GetThisClass()\n3306 CRuntime* CMemoryException::GetThisClass()\n3307 CRuntime* CMenu::GetThisClass()\n3308 CRuntime* CMetaFileDC::GetThisClass()\n3309 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3310 CRuntime* CMiniFrameWnd::GetThisClass()\n3311 CRuntime* CMonikerFile::GetThisClass()\n3312 CRuntime* CMonthCalCtrl::GetThisClass()\n3313 CRuntime* CMultiDocTemplate::GetThisClass()\n3314 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3315 CRuntime* CMutex::GetThisClass()\n3316 CRuntime* CNotSupportedException::GetThisClass()\n3317 CRuntime* CObArray::GetThisClass()\n3318 CRuntime* CObject::GetThisClass()\n3319 CRuntime* CObList::GetThisClass()\n3320 CRuntime* COleBusyDialog::GetThisClass()\n3321 CRuntime* COleChangeIconDialog::GetThisClass()\n3322 CRuntime* COleChangeSourceDialog::GetThisClass()\n3323 CRuntime* COleClientItem::GetThisClass()\n3324 CRuntime* COleControl::GetThisClass()\n3325 CRuntime* COleControlModule::GetThisClass()\n3326 CRuntime* COleConvertDialog::GetThisClass()\n3327 CRuntime* COleDBRecordView::GetThisClass()\n3328 CRuntime* COleDialog::GetThisClass()\n3329 CRuntime* COleDispatchException::GetThisClass()\n3330 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3331 CRuntime* COleDocObjectItem::GetThisClass()\n3332 CRuntime* COleDocument::GetThisClass()\n3333 CRuntime* COleException::GetThisClass()\n3334 CRuntime* COleInsertDialog::GetThisClass()\n3335 CRuntime* COleIPFrameWnd::GetThisClass()\n3336 CRuntime* COleLinkingDoc::GetThisClass()\n3337 CRuntime* COleLinksDialog::GetThisClass()\n3338 CRuntime* COleObjectFactory::GetThisClass()\n3339 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3340 CRuntime* COlePropertiesDialog::GetThisClass()\n3341 CRuntime* COlePropertyPage::GetThisClass()\n3342 CRuntime* COleResizeBar::GetThisClass()\n3343 CRuntime* COleServerDoc::GetThisClass()\n3344 CRuntime* COleServerItem::GetThisClass()\n3345 CRuntime* COleStreamFile::GetThisClass()\n3346 CRuntime* COleUpdateDialog::GetThisClass()\n3347 CRuntime* CPageSetupDialog::GetThisClass()\n3348 CRuntime* CPaintDC::GetThisClass()\n3349 CRuntime* CPalette::GetThisClass()\n3350 CRuntime* CPen::GetThisClass()\n3351 CRuntime* CPreviewDC::GetThisClass()\n3352 CRuntime* CPreviewView::GetThisClass()\n3353 CRuntime* CPrintDialog::GetThisClass()\n3354 CRuntime* CPrintDialogEx::GetThisClass()\n3355 CRuntime* CProgressCtrl::GetThisClass()\n3356 CRuntime* CPropertyPage::GetThisClass()\n3357 CRuntime* CPropertySheet::GetThisClass()\n3358 CRuntime* CPtrArray::GetThisClass()\n3359 CRuntime* CPtrList::GetThisClass()\n3360 CRuntime* CReBar::GetThisClass()\n3361 CRuntime* CReBarCtrl::GetThisClass()\n3362 CRuntime* CRecordset::GetThisClass()\n3363 CRuntime* CRecordView::GetThisClass()\n3364 CRuntime* CResourceException::GetThisClass()\n3365 CRuntime* CRgn::GetThisClass()\n3366 CRuntime* CRichEditCntrItem::GetThisClass()\n3367 CRuntime* CRichEditCtrl::GetThisClass()\n3368 CRuntime* CRichEditDoc::GetThisClass()\n3369 CRuntime* CRichEditView::GetThisClass()\n3370 CRuntime* CScrollBar::GetThisClass()\n3371 CRuntime* CScrollView::GetThisClass()\n3372 CRuntime* CSemaphore::GetThisClass()\n3373 CRuntime* CSharedFile::GetThisClass()\n3374 CRuntime* CSingleDocTemplate::GetThisClass()\n3375 CRuntime* CSliderCtrl::GetThisClass()\n3376 CRuntime* CSocket::GetThisClass()\n3377 CRuntime* CSocketFile::GetThisClass()\n3378 CRuntime* CSpinButtonCtrl::GetThisClass()\n3379 CRuntime* CSplitterWnd::GetThisClass()\n3380 CRuntime* CStatic::GetThisClass()\n3381 CRuntime* CStatusBar::GetThisClass()\n3382 CRuntime* CStatusBarCtrl::GetThisClass()\n3383 CRuntime* CStdioFile::GetThisClass()\n3384 CRuntime* CStringArray::GetThisClass()\n3385 CRuntime* CStringList::GetThisClass()\n3386 CRuntime* CSyncObject::GetThisClass()\n3387 CRuntime* CTabCtrl::GetThisClass()\n3388 CRuntime* CToolBar::GetThisClass()\n3389 CRuntime* CToolBarCtrl::GetThisClass()\n3390 CRuntime* CToolTipCtrl::GetThisClass()\n3391 CRuntime* CTreeCtrl::GetThisClass()\n3392 CRuntime* CTreeView::GetThisClass()\n3393 CRuntime* CUIntArray::GetThisClass()\n3394 CRuntime* CUserException::GetThisClass()\n3395 CRuntime* CView::GetThisClass()\n3396 CRuntime* CWinApp::GetThisClass()\n3397 CRuntime* CWindowDC::GetThisClass()\n3398 CRuntime* CWindowlessDC::GetThisClass()\n3399 CRuntime* CWinThread::GetThisClass()\n3400 CRuntime* CWnd::GetThisClass()\n3401 CRuntime* CWordArray::GetThisClass()\n3402 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3403 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3404 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3405 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3406 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3407 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3408 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3409 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3410 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3411 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3412 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3413 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3414 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3415 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3416 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3417 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3418 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3419 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3420 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3421 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3422 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3423 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3424 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3425 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3426 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3427 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3428 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3429 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3430 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3431 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3432 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3433 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3434 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3435 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3436 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3437 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3438 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3439 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3440 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3441 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3442 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3443 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3444 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3445 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3446 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3447 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3448 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3449 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3450 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3451 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3452 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3453 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3454 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3455 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3456 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3457 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3458 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3459 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3460 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3461 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3462 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3463 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3464 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3465 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3466 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3467 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3468 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3469 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3470 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3471 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3472 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3473 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3474 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3475 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3476 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3477 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3478 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3479 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3480 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3481 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3482 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3483 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3484 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3485 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3486 AFX_MSGMAP const * CView::GetThisMessageMap()\n3487 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3488 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3489 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3490 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3491 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n3492 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3493 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3494 int CHtmlView::GetToolBar()const \n3495 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3496 long CHtmlView::GetTop()const \n3497 int CHtmlView::GetTopLevelContainer()const \n3498 CFrameWnd * CWnd::GetTopLevelFrame()const \n3499 CWnd * CWnd::GetTopLevelOwner()const \n3500 CWnd * CWnd::GetTopLevelParent()const \n3501 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3502 void CRectTracker::GetTrueRect(tagRECT *)const \n3503 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n3504 short CPictureHolder::GetType()\n3505 unsigned long CProperty::GetType()\n3506 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3507 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3508 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3509 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3510 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3511 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3512 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3513 unsigned int CCmdTarget::GetTypeInfoCount()\n3514 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3515 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3516 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3517 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3518 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3519 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3520 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3521 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3522 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3523 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3524 void COleSafeArray::GetUBound(unsigned long,long *)\n3525 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3526 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3527 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3528 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3529 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3530 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3531 void COleControl::GetUserType(char *)\n3532 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3533 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3534 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3535 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3536 void * CMapPtrToPtr::GetValueAt(void *)const \n3537 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n3538 unsigned long CDockState::GetVersion()\n3539 CHtmlEditView * CHtmlEditDoc::GetView()const \n3540 CRichEditView * CRichEditDoc::GetView()const \n3541 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3542 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3543 int CHtmlView::GetVisible()const \n3544 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3545 long CHtmlView::GetWidth()const \n3546 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3547 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3548 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3549 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3550 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3551 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3552 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3553 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3554 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3555 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3556 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3557 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3558 long CWnd::GetWindowedChildCount()\n3559 long CWnd::GetWindowLessChildCount()\n3560 IDropTarget * COleControl::GetWindowlessDropTarget()\n3561 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3562 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3563 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3564 int CWnd::GetWindowTextA(char *,int)const \n3565 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3566 int CWnd::GetWindowTextLengthA()const \n3567 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3568 long COleDropSource::GiveFeedback(unsigned long)\n3569 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3570 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3571 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3572 void CMemFile::GrowFile(unsigned long)\n3573 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3574 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3575 long CDialog::HandleInitDialog(unsigned int,long)\n3576 long CDialogBar::HandleInitDialog(unsigned int,long)\n3577 long CFormView::HandleInitDialog(unsigned int,long)\n3578 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3579 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3580 long CScrollView::HandleMButtonDown(unsigned int,long)\n3581 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3582 int COleControlContainer::HandleSetFocus()\n3583 long CDialog::HandleSetFont(unsigned int,long)\n3584 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3585 long COleControl::XPersistStorage::HandsOffStorage()\n3586 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3587 int COleDocument::HasBlankItems()const \n3588 int CDialogTemplate::HasFont()const \n3589 unsigned int HashKey(tagVARIANT const &)\n3590 unsigned int HashKey(wchar_t const *)\n3591 unsigned int HashKey(char const *)\n3592 unsigned int HashKey(ATL::CComBSTR)\n3593 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3594 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n3595 void * CFile::hFileNull\n3596 void CWinApp::HideApplication()\n3597 void CFileDialog::HideControl(int)\n3598 long CBrowserControlSite::HideUI()\n3599 long CDHtmlDialog::HideUI()\n3600 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3601 void CDC::HIMETRICtoDP(tagSIZE *)const \n3602 void CDC::HIMETRICtoLP(tagSIZE *)const \n3603 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3604 int CRectTracker::HitTest(CPoint)const \n3605 int CSplitterWnd::HitTest(CPoint)const \n3606 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n3607 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3608 int CRectTracker::HitTestHandles(CPoint)const \n3609 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n3610 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n3611 int CSplitterWnd::IdFromRowCol(int,int)const \n3612 void COlePropertyPage::IgnoreApply(unsigned int)\n3613 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3614 int CWinApp::InitApplication()\n3615 long COleControl::XOleCache::InitCache(IDataObject *)\n3616 int CWnd::InitControlContainer()\n3617 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3618 long CPrintDialogEx::InitDone()\n3619 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3620 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3621 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3622 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3623 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3624 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3625 void CMapStringToOb::InitHashTable(unsigned int,int)\n3626 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3627 void CMapStringToString::InitHashTable(unsigned int,int)\n3628 void CMapWordToOb::InitHashTable(unsigned int,int)\n3629 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3630 long CDataSourceControl::Initialize()\n3631 void CDHtmlDialog::Initialize()\n3632 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3633 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3634 int CEditView::InitializeReplace()\n3635 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3636 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3637 int COleControlModule::InitInstance()\n3638 int CWinApp::InitInstance()\n3639 int CWinThread::InitInstance()\n3640 void CWinApp::InitLibId()\n3641 void CDockContext::InitLoop()\n3642 int CDialog::InitModalIndirect(void *,CWnd *)\n3643 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3644 long COleControl::XPersistMemory::InitNew()\n3645 long COleControl::XPersistPropertyBag::InitNew()\n3646 long COleControl::XPersistStorage::InitNew(IStorage *)\n3647 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3648 long COleControl::XPersistStreamInit::InitNew()\n3649 void CRecordset::InitRecord()\n3650 void COleControl::InitStockEventMask()\n3651 void COleControl::InitStockPropMask()\n3652 void CSimpleException::InitString()\n3653 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3654 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3655 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3656 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3657 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3658 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n3659 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n3660 void CByteArray::InsertAt(int,unsigned char,int)\n3661 void CByteArray::InsertAt(int,CByteArray *)\n3662 void CDWordArray::InsertAt(int,unsigned long,int)\n3663 void CDWordArray::InsertAt(int,CDWordArray *)\n3664 void CObArray::InsertAt(int,CObArray *)\n3665 void CObArray::InsertAt(int,CObject *,int)\n3666 void CPtrArray::InsertAt(int,CPtrArray *)\n3667 void CPtrArray::InsertAt(int,void *,int)\n3668 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int)\n3669 void CStringArray::InsertAt(int,CStringArray *)\n3670 void CStringArray::InsertAt(int,char const *,int)\n3671 void CUIntArray::InsertAt(int,unsigned int,int)\n3672 void CUIntArray::InsertAt(int,CUIntArray *)\n3673 void CWordArray::InsertAt(int,unsigned short,int)\n3674 void CWordArray::InsertAt(int,CWordArray *)\n3675 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3676 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3677 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n3678 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n3679 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n3680 void CStringArray::InsertEmpty(int,int)\n3681 void CRichEditView::InsertFileAsObject(char const *)\n3682 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n3683 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n3684 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3685 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n3686 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n3687 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3688 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3689 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3690 CFontHolder & COleControl::InternalGetFont()\n3691 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n3692 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3693 unsigned long CCmdTarget::InternalRelease()\n3694 int CDC::IntersectClipRect(int,int,int,int)\n3695 int CDC::IntersectClipRect(tagRECT const *)\n3696 void CCheckListBox::InvalidateCheck(int)\n3697 void COleControl::InvalidateControl(tagRECT const *,int)\n3698 void CCheckListBox::InvalidateItem(int)\n3699 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3700 void COleControl::InvalidateRgn(CRgn *,int)\n3701 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3702 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3703 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3704 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3705 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3706 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3707 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3708 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3709 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3710 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3711 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3712 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3713 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3714 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3715 int CDocItem::IsBlank()const \n3716 int COleServerItem::IsBlank()const \n3717 int CPropertyPage::IsButtonEnabled(int)\n3718 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3719 int COleServerItem::IsConnected()const \n3720 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3721 int COleControlSite::IsDefaultButton()\n3722 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3723 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n3724 int CWnd::IsDialogMessageA(tagMSG *)\n3725 long CBlobProperty::IsDirty()\n3726 long COleLinkingDoc::XPersistFile::IsDirty()\n3727 long COleControl::XPersistMemory::IsDirty()\n3728 long COleControl::XPersistStorage::IsDirty()\n3729 long COleServerDoc::XPersistStorage::IsDirty()\n3730 long COleControl::XPersistStreamInit::IsDirty()\n3731 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3732 unsigned int CWnd::IsDlgButtonChecked(int)const \n3733 int CControlBar::IsDockBar()const \n3734 int CDockBar::IsDockBar()const \n3735 int CFileFind::IsDots()const \n3736 int CGopherFileFind::IsDots()const \n3737 int CCheckListBox::IsEnabled(int)\n3738 int CDHtmlDialog::IsExternalDispatchSafe()\n3739 int CRecordset::IsFieldDirty(void *)\n3740 int CRecordset::IsFieldNull(void *)\n3741 int CRecordset::IsFieldNullable(void *)\n3742 int CRecordset::IsFieldNullable(unsigned long)const \n3743 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3744 int CRecordset::IsFieldStatusNull(unsigned long)const \n3745 int CFieldExchange::IsFieldType(unsigned int *)\n3746 int CControlBar::IsFloating()const \n3747 int CFrameWnd::IsFrameWnd()const \n3748 int CWnd::IsFrameWnd()const \n3749 int IsHelpKey(tagMSG *)\n3750 int CWinThread::IsIdleMessage(tagMSG *)\n3751 int CCmdTarget::IsInvokeAllowed(long)\n3752 int COleControl::IsInvokeAllowed(long)\n3753 int CRecordset::IsJoin(char const *)\n3754 int CObject::IsKindOf(CRuntimeconst *)const \n3755 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3756 int COccManager::IsLabelControl(CWnd *)\n3757 int COleObjectFactory::IsLicenseValid()\n3758 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3759 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3760 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3761 int CHtmlEditDoc::IsModified()\n3762 int COleClientItem::IsModified()const \n3763 int COleControl::IsModified()\n3764 int COlePropertyPage::IsModified()\n3765 int CRichEditDoc::IsModified()\n3766 int CRecordView::IsOnFirstRecord()\n3767 int CRecordView::IsOnLastRecord()\n3768 int CRecordset::IsOpen()const \n3769 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3770 int CRecordset::IsParamStatusNull(unsigned long)const \n3771 int CRecordset::IsRecordsetUpdatable()\n3772 int CCmdTarget::IsResultExpected()\n3773 int CRichEditView::IsRichEditFormat(unsigned short)\n3774 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3775 int CRichEditView::IsSelected(CObject const *)const \n3776 int CView::IsSelected(CObject const *)const \n3777 int CRecordset::IsSelectQueryUpdatable(char const *)\n3778 int CObject::IsSerializable()const \n3779 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3780 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3781 int CRecordset::IsSQLUpdatable(char const *)\n3782 int COleControl::IsSubclassedControl()\n3783 int CWnd::IsTopParentActive()const \n3784 int CFrameWnd::IsTracking()const \n3785 long CDocObjectServer::XOleObject::IsUpToDate()\n3786 long COleControl::XOleObject::IsUpToDate()\n3787 long COleServerDoc::XOleObject::IsUpToDate()\n3788 long COleServerItem::XOleObject::IsUpToDate()\n3789 int CControlBar::IsVisible()const \n3790 int COleControlSite::IsWindowEnabled()const \n3791 int CWnd::IsWindowEnabled()const \n3792 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3793 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3794 void COleControl::KeyDown(unsigned short *)\n3795 void COleControl::KeyUp(unsigned short *)\n3796 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3797 void CToolBar::Layout()\n3798 int CRichEditCtrl::LineIndex(int)const \n3799 int CRichEditCtrl::LineLength(int)const \n3800 void CRichEditCtrl::LineScroll(int,int)\n3801 int CDC::LineTo(int,int)\n3802 unsigned long CRichEditView::lMaxSize\n3803 long CBlobProperty::Load(IStream *)\n3804 int CDialogTemplate::Load(char const *)\n3805 void COleControl::Load(char const *,CDataPathProperty &)\n3806 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n3807 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n3808 long COleControl::XPersistMemory::Load(void *,unsigned long)\n3809 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n3810 long COleControl::XPersistStorage::Load(IStorage *)\n3811 long COleServerDoc::XPersistStorage::Load(IStorage *)\n3812 long COleControl::XPersistStreamInit::Load(IStream *)\n3813 int CFrameWnd::LoadAccelTable(char const *)\n3814 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n3815 void CFrameWnd::LoadBarState(char const *)\n3816 int CToolBar::LoadBitmapA(char const *)\n3817 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n3818 void CRecordset::LoadFields()\n3819 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3820 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3821 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3822 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3823 int CDHtmlDialog::LoadFromResource(unsigned int)\n3824 int CDHtmlDialog::LoadFromResource(char const *)\n3825 int CHtmlView::LoadFromResource(unsigned int)\n3826 int CHtmlView::LoadFromResource(char const *)\n3827 void COleDocument::LoadFromStorage()\n3828 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n3829 void CDockState::LoadState(char const *)\n3830 long COleControl::LoadState(IStream *)\n3831 void CWinApp::LoadStdProfileSettings(unsigned int)\n3832 int CWinApp::LoadSysPolicies()\n3833 void CDocTemplate::LoadTemplate()\n3834 void CMultiDocTemplate::LoadTemplate()\n3835 int CToolBar::LoadToolBar(char const *)\n3836 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n3837 void COleSafeArray::Lock()\n3838 int CSingleLock::Lock(unsigned long)\n3839 int CSyncObject::Lock(unsigned long)\n3840 void CTypeLibCache::Lock()\n3841 char const * CEditView::LockBuffer()const \n3842 long COleControlContainer::XOleContainer::LockContainer(int)\n3843 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n3844 void COleLinkingDoc::LockExternal(int,int)\n3845 int COleControl::LockInPlaceActive(int)\n3846 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n3847 void CFile::LockRange(unsigned __int64,unsigned __int64)\n3848 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n3849 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n3850 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n3851 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n3852 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n3853 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n3854 long COleObjectFactory::XClassFactory::LockServer(int)\n3855 int CMapPtrToPtr::Lookup(void *,void * &)const \n3856 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n3857 int CMapStringToOb::Lookup(char const *,CObject * &)const \n3858 int CMapStringToPtr::Lookup(char const *,void * &)const \n3859 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3860 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n3861 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n3862 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n3863 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n3864 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n3865 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n3866 int CMapStringToOb::LookupKey(char const *,char const * &)const \n3867 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n3868 int CMapStringToString::LookupKey(char const *,char const * &)const \n3869 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n3870 void CDC::LPtoDP(tagSIZE *)const \n3871 void CDC::LPtoHIMETRIC(tagSIZE *)const \n3872 void CArchive::MapObject(CObject const *)\n3873 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n3874 int COleDialog::MapResult(unsigned int)\n3875 long CPropertyPage::MapWizardResult(long)\n3876 void CRecordset::MarkForAddNew()\n3877 void CRecordset::MarkForUpdate()\n3878 void CRichEditDoc::MarkItemsClear()const \n3879 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n3880 int CFileFind::MatchesMask(unsigned long)const \n3881 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n3882 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n3883 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n3884 void CComboBox::MeasureItem(tagMEASUREITEM*)\n3885 void CListBox::MeasureItem(tagMEASUREITEM*)\n3886 void CMenu::MeasureItem(tagMEASUREITEM*)\n3887 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n3888 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n3889 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n3890 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n3891 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n3892 void CPreviewDC::MirrorAttributes()\n3893 void CPreviewDC::MirrorFont()\n3894 void CPreviewDC::MirrorMappingMode(int)\n3895 void CPreviewDC::MirrorViewportOrg()\n3896 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3897 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3898 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n3899 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3900 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3901 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n3902 void CDockContext::Move(CPoint)\n3903 void CRecordset::Move(long,unsigned short)\n3904 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n3905 CPoint CDC::MoveTo(int,int)\n3906 void COleControlSite::MoveWindow(int,int,int,int)\n3907 void CWnd::MoveWindow(int,int,int,int,int)\n3908 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n3909 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n3910 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n3911 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n3912 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n3913 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n3914 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n3915 unsigned int COleDropSource::nDragDelay\n3916 unsigned int COleDropSource::nDragMinDist\n3917 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n3918 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n3919 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n3920 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n3921 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n3922 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n3923 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n3924 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n3925 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n3926 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n3927 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n3928 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n3929 unsigned int const CEditView::nMaxSize\n3930 int CRectTracker::NormalizeHit(int)const \n3931 void CDataBoundProperty::Notify()\n3932 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n3933 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n3934 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n3935 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n3936 void COleServerDoc::NotifyRename(char const *)\n3937 unsigned int COleDropTarget::nScrollDelay\n3938 int COleDropTarget::nScrollInset\n3939 unsigned int COleDropTarget::nScrollInterval\n3940 int CDC::OffsetClipRgn(int,int)\n3941 int CDC::OffsetClipRgn(tagSIZE)\n3942 CPoint CDC::OffsetViewportOrg(int,int)\n3943 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n3944 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n3945 CPoint CDC::OffsetWindowOrg(int,int)\n3946 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3947 void CAsyncSocket::OnAccept(int)\n3948 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3949 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3950 void COleClientItem::OnActivate()\n3951 void COleFrameHook::OnActivate(int)\n3952 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n3953 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n3954 long COleControl::OnActivateInPlace(int,tagMSG *)\n3955 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n3956 long CWnd::OnActivateTopLevel(unsigned int,long)\n3957 void COleClientItem::OnActivateUI()\n3958 long CDocObjectServer::OnActivateView()\n3959 void CFormView::OnActivateView(int,CView *,CView *)\n3960 void CPreviewView::OnActivateView(int,CView *,CView *)\n3961 void CRichEditView::OnActivateView(int,CView *,CView *)\n3962 void CView::OnActivateView(int,CView *,CView *)\n3963 long CToolTipCtrl::OnAddTool(unsigned int,long)\n3964 void CConnectionPoint::OnAdvise(int)\n3965 void COleControl::XEventConnPt::OnAdvise(int)\n3966 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n3967 void COleControl::OnAmbientPropertyChange(long)\n3968 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n3969 void COleControl::OnAppearanceChanged()\n3970 void CWinApp::OnAppExit()\n3971 int CPropertyPage::OnApply()\n3972 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n3973 void CDocObjectServer::OnApplyViewState(CArchive &)\n3974 void COleControl::OnBackColorChanged()\n3975 int CFrameWnd::OnBarCheck(unsigned int)\n3976 int COleIPFrameWnd::OnBarCheck(unsigned int)\n3977 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n3978 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n3979 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n3980 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n3981 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n3982 int COleDropSource::OnBeginDrag(CWnd *)\n3983 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3984 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3985 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n3986 void COleControl::OnBorderStyleChanged()\n3987 void CRichEditView::OnBullet()\n3988 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n3989 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n3990 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n3991 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n3992 void CCommonDialog::OnCancel()\n3993 void CDialog::OnCancel()\n3994 void CPropertyPage::OnCancel()\n3995 void CRichEditView::OnCancelEditCntr()\n3996 void COleControl::OnCancelMode()\n3997 void CSplitterWnd::OnCancelMode()\n3998 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n3999 long COleControl::XFontNotification::OnChanged(long)\n4000 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4001 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4002 void CRectTracker::OnChangedRect(CRect const &)\n4003 void CDocument::OnChangedViewList()\n4004 int COleClientItem::OnChangeItemPosition(CRect const &)\n4005 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4006 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4007 void CRichEditView::OnCharBold()\n4008 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4009 void CRichEditView::OnCharItalic()\n4010 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4011 void CRichEditView::OnCharUnderline()\n4012 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4013 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4014 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4015 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4016 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4017 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4018 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4019 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4020 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4021 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4022 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4023 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4024 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4025 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4026 void COleControl::OnClick(unsigned short)\n4027 CEnumArray * CEnumArray::OnClone()\n4028 CEnumArray * CEnumConnections::OnClone()\n4029 void CAsyncSocket::OnClose(int)\n4030 void CControlFrameWnd::OnClose()\n4031 void CFrameWnd::OnClose()\n4032 void CMiniDockFrameWnd::OnClose()\n4033 void COleControl::OnClose(unsigned long)\n4034 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4035 void CPropertySheet::OnClose()\n4036 void COleClientItem::XAdviseSink::OnClose()\n4037 void CDocObjectServer::OnCloseDocument()\n4038 void CDocument::OnCloseDocument()\n4039 void COleDocument::OnCloseDocument()\n4040 void COleLinkingDoc::OnCloseDocument()\n4041 void COleServerDoc::OnCloseDocument()\n4042 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4043 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4044 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4045 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4046 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4047 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4048 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4049 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4050 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4051 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4052 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4053 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4054 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4055 void CRichEditView::OnColorDefault()\n4056 int CColorDialog::OnColorOK()\n4057 void CRichEditView::OnColorPick(unsigned long)\n4058 int CFrameWnd::OnCommand(unsigned int,long)\n4059 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4060 int COlePropertyPage::OnCommand(unsigned int,long)\n4061 int CPropertySheet::OnCommand(unsigned int,long)\n4062 int CSplitterWnd::OnCommand(unsigned int,long)\n4063 int CWnd::OnCommand(unsigned int,long)\n4064 long CDialog::OnCommandHelp(unsigned int,long)\n4065 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4066 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4067 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4068 void CHtmlView::OnCommandStateChange(long,int)\n4069 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4070 void CAsyncSocket::OnConnect(int)\n4071 void CFrameWnd::OnContextHelp()\n4072 int COleFrameHook::OnContextHelp(int)\n4073 void COleIPFrameWnd::OnContextHelp()\n4074 void CWinApp::OnContextHelp()\n4075 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4076 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n4077 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n4078 int CEditView::OnCreate(tagCREATESTRUCTA *)\n4079 int CFormView::OnCreate(tagCREATESTRUCTA *)\n4080 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4081 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n4082 int COleControl::OnCreate(tagCREATESTRUCTA *)\n4083 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4084 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n4085 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n4086 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n4087 int CView::OnCreate(tagCREATESTRUCTA *)\n4088 int CCmdTarget::OnCreateAggregates()\n4089 int COleControl::OnCreateAggregates()\n4090 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4091 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4092 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4093 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4094 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n4095 CCmdTarget * COleObjectFactory::OnCreateObject()\n4096 CCmdTarget * COleTemplateServer::OnCreateObject()\n4097 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4098 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4099 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4100 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4101 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4102 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4103 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4104 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4105 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4106 int CDocManager::OnDDECommand(char *)\n4107 int CWinApp::OnDDECommand(char *)\n4108 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4109 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4110 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4111 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n4112 void COleClientItem::OnDeactivate()\n4113 void COleServerDoc::OnDeactivate()\n4114 void COleClientItem::OnDeactivateAndUndo()\n4115 void COleClientItem::OnDeactivateUI(int)\n4116 void COleServerDoc::OnDeactivateUI(int)\n4117 void CRichEditCntrItem::OnDeactivateUI(int)\n4118 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4119 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4120 void CControlBar::OnDestroy()\n4121 void CDHtmlDialog::OnDestroy()\n4122 void CEditView::OnDestroy()\n4123 void CFrameWnd::OnDestroy()\n4124 void CHtmlView::OnDestroy()\n4125 void CMDIChildWnd::OnDestroy()\n4126 void CMDIFrameWnd::OnDestroy()\n4127 void COleControl::OnDestroy()\n4128 void COleIPFrameWnd::OnDestroy()\n4129 void CRichEditView::OnDestroy()\n4130 void CTabCtrl::OnDestroy()\n4131 void CTreeCtrl::OnDestroy()\n4132 void CTreeView::OnDestroy()\n4133 void CView::OnDestroy()\n4134 void CWnd::OnDestroy()\n4135 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4136 void CRichEditView::OnDevModeChange(char *)\n4137 void CWnd::OnDevModeChange(char *)\n4138 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4139 void COleClientItem::OnDiscardUndoState()\n4140 void CSplitterWnd::OnDisplayChange()\n4141 long CWnd::OnDisplayChange(unsigned int,long)\n4142 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4143 int COleFrameHook::OnDocActivate(int)\n4144 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n4145 void CHtmlView::OnDocumentComplete(char const *)\n4146 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4147 long CBrowserControlSite::OnDocWindowActivate(int)\n4148 long CDHtmlDialog::OnDocWindowActivate(int)\n4149 long CHtmlView::OnDocWindowActivate(int)\n4150 void COleServerDoc::OnDocWindowActivate(int)\n4151 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4152 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4153 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4154 void CDocObjectServerItem::OnDoVerb(long)\n4155 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4156 void COleServerItem::OnDoVerb(long)\n4157 void CHtmlView::OnDownloadBegin()\n4158 void CHtmlView::OnDownloadComplete()\n4159 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4160 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4161 void COleDropTarget::OnDragLeave(CWnd *)\n4162 void CView::OnDragLeave()\n4163 long CWnd::OnDragList(unsigned int,long)\n4164 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4165 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4166 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4167 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4168 void CCtrlView::OnDraw(CDC *)\n4169 void CFormView::OnDraw(CDC *)\n4170 void CHtmlView::OnDraw(CDC *)\n4171 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4172 void CPreviewView::OnDraw(CDC *)\n4173 void CView::OnDraw(CDC *)\n4174 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4175 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4176 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4177 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4178 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4179 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4180 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4181 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4182 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4183 void CFrameWnd::OnDropFiles(HDROP__ *)\n4184 void CRichEditView::OnDropFiles(HDROP__ *)\n4185 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4186 int CEditView::OnEditChange()\n4187 void COleDocument::OnEditChangeIcon()\n4188 void CEditView::OnEditClear()\n4189 void CRichEditView::OnEditClear()\n4190 void COleDocument::OnEditConvert()\n4191 void CEditView::OnEditCopy()\n4192 void CHtmlView::OnEditCopy()\n4193 void CRichEditView::OnEditCopy()\n4194 void CEditView::OnEditCut()\n4195 void CHtmlView::OnEditCut()\n4196 void CRichEditView::OnEditCut()\n4197 void CEditView::OnEditFind()\n4198 void CRichEditView::OnEditFind()\n4199 void CEditView::OnEditFindReplace(int)\n4200 void CRichEditView::OnEditFindReplace(int)\n4201 void COleDocument::OnEditLinks()\n4202 void CEditView::OnEditPaste()\n4203 void CHtmlView::OnEditPaste()\n4204 void CRichEditView::OnEditPaste()\n4205 void CRichEditView::OnEditPasteSpecial()\n4206 void CRichEditView::OnEditProperties()\n4207 int COlePropertyPage::OnEditProperty(long)\n4208 void CRichEditView::OnEditRedo()\n4209 void CEditView::OnEditRepeat()\n4210 void CRichEditView::OnEditRepeat()\n4211 void CEditView::OnEditReplace()\n4212 void CRichEditView::OnEditReplace()\n4213 void CEditView::OnEditSelectAll()\n4214 void CRichEditView::OnEditSelectAll()\n4215 void CEditView::OnEditUndo()\n4216 void CRichEditView::OnEditUndo()\n4217 void CFrameWnd::OnEnable(int)\n4218 void CToolTipCtrl::OnEnable(int)\n4219 void COleControl::OnEnabledChanged()\n4220 long CHtmlView::OnEnableModeless(int)\n4221 void COleFrameHook::OnEnableModeless(int)\n4222 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4223 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4224 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4225 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4226 void CFrameWnd::OnEndSession(int)\n4227 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4228 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4229 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4230 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4231 int CFrameWnd::OnEraseBkgnd(CDC *)\n4232 int COleControl::OnEraseBkgnd(CDC *)\n4233 int COleResizeBar::OnEraseBkgnd(CDC *)\n4234 int CPreviewView::OnEraseBkgnd(CDC *)\n4235 int CReBar::OnEraseBkgnd(CDC *)\n4236 int CToolBar::OnEraseBkgnd(CDC *)\n4237 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4238 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4239 int COleControlSite::OnEvent(AFX_EVENT *)\n4240 void COleControl::OnEventAdvise(int)\n4241 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4242 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4243 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4244 void CDocument::OnFileClose()\n4245 void CFileDialog::OnFileNameChange()\n4246 int CFileDialog::OnFileNameOK()\n4247 void CDocManager::OnFileNew()\n4248 void CWinApp::OnFileNew()\n4249 void CDocManager::OnFileOpen()\n4250 void CWinApp::OnFileOpen()\n4251 void CHtmlView::OnFilePrint()\n4252 void CView::OnFilePrint()\n4253 void CView::OnFilePrintPreview()\n4254 void CWinApp::OnFilePrintSetup()\n4255 void CDocument::OnFileSave()\n4256 void CDocument::OnFileSaveAs()\n4257 void COleServerDoc::OnFileSaveCopyAs()\n4258 void CDocument::OnFileSendMail()\n4259 void COleDocument::OnFileSendMail()\n4260 void COleServerDoc::OnFileUpdate()\n4261 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4262 void CCmdTarget::OnFinalRelease()\n4263 void CDocument::OnFinalRelease()\n4264 void COleControl::OnFinalRelease()\n4265 void COlePropertyPage::OnFinalRelease()\n4266 void COleServerItem::OnFinalRelease()\n4267 void CWnd::OnFinalRelease()\n4268 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n4269 void CEditView::OnFindNext(char const *,int,int)\n4270 void CRichEditView::OnFindNext(char const *,int,int,int)\n4271 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4272 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4273 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4274 long COleControlSite::XOleControlSite::OnFocus(int)\n4275 void CFileDialog::OnFolderChange()\n4276 void COleControl::OnFontChanged()\n4277 void COleControl::OnForeColorChanged()\n4278 void CRichEditView::OnFormatFont()\n4279 void COleControl::OnFrameClose()\n4280 long CBrowserControlSite::OnFrameWindowActivate(int)\n4281 long CDHtmlDialog::OnFrameWindowActivate(int)\n4282 long CHtmlView::OnFrameWindowActivate(int)\n4283 void COleServerDoc::OnFrameWindowActivate(int)\n4284 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4285 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4286 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4287 void COleControl::OnFreezeEvents(int)\n4288 void CHtmlView::OnFullScreen(int)\n4289 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4290 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4291 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4292 void COleClientItem::OnGetClipRect(CRect &)\n4293 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4294 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4295 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n4296 unsigned int COleControl::OnGetDlgCode()\n4297 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4298 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4299 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4300 long CHtmlView::OnGetExternal(IDispatch * *)\n4301 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4302 HMENU__ * COleControl::OnGetInPlaceMenu()\n4303 void COleClientItem::OnGetItemPosition(CRect &)\n4304 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4305 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n4306 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n4307 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4308 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4309 long CWnd::OnGetObject(unsigned int,long)\n4310 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4311 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4312 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4313 long CStatusBar::OnGetText(unsigned int,long)\n4314 long CStatusBar::OnGetTextLength(unsigned int,long)\n4315 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4316 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4317 unsigned long COleControl::OnGetViewStatus()\n4318 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4319 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4320 void CFrameWnd::OnHelp()\n4321 int COlePropertyPage::OnHelp(char const *)\n4322 void CWinApp::OnHelp()\n4323 void CWnd::OnHelp()\n4324 void CWinApp::OnHelpFinder()\n4325 void CWnd::OnHelpFinder()\n4326 long CControlBar::OnHelpHitTest(unsigned int,long)\n4327 long CDialog::OnHelpHitTest(unsigned int,long)\n4328 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4329 void CWinApp::OnHelpIndex()\n4330 void CWnd::OnHelpIndex()\n4331 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4332 int CWnd::OnHelpInfo(tagHELPINFO *)\n4333 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4334 void CWinApp::OnHelpUsing()\n4335 void CWnd::OnHelpUsing()\n4336 void CDocObjectServerItem::OnHide()\n4337 long COleControl::OnHide()\n4338 void COleServerItem::OnHide()\n4339 void COleControl::OnHideToolBars()\n4340 long CHtmlView::OnHideUI()\n4341 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4342 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4343 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4344 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4345 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4346 void CDocTemplate::OnIdle()\n4347 void CDocument::OnIdle()\n4348 void COleDocument::OnIdle()\n4349 int CWinApp::OnIdle(long)\n4350 int CWinThread::OnIdle(long)\n4351 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4352 void CFrameWnd::OnIdleUpdateCmdUI()\n4353 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4354 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4355 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4356 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4357 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4358 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4359 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4360 int CDHtmlDialog::OnInitDialog()\n4361 int CDialog::OnInitDialog()\n4362 int COlePropertiesDialog::OnInitDialog()\n4363 int COlePropertyPage::OnInitDialog()\n4364 int CPropertySheet::OnInitDialog()\n4365 void CFileDialog::OnInitDone()\n4366 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4367 void CControlBar::OnInitialUpdate()\n4368 void CFormView::OnInitialUpdate()\n4369 void COleDBRecordView::OnInitialUpdate()\n4370 void CRecordView::OnInitialUpdate()\n4371 void CRichEditView::OnInitialUpdate()\n4372 void CView::OnInitialUpdate()\n4373 void CFrameWnd::OnInitMenu(CMenu *)\n4374 void COleFrameHook::OnInitMenu(CMenu *)\n4375 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4376 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4377 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4378 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4379 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4380 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4381 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4382 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4383 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4384 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4385 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4386 void CRichEditView::OnInsertObject()\n4387 void CSplitterWnd::OnInvertTracker(CRect const &)\n4388 void CDockContext::OnKey(int,int)\n4389 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4390 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4391 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4392 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4393 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4394 void COleControl::OnKeyPressEvent(unsigned short)\n4395 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4396 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4397 long CPropertySheet::OnKickIdle(unsigned int,long)\n4398 int CPropertyPage::OnKillActive()\n4399 void COleControl::OnKillFocus(CWnd *)\n4400 long CCheckListBox::OnLBAddString(unsigned int,long)\n4401 long CCheckListBox::OnLBFindString(unsigned int,long)\n4402 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4403 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4404 long CCheckListBox::OnLBGetText(unsigned int,long)\n4405 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4406 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4407 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4408 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4409 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4410 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4411 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4412 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4413 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4414 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4415 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4416 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4417 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4418 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4419 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4420 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4421 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4422 void CAsyncMonikerFile::OnLowResource()\n4423 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4424 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4425 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4426 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4427 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4428 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4429 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4430 void CHtmlView::OnMenuBar(int)\n4431 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4432 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4433 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4434 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4435 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4436 int CSocket::OnMessagePending()\n4437 void COleControl::OnMnemonic(tagMSG *)\n4438 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4439 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4440 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4441 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4442 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4443 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4444 void COleControl::OnMouseMove(unsigned int,CPoint)\n4445 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4446 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4447 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4448 void COleControl::OnMove(int,int)\n4449 int COleDBRecordView::OnMove(unsigned int)\n4450 int CRecordView::OnMove(unsigned int)\n4451 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4452 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4453 void CHtmlEditView::OnNavigateComplete2(char const *)\n4454 void CHtmlView::OnNavigateComplete2(char const *)\n4455 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n4456 int CFrameWnd::OnNcActivate(int)\n4457 int CMDIChildWnd::OnNcActivate(int)\n4458 int CMiniFrameWnd::OnNcActivate(int)\n4459 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4460 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4461 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4462 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4463 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4464 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n4465 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n4466 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n4467 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n4468 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n4469 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n4470 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n4471 void CListCtrl::OnNcDestroy()\n4472 void CListView::OnNcDestroy()\n4473 void CWnd::OnNcDestroy()\n4474 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4475 unsigned int COleControl::OnNcHitTest(CPoint)\n4476 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4477 unsigned int CToolBar::OnNcHitTest(CPoint)\n4478 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4479 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4480 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4481 void CDockBar::OnNcPaint()\n4482 void COleControl::OnNcPaint()\n4483 void CReBar::OnNcPaint()\n4484 void CStatusBar::OnNcPaint()\n4485 void CToolBar::OnNcPaint()\n4486 int CDocument::OnNewDocument()\n4487 int CHtmlEditDoc::OnNewDocument()\n4488 int COleDocument::OnNewDocument()\n4489 int COleLinkingDoc::OnNewDocument()\n4490 void COleServerDoc::OnNewEmbedding(IStorage *)\n4491 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4492 int CEnumArray::OnNext(void *)\n4493 int CEnumConnections::OnNext(void *)\n4494 int CEnumConnPoints::OnNext(void *)\n4495 int CEnumFormatEtc::OnNext(void *)\n4496 int CEnumOleVerb::OnNext(void *)\n4497 int CEnumUnknown::OnNext(void *)\n4498 void CPreviewView::OnNextPage()\n4499 int CView::OnNextPaneCmd(unsigned int)\n4500 int CFileDialog::OnNotify(unsigned int,long,long *)\n4501 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4502 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4503 int CWnd::OnNotify(unsigned int,long,long *)\n4504 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4505 long CWnd::OnNTCtlColor(unsigned int,long)\n4506 void CPreviewView::OnNumPageChange()\n4507 void COlePropertyPage::OnObjectsChanged()\n4508 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4509 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4510 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4511 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4512 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4513 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4514 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4515 void CCommonDialog::OnOK()\n4516 void CDialog::OnOK()\n4517 void CPropertyPage::OnOK()\n4518 long COleControl::OnOpen(int,tagMSG *)\n4519 void COleServerItem::OnOpen()\n4520 int CDocument::OnOpenDocument(char const *)\n4521 int CHtmlEditDoc::OnOpenDocument(char const *)\n4522 int COleDocument::OnOpenDocument(char const *)\n4523 int COleLinkingDoc::OnOpenDocument(char const *)\n4524 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4525 int CWinApp::OnOpenRecentFile(unsigned int)\n4526 void CAsyncSocket::OnOutOfBandData(int)\n4527 void CCommonDialog::OnPaint()\n4528 void CControlBar::OnPaint()\n4529 void CCtrlView::OnPaint()\n4530 void CDialog::OnPaint()\n4531 void CDockBar::OnPaint()\n4532 void CHtmlEditView::OnPaint()\n4533 void CHtmlView::OnPaint()\n4534 void COleControl::OnPaint(CDC *)\n4535 int COleControlContainer::OnPaint(CDC *)\n4536 void COleResizeBar::OnPaint()\n4537 void CReBar::OnPaint()\n4538 void CSplitterWnd::OnPaint()\n4539 void CStatusBar::OnPaint()\n4540 void CToolBar::OnPaint()\n4541 void CView::OnPaint()\n4542 void CWnd::OnPaint()\n4543 void CFrameWnd::OnPaletteChanged(CWnd *)\n4544 void COleFrameHook::OnPaletteChanged(CWnd *)\n4545 void CRichEditView::OnParaAlign(unsigned short)\n4546 void CRichEditView::OnParaCenter()\n4547 void CRichEditView::OnParaLeft()\n4548 void CRichEditView::OnParaRight()\n4549 void CWnd::OnParentNotify(unsigned int,long)\n4550 int CRichEditView::OnPasteNativeObject(IStorage *)\n4551 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4552 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4553 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4554 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4555 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4556 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4557 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4558 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4559 int CEditView::OnPreparePrinting(CPrintInfo *)\n4560 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4561 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4562 int CView::OnPreparePrinting(CPrintInfo *)\n4563 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4564 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4565 void CPreviewView::OnPreviewClose()\n4566 void CPreviewView::OnPreviewPrint()\n4567 void CPreviewView::OnPrevPage()\n4568 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4569 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4570 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4571 void CView::OnPrint(CDC *,CPrintInfo *)\n4572 void CRichEditView::OnPrinterChanged(CDC const &)\n4573 void CPrintDialog::OnPrintSetup()\n4574 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n4575 void CHtmlView::OnProgressChange(long,long)\n4576 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4577 void CHtmlView::OnPropertyChange(char const *)\n4578 int CPropertyPage::OnQueryCancel()\n4579 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4580 int CFrameWnd::OnQueryEndSession()\n4581 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4582 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4583 int CFrameWnd::OnQueryNewPalette()\n4584 int COleFrameHook::OnQueryNewPalette()\n4585 int COleServerItem::OnQueryUpdateItems()\n4586 void CHtmlView::OnQuit()\n4587 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4588 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4589 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4590 int COleServerDoc::OnReactivateAndUndo()\n4591 void COleFrameHook::OnRecalcLayout()\n4592 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4593 void CReBar::OnRecalcParent()\n4594 void CAsyncSocket::OnReceive(int)\n4595 void COleControl::OnReflectorDestroyed()\n4596 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4597 void COleClientItem::OnRemoveMenus(CMenu *)\n4598 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4599 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4600 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4601 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4602 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4603 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4604 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4605 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4606 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4607 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4608 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4609 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4610 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4611 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4612 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4613 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4614 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4615 void CEditView::OnReplaceAll(char const *,char const *,int)\n4616 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n4617 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n4618 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n4619 long COleControl::XFontNotification::OnRequestEdit(long)\n4620 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4621 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4622 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4623 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4624 void CEnumArray::OnReset()\n4625 void CPropertyPage::OnReset()\n4626 void COleControl::OnResetState()\n4627 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4628 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4629 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4630 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4631 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4632 void COleClientItem::XAdviseSink::OnSave()\n4633 int CDocument::OnSaveDocument(char const *)\n4634 int CHtmlEditDoc::OnSaveDocument(char const *)\n4635 int COleDocument::OnSaveDocument(char const *)\n4636 int COleLinkingDoc::OnSaveDocument(char const *)\n4637 int COleServerDoc::OnSaveDocument(char const *)\n4638 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4639 void COleServerItem::OnSaveEmbedding(IStorage *)\n4640 void CDocObjectServer::OnSaveViewState(CArchive &)\n4641 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4642 int CView::OnScroll(unsigned int,unsigned int,int)\n4643 int COleClientItem::OnScrollBy(CSize)\n4644 int CScrollView::OnScrollBy(CSize,int)\n4645 int CView::OnScrollBy(CSize,int)\n4646 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4647 void CAsyncSocket::OnSend(int)\n4648 int CPropertyPage::OnSetActive()\n4649 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4650 long CToolBar::OnSetButtonSize(unsigned int,long)\n4651 void COleControl::OnSetClientSite()\n4652 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4653 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4654 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4655 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4656 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4657 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4658 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4659 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4660 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4661 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4662 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4663 long CPropertySheet::OnSetDefID(unsigned int,long)\n4664 int COleControl::OnSetExtent(tagSIZE *)\n4665 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4666 void CFormView::OnSetFocus(CWnd *)\n4667 void CFrameWnd::OnSetFocus(CWnd *)\n4668 void COleControl::OnSetFocus(CWnd *)\n4669 void CWnd::OnSetFocus(CWnd *)\n4670 long CCheckListBox::OnSetFont(unsigned int,long)\n4671 void CDialog::OnSetFont(CFont *)\n4672 long CEditView::OnSetFont(unsigned int,long)\n4673 void COleServerDoc::OnSetHostNames(char const *,char const *)\n4674 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4675 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4676 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4677 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4678 long COleControl::OnSetMessageString(unsigned int,long)\n4679 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4680 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4681 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4682 void CDatabase::OnSetOptions(void *)\n4683 void CRecordset::OnSetOptions(void *)\n4684 void COlePropertyPage::OnSetPageSite()\n4685 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4686 long CToolBar::OnSetSizeHelper(CSize &,long)\n4687 long COleControl::OnSetText(unsigned int,long)\n4688 long CStatusBar::OnSetText(unsigned int,long)\n4689 void CWnd::OnSettingChange(unsigned int,char const *)\n4690 void CRecordset::OnSetUpdateOptions(void *)\n4691 unsigned int CFileDialog::OnShareViolation(char const *)\n4692 void CDocObjectServerItem::OnShow()\n4693 void COleServerItem::OnShow()\n4694 long CReBar::OnShowBand(unsigned int,long)\n4695 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4696 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4697 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4698 void COleServerDoc::OnShowDocument(int)\n4699 void COleClientItem::OnShowItem()\n4700 void COleControl::OnShowToolBars()\n4701 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4702 void COleDocument::OnShowViews(int)\n4703 void COleLinkingDoc::OnShowViews(int)\n4704 void COleControl::OnShowWindow(int,unsigned int)\n4705 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4706 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4707 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4708 void CFrameWnd::OnSize(unsigned int,int,int)\n4709 void CHtmlView::OnSize(unsigned int,int,int)\n4710 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4711 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4712 void COleControl::OnSize(unsigned int,int,int)\n4713 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4714 void COleResizeBar::OnSize(unsigned int,int,int)\n4715 void CPreviewView::OnSize(unsigned int,int,int)\n4716 void CScrollView::OnSize(unsigned int,int,int)\n4717 void CSplitterWnd::OnSize(unsigned int,int,int)\n4718 void CStatusBar::OnSize(unsigned int,int,int)\n4719 long CControlBar::OnSizeParent(unsigned int,long)\n4720 long CDockBar::OnSizeParent(unsigned int,long)\n4721 long COleResizeBar::OnSizeParent(unsigned int,long)\n4722 int CEnumArray::OnSkip()\n4723 long CSocketWnd::OnSocketDead(unsigned int,long)\n4724 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4725 int CView::OnSplitCmd(unsigned int)\n4726 void CAsyncMonikerFile::OnStartBinding()\n4727 void CHtmlView::OnStatusBar(int)\n4728 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4729 void CHtmlView::OnStatusTextChange(char const *)\n4730 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n4731 void CToolBar::OnSysColorChange()\n4732 void CWnd::OnSysColorChange()\n4733 void CFrameWnd::OnSysCommand(unsigned int,long)\n4734 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4735 void CPropertySheet::OnSysCommand(unsigned int,long)\n4736 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4737 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4738 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4739 void COleControl::OnTextChanged()\n4740 void CEditView::OnTextNotFound(char const *)\n4741 void CRichEditView::OnTextNotFound(char const *)\n4742 void CHtmlView::OnTheaterMode(int)\n4743 void CControlBar::OnTimer(unsigned int)\n4744 void CHtmlView::OnTitleChange(char const *)\n4745 void CHtmlView::OnToolBar(int)\n4746 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4747 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4748 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4749 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4750 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4751 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4752 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4753 void CFileDialog::OnTypeChange()\n4754 void COleControlContainer::OnUIActivate(COleControlSite *)\n4755 long COleClientItem::XOleIPSite::OnUIActivate()\n4756 long COleControlSite::XOleIPSite::OnUIActivate()\n4757 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4758 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4759 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4760 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4761 void CView::OnUpdate(CView *,long,CObject *)\n4762 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4763 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4764 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4765 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4766 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4767 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4768 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4769 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4770 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4771 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4772 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4773 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4774 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4775 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4776 int COleServerDoc::OnUpdateDocument()\n4777 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4778 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4779 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4780 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n4781 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n4782 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n4783 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n4784 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n4785 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4786 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n4787 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n4788 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n4789 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n4790 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4791 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n4792 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4793 void CFrameWnd::OnUpdateFrameTitle(int)\n4794 void CMDIChildWnd::OnUpdateFrameTitle(int)\n4795 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n4796 int COleClientItem::OnUpdateFrameTitle()\n4797 int COleFrameHook::OnUpdateFrameTitle()\n4798 void COleServerItem::OnUpdateItems()\n4799 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n4800 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n4801 void CEditView::OnUpdateNeedClip(CCmdUI *)\n4802 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n4803 void CEditView::OnUpdateNeedFind(CCmdUI *)\n4804 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n4805 void CEditView::OnUpdateNeedSel(CCmdUI *)\n4806 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n4807 void CEditView::OnUpdateNeedText(CCmdUI *)\n4808 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n4809 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n4810 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n4811 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n4812 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n4813 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n4814 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n4815 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n4816 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n4817 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n4818 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n4819 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n4820 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n4821 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n4822 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n4823 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n4824 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n4825 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n4826 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n4827 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n4828 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n4829 void CView::OnUpdateSplitCmd(CCmdUI *)\n4830 long CHtmlView::OnUpdateUI()\n4831 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n4832 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n4833 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n4834 void CHtmlView::OnVisible(int)\n4835 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n4836 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4837 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4838 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4839 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4840 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4841 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n4842 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n4843 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n4844 void CMDIFrameWnd::OnWindowNew()\n4845 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n4846 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n4847 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4848 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4849 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n4850 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n4851 long CPropertyPage::OnWizardBack()\n4852 int CPropertyPage::OnWizardFinish()\n4853 long CPropertyPage::OnWizardNext()\n4854 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n4855 void CPreviewView::OnZoomIn()\n4856 void CPreviewView::OnZoomOut()\n4857 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n4858 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n4859 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n4860 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n4861 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n4862 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n4863 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n4864 int CAsyncMonikerFile::Open(char const *,CFileException *)\n4865 int CDatabase::Open(char const *,int,int,char const *,int)\n4866 int CDataPathProperty::Open(CFileException *)\n4867 int CDataPathProperty::Open(COleControl *,CFileException *)\n4868 int CDataPathProperty::Open(char const *,CFileException *)\n4869 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n4870 int CFile::Open(char const *,unsigned int,CFileException *)\n4871 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n4872 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n4873 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n4874 int CMonikerFile::Open(IMoniker *,CFileException *)\n4875 int CMonikerFile::Open(char const *,CFileException *)\n4876 int CRecordset::Open(unsigned int,char const *,unsigned long)\n4877 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n4878 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n4879 long CDocObjectServer::XOleDocumentView::Open()\n4880 CDocument * CDocManager::OpenDocumentFile(char const *)\n4881 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n4882 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n4883 CDocument * CWinApp::OpenDocumentFile(char const *)\n4884 int CDatabase::OpenEx(char const *,unsigned long)\n4885 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n4886 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n4887 long COleUILinkInfo::OpenLinkSource(unsigned long)\n4888 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n4889 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n4890 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n4891 int CHtmlEditDoc::OpenURL(char const *)\n4892 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n4893 int CFileException::OsErrorToException(long)\n4894 void CDumpContext::OutputString(char const *)\n4895 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n4896 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n4897 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n4898 int CWnd::PaintWindowlessControls(CDC *)\n4899 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n4900 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n4901 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n4902 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n4903 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n4904 void CCommandLineInfo::ParseLast(int)\n4905 void CCommandLineInfo::ParseParam(char const *,int,int)\n4906 void CCommandLineInfo::ParseParamFlag(char const *)\n4907 void CCommandLineInfo::ParseParamNotFlag(char const *)\n4908 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n4909 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n4910 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n4911 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n4912 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n4913 int CDC::PlayMetaFile(HMETAFILE__ *)\n4914 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n4915 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n4916 int CDC::PolyBezierTo(tagPOINT const *,int)\n4917 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n4918 int CDC::PolylineTo(tagPOINT const *,int)\n4919 void CPreviewView::PositionPage(unsigned int)\n4920 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n4921 int CMonikerFile::PostBindToStream(CFileException *)\n4922 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n4923 void CDialog::PostModal()\n4924 void CPrintDialogEx::PostModal()\n4925 void COleControl::PostModalDialog(HWND__ *)\n4926 void CControlBar::PostNcDestroy()\n4927 void CControlFrameWnd::PostNcDestroy()\n4928 void CFindReplaceDialog::PostNcDestroy()\n4929 void CFrameWnd::PostNcDestroy()\n4930 void COleCntrFrameWnd::PostNcDestroy()\n4931 void CReflectorWnd::PostNcDestroy()\n4932 void CView::PostNcDestroy()\n4933 void CWnd::PostNcDestroy()\n4934 void CRecordset::PreBindFields()\n4935 void CDocument::PreCloseFrame(CFrameWnd *)\n4936 void COleDocument::PreCloseFrame(CFrameWnd *)\n4937 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n4938 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n4939 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n4940 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n4941 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4942 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n4943 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n4944 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4945 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n4946 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n4947 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4948 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4949 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4950 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n4951 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n4952 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n4953 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n4954 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n4955 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n4956 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n4957 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n4958 void CDialog::PreInitDialog()\n4959 void COleChangeSourceDialog::PreInitDialog()\n4960 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n4961 HWND__ * CDialog::PreModal()\n4962 HWND__ * CPrintDialogEx::PreModal()\n4963 void COleControl::PreModalDialog(HWND__ *)\n4964 void CRecordset::PrepareAndExecute()\n4965 HWND__ * CDataExchange::PrepareCtrl(int)\n4966 HWND__ * CDataExchange::PrepareEditCtrl(int)\n4967 void CWnd::PrepareForHelp()\n4968 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n4969 void CRecordset::PrepareUpdateHstmt()\n4970 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n4971 void CDragListBox::PreSubclassWindow()\n4972 void CWnd::PreSubclassWindow()\n4973 int CWnd::PreTranslateInput(tagMSG *)\n4974 int CControlBar::PreTranslateMessage(tagMSG *)\n4975 int CDialog::PreTranslateMessage(tagMSG *)\n4976 int CFormView::PreTranslateMessage(tagMSG *)\n4977 int CFrameWnd::PreTranslateMessage(tagMSG *)\n4978 int CHtmlView::PreTranslateMessage(tagMSG *)\n4979 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n4980 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n4981 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n4982 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n4983 int CPropertyPage::PreTranslateMessage(tagMSG *)\n4984 int CPropertySheet::PreTranslateMessage(tagMSG *)\n4985 int CWinThread::PreTranslateMessage(tagMSG *)\n4986 int CWnd::PreTranslateMessage(tagMSG *)\n4987 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n4988 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n4989 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n4990 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n4991 long CRichEditView::PrintPage(CDC *,long,long)\n4992 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n4993 long COleException::Process(CException const *)\n4994 int CSocket::ProcessAuxQueue()\n4995 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n4996 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n4997 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n4998 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n4999 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5000 void COleSafeArray::PtrOfIndex(long *,void * *)\n5001 int CMetaFileDC::PtVisible(int,int)const \n5002 int CWinThread::PumpMessage()\n5003 int CSocket::PumpMessages(unsigned int)\n5004 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n5005 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5006 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5007 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5008 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5009 void COleSafeArray::PutElement(long *,void *)\n5010 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n5011 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n5012 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n5013 int PX_Bool(CPropExchange *,char const *,int &)\n5014 int PX_Bool(CPropExchange *,char const *,int &,int)\n5015 int PX_Color(CPropExchange *,char const *,unsigned long &)\n5016 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n5017 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n5018 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n5019 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n5020 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n5021 int PX_Double(CPropExchange *,char const *,double &)\n5022 int PX_Double(CPropExchange *,char const *,double &,double)\n5023 int PX_Float(CPropExchange *,char const *,float &)\n5024 int PX_Float(CPropExchange *,char const *,float &,float)\n5025 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5026 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n5027 int PX_Long(CPropExchange *,char const *,long &)\n5028 int PX_Long(CPropExchange *,char const *,long &,long)\n5029 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n5030 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n5031 int PX_Short(CPropExchange *,char const *,short &)\n5032 int PX_Short(CPropExchange *,char const *,short &,short)\n5033 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5034 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n5035 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n5036 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n5037 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n5038 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n5039 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n5040 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5041 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5042 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5043 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5044 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5045 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5046 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5047 void * COleControl::QueryDefHandler(_GUID const &)\n5048 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5049 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5050 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5051 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5052 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5053 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5054 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5055 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5056 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n5057 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5058 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5059 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5060 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5061 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5062 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5063 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5064 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5065 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5066 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5067 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5068 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5069 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5070 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5071 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5072 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5073 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5074 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5075 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5076 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5077 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5078 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5079 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5080 long CPropertyPage::QuerySiblings(unsigned int,long)\n5081 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5082 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5083 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5084 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5085 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5086 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n5087 int COleControlSite::QuickActivate()\n5088 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5089 int COleClientItem::ReactivateAndUndo()\n5090 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5091 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5092 unsigned int CArchive::Read(void *,unsigned int)\n5093 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5094 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5095 unsigned int CFile::Read(void *,unsigned int)\n5096 int CImageList::Read(CArchive *)\n5097 unsigned int CInternetFile::Read(void *,unsigned int)\n5098 unsigned int CMemFile::Read(void *,unsigned int)\n5099 unsigned int COleStreamFile::Read(void *,unsigned int)\n5100 unsigned int CSocketFile::Read(void *,unsigned int)\n5101 unsigned int CStdioFile::Read(void *,unsigned int)\n5102 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5103 unsigned long CArchive::ReadCount()\n5104 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5105 int CProperty::ReadFromStream(IStream *)\n5106 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5107 int CPropertySet::ReadFromStream(IStream *)\n5108 void COleClientItem::ReadItem(CArchive &)\n5109 void COleClientItem::ReadItemCompound(CArchive &)\n5110 void COleClientItem::ReadItemFlat(CArchive &)\n5111 void CRecentFileList::ReadList()\n5112 int CPropertySection::ReadNameDictFromStream(IStream *)\n5113 CObject * CArchive::ReadObject(CRuntimeconst *)\n5114 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5115 char * CArchive::ReadString(char *,unsigned int)\n5116 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5117 char * CInternetFile::ReadString(char *,unsigned int)\n5118 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5119 char * CStdioFile::ReadString(char *,unsigned int)\n5120 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5121 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5122 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5123 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5124 void CRecordset::RebindParams(void *)\n5125 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5126 void CFrameWnd::RecalcLayout(int)\n5127 void CMiniDockFrameWnd::RecalcLayout(int)\n5128 void COleCntrFrameWnd::RecalcLayout(int)\n5129 void COleDocIPFrameWnd::RecalcLayout(int)\n5130 void COleIPFrameWnd::RecalcLayout(int)\n5131 void CSplitterWnd::RecalcLayout()\n5132 int CAsyncSocket::Receive(void *,int,int)\n5133 int CSocket::Receive(void *,int,int)\n5134 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n5135 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5136 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5137 void COleControl::RecreateControlWindow()\n5138 CRect const CFrameWnd::rectDefault\n5139 int CMetaFileDC::RectVisible(tagRECT const *)const \n5140 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5141 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5142 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5143 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5144 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5145 void COleControl::Refresh()\n5146 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5147 int COleDropTarget::Register(CWnd *)\n5148 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n5149 int COleMessageFilter::Register()\n5150 int COleObjectFactory::Register()\n5151 int COleTemplateServer::Register()\n5152 int CWinApp::Register()\n5153 int COleObjectFactory::RegisterAll()\n5154 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n5155 void CDocManager::RegisterShellFileTypes(int)\n5156 void CWinApp::RegisterShellFileTypes(int)\n5157 unsigned long CArchiveStream::Release()\n5158 unsigned long CBlobProperty::Release()\n5159 unsigned long CBrowserControlSite::Release()\n5160 unsigned long CDHtmlControlSink::Release()\n5161 unsigned long CDHtmlElementEventSink::Release()\n5162 unsigned long CDHtmlEventSink::Release()\n5163 unsigned long CInnerUnknown::Release()\n5164 void COleClientItem::Release(enum tagOLECLOSE)\n5165 unsigned long COleConnPtContainer::Release()\n5166 void COleDataObject::Release()\n5167 unsigned long COleDispatchImpl::Release()\n5168 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5169 unsigned long COleUILinkInfo::Release()\n5170 unsigned long CPrintDialogEx::Release()\n5171 void CDC::ReleaseAttribDC()\n5172 void COleControl::ReleaseCaches()\n5173 int COleControl::ReleaseCapture()\n5174 int COleControl::ReleaseDC(CDC *)\n5175 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5176 void COleDispatchDriver::ReleaseDispatch()\n5177 void CDocObjectServer::ReleaseDocSite()\n5178 void CDocument::ReleaseFile(CFile *,int)\n5179 void CFontHolder::ReleaseFont()\n5180 void CDC::ReleaseOutputDC()\n5181 void CMetaFileDC::ReleaseOutputDC()\n5182 void CPreviewDC::ReleaseOutputDC()\n5183 int COleClientItem::Reload()\n5184 void CFile::Remove(char const *)\n5185 int CFtpConnection::Remove(char const *)\n5186 void CPropertySection::Remove(unsigned long)\n5187 void CPropertySet::Remove(_GUID)\n5188 void CPropertySet::Remove(_GUID,unsigned long)\n5189 void CRecentFileList::Remove(int)\n5190 int CSimpleList::Remove(void *)\n5191 void CMapPtrToPtr::RemoveAll()\n5192 void CMapPtrToWord::RemoveAll()\n5193 void CMapStringToOb::RemoveAll()\n5194 void CMapStringToPtr::RemoveAll()\n5195 void CMapStringToString::RemoveAll()\n5196 void CMapWordToOb::RemoveAll()\n5197 void CMapWordToPtr::RemoveAll()\n5198 void CObList::RemoveAll()\n5199 void CPropertySection::RemoveAll()\n5200 void CPropertySet::RemoveAll()\n5201 void CPtrList::RemoveAll()\n5202 void CStringList::RemoveAll()\n5203 void CTypeLibCacheMap::RemoveAll(void *)\n5204 void CByteArray::RemoveAt(int,int)\n5205 void CDWordArray::RemoveAt(int,int)\n5206 void CObArray::RemoveAt(int,int)\n5207 void CObList::RemoveAt(__POSITION *)\n5208 void CPtrArray::RemoveAt(int,int)\n5209 void CPtrList::RemoveAt(__POSITION *)\n5210 void CStringArray::RemoveAt(int,int)\n5211 void CStringList::RemoveAt(__POSITION *)\n5212 void CUIntArray::RemoveAt(int,int)\n5213 void CWordArray::RemoveAt(int,int)\n5214 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5215 void CFrameWnd::RemoveControlBar(CControlBar *)\n5216 int CFtpConnection::RemoveDirectoryA(char const *)\n5217 void CDocTemplate::RemoveDocument(CDocument *)\n5218 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5219 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5220 void COleControl::RemoveFrameLevelUI()\n5221 void CFrameWnd::RemoveFrameWnd()\n5222 CObject * CObList::RemoveHead()\n5223 void * CPtrList::RemoveHead()\n5224 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n5225 void CListCtrl::RemoveImageList(int)\n5226 void CListView::RemoveImageList(int)\n5227 void CTreeCtrl::RemoveImageList(int)\n5228 void CTreeView::RemoveImageList(int)\n5229 void COleDocument::RemoveItem(CDocItem *)\n5230 int CMapPtrToPtr::RemoveKey(void *)\n5231 int CMapPtrToWord::RemoveKey(void *)\n5232 int CMapStringToOb::RemoveKey(char const *)\n5233 int CMapStringToPtr::RemoveKey(char const *)\n5234 int CMapStringToString::RemoveKey(char const *)\n5235 int CMapWordToOb::RemoveKey(unsigned short)\n5236 int CMapWordToPtr::RemoveKey(unsigned short)\n5237 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5238 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5239 void CPropertySheet::RemovePage(int)\n5240 void CPropertySheet::RemovePage(CPropertyPage *)\n5241 void CDockBar::RemovePlaceHolder(CControlBar *)\n5242 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5243 void CDataBoundProperty::RemoveSource()\n5244 CObject * CObList::RemoveTail()\n5245 void * CPtrList::RemoveTail()\n5246 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n5247 void CDocument::RemoveView(CView *)\n5248 void CFile::Rename(char const *,char const *)\n5249 int CFtpConnection::Rename(char const *,char const *)\n5250 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5251 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5252 void CDatabase::ReplaceBrackets(char *)\n5253 int CException::ReportError(unsigned int,unsigned int)\n5254 int COleClientItem::ReportError(long)const \n5255 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5256 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5257 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5258 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5259 int CRecordset::Requery()\n5260 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5261 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5262 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5263 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5264 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5265 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5266 long COleControlSite::XOleIPSite::RequestUIActivate()\n5267 long CEnumArray::XEnumVOID::Reset()\n5268 void CRecordset::ResetCursor()\n5269 void CCachedDataPathProperty::ResetData()\n5270 void CDataPathProperty::ResetData()\n5271 void COleControl::ResetStockProps()\n5272 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5273 void COleControl::ResetVersion(unsigned long)\n5274 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5275 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5276 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5277 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5278 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5279 void COleControl::ResizeFrameWindow(int,int)\n5280 void COleSafeArray::ResizeOneDim(unsigned long)\n5281 void COleControl::ResizeOpenControl(int,int)\n5282 void CScrollView::ResizeParentToFit(int)\n5283 int CDC::RestoreDC(int)\n5284 int CPreviewDC::RestoreDC(int)\n5285 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n5286 void CCmdTarget::RestoreWaitCursor()\n5287 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5288 long CArchiveStream::Revert()\n5289 void COleDropTarget::Revoke()\n5290 void COleLinkingDoc::Revoke()\n5291 void COleMessageFilter::Revoke()\n5292 void COleObjectFactory::Revoke()\n5293 void COleObjectFactory::RevokeAll()\n5294 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n5295 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n5296 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n5297 void RFX_Bool(CFieldExchange *,char const *,int &)\n5298 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5299 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n5300 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n5301 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n5302 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n5303 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n5304 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n5305 void RFX_Double(CFieldExchange *,char const *,double &)\n5306 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n5307 void RFX_Int(CFieldExchange *,char const *,int &)\n5308 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5309 void RFX_Long(CFieldExchange *,char const *,long &)\n5310 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n5311 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n5312 void RFX_Single(CFieldExchange *,char const *,float &)\n5313 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n5314 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5315 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5316 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n5317 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n5318 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n5319 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n5320 int CDatabase::Rollback()\n5321 void COleClientItem::Run()\n5322 int CWinApp::Run()\n5323 int CWinThread::Run()\n5324 int CWinApp::RunAutomated()\n5325 int CWinApp::RunEmbedded()\n5326 int CWnd::RunModalLoop(unsigned long)\n5327 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5328 int CEditView::SameAsSelected(char const *,int)\n5329 int CRichEditView::SameAsSelected(char const *,int,int)\n5330 long CBlobProperty::Save(IStream *,int)\n5331 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5332 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5333 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5334 long COleControl::XPersistStorage::Save(IStorage *,int)\n5335 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5336 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5337 int CDocManager::SaveAllModified()\n5338 int CDocTemplate::SaveAllModified()\n5339 int CWinApp::SaveAllModified()\n5340 void CFrameWnd::SaveBarState(char const *)const \n5341 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5342 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5343 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5344 int CDC::SaveDC()\n5345 int CPreviewDC::SaveDC()\n5346 void COleServerDoc::SaveEmbedding()\n5347 int CFormView::SaveFocusControl()\n5348 int CDocument::SaveModified()\n5349 int COleDocument::SaveModified()\n5350 int COleServerDoc::SaveModified()\n5351 int COleServerDoc::SaveModifiedPrompt()\n5352 long COleClientItem::XOleClientSite::SaveObject()\n5353 long COleControlSite::XOleClientSite::SaveObject()\n5354 int CControlBarInfo::SaveState(char const *,int)\n5355 void CDockState::SaveState(char const *)\n5356 long COleControl::SaveState(IStream *)\n5357 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n5358 void CWinApp::SaveStdProfileSettings()\n5359 void COleDocument::SaveToStorage(CObject *)\n5360 void COleLinkingDoc::SaveToStorage(CObject *)\n5361 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5362 void CDockState::ScalePoint(CPoint &)\n5363 void CDockState::ScaleRectPos(CRect &)\n5364 CSize CDC::ScaleViewportExt(int,int,int,int)\n5365 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5366 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5367 CSize CDC::ScaleWindowExt(int,int,int,int)\n5368 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5369 void CWnd::ScreenToClient(tagRECT *)const \n5370 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5371 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5372 void COleControlContainer::ScrollChildren(int,int)\n5373 int COleServerDoc::ScrollContainerBy(CSize)\n5374 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5375 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5376 void CScrollView::ScrollToPosition(tagPOINT)\n5377 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5378 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5379 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5380 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5381 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5382 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5383 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5384 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5385 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5386 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5387 CFont * CFontHolder::Select(CDC *,long,long)\n5388 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5389 int CDC::SelectClipPath(int)\n5390 int CDC::SelectClipRgn(CRgn *)\n5391 int CDC::SelectClipRgn(CRgn *,int)\n5392 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5393 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5394 long CPrintDialogEx::SelectionChange()\n5395 int CDC::SelectObject(CRgn *)\n5396 CBrush * CDC::SelectObject(CBrush *)\n5397 CPen * CDC::SelectObject(CPen *)\n5398 CFont * CDC::SelectObject(CFont *)\n5399 CFont * CPreviewDC::SelectObject(CFont *)\n5400 CPalette * CDC::SelectPalette(CPalette *,int)\n5401 void CWinApp::SelectPrinter(void *,void *,int)\n5402 CFont * COleControl::SelectStockFont(CDC *)\n5403 CGdiObject * CDC::SelectStockObject(int)\n5404 CGdiObject * CPreviewDC::SelectStockObject(int)\n5405 int CAsyncSocket::Send(void const *,int,int)\n5406 int CSocket::Send(void const *,int,int)\n5407 void COleControl::SendAdvise(unsigned int)\n5408 int CWnd::SendChildNotifyLastMsg(long *)\n5409 int CSocket::SendChunk(void const *,int,int)\n5410 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5411 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5412 void CDocument::SendInitialUpdate()\n5413 void CRecordset::SendLongBinaryData(void *)\n5414 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5415 void COleControlSite::SendMnemonic(tagMSG *)\n5416 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n5417 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n5418 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5419 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n5420 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n5421 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5422 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5423 void CByteArray::Serialize(CArchive &)\n5424 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5425 void CDocItem::Serialize(CArchive &)\n5426 void CDockState::Serialize(CArchive &)\n5427 void CDWordArray::Serialize(CArchive &)\n5428 void CEditView::Serialize(CArchive &)\n5429 void CMapStringToOb::Serialize(CArchive &)\n5430 void CMapStringToString::Serialize(CArchive &)\n5431 void CMapWordToOb::Serialize(CArchive &)\n5432 void CObArray::Serialize(CArchive &)\n5433 void CObList::Serialize(CArchive &)\n5434 void COleClientItem::Serialize(CArchive &)\n5435 void COleControl::Serialize(CArchive &)\n5436 void COleDocument::Serialize(CArchive &)\n5437 void CRichEditDoc::Serialize(CArchive &)\n5438 void CRichEditView::Serialize(CArchive &)\n5439 void CStringArray::Serialize(CArchive &)\n5440 void CStringList::Serialize(CArchive &)\n5441 void CWordArray::Serialize(CArchive &)\n5442 CArchive & ATL::CTime::Serialize64(CArchive &)\n5443 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5444 void CArchive::SerializeClass(CRuntimeconst *)\n5445 void SerializeElements(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n5446 void SerializeElements(CArchive &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,int)\n5447 void SerializeElements(CArchive &,ATL::CComBSTR *,int)\n5448 void SerializeElements(CArchive &,COleVariant *,int)\n5449 void COleControl::SerializeExtent(CArchive &)\n5450 void CEditView::SerializeRaw(CArchive &)\n5451 void COleControl::SerializeStockProps(CArchive &)\n5452 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5453 int CProperty::Set(unsigned long,void * const,unsigned long)\n5454 int CProperty::Set(void * const)\n5455 int CProperty::Set(void * const,unsigned long)\n5456 int CPropertySection::Set(unsigned long,void *)\n5457 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5458 int CPropertySet::Set(_GUID,unsigned long,void *)\n5459 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5460 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5461 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5462 int CPropertySheet::SetActivePage(int)\n5463 int CPropertySheet::SetActivePage(CPropertyPage *)\n5464 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5465 void CFrameWnd::SetActiveView(CView *,int)\n5466 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5467 void COleControl::SetAppearance(short)\n5468 int CDC::SetArcDirection(int)\n5469 void CByteArray::SetAtGrow(int,unsigned char)\n5470 void CDWordArray::SetAtGrow(int,unsigned long)\n5471 void CObArray::SetAtGrow(int,CObject *)\n5472 void CPtrArray::SetAtGrow(int,void *)\n5473 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n5474 void CStringArray::SetAtGrow(int,char const *)\n5475 void CUIntArray::SetAtGrow(int,unsigned int)\n5476 void CWordArray::SetAtGrow(int,unsigned short)\n5477 void CDC::SetAttribDC(HDC__ *)\n5478 void CMetaFileDC::SetAttribDC(HDC__ *)\n5479 void CPreviewDC::SetAttribDC(HDC__ *)\n5480 void COleControl::SetBackColor(unsigned long)\n5481 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5482 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5483 void CControlBar::SetBarStyle(unsigned long)\n5484 int CToolBar::SetBitmap(HBITMAP__ *)\n5485 unsigned long CDC::SetBkColor(unsigned long)\n5486 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5487 int CListCtrl::SetBkImage(char *,int,int,int)\n5488 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5489 int CDC::SetBkMode(int)\n5490 void CRecordset::SetBookmark(CDBVariant const &)\n5491 void CControlBar::SetBorders(int,int,int,int)\n5492 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5493 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5494 void COleControl::SetBorderStyle(short)\n5495 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5496 int CToolBar::SetButtons(unsigned int const *,int)\n5497 void CToolBar::SetButtonStyle(int,unsigned int)\n5498 int CToolBar::SetButtonText(int,char const *)\n5499 CWnd * COleControl::SetCapture()\n5500 long COleControlSite::XOleIPSite::SetCapture(int)\n5501 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n5502 void CCheckListBox::SetCheck(int,int)\n5503 void CCmdUI::SetCheck(int)\n5504 int CListCtrl::SetCheck(int,int)\n5505 void COleCmdUI::SetCheck(int)\n5506 void CStatusCmdUI::SetCheck(int)\n5507 void CTestCmdUI::SetCheck(int)\n5508 void CToolCmdUI::SetCheck(int)\n5509 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5510 void CCheckListBox::SetCheckStyle(unsigned int)\n5511 void CPropertySet::SetClassID(_GUID)\n5512 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5513 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5514 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5515 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5516 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5517 void COleDataSource::SetClipboard()\n5518 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5519 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5520 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5521 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5522 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5523 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5524 void CSplitterWnd::SetColumnInfo(int,int,int)\n5525 int CListCtrl::SetColumnOrderArray(int,int *)\n5526 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5527 void CDocTemplate::SetContainerInfo(unsigned int)\n5528 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5529 void CReflectorWnd::SetControl(COleControl *)\n5530 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5531 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n5532 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n5533 int COleControl::SetControlSize(int,int)\n5534 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5535 void CFileDialog::SetControlText(int,char const *)\n5536 int CInternetSession::SetCookie(char const *,char const *,char const *)\n5537 void COleCurrency::SetCurrency(long,long)\n5538 void CColorDialog::SetCurrentColor(unsigned long)\n5539 int CFtpConnection::SetCurrentDirectoryA(char const *)\n5540 void CWinApp::SetCurrentHandles()\n5541 void CPreviewView::SetCurrentPage(unsigned int,int)\n5542 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5543 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5544 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5545 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5546 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5547 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5548 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5549 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5550 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5551 void COccManager::SetDefaultButton(CWnd *,int)\n5552 void COleControlSite::SetDefaultButton(int)\n5553 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n5554 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n5555 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5556 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5557 void CFileDialog::SetDefExt(char const *)\n5558 void COlePropertyPage::SetDialogResource(void *)\n5559 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5560 int COleControlSite::SetDlgCtrlID(int)\n5561 int CWnd::SetDlgCtrlID(int)\n5562 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5563 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5564 void COleControlContainer::SetDlgItemTextA(int,char const *)\n5565 void CWnd::SetDlgItemTextA(int,char const *)\n5566 void CFrameWnd::SetDockState(CDockState const &)\n5567 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5568 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5569 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5570 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5571 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5572 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n5573 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n5574 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5575 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n5576 void COleControl::SetEnabled(int)\n5577 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5578 int COleControlSite::SetExtent()\n5579 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5580 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5581 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5582 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5583 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5584 void CRecordset::SetFieldDirty(void *,int)\n5585 void CRecordset::SetFieldNull(void *,int)\n5586 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5587 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5588 CWnd * COleControl::SetFocus()\n5589 CWnd * COleControlSite::SetFocus(tagMSG *)\n5590 CWnd * COleControlSite::SetFocus()\n5591 CWnd * CWnd::SetFocus()\n5592 long COleControlSite::XOleIPSite::SetFocus(int)\n5593 void CDHtmlDialog::SetFocusToElement(char const *)\n5594 int CDialogTemplate::SetFont(char const *,unsigned short)\n5595 void CFontHolder::SetFont(IFont *)\n5596 void COleControl::SetFont(IFontDisp *)\n5597 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5598 void COleControl::SetForeColor(unsigned long)\n5599 void CPropertySection::SetFormatID(_GUID)\n5600 void CPropertySet::SetFormatVersion(unsigned short)\n5601 void CSharedFile::SetHandle(void *,int)\n5602 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5603 void CToolBar::SetHeight(int)\n5604 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5605 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n5606 void CDHtmlDialog::SetHostFlags(unsigned long)\n5607 void COleClientItem::SetHostNames(char const *,char const *)\n5608 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5609 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5610 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5611 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5612 int COleClientItem::SetIconicMetafile(void *)\n5613 CSize CListCtrl::SetIconSpacing(int,int)\n5614 CSize CListCtrl::SetIconSpacing(CSize)\n5615 void CProperty::SetID(unsigned long)\n5616 int CReBarCtrl::SetImageList(CImageList *)\n5617 int CStatusBar::SetIndicators(unsigned int const *,int)\n5618 void COleControl::SetInitialDataFormats()\n5619 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5620 void COleControl::SetInitialSize(int,int)\n5621 void CControlBar::SetInPlaceOwner(CWnd *)\n5622 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5623 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n5624 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n5625 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n5626 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n5627 int CListCtrl::SetItemCountEx(int,unsigned long)\n5628 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5629 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5630 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5631 int CListCtrl::SetItemText(int,int,char const *)\n5632 unsigned long CDC::SetLayout(unsigned long)\n5633 void CFile::SetLength(unsigned __int64)\n5634 void CInternetFile::SetLength(unsigned __int64)\n5635 void CMemFile::SetLength(unsigned __int64)\n5636 void COleStreamFile::SetLength(unsigned __int64)\n5637 void CSocketFile::SetLength(unsigned __int64)\n5638 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n5639 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5640 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5641 void CRecordset::SetLockingMode(unsigned int)\n5642 int CDC::SetMapMode(int)\n5643 int CPreviewDC::SetMapMode(int)\n5644 unsigned long CDC::SetMapperFlags(unsigned long)\n5645 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5646 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5647 void CFrameWnd::SetMessageText(unsigned int)\n5648 void CFrameWnd::SetMessageText(char const *)\n5649 void CPropertyPage::SetModified(int)\n5650 void COleControl::SetModifiedFlag(int)\n5651 void COlePropertyPage::SetModifiedFlag(int)\n5652 void CRichEditDoc::SetModifiedFlag(int)\n5653 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5654 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5655 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5656 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5657 int CPropertySection::SetName(unsigned long,char const *)\n5658 void COleControl::SetNotPermitted()\n5659 void CCmdTarget::SetNotSupported()\n5660 void COleControl::SetNotSupported()\n5661 void CRecordset::SetNullFieldStatus(unsigned long)\n5662 void CRecordset::SetNullParamStatus(unsigned long)\n5663 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5664 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5665 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5666 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5667 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5668 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5669 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5670 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5671 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5672 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5673 int CHeaderCtrl::SetOrderArray(int,int *)\n5674 void CPropertySet::SetOSVersion(unsigned long)\n5675 void CDC::SetOutputDC(HDC__ *)\n5676 void CMetaFileDC::SetOutputDC(HDC__ *)\n5677 void CPreviewDC::SetOutputDC(HDC__ *)\n5678 void CToolBar::SetOwner(CWnd *)\n5679 void COlePropertyPage::SetPageName(char const *)\n5680 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5681 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5682 void CStatusBar::SetPaneStyle(int,unsigned int)\n5683 int CStatusBar::SetPaneText(int,char const *,int)\n5684 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5685 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5686 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5687 void CRecordset::SetParamNull(int,int)\n5688 void CDocument::SetPathName(char const *,int)\n5689 void COleDocument::SetPathName(char const *,int)\n5690 void CRichEditDoc::SetPathName(char const *,int)\n5691 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5692 int CDC::SetPolyFillMode(int)\n5693 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5694 int COleClientItem::SetPrintDevice(tagPDA const *)\n5695 void CEditView::SetPrinterFont(CFont *)\n5696 int CPreviewView::SetPrintView(CView *)\n5697 int COlePropertyPage::SetPropCheck(char const *,int)\n5698 void COleControlSite::SetProperty(long,unsigned short,...)\n5699 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5700 void CWnd::SetProperty(long,unsigned short,...)\n5701 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5702 int COlePropertyPage::SetPropIndex(char const *,int)\n5703 int COlePropertyPage::SetPropRadio(char const *,int)\n5704 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5705 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n5706 int COlePropertyPage::SetPropText(char const *,short &)\n5707 int COlePropertyPage::SetPropText(char const *,int &)\n5708 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n5709 int COlePropertyPage::SetPropText(char const *,long &)\n5710 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n5711 int COlePropertyPage::SetPropText(char const *,float &)\n5712 int COlePropertyPage::SetPropText(char const *,double &)\n5713 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5714 long CWnd::SetProxy(IAccessibleProxy *)\n5715 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5716 void CCmdUI::SetRadio(int)\n5717 void CTestCmdUI::SetRadio(int)\n5718 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5719 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5720 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5721 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5722 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5723 void CSliderCtrl::SetRange(int,int,int)\n5724 int CInternetFile::SetReadBufferSize(unsigned int)\n5725 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5726 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5727 int COleControl::SetRectInContainer(tagRECT const *)\n5728 void CWinApp::SetRegistryKey(unsigned int)\n5729 void CWinApp::SetRegistryKey(char const *)\n5730 int CDC::SetROP2(int)\n5731 void CSplitterWnd::SetRowInfo(int,int,int)\n5732 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5733 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5734 void CRecordset::SetRowsetSize(unsigned long)\n5735 void CPreviewView::SetScaledSize(unsigned int)\n5736 void CPreviewDC::SetScaleRatio(int,int)\n5737 void CScrollView::SetScaleToFitSize(tagSIZE)\n5738 void CDockState::SetScreenSize(CSize &)\n5739 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5740 int CWnd::SetScrollPos(int,int,int)\n5741 void CWnd::SetScrollRange(int,int,int,int)\n5742 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5743 void CSplitterWnd::SetScrollStyle(unsigned long)\n5744 int CPropertySection::SetSectionName(char const *)\n5745 void CRichEditCtrl::SetSel(long,long)\n5746 void CSliderCtrl::SetSelection(int,int)\n5747 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n5748 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n5749 void CCheckListBox::SetSelectionCheck(int)\n5750 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5751 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5752 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5753 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n5754 long CPrintDialogEx::SetSite(IUnknown *)\n5755 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n5756 void CByteArray::SetSize(int,int)\n5757 void CDWordArray::SetSize(int,int)\n5758 void CObArray::SetSize(int,int)\n5759 void CPtrArray::SetSize(int,int)\n5760 void CStringArray::SetSize(int,int)\n5761 void CUIntArray::SetSize(int,int)\n5762 void CWordArray::SetSize(int,int)\n5763 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n5764 void CSplitterWnd::SetSplitCursor(int)\n5765 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n5766 void CRecordset::SetState(int,char const *,unsigned long)\n5767 void CFile::SetStatus(char const *,CFileStatus const &)\n5768 int CControlBar::SetStatusText(int)\n5769 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n5770 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n5771 int CDC::SetStretchBltMode(int)\n5772 void COleVariant::SetString(char const *,unsigned short)\n5773 int CDialogTemplate::SetSystemFont(unsigned short)\n5774 void CEditView::SetTabStops(int)\n5775 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n5776 void CFileDialog::SetTemplate(char const *,char const *)\n5777 void CCmdUI::SetText(char const *)\n5778 void COleCmdUI::SetText(char const *)\n5779 void COleControl::SetText(char const *)\n5780 void CStatusCmdUI::SetText(char const *)\n5781 void CTestCmdUI::SetText(char const *)\n5782 void CToolCmdUI::SetText(char const *)\n5783 unsigned int CDC::SetTextAlign(unsigned int)\n5784 int CDC::SetTextCharacterExtra(int)\n5785 unsigned long CDC::SetTextColor(unsigned long)\n5786 unsigned long CPreviewDC::SetTextColor(unsigned long)\n5787 int CDC::SetTextJustification(int,int)\n5788 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n5789 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n5790 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n5791 void CDocument::SetTitle(char const *)\n5792 void CPropertySheet::SetTitle(char const *,unsigned int)\n5793 void CRichEditDoc::SetTitle(char const *)\n5794 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n5795 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n5796 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n5797 void CPreviewDC::SetTopLeftOffset(CSize)\n5798 void CProperty::SetType(unsigned long)\n5799 void CRecordset::SetUpdateMethod()\n5800 void CThreadSlotData::SetValue(int,void *)\n5801 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n5802 CSize CDC::SetViewportExt(int,int)\n5803 CSize CMetaFileDC::SetViewportExt(int,int)\n5804 CSize CPreviewDC::SetViewportExt(int,int)\n5805 CPoint CDC::SetViewportOrg(int,int)\n5806 CPoint CMetaFileDC::SetViewportOrg(int,int)\n5807 CPoint CPreviewDC::SetViewportOrg(int,int)\n5808 CSize CDC::SetWindowExt(int,int)\n5809 CSize CPreviewDC::SetWindowExt(int,int)\n5810 CPoint CDC::SetWindowOrg(int,int)\n5811 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n5812 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n5813 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n5814 void COleControlSite::SetWindowTextA(char const *)\n5815 void CWnd::SetWindowTextA(char const *)\n5816 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n5817 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n5818 int CInternetFile::SetWriteBufferSize(unsigned int)\n5819 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n5820 long CDocObjectServer::XOleDocumentView::Show(int)\n5821 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n5822 void CDockBar::ShowAll(int)\n5823 long CRichEditCntrItem::ShowContainerUI(int)\n5824 long CRichEditView::ShowContainerUI(int)\n5825 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n5826 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5827 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5828 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5829 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n5830 long COleClientItem::XOleClientSite::ShowObject()\n5831 long COleControlSite::XOleClientSite::ShowObject()\n5832 void CFrameWnd::ShowOwnedWindows(int)\n5833 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n5834 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5835 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5836 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5837 int COleControlSite::ShowWindow(int)\n5838 int CWnd::ShowWindow(int)\n5839 tagSIZE const CScrollView::sizeDefault\n5840 int CMonthCalCtrl::SizeMinReq(int)\n5841 void CBitmapButton::SizeToContent()\n5842 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n5843 long CEnumArray::XEnumVOID::Skip(unsigned long)\n5844 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n5845 int CAsyncSocket::Socket(int,long,int,int)\n5846 int CSplitterWnd::SplitColumn(int)\n5847 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n5848 int CSplitterWnd::SplitRow(int)\n5849 int CDC::StartDocA(char const *)\n5850 void CDockContext::StartDrag(CPoint)\n5851 void CDockContext::StartResize(int,CPoint)\n5852 void CSplitterWnd::StartTracking(int)\n5853 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n5854 void CSplitterWnd::StopTracking(int)\n5855 void CRuntimeClass::Store(CArchive &)const \n5856 void CRecordset::StoreFields()\n5857 void CRichEditView::Stream(CArchive &,int)\n5858 void CDockContext::Stretch(CPoint)\n5859 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n5860 int CWnd::SubclassWindow(HWND__ *)\n5861 int COleDocObjectItem::SupportsIPrint()\n5862 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5863 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5864 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n5865 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n5866 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n5867 void CRichEditView::TextNotFound(char const *)\n5868 int CMetaFileDC::TextOutA(int,int,char const *,int)\n5869 int CPreviewDC::TextOutA(int,int,char const *,int)\n5870 void CFileException::ThrowErrno(int,char const *)\n5871 void COleControl::ThrowError(long,unsigned int,unsigned int)\n5872 void COleControl::ThrowError(long,char const *,unsigned int)\n5873 void CFileException::ThrowOsError(long,char const *)\n5874 void CDockContext::ToggleDocking()\n5875 COleVariant CDataSourceControl::ToVariant(int)\n5876 int CDockContext::Track()\n5877 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n5878 void CSplitterWnd::TrackColumnSize(int,int)\n5879 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n5880 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n5881 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n5882 void CSplitterWnd::TrackRowSize(int,int)\n5883 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n5884 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n5885 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n5886 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n5887 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n5888 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n5889 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n5890 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n5891 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n5892 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n5893 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n5894 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n5895 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n5896 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5897 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5898 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5899 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n5900 void COccManager::UIActivateControl(CWnd *)\n5901 long COleControl::XOleInPlaceObject::UIDeactivate()\n5902 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n5903 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n5904 void COleSafeArray::UnaccessData()\n5905 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n5906 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n5907 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n5908 long COleControl::XOleObject::Unadvise(unsigned long)\n5909 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n5910 long COleServerItem::XOleObject::Unadvise(unsigned long)\n5911 void CRecordset::UnbindFieldsForUpdate()\n5912 long COleControl::XOleCache::Uncache(unsigned long)\n5913 long COleControl::XViewObject::Unfreeze(unsigned long)\n5914 int CEvent::Unlock()\n5915 int CMultiLock::Unlock(long,long *)\n5916 int CMultiLock::Unlock()\n5917 int CMutex::Unlock()\n5918 void COleSafeArray::Unlock()\n5919 int CSemaphore::Unlock(long,long *)\n5920 int CSingleLock::Unlock(long,long *)\n5921 int CSingleLock::Unlock()\n5922 void CTypeLibCache::Unlock()\n5923 void CEditView::UnlockBuffer()const \n5924 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n5925 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n5926 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n5927 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n5928 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n5929 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n5930 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5931 int COleObjectFactory::Unregister()\n5932 int COleTemplateServer::Unregister()\n5933 int CWinApp::Unregister()\n5934 int COleObjectFactory::UnregisterAll()\n5935 void CDocManager::UnregisterShellFileTypes()\n5936 void CWinApp::UnregisterShellFileTypes()\n5937 HWND__ * CWnd::UnsubclassWindow()\n5938 int CRecordset::Update()\n5939 long CDocObjectServer::XOleObject::Update()\n5940 long COleControl::XOleObject::Update()\n5941 long COleServerDoc::XOleObject::Update()\n5942 long COleServerItem::XOleObject::Update()\n5943 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5944 void CStatusBar::UpdateAllPanes(int,int)\n5945 void CDocument::UpdateAllViews(CView *,long,CObject *)\n5946 void CScrollView::UpdateBars()\n5947 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n5948 long CDataSourceControl::UpdateControls()\n5949 long CDataSourceControl::UpdateCursor()\n5950 int CWnd::UpdateData(int)\n5951 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n5952 void CDocument::UpdateFrameCounts()\n5953 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n5954 int CRecordset::UpdateInsertDelete()\n5955 void COleClientItem::UpdateItemType()\n5956 int COleClientItem::UpdateLink()\n5957 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n5958 void CRecentFileList::UpdateMenu(CCmdUI *)\n5959 void COleDocument::UpdateModifiedFlag()\n5960 void CRichEditDoc::UpdateModifiedFlag()\n5961 void CRichEditDoc::UpdateObjectCache()\n5962 void CWinApp::UpdatePrinterSelection(int)\n5963 int COleObjectFactory::UpdateRegistry(int)\n5964 void COleObjectFactory::UpdateRegistry(char const *)\n5965 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n5966 int COleObjectFactory::UpdateRegistryAll(int)\n5967 void CDockContext::UpdateState(int *,int)\n5968 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n5969 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n5970 long CBrowserControlSite::UpdateUI()\n5971 long CDHtmlDialog::UpdateUI()\n5972 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n5973 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n5974 void COleLinkingDoc::UpdateVisibleLock(int,int)\n5975 void CDatabase::VerifyConnect()\n5976 unsigned long CRecordset::VerifyCursorSupport()\n5977 void CRecordset::VerifyDriverBehavior()\n5978 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n5979 int COleObjectFactory::VerifyUserLicense()\n5980 int CListBox::VKeyToItem(unsigned int,unsigned int)\n5981 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n5982 int COleControl::WillAmbientsBeValidDuringLoad()\n5983 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n5984 long COleControl::WindowProc(unsigned int,unsigned int,long)\n5985 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n5986 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n5987 long CReBar::WindowProc(unsigned int,unsigned int,long)\n5988 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n5989 long CWnd::WindowProc(unsigned int,unsigned int,long)\n5990 void CWinApp::WinHelpA(unsigned long,unsigned int)\n5991 void CWnd::WinHelpA(unsigned long,unsigned int)\n5992 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n5993 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n5994 CWnd const CWnd::wndBottom\n5995 CWnd const CWnd::wndNoTopMost\n5996 CWnd const CWnd::wndTop\n5997 CWnd const CWnd::wndTopMost\n5998 void CRichEditView::WrapChanged()\n5999 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6000 void CArchive::Write(void const *,unsigned int)\n6001 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6002 void CFile::Write(void const *,unsigned int)\n6003 void CGopherFile::Write(void const *,unsigned int)\n6004 int CImageList::Write(CArchive *)\n6005 void CInternetFile::Write(void const *,unsigned int)\n6006 void CMemFile::Write(void const *,unsigned int)\n6007 void COleStreamFile::Write(void const *,unsigned int)\n6008 void CSocketFile::Write(void const *,unsigned int)\n6009 void CStdioFile::Write(void const *,unsigned int)\n6010 void CArchive::WriteClass(CRuntimeconst *)\n6011 void CArchive::WriteCount(unsigned long)\n6012 void COleClientItem::WriteItem(CArchive &)\n6013 void COleClientItem::WriteItemCompound(CArchive &)\n6014 void COleClientItem::WriteItemFlat(CArchive &)\n6015 void CRecentFileList::WriteList()\n6016 int CPropertySection::WriteNameDictToStream(IStream *)\n6017 void CArchive::WriteObject(CObject const *)\n6018 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n6019 int CWinApp::WriteProfileInt(char const *,char const *,int)\n6020 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n6021 void CArchive::WriteString(char const *)\n6022 void CGopherFile::WriteString(char const *)\n6023 void CInternetFile::WriteString(char const *)\n6024 void CStdioFile::WriteString(char const *)\n6025 void CEditView::WriteToArchive(CArchive &)\n6026 int CProperty::WriteToStream(IStream *)\n6027 int CPropertySection::WriteToStream(IStream *)\n6028 int CPropertySet::WriteToStream(IStream *)\n6029 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6030 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6031 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6032 int AfxInitRichEdit2()\n6033 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n6034 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6035 CDaoException::CDaoException()\n6036 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6037 CDaoIndexInfo::CDaoIndexInfo()\n6038 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6039 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6040 CDaoRecordView::CDaoRecordView(unsigned int)\n6041 CDaoRecordView::CDaoRecordView(char const *)\n6042 CDaoRelationInfo::CDaoRelationInfo()\n6043 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6044 CDaoWorkspace::CDaoWorkspace()\n6045 CDaoDatabase::~CDaoDatabase()\n6046 CDaoException::~CDaoException()\n6047 CDaoIndexInfo::~CDaoIndexInfo()\n6048 CDaoQueryDef::~CDaoQueryDef()\n6049 CDaoRecordset::~CDaoRecordset()\n6050 CDaoRecordView::~CDaoRecordView()\n6051 CDaoRelationInfo::~CDaoRelationInfo()\n6052 CDaoTableDef::~CDaoTableDef()\n6053 CDaoWorkspace::~CDaoWorkspace()\n6054 void CDaoRecordset::AddNew()\n6055 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6056 _DAODBEngine * AfxDaoGetEngine()\n6057 void AfxDaoInit()\n6058 void AfxDaoTerm()\n6059 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6060 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n6061 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6062 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6063 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6064 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6065 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n6066 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6067 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6068 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6069 void AfxThrowDaoException(int,long)\n6070 void CDaoRecordset::AllocCache()\n6071 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6072 void CDaoRecordset::AllocDatabase()\n6073 void AllocLongBinary(CLongBinary &,unsigned long)\n6074 void CDaoQueryDef::Append()\n6075 void CDaoTableDef::Append()\n6076 void CDaoWorkspace::Append()\n6077 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n6078 void CDaoWorkspace::BeginTrans()\n6079 void CDaoRecordset::BindFields()\n6080 void CDaoRecordset::BindParameters()\n6081 void CDaoRecordset::BuildParameterList()\n6082 void CDaoRecordset::BuildSelectList()\n6083 void CDaoRecordset::BuildSQL()\n6084 int CDaoRecordset::CanAppend()const \n6085 int CDaoRecordset::CanBookmark()\n6086 void CDaoRecordset::CancelUpdate()\n6087 int CDaoRecordset::CanRestart()\n6088 int CDaoRecordset::CanScroll()const \n6089 int CDaoDatabase::CanTransact()\n6090 int CDaoRecordset::CanTransact()\n6091 int CDaoDatabase::CanUpdate()\n6092 int CDaoQueryDef::CanUpdate()\n6093 int CDaoRecordset::CanUpdate()const \n6094 int CDaoTableDef::CanUpdate()\n6095 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6096 CRuntimeconst CDaoException::classCDaoException\n6097 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6098 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6099 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6100 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6101 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6102 CRuntimeconst CDatabase::classCDatabase\n6103 CRuntimeconst CDBException::classCDBException\n6104 CRuntimeconst CLongBinary::classCLongBinary\n6105 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6106 CRuntimeconst CRecordset::classCRecordset\n6107 CRuntimeconst CRecordView::classCRecordView\n6108 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6109 void CDaoRecordset::ClearFieldStatusFlags()\n6110 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6111 void CDaoDatabase::Close()\n6112 void CDaoQueryDef::Close()\n6113 void CDaoRecordset::Close()\n6114 void CDaoTableDef::Close()\n6115 void CDaoWorkspace::Close()\n6116 void CDaoWorkspace::CommitTrans()\n6117 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n6118 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n6119 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6120 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6121 void CDaoDatabase::Create(char const *,char const *,int)\n6122 void CDaoQueryDef::Create(char const *,char const *)\n6123 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n6124 void CDaoWorkspace::Create(char const *,char const *,char const *)\n6125 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6126 void CDaoTableDef::CreateField(char const *,short,long,long)\n6127 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6128 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6129 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n6130 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6131 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6132 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6133 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6134 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6135 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6136 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6137 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6138 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6139 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6140 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6141 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6142 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6143 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6144 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6145 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6146 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6147 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6148 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6149 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6150 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n6151 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n6152 void CDaoRecordset::Delete()\n6153 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6154 void CDaoTableDef::DeleteField(int)\n6155 void CDaoTableDef::DeleteField(char const *)\n6156 void CDaoTableDef::DeleteIndex(int)\n6157 void CDaoTableDef::DeleteIndex(char const *)\n6158 void CDaoDatabase::DeleteQueryDef(char const *)\n6159 void CDaoDatabase::DeleteRelation(char const *)\n6160 void CDaoDatabase::DeleteTableDef(char const *)\n6161 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n6162 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n6163 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n6164 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n6165 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n6166 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n6167 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n6168 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n6169 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n6170 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n6171 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n6172 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6173 void CDaoRecordset::Edit()\n6174 void CDaoDatabase::Execute(char const *,int)\n6175 void CDaoQueryDef::Execute(int)\n6176 void CDaoRecordset::FillCache(long *,COleVariant *)\n6177 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6178 void CDaoException::FillErrorInfo()\n6179 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6180 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6181 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6182 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6183 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6184 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6185 int CDaoRecordset::Find(long,char const *)\n6186 int CDaoRecordset::FindFirst(char const *)\n6187 int CDaoRecordset::FindLast(char const *)\n6188 int CDaoRecordset::FindNext(char const *)\n6189 int CDaoRecordset::FindPrev(char const *)\n6190 void CDaoRecordset::Fixup()\n6191 void CDaoRecordset::FreeCache()\n6192 long CDaoRecordset::GetAbsolutePosition()\n6193 long CDaoTableDef::GetAttributes()\n6194 COleVariant CDaoRecordset::GetBookmark()\n6195 long CDaoRecordset::GetCacheSize()\n6196 COleVariant CDaoRecordset::GetCacheStart()\n6197 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6198 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n6199 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n6200 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n6201 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n6202 void CDaoRecordset::GetDataAndFixupNulls()\n6203 short CDaoWorkspace::GetDatabaseCount()\n6204 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6205 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n6206 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6207 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6208 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6209 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6210 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6211 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6212 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n6213 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n6214 short CDaoRecordset::GetEditMode()\n6215 short CDaoException::GetErrorCount()\n6216 void CDaoException::GetErrorInfo(int)\n6217 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)\n6218 short CDaoQueryDef::GetFieldCount()\n6219 short CDaoRecordset::GetFieldCount()\n6220 short CDaoTableDef::GetFieldCount()\n6221 int CDaoRecordset::GetFieldIndex(void *)\n6222 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6223 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6224 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6225 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6226 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6227 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6228 unsigned long CDaoRecordset::GetFieldLength(int)\n6229 COleVariant CDaoRecordset::GetFieldValue(int)\n6230 COleVariant CDaoRecordset::GetFieldValue(char const *)\n6231 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6232 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n6233 short CDaoRecordset::GetIndexCount()\n6234 short CDaoTableDef::GetIndexCount()\n6235 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6236 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6237 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6238 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6239 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n6240 int CDaoWorkspace::GetIsolateODBCTrans()\n6241 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6242 int CDaoRecordset::GetLockingMode()\n6243 short CDaoWorkspace::GetLoginTimeout()\n6244 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6245 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n6246 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n6247 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n6248 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n6249 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n6250 short CDaoQueryDef::GetODBCTimeout()\n6251 short CDaoQueryDef::GetParameterCount()\n6252 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6253 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n6254 COleVariant CDaoQueryDef::GetParamValue(int)\n6255 COleVariant CDaoQueryDef::GetParamValue(char const *)\n6256 COleVariant CDaoRecordset::GetParamValue(int)\n6257 COleVariant CDaoRecordset::GetParamValue(char const *)\n6258 float CDaoRecordset::GetPercentPosition()\n6259 short CDaoDatabase::GetQueryDefCount()\n6260 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6261 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n6262 short CDaoDatabase::GetQueryTimeout()\n6263 long CDaoRecordset::GetRecordCount()\n6264 long CDaoTableDef::GetRecordCount()\n6265 long CDaoDatabase::GetRecordsAffected()\n6266 long CDaoQueryDef::GetRecordsAffected()\n6267 short CDaoDatabase::GetRelationCount()\n6268 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6269 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n6270 int CDaoQueryDef::GetReturnsRecords()\n6271 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6272 CRuntime* CDaoException::GetRuntimeClass()const \n6273 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6274 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6275 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6276 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6277 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6278 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n6279 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n6280 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n6281 short CDaoDatabase::GetTableDefCount()\n6282 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6283 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n6284 CRuntime* CDaoDatabase::GetThisClass()\n6285 CRuntime* CDaoException::GetThisClass()\n6286 CRuntime* CDaoQueryDef::GetThisClass()\n6287 CRuntime* CDaoRecordset::GetThisClass()\n6288 CRuntime* CDaoRecordView::GetThisClass()\n6289 CRuntime* CDaoTableDef::GetThisClass()\n6290 CRuntime* CDaoWorkspace::GetThisClass()\n6291 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6292 short CDaoQueryDef::GetType()\n6293 short CDaoRecordset::GetType()\n6294 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n6295 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n6296 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n6297 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n6298 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n6299 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n6300 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n6301 short CDaoWorkspace::GetWorkspaceCount()\n6302 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6303 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n6304 void CDaoWorkspace::Idle(int)\n6305 void CDaoWorkspace::InitDatabasesCollection()\n6306 void CDaoException::InitErrorsCollection()\n6307 void CDaoQueryDef::InitFieldsCollection()\n6308 void CDaoRecordset::InitFieldsCollection()\n6309 void CDaoTableDef::InitFieldsCollection()\n6310 void CDaoWorkspace::InitializeEngine()\n6311 void CDaoRecordset::InitIndexesCollection()\n6312 void CDaoTableDef::InitIndexesCollection()\n6313 void CDaoQueryDef::InitParametersCollection()\n6314 void CDaoDatabase::InitQueryDefsCollection()\n6315 void CDaoDatabase::InitRelationsCollection()\n6316 void CDaoDatabase::InitTableDefsCollection()\n6317 void CDaoDatabase::InitWorkspace()\n6318 void CDaoWorkspace::InitWorkspacesCollection()\n6319 int CDaoRecordset::IsBOF()const \n6320 int CDaoRecordset::IsDeleted()const \n6321 int CDaoRecordset::IsEOF()const \n6322 int CDaoRecordset::IsFieldDirty(void *)\n6323 int CDaoRecordset::IsFieldNull(void *)\n6324 int CDaoRecordset::IsFieldNullable(void *)\n6325 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6326 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6327 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6328 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6329 int CDaoRecordset::IsMatch()\n6330 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6331 int CDaoRecordView::IsOnFirstRecord()\n6332 int CDaoRecordView::IsOnLastRecord()\n6333 int CDaoFieldExchange::IsValidOperation()\n6334 void CDaoRecordset::LoadFields()\n6335 void CDaoRecordset::MarkForAddNew()\n6336 void CDaoRecordset::MarkForEdit()\n6337 AFX_MSGMAP const CDaoRecordView::messageMap\n6338 AFX_MSGMAP const COleDBRecordView::messageMap\n6339 AFX_MSGMAP const CRecordView::messageMap\n6340 void CDaoRecordset::Move(long)\n6341 void CDaoRecordset::MoveFirst()\n6342 void CDaoRecordset::MoveLast()\n6343 void CDaoRecordset::MoveNext()\n6344 void CDaoRecordset::MovePrev()\n6345 void CDaoRecordView::OnInitialUpdate()\n6346 int CDaoRecordView::OnMove(unsigned int)\n6347 void CDaoDatabase::Open(char const *,int,int,char const *)\n6348 void CDaoQueryDef::Open(char const *)\n6349 void CDaoRecordset::Open(int,char const *,int)\n6350 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6351 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6352 void CDaoTableDef::Open(char const *)\n6353 void CDaoWorkspace::Open(char const *)\n6354 void CDaoTableDef::RefreshLink()\n6355 void CDaoWorkspace::RepairDatabase(char const *)\n6356 void CDaoRecordset::Requery()\n6357 void CDaoWorkspace::Rollback()\n6358 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n6359 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n6360 void CDaoRecordset::SetAbsolutePosition(long)\n6361 void CDaoTableDef::SetAttributes(long)\n6362 void CDaoRecordset::SetBookmark(COleVariant)\n6363 void CDaoRecordset::SetCacheSize(long)\n6364 void CDaoRecordset::SetCacheStart(COleVariant)\n6365 void CDaoQueryDef::SetConnect(char const *)\n6366 void CDaoTableDef::SetConnect(char const *)\n6367 void CDaoRecordset::SetCurrentIndex(char const *)\n6368 void CDaoRecordset::SetCursorAttributes()\n6369 void CDaoWorkspace::SetDefaultPassword(char const *)\n6370 void CDaoWorkspace::SetDefaultUser(char const *)\n6371 void CDaoRecordset::SetDirtyFields()\n6372 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6373 void CDaoRecordset::SetFieldDirty(void *,int)\n6374 void CDaoRecordset::SetFieldNull(void *,int)\n6375 void CDaoRecordset::SetFieldValue(int,char const *)\n6376 void CDaoRecordset::SetFieldValue(char const *,char const *)\n6377 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6378 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n6379 void CDaoRecordset::SetFieldValueNull(int)\n6380 void CDaoRecordset::SetFieldValueNull(char const *)\n6381 void CDaoWorkspace::SetIniPath(char const *)\n6382 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6383 void CDaoRecordset::SetLockingMode(int)\n6384 void CDaoWorkspace::SetLoginTimeout(short)\n6385 void CDaoQueryDef::SetName(char const *)\n6386 void CDaoTableDef::SetName(char const *)\n6387 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6388 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6389 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6390 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6391 void CDaoQueryDef::SetODBCTimeout(short)\n6392 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6393 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n6394 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6395 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n6396 void CDaoQueryDef::SetParamValueNull(int)\n6397 void CDaoQueryDef::SetParamValueNull(char const *)\n6398 void CDaoRecordset::SetParamValueNull(int)\n6399 void CDaoRecordset::SetParamValueNull(char const *)\n6400 void CDaoRecordset::SetPercentPosition(float)\n6401 void CDaoDatabase::SetQueryTimeout(short)\n6402 void CDaoQueryDef::SetReturnsRecords(int)\n6403 void CDaoTableDef::SetSourceTableName(char const *)\n6404 void CDaoQueryDef::SetSQL(char const *)\n6405 void CDaoTableDef::SetValidationRule(char const *)\n6406 void CDaoTableDef::SetValidationText(char const *)\n6407 void CDaoRecordset::StoreFields()\n6408 void CDaoRecordset::StripBrackets(char const *,char *)\n6409 void CDaoDatabase::ThrowDaoException(int)\n6410 void CDaoQueryDef::ThrowDaoException(int)\n6411 void CDaoRecordset::ThrowDaoException(int)\n6412 void CDaoTableDef::ThrowDaoException(int)\n6413 void CDaoWorkspace::ThrowDaoException(int)\n6414 void ThrowGetRowsDaoException(long)\n6415 void CDaoRecordset::Update()\n6416 _AFX_DAO_STATE * AfxGetDaoState()\n6417 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6418 _AFX_DAO_STATE::_AFX_DAO_STATE()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc70d.def",
    "content": "256 COleCurrency const & COleCurrency::operator/=(long)\n257 void * operator new[](unsigned int)\n258 void * operator new[](unsigned int,int,char const *,int)\n259 void * operator new[](unsigned int,char const *,int)\n260 void operator delete[](void *)\n261 void operator delete[](void *,int,char const *,int)\n262 void operator delete[](void *,char const *,int)\n263 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n264 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n265 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n266 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n267 _AFX_OLE_STATE::_AFX_OLE_STATE()\n268 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n269 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n270 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n271 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n272 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n273 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n274 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n275 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n276 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n277 CAnimateCtrl::CAnimateCtrl()\n278 CArchive::CArchive(CArchive const &)\n279 CArchive::CArchive(CFile *,unsigned int,int,void *)\n280 CArchiveException::CArchiveException(int,char const *)\n281 CArchivePropExchange::CArchivePropExchange(CArchive &)\n282 CArchiveStream::CArchiveStream(CArchive *)\n283 CAsyncMonikerFile::CAsyncMonikerFile()\n284 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n285 CAsyncSocket::CAsyncSocket()\n286 CBitmap::CBitmap()\n287 CBitmapButton::CBitmapButton()\n288 CBlobProperty::CBlobProperty(void *)\n289 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n290 CBrush::CBrush(int,unsigned long)\n291 CBrush::CBrush(unsigned long)\n292 CBrush::CBrush(CBitmap *)\n293 CBrush::CBrush()\n294 CButton::CButton()\n295 CByteArray::CByteArray()\n296 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n297 CCachedDataPathProperty::CCachedDataPathProperty(char const *,COleControl *)\n298 CCheckListBox::CCheckListBox()\n299 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n300 CClientDC::CClientDC(CWnd *)\n301 CCmdTarget::CCmdTarget()\n302 CCmdUI::CCmdUI()\n303 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n304 CComboBox::CComboBox()\n305 CComboBoxEx::CComboBoxEx()\n306 CCommandLineInfo::CCommandLineInfo()\n307 CCommonDialog::CCommonDialog(CWnd *)\n308 CConnectionPoint::CConnectionPoint()\n309 CControlBar::CControlBar()\n310 CControlBarInfo::CControlBarInfo()\n311 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n312 CControlFrameWnd::CControlFrameWnd(COleControl *)\n313 CCreateContext::CCreateContext()\n314 CCriticalSection::CCriticalSection()\n315 CCtrlView::CCtrlView(char const *,unsigned long)\n316 CDatabase::CDatabase()\n317 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n318 CDataExchange::CDataExchange(CWnd *,int)\n319 CDataPathProperty::CDataPathProperty(COleControl *)\n320 CDataPathProperty::CDataPathProperty(char const *,COleControl *)\n321 CDataSourceControl::CDataSourceControl(COleControlSite *)\n322 CDateTimeCtrl::CDateTimeCtrl()\n323 CDBException::CDBException(short)\n324 CDBVariant::CDBVariant()\n325 CDC::CDC()\n326 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n327 CDHtmlControlSink::CDHtmlControlSink()\n328 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n329 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n330 CDHtmlDialog::CDHtmlDialog()\n331 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n332 CDialog::CDialog(unsigned int,CWnd *)\n333 CDialog::CDialog(char const *,CWnd *)\n334 CDialog::CDialog()\n335 CDialogBar::CDialogBar()\n336 CDialogTemplate::CDialogTemplate(void *)\n337 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n338 CDocItem::CDocItem()\n339 CDockBar::CDockBar(int)\n340 CDockContext::CDockContext(CControlBar *)\n341 CDockState::CDockState()\n342 CDocManager::CDocManager()\n343 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n344 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n345 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n346 CDocument::CDocument()\n347 CDragListBox::CDragListBox()\n348 CDumpContext::CDumpContext(CDumpContext const &)\n349 CDumpContext::CDumpContext(CFile *)\n350 CDWordArray::CDWordArray()\n351 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n352 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n353 CEdit::CEdit()\n354 CEditView::CEditView()\n355 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n356 CEnumConnections::CEnumConnections(void const *,unsigned int)\n357 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n358 CEnumFormatEtc::CEnumFormatEtc()\n359 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n360 CException::CException(int)\n361 CException::CException()\n362 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n363 CFile::CFile(void *)\n364 CFile::CFile(char const *,unsigned int)\n365 CFile::CFile()\n366 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n367 CFileException::CFileException(int,long,char const *)\n368 CFileFind::CFileFind()\n369 CFindReplaceDialog::CFindReplaceDialog()\n370 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n371 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n372 CFont::CFont()\n373 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n374 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n375 CFontHolder::CFontHolder(IPropertyNotifySink *)\n376 CFormView::CFormView(unsigned int)\n377 CFormView::CFormView(char const *)\n378 CFrameWnd::CFrameWnd()\n379 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n380 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n381 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n382 CGdiObject::CGdiObject()\n383 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n384 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n385 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n386 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n387 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n388 CGopherLocator::CGopherLocator(char const *,unsigned long)\n389 CGopherLocator::CGopherLocator(CGopherLocator const &)\n390 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n391 CHeaderCtrl::CHeaderCtrl()\n392 CHotKeyCtrl::CHotKeyCtrl()\n393 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n394 CHtmlEditCtrl::CHtmlEditCtrl()\n395 CHtmlEditDoc::CHtmlEditDoc()\n396 CHtmlEditView::CHtmlEditView()\n397 CHtmlView::CHtmlView()\n398 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n399 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n400 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n401 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n402 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n403 CImageList::CImageList()\n404 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n405 CInternetException::CInternetException(unsigned long)\n406 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n407 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n408 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n409 CIPAddressCtrl::CIPAddressCtrl()\n410 CListBox::CListBox()\n411 CListCtrl::CListCtrl()\n412 CListView::CListView()\n413 CLongBinary::CLongBinary()\n414 CMapPtrToPtr::CMapPtrToPtr(int)\n415 CMapPtrToWord::CMapPtrToWord(int)\n416 CMapStringToOb::CMapStringToOb(int)\n417 CMapStringToPtr::CMapStringToPtr(int)\n418 CMapStringToString::CMapStringToString(int)\n419 CMapWordToOb::CMapWordToOb(int)\n420 CMapWordToPtr::CMapWordToPtr(int)\n421 CMDIChildWnd::CMDIChildWnd()\n422 CMDIFrameWnd::CMDIFrameWnd()\n423 CMemFile::CMemFile(unsigned int)\n424 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n425 CMemoryException::CMemoryException(int,unsigned int)\n426 CMemoryException::CMemoryException()\n427 CMemoryState::CMemoryState()\n428 CMenu::CMenu()\n429 CMetaFileDC::CMetaFileDC()\n430 CMiniDockFrameWnd::CMiniDockFrameWnd()\n431 CMiniFrameWnd::CMiniFrameWnd()\n432 CMonikerFile::CMonikerFile()\n433 CMonthCalCtrl::CMonthCalCtrl()\n434 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n435 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n436 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n437 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n438 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n439 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n440 CNotSupportedException::CNotSupportedException(int,unsigned int)\n441 CNotSupportedException::CNotSupportedException()\n442 CObArray::CObArray()\n443 CObject::CObject()\n444 CObList::CObList(int)\n445 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n446 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n447 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n448 COleClientItem::COleClientItem(COleDocument *)\n449 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n450 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n451 COleControl::COleControl()\n452 COleControlContainer::COleControlContainer(CWnd *)\n453 COleControlLock::COleControlLock(_GUID const &)\n454 COleControlSite::COleControlSite(COleControlContainer *)\n455 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n456 COleCurrency::COleCurrency(tagVARIANT const &)\n457 COleCurrency::COleCurrency(COleCurrency const &)\n458 COleCurrency::COleCurrency(long,long)\n459 COleCurrency::COleCurrency(union tagCY)\n460 COleCurrency::COleCurrency()\n461 COleDataObject::COleDataObject()\n462 COleDataSource::COleDataSource()\n463 COleDialog::COleDialog(CWnd *)\n464 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n465 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n466 COleDispatchDriver::COleDispatchDriver()\n467 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n468 COleDocIPFrameWnd::COleDocIPFrameWnd()\n469 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n470 COleDocument::COleDocument()\n471 COleDropSource::COleDropSource()\n472 COleDropTarget::COleDropTarget()\n473 COleException::COleException()\n474 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n475 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n476 COleIPFrameWnd::COleIPFrameWnd()\n477 COleLinkingDoc::COleLinkingDoc()\n478 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n479 COleMessageFilter::COleMessageFilter()\n480 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n481 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n482 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n483 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n484 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n485 COleResizeBar::COleResizeBar()\n486 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n487 COleSafeArray::COleSafeArray(tagVARIANT const &)\n488 COleSafeArray::COleSafeArray(COleSafeArray const &)\n489 COleSafeArray::COleSafeArray(COleVariant const &)\n490 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n491 COleSafeArray::COleSafeArray(tagVARIANT const *)\n492 COleSafeArray::COleSafeArray()\n493 COleServerDoc::COleServerDoc()\n494 COleServerItem::COleServerItem(COleServerDoc *,int)\n495 COleStreamFile::COleStreamFile(IStream *)\n496 COleTemplateServer::COleTemplateServer()\n497 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n498 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n499 COleVariant::COleVariant(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n500 COleVariant::COleVariant(tagVARIANT const &)\n501 COleVariant::COleVariant(COleVariant const &)\n502 COleVariant::COleVariant(CByteArray const &)\n503 COleVariant::COleVariant(CLongBinary const &)\n504 COleVariant::COleVariant(COleCurrency const &)\n505 COleVariant::COleVariant(ATL::COleDateTime const &)\n506 COleVariant::COleVariant(unsigned char)\n507 COleVariant::COleVariant(short,unsigned short)\n508 COleVariant::COleVariant(long,unsigned short)\n509 COleVariant::COleVariant(float)\n510 COleVariant::COleVariant(double)\n511 COleVariant::COleVariant(char const *)\n512 COleVariant::COleVariant(char const *,unsigned short)\n513 COleVariant::COleVariant(_ITEMIDLIST const *)\n514 COleVariant::COleVariant(tagVARIANT const *)\n515 COleVariant::COleVariant()\n516 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n517 CPaintDC::CPaintDC(CWnd *)\n518 CPalette::CPalette()\n519 CPen::CPen(int,int,unsigned long)\n520 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n521 CPen::CPen()\n522 CPictureHolder::CPictureHolder()\n523 CPreviewDC::CPreviewDC()\n524 CPreviewView::CPreviewView()\n525 CPrintDialog::CPrintDialog(tagPDA &)\n526 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n527 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n528 CPrintInfo::CPrintInfo()\n529 CPrintPreviewState::CPrintPreviewState()\n530 CProgressCtrl::CProgressCtrl()\n531 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n532 CProperty::CProperty(unsigned long,void * const,unsigned long)\n533 CProperty::CProperty()\n534 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n535 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n536 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n537 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n538 CPropertyPage::CPropertyPage()\n539 CPropertySection::CPropertySection(_GUID)\n540 CPropertySection::CPropertySection()\n541 CPropertySet::CPropertySet(_GUID)\n542 CPropertySet::CPropertySet()\n543 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n544 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n545 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n546 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n547 CPropertySheet::CPropertySheet()\n548 CPropExchange::CPropExchange()\n549 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n550 CPtrArray::CPtrArray()\n551 CPtrList::CPtrList(int)\n552 CReBar::CReBar()\n553 CReBarCtrl::CReBarCtrl()\n554 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n555 CRecordset::CRecordset(CDatabase *)\n556 CRecordView::CRecordView(unsigned int)\n557 CRecordView::CRecordView(char const *)\n558 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n559 CRectTracker::CRectTracker()\n560 CReObject::CReObject(CRichEditCntrItem *)\n561 CReObject::CReObject()\n562 CResetPropExchange::CResetPropExchange()\n563 CResourceException::CResourceException(int,unsigned int)\n564 CResourceException::CResourceException()\n565 CRgn::CRgn()\n566 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n567 CRichEditCtrl::CRichEditCtrl()\n568 CRichEditDoc::CRichEditDoc()\n569 CRichEditView::CRichEditView()\n570 CScrollBar::CScrollBar()\n571 CScrollView::CScrollView()\n572 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n573 CSharedFile::CSharedFile(unsigned int,unsigned int)\n574 CSimpleException::CSimpleException(int)\n575 CSimpleException::CSimpleException()\n576 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n577 CSingleLock::CSingleLock(CSyncObject *,int)\n578 CSliderCtrl::CSliderCtrl()\n579 CSocket::CSocket()\n580 CSocketFile::CSocketFile(CSocket *,int)\n581 CSocketWnd::CSocketWnd()\n582 CSpinButtonCtrl::CSpinButtonCtrl()\n583 CSplitterWnd::CSplitterWnd()\n584 CStatic::CStatic()\n585 CStatusBar::CStatusBar()\n586 CStatusBarCtrl::CStatusBarCtrl()\n587 CStdioFile::CStdioFile(_iobuf *)\n588 CStdioFile::CStdioFile(char const *,unsigned int)\n589 CStdioFile::CStdioFile()\n590 CStringArray::CStringArray()\n591 CStringList::CStringList(int)\n592 CSyncObject::CSyncObject(char const *)\n593 CTabCtrl::CTabCtrl()\n594 CTestCmdUI::CTestCmdUI()\n595 CThreadSlotData::CThreadSlotData()\n596 CToolBar::CToolBar()\n597 CToolBarCtrl::CToolBarCtrl()\n598 CToolTipCtrl::CToolTipCtrl()\n599 CTreeCtrl::CTreeCtrl()\n600 CTreeView::CTreeView()\n601 CUIntArray::CUIntArray()\n602 CUserException::CUserException(int,unsigned int)\n603 CUserException::CUserException()\n604 CView::CView()\n605 CWaitCursor::CWaitCursor()\n606 CWinApp::CWinApp(char const *)\n607 CWindowDC::CWindowDC(CWnd *)\n608 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n609 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n610 CWinThread::CWinThread()\n611 CWnd::CWnd(HWND__ *)\n612 CWnd::CWnd()\n613 CWordArray::CWordArray()\n614 CPreviewView::PAGE_INFO::PAGE_INFO()\n615 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n616 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n617 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n618 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n619 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n620 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n621 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n622 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n623 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n624 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n625 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n626 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n627 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n628 CAnimateCtrl::~CAnimateCtrl()\n629 CArchive::~CArchive()\n630 CArchiveException::~CArchiveException()\n631 CAsyncMonikerFile::~CAsyncMonikerFile()\n632 CAsyncSocket::~CAsyncSocket()\n633 CBitmap::~CBitmap()\n634 CBrush::~CBrush()\n635 CButton::~CButton()\n636 CByteArray::~CByteArray()\n637 CClientDC::~CClientDC()\n638 CCmdTarget::~CCmdTarget()\n639 CComboBox::~CComboBox()\n640 CComboBoxEx::~CComboBoxEx()\n641 CCommandLineInfo::~CCommandLineInfo()\n642 CConnectionPoint::~CConnectionPoint()\n643 CControlBar::~CControlBar()\n644 CCriticalSection::~CCriticalSection()\n645 CCtrlView::~CCtrlView()\n646 CDatabase::~CDatabase()\n647 CDataSourceControl::~CDataSourceControl()\n648 CDateTimeCtrl::~CDateTimeCtrl()\n649 CDBException::~CDBException()\n650 CDBVariant::~CDBVariant()\n651 CDC::~CDC()\n652 CDHtmlControlSink::~CDHtmlControlSink()\n653 CDHtmlDialog::~CDHtmlDialog()\n654 CDialog::~CDialog()\n655 CDialogBar::~CDialogBar()\n656 CDialogTemplate::~CDialogTemplate()\n657 CDocItem::~CDocItem()\n658 CDockBar::~CDockBar()\n659 CDockContext::~CDockContext()\n660 CDockState::~CDockState()\n661 CDocManager::~CDocManager()\n662 CDocObjectServer::~CDocObjectServer()\n663 CDocObjectServerItem::~CDocObjectServerItem()\n664 CDocTemplate::~CDocTemplate()\n665 CDocument::~CDocument()\n666 CDragListBox::~CDragListBox()\n667 CDWordArray::~CDWordArray()\n668 CDynLinkLibrary::~CDynLinkLibrary()\n669 CEdit::~CEdit()\n670 CEditView::~CEditView()\n671 CEnumArray::~CEnumArray()\n672 CEnumConnections::~CEnumConnections()\n673 CEnumConnPoints::~CEnumConnPoints()\n674 CEnumFormatEtc::~CEnumFormatEtc()\n675 CEnumOleVerb::~CEnumOleVerb()\n676 CEnumUnknown::~CEnumUnknown()\n677 CEvent::~CEvent()\n678 CException::~CException()\n679 CFile::~CFile()\n680 CFileDialog::~CFileDialog()\n681 CFileException::~CFileException()\n682 CFileFind::~CFileFind()\n683 CFixedAlloc::~CFixedAlloc()\n684 CFixedAllocNoSync::~CFixedAllocNoSync()\n685 CFont::~CFont()\n686 CFontHolder::~CFontHolder()\n687 CFrameWnd::~CFrameWnd()\n688 CFtpConnection::~CFtpConnection()\n689 CFtpFileFind::~CFtpFileFind()\n690 CGdiObject::~CGdiObject()\n691 CGopherConnection::~CGopherConnection()\n692 CGopherFile::~CGopherFile()\n693 CGopherFileFind::~CGopherFileFind()\n694 CGopherLocator::~CGopherLocator()\n695 CHeaderCtrl::~CHeaderCtrl()\n696 CHotKeyCtrl::~CHotKeyCtrl()\n697 CHtmlControlSite::~CHtmlControlSite()\n698 CHtmlEditCtrl::~CHtmlEditCtrl()\n699 CHtmlEditDoc::~CHtmlEditDoc()\n700 CHtmlEditView::~CHtmlEditView()\n701 CHtmlView::~CHtmlView()\n702 CHttpConnection::~CHttpConnection()\n703 CHttpFile::~CHttpFile()\n704 CImageList::~CImageList()\n705 CInternetConnection::~CInternetConnection()\n706 CInternetException::~CInternetException()\n707 CInternetFile::~CInternetFile()\n708 CInternetSession::~CInternetSession()\n709 CIPAddressCtrl::~CIPAddressCtrl()\n710 CListBox::~CListBox()\n711 CListCtrl::~CListCtrl()\n712 CLongBinary::~CLongBinary()\n713 CMapPtrToPtr::~CMapPtrToPtr()\n714 CMapPtrToWord::~CMapPtrToWord()\n715 CMapStringToOb::~CMapStringToOb()\n716 CMapStringToPtr::~CMapStringToPtr()\n717 CMapStringToString::~CMapStringToString()\n718 CMapWordToOb::~CMapWordToOb()\n719 CMapWordToPtr::~CMapWordToPtr()\n720 CMemFile::~CMemFile()\n721 CMemoryException::~CMemoryException()\n722 CMenu::~CMenu()\n723 CMetaFileDC::~CMetaFileDC()\n724 CMiniFrameWnd::~CMiniFrameWnd()\n725 CMonikerFile::~CMonikerFile()\n726 CMonthCalCtrl::~CMonthCalCtrl()\n727 CMultiDocTemplate::~CMultiDocTemplate()\n728 CMultiLock::~CMultiLock()\n729 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n730 CMutex::~CMutex()\n731 CNotSupportedException::~CNotSupportedException()\n732 CObArray::~CObArray()\n733 CObject::~CObject()\n734 CObList::~CObList()\n735 COleBusyDialog::~COleBusyDialog()\n736 COleChangeIconDialog::~COleChangeIconDialog()\n737 COleChangeSourceDialog::~COleChangeSourceDialog()\n738 COleClientItem::~COleClientItem()\n739 COleCntrFrameWnd::~COleCntrFrameWnd()\n740 COleControl::~COleControl()\n741 COleControlContainer::~COleControlContainer()\n742 COleControlLock::~COleControlLock()\n743 COleControlSite::~COleControlSite()\n744 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n745 COleConvertDialog::~COleConvertDialog()\n746 COleDataObject::~COleDataObject()\n747 COleDataSource::~COleDataSource()\n748 COleDispatchDriver::~COleDispatchDriver()\n749 COleDispatchException::~COleDispatchException()\n750 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n751 COleDocObjectItem::~COleDocObjectItem()\n752 COleDocument::~COleDocument()\n753 COleDropTarget::~COleDropTarget()\n754 COleException::~COleException()\n755 COleFrameHook::~COleFrameHook()\n756 COleInsertDialog::~COleInsertDialog()\n757 COleIPFrameWnd::~COleIPFrameWnd()\n758 COleLinkingDoc::~COleLinkingDoc()\n759 COleLinksDialog::~COleLinksDialog()\n760 COleMessageFilter::~COleMessageFilter()\n761 COleObjectFactory::~COleObjectFactory()\n762 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n763 COlePropertyPage::~COlePropertyPage()\n764 COleResizeBar::~COleResizeBar()\n765 COleSafeArray::~COleSafeArray()\n766 COleServerDoc::~COleServerDoc()\n767 COleServerItem::~COleServerItem()\n768 COleStreamFile::~COleStreamFile()\n769 COleUpdateDialog::~COleUpdateDialog()\n770 COleVariant::~COleVariant()\n771 CPaintDC::~CPaintDC()\n772 CPalette::~CPalette()\n773 CPen::~CPen()\n774 CPictureHolder::~CPictureHolder()\n775 CPreviewDC::~CPreviewDC()\n776 CPreviewView::~CPreviewView()\n777 CPrintInfo::~CPrintInfo()\n778 CProcessLocalObject::~CProcessLocalObject()\n779 CProgressCtrl::~CProgressCtrl()\n780 CPropbagPropExchange::~CPropbagPropExchange()\n781 CProperty::~CProperty()\n782 CPropertyPage::~CPropertyPage()\n783 CPropertySection::~CPropertySection()\n784 CPropertySet::~CPropertySet()\n785 CPropertySheet::~CPropertySheet()\n786 CPtrArray::~CPtrArray()\n787 CPtrList::~CPtrList()\n788 CRecentFileList::~CRecentFileList()\n789 CRecordset::~CRecordset()\n790 CRecordView::~CRecordView()\n791 CRectTracker::~CRectTracker()\n792 CReObject::~CReObject()\n793 CResourceException::~CResourceException()\n794 CRgn::~CRgn()\n795 CRichEditCntrItem::~CRichEditCntrItem()\n796 CRichEditCtrl::~CRichEditCtrl()\n797 CScrollBar::~CScrollBar()\n798 CScrollView::~CScrollView()\n799 CSemaphore::~CSemaphore()\n800 CSharedFile::~CSharedFile()\n801 CSimpleException::~CSimpleException()\n802 CSingleDocTemplate::~CSingleDocTemplate()\n803 CSingleLock::~CSingleLock()\n804 CSliderCtrl::~CSliderCtrl()\n805 CSocket::~CSocket()\n806 CSocketFile::~CSocketFile()\n807 CSpinButtonCtrl::~CSpinButtonCtrl()\n808 CSplitterWnd::~CSplitterWnd()\n809 CStatic::~CStatic()\n810 CStatusBar::~CStatusBar()\n811 CStatusBarCtrl::~CStatusBarCtrl()\n812 CStdioFile::~CStdioFile()\n813 CStringArray::~CStringArray()\n814 CStringList::~CStringList()\n815 CSyncObject::~CSyncObject()\n816 CTabCtrl::~CTabCtrl()\n817 CThreadLocalObject::~CThreadLocalObject()\n818 CThreadSlotData::~CThreadSlotData()\n819 CToolBar::~CToolBar()\n820 CToolBarCtrl::~CToolBarCtrl()\n821 CToolTipCtrl::~CToolTipCtrl()\n822 CTreeCtrl::~CTreeCtrl()\n823 CUIntArray::~CUIntArray()\n824 CUserException::~CUserException()\n825 CView::~CView()\n826 CWaitCursor::~CWaitCursor()\n827 CWinApp::~CWinApp()\n828 CWindowDC::~CWindowDC()\n829 CWinThread::~CWinThread()\n830 CWnd::~CWnd()\n831 CWordArray::~CWordArray()\n832 void * operator new(unsigned int)\n833 void * operator new(unsigned int,int,char const *,int)\n834 void * operator new(unsigned int,char const *,int)\n835 void * CNoTrackObject::operator new(unsigned int)\n836 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n837 void * CObject::operator new(unsigned int)\n838 void * CObject::operator new(unsigned int,void *)\n839 void * CObject::operator new(unsigned int,char const *,int)\n840 void operator delete(void *)\n841 void operator delete(void *,int,char const *,int)\n842 void operator delete(void *,char const *,int)\n843 void CException::operator delete(void *)\n844 void CException::operator delete(void *,char const *,int)\n845 void CNoTrackObject::operator delete(void *)\n846 void CNoTrackObject::operator delete(void *,char const *,int)\n847 void CObject::operator delete(void *)\n848 void CObject::operator delete(void *,void *)\n849 void CObject::operator delete(void *,char const *,int)\n850 void CArchive::operator=(CArchive const &)\n851 void CDumpContext::operator=(CDumpContext const &)\n852 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n853 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n854 COleCurrency const & COleCurrency::operator=(union tagCY)\n855 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n856 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n857 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n858 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n859 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n860 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n861 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n862 COleVariant const & COleVariant::operator=(COleVariant const &)\n863 COleVariant const & COleVariant::operator=(CByteArray const &)\n864 COleVariant const & COleVariant::operator=(CLongBinary const &)\n865 COleVariant const & COleVariant::operator=(COleCurrency const &)\n866 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n867 COleVariant const & COleVariant::operator=(unsigned char)\n868 COleVariant const & COleVariant::operator=(short)\n869 COleVariant const & COleVariant::operator=(long)\n870 COleVariant const & COleVariant::operator=(float)\n871 COleVariant const & COleVariant::operator=(double)\n872 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n873 COleVariant const & COleVariant::operator=(char const * const)\n874 CArchive & operator>>(CArchive &,CByteArray * &)\n875 CArchive & operator>>(CArchive &,CDocItem * &)\n876 CArchive & operator>>(CArchive &,CDockState * &)\n877 CArchive & operator>>(CArchive &,CDWordArray * &)\n878 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n879 CArchive & operator>>(CArchive &,CMapStringToString * &)\n880 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n881 CArchive & operator>>(CArchive &,CObArray * &)\n882 CArchive & operator>>(CArchive &,CObject * &)\n883 CArchive & operator>>(CArchive &,CObList * &)\n884 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n885 CArchive & operator>>(CArchive &,CStringArray * &)\n886 CArchive & operator>>(CArchive &,CStringList * &)\n887 CArchive & operator>>(CArchive &,CWordArray * &)\n888 CArchive & operator>>(CArchive &,CObject const * &)\n889 CArchive & operator>>(CArchive &,tagPOINT &)\n890 CArchive & operator>>(CArchive &,tagRECT &)\n891 CArchive & operator>>(CArchive &,tagSIZE &)\n892 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n893 CArchive & operator>>(CArchive &,COleCurrency &)\n894 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n895 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n896 CArchive & operator>>(CArchive &,COleVariant &)\n897 CArchive & operator>>(CArchive &,ATL::CTime &)\n898 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n899 CArchive & CArchive::operator>>(__int64 &)\n900 CArchive & CArchive::operator>>(unsigned __int64 &)\n901 CArchive & CArchive::operator>>(bool &)\n902 CArchive & CArchive::operator>>(wchar_t &)\n903 CArchive & CArchive::operator>>(char &)\n904 CArchive & CArchive::operator>>(unsigned char &)\n905 CArchive & CArchive::operator>>(short &)\n906 CArchive & CArchive::operator>>(unsigned short &)\n907 CArchive & CArchive::operator>>(int &)\n908 CArchive & CArchive::operator>>(unsigned int &)\n909 CArchive & CArchive::operator>>(long &)\n910 CArchive & CArchive::operator>>(unsigned long &)\n911 CArchive & CArchive::operator>>(float &)\n912 CArchive & CArchive::operator>>(double &)\n913 CArchive & operator<<(CArchive &,tagRECT const &)\n914 CArchive & operator<<(CArchive &,CObject const *)\n915 CArchive & operator<<(CArchive &,tagPOINT)\n916 CArchive & operator<<(CArchive &,tagSIZE)\n917 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n918 CArchive & operator<<(CArchive &,COleCurrency)\n919 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n920 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n921 CArchive & operator<<(CArchive &,COleVariant)\n922 CArchive & operator<<(CArchive &,ATL::CTime)\n923 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n924 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n925 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n926 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n927 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n928 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n929 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n930 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n931 CDumpContext & operator<<(CDumpContext &,COleVariant)\n932 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n933 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n934 CArchive & CArchive::operator<<(__int64)\n935 CArchive & CArchive::operator<<(unsigned __int64)\n936 CArchive & CArchive::operator<<(bool)\n937 CArchive & CArchive::operator<<(wchar_t)\n938 CArchive & CArchive::operator<<(char)\n939 CArchive & CArchive::operator<<(unsigned char)\n940 CArchive & CArchive::operator<<(short)\n941 CArchive & CArchive::operator<<(unsigned short)\n942 CArchive & CArchive::operator<<(int)\n943 CArchive & CArchive::operator<<(unsigned int)\n944 CArchive & CArchive::operator<<(long)\n945 CArchive & CArchive::operator<<(unsigned long)\n946 CArchive & CArchive::operator<<(float)\n947 CArchive & CArchive::operator<<(double)\n948 CDumpContext & CDumpContext::operator<<(__int64)\n949 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n950 CDumpContext & CDumpContext::operator<<(CObject const &)\n951 CDumpContext & CDumpContext::operator<<(unsigned char)\n952 CDumpContext & CDumpContext::operator<<(unsigned short)\n953 CDumpContext & CDumpContext::operator<<(int)\n954 CDumpContext & CDumpContext::operator<<(unsigned int)\n955 CDumpContext & CDumpContext::operator<<(long)\n956 CDumpContext & CDumpContext::operator<<(unsigned long)\n957 CDumpContext & CDumpContext::operator<<(float)\n958 CDumpContext & CDumpContext::operator<<(double)\n959 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n960 CDumpContext & CDumpContext::operator<<(HDC__ *)\n961 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n962 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n963 CDumpContext & CDumpContext::operator<<(HWND__ *)\n964 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n965 CDumpContext & CDumpContext::operator<<(char const *)\n966 CDumpContext & CDumpContext::operator<<(CObject const *)\n967 CDumpContext & CDumpContext::operator<<(void const *)\n968 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n969 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n970 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n971 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n972 int CGdiObject::operator==(CGdiObject const &)const \n973 int CMenu::operator==(CMenu const &)const \n974 int COleCurrency::operator==(COleCurrency const &)const \n975 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n976 int COleSafeArray::operator==(tagVARIANT const &)const \n977 int COleSafeArray::operator==(COleSafeArray const &)const \n978 int COleSafeArray::operator==(COleVariant const &)const \n979 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n980 int COleSafeArray::operator==(tagVARIANT const *)const \n981 int COleVariant::operator==(tagVARIANT const &)const \n982 int COleVariant::operator==(tagVARIANT const *)const \n983 int CWnd::operator==(CWnd const &)const \n984 int CGdiObject::operator!=(CGdiObject const &)const \n985 int CMenu::operator!=(CMenu const &)const \n986 int COleCurrency::operator!=(COleCurrency const &)const \n987 int CWnd::operator!=(CWnd const &)const \n988 unsigned char & CByteArray::operator[](int)\n989 unsigned char CByteArray::operator[](int)const \n990 unsigned long & CDWordArray::operator[](int)\n991 unsigned long CDWordArray::operator[](int)const \n992 void * & CMapPtrToPtr::operator[](void *)\n993 unsigned short & CMapPtrToWord::operator[](void *)\n994 CObject * & CMapStringToOb::operator[](char const *)\n995 void * & CMapStringToPtr::operator[](char const *)\n996 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n997 CObject * & CMapWordToOb::operator[](unsigned short)\n998 void * & CMapWordToPtr::operator[](unsigned short)\n999 CObject * & CObArray::operator[](int)\n1000 CObject * CObArray::operator[](int)const \n1001 void * & CPtrArray::operator[](int)\n1002 void * CPtrArray::operator[](int)const \n1003 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringArray::operator[](int)\n1004 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringArray::operator[](int)const \n1005 unsigned int & CUIntArray::operator[](int)\n1006 unsigned int CUIntArray::operator[](int)const \n1007 unsigned short & CWordArray::operator[](int)\n1008 unsigned short CWordArray::operator[](int)const \n1009 CAsyncSocket::operator unsigned int()const \n1010 CBitmap::operator HBITMAP__ *()const \n1011 CBrush::operator HBRUSH__ *()const \n1012 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1013 CDC::operator HDC__ *()const \n1014 CFile::operator void *()const \n1015 CFont::operator HFONT__ *()const \n1016 CGdiObject::operator void *()const \n1017 CGopherLocator::operator char const *()const \n1018 CImageList::operator _IMAGELIST *()const \n1019 CInternetConnection::operator void *()const \n1020 CInternetFile::operator void *()const \n1021 CInternetSession::operator void *()const \n1022 CMenu::operator HMENU__ *()const \n1023 COleCurrency::operator union tagCY()const \n1024 COleDispatchDriver::operator IDispatch *()\n1025 COleSafeArray::operator tagVARIANT *()\n1026 COleSafeArray::operator tagVARIANT const *()const \n1027 COleVariant::operator tagVARIANT *()\n1028 COleVariant::operator tagVARIANT const *()const \n1029 CPalette::operator HPALETTE__ *()const \n1030 CPen::operator HPEN__ *()const \n1031 CRgn::operator HRGN__ *()const \n1032 CSyncObject::operator void *()const \n1033 CWinThread::operator void *()const \n1034 CWnd::operator HWND__ *()const \n1035 COleCurrency COleCurrency::operator*(long)const \n1036 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1037 COleCurrency COleCurrency::operator-()const \n1038 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1039 COleCurrency COleCurrency::operator/(long)const \n1040 int COleCurrency::operator<(COleCurrency const &)const \n1041 int COleCurrency::operator<=(COleCurrency const &)const \n1042 int COleCurrency::operator>(COleCurrency const &)const \n1043 int COleCurrency::operator>=(COleCurrency const &)const \n1044 COleCurrency const & COleCurrency::operator*=(long)\n1045 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1046 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1047 int _AfxAbortProc(HDC__ *,int)\n1048 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1049 int const _afxDBCS\n1050 int _AfxDeleteRegKey(char const *)\n1051 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1052 int _AfxSocketInit(WSAData *)\n1053 void CArchive::Abort()\n1054 void CFile::Abort()\n1055 void CInternetFile::Abort()\n1056 void CMemFile::Abort()\n1057 void CMirrorFile::Abort()\n1058 void COleStreamFile::Abort()\n1059 void CSocketFile::Abort()\n1060 void CStdioFile::Abort()\n1061 int CDC::AbortDoc()\n1062 int CDC::AbortPath()\n1063 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1064 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1065 long CWnd::accDoDefaultAction(tagVARIANT)\n1066 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1067 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1068 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1069 void COleSafeArray::AccessData(void * *)\n1070 long CWnd::accHitTest(long,long,tagVARIANT *)\n1071 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1072 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1073 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1074 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1075 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1076 long CWnd::accSelect(long,tagVARIANT)\n1077 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1078 void COleClientItem::Activate(long,CView *,tagMSG *)\n1079 void CToolTipCtrl::Activate(int)\n1080 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1081 void COleDocObjectItem::ActivateAndShow()\n1082 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1083 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1084 void CDocObjectServer::ActivateDocObject()\n1085 void COleServerDoc::ActivateDocObject()\n1086 void CFrameWnd::ActivateFrame(int)\n1087 void CMDIChildWnd::ActivateFrame(int)\n1088 int COleServerDoc::ActivateInPlace()\n1089 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1090 void CSplitterWnd::ActivateNext(int)\n1091 void CWnd::ActivateTopParent()\n1092 int CByteArray::Add(unsigned char)\n1093 int CDWordArray::Add(unsigned long)\n1094 int CImageList::Add(HICON__ *)\n1095 int CImageList::Add(CBitmap *,CBitmap *)\n1096 int CImageList::Add(CBitmap *,unsigned long)\n1097 int CObArray::Add(CObject *)\n1098 int CPtrArray::Add(void *)\n1099 void CRecentFileList::Add(char const *)\n1100 int CStringArray::Add(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n1101 int CStringArray::Add(char const *)\n1102 int CUIntArray::Add(unsigned int)\n1103 int CWordArray::Add(unsigned short)\n1104 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n1105 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n1106 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1107 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1108 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1109 void COleClientItem::AddCachedData(COleDataSource *)\n1110 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1111 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1112 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1113 void CFrameWnd::AddControlBar(CControlBar *)\n1114 void CDocManager::AddDocTemplate(CDocTemplate *)\n1115 void CWinApp::AddDocTemplate(CDocTemplate *)\n1116 void CDocTemplate::AddDocument(CDocument *)\n1117 void CMultiDocTemplate::AddDocument(CDocument *)\n1118 void CSingleDocTemplate::AddDocument(CDocument *)\n1119 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1120 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n1121 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1122 void COleControl::AddFrameLevelUI()\n1123 void CFrameWnd::AddFrameWnd()\n1124 __POSITION * CObList::AddHead(CObject *)\n1125 void CObList::AddHead(CObList *)\n1126 __POSITION * CPtrList::AddHead(void *)\n1127 void CPtrList::AddHead(CPtrList *)\n1128 void CSimpleList::AddHead(void *)\n1129 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n1130 __POSITION * CStringList::AddHead(char const *)\n1131 void CStringList::AddHead(CStringList *)\n1132 void COleDocument::AddItem(CDocItem *)\n1133 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1134 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1135 void CRecordset::AddNew()\n1136 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1137 void CPropertySheet::AddPage(CPropertyPage *)\n1138 void CPropertySection::AddProperty(CProperty *)\n1139 void CPropertySet::AddProperty(_GUID,CProperty *)\n1140 unsigned long CArchiveStream::AddRef()\n1141 unsigned long CBlobProperty::AddRef()\n1142 unsigned long CBrowserControlSite::AddRef()\n1143 unsigned long CDHtmlControlSink::AddRef()\n1144 unsigned long CDHtmlElementEventSink::AddRef()\n1145 unsigned long CDHtmlEventSink::AddRef()\n1146 unsigned long CInnerUnknown::AddRef()\n1147 unsigned long COleConnPtContainer::AddRef()\n1148 unsigned long COleDispatchImpl::AddRef()\n1149 unsigned long COleUILinkInfo::AddRef()\n1150 unsigned long CPrintDialogEx::AddRef()\n1151 unsigned long CWnd::XAccessible::AddRef()\n1152 unsigned long CWnd::XAccessibleServer::AddRef()\n1153 unsigned long COleClientItem::XAdviseSink::AddRef()\n1154 unsigned long COleControlSite::XAmbientProps::AddRef()\n1155 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1156 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1157 unsigned long CConnectionPoint::XConnPt::AddRef()\n1158 unsigned long COleControl::XDataObject::AddRef()\n1159 unsigned long COleDataSource::XDataObject::AddRef()\n1160 unsigned long COleServerDoc::XDataObject::AddRef()\n1161 unsigned long COleServerItem::XDataObject::AddRef()\n1162 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1163 unsigned long COleDropSource::XDropSource::AddRef()\n1164 unsigned long COleDropTarget::XDropTarget::AddRef()\n1165 unsigned long CEnumArray::XEnumVOID::AddRef()\n1166 unsigned long COleControlSite::XEventSink::AddRef()\n1167 unsigned long COleControl::XFontNotification::AddRef()\n1168 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1169 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1170 unsigned long COleControl::XOleCache::AddRef()\n1171 unsigned long COleClientItem::XOleClientSite::AddRef()\n1172 unsigned long COleControlSite::XOleClientSite::AddRef()\n1173 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1174 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1175 unsigned long COleControlContainer::XOleContainer::AddRef()\n1176 unsigned long COleControl::XOleControl::AddRef()\n1177 unsigned long COleControlSite::XOleControlSite::AddRef()\n1178 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1179 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1180 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1181 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1182 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1183 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1184 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1185 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1186 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1187 unsigned long COleClientItem::XOleIPSite::AddRef()\n1188 unsigned long COleControlSite::XOleIPSite::AddRef()\n1189 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1190 unsigned long CDocObjectServer::XOleObject::AddRef()\n1191 unsigned long COleControl::XOleObject::AddRef()\n1192 unsigned long COleServerDoc::XOleObject::AddRef()\n1193 unsigned long COleServerItem::XOleObject::AddRef()\n1194 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1195 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1196 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1197 unsigned long COleControl::XPersistMemory::AddRef()\n1198 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1199 unsigned long COleControl::XPersistStorage::AddRef()\n1200 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1201 unsigned long COleControl::XPersistStreamInit::AddRef()\n1202 unsigned long COleControl::XPointerInactive::AddRef()\n1203 unsigned long CDocObjectServer::XPrint::AddRef()\n1204 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1205 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1206 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1207 unsigned long COleControl::XProvideClassInfo::AddRef()\n1208 unsigned long COleControl::XQuickActivate::AddRef()\n1209 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1210 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1211 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1212 unsigned long COleControl::XViewObject::AddRef()\n1213 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1214 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1215 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1216 CPropertySection * CPropertySet::AddSection(_GUID)\n1217 void CPropertySet::AddSection(CPropertySection *)\n1218 void COlePasteSpecialDialog::AddStandardFormats(int)\n1219 int CComboBox::AddString(char const *)\n1220 int CComboBoxEx::AddString(char const *)\n1221 int CListBox::AddString(char const *)\n1222 int CToolBarCtrl::AddString(unsigned int)\n1223 int CToolBarCtrl::AddStrings(char const *)\n1224 __POSITION * CObList::AddTail(CObject *)\n1225 void CObList::AddTail(CObList *)\n1226 __POSITION * CPtrList::AddTail(void *)\n1227 void CPtrList::AddTail(CPtrList *)\n1228 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n1229 __POSITION * CStringList::AddTail(char const *)\n1230 void CStringList::AddTail(CStringList *)\n1231 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1232 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1233 void CWinApp::AddToRecentFileList(char const *)\n1234 void CDocument::AddView(CView *)\n1235 void CMetaFileDC::AdjustCP(int)\n1236 void CRichEditView::AdjustDialogPosition(CDialog *)\n1237 void CRectTracker::AdjustRect(int,tagRECT *)\n1238 void CTabCtrl::AdjustRect(int,tagRECT *)\n1239 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1240 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1241 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1242 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1243 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1244 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1245 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1246 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1247 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1248 void AfxAbort()\n1249 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1254 int AfxAssertFailedLine(char const *,int)\n1255 void AfxAssertValidObject(CObject const *,char const *,int)\n1256 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1257 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1258 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1259 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1260 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1261 void AfxCancelModes(HWND__ *)\n1262 void AfxCheckError(long)\n1263 int AfxCheckMemory()\n1264 void AfxClassInit(CRuntime*)\n1265 int AfxComparePath(char const *,char const *)\n1266 int AfxCompareValueByRef(void *,void *,int)\n1267 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1268 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1269 void AfxCopyValueByRef(void *,void *,long *,int)\n1270 void AfxCoreInitModule()\n1271 HDC__ * AfxCreateDC(void *,void *)\n1272 int AfxCriticalInit()\n1273 int AfxCriticalNewHandler(unsigned int)\n1274 void AfxCriticalTerm()\n1275 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1276 AUX_DATA afxData\n1277 void AfxDeleteObject(void * *)\n1278 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n1279 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1280 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1281 int AfxDiagnosticInit()\n1282 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1283 long AfxDllCanUnloadNow()\n1284 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1285 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1286 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1287 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1288 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1289 CDumpContext afxDump\n1290 void AfxDump(CObject const *)\n1291 int AfxDumpMemoryLeaks()\n1292 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1293 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1294 void AfxEnableControlContainer(COccManager *)\n1295 int AfxEnableMemoryTracking(int)\n1296 int AfxEndDeferRegisterClass(long)\n1297 void AfxEndThread(unsigned int,int)\n1298 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1299 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1300 void AfxFailMaxChars(CDataExchange *,int)\n1301 void AfxFailRadio(CDataExchange *)\n1302 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1303 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1304 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1305 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1306 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1307 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1308 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1309 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1310 int AfxFreeLibrary(HINSTANCE__ *)\n1311 void AfxFreeMemoryDebug(void *,int)\n1312 int AfxFullPath(char *,char const *)\n1313 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1314 CWinApp * AfxGetApp()\n1315 AFX_MODULE_STATE * AfxGetAppModuleState()\n1316 char const * AfxGetAppName()\n1317 long AfxGetClassIDFromString(char const *,_GUID *)\n1318 tagMSG * AfxGetCurrentMessage()\n1319 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1320 unsigned long AfxGetDllVersion()\n1321 char const * AfxGetFacilityString(long)\n1322 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1323 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1324 char const * AfxGetFullScodeString(long)\n1325 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1326 void * AfxGetHENV()\n1327 char const * AfxGetIIDString(_GUID const &)\n1328 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1329 HINSTANCE__ * AfxGetInstanceHandle()\n1330 unsigned long AfxGetInternetHandleType(void *)\n1331 CWnd * AfxGetMainWnd()\n1332 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1333 AFX_MODULE_STATE * AfxGetModuleState()\n1334 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1335 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1336 HWND__ * AfxGetParentOwner(HWND__ *)\n1337 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1338 HINSTANCE__ * AfxGetResourceHandle()\n1339 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1340 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n1341 char const * AfxGetScodeRangeString(long)\n1342 char const * AfxGetScodeString(long)\n1343 char const * AfxGetSeverityString(long)\n1344 ATL::IAtlStringMgr * AfxGetStringManager()\n1345 CWinThread * AfxGetThread()\n1346 _AFX_THREAD_STATE * AfxGetThreadState()\n1347 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1348 void AfxGlobalFree(void *)\n1349 int AfxHelpEnabled()\n1350 void AfxHookWindowCreate(CWnd *)\n1351 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1352 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1353 void AfxInitLocalData(HINSTANCE__ *)\n1354 int AfxInitRichEdit()\n1355 void AfxInitThread()\n1356 int AfxInternalIsIdleMessage(tagMSG *)\n1357 int AfxInternalPreTranslateMessage(tagMSG *)\n1358 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1359 int AfxInternalPumpMessage()\n1360 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1361 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1362 int AfxIsDescendant(HWND__ *,HWND__ *)\n1363 int AfxIsIdleMessage(tagMSG *)\n1364 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1365 int AfxIsValidAddress(void const *,unsigned int,int)\n1366 int AfxIsValidString(wchar_t const *,int)\n1367 int AfxIsValidString(char const *,int)\n1368 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1369 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1370 HINSTANCE__ * AfxLoadLibrary(char const *)\n1371 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1372 int AfxLoadString(unsigned int,char *,unsigned int)\n1373 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1374 void AfxLockGlobals(int)\n1375 void AfxLockTempMaps()\n1376 CHandleMap * afxMapHDC(int)\n1377 CHandleMap * afxMapHGDIOBJ(int)\n1378 CHandleMap * afxMapHIMAGELIST(int)\n1379 CHandleMap * afxMapHMENU(int)\n1380 CHandleMap * afxMapHWND(int)\n1381 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1382 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1383 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1384 int AfxNewHandler(unsigned int)\n1385 int AfxOleCanExitApp()\n1386 COleMessageFilter * AfxOleGetMessageFilter()\n1387 int AfxOleGetUserCtrl()\n1388 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1389 int AfxOleInit()\n1390 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1391 void AfxOleLockApp()\n1392 int AfxOleLockControl(_GUID const &)\n1393 int AfxOleLockControl(char const *)\n1394 void AfxOleOnReleaseAllObjects()\n1395 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1396 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1397 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1398 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1399 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1400 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1401 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1402 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1403 void AfxOleSetUserCtrl(int)\n1404 void AfxOleTerm(int)\n1405 void AfxOleTermOrFreeLib(int,int)\n1406 void AfxOleUnlockAllControls()\n1407 void AfxOleUnlockApp()\n1408 int AfxOleUnlockControl(_GUID const &)\n1409 int AfxOleUnlockControl(char const *)\n1410 int AfxOleUnregisterClass(_GUID const &,char const *)\n1411 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1412 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1413 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1414 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1415 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1416 void AfxPostQuitMessage(int)\n1417 int AfxPreTranslateMessage(tagMSG *)\n1418 long AfxProcessWndProcException(CException *,tagMSG const *)\n1419 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1420 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1421 int AfxPumpMessage()\n1422 unsigned int AfxReadStringLength(CArchive &,int &)\n1423 int AfxRegisterClass(tagWNDCLASSA *)\n1424 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1425 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1426 void AfxResetMsgCache()\n1427 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1428 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1429 void AfxSafeArrayInit(COleSafeArray *)\n1430 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1431 void AfxSetAllocStop(long)\n1432 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1433 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1434 void AfxSetResourceHandle(HINSTANCE__ *)\n1435 void AfxSetWindowText(HWND__ *,char const *)\n1436 void AfxSocketTerm()\n1437 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1438 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1439 void AfxStoreField(CRecordset &,unsigned int,void *)\n1440 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1441 wchar_t * AfxTaskStringA2W(char const *)\n1442 char * AfxTaskStringW2A(wchar_t const *)\n1443 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1444 void AfxTermLocalData(HINSTANCE__ *,int)\n1445 void AfxTermThread(HINSTANCE__ *)\n1446 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1447 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1448 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1449 void AfxThrowArchiveException(int,char const *)\n1450 void AfxThrowDBException(short,CDatabase *,void *)\n1451 void AfxThrowFileException(int,long,char const *)\n1452 void AfxThrowInternetException(unsigned long,unsigned long)\n1453 void AfxThrowLastCleanup()\n1454 void AfxThrowMemoryException()\n1455 void AfxThrowNotSupportedException()\n1456 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1457 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1458 void AfxThrowOleException(long)\n1459 void AfxThrowResourceException()\n1460 void AfxThrowUserException()\n1461 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1462 void AfxTlsAddRef()\n1463 void AfxTlsRelease()\n1464 void AfxTrace(char const *,...)\n1465 int afxTraceEnabled\n1466 unsigned int afxTraceFlags\n1467 void AfxTrackerTerm()\n1468 void AfxTryCleanup()\n1469 int AfxUnhookWindowCreate()\n1470 void AfxUnlockGlobals(int)\n1471 int AfxUnlockTempMaps(int)\n1472 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1473 void AfxVariantInit(tagVARIANT *)\n1474 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1475 char * AfxW2AHelper(char *,wchar_t const *,int)\n1476 void AfxWingdixTerm()\n1477 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1478 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1479 void AfxWinTerm()\n1480 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1481 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1482 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1483 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1484 void * CFixedAlloc::Alloc()\n1485 void * CFixedAllocNoSync::Alloc()\n1486 unsigned char * CMemFile::Alloc(unsigned long)\n1487 unsigned char * CSharedFile::Alloc(unsigned long)\n1488 void CRecordset::AllocAndCacheFieldInfo()\n1489 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1490 void CDatabase::AllocConnect(unsigned long)\n1491 void COleSafeArray::AllocData()\n1492 void CRecordset::AllocDataCache()\n1493 void COleSafeArray::AllocDescriptor(unsigned long)\n1494 int CControlBar::AllocElements(int,int)\n1495 int CStatusBar::AllocElements(int,int)\n1496 int CRecordset::AllocHstmt()\n1497 void CPropertyPage::AllocPSP(unsigned long)\n1498 void CRecordset::AllocRowset()\n1499 int CThreadSlotData::AllocSlot()\n1500 void CRecordset::AllocStatusArrays()\n1501 void * CProperty::AllocValue(unsigned long)\n1502 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1503 short COleControl::AmbientAppearance()\n1504 unsigned long COleControl::AmbientBackColor()\n1505 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1506 IFontDisp * COleControl::AmbientFont()\n1507 unsigned long COleControl::AmbientForeColor()\n1508 unsigned long COleControl::AmbientLocaleID()\n1509 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1510 int COleControl::AmbientShowGrabHandles()\n1511 int COleControl::AmbientShowHatching()\n1512 short COleControl::AmbientTextAlign()\n1513 int COleControl::AmbientUIDead()\n1514 int COleControl::AmbientUserMode()\n1515 int CDC::AngleArc(int,int,int,float,float)\n1516 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1517 int CByteArray::Append(CByteArray const &)\n1518 int CDWordArray::Append(CDWordArray const &)\n1519 int CObArray::Append(CObArray const &)\n1520 int CPtrArray::Append(CPtrArray const &)\n1521 int CStringArray::Append(CStringArray const &)\n1522 int CUIntArray::Append(CUIntArray const &)\n1523 int CWordArray::Append(CWordArray const &)\n1524 void CRecordset::AppendFilterAndSortSQL()\n1525 int CMenu::AppendMenuA(unsigned int,unsigned int,char const *)\n1526 int CMenu::AppendMenuA(unsigned int,unsigned int,CBitmap const *)\n1527 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1528 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1529 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1530 long COlePropertyPage::XPropertyPage::Apply()\n1531 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1532 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1533 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1534 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1535 int CDC::Arc(int,int,int,int,int,int,int,int)\n1536 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1537 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1538 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1539 int CListCtrl::Arrange(unsigned int)\n1540 unsigned int CWnd::ArrangeIconicWindows()\n1541 void CAsyncMonikerFile::AssertValid()const \n1542 void CAsyncSocket::AssertValid()const \n1543 void CBitmapButton::AssertValid()const \n1544 void CByteArray::AssertValid()const \n1545 void CCachedDataPathProperty::AssertValid()const \n1546 void CClientDC::AssertValid()const \n1547 void CCmdTarget::AssertValid()const \n1548 void CControlBar::AssertValid()const \n1549 void CCtrlView::AssertValid()const \n1550 void CDatabase::AssertValid()const \n1551 void CDataPathProperty::AssertValid()const \n1552 void CDC::AssertValid()const \n1553 void CDialog::AssertValid()const \n1554 void CDocItem::AssertValid()const \n1555 void CDockBar::AssertValid()const \n1556 void CDocManager::AssertValid()const \n1557 void CDocObjectServer::AssertValid()const \n1558 void CDocObjectServerItem::AssertValid()const \n1559 void CDocTemplate::AssertValid()const \n1560 void CDocument::AssertValid()const \n1561 void CDWordArray::AssertValid()const \n1562 void CDynLinkLibrary::AssertValid()const \n1563 void CEditView::AssertValid()const \n1564 void CFile::AssertValid()const \n1565 void CFileFind::AssertValid()const \n1566 void CFormView::AssertValid()const \n1567 void CFrameWnd::AssertValid()const \n1568 void CFtpConnection::AssertValid()const \n1569 void CFtpFileFind::AssertValid()const \n1570 void CGdiObject::AssertValid()const \n1571 void CGopherConnection::AssertValid()const \n1572 void CGopherFile::AssertValid()const \n1573 void CGopherFileFind::AssertValid()const \n1574 void CHtmlEditDoc::AssertValid()const \n1575 void CHtmlEditView::AssertValid()const \n1576 void CHtmlView::AssertValid()const \n1577 void CHttpConnection::AssertValid()const \n1578 void CHttpFile::AssertValid()const \n1579 void CImageList::AssertValid()const \n1580 void CInternetConnection::AssertValid()const \n1581 void CInternetFile::AssertValid()const \n1582 void CLongBinary::AssertValid()const \n1583 void CMapPtrToPtr::AssertValid()const \n1584 void CMapPtrToWord::AssertValid()const \n1585 void CMapStringToOb::AssertValid()const \n1586 void CMapStringToPtr::AssertValid()const \n1587 void CMapStringToString::AssertValid()const \n1588 void CMapWordToOb::AssertValid()const \n1589 void CMapWordToPtr::AssertValid()const \n1590 void CMDIChildWnd::AssertValid()const \n1591 void CMDIFrameWnd::AssertValid()const \n1592 void CMemFile::AssertValid()const \n1593 void CMenu::AssertValid()const \n1594 void CMonikerFile::AssertValid()const \n1595 void CMultiDocTemplate::AssertValid()const \n1596 void CObArray::AssertValid()const \n1597 void CObject::AssertValid()const \n1598 void CObList::AssertValid()const \n1599 void COleChangeSourceDialog::AssertValid()const \n1600 void COleClientItem::AssertValid()const \n1601 void COleCntrFrameWnd::AssertValid()const \n1602 void COleControl::AssertValid()const \n1603 void COleDataSource::AssertValid()const \n1604 void COleDocIPFrameWnd::AssertValid()const \n1605 void COleDocument::AssertValid()const \n1606 void COleDropTarget::AssertValid()const \n1607 void COleIPFrameWnd::AssertValid()const \n1608 void COleLinkingDoc::AssertValid()const \n1609 void COleLinksDialog::AssertValid()const \n1610 void COleMessageFilter::AssertValid()const \n1611 void COleObjectFactory::AssertValid()const \n1612 void COlePasteSpecialDialog::AssertValid()const \n1613 void COlePropertiesDialog::AssertValid()const \n1614 void COleServerDoc::AssertValid()const \n1615 void COleServerItem::AssertValid()const \n1616 void COleStreamFile::AssertValid()const \n1617 void CPaintDC::AssertValid()const \n1618 void CPreviewDC::AssertValid()const \n1619 void CPreviewView::AssertValid()const \n1620 void CPropertyPage::AssertValid()const \n1621 void CPropertySheet::AssertValid()const \n1622 void CPtrArray::AssertValid()const \n1623 void CPtrList::AssertValid()const \n1624 void CRecordset::AssertValid()const \n1625 void CRecordView::AssertValid()const \n1626 void CRichEditCntrItem::AssertValid()const \n1627 void CRichEditDoc::AssertValid()const \n1628 void CRichEditView::AssertValid()const \n1629 void CScrollView::AssertValid()const \n1630 void CSingleDocTemplate::AssertValid()const \n1631 void CSocket::AssertValid()const \n1632 void CSocketFile::AssertValid()const \n1633 void CSplitterWnd::AssertValid()const \n1634 void CStatusBar::AssertValid()const \n1635 void CStringArray::AssertValid()const \n1636 void CStringList::AssertValid()const \n1637 void CSyncObject::AssertValid()const \n1638 void CToolBar::AssertValid()const \n1639 void CUIntArray::AssertValid()const \n1640 void CView::AssertValid()const \n1641 void CWinApp::AssertValid()const \n1642 void CWindowDC::AssertValid()const \n1643 void CWinThread::AssertValid()const \n1644 void CWnd::AssertValid()const \n1645 void CWordArray::AssertValid()const \n1646 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1647 int CAsyncSocket::AsyncSelect(long)\n1648 int CAsyncSocket::Attach(unsigned int,long)\n1649 int CDC::Attach(HDC__ *)\n1650 int CGdiObject::Attach(void *)\n1651 int CImageList::Attach(_IMAGELIST *)\n1652 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1653 int CMenu::Attach(HMENU__ *)\n1654 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1655 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1656 void COleDataObject::Attach(IDataObject *,int)\n1657 void COleSafeArray::Attach(tagVARIANT &)\n1658 void COleStreamFile::Attach(IStream *)\n1659 void COleVariant::Attach(tagVARIANT &)\n1660 int CSocket::Attach(unsigned int)\n1661 int CWnd::Attach(HWND__ *)\n1662 int COleDataObject::AttachClipboard()\n1663 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1664 void CWnd::AttachControlSite(CHandleMap *)\n1665 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1666 void COleClientItem::AttachDataObject(COleDataObject &)const \n1667 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1668 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1669 CPrintDialog * CPrintDialog::AttachOnSetup()\n1670 void COleControlSite::AttachWindow()\n1671 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1672 void CToolBarCtrl::AutoSize()\n1673 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1674 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1675 void COleMessageFilter::BeginBusyState()\n1676 void COleLinkingDoc::BeginDeferErrors()\n1677 int CDragListBox::BeginDrag(CPoint)\n1678 int CImageList::BeginDrag(int,CPoint)\n1679 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1680 void COleDataObject::BeginEnumFormats()\n1681 void CFrameWnd::BeginModalState()\n1682 void CWnd::BeginModalState()\n1683 CDC * CWnd::BeginPaint(tagPAINT*)\n1684 int CDC::BeginPath()\n1685 int CDatabase::BeginTrans()\n1686 void CCmdTarget::BeginWaitCursor()\n1687 int CAsyncSocket::Bind(unsigned int,char const *)\n1688 int CAsyncSocket::Bind(sockaddr const *,int)\n1689 void CDataSourceControl::BindColumns()\n1690 void COccManager::BindControls(CWnd *)\n1691 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1692 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1693 void CRecordset::BindFieldsForUpdate()\n1694 unsigned int CRecordset::BindFieldsToColumns()\n1695 void CDatabase::BindParameters(void *)\n1696 unsigned int CRecordset::BindParams(void *)\n1697 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1698 void CDataSourceControl::BindProp(COleControlSite *,int)\n1699 void COleControlSite::BindProperty(long,CWnd *)\n1700 void CWnd::BindProperty(long,CWnd *)\n1701 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1702 void COleControl::BoundPropertyChanged(long)\n1703 int COleControl::BoundPropertyRequestEdit(long)\n1704 void CFrameWnd::BringToTop(int)\n1705 void CWnd::BringWindowToTop()\n1706 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1707 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1708 void CPropertySheet::BuildPropPageArray()\n1709 void CRecordset::BuildSelectSQL()\n1710 int COleControl::BuildSharedMenu()\n1711 int COleDocIPFrameWnd::BuildSharedMenu()\n1712 int COleIPFrameWnd::BuildSharedMenu()\n1713 void CRecordset::BuildSQL(char const *)\n1714 void CRecordset::BuildUpdateSQL()\n1715 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1716 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1717 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1718 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1719 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1720 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1721 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1722 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1723 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1724 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1725 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1726 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1727 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1728 CSize CControlBar::CalcFixedLayout(int,int)\n1729 CSize CDialogBar::CalcFixedLayout(int,int)\n1730 CSize CDockBar::CalcFixedLayout(int,int)\n1731 CSize CReBar::CalcFixedLayout(int,int)\n1732 CSize CStatusBar::CalcFixedLayout(int,int)\n1733 CSize CToolBar::CalcFixedLayout(int,int)\n1734 void CControlBar::CalcInsideRect(CRect &,int)const \n1735 void CStatusBar::CalcInsideRect(CRect &,int)const \n1736 CSize CToolBar::CalcLayout(unsigned long,int)\n1737 int CCheckListBox::CalcMinimumItemHeight()\n1738 CSize CPreviewView::CalcPageDisplaySize()\n1739 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1740 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1741 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1742 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1743 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1744 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1745 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1746 int CDHtmlDialog::CanAccessExternal()\n1747 int COleClientItem::CanActivate()\n1748 int CRichEditCntrItem::CanActivate()\n1749 int CSplitterWnd::CanActivateNext(int)\n1750 int CRecordset::CanAppend()const \n1751 int CRecordset::CanBookmark()const \n1752 void CDatabase::Cancel()\n1753 void CRecordset::Cancel()\n1754 void CSocket::CancelBlockingCall()\n1755 void CDragListBox::CancelDrag(CPoint)\n1756 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1757 long COleUILinkInfo::CancelLink(unsigned long)\n1758 void CDockContext::CancelLoop()\n1759 void CPropertyPage::CancelToClose()\n1760 void CWnd::CancelToolTips(int)\n1761 void CRecordset::CancelUpdate()\n1762 int CDocument::CanCloseFrame(CFrameWnd *)\n1763 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1764 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1765 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1766 unsigned long CDockContext::CanDock()\n1767 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1768 int CFrameWnd::CanEnterHelpMode()\n1769 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1770 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1771 int COleClientItem::CanPaste()\n1772 int CRichEditCtrl::CanPaste(unsigned int)const \n1773 int CRichEditView::CanPaste()const \n1774 int COleClientItem::CanPasteLink()\n1775 int CRichEditCtrl::CanRedo()const \n1776 int CRecordset::CanRestart()const \n1777 int CRecordset::CanScroll()const \n1778 int CDatabase::CanTransact()const \n1779 int CRecordset::CanTransact()const \n1780 int CEdit::CanUndo()const \n1781 int CRichEditCtrl::CanUndo()const \n1782 int CDatabase::CanUpdate()const \n1783 int CRecordset::CanUpdate()const \n1784 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1785 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1786 void CScrollView::CenterOnPoint(CPoint)\n1787 void CWnd::CenterWindow(CWnd *)\n1788 int CWnd::ChangeClipboardChain(HWND__ *)\n1789 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1790 int CEdit::CharFromPos(CPoint)const \n1791 int CRichEditCtrl::CharFromPos(CPoint)const \n1792 int CListBox::CharToItem(unsigned int,unsigned int)\n1793 int CDatabase::Check(short)const \n1794 int CRecordset::Check(short)const \n1795 int CDialog::CheckAutoCenter()\n1796 int CWnd::CheckAutoCenter()\n1797 int CToolBarCtrl::CheckButton(int,int)\n1798 void CArchive::CheckCount()\n1799 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1800 void CWnd::CheckDlgButton(int,unsigned int)\n1801 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1802 void COleClientItem::CheckGeneral(long)\n1803 int CDatabase::CheckHstmt(short,void *)const \n1804 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1805 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1806 void CMemoryState::Checkpoint()\n1807 void COleControlContainer::CheckRadioButton(int,int,int)\n1808 void CWnd::CheckRadioButton(int,int,int)\n1809 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1810 void CRecordset::CheckRowsetError(short)\n1811 void CScrollView::CheckScrollBars(int &,int &)const \n1812 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1813 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1814 int CDC::Chord(int,int,int,int,int,int,int,int)\n1815 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1816 void CPropertyPage::Cleanup()\n1817 void COlePropertyPage::CleanupObjectArray()\n1818 void CComboBox::Clear()\n1819 void CDBVariant::Clear()\n1820 void CDockState::Clear()\n1821 void CEdit::Clear()\n1822 void COleSafeArray::Clear()\n1823 void COleVariant::Clear()\n1824 void CRichEditCtrl::Clear()\n1825 void CIPAddressCtrl::ClearAddress()\n1826 int CHeaderCtrl::ClearAllFilters()\n1827 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1828 void CRecordset::ClearFieldStatus()\n1829 int CHeaderCtrl::ClearFilter(int)\n1830 void CRecordset::ClearNullFieldStatus(unsigned long)\n1831 void CRecordset::ClearNullParamStatus(unsigned long)\n1832 void CSliderCtrl::ClearSel(int)\n1833 void CSliderCtrl::ClearTics(int)\n1834 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1835 void CWnd::ClientToScreen(tagPOINT *)const \n1836 void CWnd::ClientToScreen(tagRECT *)const \n1837 int COleControl::ClipCaretRect(tagRECT *)\n1838 void CPreviewDC::ClipToPage()\n1839 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1840 long CArchiveStream::Clone(IStream * *)\n1841 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1842 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1843 int CAnimateCtrl::Close()\n1844 void CArchive::Close()\n1845 void CAsyncMonikerFile::Close()\n1846 void CAsyncSocket::Close()\n1847 void CCachedDataPathProperty::Close()\n1848 void CDatabase::Close()\n1849 void CFile::Close()\n1850 void CFileFind::Close()\n1851 void CInternetConnection::Close()\n1852 void CInternetFile::Close()\n1853 void CInternetSession::Close()\n1854 void CMemFile::Close()\n1855 HMETAFILE__ * CMetaFileDC::Close()\n1856 void CMirrorFile::Close()\n1857 void CMonikerFile::Close()\n1858 void COleClientItem::Close(enum tagOLECLOSE)\n1859 void COleStreamFile::Close()\n1860 void CRecordset::Close()\n1861 void CSocket::Close()\n1862 void CSocketFile::Close()\n1863 void CStdioFile::Close()\n1864 long CDocObjectServer::XOleObject::Close(unsigned long)\n1865 long COleControl::XOleObject::Close(unsigned long)\n1866 long COleServerDoc::XOleObject::Close(unsigned long)\n1867 long COleServerItem::XOleObject::Close(unsigned long)\n1868 void CDocManager::CloseAllDocuments(int)\n1869 void CDocTemplate::CloseAllDocuments(int)\n1870 void CWinApp::CloseAllDocuments(int)\n1871 void CFileFind::CloseContext()\n1872 void CFtpFileFind::CloseContext()\n1873 void CGopherFileFind::CloseContext()\n1874 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n1875 int CDC::CloseFigure()\n1876 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1877 void CWnd::CloseWindow()\n1878 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n1879 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1880 int CStatusBar::CommandToIndex(unsigned int)const \n1881 int CToolBar::CommandToIndex(unsigned int)const \n1882 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n1883 long CArchiveStream::Commit(unsigned long)\n1884 void COleClientItem::CommitItem(int)\n1885 void COleDocument::CommitItems(int,IStorage *)\n1886 int CDatabase::CommitTrans()\n1887 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n1888 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1889 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1890 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1891 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1892 void CWinThread::CommonConstruct()\n1893 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1894 int CListBox::CompareItem(tagCOMPAREITEM*)\n1895 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1896 int CAsyncSocket::Connect(char const *,unsigned int)\n1897 int CAsyncSocket::Connect(sockaddr const *,int)\n1898 int CDatabase::Connect(unsigned long)\n1899 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1900 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1901 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1902 int CSocket::ConnectHelper(sockaddr const *,int)\n1903 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1904 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1905 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1906 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1907 void COleServerDoc::ConnectView(CWnd *,CView *)\n1908 void CPropertyPage::Construct(unsigned int,unsigned int)\n1909 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1910 void CPropertyPage::Construct(char const *,unsigned int)\n1911 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1912 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1913 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1914 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1915 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1916 void CRectTracker::Construct()\n1917 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1918 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1919 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1920 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1921 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1922 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1923 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1924 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1925 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1926 int CPropertySheet::ContinueModal()\n1927 int CWnd::ContinueModal()\n1928 void CCmdUI::ContinueRouting()\n1929 void COleControl::ControlInfoChanged()\n1930 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1931 int COleClientItem::ConvertTo(_GUID const &)\n1932 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1933 void CByteArray::Copy(CByteArray const &)\n1934 void CComboBox::Copy()\n1935 void CDWordArray::Copy(CDWordArray const &)\n1936 void CEdit::Copy()\n1937 int CImageList::Copy(int,int,unsigned int)\n1938 int CImageList::Copy(int,CImageList *,int,unsigned int)\n1939 void CObArray::Copy(CObArray const &)\n1940 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1941 void CPtrArray::Copy(CPtrArray const &)\n1942 void CRichEditCtrl::Copy()\n1943 void CStringArray::Copy(CStringArray const &)\n1944 void CUIntArray::Copy(CUIntArray const &)\n1945 void CWordArray::Copy(CWordArray const &)\n1946 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1947 void CopyElements(COleVariant *,COleVariant const *,int)\n1948 int CRgn::CopyRgn(CRgn *)\n1949 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1950 void COleClientItem::CopyToClipboard(int)\n1951 void COleServerItem::CopyToClipboard(int)\n1952 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1953 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n1954 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1955 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1956 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1957 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1958 int CControlFrameWnd::Create(char const *)\n1959 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1960 int CDialog::Create(unsigned int,CWnd *)\n1961 int CDialog::Create(char const *,CWnd *)\n1962 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n1963 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1964 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1965 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1966 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1967 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1968 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1969 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1970 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1971 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1972 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1973 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1974 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1975 int CImageList::Create(int,int,unsigned int,int,int)\n1976 int CImageList::Create(unsigned int,int,int,unsigned long)\n1977 int CImageList::Create(CImageList *)\n1978 int CImageList::Create(char const *,int,int,unsigned long)\n1979 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1980 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1981 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1982 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1983 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1984 int CMetaFileDC::Create(char const *)\n1985 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1986 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1987 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1988 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1989 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1990 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1991 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1992 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1993 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1994 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1995 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1996 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1997 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1998 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1999 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2000 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2001 int CSocket::Create(unsigned int,int,char const *)\n2002 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2003 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2004 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2005 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2006 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2007 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2008 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2009 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2010 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2011 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2012 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2013 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2014 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2015 IBindHost * CMonikerFile::CreateBindHost()\n2016 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2017 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2018 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2019 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2020 void CWnd::CreateCaret(CBitmap *)\n2021 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n2022 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2023 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2024 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2025 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2026 int CDC::CreateCompatibleDC(CDC *)\n2027 void CConnectionPoint::CreateConnectionArray()\n2028 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2029 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2030 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2031 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2032 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2033 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2034 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2035 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2036 int CWnd::CreateControlContainer(COleControlContainer * *)\n2037 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2038 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2039 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2040 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2041 int CDC::CreateDCA(char const *,char const *,char const *,void const *)\n2042 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2043 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2044 int CFtpConnection::CreateDirectoryA(char const *)\n2045 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2046 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2047 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n2048 int CWnd::CreateDlg(char const *,CWnd *)\n2049 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2050 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2051 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n2052 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n2053 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2054 CImageList * CHeaderCtrl::CreateDragImage(int)\n2055 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2056 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2057 int CRgn::CreateEllipticRgn(int,int,int,int)\n2058 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2059 int CPictureHolder::CreateEmpty()\n2060 int CMetaFileDC::CreateEnhanced(CDC *,char const *,tagRECT const *,char const *)\n2061 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2062 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2063 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2064 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2065 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2066 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2067 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2068 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2069 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2070 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2071 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2072 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2073 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2074 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2075 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2076 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2077 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2078 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2079 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2080 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2081 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2082 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2083 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2084 int CFont::CreateFontA(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,char const *)\n2085 int CFont::CreateFontIndirectA(tagLOGFONTA const *)\n2086 CControlFrameWnd * COleControl::CreateFrameWindow()\n2087 int CPictureHolder::CreateFromBitmap(unsigned int)\n2088 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2089 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2090 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2091 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2092 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2093 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2094 int CPictureHolder::CreateFromIcon(unsigned int)\n2095 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2096 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2097 int CRgn::CreateFromPath(CDC *)\n2098 void CWnd::CreateGrayCaret(int,int)\n2099 int CPalette::CreateHalftonePalette(CDC *)\n2100 int CBrush::CreateHatchBrush(int,unsigned long)\n2101 int CDC::CreateICA(char const *,char const *,char const *,void const *)\n2102 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2103 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2104 int CDialog::CreateIndirect(void *,CWnd *)\n2105 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2106 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2107 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2108 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2109 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2110 int COleInsertDialog::CreateItem(COleClientItem *)\n2111 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2112 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2113 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2114 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2115 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n2116 CGopherLocator CGopherConnection::CreateLocator(char const *)\n2117 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n2118 int COleStreamFile::CreateMemoryStream(CFileException *)\n2119 int CMenu::CreateMenu()\n2120 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2121 CDocument * CDocTemplate::CreateNewDocument()\n2122 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2123 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2124 CObject * CByteArray::CreateObject()\n2125 CObject * CDC::CreateObject()\n2126 CObject * CDocItem::CreateObject()\n2127 CObject * CDockState::CreateObject()\n2128 CObject * CDWordArray::CreateObject()\n2129 CObject * CEditView::CreateObject()\n2130 CObject * CFrameWnd::CreateObject()\n2131 CObject * CGdiObject::CreateObject()\n2132 CObject * CHtmlEditView::CreateObject()\n2133 CObject * CHtmlView::CreateObject()\n2134 CObject * CImageList::CreateObject()\n2135 CObject * CListView::CreateObject()\n2136 CObject * CMapStringToOb::CreateObject()\n2137 CObject * CMapStringToString::CreateObject()\n2138 CObject * CMapWordToOb::CreateObject()\n2139 CObject * CMDIChildWnd::CreateObject()\n2140 CObject * CMDIFrameWnd::CreateObject()\n2141 CObject * CMenu::CreateObject()\n2142 CObject * CMiniDockFrameWnd::CreateObject()\n2143 CObject * CMiniFrameWnd::CreateObject()\n2144 CObject * CObArray::CreateObject()\n2145 CObject * CObList::CreateObject()\n2146 CObject * COleDocIPFrameWnd::CreateObject()\n2147 CObject * COleIPFrameWnd::CreateObject()\n2148 CObject * CPreviewView::CreateObject()\n2149 CObject * CRichEditCntrItem::CreateObject()\n2150 CObject * CRichEditView::CreateObject()\n2151 CObject * CRuntimeClass::CreateObject()\n2152 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2153 CObject * CRuntimeClass::CreateObject(char const *)\n2154 CObject * CStringArray::CreateObject()\n2155 CObject * CStringList::CreateObject()\n2156 CObject * CTreeView::CreateObject()\n2157 CObject * CWnd::CreateObject()\n2158 CObject * CWordArray::CreateObject()\n2159 void COleControlContainer::CreateOleFont(CFont *)\n2160 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2161 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2162 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2163 int CPalette::CreatePalette(tagLOGPALETTE *)\n2164 int CBrush::CreatePatternBrush(CBitmap *)\n2165 int CPen::CreatePen(int,int,unsigned long)\n2166 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2167 int CPen::CreatePenIndirect(tagLOGPEN *)\n2168 int CFont::CreatePointFont(int,char const *,CDC *)\n2169 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n2170 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2171 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2172 int CMenu::CreatePopupMenu()\n2173 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2174 HDC__ * CPrintDialog::CreatePrinterDC()\n2175 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2176 int CWinApp::CreatePrinterDC(CDC &)\n2177 int CRgn::CreateRectRgn(int,int,int,int)\n2178 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2179 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2180 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2181 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2182 int CBrush::CreateSolidBrush(unsigned long)\n2183 void CWnd::CreateSolidCaret(int,int)\n2184 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2185 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2186 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2187 int CGdiObject::CreateStockObject(int)\n2188 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n2189 int CBrush::CreateSysColorBrush(int)\n2190 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2191 void COleControl::CreateTracker(int,int)\n2192 void COleControl::CreateTracker(int,int,tagRECT const *)\n2193 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2194 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2195 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2196 void COleControl::CreateWindowForSubclassedControl()\n2197 void CToolBarCtrl::Customize()\n2198 void CComboBox::Cut()\n2199 void CEdit::Cut()\n2200 void CRichEditCtrl::Cut()\n2201 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2202 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2203 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2204 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2205 void DDP_CBIndex(CDataExchange *,int,int &,char const *)\n2206 void DDP_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2207 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2208 void DDP_Check(CDataExchange *,int,int &,char const *)\n2209 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n2210 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n2211 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n2212 void DDP_EndText(CDataExchange *,int,short *,char const *)\n2213 void DDP_EndText(CDataExchange *,int,int *,char const *)\n2214 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n2215 void DDP_EndText(CDataExchange *,int,long *,char const *)\n2216 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n2217 void DDP_EndText(CDataExchange *,int,float *,char const *)\n2218 void DDP_EndText(CDataExchange *,int,double *,char const *)\n2219 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,char const *)\n2220 void DDP_LBIndex(CDataExchange *,int,int &,char const *)\n2221 void DDP_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2222 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2223 void DDP_PostProcessing(CDataExchange *)\n2224 void DDP_Radio(CDataExchange *,int,int &,char const *)\n2225 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n2226 void DDP_Text(CDataExchange *,int,short &,char const *)\n2227 void DDP_Text(CDataExchange *,int,int &,char const *)\n2228 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n2229 void DDP_Text(CDataExchange *,int,long &,char const *)\n2230 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n2231 void DDP_Text(CDataExchange *,int,float &,char const *)\n2232 void DDP_Text(CDataExchange *,int,double &,char const *)\n2233 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2234 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int)\n2235 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2236 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2237 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2238 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2239 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2240 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2241 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2242 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2243 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2244 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2245 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2246 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2247 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2248 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2249 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2250 void DDX_CBIndex(CDataExchange *,int,int &)\n2251 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2252 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2253 void DDX_Check(CDataExchange *,int,int &)\n2254 void DDX_Control(CDataExchange *,int,CWnd &)\n2255 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2256 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2257 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2258 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2259 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2260 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2261 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n2262 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n2263 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n2264 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n2265 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n2266 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n2267 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n2268 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n2269 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n2270 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n2271 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n2272 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n2273 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n2274 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n2275 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n2276 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n2277 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n2278 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n2279 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n2280 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2281 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n2282 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n2283 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n2284 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n2285 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n2286 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n2287 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n2288 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2289 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int)\n2290 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2291 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2292 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2293 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2294 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2295 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2296 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2297 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2298 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2299 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2300 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2301 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2302 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2303 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2304 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2305 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2306 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2307 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2308 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n2309 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2310 void DDX_LBIndex(CDataExchange *,int,int &)\n2311 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2312 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2313 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2314 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2315 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2316 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2317 void DDX_OCBool(CDataExchange *,int,long,int &)\n2318 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2319 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2320 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2321 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2322 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2323 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2324 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2325 void DDX_OCInt(CDataExchange *,int,long,int &)\n2326 void DDX_OCInt(CDataExchange *,int,long,long &)\n2327 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2328 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2329 void DDX_OCShort(CDataExchange *,int,long,short &)\n2330 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2331 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2332 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2333 void DDX_Radio(CDataExchange *,int,int &)\n2334 void DDX_Scroll(CDataExchange *,int,int &)\n2335 void DDX_Slider(CDataExchange *,int,int &)\n2336 void DDX_Text(CDataExchange *,int,__int64 &)\n2337 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2338 void DDX_Text(CDataExchange *,int,unsigned char &)\n2339 void DDX_Text(CDataExchange *,int,short &)\n2340 void DDX_Text(CDataExchange *,int,int &)\n2341 void DDX_Text(CDataExchange *,int,unsigned int &)\n2342 void DDX_Text(CDataExchange *,int,long &)\n2343 void DDX_Text(CDataExchange *,int,unsigned long &)\n2344 void DDX_Text(CDataExchange *,int,float &)\n2345 void DDX_Text(CDataExchange *,int,double &)\n2346 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2347 void DDX_Text(CDataExchange *,int,_GUID &)\n2348 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2349 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2350 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2351 void DDX_Text(CDataExchange *,int,tagDEC &)\n2352 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2353 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2354 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2355 void DDX_Text(CDataExchange *,int,char *,int)\n2356 void COleClientItem::Deactivate()\n2357 long COlePropertyPage::XPropertyPage::Deactivate()\n2358 int COleServerDoc::DeactivateAndUndo()\n2359 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2360 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2361 void COleClientItem::DeactivateUI()\n2362 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n2363 long CWnd::Default()\n2364 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2365 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2366 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2367 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n2368 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2369 void CFrameWnd::DelayRecalcLayout(int)\n2370 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2371 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2372 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2373 void CControlBar::DelayShow(int)\n2374 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2375 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2376 void CFrameWnd::DelayUpdateFrameTitle()\n2377 void CException::Delete()\n2378 void COleClientItem::Delete(int)\n2379 void CRecordset::Delete()\n2380 void CWinThread::Delete()\n2381 int CListCtrl::DeleteAllItems()\n2382 int CTabCtrl::DeleteAllItems()\n2383 int CTreeCtrl::DeleteAllItems()\n2384 int CReBarCtrl::DeleteBand(unsigned int)\n2385 int CToolBarCtrl::DeleteButton(int)\n2386 int CListCtrl::DeleteColumn(int)\n2387 void CSplitterWnd::DeleteColumn(int)\n2388 void CDocument::DeleteContents()\n2389 void CEditView::DeleteContents()\n2390 void CHtmlEditDoc::DeleteContents()\n2391 void COleDocument::DeleteContents()\n2392 void COleServerDoc::DeleteContents()\n2393 void CRichEditDoc::DeleteContents()\n2394 void CRichEditView::DeleteContents()\n2395 int CDC::DeleteDC()\n2396 int CImageList::DeleteImageList()\n2397 void CComboBox::DeleteItem(tagDELETEITEM*)\n2398 int CComboBoxEx::DeleteItem(int)\n2399 int CHeaderCtrl::DeleteItem(int)\n2400 void CListBox::DeleteItem(tagDELETEITEM*)\n2401 int CListCtrl::DeleteItem(int)\n2402 int CTabCtrl::DeleteItem(int)\n2403 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2404 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2405 int CGdiObject::DeleteObject()\n2406 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2407 void CSplitterWnd::DeleteRow(int)\n2408 int CComboBox::DeleteString(unsigned int)\n2409 int CListBox::DeleteString(unsigned int)\n2410 void CHandleMap::DeleteTemp()\n2411 void CDC::DeleteTempMap()\n2412 void CGdiObject::DeleteTempMap()\n2413 void CImageList::DeleteTempMap()\n2414 void CMenu::DeleteTempMap()\n2415 void CWnd::DeleteTempMap()\n2416 void CRichEditDoc::DeleteUnmarkedItems()const \n2417 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2418 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2419 void CSplitterWnd::DeleteView(int,int)\n2420 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n2421 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2422 void CTabCtrl::DeselectAll(int)\n2423 void COleSafeArray::Destroy()\n2424 int COleControlSite::DestroyControl()\n2425 void COleSafeArray::DestroyData()\n2426 void COleSafeArray::DestroyDescriptor()\n2427 void CFrameWnd::DestroyDockBars()\n2428 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2429 int CMenu::DestroyMenu()\n2430 void CDHtmlDialog::DestroyModeless()\n2431 void COleControl::DestroySharedMenu()\n2432 void COleDocIPFrameWnd::DestroySharedMenu()\n2433 void COleIPFrameWnd::DestroySharedMenu()\n2434 int CToolTipCtrl::DestroyToolTipCtrl()\n2435 void COleControl::DestroyTracker()\n2436 int CControlBar::DestroyWindow()\n2437 int CMDIChildWnd::DestroyWindow()\n2438 int CWnd::DestroyWindow()\n2439 unsigned int CAsyncSocket::Detach()\n2440 HDC__ * CDC::Detach()\n2441 void * CDialogTemplate::Detach()\n2442 void * CGdiObject::Detach()\n2443 _IMAGELIST * CImageList::Detach()\n2444 unsigned char * CMemFile::Detach()\n2445 HMENU__ * CMenu::Detach()\n2446 int CMonikerFile::Detach(CFileException *)\n2447 IDataObject * COleDataObject::Detach()\n2448 tagVARIANT COleSafeArray::Detach()\n2449 IStream * COleStreamFile::Detach()\n2450 tagVARIANT COleVariant::Detach()\n2451 void * CSharedFile::Detach()\n2452 HDC__ * CWindowlessDC::Detach()\n2453 HWND__ * CWnd::Detach()\n2454 IDispatch * COleDispatchDriver::DetachDispatch()\n2455 void CAsyncSocket::DetachHandle(unsigned int,int)\n2456 void COleControlSite::DetachWindow()\n2457 void CWinApp::DevModeChange(char *)\n2458 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2459 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2460 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2461 int CComboBox::Dir(unsigned int,char const *)\n2462 int CComboBoxEx::Dir(unsigned int,char const *)\n2463 int CListBox::Dir(unsigned int,char const *)\n2464 int COleServerDoc::DiscardUndoState()\n2465 long COleClientItem::XOleIPSite::DiscardUndoState()\n2466 long COleControlSite::XOleIPSite::DiscardUndoState()\n2467 void COleDispatchImpl::Disconnect()\n2468 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2469 void CDHtmlDialog::DisconnectDHtmlEvents()\n2470 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2471 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2472 void CDocument::DisconnectViews()\n2473 void CWinThread::DispatchThreadMessage(tagMSG *)\n2474 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2475 int CRichEditCtrl::DisplayBand(tagRECT *)\n2476 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2477 int CWnd::DlgDirListA(char *,int,int,unsigned int)\n2478 int CWnd::DlgDirListComboBoxA(char *,int,int,unsigned int)\n2479 int CWnd::DlgDirSelect(char *,int)\n2480 int CWnd::DlgDirSelectComboBox(char *,int)\n2481 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2482 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2483 void CAsyncSocket::DoCallBack(unsigned int,long)\n2484 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2485 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2486 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2487 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2488 void COleControl::DoClick()\n2489 int COleFrameHook::DoContextSensitiveHelp(int)\n2490 int COleConvertDialog::DoConvert(COleClientItem *)\n2491 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2492 void CWnd::DoDataExchange(CDataExchange *)\n2493 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2494 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2495 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2496 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2497 int COleFrameHook::DoEnableModeless(int)\n2498 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2499 void CRecordset::DoFieldExchange(CFieldExchange *)\n2500 int CDocument::DoFileSave()\n2501 int CSplitterWnd::DoKeyboardSplit()\n2502 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2503 int CColorDialog::DoModal()\n2504 int CDialog::DoModal()\n2505 int CFileDialog::DoModal()\n2506 int CFontDialog::DoModal()\n2507 int COleBusyDialog::DoModal()\n2508 int COleChangeIconDialog::DoModal()\n2509 int COleChangeSourceDialog::DoModal()\n2510 int COleConvertDialog::DoModal()\n2511 int COleInsertDialog::DoModal(unsigned long)\n2512 int COleInsertDialog::DoModal()\n2513 int COleLinksDialog::DoModal()\n2514 int COlePasteSpecialDialog::DoModal()\n2515 int COlePropertiesDialog::DoModal()\n2516 int COleUpdateDialog::DoModal()\n2517 int CPageSetupDialog::DoModal()\n2518 int CPrintDialog::DoModal()\n2519 int CPrintDialogEx::DoModal()\n2520 int CPropertySheet::DoModal()\n2521 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2522 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2523 void CControlBar::DoPaint(CDC *)\n2524 void CDockBar::DoPaint(CDC *)\n2525 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2526 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2527 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2528 int CView::DoPreparePrinting(CPrintInfo *)\n2529 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2530 int CWinApp::DoPrintDialog(CPrintDialog *)\n2531 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2532 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2533 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2534 void COleControl::DoPropExchange(CPropExchange *)\n2535 int CDocument::DoSave(char const *,int)\n2536 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2537 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2538 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2539 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2540 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2541 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2542 long COleControlSite::DoVerb(long,tagMSG *)\n2543 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2544 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2545 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2546 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2547 void CWinApp::DoWaitCursor(int)\n2548 void CPreviewView::DoZoom(unsigned int,CPoint)\n2549 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2550 void CDC::DPtoLP(tagPOINT *,int)const \n2551 void CDC::DPtoLP(tagRECT *)const \n2552 void CDC::DPtoLP(tagSIZE *)const \n2553 void CWnd::DragAcceptFiles(int)\n2554 int CWnd::DragDetect(tagPOINT)const \n2555 int CImageList::DragEnter(CWnd *,CPoint)\n2556 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2557 unsigned int CDragListBox::Dragging(CPoint)\n2558 int CImageList::DragLeave(CWnd *)\n2559 long COleDropTarget::XDropTarget::DragLeave()\n2560 int CImageList::DragMove(CPoint)\n2561 void CReBarCtrl::DragMove(unsigned long)\n2562 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2563 int CImageList::DragShowNolock(int)\n2564 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2565 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2566 void CRectTracker::Draw(CDC *)const \n2567 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2568 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2569 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2570 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2571 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2572 void CControlBar::DrawBorders(CDC *,CRect &)\n2573 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2574 void COleControl::DrawContent(CDC *,CRect &)\n2575 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2576 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2577 int CDC::DrawEscape(int,int,char const *)\n2578 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2579 void CDC::DrawFocusRect(tagRECT const *)\n2580 void CDockContext::DrawFocusRect(int)\n2581 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2582 void CControlBar::DrawGripper(CDC *,CRect const &)\n2583 int CDC::DrawIcon(int,int,HICON__ *)\n2584 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2585 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2586 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2587 void CDragListBox::DrawInsert(int)\n2588 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2589 void CButton::DrawItem(tagDRAWITEM*)\n2590 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2591 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2592 void CComboBox::DrawItem(tagDRAWITEM*)\n2593 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2594 void CListBox::DrawItem(tagDRAWITEM*)\n2595 void CListCtrl::DrawItem(tagDRAWITEM*)\n2596 void CListView::DrawItem(tagDRAWITEM*)\n2597 void CMenu::DrawItem(tagDRAWITEM*)\n2598 void CStatic::DrawItem(tagDRAWITEM*)\n2599 void CStatusBar::DrawItem(tagDRAWITEM*)\n2600 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2601 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2602 void CWnd::DrawMenuBar()\n2603 void COleControl::DrawMetafile(CDC *,CRect &)\n2604 void CDragListBox::DrawSingle(int)\n2605 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2606 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2607 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2608 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2609 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2610 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2611 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,HBRUSH__ *)\n2612 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,CBrush *)\n2613 int CDC::DrawTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2614 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2615 int CMetaFileDC::DrawTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2616 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2617 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2618 int CDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2619 int CDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2620 int CMetaFileDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2621 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2622 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2623 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2624 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2625 void CDragListBox::Dropped(int,CPoint)\n2626 void CArchiveException::Dump(CDumpContext &)const \n2627 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2628 void CAsyncSocket::Dump(CDumpContext &)const \n2629 void CBitmap::Dump(CDumpContext &)const \n2630 void CBitmapButton::Dump(CDumpContext &)const \n2631 void CBrush::Dump(CDumpContext &)const \n2632 void CByteArray::Dump(CDumpContext &)const \n2633 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2634 void CClientDC::Dump(CDumpContext &)const \n2635 void CCmdTarget::Dump(CDumpContext &)const \n2636 void CColorDialog::Dump(CDumpContext &)const \n2637 void CControlBar::Dump(CDumpContext &)const \n2638 void CCtrlView::Dump(CDumpContext &)const \n2639 void CDatabase::Dump(CDumpContext &)const \n2640 void CDataPathProperty::Dump(CDumpContext &)const \n2641 void CDC::Dump(CDumpContext &)const \n2642 void CDialog::Dump(CDumpContext &)const \n2643 void CDocItem::Dump(CDumpContext &)const \n2644 void CDockBar::Dump(CDumpContext &)const \n2645 void CDocManager::Dump(CDumpContext &)const \n2646 void CDocObjectServer::Dump(CDumpContext &)const \n2647 void CDocObjectServerItem::Dump(CDumpContext &)const \n2648 void CDocTemplate::Dump(CDumpContext &)const \n2649 void CDocument::Dump(CDumpContext &)const \n2650 void CDWordArray::Dump(CDumpContext &)const \n2651 void CDynLinkLibrary::Dump(CDumpContext &)const \n2652 void CEditView::Dump(CDumpContext &)const \n2653 void CFile::Dump(CDumpContext &)const \n2654 void CFileDialog::Dump(CDumpContext &)const \n2655 void CFileException::Dump(CDumpContext &)const \n2656 void CFileFind::Dump(CDumpContext &)const \n2657 void CFileStatus::Dump(CDumpContext &)const \n2658 void CFindReplaceDialog::Dump(CDumpContext &)const \n2659 void CFont::Dump(CDumpContext &)const \n2660 void CFontDialog::Dump(CDumpContext &)const \n2661 void CFormView::Dump(CDumpContext &)const \n2662 void CFrameWnd::Dump(CDumpContext &)const \n2663 void CFtpConnection::Dump(CDumpContext &)const \n2664 void CFtpFileFind::Dump(CDumpContext &)const \n2665 void CGdiObject::Dump(CDumpContext &)const \n2666 void CGopherConnection::Dump(CDumpContext &)const \n2667 void CGopherFile::Dump(CDumpContext &)const \n2668 void CGopherFileFind::Dump(CDumpContext &)const \n2669 void CHtmlEditDoc::Dump(CDumpContext &)const \n2670 void CHtmlEditView::Dump(CDumpContext &)const \n2671 void CHtmlView::Dump(CDumpContext &)const \n2672 void CHttpConnection::Dump(CDumpContext &)const \n2673 void CHttpFile::Dump(CDumpContext &)const \n2674 void CImageList::Dump(CDumpContext &)const \n2675 void CInternetConnection::Dump(CDumpContext &)const \n2676 void CInternetException::Dump(CDumpContext &)const \n2677 void CInternetFile::Dump(CDumpContext &)const \n2678 void CInternetSession::Dump(CDumpContext &)const \n2679 void CLongBinary::Dump(CDumpContext &)const \n2680 void CMapPtrToPtr::Dump(CDumpContext &)const \n2681 void CMapPtrToWord::Dump(CDumpContext &)const \n2682 void CMapStringToOb::Dump(CDumpContext &)const \n2683 void CMapStringToPtr::Dump(CDumpContext &)const \n2684 void CMapStringToString::Dump(CDumpContext &)const \n2685 void CMapWordToOb::Dump(CDumpContext &)const \n2686 void CMapWordToPtr::Dump(CDumpContext &)const \n2687 void CMDIChildWnd::Dump(CDumpContext &)const \n2688 void CMDIFrameWnd::Dump(CDumpContext &)const \n2689 void CMemFile::Dump(CDumpContext &)const \n2690 void CMenu::Dump(CDumpContext &)const \n2691 void CMonikerFile::Dump(CDumpContext &)const \n2692 void CMultiDocTemplate::Dump(CDumpContext &)const \n2693 void CObArray::Dump(CDumpContext &)const \n2694 void CObject::Dump(CDumpContext &)const \n2695 void CObList::Dump(CDumpContext &)const \n2696 void COleBusyDialog::Dump(CDumpContext &)const \n2697 void COleChangeIconDialog::Dump(CDumpContext &)const \n2698 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2699 void COleClientItem::Dump(CDumpContext &)const \n2700 void COleControl::Dump(CDumpContext &)const \n2701 void COleConvertDialog::Dump(CDumpContext &)const \n2702 void COleDataSource::Dump(CDumpContext &)const \n2703 void COleDialog::Dump(CDumpContext &)const \n2704 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2705 void COleDocument::Dump(CDumpContext &)const \n2706 void COleDropSource::Dump(CDumpContext &)const \n2707 void COleDropTarget::Dump(CDumpContext &)const \n2708 void COleInsertDialog::Dump(CDumpContext &)const \n2709 void COleIPFrameWnd::Dump(CDumpContext &)const \n2710 void COleLinkingDoc::Dump(CDumpContext &)const \n2711 void COleLinksDialog::Dump(CDumpContext &)const \n2712 void COleMessageFilter::Dump(CDumpContext &)const \n2713 void COleObjectFactory::Dump(CDumpContext &)const \n2714 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2715 void COlePropertiesDialog::Dump(CDumpContext &)const \n2716 void COleServerDoc::Dump(CDumpContext &)const \n2717 void COleServerItem::Dump(CDumpContext &)const \n2718 void COleStreamFile::Dump(CDumpContext &)const \n2719 void COleUpdateDialog::Dump(CDumpContext &)const \n2720 void CPageSetupDialog::Dump(CDumpContext &)const \n2721 void CPaintDC::Dump(CDumpContext &)const \n2722 void CPen::Dump(CDumpContext &)const \n2723 void CPreviewDC::Dump(CDumpContext &)const \n2724 void CPreviewView::Dump(CDumpContext &)const \n2725 void CPrintDialog::Dump(CDumpContext &)const \n2726 void CPrintDialogEx::Dump(CDumpContext &)const \n2727 void CPropertyPage::Dump(CDumpContext &)const \n2728 void CPropertySheet::Dump(CDumpContext &)const \n2729 void CPtrArray::Dump(CDumpContext &)const \n2730 void CPtrList::Dump(CDumpContext &)const \n2731 void CRecordset::Dump(CDumpContext &)const \n2732 void CRecordView::Dump(CDumpContext &)const \n2733 void CRichEditCntrItem::Dump(CDumpContext &)const \n2734 void CRichEditDoc::Dump(CDumpContext &)const \n2735 void CRichEditView::Dump(CDumpContext &)const \n2736 void CScrollView::Dump(CDumpContext &)const \n2737 void CSingleDocTemplate::Dump(CDumpContext &)const \n2738 void CSocket::Dump(CDumpContext &)const \n2739 void CSocketFile::Dump(CDumpContext &)const \n2740 void CSplitterWnd::Dump(CDumpContext &)const \n2741 void CStatusBar::Dump(CDumpContext &)const \n2742 void CStdioFile::Dump(CDumpContext &)const \n2743 void CStringArray::Dump(CDumpContext &)const \n2744 void CStringList::Dump(CDumpContext &)const \n2745 void CSyncObject::Dump(CDumpContext &)const \n2746 void CToolBar::Dump(CDumpContext &)const \n2747 void CUIntArray::Dump(CDumpContext &)const \n2748 void CView::Dump(CDumpContext &)const \n2749 void CWinApp::Dump(CDumpContext &)const \n2750 void CWindowDC::Dump(CDumpContext &)const \n2751 void CWinThread::Dump(CDumpContext &)const \n2752 void CWnd::Dump(CDumpContext &)const \n2753 void CWordArray::Dump(CDumpContext &)const \n2754 void CMemoryState::DumpAllObjectsSince()const \n2755 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2756 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2757 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2758 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2759 CDumpContext & CDumpContext::DumpAsHex(int)\n2760 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2761 CDumpContext & CDumpContext::DumpAsHex(long)\n2762 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2763 void DumpElements(CDumpContext &,COleVariant const *,int)\n2764 void CRecordset::DumpFields(CDumpContext &)const \n2765 void CMemoryState::DumpStatistics()const \n2766 long COleControl::XDataObject::DUnadvise(unsigned long)\n2767 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2768 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2769 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2770 CFile * CFile::Duplicate()const \n2771 CFile * CInternetFile::Duplicate()const \n2772 CFile * CMemFile::Duplicate()const \n2773 CFile * COleStreamFile::Duplicate()const \n2774 CFile * CSocketFile::Duplicate()const \n2775 CFile * CStdioFile::Duplicate()const \n2776 unsigned long const CEditView::dwStyleDefault\n2777 void CRecordset::Edit()\n2778 int CHeaderCtrl::EditFilter(int,int)\n2779 CEdit * CListCtrl::EditLabel(int)\n2780 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2781 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2782 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2783 unsigned char & CByteArray::ElementAt(int)\n2784 unsigned long & CDWordArray::ElementAt(int)\n2785 CObject * & CObArray::ElementAt(int)\n2786 void * & CPtrArray::ElementAt(int)\n2787 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringArray::ElementAt(int)\n2788 unsigned int & CUIntArray::ElementAt(int)\n2789 unsigned short & CWordArray::ElementAt(int)\n2790 int CDC::Ellipse(int,int,int,int)\n2791 int CDC::Ellipse(tagRECT const *)\n2792 void CDBException::Empty()\n2793 void COleDataSource::Empty()\n2794 void CEdit::EmptyUndoBuffer()\n2795 void CRichEditCtrl::EmptyUndoBuffer()\n2796 void CCheckListBox::Enable(int,int)\n2797 void CCmdUI::Enable(int)\n2798 void COleCmdUI::Enable(int)\n2799 void CStatusCmdUI::Enable(int)\n2800 void CTestCmdUI::Enable(int)\n2801 void CToolCmdUI::Enable(int)\n2802 int CWinApp::Enable3dControls()\n2803 void CWnd::EnableActiveAccessibility()\n2804 void CCmdTarget::EnableAggregation()\n2805 void CCmdTarget::EnableAutomation()\n2806 void CRecordset::EnableBookmarks()\n2807 void COleMessageFilter::EnableBusyDialog(int)\n2808 int CToolBarCtrl::EnableButton(int,int)\n2809 void COleDocument::EnableCompoundFile(int)\n2810 void CCmdTarget::EnableConnections()\n2811 void CControlBar::EnableDocking(unsigned long)\n2812 void CFrameWnd::EnableDocking(unsigned long)\n2813 void CReBar::EnableDocking(unsigned long)\n2814 void CStatusBar::EnableDocking(unsigned long)\n2815 void COleControlSite::EnableDSC()\n2816 void CWinApp::EnableHtmlHelp()\n2817 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2818 long CBrowserControlSite::EnableModeless(int)\n2819 long CDHtmlDialog::EnableModeless(int)\n2820 void CWinApp::EnableModeless(int)\n2821 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2822 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2823 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2824 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2825 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2826 void COleMessageFilter::EnableNotRespondingDialog(int)\n2827 int CScrollBar::EnableScrollBar(unsigned int)\n2828 int CWnd::EnableScrollBar(int,unsigned int)\n2829 void CWnd::EnableScrollBarCtrl(int,int)\n2830 void CWinApp::EnableShellOpen()\n2831 void COleControl::EnableSimpleFrame()\n2832 void CPropertySheet::EnableStackedTabs(int)\n2833 int CInternetSession::EnableStatusCallback(int)\n2834 int CWnd::EnableToolTips(int)\n2835 int CWnd::EnableTrackingToolTips(int)\n2836 void CCmdTarget::EnableTypeLib()\n2837 int COleControlSite::EnableWindow(int)\n2838 int CWnd::EnableWindow(int)\n2839 void COleMessageFilter::EndBusyState()\n2840 void CAsyncMonikerFile::EndCallbacks()\n2841 long COleLinkingDoc::EndDeferErrors(long)\n2842 void CDialog::EndDialog(int)\n2843 void CPropertyPage::EndDialog(int)\n2844 void CPropertySheet::EndDialog(int)\n2845 int CDC::EndDoc()\n2846 void CDockContext::EndDrag()\n2847 void CImageList::EndDrag()\n2848 void CReBarCtrl::EndDrag()\n2849 void CWnd::EndModalLoop(int)\n2850 void CFrameWnd::EndModalState()\n2851 void CWnd::EndModalState()\n2852 int CDC::EndPage()\n2853 void CWnd::EndPaint(tagPAINT*)\n2854 int CDC::EndPath()\n2855 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2856 void CDockContext::EndResize()\n2857 void CCmdTarget::EndWaitCursor()\n2858 void COleDataObject::EnsureClipboardObject()\n2859 long CWnd::EnsureStdObj()\n2860 int CListCtrl::EnsureVisible(int,int)\n2861 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n2862 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2863 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2864 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2865 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2866 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2867 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2868 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2869 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2870 int COlePropertyPage::EnumControls(HWND__ *,long)\n2871 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2872 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2873 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2874 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2875 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2876 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2877 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2878 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2879 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n2880 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2881 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2882 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2883 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2884 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2885 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2886 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2887 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2888 int CRgn::EqualRgn(CRgn *)const \n2889 void CControlBar::EraseNonClient()\n2890 int CFileException::ErrnoToException(int)\n2891 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2892 int CDC::Escape(int,int,char const *,int,char *)\n2893 int CDC::Escape(int,int,char const *,void *)\n2894 int CMetaFileDC::Escape(int,int,char const *,void *)\n2895 int CPreviewDC::Escape(int,int,char const *,void *)\n2896 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2897 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2898 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2899 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2900 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2901 int COleControl::ExchangeExtent(CPropExchange *)\n2902 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2903 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2904 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2905 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2906 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2907 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2908 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2909 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2910 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2911 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2912 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2913 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2914 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2915 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2916 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2917 void COleControl::ExchangeStockProps(CPropExchange *)\n2918 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2919 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n2920 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2921 int CDC::ExcludeClipRect(int,int,int,int)\n2922 int CDC::ExcludeClipRect(tagRECT const *)\n2923 int CDC::ExcludeUpdateRgn(CWnd *)\n2924 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2925 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2926 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2927 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2928 int CHtmlEditView::ExecHandler(unsigned int)\n2929 int CWnd::ExecuteDlgInit(void *)\n2930 int CWnd::ExecuteDlgInit(char const *)\n2931 void CRecordset::ExecuteSetPosUpdate()\n2932 void CDatabase::ExecuteSQL(char const *)\n2933 void CRecordset::ExecuteUpdateSQL()\n2934 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2935 void CFrameWnd::ExitHelpMode()\n2936 int COleControlModule::ExitInstance()\n2937 int CWinApp::ExitInstance()\n2938 int CWinThread::ExitInstance()\n2939 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n2940 unsigned long CCmdTarget::ExternalAddRef()\n2941 void CCmdTarget::ExternalDisconnect()\n2942 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2943 unsigned long CCmdTarget::ExternalRelease()\n2944 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n2945 HICON__ * CImageList::ExtractIconA(int)\n2946 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int *)\n2947 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2948 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int *)\n2949 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2950 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2951 void CDataExchange::Fail()\n2952 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2953 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2954 void CArchive::FillBuffer(unsigned int)\n2955 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2956 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2957 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2958 int CDC::FillPath()\n2959 void CDC::FillRect(tagRECT const *,CBrush *)\n2960 int CDC::FillRgn(CRgn *,CBrush *)\n2961 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2962 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2963 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2964 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2965 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2966 void CWnd::FilterToolTipMessage(tagMSG *)\n2967 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2968 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2969 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2970 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2971 int CDockBar::FindBar(CControlBar *,int)\n2972 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2973 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2974 int CFileFind::FindFile(char const *,unsigned long)\n2975 int CFtpFileFind::FindFile(char const *,unsigned long)\n2976 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2977 int CGopherFileFind::FindFile(char const *,unsigned long)\n2978 __POSITION * CObList::FindIndex(int)const \n2979 __POSITION * CPtrList::FindIndex(int)const \n2980 __POSITION * CStringList::FindIndex(int)const \n2981 int CListCtrl::FindItem(tagLVFINDINFOA *,int)const \n2982 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2983 int CFindReplaceDialog::FindNext()const \n2984 int CFileFind::FindNextFileA()\n2985 int CFtpFileFind::FindNextFileA()\n2986 int CGopherFileFind::FindNextFileA()\n2987 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2988 int CDHtmlDialog::FindSinkForObject(char const *)\n2989 char const * CRecordset::FindSQLToken(char const *,char const *)\n2990 int CComboBox::FindString(int,char const *)const \n2991 int CComboBoxEx::FindString(int,char const *)const \n2992 int CListBox::FindString(int,char const *)const \n2993 int CComboBox::FindStringExact(int,char const *)const \n2994 int CListBox::FindStringExact(int,char const *)const \n2995 int CEditView::FindTextA(char const *,int,int)\n2996 long CRichEditCtrl::FindTextA(unsigned long,_findtextexa *)const \n2997 int CRichEditView::FindTextA(_AFX_RICHEDIT_STATE *)\n2998 int CRichEditView::FindTextA(char const *,int,int,int)\n2999 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3000 int CRichEditView::FindTextSimple(char const *,int,int,int)\n3001 CWnd * CWnd::FindWindowA(char const *,char const *)\n3002 CWnd * CWnd::FindWindowExA(HWND__ *,HWND__ *,char const *,char const *)\n3003 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3004 int COleClientItem::FinishCreate(long)\n3005 void COleControl::FireClick()\n3006 void COleControl::FireDblClick()\n3007 void COleControl::FireError(long,char const *,unsigned int)\n3008 void COleControl::FireEvent(long,unsigned char *,...)\n3009 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3010 void COleControl::FireEventV(long,unsigned char *,char *)\n3011 void COleControl::FireKeyDown(unsigned short *,short)\n3012 void COleControl::FireKeyPress(unsigned short *)\n3013 void COleControl::FireKeyUp(unsigned short *,short)\n3014 void COleControl::FireMouseDown(short,short,long,long)\n3015 void COleControl::FireMouseMove(short,short,long,long)\n3016 void COleControl::FireMouseUp(short,short,long,long)\n3017 void COleControl::FireReadyStateChange()\n3018 void CRecordset::Fixups()\n3019 int CWnd::FlashWindow(int)\n3020 int CDC::FlattenPath()\n3021 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3022 int CDC::FloodFill(int,int,unsigned long)\n3023 void CArchive::Flush()\n3024 void CDumpContext::Flush()\n3025 void CFile::Flush()\n3026 void CInternetFile::Flush()\n3027 void CMemFile::Flush()\n3028 void CMonikerFile::Flush()\n3029 void COleStreamFile::Flush()\n3030 void CSocketFile::Flush()\n3031 void CStdioFile::Flush()\n3032 void COleDataSource::FlushClipboard()\n3033 int CRecordset::FlushResultSet()\n3034 int CEdit::FmtLines(int)\n3035 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n3036 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3037 void COleControl::ForwardActivationMsg(tagMSG *)\n3038 void CDC::FrameRect(tagRECT const *,CBrush *)\n3039 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3040 void CAfxStringMgr::Free(ATL::CStringData *)\n3041 void CDatabase::Free()\n3042 void CFixedAlloc::Free(void *)\n3043 void CFixedAllocNoSync::Free(void *)\n3044 void CMemFile::Free(unsigned char *)\n3045 void CSharedFile::Free(unsigned char *)\n3046 void CFixedAlloc::FreeAll()\n3047 void CFixedAllocNoSync::FreeAll()\n3048 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3049 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3050 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3051 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3052 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3053 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3054 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3055 void CRecordset::FreeDataCache()\n3056 void CPlex::FreeDataChain()\n3057 void CByteArray::FreeExtra()\n3058 void CDWordArray::FreeExtra()\n3059 void CObArray::FreeExtra()\n3060 void CPtrArray::FreeExtra()\n3061 void CStringArray::FreeExtra()\n3062 void CUIntArray::FreeExtra()\n3063 void CWordArray::FreeExtra()\n3064 void CObList::FreeNode(CObList::CNode *)\n3065 void CPtrList::FreeNode(CPtrList::CNode *)\n3066 void CStringList::FreeNode(CStringList::CNode *)\n3067 void CRecordset::FreeRowset()\n3068 void CThreadSlotData::FreeSlot(int)\n3069 void CProperty::FreeValue()\n3070 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3071 void COleControlContainer::FreezeAllEvents(int)\n3072 void COleControlSite::FreezeEvents(int)\n3073 long COleControl::XOleControl::FreezeEvents(int)\n3074 int COleClientItem::FreezeLink()\n3075 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3076 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3077 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3078 CDC * CDC::FromHandle(HDC__ *)\n3079 CFont * CFont::FromHandle(HFONT__ *)\n3080 CGdiObject * CGdiObject::FromHandle(void *)\n3081 CObject * CHandleMap::FromHandle(void *)\n3082 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3083 CMenu * CMenu::FromHandle(HMENU__ *)\n3084 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3085 CPen * CPen::FromHandle(HPEN__ *)\n3086 CRgn * CRgn::FromHandle(HRGN__ *)\n3087 CSocket * CSocket::FromHandle(unsigned int)\n3088 CWnd * CWnd::FromHandle(HWND__ *)\n3089 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3090 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3091 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3092 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3093 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3094 CRuntime* CRuntimeClass::FromName(char const *)\n3095 void * CProperty::Get(unsigned long *)\n3096 void * CProperty::Get()\n3097 void * CPropertySection::Get(unsigned long)\n3098 void * CPropertySection::Get(unsigned long,unsigned long *)\n3099 void * CPropertySet::Get(_GUID,unsigned long)\n3100 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3101 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3102 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3103 long CWnd::get_accChildCount(long *)\n3104 long CWnd::XAccessible::get_accChildCount(long *)\n3105 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3106 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3107 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3108 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3109 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3110 long CWnd::get_accFocus(tagVARIANT *)\n3111 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3112 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3113 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3114 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3115 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3116 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3117 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3118 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3119 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3120 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3121 long CWnd::get_accParent(IDispatch * *)\n3122 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3123 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3124 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3125 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3126 long CWnd::get_accSelection(tagVARIANT *)\n3127 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3128 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3129 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3130 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3131 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3132 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3133 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3134 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3135 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3136 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3137 long CWnd::GetAccessibleChildCount()\n3138 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3139 unsigned long COleControl::GetActivationPolicy()\n3140 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3141 CDocument * CFrameWnd::GetActiveDocument()\n3142 CFrameWnd * CFrameWnd::GetActiveFrame()\n3143 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3144 int CPropertySheet::GetActiveIndex()const \n3145 CPropertyPage * CPropertySheet::GetActivePage()const \n3146 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3147 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3148 CView * CFrameWnd::GetActiveView()const \n3149 CView * COleClientItem::GetActiveView()const \n3150 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3151 CRichEditView * CRichEditCntrItem::GetActiveView()\n3152 CWnd * CWnd::GetActiveWindow()\n3153 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3154 int CIPAddressCtrl::GetAddress(unsigned long &)\n3155 int CHtmlView::GetAddressBar()const \n3156 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3157 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3158 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3159 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3160 int CToolBarCtrl::GetAnchorHighlight()const \n3161 int CListBox::GetAnchorIndex()const \n3162 short COleControl::GetAppearance()\n3163 IDispatch * CHtmlView::GetApplication()const \n3164 HKEY__ * CWinApp::GetAppRegistryKey()\n3165 int CDC::GetArcDirection()const \n3166 CSize CDC::GetAspectRatioFilter()const \n3167 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3168 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3169 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3170 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3171 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3172 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3173 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3174 unsigned char CByteArray::GetAt(int)const \n3175 unsigned long CDWordArray::GetAt(int)const \n3176 CObject * CObArray::GetAt(int)const \n3177 CObject * & CObList::GetAt(__POSITION *)\n3178 CObject const * & CObList::GetAt(__POSITION *)const \n3179 void * CPtrArray::GetAt(int)const \n3180 void * & CPtrList::GetAt(__POSITION *)\n3181 void const * & CPtrList::GetAt(__POSITION *)const \n3182 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringArray::GetAt(int)const \n3183 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringList::GetAt(__POSITION *)\n3184 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetAt(__POSITION *)const \n3185 unsigned int CUIntArray::GetAt(int)const \n3186 unsigned short CWordArray::GetAt(int)const \n3187 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3188 unsigned long COleControl::GetBackColor()\n3189 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3190 unsigned int CReBarCtrl::GetBandCount()const \n3191 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOA *)const \n3192 unsigned int CReBarCtrl::GetBarHeight()const \n3193 void CControlBar::GetBarInfo(CControlBarInfo *)\n3194 void CDockBar::GetBarInfo(CControlBarInfo *)\n3195 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3196 unsigned long CControlBar::GetBarStyle()\n3197 unsigned int CSpinButtonCtrl::GetBase()const \n3198 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3199 IBinding * CAsyncMonikerFile::GetBinding()const \n3200 int CBitmap::GetBitmap(tagBITMAP *)\n3201 HBITMAP__ * CButton::GetBitmap()const \n3202 HBITMAP__ * CStatic::GetBitmap()const \n3203 int CToolBarCtrl::GetBitmap(int)const \n3204 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3205 CSize CBitmap::GetBitmapDimension()const \n3206 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3207 int CHeaderCtrl::GetBitmapMargin()const \n3208 unsigned long CDC::GetBkColor()const \n3209 unsigned long CImageList::GetBkColor()const \n3210 unsigned long CListCtrl::GetBkColor()const \n3211 unsigned long CReBarCtrl::GetBkColor()const \n3212 unsigned long CTreeCtrl::GetBkColor()const \n3213 int CListCtrl::GetBkImage(tagLVBKIMAGEA *)const \n3214 int CDC::GetBkMode()const \n3215 void * CBlobProperty::GetBlob()\n3216 void CRecordset::GetBookmark(CDBVariant &)\n3217 unsigned long CDatabase::GetBookmarkPersistence()const \n3218 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3219 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3220 CRect CControlBar::GetBorders()const \n3221 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3222 int CStatusBarCtrl::GetBorders(int *)const \n3223 short COleControl::GetBorderStyle()\n3224 long CDataSourceControl::GetBoundClientRow()\n3225 int CRecordset::GetBoundFieldIndex(void *)\n3226 int CRecordset::GetBoundParamIndex(void *)\n3227 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3228 CPoint CDC::GetBrushOrg()const \n3229 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOA *)const \n3230 CWnd * CSliderCtrl::GetBuddy(int)const \n3231 CWnd * CSpinButtonCtrl::GetBuddy()const \n3232 unsigned int CEditView::GetBufferLength()const \n3233 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3234 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3235 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3236 int CHtmlView::GetBusy()const \n3237 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3238 int CToolBarCtrl::GetButtonCount()const \n3239 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3240 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOA *)const \n3241 unsigned long CToolBarCtrl::GetButtonSize()const \n3242 unsigned int CButton::GetButtonStyle()const \n3243 unsigned int CToolBar::GetButtonStyle(int)const \n3244 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n3245 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3246 void COleSafeArray::GetByteArray(CByteArray &)\n3247 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3248 unsigned short CPropertySet::GetByteOrder()\n3249 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3250 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3251 unsigned int CListCtrl::GetCallbackMask()const \n3252 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3253 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3254 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3255 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3256 CWnd * COleControl::GetCapture()\n3257 CWnd * CWnd::GetCapture()\n3258 long COleControlSite::XOleIPSite::GetCapture()\n3259 int CListBox::GetCaretIndex()const \n3260 CPoint CWnd::GetCaretPos()\n3261 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3262 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABC *)const \n3263 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABCFLOAT *)const \n3264 unsigned long CDC::GetCharacterPlacementA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,tagGCP_RESULTSA *,unsigned long)const \n3265 unsigned long CDC::GetCharacterPlacementA(char const *,int,int,tagGCP_RESULTSA *,unsigned long)const \n3266 void CFontDialog::GetCharFormat(_charformat &)const \n3267 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n3268 CPoint CRichEditCtrl::GetCharPos(long)const \n3269 int CDC::GetCharWidthA(unsigned int,unsigned int,int *)const \n3270 int CDC::GetCharWidthA(unsigned int,unsigned int,float *)const \n3271 int CButton::GetCheck()const \n3272 int CCheckListBox::GetCheck(int)\n3273 int CListCtrl::GetCheck(int)const \n3274 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3275 int CWnd::GetCheckedRadioButton(int,int)\n3276 unsigned int CCheckListBox::GetCheckStyle()\n3277 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3278 long CBlobProperty::GetClassID(_GUID *)\n3279 void COleClientItem::GetClassID(_GUID *)const \n3280 _GUID const & COleConvertDialog::GetClassID()const \n3281 _GUID const & COleInsertDialog::GetClassID()const \n3282 _GUID const & COleObjectFactory::GetClassID()const \n3283 _GUID CPropertySet::GetClassID()\n3284 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3285 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3286 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3287 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3288 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3289 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3290 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n3291 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3292 void COleControl::GetClientOffset(long *,long *)const \n3293 void COleControl::GetClientRect(tagRECT *)const \n3294 void CWnd::GetClientRect(tagRECT *)const \n3295 IOleClientSite * COleClientItem::GetClientSite()\n3296 IOleClientSite * COleControl::GetClientSite()\n3297 IOleClientSite * COleServerDoc::GetClientSite()const \n3298 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3299 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3300 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3301 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3302 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3303 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3304 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3305 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3306 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3307 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3308 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3309 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3310 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3311 COleDataSource * COleDataSource::GetClipboardOwner()\n3312 CWnd * CWnd::GetClipboardOwner()\n3313 CWnd * CWnd::GetClipboardViewer()\n3314 int CDC::GetClipBox(tagRECT *)const \n3315 int CMetaFileDC::GetClipBox(tagRECT *)const \n3316 unsigned long CColorDialog::GetColor()const \n3317 unsigned long CFontDialog::GetColor()const \n3318 unsigned long CMonthCalCtrl::GetColor(int)const \n3319 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3320 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3321 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3322 int CListCtrl::GetColumn(int,tagLVCOLUMNA *)const \n3323 int CSplitterWnd::GetColumnCount()const \n3324 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3325 int CListCtrl::GetColumnOrderArray(int *,int)\n3326 int CListCtrl::GetColumnWidth(int)const \n3327 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3328 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3329 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3330 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CDatabase::GetConnect()const \n3331 void CDatabase::GetConnectInfo()\n3332 int CConnectionPoint::GetConnectionCount()\n3333 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3334 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3335 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3336 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3337 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3338 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3339 CPtrArray const * CConnectionPoint::GetConnections()\n3340 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3341 IDispatch * CHtmlView::GetContainer()const \n3342 IOleItemContainer * COleDocument::GetContainer()\n3343 IOleItemContainer * COleLinkingDoc::GetContainer()\n3344 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3345 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3346 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3347 unsigned long CInternetConnection::GetContext()const \n3348 unsigned long CInternetFile::GetContext()const \n3349 unsigned long CInternetSession::GetContext()const \n3350 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3351 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3352 COleControl * CDataPathProperty::GetControl()\n3353 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3354 COleControlContainer * CWnd::GetControlContainer()\n3355 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n3356 unsigned long COleControl::GetControlFlags()\n3357 void COleControlSite::GetControlInfo()\n3358 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3359 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3360 IUnknown * CCmdTarget::GetControllingUnknown()\n3361 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3362 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n3363 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n3364 void COleControl::GetControlSize(int *,int *)\n3365 int COlePropertyPage::GetControlStatus(unsigned int)\n3366 IUnknown * CWnd::GetControlUnknown()\n3367 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3368 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3369 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n3370 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n3371 int CPrintDialog::GetCopies()const \n3372 int CPrintDialogEx::GetCopies()const \n3373 int CByteArray::GetCount()const \n3374 int CComboBox::GetCount()const \n3375 int CControlBar::GetCount()const \n3376 int CDWordArray::GetCount()const \n3377 int CListBox::GetCount()const \n3378 int CMapPtrToPtr::GetCount()const \n3379 int CMapPtrToWord::GetCount()const \n3380 int CMapStringToOb::GetCount()const \n3381 int CMapStringToPtr::GetCount()const \n3382 int CMapStringToString::GetCount()const \n3383 int CMapWordToOb::GetCount()const \n3384 int CMapWordToPtr::GetCount()const \n3385 int CObArray::GetCount()const \n3386 int CObList::GetCount()const \n3387 unsigned long CPropertySection::GetCount()\n3388 unsigned long CPropertySet::GetCount()\n3389 int CPtrArray::GetCount()const \n3390 int CPtrList::GetCount()const \n3391 int CStringArray::GetCount()const \n3392 int CStringList::GetCount()const \n3393 unsigned int CTreeCtrl::GetCount()const \n3394 int CUIntArray::GetCount()const \n3395 int CWordArray::GetCount()const \n3396 int CListCtrl::GetCountPerPage()const \n3397 int CFileFind::GetCreationTime(ATL::CTime &)const \n3398 int CFileFind::GetCreationTime(_FILETIME *)const \n3399 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3400 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3401 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3402 int CTabCtrl::GetCurFocus()const \n3403 CBitmap * CDC::GetCurrentBitmap()const \n3404 CBrush * CDC::GetCurrentBrush()const \n3405 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3406 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n3407 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3408 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n3409 CFont * CDC::GetCurrentFont()const \n3410 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n3411 tagMSG const * CWnd::GetCurrentMessage()\n3412 CPalette * CDC::GetCurrentPalette()const \n3413 CPen * CDC::GetCurrentPen()const \n3414 CPoint CDC::GetCurrentPosition()const \n3415 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3416 int CComboBox::GetCurSel()const \n3417 int CListBox::GetCurSel()const \n3418 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3419 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3420 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3421 int CTabCtrl::GetCurSel()const \n3422 HICON__ * CButton::GetCursor()\n3423 IUnknown * CDataBoundProperty::GetCursor()\n3424 IUnknown * CDataSourceControl::GetCursor()\n3425 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3426 HICON__ * CStatic::GetCursor()\n3427 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3428 int CDatabase::GetCursorCommitBehavior()const \n3429 int CDatabase::GetCursorRollbackBehavior()const \n3430 unsigned char * CByteArray::GetData()\n3431 unsigned char const * CByteArray::GetData()const \n3432 unsigned long * CDWordArray::GetData()\n3433 unsigned long const * CDWordArray::GetData()const \n3434 CObject * * CObArray::GetData()\n3435 CObject const * * CObArray::GetData()const \n3436 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3437 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3438 void * * CPtrArray::GetData()\n3439 void const * * CPtrArray::GetData()const \n3440 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3441 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > * CStringArray::GetData()\n3442 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const * CStringArray::GetData()const \n3443 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3444 unsigned int * CUIntArray::GetData()\n3445 unsigned int const * CUIntArray::GetData()const \n3446 unsigned short * CWordArray::GetData()\n3447 unsigned short const * CWordArray::GetData()const \n3448 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3449 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3450 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3451 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3452 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n3453 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3454 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3455 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3456 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3457 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3458 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3459 IDataObject * COleServerItem::GetDataObject()\n3460 COleControl::CControlDataSource * COleControl::GetDataSource()\n3461 COleDataSource * COleServerItem::GetDataSource()\n3462 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3463 CDC * CWnd::GetDC()\n3464 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3465 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3466 HACCEL__ * CDocument::GetDefaultAccelerator()\n3467 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3468 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3469 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3470 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n3471 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n3472 short CRecordset::GetDefaultFieldType(short)\n3473 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3474 HMENU__ * CDocument::GetDefaultMenu()\n3475 HMENU__ * COleServerDoc::GetDefaultMenu()\n3476 int CPrintDialog::GetDefaults()\n3477 int CPrintDialogEx::GetDefaults()\n3478 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n3479 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3480 unsigned long COleControlSite::GetDefBtnCode()\n3481 unsigned long CDialog::GetDefID()const \n3482 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3483 int CDumpContext::GetDepth()const \n3484 CWnd * CWnd::GetDescendantWindow(int,int)const \n3485 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3486 CWnd * CWnd::GetDesktopWindow()\n3487 int CDC::GetDeviceCaps(int)const \n3488 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n3489 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n3490 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n3491 CPoint CScrollView::GetDeviceScrollPosition()const \n3492 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3493 _devicemodeA * CPageSetupDialog::GetDevMode()const \n3494 _devicemodeA * CPrintDialog::GetDevMode()const \n3495 _devicemodeA * CPrintDialogEx::GetDevMode()const \n3496 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3497 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3498 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3499 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3500 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3501 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3502 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3503 unsigned long COleSafeArray::GetDim()\n3504 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3505 int CCmdTarget::GetDispatchIID(_GUID *)\n3506 int COleControl::GetDispatchIID(_GUID *)\n3507 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3508 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3509 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3510 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetDisplayName()\n3511 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n3512 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3513 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3514 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3515 int COleControlSite::GetDlgCtrlID()const \n3516 int CWnd::GetDlgCtrlID()const \n3517 CWnd * COleControlContainer::GetDlgItem(int)const \n3518 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3519 CWnd * CWnd::GetDlgItem(int)const \n3520 void CWnd::GetDlgItem(int,HWND__ * *)const \n3521 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3522 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3523 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n3524 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3525 int CWnd::GetDlgItemTextA(int,char *,int)const \n3526 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3527 CDockBar * CDockContext::GetDockBar(unsigned long)\n3528 CControlBar * CDockBar::GetDockedControlBar(int)const \n3529 int CDockBar::GetDockedCount()const \n3530 int CDockBar::GetDockedVisibleCount()const \n3531 CFrameWnd * CControlBar::GetDockingFrame()const \n3532 void CFrameWnd::GetDockState(CDockState &)const \n3533 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3534 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3535 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n3536 CDocTemplate * CDocument::GetDocTemplate()const \n3537 CDocument * CDocItem::GetDocument()const \n3538 COleDocument * COleClientItem::GetDocument()const \n3539 COleServerDoc * COleServerItem::GetDocument()const \n3540 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3541 CRichEditDoc * CRichEditView::GetDocument()const \n3542 CDocument * CView::GetDocument()const \n3543 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3544 int CDocManager::GetDocumentCount()\n3545 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3546 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3547 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3548 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3549 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3550 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3551 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n3552 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n3553 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n3554 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3555 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3556 int CComboBox::GetDroppedState()const \n3557 int CComboBox::GetDroppedWidth()const \n3558 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3559 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3560 IDropTarget * CReBarCtrl::GetDropTarget()const \n3561 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3562 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3563 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3564 IUnknown * CWnd::GetDSCCursor()\n3565 CEdit * CListCtrl::GetEditControl()const \n3566 CEdit * CTreeCtrl::GetEditControl()const \n3567 CEdit * CComboBoxEx::GetEditCtrl()\n3568 CEdit & CEditView::GetEditCtrl()const \n3569 unsigned long CComboBox::GetEditSel()const \n3570 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n3571 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n3572 void COleSafeArray::GetElement(long *,void *)\n3573 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n3574 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n3575 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n3576 wchar_t * CDHtmlDialog::GetElementText(char const *)\n3577 unsigned long COleSafeArray::GetElemSize()\n3578 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3579 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3580 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3581 int COleControl::GetEnabled()\n3582 HENHMETAFILE__ * CStatic::GetEnhMetaFileA()const \n3583 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3584 int CPalette::GetEntryCount()\n3585 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3586 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3587 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3588 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3589 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3590 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3591 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3592 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3593 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3594 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3595 int COleControlSite::GetEventIID(_GUID *)\n3596 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3597 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n3598 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n3599 long CRichEditCtrl::GetEventMask()const \n3600 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3601 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3602 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3603 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3604 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3605 unsigned long COleControlSite::GetExStyle()const \n3606 unsigned long CWnd::GetExStyle()const \n3607 IDispatch * COleControl::GetExtendedControl()\n3608 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3609 unsigned long CComboBoxEx::GetExtendedStyle()const \n3610 unsigned long CListCtrl::GetExtendedStyle()\n3611 unsigned long CTabCtrl::GetExtendedStyle()\n3612 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3613 int CComboBox::GetExtendedUI()const \n3614 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3615 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3616 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3617 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3618 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3619 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3620 long CBrowserControlSite::GetExternal(IDispatch * *)\n3621 long CDHtmlDialog::GetExternal(IDispatch * *)\n3622 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3623 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3624 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3625 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3626 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetFaceName()const \n3627 short CRecordset::GetFieldIndexByName(char const *)\n3628 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3629 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3630 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3631 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3632 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3633 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n3634 CFile * CArchive::GetFile()const \n3635 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n3636 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n3637 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3638 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n3639 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n3640 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n3641 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n3642 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n3643 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFileName()\n3644 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n3645 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n3646 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n3647 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n3648 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n3649 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n3650 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n3651 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3652 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n3653 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n3654 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n3655 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n3656 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetFindString()const \n3657 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3658 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3659 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3660 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3661 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3662 CFrameWnd * COleDocument::GetFirstFrame()\n3663 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3664 __POSITION * CDocument::GetFirstViewPosition()const \n3665 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3666 int CEdit::GetFirstVisibleLine()const \n3667 int CRichEditCtrl::GetFirstVisibleLine()const \n3668 CWnd * COleControl::GetFocus()\n3669 CWnd * CWnd::GetFocus()\n3670 long COleControlSite::XOleIPSite::GetFocus()\n3671 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n3672 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n3673 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n3674 IFontDisp * COleControl::GetFont()\n3675 CFont * CWnd::GetFont()const \n3676 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3677 IFontDisp * CFontHolder::GetFontDispatch()\n3678 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3679 HFONT__ * CFontHolder::GetFontHandle()\n3680 unsigned long CDC::GetFontLanguageInfo()const \n3681 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3682 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n3683 unsigned long COleControl::GetForeColor()\n3684 CWnd * CWnd::GetForegroundWindow()\n3685 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3686 _GUID CPropertySection::GetFormatID()\n3687 unsigned short CPropertySet::GetFormatVersion()\n3688 int CPrintDialog::GetFromPage()const \n3689 unsigned int CPrintInfo::GetFromPage()const \n3690 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFromPrefix()\n3691 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n3692 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n3693 int CHtmlView::GetFullScreen()const \n3694 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3695 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3696 unsigned long CDC::GetGlyphOutlineA(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3697 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n3698 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3699 CBrush * CDC::GetHalftoneBrush()\n3700 void * CEdit::GetHandle()const \n3701 unsigned int CRectTracker::GetHandleMask()const \n3702 void CRectTracker::GetHandleRect(int,CRect *)const \n3703 int CRectTracker::GetHandleSize(tagRECT const *)const \n3704 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3705 unsigned int CMapPtrToWord::GetHashTableSize()const \n3706 unsigned int CMapStringToOb::GetHashTableSize()const \n3707 unsigned int CMapStringToPtr::GetHashTableSize()const \n3708 unsigned int CMapStringToString::GetHashTableSize()const \n3709 unsigned int CMapWordToOb::GetHashTableSize()const \n3710 unsigned int CMapWordToPtr::GetHashTableSize()const \n3711 CObject * & CObList::GetHead()\n3712 CObject const * & CObList::GetHead()const \n3713 void * & CPtrList::GetHead()\n3714 void const * & CPtrList::GetHead()const \n3715 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringList::GetHead()\n3716 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetHead()const \n3717 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3718 __POSITION * CObList::GetHeadPosition()const \n3719 __POSITION * CPtrList::GetHeadPosition()const \n3720 __POSITION * CStringList::GetHeadPosition()const \n3721 long CHtmlView::GetHeight()const \n3722 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3723 void CSplitterWnd::GetHitRect(int,CRect &)\n3724 unsigned int CComboBox::GetHorizontalExtent()const \n3725 int CListBox::GetHorizontalExtent()const \n3726 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3727 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3728 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3729 HICON__ * CListCtrl::GetHotCursor()\n3730 CImageList * CToolBarCtrl::GetHotImageList()const \n3731 int CListCtrl::GetHotItem()\n3732 int CToolBarCtrl::GetHotItem()const \n3733 unsigned long CHotKeyCtrl::GetHotKey()const \n3734 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3735 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n3736 unsigned long CListCtrl::GetHoverTime()const \n3737 IDispatch * CHtmlView::GetHtmlDocument()const \n3738 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n3739 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n3740 unsigned int COleControl::GetHwnd()\n3741 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3742 HICON__ * CButton::GetIcon()const \n3743 HICON__ * CStatic::GetIcon()const \n3744 HICON__ * CWnd::GetIcon(int)const \n3745 HICON__ * COleClientItem::GetIconFromRegistry()const \n3746 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3747 void * COleChangeIconDialog::GetIconicMetafile()const \n3748 void * COleClientItem::GetIconicMetafile()\n3749 void * COleConvertDialog::GetIconicMetafile()const \n3750 void * COleInsertDialog::GetIconicMetafile()const \n3751 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3752 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3753 unsigned long CProperty::GetID()\n3754 int CPropertySection::GetID(char const *,unsigned long *)\n3755 IDataObject * COleDataObject::GetIDataObject(int)\n3756 IDispatch * CCmdTarget::GetIDispatch(int)\n3757 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3758 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3759 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3760 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3761 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3762 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3763 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3764 _GUID const & COleControl::XEventConnPt::GetIID()\n3765 int CImageList::GetImageCount()const \n3766 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3767 CImageList * CComboBoxEx::GetImageList()const \n3768 CImageList * CHeaderCtrl::GetImageList()const \n3769 CImageList * CListCtrl::GetImageList(int)const \n3770 CImageList * CReBarCtrl::GetImageList()const \n3771 CImageList * CTabCtrl::GetImageList()const \n3772 CImageList * CToolBarCtrl::GetImageList()const \n3773 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3774 unsigned int CTreeCtrl::GetIndent()const \n3775 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3776 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3777 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3778 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3779 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3780 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3781 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3782 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3783 CWnd * COleClientItem::GetInPlaceWindow()\n3784 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3785 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3786 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3787 void CSplitterWnd::GetInsideRect(CRect &)const \n3788 IUnknown * CCmdTarget::GetInterface(void const *)\n3789 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3790 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3791 IUnknown * COleControl::GetInterfaceHook(void const *)\n3792 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3793 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3794 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3795 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3796 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3797 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3798 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3799 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3800 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3801 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3802 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3803 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3804 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3805 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3806 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3807 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3808 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3809 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3810 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3811 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3812 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3813 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3814 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3815 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3816 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3817 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n3818 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n3819 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n3820 int CHeaderCtrl::GetItem(int,_HD_ITEMA *)const \n3821 int CListCtrl::GetItem(tagLVITEMA *)const \n3822 int CTabCtrl::GetItem(int,tagTCITEMA *)const \n3823 int CTreeCtrl::GetItem(tagTVITEMA *)const \n3824 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3825 int CHeaderCtrl::GetItemCount()const \n3826 int CListCtrl::GetItemCount()const \n3827 int CTabCtrl::GetItemCount()const \n3828 unsigned long CComboBox::GetItemData(int)const \n3829 unsigned long CListBox::GetItemData(int)const \n3830 unsigned long CListCtrl::GetItemData(int)const \n3831 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3832 void * CComboBox::GetItemDataPtr(int)const \n3833 void * CListBox::GetItemDataPtr(int)const \n3834 int CComboBox::GetItemHeight(int)const \n3835 int CListBox::GetItemHeight(int)const \n3836 short CTreeCtrl::GetItemHeight()const \n3837 unsigned int CStatusBar::GetItemID(int)const \n3838 unsigned int CToolBar::GetItemID(int)const \n3839 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3840 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetItemName()\n3841 void COleClientItem::GetItemName(char *)const \n3842 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & COleServerItem::GetItemName()const \n3843 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n3844 void COleServerDoc::GetItemPosition(tagRECT *)const \n3845 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n3846 int CListBox::GetItemRect(int,tagRECT *)const \n3847 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3848 void CStatusBar::GetItemRect(int,tagRECT *)const \n3849 int CTabCtrl::GetItemRect(int,tagRECT *)const \n3850 void CToolBar::GetItemRect(int,tagRECT *)const \n3851 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n3852 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3853 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n3854 unsigned int COleClientItem::GetItemState()const \n3855 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n3856 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3857 void COleClientItem::GetItemStorage()\n3858 void COleClientItem::GetItemStorageCompound()\n3859 void COleClientItem::GetItemStorageFlat()\n3860 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n3861 int CListCtrl::GetItemText(int,int,char *,int)const \n3862 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n3863 int CDC::GetKerningPairsA(int,tagKERNINGPAIR *)const \n3864 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n3865 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n3866 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3867 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n3868 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3869 CWnd * CWnd::GetLastActivePopup()const \n3870 int CAsyncSocket::GetLastError()\n3871 unsigned int COleDialog::GetLastError()const \n3872 long COleClientItem::GetLastStatus()const \n3873 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3874 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n3875 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3876 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n3877 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3878 unsigned long CDC::GetLayout()const \n3879 long CRecordset::GetLBFetchSize(long)\n3880 void COleSafeArray::GetLBound(unsigned long,long *)\n3881 long CRecordset::GetLBReallocSize(long)\n3882 int CComboBox::GetLBText(int,char *)const \n3883 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n3884 int CComboBox::GetLBTextLen(int)const \n3885 long CHtmlView::GetLeft()const \n3886 unsigned __int64 CFile::GetLength()const \n3887 unsigned __int64 CFileFind::GetLength()const \n3888 unsigned __int64 CGopherFileFind::GetLength()const \n3889 unsigned __int64 CInternetFile::GetLength()const \n3890 unsigned __int64 CMemFile::GetLength()const \n3891 unsigned __int64 COleStreamFile::GetLength()const \n3892 unsigned __int64 CSocketFile::GetLength()const \n3893 unsigned __int64 CStdioFile::GetLength()const \n3894 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n3895 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3896 unsigned int CEdit::GetLimitText()const \n3897 long CRichEditCtrl::GetLimitText()const \n3898 int CEdit::GetLine(int,char *)const \n3899 int CEdit::GetLine(int,char *,int)const \n3900 int CRichEditCtrl::GetLine(int,char *)const \n3901 int CRichEditCtrl::GetLine(int,char *,int)const \n3902 unsigned long CTreeCtrl::GetLineColor()const \n3903 int CEdit::GetLineCount()const \n3904 int CRichEditCtrl::GetLineCount()const \n3905 int CSliderCtrl::GetLineSize()const \n3906 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n3907 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3908 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3909 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n3910 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3911 CPtrList * CPropertySection::GetList()\n3912 CPtrList * CPropertySet::GetList()\n3913 CListCtrl & CListView::GetListCtrl()const \n3914 unsigned long CComboBox::GetLocale()const \n3915 unsigned long CListBox::GetLocale()const \n3916 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n3917 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n3918 CGopherLocator CGopherFileFind::GetLocator()const \n3919 int CGopherLocator::GetLocatorType(unsigned long &)const \n3920 int CBrush::GetLogBrush(tagLOGBRUSH *)\n3921 int CFont::GetLogFont(tagLOGFONTA *)\n3922 int CPen::GetLogPen(tagLOGPEN *)\n3923 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3924 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n3925 long CFieldExchange::GetLongBinarySize(int)\n3926 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n3927 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,short,short)\n3928 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n3929 CWnd * CWinThread::GetMainWnd()\n3930 int CDC::GetMapMode()const \n3931 void CToolTipCtrl::GetMargin(tagRECT *)const \n3932 unsigned long CEdit::GetMargins()const \n3933 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3934 CRect CRichEditView::GetMargins()const \n3935 int CConnectionPoint::GetMaxConnections()\n3936 unsigned int CPrintInfo::GetMaxPage()const \n3937 int CMonthCalCtrl::GetMaxSelCount()const \n3938 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n3939 int CToolBarCtrl::GetMaxTextRows()const \n3940 int CToolTipCtrl::GetMaxTipWidth()const \n3941 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n3942 CMenu * CWnd::GetMenu()const \n3943 int CHtmlView::GetMenuBar()const \n3944 unsigned long CMenu::GetMenuContextHelpId()const \n3945 unsigned int CMenu::GetMenuItemCount()const \n3946 unsigned int CMenu::GetMenuItemID(int)const \n3947 int CMenu::GetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n3948 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n3949 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n3950 int CMenu::GetMenuStringA(unsigned int,char *,int,unsigned int)const \n3951 CWnd * CFrameWnd::GetMessageBar()\n3952 CWnd * CMDIChildWnd::GetMessageBar()\n3953 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n3954 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n3955 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n3956 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n3957 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n3958 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n3959 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n3960 AFX_MSGMAP const * CDialog::GetMessageMap()const \n3961 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n3962 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n3963 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n3964 AFX_MSGMAP const * CDocument::GetMessageMap()const \n3965 AFX_MSGMAP const * CEditView::GetMessageMap()const \n3966 AFX_MSGMAP const * CFormView::GetMessageMap()const \n3967 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n3968 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n3969 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n3970 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n3971 AFX_MSGMAP const * CListView::GetMessageMap()const \n3972 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n3973 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n3974 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n3975 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n3976 AFX_MSGMAP const * COleControl::GetMessageMap()const \n3977 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n3978 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n3979 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n3980 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n3981 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n3982 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n3983 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n3984 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n3985 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n3986 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n3987 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n3988 AFX_MSGMAP const * CReBar::GetMessageMap()const \n3989 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n3990 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n3991 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n3992 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n3993 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n3994 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n3995 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n3996 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n3997 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n3998 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n3999 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n4000 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n4001 AFX_MSGMAP const * CView::GetMessageMap()const \n4002 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n4003 AFX_MSGMAP const * CWnd::GetMessageMap()const \n4004 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4005 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4006 long CDataSourceControl::GetMetaData()\n4007 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4008 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4009 unsigned int CPrintInfo::GetMinPage()const \n4010 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4011 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4012 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4013 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4014 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4015 float CDC::GetMiterLimit()const \n4016 int CEdit::GetModify()const \n4017 int CRichEditCtrl::GetModify()const \n4018 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4019 IMoniker * CMonikerFile::GetMoniker()const \n4020 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4021 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4022 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4023 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4024 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4025 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4026 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4027 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4028 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4029 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4030 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4031 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4032 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4033 int CMonthCalCtrl::GetMonthDelta()const \n4034 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4035 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4036 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4037 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4038 unsigned long CDC::GetNearestColor(unsigned long)const \n4039 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4040 unsigned long COleClientItem::GetNewItemNumber()\n4041 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4042 CDataBoundProperty * CDataBoundProperty::GetNext()\n4043 CObject * & CObList::GetNext(__POSITION * &)\n4044 CObject const * & CObList::GetNext(__POSITION * &)const \n4045 void * & CPtrList::GetNext(__POSITION * &)\n4046 void const * & CPtrList::GetNext(__POSITION * &)const \n4047 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringList::GetNext(__POSITION * &)\n4048 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetNext(__POSITION * &)const \n4049 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4050 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4051 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n4052 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n4053 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4054 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4055 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4056 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4057 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4058 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4059 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4060 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4061 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4062 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4063 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4064 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4065 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4066 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4067 int CListCtrl::GetNextItem(int,int)const \n4068 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4069 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4070 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4071 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4072 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4073 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4074 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4075 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4076 CView * CDocument::GetNextView(__POSITION * &)const \n4077 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4078 CWnd * CWnd::GetNextWindow(unsigned int)const \n4079 ATL::CStringData * CAfxStringMgr::GetNilString()\n4080 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4081 void CCmdTarget::GetNotSupported()\n4082 void COleControl::GetNotSupported()\n4083 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4084 unsigned int CSliderCtrl::GetNumTics()const \n4085 int CGdiObject::GetObjectA(int,void *)const \n4086 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n4087 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4088 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4089 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4090 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4091 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n4092 unsigned int CArchive::GetObjectSchema()\n4093 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4094 unsigned int CGdiObject::GetObjectType()const \n4095 short CRecordset::GetODBCFieldCount()const \n4096 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4097 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n4098 int CHtmlView::GetOffline()const \n4099 tagOFNA & CFileDialog::GetOFN()\n4100 tagOFNA const & CFileDialog::GetOFN()const \n4101 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4102 IOleObject * COleServerItem::GetOleObject()\n4103 unsigned long COleSafeArray::GetOneDimSize()\n4104 CWnd * CWnd::GetOpenClipboardWindow()\n4105 int CDocManager::GetOpenDocumentCount()\n4106 int CWinApp::GetOpenDocumentCount()\n4107 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4108 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4109 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4110 unsigned int CRichEditCtrl::GetOptions()const \n4111 int CHeaderCtrl::GetOrderArray(int *,int)\n4112 int CListCtrl::GetOrigin(tagPOINT *)const \n4113 unsigned long CPropertySet::GetOSVersion()\n4114 CWnd * COleControl::GetOuterWindow()const \n4115 unsigned int CDC::GetOutlineTextMetricsA(unsigned int,_OUTLINETEXTMETRICA *)const \n4116 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4117 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4118 CSize CDC::GetOutputTabbedTextExtent(char const *,int,int,int *)const \n4119 CSize CDC::GetOutputTextExtent(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)const \n4120 CSize CDC::GetOutputTextExtent(char const *,int)const \n4121 int CDC::GetOutputTextMetrics(tagTEXTMETRICA *)const \n4122 CWnd * CWnd::GetOwner()const \n4123 CPropertyPage * CPropertySheet::GetPage(int)const \n4124 int COleDocObjectItem::GetPageCount(long *,long *)\n4125 int CPropertySheet::GetPageCount()const \n4126 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4127 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4128 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4129 CRect CRichEditView::GetPageRect()const \n4130 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4131 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4132 int CSliderCtrl::GetPageSize()const \n4133 CPalette * CReBarCtrl::GetPalette()const \n4134 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4135 CWnd * CSplitterWnd::GetPane(int,int)const \n4136 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4137 unsigned int CStatusBar::GetPaneStyle(int)const \n4138 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n4139 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4140 CSize CPageSetupDialog::GetPaperSize()const \n4141 CSize CRichEditView::GetPaperSize()const \n4142 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4143 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4144 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4145 CWnd * CWnd::GetParent()const \n4146 IDispatch * CHtmlView::GetParentBrowser()const \n4147 CFrameWnd * CWnd::GetParentFrame()const \n4148 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4149 CWnd * CWnd::GetParentOwner()const \n4150 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4151 int CStatusBarCtrl::GetParts(int,int *)const \n4152 char CEdit::GetPasswordChar()const \n4153 int COlePasteSpecialDialog::GetPasteIndex()const \n4154 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDataPathProperty::GetPath()const \n4155 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4156 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetPathName()const \n4157 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n4158 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleInsertDialog::GetPathName()const \n4159 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4160 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4161 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4162 unsigned long CDC::GetPixel(int,int)const \n4163 unsigned long CDC::GetPixel(tagPOINT)const \n4164 int CDC::GetPolyFillMode()const \n4165 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n4166 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n4167 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n4168 int CProgressCtrl::GetPos()\n4169 int CSliderCtrl::GetPos()const \n4170 int CSpinButtonCtrl::GetPos()const \n4171 int CSpinButtonCtrl::GetPos32(int *)const \n4172 unsigned __int64 CFile::GetPosition()const \n4173 unsigned __int64 CMemFile::GetPosition()const \n4174 unsigned __int64 COleStreamFile::GetPosition()const \n4175 unsigned __int64 CSocketFile::GetPosition()const \n4176 unsigned __int64 CStdioFile::GetPosition()const \n4177 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4178 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4179 CObject * & CObList::GetPrev(__POSITION * &)\n4180 CObject const * & CObList::GetPrev(__POSITION * &)const \n4181 void * & CPtrList::GetPrev(__POSITION * &)\n4182 void const * & CPtrList::GetPrev(__POSITION * &)const \n4183 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringList::GetPrev(__POSITION * &)\n4184 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetPrev(__POSITION * &)const \n4185 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4186 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4187 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4188 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4189 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4190 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4191 HDC__ * CPrintDialog::GetPrinterDC()const \n4192 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4193 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n4194 CFont * CEditView::GetPrinterFont()const \n4195 CRect CRichEditView::GetPrintRect()const \n4196 int CRichEditView::GetPrintWidth()const \n4197 long CAsyncMonikerFile::GetPriority()const \n4198 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n4199 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n4200 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n4201 int COlePropertyPage::GetPropCheck(char const *,int *)\n4202 COleVariant CHtmlView::GetProperty(char const *)\n4203 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n4204 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4205 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4206 CProperty * CPropertySection::GetProperty(unsigned long)\n4207 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4208 void CWnd::GetProperty(long,unsigned short,void *)const \n4209 int COlePropertyPage::GetPropIndex(char const *,int *)\n4210 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4211 int COlePropertyPage::GetPropRadio(char const *,int *)\n4212 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4213 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n4214 int COlePropertyPage::GetPropText(char const *,short *)\n4215 int COlePropertyPage::GetPropText(char const *,int *)\n4216 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n4217 int COlePropertyPage::GetPropText(char const *,long *)\n4218 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n4219 int COlePropertyPage::GetPropText(char const *,float *)\n4220 int COlePropertyPage::GetPropText(char const *,double *)\n4221 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *)\n4222 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n4223 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n4224 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4225 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4226 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4227 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4228 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4229 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4230 void CProgressCtrl::GetRange(int &,int &)\n4231 void CSliderCtrl::GetRange(int &,int &)const \n4232 unsigned long CSpinButtonCtrl::GetRange()const \n4233 void CSpinButtonCtrl::GetRange(int &,int &)const \n4234 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4235 int CSliderCtrl::GetRangeMax()const \n4236 int CSliderCtrl::GetRangeMin()const \n4237 void * CProperty::GetRawValue()\n4238 int CFileDialog::GetReadOnlyPref()const \n4239 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4240 long COleControl::GetReadyState()\n4241 CReBarCtrl & CReBar::GetReBarCtrl()const \n4242 long CRecordset::GetRecordCount()const \n4243 void CEdit::GetRect(tagRECT *)const \n4244 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4245 void CRichEditCtrl::GetRect(tagRECT *)const \n4246 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4247 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4248 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4249 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4250 int COleControl::GetRectInContainer(tagRECT *)\n4251 enum _undonameid CRichEditCtrl::GetRedoName()const \n4252 int CRgn::GetRegionData(_RGNDATA *,int)const \n4253 int CHtmlView::GetRegisterAsBrowser()const \n4254 int CHtmlView::GetRegisterAsDropTarget()const \n4255 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetReplaceString()const \n4256 int CRgn::GetRgnBox(tagRECT *)const \n4257 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4258 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n4259 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n4260 _TREEITEM * CTreeCtrl::GetRootItem()const \n4261 int CDC::GetROP2()const \n4262 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4263 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4264 CView * CCmdTarget::GetRoutingView()\n4265 CView * CCmdTarget::GetRoutingView_()\n4266 unsigned int CReBarCtrl::GetRowCount()const \n4267 int CSplitterWnd::GetRowCount()const \n4268 int CTabCtrl::GetRowCount()const \n4269 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4270 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4271 int CToolBarCtrl::GetRows()const \n4272 unsigned long CRecordset::GetRowsetSize()const \n4273 unsigned long CRecordset::GetRowsFetched()const \n4274 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4275 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4276 CRuntime* CArchiveException::GetRuntimeClass()const \n4277 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4278 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4279 CRuntime* CBitmap::GetRuntimeClass()const \n4280 CRuntime* CBitmapButton::GetRuntimeClass()const \n4281 CRuntime* CBrush::GetRuntimeClass()const \n4282 CRuntime* CButton::GetRuntimeClass()const \n4283 CRuntime* CByteArray::GetRuntimeClass()const \n4284 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4285 CRuntime* CCheckListBox::GetRuntimeClass()const \n4286 CRuntime* CClientDC::GetRuntimeClass()const \n4287 CRuntime* CCmdTarget::GetRuntimeClass()const \n4288 CRuntime* CColorDialog::GetRuntimeClass()const \n4289 CRuntime* CComboBox::GetRuntimeClass()const \n4290 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4291 CRuntime* CControlBar::GetRuntimeClass()const \n4292 CRuntime* CCriticalSection::GetRuntimeClass()const \n4293 CRuntime* CCtrlView::GetRuntimeClass()const \n4294 CRuntime* CDatabase::GetRuntimeClass()const \n4295 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4296 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4297 CRuntime* CDBException::GetRuntimeClass()const \n4298 CRuntime* CDC::GetRuntimeClass()const \n4299 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4300 CRuntime* CDialog::GetRuntimeClass()const \n4301 CRuntime* CDialogBar::GetRuntimeClass()const \n4302 CRuntime* CDocItem::GetRuntimeClass()const \n4303 CRuntime* CDockBar::GetRuntimeClass()const \n4304 CRuntime* CDockState::GetRuntimeClass()const \n4305 CRuntime* CDocManager::GetRuntimeClass()const \n4306 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4307 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4308 CRuntime* CDocTemplate::GetRuntimeClass()const \n4309 CRuntime* CDocument::GetRuntimeClass()const \n4310 CRuntime* CDragListBox::GetRuntimeClass()const \n4311 CRuntime* CDWordArray::GetRuntimeClass()const \n4312 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4313 CRuntime* CEdit::GetRuntimeClass()const \n4314 CRuntime* CEditView::GetRuntimeClass()const \n4315 CRuntime* CEvent::GetRuntimeClass()const \n4316 CRuntime* CException::GetRuntimeClass()const \n4317 CRuntime* CFile::GetRuntimeClass()const \n4318 CRuntime* CFileDialog::GetRuntimeClass()const \n4319 CRuntime* CFileException::GetRuntimeClass()const \n4320 CRuntime* CFileFind::GetRuntimeClass()const \n4321 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4322 CRuntime* CFont::GetRuntimeClass()const \n4323 CRuntime* CFontDialog::GetRuntimeClass()const \n4324 CRuntime* CFormView::GetRuntimeClass()const \n4325 CRuntime* CFrameWnd::GetRuntimeClass()const \n4326 CRuntime* CFtpConnection::GetRuntimeClass()const \n4327 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4328 CRuntime* CGdiObject::GetRuntimeClass()const \n4329 CRuntime* CGopherConnection::GetRuntimeClass()const \n4330 CRuntime* CGopherFile::GetRuntimeClass()const \n4331 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4332 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4333 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4334 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4335 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4336 CRuntime* CHtmlView::GetRuntimeClass()const \n4337 CRuntime* CHttpConnection::GetRuntimeClass()const \n4338 CRuntime* CHttpFile::GetRuntimeClass()const \n4339 CRuntime* CImageList::GetRuntimeClass()const \n4340 CRuntime* CInternetConnection::GetRuntimeClass()const \n4341 CRuntime* CInternetException::GetRuntimeClass()const \n4342 CRuntime* CInternetFile::GetRuntimeClass()const \n4343 CRuntime* CInternetSession::GetRuntimeClass()const \n4344 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4345 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4346 CRuntime* CListBox::GetRuntimeClass()const \n4347 CRuntime* CListCtrl::GetRuntimeClass()const \n4348 CRuntime* CListView::GetRuntimeClass()const \n4349 CRuntime* CLongBinary::GetRuntimeClass()const \n4350 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4351 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4352 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4353 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4354 CRuntime* CMapStringToString::GetRuntimeClass()const \n4355 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4356 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4357 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4358 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4359 CRuntime* CMemFile::GetRuntimeClass()const \n4360 CRuntime* CMemoryException::GetRuntimeClass()const \n4361 CRuntime* CMenu::GetRuntimeClass()const \n4362 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4363 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4364 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4365 CRuntime* CMonikerFile::GetRuntimeClass()const \n4366 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4367 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4368 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4369 CRuntime* CMutex::GetRuntimeClass()const \n4370 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4371 CRuntime* CObArray::GetRuntimeClass()const \n4372 CRuntime* CObject::GetRuntimeClass()const \n4373 CRuntime* CObList::GetRuntimeClass()const \n4374 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4375 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4376 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4377 CRuntime* COleClientItem::GetRuntimeClass()const \n4378 CRuntime* COleControl::GetRuntimeClass()const \n4379 CRuntime* COleControlModule::GetRuntimeClass()const \n4380 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4381 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4382 CRuntime* COleDialog::GetRuntimeClass()const \n4383 CRuntime* COleDispatchException::GetRuntimeClass()const \n4384 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4385 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4386 CRuntime* COleDocument::GetRuntimeClass()const \n4387 CRuntime* COleException::GetRuntimeClass()const \n4388 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4389 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4390 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4391 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4392 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4393 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4394 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4395 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4396 CRuntime* COleResizeBar::GetRuntimeClass()const \n4397 CRuntime* COleServerDoc::GetRuntimeClass()const \n4398 CRuntime* COleServerItem::GetRuntimeClass()const \n4399 CRuntime* COleStreamFile::GetRuntimeClass()const \n4400 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4401 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4402 CRuntime* CPaintDC::GetRuntimeClass()const \n4403 CRuntime* CPalette::GetRuntimeClass()const \n4404 CRuntime* CPen::GetRuntimeClass()const \n4405 CRuntime* CPreviewDC::GetRuntimeClass()const \n4406 CRuntime* CPreviewView::GetRuntimeClass()const \n4407 CRuntime* CPrintDialog::GetRuntimeClass()const \n4408 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4409 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4410 CRuntime* CPropertyPage::GetRuntimeClass()const \n4411 CRuntime* CPropertySheet::GetRuntimeClass()const \n4412 CRuntime* CPtrArray::GetRuntimeClass()const \n4413 CRuntime* CPtrList::GetRuntimeClass()const \n4414 CRuntime* CReBar::GetRuntimeClass()const \n4415 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4416 CRuntime* CRecordset::GetRuntimeClass()const \n4417 CRuntime* CRecordView::GetRuntimeClass()const \n4418 CRuntime* CResourceException::GetRuntimeClass()const \n4419 CRuntime* CRgn::GetRuntimeClass()const \n4420 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4421 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4422 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4423 CRuntime* CRichEditView::GetRuntimeClass()const \n4424 CRuntime* CScrollBar::GetRuntimeClass()const \n4425 CRuntime* CScrollView::GetRuntimeClass()const \n4426 CRuntime* CSemaphore::GetRuntimeClass()const \n4427 CRuntime* CSharedFile::GetRuntimeClass()const \n4428 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4429 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4430 CRuntime* CSocket::GetRuntimeClass()const \n4431 CRuntime* CSocketFile::GetRuntimeClass()const \n4432 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4433 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4434 CRuntime* CStatic::GetRuntimeClass()const \n4435 CRuntime* CStatusBar::GetRuntimeClass()const \n4436 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4437 CRuntime* CStdioFile::GetRuntimeClass()const \n4438 CRuntime* CStringArray::GetRuntimeClass()const \n4439 CRuntime* CStringList::GetRuntimeClass()const \n4440 CRuntime* CSyncObject::GetRuntimeClass()const \n4441 CRuntime* CTabCtrl::GetRuntimeClass()const \n4442 CRuntime* CToolBar::GetRuntimeClass()const \n4443 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4444 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4445 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4446 CRuntime* CTreeView::GetRuntimeClass()const \n4447 CRuntime* CUIntArray::GetRuntimeClass()const \n4448 CRuntime* CUserException::GetRuntimeClass()const \n4449 CRuntime* CView::GetRuntimeClass()const \n4450 CRuntime* CWinApp::GetRuntimeClass()const \n4451 CRuntime* CWindowDC::GetRuntimeClass()const \n4452 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4453 CRuntime* CWinThread::GetRuntimeClass()const \n4454 CRuntime* CWnd::GetRuntimeClass()const \n4455 CRuntime* CWordArray::GetRuntimeClass()const \n4456 void * CGdiObject::GetSafeHandle()const \n4457 _IMAGELIST * CImageList::GetSafeHandle()const \n4458 HDC__ * CDC::GetSafeHdc()const \n4459 HMENU__ * CMenu::GetSafeHmenu()const \n4460 HWND__ * CWnd::GetSafeHwnd()const \n4461 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4462 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4463 unsigned long * CColorDialog::GetSavedCustomColors()\n4464 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n4465 CSize CDockState::GetScreenSize()\n4466 CScrollBar * CView::GetScrollBarCtrl(int)const \n4467 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4468 void CScrollView::GetScrollBarSizes(CSize &)\n4469 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4470 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4471 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4472 int CScrollBar::GetScrollLimit()\n4473 int CWnd::GetScrollLimit(int)\n4474 int CScrollBar::GetScrollPos()const \n4475 int CWnd::GetScrollPos(int)const \n4476 CPoint CScrollView::GetScrollPosition()const \n4477 void CScrollBar::GetScrollRange(int *,int *)const \n4478 void CWnd::GetScrollRange(int,int *,int *)const \n4479 unsigned long CSplitterWnd::GetScrollStyle()const \n4480 unsigned int CTreeCtrl::GetScrollTime()const \n4481 CPropertySection * CPropertySet::GetSection(_GUID)\n4482 HKEY__ * CWinApp::GetSectionKey(char const *)\n4483 char const * CPropertySection::GetSectionName()\n4484 unsigned long CEdit::GetSel()const \n4485 void CEdit::GetSel(int &,int &)const \n4486 int CListBox::GetSel(int)const \n4487 void CRichEditCtrl::GetSel(long &,long &)const \n4488 void CRichEditCtrl::GetSel(_charrange &)const \n4489 int CListBox::GetSelCount()const \n4490 unsigned int CListCtrl::GetSelectedCount()const \n4491 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4492 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4493 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4494 void CSliderCtrl::GetSelection(int &,int &)const \n4495 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n4496 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n4497 int CListCtrl::GetSelectionMark()\n4498 unsigned int COleBusyDialog::GetSelectionType()const \n4499 unsigned int COleConvertDialog::GetSelectionType()const \n4500 unsigned int COleInsertDialog::GetSelectionType()const \n4501 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4502 unsigned short CRichEditCtrl::GetSelectionType()const \n4503 int CListBox::GetSelItems(int,int *)const \n4504 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4505 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4506 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4507 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n4508 long CRichEditCtrl::GetSelText(char *)const \n4509 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CInternetConnection::GetServerName()const \n4510 CInternetSession * CInternetConnection::GetSession()const \n4511 int CHtmlView::GetSilent()const \n4512 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4513 int CByteArray::GetSize()const \n4514 int CDWordArray::GetSize()const \n4515 int CFontDialog::GetSize()const \n4516 int CMapPtrToPtr::GetSize()const \n4517 int CMapPtrToWord::GetSize()const \n4518 int CMapStringToOb::GetSize()const \n4519 int CMapStringToPtr::GetSize()const \n4520 int CMapStringToString::GetSize()const \n4521 int CMapWordToOb::GetSize()const \n4522 int CMapWordToPtr::GetSize()const \n4523 int CObArray::GetSize()const \n4524 int CObList::GetSize()const \n4525 unsigned long CPropertySection::GetSize()\n4526 int CPtrArray::GetSize()const \n4527 int CPtrList::GetSize()const \n4528 int CStringArray::GetSize()const \n4529 int CStringList::GetSize()const \n4530 int CUIntArray::GetSize()const \n4531 int CWordArray::GetSize()const \n4532 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4533 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4534 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4535 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4536 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4537 CWnd * CSplitterWnd::GetSizingParent()\n4538 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4539 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4540 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4541 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n4542 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetSQL()const \n4543 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4544 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4545 char const * CHtmlEditCtrl::GetStartDocument()\n4546 char const * CHtmlEditView::GetStartDocument()\n4547 __POSITION * CConnectionPoint::GetStartPosition()const \n4548 __POSITION * CFileDialog::GetStartPosition()const \n4549 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4550 __POSITION * CMapPtrToWord::GetStartPosition()const \n4551 __POSITION * CMapStringToOb::GetStartPosition()const \n4552 __POSITION * CMapStringToPtr::GetStartPosition()const \n4553 __POSITION * CMapStringToString::GetStartPosition()const \n4554 __POSITION * CMapWordToOb::GetStartPosition()const \n4555 __POSITION * CMapWordToPtr::GetStartPosition()const \n4556 __POSITION * COleDocument::GetStartPosition()const \n4557 __POSITION * CRichEditDoc::GetStartPosition()const \n4558 unsigned int CButton::GetState()const \n4559 int CToolBarCtrl::GetState(int)const \n4560 int CFile::GetStatus(CFileStatus &)const \n4561 int CFile::GetStatus(char const *,CFileStatus &)\n4562 int CMemFile::GetStatus(CFileStatus &)const \n4563 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4564 int COleStreamFile::GetStatus(CFileStatus &)const \n4565 void CRecordset::GetStatus(CRecordsetStatus &)const \n4566 int CHtmlView::GetStatusBar()const \n4567 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4568 unsigned long COleControl::GetStockEventMask()const \n4569 unsigned long COleControl::GetStockPropMask()const \n4570 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n4571 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n4572 IStream * COleStreamFile::GetStream()const \n4573 int CRichEditDoc::GetStreamFormat()const \n4574 int CDC::GetStretchBltMode()const \n4575 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4576 int CToolBarCtrl::GetString(int,char *,int)const \n4577 int CListCtrl::GetStringWidth(char const *)const \n4578 unsigned long COleControlSite::GetStyle()const \n4579 unsigned long COleControlSiteOrWnd::GetStyle()const \n4580 unsigned long CToolBarCtrl::GetStyle()const \n4581 unsigned long CWnd::GetStyle()const \n4582 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetStyleName()const \n4583 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4584 CMenu * CMenu::GetSubMenu(int)const \n4585 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4586 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4587 CMenu * CWnd::GetSystemMenu(int)const \n4588 CSize CDC::GetTabbedTextExtentA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4589 CSize CDC::GetTabbedTextExtentA(char const *,int,int,int *)const \n4590 CTabCtrl * CPropertySheet::GetTabControl()const \n4591 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetTableName()const \n4592 CObject * & CObList::GetTail()\n4593 CObject const * & CObList::GetTail()const \n4594 void * & CPtrList::GetTail()\n4595 void const * & CPtrList::GetTail()const \n4596 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > & CStringList::GetTail()\n4597 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetTail()const \n4598 __POSITION * CObList::GetTailPosition()const \n4599 __POSITION * CPtrList::GetTailPosition()const \n4600 __POSITION * CStringList::GetTailPosition()const \n4601 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4602 int CListBox::GetText(int,char *)const \n4603 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4604 wchar_t * COleControl::GetText()\n4605 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n4606 int CStatusBarCtrl::GetText(char const *,int,int *)const \n4607 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n4608 unsigned int CDC::GetTextAlign()const \n4609 unsigned long CListCtrl::GetTextBkColor()const \n4610 int CDC::GetTextCharacterExtra()const \n4611 unsigned long CDC::GetTextColor()const \n4612 unsigned long CListCtrl::GetTextColor()const \n4613 unsigned long CReBarCtrl::GetTextColor()const \n4614 unsigned long CTreeCtrl::GetTextColor()const \n4615 CSize CDC::GetTextExtent(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)const \n4616 CSize CDC::GetTextExtent(char const *,int)const \n4617 int CDC::GetTextFaceA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4618 int CDC::GetTextFaceA(int,char *)const \n4619 int CListBox::GetTextLen(int)const \n4620 long CRecordset::GetTextLen(short,unsigned long)\n4621 long CRichEditCtrl::GetTextLength()const \n4622 long CRichEditView::GetTextLength()const \n4623 int CStatusBarCtrl::GetTextLength(int,int *)const \n4624 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4625 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4626 int CDC::GetTextMetricsA(tagTEXTMETRICA *)const \n4627 unsigned int CRichEditCtrl::GetTextMode()const \n4628 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n4629 int CHtmlView::GetTheaterMode()const \n4630 CRuntime* CAnimateCtrl::GetThisClass()\n4631 CRuntime* CArchiveException::GetThisClass()\n4632 CRuntime* CAsyncMonikerFile::GetThisClass()\n4633 CRuntime* CAsyncSocket::GetThisClass()\n4634 CRuntime* CBitmap::GetThisClass()\n4635 CRuntime* CBitmapButton::GetThisClass()\n4636 CRuntime* CBrush::GetThisClass()\n4637 CRuntime* CButton::GetThisClass()\n4638 CRuntime* CByteArray::GetThisClass()\n4639 CRuntime* CCachedDataPathProperty::GetThisClass()\n4640 CRuntime* CCheckListBox::GetThisClass()\n4641 CRuntime* CClientDC::GetThisClass()\n4642 CRuntime* CCmdTarget::GetThisClass()\n4643 CRuntime* CColorDialog::GetThisClass()\n4644 CRuntime* CComboBox::GetThisClass()\n4645 CRuntime* CComboBoxEx::GetThisClass()\n4646 CRuntime* CControlBar::GetThisClass()\n4647 CRuntime* CCriticalSection::GetThisClass()\n4648 CRuntime* CCtrlView::GetThisClass()\n4649 CRuntime* CDatabase::GetThisClass()\n4650 CRuntime* CDataPathProperty::GetThisClass()\n4651 CRuntime* CDateTimeCtrl::GetThisClass()\n4652 CRuntime* CDBException::GetThisClass()\n4653 CRuntime* CDC::GetThisClass()\n4654 CRuntime* CDHtmlDialog::GetThisClass()\n4655 CRuntime* CDialog::GetThisClass()\n4656 CRuntime* CDialogBar::GetThisClass()\n4657 CRuntime* CDocItem::GetThisClass()\n4658 CRuntime* CDockBar::GetThisClass()\n4659 CRuntime* CDockState::GetThisClass()\n4660 CRuntime* CDocManager::GetThisClass()\n4661 CRuntime* CDocObjectServer::GetThisClass()\n4662 CRuntime* CDocObjectServerItem::GetThisClass()\n4663 CRuntime* CDocTemplate::GetThisClass()\n4664 CRuntime* CDocument::GetThisClass()\n4665 CRuntime* CDragListBox::GetThisClass()\n4666 CRuntime* CDWordArray::GetThisClass()\n4667 CRuntime* CDynLinkLibrary::GetThisClass()\n4668 CRuntime* CEdit::GetThisClass()\n4669 CRuntime* CEditView::GetThisClass()\n4670 CRuntime* CEvent::GetThisClass()\n4671 CRuntime* CException::GetThisClass()\n4672 CRuntime* CFile::GetThisClass()\n4673 CRuntime* CFileDialog::GetThisClass()\n4674 CRuntime* CFileException::GetThisClass()\n4675 CRuntime* CFileFind::GetThisClass()\n4676 CRuntime* CFindReplaceDialog::GetThisClass()\n4677 CRuntime* CFont::GetThisClass()\n4678 CRuntime* CFontDialog::GetThisClass()\n4679 CRuntime* CFormView::GetThisClass()\n4680 CRuntime* CFrameWnd::GetThisClass()\n4681 CRuntime* CFtpConnection::GetThisClass()\n4682 CRuntime* CFtpFileFind::GetThisClass()\n4683 CRuntime* CGdiObject::GetThisClass()\n4684 CRuntime* CGopherConnection::GetThisClass()\n4685 CRuntime* CGopherFile::GetThisClass()\n4686 CRuntime* CGopherFileFind::GetThisClass()\n4687 CRuntime* CHeaderCtrl::GetThisClass()\n4688 CRuntime* CHotKeyCtrl::GetThisClass()\n4689 CRuntime* CHtmlEditDoc::GetThisClass()\n4690 CRuntime* CHtmlEditView::GetThisClass()\n4691 CRuntime* CHtmlView::GetThisClass()\n4692 CRuntime* CHttpConnection::GetThisClass()\n4693 CRuntime* CHttpFile::GetThisClass()\n4694 CRuntime* CImageList::GetThisClass()\n4695 CRuntime* CInternetConnection::GetThisClass()\n4696 CRuntime* CInternetException::GetThisClass()\n4697 CRuntime* CInternetFile::GetThisClass()\n4698 CRuntime* CInternetSession::GetThisClass()\n4699 CRuntime* CIPAddressCtrl::GetThisClass()\n4700 CRuntime* CLinkCtrl::GetThisClass()\n4701 CRuntime* CListBox::GetThisClass()\n4702 CRuntime* CListCtrl::GetThisClass()\n4703 CRuntime* CListView::GetThisClass()\n4704 CRuntime* CLongBinary::GetThisClass()\n4705 CRuntime* CMapPtrToPtr::GetThisClass()\n4706 CRuntime* CMapPtrToWord::GetThisClass()\n4707 CRuntime* CMapStringToOb::GetThisClass()\n4708 CRuntime* CMapStringToPtr::GetThisClass()\n4709 CRuntime* CMapStringToString::GetThisClass()\n4710 CRuntime* CMapWordToOb::GetThisClass()\n4711 CRuntime* CMapWordToPtr::GetThisClass()\n4712 CRuntime* CMDIChildWnd::GetThisClass()\n4713 CRuntime* CMDIFrameWnd::GetThisClass()\n4714 CRuntime* CMemFile::GetThisClass()\n4715 CRuntime* CMemoryException::GetThisClass()\n4716 CRuntime* CMenu::GetThisClass()\n4717 CRuntime* CMetaFileDC::GetThisClass()\n4718 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4719 CRuntime* CMiniFrameWnd::GetThisClass()\n4720 CRuntime* CMonikerFile::GetThisClass()\n4721 CRuntime* CMonthCalCtrl::GetThisClass()\n4722 CRuntime* CMultiDocTemplate::GetThisClass()\n4723 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4724 CRuntime* CMutex::GetThisClass()\n4725 CRuntime* CNotSupportedException::GetThisClass()\n4726 CRuntime* CObArray::GetThisClass()\n4727 CRuntime* CObject::GetThisClass()\n4728 CRuntime* CObList::GetThisClass()\n4729 CRuntime* COleBusyDialog::GetThisClass()\n4730 CRuntime* COleChangeIconDialog::GetThisClass()\n4731 CRuntime* COleChangeSourceDialog::GetThisClass()\n4732 CRuntime* COleClientItem::GetThisClass()\n4733 CRuntime* COleControl::GetThisClass()\n4734 CRuntime* COleControlModule::GetThisClass()\n4735 CRuntime* COleConvertDialog::GetThisClass()\n4736 CRuntime* COleDBRecordView::GetThisClass()\n4737 CRuntime* COleDialog::GetThisClass()\n4738 CRuntime* COleDispatchException::GetThisClass()\n4739 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4740 CRuntime* COleDocObjectItem::GetThisClass()\n4741 CRuntime* COleDocument::GetThisClass()\n4742 CRuntime* COleException::GetThisClass()\n4743 CRuntime* COleInsertDialog::GetThisClass()\n4744 CRuntime* COleIPFrameWnd::GetThisClass()\n4745 CRuntime* COleLinkingDoc::GetThisClass()\n4746 CRuntime* COleLinksDialog::GetThisClass()\n4747 CRuntime* COleObjectFactory::GetThisClass()\n4748 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4749 CRuntime* COlePropertiesDialog::GetThisClass()\n4750 CRuntime* COlePropertyPage::GetThisClass()\n4751 CRuntime* COleResizeBar::GetThisClass()\n4752 CRuntime* COleServerDoc::GetThisClass()\n4753 CRuntime* COleServerItem::GetThisClass()\n4754 CRuntime* COleStreamFile::GetThisClass()\n4755 CRuntime* COleUpdateDialog::GetThisClass()\n4756 CRuntime* CPageSetupDialog::GetThisClass()\n4757 CRuntime* CPaintDC::GetThisClass()\n4758 CRuntime* CPalette::GetThisClass()\n4759 CRuntime* CPen::GetThisClass()\n4760 CRuntime* CPreviewDC::GetThisClass()\n4761 CRuntime* CPreviewView::GetThisClass()\n4762 CRuntime* CPrintDialog::GetThisClass()\n4763 CRuntime* CPrintDialogEx::GetThisClass()\n4764 CRuntime* CProgressCtrl::GetThisClass()\n4765 CRuntime* CPropertyPage::GetThisClass()\n4766 CRuntime* CPropertySheet::GetThisClass()\n4767 CRuntime* CPtrArray::GetThisClass()\n4768 CRuntime* CPtrList::GetThisClass()\n4769 CRuntime* CReBar::GetThisClass()\n4770 CRuntime* CReBarCtrl::GetThisClass()\n4771 CRuntime* CRecordset::GetThisClass()\n4772 CRuntime* CRecordView::GetThisClass()\n4773 CRuntime* CResourceException::GetThisClass()\n4774 CRuntime* CRgn::GetThisClass()\n4775 CRuntime* CRichEditCntrItem::GetThisClass()\n4776 CRuntime* CRichEditCtrl::GetThisClass()\n4777 CRuntime* CRichEditDoc::GetThisClass()\n4778 CRuntime* CRichEditView::GetThisClass()\n4779 CRuntime* CScrollBar::GetThisClass()\n4780 CRuntime* CScrollView::GetThisClass()\n4781 CRuntime* CSemaphore::GetThisClass()\n4782 CRuntime* CSharedFile::GetThisClass()\n4783 CRuntime* CSingleDocTemplate::GetThisClass()\n4784 CRuntime* CSliderCtrl::GetThisClass()\n4785 CRuntime* CSocket::GetThisClass()\n4786 CRuntime* CSocketFile::GetThisClass()\n4787 CRuntime* CSpinButtonCtrl::GetThisClass()\n4788 CRuntime* CSplitterWnd::GetThisClass()\n4789 CRuntime* CStatic::GetThisClass()\n4790 CRuntime* CStatusBar::GetThisClass()\n4791 CRuntime* CStatusBarCtrl::GetThisClass()\n4792 CRuntime* CStdioFile::GetThisClass()\n4793 CRuntime* CStringArray::GetThisClass()\n4794 CRuntime* CStringList::GetThisClass()\n4795 CRuntime* CSyncObject::GetThisClass()\n4796 CRuntime* CTabCtrl::GetThisClass()\n4797 CRuntime* CToolBar::GetThisClass()\n4798 CRuntime* CToolBarCtrl::GetThisClass()\n4799 CRuntime* CToolTipCtrl::GetThisClass()\n4800 CRuntime* CTreeCtrl::GetThisClass()\n4801 CRuntime* CTreeView::GetThisClass()\n4802 CRuntime* CUIntArray::GetThisClass()\n4803 CRuntime* CUserException::GetThisClass()\n4804 CRuntime* CView::GetThisClass()\n4805 CRuntime* CWinApp::GetThisClass()\n4806 CRuntime* CWindowDC::GetThisClass()\n4807 CRuntime* CWindowlessDC::GetThisClass()\n4808 CRuntime* CWinThread::GetThisClass()\n4809 CRuntime* CWnd::GetThisClass()\n4810 CRuntime* CWordArray::GetThisClass()\n4811 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n4812 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n4813 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n4814 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n4815 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n4816 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n4817 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n4818 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n4819 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n4820 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n4821 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n4822 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n4823 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n4824 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n4825 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n4826 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n4827 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n4828 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n4829 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n4830 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n4831 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n4832 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n4833 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n4834 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n4835 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n4836 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n4837 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n4838 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n4839 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n4840 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n4841 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n4842 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n4843 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n4844 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n4845 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n4846 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n4847 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n4848 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n4849 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n4850 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n4851 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n4852 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n4853 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n4854 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n4855 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n4856 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n4857 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n4858 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n4859 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n4860 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n4861 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n4862 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n4863 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n4864 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n4865 AFX_MSGMAP const * CListView::GetThisMessageMap()\n4866 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n4867 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n4868 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n4869 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n4870 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n4871 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n4872 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n4873 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n4874 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n4875 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n4876 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n4877 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n4878 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n4879 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n4880 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n4881 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n4882 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n4883 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n4884 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n4885 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n4886 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n4887 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n4888 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n4889 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n4890 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n4891 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n4892 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n4893 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n4894 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n4895 AFX_MSGMAP const * CView::GetThisMessageMap()\n4896 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n4897 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n4898 int CWinThread::GetThreadPriority()\n4899 void CSliderCtrl::GetThumbRect(tagRECT *)const \n4900 int CSliderCtrl::GetTic(int)const \n4901 unsigned long * CSliderCtrl::GetTicArray()const \n4902 int CSliderCtrl::GetTicPos(int)const \n4903 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n4904 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n4905 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n4906 unsigned long CToolTipCtrl::GetTipBkColor()const \n4907 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n4908 unsigned long CToolTipCtrl::GetTipTextColor()const \n4909 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetTitle()const \n4910 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CFrameWnd::GetTitle()const \n4911 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n4912 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n4913 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n4914 int CHtmlView::GetToolBar()const \n4915 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n4916 int CToolTipCtrl::GetToolCount()const \n4917 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n4918 CToolTipCtrl * CListCtrl::GetToolTips()const \n4919 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n4920 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n4921 CToolTipCtrl * CTabCtrl::GetToolTips()const \n4922 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n4923 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n4924 long CHtmlView::GetTop()const \n4925 int CPrintDialog::GetToPage()const \n4926 unsigned int CPrintInfo::GetToPage()const \n4927 int CComboBox::GetTopIndex()const \n4928 int CListBox::GetTopIndex()const \n4929 int CListCtrl::GetTopIndex()const \n4930 int CHtmlView::GetTopLevelContainer()const \n4931 CFrameWnd * CWnd::GetTopLevelFrame()const \n4932 CWnd * CWnd::GetTopLevelOwner()const \n4933 CWnd * CWnd::GetTopLevelParent()const \n4934 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetToPrefix()\n4935 CWnd * CWnd::GetTopWindow()const \n4936 CSize CScrollView::GetTotalSize()const \n4937 CTreeCtrl & CTreeView::GetTreeCtrl()const \n4938 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n4939 void CRectTracker::GetTrueRect(tagRECT *)const \n4940 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n4941 enum OLE_OBJTYPE COleClientItem::GetType()const \n4942 short CPictureHolder::GetType()\n4943 unsigned long CProperty::GetType()\n4944 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4945 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4946 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4947 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4948 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4949 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4950 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4951 unsigned int CCmdTarget::GetTypeInfoCount()\n4952 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n4953 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n4954 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n4955 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n4956 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n4957 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n4958 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n4959 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n4960 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n4961 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n4962 void COleSafeArray::GetUBound(unsigned long,long *)\n4963 enum _undonameid CRichEditCtrl::GetUndoName()const \n4964 int CWnd::GetUpdateRect(tagRECT *,int)\n4965 int CWnd::GetUpdateRgn(CRgn *,int)\n4966 int CByteArray::GetUpperBound()const \n4967 int CDWordArray::GetUpperBound()const \n4968 int CObArray::GetUpperBound()const \n4969 int CPtrArray::GetUpperBound()const \n4970 int CStringArray::GetUpperBound()const \n4971 int CUIntArray::GetUpperBound()const \n4972 int CWordArray::GetUpperBound()const \n4973 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n4974 long COleControl::XOleObject::GetUserClassID(_GUID *)\n4975 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n4976 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n4977 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n4978 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n4979 void COleControl::GetUserType(char *)\n4980 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4981 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4982 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4983 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4984 void * CMapPtrToPtr::GetValueAt(void *)const \n4985 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n4986 unsigned long CDockState::GetVersion()\n4987 unsigned long CPropExchange::GetVersion()\n4988 CHtmlEditView * CHtmlEditDoc::GetView()const \n4989 CRichEditView * CRichEditDoc::GetView()const \n4990 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n4991 CSize CDC::GetViewportExt()const \n4992 CPoint CDC::GetViewportOrg()const \n4993 int CListCtrl::GetViewRect(tagRECT *)const \n4994 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n4995 int CHtmlView::GetVisible()const \n4996 unsigned int CTreeCtrl::GetVisibleCount()const \n4997 int CFontDialog::GetWeight()const \n4998 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n4999 long CHtmlView::GetWidth()const \n5000 CWnd * CDC::GetWindow()const \n5001 CWnd * CWnd::GetWindow(unsigned int)const \n5002 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5003 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5004 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5005 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5006 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5007 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5008 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5009 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5010 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5011 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5012 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5013 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5014 unsigned long CWnd::GetWindowContextHelpId()const \n5015 CDC * CWnd::GetWindowDC()\n5016 long CWnd::GetWindowedChildCount()\n5017 CSize CDC::GetWindowExt()const \n5018 long CWnd::GetWindowLessChildCount()\n5019 IDropTarget * COleControl::GetWindowlessDropTarget()\n5020 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5021 CPoint CDC::GetWindowOrg()const \n5022 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5023 void CWnd::GetWindowRect(tagRECT *)const \n5024 int CWnd::GetWindowRgn(HRGN__ *)const \n5025 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5026 int CWnd::GetWindowTextA(char *,int)const \n5027 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5028 int CWnd::GetWindowTextLengthA()const \n5029 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5030 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5031 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5032 long COleDropSource::GiveFeedback(unsigned long)\n5033 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5034 void CHtmlView::GoBack()\n5035 void CHtmlView::GoForward()\n5036 void CHtmlView::GoHome()\n5037 void CHtmlView::GoSearch()\n5038 void CDialog::GotoDlgCtrl(CWnd *)\n5039 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5040 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5041 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5042 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5043 void CMemFile::GrowFile(unsigned long)\n5044 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5045 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5046 long CDialog::HandleInitDialog(unsigned int,long)\n5047 long CDialogBar::HandleInitDialog(unsigned int,long)\n5048 long CFormView::HandleInitDialog(unsigned int,long)\n5049 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5050 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5051 long CScrollView::HandleMButtonDown(unsigned int,long)\n5052 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5053 int COleControlContainer::HandleSetFocus()\n5054 long CDialog::HandleSetFont(unsigned int,long)\n5055 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5056 long COleControl::XPersistStorage::HandsOffStorage()\n5057 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5058 int COleDocument::HasBlankItems()const \n5059 int CComboBoxEx::HasEditChanged()\n5060 int CDialogTemplate::HasFont()const \n5061 unsigned int HashKey(tagVARIANT const &)\n5062 unsigned int HashKey(wchar_t const *)\n5063 unsigned int HashKey(char const *)\n5064 unsigned int HashKey(ATL::CComBSTR)\n5065 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5066 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n5067 void * CFile::hFileNull\n5068 void CWinApp::HideApplication()\n5069 int CToolBarCtrl::HideButton(int,int)\n5070 void CWnd::HideCaret()\n5071 void CFileDialog::HideControl(int)\n5072 void CRichEditCtrl::HideSelection(int,int)\n5073 long CBrowserControlSite::HideUI()\n5074 long CDHtmlDialog::HideUI()\n5075 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5076 int CTabCtrl::HighlightItem(int,int)\n5077 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5078 void CDC::HIMETRICtoDP(tagSIZE *)const \n5079 void CDC::HIMETRICtoLP(tagSIZE *)const \n5080 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5081 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5082 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5083 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5084 int CRectTracker::HitTest(CPoint)const \n5085 int CSplitterWnd::HitTest(CPoint)const \n5086 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5087 int CToolBarCtrl::HitTest(tagPOINT *)const \n5088 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n5089 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5090 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5091 int CRectTracker::HitTestHandles(CPoint)const \n5092 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n5093 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n5094 int CSplitterWnd::IdFromRowCol(int,int)const \n5095 int CReBarCtrl::IDToIndex(unsigned int)const \n5096 void COlePropertyPage::IgnoreApply(unsigned int)\n5097 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5098 int CToolBarCtrl::Indeterminate(int,int)\n5099 int CCriticalSection::Init()\n5100 int CWinApp::InitApplication()\n5101 long COleControl::XOleCache::InitCache(IDataObject *)\n5102 int CWnd::InitControlContainer()\n5103 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5104 long CPrintDialogEx::InitDone()\n5105 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5106 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5107 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5108 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5109 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5110 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5111 void CMapStringToOb::InitHashTable(unsigned int,int)\n5112 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5113 void CMapStringToString::InitHashTable(unsigned int,int)\n5114 void CMapWordToOb::InitHashTable(unsigned int,int)\n5115 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5116 long CDataSourceControl::Initialize()\n5117 void CDHtmlDialog::Initialize()\n5118 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5119 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5120 int CEditView::InitializeReplace()\n5121 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5122 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5123 int COleControlModule::InitInstance()\n5124 int CWinApp::InitInstance()\n5125 int CWinThread::InitInstance()\n5126 void CWinApp::InitLibId()\n5127 void CDockContext::InitLoop()\n5128 int CDialog::InitModalIndirect(void *,CWnd *)\n5129 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5130 long COleControl::XPersistMemory::InitNew()\n5131 long COleControl::XPersistPropertyBag::InitNew()\n5132 long COleControl::XPersistStorage::InitNew(IStorage *)\n5133 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5134 long COleControl::XPersistStreamInit::InitNew()\n5135 void CRecordset::InitRecord()\n5136 void COleControl::InitStockEventMask()\n5137 void COleControl::InitStockPropMask()\n5138 int CComboBox::InitStorage(int,unsigned int)\n5139 int CListBox::InitStorage(int,unsigned int)\n5140 void CSimpleException::InitString()\n5141 int CFrameWnd::InModalState()const \n5142 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5143 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5144 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5145 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5146 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5147 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n5148 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n5149 void CByteArray::InsertAt(int,unsigned char,int)\n5150 void CByteArray::InsertAt(int,CByteArray *)\n5151 void CDWordArray::InsertAt(int,unsigned long,int)\n5152 void CDWordArray::InsertAt(int,CDWordArray *)\n5153 void CObArray::InsertAt(int,CObArray *)\n5154 void CObArray::InsertAt(int,CObject *,int)\n5155 void CPtrArray::InsertAt(int,CPtrArray *)\n5156 void CPtrArray::InsertAt(int,void *,int)\n5157 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int)\n5158 void CStringArray::InsertAt(int,CStringArray *)\n5159 void CStringArray::InsertAt(int,char const *,int)\n5160 void CUIntArray::InsertAt(int,unsigned int,int)\n5161 void CUIntArray::InsertAt(int,CUIntArray *)\n5162 void CWordArray::InsertAt(int,unsigned short,int)\n5163 void CWordArray::InsertAt(int,CWordArray *)\n5164 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOA *)\n5165 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5166 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5167 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n5168 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n5169 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5170 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n5171 int CListCtrl::InsertColumn(int,tagLVCOLUMNA const *)\n5172 void CStringArray::InsertEmpty(int,int)\n5173 void CRichEditView::InsertFileAsObject(char const *)\n5174 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n5175 int CHeaderCtrl::InsertItem(int,_HD_ITEMA *)\n5176 int CListCtrl::InsertItem(int,char const *)\n5177 int CListCtrl::InsertItem(int,char const *,int)\n5178 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n5179 int CListCtrl::InsertItem(tagLVITEMA const *)\n5180 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5181 long CTabCtrl::InsertItem(int,tagTCITEMA *)\n5182 long CTabCtrl::InsertItem(int,char const *)\n5183 long CTabCtrl::InsertItem(int,char const *,int)\n5184 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n5185 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n5186 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5187 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTA *)\n5188 _TREEITEM * CTreeCtrl::InsertItem(char const *,int,int,_TREEITEM *,_TREEITEM *)\n5189 _TREEITEM * CTreeCtrl::InsertItem(char const *,_TREEITEM *,_TREEITEM *)\n5190 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5191 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5192 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5193 int CMenu::InsertMenuItemA(unsigned int,tagMENUITEMINFOA *,int)\n5194 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5195 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5196 int CComboBox::InsertString(int,char const *)\n5197 int CComboBoxEx::InsertString(int,char const *)\n5198 int CListBox::InsertString(int,char const *)\n5199 unsigned long CCmdTarget::InternalAddRef()\n5200 CFontHolder & COleControl::InternalGetFont()\n5201 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n5202 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5203 unsigned long CCmdTarget::InternalRelease()\n5204 void COleControl::InternalSetReadyState(long)\n5205 int CDC::IntersectClipRect(int,int,int,int)\n5206 int CDC::IntersectClipRect(tagRECT const *)\n5207 void CWnd::Invalidate(int)\n5208 void CCheckListBox::InvalidateCheck(int)\n5209 void COleControl::InvalidateControl(tagRECT const *,int)\n5210 void CCheckListBox::InvalidateItem(int)\n5211 void CRichEditDoc::InvalidateObjectCache()\n5212 void CWnd::InvalidateRect(tagRECT const *,int)\n5213 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5214 void COleControl::InvalidateRgn(CRgn *,int)\n5215 void CWnd::InvalidateRgn(CRgn *,int)\n5216 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5217 void CDC::InvertRect(tagRECT const *)\n5218 int CDC::InvertRgn(CRgn *)\n5219 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5220 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5221 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5222 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5223 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5224 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5225 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5226 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5227 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5228 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5229 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5230 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5231 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5232 int CAsyncSocket::IOCtl(long,unsigned long *)\n5233 int CFileFind::IsArchived()const \n5234 int CPropExchange::IsAsynchronous()\n5235 int CDocItem::IsBlank()const \n5236 int CIPAddressCtrl::IsBlank()const \n5237 int COleServerItem::IsBlank()const \n5238 int CSocket::IsBlocking()\n5239 int CRecordset::IsBOF()const \n5240 int CFontDialog::IsBold()const \n5241 int CArchive::IsBufferEmpty()const \n5242 int CToolBarCtrl::IsButtonChecked(int)const \n5243 int CPropertyPage::IsButtonEnabled(int)\n5244 int CToolBarCtrl::IsButtonEnabled(int)const \n5245 int CToolBarCtrl::IsButtonHidden(int)const \n5246 int CToolBarCtrl::IsButtonHighlighted(int)const \n5247 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5248 int CToolBarCtrl::IsButtonPressed(int)const \n5249 int CArchive::IsByteSwapping()const \n5250 int CWnd::IsChild(CWnd const *)const \n5251 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5252 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5253 int CFileFind::IsCompressed()const \n5254 int COleServerItem::IsConnected()const \n5255 int COleControl::IsConvertingVBX()\n5256 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5257 int COleControlSite::IsDefaultButton()\n5258 int CRecordset::IsDeleted()const \n5259 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5260 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n5261 int CWnd::IsDialogMessageA(tagMSG *)\n5262 int CFileFind::IsDirectory()const \n5263 long CBlobProperty::IsDirty()\n5264 long COleLinkingDoc::XPersistFile::IsDirty()\n5265 long COleControl::XPersistMemory::IsDirty()\n5266 long COleControl::XPersistStorage::IsDirty()\n5267 long COleServerDoc::XPersistStorage::IsDirty()\n5268 long COleControl::XPersistStreamInit::IsDirty()\n5269 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5270 unsigned int CWnd::IsDlgButtonChecked(int)const \n5271 int CControlBar::IsDockBar()const \n5272 int CDockBar::IsDockBar()const \n5273 int COleServerDoc::IsDocObject()const \n5274 int CFileFind::IsDots()const \n5275 int CGopherFileFind::IsDots()const \n5276 int COleServerDoc::IsEmbedded()const \n5277 int CByteArray::IsEmpty()const \n5278 int CDWordArray::IsEmpty()const \n5279 int CMapPtrToPtr::IsEmpty()const \n5280 int CMapPtrToWord::IsEmpty()const \n5281 int CMapStringToOb::IsEmpty()const \n5282 int CMapStringToPtr::IsEmpty()const \n5283 int CMapStringToString::IsEmpty()const \n5284 int CMapWordToOb::IsEmpty()const \n5285 int CMapWordToPtr::IsEmpty()const \n5286 int CObArray::IsEmpty()const \n5287 int CObList::IsEmpty()const \n5288 int CPtrArray::IsEmpty()const \n5289 int CPtrList::IsEmpty()const \n5290 int CStringArray::IsEmpty()const \n5291 int CStringList::IsEmpty()const \n5292 int CUIntArray::IsEmpty()const \n5293 int CWordArray::IsEmpty()const \n5294 int CCheckListBox::IsEnabled(int)\n5295 int CRecordset::IsEOF()const \n5296 int CDHtmlDialog::IsExternalDispatchSafe()\n5297 int CRecordset::IsFieldDirty(void *)\n5298 int CRecordset::IsFieldNull(void *)\n5299 int CRecordset::IsFieldNullable(void *)\n5300 int CRecordset::IsFieldNullable(unsigned long)const \n5301 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5302 int CRecordset::IsFieldStatusNull(unsigned long)const \n5303 int CFieldExchange::IsFieldType(unsigned int *)\n5304 int CControlBar::IsFloating()const \n5305 int CFrameWnd::IsFrameWnd()const \n5306 int CWnd::IsFrameWnd()const \n5307 int IsHelpKey(tagMSG *)\n5308 int CFileFind::IsHidden()const \n5309 int CWnd::IsIconic()const \n5310 int CWinThread::IsIdleMessage(tagMSG *)\n5311 int COleClientItem::IsInPlaceActive()const \n5312 int COleServerDoc::IsInPlaceActive()const \n5313 int CCmdTarget::IsInvokeAllowed(long)\n5314 int COleControl::IsInvokeAllowed(long)\n5315 int CFontDialog::IsItalic()const \n5316 int CRecordset::IsJoin(char const *)\n5317 int CObject::IsKindOf(CRuntimeconst *)const \n5318 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5319 int COccManager::IsLabelControl(CWnd *)\n5320 int COleObjectFactory::IsLicenseValid()\n5321 int COleServerItem::IsLinkedItem()const \n5322 int COleClientItem::IsLinkUpToDate()const \n5323 int CArchive::IsLoading()const \n5324 int CPropExchange::IsLoading()\n5325 int CMultiLock::IsLocked(unsigned long)\n5326 int CSingleLock::IsLocked()\n5327 int CRichEditCntrItem::IsMarked()\n5328 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5329 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5330 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5331 int CDocument::IsModified()\n5332 int CHtmlEditDoc::IsModified()\n5333 int COleClientItem::IsModified()const \n5334 int COleControl::IsModified()\n5335 int COlePropertyPage::IsModified()\n5336 int CRichEditDoc::IsModified()\n5337 int CFileFind::IsNormal()const \n5338 int CRecordView::IsOnFirstRecord()\n5339 int CRecordView::IsOnLastRecord()\n5340 int CDatabase::IsOpen()const \n5341 int COleClientItem::IsOpen()const \n5342 int CRecordset::IsOpen()const \n5343 int COleControl::IsOptimizedDraw()\n5344 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5345 int CRecordset::IsParamStatusNull(unsigned long)const \n5346 int CDC::IsPrinting()const \n5347 int CFileFind::IsReadOnly()const \n5348 int CRecordset::IsRecordsetUpdatable()\n5349 int COleObjectFactory::IsRegistered()const \n5350 int CCmdTarget::IsResultExpected()\n5351 int CRichEditView::IsRichEditFormat(unsigned short)\n5352 int COleClientItem::IsRunning()const \n5353 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5354 int CRichEditView::IsSelected(CObject const *)const \n5355 int CView::IsSelected(CObject const *)const \n5356 int CRecordset::IsSelectQueryUpdatable(char const *)\n5357 int CObject::IsSerializable()const \n5358 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5359 int CStatusBarCtrl::IsSimple()const \n5360 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5361 int CRecordset::IsSQLUpdatable(char const *)\n5362 int CArchive::IsStoring()const \n5363 int CFontDialog::IsStrikeOut()const \n5364 int COleControl::IsSubclassedControl()\n5365 int CFileFind::IsSystem()const \n5366 int CFileFind::IsTemporary()const \n5367 int CFindReplaceDialog::IsTerminating()const \n5368 int CWnd::IsTopParentActive()const \n5369 int CFrameWnd::IsTracking()const \n5370 int CSplitterWnd::IsTracking()\n5371 int CFontDialog::IsUnderline()const \n5372 long CDocObjectServer::XOleObject::IsUpToDate()\n5373 long COleControl::XOleObject::IsUpToDate()\n5374 long COleServerDoc::XOleObject::IsUpToDate()\n5375 long COleServerItem::XOleObject::IsUpToDate()\n5376 int COleChangeSourceDialog::IsValidSource()\n5377 int CControlBar::IsVisible()const \n5378 int COleControlSite::IsWindowEnabled()const \n5379 int CWnd::IsWindowEnabled()const \n5380 int CWnd::IsWindowVisible()const \n5381 int CPropertySheet::IsWizard()const \n5382 int CWnd::IsZoomed()const \n5383 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5384 int CDragListBox::ItemFromPt(CPoint,int)const \n5385 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5386 void COleControl::KeyDown(unsigned short *)\n5387 void COleControl::KeyUp(unsigned short *)\n5388 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5389 int CWnd::KillTimer(unsigned int)\n5390 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5391 void CToolBar::Layout()\n5392 int CComboBox::LimitText(int)\n5393 void CEdit::LimitText(int)\n5394 void CRichEditCtrl::LimitText(long)\n5395 int CEdit::LineFromChar(int)const \n5396 long CRichEditCtrl::LineFromChar(long)const \n5397 int CEdit::LineIndex(int)const \n5398 int CRichEditCtrl::LineIndex(int)const \n5399 int CEdit::LineLength(int)const \n5400 int CRichEditCtrl::LineLength(int)const \n5401 void CEdit::LineScroll(int,int)\n5402 void CRichEditCtrl::LineScroll(int,int)\n5403 int CDC::LineTo(int,int)\n5404 int CDC::LineTo(tagPOINT)\n5405 int CAsyncSocket::Listen(int)\n5406 unsigned long CRichEditView::lMaxSize\n5407 long CBlobProperty::Load(IStream *)\n5408 int CDialogTemplate::Load(char const *)\n5409 void COleControl::Load(char const *,CDataPathProperty &)\n5410 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5411 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5412 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5413 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5414 long COleControl::XPersistStorage::Load(IStorage *)\n5415 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5416 long COleControl::XPersistStreamInit::Load(IStream *)\n5417 int CFrameWnd::LoadAccelTable(char const *)\n5418 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5419 void CFrameWnd::LoadBarState(char const *)\n5420 int CBitmap::LoadBitmapA(unsigned int)\n5421 int CBitmap::LoadBitmapA(char const *)\n5422 int CToolBar::LoadBitmapA(unsigned int)\n5423 int CToolBar::LoadBitmapA(char const *)\n5424 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5425 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n5426 HICON__ * CWinApp::LoadCursorA(unsigned int)const \n5427 HICON__ * CWinApp::LoadCursorA(char const *)const \n5428 void CRecordset::LoadFields()\n5429 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5430 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5431 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5432 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5433 int CDHtmlDialog::LoadFromResource(unsigned int)\n5434 int CDHtmlDialog::LoadFromResource(char const *)\n5435 int CHtmlView::LoadFromResource(unsigned int)\n5436 int CHtmlView::LoadFromResource(char const *)\n5437 void COleDocument::LoadFromStorage()\n5438 HICON__ * CWinApp::LoadIconA(unsigned int)const \n5439 HICON__ * CWinApp::LoadIconA(char const *)const \n5440 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5441 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5442 int CMenu::LoadMenuA(unsigned int)\n5443 int CMenu::LoadMenuA(char const *)\n5444 int CMenu::LoadMenuIndirectA(void const *)\n5445 int CBitmap::LoadOEMBitmap(unsigned int)\n5446 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5447 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5448 HICON__ * CWinApp::LoadStandardCursor(char const *)const \n5449 HICON__ * CWinApp::LoadStandardIcon(char const *)const \n5450 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n5451 void CDockState::LoadState(char const *)\n5452 long COleControl::LoadState(IStream *)\n5453 void CWinApp::LoadStdProfileSettings(unsigned int)\n5454 int CWinApp::LoadSysPolicies()\n5455 void CDocTemplate::LoadTemplate()\n5456 void CMultiDocTemplate::LoadTemplate()\n5457 int CToolBar::LoadToolBar(unsigned int)\n5458 int CToolBar::LoadToolBar(char const *)\n5459 int CCriticalSection::Lock()\n5460 int CCriticalSection::Lock(unsigned long)\n5461 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5462 void COleSafeArray::Lock()\n5463 int CSingleLock::Lock(unsigned long)\n5464 int CSyncObject::Lock(unsigned long)\n5465 void CTypeLibCache::Lock()\n5466 char const * CEditView::LockBuffer()const \n5467 long COleControlContainer::XOleContainer::LockContainer(int)\n5468 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5469 void COleLinkingDoc::LockExternal(int,int)\n5470 int COleControl::LockInPlaceActive(int)\n5471 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5472 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5473 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5474 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5475 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5476 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5477 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5478 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5479 long COleObjectFactory::XClassFactory::LockServer(int)\n5480 int CWnd::LockWindowUpdate()\n5481 int CMapPtrToPtr::Lookup(void *,void * &)const \n5482 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5483 int CMapStringToOb::Lookup(char const *,CObject * &)const \n5484 int CMapStringToPtr::Lookup(char const *,void * &)const \n5485 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n5486 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5487 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5488 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5489 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5490 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5491 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5492 int CMapStringToOb::LookupKey(char const *,char const * &)const \n5493 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n5494 int CMapStringToString::LookupKey(char const *,char const * &)const \n5495 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5496 void CDC::LPtoDP(tagPOINT *,int)const \n5497 void CDC::LPtoDP(tagRECT *)const \n5498 void CDC::LPtoDP(tagSIZE *)const \n5499 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5500 int CToolBarCtrl::MapAccelerator(char,unsigned int *)\n5501 void CDialog::MapDialogRect(tagRECT *)const \n5502 void CPropertySheet::MapDialogRect(tagRECT *)const \n5503 void CArchive::MapObject(CObject const *)\n5504 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5505 int COleDialog::MapResult(unsigned int)\n5506 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5507 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5508 long CPropertyPage::MapWizardResult(long)\n5509 void CRichEditCntrItem::Mark(int)\n5510 int CToolBarCtrl::MarkButton(int,int)\n5511 void CRecordset::MarkForAddNew()\n5512 void CRecordset::MarkForUpdate()\n5513 void CRichEditDoc::MarkItemsClear()const \n5514 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5515 int CFindReplaceDialog::MatchCase()const \n5516 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n5517 int CFileFind::MatchesMask(unsigned long)const \n5518 int CFindReplaceDialog::MatchWholeWord()const \n5519 void CReBarCtrl::MaximizeBand(unsigned int)\n5520 void CMDIChildWnd::MDIActivate()\n5521 void CMDIFrameWnd::MDIActivate(CWnd *)\n5522 void CMDIFrameWnd::MDICascade(int)\n5523 void CMDIFrameWnd::MDICascade()\n5524 void CMDIChildWnd::MDIDestroy()\n5525 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5526 void CMDIFrameWnd::MDIIconArrange()\n5527 void CMDIChildWnd::MDIMaximize()\n5528 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5529 void CMDIFrameWnd::MDINext()\n5530 void CMDIFrameWnd::MDIPrev()\n5531 void CMDIChildWnd::MDIRestore()\n5532 void CMDIFrameWnd::MDIRestore(CWnd *)\n5533 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5534 void CMDIFrameWnd::MDITile(int)\n5535 void CMDIFrameWnd::MDITile()\n5536 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5537 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5538 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5539 void CListBox::MeasureItem(tagMEASUREITEM*)\n5540 void CMenu::MeasureItem(tagMEASUREITEM*)\n5541 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n5542 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5543 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n5544 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n5545 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5546 void CReBarCtrl::MinimizeBand(unsigned int)\n5547 void CPreviewDC::MirrorAttributes()\n5548 void CPreviewDC::MirrorFont()\n5549 void CPreviewDC::MirrorMappingMode(int)\n5550 void CPreviewDC::MirrorViewportOrg()\n5551 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5552 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5553 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5554 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5555 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5556 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5557 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5558 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5559 void CDockContext::Move(CPoint)\n5560 void CRecordset::Move(long,unsigned short)\n5561 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5562 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5563 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5564 void CRecordset::MoveFirst()\n5565 void CRecordset::MoveLast()\n5566 void CRecordset::MoveNext()\n5567 void CRecordset::MovePrev()\n5568 CPoint CDC::MoveTo(int,int)\n5569 CPoint CDC::MoveTo(tagPOINT)\n5570 void COleControlSite::MoveWindow(int,int,int,int)\n5571 void CWnd::MoveWindow(int,int,int,int,int)\n5572 void CWnd::MoveWindow(tagRECT const *,int)\n5573 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5574 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5575 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n5576 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5577 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n5578 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5579 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5580 unsigned int COleDropSource::nDragDelay\n5581 unsigned int COleDropSource::nDragMinDist\n5582 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5583 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5584 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5585 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5586 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5587 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n5588 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5589 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5590 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5591 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5592 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5593 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5594 void CDialog::NextDlgCtrl()const \n5595 unsigned int const CEditView::nMaxSize\n5596 int CRectTracker::NormalizeHit(int)const \n5597 void CDataBoundProperty::Notify()\n5598 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5599 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5600 void COleServerDoc::NotifyChanged()\n5601 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5602 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5603 void COleServerDoc::NotifyClosed()\n5604 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5605 void COleServerDoc::NotifyRename(char const *)\n5606 void COleServerDoc::NotifySaved()\n5607 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5608 unsigned int COleDropTarget::nScrollDelay\n5609 int COleDropTarget::nScrollInset\n5610 unsigned int COleDropTarget::nScrollInterval\n5611 int CDC::OffsetClipRgn(int,int)\n5612 int CDC::OffsetClipRgn(tagSIZE)\n5613 int CProgressCtrl::OffsetPos(int)\n5614 int CRgn::OffsetRgn(int,int)\n5615 int CRgn::OffsetRgn(tagPOINT)\n5616 CPoint CDC::OffsetViewportOrg(int,int)\n5617 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5618 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5619 CPoint CDC::OffsetWindowOrg(int,int)\n5620 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5621 void CAsyncSocket::OnAccept(int)\n5622 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5623 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5624 void COleClientItem::OnActivate()\n5625 void COleFrameHook::OnActivate(int)\n5626 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5627 void CWnd::OnActivateApp(int,unsigned long)\n5628 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5629 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5630 long COleControl::OnActivateInPlace(int,tagMSG *)\n5631 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5632 long CWnd::OnActivateTopLevel(unsigned int,long)\n5633 void COleClientItem::OnActivateUI()\n5634 long CDocObjectServer::OnActivateView()\n5635 void CFormView::OnActivateView(int,CView *,CView *)\n5636 void CPreviewView::OnActivateView(int,CView *,CView *)\n5637 void CRichEditView::OnActivateView(int,CView *,CView *)\n5638 void CView::OnActivateView(int,CView *,CView *)\n5639 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5640 void CConnectionPoint::OnAdvise(int)\n5641 void COleControl::XEventConnPt::OnAdvise(int)\n5642 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5643 void COleControl::OnAmbientPropertyChange(long)\n5644 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5645 void COleControl::OnAppearanceChanged()\n5646 void CWinApp::OnAppExit()\n5647 int CPropertyPage::OnApply()\n5648 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5649 void CDocObjectServer::OnApplyViewState(CArchive &)\n5650 void CWnd::OnAskCbFormatName(unsigned int,char *)\n5651 void COleControl::OnBackColorChanged()\n5652 int CFrameWnd::OnBarCheck(unsigned int)\n5653 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5654 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5655 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5656 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5657 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n5658 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n5659 int COleDropSource::OnBeginDrag(CWnd *)\n5660 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5661 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5662 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5663 void COleControl::OnBorderStyleChanged()\n5664 void CRichEditView::OnBullet()\n5665 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5666 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5667 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5668 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5669 void CCommonDialog::OnCancel()\n5670 void CDialog::OnCancel()\n5671 void CPropertyPage::OnCancel()\n5672 void CRichEditView::OnCancelEditCntr()\n5673 void COleControl::OnCancelMode()\n5674 void CSplitterWnd::OnCancelMode()\n5675 void CWnd::OnCancelMode()\n5676 void CWnd::OnCaptureChanged(CWnd *)\n5677 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5678 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5679 long COleControl::XFontNotification::OnChanged(long)\n5680 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5681 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5682 void CRectTracker::OnChangedRect(CRect const &)\n5683 void CDocument::OnChangedViewList()\n5684 int COleClientItem::OnChangeItemPosition(CRect const &)\n5685 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5686 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5687 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5688 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5689 void CRichEditView::OnCharBold()\n5690 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5691 void CRichEditView::OnCharItalic()\n5692 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5693 void CRichEditView::OnCharUnderline()\n5694 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5695 void CWnd::OnChildActivate()\n5696 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5697 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5698 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5699 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5700 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5701 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5702 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5703 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5704 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5705 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5706 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5707 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5708 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5709 void COleControl::OnClick(unsigned short)\n5710 CEnumArray * CEnumArray::OnClone()\n5711 CEnumArray * CEnumConnections::OnClone()\n5712 void CAsyncSocket::OnClose(int)\n5713 void CControlFrameWnd::OnClose()\n5714 void CFrameWnd::OnClose()\n5715 void CMiniDockFrameWnd::OnClose()\n5716 void COleControl::OnClose(unsigned long)\n5717 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5718 void CPropertySheet::OnClose()\n5719 void CWnd::OnClose()\n5720 void COleClientItem::XAdviseSink::OnClose()\n5721 void CDocObjectServer::OnCloseDocument()\n5722 void CDocument::OnCloseDocument()\n5723 void COleDocument::OnCloseDocument()\n5724 void COleLinkingDoc::OnCloseDocument()\n5725 void COleServerDoc::OnCloseDocument()\n5726 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5727 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5728 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5729 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5730 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5731 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5732 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5733 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5734 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5735 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5736 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5737 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5738 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5739 void CRichEditView::OnColorDefault()\n5740 int CColorDialog::OnColorOK()\n5741 void CRichEditView::OnColorPick(unsigned long)\n5742 int CFrameWnd::OnCommand(unsigned int,long)\n5743 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5744 int COlePropertyPage::OnCommand(unsigned int,long)\n5745 int CPropertySheet::OnCommand(unsigned int,long)\n5746 int CSplitterWnd::OnCommand(unsigned int,long)\n5747 int CWnd::OnCommand(unsigned int,long)\n5748 long CDialog::OnCommandHelp(unsigned int,long)\n5749 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5750 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5751 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5752 void CHtmlView::OnCommandStateChange(long,int)\n5753 void CWnd::OnCompacting(unsigned int)\n5754 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5755 void CAsyncSocket::OnConnect(int)\n5756 void CFrameWnd::OnContextHelp()\n5757 int COleFrameHook::OnContextHelp(int)\n5758 void COleIPFrameWnd::OnContextHelp()\n5759 void CWinApp::OnContextHelp()\n5760 void CWnd::OnContextMenu(CWnd *,CPoint)\n5761 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5762 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5763 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n5764 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n5765 int CEditView::OnCreate(tagCREATESTRUCTA *)\n5766 int CFormView::OnCreate(tagCREATESTRUCTA *)\n5767 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5768 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n5769 int COleControl::OnCreate(tagCREATESTRUCTA *)\n5770 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5771 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n5772 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n5773 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n5774 int CView::OnCreate(tagCREATESTRUCTA *)\n5775 int CWnd::OnCreate(tagCREATESTRUCTA *)\n5776 int CCmdTarget::OnCreateAggregates()\n5777 int COleControl::OnCreateAggregates()\n5778 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n5779 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n5780 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n5781 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n5782 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n5783 CCmdTarget * COleObjectFactory::OnCreateObject()\n5784 CCmdTarget * COleTemplateServer::OnCreateObject()\n5785 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n5786 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n5787 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n5788 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n5789 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n5790 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n5791 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n5792 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n5793 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n5794 int CDocManager::OnDDECommand(char *)\n5795 int CWinApp::OnDDECommand(char *)\n5796 long CFrameWnd::OnDDEExecute(unsigned int,long)\n5797 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n5798 long CFrameWnd::OnDDETerminate(unsigned int,long)\n5799 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n5800 void COleClientItem::OnDeactivate()\n5801 void COleServerDoc::OnDeactivate()\n5802 void COleClientItem::OnDeactivateAndUndo()\n5803 void COleClientItem::OnDeactivateUI(int)\n5804 void COleServerDoc::OnDeactivateUI(int)\n5805 void CRichEditCntrItem::OnDeactivateUI(int)\n5806 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n5807 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n5808 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n5809 void CControlBar::OnDestroy()\n5810 void CDHtmlDialog::OnDestroy()\n5811 void CEditView::OnDestroy()\n5812 void CFrameWnd::OnDestroy()\n5813 void CHtmlView::OnDestroy()\n5814 void CMDIChildWnd::OnDestroy()\n5815 void CMDIFrameWnd::OnDestroy()\n5816 void COleControl::OnDestroy()\n5817 void COleIPFrameWnd::OnDestroy()\n5818 void CRichEditView::OnDestroy()\n5819 void CTabCtrl::OnDestroy()\n5820 void CTreeCtrl::OnDestroy()\n5821 void CTreeView::OnDestroy()\n5822 void CView::OnDestroy()\n5823 void CWnd::OnDestroy()\n5824 void CWnd::OnDestroyClipboard()\n5825 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n5826 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n5827 void CRichEditView::OnDevModeChange(char *)\n5828 void CWnd::OnDevModeChange(char *)\n5829 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n5830 void COleClientItem::OnDiscardUndoState()\n5831 void CSplitterWnd::OnDisplayChange()\n5832 long CWnd::OnDisplayChange(unsigned int,long)\n5833 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n5834 int COleFrameHook::OnDocActivate(int)\n5835 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n5836 void CHtmlView::OnDocumentComplete(char const *)\n5837 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n5838 long CBrowserControlSite::OnDocWindowActivate(int)\n5839 long CDHtmlDialog::OnDocWindowActivate(int)\n5840 long CHtmlView::OnDocWindowActivate(int)\n5841 void COleServerDoc::OnDocWindowActivate(int)\n5842 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n5843 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n5844 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n5845 void CDocObjectServerItem::OnDoVerb(long)\n5846 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n5847 void COleServerItem::OnDoVerb(long)\n5848 void CHtmlView::OnDownloadBegin()\n5849 void CHtmlView::OnDownloadComplete()\n5850 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n5851 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n5852 void COleDropTarget::OnDragLeave(CWnd *)\n5853 void CView::OnDragLeave()\n5854 long CWnd::OnDragList(unsigned int,long)\n5855 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n5856 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n5857 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n5858 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n5859 void CCtrlView::OnDraw(CDC *)\n5860 void CFormView::OnDraw(CDC *)\n5861 void CHtmlView::OnDraw(CDC *)\n5862 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n5863 void CPreviewView::OnDraw(CDC *)\n5864 void CView::OnDraw(CDC *)\n5865 void CWnd::OnDrawClipboard()\n5866 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n5867 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n5868 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n5869 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n5870 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n5871 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n5872 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n5873 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n5874 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n5875 void CFrameWnd::OnDropFiles(HDROP__ *)\n5876 void CRichEditView::OnDropFiles(HDROP__ *)\n5877 void CWnd::OnDropFiles(HDROP__ *)\n5878 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n5879 int CEditView::OnEditChange()\n5880 void COleDocument::OnEditChangeIcon()\n5881 void CEditView::OnEditClear()\n5882 void CRichEditView::OnEditClear()\n5883 void COleDocument::OnEditConvert()\n5884 void CEditView::OnEditCopy()\n5885 void CHtmlView::OnEditCopy()\n5886 void CRichEditView::OnEditCopy()\n5887 void CEditView::OnEditCut()\n5888 void CHtmlView::OnEditCut()\n5889 void CRichEditView::OnEditCut()\n5890 void CEditView::OnEditFind()\n5891 void CRichEditView::OnEditFind()\n5892 void CEditView::OnEditFindReplace(int)\n5893 void CRichEditView::OnEditFindReplace(int)\n5894 void COleDocument::OnEditLinks()\n5895 void CEditView::OnEditPaste()\n5896 void CHtmlView::OnEditPaste()\n5897 void CRichEditView::OnEditPaste()\n5898 void CRichEditView::OnEditPasteSpecial()\n5899 void CRichEditView::OnEditProperties()\n5900 int COlePropertyPage::OnEditProperty(long)\n5901 void CRichEditView::OnEditRedo()\n5902 void CEditView::OnEditRepeat()\n5903 void CRichEditView::OnEditRepeat()\n5904 void CEditView::OnEditReplace()\n5905 void CRichEditView::OnEditReplace()\n5906 void CEditView::OnEditSelectAll()\n5907 void CRichEditView::OnEditSelectAll()\n5908 void CEditView::OnEditUndo()\n5909 void CRichEditView::OnEditUndo()\n5910 void CFrameWnd::OnEnable(int)\n5911 void CToolTipCtrl::OnEnable(int)\n5912 void CWnd::OnEnable(int)\n5913 void COleControl::OnEnabledChanged()\n5914 long CHtmlView::OnEnableModeless(int)\n5915 void COleFrameHook::OnEnableModeless(int)\n5916 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n5917 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n5918 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n5919 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n5920 void CFrameWnd::OnEndSession(int)\n5921 void CWnd::OnEndSession(int)\n5922 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n5923 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n5924 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n5925 void CWnd::OnEnterMenuLoop(int)\n5926 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n5927 int CFrameWnd::OnEraseBkgnd(CDC *)\n5928 int COleControl::OnEraseBkgnd(CDC *)\n5929 int COleResizeBar::OnEraseBkgnd(CDC *)\n5930 int CPreviewView::OnEraseBkgnd(CDC *)\n5931 int CReBar::OnEraseBkgnd(CDC *)\n5932 int CToolBar::OnEraseBkgnd(CDC *)\n5933 int CWnd::OnEraseBkgnd(CDC *)\n5934 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n5935 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n5936 int COleControlSite::OnEvent(AFX_EVENT *)\n5937 void COleControl::OnEventAdvise(int)\n5938 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n5939 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n5940 void CWnd::OnExitMenuLoop(int)\n5941 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n5942 void CDocument::OnFileClose()\n5943 void CFileDialog::OnFileNameChange()\n5944 int CFileDialog::OnFileNameOK()\n5945 void CDocManager::OnFileNew()\n5946 void CWinApp::OnFileNew()\n5947 void CDocManager::OnFileOpen()\n5948 void CWinApp::OnFileOpen()\n5949 void CHtmlView::OnFilePrint()\n5950 void CView::OnFilePrint()\n5951 void CView::OnFilePrintPreview()\n5952 void CWinApp::OnFilePrintSetup()\n5953 void CDocument::OnFileSave()\n5954 void CDocument::OnFileSaveAs()\n5955 void COleServerDoc::OnFileSaveCopyAs()\n5956 void CDocument::OnFileSendMail()\n5957 void COleDocument::OnFileSendMail()\n5958 void COleServerDoc::OnFileUpdate()\n5959 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n5960 void CCmdTarget::OnFinalRelease()\n5961 void CDocument::OnFinalRelease()\n5962 void COleControl::OnFinalRelease()\n5963 void COlePropertyPage::OnFinalRelease()\n5964 void COleServerItem::OnFinalRelease()\n5965 void CWnd::OnFinalRelease()\n5966 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n5967 void CEditView::OnFindNext(char const *,int,int)\n5968 void CRichEditView::OnFindNext(char const *,int,int,int)\n5969 long CEditView::OnFindReplaceCmd(unsigned int,long)\n5970 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n5971 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n5972 long COleControlSite::XOleControlSite::OnFocus(int)\n5973 void CFileDialog::OnFolderChange()\n5974 void CWnd::OnFontChange()\n5975 void COleControl::OnFontChanged()\n5976 void COleControl::OnForeColorChanged()\n5977 void CRichEditView::OnFormatFont()\n5978 void COleControl::OnFrameClose()\n5979 long CBrowserControlSite::OnFrameWindowActivate(int)\n5980 long CDHtmlDialog::OnFrameWindowActivate(int)\n5981 long CHtmlView::OnFrameWindowActivate(int)\n5982 void COleServerDoc::OnFrameWindowActivate(int)\n5983 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n5984 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n5985 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n5986 void COleControl::OnFreezeEvents(int)\n5987 void CHtmlView::OnFullScreen(int)\n5988 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n5989 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n5990 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n5991 void COleClientItem::OnGetClipRect(CRect &)\n5992 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n5993 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n5994 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n5995 unsigned int COleControl::OnGetDlgCode()\n5996 unsigned int CWnd::OnGetDlgCode()\n5997 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n5998 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n5999 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6000 long CHtmlView::OnGetExternal(IDispatch * *)\n6001 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6002 HMENU__ * COleControl::OnGetInPlaceMenu()\n6003 void COleClientItem::OnGetItemPosition(CRect &)\n6004 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6005 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n6006 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n6007 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6008 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6009 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6010 long CWnd::OnGetObject(unsigned int,long)\n6011 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6012 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6013 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6014 long CStatusBar::OnGetText(unsigned int,long)\n6015 long CStatusBar::OnGetTextLength(unsigned int,long)\n6016 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6017 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6018 unsigned long COleControl::OnGetViewStatus()\n6019 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6020 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6021 void CFrameWnd::OnHelp()\n6022 int COlePropertyPage::OnHelp(char const *)\n6023 void CWinApp::OnHelp()\n6024 void CWnd::OnHelp()\n6025 void CWinApp::OnHelpFinder()\n6026 void CWnd::OnHelpFinder()\n6027 long CControlBar::OnHelpHitTest(unsigned int,long)\n6028 long CDialog::OnHelpHitTest(unsigned int,long)\n6029 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6030 void CWinApp::OnHelpIndex()\n6031 void CWnd::OnHelpIndex()\n6032 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6033 int CWnd::OnHelpInfo(tagHELPINFO *)\n6034 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6035 void CWinApp::OnHelpUsing()\n6036 void CWnd::OnHelpUsing()\n6037 void CDocObjectServerItem::OnHide()\n6038 long COleControl::OnHide()\n6039 void COleServerItem::OnHide()\n6040 void COleControl::OnHideToolBars()\n6041 long CHtmlView::OnHideUI()\n6042 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6043 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6044 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6045 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6046 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6047 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6048 void CWnd::OnIconEraseBkgnd(CDC *)\n6049 void CDocTemplate::OnIdle()\n6050 void CDocument::OnIdle()\n6051 void COleDocument::OnIdle()\n6052 int CWinApp::OnIdle(long)\n6053 int CWinThread::OnIdle(long)\n6054 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6055 void CFrameWnd::OnIdleUpdateCmdUI()\n6056 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6057 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6058 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6059 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6060 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6061 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6062 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6063 int CDHtmlDialog::OnInitDialog()\n6064 int CDialog::OnInitDialog()\n6065 int COlePropertiesDialog::OnInitDialog()\n6066 int COlePropertyPage::OnInitDialog()\n6067 int CPropertySheet::OnInitDialog()\n6068 void CFileDialog::OnInitDone()\n6069 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6070 void CControlBar::OnInitialUpdate()\n6071 void CFormView::OnInitialUpdate()\n6072 void COleDBRecordView::OnInitialUpdate()\n6073 void CRecordView::OnInitialUpdate()\n6074 void CRichEditView::OnInitialUpdate()\n6075 void CView::OnInitialUpdate()\n6076 void CFrameWnd::OnInitMenu(CMenu *)\n6077 void COleFrameHook::OnInitMenu(CMenu *)\n6078 void CWnd::OnInitMenu(CMenu *)\n6079 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6080 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6081 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6082 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6083 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6084 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6085 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6086 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6087 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6088 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6089 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6090 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6091 void CRichEditView::OnInsertObject()\n6092 void CSplitterWnd::OnInvertTracker(CRect const &)\n6093 void CDockContext::OnKey(int,int)\n6094 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6095 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6096 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6097 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6098 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6099 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6100 void COleControl::OnKeyPressEvent(unsigned short)\n6101 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6102 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6103 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6104 long CPropertySheet::OnKickIdle(unsigned int,long)\n6105 int CPropertyPage::OnKillActive()\n6106 void COleControl::OnKillFocus(CWnd *)\n6107 void CWnd::OnKillFocus(CWnd *)\n6108 long CCheckListBox::OnLBAddString(unsigned int,long)\n6109 long CCheckListBox::OnLBFindString(unsigned int,long)\n6110 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6111 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6112 long CCheckListBox::OnLBGetText(unsigned int,long)\n6113 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6114 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6115 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6116 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6117 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6118 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6119 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6120 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6121 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6122 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6123 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6124 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6125 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6126 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6127 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6128 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6129 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6130 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6131 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6132 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6133 void CAsyncMonikerFile::OnLowResource()\n6134 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6135 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6136 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6137 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6138 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6139 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6140 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6141 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6142 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6143 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6144 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6145 void CHtmlView::OnMenuBar(int)\n6146 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6147 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6148 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6149 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6150 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6151 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6152 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6153 int CSocket::OnMessagePending()\n6154 void COleControl::OnMnemonic(tagMSG *)\n6155 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6156 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6157 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6158 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6159 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6160 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6161 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6162 void COleControl::OnMouseMove(unsigned int,CPoint)\n6163 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6164 void CWnd::OnMouseMove(unsigned int,CPoint)\n6165 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6166 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6167 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6168 void COleControl::OnMove(int,int)\n6169 int COleDBRecordView::OnMove(unsigned int)\n6170 void CRecordView::OnMove(int,int)\n6171 int CRecordView::OnMove(unsigned int)\n6172 void CWnd::OnMove(int,int)\n6173 void CWnd::OnMoving(unsigned int,tagRECT *)\n6174 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6175 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6176 void CHtmlEditView::OnNavigateComplete2(char const *)\n6177 void CHtmlView::OnNavigateComplete2(char const *)\n6178 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n6179 int CFrameWnd::OnNcActivate(int)\n6180 int CMDIChildWnd::OnNcActivate(int)\n6181 int CMiniFrameWnd::OnNcActivate(int)\n6182 int CWnd::OnNcActivate(int)\n6183 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6184 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6185 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6186 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6187 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6188 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6189 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n6190 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n6191 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n6192 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n6193 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n6194 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n6195 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n6196 int CWnd::OnNcCreate(tagCREATESTRUCTA *)\n6197 void CListCtrl::OnNcDestroy()\n6198 void CListView::OnNcDestroy()\n6199 void CWnd::OnNcDestroy()\n6200 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n6201 unsigned int COleControl::OnNcHitTest(CPoint)\n6202 unsigned int CStatusBar::OnNcHitTest(CPoint)\n6203 unsigned int CToolBar::OnNcHitTest(CPoint)\n6204 unsigned int CWnd::OnNcHitTest(CPoint)\n6205 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6206 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6207 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6208 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6209 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6210 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6211 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6212 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6213 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6214 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6215 void CDockBar::OnNcPaint()\n6216 void COleControl::OnNcPaint()\n6217 void CReBar::OnNcPaint()\n6218 void CStatusBar::OnNcPaint()\n6219 void CToolBar::OnNcPaint()\n6220 void CWnd::OnNcPaint()\n6221 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6222 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6223 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6224 int CDocument::OnNewDocument()\n6225 int CHtmlEditDoc::OnNewDocument()\n6226 int COleDocument::OnNewDocument()\n6227 int COleLinkingDoc::OnNewDocument()\n6228 void COleServerDoc::OnNewEmbedding(IStorage *)\n6229 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6230 int CEnumArray::OnNext(void *)\n6231 int CEnumConnections::OnNext(void *)\n6232 int CEnumConnPoints::OnNext(void *)\n6233 int CEnumFormatEtc::OnNext(void *)\n6234 int CEnumOleVerb::OnNext(void *)\n6235 int CEnumUnknown::OnNext(void *)\n6236 void CPreviewView::OnNextPage()\n6237 int CView::OnNextPaneCmd(unsigned int)\n6238 int CFileDialog::OnNotify(unsigned int,long,long *)\n6239 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6240 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6241 int CWnd::OnNotify(unsigned int,long,long *)\n6242 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6243 long CWnd::OnNTCtlColor(unsigned int,long)\n6244 void CPreviewView::OnNumPageChange()\n6245 void COlePropertyPage::OnObjectsChanged()\n6246 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6247 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6248 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6249 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6250 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6251 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6252 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6253 void CCommonDialog::OnOK()\n6254 void CDialog::OnOK()\n6255 void CPropertyPage::OnOK()\n6256 long COleControl::OnOpen(int,tagMSG *)\n6257 void COleServerItem::OnOpen()\n6258 int CDocument::OnOpenDocument(char const *)\n6259 int CHtmlEditDoc::OnOpenDocument(char const *)\n6260 int COleDocument::OnOpenDocument(char const *)\n6261 int COleLinkingDoc::OnOpenDocument(char const *)\n6262 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6263 int CWinApp::OnOpenRecentFile(unsigned int)\n6264 void CAsyncSocket::OnOutOfBandData(int)\n6265 void CCommonDialog::OnPaint()\n6266 void CControlBar::OnPaint()\n6267 void CCtrlView::OnPaint()\n6268 void CDialog::OnPaint()\n6269 void CDockBar::OnPaint()\n6270 void CHtmlEditView::OnPaint()\n6271 void CHtmlView::OnPaint()\n6272 void COleControl::OnPaint(CDC *)\n6273 int COleControlContainer::OnPaint(CDC *)\n6274 void COleResizeBar::OnPaint()\n6275 void CReBar::OnPaint()\n6276 void CSplitterWnd::OnPaint()\n6277 void CStatusBar::OnPaint()\n6278 void CToolBar::OnPaint()\n6279 void CView::OnPaint()\n6280 void CWnd::OnPaint()\n6281 void CWnd::OnPaintClipboard(CWnd *,void *)\n6282 void CFrameWnd::OnPaletteChanged(CWnd *)\n6283 void COleFrameHook::OnPaletteChanged(CWnd *)\n6284 void CWnd::OnPaletteChanged(CWnd *)\n6285 void CWnd::OnPaletteIsChanging(CWnd *)\n6286 void CRichEditView::OnParaAlign(unsigned short)\n6287 void CRichEditView::OnParaCenter()\n6288 void CRichEditView::OnParaLeft()\n6289 void CRichEditView::OnParaRight()\n6290 void CWnd::OnParentNotify(unsigned int,long)\n6291 int CRichEditView::OnPasteNativeObject(IStorage *)\n6292 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6293 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6294 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6295 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6296 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6297 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6298 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6299 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6300 int CEditView::OnPreparePrinting(CPrintInfo *)\n6301 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6302 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6303 int CView::OnPreparePrinting(CPrintInfo *)\n6304 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6305 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6306 void CPreviewView::OnPreviewClose()\n6307 void CPreviewView::OnPreviewPrint()\n6308 void CPreviewView::OnPrevPage()\n6309 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6310 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6311 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6312 void CView::OnPrint(CDC *,CPrintInfo *)\n6313 void CRichEditView::OnPrinterChanged(CDC const &)\n6314 void CPrintDialog::OnPrintSetup()\n6315 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n6316 void CHtmlView::OnProgressChange(long,long)\n6317 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6318 void CHtmlView::OnPropertyChange(char const *)\n6319 int CPropertyPage::OnQueryCancel()\n6320 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6321 HICON__ * CWnd::OnQueryDragIcon()\n6322 int CFrameWnd::OnQueryEndSession()\n6323 int CWnd::OnQueryEndSession()\n6324 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6325 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6326 int CFrameWnd::OnQueryNewPalette()\n6327 int COleFrameHook::OnQueryNewPalette()\n6328 int CWnd::OnQueryNewPalette()\n6329 int CWnd::OnQueryOpen()\n6330 unsigned int CWnd::OnQueryUIState()\n6331 int COleServerItem::OnQueryUpdateItems()\n6332 void CHtmlView::OnQuit()\n6333 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6334 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6335 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6336 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6337 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6338 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6339 int COleServerDoc::OnReactivateAndUndo()\n6340 void COleFrameHook::OnRecalcLayout()\n6341 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6342 void CReBar::OnRecalcParent()\n6343 void CAsyncSocket::OnReceive(int)\n6344 void COleControl::OnReflectorDestroyed()\n6345 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6346 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6347 void COleClientItem::OnRemoveMenus(CMenu *)\n6348 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6349 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6350 void CWnd::OnRenderAllFormats()\n6351 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6352 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6353 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6354 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6355 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6356 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6357 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6358 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6359 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6360 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6361 void CWnd::OnRenderFormat(unsigned int)\n6362 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6363 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6364 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6365 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6366 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6367 void CEditView::OnReplaceAll(char const *,char const *,int)\n6368 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n6369 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n6370 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n6371 long COleControl::XFontNotification::OnRequestEdit(long)\n6372 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6373 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6374 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6375 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6376 void CEnumArray::OnReset()\n6377 void CPropertyPage::OnReset()\n6378 void COleControl::OnResetState()\n6379 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6380 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6381 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6382 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6383 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6384 void COleClientItem::XAdviseSink::OnSave()\n6385 int CDocument::OnSaveDocument(char const *)\n6386 int CHtmlEditDoc::OnSaveDocument(char const *)\n6387 int COleDocument::OnSaveDocument(char const *)\n6388 int COleLinkingDoc::OnSaveDocument(char const *)\n6389 int COleServerDoc::OnSaveDocument(char const *)\n6390 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6391 void COleServerItem::OnSaveEmbedding(IStorage *)\n6392 void CDocObjectServer::OnSaveViewState(CArchive &)\n6393 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6394 int CView::OnScroll(unsigned int,unsigned int,int)\n6395 int COleClientItem::OnScrollBy(CSize)\n6396 int CScrollView::OnScrollBy(CSize,int)\n6397 int CView::OnScrollBy(CSize,int)\n6398 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6399 void CAsyncSocket::OnSend(int)\n6400 int CPropertyPage::OnSetActive()\n6401 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6402 long CToolBar::OnSetButtonSize(unsigned int,long)\n6403 void COleControl::OnSetClientSite()\n6404 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6405 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6406 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6407 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6408 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6409 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6410 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6411 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6412 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6413 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6414 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6415 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6416 long CPropertySheet::OnSetDefID(unsigned int,long)\n6417 int COleControl::OnSetExtent(tagSIZE *)\n6418 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6419 void CFormView::OnSetFocus(CWnd *)\n6420 void CFrameWnd::OnSetFocus(CWnd *)\n6421 void COleControl::OnSetFocus(CWnd *)\n6422 void CWnd::OnSetFocus(CWnd *)\n6423 long CCheckListBox::OnSetFont(unsigned int,long)\n6424 void CDialog::OnSetFont(CFont *)\n6425 long CEditView::OnSetFont(unsigned int,long)\n6426 void COleServerDoc::OnSetHostNames(char const *,char const *)\n6427 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6428 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6429 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6430 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6431 long COleControl::OnSetMessageString(unsigned int,long)\n6432 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6433 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6434 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6435 void CDatabase::OnSetOptions(void *)\n6436 void CRecordset::OnSetOptions(void *)\n6437 void COlePropertyPage::OnSetPageSite()\n6438 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6439 long CToolBar::OnSetSizeHelper(CSize &,long)\n6440 long COleControl::OnSetText(unsigned int,long)\n6441 long CStatusBar::OnSetText(unsigned int,long)\n6442 void CWnd::OnSettingChange(unsigned int,char const *)\n6443 void CRecordset::OnSetUpdateOptions(void *)\n6444 unsigned int CFileDialog::OnShareViolation(char const *)\n6445 void CDocObjectServerItem::OnShow()\n6446 void COleServerItem::OnShow()\n6447 long CReBar::OnShowBand(unsigned int,long)\n6448 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6449 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6450 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6451 void COleServerDoc::OnShowDocument(int)\n6452 void COleClientItem::OnShowItem()\n6453 void COleControl::OnShowToolBars()\n6454 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6455 void COleDocument::OnShowViews(int)\n6456 void COleLinkingDoc::OnShowViews(int)\n6457 void COleControl::OnShowWindow(int,unsigned int)\n6458 void CWnd::OnShowWindow(int,unsigned int)\n6459 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6460 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6461 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6462 void CFrameWnd::OnSize(unsigned int,int,int)\n6463 void CHtmlView::OnSize(unsigned int,int,int)\n6464 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6465 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6466 void COleControl::OnSize(unsigned int,int,int)\n6467 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6468 void COleResizeBar::OnSize(unsigned int,int,int)\n6469 void CPreviewView::OnSize(unsigned int,int,int)\n6470 void CScrollView::OnSize(unsigned int,int,int)\n6471 void CSplitterWnd::OnSize(unsigned int,int,int)\n6472 void CStatusBar::OnSize(unsigned int,int,int)\n6473 void CWnd::OnSize(unsigned int,int,int)\n6474 void CWnd::OnSizeClipboard(CWnd *,void *)\n6475 long CControlBar::OnSizeParent(unsigned int,long)\n6476 long CDockBar::OnSizeParent(unsigned int,long)\n6477 long COleResizeBar::OnSizeParent(unsigned int,long)\n6478 void CWnd::OnSizing(unsigned int,tagRECT *)\n6479 int CEnumArray::OnSkip()\n6480 long CSocketWnd::OnSocketDead(unsigned int,long)\n6481 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6482 int CView::OnSplitCmd(unsigned int)\n6483 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6484 void CAsyncMonikerFile::OnStartBinding()\n6485 void CHtmlView::OnStatusBar(int)\n6486 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6487 void CHtmlView::OnStatusTextChange(char const *)\n6488 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n6489 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6490 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6491 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6492 void CToolBar::OnSysColorChange()\n6493 void CWnd::OnSysColorChange()\n6494 void CFrameWnd::OnSysCommand(unsigned int,long)\n6495 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6496 void CPropertySheet::OnSysCommand(unsigned int,long)\n6497 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6498 void CWnd::OnSysCommand(unsigned int,long)\n6499 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6500 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6501 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6502 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6503 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6504 void CWnd::OnTCard(unsigned int,unsigned long)\n6505 void COleControl::OnTextChanged()\n6506 void CEditView::OnTextNotFound(char const *)\n6507 void CRichEditView::OnTextNotFound(char const *)\n6508 void CHtmlView::OnTheaterMode(int)\n6509 void CWnd::OnTimeChange()\n6510 void CControlBar::OnTimer(unsigned int)\n6511 void CWnd::OnTimer(unsigned int)\n6512 void CHtmlView::OnTitleChange(char const *)\n6513 void CHtmlView::OnToolBar(int)\n6514 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6515 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6516 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6517 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6518 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6519 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6520 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6521 void CFileDialog::OnTypeChange()\n6522 void COleControlContainer::OnUIActivate(COleControlSite *)\n6523 long COleClientItem::XOleIPSite::OnUIActivate()\n6524 long COleControlSite::XOleIPSite::OnUIActivate()\n6525 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6526 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6527 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6528 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6529 void CView::OnUpdate(CView *,long,CObject *)\n6530 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6531 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6532 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6533 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6534 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6535 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6536 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6537 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6538 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6539 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6540 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6541 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6542 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6543 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6544 int COleServerDoc::OnUpdateDocument()\n6545 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6546 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6547 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6548 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6549 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6550 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6551 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6552 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6553 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6554 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6555 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6556 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6557 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6558 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6559 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6560 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6561 void CFrameWnd::OnUpdateFrameTitle(int)\n6562 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6563 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6564 int COleClientItem::OnUpdateFrameTitle()\n6565 int COleFrameHook::OnUpdateFrameTitle()\n6566 void COleServerItem::OnUpdateItems()\n6567 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6568 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6569 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6570 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6571 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6572 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6573 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6574 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6575 void CEditView::OnUpdateNeedText(CCmdUI *)\n6576 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6577 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6578 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6579 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6580 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6581 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6582 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6583 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6584 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6585 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6586 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6587 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6588 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6589 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6590 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6591 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6592 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6593 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6594 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6595 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6596 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6597 void CView::OnUpdateSplitCmd(CCmdUI *)\n6598 long CHtmlView::OnUpdateUI()\n6599 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6600 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6601 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6602 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6603 void CHtmlView::OnVisible(int)\n6604 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6605 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6606 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6607 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6608 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6609 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6610 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6611 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6612 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6613 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6614 void CMDIFrameWnd::OnWindowNew()\n6615 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6616 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6617 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6618 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6619 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6620 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6621 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6622 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6623 void CWnd::OnWinIniChange(char const *)\n6624 long CPropertyPage::OnWizardBack()\n6625 int CPropertyPage::OnWizardFinish()\n6626 long CPropertyPage::OnWizardNext()\n6627 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6628 void CPreviewView::OnZoomIn()\n6629 void CPreviewView::OnZoomOut()\n6630 int CAnimateCtrl::Open(unsigned int)\n6631 int CAnimateCtrl::Open(char const *)\n6632 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6633 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6634 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6635 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6636 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n6637 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n6638 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n6639 int CAsyncMonikerFile::Open(char const *,CFileException *)\n6640 int CDatabase::Open(char const *,int,int,char const *,int)\n6641 int CDataPathProperty::Open(CFileException *)\n6642 int CDataPathProperty::Open(COleControl *,CFileException *)\n6643 int CDataPathProperty::Open(char const *,CFileException *)\n6644 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n6645 int CFile::Open(char const *,unsigned int,CFileException *)\n6646 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n6647 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6648 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6649 int CMonikerFile::Open(IMoniker *,CFileException *)\n6650 int CMonikerFile::Open(char const *,CFileException *)\n6651 int CRecordset::Open(unsigned int,char const *,unsigned long)\n6652 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n6653 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n6654 long CDocObjectServer::XOleDocumentView::Open()\n6655 int CWnd::OpenClipboard()\n6656 CDocument * CDocManager::OpenDocumentFile(char const *)\n6657 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n6658 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n6659 CDocument * CWinApp::OpenDocumentFile(char const *)\n6660 int CDatabase::OpenEx(char const *,unsigned long)\n6661 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n6662 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n6663 int CWnd::OpenIcon()\n6664 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6665 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6666 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6667 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n6668 int CHtmlEditDoc::OpenURL(char const *)\n6669 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n6670 int CHeaderCtrl::OrderToIndex(int)const \n6671 int CFileException::OsErrorToException(long)\n6672 void CDumpContext::OutputString(char const *)\n6673 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6674 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6675 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6676 int CDC::PaintRgn(CRgn *)\n6677 int CWnd::PaintWindowlessControls(CDC *)\n6678 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6679 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6680 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n6681 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6682 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6683 void CCommandLineInfo::ParseLast(int)\n6684 void CCommandLineInfo::ParseParam(char const *,int,int)\n6685 void CCommandLineInfo::ParseParamFlag(char const *)\n6686 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6687 void CComboBox::Paste()\n6688 void CEdit::Paste()\n6689 void CRichEditCtrl::Paste()\n6690 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6691 int CDC::PatBlt(int,int,int,int,unsigned long)\n6692 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6693 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6694 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6695 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6696 int CDC::Pie(int,int,int,int,int,int,int,int)\n6697 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6698 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6699 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6700 int CDC::PlayMetaFile(HMETAFILE__ *)\n6701 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6702 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n6703 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n6704 int CDC::PolyBezier(tagPOINT const *,int)\n6705 int CDC::PolyBezierTo(tagPOINT const *,int)\n6706 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6707 int CDC::Polygon(tagPOINT *,int)\n6708 int CDC::Polyline(tagPOINT *,int)\n6709 int CDC::PolylineTo(tagPOINT const *,int)\n6710 int CDC::PolyPolygon(tagPOINT *,int *,int)\n6711 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6712 void CToolTipCtrl::Pop()\n6713 CPoint CEdit::PosFromChar(unsigned int)const \n6714 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6715 void CPreviewView::PositionPage(unsigned int)\n6716 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6717 int CMonikerFile::PostBindToStream(CFileException *)\n6718 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6719 int CWnd::PostMessageA(unsigned int,unsigned int,long)\n6720 void CDialog::PostModal()\n6721 void CPrintDialogEx::PostModal()\n6722 void COleControl::PostModalDialog(HWND__ *)\n6723 void CControlBar::PostNcDestroy()\n6724 void CControlFrameWnd::PostNcDestroy()\n6725 void CFindReplaceDialog::PostNcDestroy()\n6726 void CFrameWnd::PostNcDestroy()\n6727 void COleCntrFrameWnd::PostNcDestroy()\n6728 void CReflectorWnd::PostNcDestroy()\n6729 void CView::PostNcDestroy()\n6730 void CWnd::PostNcDestroy()\n6731 int CWinThread::PostThreadMessageA(unsigned int,unsigned int,long)\n6732 void CRecordset::PreBindFields()\n6733 void CDocument::PreCloseFrame(CFrameWnd *)\n6734 void COleDocument::PreCloseFrame(CFrameWnd *)\n6735 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6736 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6737 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6738 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n6739 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6740 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n6741 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6742 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6743 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n6744 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n6745 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6746 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6747 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6748 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6749 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n6750 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n6751 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n6752 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6753 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6754 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6755 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n6756 void CDialog::PreInitDialog()\n6757 void COleChangeSourceDialog::PreInitDialog()\n6758 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6759 HWND__ * CDialog::PreModal()\n6760 HWND__ * CPrintDialogEx::PreModal()\n6761 void COleControl::PreModalDialog(HWND__ *)\n6762 void CRecordset::PrepareAndExecute()\n6763 HWND__ * CDataExchange::PrepareCtrl(int)\n6764 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6765 void CWnd::PrepareForHelp()\n6766 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6767 void CRecordset::PrepareUpdateHstmt()\n6768 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n6769 void CPropertySheet::PressButton(int)\n6770 int CToolBarCtrl::PressButton(int,int)\n6771 void CCheckListBox::PreSubclassWindow()\n6772 void CDragListBox::PreSubclassWindow()\n6773 void CWnd::PreSubclassWindow()\n6774 int CWnd::PreTranslateInput(tagMSG *)\n6775 int CControlBar::PreTranslateMessage(tagMSG *)\n6776 int CDialog::PreTranslateMessage(tagMSG *)\n6777 int CFormView::PreTranslateMessage(tagMSG *)\n6778 int CFrameWnd::PreTranslateMessage(tagMSG *)\n6779 int CHtmlView::PreTranslateMessage(tagMSG *)\n6780 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n6781 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n6782 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n6783 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n6784 int CPropertyPage::PreTranslateMessage(tagMSG *)\n6785 int CPropertySheet::PreTranslateMessage(tagMSG *)\n6786 int CWinThread::PreTranslateMessage(tagMSG *)\n6787 int CWnd::PreTranslateMessage(tagMSG *)\n6788 void CDialog::PrevDlgCtrl()const \n6789 void CWnd::Print(CDC *,unsigned long)const \n6790 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n6791 int CPrintDialog::PrintAll()const \n6792 int CPrintDialogEx::PrintAll()const \n6793 void CWnd::PrintClient(CDC *,unsigned long)const \n6794 int CPrintDialog::PrintCollate()const \n6795 int CPrintDialogEx::PrintCollate()const \n6796 int CPrintDialogEx::PrintCurrentPage()const \n6797 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n6798 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n6799 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n6800 long CRichEditView::PrintPage(CDC *,long,long)\n6801 int CPrintDialog::PrintRange()const \n6802 int CPrintDialogEx::PrintRange()const \n6803 int CPrintDialog::PrintSelection()const \n6804 int CPrintDialogEx::PrintSelection()const \n6805 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n6806 long COleException::Process(CException const *)\n6807 int CSocket::ProcessAuxQueue()\n6808 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n6809 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n6810 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n6811 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n6812 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n6813 int CRgn::PtInRegion(int,int)const \n6814 int CRgn::PtInRegion(tagPOINT)const \n6815 void COleSafeArray::PtrOfIndex(long *,void * *)\n6816 int CDC::PtVisible(tagPOINT)const \n6817 int CDC::PtVisible(int,int)const \n6818 int CMetaFileDC::PtVisible(tagPOINT)const \n6819 int CMetaFileDC::PtVisible(int,int)const \n6820 int CEvent::PulseEvent()\n6821 int CWinThread::PumpMessage()\n6822 int CSocket::PumpMessages(unsigned int)\n6823 void CReBarCtrl::PushChevron(unsigned int,long)\n6824 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n6825 long CWnd::put_accName(tagVARIANT,wchar_t *)\n6826 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n6827 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n6828 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n6829 void COleSafeArray::PutElement(long *,void *)\n6830 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n6831 void CHtmlView::PutProperty(char const *,char const *)\n6832 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n6833 void CHtmlView::PutProperty(char const *,short)\n6834 void CHtmlView::PutProperty(char const *,long)\n6835 void CHtmlView::PutProperty(char const *,double)\n6836 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n6837 int PX_Bool(CPropExchange *,char const *,int &)\n6838 int PX_Bool(CPropExchange *,char const *,int &,int)\n6839 int PX_Color(CPropExchange *,char const *,unsigned long &)\n6840 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n6841 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n6842 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n6843 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n6844 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n6845 int PX_Double(CPropExchange *,char const *,double &)\n6846 int PX_Double(CPropExchange *,char const *,double &,double)\n6847 int PX_Float(CPropExchange *,char const *,float &)\n6848 int PX_Float(CPropExchange *,char const *,float &,float)\n6849 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n6850 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n6851 int PX_Long(CPropExchange *,char const *,long &)\n6852 int PX_Long(CPropExchange *,char const *,long &,long)\n6853 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n6854 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n6855 int PX_Short(CPropExchange *,char const *,short &)\n6856 int PX_Short(CPropExchange *,char const *,short &,short)\n6857 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n6858 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,char const *)\n6859 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n6860 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n6861 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n6862 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n6863 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n6864 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n6865 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n6866 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n6867 IUnknown * CCmdTarget::QueryAggregates(void const *)\n6868 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n6869 long COleDropSource::QueryContinueDrag(int,unsigned long)\n6870 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n6871 void * COleControl::QueryDefHandler(_GUID const &)\n6872 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n6873 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n6874 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n6875 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n6876 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n6877 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6878 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6879 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n6880 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n6881 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n6882 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n6883 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n6884 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n6885 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n6886 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n6887 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n6888 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n6889 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n6890 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n6891 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n6892 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n6893 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n6894 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n6895 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n6896 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n6897 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n6898 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n6899 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n6900 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n6901 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n6902 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n6903 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n6904 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n6905 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n6906 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n6907 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n6908 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n6909 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n6910 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n6911 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n6912 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n6913 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n6914 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n6915 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n6916 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n6917 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n6918 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n6919 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n6920 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n6921 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n6922 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n6923 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n6924 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n6925 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n6926 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n6927 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n6928 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n6929 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n6930 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n6931 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n6932 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n6933 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n6934 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n6935 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n6936 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n6937 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n6938 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n6939 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n6940 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n6941 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n6942 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n6943 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n6944 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n6945 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n6946 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n6947 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n6948 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n6949 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n6950 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n6951 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n6952 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n6953 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n6954 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n6955 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n6956 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n6957 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n6958 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n6959 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n6960 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n6961 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n6962 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n6963 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n6964 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)const \n6965 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n6966 long CPropertyPage::QuerySiblings(unsigned int,long)\n6967 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n6968 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n6969 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6970 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6971 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n6972 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n6973 int COleControlSite::QuickActivate()\n6974 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n6975 int COleClientItem::ReactivateAndUndo()\n6976 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n6977 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n6978 unsigned int CArchive::Read(void *,unsigned int)\n6979 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n6980 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n6981 unsigned int CFile::Read(void *,unsigned int)\n6982 int CImageList::Read(CArchive *)\n6983 unsigned int CInternetFile::Read(void *,unsigned int)\n6984 unsigned int CMemFile::Read(void *,unsigned int)\n6985 unsigned int COleStreamFile::Read(void *,unsigned int)\n6986 unsigned int CSocketFile::Read(void *,unsigned int)\n6987 unsigned int CStdioFile::Read(void *,unsigned int)\n6988 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n6989 unsigned long CArchive::ReadCount()\n6990 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n6991 int CProperty::ReadFromStream(IStream *)\n6992 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n6993 int CPropertySet::ReadFromStream(IStream *)\n6994 void COleClientItem::ReadItem(CArchive &)\n6995 void COleClientItem::ReadItemCompound(CArchive &)\n6996 void COleClientItem::ReadItemFlat(CArchive &)\n6997 void CRecentFileList::ReadList()\n6998 int CPropertySection::ReadNameDictFromStream(IStream *)\n6999 CObject * CArchive::ReadObject(CRuntimeconst *)\n7000 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n7001 char * CArchive::ReadString(char *,unsigned int)\n7002 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n7003 char * CInternetFile::ReadString(char *,unsigned int)\n7004 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n7005 char * CStdioFile::ReadString(char *,unsigned int)\n7006 unsigned int CDC::RealizePalette()\n7007 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7008 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7009 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7010 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7011 void CRecordset::RebindParams(void *)\n7012 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7013 void CFrameWnd::RecalcLayout(int)\n7014 void CMiniDockFrameWnd::RecalcLayout(int)\n7015 void COleCntrFrameWnd::RecalcLayout(int)\n7016 void COleDocIPFrameWnd::RecalcLayout(int)\n7017 void COleIPFrameWnd::RecalcLayout(int)\n7018 void CSplitterWnd::RecalcLayout()\n7019 int CAsyncSocket::Receive(void *,int,int)\n7020 int CSocket::Receive(void *,int,int)\n7021 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n7022 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7023 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7024 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7025 void COleControl::RecreateControlWindow()\n7026 int CDC::Rectangle(int,int,int,int)\n7027 int CDC::Rectangle(tagRECT const *)\n7028 CRect const CFrameWnd::rectDefault\n7029 int CRgn::RectInRegion(tagRECT const *)const \n7030 int CDC::RectVisible(tagRECT const *)const \n7031 int CMetaFileDC::RectVisible(tagRECT const *)const \n7032 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7033 int CRichEditCtrl::Redo()\n7034 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7035 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7036 int CListCtrl::RedrawItems(int,int)\n7037 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7038 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7039 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7040 void CHtmlView::Refresh()\n7041 void COleControl::Refresh()\n7042 void CHtmlView::Refresh2(int)\n7043 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7044 int COleDropTarget::Register(CWnd *)\n7045 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n7046 int COleMessageFilter::Register()\n7047 int COleObjectFactory::Register()\n7048 int COleTemplateServer::Register()\n7049 int CWinApp::Register()\n7050 int COleObjectFactory::RegisterAll()\n7051 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n7052 void CDocManager::RegisterShellFileTypes(int)\n7053 void CWinApp::RegisterShellFileTypes(int)\n7054 void CToolTipCtrl::RelayEvent(tagMSG *)\n7055 unsigned long CArchiveStream::Release()\n7056 unsigned long CBlobProperty::Release()\n7057 unsigned long CBrowserControlSite::Release()\n7058 unsigned long CDHtmlControlSink::Release()\n7059 unsigned long CDHtmlElementEventSink::Release()\n7060 unsigned long CDHtmlEventSink::Release()\n7061 unsigned long CInnerUnknown::Release()\n7062 void COleClientItem::Release(enum tagOLECLOSE)\n7063 unsigned long COleConnPtContainer::Release()\n7064 void COleDataObject::Release()\n7065 unsigned long COleDispatchImpl::Release()\n7066 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7067 unsigned long COleUILinkInfo::Release()\n7068 unsigned long CPrintDialogEx::Release()\n7069 unsigned long CWnd::XAccessible::Release()\n7070 unsigned long CWnd::XAccessibleServer::Release()\n7071 unsigned long COleClientItem::XAdviseSink::Release()\n7072 unsigned long COleControlSite::XAmbientProps::Release()\n7073 unsigned long COleControlSite::XBoundObjectSite::Release()\n7074 unsigned long COleObjectFactory::XClassFactory::Release()\n7075 unsigned long CConnectionPoint::XConnPt::Release()\n7076 unsigned long COleControl::XDataObject::Release()\n7077 unsigned long COleDataSource::XDataObject::Release()\n7078 unsigned long COleServerDoc::XDataObject::Release()\n7079 unsigned long COleServerItem::XDataObject::Release()\n7080 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7081 unsigned long COleDropSource::XDropSource::Release()\n7082 unsigned long COleDropTarget::XDropTarget::Release()\n7083 unsigned long CEnumArray::XEnumVOID::Release()\n7084 unsigned long COleControlSite::XEventSink::Release()\n7085 unsigned long COleControl::XFontNotification::Release()\n7086 unsigned long COleMessageFilter::XMessageFilter::Release()\n7087 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7088 unsigned long COleControl::XOleCache::Release()\n7089 unsigned long COleClientItem::XOleClientSite::Release()\n7090 unsigned long COleControlSite::XOleClientSite::Release()\n7091 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7092 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7093 unsigned long COleControlContainer::XOleContainer::Release()\n7094 unsigned long COleControl::XOleControl::Release()\n7095 unsigned long COleControlSite::XOleControlSite::Release()\n7096 unsigned long CDocObjectServer::XOleDocument::Release()\n7097 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7098 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7099 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7100 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7101 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7102 unsigned long COleControl::XOleInPlaceObject::Release()\n7103 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7104 unsigned long COleControlContainer::XOleIPFrame::Release()\n7105 unsigned long COleClientItem::XOleIPSite::Release()\n7106 unsigned long COleControlSite::XOleIPSite::Release()\n7107 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7108 unsigned long CDocObjectServer::XOleObject::Release()\n7109 unsigned long COleControl::XOleObject::Release()\n7110 unsigned long COleServerDoc::XOleObject::Release()\n7111 unsigned long COleServerItem::XOleObject::Release()\n7112 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7113 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7114 unsigned long COleLinkingDoc::XPersistFile::Release()\n7115 unsigned long COleControl::XPersistMemory::Release()\n7116 unsigned long COleControl::XPersistPropertyBag::Release()\n7117 unsigned long COleControl::XPersistStorage::Release()\n7118 unsigned long COleServerDoc::XPersistStorage::Release()\n7119 unsigned long COleControl::XPersistStreamInit::Release()\n7120 unsigned long COleControl::XPointerInactive::Release()\n7121 unsigned long CDocObjectServer::XPrint::Release()\n7122 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7123 unsigned long COlePropertyPage::XPropertyPage::Release()\n7124 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7125 unsigned long COleControl::XProvideClassInfo::Release()\n7126 unsigned long COleControl::XQuickActivate::Release()\n7127 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7128 unsigned long COleControlSite::XRowsetNotify::Release()\n7129 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7130 unsigned long COleControl::XViewObject::Release()\n7131 void CDC::ReleaseAttribDC()\n7132 void COleControl::ReleaseCaches()\n7133 int COleControl::ReleaseCapture()\n7134 int COleControl::ReleaseDC(CDC *)\n7135 int CWnd::ReleaseDC(CDC *)\n7136 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7137 void COleDispatchDriver::ReleaseDispatch()\n7138 void CDocObjectServer::ReleaseDocSite()\n7139 void CDocument::ReleaseFile(CFile *,int)\n7140 void CFontHolder::ReleaseFont()\n7141 void CDC::ReleaseOutputDC()\n7142 void CMetaFileDC::ReleaseOutputDC()\n7143 void CPreviewDC::ReleaseOutputDC()\n7144 int COleClientItem::Reload()\n7145 void CFile::Remove(char const *)\n7146 int CFtpConnection::Remove(char const *)\n7147 int CImageList::Remove(int)\n7148 void CPropertySection::Remove(unsigned long)\n7149 void CPropertySet::Remove(_GUID)\n7150 void CPropertySet::Remove(_GUID,unsigned long)\n7151 void CRecentFileList::Remove(int)\n7152 int CSimpleList::Remove(void *)\n7153 void CByteArray::RemoveAll()\n7154 void CDWordArray::RemoveAll()\n7155 void CMapPtrToPtr::RemoveAll()\n7156 void CMapPtrToWord::RemoveAll()\n7157 void CMapStringToOb::RemoveAll()\n7158 void CMapStringToPtr::RemoveAll()\n7159 void CMapStringToString::RemoveAll()\n7160 void CMapWordToOb::RemoveAll()\n7161 void CMapWordToPtr::RemoveAll()\n7162 void CObArray::RemoveAll()\n7163 void CObList::RemoveAll()\n7164 void CPropertySection::RemoveAll()\n7165 void CPropertySet::RemoveAll()\n7166 void CPtrArray::RemoveAll()\n7167 void CPtrList::RemoveAll()\n7168 void CStringArray::RemoveAll()\n7169 void CStringList::RemoveAll()\n7170 void CTypeLibCacheMap::RemoveAll(void *)\n7171 void CUIntArray::RemoveAll()\n7172 void CWordArray::RemoveAll()\n7173 void CByteArray::RemoveAt(int,int)\n7174 void CDWordArray::RemoveAt(int,int)\n7175 void CObArray::RemoveAt(int,int)\n7176 void CObList::RemoveAt(__POSITION *)\n7177 void CPtrArray::RemoveAt(int,int)\n7178 void CPtrList::RemoveAt(__POSITION *)\n7179 void CStringArray::RemoveAt(int,int)\n7180 void CStringList::RemoveAt(__POSITION *)\n7181 void CUIntArray::RemoveAt(int,int)\n7182 void CWordArray::RemoveAt(int,int)\n7183 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7184 void CFrameWnd::RemoveControlBar(CControlBar *)\n7185 int CFtpConnection::RemoveDirectoryA(char const *)\n7186 void CDocTemplate::RemoveDocument(CDocument *)\n7187 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7188 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7189 void COleControl::RemoveFrameLevelUI()\n7190 void CFrameWnd::RemoveFrameWnd()\n7191 void CHandleMap::RemoveHandle(void *)\n7192 CObject * CObList::RemoveHead()\n7193 void * CPtrList::RemoveHead()\n7194 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n7195 void CTabCtrl::RemoveImage(int)\n7196 void CListCtrl::RemoveImageList(int)\n7197 void CListView::RemoveImageList(int)\n7198 void CTreeCtrl::RemoveImageList(int)\n7199 void CTreeView::RemoveImageList(int)\n7200 void COleDocument::RemoveItem(CDocItem *)\n7201 int CMapPtrToPtr::RemoveKey(void *)\n7202 int CMapPtrToWord::RemoveKey(void *)\n7203 int CMapStringToOb::RemoveKey(char const *)\n7204 int CMapStringToPtr::RemoveKey(char const *)\n7205 int CMapStringToString::RemoveKey(char const *)\n7206 int CMapWordToOb::RemoveKey(unsigned short)\n7207 int CMapWordToPtr::RemoveKey(unsigned short)\n7208 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7209 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7210 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7211 void CPropertySheet::RemovePage(int)\n7212 void CPropertySheet::RemovePage(CPropertyPage *)\n7213 void CDockBar::RemovePlaceHolder(CControlBar *)\n7214 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7215 void CDataBoundProperty::RemoveSource()\n7216 CObject * CObList::RemoveTail()\n7217 void * CPtrList::RemoveTail()\n7218 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n7219 void CDocument::RemoveView(CView *)\n7220 void CFile::Rename(char const *,char const *)\n7221 int CFtpConnection::Rename(char const *,char const *)\n7222 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7223 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7224 int CImageList::Replace(int,HICON__ *)\n7225 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7226 int CFindReplaceDialog::ReplaceAll()const \n7227 void CDatabase::ReplaceBrackets(char *)\n7228 int CFindReplaceDialog::ReplaceCurrent()const \n7229 void CEdit::ReplaceSel(char const *,int)\n7230 void CRichEditCtrl::ReplaceSel(char const *,int)\n7231 int CException::ReportError(unsigned int,unsigned int)\n7232 int COleClientItem::ReportError(long)const \n7233 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7234 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7235 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7236 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7237 int CRecordset::Requery()\n7238 void COleControl::RequestAsynchronousExchange(unsigned long)\n7239 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7240 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7241 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7242 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7243 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7244 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7245 void CRichEditCtrl::RequestResize()\n7246 long COleControlSite::XOleIPSite::RequestUIActivate()\n7247 long CEnumArray::XEnumVOID::Reset()\n7248 void CComboBox::ResetContent()\n7249 void CListBox::ResetContent()\n7250 void CRecordset::ResetCursor()\n7251 void CCachedDataPathProperty::ResetData()\n7252 void CDataPathProperty::ResetData()\n7253 int CDC::ResetDCA(_devicemodeA const *)\n7254 int CEvent::ResetEvent()\n7255 void COleControl::ResetStockProps()\n7256 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7257 void COleControl::ResetVersion(unsigned long)\n7258 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7259 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7260 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7261 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7262 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7263 void COleControl::ResizeFrameWindow(int,int)\n7264 void COleSafeArray::ResizeOneDim(unsigned long)\n7265 void COleControl::ResizeOpenControl(int,int)\n7266 int CPalette::ResizePalette(unsigned int)\n7267 void CScrollView::ResizeParentToFit(int)\n7268 void CWaitCursor::Restore()\n7269 void CReBarCtrl::RestoreBand(unsigned int)\n7270 int CDC::RestoreDC(int)\n7271 int CPreviewDC::RestoreDC(int)\n7272 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n7273 void CCmdTarget::RestoreWaitCursor()\n7274 unsigned long CWinThread::ResumeThread()\n7275 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7276 long CArchiveStream::Revert()\n7277 void COleDropTarget::Revoke()\n7278 void COleLinkingDoc::Revoke()\n7279 void COleMessageFilter::Revoke()\n7280 void COleObjectFactory::Revoke()\n7281 void COleObjectFactory::RevokeAll()\n7282 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n7283 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n7284 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n7285 void RFX_Bool(CFieldExchange *,char const *,int &)\n7286 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7287 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n7288 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n7289 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n7290 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n7291 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n7292 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n7293 void RFX_Double(CFieldExchange *,char const *,double &)\n7294 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n7295 void RFX_Int(CFieldExchange *,char const *,int &)\n7296 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7297 void RFX_Long(CFieldExchange *,char const *,long &)\n7298 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n7299 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n7300 void RFX_Single(CFieldExchange *,char const *,float &)\n7301 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n7302 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7303 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7304 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n7305 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n7306 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n7307 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n7308 int CDatabase::Rollback()\n7309 int CDC::RoundRect(int,int,int,int,int,int)\n7310 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7311 void COleClientItem::Run()\n7312 int CWinApp::Run()\n7313 int CWinThread::Run()\n7314 int CWinApp::RunAutomated()\n7315 int CWinApp::RunEmbedded()\n7316 int CWnd::RunModalLoop(unsigned long)\n7317 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7318 int CEditView::SameAsSelected(char const *,int)\n7319 int CRichEditView::SameAsSelected(char const *,int,int)\n7320 long CBlobProperty::Save(IStream *,int)\n7321 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7322 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7323 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7324 long COleControl::XPersistStorage::Save(IStorage *,int)\n7325 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7326 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7327 int CDocManager::SaveAllModified()\n7328 int CDocTemplate::SaveAllModified()\n7329 int CWinApp::SaveAllModified()\n7330 void CFrameWnd::SaveBarState(char const *)const \n7331 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7332 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7333 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7334 int CDC::SaveDC()\n7335 int CPreviewDC::SaveDC()\n7336 void COleServerDoc::SaveEmbedding()\n7337 int CFormView::SaveFocusControl()\n7338 int CDocument::SaveModified()\n7339 int COleDocument::SaveModified()\n7340 int COleServerDoc::SaveModified()\n7341 int COleServerDoc::SaveModifiedPrompt()\n7342 long COleClientItem::XOleClientSite::SaveObject()\n7343 long COleControlSite::XOleClientSite::SaveObject()\n7344 int CControlBarInfo::SaveState(char const *,int)\n7345 void CDockState::SaveState(char const *)\n7346 long COleControl::SaveState(IStream *)\n7347 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n7348 void CWinApp::SaveStdProfileSettings()\n7349 void COleDocument::SaveToStorage(CObject *)\n7350 void COleLinkingDoc::SaveToStorage(CObject *)\n7351 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7352 void CDockState::ScalePoint(CPoint &)\n7353 void CDockState::ScaleRectPos(CRect &)\n7354 CSize CDC::ScaleViewportExt(int,int,int,int)\n7355 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7356 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7357 CSize CDC::ScaleWindowExt(int,int,int,int)\n7358 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7359 void CWnd::ScreenToClient(tagPOINT *)const \n7360 void CWnd::ScreenToClient(tagRECT *)const \n7361 int CListCtrl::Scroll(CSize)\n7362 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7363 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7364 void COleControlContainer::ScrollChildren(int,int)\n7365 int COleServerDoc::ScrollContainerBy(CSize)\n7366 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7367 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7368 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7369 void CScrollView::ScrollToPosition(tagPOINT)\n7370 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7371 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7372 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7373 int CFindReplaceDialog::SearchDown()const \n7374 int CAnimateCtrl::Seek(unsigned int)\n7375 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7376 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7377 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7378 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7379 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7380 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7381 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7382 void CFile::SeekToBegin()\n7383 unsigned __int64 CFile::SeekToEnd()\n7384 CFont * CFontHolder::Select(CDC *,long,long)\n7385 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7386 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7387 int CDC::SelectClipPath(int)\n7388 int CDC::SelectClipRgn(CRgn *)\n7389 int CDC::SelectClipRgn(CRgn *,int)\n7390 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7391 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7392 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7393 long CPrintDialogEx::SelectionChange()\n7394 int CTreeCtrl::SelectItem(_TREEITEM *)\n7395 int CDC::SelectObject(CRgn *)\n7396 CBitmap * CDC::SelectObject(CBitmap *)\n7397 CBrush * CDC::SelectObject(CBrush *)\n7398 CGdiObject * CDC::SelectObject(CGdiObject *)\n7399 CPen * CDC::SelectObject(CPen *)\n7400 void * CDC::SelectObject(void *)\n7401 CFont * CDC::SelectObject(CFont *)\n7402 CFont * CPreviewDC::SelectObject(CFont *)\n7403 CPalette * CDC::SelectPalette(CPalette *,int)\n7404 void CWinApp::SelectPrinter(void *,void *,int)\n7405 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7406 CFont * COleControl::SelectStockFont(CDC *)\n7407 CGdiObject * CDC::SelectStockObject(int)\n7408 CGdiObject * CPreviewDC::SelectStockObject(int)\n7409 int CComboBox::SelectString(int,char const *)\n7410 int CListBox::SelectString(int,char const *)\n7411 int CListBox::SelItemRange(int,int,int)\n7412 int CAsyncSocket::Send(void const *,int,int)\n7413 int CSocket::Send(void const *,int,int)\n7414 void COleControl::SendAdvise(unsigned int)\n7415 int CWnd::SendChildNotifyLastMsg(long *)\n7416 int CSocket::SendChunk(void const *,int,int)\n7417 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7418 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7419 void CDocument::SendInitialUpdate()\n7420 void CRecordset::SendLongBinaryData(void *)\n7421 long CWnd::SendMessageA(unsigned int,unsigned int,long)\n7422 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7423 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7424 void COleControlSite::SendMnemonic(tagMSG *)\n7425 int CWnd::SendNotifyMessageA(unsigned int,unsigned int,long)\n7426 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n7427 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n7428 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7429 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n7430 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n7431 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7432 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7433 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7434 void CByteArray::Serialize(CArchive &)\n7435 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7436 void CDocItem::Serialize(CArchive &)\n7437 void CDockState::Serialize(CArchive &)\n7438 void CDWordArray::Serialize(CArchive &)\n7439 void CEditView::Serialize(CArchive &)\n7440 void CMapStringToOb::Serialize(CArchive &)\n7441 void CMapStringToString::Serialize(CArchive &)\n7442 void CMapWordToOb::Serialize(CArchive &)\n7443 void CObArray::Serialize(CArchive &)\n7444 void CObject::Serialize(CArchive &)\n7445 void CObList::Serialize(CArchive &)\n7446 void COleClientItem::Serialize(CArchive &)\n7447 void COleControl::Serialize(CArchive &)\n7448 void COleDocument::Serialize(CArchive &)\n7449 void CRichEditDoc::Serialize(CArchive &)\n7450 void CRichEditView::Serialize(CArchive &)\n7451 void CStringArray::Serialize(CArchive &)\n7452 void CStringList::Serialize(CArchive &)\n7453 void CWordArray::Serialize(CArchive &)\n7454 CArchive & ATL::CTime::Serialize64(CArchive &)\n7455 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7456 void CArchive::SerializeClass(CRuntimeconst *)\n7457 void SerializeElements(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n7458 void SerializeElements(CArchive &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,int)\n7459 void SerializeElements(CArchive &,ATL::CComBSTR *,int)\n7460 void SerializeElements(CArchive &,COleVariant *,int)\n7461 void COleControl::SerializeExtent(CArchive &)\n7462 void CEditView::SerializeRaw(CArchive &)\n7463 void COleControl::SerializeStockProps(CArchive &)\n7464 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7465 int CProperty::Set(unsigned long,void * const,unsigned long)\n7466 int CProperty::Set(void * const)\n7467 int CProperty::Set(void * const,unsigned long)\n7468 int CPropertySection::Set(unsigned long,void *)\n7469 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7470 int CPropertySet::Set(_GUID,unsigned long,void *)\n7471 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7472 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7473 void CRecordset::SetAbsolutePosition(long)\n7474 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7475 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7476 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7477 int CPropertySheet::SetActivePage(int)\n7478 int CPropertySheet::SetActivePage(CPropertyPage *)\n7479 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7480 void CFrameWnd::SetActiveView(CView *,int)\n7481 CWnd * CWnd::SetActiveWindow()\n7482 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7483 void CIPAddressCtrl::SetAddress(unsigned long)\n7484 void CHtmlView::SetAddressBar(int)\n7485 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7486 int CToolBarCtrl::SetAnchorHighlight(int)\n7487 void CListBox::SetAnchorIndex(int)\n7488 void COleControl::SetAppearance(short)\n7489 int CDC::SetArcDirection(int)\n7490 void CByteArray::SetAt(int,unsigned char)\n7491 void CDWordArray::SetAt(int,unsigned long)\n7492 void CMapPtrToPtr::SetAt(void *,void *)\n7493 void CMapPtrToWord::SetAt(void *,unsigned short)\n7494 void CMapStringToOb::SetAt(char const *,CObject *)\n7495 void CMapStringToPtr::SetAt(char const *,void *)\n7496 void CMapStringToString::SetAt(char const *,char const *)\n7497 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7498 void CMapWordToPtr::SetAt(unsigned short,void *)\n7499 void CObArray::SetAt(int,CObject *)\n7500 void CObList::SetAt(__POSITION *,CObject *)\n7501 void CPtrArray::SetAt(int,void *)\n7502 void CPtrList::SetAt(__POSITION *,void *)\n7503 void CStringArray::SetAt(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n7504 void CStringArray::SetAt(int,char const *)\n7505 void CStringList::SetAt(__POSITION *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n7506 void CStringList::SetAt(__POSITION *,char const *)\n7507 void CUIntArray::SetAt(int,unsigned int)\n7508 void CWordArray::SetAt(int,unsigned short)\n7509 void CByteArray::SetAtGrow(int,unsigned char)\n7510 void CDWordArray::SetAtGrow(int,unsigned long)\n7511 void CObArray::SetAtGrow(int,CObject *)\n7512 void CPtrArray::SetAtGrow(int,void *)\n7513 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n7514 void CStringArray::SetAtGrow(int,char const *)\n7515 void CUIntArray::SetAtGrow(int,unsigned int)\n7516 void CWordArray::SetAtGrow(int,unsigned short)\n7517 void CDC::SetAttribDC(HDC__ *)\n7518 void CMetaFileDC::SetAttribDC(HDC__ *)\n7519 void CPreviewDC::SetAttribDC(HDC__ *)\n7520 int CRichEditCtrl::SetAutoURLDetect(int)\n7521 void COleControl::SetBackColor(unsigned long)\n7522 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7523 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOA *)\n7524 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7525 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7526 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7527 void CControlBar::SetBarStyle(unsigned long)\n7528 int CSpinButtonCtrl::SetBase(int)\n7529 void CAsyncMonikerFile::SetBinding(IBinding *)\n7530 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7531 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7532 int CToolBar::SetBitmap(HBITMAP__ *)\n7533 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7534 CSize CBitmap::SetBitmapDimension(int,int)\n7535 int CHeaderCtrl::SetBitmapMargin(int)\n7536 int CToolBarCtrl::SetBitmapSize(CSize)\n7537 unsigned long CDC::SetBkColor(unsigned long)\n7538 unsigned long CImageList::SetBkColor(unsigned long)\n7539 int CListCtrl::SetBkColor(unsigned long)\n7540 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7541 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7542 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7543 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7544 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7545 int CListCtrl::SetBkImage(char *,int,int,int)\n7546 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7547 int CListCtrl::SetBkImage(tagLVBKIMAGEA *)\n7548 int CDC::SetBkMode(int)\n7549 void CRecordset::SetBookmark(CDBVariant const &)\n7550 void CControlBar::SetBorders(int,int,int,int)\n7551 void CControlBar::SetBorders(tagRECT const *)\n7552 void CStatusBar::SetBorders(int,int,int,int)\n7553 void CStatusBar::SetBorders(tagRECT const *)\n7554 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7555 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7556 void COleControl::SetBorderStyle(short)\n7557 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7558 CPoint CDC::SetBrushOrg(int,int)\n7559 CPoint CDC::SetBrushOrg(tagPOINT)\n7560 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7561 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7562 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7563 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7564 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOA *)\n7565 int CToolBar::SetButtons(unsigned int const *,int)\n7566 int CToolBarCtrl::SetButtonSize(CSize)\n7567 void CToolBarCtrl::SetButtonStructSize(int)\n7568 void CButton::SetButtonStyle(unsigned int,int)\n7569 void CToolBar::SetButtonStyle(int,unsigned int)\n7570 int CToolBar::SetButtonText(int,char const *)\n7571 int CToolBarCtrl::SetButtonWidth(int,int)\n7572 int CListCtrl::SetCallbackMask(unsigned int)\n7573 CWnd * COleControl::SetCapture()\n7574 CWnd * CWnd::SetCapture()\n7575 long COleControlSite::XOleIPSite::SetCapture(int)\n7576 int CListBox::SetCaretIndex(int,int)\n7577 void CWnd::SetCaretPos(tagPOINT)\n7578 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n7579 void CButton::SetCheck(int)\n7580 void CCheckListBox::SetCheck(int,int)\n7581 void CCmdUI::SetCheck(int)\n7582 int CListCtrl::SetCheck(int,int)\n7583 void COleCmdUI::SetCheck(int)\n7584 void CStatusCmdUI::SetCheck(int)\n7585 void CTestCmdUI::SetCheck(int)\n7586 void CToolCmdUI::SetCheck(int)\n7587 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7588 void CCheckListBox::SetCheckStyle(unsigned int)\n7589 void CPropertySet::SetClassID(_GUID)\n7590 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7591 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7592 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7593 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7594 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7595 void COleDataSource::SetClipboard()\n7596 HWND__ * CWnd::SetClipboardViewer()\n7597 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7598 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7599 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7600 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7601 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7602 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7603 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7604 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7605 int CListCtrl::SetColumn(int,tagLVCOLUMNA const *)\n7606 void CSplitterWnd::SetColumnInfo(int,int,int)\n7607 int CListCtrl::SetColumnOrderArray(int,int *)\n7608 void CListBox::SetColumnWidth(int)\n7609 int CListCtrl::SetColumnWidth(int,int)\n7610 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7611 void CDocTemplate::SetContainerInfo(unsigned int)\n7612 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7613 void CDataPathProperty::SetControl(COleControl *)\n7614 void CReflectorWnd::SetControl(COleControl *)\n7615 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7616 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n7617 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n7618 int COleControl::SetControlSize(int,int)\n7619 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7620 void CFileDialog::SetControlText(int,char const *)\n7621 int CInternetSession::SetCookie(char const *,char const *,char const *)\n7622 void CTabCtrl::SetCurFocus(int)\n7623 void COleCurrency::SetCurrency(long,long)\n7624 void CColorDialog::SetCurrentColor(unsigned long)\n7625 int CFtpConnection::SetCurrentDirectoryA(char const *)\n7626 void CWinApp::SetCurrentHandles()\n7627 void CPreviewView::SetCurrentPage(unsigned int,int)\n7628 int CComboBox::SetCurSel(int)\n7629 int CListBox::SetCurSel(int)\n7630 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7631 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7632 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7633 int CTabCtrl::SetCurSel(int)\n7634 HICON__ * CButton::SetCursor(HICON__ *)\n7635 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7636 HICON__ * CStatic::SetCursor(HICON__ *)\n7637 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7638 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7639 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7640 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7641 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7642 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7643 void COccManager::SetDefaultButton(CWnd *,int)\n7644 void COleControlSite::SetDefaultButton(int)\n7645 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n7646 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n7647 int CMenu::SetDefaultItem(unsigned int,int)\n7648 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7649 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7650 void CFileDialog::SetDefExt(char const *)\n7651 void CDialog::SetDefID(unsigned int)\n7652 void CToolTipCtrl::SetDelayTime(unsigned int)\n7653 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7654 void CDumpContext::SetDepth(int)\n7655 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7656 void COlePropertyPage::SetDialogResource(void *)\n7657 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7658 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7659 int COleControlSite::SetDlgCtrlID(int)\n7660 int CWnd::SetDlgCtrlID(int)\n7661 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7662 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7663 void COleControlContainer::SetDlgItemTextA(int,char const *)\n7664 void CWnd::SetDlgItemTextA(int,char const *)\n7665 void CFrameWnd::SetDockState(CDockState const &)\n7666 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7667 int CImageList::SetDragCursorImage(int,CPoint)\n7668 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7669 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7670 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7671 int CComboBox::SetDroppedWidth(unsigned int)\n7672 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7673 int CComboBox::SetEditSel(int,int)\n7674 int CComboBoxEx::SetEditSel(int,int)\n7675 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7676 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n7677 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n7678 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7679 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n7680 void COleControl::SetEnabled(int)\n7681 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7682 int CEvent::SetEvent()\n7683 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7684 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7685 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7686 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7687 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7688 int CComboBox::SetExtendedUI(int)\n7689 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7690 int COleControlSite::SetExtent()\n7691 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7692 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7693 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7694 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7695 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7696 void CRecordset::SetFieldDirty(void *,int)\n7697 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7698 void CRecordset::SetFieldNull(void *,int)\n7699 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7700 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7701 void CFieldExchange::SetFieldType(unsigned int)\n7702 void CFile::SetFilePath(char const *)\n7703 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7704 void CPropertySheet::SetFinishText(char const *)\n7705 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7706 CWnd * COleControl::SetFocus()\n7707 CWnd * COleControlSite::SetFocus(tagMSG *)\n7708 CWnd * COleControlSite::SetFocus()\n7709 CWnd * CWnd::SetFocus()\n7710 long COleControlSite::XOleIPSite::SetFocus(int)\n7711 void CDHtmlDialog::SetFocusToElement(char const *)\n7712 int CDialogTemplate::SetFont(char const *,unsigned short)\n7713 void CFontHolder::SetFont(IFont *)\n7714 void COleControl::SetFont(IFontDisp *)\n7715 void CWnd::SetFont(CFont *,int)\n7716 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7717 void COleControl::SetForeColor(unsigned long)\n7718 int CWnd::SetForegroundWindow()\n7719 int CDateTimeCtrl::SetFormat(char const *)\n7720 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7721 void CPropertySection::SetFormatID(_GUID)\n7722 void CPropertySet::SetFormatVersion(unsigned short)\n7723 void CHtmlView::SetFullScreen(int)\n7724 void CEdit::SetHandle(void *)\n7725 void CSharedFile::SetHandle(void *,int)\n7726 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7727 void CHtmlView::SetHeight(long)\n7728 void CToolBar::SetHeight(int)\n7729 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7730 void CDialog::SetHelpID(unsigned int)\n7731 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n7732 void CComboBox::SetHorizontalExtent(unsigned int)\n7733 void CListBox::SetHorizontalExtent(int)\n7734 void CDHtmlDialog::SetHostFlags(unsigned long)\n7735 void COleClientItem::SetHostNames(char const *,char const *)\n7736 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7737 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7738 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7739 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7740 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7741 int CHeaderCtrl::SetHotDivider(int)\n7742 int CHeaderCtrl::SetHotDivider(CPoint)\n7743 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7744 int CListCtrl::SetHotItem(int)\n7745 int CToolBarCtrl::SetHotItem(int)\n7746 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7747 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7748 HICON__ * CButton::SetIcon(HICON__ *)\n7749 HICON__ * CStatic::SetIcon(HICON__ *)\n7750 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7751 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7752 int COleClientItem::SetIconicMetafile(void *)\n7753 CSize CListCtrl::SetIconSpacing(int,int)\n7754 CSize CListCtrl::SetIconSpacing(CSize)\n7755 void CProperty::SetID(unsigned long)\n7756 int CImageList::SetImageCount(unsigned int)\n7757 CImageList * CComboBoxEx::SetImageList(CImageList *)\n7758 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n7759 CImageList * CListCtrl::SetImageList(CImageList *,int)\n7760 int CReBarCtrl::SetImageList(CImageList *)\n7761 CImageList * CTabCtrl::SetImageList(CImageList *)\n7762 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n7763 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n7764 int CToolBarCtrl::SetIndent(int)\n7765 void CTreeCtrl::SetIndent(unsigned int)\n7766 int CStatusBar::SetIndicators(unsigned int const *,int)\n7767 void COleControl::SetInitialDataFormats()\n7768 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n7769 void COleControl::SetInitialSize(int,int)\n7770 void CControlBar::SetInPlaceOwner(CWnd *)\n7771 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n7772 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n7773 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n7774 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n7775 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n7776 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n7777 int CHeaderCtrl::SetItem(int,_HD_ITEMA *)\n7778 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n7779 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n7780 int CListCtrl::SetItem(tagLVITEMA const *)\n7781 int CTabCtrl::SetItem(int,tagTCITEMA *)\n7782 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n7783 int CTreeCtrl::SetItem(tagTVITEMA *)\n7784 void CListCtrl::SetItemCount(int)\n7785 int CListCtrl::SetItemCountEx(int,unsigned long)\n7786 int CComboBox::SetItemData(int,unsigned long)\n7787 int CListBox::SetItemData(int,unsigned long)\n7788 int CListCtrl::SetItemData(int,unsigned long)\n7789 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n7790 int CComboBox::SetItemDataPtr(int,void *)\n7791 int CListBox::SetItemDataPtr(int,void *)\n7792 int CTabCtrl::SetItemExtra(int)\n7793 int CComboBox::SetItemHeight(int,unsigned int)\n7794 int CListBox::SetItemHeight(int,unsigned int)\n7795 short CTreeCtrl::SetItemHeight(short)\n7796 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n7797 void COleServerItem::SetItemName(char const *)\n7798 int CListCtrl::SetItemPosition(int,tagPOINT)\n7799 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n7800 CSize CTabCtrl::SetItemSize(CSize)\n7801 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n7802 int CListCtrl::SetItemState(int,tagLVITEMA *)\n7803 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n7804 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n7805 int CListCtrl::SetItemText(int,int,char const *)\n7806 int CTreeCtrl::SetItemText(_TREEITEM *,char const *)\n7807 unsigned long CDC::SetLayout(unsigned long)\n7808 void CHtmlView::SetLeft(long)\n7809 void CFile::SetLength(unsigned __int64)\n7810 void CInternetFile::SetLength(unsigned __int64)\n7811 void CMemFile::SetLength(unsigned __int64)\n7812 void COleStreamFile::SetLength(unsigned __int64)\n7813 void CSocketFile::SetLength(unsigned __int64)\n7814 void CEdit::SetLimitText(unsigned int)\n7815 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n7816 int CSliderCtrl::SetLineSize(int)\n7817 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n7818 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n7819 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n7820 void CArchive::SetLoadParams(unsigned int)\n7821 unsigned long CComboBox::SetLocale(unsigned long)\n7822 unsigned long CListBox::SetLocale(unsigned long)\n7823 void CRecordset::SetLockingMode(unsigned int)\n7824 void CDatabase::SetLoginTimeout(unsigned long)\n7825 int CDC::SetMapMode(int)\n7826 int CPreviewDC::SetMapMode(int)\n7827 unsigned long CDC::SetMapperFlags(unsigned long)\n7828 void CToolTipCtrl::SetMargin(tagRECT *)\n7829 void CEdit::SetMargins(unsigned int,unsigned int)\n7830 void CRichEditView::SetMargins(CRect const &)\n7831 void CPrintInfo::SetMaxPage(unsigned int)\n7832 int CMonthCalCtrl::SetMaxSelCount(int)\n7833 int CToolBarCtrl::SetMaxTextRows(int)\n7834 int CToolTipCtrl::SetMaxTipWidth(int)\n7835 int CWnd::SetMenu(CMenu *)\n7836 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n7837 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n7838 void CHtmlView::SetMenuBar(int)\n7839 int CMenu::SetMenuContextHelpId(unsigned long)\n7840 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n7841 int CMenu::SetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n7842 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n7843 void CFrameWnd::SetMessageText(unsigned int)\n7844 void CFrameWnd::SetMessageText(char const *)\n7845 void CStatusBarCtrl::SetMinHeight(int)\n7846 void CPrintInfo::SetMinPage(unsigned int)\n7847 int CTabCtrl::SetMinTabWidth(int)\n7848 int CDC::SetMiterLimit(float)\n7849 void CPropertyPage::SetModified(int)\n7850 void CDocument::SetModifiedFlag(int)\n7851 void COleControl::SetModifiedFlag(int)\n7852 void COlePropertyPage::SetModifiedFlag(int)\n7853 void CRichEditDoc::SetModifiedFlag(int)\n7854 void CEdit::SetModify(int)\n7855 void CRichEditCtrl::SetModify(int)\n7856 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7857 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7858 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7859 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7860 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n7861 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n7862 int CMonthCalCtrl::SetMonthDelta(int)\n7863 int CPropertySection::SetName(unsigned long,char const *)\n7864 void COleControl::SetNotPermitted()\n7865 void CCmdTarget::SetNotSupported()\n7866 void COleControl::SetNotSupported()\n7867 void CRecordset::SetNullFieldStatus(unsigned long)\n7868 void CRecordset::SetNullParamStatus(unsigned long)\n7869 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n7870 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n7871 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n7872 void CArchive::SetObjectSchema(unsigned int)\n7873 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7874 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7875 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7876 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7877 void CHtmlView::SetOffline(int)\n7878 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n7879 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n7880 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7881 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n7882 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7883 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n7884 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7885 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n7886 int CHeaderCtrl::SetOrderArray(int,int *)\n7887 void CPropertySet::SetOSVersion(unsigned long)\n7888 void CDC::SetOutputDC(HDC__ *)\n7889 void CMetaFileDC::SetOutputDC(HDC__ *)\n7890 void CPreviewDC::SetOutputDC(HDC__ *)\n7891 int CImageList::SetOverlayImage(int,int)\n7892 CWnd * CReBarCtrl::SetOwner(CWnd *)\n7893 void CToolBar::SetOwner(CWnd *)\n7894 void CToolBarCtrl::SetOwner(CWnd *)\n7895 void CWnd::SetOwner(CWnd *)\n7896 void CTabCtrl::SetPadding(CSize)\n7897 void COlePropertyPage::SetPageName(char const *)\n7898 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n7899 int CSliderCtrl::SetPageSize(int)\n7900 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n7901 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n7902 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n7903 void CStatusBar::SetPaneStyle(int,unsigned int)\n7904 int CStatusBar::SetPaneText(int,char const *,int)\n7905 void CRichEditView::SetPaperSize(CSize)\n7906 int CRichEditCtrl::SetParaFormat(_paraformat &)\n7907 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n7908 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n7909 void CRecordset::SetParamNull(int,int)\n7910 CWnd * CWnd::SetParent(CWnd *)\n7911 int CStatusBarCtrl::SetParts(int,int *)\n7912 void CEdit::SetPasswordChar(char)\n7913 void CDataPathProperty::SetPath(char const *)\n7914 void CDocument::SetPathName(char const *,int)\n7915 void COleDocument::SetPathName(char const *,int)\n7916 void CRichEditDoc::SetPathName(char const *,int)\n7917 void CHandleMap::SetPermanent(void *,CObject *)\n7918 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n7919 unsigned long CDC::SetPixel(int,int,unsigned long)\n7920 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n7921 int CDC::SetPixelV(int,int,unsigned long)\n7922 int CDC::SetPixelV(tagPOINT,unsigned long)\n7923 int CDC::SetPolyFillMode(int)\n7924 int CProgressCtrl::SetPos(int)\n7925 void CSliderCtrl::SetPos(int)\n7926 int CSpinButtonCtrl::SetPos(int)\n7927 int CSpinButtonCtrl::SetPos32(int)\n7928 void COleIPFrameWnd::SetPreviewMode(int)\n7929 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n7930 int COleClientItem::SetPrintDevice(tagPDA const *)\n7931 void CEditView::SetPrinterFont(CFont *)\n7932 int CPreviewView::SetPrintView(CView *)\n7933 int COlePropertyPage::SetPropCheck(char const *,int)\n7934 void COleControlSite::SetProperty(long,unsigned short,...)\n7935 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n7936 void CWnd::SetProperty(long,unsigned short,...)\n7937 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n7938 int COlePropertyPage::SetPropIndex(char const *,int)\n7939 int COlePropertyPage::SetPropRadio(char const *,int)\n7940 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n7941 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n7942 int COlePropertyPage::SetPropText(char const *,short &)\n7943 int COlePropertyPage::SetPropText(char const *,int &)\n7944 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n7945 int COlePropertyPage::SetPropText(char const *,long &)\n7946 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n7947 int COlePropertyPage::SetPropText(char const *,float &)\n7948 int COlePropertyPage::SetPropText(char const *,double &)\n7949 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n7950 long CWnd::SetProxy(IAccessibleProxy *)\n7951 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n7952 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n7953 void CDatabase::SetQueryTimeout(unsigned long)\n7954 void CCmdUI::SetRadio(int)\n7955 void CTestCmdUI::SetRadio(int)\n7956 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n7957 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n7958 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n7959 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n7960 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n7961 void CProgressCtrl::SetRange(short,short)\n7962 void CSliderCtrl::SetRange(int,int,int)\n7963 void CSpinButtonCtrl::SetRange(short,short)\n7964 void CProgressCtrl::SetRange32(int,int)\n7965 void CSpinButtonCtrl::SetRange32(int,int)\n7966 void CSliderCtrl::SetRangeMax(int,int)\n7967 void CSliderCtrl::SetRangeMin(int,int)\n7968 int CInternetFile::SetReadBufferSize(unsigned int)\n7969 int CEdit::SetReadOnly(int)\n7970 int CRichEditCtrl::SetReadOnly(int)\n7971 void CEdit::SetRect(tagRECT const *)\n7972 void CRichEditCtrl::SetRect(tagRECT const *)\n7973 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n7974 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n7975 int COleControl::SetRectInContainer(tagRECT const *)\n7976 void CEdit::SetRectNP(tagRECT const *)\n7977 void CRgn::SetRectRgn(int,int,int,int)\n7978 void CRgn::SetRectRgn(tagRECT const *)\n7979 void CWnd::SetRedraw(int)\n7980 void CHtmlView::SetRegisterAsBrowser(int)\n7981 void CHtmlView::SetRegisterAsDropTarget(int)\n7982 void CWinApp::SetRegistryKey(unsigned int)\n7983 void CWinApp::SetRegistryKey(char const *)\n7984 void COleMessageFilter::SetRetryReply(unsigned long)\n7985 int CDC::SetROP2(int)\n7986 void CSplitterWnd::SetRowInfo(int,int,int)\n7987 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n7988 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n7989 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n7990 void CRecordset::SetRowsetSize(unsigned long)\n7991 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n7992 void CPreviewView::SetScaledSize(unsigned int)\n7993 void CPreviewDC::SetScaleRatio(int,int)\n7994 void CScrollView::SetScaleToFitSize(tagSIZE)\n7995 void CDockState::SetScreenSize(CSize &)\n7996 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n7997 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n7998 int CScrollBar::SetScrollPos(int,int)\n7999 int CWnd::SetScrollPos(int,int,int)\n8000 void CScrollBar::SetScrollRange(int,int,int)\n8001 void CWnd::SetScrollRange(int,int,int,int)\n8002 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8003 void CSplitterWnd::SetScrollStyle(unsigned long)\n8004 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8005 int CPropertySection::SetSectionName(char const *)\n8006 void CEdit::SetSel(int,int,int)\n8007 void CEdit::SetSel(unsigned long,int)\n8008 int CListBox::SetSel(int,int)\n8009 void CRichEditCtrl::SetSel(_charrange &)\n8010 void CRichEditCtrl::SetSel(long,long)\n8011 void CSliderCtrl::SetSelection(int,int)\n8012 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n8013 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n8014 void CCheckListBox::SetSelectionCheck(int)\n8015 int CListCtrl::SetSelectionMark(int)\n8016 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8017 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8018 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8019 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8020 void CHtmlView::SetSilent(int)\n8021 int CStatusBarCtrl::SetSimple(int)\n8022 long CPrintDialogEx::SetSite(IUnknown *)\n8023 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8024 void CByteArray::SetSize(int,int)\n8025 void CDWordArray::SetSize(int,int)\n8026 void CObArray::SetSize(int,int)\n8027 void CPtrArray::SetSize(int,int)\n8028 void CStringArray::SetSize(int,int)\n8029 void CUIntArray::SetSize(int,int)\n8030 void CWordArray::SetSize(int,int)\n8031 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8032 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8033 void CSplitterWnd::SetSplitCursor(int)\n8034 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8035 void CButton::SetState(int)\n8036 void CRecordset::SetState(int,char const *,unsigned long)\n8037 int CToolBarCtrl::SetState(int,unsigned int)\n8038 void CFile::SetStatus(char const *,CFileStatus const &)\n8039 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8040 void CHtmlView::SetStatusBar(int)\n8041 int CControlBar::SetStatusText(int)\n8042 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8043 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8044 int CProgressCtrl::SetStep(int)\n8045 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8046 int CDC::SetStretchBltMode(int)\n8047 void COleVariant::SetString(char const *,unsigned short)\n8048 void CToolBarCtrl::SetStyle(unsigned long)\n8049 void CDatabase::SetSynchronousMode(int)\n8050 int CDialogTemplate::SetSystemFont(unsigned short)\n8051 int CEdit::SetTabStops(int const &)\n8052 int CEdit::SetTabStops(int,int *)\n8053 void CEdit::SetTabStops()\n8054 void CEditView::SetTabStops(int)\n8055 int CListBox::SetTabStops(int const &)\n8056 int CListBox::SetTabStops(int,int *)\n8057 void CListBox::SetTabStops()\n8058 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8059 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8060 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8061 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8062 void CFileDialog::SetTemplate(char const *,char const *)\n8063 void CCmdUI::SetText(char const *)\n8064 void COleCmdUI::SetText(char const *)\n8065 void COleControl::SetText(char const *)\n8066 int CStatusBarCtrl::SetText(char const *,int,int)\n8067 void CStatusCmdUI::SetText(char const *)\n8068 void CTestCmdUI::SetText(char const *)\n8069 void CToolCmdUI::SetText(char const *)\n8070 unsigned int CDC::SetTextAlign(unsigned int)\n8071 int CListCtrl::SetTextBkColor(unsigned long)\n8072 int CDC::SetTextCharacterExtra(int)\n8073 unsigned long CDC::SetTextColor(unsigned long)\n8074 int CListCtrl::SetTextColor(unsigned long)\n8075 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8076 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8077 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8078 int CDC::SetTextJustification(int,int)\n8079 int CRichEditCtrl::SetTextMode(unsigned int)\n8080 void CHtmlView::SetTheaterMode(int)\n8081 int CWinThread::SetThreadPriority(int)\n8082 int CSliderCtrl::SetTic(int)\n8083 void CSliderCtrl::SetTicFreq(int)\n8084 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8085 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8086 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8087 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8088 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8089 int CSliderCtrl::SetTipSide(int)\n8090 void CStatusBarCtrl::SetTipText(int,char const *)\n8091 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8092 void CDocument::SetTitle(char const *)\n8093 void CFrameWnd::SetTitle(char const *)\n8094 void CPropertySheet::SetTitle(char const *,unsigned int)\n8095 void CRichEditDoc::SetTitle(char const *)\n8096 int CToolTipCtrl::SetTitle(unsigned int,char const *)\n8097 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8098 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8099 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8100 void CHtmlView::SetToolBar(int)\n8101 void CToolTipCtrl::SetToolInfo(tagTOOLINFOA *)\n8102 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8103 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8104 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8105 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8106 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8107 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8108 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8109 void CHtmlView::SetTop(long)\n8110 int CComboBox::SetTopIndex(int)\n8111 int CListBox::SetTopIndex(int)\n8112 void CPreviewDC::SetTopLeftOffset(CSize)\n8113 void CProperty::SetType(unsigned long)\n8114 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8115 void CRecordset::SetUpdateMethod()\n8116 void CThreadSlotData::SetValue(int,void *)\n8117 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8118 CSize CDC::SetViewportExt(tagSIZE)\n8119 CSize CDC::SetViewportExt(int,int)\n8120 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8121 CSize CMetaFileDC::SetViewportExt(int,int)\n8122 CSize CPreviewDC::SetViewportExt(int,int)\n8123 CPoint CDC::SetViewportOrg(tagPOINT)\n8124 CPoint CDC::SetViewportOrg(int,int)\n8125 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8126 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8127 CPoint CPreviewDC::SetViewportOrg(int,int)\n8128 void CHtmlView::SetVisible(int)\n8129 void CHtmlView::SetWidth(long)\n8130 int CWnd::SetWindowContextHelpId(unsigned long)\n8131 CSize CDC::SetWindowExt(tagSIZE)\n8132 CSize CDC::SetWindowExt(int,int)\n8133 CSize CPreviewDC::SetWindowExt(int,int)\n8134 CPoint CDC::SetWindowOrg(int,int)\n8135 CPoint CDC::SetWindowOrg(tagPOINT)\n8136 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8137 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8138 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8139 int CWnd::SetWindowRgn(HRGN__ *,int)\n8140 void COleControlSite::SetWindowTextA(char const *)\n8141 void CWnd::SetWindowTextA(char const *)\n8142 void CPropertySheet::SetWizardButtons(unsigned long)\n8143 void CPropertySheet::SetWizardMode()\n8144 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n8145 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n8146 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8147 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8148 int CInternetFile::SetWriteBufferSize(unsigned int)\n8149 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8150 long CDocObjectServer::XOleDocumentView::Show(int)\n8151 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8152 void CDockBar::ShowAll(int)\n8153 int CReBarCtrl::ShowBand(unsigned int,int)\n8154 void CWnd::ShowCaret()\n8155 long CRichEditCntrItem::ShowContainerUI(int)\n8156 long CRichEditView::ShowContainerUI(int)\n8157 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8158 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8159 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8160 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8161 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8162 void CComboBox::ShowDropDown(int)\n8163 long COleClientItem::XOleClientSite::ShowObject()\n8164 long COleControlSite::XOleClientSite::ShowObject()\n8165 void CWnd::ShowOwnedPopups(int)\n8166 void CFrameWnd::ShowOwnedWindows(int)\n8167 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8168 void CScrollBar::ShowScrollBar(int)\n8169 void CWnd::ShowScrollBar(unsigned int,int)\n8170 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8171 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8172 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8173 int COleControlSite::ShowWindow(int)\n8174 int CWnd::ShowWindow(int)\n8175 int CAsyncSocket::ShutDown(int)\n8176 tagSIZE const CScrollView::sizeDefault\n8177 int CMonthCalCtrl::SizeMinReq(int)\n8178 void CBitmapButton::SizeToContent()\n8179 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8180 int CReBarCtrl::SizeToRect(CRect &)\n8181 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8182 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8183 int CAsyncSocket::Socket(int,long,int,int)\n8184 int CTreeCtrl::SortChildren(_TREEITEM *)\n8185 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8186 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8187 int CSplitterWnd::SplitColumn(int)\n8188 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8189 int CSplitterWnd::SplitRow(int)\n8190 int CDC::StartDocA(_DOCINFOA *)\n8191 int CDC::StartDocA(char const *)\n8192 void CDockContext::StartDrag(CPoint)\n8193 int CDC::StartPage()\n8194 void CDockContext::StartResize(int,CPoint)\n8195 void CSplitterWnd::StartTracking(int)\n8196 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8197 int CProgressCtrl::StepIt()\n8198 int CAnimateCtrl::Stop()\n8199 void CHtmlView::Stop()\n8200 void CRichEditCtrl::StopGroupTyping()\n8201 void CSplitterWnd::StopTracking(int)\n8202 void CRuntimeClass::Store(CArchive &)const \n8203 void CRecordset::StoreFields()\n8204 void CRichEditView::Stream(CArchive &,int)\n8205 long CRichEditCtrl::StreamIn(int,_editstream &)\n8206 long CRichEditCtrl::StreamOut(int,_editstream &)\n8207 void CDockContext::Stretch(CPoint)\n8208 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8209 int CDC::StrokeAndFillPath()\n8210 int CDC::StrokePath()\n8211 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8212 int CWnd::SubclassWindow(HWND__ *)\n8213 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8214 int COleDocObjectItem::SupportsIPrint()\n8215 unsigned long CWinThread::SuspendThread()\n8216 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8217 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8218 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8219 CSize CDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8220 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8221 CSize CMetaFileDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8222 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8223 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8224 void CRichEditView::TextNotFound(char const *)\n8225 int CDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n8226 int CDC::TextOutA(int,int,char const *,int)\n8227 int CMetaFileDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > const &)\n8228 int CMetaFileDC::TextOutA(int,int,char const *,int)\n8229 int CPreviewDC::TextOutA(int,int,char const *,int)\n8230 void CDatabase::ThrowDBException(short)\n8231 void CRecordset::ThrowDBException(short,void *)\n8232 void CFileException::ThrowErrno(int,char const *)\n8233 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8234 void COleControl::ThrowError(long,char const *,unsigned int)\n8235 void CFileException::ThrowOsError(long,char const *)\n8236 void CDockContext::ToggleDocking()\n8237 COleVariant CDataSourceControl::ToVariant(int)\n8238 ATL::CTraceCategory traceAppMsg\n8239 ATL::CTraceCategory traceCmdRouting\n8240 ATL::CTraceCategory traceDatabase\n8241 ATL::CTraceCategory traceDumpContext\n8242 void CDBException::TraceErrorMessage(char const *)const \n8243 ATL::CTraceCategory traceGdi\n8244 ATL::CTraceCategory traceHtml\n8245 ATL::CTraceCategory traceInternet\n8246 ATL::CTraceCategory traceKernel\n8247 ATL::CTraceCategory traceMemory\n8248 ATL::CTraceCategory traceMultiApp\n8249 ATL::CTraceCategory traceOle\n8250 ATL::CTraceCategory traceSocket\n8251 ATL::CTraceCategory traceUser\n8252 ATL::CTraceCategory traceWinMsg\n8253 int CDockContext::Track()\n8254 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8255 void CSplitterWnd::TrackColumnSize(int,int)\n8256 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8257 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8258 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8259 void CSplitterWnd::TrackRowSize(int,int)\n8260 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8261 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8262 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8263 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8264 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8265 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8266 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n8267 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8268 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8269 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8270 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8271 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n8272 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8273 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8274 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8275 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8276 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8277 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8278 void COccManager::UIActivateControl(CWnd *)\n8279 long COleControl::XOleInPlaceObject::UIDeactivate()\n8280 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8281 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8282 void COleSafeArray::UnaccessData()\n8283 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8284 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8285 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8286 long COleControl::XOleObject::Unadvise(unsigned long)\n8287 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8288 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8289 void CRecordset::UnbindFieldsForUpdate()\n8290 long COleControl::XOleCache::Uncache(unsigned long)\n8291 int CEdit::Undo()\n8292 int CRichEditCtrl::Undo()\n8293 long COleControl::XViewObject::Unfreeze(unsigned long)\n8294 int CCriticalSection::Unlock()\n8295 int CEvent::Unlock()\n8296 int CMultiLock::Unlock(long,long *)\n8297 int CMultiLock::Unlock()\n8298 int CMutex::Unlock()\n8299 void COleSafeArray::Unlock()\n8300 int CSemaphore::Unlock(long,long *)\n8301 int CSemaphore::Unlock()\n8302 int CSingleLock::Unlock(long,long *)\n8303 int CSingleLock::Unlock()\n8304 void CTypeLibCache::Unlock()\n8305 void CEditView::UnlockBuffer()const \n8306 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8307 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8308 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8309 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8310 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8311 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8312 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8313 void CWnd::UnlockWindowUpdate()\n8314 int CGdiObject::UnrealizeObject()\n8315 int COleObjectFactory::Unregister()\n8316 int COleTemplateServer::Unregister()\n8317 int CWinApp::Unregister()\n8318 int COleObjectFactory::UnregisterAll()\n8319 void CDocManager::UnregisterShellFileTypes()\n8320 void CWinApp::UnregisterShellFileTypes()\n8321 HWND__ * CWnd::UnsubclassWindow()\n8322 int CListCtrl::Update(int)\n8323 int CRecordset::Update()\n8324 void CToolTipCtrl::Update()\n8325 long CDocObjectServer::XOleObject::Update()\n8326 long COleControl::XOleObject::Update()\n8327 long COleServerDoc::XOleObject::Update()\n8328 long COleServerItem::XOleObject::Update()\n8329 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8330 void CStatusBar::UpdateAllPanes(int,int)\n8331 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8332 void CScrollView::UpdateBars()\n8333 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8334 void CDC::UpdateColors()\n8335 long CDataSourceControl::UpdateControls()\n8336 long CDataSourceControl::UpdateCursor()\n8337 void CMemoryState::UpdateData()\n8338 int CWnd::UpdateData(int)\n8339 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8340 void CDocument::UpdateFrameCounts()\n8341 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n8342 int CRecordset::UpdateInsertDelete()\n8343 void COleClientItem::UpdateItemType()\n8344 int COleClientItem::UpdateLink()\n8345 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8346 void CRecentFileList::UpdateMenu(CCmdUI *)\n8347 void COleDocument::UpdateModifiedFlag()\n8348 void CRichEditDoc::UpdateModifiedFlag()\n8349 void CRichEditDoc::UpdateObjectCache()\n8350 void CWinApp::UpdatePrinterSelection(int)\n8351 int COleObjectFactory::UpdateRegistry(int)\n8352 void COleObjectFactory::UpdateRegistry(char const *)\n8353 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n8354 int COleObjectFactory::UpdateRegistryAll(int)\n8355 void CDockContext::UpdateState(int *,int)\n8356 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8357 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n8358 long CBrowserControlSite::UpdateUI()\n8359 long CDHtmlDialog::UpdateUI()\n8360 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8361 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8362 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8363 void CWnd::UpdateWindow()\n8364 void CWnd::ValidateRect(tagRECT const *)\n8365 void CWnd::ValidateRgn(CRgn *)\n8366 void CDatabase::VerifyConnect()\n8367 unsigned long CRecordset::VerifyCursorSupport()\n8368 void CRecordset::VerifyDriverBehavior()\n8369 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8370 int COleObjectFactory::VerifyUserLicense()\n8371 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8372 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8373 int CDC::WidenPath()\n8374 int COleControl::WillAmbientsBeValidDuringLoad()\n8375 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8376 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8377 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8378 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8379 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8380 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8381 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8382 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8383 void CWinApp::WinHelpA(unsigned long,unsigned int)\n8384 void CWnd::WinHelpA(unsigned long,unsigned int)\n8385 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8386 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8387 CWnd const CWnd::wndBottom\n8388 CWnd const CWnd::wndNoTopMost\n8389 CWnd const CWnd::wndTop\n8390 CWnd const CWnd::wndTopMost\n8391 void CRichEditView::WrapChanged()\n8392 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8393 void CArchive::Write(void const *,unsigned int)\n8394 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8395 void CFile::Write(void const *,unsigned int)\n8396 void CGopherFile::Write(void const *,unsigned int)\n8397 int CImageList::Write(CArchive *)\n8398 void CInternetFile::Write(void const *,unsigned int)\n8399 void CMemFile::Write(void const *,unsigned int)\n8400 void COleStreamFile::Write(void const *,unsigned int)\n8401 void CSocketFile::Write(void const *,unsigned int)\n8402 void CStdioFile::Write(void const *,unsigned int)\n8403 void CArchive::WriteClass(CRuntimeconst *)\n8404 void CArchive::WriteCount(unsigned long)\n8405 void COleClientItem::WriteItem(CArchive &)\n8406 void COleClientItem::WriteItemCompound(CArchive &)\n8407 void COleClientItem::WriteItemFlat(CArchive &)\n8408 void CRecentFileList::WriteList()\n8409 int CPropertySection::WriteNameDictToStream(IStream *)\n8410 void CArchive::WriteObject(CObject const *)\n8411 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n8412 int CWinApp::WriteProfileInt(char const *,char const *,int)\n8413 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n8414 void CArchive::WriteString(char const *)\n8415 void CGopherFile::WriteString(char const *)\n8416 void CInternetFile::WriteString(char const *)\n8417 void CStdioFile::WriteString(char const *)\n8418 void CEditView::WriteToArchive(CArchive &)\n8419 int CProperty::WriteToStream(IStream *)\n8420 int CPropertySection::WriteToStream(IStream *)\n8421 int CPropertySet::WriteToStream(IStream *)\n8422 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n8423 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n8424 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n8425 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n8426 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n8427 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n8428 int AfxInitRichEdit2()\n8429 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n8430 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n8431 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8432 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8433 CDaoException::CDaoException()\n8434 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8435 CDaoIndexInfo::CDaoIndexInfo()\n8436 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8437 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8438 CDaoRecordView::CDaoRecordView(unsigned int)\n8439 CDaoRecordView::CDaoRecordView(char const *)\n8440 CDaoRelationInfo::CDaoRelationInfo()\n8441 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8442 CDaoWorkspace::CDaoWorkspace()\n8443 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8444 CDaoDatabase::~CDaoDatabase()\n8445 CDaoException::~CDaoException()\n8446 CDaoIndexInfo::~CDaoIndexInfo()\n8447 CDaoQueryDef::~CDaoQueryDef()\n8448 CDaoRecordset::~CDaoRecordset()\n8449 CDaoRecordView::~CDaoRecordView()\n8450 CDaoRelationInfo::~CDaoRelationInfo()\n8451 CDaoTableDef::~CDaoTableDef()\n8452 CDaoWorkspace::~CDaoWorkspace()\n8453 void CDaoRecordset::AddNew()\n8454 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8455 _DAODBEngine * AfxDaoGetEngine()\n8456 void AfxDaoInit()\n8457 void AfxDaoTerm()\n8458 void AfxDaoTrace(long,char const *,char const *,int)\n8459 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8460 _AFX_DAO_STATE * AfxGetDaoState()\n8461 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n8462 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8463 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8464 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8465 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8466 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n8467 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8468 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8469 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8470 void AfxThrowDaoException(int,long)\n8471 void CDaoRecordset::AllocCache()\n8472 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8473 void CDaoRecordset::AllocDatabase()\n8474 void AllocLongBinary(CLongBinary &,unsigned long)\n8475 void CDaoQueryDef::Append()\n8476 void CDaoTableDef::Append()\n8477 void CDaoWorkspace::Append()\n8478 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n8479 void CDaoDatabase::AssertValid()const \n8480 void CDaoQueryDef::AssertValid()const \n8481 void CDaoRecordset::AssertValid()const \n8482 void CDaoRecordView::AssertValid()const \n8483 void CDaoTableDef::AssertValid()const \n8484 void CDaoWorkspace::AssertValid()const \n8485 void CDaoWorkspace::BeginTrans()\n8486 void CDaoRecordset::BindFields()\n8487 void CDaoRecordset::BindParameters()\n8488 void CDaoRecordset::BuildParameterList()\n8489 void CDaoRecordset::BuildSelectList()\n8490 void CDaoRecordset::BuildSQL()\n8491 int CDaoRecordset::CanAppend()const \n8492 int CDaoRecordset::CanBookmark()\n8493 void CDaoRecordset::CancelUpdate()\n8494 int CDaoRecordset::CanRestart()\n8495 int CDaoRecordset::CanScroll()const \n8496 int CDaoDatabase::CanTransact()\n8497 int CDaoRecordset::CanTransact()\n8498 int CDaoDatabase::CanUpdate()\n8499 int CDaoQueryDef::CanUpdate()\n8500 int CDaoRecordset::CanUpdate()const \n8501 int CDaoTableDef::CanUpdate()\n8502 CRuntimeconst CDaoDatabase::classCDaoDatabase\n8503 CRuntimeconst CDaoException::classCDaoException\n8504 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n8505 CRuntimeconst CDaoRecordset::classCDaoRecordset\n8506 CRuntimeconst CDaoRecordView::classCDaoRecordView\n8507 CRuntimeconst CDaoTableDef::classCDaoTableDef\n8508 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n8509 CRuntimeconst CDatabase::classCDatabase\n8510 CRuntimeconst CDBException::classCDBException\n8511 CRuntimeconst CLongBinary::classCLongBinary\n8512 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n8513 CRuntimeconst CRecordset::classCRecordset\n8514 CRuntimeconst CRecordView::classCRecordView\n8515 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8516 void CDaoRecordset::ClearFieldStatusFlags()\n8517 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8518 void CDaoDatabase::Close()\n8519 void CDaoQueryDef::Close()\n8520 void CDaoRecordset::Close()\n8521 void CDaoTableDef::Close()\n8522 void CDaoWorkspace::Close()\n8523 void CDaoWorkspace::CommitTrans()\n8524 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n8525 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n8526 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8527 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8528 void CDaoDatabase::Create(char const *,char const *,int)\n8529 void CDaoQueryDef::Create(char const *,char const *)\n8530 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n8531 void CDaoWorkspace::Create(char const *,char const *,char const *)\n8532 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8533 void CDaoTableDef::CreateField(char const *,short,long,long)\n8534 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8535 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8536 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n8537 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8538 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8539 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8540 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8541 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8542 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8543 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8544 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8545 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8546 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8547 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8548 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8549 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8550 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8551 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8552 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8553 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8554 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8555 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8556 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8557 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n8558 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n8559 void CDaoRecordset::Delete()\n8560 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8561 void CDaoTableDef::DeleteField(int)\n8562 void CDaoTableDef::DeleteField(char const *)\n8563 void CDaoTableDef::DeleteIndex(int)\n8564 void CDaoTableDef::DeleteIndex(char const *)\n8565 void CDaoDatabase::DeleteQueryDef(char const *)\n8566 void CDaoDatabase::DeleteRelation(char const *)\n8567 void CDaoDatabase::DeleteTableDef(char const *)\n8568 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n8569 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n8570 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n8571 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n8572 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n8573 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n8574 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n8575 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n8576 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n8577 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n8578 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n8579 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8580 void CDaoDatabase::Dump(CDumpContext &)const \n8581 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8582 void CDaoErrorInfo::Dump(CDumpContext &)const \n8583 void CDaoFieldInfo::Dump(CDumpContext &)const \n8584 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8585 void CDaoIndexInfo::Dump(CDumpContext &)const \n8586 void CDaoParameterInfo::Dump(CDumpContext &)const \n8587 void CDaoQueryDef::Dump(CDumpContext &)const \n8588 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8589 void CDaoRecordset::Dump(CDumpContext &)const \n8590 void CDaoRecordView::Dump(CDumpContext &)const \n8591 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8592 void CDaoRelationInfo::Dump(CDumpContext &)const \n8593 void CDaoTableDef::Dump(CDumpContext &)const \n8594 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8595 void CDaoWorkspace::Dump(CDumpContext &)const \n8596 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8597 void CDaoRecordset::Edit()\n8598 void CDaoDatabase::Execute(char const *,int)\n8599 void CDaoQueryDef::Execute(int)\n8600 void CDaoRecordset::FillCache(long *,COleVariant *)\n8601 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8602 void CDaoException::FillErrorInfo()\n8603 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8604 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8605 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8606 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8607 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8608 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8609 int CDaoRecordset::Find(long,char const *)\n8610 int CDaoRecordset::FindFirst(char const *)\n8611 int CDaoRecordset::FindLast(char const *)\n8612 int CDaoRecordset::FindNext(char const *)\n8613 int CDaoRecordset::FindPrev(char const *)\n8614 void CDaoRecordset::Fixup()\n8615 void CDaoRecordset::FreeCache()\n8616 long CDaoRecordset::GetAbsolutePosition()\n8617 long CDaoTableDef::GetAttributes()\n8618 COleVariant CDaoRecordset::GetBookmark()\n8619 long CDaoRecordset::GetCacheSize()\n8620 COleVariant CDaoRecordset::GetCacheStart()\n8621 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8622 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n8623 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n8624 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n8625 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n8626 void CDaoRecordset::GetDataAndFixupNulls()\n8627 short CDaoWorkspace::GetDatabaseCount()\n8628 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8629 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n8630 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8631 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8632 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8633 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8634 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8635 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8636 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n8637 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n8638 short CDaoRecordset::GetEditMode()\n8639 short CDaoException::GetErrorCount()\n8640 void CDaoException::GetErrorInfo(int)\n8641 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)\n8642 short CDaoQueryDef::GetFieldCount()\n8643 short CDaoRecordset::GetFieldCount()\n8644 short CDaoTableDef::GetFieldCount()\n8645 int CDaoRecordset::GetFieldIndex(void *)\n8646 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8647 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8648 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8649 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8650 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8651 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8652 unsigned long CDaoRecordset::GetFieldLength(int)\n8653 COleVariant CDaoRecordset::GetFieldValue(int)\n8654 COleVariant CDaoRecordset::GetFieldValue(char const *)\n8655 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8656 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n8657 short CDaoRecordset::GetIndexCount()\n8658 short CDaoTableDef::GetIndexCount()\n8659 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8660 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8661 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8662 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8663 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n8664 int CDaoWorkspace::GetIsolateODBCTrans()\n8665 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8666 int CDaoRecordset::GetLockingMode()\n8667 short CDaoWorkspace::GetLoginTimeout()\n8668 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8669 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n8670 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n8671 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n8672 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n8673 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n8674 short CDaoQueryDef::GetODBCTimeout()\n8675 short CDaoQueryDef::GetParameterCount()\n8676 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8677 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n8678 COleVariant CDaoQueryDef::GetParamValue(int)\n8679 COleVariant CDaoQueryDef::GetParamValue(char const *)\n8680 COleVariant CDaoRecordset::GetParamValue(int)\n8681 COleVariant CDaoRecordset::GetParamValue(char const *)\n8682 float CDaoRecordset::GetPercentPosition()\n8683 short CDaoDatabase::GetQueryDefCount()\n8684 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8685 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n8686 short CDaoDatabase::GetQueryTimeout()\n8687 long CDaoRecordset::GetRecordCount()\n8688 long CDaoTableDef::GetRecordCount()\n8689 long CDaoDatabase::GetRecordsAffected()\n8690 long CDaoQueryDef::GetRecordsAffected()\n8691 short CDaoDatabase::GetRelationCount()\n8692 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8693 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n8694 int CDaoQueryDef::GetReturnsRecords()\n8695 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8696 CRuntime* CDaoException::GetRuntimeClass()const \n8697 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8698 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8699 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8700 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8701 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8702 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n8703 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n8704 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n8705 short CDaoDatabase::GetTableDefCount()\n8706 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8707 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n8708 CRuntime* CDaoDatabase::GetThisClass()\n8709 CRuntime* CDaoException::GetThisClass()\n8710 CRuntime* CDaoQueryDef::GetThisClass()\n8711 CRuntime* CDaoRecordset::GetThisClass()\n8712 CRuntime* CDaoRecordView::GetThisClass()\n8713 CRuntime* CDaoTableDef::GetThisClass()\n8714 CRuntime* CDaoWorkspace::GetThisClass()\n8715 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8716 short CDaoQueryDef::GetType()\n8717 short CDaoRecordset::GetType()\n8718 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n8719 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n8720 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n8721 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n8722 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n8723 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n8724 ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n8725 short CDaoWorkspace::GetWorkspaceCount()\n8726 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8727 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n8728 void CDaoWorkspace::Idle(int)\n8729 void CDaoWorkspace::InitDatabasesCollection()\n8730 void CDaoException::InitErrorsCollection()\n8731 void CDaoQueryDef::InitFieldsCollection()\n8732 void CDaoRecordset::InitFieldsCollection()\n8733 void CDaoTableDef::InitFieldsCollection()\n8734 void CDaoWorkspace::InitializeEngine()\n8735 void CDaoRecordset::InitIndexesCollection()\n8736 void CDaoTableDef::InitIndexesCollection()\n8737 void CDaoQueryDef::InitParametersCollection()\n8738 void CDaoDatabase::InitQueryDefsCollection()\n8739 void CDaoDatabase::InitRelationsCollection()\n8740 void CDaoDatabase::InitTableDefsCollection()\n8741 void CDaoDatabase::InitWorkspace()\n8742 void CDaoWorkspace::InitWorkspacesCollection()\n8743 int CDaoRecordset::IsBOF()const \n8744 int CDaoRecordset::IsDeleted()const \n8745 int CDaoRecordset::IsEOF()const \n8746 int CDaoRecordset::IsFieldDirty(void *)\n8747 int CDaoRecordset::IsFieldNull(void *)\n8748 int CDaoRecordset::IsFieldNullable(void *)\n8749 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n8750 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n8751 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n8752 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n8753 int CDaoRecordset::IsMatch()\n8754 int CDaoWorkspace::IsNew()const \n8755 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n8756 int CDaoRecordView::IsOnFirstRecord()\n8757 int CDaoRecordView::IsOnLastRecord()\n8758 int CDaoDatabase::IsOpen()const \n8759 int CDaoQueryDef::IsOpen()const \n8760 int CDaoRecordset::IsOpen()const \n8761 int CDaoTableDef::IsOpen()const \n8762 int CDaoWorkspace::IsOpen()const \n8763 int CDaoFieldExchange::IsValidOperation()\n8764 void CDaoRecordset::LoadFields()\n8765 void CDaoRecordset::MarkForAddNew()\n8766 void CDaoRecordset::MarkForEdit()\n8767 AFX_MSGMAP const CDaoRecordView::messageMap\n8768 AFX_MSGMAP const COleDBRecordView::messageMap\n8769 AFX_MSGMAP const CRecordView::messageMap\n8770 void CDaoRecordset::Move(long)\n8771 void CDaoRecordset::MoveFirst()\n8772 void CDaoRecordset::MoveLast()\n8773 void CDaoRecordset::MoveNext()\n8774 void CDaoRecordset::MovePrev()\n8775 void CDaoRecordView::OnInitialUpdate()\n8776 void CDaoRecordView::OnMove(int,int)\n8777 int CDaoRecordView::OnMove(unsigned int)\n8778 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n8779 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n8780 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n8781 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n8782 void CDaoDatabase::Open(char const *,int,int,char const *)\n8783 void CDaoQueryDef::Open(char const *)\n8784 void CDaoRecordset::Open(int,char const *,int)\n8785 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n8786 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n8787 void CDaoTableDef::Open(char const *)\n8788 void CDaoWorkspace::Open(char const *)\n8789 void CDaoTableDef::RefreshLink()\n8790 void CDaoWorkspace::RepairDatabase(char const *)\n8791 void CDaoRecordset::Requery()\n8792 void CDaoWorkspace::Rollback()\n8793 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n8794 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n8795 void CDaoRecordset::SetAbsolutePosition(long)\n8796 void CDaoTableDef::SetAttributes(long)\n8797 void CDaoRecordset::SetBookmark(COleVariant)\n8798 void CDaoRecordset::SetCacheSize(long)\n8799 void CDaoRecordset::SetCacheStart(COleVariant)\n8800 void CDaoQueryDef::SetConnect(char const *)\n8801 void CDaoTableDef::SetConnect(char const *)\n8802 void CDaoRecordset::SetCurrentIndex(char const *)\n8803 void CDaoRecordset::SetCursorAttributes()\n8804 void CDaoWorkspace::SetDefaultPassword(char const *)\n8805 void CDaoWorkspace::SetDefaultUser(char const *)\n8806 void CDaoRecordset::SetDirtyFields()\n8807 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n8808 void CDaoRecordset::SetFieldDirty(void *,int)\n8809 void CDaoRecordset::SetFieldNull(void *,int)\n8810 void CDaoFieldExchange::SetFieldType(unsigned int)\n8811 void CDaoRecordset::SetFieldValue(int,char const *)\n8812 void CDaoRecordset::SetFieldValue(char const *,char const *)\n8813 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n8814 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n8815 void CDaoRecordset::SetFieldValueNull(int)\n8816 void CDaoRecordset::SetFieldValueNull(char const *)\n8817 void CDaoWorkspace::SetIniPath(char const *)\n8818 void CDaoWorkspace::SetIsolateODBCTrans(int)\n8819 void CDaoRecordset::SetLockingMode(int)\n8820 void CDaoWorkspace::SetLoginTimeout(short)\n8821 void CDaoQueryDef::SetName(char const *)\n8822 void CDaoTableDef::SetName(char const *)\n8823 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n8824 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n8825 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n8826 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n8827 void CDaoQueryDef::SetODBCTimeout(short)\n8828 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n8829 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n8830 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n8831 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n8832 void CDaoQueryDef::SetParamValueNull(int)\n8833 void CDaoQueryDef::SetParamValueNull(char const *)\n8834 void CDaoRecordset::SetParamValueNull(int)\n8835 void CDaoRecordset::SetParamValueNull(char const *)\n8836 void CDaoRecordset::SetPercentPosition(float)\n8837 void CDaoDatabase::SetQueryTimeout(short)\n8838 void CDaoQueryDef::SetReturnsRecords(int)\n8839 void CDaoTableDef::SetSourceTableName(char const *)\n8840 void CDaoQueryDef::SetSQL(char const *)\n8841 void CDaoTableDef::SetValidationRule(char const *)\n8842 void CDaoTableDef::SetValidationText(char const *)\n8843 void CDaoRecordset::StoreFields()\n8844 void CDaoRecordset::StripBrackets(char const *,char *)\n8845 void CDaoDatabase::ThrowDaoException(int)\n8846 void CDaoQueryDef::ThrowDaoException(int)\n8847 void CDaoRecordset::ThrowDaoException(int)\n8848 void CDaoTableDef::ThrowDaoException(int)\n8849 void CDaoWorkspace::ThrowDaoException(int)\n8850 void ThrowGetRowsDaoException(long)\n8851 void CDaoRecordset::Update()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc70u.def",
    "content": "256 void * operator new[](unsigned int)\n257 void operator delete[](void *)\n258 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n259 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n260 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n261 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n262 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n263 CArchive::CArchive(CFile *,unsigned int,int,void *)\n264 CArchivePropExchange::CArchivePropExchange(CArchive &)\n265 CArchiveStream::CArchiveStream(CArchive *)\n266 CAsyncMonikerFile::CAsyncMonikerFile()\n267 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n268 CAsyncSocket::CAsyncSocket()\n269 CBlobProperty::CBlobProperty(void *)\n270 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n271 CBrush::CBrush(int,unsigned long)\n272 CBrush::CBrush(unsigned long)\n273 CBrush::CBrush(CBitmap *)\n274 CByteArray::CByteArray()\n275 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n276 CClientDC::CClientDC(CWnd *)\n277 CCmdTarget::CCmdTarget()\n278 CCmdUI::CCmdUI()\n279 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n280 CCommandLineInfo::CCommandLineInfo()\n281 CConnectionPoint::CConnectionPoint()\n282 CControlBar::CControlBar()\n283 CControlBarInfo::CControlBarInfo()\n284 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n285 CControlFrameWnd::CControlFrameWnd(COleControl *)\n286 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n287 CDatabase::CDatabase()\n288 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n289 CDataExchange::CDataExchange(CWnd *,int)\n290 CDataSourceControl::CDataSourceControl(COleControlSite *)\n291 CDBException::CDBException(short)\n292 CDBVariant::CDBVariant()\n293 CDC::CDC()\n294 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n295 CDHtmlControlSink::CDHtmlControlSink()\n296 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n297 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n298 CDHtmlDialog::CDHtmlDialog()\n299 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n300 CDialog::CDialog(unsigned int,CWnd *)\n301 CDialog::CDialog(wchar_t const *,CWnd *)\n302 CDialog::CDialog()\n303 CDialogBar::CDialogBar()\n304 CDialogTemplate::CDialogTemplate(void *)\n305 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n306 CDocItem::CDocItem()\n307 CDockBar::CDockBar(int)\n308 CDockContext::CDockContext(CControlBar *)\n309 CDockState::CDockState()\n310 CDocManager::CDocManager()\n311 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n312 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n313 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n314 CDocument::CDocument()\n315 CDumpContext::CDumpContext(CFile *)\n316 CDWordArray::CDWordArray()\n317 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n318 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n319 CEditView::CEditView()\n320 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n321 CEnumConnections::CEnumConnections(void const *,unsigned int)\n322 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n323 CEnumFormatEtc::CEnumFormatEtc()\n324 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n325 CException::CException(int)\n326 CException::CException()\n327 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n328 CFile::CFile(void *)\n329 CFile::CFile(wchar_t const *,unsigned int)\n330 CFile::CFile()\n331 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n332 CFileFind::CFileFind()\n333 CFindReplaceDialog::CFindReplaceDialog()\n334 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n335 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n336 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n337 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n338 CFontHolder::CFontHolder(IPropertyNotifySink *)\n339 CFormView::CFormView(unsigned int)\n340 CFormView::CFormView(wchar_t const *)\n341 CFrameWnd::CFrameWnd()\n342 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n343 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n344 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n345 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n346 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n347 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n348 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n349 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n350 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n351 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n352 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n353 CHtmlEditCtrl::CHtmlEditCtrl()\n354 CHtmlEditDoc::CHtmlEditDoc()\n355 CHtmlEditView::CHtmlEditView()\n356 CHtmlView::CHtmlView()\n357 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n358 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n359 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n360 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n361 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n362 CImageList::CImageList()\n363 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n364 CInternetException::CInternetException(unsigned long)\n365 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n366 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n367 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n368 CLongBinary::CLongBinary()\n369 CMapPtrToPtr::CMapPtrToPtr(int)\n370 CMapPtrToWord::CMapPtrToWord(int)\n371 CMapStringToOb::CMapStringToOb(int)\n372 CMapStringToPtr::CMapStringToPtr(int)\n373 CMapStringToString::CMapStringToString(int)\n374 CMapWordToOb::CMapWordToOb(int)\n375 CMapWordToPtr::CMapWordToPtr(int)\n376 CMDIChildWnd::CMDIChildWnd()\n377 CMDIFrameWnd::CMDIFrameWnd()\n378 CMemFile::CMemFile(unsigned int)\n379 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n380 CMetaFileDC::CMetaFileDC()\n381 CMiniDockFrameWnd::CMiniDockFrameWnd()\n382 CMiniFrameWnd::CMiniFrameWnd()\n383 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n384 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n385 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n386 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n387 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n388 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n389 CObArray::CObArray()\n390 CObList::CObList(int)\n391 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n392 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n393 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n394 COleClientItem::COleClientItem(COleDocument *)\n395 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n396 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n397 COleControl::COleControl()\n398 COleControlContainer::COleControlContainer(CWnd *)\n399 COleControlLock::COleControlLock(_GUID const &)\n400 COleControlSite::COleControlSite(COleControlContainer *)\n401 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n402 COleCurrency::COleCurrency(long,long)\n403 COleDataObject::COleDataObject()\n404 COleDataSource::COleDataSource()\n405 COleDialog::COleDialog(CWnd *)\n406 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n407 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n408 COleDispatchDriver::COleDispatchDriver()\n409 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n410 COleDocIPFrameWnd::COleDocIPFrameWnd()\n411 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n412 COleDocument::COleDocument()\n413 COleDropSource::COleDropSource()\n414 COleDropTarget::COleDropTarget()\n415 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n416 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n417 COleIPFrameWnd::COleIPFrameWnd()\n418 COleLinkingDoc::COleLinkingDoc()\n419 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n420 COleMessageFilter::COleMessageFilter()\n421 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n422 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n423 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n424 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n425 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n426 COleResizeBar::COleResizeBar()\n427 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n428 COleSafeArray::COleSafeArray(tagVARIANT const &)\n429 COleSafeArray::COleSafeArray(COleSafeArray const &)\n430 COleSafeArray::COleSafeArray(COleVariant const &)\n431 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n432 COleSafeArray::COleSafeArray(tagVARIANT const *)\n433 COleServerDoc::COleServerDoc()\n434 COleServerItem::COleServerItem(COleServerDoc *,int)\n435 COleStreamFile::COleStreamFile(IStream *)\n436 COleTemplateServer::COleTemplateServer()\n437 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n438 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n439 COleVariant::COleVariant(tagVARIANT const &)\n440 COleVariant::COleVariant(COleVariant const &)\n441 COleVariant::COleVariant(short,unsigned short)\n442 COleVariant::COleVariant(long,unsigned short)\n443 COleVariant::COleVariant(wchar_t const *,unsigned short)\n444 COleVariant::COleVariant(_ITEMIDLIST const *)\n445 COleVariant::COleVariant(tagVARIANT const *)\n446 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n447 CPaintDC::CPaintDC(CWnd *)\n448 CPen::CPen(int,int,unsigned long)\n449 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n450 CPictureHolder::CPictureHolder()\n451 CPreviewDC::CPreviewDC()\n452 CPreviewView::CPreviewView()\n453 CPrintDialog::CPrintDialog(tagPDW &)\n454 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n455 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n456 CPrintInfo::CPrintInfo()\n457 CPrintPreviewState::CPrintPreviewState()\n458 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n459 CProperty::CProperty(unsigned long,void * const,unsigned long)\n460 CProperty::CProperty()\n461 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n462 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n463 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n464 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n465 CPropertyPage::CPropertyPage()\n466 CPropertySection::CPropertySection(_GUID)\n467 CPropertySection::CPropertySection()\n468 CPropertySet::CPropertySet(_GUID)\n469 CPropertySet::CPropertySet()\n470 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n471 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n472 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n473 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n474 CPropertySheet::CPropertySheet()\n475 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n476 CPtrArray::CPtrArray()\n477 CPtrList::CPtrList(int)\n478 CReBar::CReBar()\n479 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n480 CRecordset::CRecordset(CDatabase *)\n481 CRecordView::CRecordView(unsigned int)\n482 CRecordView::CRecordView(wchar_t const *)\n483 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n484 CReObject::CReObject(CRichEditCntrItem *)\n485 CReObject::CReObject()\n486 CResetPropExchange::CResetPropExchange()\n487 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n488 CRichEditDoc::CRichEditDoc()\n489 CRichEditView::CRichEditView()\n490 CScrollView::CScrollView()\n491 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n492 CSharedFile::CSharedFile(unsigned int,unsigned int)\n493 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n494 CSingleLock::CSingleLock(CSyncObject *,int)\n495 CSocket::CSocket()\n496 CSocketFile::CSocketFile(CSocket *,int)\n497 CSocketWnd::CSocketWnd()\n498 CSplitterWnd::CSplitterWnd()\n499 CStatusBar::CStatusBar()\n500 CStdioFile::CStdioFile(_iobuf *)\n501 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n502 CStdioFile::CStdioFile()\n503 CStringArray::CStringArray()\n504 CStringList::CStringList(int)\n505 CSyncObject::CSyncObject(wchar_t const *)\n506 CTestCmdUI::CTestCmdUI()\n507 CThreadSlotData::CThreadSlotData()\n508 CToolBar::CToolBar()\n509 CToolTipCtrl::CToolTipCtrl()\n510 CUIntArray::CUIntArray()\n511 CView::CView()\n512 CWinApp::CWinApp(wchar_t const *)\n513 CWindowDC::CWindowDC(CWnd *)\n514 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n515 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n516 CWinThread::CWinThread()\n517 CWnd::CWnd(HWND__ *)\n518 CWnd::CWnd()\n519 CWordArray::CWordArray()\n520 CPreviewView::PAGE_INFO::PAGE_INFO()\n521 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n522 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n523 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n524 CAnimateCtrl::~CAnimateCtrl()\n525 CArchive::~CArchive()\n526 CAsyncMonikerFile::~CAsyncMonikerFile()\n527 CAsyncSocket::~CAsyncSocket()\n528 CButton::~CButton()\n529 CByteArray::~CByteArray()\n530 CClientDC::~CClientDC()\n531 CCmdTarget::~CCmdTarget()\n532 CComboBox::~CComboBox()\n533 CComboBoxEx::~CComboBoxEx()\n534 CCommandLineInfo::~CCommandLineInfo()\n535 CConnectionPoint::~CConnectionPoint()\n536 CControlBar::~CControlBar()\n537 CCtrlView::~CCtrlView()\n538 CDatabase::~CDatabase()\n539 CDataSourceControl::~CDataSourceControl()\n540 CDateTimeCtrl::~CDateTimeCtrl()\n541 CDBException::~CDBException()\n542 CDBVariant::~CDBVariant()\n543 CDC::~CDC()\n544 CDHtmlControlSink::~CDHtmlControlSink()\n545 CDHtmlDialog::~CDHtmlDialog()\n546 CDialog::~CDialog()\n547 CDialogBar::~CDialogBar()\n548 CDialogTemplate::~CDialogTemplate()\n549 CDocItem::~CDocItem()\n550 CDockBar::~CDockBar()\n551 CDockContext::~CDockContext()\n552 CDockState::~CDockState()\n553 CDocManager::~CDocManager()\n554 CDocObjectServer::~CDocObjectServer()\n555 CDocObjectServerItem::~CDocObjectServerItem()\n556 CDocTemplate::~CDocTemplate()\n557 CDocument::~CDocument()\n558 CDragListBox::~CDragListBox()\n559 CDWordArray::~CDWordArray()\n560 CDynLinkLibrary::~CDynLinkLibrary()\n561 CEdit::~CEdit()\n562 CEditView::~CEditView()\n563 CEnumArray::~CEnumArray()\n564 CEnumConnections::~CEnumConnections()\n565 CEnumConnPoints::~CEnumConnPoints()\n566 CEnumFormatEtc::~CEnumFormatEtc()\n567 CEnumOleVerb::~CEnumOleVerb()\n568 CEnumUnknown::~CEnumUnknown()\n569 CEvent::~CEvent()\n570 CFile::~CFile()\n571 CFileDialog::~CFileDialog()\n572 CFileFind::~CFileFind()\n573 CFixedAlloc::~CFixedAlloc()\n574 CFixedAllocNoSync::~CFixedAllocNoSync()\n575 CFontHolder::~CFontHolder()\n576 CFrameWnd::~CFrameWnd()\n577 CFtpConnection::~CFtpConnection()\n578 CFtpFileFind::~CFtpFileFind()\n579 CGopherConnection::~CGopherConnection()\n580 CGopherFile::~CGopherFile()\n581 CGopherFileFind::~CGopherFileFind()\n582 CGopherLocator::~CGopherLocator()\n583 CHeaderCtrl::~CHeaderCtrl()\n584 CHotKeyCtrl::~CHotKeyCtrl()\n585 CHtmlControlSite::~CHtmlControlSite()\n586 CHtmlEditCtrl::~CHtmlEditCtrl()\n587 CHtmlEditDoc::~CHtmlEditDoc()\n588 CHtmlEditView::~CHtmlEditView()\n589 CHtmlView::~CHtmlView()\n590 CHttpConnection::~CHttpConnection()\n591 CHttpFile::~CHttpFile()\n592 CImageList::~CImageList()\n593 CInternetConnection::~CInternetConnection()\n594 CInternetException::~CInternetException()\n595 CInternetFile::~CInternetFile()\n596 CInternetSession::~CInternetSession()\n597 CIPAddressCtrl::~CIPAddressCtrl()\n598 CListBox::~CListBox()\n599 CListCtrl::~CListCtrl()\n600 CLongBinary::~CLongBinary()\n601 CMapPtrToPtr::~CMapPtrToPtr()\n602 CMapPtrToWord::~CMapPtrToWord()\n603 CMapStringToOb::~CMapStringToOb()\n604 CMapStringToPtr::~CMapStringToPtr()\n605 CMapStringToString::~CMapStringToString()\n606 CMapWordToOb::~CMapWordToOb()\n607 CMapWordToPtr::~CMapWordToPtr()\n608 CMemFile::~CMemFile()\n609 CMetaFileDC::~CMetaFileDC()\n610 CMiniFrameWnd::~CMiniFrameWnd()\n611 CMonikerFile::~CMonikerFile()\n612 CMonthCalCtrl::~CMonthCalCtrl()\n613 CMultiDocTemplate::~CMultiDocTemplate()\n614 CMultiLock::~CMultiLock()\n615 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n616 CMutex::~CMutex()\n617 CObArray::~CObArray()\n618 CObList::~CObList()\n619 COleBusyDialog::~COleBusyDialog()\n620 COleChangeIconDialog::~COleChangeIconDialog()\n621 COleChangeSourceDialog::~COleChangeSourceDialog()\n622 COleClientItem::~COleClientItem()\n623 COleCntrFrameWnd::~COleCntrFrameWnd()\n624 COleControl::~COleControl()\n625 COleControlContainer::~COleControlContainer()\n626 COleControlLock::~COleControlLock()\n627 COleControlSite::~COleControlSite()\n628 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n629 COleConvertDialog::~COleConvertDialog()\n630 COleDataSource::~COleDataSource()\n631 COleDispatchException::~COleDispatchException()\n632 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n633 COleDocObjectItem::~COleDocObjectItem()\n634 COleDocument::~COleDocument()\n635 COleDropTarget::~COleDropTarget()\n636 COleFrameHook::~COleFrameHook()\n637 COleInsertDialog::~COleInsertDialog()\n638 COleIPFrameWnd::~COleIPFrameWnd()\n639 COleLinkingDoc::~COleLinkingDoc()\n640 COleLinksDialog::~COleLinksDialog()\n641 COleMessageFilter::~COleMessageFilter()\n642 COleObjectFactory::~COleObjectFactory()\n643 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n644 COlePropertyPage::~COlePropertyPage()\n645 COleResizeBar::~COleResizeBar()\n646 COleServerDoc::~COleServerDoc()\n647 COleServerItem::~COleServerItem()\n648 COleStreamFile::~COleStreamFile()\n649 COleUpdateDialog::~COleUpdateDialog()\n650 CPaintDC::~CPaintDC()\n651 CPictureHolder::~CPictureHolder()\n652 CPreviewDC::~CPreviewDC()\n653 CPreviewView::~CPreviewView()\n654 CPrintInfo::~CPrintInfo()\n655 CProcessLocalObject::~CProcessLocalObject()\n656 CProgressCtrl::~CProgressCtrl()\n657 CPropbagPropExchange::~CPropbagPropExchange()\n658 CProperty::~CProperty()\n659 CPropertyPage::~CPropertyPage()\n660 CPropertySection::~CPropertySection()\n661 CPropertySet::~CPropertySet()\n662 CPropertySheet::~CPropertySheet()\n663 CPtrArray::~CPtrArray()\n664 CPtrList::~CPtrList()\n665 CRecentFileList::~CRecentFileList()\n666 CRecordset::~CRecordset()\n667 CRecordView::~CRecordView()\n668 CRectTracker::~CRectTracker()\n669 CReObject::~CReObject()\n670 CRichEditCntrItem::~CRichEditCntrItem()\n671 CRichEditCtrl::~CRichEditCtrl()\n672 CScrollBar::~CScrollBar()\n673 CScrollView::~CScrollView()\n674 CSemaphore::~CSemaphore()\n675 CSharedFile::~CSharedFile()\n676 CSingleDocTemplate::~CSingleDocTemplate()\n677 CSliderCtrl::~CSliderCtrl()\n678 CSocket::~CSocket()\n679 CSocketFile::~CSocketFile()\n680 CSpinButtonCtrl::~CSpinButtonCtrl()\n681 CSplitterWnd::~CSplitterWnd()\n682 CStatic::~CStatic()\n683 CStatusBar::~CStatusBar()\n684 CStatusBarCtrl::~CStatusBarCtrl()\n685 CStdioFile::~CStdioFile()\n686 CStringArray::~CStringArray()\n687 CStringList::~CStringList()\n688 CSyncObject::~CSyncObject()\n689 CTabCtrl::~CTabCtrl()\n690 CThreadLocalObject::~CThreadLocalObject()\n691 CThreadSlotData::~CThreadSlotData()\n692 CToolBar::~CToolBar()\n693 CToolBarCtrl::~CToolBarCtrl()\n694 CToolTipCtrl::~CToolTipCtrl()\n695 CTreeCtrl::~CTreeCtrl()\n696 CUIntArray::~CUIntArray()\n697 CView::~CView()\n698 CWinApp::~CWinApp()\n699 CWindowDC::~CWindowDC()\n700 CWinThread::~CWinThread()\n701 CWnd::~CWnd()\n702 CWordArray::~CWordArray()\n703 void * operator new(unsigned int)\n704 void * CNoTrackObject::operator new(unsigned int)\n705 void operator delete(void *)\n706 void CNoTrackObject::operator delete(void *)\n707 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n708 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n709 COleCurrency const & COleCurrency::operator=(union tagCY)\n710 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n711 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n712 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n713 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n714 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n715 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n716 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n717 COleVariant const & COleVariant::operator=(COleVariant const &)\n718 COleVariant const & COleVariant::operator=(CByteArray const &)\n719 COleVariant const & COleVariant::operator=(CLongBinary const &)\n720 COleVariant const & COleVariant::operator=(COleCurrency const &)\n721 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n722 COleVariant const & COleVariant::operator=(unsigned char)\n723 COleVariant const & COleVariant::operator=(short)\n724 COleVariant const & COleVariant::operator=(long)\n725 COleVariant const & COleVariant::operator=(float)\n726 COleVariant const & COleVariant::operator=(double)\n727 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n728 COleVariant const & COleVariant::operator=(wchar_t const * const)\n729 CArchive & operator>>(CArchive &,CByteArray * &)\n730 CArchive & operator>>(CArchive &,CDocItem * &)\n731 CArchive & operator>>(CArchive &,CDockState * &)\n732 CArchive & operator>>(CArchive &,CDWordArray * &)\n733 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n734 CArchive & operator>>(CArchive &,CMapStringToString * &)\n735 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n736 CArchive & operator>>(CArchive &,CObArray * &)\n737 CArchive & operator>>(CArchive &,CObList * &)\n738 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n739 CArchive & operator>>(CArchive &,CStringArray * &)\n740 CArchive & operator>>(CArchive &,CStringList * &)\n741 CArchive & operator>>(CArchive &,CWordArray * &)\n742 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n743 CArchive & operator>>(CArchive &,COleCurrency &)\n744 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n745 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n746 CArchive & operator>>(CArchive &,COleVariant &)\n747 CArchive & operator>>(CArchive &,ATL::CTime &)\n748 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n749 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n750 CArchive & operator<<(CArchive &,COleCurrency)\n751 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n752 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n753 CArchive & operator<<(CArchive &,COleVariant)\n754 CArchive & operator<<(CArchive &,ATL::CTime)\n755 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n756 CDumpContext & CDumpContext::operator<<(__int64)\n757 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n758 CDumpContext & CDumpContext::operator<<(CObject const &)\n759 CDumpContext & CDumpContext::operator<<(unsigned char)\n760 CDumpContext & CDumpContext::operator<<(unsigned short)\n761 CDumpContext & CDumpContext::operator<<(int)\n762 CDumpContext & CDumpContext::operator<<(unsigned int)\n763 CDumpContext & CDumpContext::operator<<(long)\n764 CDumpContext & CDumpContext::operator<<(unsigned long)\n765 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n766 CDumpContext & CDumpContext::operator<<(HDC__ *)\n767 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n768 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n769 CDumpContext & CDumpContext::operator<<(HWND__ *)\n770 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n771 CDumpContext & CDumpContext::operator<<(char const *)\n772 CDumpContext & CDumpContext::operator<<(CObject const *)\n773 CDumpContext & CDumpContext::operator<<(void const *)\n774 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n775 int COleSafeArray::operator==(tagVARIANT const &)const \n776 int COleSafeArray::operator==(COleSafeArray const &)const \n777 int COleSafeArray::operator==(COleVariant const &)const \n778 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n779 int COleSafeArray::operator==(tagVARIANT const *)const \n780 int COleVariant::operator==(tagVARIANT const &)const \n781 void * & CMapPtrToPtr::operator[](void *)\n782 unsigned short & CMapPtrToWord::operator[](void *)\n783 CObject * & CMapStringToOb::operator[](wchar_t const *)\n784 void * & CMapStringToPtr::operator[](wchar_t const *)\n785 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n786 CObject * & CMapWordToOb::operator[](unsigned short)\n787 void * & CMapWordToPtr::operator[](unsigned short)\n788 COleCurrency COleCurrency::operator*(long)const \n789 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n790 COleCurrency COleCurrency::operator-()const \n791 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n792 COleCurrency COleCurrency::operator/(long)const \n793 int COleCurrency::operator<(COleCurrency const &)const \n794 int COleCurrency::operator<=(COleCurrency const &)const \n795 int COleCurrency::operator>(COleCurrency const &)const \n796 int COleCurrency::operator>=(COleCurrency const &)const \n797 int _AfxDeleteRegKey(wchar_t const *)\n798 int _AfxSocketInit(WSAData *)\n799 void CArchive::Abort()\n800 void CFile::Abort()\n801 void CInternetFile::Abort()\n802 void CMemFile::Abort()\n803 void CMirrorFile::Abort()\n804 void COleStreamFile::Abort()\n805 void CSocketFile::Abort()\n806 void CStdioFile::Abort()\n807 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n808 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n809 long CWnd::accDoDefaultAction(tagVARIANT)\n810 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n811 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n812 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n813 void COleSafeArray::AccessData(void * *)\n814 long CWnd::accHitTest(long,long,tagVARIANT *)\n815 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n816 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n817 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n818 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n819 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n820 long CWnd::accSelect(long,tagVARIANT)\n821 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n822 void COleClientItem::Activate(long,CView *,tagMSG *)\n823 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n824 void COleDocObjectItem::ActivateAndShow()\n825 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n826 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n827 void CDocObjectServer::ActivateDocObject()\n828 void COleServerDoc::ActivateDocObject()\n829 void CFrameWnd::ActivateFrame(int)\n830 void CMDIChildWnd::ActivateFrame(int)\n831 int COleServerDoc::ActivateInPlace()\n832 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n833 void CSplitterWnd::ActivateNext(int)\n834 void CWnd::ActivateTopParent()\n835 void CRecentFileList::Add(wchar_t const *)\n836 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n837 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n838 int CToolBarCtrl::AddBitmap(int,unsigned int)\n839 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n840 void COleClientItem::AddCachedData(COleDataSource *)\n841 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n842 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n843 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n844 void CDocManager::AddDocTemplate(CDocTemplate *)\n845 void CWinApp::AddDocTemplate(CDocTemplate *)\n846 void CDocTemplate::AddDocument(CDocument *)\n847 void CMultiDocTemplate::AddDocument(CDocument *)\n848 void CSingleDocTemplate::AddDocument(CDocument *)\n849 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n850 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n851 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n852 void COleControl::AddFrameLevelUI()\n853 void CFrameWnd::AddFrameWnd()\n854 __POSITION * CObList::AddHead(CObject *)\n855 void CObList::AddHead(CObList *)\n856 __POSITION * CPtrList::AddHead(void *)\n857 void CPtrList::AddHead(CPtrList *)\n858 void CSimpleList::AddHead(void *)\n859 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n860 __POSITION * CStringList::AddHead(wchar_t const *)\n861 void CStringList::AddHead(CStringList *)\n862 void COleDocument::AddItem(CDocItem *)\n863 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n864 void CRecordset::AddNew()\n865 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n866 void CPropertySheet::AddPage(CPropertyPage *)\n867 void CPropertySection::AddProperty(CProperty *)\n868 void CPropertySet::AddProperty(_GUID,CProperty *)\n869 unsigned long CArchiveStream::AddRef()\n870 unsigned long CBlobProperty::AddRef()\n871 unsigned long CBrowserControlSite::AddRef()\n872 unsigned long CDHtmlControlSink::AddRef()\n873 unsigned long CDHtmlElementEventSink::AddRef()\n874 unsigned long CDHtmlEventSink::AddRef()\n875 unsigned long CInnerUnknown::AddRef()\n876 unsigned long COleConnPtContainer::AddRef()\n877 unsigned long COleDispatchImpl::AddRef()\n878 unsigned long COleUILinkInfo::AddRef()\n879 unsigned long CPrintDialogEx::AddRef()\n880 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n881 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n882 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n883 CPropertySection * CPropertySet::AddSection(_GUID)\n884 void CPropertySet::AddSection(CPropertySection *)\n885 void COlePasteSpecialDialog::AddStandardFormats(int)\n886 int CToolBarCtrl::AddString(unsigned int)\n887 __POSITION * CObList::AddTail(CObject *)\n888 void CObList::AddTail(CObList *)\n889 __POSITION * CPtrList::AddTail(void *)\n890 void CPtrList::AddTail(CPtrList *)\n891 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n892 __POSITION * CStringList::AddTail(wchar_t const *)\n893 void CStringList::AddTail(CStringList *)\n894 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n895 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n896 void CWinApp::AddToRecentFileList(wchar_t const *)\n897 void CDocument::AddView(CView *)\n898 void CMetaFileDC::AdjustCP(int)\n899 void CRichEditView::AdjustDialogPosition(CDialog *)\n900 void CRectTracker::AdjustRect(int,tagRECT *)\n901 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n902 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n903 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n904 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n905 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n906 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n907 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n908 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n909 void AfxAbort()\n914 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n915 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n916 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n917 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n918 void AfxCancelModes(HWND__ *)\n919 void AfxCheckError(long)\n920 void AfxClassInit(CRuntime*)\n921 int AfxComparePath(wchar_t const *,wchar_t const *)\n922 int AfxCompareValueByRef(void *,void *,int)\n923 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n924 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n925 void AfxCopyValueByRef(void *,void *,long *,int)\n926 void AfxCoreInitModule()\n927 HDC__ * AfxCreateDC(void *,void *)\n928 int AfxCriticalInit()\n929 int AfxCriticalNewHandler(unsigned int)\n930 void AfxCriticalTerm()\n931 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n932 AUX_DATA afxData\n933 void AfxDeleteObject(void * *)\n934 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n935 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n936 long AfxDllCanUnloadNow()\n937 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n938 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n939 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n940 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n941 void AfxEditviewTerm()\n942 void AfxEnableControlContainer(COccManager *)\n943 int AfxEndDeferRegisterClass(long)\n944 void AfxEndThread(unsigned int,int)\n945 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n946 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n947 void AfxFailMaxChars(CDataExchange *,int)\n948 void AfxFailRadio(CDataExchange *)\n949 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n950 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n951 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n952 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n953 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n954 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n955 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n956 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n957 int AfxFreeLibrary(HINSTANCE__ *)\n958 int AfxFullPath(wchar_t *,wchar_t const *)\n959 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n960 AFX_MODULE_STATE * AfxGetAppModuleState()\n961 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n962 tagMSG * AfxGetCurrentMessage()\n963 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n964 unsigned long AfxGetDllVersion()\n965 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n966 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n967 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n968 void * AfxGetHENV()\n969 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n970 unsigned long AfxGetInternetHandleType(void *)\n971 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n972 AFX_MODULE_STATE * AfxGetModuleState()\n973 int (__cdecl*AfxGetNewHandler())(unsigned int)\n974 HWND__ * AfxGetParentOwner(HWND__ *)\n975 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n976 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n977 ATL::IAtlStringMgr * AfxGetStringManager()\n978 CWinThread * AfxGetThread()\n979 _AFX_THREAD_STATE * AfxGetThreadState()\n980 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n981 void AfxGlobalFree(void *)\n982 int AfxHelpEnabled()\n983 void AfxHookWindowCreate(CWnd *)\n984 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n985 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n986 void AfxInitLocalData(HINSTANCE__ *)\n987 int AfxInitRichEdit()\n988 void AfxInitThread()\n989 int AfxInternalIsIdleMessage(tagMSG *)\n990 int AfxInternalPreTranslateMessage(tagMSG *)\n991 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n992 int AfxInternalPumpMessage()\n993 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n994 int AfxIsDescendant(HWND__ *,HWND__ *)\n995 int AfxIsIdleMessage(tagMSG *)\n996 int AfxIsValidAddress(void const *,unsigned int,int)\n997 int AfxIsValidString(wchar_t const *,int)\n998 int AfxIsValidString(char const *,int)\n999 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1000 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1001 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1002 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1003 int AfxLoadString(unsigned int,char *,unsigned int)\n1004 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1005 void AfxLockGlobals(int)\n1006 void AfxLockTempMaps()\n1007 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1008 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1009 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1010 int AfxOleCanExitApp()\n1011 int AfxOleGetUserCtrl()\n1012 int AfxOleInit()\n1013 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1014 void AfxOleLockApp()\n1015 int AfxOleLockControl(_GUID const &)\n1016 int AfxOleLockControl(wchar_t const *)\n1017 void AfxOleOnReleaseAllObjects()\n1018 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1019 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1020 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1021 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1022 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1023 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1024 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1025 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1026 void AfxOleSetUserCtrl(int)\n1027 void AfxOleTerm(int)\n1028 void AfxOleTermOrFreeLib(int,int)\n1029 void AfxOleUnlockAllControls()\n1030 void AfxOleUnlockApp()\n1031 int AfxOleUnlockControl(_GUID const &)\n1032 int AfxOleUnlockControl(wchar_t const *)\n1033 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1034 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1035 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1036 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1037 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1038 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1039 void AfxPostQuitMessage(int)\n1040 int AfxPreTranslateMessage(tagMSG *)\n1041 long AfxProcessWndProcException(CException *,tagMSG const *)\n1042 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1043 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1044 int AfxPumpMessage()\n1045 unsigned int AfxReadStringLength(CArchive &,int &)\n1046 int AfxRegisterClass(tagWNDCLASSW *)\n1047 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1048 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1049 void AfxResetMsgCache()\n1050 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1051 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1052 void AfxSafeArrayInit(COleSafeArray *)\n1053 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1054 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1055 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1056 void AfxSocketTerm()\n1057 void AfxStoreField(CRecordset &,unsigned int,void *)\n1058 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1059 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1060 void AfxTermLocalData(HINSTANCE__ *,int)\n1061 void AfxTermThread(HINSTANCE__ *)\n1062 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1063 void AfxThrowArchiveException(int,wchar_t const *)\n1064 void AfxThrowDBException(short,CDatabase *,void *)\n1065 void AfxThrowFileException(int,long,wchar_t const *)\n1066 void AfxThrowInternetException(unsigned long,unsigned long)\n1067 void AfxThrowLastCleanup()\n1068 void AfxThrowMemoryException()\n1069 void AfxThrowNotSupportedException()\n1070 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1071 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1072 void AfxThrowOleException(long)\n1073 void AfxThrowResourceException()\n1074 void AfxThrowUserException()\n1075 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1076 void AfxTlsAddRef()\n1077 void AfxTlsRelease()\n1078 void AfxTrackerTerm()\n1079 void AfxTryCleanup()\n1080 int AfxUnhookWindowCreate()\n1081 void AfxUnlockGlobals(int)\n1082 int AfxUnlockTempMaps(int)\n1083 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1084 void AfxVariantInit(tagVARIANT *)\n1085 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1086 char * AfxW2AHelper(char *,wchar_t const *,int)\n1087 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1088 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1089 void AfxWinTerm()\n1090 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1091 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1092 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1093 void * CFixedAlloc::Alloc()\n1094 void * CFixedAllocNoSync::Alloc()\n1095 unsigned char * CMemFile::Alloc(unsigned long)\n1096 unsigned char * CSharedFile::Alloc(unsigned long)\n1097 void CRecordset::AllocAndCacheFieldInfo()\n1098 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1099 void CDatabase::AllocConnect(unsigned long)\n1100 void COleSafeArray::AllocData()\n1101 void CRecordset::AllocDataCache()\n1102 void COleSafeArray::AllocDescriptor(unsigned long)\n1103 int CControlBar::AllocElements(int,int)\n1104 int CStatusBar::AllocElements(int,int)\n1105 int CRecordset::AllocHstmt()\n1106 void CPropertyPage::AllocPSP(unsigned long)\n1107 void CRecordset::AllocRowset()\n1108 int CThreadSlotData::AllocSlot()\n1109 void CRecordset::AllocStatusArrays()\n1110 void * CProperty::AllocValue(unsigned long)\n1111 short COleControl::AmbientAppearance()\n1112 unsigned long COleControl::AmbientBackColor()\n1113 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1114 IFontDisp * COleControl::AmbientFont()\n1115 unsigned long COleControl::AmbientForeColor()\n1116 unsigned long COleControl::AmbientLocaleID()\n1117 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1118 int COleControl::AmbientShowGrabHandles()\n1119 int COleControl::AmbientShowHatching()\n1120 short COleControl::AmbientTextAlign()\n1121 int COleControl::AmbientUIDead()\n1122 int COleControl::AmbientUserMode()\n1123 int CByteArray::Append(CByteArray const &)\n1124 int CDWordArray::Append(CDWordArray const &)\n1125 int CObArray::Append(CObArray const &)\n1126 int CPtrArray::Append(CPtrArray const &)\n1127 int CStringArray::Append(CStringArray const &)\n1128 int CUIntArray::Append(CUIntArray const &)\n1129 int CWordArray::Append(CWordArray const &)\n1130 void CRecordset::AppendFilterAndSortSQL()\n1131 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1132 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1133 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1134 long COlePropertyPage::XPropertyPage::Apply()\n1135 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1136 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1137 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1138 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1139 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1140 int CAsyncSocket::AsyncSelect(long)\n1141 int CAsyncSocket::Attach(unsigned int,long)\n1142 int CDC::Attach(HDC__ *)\n1143 int CGdiObject::Attach(void *)\n1144 int CImageList::Attach(_IMAGELIST *)\n1145 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1146 int CMenu::Attach(HMENU__ *)\n1147 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1148 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1149 void COleDataObject::Attach(IDataObject *,int)\n1150 void COleSafeArray::Attach(tagVARIANT &)\n1151 void COleStreamFile::Attach(IStream *)\n1152 void COleVariant::Attach(tagVARIANT &)\n1153 int CWnd::Attach(HWND__ *)\n1154 int COleDataObject::AttachClipboard()\n1155 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1156 void CWnd::AttachControlSite(CHandleMap *)\n1157 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1158 void COleClientItem::AttachDataObject(COleDataObject &)const \n1159 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1160 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1161 CPrintDialog * CPrintDialog::AttachOnSetup()\n1162 void COleControlSite::AttachWindow()\n1163 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1164 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1165 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1166 void COleMessageFilter::BeginBusyState()\n1167 int CDragListBox::BeginDrag(CPoint)\n1168 void COleDataObject::BeginEnumFormats()\n1169 void CFrameWnd::BeginModalState()\n1170 int CDatabase::BeginTrans()\n1171 void CCmdTarget::BeginWaitCursor()\n1172 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1173 void CDataSourceControl::BindColumns()\n1174 void COccManager::BindControls(CWnd *)\n1175 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1176 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1177 void CRecordset::BindFieldsForUpdate()\n1178 unsigned int CRecordset::BindFieldsToColumns()\n1179 void CDatabase::BindParameters(void *)\n1180 unsigned int CRecordset::BindParams(void *)\n1181 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1182 void CDataSourceControl::BindProp(COleControlSite *,int)\n1183 void COleControlSite::BindProperty(long,CWnd *)\n1184 void CWnd::BindProperty(long,CWnd *)\n1185 void COleControl::BoundPropertyChanged(long)\n1186 int COleControl::BoundPropertyRequestEdit(long)\n1187 void CFrameWnd::BringToTop(int)\n1188 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1189 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1190 void CPropertySheet::BuildPropPageArray()\n1191 void CRecordset::BuildSelectSQL()\n1192 int COleControl::BuildSharedMenu()\n1193 int COleDocIPFrameWnd::BuildSharedMenu()\n1194 int COleIPFrameWnd::BuildSharedMenu()\n1195 void CRecordset::BuildSQL(wchar_t const *)\n1196 void CRecordset::BuildUpdateSQL()\n1197 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1198 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1199 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1200 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1201 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1202 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1203 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1204 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1205 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1206 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1207 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1208 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1209 CSize CControlBar::CalcFixedLayout(int,int)\n1210 CSize CDialogBar::CalcFixedLayout(int,int)\n1211 CSize CDockBar::CalcFixedLayout(int,int)\n1212 CSize CReBar::CalcFixedLayout(int,int)\n1213 CSize CStatusBar::CalcFixedLayout(int,int)\n1214 CSize CToolBar::CalcFixedLayout(int,int)\n1215 void CControlBar::CalcInsideRect(CRect &,int)const \n1216 void CStatusBar::CalcInsideRect(CRect &,int)const \n1217 CSize CToolBar::CalcLayout(unsigned long,int)\n1218 int CCheckListBox::CalcMinimumItemHeight()\n1219 CSize CPreviewView::CalcPageDisplaySize()\n1220 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1221 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1222 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1223 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1224 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1225 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1226 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1227 int CDHtmlDialog::CanAccessExternal()\n1228 int COleClientItem::CanActivate()\n1229 int CRichEditCntrItem::CanActivate()\n1230 int CSplitterWnd::CanActivateNext(int)\n1231 int CRecordset::CanBookmark()const \n1232 void CDatabase::Cancel()\n1233 void CRecordset::Cancel()\n1234 void CSocket::CancelBlockingCall()\n1235 void CDragListBox::CancelDrag(CPoint)\n1236 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1237 long COleUILinkInfo::CancelLink(unsigned long)\n1238 void CDockContext::CancelLoop()\n1239 void CPropertyPage::CancelToClose()\n1240 void CWnd::CancelToolTips(int)\n1241 void CRecordset::CancelUpdate()\n1242 int CDocument::CanCloseFrame(CFrameWnd *)\n1243 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1244 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1245 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1246 unsigned long CDockContext::CanDock()\n1247 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1248 int CFrameWnd::CanEnterHelpMode()\n1249 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1250 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1251 int COleClientItem::CanPaste()\n1252 int CRichEditCtrl::CanPaste(unsigned int)const \n1253 int CRichEditView::CanPaste()const \n1254 int COleClientItem::CanPasteLink()\n1255 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1256 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1257 void CScrollView::CenterOnPoint(CPoint)\n1258 void CWnd::CenterWindow(CWnd *)\n1259 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1260 int CListBox::CharToItem(unsigned int,unsigned int)\n1261 int CDatabase::Check(short)const \n1262 int CRecordset::Check(short)const \n1263 int CDialog::CheckAutoCenter()\n1264 int CWnd::CheckAutoCenter()\n1265 void CArchive::CheckCount()\n1266 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1267 void CWnd::CheckDlgButton(int,unsigned int)\n1268 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1269 void COleClientItem::CheckGeneral(long)\n1270 int CDatabase::CheckHstmt(short,void *)const \n1271 void COleControlContainer::CheckRadioButton(int,int,int)\n1272 void CWnd::CheckRadioButton(int,int,int)\n1273 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1274 void CRecordset::CheckRowsetError(short)\n1275 void CScrollView::CheckScrollBars(int &,int &)const \n1276 void CPropertyPage::Cleanup()\n1277 void COlePropertyPage::CleanupObjectArray()\n1278 void CDBVariant::Clear()\n1279 void CDockState::Clear()\n1280 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1281 void CRecordset::ClearFieldStatus()\n1282 void CRecordset::ClearNullFieldStatus(unsigned long)\n1283 void CRecordset::ClearNullParamStatus(unsigned long)\n1284 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1285 void CWnd::ClientToScreen(tagRECT *)const \n1286 int COleControl::ClipCaretRect(tagRECT *)\n1287 void CPreviewDC::ClipToPage()\n1288 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1289 long CArchiveStream::Clone(IStream * *)\n1290 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1291 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1292 void CArchive::Close()\n1293 void CAsyncMonikerFile::Close()\n1294 void CAsyncSocket::Close()\n1295 void CCachedDataPathProperty::Close()\n1296 void CDatabase::Close()\n1297 void CFile::Close()\n1298 void CFileFind::Close()\n1299 void CInternetConnection::Close()\n1300 void CInternetFile::Close()\n1301 void CInternetSession::Close()\n1302 void CMemFile::Close()\n1303 void CMirrorFile::Close()\n1304 void CMonikerFile::Close()\n1305 void COleClientItem::Close(enum tagOLECLOSE)\n1306 void COleStreamFile::Close()\n1307 void CRecordset::Close()\n1308 void CSocket::Close()\n1309 void CSocketFile::Close()\n1310 void CStdioFile::Close()\n1311 long CDocObjectServer::XOleObject::Close(unsigned long)\n1312 long COleControl::XOleObject::Close(unsigned long)\n1313 long COleServerDoc::XOleObject::Close(unsigned long)\n1314 long COleServerItem::XOleObject::Close(unsigned long)\n1315 void CDocManager::CloseAllDocuments(int)\n1316 void CDocTemplate::CloseAllDocuments(int)\n1317 void CWinApp::CloseAllDocuments(int)\n1318 void CFileFind::CloseContext()\n1319 void CFtpFileFind::CloseContext()\n1320 void CGopherFileFind::CloseContext()\n1321 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1322 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1323 int CStatusBar::CommandToIndex(unsigned int)const \n1324 int CToolBar::CommandToIndex(unsigned int)const \n1325 long CArchiveStream::Commit(unsigned long)\n1326 void COleClientItem::CommitItem(int)\n1327 void COleDocument::CommitItems(int,IStorage *)\n1328 int CDatabase::CommitTrans()\n1329 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n1330 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n1331 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1332 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1333 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1334 void CWinThread::CommonConstruct()\n1335 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1336 int CListBox::CompareItem(tagCOMPAREITEM*)\n1337 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n1338 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n1339 int CDatabase::Connect(unsigned long)\n1340 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1341 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1342 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1343 int CSocket::ConnectHelper(sockaddr const *,int)\n1344 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1345 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1346 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1347 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1348 void COleServerDoc::ConnectView(CWnd *,CView *)\n1349 void CPropertyPage::Construct(unsigned int,unsigned int)\n1350 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1351 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n1352 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1353 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1354 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1355 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n1356 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1357 void CRectTracker::Construct()\n1358 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1359 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1360 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1361 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1362 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1363 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1364 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1365 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1366 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1367 int CPropertySheet::ContinueModal()\n1368 int CWnd::ContinueModal()\n1369 void COleControl::ControlInfoChanged()\n1370 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1371 int COleClientItem::ConvertTo(_GUID const &)\n1372 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1373 void CByteArray::Copy(CByteArray const &)\n1374 void CDWordArray::Copy(CDWordArray const &)\n1375 void CObArray::Copy(CObArray const &)\n1376 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1377 void CPtrArray::Copy(CPtrArray const &)\n1378 void CStringArray::Copy(CStringArray const &)\n1379 void CUIntArray::Copy(CUIntArray const &)\n1380 void CWordArray::Copy(CWordArray const &)\n1381 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1382 void CopyElements(COleVariant *,COleVariant const *,int)\n1383 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1384 void COleClientItem::CopyToClipboard(int)\n1385 void COleServerItem::CopyToClipboard(int)\n1386 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1387 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n1388 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1389 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1390 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1391 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1392 int CControlFrameWnd::Create(wchar_t const *)\n1393 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1394 int CDialog::Create(wchar_t const *,CWnd *)\n1395 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n1396 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1397 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1398 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n1399 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1400 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n1401 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1402 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1403 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1404 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1405 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1406 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1407 int CImageList::Create(int,int,unsigned int,int,int)\n1408 int CImageList::Create(unsigned int,int,int,unsigned long)\n1409 int CImageList::Create(CImageList *)\n1410 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n1411 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1412 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1413 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1414 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1415 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1416 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1417 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1418 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1419 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1420 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1421 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1422 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1423 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1424 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1425 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1426 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1427 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1428 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1429 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1430 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1431 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1432 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1433 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1434 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1435 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1436 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1437 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1438 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1439 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1440 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1441 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1442 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1443 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1444 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1445 IBindHost * CMonikerFile::CreateBindHost()\n1446 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1447 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n1448 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1449 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1450 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1451 void CConnectionPoint::CreateConnectionArray()\n1452 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1453 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1454 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1455 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1456 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1457 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1458 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1459 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1460 int CWnd::CreateControlContainer(COleControlContainer * *)\n1461 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1462 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1463 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1464 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1465 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1466 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n1467 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1468 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n1469 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n1470 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1471 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1472 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n1473 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n1474 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1475 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1476 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1477 int CPictureHolder::CreateEmpty()\n1478 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1479 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1480 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1481 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1482 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1483 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1484 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1485 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1486 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1487 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1488 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1489 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1490 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1491 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1492 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1493 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1494 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1495 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1496 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1497 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1498 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1499 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1500 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1501 CControlFrameWnd * COleControl::CreateFrameWindow()\n1502 int CPictureHolder::CreateFromBitmap(unsigned int)\n1503 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1504 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1505 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1506 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1507 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1508 int CPictureHolder::CreateFromIcon(unsigned int)\n1509 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1510 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1511 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1512 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1513 int CDialog::CreateIndirect(void *,CWnd *)\n1514 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1515 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1516 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1517 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1518 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1519 int COleInsertDialog::CreateItem(COleClientItem *)\n1520 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1521 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1522 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1523 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1524 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n1525 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n1526 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n1527 int COleStreamFile::CreateMemoryStream(CFileException *)\n1528 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1529 CDocument * CDocTemplate::CreateNewDocument()\n1530 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1531 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1532 CObject * CByteArray::CreateObject()\n1533 CObject * CDC::CreateObject()\n1534 CObject * CDocItem::CreateObject()\n1535 CObject * CDockState::CreateObject()\n1536 CObject * CDWordArray::CreateObject()\n1537 CObject * CEditView::CreateObject()\n1538 CObject * CFrameWnd::CreateObject()\n1539 CObject * CGdiObject::CreateObject()\n1540 CObject * CHtmlEditView::CreateObject()\n1541 CObject * CHtmlView::CreateObject()\n1542 CObject * CImageList::CreateObject()\n1543 CObject * CListView::CreateObject()\n1544 CObject * CMapStringToOb::CreateObject()\n1545 CObject * CMapStringToString::CreateObject()\n1546 CObject * CMapWordToOb::CreateObject()\n1547 CObject * CMDIChildWnd::CreateObject()\n1548 CObject * CMDIFrameWnd::CreateObject()\n1549 CObject * CMenu::CreateObject()\n1550 CObject * CMiniDockFrameWnd::CreateObject()\n1551 CObject * CMiniFrameWnd::CreateObject()\n1552 CObject * CObArray::CreateObject()\n1553 CObject * CObList::CreateObject()\n1554 CObject * COleDocIPFrameWnd::CreateObject()\n1555 CObject * COleIPFrameWnd::CreateObject()\n1556 CObject * CPreviewView::CreateObject()\n1557 CObject * CRichEditCntrItem::CreateObject()\n1558 CObject * CRichEditView::CreateObject()\n1559 CObject * CRuntimeClass::CreateObject()\n1560 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1561 CObject * CRuntimeClass::CreateObject(char const *)\n1562 CObject * CStringArray::CreateObject()\n1563 CObject * CStringList::CreateObject()\n1564 CObject * CTreeView::CreateObject()\n1565 CObject * CWnd::CreateObject()\n1566 CObject * CWordArray::CreateObject()\n1567 void COleControlContainer::CreateOleFont(CFont *)\n1568 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1569 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1570 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1571 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n1572 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n1573 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1574 HDC__ * CPrintDialog::CreatePrinterDC()\n1575 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1576 int CWinApp::CreatePrinterDC(CDC &)\n1577 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1578 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1579 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1580 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1581 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1582 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n1583 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1584 void COleControl::CreateTracker(int,int)\n1585 void COleControl::CreateTracker(int,int,tagRECT const *)\n1586 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1587 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1588 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1589 void COleControl::CreateWindowForSubclassedControl()\n1590 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1591 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1592 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1593 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1594 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n1595 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n1596 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n1597 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n1598 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n1599 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n1600 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n1601 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n1602 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n1603 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n1604 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n1605 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1606 void DDP_PostProcessing(CDataExchange *)\n1607 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n1608 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n1609 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n1610 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n1611 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n1612 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n1613 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n1614 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n1615 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n1616 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n1617 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n1618 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1619 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1620 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1621 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1622 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1623 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1624 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1625 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1626 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1627 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1628 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1629 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1630 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1631 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1632 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1633 void DDX_CBIndex(CDataExchange *,int,int &)\n1634 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1635 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1636 void DDX_Check(CDataExchange *,int,int &)\n1637 void DDX_Control(CDataExchange *,int,CWnd &)\n1638 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1639 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1640 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1641 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1642 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1643 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1644 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n1645 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n1646 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n1647 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n1648 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n1649 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n1650 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n1651 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n1652 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n1653 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n1654 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n1655 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n1656 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1657 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n1658 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n1659 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n1660 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n1661 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n1662 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n1663 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1664 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n1665 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n1666 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n1667 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n1668 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n1669 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n1670 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1671 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1672 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1673 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1674 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1675 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1676 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1677 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1678 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1679 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1680 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1681 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1682 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1683 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1684 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1685 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1686 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1687 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1688 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1689 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1690 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1691 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n1692 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1693 void DDX_LBIndex(CDataExchange *,int,int &)\n1694 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1695 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1696 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1697 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1698 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1699 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1700 void DDX_OCBool(CDataExchange *,int,long,int &)\n1701 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1702 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1703 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1704 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1705 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1706 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1707 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1708 void DDX_OCInt(CDataExchange *,int,long,int &)\n1709 void DDX_OCInt(CDataExchange *,int,long,long &)\n1710 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1711 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1712 void DDX_OCShort(CDataExchange *,int,long,short &)\n1713 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1714 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1715 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1716 void DDX_Radio(CDataExchange *,int,int &)\n1717 void DDX_Scroll(CDataExchange *,int,int &)\n1718 void DDX_Slider(CDataExchange *,int,int &)\n1719 void DDX_Text(CDataExchange *,int,__int64 &)\n1720 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1721 void DDX_Text(CDataExchange *,int,unsigned char &)\n1722 void DDX_Text(CDataExchange *,int,short &)\n1723 void DDX_Text(CDataExchange *,int,int &)\n1724 void DDX_Text(CDataExchange *,int,unsigned int &)\n1725 void DDX_Text(CDataExchange *,int,long &)\n1726 void DDX_Text(CDataExchange *,int,unsigned long &)\n1727 void DDX_Text(CDataExchange *,int,float &)\n1728 void DDX_Text(CDataExchange *,int,double &)\n1729 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1730 void DDX_Text(CDataExchange *,int,_GUID &)\n1731 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1732 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1733 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1734 void DDX_Text(CDataExchange *,int,tagDEC &)\n1735 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1736 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1737 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1738 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n1739 void COleClientItem::Deactivate()\n1740 long COlePropertyPage::XPropertyPage::Deactivate()\n1741 int COleServerDoc::DeactivateAndUndo()\n1742 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1743 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1744 void COleClientItem::DeactivateUI()\n1745 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n1746 long CWnd::Default()\n1747 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1748 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1749 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n1750 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n1751 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1752 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1753 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1754 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1755 void CControlBar::DelayShow(int)\n1756 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1757 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1758 void CException::Delete()\n1759 void COleClientItem::Delete(int)\n1760 void CRecordset::Delete()\n1761 void CWinThread::Delete()\n1762 void CSplitterWnd::DeleteColumn(int)\n1763 void CDocument::DeleteContents()\n1764 void CEditView::DeleteContents()\n1765 void CHtmlEditDoc::DeleteContents()\n1766 void COleDocument::DeleteContents()\n1767 void COleServerDoc::DeleteContents()\n1768 void CRichEditDoc::DeleteContents()\n1769 void CRichEditView::DeleteContents()\n1770 int CDC::DeleteDC()\n1771 int CImageList::DeleteImageList()\n1772 void CComboBox::DeleteItem(tagDELETEITEM*)\n1773 int CComboBoxEx::DeleteItem(int)\n1774 void CListBox::DeleteItem(tagDELETEITEM*)\n1775 int CGdiObject::DeleteObject()\n1776 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1777 void CSplitterWnd::DeleteRow(int)\n1778 void CHandleMap::DeleteTemp()\n1779 void CDC::DeleteTempMap()\n1780 void CGdiObject::DeleteTempMap()\n1781 void CImageList::DeleteTempMap()\n1782 void CMenu::DeleteTempMap()\n1783 void CWnd::DeleteTempMap()\n1784 void CRichEditDoc::DeleteUnmarkedItems()const \n1785 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1786 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1787 void CSplitterWnd::DeleteView(int,int)\n1788 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1789 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1790 void COleSafeArray::Destroy()\n1791 int COleControlSite::DestroyControl()\n1792 void COleSafeArray::DestroyData()\n1793 void COleSafeArray::DestroyDescriptor()\n1794 void CFrameWnd::DestroyDockBars()\n1795 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1796 int CMenu::DestroyMenu()\n1797 void CDHtmlDialog::DestroyModeless()\n1798 void COleControl::DestroySharedMenu()\n1799 void COleDocIPFrameWnd::DestroySharedMenu()\n1800 void COleIPFrameWnd::DestroySharedMenu()\n1801 int CToolTipCtrl::DestroyToolTipCtrl()\n1802 void COleControl::DestroyTracker()\n1803 int CControlBar::DestroyWindow()\n1804 int CMDIChildWnd::DestroyWindow()\n1805 int CWnd::DestroyWindow()\n1806 unsigned int CAsyncSocket::Detach()\n1807 HDC__ * CDC::Detach()\n1808 void * CDialogTemplate::Detach()\n1809 void * CGdiObject::Detach()\n1810 _IMAGELIST * CImageList::Detach()\n1811 unsigned char * CMemFile::Detach()\n1812 HMENU__ * CMenu::Detach()\n1813 int CMonikerFile::Detach(CFileException *)\n1814 IDataObject * COleDataObject::Detach()\n1815 tagVARIANT COleSafeArray::Detach()\n1816 IStream * COleStreamFile::Detach()\n1817 tagVARIANT COleVariant::Detach()\n1818 void * CSharedFile::Detach()\n1819 HDC__ * CWindowlessDC::Detach()\n1820 HWND__ * CWnd::Detach()\n1821 IDispatch * COleDispatchDriver::DetachDispatch()\n1822 void CAsyncSocket::DetachHandle(unsigned int,int)\n1823 void COleControlSite::DetachWindow()\n1824 void CWinApp::DevModeChange(wchar_t *)\n1825 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1826 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1827 int COleServerDoc::DiscardUndoState()\n1828 long COleClientItem::XOleIPSite::DiscardUndoState()\n1829 long COleControlSite::XOleIPSite::DiscardUndoState()\n1830 void COleDispatchImpl::Disconnect()\n1831 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1832 void CDHtmlDialog::DisconnectDHtmlEvents()\n1833 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1834 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1835 void CDocument::DisconnectViews()\n1836 void CWinThread::DispatchThreadMessage(tagMSG *)\n1837 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1838 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n1839 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1840 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n1841 void CAsyncSocket::DoCallBack(unsigned int,long)\n1842 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n1843 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1844 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1845 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1846 void COleControl::DoClick()\n1847 int COleFrameHook::DoContextSensitiveHelp(int)\n1848 int COleConvertDialog::DoConvert(COleClientItem *)\n1849 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n1850 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n1851 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n1852 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n1853 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n1854 int COleFrameHook::DoEnableModeless(int)\n1855 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n1856 void CRecordset::DoFieldExchange(CFieldExchange *)\n1857 int CDocument::DoFileSave()\n1858 int CSplitterWnd::DoKeyboardSplit()\n1859 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n1860 int CColorDialog::DoModal()\n1861 int CDialog::DoModal()\n1862 int CFileDialog::DoModal()\n1863 int CFontDialog::DoModal()\n1864 int COleBusyDialog::DoModal()\n1865 int COleChangeIconDialog::DoModal()\n1866 int COleChangeSourceDialog::DoModal()\n1867 int COleConvertDialog::DoModal()\n1868 int COleInsertDialog::DoModal(unsigned long)\n1869 int COleInsertDialog::DoModal()\n1870 int COleLinksDialog::DoModal()\n1871 int COlePasteSpecialDialog::DoModal()\n1872 int COlePropertiesDialog::DoModal()\n1873 int COleUpdateDialog::DoModal()\n1874 int CPageSetupDialog::DoModal()\n1875 int CPrintDialog::DoModal()\n1876 int CPrintDialogEx::DoModal()\n1877 int CPropertySheet::DoModal()\n1878 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n1879 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n1880 void CControlBar::DoPaint(CDC *)\n1881 void CDockBar::DoPaint(CDC *)\n1882 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n1883 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n1884 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n1885 int CView::DoPreparePrinting(CPrintInfo *)\n1886 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n1887 int CWinApp::DoPrintDialog(CPrintDialog *)\n1888 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n1889 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n1890 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n1891 void COleControl::DoPropExchange(CPropExchange *)\n1892 int CDocument::DoSave(wchar_t const *,int)\n1893 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n1894 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n1895 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n1896 int CCmdUI::DoUpdate(CCmdTarget *,int)\n1897 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n1898 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n1899 long COleControlSite::DoVerb(long,tagMSG *)\n1900 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1901 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1902 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1903 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n1904 void CWinApp::DoWaitCursor(int)\n1905 void CPreviewView::DoZoom(unsigned int,CPoint)\n1906 void CDC::DPtoHIMETRIC(tagSIZE *)const \n1907 void CDC::DPtoLP(tagSIZE *)const \n1908 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n1909 unsigned int CDragListBox::Dragging(CPoint)\n1910 long COleDropTarget::XDropTarget::DragLeave()\n1911 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n1912 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n1913 void CRectTracker::Draw(CDC *)const \n1914 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n1915 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n1916 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n1917 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n1918 void CControlBar::DrawBorders(CDC *,CRect &)\n1919 void COleControl::DrawContent(CDC *,CRect &)\n1920 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n1921 void CDockContext::DrawFocusRect(int)\n1922 void CControlBar::DrawGripper(CDC *,CRect const &)\n1923 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n1924 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n1925 void CDragListBox::DrawInsert(int)\n1926 void CBitmapButton::DrawItem(tagDRAWITEM*)\n1927 void CButton::DrawItem(tagDRAWITEM*)\n1928 void CCheckListBox::DrawItem(tagDRAWITEM*)\n1929 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n1930 void CComboBox::DrawItem(tagDRAWITEM*)\n1931 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n1932 void CListBox::DrawItem(tagDRAWITEM*)\n1933 void CListCtrl::DrawItem(tagDRAWITEM*)\n1934 void CListView::DrawItem(tagDRAWITEM*)\n1935 void CMenu::DrawItem(tagDRAWITEM*)\n1936 void CStatic::DrawItem(tagDRAWITEM*)\n1937 void CStatusBar::DrawItem(tagDRAWITEM*)\n1938 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n1939 void CTabCtrl::DrawItem(tagDRAWITEM*)\n1940 void COleControl::DrawMetafile(CDC *,CRect &)\n1941 void CDragListBox::DrawSingle(int)\n1942 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n1943 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n1944 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n1945 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n1946 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n1947 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n1948 void CDragListBox::Dropped(int,CPoint)\n1949 CDumpContext & CDumpContext::DumpAsHex(__int64)\n1950 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n1951 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n1952 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n1953 CDumpContext & CDumpContext::DumpAsHex(int)\n1954 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n1955 CDumpContext & CDumpContext::DumpAsHex(long)\n1956 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n1957 long COleControl::XDataObject::DUnadvise(unsigned long)\n1958 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n1959 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n1960 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n1961 CFile * CFile::Duplicate()const \n1962 CFile * CInternetFile::Duplicate()const \n1963 CFile * CMemFile::Duplicate()const \n1964 CFile * COleStreamFile::Duplicate()const \n1965 CFile * CSocketFile::Duplicate()const \n1966 CFile * CStdioFile::Duplicate()const \n1967 unsigned long const CEditView::dwStyleDefault\n1968 void CRecordset::Edit()\n1969 long COlePropertyPage::XPropertyPage::EditProperty(long)\n1970 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n1971 void CDBException::Empty()\n1972 void COleDataSource::Empty()\n1973 void CCheckListBox::Enable(int,int)\n1974 void CCmdUI::Enable(int)\n1975 void COleCmdUI::Enable(int)\n1976 void CStatusCmdUI::Enable(int)\n1977 void CTestCmdUI::Enable(int)\n1978 void CToolCmdUI::Enable(int)\n1979 void CCmdTarget::EnableAggregation()\n1980 void CCmdTarget::EnableAutomation()\n1981 void CRecordset::EnableBookmarks()\n1982 void CCmdTarget::EnableConnections()\n1983 void CControlBar::EnableDocking(unsigned long)\n1984 void CFrameWnd::EnableDocking(unsigned long)\n1985 void COleControlSite::EnableDSC()\n1986 long CBrowserControlSite::EnableModeless(int)\n1987 long CDHtmlDialog::EnableModeless(int)\n1988 void CWinApp::EnableModeless(int)\n1989 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n1990 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n1991 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n1992 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n1993 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n1994 void CWnd::EnableScrollBarCtrl(int,int)\n1995 void CWinApp::EnableShellOpen()\n1996 void COleControl::EnableSimpleFrame()\n1997 void CPropertySheet::EnableStackedTabs(int)\n1998 int CInternetSession::EnableStatusCallback(int)\n1999 int CWnd::EnableToolTips(int)\n2000 int CWnd::EnableTrackingToolTips(int)\n2001 void CCmdTarget::EnableTypeLib()\n2002 int COleControlSite::EnableWindow(int)\n2003 int CWnd::EnableWindow(int)\n2004 void COleMessageFilter::EndBusyState()\n2005 void CAsyncMonikerFile::EndCallbacks()\n2006 long COleLinkingDoc::EndDeferErrors(long)\n2007 void CDialog::EndDialog(int)\n2008 void CPropertyPage::EndDialog(int)\n2009 void CPropertySheet::EndDialog(int)\n2010 void CDockContext::EndDrag()\n2011 void CWnd::EndModalLoop(int)\n2012 void CFrameWnd::EndModalState()\n2013 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2014 void CDockContext::EndResize()\n2015 void CCmdTarget::EndWaitCursor()\n2016 void COleDataObject::EnsureClipboardObject()\n2017 long CWnd::EnsureStdObj()\n2018 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2019 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2020 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2021 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2022 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2023 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2024 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2025 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2026 int COlePropertyPage::EnumControls(HWND__ *,long)\n2027 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2028 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2029 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2030 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2031 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2032 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2033 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2034 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2035 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2036 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2037 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2038 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2039 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2040 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2041 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2042 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2043 void CControlBar::EraseNonClient()\n2044 int CFileException::ErrnoToException(int)\n2045 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2046 int CMetaFileDC::Escape(int,int,char const *,void *)\n2047 int CPreviewDC::Escape(int,int,char const *,void *)\n2048 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2049 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2050 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2051 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2052 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2053 int COleControl::ExchangeExtent(CPropExchange *)\n2054 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2055 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2056 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2057 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2058 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2059 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2060 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2061 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2062 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2063 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2064 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2065 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2066 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2067 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2068 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2069 void COleControl::ExchangeStockProps(CPropExchange *)\n2070 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2071 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2072 int CDC::ExcludeClipRect(int,int,int,int)\n2073 int CDC::ExcludeClipRect(tagRECT const *)\n2074 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2075 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2076 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2077 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2078 int CHtmlEditView::ExecHandler(unsigned int)\n2079 int CWnd::ExecuteDlgInit(void *)\n2080 int CWnd::ExecuteDlgInit(wchar_t const *)\n2081 void CRecordset::ExecuteSetPosUpdate()\n2082 void CDatabase::ExecuteSQL(wchar_t const *)\n2083 void CRecordset::ExecuteUpdateSQL()\n2084 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2085 void CFrameWnd::ExitHelpMode()\n2086 int COleControlModule::ExitInstance()\n2087 int CWinApp::ExitInstance()\n2088 int CWinThread::ExitInstance()\n2089 unsigned long CCmdTarget::ExternalAddRef()\n2090 void CCmdTarget::ExternalDisconnect()\n2091 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2092 unsigned long CCmdTarget::ExternalRelease()\n2093 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2094 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2095 void CDataExchange::Fail()\n2096 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2097 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2098 void CArchive::FillBuffer(unsigned int)\n2099 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n2100 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2101 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2102 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2103 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2104 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2105 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2106 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2107 void CWnd::FilterToolTipMessage(tagMSG *)\n2108 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2109 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2110 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n2111 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n2112 int CDockBar::FindBar(CControlBar *,int)\n2113 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2114 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2115 int CFileFind::FindFile(wchar_t const *,unsigned long)\n2116 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n2117 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n2118 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n2119 __POSITION * CObList::FindIndex(int)const \n2120 __POSITION * CPtrList::FindIndex(int)const \n2121 __POSITION * CStringList::FindIndex(int)const \n2122 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2123 int CFileFind::FindNextFileW()\n2124 int CFtpFileFind::FindNextFileW()\n2125 int CGopherFileFind::FindNextFileW()\n2126 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2127 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n2128 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n2129 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n2130 int CEditView::FindTextW(wchar_t const *,int,int)\n2131 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n2132 int COleClientItem::FinishCreate(long)\n2133 void COleControl::FireError(long,wchar_t const *,unsigned int)\n2134 void COleControl::FireEvent(long,unsigned char *,...)\n2135 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2136 void COleControl::FireEventV(long,unsigned char *,char *)\n2137 void CRecordset::Fixups()\n2138 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2139 void CArchive::Flush()\n2140 void CDumpContext::Flush()\n2141 void CFile::Flush()\n2142 void CInternetFile::Flush()\n2143 void CMemFile::Flush()\n2144 void CMonikerFile::Flush()\n2145 void COleStreamFile::Flush()\n2146 void CSocketFile::Flush()\n2147 void CStdioFile::Flush()\n2148 void COleDataSource::FlushClipboard()\n2149 int CRecordset::FlushResultSet()\n2150 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n2151 void COleControl::ForwardActivationMsg(tagMSG *)\n2152 void CAfxStringMgr::Free(ATL::CStringData *)\n2153 void CDatabase::Free()\n2154 void CFixedAlloc::Free(void *)\n2155 void CFixedAllocNoSync::Free(void *)\n2156 void CMemFile::Free(unsigned char *)\n2157 void CSharedFile::Free(unsigned char *)\n2158 void CFixedAlloc::FreeAll()\n2159 void CFixedAllocNoSync::FreeAll()\n2160 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2161 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2162 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2163 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2164 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2165 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2166 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2167 void CRecordset::FreeDataCache()\n2168 void CPlex::FreeDataChain()\n2169 void CByteArray::FreeExtra()\n2170 void CDWordArray::FreeExtra()\n2171 void CObArray::FreeExtra()\n2172 void CPtrArray::FreeExtra()\n2173 void CStringArray::FreeExtra()\n2174 void CUIntArray::FreeExtra()\n2175 void CWordArray::FreeExtra()\n2176 void CObList::FreeNode(CObList::CNode *)\n2177 void CPtrList::FreeNode(CPtrList::CNode *)\n2178 void CStringList::FreeNode(CStringList::CNode *)\n2179 void CRecordset::FreeRowset()\n2180 void CThreadSlotData::FreeSlot(int)\n2181 void CProperty::FreeValue()\n2182 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2183 void COleControlContainer::FreezeAllEvents(int)\n2184 void COleControlSite::FreezeEvents(int)\n2185 long COleControl::XOleControl::FreezeEvents(int)\n2186 int COleClientItem::FreezeLink()\n2187 CDC * CDC::FromHandle(HDC__ *)\n2188 CGdiObject * CGdiObject::FromHandle(void *)\n2189 CObject * CHandleMap::FromHandle(void *)\n2190 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2191 CMenu * CMenu::FromHandle(HMENU__ *)\n2192 CWnd * CWnd::FromHandle(HWND__ *)\n2193 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2194 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2195 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2196 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2197 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2198 CRuntime* CRuntimeClass::FromName(char const *)\n2199 void * CProperty::Get(unsigned long *)\n2200 void * CProperty::Get()\n2201 void * CPropertySection::Get(unsigned long)\n2202 void * CPropertySection::Get(unsigned long,unsigned long *)\n2203 void * CPropertySet::Get(_GUID,unsigned long)\n2204 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2205 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2206 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2207 long CWnd::get_accChildCount(long *)\n2208 long CWnd::XAccessible::get_accChildCount(long *)\n2209 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2210 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2211 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2212 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2213 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2214 long CWnd::get_accFocus(tagVARIANT *)\n2215 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2216 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2217 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2218 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2219 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2220 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2221 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2222 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2223 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2224 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2225 long CWnd::get_accParent(IDispatch * *)\n2226 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2227 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2228 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2229 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2230 long CWnd::get_accSelection(tagVARIANT *)\n2231 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2232 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2233 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2234 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2235 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2236 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2237 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2238 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2239 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2240 long CWnd::GetAccessibleChildCount()\n2241 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2242 unsigned long COleControl::GetActivationPolicy()\n2243 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2244 CDocument * CFrameWnd::GetActiveDocument()\n2245 CFrameWnd * CFrameWnd::GetActiveFrame()\n2246 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2247 int CPropertySheet::GetActiveIndex()const \n2248 CPropertyPage * CPropertySheet::GetActivePage()const \n2249 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2250 CView * CFrameWnd::GetActiveView()const \n2251 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2252 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2253 int CHtmlView::GetAddressBar()const \n2254 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2255 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2256 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2257 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2258 short COleControl::GetAppearance()\n2259 IDispatch * CHtmlView::GetApplication()const \n2260 HKEY__ * CWinApp::GetAppRegistryKey()\n2261 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2262 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2263 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2264 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2265 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2266 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2267 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2268 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2269 unsigned long COleControl::GetBackColor()\n2270 void CControlBar::GetBarInfo(CControlBarInfo *)\n2271 void CDockBar::GetBarInfo(CControlBarInfo *)\n2272 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2273 void * CBlobProperty::GetBlob()\n2274 void CRecordset::GetBookmark(CDBVariant &)\n2275 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2276 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2277 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2278 short COleControl::GetBorderStyle()\n2279 long CDataSourceControl::GetBoundClientRow()\n2280 int CRecordset::GetBoundFieldIndex(void *)\n2281 int CRecordset::GetBoundParamIndex(void *)\n2282 unsigned int CEditView::GetBufferLength()const \n2283 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2284 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2285 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2286 int CHtmlView::GetBusy()const \n2287 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2288 unsigned int CToolBar::GetButtonStyle(int)const \n2289 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n2290 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2291 void COleSafeArray::GetByteArray(CByteArray &)\n2292 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2293 unsigned short CPropertySet::GetByteOrder()\n2294 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2295 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2296 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2297 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2298 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2299 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2300 CWnd * COleControl::GetCapture()\n2301 long COleControlSite::XOleIPSite::GetCapture()\n2302 void CFontDialog::GetCharFormat(_charformatw &)const \n2303 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n2304 int CCheckListBox::GetCheck(int)\n2305 int CListCtrl::GetCheck(int)const \n2306 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2307 int CWnd::GetCheckedRadioButton(int,int)\n2308 long CBlobProperty::GetClassID(_GUID *)\n2309 void COleClientItem::GetClassID(_GUID *)const \n2310 _GUID CPropertySet::GetClassID()\n2311 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2312 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2313 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2314 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2315 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2316 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2317 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n2318 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2319 void COleControl::GetClientOffset(long *,long *)const \n2320 void COleControl::GetClientRect(tagRECT *)const \n2321 IOleClientSite * COleClientItem::GetClientSite()\n2322 IOleClientSite * COleControl::GetClientSite()\n2323 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2324 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2325 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2326 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2327 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2328 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2329 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2330 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2331 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2332 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2333 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2334 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2335 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2336 COleDataSource * COleDataSource::GetClipboardOwner()\n2337 int CDC::GetClipBox(tagRECT *)const \n2338 int CMetaFileDC::GetClipBox(tagRECT *)const \n2339 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2340 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2341 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2342 int CListCtrl::GetColumnOrderArray(int *,int)\n2343 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2344 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2345 void CDatabase::GetConnectInfo()\n2346 int CConnectionPoint::GetConnectionCount()\n2347 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2348 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2349 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2350 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2351 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2352 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2353 CPtrArray const * CConnectionPoint::GetConnections()\n2354 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2355 IDispatch * CHtmlView::GetContainer()const \n2356 IOleItemContainer * COleDocument::GetContainer()\n2357 IOleItemContainer * COleLinkingDoc::GetContainer()\n2358 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2359 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2360 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2361 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2362 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2363 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2364 COleControlContainer * CWnd::GetControlContainer()\n2365 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n2366 unsigned long COleControl::GetControlFlags()\n2367 void COleControlSite::GetControlInfo()\n2368 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2369 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2370 IUnknown * CCmdTarget::GetControllingUnknown()\n2371 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2372 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n2373 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n2374 void COleControl::GetControlSize(int *,int *)\n2375 int COlePropertyPage::GetControlStatus(unsigned int)\n2376 IUnknown * CWnd::GetControlUnknown()\n2377 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2378 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2379 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n2380 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n2381 int CPrintDialog::GetCopies()const \n2382 int CPrintDialogEx::GetCopies()const \n2383 unsigned long CPropertySection::GetCount()\n2384 unsigned long CPropertySet::GetCount()\n2385 int CFileFind::GetCreationTime(ATL::CTime &)const \n2386 int CFileFind::GetCreationTime(_FILETIME *)const \n2387 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2388 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2389 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2390 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2391 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n2392 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2393 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n2394 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n2395 tagMSG const * CWnd::GetCurrentMessage()\n2396 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2397 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2398 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2399 IUnknown * CDataBoundProperty::GetCursor()\n2400 IUnknown * CDataSourceControl::GetCursor()\n2401 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2402 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2403 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2404 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2405 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2406 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2407 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2408 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2409 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2410 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2411 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n2412 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2413 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2414 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2415 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2416 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2417 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2418 IDataObject * COleServerItem::GetDataObject()\n2419 COleControl::CControlDataSource * COleControl::GetDataSource()\n2420 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2421 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2422 HACCEL__ * CDocument::GetDefaultAccelerator()\n2423 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2424 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2425 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n2426 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n2427 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n2428 short CRecordset::GetDefaultFieldType(short)\n2429 HMENU__ * CDocument::GetDefaultMenu()\n2430 HMENU__ * COleServerDoc::GetDefaultMenu()\n2431 int CPrintDialog::GetDefaults()\n2432 int CPrintDialogEx::GetDefaults()\n2433 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n2434 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2435 unsigned long COleControlSite::GetDefBtnCode()\n2436 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2437 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n2438 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n2439 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n2440 CPoint CScrollView::GetDeviceScrollPosition()const \n2441 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2442 _devicemodeW * CPageSetupDialog::GetDevMode()const \n2443 _devicemodeW * CPrintDialog::GetDevMode()const \n2444 _devicemodeW * CPrintDialogEx::GetDevMode()const \n2445 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2446 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2447 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2448 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2449 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2450 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2451 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2452 int CCmdTarget::GetDispatchIID(_GUID *)\n2453 int COleControl::GetDispatchIID(_GUID *)\n2454 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2455 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2456 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2457 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n2458 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2459 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2460 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2461 int COleControlSite::GetDlgCtrlID()const \n2462 int CWnd::GetDlgCtrlID()const \n2463 CWnd * COleControlContainer::GetDlgItem(int)const \n2464 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2465 CWnd * CWnd::GetDlgItem(int)const \n2466 void CWnd::GetDlgItem(int,HWND__ * *)const \n2467 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2468 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2469 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n2470 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2471 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n2472 CDockBar * CDockContext::GetDockBar(unsigned long)\n2473 CControlBar * CDockBar::GetDockedControlBar(int)const \n2474 int CDockBar::GetDockedCount()const \n2475 int CDockBar::GetDockedVisibleCount()const \n2476 CFrameWnd * CControlBar::GetDockingFrame()const \n2477 void CFrameWnd::GetDockState(CDockState &)const \n2478 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2479 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2480 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n2481 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2482 int CDocManager::GetDocumentCount()\n2483 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2484 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n2485 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n2486 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n2487 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2488 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2489 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2490 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2491 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2492 IUnknown * CWnd::GetDSCCursor()\n2493 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n2494 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n2495 void COleSafeArray::GetElement(long *,void *)\n2496 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n2497 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n2498 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n2499 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n2500 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2501 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2502 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2503 int COleControl::GetEnabled()\n2504 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2505 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2506 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2507 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2508 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2509 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2510 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2511 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2512 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2513 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2514 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2515 int COleControlSite::GetEventIID(_GUID *)\n2516 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2517 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n2518 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n2519 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2520 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2521 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2522 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2523 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2524 unsigned long COleControlSite::GetExStyle()const \n2525 unsigned long CWnd::GetExStyle()const \n2526 IDispatch * COleControl::GetExtendedControl()\n2527 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2528 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2529 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2530 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2531 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2532 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2533 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2534 long CBrowserControlSite::GetExternal(IDispatch * *)\n2535 long CDHtmlDialog::GetExternal(IDispatch * *)\n2536 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2537 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2538 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2539 short CRecordset::GetFieldIndexByName(wchar_t const *)\n2540 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2541 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2542 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2543 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n2544 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2545 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n2546 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n2547 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n2548 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2549 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n2550 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n2551 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n2552 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n2553 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n2554 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n2555 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n2556 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n2557 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n2558 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n2559 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n2560 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n2561 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2562 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n2563 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n2564 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n2565 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n2566 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2567 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2568 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2569 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2570 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2571 CFrameWnd * COleDocument::GetFirstFrame()\n2572 __POSITION * CDocument::GetFirstViewPosition()const \n2573 CWnd * COleControl::GetFocus()\n2574 long COleControlSite::XOleIPSite::GetFocus()\n2575 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n2576 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n2577 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n2578 IFontDisp * COleControl::GetFont()\n2579 IFontDisp * CFontHolder::GetFontDispatch()\n2580 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2581 HFONT__ * CFontHolder::GetFontHandle()\n2582 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2583 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n2584 unsigned long COleControl::GetForeColor()\n2585 _GUID CPropertySection::GetFormatID()\n2586 unsigned short CPropertySet::GetFormatVersion()\n2587 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n2588 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n2589 int CHtmlView::GetFullScreen()const \n2590 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2591 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2592 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n2593 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2594 CBrush * CDC::GetHalftoneBrush()\n2595 unsigned int CRectTracker::GetHandleMask()const \n2596 void CRectTracker::GetHandleRect(int,CRect *)const \n2597 int CRectTracker::GetHandleSize(tagRECT const *)const \n2598 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2599 long CHtmlView::GetHeight()const \n2600 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2601 void CSplitterWnd::GetHitRect(int,CRect &)\n2602 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2603 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2604 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2605 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2606 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n2607 IDispatch * CHtmlView::GetHtmlDocument()const \n2608 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n2609 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n2610 unsigned int COleControl::GetHwnd()\n2611 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2612 HICON__ * COleClientItem::GetIconFromRegistry()const \n2613 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2614 void * COleClientItem::GetIconicMetafile()\n2615 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2616 unsigned long CProperty::GetID()\n2617 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n2618 IDataObject * COleDataObject::GetIDataObject(int)\n2619 IDispatch * CCmdTarget::GetIDispatch(int)\n2620 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2621 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2622 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2623 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2624 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2625 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2626 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2627 _GUID const & COleControl::XEventConnPt::GetIID()\n2628 CImageList * CReBarCtrl::GetImageList()const \n2629 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2630 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2631 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2632 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2633 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2634 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2635 CWnd * COleClientItem::GetInPlaceWindow()\n2636 void CSplitterWnd::GetInsideRect(CRect &)const \n2637 IUnknown * CCmdTarget::GetInterface(void const *)\n2638 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2639 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2640 IUnknown * COleControl::GetInterfaceHook(void const *)\n2641 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2642 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2643 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2644 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2645 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2646 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2647 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2648 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2649 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2650 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2651 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2652 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2653 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2654 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2655 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2656 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2657 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2658 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2659 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2660 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2661 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2662 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2663 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2664 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2665 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2666 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2667 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2668 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n2669 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2670 unsigned long CListCtrl::GetItemData(int)const \n2671 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2672 unsigned int CStatusBar::GetItemID(int)const \n2673 unsigned int CToolBar::GetItemID(int)const \n2674 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2675 void COleClientItem::GetItemName(wchar_t *)const \n2676 void COleServerDoc::GetItemPosition(tagRECT *)const \n2677 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2678 void CStatusBar::GetItemRect(int,tagRECT *)const \n2679 void CToolBar::GetItemRect(int,tagRECT *)const \n2680 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2681 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2682 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2683 void COleClientItem::GetItemStorage()\n2684 void COleClientItem::GetItemStorageCompound()\n2685 void COleClientItem::GetItemStorageFlat()\n2686 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n2687 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n2688 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2689 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2690 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2691 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2692 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2693 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2694 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2695 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2696 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2697 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2698 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2699 unsigned long CDC::GetLayout()const \n2700 long CRecordset::GetLBFetchSize(long)\n2701 void COleSafeArray::GetLBound(unsigned long,long *)\n2702 long CRecordset::GetLBReallocSize(long)\n2703 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2704 long CHtmlView::GetLeft()const \n2705 unsigned __int64 CFile::GetLength()const \n2706 unsigned __int64 CFileFind::GetLength()const \n2707 unsigned __int64 CGopherFileFind::GetLength()const \n2708 unsigned __int64 CInternetFile::GetLength()const \n2709 unsigned __int64 CMemFile::GetLength()const \n2710 unsigned __int64 COleStreamFile::GetLength()const \n2711 unsigned __int64 CSocketFile::GetLength()const \n2712 unsigned __int64 CStdioFile::GetLength()const \n2713 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2714 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2715 int CRichEditCtrl::GetLine(int,wchar_t *)const \n2716 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n2717 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n2718 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2719 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2720 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2721 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2722 CPtrList * CPropertySection::GetList()\n2723 CPtrList * CPropertySet::GetList()\n2724 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n2725 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n2726 CGopherLocator CGopherFileFind::GetLocator()const \n2727 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2728 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2729 long CFieldExchange::GetLongBinarySize(int)\n2730 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2731 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2732 CWnd * CWinThread::GetMainWnd()\n2733 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2734 int CConnectionPoint::GetMaxConnections()\n2735 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2736 int CHtmlView::GetMenuBar()const \n2737 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n2738 CWnd * CFrameWnd::GetMessageBar()\n2739 CWnd * CMDIChildWnd::GetMessageBar()\n2740 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2741 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2742 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2743 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2744 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2745 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2746 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2747 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2748 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2749 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2750 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2751 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2752 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2753 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2754 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2755 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2756 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2757 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2758 AFX_MSGMAP const * CListView::GetMessageMap()const \n2759 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2760 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2761 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2762 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2763 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2764 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2765 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2766 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2767 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2768 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2769 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2770 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2771 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2772 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2773 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2774 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2775 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2776 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2777 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2778 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2779 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2780 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2781 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2782 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2783 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2784 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2785 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2786 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2787 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2788 AFX_MSGMAP const * CView::GetMessageMap()const \n2789 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2790 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2791 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2792 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2793 long CDataSourceControl::GetMetaData()\n2794 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2795 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2796 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2797 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2798 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2799 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2800 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2801 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n2802 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n2803 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n2804 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n2805 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2806 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2807 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2808 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2809 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2810 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n2811 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n2812 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n2813 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n2814 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n2815 unsigned long COleClientItem::GetNewItemNumber()\n2816 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n2817 CDataBoundProperty * CDataBoundProperty::GetNext()\n2818 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n2819 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n2820 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n2821 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n2822 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2823 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n2824 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n2825 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n2826 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n2827 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n2828 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n2829 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n2830 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n2831 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n2832 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n2833 int COleDataObject::GetNextFormat(tagFORMATETC *)\n2834 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n2835 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n2836 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n2837 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n2838 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n2839 CView * CDocument::GetNextView(__POSITION * &)const \n2840 ATL::CStringData * CAfxStringMgr::GetNilString()\n2841 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n2842 void CCmdTarget::GetNotSupported()\n2843 void COleControl::GetNotSupported()\n2844 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n2845 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n2846 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n2847 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n2848 unsigned int CArchive::GetObjectSchema()\n2849 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n2850 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n2851 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n2852 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n2853 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n2854 int CHtmlView::GetOffline()const \n2855 tagOFNW & CFileDialog::GetOFN()\n2856 tagOFNW const & CFileDialog::GetOFN()const \n2857 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n2858 IOleObject * COleServerItem::GetOleObject()\n2859 unsigned long COleSafeArray::GetOneDimSize()\n2860 int CDocManager::GetOpenDocumentCount()\n2861 int CWinApp::GetOpenDocumentCount()\n2862 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n2863 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n2864 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n2865 int CHeaderCtrl::GetOrderArray(int *,int)\n2866 unsigned long CPropertySet::GetOSVersion()\n2867 CWnd * COleControl::GetOuterWindow()const \n2868 int COleDocObjectItem::GetPageCount(long *,long *)\n2869 int CPropertySheet::GetPageCount()const \n2870 int CPropertySheet::GetPageIndex(CPropertyPage *)\n2871 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n2872 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n2873 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n2874 IPropertyPageSite * COlePropertyPage::GetPageSite()\n2875 CWnd * CSplitterWnd::GetPane(int,int)const \n2876 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n2877 unsigned int CStatusBar::GetPaneStyle(int)const \n2878 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n2879 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2880 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n2881 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n2882 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n2883 IDispatch * CHtmlView::GetParentBrowser()const \n2884 CFrameWnd * CWnd::GetParentFrame()const \n2885 CWnd * CWnd::GetParentOwner()const \n2886 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n2887 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n2888 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n2889 IPictureDisp * CPictureHolder::GetPictureDispatch()\n2890 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n2891 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n2892 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n2893 unsigned __int64 CFile::GetPosition()const \n2894 unsigned __int64 CMemFile::GetPosition()const \n2895 unsigned __int64 COleStreamFile::GetPosition()const \n2896 unsigned __int64 CSocketFile::GetPosition()const \n2897 unsigned __int64 CStdioFile::GetPosition()const \n2898 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n2899 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n2900 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n2901 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n2902 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n2903 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n2904 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n2905 CFont * CEditView::GetPrinterFont()const \n2906 long CAsyncMonikerFile::GetPriority()const \n2907 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n2908 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n2909 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n2910 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n2911 COleVariant CHtmlView::GetProperty(wchar_t const *)\n2912 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2913 void COleControlSite::GetProperty(long,unsigned short,void *)const \n2914 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n2915 CProperty * CPropertySection::GetProperty(unsigned long)\n2916 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n2917 void CWnd::GetProperty(long,unsigned short,void *)const \n2918 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n2919 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n2920 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n2921 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n2922 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n2923 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n2924 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n2925 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n2926 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n2927 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n2928 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n2929 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n2930 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2931 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n2932 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n2933 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n2934 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n2935 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n2936 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n2937 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n2938 void CProgressCtrl::GetRange(int &,int &)\n2939 void CSliderCtrl::GetRange(int &,int &)const \n2940 void CSpinButtonCtrl::GetRange(int &,int &)const \n2941 void * CProperty::GetRawValue()\n2942 enum tagREADYSTATE CHtmlView::GetReadyState()const \n2943 long COleControl::GetReadyState()\n2944 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n2945 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n2946 int COleControl::GetRectInContainer(tagRECT *)\n2947 int CHtmlView::GetRegisterAsBrowser()const \n2948 int CHtmlView::GetRegisterAsDropTarget()const \n2949 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n2950 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n2951 CFrameWnd * CCmdTarget::GetRoutingFrame()\n2952 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n2953 CView * CCmdTarget::GetRoutingView()\n2954 CView * CCmdTarget::GetRoutingView_()\n2955 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n2956 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n2957 CRuntime* CArchiveException::GetRuntimeClass()const \n2958 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n2959 CRuntime* CAsyncSocket::GetRuntimeClass()const \n2960 CRuntime* CBitmap::GetRuntimeClass()const \n2961 CRuntime* CBitmapButton::GetRuntimeClass()const \n2962 CRuntime* CBrush::GetRuntimeClass()const \n2963 CRuntime* CButton::GetRuntimeClass()const \n2964 CRuntime* CByteArray::GetRuntimeClass()const \n2965 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n2966 CRuntime* CCheckListBox::GetRuntimeClass()const \n2967 CRuntime* CClientDC::GetRuntimeClass()const \n2968 CRuntime* CCmdTarget::GetRuntimeClass()const \n2969 CRuntime* CColorDialog::GetRuntimeClass()const \n2970 CRuntime* CComboBox::GetRuntimeClass()const \n2971 CRuntime* CComboBoxEx::GetRuntimeClass()const \n2972 CRuntime* CControlBar::GetRuntimeClass()const \n2973 CRuntime* CCriticalSection::GetRuntimeClass()const \n2974 CRuntime* CCtrlView::GetRuntimeClass()const \n2975 CRuntime* CDatabase::GetRuntimeClass()const \n2976 CRuntime* CDataPathProperty::GetRuntimeClass()const \n2977 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n2978 CRuntime* CDBException::GetRuntimeClass()const \n2979 CRuntime* CDC::GetRuntimeClass()const \n2980 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n2981 CRuntime* CDialog::GetRuntimeClass()const \n2982 CRuntime* CDialogBar::GetRuntimeClass()const \n2983 CRuntime* CDocItem::GetRuntimeClass()const \n2984 CRuntime* CDockBar::GetRuntimeClass()const \n2985 CRuntime* CDockState::GetRuntimeClass()const \n2986 CRuntime* CDocManager::GetRuntimeClass()const \n2987 CRuntime* CDocObjectServer::GetRuntimeClass()const \n2988 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n2989 CRuntime* CDocTemplate::GetRuntimeClass()const \n2990 CRuntime* CDocument::GetRuntimeClass()const \n2991 CRuntime* CDragListBox::GetRuntimeClass()const \n2992 CRuntime* CDWordArray::GetRuntimeClass()const \n2993 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n2994 CRuntime* CEdit::GetRuntimeClass()const \n2995 CRuntime* CEditView::GetRuntimeClass()const \n2996 CRuntime* CEvent::GetRuntimeClass()const \n2997 CRuntime* CException::GetRuntimeClass()const \n2998 CRuntime* CFile::GetRuntimeClass()const \n2999 CRuntime* CFileDialog::GetRuntimeClass()const \n3000 CRuntime* CFileException::GetRuntimeClass()const \n3001 CRuntime* CFileFind::GetRuntimeClass()const \n3002 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3003 CRuntime* CFont::GetRuntimeClass()const \n3004 CRuntime* CFontDialog::GetRuntimeClass()const \n3005 CRuntime* CFormView::GetRuntimeClass()const \n3006 CRuntime* CFrameWnd::GetRuntimeClass()const \n3007 CRuntime* CFtpConnection::GetRuntimeClass()const \n3008 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3009 CRuntime* CGdiObject::GetRuntimeClass()const \n3010 CRuntime* CGopherConnection::GetRuntimeClass()const \n3011 CRuntime* CGopherFile::GetRuntimeClass()const \n3012 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3013 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3014 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3015 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3016 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3017 CRuntime* CHtmlView::GetRuntimeClass()const \n3018 CRuntime* CHttpConnection::GetRuntimeClass()const \n3019 CRuntime* CHttpFile::GetRuntimeClass()const \n3020 CRuntime* CImageList::GetRuntimeClass()const \n3021 CRuntime* CInternetConnection::GetRuntimeClass()const \n3022 CRuntime* CInternetException::GetRuntimeClass()const \n3023 CRuntime* CInternetFile::GetRuntimeClass()const \n3024 CRuntime* CInternetSession::GetRuntimeClass()const \n3025 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3026 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3027 CRuntime* CListBox::GetRuntimeClass()const \n3028 CRuntime* CListCtrl::GetRuntimeClass()const \n3029 CRuntime* CListView::GetRuntimeClass()const \n3030 CRuntime* CLongBinary::GetRuntimeClass()const \n3031 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3032 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3033 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3034 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3035 CRuntime* CMapStringToString::GetRuntimeClass()const \n3036 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3037 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3038 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3039 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3040 CRuntime* CMemFile::GetRuntimeClass()const \n3041 CRuntime* CMemoryException::GetRuntimeClass()const \n3042 CRuntime* CMenu::GetRuntimeClass()const \n3043 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3044 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3045 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3046 CRuntime* CMonikerFile::GetRuntimeClass()const \n3047 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3048 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3049 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3050 CRuntime* CMutex::GetRuntimeClass()const \n3051 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3052 CRuntime* CObArray::GetRuntimeClass()const \n3053 CRuntime* CObject::GetRuntimeClass()const \n3054 CRuntime* CObList::GetRuntimeClass()const \n3055 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3056 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3057 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3058 CRuntime* COleClientItem::GetRuntimeClass()const \n3059 CRuntime* COleControl::GetRuntimeClass()const \n3060 CRuntime* COleControlModule::GetRuntimeClass()const \n3061 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3062 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3063 CRuntime* COleDialog::GetRuntimeClass()const \n3064 CRuntime* COleDispatchException::GetRuntimeClass()const \n3065 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3066 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3067 CRuntime* COleDocument::GetRuntimeClass()const \n3068 CRuntime* COleException::GetRuntimeClass()const \n3069 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3070 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3071 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3072 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3073 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3074 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3075 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3076 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3077 CRuntime* COleResizeBar::GetRuntimeClass()const \n3078 CRuntime* COleServerDoc::GetRuntimeClass()const \n3079 CRuntime* COleServerItem::GetRuntimeClass()const \n3080 CRuntime* COleStreamFile::GetRuntimeClass()const \n3081 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3082 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3083 CRuntime* CPaintDC::GetRuntimeClass()const \n3084 CRuntime* CPalette::GetRuntimeClass()const \n3085 CRuntime* CPen::GetRuntimeClass()const \n3086 CRuntime* CPreviewDC::GetRuntimeClass()const \n3087 CRuntime* CPreviewView::GetRuntimeClass()const \n3088 CRuntime* CPrintDialog::GetRuntimeClass()const \n3089 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3090 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3091 CRuntime* CPropertyPage::GetRuntimeClass()const \n3092 CRuntime* CPropertySheet::GetRuntimeClass()const \n3093 CRuntime* CPtrArray::GetRuntimeClass()const \n3094 CRuntime* CPtrList::GetRuntimeClass()const \n3095 CRuntime* CReBar::GetRuntimeClass()const \n3096 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3097 CRuntime* CRecordset::GetRuntimeClass()const \n3098 CRuntime* CRecordView::GetRuntimeClass()const \n3099 CRuntime* CResourceException::GetRuntimeClass()const \n3100 CRuntime* CRgn::GetRuntimeClass()const \n3101 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3102 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3103 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3104 CRuntime* CRichEditView::GetRuntimeClass()const \n3105 CRuntime* CScrollBar::GetRuntimeClass()const \n3106 CRuntime* CScrollView::GetRuntimeClass()const \n3107 CRuntime* CSemaphore::GetRuntimeClass()const \n3108 CRuntime* CSharedFile::GetRuntimeClass()const \n3109 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3110 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3111 CRuntime* CSocket::GetRuntimeClass()const \n3112 CRuntime* CSocketFile::GetRuntimeClass()const \n3113 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3114 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3115 CRuntime* CStatic::GetRuntimeClass()const \n3116 CRuntime* CStatusBar::GetRuntimeClass()const \n3117 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3118 CRuntime* CStdioFile::GetRuntimeClass()const \n3119 CRuntime* CStringArray::GetRuntimeClass()const \n3120 CRuntime* CStringList::GetRuntimeClass()const \n3121 CRuntime* CSyncObject::GetRuntimeClass()const \n3122 CRuntime* CTabCtrl::GetRuntimeClass()const \n3123 CRuntime* CToolBar::GetRuntimeClass()const \n3124 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3125 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3126 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3127 CRuntime* CTreeView::GetRuntimeClass()const \n3128 CRuntime* CUIntArray::GetRuntimeClass()const \n3129 CRuntime* CUserException::GetRuntimeClass()const \n3130 CRuntime* CView::GetRuntimeClass()const \n3131 CRuntime* CWinApp::GetRuntimeClass()const \n3132 CRuntime* CWindowDC::GetRuntimeClass()const \n3133 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3134 CRuntime* CWinThread::GetRuntimeClass()const \n3135 CRuntime* CWnd::GetRuntimeClass()const \n3136 CRuntime* CWordArray::GetRuntimeClass()const \n3137 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3138 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3139 unsigned long * CColorDialog::GetSavedCustomColors()\n3140 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n3141 CSize CDockState::GetScreenSize()\n3142 CScrollBar * CView::GetScrollBarCtrl(int)const \n3143 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3144 void CScrollView::GetScrollBarSizes(CSize &)\n3145 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3146 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3147 int CWnd::GetScrollLimit(int)\n3148 int CWnd::GetScrollPos(int)const \n3149 CPoint CScrollView::GetScrollPosition()const \n3150 void CWnd::GetScrollRange(int,int *,int *)const \n3151 unsigned long CSplitterWnd::GetScrollStyle()const \n3152 CPropertySection * CPropertySet::GetSection(_GUID)\n3153 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n3154 wchar_t const * CPropertySection::GetSectionName()\n3155 void CRichEditCtrl::GetSel(long &,long &)const \n3156 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3157 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3158 void CSliderCtrl::GetSelection(int &,int &)const \n3159 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n3160 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n3161 unsigned int COleConvertDialog::GetSelectionType()const \n3162 unsigned int COleInsertDialog::GetSelectionType()const \n3163 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3164 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3165 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3166 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3167 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n3168 int CHtmlView::GetSilent()const \n3169 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3170 unsigned long CPropertySection::GetSize()\n3171 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3172 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3173 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3174 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3175 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3176 CWnd * CSplitterWnd::GetSizingParent()\n3177 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3178 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3179 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3180 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3181 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n3182 wchar_t const * CHtmlEditView::GetStartDocument()\n3183 __POSITION * CConnectionPoint::GetStartPosition()const \n3184 __POSITION * COleDocument::GetStartPosition()const \n3185 __POSITION * CRichEditDoc::GetStartPosition()const \n3186 int CFile::GetStatus(CFileStatus &)const \n3187 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n3188 int CMemFile::GetStatus(CFileStatus &)const \n3189 int COleStreamFile::GetStatus(CFileStatus &)const \n3190 int CHtmlView::GetStatusBar()const \n3191 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n3192 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n3193 IStream * COleStreamFile::GetStream()const \n3194 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3195 unsigned long COleControlSite::GetStyle()const \n3196 unsigned long COleControlSiteOrWnd::GetStyle()const \n3197 unsigned long CWnd::GetStyle()const \n3198 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3199 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3200 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3201 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3202 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3203 wchar_t * COleControl::GetText()\n3204 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n3205 int CStatusBarCtrl::GetText(wchar_t const *,int,int *)const \n3206 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n3207 long CRecordset::GetTextLen(short,unsigned long)\n3208 int CStatusBarCtrl::GetTextLength(int,int *)const \n3209 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3210 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3211 int CHtmlView::GetTheaterMode()const \n3212 CRuntime* CAnimateCtrl::GetThisClass()\n3213 CRuntime* CArchiveException::GetThisClass()\n3214 CRuntime* CAsyncMonikerFile::GetThisClass()\n3215 CRuntime* CAsyncSocket::GetThisClass()\n3216 CRuntime* CBitmap::GetThisClass()\n3217 CRuntime* CBitmapButton::GetThisClass()\n3218 CRuntime* CBrush::GetThisClass()\n3219 CRuntime* CButton::GetThisClass()\n3220 CRuntime* CByteArray::GetThisClass()\n3221 CRuntime* CCachedDataPathProperty::GetThisClass()\n3222 CRuntime* CCheckListBox::GetThisClass()\n3223 CRuntime* CClientDC::GetThisClass()\n3224 CRuntime* CCmdTarget::GetThisClass()\n3225 CRuntime* CColorDialog::GetThisClass()\n3226 CRuntime* CComboBox::GetThisClass()\n3227 CRuntime* CComboBoxEx::GetThisClass()\n3228 CRuntime* CControlBar::GetThisClass()\n3229 CRuntime* CCriticalSection::GetThisClass()\n3230 CRuntime* CCtrlView::GetThisClass()\n3231 CRuntime* CDatabase::GetThisClass()\n3232 CRuntime* CDataPathProperty::GetThisClass()\n3233 CRuntime* CDateTimeCtrl::GetThisClass()\n3234 CRuntime* CDBException::GetThisClass()\n3235 CRuntime* CDC::GetThisClass()\n3236 CRuntime* CDHtmlDialog::GetThisClass()\n3237 CRuntime* CDialog::GetThisClass()\n3238 CRuntime* CDialogBar::GetThisClass()\n3239 CRuntime* CDocItem::GetThisClass()\n3240 CRuntime* CDockBar::GetThisClass()\n3241 CRuntime* CDockState::GetThisClass()\n3242 CRuntime* CDocManager::GetThisClass()\n3243 CRuntime* CDocObjectServer::GetThisClass()\n3244 CRuntime* CDocObjectServerItem::GetThisClass()\n3245 CRuntime* CDocTemplate::GetThisClass()\n3246 CRuntime* CDocument::GetThisClass()\n3247 CRuntime* CDragListBox::GetThisClass()\n3248 CRuntime* CDWordArray::GetThisClass()\n3249 CRuntime* CDynLinkLibrary::GetThisClass()\n3250 CRuntime* CEdit::GetThisClass()\n3251 CRuntime* CEditView::GetThisClass()\n3252 CRuntime* CEvent::GetThisClass()\n3253 CRuntime* CException::GetThisClass()\n3254 CRuntime* CFile::GetThisClass()\n3255 CRuntime* CFileDialog::GetThisClass()\n3256 CRuntime* CFileException::GetThisClass()\n3257 CRuntime* CFileFind::GetThisClass()\n3258 CRuntime* CFindReplaceDialog::GetThisClass()\n3259 CRuntime* CFont::GetThisClass()\n3260 CRuntime* CFontDialog::GetThisClass()\n3261 CRuntime* CFormView::GetThisClass()\n3262 CRuntime* CFrameWnd::GetThisClass()\n3263 CRuntime* CFtpConnection::GetThisClass()\n3264 CRuntime* CFtpFileFind::GetThisClass()\n3265 CRuntime* CGdiObject::GetThisClass()\n3266 CRuntime* CGopherConnection::GetThisClass()\n3267 CRuntime* CGopherFile::GetThisClass()\n3268 CRuntime* CGopherFileFind::GetThisClass()\n3269 CRuntime* CHeaderCtrl::GetThisClass()\n3270 CRuntime* CHotKeyCtrl::GetThisClass()\n3271 CRuntime* CHtmlEditDoc::GetThisClass()\n3272 CRuntime* CHtmlEditView::GetThisClass()\n3273 CRuntime* CHtmlView::GetThisClass()\n3274 CRuntime* CHttpConnection::GetThisClass()\n3275 CRuntime* CHttpFile::GetThisClass()\n3276 CRuntime* CImageList::GetThisClass()\n3277 CRuntime* CInternetConnection::GetThisClass()\n3278 CRuntime* CInternetException::GetThisClass()\n3279 CRuntime* CInternetFile::GetThisClass()\n3280 CRuntime* CInternetSession::GetThisClass()\n3281 CRuntime* CIPAddressCtrl::GetThisClass()\n3282 CRuntime* CLinkCtrl::GetThisClass()\n3283 CRuntime* CListBox::GetThisClass()\n3284 CRuntime* CListCtrl::GetThisClass()\n3285 CRuntime* CListView::GetThisClass()\n3286 CRuntime* CLongBinary::GetThisClass()\n3287 CRuntime* CMapPtrToPtr::GetThisClass()\n3288 CRuntime* CMapPtrToWord::GetThisClass()\n3289 CRuntime* CMapStringToOb::GetThisClass()\n3290 CRuntime* CMapStringToPtr::GetThisClass()\n3291 CRuntime* CMapStringToString::GetThisClass()\n3292 CRuntime* CMapWordToOb::GetThisClass()\n3293 CRuntime* CMapWordToPtr::GetThisClass()\n3294 CRuntime* CMDIChildWnd::GetThisClass()\n3295 CRuntime* CMDIFrameWnd::GetThisClass()\n3296 CRuntime* CMemFile::GetThisClass()\n3297 CRuntime* CMemoryException::GetThisClass()\n3298 CRuntime* CMenu::GetThisClass()\n3299 CRuntime* CMetaFileDC::GetThisClass()\n3300 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3301 CRuntime* CMiniFrameWnd::GetThisClass()\n3302 CRuntime* CMonikerFile::GetThisClass()\n3303 CRuntime* CMonthCalCtrl::GetThisClass()\n3304 CRuntime* CMultiDocTemplate::GetThisClass()\n3305 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3306 CRuntime* CMutex::GetThisClass()\n3307 CRuntime* CNotSupportedException::GetThisClass()\n3308 CRuntime* CObArray::GetThisClass()\n3309 CRuntime* CObject::GetThisClass()\n3310 CRuntime* CObList::GetThisClass()\n3311 CRuntime* COleBusyDialog::GetThisClass()\n3312 CRuntime* COleChangeIconDialog::GetThisClass()\n3313 CRuntime* COleChangeSourceDialog::GetThisClass()\n3314 CRuntime* COleClientItem::GetThisClass()\n3315 CRuntime* COleControl::GetThisClass()\n3316 CRuntime* COleControlModule::GetThisClass()\n3317 CRuntime* COleConvertDialog::GetThisClass()\n3318 CRuntime* COleDBRecordView::GetThisClass()\n3319 CRuntime* COleDialog::GetThisClass()\n3320 CRuntime* COleDispatchException::GetThisClass()\n3321 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3322 CRuntime* COleDocObjectItem::GetThisClass()\n3323 CRuntime* COleDocument::GetThisClass()\n3324 CRuntime* COleException::GetThisClass()\n3325 CRuntime* COleInsertDialog::GetThisClass()\n3326 CRuntime* COleIPFrameWnd::GetThisClass()\n3327 CRuntime* COleLinkingDoc::GetThisClass()\n3328 CRuntime* COleLinksDialog::GetThisClass()\n3329 CRuntime* COleObjectFactory::GetThisClass()\n3330 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3331 CRuntime* COlePropertiesDialog::GetThisClass()\n3332 CRuntime* COlePropertyPage::GetThisClass()\n3333 CRuntime* COleResizeBar::GetThisClass()\n3334 CRuntime* COleServerDoc::GetThisClass()\n3335 CRuntime* COleServerItem::GetThisClass()\n3336 CRuntime* COleStreamFile::GetThisClass()\n3337 CRuntime* COleUpdateDialog::GetThisClass()\n3338 CRuntime* CPageSetupDialog::GetThisClass()\n3339 CRuntime* CPaintDC::GetThisClass()\n3340 CRuntime* CPalette::GetThisClass()\n3341 CRuntime* CPen::GetThisClass()\n3342 CRuntime* CPreviewDC::GetThisClass()\n3343 CRuntime* CPreviewView::GetThisClass()\n3344 CRuntime* CPrintDialog::GetThisClass()\n3345 CRuntime* CPrintDialogEx::GetThisClass()\n3346 CRuntime* CProgressCtrl::GetThisClass()\n3347 CRuntime* CPropertyPage::GetThisClass()\n3348 CRuntime* CPropertySheet::GetThisClass()\n3349 CRuntime* CPtrArray::GetThisClass()\n3350 CRuntime* CPtrList::GetThisClass()\n3351 CRuntime* CReBar::GetThisClass()\n3352 CRuntime* CReBarCtrl::GetThisClass()\n3353 CRuntime* CRecordset::GetThisClass()\n3354 CRuntime* CRecordView::GetThisClass()\n3355 CRuntime* CResourceException::GetThisClass()\n3356 CRuntime* CRgn::GetThisClass()\n3357 CRuntime* CRichEditCntrItem::GetThisClass()\n3358 CRuntime* CRichEditCtrl::GetThisClass()\n3359 CRuntime* CRichEditDoc::GetThisClass()\n3360 CRuntime* CRichEditView::GetThisClass()\n3361 CRuntime* CScrollBar::GetThisClass()\n3362 CRuntime* CScrollView::GetThisClass()\n3363 CRuntime* CSemaphore::GetThisClass()\n3364 CRuntime* CSharedFile::GetThisClass()\n3365 CRuntime* CSingleDocTemplate::GetThisClass()\n3366 CRuntime* CSliderCtrl::GetThisClass()\n3367 CRuntime* CSocket::GetThisClass()\n3368 CRuntime* CSocketFile::GetThisClass()\n3369 CRuntime* CSpinButtonCtrl::GetThisClass()\n3370 CRuntime* CSplitterWnd::GetThisClass()\n3371 CRuntime* CStatic::GetThisClass()\n3372 CRuntime* CStatusBar::GetThisClass()\n3373 CRuntime* CStatusBarCtrl::GetThisClass()\n3374 CRuntime* CStdioFile::GetThisClass()\n3375 CRuntime* CStringArray::GetThisClass()\n3376 CRuntime* CStringList::GetThisClass()\n3377 CRuntime* CSyncObject::GetThisClass()\n3378 CRuntime* CTabCtrl::GetThisClass()\n3379 CRuntime* CToolBar::GetThisClass()\n3380 CRuntime* CToolBarCtrl::GetThisClass()\n3381 CRuntime* CToolTipCtrl::GetThisClass()\n3382 CRuntime* CTreeCtrl::GetThisClass()\n3383 CRuntime* CTreeView::GetThisClass()\n3384 CRuntime* CUIntArray::GetThisClass()\n3385 CRuntime* CUserException::GetThisClass()\n3386 CRuntime* CView::GetThisClass()\n3387 CRuntime* CWinApp::GetThisClass()\n3388 CRuntime* CWindowDC::GetThisClass()\n3389 CRuntime* CWindowlessDC::GetThisClass()\n3390 CRuntime* CWinThread::GetThisClass()\n3391 CRuntime* CWnd::GetThisClass()\n3392 CRuntime* CWordArray::GetThisClass()\n3393 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3394 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3395 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3396 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3397 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3398 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3399 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3400 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3401 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3402 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3403 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3404 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3405 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3406 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3407 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3408 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3409 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3410 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3411 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3412 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3413 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3414 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3415 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3416 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3417 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3418 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3419 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3420 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3421 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3422 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3423 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3424 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3425 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3426 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3427 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3428 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3429 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3430 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3431 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3432 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3433 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3434 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3435 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3436 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3437 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3438 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3439 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3440 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3441 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3442 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3443 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3444 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3445 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3446 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3447 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3448 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3449 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3450 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3451 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3452 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3453 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3454 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3455 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3456 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3457 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3458 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3459 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3460 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3461 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3462 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3463 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3464 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3465 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3466 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3467 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3468 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3469 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3470 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3471 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3472 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3473 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3474 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3475 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3476 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3477 AFX_MSGMAP const * CView::GetThisMessageMap()\n3478 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3479 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3480 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3481 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3482 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n3483 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3484 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3485 int CHtmlView::GetToolBar()const \n3486 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3487 long CHtmlView::GetTop()const \n3488 int CHtmlView::GetTopLevelContainer()const \n3489 CFrameWnd * CWnd::GetTopLevelFrame()const \n3490 CWnd * CWnd::GetTopLevelOwner()const \n3491 CWnd * CWnd::GetTopLevelParent()const \n3492 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3493 void CRectTracker::GetTrueRect(tagRECT *)const \n3494 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n3495 short CPictureHolder::GetType()\n3496 unsigned long CProperty::GetType()\n3497 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3498 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3499 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3500 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3501 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3502 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3503 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3504 unsigned int CCmdTarget::GetTypeInfoCount()\n3505 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3506 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3507 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3508 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3509 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3510 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3511 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3512 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3513 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3514 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3515 void COleSafeArray::GetUBound(unsigned long,long *)\n3516 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3517 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3518 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3519 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3520 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3521 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3522 void COleControl::GetUserType(wchar_t *)\n3523 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3524 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3525 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3526 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3527 void * CMapPtrToPtr::GetValueAt(void *)const \n3528 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n3529 unsigned long CDockState::GetVersion()\n3530 CHtmlEditView * CHtmlEditDoc::GetView()const \n3531 CRichEditView * CRichEditDoc::GetView()const \n3532 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3533 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3534 int CHtmlView::GetVisible()const \n3535 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3536 long CHtmlView::GetWidth()const \n3537 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3538 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3539 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3540 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3541 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3542 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3543 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3544 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3545 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3546 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3547 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3548 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3549 long CWnd::GetWindowedChildCount()\n3550 long CWnd::GetWindowLessChildCount()\n3551 IDropTarget * COleControl::GetWindowlessDropTarget()\n3552 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3553 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3554 int CWnd::GetWindowTextLengthW()const \n3555 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3556 int CWnd::GetWindowTextW(wchar_t *,int)const \n3557 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3558 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3559 long COleDropSource::GiveFeedback(unsigned long)\n3560 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3561 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3562 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3563 void CMemFile::GrowFile(unsigned long)\n3564 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3565 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3566 long CDialog::HandleInitDialog(unsigned int,long)\n3567 long CDialogBar::HandleInitDialog(unsigned int,long)\n3568 long CFormView::HandleInitDialog(unsigned int,long)\n3569 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3570 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3571 long CScrollView::HandleMButtonDown(unsigned int,long)\n3572 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3573 int COleControlContainer::HandleSetFocus()\n3574 long CDialog::HandleSetFont(unsigned int,long)\n3575 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3576 long COleControl::XPersistStorage::HandsOffStorage()\n3577 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3578 int COleDocument::HasBlankItems()const \n3579 int CDialogTemplate::HasFont()const \n3580 unsigned int HashKey(tagVARIANT const &)\n3581 unsigned int HashKey(wchar_t const *)\n3582 unsigned int HashKey(char const *)\n3583 unsigned int HashKey(ATL::CComBSTR)\n3584 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3585 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n3586 void * CFile::hFileNull\n3587 void CWinApp::HideApplication()\n3588 void CFileDialog::HideControl(int)\n3589 long CBrowserControlSite::HideUI()\n3590 long CDHtmlDialog::HideUI()\n3591 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3592 void CDC::HIMETRICtoDP(tagSIZE *)const \n3593 void CDC::HIMETRICtoLP(tagSIZE *)const \n3594 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3595 int CRectTracker::HitTest(CPoint)const \n3596 int CSplitterWnd::HitTest(CPoint)const \n3597 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n3598 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3599 int CRectTracker::HitTestHandles(CPoint)const \n3600 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n3601 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n3602 int CSplitterWnd::IdFromRowCol(int,int)const \n3603 void COlePropertyPage::IgnoreApply(unsigned int)\n3604 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3605 int CWinApp::InitApplication()\n3606 long COleControl::XOleCache::InitCache(IDataObject *)\n3607 int CWnd::InitControlContainer()\n3608 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3609 long CPrintDialogEx::InitDone()\n3610 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3611 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3612 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3613 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3614 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3615 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3616 void CMapStringToOb::InitHashTable(unsigned int,int)\n3617 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3618 void CMapStringToString::InitHashTable(unsigned int,int)\n3619 void CMapWordToOb::InitHashTable(unsigned int,int)\n3620 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3621 long CDataSourceControl::Initialize()\n3622 void CDHtmlDialog::Initialize()\n3623 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3624 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3625 int CEditView::InitializeReplace()\n3626 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3627 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3628 int COleControlModule::InitInstance()\n3629 int CWinApp::InitInstance()\n3630 int CWinThread::InitInstance()\n3631 void CWinApp::InitLibId()\n3632 void CDockContext::InitLoop()\n3633 int CDialog::InitModalIndirect(void *,CWnd *)\n3634 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3635 long COleControl::XPersistMemory::InitNew()\n3636 long COleControl::XPersistPropertyBag::InitNew()\n3637 long COleControl::XPersistStorage::InitNew(IStorage *)\n3638 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3639 long COleControl::XPersistStreamInit::InitNew()\n3640 void CRecordset::InitRecord()\n3641 void COleControl::InitStockEventMask()\n3642 void COleControl::InitStockPropMask()\n3643 void CSimpleException::InitString()\n3644 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3645 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3646 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3647 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3648 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3649 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3650 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n3651 void CByteArray::InsertAt(int,unsigned char,int)\n3652 void CByteArray::InsertAt(int,CByteArray *)\n3653 void CDWordArray::InsertAt(int,unsigned long,int)\n3654 void CDWordArray::InsertAt(int,CDWordArray *)\n3655 void CObArray::InsertAt(int,CObArray *)\n3656 void CObArray::InsertAt(int,CObject *,int)\n3657 void CPtrArray::InsertAt(int,CPtrArray *)\n3658 void CPtrArray::InsertAt(int,void *,int)\n3659 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n3660 void CStringArray::InsertAt(int,CStringArray *)\n3661 void CStringArray::InsertAt(int,wchar_t const *,int)\n3662 void CUIntArray::InsertAt(int,unsigned int,int)\n3663 void CUIntArray::InsertAt(int,CUIntArray *)\n3664 void CWordArray::InsertAt(int,unsigned short,int)\n3665 void CWordArray::InsertAt(int,CWordArray *)\n3666 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3667 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3668 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3669 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n3670 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n3671 void CStringArray::InsertEmpty(int,int)\n3672 void CRichEditView::InsertFileAsObject(wchar_t const *)\n3673 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n3674 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n3675 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3676 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n3677 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n3678 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3679 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3680 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3681 CFontHolder & COleControl::InternalGetFont()\n3682 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n3683 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3684 unsigned long CCmdTarget::InternalRelease()\n3685 int CDC::IntersectClipRect(int,int,int,int)\n3686 int CDC::IntersectClipRect(tagRECT const *)\n3687 void CCheckListBox::InvalidateCheck(int)\n3688 void COleControl::InvalidateControl(tagRECT const *,int)\n3689 void CCheckListBox::InvalidateItem(int)\n3690 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3691 void COleControl::InvalidateRgn(CRgn *,int)\n3692 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3693 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3694 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3695 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3696 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3697 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3698 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3699 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3700 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3701 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3702 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3703 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3704 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3705 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3706 int CDocItem::IsBlank()const \n3707 int COleServerItem::IsBlank()const \n3708 int CPropertyPage::IsButtonEnabled(int)\n3709 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3710 int COleServerItem::IsConnected()const \n3711 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3712 int COleControlSite::IsDefaultButton()\n3713 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3714 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n3715 int CWnd::IsDialogMessageW(tagMSG *)\n3716 long CBlobProperty::IsDirty()\n3717 long COleLinkingDoc::XPersistFile::IsDirty()\n3718 long COleControl::XPersistMemory::IsDirty()\n3719 long COleControl::XPersistStorage::IsDirty()\n3720 long COleServerDoc::XPersistStorage::IsDirty()\n3721 long COleControl::XPersistStreamInit::IsDirty()\n3722 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3723 unsigned int CWnd::IsDlgButtonChecked(int)const \n3724 int CControlBar::IsDockBar()const \n3725 int CDockBar::IsDockBar()const \n3726 int CFileFind::IsDots()const \n3727 int CGopherFileFind::IsDots()const \n3728 int CCheckListBox::IsEnabled(int)\n3729 int CDHtmlDialog::IsExternalDispatchSafe()\n3730 int CRecordset::IsFieldDirty(void *)\n3731 int CRecordset::IsFieldNull(void *)\n3732 int CRecordset::IsFieldNullable(void *)\n3733 int CRecordset::IsFieldNullable(unsigned long)const \n3734 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3735 int CRecordset::IsFieldStatusNull(unsigned long)const \n3736 int CFieldExchange::IsFieldType(unsigned int *)\n3737 int CControlBar::IsFloating()const \n3738 int CFrameWnd::IsFrameWnd()const \n3739 int CWnd::IsFrameWnd()const \n3740 int IsHelpKey(tagMSG *)\n3741 int CWinThread::IsIdleMessage(tagMSG *)\n3742 int CCmdTarget::IsInvokeAllowed(long)\n3743 int COleControl::IsInvokeAllowed(long)\n3744 int CRecordset::IsJoin(wchar_t const *)\n3745 int CObject::IsKindOf(CRuntimeconst *)const \n3746 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3747 int COccManager::IsLabelControl(CWnd *)\n3748 int COleObjectFactory::IsLicenseValid()\n3749 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3750 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3751 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3752 int CHtmlEditDoc::IsModified()\n3753 int COleClientItem::IsModified()const \n3754 int COleControl::IsModified()\n3755 int COlePropertyPage::IsModified()\n3756 int CRichEditDoc::IsModified()\n3757 int CRecordView::IsOnFirstRecord()\n3758 int CRecordView::IsOnLastRecord()\n3759 int CRecordset::IsOpen()const \n3760 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3761 int CRecordset::IsParamStatusNull(unsigned long)const \n3762 int CRecordset::IsRecordsetUpdatable()\n3763 int CCmdTarget::IsResultExpected()\n3764 int CRichEditView::IsRichEditFormat(unsigned short)\n3765 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3766 int CRichEditView::IsSelected(CObject const *)const \n3767 int CView::IsSelected(CObject const *)const \n3768 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n3769 int CObject::IsSerializable()const \n3770 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3771 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3772 int CRecordset::IsSQLUpdatable(wchar_t const *)\n3773 int COleControl::IsSubclassedControl()\n3774 int CWnd::IsTopParentActive()const \n3775 int CFrameWnd::IsTracking()const \n3776 long CDocObjectServer::XOleObject::IsUpToDate()\n3777 long COleControl::XOleObject::IsUpToDate()\n3778 long COleServerDoc::XOleObject::IsUpToDate()\n3779 long COleServerItem::XOleObject::IsUpToDate()\n3780 int CControlBar::IsVisible()const \n3781 int COleControlSite::IsWindowEnabled()const \n3782 int CWnd::IsWindowEnabled()const \n3783 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3784 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3785 void COleControl::KeyDown(unsigned short *)\n3786 void COleControl::KeyUp(unsigned short *)\n3787 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3788 void CToolBar::Layout()\n3789 int CRichEditCtrl::LineIndex(int)const \n3790 int CRichEditCtrl::LineLength(int)const \n3791 void CRichEditCtrl::LineScroll(int,int)\n3792 int CDC::LineTo(int,int)\n3793 unsigned long CRichEditView::lMaxSize\n3794 long CBlobProperty::Load(IStream *)\n3795 int CDialogTemplate::Load(wchar_t const *)\n3796 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n3797 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n3798 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n3799 long COleControl::XPersistMemory::Load(void *,unsigned long)\n3800 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n3801 long COleControl::XPersistStorage::Load(IStorage *)\n3802 long COleServerDoc::XPersistStorage::Load(IStorage *)\n3803 long COleControl::XPersistStreamInit::Load(IStream *)\n3804 int CFrameWnd::LoadAccelTable(wchar_t const *)\n3805 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n3806 void CFrameWnd::LoadBarState(wchar_t const *)\n3807 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n3808 int CToolBar::LoadBitmapW(wchar_t const *)\n3809 void CRecordset::LoadFields()\n3810 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3811 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3812 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3813 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n3814 int CDHtmlDialog::LoadFromResource(unsigned int)\n3815 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n3816 int CHtmlView::LoadFromResource(unsigned int)\n3817 int CHtmlView::LoadFromResource(wchar_t const *)\n3818 void COleDocument::LoadFromStorage()\n3819 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n3820 void CDockState::LoadState(wchar_t const *)\n3821 long COleControl::LoadState(IStream *)\n3822 void CWinApp::LoadStdProfileSettings(unsigned int)\n3823 int CWinApp::LoadSysPolicies()\n3824 void CDocTemplate::LoadTemplate()\n3825 void CMultiDocTemplate::LoadTemplate()\n3826 int CToolBar::LoadToolBar(wchar_t const *)\n3827 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n3828 void COleSafeArray::Lock()\n3829 int CSingleLock::Lock(unsigned long)\n3830 int CSyncObject::Lock(unsigned long)\n3831 void CTypeLibCache::Lock()\n3832 wchar_t const * CEditView::LockBuffer()const \n3833 long COleControlContainer::XOleContainer::LockContainer(int)\n3834 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n3835 void COleLinkingDoc::LockExternal(int,int)\n3836 int COleControl::LockInPlaceActive(int)\n3837 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n3838 void CFile::LockRange(unsigned __int64,unsigned __int64)\n3839 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n3840 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n3841 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n3842 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n3843 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n3844 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n3845 long COleObjectFactory::XClassFactory::LockServer(int)\n3846 int CMapPtrToPtr::Lookup(void *,void * &)const \n3847 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n3848 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n3849 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n3850 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3851 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n3852 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n3853 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n3854 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n3855 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n3856 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n3857 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n3858 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n3859 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n3860 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n3861 void CDC::LPtoDP(tagSIZE *)const \n3862 void CDC::LPtoHIMETRIC(tagSIZE *)const \n3863 void CArchive::MapObject(CObject const *)\n3864 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n3865 int COleDialog::MapResult(unsigned int)\n3866 long CPropertyPage::MapWizardResult(long)\n3867 void CRecordset::MarkForAddNew()\n3868 void CRecordset::MarkForUpdate()\n3869 void CRichEditDoc::MarkItemsClear()const \n3870 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n3871 int CFileFind::MatchesMask(unsigned long)const \n3872 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n3873 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n3874 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n3875 void CComboBox::MeasureItem(tagMEASUREITEM*)\n3876 void CListBox::MeasureItem(tagMEASUREITEM*)\n3877 void CMenu::MeasureItem(tagMEASUREITEM*)\n3878 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n3879 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n3880 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n3881 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n3882 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n3883 void CPreviewDC::MirrorAttributes()\n3884 void CPreviewDC::MirrorFont()\n3885 void CPreviewDC::MirrorMappingMode(int)\n3886 void CPreviewDC::MirrorViewportOrg()\n3887 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3888 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n3889 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n3890 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3891 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n3892 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n3893 void CDockContext::Move(CPoint)\n3894 void CRecordset::Move(long,unsigned short)\n3895 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n3896 CPoint CDC::MoveTo(int,int)\n3897 void COleControlSite::MoveWindow(int,int,int,int)\n3898 void CWnd::MoveWindow(int,int,int,int,int)\n3899 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n3900 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n3901 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n3902 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n3903 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n3904 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n3905 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n3906 unsigned int COleDropSource::nDragDelay\n3907 unsigned int COleDropSource::nDragMinDist\n3908 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n3909 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n3910 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n3911 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n3912 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n3913 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n3914 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n3915 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n3916 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n3917 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n3918 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n3919 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n3920 unsigned int const CEditView::nMaxSize\n3921 int CRectTracker::NormalizeHit(int)const \n3922 void CDataBoundProperty::Notify()\n3923 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n3924 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n3925 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n3926 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n3927 void COleServerDoc::NotifyRename(wchar_t const *)\n3928 unsigned int COleDropTarget::nScrollDelay\n3929 int COleDropTarget::nScrollInset\n3930 unsigned int COleDropTarget::nScrollInterval\n3931 int CDC::OffsetClipRgn(int,int)\n3932 int CDC::OffsetClipRgn(tagSIZE)\n3933 CPoint CDC::OffsetViewportOrg(int,int)\n3934 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n3935 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n3936 CPoint CDC::OffsetWindowOrg(int,int)\n3937 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3938 void CAsyncSocket::OnAccept(int)\n3939 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3940 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n3941 void COleClientItem::OnActivate()\n3942 void COleFrameHook::OnActivate(int)\n3943 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n3944 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n3945 long COleControl::OnActivateInPlace(int,tagMSG *)\n3946 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n3947 long CWnd::OnActivateTopLevel(unsigned int,long)\n3948 void COleClientItem::OnActivateUI()\n3949 long CDocObjectServer::OnActivateView()\n3950 void CFormView::OnActivateView(int,CView *,CView *)\n3951 void CPreviewView::OnActivateView(int,CView *,CView *)\n3952 void CRichEditView::OnActivateView(int,CView *,CView *)\n3953 void CView::OnActivateView(int,CView *,CView *)\n3954 long CToolTipCtrl::OnAddTool(unsigned int,long)\n3955 void CConnectionPoint::OnAdvise(int)\n3956 void COleControl::XEventConnPt::OnAdvise(int)\n3957 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n3958 void COleControl::OnAmbientPropertyChange(long)\n3959 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n3960 void COleControl::OnAppearanceChanged()\n3961 void CWinApp::OnAppExit()\n3962 int CPropertyPage::OnApply()\n3963 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n3964 void CDocObjectServer::OnApplyViewState(CArchive &)\n3965 void COleControl::OnBackColorChanged()\n3966 int CFrameWnd::OnBarCheck(unsigned int)\n3967 int COleIPFrameWnd::OnBarCheck(unsigned int)\n3968 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n3969 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n3970 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n3971 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n3972 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n3973 int COleDropSource::OnBeginDrag(CWnd *)\n3974 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3975 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n3976 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n3977 void COleControl::OnBorderStyleChanged()\n3978 void CRichEditView::OnBullet()\n3979 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n3980 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n3981 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n3982 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n3983 void CCommonDialog::OnCancel()\n3984 void CDialog::OnCancel()\n3985 void CPropertyPage::OnCancel()\n3986 void CRichEditView::OnCancelEditCntr()\n3987 void COleControl::OnCancelMode()\n3988 void CSplitterWnd::OnCancelMode()\n3989 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n3990 long COleControl::XFontNotification::OnChanged(long)\n3991 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n3992 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n3993 void CRectTracker::OnChangedRect(CRect const &)\n3994 void CDocument::OnChangedViewList()\n3995 int COleClientItem::OnChangeItemPosition(CRect const &)\n3996 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n3997 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n3998 void CRichEditView::OnCharBold()\n3999 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4000 void CRichEditView::OnCharItalic()\n4001 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4002 void CRichEditView::OnCharUnderline()\n4003 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4004 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4005 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4006 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4007 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4008 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4009 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4010 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4011 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4012 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4013 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4014 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4015 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4016 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4017 void COleControl::OnClick(unsigned short)\n4018 CEnumArray * CEnumArray::OnClone()\n4019 CEnumArray * CEnumConnections::OnClone()\n4020 void CAsyncSocket::OnClose(int)\n4021 void CControlFrameWnd::OnClose()\n4022 void CFrameWnd::OnClose()\n4023 void CMiniDockFrameWnd::OnClose()\n4024 void COleControl::OnClose(unsigned long)\n4025 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4026 void CPropertySheet::OnClose()\n4027 void COleClientItem::XAdviseSink::OnClose()\n4028 void CDocObjectServer::OnCloseDocument()\n4029 void CDocument::OnCloseDocument()\n4030 void COleDocument::OnCloseDocument()\n4031 void COleLinkingDoc::OnCloseDocument()\n4032 void COleServerDoc::OnCloseDocument()\n4033 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4034 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4035 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4036 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4037 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4038 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4039 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4040 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4041 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4042 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4043 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4044 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4045 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4046 void CRichEditView::OnColorDefault()\n4047 int CColorDialog::OnColorOK()\n4048 void CRichEditView::OnColorPick(unsigned long)\n4049 int CFrameWnd::OnCommand(unsigned int,long)\n4050 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4051 int COlePropertyPage::OnCommand(unsigned int,long)\n4052 int CPropertySheet::OnCommand(unsigned int,long)\n4053 int CSplitterWnd::OnCommand(unsigned int,long)\n4054 int CWnd::OnCommand(unsigned int,long)\n4055 long CDialog::OnCommandHelp(unsigned int,long)\n4056 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4057 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4058 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4059 void CHtmlView::OnCommandStateChange(long,int)\n4060 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4061 void CAsyncSocket::OnConnect(int)\n4062 void CFrameWnd::OnContextHelp()\n4063 int COleFrameHook::OnContextHelp(int)\n4064 void COleIPFrameWnd::OnContextHelp()\n4065 void CWinApp::OnContextHelp()\n4066 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4067 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n4068 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n4069 int CEditView::OnCreate(tagCREATESTRUCTW *)\n4070 int CFormView::OnCreate(tagCREATESTRUCTW *)\n4071 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4072 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n4073 int COleControl::OnCreate(tagCREATESTRUCTW *)\n4074 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4075 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n4076 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n4077 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n4078 int CView::OnCreate(tagCREATESTRUCTW *)\n4079 int CCmdTarget::OnCreateAggregates()\n4080 int COleControl::OnCreateAggregates()\n4081 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4082 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4083 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4084 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4085 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n4086 CCmdTarget * COleObjectFactory::OnCreateObject()\n4087 CCmdTarget * COleTemplateServer::OnCreateObject()\n4088 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4089 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4090 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4091 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4092 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4093 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4094 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4095 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4096 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4097 int CDocManager::OnDDECommand(wchar_t *)\n4098 int CWinApp::OnDDECommand(wchar_t *)\n4099 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4100 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4101 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4102 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n4103 void COleClientItem::OnDeactivate()\n4104 void COleServerDoc::OnDeactivate()\n4105 void COleClientItem::OnDeactivateAndUndo()\n4106 void COleClientItem::OnDeactivateUI(int)\n4107 void COleServerDoc::OnDeactivateUI(int)\n4108 void CRichEditCntrItem::OnDeactivateUI(int)\n4109 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4110 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4111 void CControlBar::OnDestroy()\n4112 void CDHtmlDialog::OnDestroy()\n4113 void CEditView::OnDestroy()\n4114 void CFrameWnd::OnDestroy()\n4115 void CHtmlView::OnDestroy()\n4116 void CMDIChildWnd::OnDestroy()\n4117 void CMDIFrameWnd::OnDestroy()\n4118 void COleControl::OnDestroy()\n4119 void COleIPFrameWnd::OnDestroy()\n4120 void CRichEditView::OnDestroy()\n4121 void CTabCtrl::OnDestroy()\n4122 void CTreeCtrl::OnDestroy()\n4123 void CTreeView::OnDestroy()\n4124 void CView::OnDestroy()\n4125 void CWnd::OnDestroy()\n4126 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4127 void CRichEditView::OnDevModeChange(wchar_t *)\n4128 void CWnd::OnDevModeChange(wchar_t *)\n4129 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4130 void COleClientItem::OnDiscardUndoState()\n4131 void CSplitterWnd::OnDisplayChange()\n4132 long CWnd::OnDisplayChange(unsigned int,long)\n4133 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4134 int COleFrameHook::OnDocActivate(int)\n4135 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n4136 void CHtmlView::OnDocumentComplete(wchar_t const *)\n4137 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4138 long CBrowserControlSite::OnDocWindowActivate(int)\n4139 long CDHtmlDialog::OnDocWindowActivate(int)\n4140 long CHtmlView::OnDocWindowActivate(int)\n4141 void COleServerDoc::OnDocWindowActivate(int)\n4142 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4143 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4144 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4145 void CDocObjectServerItem::OnDoVerb(long)\n4146 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4147 void COleServerItem::OnDoVerb(long)\n4148 void CHtmlView::OnDownloadBegin()\n4149 void CHtmlView::OnDownloadComplete()\n4150 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4151 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4152 void COleDropTarget::OnDragLeave(CWnd *)\n4153 void CView::OnDragLeave()\n4154 long CWnd::OnDragList(unsigned int,long)\n4155 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4156 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4157 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4158 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4159 void CCtrlView::OnDraw(CDC *)\n4160 void CFormView::OnDraw(CDC *)\n4161 void CHtmlView::OnDraw(CDC *)\n4162 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4163 void CPreviewView::OnDraw(CDC *)\n4164 void CView::OnDraw(CDC *)\n4165 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4166 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4167 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4168 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4169 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4170 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4171 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4172 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4173 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4174 void CFrameWnd::OnDropFiles(HDROP__ *)\n4175 void CRichEditView::OnDropFiles(HDROP__ *)\n4176 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4177 int CEditView::OnEditChange()\n4178 void COleDocument::OnEditChangeIcon()\n4179 void CEditView::OnEditClear()\n4180 void CRichEditView::OnEditClear()\n4181 void COleDocument::OnEditConvert()\n4182 void CEditView::OnEditCopy()\n4183 void CHtmlView::OnEditCopy()\n4184 void CRichEditView::OnEditCopy()\n4185 void CEditView::OnEditCut()\n4186 void CHtmlView::OnEditCut()\n4187 void CRichEditView::OnEditCut()\n4188 void CEditView::OnEditFind()\n4189 void CRichEditView::OnEditFind()\n4190 void CEditView::OnEditFindReplace(int)\n4191 void CRichEditView::OnEditFindReplace(int)\n4192 void COleDocument::OnEditLinks()\n4193 void CEditView::OnEditPaste()\n4194 void CHtmlView::OnEditPaste()\n4195 void CRichEditView::OnEditPaste()\n4196 void CRichEditView::OnEditPasteSpecial()\n4197 void CRichEditView::OnEditProperties()\n4198 int COlePropertyPage::OnEditProperty(long)\n4199 void CRichEditView::OnEditRedo()\n4200 void CEditView::OnEditRepeat()\n4201 void CRichEditView::OnEditRepeat()\n4202 void CEditView::OnEditReplace()\n4203 void CRichEditView::OnEditReplace()\n4204 void CEditView::OnEditSelectAll()\n4205 void CRichEditView::OnEditSelectAll()\n4206 void CEditView::OnEditUndo()\n4207 void CRichEditView::OnEditUndo()\n4208 void CFrameWnd::OnEnable(int)\n4209 void CToolTipCtrl::OnEnable(int)\n4210 void COleControl::OnEnabledChanged()\n4211 long CHtmlView::OnEnableModeless(int)\n4212 void COleFrameHook::OnEnableModeless(int)\n4213 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4214 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4215 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4216 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4217 void CFrameWnd::OnEndSession(int)\n4218 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4219 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4220 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4221 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4222 int CFrameWnd::OnEraseBkgnd(CDC *)\n4223 int COleControl::OnEraseBkgnd(CDC *)\n4224 int COleResizeBar::OnEraseBkgnd(CDC *)\n4225 int CPreviewView::OnEraseBkgnd(CDC *)\n4226 int CReBar::OnEraseBkgnd(CDC *)\n4227 int CToolBar::OnEraseBkgnd(CDC *)\n4228 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4229 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4230 int COleControlSite::OnEvent(AFX_EVENT *)\n4231 void COleControl::OnEventAdvise(int)\n4232 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4233 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4234 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4235 void CDocument::OnFileClose()\n4236 void CFileDialog::OnFileNameChange()\n4237 int CFileDialog::OnFileNameOK()\n4238 void CDocManager::OnFileNew()\n4239 void CWinApp::OnFileNew()\n4240 void CDocManager::OnFileOpen()\n4241 void CWinApp::OnFileOpen()\n4242 void CHtmlView::OnFilePrint()\n4243 void CView::OnFilePrint()\n4244 void CView::OnFilePrintPreview()\n4245 void CWinApp::OnFilePrintSetup()\n4246 void CDocument::OnFileSave()\n4247 void CDocument::OnFileSaveAs()\n4248 void COleServerDoc::OnFileSaveCopyAs()\n4249 void CDocument::OnFileSendMail()\n4250 void COleDocument::OnFileSendMail()\n4251 void COleServerDoc::OnFileUpdate()\n4252 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4253 void CCmdTarget::OnFinalRelease()\n4254 void CDocument::OnFinalRelease()\n4255 void COleControl::OnFinalRelease()\n4256 void COlePropertyPage::OnFinalRelease()\n4257 void COleServerItem::OnFinalRelease()\n4258 void CWnd::OnFinalRelease()\n4259 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n4260 void CEditView::OnFindNext(wchar_t const *,int,int)\n4261 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n4262 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4263 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4264 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4265 long COleControlSite::XOleControlSite::OnFocus(int)\n4266 void CFileDialog::OnFolderChange()\n4267 void COleControl::OnFontChanged()\n4268 void COleControl::OnForeColorChanged()\n4269 void CRichEditView::OnFormatFont()\n4270 void COleControl::OnFrameClose()\n4271 long CBrowserControlSite::OnFrameWindowActivate(int)\n4272 long CDHtmlDialog::OnFrameWindowActivate(int)\n4273 long CHtmlView::OnFrameWindowActivate(int)\n4274 void COleServerDoc::OnFrameWindowActivate(int)\n4275 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4276 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4277 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4278 void COleControl::OnFreezeEvents(int)\n4279 void CHtmlView::OnFullScreen(int)\n4280 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4281 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4282 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4283 void COleClientItem::OnGetClipRect(CRect &)\n4284 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4285 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4286 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4287 unsigned int COleControl::OnGetDlgCode()\n4288 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4289 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4290 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4291 long CHtmlView::OnGetExternal(IDispatch * *)\n4292 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4293 HMENU__ * COleControl::OnGetInPlaceMenu()\n4294 void COleClientItem::OnGetItemPosition(CRect &)\n4295 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4296 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n4297 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n4298 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4299 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4300 long CWnd::OnGetObject(unsigned int,long)\n4301 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4302 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4303 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4304 long CStatusBar::OnGetText(unsigned int,long)\n4305 long CStatusBar::OnGetTextLength(unsigned int,long)\n4306 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4307 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4308 unsigned long COleControl::OnGetViewStatus()\n4309 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4310 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4311 void CFrameWnd::OnHelp()\n4312 int COlePropertyPage::OnHelp(wchar_t const *)\n4313 void CWinApp::OnHelp()\n4314 void CWnd::OnHelp()\n4315 void CWinApp::OnHelpFinder()\n4316 void CWnd::OnHelpFinder()\n4317 long CControlBar::OnHelpHitTest(unsigned int,long)\n4318 long CDialog::OnHelpHitTest(unsigned int,long)\n4319 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4320 void CWinApp::OnHelpIndex()\n4321 void CWnd::OnHelpIndex()\n4322 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4323 int CWnd::OnHelpInfo(tagHELPINFO *)\n4324 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4325 void CWinApp::OnHelpUsing()\n4326 void CWnd::OnHelpUsing()\n4327 void CDocObjectServerItem::OnHide()\n4328 long COleControl::OnHide()\n4329 void COleServerItem::OnHide()\n4330 void COleControl::OnHideToolBars()\n4331 long CHtmlView::OnHideUI()\n4332 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4333 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4334 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4335 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4336 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4337 void CDocTemplate::OnIdle()\n4338 void CDocument::OnIdle()\n4339 void COleDocument::OnIdle()\n4340 int CWinApp::OnIdle(long)\n4341 int CWinThread::OnIdle(long)\n4342 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4343 void CFrameWnd::OnIdleUpdateCmdUI()\n4344 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4345 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4346 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4347 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4348 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4349 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4350 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4351 int CDHtmlDialog::OnInitDialog()\n4352 int CDialog::OnInitDialog()\n4353 int COlePropertiesDialog::OnInitDialog()\n4354 int COlePropertyPage::OnInitDialog()\n4355 int CPropertySheet::OnInitDialog()\n4356 void CFileDialog::OnInitDone()\n4357 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4358 void CControlBar::OnInitialUpdate()\n4359 void CFormView::OnInitialUpdate()\n4360 void COleDBRecordView::OnInitialUpdate()\n4361 void CRecordView::OnInitialUpdate()\n4362 void CRichEditView::OnInitialUpdate()\n4363 void CView::OnInitialUpdate()\n4364 void CFrameWnd::OnInitMenu(CMenu *)\n4365 void COleFrameHook::OnInitMenu(CMenu *)\n4366 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4367 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4368 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4369 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4370 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4371 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4372 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4373 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4374 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4375 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4376 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4377 void CRichEditView::OnInsertObject()\n4378 void CSplitterWnd::OnInvertTracker(CRect const &)\n4379 void CDockContext::OnKey(int,int)\n4380 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4381 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4382 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4383 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4384 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4385 void COleControl::OnKeyPressEvent(unsigned short)\n4386 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4387 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4388 long CPropertySheet::OnKickIdle(unsigned int,long)\n4389 int CPropertyPage::OnKillActive()\n4390 void COleControl::OnKillFocus(CWnd *)\n4391 long CCheckListBox::OnLBAddString(unsigned int,long)\n4392 long CCheckListBox::OnLBFindString(unsigned int,long)\n4393 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4394 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4395 long CCheckListBox::OnLBGetText(unsigned int,long)\n4396 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4397 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4398 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4399 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4400 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4401 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4402 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4403 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4404 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4405 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4406 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4407 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4408 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4409 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4410 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4411 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4412 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4413 void CAsyncMonikerFile::OnLowResource()\n4414 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4415 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4416 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4417 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4418 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4419 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4420 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4421 void CHtmlView::OnMenuBar(int)\n4422 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4423 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4424 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4425 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4426 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4427 int CSocket::OnMessagePending()\n4428 void COleControl::OnMnemonic(tagMSG *)\n4429 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4430 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4431 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4432 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4433 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4434 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4435 void COleControl::OnMouseMove(unsigned int,CPoint)\n4436 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4437 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4438 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4439 void COleControl::OnMove(int,int)\n4440 int COleDBRecordView::OnMove(unsigned int)\n4441 int CRecordView::OnMove(unsigned int)\n4442 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4443 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4444 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n4445 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n4446 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n4447 int CFrameWnd::OnNcActivate(int)\n4448 int CMDIChildWnd::OnNcActivate(int)\n4449 int CMiniFrameWnd::OnNcActivate(int)\n4450 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4451 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4452 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4453 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4454 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4455 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n4456 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n4457 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n4458 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n4459 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n4460 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n4461 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n4462 void CListCtrl::OnNcDestroy()\n4463 void CListView::OnNcDestroy()\n4464 void CWnd::OnNcDestroy()\n4465 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4466 unsigned int COleControl::OnNcHitTest(CPoint)\n4467 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4468 unsigned int CToolBar::OnNcHitTest(CPoint)\n4469 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4470 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4471 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4472 void CDockBar::OnNcPaint()\n4473 void COleControl::OnNcPaint()\n4474 void CReBar::OnNcPaint()\n4475 void CStatusBar::OnNcPaint()\n4476 void CToolBar::OnNcPaint()\n4477 int CDocument::OnNewDocument()\n4478 int CHtmlEditDoc::OnNewDocument()\n4479 int COleDocument::OnNewDocument()\n4480 int COleLinkingDoc::OnNewDocument()\n4481 void COleServerDoc::OnNewEmbedding(IStorage *)\n4482 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4483 int CEnumArray::OnNext(void *)\n4484 int CEnumConnections::OnNext(void *)\n4485 int CEnumConnPoints::OnNext(void *)\n4486 int CEnumFormatEtc::OnNext(void *)\n4487 int CEnumOleVerb::OnNext(void *)\n4488 int CEnumUnknown::OnNext(void *)\n4489 void CPreviewView::OnNextPage()\n4490 int CView::OnNextPaneCmd(unsigned int)\n4491 int CFileDialog::OnNotify(unsigned int,long,long *)\n4492 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4493 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4494 int CWnd::OnNotify(unsigned int,long,long *)\n4495 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4496 long CWnd::OnNTCtlColor(unsigned int,long)\n4497 void CPreviewView::OnNumPageChange()\n4498 void COlePropertyPage::OnObjectsChanged()\n4499 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4500 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4501 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4502 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4503 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4504 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4505 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4506 void CCommonDialog::OnOK()\n4507 void CDialog::OnOK()\n4508 void CPropertyPage::OnOK()\n4509 long COleControl::OnOpen(int,tagMSG *)\n4510 void COleServerItem::OnOpen()\n4511 int CDocument::OnOpenDocument(wchar_t const *)\n4512 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n4513 int COleDocument::OnOpenDocument(wchar_t const *)\n4514 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n4515 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4516 int CWinApp::OnOpenRecentFile(unsigned int)\n4517 void CAsyncSocket::OnOutOfBandData(int)\n4518 void CCommonDialog::OnPaint()\n4519 void CControlBar::OnPaint()\n4520 void CCtrlView::OnPaint()\n4521 void CDialog::OnPaint()\n4522 void CDockBar::OnPaint()\n4523 void CHtmlEditView::OnPaint()\n4524 void CHtmlView::OnPaint()\n4525 void COleControl::OnPaint(CDC *)\n4526 int COleControlContainer::OnPaint(CDC *)\n4527 void COleResizeBar::OnPaint()\n4528 void CReBar::OnPaint()\n4529 void CSplitterWnd::OnPaint()\n4530 void CStatusBar::OnPaint()\n4531 void CToolBar::OnPaint()\n4532 void CView::OnPaint()\n4533 void CWnd::OnPaint()\n4534 void CFrameWnd::OnPaletteChanged(CWnd *)\n4535 void COleFrameHook::OnPaletteChanged(CWnd *)\n4536 void CRichEditView::OnParaAlign(unsigned short)\n4537 void CRichEditView::OnParaCenter()\n4538 void CRichEditView::OnParaLeft()\n4539 void CRichEditView::OnParaRight()\n4540 void CWnd::OnParentNotify(unsigned int,long)\n4541 int CRichEditView::OnPasteNativeObject(IStorage *)\n4542 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4543 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4544 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4545 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4546 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4547 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4548 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4549 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4550 int CEditView::OnPreparePrinting(CPrintInfo *)\n4551 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4552 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4553 int CView::OnPreparePrinting(CPrintInfo *)\n4554 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4555 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4556 void CPreviewView::OnPreviewClose()\n4557 void CPreviewView::OnPreviewPrint()\n4558 void CPreviewView::OnPrevPage()\n4559 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4560 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4561 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4562 void CView::OnPrint(CDC *,CPrintInfo *)\n4563 void CRichEditView::OnPrinterChanged(CDC const &)\n4564 void CPrintDialog::OnPrintSetup()\n4565 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n4566 void CHtmlView::OnProgressChange(long,long)\n4567 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4568 void CHtmlView::OnPropertyChange(wchar_t const *)\n4569 int CPropertyPage::OnQueryCancel()\n4570 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4571 int CFrameWnd::OnQueryEndSession()\n4572 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4573 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4574 int CFrameWnd::OnQueryNewPalette()\n4575 int COleFrameHook::OnQueryNewPalette()\n4576 int COleServerItem::OnQueryUpdateItems()\n4577 void CHtmlView::OnQuit()\n4578 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4579 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4580 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4581 int COleServerDoc::OnReactivateAndUndo()\n4582 void COleFrameHook::OnRecalcLayout()\n4583 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4584 void CReBar::OnRecalcParent()\n4585 void CAsyncSocket::OnReceive(int)\n4586 void COleControl::OnReflectorDestroyed()\n4587 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4588 void COleClientItem::OnRemoveMenus(CMenu *)\n4589 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4590 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4591 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4592 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4593 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4594 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4595 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4596 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4597 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4598 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4599 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4600 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4601 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4602 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4603 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4604 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4605 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4606 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n4607 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n4608 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n4609 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n4610 long COleControl::XFontNotification::OnRequestEdit(long)\n4611 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4612 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4613 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4614 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4615 void CEnumArray::OnReset()\n4616 void CPropertyPage::OnReset()\n4617 void COleControl::OnResetState()\n4618 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4619 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4620 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4621 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4622 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4623 void COleClientItem::XAdviseSink::OnSave()\n4624 int CDocument::OnSaveDocument(wchar_t const *)\n4625 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n4626 int COleDocument::OnSaveDocument(wchar_t const *)\n4627 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n4628 int COleServerDoc::OnSaveDocument(wchar_t const *)\n4629 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4630 void COleServerItem::OnSaveEmbedding(IStorage *)\n4631 void CDocObjectServer::OnSaveViewState(CArchive &)\n4632 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4633 int CView::OnScroll(unsigned int,unsigned int,int)\n4634 int COleClientItem::OnScrollBy(CSize)\n4635 int CScrollView::OnScrollBy(CSize,int)\n4636 int CView::OnScrollBy(CSize,int)\n4637 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4638 void CAsyncSocket::OnSend(int)\n4639 int CPropertyPage::OnSetActive()\n4640 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4641 long CToolBar::OnSetButtonSize(unsigned int,long)\n4642 void COleControl::OnSetClientSite()\n4643 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4644 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4645 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4646 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4647 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4648 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4649 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4650 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4651 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4652 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4653 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4654 long CPropertySheet::OnSetDefID(unsigned int,long)\n4655 int COleControl::OnSetExtent(tagSIZE *)\n4656 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4657 void CFormView::OnSetFocus(CWnd *)\n4658 void CFrameWnd::OnSetFocus(CWnd *)\n4659 void COleControl::OnSetFocus(CWnd *)\n4660 void CWnd::OnSetFocus(CWnd *)\n4661 long CCheckListBox::OnSetFont(unsigned int,long)\n4662 void CDialog::OnSetFont(CFont *)\n4663 long CEditView::OnSetFont(unsigned int,long)\n4664 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n4665 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4666 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4667 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4668 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4669 long COleControl::OnSetMessageString(unsigned int,long)\n4670 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4671 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4672 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4673 void CDatabase::OnSetOptions(void *)\n4674 void CRecordset::OnSetOptions(void *)\n4675 void COlePropertyPage::OnSetPageSite()\n4676 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4677 long CToolBar::OnSetSizeHelper(CSize &,long)\n4678 long COleControl::OnSetText(unsigned int,long)\n4679 long CStatusBar::OnSetText(unsigned int,long)\n4680 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n4681 void CRecordset::OnSetUpdateOptions(void *)\n4682 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n4683 void CDocObjectServerItem::OnShow()\n4684 void COleServerItem::OnShow()\n4685 long CReBar::OnShowBand(unsigned int,long)\n4686 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4687 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4688 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4689 void COleServerDoc::OnShowDocument(int)\n4690 void COleClientItem::OnShowItem()\n4691 void COleControl::OnShowToolBars()\n4692 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4693 void COleDocument::OnShowViews(int)\n4694 void COleLinkingDoc::OnShowViews(int)\n4695 void COleControl::OnShowWindow(int,unsigned int)\n4696 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4697 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4698 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4699 void CFrameWnd::OnSize(unsigned int,int,int)\n4700 void CHtmlView::OnSize(unsigned int,int,int)\n4701 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4702 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4703 void COleControl::OnSize(unsigned int,int,int)\n4704 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4705 void COleResizeBar::OnSize(unsigned int,int,int)\n4706 void CPreviewView::OnSize(unsigned int,int,int)\n4707 void CScrollView::OnSize(unsigned int,int,int)\n4708 void CSplitterWnd::OnSize(unsigned int,int,int)\n4709 void CStatusBar::OnSize(unsigned int,int,int)\n4710 long CControlBar::OnSizeParent(unsigned int,long)\n4711 long CDockBar::OnSizeParent(unsigned int,long)\n4712 long COleResizeBar::OnSizeParent(unsigned int,long)\n4713 int CEnumArray::OnSkip()\n4714 long CSocketWnd::OnSocketDead(unsigned int,long)\n4715 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4716 int CView::OnSplitCmd(unsigned int)\n4717 void CAsyncMonikerFile::OnStartBinding()\n4718 void CHtmlView::OnStatusBar(int)\n4719 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4720 void CHtmlView::OnStatusTextChange(wchar_t const *)\n4721 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n4722 void CToolBar::OnSysColorChange()\n4723 void CWnd::OnSysColorChange()\n4724 void CFrameWnd::OnSysCommand(unsigned int,long)\n4725 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4726 void CPropertySheet::OnSysCommand(unsigned int,long)\n4727 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4728 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4729 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4730 void COleControl::OnTextChanged()\n4731 void CEditView::OnTextNotFound(wchar_t const *)\n4732 void CRichEditView::OnTextNotFound(wchar_t const *)\n4733 void CHtmlView::OnTheaterMode(int)\n4734 void CControlBar::OnTimer(unsigned int)\n4735 void CHtmlView::OnTitleChange(wchar_t const *)\n4736 void CHtmlView::OnToolBar(int)\n4737 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4738 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4739 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4740 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4741 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4742 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4743 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4744 void CFileDialog::OnTypeChange()\n4745 void COleControlContainer::OnUIActivate(COleControlSite *)\n4746 long COleClientItem::XOleIPSite::OnUIActivate()\n4747 long COleControlSite::XOleIPSite::OnUIActivate()\n4748 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4749 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4750 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4751 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4752 void CView::OnUpdate(CView *,long,CObject *)\n4753 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4754 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4755 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4756 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4757 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4758 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4759 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4760 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4761 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4762 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4763 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4764 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4765 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4766 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4767 int COleServerDoc::OnUpdateDocument()\n4768 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4769 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4770 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4771 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n4772 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n4773 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n4774 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n4775 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n4776 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4777 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n4778 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n4779 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n4780 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n4781 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4782 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n4783 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n4784 void CFrameWnd::OnUpdateFrameTitle(int)\n4785 void CMDIChildWnd::OnUpdateFrameTitle(int)\n4786 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n4787 int COleClientItem::OnUpdateFrameTitle()\n4788 int COleFrameHook::OnUpdateFrameTitle()\n4789 void COleServerItem::OnUpdateItems()\n4790 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n4791 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n4792 void CEditView::OnUpdateNeedClip(CCmdUI *)\n4793 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n4794 void CEditView::OnUpdateNeedFind(CCmdUI *)\n4795 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n4796 void CEditView::OnUpdateNeedSel(CCmdUI *)\n4797 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n4798 void CEditView::OnUpdateNeedText(CCmdUI *)\n4799 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n4800 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n4801 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n4802 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n4803 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n4804 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n4805 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n4806 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n4807 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n4808 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n4809 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n4810 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n4811 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n4812 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n4813 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n4814 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n4815 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n4816 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n4817 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n4818 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n4819 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n4820 void CView::OnUpdateSplitCmd(CCmdUI *)\n4821 long CHtmlView::OnUpdateUI()\n4822 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n4823 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n4824 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n4825 void CHtmlView::OnVisible(int)\n4826 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n4827 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4828 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4829 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4830 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4831 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n4832 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n4833 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n4834 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n4835 void CMDIFrameWnd::OnWindowNew()\n4836 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n4837 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n4838 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4839 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n4840 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n4841 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n4842 long CPropertyPage::OnWizardBack()\n4843 int CPropertyPage::OnWizardFinish()\n4844 long CPropertyPage::OnWizardNext()\n4845 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n4846 void CPreviewView::OnZoomIn()\n4847 void CPreviewView::OnZoomOut()\n4848 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n4849 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n4850 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n4851 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n4852 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n4853 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n4854 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n4855 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n4856 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n4857 int CDataPathProperty::Open(CFileException *)\n4858 int CDataPathProperty::Open(COleControl *,CFileException *)\n4859 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n4860 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n4861 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n4862 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n4863 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n4864 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n4865 int CMonikerFile::Open(IMoniker *,CFileException *)\n4866 int CMonikerFile::Open(wchar_t const *,CFileException *)\n4867 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n4868 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n4869 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n4870 long CDocObjectServer::XOleDocumentView::Open()\n4871 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n4872 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n4873 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n4874 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n4875 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n4876 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n4877 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n4878 long COleUILinkInfo::OpenLinkSource(unsigned long)\n4879 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n4880 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n4881 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n4882 int CHtmlEditDoc::OpenURL(wchar_t const *)\n4883 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n4884 int CFileException::OsErrorToException(long)\n4885 void CDumpContext::OutputString(wchar_t const *)\n4886 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n4887 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n4888 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n4889 int CWnd::PaintWindowlessControls(CDC *)\n4890 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n4891 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n4892 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n4893 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n4894 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n4895 void CCommandLineInfo::ParseLast(int)\n4896 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n4897 void CCommandLineInfo::ParseParam(char const *,int,int)\n4898 void CCommandLineInfo::ParseParamFlag(char const *)\n4899 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n4900 void CCommandLineInfo::ParseParamNotFlag(char const *)\n4901 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n4902 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n4903 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n4904 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n4905 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n4906 int CDC::PlayMetaFile(HMETAFILE__ *)\n4907 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n4908 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n4909 int CDC::PolyBezierTo(tagPOINT const *,int)\n4910 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n4911 int CDC::PolylineTo(tagPOINT const *,int)\n4912 void CPreviewView::PositionPage(unsigned int)\n4913 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n4914 int CMonikerFile::PostBindToStream(CFileException *)\n4915 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n4916 void CDialog::PostModal()\n4917 void CPrintDialogEx::PostModal()\n4918 void COleControl::PostModalDialog(HWND__ *)\n4919 void CControlBar::PostNcDestroy()\n4920 void CControlFrameWnd::PostNcDestroy()\n4921 void CFindReplaceDialog::PostNcDestroy()\n4922 void CFrameWnd::PostNcDestroy()\n4923 void COleCntrFrameWnd::PostNcDestroy()\n4924 void CReflectorWnd::PostNcDestroy()\n4925 void CView::PostNcDestroy()\n4926 void CWnd::PostNcDestroy()\n4927 void CRecordset::PreBindFields()\n4928 void CDocument::PreCloseFrame(CFrameWnd *)\n4929 void COleDocument::PreCloseFrame(CFrameWnd *)\n4930 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n4931 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n4932 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n4933 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n4934 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4935 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n4936 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n4937 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4938 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n4939 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n4940 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4941 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4942 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4943 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n4944 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n4945 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n4946 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n4947 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n4948 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n4949 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n4950 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n4951 void CDialog::PreInitDialog()\n4952 void COleChangeSourceDialog::PreInitDialog()\n4953 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n4954 HWND__ * CDialog::PreModal()\n4955 HWND__ * CPrintDialogEx::PreModal()\n4956 void COleControl::PreModalDialog(HWND__ *)\n4957 void CRecordset::PrepareAndExecute()\n4958 HWND__ * CDataExchange::PrepareCtrl(int)\n4959 HWND__ * CDataExchange::PrepareEditCtrl(int)\n4960 void CWnd::PrepareForHelp()\n4961 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n4962 void CRecordset::PrepareUpdateHstmt()\n4963 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n4964 void CDragListBox::PreSubclassWindow()\n4965 void CWnd::PreSubclassWindow()\n4966 int CWnd::PreTranslateInput(tagMSG *)\n4967 int CControlBar::PreTranslateMessage(tagMSG *)\n4968 int CDialog::PreTranslateMessage(tagMSG *)\n4969 int CFormView::PreTranslateMessage(tagMSG *)\n4970 int CFrameWnd::PreTranslateMessage(tagMSG *)\n4971 int CHtmlView::PreTranslateMessage(tagMSG *)\n4972 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n4973 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n4974 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n4975 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n4976 int CPropertyPage::PreTranslateMessage(tagMSG *)\n4977 int CPropertySheet::PreTranslateMessage(tagMSG *)\n4978 int CWinThread::PreTranslateMessage(tagMSG *)\n4979 int CWnd::PreTranslateMessage(tagMSG *)\n4980 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n4981 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n4982 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n4983 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n4984 long CRichEditView::PrintPage(CDC *,long,long)\n4985 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n4986 long COleException::Process(CException const *)\n4987 int CSocket::ProcessAuxQueue()\n4988 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n4989 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n4990 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n4991 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n4992 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n4993 void COleSafeArray::PtrOfIndex(long *,void * *)\n4994 int CMetaFileDC::PtVisible(int,int)const \n4995 int CWinThread::PumpMessage()\n4996 int CSocket::PumpMessages(unsigned int)\n4997 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n4998 long CWnd::put_accName(tagVARIANT,wchar_t *)\n4999 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5000 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5001 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5002 void COleSafeArray::PutElement(long *,void *)\n5003 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n5004 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n5005 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n5006 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n5007 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n5008 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n5009 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5010 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n5011 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n5012 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n5013 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5014 int PX_Double(CPropExchange *,wchar_t const *,double &)\n5015 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n5016 int PX_Float(CPropExchange *,wchar_t const *,float &)\n5017 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n5018 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5019 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n5020 int PX_Long(CPropExchange *,wchar_t const *,long &)\n5021 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n5022 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n5023 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n5024 int PX_Short(CPropExchange *,wchar_t const *,short &)\n5025 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n5026 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5027 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n5028 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5029 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n5030 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5031 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n5032 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n5033 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5034 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5035 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5036 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5037 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5038 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5039 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5040 void * COleControl::QueryDefHandler(_GUID const &)\n5041 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5042 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5043 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5044 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5045 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5046 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5047 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5048 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5049 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n5050 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5051 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5052 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5053 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5054 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5055 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5056 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5057 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5058 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5059 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5060 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5061 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5062 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5063 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5064 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5065 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5066 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5067 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5068 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5069 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5070 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5071 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5072 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5073 long CPropertyPage::QuerySiblings(unsigned int,long)\n5074 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5075 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5076 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5077 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5078 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5079 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n5080 int COleControlSite::QuickActivate()\n5081 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5082 int COleClientItem::ReactivateAndUndo()\n5083 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5084 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5085 unsigned int CArchive::Read(void *,unsigned int)\n5086 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5087 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5088 unsigned int CFile::Read(void *,unsigned int)\n5089 int CImageList::Read(CArchive *)\n5090 unsigned int CInternetFile::Read(void *,unsigned int)\n5091 unsigned int CMemFile::Read(void *,unsigned int)\n5092 unsigned int COleStreamFile::Read(void *,unsigned int)\n5093 unsigned int CSocketFile::Read(void *,unsigned int)\n5094 unsigned int CStdioFile::Read(void *,unsigned int)\n5095 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5096 unsigned long CArchive::ReadCount()\n5097 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5098 int CProperty::ReadFromStream(IStream *)\n5099 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5100 int CPropertySet::ReadFromStream(IStream *)\n5101 void COleClientItem::ReadItem(CArchive &)\n5102 void COleClientItem::ReadItemCompound(CArchive &)\n5103 void COleClientItem::ReadItemFlat(CArchive &)\n5104 void CRecentFileList::ReadList()\n5105 int CPropertySection::ReadNameDictFromStream(IStream *)\n5106 CObject * CArchive::ReadObject(CRuntimeconst *)\n5107 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5108 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n5109 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5110 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n5111 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5112 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n5113 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5114 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5115 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5116 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5117 void CRecordset::RebindParams(void *)\n5118 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5119 void CFrameWnd::RecalcLayout(int)\n5120 void CMiniDockFrameWnd::RecalcLayout(int)\n5121 void COleCntrFrameWnd::RecalcLayout(int)\n5122 void COleDocIPFrameWnd::RecalcLayout(int)\n5123 void COleIPFrameWnd::RecalcLayout(int)\n5124 void CSplitterWnd::RecalcLayout()\n5125 int CAsyncSocket::Receive(void *,int,int)\n5126 int CSocket::Receive(void *,int,int)\n5127 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n5128 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5129 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5130 void COleControl::RecreateControlWindow()\n5131 CRect const CFrameWnd::rectDefault\n5132 int CMetaFileDC::RectVisible(tagRECT const *)const \n5133 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5134 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5135 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5136 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5137 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5138 void COleControl::Refresh()\n5139 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5140 int COleDropTarget::Register(CWnd *)\n5141 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n5142 int COleMessageFilter::Register()\n5143 int COleObjectFactory::Register()\n5144 int COleTemplateServer::Register()\n5145 int CWinApp::Register()\n5146 int COleObjectFactory::RegisterAll()\n5147 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n5148 void CDocManager::RegisterShellFileTypes(int)\n5149 void CWinApp::RegisterShellFileTypes(int)\n5150 unsigned long CArchiveStream::Release()\n5151 unsigned long CBlobProperty::Release()\n5152 unsigned long CBrowserControlSite::Release()\n5153 unsigned long CDHtmlControlSink::Release()\n5154 unsigned long CDHtmlElementEventSink::Release()\n5155 unsigned long CDHtmlEventSink::Release()\n5156 unsigned long CInnerUnknown::Release()\n5157 void COleClientItem::Release(enum tagOLECLOSE)\n5158 unsigned long COleConnPtContainer::Release()\n5159 void COleDataObject::Release()\n5160 unsigned long COleDispatchImpl::Release()\n5161 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5162 unsigned long COleUILinkInfo::Release()\n5163 unsigned long CPrintDialogEx::Release()\n5164 void CDC::ReleaseAttribDC()\n5165 void COleControl::ReleaseCaches()\n5166 int COleControl::ReleaseCapture()\n5167 int COleControl::ReleaseDC(CDC *)\n5168 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5169 void COleDispatchDriver::ReleaseDispatch()\n5170 void CDocObjectServer::ReleaseDocSite()\n5171 void CDocument::ReleaseFile(CFile *,int)\n5172 void CFontHolder::ReleaseFont()\n5173 void CDC::ReleaseOutputDC()\n5174 void CMetaFileDC::ReleaseOutputDC()\n5175 void CPreviewDC::ReleaseOutputDC()\n5176 int COleClientItem::Reload()\n5177 void CFile::Remove(wchar_t const *)\n5178 int CFtpConnection::Remove(wchar_t const *)\n5179 void CPropertySection::Remove(unsigned long)\n5180 void CPropertySet::Remove(_GUID)\n5181 void CPropertySet::Remove(_GUID,unsigned long)\n5182 void CRecentFileList::Remove(int)\n5183 int CSimpleList::Remove(void *)\n5184 void CMapPtrToPtr::RemoveAll()\n5185 void CMapPtrToWord::RemoveAll()\n5186 void CMapStringToOb::RemoveAll()\n5187 void CMapStringToPtr::RemoveAll()\n5188 void CMapStringToString::RemoveAll()\n5189 void CMapWordToOb::RemoveAll()\n5190 void CMapWordToPtr::RemoveAll()\n5191 void CObList::RemoveAll()\n5192 void CPropertySection::RemoveAll()\n5193 void CPropertySet::RemoveAll()\n5194 void CPtrList::RemoveAll()\n5195 void CStringList::RemoveAll()\n5196 void CTypeLibCacheMap::RemoveAll(void *)\n5197 void CByteArray::RemoveAt(int,int)\n5198 void CDWordArray::RemoveAt(int,int)\n5199 void CObArray::RemoveAt(int,int)\n5200 void CObList::RemoveAt(__POSITION *)\n5201 void CPtrArray::RemoveAt(int,int)\n5202 void CPtrList::RemoveAt(__POSITION *)\n5203 void CStringArray::RemoveAt(int,int)\n5204 void CStringList::RemoveAt(__POSITION *)\n5205 void CUIntArray::RemoveAt(int,int)\n5206 void CWordArray::RemoveAt(int,int)\n5207 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5208 void CFrameWnd::RemoveControlBar(CControlBar *)\n5209 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n5210 void CDocTemplate::RemoveDocument(CDocument *)\n5211 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5212 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5213 void COleControl::RemoveFrameLevelUI()\n5214 void CFrameWnd::RemoveFrameWnd()\n5215 CObject * CObList::RemoveHead()\n5216 void * CPtrList::RemoveHead()\n5217 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n5218 void CListCtrl::RemoveImageList(int)\n5219 void CListView::RemoveImageList(int)\n5220 void CTreeCtrl::RemoveImageList(int)\n5221 void CTreeView::RemoveImageList(int)\n5222 void COleDocument::RemoveItem(CDocItem *)\n5223 int CMapPtrToPtr::RemoveKey(void *)\n5224 int CMapPtrToWord::RemoveKey(void *)\n5225 int CMapStringToOb::RemoveKey(wchar_t const *)\n5226 int CMapStringToPtr::RemoveKey(wchar_t const *)\n5227 int CMapStringToString::RemoveKey(wchar_t const *)\n5228 int CMapWordToOb::RemoveKey(unsigned short)\n5229 int CMapWordToPtr::RemoveKey(unsigned short)\n5230 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5231 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5232 void CPropertySheet::RemovePage(int)\n5233 void CPropertySheet::RemovePage(CPropertyPage *)\n5234 void CDockBar::RemovePlaceHolder(CControlBar *)\n5235 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5236 void CDataBoundProperty::RemoveSource()\n5237 CObject * CObList::RemoveTail()\n5238 void * CPtrList::RemoveTail()\n5239 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n5240 void CDocument::RemoveView(CView *)\n5241 void CFile::Rename(wchar_t const *,wchar_t const *)\n5242 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n5243 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5244 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5245 void CDatabase::ReplaceBrackets(wchar_t *)\n5246 int CException::ReportError(unsigned int,unsigned int)\n5247 int COleClientItem::ReportError(long)const \n5248 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5249 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5250 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5251 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5252 int CRecordset::Requery()\n5253 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5254 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5255 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5256 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5257 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5258 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5259 long COleControlSite::XOleIPSite::RequestUIActivate()\n5260 long CEnumArray::XEnumVOID::Reset()\n5261 void CRecordset::ResetCursor()\n5262 void CCachedDataPathProperty::ResetData()\n5263 void CDataPathProperty::ResetData()\n5264 void COleControl::ResetStockProps()\n5265 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5266 void COleControl::ResetVersion(unsigned long)\n5267 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5268 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5269 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5270 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5271 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5272 void COleControl::ResizeFrameWindow(int,int)\n5273 void COleSafeArray::ResizeOneDim(unsigned long)\n5274 void COleControl::ResizeOpenControl(int,int)\n5275 void CScrollView::ResizeParentToFit(int)\n5276 int CDC::RestoreDC(int)\n5277 int CPreviewDC::RestoreDC(int)\n5278 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n5279 void CCmdTarget::RestoreWaitCursor()\n5280 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5281 long CArchiveStream::Revert()\n5282 void COleDropTarget::Revoke()\n5283 void COleLinkingDoc::Revoke()\n5284 void COleMessageFilter::Revoke()\n5285 void COleObjectFactory::Revoke()\n5286 void COleObjectFactory::RevokeAll()\n5287 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n5288 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n5289 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n5290 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n5291 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5292 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n5293 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n5294 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n5295 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n5296 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n5297 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n5298 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n5299 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n5300 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n5301 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5302 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n5303 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n5304 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n5305 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n5306 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n5307 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5308 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5309 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n5310 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n5311 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n5312 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n5313 int CDatabase::Rollback()\n5314 void COleClientItem::Run()\n5315 int CWinApp::Run()\n5316 int CWinThread::Run()\n5317 int CWinApp::RunAutomated()\n5318 int CWinApp::RunEmbedded()\n5319 int CWnd::RunModalLoop(unsigned long)\n5320 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5321 int CEditView::SameAsSelected(wchar_t const *,int)\n5322 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n5323 long CBlobProperty::Save(IStream *,int)\n5324 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5325 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5326 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5327 long COleControl::XPersistStorage::Save(IStorage *,int)\n5328 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5329 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5330 int CDocManager::SaveAllModified()\n5331 int CDocTemplate::SaveAllModified()\n5332 int CWinApp::SaveAllModified()\n5333 void CFrameWnd::SaveBarState(wchar_t const *)const \n5334 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5335 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5336 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5337 int CDC::SaveDC()\n5338 int CPreviewDC::SaveDC()\n5339 void COleServerDoc::SaveEmbedding()\n5340 int CFormView::SaveFocusControl()\n5341 int CDocument::SaveModified()\n5342 int COleDocument::SaveModified()\n5343 int COleServerDoc::SaveModified()\n5344 int COleServerDoc::SaveModifiedPrompt()\n5345 long COleClientItem::XOleClientSite::SaveObject()\n5346 long COleControlSite::XOleClientSite::SaveObject()\n5347 int CControlBarInfo::SaveState(wchar_t const *,int)\n5348 void CDockState::SaveState(wchar_t const *)\n5349 long COleControl::SaveState(IStream *)\n5350 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n5351 void CWinApp::SaveStdProfileSettings()\n5352 void COleDocument::SaveToStorage(CObject *)\n5353 void COleLinkingDoc::SaveToStorage(CObject *)\n5354 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5355 void CDockState::ScalePoint(CPoint &)\n5356 void CDockState::ScaleRectPos(CRect &)\n5357 CSize CDC::ScaleViewportExt(int,int,int,int)\n5358 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5359 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5360 CSize CDC::ScaleWindowExt(int,int,int,int)\n5361 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5362 void CWnd::ScreenToClient(tagRECT *)const \n5363 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5364 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5365 void COleControlContainer::ScrollChildren(int,int)\n5366 int COleServerDoc::ScrollContainerBy(CSize)\n5367 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5368 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5369 void CScrollView::ScrollToPosition(tagPOINT)\n5370 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5371 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5372 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5373 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5374 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5375 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5376 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5377 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5378 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5379 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5380 CFont * CFontHolder::Select(CDC *,long,long)\n5381 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5382 int CDC::SelectClipPath(int)\n5383 int CDC::SelectClipRgn(CRgn *)\n5384 int CDC::SelectClipRgn(CRgn *,int)\n5385 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5386 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5387 long CPrintDialogEx::SelectionChange()\n5388 int CDC::SelectObject(CRgn *)\n5389 CBrush * CDC::SelectObject(CBrush *)\n5390 CPen * CDC::SelectObject(CPen *)\n5391 CFont * CDC::SelectObject(CFont *)\n5392 CFont * CPreviewDC::SelectObject(CFont *)\n5393 CPalette * CDC::SelectPalette(CPalette *,int)\n5394 void CWinApp::SelectPrinter(void *,void *,int)\n5395 CFont * COleControl::SelectStockFont(CDC *)\n5396 CGdiObject * CDC::SelectStockObject(int)\n5397 CGdiObject * CPreviewDC::SelectStockObject(int)\n5398 int CAsyncSocket::Send(void const *,int,int)\n5399 int CSocket::Send(void const *,int,int)\n5400 void COleControl::SendAdvise(unsigned int)\n5401 int CWnd::SendChildNotifyLastMsg(long *)\n5402 int CSocket::SendChunk(void const *,int,int)\n5403 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5404 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5405 void CDocument::SendInitialUpdate()\n5406 void CRecordset::SendLongBinaryData(void *)\n5407 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5408 void COleControlSite::SendMnemonic(tagMSG *)\n5409 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n5410 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n5411 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5412 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n5413 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n5414 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5415 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5416 void CByteArray::Serialize(CArchive &)\n5417 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5418 void CDocItem::Serialize(CArchive &)\n5419 void CDockState::Serialize(CArchive &)\n5420 void CDWordArray::Serialize(CArchive &)\n5421 void CEditView::Serialize(CArchive &)\n5422 void CMapStringToOb::Serialize(CArchive &)\n5423 void CMapStringToString::Serialize(CArchive &)\n5424 void CMapWordToOb::Serialize(CArchive &)\n5425 void CObArray::Serialize(CArchive &)\n5426 void CObList::Serialize(CArchive &)\n5427 void COleClientItem::Serialize(CArchive &)\n5428 void COleControl::Serialize(CArchive &)\n5429 void COleDocument::Serialize(CArchive &)\n5430 void CRichEditDoc::Serialize(CArchive &)\n5431 void CRichEditView::Serialize(CArchive &)\n5432 void CStringArray::Serialize(CArchive &)\n5433 void CStringList::Serialize(CArchive &)\n5434 void CWordArray::Serialize(CArchive &)\n5435 CArchive & ATL::CTime::Serialize64(CArchive &)\n5436 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5437 void CArchive::SerializeClass(CRuntimeconst *)\n5438 void SerializeElements(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n5439 void SerializeElements(CArchive &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,int)\n5440 void SerializeElements(CArchive &,ATL::CComBSTR *,int)\n5441 void SerializeElements(CArchive &,COleVariant *,int)\n5442 void COleControl::SerializeExtent(CArchive &)\n5443 void CEditView::SerializeRaw(CArchive &)\n5444 void COleControl::SerializeStockProps(CArchive &)\n5445 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5446 int CProperty::Set(unsigned long,void * const,unsigned long)\n5447 int CProperty::Set(void * const)\n5448 int CProperty::Set(void * const,unsigned long)\n5449 int CPropertySection::Set(unsigned long,void *)\n5450 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5451 int CPropertySet::Set(_GUID,unsigned long,void *)\n5452 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5453 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5454 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5455 int CPropertySheet::SetActivePage(int)\n5456 int CPropertySheet::SetActivePage(CPropertyPage *)\n5457 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5458 void CFrameWnd::SetActiveView(CView *,int)\n5459 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5460 void COleControl::SetAppearance(short)\n5461 int CDC::SetArcDirection(int)\n5462 void CByteArray::SetAtGrow(int,unsigned char)\n5463 void CDWordArray::SetAtGrow(int,unsigned long)\n5464 void CObArray::SetAtGrow(int,CObject *)\n5465 void CPtrArray::SetAtGrow(int,void *)\n5466 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5467 void CStringArray::SetAtGrow(int,wchar_t const *)\n5468 void CUIntArray::SetAtGrow(int,unsigned int)\n5469 void CWordArray::SetAtGrow(int,unsigned short)\n5470 void CDC::SetAttribDC(HDC__ *)\n5471 void CMetaFileDC::SetAttribDC(HDC__ *)\n5472 void CPreviewDC::SetAttribDC(HDC__ *)\n5473 void COleControl::SetBackColor(unsigned long)\n5474 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5475 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5476 void CControlBar::SetBarStyle(unsigned long)\n5477 int CToolBar::SetBitmap(HBITMAP__ *)\n5478 unsigned long CDC::SetBkColor(unsigned long)\n5479 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5480 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n5481 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5482 int CDC::SetBkMode(int)\n5483 void CRecordset::SetBookmark(CDBVariant const &)\n5484 void CControlBar::SetBorders(int,int,int,int)\n5485 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5486 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5487 void COleControl::SetBorderStyle(short)\n5488 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5489 int CToolBar::SetButtons(unsigned int const *,int)\n5490 void CToolBar::SetButtonStyle(int,unsigned int)\n5491 int CToolBar::SetButtonText(int,wchar_t const *)\n5492 CWnd * COleControl::SetCapture()\n5493 long COleControlSite::XOleIPSite::SetCapture(int)\n5494 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n5495 void CCheckListBox::SetCheck(int,int)\n5496 void CCmdUI::SetCheck(int)\n5497 int CListCtrl::SetCheck(int,int)\n5498 void COleCmdUI::SetCheck(int)\n5499 void CStatusCmdUI::SetCheck(int)\n5500 void CTestCmdUI::SetCheck(int)\n5501 void CToolCmdUI::SetCheck(int)\n5502 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5503 void CCheckListBox::SetCheckStyle(unsigned int)\n5504 void CPropertySet::SetClassID(_GUID)\n5505 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5506 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5507 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5508 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5509 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5510 void COleDataSource::SetClipboard()\n5511 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5512 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5513 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5514 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5515 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5516 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5517 void CSplitterWnd::SetColumnInfo(int,int,int)\n5518 int CListCtrl::SetColumnOrderArray(int,int *)\n5519 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5520 void CDocTemplate::SetContainerInfo(unsigned int)\n5521 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5522 void CReflectorWnd::SetControl(COleControl *)\n5523 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5524 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n5525 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n5526 int COleControl::SetControlSize(int,int)\n5527 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5528 void CFileDialog::SetControlText(int,char const *)\n5529 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n5530 void COleCurrency::SetCurrency(long,long)\n5531 void CColorDialog::SetCurrentColor(unsigned long)\n5532 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n5533 void CWinApp::SetCurrentHandles()\n5534 void CPreviewView::SetCurrentPage(unsigned int,int)\n5535 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5536 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5537 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5538 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5539 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5540 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5541 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5542 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5543 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5544 void COccManager::SetDefaultButton(CWnd *,int)\n5545 void COleControlSite::SetDefaultButton(int)\n5546 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n5547 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n5548 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5549 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5550 void CFileDialog::SetDefExt(char const *)\n5551 void COlePropertyPage::SetDialogResource(void *)\n5552 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5553 int COleControlSite::SetDlgCtrlID(int)\n5554 int CWnd::SetDlgCtrlID(int)\n5555 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5556 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5557 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n5558 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n5559 void CFrameWnd::SetDockState(CDockState const &)\n5560 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5561 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5562 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5563 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5564 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5565 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n5566 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n5567 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5568 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n5569 void COleControl::SetEnabled(int)\n5570 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5571 int COleControlSite::SetExtent()\n5572 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5573 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5574 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5575 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5576 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5577 void CRecordset::SetFieldDirty(void *,int)\n5578 void CRecordset::SetFieldNull(void *,int)\n5579 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5580 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5581 CWnd * COleControl::SetFocus()\n5582 CWnd * COleControlSite::SetFocus(tagMSG *)\n5583 CWnd * COleControlSite::SetFocus()\n5584 CWnd * CWnd::SetFocus()\n5585 long COleControlSite::XOleIPSite::SetFocus(int)\n5586 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n5587 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n5588 void CFontHolder::SetFont(IFont *)\n5589 void COleControl::SetFont(IFontDisp *)\n5590 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5591 void COleControl::SetForeColor(unsigned long)\n5592 void CPropertySection::SetFormatID(_GUID)\n5593 void CPropertySet::SetFormatVersion(unsigned short)\n5594 void CSharedFile::SetHandle(void *,int)\n5595 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5596 void CToolBar::SetHeight(int)\n5597 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5598 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n5599 void CDHtmlDialog::SetHostFlags(unsigned long)\n5600 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n5601 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5602 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5603 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5604 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5605 int COleClientItem::SetIconicMetafile(void *)\n5606 CSize CListCtrl::SetIconSpacing(int,int)\n5607 CSize CListCtrl::SetIconSpacing(CSize)\n5608 void CProperty::SetID(unsigned long)\n5609 int CReBarCtrl::SetImageList(CImageList *)\n5610 int CStatusBar::SetIndicators(unsigned int const *,int)\n5611 void COleControl::SetInitialDataFormats()\n5612 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5613 void COleControl::SetInitialSize(int,int)\n5614 void CControlBar::SetInPlaceOwner(CWnd *)\n5615 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5616 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n5617 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n5618 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n5619 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n5620 int CListCtrl::SetItemCountEx(int,unsigned long)\n5621 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5622 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5623 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5624 int CListCtrl::SetItemText(int,int,wchar_t const *)\n5625 unsigned long CDC::SetLayout(unsigned long)\n5626 void CFile::SetLength(unsigned __int64)\n5627 void CInternetFile::SetLength(unsigned __int64)\n5628 void CMemFile::SetLength(unsigned __int64)\n5629 void COleStreamFile::SetLength(unsigned __int64)\n5630 void CSocketFile::SetLength(unsigned __int64)\n5631 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n5632 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5633 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5634 void CRecordset::SetLockingMode(unsigned int)\n5635 int CDC::SetMapMode(int)\n5636 int CPreviewDC::SetMapMode(int)\n5637 unsigned long CDC::SetMapperFlags(unsigned long)\n5638 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5639 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5640 void CFrameWnd::SetMessageText(unsigned int)\n5641 void CFrameWnd::SetMessageText(wchar_t const *)\n5642 void CPropertyPage::SetModified(int)\n5643 void COleControl::SetModifiedFlag(int)\n5644 void COlePropertyPage::SetModifiedFlag(int)\n5645 void CRichEditDoc::SetModifiedFlag(int)\n5646 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5647 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5648 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5649 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5650 int CPropertySection::SetName(unsigned long,wchar_t const *)\n5651 void COleControl::SetNotPermitted()\n5652 void CCmdTarget::SetNotSupported()\n5653 void COleControl::SetNotSupported()\n5654 void CRecordset::SetNullFieldStatus(unsigned long)\n5655 void CRecordset::SetNullParamStatus(unsigned long)\n5656 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5657 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5658 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5659 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5660 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5661 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5662 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5663 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5664 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5665 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5666 int CHeaderCtrl::SetOrderArray(int,int *)\n5667 void CPropertySet::SetOSVersion(unsigned long)\n5668 void CDC::SetOutputDC(HDC__ *)\n5669 void CMetaFileDC::SetOutputDC(HDC__ *)\n5670 void CPreviewDC::SetOutputDC(HDC__ *)\n5671 void CToolBar::SetOwner(CWnd *)\n5672 void COlePropertyPage::SetPageName(wchar_t const *)\n5673 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5674 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5675 void CStatusBar::SetPaneStyle(int,unsigned int)\n5676 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n5677 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5678 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5679 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5680 void CRecordset::SetParamNull(int,int)\n5681 void CDocument::SetPathName(wchar_t const *,int)\n5682 void COleDocument::SetPathName(wchar_t const *,int)\n5683 void CRichEditDoc::SetPathName(wchar_t const *,int)\n5684 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5685 int CDC::SetPolyFillMode(int)\n5686 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5687 int COleClientItem::SetPrintDevice(tagPDW const *)\n5688 void CEditView::SetPrinterFont(CFont *)\n5689 int CPreviewView::SetPrintView(CView *)\n5690 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n5691 void COleControlSite::SetProperty(long,unsigned short,...)\n5692 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5693 void CWnd::SetProperty(long,unsigned short,...)\n5694 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5695 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n5696 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n5697 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5698 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n5699 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n5700 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n5701 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n5702 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n5703 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n5704 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n5705 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n5706 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5707 long CWnd::SetProxy(IAccessibleProxy *)\n5708 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5709 void CCmdUI::SetRadio(int)\n5710 void CTestCmdUI::SetRadio(int)\n5711 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5712 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5713 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5714 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5715 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5716 void CSliderCtrl::SetRange(int,int,int)\n5717 int CInternetFile::SetReadBufferSize(unsigned int)\n5718 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5719 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5720 int COleControl::SetRectInContainer(tagRECT const *)\n5721 void CWinApp::SetRegistryKey(unsigned int)\n5722 void CWinApp::SetRegistryKey(wchar_t const *)\n5723 int CDC::SetROP2(int)\n5724 void CSplitterWnd::SetRowInfo(int,int,int)\n5725 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5726 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5727 void CRecordset::SetRowsetSize(unsigned long)\n5728 void CPreviewView::SetScaledSize(unsigned int)\n5729 void CPreviewDC::SetScaleRatio(int,int)\n5730 void CScrollView::SetScaleToFitSize(tagSIZE)\n5731 void CDockState::SetScreenSize(CSize &)\n5732 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5733 int CWnd::SetScrollPos(int,int,int)\n5734 void CWnd::SetScrollRange(int,int,int,int)\n5735 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5736 void CSplitterWnd::SetScrollStyle(unsigned long)\n5737 int CPropertySection::SetSectionName(wchar_t const *)\n5738 void CRichEditCtrl::SetSel(long,long)\n5739 void CSliderCtrl::SetSelection(int,int)\n5740 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n5741 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n5742 void CCheckListBox::SetSelectionCheck(int)\n5743 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5744 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5745 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5746 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n5747 long CPrintDialogEx::SetSite(IUnknown *)\n5748 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n5749 void CByteArray::SetSize(int,int)\n5750 void CDWordArray::SetSize(int,int)\n5751 void CObArray::SetSize(int,int)\n5752 void CPtrArray::SetSize(int,int)\n5753 void CStringArray::SetSize(int,int)\n5754 void CUIntArray::SetSize(int,int)\n5755 void CWordArray::SetSize(int,int)\n5756 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n5757 void CSplitterWnd::SetSplitCursor(int)\n5758 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n5759 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n5760 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n5761 int CControlBar::SetStatusText(int)\n5762 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n5763 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n5764 int CDC::SetStretchBltMode(int)\n5765 void COleVariant::SetString(wchar_t const *,unsigned short)\n5766 int CDialogTemplate::SetSystemFont(unsigned short)\n5767 void CEditView::SetTabStops(int)\n5768 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n5769 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n5770 void CCmdUI::SetText(wchar_t const *)\n5771 void COleCmdUI::SetText(wchar_t const *)\n5772 void COleControl::SetText(wchar_t const *)\n5773 void CStatusCmdUI::SetText(wchar_t const *)\n5774 void CTestCmdUI::SetText(wchar_t const *)\n5775 void CToolCmdUI::SetText(wchar_t const *)\n5776 unsigned int CDC::SetTextAlign(unsigned int)\n5777 int CDC::SetTextCharacterExtra(int)\n5778 unsigned long CDC::SetTextColor(unsigned long)\n5779 unsigned long CPreviewDC::SetTextColor(unsigned long)\n5780 int CDC::SetTextJustification(int,int)\n5781 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n5782 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n5783 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n5784 void CDocument::SetTitle(wchar_t const *)\n5785 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n5786 void CRichEditDoc::SetTitle(wchar_t const *)\n5787 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n5788 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n5789 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n5790 void CPreviewDC::SetTopLeftOffset(CSize)\n5791 void CProperty::SetType(unsigned long)\n5792 void CRecordset::SetUpdateMethod()\n5793 void CThreadSlotData::SetValue(int,void *)\n5794 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n5795 CSize CDC::SetViewportExt(int,int)\n5796 CSize CMetaFileDC::SetViewportExt(int,int)\n5797 CSize CPreviewDC::SetViewportExt(int,int)\n5798 CPoint CDC::SetViewportOrg(int,int)\n5799 CPoint CMetaFileDC::SetViewportOrg(int,int)\n5800 CPoint CPreviewDC::SetViewportOrg(int,int)\n5801 CSize CDC::SetWindowExt(int,int)\n5802 CSize CPreviewDC::SetWindowExt(int,int)\n5803 CPoint CDC::SetWindowOrg(int,int)\n5804 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n5805 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n5806 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n5807 void COleControlSite::SetWindowTextW(wchar_t const *)\n5808 void CWnd::SetWindowTextW(wchar_t const *)\n5809 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n5810 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n5811 int CInternetFile::SetWriteBufferSize(unsigned int)\n5812 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n5813 long CDocObjectServer::XOleDocumentView::Show(int)\n5814 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n5815 void CDockBar::ShowAll(int)\n5816 long CRichEditCntrItem::ShowContainerUI(int)\n5817 long CRichEditView::ShowContainerUI(int)\n5818 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n5819 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5820 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5821 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5822 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n5823 long COleClientItem::XOleClientSite::ShowObject()\n5824 long COleControlSite::XOleClientSite::ShowObject()\n5825 void CFrameWnd::ShowOwnedWindows(int)\n5826 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n5827 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5828 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5829 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5830 int COleControlSite::ShowWindow(int)\n5831 int CWnd::ShowWindow(int)\n5832 tagSIZE const CScrollView::sizeDefault\n5833 int CMonthCalCtrl::SizeMinReq(int)\n5834 void CBitmapButton::SizeToContent()\n5835 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n5836 long CEnumArray::XEnumVOID::Skip(unsigned long)\n5837 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n5838 int CAsyncSocket::Socket(int,long,int,int)\n5839 int CSplitterWnd::SplitColumn(int)\n5840 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n5841 int CSplitterWnd::SplitRow(int)\n5842 int CDC::StartDocW(wchar_t const *)\n5843 void CDockContext::StartDrag(CPoint)\n5844 void CDockContext::StartResize(int,CPoint)\n5845 void CSplitterWnd::StartTracking(int)\n5846 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n5847 void CSplitterWnd::StopTracking(int)\n5848 void CRuntimeClass::Store(CArchive &)const \n5849 void CRecordset::StoreFields()\n5850 void CRichEditView::Stream(CArchive &,int)\n5851 void CDockContext::Stretch(CPoint)\n5852 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n5853 int CWnd::SubclassWindow(HWND__ *)\n5854 int COleDocObjectItem::SupportsIPrint()\n5855 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5856 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5857 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n5858 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n5859 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n5860 void CRichEditView::TextNotFound(wchar_t const *)\n5861 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n5862 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n5863 void CFileException::ThrowErrno(int,wchar_t const *)\n5864 void COleControl::ThrowError(long,unsigned int,unsigned int)\n5865 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n5866 void CFileException::ThrowOsError(long,wchar_t const *)\n5867 void CDockContext::ToggleDocking()\n5868 COleVariant CDataSourceControl::ToVariant(int)\n5869 int CDockContext::Track()\n5870 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n5871 void CSplitterWnd::TrackColumnSize(int,int)\n5872 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n5873 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n5874 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n5875 void CSplitterWnd::TrackRowSize(int,int)\n5876 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n5877 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n5878 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n5879 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n5880 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n5881 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n5882 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n5883 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n5884 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n5885 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n5886 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n5887 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n5888 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n5889 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5890 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5891 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5892 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n5893 void COccManager::UIActivateControl(CWnd *)\n5894 long COleControl::XOleInPlaceObject::UIDeactivate()\n5895 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n5896 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n5897 void COleSafeArray::UnaccessData()\n5898 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n5899 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n5900 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n5901 long COleControl::XOleObject::Unadvise(unsigned long)\n5902 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n5903 long COleServerItem::XOleObject::Unadvise(unsigned long)\n5904 void CRecordset::UnbindFieldsForUpdate()\n5905 long COleControl::XOleCache::Uncache(unsigned long)\n5906 long COleControl::XViewObject::Unfreeze(unsigned long)\n5907 int CEvent::Unlock()\n5908 int CMultiLock::Unlock(long,long *)\n5909 int CMultiLock::Unlock()\n5910 int CMutex::Unlock()\n5911 void COleSafeArray::Unlock()\n5912 int CSemaphore::Unlock(long,long *)\n5913 int CSingleLock::Unlock(long,long *)\n5914 int CSingleLock::Unlock()\n5915 void CTypeLibCache::Unlock()\n5916 void CEditView::UnlockBuffer()const \n5917 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n5918 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n5919 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n5920 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n5921 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n5922 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n5923 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5924 int COleObjectFactory::Unregister()\n5925 int COleTemplateServer::Unregister()\n5926 int CWinApp::Unregister()\n5927 int COleObjectFactory::UnregisterAll()\n5928 void CDocManager::UnregisterShellFileTypes()\n5929 void CWinApp::UnregisterShellFileTypes()\n5930 HWND__ * CWnd::UnsubclassWindow()\n5931 int CRecordset::Update()\n5932 long CDocObjectServer::XOleObject::Update()\n5933 long COleControl::XOleObject::Update()\n5934 long COleServerDoc::XOleObject::Update()\n5935 long COleServerItem::XOleObject::Update()\n5936 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5937 void CStatusBar::UpdateAllPanes(int,int)\n5938 void CDocument::UpdateAllViews(CView *,long,CObject *)\n5939 void CScrollView::UpdateBars()\n5940 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n5941 long CDataSourceControl::UpdateControls()\n5942 long CDataSourceControl::UpdateCursor()\n5943 int CWnd::UpdateData(int)\n5944 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n5945 void CDocument::UpdateFrameCounts()\n5946 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n5947 int CRecordset::UpdateInsertDelete()\n5948 void COleClientItem::UpdateItemType()\n5949 int COleClientItem::UpdateLink()\n5950 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n5951 void CRecentFileList::UpdateMenu(CCmdUI *)\n5952 void COleDocument::UpdateModifiedFlag()\n5953 void CRichEditDoc::UpdateModifiedFlag()\n5954 void CRichEditDoc::UpdateObjectCache()\n5955 void CWinApp::UpdatePrinterSelection(int)\n5956 int COleObjectFactory::UpdateRegistry(int)\n5957 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n5958 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n5959 int COleObjectFactory::UpdateRegistryAll(int)\n5960 void CDockContext::UpdateState(int *,int)\n5961 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n5962 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n5963 long CBrowserControlSite::UpdateUI()\n5964 long CDHtmlDialog::UpdateUI()\n5965 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n5966 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n5967 void COleLinkingDoc::UpdateVisibleLock(int,int)\n5968 void CDatabase::VerifyConnect()\n5969 unsigned long CRecordset::VerifyCursorSupport()\n5970 void CRecordset::VerifyDriverBehavior()\n5971 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n5972 int COleObjectFactory::VerifyUserLicense()\n5973 int CListBox::VKeyToItem(unsigned int,unsigned int)\n5974 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n5975 int COleControl::WillAmbientsBeValidDuringLoad()\n5976 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n5977 long COleControl::WindowProc(unsigned int,unsigned int,long)\n5978 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n5979 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n5980 long CReBar::WindowProc(unsigned int,unsigned int,long)\n5981 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n5982 long CWnd::WindowProc(unsigned int,unsigned int,long)\n5983 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n5984 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n5985 void CWinApp::WinHelpW(unsigned long,unsigned int)\n5986 void CWnd::WinHelpW(unsigned long,unsigned int)\n5987 CWnd const CWnd::wndBottom\n5988 CWnd const CWnd::wndNoTopMost\n5989 CWnd const CWnd::wndTop\n5990 CWnd const CWnd::wndTopMost\n5991 void CRichEditView::WrapChanged()\n5992 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n5993 void CArchive::Write(void const *,unsigned int)\n5994 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n5995 void CFile::Write(void const *,unsigned int)\n5996 void CGopherFile::Write(void const *,unsigned int)\n5997 int CImageList::Write(CArchive *)\n5998 void CInternetFile::Write(void const *,unsigned int)\n5999 void CMemFile::Write(void const *,unsigned int)\n6000 void COleStreamFile::Write(void const *,unsigned int)\n6001 void CSocketFile::Write(void const *,unsigned int)\n6002 void CStdioFile::Write(void const *,unsigned int)\n6003 void CArchive::WriteClass(CRuntimeconst *)\n6004 void CArchive::WriteCount(unsigned long)\n6005 void COleClientItem::WriteItem(CArchive &)\n6006 void COleClientItem::WriteItemCompound(CArchive &)\n6007 void COleClientItem::WriteItemFlat(CArchive &)\n6008 void CRecentFileList::WriteList()\n6009 int CPropertySection::WriteNameDictToStream(IStream *)\n6010 void CArchive::WriteObject(CObject const *)\n6011 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n6012 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n6013 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n6014 void CArchive::WriteString(wchar_t const *)\n6015 void CGopherFile::WriteString(wchar_t const *)\n6016 void CInternetFile::WriteString(wchar_t const *)\n6017 void CStdioFile::WriteString(wchar_t const *)\n6018 void CEditView::WriteToArchive(CArchive &)\n6019 int CProperty::WriteToStream(IStream *)\n6020 int CPropertySection::WriteToStream(IStream *)\n6021 int CPropertySet::WriteToStream(IStream *)\n6022 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6023 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6024 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6025 int AfxInitRichEdit2()\n6026 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n6027 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6028 CDaoException::CDaoException()\n6029 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6030 CDaoIndexInfo::CDaoIndexInfo()\n6031 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6032 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6033 CDaoRecordView::CDaoRecordView(unsigned int)\n6034 CDaoRecordView::CDaoRecordView(wchar_t const *)\n6035 CDaoRelationInfo::CDaoRelationInfo()\n6036 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6037 CDaoWorkspace::CDaoWorkspace()\n6038 CDaoDatabase::~CDaoDatabase()\n6039 CDaoException::~CDaoException()\n6040 CDaoIndexInfo::~CDaoIndexInfo()\n6041 CDaoQueryDef::~CDaoQueryDef()\n6042 CDaoRecordset::~CDaoRecordset()\n6043 CDaoRecordView::~CDaoRecordView()\n6044 CDaoRelationInfo::~CDaoRelationInfo()\n6045 CDaoTableDef::~CDaoTableDef()\n6046 CDaoWorkspace::~CDaoWorkspace()\n6047 void CDaoRecordset::AddNew()\n6048 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6049 _DAODBEngine * AfxDaoGetEngine()\n6050 void AfxDaoInit()\n6051 void AfxDaoTerm()\n6052 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6053 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6054 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6055 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6056 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6057 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6058 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6059 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6060 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6061 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6062 void AfxThrowDaoException(int,long)\n6063 void CDaoRecordset::AllocCache()\n6064 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6065 void CDaoRecordset::AllocDatabase()\n6066 void AllocLongBinary(CLongBinary &,unsigned long)\n6067 void CDaoQueryDef::Append()\n6068 void CDaoTableDef::Append()\n6069 void CDaoWorkspace::Append()\n6070 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n6071 void CDaoWorkspace::BeginTrans()\n6072 void CDaoRecordset::BindFields()\n6073 void CDaoRecordset::BindParameters()\n6074 void CDaoRecordset::BuildParameterList()\n6075 void CDaoRecordset::BuildSelectList()\n6076 void CDaoRecordset::BuildSQL()\n6077 int CDaoRecordset::CanAppend()const \n6078 int CDaoRecordset::CanBookmark()\n6079 void CDaoRecordset::CancelUpdate()\n6080 int CDaoRecordset::CanRestart()\n6081 int CDaoRecordset::CanScroll()const \n6082 int CDaoDatabase::CanTransact()\n6083 int CDaoRecordset::CanTransact()\n6084 int CDaoDatabase::CanUpdate()\n6085 int CDaoQueryDef::CanUpdate()\n6086 int CDaoRecordset::CanUpdate()const \n6087 int CDaoTableDef::CanUpdate()\n6088 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6089 CRuntimeconst CDaoException::classCDaoException\n6090 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6091 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6092 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6093 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6094 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6095 CRuntimeconst CDatabase::classCDatabase\n6096 CRuntimeconst CDBException::classCDBException\n6097 CRuntimeconst CLongBinary::classCLongBinary\n6098 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6099 CRuntimeconst CRecordset::classCRecordset\n6100 CRuntimeconst CRecordView::classCRecordView\n6101 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6102 void CDaoRecordset::ClearFieldStatusFlags()\n6103 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6104 void CDaoDatabase::Close()\n6105 void CDaoQueryDef::Close()\n6106 void CDaoRecordset::Close()\n6107 void CDaoTableDef::Close()\n6108 void CDaoWorkspace::Close()\n6109 void CDaoWorkspace::CommitTrans()\n6110 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n6111 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n6112 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6113 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6114 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n6115 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n6116 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n6117 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n6118 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6119 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n6120 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6121 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6122 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n6123 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6124 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6125 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6126 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6127 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6128 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6129 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6130 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6131 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6132 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6133 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6134 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6135 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6136 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6137 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6138 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6139 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6140 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6141 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6142 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6143 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n6144 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n6145 void CDaoRecordset::Delete()\n6146 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6147 void CDaoTableDef::DeleteField(int)\n6148 void CDaoTableDef::DeleteField(wchar_t const *)\n6149 void CDaoTableDef::DeleteIndex(int)\n6150 void CDaoTableDef::DeleteIndex(wchar_t const *)\n6151 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n6152 void CDaoDatabase::DeleteRelation(wchar_t const *)\n6153 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n6154 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n6155 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n6156 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n6157 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n6158 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n6159 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n6160 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n6161 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n6162 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n6163 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n6164 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n6165 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6166 void CDaoRecordset::Edit()\n6167 void CDaoDatabase::Execute(wchar_t const *,int)\n6168 void CDaoQueryDef::Execute(int)\n6169 void CDaoRecordset::FillCache(long *,COleVariant *)\n6170 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6171 void CDaoException::FillErrorInfo()\n6172 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6173 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6174 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6175 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6176 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6177 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6178 int CDaoRecordset::Find(long,wchar_t const *)\n6179 int CDaoRecordset::FindFirst(wchar_t const *)\n6180 int CDaoRecordset::FindLast(wchar_t const *)\n6181 int CDaoRecordset::FindNext(wchar_t const *)\n6182 int CDaoRecordset::FindPrev(wchar_t const *)\n6183 void CDaoRecordset::Fixup()\n6184 void CDaoRecordset::FreeCache()\n6185 long CDaoRecordset::GetAbsolutePosition()\n6186 long CDaoTableDef::GetAttributes()\n6187 COleVariant CDaoRecordset::GetBookmark()\n6188 long CDaoRecordset::GetCacheSize()\n6189 COleVariant CDaoRecordset::GetCacheStart()\n6190 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6191 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n6192 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n6193 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n6194 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n6195 void CDaoRecordset::GetDataAndFixupNulls()\n6196 short CDaoWorkspace::GetDatabaseCount()\n6197 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6198 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n6199 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6200 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6201 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6202 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6203 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6204 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6205 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n6206 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n6207 short CDaoRecordset::GetEditMode()\n6208 short CDaoException::GetErrorCount()\n6209 void CDaoException::GetErrorInfo(int)\n6210 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n6211 short CDaoQueryDef::GetFieldCount()\n6212 short CDaoRecordset::GetFieldCount()\n6213 short CDaoTableDef::GetFieldCount()\n6214 int CDaoRecordset::GetFieldIndex(void *)\n6215 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6216 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6217 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6218 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6219 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6220 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6221 unsigned long CDaoRecordset::GetFieldLength(int)\n6222 COleVariant CDaoRecordset::GetFieldValue(int)\n6223 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n6224 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6225 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n6226 short CDaoRecordset::GetIndexCount()\n6227 short CDaoTableDef::GetIndexCount()\n6228 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6229 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6230 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6231 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6232 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n6233 int CDaoWorkspace::GetIsolateODBCTrans()\n6234 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6235 int CDaoRecordset::GetLockingMode()\n6236 short CDaoWorkspace::GetLoginTimeout()\n6237 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6238 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n6239 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n6240 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n6241 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n6242 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n6243 short CDaoQueryDef::GetODBCTimeout()\n6244 short CDaoQueryDef::GetParameterCount()\n6245 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6246 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n6247 COleVariant CDaoQueryDef::GetParamValue(int)\n6248 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n6249 COleVariant CDaoRecordset::GetParamValue(int)\n6250 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n6251 float CDaoRecordset::GetPercentPosition()\n6252 short CDaoDatabase::GetQueryDefCount()\n6253 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6254 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n6255 short CDaoDatabase::GetQueryTimeout()\n6256 long CDaoRecordset::GetRecordCount()\n6257 long CDaoTableDef::GetRecordCount()\n6258 long CDaoDatabase::GetRecordsAffected()\n6259 long CDaoQueryDef::GetRecordsAffected()\n6260 short CDaoDatabase::GetRelationCount()\n6261 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6262 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n6263 int CDaoQueryDef::GetReturnsRecords()\n6264 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6265 CRuntime* CDaoException::GetRuntimeClass()const \n6266 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6267 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6268 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6269 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6270 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6271 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n6272 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n6273 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n6274 short CDaoDatabase::GetTableDefCount()\n6275 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6276 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n6277 CRuntime* CDaoDatabase::GetThisClass()\n6278 CRuntime* CDaoException::GetThisClass()\n6279 CRuntime* CDaoQueryDef::GetThisClass()\n6280 CRuntime* CDaoRecordset::GetThisClass()\n6281 CRuntime* CDaoRecordView::GetThisClass()\n6282 CRuntime* CDaoTableDef::GetThisClass()\n6283 CRuntime* CDaoWorkspace::GetThisClass()\n6284 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6285 short CDaoQueryDef::GetType()\n6286 short CDaoRecordset::GetType()\n6287 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n6288 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n6289 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n6290 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n6291 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n6292 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n6293 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n6294 short CDaoWorkspace::GetWorkspaceCount()\n6295 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6296 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n6297 void CDaoWorkspace::Idle(int)\n6298 void CDaoWorkspace::InitDatabasesCollection()\n6299 void CDaoException::InitErrorsCollection()\n6300 void CDaoQueryDef::InitFieldsCollection()\n6301 void CDaoRecordset::InitFieldsCollection()\n6302 void CDaoTableDef::InitFieldsCollection()\n6303 void CDaoWorkspace::InitializeEngine()\n6304 void CDaoRecordset::InitIndexesCollection()\n6305 void CDaoTableDef::InitIndexesCollection()\n6306 void CDaoQueryDef::InitParametersCollection()\n6307 void CDaoDatabase::InitQueryDefsCollection()\n6308 void CDaoDatabase::InitRelationsCollection()\n6309 void CDaoDatabase::InitTableDefsCollection()\n6310 void CDaoDatabase::InitWorkspace()\n6311 void CDaoWorkspace::InitWorkspacesCollection()\n6312 int CDaoRecordset::IsBOF()const \n6313 int CDaoRecordset::IsDeleted()const \n6314 int CDaoRecordset::IsEOF()const \n6315 int CDaoRecordset::IsFieldDirty(void *)\n6316 int CDaoRecordset::IsFieldNull(void *)\n6317 int CDaoRecordset::IsFieldNullable(void *)\n6318 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6319 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6320 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6321 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6322 int CDaoRecordset::IsMatch()\n6323 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6324 int CDaoRecordView::IsOnFirstRecord()\n6325 int CDaoRecordView::IsOnLastRecord()\n6326 int CDaoFieldExchange::IsValidOperation()\n6327 void CDaoRecordset::LoadFields()\n6328 void CDaoRecordset::MarkForAddNew()\n6329 void CDaoRecordset::MarkForEdit()\n6330 AFX_MSGMAP const CDaoRecordView::messageMap\n6331 AFX_MSGMAP const COleDBRecordView::messageMap\n6332 AFX_MSGMAP const CRecordView::messageMap\n6333 void CDaoRecordset::Move(long)\n6334 void CDaoRecordset::MoveFirst()\n6335 void CDaoRecordset::MoveLast()\n6336 void CDaoRecordset::MoveNext()\n6337 void CDaoRecordset::MovePrev()\n6338 void CDaoRecordView::OnInitialUpdate()\n6339 int CDaoRecordView::OnMove(unsigned int)\n6340 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n6341 void CDaoQueryDef::Open(wchar_t const *)\n6342 void CDaoRecordset::Open(int,wchar_t const *,int)\n6343 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6344 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6345 void CDaoTableDef::Open(wchar_t const *)\n6346 void CDaoWorkspace::Open(wchar_t const *)\n6347 void CDaoTableDef::RefreshLink()\n6348 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n6349 void CDaoRecordset::Requery()\n6350 void CDaoWorkspace::Rollback()\n6351 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n6352 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n6353 void CDaoRecordset::SetAbsolutePosition(long)\n6354 void CDaoTableDef::SetAttributes(long)\n6355 void CDaoRecordset::SetBookmark(COleVariant)\n6356 void CDaoRecordset::SetCacheSize(long)\n6357 void CDaoRecordset::SetCacheStart(COleVariant)\n6358 void CDaoQueryDef::SetConnect(wchar_t const *)\n6359 void CDaoTableDef::SetConnect(wchar_t const *)\n6360 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n6361 void CDaoRecordset::SetCursorAttributes()\n6362 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n6363 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n6364 void CDaoRecordset::SetDirtyFields()\n6365 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6366 void CDaoRecordset::SetFieldDirty(void *,int)\n6367 void CDaoRecordset::SetFieldNull(void *,int)\n6368 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n6369 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n6370 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6371 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n6372 void CDaoRecordset::SetFieldValueNull(int)\n6373 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n6374 void CDaoWorkspace::SetIniPath(wchar_t const *)\n6375 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6376 void CDaoRecordset::SetLockingMode(int)\n6377 void CDaoWorkspace::SetLoginTimeout(short)\n6378 void CDaoQueryDef::SetName(wchar_t const *)\n6379 void CDaoTableDef::SetName(wchar_t const *)\n6380 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6381 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6382 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6383 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6384 void CDaoQueryDef::SetODBCTimeout(short)\n6385 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6386 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n6387 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6388 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n6389 void CDaoQueryDef::SetParamValueNull(int)\n6390 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n6391 void CDaoRecordset::SetParamValueNull(int)\n6392 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n6393 void CDaoRecordset::SetPercentPosition(float)\n6394 void CDaoDatabase::SetQueryTimeout(short)\n6395 void CDaoQueryDef::SetReturnsRecords(int)\n6396 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n6397 void CDaoQueryDef::SetSQL(wchar_t const *)\n6398 void CDaoTableDef::SetValidationRule(wchar_t const *)\n6399 void CDaoTableDef::SetValidationText(wchar_t const *)\n6400 void CDaoRecordset::StoreFields()\n6401 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n6402 void CDaoDatabase::ThrowDaoException(int)\n6403 void CDaoQueryDef::ThrowDaoException(int)\n6404 void CDaoRecordset::ThrowDaoException(int)\n6405 void CDaoTableDef::ThrowDaoException(int)\n6406 void CDaoWorkspace::ThrowDaoException(int)\n6407 void ThrowGetRowsDaoException(long)\n6408 void CDaoRecordset::Update()\n6409 _AFX_DAO_STATE * AfxGetDaoState()\n6410 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6411 _AFX_DAO_STATE::_AFX_DAO_STATE()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc70ud.def",
    "content": "256 CDumpContext afxDump\n257 COleCurrency const & COleCurrency::operator/=(long)\n258 void * operator new[](unsigned int)\n259 void * operator new[](unsigned int,int,char const *,int)\n260 void * operator new[](unsigned int,char const *,int)\n261 void operator delete[](void *)\n262 void operator delete[](void *,int,char const *,int)\n263 void operator delete[](void *,char const *,int)\n264 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n265 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n266 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n267 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n268 _AFX_OLE_STATE::_AFX_OLE_STATE()\n269 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n270 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n271 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n272 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n273 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n274 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n275 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n276 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n277 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n278 CAnimateCtrl::CAnimateCtrl()\n279 CArchive::CArchive(CArchive const &)\n280 CArchive::CArchive(CFile *,unsigned int,int,void *)\n281 CArchiveException::CArchiveException(int,wchar_t const *)\n282 CArchivePropExchange::CArchivePropExchange(CArchive &)\n283 CArchiveStream::CArchiveStream(CArchive *)\n284 CAsyncMonikerFile::CAsyncMonikerFile()\n285 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n286 CAsyncSocket::CAsyncSocket()\n287 CBitmap::CBitmap()\n288 CBitmapButton::CBitmapButton()\n289 CBlobProperty::CBlobProperty(void *)\n290 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n291 CBrush::CBrush(int,unsigned long)\n292 CBrush::CBrush(unsigned long)\n293 CBrush::CBrush(CBitmap *)\n294 CBrush::CBrush()\n295 CButton::CButton()\n296 CByteArray::CByteArray()\n297 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n298 CCachedDataPathProperty::CCachedDataPathProperty(wchar_t const *,COleControl *)\n299 CCheckListBox::CCheckListBox()\n300 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n301 CClientDC::CClientDC(CWnd *)\n302 CCmdTarget::CCmdTarget()\n303 CCmdUI::CCmdUI()\n304 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n305 CComboBox::CComboBox()\n306 CComboBoxEx::CComboBoxEx()\n307 CCommandLineInfo::CCommandLineInfo()\n308 CCommonDialog::CCommonDialog(CWnd *)\n309 CConnectionPoint::CConnectionPoint()\n310 CControlBar::CControlBar()\n311 CControlBarInfo::CControlBarInfo()\n312 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n313 CControlFrameWnd::CControlFrameWnd(COleControl *)\n314 CCreateContext::CCreateContext()\n315 CCriticalSection::CCriticalSection()\n316 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n317 CDatabase::CDatabase()\n318 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n319 CDataExchange::CDataExchange(CWnd *,int)\n320 CDataPathProperty::CDataPathProperty(COleControl *)\n321 CDataPathProperty::CDataPathProperty(wchar_t const *,COleControl *)\n322 CDataSourceControl::CDataSourceControl(COleControlSite *)\n323 CDateTimeCtrl::CDateTimeCtrl()\n324 CDBException::CDBException(short)\n325 CDBVariant::CDBVariant()\n326 CDC::CDC()\n327 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n328 CDHtmlControlSink::CDHtmlControlSink()\n329 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n330 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n331 CDHtmlDialog::CDHtmlDialog()\n332 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n333 CDialog::CDialog(unsigned int,CWnd *)\n334 CDialog::CDialog(wchar_t const *,CWnd *)\n335 CDialog::CDialog()\n336 CDialogBar::CDialogBar()\n337 CDialogTemplate::CDialogTemplate(void *)\n338 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n339 CDocItem::CDocItem()\n340 CDockBar::CDockBar(int)\n341 CDockContext::CDockContext(CControlBar *)\n342 CDockState::CDockState()\n343 CDocManager::CDocManager()\n344 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n345 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n346 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n347 CDocument::CDocument()\n348 CDragListBox::CDragListBox()\n349 CDumpContext::CDumpContext(CDumpContext const &)\n350 CDumpContext::CDumpContext(CFile *)\n351 CDWordArray::CDWordArray()\n352 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n353 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n354 CEdit::CEdit()\n355 CEditView::CEditView()\n356 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n357 CEnumConnections::CEnumConnections(void const *,unsigned int)\n358 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n359 CEnumFormatEtc::CEnumFormatEtc()\n360 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n361 CException::CException(int)\n362 CException::CException()\n363 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n364 CFile::CFile(void *)\n365 CFile::CFile(wchar_t const *,unsigned int)\n366 CFile::CFile()\n367 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n368 CFileException::CFileException(int,long,wchar_t const *)\n369 CFileFind::CFileFind()\n370 CFindReplaceDialog::CFindReplaceDialog()\n371 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n372 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n373 CFont::CFont()\n374 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n375 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n376 CFontHolder::CFontHolder(IPropertyNotifySink *)\n377 CFormView::CFormView(unsigned int)\n378 CFormView::CFormView(wchar_t const *)\n379 CFrameWnd::CFrameWnd()\n380 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n381 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n382 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n383 CGdiObject::CGdiObject()\n384 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n385 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n386 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n387 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n388 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n389 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n390 CGopherLocator::CGopherLocator(CGopherLocator const &)\n391 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n392 CHeaderCtrl::CHeaderCtrl()\n393 CHotKeyCtrl::CHotKeyCtrl()\n394 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n395 CHtmlEditCtrl::CHtmlEditCtrl()\n396 CHtmlEditDoc::CHtmlEditDoc()\n397 CHtmlEditView::CHtmlEditView()\n398 CHtmlView::CHtmlView()\n399 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n400 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n401 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n402 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n403 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n404 CImageList::CImageList()\n405 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n406 CInternetException::CInternetException(unsigned long)\n407 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n408 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n409 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n410 CIPAddressCtrl::CIPAddressCtrl()\n411 CListBox::CListBox()\n412 CListCtrl::CListCtrl()\n413 CListView::CListView()\n414 CLongBinary::CLongBinary()\n415 CMapPtrToPtr::CMapPtrToPtr(int)\n416 CMapPtrToWord::CMapPtrToWord(int)\n417 CMapStringToOb::CMapStringToOb(int)\n418 CMapStringToPtr::CMapStringToPtr(int)\n419 CMapStringToString::CMapStringToString(int)\n420 CMapWordToOb::CMapWordToOb(int)\n421 CMapWordToPtr::CMapWordToPtr(int)\n422 CMDIChildWnd::CMDIChildWnd()\n423 CMDIFrameWnd::CMDIFrameWnd()\n424 CMemFile::CMemFile(unsigned int)\n425 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n426 CMemoryException::CMemoryException(int,unsigned int)\n427 CMemoryException::CMemoryException()\n428 CMemoryState::CMemoryState()\n429 CMenu::CMenu()\n430 CMetaFileDC::CMetaFileDC()\n431 CMiniDockFrameWnd::CMiniDockFrameWnd()\n432 CMiniFrameWnd::CMiniFrameWnd()\n433 CMonikerFile::CMonikerFile()\n434 CMonthCalCtrl::CMonthCalCtrl()\n435 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n436 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n437 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n438 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n439 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n440 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n441 CNotSupportedException::CNotSupportedException(int,unsigned int)\n442 CNotSupportedException::CNotSupportedException()\n443 CObArray::CObArray()\n444 CObject::CObject()\n445 CObList::CObList(int)\n446 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n447 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n448 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n449 COleClientItem::COleClientItem(COleDocument *)\n450 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n451 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n452 COleControl::COleControl()\n453 COleControlContainer::COleControlContainer(CWnd *)\n454 COleControlLock::COleControlLock(_GUID const &)\n455 COleControlSite::COleControlSite(COleControlContainer *)\n456 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n457 COleCurrency::COleCurrency(tagVARIANT const &)\n458 COleCurrency::COleCurrency(COleCurrency const &)\n459 COleCurrency::COleCurrency(long,long)\n460 COleCurrency::COleCurrency(union tagCY)\n461 COleCurrency::COleCurrency()\n462 COleDataObject::COleDataObject()\n463 COleDataSource::COleDataSource()\n464 COleDialog::COleDialog(CWnd *)\n465 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n466 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n467 COleDispatchDriver::COleDispatchDriver()\n468 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n469 COleDocIPFrameWnd::COleDocIPFrameWnd()\n470 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n471 COleDocument::COleDocument()\n472 COleDropSource::COleDropSource()\n473 COleDropTarget::COleDropTarget()\n474 COleException::COleException()\n475 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n476 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n477 COleIPFrameWnd::COleIPFrameWnd()\n478 COleLinkingDoc::COleLinkingDoc()\n479 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n480 COleMessageFilter::COleMessageFilter()\n481 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n482 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n483 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n484 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n485 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n486 COleResizeBar::COleResizeBar()\n487 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n488 COleSafeArray::COleSafeArray(tagVARIANT const &)\n489 COleSafeArray::COleSafeArray(COleSafeArray const &)\n490 COleSafeArray::COleSafeArray(COleVariant const &)\n491 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n492 COleSafeArray::COleSafeArray(tagVARIANT const *)\n493 COleSafeArray::COleSafeArray()\n494 COleServerDoc::COleServerDoc()\n495 COleServerItem::COleServerItem(COleServerDoc *,int)\n496 COleStreamFile::COleStreamFile(IStream *)\n497 COleTemplateServer::COleTemplateServer()\n498 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n499 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n500 COleVariant::COleVariant(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n501 COleVariant::COleVariant(tagVARIANT const &)\n502 COleVariant::COleVariant(COleVariant const &)\n503 COleVariant::COleVariant(CByteArray const &)\n504 COleVariant::COleVariant(CLongBinary const &)\n505 COleVariant::COleVariant(COleCurrency const &)\n506 COleVariant::COleVariant(ATL::COleDateTime const &)\n507 COleVariant::COleVariant(unsigned char)\n508 COleVariant::COleVariant(short,unsigned short)\n509 COleVariant::COleVariant(long,unsigned short)\n510 COleVariant::COleVariant(float)\n511 COleVariant::COleVariant(double)\n512 COleVariant::COleVariant(wchar_t const *)\n513 COleVariant::COleVariant(wchar_t const *,unsigned short)\n514 COleVariant::COleVariant(_ITEMIDLIST const *)\n515 COleVariant::COleVariant(tagVARIANT const *)\n516 COleVariant::COleVariant()\n517 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n518 CPaintDC::CPaintDC(CWnd *)\n519 CPalette::CPalette()\n520 CPen::CPen(int,int,unsigned long)\n521 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n522 CPen::CPen()\n523 CPictureHolder::CPictureHolder()\n524 CPreviewDC::CPreviewDC()\n525 CPreviewView::CPreviewView()\n526 CPrintDialog::CPrintDialog(tagPDW &)\n527 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n528 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n529 CPrintInfo::CPrintInfo()\n530 CPrintPreviewState::CPrintPreviewState()\n531 CProgressCtrl::CProgressCtrl()\n532 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n533 CProperty::CProperty(unsigned long,void * const,unsigned long)\n534 CProperty::CProperty()\n535 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n536 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n537 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n538 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n539 CPropertyPage::CPropertyPage()\n540 CPropertySection::CPropertySection(_GUID)\n541 CPropertySection::CPropertySection()\n542 CPropertySet::CPropertySet(_GUID)\n543 CPropertySet::CPropertySet()\n544 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n545 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n546 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n547 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n548 CPropertySheet::CPropertySheet()\n549 CPropExchange::CPropExchange()\n550 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n551 CPtrArray::CPtrArray()\n552 CPtrList::CPtrList(int)\n553 CReBar::CReBar()\n554 CReBarCtrl::CReBarCtrl()\n555 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n556 CRecordset::CRecordset(CDatabase *)\n557 CRecordView::CRecordView(unsigned int)\n558 CRecordView::CRecordView(wchar_t const *)\n559 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n560 CRectTracker::CRectTracker()\n561 CReObject::CReObject(CRichEditCntrItem *)\n562 CReObject::CReObject()\n563 CResetPropExchange::CResetPropExchange()\n564 CResourceException::CResourceException(int,unsigned int)\n565 CResourceException::CResourceException()\n566 CRgn::CRgn()\n567 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n568 CRichEditCtrl::CRichEditCtrl()\n569 CRichEditDoc::CRichEditDoc()\n570 CRichEditView::CRichEditView()\n571 CScrollBar::CScrollBar()\n572 CScrollView::CScrollView()\n573 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n574 CSharedFile::CSharedFile(unsigned int,unsigned int)\n575 CSimpleException::CSimpleException(int)\n576 CSimpleException::CSimpleException()\n577 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n578 CSingleLock::CSingleLock(CSyncObject *,int)\n579 CSliderCtrl::CSliderCtrl()\n580 CSocket::CSocket()\n581 CSocketFile::CSocketFile(CSocket *,int)\n582 CSocketWnd::CSocketWnd()\n583 CSpinButtonCtrl::CSpinButtonCtrl()\n584 CSplitterWnd::CSplitterWnd()\n585 CStatic::CStatic()\n586 CStatusBar::CStatusBar()\n587 CStatusBarCtrl::CStatusBarCtrl()\n588 CStdioFile::CStdioFile(_iobuf *)\n589 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n590 CStdioFile::CStdioFile()\n591 CStringArray::CStringArray()\n592 CStringList::CStringList(int)\n593 CSyncObject::CSyncObject(wchar_t const *)\n594 CTabCtrl::CTabCtrl()\n595 CTestCmdUI::CTestCmdUI()\n596 CThreadSlotData::CThreadSlotData()\n597 CToolBar::CToolBar()\n598 CToolBarCtrl::CToolBarCtrl()\n599 CToolTipCtrl::CToolTipCtrl()\n600 CTreeCtrl::CTreeCtrl()\n601 CTreeView::CTreeView()\n602 CUIntArray::CUIntArray()\n603 CUserException::CUserException(int,unsigned int)\n604 CUserException::CUserException()\n605 CView::CView()\n606 CWaitCursor::CWaitCursor()\n607 CWinApp::CWinApp(wchar_t const *)\n608 CWindowDC::CWindowDC(CWnd *)\n609 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n610 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n611 CWinThread::CWinThread()\n612 CWnd::CWnd(HWND__ *)\n613 CWnd::CWnd()\n614 CWordArray::CWordArray()\n615 CPreviewView::PAGE_INFO::PAGE_INFO()\n616 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n617 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n618 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n619 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n620 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n621 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n622 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n623 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n624 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n625 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n626 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n627 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n628 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n629 CAnimateCtrl::~CAnimateCtrl()\n630 CArchive::~CArchive()\n631 CArchiveException::~CArchiveException()\n632 CAsyncMonikerFile::~CAsyncMonikerFile()\n633 CAsyncSocket::~CAsyncSocket()\n634 CBitmap::~CBitmap()\n635 CBrush::~CBrush()\n636 CButton::~CButton()\n637 CByteArray::~CByteArray()\n638 CClientDC::~CClientDC()\n639 CCmdTarget::~CCmdTarget()\n640 CComboBox::~CComboBox()\n641 CComboBoxEx::~CComboBoxEx()\n642 CCommandLineInfo::~CCommandLineInfo()\n643 CConnectionPoint::~CConnectionPoint()\n644 CControlBar::~CControlBar()\n645 CCriticalSection::~CCriticalSection()\n646 CCtrlView::~CCtrlView()\n647 CDatabase::~CDatabase()\n648 CDataSourceControl::~CDataSourceControl()\n649 CDateTimeCtrl::~CDateTimeCtrl()\n650 CDBException::~CDBException()\n651 CDBVariant::~CDBVariant()\n652 CDC::~CDC()\n653 CDHtmlControlSink::~CDHtmlControlSink()\n654 CDHtmlDialog::~CDHtmlDialog()\n655 CDialog::~CDialog()\n656 CDialogBar::~CDialogBar()\n657 CDialogTemplate::~CDialogTemplate()\n658 CDocItem::~CDocItem()\n659 CDockBar::~CDockBar()\n660 CDockContext::~CDockContext()\n661 CDockState::~CDockState()\n662 CDocManager::~CDocManager()\n663 CDocObjectServer::~CDocObjectServer()\n664 CDocObjectServerItem::~CDocObjectServerItem()\n665 CDocTemplate::~CDocTemplate()\n666 CDocument::~CDocument()\n667 CDragListBox::~CDragListBox()\n668 CDWordArray::~CDWordArray()\n669 CDynLinkLibrary::~CDynLinkLibrary()\n670 CEdit::~CEdit()\n671 CEditView::~CEditView()\n672 CEnumArray::~CEnumArray()\n673 CEnumConnections::~CEnumConnections()\n674 CEnumConnPoints::~CEnumConnPoints()\n675 CEnumFormatEtc::~CEnumFormatEtc()\n676 CEnumOleVerb::~CEnumOleVerb()\n677 CEnumUnknown::~CEnumUnknown()\n678 CEvent::~CEvent()\n679 CException::~CException()\n680 CFile::~CFile()\n681 CFileDialog::~CFileDialog()\n682 CFileException::~CFileException()\n683 CFileFind::~CFileFind()\n684 CFixedAlloc::~CFixedAlloc()\n685 CFixedAllocNoSync::~CFixedAllocNoSync()\n686 CFont::~CFont()\n687 CFontHolder::~CFontHolder()\n688 CFrameWnd::~CFrameWnd()\n689 CFtpConnection::~CFtpConnection()\n690 CFtpFileFind::~CFtpFileFind()\n691 CGdiObject::~CGdiObject()\n692 CGopherConnection::~CGopherConnection()\n693 CGopherFile::~CGopherFile()\n694 CGopherFileFind::~CGopherFileFind()\n695 CGopherLocator::~CGopherLocator()\n696 CHeaderCtrl::~CHeaderCtrl()\n697 CHotKeyCtrl::~CHotKeyCtrl()\n698 CHtmlControlSite::~CHtmlControlSite()\n699 CHtmlEditCtrl::~CHtmlEditCtrl()\n700 CHtmlEditDoc::~CHtmlEditDoc()\n701 CHtmlEditView::~CHtmlEditView()\n702 CHtmlView::~CHtmlView()\n703 CHttpConnection::~CHttpConnection()\n704 CHttpFile::~CHttpFile()\n705 CImageList::~CImageList()\n706 CInternetConnection::~CInternetConnection()\n707 CInternetException::~CInternetException()\n708 CInternetFile::~CInternetFile()\n709 CInternetSession::~CInternetSession()\n710 CIPAddressCtrl::~CIPAddressCtrl()\n711 CListBox::~CListBox()\n712 CListCtrl::~CListCtrl()\n713 CLongBinary::~CLongBinary()\n714 CMapPtrToPtr::~CMapPtrToPtr()\n715 CMapPtrToWord::~CMapPtrToWord()\n716 CMapStringToOb::~CMapStringToOb()\n717 CMapStringToPtr::~CMapStringToPtr()\n718 CMapStringToString::~CMapStringToString()\n719 CMapWordToOb::~CMapWordToOb()\n720 CMapWordToPtr::~CMapWordToPtr()\n721 CMemFile::~CMemFile()\n722 CMemoryException::~CMemoryException()\n723 CMenu::~CMenu()\n724 CMetaFileDC::~CMetaFileDC()\n725 CMiniFrameWnd::~CMiniFrameWnd()\n726 CMonikerFile::~CMonikerFile()\n727 CMonthCalCtrl::~CMonthCalCtrl()\n728 CMultiDocTemplate::~CMultiDocTemplate()\n729 CMultiLock::~CMultiLock()\n730 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n731 CMutex::~CMutex()\n732 CNotSupportedException::~CNotSupportedException()\n733 CObArray::~CObArray()\n734 CObject::~CObject()\n735 CObList::~CObList()\n736 COleBusyDialog::~COleBusyDialog()\n737 COleChangeIconDialog::~COleChangeIconDialog()\n738 COleChangeSourceDialog::~COleChangeSourceDialog()\n739 COleClientItem::~COleClientItem()\n740 COleCntrFrameWnd::~COleCntrFrameWnd()\n741 COleControl::~COleControl()\n742 COleControlContainer::~COleControlContainer()\n743 COleControlLock::~COleControlLock()\n744 COleControlSite::~COleControlSite()\n745 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n746 COleConvertDialog::~COleConvertDialog()\n747 COleDataObject::~COleDataObject()\n748 COleDataSource::~COleDataSource()\n749 COleDispatchDriver::~COleDispatchDriver()\n750 COleDispatchException::~COleDispatchException()\n751 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n752 COleDocObjectItem::~COleDocObjectItem()\n753 COleDocument::~COleDocument()\n754 COleDropTarget::~COleDropTarget()\n755 COleException::~COleException()\n756 COleFrameHook::~COleFrameHook()\n757 COleInsertDialog::~COleInsertDialog()\n758 COleIPFrameWnd::~COleIPFrameWnd()\n759 COleLinkingDoc::~COleLinkingDoc()\n760 COleLinksDialog::~COleLinksDialog()\n761 COleMessageFilter::~COleMessageFilter()\n762 COleObjectFactory::~COleObjectFactory()\n763 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n764 COlePropertyPage::~COlePropertyPage()\n765 COleResizeBar::~COleResizeBar()\n766 COleSafeArray::~COleSafeArray()\n767 COleServerDoc::~COleServerDoc()\n768 COleServerItem::~COleServerItem()\n769 COleStreamFile::~COleStreamFile()\n770 COleUpdateDialog::~COleUpdateDialog()\n771 COleVariant::~COleVariant()\n772 CPaintDC::~CPaintDC()\n773 CPalette::~CPalette()\n774 CPen::~CPen()\n775 CPictureHolder::~CPictureHolder()\n776 CPreviewDC::~CPreviewDC()\n777 CPreviewView::~CPreviewView()\n778 CPrintInfo::~CPrintInfo()\n779 CProcessLocalObject::~CProcessLocalObject()\n780 CProgressCtrl::~CProgressCtrl()\n781 CPropbagPropExchange::~CPropbagPropExchange()\n782 CProperty::~CProperty()\n783 CPropertyPage::~CPropertyPage()\n784 CPropertySection::~CPropertySection()\n785 CPropertySet::~CPropertySet()\n786 CPropertySheet::~CPropertySheet()\n787 CPtrArray::~CPtrArray()\n788 CPtrList::~CPtrList()\n789 CRecentFileList::~CRecentFileList()\n790 CRecordset::~CRecordset()\n791 CRecordView::~CRecordView()\n792 CRectTracker::~CRectTracker()\n793 CReObject::~CReObject()\n794 CResourceException::~CResourceException()\n795 CRgn::~CRgn()\n796 CRichEditCntrItem::~CRichEditCntrItem()\n797 CRichEditCtrl::~CRichEditCtrl()\n798 CScrollBar::~CScrollBar()\n799 CScrollView::~CScrollView()\n800 CSemaphore::~CSemaphore()\n801 CSharedFile::~CSharedFile()\n802 CSimpleException::~CSimpleException()\n803 CSingleDocTemplate::~CSingleDocTemplate()\n804 CSingleLock::~CSingleLock()\n805 CSliderCtrl::~CSliderCtrl()\n806 CSocket::~CSocket()\n807 CSocketFile::~CSocketFile()\n808 CSpinButtonCtrl::~CSpinButtonCtrl()\n809 CSplitterWnd::~CSplitterWnd()\n810 CStatic::~CStatic()\n811 CStatusBar::~CStatusBar()\n812 CStatusBarCtrl::~CStatusBarCtrl()\n813 CStdioFile::~CStdioFile()\n814 CStringArray::~CStringArray()\n815 CStringList::~CStringList()\n816 CSyncObject::~CSyncObject()\n817 CTabCtrl::~CTabCtrl()\n818 CThreadLocalObject::~CThreadLocalObject()\n819 CThreadSlotData::~CThreadSlotData()\n820 CToolBar::~CToolBar()\n821 CToolBarCtrl::~CToolBarCtrl()\n822 CToolTipCtrl::~CToolTipCtrl()\n823 CTreeCtrl::~CTreeCtrl()\n824 CUIntArray::~CUIntArray()\n825 CUserException::~CUserException()\n826 CView::~CView()\n827 CWaitCursor::~CWaitCursor()\n828 CWinApp::~CWinApp()\n829 CWindowDC::~CWindowDC()\n830 CWinThread::~CWinThread()\n831 CWnd::~CWnd()\n832 CWordArray::~CWordArray()\n833 void * operator new(unsigned int)\n834 void * operator new(unsigned int,int,char const *,int)\n835 void * operator new(unsigned int,char const *,int)\n836 void * CNoTrackObject::operator new(unsigned int)\n837 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n838 void * CObject::operator new(unsigned int)\n839 void * CObject::operator new(unsigned int,void *)\n840 void * CObject::operator new(unsigned int,char const *,int)\n841 void operator delete(void *)\n842 void operator delete(void *,int,char const *,int)\n843 void operator delete(void *,char const *,int)\n844 void CException::operator delete(void *)\n845 void CException::operator delete(void *,char const *,int)\n846 void CNoTrackObject::operator delete(void *)\n847 void CNoTrackObject::operator delete(void *,char const *,int)\n848 void CObject::operator delete(void *)\n849 void CObject::operator delete(void *,void *)\n850 void CObject::operator delete(void *,char const *,int)\n851 void CArchive::operator=(CArchive const &)\n852 void CDumpContext::operator=(CDumpContext const &)\n853 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n854 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n855 COleCurrency const & COleCurrency::operator=(union tagCY)\n856 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n857 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n858 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n859 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n860 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n861 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n862 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n863 COleVariant const & COleVariant::operator=(COleVariant const &)\n864 COleVariant const & COleVariant::operator=(CByteArray const &)\n865 COleVariant const & COleVariant::operator=(CLongBinary const &)\n866 COleVariant const & COleVariant::operator=(COleCurrency const &)\n867 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n868 COleVariant const & COleVariant::operator=(unsigned char)\n869 COleVariant const & COleVariant::operator=(short)\n870 COleVariant const & COleVariant::operator=(long)\n871 COleVariant const & COleVariant::operator=(float)\n872 COleVariant const & COleVariant::operator=(double)\n873 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n874 COleVariant const & COleVariant::operator=(wchar_t const * const)\n875 CArchive & operator>>(CArchive &,CByteArray * &)\n876 CArchive & operator>>(CArchive &,CDocItem * &)\n877 CArchive & operator>>(CArchive &,CDockState * &)\n878 CArchive & operator>>(CArchive &,CDWordArray * &)\n879 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n880 CArchive & operator>>(CArchive &,CMapStringToString * &)\n881 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n882 CArchive & operator>>(CArchive &,CObArray * &)\n883 CArchive & operator>>(CArchive &,CObject * &)\n884 CArchive & operator>>(CArchive &,CObList * &)\n885 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n886 CArchive & operator>>(CArchive &,CStringArray * &)\n887 CArchive & operator>>(CArchive &,CStringList * &)\n888 CArchive & operator>>(CArchive &,CWordArray * &)\n889 CArchive & operator>>(CArchive &,CObject const * &)\n890 CArchive & operator>>(CArchive &,tagPOINT &)\n891 CArchive & operator>>(CArchive &,tagRECT &)\n892 CArchive & operator>>(CArchive &,tagSIZE &)\n893 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n894 CArchive & operator>>(CArchive &,COleCurrency &)\n895 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n896 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n897 CArchive & operator>>(CArchive &,COleVariant &)\n898 CArchive & operator>>(CArchive &,ATL::CTime &)\n899 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n900 CArchive & CArchive::operator>>(__int64 &)\n901 CArchive & CArchive::operator>>(unsigned __int64 &)\n902 CArchive & CArchive::operator>>(bool &)\n903 CArchive & CArchive::operator>>(wchar_t &)\n904 CArchive & CArchive::operator>>(char &)\n905 CArchive & CArchive::operator>>(unsigned char &)\n906 CArchive & CArchive::operator>>(short &)\n907 CArchive & CArchive::operator>>(unsigned short &)\n908 CArchive & CArchive::operator>>(int &)\n909 CArchive & CArchive::operator>>(unsigned int &)\n910 CArchive & CArchive::operator>>(long &)\n911 CArchive & CArchive::operator>>(unsigned long &)\n912 CArchive & CArchive::operator>>(float &)\n913 CArchive & CArchive::operator>>(double &)\n914 CArchive & operator<<(CArchive &,tagRECT const &)\n915 CArchive & operator<<(CArchive &,CObject const *)\n916 CArchive & operator<<(CArchive &,tagPOINT)\n917 CArchive & operator<<(CArchive &,tagSIZE)\n918 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n919 CArchive & operator<<(CArchive &,COleCurrency)\n920 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n921 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n922 CArchive & operator<<(CArchive &,COleVariant)\n923 CArchive & operator<<(CArchive &,ATL::CTime)\n924 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n925 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n926 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n927 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n928 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n929 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n930 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n931 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n932 CDumpContext & operator<<(CDumpContext &,COleVariant)\n933 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n934 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n935 CArchive & CArchive::operator<<(__int64)\n936 CArchive & CArchive::operator<<(unsigned __int64)\n937 CArchive & CArchive::operator<<(bool)\n938 CArchive & CArchive::operator<<(wchar_t)\n939 CArchive & CArchive::operator<<(char)\n940 CArchive & CArchive::operator<<(unsigned char)\n941 CArchive & CArchive::operator<<(short)\n942 CArchive & CArchive::operator<<(unsigned short)\n943 CArchive & CArchive::operator<<(int)\n944 CArchive & CArchive::operator<<(unsigned int)\n945 CArchive & CArchive::operator<<(long)\n946 CArchive & CArchive::operator<<(unsigned long)\n947 CArchive & CArchive::operator<<(float)\n948 CArchive & CArchive::operator<<(double)\n949 CDumpContext & CDumpContext::operator<<(__int64)\n950 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n951 CDumpContext & CDumpContext::operator<<(CObject const &)\n952 CDumpContext & CDumpContext::operator<<(unsigned char)\n953 CDumpContext & CDumpContext::operator<<(unsigned short)\n954 CDumpContext & CDumpContext::operator<<(int)\n955 CDumpContext & CDumpContext::operator<<(unsigned int)\n956 CDumpContext & CDumpContext::operator<<(long)\n957 CDumpContext & CDumpContext::operator<<(unsigned long)\n958 CDumpContext & CDumpContext::operator<<(float)\n959 CDumpContext & CDumpContext::operator<<(double)\n960 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n961 CDumpContext & CDumpContext::operator<<(HDC__ *)\n962 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n963 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n964 CDumpContext & CDumpContext::operator<<(HWND__ *)\n965 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n966 CDumpContext & CDumpContext::operator<<(char const *)\n967 CDumpContext & CDumpContext::operator<<(CObject const *)\n968 CDumpContext & CDumpContext::operator<<(void const *)\n969 int CGdiObject::operator==(CGdiObject const &)const \n970 int CMenu::operator==(CMenu const &)const \n971 int COleCurrency::operator==(COleCurrency const &)const \n972 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n973 int COleSafeArray::operator==(tagVARIANT const &)const \n974 int COleSafeArray::operator==(COleSafeArray const &)const \n975 int COleSafeArray::operator==(COleVariant const &)const \n976 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n977 int COleSafeArray::operator==(tagVARIANT const *)const \n978 int COleVariant::operator==(tagVARIANT const &)const \n979 int COleVariant::operator==(tagVARIANT const *)const \n980 int CWnd::operator==(CWnd const &)const \n981 int CGdiObject::operator!=(CGdiObject const &)const \n982 int CMenu::operator!=(CMenu const &)const \n983 int COleCurrency::operator!=(COleCurrency const &)const \n984 int CWnd::operator!=(CWnd const &)const \n985 unsigned char & CByteArray::operator[](int)\n986 unsigned char CByteArray::operator[](int)const \n987 unsigned long & CDWordArray::operator[](int)\n988 unsigned long CDWordArray::operator[](int)const \n989 void * & CMapPtrToPtr::operator[](void *)\n990 unsigned short & CMapPtrToWord::operator[](void *)\n991 CObject * & CMapStringToOb::operator[](wchar_t const *)\n992 void * & CMapStringToPtr::operator[](wchar_t const *)\n993 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n994 CObject * & CMapWordToOb::operator[](unsigned short)\n995 void * & CMapWordToPtr::operator[](unsigned short)\n996 CObject * & CObArray::operator[](int)\n997 CObject * CObArray::operator[](int)const \n998 void * & CPtrArray::operator[](int)\n999 void * CPtrArray::operator[](int)const \n1000 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::operator[](int)\n1001 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::operator[](int)const \n1002 unsigned int & CUIntArray::operator[](int)\n1003 unsigned int CUIntArray::operator[](int)const \n1004 unsigned short & CWordArray::operator[](int)\n1005 unsigned short CWordArray::operator[](int)const \n1006 CAsyncSocket::operator unsigned int()const \n1007 CBitmap::operator HBITMAP__ *()const \n1008 CBrush::operator HBRUSH__ *()const \n1009 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1010 CDC::operator HDC__ *()const \n1011 CFile::operator void *()const \n1012 CFont::operator HFONT__ *()const \n1013 CGdiObject::operator void *()const \n1014 CGopherLocator::operator wchar_t const *()const \n1015 CImageList::operator _IMAGELIST *()const \n1016 CInternetConnection::operator void *()const \n1017 CInternetFile::operator void *()const \n1018 CInternetSession::operator void *()const \n1019 CMenu::operator HMENU__ *()const \n1020 COleCurrency::operator union tagCY()const \n1021 COleDispatchDriver::operator IDispatch *()\n1022 COleSafeArray::operator tagVARIANT *()\n1023 COleSafeArray::operator tagVARIANT const *()const \n1024 COleVariant::operator tagVARIANT *()\n1025 COleVariant::operator tagVARIANT const *()const \n1026 CPalette::operator HPALETTE__ *()const \n1027 CPen::operator HPEN__ *()const \n1028 CRgn::operator HRGN__ *()const \n1029 CSyncObject::operator void *()const \n1030 CWinThread::operator void *()const \n1031 CWnd::operator HWND__ *()const \n1032 COleCurrency COleCurrency::operator*(long)const \n1033 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1034 COleCurrency COleCurrency::operator-()const \n1035 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1036 COleCurrency COleCurrency::operator/(long)const \n1037 int COleCurrency::operator<(COleCurrency const &)const \n1038 int COleCurrency::operator<=(COleCurrency const &)const \n1039 int COleCurrency::operator>(COleCurrency const &)const \n1040 int COleCurrency::operator>=(COleCurrency const &)const \n1041 COleCurrency const & COleCurrency::operator*=(long)\n1042 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1043 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1044 int _AfxAbortProc(HDC__ *,int)\n1045 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1046 int _AfxDeleteRegKey(wchar_t const *)\n1047 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1048 int _AfxSocketInit(WSAData *)\n1049 void CArchive::Abort()\n1050 void CFile::Abort()\n1051 void CInternetFile::Abort()\n1052 void CMemFile::Abort()\n1053 void CMirrorFile::Abort()\n1054 void COleStreamFile::Abort()\n1055 void CSocketFile::Abort()\n1056 void CStdioFile::Abort()\n1057 int CDC::AbortDoc()\n1058 int CDC::AbortPath()\n1059 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1060 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1061 long CWnd::accDoDefaultAction(tagVARIANT)\n1062 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1063 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1064 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1065 void COleSafeArray::AccessData(void * *)\n1066 long CWnd::accHitTest(long,long,tagVARIANT *)\n1067 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1068 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1069 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1070 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1071 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1072 long CWnd::accSelect(long,tagVARIANT)\n1073 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1074 void COleClientItem::Activate(long,CView *,tagMSG *)\n1075 void CToolTipCtrl::Activate(int)\n1076 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1077 void COleDocObjectItem::ActivateAndShow()\n1078 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1079 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1080 void CDocObjectServer::ActivateDocObject()\n1081 void COleServerDoc::ActivateDocObject()\n1082 void CFrameWnd::ActivateFrame(int)\n1083 void CMDIChildWnd::ActivateFrame(int)\n1084 int COleServerDoc::ActivateInPlace()\n1085 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1086 void CSplitterWnd::ActivateNext(int)\n1087 void CWnd::ActivateTopParent()\n1088 int CByteArray::Add(unsigned char)\n1089 int CDWordArray::Add(unsigned long)\n1090 int CImageList::Add(HICON__ *)\n1091 int CImageList::Add(CBitmap *,CBitmap *)\n1092 int CImageList::Add(CBitmap *,unsigned long)\n1093 int CObArray::Add(CObject *)\n1094 int CPtrArray::Add(void *)\n1095 void CRecentFileList::Add(wchar_t const *)\n1096 int CStringArray::Add(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1097 int CStringArray::Add(wchar_t const *)\n1098 int CUIntArray::Add(unsigned int)\n1099 int CWordArray::Add(unsigned short)\n1100 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n1101 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n1102 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1103 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1104 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1105 void COleClientItem::AddCachedData(COleDataSource *)\n1106 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1107 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1108 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1109 void CFrameWnd::AddControlBar(CControlBar *)\n1110 void CDocManager::AddDocTemplate(CDocTemplate *)\n1111 void CWinApp::AddDocTemplate(CDocTemplate *)\n1112 void CDocTemplate::AddDocument(CDocument *)\n1113 void CMultiDocTemplate::AddDocument(CDocument *)\n1114 void CSingleDocTemplate::AddDocument(CDocument *)\n1115 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1116 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n1117 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1118 void COleControl::AddFrameLevelUI()\n1119 void CFrameWnd::AddFrameWnd()\n1120 __POSITION * CObList::AddHead(CObject *)\n1121 void CObList::AddHead(CObList *)\n1122 __POSITION * CPtrList::AddHead(void *)\n1123 void CPtrList::AddHead(CPtrList *)\n1124 void CSimpleList::AddHead(void *)\n1125 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1126 __POSITION * CStringList::AddHead(wchar_t const *)\n1127 void CStringList::AddHead(CStringList *)\n1128 void COleDocument::AddItem(CDocItem *)\n1129 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1130 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1131 void CRecordset::AddNew()\n1132 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1133 void CPropertySheet::AddPage(CPropertyPage *)\n1134 void CPropertySection::AddProperty(CProperty *)\n1135 void CPropertySet::AddProperty(_GUID,CProperty *)\n1136 unsigned long CArchiveStream::AddRef()\n1137 unsigned long CBlobProperty::AddRef()\n1138 unsigned long CBrowserControlSite::AddRef()\n1139 unsigned long CDHtmlControlSink::AddRef()\n1140 unsigned long CDHtmlElementEventSink::AddRef()\n1141 unsigned long CDHtmlEventSink::AddRef()\n1142 unsigned long CInnerUnknown::AddRef()\n1143 unsigned long COleConnPtContainer::AddRef()\n1144 unsigned long COleDispatchImpl::AddRef()\n1145 unsigned long COleUILinkInfo::AddRef()\n1146 unsigned long CPrintDialogEx::AddRef()\n1147 unsigned long CWnd::XAccessible::AddRef()\n1148 unsigned long CWnd::XAccessibleServer::AddRef()\n1149 unsigned long COleClientItem::XAdviseSink::AddRef()\n1150 unsigned long COleControlSite::XAmbientProps::AddRef()\n1151 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1152 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1153 unsigned long CConnectionPoint::XConnPt::AddRef()\n1154 unsigned long COleControl::XDataObject::AddRef()\n1155 unsigned long COleDataSource::XDataObject::AddRef()\n1156 unsigned long COleServerDoc::XDataObject::AddRef()\n1157 unsigned long COleServerItem::XDataObject::AddRef()\n1158 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1159 unsigned long COleDropSource::XDropSource::AddRef()\n1160 unsigned long COleDropTarget::XDropTarget::AddRef()\n1161 unsigned long CEnumArray::XEnumVOID::AddRef()\n1162 unsigned long COleControlSite::XEventSink::AddRef()\n1163 unsigned long COleControl::XFontNotification::AddRef()\n1164 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1165 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1166 unsigned long COleControl::XOleCache::AddRef()\n1167 unsigned long COleClientItem::XOleClientSite::AddRef()\n1168 unsigned long COleControlSite::XOleClientSite::AddRef()\n1169 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1170 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1171 unsigned long COleControlContainer::XOleContainer::AddRef()\n1172 unsigned long COleControl::XOleControl::AddRef()\n1173 unsigned long COleControlSite::XOleControlSite::AddRef()\n1174 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1175 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1176 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1177 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1178 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1179 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1180 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1181 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1182 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1183 unsigned long COleClientItem::XOleIPSite::AddRef()\n1184 unsigned long COleControlSite::XOleIPSite::AddRef()\n1185 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1186 unsigned long CDocObjectServer::XOleObject::AddRef()\n1187 unsigned long COleControl::XOleObject::AddRef()\n1188 unsigned long COleServerDoc::XOleObject::AddRef()\n1189 unsigned long COleServerItem::XOleObject::AddRef()\n1190 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1191 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1192 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1193 unsigned long COleControl::XPersistMemory::AddRef()\n1194 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1195 unsigned long COleControl::XPersistStorage::AddRef()\n1196 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1197 unsigned long COleControl::XPersistStreamInit::AddRef()\n1198 unsigned long COleControl::XPointerInactive::AddRef()\n1199 unsigned long CDocObjectServer::XPrint::AddRef()\n1200 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1201 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1202 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1203 unsigned long COleControl::XProvideClassInfo::AddRef()\n1204 unsigned long COleControl::XQuickActivate::AddRef()\n1205 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1206 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1207 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1208 unsigned long COleControl::XViewObject::AddRef()\n1209 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1210 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1211 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n1212 CPropertySection * CPropertySet::AddSection(_GUID)\n1213 void CPropertySet::AddSection(CPropertySection *)\n1214 void COlePasteSpecialDialog::AddStandardFormats(int)\n1215 int CComboBox::AddString(wchar_t const *)\n1216 int CComboBoxEx::AddString(wchar_t const *)\n1217 int CListBox::AddString(wchar_t const *)\n1218 int CToolBarCtrl::AddString(unsigned int)\n1219 int CToolBarCtrl::AddStrings(wchar_t const *)\n1220 __POSITION * CObList::AddTail(CObject *)\n1221 void CObList::AddTail(CObList *)\n1222 __POSITION * CPtrList::AddTail(void *)\n1223 void CPtrList::AddTail(CPtrList *)\n1224 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1225 __POSITION * CStringList::AddTail(wchar_t const *)\n1226 void CStringList::AddTail(CStringList *)\n1227 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1228 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1229 void CWinApp::AddToRecentFileList(wchar_t const *)\n1230 void CDocument::AddView(CView *)\n1231 void CMetaFileDC::AdjustCP(int)\n1232 void CRichEditView::AdjustDialogPosition(CDialog *)\n1233 void CRectTracker::AdjustRect(int,tagRECT *)\n1234 void CTabCtrl::AdjustRect(int,tagRECT *)\n1235 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1236 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1237 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1238 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1239 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1240 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1241 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1242 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1243 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1244 void AfxAbort()\n1245 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1250 int AfxAssertFailedLine(char const *,int)\n1251 void AfxAssertValidObject(CObject const *,char const *,int)\n1252 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1253 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1254 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1255 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1256 void AfxCancelModes(HWND__ *)\n1257 void AfxCheckError(long)\n1258 int AfxCheckMemory()\n1259 void AfxClassInit(CRuntime*)\n1260 int AfxComparePath(wchar_t const *,wchar_t const *)\n1261 int AfxCompareValueByRef(void *,void *,int)\n1262 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1263 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1264 void AfxCopyValueByRef(void *,void *,long *,int)\n1265 void AfxCoreInitModule()\n1266 HDC__ * AfxCreateDC(void *,void *)\n1267 int AfxCriticalInit()\n1268 int AfxCriticalNewHandler(unsigned int)\n1269 void AfxCriticalTerm()\n1270 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1271 AUX_DATA afxData\n1272 void AfxDeleteObject(void * *)\n1273 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1274 int AfxDiagnosticInit()\n1275 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1276 long AfxDllCanUnloadNow()\n1277 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1278 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1279 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1280 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1281 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1282 void AfxDump(CObject const *)\n1283 int AfxDumpMemoryLeaks()\n1284 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1285 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1286 void AfxEditviewTerm()\n1287 void AfxEnableControlContainer(COccManager *)\n1288 int AfxEnableMemoryTracking(int)\n1289 int AfxEndDeferRegisterClass(long)\n1290 void AfxEndThread(unsigned int,int)\n1291 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1292 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1293 void AfxFailMaxChars(CDataExchange *,int)\n1294 void AfxFailRadio(CDataExchange *)\n1295 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1296 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1297 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1298 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1299 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1300 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1301 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1302 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1303 int AfxFreeLibrary(HINSTANCE__ *)\n1304 void AfxFreeMemoryDebug(void *,int)\n1305 int AfxFullPath(wchar_t *,wchar_t const *)\n1306 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1307 CWinApp * AfxGetApp()\n1308 AFX_MODULE_STATE * AfxGetAppModuleState()\n1309 wchar_t const * AfxGetAppName()\n1310 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1311 tagMSG * AfxGetCurrentMessage()\n1312 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1313 unsigned long AfxGetDllVersion()\n1314 wchar_t const * AfxGetFacilityString(long)\n1315 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1316 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1317 wchar_t const * AfxGetFullScodeString(long)\n1318 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1319 void * AfxGetHENV()\n1320 wchar_t const * AfxGetIIDString(_GUID const &)\n1321 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1322 HINSTANCE__ * AfxGetInstanceHandle()\n1323 unsigned long AfxGetInternetHandleType(void *)\n1324 CWnd * AfxGetMainWnd()\n1325 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1326 AFX_MODULE_STATE * AfxGetModuleState()\n1327 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1328 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1329 HWND__ * AfxGetParentOwner(HWND__ *)\n1330 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1331 HINSTANCE__ * AfxGetResourceHandle()\n1332 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1333 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1334 wchar_t const * AfxGetScodeRangeString(long)\n1335 wchar_t const * AfxGetScodeString(long)\n1336 wchar_t const * AfxGetSeverityString(long)\n1337 ATL::IAtlStringMgr * AfxGetStringManager()\n1338 CWinThread * AfxGetThread()\n1339 _AFX_THREAD_STATE * AfxGetThreadState()\n1340 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1341 void AfxGlobalFree(void *)\n1342 int AfxHelpEnabled()\n1343 void AfxHookWindowCreate(CWnd *)\n1344 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1345 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1346 void AfxInitLocalData(HINSTANCE__ *)\n1347 int AfxInitRichEdit()\n1348 void AfxInitThread()\n1349 int AfxInternalIsIdleMessage(tagMSG *)\n1350 int AfxInternalPreTranslateMessage(tagMSG *)\n1351 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1352 int AfxInternalPumpMessage()\n1353 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1354 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1355 int AfxIsDescendant(HWND__ *,HWND__ *)\n1356 int AfxIsIdleMessage(tagMSG *)\n1357 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1358 int AfxIsValidAddress(void const *,unsigned int,int)\n1359 int AfxIsValidString(wchar_t const *,int)\n1360 int AfxIsValidString(char const *,int)\n1361 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1362 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1363 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1364 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1365 int AfxLoadString(unsigned int,char *,unsigned int)\n1366 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1367 void AfxLockGlobals(int)\n1368 void AfxLockTempMaps()\n1369 CHandleMap * afxMapHDC(int)\n1370 CHandleMap * afxMapHGDIOBJ(int)\n1371 CHandleMap * afxMapHIMAGELIST(int)\n1372 CHandleMap * afxMapHMENU(int)\n1373 CHandleMap * afxMapHWND(int)\n1374 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1375 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1376 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1377 int AfxNewHandler(unsigned int)\n1378 int AfxOleCanExitApp()\n1379 COleMessageFilter * AfxOleGetMessageFilter()\n1380 int AfxOleGetUserCtrl()\n1381 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1382 int AfxOleInit()\n1383 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1384 void AfxOleLockApp()\n1385 int AfxOleLockControl(_GUID const &)\n1386 int AfxOleLockControl(wchar_t const *)\n1387 void AfxOleOnReleaseAllObjects()\n1388 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1389 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1390 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1391 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1392 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1393 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1394 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1395 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1396 void AfxOleSetUserCtrl(int)\n1397 void AfxOleTerm(int)\n1398 void AfxOleTermOrFreeLib(int,int)\n1399 void AfxOleUnlockAllControls()\n1400 void AfxOleUnlockApp()\n1401 int AfxOleUnlockControl(_GUID const &)\n1402 int AfxOleUnlockControl(wchar_t const *)\n1403 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1404 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1405 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1406 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1407 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1408 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1409 void AfxPostQuitMessage(int)\n1410 int AfxPreTranslateMessage(tagMSG *)\n1411 long AfxProcessWndProcException(CException *,tagMSG const *)\n1412 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1413 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1414 int AfxPumpMessage()\n1415 unsigned int AfxReadStringLength(CArchive &,int &)\n1416 int AfxRegisterClass(tagWNDCLASSW *)\n1417 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1418 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1419 void AfxResetMsgCache()\n1420 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1421 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1422 void AfxSafeArrayInit(COleSafeArray *)\n1423 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1424 void AfxSetAllocStop(long)\n1425 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1426 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1427 void AfxSetResourceHandle(HINSTANCE__ *)\n1428 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1429 void AfxSocketTerm()\n1430 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1431 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1432 void AfxStoreField(CRecordset &,unsigned int,void *)\n1433 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1434 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1435 void AfxTermLocalData(HINSTANCE__ *,int)\n1436 void AfxTermThread(HINSTANCE__ *)\n1437 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1438 void AfxThrowArchiveException(int,wchar_t const *)\n1439 void AfxThrowDBException(short,CDatabase *,void *)\n1440 void AfxThrowFileException(int,long,wchar_t const *)\n1441 void AfxThrowInternetException(unsigned long,unsigned long)\n1442 void AfxThrowLastCleanup()\n1443 void AfxThrowMemoryException()\n1444 void AfxThrowNotSupportedException()\n1445 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1446 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1447 void AfxThrowOleException(long)\n1448 void AfxThrowResourceException()\n1449 void AfxThrowUserException()\n1450 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1451 void AfxTlsAddRef()\n1452 void AfxTlsRelease()\n1453 void AfxTrace(wchar_t const *,...)\n1454 int afxTraceEnabled\n1455 unsigned int afxTraceFlags\n1456 void AfxTrackerTerm()\n1457 void AfxTryCleanup()\n1458 int AfxUnhookWindowCreate()\n1459 void AfxUnlockGlobals(int)\n1460 int AfxUnlockTempMaps(int)\n1461 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1462 void AfxVariantInit(tagVARIANT *)\n1463 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1464 char * AfxW2AHelper(char *,wchar_t const *,int)\n1465 void AfxWingdixTerm()\n1466 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1467 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1468 void AfxWinTerm()\n1469 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1470 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1471 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1472 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1473 void * CFixedAlloc::Alloc()\n1474 void * CFixedAllocNoSync::Alloc()\n1475 unsigned char * CMemFile::Alloc(unsigned long)\n1476 unsigned char * CSharedFile::Alloc(unsigned long)\n1477 void CRecordset::AllocAndCacheFieldInfo()\n1478 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1479 void CDatabase::AllocConnect(unsigned long)\n1480 void COleSafeArray::AllocData()\n1481 void CRecordset::AllocDataCache()\n1482 void COleSafeArray::AllocDescriptor(unsigned long)\n1483 int CControlBar::AllocElements(int,int)\n1484 int CStatusBar::AllocElements(int,int)\n1485 int CRecordset::AllocHstmt()\n1486 void CPropertyPage::AllocPSP(unsigned long)\n1487 void CRecordset::AllocRowset()\n1488 int CThreadSlotData::AllocSlot()\n1489 void CRecordset::AllocStatusArrays()\n1490 void * CProperty::AllocValue(unsigned long)\n1491 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1492 short COleControl::AmbientAppearance()\n1493 unsigned long COleControl::AmbientBackColor()\n1494 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1495 IFontDisp * COleControl::AmbientFont()\n1496 unsigned long COleControl::AmbientForeColor()\n1497 unsigned long COleControl::AmbientLocaleID()\n1498 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1499 int COleControl::AmbientShowGrabHandles()\n1500 int COleControl::AmbientShowHatching()\n1501 short COleControl::AmbientTextAlign()\n1502 int COleControl::AmbientUIDead()\n1503 int COleControl::AmbientUserMode()\n1504 int CDC::AngleArc(int,int,int,float,float)\n1505 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1506 int CByteArray::Append(CByteArray const &)\n1507 int CDWordArray::Append(CDWordArray const &)\n1508 int CObArray::Append(CObArray const &)\n1509 int CPtrArray::Append(CPtrArray const &)\n1510 int CStringArray::Append(CStringArray const &)\n1511 int CUIntArray::Append(CUIntArray const &)\n1512 int CWordArray::Append(CWordArray const &)\n1513 void CRecordset::AppendFilterAndSortSQL()\n1514 int CMenu::AppendMenuW(unsigned int,unsigned int,wchar_t const *)\n1515 int CMenu::AppendMenuW(unsigned int,unsigned int,CBitmap const *)\n1516 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1517 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1518 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1519 long COlePropertyPage::XPropertyPage::Apply()\n1520 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1521 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1522 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1523 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1524 int CDC::Arc(int,int,int,int,int,int,int,int)\n1525 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1526 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1527 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1528 int CListCtrl::Arrange(unsigned int)\n1529 unsigned int CWnd::ArrangeIconicWindows()\n1530 void CAsyncMonikerFile::AssertValid()const \n1531 void CAsyncSocket::AssertValid()const \n1532 void CBitmapButton::AssertValid()const \n1533 void CByteArray::AssertValid()const \n1534 void CCachedDataPathProperty::AssertValid()const \n1535 void CClientDC::AssertValid()const \n1536 void CCmdTarget::AssertValid()const \n1537 void CControlBar::AssertValid()const \n1538 void CCtrlView::AssertValid()const \n1539 void CDatabase::AssertValid()const \n1540 void CDataPathProperty::AssertValid()const \n1541 void CDC::AssertValid()const \n1542 void CDialog::AssertValid()const \n1543 void CDocItem::AssertValid()const \n1544 void CDockBar::AssertValid()const \n1545 void CDocManager::AssertValid()const \n1546 void CDocObjectServer::AssertValid()const \n1547 void CDocObjectServerItem::AssertValid()const \n1548 void CDocTemplate::AssertValid()const \n1549 void CDocument::AssertValid()const \n1550 void CDWordArray::AssertValid()const \n1551 void CDynLinkLibrary::AssertValid()const \n1552 void CEditView::AssertValid()const \n1553 void CFile::AssertValid()const \n1554 void CFileFind::AssertValid()const \n1555 void CFormView::AssertValid()const \n1556 void CFrameWnd::AssertValid()const \n1557 void CFtpConnection::AssertValid()const \n1558 void CFtpFileFind::AssertValid()const \n1559 void CGdiObject::AssertValid()const \n1560 void CGopherConnection::AssertValid()const \n1561 void CGopherFile::AssertValid()const \n1562 void CGopherFileFind::AssertValid()const \n1563 void CHtmlEditDoc::AssertValid()const \n1564 void CHtmlEditView::AssertValid()const \n1565 void CHtmlView::AssertValid()const \n1566 void CHttpConnection::AssertValid()const \n1567 void CHttpFile::AssertValid()const \n1568 void CImageList::AssertValid()const \n1569 void CInternetConnection::AssertValid()const \n1570 void CInternetFile::AssertValid()const \n1571 void CLongBinary::AssertValid()const \n1572 void CMapPtrToPtr::AssertValid()const \n1573 void CMapPtrToWord::AssertValid()const \n1574 void CMapStringToOb::AssertValid()const \n1575 void CMapStringToPtr::AssertValid()const \n1576 void CMapStringToString::AssertValid()const \n1577 void CMapWordToOb::AssertValid()const \n1578 void CMapWordToPtr::AssertValid()const \n1579 void CMDIChildWnd::AssertValid()const \n1580 void CMDIFrameWnd::AssertValid()const \n1581 void CMemFile::AssertValid()const \n1582 void CMenu::AssertValid()const \n1583 void CMonikerFile::AssertValid()const \n1584 void CMultiDocTemplate::AssertValid()const \n1585 void CObArray::AssertValid()const \n1586 void CObject::AssertValid()const \n1587 void CObList::AssertValid()const \n1588 void COleChangeSourceDialog::AssertValid()const \n1589 void COleClientItem::AssertValid()const \n1590 void COleCntrFrameWnd::AssertValid()const \n1591 void COleControl::AssertValid()const \n1592 void COleDataSource::AssertValid()const \n1593 void COleDocIPFrameWnd::AssertValid()const \n1594 void COleDocument::AssertValid()const \n1595 void COleDropTarget::AssertValid()const \n1596 void COleIPFrameWnd::AssertValid()const \n1597 void COleLinkingDoc::AssertValid()const \n1598 void COleLinksDialog::AssertValid()const \n1599 void COleMessageFilter::AssertValid()const \n1600 void COleObjectFactory::AssertValid()const \n1601 void COlePasteSpecialDialog::AssertValid()const \n1602 void COlePropertiesDialog::AssertValid()const \n1603 void COleServerDoc::AssertValid()const \n1604 void COleServerItem::AssertValid()const \n1605 void COleStreamFile::AssertValid()const \n1606 void CPaintDC::AssertValid()const \n1607 void CPreviewDC::AssertValid()const \n1608 void CPreviewView::AssertValid()const \n1609 void CPropertyPage::AssertValid()const \n1610 void CPropertySheet::AssertValid()const \n1611 void CPtrArray::AssertValid()const \n1612 void CPtrList::AssertValid()const \n1613 void CRecordset::AssertValid()const \n1614 void CRecordView::AssertValid()const \n1615 void CRichEditCntrItem::AssertValid()const \n1616 void CRichEditDoc::AssertValid()const \n1617 void CRichEditView::AssertValid()const \n1618 void CScrollView::AssertValid()const \n1619 void CSingleDocTemplate::AssertValid()const \n1620 void CSocket::AssertValid()const \n1621 void CSocketFile::AssertValid()const \n1622 void CSplitterWnd::AssertValid()const \n1623 void CStatusBar::AssertValid()const \n1624 void CStringArray::AssertValid()const \n1625 void CStringList::AssertValid()const \n1626 void CSyncObject::AssertValid()const \n1627 void CToolBar::AssertValid()const \n1628 void CUIntArray::AssertValid()const \n1629 void CView::AssertValid()const \n1630 void CWinApp::AssertValid()const \n1631 void CWindowDC::AssertValid()const \n1632 void CWinThread::AssertValid()const \n1633 void CWnd::AssertValid()const \n1634 void CWordArray::AssertValid()const \n1635 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1636 int CAsyncSocket::AsyncSelect(long)\n1637 int CAsyncSocket::Attach(unsigned int,long)\n1638 int CDC::Attach(HDC__ *)\n1639 int CGdiObject::Attach(void *)\n1640 int CImageList::Attach(_IMAGELIST *)\n1641 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1642 int CMenu::Attach(HMENU__ *)\n1643 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1644 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1645 void COleDataObject::Attach(IDataObject *,int)\n1646 void COleSafeArray::Attach(tagVARIANT &)\n1647 void COleStreamFile::Attach(IStream *)\n1648 void COleVariant::Attach(tagVARIANT &)\n1649 int CSocket::Attach(unsigned int)\n1650 int CWnd::Attach(HWND__ *)\n1651 int COleDataObject::AttachClipboard()\n1652 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1653 void CWnd::AttachControlSite(CHandleMap *)\n1654 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1655 void COleClientItem::AttachDataObject(COleDataObject &)const \n1656 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1657 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1658 CPrintDialog * CPrintDialog::AttachOnSetup()\n1659 void COleControlSite::AttachWindow()\n1660 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1661 void CToolBarCtrl::AutoSize()\n1662 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1663 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1664 void COleMessageFilter::BeginBusyState()\n1665 void COleLinkingDoc::BeginDeferErrors()\n1666 int CDragListBox::BeginDrag(CPoint)\n1667 int CImageList::BeginDrag(int,CPoint)\n1668 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1669 void COleDataObject::BeginEnumFormats()\n1670 void CFrameWnd::BeginModalState()\n1671 void CWnd::BeginModalState()\n1672 CDC * CWnd::BeginPaint(tagPAINT*)\n1673 int CDC::BeginPath()\n1674 int CDatabase::BeginTrans()\n1675 void CCmdTarget::BeginWaitCursor()\n1676 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1677 int CAsyncSocket::Bind(sockaddr const *,int)\n1678 void CDataSourceControl::BindColumns()\n1679 void COccManager::BindControls(CWnd *)\n1680 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1681 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1682 void CRecordset::BindFieldsForUpdate()\n1683 unsigned int CRecordset::BindFieldsToColumns()\n1684 void CDatabase::BindParameters(void *)\n1685 unsigned int CRecordset::BindParams(void *)\n1686 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1687 void CDataSourceControl::BindProp(COleControlSite *,int)\n1688 void COleControlSite::BindProperty(long,CWnd *)\n1689 void CWnd::BindProperty(long,CWnd *)\n1690 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1691 void COleControl::BoundPropertyChanged(long)\n1692 int COleControl::BoundPropertyRequestEdit(long)\n1693 void CFrameWnd::BringToTop(int)\n1694 void CWnd::BringWindowToTop()\n1695 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1696 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1697 void CPropertySheet::BuildPropPageArray()\n1698 void CRecordset::BuildSelectSQL()\n1699 int COleControl::BuildSharedMenu()\n1700 int COleDocIPFrameWnd::BuildSharedMenu()\n1701 int COleIPFrameWnd::BuildSharedMenu()\n1702 void CRecordset::BuildSQL(wchar_t const *)\n1703 void CRecordset::BuildUpdateSQL()\n1704 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1705 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1706 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1707 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1708 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1709 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1710 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1711 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1712 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1713 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1714 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1715 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1716 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1717 CSize CControlBar::CalcFixedLayout(int,int)\n1718 CSize CDialogBar::CalcFixedLayout(int,int)\n1719 CSize CDockBar::CalcFixedLayout(int,int)\n1720 CSize CReBar::CalcFixedLayout(int,int)\n1721 CSize CStatusBar::CalcFixedLayout(int,int)\n1722 CSize CToolBar::CalcFixedLayout(int,int)\n1723 void CControlBar::CalcInsideRect(CRect &,int)const \n1724 void CStatusBar::CalcInsideRect(CRect &,int)const \n1725 CSize CToolBar::CalcLayout(unsigned long,int)\n1726 int CCheckListBox::CalcMinimumItemHeight()\n1727 CSize CPreviewView::CalcPageDisplaySize()\n1728 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1729 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1730 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1731 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1732 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1733 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1734 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1735 int CDHtmlDialog::CanAccessExternal()\n1736 int COleClientItem::CanActivate()\n1737 int CRichEditCntrItem::CanActivate()\n1738 int CSplitterWnd::CanActivateNext(int)\n1739 int CRecordset::CanAppend()const \n1740 int CRecordset::CanBookmark()const \n1741 void CDatabase::Cancel()\n1742 void CRecordset::Cancel()\n1743 void CSocket::CancelBlockingCall()\n1744 void CDragListBox::CancelDrag(CPoint)\n1745 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1746 long COleUILinkInfo::CancelLink(unsigned long)\n1747 void CDockContext::CancelLoop()\n1748 void CPropertyPage::CancelToClose()\n1749 void CWnd::CancelToolTips(int)\n1750 void CRecordset::CancelUpdate()\n1751 int CDocument::CanCloseFrame(CFrameWnd *)\n1752 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1753 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1754 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1755 unsigned long CDockContext::CanDock()\n1756 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1757 int CFrameWnd::CanEnterHelpMode()\n1758 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1759 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1760 int COleClientItem::CanPaste()\n1761 int CRichEditCtrl::CanPaste(unsigned int)const \n1762 int CRichEditView::CanPaste()const \n1763 int COleClientItem::CanPasteLink()\n1764 int CRichEditCtrl::CanRedo()const \n1765 int CRecordset::CanRestart()const \n1766 int CRecordset::CanScroll()const \n1767 int CDatabase::CanTransact()const \n1768 int CRecordset::CanTransact()const \n1769 int CEdit::CanUndo()const \n1770 int CRichEditCtrl::CanUndo()const \n1771 int CDatabase::CanUpdate()const \n1772 int CRecordset::CanUpdate()const \n1773 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1774 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1775 void CScrollView::CenterOnPoint(CPoint)\n1776 void CWnd::CenterWindow(CWnd *)\n1777 int CWnd::ChangeClipboardChain(HWND__ *)\n1778 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1779 int CEdit::CharFromPos(CPoint)const \n1780 int CRichEditCtrl::CharFromPos(CPoint)const \n1781 int CListBox::CharToItem(unsigned int,unsigned int)\n1782 int CDatabase::Check(short)const \n1783 int CRecordset::Check(short)const \n1784 int CDialog::CheckAutoCenter()\n1785 int CWnd::CheckAutoCenter()\n1786 int CToolBarCtrl::CheckButton(int,int)\n1787 void CArchive::CheckCount()\n1788 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1789 void CWnd::CheckDlgButton(int,unsigned int)\n1790 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1791 void COleClientItem::CheckGeneral(long)\n1792 int CDatabase::CheckHstmt(short,void *)const \n1793 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1794 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1795 void CMemoryState::Checkpoint()\n1796 void COleControlContainer::CheckRadioButton(int,int,int)\n1797 void CWnd::CheckRadioButton(int,int,int)\n1798 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1799 void CRecordset::CheckRowsetError(short)\n1800 void CScrollView::CheckScrollBars(int &,int &)const \n1801 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1802 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1803 int CDC::Chord(int,int,int,int,int,int,int,int)\n1804 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1805 void CPropertyPage::Cleanup()\n1806 void COlePropertyPage::CleanupObjectArray()\n1807 void CComboBox::Clear()\n1808 void CDBVariant::Clear()\n1809 void CDockState::Clear()\n1810 void CEdit::Clear()\n1811 void COleSafeArray::Clear()\n1812 void COleVariant::Clear()\n1813 void CRichEditCtrl::Clear()\n1814 void CIPAddressCtrl::ClearAddress()\n1815 int CHeaderCtrl::ClearAllFilters()\n1816 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1817 void CRecordset::ClearFieldStatus()\n1818 int CHeaderCtrl::ClearFilter(int)\n1819 void CRecordset::ClearNullFieldStatus(unsigned long)\n1820 void CRecordset::ClearNullParamStatus(unsigned long)\n1821 void CSliderCtrl::ClearSel(int)\n1822 void CSliderCtrl::ClearTics(int)\n1823 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1824 void CWnd::ClientToScreen(tagPOINT *)const \n1825 void CWnd::ClientToScreen(tagRECT *)const \n1826 int COleControl::ClipCaretRect(tagRECT *)\n1827 void CPreviewDC::ClipToPage()\n1828 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1829 long CArchiveStream::Clone(IStream * *)\n1830 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1831 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1832 int CAnimateCtrl::Close()\n1833 void CArchive::Close()\n1834 void CAsyncMonikerFile::Close()\n1835 void CAsyncSocket::Close()\n1836 void CCachedDataPathProperty::Close()\n1837 void CDatabase::Close()\n1838 void CFile::Close()\n1839 void CFileFind::Close()\n1840 void CInternetConnection::Close()\n1841 void CInternetFile::Close()\n1842 void CInternetSession::Close()\n1843 void CMemFile::Close()\n1844 HMETAFILE__ * CMetaFileDC::Close()\n1845 void CMirrorFile::Close()\n1846 void CMonikerFile::Close()\n1847 void COleClientItem::Close(enum tagOLECLOSE)\n1848 void COleStreamFile::Close()\n1849 void CRecordset::Close()\n1850 void CSocket::Close()\n1851 void CSocketFile::Close()\n1852 void CStdioFile::Close()\n1853 long CDocObjectServer::XOleObject::Close(unsigned long)\n1854 long COleControl::XOleObject::Close(unsigned long)\n1855 long COleServerDoc::XOleObject::Close(unsigned long)\n1856 long COleServerItem::XOleObject::Close(unsigned long)\n1857 void CDocManager::CloseAllDocuments(int)\n1858 void CDocTemplate::CloseAllDocuments(int)\n1859 void CWinApp::CloseAllDocuments(int)\n1860 void CFileFind::CloseContext()\n1861 void CFtpFileFind::CloseContext()\n1862 void CGopherFileFind::CloseContext()\n1863 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n1864 int CDC::CloseFigure()\n1865 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1866 void CWnd::CloseWindow()\n1867 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n1868 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1869 int CStatusBar::CommandToIndex(unsigned int)const \n1870 int CToolBar::CommandToIndex(unsigned int)const \n1871 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n1872 long CArchiveStream::Commit(unsigned long)\n1873 void COleClientItem::CommitItem(int)\n1874 void COleDocument::CommitItems(int,IStorage *)\n1875 int CDatabase::CommitTrans()\n1876 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n1877 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n1878 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1879 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1880 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1881 void CWinThread::CommonConstruct()\n1882 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1883 int CListBox::CompareItem(tagCOMPAREITEM*)\n1884 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n1885 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n1886 int CAsyncSocket::Connect(sockaddr const *,int)\n1887 int CDatabase::Connect(unsigned long)\n1888 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1889 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1890 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1891 int CSocket::ConnectHelper(sockaddr const *,int)\n1892 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1893 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1894 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1895 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1896 void COleServerDoc::ConnectView(CWnd *,CView *)\n1897 void CPropertyPage::Construct(unsigned int,unsigned int)\n1898 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1899 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n1900 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1901 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1902 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1903 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n1904 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1905 void CRectTracker::Construct()\n1906 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1907 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1908 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1909 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1910 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1911 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1912 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1913 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1914 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1915 int CPropertySheet::ContinueModal()\n1916 int CWnd::ContinueModal()\n1917 void CCmdUI::ContinueRouting()\n1918 void COleControl::ControlInfoChanged()\n1919 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1920 int COleClientItem::ConvertTo(_GUID const &)\n1921 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1922 void CByteArray::Copy(CByteArray const &)\n1923 void CComboBox::Copy()\n1924 void CDWordArray::Copy(CDWordArray const &)\n1925 void CEdit::Copy()\n1926 int CImageList::Copy(int,int,unsigned int)\n1927 int CImageList::Copy(int,CImageList *,int,unsigned int)\n1928 void CObArray::Copy(CObArray const &)\n1929 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1930 void CPtrArray::Copy(CPtrArray const &)\n1931 void CRichEditCtrl::Copy()\n1932 void CStringArray::Copy(CStringArray const &)\n1933 void CUIntArray::Copy(CUIntArray const &)\n1934 void CWordArray::Copy(CWordArray const &)\n1935 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1936 void CopyElements(COleVariant *,COleVariant const *,int)\n1937 int CRgn::CopyRgn(CRgn *)\n1938 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1939 void COleClientItem::CopyToClipboard(int)\n1940 void COleServerItem::CopyToClipboard(int)\n1941 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1942 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n1943 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1944 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1945 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1946 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1947 int CControlFrameWnd::Create(wchar_t const *)\n1948 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1949 int CDialog::Create(unsigned int,CWnd *)\n1950 int CDialog::Create(wchar_t const *,CWnd *)\n1951 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n1952 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n1953 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1954 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1955 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n1956 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1957 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n1958 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1959 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1960 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1961 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1962 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1963 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1964 int CImageList::Create(int,int,unsigned int,int,int)\n1965 int CImageList::Create(unsigned int,int,int,unsigned long)\n1966 int CImageList::Create(CImageList *)\n1967 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n1968 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1969 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1970 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1971 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1972 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1973 int CMetaFileDC::Create(wchar_t const *)\n1974 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1975 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1976 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1977 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1978 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1979 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1980 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1981 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1982 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1983 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1984 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1985 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1986 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1987 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1988 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1989 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1990 int CSocket::Create(unsigned int,int,wchar_t const *)\n1991 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1992 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1993 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1994 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1995 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1996 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1997 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1998 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1999 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2000 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2001 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2002 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2003 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2004 IBindHost * CMonikerFile::CreateBindHost()\n2005 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2006 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2007 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2008 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2009 void CWnd::CreateCaret(CBitmap *)\n2010 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n2011 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2012 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2013 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2014 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2015 int CDC::CreateCompatibleDC(CDC *)\n2016 void CConnectionPoint::CreateConnectionArray()\n2017 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2018 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2019 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2020 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2021 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2022 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2023 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2024 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2025 int CWnd::CreateControlContainer(COleControlContainer * *)\n2026 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2027 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2028 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2029 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2030 int CDC::CreateDCW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2031 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2032 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2033 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n2034 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2035 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2036 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n2037 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n2038 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2039 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2040 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n2041 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *)\n2042 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2043 CImageList * CHeaderCtrl::CreateDragImage(int)\n2044 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2045 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2046 int CRgn::CreateEllipticRgn(int,int,int,int)\n2047 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2048 int CPictureHolder::CreateEmpty()\n2049 int CMetaFileDC::CreateEnhanced(CDC *,wchar_t const *,tagRECT const *,wchar_t const *)\n2050 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2051 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2052 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2053 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2054 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2055 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2056 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2057 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2058 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2059 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2060 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2061 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2062 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2063 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2064 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2065 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2066 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2067 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2068 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2069 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2070 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2071 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2072 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2073 int CFont::CreateFontIndirectW(tagLOGFONTW const *)\n2074 int CFont::CreateFontW(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,wchar_t const *)\n2075 CControlFrameWnd * COleControl::CreateFrameWindow()\n2076 int CPictureHolder::CreateFromBitmap(unsigned int)\n2077 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2078 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2079 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2080 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2081 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2082 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2083 int CPictureHolder::CreateFromIcon(unsigned int)\n2084 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2085 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2086 int CRgn::CreateFromPath(CDC *)\n2087 void CWnd::CreateGrayCaret(int,int)\n2088 int CPalette::CreateHalftonePalette(CDC *)\n2089 int CBrush::CreateHatchBrush(int,unsigned long)\n2090 int CDC::CreateICW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2091 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2092 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2093 int CDialog::CreateIndirect(void *,CWnd *)\n2094 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2095 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2096 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2097 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2098 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2099 int COleInsertDialog::CreateItem(COleClientItem *)\n2100 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2101 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2102 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2103 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2104 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n2105 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n2106 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n2107 int COleStreamFile::CreateMemoryStream(CFileException *)\n2108 int CMenu::CreateMenu()\n2109 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2110 CDocument * CDocTemplate::CreateNewDocument()\n2111 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2112 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2113 CObject * CByteArray::CreateObject()\n2114 CObject * CDC::CreateObject()\n2115 CObject * CDocItem::CreateObject()\n2116 CObject * CDockState::CreateObject()\n2117 CObject * CDWordArray::CreateObject()\n2118 CObject * CEditView::CreateObject()\n2119 CObject * CFrameWnd::CreateObject()\n2120 CObject * CGdiObject::CreateObject()\n2121 CObject * CHtmlEditView::CreateObject()\n2122 CObject * CHtmlView::CreateObject()\n2123 CObject * CImageList::CreateObject()\n2124 CObject * CListView::CreateObject()\n2125 CObject * CMapStringToOb::CreateObject()\n2126 CObject * CMapStringToString::CreateObject()\n2127 CObject * CMapWordToOb::CreateObject()\n2128 CObject * CMDIChildWnd::CreateObject()\n2129 CObject * CMDIFrameWnd::CreateObject()\n2130 CObject * CMenu::CreateObject()\n2131 CObject * CMiniDockFrameWnd::CreateObject()\n2132 CObject * CMiniFrameWnd::CreateObject()\n2133 CObject * CObArray::CreateObject()\n2134 CObject * CObList::CreateObject()\n2135 CObject * COleDocIPFrameWnd::CreateObject()\n2136 CObject * COleIPFrameWnd::CreateObject()\n2137 CObject * CPreviewView::CreateObject()\n2138 CObject * CRichEditCntrItem::CreateObject()\n2139 CObject * CRichEditView::CreateObject()\n2140 CObject * CRuntimeClass::CreateObject()\n2141 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2142 CObject * CRuntimeClass::CreateObject(char const *)\n2143 CObject * CStringArray::CreateObject()\n2144 CObject * CStringList::CreateObject()\n2145 CObject * CTreeView::CreateObject()\n2146 CObject * CWnd::CreateObject()\n2147 CObject * CWordArray::CreateObject()\n2148 void COleControlContainer::CreateOleFont(CFont *)\n2149 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2150 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2151 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2152 int CPalette::CreatePalette(tagLOGPALETTE *)\n2153 int CBrush::CreatePatternBrush(CBitmap *)\n2154 int CPen::CreatePen(int,int,unsigned long)\n2155 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2156 int CPen::CreatePenIndirect(tagLOGPEN *)\n2157 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n2158 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n2159 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2160 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2161 int CMenu::CreatePopupMenu()\n2162 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2163 HDC__ * CPrintDialog::CreatePrinterDC()\n2164 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2165 int CWinApp::CreatePrinterDC(CDC &)\n2166 int CRgn::CreateRectRgn(int,int,int,int)\n2167 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2168 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2169 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2170 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2171 int CBrush::CreateSolidBrush(unsigned long)\n2172 void CWnd::CreateSolidCaret(int,int)\n2173 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2174 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2175 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2176 int CGdiObject::CreateStockObject(int)\n2177 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n2178 int CBrush::CreateSysColorBrush(int)\n2179 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2180 void COleControl::CreateTracker(int,int)\n2181 void COleControl::CreateTracker(int,int,tagRECT const *)\n2182 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2183 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2184 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2185 void COleControl::CreateWindowForSubclassedControl()\n2186 void CToolBarCtrl::Customize()\n2187 void CComboBox::Cut()\n2188 void CEdit::Cut()\n2189 void CRichEditCtrl::Cut()\n2190 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2191 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2192 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2193 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2194 void DDP_CBIndex(CDataExchange *,int,int &,wchar_t const *)\n2195 void DDP_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2196 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2197 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n2198 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n2199 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n2200 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n2201 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n2202 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n2203 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n2204 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n2205 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n2206 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n2207 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n2208 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n2209 void DDP_LBIndex(CDataExchange *,int,int &,wchar_t const *)\n2210 void DDP_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2211 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2212 void DDP_PostProcessing(CDataExchange *)\n2213 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n2214 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n2215 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n2216 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n2217 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n2218 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n2219 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n2220 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n2221 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n2222 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2223 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n2224 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2225 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2226 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2227 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2228 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2229 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2230 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2231 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2232 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2233 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2234 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2235 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2236 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2237 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2238 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2239 void DDX_CBIndex(CDataExchange *,int,int &)\n2240 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2241 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2242 void DDX_Check(CDataExchange *,int,int &)\n2243 void DDX_Control(CDataExchange *,int,CWnd &)\n2244 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2245 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2246 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2247 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2248 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2249 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2250 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n2251 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n2252 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n2253 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n2254 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n2255 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n2256 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n2257 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n2258 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n2259 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n2260 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n2261 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n2262 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2263 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n2264 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n2265 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n2266 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n2267 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n2268 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n2269 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2270 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n2271 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n2272 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n2273 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n2274 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n2275 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n2276 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2277 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2278 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2279 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2280 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2281 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2282 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2283 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2284 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2285 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2286 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2287 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2288 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2289 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2290 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2291 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2292 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2293 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2294 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2295 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2296 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2297 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n2298 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2299 void DDX_LBIndex(CDataExchange *,int,int &)\n2300 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2301 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2302 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2303 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2304 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2305 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2306 void DDX_OCBool(CDataExchange *,int,long,int &)\n2307 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2308 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2309 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2310 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2311 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2312 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2313 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2314 void DDX_OCInt(CDataExchange *,int,long,int &)\n2315 void DDX_OCInt(CDataExchange *,int,long,long &)\n2316 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2317 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2318 void DDX_OCShort(CDataExchange *,int,long,short &)\n2319 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2320 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2321 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2322 void DDX_Radio(CDataExchange *,int,int &)\n2323 void DDX_Scroll(CDataExchange *,int,int &)\n2324 void DDX_Slider(CDataExchange *,int,int &)\n2325 void DDX_Text(CDataExchange *,int,__int64 &)\n2326 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2327 void DDX_Text(CDataExchange *,int,unsigned char &)\n2328 void DDX_Text(CDataExchange *,int,short &)\n2329 void DDX_Text(CDataExchange *,int,int &)\n2330 void DDX_Text(CDataExchange *,int,unsigned int &)\n2331 void DDX_Text(CDataExchange *,int,long &)\n2332 void DDX_Text(CDataExchange *,int,unsigned long &)\n2333 void DDX_Text(CDataExchange *,int,float &)\n2334 void DDX_Text(CDataExchange *,int,double &)\n2335 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2336 void DDX_Text(CDataExchange *,int,_GUID &)\n2337 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2338 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2339 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2340 void DDX_Text(CDataExchange *,int,tagDEC &)\n2341 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2342 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2343 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2344 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n2345 void COleClientItem::Deactivate()\n2346 long COlePropertyPage::XPropertyPage::Deactivate()\n2347 int COleServerDoc::DeactivateAndUndo()\n2348 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2349 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2350 void COleClientItem::DeactivateUI()\n2351 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n2352 long CWnd::Default()\n2353 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2354 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2355 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2356 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n2357 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2358 void CFrameWnd::DelayRecalcLayout(int)\n2359 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2360 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2361 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2362 void CControlBar::DelayShow(int)\n2363 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2364 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2365 void CFrameWnd::DelayUpdateFrameTitle()\n2366 void CException::Delete()\n2367 void COleClientItem::Delete(int)\n2368 void CRecordset::Delete()\n2369 void CWinThread::Delete()\n2370 int CListCtrl::DeleteAllItems()\n2371 int CTabCtrl::DeleteAllItems()\n2372 int CTreeCtrl::DeleteAllItems()\n2373 int CReBarCtrl::DeleteBand(unsigned int)\n2374 int CToolBarCtrl::DeleteButton(int)\n2375 int CListCtrl::DeleteColumn(int)\n2376 void CSplitterWnd::DeleteColumn(int)\n2377 void CDocument::DeleteContents()\n2378 void CEditView::DeleteContents()\n2379 void CHtmlEditDoc::DeleteContents()\n2380 void COleDocument::DeleteContents()\n2381 void COleServerDoc::DeleteContents()\n2382 void CRichEditDoc::DeleteContents()\n2383 void CRichEditView::DeleteContents()\n2384 int CDC::DeleteDC()\n2385 int CImageList::DeleteImageList()\n2386 void CComboBox::DeleteItem(tagDELETEITEM*)\n2387 int CComboBoxEx::DeleteItem(int)\n2388 int CHeaderCtrl::DeleteItem(int)\n2389 void CListBox::DeleteItem(tagDELETEITEM*)\n2390 int CListCtrl::DeleteItem(int)\n2391 int CTabCtrl::DeleteItem(int)\n2392 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2393 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2394 int CGdiObject::DeleteObject()\n2395 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2396 void CSplitterWnd::DeleteRow(int)\n2397 int CComboBox::DeleteString(unsigned int)\n2398 int CListBox::DeleteString(unsigned int)\n2399 void CHandleMap::DeleteTemp()\n2400 void CDC::DeleteTempMap()\n2401 void CGdiObject::DeleteTempMap()\n2402 void CImageList::DeleteTempMap()\n2403 void CMenu::DeleteTempMap()\n2404 void CWnd::DeleteTempMap()\n2405 void CRichEditDoc::DeleteUnmarkedItems()const \n2406 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2407 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2408 void CSplitterWnd::DeleteView(int,int)\n2409 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n2410 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2411 void CTabCtrl::DeselectAll(int)\n2412 void COleSafeArray::Destroy()\n2413 int COleControlSite::DestroyControl()\n2414 void COleSafeArray::DestroyData()\n2415 void COleSafeArray::DestroyDescriptor()\n2416 void CFrameWnd::DestroyDockBars()\n2417 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2418 int CMenu::DestroyMenu()\n2419 void CDHtmlDialog::DestroyModeless()\n2420 void COleControl::DestroySharedMenu()\n2421 void COleDocIPFrameWnd::DestroySharedMenu()\n2422 void COleIPFrameWnd::DestroySharedMenu()\n2423 int CToolTipCtrl::DestroyToolTipCtrl()\n2424 void COleControl::DestroyTracker()\n2425 int CControlBar::DestroyWindow()\n2426 int CMDIChildWnd::DestroyWindow()\n2427 int CWnd::DestroyWindow()\n2428 unsigned int CAsyncSocket::Detach()\n2429 HDC__ * CDC::Detach()\n2430 void * CDialogTemplate::Detach()\n2431 void * CGdiObject::Detach()\n2432 _IMAGELIST * CImageList::Detach()\n2433 unsigned char * CMemFile::Detach()\n2434 HMENU__ * CMenu::Detach()\n2435 int CMonikerFile::Detach(CFileException *)\n2436 IDataObject * COleDataObject::Detach()\n2437 tagVARIANT COleSafeArray::Detach()\n2438 IStream * COleStreamFile::Detach()\n2439 tagVARIANT COleVariant::Detach()\n2440 void * CSharedFile::Detach()\n2441 HDC__ * CWindowlessDC::Detach()\n2442 HWND__ * CWnd::Detach()\n2443 IDispatch * COleDispatchDriver::DetachDispatch()\n2444 void CAsyncSocket::DetachHandle(unsigned int,int)\n2445 void COleControlSite::DetachWindow()\n2446 void CWinApp::DevModeChange(wchar_t *)\n2447 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2448 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2449 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2450 int CComboBox::Dir(unsigned int,wchar_t const *)\n2451 int CComboBoxEx::Dir(unsigned int,wchar_t const *)\n2452 int CListBox::Dir(unsigned int,wchar_t const *)\n2453 int COleServerDoc::DiscardUndoState()\n2454 long COleClientItem::XOleIPSite::DiscardUndoState()\n2455 long COleControlSite::XOleIPSite::DiscardUndoState()\n2456 void COleDispatchImpl::Disconnect()\n2457 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2458 void CDHtmlDialog::DisconnectDHtmlEvents()\n2459 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2460 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2461 void CDocument::DisconnectViews()\n2462 void CWinThread::DispatchThreadMessage(tagMSG *)\n2463 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2464 int CRichEditCtrl::DisplayBand(tagRECT *)\n2465 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n2466 int CWnd::DlgDirListComboBoxW(wchar_t *,int,int,unsigned int)\n2467 int CWnd::DlgDirListW(wchar_t *,int,int,unsigned int)\n2468 int CWnd::DlgDirSelect(wchar_t *,int)\n2469 int CWnd::DlgDirSelectComboBox(wchar_t *,int)\n2470 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2471 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2472 void CAsyncSocket::DoCallBack(unsigned int,long)\n2473 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2474 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2475 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2476 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2477 void COleControl::DoClick()\n2478 int COleFrameHook::DoContextSensitiveHelp(int)\n2479 int COleConvertDialog::DoConvert(COleClientItem *)\n2480 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2481 void CWnd::DoDataExchange(CDataExchange *)\n2482 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2483 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2484 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2485 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2486 int COleFrameHook::DoEnableModeless(int)\n2487 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2488 void CRecordset::DoFieldExchange(CFieldExchange *)\n2489 int CDocument::DoFileSave()\n2490 int CSplitterWnd::DoKeyboardSplit()\n2491 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2492 int CColorDialog::DoModal()\n2493 int CDialog::DoModal()\n2494 int CFileDialog::DoModal()\n2495 int CFontDialog::DoModal()\n2496 int COleBusyDialog::DoModal()\n2497 int COleChangeIconDialog::DoModal()\n2498 int COleChangeSourceDialog::DoModal()\n2499 int COleConvertDialog::DoModal()\n2500 int COleInsertDialog::DoModal(unsigned long)\n2501 int COleInsertDialog::DoModal()\n2502 int COleLinksDialog::DoModal()\n2503 int COlePasteSpecialDialog::DoModal()\n2504 int COlePropertiesDialog::DoModal()\n2505 int COleUpdateDialog::DoModal()\n2506 int CPageSetupDialog::DoModal()\n2507 int CPrintDialog::DoModal()\n2508 int CPrintDialogEx::DoModal()\n2509 int CPropertySheet::DoModal()\n2510 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2511 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2512 void CControlBar::DoPaint(CDC *)\n2513 void CDockBar::DoPaint(CDC *)\n2514 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2515 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2516 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2517 int CView::DoPreparePrinting(CPrintInfo *)\n2518 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2519 int CWinApp::DoPrintDialog(CPrintDialog *)\n2520 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2521 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2522 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2523 void COleControl::DoPropExchange(CPropExchange *)\n2524 int CDocument::DoSave(wchar_t const *,int)\n2525 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2526 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2527 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2528 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2529 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2530 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2531 long COleControlSite::DoVerb(long,tagMSG *)\n2532 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2533 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2534 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2535 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2536 void CWinApp::DoWaitCursor(int)\n2537 void CPreviewView::DoZoom(unsigned int,CPoint)\n2538 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2539 void CDC::DPtoLP(tagPOINT *,int)const \n2540 void CDC::DPtoLP(tagRECT *)const \n2541 void CDC::DPtoLP(tagSIZE *)const \n2542 void CWnd::DragAcceptFiles(int)\n2543 int CWnd::DragDetect(tagPOINT)const \n2544 int CImageList::DragEnter(CWnd *,CPoint)\n2545 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2546 unsigned int CDragListBox::Dragging(CPoint)\n2547 int CImageList::DragLeave(CWnd *)\n2548 long COleDropTarget::XDropTarget::DragLeave()\n2549 int CImageList::DragMove(CPoint)\n2550 void CReBarCtrl::DragMove(unsigned long)\n2551 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2552 int CImageList::DragShowNolock(int)\n2553 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2554 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2555 void CRectTracker::Draw(CDC *)const \n2556 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2557 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2558 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2559 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2560 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2561 void CControlBar::DrawBorders(CDC *,CRect &)\n2562 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2563 void COleControl::DrawContent(CDC *,CRect &)\n2564 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2565 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2566 int CDC::DrawEscape(int,int,char const *)\n2567 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2568 void CDC::DrawFocusRect(tagRECT const *)\n2569 void CDockContext::DrawFocusRect(int)\n2570 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2571 void CControlBar::DrawGripper(CDC *,CRect const &)\n2572 int CDC::DrawIcon(int,int,HICON__ *)\n2573 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2574 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2575 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2576 void CDragListBox::DrawInsert(int)\n2577 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2578 void CButton::DrawItem(tagDRAWITEM*)\n2579 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2580 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2581 void CComboBox::DrawItem(tagDRAWITEM*)\n2582 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2583 void CListBox::DrawItem(tagDRAWITEM*)\n2584 void CListCtrl::DrawItem(tagDRAWITEM*)\n2585 void CListView::DrawItem(tagDRAWITEM*)\n2586 void CMenu::DrawItem(tagDRAWITEM*)\n2587 void CStatic::DrawItem(tagDRAWITEM*)\n2588 void CStatusBar::DrawItem(tagDRAWITEM*)\n2589 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2590 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2591 void CWnd::DrawMenuBar()\n2592 void COleControl::DrawMetafile(CDC *,CRect &)\n2593 void CDragListBox::DrawSingle(int)\n2594 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2595 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2596 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2597 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2598 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2599 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2600 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,HBRUSH__ *)\n2601 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,CBrush *)\n2602 int CDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2603 int CDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2604 int CMetaFileDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2605 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2606 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2607 int CDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2608 int CDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2609 int CMetaFileDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2610 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2611 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2612 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2613 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2614 void CDragListBox::Dropped(int,CPoint)\n2615 void CArchiveException::Dump(CDumpContext &)const \n2616 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2617 void CAsyncSocket::Dump(CDumpContext &)const \n2618 void CBitmap::Dump(CDumpContext &)const \n2619 void CBitmapButton::Dump(CDumpContext &)const \n2620 void CBrush::Dump(CDumpContext &)const \n2621 void CByteArray::Dump(CDumpContext &)const \n2622 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2623 void CClientDC::Dump(CDumpContext &)const \n2624 void CCmdTarget::Dump(CDumpContext &)const \n2625 void CColorDialog::Dump(CDumpContext &)const \n2626 void CControlBar::Dump(CDumpContext &)const \n2627 void CCtrlView::Dump(CDumpContext &)const \n2628 void CDatabase::Dump(CDumpContext &)const \n2629 void CDataPathProperty::Dump(CDumpContext &)const \n2630 void CDC::Dump(CDumpContext &)const \n2631 void CDialog::Dump(CDumpContext &)const \n2632 void CDocItem::Dump(CDumpContext &)const \n2633 void CDockBar::Dump(CDumpContext &)const \n2634 void CDocManager::Dump(CDumpContext &)const \n2635 void CDocObjectServer::Dump(CDumpContext &)const \n2636 void CDocObjectServerItem::Dump(CDumpContext &)const \n2637 void CDocTemplate::Dump(CDumpContext &)const \n2638 void CDocument::Dump(CDumpContext &)const \n2639 void CDWordArray::Dump(CDumpContext &)const \n2640 void CDynLinkLibrary::Dump(CDumpContext &)const \n2641 void CEditView::Dump(CDumpContext &)const \n2642 void CFile::Dump(CDumpContext &)const \n2643 void CFileDialog::Dump(CDumpContext &)const \n2644 void CFileException::Dump(CDumpContext &)const \n2645 void CFileFind::Dump(CDumpContext &)const \n2646 void CFileStatus::Dump(CDumpContext &)const \n2647 void CFindReplaceDialog::Dump(CDumpContext &)const \n2648 void CFont::Dump(CDumpContext &)const \n2649 void CFontDialog::Dump(CDumpContext &)const \n2650 void CFormView::Dump(CDumpContext &)const \n2651 void CFrameWnd::Dump(CDumpContext &)const \n2652 void CFtpConnection::Dump(CDumpContext &)const \n2653 void CFtpFileFind::Dump(CDumpContext &)const \n2654 void CGdiObject::Dump(CDumpContext &)const \n2655 void CGopherConnection::Dump(CDumpContext &)const \n2656 void CGopherFile::Dump(CDumpContext &)const \n2657 void CGopherFileFind::Dump(CDumpContext &)const \n2658 void CHtmlEditDoc::Dump(CDumpContext &)const \n2659 void CHtmlEditView::Dump(CDumpContext &)const \n2660 void CHtmlView::Dump(CDumpContext &)const \n2661 void CHttpConnection::Dump(CDumpContext &)const \n2662 void CHttpFile::Dump(CDumpContext &)const \n2663 void CImageList::Dump(CDumpContext &)const \n2664 void CInternetConnection::Dump(CDumpContext &)const \n2665 void CInternetException::Dump(CDumpContext &)const \n2666 void CInternetFile::Dump(CDumpContext &)const \n2667 void CInternetSession::Dump(CDumpContext &)const \n2668 void CLongBinary::Dump(CDumpContext &)const \n2669 void CMapPtrToPtr::Dump(CDumpContext &)const \n2670 void CMapPtrToWord::Dump(CDumpContext &)const \n2671 void CMapStringToOb::Dump(CDumpContext &)const \n2672 void CMapStringToPtr::Dump(CDumpContext &)const \n2673 void CMapStringToString::Dump(CDumpContext &)const \n2674 void CMapWordToOb::Dump(CDumpContext &)const \n2675 void CMapWordToPtr::Dump(CDumpContext &)const \n2676 void CMDIChildWnd::Dump(CDumpContext &)const \n2677 void CMDIFrameWnd::Dump(CDumpContext &)const \n2678 void CMemFile::Dump(CDumpContext &)const \n2679 void CMenu::Dump(CDumpContext &)const \n2680 void CMonikerFile::Dump(CDumpContext &)const \n2681 void CMultiDocTemplate::Dump(CDumpContext &)const \n2682 void CObArray::Dump(CDumpContext &)const \n2683 void CObject::Dump(CDumpContext &)const \n2684 void CObList::Dump(CDumpContext &)const \n2685 void COleBusyDialog::Dump(CDumpContext &)const \n2686 void COleChangeIconDialog::Dump(CDumpContext &)const \n2687 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2688 void COleClientItem::Dump(CDumpContext &)const \n2689 void COleControl::Dump(CDumpContext &)const \n2690 void COleConvertDialog::Dump(CDumpContext &)const \n2691 void COleDataSource::Dump(CDumpContext &)const \n2692 void COleDialog::Dump(CDumpContext &)const \n2693 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2694 void COleDocument::Dump(CDumpContext &)const \n2695 void COleDropSource::Dump(CDumpContext &)const \n2696 void COleDropTarget::Dump(CDumpContext &)const \n2697 void COleInsertDialog::Dump(CDumpContext &)const \n2698 void COleIPFrameWnd::Dump(CDumpContext &)const \n2699 void COleLinkingDoc::Dump(CDumpContext &)const \n2700 void COleLinksDialog::Dump(CDumpContext &)const \n2701 void COleMessageFilter::Dump(CDumpContext &)const \n2702 void COleObjectFactory::Dump(CDumpContext &)const \n2703 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2704 void COlePropertiesDialog::Dump(CDumpContext &)const \n2705 void COleServerDoc::Dump(CDumpContext &)const \n2706 void COleServerItem::Dump(CDumpContext &)const \n2707 void COleStreamFile::Dump(CDumpContext &)const \n2708 void COleUpdateDialog::Dump(CDumpContext &)const \n2709 void CPageSetupDialog::Dump(CDumpContext &)const \n2710 void CPaintDC::Dump(CDumpContext &)const \n2711 void CPen::Dump(CDumpContext &)const \n2712 void CPreviewDC::Dump(CDumpContext &)const \n2713 void CPreviewView::Dump(CDumpContext &)const \n2714 void CPrintDialog::Dump(CDumpContext &)const \n2715 void CPrintDialogEx::Dump(CDumpContext &)const \n2716 void CPropertyPage::Dump(CDumpContext &)const \n2717 void CPropertySheet::Dump(CDumpContext &)const \n2718 void CPtrArray::Dump(CDumpContext &)const \n2719 void CPtrList::Dump(CDumpContext &)const \n2720 void CRecordset::Dump(CDumpContext &)const \n2721 void CRecordView::Dump(CDumpContext &)const \n2722 void CRichEditCntrItem::Dump(CDumpContext &)const \n2723 void CRichEditDoc::Dump(CDumpContext &)const \n2724 void CRichEditView::Dump(CDumpContext &)const \n2725 void CScrollView::Dump(CDumpContext &)const \n2726 void CSingleDocTemplate::Dump(CDumpContext &)const \n2727 void CSocket::Dump(CDumpContext &)const \n2728 void CSocketFile::Dump(CDumpContext &)const \n2729 void CSplitterWnd::Dump(CDumpContext &)const \n2730 void CStatusBar::Dump(CDumpContext &)const \n2731 void CStdioFile::Dump(CDumpContext &)const \n2732 void CStringArray::Dump(CDumpContext &)const \n2733 void CStringList::Dump(CDumpContext &)const \n2734 void CSyncObject::Dump(CDumpContext &)const \n2735 void CToolBar::Dump(CDumpContext &)const \n2736 void CUIntArray::Dump(CDumpContext &)const \n2737 void CView::Dump(CDumpContext &)const \n2738 void CWinApp::Dump(CDumpContext &)const \n2739 void CWindowDC::Dump(CDumpContext &)const \n2740 void CWinThread::Dump(CDumpContext &)const \n2741 void CWnd::Dump(CDumpContext &)const \n2742 void CWordArray::Dump(CDumpContext &)const \n2743 void CMemoryState::DumpAllObjectsSince()const \n2744 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2745 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2746 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2747 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2748 CDumpContext & CDumpContext::DumpAsHex(int)\n2749 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2750 CDumpContext & CDumpContext::DumpAsHex(long)\n2751 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2752 void DumpElements(CDumpContext &,COleVariant const *,int)\n2753 void CRecordset::DumpFields(CDumpContext &)const \n2754 void CMemoryState::DumpStatistics()const \n2755 long COleControl::XDataObject::DUnadvise(unsigned long)\n2756 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2757 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2758 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2759 CFile * CFile::Duplicate()const \n2760 CFile * CInternetFile::Duplicate()const \n2761 CFile * CMemFile::Duplicate()const \n2762 CFile * COleStreamFile::Duplicate()const \n2763 CFile * CSocketFile::Duplicate()const \n2764 CFile * CStdioFile::Duplicate()const \n2765 unsigned long const CEditView::dwStyleDefault\n2766 void CRecordset::Edit()\n2767 int CHeaderCtrl::EditFilter(int,int)\n2768 CEdit * CListCtrl::EditLabel(int)\n2769 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2770 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2771 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2772 unsigned char & CByteArray::ElementAt(int)\n2773 unsigned long & CDWordArray::ElementAt(int)\n2774 CObject * & CObArray::ElementAt(int)\n2775 void * & CPtrArray::ElementAt(int)\n2776 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::ElementAt(int)\n2777 unsigned int & CUIntArray::ElementAt(int)\n2778 unsigned short & CWordArray::ElementAt(int)\n2779 int CDC::Ellipse(int,int,int,int)\n2780 int CDC::Ellipse(tagRECT const *)\n2781 void CDBException::Empty()\n2782 void COleDataSource::Empty()\n2783 void CEdit::EmptyUndoBuffer()\n2784 void CRichEditCtrl::EmptyUndoBuffer()\n2785 void CCheckListBox::Enable(int,int)\n2786 void CCmdUI::Enable(int)\n2787 void COleCmdUI::Enable(int)\n2788 void CStatusCmdUI::Enable(int)\n2789 void CTestCmdUI::Enable(int)\n2790 void CToolCmdUI::Enable(int)\n2791 int CWinApp::Enable3dControls()\n2792 void CWnd::EnableActiveAccessibility()\n2793 void CCmdTarget::EnableAggregation()\n2794 void CCmdTarget::EnableAutomation()\n2795 void CRecordset::EnableBookmarks()\n2796 void COleMessageFilter::EnableBusyDialog(int)\n2797 int CToolBarCtrl::EnableButton(int,int)\n2798 void COleDocument::EnableCompoundFile(int)\n2799 void CCmdTarget::EnableConnections()\n2800 void CControlBar::EnableDocking(unsigned long)\n2801 void CFrameWnd::EnableDocking(unsigned long)\n2802 void CReBar::EnableDocking(unsigned long)\n2803 void CStatusBar::EnableDocking(unsigned long)\n2804 void COleControlSite::EnableDSC()\n2805 void CWinApp::EnableHtmlHelp()\n2806 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2807 long CBrowserControlSite::EnableModeless(int)\n2808 long CDHtmlDialog::EnableModeless(int)\n2809 void CWinApp::EnableModeless(int)\n2810 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2811 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2812 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2813 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2814 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2815 void COleMessageFilter::EnableNotRespondingDialog(int)\n2816 int CScrollBar::EnableScrollBar(unsigned int)\n2817 int CWnd::EnableScrollBar(int,unsigned int)\n2818 void CWnd::EnableScrollBarCtrl(int,int)\n2819 void CWinApp::EnableShellOpen()\n2820 void COleControl::EnableSimpleFrame()\n2821 void CPropertySheet::EnableStackedTabs(int)\n2822 int CInternetSession::EnableStatusCallback(int)\n2823 int CWnd::EnableToolTips(int)\n2824 int CWnd::EnableTrackingToolTips(int)\n2825 void CCmdTarget::EnableTypeLib()\n2826 int COleControlSite::EnableWindow(int)\n2827 int CWnd::EnableWindow(int)\n2828 void COleMessageFilter::EndBusyState()\n2829 void CAsyncMonikerFile::EndCallbacks()\n2830 long COleLinkingDoc::EndDeferErrors(long)\n2831 void CDialog::EndDialog(int)\n2832 void CPropertyPage::EndDialog(int)\n2833 void CPropertySheet::EndDialog(int)\n2834 int CDC::EndDoc()\n2835 void CDockContext::EndDrag()\n2836 void CImageList::EndDrag()\n2837 void CReBarCtrl::EndDrag()\n2838 void CWnd::EndModalLoop(int)\n2839 void CFrameWnd::EndModalState()\n2840 void CWnd::EndModalState()\n2841 int CDC::EndPage()\n2842 void CWnd::EndPaint(tagPAINT*)\n2843 int CDC::EndPath()\n2844 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2845 void CDockContext::EndResize()\n2846 void CCmdTarget::EndWaitCursor()\n2847 void COleDataObject::EnsureClipboardObject()\n2848 long CWnd::EnsureStdObj()\n2849 int CListCtrl::EnsureVisible(int,int)\n2850 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n2851 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2852 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2853 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2854 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2855 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2856 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2857 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2858 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2859 int COlePropertyPage::EnumControls(HWND__ *,long)\n2860 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2861 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2862 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2863 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2864 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2865 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2866 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2867 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2868 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n2869 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2870 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2871 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2872 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2873 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2874 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2875 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2876 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2877 int CRgn::EqualRgn(CRgn *)const \n2878 void CControlBar::EraseNonClient()\n2879 int CFileException::ErrnoToException(int)\n2880 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2881 int CDC::Escape(int,int,char const *,int,char *)\n2882 int CDC::Escape(int,int,char const *,void *)\n2883 int CMetaFileDC::Escape(int,int,char const *,void *)\n2884 int CPreviewDC::Escape(int,int,char const *,void *)\n2885 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2886 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2887 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2888 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2889 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2890 int COleControl::ExchangeExtent(CPropExchange *)\n2891 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2892 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2893 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2894 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2895 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2896 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2897 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2898 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2899 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2900 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2901 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2902 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2903 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2904 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2905 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2906 void COleControl::ExchangeStockProps(CPropExchange *)\n2907 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2908 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n2909 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2910 int CDC::ExcludeClipRect(int,int,int,int)\n2911 int CDC::ExcludeClipRect(tagRECT const *)\n2912 int CDC::ExcludeUpdateRgn(CWnd *)\n2913 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2914 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2915 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2916 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2917 int CHtmlEditView::ExecHandler(unsigned int)\n2918 int CWnd::ExecuteDlgInit(void *)\n2919 int CWnd::ExecuteDlgInit(wchar_t const *)\n2920 void CRecordset::ExecuteSetPosUpdate()\n2921 void CDatabase::ExecuteSQL(wchar_t const *)\n2922 void CRecordset::ExecuteUpdateSQL()\n2923 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2924 void CFrameWnd::ExitHelpMode()\n2925 int COleControlModule::ExitInstance()\n2926 int CWinApp::ExitInstance()\n2927 int CWinThread::ExitInstance()\n2928 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n2929 unsigned long CCmdTarget::ExternalAddRef()\n2930 void CCmdTarget::ExternalDisconnect()\n2931 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2932 unsigned long CCmdTarget::ExternalRelease()\n2933 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n2934 HICON__ * CImageList::ExtractIconW(int)\n2935 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n2936 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2937 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n2938 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2939 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2940 void CDataExchange::Fail()\n2941 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2942 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2943 void CArchive::FillBuffer(unsigned int)\n2944 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n2945 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2946 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2947 int CDC::FillPath()\n2948 void CDC::FillRect(tagRECT const *,CBrush *)\n2949 int CDC::FillRgn(CRgn *,CBrush *)\n2950 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2951 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2952 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2953 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2954 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2955 void CWnd::FilterToolTipMessage(tagMSG *)\n2956 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2957 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2958 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n2959 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n2960 int CDockBar::FindBar(CControlBar *,int)\n2961 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2962 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2963 int CFileFind::FindFile(wchar_t const *,unsigned long)\n2964 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n2965 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n2966 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n2967 __POSITION * CObList::FindIndex(int)const \n2968 __POSITION * CPtrList::FindIndex(int)const \n2969 __POSITION * CStringList::FindIndex(int)const \n2970 int CListCtrl::FindItem(tagLVFINDINFOW *,int)const \n2971 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2972 int CFindReplaceDialog::FindNext()const \n2973 int CFileFind::FindNextFileW()\n2974 int CFtpFileFind::FindNextFileW()\n2975 int CGopherFileFind::FindNextFileW()\n2976 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2977 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n2978 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n2979 int CComboBox::FindString(int,wchar_t const *)const \n2980 int CComboBoxEx::FindString(int,wchar_t const *)const \n2981 int CListBox::FindString(int,wchar_t const *)const \n2982 int CComboBox::FindStringExact(int,wchar_t const *)const \n2983 int CListBox::FindStringExact(int,wchar_t const *)const \n2984 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n2985 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n2986 int CEditView::FindTextW(wchar_t const *,int,int)\n2987 long CRichEditCtrl::FindTextW(unsigned long,_findtextexw *)const \n2988 int CRichEditView::FindTextW(_AFX_RICHEDIT_STATE *)\n2989 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n2990 CWnd * CWnd::FindWindowExW(HWND__ *,HWND__ *,wchar_t const *,wchar_t const *)\n2991 CWnd * CWnd::FindWindowW(wchar_t const *,wchar_t const *)\n2992 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n2993 int COleClientItem::FinishCreate(long)\n2994 void COleControl::FireClick()\n2995 void COleControl::FireDblClick()\n2996 void COleControl::FireError(long,wchar_t const *,unsigned int)\n2997 void COleControl::FireEvent(long,unsigned char *,...)\n2998 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2999 void COleControl::FireEventV(long,unsigned char *,char *)\n3000 void COleControl::FireKeyDown(unsigned short *,short)\n3001 void COleControl::FireKeyPress(unsigned short *)\n3002 void COleControl::FireKeyUp(unsigned short *,short)\n3003 void COleControl::FireMouseDown(short,short,long,long)\n3004 void COleControl::FireMouseMove(short,short,long,long)\n3005 void COleControl::FireMouseUp(short,short,long,long)\n3006 void COleControl::FireReadyStateChange()\n3007 void CRecordset::Fixups()\n3008 int CWnd::FlashWindow(int)\n3009 int CDC::FlattenPath()\n3010 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3011 int CDC::FloodFill(int,int,unsigned long)\n3012 void CArchive::Flush()\n3013 void CDumpContext::Flush()\n3014 void CFile::Flush()\n3015 void CInternetFile::Flush()\n3016 void CMemFile::Flush()\n3017 void CMonikerFile::Flush()\n3018 void COleStreamFile::Flush()\n3019 void CSocketFile::Flush()\n3020 void CStdioFile::Flush()\n3021 void COleDataSource::FlushClipboard()\n3022 int CRecordset::FlushResultSet()\n3023 int CEdit::FmtLines(int)\n3024 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n3025 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3026 void COleControl::ForwardActivationMsg(tagMSG *)\n3027 void CDC::FrameRect(tagRECT const *,CBrush *)\n3028 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3029 void CAfxStringMgr::Free(ATL::CStringData *)\n3030 void CDatabase::Free()\n3031 void CFixedAlloc::Free(void *)\n3032 void CFixedAllocNoSync::Free(void *)\n3033 void CMemFile::Free(unsigned char *)\n3034 void CSharedFile::Free(unsigned char *)\n3035 void CFixedAlloc::FreeAll()\n3036 void CFixedAllocNoSync::FreeAll()\n3037 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3038 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3039 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3040 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3041 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3042 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3043 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3044 void CRecordset::FreeDataCache()\n3045 void CPlex::FreeDataChain()\n3046 void CByteArray::FreeExtra()\n3047 void CDWordArray::FreeExtra()\n3048 void CObArray::FreeExtra()\n3049 void CPtrArray::FreeExtra()\n3050 void CStringArray::FreeExtra()\n3051 void CUIntArray::FreeExtra()\n3052 void CWordArray::FreeExtra()\n3053 void CObList::FreeNode(CObList::CNode *)\n3054 void CPtrList::FreeNode(CPtrList::CNode *)\n3055 void CStringList::FreeNode(CStringList::CNode *)\n3056 void CRecordset::FreeRowset()\n3057 void CThreadSlotData::FreeSlot(int)\n3058 void CProperty::FreeValue()\n3059 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3060 void COleControlContainer::FreezeAllEvents(int)\n3061 void COleControlSite::FreezeEvents(int)\n3062 long COleControl::XOleControl::FreezeEvents(int)\n3063 int COleClientItem::FreezeLink()\n3064 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3065 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3066 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3067 CDC * CDC::FromHandle(HDC__ *)\n3068 CFont * CFont::FromHandle(HFONT__ *)\n3069 CGdiObject * CGdiObject::FromHandle(void *)\n3070 CObject * CHandleMap::FromHandle(void *)\n3071 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3072 CMenu * CMenu::FromHandle(HMENU__ *)\n3073 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3074 CPen * CPen::FromHandle(HPEN__ *)\n3075 CRgn * CRgn::FromHandle(HRGN__ *)\n3076 CSocket * CSocket::FromHandle(unsigned int)\n3077 CWnd * CWnd::FromHandle(HWND__ *)\n3078 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3079 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3080 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3081 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3082 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3083 CRuntime* CRuntimeClass::FromName(char const *)\n3084 void * CProperty::Get(unsigned long *)\n3085 void * CProperty::Get()\n3086 void * CPropertySection::Get(unsigned long)\n3087 void * CPropertySection::Get(unsigned long,unsigned long *)\n3088 void * CPropertySet::Get(_GUID,unsigned long)\n3089 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3090 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3091 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3092 long CWnd::get_accChildCount(long *)\n3093 long CWnd::XAccessible::get_accChildCount(long *)\n3094 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3095 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3096 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3097 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3098 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3099 long CWnd::get_accFocus(tagVARIANT *)\n3100 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3101 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3102 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3103 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3104 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3105 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3106 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3107 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3108 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3109 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3110 long CWnd::get_accParent(IDispatch * *)\n3111 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3112 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3113 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3114 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3115 long CWnd::get_accSelection(tagVARIANT *)\n3116 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3117 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3118 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3119 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3120 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3121 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3122 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3123 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3124 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3125 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3126 long CWnd::GetAccessibleChildCount()\n3127 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3128 unsigned long COleControl::GetActivationPolicy()\n3129 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3130 CDocument * CFrameWnd::GetActiveDocument()\n3131 CFrameWnd * CFrameWnd::GetActiveFrame()\n3132 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3133 int CPropertySheet::GetActiveIndex()const \n3134 CPropertyPage * CPropertySheet::GetActivePage()const \n3135 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3136 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3137 CView * CFrameWnd::GetActiveView()const \n3138 CView * COleClientItem::GetActiveView()const \n3139 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3140 CRichEditView * CRichEditCntrItem::GetActiveView()\n3141 CWnd * CWnd::GetActiveWindow()\n3142 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3143 int CIPAddressCtrl::GetAddress(unsigned long &)\n3144 int CHtmlView::GetAddressBar()const \n3145 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3146 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3147 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3148 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3149 int CToolBarCtrl::GetAnchorHighlight()const \n3150 int CListBox::GetAnchorIndex()const \n3151 short COleControl::GetAppearance()\n3152 IDispatch * CHtmlView::GetApplication()const \n3153 HKEY__ * CWinApp::GetAppRegistryKey()\n3154 int CDC::GetArcDirection()const \n3155 CSize CDC::GetAspectRatioFilter()const \n3156 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3157 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3158 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3159 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3160 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3161 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3162 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3163 unsigned char CByteArray::GetAt(int)const \n3164 unsigned long CDWordArray::GetAt(int)const \n3165 CObject * CObArray::GetAt(int)const \n3166 CObject * & CObList::GetAt(__POSITION *)\n3167 CObject const * & CObList::GetAt(__POSITION *)const \n3168 void * CPtrArray::GetAt(int)const \n3169 void * & CPtrList::GetAt(__POSITION *)\n3170 void const * & CPtrList::GetAt(__POSITION *)const \n3171 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::GetAt(int)const \n3172 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetAt(__POSITION *)\n3173 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetAt(__POSITION *)const \n3174 unsigned int CUIntArray::GetAt(int)const \n3175 unsigned short CWordArray::GetAt(int)const \n3176 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3177 unsigned long COleControl::GetBackColor()\n3178 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3179 unsigned int CReBarCtrl::GetBandCount()const \n3180 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOW *)const \n3181 unsigned int CReBarCtrl::GetBarHeight()const \n3182 void CControlBar::GetBarInfo(CControlBarInfo *)\n3183 void CDockBar::GetBarInfo(CControlBarInfo *)\n3184 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3185 unsigned long CControlBar::GetBarStyle()\n3186 unsigned int CSpinButtonCtrl::GetBase()const \n3187 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3188 IBinding * CAsyncMonikerFile::GetBinding()const \n3189 int CBitmap::GetBitmap(tagBITMAP *)\n3190 HBITMAP__ * CButton::GetBitmap()const \n3191 HBITMAP__ * CStatic::GetBitmap()const \n3192 int CToolBarCtrl::GetBitmap(int)const \n3193 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3194 CSize CBitmap::GetBitmapDimension()const \n3195 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3196 int CHeaderCtrl::GetBitmapMargin()const \n3197 unsigned long CDC::GetBkColor()const \n3198 unsigned long CImageList::GetBkColor()const \n3199 unsigned long CListCtrl::GetBkColor()const \n3200 unsigned long CReBarCtrl::GetBkColor()const \n3201 unsigned long CTreeCtrl::GetBkColor()const \n3202 int CListCtrl::GetBkImage(tagLVBKIMAGEW *)const \n3203 int CDC::GetBkMode()const \n3204 void * CBlobProperty::GetBlob()\n3205 void CRecordset::GetBookmark(CDBVariant &)\n3206 unsigned long CDatabase::GetBookmarkPersistence()const \n3207 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3208 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3209 CRect CControlBar::GetBorders()const \n3210 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3211 int CStatusBarCtrl::GetBorders(int *)const \n3212 short COleControl::GetBorderStyle()\n3213 long CDataSourceControl::GetBoundClientRow()\n3214 int CRecordset::GetBoundFieldIndex(void *)\n3215 int CRecordset::GetBoundParamIndex(void *)\n3216 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3217 CPoint CDC::GetBrushOrg()const \n3218 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOW *)const \n3219 CWnd * CSliderCtrl::GetBuddy(int)const \n3220 CWnd * CSpinButtonCtrl::GetBuddy()const \n3221 unsigned int CEditView::GetBufferLength()const \n3222 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3223 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3224 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3225 int CHtmlView::GetBusy()const \n3226 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3227 int CToolBarCtrl::GetButtonCount()const \n3228 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3229 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOW *)const \n3230 unsigned long CToolBarCtrl::GetButtonSize()const \n3231 unsigned int CButton::GetButtonStyle()const \n3232 unsigned int CToolBar::GetButtonStyle(int)const \n3233 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n3234 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3235 void COleSafeArray::GetByteArray(CByteArray &)\n3236 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3237 unsigned short CPropertySet::GetByteOrder()\n3238 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3239 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3240 unsigned int CListCtrl::GetCallbackMask()const \n3241 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3242 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3243 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3244 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3245 CWnd * COleControl::GetCapture()\n3246 CWnd * CWnd::GetCapture()\n3247 long COleControlSite::XOleIPSite::GetCapture()\n3248 int CListBox::GetCaretIndex()const \n3249 CPoint CWnd::GetCaretPos()\n3250 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3251 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABC *)const \n3252 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABCFLOAT *)const \n3253 unsigned long CDC::GetCharacterPlacementW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,tagGCP_RESULTSW *,unsigned long)const \n3254 unsigned long CDC::GetCharacterPlacementW(wchar_t const *,int,int,tagGCP_RESULTSW *,unsigned long)const \n3255 void CFontDialog::GetCharFormat(_charformatw &)const \n3256 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n3257 CPoint CRichEditCtrl::GetCharPos(long)const \n3258 int CDC::GetCharWidthW(unsigned int,unsigned int,int *)const \n3259 int CDC::GetCharWidthW(unsigned int,unsigned int,float *)const \n3260 int CButton::GetCheck()const \n3261 int CCheckListBox::GetCheck(int)\n3262 int CListCtrl::GetCheck(int)const \n3263 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3264 int CWnd::GetCheckedRadioButton(int,int)\n3265 unsigned int CCheckListBox::GetCheckStyle()\n3266 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3267 long CBlobProperty::GetClassID(_GUID *)\n3268 void COleClientItem::GetClassID(_GUID *)const \n3269 _GUID const & COleConvertDialog::GetClassID()const \n3270 _GUID const & COleInsertDialog::GetClassID()const \n3271 _GUID const & COleObjectFactory::GetClassID()const \n3272 _GUID CPropertySet::GetClassID()\n3273 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3274 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3275 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3276 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3277 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3278 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3279 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n3280 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3281 void COleControl::GetClientOffset(long *,long *)const \n3282 void COleControl::GetClientRect(tagRECT *)const \n3283 void CWnd::GetClientRect(tagRECT *)const \n3284 IOleClientSite * COleClientItem::GetClientSite()\n3285 IOleClientSite * COleControl::GetClientSite()\n3286 IOleClientSite * COleServerDoc::GetClientSite()const \n3287 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3288 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3289 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3290 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3291 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3292 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3293 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3294 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3295 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3296 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3297 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3298 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3299 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3300 COleDataSource * COleDataSource::GetClipboardOwner()\n3301 CWnd * CWnd::GetClipboardOwner()\n3302 CWnd * CWnd::GetClipboardViewer()\n3303 int CDC::GetClipBox(tagRECT *)const \n3304 int CMetaFileDC::GetClipBox(tagRECT *)const \n3305 unsigned long CColorDialog::GetColor()const \n3306 unsigned long CFontDialog::GetColor()const \n3307 unsigned long CMonthCalCtrl::GetColor(int)const \n3308 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3309 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3310 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3311 int CListCtrl::GetColumn(int,tagLVCOLUMNW *)const \n3312 int CSplitterWnd::GetColumnCount()const \n3313 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3314 int CListCtrl::GetColumnOrderArray(int *,int)\n3315 int CListCtrl::GetColumnWidth(int)const \n3316 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3317 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3318 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3319 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDatabase::GetConnect()const \n3320 void CDatabase::GetConnectInfo()\n3321 int CConnectionPoint::GetConnectionCount()\n3322 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3323 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3324 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3325 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3326 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3327 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3328 CPtrArray const * CConnectionPoint::GetConnections()\n3329 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3330 IDispatch * CHtmlView::GetContainer()const \n3331 IOleItemContainer * COleDocument::GetContainer()\n3332 IOleItemContainer * COleLinkingDoc::GetContainer()\n3333 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3334 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3335 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3336 unsigned long CInternetConnection::GetContext()const \n3337 unsigned long CInternetFile::GetContext()const \n3338 unsigned long CInternetSession::GetContext()const \n3339 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3340 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3341 COleControl * CDataPathProperty::GetControl()\n3342 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3343 COleControlContainer * CWnd::GetControlContainer()\n3344 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n3345 unsigned long COleControl::GetControlFlags()\n3346 void COleControlSite::GetControlInfo()\n3347 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3348 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3349 IUnknown * CCmdTarget::GetControllingUnknown()\n3350 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3351 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n3352 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n3353 void COleControl::GetControlSize(int *,int *)\n3354 int COlePropertyPage::GetControlStatus(unsigned int)\n3355 IUnknown * CWnd::GetControlUnknown()\n3356 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3357 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3358 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n3359 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n3360 int CPrintDialog::GetCopies()const \n3361 int CPrintDialogEx::GetCopies()const \n3362 int CByteArray::GetCount()const \n3363 int CComboBox::GetCount()const \n3364 int CControlBar::GetCount()const \n3365 int CDWordArray::GetCount()const \n3366 int CListBox::GetCount()const \n3367 int CMapPtrToPtr::GetCount()const \n3368 int CMapPtrToWord::GetCount()const \n3369 int CMapStringToOb::GetCount()const \n3370 int CMapStringToPtr::GetCount()const \n3371 int CMapStringToString::GetCount()const \n3372 int CMapWordToOb::GetCount()const \n3373 int CMapWordToPtr::GetCount()const \n3374 int CObArray::GetCount()const \n3375 int CObList::GetCount()const \n3376 unsigned long CPropertySection::GetCount()\n3377 unsigned long CPropertySet::GetCount()\n3378 int CPtrArray::GetCount()const \n3379 int CPtrList::GetCount()const \n3380 int CStringArray::GetCount()const \n3381 int CStringList::GetCount()const \n3382 unsigned int CTreeCtrl::GetCount()const \n3383 int CUIntArray::GetCount()const \n3384 int CWordArray::GetCount()const \n3385 int CListCtrl::GetCountPerPage()const \n3386 int CFileFind::GetCreationTime(ATL::CTime &)const \n3387 int CFileFind::GetCreationTime(_FILETIME *)const \n3388 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3389 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3390 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3391 int CTabCtrl::GetCurFocus()const \n3392 CBitmap * CDC::GetCurrentBitmap()const \n3393 CBrush * CDC::GetCurrentBrush()const \n3394 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3395 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n3396 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3397 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n3398 CFont * CDC::GetCurrentFont()const \n3399 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n3400 tagMSG const * CWnd::GetCurrentMessage()\n3401 CPalette * CDC::GetCurrentPalette()const \n3402 CPen * CDC::GetCurrentPen()const \n3403 CPoint CDC::GetCurrentPosition()const \n3404 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3405 int CComboBox::GetCurSel()const \n3406 int CListBox::GetCurSel()const \n3407 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3408 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3409 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3410 int CTabCtrl::GetCurSel()const \n3411 HICON__ * CButton::GetCursor()\n3412 IUnknown * CDataBoundProperty::GetCursor()\n3413 IUnknown * CDataSourceControl::GetCursor()\n3414 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3415 HICON__ * CStatic::GetCursor()\n3416 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3417 int CDatabase::GetCursorCommitBehavior()const \n3418 int CDatabase::GetCursorRollbackBehavior()const \n3419 unsigned char * CByteArray::GetData()\n3420 unsigned char const * CByteArray::GetData()const \n3421 unsigned long * CDWordArray::GetData()\n3422 unsigned long const * CDWordArray::GetData()const \n3423 CObject * * CObArray::GetData()\n3424 CObject const * * CObArray::GetData()const \n3425 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3426 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3427 void * * CPtrArray::GetData()\n3428 void const * * CPtrArray::GetData()const \n3429 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3430 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > * CStringArray::GetData()\n3431 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const * CStringArray::GetData()const \n3432 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3433 unsigned int * CUIntArray::GetData()\n3434 unsigned int const * CUIntArray::GetData()const \n3435 unsigned short * CWordArray::GetData()\n3436 unsigned short const * CWordArray::GetData()const \n3437 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3438 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3439 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3440 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3441 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n3442 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3443 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3444 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3445 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3446 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3447 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3448 IDataObject * COleServerItem::GetDataObject()\n3449 COleControl::CControlDataSource * COleControl::GetDataSource()\n3450 COleDataSource * COleServerItem::GetDataSource()\n3451 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3452 CDC * CWnd::GetDC()\n3453 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3454 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3455 HACCEL__ * CDocument::GetDefaultAccelerator()\n3456 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3457 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3458 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n3459 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n3460 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n3461 short CRecordset::GetDefaultFieldType(short)\n3462 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3463 HMENU__ * CDocument::GetDefaultMenu()\n3464 HMENU__ * COleServerDoc::GetDefaultMenu()\n3465 int CPrintDialog::GetDefaults()\n3466 int CPrintDialogEx::GetDefaults()\n3467 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n3468 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3469 unsigned long COleControlSite::GetDefBtnCode()\n3470 unsigned long CDialog::GetDefID()const \n3471 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3472 int CDumpContext::GetDepth()const \n3473 CWnd * CWnd::GetDescendantWindow(int,int)const \n3474 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3475 CWnd * CWnd::GetDesktopWindow()\n3476 int CDC::GetDeviceCaps(int)const \n3477 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n3478 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n3479 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n3480 CPoint CScrollView::GetDeviceScrollPosition()const \n3481 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3482 _devicemodeW * CPageSetupDialog::GetDevMode()const \n3483 _devicemodeW * CPrintDialog::GetDevMode()const \n3484 _devicemodeW * CPrintDialogEx::GetDevMode()const \n3485 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3486 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3487 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3488 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3489 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3490 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3491 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3492 unsigned long COleSafeArray::GetDim()\n3493 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3494 int CCmdTarget::GetDispatchIID(_GUID *)\n3495 int COleControl::GetDispatchIID(_GUID *)\n3496 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3497 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3498 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3499 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetDisplayName()\n3500 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n3501 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3502 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3503 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3504 int COleControlSite::GetDlgCtrlID()const \n3505 int CWnd::GetDlgCtrlID()const \n3506 CWnd * COleControlContainer::GetDlgItem(int)const \n3507 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3508 CWnd * CWnd::GetDlgItem(int)const \n3509 void CWnd::GetDlgItem(int,HWND__ * *)const \n3510 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3511 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3512 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n3513 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3514 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n3515 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3516 CDockBar * CDockContext::GetDockBar(unsigned long)\n3517 CControlBar * CDockBar::GetDockedControlBar(int)const \n3518 int CDockBar::GetDockedCount()const \n3519 int CDockBar::GetDockedVisibleCount()const \n3520 CFrameWnd * CControlBar::GetDockingFrame()const \n3521 void CFrameWnd::GetDockState(CDockState &)const \n3522 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3523 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3524 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n3525 CDocTemplate * CDocument::GetDocTemplate()const \n3526 CDocument * CDocItem::GetDocument()const \n3527 COleDocument * COleClientItem::GetDocument()const \n3528 COleServerDoc * COleServerItem::GetDocument()const \n3529 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3530 CRichEditDoc * CRichEditView::GetDocument()const \n3531 CDocument * CView::GetDocument()const \n3532 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3533 int CDocManager::GetDocumentCount()\n3534 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3535 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3536 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3537 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3538 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3539 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3540 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n3541 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n3542 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n3543 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3544 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3545 int CComboBox::GetDroppedState()const \n3546 int CComboBox::GetDroppedWidth()const \n3547 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3548 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3549 IDropTarget * CReBarCtrl::GetDropTarget()const \n3550 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3551 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3552 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3553 IUnknown * CWnd::GetDSCCursor()\n3554 CEdit * CListCtrl::GetEditControl()const \n3555 CEdit * CTreeCtrl::GetEditControl()const \n3556 CEdit * CComboBoxEx::GetEditCtrl()\n3557 CEdit & CEditView::GetEditCtrl()const \n3558 unsigned long CComboBox::GetEditSel()const \n3559 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n3560 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n3561 void COleSafeArray::GetElement(long *,void *)\n3562 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n3563 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n3564 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n3565 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n3566 unsigned long COleSafeArray::GetElemSize()\n3567 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3568 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3569 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3570 int COleControl::GetEnabled()\n3571 HENHMETAFILE__ * CStatic::GetEnhMetaFileW()const \n3572 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3573 int CPalette::GetEntryCount()\n3574 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3575 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3576 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3577 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3578 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3579 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3580 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3581 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3582 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3583 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3584 int COleControlSite::GetEventIID(_GUID *)\n3585 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3586 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n3587 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n3588 long CRichEditCtrl::GetEventMask()const \n3589 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3590 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3591 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3592 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3593 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3594 unsigned long COleControlSite::GetExStyle()const \n3595 unsigned long CWnd::GetExStyle()const \n3596 IDispatch * COleControl::GetExtendedControl()\n3597 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3598 unsigned long CComboBoxEx::GetExtendedStyle()const \n3599 unsigned long CListCtrl::GetExtendedStyle()\n3600 unsigned long CTabCtrl::GetExtendedStyle()\n3601 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3602 int CComboBox::GetExtendedUI()const \n3603 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3604 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3605 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3606 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3607 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3608 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3609 long CBrowserControlSite::GetExternal(IDispatch * *)\n3610 long CDHtmlDialog::GetExternal(IDispatch * *)\n3611 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3612 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3613 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3614 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3615 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetFaceName()const \n3616 short CRecordset::GetFieldIndexByName(wchar_t const *)\n3617 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3618 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3619 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3620 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &)\n3621 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3622 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n3623 CFile * CArchive::GetFile()const \n3624 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n3625 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n3626 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3627 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n3628 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n3629 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n3630 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n3631 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n3632 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFileName()\n3633 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n3634 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n3635 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n3636 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n3637 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n3638 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n3639 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n3640 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3641 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n3642 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n3643 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n3644 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n3645 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetFindString()const \n3646 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3647 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3648 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3649 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3650 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3651 CFrameWnd * COleDocument::GetFirstFrame()\n3652 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3653 __POSITION * CDocument::GetFirstViewPosition()const \n3654 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3655 int CEdit::GetFirstVisibleLine()const \n3656 int CRichEditCtrl::GetFirstVisibleLine()const \n3657 CWnd * COleControl::GetFocus()\n3658 CWnd * CWnd::GetFocus()\n3659 long COleControlSite::XOleIPSite::GetFocus()\n3660 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n3661 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n3662 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n3663 IFontDisp * COleControl::GetFont()\n3664 CFont * CWnd::GetFont()const \n3665 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3666 IFontDisp * CFontHolder::GetFontDispatch()\n3667 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3668 HFONT__ * CFontHolder::GetFontHandle()\n3669 unsigned long CDC::GetFontLanguageInfo()const \n3670 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3671 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n3672 unsigned long COleControl::GetForeColor()\n3673 CWnd * CWnd::GetForegroundWindow()\n3674 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3675 _GUID CPropertySection::GetFormatID()\n3676 unsigned short CPropertySet::GetFormatVersion()\n3677 int CPrintDialog::GetFromPage()const \n3678 unsigned int CPrintInfo::GetFromPage()const \n3679 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFromPrefix()\n3680 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n3681 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n3682 int CHtmlView::GetFullScreen()const \n3683 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3684 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3685 unsigned long CDC::GetGlyphOutlineW(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3686 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n3687 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3688 CBrush * CDC::GetHalftoneBrush()\n3689 void * CEdit::GetHandle()const \n3690 unsigned int CRectTracker::GetHandleMask()const \n3691 void CRectTracker::GetHandleRect(int,CRect *)const \n3692 int CRectTracker::GetHandleSize(tagRECT const *)const \n3693 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3694 unsigned int CMapPtrToWord::GetHashTableSize()const \n3695 unsigned int CMapStringToOb::GetHashTableSize()const \n3696 unsigned int CMapStringToPtr::GetHashTableSize()const \n3697 unsigned int CMapStringToString::GetHashTableSize()const \n3698 unsigned int CMapWordToOb::GetHashTableSize()const \n3699 unsigned int CMapWordToPtr::GetHashTableSize()const \n3700 CObject * & CObList::GetHead()\n3701 CObject const * & CObList::GetHead()const \n3702 void * & CPtrList::GetHead()\n3703 void const * & CPtrList::GetHead()const \n3704 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetHead()\n3705 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetHead()const \n3706 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3707 __POSITION * CObList::GetHeadPosition()const \n3708 __POSITION * CPtrList::GetHeadPosition()const \n3709 __POSITION * CStringList::GetHeadPosition()const \n3710 long CHtmlView::GetHeight()const \n3711 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3712 void CSplitterWnd::GetHitRect(int,CRect &)\n3713 unsigned int CComboBox::GetHorizontalExtent()const \n3714 int CListBox::GetHorizontalExtent()const \n3715 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3716 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3717 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3718 HICON__ * CListCtrl::GetHotCursor()\n3719 CImageList * CToolBarCtrl::GetHotImageList()const \n3720 int CListCtrl::GetHotItem()\n3721 int CToolBarCtrl::GetHotItem()const \n3722 unsigned long CHotKeyCtrl::GetHotKey()const \n3723 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3724 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n3725 unsigned long CListCtrl::GetHoverTime()const \n3726 IDispatch * CHtmlView::GetHtmlDocument()const \n3727 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n3728 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n3729 unsigned int COleControl::GetHwnd()\n3730 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3731 HICON__ * CButton::GetIcon()const \n3732 HICON__ * CStatic::GetIcon()const \n3733 HICON__ * CWnd::GetIcon(int)const \n3734 HICON__ * COleClientItem::GetIconFromRegistry()const \n3735 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3736 void * COleChangeIconDialog::GetIconicMetafile()const \n3737 void * COleClientItem::GetIconicMetafile()\n3738 void * COleConvertDialog::GetIconicMetafile()const \n3739 void * COleInsertDialog::GetIconicMetafile()const \n3740 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3741 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3742 unsigned long CProperty::GetID()\n3743 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n3744 IDataObject * COleDataObject::GetIDataObject(int)\n3745 IDispatch * CCmdTarget::GetIDispatch(int)\n3746 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3747 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3748 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3749 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3750 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3751 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3752 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3753 _GUID const & COleControl::XEventConnPt::GetIID()\n3754 int CImageList::GetImageCount()const \n3755 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3756 CImageList * CComboBoxEx::GetImageList()const \n3757 CImageList * CHeaderCtrl::GetImageList()const \n3758 CImageList * CListCtrl::GetImageList(int)const \n3759 CImageList * CReBarCtrl::GetImageList()const \n3760 CImageList * CTabCtrl::GetImageList()const \n3761 CImageList * CToolBarCtrl::GetImageList()const \n3762 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3763 unsigned int CTreeCtrl::GetIndent()const \n3764 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3765 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3766 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3767 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3768 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3769 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3770 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3771 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3772 CWnd * COleClientItem::GetInPlaceWindow()\n3773 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3774 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3775 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3776 void CSplitterWnd::GetInsideRect(CRect &)const \n3777 IUnknown * CCmdTarget::GetInterface(void const *)\n3778 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3779 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3780 IUnknown * COleControl::GetInterfaceHook(void const *)\n3781 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3782 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3783 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3784 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3785 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3786 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3787 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3788 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3789 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3790 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3791 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3792 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3793 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3794 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3795 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3796 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3797 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3798 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3799 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3800 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3801 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3802 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3803 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3804 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3805 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3806 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n3807 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n3808 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n3809 int CHeaderCtrl::GetItem(int,_HD_ITEMW *)const \n3810 int CListCtrl::GetItem(tagLVITEMW *)const \n3811 int CTabCtrl::GetItem(int,tagTCITEMW *)const \n3812 int CTreeCtrl::GetItem(tagTVITEMW *)const \n3813 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3814 int CHeaderCtrl::GetItemCount()const \n3815 int CListCtrl::GetItemCount()const \n3816 int CTabCtrl::GetItemCount()const \n3817 unsigned long CComboBox::GetItemData(int)const \n3818 unsigned long CListBox::GetItemData(int)const \n3819 unsigned long CListCtrl::GetItemData(int)const \n3820 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3821 void * CComboBox::GetItemDataPtr(int)const \n3822 void * CListBox::GetItemDataPtr(int)const \n3823 int CComboBox::GetItemHeight(int)const \n3824 int CListBox::GetItemHeight(int)const \n3825 short CTreeCtrl::GetItemHeight()const \n3826 unsigned int CStatusBar::GetItemID(int)const \n3827 unsigned int CToolBar::GetItemID(int)const \n3828 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3829 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetItemName()\n3830 void COleClientItem::GetItemName(wchar_t *)const \n3831 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleServerItem::GetItemName()const \n3832 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n3833 void COleServerDoc::GetItemPosition(tagRECT *)const \n3834 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n3835 int CListBox::GetItemRect(int,tagRECT *)const \n3836 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3837 void CStatusBar::GetItemRect(int,tagRECT *)const \n3838 int CTabCtrl::GetItemRect(int,tagRECT *)const \n3839 void CToolBar::GetItemRect(int,tagRECT *)const \n3840 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n3841 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3842 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n3843 unsigned int COleClientItem::GetItemState()const \n3844 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n3845 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3846 void COleClientItem::GetItemStorage()\n3847 void COleClientItem::GetItemStorageCompound()\n3848 void COleClientItem::GetItemStorageFlat()\n3849 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n3850 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n3851 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n3852 int CDC::GetKerningPairsW(int,tagKERNINGPAIR *)const \n3853 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n3854 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n3855 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3856 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n3857 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3858 CWnd * CWnd::GetLastActivePopup()const \n3859 int CAsyncSocket::GetLastError()\n3860 unsigned int COleDialog::GetLastError()const \n3861 long COleClientItem::GetLastStatus()const \n3862 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3863 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n3864 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3865 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n3866 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3867 unsigned long CDC::GetLayout()const \n3868 long CRecordset::GetLBFetchSize(long)\n3869 void COleSafeArray::GetLBound(unsigned long,long *)\n3870 long CRecordset::GetLBReallocSize(long)\n3871 int CComboBox::GetLBText(int,wchar_t *)const \n3872 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3873 int CComboBox::GetLBTextLen(int)const \n3874 long CHtmlView::GetLeft()const \n3875 unsigned __int64 CFile::GetLength()const \n3876 unsigned __int64 CFileFind::GetLength()const \n3877 unsigned __int64 CGopherFileFind::GetLength()const \n3878 unsigned __int64 CInternetFile::GetLength()const \n3879 unsigned __int64 CMemFile::GetLength()const \n3880 unsigned __int64 COleStreamFile::GetLength()const \n3881 unsigned __int64 CSocketFile::GetLength()const \n3882 unsigned __int64 CStdioFile::GetLength()const \n3883 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n3884 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3885 unsigned int CEdit::GetLimitText()const \n3886 long CRichEditCtrl::GetLimitText()const \n3887 int CEdit::GetLine(int,wchar_t *)const \n3888 int CEdit::GetLine(int,wchar_t *,int)const \n3889 int CRichEditCtrl::GetLine(int,wchar_t *)const \n3890 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n3891 unsigned long CTreeCtrl::GetLineColor()const \n3892 int CEdit::GetLineCount()const \n3893 int CRichEditCtrl::GetLineCount()const \n3894 int CSliderCtrl::GetLineSize()const \n3895 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n3896 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3897 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3898 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n3899 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3900 CPtrList * CPropertySection::GetList()\n3901 CPtrList * CPropertySet::GetList()\n3902 CListCtrl & CListView::GetListCtrl()const \n3903 unsigned long CComboBox::GetLocale()const \n3904 unsigned long CListBox::GetLocale()const \n3905 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n3906 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n3907 CGopherLocator CGopherFileFind::GetLocator()const \n3908 int CGopherLocator::GetLocatorType(unsigned long &)const \n3909 int CBrush::GetLogBrush(tagLOGBRUSH *)\n3910 int CFont::GetLogFont(tagLOGFONTW *)\n3911 int CPen::GetLogPen(tagLOGPEN *)\n3912 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3913 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n3914 long CFieldExchange::GetLongBinarySize(int)\n3915 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n3916 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,short,short)\n3917 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n3918 CWnd * CWinThread::GetMainWnd()\n3919 int CDC::GetMapMode()const \n3920 void CToolTipCtrl::GetMargin(tagRECT *)const \n3921 unsigned long CEdit::GetMargins()const \n3922 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3923 CRect CRichEditView::GetMargins()const \n3924 int CConnectionPoint::GetMaxConnections()\n3925 unsigned int CPrintInfo::GetMaxPage()const \n3926 int CMonthCalCtrl::GetMaxSelCount()const \n3927 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n3928 int CToolBarCtrl::GetMaxTextRows()const \n3929 int CToolTipCtrl::GetMaxTipWidth()const \n3930 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n3931 CMenu * CWnd::GetMenu()const \n3932 int CHtmlView::GetMenuBar()const \n3933 unsigned long CMenu::GetMenuContextHelpId()const \n3934 unsigned int CMenu::GetMenuItemCount()const \n3935 unsigned int CMenu::GetMenuItemID(int)const \n3936 int CMenu::GetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n3937 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n3938 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n3939 int CMenu::GetMenuStringW(unsigned int,wchar_t *,int,unsigned int)const \n3940 CWnd * CFrameWnd::GetMessageBar()\n3941 CWnd * CMDIChildWnd::GetMessageBar()\n3942 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n3943 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n3944 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n3945 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n3946 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n3947 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n3948 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n3949 AFX_MSGMAP const * CDialog::GetMessageMap()const \n3950 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n3951 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n3952 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n3953 AFX_MSGMAP const * CDocument::GetMessageMap()const \n3954 AFX_MSGMAP const * CEditView::GetMessageMap()const \n3955 AFX_MSGMAP const * CFormView::GetMessageMap()const \n3956 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n3957 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n3958 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n3959 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n3960 AFX_MSGMAP const * CListView::GetMessageMap()const \n3961 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n3962 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n3963 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n3964 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n3965 AFX_MSGMAP const * COleControl::GetMessageMap()const \n3966 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n3967 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n3968 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n3969 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n3970 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n3971 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n3972 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n3973 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n3974 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n3975 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n3976 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n3977 AFX_MSGMAP const * CReBar::GetMessageMap()const \n3978 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n3979 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n3980 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n3981 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n3982 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n3983 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n3984 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n3985 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n3986 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n3987 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n3988 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n3989 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n3990 AFX_MSGMAP const * CView::GetMessageMap()const \n3991 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n3992 AFX_MSGMAP const * CWnd::GetMessageMap()const \n3993 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3994 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3995 long CDataSourceControl::GetMetaData()\n3996 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3997 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3998 unsigned int CPrintInfo::GetMinPage()const \n3999 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4000 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4001 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4002 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4003 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4004 float CDC::GetMiterLimit()const \n4005 int CEdit::GetModify()const \n4006 int CRichEditCtrl::GetModify()const \n4007 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4008 IMoniker * CMonikerFile::GetMoniker()const \n4009 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4010 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4011 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4012 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4013 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4014 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4015 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4016 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4017 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4018 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4019 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4020 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4021 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4022 int CMonthCalCtrl::GetMonthDelta()const \n4023 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4024 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4025 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4026 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4027 unsigned long CDC::GetNearestColor(unsigned long)const \n4028 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4029 unsigned long COleClientItem::GetNewItemNumber()\n4030 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4031 CDataBoundProperty * CDataBoundProperty::GetNext()\n4032 CObject * & CObList::GetNext(__POSITION * &)\n4033 CObject const * & CObList::GetNext(__POSITION * &)const \n4034 void * & CPtrList::GetNext(__POSITION * &)\n4035 void const * & CPtrList::GetNext(__POSITION * &)const \n4036 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetNext(__POSITION * &)\n4037 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetNext(__POSITION * &)const \n4038 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4039 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4040 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n4041 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n4042 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4043 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4044 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4045 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4046 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4047 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4048 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4049 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4050 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4051 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4052 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4053 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4054 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4055 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4056 int CListCtrl::GetNextItem(int,int)const \n4057 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4058 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4059 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4060 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4061 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4062 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4063 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4064 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4065 CView * CDocument::GetNextView(__POSITION * &)const \n4066 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4067 CWnd * CWnd::GetNextWindow(unsigned int)const \n4068 ATL::CStringData * CAfxStringMgr::GetNilString()\n4069 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4070 void CCmdTarget::GetNotSupported()\n4071 void COleControl::GetNotSupported()\n4072 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4073 unsigned int CSliderCtrl::GetNumTics()const \n4074 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4075 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4076 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4077 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n4078 unsigned int CArchive::GetObjectSchema()\n4079 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4080 unsigned int CGdiObject::GetObjectType()const \n4081 int CGdiObject::GetObjectW(int,void *)const \n4082 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n4083 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4084 short CRecordset::GetODBCFieldCount()const \n4085 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4086 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n4087 int CHtmlView::GetOffline()const \n4088 tagOFNW & CFileDialog::GetOFN()\n4089 tagOFNW const & CFileDialog::GetOFN()const \n4090 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4091 IOleObject * COleServerItem::GetOleObject()\n4092 unsigned long COleSafeArray::GetOneDimSize()\n4093 CWnd * CWnd::GetOpenClipboardWindow()\n4094 int CDocManager::GetOpenDocumentCount()\n4095 int CWinApp::GetOpenDocumentCount()\n4096 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4097 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4098 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4099 unsigned int CRichEditCtrl::GetOptions()const \n4100 int CHeaderCtrl::GetOrderArray(int *,int)\n4101 int CListCtrl::GetOrigin(tagPOINT *)const \n4102 unsigned long CPropertySet::GetOSVersion()\n4103 CWnd * COleControl::GetOuterWindow()const \n4104 unsigned int CDC::GetOutlineTextMetricsW(unsigned int,_OUTLINETEXTMETRICW *)const \n4105 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4106 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4107 CSize CDC::GetOutputTabbedTextExtent(wchar_t const *,int,int,int *)const \n4108 CSize CDC::GetOutputTextExtent(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4109 CSize CDC::GetOutputTextExtent(wchar_t const *,int)const \n4110 int CDC::GetOutputTextMetrics(tagTEXTMETRICW *)const \n4111 CWnd * CWnd::GetOwner()const \n4112 CPropertyPage * CPropertySheet::GetPage(int)const \n4113 int COleDocObjectItem::GetPageCount(long *,long *)\n4114 int CPropertySheet::GetPageCount()const \n4115 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4116 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4117 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4118 CRect CRichEditView::GetPageRect()const \n4119 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4120 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4121 int CSliderCtrl::GetPageSize()const \n4122 CPalette * CReBarCtrl::GetPalette()const \n4123 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4124 CWnd * CSplitterWnd::GetPane(int,int)const \n4125 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4126 unsigned int CStatusBar::GetPaneStyle(int)const \n4127 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n4128 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4129 CSize CPageSetupDialog::GetPaperSize()const \n4130 CSize CRichEditView::GetPaperSize()const \n4131 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4132 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4133 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4134 CWnd * CWnd::GetParent()const \n4135 IDispatch * CHtmlView::GetParentBrowser()const \n4136 CFrameWnd * CWnd::GetParentFrame()const \n4137 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4138 CWnd * CWnd::GetParentOwner()const \n4139 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4140 int CStatusBarCtrl::GetParts(int,int *)const \n4141 wchar_t CEdit::GetPasswordChar()const \n4142 int COlePasteSpecialDialog::GetPasteIndex()const \n4143 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDataPathProperty::GetPath()const \n4144 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4145 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetPathName()const \n4146 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n4147 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleInsertDialog::GetPathName()const \n4148 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4149 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4150 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4151 unsigned long CDC::GetPixel(int,int)const \n4152 unsigned long CDC::GetPixel(tagPOINT)const \n4153 int CDC::GetPolyFillMode()const \n4154 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n4155 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n4156 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n4157 int CProgressCtrl::GetPos()\n4158 int CSliderCtrl::GetPos()const \n4159 int CSpinButtonCtrl::GetPos()const \n4160 int CSpinButtonCtrl::GetPos32(int *)const \n4161 unsigned __int64 CFile::GetPosition()const \n4162 unsigned __int64 CMemFile::GetPosition()const \n4163 unsigned __int64 COleStreamFile::GetPosition()const \n4164 unsigned __int64 CSocketFile::GetPosition()const \n4165 unsigned __int64 CStdioFile::GetPosition()const \n4166 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4167 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4168 CObject * & CObList::GetPrev(__POSITION * &)\n4169 CObject const * & CObList::GetPrev(__POSITION * &)const \n4170 void * & CPtrList::GetPrev(__POSITION * &)\n4171 void const * & CPtrList::GetPrev(__POSITION * &)const \n4172 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetPrev(__POSITION * &)\n4173 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetPrev(__POSITION * &)const \n4174 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4175 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4176 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4177 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4178 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4179 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4180 HDC__ * CPrintDialog::GetPrinterDC()const \n4181 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4182 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n4183 CFont * CEditView::GetPrinterFont()const \n4184 CRect CRichEditView::GetPrintRect()const \n4185 int CRichEditView::GetPrintWidth()const \n4186 long CAsyncMonikerFile::GetPriority()const \n4187 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n4188 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n4189 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n4190 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n4191 COleVariant CHtmlView::GetProperty(wchar_t const *)\n4192 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4193 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4194 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4195 CProperty * CPropertySection::GetProperty(unsigned long)\n4196 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4197 void CWnd::GetProperty(long,unsigned short,void *)const \n4198 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n4199 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4200 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n4201 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4202 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n4203 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n4204 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n4205 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n4206 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n4207 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n4208 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n4209 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n4210 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n4211 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n4212 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n4213 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4214 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4215 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4216 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4217 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4218 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4219 void CProgressCtrl::GetRange(int &,int &)\n4220 void CSliderCtrl::GetRange(int &,int &)const \n4221 unsigned long CSpinButtonCtrl::GetRange()const \n4222 void CSpinButtonCtrl::GetRange(int &,int &)const \n4223 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4224 int CSliderCtrl::GetRangeMax()const \n4225 int CSliderCtrl::GetRangeMin()const \n4226 void * CProperty::GetRawValue()\n4227 int CFileDialog::GetReadOnlyPref()const \n4228 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4229 long COleControl::GetReadyState()\n4230 CReBarCtrl & CReBar::GetReBarCtrl()const \n4231 long CRecordset::GetRecordCount()const \n4232 void CEdit::GetRect(tagRECT *)const \n4233 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4234 void CRichEditCtrl::GetRect(tagRECT *)const \n4235 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4236 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4237 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4238 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4239 int COleControl::GetRectInContainer(tagRECT *)\n4240 enum _undonameid CRichEditCtrl::GetRedoName()const \n4241 int CRgn::GetRegionData(_RGNDATA *,int)const \n4242 int CHtmlView::GetRegisterAsBrowser()const \n4243 int CHtmlView::GetRegisterAsDropTarget()const \n4244 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetReplaceString()const \n4245 int CRgn::GetRgnBox(tagRECT *)const \n4246 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4247 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n4248 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n4249 _TREEITEM * CTreeCtrl::GetRootItem()const \n4250 int CDC::GetROP2()const \n4251 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4252 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4253 CView * CCmdTarget::GetRoutingView()\n4254 CView * CCmdTarget::GetRoutingView_()\n4255 unsigned int CReBarCtrl::GetRowCount()const \n4256 int CSplitterWnd::GetRowCount()const \n4257 int CTabCtrl::GetRowCount()const \n4258 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4259 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4260 int CToolBarCtrl::GetRows()const \n4261 unsigned long CRecordset::GetRowsetSize()const \n4262 unsigned long CRecordset::GetRowsFetched()const \n4263 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4264 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4265 CRuntime* CArchiveException::GetRuntimeClass()const \n4266 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4267 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4268 CRuntime* CBitmap::GetRuntimeClass()const \n4269 CRuntime* CBitmapButton::GetRuntimeClass()const \n4270 CRuntime* CBrush::GetRuntimeClass()const \n4271 CRuntime* CButton::GetRuntimeClass()const \n4272 CRuntime* CByteArray::GetRuntimeClass()const \n4273 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4274 CRuntime* CCheckListBox::GetRuntimeClass()const \n4275 CRuntime* CClientDC::GetRuntimeClass()const \n4276 CRuntime* CCmdTarget::GetRuntimeClass()const \n4277 CRuntime* CColorDialog::GetRuntimeClass()const \n4278 CRuntime* CComboBox::GetRuntimeClass()const \n4279 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4280 CRuntime* CControlBar::GetRuntimeClass()const \n4281 CRuntime* CCriticalSection::GetRuntimeClass()const \n4282 CRuntime* CCtrlView::GetRuntimeClass()const \n4283 CRuntime* CDatabase::GetRuntimeClass()const \n4284 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4285 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4286 CRuntime* CDBException::GetRuntimeClass()const \n4287 CRuntime* CDC::GetRuntimeClass()const \n4288 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4289 CRuntime* CDialog::GetRuntimeClass()const \n4290 CRuntime* CDialogBar::GetRuntimeClass()const \n4291 CRuntime* CDocItem::GetRuntimeClass()const \n4292 CRuntime* CDockBar::GetRuntimeClass()const \n4293 CRuntime* CDockState::GetRuntimeClass()const \n4294 CRuntime* CDocManager::GetRuntimeClass()const \n4295 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4296 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4297 CRuntime* CDocTemplate::GetRuntimeClass()const \n4298 CRuntime* CDocument::GetRuntimeClass()const \n4299 CRuntime* CDragListBox::GetRuntimeClass()const \n4300 CRuntime* CDWordArray::GetRuntimeClass()const \n4301 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4302 CRuntime* CEdit::GetRuntimeClass()const \n4303 CRuntime* CEditView::GetRuntimeClass()const \n4304 CRuntime* CEvent::GetRuntimeClass()const \n4305 CRuntime* CException::GetRuntimeClass()const \n4306 CRuntime* CFile::GetRuntimeClass()const \n4307 CRuntime* CFileDialog::GetRuntimeClass()const \n4308 CRuntime* CFileException::GetRuntimeClass()const \n4309 CRuntime* CFileFind::GetRuntimeClass()const \n4310 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4311 CRuntime* CFont::GetRuntimeClass()const \n4312 CRuntime* CFontDialog::GetRuntimeClass()const \n4313 CRuntime* CFormView::GetRuntimeClass()const \n4314 CRuntime* CFrameWnd::GetRuntimeClass()const \n4315 CRuntime* CFtpConnection::GetRuntimeClass()const \n4316 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4317 CRuntime* CGdiObject::GetRuntimeClass()const \n4318 CRuntime* CGopherConnection::GetRuntimeClass()const \n4319 CRuntime* CGopherFile::GetRuntimeClass()const \n4320 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4321 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4322 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4323 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4324 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4325 CRuntime* CHtmlView::GetRuntimeClass()const \n4326 CRuntime* CHttpConnection::GetRuntimeClass()const \n4327 CRuntime* CHttpFile::GetRuntimeClass()const \n4328 CRuntime* CImageList::GetRuntimeClass()const \n4329 CRuntime* CInternetConnection::GetRuntimeClass()const \n4330 CRuntime* CInternetException::GetRuntimeClass()const \n4331 CRuntime* CInternetFile::GetRuntimeClass()const \n4332 CRuntime* CInternetSession::GetRuntimeClass()const \n4333 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4334 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4335 CRuntime* CListBox::GetRuntimeClass()const \n4336 CRuntime* CListCtrl::GetRuntimeClass()const \n4337 CRuntime* CListView::GetRuntimeClass()const \n4338 CRuntime* CLongBinary::GetRuntimeClass()const \n4339 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4340 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4341 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4342 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4343 CRuntime* CMapStringToString::GetRuntimeClass()const \n4344 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4345 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4346 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4347 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4348 CRuntime* CMemFile::GetRuntimeClass()const \n4349 CRuntime* CMemoryException::GetRuntimeClass()const \n4350 CRuntime* CMenu::GetRuntimeClass()const \n4351 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4352 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4353 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4354 CRuntime* CMonikerFile::GetRuntimeClass()const \n4355 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4356 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4357 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4358 CRuntime* CMutex::GetRuntimeClass()const \n4359 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4360 CRuntime* CObArray::GetRuntimeClass()const \n4361 CRuntime* CObject::GetRuntimeClass()const \n4362 CRuntime* CObList::GetRuntimeClass()const \n4363 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4364 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4365 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4366 CRuntime* COleClientItem::GetRuntimeClass()const \n4367 CRuntime* COleControl::GetRuntimeClass()const \n4368 CRuntime* COleControlModule::GetRuntimeClass()const \n4369 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4370 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4371 CRuntime* COleDialog::GetRuntimeClass()const \n4372 CRuntime* COleDispatchException::GetRuntimeClass()const \n4373 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4374 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4375 CRuntime* COleDocument::GetRuntimeClass()const \n4376 CRuntime* COleException::GetRuntimeClass()const \n4377 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4378 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4379 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4380 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4381 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4382 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4383 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4384 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4385 CRuntime* COleResizeBar::GetRuntimeClass()const \n4386 CRuntime* COleServerDoc::GetRuntimeClass()const \n4387 CRuntime* COleServerItem::GetRuntimeClass()const \n4388 CRuntime* COleStreamFile::GetRuntimeClass()const \n4389 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4390 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4391 CRuntime* CPaintDC::GetRuntimeClass()const \n4392 CRuntime* CPalette::GetRuntimeClass()const \n4393 CRuntime* CPen::GetRuntimeClass()const \n4394 CRuntime* CPreviewDC::GetRuntimeClass()const \n4395 CRuntime* CPreviewView::GetRuntimeClass()const \n4396 CRuntime* CPrintDialog::GetRuntimeClass()const \n4397 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4398 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4399 CRuntime* CPropertyPage::GetRuntimeClass()const \n4400 CRuntime* CPropertySheet::GetRuntimeClass()const \n4401 CRuntime* CPtrArray::GetRuntimeClass()const \n4402 CRuntime* CPtrList::GetRuntimeClass()const \n4403 CRuntime* CReBar::GetRuntimeClass()const \n4404 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4405 CRuntime* CRecordset::GetRuntimeClass()const \n4406 CRuntime* CRecordView::GetRuntimeClass()const \n4407 CRuntime* CResourceException::GetRuntimeClass()const \n4408 CRuntime* CRgn::GetRuntimeClass()const \n4409 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4410 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4411 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4412 CRuntime* CRichEditView::GetRuntimeClass()const \n4413 CRuntime* CScrollBar::GetRuntimeClass()const \n4414 CRuntime* CScrollView::GetRuntimeClass()const \n4415 CRuntime* CSemaphore::GetRuntimeClass()const \n4416 CRuntime* CSharedFile::GetRuntimeClass()const \n4417 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4418 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4419 CRuntime* CSocket::GetRuntimeClass()const \n4420 CRuntime* CSocketFile::GetRuntimeClass()const \n4421 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4422 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4423 CRuntime* CStatic::GetRuntimeClass()const \n4424 CRuntime* CStatusBar::GetRuntimeClass()const \n4425 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4426 CRuntime* CStdioFile::GetRuntimeClass()const \n4427 CRuntime* CStringArray::GetRuntimeClass()const \n4428 CRuntime* CStringList::GetRuntimeClass()const \n4429 CRuntime* CSyncObject::GetRuntimeClass()const \n4430 CRuntime* CTabCtrl::GetRuntimeClass()const \n4431 CRuntime* CToolBar::GetRuntimeClass()const \n4432 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4433 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4434 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4435 CRuntime* CTreeView::GetRuntimeClass()const \n4436 CRuntime* CUIntArray::GetRuntimeClass()const \n4437 CRuntime* CUserException::GetRuntimeClass()const \n4438 CRuntime* CView::GetRuntimeClass()const \n4439 CRuntime* CWinApp::GetRuntimeClass()const \n4440 CRuntime* CWindowDC::GetRuntimeClass()const \n4441 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4442 CRuntime* CWinThread::GetRuntimeClass()const \n4443 CRuntime* CWnd::GetRuntimeClass()const \n4444 CRuntime* CWordArray::GetRuntimeClass()const \n4445 void * CGdiObject::GetSafeHandle()const \n4446 _IMAGELIST * CImageList::GetSafeHandle()const \n4447 HDC__ * CDC::GetSafeHdc()const \n4448 HMENU__ * CMenu::GetSafeHmenu()const \n4449 HWND__ * CWnd::GetSafeHwnd()const \n4450 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4451 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4452 unsigned long * CColorDialog::GetSavedCustomColors()\n4453 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n4454 CSize CDockState::GetScreenSize()\n4455 CScrollBar * CView::GetScrollBarCtrl(int)const \n4456 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4457 void CScrollView::GetScrollBarSizes(CSize &)\n4458 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4459 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4460 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4461 int CScrollBar::GetScrollLimit()\n4462 int CWnd::GetScrollLimit(int)\n4463 int CScrollBar::GetScrollPos()const \n4464 int CWnd::GetScrollPos(int)const \n4465 CPoint CScrollView::GetScrollPosition()const \n4466 void CScrollBar::GetScrollRange(int *,int *)const \n4467 void CWnd::GetScrollRange(int,int *,int *)const \n4468 unsigned long CSplitterWnd::GetScrollStyle()const \n4469 unsigned int CTreeCtrl::GetScrollTime()const \n4470 CPropertySection * CPropertySet::GetSection(_GUID)\n4471 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n4472 wchar_t const * CPropertySection::GetSectionName()\n4473 unsigned long CEdit::GetSel()const \n4474 void CEdit::GetSel(int &,int &)const \n4475 int CListBox::GetSel(int)const \n4476 void CRichEditCtrl::GetSel(long &,long &)const \n4477 void CRichEditCtrl::GetSel(_charrange &)const \n4478 int CListBox::GetSelCount()const \n4479 unsigned int CListCtrl::GetSelectedCount()const \n4480 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4481 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4482 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4483 void CSliderCtrl::GetSelection(int &,int &)const \n4484 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n4485 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n4486 int CListCtrl::GetSelectionMark()\n4487 unsigned int COleBusyDialog::GetSelectionType()const \n4488 unsigned int COleConvertDialog::GetSelectionType()const \n4489 unsigned int COleInsertDialog::GetSelectionType()const \n4490 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4491 unsigned short CRichEditCtrl::GetSelectionType()const \n4492 int CListBox::GetSelItems(int,int *)const \n4493 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4494 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4495 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4496 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n4497 long CRichEditCtrl::GetSelText(char *)const \n4498 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CInternetConnection::GetServerName()const \n4499 CInternetSession * CInternetConnection::GetSession()const \n4500 int CHtmlView::GetSilent()const \n4501 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4502 int CByteArray::GetSize()const \n4503 int CDWordArray::GetSize()const \n4504 int CFontDialog::GetSize()const \n4505 int CMapPtrToPtr::GetSize()const \n4506 int CMapPtrToWord::GetSize()const \n4507 int CMapStringToOb::GetSize()const \n4508 int CMapStringToPtr::GetSize()const \n4509 int CMapStringToString::GetSize()const \n4510 int CMapWordToOb::GetSize()const \n4511 int CMapWordToPtr::GetSize()const \n4512 int CObArray::GetSize()const \n4513 int CObList::GetSize()const \n4514 unsigned long CPropertySection::GetSize()\n4515 int CPtrArray::GetSize()const \n4516 int CPtrList::GetSize()const \n4517 int CStringArray::GetSize()const \n4518 int CStringList::GetSize()const \n4519 int CUIntArray::GetSize()const \n4520 int CWordArray::GetSize()const \n4521 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4522 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4523 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4524 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4525 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4526 CWnd * CSplitterWnd::GetSizingParent()\n4527 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4528 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4529 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4530 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4531 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetSQL()const \n4532 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4533 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4534 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n4535 wchar_t const * CHtmlEditView::GetStartDocument()\n4536 __POSITION * CConnectionPoint::GetStartPosition()const \n4537 __POSITION * CFileDialog::GetStartPosition()const \n4538 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4539 __POSITION * CMapPtrToWord::GetStartPosition()const \n4540 __POSITION * CMapStringToOb::GetStartPosition()const \n4541 __POSITION * CMapStringToPtr::GetStartPosition()const \n4542 __POSITION * CMapStringToString::GetStartPosition()const \n4543 __POSITION * CMapWordToOb::GetStartPosition()const \n4544 __POSITION * CMapWordToPtr::GetStartPosition()const \n4545 __POSITION * COleDocument::GetStartPosition()const \n4546 __POSITION * CRichEditDoc::GetStartPosition()const \n4547 unsigned int CButton::GetState()const \n4548 int CToolBarCtrl::GetState(int)const \n4549 int CFile::GetStatus(CFileStatus &)const \n4550 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n4551 int CMemFile::GetStatus(CFileStatus &)const \n4552 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4553 int COleStreamFile::GetStatus(CFileStatus &)const \n4554 void CRecordset::GetStatus(CRecordsetStatus &)const \n4555 int CHtmlView::GetStatusBar()const \n4556 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4557 unsigned long COleControl::GetStockEventMask()const \n4558 unsigned long COleControl::GetStockPropMask()const \n4559 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n4560 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n4561 IStream * COleStreamFile::GetStream()const \n4562 int CRichEditDoc::GetStreamFormat()const \n4563 int CDC::GetStretchBltMode()const \n4564 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4565 int CToolBarCtrl::GetString(int,wchar_t *,int)const \n4566 int CListCtrl::GetStringWidth(wchar_t const *)const \n4567 unsigned long COleControlSite::GetStyle()const \n4568 unsigned long COleControlSiteOrWnd::GetStyle()const \n4569 unsigned long CToolBarCtrl::GetStyle()const \n4570 unsigned long CWnd::GetStyle()const \n4571 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetStyleName()const \n4572 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4573 CMenu * CMenu::GetSubMenu(int)const \n4574 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4575 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4576 CMenu * CWnd::GetSystemMenu(int)const \n4577 CSize CDC::GetTabbedTextExtentW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4578 CSize CDC::GetTabbedTextExtentW(wchar_t const *,int,int,int *)const \n4579 CTabCtrl * CPropertySheet::GetTabControl()const \n4580 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetTableName()const \n4581 CObject * & CObList::GetTail()\n4582 CObject const * & CObList::GetTail()const \n4583 void * & CPtrList::GetTail()\n4584 void const * & CPtrList::GetTail()const \n4585 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetTail()\n4586 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetTail()const \n4587 __POSITION * CObList::GetTailPosition()const \n4588 __POSITION * CPtrList::GetTailPosition()const \n4589 __POSITION * CStringList::GetTailPosition()const \n4590 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4591 int CListBox::GetText(int,wchar_t *)const \n4592 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4593 wchar_t * COleControl::GetText()\n4594 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n4595 int CStatusBarCtrl::GetText(wchar_t const *,int,int *)const \n4596 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n4597 unsigned int CDC::GetTextAlign()const \n4598 unsigned long CListCtrl::GetTextBkColor()const \n4599 int CDC::GetTextCharacterExtra()const \n4600 unsigned long CDC::GetTextColor()const \n4601 unsigned long CListCtrl::GetTextColor()const \n4602 unsigned long CReBarCtrl::GetTextColor()const \n4603 unsigned long CTreeCtrl::GetTextColor()const \n4604 CSize CDC::GetTextExtent(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4605 CSize CDC::GetTextExtent(wchar_t const *,int)const \n4606 int CDC::GetTextFaceW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4607 int CDC::GetTextFaceW(int,wchar_t *)const \n4608 int CListBox::GetTextLen(int)const \n4609 long CRecordset::GetTextLen(short,unsigned long)\n4610 long CRichEditCtrl::GetTextLength()const \n4611 long CRichEditView::GetTextLength()const \n4612 int CStatusBarCtrl::GetTextLength(int,int *)const \n4613 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4614 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4615 int CDC::GetTextMetricsW(tagTEXTMETRICW *)const \n4616 unsigned int CRichEditCtrl::GetTextMode()const \n4617 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4618 int CHtmlView::GetTheaterMode()const \n4619 CRuntime* CAnimateCtrl::GetThisClass()\n4620 CRuntime* CArchiveException::GetThisClass()\n4621 CRuntime* CAsyncMonikerFile::GetThisClass()\n4622 CRuntime* CAsyncSocket::GetThisClass()\n4623 CRuntime* CBitmap::GetThisClass()\n4624 CRuntime* CBitmapButton::GetThisClass()\n4625 CRuntime* CBrush::GetThisClass()\n4626 CRuntime* CButton::GetThisClass()\n4627 CRuntime* CByteArray::GetThisClass()\n4628 CRuntime* CCachedDataPathProperty::GetThisClass()\n4629 CRuntime* CCheckListBox::GetThisClass()\n4630 CRuntime* CClientDC::GetThisClass()\n4631 CRuntime* CCmdTarget::GetThisClass()\n4632 CRuntime* CColorDialog::GetThisClass()\n4633 CRuntime* CComboBox::GetThisClass()\n4634 CRuntime* CComboBoxEx::GetThisClass()\n4635 CRuntime* CControlBar::GetThisClass()\n4636 CRuntime* CCriticalSection::GetThisClass()\n4637 CRuntime* CCtrlView::GetThisClass()\n4638 CRuntime* CDatabase::GetThisClass()\n4639 CRuntime* CDataPathProperty::GetThisClass()\n4640 CRuntime* CDateTimeCtrl::GetThisClass()\n4641 CRuntime* CDBException::GetThisClass()\n4642 CRuntime* CDC::GetThisClass()\n4643 CRuntime* CDHtmlDialog::GetThisClass()\n4644 CRuntime* CDialog::GetThisClass()\n4645 CRuntime* CDialogBar::GetThisClass()\n4646 CRuntime* CDocItem::GetThisClass()\n4647 CRuntime* CDockBar::GetThisClass()\n4648 CRuntime* CDockState::GetThisClass()\n4649 CRuntime* CDocManager::GetThisClass()\n4650 CRuntime* CDocObjectServer::GetThisClass()\n4651 CRuntime* CDocObjectServerItem::GetThisClass()\n4652 CRuntime* CDocTemplate::GetThisClass()\n4653 CRuntime* CDocument::GetThisClass()\n4654 CRuntime* CDragListBox::GetThisClass()\n4655 CRuntime* CDWordArray::GetThisClass()\n4656 CRuntime* CDynLinkLibrary::GetThisClass()\n4657 CRuntime* CEdit::GetThisClass()\n4658 CRuntime* CEditView::GetThisClass()\n4659 CRuntime* CEvent::GetThisClass()\n4660 CRuntime* CException::GetThisClass()\n4661 CRuntime* CFile::GetThisClass()\n4662 CRuntime* CFileDialog::GetThisClass()\n4663 CRuntime* CFileException::GetThisClass()\n4664 CRuntime* CFileFind::GetThisClass()\n4665 CRuntime* CFindReplaceDialog::GetThisClass()\n4666 CRuntime* CFont::GetThisClass()\n4667 CRuntime* CFontDialog::GetThisClass()\n4668 CRuntime* CFormView::GetThisClass()\n4669 CRuntime* CFrameWnd::GetThisClass()\n4670 CRuntime* CFtpConnection::GetThisClass()\n4671 CRuntime* CFtpFileFind::GetThisClass()\n4672 CRuntime* CGdiObject::GetThisClass()\n4673 CRuntime* CGopherConnection::GetThisClass()\n4674 CRuntime* CGopherFile::GetThisClass()\n4675 CRuntime* CGopherFileFind::GetThisClass()\n4676 CRuntime* CHeaderCtrl::GetThisClass()\n4677 CRuntime* CHotKeyCtrl::GetThisClass()\n4678 CRuntime* CHtmlEditDoc::GetThisClass()\n4679 CRuntime* CHtmlEditView::GetThisClass()\n4680 CRuntime* CHtmlView::GetThisClass()\n4681 CRuntime* CHttpConnection::GetThisClass()\n4682 CRuntime* CHttpFile::GetThisClass()\n4683 CRuntime* CImageList::GetThisClass()\n4684 CRuntime* CInternetConnection::GetThisClass()\n4685 CRuntime* CInternetException::GetThisClass()\n4686 CRuntime* CInternetFile::GetThisClass()\n4687 CRuntime* CInternetSession::GetThisClass()\n4688 CRuntime* CIPAddressCtrl::GetThisClass()\n4689 CRuntime* CLinkCtrl::GetThisClass()\n4690 CRuntime* CListBox::GetThisClass()\n4691 CRuntime* CListCtrl::GetThisClass()\n4692 CRuntime* CListView::GetThisClass()\n4693 CRuntime* CLongBinary::GetThisClass()\n4694 CRuntime* CMapPtrToPtr::GetThisClass()\n4695 CRuntime* CMapPtrToWord::GetThisClass()\n4696 CRuntime* CMapStringToOb::GetThisClass()\n4697 CRuntime* CMapStringToPtr::GetThisClass()\n4698 CRuntime* CMapStringToString::GetThisClass()\n4699 CRuntime* CMapWordToOb::GetThisClass()\n4700 CRuntime* CMapWordToPtr::GetThisClass()\n4701 CRuntime* CMDIChildWnd::GetThisClass()\n4702 CRuntime* CMDIFrameWnd::GetThisClass()\n4703 CRuntime* CMemFile::GetThisClass()\n4704 CRuntime* CMemoryException::GetThisClass()\n4705 CRuntime* CMenu::GetThisClass()\n4706 CRuntime* CMetaFileDC::GetThisClass()\n4707 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4708 CRuntime* CMiniFrameWnd::GetThisClass()\n4709 CRuntime* CMonikerFile::GetThisClass()\n4710 CRuntime* CMonthCalCtrl::GetThisClass()\n4711 CRuntime* CMultiDocTemplate::GetThisClass()\n4712 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4713 CRuntime* CMutex::GetThisClass()\n4714 CRuntime* CNotSupportedException::GetThisClass()\n4715 CRuntime* CObArray::GetThisClass()\n4716 CRuntime* CObject::GetThisClass()\n4717 CRuntime* CObList::GetThisClass()\n4718 CRuntime* COleBusyDialog::GetThisClass()\n4719 CRuntime* COleChangeIconDialog::GetThisClass()\n4720 CRuntime* COleChangeSourceDialog::GetThisClass()\n4721 CRuntime* COleClientItem::GetThisClass()\n4722 CRuntime* COleControl::GetThisClass()\n4723 CRuntime* COleControlModule::GetThisClass()\n4724 CRuntime* COleConvertDialog::GetThisClass()\n4725 CRuntime* COleDBRecordView::GetThisClass()\n4726 CRuntime* COleDialog::GetThisClass()\n4727 CRuntime* COleDispatchException::GetThisClass()\n4728 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4729 CRuntime* COleDocObjectItem::GetThisClass()\n4730 CRuntime* COleDocument::GetThisClass()\n4731 CRuntime* COleException::GetThisClass()\n4732 CRuntime* COleInsertDialog::GetThisClass()\n4733 CRuntime* COleIPFrameWnd::GetThisClass()\n4734 CRuntime* COleLinkingDoc::GetThisClass()\n4735 CRuntime* COleLinksDialog::GetThisClass()\n4736 CRuntime* COleObjectFactory::GetThisClass()\n4737 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4738 CRuntime* COlePropertiesDialog::GetThisClass()\n4739 CRuntime* COlePropertyPage::GetThisClass()\n4740 CRuntime* COleResizeBar::GetThisClass()\n4741 CRuntime* COleServerDoc::GetThisClass()\n4742 CRuntime* COleServerItem::GetThisClass()\n4743 CRuntime* COleStreamFile::GetThisClass()\n4744 CRuntime* COleUpdateDialog::GetThisClass()\n4745 CRuntime* CPageSetupDialog::GetThisClass()\n4746 CRuntime* CPaintDC::GetThisClass()\n4747 CRuntime* CPalette::GetThisClass()\n4748 CRuntime* CPen::GetThisClass()\n4749 CRuntime* CPreviewDC::GetThisClass()\n4750 CRuntime* CPreviewView::GetThisClass()\n4751 CRuntime* CPrintDialog::GetThisClass()\n4752 CRuntime* CPrintDialogEx::GetThisClass()\n4753 CRuntime* CProgressCtrl::GetThisClass()\n4754 CRuntime* CPropertyPage::GetThisClass()\n4755 CRuntime* CPropertySheet::GetThisClass()\n4756 CRuntime* CPtrArray::GetThisClass()\n4757 CRuntime* CPtrList::GetThisClass()\n4758 CRuntime* CReBar::GetThisClass()\n4759 CRuntime* CReBarCtrl::GetThisClass()\n4760 CRuntime* CRecordset::GetThisClass()\n4761 CRuntime* CRecordView::GetThisClass()\n4762 CRuntime* CResourceException::GetThisClass()\n4763 CRuntime* CRgn::GetThisClass()\n4764 CRuntime* CRichEditCntrItem::GetThisClass()\n4765 CRuntime* CRichEditCtrl::GetThisClass()\n4766 CRuntime* CRichEditDoc::GetThisClass()\n4767 CRuntime* CRichEditView::GetThisClass()\n4768 CRuntime* CScrollBar::GetThisClass()\n4769 CRuntime* CScrollView::GetThisClass()\n4770 CRuntime* CSemaphore::GetThisClass()\n4771 CRuntime* CSharedFile::GetThisClass()\n4772 CRuntime* CSingleDocTemplate::GetThisClass()\n4773 CRuntime* CSliderCtrl::GetThisClass()\n4774 CRuntime* CSocket::GetThisClass()\n4775 CRuntime* CSocketFile::GetThisClass()\n4776 CRuntime* CSpinButtonCtrl::GetThisClass()\n4777 CRuntime* CSplitterWnd::GetThisClass()\n4778 CRuntime* CStatic::GetThisClass()\n4779 CRuntime* CStatusBar::GetThisClass()\n4780 CRuntime* CStatusBarCtrl::GetThisClass()\n4781 CRuntime* CStdioFile::GetThisClass()\n4782 CRuntime* CStringArray::GetThisClass()\n4783 CRuntime* CStringList::GetThisClass()\n4784 CRuntime* CSyncObject::GetThisClass()\n4785 CRuntime* CTabCtrl::GetThisClass()\n4786 CRuntime* CToolBar::GetThisClass()\n4787 CRuntime* CToolBarCtrl::GetThisClass()\n4788 CRuntime* CToolTipCtrl::GetThisClass()\n4789 CRuntime* CTreeCtrl::GetThisClass()\n4790 CRuntime* CTreeView::GetThisClass()\n4791 CRuntime* CUIntArray::GetThisClass()\n4792 CRuntime* CUserException::GetThisClass()\n4793 CRuntime* CView::GetThisClass()\n4794 CRuntime* CWinApp::GetThisClass()\n4795 CRuntime* CWindowDC::GetThisClass()\n4796 CRuntime* CWindowlessDC::GetThisClass()\n4797 CRuntime* CWinThread::GetThisClass()\n4798 CRuntime* CWnd::GetThisClass()\n4799 CRuntime* CWordArray::GetThisClass()\n4800 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n4801 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n4802 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n4803 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n4804 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n4805 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n4806 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n4807 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n4808 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n4809 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n4810 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n4811 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n4812 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n4813 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n4814 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n4815 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n4816 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n4817 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n4818 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n4819 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n4820 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n4821 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n4822 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n4823 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n4824 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n4825 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n4826 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n4827 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n4828 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n4829 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n4830 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n4831 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n4832 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n4833 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n4834 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n4835 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n4836 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n4837 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n4838 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n4839 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n4840 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n4841 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n4842 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n4843 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n4844 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n4845 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n4846 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n4847 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n4848 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n4849 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n4850 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n4851 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n4852 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n4853 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n4854 AFX_MSGMAP const * CListView::GetThisMessageMap()\n4855 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n4856 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n4857 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n4858 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n4859 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n4860 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n4861 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n4862 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n4863 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n4864 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n4865 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n4866 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n4867 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n4868 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n4869 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n4870 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n4871 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n4872 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n4873 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n4874 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n4875 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n4876 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n4877 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n4878 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n4879 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n4880 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n4881 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n4882 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n4883 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n4884 AFX_MSGMAP const * CView::GetThisMessageMap()\n4885 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n4886 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n4887 int CWinThread::GetThreadPriority()\n4888 void CSliderCtrl::GetThumbRect(tagRECT *)const \n4889 int CSliderCtrl::GetTic(int)const \n4890 unsigned long * CSliderCtrl::GetTicArray()const \n4891 int CSliderCtrl::GetTicPos(int)const \n4892 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n4893 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n4894 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n4895 unsigned long CToolTipCtrl::GetTipBkColor()const \n4896 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n4897 unsigned long CToolTipCtrl::GetTipTextColor()const \n4898 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetTitle()const \n4899 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFrameWnd::GetTitle()const \n4900 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n4901 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n4902 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n4903 int CHtmlView::GetToolBar()const \n4904 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n4905 int CToolTipCtrl::GetToolCount()const \n4906 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n4907 CToolTipCtrl * CListCtrl::GetToolTips()const \n4908 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n4909 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n4910 CToolTipCtrl * CTabCtrl::GetToolTips()const \n4911 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n4912 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n4913 long CHtmlView::GetTop()const \n4914 int CPrintDialog::GetToPage()const \n4915 unsigned int CPrintInfo::GetToPage()const \n4916 int CComboBox::GetTopIndex()const \n4917 int CListBox::GetTopIndex()const \n4918 int CListCtrl::GetTopIndex()const \n4919 int CHtmlView::GetTopLevelContainer()const \n4920 CFrameWnd * CWnd::GetTopLevelFrame()const \n4921 CWnd * CWnd::GetTopLevelOwner()const \n4922 CWnd * CWnd::GetTopLevelParent()const \n4923 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetToPrefix()\n4924 CWnd * CWnd::GetTopWindow()const \n4925 CSize CScrollView::GetTotalSize()const \n4926 CTreeCtrl & CTreeView::GetTreeCtrl()const \n4927 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n4928 void CRectTracker::GetTrueRect(tagRECT *)const \n4929 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n4930 enum OLE_OBJTYPE COleClientItem::GetType()const \n4931 short CPictureHolder::GetType()\n4932 unsigned long CProperty::GetType()\n4933 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4934 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4935 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4936 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4937 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4938 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4939 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4940 unsigned int CCmdTarget::GetTypeInfoCount()\n4941 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n4942 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n4943 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n4944 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n4945 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n4946 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n4947 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n4948 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n4949 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n4950 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n4951 void COleSafeArray::GetUBound(unsigned long,long *)\n4952 enum _undonameid CRichEditCtrl::GetUndoName()const \n4953 int CWnd::GetUpdateRect(tagRECT *,int)\n4954 int CWnd::GetUpdateRgn(CRgn *,int)\n4955 int CByteArray::GetUpperBound()const \n4956 int CDWordArray::GetUpperBound()const \n4957 int CObArray::GetUpperBound()const \n4958 int CPtrArray::GetUpperBound()const \n4959 int CStringArray::GetUpperBound()const \n4960 int CUIntArray::GetUpperBound()const \n4961 int CWordArray::GetUpperBound()const \n4962 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n4963 long COleControl::XOleObject::GetUserClassID(_GUID *)\n4964 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n4965 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n4966 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n4967 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4968 void COleControl::GetUserType(wchar_t *)\n4969 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4970 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4971 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4972 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4973 void * CMapPtrToPtr::GetValueAt(void *)const \n4974 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n4975 unsigned long CDockState::GetVersion()\n4976 unsigned long CPropExchange::GetVersion()\n4977 CHtmlEditView * CHtmlEditDoc::GetView()const \n4978 CRichEditView * CRichEditDoc::GetView()const \n4979 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n4980 CSize CDC::GetViewportExt()const \n4981 CPoint CDC::GetViewportOrg()const \n4982 int CListCtrl::GetViewRect(tagRECT *)const \n4983 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n4984 int CHtmlView::GetVisible()const \n4985 unsigned int CTreeCtrl::GetVisibleCount()const \n4986 int CFontDialog::GetWeight()const \n4987 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n4988 long CHtmlView::GetWidth()const \n4989 CWnd * CDC::GetWindow()const \n4990 CWnd * CWnd::GetWindow(unsigned int)const \n4991 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4992 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4993 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n4994 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n4995 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n4996 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n4997 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n4998 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n4999 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5000 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5001 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5002 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5003 unsigned long CWnd::GetWindowContextHelpId()const \n5004 CDC * CWnd::GetWindowDC()\n5005 long CWnd::GetWindowedChildCount()\n5006 CSize CDC::GetWindowExt()const \n5007 long CWnd::GetWindowLessChildCount()\n5008 IDropTarget * COleControl::GetWindowlessDropTarget()\n5009 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5010 CPoint CDC::GetWindowOrg()const \n5011 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5012 void CWnd::GetWindowRect(tagRECT *)const \n5013 int CWnd::GetWindowRgn(HRGN__ *)const \n5014 int CWnd::GetWindowTextLengthW()const \n5015 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5016 int CWnd::GetWindowTextW(wchar_t *,int)const \n5017 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5018 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5019 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5020 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5021 long COleDropSource::GiveFeedback(unsigned long)\n5022 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5023 void CHtmlView::GoBack()\n5024 void CHtmlView::GoForward()\n5025 void CHtmlView::GoHome()\n5026 void CHtmlView::GoSearch()\n5027 void CDialog::GotoDlgCtrl(CWnd *)\n5028 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5029 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5030 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5031 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5032 void CMemFile::GrowFile(unsigned long)\n5033 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5034 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5035 long CDialog::HandleInitDialog(unsigned int,long)\n5036 long CDialogBar::HandleInitDialog(unsigned int,long)\n5037 long CFormView::HandleInitDialog(unsigned int,long)\n5038 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5039 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5040 long CScrollView::HandleMButtonDown(unsigned int,long)\n5041 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5042 int COleControlContainer::HandleSetFocus()\n5043 long CDialog::HandleSetFont(unsigned int,long)\n5044 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5045 long COleControl::XPersistStorage::HandsOffStorage()\n5046 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5047 int COleDocument::HasBlankItems()const \n5048 int CComboBoxEx::HasEditChanged()\n5049 int CDialogTemplate::HasFont()const \n5050 unsigned int HashKey(tagVARIANT const &)\n5051 unsigned int HashKey(wchar_t const *)\n5052 unsigned int HashKey(char const *)\n5053 unsigned int HashKey(ATL::CComBSTR)\n5054 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5055 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n5056 void * CFile::hFileNull\n5057 void CWinApp::HideApplication()\n5058 int CToolBarCtrl::HideButton(int,int)\n5059 void CWnd::HideCaret()\n5060 void CFileDialog::HideControl(int)\n5061 void CRichEditCtrl::HideSelection(int,int)\n5062 long CBrowserControlSite::HideUI()\n5063 long CDHtmlDialog::HideUI()\n5064 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5065 int CTabCtrl::HighlightItem(int,int)\n5066 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5067 void CDC::HIMETRICtoDP(tagSIZE *)const \n5068 void CDC::HIMETRICtoLP(tagSIZE *)const \n5069 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5070 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5071 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5072 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5073 int CRectTracker::HitTest(CPoint)const \n5074 int CSplitterWnd::HitTest(CPoint)const \n5075 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5076 int CToolBarCtrl::HitTest(tagPOINT *)const \n5077 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n5078 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5079 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5080 int CRectTracker::HitTestHandles(CPoint)const \n5081 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n5082 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n5083 int CSplitterWnd::IdFromRowCol(int,int)const \n5084 int CReBarCtrl::IDToIndex(unsigned int)const \n5085 void COlePropertyPage::IgnoreApply(unsigned int)\n5086 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5087 int CToolBarCtrl::Indeterminate(int,int)\n5088 int CCriticalSection::Init()\n5089 int CWinApp::InitApplication()\n5090 long COleControl::XOleCache::InitCache(IDataObject *)\n5091 int CWnd::InitControlContainer()\n5092 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5093 long CPrintDialogEx::InitDone()\n5094 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5095 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5096 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5097 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5098 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5099 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5100 void CMapStringToOb::InitHashTable(unsigned int,int)\n5101 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5102 void CMapStringToString::InitHashTable(unsigned int,int)\n5103 void CMapWordToOb::InitHashTable(unsigned int,int)\n5104 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5105 long CDataSourceControl::Initialize()\n5106 void CDHtmlDialog::Initialize()\n5107 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5108 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5109 int CEditView::InitializeReplace()\n5110 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5111 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5112 int COleControlModule::InitInstance()\n5113 int CWinApp::InitInstance()\n5114 int CWinThread::InitInstance()\n5115 void CWinApp::InitLibId()\n5116 void CDockContext::InitLoop()\n5117 int CDialog::InitModalIndirect(void *,CWnd *)\n5118 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5119 long COleControl::XPersistMemory::InitNew()\n5120 long COleControl::XPersistPropertyBag::InitNew()\n5121 long COleControl::XPersistStorage::InitNew(IStorage *)\n5122 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5123 long COleControl::XPersistStreamInit::InitNew()\n5124 void CRecordset::InitRecord()\n5125 void COleControl::InitStockEventMask()\n5126 void COleControl::InitStockPropMask()\n5127 int CComboBox::InitStorage(int,unsigned int)\n5128 int CListBox::InitStorage(int,unsigned int)\n5129 void CSimpleException::InitString()\n5130 int CFrameWnd::InModalState()const \n5131 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5132 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5133 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5134 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5135 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5136 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5137 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n5138 void CByteArray::InsertAt(int,unsigned char,int)\n5139 void CByteArray::InsertAt(int,CByteArray *)\n5140 void CDWordArray::InsertAt(int,unsigned long,int)\n5141 void CDWordArray::InsertAt(int,CDWordArray *)\n5142 void CObArray::InsertAt(int,CObArray *)\n5143 void CObArray::InsertAt(int,CObject *,int)\n5144 void CPtrArray::InsertAt(int,CPtrArray *)\n5145 void CPtrArray::InsertAt(int,void *,int)\n5146 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n5147 void CStringArray::InsertAt(int,CStringArray *)\n5148 void CStringArray::InsertAt(int,wchar_t const *,int)\n5149 void CUIntArray::InsertAt(int,unsigned int,int)\n5150 void CUIntArray::InsertAt(int,CUIntArray *)\n5151 void CWordArray::InsertAt(int,unsigned short,int)\n5152 void CWordArray::InsertAt(int,CWordArray *)\n5153 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOW *)\n5154 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5155 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5156 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5157 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n5158 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5159 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n5160 int CListCtrl::InsertColumn(int,tagLVCOLUMNW const *)\n5161 void CStringArray::InsertEmpty(int,int)\n5162 void CRichEditView::InsertFileAsObject(wchar_t const *)\n5163 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n5164 int CHeaderCtrl::InsertItem(int,_HD_ITEMW *)\n5165 int CListCtrl::InsertItem(int,wchar_t const *)\n5166 int CListCtrl::InsertItem(int,wchar_t const *,int)\n5167 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n5168 int CListCtrl::InsertItem(tagLVITEMW const *)\n5169 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5170 long CTabCtrl::InsertItem(int,tagTCITEMW *)\n5171 long CTabCtrl::InsertItem(int,wchar_t const *)\n5172 long CTabCtrl::InsertItem(int,wchar_t const *,int)\n5173 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n5174 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n5175 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5176 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTW *)\n5177 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,int,int,_TREEITEM *,_TREEITEM *)\n5178 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,_TREEITEM *,_TREEITEM *)\n5179 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5180 int CMenu::InsertMenuItemW(unsigned int,tagMENUITEMINFOW *,int)\n5181 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5182 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5183 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5184 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5185 int CComboBox::InsertString(int,wchar_t const *)\n5186 int CComboBoxEx::InsertString(int,wchar_t const *)\n5187 int CListBox::InsertString(int,wchar_t const *)\n5188 unsigned long CCmdTarget::InternalAddRef()\n5189 CFontHolder & COleControl::InternalGetFont()\n5190 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n5191 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5192 unsigned long CCmdTarget::InternalRelease()\n5193 void COleControl::InternalSetReadyState(long)\n5194 int CDC::IntersectClipRect(int,int,int,int)\n5195 int CDC::IntersectClipRect(tagRECT const *)\n5196 void CWnd::Invalidate(int)\n5197 void CCheckListBox::InvalidateCheck(int)\n5198 void COleControl::InvalidateControl(tagRECT const *,int)\n5199 void CCheckListBox::InvalidateItem(int)\n5200 void CRichEditDoc::InvalidateObjectCache()\n5201 void CWnd::InvalidateRect(tagRECT const *,int)\n5202 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5203 void COleControl::InvalidateRgn(CRgn *,int)\n5204 void CWnd::InvalidateRgn(CRgn *,int)\n5205 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5206 void CDC::InvertRect(tagRECT const *)\n5207 int CDC::InvertRgn(CRgn *)\n5208 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5209 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5210 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5211 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5212 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5213 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5214 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5215 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5216 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5217 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5218 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5219 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5220 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5221 int CAsyncSocket::IOCtl(long,unsigned long *)\n5222 int CFileFind::IsArchived()const \n5223 int CPropExchange::IsAsynchronous()\n5224 int CDocItem::IsBlank()const \n5225 int CIPAddressCtrl::IsBlank()const \n5226 int COleServerItem::IsBlank()const \n5227 int CSocket::IsBlocking()\n5228 int CRecordset::IsBOF()const \n5229 int CFontDialog::IsBold()const \n5230 int CArchive::IsBufferEmpty()const \n5231 int CToolBarCtrl::IsButtonChecked(int)const \n5232 int CPropertyPage::IsButtonEnabled(int)\n5233 int CToolBarCtrl::IsButtonEnabled(int)const \n5234 int CToolBarCtrl::IsButtonHidden(int)const \n5235 int CToolBarCtrl::IsButtonHighlighted(int)const \n5236 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5237 int CToolBarCtrl::IsButtonPressed(int)const \n5238 int CArchive::IsByteSwapping()const \n5239 int CWnd::IsChild(CWnd const *)const \n5240 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5241 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5242 int CFileFind::IsCompressed()const \n5243 int COleServerItem::IsConnected()const \n5244 int COleControl::IsConvertingVBX()\n5245 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5246 int COleControlSite::IsDefaultButton()\n5247 int CRecordset::IsDeleted()const \n5248 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5249 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n5250 int CWnd::IsDialogMessageW(tagMSG *)\n5251 int CFileFind::IsDirectory()const \n5252 long CBlobProperty::IsDirty()\n5253 long COleLinkingDoc::XPersistFile::IsDirty()\n5254 long COleControl::XPersistMemory::IsDirty()\n5255 long COleControl::XPersistStorage::IsDirty()\n5256 long COleServerDoc::XPersistStorage::IsDirty()\n5257 long COleControl::XPersistStreamInit::IsDirty()\n5258 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5259 unsigned int CWnd::IsDlgButtonChecked(int)const \n5260 int CControlBar::IsDockBar()const \n5261 int CDockBar::IsDockBar()const \n5262 int COleServerDoc::IsDocObject()const \n5263 int CFileFind::IsDots()const \n5264 int CGopherFileFind::IsDots()const \n5265 int COleServerDoc::IsEmbedded()const \n5266 int CByteArray::IsEmpty()const \n5267 int CDWordArray::IsEmpty()const \n5268 int CMapPtrToPtr::IsEmpty()const \n5269 int CMapPtrToWord::IsEmpty()const \n5270 int CMapStringToOb::IsEmpty()const \n5271 int CMapStringToPtr::IsEmpty()const \n5272 int CMapStringToString::IsEmpty()const \n5273 int CMapWordToOb::IsEmpty()const \n5274 int CMapWordToPtr::IsEmpty()const \n5275 int CObArray::IsEmpty()const \n5276 int CObList::IsEmpty()const \n5277 int CPtrArray::IsEmpty()const \n5278 int CPtrList::IsEmpty()const \n5279 int CStringArray::IsEmpty()const \n5280 int CStringList::IsEmpty()const \n5281 int CUIntArray::IsEmpty()const \n5282 int CWordArray::IsEmpty()const \n5283 int CCheckListBox::IsEnabled(int)\n5284 int CRecordset::IsEOF()const \n5285 int CDHtmlDialog::IsExternalDispatchSafe()\n5286 int CRecordset::IsFieldDirty(void *)\n5287 int CRecordset::IsFieldNull(void *)\n5288 int CRecordset::IsFieldNullable(void *)\n5289 int CRecordset::IsFieldNullable(unsigned long)const \n5290 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5291 int CRecordset::IsFieldStatusNull(unsigned long)const \n5292 int CFieldExchange::IsFieldType(unsigned int *)\n5293 int CControlBar::IsFloating()const \n5294 int CFrameWnd::IsFrameWnd()const \n5295 int CWnd::IsFrameWnd()const \n5296 int IsHelpKey(tagMSG *)\n5297 int CFileFind::IsHidden()const \n5298 int CWnd::IsIconic()const \n5299 int CWinThread::IsIdleMessage(tagMSG *)\n5300 int COleClientItem::IsInPlaceActive()const \n5301 int COleServerDoc::IsInPlaceActive()const \n5302 int CCmdTarget::IsInvokeAllowed(long)\n5303 int COleControl::IsInvokeAllowed(long)\n5304 int CFontDialog::IsItalic()const \n5305 int CRecordset::IsJoin(wchar_t const *)\n5306 int CObject::IsKindOf(CRuntimeconst *)const \n5307 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5308 int COccManager::IsLabelControl(CWnd *)\n5309 int COleObjectFactory::IsLicenseValid()\n5310 int COleServerItem::IsLinkedItem()const \n5311 int COleClientItem::IsLinkUpToDate()const \n5312 int CArchive::IsLoading()const \n5313 int CPropExchange::IsLoading()\n5314 int CMultiLock::IsLocked(unsigned long)\n5315 int CSingleLock::IsLocked()\n5316 int CRichEditCntrItem::IsMarked()\n5317 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5318 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5319 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5320 int CDocument::IsModified()\n5321 int CHtmlEditDoc::IsModified()\n5322 int COleClientItem::IsModified()const \n5323 int COleControl::IsModified()\n5324 int COlePropertyPage::IsModified()\n5325 int CRichEditDoc::IsModified()\n5326 int CFileFind::IsNormal()const \n5327 int CRecordView::IsOnFirstRecord()\n5328 int CRecordView::IsOnLastRecord()\n5329 int CDatabase::IsOpen()const \n5330 int COleClientItem::IsOpen()const \n5331 int CRecordset::IsOpen()const \n5332 int COleControl::IsOptimizedDraw()\n5333 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5334 int CRecordset::IsParamStatusNull(unsigned long)const \n5335 int CDC::IsPrinting()const \n5336 int CFileFind::IsReadOnly()const \n5337 int CRecordset::IsRecordsetUpdatable()\n5338 int COleObjectFactory::IsRegistered()const \n5339 int CCmdTarget::IsResultExpected()\n5340 int CRichEditView::IsRichEditFormat(unsigned short)\n5341 int COleClientItem::IsRunning()const \n5342 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5343 int CRichEditView::IsSelected(CObject const *)const \n5344 int CView::IsSelected(CObject const *)const \n5345 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n5346 int CObject::IsSerializable()const \n5347 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5348 int CStatusBarCtrl::IsSimple()const \n5349 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5350 int CRecordset::IsSQLUpdatable(wchar_t const *)\n5351 int CArchive::IsStoring()const \n5352 int CFontDialog::IsStrikeOut()const \n5353 int COleControl::IsSubclassedControl()\n5354 int CFileFind::IsSystem()const \n5355 int CFileFind::IsTemporary()const \n5356 int CFindReplaceDialog::IsTerminating()const \n5357 int CWnd::IsTopParentActive()const \n5358 int CFrameWnd::IsTracking()const \n5359 int CSplitterWnd::IsTracking()\n5360 int CFontDialog::IsUnderline()const \n5361 long CDocObjectServer::XOleObject::IsUpToDate()\n5362 long COleControl::XOleObject::IsUpToDate()\n5363 long COleServerDoc::XOleObject::IsUpToDate()\n5364 long COleServerItem::XOleObject::IsUpToDate()\n5365 int COleChangeSourceDialog::IsValidSource()\n5366 int CControlBar::IsVisible()const \n5367 int COleControlSite::IsWindowEnabled()const \n5368 int CWnd::IsWindowEnabled()const \n5369 int CWnd::IsWindowVisible()const \n5370 int CPropertySheet::IsWizard()const \n5371 int CWnd::IsZoomed()const \n5372 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5373 int CDragListBox::ItemFromPt(CPoint,int)const \n5374 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5375 void COleControl::KeyDown(unsigned short *)\n5376 void COleControl::KeyUp(unsigned short *)\n5377 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5378 int CWnd::KillTimer(unsigned int)\n5379 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5380 void CToolBar::Layout()\n5381 int CComboBox::LimitText(int)\n5382 void CEdit::LimitText(int)\n5383 void CRichEditCtrl::LimitText(long)\n5384 int CEdit::LineFromChar(int)const \n5385 long CRichEditCtrl::LineFromChar(long)const \n5386 int CEdit::LineIndex(int)const \n5387 int CRichEditCtrl::LineIndex(int)const \n5388 int CEdit::LineLength(int)const \n5389 int CRichEditCtrl::LineLength(int)const \n5390 void CEdit::LineScroll(int,int)\n5391 void CRichEditCtrl::LineScroll(int,int)\n5392 int CDC::LineTo(int,int)\n5393 int CDC::LineTo(tagPOINT)\n5394 int CAsyncSocket::Listen(int)\n5395 unsigned long CRichEditView::lMaxSize\n5396 long CBlobProperty::Load(IStream *)\n5397 int CDialogTemplate::Load(wchar_t const *)\n5398 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n5399 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5400 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5401 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5402 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5403 long COleControl::XPersistStorage::Load(IStorage *)\n5404 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5405 long COleControl::XPersistStreamInit::Load(IStream *)\n5406 int CFrameWnd::LoadAccelTable(wchar_t const *)\n5407 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5408 void CFrameWnd::LoadBarState(wchar_t const *)\n5409 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5410 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n5411 int CBitmap::LoadBitmapW(unsigned int)\n5412 int CBitmap::LoadBitmapW(wchar_t const *)\n5413 int CToolBar::LoadBitmapW(unsigned int)\n5414 int CToolBar::LoadBitmapW(wchar_t const *)\n5415 HICON__ * CWinApp::LoadCursorW(unsigned int)const \n5416 HICON__ * CWinApp::LoadCursorW(wchar_t const *)const \n5417 void CRecordset::LoadFields()\n5418 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5419 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5420 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5421 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5422 int CDHtmlDialog::LoadFromResource(unsigned int)\n5423 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n5424 int CHtmlView::LoadFromResource(unsigned int)\n5425 int CHtmlView::LoadFromResource(wchar_t const *)\n5426 void COleDocument::LoadFromStorage()\n5427 HICON__ * CWinApp::LoadIconW(unsigned int)const \n5428 HICON__ * CWinApp::LoadIconW(wchar_t const *)const \n5429 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5430 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5431 int CMenu::LoadMenuIndirectW(void const *)\n5432 int CMenu::LoadMenuW(unsigned int)\n5433 int CMenu::LoadMenuW(wchar_t const *)\n5434 int CBitmap::LoadOEMBitmap(unsigned int)\n5435 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5436 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5437 HICON__ * CWinApp::LoadStandardCursor(wchar_t const *)const \n5438 HICON__ * CWinApp::LoadStandardIcon(wchar_t const *)const \n5439 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n5440 void CDockState::LoadState(wchar_t const *)\n5441 long COleControl::LoadState(IStream *)\n5442 void CWinApp::LoadStdProfileSettings(unsigned int)\n5443 int CWinApp::LoadSysPolicies()\n5444 void CDocTemplate::LoadTemplate()\n5445 void CMultiDocTemplate::LoadTemplate()\n5446 int CToolBar::LoadToolBar(unsigned int)\n5447 int CToolBar::LoadToolBar(wchar_t const *)\n5448 int CCriticalSection::Lock()\n5449 int CCriticalSection::Lock(unsigned long)\n5450 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5451 void COleSafeArray::Lock()\n5452 int CSingleLock::Lock(unsigned long)\n5453 int CSyncObject::Lock(unsigned long)\n5454 void CTypeLibCache::Lock()\n5455 wchar_t const * CEditView::LockBuffer()const \n5456 long COleControlContainer::XOleContainer::LockContainer(int)\n5457 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5458 void COleLinkingDoc::LockExternal(int,int)\n5459 int COleControl::LockInPlaceActive(int)\n5460 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5461 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5462 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5463 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5464 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5465 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5466 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5467 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5468 long COleObjectFactory::XClassFactory::LockServer(int)\n5469 int CWnd::LockWindowUpdate()\n5470 int CMapPtrToPtr::Lookup(void *,void * &)const \n5471 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5472 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n5473 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n5474 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5475 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5476 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5477 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5478 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5479 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5480 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5481 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n5482 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n5483 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n5484 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5485 void CDC::LPtoDP(tagPOINT *,int)const \n5486 void CDC::LPtoDP(tagRECT *)const \n5487 void CDC::LPtoDP(tagSIZE *)const \n5488 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5489 int CToolBarCtrl::MapAccelerator(wchar_t,unsigned int *)\n5490 void CDialog::MapDialogRect(tagRECT *)const \n5491 void CPropertySheet::MapDialogRect(tagRECT *)const \n5492 void CArchive::MapObject(CObject const *)\n5493 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5494 int COleDialog::MapResult(unsigned int)\n5495 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5496 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5497 long CPropertyPage::MapWizardResult(long)\n5498 void CRichEditCntrItem::Mark(int)\n5499 int CToolBarCtrl::MarkButton(int,int)\n5500 void CRecordset::MarkForAddNew()\n5501 void CRecordset::MarkForUpdate()\n5502 void CRichEditDoc::MarkItemsClear()const \n5503 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5504 int CFindReplaceDialog::MatchCase()const \n5505 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n5506 int CFileFind::MatchesMask(unsigned long)const \n5507 int CFindReplaceDialog::MatchWholeWord()const \n5508 void CReBarCtrl::MaximizeBand(unsigned int)\n5509 void CMDIChildWnd::MDIActivate()\n5510 void CMDIFrameWnd::MDIActivate(CWnd *)\n5511 void CMDIFrameWnd::MDICascade(int)\n5512 void CMDIFrameWnd::MDICascade()\n5513 void CMDIChildWnd::MDIDestroy()\n5514 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5515 void CMDIFrameWnd::MDIIconArrange()\n5516 void CMDIChildWnd::MDIMaximize()\n5517 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5518 void CMDIFrameWnd::MDINext()\n5519 void CMDIFrameWnd::MDIPrev()\n5520 void CMDIChildWnd::MDIRestore()\n5521 void CMDIFrameWnd::MDIRestore(CWnd *)\n5522 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5523 void CMDIFrameWnd::MDITile(int)\n5524 void CMDIFrameWnd::MDITile()\n5525 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5526 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5527 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5528 void CListBox::MeasureItem(tagMEASUREITEM*)\n5529 void CMenu::MeasureItem(tagMEASUREITEM*)\n5530 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n5531 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5532 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5533 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5534 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5535 void CReBarCtrl::MinimizeBand(unsigned int)\n5536 void CPreviewDC::MirrorAttributes()\n5537 void CPreviewDC::MirrorFont()\n5538 void CPreviewDC::MirrorMappingMode(int)\n5539 void CPreviewDC::MirrorViewportOrg()\n5540 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5541 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5542 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5543 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5544 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5545 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5546 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5547 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5548 void CDockContext::Move(CPoint)\n5549 void CRecordset::Move(long,unsigned short)\n5550 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5551 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5552 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5553 void CRecordset::MoveFirst()\n5554 void CRecordset::MoveLast()\n5555 void CRecordset::MoveNext()\n5556 void CRecordset::MovePrev()\n5557 CPoint CDC::MoveTo(int,int)\n5558 CPoint CDC::MoveTo(tagPOINT)\n5559 void COleControlSite::MoveWindow(int,int,int,int)\n5560 void CWnd::MoveWindow(int,int,int,int,int)\n5561 void CWnd::MoveWindow(tagRECT const *,int)\n5562 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5563 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5564 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n5565 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5566 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n5567 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5568 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5569 unsigned int COleDropSource::nDragDelay\n5570 unsigned int COleDropSource::nDragMinDist\n5571 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5572 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5573 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5574 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5575 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5576 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n5577 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5578 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5579 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5580 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5581 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5582 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5583 void CDialog::NextDlgCtrl()const \n5584 unsigned int const CEditView::nMaxSize\n5585 int CRectTracker::NormalizeHit(int)const \n5586 void CDataBoundProperty::Notify()\n5587 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5588 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5589 void COleServerDoc::NotifyChanged()\n5590 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5591 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5592 void COleServerDoc::NotifyClosed()\n5593 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5594 void COleServerDoc::NotifyRename(wchar_t const *)\n5595 void COleServerDoc::NotifySaved()\n5596 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5597 unsigned int COleDropTarget::nScrollDelay\n5598 int COleDropTarget::nScrollInset\n5599 unsigned int COleDropTarget::nScrollInterval\n5600 int CDC::OffsetClipRgn(int,int)\n5601 int CDC::OffsetClipRgn(tagSIZE)\n5602 int CProgressCtrl::OffsetPos(int)\n5603 int CRgn::OffsetRgn(int,int)\n5604 int CRgn::OffsetRgn(tagPOINT)\n5605 CPoint CDC::OffsetViewportOrg(int,int)\n5606 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5607 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5608 CPoint CDC::OffsetWindowOrg(int,int)\n5609 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5610 void CAsyncSocket::OnAccept(int)\n5611 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5612 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5613 void COleClientItem::OnActivate()\n5614 void COleFrameHook::OnActivate(int)\n5615 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5616 void CWnd::OnActivateApp(int,unsigned long)\n5617 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5618 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5619 long COleControl::OnActivateInPlace(int,tagMSG *)\n5620 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5621 long CWnd::OnActivateTopLevel(unsigned int,long)\n5622 void COleClientItem::OnActivateUI()\n5623 long CDocObjectServer::OnActivateView()\n5624 void CFormView::OnActivateView(int,CView *,CView *)\n5625 void CPreviewView::OnActivateView(int,CView *,CView *)\n5626 void CRichEditView::OnActivateView(int,CView *,CView *)\n5627 void CView::OnActivateView(int,CView *,CView *)\n5628 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5629 void CConnectionPoint::OnAdvise(int)\n5630 void COleControl::XEventConnPt::OnAdvise(int)\n5631 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5632 void COleControl::OnAmbientPropertyChange(long)\n5633 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5634 void COleControl::OnAppearanceChanged()\n5635 void CWinApp::OnAppExit()\n5636 int CPropertyPage::OnApply()\n5637 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5638 void CDocObjectServer::OnApplyViewState(CArchive &)\n5639 void CWnd::OnAskCbFormatName(unsigned int,wchar_t *)\n5640 void COleControl::OnBackColorChanged()\n5641 int CFrameWnd::OnBarCheck(unsigned int)\n5642 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5643 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5644 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5645 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5646 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n5647 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n5648 int COleDropSource::OnBeginDrag(CWnd *)\n5649 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5650 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5651 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5652 void COleControl::OnBorderStyleChanged()\n5653 void CRichEditView::OnBullet()\n5654 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5655 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5656 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5657 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5658 void CCommonDialog::OnCancel()\n5659 void CDialog::OnCancel()\n5660 void CPropertyPage::OnCancel()\n5661 void CRichEditView::OnCancelEditCntr()\n5662 void COleControl::OnCancelMode()\n5663 void CSplitterWnd::OnCancelMode()\n5664 void CWnd::OnCancelMode()\n5665 void CWnd::OnCaptureChanged(CWnd *)\n5666 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5667 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5668 long COleControl::XFontNotification::OnChanged(long)\n5669 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5670 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5671 void CRectTracker::OnChangedRect(CRect const &)\n5672 void CDocument::OnChangedViewList()\n5673 int COleClientItem::OnChangeItemPosition(CRect const &)\n5674 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5675 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5676 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5677 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5678 void CRichEditView::OnCharBold()\n5679 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5680 void CRichEditView::OnCharItalic()\n5681 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5682 void CRichEditView::OnCharUnderline()\n5683 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5684 void CWnd::OnChildActivate()\n5685 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5686 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5687 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5688 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5689 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5690 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5691 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5692 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5693 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5694 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5695 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5696 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5697 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5698 void COleControl::OnClick(unsigned short)\n5699 CEnumArray * CEnumArray::OnClone()\n5700 CEnumArray * CEnumConnections::OnClone()\n5701 void CAsyncSocket::OnClose(int)\n5702 void CControlFrameWnd::OnClose()\n5703 void CFrameWnd::OnClose()\n5704 void CMiniDockFrameWnd::OnClose()\n5705 void COleControl::OnClose(unsigned long)\n5706 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5707 void CPropertySheet::OnClose()\n5708 void CWnd::OnClose()\n5709 void COleClientItem::XAdviseSink::OnClose()\n5710 void CDocObjectServer::OnCloseDocument()\n5711 void CDocument::OnCloseDocument()\n5712 void COleDocument::OnCloseDocument()\n5713 void COleLinkingDoc::OnCloseDocument()\n5714 void COleServerDoc::OnCloseDocument()\n5715 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5716 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5717 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5718 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5719 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5720 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5721 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5722 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5723 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5724 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5725 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5726 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5727 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5728 void CRichEditView::OnColorDefault()\n5729 int CColorDialog::OnColorOK()\n5730 void CRichEditView::OnColorPick(unsigned long)\n5731 int CFrameWnd::OnCommand(unsigned int,long)\n5732 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5733 int COlePropertyPage::OnCommand(unsigned int,long)\n5734 int CPropertySheet::OnCommand(unsigned int,long)\n5735 int CSplitterWnd::OnCommand(unsigned int,long)\n5736 int CWnd::OnCommand(unsigned int,long)\n5737 long CDialog::OnCommandHelp(unsigned int,long)\n5738 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5739 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5740 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5741 void CHtmlView::OnCommandStateChange(long,int)\n5742 void CWnd::OnCompacting(unsigned int)\n5743 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5744 void CAsyncSocket::OnConnect(int)\n5745 void CFrameWnd::OnContextHelp()\n5746 int COleFrameHook::OnContextHelp(int)\n5747 void COleIPFrameWnd::OnContextHelp()\n5748 void CWinApp::OnContextHelp()\n5749 void CWnd::OnContextMenu(CWnd *,CPoint)\n5750 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5751 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5752 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n5753 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n5754 int CEditView::OnCreate(tagCREATESTRUCTW *)\n5755 int CFormView::OnCreate(tagCREATESTRUCTW *)\n5756 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5757 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n5758 int COleControl::OnCreate(tagCREATESTRUCTW *)\n5759 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5760 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n5761 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n5762 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n5763 int CView::OnCreate(tagCREATESTRUCTW *)\n5764 int CWnd::OnCreate(tagCREATESTRUCTW *)\n5765 int CCmdTarget::OnCreateAggregates()\n5766 int COleControl::OnCreateAggregates()\n5767 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5768 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5769 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n5770 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n5771 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n5772 CCmdTarget * COleObjectFactory::OnCreateObject()\n5773 CCmdTarget * COleTemplateServer::OnCreateObject()\n5774 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n5775 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n5776 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n5777 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n5778 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n5779 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n5780 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n5781 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n5782 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n5783 int CDocManager::OnDDECommand(wchar_t *)\n5784 int CWinApp::OnDDECommand(wchar_t *)\n5785 long CFrameWnd::OnDDEExecute(unsigned int,long)\n5786 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n5787 long CFrameWnd::OnDDETerminate(unsigned int,long)\n5788 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n5789 void COleClientItem::OnDeactivate()\n5790 void COleServerDoc::OnDeactivate()\n5791 void COleClientItem::OnDeactivateAndUndo()\n5792 void COleClientItem::OnDeactivateUI(int)\n5793 void COleServerDoc::OnDeactivateUI(int)\n5794 void CRichEditCntrItem::OnDeactivateUI(int)\n5795 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n5796 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n5797 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n5798 void CControlBar::OnDestroy()\n5799 void CDHtmlDialog::OnDestroy()\n5800 void CEditView::OnDestroy()\n5801 void CFrameWnd::OnDestroy()\n5802 void CHtmlView::OnDestroy()\n5803 void CMDIChildWnd::OnDestroy()\n5804 void CMDIFrameWnd::OnDestroy()\n5805 void COleControl::OnDestroy()\n5806 void COleIPFrameWnd::OnDestroy()\n5807 void CRichEditView::OnDestroy()\n5808 void CTabCtrl::OnDestroy()\n5809 void CTreeCtrl::OnDestroy()\n5810 void CTreeView::OnDestroy()\n5811 void CView::OnDestroy()\n5812 void CWnd::OnDestroy()\n5813 void CWnd::OnDestroyClipboard()\n5814 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n5815 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n5816 void CRichEditView::OnDevModeChange(wchar_t *)\n5817 void CWnd::OnDevModeChange(wchar_t *)\n5818 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n5819 void COleClientItem::OnDiscardUndoState()\n5820 void CSplitterWnd::OnDisplayChange()\n5821 long CWnd::OnDisplayChange(unsigned int,long)\n5822 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n5823 int COleFrameHook::OnDocActivate(int)\n5824 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n5825 void CHtmlView::OnDocumentComplete(wchar_t const *)\n5826 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n5827 long CBrowserControlSite::OnDocWindowActivate(int)\n5828 long CDHtmlDialog::OnDocWindowActivate(int)\n5829 long CHtmlView::OnDocWindowActivate(int)\n5830 void COleServerDoc::OnDocWindowActivate(int)\n5831 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n5832 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n5833 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n5834 void CDocObjectServerItem::OnDoVerb(long)\n5835 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n5836 void COleServerItem::OnDoVerb(long)\n5837 void CHtmlView::OnDownloadBegin()\n5838 void CHtmlView::OnDownloadComplete()\n5839 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n5840 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n5841 void COleDropTarget::OnDragLeave(CWnd *)\n5842 void CView::OnDragLeave()\n5843 long CWnd::OnDragList(unsigned int,long)\n5844 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n5845 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n5846 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n5847 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n5848 void CCtrlView::OnDraw(CDC *)\n5849 void CFormView::OnDraw(CDC *)\n5850 void CHtmlView::OnDraw(CDC *)\n5851 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n5852 void CPreviewView::OnDraw(CDC *)\n5853 void CView::OnDraw(CDC *)\n5854 void CWnd::OnDrawClipboard()\n5855 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n5856 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n5857 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n5858 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n5859 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n5860 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n5861 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n5862 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n5863 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n5864 void CFrameWnd::OnDropFiles(HDROP__ *)\n5865 void CRichEditView::OnDropFiles(HDROP__ *)\n5866 void CWnd::OnDropFiles(HDROP__ *)\n5867 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n5868 int CEditView::OnEditChange()\n5869 void COleDocument::OnEditChangeIcon()\n5870 void CEditView::OnEditClear()\n5871 void CRichEditView::OnEditClear()\n5872 void COleDocument::OnEditConvert()\n5873 void CEditView::OnEditCopy()\n5874 void CHtmlView::OnEditCopy()\n5875 void CRichEditView::OnEditCopy()\n5876 void CEditView::OnEditCut()\n5877 void CHtmlView::OnEditCut()\n5878 void CRichEditView::OnEditCut()\n5879 void CEditView::OnEditFind()\n5880 void CRichEditView::OnEditFind()\n5881 void CEditView::OnEditFindReplace(int)\n5882 void CRichEditView::OnEditFindReplace(int)\n5883 void COleDocument::OnEditLinks()\n5884 void CEditView::OnEditPaste()\n5885 void CHtmlView::OnEditPaste()\n5886 void CRichEditView::OnEditPaste()\n5887 void CRichEditView::OnEditPasteSpecial()\n5888 void CRichEditView::OnEditProperties()\n5889 int COlePropertyPage::OnEditProperty(long)\n5890 void CRichEditView::OnEditRedo()\n5891 void CEditView::OnEditRepeat()\n5892 void CRichEditView::OnEditRepeat()\n5893 void CEditView::OnEditReplace()\n5894 void CRichEditView::OnEditReplace()\n5895 void CEditView::OnEditSelectAll()\n5896 void CRichEditView::OnEditSelectAll()\n5897 void CEditView::OnEditUndo()\n5898 void CRichEditView::OnEditUndo()\n5899 void CFrameWnd::OnEnable(int)\n5900 void CToolTipCtrl::OnEnable(int)\n5901 void CWnd::OnEnable(int)\n5902 void COleControl::OnEnabledChanged()\n5903 long CHtmlView::OnEnableModeless(int)\n5904 void COleFrameHook::OnEnableModeless(int)\n5905 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n5906 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n5907 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n5908 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n5909 void CFrameWnd::OnEndSession(int)\n5910 void CWnd::OnEndSession(int)\n5911 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n5912 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n5913 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n5914 void CWnd::OnEnterMenuLoop(int)\n5915 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n5916 int CFrameWnd::OnEraseBkgnd(CDC *)\n5917 int COleControl::OnEraseBkgnd(CDC *)\n5918 int COleResizeBar::OnEraseBkgnd(CDC *)\n5919 int CPreviewView::OnEraseBkgnd(CDC *)\n5920 int CReBar::OnEraseBkgnd(CDC *)\n5921 int CToolBar::OnEraseBkgnd(CDC *)\n5922 int CWnd::OnEraseBkgnd(CDC *)\n5923 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n5924 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n5925 int COleControlSite::OnEvent(AFX_EVENT *)\n5926 void COleControl::OnEventAdvise(int)\n5927 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n5928 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n5929 void CWnd::OnExitMenuLoop(int)\n5930 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n5931 void CDocument::OnFileClose()\n5932 void CFileDialog::OnFileNameChange()\n5933 int CFileDialog::OnFileNameOK()\n5934 void CDocManager::OnFileNew()\n5935 void CWinApp::OnFileNew()\n5936 void CDocManager::OnFileOpen()\n5937 void CWinApp::OnFileOpen()\n5938 void CHtmlView::OnFilePrint()\n5939 void CView::OnFilePrint()\n5940 void CView::OnFilePrintPreview()\n5941 void CWinApp::OnFilePrintSetup()\n5942 void CDocument::OnFileSave()\n5943 void CDocument::OnFileSaveAs()\n5944 void COleServerDoc::OnFileSaveCopyAs()\n5945 void CDocument::OnFileSendMail()\n5946 void COleDocument::OnFileSendMail()\n5947 void COleServerDoc::OnFileUpdate()\n5948 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n5949 void CCmdTarget::OnFinalRelease()\n5950 void CDocument::OnFinalRelease()\n5951 void COleControl::OnFinalRelease()\n5952 void COlePropertyPage::OnFinalRelease()\n5953 void COleServerItem::OnFinalRelease()\n5954 void CWnd::OnFinalRelease()\n5955 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n5956 void CEditView::OnFindNext(wchar_t const *,int,int)\n5957 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n5958 long CEditView::OnFindReplaceCmd(unsigned int,long)\n5959 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n5960 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n5961 long COleControlSite::XOleControlSite::OnFocus(int)\n5962 void CFileDialog::OnFolderChange()\n5963 void CWnd::OnFontChange()\n5964 void COleControl::OnFontChanged()\n5965 void COleControl::OnForeColorChanged()\n5966 void CRichEditView::OnFormatFont()\n5967 void COleControl::OnFrameClose()\n5968 long CBrowserControlSite::OnFrameWindowActivate(int)\n5969 long CDHtmlDialog::OnFrameWindowActivate(int)\n5970 long CHtmlView::OnFrameWindowActivate(int)\n5971 void COleServerDoc::OnFrameWindowActivate(int)\n5972 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n5973 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n5974 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n5975 void COleControl::OnFreezeEvents(int)\n5976 void CHtmlView::OnFullScreen(int)\n5977 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n5978 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n5979 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n5980 void COleClientItem::OnGetClipRect(CRect &)\n5981 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n5982 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n5983 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5984 unsigned int COleControl::OnGetDlgCode()\n5985 unsigned int CWnd::OnGetDlgCode()\n5986 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n5987 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n5988 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n5989 long CHtmlView::OnGetExternal(IDispatch * *)\n5990 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n5991 HMENU__ * COleControl::OnGetInPlaceMenu()\n5992 void COleClientItem::OnGetItemPosition(CRect &)\n5993 void COleDocObjectItem::OnGetItemPosition(CRect &)\n5994 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n5995 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n5996 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n5997 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n5998 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n5999 long CWnd::OnGetObject(unsigned int,long)\n6000 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6001 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6002 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6003 long CStatusBar::OnGetText(unsigned int,long)\n6004 long CStatusBar::OnGetTextLength(unsigned int,long)\n6005 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6006 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6007 unsigned long COleControl::OnGetViewStatus()\n6008 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6009 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6010 void CFrameWnd::OnHelp()\n6011 int COlePropertyPage::OnHelp(wchar_t const *)\n6012 void CWinApp::OnHelp()\n6013 void CWnd::OnHelp()\n6014 void CWinApp::OnHelpFinder()\n6015 void CWnd::OnHelpFinder()\n6016 long CControlBar::OnHelpHitTest(unsigned int,long)\n6017 long CDialog::OnHelpHitTest(unsigned int,long)\n6018 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6019 void CWinApp::OnHelpIndex()\n6020 void CWnd::OnHelpIndex()\n6021 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6022 int CWnd::OnHelpInfo(tagHELPINFO *)\n6023 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6024 void CWinApp::OnHelpUsing()\n6025 void CWnd::OnHelpUsing()\n6026 void CDocObjectServerItem::OnHide()\n6027 long COleControl::OnHide()\n6028 void COleServerItem::OnHide()\n6029 void COleControl::OnHideToolBars()\n6030 long CHtmlView::OnHideUI()\n6031 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6032 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6033 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6034 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6035 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6036 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6037 void CWnd::OnIconEraseBkgnd(CDC *)\n6038 void CDocTemplate::OnIdle()\n6039 void CDocument::OnIdle()\n6040 void COleDocument::OnIdle()\n6041 int CWinApp::OnIdle(long)\n6042 int CWinThread::OnIdle(long)\n6043 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6044 void CFrameWnd::OnIdleUpdateCmdUI()\n6045 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6046 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6047 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6048 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6049 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6050 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6051 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6052 int CDHtmlDialog::OnInitDialog()\n6053 int CDialog::OnInitDialog()\n6054 int COlePropertiesDialog::OnInitDialog()\n6055 int COlePropertyPage::OnInitDialog()\n6056 int CPropertySheet::OnInitDialog()\n6057 void CFileDialog::OnInitDone()\n6058 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6059 void CControlBar::OnInitialUpdate()\n6060 void CFormView::OnInitialUpdate()\n6061 void COleDBRecordView::OnInitialUpdate()\n6062 void CRecordView::OnInitialUpdate()\n6063 void CRichEditView::OnInitialUpdate()\n6064 void CView::OnInitialUpdate()\n6065 void CFrameWnd::OnInitMenu(CMenu *)\n6066 void COleFrameHook::OnInitMenu(CMenu *)\n6067 void CWnd::OnInitMenu(CMenu *)\n6068 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6069 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6070 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6071 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6072 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6073 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6074 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6075 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6076 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6077 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6078 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6079 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6080 void CRichEditView::OnInsertObject()\n6081 void CSplitterWnd::OnInvertTracker(CRect const &)\n6082 void CDockContext::OnKey(int,int)\n6083 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6084 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6085 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6086 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6087 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6088 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6089 void COleControl::OnKeyPressEvent(unsigned short)\n6090 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6091 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6092 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6093 long CPropertySheet::OnKickIdle(unsigned int,long)\n6094 int CPropertyPage::OnKillActive()\n6095 void COleControl::OnKillFocus(CWnd *)\n6096 void CWnd::OnKillFocus(CWnd *)\n6097 long CCheckListBox::OnLBAddString(unsigned int,long)\n6098 long CCheckListBox::OnLBFindString(unsigned int,long)\n6099 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6100 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6101 long CCheckListBox::OnLBGetText(unsigned int,long)\n6102 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6103 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6104 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6105 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6106 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6107 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6108 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6109 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6110 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6111 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6112 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6113 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6114 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6115 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6116 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6117 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6118 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6119 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6120 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6121 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6122 void CAsyncMonikerFile::OnLowResource()\n6123 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6124 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6125 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6126 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6127 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6128 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6129 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6130 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6131 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6132 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6133 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6134 void CHtmlView::OnMenuBar(int)\n6135 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6136 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6137 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6138 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6139 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6140 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6141 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6142 int CSocket::OnMessagePending()\n6143 void COleControl::OnMnemonic(tagMSG *)\n6144 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6145 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6146 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6147 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6148 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6149 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6150 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6151 void COleControl::OnMouseMove(unsigned int,CPoint)\n6152 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6153 void CWnd::OnMouseMove(unsigned int,CPoint)\n6154 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6155 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6156 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6157 void COleControl::OnMove(int,int)\n6158 int COleDBRecordView::OnMove(unsigned int)\n6159 void CRecordView::OnMove(int,int)\n6160 int CRecordView::OnMove(unsigned int)\n6161 void CWnd::OnMove(int,int)\n6162 void CWnd::OnMoving(unsigned int,tagRECT *)\n6163 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6164 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6165 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n6166 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n6167 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n6168 int CFrameWnd::OnNcActivate(int)\n6169 int CMDIChildWnd::OnNcActivate(int)\n6170 int CMiniFrameWnd::OnNcActivate(int)\n6171 int CWnd::OnNcActivate(int)\n6172 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6173 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6174 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6175 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6176 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6177 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6178 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n6179 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n6180 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n6181 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n6182 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n6183 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n6184 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n6185 int CWnd::OnNcCreate(tagCREATESTRUCTW *)\n6186 void CListCtrl::OnNcDestroy()\n6187 void CListView::OnNcDestroy()\n6188 void CWnd::OnNcDestroy()\n6189 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n6190 unsigned int COleControl::OnNcHitTest(CPoint)\n6191 unsigned int CStatusBar::OnNcHitTest(CPoint)\n6192 unsigned int CToolBar::OnNcHitTest(CPoint)\n6193 unsigned int CWnd::OnNcHitTest(CPoint)\n6194 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6195 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6196 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6197 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6198 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6199 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6200 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6201 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6202 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6203 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6204 void CDockBar::OnNcPaint()\n6205 void COleControl::OnNcPaint()\n6206 void CReBar::OnNcPaint()\n6207 void CStatusBar::OnNcPaint()\n6208 void CToolBar::OnNcPaint()\n6209 void CWnd::OnNcPaint()\n6210 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6211 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6212 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6213 int CDocument::OnNewDocument()\n6214 int CHtmlEditDoc::OnNewDocument()\n6215 int COleDocument::OnNewDocument()\n6216 int COleLinkingDoc::OnNewDocument()\n6217 void COleServerDoc::OnNewEmbedding(IStorage *)\n6218 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6219 int CEnumArray::OnNext(void *)\n6220 int CEnumConnections::OnNext(void *)\n6221 int CEnumConnPoints::OnNext(void *)\n6222 int CEnumFormatEtc::OnNext(void *)\n6223 int CEnumOleVerb::OnNext(void *)\n6224 int CEnumUnknown::OnNext(void *)\n6225 void CPreviewView::OnNextPage()\n6226 int CView::OnNextPaneCmd(unsigned int)\n6227 int CFileDialog::OnNotify(unsigned int,long,long *)\n6228 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6229 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6230 int CWnd::OnNotify(unsigned int,long,long *)\n6231 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6232 long CWnd::OnNTCtlColor(unsigned int,long)\n6233 void CPreviewView::OnNumPageChange()\n6234 void COlePropertyPage::OnObjectsChanged()\n6235 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6236 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6237 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6238 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6239 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6240 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6241 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6242 void CCommonDialog::OnOK()\n6243 void CDialog::OnOK()\n6244 void CPropertyPage::OnOK()\n6245 long COleControl::OnOpen(int,tagMSG *)\n6246 void COleServerItem::OnOpen()\n6247 int CDocument::OnOpenDocument(wchar_t const *)\n6248 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n6249 int COleDocument::OnOpenDocument(wchar_t const *)\n6250 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n6251 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6252 int CWinApp::OnOpenRecentFile(unsigned int)\n6253 void CAsyncSocket::OnOutOfBandData(int)\n6254 void CCommonDialog::OnPaint()\n6255 void CControlBar::OnPaint()\n6256 void CCtrlView::OnPaint()\n6257 void CDialog::OnPaint()\n6258 void CDockBar::OnPaint()\n6259 void CHtmlEditView::OnPaint()\n6260 void CHtmlView::OnPaint()\n6261 void COleControl::OnPaint(CDC *)\n6262 int COleControlContainer::OnPaint(CDC *)\n6263 void COleResizeBar::OnPaint()\n6264 void CReBar::OnPaint()\n6265 void CSplitterWnd::OnPaint()\n6266 void CStatusBar::OnPaint()\n6267 void CToolBar::OnPaint()\n6268 void CView::OnPaint()\n6269 void CWnd::OnPaint()\n6270 void CWnd::OnPaintClipboard(CWnd *,void *)\n6271 void CFrameWnd::OnPaletteChanged(CWnd *)\n6272 void COleFrameHook::OnPaletteChanged(CWnd *)\n6273 void CWnd::OnPaletteChanged(CWnd *)\n6274 void CWnd::OnPaletteIsChanging(CWnd *)\n6275 void CRichEditView::OnParaAlign(unsigned short)\n6276 void CRichEditView::OnParaCenter()\n6277 void CRichEditView::OnParaLeft()\n6278 void CRichEditView::OnParaRight()\n6279 void CWnd::OnParentNotify(unsigned int,long)\n6280 int CRichEditView::OnPasteNativeObject(IStorage *)\n6281 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6282 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6283 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6284 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6285 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6286 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6287 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6288 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6289 int CEditView::OnPreparePrinting(CPrintInfo *)\n6290 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6291 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6292 int CView::OnPreparePrinting(CPrintInfo *)\n6293 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6294 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6295 void CPreviewView::OnPreviewClose()\n6296 void CPreviewView::OnPreviewPrint()\n6297 void CPreviewView::OnPrevPage()\n6298 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6299 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6300 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6301 void CView::OnPrint(CDC *,CPrintInfo *)\n6302 void CRichEditView::OnPrinterChanged(CDC const &)\n6303 void CPrintDialog::OnPrintSetup()\n6304 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n6305 void CHtmlView::OnProgressChange(long,long)\n6306 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6307 void CHtmlView::OnPropertyChange(wchar_t const *)\n6308 int CPropertyPage::OnQueryCancel()\n6309 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6310 HICON__ * CWnd::OnQueryDragIcon()\n6311 int CFrameWnd::OnQueryEndSession()\n6312 int CWnd::OnQueryEndSession()\n6313 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6314 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6315 int CFrameWnd::OnQueryNewPalette()\n6316 int COleFrameHook::OnQueryNewPalette()\n6317 int CWnd::OnQueryNewPalette()\n6318 int CWnd::OnQueryOpen()\n6319 unsigned int CWnd::OnQueryUIState()\n6320 int COleServerItem::OnQueryUpdateItems()\n6321 void CHtmlView::OnQuit()\n6322 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6323 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6324 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6325 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6326 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6327 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6328 int COleServerDoc::OnReactivateAndUndo()\n6329 void COleFrameHook::OnRecalcLayout()\n6330 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6331 void CReBar::OnRecalcParent()\n6332 void CAsyncSocket::OnReceive(int)\n6333 void COleControl::OnReflectorDestroyed()\n6334 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6335 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6336 void COleClientItem::OnRemoveMenus(CMenu *)\n6337 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6338 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6339 void CWnd::OnRenderAllFormats()\n6340 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6341 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6342 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6343 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6344 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6345 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6346 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6347 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6348 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6349 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6350 void CWnd::OnRenderFormat(unsigned int)\n6351 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6352 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6353 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6354 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6355 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6356 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n6357 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n6358 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n6359 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n6360 long COleControl::XFontNotification::OnRequestEdit(long)\n6361 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6362 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6363 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6364 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6365 void CEnumArray::OnReset()\n6366 void CPropertyPage::OnReset()\n6367 void COleControl::OnResetState()\n6368 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6369 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6370 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6371 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6372 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6373 void COleClientItem::XAdviseSink::OnSave()\n6374 int CDocument::OnSaveDocument(wchar_t const *)\n6375 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n6376 int COleDocument::OnSaveDocument(wchar_t const *)\n6377 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n6378 int COleServerDoc::OnSaveDocument(wchar_t const *)\n6379 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6380 void COleServerItem::OnSaveEmbedding(IStorage *)\n6381 void CDocObjectServer::OnSaveViewState(CArchive &)\n6382 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6383 int CView::OnScroll(unsigned int,unsigned int,int)\n6384 int COleClientItem::OnScrollBy(CSize)\n6385 int CScrollView::OnScrollBy(CSize,int)\n6386 int CView::OnScrollBy(CSize,int)\n6387 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6388 void CAsyncSocket::OnSend(int)\n6389 int CPropertyPage::OnSetActive()\n6390 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6391 long CToolBar::OnSetButtonSize(unsigned int,long)\n6392 void COleControl::OnSetClientSite()\n6393 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6394 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6395 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6396 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6397 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6398 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6399 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6400 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6401 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6402 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6403 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6404 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6405 long CPropertySheet::OnSetDefID(unsigned int,long)\n6406 int COleControl::OnSetExtent(tagSIZE *)\n6407 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6408 void CFormView::OnSetFocus(CWnd *)\n6409 void CFrameWnd::OnSetFocus(CWnd *)\n6410 void COleControl::OnSetFocus(CWnd *)\n6411 void CWnd::OnSetFocus(CWnd *)\n6412 long CCheckListBox::OnSetFont(unsigned int,long)\n6413 void CDialog::OnSetFont(CFont *)\n6414 long CEditView::OnSetFont(unsigned int,long)\n6415 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n6416 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6417 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6418 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6419 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6420 long COleControl::OnSetMessageString(unsigned int,long)\n6421 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6422 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6423 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6424 void CDatabase::OnSetOptions(void *)\n6425 void CRecordset::OnSetOptions(void *)\n6426 void COlePropertyPage::OnSetPageSite()\n6427 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6428 long CToolBar::OnSetSizeHelper(CSize &,long)\n6429 long COleControl::OnSetText(unsigned int,long)\n6430 long CStatusBar::OnSetText(unsigned int,long)\n6431 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n6432 void CRecordset::OnSetUpdateOptions(void *)\n6433 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n6434 void CDocObjectServerItem::OnShow()\n6435 void COleServerItem::OnShow()\n6436 long CReBar::OnShowBand(unsigned int,long)\n6437 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6438 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6439 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6440 void COleServerDoc::OnShowDocument(int)\n6441 void COleClientItem::OnShowItem()\n6442 void COleControl::OnShowToolBars()\n6443 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6444 void COleDocument::OnShowViews(int)\n6445 void COleLinkingDoc::OnShowViews(int)\n6446 void COleControl::OnShowWindow(int,unsigned int)\n6447 void CWnd::OnShowWindow(int,unsigned int)\n6448 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6449 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6450 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6451 void CFrameWnd::OnSize(unsigned int,int,int)\n6452 void CHtmlView::OnSize(unsigned int,int,int)\n6453 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6454 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6455 void COleControl::OnSize(unsigned int,int,int)\n6456 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6457 void COleResizeBar::OnSize(unsigned int,int,int)\n6458 void CPreviewView::OnSize(unsigned int,int,int)\n6459 void CScrollView::OnSize(unsigned int,int,int)\n6460 void CSplitterWnd::OnSize(unsigned int,int,int)\n6461 void CStatusBar::OnSize(unsigned int,int,int)\n6462 void CWnd::OnSize(unsigned int,int,int)\n6463 void CWnd::OnSizeClipboard(CWnd *,void *)\n6464 long CControlBar::OnSizeParent(unsigned int,long)\n6465 long CDockBar::OnSizeParent(unsigned int,long)\n6466 long COleResizeBar::OnSizeParent(unsigned int,long)\n6467 void CWnd::OnSizing(unsigned int,tagRECT *)\n6468 int CEnumArray::OnSkip()\n6469 long CSocketWnd::OnSocketDead(unsigned int,long)\n6470 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6471 int CView::OnSplitCmd(unsigned int)\n6472 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6473 void CAsyncMonikerFile::OnStartBinding()\n6474 void CHtmlView::OnStatusBar(int)\n6475 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6476 void CHtmlView::OnStatusTextChange(wchar_t const *)\n6477 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n6478 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6479 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6480 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6481 void CToolBar::OnSysColorChange()\n6482 void CWnd::OnSysColorChange()\n6483 void CFrameWnd::OnSysCommand(unsigned int,long)\n6484 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6485 void CPropertySheet::OnSysCommand(unsigned int,long)\n6486 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6487 void CWnd::OnSysCommand(unsigned int,long)\n6488 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6489 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6490 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6491 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6492 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6493 void CWnd::OnTCard(unsigned int,unsigned long)\n6494 void COleControl::OnTextChanged()\n6495 void CEditView::OnTextNotFound(wchar_t const *)\n6496 void CRichEditView::OnTextNotFound(wchar_t const *)\n6497 void CHtmlView::OnTheaterMode(int)\n6498 void CWnd::OnTimeChange()\n6499 void CControlBar::OnTimer(unsigned int)\n6500 void CWnd::OnTimer(unsigned int)\n6501 void CHtmlView::OnTitleChange(wchar_t const *)\n6502 void CHtmlView::OnToolBar(int)\n6503 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6504 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6505 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6506 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6507 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6508 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6509 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6510 void CFileDialog::OnTypeChange()\n6511 void COleControlContainer::OnUIActivate(COleControlSite *)\n6512 long COleClientItem::XOleIPSite::OnUIActivate()\n6513 long COleControlSite::XOleIPSite::OnUIActivate()\n6514 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6515 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6516 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6517 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6518 void CView::OnUpdate(CView *,long,CObject *)\n6519 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6520 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6521 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6522 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6523 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6524 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6525 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6526 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6527 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6528 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6529 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6530 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6531 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6532 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6533 int COleServerDoc::OnUpdateDocument()\n6534 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6535 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6536 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6537 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6538 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6539 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6540 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6541 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6542 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6543 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6544 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6545 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6546 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6547 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6548 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6549 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6550 void CFrameWnd::OnUpdateFrameTitle(int)\n6551 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6552 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6553 int COleClientItem::OnUpdateFrameTitle()\n6554 int COleFrameHook::OnUpdateFrameTitle()\n6555 void COleServerItem::OnUpdateItems()\n6556 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6557 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6558 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6559 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6560 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6561 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6562 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6563 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6564 void CEditView::OnUpdateNeedText(CCmdUI *)\n6565 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6566 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6567 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6568 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6569 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6570 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6571 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6572 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6573 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6574 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6575 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6576 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6577 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6578 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6579 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6580 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6581 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6582 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6583 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6584 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6585 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6586 void CView::OnUpdateSplitCmd(CCmdUI *)\n6587 long CHtmlView::OnUpdateUI()\n6588 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6589 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6590 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6591 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6592 void CHtmlView::OnVisible(int)\n6593 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6594 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6595 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6596 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6597 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6598 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6599 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6600 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6601 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6602 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6603 void CMDIFrameWnd::OnWindowNew()\n6604 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6605 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6606 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6607 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6608 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6609 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6610 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6611 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6612 void CWnd::OnWinIniChange(wchar_t const *)\n6613 long CPropertyPage::OnWizardBack()\n6614 int CPropertyPage::OnWizardFinish()\n6615 long CPropertyPage::OnWizardNext()\n6616 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6617 void CPreviewView::OnZoomIn()\n6618 void CPreviewView::OnZoomOut()\n6619 int CAnimateCtrl::Open(unsigned int)\n6620 int CAnimateCtrl::Open(wchar_t const *)\n6621 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6622 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6623 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6624 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6625 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n6626 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n6627 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n6628 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n6629 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n6630 int CDataPathProperty::Open(CFileException *)\n6631 int CDataPathProperty::Open(COleControl *,CFileException *)\n6632 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n6633 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n6634 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n6635 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n6636 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6637 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6638 int CMonikerFile::Open(IMoniker *,CFileException *)\n6639 int CMonikerFile::Open(wchar_t const *,CFileException *)\n6640 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n6641 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n6642 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n6643 long CDocObjectServer::XOleDocumentView::Open()\n6644 int CWnd::OpenClipboard()\n6645 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n6646 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6647 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6648 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n6649 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n6650 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n6651 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n6652 int CWnd::OpenIcon()\n6653 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6654 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6655 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6656 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n6657 int CHtmlEditDoc::OpenURL(wchar_t const *)\n6658 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n6659 int CHeaderCtrl::OrderToIndex(int)const \n6660 int CFileException::OsErrorToException(long)\n6661 void CDumpContext::OutputString(wchar_t const *)\n6662 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6663 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6664 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6665 int CDC::PaintRgn(CRgn *)\n6666 int CWnd::PaintWindowlessControls(CDC *)\n6667 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6668 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6669 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n6670 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6671 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6672 void CCommandLineInfo::ParseLast(int)\n6673 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n6674 void CCommandLineInfo::ParseParam(char const *,int,int)\n6675 void CCommandLineInfo::ParseParamFlag(char const *)\n6676 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n6677 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6678 void CComboBox::Paste()\n6679 void CEdit::Paste()\n6680 void CRichEditCtrl::Paste()\n6681 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6682 int CDC::PatBlt(int,int,int,int,unsigned long)\n6683 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6684 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6685 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6686 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6687 int CDC::Pie(int,int,int,int,int,int,int,int)\n6688 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6689 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6690 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6691 int CDC::PlayMetaFile(HMETAFILE__ *)\n6692 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6693 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n6694 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n6695 int CDC::PolyBezier(tagPOINT const *,int)\n6696 int CDC::PolyBezierTo(tagPOINT const *,int)\n6697 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6698 int CDC::Polygon(tagPOINT *,int)\n6699 int CDC::Polyline(tagPOINT *,int)\n6700 int CDC::PolylineTo(tagPOINT const *,int)\n6701 int CDC::PolyPolygon(tagPOINT *,int *,int)\n6702 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6703 void CToolTipCtrl::Pop()\n6704 CPoint CEdit::PosFromChar(unsigned int)const \n6705 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6706 void CPreviewView::PositionPage(unsigned int)\n6707 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6708 int CMonikerFile::PostBindToStream(CFileException *)\n6709 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6710 int CWnd::PostMessageW(unsigned int,unsigned int,long)\n6711 void CDialog::PostModal()\n6712 void CPrintDialogEx::PostModal()\n6713 void COleControl::PostModalDialog(HWND__ *)\n6714 void CControlBar::PostNcDestroy()\n6715 void CControlFrameWnd::PostNcDestroy()\n6716 void CFindReplaceDialog::PostNcDestroy()\n6717 void CFrameWnd::PostNcDestroy()\n6718 void COleCntrFrameWnd::PostNcDestroy()\n6719 void CReflectorWnd::PostNcDestroy()\n6720 void CView::PostNcDestroy()\n6721 void CWnd::PostNcDestroy()\n6722 int CWinThread::PostThreadMessageW(unsigned int,unsigned int,long)\n6723 void CRecordset::PreBindFields()\n6724 void CDocument::PreCloseFrame(CFrameWnd *)\n6725 void COleDocument::PreCloseFrame(CFrameWnd *)\n6726 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6727 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6728 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6729 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n6730 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6731 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n6732 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6733 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6734 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n6735 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n6736 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6737 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6738 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6739 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6740 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n6741 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n6742 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n6743 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6744 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6745 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6746 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n6747 void CDialog::PreInitDialog()\n6748 void COleChangeSourceDialog::PreInitDialog()\n6749 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6750 HWND__ * CDialog::PreModal()\n6751 HWND__ * CPrintDialogEx::PreModal()\n6752 void COleControl::PreModalDialog(HWND__ *)\n6753 void CRecordset::PrepareAndExecute()\n6754 HWND__ * CDataExchange::PrepareCtrl(int)\n6755 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6756 void CWnd::PrepareForHelp()\n6757 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6758 void CRecordset::PrepareUpdateHstmt()\n6759 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n6760 void CPropertySheet::PressButton(int)\n6761 int CToolBarCtrl::PressButton(int,int)\n6762 void CCheckListBox::PreSubclassWindow()\n6763 void CDragListBox::PreSubclassWindow()\n6764 void CWnd::PreSubclassWindow()\n6765 int CWnd::PreTranslateInput(tagMSG *)\n6766 int CControlBar::PreTranslateMessage(tagMSG *)\n6767 int CDialog::PreTranslateMessage(tagMSG *)\n6768 int CFormView::PreTranslateMessage(tagMSG *)\n6769 int CFrameWnd::PreTranslateMessage(tagMSG *)\n6770 int CHtmlView::PreTranslateMessage(tagMSG *)\n6771 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n6772 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n6773 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n6774 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n6775 int CPropertyPage::PreTranslateMessage(tagMSG *)\n6776 int CPropertySheet::PreTranslateMessage(tagMSG *)\n6777 int CWinThread::PreTranslateMessage(tagMSG *)\n6778 int CWnd::PreTranslateMessage(tagMSG *)\n6779 void CDialog::PrevDlgCtrl()const \n6780 void CWnd::Print(CDC *,unsigned long)const \n6781 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n6782 int CPrintDialog::PrintAll()const \n6783 int CPrintDialogEx::PrintAll()const \n6784 void CWnd::PrintClient(CDC *,unsigned long)const \n6785 int CPrintDialog::PrintCollate()const \n6786 int CPrintDialogEx::PrintCollate()const \n6787 int CPrintDialogEx::PrintCurrentPage()const \n6788 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n6789 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n6790 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n6791 long CRichEditView::PrintPage(CDC *,long,long)\n6792 int CPrintDialog::PrintRange()const \n6793 int CPrintDialogEx::PrintRange()const \n6794 int CPrintDialog::PrintSelection()const \n6795 int CPrintDialogEx::PrintSelection()const \n6796 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n6797 long COleException::Process(CException const *)\n6798 int CSocket::ProcessAuxQueue()\n6799 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n6800 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n6801 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n6802 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n6803 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n6804 int CRgn::PtInRegion(int,int)const \n6805 int CRgn::PtInRegion(tagPOINT)const \n6806 void COleSafeArray::PtrOfIndex(long *,void * *)\n6807 int CDC::PtVisible(tagPOINT)const \n6808 int CDC::PtVisible(int,int)const \n6809 int CMetaFileDC::PtVisible(tagPOINT)const \n6810 int CMetaFileDC::PtVisible(int,int)const \n6811 int CEvent::PulseEvent()\n6812 int CWinThread::PumpMessage()\n6813 int CSocket::PumpMessages(unsigned int)\n6814 void CReBarCtrl::PushChevron(unsigned int,long)\n6815 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n6816 long CWnd::put_accName(tagVARIANT,wchar_t *)\n6817 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n6818 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n6819 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n6820 void COleSafeArray::PutElement(long *,void *)\n6821 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n6822 void CHtmlView::PutProperty(wchar_t const *,wchar_t const *)\n6823 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n6824 void CHtmlView::PutProperty(wchar_t const *,short)\n6825 void CHtmlView::PutProperty(wchar_t const *,long)\n6826 void CHtmlView::PutProperty(wchar_t const *,double)\n6827 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n6828 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n6829 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n6830 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n6831 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n6832 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n6833 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n6834 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n6835 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n6836 int PX_Double(CPropExchange *,wchar_t const *,double &)\n6837 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n6838 int PX_Float(CPropExchange *,wchar_t const *,float &)\n6839 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n6840 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n6841 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n6842 int PX_Long(CPropExchange *,wchar_t const *,long &)\n6843 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n6844 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n6845 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n6846 int PX_Short(CPropExchange *,wchar_t const *,short &)\n6847 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n6848 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6849 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n6850 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n6851 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n6852 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n6853 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n6854 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n6855 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n6856 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n6857 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n6858 IUnknown * CCmdTarget::QueryAggregates(void const *)\n6859 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n6860 long COleDropSource::QueryContinueDrag(int,unsigned long)\n6861 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n6862 void * COleControl::QueryDefHandler(_GUID const &)\n6863 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n6864 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n6865 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n6866 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n6867 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n6868 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6869 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6870 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n6871 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n6872 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n6873 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n6874 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n6875 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n6876 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n6877 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n6878 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n6879 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n6880 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n6881 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n6882 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n6883 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n6884 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n6885 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n6886 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n6887 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n6888 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n6889 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n6890 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n6891 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n6892 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n6893 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n6894 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n6895 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n6896 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n6897 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n6898 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n6899 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n6900 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n6901 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n6902 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n6903 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n6904 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n6905 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n6906 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n6907 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n6908 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n6909 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n6910 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n6911 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n6912 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n6913 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n6914 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n6915 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n6916 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n6917 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n6918 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n6919 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n6920 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n6921 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n6922 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n6923 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n6924 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n6925 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n6926 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n6927 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n6928 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n6929 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n6930 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n6931 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n6932 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n6933 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n6934 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n6935 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n6936 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n6937 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n6938 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n6939 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n6940 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n6941 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n6942 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n6943 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n6944 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n6945 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n6946 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n6947 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n6948 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n6949 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n6950 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n6951 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n6952 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n6953 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n6954 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n6955 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n6956 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n6957 long CPropertyPage::QuerySiblings(unsigned int,long)\n6958 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n6959 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n6960 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6961 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n6962 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n6963 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n6964 int COleControlSite::QuickActivate()\n6965 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n6966 int COleClientItem::ReactivateAndUndo()\n6967 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n6968 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n6969 unsigned int CArchive::Read(void *,unsigned int)\n6970 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n6971 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n6972 unsigned int CFile::Read(void *,unsigned int)\n6973 int CImageList::Read(CArchive *)\n6974 unsigned int CInternetFile::Read(void *,unsigned int)\n6975 unsigned int CMemFile::Read(void *,unsigned int)\n6976 unsigned int COleStreamFile::Read(void *,unsigned int)\n6977 unsigned int CSocketFile::Read(void *,unsigned int)\n6978 unsigned int CStdioFile::Read(void *,unsigned int)\n6979 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n6980 unsigned long CArchive::ReadCount()\n6981 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n6982 int CProperty::ReadFromStream(IStream *)\n6983 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n6984 int CPropertySet::ReadFromStream(IStream *)\n6985 void COleClientItem::ReadItem(CArchive &)\n6986 void COleClientItem::ReadItemCompound(CArchive &)\n6987 void COleClientItem::ReadItemFlat(CArchive &)\n6988 void CRecentFileList::ReadList()\n6989 int CPropertySection::ReadNameDictFromStream(IStream *)\n6990 CObject * CArchive::ReadObject(CRuntimeconst *)\n6991 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6992 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n6993 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6994 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n6995 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6996 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n6997 unsigned int CDC::RealizePalette()\n6998 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n6999 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7000 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7001 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7002 void CRecordset::RebindParams(void *)\n7003 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7004 void CFrameWnd::RecalcLayout(int)\n7005 void CMiniDockFrameWnd::RecalcLayout(int)\n7006 void COleCntrFrameWnd::RecalcLayout(int)\n7007 void COleDocIPFrameWnd::RecalcLayout(int)\n7008 void COleIPFrameWnd::RecalcLayout(int)\n7009 void CSplitterWnd::RecalcLayout()\n7010 int CAsyncSocket::Receive(void *,int,int)\n7011 int CSocket::Receive(void *,int,int)\n7012 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n7013 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7014 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7015 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7016 void COleControl::RecreateControlWindow()\n7017 int CDC::Rectangle(int,int,int,int)\n7018 int CDC::Rectangle(tagRECT const *)\n7019 CRect const CFrameWnd::rectDefault\n7020 int CRgn::RectInRegion(tagRECT const *)const \n7021 int CDC::RectVisible(tagRECT const *)const \n7022 int CMetaFileDC::RectVisible(tagRECT const *)const \n7023 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7024 int CRichEditCtrl::Redo()\n7025 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7026 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7027 int CListCtrl::RedrawItems(int,int)\n7028 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7029 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7030 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7031 void CHtmlView::Refresh()\n7032 void COleControl::Refresh()\n7033 void CHtmlView::Refresh2(int)\n7034 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7035 int COleDropTarget::Register(CWnd *)\n7036 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n7037 int COleMessageFilter::Register()\n7038 int COleObjectFactory::Register()\n7039 int COleTemplateServer::Register()\n7040 int CWinApp::Register()\n7041 int COleObjectFactory::RegisterAll()\n7042 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n7043 void CDocManager::RegisterShellFileTypes(int)\n7044 void CWinApp::RegisterShellFileTypes(int)\n7045 void CToolTipCtrl::RelayEvent(tagMSG *)\n7046 unsigned long CArchiveStream::Release()\n7047 unsigned long CBlobProperty::Release()\n7048 unsigned long CBrowserControlSite::Release()\n7049 unsigned long CDHtmlControlSink::Release()\n7050 unsigned long CDHtmlElementEventSink::Release()\n7051 unsigned long CDHtmlEventSink::Release()\n7052 unsigned long CInnerUnknown::Release()\n7053 void COleClientItem::Release(enum tagOLECLOSE)\n7054 unsigned long COleConnPtContainer::Release()\n7055 void COleDataObject::Release()\n7056 unsigned long COleDispatchImpl::Release()\n7057 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7058 unsigned long COleUILinkInfo::Release()\n7059 unsigned long CPrintDialogEx::Release()\n7060 unsigned long CWnd::XAccessible::Release()\n7061 unsigned long CWnd::XAccessibleServer::Release()\n7062 unsigned long COleClientItem::XAdviseSink::Release()\n7063 unsigned long COleControlSite::XAmbientProps::Release()\n7064 unsigned long COleControlSite::XBoundObjectSite::Release()\n7065 unsigned long COleObjectFactory::XClassFactory::Release()\n7066 unsigned long CConnectionPoint::XConnPt::Release()\n7067 unsigned long COleControl::XDataObject::Release()\n7068 unsigned long COleDataSource::XDataObject::Release()\n7069 unsigned long COleServerDoc::XDataObject::Release()\n7070 unsigned long COleServerItem::XDataObject::Release()\n7071 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7072 unsigned long COleDropSource::XDropSource::Release()\n7073 unsigned long COleDropTarget::XDropTarget::Release()\n7074 unsigned long CEnumArray::XEnumVOID::Release()\n7075 unsigned long COleControlSite::XEventSink::Release()\n7076 unsigned long COleControl::XFontNotification::Release()\n7077 unsigned long COleMessageFilter::XMessageFilter::Release()\n7078 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7079 unsigned long COleControl::XOleCache::Release()\n7080 unsigned long COleClientItem::XOleClientSite::Release()\n7081 unsigned long COleControlSite::XOleClientSite::Release()\n7082 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7083 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7084 unsigned long COleControlContainer::XOleContainer::Release()\n7085 unsigned long COleControl::XOleControl::Release()\n7086 unsigned long COleControlSite::XOleControlSite::Release()\n7087 unsigned long CDocObjectServer::XOleDocument::Release()\n7088 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7089 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7090 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7091 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7092 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7093 unsigned long COleControl::XOleInPlaceObject::Release()\n7094 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7095 unsigned long COleControlContainer::XOleIPFrame::Release()\n7096 unsigned long COleClientItem::XOleIPSite::Release()\n7097 unsigned long COleControlSite::XOleIPSite::Release()\n7098 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7099 unsigned long CDocObjectServer::XOleObject::Release()\n7100 unsigned long COleControl::XOleObject::Release()\n7101 unsigned long COleServerDoc::XOleObject::Release()\n7102 unsigned long COleServerItem::XOleObject::Release()\n7103 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7104 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7105 unsigned long COleLinkingDoc::XPersistFile::Release()\n7106 unsigned long COleControl::XPersistMemory::Release()\n7107 unsigned long COleControl::XPersistPropertyBag::Release()\n7108 unsigned long COleControl::XPersistStorage::Release()\n7109 unsigned long COleServerDoc::XPersistStorage::Release()\n7110 unsigned long COleControl::XPersistStreamInit::Release()\n7111 unsigned long COleControl::XPointerInactive::Release()\n7112 unsigned long CDocObjectServer::XPrint::Release()\n7113 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7114 unsigned long COlePropertyPage::XPropertyPage::Release()\n7115 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7116 unsigned long COleControl::XProvideClassInfo::Release()\n7117 unsigned long COleControl::XQuickActivate::Release()\n7118 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7119 unsigned long COleControlSite::XRowsetNotify::Release()\n7120 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7121 unsigned long COleControl::XViewObject::Release()\n7122 void CDC::ReleaseAttribDC()\n7123 void COleControl::ReleaseCaches()\n7124 int COleControl::ReleaseCapture()\n7125 int COleControl::ReleaseDC(CDC *)\n7126 int CWnd::ReleaseDC(CDC *)\n7127 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7128 void COleDispatchDriver::ReleaseDispatch()\n7129 void CDocObjectServer::ReleaseDocSite()\n7130 void CDocument::ReleaseFile(CFile *,int)\n7131 void CFontHolder::ReleaseFont()\n7132 void CDC::ReleaseOutputDC()\n7133 void CMetaFileDC::ReleaseOutputDC()\n7134 void CPreviewDC::ReleaseOutputDC()\n7135 int COleClientItem::Reload()\n7136 void CFile::Remove(wchar_t const *)\n7137 int CFtpConnection::Remove(wchar_t const *)\n7138 int CImageList::Remove(int)\n7139 void CPropertySection::Remove(unsigned long)\n7140 void CPropertySet::Remove(_GUID)\n7141 void CPropertySet::Remove(_GUID,unsigned long)\n7142 void CRecentFileList::Remove(int)\n7143 int CSimpleList::Remove(void *)\n7144 void CByteArray::RemoveAll()\n7145 void CDWordArray::RemoveAll()\n7146 void CMapPtrToPtr::RemoveAll()\n7147 void CMapPtrToWord::RemoveAll()\n7148 void CMapStringToOb::RemoveAll()\n7149 void CMapStringToPtr::RemoveAll()\n7150 void CMapStringToString::RemoveAll()\n7151 void CMapWordToOb::RemoveAll()\n7152 void CMapWordToPtr::RemoveAll()\n7153 void CObArray::RemoveAll()\n7154 void CObList::RemoveAll()\n7155 void CPropertySection::RemoveAll()\n7156 void CPropertySet::RemoveAll()\n7157 void CPtrArray::RemoveAll()\n7158 void CPtrList::RemoveAll()\n7159 void CStringArray::RemoveAll()\n7160 void CStringList::RemoveAll()\n7161 void CTypeLibCacheMap::RemoveAll(void *)\n7162 void CUIntArray::RemoveAll()\n7163 void CWordArray::RemoveAll()\n7164 void CByteArray::RemoveAt(int,int)\n7165 void CDWordArray::RemoveAt(int,int)\n7166 void CObArray::RemoveAt(int,int)\n7167 void CObList::RemoveAt(__POSITION *)\n7168 void CPtrArray::RemoveAt(int,int)\n7169 void CPtrList::RemoveAt(__POSITION *)\n7170 void CStringArray::RemoveAt(int,int)\n7171 void CStringList::RemoveAt(__POSITION *)\n7172 void CUIntArray::RemoveAt(int,int)\n7173 void CWordArray::RemoveAt(int,int)\n7174 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7175 void CFrameWnd::RemoveControlBar(CControlBar *)\n7176 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n7177 void CDocTemplate::RemoveDocument(CDocument *)\n7178 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7179 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7180 void COleControl::RemoveFrameLevelUI()\n7181 void CFrameWnd::RemoveFrameWnd()\n7182 void CHandleMap::RemoveHandle(void *)\n7183 CObject * CObList::RemoveHead()\n7184 void * CPtrList::RemoveHead()\n7185 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n7186 void CTabCtrl::RemoveImage(int)\n7187 void CListCtrl::RemoveImageList(int)\n7188 void CListView::RemoveImageList(int)\n7189 void CTreeCtrl::RemoveImageList(int)\n7190 void CTreeView::RemoveImageList(int)\n7191 void COleDocument::RemoveItem(CDocItem *)\n7192 int CMapPtrToPtr::RemoveKey(void *)\n7193 int CMapPtrToWord::RemoveKey(void *)\n7194 int CMapStringToOb::RemoveKey(wchar_t const *)\n7195 int CMapStringToPtr::RemoveKey(wchar_t const *)\n7196 int CMapStringToString::RemoveKey(wchar_t const *)\n7197 int CMapWordToOb::RemoveKey(unsigned short)\n7198 int CMapWordToPtr::RemoveKey(unsigned short)\n7199 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7200 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7201 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7202 void CPropertySheet::RemovePage(int)\n7203 void CPropertySheet::RemovePage(CPropertyPage *)\n7204 void CDockBar::RemovePlaceHolder(CControlBar *)\n7205 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7206 void CDataBoundProperty::RemoveSource()\n7207 CObject * CObList::RemoveTail()\n7208 void * CPtrList::RemoveTail()\n7209 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n7210 void CDocument::RemoveView(CView *)\n7211 void CFile::Rename(wchar_t const *,wchar_t const *)\n7212 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n7213 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7214 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7215 int CImageList::Replace(int,HICON__ *)\n7216 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7217 int CFindReplaceDialog::ReplaceAll()const \n7218 void CDatabase::ReplaceBrackets(wchar_t *)\n7219 int CFindReplaceDialog::ReplaceCurrent()const \n7220 void CEdit::ReplaceSel(wchar_t const *,int)\n7221 void CRichEditCtrl::ReplaceSel(wchar_t const *,int)\n7222 int CException::ReportError(unsigned int,unsigned int)\n7223 int COleClientItem::ReportError(long)const \n7224 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7225 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7226 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7227 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7228 int CRecordset::Requery()\n7229 void COleControl::RequestAsynchronousExchange(unsigned long)\n7230 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7231 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7232 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7233 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7234 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7235 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7236 void CRichEditCtrl::RequestResize()\n7237 long COleControlSite::XOleIPSite::RequestUIActivate()\n7238 long CEnumArray::XEnumVOID::Reset()\n7239 void CComboBox::ResetContent()\n7240 void CListBox::ResetContent()\n7241 void CRecordset::ResetCursor()\n7242 void CCachedDataPathProperty::ResetData()\n7243 void CDataPathProperty::ResetData()\n7244 int CDC::ResetDCW(_devicemodeW const *)\n7245 int CEvent::ResetEvent()\n7246 void COleControl::ResetStockProps()\n7247 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7248 void COleControl::ResetVersion(unsigned long)\n7249 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7250 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7251 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7252 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7253 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7254 void COleControl::ResizeFrameWindow(int,int)\n7255 void COleSafeArray::ResizeOneDim(unsigned long)\n7256 void COleControl::ResizeOpenControl(int,int)\n7257 int CPalette::ResizePalette(unsigned int)\n7258 void CScrollView::ResizeParentToFit(int)\n7259 void CWaitCursor::Restore()\n7260 void CReBarCtrl::RestoreBand(unsigned int)\n7261 int CDC::RestoreDC(int)\n7262 int CPreviewDC::RestoreDC(int)\n7263 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n7264 void CCmdTarget::RestoreWaitCursor()\n7265 unsigned long CWinThread::ResumeThread()\n7266 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7267 long CArchiveStream::Revert()\n7268 void COleDropTarget::Revoke()\n7269 void COleLinkingDoc::Revoke()\n7270 void COleMessageFilter::Revoke()\n7271 void COleObjectFactory::Revoke()\n7272 void COleObjectFactory::RevokeAll()\n7273 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n7274 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n7275 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n7276 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n7277 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7278 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n7279 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n7280 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n7281 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n7282 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n7283 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n7284 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n7285 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n7286 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n7287 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7288 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n7289 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n7290 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n7291 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n7292 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n7293 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7294 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7295 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n7296 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n7297 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n7298 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n7299 int CDatabase::Rollback()\n7300 int CDC::RoundRect(int,int,int,int,int,int)\n7301 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7302 void COleClientItem::Run()\n7303 int CWinApp::Run()\n7304 int CWinThread::Run()\n7305 int CWinApp::RunAutomated()\n7306 int CWinApp::RunEmbedded()\n7307 int CWnd::RunModalLoop(unsigned long)\n7308 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7309 int CEditView::SameAsSelected(wchar_t const *,int)\n7310 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n7311 long CBlobProperty::Save(IStream *,int)\n7312 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7313 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7314 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7315 long COleControl::XPersistStorage::Save(IStorage *,int)\n7316 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7317 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7318 int CDocManager::SaveAllModified()\n7319 int CDocTemplate::SaveAllModified()\n7320 int CWinApp::SaveAllModified()\n7321 void CFrameWnd::SaveBarState(wchar_t const *)const \n7322 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7323 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7324 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7325 int CDC::SaveDC()\n7326 int CPreviewDC::SaveDC()\n7327 void COleServerDoc::SaveEmbedding()\n7328 int CFormView::SaveFocusControl()\n7329 int CDocument::SaveModified()\n7330 int COleDocument::SaveModified()\n7331 int COleServerDoc::SaveModified()\n7332 int COleServerDoc::SaveModifiedPrompt()\n7333 long COleClientItem::XOleClientSite::SaveObject()\n7334 long COleControlSite::XOleClientSite::SaveObject()\n7335 int CControlBarInfo::SaveState(wchar_t const *,int)\n7336 void CDockState::SaveState(wchar_t const *)\n7337 long COleControl::SaveState(IStream *)\n7338 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n7339 void CWinApp::SaveStdProfileSettings()\n7340 void COleDocument::SaveToStorage(CObject *)\n7341 void COleLinkingDoc::SaveToStorage(CObject *)\n7342 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7343 void CDockState::ScalePoint(CPoint &)\n7344 void CDockState::ScaleRectPos(CRect &)\n7345 CSize CDC::ScaleViewportExt(int,int,int,int)\n7346 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7347 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7348 CSize CDC::ScaleWindowExt(int,int,int,int)\n7349 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7350 void CWnd::ScreenToClient(tagPOINT *)const \n7351 void CWnd::ScreenToClient(tagRECT *)const \n7352 int CListCtrl::Scroll(CSize)\n7353 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7354 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7355 void COleControlContainer::ScrollChildren(int,int)\n7356 int COleServerDoc::ScrollContainerBy(CSize)\n7357 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7358 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7359 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7360 void CScrollView::ScrollToPosition(tagPOINT)\n7361 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7362 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7363 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7364 int CFindReplaceDialog::SearchDown()const \n7365 int CAnimateCtrl::Seek(unsigned int)\n7366 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7367 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7368 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7369 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7370 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7371 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7372 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7373 void CFile::SeekToBegin()\n7374 unsigned __int64 CFile::SeekToEnd()\n7375 CFont * CFontHolder::Select(CDC *,long,long)\n7376 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7377 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7378 int CDC::SelectClipPath(int)\n7379 int CDC::SelectClipRgn(CRgn *)\n7380 int CDC::SelectClipRgn(CRgn *,int)\n7381 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7382 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7383 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7384 long CPrintDialogEx::SelectionChange()\n7385 int CTreeCtrl::SelectItem(_TREEITEM *)\n7386 int CDC::SelectObject(CRgn *)\n7387 CBitmap * CDC::SelectObject(CBitmap *)\n7388 CBrush * CDC::SelectObject(CBrush *)\n7389 CGdiObject * CDC::SelectObject(CGdiObject *)\n7390 CPen * CDC::SelectObject(CPen *)\n7391 void * CDC::SelectObject(void *)\n7392 CFont * CDC::SelectObject(CFont *)\n7393 CFont * CPreviewDC::SelectObject(CFont *)\n7394 CPalette * CDC::SelectPalette(CPalette *,int)\n7395 void CWinApp::SelectPrinter(void *,void *,int)\n7396 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7397 CFont * COleControl::SelectStockFont(CDC *)\n7398 CGdiObject * CDC::SelectStockObject(int)\n7399 CGdiObject * CPreviewDC::SelectStockObject(int)\n7400 int CComboBox::SelectString(int,wchar_t const *)\n7401 int CListBox::SelectString(int,wchar_t const *)\n7402 int CListBox::SelItemRange(int,int,int)\n7403 int CAsyncSocket::Send(void const *,int,int)\n7404 int CSocket::Send(void const *,int,int)\n7405 void COleControl::SendAdvise(unsigned int)\n7406 int CWnd::SendChildNotifyLastMsg(long *)\n7407 int CSocket::SendChunk(void const *,int,int)\n7408 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7409 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7410 void CDocument::SendInitialUpdate()\n7411 void CRecordset::SendLongBinaryData(void *)\n7412 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7413 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7414 long CWnd::SendMessageW(unsigned int,unsigned int,long)\n7415 void COleControlSite::SendMnemonic(tagMSG *)\n7416 int CWnd::SendNotifyMessageW(unsigned int,unsigned int,long)\n7417 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n7418 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n7419 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7420 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n7421 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n7422 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7423 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7424 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7425 void CByteArray::Serialize(CArchive &)\n7426 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7427 void CDocItem::Serialize(CArchive &)\n7428 void CDockState::Serialize(CArchive &)\n7429 void CDWordArray::Serialize(CArchive &)\n7430 void CEditView::Serialize(CArchive &)\n7431 void CMapStringToOb::Serialize(CArchive &)\n7432 void CMapStringToString::Serialize(CArchive &)\n7433 void CMapWordToOb::Serialize(CArchive &)\n7434 void CObArray::Serialize(CArchive &)\n7435 void CObject::Serialize(CArchive &)\n7436 void CObList::Serialize(CArchive &)\n7437 void COleClientItem::Serialize(CArchive &)\n7438 void COleControl::Serialize(CArchive &)\n7439 void COleDocument::Serialize(CArchive &)\n7440 void CRichEditDoc::Serialize(CArchive &)\n7441 void CRichEditView::Serialize(CArchive &)\n7442 void CStringArray::Serialize(CArchive &)\n7443 void CStringList::Serialize(CArchive &)\n7444 void CWordArray::Serialize(CArchive &)\n7445 CArchive & ATL::CTime::Serialize64(CArchive &)\n7446 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7447 void CArchive::SerializeClass(CRuntimeconst *)\n7448 void SerializeElements(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n7449 void SerializeElements(CArchive &,ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > > *,int)\n7450 void SerializeElements(CArchive &,ATL::CComBSTR *,int)\n7451 void SerializeElements(CArchive &,COleVariant *,int)\n7452 void COleControl::SerializeExtent(CArchive &)\n7453 void CEditView::SerializeRaw(CArchive &)\n7454 void COleControl::SerializeStockProps(CArchive &)\n7455 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7456 int CProperty::Set(unsigned long,void * const,unsigned long)\n7457 int CProperty::Set(void * const)\n7458 int CProperty::Set(void * const,unsigned long)\n7459 int CPropertySection::Set(unsigned long,void *)\n7460 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7461 int CPropertySet::Set(_GUID,unsigned long,void *)\n7462 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7463 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7464 void CRecordset::SetAbsolutePosition(long)\n7465 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7466 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7467 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7468 int CPropertySheet::SetActivePage(int)\n7469 int CPropertySheet::SetActivePage(CPropertyPage *)\n7470 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7471 void CFrameWnd::SetActiveView(CView *,int)\n7472 CWnd * CWnd::SetActiveWindow()\n7473 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7474 void CIPAddressCtrl::SetAddress(unsigned long)\n7475 void CHtmlView::SetAddressBar(int)\n7476 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7477 int CToolBarCtrl::SetAnchorHighlight(int)\n7478 void CListBox::SetAnchorIndex(int)\n7479 void COleControl::SetAppearance(short)\n7480 int CDC::SetArcDirection(int)\n7481 void CByteArray::SetAt(int,unsigned char)\n7482 void CDWordArray::SetAt(int,unsigned long)\n7483 void CMapPtrToPtr::SetAt(void *,void *)\n7484 void CMapPtrToWord::SetAt(void *,unsigned short)\n7485 void CMapStringToOb::SetAt(wchar_t const *,CObject *)\n7486 void CMapStringToPtr::SetAt(wchar_t const *,void *)\n7487 void CMapStringToString::SetAt(wchar_t const *,wchar_t const *)\n7488 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7489 void CMapWordToPtr::SetAt(unsigned short,void *)\n7490 void CObArray::SetAt(int,CObject *)\n7491 void CObList::SetAt(__POSITION *,CObject *)\n7492 void CPtrArray::SetAt(int,void *)\n7493 void CPtrList::SetAt(__POSITION *,void *)\n7494 void CStringArray::SetAt(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7495 void CStringArray::SetAt(int,wchar_t const *)\n7496 void CStringList::SetAt(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7497 void CStringList::SetAt(__POSITION *,wchar_t const *)\n7498 void CUIntArray::SetAt(int,unsigned int)\n7499 void CWordArray::SetAt(int,unsigned short)\n7500 void CByteArray::SetAtGrow(int,unsigned char)\n7501 void CDWordArray::SetAtGrow(int,unsigned long)\n7502 void CObArray::SetAtGrow(int,CObject *)\n7503 void CPtrArray::SetAtGrow(int,void *)\n7504 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7505 void CStringArray::SetAtGrow(int,wchar_t const *)\n7506 void CUIntArray::SetAtGrow(int,unsigned int)\n7507 void CWordArray::SetAtGrow(int,unsigned short)\n7508 void CDC::SetAttribDC(HDC__ *)\n7509 void CMetaFileDC::SetAttribDC(HDC__ *)\n7510 void CPreviewDC::SetAttribDC(HDC__ *)\n7511 int CRichEditCtrl::SetAutoURLDetect(int)\n7512 void COleControl::SetBackColor(unsigned long)\n7513 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7514 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOW *)\n7515 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7516 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7517 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7518 void CControlBar::SetBarStyle(unsigned long)\n7519 int CSpinButtonCtrl::SetBase(int)\n7520 void CAsyncMonikerFile::SetBinding(IBinding *)\n7521 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7522 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7523 int CToolBar::SetBitmap(HBITMAP__ *)\n7524 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7525 CSize CBitmap::SetBitmapDimension(int,int)\n7526 int CHeaderCtrl::SetBitmapMargin(int)\n7527 int CToolBarCtrl::SetBitmapSize(CSize)\n7528 unsigned long CDC::SetBkColor(unsigned long)\n7529 unsigned long CImageList::SetBkColor(unsigned long)\n7530 int CListCtrl::SetBkColor(unsigned long)\n7531 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7532 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7533 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7534 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7535 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7536 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n7537 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7538 int CListCtrl::SetBkImage(tagLVBKIMAGEW *)\n7539 int CDC::SetBkMode(int)\n7540 void CRecordset::SetBookmark(CDBVariant const &)\n7541 void CControlBar::SetBorders(int,int,int,int)\n7542 void CControlBar::SetBorders(tagRECT const *)\n7543 void CStatusBar::SetBorders(int,int,int,int)\n7544 void CStatusBar::SetBorders(tagRECT const *)\n7545 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7546 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7547 void COleControl::SetBorderStyle(short)\n7548 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7549 CPoint CDC::SetBrushOrg(int,int)\n7550 CPoint CDC::SetBrushOrg(tagPOINT)\n7551 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7552 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7553 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7554 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7555 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOW *)\n7556 int CToolBar::SetButtons(unsigned int const *,int)\n7557 int CToolBarCtrl::SetButtonSize(CSize)\n7558 void CToolBarCtrl::SetButtonStructSize(int)\n7559 void CButton::SetButtonStyle(unsigned int,int)\n7560 void CToolBar::SetButtonStyle(int,unsigned int)\n7561 int CToolBar::SetButtonText(int,wchar_t const *)\n7562 int CToolBarCtrl::SetButtonWidth(int,int)\n7563 int CListCtrl::SetCallbackMask(unsigned int)\n7564 CWnd * COleControl::SetCapture()\n7565 CWnd * CWnd::SetCapture()\n7566 long COleControlSite::XOleIPSite::SetCapture(int)\n7567 int CListBox::SetCaretIndex(int,int)\n7568 void CWnd::SetCaretPos(tagPOINT)\n7569 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n7570 void CButton::SetCheck(int)\n7571 void CCheckListBox::SetCheck(int,int)\n7572 void CCmdUI::SetCheck(int)\n7573 int CListCtrl::SetCheck(int,int)\n7574 void COleCmdUI::SetCheck(int)\n7575 void CStatusCmdUI::SetCheck(int)\n7576 void CTestCmdUI::SetCheck(int)\n7577 void CToolCmdUI::SetCheck(int)\n7578 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7579 void CCheckListBox::SetCheckStyle(unsigned int)\n7580 void CPropertySet::SetClassID(_GUID)\n7581 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7582 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7583 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7584 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7585 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7586 void COleDataSource::SetClipboard()\n7587 HWND__ * CWnd::SetClipboardViewer()\n7588 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7589 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7590 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7591 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7592 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7593 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7594 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7595 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7596 int CListCtrl::SetColumn(int,tagLVCOLUMNW const *)\n7597 void CSplitterWnd::SetColumnInfo(int,int,int)\n7598 int CListCtrl::SetColumnOrderArray(int,int *)\n7599 void CListBox::SetColumnWidth(int)\n7600 int CListCtrl::SetColumnWidth(int,int)\n7601 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7602 void CDocTemplate::SetContainerInfo(unsigned int)\n7603 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7604 void CDataPathProperty::SetControl(COleControl *)\n7605 void CReflectorWnd::SetControl(COleControl *)\n7606 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7607 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n7608 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n7609 int COleControl::SetControlSize(int,int)\n7610 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7611 void CFileDialog::SetControlText(int,char const *)\n7612 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n7613 void CTabCtrl::SetCurFocus(int)\n7614 void COleCurrency::SetCurrency(long,long)\n7615 void CColorDialog::SetCurrentColor(unsigned long)\n7616 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n7617 void CWinApp::SetCurrentHandles()\n7618 void CPreviewView::SetCurrentPage(unsigned int,int)\n7619 int CComboBox::SetCurSel(int)\n7620 int CListBox::SetCurSel(int)\n7621 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7622 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7623 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7624 int CTabCtrl::SetCurSel(int)\n7625 HICON__ * CButton::SetCursor(HICON__ *)\n7626 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7627 HICON__ * CStatic::SetCursor(HICON__ *)\n7628 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7629 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7630 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7631 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7632 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7633 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7634 void COccManager::SetDefaultButton(CWnd *,int)\n7635 void COleControlSite::SetDefaultButton(int)\n7636 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n7637 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n7638 int CMenu::SetDefaultItem(unsigned int,int)\n7639 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7640 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7641 void CFileDialog::SetDefExt(char const *)\n7642 void CDialog::SetDefID(unsigned int)\n7643 void CToolTipCtrl::SetDelayTime(unsigned int)\n7644 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7645 void CDumpContext::SetDepth(int)\n7646 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7647 void COlePropertyPage::SetDialogResource(void *)\n7648 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7649 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7650 int COleControlSite::SetDlgCtrlID(int)\n7651 int CWnd::SetDlgCtrlID(int)\n7652 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7653 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7654 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n7655 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n7656 void CFrameWnd::SetDockState(CDockState const &)\n7657 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7658 int CImageList::SetDragCursorImage(int,CPoint)\n7659 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7660 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7661 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7662 int CComboBox::SetDroppedWidth(unsigned int)\n7663 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7664 int CComboBox::SetEditSel(int,int)\n7665 int CComboBoxEx::SetEditSel(int,int)\n7666 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7667 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n7668 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n7669 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7670 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n7671 void COleControl::SetEnabled(int)\n7672 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7673 int CEvent::SetEvent()\n7674 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7675 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7676 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7677 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7678 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7679 int CComboBox::SetExtendedUI(int)\n7680 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7681 int COleControlSite::SetExtent()\n7682 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7683 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7684 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7685 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7686 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7687 void CRecordset::SetFieldDirty(void *,int)\n7688 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7689 void CRecordset::SetFieldNull(void *,int)\n7690 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7691 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7692 void CFieldExchange::SetFieldType(unsigned int)\n7693 void CFile::SetFilePath(wchar_t const *)\n7694 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7695 void CPropertySheet::SetFinishText(wchar_t const *)\n7696 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7697 CWnd * COleControl::SetFocus()\n7698 CWnd * COleControlSite::SetFocus(tagMSG *)\n7699 CWnd * COleControlSite::SetFocus()\n7700 CWnd * CWnd::SetFocus()\n7701 long COleControlSite::XOleIPSite::SetFocus(int)\n7702 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n7703 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n7704 void CFontHolder::SetFont(IFont *)\n7705 void COleControl::SetFont(IFontDisp *)\n7706 void CWnd::SetFont(CFont *,int)\n7707 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7708 void COleControl::SetForeColor(unsigned long)\n7709 int CWnd::SetForegroundWindow()\n7710 int CDateTimeCtrl::SetFormat(wchar_t const *)\n7711 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7712 void CPropertySection::SetFormatID(_GUID)\n7713 void CPropertySet::SetFormatVersion(unsigned short)\n7714 void CHtmlView::SetFullScreen(int)\n7715 void CEdit::SetHandle(void *)\n7716 void CSharedFile::SetHandle(void *,int)\n7717 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7718 void CHtmlView::SetHeight(long)\n7719 void CToolBar::SetHeight(int)\n7720 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7721 void CDialog::SetHelpID(unsigned int)\n7722 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n7723 void CComboBox::SetHorizontalExtent(unsigned int)\n7724 void CListBox::SetHorizontalExtent(int)\n7725 void CDHtmlDialog::SetHostFlags(unsigned long)\n7726 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n7727 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7728 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7729 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7730 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7731 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7732 int CHeaderCtrl::SetHotDivider(int)\n7733 int CHeaderCtrl::SetHotDivider(CPoint)\n7734 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7735 int CListCtrl::SetHotItem(int)\n7736 int CToolBarCtrl::SetHotItem(int)\n7737 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7738 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7739 HICON__ * CButton::SetIcon(HICON__ *)\n7740 HICON__ * CStatic::SetIcon(HICON__ *)\n7741 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7742 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7743 int COleClientItem::SetIconicMetafile(void *)\n7744 CSize CListCtrl::SetIconSpacing(int,int)\n7745 CSize CListCtrl::SetIconSpacing(CSize)\n7746 void CProperty::SetID(unsigned long)\n7747 int CImageList::SetImageCount(unsigned int)\n7748 CImageList * CComboBoxEx::SetImageList(CImageList *)\n7749 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n7750 CImageList * CListCtrl::SetImageList(CImageList *,int)\n7751 int CReBarCtrl::SetImageList(CImageList *)\n7752 CImageList * CTabCtrl::SetImageList(CImageList *)\n7753 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n7754 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n7755 int CToolBarCtrl::SetIndent(int)\n7756 void CTreeCtrl::SetIndent(unsigned int)\n7757 int CStatusBar::SetIndicators(unsigned int const *,int)\n7758 void COleControl::SetInitialDataFormats()\n7759 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n7760 void COleControl::SetInitialSize(int,int)\n7761 void CControlBar::SetInPlaceOwner(CWnd *)\n7762 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n7763 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n7764 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n7765 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n7766 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n7767 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n7768 int CHeaderCtrl::SetItem(int,_HD_ITEMW *)\n7769 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n7770 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n7771 int CListCtrl::SetItem(tagLVITEMW const *)\n7772 int CTabCtrl::SetItem(int,tagTCITEMW *)\n7773 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n7774 int CTreeCtrl::SetItem(tagTVITEMW *)\n7775 void CListCtrl::SetItemCount(int)\n7776 int CListCtrl::SetItemCountEx(int,unsigned long)\n7777 int CComboBox::SetItemData(int,unsigned long)\n7778 int CListBox::SetItemData(int,unsigned long)\n7779 int CListCtrl::SetItemData(int,unsigned long)\n7780 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n7781 int CComboBox::SetItemDataPtr(int,void *)\n7782 int CListBox::SetItemDataPtr(int,void *)\n7783 int CTabCtrl::SetItemExtra(int)\n7784 int CComboBox::SetItemHeight(int,unsigned int)\n7785 int CListBox::SetItemHeight(int,unsigned int)\n7786 short CTreeCtrl::SetItemHeight(short)\n7787 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n7788 void COleServerItem::SetItemName(wchar_t const *)\n7789 int CListCtrl::SetItemPosition(int,tagPOINT)\n7790 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n7791 CSize CTabCtrl::SetItemSize(CSize)\n7792 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n7793 int CListCtrl::SetItemState(int,tagLVITEMW *)\n7794 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n7795 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n7796 int CListCtrl::SetItemText(int,int,wchar_t const *)\n7797 int CTreeCtrl::SetItemText(_TREEITEM *,wchar_t const *)\n7798 unsigned long CDC::SetLayout(unsigned long)\n7799 void CHtmlView::SetLeft(long)\n7800 void CFile::SetLength(unsigned __int64)\n7801 void CInternetFile::SetLength(unsigned __int64)\n7802 void CMemFile::SetLength(unsigned __int64)\n7803 void COleStreamFile::SetLength(unsigned __int64)\n7804 void CSocketFile::SetLength(unsigned __int64)\n7805 void CEdit::SetLimitText(unsigned int)\n7806 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n7807 int CSliderCtrl::SetLineSize(int)\n7808 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n7809 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n7810 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n7811 void CArchive::SetLoadParams(unsigned int)\n7812 unsigned long CComboBox::SetLocale(unsigned long)\n7813 unsigned long CListBox::SetLocale(unsigned long)\n7814 void CRecordset::SetLockingMode(unsigned int)\n7815 void CDatabase::SetLoginTimeout(unsigned long)\n7816 int CDC::SetMapMode(int)\n7817 int CPreviewDC::SetMapMode(int)\n7818 unsigned long CDC::SetMapperFlags(unsigned long)\n7819 void CToolTipCtrl::SetMargin(tagRECT *)\n7820 void CEdit::SetMargins(unsigned int,unsigned int)\n7821 void CRichEditView::SetMargins(CRect const &)\n7822 void CPrintInfo::SetMaxPage(unsigned int)\n7823 int CMonthCalCtrl::SetMaxSelCount(int)\n7824 int CToolBarCtrl::SetMaxTextRows(int)\n7825 int CToolTipCtrl::SetMaxTipWidth(int)\n7826 int CWnd::SetMenu(CMenu *)\n7827 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n7828 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n7829 void CHtmlView::SetMenuBar(int)\n7830 int CMenu::SetMenuContextHelpId(unsigned long)\n7831 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n7832 int CMenu::SetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n7833 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n7834 void CFrameWnd::SetMessageText(unsigned int)\n7835 void CFrameWnd::SetMessageText(wchar_t const *)\n7836 void CStatusBarCtrl::SetMinHeight(int)\n7837 void CPrintInfo::SetMinPage(unsigned int)\n7838 int CTabCtrl::SetMinTabWidth(int)\n7839 int CDC::SetMiterLimit(float)\n7840 void CPropertyPage::SetModified(int)\n7841 void CDocument::SetModifiedFlag(int)\n7842 void COleControl::SetModifiedFlag(int)\n7843 void COlePropertyPage::SetModifiedFlag(int)\n7844 void CRichEditDoc::SetModifiedFlag(int)\n7845 void CEdit::SetModify(int)\n7846 void CRichEditCtrl::SetModify(int)\n7847 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7848 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7849 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7850 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n7851 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n7852 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n7853 int CMonthCalCtrl::SetMonthDelta(int)\n7854 int CPropertySection::SetName(unsigned long,wchar_t const *)\n7855 void COleControl::SetNotPermitted()\n7856 void CCmdTarget::SetNotSupported()\n7857 void COleControl::SetNotSupported()\n7858 void CRecordset::SetNullFieldStatus(unsigned long)\n7859 void CRecordset::SetNullParamStatus(unsigned long)\n7860 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n7861 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n7862 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n7863 void CArchive::SetObjectSchema(unsigned int)\n7864 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7865 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7866 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7867 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n7868 void CHtmlView::SetOffline(int)\n7869 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n7870 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n7871 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7872 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n7873 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7874 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n7875 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n7876 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n7877 int CHeaderCtrl::SetOrderArray(int,int *)\n7878 void CPropertySet::SetOSVersion(unsigned long)\n7879 void CDC::SetOutputDC(HDC__ *)\n7880 void CMetaFileDC::SetOutputDC(HDC__ *)\n7881 void CPreviewDC::SetOutputDC(HDC__ *)\n7882 int CImageList::SetOverlayImage(int,int)\n7883 CWnd * CReBarCtrl::SetOwner(CWnd *)\n7884 void CToolBar::SetOwner(CWnd *)\n7885 void CToolBarCtrl::SetOwner(CWnd *)\n7886 void CWnd::SetOwner(CWnd *)\n7887 void CTabCtrl::SetPadding(CSize)\n7888 void COlePropertyPage::SetPageName(wchar_t const *)\n7889 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n7890 int CSliderCtrl::SetPageSize(int)\n7891 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n7892 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n7893 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n7894 void CStatusBar::SetPaneStyle(int,unsigned int)\n7895 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n7896 void CRichEditView::SetPaperSize(CSize)\n7897 int CRichEditCtrl::SetParaFormat(_paraformat &)\n7898 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n7899 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n7900 void CRecordset::SetParamNull(int,int)\n7901 CWnd * CWnd::SetParent(CWnd *)\n7902 int CStatusBarCtrl::SetParts(int,int *)\n7903 void CEdit::SetPasswordChar(wchar_t)\n7904 void CDataPathProperty::SetPath(wchar_t const *)\n7905 void CDocument::SetPathName(wchar_t const *,int)\n7906 void COleDocument::SetPathName(wchar_t const *,int)\n7907 void CRichEditDoc::SetPathName(wchar_t const *,int)\n7908 void CHandleMap::SetPermanent(void *,CObject *)\n7909 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n7910 unsigned long CDC::SetPixel(int,int,unsigned long)\n7911 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n7912 int CDC::SetPixelV(int,int,unsigned long)\n7913 int CDC::SetPixelV(tagPOINT,unsigned long)\n7914 int CDC::SetPolyFillMode(int)\n7915 int CProgressCtrl::SetPos(int)\n7916 void CSliderCtrl::SetPos(int)\n7917 int CSpinButtonCtrl::SetPos(int)\n7918 int CSpinButtonCtrl::SetPos32(int)\n7919 void COleIPFrameWnd::SetPreviewMode(int)\n7920 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n7921 int COleClientItem::SetPrintDevice(tagPDW const *)\n7922 void CEditView::SetPrinterFont(CFont *)\n7923 int CPreviewView::SetPrintView(CView *)\n7924 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n7925 void COleControlSite::SetProperty(long,unsigned short,...)\n7926 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n7927 void CWnd::SetProperty(long,unsigned short,...)\n7928 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n7929 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n7930 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n7931 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n7932 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n7933 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n7934 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n7935 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n7936 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n7937 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n7938 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n7939 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n7940 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7941 long CWnd::SetProxy(IAccessibleProxy *)\n7942 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n7943 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n7944 void CDatabase::SetQueryTimeout(unsigned long)\n7945 void CCmdUI::SetRadio(int)\n7946 void CTestCmdUI::SetRadio(int)\n7947 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n7948 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n7949 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n7950 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n7951 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n7952 void CProgressCtrl::SetRange(short,short)\n7953 void CSliderCtrl::SetRange(int,int,int)\n7954 void CSpinButtonCtrl::SetRange(short,short)\n7955 void CProgressCtrl::SetRange32(int,int)\n7956 void CSpinButtonCtrl::SetRange32(int,int)\n7957 void CSliderCtrl::SetRangeMax(int,int)\n7958 void CSliderCtrl::SetRangeMin(int,int)\n7959 int CInternetFile::SetReadBufferSize(unsigned int)\n7960 int CEdit::SetReadOnly(int)\n7961 int CRichEditCtrl::SetReadOnly(int)\n7962 void CEdit::SetRect(tagRECT const *)\n7963 void CRichEditCtrl::SetRect(tagRECT const *)\n7964 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n7965 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n7966 int COleControl::SetRectInContainer(tagRECT const *)\n7967 void CEdit::SetRectNP(tagRECT const *)\n7968 void CRgn::SetRectRgn(int,int,int,int)\n7969 void CRgn::SetRectRgn(tagRECT const *)\n7970 void CWnd::SetRedraw(int)\n7971 void CHtmlView::SetRegisterAsBrowser(int)\n7972 void CHtmlView::SetRegisterAsDropTarget(int)\n7973 void CWinApp::SetRegistryKey(unsigned int)\n7974 void CWinApp::SetRegistryKey(wchar_t const *)\n7975 void COleMessageFilter::SetRetryReply(unsigned long)\n7976 int CDC::SetROP2(int)\n7977 void CSplitterWnd::SetRowInfo(int,int,int)\n7978 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n7979 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n7980 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n7981 void CRecordset::SetRowsetSize(unsigned long)\n7982 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n7983 void CPreviewView::SetScaledSize(unsigned int)\n7984 void CPreviewDC::SetScaleRatio(int,int)\n7985 void CScrollView::SetScaleToFitSize(tagSIZE)\n7986 void CDockState::SetScreenSize(CSize &)\n7987 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n7988 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n7989 int CScrollBar::SetScrollPos(int,int)\n7990 int CWnd::SetScrollPos(int,int,int)\n7991 void CScrollBar::SetScrollRange(int,int,int)\n7992 void CWnd::SetScrollRange(int,int,int,int)\n7993 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n7994 void CSplitterWnd::SetScrollStyle(unsigned long)\n7995 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n7996 int CPropertySection::SetSectionName(wchar_t const *)\n7997 void CEdit::SetSel(int,int,int)\n7998 void CEdit::SetSel(unsigned long,int)\n7999 int CListBox::SetSel(int,int)\n8000 void CRichEditCtrl::SetSel(_charrange &)\n8001 void CRichEditCtrl::SetSel(long,long)\n8002 void CSliderCtrl::SetSelection(int,int)\n8003 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n8004 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n8005 void CCheckListBox::SetSelectionCheck(int)\n8006 int CListCtrl::SetSelectionMark(int)\n8007 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8008 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8009 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8010 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8011 void CHtmlView::SetSilent(int)\n8012 int CStatusBarCtrl::SetSimple(int)\n8013 long CPrintDialogEx::SetSite(IUnknown *)\n8014 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8015 void CByteArray::SetSize(int,int)\n8016 void CDWordArray::SetSize(int,int)\n8017 void CObArray::SetSize(int,int)\n8018 void CPtrArray::SetSize(int,int)\n8019 void CStringArray::SetSize(int,int)\n8020 void CUIntArray::SetSize(int,int)\n8021 void CWordArray::SetSize(int,int)\n8022 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8023 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8024 void CSplitterWnd::SetSplitCursor(int)\n8025 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8026 void CButton::SetState(int)\n8027 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n8028 int CToolBarCtrl::SetState(int,unsigned int)\n8029 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n8030 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8031 void CHtmlView::SetStatusBar(int)\n8032 int CControlBar::SetStatusText(int)\n8033 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8034 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8035 int CProgressCtrl::SetStep(int)\n8036 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8037 int CDC::SetStretchBltMode(int)\n8038 void COleVariant::SetString(wchar_t const *,unsigned short)\n8039 void CToolBarCtrl::SetStyle(unsigned long)\n8040 void CDatabase::SetSynchronousMode(int)\n8041 int CDialogTemplate::SetSystemFont(unsigned short)\n8042 int CEdit::SetTabStops(int const &)\n8043 int CEdit::SetTabStops(int,int *)\n8044 void CEdit::SetTabStops()\n8045 void CEditView::SetTabStops(int)\n8046 int CListBox::SetTabStops(int const &)\n8047 int CListBox::SetTabStops(int,int *)\n8048 void CListBox::SetTabStops()\n8049 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8050 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8051 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8052 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8053 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n8054 void CCmdUI::SetText(wchar_t const *)\n8055 void COleCmdUI::SetText(wchar_t const *)\n8056 void COleControl::SetText(wchar_t const *)\n8057 int CStatusBarCtrl::SetText(wchar_t const *,int,int)\n8058 void CStatusCmdUI::SetText(wchar_t const *)\n8059 void CTestCmdUI::SetText(wchar_t const *)\n8060 void CToolCmdUI::SetText(wchar_t const *)\n8061 unsigned int CDC::SetTextAlign(unsigned int)\n8062 int CListCtrl::SetTextBkColor(unsigned long)\n8063 int CDC::SetTextCharacterExtra(int)\n8064 unsigned long CDC::SetTextColor(unsigned long)\n8065 int CListCtrl::SetTextColor(unsigned long)\n8066 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8067 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8068 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8069 int CDC::SetTextJustification(int,int)\n8070 int CRichEditCtrl::SetTextMode(unsigned int)\n8071 void CHtmlView::SetTheaterMode(int)\n8072 int CWinThread::SetThreadPriority(int)\n8073 int CSliderCtrl::SetTic(int)\n8074 void CSliderCtrl::SetTicFreq(int)\n8075 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8076 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8077 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8078 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8079 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8080 int CSliderCtrl::SetTipSide(int)\n8081 void CStatusBarCtrl::SetTipText(int,wchar_t const *)\n8082 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8083 void CDocument::SetTitle(wchar_t const *)\n8084 void CFrameWnd::SetTitle(wchar_t const *)\n8085 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n8086 void CRichEditDoc::SetTitle(wchar_t const *)\n8087 int CToolTipCtrl::SetTitle(unsigned int,wchar_t const *)\n8088 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8089 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8090 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8091 void CHtmlView::SetToolBar(int)\n8092 void CToolTipCtrl::SetToolInfo(tagTOOLINFOW *)\n8093 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8094 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8095 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8096 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8097 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8098 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8099 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8100 void CHtmlView::SetTop(long)\n8101 int CComboBox::SetTopIndex(int)\n8102 int CListBox::SetTopIndex(int)\n8103 void CPreviewDC::SetTopLeftOffset(CSize)\n8104 void CProperty::SetType(unsigned long)\n8105 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8106 void CRecordset::SetUpdateMethod()\n8107 void CThreadSlotData::SetValue(int,void *)\n8108 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8109 CSize CDC::SetViewportExt(tagSIZE)\n8110 CSize CDC::SetViewportExt(int,int)\n8111 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8112 CSize CMetaFileDC::SetViewportExt(int,int)\n8113 CSize CPreviewDC::SetViewportExt(int,int)\n8114 CPoint CDC::SetViewportOrg(tagPOINT)\n8115 CPoint CDC::SetViewportOrg(int,int)\n8116 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8117 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8118 CPoint CPreviewDC::SetViewportOrg(int,int)\n8119 void CHtmlView::SetVisible(int)\n8120 void CHtmlView::SetWidth(long)\n8121 int CWnd::SetWindowContextHelpId(unsigned long)\n8122 CSize CDC::SetWindowExt(tagSIZE)\n8123 CSize CDC::SetWindowExt(int,int)\n8124 CSize CPreviewDC::SetWindowExt(int,int)\n8125 CPoint CDC::SetWindowOrg(int,int)\n8126 CPoint CDC::SetWindowOrg(tagPOINT)\n8127 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8128 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8129 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8130 int CWnd::SetWindowRgn(HRGN__ *,int)\n8131 void COleControlSite::SetWindowTextW(wchar_t const *)\n8132 void CWnd::SetWindowTextW(wchar_t const *)\n8133 void CPropertySheet::SetWizardButtons(unsigned long)\n8134 void CPropertySheet::SetWizardMode()\n8135 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n8136 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n8137 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8138 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8139 int CInternetFile::SetWriteBufferSize(unsigned int)\n8140 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8141 long CDocObjectServer::XOleDocumentView::Show(int)\n8142 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8143 void CDockBar::ShowAll(int)\n8144 int CReBarCtrl::ShowBand(unsigned int,int)\n8145 void CWnd::ShowCaret()\n8146 long CRichEditCntrItem::ShowContainerUI(int)\n8147 long CRichEditView::ShowContainerUI(int)\n8148 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8149 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8150 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8151 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8152 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8153 void CComboBox::ShowDropDown(int)\n8154 long COleClientItem::XOleClientSite::ShowObject()\n8155 long COleControlSite::XOleClientSite::ShowObject()\n8156 void CWnd::ShowOwnedPopups(int)\n8157 void CFrameWnd::ShowOwnedWindows(int)\n8158 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8159 void CScrollBar::ShowScrollBar(int)\n8160 void CWnd::ShowScrollBar(unsigned int,int)\n8161 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8162 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8163 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8164 int COleControlSite::ShowWindow(int)\n8165 int CWnd::ShowWindow(int)\n8166 int CAsyncSocket::ShutDown(int)\n8167 tagSIZE const CScrollView::sizeDefault\n8168 int CMonthCalCtrl::SizeMinReq(int)\n8169 void CBitmapButton::SizeToContent()\n8170 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8171 int CReBarCtrl::SizeToRect(CRect &)\n8172 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8173 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8174 int CAsyncSocket::Socket(int,long,int,int)\n8175 int CTreeCtrl::SortChildren(_TREEITEM *)\n8176 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8177 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8178 int CSplitterWnd::SplitColumn(int)\n8179 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8180 int CSplitterWnd::SplitRow(int)\n8181 int CDC::StartDocW(_DOCINFOW *)\n8182 int CDC::StartDocW(wchar_t const *)\n8183 void CDockContext::StartDrag(CPoint)\n8184 int CDC::StartPage()\n8185 void CDockContext::StartResize(int,CPoint)\n8186 void CSplitterWnd::StartTracking(int)\n8187 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8188 int CProgressCtrl::StepIt()\n8189 int CAnimateCtrl::Stop()\n8190 void CHtmlView::Stop()\n8191 void CRichEditCtrl::StopGroupTyping()\n8192 void CSplitterWnd::StopTracking(int)\n8193 void CRuntimeClass::Store(CArchive &)const \n8194 void CRecordset::StoreFields()\n8195 void CRichEditView::Stream(CArchive &,int)\n8196 long CRichEditCtrl::StreamIn(int,_editstream &)\n8197 long CRichEditCtrl::StreamOut(int,_editstream &)\n8198 void CDockContext::Stretch(CPoint)\n8199 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8200 int CDC::StrokeAndFillPath()\n8201 int CDC::StrokePath()\n8202 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8203 int CWnd::SubclassWindow(HWND__ *)\n8204 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8205 int COleDocObjectItem::SupportsIPrint()\n8206 unsigned long CWinThread::SuspendThread()\n8207 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8208 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8209 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8210 CSize CDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8211 CSize CDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8212 CSize CMetaFileDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8213 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8214 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8215 void CRichEditView::TextNotFound(wchar_t const *)\n8216 int CDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8217 int CDC::TextOutW(int,int,wchar_t const *,int)\n8218 int CMetaFileDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8219 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n8220 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n8221 void CDatabase::ThrowDBException(short)\n8222 void CRecordset::ThrowDBException(short,void *)\n8223 void CFileException::ThrowErrno(int,wchar_t const *)\n8224 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8225 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n8226 void CFileException::ThrowOsError(long,wchar_t const *)\n8227 void CDockContext::ToggleDocking()\n8228 COleVariant CDataSourceControl::ToVariant(int)\n8229 ATL::CTraceCategory traceAppMsg\n8230 ATL::CTraceCategory traceCmdRouting\n8231 ATL::CTraceCategory traceDatabase\n8232 ATL::CTraceCategory traceDumpContext\n8233 void CDBException::TraceErrorMessage(wchar_t const *)const \n8234 ATL::CTraceCategory traceGdi\n8235 ATL::CTraceCategory traceHtml\n8236 ATL::CTraceCategory traceInternet\n8237 ATL::CTraceCategory traceKernel\n8238 ATL::CTraceCategory traceMemory\n8239 ATL::CTraceCategory traceMultiApp\n8240 ATL::CTraceCategory traceOle\n8241 ATL::CTraceCategory traceSocket\n8242 ATL::CTraceCategory traceUser\n8243 ATL::CTraceCategory traceWinMsg\n8244 int CDockContext::Track()\n8245 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8246 void CSplitterWnd::TrackColumnSize(int,int)\n8247 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8248 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8249 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8250 void CSplitterWnd::TrackRowSize(int,int)\n8251 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8252 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8253 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8254 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8255 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8256 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8257 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n8258 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8259 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8260 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8261 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8262 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n8263 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8264 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8265 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8266 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8267 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8268 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8269 void COccManager::UIActivateControl(CWnd *)\n8270 long COleControl::XOleInPlaceObject::UIDeactivate()\n8271 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8272 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8273 void COleSafeArray::UnaccessData()\n8274 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8275 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8276 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8277 long COleControl::XOleObject::Unadvise(unsigned long)\n8278 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8279 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8280 void CRecordset::UnbindFieldsForUpdate()\n8281 long COleControl::XOleCache::Uncache(unsigned long)\n8282 int CEdit::Undo()\n8283 int CRichEditCtrl::Undo()\n8284 long COleControl::XViewObject::Unfreeze(unsigned long)\n8285 int CCriticalSection::Unlock()\n8286 int CEvent::Unlock()\n8287 int CMultiLock::Unlock(long,long *)\n8288 int CMultiLock::Unlock()\n8289 int CMutex::Unlock()\n8290 void COleSafeArray::Unlock()\n8291 int CSemaphore::Unlock(long,long *)\n8292 int CSemaphore::Unlock()\n8293 int CSingleLock::Unlock(long,long *)\n8294 int CSingleLock::Unlock()\n8295 void CTypeLibCache::Unlock()\n8296 void CEditView::UnlockBuffer()const \n8297 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8298 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8299 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8300 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8301 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8302 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8303 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8304 void CWnd::UnlockWindowUpdate()\n8305 int CGdiObject::UnrealizeObject()\n8306 int COleObjectFactory::Unregister()\n8307 int COleTemplateServer::Unregister()\n8308 int CWinApp::Unregister()\n8309 int COleObjectFactory::UnregisterAll()\n8310 void CDocManager::UnregisterShellFileTypes()\n8311 void CWinApp::UnregisterShellFileTypes()\n8312 HWND__ * CWnd::UnsubclassWindow()\n8313 int CListCtrl::Update(int)\n8314 int CRecordset::Update()\n8315 void CToolTipCtrl::Update()\n8316 long CDocObjectServer::XOleObject::Update()\n8317 long COleControl::XOleObject::Update()\n8318 long COleServerDoc::XOleObject::Update()\n8319 long COleServerItem::XOleObject::Update()\n8320 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8321 void CStatusBar::UpdateAllPanes(int,int)\n8322 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8323 void CScrollView::UpdateBars()\n8324 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8325 void CDC::UpdateColors()\n8326 long CDataSourceControl::UpdateControls()\n8327 long CDataSourceControl::UpdateCursor()\n8328 void CMemoryState::UpdateData()\n8329 int CWnd::UpdateData(int)\n8330 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8331 void CDocument::UpdateFrameCounts()\n8332 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n8333 int CRecordset::UpdateInsertDelete()\n8334 void COleClientItem::UpdateItemType()\n8335 int COleClientItem::UpdateLink()\n8336 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8337 void CRecentFileList::UpdateMenu(CCmdUI *)\n8338 void COleDocument::UpdateModifiedFlag()\n8339 void CRichEditDoc::UpdateModifiedFlag()\n8340 void CRichEditDoc::UpdateObjectCache()\n8341 void CWinApp::UpdatePrinterSelection(int)\n8342 int COleObjectFactory::UpdateRegistry(int)\n8343 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n8344 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n8345 int COleObjectFactory::UpdateRegistryAll(int)\n8346 void CDockContext::UpdateState(int *,int)\n8347 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8348 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n8349 long CBrowserControlSite::UpdateUI()\n8350 long CDHtmlDialog::UpdateUI()\n8351 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8352 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8353 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8354 void CWnd::UpdateWindow()\n8355 void CWnd::ValidateRect(tagRECT const *)\n8356 void CWnd::ValidateRgn(CRgn *)\n8357 void CDatabase::VerifyConnect()\n8358 unsigned long CRecordset::VerifyCursorSupport()\n8359 void CRecordset::VerifyDriverBehavior()\n8360 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8361 int COleObjectFactory::VerifyUserLicense()\n8362 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8363 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8364 int CDC::WidenPath()\n8365 int COleControl::WillAmbientsBeValidDuringLoad()\n8366 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8367 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8368 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8369 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8370 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8371 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8372 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8373 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8374 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8375 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8376 void CWinApp::WinHelpW(unsigned long,unsigned int)\n8377 void CWnd::WinHelpW(unsigned long,unsigned int)\n8378 CWnd const CWnd::wndBottom\n8379 CWnd const CWnd::wndNoTopMost\n8380 CWnd const CWnd::wndTop\n8381 CWnd const CWnd::wndTopMost\n8382 void CRichEditView::WrapChanged()\n8383 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8384 void CArchive::Write(void const *,unsigned int)\n8385 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8386 void CFile::Write(void const *,unsigned int)\n8387 void CGopherFile::Write(void const *,unsigned int)\n8388 int CImageList::Write(CArchive *)\n8389 void CInternetFile::Write(void const *,unsigned int)\n8390 void CMemFile::Write(void const *,unsigned int)\n8391 void COleStreamFile::Write(void const *,unsigned int)\n8392 void CSocketFile::Write(void const *,unsigned int)\n8393 void CStdioFile::Write(void const *,unsigned int)\n8394 void CArchive::WriteClass(CRuntimeconst *)\n8395 void CArchive::WriteCount(unsigned long)\n8396 void COleClientItem::WriteItem(CArchive &)\n8397 void COleClientItem::WriteItemCompound(CArchive &)\n8398 void COleClientItem::WriteItemFlat(CArchive &)\n8399 void CRecentFileList::WriteList()\n8400 int CPropertySection::WriteNameDictToStream(IStream *)\n8401 void CArchive::WriteObject(CObject const *)\n8402 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n8403 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n8404 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n8405 void CArchive::WriteString(wchar_t const *)\n8406 void CGopherFile::WriteString(wchar_t const *)\n8407 void CInternetFile::WriteString(wchar_t const *)\n8408 void CStdioFile::WriteString(wchar_t const *)\n8409 void CEditView::WriteToArchive(CArchive &)\n8410 int CProperty::WriteToStream(IStream *)\n8411 int CPropertySection::WriteToStream(IStream *)\n8412 int CPropertySet::WriteToStream(IStream *)\n8413 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n8414 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n8415 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n8416 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n8417 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n8418 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n8419 int AfxInitRichEdit2()\n8420 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n8421 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n8422 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8423 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8424 CDaoException::CDaoException()\n8425 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8426 CDaoIndexInfo::CDaoIndexInfo()\n8427 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8428 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8429 CDaoRecordView::CDaoRecordView(unsigned int)\n8430 CDaoRecordView::CDaoRecordView(wchar_t const *)\n8431 CDaoRelationInfo::CDaoRelationInfo()\n8432 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8433 CDaoWorkspace::CDaoWorkspace()\n8434 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8435 CDaoDatabase::~CDaoDatabase()\n8436 CDaoException::~CDaoException()\n8437 CDaoIndexInfo::~CDaoIndexInfo()\n8438 CDaoQueryDef::~CDaoQueryDef()\n8439 CDaoRecordset::~CDaoRecordset()\n8440 CDaoRecordView::~CDaoRecordView()\n8441 CDaoRelationInfo::~CDaoRelationInfo()\n8442 CDaoTableDef::~CDaoTableDef()\n8443 CDaoWorkspace::~CDaoWorkspace()\n8444 void CDaoRecordset::AddNew()\n8445 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8446 _DAODBEngine * AfxDaoGetEngine()\n8447 void AfxDaoInit()\n8448 void AfxDaoTerm()\n8449 void AfxDaoTrace(long,char const *,char const *,int)\n8450 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8451 _AFX_DAO_STATE * AfxGetDaoState()\n8452 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8453 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8454 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8455 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8456 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8457 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8458 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8459 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8460 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8461 void AfxThrowDaoException(int,long)\n8462 void CDaoRecordset::AllocCache()\n8463 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8464 void CDaoRecordset::AllocDatabase()\n8465 void AllocLongBinary(CLongBinary &,unsigned long)\n8466 void CDaoQueryDef::Append()\n8467 void CDaoTableDef::Append()\n8468 void CDaoWorkspace::Append()\n8469 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n8470 void CDaoDatabase::AssertValid()const \n8471 void CDaoQueryDef::AssertValid()const \n8472 void CDaoRecordset::AssertValid()const \n8473 void CDaoRecordView::AssertValid()const \n8474 void CDaoTableDef::AssertValid()const \n8475 void CDaoWorkspace::AssertValid()const \n8476 void CDaoWorkspace::BeginTrans()\n8477 void CDaoRecordset::BindFields()\n8478 void CDaoRecordset::BindParameters()\n8479 void CDaoRecordset::BuildParameterList()\n8480 void CDaoRecordset::BuildSelectList()\n8481 void CDaoRecordset::BuildSQL()\n8482 int CDaoRecordset::CanAppend()const \n8483 int CDaoRecordset::CanBookmark()\n8484 void CDaoRecordset::CancelUpdate()\n8485 int CDaoRecordset::CanRestart()\n8486 int CDaoRecordset::CanScroll()const \n8487 int CDaoDatabase::CanTransact()\n8488 int CDaoRecordset::CanTransact()\n8489 int CDaoDatabase::CanUpdate()\n8490 int CDaoQueryDef::CanUpdate()\n8491 int CDaoRecordset::CanUpdate()const \n8492 int CDaoTableDef::CanUpdate()\n8493 CRuntimeconst CDaoDatabase::classCDaoDatabase\n8494 CRuntimeconst CDaoException::classCDaoException\n8495 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n8496 CRuntimeconst CDaoRecordset::classCDaoRecordset\n8497 CRuntimeconst CDaoRecordView::classCDaoRecordView\n8498 CRuntimeconst CDaoTableDef::classCDaoTableDef\n8499 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n8500 CRuntimeconst CDatabase::classCDatabase\n8501 CRuntimeconst CDBException::classCDBException\n8502 CRuntimeconst CLongBinary::classCLongBinary\n8503 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n8504 CRuntimeconst CRecordset::classCRecordset\n8505 CRuntimeconst CRecordView::classCRecordView\n8506 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8507 void CDaoRecordset::ClearFieldStatusFlags()\n8508 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8509 void CDaoDatabase::Close()\n8510 void CDaoQueryDef::Close()\n8511 void CDaoRecordset::Close()\n8512 void CDaoTableDef::Close()\n8513 void CDaoWorkspace::Close()\n8514 void CDaoWorkspace::CommitTrans()\n8515 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n8516 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n8517 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8518 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8519 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n8520 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n8521 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n8522 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n8523 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8524 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n8525 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8526 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8527 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n8528 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8529 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8530 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8531 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8532 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8533 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8534 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8535 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8536 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8537 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8538 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8539 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8540 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8541 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8542 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8543 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8544 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8545 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8546 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8547 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8548 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n8549 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n8550 void CDaoRecordset::Delete()\n8551 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8552 void CDaoTableDef::DeleteField(int)\n8553 void CDaoTableDef::DeleteField(wchar_t const *)\n8554 void CDaoTableDef::DeleteIndex(int)\n8555 void CDaoTableDef::DeleteIndex(wchar_t const *)\n8556 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n8557 void CDaoDatabase::DeleteRelation(wchar_t const *)\n8558 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n8559 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n8560 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n8561 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n8562 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n8563 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n8564 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n8565 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n8566 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n8567 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n8568 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n8569 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n8570 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8571 void CDaoDatabase::Dump(CDumpContext &)const \n8572 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8573 void CDaoErrorInfo::Dump(CDumpContext &)const \n8574 void CDaoFieldInfo::Dump(CDumpContext &)const \n8575 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8576 void CDaoIndexInfo::Dump(CDumpContext &)const \n8577 void CDaoParameterInfo::Dump(CDumpContext &)const \n8578 void CDaoQueryDef::Dump(CDumpContext &)const \n8579 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8580 void CDaoRecordset::Dump(CDumpContext &)const \n8581 void CDaoRecordView::Dump(CDumpContext &)const \n8582 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8583 void CDaoRelationInfo::Dump(CDumpContext &)const \n8584 void CDaoTableDef::Dump(CDumpContext &)const \n8585 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8586 void CDaoWorkspace::Dump(CDumpContext &)const \n8587 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8588 void CDaoRecordset::Edit()\n8589 void CDaoDatabase::Execute(wchar_t const *,int)\n8590 void CDaoQueryDef::Execute(int)\n8591 void CDaoRecordset::FillCache(long *,COleVariant *)\n8592 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8593 void CDaoException::FillErrorInfo()\n8594 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8595 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8596 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8597 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8598 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8599 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8600 int CDaoRecordset::Find(long,wchar_t const *)\n8601 int CDaoRecordset::FindFirst(wchar_t const *)\n8602 int CDaoRecordset::FindLast(wchar_t const *)\n8603 int CDaoRecordset::FindNext(wchar_t const *)\n8604 int CDaoRecordset::FindPrev(wchar_t const *)\n8605 void CDaoRecordset::Fixup()\n8606 void CDaoRecordset::FreeCache()\n8607 long CDaoRecordset::GetAbsolutePosition()\n8608 long CDaoTableDef::GetAttributes()\n8609 COleVariant CDaoRecordset::GetBookmark()\n8610 long CDaoRecordset::GetCacheSize()\n8611 COleVariant CDaoRecordset::GetCacheStart()\n8612 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8613 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n8614 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n8615 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n8616 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n8617 void CDaoRecordset::GetDataAndFixupNulls()\n8618 short CDaoWorkspace::GetDatabaseCount()\n8619 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8620 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n8621 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8622 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8623 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8624 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8625 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8626 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8627 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n8628 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n8629 short CDaoRecordset::GetEditMode()\n8630 short CDaoException::GetErrorCount()\n8631 void CDaoException::GetErrorInfo(int)\n8632 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n8633 short CDaoQueryDef::GetFieldCount()\n8634 short CDaoRecordset::GetFieldCount()\n8635 short CDaoTableDef::GetFieldCount()\n8636 int CDaoRecordset::GetFieldIndex(void *)\n8637 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8638 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8639 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8640 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8641 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8642 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8643 unsigned long CDaoRecordset::GetFieldLength(int)\n8644 COleVariant CDaoRecordset::GetFieldValue(int)\n8645 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n8646 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8647 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n8648 short CDaoRecordset::GetIndexCount()\n8649 short CDaoTableDef::GetIndexCount()\n8650 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8651 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8652 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8653 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8654 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n8655 int CDaoWorkspace::GetIsolateODBCTrans()\n8656 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8657 int CDaoRecordset::GetLockingMode()\n8658 short CDaoWorkspace::GetLoginTimeout()\n8659 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8660 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n8661 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n8662 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n8663 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n8664 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n8665 short CDaoQueryDef::GetODBCTimeout()\n8666 short CDaoQueryDef::GetParameterCount()\n8667 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8668 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n8669 COleVariant CDaoQueryDef::GetParamValue(int)\n8670 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n8671 COleVariant CDaoRecordset::GetParamValue(int)\n8672 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n8673 float CDaoRecordset::GetPercentPosition()\n8674 short CDaoDatabase::GetQueryDefCount()\n8675 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8676 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n8677 short CDaoDatabase::GetQueryTimeout()\n8678 long CDaoRecordset::GetRecordCount()\n8679 long CDaoTableDef::GetRecordCount()\n8680 long CDaoDatabase::GetRecordsAffected()\n8681 long CDaoQueryDef::GetRecordsAffected()\n8682 short CDaoDatabase::GetRelationCount()\n8683 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8684 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n8685 int CDaoQueryDef::GetReturnsRecords()\n8686 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8687 CRuntime* CDaoException::GetRuntimeClass()const \n8688 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8689 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8690 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8691 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8692 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8693 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n8694 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n8695 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n8696 short CDaoDatabase::GetTableDefCount()\n8697 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8698 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n8699 CRuntime* CDaoDatabase::GetThisClass()\n8700 CRuntime* CDaoException::GetThisClass()\n8701 CRuntime* CDaoQueryDef::GetThisClass()\n8702 CRuntime* CDaoRecordset::GetThisClass()\n8703 CRuntime* CDaoRecordView::GetThisClass()\n8704 CRuntime* CDaoTableDef::GetThisClass()\n8705 CRuntime* CDaoWorkspace::GetThisClass()\n8706 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8707 short CDaoQueryDef::GetType()\n8708 short CDaoRecordset::GetType()\n8709 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n8710 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n8711 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n8712 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n8713 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n8714 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n8715 ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n8716 short CDaoWorkspace::GetWorkspaceCount()\n8717 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8718 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n8719 void CDaoWorkspace::Idle(int)\n8720 void CDaoWorkspace::InitDatabasesCollection()\n8721 void CDaoException::InitErrorsCollection()\n8722 void CDaoQueryDef::InitFieldsCollection()\n8723 void CDaoRecordset::InitFieldsCollection()\n8724 void CDaoTableDef::InitFieldsCollection()\n8725 void CDaoWorkspace::InitializeEngine()\n8726 void CDaoRecordset::InitIndexesCollection()\n8727 void CDaoTableDef::InitIndexesCollection()\n8728 void CDaoQueryDef::InitParametersCollection()\n8729 void CDaoDatabase::InitQueryDefsCollection()\n8730 void CDaoDatabase::InitRelationsCollection()\n8731 void CDaoDatabase::InitTableDefsCollection()\n8732 void CDaoDatabase::InitWorkspace()\n8733 void CDaoWorkspace::InitWorkspacesCollection()\n8734 int CDaoRecordset::IsBOF()const \n8735 int CDaoRecordset::IsDeleted()const \n8736 int CDaoRecordset::IsEOF()const \n8737 int CDaoRecordset::IsFieldDirty(void *)\n8738 int CDaoRecordset::IsFieldNull(void *)\n8739 int CDaoRecordset::IsFieldNullable(void *)\n8740 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n8741 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n8742 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n8743 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n8744 int CDaoRecordset::IsMatch()\n8745 int CDaoWorkspace::IsNew()const \n8746 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n8747 int CDaoRecordView::IsOnFirstRecord()\n8748 int CDaoRecordView::IsOnLastRecord()\n8749 int CDaoDatabase::IsOpen()const \n8750 int CDaoQueryDef::IsOpen()const \n8751 int CDaoRecordset::IsOpen()const \n8752 int CDaoTableDef::IsOpen()const \n8753 int CDaoWorkspace::IsOpen()const \n8754 int CDaoFieldExchange::IsValidOperation()\n8755 void CDaoRecordset::LoadFields()\n8756 void CDaoRecordset::MarkForAddNew()\n8757 void CDaoRecordset::MarkForEdit()\n8758 AFX_MSGMAP const CDaoRecordView::messageMap\n8759 AFX_MSGMAP const COleDBRecordView::messageMap\n8760 AFX_MSGMAP const CRecordView::messageMap\n8761 void CDaoRecordset::Move(long)\n8762 void CDaoRecordset::MoveFirst()\n8763 void CDaoRecordset::MoveLast()\n8764 void CDaoRecordset::MoveNext()\n8765 void CDaoRecordset::MovePrev()\n8766 void CDaoRecordView::OnInitialUpdate()\n8767 void CDaoRecordView::OnMove(int,int)\n8768 int CDaoRecordView::OnMove(unsigned int)\n8769 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n8770 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n8771 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n8772 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n8773 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n8774 void CDaoQueryDef::Open(wchar_t const *)\n8775 void CDaoRecordset::Open(int,wchar_t const *,int)\n8776 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n8777 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n8778 void CDaoTableDef::Open(wchar_t const *)\n8779 void CDaoWorkspace::Open(wchar_t const *)\n8780 void CDaoTableDef::RefreshLink()\n8781 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n8782 void CDaoRecordset::Requery()\n8783 void CDaoWorkspace::Rollback()\n8784 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n8785 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n8786 void CDaoRecordset::SetAbsolutePosition(long)\n8787 void CDaoTableDef::SetAttributes(long)\n8788 void CDaoRecordset::SetBookmark(COleVariant)\n8789 void CDaoRecordset::SetCacheSize(long)\n8790 void CDaoRecordset::SetCacheStart(COleVariant)\n8791 void CDaoQueryDef::SetConnect(wchar_t const *)\n8792 void CDaoTableDef::SetConnect(wchar_t const *)\n8793 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n8794 void CDaoRecordset::SetCursorAttributes()\n8795 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n8796 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n8797 void CDaoRecordset::SetDirtyFields()\n8798 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n8799 void CDaoRecordset::SetFieldDirty(void *,int)\n8800 void CDaoRecordset::SetFieldNull(void *,int)\n8801 void CDaoFieldExchange::SetFieldType(unsigned int)\n8802 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n8803 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n8804 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n8805 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n8806 void CDaoRecordset::SetFieldValueNull(int)\n8807 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n8808 void CDaoWorkspace::SetIniPath(wchar_t const *)\n8809 void CDaoWorkspace::SetIsolateODBCTrans(int)\n8810 void CDaoRecordset::SetLockingMode(int)\n8811 void CDaoWorkspace::SetLoginTimeout(short)\n8812 void CDaoQueryDef::SetName(wchar_t const *)\n8813 void CDaoTableDef::SetName(wchar_t const *)\n8814 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n8815 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n8816 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n8817 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n8818 void CDaoQueryDef::SetODBCTimeout(short)\n8819 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n8820 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n8821 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n8822 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n8823 void CDaoQueryDef::SetParamValueNull(int)\n8824 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n8825 void CDaoRecordset::SetParamValueNull(int)\n8826 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n8827 void CDaoRecordset::SetPercentPosition(float)\n8828 void CDaoDatabase::SetQueryTimeout(short)\n8829 void CDaoQueryDef::SetReturnsRecords(int)\n8830 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n8831 void CDaoQueryDef::SetSQL(wchar_t const *)\n8832 void CDaoTableDef::SetValidationRule(wchar_t const *)\n8833 void CDaoTableDef::SetValidationText(wchar_t const *)\n8834 void CDaoRecordset::StoreFields()\n8835 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n8836 void CDaoDatabase::ThrowDaoException(int)\n8837 void CDaoQueryDef::ThrowDaoException(int)\n8838 void CDaoRecordset::ThrowDaoException(int)\n8839 void CDaoTableDef::ThrowDaoException(int)\n8840 void CDaoWorkspace::ThrowDaoException(int)\n8841 void ThrowGetRowsDaoException(long)\n8842 void CDaoRecordset::Update()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc71.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n258 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n259 unsigned int HashKey<char const *>(char const *)\n260 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n261 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n262 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n263 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n264 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n294 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n295 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n296 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n311 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n312 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n313 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n314 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n315 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n316 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n317 CArchive::CArchive(CFile *,unsigned int,int,void *)\n318 CArchivePropExchange::CArchivePropExchange(CArchive &)\n319 CArchiveStream::CArchiveStream(CArchive *)\n320 CAsyncMonikerFile::CAsyncMonikerFile()\n321 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n322 CAsyncSocket::CAsyncSocket()\n323 CBlobProperty::CBlobProperty(void *)\n324 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n325 CBrush::CBrush(int,unsigned long)\n326 CBrush::CBrush(unsigned long)\n327 CBrush::CBrush(CBitmap *)\n328 CByteArray::CByteArray()\n329 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n330 CClientDC::CClientDC(CWnd *)\n331 CCmdTarget::CCmdTarget()\n332 CCmdUI::CCmdUI()\n333 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n334 CCommandLineInfo::CCommandLineInfo()\n335 CConnectionPoint::CConnectionPoint()\n336 CControlBar::CControlBar()\n337 CControlBarInfo::CControlBarInfo()\n338 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n339 CControlFrameWnd::CControlFrameWnd(COleControl *)\n340 CCtrlView::CCtrlView(char const *,unsigned long)\n341 CDatabase::CDatabase()\n342 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n343 CDataExchange::CDataExchange(CWnd *,int)\n344 CDataSourceControl::CDataSourceControl(COleControlSite *)\n345 CDBException::CDBException(short)\n346 CDBVariant::CDBVariant()\n347 CDC::CDC()\n348 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n349 CDHtmlControlSink::CDHtmlControlSink()\n350 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n351 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n352 CDHtmlDialog::CDHtmlDialog()\n353 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n354 CDialog::CDialog(unsigned int,CWnd *)\n355 CDialog::CDialog(char const *,CWnd *)\n356 CDialog::CDialog()\n357 CDialogBar::CDialogBar()\n358 CDialogTemplate::CDialogTemplate(void *)\n359 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n360 CDocItem::CDocItem()\n361 CDockBar::CDockBar(int)\n362 CDockContext::CDockContext(CControlBar *)\n363 CDockState::CDockState()\n364 CDocManager::CDocManager()\n365 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n366 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n367 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n368 CDocument::CDocument()\n369 CDumpContext::CDumpContext(CFile *)\n370 CDWordArray::CDWordArray()\n371 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n372 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n373 CEditView::CEditView()\n374 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n375 CEnumConnections::CEnumConnections(void const *,unsigned int)\n376 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n377 CEnumFormatEtc::CEnumFormatEtc()\n378 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n379 CException::CException(int)\n380 CException::CException()\n381 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n382 CFile::CFile(void *)\n383 CFile::CFile(char const *,unsigned int)\n384 CFile::CFile()\n385 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n386 CFileFind::CFileFind()\n387 CFindReplaceDialog::CFindReplaceDialog()\n388 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n389 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n390 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n391 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n392 CFontHolder::CFontHolder(IPropertyNotifySink *)\n393 CFormView::CFormView(unsigned int)\n394 CFormView::CFormView(char const *)\n395 CFrameWnd::CFrameWnd()\n396 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n397 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n398 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n399 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n400 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n401 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n402 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n403 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n404 private: CGopherLocator::CGopherLocator(char const *,unsigned long)\n405 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n406 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n407 CHtmlEditCtrl::CHtmlEditCtrl()\n408 CHtmlEditDoc::CHtmlEditDoc()\n409 CHtmlEditView::CHtmlEditView()\n410 CHtmlView::CHtmlView()\n411 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n412 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n413 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n414 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n415 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n416 CImageList::CImageList()\n417 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n418 CInternetException::CInternetException(unsigned long)\n419 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n420 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n421 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n422 CLongBinary::CLongBinary()\n423 CMapPtrToPtr::CMapPtrToPtr(int)\n424 CMapPtrToWord::CMapPtrToWord(int)\n425 CMapStringToOb::CMapStringToOb(int)\n426 CMapStringToPtr::CMapStringToPtr(int)\n427 CMapStringToString::CMapStringToString(int)\n428 CMapWordToOb::CMapWordToOb(int)\n429 CMapWordToPtr::CMapWordToPtr(int)\n430 CMDIChildWnd::CMDIChildWnd()\n431 CMDIFrameWnd::CMDIFrameWnd()\n432 CMemFile::CMemFile(unsigned int)\n433 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n434 CMetaFileDC::CMetaFileDC()\n435 CMiniDockFrameWnd::CMiniDockFrameWnd()\n436 CMiniFrameWnd::CMiniFrameWnd()\n437 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n438 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n439 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n440 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n441 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n442 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n443 CObArray::CObArray()\n444 CObList::CObList(int)\n445 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n446 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n447 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n448 COleClientItem::COleClientItem(COleDocument *)\n449 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n450 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n451 COleControl::COleControl()\n452 COleControlContainer::COleControlContainer(CWnd *)\n453 COleControlLock::COleControlLock(_GUID const &)\n454 COleControlSite::COleControlSite(COleControlContainer *)\n455 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n456 COleCurrency::COleCurrency(long,long)\n457 COleDataObject::COleDataObject()\n458 COleDataSource::COleDataSource()\n459 COleDialog::COleDialog(CWnd *)\n460 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n461 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n462 COleDispatchDriver::COleDispatchDriver()\n463 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n464 COleDocIPFrameWnd::COleDocIPFrameWnd()\n465 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n466 COleDocument::COleDocument()\n467 COleDropSource::COleDropSource()\n468 COleDropTarget::COleDropTarget()\n469 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n470 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n471 COleIPFrameWnd::COleIPFrameWnd()\n472 COleLinkingDoc::COleLinkingDoc()\n473 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n474 COleMessageFilter::COleMessageFilter()\n475 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n476 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n477 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n478 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n479 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n480 COleResizeBar::COleResizeBar()\n481 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n482 COleSafeArray::COleSafeArray(tagVARIANT const &)\n483 COleSafeArray::COleSafeArray(COleSafeArray const &)\n484 COleSafeArray::COleSafeArray(COleVariant const &)\n485 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n486 COleSafeArray::COleSafeArray(tagVARIANT const *)\n487 COleServerDoc::COleServerDoc()\n488 COleServerItem::COleServerItem(COleServerDoc *,int)\n489 COleStreamFile::COleStreamFile(IStream *)\n490 COleTemplateServer::COleTemplateServer()\n491 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n492 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n493 COleVariant::COleVariant(tagVARIANT const &)\n494 COleVariant::COleVariant(COleVariant const &)\n495 COleVariant::COleVariant(short,unsigned short)\n496 COleVariant::COleVariant(long,unsigned short)\n497 COleVariant::COleVariant(char const *,unsigned short)\n498 COleVariant::COleVariant(_ITEMIDLIST const *)\n499 COleVariant::COleVariant(tagVARIANT const *)\n500 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n501 CPaintDC::CPaintDC(CWnd *)\n502 CPen::CPen(int,int,unsigned long)\n503 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n504 CPictureHolder::CPictureHolder()\n505 CPreviewDC::CPreviewDC()\n506 CPreviewView::CPreviewView()\n507 CPrintDialog::CPrintDialog(tagPDA &)\n508 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n509 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n510 CPrintInfo::CPrintInfo()\n511 CPrintPreviewState::CPrintPreviewState()\n512 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n513 CProperty::CProperty(unsigned long,void * const,unsigned long)\n514 CProperty::CProperty()\n515 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n516 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n517 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n518 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n519 CPropertyPage::CPropertyPage()\n520 CPropertySection::CPropertySection(_GUID)\n521 CPropertySection::CPropertySection()\n522 CPropertySet::CPropertySet(_GUID)\n523 CPropertySet::CPropertySet()\n524 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n525 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n526 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n527 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n528 CPropertySheet::CPropertySheet()\n529 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n530 CPtrArray::CPtrArray()\n531 CPtrList::CPtrList(int)\n532 CReBar::CReBar()\n533 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n534 CRecordset::CRecordset(CDatabase *)\n535 CRecordView::CRecordView(unsigned int)\n536 CRecordView::CRecordView(char const *)\n537 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n538 CReObject::CReObject(CRichEditCntrItem *)\n539 CReObject::CReObject()\n540 CResetPropExchange::CResetPropExchange()\n541 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n542 CRichEditDoc::CRichEditDoc()\n543 CRichEditView::CRichEditView()\n544 CScrollView::CScrollView()\n545 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n546 CSharedFile::CSharedFile(unsigned int,unsigned int)\n547 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n548 CSingleLock::CSingleLock(CSyncObject *,int)\n549 CSocket::CSocket()\n550 CSocketFile::CSocketFile(CSocket *,int)\n551 CSocketWnd::CSocketWnd()\n552 CSplitterWnd::CSplitterWnd()\n553 CStatusBar::CStatusBar()\n554 CStdioFile::CStdioFile(_iobuf *)\n555 CStdioFile::CStdioFile(char const *,unsigned int)\n556 CStdioFile::CStdioFile()\n557 CStringArray::CStringArray()\n558 CStringList::CStringList(int)\n559 CSyncObject::CSyncObject(char const *)\n560 CTestCmdUI::CTestCmdUI()\n561 CThreadSlotData::CThreadSlotData()\n562 CToolBar::CToolBar()\n563 CToolTipCtrl::CToolTipCtrl()\n564 CUIntArray::CUIntArray()\n565 CView::CView()\n566 CWinApp::CWinApp(char const *)\n567 CWindowDC::CWindowDC(CWnd *)\n568 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n569 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n570 CWinThread::CWinThread()\n571 private: CWnd::CWnd(HWND__ *)\n572 CWnd::CWnd()\n573 CWordArray::CWordArray()\n574 CPreviewView::PAGE_INFO::PAGE_INFO()\n575 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n576 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n577 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n578 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n579 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n580 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n581 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n582 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n583 CAnimateCtrl::~CAnimateCtrl()\n584 CArchive::~CArchive()\n585 CAsyncMonikerFile::~CAsyncMonikerFile()\n586 CAsyncSocket::~CAsyncSocket()\n587 CButton::~CButton()\n588 CByteArray::~CByteArray()\n589 CClientDC::~CClientDC()\n590 CCmdTarget::~CCmdTarget()\n591 CComboBox::~CComboBox()\n592 CComboBoxEx::~CComboBoxEx()\n593 CCommandLineInfo::~CCommandLineInfo()\n594 CConnectionPoint::~CConnectionPoint()\n595 CControlBar::~CControlBar()\n596 CCtrlView::~CCtrlView()\n597 CDatabase::~CDatabase()\n598 CDataSourceControl::~CDataSourceControl()\n599 CDateTimeCtrl::~CDateTimeCtrl()\n600 CDBException::~CDBException()\n601 CDBVariant::~CDBVariant()\n602 CDC::~CDC()\n603 CDHtmlControlSink::~CDHtmlControlSink()\n604 CDHtmlDialog::~CDHtmlDialog()\n605 CDialog::~CDialog()\n606 CDialogBar::~CDialogBar()\n607 CDialogTemplate::~CDialogTemplate()\n608 CDocItem::~CDocItem()\n609 CDockBar::~CDockBar()\n610 CDockContext::~CDockContext()\n611 CDockState::~CDockState()\n612 CDocManager::~CDocManager()\n613 CDocObjectServer::~CDocObjectServer()\n614 CDocObjectServerItem::~CDocObjectServerItem()\n615 CDocTemplate::~CDocTemplate()\n616 CDocument::~CDocument()\n617 CDragListBox::~CDragListBox()\n618 CDWordArray::~CDWordArray()\n619 CDynLinkLibrary::~CDynLinkLibrary()\n620 CEdit::~CEdit()\n621 CEditView::~CEditView()\n622 CEnumArray::~CEnumArray()\n623 CEnumConnections::~CEnumConnections()\n624 CEnumConnPoints::~CEnumConnPoints()\n625 CEnumFormatEtc::~CEnumFormatEtc()\n626 CEnumOleVerb::~CEnumOleVerb()\n627 CEnumUnknown::~CEnumUnknown()\n628 CEvent::~CEvent()\n629 CFile::~CFile()\n630 CFileDialog::~CFileDialog()\n631 CFileFind::~CFileFind()\n632 CFixedAlloc::~CFixedAlloc()\n633 CFixedAllocNoSync::~CFixedAllocNoSync()\n634 CFontHolder::~CFontHolder()\n635 CFrameWnd::~CFrameWnd()\n636 CFtpConnection::~CFtpConnection()\n637 CFtpFileFind::~CFtpFileFind()\n638 CGopherConnection::~CGopherConnection()\n639 CGopherFile::~CGopherFile()\n640 CGopherFileFind::~CGopherFileFind()\n641 CGopherLocator::~CGopherLocator()\n642 CHeaderCtrl::~CHeaderCtrl()\n643 CHotKeyCtrl::~CHotKeyCtrl()\n644 CHtmlControlSite::~CHtmlControlSite()\n645 CHtmlEditCtrl::~CHtmlEditCtrl()\n646 CHtmlEditDoc::~CHtmlEditDoc()\n647 CHtmlEditView::~CHtmlEditView()\n648 CHtmlView::~CHtmlView()\n649 CHttpConnection::~CHttpConnection()\n650 CHttpFile::~CHttpFile()\n651 CImageList::~CImageList()\n652 CInternetConnection::~CInternetConnection()\n653 CInternetException::~CInternetException()\n654 CInternetFile::~CInternetFile()\n655 CInternetSession::~CInternetSession()\n656 CIPAddressCtrl::~CIPAddressCtrl()\n657 CListBox::~CListBox()\n658 CListCtrl::~CListCtrl()\n659 CLongBinary::~CLongBinary()\n660 CMapPtrToPtr::~CMapPtrToPtr()\n661 CMapPtrToWord::~CMapPtrToWord()\n662 CMapStringToOb::~CMapStringToOb()\n663 CMapStringToPtr::~CMapStringToPtr()\n664 CMapStringToString::~CMapStringToString()\n665 CMapWordToOb::~CMapWordToOb()\n666 CMapWordToPtr::~CMapWordToPtr()\n667 CMemFile::~CMemFile()\n668 CMetaFileDC::~CMetaFileDC()\n669 CMiniFrameWnd::~CMiniFrameWnd()\n670 CMonikerFile::~CMonikerFile()\n671 CMonthCalCtrl::~CMonthCalCtrl()\n672 CMultiDocTemplate::~CMultiDocTemplate()\n673 CMultiLock::~CMultiLock()\n674 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n675 CMutex::~CMutex()\n676 CObArray::~CObArray()\n677 CObList::~CObList()\n678 COleBusyDialog::~COleBusyDialog()\n679 COleChangeIconDialog::~COleChangeIconDialog()\n680 COleChangeSourceDialog::~COleChangeSourceDialog()\n681 COleClientItem::~COleClientItem()\n682 COleCntrFrameWnd::~COleCntrFrameWnd()\n683 COleControl::~COleControl()\n684 COleControlContainer::~COleControlContainer()\n685 COleControlLock::~COleControlLock()\n686 COleControlSite::~COleControlSite()\n687 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n688 COleConvertDialog::~COleConvertDialog()\n689 COleDataSource::~COleDataSource()\n690 COleDispatchException::~COleDispatchException()\n691 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n692 COleDocObjectItem::~COleDocObjectItem()\n693 COleDocument::~COleDocument()\n694 COleDropTarget::~COleDropTarget()\n695 COleFrameHook::~COleFrameHook()\n696 COleInsertDialog::~COleInsertDialog()\n697 COleIPFrameWnd::~COleIPFrameWnd()\n698 COleLinkingDoc::~COleLinkingDoc()\n699 COleLinksDialog::~COleLinksDialog()\n700 COleMessageFilter::~COleMessageFilter()\n701 COleObjectFactory::~COleObjectFactory()\n702 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n703 COlePropertyPage::~COlePropertyPage()\n704 COleResizeBar::~COleResizeBar()\n705 COleServerDoc::~COleServerDoc()\n706 COleServerItem::~COleServerItem()\n707 COleStreamFile::~COleStreamFile()\n708 COleUpdateDialog::~COleUpdateDialog()\n709 CPaintDC::~CPaintDC()\n710 CPictureHolder::~CPictureHolder()\n711 CPreviewDC::~CPreviewDC()\n712 CPreviewView::~CPreviewView()\n713 CPrintInfo::~CPrintInfo()\n714 CProcessLocalObject::~CProcessLocalObject()\n715 CProgressCtrl::~CProgressCtrl()\n716 CPropbagPropExchange::~CPropbagPropExchange()\n717 CProperty::~CProperty()\n718 CPropertyPage::~CPropertyPage()\n719 CPropertySection::~CPropertySection()\n720 CPropertySet::~CPropertySet()\n721 CPropertySheet::~CPropertySheet()\n722 CPtrArray::~CPtrArray()\n723 CPtrList::~CPtrList()\n724 CRecentFileList::~CRecentFileList()\n725 CRecordset::~CRecordset()\n726 CRecordView::~CRecordView()\n727 CRectTracker::~CRectTracker()\n728 CReObject::~CReObject()\n729 CRichEditCntrItem::~CRichEditCntrItem()\n730 CRichEditCtrl::~CRichEditCtrl()\n731 CScrollBar::~CScrollBar()\n732 CScrollView::~CScrollView()\n733 CSemaphore::~CSemaphore()\n734 CSharedFile::~CSharedFile()\n735 CSingleDocTemplate::~CSingleDocTemplate()\n736 CSliderCtrl::~CSliderCtrl()\n737 CSocket::~CSocket()\n738 CSocketFile::~CSocketFile()\n739 CSpinButtonCtrl::~CSpinButtonCtrl()\n740 CSplitterWnd::~CSplitterWnd()\n741 CStatic::~CStatic()\n742 CStatusBar::~CStatusBar()\n743 CStatusBarCtrl::~CStatusBarCtrl()\n744 CStdioFile::~CStdioFile()\n745 CStringArray::~CStringArray()\n746 CStringList::~CStringList()\n747 CSyncObject::~CSyncObject()\n748 CTabCtrl::~CTabCtrl()\n749 CThreadLocalObject::~CThreadLocalObject()\n750 CThreadSlotData::~CThreadSlotData()\n751 CToolBar::~CToolBar()\n752 CToolBarCtrl::~CToolBarCtrl()\n753 CToolTipCtrl::~CToolTipCtrl()\n754 CTreeCtrl::~CTreeCtrl()\n755 CUIntArray::~CUIntArray()\n756 CView::~CView()\n757 CWinApp::~CWinApp()\n758 CWindowDC::~CWindowDC()\n759 CWinThread::~CWinThread()\n760 CWnd::~CWnd()\n761 CWordArray::~CWordArray()\n762 void * operator new(unsigned int)\n763 void * CNoTrackObject::operator new(unsigned int)\n764 void operator delete(void *)\n765 void CNoTrackObject::operator delete(void *)\n766 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n767 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n768 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n769 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n770 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n771 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n773 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n774 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n775 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n776 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n777 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n779 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n781 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n782 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n783 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n785 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n786 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n787 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n788 COleCurrency const & COleCurrency::operator=(union tagCY)\n789 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n790 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n791 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n792 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n793 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n794 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n795 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n796 COleVariant const & COleVariant::operator=(COleVariant const &)\n797 COleVariant const & COleVariant::operator=(CByteArray const &)\n798 COleVariant const & COleVariant::operator=(CLongBinary const &)\n799 COleVariant const & COleVariant::operator=(COleCurrency const &)\n800 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n801 COleVariant const & COleVariant::operator=(unsigned char)\n802 COleVariant const & COleVariant::operator=(short)\n803 COleVariant const & COleVariant::operator=(long)\n804 COleVariant const & COleVariant::operator=(float)\n805 COleVariant const & COleVariant::operator=(double)\n806 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n807 COleVariant const & COleVariant::operator=(char const * const)\n808 CArchive & operator>>(CArchive &,CByteArray * &)\n809 CArchive & operator>>(CArchive &,CDocItem * &)\n810 CArchive & operator>>(CArchive &,CDockState * &)\n811 CArchive & operator>>(CArchive &,CDWordArray * &)\n812 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n813 CArchive & operator>>(CArchive &,CMapStringToString * &)\n814 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n815 CArchive & operator>>(CArchive &,CObArray * &)\n816 CArchive & operator>>(CArchive &,CObList * &)\n817 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n818 CArchive & operator>>(CArchive &,CStringArray * &)\n819 CArchive & operator>>(CArchive &,CStringList * &)\n820 CArchive & operator>>(CArchive &,CWordArray * &)\n821 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n822 CArchive & operator>>(CArchive &,COleCurrency &)\n823 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n824 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n825 CArchive & operator>>(CArchive &,COleVariant &)\n826 CArchive & operator>>(CArchive &,ATL::CTime &)\n827 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n828 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n829 CArchive & operator<<(CArchive &,COleCurrency)\n830 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n831 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n832 CArchive & operator<<(CArchive &,COleVariant)\n833 CArchive & operator<<(CArchive &,ATL::CTime)\n834 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n835 CDumpContext & CDumpContext::operator<<(__int64)\n836 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n837 CDumpContext & CDumpContext::operator<<(CObject const &)\n838 CDumpContext & CDumpContext::operator<<(unsigned char)\n839 CDumpContext & CDumpContext::operator<<(unsigned short)\n840 CDumpContext & CDumpContext::operator<<(int)\n841 CDumpContext & CDumpContext::operator<<(unsigned int)\n842 CDumpContext & CDumpContext::operator<<(long)\n843 CDumpContext & CDumpContext::operator<<(unsigned long)\n844 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n845 CDumpContext & CDumpContext::operator<<(HDC__ *)\n846 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n847 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n848 CDumpContext & CDumpContext::operator<<(HWND__ *)\n849 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n850 CDumpContext & CDumpContext::operator<<(char const *)\n851 CDumpContext & CDumpContext::operator<<(CObject const *)\n852 CDumpContext & CDumpContext::operator<<(void const *)\n853 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n854 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n855 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n856 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n857 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n858 int COleSafeArray::operator==(tagVARIANT const &)const \n859 int COleSafeArray::operator==(COleSafeArray const &)const \n860 int COleSafeArray::operator==(COleVariant const &)const \n861 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n862 int COleSafeArray::operator==(tagVARIANT const *)const \n863 int COleVariant::operator==(tagVARIANT const &)const \n864 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n865 char ATL::CSimpleStringT<char,1>::operator[](int)const \n866 void * & CMapPtrToPtr::operator[](void *)\n867 unsigned short & CMapPtrToWord::operator[](void *)\n868 CObject * & CMapStringToOb::operator[](char const *)\n869 void * & CMapStringToPtr::operator[](char const *)\n870 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n871 CObject * & CMapWordToOb::operator[](unsigned short)\n872 void * & CMapWordToPtr::operator[](unsigned short)\n873 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n874 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n875 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n876 ATL::CSimpleStringT<char,1>::operator char const *()const \n877 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n878 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n879 COleCurrency COleCurrency::operator*(long)const \n880 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n881 COleCurrency COleCurrency::operator-()const \n882 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n883 COleCurrency COleCurrency::operator/(long)const \n884 int COleCurrency::operator<(COleCurrency const &)const \n885 int COleCurrency::operator<=(COleCurrency const &)const \n886 int COleCurrency::operator>(COleCurrency const &)const \n887 int COleCurrency::operator>=(COleCurrency const &)const \n888 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n889 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n890 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n891 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n892 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n893 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n894 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n895 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n896 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n897 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n900 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n901 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n902 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n903 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n904 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n906 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n907 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n908 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n909 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n910 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n911 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n912 int _AfxSocketInit(WSAData *)\n913 void CArchive::Abort()\n914 void CFile::Abort()\n915 void CInternetFile::Abort()\n916 void CMemFile::Abort()\n917 void CMirrorFile::Abort()\n918 void COleStreamFile::Abort()\n919 void CSocketFile::Abort()\n920 void CStdioFile::Abort()\n921 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n922 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n923 long CWnd::accDoDefaultAction(tagVARIANT)\n924 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n925 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n926 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n927 void COleSafeArray::AccessData(void * *)\n928 long CWnd::accHitTest(long,long,tagVARIANT *)\n929 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n930 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n931 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n932 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n933 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n934 long CWnd::accSelect(long,tagVARIANT)\n935 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n936 void COleClientItem::Activate(long,CView *,tagMSG *)\n937 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n938 void COleDocObjectItem::ActivateAndShow()\n939 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n940 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n941 void CDocObjectServer::ActivateDocObject()\n942 void COleServerDoc::ActivateDocObject()\n943 void CFrameWnd::ActivateFrame(int)\n944 void CMDIChildWnd::ActivateFrame(int)\n945 int COleServerDoc::ActivateInPlace()\n946 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n947 void CSplitterWnd::ActivateNext(int)\n948 void CWnd::ActivateTopParent()\n949 void CRecentFileList::Add(char const *)\n950 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n951 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n952 int CToolBarCtrl::AddBitmap(int,unsigned int)\n953 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n954 void COleClientItem::AddCachedData(COleDataSource *)\n955 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n956 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n957 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n958 void CDocManager::AddDocTemplate(CDocTemplate *)\n959 void CWinApp::AddDocTemplate(CDocTemplate *)\n960 void CDocTemplate::AddDocument(CDocument *)\n961 void CMultiDocTemplate::AddDocument(CDocument *)\n962 void CSingleDocTemplate::AddDocument(CDocument *)\n963 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n964 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n965 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n966 void COleControl::AddFrameLevelUI()\n967 void CFrameWnd::AddFrameWnd()\n968 __POSITION * CObList::AddHead(CObject *)\n969 void CObList::AddHead(CObList *)\n970 __POSITION * CPtrList::AddHead(void *)\n971 void CPtrList::AddHead(CPtrList *)\n972 void CSimpleList::AddHead(void *)\n973 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n974 __POSITION * CStringList::AddHead(char const *)\n975 void CStringList::AddHead(CStringList *)\n976 void COleDocument::AddItem(CDocItem *)\n977 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n978 void CRecordset::AddNew()\n979 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n980 void CPropertySheet::AddPage(CPropertyPage *)\n981 void CPropertySection::AddProperty(CProperty *)\n982 void CPropertySet::AddProperty(_GUID,CProperty *)\n983 unsigned long CArchiveStream::AddRef()\n984 unsigned long CBlobProperty::AddRef()\n985 unsigned long CBrowserControlSite::AddRef()\n986 unsigned long CDHtmlControlSink::AddRef()\n987 unsigned long CDHtmlElementEventSink::AddRef()\n988 unsigned long CDHtmlEventSink::AddRef()\n989 unsigned long CInnerUnknown::AddRef()\n990 unsigned long COleConnPtContainer::AddRef()\n991 unsigned long COleDispatchImpl::AddRef()\n992 unsigned long COleUILinkInfo::AddRef()\n993 unsigned long CPrintDialogEx::AddRef()\n994 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n995 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n996 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n997 CPropertySection * CPropertySet::AddSection(_GUID)\n998 void CPropertySet::AddSection(CPropertySection *)\n999 void COlePasteSpecialDialog::AddStandardFormats(int)\n1000 int CToolBarCtrl::AddString(unsigned int)\n1001 __POSITION * CObList::AddTail(CObject *)\n1002 void CObList::AddTail(CObList *)\n1003 __POSITION * CPtrList::AddTail(void *)\n1004 void CPtrList::AddTail(CPtrList *)\n1005 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1006 __POSITION * CStringList::AddTail(char const *)\n1007 void CStringList::AddTail(CStringList *)\n1008 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1009 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1010 void CWinApp::AddToRecentFileList(char const *)\n1011 void CDocument::AddView(CView *)\n1012 void CMetaFileDC::AdjustCP(int)\n1013 void CRichEditView::AdjustDialogPosition(CDialog *)\n1014 void CRectTracker::AdjustRect(int,tagRECT *)\n1015 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1016 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1017 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1018 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1019 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1020 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1021 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1022 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1023 void AfxAbort()\n1024 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1025 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1026 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1027 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1028 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1029 void AfxCancelModes(HWND__ *)\n1030 void AfxCheckError(long)\n1031 void AfxClassInit(CRuntime*)\n1032 int AfxComparePath(char const *,char const *)\n1033 int AfxCompareValueByRef(void *,void *,int)\n1034 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1035 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1036 void AfxCopyValueByRef(void *,void *,long *,int)\n1037 void AfxCoreInitModule()\n1038 HDC__ * AfxCreateDC(void *,void *)\n1039 int AfxCriticalInit()\n1040 int AfxCriticalNewHandler(unsigned int)\n1041 void AfxCriticalTerm()\n1042 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1043 AUX_DATA afxData\n1044 void AfxDeleteObject(void * *)\n1045 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1046 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1047 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1048 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1049 long AfxDllCanUnloadNow()\n1050 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1051 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1052 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1053 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1054 void AfxEnableControlContainer(COccManager *)\n1055 int AfxEndDeferRegisterClass(long)\n1056 void AfxEndThread(unsigned int,int)\n1057 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1058 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1059 void AfxFailMaxChars(CDataExchange *,int)\n1060 void AfxFailRadio(CDataExchange *)\n1061 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1062 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1063 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1064 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1065 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1066 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1067 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1068 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1069 int AfxFreeLibrary(HINSTANCE__ *)\n1070 int AfxFullPath(char *,char const *)\n1071 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1072 AFX_MODULE_STATE * AfxGetAppModuleState()\n1073 long AfxGetClassIDFromString(char const *,_GUID *)\n1074 tagMSG * AfxGetCurrentMessage()\n1075 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1076 unsigned long AfxGetDllVersion()\n1077 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1078 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1079 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1080 void * AfxGetHENV()\n1081 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1082 unsigned long AfxGetInternetHandleType(void *)\n1083 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1084 AFX_MODULE_STATE * AfxGetModuleState()\n1085 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1086 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1087 HWND__ * AfxGetParentOwner(HWND__ *)\n1088 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1089 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1090 ATL::IAtlStringMgr * AfxGetStringManager()\n1091 CWinThread * AfxGetThread()\n1092 _AFX_THREAD_STATE * AfxGetThreadState()\n1093 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1094 void AfxGlobalFree(void *)\n1095 int AfxHelpEnabled()\n1096 void AfxHookWindowCreate(CWnd *)\n1097 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1098 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1099 void AfxInitLocalData(HINSTANCE__ *)\n1100 int AfxInitRichEdit()\n1101 int AfxInitRichEdit2()\n1102 void AfxInitThread()\n1103 int AfxInternalIsIdleMessage(tagMSG *)\n1104 int AfxInternalPreTranslateMessage(tagMSG *)\n1105 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1106 int AfxInternalPumpMessage()\n1107 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1108 int AfxIsDescendant(HWND__ *,HWND__ *)\n1109 int AfxIsIdleMessage(tagMSG *)\n1110 int AfxIsValidAddress(void const *,unsigned int,int)\n1111 int AfxIsValidString(wchar_t const *,int)\n1112 int AfxIsValidString(char const *,int)\n1113 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1114 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1115 HINSTANCE__ * AfxLoadLibrary(char const *)\n1116 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1117 int AfxLoadString(unsigned int,char *,unsigned int)\n1118 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1119 void AfxLockGlobals(int)\n1120 void AfxLockTempMaps()\n1121 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1122 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1123 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1124 int AfxOleCanExitApp()\n1125 int AfxOleGetUserCtrl()\n1126 int AfxOleInit()\n1127 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1128 void AfxOleLockApp()\n1129 int AfxOleLockControl(_GUID const &)\n1130 int AfxOleLockControl(char const *)\n1131 void AfxOleOnReleaseAllObjects()\n1132 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1133 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1134 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1135 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1136 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1137 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1138 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1139 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1140 void AfxOleSetUserCtrl(int)\n1141 void AfxOleTerm(int)\n1142 void AfxOleTermOrFreeLib(int,int)\n1143 void AfxOleUnlockAllControls()\n1144 void AfxOleUnlockApp()\n1145 int AfxOleUnlockControl(_GUID const &)\n1146 int AfxOleUnlockControl(char const *)\n1147 int AfxOleUnregisterClass(_GUID const &,char const *)\n1148 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1149 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1150 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1151 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1152 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1153 void AfxPostQuitMessage(int)\n1154 int AfxPreTranslateMessage(tagMSG *)\n1155 long AfxProcessWndProcException(CException *,tagMSG const *)\n1156 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1157 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1158 int AfxPumpMessage()\n1159 unsigned int AfxReadStringLength(CArchive &,int &)\n1160 int AfxRegisterClass(tagWNDCLASSA *)\n1161 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1162 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1163 void AfxResetMsgCache()\n1164 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1165 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1166 void AfxSafeArrayInit(COleSafeArray *)\n1167 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1168 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1169 void AfxSetWindowText(HWND__ *,char const *)\n1170 void AfxSocketTerm()\n1171 void AfxStoreField(CRecordset &,unsigned int,void *)\n1172 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1173 wchar_t * AfxTaskStringA2W(char const *)\n1174 char * AfxTaskStringW2A(wchar_t const *)\n1175 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1176 void AfxTermLocalData(HINSTANCE__ *,int)\n1177 void AfxTermThread(HINSTANCE__ *)\n1178 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1179 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1180 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1181 void AfxThrowArchiveException(int,char const *)\n1182 void AfxThrowDBException(short,CDatabase *,void *)\n1183 void AfxThrowFileException(int,long,char const *)\n1184 void AfxThrowInternetException(unsigned long,unsigned long)\n1185 void AfxThrowInvalidArgException()\n1186 void AfxThrowLastCleanup()\n1187 void AfxThrowMemoryException()\n1188 void AfxThrowNotSupportedException()\n1189 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1190 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1191 void AfxThrowOleException(long)\n1192 void AfxThrowResourceException()\n1193 void AfxThrowUserException()\n1194 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1195 void AfxTlsAddRef()\n1196 void AfxTlsRelease()\n1197 void AfxTrackerTerm()\n1198 void AfxTryCleanup()\n1199 int AfxUnhookWindowCreate()\n1200 void AfxUnlockGlobals(int)\n1201 int AfxUnlockTempMaps(int)\n1202 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1203 void AfxVariantInit(tagVARIANT *)\n1204 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1205 char * AfxW2AHelper(char *,wchar_t const *,int)\n1206 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1207 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1208 void AfxWinTerm()\n1209 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1210 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1211 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1212 void * CFixedAlloc::Alloc()\n1213 void * CFixedAllocNoSync::Alloc()\n1214 unsigned char * CMemFile::Alloc(unsigned long)\n1215 unsigned char * CSharedFile::Alloc(unsigned long)\n1216 void CRecordset::AllocAndCacheFieldInfo()\n1217 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1218 void CDatabase::AllocConnect(unsigned long)\n1219 void COleSafeArray::AllocData()\n1220 void CRecordset::AllocDataCache()\n1221 void COleSafeArray::AllocDescriptor(unsigned long)\n1222 int CControlBar::AllocElements(int,int)\n1223 int CStatusBar::AllocElements(int,int)\n1224 int CRecordset::AllocHstmt()\n1225 void CPropertyPage::AllocPSP(unsigned long)\n1226 void CRecordset::AllocRowset()\n1227 int CThreadSlotData::AllocSlot()\n1228 void CRecordset::AllocStatusArrays()\n1229 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1230 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1231 private: void * CProperty::AllocValue(unsigned long)\n1232 short COleControl::AmbientAppearance()\n1233 unsigned long COleControl::AmbientBackColor()\n1234 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1235 IFontDisp * COleControl::AmbientFont()\n1236 unsigned long COleControl::AmbientForeColor()\n1237 unsigned long COleControl::AmbientLocaleID()\n1238 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1239 int COleControl::AmbientShowGrabHandles()\n1240 int COleControl::AmbientShowHatching()\n1241 short COleControl::AmbientTextAlign()\n1242 int COleControl::AmbientUIDead()\n1243 int COleControl::AmbientUserMode()\n1244 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1245 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1246 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1247 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1248 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1249 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1250 int CByteArray::Append(CByteArray const &)\n1251 int CDWordArray::Append(CDWordArray const &)\n1252 int CObArray::Append(CObArray const &)\n1253 int CPtrArray::Append(CPtrArray const &)\n1254 int CStringArray::Append(CStringArray const &)\n1255 int CUIntArray::Append(CUIntArray const &)\n1256 int CWordArray::Append(CWordArray const &)\n1257 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1258 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1259 void CRecordset::AppendFilterAndSortSQL()\n1260 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1261 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1262 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1263 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1264 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1265 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1266 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1267 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1268 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1269 long COlePropertyPage::XPropertyPage::Apply()\n1270 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1271 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1272 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1273 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1274 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1275 int CAsyncSocket::AsyncSelect(long)\n1276 private: void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1277 private: void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1278 int CAsyncSocket::Attach(unsigned int,long)\n1279 int CDC::Attach(HDC__ *)\n1280 int CGdiObject::Attach(void *)\n1281 int CImageList::Attach(_IMAGELIST *)\n1282 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1283 int CMenu::Attach(HMENU__ *)\n1284 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1285 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1286 void COleDataObject::Attach(IDataObject *,int)\n1287 void COleSafeArray::Attach(tagVARIANT &)\n1288 void COleStreamFile::Attach(IStream *)\n1289 void COleVariant::Attach(tagVARIANT &)\n1290 int CWnd::Attach(HWND__ *)\n1291 int COleDataObject::AttachClipboard()\n1292 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1293 void CWnd::AttachControlSite(CHandleMap *)\n1294 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1295 void COleClientItem::AttachDataObject(COleDataObject &)const \n1296 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1297 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1298 CPrintDialog * CPrintDialog::AttachOnSetup()\n1299 void COleControlSite::AttachWindow()\n1300 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1301 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1302 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1303 void COleMessageFilter::BeginBusyState()\n1304 int CDragListBox::BeginDrag(CPoint)\n1305 void COleDataObject::BeginEnumFormats()\n1306 void CFrameWnd::BeginModalState()\n1307 int CDatabase::BeginTrans()\n1308 void CCmdTarget::BeginWaitCursor()\n1309 int CAsyncSocket::Bind(unsigned int,char const *)\n1310 void CDataSourceControl::BindColumns()\n1311 void COccManager::BindControls(CWnd *)\n1312 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1313 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1314 void CRecordset::BindFieldsForUpdate()\n1315 unsigned int CRecordset::BindFieldsToColumns()\n1316 void CDatabase::BindParameters(void *)\n1317 unsigned int CRecordset::BindParams(void *)\n1318 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1319 void CDataSourceControl::BindProp(COleControlSite *,int)\n1320 void COleControlSite::BindProperty(long,CWnd *)\n1321 void CWnd::BindProperty(long,CWnd *)\n1322 void COleControl::BoundPropertyChanged(long)\n1323 int COleControl::BoundPropertyRequestEdit(long)\n1324 void CFrameWnd::BringToTop(int)\n1325 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1326 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1327 void CPropertySheet::BuildPropPageArray()\n1328 void CRecordset::BuildSelectSQL()\n1329 int COleControl::BuildSharedMenu()\n1330 int COleDocIPFrameWnd::BuildSharedMenu()\n1331 int COleIPFrameWnd::BuildSharedMenu()\n1332 void CRecordset::BuildSQL(char const *)\n1333 void CRecordset::BuildUpdateSQL()\n1334 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1335 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1336 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1337 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1338 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1339 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1340 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1341 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1342 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1343 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1344 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1345 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1346 CSize CControlBar::CalcFixedLayout(int,int)\n1347 CSize CDialogBar::CalcFixedLayout(int,int)\n1348 CSize CDockBar::CalcFixedLayout(int,int)\n1349 CSize CReBar::CalcFixedLayout(int,int)\n1350 CSize CStatusBar::CalcFixedLayout(int,int)\n1351 CSize CToolBar::CalcFixedLayout(int,int)\n1352 void CControlBar::CalcInsideRect(CRect &,int)const \n1353 void CStatusBar::CalcInsideRect(CRect &,int)const \n1354 CSize CToolBar::CalcLayout(unsigned long,int)\n1355 int CCheckListBox::CalcMinimumItemHeight()\n1356 CSize CPreviewView::CalcPageDisplaySize()\n1357 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1358 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1359 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1360 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1361 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1362 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1363 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1364 int CDHtmlDialog::CanAccessExternal()\n1365 int COleClientItem::CanActivate()\n1366 int CRichEditCntrItem::CanActivate()\n1367 int CSplitterWnd::CanActivateNext(int)\n1368 int CRecordset::CanBookmark()const \n1369 void CDatabase::Cancel()\n1370 void CRecordset::Cancel()\n1371 void CSocket::CancelBlockingCall()\n1372 void CDragListBox::CancelDrag(CPoint)\n1373 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1374 long COleUILinkInfo::CancelLink(unsigned long)\n1375 void CDockContext::CancelLoop()\n1376 void CPropertyPage::CancelToClose()\n1377 void CWnd::CancelToolTips(int)\n1378 void CRecordset::CancelUpdate()\n1379 int CDocument::CanCloseFrame(CFrameWnd *)\n1380 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1381 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1382 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1383 unsigned long CDockContext::CanDock()\n1384 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1385 int CFrameWnd::CanEnterHelpMode()\n1386 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1387 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1388 int COleClientItem::CanPaste()\n1389 int CRichEditCtrl::CanPaste(unsigned int)const \n1390 int CRichEditView::CanPaste()const \n1391 int COleClientItem::CanPasteLink()\n1392 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1393 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1394 void CScrollView::CenterOnPoint(CPoint)\n1395 void CWnd::CenterWindow(CWnd *)\n1396 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1397 int CListBox::CharToItem(unsigned int,unsigned int)\n1398 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1399 int CDatabase::Check(short)const \n1400 int CRecordset::Check(short)const \n1401 int CDialog::CheckAutoCenter()\n1402 int CWnd::CheckAutoCenter()\n1403 void CArchive::CheckCount()\n1404 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1405 void CWnd::CheckDlgButton(int,unsigned int)\n1406 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1407 void COleClientItem::CheckGeneral(long)\n1408 int CDatabase::CheckHstmt(short,void *)const \n1409 private: bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1410 private: bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1411 void COleControlContainer::CheckRadioButton(int,int,int)\n1412 void CWnd::CheckRadioButton(int,int,int)\n1413 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1414 void CRecordset::CheckRowsetError(short)\n1415 void CScrollView::CheckScrollBars(int &,int &)const \n1416 void CPropertyPage::Cleanup()\n1417 void COlePropertyPage::CleanupObjectArray()\n1418 void CDBVariant::Clear()\n1419 void CDockState::Clear()\n1420 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1421 void CRecordset::ClearFieldStatus()\n1422 void CRecordset::ClearNullFieldStatus(unsigned long)\n1423 void CRecordset::ClearNullParamStatus(unsigned long)\n1424 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1425 void CWnd::ClientToScreen(tagRECT *)const \n1426 int COleControl::ClipCaretRect(tagRECT *)\n1427 void CPreviewDC::ClipToPage()\n1428 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1429 long CArchiveStream::Clone(IStream * *)\n1430 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1431 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1432 private: ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1433 private: ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1434 void CArchive::Close()\n1435 void CAsyncMonikerFile::Close()\n1436 void CAsyncSocket::Close()\n1437 void CCachedDataPathProperty::Close()\n1438 void CDatabase::Close()\n1439 void CFile::Close()\n1440 void CFileFind::Close()\n1441 void CInternetConnection::Close()\n1442 void CInternetFile::Close()\n1443 void CInternetSession::Close()\n1444 void CMemFile::Close()\n1445 void CMirrorFile::Close()\n1446 void CMonikerFile::Close()\n1447 void COleClientItem::Close(enum tagOLECLOSE)\n1448 void COleStreamFile::Close()\n1449 void CRecordset::Close()\n1450 void CSocket::Close()\n1451 void CSocketFile::Close()\n1452 void CStdioFile::Close()\n1453 long CDocObjectServer::XOleObject::Close(unsigned long)\n1454 long COleControl::XOleObject::Close(unsigned long)\n1455 long COleServerDoc::XOleObject::Close(unsigned long)\n1456 long COleServerItem::XOleObject::Close(unsigned long)\n1457 void CDocManager::CloseAllDocuments(int)\n1458 void CDocTemplate::CloseAllDocuments(int)\n1459 void CWinApp::CloseAllDocuments(int)\n1460 void CFileFind::CloseContext()\n1461 void CFtpFileFind::CloseContext()\n1462 void CGopherFileFind::CloseContext()\n1463 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1464 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1465 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1466 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1467 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1468 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1469 int CStatusBar::CommandToIndex(unsigned int)const \n1470 int CToolBar::CommandToIndex(unsigned int)const \n1471 long CArchiveStream::Commit(unsigned long)\n1472 void COleClientItem::CommitItem(int)\n1473 void COleDocument::CommitItems(int,IStorage *)\n1474 int CDatabase::CommitTrans()\n1475 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n1476 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1477 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1478 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1479 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1480 void CWinThread::CommonConstruct()\n1481 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1482 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1483 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1484 int CListBox::CompareItem(tagCOMPAREITEM*)\n1485 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1486 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1487 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1488 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1489 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1490 int CAsyncSocket::Connect(char const *,unsigned int)\n1491 int CDatabase::Connect(unsigned long)\n1492 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1493 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1494 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1495 int CSocket::ConnectHelper(sockaddr const *,int)\n1496 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1497 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1498 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1499 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1500 void COleServerDoc::ConnectView(CWnd *,CView *)\n1501 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1502 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1503 void CPropertyPage::Construct(unsigned int,unsigned int)\n1504 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1505 void CPropertyPage::Construct(char const *,unsigned int)\n1506 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1507 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1508 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1509 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1510 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1511 void CRectTracker::Construct()\n1512 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1513 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1514 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1515 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1516 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1517 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1518 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1519 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1520 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1521 int CPropertySheet::ContinueModal()\n1522 int CWnd::ContinueModal()\n1523 void COleControl::ControlInfoChanged()\n1524 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1525 int COleClientItem::ConvertTo(_GUID const &)\n1526 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1527 void CByteArray::Copy(CByteArray const &)\n1528 void CDWordArray::Copy(CDWordArray const &)\n1529 void CObArray::Copy(CObArray const &)\n1530 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1531 void CPtrArray::Copy(CPtrArray const &)\n1532 void CStringArray::Copy(CStringArray const &)\n1533 void CUIntArray::Copy(CUIntArray const &)\n1534 void CWordArray::Copy(CWordArray const &)\n1535 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1536 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1537 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1538 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1539 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1540 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1541 void COleClientItem::CopyToClipboard(int)\n1542 void COleServerItem::CopyToClipboard(int)\n1543 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1544 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n1545 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1546 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1547 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1548 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1549 int CControlFrameWnd::Create(char const *)\n1550 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1551 int CDialog::Create(char const *,CWnd *)\n1552 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1553 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1554 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1555 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1556 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1557 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1558 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1559 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1560 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1561 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1562 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1563 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1564 int CImageList::Create(int,int,unsigned int,int,int)\n1565 int CImageList::Create(unsigned int,int,int,unsigned long)\n1566 int CImageList::Create(CImageList *)\n1567 int CImageList::Create(char const *,int,int,unsigned long)\n1568 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1569 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1570 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1571 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1572 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1573 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1574 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1575 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1576 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1577 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1578 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1579 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1580 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1581 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1582 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1583 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1584 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1585 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1586 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1587 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1589 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1590 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1591 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1592 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1593 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1594 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1595 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1596 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1597 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1598 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1599 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1600 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1601 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1602 IBindHost * CMonikerFile::CreateBindHost()\n1603 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1604 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n1605 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1606 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1607 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1608 void CConnectionPoint::CreateConnectionArray()\n1609 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1610 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1611 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1612 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1613 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1614 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1615 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1616 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1617 int CWnd::CreateControlContainer(COleControlContainer * *)\n1618 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1619 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1620 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1621 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1622 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1623 int CFtpConnection::CreateDirectoryA(char const *)\n1624 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1625 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n1626 int CWnd::CreateDlg(char const *,CWnd *)\n1627 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1628 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1629 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n1631 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1632 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1633 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1634 int CPictureHolder::CreateEmpty()\n1635 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1636 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1637 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1638 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1639 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1640 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1641 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1642 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1643 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1644 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1645 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1646 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1647 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1648 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1649 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1650 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1651 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1652 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1653 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1654 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1655 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1656 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1657 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1658 CControlFrameWnd * COleControl::CreateFrameWindow()\n1659 int CPictureHolder::CreateFromBitmap(unsigned int)\n1660 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1661 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1662 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1663 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1664 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1665 int CPictureHolder::CreateFromIcon(unsigned int)\n1666 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1667 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1668 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1669 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1670 int CDialog::CreateIndirect(void *,CWnd *)\n1671 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1672 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1673 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1674 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1675 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1676 int COleInsertDialog::CreateItem(COleClientItem *)\n1677 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1678 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1679 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1680 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1681 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n1682 CGopherLocator CGopherConnection::CreateLocator(char const *)\n1683 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n1684 int COleStreamFile::CreateMemoryStream(CFileException *)\n1685 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1686 CDocument * CDocTemplate::CreateNewDocument()\n1687 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1688 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1689 CObject * CByteArray::CreateObject()\n1690 CObject * CDC::CreateObject()\n1691 CObject * CDocItem::CreateObject()\n1692 CObject * CDockState::CreateObject()\n1693 CObject * CDWordArray::CreateObject()\n1694 CObject * CEditView::CreateObject()\n1695 CObject * CFrameWnd::CreateObject()\n1696 CObject * CGdiObject::CreateObject()\n1697 CObject * CHtmlEditView::CreateObject()\n1698 CObject * CHtmlView::CreateObject()\n1699 CObject * CImageList::CreateObject()\n1700 CObject * CListView::CreateObject()\n1701 CObject * CMapStringToOb::CreateObject()\n1702 CObject * CMapStringToString::CreateObject()\n1703 CObject * CMapWordToOb::CreateObject()\n1704 CObject * CMDIChildWnd::CreateObject()\n1705 CObject * CMDIFrameWnd::CreateObject()\n1706 CObject * CMenu::CreateObject()\n1707 CObject * CMiniDockFrameWnd::CreateObject()\n1708 CObject * CMiniFrameWnd::CreateObject()\n1709 CObject * CObArray::CreateObject()\n1710 CObject * CObList::CreateObject()\n1711 CObject * COleDocIPFrameWnd::CreateObject()\n1712 CObject * COleIPFrameWnd::CreateObject()\n1713 CObject * CPreviewView::CreateObject()\n1714 CObject * CRichEditCntrItem::CreateObject()\n1715 CObject * CRichEditView::CreateObject()\n1716 CObject * CRuntimeClass::CreateObject()\n1717 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1718 CObject * CRuntimeClass::CreateObject(char const *)\n1719 CObject * CStringArray::CreateObject()\n1720 CObject * CStringList::CreateObject()\n1721 CObject * CTreeView::CreateObject()\n1722 CObject * CWnd::CreateObject()\n1723 CObject * CWordArray::CreateObject()\n1724 void COleControlContainer::CreateOleFont(CFont *)\n1725 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1726 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1727 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1728 int CFont::CreatePointFont(int,char const *,CDC *)\n1729 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n1730 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1731 HDC__ * CPrintDialog::CreatePrinterDC()\n1732 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1733 int CWinApp::CreatePrinterDC(CDC &)\n1734 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1735 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1736 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1737 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1738 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1739 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n1740 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1741 void COleControl::CreateTracker(int,int)\n1742 void COleControl::CreateTracker(int,int,tagRECT const *)\n1743 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1744 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1745 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1746 void COleControl::CreateWindowForSubclassedControl()\n1747 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1748 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1749 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1750 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1751 void DDP_Check(CDataExchange *,int,int &,char const *)\n1752 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n1753 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n1754 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n1755 void DDP_EndText(CDataExchange *,int,short *,char const *)\n1756 void DDP_EndText(CDataExchange *,int,int *,char const *)\n1757 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n1758 void DDP_EndText(CDataExchange *,int,long *,char const *)\n1759 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n1760 void DDP_EndText(CDataExchange *,int,float *,char const *)\n1761 void DDP_EndText(CDataExchange *,int,double *,char const *)\n1762 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1763 void DDP_PostProcessing(CDataExchange *)\n1764 void DDP_Radio(CDataExchange *,int,int &,char const *)\n1765 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n1766 void DDP_Text(CDataExchange *,int,short &,char const *)\n1767 void DDP_Text(CDataExchange *,int,int &,char const *)\n1768 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n1769 void DDP_Text(CDataExchange *,int,long &,char const *)\n1770 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n1771 void DDP_Text(CDataExchange *,int,float &,char const *)\n1772 void DDP_Text(CDataExchange *,int,double &,char const *)\n1773 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n1774 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n1775 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1776 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1777 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1778 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1779 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1780 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1781 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1782 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1783 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1784 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1785 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1786 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1787 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1788 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1789 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1790 void DDX_CBIndex(CDataExchange *,int,int &)\n1791 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1792 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1793 void DDX_Check(CDataExchange *,int,int &)\n1794 void DDX_Control(CDataExchange *,int,CWnd &)\n1795 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1796 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1797 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1798 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1799 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1800 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1801 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n1802 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n1803 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n1804 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n1805 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n1806 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n1807 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n1808 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n1809 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n1810 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n1811 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n1812 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n1813 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1814 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n1815 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n1816 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n1817 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n1818 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n1819 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n1820 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1821 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n1822 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n1823 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n1824 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n1825 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n1826 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n1827 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1828 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1829 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1830 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1831 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1832 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1833 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1834 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1835 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1836 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1837 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1838 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1839 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1840 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1841 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1842 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1843 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1844 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1845 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1846 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1847 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1848 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n1849 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1850 void DDX_LBIndex(CDataExchange *,int,int &)\n1851 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1852 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1853 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1854 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1855 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1856 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1857 void DDX_OCBool(CDataExchange *,int,long,int &)\n1858 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1859 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1860 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1861 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1862 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1863 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1864 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1865 void DDX_OCInt(CDataExchange *,int,long,int &)\n1866 void DDX_OCInt(CDataExchange *,int,long,long &)\n1867 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1868 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1869 void DDX_OCShort(CDataExchange *,int,long,short &)\n1870 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1871 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1872 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1873 void DDX_Radio(CDataExchange *,int,int &)\n1874 void DDX_Scroll(CDataExchange *,int,int &)\n1875 void DDX_Slider(CDataExchange *,int,int &)\n1876 void DDX_Text(CDataExchange *,int,__int64 &)\n1877 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1878 void DDX_Text(CDataExchange *,int,unsigned char &)\n1879 void DDX_Text(CDataExchange *,int,short &)\n1880 void DDX_Text(CDataExchange *,int,int &)\n1881 void DDX_Text(CDataExchange *,int,unsigned int &)\n1882 void DDX_Text(CDataExchange *,int,long &)\n1883 void DDX_Text(CDataExchange *,int,unsigned long &)\n1884 void DDX_Text(CDataExchange *,int,float &)\n1885 void DDX_Text(CDataExchange *,int,double &)\n1886 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1887 void DDX_Text(CDataExchange *,int,_GUID &)\n1888 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1889 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1890 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1891 void DDX_Text(CDataExchange *,int,tagDEC &)\n1892 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1893 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1894 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1895 void DDX_Text(CDataExchange *,int,char *,int)\n1896 void COleClientItem::Deactivate()\n1897 long COlePropertyPage::XPropertyPage::Deactivate()\n1898 int COleServerDoc::DeactivateAndUndo()\n1899 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1900 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1901 void COleClientItem::DeactivateUI()\n1902 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n1903 long CWnd::Default()\n1904 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1905 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1906 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n1907 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n1908 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1909 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1910 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1911 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1912 void CControlBar::DelayShow(int)\n1913 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1914 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1915 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n1916 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n1917 void CException::Delete()\n1918 void COleClientItem::Delete(int)\n1919 void CRecordset::Delete()\n1920 void CWinThread::Delete()\n1921 void CSplitterWnd::DeleteColumn(int)\n1922 void CDocument::DeleteContents()\n1923 void CEditView::DeleteContents()\n1924 void CHtmlEditDoc::DeleteContents()\n1925 void COleDocument::DeleteContents()\n1926 void COleServerDoc::DeleteContents()\n1927 void CRichEditDoc::DeleteContents()\n1928 void CRichEditView::DeleteContents()\n1929 int CDC::DeleteDC()\n1930 int CImageList::DeleteImageList()\n1931 void CComboBox::DeleteItem(tagDELETEITEM*)\n1932 int CComboBoxEx::DeleteItem(int)\n1933 void CListBox::DeleteItem(tagDELETEITEM*)\n1934 int CGdiObject::DeleteObject()\n1935 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1936 void CSplitterWnd::DeleteRow(int)\n1937 void CHandleMap::DeleteTemp()\n1938 void CDC::DeleteTempMap()\n1939 void CGdiObject::DeleteTempMap()\n1940 void CImageList::DeleteTempMap()\n1941 void CMenu::DeleteTempMap()\n1942 void CWnd::DeleteTempMap()\n1943 void CRichEditDoc::DeleteUnmarkedItems()const \n1944 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1945 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1946 void CSplitterWnd::DeleteView(int,int)\n1947 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1948 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1949 void COleSafeArray::Destroy()\n1950 int COleControlSite::DestroyControl()\n1951 void COleSafeArray::DestroyData()\n1952 void COleSafeArray::DestroyDescriptor()\n1953 void CFrameWnd::DestroyDockBars()\n1954 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1955 int CMenu::DestroyMenu()\n1956 void CDHtmlDialog::DestroyModeless()\n1957 void COleControl::DestroySharedMenu()\n1958 void COleDocIPFrameWnd::DestroySharedMenu()\n1959 void COleIPFrameWnd::DestroySharedMenu()\n1960 int CToolTipCtrl::DestroyToolTipCtrl()\n1961 void COleControl::DestroyTracker()\n1962 int CControlBar::DestroyWindow()\n1963 int CMDIChildWnd::DestroyWindow()\n1964 int CWnd::DestroyWindow()\n1965 unsigned int CAsyncSocket::Detach()\n1966 HDC__ * CDC::Detach()\n1967 void * CDialogTemplate::Detach()\n1968 void * CGdiObject::Detach()\n1969 _IMAGELIST * CImageList::Detach()\n1970 unsigned char * CMemFile::Detach()\n1971 HMENU__ * CMenu::Detach()\n1972 int CMonikerFile::Detach(CFileException *)\n1973 IDataObject * COleDataObject::Detach()\n1974 tagVARIANT COleSafeArray::Detach()\n1975 IStream * COleStreamFile::Detach()\n1976 tagVARIANT COleVariant::Detach()\n1977 void * CSharedFile::Detach()\n1978 HDC__ * CWindowlessDC::Detach()\n1979 HWND__ * CWnd::Detach()\n1980 IDispatch * COleDispatchDriver::DetachDispatch()\n1981 void CAsyncSocket::DetachHandle(unsigned int,int)\n1982 void COleControlSite::DetachWindow()\n1983 void CWinApp::DevModeChange(char *)\n1984 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1985 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1986 int COleServerDoc::DiscardUndoState()\n1987 long COleClientItem::XOleIPSite::DiscardUndoState()\n1988 long COleControlSite::XOleIPSite::DiscardUndoState()\n1989 void COleDispatchImpl::Disconnect()\n1990 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1991 void CDHtmlDialog::DisconnectDHtmlEvents()\n1992 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1993 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1994 void CDocument::DisconnectViews()\n1995 void CWinThread::DispatchThreadMessage(tagMSG *)\n1996 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1997 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n1998 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1999 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2000 void CAsyncSocket::DoCallBack(unsigned int,long)\n2001 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2002 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2003 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2004 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2005 void COleControl::DoClick()\n2006 int COleFrameHook::DoContextSensitiveHelp(int)\n2007 int COleConvertDialog::DoConvert(COleClientItem *)\n2008 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2009 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2010 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2011 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2012 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2013 int COleFrameHook::DoEnableModeless(int)\n2014 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2015 void CRecordset::DoFieldExchange(CFieldExchange *)\n2016 int CDocument::DoFileSave()\n2017 int CSplitterWnd::DoKeyboardSplit()\n2018 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2019 int CColorDialog::DoModal()\n2020 int CDialog::DoModal()\n2021 int CFileDialog::DoModal()\n2022 int CFontDialog::DoModal()\n2023 int COleBusyDialog::DoModal()\n2024 int COleChangeIconDialog::DoModal()\n2025 int COleChangeSourceDialog::DoModal()\n2026 int COleConvertDialog::DoModal()\n2027 int COleInsertDialog::DoModal(unsigned long)\n2028 int COleInsertDialog::DoModal()\n2029 int COleLinksDialog::DoModal()\n2030 int COlePasteSpecialDialog::DoModal()\n2031 int COlePropertiesDialog::DoModal()\n2032 int COleUpdateDialog::DoModal()\n2033 int CPageSetupDialog::DoModal()\n2034 int CPrintDialog::DoModal()\n2035 int CPrintDialogEx::DoModal()\n2036 int CPropertySheet::DoModal()\n2037 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2038 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2039 void CControlBar::DoPaint(CDC *)\n2040 void CDockBar::DoPaint(CDC *)\n2041 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2042 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2043 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2044 int CView::DoPreparePrinting(CPrintInfo *)\n2045 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2046 int CWinApp::DoPrintDialog(CPrintDialog *)\n2047 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2048 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2049 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2050 void COleControl::DoPropExchange(CPropExchange *)\n2051 int CDocument::DoSave(char const *,int)\n2052 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2053 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2054 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2055 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2056 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2057 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2058 long COleControlSite::DoVerb(long,tagMSG *)\n2059 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2060 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2061 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2062 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2063 void CWinApp::DoWaitCursor(int)\n2064 void CPreviewView::DoZoom(unsigned int,CPoint)\n2065 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2066 void CDC::DPtoLP(tagSIZE *)const \n2067 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2068 unsigned int CDragListBox::Dragging(CPoint)\n2069 long COleDropTarget::XDropTarget::DragLeave()\n2070 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2071 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2072 void CRectTracker::Draw(CDC *)const \n2073 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2074 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2075 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2076 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2077 void CControlBar::DrawBorders(CDC *,CRect &)\n2078 void COleControl::DrawContent(CDC *,CRect &)\n2079 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2080 void CDockContext::DrawFocusRect(int)\n2081 void CControlBar::DrawGripper(CDC *,CRect const &)\n2082 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2083 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2084 void CDragListBox::DrawInsert(int)\n2085 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2086 void CButton::DrawItem(tagDRAWITEM*)\n2087 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2088 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2089 void CComboBox::DrawItem(tagDRAWITEM*)\n2090 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2091 void CListBox::DrawItem(tagDRAWITEM*)\n2092 void CListCtrl::DrawItem(tagDRAWITEM*)\n2093 void CListView::DrawItem(tagDRAWITEM*)\n2094 void CMenu::DrawItem(tagDRAWITEM*)\n2095 void CStatic::DrawItem(tagDRAWITEM*)\n2096 void CStatusBar::DrawItem(tagDRAWITEM*)\n2097 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2098 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2099 void COleControl::DrawMetafile(CDC *,CRect &)\n2100 void CDragListBox::DrawSingle(int)\n2101 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2102 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2103 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2104 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2105 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2106 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2107 void CDragListBox::Dropped(int,CPoint)\n2108 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2109 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2110 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2111 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2112 CDumpContext & CDumpContext::DumpAsHex(int)\n2113 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2114 CDumpContext & CDumpContext::DumpAsHex(long)\n2115 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2116 long COleControl::XDataObject::DUnadvise(unsigned long)\n2117 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2118 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2119 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2120 CFile * CFile::Duplicate()const \n2121 CFile * CInternetFile::Duplicate()const \n2122 CFile * CMemFile::Duplicate()const \n2123 CFile * COleStreamFile::Duplicate()const \n2124 CFile * CSocketFile::Duplicate()const \n2125 CFile * CStdioFile::Duplicate()const \n2126 unsigned long const CEditView::dwStyleDefault\n2127 void CRecordset::Edit()\n2128 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2129 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2130 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2131 void ATL::CSimpleStringT<char,1>::Empty()\n2132 void CDBException::Empty()\n2133 void COleDataSource::Empty()\n2134 void CCheckListBox::Enable(int,int)\n2135 void CCmdUI::Enable(int)\n2136 void COleCmdUI::Enable(int)\n2137 void CStatusCmdUI::Enable(int)\n2138 void CTestCmdUI::Enable(int)\n2139 void CToolCmdUI::Enable(int)\n2140 void CCmdTarget::EnableAggregation()\n2141 void CCmdTarget::EnableAutomation()\n2142 void CRecordset::EnableBookmarks()\n2143 void CCmdTarget::EnableConnections()\n2144 void CControlBar::EnableDocking(unsigned long)\n2145 void CFrameWnd::EnableDocking(unsigned long)\n2146 void COleControlSite::EnableDSC()\n2147 long CBrowserControlSite::EnableModeless(int)\n2148 long CDHtmlDialog::EnableModeless(int)\n2149 void CWinApp::EnableModeless(int)\n2150 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2151 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2152 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2153 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2154 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2155 void CWnd::EnableScrollBarCtrl(int,int)\n2156 void CWinApp::EnableShellOpen()\n2157 void COleControl::EnableSimpleFrame()\n2158 void CPropertySheet::EnableStackedTabs(int)\n2159 int CInternetSession::EnableStatusCallback(int)\n2160 int CWnd::EnableToolTips(int)\n2161 int CWnd::EnableTrackingToolTips(int)\n2162 void CCmdTarget::EnableTypeLib()\n2163 int COleControlSite::EnableWindow(int)\n2164 int CWnd::EnableWindow(int)\n2165 void COleMessageFilter::EndBusyState()\n2166 void CAsyncMonikerFile::EndCallbacks()\n2167 long COleLinkingDoc::EndDeferErrors(long)\n2168 void CDialog::EndDialog(int)\n2169 void CPropertyPage::EndDialog(int)\n2170 void CPropertySheet::EndDialog(int)\n2171 void CDockContext::EndDrag()\n2172 void CWnd::EndModalLoop(int)\n2173 void CFrameWnd::EndModalState()\n2174 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2175 void CDockContext::EndResize()\n2176 void CCmdTarget::EndWaitCursor()\n2177 void COleDataObject::EnsureClipboardObject()\n2178 long CWnd::EnsureStdObj()\n2179 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2180 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2181 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2182 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2183 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2184 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2185 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2186 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2187 int COlePropertyPage::EnumControls(HWND__ *,long)\n2188 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2189 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2190 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2191 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2192 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2193 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2194 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2195 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2196 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2197 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2198 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2199 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2200 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2201 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2202 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2203 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2204 void CControlBar::EraseNonClient()\n2205 int CFileException::ErrnoToException(int)\n2206 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2207 int CMetaFileDC::Escape(int,int,char const *,void *)\n2208 int CPreviewDC::Escape(int,int,char const *,void *)\n2209 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2210 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2211 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2212 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2213 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2214 int COleControl::ExchangeExtent(CPropExchange *)\n2215 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2216 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2217 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2218 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2219 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2220 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2221 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2222 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2223 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2224 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2225 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2226 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2227 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2228 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2229 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2230 void COleControl::ExchangeStockProps(CPropExchange *)\n2231 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2232 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2233 int CDC::ExcludeClipRect(int,int,int,int)\n2234 int CDC::ExcludeClipRect(tagRECT const *)\n2235 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2236 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2237 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2238 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2239 int CHtmlEditView::ExecHandler(unsigned int)\n2240 int CWnd::ExecuteDlgInit(void *)\n2241 int CWnd::ExecuteDlgInit(char const *)\n2242 void CRecordset::ExecuteSetPosUpdate()\n2243 void CDatabase::ExecuteSQL(char const *)\n2244 void CRecordset::ExecuteUpdateSQL()\n2245 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2246 void CFrameWnd::ExitHelpMode()\n2247 int COleControlModule::ExitInstance()\n2248 int CWinApp::ExitInstance()\n2249 int CWinThread::ExitInstance()\n2250 unsigned long CCmdTarget::ExternalAddRef()\n2251 void CCmdTarget::ExternalDisconnect()\n2252 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2253 unsigned long CCmdTarget::ExternalRelease()\n2254 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2255 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2256 void CDataExchange::Fail()\n2257 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2258 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2259 void CArchive::FillBuffer(unsigned int)\n2260 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2261 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2262 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2263 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2264 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2265 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2266 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2267 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2268 void CWnd::FilterToolTipMessage(tagMSG *)\n2269 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2270 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2271 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2272 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2273 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2274 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2275 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2276 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2277 int CDockBar::FindBar(CControlBar *,int)\n2278 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2279 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2280 int CFileFind::FindFile(char const *,unsigned long)\n2281 int CFtpFileFind::FindFile(char const *,unsigned long)\n2282 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2283 int CGopherFileFind::FindFile(char const *,unsigned long)\n2284 __POSITION * CObList::FindIndex(int)const \n2285 __POSITION * CPtrList::FindIndex(int)const \n2286 __POSITION * CStringList::FindIndex(int)const \n2287 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2288 int CFileFind::FindNextFileA()\n2289 int CFtpFileFind::FindNextFileA()\n2290 int CGopherFileFind::FindNextFileA()\n2291 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2292 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2293 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2294 int CDHtmlDialog::FindSinkForObject(char const *)\n2295 char const * CRecordset::FindSQLToken(char const *,char const *)\n2296 int CEditView::FindTextA(char const *,int,int)\n2297 int CRichEditView::FindTextA(char const *,int,int,int)\n2298 int CRichEditView::FindTextSimple(char const *,int,int,int)\n2299 int COleClientItem::FinishCreate(long)\n2300 void COleControl::FireError(long,char const *,unsigned int)\n2301 void COleControl::FireEvent(long,unsigned char *,...)\n2302 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2303 void COleControl::FireEventV(long,unsigned char *,char *)\n2304 void CRecordset::Fixups()\n2305 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2306 void CArchive::Flush()\n2307 void CDumpContext::Flush()\n2308 void CFile::Flush()\n2309 void CInternetFile::Flush()\n2310 void CMemFile::Flush()\n2311 void CMonikerFile::Flush()\n2312 void COleStreamFile::Flush()\n2313 void CSocketFile::Flush()\n2314 void CStdioFile::Flush()\n2315 void COleDataSource::FlushClipboard()\n2316 int CRecordset::FlushResultSet()\n2317 private: void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2318 private: void ATL::CSimpleStringT<char,1>::Fork(int)\n2319 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2320 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2321 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2322 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2323 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n2324 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n2325 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n2326 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2327 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2328 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2329 void COleControl::ForwardActivationMsg(tagMSG *)\n2330 void CAfxStringMgr::Free(ATL::CStringData *)\n2331 void CDatabase::Free()\n2332 void CFixedAlloc::Free(void *)\n2333 void CFixedAllocNoSync::Free(void *)\n2334 void CMemFile::Free(unsigned char *)\n2335 void CSharedFile::Free(unsigned char *)\n2336 void CFixedAlloc::FreeAll()\n2337 void CFixedAllocNoSync::FreeAll()\n2338 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2339 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2340 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2341 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2342 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2343 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2344 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2345 void CRecordset::FreeDataCache()\n2346 void CPlex::FreeDataChain()\n2347 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n2348 void ATL::CSimpleStringT<char,1>::FreeExtra()\n2349 void CByteArray::FreeExtra()\n2350 void CDWordArray::FreeExtra()\n2351 void CObArray::FreeExtra()\n2352 void CPtrArray::FreeExtra()\n2353 void CStringArray::FreeExtra()\n2354 void CUIntArray::FreeExtra()\n2355 void CWordArray::FreeExtra()\n2356 void CObList::FreeNode(CObList::CNode *)\n2357 void CPtrList::FreeNode(CPtrList::CNode *)\n2358 void CStringList::FreeNode(CStringList::CNode *)\n2359 void CRecordset::FreeRowset()\n2360 void CThreadSlotData::FreeSlot(int)\n2361 private: void CProperty::FreeValue()\n2362 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2363 void COleControlContainer::FreezeAllEvents(int)\n2364 void COleControlSite::FreezeEvents(int)\n2365 long COleControl::XOleControl::FreezeEvents(int)\n2366 int COleClientItem::FreezeLink()\n2367 CDC * CDC::FromHandle(HDC__ *)\n2368 CGdiObject * CGdiObject::FromHandle(void *)\n2369 CObject * CHandleMap::FromHandle(void *)\n2370 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2371 CMenu * CMenu::FromHandle(HMENU__ *)\n2372 CWnd * CWnd::FromHandle(HWND__ *)\n2373 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2374 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2375 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2376 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2377 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2378 CRuntime* CRuntimeClass::FromName(char const *)\n2379 void * CProperty::Get(unsigned long *)\n2380 void * CProperty::Get()\n2381 void * CPropertySection::Get(unsigned long)\n2382 void * CPropertySection::Get(unsigned long,unsigned long *)\n2383 void * CPropertySet::Get(_GUID,unsigned long)\n2384 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2385 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2386 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2387 long CWnd::get_accChildCount(long *)\n2388 long CWnd::XAccessible::get_accChildCount(long *)\n2389 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2390 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2391 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2392 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2393 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2394 long CWnd::get_accFocus(tagVARIANT *)\n2395 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2396 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2397 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2398 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2399 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2400 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2401 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2402 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2403 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2404 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2405 long CWnd::get_accParent(IDispatch * *)\n2406 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2407 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2408 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2409 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2410 long CWnd::get_accSelection(tagVARIANT *)\n2411 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2412 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2413 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2414 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2415 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2416 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2417 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2418 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2419 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2420 long CWnd::GetAccessibleChildCount()\n2421 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2422 unsigned long COleControl::GetActivationPolicy()\n2423 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2424 CDocument * CFrameWnd::GetActiveDocument()\n2425 CFrameWnd * CFrameWnd::GetActiveFrame()\n2426 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2427 int CPropertySheet::GetActiveIndex()const \n2428 CPropertyPage * CPropertySheet::GetActivePage()const \n2429 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2430 CView * CFrameWnd::GetActiveView()const \n2431 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2432 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2433 int CHtmlView::GetAddressBar()const \n2434 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2435 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n2436 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n2437 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2438 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2439 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2440 short COleControl::GetAppearance()\n2441 IDispatch * CHtmlView::GetApplication()const \n2442 HKEY__ * CWinApp::GetAppRegistryKey()\n2443 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2444 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2445 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2446 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2447 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2448 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2449 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2450 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2451 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2452 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2453 unsigned long COleControl::GetBackColor()\n2454 void CControlBar::GetBarInfo(CControlBarInfo *)\n2455 void CDockBar::GetBarInfo(CControlBarInfo *)\n2456 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2457 void * CBlobProperty::GetBlob()\n2458 void CRecordset::GetBookmark(CDBVariant &)\n2459 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2460 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2461 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2462 short COleControl::GetBorderStyle()\n2463 long CDataSourceControl::GetBoundClientRow()\n2464 int CRecordset::GetBoundFieldIndex(void *)\n2465 int CRecordset::GetBoundParamIndex(void *)\n2466 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2467 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n2468 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2469 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n2470 unsigned int CEditView::GetBufferLength()const \n2471 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2472 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2473 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2474 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2475 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2476 int CHtmlView::GetBusy()const \n2477 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2478 unsigned int CToolBar::GetButtonStyle(int)const \n2479 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n2480 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2481 void COleSafeArray::GetByteArray(CByteArray &)\n2482 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2483 unsigned short CPropertySet::GetByteOrder()\n2484 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2485 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2486 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2487 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2488 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2489 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2490 CWnd * COleControl::GetCapture()\n2491 long COleControlSite::XOleIPSite::GetCapture()\n2492 void CFontDialog::GetCharFormat(_charformat &)const \n2493 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n2494 int CCheckListBox::GetCheck(int)\n2495 int CListCtrl::GetCheck(int)const \n2496 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2497 int CWnd::GetCheckedRadioButton(int,int)\n2498 long CBlobProperty::GetClassID(_GUID *)\n2499 void COleClientItem::GetClassID(_GUID *)const \n2500 _GUID CPropertySet::GetClassID()\n2501 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2502 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2503 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2504 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2505 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2506 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2507 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n2508 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2509 void COleControl::GetClientOffset(long *,long *)const \n2510 void COleControl::GetClientRect(tagRECT *)const \n2511 IOleClientSite * COleClientItem::GetClientSite()\n2512 IOleClientSite * COleControl::GetClientSite()\n2513 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2514 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2515 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2516 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2517 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2518 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2519 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2520 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2521 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2522 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2523 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2524 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2525 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2526 COleDataSource * COleDataSource::GetClipboardOwner()\n2527 int CDC::GetClipBox(tagRECT *)const \n2528 int CMetaFileDC::GetClipBox(tagRECT *)const \n2529 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2530 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2531 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2532 int CListCtrl::GetColumnOrderArray(int *,int)\n2533 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2534 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2535 void CDatabase::GetConnectInfo()\n2536 int CConnectionPoint::GetConnectionCount()\n2537 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2538 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2539 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2540 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2541 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2542 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2543 CPtrArray const * CConnectionPoint::GetConnections()\n2544 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2545 IDispatch * CHtmlView::GetContainer()const \n2546 IOleItemContainer * COleDocument::GetContainer()\n2547 IOleItemContainer * COleLinkingDoc::GetContainer()\n2548 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2549 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2550 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2551 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2552 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2553 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2554 COleControlContainer * CWnd::GetControlContainer()\n2555 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n2556 unsigned long COleControl::GetControlFlags()\n2557 void COleControlSite::GetControlInfo()\n2558 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2559 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2560 IUnknown * CCmdTarget::GetControllingUnknown()\n2561 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2562 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n2563 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n2564 void COleControl::GetControlSize(int *,int *)\n2565 int COlePropertyPage::GetControlStatus(unsigned int)\n2566 IUnknown * CWnd::GetControlUnknown()\n2567 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2568 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2569 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n2570 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n2571 int CPrintDialog::GetCopies()const \n2572 int CPrintDialogEx::GetCopies()const \n2573 unsigned long CPropertySection::GetCount()\n2574 unsigned long CPropertySet::GetCount()\n2575 int CFileFind::GetCreationTime(ATL::CTime &)const \n2576 int CFileFind::GetCreationTime(_FILETIME *)const \n2577 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2578 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2579 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2580 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2581 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n2582 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2583 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n2584 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n2585 tagMSG const * CWnd::GetCurrentMessage()\n2586 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2587 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2588 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2589 IUnknown * CDataBoundProperty::GetCursor()\n2590 IUnknown * CDataSourceControl::GetCursor()\n2591 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2592 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2593 private: ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n2594 private: ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n2595 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2596 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2597 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2598 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2599 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2600 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2601 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2602 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2603 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n2604 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2605 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2606 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2607 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2608 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2609 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2610 IDataObject * COleServerItem::GetDataObject()\n2611 COleControl::CControlDataSource * COleControl::GetDataSource()\n2612 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2613 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2614 HACCEL__ * CDocument::GetDefaultAccelerator()\n2615 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2616 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2617 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2618 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n2619 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n2620 short CRecordset::GetDefaultFieldType(short)\n2621 HMENU__ * CDocument::GetDefaultMenu()\n2622 HMENU__ * COleServerDoc::GetDefaultMenu()\n2623 int CPrintDialog::GetDefaults()\n2624 int CPrintDialogEx::GetDefaults()\n2625 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n2626 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2627 unsigned long COleControlSite::GetDefBtnCode()\n2628 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2629 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n2630 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n2631 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n2632 CPoint CScrollView::GetDeviceScrollPosition()const \n2633 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2634 _devicemodeA * CPageSetupDialog::GetDevMode()const \n2635 _devicemodeA * CPrintDialog::GetDevMode()const \n2636 _devicemodeA * CPrintDialogEx::GetDevMode()const \n2637 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2638 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2639 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2640 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2641 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2642 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2643 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2644 int CCmdTarget::GetDispatchIID(_GUID *)\n2645 int COleControl::GetDispatchIID(_GUID *)\n2646 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2647 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2648 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2649 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n2650 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2651 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2652 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2653 int COleControlSite::GetDlgCtrlID()const \n2654 int CWnd::GetDlgCtrlID()const \n2655 CWnd * COleControlContainer::GetDlgItem(int)const \n2656 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2657 CWnd * CWnd::GetDlgItem(int)const \n2658 void CWnd::GetDlgItem(int,HWND__ * *)const \n2659 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2660 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2661 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n2662 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2663 int CWnd::GetDlgItemTextA(int,char *,int)const \n2664 CDockBar * CDockContext::GetDockBar(unsigned long)\n2665 CControlBar * CDockBar::GetDockedControlBar(int)const \n2666 int CDockBar::GetDockedCount()const \n2667 int CDockBar::GetDockedVisibleCount()const \n2668 CFrameWnd * CControlBar::GetDockingFrame()const \n2669 void CFrameWnd::GetDockState(CDockState &)const \n2670 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2671 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2672 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n2673 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2674 int CDocManager::GetDocumentCount()\n2675 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2676 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n2677 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n2678 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n2679 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2680 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2681 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2682 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2683 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2684 IUnknown * CWnd::GetDSCCursor()\n2685 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n2686 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n2687 void COleSafeArray::GetElement(long *,void *)\n2688 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n2689 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n2690 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n2691 wchar_t * CDHtmlDialog::GetElementText(char const *)\n2692 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2693 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2694 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2695 int COleControl::GetEnabled()\n2696 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2697 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2698 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n2699 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n2700 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2701 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2702 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2703 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2704 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2705 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2706 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2707 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2708 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2709 int COleControlSite::GetEventIID(_GUID *)\n2710 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2711 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n2712 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n2713 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2714 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2715 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2716 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2717 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2718 unsigned long COleControlSite::GetExStyle()const \n2719 unsigned long CWnd::GetExStyle()const \n2720 IDispatch * COleControl::GetExtendedControl()\n2721 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2722 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2723 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2724 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2725 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2726 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2727 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2728 long CBrowserControlSite::GetExternal(IDispatch * *)\n2729 long CDHtmlDialog::GetExternal(IDispatch * *)\n2730 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2731 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2732 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2733 short CRecordset::GetFieldIndexByName(char const *)\n2734 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2735 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2736 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2737 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2738 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2739 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2740 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2741 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n2742 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n2743 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n2744 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2745 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n2746 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n2747 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n2748 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n2749 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n2750 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n2751 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n2752 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n2753 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n2754 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n2755 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n2756 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n2757 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2758 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n2759 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n2760 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n2761 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n2762 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2763 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2764 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2765 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2766 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2767 CFrameWnd * COleDocument::GetFirstFrame()\n2768 __POSITION * CDocument::GetFirstViewPosition()const \n2769 CWnd * COleControl::GetFocus()\n2770 long COleControlSite::XOleIPSite::GetFocus()\n2771 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n2772 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n2773 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n2774 IFontDisp * COleControl::GetFont()\n2775 IFontDisp * CFontHolder::GetFontDispatch()\n2776 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2777 HFONT__ * CFontHolder::GetFontHandle()\n2778 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2779 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n2780 unsigned long COleControl::GetForeColor()\n2781 _GUID CPropertySection::GetFormatID()\n2782 unsigned short CPropertySet::GetFormatVersion()\n2783 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n2784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n2785 int CHtmlView::GetFullScreen()const \n2786 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2787 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2788 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n2789 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2790 CBrush * CDC::GetHalftoneBrush()\n2791 unsigned int CRectTracker::GetHandleMask()const \n2792 void CRectTracker::GetHandleRect(int,CRect *)const \n2793 int CRectTracker::GetHandleSize(tagRECT const *)const \n2794 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2795 long CHtmlView::GetHeight()const \n2796 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2797 void CSplitterWnd::GetHitRect(int,CRect &)\n2798 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2799 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2800 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2801 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2802 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n2803 IDispatch * CHtmlView::GetHtmlDocument()const \n2804 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n2805 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n2806 unsigned int COleControl::GetHwnd()\n2807 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2808 HICON__ * COleClientItem::GetIconFromRegistry()const \n2809 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2810 void * COleClientItem::GetIconicMetafile()\n2811 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2812 unsigned long CProperty::GetID()\n2813 int CPropertySection::GetID(char const *,unsigned long *)\n2814 IDataObject * COleDataObject::GetIDataObject(int)\n2815 IDispatch * CCmdTarget::GetIDispatch(int)\n2816 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2817 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2818 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2819 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2820 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2821 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2822 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2823 _GUID const & COleControl::XEventConnPt::GetIID()\n2824 CImageList * CReBarCtrl::GetImageList()const \n2825 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2826 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2827 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2828 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2829 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2830 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2831 CWnd * COleClientItem::GetInPlaceWindow()\n2832 void CSplitterWnd::GetInsideRect(CRect &)const \n2833 IUnknown * CCmdTarget::GetInterface(void const *)\n2834 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2835 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2836 IUnknown * COleControl::GetInterfaceHook(void const *)\n2837 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2838 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2839 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2840 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2841 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2842 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2843 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2844 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2845 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2846 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2847 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2848 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2849 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2850 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2851 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2852 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2853 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2854 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2855 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2856 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2857 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2858 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2859 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2860 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2861 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2862 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2863 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2864 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n2865 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2866 unsigned long CListCtrl::GetItemData(int)const \n2867 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2868 unsigned int CStatusBar::GetItemID(int)const \n2869 unsigned int CToolBar::GetItemID(int)const \n2870 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2871 void COleClientItem::GetItemName(char *)const \n2872 void COleServerDoc::GetItemPosition(tagRECT *)const \n2873 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2874 void CStatusBar::GetItemRect(int,tagRECT *)const \n2875 void CToolBar::GetItemRect(int,tagRECT *)const \n2876 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2877 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2878 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2879 void COleClientItem::GetItemStorage()\n2880 void COleClientItem::GetItemStorageCompound()\n2881 void COleClientItem::GetItemStorageFlat()\n2882 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n2883 int CListCtrl::GetItemText(int,int,char *,int)const \n2884 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2885 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2886 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2887 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2888 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2889 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2890 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2891 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2892 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2893 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2894 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2895 unsigned long CDC::GetLayout()const \n2896 long CRecordset::GetLBFetchSize(long)\n2897 void COleSafeArray::GetLBound(unsigned long,long *)\n2898 long CRecordset::GetLBReallocSize(long)\n2899 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2900 long CHtmlView::GetLeft()const \n2901 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n2902 int ATL::CSimpleStringT<char,1>::GetLength()const \n2903 unsigned __int64 CFile::GetLength()const \n2904 unsigned __int64 CFileFind::GetLength()const \n2905 unsigned __int64 CGopherFileFind::GetLength()const \n2906 unsigned __int64 CInternetFile::GetLength()const \n2907 unsigned __int64 CMemFile::GetLength()const \n2908 unsigned __int64 COleStreamFile::GetLength()const \n2909 unsigned __int64 CSocketFile::GetLength()const \n2910 unsigned __int64 CStdioFile::GetLength()const \n2911 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2912 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2913 int CRichEditCtrl::GetLine(int,char *)const \n2914 int CRichEditCtrl::GetLine(int,char *,int)const \n2915 private: COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n2916 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n2917 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2918 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2919 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2920 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2921 CPtrList * CPropertySection::GetList()\n2922 CPtrList * CPropertySet::GetList()\n2923 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n2924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n2925 CGopherLocator CGopherFileFind::GetLocator()const \n2926 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2927 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2928 long CFieldExchange::GetLongBinarySize(int)\n2929 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2930 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2931 CWnd * CWinThread::GetMainWnd()\n2932 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n2933 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n2934 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2935 int CConnectionPoint::GetMaxConnections()\n2936 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2937 int CHtmlView::GetMenuBar()const \n2938 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n2939 CWnd * CFrameWnd::GetMessageBar()\n2940 CWnd * CMDIChildWnd::GetMessageBar()\n2941 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2942 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2943 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2944 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2945 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2946 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2947 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2948 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2949 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2950 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2951 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2952 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2953 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2954 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2955 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2956 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2957 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2958 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2959 AFX_MSGMAP const * CListView::GetMessageMap()const \n2960 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2961 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2962 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2963 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2964 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2965 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2966 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2967 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2968 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2969 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2970 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2971 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2972 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2973 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2974 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2975 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2976 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2977 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2978 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2979 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2980 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2981 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2982 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2983 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2984 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2985 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2986 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2987 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2988 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2989 AFX_MSGMAP const * CView::GetMessageMap()const \n2990 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2991 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2992 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2993 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2994 long CDataSourceControl::GetMetaData()\n2995 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2996 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2997 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2998 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2999 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3000 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3001 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3002 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3003 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3004 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3005 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3006 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3007 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3008 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3009 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3010 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3011 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3012 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3013 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3014 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3015 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3016 unsigned long COleClientItem::GetNewItemNumber()\n3017 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3018 CDataBoundProperty * CDataBoundProperty::GetNext()\n3019 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3020 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3021 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n3022 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n3023 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3024 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3025 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3026 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3027 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3028 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3029 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3030 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3031 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3032 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3033 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3034 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3035 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3036 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3037 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3038 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3039 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3040 CView * CDocument::GetNextView(__POSITION * &)const \n3041 ATL::CStringData * CAfxStringMgr::GetNilString()\n3042 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3043 void CCmdTarget::GetNotSupported()\n3044 void COleControl::GetNotSupported()\n3045 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n3046 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3047 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3048 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3049 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3050 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n3051 unsigned int CArchive::GetObjectSchema()\n3052 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3053 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3054 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n3055 int CHtmlView::GetOffline()const \n3056 tagOFNA & CFileDialog::GetOFN()\n3057 tagOFNA const & CFileDialog::GetOFN()const \n3058 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3059 IOleObject * COleServerItem::GetOleObject()\n3060 unsigned long COleSafeArray::GetOneDimSize()\n3061 int CDocManager::GetOpenDocumentCount()\n3062 int CWinApp::GetOpenDocumentCount()\n3063 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3064 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3065 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3066 int CHeaderCtrl::GetOrderArray(int *,int)\n3067 unsigned long CPropertySet::GetOSVersion()\n3068 CWnd * COleControl::GetOuterWindow()const \n3069 int COleDocObjectItem::GetPageCount(long *,long *)\n3070 int CPropertySheet::GetPageCount()const \n3071 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3072 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3073 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3074 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3075 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3076 CWnd * CSplitterWnd::GetPane(int,int)const \n3077 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3078 unsigned int CStatusBar::GetPaneStyle(int)const \n3079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n3080 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3081 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3082 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3083 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n3084 IDispatch * CHtmlView::GetParentBrowser()const \n3085 CFrameWnd * CWnd::GetParentFrame()const \n3086 CWnd * CWnd::GetParentOwner()const \n3087 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3088 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n3089 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3090 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3091 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n3092 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n3093 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n3094 unsigned __int64 CFile::GetPosition()const \n3095 unsigned __int64 CMemFile::GetPosition()const \n3096 unsigned __int64 COleStreamFile::GetPosition()const \n3097 unsigned __int64 CSocketFile::GetPosition()const \n3098 unsigned __int64 CStdioFile::GetPosition()const \n3099 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3100 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3101 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3102 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3103 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3104 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3105 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n3106 CFont * CEditView::GetPrinterFont()const \n3107 long CAsyncMonikerFile::GetPriority()const \n3108 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n3109 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n3110 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n3111 int COlePropertyPage::GetPropCheck(char const *,int *)\n3112 COleVariant CHtmlView::GetProperty(char const *)\n3113 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3114 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3115 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3116 CProperty * CPropertySection::GetProperty(unsigned long)\n3117 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3118 void CWnd::GetProperty(long,unsigned short,void *)const \n3119 int COlePropertyPage::GetPropIndex(char const *,int *)\n3120 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3121 int COlePropertyPage::GetPropRadio(char const *,int *)\n3122 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3123 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n3124 int COlePropertyPage::GetPropText(char const *,short *)\n3125 int COlePropertyPage::GetPropText(char const *,int *)\n3126 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n3127 int COlePropertyPage::GetPropText(char const *,long *)\n3128 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n3129 int COlePropertyPage::GetPropText(char const *,float *)\n3130 int COlePropertyPage::GetPropText(char const *,double *)\n3131 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n3132 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n3133 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n3134 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3135 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3136 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3137 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3138 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3139 void CProgressCtrl::GetRange(int &,int &)\n3140 void CSliderCtrl::GetRange(int &,int &)const \n3141 void CSpinButtonCtrl::GetRange(int &,int &)const \n3142 void * CProperty::GetRawValue()\n3143 enum tagREADYSTATE CHtmlView::GetReadyState()const \n3144 long COleControl::GetReadyState()\n3145 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3146 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3147 int COleControl::GetRectInContainer(tagRECT *)\n3148 int CHtmlView::GetRegisterAsBrowser()const \n3149 int CHtmlView::GetRegisterAsDropTarget()const \n3150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n3151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n3152 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3153 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n3154 CView * CCmdTarget::GetRoutingView()\n3155 CView * CCmdTarget::GetRoutingView_()\n3156 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3157 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3158 CRuntime* CArchiveException::GetRuntimeClass()const \n3159 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3160 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3161 CRuntime* CBitmap::GetRuntimeClass()const \n3162 CRuntime* CBitmapButton::GetRuntimeClass()const \n3163 CRuntime* CBrush::GetRuntimeClass()const \n3164 CRuntime* CButton::GetRuntimeClass()const \n3165 CRuntime* CByteArray::GetRuntimeClass()const \n3166 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3167 CRuntime* CCheckListBox::GetRuntimeClass()const \n3168 CRuntime* CClientDC::GetRuntimeClass()const \n3169 CRuntime* CCmdTarget::GetRuntimeClass()const \n3170 CRuntime* CColorDialog::GetRuntimeClass()const \n3171 CRuntime* CComboBox::GetRuntimeClass()const \n3172 CRuntime* CComboBoxEx::GetRuntimeClass()const \n3173 CRuntime* CControlBar::GetRuntimeClass()const \n3174 CRuntime* CCriticalSection::GetRuntimeClass()const \n3175 CRuntime* CCtrlView::GetRuntimeClass()const \n3176 CRuntime* CDatabase::GetRuntimeClass()const \n3177 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3178 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n3179 CRuntime* CDBException::GetRuntimeClass()const \n3180 CRuntime* CDC::GetRuntimeClass()const \n3181 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n3182 CRuntime* CDialog::GetRuntimeClass()const \n3183 CRuntime* CDialogBar::GetRuntimeClass()const \n3184 CRuntime* CDocItem::GetRuntimeClass()const \n3185 CRuntime* CDockBar::GetRuntimeClass()const \n3186 CRuntime* CDockState::GetRuntimeClass()const \n3187 CRuntime* CDocManager::GetRuntimeClass()const \n3188 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3189 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3190 CRuntime* CDocTemplate::GetRuntimeClass()const \n3191 CRuntime* CDocument::GetRuntimeClass()const \n3192 CRuntime* CDragListBox::GetRuntimeClass()const \n3193 CRuntime* CDWordArray::GetRuntimeClass()const \n3194 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3195 CRuntime* CEdit::GetRuntimeClass()const \n3196 CRuntime* CEditView::GetRuntimeClass()const \n3197 CRuntime* CEvent::GetRuntimeClass()const \n3198 CRuntime* CException::GetRuntimeClass()const \n3199 CRuntime* CFile::GetRuntimeClass()const \n3200 CRuntime* CFileDialog::GetRuntimeClass()const \n3201 CRuntime* CFileException::GetRuntimeClass()const \n3202 CRuntime* CFileFind::GetRuntimeClass()const \n3203 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3204 CRuntime* CFont::GetRuntimeClass()const \n3205 CRuntime* CFontDialog::GetRuntimeClass()const \n3206 CRuntime* CFormView::GetRuntimeClass()const \n3207 CRuntime* CFrameWnd::GetRuntimeClass()const \n3208 CRuntime* CFtpConnection::GetRuntimeClass()const \n3209 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3210 CRuntime* CGdiObject::GetRuntimeClass()const \n3211 CRuntime* CGopherConnection::GetRuntimeClass()const \n3212 CRuntime* CGopherFile::GetRuntimeClass()const \n3213 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3214 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3215 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3216 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3217 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3218 CRuntime* CHtmlView::GetRuntimeClass()const \n3219 CRuntime* CHttpConnection::GetRuntimeClass()const \n3220 CRuntime* CHttpFile::GetRuntimeClass()const \n3221 CRuntime* CImageList::GetRuntimeClass()const \n3222 CRuntime* CInternetConnection::GetRuntimeClass()const \n3223 CRuntime* CInternetException::GetRuntimeClass()const \n3224 CRuntime* CInternetFile::GetRuntimeClass()const \n3225 CRuntime* CInternetSession::GetRuntimeClass()const \n3226 CRuntime* CInvalidArgException::GetRuntimeClass()const \n3227 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3228 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3229 CRuntime* CListBox::GetRuntimeClass()const \n3230 CRuntime* CListCtrl::GetRuntimeClass()const \n3231 CRuntime* CListView::GetRuntimeClass()const \n3232 CRuntime* CLongBinary::GetRuntimeClass()const \n3233 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3234 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3235 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3236 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3237 CRuntime* CMapStringToString::GetRuntimeClass()const \n3238 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3239 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3240 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3241 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3242 CRuntime* CMemFile::GetRuntimeClass()const \n3243 CRuntime* CMemoryException::GetRuntimeClass()const \n3244 CRuntime* CMenu::GetRuntimeClass()const \n3245 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3246 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3247 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3248 CRuntime* CMonikerFile::GetRuntimeClass()const \n3249 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3250 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3251 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3252 CRuntime* CMutex::GetRuntimeClass()const \n3253 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3254 CRuntime* CObArray::GetRuntimeClass()const \n3255 CRuntime* CObject::GetRuntimeClass()const \n3256 CRuntime* CObList::GetRuntimeClass()const \n3257 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3258 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3259 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3260 CRuntime* COleClientItem::GetRuntimeClass()const \n3261 CRuntime* COleControl::GetRuntimeClass()const \n3262 CRuntime* COleControlModule::GetRuntimeClass()const \n3263 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3264 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3265 CRuntime* COleDialog::GetRuntimeClass()const \n3266 CRuntime* COleDispatchException::GetRuntimeClass()const \n3267 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3268 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3269 CRuntime* COleDocument::GetRuntimeClass()const \n3270 CRuntime* COleException::GetRuntimeClass()const \n3271 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3272 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3273 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3274 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3275 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3276 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3277 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3278 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3279 CRuntime* COleResizeBar::GetRuntimeClass()const \n3280 CRuntime* COleServerDoc::GetRuntimeClass()const \n3281 CRuntime* COleServerItem::GetRuntimeClass()const \n3282 CRuntime* COleStreamFile::GetRuntimeClass()const \n3283 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3284 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3285 CRuntime* CPaintDC::GetRuntimeClass()const \n3286 CRuntime* CPalette::GetRuntimeClass()const \n3287 CRuntime* CPen::GetRuntimeClass()const \n3288 CRuntime* CPreviewDC::GetRuntimeClass()const \n3289 CRuntime* CPreviewView::GetRuntimeClass()const \n3290 CRuntime* CPrintDialog::GetRuntimeClass()const \n3291 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3292 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3293 CRuntime* CPropertyPage::GetRuntimeClass()const \n3294 CRuntime* CPropertySheet::GetRuntimeClass()const \n3295 CRuntime* CPtrArray::GetRuntimeClass()const \n3296 CRuntime* CPtrList::GetRuntimeClass()const \n3297 CRuntime* CReBar::GetRuntimeClass()const \n3298 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3299 CRuntime* CRecordset::GetRuntimeClass()const \n3300 CRuntime* CRecordView::GetRuntimeClass()const \n3301 CRuntime* CResourceException::GetRuntimeClass()const \n3302 CRuntime* CRgn::GetRuntimeClass()const \n3303 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3304 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3305 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3306 CRuntime* CRichEditView::GetRuntimeClass()const \n3307 CRuntime* CScrollBar::GetRuntimeClass()const \n3308 CRuntime* CScrollView::GetRuntimeClass()const \n3309 CRuntime* CSemaphore::GetRuntimeClass()const \n3310 CRuntime* CSharedFile::GetRuntimeClass()const \n3311 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3312 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3313 CRuntime* CSocket::GetRuntimeClass()const \n3314 CRuntime* CSocketFile::GetRuntimeClass()const \n3315 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3316 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3317 CRuntime* CStatic::GetRuntimeClass()const \n3318 CRuntime* CStatusBar::GetRuntimeClass()const \n3319 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3320 CRuntime* CStdioFile::GetRuntimeClass()const \n3321 CRuntime* CStringArray::GetRuntimeClass()const \n3322 CRuntime* CStringList::GetRuntimeClass()const \n3323 CRuntime* CSyncObject::GetRuntimeClass()const \n3324 CRuntime* CTabCtrl::GetRuntimeClass()const \n3325 CRuntime* CToolBar::GetRuntimeClass()const \n3326 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3327 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3328 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3329 CRuntime* CTreeView::GetRuntimeClass()const \n3330 CRuntime* CUIntArray::GetRuntimeClass()const \n3331 CRuntime* CUserException::GetRuntimeClass()const \n3332 CRuntime* CView::GetRuntimeClass()const \n3333 CRuntime* CWinApp::GetRuntimeClass()const \n3334 CRuntime* CWindowDC::GetRuntimeClass()const \n3335 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3336 CRuntime* CWinThread::GetRuntimeClass()const \n3337 CRuntime* CWnd::GetRuntimeClass()const \n3338 CRuntime* CWordArray::GetRuntimeClass()const \n3339 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3340 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3341 unsigned long * CColorDialog::GetSavedCustomColors()\n3342 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n3343 CSize CDockState::GetScreenSize()\n3344 CScrollBar * CView::GetScrollBarCtrl(int)const \n3345 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3346 void CScrollView::GetScrollBarSizes(CSize &)\n3347 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3348 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3349 int CWnd::GetScrollLimit(int)\n3350 int CWnd::GetScrollPos(int)const \n3351 CPoint CScrollView::GetScrollPosition()const \n3352 void CWnd::GetScrollRange(int,int *,int *)const \n3353 unsigned long CSplitterWnd::GetScrollStyle()const \n3354 CPropertySection * CPropertySet::GetSection(_GUID)\n3355 HKEY__ * CWinApp::GetSectionKey(char const *)\n3356 char const * CPropertySection::GetSectionName()\n3357 void CRichEditCtrl::GetSel(long &,long &)const \n3358 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3359 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3360 void CSliderCtrl::GetSelection(int &,int &)const \n3361 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3362 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n3363 unsigned int COleConvertDialog::GetSelectionType()const \n3364 unsigned int COleInsertDialog::GetSelectionType()const \n3365 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3366 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3367 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3368 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3369 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n3370 int CHtmlView::GetSilent()const \n3371 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3372 unsigned long CPropertySection::GetSize()\n3373 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3374 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3375 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3376 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3377 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3378 CWnd * CSplitterWnd::GetSizingParent()\n3379 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3380 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3381 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3382 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3383 char const * CHtmlEditCtrl::GetStartDocument()\n3384 char const * CHtmlEditView::GetStartDocument()\n3385 __POSITION * CConnectionPoint::GetStartPosition()const \n3386 __POSITION * COleDocument::GetStartPosition()const \n3387 __POSITION * CRichEditDoc::GetStartPosition()const \n3388 int CFile::GetStatus(CFileStatus &)const \n3389 int CFile::GetStatus(char const *,CFileStatus &)\n3390 int CMemFile::GetStatus(CFileStatus &)const \n3391 int COleStreamFile::GetStatus(CFileStatus &)const \n3392 int CHtmlView::GetStatusBar()const \n3393 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n3394 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n3395 IStream * COleStreamFile::GetStream()const \n3396 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n3397 char const * ATL::CSimpleStringT<char,1>::GetString()const \n3398 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3399 unsigned long COleControlSite::GetStyle()const \n3400 unsigned long COleControlSiteOrWnd::GetStyle()const \n3401 unsigned long CWnd::GetStyle()const \n3402 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3403 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3404 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3405 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3406 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3407 wchar_t * COleControl::GetText()\n3408 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n3409 int CStatusBarCtrl::GetText(char const *,int,int *)const \n3410 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n3411 long CRecordset::GetTextLen(short,unsigned long)\n3412 int CStatusBarCtrl::GetTextLength(int,int *)const \n3413 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3414 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3415 int CHtmlView::GetTheaterMode()const \n3416 CRuntime* CAnimateCtrl::GetThisClass()\n3417 CRuntime* CArchiveException::GetThisClass()\n3418 CRuntime* CAsyncMonikerFile::GetThisClass()\n3419 CRuntime* CAsyncSocket::GetThisClass()\n3420 CRuntime* CBitmap::GetThisClass()\n3421 CRuntime* CBitmapButton::GetThisClass()\n3422 CRuntime* CBrush::GetThisClass()\n3423 CRuntime* CButton::GetThisClass()\n3424 CRuntime* CByteArray::GetThisClass()\n3425 CRuntime* CCachedDataPathProperty::GetThisClass()\n3426 CRuntime* CCheckListBox::GetThisClass()\n3427 CRuntime* CClientDC::GetThisClass()\n3428 CRuntime* CCmdTarget::GetThisClass()\n3429 CRuntime* CColorDialog::GetThisClass()\n3430 CRuntime* CComboBox::GetThisClass()\n3431 CRuntime* CComboBoxEx::GetThisClass()\n3432 CRuntime* CControlBar::GetThisClass()\n3433 CRuntime* CCriticalSection::GetThisClass()\n3434 CRuntime* CCtrlView::GetThisClass()\n3435 CRuntime* CDatabase::GetThisClass()\n3436 CRuntime* CDataPathProperty::GetThisClass()\n3437 CRuntime* CDateTimeCtrl::GetThisClass()\n3438 CRuntime* CDBException::GetThisClass()\n3439 CRuntime* CDC::GetThisClass()\n3440 CRuntime* CDHtmlDialog::GetThisClass()\n3441 CRuntime* CDialog::GetThisClass()\n3442 CRuntime* CDialogBar::GetThisClass()\n3443 CRuntime* CDocItem::GetThisClass()\n3444 CRuntime* CDockBar::GetThisClass()\n3445 CRuntime* CDockState::GetThisClass()\n3446 CRuntime* CDocManager::GetThisClass()\n3447 CRuntime* CDocObjectServer::GetThisClass()\n3448 CRuntime* CDocObjectServerItem::GetThisClass()\n3449 CRuntime* CDocTemplate::GetThisClass()\n3450 CRuntime* CDocument::GetThisClass()\n3451 CRuntime* CDragListBox::GetThisClass()\n3452 CRuntime* CDWordArray::GetThisClass()\n3453 CRuntime* CDynLinkLibrary::GetThisClass()\n3454 CRuntime* CEdit::GetThisClass()\n3455 CRuntime* CEditView::GetThisClass()\n3456 CRuntime* CEvent::GetThisClass()\n3457 CRuntime* CException::GetThisClass()\n3458 CRuntime* CFile::GetThisClass()\n3459 CRuntime* CFileDialog::GetThisClass()\n3460 CRuntime* CFileException::GetThisClass()\n3461 CRuntime* CFileFind::GetThisClass()\n3462 CRuntime* CFindReplaceDialog::GetThisClass()\n3463 CRuntime* CFont::GetThisClass()\n3464 CRuntime* CFontDialog::GetThisClass()\n3465 CRuntime* CFormView::GetThisClass()\n3466 CRuntime* CFrameWnd::GetThisClass()\n3467 CRuntime* CFtpConnection::GetThisClass()\n3468 CRuntime* CFtpFileFind::GetThisClass()\n3469 CRuntime* CGdiObject::GetThisClass()\n3470 CRuntime* CGopherConnection::GetThisClass()\n3471 CRuntime* CGopherFile::GetThisClass()\n3472 CRuntime* CGopherFileFind::GetThisClass()\n3473 CRuntime* CHeaderCtrl::GetThisClass()\n3474 CRuntime* CHotKeyCtrl::GetThisClass()\n3475 CRuntime* CHtmlEditDoc::GetThisClass()\n3476 CRuntime* CHtmlEditView::GetThisClass()\n3477 CRuntime* CHtmlView::GetThisClass()\n3478 CRuntime* CHttpConnection::GetThisClass()\n3479 CRuntime* CHttpFile::GetThisClass()\n3480 CRuntime* CImageList::GetThisClass()\n3481 CRuntime* CInternetConnection::GetThisClass()\n3482 CRuntime* CInternetException::GetThisClass()\n3483 CRuntime* CInternetFile::GetThisClass()\n3484 CRuntime* CInternetSession::GetThisClass()\n3485 CRuntime* CInvalidArgException::GetThisClass()\n3486 CRuntime* CIPAddressCtrl::GetThisClass()\n3487 CRuntime* CLinkCtrl::GetThisClass()\n3488 CRuntime* CListBox::GetThisClass()\n3489 CRuntime* CListCtrl::GetThisClass()\n3490 CRuntime* CListView::GetThisClass()\n3491 CRuntime* CLongBinary::GetThisClass()\n3492 CRuntime* CMapPtrToPtr::GetThisClass()\n3493 CRuntime* CMapPtrToWord::GetThisClass()\n3494 CRuntime* CMapStringToOb::GetThisClass()\n3495 CRuntime* CMapStringToPtr::GetThisClass()\n3496 CRuntime* CMapStringToString::GetThisClass()\n3497 CRuntime* CMapWordToOb::GetThisClass()\n3498 CRuntime* CMapWordToPtr::GetThisClass()\n3499 CRuntime* CMDIChildWnd::GetThisClass()\n3500 CRuntime* CMDIFrameWnd::GetThisClass()\n3501 CRuntime* CMemFile::GetThisClass()\n3502 CRuntime* CMemoryException::GetThisClass()\n3503 CRuntime* CMenu::GetThisClass()\n3504 CRuntime* CMetaFileDC::GetThisClass()\n3505 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3506 CRuntime* CMiniFrameWnd::GetThisClass()\n3507 CRuntime* CMonikerFile::GetThisClass()\n3508 CRuntime* CMonthCalCtrl::GetThisClass()\n3509 CRuntime* CMultiDocTemplate::GetThisClass()\n3510 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3511 CRuntime* CMutex::GetThisClass()\n3512 CRuntime* CNotSupportedException::GetThisClass()\n3513 CRuntime* CObArray::GetThisClass()\n3514 CRuntime* CObject::GetThisClass()\n3515 CRuntime* CObList::GetThisClass()\n3516 CRuntime* COleBusyDialog::GetThisClass()\n3517 CRuntime* COleChangeIconDialog::GetThisClass()\n3518 CRuntime* COleChangeSourceDialog::GetThisClass()\n3519 CRuntime* COleClientItem::GetThisClass()\n3520 CRuntime* COleControl::GetThisClass()\n3521 CRuntime* COleControlModule::GetThisClass()\n3522 CRuntime* COleConvertDialog::GetThisClass()\n3523 CRuntime* COleDBRecordView::GetThisClass()\n3524 CRuntime* COleDialog::GetThisClass()\n3525 CRuntime* COleDispatchException::GetThisClass()\n3526 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3527 CRuntime* COleDocObjectItem::GetThisClass()\n3528 CRuntime* COleDocument::GetThisClass()\n3529 CRuntime* COleException::GetThisClass()\n3530 CRuntime* COleInsertDialog::GetThisClass()\n3531 CRuntime* COleIPFrameWnd::GetThisClass()\n3532 CRuntime* COleLinkingDoc::GetThisClass()\n3533 CRuntime* COleLinksDialog::GetThisClass()\n3534 CRuntime* COleObjectFactory::GetThisClass()\n3535 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3536 CRuntime* COlePropertiesDialog::GetThisClass()\n3537 CRuntime* COlePropertyPage::GetThisClass()\n3538 CRuntime* COleResizeBar::GetThisClass()\n3539 CRuntime* COleServerDoc::GetThisClass()\n3540 CRuntime* COleServerItem::GetThisClass()\n3541 CRuntime* COleStreamFile::GetThisClass()\n3542 CRuntime* COleUpdateDialog::GetThisClass()\n3543 CRuntime* CPageSetupDialog::GetThisClass()\n3544 CRuntime* CPaintDC::GetThisClass()\n3545 CRuntime* CPalette::GetThisClass()\n3546 CRuntime* CPen::GetThisClass()\n3547 CRuntime* CPreviewDC::GetThisClass()\n3548 CRuntime* CPreviewView::GetThisClass()\n3549 CRuntime* CPrintDialog::GetThisClass()\n3550 CRuntime* CPrintDialogEx::GetThisClass()\n3551 CRuntime* CProgressCtrl::GetThisClass()\n3552 CRuntime* CPropertyPage::GetThisClass()\n3553 CRuntime* CPropertySheet::GetThisClass()\n3554 CRuntime* CPtrArray::GetThisClass()\n3555 CRuntime* CPtrList::GetThisClass()\n3556 CRuntime* CReBar::GetThisClass()\n3557 CRuntime* CReBarCtrl::GetThisClass()\n3558 CRuntime* CRecordset::GetThisClass()\n3559 CRuntime* CRecordView::GetThisClass()\n3560 CRuntime* CResourceException::GetThisClass()\n3561 CRuntime* CRgn::GetThisClass()\n3562 CRuntime* CRichEditCntrItem::GetThisClass()\n3563 CRuntime* CRichEditCtrl::GetThisClass()\n3564 CRuntime* CRichEditDoc::GetThisClass()\n3565 CRuntime* CRichEditView::GetThisClass()\n3566 CRuntime* CScrollBar::GetThisClass()\n3567 CRuntime* CScrollView::GetThisClass()\n3568 CRuntime* CSemaphore::GetThisClass()\n3569 CRuntime* CSharedFile::GetThisClass()\n3570 CRuntime* CSingleDocTemplate::GetThisClass()\n3571 CRuntime* CSliderCtrl::GetThisClass()\n3572 CRuntime* CSocket::GetThisClass()\n3573 CRuntime* CSocketFile::GetThisClass()\n3574 CRuntime* CSpinButtonCtrl::GetThisClass()\n3575 CRuntime* CSplitterWnd::GetThisClass()\n3576 CRuntime* CStatic::GetThisClass()\n3577 CRuntime* CStatusBar::GetThisClass()\n3578 CRuntime* CStatusBarCtrl::GetThisClass()\n3579 CRuntime* CStdioFile::GetThisClass()\n3580 CRuntime* CStringArray::GetThisClass()\n3581 CRuntime* CStringList::GetThisClass()\n3582 CRuntime* CSyncObject::GetThisClass()\n3583 CRuntime* CTabCtrl::GetThisClass()\n3584 CRuntime* CToolBar::GetThisClass()\n3585 CRuntime* CToolBarCtrl::GetThisClass()\n3586 CRuntime* CToolTipCtrl::GetThisClass()\n3587 CRuntime* CTreeCtrl::GetThisClass()\n3588 CRuntime* CTreeView::GetThisClass()\n3589 CRuntime* CUIntArray::GetThisClass()\n3590 CRuntime* CUserException::GetThisClass()\n3591 CRuntime* CView::GetThisClass()\n3592 CRuntime* CWinApp::GetThisClass()\n3593 CRuntime* CWindowDC::GetThisClass()\n3594 CRuntime* CWindowlessDC::GetThisClass()\n3595 CRuntime* CWinThread::GetThisClass()\n3596 CRuntime* CWnd::GetThisClass()\n3597 CRuntime* CWordArray::GetThisClass()\n3598 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3599 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3600 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3601 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3602 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3603 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3604 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3605 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3606 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3607 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3608 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3609 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3610 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3611 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3612 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3613 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3614 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3615 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3616 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3617 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3618 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3619 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3620 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3621 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3622 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3623 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3624 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3625 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3626 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3627 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3628 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3629 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3630 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3631 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3632 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3633 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3634 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3635 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3636 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3637 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3638 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3639 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3640 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3641 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3642 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3643 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3644 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3645 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3646 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3647 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3648 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3649 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3650 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3651 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3652 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3653 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3654 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3655 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3656 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3657 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3658 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3659 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3660 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3661 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3662 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3663 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3664 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3665 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3666 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3667 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3668 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3669 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3670 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3671 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3672 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3673 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3674 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3675 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3676 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3677 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3678 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3679 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3680 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3681 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3682 AFX_MSGMAP const * CView::GetThisMessageMap()\n3683 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3684 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3685 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3686 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3687 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n3688 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3689 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3690 int CHtmlView::GetToolBar()const \n3691 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3692 long CHtmlView::GetTop()const \n3693 int CHtmlView::GetTopLevelContainer()const \n3694 CFrameWnd * CWnd::GetTopLevelFrame()const \n3695 CWnd * CWnd::GetTopLevelOwner()const \n3696 CWnd * CWnd::GetTopLevelParent()const \n3697 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3698 void CRectTracker::GetTrueRect(tagRECT *)const \n3699 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n3700 short CPictureHolder::GetType()\n3701 unsigned long CProperty::GetType()\n3702 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3703 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3704 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3705 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3706 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3707 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3708 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3709 unsigned int CCmdTarget::GetTypeInfoCount()\n3710 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3711 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3712 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3713 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3714 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3715 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3716 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3717 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3718 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3719 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3720 void COleSafeArray::GetUBound(unsigned long,long *)\n3721 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3722 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3723 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3724 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3725 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3726 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3727 void COleControl::GetUserType(char *)\n3728 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3729 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3730 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3731 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3732 void * CMapPtrToPtr::GetValueAt(void *)const \n3733 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n3734 unsigned long CDockState::GetVersion()\n3735 CHtmlEditView * CHtmlEditDoc::GetView()const \n3736 CRichEditView * CRichEditDoc::GetView()const \n3737 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3738 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3739 int CHtmlView::GetVisible()const \n3740 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3741 long CHtmlView::GetWidth()const \n3742 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3743 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3744 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3745 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3746 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3747 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3748 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3749 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3750 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3751 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3752 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3753 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3754 long CWnd::GetWindowedChildCount()\n3755 long CWnd::GetWindowLessChildCount()\n3756 IDropTarget * COleControl::GetWindowlessDropTarget()\n3757 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3758 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3759 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3760 int CWnd::GetWindowTextA(char *,int)const \n3761 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3762 int CWnd::GetWindowTextLengthA()const \n3763 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3764 long COleDropSource::GiveFeedback(unsigned long)\n3765 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3766 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3767 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3768 void CMemFile::GrowFile(unsigned long)\n3769 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3770 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3771 long CDialog::HandleInitDialog(unsigned int,long)\n3772 long CDialogBar::HandleInitDialog(unsigned int,long)\n3773 long CFormView::HandleInitDialog(unsigned int,long)\n3774 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3775 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3776 long CScrollView::HandleMButtonDown(unsigned int,long)\n3777 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3778 int COleControlContainer::HandleSetFocus()\n3779 long CDialog::HandleSetFont(unsigned int,long)\n3780 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3781 long COleControl::XPersistStorage::HandsOffStorage()\n3782 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3783 int COleDocument::HasBlankItems()const \n3784 int CDialogTemplate::HasFont()const \n3785 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3786 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n3787 void * CFile::hFileNull\n3788 void CWinApp::HideApplication()\n3789 void CFileDialog::HideControl(int)\n3790 long CBrowserControlSite::HideUI()\n3791 long CDHtmlDialog::HideUI()\n3792 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3793 void CDC::HIMETRICtoDP(tagSIZE *)const \n3794 void CDC::HIMETRICtoLP(tagSIZE *)const \n3795 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3796 int CRectTracker::HitTest(CPoint)const \n3797 int CSplitterWnd::HitTest(CPoint)const \n3798 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n3799 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3800 int CRectTracker::HitTestHandles(CPoint)const \n3801 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n3802 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n3803 int CSplitterWnd::IdFromRowCol(int,int)const \n3804 void COlePropertyPage::IgnoreApply(unsigned int)\n3805 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3806 int CWinApp::InitApplication()\n3807 long COleControl::XOleCache::InitCache(IDataObject *)\n3808 int CWnd::InitControlContainer()\n3809 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3810 long CPrintDialogEx::InitDone()\n3811 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3812 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3813 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3814 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3815 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3816 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3817 void CMapStringToOb::InitHashTable(unsigned int,int)\n3818 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3819 void CMapStringToString::InitHashTable(unsigned int,int)\n3820 void CMapWordToOb::InitHashTable(unsigned int,int)\n3821 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3822 long CDataSourceControl::Initialize()\n3823 void CDHtmlDialog::Initialize()\n3824 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3825 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3826 int CEditView::InitializeReplace()\n3827 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3828 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3829 int COleControlModule::InitInstance()\n3830 int CWinApp::InitInstance()\n3831 int CWinThread::InitInstance()\n3832 void CWinApp::InitLibId()\n3833 void CDockContext::InitLoop()\n3834 int CDialog::InitModalIndirect(void *,CWnd *)\n3835 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3836 long COleControl::XPersistMemory::InitNew()\n3837 long COleControl::XPersistPropertyBag::InitNew()\n3838 long COleControl::XPersistStorage::InitNew(IStorage *)\n3839 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3840 long COleControl::XPersistStreamInit::InitNew()\n3841 void CRecordset::InitRecord()\n3842 void COleControl::InitStockEventMask()\n3843 void COleControl::InitStockPropMask()\n3844 void CSimpleException::InitString()\n3845 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3846 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3847 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n3848 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n3849 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n3850 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n3851 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3852 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3853 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3854 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n3855 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n3856 void CByteArray::InsertAt(int,unsigned char,int)\n3857 void CByteArray::InsertAt(int,CByteArray *)\n3858 void CDWordArray::InsertAt(int,unsigned long,int)\n3859 void CDWordArray::InsertAt(int,CDWordArray *)\n3860 void CObArray::InsertAt(int,CObArray *)\n3861 void CObArray::InsertAt(int,CObject *,int)\n3862 void CPtrArray::InsertAt(int,CPtrArray *)\n3863 void CPtrArray::InsertAt(int,void *,int)\n3864 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n3865 void CStringArray::InsertAt(int,CStringArray *)\n3866 void CStringArray::InsertAt(int,char const *,int)\n3867 void CUIntArray::InsertAt(int,unsigned int,int)\n3868 void CUIntArray::InsertAt(int,CUIntArray *)\n3869 void CWordArray::InsertAt(int,unsigned short,int)\n3870 void CWordArray::InsertAt(int,CWordArray *)\n3871 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3872 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3873 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n3874 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n3875 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n3876 void CStringArray::InsertEmpty(int,int)\n3877 void CRichEditView::InsertFileAsObject(char const *)\n3878 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n3879 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n3880 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3881 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n3882 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n3883 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3884 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3885 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3886 CFontHolder & COleControl::InternalGetFont()\n3887 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n3888 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3889 unsigned long CCmdTarget::InternalRelease()\n3890 int CDC::IntersectClipRect(int,int,int,int)\n3891 int CDC::IntersectClipRect(tagRECT const *)\n3892 void CCheckListBox::InvalidateCheck(int)\n3893 void COleControl::InvalidateControl(tagRECT const *,int)\n3894 void CCheckListBox::InvalidateItem(int)\n3895 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3896 void COleControl::InvalidateRgn(CRgn *,int)\n3897 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3898 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3899 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3900 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3901 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3902 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3903 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3904 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3905 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3906 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3907 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3908 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3909 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3910 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3911 int CDocItem::IsBlank()const \n3912 int COleServerItem::IsBlank()const \n3913 int CPropertyPage::IsButtonEnabled(int)\n3914 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3915 int COleServerItem::IsConnected()const \n3916 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3917 int COleControlSite::IsDefaultButton()\n3918 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3919 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n3920 int CWnd::IsDialogMessageA(tagMSG *)\n3921 long CBlobProperty::IsDirty()\n3922 long COleLinkingDoc::XPersistFile::IsDirty()\n3923 long COleControl::XPersistMemory::IsDirty()\n3924 long COleControl::XPersistStorage::IsDirty()\n3925 long COleServerDoc::XPersistStorage::IsDirty()\n3926 long COleControl::XPersistStreamInit::IsDirty()\n3927 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3928 unsigned int CWnd::IsDlgButtonChecked(int)const \n3929 int CControlBar::IsDockBar()const \n3930 int CDockBar::IsDockBar()const \n3931 int CFileFind::IsDots()const \n3932 int CGopherFileFind::IsDots()const \n3933 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n3934 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n3935 int CCheckListBox::IsEnabled(int)\n3936 int CDHtmlDialog::IsExternalDispatchSafe()\n3937 int CRecordset::IsFieldDirty(void *)\n3938 int CRecordset::IsFieldNull(void *)\n3939 int CRecordset::IsFieldNullable(void *)\n3940 int CRecordset::IsFieldNullable(unsigned long)const \n3941 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3942 int CRecordset::IsFieldStatusNull(unsigned long)const \n3943 int CFieldExchange::IsFieldType(unsigned int *)\n3944 int CControlBar::IsFloating()const \n3945 int CFrameWnd::IsFrameWnd()const \n3946 int CWnd::IsFrameWnd()const \n3947 int IsHelpKey(tagMSG *)\n3948 int CWinThread::IsIdleMessage(tagMSG *)\n3949 int CCmdTarget::IsInvokeAllowed(long)\n3950 int COleControl::IsInvokeAllowed(long)\n3951 int CRecordset::IsJoin(char const *)\n3952 int CObject::IsKindOf(CRuntimeconst *)const \n3953 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3954 int COccManager::IsLabelControl(CWnd *)\n3955 int COleObjectFactory::IsLicenseValid()\n3956 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3957 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3958 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3959 int CHtmlEditDoc::IsModified()\n3960 int COleClientItem::IsModified()const \n3961 int COleControl::IsModified()\n3962 int COlePropertyPage::IsModified()\n3963 int CRichEditDoc::IsModified()\n3964 int CRecordView::IsOnFirstRecord()\n3965 int CRecordView::IsOnLastRecord()\n3966 int CRecordset::IsOpen()const \n3967 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3968 int CRecordset::IsParamStatusNull(unsigned long)const \n3969 int CRecordset::IsRecordsetUpdatable()\n3970 int CCmdTarget::IsResultExpected()\n3971 int CRichEditView::IsRichEditFormat(unsigned short)\n3972 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3973 int CRichEditView::IsSelected(CObject const *)const \n3974 int CView::IsSelected(CObject const *)const \n3975 int CRecordset::IsSelectQueryUpdatable(char const *)\n3976 int CObject::IsSerializable()const \n3977 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3978 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3979 int CRecordset::IsSQLUpdatable(char const *)\n3980 int COleControl::IsSubclassedControl()\n3981 int CWnd::IsTopParentActive()const \n3982 int CFrameWnd::IsTracking()const \n3983 long CDocObjectServer::XOleObject::IsUpToDate()\n3984 long COleControl::XOleObject::IsUpToDate()\n3985 long COleServerDoc::XOleObject::IsUpToDate()\n3986 long COleServerItem::XOleObject::IsUpToDate()\n3987 int CControlBar::IsVisible()const \n3988 int COleControlSite::IsWindowEnabled()const \n3989 int CWnd::IsWindowEnabled()const \n3990 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3991 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3992 void COleControl::KeyDown(unsigned short *)\n3993 void COleControl::KeyUp(unsigned short *)\n3994 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3995 void CToolBar::Layout()\n3996 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n3997 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n3998 int CRichEditCtrl::LineIndex(int)const \n3999 int CRichEditCtrl::LineLength(int)const \n4000 void CRichEditCtrl::LineScroll(int,int)\n4001 int CDC::LineTo(int,int)\n4002 unsigned long CRichEditView::lMaxSize\n4003 long CBlobProperty::Load(IStream *)\n4004 int CDialogTemplate::Load(char const *)\n4005 void COleControl::Load(char const *,CDataPathProperty &)\n4006 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4007 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4008 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4009 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4010 long COleControl::XPersistStorage::Load(IStorage *)\n4011 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4012 long COleControl::XPersistStreamInit::Load(IStream *)\n4013 int CFrameWnd::LoadAccelTable(char const *)\n4014 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n4015 void CFrameWnd::LoadBarState(char const *)\n4016 int CToolBar::LoadBitmapA(char const *)\n4017 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n4018 void CRecordset::LoadFields()\n4019 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4020 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4021 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4022 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4023 int CDHtmlDialog::LoadFromResource(unsigned int)\n4024 int CDHtmlDialog::LoadFromResource(char const *)\n4025 int CHtmlView::LoadFromResource(unsigned int)\n4026 int CHtmlView::LoadFromResource(char const *)\n4027 void COleDocument::LoadFromStorage()\n4028 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n4029 void CDockState::LoadState(char const *)\n4030 long COleControl::LoadState(IStream *)\n4031 void CWinApp::LoadStdProfileSettings(unsigned int)\n4032 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n4033 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4034 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4035 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n4036 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4037 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4038 int CWinApp::LoadSysPolicies()\n4039 void CDocTemplate::LoadTemplate()\n4040 void CMultiDocTemplate::LoadTemplate()\n4041 int CToolBar::LoadToolBar(char const *)\n4042 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4043 void COleSafeArray::Lock()\n4044 int CSingleLock::Lock(unsigned long)\n4045 int CSyncObject::Lock(unsigned long)\n4046 void CTypeLibCache::Lock()\n4047 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n4048 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n4049 char const * CEditView::LockBuffer()const \n4050 long COleControlContainer::XOleContainer::LockContainer(int)\n4051 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4052 void COleLinkingDoc::LockExternal(int,int)\n4053 int COleControl::LockInPlaceActive(int)\n4054 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4055 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4056 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4057 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4058 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4059 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4060 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4061 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4062 long COleObjectFactory::XClassFactory::LockServer(int)\n4063 int CMapPtrToPtr::Lookup(void *,void * &)const \n4064 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4065 int CMapStringToOb::Lookup(char const *,CObject * &)const \n4066 int CMapStringToPtr::Lookup(char const *,void * &)const \n4067 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4068 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4069 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4070 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4071 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4072 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4073 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4074 int CMapStringToOb::LookupKey(char const *,char const * &)const \n4075 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n4076 int CMapStringToString::LookupKey(char const *,char const * &)const \n4077 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4078 void CDC::LPtoDP(tagSIZE *)const \n4079 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4080 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n4081 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n4082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n4083 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n4084 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n4085 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n4086 void CArchive::MapObject(CObject const *)\n4087 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4088 int COleDialog::MapResult(unsigned int)\n4089 long CPropertyPage::MapWizardResult(long)\n4090 void CRecordset::MarkForAddNew()\n4091 void CRecordset::MarkForUpdate()\n4092 void CRichEditDoc::MarkItemsClear()const \n4093 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n4094 int CFileFind::MatchesMask(unsigned long)const \n4095 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4096 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4097 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4098 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4099 void CListBox::MeasureItem(tagMEASUREITEM*)\n4100 void CMenu::MeasureItem(tagMEASUREITEM*)\n4101 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n4102 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4103 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n4104 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n4105 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4106 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4107 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4108 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4110 void CPreviewDC::MirrorAttributes()\n4111 void CPreviewDC::MirrorFont()\n4112 void CPreviewDC::MirrorMappingMode(int)\n4113 void CPreviewDC::MirrorViewportOrg()\n4114 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4115 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4116 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4117 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4118 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4119 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4120 void CDockContext::Move(CPoint)\n4121 void CRecordset::Move(long,unsigned short)\n4122 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4123 CPoint CDC::MoveTo(int,int)\n4124 void COleControlSite::MoveWindow(int,int,int,int)\n4125 void CWnd::MoveWindow(int,int,int,int,int)\n4126 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4127 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4128 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n4129 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4130 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n4131 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4132 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4133 unsigned int COleDropSource::nDragDelay\n4134 unsigned int COleDropSource::nDragMinDist\n4135 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4136 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4137 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4138 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4139 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4140 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n4141 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4142 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4143 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4144 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4145 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4146 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4147 unsigned int const CEditView::nMaxSize\n4148 int CRectTracker::NormalizeHit(int)const \n4149 void CDataBoundProperty::Notify()\n4150 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4151 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4152 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4153 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4154 void COleServerDoc::NotifyRename(char const *)\n4155 unsigned int COleDropTarget::nScrollDelay\n4156 int COleDropTarget::nScrollInset\n4157 unsigned int COleDropTarget::nScrollInterval\n4158 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n4159 int CDC::OffsetClipRgn(int,int)\n4160 int CDC::OffsetClipRgn(tagSIZE)\n4161 CPoint CDC::OffsetViewportOrg(int,int)\n4162 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4163 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4164 CPoint CDC::OffsetWindowOrg(int,int)\n4165 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4166 void CAsyncSocket::OnAccept(int)\n4167 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4168 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4169 void COleClientItem::OnActivate()\n4170 void COleFrameHook::OnActivate(int)\n4171 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4172 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4173 long COleControl::OnActivateInPlace(int,tagMSG *)\n4174 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4175 long CWnd::OnActivateTopLevel(unsigned int,long)\n4176 void COleClientItem::OnActivateUI()\n4177 long CDocObjectServer::OnActivateView()\n4178 void CFormView::OnActivateView(int,CView *,CView *)\n4179 void CPreviewView::OnActivateView(int,CView *,CView *)\n4180 void CRichEditView::OnActivateView(int,CView *,CView *)\n4181 void CView::OnActivateView(int,CView *,CView *)\n4182 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4183 void CConnectionPoint::OnAdvise(int)\n4184 void COleControl::XEventConnPt::OnAdvise(int)\n4185 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4186 void COleControl::OnAmbientPropertyChange(long)\n4187 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4188 void COleControl::OnAppearanceChanged()\n4189 void CWinApp::OnAppExit()\n4190 int CPropertyPage::OnApply()\n4191 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4192 void CDocObjectServer::OnApplyViewState(CArchive &)\n4193 void COleControl::OnBackColorChanged()\n4194 int CFrameWnd::OnBarCheck(unsigned int)\n4195 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4196 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4197 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4198 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4199 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n4200 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n4201 int COleDropSource::OnBeginDrag(CWnd *)\n4202 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4203 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4204 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4205 void COleControl::OnBorderStyleChanged()\n4206 void CRichEditView::OnBullet()\n4207 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4208 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4209 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4210 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4211 void CCommonDialog::OnCancel()\n4212 void CDialog::OnCancel()\n4213 void CPropertyPage::OnCancel()\n4214 void CRichEditView::OnCancelEditCntr()\n4215 void COleControl::OnCancelMode()\n4216 void CSplitterWnd::OnCancelMode()\n4217 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4218 long COleControl::XFontNotification::OnChanged(long)\n4219 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4220 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4221 void CRectTracker::OnChangedRect(CRect const &)\n4222 void CDocument::OnChangedViewList()\n4223 int COleClientItem::OnChangeItemPosition(CRect const &)\n4224 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4225 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4226 void CRichEditView::OnCharBold()\n4227 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4228 void CRichEditView::OnCharItalic()\n4229 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4230 void CRichEditView::OnCharUnderline()\n4231 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4232 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4233 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4234 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4235 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4236 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4237 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4238 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4239 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4240 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4241 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4242 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4243 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4244 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4245 void COleControl::OnClick(unsigned short)\n4246 CEnumArray * CEnumArray::OnClone()\n4247 CEnumArray * CEnumConnections::OnClone()\n4248 void CAsyncSocket::OnClose(int)\n4249 void CControlFrameWnd::OnClose()\n4250 void CFrameWnd::OnClose()\n4251 void CMiniDockFrameWnd::OnClose()\n4252 void COleControl::OnClose(unsigned long)\n4253 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4254 void CPropertySheet::OnClose()\n4255 void COleClientItem::XAdviseSink::OnClose()\n4256 void CDocObjectServer::OnCloseDocument()\n4257 void CDocument::OnCloseDocument()\n4258 void COleDocument::OnCloseDocument()\n4259 void COleLinkingDoc::OnCloseDocument()\n4260 void COleServerDoc::OnCloseDocument()\n4261 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4262 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4263 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4264 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4265 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4266 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4267 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4268 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4269 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4270 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4271 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4272 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4273 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4274 void CRichEditView::OnColorDefault()\n4275 int CColorDialog::OnColorOK()\n4276 void CRichEditView::OnColorPick(unsigned long)\n4277 int CFrameWnd::OnCommand(unsigned int,long)\n4278 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4279 int COlePropertyPage::OnCommand(unsigned int,long)\n4280 int CPropertySheet::OnCommand(unsigned int,long)\n4281 int CSplitterWnd::OnCommand(unsigned int,long)\n4282 int CWnd::OnCommand(unsigned int,long)\n4283 long CDialog::OnCommandHelp(unsigned int,long)\n4284 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4285 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4286 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4287 void CHtmlView::OnCommandStateChange(long,int)\n4288 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4289 void CAsyncSocket::OnConnect(int)\n4290 void CFrameWnd::OnContextHelp()\n4291 int COleFrameHook::OnContextHelp(int)\n4292 void COleIPFrameWnd::OnContextHelp()\n4293 void CWinApp::OnContextHelp()\n4294 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4295 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n4296 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n4297 int CEditView::OnCreate(tagCREATESTRUCTA *)\n4298 int CFormView::OnCreate(tagCREATESTRUCTA *)\n4299 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4300 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n4301 int COleControl::OnCreate(tagCREATESTRUCTA *)\n4302 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4303 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n4304 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n4305 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n4306 int CView::OnCreate(tagCREATESTRUCTA *)\n4307 int CCmdTarget::OnCreateAggregates()\n4308 int COleControl::OnCreateAggregates()\n4309 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4310 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4311 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4312 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4313 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n4314 CCmdTarget * COleObjectFactory::OnCreateObject()\n4315 CCmdTarget * COleTemplateServer::OnCreateObject()\n4316 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4317 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4318 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4319 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4320 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4321 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4322 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4323 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4324 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4325 int CDocManager::OnDDECommand(char *)\n4326 int CWinApp::OnDDECommand(char *)\n4327 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4328 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4329 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4330 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n4331 void COleClientItem::OnDeactivate()\n4332 void COleServerDoc::OnDeactivate()\n4333 void COleClientItem::OnDeactivateAndUndo()\n4334 void COleClientItem::OnDeactivateUI(int)\n4335 void COleServerDoc::OnDeactivateUI(int)\n4336 void CRichEditCntrItem::OnDeactivateUI(int)\n4337 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4338 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4339 void CControlBar::OnDestroy()\n4340 void CDHtmlDialog::OnDestroy()\n4341 void CEditView::OnDestroy()\n4342 void CFrameWnd::OnDestroy()\n4343 void CHtmlView::OnDestroy()\n4344 void CMDIChildWnd::OnDestroy()\n4345 void CMDIFrameWnd::OnDestroy()\n4346 void COleControl::OnDestroy()\n4347 void COleIPFrameWnd::OnDestroy()\n4348 void CRichEditView::OnDestroy()\n4349 void CTabCtrl::OnDestroy()\n4350 void CTreeCtrl::OnDestroy()\n4351 void CTreeView::OnDestroy()\n4352 void CView::OnDestroy()\n4353 void CWnd::OnDestroy()\n4354 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4355 void CRichEditView::OnDevModeChange(char *)\n4356 void CWnd::OnDevModeChange(char *)\n4357 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4358 void COleClientItem::OnDiscardUndoState()\n4359 void CSplitterWnd::OnDisplayChange()\n4360 long CWnd::OnDisplayChange(unsigned int,long)\n4361 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4362 int COleFrameHook::OnDocActivate(int)\n4363 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n4364 void CHtmlView::OnDocumentComplete(char const *)\n4365 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4366 long CBrowserControlSite::OnDocWindowActivate(int)\n4367 long CDHtmlDialog::OnDocWindowActivate(int)\n4368 long CHtmlView::OnDocWindowActivate(int)\n4369 void COleServerDoc::OnDocWindowActivate(int)\n4370 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4371 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4372 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4373 void CDocObjectServerItem::OnDoVerb(long)\n4374 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4375 void COleServerItem::OnDoVerb(long)\n4376 void CHtmlView::OnDownloadBegin()\n4377 void CHtmlView::OnDownloadComplete()\n4378 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4379 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4380 void COleDropTarget::OnDragLeave(CWnd *)\n4381 void CView::OnDragLeave()\n4382 long CWnd::OnDragList(unsigned int,long)\n4383 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4384 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4385 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4386 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4387 void CCtrlView::OnDraw(CDC *)\n4388 void CFormView::OnDraw(CDC *)\n4389 void CHtmlView::OnDraw(CDC *)\n4390 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4391 void CPreviewView::OnDraw(CDC *)\n4392 void CView::OnDraw(CDC *)\n4393 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4394 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4395 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4396 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4397 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4398 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4399 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4400 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4401 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4402 void CFrameWnd::OnDropFiles(HDROP__ *)\n4403 void CRichEditView::OnDropFiles(HDROP__ *)\n4404 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4405 int CEditView::OnEditChange()\n4406 void COleDocument::OnEditChangeIcon()\n4407 void CEditView::OnEditClear()\n4408 void CRichEditView::OnEditClear()\n4409 void COleDocument::OnEditConvert()\n4410 void CEditView::OnEditCopy()\n4411 void CHtmlView::OnEditCopy()\n4412 void CRichEditView::OnEditCopy()\n4413 void CEditView::OnEditCut()\n4414 void CHtmlView::OnEditCut()\n4415 void CRichEditView::OnEditCut()\n4416 void CEditView::OnEditFind()\n4417 void CRichEditView::OnEditFind()\n4418 void CEditView::OnEditFindReplace(int)\n4419 void CRichEditView::OnEditFindReplace(int)\n4420 void COleDocument::OnEditLinks()\n4421 void CEditView::OnEditPaste()\n4422 void CHtmlView::OnEditPaste()\n4423 void CRichEditView::OnEditPaste()\n4424 void CRichEditView::OnEditPasteSpecial()\n4425 void CRichEditView::OnEditProperties()\n4426 int COlePropertyPage::OnEditProperty(long)\n4427 void CRichEditView::OnEditRedo()\n4428 void CEditView::OnEditRepeat()\n4429 void CRichEditView::OnEditRepeat()\n4430 void CEditView::OnEditReplace()\n4431 void CRichEditView::OnEditReplace()\n4432 void CEditView::OnEditSelectAll()\n4433 void CRichEditView::OnEditSelectAll()\n4434 void CEditView::OnEditUndo()\n4435 void CRichEditView::OnEditUndo()\n4436 void CFrameWnd::OnEnable(int)\n4437 void CToolTipCtrl::OnEnable(int)\n4438 void COleControl::OnEnabledChanged()\n4439 long CHtmlView::OnEnableModeless(int)\n4440 void COleFrameHook::OnEnableModeless(int)\n4441 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4442 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4443 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4444 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4445 void CFrameWnd::OnEndSession(int)\n4446 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4447 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4448 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4449 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4450 int CFrameWnd::OnEraseBkgnd(CDC *)\n4451 int COleControl::OnEraseBkgnd(CDC *)\n4452 int COleResizeBar::OnEraseBkgnd(CDC *)\n4453 int CPreviewView::OnEraseBkgnd(CDC *)\n4454 int CReBar::OnEraseBkgnd(CDC *)\n4455 int CToolBar::OnEraseBkgnd(CDC *)\n4456 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4457 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4458 int COleControlSite::OnEvent(AFX_EVENT *)\n4459 void COleControl::OnEventAdvise(int)\n4460 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4461 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4462 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4463 void CDocument::OnFileClose()\n4464 void CFileDialog::OnFileNameChange()\n4465 int CFileDialog::OnFileNameOK()\n4466 void CDocManager::OnFileNew()\n4467 void CWinApp::OnFileNew()\n4468 void CDocManager::OnFileOpen()\n4469 void CWinApp::OnFileOpen()\n4470 void CHtmlView::OnFilePrint()\n4471 void CView::OnFilePrint()\n4472 void CView::OnFilePrintPreview()\n4473 void CWinApp::OnFilePrintSetup()\n4474 void CDocument::OnFileSave()\n4475 void CDocument::OnFileSaveAs()\n4476 void COleServerDoc::OnFileSaveCopyAs()\n4477 void CDocument::OnFileSendMail()\n4478 void COleDocument::OnFileSendMail()\n4479 void COleServerDoc::OnFileUpdate()\n4480 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4481 void CCmdTarget::OnFinalRelease()\n4482 void CDocument::OnFinalRelease()\n4483 void COleControl::OnFinalRelease()\n4484 void COlePropertyPage::OnFinalRelease()\n4485 void COleServerItem::OnFinalRelease()\n4486 void CWnd::OnFinalRelease()\n4487 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n4488 void CEditView::OnFindNext(char const *,int,int)\n4489 void CRichEditView::OnFindNext(char const *,int,int,int)\n4490 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4491 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4492 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4493 long COleControlSite::XOleControlSite::OnFocus(int)\n4494 void CFileDialog::OnFolderChange()\n4495 void COleControl::OnFontChanged()\n4496 void COleControl::OnForeColorChanged()\n4497 void CRichEditView::OnFormatFont()\n4498 void COleControl::OnFrameClose()\n4499 long CBrowserControlSite::OnFrameWindowActivate(int)\n4500 long CDHtmlDialog::OnFrameWindowActivate(int)\n4501 long CHtmlView::OnFrameWindowActivate(int)\n4502 void COleServerDoc::OnFrameWindowActivate(int)\n4503 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4504 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4505 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4506 void COleControl::OnFreezeEvents(int)\n4507 void CHtmlView::OnFullScreen(int)\n4508 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4509 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4510 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4511 void COleClientItem::OnGetClipRect(CRect &)\n4512 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4513 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4514 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4515 unsigned int COleControl::OnGetDlgCode()\n4516 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4517 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4518 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4519 long CHtmlView::OnGetExternal(IDispatch * *)\n4520 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4521 HMENU__ * COleControl::OnGetInPlaceMenu()\n4522 void COleClientItem::OnGetItemPosition(CRect &)\n4523 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4524 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n4525 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n4526 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4527 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4528 long CWnd::OnGetObject(unsigned int,long)\n4529 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4530 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4531 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4532 long CStatusBar::OnGetText(unsigned int,long)\n4533 long CStatusBar::OnGetTextLength(unsigned int,long)\n4534 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4535 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4536 unsigned long COleControl::OnGetViewStatus()\n4537 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4538 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4539 void CFrameWnd::OnHelp()\n4540 int COlePropertyPage::OnHelp(char const *)\n4541 void CWinApp::OnHelp()\n4542 void CWnd::OnHelp()\n4543 void CWinApp::OnHelpFinder()\n4544 void CWnd::OnHelpFinder()\n4545 long CControlBar::OnHelpHitTest(unsigned int,long)\n4546 long CDialog::OnHelpHitTest(unsigned int,long)\n4547 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4548 void CWinApp::OnHelpIndex()\n4549 void CWnd::OnHelpIndex()\n4550 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4551 int CWnd::OnHelpInfo(tagHELPINFO *)\n4552 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4553 void CWinApp::OnHelpUsing()\n4554 void CWnd::OnHelpUsing()\n4555 void CDocObjectServerItem::OnHide()\n4556 long COleControl::OnHide()\n4557 void COleServerItem::OnHide()\n4558 void COleControl::OnHideToolBars()\n4559 long CHtmlView::OnHideUI()\n4560 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4561 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4562 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4563 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4564 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4565 void CDocTemplate::OnIdle()\n4566 void CDocument::OnIdle()\n4567 void COleDocument::OnIdle()\n4568 int CWinApp::OnIdle(long)\n4569 int CWinThread::OnIdle(long)\n4570 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4571 void CFrameWnd::OnIdleUpdateCmdUI()\n4572 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4573 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4574 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4575 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4576 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4577 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4578 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4579 int CDHtmlDialog::OnInitDialog()\n4580 int CDialog::OnInitDialog()\n4581 int COlePropertiesDialog::OnInitDialog()\n4582 int COlePropertyPage::OnInitDialog()\n4583 int CPropertySheet::OnInitDialog()\n4584 void CFileDialog::OnInitDone()\n4585 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4586 void CControlBar::OnInitialUpdate()\n4587 void CFormView::OnInitialUpdate()\n4588 void COleDBRecordView::OnInitialUpdate()\n4589 void CRecordView::OnInitialUpdate()\n4590 void CRichEditView::OnInitialUpdate()\n4591 void CView::OnInitialUpdate()\n4592 void CFrameWnd::OnInitMenu(CMenu *)\n4593 void COleFrameHook::OnInitMenu(CMenu *)\n4594 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4595 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4596 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4597 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4598 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4599 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4600 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4601 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4602 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4603 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4604 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4605 void CRichEditView::OnInsertObject()\n4606 void CSplitterWnd::OnInvertTracker(CRect const &)\n4607 void CDockContext::OnKey(int,int)\n4608 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4609 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4610 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4611 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4612 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4613 void COleControl::OnKeyPressEvent(unsigned short)\n4614 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4615 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4616 long CPropertySheet::OnKickIdle(unsigned int,long)\n4617 int CPropertyPage::OnKillActive()\n4618 void COleControl::OnKillFocus(CWnd *)\n4619 long CCheckListBox::OnLBAddString(unsigned int,long)\n4620 long CCheckListBox::OnLBFindString(unsigned int,long)\n4621 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4622 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4623 long CCheckListBox::OnLBGetText(unsigned int,long)\n4624 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4625 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4626 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4627 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4628 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4629 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4630 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4631 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4632 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4633 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4634 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4635 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4636 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4637 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4638 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4639 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4640 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4641 void CAsyncMonikerFile::OnLowResource()\n4642 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4643 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4644 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4645 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4646 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4647 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4648 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4649 void CHtmlView::OnMenuBar(int)\n4650 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4651 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4652 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4653 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4654 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4655 int CSocket::OnMessagePending()\n4656 void COleControl::OnMnemonic(tagMSG *)\n4657 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4658 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4659 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4660 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4661 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4662 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4663 void COleControl::OnMouseMove(unsigned int,CPoint)\n4664 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4665 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4666 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4667 void COleControl::OnMove(int,int)\n4668 int COleDBRecordView::OnMove(unsigned int)\n4669 int CRecordView::OnMove(unsigned int)\n4670 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4671 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4672 void CHtmlEditView::OnNavigateComplete2(char const *)\n4673 void CHtmlView::OnNavigateComplete2(char const *)\n4674 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n4675 int CFrameWnd::OnNcActivate(int)\n4676 int CMDIChildWnd::OnNcActivate(int)\n4677 int CMiniFrameWnd::OnNcActivate(int)\n4678 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4679 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4680 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4681 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4682 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4683 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n4684 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n4685 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n4686 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n4687 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n4688 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n4689 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n4690 void CListCtrl::OnNcDestroy()\n4691 void CListView::OnNcDestroy()\n4692 void CWnd::OnNcDestroy()\n4693 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4694 unsigned int COleControl::OnNcHitTest(CPoint)\n4695 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4696 unsigned int CToolBar::OnNcHitTest(CPoint)\n4697 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4698 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4699 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4700 void CDockBar::OnNcPaint()\n4701 void COleControl::OnNcPaint()\n4702 void CReBar::OnNcPaint()\n4703 void CStatusBar::OnNcPaint()\n4704 void CToolBar::OnNcPaint()\n4705 int CDocument::OnNewDocument()\n4706 int CHtmlEditDoc::OnNewDocument()\n4707 int COleDocument::OnNewDocument()\n4708 int COleLinkingDoc::OnNewDocument()\n4709 void COleServerDoc::OnNewEmbedding(IStorage *)\n4710 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4711 int CEnumArray::OnNext(void *)\n4712 int CEnumConnections::OnNext(void *)\n4713 int CEnumConnPoints::OnNext(void *)\n4714 int CEnumFormatEtc::OnNext(void *)\n4715 int CEnumOleVerb::OnNext(void *)\n4716 int CEnumUnknown::OnNext(void *)\n4717 void CPreviewView::OnNextPage()\n4718 int CView::OnNextPaneCmd(unsigned int)\n4719 int CFileDialog::OnNotify(unsigned int,long,long *)\n4720 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4721 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4722 int CWnd::OnNotify(unsigned int,long,long *)\n4723 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4724 long CWnd::OnNTCtlColor(unsigned int,long)\n4725 void CPreviewView::OnNumPageChange()\n4726 void COlePropertyPage::OnObjectsChanged()\n4727 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4728 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4729 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4730 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4731 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4732 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4733 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4734 void CCommonDialog::OnOK()\n4735 void CDialog::OnOK()\n4736 void CPropertyPage::OnOK()\n4737 long COleControl::OnOpen(int,tagMSG *)\n4738 void COleServerItem::OnOpen()\n4739 int CDocument::OnOpenDocument(char const *)\n4740 int CHtmlEditDoc::OnOpenDocument(char const *)\n4741 int COleDocument::OnOpenDocument(char const *)\n4742 int COleLinkingDoc::OnOpenDocument(char const *)\n4743 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4744 int CWinApp::OnOpenRecentFile(unsigned int)\n4745 void CAsyncSocket::OnOutOfBandData(int)\n4746 void CCommonDialog::OnPaint()\n4747 void CControlBar::OnPaint()\n4748 void CCtrlView::OnPaint()\n4749 void CDialog::OnPaint()\n4750 void CDockBar::OnPaint()\n4751 void CHtmlEditView::OnPaint()\n4752 void CHtmlView::OnPaint()\n4753 void COleControl::OnPaint(CDC *)\n4754 int COleControlContainer::OnPaint(CDC *)\n4755 void COleResizeBar::OnPaint()\n4756 void CReBar::OnPaint()\n4757 void CSplitterWnd::OnPaint()\n4758 void CStatusBar::OnPaint()\n4759 void CToolBar::OnPaint()\n4760 void CView::OnPaint()\n4761 void CWnd::OnPaint()\n4762 void CFrameWnd::OnPaletteChanged(CWnd *)\n4763 void COleFrameHook::OnPaletteChanged(CWnd *)\n4764 void CRichEditView::OnParaAlign(unsigned short)\n4765 void CRichEditView::OnParaCenter()\n4766 void CRichEditView::OnParaLeft()\n4767 void CRichEditView::OnParaRight()\n4768 void CWnd::OnParentNotify(unsigned int,long)\n4769 int CRichEditView::OnPasteNativeObject(IStorage *)\n4770 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4771 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4772 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4773 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4774 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4775 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4776 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4777 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4778 int CEditView::OnPreparePrinting(CPrintInfo *)\n4779 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4780 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4781 int CView::OnPreparePrinting(CPrintInfo *)\n4782 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4783 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4784 void CPreviewView::OnPreviewClose()\n4785 void CPreviewView::OnPreviewPrint()\n4786 void CPreviewView::OnPrevPage()\n4787 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4788 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4789 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4790 void CView::OnPrint(CDC *,CPrintInfo *)\n4791 void CRichEditView::OnPrinterChanged(CDC const &)\n4792 void CPrintDialog::OnPrintSetup()\n4793 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n4794 void CHtmlView::OnProgressChange(long,long)\n4795 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4796 void CHtmlView::OnPropertyChange(char const *)\n4797 int CPropertyPage::OnQueryCancel()\n4798 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4799 int CFrameWnd::OnQueryEndSession()\n4800 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4801 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4802 int CFrameWnd::OnQueryNewPalette()\n4803 int COleFrameHook::OnQueryNewPalette()\n4804 int COleServerItem::OnQueryUpdateItems()\n4805 void CHtmlView::OnQuit()\n4806 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4807 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4808 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4809 int COleServerDoc::OnReactivateAndUndo()\n4810 void COleFrameHook::OnRecalcLayout()\n4811 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4812 void CReBar::OnRecalcParent()\n4813 void CAsyncSocket::OnReceive(int)\n4814 void COleControl::OnReflectorDestroyed()\n4815 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4816 void COleClientItem::OnRemoveMenus(CMenu *)\n4817 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4818 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4819 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4820 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4821 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4822 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4823 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4824 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4825 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4826 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4827 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4828 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4829 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4830 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4831 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4832 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4833 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4834 void CEditView::OnReplaceAll(char const *,char const *,int)\n4835 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n4836 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n4837 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n4838 long COleControl::XFontNotification::OnRequestEdit(long)\n4839 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4840 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4841 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4842 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4843 void CEnumArray::OnReset()\n4844 void CPropertyPage::OnReset()\n4845 void COleControl::OnResetState()\n4846 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4847 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4848 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4849 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4850 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4851 void COleClientItem::XAdviseSink::OnSave()\n4852 int CDocument::OnSaveDocument(char const *)\n4853 int CHtmlEditDoc::OnSaveDocument(char const *)\n4854 int COleDocument::OnSaveDocument(char const *)\n4855 int COleLinkingDoc::OnSaveDocument(char const *)\n4856 int COleServerDoc::OnSaveDocument(char const *)\n4857 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4858 void COleServerItem::OnSaveEmbedding(IStorage *)\n4859 void CDocObjectServer::OnSaveViewState(CArchive &)\n4860 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4861 int CView::OnScroll(unsigned int,unsigned int,int)\n4862 int COleClientItem::OnScrollBy(CSize)\n4863 int CScrollView::OnScrollBy(CSize,int)\n4864 int CView::OnScrollBy(CSize,int)\n4865 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4866 void CAsyncSocket::OnSend(int)\n4867 int CPropertyPage::OnSetActive()\n4868 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4869 long CToolBar::OnSetButtonSize(unsigned int,long)\n4870 void COleControl::OnSetClientSite()\n4871 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4872 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4873 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4874 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4875 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4876 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4877 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4878 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4879 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4880 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4881 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4882 long CPropertySheet::OnSetDefID(unsigned int,long)\n4883 int COleControl::OnSetExtent(tagSIZE *)\n4884 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4885 void CFormView::OnSetFocus(CWnd *)\n4886 void CFrameWnd::OnSetFocus(CWnd *)\n4887 void COleControl::OnSetFocus(CWnd *)\n4888 void CWnd::OnSetFocus(CWnd *)\n4889 long CCheckListBox::OnSetFont(unsigned int,long)\n4890 void CDialog::OnSetFont(CFont *)\n4891 long CEditView::OnSetFont(unsigned int,long)\n4892 void COleServerDoc::OnSetHostNames(char const *,char const *)\n4893 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4894 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4895 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4896 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4897 long COleControl::OnSetMessageString(unsigned int,long)\n4898 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4899 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4900 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4901 void CDatabase::OnSetOptions(void *)\n4902 void CRecordset::OnSetOptions(void *)\n4903 void COlePropertyPage::OnSetPageSite()\n4904 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4905 long CToolBar::OnSetSizeHelper(CSize &,long)\n4906 long COleControl::OnSetText(unsigned int,long)\n4907 long CStatusBar::OnSetText(unsigned int,long)\n4908 void CWnd::OnSettingChange(unsigned int,char const *)\n4909 void CRecordset::OnSetUpdateOptions(void *)\n4910 unsigned int CFileDialog::OnShareViolation(char const *)\n4911 void CDocObjectServerItem::OnShow()\n4912 void COleServerItem::OnShow()\n4913 long CReBar::OnShowBand(unsigned int,long)\n4914 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4915 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4916 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4917 void COleServerDoc::OnShowDocument(int)\n4918 void COleClientItem::OnShowItem()\n4919 void COleControl::OnShowToolBars()\n4920 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4921 void COleDocument::OnShowViews(int)\n4922 void COleLinkingDoc::OnShowViews(int)\n4923 void COleControl::OnShowWindow(int,unsigned int)\n4924 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4925 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4926 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4927 void CFrameWnd::OnSize(unsigned int,int,int)\n4928 void CHtmlView::OnSize(unsigned int,int,int)\n4929 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4930 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4931 void COleControl::OnSize(unsigned int,int,int)\n4932 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4933 void COleResizeBar::OnSize(unsigned int,int,int)\n4934 void CPreviewView::OnSize(unsigned int,int,int)\n4935 void CScrollView::OnSize(unsigned int,int,int)\n4936 void CSplitterWnd::OnSize(unsigned int,int,int)\n4937 void CStatusBar::OnSize(unsigned int,int,int)\n4938 long CControlBar::OnSizeParent(unsigned int,long)\n4939 long CDockBar::OnSizeParent(unsigned int,long)\n4940 long COleResizeBar::OnSizeParent(unsigned int,long)\n4941 int CEnumArray::OnSkip()\n4942 long CSocketWnd::OnSocketDead(unsigned int,long)\n4943 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4944 int CView::OnSplitCmd(unsigned int)\n4945 void CAsyncMonikerFile::OnStartBinding()\n4946 void CHtmlView::OnStatusBar(int)\n4947 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4948 void CHtmlView::OnStatusTextChange(char const *)\n4949 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n4950 void CToolBar::OnSysColorChange()\n4951 void CWnd::OnSysColorChange()\n4952 void CFrameWnd::OnSysCommand(unsigned int,long)\n4953 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4954 void CPropertySheet::OnSysCommand(unsigned int,long)\n4955 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4956 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4957 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4958 void COleControl::OnTextChanged()\n4959 void CEditView::OnTextNotFound(char const *)\n4960 void CRichEditView::OnTextNotFound(char const *)\n4961 void CHtmlView::OnTheaterMode(int)\n4962 void CControlBar::OnTimer(unsigned int)\n4963 void CHtmlView::OnTitleChange(char const *)\n4964 void CHtmlView::OnToolBar(int)\n4965 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4966 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4967 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4968 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4969 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4970 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4971 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4972 void CFileDialog::OnTypeChange()\n4973 void COleControlContainer::OnUIActivate(COleControlSite *)\n4974 long COleClientItem::XOleIPSite::OnUIActivate()\n4975 long COleControlSite::XOleIPSite::OnUIActivate()\n4976 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4977 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4978 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4979 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4980 void CView::OnUpdate(CView *,long,CObject *)\n4981 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4982 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4983 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4984 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4985 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4986 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4987 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4988 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4989 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4990 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4991 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4992 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4993 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4994 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4995 int COleServerDoc::OnUpdateDocument()\n4996 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4997 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4998 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4999 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5000 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n5001 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5002 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5003 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n5004 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5005 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5006 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5007 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5008 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5009 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5010 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5011 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5012 void CFrameWnd::OnUpdateFrameTitle(int)\n5013 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5014 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5015 int COleClientItem::OnUpdateFrameTitle()\n5016 int COleFrameHook::OnUpdateFrameTitle()\n5017 void COleServerItem::OnUpdateItems()\n5018 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5019 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5020 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5021 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5022 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5023 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5024 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5025 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5026 void CEditView::OnUpdateNeedText(CCmdUI *)\n5027 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5028 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5029 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5030 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5031 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5032 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5033 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5034 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5035 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5036 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5037 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5038 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5039 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5040 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5041 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5042 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5043 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5044 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5045 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5046 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5047 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5048 void CView::OnUpdateSplitCmd(CCmdUI *)\n5049 long CHtmlView::OnUpdateUI()\n5050 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5051 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5052 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5053 void CHtmlView::OnVisible(int)\n5054 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5055 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5056 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5057 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5058 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5059 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5060 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5061 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5062 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5063 void CMDIFrameWnd::OnWindowNew()\n5064 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5065 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5066 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5067 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5068 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5069 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5070 long CPropertyPage::OnWizardBack()\n5071 int CPropertyPage::OnWizardFinish()\n5072 long CPropertyPage::OnWizardNext()\n5073 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5074 void CPreviewView::OnZoomIn()\n5075 void CPreviewView::OnZoomOut()\n5076 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5077 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5078 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5079 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5080 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n5081 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n5082 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n5083 int CAsyncMonikerFile::Open(char const *,CFileException *)\n5084 int CDatabase::Open(char const *,int,int,char const *,int)\n5085 int CDataPathProperty::Open(CFileException *)\n5086 int CDataPathProperty::Open(COleControl *,CFileException *)\n5087 int CDataPathProperty::Open(char const *,CFileException *)\n5088 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n5089 int CFile::Open(char const *,unsigned int,CFileException *)\n5090 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n5091 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5092 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5093 int CMonikerFile::Open(IMoniker *,CFileException *)\n5094 int CMonikerFile::Open(char const *,CFileException *)\n5095 int CRecordset::Open(unsigned int,char const *,unsigned long)\n5096 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n5097 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n5098 long CDocObjectServer::XOleDocumentView::Open()\n5099 CDocument * CDocManager::OpenDocumentFile(char const *)\n5100 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n5101 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n5102 CDocument * CWinApp::OpenDocumentFile(char const *)\n5103 int CDatabase::OpenEx(char const *,unsigned long)\n5104 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n5105 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n5106 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5107 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5108 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5109 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n5110 int CHtmlEditDoc::OpenURL(char const *)\n5111 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n5112 int CFileException::OsErrorToException(long)\n5113 void CDumpContext::OutputString(char const *)\n5114 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5115 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5116 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5117 int CWnd::PaintWindowlessControls(CDC *)\n5118 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5119 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5120 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n5121 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5122 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5123 void CCommandLineInfo::ParseLast(int)\n5124 void CCommandLineInfo::ParseParam(char const *,int,int)\n5125 void CCommandLineInfo::ParseParamFlag(char const *)\n5126 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5127 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5128 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n5129 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n5130 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5131 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5132 int CDC::PlayMetaFile(HMETAFILE__ *)\n5133 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n5134 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n5135 int CDC::PolyBezierTo(tagPOINT const *,int)\n5136 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5137 int CDC::PolylineTo(tagPOINT const *,int)\n5138 void CPreviewView::PositionPage(unsigned int)\n5139 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5140 int CMonikerFile::PostBindToStream(CFileException *)\n5141 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5142 void CDialog::PostModal()\n5143 void CPrintDialogEx::PostModal()\n5144 void COleControl::PostModalDialog(HWND__ *)\n5145 void CControlBar::PostNcDestroy()\n5146 void CControlFrameWnd::PostNcDestroy()\n5147 void CFindReplaceDialog::PostNcDestroy()\n5148 void CFrameWnd::PostNcDestroy()\n5149 void COleCntrFrameWnd::PostNcDestroy()\n5150 void CReflectorWnd::PostNcDestroy()\n5151 void CView::PostNcDestroy()\n5152 void CWnd::PostNcDestroy()\n5153 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5154 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5155 void CRecordset::PreBindFields()\n5156 void CDocument::PreCloseFrame(CFrameWnd *)\n5157 void COleDocument::PreCloseFrame(CFrameWnd *)\n5158 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5159 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5160 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5161 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n5162 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5163 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n5164 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5165 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5166 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n5167 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n5168 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5169 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5170 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5171 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5172 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n5173 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n5174 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n5175 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5176 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5177 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5178 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5179 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5180 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5181 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n5182 void CDialog::PreInitDialog()\n5183 void COleChangeSourceDialog::PreInitDialog()\n5184 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5185 HWND__ * CDialog::PreModal()\n5186 HWND__ * CPrintDialogEx::PreModal()\n5187 void COleControl::PreModalDialog(HWND__ *)\n5188 void CRecordset::PrepareAndExecute()\n5189 HWND__ * CDataExchange::PrepareCtrl(int)\n5190 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5191 void CWnd::PrepareForHelp()\n5192 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5193 void CRecordset::PrepareUpdateHstmt()\n5194 private: wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5195 private: char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5196 private: void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5197 private: void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5198 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n5199 void CDragListBox::PreSubclassWindow()\n5200 void CWnd::PreSubclassWindow()\n5201 int CWnd::PreTranslateInput(tagMSG *)\n5202 int CControlBar::PreTranslateMessage(tagMSG *)\n5203 int CDialog::PreTranslateMessage(tagMSG *)\n5204 int CFormView::PreTranslateMessage(tagMSG *)\n5205 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5206 int CHtmlView::PreTranslateMessage(tagMSG *)\n5207 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5208 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5209 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5210 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5211 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5212 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5213 int CWinThread::PreTranslateMessage(tagMSG *)\n5214 int CWnd::PreTranslateMessage(tagMSG *)\n5215 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5216 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5217 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5218 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5219 long CRichEditView::PrintPage(CDC *,long,long)\n5220 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5221 long COleException::Process(CException const *)\n5222 int CSocket::ProcessAuxQueue()\n5223 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5224 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5225 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5226 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5227 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5228 void COleSafeArray::PtrOfIndex(long *,void * *)\n5229 int CMetaFileDC::PtVisible(int,int)const \n5230 int CWinThread::PumpMessage()\n5231 int CSocket::PumpMessages(unsigned int)\n5232 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n5233 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5234 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5235 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5236 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5237 void COleSafeArray::PutElement(long *,void *)\n5238 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n5239 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n5240 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n5241 int PX_Bool(CPropExchange *,char const *,int &)\n5242 int PX_Bool(CPropExchange *,char const *,int &,int)\n5243 int PX_Color(CPropExchange *,char const *,unsigned long &)\n5244 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n5245 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n5246 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n5247 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n5248 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5249 int PX_Double(CPropExchange *,char const *,double &)\n5250 int PX_Double(CPropExchange *,char const *,double &,double)\n5251 int PX_Float(CPropExchange *,char const *,float &)\n5252 int PX_Float(CPropExchange *,char const *,float &,float)\n5253 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5254 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n5255 int PX_Long(CPropExchange *,char const *,long &)\n5256 int PX_Long(CPropExchange *,char const *,long &,long)\n5257 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n5258 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n5259 int PX_Short(CPropExchange *,char const *,short &)\n5260 int PX_Short(CPropExchange *,char const *,short &,short)\n5261 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5262 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n5263 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5264 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n5265 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n5266 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n5267 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n5268 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5269 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5270 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5271 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5272 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5273 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5274 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5275 void * COleControl::QueryDefHandler(_GUID const &)\n5276 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5277 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5278 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5279 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5280 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5281 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5282 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5283 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5284 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n5285 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5286 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5287 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5288 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5289 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5290 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5291 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5292 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5293 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5294 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5295 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5296 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5297 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5298 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5299 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5300 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5301 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5302 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5303 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5304 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5305 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5306 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5307 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5308 long CPropertyPage::QuerySiblings(unsigned int,long)\n5309 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5310 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5311 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5312 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5313 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5314 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n5315 int COleControlSite::QuickActivate()\n5316 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5317 int COleClientItem::ReactivateAndUndo()\n5318 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5319 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5320 unsigned int CArchive::Read(void *,unsigned int)\n5321 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5322 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5323 unsigned int CFile::Read(void *,unsigned int)\n5324 int CImageList::Read(CArchive *)\n5325 unsigned int CInternetFile::Read(void *,unsigned int)\n5326 unsigned int CMemFile::Read(void *,unsigned int)\n5327 unsigned int COleStreamFile::Read(void *,unsigned int)\n5328 unsigned int CSocketFile::Read(void *,unsigned int)\n5329 unsigned int CStdioFile::Read(void *,unsigned int)\n5330 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5331 unsigned long CArchive::ReadCount()\n5332 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5333 int CProperty::ReadFromStream(IStream *)\n5334 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5335 int CPropertySet::ReadFromStream(IStream *)\n5336 void COleClientItem::ReadItem(CArchive &)\n5337 void COleClientItem::ReadItemCompound(CArchive &)\n5338 void COleClientItem::ReadItemFlat(CArchive &)\n5339 void CRecentFileList::ReadList()\n5340 int CPropertySection::ReadNameDictFromStream(IStream *)\n5341 CObject * CArchive::ReadObject(CRuntimeconst *)\n5342 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5343 char * CArchive::ReadString(char *,unsigned int)\n5344 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5345 char * CInternetFile::ReadString(char *,unsigned int)\n5346 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5347 char * CStdioFile::ReadString(char *,unsigned int)\n5348 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5349 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5350 private: void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5351 private: void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5352 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5353 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5354 void CRecordset::RebindParams(void *)\n5355 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5356 void CFrameWnd::RecalcLayout(int)\n5357 void CMiniDockFrameWnd::RecalcLayout(int)\n5358 void COleCntrFrameWnd::RecalcLayout(int)\n5359 void COleDocIPFrameWnd::RecalcLayout(int)\n5360 void COleIPFrameWnd::RecalcLayout(int)\n5361 void CSplitterWnd::RecalcLayout()\n5362 int CAsyncSocket::Receive(void *,int,int)\n5363 int CSocket::Receive(void *,int,int)\n5364 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n5365 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5366 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5367 void COleControl::RecreateControlWindow()\n5368 CRect const CFrameWnd::rectDefault\n5369 int CMetaFileDC::RectVisible(tagRECT const *)const \n5370 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5371 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5372 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5373 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5374 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5375 void COleControl::Refresh()\n5376 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5377 int COleDropTarget::Register(CWnd *)\n5378 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n5379 int COleMessageFilter::Register()\n5380 int COleObjectFactory::Register()\n5381 int COleTemplateServer::Register()\n5382 int CWinApp::Register()\n5383 int COleObjectFactory::RegisterAll()\n5384 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n5385 void CDocManager::RegisterShellFileTypes(int)\n5386 void CWinApp::RegisterShellFileTypes(int)\n5387 unsigned long CArchiveStream::Release()\n5388 unsigned long CBlobProperty::Release()\n5389 unsigned long CBrowserControlSite::Release()\n5390 unsigned long CDHtmlControlSink::Release()\n5391 unsigned long CDHtmlElementEventSink::Release()\n5392 unsigned long CDHtmlEventSink::Release()\n5393 unsigned long CInnerUnknown::Release()\n5394 void COleClientItem::Release(enum tagOLECLOSE)\n5395 unsigned long COleConnPtContainer::Release()\n5396 void COleDataObject::Release()\n5397 unsigned long COleDispatchImpl::Release()\n5398 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5399 unsigned long COleUILinkInfo::Release()\n5400 unsigned long CPrintDialogEx::Release()\n5401 void CDC::ReleaseAttribDC()\n5402 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5403 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5404 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5405 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5406 void COleControl::ReleaseCaches()\n5407 int COleControl::ReleaseCapture()\n5408 int COleControl::ReleaseDC(CDC *)\n5409 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5410 void COleDispatchDriver::ReleaseDispatch()\n5411 void CDocObjectServer::ReleaseDocSite()\n5412 void CDocument::ReleaseFile(CFile *,int)\n5413 void CFontHolder::ReleaseFont()\n5414 void CDC::ReleaseOutputDC()\n5415 void CMetaFileDC::ReleaseOutputDC()\n5416 void CPreviewDC::ReleaseOutputDC()\n5417 int COleClientItem::Reload()\n5418 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5419 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5420 void CFile::Remove(char const *)\n5421 int CFtpConnection::Remove(char const *)\n5422 void CPropertySection::Remove(unsigned long)\n5423 void CPropertySet::Remove(_GUID)\n5424 void CPropertySet::Remove(_GUID,unsigned long)\n5425 void CRecentFileList::Remove(int)\n5426 int CSimpleList::Remove(void *)\n5427 void CMapPtrToPtr::RemoveAll()\n5428 void CMapPtrToWord::RemoveAll()\n5429 void CMapStringToOb::RemoveAll()\n5430 void CMapStringToPtr::RemoveAll()\n5431 void CMapStringToString::RemoveAll()\n5432 void CMapWordToOb::RemoveAll()\n5433 void CMapWordToPtr::RemoveAll()\n5434 void CObList::RemoveAll()\n5435 void CPropertySection::RemoveAll()\n5436 void CPropertySet::RemoveAll()\n5437 void CPtrList::RemoveAll()\n5438 void CStringList::RemoveAll()\n5439 void CTypeLibCacheMap::RemoveAll(void *)\n5440 void CByteArray::RemoveAt(int,int)\n5441 void CDWordArray::RemoveAt(int,int)\n5442 void CObArray::RemoveAt(int,int)\n5443 void CObList::RemoveAt(__POSITION *)\n5444 void CPtrArray::RemoveAt(int,int)\n5445 void CPtrList::RemoveAt(__POSITION *)\n5446 void CStringArray::RemoveAt(int,int)\n5447 void CStringList::RemoveAt(__POSITION *)\n5448 void CUIntArray::RemoveAt(int,int)\n5449 void CWordArray::RemoveAt(int,int)\n5450 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5451 void CFrameWnd::RemoveControlBar(CControlBar *)\n5452 int CFtpConnection::RemoveDirectoryA(char const *)\n5453 void CDocTemplate::RemoveDocument(CDocument *)\n5454 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5455 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5456 void COleControl::RemoveFrameLevelUI()\n5457 void CFrameWnd::RemoveFrameWnd()\n5458 CObject * CObList::RemoveHead()\n5459 void * CPtrList::RemoveHead()\n5460 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n5461 void CListCtrl::RemoveImageList(int)\n5462 void CListView::RemoveImageList(int)\n5463 void CTreeCtrl::RemoveImageList(int)\n5464 void CTreeView::RemoveImageList(int)\n5465 void COleDocument::RemoveItem(CDocItem *)\n5466 int CMapPtrToPtr::RemoveKey(void *)\n5467 int CMapPtrToWord::RemoveKey(void *)\n5468 int CMapStringToOb::RemoveKey(char const *)\n5469 int CMapStringToPtr::RemoveKey(char const *)\n5470 int CMapStringToString::RemoveKey(char const *)\n5471 int CMapWordToOb::RemoveKey(unsigned short)\n5472 int CMapWordToPtr::RemoveKey(unsigned short)\n5473 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5474 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5475 void CPropertySheet::RemovePage(int)\n5476 void CPropertySheet::RemovePage(CPropertyPage *)\n5477 void CDockBar::RemovePlaceHolder(CControlBar *)\n5478 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5479 void CDataBoundProperty::RemoveSource()\n5480 CObject * CObList::RemoveTail()\n5481 void * CPtrList::RemoveTail()\n5482 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n5483 void CDocument::RemoveView(CView *)\n5484 void CFile::Rename(char const *,char const *)\n5485 int CFtpConnection::Rename(char const *,char const *)\n5486 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5487 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5488 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5489 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5490 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5491 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5492 void CDatabase::ReplaceBrackets(char *)\n5493 int CException::ReportError(unsigned int,unsigned int)\n5494 int COleClientItem::ReportError(long)const \n5495 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5496 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5497 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5498 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5499 int CRecordset::Requery()\n5500 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5501 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5502 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5503 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5504 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5505 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5506 long COleControlSite::XOleIPSite::RequestUIActivate()\n5507 long CEnumArray::XEnumVOID::Reset()\n5508 void CRecordset::ResetCursor()\n5509 void CCachedDataPathProperty::ResetData()\n5510 void CDataPathProperty::ResetData()\n5511 void COleControl::ResetStockProps()\n5512 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5513 void COleControl::ResetVersion(unsigned long)\n5514 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5515 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5516 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5517 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5518 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5519 void COleControl::ResizeFrameWindow(int,int)\n5520 void COleSafeArray::ResizeOneDim(unsigned long)\n5521 void COleControl::ResizeOpenControl(int,int)\n5522 void CScrollView::ResizeParentToFit(int)\n5523 int CDC::RestoreDC(int)\n5524 int CPreviewDC::RestoreDC(int)\n5525 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n5526 void CCmdTarget::RestoreWaitCursor()\n5527 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5528 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5529 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5530 long CArchiveStream::Revert()\n5531 void COleDropTarget::Revoke()\n5532 void COleLinkingDoc::Revoke()\n5533 void COleMessageFilter::Revoke()\n5534 void COleObjectFactory::Revoke()\n5535 void COleObjectFactory::RevokeAll()\n5536 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n5537 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n5538 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n5539 void RFX_Bool(CFieldExchange *,char const *,int &)\n5540 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5541 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n5542 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n5543 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n5544 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n5545 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n5546 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n5547 void RFX_Double(CFieldExchange *,char const *,double &)\n5548 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n5549 void RFX_Int(CFieldExchange *,char const *,int &)\n5550 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5551 void RFX_Long(CFieldExchange *,char const *,long &)\n5552 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n5553 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n5554 void RFX_Single(CFieldExchange *,char const *,float &)\n5555 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n5556 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5557 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5558 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n5559 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n5560 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n5561 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n5562 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n5563 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n5564 int CDatabase::Rollback()\n5565 void COleClientItem::Run()\n5566 int CWinApp::Run()\n5567 int CWinThread::Run()\n5568 int CWinApp::RunAutomated()\n5569 int CWinApp::RunEmbedded()\n5570 int CWnd::RunModalLoop(unsigned long)\n5571 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5572 int CEditView::SameAsSelected(char const *,int)\n5573 int CRichEditView::SameAsSelected(char const *,int,int)\n5574 long CBlobProperty::Save(IStream *,int)\n5575 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5576 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5577 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5578 long COleControl::XPersistStorage::Save(IStorage *,int)\n5579 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5580 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5581 int CDocManager::SaveAllModified()\n5582 int CDocTemplate::SaveAllModified()\n5583 int CWinApp::SaveAllModified()\n5584 void CFrameWnd::SaveBarState(char const *)const \n5585 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5586 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5587 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5588 int CDC::SaveDC()\n5589 int CPreviewDC::SaveDC()\n5590 void COleServerDoc::SaveEmbedding()\n5591 int CFormView::SaveFocusControl()\n5592 int CDocument::SaveModified()\n5593 int COleDocument::SaveModified()\n5594 int COleServerDoc::SaveModified()\n5595 int COleServerDoc::SaveModifiedPrompt()\n5596 long COleClientItem::XOleClientSite::SaveObject()\n5597 long COleControlSite::XOleClientSite::SaveObject()\n5598 int CControlBarInfo::SaveState(char const *,int)\n5599 void CDockState::SaveState(char const *)\n5600 long COleControl::SaveState(IStream *)\n5601 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n5602 void CWinApp::SaveStdProfileSettings()\n5603 void COleDocument::SaveToStorage(CObject *)\n5604 void COleLinkingDoc::SaveToStorage(CObject *)\n5605 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5606 void CDockState::ScalePoint(CPoint &)\n5607 void CDockState::ScaleRectPos(CRect &)\n5608 CSize CDC::ScaleViewportExt(int,int,int,int)\n5609 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5610 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5611 CSize CDC::ScaleWindowExt(int,int,int,int)\n5612 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5613 void CWnd::ScreenToClient(tagRECT *)const \n5614 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5615 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5616 void COleControlContainer::ScrollChildren(int,int)\n5617 int COleServerDoc::ScrollContainerBy(CSize)\n5618 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5619 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5620 void CScrollView::ScrollToPosition(tagPOINT)\n5621 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5622 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5623 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5624 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5625 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5626 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5627 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5628 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5629 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5630 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5631 CFont * CFontHolder::Select(CDC *,long,long)\n5632 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5633 int CDC::SelectClipPath(int)\n5634 int CDC::SelectClipRgn(CRgn *)\n5635 int CDC::SelectClipRgn(CRgn *,int)\n5636 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5637 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5638 long CPrintDialogEx::SelectionChange()\n5639 int CDC::SelectObject(CRgn *)\n5640 CBrush * CDC::SelectObject(CBrush *)\n5641 CPen * CDC::SelectObject(CPen *)\n5642 CFont * CDC::SelectObject(CFont *)\n5643 CFont * CPreviewDC::SelectObject(CFont *)\n5644 CPalette * CDC::SelectPalette(CPalette *,int)\n5645 void CWinApp::SelectPrinter(void *,void *,int)\n5646 CFont * COleControl::SelectStockFont(CDC *)\n5647 CGdiObject * CDC::SelectStockObject(int)\n5648 CGdiObject * CPreviewDC::SelectStockObject(int)\n5649 int CAsyncSocket::Send(void const *,int,int)\n5650 int CSocket::Send(void const *,int,int)\n5651 void COleControl::SendAdvise(unsigned int)\n5652 int CWnd::SendChildNotifyLastMsg(long *)\n5653 int CSocket::SendChunk(void const *,int,int)\n5654 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5655 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5656 void CDocument::SendInitialUpdate()\n5657 void CRecordset::SendLongBinaryData(void *)\n5658 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5659 void COleControlSite::SendMnemonic(tagMSG *)\n5660 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n5661 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n5662 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5663 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n5664 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n5665 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5666 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5667 void CByteArray::Serialize(CArchive &)\n5668 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5669 void CDocItem::Serialize(CArchive &)\n5670 void CDockState::Serialize(CArchive &)\n5671 void CDWordArray::Serialize(CArchive &)\n5672 void CEditView::Serialize(CArchive &)\n5673 void CMapStringToOb::Serialize(CArchive &)\n5674 void CMapStringToString::Serialize(CArchive &)\n5675 void CMapWordToOb::Serialize(CArchive &)\n5676 void CObArray::Serialize(CArchive &)\n5677 void CObList::Serialize(CArchive &)\n5678 void COleClientItem::Serialize(CArchive &)\n5679 void COleControl::Serialize(CArchive &)\n5680 void COleDocument::Serialize(CArchive &)\n5681 void CRichEditDoc::Serialize(CArchive &)\n5682 void CRichEditView::Serialize(CArchive &)\n5683 void CStringArray::Serialize(CArchive &)\n5684 void CStringList::Serialize(CArchive &)\n5685 void CWordArray::Serialize(CArchive &)\n5686 CArchive & ATL::CTime::Serialize64(CArchive &)\n5687 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5688 void CArchive::SerializeClass(CRuntimeconst *)\n5689 void COleControl::SerializeExtent(CArchive &)\n5690 void CEditView::SerializeRaw(CArchive &)\n5691 void COleControl::SerializeStockProps(CArchive &)\n5692 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5693 int CProperty::Set(unsigned long,void * const,unsigned long)\n5694 int CProperty::Set(void * const)\n5695 int CProperty::Set(void * const,unsigned long)\n5696 int CPropertySection::Set(unsigned long,void *)\n5697 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5698 int CPropertySet::Set(_GUID,unsigned long,void *)\n5699 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5700 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5701 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5702 int CPropertySheet::SetActivePage(int)\n5703 int CPropertySheet::SetActivePage(CPropertyPage *)\n5704 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5705 void CFrameWnd::SetActiveView(CView *,int)\n5706 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5707 void COleControl::SetAppearance(short)\n5708 int CDC::SetArcDirection(int)\n5709 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n5710 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n5711 void CByteArray::SetAtGrow(int,unsigned char)\n5712 void CDWordArray::SetAtGrow(int,unsigned long)\n5713 void CObArray::SetAtGrow(int,CObject *)\n5714 void CPtrArray::SetAtGrow(int,void *)\n5715 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5716 void CStringArray::SetAtGrow(int,char const *)\n5717 void CUIntArray::SetAtGrow(int,unsigned int)\n5718 void CWordArray::SetAtGrow(int,unsigned short)\n5719 void CDC::SetAttribDC(HDC__ *)\n5720 void CMetaFileDC::SetAttribDC(HDC__ *)\n5721 void CPreviewDC::SetAttribDC(HDC__ *)\n5722 void COleControl::SetBackColor(unsigned long)\n5723 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5724 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5725 void CControlBar::SetBarStyle(unsigned long)\n5726 int CToolBar::SetBitmap(HBITMAP__ *)\n5727 unsigned long CDC::SetBkColor(unsigned long)\n5728 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5729 int CListCtrl::SetBkImage(char *,int,int,int)\n5730 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5731 int CDC::SetBkMode(int)\n5732 void CRecordset::SetBookmark(CDBVariant const &)\n5733 void CControlBar::SetBorders(int,int,int,int)\n5734 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5735 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5736 void COleControl::SetBorderStyle(short)\n5737 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5738 int CToolBar::SetButtons(unsigned int const *,int)\n5739 void CToolBar::SetButtonStyle(int,unsigned int)\n5740 int CToolBar::SetButtonText(int,char const *)\n5741 CWnd * COleControl::SetCapture()\n5742 long COleControlSite::XOleIPSite::SetCapture(int)\n5743 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n5744 void CCheckListBox::SetCheck(int,int)\n5745 void CCmdUI::SetCheck(int)\n5746 int CListCtrl::SetCheck(int,int)\n5747 void COleCmdUI::SetCheck(int)\n5748 void CStatusCmdUI::SetCheck(int)\n5749 void CTestCmdUI::SetCheck(int)\n5750 void CToolCmdUI::SetCheck(int)\n5751 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5752 void CCheckListBox::SetCheckStyle(unsigned int)\n5753 void CPropertySet::SetClassID(_GUID)\n5754 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5755 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5756 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5757 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5758 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5759 void COleDataSource::SetClipboard()\n5760 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5761 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5762 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5763 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5764 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5765 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5766 void CSplitterWnd::SetColumnInfo(int,int,int)\n5767 int CListCtrl::SetColumnOrderArray(int,int *)\n5768 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5769 void CDocTemplate::SetContainerInfo(unsigned int)\n5770 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5771 void CReflectorWnd::SetControl(COleControl *)\n5772 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5773 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n5774 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n5775 int COleControl::SetControlSize(int,int)\n5776 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5777 void CFileDialog::SetControlText(int,char const *)\n5778 int CInternetSession::SetCookie(char const *,char const *,char const *)\n5779 void COleCurrency::SetCurrency(long,long)\n5780 void CColorDialog::SetCurrentColor(unsigned long)\n5781 int CFtpConnection::SetCurrentDirectoryA(char const *)\n5782 void CWinApp::SetCurrentHandles()\n5783 void CPreviewView::SetCurrentPage(unsigned int,int)\n5784 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5785 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5786 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5787 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5788 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5789 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5790 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5791 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5792 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5793 void COccManager::SetDefaultButton(CWnd *,int)\n5794 void COleControlSite::SetDefaultButton(int)\n5795 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n5796 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n5797 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5798 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5799 void CFileDialog::SetDefExt(char const *)\n5800 void COlePropertyPage::SetDialogResource(void *)\n5801 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5802 int COleControlSite::SetDlgCtrlID(int)\n5803 int CWnd::SetDlgCtrlID(int)\n5804 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5805 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5806 void COleControlContainer::SetDlgItemTextA(int,char const *)\n5807 void CWnd::SetDlgItemTextA(int,char const *)\n5808 void CFrameWnd::SetDockState(CDockState const &)\n5809 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5810 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5811 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5812 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5813 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5814 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n5815 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n5816 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5817 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n5818 void COleControl::SetEnabled(int)\n5819 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5820 int COleControlSite::SetExtent()\n5821 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5822 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5823 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5824 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5825 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5826 void CRecordset::SetFieldDirty(void *,int)\n5827 void CRecordset::SetFieldNull(void *,int)\n5828 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5829 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5830 CWnd * COleControl::SetFocus()\n5831 CWnd * COleControlSite::SetFocus(tagMSG *)\n5832 CWnd * COleControlSite::SetFocus()\n5833 CWnd * CWnd::SetFocus()\n5834 long COleControlSite::XOleIPSite::SetFocus(int)\n5835 void CDHtmlDialog::SetFocusToElement(char const *)\n5836 int CDialogTemplate::SetFont(char const *,unsigned short)\n5837 void CFontHolder::SetFont(IFont *)\n5838 void COleControl::SetFont(IFontDisp *)\n5839 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5840 void COleControl::SetForeColor(unsigned long)\n5841 void CPropertySection::SetFormatID(_GUID)\n5842 void CPropertySet::SetFormatVersion(unsigned short)\n5843 void CSharedFile::SetHandle(void *,int)\n5844 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5845 void CToolBar::SetHeight(int)\n5846 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5847 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n5848 void CDHtmlDialog::SetHostFlags(unsigned long)\n5849 void COleClientItem::SetHostNames(char const *,char const *)\n5850 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5851 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5852 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5853 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5854 int COleClientItem::SetIconicMetafile(void *)\n5855 CSize CListCtrl::SetIconSpacing(int,int)\n5856 CSize CListCtrl::SetIconSpacing(CSize)\n5857 void CProperty::SetID(unsigned long)\n5858 int CReBarCtrl::SetImageList(CImageList *)\n5859 int CStatusBar::SetIndicators(unsigned int const *,int)\n5860 void COleControl::SetInitialDataFormats()\n5861 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5862 void COleControl::SetInitialSize(int,int)\n5863 void CControlBar::SetInPlaceOwner(CWnd *)\n5864 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5865 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n5866 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n5867 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n5868 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n5869 int CListCtrl::SetItemCountEx(int,unsigned long)\n5870 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5871 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5872 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5873 int CListCtrl::SetItemText(int,int,char const *)\n5874 unsigned long CDC::SetLayout(unsigned long)\n5875 private: void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n5876 private: void ATL::CSimpleStringT<char,1>::SetLength(int)\n5877 void CFile::SetLength(unsigned __int64)\n5878 void CInternetFile::SetLength(unsigned __int64)\n5879 void CMemFile::SetLength(unsigned __int64)\n5880 void COleStreamFile::SetLength(unsigned __int64)\n5881 void CSocketFile::SetLength(unsigned __int64)\n5882 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n5883 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5884 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5885 void CRecordset::SetLockingMode(unsigned int)\n5886 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n5887 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n5888 int CDC::SetMapMode(int)\n5889 int CPreviewDC::SetMapMode(int)\n5890 unsigned long CDC::SetMapperFlags(unsigned long)\n5891 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5892 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5893 void CFrameWnd::SetMessageText(unsigned int)\n5894 void CFrameWnd::SetMessageText(char const *)\n5895 void CPropertyPage::SetModified(int)\n5896 void COleControl::SetModifiedFlag(int)\n5897 void COlePropertyPage::SetModifiedFlag(int)\n5898 void CRichEditDoc::SetModifiedFlag(int)\n5899 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5900 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5901 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5902 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5903 int CPropertySection::SetName(unsigned long,char const *)\n5904 void COleControl::SetNotPermitted()\n5905 void CCmdTarget::SetNotSupported()\n5906 void COleControl::SetNotSupported()\n5907 void CRecordset::SetNullFieldStatus(unsigned long)\n5908 void CRecordset::SetNullParamStatus(unsigned long)\n5909 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5910 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5911 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5912 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5913 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5914 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5915 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5916 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5917 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5918 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5919 int CHeaderCtrl::SetOrderArray(int,int *)\n5920 void CPropertySet::SetOSVersion(unsigned long)\n5921 void CDC::SetOutputDC(HDC__ *)\n5922 void CMetaFileDC::SetOutputDC(HDC__ *)\n5923 void CPreviewDC::SetOutputDC(HDC__ *)\n5924 void CToolBar::SetOwner(CWnd *)\n5925 void COlePropertyPage::SetPageName(char const *)\n5926 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5927 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5928 void CStatusBar::SetPaneStyle(int,unsigned int)\n5929 int CStatusBar::SetPaneText(int,char const *,int)\n5930 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5931 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5932 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5933 void CRecordset::SetParamNull(int,int)\n5934 void CDocument::SetPathName(char const *,int)\n5935 void COleDocument::SetPathName(char const *,int)\n5936 void CRichEditDoc::SetPathName(char const *,int)\n5937 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5938 int CDC::SetPolyFillMode(int)\n5939 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5940 int COleClientItem::SetPrintDevice(tagPDA const *)\n5941 void CEditView::SetPrinterFont(CFont *)\n5942 int CPreviewView::SetPrintView(CView *)\n5943 int COlePropertyPage::SetPropCheck(char const *,int)\n5944 void COleControlSite::SetProperty(long,unsigned short,...)\n5945 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5946 void CWnd::SetProperty(long,unsigned short,...)\n5947 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5948 int COlePropertyPage::SetPropIndex(char const *,int)\n5949 int COlePropertyPage::SetPropRadio(char const *,int)\n5950 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5951 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n5952 int COlePropertyPage::SetPropText(char const *,short &)\n5953 int COlePropertyPage::SetPropText(char const *,int &)\n5954 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n5955 int COlePropertyPage::SetPropText(char const *,long &)\n5956 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n5957 int COlePropertyPage::SetPropText(char const *,float &)\n5958 int COlePropertyPage::SetPropText(char const *,double &)\n5959 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5960 long CWnd::SetProxy(IAccessibleProxy *)\n5961 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5962 void CCmdUI::SetRadio(int)\n5963 void CTestCmdUI::SetRadio(int)\n5964 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5965 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5966 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5967 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5968 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5969 void CSliderCtrl::SetRange(int,int,int)\n5970 int CInternetFile::SetReadBufferSize(unsigned int)\n5971 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5972 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5973 int COleControl::SetRectInContainer(tagRECT const *)\n5974 void CWinApp::SetRegistryKey(unsigned int)\n5975 void CWinApp::SetRegistryKey(char const *)\n5976 int CDC::SetROP2(int)\n5977 void CSplitterWnd::SetRowInfo(int,int,int)\n5978 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5979 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5980 void CRecordset::SetRowsetSize(unsigned long)\n5981 void CPreviewView::SetScaledSize(unsigned int)\n5982 void CPreviewDC::SetScaleRatio(int,int)\n5983 void CScrollView::SetScaleToFitSize(tagSIZE)\n5984 void CDockState::SetScreenSize(CSize &)\n5985 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5986 int CWnd::SetScrollPos(int,int,int)\n5987 void CWnd::SetScrollRange(int,int,int,int)\n5988 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5989 void CSplitterWnd::SetScrollStyle(unsigned long)\n5990 int CPropertySection::SetSectionName(char const *)\n5991 void CRichEditCtrl::SetSel(long,long)\n5992 void CSliderCtrl::SetSelection(int,int)\n5993 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n5994 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n5995 void CCheckListBox::SetSelectionCheck(int)\n5996 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5997 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5998 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5999 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6000 long CPrintDialogEx::SetSite(IUnknown *)\n6001 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6002 void CByteArray::SetSize(int,int)\n6003 void CDWordArray::SetSize(int,int)\n6004 void CObArray::SetSize(int,int)\n6005 void CPtrArray::SetSize(int,int)\n6006 void CStringArray::SetSize(int,int)\n6007 void CUIntArray::SetSize(int,int)\n6008 void CWordArray::SetSize(int,int)\n6009 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6010 void CSplitterWnd::SetSplitCursor(int)\n6011 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6012 void CRecordset::SetState(int,char const *,unsigned long)\n6013 void CFile::SetStatus(char const *,CFileStatus const &)\n6014 int CControlBar::SetStatusText(int)\n6015 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6016 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6017 int CDC::SetStretchBltMode(int)\n6018 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6019 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6020 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6021 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6022 void COleVariant::SetString(char const *,unsigned short)\n6023 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6024 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6025 int CDialogTemplate::SetSystemFont(unsigned short)\n6026 void CEditView::SetTabStops(int)\n6027 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6028 void CFileDialog::SetTemplate(char const *,char const *)\n6029 void CCmdUI::SetText(char const *)\n6030 void COleCmdUI::SetText(char const *)\n6031 void COleControl::SetText(char const *)\n6032 void CStatusCmdUI::SetText(char const *)\n6033 void CTestCmdUI::SetText(char const *)\n6034 void CToolCmdUI::SetText(char const *)\n6035 unsigned int CDC::SetTextAlign(unsigned int)\n6036 int CDC::SetTextCharacterExtra(int)\n6037 unsigned long CDC::SetTextColor(unsigned long)\n6038 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6039 int CDC::SetTextJustification(int,int)\n6040 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6041 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6042 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6043 void CDocument::SetTitle(char const *)\n6044 void CPropertySheet::SetTitle(char const *,unsigned int)\n6045 void CRichEditDoc::SetTitle(char const *)\n6046 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6047 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6048 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6049 void CPreviewDC::SetTopLeftOffset(CSize)\n6050 void CProperty::SetType(unsigned long)\n6051 void CRecordset::SetUpdateMethod()\n6052 void CThreadSlotData::SetValue(int,void *)\n6053 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6054 CSize CDC::SetViewportExt(int,int)\n6055 CSize CMetaFileDC::SetViewportExt(int,int)\n6056 CSize CPreviewDC::SetViewportExt(int,int)\n6057 CPoint CDC::SetViewportOrg(int,int)\n6058 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6059 CPoint CPreviewDC::SetViewportOrg(int,int)\n6060 CSize CDC::SetWindowExt(int,int)\n6061 CSize CPreviewDC::SetWindowExt(int,int)\n6062 CPoint CDC::SetWindowOrg(int,int)\n6063 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6064 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6065 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6066 void COleControlSite::SetWindowTextA(char const *)\n6067 void CWnd::SetWindowTextA(char const *)\n6068 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n6069 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n6070 int CInternetFile::SetWriteBufferSize(unsigned int)\n6071 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6072 long CDocObjectServer::XOleDocumentView::Show(int)\n6073 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6074 void CDockBar::ShowAll(int)\n6075 long CRichEditCntrItem::ShowContainerUI(int)\n6076 long CRichEditView::ShowContainerUI(int)\n6077 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6078 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6079 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6080 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6081 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6082 long COleClientItem::XOleClientSite::ShowObject()\n6083 long COleControlSite::XOleClientSite::ShowObject()\n6084 void CFrameWnd::ShowOwnedWindows(int)\n6085 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6086 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6087 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6088 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6089 int COleControlSite::ShowWindow(int)\n6090 int CWnd::ShowWindow(int)\n6091 tagSIZE const CScrollView::sizeDefault\n6092 int CMonthCalCtrl::SizeMinReq(int)\n6093 void CBitmapButton::SizeToContent()\n6094 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6095 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6096 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6097 int CAsyncSocket::Socket(int,long,int,int)\n6098 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6099 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6101 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6102 int CSplitterWnd::SplitColumn(int)\n6103 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6104 int CSplitterWnd::SplitRow(int)\n6105 int CDC::StartDocA(char const *)\n6106 void CDockContext::StartDrag(CPoint)\n6107 void CDockContext::StartResize(int,CPoint)\n6108 void CSplitterWnd::StartTracking(int)\n6109 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6110 void CSplitterWnd::StopTracking(int)\n6111 void CRuntimeClass::Store(CArchive &)const \n6112 void CRecordset::StoreFields()\n6113 void CRichEditView::Stream(CArchive &,int)\n6114 void CDockContext::Stretch(CPoint)\n6115 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6116 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6117 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6118 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6119 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6120 int CWnd::SubclassWindow(HWND__ *)\n6121 int COleDocObjectItem::SupportsIPrint()\n6122 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6123 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6124 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6125 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6126 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6127 void CRichEditView::TextNotFound(char const *)\n6128 int CMetaFileDC::TextOutA(int,int,char const *,int)\n6129 int CPreviewDC::TextOutA(int,int,char const *,int)\n6130 void CFileException::ThrowErrno(int,char const *)\n6131 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6132 void COleControl::ThrowError(long,char const *,unsigned int)\n6133 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n6134 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n6135 void CFileException::ThrowOsError(long,char const *)\n6136 void CDockContext::ToggleDocking()\n6137 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6138 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6139 COleVariant CDataSourceControl::ToVariant(int)\n6140 int CDockContext::Track()\n6141 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6142 void CSplitterWnd::TrackColumnSize(int,int)\n6143 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6144 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6145 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6146 void CSplitterWnd::TrackRowSize(int,int)\n6147 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6148 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6149 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6150 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6151 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6152 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6153 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n6154 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6155 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6156 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6157 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6158 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n6159 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6160 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6161 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6162 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6163 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6164 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n6166 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6167 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6168 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n6169 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6170 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n6172 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6173 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6174 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n6175 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6177 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n6178 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6179 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6180 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n6181 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6182 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6183 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6184 void COccManager::UIActivateControl(CWnd *)\n6185 long COleControl::XOleInPlaceObject::UIDeactivate()\n6186 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6187 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6188 void COleSafeArray::UnaccessData()\n6189 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6190 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6191 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6192 long COleControl::XOleObject::Unadvise(unsigned long)\n6193 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6194 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6195 void CRecordset::UnbindFieldsForUpdate()\n6196 long COleControl::XOleCache::Uncache(unsigned long)\n6197 long COleControl::XViewObject::Unfreeze(unsigned long)\n6198 int CEvent::Unlock()\n6199 int CMultiLock::Unlock(long,long *)\n6200 int CMultiLock::Unlock()\n6201 int CMutex::Unlock()\n6202 void COleSafeArray::Unlock()\n6203 int CSemaphore::Unlock(long,long *)\n6204 int CSingleLock::Unlock(long,long *)\n6205 int CSingleLock::Unlock()\n6206 void CTypeLibCache::Unlock()\n6207 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n6208 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n6209 void CEditView::UnlockBuffer()const \n6210 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6211 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6212 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6213 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6214 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6215 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6216 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6217 int COleObjectFactory::Unregister()\n6218 int COleTemplateServer::Unregister()\n6219 int CWinApp::Unregister()\n6220 int COleObjectFactory::UnregisterAll()\n6221 void CDocManager::UnregisterShellFileTypes()\n6222 void CWinApp::UnregisterShellFileTypes()\n6223 HWND__ * CWnd::UnsubclassWindow()\n6224 int CRecordset::Update()\n6225 long CDocObjectServer::XOleObject::Update()\n6226 long COleControl::XOleObject::Update()\n6227 long COleServerDoc::XOleObject::Update()\n6228 long COleServerItem::XOleObject::Update()\n6229 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6230 void CStatusBar::UpdateAllPanes(int,int)\n6231 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6232 void CScrollView::UpdateBars()\n6233 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6234 long CDataSourceControl::UpdateControls()\n6235 long CDataSourceControl::UpdateCursor()\n6236 int CWnd::UpdateData(int)\n6237 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6238 void CDocument::UpdateFrameCounts()\n6239 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n6240 int CRecordset::UpdateInsertDelete()\n6241 void COleClientItem::UpdateItemType()\n6242 int COleClientItem::UpdateLink()\n6243 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6244 void CRecentFileList::UpdateMenu(CCmdUI *)\n6245 void COleDocument::UpdateModifiedFlag()\n6246 void CRichEditDoc::UpdateModifiedFlag()\n6247 void CRichEditDoc::UpdateObjectCache()\n6248 void CWinApp::UpdatePrinterSelection(int)\n6249 int COleObjectFactory::UpdateRegistry(int)\n6250 void COleObjectFactory::UpdateRegistry(char const *)\n6251 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n6252 int COleObjectFactory::UpdateRegistryAll(int)\n6253 void CDockContext::UpdateState(int *,int)\n6254 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6255 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n6256 long CBrowserControlSite::UpdateUI()\n6257 long CDHtmlDialog::UpdateUI()\n6258 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n6259 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6260 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6261 void CDatabase::VerifyConnect()\n6262 unsigned long CRecordset::VerifyCursorSupport()\n6263 void CRecordset::VerifyDriverBehavior()\n6264 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6265 int COleObjectFactory::VerifyUserLicense()\n6266 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6267 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6268 int COleControl::WillAmbientsBeValidDuringLoad()\n6269 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6270 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6271 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6272 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6273 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6274 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6275 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6276 void CWinApp::WinHelpA(unsigned long,unsigned int)\n6277 void CWnd::WinHelpA(unsigned long,unsigned int)\n6278 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6279 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6280 CWnd const CWnd::wndBottom\n6281 CWnd const CWnd::wndNoTopMost\n6282 CWnd const CWnd::wndTop\n6283 CWnd const CWnd::wndTopMost\n6284 void CRichEditView::WrapChanged()\n6285 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6286 void CArchive::Write(void const *,unsigned int)\n6287 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6288 void CFile::Write(void const *,unsigned int)\n6289 void CGopherFile::Write(void const *,unsigned int)\n6290 int CImageList::Write(CArchive *)\n6291 void CInternetFile::Write(void const *,unsigned int)\n6292 void CMemFile::Write(void const *,unsigned int)\n6293 void COleStreamFile::Write(void const *,unsigned int)\n6294 void CSocketFile::Write(void const *,unsigned int)\n6295 void CStdioFile::Write(void const *,unsigned int)\n6296 void CArchive::WriteClass(CRuntimeconst *)\n6297 void CArchive::WriteCount(unsigned long)\n6298 void COleClientItem::WriteItem(CArchive &)\n6299 void COleClientItem::WriteItemCompound(CArchive &)\n6300 void COleClientItem::WriteItemFlat(CArchive &)\n6301 void CRecentFileList::WriteList()\n6302 int CPropertySection::WriteNameDictToStream(IStream *)\n6303 void CArchive::WriteObject(CObject const *)\n6304 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n6305 int CWinApp::WriteProfileInt(char const *,char const *,int)\n6306 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n6307 void CArchive::WriteString(char const *)\n6308 void CGopherFile::WriteString(char const *)\n6309 void CInternetFile::WriteString(char const *)\n6310 void CStdioFile::WriteString(char const *)\n6311 void CEditView::WriteToArchive(CArchive &)\n6312 int CProperty::WriteToStream(IStream *)\n6313 int CPropertySection::WriteToStream(IStream *)\n6314 int CPropertySet::WriteToStream(IStream *)\n6315 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6316 CDaoException::CDaoException()\n6317 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6318 CDaoIndexInfo::CDaoIndexInfo()\n6319 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6320 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6321 CDaoRecordView::CDaoRecordView(unsigned int)\n6322 CDaoRecordView::CDaoRecordView(char const *)\n6323 CDaoRelationInfo::CDaoRelationInfo()\n6324 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6325 CDaoWorkspace::CDaoWorkspace()\n6326 CDaoDatabase::~CDaoDatabase()\n6327 CDaoException::~CDaoException()\n6328 CDaoIndexInfo::~CDaoIndexInfo()\n6329 CDaoQueryDef::~CDaoQueryDef()\n6330 CDaoRecordset::~CDaoRecordset()\n6331 CDaoRecordView::~CDaoRecordView()\n6332 CDaoRelationInfo::~CDaoRelationInfo()\n6333 CDaoTableDef::~CDaoTableDef()\n6334 CDaoWorkspace::~CDaoWorkspace()\n6335 void CDaoRecordset::AddNew()\n6336 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6337 _DAODBEngine * AfxDaoGetEngine()\n6338 void AfxDaoInit()\n6339 void AfxDaoTerm()\n6340 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6341 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6342 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6343 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6344 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6345 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6346 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6347 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6348 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6349 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6350 void AfxThrowDaoException(int,long)\n6351 void CDaoRecordset::AllocCache()\n6352 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6353 void CDaoRecordset::AllocDatabase()\n6354 void AllocLongBinary(CLongBinary &,unsigned long)\n6355 void CDaoQueryDef::Append()\n6356 void CDaoTableDef::Append()\n6357 void CDaoWorkspace::Append()\n6358 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n6359 void CDaoWorkspace::BeginTrans()\n6360 void CDaoRecordset::BindFields()\n6361 void CDaoRecordset::BindParameters()\n6362 void CDaoRecordset::BuildParameterList()\n6363 void CDaoRecordset::BuildSelectList()\n6364 void CDaoRecordset::BuildSQL()\n6365 int CDaoRecordset::CanAppend()const \n6366 int CDaoRecordset::CanBookmark()\n6367 void CDaoRecordset::CancelUpdate()\n6368 int CDaoRecordset::CanRestart()\n6369 int CDaoRecordset::CanScroll()const \n6370 int CDaoDatabase::CanTransact()\n6371 int CDaoRecordset::CanTransact()\n6372 int CDaoDatabase::CanUpdate()\n6373 int CDaoQueryDef::CanUpdate()\n6374 int CDaoRecordset::CanUpdate()const \n6375 int CDaoTableDef::CanUpdate()\n6376 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6377 void CDaoRecordset::ClearFieldStatusFlags()\n6378 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6379 void CDaoDatabase::Close()\n6380 void CDaoQueryDef::Close()\n6381 void CDaoRecordset::Close()\n6382 void CDaoTableDef::Close()\n6383 void CDaoWorkspace::Close()\n6384 void CDaoWorkspace::CommitTrans()\n6385 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n6386 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n6387 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6388 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6389 void CDaoDatabase::Create(char const *,char const *,int)\n6390 void CDaoQueryDef::Create(char const *,char const *)\n6391 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n6392 void CDaoWorkspace::Create(char const *,char const *,char const *)\n6393 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6394 void CDaoTableDef::CreateField(char const *,short,long,long)\n6395 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6396 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6397 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n6398 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6399 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6400 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6401 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6402 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6403 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6404 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6405 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6406 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6407 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6408 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6409 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6410 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6411 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6412 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6413 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6414 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6415 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6416 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6417 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6418 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n6419 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n6420 void CDaoRecordset::Delete()\n6421 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6422 void CDaoTableDef::DeleteField(int)\n6423 void CDaoTableDef::DeleteField(char const *)\n6424 void CDaoTableDef::DeleteIndex(int)\n6425 void CDaoTableDef::DeleteIndex(char const *)\n6426 void CDaoDatabase::DeleteQueryDef(char const *)\n6427 void CDaoDatabase::DeleteRelation(char const *)\n6428 void CDaoDatabase::DeleteTableDef(char const *)\n6429 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n6430 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n6431 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n6432 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n6433 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n6434 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n6435 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n6436 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n6437 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n6438 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n6439 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n6440 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6441 void CDaoRecordset::Edit()\n6442 void CDaoDatabase::Execute(char const *,int)\n6443 void CDaoQueryDef::Execute(int)\n6444 void CDaoRecordset::FillCache(long *,COleVariant *)\n6445 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6446 void CDaoException::FillErrorInfo()\n6447 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6448 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6449 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6450 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6451 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6452 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6453 int CDaoRecordset::Find(long,char const *)\n6454 int CDaoRecordset::FindFirst(char const *)\n6455 int CDaoRecordset::FindLast(char const *)\n6456 int CDaoRecordset::FindNext(char const *)\n6457 int CDaoRecordset::FindPrev(char const *)\n6458 void CDaoRecordset::Fixup()\n6459 void CDaoRecordset::FreeCache()\n6460 long CDaoRecordset::GetAbsolutePosition()\n6461 long CDaoTableDef::GetAttributes()\n6462 COleVariant CDaoRecordset::GetBookmark()\n6463 long CDaoRecordset::GetCacheSize()\n6464 COleVariant CDaoRecordset::GetCacheStart()\n6465 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6466 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n6467 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n6468 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n6469 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n6470 void CDaoRecordset::GetDataAndFixupNulls()\n6471 short CDaoWorkspace::GetDatabaseCount()\n6472 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6473 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n6474 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6475 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6476 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6477 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6478 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6479 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6480 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n6481 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n6482 short CDaoRecordset::GetEditMode()\n6483 short CDaoException::GetErrorCount()\n6484 void CDaoException::GetErrorInfo(int)\n6485 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)\n6486 short CDaoQueryDef::GetFieldCount()\n6487 short CDaoRecordset::GetFieldCount()\n6488 short CDaoTableDef::GetFieldCount()\n6489 int CDaoRecordset::GetFieldIndex(void *)\n6490 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6491 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6492 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6493 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6494 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6495 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6496 unsigned long CDaoRecordset::GetFieldLength(int)\n6497 COleVariant CDaoRecordset::GetFieldValue(int)\n6498 COleVariant CDaoRecordset::GetFieldValue(char const *)\n6499 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6500 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n6501 short CDaoRecordset::GetIndexCount()\n6502 short CDaoTableDef::GetIndexCount()\n6503 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6504 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6505 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6506 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6507 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n6508 int CDaoWorkspace::GetIsolateODBCTrans()\n6509 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6510 int CDaoRecordset::GetLockingMode()\n6511 short CDaoWorkspace::GetLoginTimeout()\n6512 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6513 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n6514 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n6515 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n6516 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n6517 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n6518 short CDaoQueryDef::GetODBCTimeout()\n6519 short CDaoQueryDef::GetParameterCount()\n6520 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6521 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n6522 COleVariant CDaoQueryDef::GetParamValue(int)\n6523 COleVariant CDaoQueryDef::GetParamValue(char const *)\n6524 COleVariant CDaoRecordset::GetParamValue(int)\n6525 COleVariant CDaoRecordset::GetParamValue(char const *)\n6526 float CDaoRecordset::GetPercentPosition()\n6527 short CDaoDatabase::GetQueryDefCount()\n6528 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6529 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n6530 short CDaoDatabase::GetQueryTimeout()\n6531 long CDaoRecordset::GetRecordCount()\n6532 long CDaoTableDef::GetRecordCount()\n6533 long CDaoDatabase::GetRecordsAffected()\n6534 long CDaoQueryDef::GetRecordsAffected()\n6535 short CDaoDatabase::GetRelationCount()\n6536 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6537 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n6538 int CDaoQueryDef::GetReturnsRecords()\n6539 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6540 CRuntime* CDaoException::GetRuntimeClass()const \n6541 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6542 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6543 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6544 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6545 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6546 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n6547 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n6548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n6549 short CDaoDatabase::GetTableDefCount()\n6550 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6551 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n6552 CRuntime* CDaoDatabase::GetThisClass()\n6553 CRuntime* CDaoException::GetThisClass()\n6554 CRuntime* CDaoQueryDef::GetThisClass()\n6555 CRuntime* CDaoRecordset::GetThisClass()\n6556 CRuntime* CDaoRecordView::GetThisClass()\n6557 CRuntime* CDaoTableDef::GetThisClass()\n6558 CRuntime* CDaoWorkspace::GetThisClass()\n6559 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6560 short CDaoQueryDef::GetType()\n6561 short CDaoRecordset::GetType()\n6562 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n6563 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n6564 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n6565 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n6566 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n6567 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n6568 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n6569 short CDaoWorkspace::GetWorkspaceCount()\n6570 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6571 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n6572 void CDaoWorkspace::Idle(int)\n6573 void CDaoWorkspace::InitDatabasesCollection()\n6574 void CDaoException::InitErrorsCollection()\n6575 void CDaoQueryDef::InitFieldsCollection()\n6576 void CDaoRecordset::InitFieldsCollection()\n6577 void CDaoTableDef::InitFieldsCollection()\n6578 void CDaoWorkspace::InitializeEngine()\n6579 void CDaoRecordset::InitIndexesCollection()\n6580 void CDaoTableDef::InitIndexesCollection()\n6581 void CDaoQueryDef::InitParametersCollection()\n6582 void CDaoDatabase::InitQueryDefsCollection()\n6583 void CDaoDatabase::InitRelationsCollection()\n6584 void CDaoDatabase::InitTableDefsCollection()\n6585 void CDaoDatabase::InitWorkspace()\n6586 void CDaoWorkspace::InitWorkspacesCollection()\n6587 int CDaoRecordset::IsBOF()const \n6588 int CDaoRecordset::IsDeleted()const \n6589 int CDaoRecordset::IsEOF()const \n6590 int CDaoRecordset::IsFieldDirty(void *)\n6591 int CDaoRecordset::IsFieldNull(void *)\n6592 int CDaoRecordset::IsFieldNullable(void *)\n6593 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6594 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6595 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6596 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6597 int CDaoRecordset::IsMatch()\n6598 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6599 int CDaoRecordView::IsOnFirstRecord()\n6600 int CDaoRecordView::IsOnLastRecord()\n6601 int CDaoFieldExchange::IsValidOperation()\n6602 void CDaoRecordset::LoadFields()\n6603 void CDaoRecordset::MarkForAddNew()\n6604 void CDaoRecordset::MarkForEdit()\n6605 void CDaoRecordset::Move(long)\n6606 void CDaoRecordset::MoveFirst()\n6607 void CDaoRecordset::MoveLast()\n6608 void CDaoRecordset::MoveNext()\n6609 void CDaoRecordset::MovePrev()\n6610 void CDaoRecordView::OnInitialUpdate()\n6611 int CDaoRecordView::OnMove(unsigned int)\n6612 void CDaoDatabase::Open(char const *,int,int,char const *)\n6613 void CDaoQueryDef::Open(char const *)\n6614 void CDaoRecordset::Open(int,char const *,int)\n6615 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6616 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6617 void CDaoTableDef::Open(char const *)\n6618 void CDaoWorkspace::Open(char const *)\n6619 void CDaoTableDef::RefreshLink()\n6620 void CDaoWorkspace::RepairDatabase(char const *)\n6621 void CDaoRecordset::Requery()\n6622 void CDaoWorkspace::Rollback()\n6623 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n6624 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n6625 void CDaoRecordset::SetAbsolutePosition(long)\n6626 void CDaoTableDef::SetAttributes(long)\n6627 void CDaoRecordset::SetBookmark(COleVariant)\n6628 void CDaoRecordset::SetCacheSize(long)\n6629 void CDaoRecordset::SetCacheStart(COleVariant)\n6630 void CDaoQueryDef::SetConnect(char const *)\n6631 void CDaoTableDef::SetConnect(char const *)\n6632 void CDaoRecordset::SetCurrentIndex(char const *)\n6633 void CDaoRecordset::SetCursorAttributes()\n6634 void CDaoWorkspace::SetDefaultPassword(char const *)\n6635 void CDaoWorkspace::SetDefaultUser(char const *)\n6636 void CDaoRecordset::SetDirtyFields()\n6637 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6638 void CDaoRecordset::SetFieldDirty(void *,int)\n6639 void CDaoRecordset::SetFieldNull(void *,int)\n6640 void CDaoRecordset::SetFieldValue(int,char const *)\n6641 void CDaoRecordset::SetFieldValue(char const *,char const *)\n6642 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6643 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n6644 void CDaoRecordset::SetFieldValueNull(int)\n6645 void CDaoRecordset::SetFieldValueNull(char const *)\n6646 void CDaoWorkspace::SetIniPath(char const *)\n6647 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6648 void CDaoRecordset::SetLockingMode(int)\n6649 void CDaoWorkspace::SetLoginTimeout(short)\n6650 void CDaoQueryDef::SetName(char const *)\n6651 void CDaoTableDef::SetName(char const *)\n6652 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6653 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6654 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6655 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6656 void CDaoQueryDef::SetODBCTimeout(short)\n6657 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6658 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n6659 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6660 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n6661 void CDaoQueryDef::SetParamValueNull(int)\n6662 void CDaoQueryDef::SetParamValueNull(char const *)\n6663 void CDaoRecordset::SetParamValueNull(int)\n6664 void CDaoRecordset::SetParamValueNull(char const *)\n6665 void CDaoRecordset::SetPercentPosition(float)\n6666 void CDaoDatabase::SetQueryTimeout(short)\n6667 void CDaoQueryDef::SetReturnsRecords(int)\n6668 void CDaoTableDef::SetSourceTableName(char const *)\n6669 void CDaoQueryDef::SetSQL(char const *)\n6670 void CDaoTableDef::SetValidationRule(char const *)\n6671 void CDaoTableDef::SetValidationText(char const *)\n6672 void CDaoRecordset::StoreFields()\n6673 void CDaoRecordset::StripBrackets(char const *,char *)\n6674 void CDaoDatabase::ThrowDaoException(int)\n6675 void CDaoQueryDef::ThrowDaoException(int)\n6676 void CDaoRecordset::ThrowDaoException(int)\n6677 void CDaoTableDef::ThrowDaoException(int)\n6678 void CDaoWorkspace::ThrowDaoException(int)\n6679 void ThrowGetRowsDaoException(long)\n6680 void CDaoRecordset::Update()\n6681 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6682 CRuntimeconst CDaoException::classCDaoException\n6683 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6684 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6685 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6686 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6687 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6688 CRuntimeconst CDatabase::classCDatabase\n6689 CRuntimeconst CDBException::classCDBException\n6690 CRuntimeconst CLongBinary::classCLongBinary\n6691 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6692 CRuntimeconst CRecordset::classCRecordset\n6693 CRuntimeconst CRecordView::classCRecordView\n6694 AFX_MSGMAP const CDaoRecordView::messageMap\n6695 AFX_MSGMAP const COleDBRecordView::messageMap\n6696 AFX_MSGMAP const CRecordView::messageMap\n6697 _AFX_DAO_STATE * AfxGetDaoState()\n6698 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6699 _AFX_DAO_STATE::_AFX_DAO_STATE()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc71d.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 void DumpElements<COleVariant>(CDumpContext &,COleVariant const *,int)\n258 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n259 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n260 unsigned int HashKey<char const *>(char const *)\n261 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n262 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n263 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n264 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n265 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n317 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n318 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n319 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n320 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n321 _AFX_OLE_STATE::_AFX_OLE_STATE()\n322 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n323 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n324 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n325 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n326 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n327 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n328 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n329 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n330 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n331 CAnimateCtrl::CAnimateCtrl()\n332 CArchive::CArchive(CArchive const &)\n333 CArchive::CArchive(CFile *,unsigned int,int,void *)\n334 CArchiveException::CArchiveException(int,char const *)\n335 CArchivePropExchange::CArchivePropExchange(CArchive &)\n336 CArchiveStream::CArchiveStream(CArchive *)\n337 CAsyncMonikerFile::CAsyncMonikerFile()\n338 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n339 CAsyncSocket::CAsyncSocket()\n340 CBitmap::CBitmap()\n341 CBitmapButton::CBitmapButton()\n342 CBlobProperty::CBlobProperty(void *)\n343 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n344 CBrush::CBrush(int,unsigned long)\n345 CBrush::CBrush(unsigned long)\n346 CBrush::CBrush(CBitmap *)\n347 CBrush::CBrush()\n348 CButton::CButton()\n349 CByteArray::CByteArray()\n350 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n351 CCachedDataPathProperty::CCachedDataPathProperty(char const *,COleControl *)\n352 CCheckListBox::CCheckListBox()\n353 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n354 CClientDC::CClientDC(CWnd *)\n355 CCmdTarget::CCmdTarget()\n356 CCmdUI::CCmdUI()\n357 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n358 CComboBox::CComboBox()\n359 CComboBoxEx::CComboBoxEx()\n360 CCommandLineInfo::CCommandLineInfo()\n361 CCommonDialog::CCommonDialog(CWnd *)\n362 CConnectionPoint::CConnectionPoint()\n363 CControlBar::CControlBar()\n364 CControlBarInfo::CControlBarInfo()\n365 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n366 CControlFrameWnd::CControlFrameWnd(COleControl *)\n367 CCreateContext::CCreateContext()\n368 CCriticalSection::CCriticalSection()\n369 CCtrlView::CCtrlView(char const *,unsigned long)\n370 CDatabase::CDatabase()\n371 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n372 CDataExchange::CDataExchange(CWnd *,int)\n373 CDataPathProperty::CDataPathProperty(COleControl *)\n374 CDataPathProperty::CDataPathProperty(char const *,COleControl *)\n375 CDataSourceControl::CDataSourceControl(COleControlSite *)\n376 CDateTimeCtrl::CDateTimeCtrl()\n377 CDBException::CDBException(short)\n378 CDBVariant::CDBVariant()\n379 CDC::CDC()\n380 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n381 CDHtmlControlSink::CDHtmlControlSink()\n382 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n383 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n384 CDHtmlDialog::CDHtmlDialog()\n385 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n386 CDialog::CDialog(unsigned int,CWnd *)\n387 CDialog::CDialog(char const *,CWnd *)\n388 CDialog::CDialog()\n389 CDialogBar::CDialogBar()\n390 CDialogTemplate::CDialogTemplate(void *)\n391 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n392 CDocItem::CDocItem()\n393 CDockBar::CDockBar(int)\n394 CDockContext::CDockContext(CControlBar *)\n395 CDockState::CDockState()\n396 CDocManager::CDocManager()\n397 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n398 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n399 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n400 CDocument::CDocument()\n401 CDragListBox::CDragListBox()\n402 CDumpContext::CDumpContext(CDumpContext const &)\n403 CDumpContext::CDumpContext(CFile *)\n404 CDWordArray::CDWordArray()\n405 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n406 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n407 CEdit::CEdit()\n408 CEditView::CEditView()\n409 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n410 CEnumConnections::CEnumConnections(void const *,unsigned int)\n411 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n412 CEnumFormatEtc::CEnumFormatEtc()\n413 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n414 CException::CException(int)\n415 CException::CException()\n416 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n417 CFile::CFile(void *)\n418 CFile::CFile(char const *,unsigned int)\n419 CFile::CFile()\n420 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n421 CFileException::CFileException(int,long,char const *)\n422 CFileFind::CFileFind()\n423 CFindReplaceDialog::CFindReplaceDialog()\n424 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n425 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n426 CFont::CFont()\n427 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n428 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n429 CFontHolder::CFontHolder(IPropertyNotifySink *)\n430 CFormView::CFormView(unsigned int)\n431 CFormView::CFormView(char const *)\n432 CFrameWnd::CFrameWnd()\n433 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n434 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n435 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n436 CGdiObject::CGdiObject()\n437 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n438 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n439 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n440 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n441 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n442 CGopherLocator::CGopherLocator(char const *,unsigned long)\n443 CGopherLocator::CGopherLocator(CGopherLocator const &)\n444 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n445 CHeaderCtrl::CHeaderCtrl()\n446 CHotKeyCtrl::CHotKeyCtrl()\n447 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n448 CHtmlEditCtrl::CHtmlEditCtrl()\n449 CHtmlEditDoc::CHtmlEditDoc()\n450 CHtmlEditView::CHtmlEditView()\n451 CHtmlView::CHtmlView()\n452 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n453 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n454 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n455 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n456 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n457 CImageList::CImageList()\n458 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n459 CInternetException::CInternetException(unsigned long)\n460 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n461 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n462 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n463 CInvalidArgException::CInvalidArgException(int,unsigned int)\n464 CInvalidArgException::CInvalidArgException()\n465 CIPAddressCtrl::CIPAddressCtrl()\n466 CListBox::CListBox()\n467 CListCtrl::CListCtrl()\n468 CListView::CListView()\n469 CLongBinary::CLongBinary()\n470 CMapPtrToPtr::CMapPtrToPtr(int)\n471 CMapPtrToWord::CMapPtrToWord(int)\n472 CMapStringToOb::CMapStringToOb(int)\n473 CMapStringToPtr::CMapStringToPtr(int)\n474 CMapStringToString::CMapStringToString(int)\n475 CMapWordToOb::CMapWordToOb(int)\n476 CMapWordToPtr::CMapWordToPtr(int)\n477 CMDIChildWnd::CMDIChildWnd()\n478 CMDIFrameWnd::CMDIFrameWnd()\n479 CMemFile::CMemFile(unsigned int)\n480 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n481 CMemoryException::CMemoryException(int,unsigned int)\n482 CMemoryException::CMemoryException()\n483 CMemoryState::CMemoryState()\n484 CMenu::CMenu()\n485 CMetaFileDC::CMetaFileDC()\n486 CMiniDockFrameWnd::CMiniDockFrameWnd()\n487 CMiniFrameWnd::CMiniFrameWnd()\n488 CMonikerFile::CMonikerFile()\n489 CMonthCalCtrl::CMonthCalCtrl()\n490 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n491 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n492 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n493 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n494 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n495 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n496 CNotSupportedException::CNotSupportedException(int,unsigned int)\n497 CNotSupportedException::CNotSupportedException()\n498 CObArray::CObArray()\n499 CObject::CObject()\n500 CObList::CObList(int)\n501 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n502 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n503 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n504 COleClientItem::COleClientItem(COleDocument *)\n505 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n506 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n507 COleControl::COleControl()\n508 COleControlContainer::COleControlContainer(CWnd *)\n509 COleControlLock::COleControlLock(_GUID const &)\n510 COleControlSite::COleControlSite(COleControlContainer *)\n511 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n512 COleCurrency::COleCurrency(tagVARIANT const &)\n513 COleCurrency::COleCurrency(COleCurrency const &)\n514 COleCurrency::COleCurrency(long,long)\n515 COleCurrency::COleCurrency(union tagCY)\n516 COleCurrency::COleCurrency()\n517 COleDataObject::COleDataObject()\n518 COleDataSource::COleDataSource()\n519 COleDialog::COleDialog(CWnd *)\n520 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n521 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n522 COleDispatchDriver::COleDispatchDriver()\n523 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n524 COleDocIPFrameWnd::COleDocIPFrameWnd()\n525 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n526 COleDocument::COleDocument()\n527 COleDropSource::COleDropSource()\n528 COleDropTarget::COleDropTarget()\n529 COleException::COleException()\n530 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n531 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n532 COleIPFrameWnd::COleIPFrameWnd()\n533 COleLinkingDoc::COleLinkingDoc()\n534 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n535 COleMessageFilter::COleMessageFilter()\n536 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n537 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n538 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n539 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n540 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n541 COleResizeBar::COleResizeBar()\n542 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n543 COleSafeArray::COleSafeArray(tagVARIANT const &)\n544 COleSafeArray::COleSafeArray(COleSafeArray const &)\n545 COleSafeArray::COleSafeArray(COleVariant const &)\n546 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n547 COleSafeArray::COleSafeArray(tagVARIANT const *)\n548 COleSafeArray::COleSafeArray()\n549 COleServerDoc::COleServerDoc()\n550 COleServerItem::COleServerItem(COleServerDoc *,int)\n551 COleStreamFile::COleStreamFile(IStream *)\n552 COleTemplateServer::COleTemplateServer()\n553 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n554 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n555 COleVariant::COleVariant(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n556 COleVariant::COleVariant(tagVARIANT const &)\n557 COleVariant::COleVariant(COleVariant const &)\n558 COleVariant::COleVariant(CByteArray const &)\n559 COleVariant::COleVariant(CLongBinary const &)\n560 COleVariant::COleVariant(COleCurrency const &)\n561 COleVariant::COleVariant(ATL::COleDateTime const &)\n562 COleVariant::COleVariant(unsigned char)\n563 COleVariant::COleVariant(short,unsigned short)\n564 COleVariant::COleVariant(long,unsigned short)\n565 COleVariant::COleVariant(float)\n566 COleVariant::COleVariant(double)\n567 COleVariant::COleVariant(char const *)\n568 COleVariant::COleVariant(char const *,unsigned short)\n569 COleVariant::COleVariant(_ITEMIDLIST const *)\n570 COleVariant::COleVariant(tagVARIANT const *)\n571 COleVariant::COleVariant()\n572 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n573 CPaintDC::CPaintDC(CWnd *)\n574 CPalette::CPalette()\n575 CPen::CPen(int,int,unsigned long)\n576 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n577 CPen::CPen()\n578 CPictureHolder::CPictureHolder()\n579 CPreviewDC::CPreviewDC()\n580 CPreviewView::CPreviewView()\n581 CPrintDialog::CPrintDialog(tagPDA &)\n582 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n583 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n584 CPrintInfo::CPrintInfo()\n585 CPrintPreviewState::CPrintPreviewState()\n586 CProgressCtrl::CProgressCtrl()\n587 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n588 CProperty::CProperty(unsigned long,void * const,unsigned long)\n589 CProperty::CProperty()\n590 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n591 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n592 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n593 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n594 CPropertyPage::CPropertyPage()\n595 CPropertySection::CPropertySection(_GUID)\n596 CPropertySection::CPropertySection()\n597 CPropertySet::CPropertySet(_GUID)\n598 CPropertySet::CPropertySet()\n599 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n600 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n601 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n602 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n603 CPropertySheet::CPropertySheet()\n604 CPropExchange::CPropExchange()\n605 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n606 CPtrArray::CPtrArray()\n607 CPtrList::CPtrList(int)\n608 CReBar::CReBar()\n609 CReBarCtrl::CReBarCtrl()\n610 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n611 CRecordset::CRecordset(CDatabase *)\n612 CRecordView::CRecordView(unsigned int)\n613 CRecordView::CRecordView(char const *)\n614 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n615 CRectTracker::CRectTracker()\n616 CReObject::CReObject(CRichEditCntrItem *)\n617 CReObject::CReObject()\n618 CResetPropExchange::CResetPropExchange()\n619 CResourceException::CResourceException(int,unsigned int)\n620 CResourceException::CResourceException()\n621 CRgn::CRgn()\n622 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n623 CRichEditCtrl::CRichEditCtrl()\n624 CRichEditDoc::CRichEditDoc()\n625 CRichEditView::CRichEditView()\n626 CScrollBar::CScrollBar()\n627 CScrollView::CScrollView()\n628 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n629 CSharedFile::CSharedFile(unsigned int,unsigned int)\n630 CSimpleException::CSimpleException(int)\n631 CSimpleException::CSimpleException()\n632 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n633 CSingleLock::CSingleLock(CSyncObject *,int)\n634 CSliderCtrl::CSliderCtrl()\n635 CSocket::CSocket()\n636 CSocketFile::CSocketFile(CSocket *,int)\n637 CSocketWnd::CSocketWnd()\n638 CSpinButtonCtrl::CSpinButtonCtrl()\n639 CSplitterWnd::CSplitterWnd()\n640 CStatic::CStatic()\n641 CStatusBar::CStatusBar()\n642 CStatusBarCtrl::CStatusBarCtrl()\n643 CStdioFile::CStdioFile(_iobuf *)\n644 CStdioFile::CStdioFile(char const *,unsigned int)\n645 CStdioFile::CStdioFile()\n646 CStringArray::CStringArray()\n647 CStringList::CStringList(int)\n648 CSyncObject::CSyncObject(char const *)\n649 CTabCtrl::CTabCtrl()\n650 CTestCmdUI::CTestCmdUI()\n651 CThreadSlotData::CThreadSlotData()\n652 CToolBar::CToolBar()\n653 CToolBarCtrl::CToolBarCtrl()\n654 CToolTipCtrl::CToolTipCtrl()\n655 CTreeCtrl::CTreeCtrl()\n656 CTreeView::CTreeView()\n657 CUIntArray::CUIntArray()\n658 CUserException::CUserException(int,unsigned int)\n659 CUserException::CUserException()\n660 CView::CView()\n661 CWaitCursor::CWaitCursor()\n662 CWinApp::CWinApp(char const *)\n663 CWindowDC::CWindowDC(CWnd *)\n664 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n665 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n666 CWinThread::CWinThread()\n667 CWnd::CWnd(HWND__ *)\n668 CWnd::CWnd()\n669 CWordArray::CWordArray()\n670 CPreviewView::PAGE_INFO::PAGE_INFO()\n671 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n672 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n673 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n675 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n676 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n677 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n678 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n679 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n680 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n681 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n682 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n683 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n684 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n685 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n686 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n687 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n688 CAnimateCtrl::~CAnimateCtrl()\n689 CArchive::~CArchive()\n690 CArchiveException::~CArchiveException()\n691 CAsyncMonikerFile::~CAsyncMonikerFile()\n692 CAsyncSocket::~CAsyncSocket()\n693 CBitmap::~CBitmap()\n694 CBrush::~CBrush()\n695 CButton::~CButton()\n696 CByteArray::~CByteArray()\n697 CClientDC::~CClientDC()\n698 CCmdTarget::~CCmdTarget()\n699 CComboBox::~CComboBox()\n700 CComboBoxEx::~CComboBoxEx()\n701 CCommandLineInfo::~CCommandLineInfo()\n702 CConnectionPoint::~CConnectionPoint()\n703 CControlBar::~CControlBar()\n704 CCriticalSection::~CCriticalSection()\n705 CCtrlView::~CCtrlView()\n706 CDatabase::~CDatabase()\n707 CDataSourceControl::~CDataSourceControl()\n708 CDateTimeCtrl::~CDateTimeCtrl()\n709 CDBException::~CDBException()\n710 CDBVariant::~CDBVariant()\n711 CDC::~CDC()\n712 CDHtmlControlSink::~CDHtmlControlSink()\n713 CDHtmlDialog::~CDHtmlDialog()\n714 CDialog::~CDialog()\n715 CDialogBar::~CDialogBar()\n716 CDialogTemplate::~CDialogTemplate()\n717 CDocItem::~CDocItem()\n718 CDockBar::~CDockBar()\n719 CDockContext::~CDockContext()\n720 CDockState::~CDockState()\n721 CDocManager::~CDocManager()\n722 CDocObjectServer::~CDocObjectServer()\n723 CDocObjectServerItem::~CDocObjectServerItem()\n724 CDocTemplate::~CDocTemplate()\n725 CDocument::~CDocument()\n726 CDragListBox::~CDragListBox()\n727 CDWordArray::~CDWordArray()\n728 CDynLinkLibrary::~CDynLinkLibrary()\n729 CEdit::~CEdit()\n730 CEditView::~CEditView()\n731 CEnumArray::~CEnumArray()\n732 CEnumConnections::~CEnumConnections()\n733 CEnumConnPoints::~CEnumConnPoints()\n734 CEnumFormatEtc::~CEnumFormatEtc()\n735 CEnumOleVerb::~CEnumOleVerb()\n736 CEnumUnknown::~CEnumUnknown()\n737 CEvent::~CEvent()\n738 CException::~CException()\n739 CFile::~CFile()\n740 CFileDialog::~CFileDialog()\n741 CFileException::~CFileException()\n742 CFileFind::~CFileFind()\n743 CFixedAlloc::~CFixedAlloc()\n744 CFixedAllocNoSync::~CFixedAllocNoSync()\n745 CFont::~CFont()\n746 CFontHolder::~CFontHolder()\n747 CFrameWnd::~CFrameWnd()\n748 CFtpConnection::~CFtpConnection()\n749 CFtpFileFind::~CFtpFileFind()\n750 CGdiObject::~CGdiObject()\n751 CGopherConnection::~CGopherConnection()\n752 CGopherFile::~CGopherFile()\n753 CGopherFileFind::~CGopherFileFind()\n754 CGopherLocator::~CGopherLocator()\n755 CHeaderCtrl::~CHeaderCtrl()\n756 CHotKeyCtrl::~CHotKeyCtrl()\n757 CHtmlControlSite::~CHtmlControlSite()\n758 CHtmlEditCtrl::~CHtmlEditCtrl()\n759 CHtmlEditDoc::~CHtmlEditDoc()\n760 CHtmlEditView::~CHtmlEditView()\n761 CHtmlView::~CHtmlView()\n762 CHttpConnection::~CHttpConnection()\n763 CHttpFile::~CHttpFile()\n764 CImageList::~CImageList()\n765 CInternetConnection::~CInternetConnection()\n766 CInternetException::~CInternetException()\n767 CInternetFile::~CInternetFile()\n768 CInternetSession::~CInternetSession()\n769 CInvalidArgException::~CInvalidArgException()\n770 CIPAddressCtrl::~CIPAddressCtrl()\n771 CListBox::~CListBox()\n772 CListCtrl::~CListCtrl()\n773 CLongBinary::~CLongBinary()\n774 CMapPtrToPtr::~CMapPtrToPtr()\n775 CMapPtrToWord::~CMapPtrToWord()\n776 CMapStringToOb::~CMapStringToOb()\n777 CMapStringToPtr::~CMapStringToPtr()\n778 CMapStringToString::~CMapStringToString()\n779 CMapWordToOb::~CMapWordToOb()\n780 CMapWordToPtr::~CMapWordToPtr()\n781 CMemFile::~CMemFile()\n782 CMemoryException::~CMemoryException()\n783 CMenu::~CMenu()\n784 CMetaFileDC::~CMetaFileDC()\n785 CMiniFrameWnd::~CMiniFrameWnd()\n786 CMonikerFile::~CMonikerFile()\n787 CMonthCalCtrl::~CMonthCalCtrl()\n788 CMultiDocTemplate::~CMultiDocTemplate()\n789 CMultiLock::~CMultiLock()\n790 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n791 CMutex::~CMutex()\n792 CNotSupportedException::~CNotSupportedException()\n793 CObArray::~CObArray()\n794 CObject::~CObject()\n795 CObList::~CObList()\n796 COleBusyDialog::~COleBusyDialog()\n797 COleChangeIconDialog::~COleChangeIconDialog()\n798 COleChangeSourceDialog::~COleChangeSourceDialog()\n799 COleClientItem::~COleClientItem()\n800 COleCntrFrameWnd::~COleCntrFrameWnd()\n801 COleControl::~COleControl()\n802 COleControlContainer::~COleControlContainer()\n803 COleControlLock::~COleControlLock()\n804 COleControlSite::~COleControlSite()\n805 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n806 COleConvertDialog::~COleConvertDialog()\n807 COleDataObject::~COleDataObject()\n808 COleDataSource::~COleDataSource()\n809 COleDispatchDriver::~COleDispatchDriver()\n810 COleDispatchException::~COleDispatchException()\n811 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n812 COleDocObjectItem::~COleDocObjectItem()\n813 COleDocument::~COleDocument()\n814 COleDropTarget::~COleDropTarget()\n815 COleException::~COleException()\n816 COleFrameHook::~COleFrameHook()\n817 COleInsertDialog::~COleInsertDialog()\n818 COleIPFrameWnd::~COleIPFrameWnd()\n819 COleLinkingDoc::~COleLinkingDoc()\n820 COleLinksDialog::~COleLinksDialog()\n821 COleMessageFilter::~COleMessageFilter()\n822 COleObjectFactory::~COleObjectFactory()\n823 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n824 COlePropertyPage::~COlePropertyPage()\n825 COleResizeBar::~COleResizeBar()\n826 COleSafeArray::~COleSafeArray()\n827 COleServerDoc::~COleServerDoc()\n828 COleServerItem::~COleServerItem()\n829 COleStreamFile::~COleStreamFile()\n830 COleUpdateDialog::~COleUpdateDialog()\n831 COleVariant::~COleVariant()\n832 CPaintDC::~CPaintDC()\n833 CPalette::~CPalette()\n834 CPen::~CPen()\n835 CPictureHolder::~CPictureHolder()\n836 CPreviewDC::~CPreviewDC()\n837 CPreviewView::~CPreviewView()\n838 CPrintInfo::~CPrintInfo()\n839 CProcessLocalObject::~CProcessLocalObject()\n840 CProgressCtrl::~CProgressCtrl()\n841 CPropbagPropExchange::~CPropbagPropExchange()\n842 CProperty::~CProperty()\n843 CPropertyPage::~CPropertyPage()\n844 CPropertySection::~CPropertySection()\n845 CPropertySet::~CPropertySet()\n846 CPropertySheet::~CPropertySheet()\n847 CPtrArray::~CPtrArray()\n848 CPtrList::~CPtrList()\n849 CRecentFileList::~CRecentFileList()\n850 CRecordset::~CRecordset()\n851 CRecordView::~CRecordView()\n852 CRectTracker::~CRectTracker()\n853 CReObject::~CReObject()\n854 CResourceException::~CResourceException()\n855 CRgn::~CRgn()\n856 CRichEditCntrItem::~CRichEditCntrItem()\n857 CRichEditCtrl::~CRichEditCtrl()\n858 CScrollBar::~CScrollBar()\n859 CScrollView::~CScrollView()\n860 CSemaphore::~CSemaphore()\n861 CSharedFile::~CSharedFile()\n862 CSimpleException::~CSimpleException()\n863 CSingleDocTemplate::~CSingleDocTemplate()\n864 CSingleLock::~CSingleLock()\n865 CSliderCtrl::~CSliderCtrl()\n866 CSocket::~CSocket()\n867 CSocketFile::~CSocketFile()\n868 CSpinButtonCtrl::~CSpinButtonCtrl()\n869 CSplitterWnd::~CSplitterWnd()\n870 CStatic::~CStatic()\n871 CStatusBar::~CStatusBar()\n872 CStatusBarCtrl::~CStatusBarCtrl()\n873 CStdioFile::~CStdioFile()\n874 CStringArray::~CStringArray()\n875 CStringList::~CStringList()\n876 CSyncObject::~CSyncObject()\n877 CTabCtrl::~CTabCtrl()\n878 CThreadLocalObject::~CThreadLocalObject()\n879 CThreadSlotData::~CThreadSlotData()\n880 CToolBar::~CToolBar()\n881 CToolBarCtrl::~CToolBarCtrl()\n882 CToolTipCtrl::~CToolTipCtrl()\n883 CTreeCtrl::~CTreeCtrl()\n884 CUIntArray::~CUIntArray()\n885 CUserException::~CUserException()\n886 CView::~CView()\n887 CWaitCursor::~CWaitCursor()\n888 CWinApp::~CWinApp()\n889 CWindowDC::~CWindowDC()\n890 CWinThread::~CWinThread()\n891 CWnd::~CWnd()\n892 CWordArray::~CWordArray()\n893 void * operator new(unsigned int)\n894 void * operator new(unsigned int,int,char const *,int)\n895 void * operator new(unsigned int,char const *,int)\n896 void * CNoTrackObject::operator new(unsigned int)\n897 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n898 void * CObject::operator new(unsigned int)\n899 void * CObject::operator new(unsigned int,void *)\n900 void * CObject::operator new(unsigned int,char const *,int)\n901 void operator delete(void *)\n902 void operator delete(void *,int,char const *,int)\n903 void operator delete(void *,char const *,int)\n904 void CException::operator delete(void *)\n905 void CException::operator delete(void *,char const *,int)\n906 void CNoTrackObject::operator delete(void *)\n907 void CNoTrackObject::operator delete(void *,char const *,int)\n908 void CObject::operator delete(void *)\n909 void CObject::operator delete(void *,void *)\n910 void CObject::operator delete(void *,char const *,int)\n911 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n912 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n913 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n914 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n915 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n916 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n919 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n920 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n921 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n922 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n923 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n926 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n927 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n928 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n929 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n930 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n931 void CArchive::operator=(CArchive const &)\n932 void CDumpContext::operator=(CDumpContext const &)\n933 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n934 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n935 COleCurrency const & COleCurrency::operator=(union tagCY)\n936 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n937 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n938 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n939 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n940 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n941 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n942 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n943 COleVariant const & COleVariant::operator=(COleVariant const &)\n944 COleVariant const & COleVariant::operator=(CByteArray const &)\n945 COleVariant const & COleVariant::operator=(CLongBinary const &)\n946 COleVariant const & COleVariant::operator=(COleCurrency const &)\n947 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n948 COleVariant const & COleVariant::operator=(unsigned char)\n949 COleVariant const & COleVariant::operator=(short)\n950 COleVariant const & COleVariant::operator=(long)\n951 COleVariant const & COleVariant::operator=(float)\n952 COleVariant const & COleVariant::operator=(double)\n953 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n954 COleVariant const & COleVariant::operator=(char const * const)\n955 CArchive & operator>>(CArchive &,CByteArray * &)\n956 CArchive & operator>>(CArchive &,CDocItem * &)\n957 CArchive & operator>>(CArchive &,CDockState * &)\n958 CArchive & operator>>(CArchive &,CDWordArray * &)\n959 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n960 CArchive & operator>>(CArchive &,CMapStringToString * &)\n961 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n962 CArchive & operator>>(CArchive &,CObArray * &)\n963 CArchive & operator>>(CArchive &,CObject * &)\n964 CArchive & operator>>(CArchive &,CObList * &)\n965 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n966 CArchive & operator>>(CArchive &,CStringArray * &)\n967 CArchive & operator>>(CArchive &,CStringList * &)\n968 CArchive & operator>>(CArchive &,CWordArray * &)\n969 CArchive & operator>>(CArchive &,CObject const * &)\n970 CArchive & operator>>(CArchive &,tagPOINT &)\n971 CArchive & operator>>(CArchive &,tagRECT &)\n972 CArchive & operator>>(CArchive &,tagSIZE &)\n973 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n974 CArchive & operator>>(CArchive &,COleCurrency &)\n975 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n976 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n977 CArchive & operator>>(CArchive &,COleVariant &)\n978 CArchive & operator>>(CArchive &,ATL::CTime &)\n979 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n980 CArchive & CArchive::operator>>(__int64 &)\n981 CArchive & CArchive::operator>>(unsigned __int64 &)\n982 CArchive & CArchive::operator>>(bool &)\n983 CArchive & CArchive::operator>>(wchar_t &)\n984 CArchive & CArchive::operator>>(char &)\n985 CArchive & CArchive::operator>>(unsigned char &)\n986 CArchive & CArchive::operator>>(short &)\n987 CArchive & CArchive::operator>>(unsigned short &)\n988 CArchive & CArchive::operator>>(int &)\n989 CArchive & CArchive::operator>>(unsigned int &)\n990 CArchive & CArchive::operator>>(long &)\n991 CArchive & CArchive::operator>>(unsigned long &)\n992 CArchive & CArchive::operator>>(float &)\n993 CArchive & CArchive::operator>>(double &)\n994 CArchive & operator<<(CArchive &,tagRECT const &)\n995 CArchive & operator<<(CArchive &,CObject const *)\n996 CArchive & operator<<(CArchive &,tagPOINT)\n997 CArchive & operator<<(CArchive &,tagSIZE)\n998 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n999 CArchive & operator<<(CArchive &,COleCurrency)\n1000 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1001 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1002 CArchive & operator<<(CArchive &,COleVariant)\n1003 CArchive & operator<<(CArchive &,ATL::CTime)\n1004 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1005 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1006 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1007 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1008 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1009 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1010 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1011 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1012 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1013 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1014 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1015 CArchive & CArchive::operator<<(__int64)\n1016 CArchive & CArchive::operator<<(unsigned __int64)\n1017 CArchive & CArchive::operator<<(bool)\n1018 CArchive & CArchive::operator<<(wchar_t)\n1019 CArchive & CArchive::operator<<(char)\n1020 CArchive & CArchive::operator<<(unsigned char)\n1021 CArchive & CArchive::operator<<(short)\n1022 CArchive & CArchive::operator<<(unsigned short)\n1023 CArchive & CArchive::operator<<(int)\n1024 CArchive & CArchive::operator<<(unsigned int)\n1025 CArchive & CArchive::operator<<(long)\n1026 CArchive & CArchive::operator<<(unsigned long)\n1027 CArchive & CArchive::operator<<(float)\n1028 CArchive & CArchive::operator<<(double)\n1029 CDumpContext & CDumpContext::operator<<(__int64)\n1030 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1031 CDumpContext & CDumpContext::operator<<(CObject const &)\n1032 CDumpContext & CDumpContext::operator<<(unsigned char)\n1033 CDumpContext & CDumpContext::operator<<(unsigned short)\n1034 CDumpContext & CDumpContext::operator<<(int)\n1035 CDumpContext & CDumpContext::operator<<(unsigned int)\n1036 CDumpContext & CDumpContext::operator<<(long)\n1037 CDumpContext & CDumpContext::operator<<(unsigned long)\n1038 CDumpContext & CDumpContext::operator<<(float)\n1039 CDumpContext & CDumpContext::operator<<(double)\n1040 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1041 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1042 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1043 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1044 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1045 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1046 CDumpContext & CDumpContext::operator<<(char const *)\n1047 CDumpContext & CDumpContext::operator<<(CObject const *)\n1048 CDumpContext & CDumpContext::operator<<(void const *)\n1049 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n1050 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n1051 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n1052 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n1053 int CGdiObject::operator==(CGdiObject const &)const \n1054 int CMenu::operator==(CMenu const &)const \n1055 int COleCurrency::operator==(COleCurrency const &)const \n1056 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1057 int COleSafeArray::operator==(tagVARIANT const &)const \n1058 int COleSafeArray::operator==(COleSafeArray const &)const \n1059 int COleSafeArray::operator==(COleVariant const &)const \n1060 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1061 int COleSafeArray::operator==(tagVARIANT const *)const \n1062 int COleVariant::operator==(tagVARIANT const &)const \n1063 int COleVariant::operator==(tagVARIANT const *)const \n1064 int CWnd::operator==(CWnd const &)const \n1065 int CGdiObject::operator!=(CGdiObject const &)const \n1066 int CMenu::operator!=(CMenu const &)const \n1067 int COleCurrency::operator!=(COleCurrency const &)const \n1068 int CWnd::operator!=(CWnd const &)const \n1069 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1070 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1071 unsigned char & CByteArray::operator[](int)\n1072 unsigned char CByteArray::operator[](int)const \n1073 unsigned long & CDWordArray::operator[](int)\n1074 unsigned long CDWordArray::operator[](int)const \n1075 void * & CMapPtrToPtr::operator[](void *)\n1076 unsigned short & CMapPtrToWord::operator[](void *)\n1077 CObject * & CMapStringToOb::operator[](char const *)\n1078 void * & CMapStringToPtr::operator[](char const *)\n1079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n1080 CObject * & CMapWordToOb::operator[](unsigned short)\n1081 void * & CMapWordToPtr::operator[](unsigned short)\n1082 CObject * & CObArray::operator[](int)\n1083 CObject * CObArray::operator[](int)const \n1084 void * & CPtrArray::operator[](int)\n1085 void * CPtrArray::operator[](int)const \n1086 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::operator[](int)\n1087 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::operator[](int)const \n1088 unsigned int & CUIntArray::operator[](int)\n1089 unsigned int CUIntArray::operator[](int)const \n1090 unsigned short & CWordArray::operator[](int)\n1091 unsigned short CWordArray::operator[](int)const \n1092 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n1093 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n1094 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n1095 ATL::CSimpleStringT<char,1>::operator char const *()const \n1096 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n1097 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n1098 CAsyncSocket::operator unsigned int()const \n1099 CBitmap::operator HBITMAP__ *()const \n1100 CBrush::operator HBRUSH__ *()const \n1101 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1102 CDC::operator HDC__ *()const \n1103 CFile::operator void *()const \n1104 CFont::operator HFONT__ *()const \n1105 CGdiObject::operator void *()const \n1106 CGopherLocator::operator char const *()const \n1107 CImageList::operator _IMAGELIST *()const \n1108 CInternetConnection::operator void *()const \n1109 CInternetFile::operator void *()const \n1110 CInternetSession::operator void *()const \n1111 CMenu::operator HMENU__ *()const \n1112 COleCurrency::operator union tagCY()const \n1113 COleDispatchDriver::operator IDispatch *()\n1114 COleSafeArray::operator tagVARIANT *()\n1115 COleSafeArray::operator tagVARIANT const *()const \n1116 COleVariant::operator tagVARIANT *()\n1117 COleVariant::operator tagVARIANT const *()const \n1118 CPalette::operator HPALETTE__ *()const \n1119 CPen::operator HPEN__ *()const \n1120 CRgn::operator HRGN__ *()const \n1121 CSyncObject::operator void *()const \n1122 CWinThread::operator void *()const \n1123 CWnd::operator HWND__ *()const \n1124 COleCurrency COleCurrency::operator*(long)const \n1125 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1126 COleCurrency COleCurrency::operator-()const \n1127 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1128 COleCurrency COleCurrency::operator/(long)const \n1129 int COleCurrency::operator<(COleCurrency const &)const \n1130 int COleCurrency::operator<=(COleCurrency const &)const \n1131 int COleCurrency::operator>(COleCurrency const &)const \n1132 int COleCurrency::operator>=(COleCurrency const &)const \n1133 COleCurrency const & COleCurrency::operator*=(long)\n1134 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1135 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1136 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1137 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1138 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1139 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1140 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1141 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1142 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1143 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1146 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1147 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1148 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1149 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1150 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1152 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1153 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1154 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1155 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1156 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1157 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1158 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1159 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1160 int _AfxAbortProc(HDC__ *,int)\n1161 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1162 int const _afxDBCS\n1163 int _AfxDeleteRegKey(char const *)\n1164 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1165 int _AfxSocketInit(WSAData *)\n1166 void CArchive::Abort()\n1167 void CFile::Abort()\n1168 void CInternetFile::Abort()\n1169 void CMemFile::Abort()\n1170 void CMirrorFile::Abort()\n1171 void COleStreamFile::Abort()\n1172 void CSocketFile::Abort()\n1173 void CStdioFile::Abort()\n1174 int CDC::AbortDoc()\n1175 int CDC::AbortPath()\n1176 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1177 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1178 long CWnd::accDoDefaultAction(tagVARIANT)\n1179 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1180 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1181 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1182 void COleSafeArray::AccessData(void * *)\n1183 long CWnd::accHitTest(long,long,tagVARIANT *)\n1184 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1185 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1186 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1187 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1188 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1189 long CWnd::accSelect(long,tagVARIANT)\n1190 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1191 void COleClientItem::Activate(long,CView *,tagMSG *)\n1192 void CToolTipCtrl::Activate(int)\n1193 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1194 void COleDocObjectItem::ActivateAndShow()\n1195 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1196 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1197 void CDocObjectServer::ActivateDocObject()\n1198 void COleServerDoc::ActivateDocObject()\n1199 void CFrameWnd::ActivateFrame(int)\n1200 void CMDIChildWnd::ActivateFrame(int)\n1201 int COleServerDoc::ActivateInPlace()\n1202 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1203 void CSplitterWnd::ActivateNext(int)\n1204 void CWnd::ActivateTopParent()\n1205 int CByteArray::Add(unsigned char)\n1206 int CDWordArray::Add(unsigned long)\n1207 int CImageList::Add(HICON__ *)\n1208 int CImageList::Add(CBitmap *,CBitmap *)\n1209 int CImageList::Add(CBitmap *,unsigned long)\n1210 int CObArray::Add(CObject *)\n1211 int CPtrArray::Add(void *)\n1212 void CRecentFileList::Add(char const *)\n1213 int CStringArray::Add(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1214 int CStringArray::Add(char const *)\n1215 int CUIntArray::Add(unsigned int)\n1216 int CWordArray::Add(unsigned short)\n1217 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n1218 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n1219 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1220 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1221 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1222 void COleClientItem::AddCachedData(COleDataSource *)\n1223 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1224 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1225 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1226 void CFrameWnd::AddControlBar(CControlBar *)\n1227 void CDocManager::AddDocTemplate(CDocTemplate *)\n1228 void CWinApp::AddDocTemplate(CDocTemplate *)\n1229 void CDocTemplate::AddDocument(CDocument *)\n1230 void CMultiDocTemplate::AddDocument(CDocument *)\n1231 void CSingleDocTemplate::AddDocument(CDocument *)\n1232 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1233 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n1234 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1235 void COleControl::AddFrameLevelUI()\n1236 void CFrameWnd::AddFrameWnd()\n1237 __POSITION * CObList::AddHead(CObject *)\n1238 void CObList::AddHead(CObList *)\n1239 __POSITION * CPtrList::AddHead(void *)\n1240 void CPtrList::AddHead(CPtrList *)\n1241 void CSimpleList::AddHead(void *)\n1242 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1243 __POSITION * CStringList::AddHead(char const *)\n1244 void CStringList::AddHead(CStringList *)\n1245 void COleDocument::AddItem(CDocItem *)\n1246 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1247 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1248 void CRecordset::AddNew()\n1249 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1250 void CPropertySheet::AddPage(CPropertyPage *)\n1251 void CPropertySection::AddProperty(CProperty *)\n1252 void CPropertySet::AddProperty(_GUID,CProperty *)\n1253 unsigned long CArchiveStream::AddRef()\n1254 unsigned long CBlobProperty::AddRef()\n1255 unsigned long CBrowserControlSite::AddRef()\n1256 unsigned long CDHtmlControlSink::AddRef()\n1257 unsigned long CDHtmlElementEventSink::AddRef()\n1258 unsigned long CDHtmlEventSink::AddRef()\n1259 unsigned long CInnerUnknown::AddRef()\n1260 unsigned long COleConnPtContainer::AddRef()\n1261 unsigned long COleDispatchImpl::AddRef()\n1262 unsigned long COleUILinkInfo::AddRef()\n1263 unsigned long CPrintDialogEx::AddRef()\n1264 unsigned long CWnd::XAccessible::AddRef()\n1265 unsigned long CWnd::XAccessibleServer::AddRef()\n1266 unsigned long COleClientItem::XAdviseSink::AddRef()\n1267 unsigned long COleControlSite::XAmbientProps::AddRef()\n1268 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1269 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1270 unsigned long CConnectionPoint::XConnPt::AddRef()\n1271 unsigned long COleControl::XDataObject::AddRef()\n1272 unsigned long COleDataSource::XDataObject::AddRef()\n1273 unsigned long COleServerDoc::XDataObject::AddRef()\n1274 unsigned long COleServerItem::XDataObject::AddRef()\n1275 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1276 unsigned long COleDropSource::XDropSource::AddRef()\n1277 unsigned long COleDropTarget::XDropTarget::AddRef()\n1278 unsigned long CEnumArray::XEnumVOID::AddRef()\n1279 unsigned long COleControlSite::XEventSink::AddRef()\n1280 unsigned long COleControl::XFontNotification::AddRef()\n1281 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1282 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1283 unsigned long COleControl::XOleCache::AddRef()\n1284 unsigned long COleClientItem::XOleClientSite::AddRef()\n1285 unsigned long COleControlSite::XOleClientSite::AddRef()\n1286 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1287 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1288 unsigned long COleControlContainer::XOleContainer::AddRef()\n1289 unsigned long COleControl::XOleControl::AddRef()\n1290 unsigned long COleControlSite::XOleControlSite::AddRef()\n1291 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1292 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1293 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1294 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1295 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1296 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1297 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1298 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1299 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1300 unsigned long COleClientItem::XOleIPSite::AddRef()\n1301 unsigned long COleControlSite::XOleIPSite::AddRef()\n1302 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1303 unsigned long CDocObjectServer::XOleObject::AddRef()\n1304 unsigned long COleControl::XOleObject::AddRef()\n1305 unsigned long COleServerDoc::XOleObject::AddRef()\n1306 unsigned long COleServerItem::XOleObject::AddRef()\n1307 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1308 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1309 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1310 unsigned long COleControl::XPersistMemory::AddRef()\n1311 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1312 unsigned long COleControl::XPersistStorage::AddRef()\n1313 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1314 unsigned long COleControl::XPersistStreamInit::AddRef()\n1315 unsigned long COleControl::XPointerInactive::AddRef()\n1316 unsigned long CDocObjectServer::XPrint::AddRef()\n1317 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1318 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1319 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1320 unsigned long COleControl::XProvideClassInfo::AddRef()\n1321 unsigned long COleControl::XQuickActivate::AddRef()\n1322 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1323 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1324 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1325 unsigned long COleControl::XViewObject::AddRef()\n1326 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1327 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1328 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1329 CPropertySection * CPropertySet::AddSection(_GUID)\n1330 void CPropertySet::AddSection(CPropertySection *)\n1331 void COlePasteSpecialDialog::AddStandardFormats(int)\n1332 int CComboBox::AddString(char const *)\n1333 int CComboBoxEx::AddString(char const *)\n1334 int CListBox::AddString(char const *)\n1335 int CToolBarCtrl::AddString(unsigned int)\n1336 int CToolBarCtrl::AddStrings(char const *)\n1337 __POSITION * CObList::AddTail(CObject *)\n1338 void CObList::AddTail(CObList *)\n1339 __POSITION * CPtrList::AddTail(void *)\n1340 void CPtrList::AddTail(CPtrList *)\n1341 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1342 __POSITION * CStringList::AddTail(char const *)\n1343 void CStringList::AddTail(CStringList *)\n1344 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1345 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1346 void CWinApp::AddToRecentFileList(char const *)\n1347 void CDocument::AddView(CView *)\n1348 void CMetaFileDC::AdjustCP(int)\n1349 void CRichEditView::AdjustDialogPosition(CDialog *)\n1350 void CRectTracker::AdjustRect(int,tagRECT *)\n1351 void CTabCtrl::AdjustRect(int,tagRECT *)\n1352 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1353 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1354 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1355 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1356 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1357 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1358 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1359 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1360 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1361 void AfxAbort()\n1362 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1363 int AfxAssertFailedLine(char const *,int)\n1364 void AfxAssertValidObject(CObject const *,char const *,int)\n1365 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1366 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1367 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1368 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1369 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1370 void AfxCancelModes(HWND__ *)\n1371 void AfxCheckError(long)\n1372 int AfxCheckMemory()\n1373 void AfxClassInit(CRuntime*)\n1374 int AfxComparePath(char const *,char const *)\n1375 int AfxCompareValueByRef(void *,void *,int)\n1376 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1377 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1378 void AfxCopyValueByRef(void *,void *,long *,int)\n1379 void AfxCoreInitModule()\n1380 HDC__ * AfxCreateDC(void *,void *)\n1381 int AfxCriticalInit()\n1382 int AfxCriticalNewHandler(unsigned int)\n1383 void AfxCriticalTerm()\n1384 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1385 AUX_DATA afxData\n1386 void AfxDeleteObject(void * *)\n1387 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1388 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1389 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1390 int AfxDiagnosticInit()\n1391 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1392 long AfxDllCanUnloadNow()\n1393 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1394 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1395 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1396 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1397 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1398 CDumpContext afxDump\n1399 void AfxDump(CObject const *)\n1400 int AfxDumpMemoryLeaks()\n1401 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1402 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1403 void AfxEnableControlContainer(COccManager *)\n1404 int AfxEnableMemoryTracking(int)\n1405 int AfxEndDeferRegisterClass(long)\n1406 void AfxEndThread(unsigned int,int)\n1407 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1408 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1409 void AfxFailMaxChars(CDataExchange *,int)\n1410 void AfxFailRadio(CDataExchange *)\n1411 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1412 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1413 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1414 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1415 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1416 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1417 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1418 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1419 int AfxFreeLibrary(HINSTANCE__ *)\n1420 void AfxFreeMemoryDebug(void *,int)\n1421 int AfxFullPath(char *,char const *)\n1422 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1423 CWinApp * AfxGetApp()\n1424 AFX_MODULE_STATE * AfxGetAppModuleState()\n1425 char const * AfxGetAppName()\n1426 long AfxGetClassIDFromString(char const *,_GUID *)\n1427 tagMSG * AfxGetCurrentMessage()\n1428 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1429 unsigned long AfxGetDllVersion()\n1430 char const * AfxGetFacilityString(long)\n1431 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1432 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1433 char const * AfxGetFullScodeString(long)\n1434 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1435 void * AfxGetHENV()\n1436 char const * AfxGetIIDString(_GUID const &)\n1437 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1438 HINSTANCE__ * AfxGetInstanceHandle()\n1439 unsigned long AfxGetInternetHandleType(void *)\n1440 CWnd * AfxGetMainWnd()\n1441 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1442 AFX_MODULE_STATE * AfxGetModuleState()\n1443 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1444 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1445 HWND__ * AfxGetParentOwner(HWND__ *)\n1446 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1447 HINSTANCE__ * AfxGetResourceHandle()\n1448 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1449 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1450 char const * AfxGetScodeRangeString(long)\n1451 char const * AfxGetScodeString(long)\n1452 char const * AfxGetSeverityString(long)\n1453 ATL::IAtlStringMgr * AfxGetStringManager()\n1454 CWinThread * AfxGetThread()\n1455 _AFX_THREAD_STATE * AfxGetThreadState()\n1456 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1457 void AfxGlobalFree(void *)\n1458 int AfxHelpEnabled()\n1459 void AfxHookWindowCreate(CWnd *)\n1460 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1461 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1462 void AfxInitLocalData(HINSTANCE__ *)\n1463 int AfxInitRichEdit()\n1464 int AfxInitRichEdit2()\n1465 void AfxInitThread()\n1466 int AfxInternalIsIdleMessage(tagMSG *)\n1467 int AfxInternalPreTranslateMessage(tagMSG *)\n1468 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1469 int AfxInternalPumpMessage()\n1470 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1471 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1472 int AfxIsDescendant(HWND__ *,HWND__ *)\n1473 int AfxIsIdleMessage(tagMSG *)\n1474 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1475 int AfxIsValidAddress(void const *,unsigned int,int)\n1476 int AfxIsValidString(wchar_t const *,int)\n1477 int AfxIsValidString(char const *,int)\n1478 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1479 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1480 HINSTANCE__ * AfxLoadLibrary(char const *)\n1481 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1482 int AfxLoadString(unsigned int,char *,unsigned int)\n1483 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1484 void AfxLockGlobals(int)\n1485 void AfxLockTempMaps()\n1486 CHandleMap * afxMapHDC(int)\n1487 CHandleMap * afxMapHGDIOBJ(int)\n1488 CHandleMap * afxMapHIMAGELIST(int)\n1489 CHandleMap * afxMapHMENU(int)\n1490 CHandleMap * afxMapHWND(int)\n1491 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1492 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1493 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1494 int AfxNewHandler(unsigned int)\n1495 int AfxOleCanExitApp()\n1496 COleMessageFilter * AfxOleGetMessageFilter()\n1497 int AfxOleGetUserCtrl()\n1498 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1499 int AfxOleInit()\n1500 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1501 void AfxOleLockApp()\n1502 int AfxOleLockControl(_GUID const &)\n1503 int AfxOleLockControl(char const *)\n1504 void AfxOleOnReleaseAllObjects()\n1505 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1506 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1507 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1508 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1509 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1510 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1511 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1512 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1513 void AfxOleSetUserCtrl(int)\n1514 void AfxOleTerm(int)\n1515 void AfxOleTermOrFreeLib(int,int)\n1516 void AfxOleUnlockAllControls()\n1517 void AfxOleUnlockApp()\n1518 int AfxOleUnlockControl(_GUID const &)\n1519 int AfxOleUnlockControl(char const *)\n1520 int AfxOleUnregisterClass(_GUID const &,char const *)\n1521 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1522 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1523 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1524 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1525 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1526 void AfxPostQuitMessage(int)\n1527 int AfxPreTranslateMessage(tagMSG *)\n1528 long AfxProcessWndProcException(CException *,tagMSG const *)\n1529 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1530 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1531 int AfxPumpMessage()\n1532 unsigned int AfxReadStringLength(CArchive &,int &)\n1533 int AfxRegisterClass(tagWNDCLASSA *)\n1534 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1535 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1536 void AfxResetMsgCache()\n1537 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1538 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1539 void AfxSafeArrayInit(COleSafeArray *)\n1540 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1541 void AfxSetAllocStop(long)\n1542 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1543 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1544 void AfxSetResourceHandle(HINSTANCE__ *)\n1545 void AfxSetWindowText(HWND__ *,char const *)\n1546 void AfxSocketTerm()\n1547 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1548 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1549 void AfxStoreField(CRecordset &,unsigned int,void *)\n1550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1551 wchar_t * AfxTaskStringA2W(char const *)\n1552 char * AfxTaskStringW2A(wchar_t const *)\n1553 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1554 void AfxTermLocalData(HINSTANCE__ *,int)\n1555 void AfxTermThread(HINSTANCE__ *)\n1556 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1557 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1558 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1559 void AfxThrowArchiveException(int,char const *)\n1560 void AfxThrowDBException(short,CDatabase *,void *)\n1561 void AfxThrowFileException(int,long,char const *)\n1562 void AfxThrowInternetException(unsigned long,unsigned long)\n1563 void AfxThrowInvalidArgException()\n1564 void AfxThrowLastCleanup()\n1565 void AfxThrowMemoryException()\n1566 void AfxThrowNotSupportedException()\n1567 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1568 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1569 void AfxThrowOleException(long)\n1570 void AfxThrowResourceException()\n1571 void AfxThrowUserException()\n1572 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1573 void AfxTlsAddRef()\n1574 void AfxTlsRelease()\n1575 void AfxTrace(char const *,...)\n1576 int afxTraceEnabled\n1577 unsigned int afxTraceFlags\n1578 void AfxTrackerTerm()\n1579 void AfxTryCleanup()\n1580 int AfxUnhookWindowCreate()\n1581 void AfxUnlockGlobals(int)\n1582 int AfxUnlockTempMaps(int)\n1583 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1584 void AfxVariantInit(tagVARIANT *)\n1585 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1586 char * AfxW2AHelper(char *,wchar_t const *,int)\n1587 void AfxWingdixTerm()\n1588 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1589 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1590 void AfxWinTerm()\n1591 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1592 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1593 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1594 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1595 void * CFixedAlloc::Alloc()\n1596 void * CFixedAllocNoSync::Alloc()\n1597 unsigned char * CMemFile::Alloc(unsigned long)\n1598 unsigned char * CSharedFile::Alloc(unsigned long)\n1599 void CRecordset::AllocAndCacheFieldInfo()\n1600 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1601 void CDatabase::AllocConnect(unsigned long)\n1602 void COleSafeArray::AllocData()\n1603 void CRecordset::AllocDataCache()\n1604 void COleSafeArray::AllocDescriptor(unsigned long)\n1605 int CControlBar::AllocElements(int,int)\n1606 int CStatusBar::AllocElements(int,int)\n1607 int CRecordset::AllocHstmt()\n1608 void CPropertyPage::AllocPSP(unsigned long)\n1609 void CRecordset::AllocRowset()\n1610 int CThreadSlotData::AllocSlot()\n1611 void CRecordset::AllocStatusArrays()\n1612 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1613 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1614 void * CProperty::AllocValue(unsigned long)\n1615 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1616 short COleControl::AmbientAppearance()\n1617 unsigned long COleControl::AmbientBackColor()\n1618 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1619 IFontDisp * COleControl::AmbientFont()\n1620 unsigned long COleControl::AmbientForeColor()\n1621 unsigned long COleControl::AmbientLocaleID()\n1622 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1623 int COleControl::AmbientShowGrabHandles()\n1624 int COleControl::AmbientShowHatching()\n1625 short COleControl::AmbientTextAlign()\n1626 int COleControl::AmbientUIDead()\n1627 int COleControl::AmbientUserMode()\n1628 int CDC::AngleArc(int,int,int,float,float)\n1629 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1630 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1631 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1632 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1633 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1634 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1635 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1636 int CByteArray::Append(CByteArray const &)\n1637 int CDWordArray::Append(CDWordArray const &)\n1638 int CObArray::Append(CObArray const &)\n1639 int CPtrArray::Append(CPtrArray const &)\n1640 int CStringArray::Append(CStringArray const &)\n1641 int CUIntArray::Append(CUIntArray const &)\n1642 int CWordArray::Append(CWordArray const &)\n1643 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1644 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1645 void CRecordset::AppendFilterAndSortSQL()\n1646 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1647 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1648 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1649 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1650 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1651 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1652 int CMenu::AppendMenuA(unsigned int,unsigned int,char const *)\n1653 int CMenu::AppendMenuA(unsigned int,unsigned int,CBitmap const *)\n1654 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1655 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1656 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1657 long COlePropertyPage::XPropertyPage::Apply()\n1658 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1659 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1660 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1661 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1662 int CDC::Arc(int,int,int,int,int,int,int,int)\n1663 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1664 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1665 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1666 int CListCtrl::Arrange(unsigned int)\n1667 unsigned int CWnd::ArrangeIconicWindows()\n1668 void CAsyncMonikerFile::AssertValid()const \n1669 void CAsyncSocket::AssertValid()const \n1670 void CBitmapButton::AssertValid()const \n1671 void CByteArray::AssertValid()const \n1672 void CCachedDataPathProperty::AssertValid()const \n1673 void CClientDC::AssertValid()const \n1674 void CCmdTarget::AssertValid()const \n1675 void CControlBar::AssertValid()const \n1676 void CCtrlView::AssertValid()const \n1677 void CDatabase::AssertValid()const \n1678 void CDataPathProperty::AssertValid()const \n1679 void CDC::AssertValid()const \n1680 void CDialog::AssertValid()const \n1681 void CDocItem::AssertValid()const \n1682 void CDockBar::AssertValid()const \n1683 void CDocManager::AssertValid()const \n1684 void CDocObjectServer::AssertValid()const \n1685 void CDocObjectServerItem::AssertValid()const \n1686 void CDocTemplate::AssertValid()const \n1687 void CDocument::AssertValid()const \n1688 void CDWordArray::AssertValid()const \n1689 void CDynLinkLibrary::AssertValid()const \n1690 void CEditView::AssertValid()const \n1691 void CFile::AssertValid()const \n1692 void CFileFind::AssertValid()const \n1693 void CFormView::AssertValid()const \n1694 void CFrameWnd::AssertValid()const \n1695 void CFtpConnection::AssertValid()const \n1696 void CFtpFileFind::AssertValid()const \n1697 void CGdiObject::AssertValid()const \n1698 void CGopherConnection::AssertValid()const \n1699 void CGopherFile::AssertValid()const \n1700 void CGopherFileFind::AssertValid()const \n1701 void CHtmlEditDoc::AssertValid()const \n1702 void CHtmlEditView::AssertValid()const \n1703 void CHtmlView::AssertValid()const \n1704 void CHttpConnection::AssertValid()const \n1705 void CHttpFile::AssertValid()const \n1706 void CImageList::AssertValid()const \n1707 void CInternetConnection::AssertValid()const \n1708 void CInternetFile::AssertValid()const \n1709 void CLongBinary::AssertValid()const \n1710 void CMapPtrToPtr::AssertValid()const \n1711 void CMapPtrToWord::AssertValid()const \n1712 void CMapStringToOb::AssertValid()const \n1713 void CMapStringToPtr::AssertValid()const \n1714 void CMapStringToString::AssertValid()const \n1715 void CMapWordToOb::AssertValid()const \n1716 void CMapWordToPtr::AssertValid()const \n1717 void CMDIChildWnd::AssertValid()const \n1718 void CMDIFrameWnd::AssertValid()const \n1719 void CMemFile::AssertValid()const \n1720 void CMenu::AssertValid()const \n1721 void CMonikerFile::AssertValid()const \n1722 void CMultiDocTemplate::AssertValid()const \n1723 void CObArray::AssertValid()const \n1724 void CObject::AssertValid()const \n1725 void CObList::AssertValid()const \n1726 void COleChangeSourceDialog::AssertValid()const \n1727 void COleClientItem::AssertValid()const \n1728 void COleCntrFrameWnd::AssertValid()const \n1729 void COleControl::AssertValid()const \n1730 void COleDataSource::AssertValid()const \n1731 void COleDocIPFrameWnd::AssertValid()const \n1732 void COleDocument::AssertValid()const \n1733 void COleDropTarget::AssertValid()const \n1734 void COleIPFrameWnd::AssertValid()const \n1735 void COleLinkingDoc::AssertValid()const \n1736 void COleLinksDialog::AssertValid()const \n1737 void COleMessageFilter::AssertValid()const \n1738 void COleObjectFactory::AssertValid()const \n1739 void COlePasteSpecialDialog::AssertValid()const \n1740 void COlePropertiesDialog::AssertValid()const \n1741 void COleServerDoc::AssertValid()const \n1742 void COleServerItem::AssertValid()const \n1743 void COleStreamFile::AssertValid()const \n1744 void CPaintDC::AssertValid()const \n1745 void CPreviewDC::AssertValid()const \n1746 void CPreviewView::AssertValid()const \n1747 void CPropertyPage::AssertValid()const \n1748 void CPropertySheet::AssertValid()const \n1749 void CPtrArray::AssertValid()const \n1750 void CPtrList::AssertValid()const \n1751 void CRecordset::AssertValid()const \n1752 void CRecordView::AssertValid()const \n1753 void CRichEditCntrItem::AssertValid()const \n1754 void CRichEditDoc::AssertValid()const \n1755 void CRichEditView::AssertValid()const \n1756 void CScrollView::AssertValid()const \n1757 void CSingleDocTemplate::AssertValid()const \n1758 void CSocket::AssertValid()const \n1759 void CSocketFile::AssertValid()const \n1760 void CSplitterWnd::AssertValid()const \n1761 void CStatusBar::AssertValid()const \n1762 void CStringArray::AssertValid()const \n1763 void CStringList::AssertValid()const \n1764 void CSyncObject::AssertValid()const \n1765 void CToolBar::AssertValid()const \n1766 void CUIntArray::AssertValid()const \n1767 void CView::AssertValid()const \n1768 void CWinApp::AssertValid()const \n1769 void CWindowDC::AssertValid()const \n1770 void CWinThread::AssertValid()const \n1771 void CWnd::AssertValid()const \n1772 void CWordArray::AssertValid()const \n1773 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1774 int CAsyncSocket::AsyncSelect(long)\n1775 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n1776 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1777 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1778 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1779 int CAsyncSocket::Attach(unsigned int,long)\n1780 int CDC::Attach(HDC__ *)\n1781 int CGdiObject::Attach(void *)\n1782 int CImageList::Attach(_IMAGELIST *)\n1783 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1784 int CMenu::Attach(HMENU__ *)\n1785 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1786 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1787 void COleDataObject::Attach(IDataObject *,int)\n1788 void COleSafeArray::Attach(tagVARIANT &)\n1789 void COleStreamFile::Attach(IStream *)\n1790 void COleVariant::Attach(tagVARIANT &)\n1791 int CSocket::Attach(unsigned int)\n1792 int CWnd::Attach(HWND__ *)\n1793 int COleDataObject::AttachClipboard()\n1794 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1795 void CWnd::AttachControlSite(CHandleMap *)\n1796 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1797 void COleClientItem::AttachDataObject(COleDataObject &)const \n1798 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1799 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1800 CPrintDialog * CPrintDialog::AttachOnSetup()\n1801 void COleControlSite::AttachWindow()\n1802 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1803 void CToolBarCtrl::AutoSize()\n1804 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1805 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1806 void COleMessageFilter::BeginBusyState()\n1807 void COleLinkingDoc::BeginDeferErrors()\n1808 int CDragListBox::BeginDrag(CPoint)\n1809 int CImageList::BeginDrag(int,CPoint)\n1810 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1811 void COleDataObject::BeginEnumFormats()\n1812 void CFrameWnd::BeginModalState()\n1813 void CWnd::BeginModalState()\n1814 CDC * CWnd::BeginPaint(tagPAINT*)\n1815 int CDC::BeginPath()\n1816 int CDatabase::BeginTrans()\n1817 void CCmdTarget::BeginWaitCursor()\n1818 int CAsyncSocket::Bind(unsigned int,char const *)\n1819 int CAsyncSocket::Bind(sockaddr const *,int)\n1820 void CDataSourceControl::BindColumns()\n1821 void COccManager::BindControls(CWnd *)\n1822 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1823 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1824 void CRecordset::BindFieldsForUpdate()\n1825 unsigned int CRecordset::BindFieldsToColumns()\n1826 void CDatabase::BindParameters(void *)\n1827 unsigned int CRecordset::BindParams(void *)\n1828 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1829 void CDataSourceControl::BindProp(COleControlSite *,int)\n1830 void COleControlSite::BindProperty(long,CWnd *)\n1831 void CWnd::BindProperty(long,CWnd *)\n1832 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1833 void COleControl::BoundPropertyChanged(long)\n1834 int COleControl::BoundPropertyRequestEdit(long)\n1835 void CFrameWnd::BringToTop(int)\n1836 void CWnd::BringWindowToTop()\n1837 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1838 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1839 void CPropertySheet::BuildPropPageArray()\n1840 void CRecordset::BuildSelectSQL()\n1841 int COleControl::BuildSharedMenu()\n1842 int COleDocIPFrameWnd::BuildSharedMenu()\n1843 int COleIPFrameWnd::BuildSharedMenu()\n1844 void CRecordset::BuildSQL(char const *)\n1845 void CRecordset::BuildUpdateSQL()\n1846 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1847 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1848 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1849 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1850 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1851 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1852 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1853 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1854 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1855 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1856 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1857 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1858 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1859 CSize CControlBar::CalcFixedLayout(int,int)\n1860 CSize CDialogBar::CalcFixedLayout(int,int)\n1861 CSize CDockBar::CalcFixedLayout(int,int)\n1862 CSize CReBar::CalcFixedLayout(int,int)\n1863 CSize CStatusBar::CalcFixedLayout(int,int)\n1864 CSize CToolBar::CalcFixedLayout(int,int)\n1865 void CControlBar::CalcInsideRect(CRect &,int)const \n1866 void CStatusBar::CalcInsideRect(CRect &,int)const \n1867 CSize CToolBar::CalcLayout(unsigned long,int)\n1868 int CCheckListBox::CalcMinimumItemHeight()\n1869 CSize CPreviewView::CalcPageDisplaySize()\n1870 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1871 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1872 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1873 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1874 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1875 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1876 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1877 int CDHtmlDialog::CanAccessExternal()\n1878 int COleClientItem::CanActivate()\n1879 int CRichEditCntrItem::CanActivate()\n1880 int CSplitterWnd::CanActivateNext(int)\n1881 int CRecordset::CanAppend()const \n1882 int CRecordset::CanBookmark()const \n1883 void CDatabase::Cancel()\n1884 void CRecordset::Cancel()\n1885 void CSocket::CancelBlockingCall()\n1886 void CDragListBox::CancelDrag(CPoint)\n1887 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1888 long COleUILinkInfo::CancelLink(unsigned long)\n1889 void CDockContext::CancelLoop()\n1890 void CPropertyPage::CancelToClose()\n1891 void CWnd::CancelToolTips(int)\n1892 void CRecordset::CancelUpdate()\n1893 int CDocument::CanCloseFrame(CFrameWnd *)\n1894 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1895 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1896 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1897 unsigned long CDockContext::CanDock()\n1898 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1899 int CFrameWnd::CanEnterHelpMode()\n1900 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1901 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1902 int COleClientItem::CanPaste()\n1903 int CRichEditCtrl::CanPaste(unsigned int)const \n1904 int CRichEditView::CanPaste()const \n1905 int COleClientItem::CanPasteLink()\n1906 int CRichEditCtrl::CanRedo()const \n1907 int CRecordset::CanRestart()const \n1908 int CRecordset::CanScroll()const \n1909 int CDatabase::CanTransact()const \n1910 int CRecordset::CanTransact()const \n1911 int CEdit::CanUndo()const \n1912 int CRichEditCtrl::CanUndo()const \n1913 int CDatabase::CanUpdate()const \n1914 int CRecordset::CanUpdate()const \n1915 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1916 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1917 void CScrollView::CenterOnPoint(CPoint)\n1918 void CWnd::CenterWindow(CWnd *)\n1919 int CWnd::ChangeClipboardChain(HWND__ *)\n1920 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1921 int CEdit::CharFromPos(CPoint)const \n1922 int CRichEditCtrl::CharFromPos(CPoint)const \n1923 int CListBox::CharToItem(unsigned int,unsigned int)\n1924 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1925 int CDatabase::Check(short)const \n1926 int CRecordset::Check(short)const \n1927 int CDialog::CheckAutoCenter()\n1928 int CWnd::CheckAutoCenter()\n1929 int CToolBarCtrl::CheckButton(int,int)\n1930 void CArchive::CheckCount()\n1931 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1932 void CWnd::CheckDlgButton(int,unsigned int)\n1933 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1934 void COleClientItem::CheckGeneral(long)\n1935 int CDatabase::CheckHstmt(short,void *)const \n1936 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1937 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1938 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1939 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1940 void CMemoryState::Checkpoint()\n1941 void COleControlContainer::CheckRadioButton(int,int,int)\n1942 void CWnd::CheckRadioButton(int,int,int)\n1943 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1944 void CRecordset::CheckRowsetError(short)\n1945 void CScrollView::CheckScrollBars(int &,int &)const \n1946 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1947 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1948 int CDC::Chord(int,int,int,int,int,int,int,int)\n1949 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1950 void CPropertyPage::Cleanup()\n1951 void COlePropertyPage::CleanupObjectArray()\n1952 void CComboBox::Clear()\n1953 void CDBVariant::Clear()\n1954 void CDockState::Clear()\n1955 void CEdit::Clear()\n1956 void COleSafeArray::Clear()\n1957 void COleVariant::Clear()\n1958 void CRichEditCtrl::Clear()\n1959 void CIPAddressCtrl::ClearAddress()\n1960 int CHeaderCtrl::ClearAllFilters()\n1961 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1962 void CRecordset::ClearFieldStatus()\n1963 int CHeaderCtrl::ClearFilter(int)\n1964 void CRecordset::ClearNullFieldStatus(unsigned long)\n1965 void CRecordset::ClearNullParamStatus(unsigned long)\n1966 void CSliderCtrl::ClearSel(int)\n1967 void CSliderCtrl::ClearTics(int)\n1968 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1969 void CWnd::ClientToScreen(tagPOINT *)const \n1970 void CWnd::ClientToScreen(tagRECT *)const \n1971 int COleControl::ClipCaretRect(tagRECT *)\n1972 void CPreviewDC::ClipToPage()\n1973 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1974 long CArchiveStream::Clone(IStream * *)\n1975 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1976 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1977 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1978 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1979 int CAnimateCtrl::Close()\n1980 void CArchive::Close()\n1981 void CAsyncMonikerFile::Close()\n1982 void CAsyncSocket::Close()\n1983 void CCachedDataPathProperty::Close()\n1984 void CDatabase::Close()\n1985 void CFile::Close()\n1986 void CFileFind::Close()\n1987 void CInternetConnection::Close()\n1988 void CInternetFile::Close()\n1989 void CInternetSession::Close()\n1990 void CMemFile::Close()\n1991 HMETAFILE__ * CMetaFileDC::Close()\n1992 void CMirrorFile::Close()\n1993 void CMonikerFile::Close()\n1994 void COleClientItem::Close(enum tagOLECLOSE)\n1995 void COleStreamFile::Close()\n1996 void CRecordset::Close()\n1997 void CSocket::Close()\n1998 void CSocketFile::Close()\n1999 void CStdioFile::Close()\n2000 long CDocObjectServer::XOleObject::Close(unsigned long)\n2001 long COleControl::XOleObject::Close(unsigned long)\n2002 long COleServerDoc::XOleObject::Close(unsigned long)\n2003 long COleServerItem::XOleObject::Close(unsigned long)\n2004 void CDocManager::CloseAllDocuments(int)\n2005 void CDocTemplate::CloseAllDocuments(int)\n2006 void CWinApp::CloseAllDocuments(int)\n2007 void CFileFind::CloseContext()\n2008 void CFtpFileFind::CloseContext()\n2009 void CGopherFileFind::CloseContext()\n2010 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n2011 int CDC::CloseFigure()\n2012 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2013 void CWnd::CloseWindow()\n2014 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2015 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2016 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2017 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2018 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n2019 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2020 int CStatusBar::CommandToIndex(unsigned int)const \n2021 int CToolBar::CommandToIndex(unsigned int)const \n2022 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2023 long CArchiveStream::Commit(unsigned long)\n2024 void COleClientItem::CommitItem(int)\n2025 void COleDocument::CommitItems(int,IStorage *)\n2026 int CDatabase::CommitTrans()\n2027 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n2028 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n2029 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n2030 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2031 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2032 void CWinThread::CommonConstruct()\n2033 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2034 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2035 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2036 int CListBox::CompareItem(tagCOMPAREITEM*)\n2037 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2038 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2039 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n2040 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2041 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2042 int CAsyncSocket::Connect(char const *,unsigned int)\n2043 int CAsyncSocket::Connect(sockaddr const *,int)\n2044 int CDatabase::Connect(unsigned long)\n2045 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2046 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2047 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2048 int CSocket::ConnectHelper(sockaddr const *,int)\n2049 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2050 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2051 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2052 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2053 void COleServerDoc::ConnectView(CWnd *,CView *)\n2054 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2055 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2056 void CPropertyPage::Construct(unsigned int,unsigned int)\n2057 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2058 void CPropertyPage::Construct(char const *,unsigned int)\n2059 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n2060 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2061 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2062 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n2063 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2064 void CRectTracker::Construct()\n2065 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2066 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2067 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2068 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2069 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2070 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2071 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2072 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2073 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2074 int CPropertySheet::ContinueModal()\n2075 int CWnd::ContinueModal()\n2076 void CCmdUI::ContinueRouting()\n2077 void COleControl::ControlInfoChanged()\n2078 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2079 int COleClientItem::ConvertTo(_GUID const &)\n2080 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2081 void CByteArray::Copy(CByteArray const &)\n2082 void CComboBox::Copy()\n2083 void CDWordArray::Copy(CDWordArray const &)\n2084 void CEdit::Copy()\n2085 int CImageList::Copy(int,int,unsigned int)\n2086 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2087 void CObArray::Copy(CObArray const &)\n2088 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2089 void CPtrArray::Copy(CPtrArray const &)\n2090 void CRichEditCtrl::Copy()\n2091 void CStringArray::Copy(CStringArray const &)\n2092 void CUIntArray::Copy(CUIntArray const &)\n2093 void CWordArray::Copy(CWordArray const &)\n2094 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2095 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2096 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2097 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2098 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2099 int CRgn::CopyRgn(CRgn *)\n2100 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2101 void COleClientItem::CopyToClipboard(int)\n2102 void COleServerItem::CopyToClipboard(int)\n2103 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2104 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n2105 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2106 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2107 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2108 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2109 int CControlFrameWnd::Create(char const *)\n2110 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2111 int CDialog::Create(unsigned int,CWnd *)\n2112 int CDialog::Create(char const *,CWnd *)\n2113 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2114 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n2115 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2116 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2117 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n2118 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2119 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n2120 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2121 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2122 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2123 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2124 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2125 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2126 int CImageList::Create(int,int,unsigned int,int,int)\n2127 int CImageList::Create(unsigned int,int,int,unsigned long)\n2128 int CImageList::Create(CImageList *)\n2129 int CImageList::Create(char const *,int,int,unsigned long)\n2130 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2131 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2132 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2133 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2134 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2135 int CMetaFileDC::Create(char const *)\n2136 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2137 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2138 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2139 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2140 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2141 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2142 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2143 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2144 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2145 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2146 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2147 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2148 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2149 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2150 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2151 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2152 int CSocket::Create(unsigned int,int,char const *)\n2153 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2154 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2155 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2156 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2157 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2158 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2159 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2160 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2161 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2162 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2163 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2164 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2165 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2166 IBindHost * CMonikerFile::CreateBindHost()\n2167 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2168 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2169 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2170 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2171 void CWnd::CreateCaret(CBitmap *)\n2172 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n2173 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2174 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2175 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2176 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2177 int CDC::CreateCompatibleDC(CDC *)\n2178 void CConnectionPoint::CreateConnectionArray()\n2179 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2180 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2181 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2182 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2183 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2184 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2185 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2186 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2187 int CWnd::CreateControlContainer(COleControlContainer * *)\n2188 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2189 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2190 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2191 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2192 int CDC::CreateDCA(char const *,char const *,char const *,void const *)\n2193 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2194 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2195 int CFtpConnection::CreateDirectoryA(char const *)\n2196 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2197 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2198 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n2199 int CWnd::CreateDlg(char const *,CWnd *)\n2200 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2201 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2202 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n2204 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2205 CImageList * CHeaderCtrl::CreateDragImage(int)\n2206 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2207 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2208 int CRgn::CreateEllipticRgn(int,int,int,int)\n2209 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2210 int CPictureHolder::CreateEmpty()\n2211 int CMetaFileDC::CreateEnhanced(CDC *,char const *,tagRECT const *,char const *)\n2212 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2213 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2214 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2215 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2216 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2217 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2218 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2219 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2220 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2221 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2222 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2223 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2224 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2225 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2226 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2227 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2228 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2229 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2230 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2231 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2232 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2233 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2234 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2235 int CFont::CreateFontA(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,char const *)\n2236 int CFont::CreateFontIndirectA(tagLOGFONTA const *)\n2237 CControlFrameWnd * COleControl::CreateFrameWindow()\n2238 int CPictureHolder::CreateFromBitmap(unsigned int)\n2239 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2240 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2241 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2242 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2243 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2244 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2245 int CPictureHolder::CreateFromIcon(unsigned int)\n2246 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2247 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2248 int CRgn::CreateFromPath(CDC *)\n2249 void CWnd::CreateGrayCaret(int,int)\n2250 int CPalette::CreateHalftonePalette(CDC *)\n2251 int CBrush::CreateHatchBrush(int,unsigned long)\n2252 int CDC::CreateICA(char const *,char const *,char const *,void const *)\n2253 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2254 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2255 int CDialog::CreateIndirect(void *,CWnd *)\n2256 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2257 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2258 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2259 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2260 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2261 int COleInsertDialog::CreateItem(COleClientItem *)\n2262 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2263 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2264 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2265 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2266 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n2267 CGopherLocator CGopherConnection::CreateLocator(char const *)\n2268 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n2269 int COleStreamFile::CreateMemoryStream(CFileException *)\n2270 int CMenu::CreateMenu()\n2271 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2272 CDocument * CDocTemplate::CreateNewDocument()\n2273 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2274 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2275 CObject * CByteArray::CreateObject()\n2276 CObject * CDC::CreateObject()\n2277 CObject * CDocItem::CreateObject()\n2278 CObject * CDockState::CreateObject()\n2279 CObject * CDWordArray::CreateObject()\n2280 CObject * CEditView::CreateObject()\n2281 CObject * CFrameWnd::CreateObject()\n2282 CObject * CGdiObject::CreateObject()\n2283 CObject * CHtmlEditView::CreateObject()\n2284 CObject * CHtmlView::CreateObject()\n2285 CObject * CImageList::CreateObject()\n2286 CObject * CListView::CreateObject()\n2287 CObject * CMapStringToOb::CreateObject()\n2288 CObject * CMapStringToString::CreateObject()\n2289 CObject * CMapWordToOb::CreateObject()\n2290 CObject * CMDIChildWnd::CreateObject()\n2291 CObject * CMDIFrameWnd::CreateObject()\n2292 CObject * CMenu::CreateObject()\n2293 CObject * CMiniDockFrameWnd::CreateObject()\n2294 CObject * CMiniFrameWnd::CreateObject()\n2295 CObject * CObArray::CreateObject()\n2296 CObject * CObList::CreateObject()\n2297 CObject * COleDocIPFrameWnd::CreateObject()\n2298 CObject * COleIPFrameWnd::CreateObject()\n2299 CObject * CPreviewView::CreateObject()\n2300 CObject * CRichEditCntrItem::CreateObject()\n2301 CObject * CRichEditView::CreateObject()\n2302 CObject * CRuntimeClass::CreateObject()\n2303 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2304 CObject * CRuntimeClass::CreateObject(char const *)\n2305 CObject * CStringArray::CreateObject()\n2306 CObject * CStringList::CreateObject()\n2307 CObject * CTreeView::CreateObject()\n2308 CObject * CWnd::CreateObject()\n2309 CObject * CWordArray::CreateObject()\n2310 void COleControlContainer::CreateOleFont(CFont *)\n2311 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2312 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2313 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2314 int CPalette::CreatePalette(tagLOGPALETTE *)\n2315 int CBrush::CreatePatternBrush(CBitmap *)\n2316 int CPen::CreatePen(int,int,unsigned long)\n2317 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2318 int CPen::CreatePenIndirect(tagLOGPEN *)\n2319 int CFont::CreatePointFont(int,char const *,CDC *)\n2320 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n2321 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2322 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2323 int CMenu::CreatePopupMenu()\n2324 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2325 HDC__ * CPrintDialog::CreatePrinterDC()\n2326 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2327 int CWinApp::CreatePrinterDC(CDC &)\n2328 int CRgn::CreateRectRgn(int,int,int,int)\n2329 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2330 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2331 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2332 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2333 int CBrush::CreateSolidBrush(unsigned long)\n2334 void CWnd::CreateSolidCaret(int,int)\n2335 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2336 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2337 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2338 int CGdiObject::CreateStockObject(int)\n2339 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n2340 int CBrush::CreateSysColorBrush(int)\n2341 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2342 void COleControl::CreateTracker(int,int)\n2343 void COleControl::CreateTracker(int,int,tagRECT const *)\n2344 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2345 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2346 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2347 void COleControl::CreateWindowForSubclassedControl()\n2348 void CToolBarCtrl::Customize()\n2349 void CComboBox::Cut()\n2350 void CEdit::Cut()\n2351 void CRichEditCtrl::Cut()\n2352 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2353 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2354 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2355 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2356 void DDP_CBIndex(CDataExchange *,int,int &,char const *)\n2357 void DDP_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2358 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2359 void DDP_Check(CDataExchange *,int,int &,char const *)\n2360 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n2361 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n2362 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n2363 void DDP_EndText(CDataExchange *,int,short *,char const *)\n2364 void DDP_EndText(CDataExchange *,int,int *,char const *)\n2365 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n2366 void DDP_EndText(CDataExchange *,int,long *,char const *)\n2367 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n2368 void DDP_EndText(CDataExchange *,int,float *,char const *)\n2369 void DDP_EndText(CDataExchange *,int,double *,char const *)\n2370 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n2371 void DDP_LBIndex(CDataExchange *,int,int &,char const *)\n2372 void DDP_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2373 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2374 void DDP_PostProcessing(CDataExchange *)\n2375 void DDP_Radio(CDataExchange *,int,int &,char const *)\n2376 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n2377 void DDP_Text(CDataExchange *,int,short &,char const *)\n2378 void DDP_Text(CDataExchange *,int,int &,char const *)\n2379 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n2380 void DDP_Text(CDataExchange *,int,long &,char const *)\n2381 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n2382 void DDP_Text(CDataExchange *,int,float &,char const *)\n2383 void DDP_Text(CDataExchange *,int,double &,char const *)\n2384 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2385 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n2386 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2387 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2388 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2389 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2390 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2391 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2392 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2393 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2394 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2395 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2396 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2397 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2398 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2399 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2400 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2401 void DDX_CBIndex(CDataExchange *,int,int &)\n2402 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2403 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2404 void DDX_Check(CDataExchange *,int,int &)\n2405 void DDX_Control(CDataExchange *,int,CWnd &)\n2406 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2407 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2408 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2409 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2410 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2411 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2412 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n2413 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n2414 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n2415 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n2416 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n2417 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n2418 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n2419 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n2420 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n2421 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n2422 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n2423 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n2424 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2425 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n2426 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n2427 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n2428 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n2429 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n2430 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n2431 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2432 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n2433 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n2434 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n2435 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n2436 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n2437 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n2438 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2439 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2440 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2441 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2442 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2443 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2444 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2445 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2446 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2447 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2448 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2449 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2450 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2451 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2452 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2453 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2454 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2455 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2456 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2457 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2458 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2459 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n2460 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2461 void DDX_LBIndex(CDataExchange *,int,int &)\n2462 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2463 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2464 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2465 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2466 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2467 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2468 void DDX_OCBool(CDataExchange *,int,long,int &)\n2469 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2470 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2471 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2472 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2473 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2474 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2475 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2476 void DDX_OCInt(CDataExchange *,int,long,int &)\n2477 void DDX_OCInt(CDataExchange *,int,long,long &)\n2478 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2479 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2480 void DDX_OCShort(CDataExchange *,int,long,short &)\n2481 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2482 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2483 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2484 void DDX_Radio(CDataExchange *,int,int &)\n2485 void DDX_Scroll(CDataExchange *,int,int &)\n2486 void DDX_Slider(CDataExchange *,int,int &)\n2487 void DDX_Text(CDataExchange *,int,__int64 &)\n2488 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2489 void DDX_Text(CDataExchange *,int,unsigned char &)\n2490 void DDX_Text(CDataExchange *,int,short &)\n2491 void DDX_Text(CDataExchange *,int,int &)\n2492 void DDX_Text(CDataExchange *,int,unsigned int &)\n2493 void DDX_Text(CDataExchange *,int,long &)\n2494 void DDX_Text(CDataExchange *,int,unsigned long &)\n2495 void DDX_Text(CDataExchange *,int,float &)\n2496 void DDX_Text(CDataExchange *,int,double &)\n2497 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2498 void DDX_Text(CDataExchange *,int,_GUID &)\n2499 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2500 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2501 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2502 void DDX_Text(CDataExchange *,int,tagDEC &)\n2503 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2504 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2505 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2506 void DDX_Text(CDataExchange *,int,char *,int)\n2507 void COleClientItem::Deactivate()\n2508 long COlePropertyPage::XPropertyPage::Deactivate()\n2509 int COleServerDoc::DeactivateAndUndo()\n2510 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2511 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2512 void COleClientItem::DeactivateUI()\n2513 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n2514 long CWnd::Default()\n2515 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2516 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2517 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2518 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n2519 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2520 void CFrameWnd::DelayRecalcLayout(int)\n2521 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2522 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2523 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2524 void CControlBar::DelayShow(int)\n2525 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2526 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2527 void CFrameWnd::DelayUpdateFrameTitle()\n2528 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2529 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2530 void CException::Delete()\n2531 void COleClientItem::Delete(int)\n2532 void CRecordset::Delete()\n2533 void CWinThread::Delete()\n2534 int CListCtrl::DeleteAllItems()\n2535 int CTabCtrl::DeleteAllItems()\n2536 int CTreeCtrl::DeleteAllItems()\n2537 int CReBarCtrl::DeleteBand(unsigned int)\n2538 int CToolBarCtrl::DeleteButton(int)\n2539 int CListCtrl::DeleteColumn(int)\n2540 void CSplitterWnd::DeleteColumn(int)\n2541 void CDocument::DeleteContents()\n2542 void CEditView::DeleteContents()\n2543 void CHtmlEditDoc::DeleteContents()\n2544 void COleDocument::DeleteContents()\n2545 void COleServerDoc::DeleteContents()\n2546 void CRichEditDoc::DeleteContents()\n2547 void CRichEditView::DeleteContents()\n2548 int CDC::DeleteDC()\n2549 int CImageList::DeleteImageList()\n2550 void CComboBox::DeleteItem(tagDELETEITEM*)\n2551 int CComboBoxEx::DeleteItem(int)\n2552 int CHeaderCtrl::DeleteItem(int)\n2553 void CListBox::DeleteItem(tagDELETEITEM*)\n2554 int CListCtrl::DeleteItem(int)\n2555 int CTabCtrl::DeleteItem(int)\n2556 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2557 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2558 int CGdiObject::DeleteObject()\n2559 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2560 void CSplitterWnd::DeleteRow(int)\n2561 int CComboBox::DeleteString(unsigned int)\n2562 int CListBox::DeleteString(unsigned int)\n2563 void CHandleMap::DeleteTemp()\n2564 void CDC::DeleteTempMap()\n2565 void CGdiObject::DeleteTempMap()\n2566 void CImageList::DeleteTempMap()\n2567 void CMenu::DeleteTempMap()\n2568 void CWnd::DeleteTempMap()\n2569 void CRichEditDoc::DeleteUnmarkedItems()const \n2570 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2571 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2572 void CSplitterWnd::DeleteView(int,int)\n2573 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n2574 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2575 void CTabCtrl::DeselectAll(int)\n2576 void COleSafeArray::Destroy()\n2577 int COleControlSite::DestroyControl()\n2578 void COleSafeArray::DestroyData()\n2579 void COleSafeArray::DestroyDescriptor()\n2580 void CFrameWnd::DestroyDockBars()\n2581 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2582 int CMenu::DestroyMenu()\n2583 void CDHtmlDialog::DestroyModeless()\n2584 void COleControl::DestroySharedMenu()\n2585 void COleDocIPFrameWnd::DestroySharedMenu()\n2586 void COleIPFrameWnd::DestroySharedMenu()\n2587 int CToolTipCtrl::DestroyToolTipCtrl()\n2588 void COleControl::DestroyTracker()\n2589 int CControlBar::DestroyWindow()\n2590 int CMDIChildWnd::DestroyWindow()\n2591 int CWnd::DestroyWindow()\n2592 unsigned int CAsyncSocket::Detach()\n2593 HDC__ * CDC::Detach()\n2594 void * CDialogTemplate::Detach()\n2595 void * CGdiObject::Detach()\n2596 _IMAGELIST * CImageList::Detach()\n2597 unsigned char * CMemFile::Detach()\n2598 HMENU__ * CMenu::Detach()\n2599 int CMonikerFile::Detach(CFileException *)\n2600 IDataObject * COleDataObject::Detach()\n2601 tagVARIANT COleSafeArray::Detach()\n2602 IStream * COleStreamFile::Detach()\n2603 tagVARIANT COleVariant::Detach()\n2604 void * CSharedFile::Detach()\n2605 HDC__ * CWindowlessDC::Detach()\n2606 HWND__ * CWnd::Detach()\n2607 IDispatch * COleDispatchDriver::DetachDispatch()\n2608 void CAsyncSocket::DetachHandle(unsigned int,int)\n2609 void COleControlSite::DetachWindow()\n2610 void CWinApp::DevModeChange(char *)\n2611 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2612 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2613 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2614 int CComboBox::Dir(unsigned int,char const *)\n2615 int CComboBoxEx::Dir(unsigned int,char const *)\n2616 int CListBox::Dir(unsigned int,char const *)\n2617 int COleServerDoc::DiscardUndoState()\n2618 long COleClientItem::XOleIPSite::DiscardUndoState()\n2619 long COleControlSite::XOleIPSite::DiscardUndoState()\n2620 void COleDispatchImpl::Disconnect()\n2621 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2622 void CDHtmlDialog::DisconnectDHtmlEvents()\n2623 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2624 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2625 void CDocument::DisconnectViews()\n2626 void CWinThread::DispatchThreadMessage(tagMSG *)\n2627 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2628 int CRichEditCtrl::DisplayBand(tagRECT *)\n2629 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2630 int CWnd::DlgDirListA(char *,int,int,unsigned int)\n2631 int CWnd::DlgDirListComboBoxA(char *,int,int,unsigned int)\n2632 int CWnd::DlgDirSelect(char *,int)\n2633 int CWnd::DlgDirSelectComboBox(char *,int)\n2634 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2635 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2636 void CAsyncSocket::DoCallBack(unsigned int,long)\n2637 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2638 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2639 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2640 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2641 void COleControl::DoClick()\n2642 int COleFrameHook::DoContextSensitiveHelp(int)\n2643 int COleConvertDialog::DoConvert(COleClientItem *)\n2644 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2645 void CWnd::DoDataExchange(CDataExchange *)\n2646 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2647 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2648 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2649 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2650 int COleFrameHook::DoEnableModeless(int)\n2651 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2652 void CRecordset::DoFieldExchange(CFieldExchange *)\n2653 int CDocument::DoFileSave()\n2654 int CSplitterWnd::DoKeyboardSplit()\n2655 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2656 int CColorDialog::DoModal()\n2657 int CDialog::DoModal()\n2658 int CFileDialog::DoModal()\n2659 int CFontDialog::DoModal()\n2660 int COleBusyDialog::DoModal()\n2661 int COleChangeIconDialog::DoModal()\n2662 int COleChangeSourceDialog::DoModal()\n2663 int COleConvertDialog::DoModal()\n2664 int COleInsertDialog::DoModal(unsigned long)\n2665 int COleInsertDialog::DoModal()\n2666 int COleLinksDialog::DoModal()\n2667 int COlePasteSpecialDialog::DoModal()\n2668 int COlePropertiesDialog::DoModal()\n2669 int COleUpdateDialog::DoModal()\n2670 int CPageSetupDialog::DoModal()\n2671 int CPrintDialog::DoModal()\n2672 int CPrintDialogEx::DoModal()\n2673 int CPropertySheet::DoModal()\n2674 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2675 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2676 void CControlBar::DoPaint(CDC *)\n2677 void CDockBar::DoPaint(CDC *)\n2678 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2679 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2680 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2681 int CView::DoPreparePrinting(CPrintInfo *)\n2682 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2683 int CWinApp::DoPrintDialog(CPrintDialog *)\n2684 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2685 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2686 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2687 void COleControl::DoPropExchange(CPropExchange *)\n2688 int CDocument::DoSave(char const *,int)\n2689 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2690 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2691 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2692 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2693 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2694 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2695 long COleControlSite::DoVerb(long,tagMSG *)\n2696 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2697 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2698 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2699 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2700 void CWinApp::DoWaitCursor(int)\n2701 void CPreviewView::DoZoom(unsigned int,CPoint)\n2702 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2703 void CDC::DPtoLP(tagPOINT *,int)const \n2704 void CDC::DPtoLP(tagRECT *)const \n2705 void CDC::DPtoLP(tagSIZE *)const \n2706 void CWnd::DragAcceptFiles(int)\n2707 int CWnd::DragDetect(tagPOINT)const \n2708 int CImageList::DragEnter(CWnd *,CPoint)\n2709 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2710 unsigned int CDragListBox::Dragging(CPoint)\n2711 int CImageList::DragLeave(CWnd *)\n2712 long COleDropTarget::XDropTarget::DragLeave()\n2713 int CImageList::DragMove(CPoint)\n2714 void CReBarCtrl::DragMove(unsigned long)\n2715 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2716 int CImageList::DragShowNolock(int)\n2717 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2718 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2719 void CRectTracker::Draw(CDC *)const \n2720 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2721 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2722 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2723 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2724 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2725 void CControlBar::DrawBorders(CDC *,CRect &)\n2726 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2727 void COleControl::DrawContent(CDC *,CRect &)\n2728 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2729 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2730 int CDC::DrawEscape(int,int,char const *)\n2731 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2732 void CDC::DrawFocusRect(tagRECT const *)\n2733 void CDockContext::DrawFocusRect(int)\n2734 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2735 void CControlBar::DrawGripper(CDC *,CRect const &)\n2736 int CDC::DrawIcon(int,int,HICON__ *)\n2737 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2738 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2739 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2740 void CDragListBox::DrawInsert(int)\n2741 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2742 void CButton::DrawItem(tagDRAWITEM*)\n2743 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2744 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2745 void CComboBox::DrawItem(tagDRAWITEM*)\n2746 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2747 void CListBox::DrawItem(tagDRAWITEM*)\n2748 void CListCtrl::DrawItem(tagDRAWITEM*)\n2749 void CListView::DrawItem(tagDRAWITEM*)\n2750 void CMenu::DrawItem(tagDRAWITEM*)\n2751 void CStatic::DrawItem(tagDRAWITEM*)\n2752 void CStatusBar::DrawItem(tagDRAWITEM*)\n2753 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2754 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2755 void CWnd::DrawMenuBar()\n2756 void COleControl::DrawMetafile(CDC *,CRect &)\n2757 void CDragListBox::DrawSingle(int)\n2758 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2759 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2760 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2761 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2762 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2763 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2764 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,HBRUSH__ *)\n2765 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,CBrush *)\n2766 int CDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2767 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2768 int CMetaFileDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2769 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2770 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2771 int CDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2772 int CDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2773 int CMetaFileDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2774 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2775 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2776 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2777 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2778 void CDragListBox::Dropped(int,CPoint)\n2779 void CArchiveException::Dump(CDumpContext &)const \n2780 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2781 void CAsyncSocket::Dump(CDumpContext &)const \n2782 void CBitmap::Dump(CDumpContext &)const \n2783 void CBitmapButton::Dump(CDumpContext &)const \n2784 void CBrush::Dump(CDumpContext &)const \n2785 void CByteArray::Dump(CDumpContext &)const \n2786 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2787 void CClientDC::Dump(CDumpContext &)const \n2788 void CCmdTarget::Dump(CDumpContext &)const \n2789 void CColorDialog::Dump(CDumpContext &)const \n2790 void CControlBar::Dump(CDumpContext &)const \n2791 void CCtrlView::Dump(CDumpContext &)const \n2792 void CDatabase::Dump(CDumpContext &)const \n2793 void CDataPathProperty::Dump(CDumpContext &)const \n2794 void CDC::Dump(CDumpContext &)const \n2795 void CDialog::Dump(CDumpContext &)const \n2796 void CDocItem::Dump(CDumpContext &)const \n2797 void CDockBar::Dump(CDumpContext &)const \n2798 void CDocManager::Dump(CDumpContext &)const \n2799 void CDocObjectServer::Dump(CDumpContext &)const \n2800 void CDocObjectServerItem::Dump(CDumpContext &)const \n2801 void CDocTemplate::Dump(CDumpContext &)const \n2802 void CDocument::Dump(CDumpContext &)const \n2803 void CDWordArray::Dump(CDumpContext &)const \n2804 void CDynLinkLibrary::Dump(CDumpContext &)const \n2805 void CEditView::Dump(CDumpContext &)const \n2806 void CFile::Dump(CDumpContext &)const \n2807 void CFileDialog::Dump(CDumpContext &)const \n2808 void CFileException::Dump(CDumpContext &)const \n2809 void CFileFind::Dump(CDumpContext &)const \n2810 void CFileStatus::Dump(CDumpContext &)const \n2811 void CFindReplaceDialog::Dump(CDumpContext &)const \n2812 void CFont::Dump(CDumpContext &)const \n2813 void CFontDialog::Dump(CDumpContext &)const \n2814 void CFormView::Dump(CDumpContext &)const \n2815 void CFrameWnd::Dump(CDumpContext &)const \n2816 void CFtpConnection::Dump(CDumpContext &)const \n2817 void CFtpFileFind::Dump(CDumpContext &)const \n2818 void CGdiObject::Dump(CDumpContext &)const \n2819 void CGopherConnection::Dump(CDumpContext &)const \n2820 void CGopherFile::Dump(CDumpContext &)const \n2821 void CGopherFileFind::Dump(CDumpContext &)const \n2822 void CHtmlEditDoc::Dump(CDumpContext &)const \n2823 void CHtmlEditView::Dump(CDumpContext &)const \n2824 void CHtmlView::Dump(CDumpContext &)const \n2825 void CHttpConnection::Dump(CDumpContext &)const \n2826 void CHttpFile::Dump(CDumpContext &)const \n2827 void CImageList::Dump(CDumpContext &)const \n2828 void CInternetConnection::Dump(CDumpContext &)const \n2829 void CInternetException::Dump(CDumpContext &)const \n2830 void CInternetFile::Dump(CDumpContext &)const \n2831 void CInternetSession::Dump(CDumpContext &)const \n2832 void CLongBinary::Dump(CDumpContext &)const \n2833 void CMapPtrToPtr::Dump(CDumpContext &)const \n2834 void CMapPtrToWord::Dump(CDumpContext &)const \n2835 void CMapStringToOb::Dump(CDumpContext &)const \n2836 void CMapStringToPtr::Dump(CDumpContext &)const \n2837 void CMapStringToString::Dump(CDumpContext &)const \n2838 void CMapWordToOb::Dump(CDumpContext &)const \n2839 void CMapWordToPtr::Dump(CDumpContext &)const \n2840 void CMDIChildWnd::Dump(CDumpContext &)const \n2841 void CMDIFrameWnd::Dump(CDumpContext &)const \n2842 void CMemFile::Dump(CDumpContext &)const \n2843 void CMenu::Dump(CDumpContext &)const \n2844 void CMonikerFile::Dump(CDumpContext &)const \n2845 void CMultiDocTemplate::Dump(CDumpContext &)const \n2846 void CObArray::Dump(CDumpContext &)const \n2847 void CObject::Dump(CDumpContext &)const \n2848 void CObList::Dump(CDumpContext &)const \n2849 void COleBusyDialog::Dump(CDumpContext &)const \n2850 void COleChangeIconDialog::Dump(CDumpContext &)const \n2851 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2852 void COleClientItem::Dump(CDumpContext &)const \n2853 void COleControl::Dump(CDumpContext &)const \n2854 void COleConvertDialog::Dump(CDumpContext &)const \n2855 void COleDataSource::Dump(CDumpContext &)const \n2856 void COleDialog::Dump(CDumpContext &)const \n2857 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2858 void COleDocument::Dump(CDumpContext &)const \n2859 void COleDropSource::Dump(CDumpContext &)const \n2860 void COleDropTarget::Dump(CDumpContext &)const \n2861 void COleInsertDialog::Dump(CDumpContext &)const \n2862 void COleIPFrameWnd::Dump(CDumpContext &)const \n2863 void COleLinkingDoc::Dump(CDumpContext &)const \n2864 void COleLinksDialog::Dump(CDumpContext &)const \n2865 void COleMessageFilter::Dump(CDumpContext &)const \n2866 void COleObjectFactory::Dump(CDumpContext &)const \n2867 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2868 void COlePropertiesDialog::Dump(CDumpContext &)const \n2869 void COleServerDoc::Dump(CDumpContext &)const \n2870 void COleServerItem::Dump(CDumpContext &)const \n2871 void COleStreamFile::Dump(CDumpContext &)const \n2872 void COleUpdateDialog::Dump(CDumpContext &)const \n2873 void CPageSetupDialog::Dump(CDumpContext &)const \n2874 void CPaintDC::Dump(CDumpContext &)const \n2875 void CPen::Dump(CDumpContext &)const \n2876 void CPreviewDC::Dump(CDumpContext &)const \n2877 void CPreviewView::Dump(CDumpContext &)const \n2878 void CPrintDialog::Dump(CDumpContext &)const \n2879 void CPrintDialogEx::Dump(CDumpContext &)const \n2880 void CPropertyPage::Dump(CDumpContext &)const \n2881 void CPropertySheet::Dump(CDumpContext &)const \n2882 void CPtrArray::Dump(CDumpContext &)const \n2883 void CPtrList::Dump(CDumpContext &)const \n2884 void CRecordset::Dump(CDumpContext &)const \n2885 void CRecordView::Dump(CDumpContext &)const \n2886 void CRichEditCntrItem::Dump(CDumpContext &)const \n2887 void CRichEditDoc::Dump(CDumpContext &)const \n2888 void CRichEditView::Dump(CDumpContext &)const \n2889 void CScrollView::Dump(CDumpContext &)const \n2890 void CSingleDocTemplate::Dump(CDumpContext &)const \n2891 void CSocket::Dump(CDumpContext &)const \n2892 void CSocketFile::Dump(CDumpContext &)const \n2893 void CSplitterWnd::Dump(CDumpContext &)const \n2894 void CStatusBar::Dump(CDumpContext &)const \n2895 void CStdioFile::Dump(CDumpContext &)const \n2896 void CStringArray::Dump(CDumpContext &)const \n2897 void CStringList::Dump(CDumpContext &)const \n2898 void CSyncObject::Dump(CDumpContext &)const \n2899 void CToolBar::Dump(CDumpContext &)const \n2900 void CUIntArray::Dump(CDumpContext &)const \n2901 void CView::Dump(CDumpContext &)const \n2902 void CWinApp::Dump(CDumpContext &)const \n2903 void CWindowDC::Dump(CDumpContext &)const \n2904 void CWinThread::Dump(CDumpContext &)const \n2905 void CWnd::Dump(CDumpContext &)const \n2906 void CWordArray::Dump(CDumpContext &)const \n2907 void CMemoryState::DumpAllObjectsSince()const \n2908 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2909 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2910 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2911 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2912 CDumpContext & CDumpContext::DumpAsHex(int)\n2913 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2914 CDumpContext & CDumpContext::DumpAsHex(long)\n2915 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2916 void CRecordset::DumpFields(CDumpContext &)const \n2917 void CMemoryState::DumpStatistics()const \n2918 long COleControl::XDataObject::DUnadvise(unsigned long)\n2919 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2920 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2921 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2922 CFile * CFile::Duplicate()const \n2923 CFile * CInternetFile::Duplicate()const \n2924 CFile * CMemFile::Duplicate()const \n2925 CFile * COleStreamFile::Duplicate()const \n2926 CFile * CSocketFile::Duplicate()const \n2927 CFile * CStdioFile::Duplicate()const \n2928 unsigned long const CEditView::dwStyleDefault\n2929 void CRecordset::Edit()\n2930 int CHeaderCtrl::EditFilter(int,int)\n2931 CEdit * CListCtrl::EditLabel(int)\n2932 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2933 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2934 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2935 unsigned char & CByteArray::ElementAt(int)\n2936 unsigned long & CDWordArray::ElementAt(int)\n2937 CObject * & CObArray::ElementAt(int)\n2938 void * & CPtrArray::ElementAt(int)\n2939 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::ElementAt(int)\n2940 unsigned int & CUIntArray::ElementAt(int)\n2941 unsigned short & CWordArray::ElementAt(int)\n2942 int CDC::Ellipse(int,int,int,int)\n2943 int CDC::Ellipse(tagRECT const *)\n2944 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2945 void ATL::CSimpleStringT<char,1>::Empty()\n2946 void CDBException::Empty()\n2947 void COleDataSource::Empty()\n2948 void CEdit::EmptyUndoBuffer()\n2949 void CRichEditCtrl::EmptyUndoBuffer()\n2950 void CCheckListBox::Enable(int,int)\n2951 void CCmdUI::Enable(int)\n2952 void COleCmdUI::Enable(int)\n2953 void CStatusCmdUI::Enable(int)\n2954 void CTestCmdUI::Enable(int)\n2955 void CToolCmdUI::Enable(int)\n2956 int CWinApp::Enable3dControls()\n2957 void CWnd::EnableActiveAccessibility()\n2958 void CCmdTarget::EnableAggregation()\n2959 void CCmdTarget::EnableAutomation()\n2960 void CRecordset::EnableBookmarks()\n2961 void COleMessageFilter::EnableBusyDialog(int)\n2962 int CToolBarCtrl::EnableButton(int,int)\n2963 void COleDocument::EnableCompoundFile(int)\n2964 void CCmdTarget::EnableConnections()\n2965 void CControlBar::EnableDocking(unsigned long)\n2966 void CFrameWnd::EnableDocking(unsigned long)\n2967 void CReBar::EnableDocking(unsigned long)\n2968 void CStatusBar::EnableDocking(unsigned long)\n2969 void COleControlSite::EnableDSC()\n2970 void CWinApp::EnableHtmlHelp()\n2971 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2972 long CBrowserControlSite::EnableModeless(int)\n2973 long CDHtmlDialog::EnableModeless(int)\n2974 void CWinApp::EnableModeless(int)\n2975 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2976 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2977 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2978 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2979 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2980 void COleMessageFilter::EnableNotRespondingDialog(int)\n2981 int CScrollBar::EnableScrollBar(unsigned int)\n2982 int CWnd::EnableScrollBar(int,unsigned int)\n2983 void CWnd::EnableScrollBarCtrl(int,int)\n2984 void CWinApp::EnableShellOpen()\n2985 void COleControl::EnableSimpleFrame()\n2986 void CPropertySheet::EnableStackedTabs(int)\n2987 int CInternetSession::EnableStatusCallback(int)\n2988 int CWnd::EnableToolTips(int)\n2989 int CWnd::EnableTrackingToolTips(int)\n2990 void CCmdTarget::EnableTypeLib()\n2991 int COleControlSite::EnableWindow(int)\n2992 int CWnd::EnableWindow(int)\n2993 void COleMessageFilter::EndBusyState()\n2994 void CAsyncMonikerFile::EndCallbacks()\n2995 long COleLinkingDoc::EndDeferErrors(long)\n2996 void CDialog::EndDialog(int)\n2997 void CPropertyPage::EndDialog(int)\n2998 void CPropertySheet::EndDialog(int)\n2999 int CDC::EndDoc()\n3000 void CDockContext::EndDrag()\n3001 void CImageList::EndDrag()\n3002 void CReBarCtrl::EndDrag()\n3003 void CWnd::EndModalLoop(int)\n3004 void CFrameWnd::EndModalState()\n3005 void CWnd::EndModalState()\n3006 int CDC::EndPage()\n3007 void CWnd::EndPaint(tagPAINT*)\n3008 int CDC::EndPath()\n3009 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n3010 void CDockContext::EndResize()\n3011 void CCmdTarget::EndWaitCursor()\n3012 void COleDataObject::EnsureClipboardObject()\n3013 long CWnd::EnsureStdObj()\n3014 int CListCtrl::EnsureVisible(int,int)\n3015 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3016 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3017 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3018 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3019 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3020 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3021 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3022 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3023 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3024 int COlePropertyPage::EnumControls(HWND__ *,long)\n3025 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3026 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3027 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3028 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3029 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3030 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3031 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3032 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3033 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3034 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3035 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3036 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3037 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3038 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3039 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3040 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3041 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3042 int CRgn::EqualRgn(CRgn *)const \n3043 void CControlBar::EraseNonClient()\n3044 int CFileException::ErrnoToException(int)\n3045 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3046 int CDC::Escape(int,int,char const *,int,char *)\n3047 int CDC::Escape(int,int,char const *,void *)\n3048 int CMetaFileDC::Escape(int,int,char const *,void *)\n3049 int CPreviewDC::Escape(int,int,char const *,void *)\n3050 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3051 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3052 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3053 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3054 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3055 int COleControl::ExchangeExtent(CPropExchange *)\n3056 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3057 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3058 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3059 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3060 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3061 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3062 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3063 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3064 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3065 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3066 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3067 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3068 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3069 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3070 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3071 void COleControl::ExchangeStockProps(CPropExchange *)\n3072 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3073 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3074 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3075 int CDC::ExcludeClipRect(int,int,int,int)\n3076 int CDC::ExcludeClipRect(tagRECT const *)\n3077 int CDC::ExcludeUpdateRgn(CWnd *)\n3078 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3079 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3080 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3081 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3082 int CHtmlEditView::ExecHandler(unsigned int)\n3083 int CWnd::ExecuteDlgInit(void *)\n3084 int CWnd::ExecuteDlgInit(char const *)\n3085 void CRecordset::ExecuteSetPosUpdate()\n3086 void CDatabase::ExecuteSQL(char const *)\n3087 void CRecordset::ExecuteUpdateSQL()\n3088 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3089 void CFrameWnd::ExitHelpMode()\n3090 int COleControlModule::ExitInstance()\n3091 int CWinApp::ExitInstance()\n3092 int CWinThread::ExitInstance()\n3093 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3094 unsigned long CCmdTarget::ExternalAddRef()\n3095 void CCmdTarget::ExternalDisconnect()\n3096 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3097 unsigned long CCmdTarget::ExternalRelease()\n3098 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3099 HICON__ * CImageList::ExtractIconA(int)\n3100 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3101 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3102 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3103 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3104 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3105 void CDataExchange::Fail()\n3106 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3107 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3108 void CArchive::FillBuffer(unsigned int)\n3109 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n3110 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n3111 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3112 int CDC::FillPath()\n3113 void CDC::FillRect(tagRECT const *,CBrush *)\n3114 int CDC::FillRgn(CRgn *,CBrush *)\n3115 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3116 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3117 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3118 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3119 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3120 void CWnd::FilterToolTipMessage(tagMSG *)\n3121 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3122 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3123 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3124 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3125 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3126 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3127 __POSITION * CStringList::Find(char const *,__POSITION *)const \n3128 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n3129 int CDockBar::FindBar(CControlBar *,int)\n3130 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3131 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3132 int CFileFind::FindFile(char const *,unsigned long)\n3133 int CFtpFileFind::FindFile(char const *,unsigned long)\n3134 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n3135 int CGopherFileFind::FindFile(char const *,unsigned long)\n3136 __POSITION * CObList::FindIndex(int)const \n3137 __POSITION * CPtrList::FindIndex(int)const \n3138 __POSITION * CStringList::FindIndex(int)const \n3139 int CListCtrl::FindItem(tagLVFINDINFOA *,int)const \n3140 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3141 int CFindReplaceDialog::FindNext()const \n3142 int CFileFind::FindNextFileA()\n3143 int CFtpFileFind::FindNextFileA()\n3144 int CGopherFileFind::FindNextFileA()\n3145 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3146 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3147 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3148 int CDHtmlDialog::FindSinkForObject(char const *)\n3149 char const * CRecordset::FindSQLToken(char const *,char const *)\n3150 int CComboBox::FindString(int,char const *)const \n3151 int CComboBoxEx::FindString(int,char const *)const \n3152 int CListBox::FindString(int,char const *)const \n3153 int CComboBox::FindStringExact(int,char const *)const \n3154 int CListBox::FindStringExact(int,char const *)const \n3155 int CEditView::FindTextA(char const *,int,int)\n3156 long CRichEditCtrl::FindTextA(unsigned long,_findtextexa *)const \n3157 int CRichEditView::FindTextA(_AFX_RICHEDIT_STATE *)\n3158 int CRichEditView::FindTextA(char const *,int,int,int)\n3159 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3160 int CRichEditView::FindTextSimple(char const *,int,int,int)\n3161 CWnd * CWnd::FindWindowA(char const *,char const *)\n3162 CWnd * CWnd::FindWindowExA(HWND__ *,HWND__ *,char const *,char const *)\n3163 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3164 int COleClientItem::FinishCreate(long)\n3165 void COleControl::FireClick()\n3166 void COleControl::FireDblClick()\n3167 void COleControl::FireError(long,char const *,unsigned int)\n3168 void COleControl::FireEvent(long,unsigned char *,...)\n3169 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3170 void COleControl::FireEventV(long,unsigned char *,char *)\n3171 void COleControl::FireKeyDown(unsigned short *,short)\n3172 void COleControl::FireKeyPress(unsigned short *)\n3173 void COleControl::FireKeyUp(unsigned short *,short)\n3174 void COleControl::FireMouseDown(short,short,long,long)\n3175 void COleControl::FireMouseMove(short,short,long,long)\n3176 void COleControl::FireMouseUp(short,short,long,long)\n3177 void COleControl::FireReadyStateChange()\n3178 void CRecordset::Fixups()\n3179 int CWnd::FlashWindow(int)\n3180 int CDC::FlattenPath()\n3181 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3182 int CDC::FloodFill(int,int,unsigned long)\n3183 void CArchive::Flush()\n3184 void CDumpContext::Flush()\n3185 void CFile::Flush()\n3186 void CInternetFile::Flush()\n3187 void CMemFile::Flush()\n3188 void CMonikerFile::Flush()\n3189 void COleStreamFile::Flush()\n3190 void CSocketFile::Flush()\n3191 void CStdioFile::Flush()\n3192 void COleDataSource::FlushClipboard()\n3193 int CRecordset::FlushResultSet()\n3194 int CEdit::FmtLines(int)\n3195 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3196 void ATL::CSimpleStringT<char,1>::Fork(int)\n3197 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3198 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3199 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3200 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3201 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n3202 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n3203 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n3204 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3205 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3206 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3207 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3208 void COleControl::ForwardActivationMsg(tagMSG *)\n3209 void CDC::FrameRect(tagRECT const *,CBrush *)\n3210 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3211 void CAfxStringMgr::Free(ATL::CStringData *)\n3212 void CDatabase::Free()\n3213 void CFixedAlloc::Free(void *)\n3214 void CFixedAllocNoSync::Free(void *)\n3215 void CMemFile::Free(unsigned char *)\n3216 void CSharedFile::Free(unsigned char *)\n3217 void CFixedAlloc::FreeAll()\n3218 void CFixedAllocNoSync::FreeAll()\n3219 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3220 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3221 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3222 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3223 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3224 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3225 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3226 void CRecordset::FreeDataCache()\n3227 void CPlex::FreeDataChain()\n3228 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n3229 void ATL::CSimpleStringT<char,1>::FreeExtra()\n3230 void CByteArray::FreeExtra()\n3231 void CDWordArray::FreeExtra()\n3232 void CObArray::FreeExtra()\n3233 void CPtrArray::FreeExtra()\n3234 void CStringArray::FreeExtra()\n3235 void CUIntArray::FreeExtra()\n3236 void CWordArray::FreeExtra()\n3237 void CObList::FreeNode(CObList::CNode *)\n3238 void CPtrList::FreeNode(CPtrList::CNode *)\n3239 void CStringList::FreeNode(CStringList::CNode *)\n3240 void CRecordset::FreeRowset()\n3241 void CThreadSlotData::FreeSlot(int)\n3242 void CProperty::FreeValue()\n3243 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3244 void COleControlContainer::FreezeAllEvents(int)\n3245 void COleControlSite::FreezeEvents(int)\n3246 long COleControl::XOleControl::FreezeEvents(int)\n3247 int COleClientItem::FreezeLink()\n3248 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3249 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3250 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3251 CDC * CDC::FromHandle(HDC__ *)\n3252 CFont * CFont::FromHandle(HFONT__ *)\n3253 CGdiObject * CGdiObject::FromHandle(void *)\n3254 CObject * CHandleMap::FromHandle(void *)\n3255 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3256 CMenu * CMenu::FromHandle(HMENU__ *)\n3257 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3258 CPen * CPen::FromHandle(HPEN__ *)\n3259 CRgn * CRgn::FromHandle(HRGN__ *)\n3260 CSocket * CSocket::FromHandle(unsigned int)\n3261 CWnd * CWnd::FromHandle(HWND__ *)\n3262 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3263 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3264 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3265 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3266 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3267 CRuntime* CRuntimeClass::FromName(char const *)\n3268 void * CProperty::Get(unsigned long *)\n3269 void * CProperty::Get()\n3270 void * CPropertySection::Get(unsigned long)\n3271 void * CPropertySection::Get(unsigned long,unsigned long *)\n3272 void * CPropertySet::Get(_GUID,unsigned long)\n3273 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3274 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3275 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3276 long CWnd::get_accChildCount(long *)\n3277 long CWnd::XAccessible::get_accChildCount(long *)\n3278 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3279 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3280 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3281 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3282 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3283 long CWnd::get_accFocus(tagVARIANT *)\n3284 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3285 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3286 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3287 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3288 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3289 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3290 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3291 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3292 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3293 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3294 long CWnd::get_accParent(IDispatch * *)\n3295 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3296 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3297 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3298 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3299 long CWnd::get_accSelection(tagVARIANT *)\n3300 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3301 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3302 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3303 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3304 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3305 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3306 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3307 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3308 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3309 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3310 long CWnd::GetAccessibleChildCount()\n3311 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3312 unsigned long COleControl::GetActivationPolicy()\n3313 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3314 CDocument * CFrameWnd::GetActiveDocument()\n3315 CFrameWnd * CFrameWnd::GetActiveFrame()\n3316 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3317 int CPropertySheet::GetActiveIndex()const \n3318 CPropertyPage * CPropertySheet::GetActivePage()const \n3319 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3320 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3321 CView * CFrameWnd::GetActiveView()const \n3322 CView * COleClientItem::GetActiveView()const \n3323 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3324 CRichEditView * CRichEditCntrItem::GetActiveView()\n3325 CWnd * CWnd::GetActiveWindow()\n3326 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3327 int CIPAddressCtrl::GetAddress(unsigned long &)\n3328 int CHtmlView::GetAddressBar()const \n3329 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3330 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n3331 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n3332 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3333 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3334 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3335 int CToolBarCtrl::GetAnchorHighlight()const \n3336 int CListBox::GetAnchorIndex()const \n3337 short COleControl::GetAppearance()\n3338 IDispatch * CHtmlView::GetApplication()const \n3339 HKEY__ * CWinApp::GetAppRegistryKey()\n3340 int CDC::GetArcDirection()const \n3341 CSize CDC::GetAspectRatioFilter()const \n3342 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3343 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3344 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3345 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3346 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3347 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3348 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3349 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3350 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3351 unsigned char CByteArray::GetAt(int)const \n3352 unsigned long CDWordArray::GetAt(int)const \n3353 CObject * CObArray::GetAt(int)const \n3354 CObject * & CObList::GetAt(__POSITION *)\n3355 CObject const * & CObList::GetAt(__POSITION *)const \n3356 void * CPtrArray::GetAt(int)const \n3357 void * & CPtrList::GetAt(__POSITION *)\n3358 void const * & CPtrList::GetAt(__POSITION *)const \n3359 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::GetAt(int)const \n3360 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetAt(__POSITION *)\n3361 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetAt(__POSITION *)const \n3362 unsigned int CUIntArray::GetAt(int)const \n3363 unsigned short CWordArray::GetAt(int)const \n3364 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3365 unsigned long COleControl::GetBackColor()\n3366 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3367 unsigned int CReBarCtrl::GetBandCount()const \n3368 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOA *)const \n3369 unsigned int CReBarCtrl::GetBarHeight()const \n3370 void CControlBar::GetBarInfo(CControlBarInfo *)\n3371 void CDockBar::GetBarInfo(CControlBarInfo *)\n3372 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3373 unsigned long CControlBar::GetBarStyle()\n3374 unsigned int CSpinButtonCtrl::GetBase()const \n3375 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3376 IBinding * CAsyncMonikerFile::GetBinding()const \n3377 int CBitmap::GetBitmap(tagBITMAP *)\n3378 HBITMAP__ * CButton::GetBitmap()const \n3379 HBITMAP__ * CStatic::GetBitmap()const \n3380 int CToolBarCtrl::GetBitmap(int)const \n3381 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3382 CSize CBitmap::GetBitmapDimension()const \n3383 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3384 int CHeaderCtrl::GetBitmapMargin()const \n3385 unsigned long CDC::GetBkColor()const \n3386 unsigned long CImageList::GetBkColor()const \n3387 unsigned long CListCtrl::GetBkColor()const \n3388 unsigned long CReBarCtrl::GetBkColor()const \n3389 unsigned long CTreeCtrl::GetBkColor()const \n3390 int CListCtrl::GetBkImage(tagLVBKIMAGEA *)const \n3391 int CDC::GetBkMode()const \n3392 void * CBlobProperty::GetBlob()\n3393 void CRecordset::GetBookmark(CDBVariant &)\n3394 unsigned long CDatabase::GetBookmarkPersistence()const \n3395 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3396 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3397 CRect CControlBar::GetBorders()const \n3398 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3399 int CStatusBarCtrl::GetBorders(int *)const \n3400 short COleControl::GetBorderStyle()\n3401 long CDataSourceControl::GetBoundClientRow()\n3402 int CRecordset::GetBoundFieldIndex(void *)\n3403 int CRecordset::GetBoundParamIndex(void *)\n3404 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3405 CPoint CDC::GetBrushOrg()const \n3406 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOA *)const \n3407 CWnd * CSliderCtrl::GetBuddy(int)const \n3408 CWnd * CSpinButtonCtrl::GetBuddy()const \n3409 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3410 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n3411 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3412 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n3413 unsigned int CEditView::GetBufferLength()const \n3414 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3415 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3416 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3417 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3418 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3419 int CHtmlView::GetBusy()const \n3420 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3421 int CToolBarCtrl::GetButtonCount()const \n3422 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3423 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOA *)const \n3424 unsigned long CToolBarCtrl::GetButtonSize()const \n3425 unsigned int CButton::GetButtonStyle()const \n3426 unsigned int CToolBar::GetButtonStyle(int)const \n3427 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n3428 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3429 void COleSafeArray::GetByteArray(CByteArray &)\n3430 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3431 unsigned short CPropertySet::GetByteOrder()\n3432 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3433 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3434 unsigned int CListCtrl::GetCallbackMask()const \n3435 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3436 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3437 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3438 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3439 CWnd * COleControl::GetCapture()\n3440 CWnd * CWnd::GetCapture()\n3441 long COleControlSite::XOleIPSite::GetCapture()\n3442 int CListBox::GetCaretIndex()const \n3443 CPoint CWnd::GetCaretPos()\n3444 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3445 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABC *)const \n3446 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABCFLOAT *)const \n3447 unsigned long CDC::GetCharacterPlacementA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,tagGCP_RESULTSA *,unsigned long)const \n3448 unsigned long CDC::GetCharacterPlacementA(char const *,int,int,tagGCP_RESULTSA *,unsigned long)const \n3449 void CFontDialog::GetCharFormat(_charformat &)const \n3450 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n3451 CPoint CRichEditCtrl::GetCharPos(long)const \n3452 int CDC::GetCharWidthA(unsigned int,unsigned int,int *)const \n3453 int CDC::GetCharWidthA(unsigned int,unsigned int,float *)const \n3454 int CButton::GetCheck()const \n3455 int CCheckListBox::GetCheck(int)\n3456 int CListCtrl::GetCheck(int)const \n3457 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3458 int CWnd::GetCheckedRadioButton(int,int)\n3459 unsigned int CCheckListBox::GetCheckStyle()\n3460 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3461 long CBlobProperty::GetClassID(_GUID *)\n3462 void COleClientItem::GetClassID(_GUID *)const \n3463 _GUID const & COleConvertDialog::GetClassID()const \n3464 _GUID const & COleInsertDialog::GetClassID()const \n3465 _GUID const & COleObjectFactory::GetClassID()const \n3466 _GUID CPropertySet::GetClassID()\n3467 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3468 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3469 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3470 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3471 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3472 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3473 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n3474 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3475 void COleControl::GetClientOffset(long *,long *)const \n3476 void COleControl::GetClientRect(tagRECT *)const \n3477 void CWnd::GetClientRect(tagRECT *)const \n3478 IOleClientSite * COleClientItem::GetClientSite()\n3479 IOleClientSite * COleControl::GetClientSite()\n3480 IOleClientSite * COleServerDoc::GetClientSite()const \n3481 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3482 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3483 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3484 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3485 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3486 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3487 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3488 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3489 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3490 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3491 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3492 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3493 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3494 COleDataSource * COleDataSource::GetClipboardOwner()\n3495 CWnd * CWnd::GetClipboardOwner()\n3496 CWnd * CWnd::GetClipboardViewer()\n3497 int CDC::GetClipBox(tagRECT *)const \n3498 int CMetaFileDC::GetClipBox(tagRECT *)const \n3499 unsigned long CColorDialog::GetColor()const \n3500 unsigned long CFontDialog::GetColor()const \n3501 unsigned long CMonthCalCtrl::GetColor(int)const \n3502 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3503 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3504 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3505 int CListCtrl::GetColumn(int,tagLVCOLUMNA *)const \n3506 int CSplitterWnd::GetColumnCount()const \n3507 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3508 int CListCtrl::GetColumnOrderArray(int *,int)\n3509 int CListCtrl::GetColumnWidth(int)const \n3510 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3511 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3512 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3513 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDatabase::GetConnect()const \n3514 void CDatabase::GetConnectInfo()\n3515 int CConnectionPoint::GetConnectionCount()\n3516 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3517 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3518 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3519 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3520 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3521 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3522 CPtrArray const * CConnectionPoint::GetConnections()\n3523 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3524 IDispatch * CHtmlView::GetContainer()const \n3525 IOleItemContainer * COleDocument::GetContainer()\n3526 IOleItemContainer * COleLinkingDoc::GetContainer()\n3527 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3528 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3529 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3530 unsigned long CInternetConnection::GetContext()const \n3531 unsigned long CInternetFile::GetContext()const \n3532 unsigned long CInternetSession::GetContext()const \n3533 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3534 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3535 COleControl * CDataPathProperty::GetControl()\n3536 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3537 COleControlContainer * CWnd::GetControlContainer()\n3538 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n3539 unsigned long COleControl::GetControlFlags()\n3540 void COleControlSite::GetControlInfo()\n3541 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3542 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3543 IUnknown * CCmdTarget::GetControllingUnknown()\n3544 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3545 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n3546 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n3547 void COleControl::GetControlSize(int *,int *)\n3548 int COlePropertyPage::GetControlStatus(unsigned int)\n3549 IUnknown * CWnd::GetControlUnknown()\n3550 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3551 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3552 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n3553 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n3554 int CPrintDialog::GetCopies()const \n3555 int CPrintDialogEx::GetCopies()const \n3556 int CByteArray::GetCount()const \n3557 int CComboBox::GetCount()const \n3558 int CControlBar::GetCount()const \n3559 int CDWordArray::GetCount()const \n3560 int CListBox::GetCount()const \n3561 int CMapPtrToPtr::GetCount()const \n3562 int CMapPtrToWord::GetCount()const \n3563 int CMapStringToOb::GetCount()const \n3564 int CMapStringToPtr::GetCount()const \n3565 int CMapStringToString::GetCount()const \n3566 int CMapWordToOb::GetCount()const \n3567 int CMapWordToPtr::GetCount()const \n3568 int CObArray::GetCount()const \n3569 int CObList::GetCount()const \n3570 unsigned long CPropertySection::GetCount()\n3571 unsigned long CPropertySet::GetCount()\n3572 int CPtrArray::GetCount()const \n3573 int CPtrList::GetCount()const \n3574 int CStringArray::GetCount()const \n3575 int CStringList::GetCount()const \n3576 unsigned int CTreeCtrl::GetCount()const \n3577 int CUIntArray::GetCount()const \n3578 int CWordArray::GetCount()const \n3579 int CListCtrl::GetCountPerPage()const \n3580 int CFileFind::GetCreationTime(ATL::CTime &)const \n3581 int CFileFind::GetCreationTime(_FILETIME *)const \n3582 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3583 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3584 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3585 int CTabCtrl::GetCurFocus()const \n3586 CBitmap * CDC::GetCurrentBitmap()const \n3587 CBrush * CDC::GetCurrentBrush()const \n3588 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3589 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n3590 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3591 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n3592 CFont * CDC::GetCurrentFont()const \n3593 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n3594 tagMSG const * CWnd::GetCurrentMessage()\n3595 CPalette * CDC::GetCurrentPalette()const \n3596 CPen * CDC::GetCurrentPen()const \n3597 CPoint CDC::GetCurrentPosition()const \n3598 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3599 int CComboBox::GetCurSel()const \n3600 int CListBox::GetCurSel()const \n3601 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3602 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3603 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3604 int CTabCtrl::GetCurSel()const \n3605 HICON__ * CButton::GetCursor()\n3606 IUnknown * CDataBoundProperty::GetCursor()\n3607 IUnknown * CDataSourceControl::GetCursor()\n3608 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3609 HICON__ * CStatic::GetCursor()\n3610 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3611 int CDatabase::GetCursorCommitBehavior()const \n3612 int CDatabase::GetCursorRollbackBehavior()const \n3613 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n3614 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n3615 unsigned char * CByteArray::GetData()\n3616 unsigned char const * CByteArray::GetData()const \n3617 unsigned long * CDWordArray::GetData()\n3618 unsigned long const * CDWordArray::GetData()const \n3619 CObject * * CObArray::GetData()\n3620 CObject const * * CObArray::GetData()const \n3621 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3622 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3623 void * * CPtrArray::GetData()\n3624 void const * * CPtrArray::GetData()const \n3625 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3626 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > * CStringArray::GetData()\n3627 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const * CStringArray::GetData()const \n3628 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3629 unsigned int * CUIntArray::GetData()\n3630 unsigned int const * CUIntArray::GetData()const \n3631 unsigned short * CWordArray::GetData()\n3632 unsigned short const * CWordArray::GetData()const \n3633 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3634 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3635 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3636 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3637 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n3638 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3639 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3640 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3641 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3642 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3643 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3644 IDataObject * COleServerItem::GetDataObject()\n3645 COleControl::CControlDataSource * COleControl::GetDataSource()\n3646 COleDataSource * COleServerItem::GetDataSource()\n3647 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3648 CDC * CWnd::GetDC()\n3649 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3650 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3651 HACCEL__ * CDocument::GetDefaultAccelerator()\n3652 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3653 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3654 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3655 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n3656 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n3657 short CRecordset::GetDefaultFieldType(short)\n3658 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3659 HMENU__ * CDocument::GetDefaultMenu()\n3660 HMENU__ * COleServerDoc::GetDefaultMenu()\n3661 int CPrintDialog::GetDefaults()\n3662 int CPrintDialogEx::GetDefaults()\n3663 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n3664 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3665 unsigned long COleControlSite::GetDefBtnCode()\n3666 unsigned long CDialog::GetDefID()const \n3667 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3668 int CDumpContext::GetDepth()const \n3669 CWnd * CWnd::GetDescendantWindow(int,int)const \n3670 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3671 CWnd * CWnd::GetDesktopWindow()\n3672 int CDC::GetDeviceCaps(int)const \n3673 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n3674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n3675 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n3676 CPoint CScrollView::GetDeviceScrollPosition()const \n3677 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3678 _devicemodeA * CPageSetupDialog::GetDevMode()const \n3679 _devicemodeA * CPrintDialog::GetDevMode()const \n3680 _devicemodeA * CPrintDialogEx::GetDevMode()const \n3681 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3682 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3683 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3684 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3685 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3686 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3687 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3688 unsigned long COleSafeArray::GetDim()\n3689 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3690 int CCmdTarget::GetDispatchIID(_GUID *)\n3691 int COleControl::GetDispatchIID(_GUID *)\n3692 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3693 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3694 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3695 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetDisplayName()\n3696 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n3697 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3698 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3699 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3700 int COleControlSite::GetDlgCtrlID()const \n3701 int CWnd::GetDlgCtrlID()const \n3702 CWnd * COleControlContainer::GetDlgItem(int)const \n3703 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3704 CWnd * CWnd::GetDlgItem(int)const \n3705 void CWnd::GetDlgItem(int,HWND__ * *)const \n3706 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3707 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3708 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n3709 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3710 int CWnd::GetDlgItemTextA(int,char *,int)const \n3711 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3712 CDockBar * CDockContext::GetDockBar(unsigned long)\n3713 CControlBar * CDockBar::GetDockedControlBar(int)const \n3714 int CDockBar::GetDockedCount()const \n3715 int CDockBar::GetDockedVisibleCount()const \n3716 CFrameWnd * CControlBar::GetDockingFrame()const \n3717 void CFrameWnd::GetDockState(CDockState &)const \n3718 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3719 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3720 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n3721 CDocTemplate * CDocument::GetDocTemplate()const \n3722 CDocument * CDocItem::GetDocument()const \n3723 COleDocument * COleClientItem::GetDocument()const \n3724 COleServerDoc * COleServerItem::GetDocument()const \n3725 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3726 CRichEditDoc * CRichEditView::GetDocument()const \n3727 CDocument * CView::GetDocument()const \n3728 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3729 int CDocManager::GetDocumentCount()\n3730 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3731 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3732 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3733 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3734 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3735 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3736 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n3737 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n3738 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n3739 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3740 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3741 int CComboBox::GetDroppedState()const \n3742 int CComboBox::GetDroppedWidth()const \n3743 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3744 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3745 IDropTarget * CReBarCtrl::GetDropTarget()const \n3746 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3747 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3748 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3749 IUnknown * CWnd::GetDSCCursor()\n3750 CEdit * CListCtrl::GetEditControl()const \n3751 CEdit * CTreeCtrl::GetEditControl()const \n3752 CEdit * CComboBoxEx::GetEditCtrl()\n3753 CEdit & CEditView::GetEditCtrl()const \n3754 unsigned long CComboBox::GetEditSel()const \n3755 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n3756 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n3757 void COleSafeArray::GetElement(long *,void *)\n3758 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n3759 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n3760 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n3761 wchar_t * CDHtmlDialog::GetElementText(char const *)\n3762 unsigned long COleSafeArray::GetElemSize()\n3763 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3764 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3765 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3766 int COleControl::GetEnabled()\n3767 HENHMETAFILE__ * CStatic::GetEnhMetaFileA()const \n3768 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3769 int CPalette::GetEntryCount()\n3770 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3771 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n3772 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n3773 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3774 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3775 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3776 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3777 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3778 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3779 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3780 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3781 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3782 int COleControlSite::GetEventIID(_GUID *)\n3783 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3784 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n3785 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n3786 long CRichEditCtrl::GetEventMask()const \n3787 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3788 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3789 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3790 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3791 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3792 unsigned long COleControlSite::GetExStyle()const \n3793 unsigned long CWnd::GetExStyle()const \n3794 IDispatch * COleControl::GetExtendedControl()\n3795 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3796 unsigned long CComboBoxEx::GetExtendedStyle()const \n3797 unsigned long CListCtrl::GetExtendedStyle()\n3798 unsigned long CTabCtrl::GetExtendedStyle()\n3799 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3800 int CComboBox::GetExtendedUI()const \n3801 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3802 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3803 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3804 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3805 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3806 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3807 long CBrowserControlSite::GetExternal(IDispatch * *)\n3808 long CDHtmlDialog::GetExternal(IDispatch * *)\n3809 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3810 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3811 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3812 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3813 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetFaceName()const \n3814 short CRecordset::GetFieldIndexByName(char const *)\n3815 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3816 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3817 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3818 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3819 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3820 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3821 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3822 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n3823 CFile * CArchive::GetFile()const \n3824 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n3825 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n3826 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3827 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n3828 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n3829 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n3830 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n3831 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n3832 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFileName()\n3833 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n3834 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n3835 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n3836 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n3837 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n3838 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n3839 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n3840 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3841 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n3842 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n3843 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n3844 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n3845 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetFindString()const \n3846 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3847 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3848 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3849 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3850 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3851 CFrameWnd * COleDocument::GetFirstFrame()\n3852 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3853 __POSITION * CDocument::GetFirstViewPosition()const \n3854 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3855 int CEdit::GetFirstVisibleLine()const \n3856 int CRichEditCtrl::GetFirstVisibleLine()const \n3857 CWnd * COleControl::GetFocus()\n3858 CWnd * CWnd::GetFocus()\n3859 long COleControlSite::XOleIPSite::GetFocus()\n3860 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n3861 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n3862 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n3863 IFontDisp * COleControl::GetFont()\n3864 CFont * CWnd::GetFont()const \n3865 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3866 IFontDisp * CFontHolder::GetFontDispatch()\n3867 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3868 HFONT__ * CFontHolder::GetFontHandle()\n3869 unsigned long CDC::GetFontLanguageInfo()const \n3870 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3871 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n3872 unsigned long COleControl::GetForeColor()\n3873 CWnd * CWnd::GetForegroundWindow()\n3874 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3875 _GUID CPropertySection::GetFormatID()\n3876 unsigned short CPropertySet::GetFormatVersion()\n3877 int CPrintDialog::GetFromPage()const \n3878 unsigned int CPrintInfo::GetFromPage()const \n3879 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFromPrefix()\n3880 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n3881 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n3882 int CHtmlView::GetFullScreen()const \n3883 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3884 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3885 unsigned long CDC::GetGlyphOutlineA(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3886 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n3887 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3888 CBrush * CDC::GetHalftoneBrush()\n3889 void * CEdit::GetHandle()const \n3890 unsigned int CRectTracker::GetHandleMask()const \n3891 void CRectTracker::GetHandleRect(int,CRect *)const \n3892 int CRectTracker::GetHandleSize(tagRECT const *)const \n3893 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3894 unsigned int CMapPtrToWord::GetHashTableSize()const \n3895 unsigned int CMapStringToOb::GetHashTableSize()const \n3896 unsigned int CMapStringToPtr::GetHashTableSize()const \n3897 unsigned int CMapStringToString::GetHashTableSize()const \n3898 unsigned int CMapWordToOb::GetHashTableSize()const \n3899 unsigned int CMapWordToPtr::GetHashTableSize()const \n3900 CObject * & CObList::GetHead()\n3901 CObject const * & CObList::GetHead()const \n3902 void * & CPtrList::GetHead()\n3903 void const * & CPtrList::GetHead()const \n3904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetHead()\n3905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetHead()const \n3906 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3907 __POSITION * CObList::GetHeadPosition()const \n3908 __POSITION * CPtrList::GetHeadPosition()const \n3909 __POSITION * CStringList::GetHeadPosition()const \n3910 long CHtmlView::GetHeight()const \n3911 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3912 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n3913 void CSplitterWnd::GetHitRect(int,CRect &)\n3914 unsigned int CComboBox::GetHorizontalExtent()const \n3915 int CListBox::GetHorizontalExtent()const \n3916 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3917 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3918 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3919 HICON__ * CListCtrl::GetHotCursor()\n3920 CImageList * CToolBarCtrl::GetHotImageList()const \n3921 int CListCtrl::GetHotItem()\n3922 int CToolBarCtrl::GetHotItem()const \n3923 unsigned long CHotKeyCtrl::GetHotKey()const \n3924 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n3926 unsigned long CListCtrl::GetHoverTime()const \n3927 IDispatch * CHtmlView::GetHtmlDocument()const \n3928 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n3929 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n3930 unsigned int COleControl::GetHwnd()\n3931 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3932 HICON__ * CButton::GetIcon()const \n3933 HICON__ * CStatic::GetIcon()const \n3934 HICON__ * CWnd::GetIcon(int)const \n3935 HICON__ * COleClientItem::GetIconFromRegistry()const \n3936 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3937 void * COleChangeIconDialog::GetIconicMetafile()const \n3938 void * COleClientItem::GetIconicMetafile()\n3939 void * COleConvertDialog::GetIconicMetafile()const \n3940 void * COleInsertDialog::GetIconicMetafile()const \n3941 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3942 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3943 unsigned long CProperty::GetID()\n3944 int CPropertySection::GetID(char const *,unsigned long *)\n3945 IDataObject * COleDataObject::GetIDataObject(int)\n3946 IDispatch * CCmdTarget::GetIDispatch(int)\n3947 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3948 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3949 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3950 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3951 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3952 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3953 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3954 _GUID const & COleControl::XEventConnPt::GetIID()\n3955 int CImageList::GetImageCount()const \n3956 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3957 CImageList * CComboBoxEx::GetImageList()const \n3958 CImageList * CHeaderCtrl::GetImageList()const \n3959 CImageList * CListCtrl::GetImageList(int)const \n3960 CImageList * CReBarCtrl::GetImageList()const \n3961 CImageList * CTabCtrl::GetImageList()const \n3962 CImageList * CToolBarCtrl::GetImageList()const \n3963 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3964 unsigned int CTreeCtrl::GetIndent()const \n3965 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3966 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3967 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3968 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3969 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3970 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3971 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3972 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3973 CWnd * COleClientItem::GetInPlaceWindow()\n3974 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3975 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3976 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3977 void CSplitterWnd::GetInsideRect(CRect &)const \n3978 IUnknown * CCmdTarget::GetInterface(void const *)\n3979 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3980 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3981 IUnknown * COleControl::GetInterfaceHook(void const *)\n3982 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3983 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3984 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3985 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3986 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3987 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3988 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3989 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3990 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3991 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3992 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3993 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3994 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3995 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3996 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3997 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3998 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3999 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n4000 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n4001 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n4002 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n4003 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n4004 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n4005 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n4006 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n4007 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n4008 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n4009 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n4010 int CHeaderCtrl::GetItem(int,_HD_ITEMA *)const \n4011 int CListCtrl::GetItem(tagLVITEMA *)const \n4012 int CTabCtrl::GetItem(int,tagTCITEMA *)const \n4013 int CTreeCtrl::GetItem(tagTVITEMA *)const \n4014 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4015 int CHeaderCtrl::GetItemCount()const \n4016 int CListCtrl::GetItemCount()const \n4017 int CTabCtrl::GetItemCount()const \n4018 unsigned long CComboBox::GetItemData(int)const \n4019 unsigned long CListBox::GetItemData(int)const \n4020 unsigned long CListCtrl::GetItemData(int)const \n4021 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4022 void * CComboBox::GetItemDataPtr(int)const \n4023 void * CListBox::GetItemDataPtr(int)const \n4024 int CComboBox::GetItemHeight(int)const \n4025 int CListBox::GetItemHeight(int)const \n4026 short CTreeCtrl::GetItemHeight()const \n4027 unsigned int CStatusBar::GetItemID(int)const \n4028 unsigned int CToolBar::GetItemID(int)const \n4029 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4030 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetItemName()\n4031 void COleClientItem::GetItemName(char *)const \n4032 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleServerItem::GetItemName()const \n4033 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4034 void COleServerDoc::GetItemPosition(tagRECT *)const \n4035 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4036 int CListBox::GetItemRect(int,tagRECT *)const \n4037 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4038 void CStatusBar::GetItemRect(int,tagRECT *)const \n4039 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4040 void CToolBar::GetItemRect(int,tagRECT *)const \n4041 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4042 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4043 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4044 unsigned int COleClientItem::GetItemState()const \n4045 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4046 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4047 void COleClientItem::GetItemStorage()\n4048 void COleClientItem::GetItemStorageCompound()\n4049 void COleClientItem::GetItemStorageFlat()\n4050 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n4051 int CListCtrl::GetItemText(int,int,char *,int)const \n4052 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4053 int CDC::GetKerningPairsA(int,tagKERNINGPAIR *)const \n4054 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4055 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4056 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4057 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4058 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4059 CWnd * CWnd::GetLastActivePopup()const \n4060 int CAsyncSocket::GetLastError()\n4061 unsigned int COleDialog::GetLastError()const \n4062 long COleClientItem::GetLastStatus()const \n4063 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4064 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4065 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4066 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4067 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4068 unsigned long CDC::GetLayout()const \n4069 long CRecordset::GetLBFetchSize(long)\n4070 void COleSafeArray::GetLBound(unsigned long,long *)\n4071 long CRecordset::GetLBReallocSize(long)\n4072 int CComboBox::GetLBText(int,char *)const \n4073 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4074 int CComboBox::GetLBTextLen(int)const \n4075 long CHtmlView::GetLeft()const \n4076 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n4077 int ATL::CSimpleStringT<char,1>::GetLength()const \n4078 unsigned __int64 CFile::GetLength()const \n4079 unsigned __int64 CFileFind::GetLength()const \n4080 unsigned __int64 CGopherFileFind::GetLength()const \n4081 unsigned __int64 CInternetFile::GetLength()const \n4082 unsigned __int64 CMemFile::GetLength()const \n4083 unsigned __int64 COleStreamFile::GetLength()const \n4084 unsigned __int64 CSocketFile::GetLength()const \n4085 unsigned __int64 CStdioFile::GetLength()const \n4086 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4087 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4088 unsigned int CEdit::GetLimitText()const \n4089 long CRichEditCtrl::GetLimitText()const \n4090 int CEdit::GetLine(int,char *)const \n4091 int CEdit::GetLine(int,char *,int)const \n4092 int CRichEditCtrl::GetLine(int,char *)const \n4093 int CRichEditCtrl::GetLine(int,char *,int)const \n4094 unsigned long CTreeCtrl::GetLineColor()const \n4095 int CEdit::GetLineCount()const \n4096 int CRichEditCtrl::GetLineCount()const \n4097 int CSliderCtrl::GetLineSize()const \n4098 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4099 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n4100 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4101 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4102 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n4103 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4104 CPtrList * CPropertySection::GetList()\n4105 CPtrList * CPropertySet::GetList()\n4106 CListCtrl & CListView::GetListCtrl()const \n4107 unsigned long CComboBox::GetLocale()const \n4108 unsigned long CListBox::GetLocale()const \n4109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n4110 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n4111 CGopherLocator CGopherFileFind::GetLocator()const \n4112 int CGopherLocator::GetLocatorType(unsigned long &)const \n4113 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4114 int CFont::GetLogFont(tagLOGFONTA *)\n4115 int CPen::GetLogPen(tagLOGPEN *)\n4116 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4117 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4118 long CFieldExchange::GetLongBinarySize(int)\n4119 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4120 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4121 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n4122 CWnd * CWinThread::GetMainWnd()\n4123 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n4124 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n4125 int CDC::GetMapMode()const \n4126 void CToolTipCtrl::GetMargin(tagRECT *)const \n4127 unsigned long CEdit::GetMargins()const \n4128 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4129 CRect CRichEditView::GetMargins()const \n4130 int CConnectionPoint::GetMaxConnections()\n4131 unsigned int CPrintInfo::GetMaxPage()const \n4132 int CMonthCalCtrl::GetMaxSelCount()const \n4133 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4134 int CToolBarCtrl::GetMaxTextRows()const \n4135 int CToolTipCtrl::GetMaxTipWidth()const \n4136 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n4137 CMenu * CWnd::GetMenu()const \n4138 int CHtmlView::GetMenuBar()const \n4139 unsigned long CMenu::GetMenuContextHelpId()const \n4140 unsigned int CMenu::GetMenuItemCount()const \n4141 unsigned int CMenu::GetMenuItemID(int)const \n4142 int CMenu::GetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n4143 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4144 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n4145 int CMenu::GetMenuStringA(unsigned int,char *,int,unsigned int)const \n4146 CWnd * CFrameWnd::GetMessageBar()\n4147 CWnd * CMDIChildWnd::GetMessageBar()\n4148 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n4149 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n4150 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n4151 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n4152 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n4153 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n4154 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n4155 AFX_MSGMAP const * CDialog::GetMessageMap()const \n4156 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n4157 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n4158 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n4159 AFX_MSGMAP const * CDocument::GetMessageMap()const \n4160 AFX_MSGMAP const * CEditView::GetMessageMap()const \n4161 AFX_MSGMAP const * CFormView::GetMessageMap()const \n4162 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n4163 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n4164 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n4165 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n4166 AFX_MSGMAP const * CListView::GetMessageMap()const \n4167 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n4168 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n4169 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n4170 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n4171 AFX_MSGMAP const * COleControl::GetMessageMap()const \n4172 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n4173 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n4174 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n4175 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n4176 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n4177 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n4178 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n4179 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n4180 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n4181 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n4182 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n4183 AFX_MSGMAP const * CReBar::GetMessageMap()const \n4184 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n4185 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n4186 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n4187 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n4188 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n4189 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n4190 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n4191 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n4192 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n4193 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n4194 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n4195 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n4196 AFX_MSGMAP const * CView::GetMessageMap()const \n4197 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n4198 AFX_MSGMAP const * CWnd::GetMessageMap()const \n4199 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4200 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4201 long CDataSourceControl::GetMetaData()\n4202 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4203 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4204 unsigned int CPrintInfo::GetMinPage()const \n4205 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4206 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4207 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4208 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4209 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4210 float CDC::GetMiterLimit()const \n4211 int CEdit::GetModify()const \n4212 int CRichEditCtrl::GetModify()const \n4213 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4214 IMoniker * CMonikerFile::GetMoniker()const \n4215 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4216 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4217 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4218 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4219 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4220 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4221 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4222 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4223 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4224 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4225 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4226 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4227 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4228 int CMonthCalCtrl::GetMonthDelta()const \n4229 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4230 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4231 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4232 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4233 unsigned long CDC::GetNearestColor(unsigned long)const \n4234 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4235 unsigned long COleClientItem::GetNewItemNumber()\n4236 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4237 CDataBoundProperty * CDataBoundProperty::GetNext()\n4238 CObject * & CObList::GetNext(__POSITION * &)\n4239 CObject const * & CObList::GetNext(__POSITION * &)const \n4240 void * & CPtrList::GetNext(__POSITION * &)\n4241 void const * & CPtrList::GetNext(__POSITION * &)const \n4242 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetNext(__POSITION * &)\n4243 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetNext(__POSITION * &)const \n4244 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4245 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4246 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n4247 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n4248 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4249 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4250 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4251 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4252 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4253 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4254 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4255 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4256 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4257 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4258 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4259 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4260 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4261 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4262 int CListCtrl::GetNextItem(int,int)const \n4263 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4264 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4265 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4266 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4267 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4268 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4269 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4270 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4271 CView * CDocument::GetNextView(__POSITION * &)const \n4272 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4273 CWnd * CWnd::GetNextWindow(unsigned int)const \n4274 ATL::CStringData * CAfxStringMgr::GetNilString()\n4275 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4276 void CCmdTarget::GetNotSupported()\n4277 void COleControl::GetNotSupported()\n4278 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4279 unsigned int CSliderCtrl::GetNumTics()const \n4280 int CGdiObject::GetObjectA(int,void *)const \n4281 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n4282 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4283 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4284 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4285 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4286 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n4287 unsigned int CArchive::GetObjectSchema()\n4288 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4289 unsigned int CGdiObject::GetObjectType()const \n4290 short CRecordset::GetODBCFieldCount()const \n4291 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4292 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n4293 int CHtmlView::GetOffline()const \n4294 tagOFNA & CFileDialog::GetOFN()\n4295 tagOFNA const & CFileDialog::GetOFN()const \n4296 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4297 IOleObject * COleServerItem::GetOleObject()\n4298 unsigned long COleSafeArray::GetOneDimSize()\n4299 CWnd * CWnd::GetOpenClipboardWindow()\n4300 int CDocManager::GetOpenDocumentCount()\n4301 int CWinApp::GetOpenDocumentCount()\n4302 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4303 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4304 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4305 unsigned int CRichEditCtrl::GetOptions()const \n4306 int CHeaderCtrl::GetOrderArray(int *,int)\n4307 int CListCtrl::GetOrigin(tagPOINT *)const \n4308 unsigned long CPropertySet::GetOSVersion()\n4309 CWnd * COleControl::GetOuterWindow()const \n4310 unsigned int CDC::GetOutlineTextMetricsA(unsigned int,_OUTLINETEXTMETRICA *)const \n4311 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4312 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4313 CSize CDC::GetOutputTabbedTextExtent(char const *,int,int,int *)const \n4314 CSize CDC::GetOutputTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n4315 CSize CDC::GetOutputTextExtent(char const *,int)const \n4316 int CDC::GetOutputTextMetrics(tagTEXTMETRICA *)const \n4317 CWnd * CWnd::GetOwner()const \n4318 CPropertyPage * CPropertySheet::GetPage(int)const \n4319 int COleDocObjectItem::GetPageCount(long *,long *)\n4320 int CPropertySheet::GetPageCount()const \n4321 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4322 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4323 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4324 CRect CRichEditView::GetPageRect()const \n4325 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4326 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4327 int CSliderCtrl::GetPageSize()const \n4328 CPalette * CReBarCtrl::GetPalette()const \n4329 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4330 CWnd * CSplitterWnd::GetPane(int,int)const \n4331 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4332 unsigned int CStatusBar::GetPaneStyle(int)const \n4333 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n4334 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4335 CSize CPageSetupDialog::GetPaperSize()const \n4336 CSize CRichEditView::GetPaperSize()const \n4337 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4338 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4339 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4340 CWnd * CWnd::GetParent()const \n4341 IDispatch * CHtmlView::GetParentBrowser()const \n4342 CFrameWnd * CWnd::GetParentFrame()const \n4343 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4344 CWnd * CWnd::GetParentOwner()const \n4345 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4346 int CStatusBarCtrl::GetParts(int,int *)const \n4347 char CEdit::GetPasswordChar()const \n4348 int COlePasteSpecialDialog::GetPasteIndex()const \n4349 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDataPathProperty::GetPath()const \n4350 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4351 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetPathName()const \n4352 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n4353 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleInsertDialog::GetPathName()const \n4354 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4355 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4356 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4357 unsigned long CDC::GetPixel(int,int)const \n4358 unsigned long CDC::GetPixel(tagPOINT)const \n4359 int CDC::GetPolyFillMode()const \n4360 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n4361 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n4362 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n4363 int CProgressCtrl::GetPos()\n4364 int CSliderCtrl::GetPos()const \n4365 int CSpinButtonCtrl::GetPos()const \n4366 int CSpinButtonCtrl::GetPos32(int *)const \n4367 unsigned __int64 CFile::GetPosition()const \n4368 unsigned __int64 CMemFile::GetPosition()const \n4369 unsigned __int64 COleStreamFile::GetPosition()const \n4370 unsigned __int64 CSocketFile::GetPosition()const \n4371 unsigned __int64 CStdioFile::GetPosition()const \n4372 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4373 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4374 CObject * & CObList::GetPrev(__POSITION * &)\n4375 CObject const * & CObList::GetPrev(__POSITION * &)const \n4376 void * & CPtrList::GetPrev(__POSITION * &)\n4377 void const * & CPtrList::GetPrev(__POSITION * &)const \n4378 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetPrev(__POSITION * &)\n4379 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetPrev(__POSITION * &)const \n4380 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4381 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4382 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4383 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4384 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4385 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4386 HDC__ * CPrintDialog::GetPrinterDC()const \n4387 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4388 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n4389 CFont * CEditView::GetPrinterFont()const \n4390 CRect CRichEditView::GetPrintRect()const \n4391 int CRichEditView::GetPrintWidth()const \n4392 long CAsyncMonikerFile::GetPriority()const \n4393 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n4394 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n4395 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n4396 int COlePropertyPage::GetPropCheck(char const *,int *)\n4397 COleVariant CHtmlView::GetProperty(char const *)\n4398 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4399 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4400 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4401 CProperty * CPropertySection::GetProperty(unsigned long)\n4402 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4403 void CWnd::GetProperty(long,unsigned short,void *)const \n4404 int COlePropertyPage::GetPropIndex(char const *,int *)\n4405 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4406 int COlePropertyPage::GetPropRadio(char const *,int *)\n4407 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4408 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n4409 int COlePropertyPage::GetPropText(char const *,short *)\n4410 int COlePropertyPage::GetPropText(char const *,int *)\n4411 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n4412 int COlePropertyPage::GetPropText(char const *,long *)\n4413 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n4414 int COlePropertyPage::GetPropText(char const *,float *)\n4415 int COlePropertyPage::GetPropText(char const *,double *)\n4416 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n4417 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n4418 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n4419 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4420 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4421 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4422 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4423 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4424 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4425 void CProgressCtrl::GetRange(int &,int &)\n4426 void CSliderCtrl::GetRange(int &,int &)const \n4427 unsigned long CSpinButtonCtrl::GetRange()const \n4428 void CSpinButtonCtrl::GetRange(int &,int &)const \n4429 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4430 int CSliderCtrl::GetRangeMax()const \n4431 int CSliderCtrl::GetRangeMin()const \n4432 void * CProperty::GetRawValue()\n4433 int CFileDialog::GetReadOnlyPref()const \n4434 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4435 long COleControl::GetReadyState()\n4436 CReBarCtrl & CReBar::GetReBarCtrl()const \n4437 long CRecordset::GetRecordCount()const \n4438 void CEdit::GetRect(tagRECT *)const \n4439 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4440 void CRichEditCtrl::GetRect(tagRECT *)const \n4441 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4442 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4443 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4444 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4445 int COleControl::GetRectInContainer(tagRECT *)\n4446 enum _undonameid CRichEditCtrl::GetRedoName()const \n4447 int CRgn::GetRegionData(_RGNDATA *,int)const \n4448 int CHtmlView::GetRegisterAsBrowser()const \n4449 int CHtmlView::GetRegisterAsDropTarget()const \n4450 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetReplaceString()const \n4451 int CRgn::GetRgnBox(tagRECT *)const \n4452 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4453 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n4454 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n4455 _TREEITEM * CTreeCtrl::GetRootItem()const \n4456 int CDC::GetROP2()const \n4457 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4458 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4459 CView * CCmdTarget::GetRoutingView()\n4460 CView * CCmdTarget::GetRoutingView_()\n4461 unsigned int CReBarCtrl::GetRowCount()const \n4462 int CSplitterWnd::GetRowCount()const \n4463 int CTabCtrl::GetRowCount()const \n4464 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4465 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4466 int CToolBarCtrl::GetRows()const \n4467 unsigned long CRecordset::GetRowsetSize()const \n4468 unsigned long CRecordset::GetRowsFetched()const \n4469 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4470 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4471 CRuntime* CArchiveException::GetRuntimeClass()const \n4472 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4473 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4474 CRuntime* CBitmap::GetRuntimeClass()const \n4475 CRuntime* CBitmapButton::GetRuntimeClass()const \n4476 CRuntime* CBrush::GetRuntimeClass()const \n4477 CRuntime* CButton::GetRuntimeClass()const \n4478 CRuntime* CByteArray::GetRuntimeClass()const \n4479 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4480 CRuntime* CCheckListBox::GetRuntimeClass()const \n4481 CRuntime* CClientDC::GetRuntimeClass()const \n4482 CRuntime* CCmdTarget::GetRuntimeClass()const \n4483 CRuntime* CColorDialog::GetRuntimeClass()const \n4484 CRuntime* CComboBox::GetRuntimeClass()const \n4485 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4486 CRuntime* CControlBar::GetRuntimeClass()const \n4487 CRuntime* CCriticalSection::GetRuntimeClass()const \n4488 CRuntime* CCtrlView::GetRuntimeClass()const \n4489 CRuntime* CDatabase::GetRuntimeClass()const \n4490 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4491 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4492 CRuntime* CDBException::GetRuntimeClass()const \n4493 CRuntime* CDC::GetRuntimeClass()const \n4494 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4495 CRuntime* CDialog::GetRuntimeClass()const \n4496 CRuntime* CDialogBar::GetRuntimeClass()const \n4497 CRuntime* CDocItem::GetRuntimeClass()const \n4498 CRuntime* CDockBar::GetRuntimeClass()const \n4499 CRuntime* CDockState::GetRuntimeClass()const \n4500 CRuntime* CDocManager::GetRuntimeClass()const \n4501 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4502 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4503 CRuntime* CDocTemplate::GetRuntimeClass()const \n4504 CRuntime* CDocument::GetRuntimeClass()const \n4505 CRuntime* CDragListBox::GetRuntimeClass()const \n4506 CRuntime* CDWordArray::GetRuntimeClass()const \n4507 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4508 CRuntime* CEdit::GetRuntimeClass()const \n4509 CRuntime* CEditView::GetRuntimeClass()const \n4510 CRuntime* CEvent::GetRuntimeClass()const \n4511 CRuntime* CException::GetRuntimeClass()const \n4512 CRuntime* CFile::GetRuntimeClass()const \n4513 CRuntime* CFileDialog::GetRuntimeClass()const \n4514 CRuntime* CFileException::GetRuntimeClass()const \n4515 CRuntime* CFileFind::GetRuntimeClass()const \n4516 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4517 CRuntime* CFont::GetRuntimeClass()const \n4518 CRuntime* CFontDialog::GetRuntimeClass()const \n4519 CRuntime* CFormView::GetRuntimeClass()const \n4520 CRuntime* CFrameWnd::GetRuntimeClass()const \n4521 CRuntime* CFtpConnection::GetRuntimeClass()const \n4522 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4523 CRuntime* CGdiObject::GetRuntimeClass()const \n4524 CRuntime* CGopherConnection::GetRuntimeClass()const \n4525 CRuntime* CGopherFile::GetRuntimeClass()const \n4526 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4527 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4528 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4529 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4530 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4531 CRuntime* CHtmlView::GetRuntimeClass()const \n4532 CRuntime* CHttpConnection::GetRuntimeClass()const \n4533 CRuntime* CHttpFile::GetRuntimeClass()const \n4534 CRuntime* CImageList::GetRuntimeClass()const \n4535 CRuntime* CInternetConnection::GetRuntimeClass()const \n4536 CRuntime* CInternetException::GetRuntimeClass()const \n4537 CRuntime* CInternetFile::GetRuntimeClass()const \n4538 CRuntime* CInternetSession::GetRuntimeClass()const \n4539 CRuntime* CInvalidArgException::GetRuntimeClass()const \n4540 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4541 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4542 CRuntime* CListBox::GetRuntimeClass()const \n4543 CRuntime* CListCtrl::GetRuntimeClass()const \n4544 CRuntime* CListView::GetRuntimeClass()const \n4545 CRuntime* CLongBinary::GetRuntimeClass()const \n4546 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4547 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4548 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4549 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4550 CRuntime* CMapStringToString::GetRuntimeClass()const \n4551 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4552 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4553 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4554 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4555 CRuntime* CMemFile::GetRuntimeClass()const \n4556 CRuntime* CMemoryException::GetRuntimeClass()const \n4557 CRuntime* CMenu::GetRuntimeClass()const \n4558 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4559 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4560 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4561 CRuntime* CMonikerFile::GetRuntimeClass()const \n4562 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4563 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4564 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4565 CRuntime* CMutex::GetRuntimeClass()const \n4566 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4567 CRuntime* CObArray::GetRuntimeClass()const \n4568 CRuntime* CObject::GetRuntimeClass()const \n4569 CRuntime* CObList::GetRuntimeClass()const \n4570 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4571 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4572 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4573 CRuntime* COleClientItem::GetRuntimeClass()const \n4574 CRuntime* COleControl::GetRuntimeClass()const \n4575 CRuntime* COleControlModule::GetRuntimeClass()const \n4576 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4577 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4578 CRuntime* COleDialog::GetRuntimeClass()const \n4579 CRuntime* COleDispatchException::GetRuntimeClass()const \n4580 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4581 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4582 CRuntime* COleDocument::GetRuntimeClass()const \n4583 CRuntime* COleException::GetRuntimeClass()const \n4584 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4585 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4586 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4587 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4588 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4589 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4590 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4591 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4592 CRuntime* COleResizeBar::GetRuntimeClass()const \n4593 CRuntime* COleServerDoc::GetRuntimeClass()const \n4594 CRuntime* COleServerItem::GetRuntimeClass()const \n4595 CRuntime* COleStreamFile::GetRuntimeClass()const \n4596 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4597 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4598 CRuntime* CPaintDC::GetRuntimeClass()const \n4599 CRuntime* CPalette::GetRuntimeClass()const \n4600 CRuntime* CPen::GetRuntimeClass()const \n4601 CRuntime* CPreviewDC::GetRuntimeClass()const \n4602 CRuntime* CPreviewView::GetRuntimeClass()const \n4603 CRuntime* CPrintDialog::GetRuntimeClass()const \n4604 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4605 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4606 CRuntime* CPropertyPage::GetRuntimeClass()const \n4607 CRuntime* CPropertySheet::GetRuntimeClass()const \n4608 CRuntime* CPtrArray::GetRuntimeClass()const \n4609 CRuntime* CPtrList::GetRuntimeClass()const \n4610 CRuntime* CReBar::GetRuntimeClass()const \n4611 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4612 CRuntime* CRecordset::GetRuntimeClass()const \n4613 CRuntime* CRecordView::GetRuntimeClass()const \n4614 CRuntime* CResourceException::GetRuntimeClass()const \n4615 CRuntime* CRgn::GetRuntimeClass()const \n4616 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4617 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4618 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4619 CRuntime* CRichEditView::GetRuntimeClass()const \n4620 CRuntime* CScrollBar::GetRuntimeClass()const \n4621 CRuntime* CScrollView::GetRuntimeClass()const \n4622 CRuntime* CSemaphore::GetRuntimeClass()const \n4623 CRuntime* CSharedFile::GetRuntimeClass()const \n4624 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4625 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4626 CRuntime* CSocket::GetRuntimeClass()const \n4627 CRuntime* CSocketFile::GetRuntimeClass()const \n4628 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4629 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4630 CRuntime* CStatic::GetRuntimeClass()const \n4631 CRuntime* CStatusBar::GetRuntimeClass()const \n4632 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4633 CRuntime* CStdioFile::GetRuntimeClass()const \n4634 CRuntime* CStringArray::GetRuntimeClass()const \n4635 CRuntime* CStringList::GetRuntimeClass()const \n4636 CRuntime* CSyncObject::GetRuntimeClass()const \n4637 CRuntime* CTabCtrl::GetRuntimeClass()const \n4638 CRuntime* CToolBar::GetRuntimeClass()const \n4639 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4640 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4641 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4642 CRuntime* CTreeView::GetRuntimeClass()const \n4643 CRuntime* CUIntArray::GetRuntimeClass()const \n4644 CRuntime* CUserException::GetRuntimeClass()const \n4645 CRuntime* CView::GetRuntimeClass()const \n4646 CRuntime* CWinApp::GetRuntimeClass()const \n4647 CRuntime* CWindowDC::GetRuntimeClass()const \n4648 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4649 CRuntime* CWinThread::GetRuntimeClass()const \n4650 CRuntime* CWnd::GetRuntimeClass()const \n4651 CRuntime* CWordArray::GetRuntimeClass()const \n4652 void * CGdiObject::GetSafeHandle()const \n4653 _IMAGELIST * CImageList::GetSafeHandle()const \n4654 HDC__ * CDC::GetSafeHdc()const \n4655 HMENU__ * CMenu::GetSafeHmenu()const \n4656 HWND__ * CWnd::GetSafeHwnd()const \n4657 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4658 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4659 unsigned long * CColorDialog::GetSavedCustomColors()\n4660 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n4661 CSize CDockState::GetScreenSize()\n4662 CScrollBar * CView::GetScrollBarCtrl(int)const \n4663 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4664 void CScrollView::GetScrollBarSizes(CSize &)\n4665 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4666 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4667 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4668 int CScrollBar::GetScrollLimit()\n4669 int CWnd::GetScrollLimit(int)\n4670 int CScrollBar::GetScrollPos()const \n4671 int CWnd::GetScrollPos(int)const \n4672 CPoint CScrollView::GetScrollPosition()const \n4673 void CScrollBar::GetScrollRange(int *,int *)const \n4674 void CWnd::GetScrollRange(int,int *,int *)const \n4675 unsigned long CSplitterWnd::GetScrollStyle()const \n4676 unsigned int CTreeCtrl::GetScrollTime()const \n4677 CPropertySection * CPropertySet::GetSection(_GUID)\n4678 HKEY__ * CWinApp::GetSectionKey(char const *)\n4679 char const * CPropertySection::GetSectionName()\n4680 unsigned long CEdit::GetSel()const \n4681 void CEdit::GetSel(int &,int &)const \n4682 int CListBox::GetSel(int)const \n4683 void CRichEditCtrl::GetSel(long &,long &)const \n4684 void CRichEditCtrl::GetSel(_charrange &)const \n4685 int CListBox::GetSelCount()const \n4686 unsigned int CListCtrl::GetSelectedCount()const \n4687 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4688 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4689 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4690 void CSliderCtrl::GetSelection(int &,int &)const \n4691 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n4692 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n4693 int CListCtrl::GetSelectionMark()\n4694 unsigned int COleBusyDialog::GetSelectionType()const \n4695 unsigned int COleConvertDialog::GetSelectionType()const \n4696 unsigned int COleInsertDialog::GetSelectionType()const \n4697 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4698 unsigned short CRichEditCtrl::GetSelectionType()const \n4699 int CListBox::GetSelItems(int,int *)const \n4700 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4701 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4702 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4703 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n4704 long CRichEditCtrl::GetSelText(char *)const \n4705 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CInternetConnection::GetServerName()const \n4706 CInternetSession * CInternetConnection::GetSession()const \n4707 int CHtmlView::GetSilent()const \n4708 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4709 int CByteArray::GetSize()const \n4710 int CDWordArray::GetSize()const \n4711 int CFontDialog::GetSize()const \n4712 int CMapPtrToPtr::GetSize()const \n4713 int CMapPtrToWord::GetSize()const \n4714 int CMapStringToOb::GetSize()const \n4715 int CMapStringToPtr::GetSize()const \n4716 int CMapStringToString::GetSize()const \n4717 int CMapWordToOb::GetSize()const \n4718 int CMapWordToPtr::GetSize()const \n4719 int CObArray::GetSize()const \n4720 int CObList::GetSize()const \n4721 unsigned long CPropertySection::GetSize()\n4722 int CPtrArray::GetSize()const \n4723 int CPtrList::GetSize()const \n4724 int CStringArray::GetSize()const \n4725 int CStringList::GetSize()const \n4726 int CUIntArray::GetSize()const \n4727 int CWordArray::GetSize()const \n4728 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4729 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4730 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4731 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4732 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4733 CWnd * CSplitterWnd::GetSizingParent()\n4734 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4735 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4736 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4737 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4738 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetSQL()const \n4739 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4740 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4741 char const * CHtmlEditCtrl::GetStartDocument()\n4742 char const * CHtmlEditView::GetStartDocument()\n4743 __POSITION * CConnectionPoint::GetStartPosition()const \n4744 __POSITION * CFileDialog::GetStartPosition()const \n4745 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4746 __POSITION * CMapPtrToWord::GetStartPosition()const \n4747 __POSITION * CMapStringToOb::GetStartPosition()const \n4748 __POSITION * CMapStringToPtr::GetStartPosition()const \n4749 __POSITION * CMapStringToString::GetStartPosition()const \n4750 __POSITION * CMapWordToOb::GetStartPosition()const \n4751 __POSITION * CMapWordToPtr::GetStartPosition()const \n4752 __POSITION * COleDocument::GetStartPosition()const \n4753 __POSITION * CRichEditDoc::GetStartPosition()const \n4754 unsigned int CButton::GetState()const \n4755 int CToolBarCtrl::GetState(int)const \n4756 int CFile::GetStatus(CFileStatus &)const \n4757 int CFile::GetStatus(char const *,CFileStatus &)\n4758 int CMemFile::GetStatus(CFileStatus &)const \n4759 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4760 int COleStreamFile::GetStatus(CFileStatus &)const \n4761 void CRecordset::GetStatus(CRecordsetStatus &)const \n4762 int CHtmlView::GetStatusBar()const \n4763 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4764 unsigned long COleControl::GetStockEventMask()const \n4765 unsigned long COleControl::GetStockPropMask()const \n4766 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n4767 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n4768 IStream * COleStreamFile::GetStream()const \n4769 int CRichEditDoc::GetStreamFormat()const \n4770 int CDC::GetStretchBltMode()const \n4771 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n4772 char const * ATL::CSimpleStringT<char,1>::GetString()const \n4773 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4774 int CToolBarCtrl::GetString(int,char *,int)const \n4775 int CListCtrl::GetStringWidth(char const *)const \n4776 unsigned long COleControlSite::GetStyle()const \n4777 unsigned long COleControlSiteOrWnd::GetStyle()const \n4778 unsigned long CToolBarCtrl::GetStyle()const \n4779 unsigned long CWnd::GetStyle()const \n4780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetStyleName()const \n4781 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4782 CMenu * CMenu::GetSubMenu(int)const \n4783 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4784 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4785 CMenu * CWnd::GetSystemMenu(int)const \n4786 CSize CDC::GetTabbedTextExtentA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4787 CSize CDC::GetTabbedTextExtentA(char const *,int,int,int *)const \n4788 CTabCtrl * CPropertySheet::GetTabControl()const \n4789 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetTableName()const \n4790 CObject * & CObList::GetTail()\n4791 CObject const * & CObList::GetTail()const \n4792 void * & CPtrList::GetTail()\n4793 void const * & CPtrList::GetTail()const \n4794 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetTail()\n4795 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetTail()const \n4796 __POSITION * CObList::GetTailPosition()const \n4797 __POSITION * CPtrList::GetTailPosition()const \n4798 __POSITION * CStringList::GetTailPosition()const \n4799 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4800 int CListBox::GetText(int,char *)const \n4801 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4802 wchar_t * COleControl::GetText()\n4803 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n4804 int CStatusBarCtrl::GetText(char const *,int,int *)const \n4805 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n4806 unsigned int CDC::GetTextAlign()const \n4807 unsigned long CListCtrl::GetTextBkColor()const \n4808 int CDC::GetTextCharacterExtra()const \n4809 unsigned long CDC::GetTextColor()const \n4810 unsigned long CListCtrl::GetTextColor()const \n4811 unsigned long CReBarCtrl::GetTextColor()const \n4812 unsigned long CTreeCtrl::GetTextColor()const \n4813 CSize CDC::GetTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n4814 CSize CDC::GetTextExtent(char const *,int)const \n4815 int CDC::GetTextFaceA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4816 int CDC::GetTextFaceA(int,char *)const \n4817 int CListBox::GetTextLen(int)const \n4818 long CRecordset::GetTextLen(short,unsigned long)\n4819 long CRichEditCtrl::GetTextLength()const \n4820 long CRichEditView::GetTextLength()const \n4821 int CStatusBarCtrl::GetTextLength(int,int *)const \n4822 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4823 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4824 int CDC::GetTextMetricsA(tagTEXTMETRICA *)const \n4825 unsigned int CRichEditCtrl::GetTextMode()const \n4826 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4827 int CHtmlView::GetTheaterMode()const \n4828 CRuntime* CAnimateCtrl::GetThisClass()\n4829 CRuntime* CArchiveException::GetThisClass()\n4830 CRuntime* CAsyncMonikerFile::GetThisClass()\n4831 CRuntime* CAsyncSocket::GetThisClass()\n4832 CRuntime* CBitmap::GetThisClass()\n4833 CRuntime* CBitmapButton::GetThisClass()\n4834 CRuntime* CBrush::GetThisClass()\n4835 CRuntime* CButton::GetThisClass()\n4836 CRuntime* CByteArray::GetThisClass()\n4837 CRuntime* CCachedDataPathProperty::GetThisClass()\n4838 CRuntime* CCheckListBox::GetThisClass()\n4839 CRuntime* CClientDC::GetThisClass()\n4840 CRuntime* CCmdTarget::GetThisClass()\n4841 CRuntime* CColorDialog::GetThisClass()\n4842 CRuntime* CComboBox::GetThisClass()\n4843 CRuntime* CComboBoxEx::GetThisClass()\n4844 CRuntime* CControlBar::GetThisClass()\n4845 CRuntime* CCriticalSection::GetThisClass()\n4846 CRuntime* CCtrlView::GetThisClass()\n4847 CRuntime* CDatabase::GetThisClass()\n4848 CRuntime* CDataPathProperty::GetThisClass()\n4849 CRuntime* CDateTimeCtrl::GetThisClass()\n4850 CRuntime* CDBException::GetThisClass()\n4851 CRuntime* CDC::GetThisClass()\n4852 CRuntime* CDHtmlDialog::GetThisClass()\n4853 CRuntime* CDialog::GetThisClass()\n4854 CRuntime* CDialogBar::GetThisClass()\n4855 CRuntime* CDocItem::GetThisClass()\n4856 CRuntime* CDockBar::GetThisClass()\n4857 CRuntime* CDockState::GetThisClass()\n4858 CRuntime* CDocManager::GetThisClass()\n4859 CRuntime* CDocObjectServer::GetThisClass()\n4860 CRuntime* CDocObjectServerItem::GetThisClass()\n4861 CRuntime* CDocTemplate::GetThisClass()\n4862 CRuntime* CDocument::GetThisClass()\n4863 CRuntime* CDragListBox::GetThisClass()\n4864 CRuntime* CDWordArray::GetThisClass()\n4865 CRuntime* CDynLinkLibrary::GetThisClass()\n4866 CRuntime* CEdit::GetThisClass()\n4867 CRuntime* CEditView::GetThisClass()\n4868 CRuntime* CEvent::GetThisClass()\n4869 CRuntime* CException::GetThisClass()\n4870 CRuntime* CFile::GetThisClass()\n4871 CRuntime* CFileDialog::GetThisClass()\n4872 CRuntime* CFileException::GetThisClass()\n4873 CRuntime* CFileFind::GetThisClass()\n4874 CRuntime* CFindReplaceDialog::GetThisClass()\n4875 CRuntime* CFont::GetThisClass()\n4876 CRuntime* CFontDialog::GetThisClass()\n4877 CRuntime* CFormView::GetThisClass()\n4878 CRuntime* CFrameWnd::GetThisClass()\n4879 CRuntime* CFtpConnection::GetThisClass()\n4880 CRuntime* CFtpFileFind::GetThisClass()\n4881 CRuntime* CGdiObject::GetThisClass()\n4882 CRuntime* CGopherConnection::GetThisClass()\n4883 CRuntime* CGopherFile::GetThisClass()\n4884 CRuntime* CGopherFileFind::GetThisClass()\n4885 CRuntime* CHeaderCtrl::GetThisClass()\n4886 CRuntime* CHotKeyCtrl::GetThisClass()\n4887 CRuntime* CHtmlEditDoc::GetThisClass()\n4888 CRuntime* CHtmlEditView::GetThisClass()\n4889 CRuntime* CHtmlView::GetThisClass()\n4890 CRuntime* CHttpConnection::GetThisClass()\n4891 CRuntime* CHttpFile::GetThisClass()\n4892 CRuntime* CImageList::GetThisClass()\n4893 CRuntime* CInternetConnection::GetThisClass()\n4894 CRuntime* CInternetException::GetThisClass()\n4895 CRuntime* CInternetFile::GetThisClass()\n4896 CRuntime* CInternetSession::GetThisClass()\n4897 CRuntime* CInvalidArgException::GetThisClass()\n4898 CRuntime* CIPAddressCtrl::GetThisClass()\n4899 CRuntime* CLinkCtrl::GetThisClass()\n4900 CRuntime* CListBox::GetThisClass()\n4901 CRuntime* CListCtrl::GetThisClass()\n4902 CRuntime* CListView::GetThisClass()\n4903 CRuntime* CLongBinary::GetThisClass()\n4904 CRuntime* CMapPtrToPtr::GetThisClass()\n4905 CRuntime* CMapPtrToWord::GetThisClass()\n4906 CRuntime* CMapStringToOb::GetThisClass()\n4907 CRuntime* CMapStringToPtr::GetThisClass()\n4908 CRuntime* CMapStringToString::GetThisClass()\n4909 CRuntime* CMapWordToOb::GetThisClass()\n4910 CRuntime* CMapWordToPtr::GetThisClass()\n4911 CRuntime* CMDIChildWnd::GetThisClass()\n4912 CRuntime* CMDIFrameWnd::GetThisClass()\n4913 CRuntime* CMemFile::GetThisClass()\n4914 CRuntime* CMemoryException::GetThisClass()\n4915 CRuntime* CMenu::GetThisClass()\n4916 CRuntime* CMetaFileDC::GetThisClass()\n4917 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4918 CRuntime* CMiniFrameWnd::GetThisClass()\n4919 CRuntime* CMonikerFile::GetThisClass()\n4920 CRuntime* CMonthCalCtrl::GetThisClass()\n4921 CRuntime* CMultiDocTemplate::GetThisClass()\n4922 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4923 CRuntime* CMutex::GetThisClass()\n4924 CRuntime* CNotSupportedException::GetThisClass()\n4925 CRuntime* CObArray::GetThisClass()\n4926 CRuntime* CObject::GetThisClass()\n4927 CRuntime* CObList::GetThisClass()\n4928 CRuntime* COleBusyDialog::GetThisClass()\n4929 CRuntime* COleChangeIconDialog::GetThisClass()\n4930 CRuntime* COleChangeSourceDialog::GetThisClass()\n4931 CRuntime* COleClientItem::GetThisClass()\n4932 CRuntime* COleControl::GetThisClass()\n4933 CRuntime* COleControlModule::GetThisClass()\n4934 CRuntime* COleConvertDialog::GetThisClass()\n4935 CRuntime* COleDBRecordView::GetThisClass()\n4936 CRuntime* COleDialog::GetThisClass()\n4937 CRuntime* COleDispatchException::GetThisClass()\n4938 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4939 CRuntime* COleDocObjectItem::GetThisClass()\n4940 CRuntime* COleDocument::GetThisClass()\n4941 CRuntime* COleException::GetThisClass()\n4942 CRuntime* COleInsertDialog::GetThisClass()\n4943 CRuntime* COleIPFrameWnd::GetThisClass()\n4944 CRuntime* COleLinkingDoc::GetThisClass()\n4945 CRuntime* COleLinksDialog::GetThisClass()\n4946 CRuntime* COleObjectFactory::GetThisClass()\n4947 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4948 CRuntime* COlePropertiesDialog::GetThisClass()\n4949 CRuntime* COlePropertyPage::GetThisClass()\n4950 CRuntime* COleResizeBar::GetThisClass()\n4951 CRuntime* COleServerDoc::GetThisClass()\n4952 CRuntime* COleServerItem::GetThisClass()\n4953 CRuntime* COleStreamFile::GetThisClass()\n4954 CRuntime* COleUpdateDialog::GetThisClass()\n4955 CRuntime* CPageSetupDialog::GetThisClass()\n4956 CRuntime* CPaintDC::GetThisClass()\n4957 CRuntime* CPalette::GetThisClass()\n4958 CRuntime* CPen::GetThisClass()\n4959 CRuntime* CPreviewDC::GetThisClass()\n4960 CRuntime* CPreviewView::GetThisClass()\n4961 CRuntime* CPrintDialog::GetThisClass()\n4962 CRuntime* CPrintDialogEx::GetThisClass()\n4963 CRuntime* CProgressCtrl::GetThisClass()\n4964 CRuntime* CPropertyPage::GetThisClass()\n4965 CRuntime* CPropertySheet::GetThisClass()\n4966 CRuntime* CPtrArray::GetThisClass()\n4967 CRuntime* CPtrList::GetThisClass()\n4968 CRuntime* CReBar::GetThisClass()\n4969 CRuntime* CReBarCtrl::GetThisClass()\n4970 CRuntime* CRecordset::GetThisClass()\n4971 CRuntime* CRecordView::GetThisClass()\n4972 CRuntime* CResourceException::GetThisClass()\n4973 CRuntime* CRgn::GetThisClass()\n4974 CRuntime* CRichEditCntrItem::GetThisClass()\n4975 CRuntime* CRichEditCtrl::GetThisClass()\n4976 CRuntime* CRichEditDoc::GetThisClass()\n4977 CRuntime* CRichEditView::GetThisClass()\n4978 CRuntime* CScrollBar::GetThisClass()\n4979 CRuntime* CScrollView::GetThisClass()\n4980 CRuntime* CSemaphore::GetThisClass()\n4981 CRuntime* CSharedFile::GetThisClass()\n4982 CRuntime* CSingleDocTemplate::GetThisClass()\n4983 CRuntime* CSliderCtrl::GetThisClass()\n4984 CRuntime* CSocket::GetThisClass()\n4985 CRuntime* CSocketFile::GetThisClass()\n4986 CRuntime* CSpinButtonCtrl::GetThisClass()\n4987 CRuntime* CSplitterWnd::GetThisClass()\n4988 CRuntime* CStatic::GetThisClass()\n4989 CRuntime* CStatusBar::GetThisClass()\n4990 CRuntime* CStatusBarCtrl::GetThisClass()\n4991 CRuntime* CStdioFile::GetThisClass()\n4992 CRuntime* CStringArray::GetThisClass()\n4993 CRuntime* CStringList::GetThisClass()\n4994 CRuntime* CSyncObject::GetThisClass()\n4995 CRuntime* CTabCtrl::GetThisClass()\n4996 CRuntime* CToolBar::GetThisClass()\n4997 CRuntime* CToolBarCtrl::GetThisClass()\n4998 CRuntime* CToolTipCtrl::GetThisClass()\n4999 CRuntime* CTreeCtrl::GetThisClass()\n5000 CRuntime* CTreeView::GetThisClass()\n5001 CRuntime* CUIntArray::GetThisClass()\n5002 CRuntime* CUserException::GetThisClass()\n5003 CRuntime* CView::GetThisClass()\n5004 CRuntime* CWinApp::GetThisClass()\n5005 CRuntime* CWindowDC::GetThisClass()\n5006 CRuntime* CWindowlessDC::GetThisClass()\n5007 CRuntime* CWinThread::GetThisClass()\n5008 CRuntime* CWnd::GetThisClass()\n5009 CRuntime* CWordArray::GetThisClass()\n5010 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n5011 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n5012 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n5013 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n5014 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n5015 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n5016 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n5017 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n5018 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n5019 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n5020 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n5021 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n5022 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n5023 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n5024 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n5025 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n5026 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n5027 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n5028 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n5029 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n5030 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n5031 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n5032 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n5033 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n5034 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n5035 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n5036 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n5037 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n5038 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n5039 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n5040 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n5041 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n5042 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n5043 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n5044 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n5045 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n5046 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n5047 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n5048 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n5049 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n5050 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n5051 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n5052 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n5053 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n5054 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n5055 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n5056 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n5057 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n5058 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n5059 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n5060 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n5061 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n5062 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n5063 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n5064 AFX_MSGMAP const * CListView::GetThisMessageMap()\n5065 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n5066 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n5067 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n5068 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n5069 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n5070 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n5071 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n5072 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n5073 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n5074 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n5075 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n5076 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n5077 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n5078 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n5079 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n5080 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n5081 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n5082 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n5083 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n5084 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n5085 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n5086 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n5087 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n5088 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n5089 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n5090 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n5091 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n5092 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n5093 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n5094 AFX_MSGMAP const * CView::GetThisMessageMap()\n5095 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n5096 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n5097 int CWinThread::GetThreadPriority()\n5098 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5099 int CSliderCtrl::GetTic(int)const \n5100 unsigned long * CSliderCtrl::GetTicArray()const \n5101 int CSliderCtrl::GetTicPos(int)const \n5102 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5103 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5104 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5105 unsigned long CToolTipCtrl::GetTipBkColor()const \n5106 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n5107 unsigned long CToolTipCtrl::GetTipTextColor()const \n5108 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetTitle()const \n5109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFrameWnd::GetTitle()const \n5110 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5111 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5112 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5113 int CHtmlView::GetToolBar()const \n5114 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n5115 int CToolTipCtrl::GetToolCount()const \n5116 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5117 CToolTipCtrl * CListCtrl::GetToolTips()const \n5118 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n5119 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n5120 CToolTipCtrl * CTabCtrl::GetToolTips()const \n5121 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n5122 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n5123 long CHtmlView::GetTop()const \n5124 int CPrintDialog::GetToPage()const \n5125 unsigned int CPrintInfo::GetToPage()const \n5126 int CComboBox::GetTopIndex()const \n5127 int CListBox::GetTopIndex()const \n5128 int CListCtrl::GetTopIndex()const \n5129 int CHtmlView::GetTopLevelContainer()const \n5130 CFrameWnd * CWnd::GetTopLevelFrame()const \n5131 CWnd * CWnd::GetTopLevelOwner()const \n5132 CWnd * CWnd::GetTopLevelParent()const \n5133 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetToPrefix()\n5134 CWnd * CWnd::GetTopWindow()const \n5135 CSize CScrollView::GetTotalSize()const \n5136 CTreeCtrl & CTreeView::GetTreeCtrl()const \n5137 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5138 void CRectTracker::GetTrueRect(tagRECT *)const \n5139 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n5140 enum OLE_OBJTYPE COleClientItem::GetType()const \n5141 short CPictureHolder::GetType()\n5142 unsigned long CProperty::GetType()\n5143 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5144 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5145 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5146 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5147 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5148 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5149 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5150 unsigned int CCmdTarget::GetTypeInfoCount()\n5151 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5152 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5153 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5154 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5155 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5156 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5157 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5158 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5159 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5160 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n5161 void COleSafeArray::GetUBound(unsigned long,long *)\n5162 enum _undonameid CRichEditCtrl::GetUndoName()const \n5163 int CWnd::GetUpdateRect(tagRECT *,int)\n5164 int CWnd::GetUpdateRgn(CRgn *,int)\n5165 int CByteArray::GetUpperBound()const \n5166 int CDWordArray::GetUpperBound()const \n5167 int CObArray::GetUpperBound()const \n5168 int CPtrArray::GetUpperBound()const \n5169 int CStringArray::GetUpperBound()const \n5170 int CUIntArray::GetUpperBound()const \n5171 int CWordArray::GetUpperBound()const \n5172 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5173 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5174 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5175 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5176 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5177 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5178 void COleControl::GetUserType(char *)\n5179 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5180 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5181 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5182 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5183 void * CMapPtrToPtr::GetValueAt(void *)const \n5184 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n5185 unsigned long CDockState::GetVersion()\n5186 unsigned long CPropExchange::GetVersion()\n5187 CHtmlEditView * CHtmlEditDoc::GetView()const \n5188 CRichEditView * CRichEditDoc::GetView()const \n5189 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5190 CSize CDC::GetViewportExt()const \n5191 CPoint CDC::GetViewportOrg()const \n5192 int CListCtrl::GetViewRect(tagRECT *)const \n5193 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5194 int CHtmlView::GetVisible()const \n5195 unsigned int CTreeCtrl::GetVisibleCount()const \n5196 int CFontDialog::GetWeight()const \n5197 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5198 long CHtmlView::GetWidth()const \n5199 CWnd * CDC::GetWindow()const \n5200 CWnd * CWnd::GetWindow(unsigned int)const \n5201 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5202 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5203 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5204 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5205 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5206 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5207 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5208 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5209 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5210 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5211 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5212 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5213 unsigned long CWnd::GetWindowContextHelpId()const \n5214 CDC * CWnd::GetWindowDC()\n5215 long CWnd::GetWindowedChildCount()\n5216 CSize CDC::GetWindowExt()const \n5217 long CWnd::GetWindowLessChildCount()\n5218 IDropTarget * COleControl::GetWindowlessDropTarget()\n5219 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5220 CPoint CDC::GetWindowOrg()const \n5221 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5222 void CWnd::GetWindowRect(tagRECT *)const \n5223 int CWnd::GetWindowRgn(HRGN__ *)const \n5224 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5225 int CWnd::GetWindowTextA(char *,int)const \n5226 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5227 int CWnd::GetWindowTextLengthA()const \n5228 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5229 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5230 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5231 long COleDropSource::GiveFeedback(unsigned long)\n5232 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5233 void CHtmlView::GoBack()\n5234 void CHtmlView::GoForward()\n5235 void CHtmlView::GoHome()\n5236 void CHtmlView::GoSearch()\n5237 void CDialog::GotoDlgCtrl(CWnd *)\n5238 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5239 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5240 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5241 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5242 void CMemFile::GrowFile(unsigned long)\n5243 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5244 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5245 long CDialog::HandleInitDialog(unsigned int,long)\n5246 long CDialogBar::HandleInitDialog(unsigned int,long)\n5247 long CFormView::HandleInitDialog(unsigned int,long)\n5248 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5249 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5250 long CScrollView::HandleMButtonDown(unsigned int,long)\n5251 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5252 int COleControlContainer::HandleSetFocus()\n5253 long CDialog::HandleSetFont(unsigned int,long)\n5254 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5255 long COleControl::XPersistStorage::HandsOffStorage()\n5256 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5257 int COleDocument::HasBlankItems()const \n5258 int CComboBoxEx::HasEditChanged()\n5259 int CDialogTemplate::HasFont()const \n5260 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5261 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n5262 void * CFile::hFileNull\n5263 void CWinApp::HideApplication()\n5264 int CToolBarCtrl::HideButton(int,int)\n5265 void CWnd::HideCaret()\n5266 void CFileDialog::HideControl(int)\n5267 void CRichEditCtrl::HideSelection(int,int)\n5268 long CBrowserControlSite::HideUI()\n5269 long CDHtmlDialog::HideUI()\n5270 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5271 int CTabCtrl::HighlightItem(int,int)\n5272 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5273 void CDC::HIMETRICtoDP(tagSIZE *)const \n5274 void CDC::HIMETRICtoLP(tagSIZE *)const \n5275 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5276 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5277 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5278 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5279 int CRectTracker::HitTest(CPoint)const \n5280 int CSplitterWnd::HitTest(CPoint)const \n5281 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5282 int CToolBarCtrl::HitTest(tagPOINT *)const \n5283 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n5284 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5285 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5286 int CRectTracker::HitTestHandles(CPoint)const \n5287 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n5288 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n5289 int CSplitterWnd::IdFromRowCol(int,int)const \n5290 int CReBarCtrl::IDToIndex(unsigned int)const \n5291 void COlePropertyPage::IgnoreApply(unsigned int)\n5292 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5293 int CToolBarCtrl::Indeterminate(int,int)\n5294 int CCriticalSection::Init()\n5295 int CWinApp::InitApplication()\n5296 long COleControl::XOleCache::InitCache(IDataObject *)\n5297 int CWnd::InitControlContainer()\n5298 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5299 long CPrintDialogEx::InitDone()\n5300 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5301 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5302 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5303 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5304 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5305 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5306 void CMapStringToOb::InitHashTable(unsigned int,int)\n5307 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5308 void CMapStringToString::InitHashTable(unsigned int,int)\n5309 void CMapWordToOb::InitHashTable(unsigned int,int)\n5310 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5311 long CDataSourceControl::Initialize()\n5312 void CDHtmlDialog::Initialize()\n5313 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5314 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5315 int CEditView::InitializeReplace()\n5316 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5317 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5318 int COleControlModule::InitInstance()\n5319 int CWinApp::InitInstance()\n5320 int CWinThread::InitInstance()\n5321 void CWinApp::InitLibId()\n5322 void CDockContext::InitLoop()\n5323 int CDialog::InitModalIndirect(void *,CWnd *)\n5324 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5325 long COleControl::XPersistMemory::InitNew()\n5326 long COleControl::XPersistPropertyBag::InitNew()\n5327 long COleControl::XPersistStorage::InitNew(IStorage *)\n5328 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5329 long COleControl::XPersistStreamInit::InitNew()\n5330 void CRecordset::InitRecord()\n5331 void COleControl::InitStockEventMask()\n5332 void COleControl::InitStockPropMask()\n5333 int CComboBox::InitStorage(int,unsigned int)\n5334 int CListBox::InitStorage(int,unsigned int)\n5335 void CSimpleException::InitString()\n5336 int CFrameWnd::InModalState()const \n5337 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5338 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5339 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5340 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5341 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5342 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5343 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5344 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5345 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5346 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5347 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n5348 void CByteArray::InsertAt(int,unsigned char,int)\n5349 void CByteArray::InsertAt(int,CByteArray *)\n5350 void CDWordArray::InsertAt(int,unsigned long,int)\n5351 void CDWordArray::InsertAt(int,CDWordArray *)\n5352 void CObArray::InsertAt(int,CObArray *)\n5353 void CObArray::InsertAt(int,CObject *,int)\n5354 void CPtrArray::InsertAt(int,CPtrArray *)\n5355 void CPtrArray::InsertAt(int,void *,int)\n5356 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n5357 void CStringArray::InsertAt(int,CStringArray *)\n5358 void CStringArray::InsertAt(int,char const *,int)\n5359 void CUIntArray::InsertAt(int,unsigned int,int)\n5360 void CUIntArray::InsertAt(int,CUIntArray *)\n5361 void CWordArray::InsertAt(int,unsigned short,int)\n5362 void CWordArray::InsertAt(int,CWordArray *)\n5363 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOA *)\n5364 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5365 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5366 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5367 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n5368 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5369 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n5370 int CListCtrl::InsertColumn(int,tagLVCOLUMNA const *)\n5371 void CStringArray::InsertEmpty(int,int)\n5372 void CRichEditView::InsertFileAsObject(char const *)\n5373 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n5374 int CHeaderCtrl::InsertItem(int,_HD_ITEMA *)\n5375 int CListCtrl::InsertItem(int,char const *)\n5376 int CListCtrl::InsertItem(int,char const *,int)\n5377 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n5378 int CListCtrl::InsertItem(tagLVITEMA const *)\n5379 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5380 long CTabCtrl::InsertItem(int,tagTCITEMA *)\n5381 long CTabCtrl::InsertItem(int,char const *)\n5382 long CTabCtrl::InsertItem(int,char const *,int)\n5383 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n5384 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n5385 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5386 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTA *)\n5387 _TREEITEM * CTreeCtrl::InsertItem(char const *,int,int,_TREEITEM *,_TREEITEM *)\n5388 _TREEITEM * CTreeCtrl::InsertItem(char const *,_TREEITEM *,_TREEITEM *)\n5389 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5390 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5391 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5392 int CMenu::InsertMenuItemA(unsigned int,tagMENUITEMINFOA *,int)\n5393 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5394 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5395 int CComboBox::InsertString(int,char const *)\n5396 int CComboBoxEx::InsertString(int,char const *)\n5397 int CListBox::InsertString(int,char const *)\n5398 unsigned long CCmdTarget::InternalAddRef()\n5399 CFontHolder & COleControl::InternalGetFont()\n5400 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n5401 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5402 unsigned long CCmdTarget::InternalRelease()\n5403 void COleControl::InternalSetReadyState(long)\n5404 int CDC::IntersectClipRect(int,int,int,int)\n5405 int CDC::IntersectClipRect(tagRECT const *)\n5406 void CWnd::Invalidate(int)\n5407 void CCheckListBox::InvalidateCheck(int)\n5408 void COleControl::InvalidateControl(tagRECT const *,int)\n5409 void CCheckListBox::InvalidateItem(int)\n5410 void CRichEditDoc::InvalidateObjectCache()\n5411 void CWnd::InvalidateRect(tagRECT const *,int)\n5412 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5413 void COleControl::InvalidateRgn(CRgn *,int)\n5414 void CWnd::InvalidateRgn(CRgn *,int)\n5415 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5416 void CDC::InvertRect(tagRECT const *)\n5417 int CDC::InvertRgn(CRgn *)\n5418 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5419 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5420 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5421 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5422 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5423 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5424 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5425 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5426 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5427 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5428 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5429 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5430 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5431 int CAsyncSocket::IOCtl(long,unsigned long *)\n5432 int CFileFind::IsArchived()const \n5433 int CPropExchange::IsAsynchronous()\n5434 int CDocItem::IsBlank()const \n5435 int CIPAddressCtrl::IsBlank()const \n5436 int COleServerItem::IsBlank()const \n5437 int CSocket::IsBlocking()\n5438 int CRecordset::IsBOF()const \n5439 int CFontDialog::IsBold()const \n5440 int CArchive::IsBufferEmpty()const \n5441 int CToolBarCtrl::IsButtonChecked(int)const \n5442 int CPropertyPage::IsButtonEnabled(int)\n5443 int CToolBarCtrl::IsButtonEnabled(int)const \n5444 int CToolBarCtrl::IsButtonHidden(int)const \n5445 int CToolBarCtrl::IsButtonHighlighted(int)const \n5446 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5447 int CToolBarCtrl::IsButtonPressed(int)const \n5448 int CArchive::IsByteSwapping()const \n5449 int CWnd::IsChild(CWnd const *)const \n5450 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5451 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5452 int CFileFind::IsCompressed()const \n5453 int COleServerItem::IsConnected()const \n5454 int COleControl::IsConvertingVBX()\n5455 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5456 int COleControlSite::IsDefaultButton()\n5457 int CRecordset::IsDeleted()const \n5458 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5459 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n5460 int CWnd::IsDialogMessageA(tagMSG *)\n5461 int CFileFind::IsDirectory()const \n5462 long CBlobProperty::IsDirty()\n5463 long COleLinkingDoc::XPersistFile::IsDirty()\n5464 long COleControl::XPersistMemory::IsDirty()\n5465 long COleControl::XPersistStorage::IsDirty()\n5466 long COleServerDoc::XPersistStorage::IsDirty()\n5467 long COleControl::XPersistStreamInit::IsDirty()\n5468 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5469 unsigned int CWnd::IsDlgButtonChecked(int)const \n5470 int CControlBar::IsDockBar()const \n5471 int CDockBar::IsDockBar()const \n5472 int COleServerDoc::IsDocObject()const \n5473 int CFileFind::IsDots()const \n5474 int CGopherFileFind::IsDots()const \n5475 int COleServerDoc::IsEmbedded()const \n5476 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n5477 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n5478 int CByteArray::IsEmpty()const \n5479 int CDWordArray::IsEmpty()const \n5480 int CMapPtrToPtr::IsEmpty()const \n5481 int CMapPtrToWord::IsEmpty()const \n5482 int CMapStringToOb::IsEmpty()const \n5483 int CMapStringToPtr::IsEmpty()const \n5484 int CMapStringToString::IsEmpty()const \n5485 int CMapWordToOb::IsEmpty()const \n5486 int CMapWordToPtr::IsEmpty()const \n5487 int CObArray::IsEmpty()const \n5488 int CObList::IsEmpty()const \n5489 int CPtrArray::IsEmpty()const \n5490 int CPtrList::IsEmpty()const \n5491 int CStringArray::IsEmpty()const \n5492 int CStringList::IsEmpty()const \n5493 int CUIntArray::IsEmpty()const \n5494 int CWordArray::IsEmpty()const \n5495 int CCheckListBox::IsEnabled(int)\n5496 int CRecordset::IsEOF()const \n5497 int CDHtmlDialog::IsExternalDispatchSafe()\n5498 int CRecordset::IsFieldDirty(void *)\n5499 int CRecordset::IsFieldNull(void *)\n5500 int CRecordset::IsFieldNullable(void *)\n5501 int CRecordset::IsFieldNullable(unsigned long)const \n5502 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5503 int CRecordset::IsFieldStatusNull(unsigned long)const \n5504 int CFieldExchange::IsFieldType(unsigned int *)\n5505 int CControlBar::IsFloating()const \n5506 int CFrameWnd::IsFrameWnd()const \n5507 int CWnd::IsFrameWnd()const \n5508 int IsHelpKey(tagMSG *)\n5509 int CFileFind::IsHidden()const \n5510 int CWnd::IsIconic()const \n5511 int CWinThread::IsIdleMessage(tagMSG *)\n5512 int COleClientItem::IsInPlaceActive()const \n5513 int COleServerDoc::IsInPlaceActive()const \n5514 int CCmdTarget::IsInvokeAllowed(long)\n5515 int COleControl::IsInvokeAllowed(long)\n5516 int CFontDialog::IsItalic()const \n5517 int CRecordset::IsJoin(char const *)\n5518 int CObject::IsKindOf(CRuntimeconst *)const \n5519 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5520 int COccManager::IsLabelControl(CWnd *)\n5521 int COleObjectFactory::IsLicenseValid()\n5522 int COleServerItem::IsLinkedItem()const \n5523 int COleClientItem::IsLinkUpToDate()const \n5524 int CArchive::IsLoading()const \n5525 int CPropExchange::IsLoading()\n5526 int CMultiLock::IsLocked(unsigned long)\n5527 int CSingleLock::IsLocked()\n5528 int CRichEditCntrItem::IsMarked()\n5529 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5530 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5531 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5532 int CDocument::IsModified()\n5533 int CHtmlEditDoc::IsModified()\n5534 int COleClientItem::IsModified()const \n5535 int COleControl::IsModified()\n5536 int COlePropertyPage::IsModified()\n5537 int CRichEditDoc::IsModified()\n5538 int CFileFind::IsNormal()const \n5539 int CRecordView::IsOnFirstRecord()\n5540 int CRecordView::IsOnLastRecord()\n5541 int CDatabase::IsOpen()const \n5542 int COleClientItem::IsOpen()const \n5543 int CRecordset::IsOpen()const \n5544 int COleControl::IsOptimizedDraw()\n5545 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5546 int CRecordset::IsParamStatusNull(unsigned long)const \n5547 int CDC::IsPrinting()const \n5548 int CFileFind::IsReadOnly()const \n5549 int CRecordset::IsRecordsetUpdatable()\n5550 int COleObjectFactory::IsRegistered()const \n5551 int CCmdTarget::IsResultExpected()\n5552 int CRichEditView::IsRichEditFormat(unsigned short)\n5553 int COleClientItem::IsRunning()const \n5554 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5555 int CRichEditView::IsSelected(CObject const *)const \n5556 int CView::IsSelected(CObject const *)const \n5557 int CRecordset::IsSelectQueryUpdatable(char const *)\n5558 int CObject::IsSerializable()const \n5559 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5560 int CStatusBarCtrl::IsSimple()const \n5561 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5562 int CRecordset::IsSQLUpdatable(char const *)\n5563 int CArchive::IsStoring()const \n5564 int CFontDialog::IsStrikeOut()const \n5565 int COleControl::IsSubclassedControl()\n5566 int CFileFind::IsSystem()const \n5567 int CFileFind::IsTemporary()const \n5568 int CFindReplaceDialog::IsTerminating()const \n5569 int CWnd::IsTopParentActive()const \n5570 int CFrameWnd::IsTracking()const \n5571 int CSplitterWnd::IsTracking()\n5572 int CFontDialog::IsUnderline()const \n5573 long CDocObjectServer::XOleObject::IsUpToDate()\n5574 long COleControl::XOleObject::IsUpToDate()\n5575 long COleServerDoc::XOleObject::IsUpToDate()\n5576 long COleServerItem::XOleObject::IsUpToDate()\n5577 int COleChangeSourceDialog::IsValidSource()\n5578 int CControlBar::IsVisible()const \n5579 int COleControlSite::IsWindowEnabled()const \n5580 int CWnd::IsWindowEnabled()const \n5581 int CWnd::IsWindowVisible()const \n5582 int CPropertySheet::IsWizard()const \n5583 int CWnd::IsZoomed()const \n5584 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5585 int CDragListBox::ItemFromPt(CPoint,int)const \n5586 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5587 void COleControl::KeyDown(unsigned short *)\n5588 void COleControl::KeyUp(unsigned short *)\n5589 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5590 int CWnd::KillTimer(unsigned int)\n5591 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5592 void CToolBar::Layout()\n5593 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n5594 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n5595 int CComboBox::LimitText(int)\n5596 void CEdit::LimitText(int)\n5597 void CRichEditCtrl::LimitText(long)\n5598 int CEdit::LineFromChar(int)const \n5599 long CRichEditCtrl::LineFromChar(long)const \n5600 int CEdit::LineIndex(int)const \n5601 int CRichEditCtrl::LineIndex(int)const \n5602 int CEdit::LineLength(int)const \n5603 int CRichEditCtrl::LineLength(int)const \n5604 void CEdit::LineScroll(int,int)\n5605 void CRichEditCtrl::LineScroll(int,int)\n5606 int CDC::LineTo(int,int)\n5607 int CDC::LineTo(tagPOINT)\n5608 int CAsyncSocket::Listen(int)\n5609 unsigned long CRichEditView::lMaxSize\n5610 long CBlobProperty::Load(IStream *)\n5611 int CDialogTemplate::Load(char const *)\n5612 void COleControl::Load(char const *,CDataPathProperty &)\n5613 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5614 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5615 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5616 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5617 long COleControl::XPersistStorage::Load(IStorage *)\n5618 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5619 long COleControl::XPersistStreamInit::Load(IStream *)\n5620 int CFrameWnd::LoadAccelTable(char const *)\n5621 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5622 void CFrameWnd::LoadBarState(char const *)\n5623 int CBitmap::LoadBitmapA(unsigned int)\n5624 int CBitmap::LoadBitmapA(char const *)\n5625 int CToolBar::LoadBitmapA(unsigned int)\n5626 int CToolBar::LoadBitmapA(char const *)\n5627 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5628 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n5629 HICON__ * CWinApp::LoadCursorA(unsigned int)const \n5630 HICON__ * CWinApp::LoadCursorA(char const *)const \n5631 void CRecordset::LoadFields()\n5632 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5633 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5634 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5635 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5636 int CDHtmlDialog::LoadFromResource(unsigned int)\n5637 int CDHtmlDialog::LoadFromResource(char const *)\n5638 int CHtmlView::LoadFromResource(unsigned int)\n5639 int CHtmlView::LoadFromResource(char const *)\n5640 void COleDocument::LoadFromStorage()\n5641 HICON__ * CWinApp::LoadIconA(unsigned int)const \n5642 HICON__ * CWinApp::LoadIconA(char const *)const \n5643 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5644 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5645 int CMenu::LoadMenuA(unsigned int)\n5646 int CMenu::LoadMenuA(char const *)\n5647 int CMenu::LoadMenuIndirectA(void const *)\n5648 int CBitmap::LoadOEMBitmap(unsigned int)\n5649 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5650 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5651 HICON__ * CWinApp::LoadStandardCursor(char const *)const \n5652 HICON__ * CWinApp::LoadStandardIcon(char const *)const \n5653 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n5654 void CDockState::LoadState(char const *)\n5655 long COleControl::LoadState(IStream *)\n5656 void CWinApp::LoadStdProfileSettings(unsigned int)\n5657 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n5658 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n5659 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n5660 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n5661 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n5662 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n5663 int CWinApp::LoadSysPolicies()\n5664 void CDocTemplate::LoadTemplate()\n5665 void CMultiDocTemplate::LoadTemplate()\n5666 int CToolBar::LoadToolBar(unsigned int)\n5667 int CToolBar::LoadToolBar(char const *)\n5668 int CCriticalSection::Lock()\n5669 int CCriticalSection::Lock(unsigned long)\n5670 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5671 void COleSafeArray::Lock()\n5672 int CSingleLock::Lock(unsigned long)\n5673 int CSyncObject::Lock(unsigned long)\n5674 void CTypeLibCache::Lock()\n5675 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n5676 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n5677 char const * CEditView::LockBuffer()const \n5678 long COleControlContainer::XOleContainer::LockContainer(int)\n5679 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5680 void COleLinkingDoc::LockExternal(int,int)\n5681 int COleControl::LockInPlaceActive(int)\n5682 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5683 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5684 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5685 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5686 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5687 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5688 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5689 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5690 long COleObjectFactory::XClassFactory::LockServer(int)\n5691 int CWnd::LockWindowUpdate()\n5692 int CMapPtrToPtr::Lookup(void *,void * &)const \n5693 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5694 int CMapStringToOb::Lookup(char const *,CObject * &)const \n5695 int CMapStringToPtr::Lookup(char const *,void * &)const \n5696 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5697 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5698 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5699 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5700 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5701 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5702 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5703 int CMapStringToOb::LookupKey(char const *,char const * &)const \n5704 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n5705 int CMapStringToString::LookupKey(char const *,char const * &)const \n5706 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5707 void CDC::LPtoDP(tagPOINT *,int)const \n5708 void CDC::LPtoDP(tagRECT *)const \n5709 void CDC::LPtoDP(tagSIZE *)const \n5710 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5711 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n5712 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n5713 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n5714 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n5715 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n5716 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n5717 int CToolBarCtrl::MapAccelerator(char,unsigned int *)\n5718 void CDialog::MapDialogRect(tagRECT *)const \n5719 void CPropertySheet::MapDialogRect(tagRECT *)const \n5720 void CArchive::MapObject(CObject const *)\n5721 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5722 int COleDialog::MapResult(unsigned int)\n5723 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5724 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5725 long CPropertyPage::MapWizardResult(long)\n5726 void CRichEditCntrItem::Mark(int)\n5727 int CToolBarCtrl::MarkButton(int,int)\n5728 void CRecordset::MarkForAddNew()\n5729 void CRecordset::MarkForUpdate()\n5730 void CRichEditDoc::MarkItemsClear()const \n5731 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5732 int CFindReplaceDialog::MatchCase()const \n5733 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n5734 int CFileFind::MatchesMask(unsigned long)const \n5735 int CFindReplaceDialog::MatchWholeWord()const \n5736 void CReBarCtrl::MaximizeBand(unsigned int)\n5737 void CMDIChildWnd::MDIActivate()\n5738 void CMDIFrameWnd::MDIActivate(CWnd *)\n5739 void CMDIFrameWnd::MDICascade(int)\n5740 void CMDIFrameWnd::MDICascade()\n5741 void CMDIChildWnd::MDIDestroy()\n5742 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5743 void CMDIFrameWnd::MDIIconArrange()\n5744 void CMDIChildWnd::MDIMaximize()\n5745 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5746 void CMDIFrameWnd::MDINext()\n5747 void CMDIFrameWnd::MDIPrev()\n5748 void CMDIChildWnd::MDIRestore()\n5749 void CMDIFrameWnd::MDIRestore(CWnd *)\n5750 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5751 void CMDIFrameWnd::MDITile(int)\n5752 void CMDIFrameWnd::MDITile()\n5753 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5754 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5755 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5756 void CListBox::MeasureItem(tagMEASUREITEM*)\n5757 void CMenu::MeasureItem(tagMEASUREITEM*)\n5758 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n5759 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5760 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n5761 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n5762 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5763 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n5764 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n5765 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n5766 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n5767 void CReBarCtrl::MinimizeBand(unsigned int)\n5768 void CPreviewDC::MirrorAttributes()\n5769 void CPreviewDC::MirrorFont()\n5770 void CPreviewDC::MirrorMappingMode(int)\n5771 void CPreviewDC::MirrorViewportOrg()\n5772 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5773 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5774 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5775 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5776 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5777 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5778 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5779 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5780 void CDockContext::Move(CPoint)\n5781 void CRecordset::Move(long,unsigned short)\n5782 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5783 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5784 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5785 void CRecordset::MoveFirst()\n5786 void CRecordset::MoveLast()\n5787 void CRecordset::MoveNext()\n5788 void CRecordset::MovePrev()\n5789 CPoint CDC::MoveTo(int,int)\n5790 CPoint CDC::MoveTo(tagPOINT)\n5791 void COleControlSite::MoveWindow(int,int,int,int)\n5792 void CWnd::MoveWindow(int,int,int,int,int)\n5793 void CWnd::MoveWindow(tagRECT const *,int)\n5794 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5795 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5796 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n5797 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5798 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n5799 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5800 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5801 unsigned int COleDropSource::nDragDelay\n5802 unsigned int COleDropSource::nDragMinDist\n5803 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5804 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5805 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5806 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5807 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5808 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n5809 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5810 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5811 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5812 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5813 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5814 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5815 void CDialog::NextDlgCtrl()const \n5816 unsigned int const CEditView::nMaxSize\n5817 int CRectTracker::NormalizeHit(int)const \n5818 void CDataBoundProperty::Notify()\n5819 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5820 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5821 void COleServerDoc::NotifyChanged()\n5822 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5823 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5824 void COleServerDoc::NotifyClosed()\n5825 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5826 void COleServerDoc::NotifyRename(char const *)\n5827 void COleServerDoc::NotifySaved()\n5828 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5829 unsigned int COleDropTarget::nScrollDelay\n5830 int COleDropTarget::nScrollInset\n5831 unsigned int COleDropTarget::nScrollInterval\n5832 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n5833 int CDC::OffsetClipRgn(int,int)\n5834 int CDC::OffsetClipRgn(tagSIZE)\n5835 int CProgressCtrl::OffsetPos(int)\n5836 int CRgn::OffsetRgn(int,int)\n5837 int CRgn::OffsetRgn(tagPOINT)\n5838 CPoint CDC::OffsetViewportOrg(int,int)\n5839 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5840 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5841 CPoint CDC::OffsetWindowOrg(int,int)\n5842 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5843 void CAsyncSocket::OnAccept(int)\n5844 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5845 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5846 void COleClientItem::OnActivate()\n5847 void COleFrameHook::OnActivate(int)\n5848 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5849 void CWnd::OnActivateApp(int,unsigned long)\n5850 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5851 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5852 long COleControl::OnActivateInPlace(int,tagMSG *)\n5853 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5854 long CWnd::OnActivateTopLevel(unsigned int,long)\n5855 void COleClientItem::OnActivateUI()\n5856 long CDocObjectServer::OnActivateView()\n5857 void CFormView::OnActivateView(int,CView *,CView *)\n5858 void CPreviewView::OnActivateView(int,CView *,CView *)\n5859 void CRichEditView::OnActivateView(int,CView *,CView *)\n5860 void CView::OnActivateView(int,CView *,CView *)\n5861 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5862 void CConnectionPoint::OnAdvise(int)\n5863 void COleControl::XEventConnPt::OnAdvise(int)\n5864 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5865 void COleControl::OnAmbientPropertyChange(long)\n5866 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5867 void COleControl::OnAppearanceChanged()\n5868 void CWinApp::OnAppExit()\n5869 int CPropertyPage::OnApply()\n5870 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5871 void CDocObjectServer::OnApplyViewState(CArchive &)\n5872 void CWnd::OnAskCbFormatName(unsigned int,char *)\n5873 void COleControl::OnBackColorChanged()\n5874 int CFrameWnd::OnBarCheck(unsigned int)\n5875 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5876 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5877 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5878 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5879 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n5880 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n5881 int COleDropSource::OnBeginDrag(CWnd *)\n5882 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5883 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5884 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5885 void COleControl::OnBorderStyleChanged()\n5886 void CRichEditView::OnBullet()\n5887 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5888 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5889 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5890 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5891 void CCommonDialog::OnCancel()\n5892 void CDialog::OnCancel()\n5893 void CPropertyPage::OnCancel()\n5894 void CRichEditView::OnCancelEditCntr()\n5895 void COleControl::OnCancelMode()\n5896 void CSplitterWnd::OnCancelMode()\n5897 void CWnd::OnCancelMode()\n5898 void CWnd::OnCaptureChanged(CWnd *)\n5899 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5900 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5901 long COleControl::XFontNotification::OnChanged(long)\n5902 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5903 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5904 void CRectTracker::OnChangedRect(CRect const &)\n5905 void CDocument::OnChangedViewList()\n5906 int COleClientItem::OnChangeItemPosition(CRect const &)\n5907 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5908 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5909 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5910 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5911 void CRichEditView::OnCharBold()\n5912 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5913 void CRichEditView::OnCharItalic()\n5914 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5915 void CRichEditView::OnCharUnderline()\n5916 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5917 void CWnd::OnChildActivate()\n5918 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5919 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5920 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5921 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5922 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5923 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5924 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5925 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5926 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5927 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5928 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5929 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5930 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5931 void COleControl::OnClick(unsigned short)\n5932 CEnumArray * CEnumArray::OnClone()\n5933 CEnumArray * CEnumConnections::OnClone()\n5934 void CAsyncSocket::OnClose(int)\n5935 void CControlFrameWnd::OnClose()\n5936 void CFrameWnd::OnClose()\n5937 void CMiniDockFrameWnd::OnClose()\n5938 void COleControl::OnClose(unsigned long)\n5939 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5940 void CPropertySheet::OnClose()\n5941 void CWnd::OnClose()\n5942 void COleClientItem::XAdviseSink::OnClose()\n5943 void CDocObjectServer::OnCloseDocument()\n5944 void CDocument::OnCloseDocument()\n5945 void COleDocument::OnCloseDocument()\n5946 void COleLinkingDoc::OnCloseDocument()\n5947 void COleServerDoc::OnCloseDocument()\n5948 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5949 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5950 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5951 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5952 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5953 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5954 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5955 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5956 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5957 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5958 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5959 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5960 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5961 void CRichEditView::OnColorDefault()\n5962 int CColorDialog::OnColorOK()\n5963 void CRichEditView::OnColorPick(unsigned long)\n5964 int CFrameWnd::OnCommand(unsigned int,long)\n5965 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5966 int COlePropertyPage::OnCommand(unsigned int,long)\n5967 int CPropertySheet::OnCommand(unsigned int,long)\n5968 int CSplitterWnd::OnCommand(unsigned int,long)\n5969 int CWnd::OnCommand(unsigned int,long)\n5970 long CDialog::OnCommandHelp(unsigned int,long)\n5971 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5972 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5973 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5974 void CHtmlView::OnCommandStateChange(long,int)\n5975 void CWnd::OnCompacting(unsigned int)\n5976 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5977 void CAsyncSocket::OnConnect(int)\n5978 void CFrameWnd::OnContextHelp()\n5979 int COleFrameHook::OnContextHelp(int)\n5980 void COleIPFrameWnd::OnContextHelp()\n5981 void CWinApp::OnContextHelp()\n5982 void CWnd::OnContextMenu(CWnd *,CPoint)\n5983 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5984 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5985 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n5986 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n5987 int CEditView::OnCreate(tagCREATESTRUCTA *)\n5988 int CFormView::OnCreate(tagCREATESTRUCTA *)\n5989 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5990 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n5991 int COleControl::OnCreate(tagCREATESTRUCTA *)\n5992 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5993 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n5994 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n5995 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n5996 int CView::OnCreate(tagCREATESTRUCTA *)\n5997 int CWnd::OnCreate(tagCREATESTRUCTA *)\n5998 int CCmdTarget::OnCreateAggregates()\n5999 int COleControl::OnCreateAggregates()\n6000 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6001 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6002 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n6003 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n6004 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n6005 CCmdTarget * COleObjectFactory::OnCreateObject()\n6006 CCmdTarget * COleTemplateServer::OnCreateObject()\n6007 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6008 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6009 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6010 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6011 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6012 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6013 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6014 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6015 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6016 int CDocManager::OnDDECommand(char *)\n6017 int CWinApp::OnDDECommand(char *)\n6018 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6019 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6020 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6021 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n6022 void COleClientItem::OnDeactivate()\n6023 void COleServerDoc::OnDeactivate()\n6024 void COleClientItem::OnDeactivateAndUndo()\n6025 void COleClientItem::OnDeactivateUI(int)\n6026 void COleServerDoc::OnDeactivateUI(int)\n6027 void CRichEditCntrItem::OnDeactivateUI(int)\n6028 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6029 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6030 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6031 void CControlBar::OnDestroy()\n6032 void CDHtmlDialog::OnDestroy()\n6033 void CEditView::OnDestroy()\n6034 void CFrameWnd::OnDestroy()\n6035 void CHtmlView::OnDestroy()\n6036 void CMDIChildWnd::OnDestroy()\n6037 void CMDIFrameWnd::OnDestroy()\n6038 void COleControl::OnDestroy()\n6039 void COleIPFrameWnd::OnDestroy()\n6040 void CRichEditView::OnDestroy()\n6041 void CTabCtrl::OnDestroy()\n6042 void CTreeCtrl::OnDestroy()\n6043 void CTreeView::OnDestroy()\n6044 void CView::OnDestroy()\n6045 void CWnd::OnDestroy()\n6046 void CWnd::OnDestroyClipboard()\n6047 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6048 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6049 void CRichEditView::OnDevModeChange(char *)\n6050 void CWnd::OnDevModeChange(char *)\n6051 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6052 void COleClientItem::OnDiscardUndoState()\n6053 void CSplitterWnd::OnDisplayChange()\n6054 long CWnd::OnDisplayChange(unsigned int,long)\n6055 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6056 int COleFrameHook::OnDocActivate(int)\n6057 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n6058 void CHtmlView::OnDocumentComplete(char const *)\n6059 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6060 long CBrowserControlSite::OnDocWindowActivate(int)\n6061 long CDHtmlDialog::OnDocWindowActivate(int)\n6062 long CHtmlView::OnDocWindowActivate(int)\n6063 void COleServerDoc::OnDocWindowActivate(int)\n6064 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6065 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6066 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6067 void CDocObjectServerItem::OnDoVerb(long)\n6068 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6069 void COleServerItem::OnDoVerb(long)\n6070 void CHtmlView::OnDownloadBegin()\n6071 void CHtmlView::OnDownloadComplete()\n6072 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6073 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6074 void COleDropTarget::OnDragLeave(CWnd *)\n6075 void CView::OnDragLeave()\n6076 long CWnd::OnDragList(unsigned int,long)\n6077 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6078 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6079 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6080 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6081 void CCtrlView::OnDraw(CDC *)\n6082 void CFormView::OnDraw(CDC *)\n6083 void CHtmlView::OnDraw(CDC *)\n6084 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6085 void CPreviewView::OnDraw(CDC *)\n6086 void CView::OnDraw(CDC *)\n6087 void CWnd::OnDrawClipboard()\n6088 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6089 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6090 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6091 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6092 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6093 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6094 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6095 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6096 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6097 void CFrameWnd::OnDropFiles(HDROP__ *)\n6098 void CRichEditView::OnDropFiles(HDROP__ *)\n6099 void CWnd::OnDropFiles(HDROP__ *)\n6100 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6101 int CEditView::OnEditChange()\n6102 void COleDocument::OnEditChangeIcon()\n6103 void CEditView::OnEditClear()\n6104 void CRichEditView::OnEditClear()\n6105 void COleDocument::OnEditConvert()\n6106 void CEditView::OnEditCopy()\n6107 void CHtmlView::OnEditCopy()\n6108 void CRichEditView::OnEditCopy()\n6109 void CEditView::OnEditCut()\n6110 void CHtmlView::OnEditCut()\n6111 void CRichEditView::OnEditCut()\n6112 void CEditView::OnEditFind()\n6113 void CRichEditView::OnEditFind()\n6114 void CEditView::OnEditFindReplace(int)\n6115 void CRichEditView::OnEditFindReplace(int)\n6116 void COleDocument::OnEditLinks()\n6117 void CEditView::OnEditPaste()\n6118 void CHtmlView::OnEditPaste()\n6119 void CRichEditView::OnEditPaste()\n6120 void CRichEditView::OnEditPasteSpecial()\n6121 void CRichEditView::OnEditProperties()\n6122 int COlePropertyPage::OnEditProperty(long)\n6123 void CRichEditView::OnEditRedo()\n6124 void CEditView::OnEditRepeat()\n6125 void CRichEditView::OnEditRepeat()\n6126 void CEditView::OnEditReplace()\n6127 void CRichEditView::OnEditReplace()\n6128 void CEditView::OnEditSelectAll()\n6129 void CRichEditView::OnEditSelectAll()\n6130 void CEditView::OnEditUndo()\n6131 void CRichEditView::OnEditUndo()\n6132 void CFrameWnd::OnEnable(int)\n6133 void CToolTipCtrl::OnEnable(int)\n6134 void CWnd::OnEnable(int)\n6135 void COleControl::OnEnabledChanged()\n6136 long CHtmlView::OnEnableModeless(int)\n6137 void COleFrameHook::OnEnableModeless(int)\n6138 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6139 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6140 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6141 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6142 void CFrameWnd::OnEndSession(int)\n6143 void CWnd::OnEndSession(int)\n6144 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6145 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6146 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6147 void CWnd::OnEnterMenuLoop(int)\n6148 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6149 int CFrameWnd::OnEraseBkgnd(CDC *)\n6150 int COleControl::OnEraseBkgnd(CDC *)\n6151 int COleResizeBar::OnEraseBkgnd(CDC *)\n6152 int CPreviewView::OnEraseBkgnd(CDC *)\n6153 int CReBar::OnEraseBkgnd(CDC *)\n6154 int CToolBar::OnEraseBkgnd(CDC *)\n6155 int CWnd::OnEraseBkgnd(CDC *)\n6156 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6157 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6158 int COleControlSite::OnEvent(AFX_EVENT *)\n6159 void COleControl::OnEventAdvise(int)\n6160 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6161 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6162 void CWnd::OnExitMenuLoop(int)\n6163 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6164 void CDocument::OnFileClose()\n6165 void CFileDialog::OnFileNameChange()\n6166 int CFileDialog::OnFileNameOK()\n6167 void CDocManager::OnFileNew()\n6168 void CWinApp::OnFileNew()\n6169 void CDocManager::OnFileOpen()\n6170 void CWinApp::OnFileOpen()\n6171 void CHtmlView::OnFilePrint()\n6172 void CView::OnFilePrint()\n6173 void CView::OnFilePrintPreview()\n6174 void CWinApp::OnFilePrintSetup()\n6175 void CDocument::OnFileSave()\n6176 void CDocument::OnFileSaveAs()\n6177 void COleServerDoc::OnFileSaveCopyAs()\n6178 void CDocument::OnFileSendMail()\n6179 void COleDocument::OnFileSendMail()\n6180 void COleServerDoc::OnFileUpdate()\n6181 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6182 void CCmdTarget::OnFinalRelease()\n6183 void CDocument::OnFinalRelease()\n6184 void COleControl::OnFinalRelease()\n6185 void COlePropertyPage::OnFinalRelease()\n6186 void COleServerItem::OnFinalRelease()\n6187 void CWnd::OnFinalRelease()\n6188 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n6189 void CEditView::OnFindNext(char const *,int,int)\n6190 void CRichEditView::OnFindNext(char const *,int,int,int)\n6191 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6192 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6193 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6194 long COleControlSite::XOleControlSite::OnFocus(int)\n6195 void CFileDialog::OnFolderChange()\n6196 void CWnd::OnFontChange()\n6197 void COleControl::OnFontChanged()\n6198 void COleControl::OnForeColorChanged()\n6199 void CRichEditView::OnFormatFont()\n6200 void COleControl::OnFrameClose()\n6201 long CBrowserControlSite::OnFrameWindowActivate(int)\n6202 long CDHtmlDialog::OnFrameWindowActivate(int)\n6203 long CHtmlView::OnFrameWindowActivate(int)\n6204 void COleServerDoc::OnFrameWindowActivate(int)\n6205 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6206 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6207 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6208 void COleControl::OnFreezeEvents(int)\n6209 void CHtmlView::OnFullScreen(int)\n6210 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6211 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6212 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6213 void COleClientItem::OnGetClipRect(CRect &)\n6214 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6215 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6216 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6217 unsigned int COleControl::OnGetDlgCode()\n6218 unsigned int CWnd::OnGetDlgCode()\n6219 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6220 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n6221 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6222 long CHtmlView::OnGetExternal(IDispatch * *)\n6223 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6224 HMENU__ * COleControl::OnGetInPlaceMenu()\n6225 void COleClientItem::OnGetItemPosition(CRect &)\n6226 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6227 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n6228 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n6229 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6230 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6231 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6232 long CWnd::OnGetObject(unsigned int,long)\n6233 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6234 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6235 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6236 long CStatusBar::OnGetText(unsigned int,long)\n6237 long CStatusBar::OnGetTextLength(unsigned int,long)\n6238 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6239 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6240 unsigned long COleControl::OnGetViewStatus()\n6241 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6242 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6243 void CFrameWnd::OnHelp()\n6244 int COlePropertyPage::OnHelp(char const *)\n6245 void CWinApp::OnHelp()\n6246 void CWnd::OnHelp()\n6247 void CWinApp::OnHelpFinder()\n6248 void CWnd::OnHelpFinder()\n6249 long CControlBar::OnHelpHitTest(unsigned int,long)\n6250 long CDialog::OnHelpHitTest(unsigned int,long)\n6251 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6252 void CWinApp::OnHelpIndex()\n6253 void CWnd::OnHelpIndex()\n6254 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6255 int CWnd::OnHelpInfo(tagHELPINFO *)\n6256 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6257 void CWinApp::OnHelpUsing()\n6258 void CWnd::OnHelpUsing()\n6259 void CDocObjectServerItem::OnHide()\n6260 long COleControl::OnHide()\n6261 void COleServerItem::OnHide()\n6262 void COleControl::OnHideToolBars()\n6263 long CHtmlView::OnHideUI()\n6264 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6265 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6266 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6267 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6268 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6269 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6270 void CWnd::OnIconEraseBkgnd(CDC *)\n6271 void CDocTemplate::OnIdle()\n6272 void CDocument::OnIdle()\n6273 void COleDocument::OnIdle()\n6274 int CWinApp::OnIdle(long)\n6275 int CWinThread::OnIdle(long)\n6276 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6277 void CFrameWnd::OnIdleUpdateCmdUI()\n6278 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6279 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6280 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6281 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6282 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6283 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6284 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6285 int CDHtmlDialog::OnInitDialog()\n6286 int CDialog::OnInitDialog()\n6287 int COlePropertiesDialog::OnInitDialog()\n6288 int COlePropertyPage::OnInitDialog()\n6289 int CPropertySheet::OnInitDialog()\n6290 void CFileDialog::OnInitDone()\n6291 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6292 void CControlBar::OnInitialUpdate()\n6293 void CFormView::OnInitialUpdate()\n6294 void COleDBRecordView::OnInitialUpdate()\n6295 void CRecordView::OnInitialUpdate()\n6296 void CRichEditView::OnInitialUpdate()\n6297 void CView::OnInitialUpdate()\n6298 void CFrameWnd::OnInitMenu(CMenu *)\n6299 void COleFrameHook::OnInitMenu(CMenu *)\n6300 void CWnd::OnInitMenu(CMenu *)\n6301 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6302 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6303 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6304 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6305 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6306 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6307 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6308 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6309 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6310 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6311 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6312 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6313 void CRichEditView::OnInsertObject()\n6314 void CSplitterWnd::OnInvertTracker(CRect const &)\n6315 void CDockContext::OnKey(int,int)\n6316 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6317 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6318 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6319 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6320 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6321 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6322 void COleControl::OnKeyPressEvent(unsigned short)\n6323 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6324 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6325 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6326 long CPropertySheet::OnKickIdle(unsigned int,long)\n6327 int CPropertyPage::OnKillActive()\n6328 void COleControl::OnKillFocus(CWnd *)\n6329 void CWnd::OnKillFocus(CWnd *)\n6330 long CCheckListBox::OnLBAddString(unsigned int,long)\n6331 long CCheckListBox::OnLBFindString(unsigned int,long)\n6332 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6333 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6334 long CCheckListBox::OnLBGetText(unsigned int,long)\n6335 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6336 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6337 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6338 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6339 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6340 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6341 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6342 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6343 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6344 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6345 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6346 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6347 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6348 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6349 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6350 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6351 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6352 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6353 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6354 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6355 void CAsyncMonikerFile::OnLowResource()\n6356 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6357 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6358 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6359 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6360 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6361 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6362 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6363 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6364 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6365 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6366 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6367 void CHtmlView::OnMenuBar(int)\n6368 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6369 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6370 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6371 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6372 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6373 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6374 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6375 int CSocket::OnMessagePending()\n6376 void COleControl::OnMnemonic(tagMSG *)\n6377 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6378 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6379 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6380 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6381 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6382 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6383 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6384 void COleControl::OnMouseMove(unsigned int,CPoint)\n6385 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6386 void CWnd::OnMouseMove(unsigned int,CPoint)\n6387 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6388 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6389 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6390 void COleControl::OnMove(int,int)\n6391 int COleDBRecordView::OnMove(unsigned int)\n6392 void CRecordView::OnMove(int,int)\n6393 int CRecordView::OnMove(unsigned int)\n6394 void CWnd::OnMove(int,int)\n6395 void CWnd::OnMoving(unsigned int,tagRECT *)\n6396 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6397 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6398 void CHtmlEditView::OnNavigateComplete2(char const *)\n6399 void CHtmlView::OnNavigateComplete2(char const *)\n6400 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n6401 int CFrameWnd::OnNcActivate(int)\n6402 int CMDIChildWnd::OnNcActivate(int)\n6403 int CMiniFrameWnd::OnNcActivate(int)\n6404 int CWnd::OnNcActivate(int)\n6405 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6406 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6407 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6408 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6409 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6410 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6411 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n6412 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n6413 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n6414 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n6415 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n6416 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n6417 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n6418 int CWnd::OnNcCreate(tagCREATESTRUCTA *)\n6419 void CListCtrl::OnNcDestroy()\n6420 void CListView::OnNcDestroy()\n6421 void CWnd::OnNcDestroy()\n6422 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n6423 unsigned int COleControl::OnNcHitTest(CPoint)\n6424 unsigned int CStatusBar::OnNcHitTest(CPoint)\n6425 unsigned int CToolBar::OnNcHitTest(CPoint)\n6426 unsigned int CWnd::OnNcHitTest(CPoint)\n6427 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6428 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6429 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6430 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6431 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6432 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6433 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6434 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6435 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6436 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6437 void CDockBar::OnNcPaint()\n6438 void COleControl::OnNcPaint()\n6439 void CReBar::OnNcPaint()\n6440 void CStatusBar::OnNcPaint()\n6441 void CToolBar::OnNcPaint()\n6442 void CWnd::OnNcPaint()\n6443 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6444 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6445 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6446 int CDocument::OnNewDocument()\n6447 int CHtmlEditDoc::OnNewDocument()\n6448 int COleDocument::OnNewDocument()\n6449 int COleLinkingDoc::OnNewDocument()\n6450 void COleServerDoc::OnNewEmbedding(IStorage *)\n6451 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6452 int CEnumArray::OnNext(void *)\n6453 int CEnumConnections::OnNext(void *)\n6454 int CEnumConnPoints::OnNext(void *)\n6455 int CEnumFormatEtc::OnNext(void *)\n6456 int CEnumOleVerb::OnNext(void *)\n6457 int CEnumUnknown::OnNext(void *)\n6458 void CPreviewView::OnNextPage()\n6459 int CView::OnNextPaneCmd(unsigned int)\n6460 int CFileDialog::OnNotify(unsigned int,long,long *)\n6461 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6462 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6463 int CWnd::OnNotify(unsigned int,long,long *)\n6464 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6465 long CWnd::OnNTCtlColor(unsigned int,long)\n6466 void CPreviewView::OnNumPageChange()\n6467 void COlePropertyPage::OnObjectsChanged()\n6468 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6469 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6470 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6471 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6472 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6473 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6474 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6475 void CCommonDialog::OnOK()\n6476 void CDialog::OnOK()\n6477 void CPropertyPage::OnOK()\n6478 long COleControl::OnOpen(int,tagMSG *)\n6479 void COleServerItem::OnOpen()\n6480 int CDocument::OnOpenDocument(char const *)\n6481 int CHtmlEditDoc::OnOpenDocument(char const *)\n6482 int COleDocument::OnOpenDocument(char const *)\n6483 int COleLinkingDoc::OnOpenDocument(char const *)\n6484 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6485 int CWinApp::OnOpenRecentFile(unsigned int)\n6486 void CAsyncSocket::OnOutOfBandData(int)\n6487 void CCommonDialog::OnPaint()\n6488 void CControlBar::OnPaint()\n6489 void CCtrlView::OnPaint()\n6490 void CDialog::OnPaint()\n6491 void CDockBar::OnPaint()\n6492 void CHtmlEditView::OnPaint()\n6493 void CHtmlView::OnPaint()\n6494 void COleControl::OnPaint(CDC *)\n6495 int COleControlContainer::OnPaint(CDC *)\n6496 void COleResizeBar::OnPaint()\n6497 void CReBar::OnPaint()\n6498 void CSplitterWnd::OnPaint()\n6499 void CStatusBar::OnPaint()\n6500 void CToolBar::OnPaint()\n6501 void CView::OnPaint()\n6502 void CWnd::OnPaint()\n6503 void CWnd::OnPaintClipboard(CWnd *,void *)\n6504 void CFrameWnd::OnPaletteChanged(CWnd *)\n6505 void COleFrameHook::OnPaletteChanged(CWnd *)\n6506 void CWnd::OnPaletteChanged(CWnd *)\n6507 void CWnd::OnPaletteIsChanging(CWnd *)\n6508 void CRichEditView::OnParaAlign(unsigned short)\n6509 void CRichEditView::OnParaCenter()\n6510 void CRichEditView::OnParaLeft()\n6511 void CRichEditView::OnParaRight()\n6512 void CWnd::OnParentNotify(unsigned int,long)\n6513 int CRichEditView::OnPasteNativeObject(IStorage *)\n6514 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6515 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6516 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6517 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6518 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6519 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6520 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6521 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6522 int CEditView::OnPreparePrinting(CPrintInfo *)\n6523 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6524 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6525 int CView::OnPreparePrinting(CPrintInfo *)\n6526 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6527 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6528 void CPreviewView::OnPreviewClose()\n6529 void CPreviewView::OnPreviewPrint()\n6530 void CPreviewView::OnPrevPage()\n6531 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6532 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6533 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6534 void CView::OnPrint(CDC *,CPrintInfo *)\n6535 void CRichEditView::OnPrinterChanged(CDC const &)\n6536 void CPrintDialog::OnPrintSetup()\n6537 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n6538 void CHtmlView::OnProgressChange(long,long)\n6539 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6540 void CHtmlView::OnPropertyChange(char const *)\n6541 int CPropertyPage::OnQueryCancel()\n6542 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6543 HICON__ * CWnd::OnQueryDragIcon()\n6544 int CFrameWnd::OnQueryEndSession()\n6545 int CWnd::OnQueryEndSession()\n6546 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6547 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6548 int CFrameWnd::OnQueryNewPalette()\n6549 int COleFrameHook::OnQueryNewPalette()\n6550 int CWnd::OnQueryNewPalette()\n6551 int CWnd::OnQueryOpen()\n6552 unsigned int CWnd::OnQueryUIState()\n6553 int COleServerItem::OnQueryUpdateItems()\n6554 void CHtmlView::OnQuit()\n6555 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6556 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6557 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6558 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6559 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6560 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6561 int COleServerDoc::OnReactivateAndUndo()\n6562 void COleFrameHook::OnRecalcLayout()\n6563 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6564 void CReBar::OnRecalcParent()\n6565 void CAsyncSocket::OnReceive(int)\n6566 void COleControl::OnReflectorDestroyed()\n6567 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6568 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6569 void COleClientItem::OnRemoveMenus(CMenu *)\n6570 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6571 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6572 void CWnd::OnRenderAllFormats()\n6573 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6574 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6575 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6576 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6577 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6578 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6579 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6580 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6581 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6582 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6583 void CWnd::OnRenderFormat(unsigned int)\n6584 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6585 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6586 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6587 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6588 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6589 void CEditView::OnReplaceAll(char const *,char const *,int)\n6590 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n6591 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n6592 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n6593 long COleControl::XFontNotification::OnRequestEdit(long)\n6594 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6595 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6596 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6597 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6598 void CEnumArray::OnReset()\n6599 void CPropertyPage::OnReset()\n6600 void COleControl::OnResetState()\n6601 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6602 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6603 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6604 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6605 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6606 void COleClientItem::XAdviseSink::OnSave()\n6607 int CDocument::OnSaveDocument(char const *)\n6608 int CHtmlEditDoc::OnSaveDocument(char const *)\n6609 int COleDocument::OnSaveDocument(char const *)\n6610 int COleLinkingDoc::OnSaveDocument(char const *)\n6611 int COleServerDoc::OnSaveDocument(char const *)\n6612 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6613 void COleServerItem::OnSaveEmbedding(IStorage *)\n6614 void CDocObjectServer::OnSaveViewState(CArchive &)\n6615 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6616 int CView::OnScroll(unsigned int,unsigned int,int)\n6617 int COleClientItem::OnScrollBy(CSize)\n6618 int CScrollView::OnScrollBy(CSize,int)\n6619 int CView::OnScrollBy(CSize,int)\n6620 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6621 void CAsyncSocket::OnSend(int)\n6622 int CPropertyPage::OnSetActive()\n6623 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6624 long CToolBar::OnSetButtonSize(unsigned int,long)\n6625 void COleControl::OnSetClientSite()\n6626 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6627 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6628 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6629 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6630 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6631 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6632 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6633 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6634 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6635 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6636 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6637 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6638 long CPropertySheet::OnSetDefID(unsigned int,long)\n6639 int COleControl::OnSetExtent(tagSIZE *)\n6640 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6641 void CFormView::OnSetFocus(CWnd *)\n6642 void CFrameWnd::OnSetFocus(CWnd *)\n6643 void COleControl::OnSetFocus(CWnd *)\n6644 void CWnd::OnSetFocus(CWnd *)\n6645 long CCheckListBox::OnSetFont(unsigned int,long)\n6646 void CDialog::OnSetFont(CFont *)\n6647 long CEditView::OnSetFont(unsigned int,long)\n6648 void COleServerDoc::OnSetHostNames(char const *,char const *)\n6649 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6650 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6651 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6652 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6653 long COleControl::OnSetMessageString(unsigned int,long)\n6654 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6655 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6656 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6657 void CDatabase::OnSetOptions(void *)\n6658 void CRecordset::OnSetOptions(void *)\n6659 void COlePropertyPage::OnSetPageSite()\n6660 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6661 long CToolBar::OnSetSizeHelper(CSize &,long)\n6662 long COleControl::OnSetText(unsigned int,long)\n6663 long CStatusBar::OnSetText(unsigned int,long)\n6664 void CWnd::OnSettingChange(unsigned int,char const *)\n6665 void CRecordset::OnSetUpdateOptions(void *)\n6666 unsigned int CFileDialog::OnShareViolation(char const *)\n6667 void CDocObjectServerItem::OnShow()\n6668 void COleServerItem::OnShow()\n6669 long CReBar::OnShowBand(unsigned int,long)\n6670 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6671 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6672 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6673 void COleServerDoc::OnShowDocument(int)\n6674 void COleClientItem::OnShowItem()\n6675 void COleControl::OnShowToolBars()\n6676 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6677 void COleDocument::OnShowViews(int)\n6678 void COleLinkingDoc::OnShowViews(int)\n6679 void COleControl::OnShowWindow(int,unsigned int)\n6680 void CWnd::OnShowWindow(int,unsigned int)\n6681 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6682 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6683 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6684 void CFrameWnd::OnSize(unsigned int,int,int)\n6685 void CHtmlView::OnSize(unsigned int,int,int)\n6686 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6687 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6688 void COleControl::OnSize(unsigned int,int,int)\n6689 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6690 void COleResizeBar::OnSize(unsigned int,int,int)\n6691 void CPreviewView::OnSize(unsigned int,int,int)\n6692 void CScrollView::OnSize(unsigned int,int,int)\n6693 void CSplitterWnd::OnSize(unsigned int,int,int)\n6694 void CStatusBar::OnSize(unsigned int,int,int)\n6695 void CWnd::OnSize(unsigned int,int,int)\n6696 void CWnd::OnSizeClipboard(CWnd *,void *)\n6697 long CControlBar::OnSizeParent(unsigned int,long)\n6698 long CDockBar::OnSizeParent(unsigned int,long)\n6699 long COleResizeBar::OnSizeParent(unsigned int,long)\n6700 void CWnd::OnSizing(unsigned int,tagRECT *)\n6701 int CEnumArray::OnSkip()\n6702 long CSocketWnd::OnSocketDead(unsigned int,long)\n6703 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6704 int CView::OnSplitCmd(unsigned int)\n6705 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6706 void CAsyncMonikerFile::OnStartBinding()\n6707 void CHtmlView::OnStatusBar(int)\n6708 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6709 void CHtmlView::OnStatusTextChange(char const *)\n6710 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n6711 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6712 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6713 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6714 void CToolBar::OnSysColorChange()\n6715 void CWnd::OnSysColorChange()\n6716 void CFrameWnd::OnSysCommand(unsigned int,long)\n6717 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6718 void CPropertySheet::OnSysCommand(unsigned int,long)\n6719 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6720 void CWnd::OnSysCommand(unsigned int,long)\n6721 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6722 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6723 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6724 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6725 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6726 void CWnd::OnTCard(unsigned int,unsigned long)\n6727 void COleControl::OnTextChanged()\n6728 void CEditView::OnTextNotFound(char const *)\n6729 void CRichEditView::OnTextNotFound(char const *)\n6730 void CHtmlView::OnTheaterMode(int)\n6731 void CWnd::OnTimeChange()\n6732 void CControlBar::OnTimer(unsigned int)\n6733 void CWnd::OnTimer(unsigned int)\n6734 void CHtmlView::OnTitleChange(char const *)\n6735 void CHtmlView::OnToolBar(int)\n6736 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6737 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6738 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6739 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6740 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6741 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6742 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6743 void CFileDialog::OnTypeChange()\n6744 void COleControlContainer::OnUIActivate(COleControlSite *)\n6745 long COleClientItem::XOleIPSite::OnUIActivate()\n6746 long COleControlSite::XOleIPSite::OnUIActivate()\n6747 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6748 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6749 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6750 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6751 void CView::OnUpdate(CView *,long,CObject *)\n6752 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6753 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6754 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6755 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6756 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6757 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6758 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6759 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6760 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6761 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6762 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6763 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6764 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6765 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6766 int COleServerDoc::OnUpdateDocument()\n6767 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6768 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6769 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6770 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6771 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6772 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6773 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6774 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6775 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6776 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6777 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6778 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6779 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6780 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6781 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6782 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6783 void CFrameWnd::OnUpdateFrameTitle(int)\n6784 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6785 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6786 int COleClientItem::OnUpdateFrameTitle()\n6787 int COleFrameHook::OnUpdateFrameTitle()\n6788 void COleServerItem::OnUpdateItems()\n6789 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6790 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6791 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6792 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6793 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6794 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6795 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6796 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6797 void CEditView::OnUpdateNeedText(CCmdUI *)\n6798 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6799 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6800 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6801 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6802 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6803 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6804 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6805 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6806 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6807 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6808 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6809 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6810 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6811 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6812 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6813 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6814 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6815 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6816 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6817 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6818 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6819 void CView::OnUpdateSplitCmd(CCmdUI *)\n6820 long CHtmlView::OnUpdateUI()\n6821 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6822 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6823 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6824 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6825 void CHtmlView::OnVisible(int)\n6826 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6827 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6828 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6829 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6830 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6831 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6832 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6833 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6834 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6835 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6836 void CMDIFrameWnd::OnWindowNew()\n6837 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6838 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6839 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6840 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6841 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6842 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6843 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6844 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6845 void CWnd::OnWinIniChange(char const *)\n6846 long CPropertyPage::OnWizardBack()\n6847 int CPropertyPage::OnWizardFinish()\n6848 long CPropertyPage::OnWizardNext()\n6849 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6850 void CPreviewView::OnZoomIn()\n6851 void CPreviewView::OnZoomOut()\n6852 int CAnimateCtrl::Open(unsigned int)\n6853 int CAnimateCtrl::Open(char const *)\n6854 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6855 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6856 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6857 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6858 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n6859 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n6860 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n6861 int CAsyncMonikerFile::Open(char const *,CFileException *)\n6862 int CDatabase::Open(char const *,int,int,char const *,int)\n6863 int CDataPathProperty::Open(CFileException *)\n6864 int CDataPathProperty::Open(COleControl *,CFileException *)\n6865 int CDataPathProperty::Open(char const *,CFileException *)\n6866 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n6867 int CFile::Open(char const *,unsigned int,CFileException *)\n6868 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n6869 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6870 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6871 int CMonikerFile::Open(IMoniker *,CFileException *)\n6872 int CMonikerFile::Open(char const *,CFileException *)\n6873 int CRecordset::Open(unsigned int,char const *,unsigned long)\n6874 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n6875 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n6876 long CDocObjectServer::XOleDocumentView::Open()\n6877 int CWnd::OpenClipboard()\n6878 CDocument * CDocManager::OpenDocumentFile(char const *)\n6879 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n6880 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n6881 CDocument * CWinApp::OpenDocumentFile(char const *)\n6882 int CDatabase::OpenEx(char const *,unsigned long)\n6883 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n6884 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n6885 int CWnd::OpenIcon()\n6886 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6887 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6888 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6889 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n6890 int CHtmlEditDoc::OpenURL(char const *)\n6891 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n6892 int CHeaderCtrl::OrderToIndex(int)const \n6893 int CFileException::OsErrorToException(long)\n6894 void CDumpContext::OutputString(char const *)\n6895 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6896 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6897 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6898 int CDC::PaintRgn(CRgn *)\n6899 int CWnd::PaintWindowlessControls(CDC *)\n6900 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6901 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6902 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n6903 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6904 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6905 void CCommandLineInfo::ParseLast(int)\n6906 void CCommandLineInfo::ParseParam(char const *,int,int)\n6907 void CCommandLineInfo::ParseParamFlag(char const *)\n6908 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6909 void CComboBox::Paste()\n6910 void CEdit::Paste()\n6911 void CRichEditCtrl::Paste()\n6912 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6913 int CDC::PatBlt(int,int,int,int,unsigned long)\n6914 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6915 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6916 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6917 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6918 int CDC::Pie(int,int,int,int,int,int,int,int)\n6919 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6920 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6921 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6922 int CDC::PlayMetaFile(HMETAFILE__ *)\n6923 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6924 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n6925 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n6926 int CDC::PolyBezier(tagPOINT const *,int)\n6927 int CDC::PolyBezierTo(tagPOINT const *,int)\n6928 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6929 int CDC::Polygon(tagPOINT *,int)\n6930 int CDC::Polyline(tagPOINT *,int)\n6931 int CDC::PolylineTo(tagPOINT const *,int)\n6932 int CDC::PolyPolygon(tagPOINT *,int *,int)\n6933 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6934 void CToolTipCtrl::Pop()\n6935 CPoint CEdit::PosFromChar(unsigned int)const \n6936 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6937 void CPreviewView::PositionPage(unsigned int)\n6938 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6939 int CMonikerFile::PostBindToStream(CFileException *)\n6940 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6941 int CWnd::PostMessageA(unsigned int,unsigned int,long)\n6942 void CDialog::PostModal()\n6943 void CPrintDialogEx::PostModal()\n6944 void COleControl::PostModalDialog(HWND__ *)\n6945 void CControlBar::PostNcDestroy()\n6946 void CControlFrameWnd::PostNcDestroy()\n6947 void CFindReplaceDialog::PostNcDestroy()\n6948 void CFrameWnd::PostNcDestroy()\n6949 void COleCntrFrameWnd::PostNcDestroy()\n6950 void CReflectorWnd::PostNcDestroy()\n6951 void CView::PostNcDestroy()\n6952 void CWnd::PostNcDestroy()\n6953 int CWinThread::PostThreadMessageA(unsigned int,unsigned int,long)\n6954 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n6955 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n6956 void CRecordset::PreBindFields()\n6957 void CDocument::PreCloseFrame(CFrameWnd *)\n6958 void COleDocument::PreCloseFrame(CFrameWnd *)\n6959 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6960 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6961 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6962 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n6963 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6964 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n6965 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6966 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6967 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n6968 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n6969 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6970 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6971 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6972 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6973 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n6974 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n6975 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n6976 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6977 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6978 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6979 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6980 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6981 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6982 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n6983 void CDialog::PreInitDialog()\n6984 void COleChangeSourceDialog::PreInitDialog()\n6985 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6986 HWND__ * CDialog::PreModal()\n6987 HWND__ * CPrintDialogEx::PreModal()\n6988 void COleControl::PreModalDialog(HWND__ *)\n6989 void CRecordset::PrepareAndExecute()\n6990 HWND__ * CDataExchange::PrepareCtrl(int)\n6991 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6992 void CWnd::PrepareForHelp()\n6993 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6994 void CRecordset::PrepareUpdateHstmt()\n6995 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n6996 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n6997 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n6998 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n6999 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n7000 void CPropertySheet::PressButton(int)\n7001 int CToolBarCtrl::PressButton(int,int)\n7002 void CCheckListBox::PreSubclassWindow()\n7003 void CDragListBox::PreSubclassWindow()\n7004 void CWnd::PreSubclassWindow()\n7005 int CWnd::PreTranslateInput(tagMSG *)\n7006 int CControlBar::PreTranslateMessage(tagMSG *)\n7007 int CDialog::PreTranslateMessage(tagMSG *)\n7008 int CFormView::PreTranslateMessage(tagMSG *)\n7009 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7010 int CHtmlView::PreTranslateMessage(tagMSG *)\n7011 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7012 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7013 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7014 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7015 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7016 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7017 int CWinThread::PreTranslateMessage(tagMSG *)\n7018 int CWnd::PreTranslateMessage(tagMSG *)\n7019 void CDialog::PrevDlgCtrl()const \n7020 void CWnd::Print(CDC *,unsigned long)const \n7021 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7022 int CPrintDialog::PrintAll()const \n7023 int CPrintDialogEx::PrintAll()const \n7024 void CWnd::PrintClient(CDC *,unsigned long)const \n7025 int CPrintDialog::PrintCollate()const \n7026 int CPrintDialogEx::PrintCollate()const \n7027 int CPrintDialogEx::PrintCurrentPage()const \n7028 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7029 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7030 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7031 long CRichEditView::PrintPage(CDC *,long,long)\n7032 int CPrintDialog::PrintRange()const \n7033 int CPrintDialogEx::PrintRange()const \n7034 int CPrintDialog::PrintSelection()const \n7035 int CPrintDialogEx::PrintSelection()const \n7036 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7037 long COleException::Process(CException const *)\n7038 int CSocket::ProcessAuxQueue()\n7039 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7040 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7041 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7042 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7043 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7044 int CRgn::PtInRegion(int,int)const \n7045 int CRgn::PtInRegion(tagPOINT)const \n7046 void COleSafeArray::PtrOfIndex(long *,void * *)\n7047 int CDC::PtVisible(tagPOINT)const \n7048 int CDC::PtVisible(int,int)const \n7049 int CMetaFileDC::PtVisible(tagPOINT)const \n7050 int CMetaFileDC::PtVisible(int,int)const \n7051 int CEvent::PulseEvent()\n7052 int CWinThread::PumpMessage()\n7053 int CSocket::PumpMessages(unsigned int)\n7054 void CReBarCtrl::PushChevron(unsigned int,long)\n7055 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n7056 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7057 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7058 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7059 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7060 void COleSafeArray::PutElement(long *,void *)\n7061 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n7062 void CHtmlView::PutProperty(char const *,char const *)\n7063 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n7064 void CHtmlView::PutProperty(char const *,short)\n7065 void CHtmlView::PutProperty(char const *,long)\n7066 void CHtmlView::PutProperty(char const *,double)\n7067 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n7068 int PX_Bool(CPropExchange *,char const *,int &)\n7069 int PX_Bool(CPropExchange *,char const *,int &,int)\n7070 int PX_Color(CPropExchange *,char const *,unsigned long &)\n7071 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n7072 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n7073 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n7074 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n7075 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7076 int PX_Double(CPropExchange *,char const *,double &)\n7077 int PX_Double(CPropExchange *,char const *,double &,double)\n7078 int PX_Float(CPropExchange *,char const *,float &)\n7079 int PX_Float(CPropExchange *,char const *,float &,float)\n7080 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7081 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n7082 int PX_Long(CPropExchange *,char const *,long &)\n7083 int PX_Long(CPropExchange *,char const *,long &,long)\n7084 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n7085 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n7086 int PX_Short(CPropExchange *,char const *,short &)\n7087 int PX_Short(CPropExchange *,char const *,short &,short)\n7088 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7089 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n7090 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7091 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n7092 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n7093 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n7094 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n7095 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7096 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7097 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7098 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7099 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7100 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7101 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7102 void * COleControl::QueryDefHandler(_GUID const &)\n7103 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7104 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7105 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7106 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7107 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7108 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7109 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7110 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7111 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n7112 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7113 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7114 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7115 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7116 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7117 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7118 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7119 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7120 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7121 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7122 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7123 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7124 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7125 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7126 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7127 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7128 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7129 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7130 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7131 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7132 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7133 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7134 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7135 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7136 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7137 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7138 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7139 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7140 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7141 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7142 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7143 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7144 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7145 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7146 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7147 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7148 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7149 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7150 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7151 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7152 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7153 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7154 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7155 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7156 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7157 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7158 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7159 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7160 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7161 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7162 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7163 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7164 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7165 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7166 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7167 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7168 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7169 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7170 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7171 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7172 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7173 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7174 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7175 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7176 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7177 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7178 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7179 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7180 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7181 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7182 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7183 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7184 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7185 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7186 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7187 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7188 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7189 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7190 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7191 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7192 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7193 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7194 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7195 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7196 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7197 long CPropertyPage::QuerySiblings(unsigned int,long)\n7198 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7199 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7200 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7201 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7202 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7203 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n7204 int COleControlSite::QuickActivate()\n7205 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7206 int COleClientItem::ReactivateAndUndo()\n7207 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n7208 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n7209 unsigned int CArchive::Read(void *,unsigned int)\n7210 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7211 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7212 unsigned int CFile::Read(void *,unsigned int)\n7213 int CImageList::Read(CArchive *)\n7214 unsigned int CInternetFile::Read(void *,unsigned int)\n7215 unsigned int CMemFile::Read(void *,unsigned int)\n7216 unsigned int COleStreamFile::Read(void *,unsigned int)\n7217 unsigned int CSocketFile::Read(void *,unsigned int)\n7218 unsigned int CStdioFile::Read(void *,unsigned int)\n7219 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7220 unsigned long CArchive::ReadCount()\n7221 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7222 int CProperty::ReadFromStream(IStream *)\n7223 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7224 int CPropertySet::ReadFromStream(IStream *)\n7225 void COleClientItem::ReadItem(CArchive &)\n7226 void COleClientItem::ReadItemCompound(CArchive &)\n7227 void COleClientItem::ReadItemFlat(CArchive &)\n7228 void CRecentFileList::ReadList()\n7229 int CPropertySection::ReadNameDictFromStream(IStream *)\n7230 CObject * CArchive::ReadObject(CRuntimeconst *)\n7231 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7232 char * CArchive::ReadString(char *,unsigned int)\n7233 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7234 char * CInternetFile::ReadString(char *,unsigned int)\n7235 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7236 char * CStdioFile::ReadString(char *,unsigned int)\n7237 unsigned int CDC::RealizePalette()\n7238 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7239 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7240 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7241 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7242 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7243 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7244 void CRecordset::RebindParams(void *)\n7245 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7246 void CFrameWnd::RecalcLayout(int)\n7247 void CMiniDockFrameWnd::RecalcLayout(int)\n7248 void COleCntrFrameWnd::RecalcLayout(int)\n7249 void COleDocIPFrameWnd::RecalcLayout(int)\n7250 void COleIPFrameWnd::RecalcLayout(int)\n7251 void CSplitterWnd::RecalcLayout()\n7252 int CAsyncSocket::Receive(void *,int,int)\n7253 int CSocket::Receive(void *,int,int)\n7254 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n7255 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7256 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7257 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7258 void COleControl::RecreateControlWindow()\n7259 int CDC::Rectangle(int,int,int,int)\n7260 int CDC::Rectangle(tagRECT const *)\n7261 CRect const CFrameWnd::rectDefault\n7262 int CRgn::RectInRegion(tagRECT const *)const \n7263 int CDC::RectVisible(tagRECT const *)const \n7264 int CMetaFileDC::RectVisible(tagRECT const *)const \n7265 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7266 int CRichEditCtrl::Redo()\n7267 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7268 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7269 int CListCtrl::RedrawItems(int,int)\n7270 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7271 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7272 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7273 void CHtmlView::Refresh()\n7274 void COleControl::Refresh()\n7275 void CHtmlView::Refresh2(int)\n7276 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7277 int COleDropTarget::Register(CWnd *)\n7278 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n7279 int COleMessageFilter::Register()\n7280 int COleObjectFactory::Register()\n7281 int COleTemplateServer::Register()\n7282 int CWinApp::Register()\n7283 int COleObjectFactory::RegisterAll()\n7284 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n7285 void CDocManager::RegisterShellFileTypes(int)\n7286 void CWinApp::RegisterShellFileTypes(int)\n7287 void CToolTipCtrl::RelayEvent(tagMSG *)\n7288 unsigned long CArchiveStream::Release()\n7289 unsigned long CBlobProperty::Release()\n7290 unsigned long CBrowserControlSite::Release()\n7291 unsigned long CDHtmlControlSink::Release()\n7292 unsigned long CDHtmlElementEventSink::Release()\n7293 unsigned long CDHtmlEventSink::Release()\n7294 unsigned long CInnerUnknown::Release()\n7295 void COleClientItem::Release(enum tagOLECLOSE)\n7296 unsigned long COleConnPtContainer::Release()\n7297 void COleDataObject::Release()\n7298 unsigned long COleDispatchImpl::Release()\n7299 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7300 unsigned long COleUILinkInfo::Release()\n7301 unsigned long CPrintDialogEx::Release()\n7302 unsigned long CWnd::XAccessible::Release()\n7303 unsigned long CWnd::XAccessibleServer::Release()\n7304 unsigned long COleClientItem::XAdviseSink::Release()\n7305 unsigned long COleControlSite::XAmbientProps::Release()\n7306 unsigned long COleControlSite::XBoundObjectSite::Release()\n7307 unsigned long COleObjectFactory::XClassFactory::Release()\n7308 unsigned long CConnectionPoint::XConnPt::Release()\n7309 unsigned long COleControl::XDataObject::Release()\n7310 unsigned long COleDataSource::XDataObject::Release()\n7311 unsigned long COleServerDoc::XDataObject::Release()\n7312 unsigned long COleServerItem::XDataObject::Release()\n7313 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7314 unsigned long COleDropSource::XDropSource::Release()\n7315 unsigned long COleDropTarget::XDropTarget::Release()\n7316 unsigned long CEnumArray::XEnumVOID::Release()\n7317 unsigned long COleControlSite::XEventSink::Release()\n7318 unsigned long COleControl::XFontNotification::Release()\n7319 unsigned long COleMessageFilter::XMessageFilter::Release()\n7320 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7321 unsigned long COleControl::XOleCache::Release()\n7322 unsigned long COleClientItem::XOleClientSite::Release()\n7323 unsigned long COleControlSite::XOleClientSite::Release()\n7324 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7325 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7326 unsigned long COleControlContainer::XOleContainer::Release()\n7327 unsigned long COleControl::XOleControl::Release()\n7328 unsigned long COleControlSite::XOleControlSite::Release()\n7329 unsigned long CDocObjectServer::XOleDocument::Release()\n7330 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7331 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7332 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7333 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7334 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7335 unsigned long COleControl::XOleInPlaceObject::Release()\n7336 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7337 unsigned long COleControlContainer::XOleIPFrame::Release()\n7338 unsigned long COleClientItem::XOleIPSite::Release()\n7339 unsigned long COleControlSite::XOleIPSite::Release()\n7340 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7341 unsigned long CDocObjectServer::XOleObject::Release()\n7342 unsigned long COleControl::XOleObject::Release()\n7343 unsigned long COleServerDoc::XOleObject::Release()\n7344 unsigned long COleServerItem::XOleObject::Release()\n7345 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7346 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7347 unsigned long COleLinkingDoc::XPersistFile::Release()\n7348 unsigned long COleControl::XPersistMemory::Release()\n7349 unsigned long COleControl::XPersistPropertyBag::Release()\n7350 unsigned long COleControl::XPersistStorage::Release()\n7351 unsigned long COleServerDoc::XPersistStorage::Release()\n7352 unsigned long COleControl::XPersistStreamInit::Release()\n7353 unsigned long COleControl::XPointerInactive::Release()\n7354 unsigned long CDocObjectServer::XPrint::Release()\n7355 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7356 unsigned long COlePropertyPage::XPropertyPage::Release()\n7357 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7358 unsigned long COleControl::XProvideClassInfo::Release()\n7359 unsigned long COleControl::XQuickActivate::Release()\n7360 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7361 unsigned long COleControlSite::XRowsetNotify::Release()\n7362 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7363 unsigned long COleControl::XViewObject::Release()\n7364 void CDC::ReleaseAttribDC()\n7365 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7366 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7367 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7368 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7369 void COleControl::ReleaseCaches()\n7370 int COleControl::ReleaseCapture()\n7371 int COleControl::ReleaseDC(CDC *)\n7372 int CWnd::ReleaseDC(CDC *)\n7373 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7374 void COleDispatchDriver::ReleaseDispatch()\n7375 void CDocObjectServer::ReleaseDocSite()\n7376 void CDocument::ReleaseFile(CFile *,int)\n7377 void CFontHolder::ReleaseFont()\n7378 void CDC::ReleaseOutputDC()\n7379 void CMetaFileDC::ReleaseOutputDC()\n7380 void CPreviewDC::ReleaseOutputDC()\n7381 int COleClientItem::Reload()\n7382 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7383 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7384 void CFile::Remove(char const *)\n7385 int CFtpConnection::Remove(char const *)\n7386 int CImageList::Remove(int)\n7387 void CPropertySection::Remove(unsigned long)\n7388 void CPropertySet::Remove(_GUID)\n7389 void CPropertySet::Remove(_GUID,unsigned long)\n7390 void CRecentFileList::Remove(int)\n7391 int CSimpleList::Remove(void *)\n7392 void CByteArray::RemoveAll()\n7393 void CDWordArray::RemoveAll()\n7394 void CMapPtrToPtr::RemoveAll()\n7395 void CMapPtrToWord::RemoveAll()\n7396 void CMapStringToOb::RemoveAll()\n7397 void CMapStringToPtr::RemoveAll()\n7398 void CMapStringToString::RemoveAll()\n7399 void CMapWordToOb::RemoveAll()\n7400 void CMapWordToPtr::RemoveAll()\n7401 void CObArray::RemoveAll()\n7402 void CObList::RemoveAll()\n7403 void CPropertySection::RemoveAll()\n7404 void CPropertySet::RemoveAll()\n7405 void CPtrArray::RemoveAll()\n7406 void CPtrList::RemoveAll()\n7407 void CStringArray::RemoveAll()\n7408 void CStringList::RemoveAll()\n7409 void CTypeLibCacheMap::RemoveAll(void *)\n7410 void CUIntArray::RemoveAll()\n7411 void CWordArray::RemoveAll()\n7412 void CByteArray::RemoveAt(int,int)\n7413 void CDWordArray::RemoveAt(int,int)\n7414 void CObArray::RemoveAt(int,int)\n7415 void CObList::RemoveAt(__POSITION *)\n7416 void CPtrArray::RemoveAt(int,int)\n7417 void CPtrList::RemoveAt(__POSITION *)\n7418 void CStringArray::RemoveAt(int,int)\n7419 void CStringList::RemoveAt(__POSITION *)\n7420 void CUIntArray::RemoveAt(int,int)\n7421 void CWordArray::RemoveAt(int,int)\n7422 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7423 void CFrameWnd::RemoveControlBar(CControlBar *)\n7424 int CFtpConnection::RemoveDirectoryA(char const *)\n7425 void CDocTemplate::RemoveDocument(CDocument *)\n7426 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7427 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7428 void COleControl::RemoveFrameLevelUI()\n7429 void CFrameWnd::RemoveFrameWnd()\n7430 void CHandleMap::RemoveHandle(void *)\n7431 CObject * CObList::RemoveHead()\n7432 void * CPtrList::RemoveHead()\n7433 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n7434 void CTabCtrl::RemoveImage(int)\n7435 void CListCtrl::RemoveImageList(int)\n7436 void CListView::RemoveImageList(int)\n7437 void CTreeCtrl::RemoveImageList(int)\n7438 void CTreeView::RemoveImageList(int)\n7439 void COleDocument::RemoveItem(CDocItem *)\n7440 int CMapPtrToPtr::RemoveKey(void *)\n7441 int CMapPtrToWord::RemoveKey(void *)\n7442 int CMapStringToOb::RemoveKey(char const *)\n7443 int CMapStringToPtr::RemoveKey(char const *)\n7444 int CMapStringToString::RemoveKey(char const *)\n7445 int CMapWordToOb::RemoveKey(unsigned short)\n7446 int CMapWordToPtr::RemoveKey(unsigned short)\n7447 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7448 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7449 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7450 void CPropertySheet::RemovePage(int)\n7451 void CPropertySheet::RemovePage(CPropertyPage *)\n7452 void CDockBar::RemovePlaceHolder(CControlBar *)\n7453 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7454 void CDataBoundProperty::RemoveSource()\n7455 CObject * CObList::RemoveTail()\n7456 void * CPtrList::RemoveTail()\n7457 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n7458 void CDocument::RemoveView(CView *)\n7459 void CFile::Rename(char const *,char const *)\n7460 int CFtpConnection::Rename(char const *,char const *)\n7461 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7462 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7463 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n7464 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n7465 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n7466 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n7467 int CImageList::Replace(int,HICON__ *)\n7468 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7469 int CFindReplaceDialog::ReplaceAll()const \n7470 void CDatabase::ReplaceBrackets(char *)\n7471 int CFindReplaceDialog::ReplaceCurrent()const \n7472 void CEdit::ReplaceSel(char const *,int)\n7473 void CRichEditCtrl::ReplaceSel(char const *,int)\n7474 int CException::ReportError(unsigned int,unsigned int)\n7475 int COleClientItem::ReportError(long)const \n7476 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7477 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7478 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7479 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7480 int CRecordset::Requery()\n7481 void COleControl::RequestAsynchronousExchange(unsigned long)\n7482 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7483 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7484 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7485 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7486 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7487 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7488 void CRichEditCtrl::RequestResize()\n7489 long COleControlSite::XOleIPSite::RequestUIActivate()\n7490 long CEnumArray::XEnumVOID::Reset()\n7491 void CComboBox::ResetContent()\n7492 void CListBox::ResetContent()\n7493 void CRecordset::ResetCursor()\n7494 void CCachedDataPathProperty::ResetData()\n7495 void CDataPathProperty::ResetData()\n7496 int CDC::ResetDCA(_devicemodeA const *)\n7497 int CEvent::ResetEvent()\n7498 void COleControl::ResetStockProps()\n7499 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7500 void COleControl::ResetVersion(unsigned long)\n7501 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7502 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7503 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7504 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7505 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7506 void COleControl::ResizeFrameWindow(int,int)\n7507 void COleSafeArray::ResizeOneDim(unsigned long)\n7508 void COleControl::ResizeOpenControl(int,int)\n7509 int CPalette::ResizePalette(unsigned int)\n7510 void CScrollView::ResizeParentToFit(int)\n7511 void CWaitCursor::Restore()\n7512 void CReBarCtrl::RestoreBand(unsigned int)\n7513 int CDC::RestoreDC(int)\n7514 int CPreviewDC::RestoreDC(int)\n7515 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n7516 void CCmdTarget::RestoreWaitCursor()\n7517 unsigned long CWinThread::ResumeThread()\n7518 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7519 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n7520 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n7521 long CArchiveStream::Revert()\n7522 void COleDropTarget::Revoke()\n7523 void COleLinkingDoc::Revoke()\n7524 void COleMessageFilter::Revoke()\n7525 void COleObjectFactory::Revoke()\n7526 void COleObjectFactory::RevokeAll()\n7527 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n7528 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n7529 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n7530 void RFX_Bool(CFieldExchange *,char const *,int &)\n7531 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7532 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n7533 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n7534 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n7535 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n7536 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n7537 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n7538 void RFX_Double(CFieldExchange *,char const *,double &)\n7539 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n7540 void RFX_Int(CFieldExchange *,char const *,int &)\n7541 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7542 void RFX_Long(CFieldExchange *,char const *,long &)\n7543 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n7544 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n7545 void RFX_Single(CFieldExchange *,char const *,float &)\n7546 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n7547 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7548 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7549 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n7550 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n7551 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n7552 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n7553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n7554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n7555 int CDatabase::Rollback()\n7556 int CDC::RoundRect(int,int,int,int,int,int)\n7557 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7558 void COleClientItem::Run()\n7559 int CWinApp::Run()\n7560 int CWinThread::Run()\n7561 int CWinApp::RunAutomated()\n7562 int CWinApp::RunEmbedded()\n7563 int CWnd::RunModalLoop(unsigned long)\n7564 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7565 int CEditView::SameAsSelected(char const *,int)\n7566 int CRichEditView::SameAsSelected(char const *,int,int)\n7567 long CBlobProperty::Save(IStream *,int)\n7568 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7569 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7570 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7571 long COleControl::XPersistStorage::Save(IStorage *,int)\n7572 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7573 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7574 int CDocManager::SaveAllModified()\n7575 int CDocTemplate::SaveAllModified()\n7576 int CWinApp::SaveAllModified()\n7577 void CFrameWnd::SaveBarState(char const *)const \n7578 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7579 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7580 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7581 int CDC::SaveDC()\n7582 int CPreviewDC::SaveDC()\n7583 void COleServerDoc::SaveEmbedding()\n7584 int CFormView::SaveFocusControl()\n7585 int CDocument::SaveModified()\n7586 int COleDocument::SaveModified()\n7587 int COleServerDoc::SaveModified()\n7588 int COleServerDoc::SaveModifiedPrompt()\n7589 long COleClientItem::XOleClientSite::SaveObject()\n7590 long COleControlSite::XOleClientSite::SaveObject()\n7591 int CControlBarInfo::SaveState(char const *,int)\n7592 void CDockState::SaveState(char const *)\n7593 long COleControl::SaveState(IStream *)\n7594 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n7595 void CWinApp::SaveStdProfileSettings()\n7596 void COleDocument::SaveToStorage(CObject *)\n7597 void COleLinkingDoc::SaveToStorage(CObject *)\n7598 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7599 void CDockState::ScalePoint(CPoint &)\n7600 void CDockState::ScaleRectPos(CRect &)\n7601 CSize CDC::ScaleViewportExt(int,int,int,int)\n7602 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7603 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7604 CSize CDC::ScaleWindowExt(int,int,int,int)\n7605 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7606 void CWnd::ScreenToClient(tagPOINT *)const \n7607 void CWnd::ScreenToClient(tagRECT *)const \n7608 int CListCtrl::Scroll(CSize)\n7609 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7610 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7611 void COleControlContainer::ScrollChildren(int,int)\n7612 int COleServerDoc::ScrollContainerBy(CSize)\n7613 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7614 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7615 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7616 void CScrollView::ScrollToPosition(tagPOINT)\n7617 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7618 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7619 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7620 int CFindReplaceDialog::SearchDown()const \n7621 int CAnimateCtrl::Seek(unsigned int)\n7622 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7623 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7624 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7625 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7626 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7627 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7628 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7629 void CFile::SeekToBegin()\n7630 unsigned __int64 CFile::SeekToEnd()\n7631 CFont * CFontHolder::Select(CDC *,long,long)\n7632 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7633 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7634 int CDC::SelectClipPath(int)\n7635 int CDC::SelectClipRgn(CRgn *)\n7636 int CDC::SelectClipRgn(CRgn *,int)\n7637 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7638 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7639 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7640 long CPrintDialogEx::SelectionChange()\n7641 int CTreeCtrl::SelectItem(_TREEITEM *)\n7642 int CDC::SelectObject(CRgn *)\n7643 CBitmap * CDC::SelectObject(CBitmap *)\n7644 CBrush * CDC::SelectObject(CBrush *)\n7645 CGdiObject * CDC::SelectObject(CGdiObject *)\n7646 CPen * CDC::SelectObject(CPen *)\n7647 void * CDC::SelectObject(void *)\n7648 CFont * CDC::SelectObject(CFont *)\n7649 CFont * CPreviewDC::SelectObject(CFont *)\n7650 CPalette * CDC::SelectPalette(CPalette *,int)\n7651 void CWinApp::SelectPrinter(void *,void *,int)\n7652 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7653 CFont * COleControl::SelectStockFont(CDC *)\n7654 CGdiObject * CDC::SelectStockObject(int)\n7655 CGdiObject * CPreviewDC::SelectStockObject(int)\n7656 int CComboBox::SelectString(int,char const *)\n7657 int CListBox::SelectString(int,char const *)\n7658 int CListBox::SelItemRange(int,int,int)\n7659 int CAsyncSocket::Send(void const *,int,int)\n7660 int CSocket::Send(void const *,int,int)\n7661 void COleControl::SendAdvise(unsigned int)\n7662 int CWnd::SendChildNotifyLastMsg(long *)\n7663 int CSocket::SendChunk(void const *,int,int)\n7664 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7665 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7666 void CDocument::SendInitialUpdate()\n7667 void CRecordset::SendLongBinaryData(void *)\n7668 long CWnd::SendMessageA(unsigned int,unsigned int,long)\n7669 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7670 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7671 void COleControlSite::SendMnemonic(tagMSG *)\n7672 int CWnd::SendNotifyMessageA(unsigned int,unsigned int,long)\n7673 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n7674 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n7675 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7676 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n7677 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n7678 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7679 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7680 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7681 void CByteArray::Serialize(CArchive &)\n7682 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7683 void CDocItem::Serialize(CArchive &)\n7684 void CDockState::Serialize(CArchive &)\n7685 void CDWordArray::Serialize(CArchive &)\n7686 void CEditView::Serialize(CArchive &)\n7687 void CMapStringToOb::Serialize(CArchive &)\n7688 void CMapStringToString::Serialize(CArchive &)\n7689 void CMapWordToOb::Serialize(CArchive &)\n7690 void CObArray::Serialize(CArchive &)\n7691 void CObject::Serialize(CArchive &)\n7692 void CObList::Serialize(CArchive &)\n7693 void COleClientItem::Serialize(CArchive &)\n7694 void COleControl::Serialize(CArchive &)\n7695 void COleDocument::Serialize(CArchive &)\n7696 void CRichEditDoc::Serialize(CArchive &)\n7697 void CRichEditView::Serialize(CArchive &)\n7698 void CStringArray::Serialize(CArchive &)\n7699 void CStringList::Serialize(CArchive &)\n7700 void CWordArray::Serialize(CArchive &)\n7701 CArchive & ATL::CTime::Serialize64(CArchive &)\n7702 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7703 void CArchive::SerializeClass(CRuntimeconst *)\n7704 void COleControl::SerializeExtent(CArchive &)\n7705 void CEditView::SerializeRaw(CArchive &)\n7706 void COleControl::SerializeStockProps(CArchive &)\n7707 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7708 int CProperty::Set(unsigned long,void * const,unsigned long)\n7709 int CProperty::Set(void * const)\n7710 int CProperty::Set(void * const,unsigned long)\n7711 int CPropertySection::Set(unsigned long,void *)\n7712 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7713 int CPropertySet::Set(_GUID,unsigned long,void *)\n7714 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7715 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7716 void CRecordset::SetAbsolutePosition(long)\n7717 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7718 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7719 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7720 int CPropertySheet::SetActivePage(int)\n7721 int CPropertySheet::SetActivePage(CPropertyPage *)\n7722 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7723 void CFrameWnd::SetActiveView(CView *,int)\n7724 CWnd * CWnd::SetActiveWindow()\n7725 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7726 void CIPAddressCtrl::SetAddress(unsigned long)\n7727 void CHtmlView::SetAddressBar(int)\n7728 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7729 int CToolBarCtrl::SetAnchorHighlight(int)\n7730 void CListBox::SetAnchorIndex(int)\n7731 void COleControl::SetAppearance(short)\n7732 int CDC::SetArcDirection(int)\n7733 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n7734 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n7735 void CByteArray::SetAt(int,unsigned char)\n7736 void CDWordArray::SetAt(int,unsigned long)\n7737 void CMapPtrToPtr::SetAt(void *,void *)\n7738 void CMapPtrToWord::SetAt(void *,unsigned short)\n7739 void CMapStringToOb::SetAt(char const *,CObject *)\n7740 void CMapStringToPtr::SetAt(char const *,void *)\n7741 void CMapStringToString::SetAt(char const *,char const *)\n7742 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7743 void CMapWordToPtr::SetAt(unsigned short,void *)\n7744 void CObArray::SetAt(int,CObject *)\n7745 void CObList::SetAt(__POSITION *,CObject *)\n7746 void CPtrArray::SetAt(int,void *)\n7747 void CPtrList::SetAt(__POSITION *,void *)\n7748 void CStringArray::SetAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7749 void CStringArray::SetAt(int,char const *)\n7750 void CStringList::SetAt(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7751 void CStringList::SetAt(__POSITION *,char const *)\n7752 void CUIntArray::SetAt(int,unsigned int)\n7753 void CWordArray::SetAt(int,unsigned short)\n7754 void CByteArray::SetAtGrow(int,unsigned char)\n7755 void CDWordArray::SetAtGrow(int,unsigned long)\n7756 void CObArray::SetAtGrow(int,CObject *)\n7757 void CPtrArray::SetAtGrow(int,void *)\n7758 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7759 void CStringArray::SetAtGrow(int,char const *)\n7760 void CUIntArray::SetAtGrow(int,unsigned int)\n7761 void CWordArray::SetAtGrow(int,unsigned short)\n7762 void CDC::SetAttribDC(HDC__ *)\n7763 void CMetaFileDC::SetAttribDC(HDC__ *)\n7764 void CPreviewDC::SetAttribDC(HDC__ *)\n7765 int CRichEditCtrl::SetAutoURLDetect(int)\n7766 void COleControl::SetBackColor(unsigned long)\n7767 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7768 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOA *)\n7769 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7770 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7771 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7772 void CControlBar::SetBarStyle(unsigned long)\n7773 int CSpinButtonCtrl::SetBase(int)\n7774 void CAsyncMonikerFile::SetBinding(IBinding *)\n7775 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7776 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7777 int CToolBar::SetBitmap(HBITMAP__ *)\n7778 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7779 CSize CBitmap::SetBitmapDimension(int,int)\n7780 int CHeaderCtrl::SetBitmapMargin(int)\n7781 int CToolBarCtrl::SetBitmapSize(CSize)\n7782 unsigned long CDC::SetBkColor(unsigned long)\n7783 unsigned long CImageList::SetBkColor(unsigned long)\n7784 int CListCtrl::SetBkColor(unsigned long)\n7785 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7786 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7787 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7788 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7789 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7790 int CListCtrl::SetBkImage(char *,int,int,int)\n7791 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7792 int CListCtrl::SetBkImage(tagLVBKIMAGEA *)\n7793 int CDC::SetBkMode(int)\n7794 void CRecordset::SetBookmark(CDBVariant const &)\n7795 void CControlBar::SetBorders(int,int,int,int)\n7796 void CControlBar::SetBorders(tagRECT const *)\n7797 void CStatusBar::SetBorders(int,int,int,int)\n7798 void CStatusBar::SetBorders(tagRECT const *)\n7799 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7800 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7801 void COleControl::SetBorderStyle(short)\n7802 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7803 CPoint CDC::SetBrushOrg(int,int)\n7804 CPoint CDC::SetBrushOrg(tagPOINT)\n7805 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7806 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7807 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7808 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7809 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOA *)\n7810 int CToolBar::SetButtons(unsigned int const *,int)\n7811 int CToolBarCtrl::SetButtonSize(CSize)\n7812 void CToolBarCtrl::SetButtonStructSize(int)\n7813 void CButton::SetButtonStyle(unsigned int,int)\n7814 void CToolBar::SetButtonStyle(int,unsigned int)\n7815 int CToolBar::SetButtonText(int,char const *)\n7816 int CToolBarCtrl::SetButtonWidth(int,int)\n7817 int CListCtrl::SetCallbackMask(unsigned int)\n7818 CWnd * COleControl::SetCapture()\n7819 CWnd * CWnd::SetCapture()\n7820 long COleControlSite::XOleIPSite::SetCapture(int)\n7821 int CListBox::SetCaretIndex(int,int)\n7822 void CWnd::SetCaretPos(tagPOINT)\n7823 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n7824 void CButton::SetCheck(int)\n7825 void CCheckListBox::SetCheck(int,int)\n7826 void CCmdUI::SetCheck(int)\n7827 int CListCtrl::SetCheck(int,int)\n7828 void COleCmdUI::SetCheck(int)\n7829 void CStatusCmdUI::SetCheck(int)\n7830 void CTestCmdUI::SetCheck(int)\n7831 void CToolCmdUI::SetCheck(int)\n7832 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7833 void CCheckListBox::SetCheckStyle(unsigned int)\n7834 void CPropertySet::SetClassID(_GUID)\n7835 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7836 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7837 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7838 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7839 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7840 void COleDataSource::SetClipboard()\n7841 HWND__ * CWnd::SetClipboardViewer()\n7842 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7843 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7844 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7845 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7846 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7847 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7848 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7849 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7850 int CListCtrl::SetColumn(int,tagLVCOLUMNA const *)\n7851 void CSplitterWnd::SetColumnInfo(int,int,int)\n7852 int CListCtrl::SetColumnOrderArray(int,int *)\n7853 void CListBox::SetColumnWidth(int)\n7854 int CListCtrl::SetColumnWidth(int,int)\n7855 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7856 void CDocTemplate::SetContainerInfo(unsigned int)\n7857 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7858 void CDataPathProperty::SetControl(COleControl *)\n7859 void CReflectorWnd::SetControl(COleControl *)\n7860 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7861 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n7862 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n7863 int COleControl::SetControlSize(int,int)\n7864 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7865 void CFileDialog::SetControlText(int,char const *)\n7866 int CInternetSession::SetCookie(char const *,char const *,char const *)\n7867 void CTabCtrl::SetCurFocus(int)\n7868 void COleCurrency::SetCurrency(long,long)\n7869 void CColorDialog::SetCurrentColor(unsigned long)\n7870 int CFtpConnection::SetCurrentDirectoryA(char const *)\n7871 void CWinApp::SetCurrentHandles()\n7872 void CPreviewView::SetCurrentPage(unsigned int,int)\n7873 int CComboBox::SetCurSel(int)\n7874 int CListBox::SetCurSel(int)\n7875 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7876 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7877 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7878 int CTabCtrl::SetCurSel(int)\n7879 HICON__ * CButton::SetCursor(HICON__ *)\n7880 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7881 HICON__ * CStatic::SetCursor(HICON__ *)\n7882 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7883 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7884 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7885 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7886 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7887 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7888 void COccManager::SetDefaultButton(CWnd *,int)\n7889 void COleControlSite::SetDefaultButton(int)\n7890 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n7891 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n7892 int CMenu::SetDefaultItem(unsigned int,int)\n7893 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7894 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7895 void CFileDialog::SetDefExt(char const *)\n7896 void CDialog::SetDefID(unsigned int)\n7897 void CToolTipCtrl::SetDelayTime(unsigned int)\n7898 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7899 void CDumpContext::SetDepth(int)\n7900 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7901 void COlePropertyPage::SetDialogResource(void *)\n7902 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7903 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7904 int COleControlSite::SetDlgCtrlID(int)\n7905 int CWnd::SetDlgCtrlID(int)\n7906 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7907 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7908 void COleControlContainer::SetDlgItemTextA(int,char const *)\n7909 void CWnd::SetDlgItemTextA(int,char const *)\n7910 void CFrameWnd::SetDockState(CDockState const &)\n7911 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7912 int CImageList::SetDragCursorImage(int,CPoint)\n7913 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7914 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7915 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7916 int CComboBox::SetDroppedWidth(unsigned int)\n7917 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7918 int CComboBox::SetEditSel(int,int)\n7919 int CComboBoxEx::SetEditSel(int,int)\n7920 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7921 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n7922 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n7923 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7924 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n7925 void COleControl::SetEnabled(int)\n7926 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7927 int CEvent::SetEvent()\n7928 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7929 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7930 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7931 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7932 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7933 int CComboBox::SetExtendedUI(int)\n7934 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7935 int COleControlSite::SetExtent()\n7936 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7937 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7938 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7939 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7940 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7941 void CRecordset::SetFieldDirty(void *,int)\n7942 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7943 void CRecordset::SetFieldNull(void *,int)\n7944 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7945 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7946 void CFieldExchange::SetFieldType(unsigned int)\n7947 void CFile::SetFilePath(char const *)\n7948 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7949 void CPropertySheet::SetFinishText(char const *)\n7950 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7951 CWnd * COleControl::SetFocus()\n7952 CWnd * COleControlSite::SetFocus(tagMSG *)\n7953 CWnd * COleControlSite::SetFocus()\n7954 CWnd * CWnd::SetFocus()\n7955 long COleControlSite::XOleIPSite::SetFocus(int)\n7956 void CDHtmlDialog::SetFocusToElement(char const *)\n7957 int CDialogTemplate::SetFont(char const *,unsigned short)\n7958 void CFontHolder::SetFont(IFont *)\n7959 void COleControl::SetFont(IFontDisp *)\n7960 void CWnd::SetFont(CFont *,int)\n7961 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7962 void COleControl::SetForeColor(unsigned long)\n7963 int CWnd::SetForegroundWindow()\n7964 int CDateTimeCtrl::SetFormat(char const *)\n7965 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7966 void CPropertySection::SetFormatID(_GUID)\n7967 void CPropertySet::SetFormatVersion(unsigned short)\n7968 void CHtmlView::SetFullScreen(int)\n7969 void CEdit::SetHandle(void *)\n7970 void CSharedFile::SetHandle(void *,int)\n7971 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7972 void CHtmlView::SetHeight(long)\n7973 void CToolBar::SetHeight(int)\n7974 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7975 void CDialog::SetHelpID(unsigned int)\n7976 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n7977 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n7978 void CComboBox::SetHorizontalExtent(unsigned int)\n7979 void CListBox::SetHorizontalExtent(int)\n7980 void CDHtmlDialog::SetHostFlags(unsigned long)\n7981 void COleClientItem::SetHostNames(char const *,char const *)\n7982 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7983 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7984 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7985 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7986 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7987 int CHeaderCtrl::SetHotDivider(int)\n7988 int CHeaderCtrl::SetHotDivider(CPoint)\n7989 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7990 int CListCtrl::SetHotItem(int)\n7991 int CToolBarCtrl::SetHotItem(int)\n7992 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7993 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7994 HICON__ * CButton::SetIcon(HICON__ *)\n7995 HICON__ * CStatic::SetIcon(HICON__ *)\n7996 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7997 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7998 int COleClientItem::SetIconicMetafile(void *)\n7999 CSize CListCtrl::SetIconSpacing(int,int)\n8000 CSize CListCtrl::SetIconSpacing(CSize)\n8001 void CProperty::SetID(unsigned long)\n8002 int CImageList::SetImageCount(unsigned int)\n8003 CImageList * CComboBoxEx::SetImageList(CImageList *)\n8004 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n8005 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8006 int CReBarCtrl::SetImageList(CImageList *)\n8007 CImageList * CTabCtrl::SetImageList(CImageList *)\n8008 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8009 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8010 int CToolBarCtrl::SetIndent(int)\n8011 void CTreeCtrl::SetIndent(unsigned int)\n8012 int CStatusBar::SetIndicators(unsigned int const *,int)\n8013 void COleControl::SetInitialDataFormats()\n8014 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8015 void COleControl::SetInitialSize(int,int)\n8016 void CControlBar::SetInPlaceOwner(CWnd *)\n8017 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8018 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8019 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8020 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8021 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8022 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n8023 int CHeaderCtrl::SetItem(int,_HD_ITEMA *)\n8024 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n8025 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n8026 int CListCtrl::SetItem(tagLVITEMA const *)\n8027 int CTabCtrl::SetItem(int,tagTCITEMA *)\n8028 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n8029 int CTreeCtrl::SetItem(tagTVITEMA *)\n8030 void CListCtrl::SetItemCount(int)\n8031 int CListCtrl::SetItemCountEx(int,unsigned long)\n8032 int CComboBox::SetItemData(int,unsigned long)\n8033 int CListBox::SetItemData(int,unsigned long)\n8034 int CListCtrl::SetItemData(int,unsigned long)\n8035 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8036 int CComboBox::SetItemDataPtr(int,void *)\n8037 int CListBox::SetItemDataPtr(int,void *)\n8038 int CTabCtrl::SetItemExtra(int)\n8039 int CComboBox::SetItemHeight(int,unsigned int)\n8040 int CListBox::SetItemHeight(int,unsigned int)\n8041 short CTreeCtrl::SetItemHeight(short)\n8042 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8043 void COleServerItem::SetItemName(char const *)\n8044 int CListCtrl::SetItemPosition(int,tagPOINT)\n8045 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8046 CSize CTabCtrl::SetItemSize(CSize)\n8047 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8048 int CListCtrl::SetItemState(int,tagLVITEMA *)\n8049 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8050 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8051 int CListCtrl::SetItemText(int,int,char const *)\n8052 int CTreeCtrl::SetItemText(_TREEITEM *,char const *)\n8053 unsigned long CDC::SetLayout(unsigned long)\n8054 void CHtmlView::SetLeft(long)\n8055 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8056 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8057 void CFile::SetLength(unsigned __int64)\n8058 void CInternetFile::SetLength(unsigned __int64)\n8059 void CMemFile::SetLength(unsigned __int64)\n8060 void COleStreamFile::SetLength(unsigned __int64)\n8061 void CSocketFile::SetLength(unsigned __int64)\n8062 void CEdit::SetLimitText(unsigned int)\n8063 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8064 int CSliderCtrl::SetLineSize(int)\n8065 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n8066 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8067 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8068 void CArchive::SetLoadParams(unsigned int)\n8069 unsigned long CComboBox::SetLocale(unsigned long)\n8070 unsigned long CListBox::SetLocale(unsigned long)\n8071 void CRecordset::SetLockingMode(unsigned int)\n8072 void CDatabase::SetLoginTimeout(unsigned long)\n8073 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8074 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8075 int CDC::SetMapMode(int)\n8076 int CPreviewDC::SetMapMode(int)\n8077 unsigned long CDC::SetMapperFlags(unsigned long)\n8078 void CToolTipCtrl::SetMargin(tagRECT *)\n8079 void CEdit::SetMargins(unsigned int,unsigned int)\n8080 void CRichEditView::SetMargins(CRect const &)\n8081 void CPrintInfo::SetMaxPage(unsigned int)\n8082 int CMonthCalCtrl::SetMaxSelCount(int)\n8083 int CToolBarCtrl::SetMaxTextRows(int)\n8084 int CToolTipCtrl::SetMaxTipWidth(int)\n8085 int CWnd::SetMenu(CMenu *)\n8086 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8087 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8088 void CHtmlView::SetMenuBar(int)\n8089 int CMenu::SetMenuContextHelpId(unsigned long)\n8090 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8091 int CMenu::SetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n8092 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8093 void CFrameWnd::SetMessageText(unsigned int)\n8094 void CFrameWnd::SetMessageText(char const *)\n8095 void CStatusBarCtrl::SetMinHeight(int)\n8096 void CPrintInfo::SetMinPage(unsigned int)\n8097 int CTabCtrl::SetMinTabWidth(int)\n8098 int CDC::SetMiterLimit(float)\n8099 void CPropertyPage::SetModified(int)\n8100 void CDocument::SetModifiedFlag(int)\n8101 void COleControl::SetModifiedFlag(int)\n8102 void COlePropertyPage::SetModifiedFlag(int)\n8103 void CRichEditDoc::SetModifiedFlag(int)\n8104 void CEdit::SetModify(int)\n8105 void CRichEditCtrl::SetModify(int)\n8106 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8107 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8108 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8109 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8110 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8111 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8112 int CMonthCalCtrl::SetMonthDelta(int)\n8113 int CPropertySection::SetName(unsigned long,char const *)\n8114 void COleControl::SetNotPermitted()\n8115 void CCmdTarget::SetNotSupported()\n8116 void COleControl::SetNotSupported()\n8117 void CRecordset::SetNullFieldStatus(unsigned long)\n8118 void CRecordset::SetNullParamStatus(unsigned long)\n8119 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8120 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8121 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8122 void CArchive::SetObjectSchema(unsigned int)\n8123 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8124 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8125 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8126 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8127 void CHtmlView::SetOffline(int)\n8128 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8129 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8130 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8131 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8132 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8133 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8134 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8135 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8136 int CHeaderCtrl::SetOrderArray(int,int *)\n8137 void CPropertySet::SetOSVersion(unsigned long)\n8138 void CDC::SetOutputDC(HDC__ *)\n8139 void CMetaFileDC::SetOutputDC(HDC__ *)\n8140 void CPreviewDC::SetOutputDC(HDC__ *)\n8141 int CImageList::SetOverlayImage(int,int)\n8142 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8143 void CToolBar::SetOwner(CWnd *)\n8144 void CToolBarCtrl::SetOwner(CWnd *)\n8145 void CWnd::SetOwner(CWnd *)\n8146 void CTabCtrl::SetPadding(CSize)\n8147 void COlePropertyPage::SetPageName(char const *)\n8148 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8149 int CSliderCtrl::SetPageSize(int)\n8150 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8151 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8152 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8153 void CStatusBar::SetPaneStyle(int,unsigned int)\n8154 int CStatusBar::SetPaneText(int,char const *,int)\n8155 void CRichEditView::SetPaperSize(CSize)\n8156 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8157 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8158 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8159 void CRecordset::SetParamNull(int,int)\n8160 CWnd * CWnd::SetParent(CWnd *)\n8161 int CStatusBarCtrl::SetParts(int,int *)\n8162 void CEdit::SetPasswordChar(char)\n8163 void CDataPathProperty::SetPath(char const *)\n8164 void CDocument::SetPathName(char const *,int)\n8165 void COleDocument::SetPathName(char const *,int)\n8166 void CRichEditDoc::SetPathName(char const *,int)\n8167 void CHandleMap::SetPermanent(void *,CObject *)\n8168 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8169 unsigned long CDC::SetPixel(int,int,unsigned long)\n8170 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8171 int CDC::SetPixelV(int,int,unsigned long)\n8172 int CDC::SetPixelV(tagPOINT,unsigned long)\n8173 int CDC::SetPolyFillMode(int)\n8174 int CProgressCtrl::SetPos(int)\n8175 void CSliderCtrl::SetPos(int)\n8176 int CSpinButtonCtrl::SetPos(int)\n8177 int CSpinButtonCtrl::SetPos32(int)\n8178 void COleIPFrameWnd::SetPreviewMode(int)\n8179 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8180 int COleClientItem::SetPrintDevice(tagPDA const *)\n8181 void CEditView::SetPrinterFont(CFont *)\n8182 int CPreviewView::SetPrintView(CView *)\n8183 int COlePropertyPage::SetPropCheck(char const *,int)\n8184 void COleControlSite::SetProperty(long,unsigned short,...)\n8185 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8186 void CWnd::SetProperty(long,unsigned short,...)\n8187 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8188 int COlePropertyPage::SetPropIndex(char const *,int)\n8189 int COlePropertyPage::SetPropRadio(char const *,int)\n8190 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8191 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n8192 int COlePropertyPage::SetPropText(char const *,short &)\n8193 int COlePropertyPage::SetPropText(char const *,int &)\n8194 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n8195 int COlePropertyPage::SetPropText(char const *,long &)\n8196 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n8197 int COlePropertyPage::SetPropText(char const *,float &)\n8198 int COlePropertyPage::SetPropText(char const *,double &)\n8199 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8200 long CWnd::SetProxy(IAccessibleProxy *)\n8201 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8202 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8203 void CDatabase::SetQueryTimeout(unsigned long)\n8204 void CCmdUI::SetRadio(int)\n8205 void CTestCmdUI::SetRadio(int)\n8206 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8207 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8208 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8209 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8210 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8211 void CProgressCtrl::SetRange(short,short)\n8212 void CSliderCtrl::SetRange(int,int,int)\n8213 void CSpinButtonCtrl::SetRange(short,short)\n8214 void CProgressCtrl::SetRange32(int,int)\n8215 void CSpinButtonCtrl::SetRange32(int,int)\n8216 void CSliderCtrl::SetRangeMax(int,int)\n8217 void CSliderCtrl::SetRangeMin(int,int)\n8218 int CInternetFile::SetReadBufferSize(unsigned int)\n8219 int CEdit::SetReadOnly(int)\n8220 int CRichEditCtrl::SetReadOnly(int)\n8221 void CEdit::SetRect(tagRECT const *)\n8222 void CRichEditCtrl::SetRect(tagRECT const *)\n8223 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8224 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8225 int COleControl::SetRectInContainer(tagRECT const *)\n8226 void CEdit::SetRectNP(tagRECT const *)\n8227 void CRgn::SetRectRgn(int,int,int,int)\n8228 void CRgn::SetRectRgn(tagRECT const *)\n8229 void CWnd::SetRedraw(int)\n8230 void CHtmlView::SetRegisterAsBrowser(int)\n8231 void CHtmlView::SetRegisterAsDropTarget(int)\n8232 void CWinApp::SetRegistryKey(unsigned int)\n8233 void CWinApp::SetRegistryKey(char const *)\n8234 void COleMessageFilter::SetRetryReply(unsigned long)\n8235 int CDC::SetROP2(int)\n8236 void CSplitterWnd::SetRowInfo(int,int,int)\n8237 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8238 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8239 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8240 void CRecordset::SetRowsetSize(unsigned long)\n8241 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8242 void CPreviewView::SetScaledSize(unsigned int)\n8243 void CPreviewDC::SetScaleRatio(int,int)\n8244 void CScrollView::SetScaleToFitSize(tagSIZE)\n8245 void CDockState::SetScreenSize(CSize &)\n8246 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8247 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8248 int CScrollBar::SetScrollPos(int,int)\n8249 int CWnd::SetScrollPos(int,int,int)\n8250 void CScrollBar::SetScrollRange(int,int,int)\n8251 void CWnd::SetScrollRange(int,int,int,int)\n8252 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8253 void CSplitterWnd::SetScrollStyle(unsigned long)\n8254 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8255 int CPropertySection::SetSectionName(char const *)\n8256 void CEdit::SetSel(int,int,int)\n8257 void CEdit::SetSel(unsigned long,int)\n8258 int CListBox::SetSel(int,int)\n8259 void CRichEditCtrl::SetSel(_charrange &)\n8260 void CRichEditCtrl::SetSel(long,long)\n8261 void CSliderCtrl::SetSelection(int,int)\n8262 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n8263 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n8264 void CCheckListBox::SetSelectionCheck(int)\n8265 int CListCtrl::SetSelectionMark(int)\n8266 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8267 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8268 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8269 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8270 void CHtmlView::SetSilent(int)\n8271 int CStatusBarCtrl::SetSimple(int)\n8272 long CPrintDialogEx::SetSite(IUnknown *)\n8273 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8274 void CByteArray::SetSize(int,int)\n8275 void CDWordArray::SetSize(int,int)\n8276 void CObArray::SetSize(int,int)\n8277 void CPtrArray::SetSize(int,int)\n8278 void CStringArray::SetSize(int,int)\n8279 void CUIntArray::SetSize(int,int)\n8280 void CWordArray::SetSize(int,int)\n8281 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8282 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8283 void CSplitterWnd::SetSplitCursor(int)\n8284 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8285 void CButton::SetState(int)\n8286 void CRecordset::SetState(int,char const *,unsigned long)\n8287 int CToolBarCtrl::SetState(int,unsigned int)\n8288 void CFile::SetStatus(char const *,CFileStatus const &)\n8289 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8290 void CHtmlView::SetStatusBar(int)\n8291 int CControlBar::SetStatusText(int)\n8292 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8293 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8294 int CProgressCtrl::SetStep(int)\n8295 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8296 int CDC::SetStretchBltMode(int)\n8297 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8298 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8299 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8300 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8301 void COleVariant::SetString(char const *,unsigned short)\n8302 void CToolBarCtrl::SetStyle(unsigned long)\n8303 void CDatabase::SetSynchronousMode(int)\n8304 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8305 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8306 int CDialogTemplate::SetSystemFont(unsigned short)\n8307 int CEdit::SetTabStops(int const &)\n8308 int CEdit::SetTabStops(int,int *)\n8309 void CEdit::SetTabStops()\n8310 void CEditView::SetTabStops(int)\n8311 int CListBox::SetTabStops(int const &)\n8312 int CListBox::SetTabStops(int,int *)\n8313 void CListBox::SetTabStops()\n8314 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8315 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8316 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8317 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8318 void CFileDialog::SetTemplate(char const *,char const *)\n8319 void CCmdUI::SetText(char const *)\n8320 void COleCmdUI::SetText(char const *)\n8321 void COleControl::SetText(char const *)\n8322 int CStatusBarCtrl::SetText(char const *,int,int)\n8323 void CStatusCmdUI::SetText(char const *)\n8324 void CTestCmdUI::SetText(char const *)\n8325 void CToolCmdUI::SetText(char const *)\n8326 unsigned int CDC::SetTextAlign(unsigned int)\n8327 int CListCtrl::SetTextBkColor(unsigned long)\n8328 int CDC::SetTextCharacterExtra(int)\n8329 unsigned long CDC::SetTextColor(unsigned long)\n8330 int CListCtrl::SetTextColor(unsigned long)\n8331 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8332 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8333 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8334 int CDC::SetTextJustification(int,int)\n8335 int CRichEditCtrl::SetTextMode(unsigned int)\n8336 void CHtmlView::SetTheaterMode(int)\n8337 int CWinThread::SetThreadPriority(int)\n8338 int CSliderCtrl::SetTic(int)\n8339 void CSliderCtrl::SetTicFreq(int)\n8340 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8341 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8342 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8343 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8344 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8345 int CSliderCtrl::SetTipSide(int)\n8346 void CStatusBarCtrl::SetTipText(int,char const *)\n8347 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8348 void CDocument::SetTitle(char const *)\n8349 void CFrameWnd::SetTitle(char const *)\n8350 void CPropertySheet::SetTitle(char const *,unsigned int)\n8351 void CRichEditDoc::SetTitle(char const *)\n8352 int CToolTipCtrl::SetTitle(unsigned int,char const *)\n8353 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8354 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8355 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8356 void CHtmlView::SetToolBar(int)\n8357 void CToolTipCtrl::SetToolInfo(tagTOOLINFOA *)\n8358 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8359 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8360 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8361 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8362 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8363 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8364 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8365 void CHtmlView::SetTop(long)\n8366 int CComboBox::SetTopIndex(int)\n8367 int CListBox::SetTopIndex(int)\n8368 void CPreviewDC::SetTopLeftOffset(CSize)\n8369 void CProperty::SetType(unsigned long)\n8370 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8371 void CRecordset::SetUpdateMethod()\n8372 void CThreadSlotData::SetValue(int,void *)\n8373 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8374 CSize CDC::SetViewportExt(tagSIZE)\n8375 CSize CDC::SetViewportExt(int,int)\n8376 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8377 CSize CMetaFileDC::SetViewportExt(int,int)\n8378 CSize CPreviewDC::SetViewportExt(int,int)\n8379 CPoint CDC::SetViewportOrg(tagPOINT)\n8380 CPoint CDC::SetViewportOrg(int,int)\n8381 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8382 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8383 CPoint CPreviewDC::SetViewportOrg(int,int)\n8384 void CHtmlView::SetVisible(int)\n8385 void CHtmlView::SetWidth(long)\n8386 int CWnd::SetWindowContextHelpId(unsigned long)\n8387 CSize CDC::SetWindowExt(tagSIZE)\n8388 CSize CDC::SetWindowExt(int,int)\n8389 CSize CPreviewDC::SetWindowExt(int,int)\n8390 CPoint CDC::SetWindowOrg(int,int)\n8391 CPoint CDC::SetWindowOrg(tagPOINT)\n8392 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8393 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8394 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8395 int CWnd::SetWindowRgn(HRGN__ *,int)\n8396 void COleControlSite::SetWindowTextA(char const *)\n8397 void CWnd::SetWindowTextA(char const *)\n8398 void CPropertySheet::SetWizardButtons(unsigned long)\n8399 void CPropertySheet::SetWizardMode()\n8400 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n8401 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n8402 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8403 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8404 int CInternetFile::SetWriteBufferSize(unsigned int)\n8405 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8406 long CDocObjectServer::XOleDocumentView::Show(int)\n8407 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8408 void CDockBar::ShowAll(int)\n8409 int CReBarCtrl::ShowBand(unsigned int,int)\n8410 void CWnd::ShowCaret()\n8411 long CRichEditCntrItem::ShowContainerUI(int)\n8412 long CRichEditView::ShowContainerUI(int)\n8413 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8414 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8415 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8416 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8417 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8418 void CComboBox::ShowDropDown(int)\n8419 long COleClientItem::XOleClientSite::ShowObject()\n8420 long COleControlSite::XOleClientSite::ShowObject()\n8421 void CWnd::ShowOwnedPopups(int)\n8422 void CFrameWnd::ShowOwnedWindows(int)\n8423 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8424 void CScrollBar::ShowScrollBar(int)\n8425 void CWnd::ShowScrollBar(unsigned int,int)\n8426 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8427 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8428 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8429 int COleControlSite::ShowWindow(int)\n8430 int CWnd::ShowWindow(int)\n8431 int CAsyncSocket::ShutDown(int)\n8432 tagSIZE const CScrollView::sizeDefault\n8433 int CMonthCalCtrl::SizeMinReq(int)\n8434 void CBitmapButton::SizeToContent()\n8435 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8436 int CReBarCtrl::SizeToRect(CRect &)\n8437 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8438 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8439 int CAsyncSocket::Socket(int,long,int,int)\n8440 int CTreeCtrl::SortChildren(_TREEITEM *)\n8441 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8442 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8443 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n8444 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n8445 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n8446 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n8447 int CSplitterWnd::SplitColumn(int)\n8448 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8449 int CSplitterWnd::SplitRow(int)\n8450 int CDC::StartDocA(_DOCINFOA *)\n8451 int CDC::StartDocA(char const *)\n8452 void CDockContext::StartDrag(CPoint)\n8453 int CDC::StartPage()\n8454 void CDockContext::StartResize(int,CPoint)\n8455 void CSplitterWnd::StartTracking(int)\n8456 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8457 int CProgressCtrl::StepIt()\n8458 int CAnimateCtrl::Stop()\n8459 void CHtmlView::Stop()\n8460 void CRichEditCtrl::StopGroupTyping()\n8461 void CSplitterWnd::StopTracking(int)\n8462 void CRuntimeClass::Store(CArchive &)const \n8463 void CRecordset::StoreFields()\n8464 void CRichEditView::Stream(CArchive &,int)\n8465 long CRichEditCtrl::StreamIn(int,_editstream &)\n8466 long CRichEditCtrl::StreamOut(int,_editstream &)\n8467 void CDockContext::Stretch(CPoint)\n8468 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8469 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n8470 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n8471 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n8472 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n8473 int CDC::StrokeAndFillPath()\n8474 int CDC::StrokePath()\n8475 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8476 int CWnd::SubclassWindow(HWND__ *)\n8477 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8478 int COleDocObjectItem::SupportsIPrint()\n8479 unsigned long CWinThread::SuspendThread()\n8480 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8481 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8482 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8483 CSize CDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8484 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8485 CSize CMetaFileDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8486 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8487 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8488 void CRichEditView::TextNotFound(char const *)\n8489 int CDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8490 int CDC::TextOutA(int,int,char const *,int)\n8491 int CMetaFileDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8492 int CMetaFileDC::TextOutA(int,int,char const *,int)\n8493 int CPreviewDC::TextOutA(int,int,char const *,int)\n8494 void CDatabase::ThrowDBException(short)\n8495 void CRecordset::ThrowDBException(short,void *)\n8496 void CFileException::ThrowErrno(int,char const *)\n8497 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8498 void COleControl::ThrowError(long,char const *,unsigned int)\n8499 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n8500 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n8501 void CFileException::ThrowOsError(long,char const *)\n8502 void CDockContext::ToggleDocking()\n8503 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n8504 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n8505 COleVariant CDataSourceControl::ToVariant(int)\n8506 ATL::CTraceCategory traceAppMsg\n8507 ATL::CTraceCategory traceCmdRouting\n8508 ATL::CTraceCategory traceDatabase\n8509 ATL::CTraceCategory traceDumpContext\n8510 void CDBException::TraceErrorMessage(char const *)const \n8511 ATL::CTraceCategory traceGdi\n8512 ATL::CTraceCategory traceHtml\n8513 ATL::CTraceCategory traceInternet\n8514 ATL::CTraceCategory traceKernel\n8515 ATL::CTraceCategory traceMemory\n8516 ATL::CTraceCategory traceMultiApp\n8517 ATL::CTraceCategory traceOle\n8518 ATL::CTraceCategory traceSocket\n8519 ATL::CTraceCategory traceUser\n8520 ATL::CTraceCategory traceWinMsg\n8521 int CDockContext::Track()\n8522 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8523 void CSplitterWnd::TrackColumnSize(int,int)\n8524 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8525 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8526 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8527 void CSplitterWnd::TrackRowSize(int,int)\n8528 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8529 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8530 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8531 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8532 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8533 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8534 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n8535 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8536 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8537 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8538 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8539 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n8540 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8541 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8542 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8543 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8544 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8545 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n8546 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n8547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n8548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n8549 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n8550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n8551 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n8552 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n8553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n8554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n8555 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n8556 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n8557 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n8558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n8559 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n8560 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n8561 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n8562 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n8563 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n8564 void ATL::CSimpleStringT<char,1>::Truncate(int)\n8565 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8566 void COccManager::UIActivateControl(CWnd *)\n8567 long COleControl::XOleInPlaceObject::UIDeactivate()\n8568 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8569 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8570 void COleSafeArray::UnaccessData()\n8571 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8572 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8573 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8574 long COleControl::XOleObject::Unadvise(unsigned long)\n8575 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8576 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8577 void CRecordset::UnbindFieldsForUpdate()\n8578 long COleControl::XOleCache::Uncache(unsigned long)\n8579 int CEdit::Undo()\n8580 int CRichEditCtrl::Undo()\n8581 long COleControl::XViewObject::Unfreeze(unsigned long)\n8582 int CCriticalSection::Unlock()\n8583 int CEvent::Unlock()\n8584 int CMultiLock::Unlock(long,long *)\n8585 int CMultiLock::Unlock()\n8586 int CMutex::Unlock()\n8587 void COleSafeArray::Unlock()\n8588 int CSemaphore::Unlock(long,long *)\n8589 int CSemaphore::Unlock()\n8590 int CSingleLock::Unlock(long,long *)\n8591 int CSingleLock::Unlock()\n8592 void CTypeLibCache::Unlock()\n8593 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n8594 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n8595 void CEditView::UnlockBuffer()const \n8596 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8597 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8598 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8599 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8600 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8601 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8602 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8603 void CWnd::UnlockWindowUpdate()\n8604 int CGdiObject::UnrealizeObject()\n8605 int COleObjectFactory::Unregister()\n8606 int COleTemplateServer::Unregister()\n8607 int CWinApp::Unregister()\n8608 int COleObjectFactory::UnregisterAll()\n8609 void CDocManager::UnregisterShellFileTypes()\n8610 void CWinApp::UnregisterShellFileTypes()\n8611 HWND__ * CWnd::UnsubclassWindow()\n8612 int CListCtrl::Update(int)\n8613 int CRecordset::Update()\n8614 void CToolTipCtrl::Update()\n8615 long CDocObjectServer::XOleObject::Update()\n8616 long COleControl::XOleObject::Update()\n8617 long COleServerDoc::XOleObject::Update()\n8618 long COleServerItem::XOleObject::Update()\n8619 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8620 void CStatusBar::UpdateAllPanes(int,int)\n8621 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8622 void CScrollView::UpdateBars()\n8623 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8624 void CDC::UpdateColors()\n8625 long CDataSourceControl::UpdateControls()\n8626 long CDataSourceControl::UpdateCursor()\n8627 void CMemoryState::UpdateData()\n8628 int CWnd::UpdateData(int)\n8629 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8630 void CDocument::UpdateFrameCounts()\n8631 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n8632 int CRecordset::UpdateInsertDelete()\n8633 void COleClientItem::UpdateItemType()\n8634 int COleClientItem::UpdateLink()\n8635 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8636 void CRecentFileList::UpdateMenu(CCmdUI *)\n8637 void COleDocument::UpdateModifiedFlag()\n8638 void CRichEditDoc::UpdateModifiedFlag()\n8639 void CRichEditDoc::UpdateObjectCache()\n8640 void CWinApp::UpdatePrinterSelection(int)\n8641 int COleObjectFactory::UpdateRegistry(int)\n8642 void COleObjectFactory::UpdateRegistry(char const *)\n8643 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n8644 int COleObjectFactory::UpdateRegistryAll(int)\n8645 void CDockContext::UpdateState(int *,int)\n8646 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8647 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n8648 long CBrowserControlSite::UpdateUI()\n8649 long CDHtmlDialog::UpdateUI()\n8650 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8651 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8652 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8653 void CWnd::UpdateWindow()\n8654 void CWnd::ValidateRect(tagRECT const *)\n8655 void CWnd::ValidateRgn(CRgn *)\n8656 void CDatabase::VerifyConnect()\n8657 unsigned long CRecordset::VerifyCursorSupport()\n8658 void CRecordset::VerifyDriverBehavior()\n8659 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8660 int COleObjectFactory::VerifyUserLicense()\n8661 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8662 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8663 int CDC::WidenPath()\n8664 int COleControl::WillAmbientsBeValidDuringLoad()\n8665 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8666 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8667 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8668 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8669 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8670 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8671 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8672 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8673 void CWinApp::WinHelpA(unsigned long,unsigned int)\n8674 void CWnd::WinHelpA(unsigned long,unsigned int)\n8675 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8676 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8677 CWnd const CWnd::wndBottom\n8678 CWnd const CWnd::wndNoTopMost\n8679 CWnd const CWnd::wndTop\n8680 CWnd const CWnd::wndTopMost\n8681 void CRichEditView::WrapChanged()\n8682 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8683 void CArchive::Write(void const *,unsigned int)\n8684 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8685 void CFile::Write(void const *,unsigned int)\n8686 void CGopherFile::Write(void const *,unsigned int)\n8687 int CImageList::Write(CArchive *)\n8688 void CInternetFile::Write(void const *,unsigned int)\n8689 void CMemFile::Write(void const *,unsigned int)\n8690 void COleStreamFile::Write(void const *,unsigned int)\n8691 void CSocketFile::Write(void const *,unsigned int)\n8692 void CStdioFile::Write(void const *,unsigned int)\n8693 void CArchive::WriteClass(CRuntimeconst *)\n8694 void CArchive::WriteCount(unsigned long)\n8695 void COleClientItem::WriteItem(CArchive &)\n8696 void COleClientItem::WriteItemCompound(CArchive &)\n8697 void COleClientItem::WriteItemFlat(CArchive &)\n8698 void CRecentFileList::WriteList()\n8699 int CPropertySection::WriteNameDictToStream(IStream *)\n8700 void CArchive::WriteObject(CObject const *)\n8701 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n8702 int CWinApp::WriteProfileInt(char const *,char const *,int)\n8703 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n8704 void CArchive::WriteString(char const *)\n8705 void CGopherFile::WriteString(char const *)\n8706 void CInternetFile::WriteString(char const *)\n8707 void CStdioFile::WriteString(char const *)\n8708 void CEditView::WriteToArchive(CArchive &)\n8709 int CProperty::WriteToStream(IStream *)\n8710 int CPropertySection::WriteToStream(IStream *)\n8711 int CPropertySet::WriteToStream(IStream *)\n8712 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8713 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8714 CDaoException::CDaoException()\n8715 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8716 CDaoIndexInfo::CDaoIndexInfo()\n8717 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8718 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8719 CDaoRecordView::CDaoRecordView(unsigned int)\n8720 CDaoRecordView::CDaoRecordView(char const *)\n8721 CDaoRelationInfo::CDaoRelationInfo()\n8722 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8723 CDaoWorkspace::CDaoWorkspace()\n8724 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8725 CDaoDatabase::~CDaoDatabase()\n8726 CDaoException::~CDaoException()\n8727 CDaoIndexInfo::~CDaoIndexInfo()\n8728 CDaoQueryDef::~CDaoQueryDef()\n8729 CDaoRecordset::~CDaoRecordset()\n8730 CDaoRecordView::~CDaoRecordView()\n8731 CDaoRelationInfo::~CDaoRelationInfo()\n8732 CDaoTableDef::~CDaoTableDef()\n8733 CDaoWorkspace::~CDaoWorkspace()\n8734 void CDaoRecordset::AddNew()\n8735 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8736 _DAODBEngine * AfxDaoGetEngine()\n8737 void AfxDaoInit()\n8738 void AfxDaoTerm()\n8739 void AfxDaoTrace(long,char const *,char const *,int)\n8740 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8741 _AFX_DAO_STATE * AfxGetDaoState()\n8742 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8743 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8744 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8745 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8746 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8747 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8748 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8749 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8750 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8751 void AfxThrowDaoException(int,long)\n8752 void CDaoRecordset::AllocCache()\n8753 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8754 void CDaoRecordset::AllocDatabase()\n8755 void AllocLongBinary(CLongBinary &,unsigned long)\n8756 void CDaoQueryDef::Append()\n8757 void CDaoTableDef::Append()\n8758 void CDaoWorkspace::Append()\n8759 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n8760 void CDaoDatabase::AssertValid()const \n8761 void CDaoQueryDef::AssertValid()const \n8762 void CDaoRecordset::AssertValid()const \n8763 void CDaoRecordView::AssertValid()const \n8764 void CDaoTableDef::AssertValid()const \n8765 void CDaoWorkspace::AssertValid()const \n8766 void CDaoWorkspace::BeginTrans()\n8767 void CDaoRecordset::BindFields()\n8768 void CDaoRecordset::BindParameters()\n8769 void CDaoRecordset::BuildParameterList()\n8770 void CDaoRecordset::BuildSelectList()\n8771 void CDaoRecordset::BuildSQL()\n8772 int CDaoRecordset::CanAppend()const \n8773 int CDaoRecordset::CanBookmark()\n8774 void CDaoRecordset::CancelUpdate()\n8775 int CDaoRecordset::CanRestart()\n8776 int CDaoRecordset::CanScroll()const \n8777 int CDaoDatabase::CanTransact()\n8778 int CDaoRecordset::CanTransact()\n8779 int CDaoDatabase::CanUpdate()\n8780 int CDaoQueryDef::CanUpdate()\n8781 int CDaoRecordset::CanUpdate()const \n8782 int CDaoTableDef::CanUpdate()\n8783 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8784 void CDaoRecordset::ClearFieldStatusFlags()\n8785 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8786 void CDaoDatabase::Close()\n8787 void CDaoQueryDef::Close()\n8788 void CDaoRecordset::Close()\n8789 void CDaoTableDef::Close()\n8790 void CDaoWorkspace::Close()\n8791 void CDaoWorkspace::CommitTrans()\n8792 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n8793 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n8794 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8795 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8796 void CDaoDatabase::Create(char const *,char const *,int)\n8797 void CDaoQueryDef::Create(char const *,char const *)\n8798 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n8799 void CDaoWorkspace::Create(char const *,char const *,char const *)\n8800 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8801 void CDaoTableDef::CreateField(char const *,short,long,long)\n8802 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8803 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8804 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n8805 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8806 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8807 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8808 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8809 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8810 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8811 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8812 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8813 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8814 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8815 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8816 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8817 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8818 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8819 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8820 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8821 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8822 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8823 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8824 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8825 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n8826 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n8827 void CDaoRecordset::Delete()\n8828 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8829 void CDaoTableDef::DeleteField(int)\n8830 void CDaoTableDef::DeleteField(char const *)\n8831 void CDaoTableDef::DeleteIndex(int)\n8832 void CDaoTableDef::DeleteIndex(char const *)\n8833 void CDaoDatabase::DeleteQueryDef(char const *)\n8834 void CDaoDatabase::DeleteRelation(char const *)\n8835 void CDaoDatabase::DeleteTableDef(char const *)\n8836 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n8837 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n8838 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n8839 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n8840 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n8841 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n8842 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n8843 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n8844 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n8845 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n8846 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n8847 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8848 void CDaoDatabase::Dump(CDumpContext &)const \n8849 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8850 void CDaoErrorInfo::Dump(CDumpContext &)const \n8851 void CDaoFieldInfo::Dump(CDumpContext &)const \n8852 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8853 void CDaoIndexInfo::Dump(CDumpContext &)const \n8854 void CDaoParameterInfo::Dump(CDumpContext &)const \n8855 void CDaoQueryDef::Dump(CDumpContext &)const \n8856 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8857 void CDaoRecordset::Dump(CDumpContext &)const \n8858 void CDaoRecordView::Dump(CDumpContext &)const \n8859 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8860 void CDaoRelationInfo::Dump(CDumpContext &)const \n8861 void CDaoTableDef::Dump(CDumpContext &)const \n8862 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8863 void CDaoWorkspace::Dump(CDumpContext &)const \n8864 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8865 void CDaoRecordset::Edit()\n8866 void CDaoDatabase::Execute(char const *,int)\n8867 void CDaoQueryDef::Execute(int)\n8868 void CDaoRecordset::FillCache(long *,COleVariant *)\n8869 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8870 void CDaoException::FillErrorInfo()\n8871 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8872 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8873 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8874 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8875 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8876 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8877 int CDaoRecordset::Find(long,char const *)\n8878 int CDaoRecordset::FindFirst(char const *)\n8879 int CDaoRecordset::FindLast(char const *)\n8880 int CDaoRecordset::FindNext(char const *)\n8881 int CDaoRecordset::FindPrev(char const *)\n8882 void CDaoRecordset::Fixup()\n8883 void CDaoRecordset::FreeCache()\n8884 long CDaoRecordset::GetAbsolutePosition()\n8885 long CDaoTableDef::GetAttributes()\n8886 COleVariant CDaoRecordset::GetBookmark()\n8887 long CDaoRecordset::GetCacheSize()\n8888 COleVariant CDaoRecordset::GetCacheStart()\n8889 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8890 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n8891 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n8892 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n8893 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n8894 void CDaoRecordset::GetDataAndFixupNulls()\n8895 short CDaoWorkspace::GetDatabaseCount()\n8896 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8897 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n8898 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8899 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8900 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8901 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8902 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8903 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n8905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n8906 short CDaoRecordset::GetEditMode()\n8907 short CDaoException::GetErrorCount()\n8908 void CDaoException::GetErrorInfo(int)\n8909 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)\n8910 short CDaoQueryDef::GetFieldCount()\n8911 short CDaoRecordset::GetFieldCount()\n8912 short CDaoTableDef::GetFieldCount()\n8913 int CDaoRecordset::GetFieldIndex(void *)\n8914 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8915 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8916 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8917 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8918 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8919 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8920 unsigned long CDaoRecordset::GetFieldLength(int)\n8921 COleVariant CDaoRecordset::GetFieldValue(int)\n8922 COleVariant CDaoRecordset::GetFieldValue(char const *)\n8923 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8924 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n8925 short CDaoRecordset::GetIndexCount()\n8926 short CDaoTableDef::GetIndexCount()\n8927 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8928 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8929 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8930 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8931 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n8932 int CDaoWorkspace::GetIsolateODBCTrans()\n8933 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8934 int CDaoRecordset::GetLockingMode()\n8935 short CDaoWorkspace::GetLoginTimeout()\n8936 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8937 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n8938 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n8939 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n8940 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n8941 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n8942 short CDaoQueryDef::GetODBCTimeout()\n8943 short CDaoQueryDef::GetParameterCount()\n8944 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8945 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n8946 COleVariant CDaoQueryDef::GetParamValue(int)\n8947 COleVariant CDaoQueryDef::GetParamValue(char const *)\n8948 COleVariant CDaoRecordset::GetParamValue(int)\n8949 COleVariant CDaoRecordset::GetParamValue(char const *)\n8950 float CDaoRecordset::GetPercentPosition()\n8951 short CDaoDatabase::GetQueryDefCount()\n8952 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8953 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n8954 short CDaoDatabase::GetQueryTimeout()\n8955 long CDaoRecordset::GetRecordCount()\n8956 long CDaoTableDef::GetRecordCount()\n8957 long CDaoDatabase::GetRecordsAffected()\n8958 long CDaoQueryDef::GetRecordsAffected()\n8959 short CDaoDatabase::GetRelationCount()\n8960 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8961 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n8962 int CDaoQueryDef::GetReturnsRecords()\n8963 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8964 CRuntime* CDaoException::GetRuntimeClass()const \n8965 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8966 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8967 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8968 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8969 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8970 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n8971 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n8972 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n8973 short CDaoDatabase::GetTableDefCount()\n8974 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8975 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n8976 CRuntime* CDaoDatabase::GetThisClass()\n8977 CRuntime* CDaoException::GetThisClass()\n8978 CRuntime* CDaoQueryDef::GetThisClass()\n8979 CRuntime* CDaoRecordset::GetThisClass()\n8980 CRuntime* CDaoRecordView::GetThisClass()\n8981 CRuntime* CDaoTableDef::GetThisClass()\n8982 CRuntime* CDaoWorkspace::GetThisClass()\n8983 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8984 short CDaoQueryDef::GetType()\n8985 short CDaoRecordset::GetType()\n8986 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n8987 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n8988 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n8989 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n8990 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n8991 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n8992 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n8993 short CDaoWorkspace::GetWorkspaceCount()\n8994 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8995 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n8996 void CDaoWorkspace::Idle(int)\n8997 void CDaoWorkspace::InitDatabasesCollection()\n8998 void CDaoException::InitErrorsCollection()\n8999 void CDaoQueryDef::InitFieldsCollection()\n9000 void CDaoRecordset::InitFieldsCollection()\n9001 void CDaoTableDef::InitFieldsCollection()\n9002 void CDaoWorkspace::InitializeEngine()\n9003 void CDaoRecordset::InitIndexesCollection()\n9004 void CDaoTableDef::InitIndexesCollection()\n9005 void CDaoQueryDef::InitParametersCollection()\n9006 void CDaoDatabase::InitQueryDefsCollection()\n9007 void CDaoDatabase::InitRelationsCollection()\n9008 void CDaoDatabase::InitTableDefsCollection()\n9009 void CDaoDatabase::InitWorkspace()\n9010 void CDaoWorkspace::InitWorkspacesCollection()\n9011 int CDaoRecordset::IsBOF()const \n9012 int CDaoRecordset::IsDeleted()const \n9013 int CDaoRecordset::IsEOF()const \n9014 int CDaoRecordset::IsFieldDirty(void *)\n9015 int CDaoRecordset::IsFieldNull(void *)\n9016 int CDaoRecordset::IsFieldNullable(void *)\n9017 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n9018 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n9019 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n9020 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n9021 int CDaoRecordset::IsMatch()\n9022 int CDaoWorkspace::IsNew()const \n9023 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n9024 int CDaoRecordView::IsOnFirstRecord()\n9025 int CDaoRecordView::IsOnLastRecord()\n9026 int CDaoDatabase::IsOpen()const \n9027 int CDaoQueryDef::IsOpen()const \n9028 int CDaoRecordset::IsOpen()const \n9029 int CDaoTableDef::IsOpen()const \n9030 int CDaoWorkspace::IsOpen()const \n9031 int CDaoFieldExchange::IsValidOperation()\n9032 void CDaoRecordset::LoadFields()\n9033 void CDaoRecordset::MarkForAddNew()\n9034 void CDaoRecordset::MarkForEdit()\n9035 void CDaoRecordset::Move(long)\n9036 void CDaoRecordset::MoveFirst()\n9037 void CDaoRecordset::MoveLast()\n9038 void CDaoRecordset::MoveNext()\n9039 void CDaoRecordset::MovePrev()\n9040 void CDaoRecordView::OnInitialUpdate()\n9041 void CDaoRecordView::OnMove(int,int)\n9042 int CDaoRecordView::OnMove(unsigned int)\n9043 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n9044 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n9045 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n9046 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n9047 void CDaoDatabase::Open(char const *,int,int,char const *)\n9048 void CDaoQueryDef::Open(char const *)\n9049 void CDaoRecordset::Open(int,char const *,int)\n9050 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n9051 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n9052 void CDaoTableDef::Open(char const *)\n9053 void CDaoWorkspace::Open(char const *)\n9054 void CDaoTableDef::RefreshLink()\n9055 void CDaoWorkspace::RepairDatabase(char const *)\n9056 void CDaoRecordset::Requery()\n9057 void CDaoWorkspace::Rollback()\n9058 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n9059 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n9060 void CDaoRecordset::SetAbsolutePosition(long)\n9061 void CDaoTableDef::SetAttributes(long)\n9062 void CDaoRecordset::SetBookmark(COleVariant)\n9063 void CDaoRecordset::SetCacheSize(long)\n9064 void CDaoRecordset::SetCacheStart(COleVariant)\n9065 void CDaoQueryDef::SetConnect(char const *)\n9066 void CDaoTableDef::SetConnect(char const *)\n9067 void CDaoRecordset::SetCurrentIndex(char const *)\n9068 void CDaoRecordset::SetCursorAttributes()\n9069 void CDaoWorkspace::SetDefaultPassword(char const *)\n9070 void CDaoWorkspace::SetDefaultUser(char const *)\n9071 void CDaoRecordset::SetDirtyFields()\n9072 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n9073 void CDaoRecordset::SetFieldDirty(void *,int)\n9074 void CDaoRecordset::SetFieldNull(void *,int)\n9075 void CDaoFieldExchange::SetFieldType(unsigned int)\n9076 void CDaoRecordset::SetFieldValue(int,char const *)\n9077 void CDaoRecordset::SetFieldValue(char const *,char const *)\n9078 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n9079 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n9080 void CDaoRecordset::SetFieldValueNull(int)\n9081 void CDaoRecordset::SetFieldValueNull(char const *)\n9082 void CDaoWorkspace::SetIniPath(char const *)\n9083 void CDaoWorkspace::SetIsolateODBCTrans(int)\n9084 void CDaoRecordset::SetLockingMode(int)\n9085 void CDaoWorkspace::SetLoginTimeout(short)\n9086 void CDaoQueryDef::SetName(char const *)\n9087 void CDaoTableDef::SetName(char const *)\n9088 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n9089 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n9090 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n9091 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n9092 void CDaoQueryDef::SetODBCTimeout(short)\n9093 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n9094 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n9095 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n9096 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n9097 void CDaoQueryDef::SetParamValueNull(int)\n9098 void CDaoQueryDef::SetParamValueNull(char const *)\n9099 void CDaoRecordset::SetParamValueNull(int)\n9100 void CDaoRecordset::SetParamValueNull(char const *)\n9101 void CDaoRecordset::SetPercentPosition(float)\n9102 void CDaoDatabase::SetQueryTimeout(short)\n9103 void CDaoQueryDef::SetReturnsRecords(int)\n9104 void CDaoTableDef::SetSourceTableName(char const *)\n9105 void CDaoQueryDef::SetSQL(char const *)\n9106 void CDaoTableDef::SetValidationRule(char const *)\n9107 void CDaoTableDef::SetValidationText(char const *)\n9108 void CDaoRecordset::StoreFields()\n9109 void CDaoRecordset::StripBrackets(char const *,char *)\n9110 void CDaoDatabase::ThrowDaoException(int)\n9111 void CDaoQueryDef::ThrowDaoException(int)\n9112 void CDaoRecordset::ThrowDaoException(int)\n9113 void CDaoTableDef::ThrowDaoException(int)\n9114 void CDaoWorkspace::ThrowDaoException(int)\n9115 void ThrowGetRowsDaoException(long)\n9116 void CDaoRecordset::Update()\n9117 CRuntimeconst CDaoDatabase::classCDaoDatabase\n9118 CRuntimeconst CDaoException::classCDaoException\n9119 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n9120 CRuntimeconst CDaoRecordset::classCDaoRecordset\n9121 CRuntimeconst CDaoRecordView::classCDaoRecordView\n9122 CRuntimeconst CDaoTableDef::classCDaoTableDef\n9123 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n9124 CRuntimeconst CDatabase::classCDatabase\n9125 CRuntimeconst CDBException::classCDBException\n9126 CRuntimeconst CLongBinary::classCLongBinary\n9127 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n9128 CRuntimeconst CRecordset::classCRecordset\n9129 CRuntimeconst CRecordView::classCRecordView\n9130 AFX_MSGMAP const CDaoRecordView::messageMap\n9131 AFX_MSGMAP const COleDBRecordView::messageMap\n9132 AFX_MSGMAP const CRecordView::messageMap\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc71u.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n258 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n259 unsigned int HashKey<char const *>(char const *)\n260 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n261 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n262 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n263 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n264 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n294 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n295 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n296 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n311 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n312 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n313 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n314 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n315 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n316 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n317 CArchive::CArchive(CFile *,unsigned int,int,void *)\n318 CArchivePropExchange::CArchivePropExchange(CArchive &)\n319 CArchiveStream::CArchiveStream(CArchive *)\n320 CAsyncMonikerFile::CAsyncMonikerFile()\n321 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n322 CAsyncSocket::CAsyncSocket()\n323 CBlobProperty::CBlobProperty(void *)\n324 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n325 CBrush::CBrush(int,unsigned long)\n326 CBrush::CBrush(unsigned long)\n327 CBrush::CBrush(CBitmap *)\n328 CByteArray::CByteArray()\n329 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n330 CClientDC::CClientDC(CWnd *)\n331 CCmdTarget::CCmdTarget()\n332 CCmdUI::CCmdUI()\n333 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n334 CCommandLineInfo::CCommandLineInfo()\n335 CConnectionPoint::CConnectionPoint()\n336 CControlBar::CControlBar()\n337 CControlBarInfo::CControlBarInfo()\n338 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n339 CControlFrameWnd::CControlFrameWnd(COleControl *)\n340 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n341 CDatabase::CDatabase()\n342 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n343 CDataExchange::CDataExchange(CWnd *,int)\n344 CDataSourceControl::CDataSourceControl(COleControlSite *)\n345 CDBException::CDBException(short)\n346 CDBVariant::CDBVariant()\n347 CDC::CDC()\n348 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n349 CDHtmlControlSink::CDHtmlControlSink()\n350 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n351 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n352 CDHtmlDialog::CDHtmlDialog()\n353 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n354 CDialog::CDialog(unsigned int,CWnd *)\n355 CDialog::CDialog(wchar_t const *,CWnd *)\n356 CDialog::CDialog()\n357 CDialogBar::CDialogBar()\n358 CDialogTemplate::CDialogTemplate(void *)\n359 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n360 CDocItem::CDocItem()\n361 CDockBar::CDockBar(int)\n362 CDockContext::CDockContext(CControlBar *)\n363 CDockState::CDockState()\n364 CDocManager::CDocManager()\n365 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n366 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n367 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n368 CDocument::CDocument()\n369 CDumpContext::CDumpContext(CFile *)\n370 CDWordArray::CDWordArray()\n371 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n372 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n373 CEditView::CEditView()\n374 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n375 CEnumConnections::CEnumConnections(void const *,unsigned int)\n376 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n377 CEnumFormatEtc::CEnumFormatEtc()\n378 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n379 CException::CException(int)\n380 CException::CException()\n381 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n382 CFile::CFile(void *)\n383 CFile::CFile(wchar_t const *,unsigned int)\n384 CFile::CFile()\n385 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n386 CFileFind::CFileFind()\n387 CFindReplaceDialog::CFindReplaceDialog()\n388 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n389 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n390 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n391 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n392 CFontHolder::CFontHolder(IPropertyNotifySink *)\n393 CFormView::CFormView(unsigned int)\n394 CFormView::CFormView(wchar_t const *)\n395 CFrameWnd::CFrameWnd()\n396 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n397 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n398 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n399 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n400 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n401 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n402 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n403 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n404 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n405 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n406 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n407 CHtmlEditCtrl::CHtmlEditCtrl()\n408 CHtmlEditDoc::CHtmlEditDoc()\n409 CHtmlEditView::CHtmlEditView()\n410 CHtmlView::CHtmlView()\n411 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n412 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n413 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n414 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n415 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n416 CImageList::CImageList()\n417 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n418 CInternetException::CInternetException(unsigned long)\n419 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n420 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n421 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n422 CLongBinary::CLongBinary()\n423 CMapPtrToPtr::CMapPtrToPtr(int)\n424 CMapPtrToWord::CMapPtrToWord(int)\n425 CMapStringToOb::CMapStringToOb(int)\n426 CMapStringToPtr::CMapStringToPtr(int)\n427 CMapStringToString::CMapStringToString(int)\n428 CMapWordToOb::CMapWordToOb(int)\n429 CMapWordToPtr::CMapWordToPtr(int)\n430 CMDIChildWnd::CMDIChildWnd()\n431 CMDIFrameWnd::CMDIFrameWnd()\n432 CMemFile::CMemFile(unsigned int)\n433 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n434 CMetaFileDC::CMetaFileDC()\n435 CMiniDockFrameWnd::CMiniDockFrameWnd()\n436 CMiniFrameWnd::CMiniFrameWnd()\n437 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n438 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n439 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n440 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n441 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n442 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n443 CObArray::CObArray()\n444 CObList::CObList(int)\n445 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n446 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n447 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n448 COleClientItem::COleClientItem(COleDocument *)\n449 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n450 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n451 COleControl::COleControl()\n452 COleControlContainer::COleControlContainer(CWnd *)\n453 COleControlLock::COleControlLock(_GUID const &)\n454 COleControlSite::COleControlSite(COleControlContainer *)\n455 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n456 COleCurrency::COleCurrency(long,long)\n457 COleDataObject::COleDataObject()\n458 COleDataSource::COleDataSource()\n459 COleDialog::COleDialog(CWnd *)\n460 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n461 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n462 COleDispatchDriver::COleDispatchDriver()\n463 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n464 COleDocIPFrameWnd::COleDocIPFrameWnd()\n465 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n466 COleDocument::COleDocument()\n467 COleDropSource::COleDropSource()\n468 COleDropTarget::COleDropTarget()\n469 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n470 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n471 COleIPFrameWnd::COleIPFrameWnd()\n472 COleLinkingDoc::COleLinkingDoc()\n473 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n474 COleMessageFilter::COleMessageFilter()\n475 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n476 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n477 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n478 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n479 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n480 COleResizeBar::COleResizeBar()\n481 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n482 COleSafeArray::COleSafeArray(tagVARIANT const &)\n483 COleSafeArray::COleSafeArray(COleSafeArray const &)\n484 COleSafeArray::COleSafeArray(COleVariant const &)\n485 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n486 COleSafeArray::COleSafeArray(tagVARIANT const *)\n487 COleServerDoc::COleServerDoc()\n488 COleServerItem::COleServerItem(COleServerDoc *,int)\n489 COleStreamFile::COleStreamFile(IStream *)\n490 COleTemplateServer::COleTemplateServer()\n491 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n492 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n493 COleVariant::COleVariant(tagVARIANT const &)\n494 COleVariant::COleVariant(COleVariant const &)\n495 COleVariant::COleVariant(short,unsigned short)\n496 COleVariant::COleVariant(long,unsigned short)\n497 COleVariant::COleVariant(wchar_t const *,unsigned short)\n498 COleVariant::COleVariant(_ITEMIDLIST const *)\n499 COleVariant::COleVariant(tagVARIANT const *)\n500 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n501 CPaintDC::CPaintDC(CWnd *)\n502 CPen::CPen(int,int,unsigned long)\n503 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n504 CPictureHolder::CPictureHolder()\n505 CPreviewDC::CPreviewDC()\n506 CPreviewView::CPreviewView()\n507 CPrintDialog::CPrintDialog(tagPDW &)\n508 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n509 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n510 CPrintInfo::CPrintInfo()\n511 CPrintPreviewState::CPrintPreviewState()\n512 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n513 CProperty::CProperty(unsigned long,void * const,unsigned long)\n514 CProperty::CProperty()\n515 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n516 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n517 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n518 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n519 CPropertyPage::CPropertyPage()\n520 CPropertySection::CPropertySection(_GUID)\n521 CPropertySection::CPropertySection()\n522 CPropertySet::CPropertySet(_GUID)\n523 CPropertySet::CPropertySet()\n524 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n525 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n526 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n527 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n528 CPropertySheet::CPropertySheet()\n529 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n530 CPtrArray::CPtrArray()\n531 CPtrList::CPtrList(int)\n532 CReBar::CReBar()\n533 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n534 CRecordset::CRecordset(CDatabase *)\n535 CRecordView::CRecordView(unsigned int)\n536 CRecordView::CRecordView(wchar_t const *)\n537 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n538 CReObject::CReObject(CRichEditCntrItem *)\n539 CReObject::CReObject()\n540 CResetPropExchange::CResetPropExchange()\n541 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n542 CRichEditDoc::CRichEditDoc()\n543 CRichEditView::CRichEditView()\n544 CScrollView::CScrollView()\n545 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n546 CSharedFile::CSharedFile(unsigned int,unsigned int)\n547 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n548 CSingleLock::CSingleLock(CSyncObject *,int)\n549 CSocket::CSocket()\n550 CSocketFile::CSocketFile(CSocket *,int)\n551 CSocketWnd::CSocketWnd()\n552 CSplitterWnd::CSplitterWnd()\n553 CStatusBar::CStatusBar()\n554 CStdioFile::CStdioFile(_iobuf *)\n555 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n556 CStdioFile::CStdioFile()\n557 CStringArray::CStringArray()\n558 CStringList::CStringList(int)\n559 CSyncObject::CSyncObject(wchar_t const *)\n560 CTestCmdUI::CTestCmdUI()\n561 CThreadSlotData::CThreadSlotData()\n562 CToolBar::CToolBar()\n563 CToolTipCtrl::CToolTipCtrl()\n564 CUIntArray::CUIntArray()\n565 CView::CView()\n566 CWinApp::CWinApp(wchar_t const *)\n567 CWindowDC::CWindowDC(CWnd *)\n568 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n569 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n570 CWinThread::CWinThread()\n571 CWnd::CWnd(HWND__ *)\n572 CWnd::CWnd()\n573 CWordArray::CWordArray()\n574 CPreviewView::PAGE_INFO::PAGE_INFO()\n575 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n576 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n577 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n578 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n579 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n580 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n581 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n582 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n583 CAnimateCtrl::~CAnimateCtrl()\n584 CArchive::~CArchive()\n585 CAsyncMonikerFile::~CAsyncMonikerFile()\n586 CAsyncSocket::~CAsyncSocket()\n587 CButton::~CButton()\n588 CByteArray::~CByteArray()\n589 CClientDC::~CClientDC()\n590 CCmdTarget::~CCmdTarget()\n591 CComboBox::~CComboBox()\n592 CComboBoxEx::~CComboBoxEx()\n593 CCommandLineInfo::~CCommandLineInfo()\n594 CConnectionPoint::~CConnectionPoint()\n595 CControlBar::~CControlBar()\n596 CCtrlView::~CCtrlView()\n597 CDatabase::~CDatabase()\n598 CDataSourceControl::~CDataSourceControl()\n599 CDateTimeCtrl::~CDateTimeCtrl()\n600 CDBException::~CDBException()\n601 CDBVariant::~CDBVariant()\n602 CDC::~CDC()\n603 CDHtmlControlSink::~CDHtmlControlSink()\n604 CDHtmlDialog::~CDHtmlDialog()\n605 CDialog::~CDialog()\n606 CDialogBar::~CDialogBar()\n607 CDialogTemplate::~CDialogTemplate()\n608 CDocItem::~CDocItem()\n609 CDockBar::~CDockBar()\n610 CDockContext::~CDockContext()\n611 CDockState::~CDockState()\n612 CDocManager::~CDocManager()\n613 CDocObjectServer::~CDocObjectServer()\n614 CDocObjectServerItem::~CDocObjectServerItem()\n615 CDocTemplate::~CDocTemplate()\n616 CDocument::~CDocument()\n617 CDragListBox::~CDragListBox()\n618 CDWordArray::~CDWordArray()\n619 CDynLinkLibrary::~CDynLinkLibrary()\n620 CEdit::~CEdit()\n621 CEditView::~CEditView()\n622 CEnumArray::~CEnumArray()\n623 CEnumConnections::~CEnumConnections()\n624 CEnumConnPoints::~CEnumConnPoints()\n625 CEnumFormatEtc::~CEnumFormatEtc()\n626 CEnumOleVerb::~CEnumOleVerb()\n627 CEnumUnknown::~CEnumUnknown()\n628 CEvent::~CEvent()\n629 CFile::~CFile()\n630 CFileDialog::~CFileDialog()\n631 CFileFind::~CFileFind()\n632 CFixedAlloc::~CFixedAlloc()\n633 CFixedAllocNoSync::~CFixedAllocNoSync()\n634 CFontHolder::~CFontHolder()\n635 CFrameWnd::~CFrameWnd()\n636 CFtpConnection::~CFtpConnection()\n637 CFtpFileFind::~CFtpFileFind()\n638 CGopherConnection::~CGopherConnection()\n639 CGopherFile::~CGopherFile()\n640 CGopherFileFind::~CGopherFileFind()\n641 CGopherLocator::~CGopherLocator()\n642 CHeaderCtrl::~CHeaderCtrl()\n643 CHotKeyCtrl::~CHotKeyCtrl()\n644 CHtmlControlSite::~CHtmlControlSite()\n645 CHtmlEditCtrl::~CHtmlEditCtrl()\n646 CHtmlEditDoc::~CHtmlEditDoc()\n647 CHtmlEditView::~CHtmlEditView()\n648 CHtmlView::~CHtmlView()\n649 CHttpConnection::~CHttpConnection()\n650 CHttpFile::~CHttpFile()\n651 CImageList::~CImageList()\n652 CInternetConnection::~CInternetConnection()\n653 CInternetException::~CInternetException()\n654 CInternetFile::~CInternetFile()\n655 CInternetSession::~CInternetSession()\n656 CIPAddressCtrl::~CIPAddressCtrl()\n657 CListBox::~CListBox()\n658 CListCtrl::~CListCtrl()\n659 CLongBinary::~CLongBinary()\n660 CMapPtrToPtr::~CMapPtrToPtr()\n661 CMapPtrToWord::~CMapPtrToWord()\n662 CMapStringToOb::~CMapStringToOb()\n663 CMapStringToPtr::~CMapStringToPtr()\n664 CMapStringToString::~CMapStringToString()\n665 CMapWordToOb::~CMapWordToOb()\n666 CMapWordToPtr::~CMapWordToPtr()\n667 CMemFile::~CMemFile()\n668 CMetaFileDC::~CMetaFileDC()\n669 CMiniFrameWnd::~CMiniFrameWnd()\n670 CMonikerFile::~CMonikerFile()\n671 CMonthCalCtrl::~CMonthCalCtrl()\n672 CMultiDocTemplate::~CMultiDocTemplate()\n673 CMultiLock::~CMultiLock()\n674 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n675 CMutex::~CMutex()\n676 CObArray::~CObArray()\n677 CObList::~CObList()\n678 COleBusyDialog::~COleBusyDialog()\n679 COleChangeIconDialog::~COleChangeIconDialog()\n680 COleChangeSourceDialog::~COleChangeSourceDialog()\n681 COleClientItem::~COleClientItem()\n682 COleCntrFrameWnd::~COleCntrFrameWnd()\n683 COleControl::~COleControl()\n684 COleControlContainer::~COleControlContainer()\n685 COleControlLock::~COleControlLock()\n686 COleControlSite::~COleControlSite()\n687 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n688 COleConvertDialog::~COleConvertDialog()\n689 COleDataSource::~COleDataSource()\n690 COleDispatchException::~COleDispatchException()\n691 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n692 COleDocObjectItem::~COleDocObjectItem()\n693 COleDocument::~COleDocument()\n694 COleDropTarget::~COleDropTarget()\n695 COleFrameHook::~COleFrameHook()\n696 COleInsertDialog::~COleInsertDialog()\n697 COleIPFrameWnd::~COleIPFrameWnd()\n698 COleLinkingDoc::~COleLinkingDoc()\n699 COleLinksDialog::~COleLinksDialog()\n700 COleMessageFilter::~COleMessageFilter()\n701 COleObjectFactory::~COleObjectFactory()\n702 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n703 COlePropertyPage::~COlePropertyPage()\n704 COleResizeBar::~COleResizeBar()\n705 COleServerDoc::~COleServerDoc()\n706 COleServerItem::~COleServerItem()\n707 COleStreamFile::~COleStreamFile()\n708 COleUpdateDialog::~COleUpdateDialog()\n709 CPaintDC::~CPaintDC()\n710 CPictureHolder::~CPictureHolder()\n711 CPreviewDC::~CPreviewDC()\n712 CPreviewView::~CPreviewView()\n713 CPrintInfo::~CPrintInfo()\n714 CProcessLocalObject::~CProcessLocalObject()\n715 CProgressCtrl::~CProgressCtrl()\n716 CPropbagPropExchange::~CPropbagPropExchange()\n717 CProperty::~CProperty()\n718 CPropertyPage::~CPropertyPage()\n719 CPropertySection::~CPropertySection()\n720 CPropertySet::~CPropertySet()\n721 CPropertySheet::~CPropertySheet()\n722 CPtrArray::~CPtrArray()\n723 CPtrList::~CPtrList()\n724 CRecentFileList::~CRecentFileList()\n725 CRecordset::~CRecordset()\n726 CRecordView::~CRecordView()\n727 CRectTracker::~CRectTracker()\n728 CReObject::~CReObject()\n729 CRichEditCntrItem::~CRichEditCntrItem()\n730 CRichEditCtrl::~CRichEditCtrl()\n731 CScrollBar::~CScrollBar()\n732 CScrollView::~CScrollView()\n733 CSemaphore::~CSemaphore()\n734 CSharedFile::~CSharedFile()\n735 CSingleDocTemplate::~CSingleDocTemplate()\n736 CSliderCtrl::~CSliderCtrl()\n737 CSocket::~CSocket()\n738 CSocketFile::~CSocketFile()\n739 CSpinButtonCtrl::~CSpinButtonCtrl()\n740 CSplitterWnd::~CSplitterWnd()\n741 CStatic::~CStatic()\n742 CStatusBar::~CStatusBar()\n743 CStatusBarCtrl::~CStatusBarCtrl()\n744 CStdioFile::~CStdioFile()\n745 CStringArray::~CStringArray()\n746 CStringList::~CStringList()\n747 CSyncObject::~CSyncObject()\n748 CTabCtrl::~CTabCtrl()\n749 CThreadLocalObject::~CThreadLocalObject()\n750 CThreadSlotData::~CThreadSlotData()\n751 CToolBar::~CToolBar()\n752 CToolBarCtrl::~CToolBarCtrl()\n753 CToolTipCtrl::~CToolTipCtrl()\n754 CTreeCtrl::~CTreeCtrl()\n755 CUIntArray::~CUIntArray()\n756 CView::~CView()\n757 CWinApp::~CWinApp()\n758 CWindowDC::~CWindowDC()\n759 CWinThread::~CWinThread()\n760 CWnd::~CWnd()\n761 CWordArray::~CWordArray()\n762 void * operator new(unsigned int)\n763 void * CNoTrackObject::operator new(unsigned int)\n764 void operator delete(void *)\n765 void CNoTrackObject::operator delete(void *)\n766 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n767 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n768 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n769 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n770 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n771 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n773 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n774 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n775 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n776 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n777 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n779 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n781 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n782 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n783 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n785 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n786 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n787 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n788 COleCurrency const & COleCurrency::operator=(union tagCY)\n789 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n790 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n791 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n792 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n793 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n794 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n795 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n796 COleVariant const & COleVariant::operator=(COleVariant const &)\n797 COleVariant const & COleVariant::operator=(CByteArray const &)\n798 COleVariant const & COleVariant::operator=(CLongBinary const &)\n799 COleVariant const & COleVariant::operator=(COleCurrency const &)\n800 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n801 COleVariant const & COleVariant::operator=(unsigned char)\n802 COleVariant const & COleVariant::operator=(short)\n803 COleVariant const & COleVariant::operator=(long)\n804 COleVariant const & COleVariant::operator=(float)\n805 COleVariant const & COleVariant::operator=(double)\n806 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n807 COleVariant const & COleVariant::operator=(wchar_t const * const)\n808 CArchive & operator>>(CArchive &,CByteArray * &)\n809 CArchive & operator>>(CArchive &,CDocItem * &)\n810 CArchive & operator>>(CArchive &,CDockState * &)\n811 CArchive & operator>>(CArchive &,CDWordArray * &)\n812 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n813 CArchive & operator>>(CArchive &,CMapStringToString * &)\n814 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n815 CArchive & operator>>(CArchive &,CObArray * &)\n816 CArchive & operator>>(CArchive &,CObList * &)\n817 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n818 CArchive & operator>>(CArchive &,CStringArray * &)\n819 CArchive & operator>>(CArchive &,CStringList * &)\n820 CArchive & operator>>(CArchive &,CWordArray * &)\n821 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n822 CArchive & operator>>(CArchive &,COleCurrency &)\n823 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n824 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n825 CArchive & operator>>(CArchive &,COleVariant &)\n826 CArchive & operator>>(CArchive &,ATL::CTime &)\n827 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n828 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n829 CArchive & operator<<(CArchive &,COleCurrency)\n830 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n831 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n832 CArchive & operator<<(CArchive &,COleVariant)\n833 CArchive & operator<<(CArchive &,ATL::CTime)\n834 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n835 CDumpContext & CDumpContext::operator<<(__int64)\n836 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n837 CDumpContext & CDumpContext::operator<<(CObject const &)\n838 CDumpContext & CDumpContext::operator<<(unsigned char)\n839 CDumpContext & CDumpContext::operator<<(unsigned short)\n840 CDumpContext & CDumpContext::operator<<(int)\n841 CDumpContext & CDumpContext::operator<<(unsigned int)\n842 CDumpContext & CDumpContext::operator<<(long)\n843 CDumpContext & CDumpContext::operator<<(unsigned long)\n844 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n845 CDumpContext & CDumpContext::operator<<(HDC__ *)\n846 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n847 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n848 CDumpContext & CDumpContext::operator<<(HWND__ *)\n849 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n850 CDumpContext & CDumpContext::operator<<(char const *)\n851 CDumpContext & CDumpContext::operator<<(CObject const *)\n852 CDumpContext & CDumpContext::operator<<(void const *)\n853 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n854 int COleSafeArray::operator==(tagVARIANT const &)const \n855 int COleSafeArray::operator==(COleSafeArray const &)const \n856 int COleSafeArray::operator==(COleVariant const &)const \n857 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n858 int COleSafeArray::operator==(tagVARIANT const *)const \n859 int COleVariant::operator==(tagVARIANT const &)const \n860 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n861 char ATL::CSimpleStringT<char,1>::operator[](int)const \n862 void * & CMapPtrToPtr::operator[](void *)\n863 unsigned short & CMapPtrToWord::operator[](void *)\n864 CObject * & CMapStringToOb::operator[](wchar_t const *)\n865 void * & CMapStringToPtr::operator[](wchar_t const *)\n866 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n867 CObject * & CMapWordToOb::operator[](unsigned short)\n868 void * & CMapWordToPtr::operator[](unsigned short)\n869 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n870 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n871 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n872 ATL::CSimpleStringT<char,1>::operator char const *()const \n873 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n874 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n875 COleCurrency COleCurrency::operator*(long)const \n876 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n877 COleCurrency COleCurrency::operator-()const \n878 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n879 COleCurrency COleCurrency::operator/(long)const \n880 int COleCurrency::operator<(COleCurrency const &)const \n881 int COleCurrency::operator<=(COleCurrency const &)const \n882 int COleCurrency::operator>(COleCurrency const &)const \n883 int COleCurrency::operator>=(COleCurrency const &)const \n884 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n885 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n886 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n887 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n888 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n889 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n890 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n891 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n892 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n893 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n894 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n895 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n896 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n897 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n900 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n901 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n902 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n903 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n906 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n907 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n908 int _AfxDeleteRegKey(wchar_t const *)\n909 int _AfxSocketInit(WSAData *)\n910 void CArchive::Abort()\n911 void CFile::Abort()\n912 void CInternetFile::Abort()\n913 void CMemFile::Abort()\n914 void CMirrorFile::Abort()\n915 void COleStreamFile::Abort()\n916 void CSocketFile::Abort()\n917 void CStdioFile::Abort()\n918 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n919 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n920 long CWnd::accDoDefaultAction(tagVARIANT)\n921 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n922 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n923 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n924 void COleSafeArray::AccessData(void * *)\n925 long CWnd::accHitTest(long,long,tagVARIANT *)\n926 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n927 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n928 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n929 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n930 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n931 long CWnd::accSelect(long,tagVARIANT)\n932 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n933 void COleClientItem::Activate(long,CView *,tagMSG *)\n934 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n935 void COleDocObjectItem::ActivateAndShow()\n936 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n937 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n938 void CDocObjectServer::ActivateDocObject()\n939 void COleServerDoc::ActivateDocObject()\n940 void CFrameWnd::ActivateFrame(int)\n941 void CMDIChildWnd::ActivateFrame(int)\n942 int COleServerDoc::ActivateInPlace()\n943 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n944 void CSplitterWnd::ActivateNext(int)\n945 void CWnd::ActivateTopParent()\n946 void CRecentFileList::Add(wchar_t const *)\n947 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n948 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n949 int CToolBarCtrl::AddBitmap(int,unsigned int)\n950 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n951 void COleClientItem::AddCachedData(COleDataSource *)\n952 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n953 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n954 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n955 void CDocManager::AddDocTemplate(CDocTemplate *)\n956 void CWinApp::AddDocTemplate(CDocTemplate *)\n957 void CDocTemplate::AddDocument(CDocument *)\n958 void CMultiDocTemplate::AddDocument(CDocument *)\n959 void CSingleDocTemplate::AddDocument(CDocument *)\n960 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n961 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n962 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n963 void COleControl::AddFrameLevelUI()\n964 void CFrameWnd::AddFrameWnd()\n965 __POSITION * CObList::AddHead(CObject *)\n966 void CObList::AddHead(CObList *)\n967 __POSITION * CPtrList::AddHead(void *)\n968 void CPtrList::AddHead(CPtrList *)\n969 void CSimpleList::AddHead(void *)\n970 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n971 __POSITION * CStringList::AddHead(wchar_t const *)\n972 void CStringList::AddHead(CStringList *)\n973 void COleDocument::AddItem(CDocItem *)\n974 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n975 void CRecordset::AddNew()\n976 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n977 void CPropertySheet::AddPage(CPropertyPage *)\n978 void CPropertySection::AddProperty(CProperty *)\n979 void CPropertySet::AddProperty(_GUID,CProperty *)\n980 unsigned long CArchiveStream::AddRef()\n981 unsigned long CBlobProperty::AddRef()\n982 unsigned long CBrowserControlSite::AddRef()\n983 unsigned long CDHtmlControlSink::AddRef()\n984 unsigned long CDHtmlElementEventSink::AddRef()\n985 unsigned long CDHtmlEventSink::AddRef()\n986 unsigned long CInnerUnknown::AddRef()\n987 unsigned long COleConnPtContainer::AddRef()\n988 unsigned long COleDispatchImpl::AddRef()\n989 unsigned long COleUILinkInfo::AddRef()\n990 unsigned long CPrintDialogEx::AddRef()\n991 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n992 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n993 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n994 CPropertySection * CPropertySet::AddSection(_GUID)\n995 void CPropertySet::AddSection(CPropertySection *)\n996 void COlePasteSpecialDialog::AddStandardFormats(int)\n997 int CToolBarCtrl::AddString(unsigned int)\n998 __POSITION * CObList::AddTail(CObject *)\n999 void CObList::AddTail(CObList *)\n1000 __POSITION * CPtrList::AddTail(void *)\n1001 void CPtrList::AddTail(CPtrList *)\n1002 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1003 __POSITION * CStringList::AddTail(wchar_t const *)\n1004 void CStringList::AddTail(CStringList *)\n1005 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1006 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1007 void CWinApp::AddToRecentFileList(wchar_t const *)\n1008 void CDocument::AddView(CView *)\n1009 void CMetaFileDC::AdjustCP(int)\n1010 void CRichEditView::AdjustDialogPosition(CDialog *)\n1011 void CRectTracker::AdjustRect(int,tagRECT *)\n1012 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1013 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1014 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1015 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1016 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1017 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1018 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1019 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1020 void AfxAbort()\n1021 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1022 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1023 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1024 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1025 void AfxCancelModes(HWND__ *)\n1026 void AfxCheckError(long)\n1027 void AfxClassInit(CRuntime*)\n1028 int AfxComparePath(wchar_t const *,wchar_t const *)\n1029 int AfxCompareValueByRef(void *,void *,int)\n1030 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1031 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1032 void AfxCopyValueByRef(void *,void *,long *,int)\n1033 void AfxCoreInitModule()\n1034 HDC__ * AfxCreateDC(void *,void *)\n1035 int AfxCriticalInit()\n1036 int AfxCriticalNewHandler(unsigned int)\n1037 void AfxCriticalTerm()\n1038 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1039 AUX_DATA afxData\n1040 void AfxDeleteObject(void * *)\n1041 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1042 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1043 long AfxDllCanUnloadNow()\n1044 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1045 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1046 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1047 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1048 void AfxEditviewTerm()\n1049 void AfxEnableControlContainer(COccManager *)\n1050 int AfxEndDeferRegisterClass(long)\n1051 void AfxEndThread(unsigned int,int)\n1052 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1053 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1054 void AfxFailMaxChars(CDataExchange *,int)\n1055 void AfxFailRadio(CDataExchange *)\n1056 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1057 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1058 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1059 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1060 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1061 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1062 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1063 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1064 int AfxFreeLibrary(HINSTANCE__ *)\n1065 int AfxFullPath(wchar_t *,wchar_t const *)\n1066 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1067 AFX_MODULE_STATE * AfxGetAppModuleState()\n1068 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1069 tagMSG * AfxGetCurrentMessage()\n1070 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1071 unsigned long AfxGetDllVersion()\n1072 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1073 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1074 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1075 void * AfxGetHENV()\n1076 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1077 unsigned long AfxGetInternetHandleType(void *)\n1078 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1079 AFX_MODULE_STATE * AfxGetModuleState()\n1080 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1081 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1082 HWND__ * AfxGetParentOwner(HWND__ *)\n1083 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1084 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1085 ATL::IAtlStringMgr * AfxGetStringManager()\n1086 CWinThread * AfxGetThread()\n1087 _AFX_THREAD_STATE * AfxGetThreadState()\n1088 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1089 void AfxGlobalFree(void *)\n1090 int AfxHelpEnabled()\n1091 void AfxHookWindowCreate(CWnd *)\n1092 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1093 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1094 void AfxInitLocalData(HINSTANCE__ *)\n1095 int AfxInitRichEdit()\n1096 int AfxInitRichEdit2()\n1097 void AfxInitThread()\n1098 int AfxInternalIsIdleMessage(tagMSG *)\n1099 int AfxInternalPreTranslateMessage(tagMSG *)\n1100 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1101 int AfxInternalPumpMessage()\n1102 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1103 int AfxIsDescendant(HWND__ *,HWND__ *)\n1104 int AfxIsIdleMessage(tagMSG *)\n1105 int AfxIsValidAddress(void const *,unsigned int,int)\n1106 int AfxIsValidString(wchar_t const *,int)\n1107 int AfxIsValidString(char const *,int)\n1108 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1109 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1110 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1111 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1112 int AfxLoadString(unsigned int,char *,unsigned int)\n1113 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1114 void AfxLockGlobals(int)\n1115 void AfxLockTempMaps()\n1116 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1117 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1118 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1119 int AfxOleCanExitApp()\n1120 int AfxOleGetUserCtrl()\n1121 int AfxOleInit()\n1122 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1123 void AfxOleLockApp()\n1124 int AfxOleLockControl(_GUID const &)\n1125 int AfxOleLockControl(wchar_t const *)\n1126 void AfxOleOnReleaseAllObjects()\n1127 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1128 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1129 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1130 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1131 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1132 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1133 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1134 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1135 void AfxOleSetUserCtrl(int)\n1136 void AfxOleTerm(int)\n1137 void AfxOleTermOrFreeLib(int,int)\n1138 void AfxOleUnlockAllControls()\n1139 void AfxOleUnlockApp()\n1140 int AfxOleUnlockControl(_GUID const &)\n1141 int AfxOleUnlockControl(wchar_t const *)\n1142 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1143 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1144 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1145 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1146 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1147 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1148 void AfxPostQuitMessage(int)\n1149 int AfxPreTranslateMessage(tagMSG *)\n1150 long AfxProcessWndProcException(CException *,tagMSG const *)\n1151 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1152 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1153 int AfxPumpMessage()\n1154 unsigned int AfxReadStringLength(CArchive &,int &)\n1155 int AfxRegisterClass(tagWNDCLASSW *)\n1156 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1157 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1158 void AfxResetMsgCache()\n1159 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1160 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1161 void AfxSafeArrayInit(COleSafeArray *)\n1162 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1163 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1164 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1165 void AfxSocketTerm()\n1166 void AfxStoreField(CRecordset &,unsigned int,void *)\n1167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1168 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1169 void AfxTermLocalData(HINSTANCE__ *,int)\n1170 void AfxTermThread(HINSTANCE__ *)\n1171 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1172 void AfxThrowArchiveException(int,wchar_t const *)\n1173 void AfxThrowDBException(short,CDatabase *,void *)\n1174 void AfxThrowFileException(int,long,wchar_t const *)\n1175 void AfxThrowInternetException(unsigned long,unsigned long)\n1176 void AfxThrowInvalidArgException()\n1177 void AfxThrowLastCleanup()\n1178 void AfxThrowMemoryException()\n1179 void AfxThrowNotSupportedException()\n1180 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1181 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1182 void AfxThrowOleException(long)\n1183 void AfxThrowResourceException()\n1184 void AfxThrowUserException()\n1185 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1186 void AfxTlsAddRef()\n1187 void AfxTlsRelease()\n1188 void AfxTrackerTerm()\n1189 void AfxTryCleanup()\n1190 int AfxUnhookWindowCreate()\n1191 void AfxUnlockGlobals(int)\n1192 int AfxUnlockTempMaps(int)\n1193 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1194 void AfxVariantInit(tagVARIANT *)\n1195 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1196 char * AfxW2AHelper(char *,wchar_t const *,int)\n1197 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1198 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1199 void AfxWinTerm()\n1200 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1201 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1202 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1203 void * CFixedAlloc::Alloc()\n1204 void * CFixedAllocNoSync::Alloc()\n1205 unsigned char * CMemFile::Alloc(unsigned long)\n1206 unsigned char * CSharedFile::Alloc(unsigned long)\n1207 void CRecordset::AllocAndCacheFieldInfo()\n1208 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1209 void CDatabase::AllocConnect(unsigned long)\n1210 void COleSafeArray::AllocData()\n1211 void CRecordset::AllocDataCache()\n1212 void COleSafeArray::AllocDescriptor(unsigned long)\n1213 int CControlBar::AllocElements(int,int)\n1214 int CStatusBar::AllocElements(int,int)\n1215 int CRecordset::AllocHstmt()\n1216 void CPropertyPage::AllocPSP(unsigned long)\n1217 void CRecordset::AllocRowset()\n1218 int CThreadSlotData::AllocSlot()\n1219 void CRecordset::AllocStatusArrays()\n1220 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1221 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1222 void * CProperty::AllocValue(unsigned long)\n1223 short COleControl::AmbientAppearance()\n1224 unsigned long COleControl::AmbientBackColor()\n1225 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1226 IFontDisp * COleControl::AmbientFont()\n1227 unsigned long COleControl::AmbientForeColor()\n1228 unsigned long COleControl::AmbientLocaleID()\n1229 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1230 int COleControl::AmbientShowGrabHandles()\n1231 int COleControl::AmbientShowHatching()\n1232 short COleControl::AmbientTextAlign()\n1233 int COleControl::AmbientUIDead()\n1234 int COleControl::AmbientUserMode()\n1235 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1236 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1237 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1238 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1239 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1240 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1241 int CByteArray::Append(CByteArray const &)\n1242 int CDWordArray::Append(CDWordArray const &)\n1243 int CObArray::Append(CObArray const &)\n1244 int CPtrArray::Append(CPtrArray const &)\n1245 int CStringArray::Append(CStringArray const &)\n1246 int CUIntArray::Append(CUIntArray const &)\n1247 int CWordArray::Append(CWordArray const &)\n1248 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1249 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1250 void CRecordset::AppendFilterAndSortSQL()\n1251 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1252 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1253 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1254 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1255 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1256 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1257 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1258 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1259 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1260 long COlePropertyPage::XPropertyPage::Apply()\n1261 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1262 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1263 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1264 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1265 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1266 int CAsyncSocket::AsyncSelect(long)\n1267 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1268 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1269 int CAsyncSocket::Attach(unsigned int,long)\n1270 int CDC::Attach(HDC__ *)\n1271 int CGdiObject::Attach(void *)\n1272 int CImageList::Attach(_IMAGELIST *)\n1273 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1274 int CMenu::Attach(HMENU__ *)\n1275 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1276 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1277 void COleDataObject::Attach(IDataObject *,int)\n1278 void COleSafeArray::Attach(tagVARIANT &)\n1279 void COleStreamFile::Attach(IStream *)\n1280 void COleVariant::Attach(tagVARIANT &)\n1281 int CWnd::Attach(HWND__ *)\n1282 int COleDataObject::AttachClipboard()\n1283 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1284 void CWnd::AttachControlSite(CHandleMap *)\n1285 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1286 void COleClientItem::AttachDataObject(COleDataObject &)const \n1287 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1288 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1289 CPrintDialog * CPrintDialog::AttachOnSetup()\n1290 void COleControlSite::AttachWindow()\n1291 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1292 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1293 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1294 void COleMessageFilter::BeginBusyState()\n1295 int CDragListBox::BeginDrag(CPoint)\n1296 void COleDataObject::BeginEnumFormats()\n1297 void CFrameWnd::BeginModalState()\n1298 int CDatabase::BeginTrans()\n1299 void CCmdTarget::BeginWaitCursor()\n1300 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1301 void CDataSourceControl::BindColumns()\n1302 void COccManager::BindControls(CWnd *)\n1303 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1304 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1305 void CRecordset::BindFieldsForUpdate()\n1306 unsigned int CRecordset::BindFieldsToColumns()\n1307 void CDatabase::BindParameters(void *)\n1308 unsigned int CRecordset::BindParams(void *)\n1309 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1310 void CDataSourceControl::BindProp(COleControlSite *,int)\n1311 void COleControlSite::BindProperty(long,CWnd *)\n1312 void CWnd::BindProperty(long,CWnd *)\n1313 void COleControl::BoundPropertyChanged(long)\n1314 int COleControl::BoundPropertyRequestEdit(long)\n1315 void CFrameWnd::BringToTop(int)\n1316 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1317 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1318 void CPropertySheet::BuildPropPageArray()\n1319 void CRecordset::BuildSelectSQL()\n1320 int COleControl::BuildSharedMenu()\n1321 int COleDocIPFrameWnd::BuildSharedMenu()\n1322 int COleIPFrameWnd::BuildSharedMenu()\n1323 void CRecordset::BuildSQL(wchar_t const *)\n1324 void CRecordset::BuildUpdateSQL()\n1325 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1326 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1327 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1328 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1329 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1330 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1331 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1332 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1333 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1334 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1335 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1336 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1337 CSize CControlBar::CalcFixedLayout(int,int)\n1338 CSize CDialogBar::CalcFixedLayout(int,int)\n1339 CSize CDockBar::CalcFixedLayout(int,int)\n1340 CSize CReBar::CalcFixedLayout(int,int)\n1341 CSize CStatusBar::CalcFixedLayout(int,int)\n1342 CSize CToolBar::CalcFixedLayout(int,int)\n1343 void CControlBar::CalcInsideRect(CRect &,int)const \n1344 void CStatusBar::CalcInsideRect(CRect &,int)const \n1345 CSize CToolBar::CalcLayout(unsigned long,int)\n1346 int CCheckListBox::CalcMinimumItemHeight()\n1347 CSize CPreviewView::CalcPageDisplaySize()\n1348 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1349 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1350 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1351 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1352 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1353 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1354 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1355 int CDHtmlDialog::CanAccessExternal()\n1356 int COleClientItem::CanActivate()\n1357 int CRichEditCntrItem::CanActivate()\n1358 int CSplitterWnd::CanActivateNext(int)\n1359 int CRecordset::CanBookmark()const \n1360 void CDatabase::Cancel()\n1361 void CRecordset::Cancel()\n1362 void CSocket::CancelBlockingCall()\n1363 void CDragListBox::CancelDrag(CPoint)\n1364 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1365 long COleUILinkInfo::CancelLink(unsigned long)\n1366 void CDockContext::CancelLoop()\n1367 void CPropertyPage::CancelToClose()\n1368 void CWnd::CancelToolTips(int)\n1369 void CRecordset::CancelUpdate()\n1370 int CDocument::CanCloseFrame(CFrameWnd *)\n1371 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1372 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1373 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1374 unsigned long CDockContext::CanDock()\n1375 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1376 int CFrameWnd::CanEnterHelpMode()\n1377 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1378 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1379 int COleClientItem::CanPaste()\n1380 int CRichEditCtrl::CanPaste(unsigned int)const \n1381 int CRichEditView::CanPaste()const \n1382 int COleClientItem::CanPasteLink()\n1383 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1384 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1385 void CScrollView::CenterOnPoint(CPoint)\n1386 void CWnd::CenterWindow(CWnd *)\n1387 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1388 int CListBox::CharToItem(unsigned int,unsigned int)\n1389 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1390 int CDatabase::Check(short)const \n1391 int CRecordset::Check(short)const \n1392 int CDialog::CheckAutoCenter()\n1393 int CWnd::CheckAutoCenter()\n1394 void CArchive::CheckCount()\n1395 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1396 void CWnd::CheckDlgButton(int,unsigned int)\n1397 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1398 void COleClientItem::CheckGeneral(long)\n1399 int CDatabase::CheckHstmt(short,void *)const \n1400 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1401 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1402 void COleControlContainer::CheckRadioButton(int,int,int)\n1403 void CWnd::CheckRadioButton(int,int,int)\n1404 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1405 void CRecordset::CheckRowsetError(short)\n1406 void CScrollView::CheckScrollBars(int &,int &)const \n1407 void CPropertyPage::Cleanup()\n1408 void COlePropertyPage::CleanupObjectArray()\n1409 void CDBVariant::Clear()\n1410 void CDockState::Clear()\n1411 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1412 void CRecordset::ClearFieldStatus()\n1413 void CRecordset::ClearNullFieldStatus(unsigned long)\n1414 void CRecordset::ClearNullParamStatus(unsigned long)\n1415 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1416 void CWnd::ClientToScreen(tagRECT *)const \n1417 int COleControl::ClipCaretRect(tagRECT *)\n1418 void CPreviewDC::ClipToPage()\n1419 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1420 long CArchiveStream::Clone(IStream * *)\n1421 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1422 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1423 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1424 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1425 void CArchive::Close()\n1426 void CAsyncMonikerFile::Close()\n1427 void CAsyncSocket::Close()\n1428 void CCachedDataPathProperty::Close()\n1429 void CDatabase::Close()\n1430 void CFile::Close()\n1431 void CFileFind::Close()\n1432 void CInternetConnection::Close()\n1433 void CInternetFile::Close()\n1434 void CInternetSession::Close()\n1435 void CMemFile::Close()\n1436 void CMirrorFile::Close()\n1437 void CMonikerFile::Close()\n1438 void COleClientItem::Close(enum tagOLECLOSE)\n1439 void COleStreamFile::Close()\n1440 void CRecordset::Close()\n1441 void CSocket::Close()\n1442 void CSocketFile::Close()\n1443 void CStdioFile::Close()\n1444 long CDocObjectServer::XOleObject::Close(unsigned long)\n1445 long COleControl::XOleObject::Close(unsigned long)\n1446 long COleServerDoc::XOleObject::Close(unsigned long)\n1447 long COleServerItem::XOleObject::Close(unsigned long)\n1448 void CDocManager::CloseAllDocuments(int)\n1449 void CDocTemplate::CloseAllDocuments(int)\n1450 void CWinApp::CloseAllDocuments(int)\n1451 void CFileFind::CloseContext()\n1452 void CFtpFileFind::CloseContext()\n1453 void CGopherFileFind::CloseContext()\n1454 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1455 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1456 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1457 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1458 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1459 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1460 int CStatusBar::CommandToIndex(unsigned int)const \n1461 int CToolBar::CommandToIndex(unsigned int)const \n1462 long CArchiveStream::Commit(unsigned long)\n1463 void COleClientItem::CommitItem(int)\n1464 void COleDocument::CommitItems(int,IStorage *)\n1465 int CDatabase::CommitTrans()\n1466 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n1467 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n1468 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1469 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1470 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1471 void CWinThread::CommonConstruct()\n1472 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1473 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1474 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1475 int CListBox::CompareItem(tagCOMPAREITEM*)\n1476 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1477 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1478 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n1479 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1480 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1481 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n1482 int CDatabase::Connect(unsigned long)\n1483 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1484 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1485 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1486 int CSocket::ConnectHelper(sockaddr const *,int)\n1487 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1488 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1489 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1490 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1491 void COleServerDoc::ConnectView(CWnd *,CView *)\n1492 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1493 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1494 void CPropertyPage::Construct(unsigned int,unsigned int)\n1495 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1496 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n1497 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1498 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1499 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1500 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n1501 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1502 void CRectTracker::Construct()\n1503 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1504 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1505 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1506 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1507 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1508 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1509 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1510 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1511 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1512 int CPropertySheet::ContinueModal()\n1513 int CWnd::ContinueModal()\n1514 void COleControl::ControlInfoChanged()\n1515 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1516 int COleClientItem::ConvertTo(_GUID const &)\n1517 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1518 void CByteArray::Copy(CByteArray const &)\n1519 void CDWordArray::Copy(CDWordArray const &)\n1520 void CObArray::Copy(CObArray const &)\n1521 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1522 void CPtrArray::Copy(CPtrArray const &)\n1523 void CStringArray::Copy(CStringArray const &)\n1524 void CUIntArray::Copy(CUIntArray const &)\n1525 void CWordArray::Copy(CWordArray const &)\n1526 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1527 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1528 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1529 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1530 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1531 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1532 void COleClientItem::CopyToClipboard(int)\n1533 void COleServerItem::CopyToClipboard(int)\n1534 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1535 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n1536 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1537 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1538 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1539 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1540 int CControlFrameWnd::Create(wchar_t const *)\n1541 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1542 int CDialog::Create(wchar_t const *,CWnd *)\n1543 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n1544 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1545 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1546 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n1547 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1548 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n1549 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1550 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1551 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1552 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1553 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1554 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1555 int CImageList::Create(int,int,unsigned int,int,int)\n1556 int CImageList::Create(unsigned int,int,int,unsigned long)\n1557 int CImageList::Create(CImageList *)\n1558 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n1559 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1560 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1561 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1562 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1563 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1564 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1565 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1566 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1567 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1568 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1569 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1570 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1571 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1572 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1573 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1574 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1575 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1576 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1577 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1578 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1579 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1580 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1581 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1582 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1583 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1584 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1585 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1586 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1587 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1589 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1590 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1591 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1592 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1593 IBindHost * CMonikerFile::CreateBindHost()\n1594 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1595 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n1596 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1597 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1598 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1599 void CConnectionPoint::CreateConnectionArray()\n1600 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1601 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1602 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1603 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1604 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1605 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1606 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1607 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1608 int CWnd::CreateControlContainer(COleControlContainer * *)\n1609 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1610 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1611 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1612 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1613 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1614 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n1615 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1616 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n1617 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n1618 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1619 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1620 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n1622 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1623 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1624 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1625 int CPictureHolder::CreateEmpty()\n1626 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1627 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1628 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1629 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1630 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1631 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1632 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1633 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1634 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1635 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1636 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1637 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1638 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1639 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1640 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1641 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1642 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1643 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1644 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1645 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1646 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1647 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1648 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1649 CControlFrameWnd * COleControl::CreateFrameWindow()\n1650 int CPictureHolder::CreateFromBitmap(unsigned int)\n1651 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1652 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1653 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1654 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1655 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1656 int CPictureHolder::CreateFromIcon(unsigned int)\n1657 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1658 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1659 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1660 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1661 int CDialog::CreateIndirect(void *,CWnd *)\n1662 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1663 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1664 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1665 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1666 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1667 int COleInsertDialog::CreateItem(COleClientItem *)\n1668 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1669 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1670 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1671 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1672 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n1673 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n1674 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n1675 int COleStreamFile::CreateMemoryStream(CFileException *)\n1676 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1677 CDocument * CDocTemplate::CreateNewDocument()\n1678 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1679 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1680 CObject * CByteArray::CreateObject()\n1681 CObject * CDC::CreateObject()\n1682 CObject * CDocItem::CreateObject()\n1683 CObject * CDockState::CreateObject()\n1684 CObject * CDWordArray::CreateObject()\n1685 CObject * CEditView::CreateObject()\n1686 CObject * CFrameWnd::CreateObject()\n1687 CObject * CGdiObject::CreateObject()\n1688 CObject * CHtmlEditView::CreateObject()\n1689 CObject * CHtmlView::CreateObject()\n1690 CObject * CImageList::CreateObject()\n1691 CObject * CListView::CreateObject()\n1692 CObject * CMapStringToOb::CreateObject()\n1693 CObject * CMapStringToString::CreateObject()\n1694 CObject * CMapWordToOb::CreateObject()\n1695 CObject * CMDIChildWnd::CreateObject()\n1696 CObject * CMDIFrameWnd::CreateObject()\n1697 CObject * CMenu::CreateObject()\n1698 CObject * CMiniDockFrameWnd::CreateObject()\n1699 CObject * CMiniFrameWnd::CreateObject()\n1700 CObject * CObArray::CreateObject()\n1701 CObject * CObList::CreateObject()\n1702 CObject * COleDocIPFrameWnd::CreateObject()\n1703 CObject * COleIPFrameWnd::CreateObject()\n1704 CObject * CPreviewView::CreateObject()\n1705 CObject * CRichEditCntrItem::CreateObject()\n1706 CObject * CRichEditView::CreateObject()\n1707 CObject * CRuntimeClass::CreateObject()\n1708 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1709 CObject * CRuntimeClass::CreateObject(char const *)\n1710 CObject * CStringArray::CreateObject()\n1711 CObject * CStringList::CreateObject()\n1712 CObject * CTreeView::CreateObject()\n1713 CObject * CWnd::CreateObject()\n1714 CObject * CWordArray::CreateObject()\n1715 void COleControlContainer::CreateOleFont(CFont *)\n1716 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1717 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1718 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1719 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n1720 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n1721 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1722 HDC__ * CPrintDialog::CreatePrinterDC()\n1723 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1724 int CWinApp::CreatePrinterDC(CDC &)\n1725 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1726 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1727 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1728 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1729 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1730 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n1731 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1732 void COleControl::CreateTracker(int,int)\n1733 void COleControl::CreateTracker(int,int,tagRECT const *)\n1734 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1735 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1736 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1737 void COleControl::CreateWindowForSubclassedControl()\n1738 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1739 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1740 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1741 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1742 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n1743 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n1744 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n1745 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n1746 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n1747 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n1748 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n1749 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n1750 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n1751 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n1752 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n1753 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1754 void DDP_PostProcessing(CDataExchange *)\n1755 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n1756 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n1757 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n1758 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n1759 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n1760 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n1761 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n1762 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n1763 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n1764 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n1765 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n1766 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1767 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1768 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1769 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1770 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1771 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1772 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1773 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1774 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1775 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1776 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1777 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1778 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1779 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1780 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1781 void DDX_CBIndex(CDataExchange *,int,int &)\n1782 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1783 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1784 void DDX_Check(CDataExchange *,int,int &)\n1785 void DDX_Control(CDataExchange *,int,CWnd &)\n1786 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1787 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1788 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1789 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1790 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1791 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1792 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n1793 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n1794 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n1795 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n1796 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n1797 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n1798 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n1799 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n1800 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n1801 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n1802 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n1803 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n1804 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1805 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n1806 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n1807 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n1808 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n1809 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n1810 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n1811 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1812 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n1813 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n1814 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n1815 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n1816 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n1817 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n1818 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1819 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1820 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1821 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1822 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1823 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1824 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1825 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1826 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1827 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1828 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1829 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1830 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1831 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1832 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1833 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1834 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1835 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1836 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1837 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1838 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1839 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n1840 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1841 void DDX_LBIndex(CDataExchange *,int,int &)\n1842 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1843 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1844 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1845 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1846 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1847 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1848 void DDX_OCBool(CDataExchange *,int,long,int &)\n1849 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1850 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1851 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1852 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1853 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1854 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1855 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1856 void DDX_OCInt(CDataExchange *,int,long,int &)\n1857 void DDX_OCInt(CDataExchange *,int,long,long &)\n1858 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1859 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1860 void DDX_OCShort(CDataExchange *,int,long,short &)\n1861 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1862 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1863 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1864 void DDX_Radio(CDataExchange *,int,int &)\n1865 void DDX_Scroll(CDataExchange *,int,int &)\n1866 void DDX_Slider(CDataExchange *,int,int &)\n1867 void DDX_Text(CDataExchange *,int,__int64 &)\n1868 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1869 void DDX_Text(CDataExchange *,int,unsigned char &)\n1870 void DDX_Text(CDataExchange *,int,short &)\n1871 void DDX_Text(CDataExchange *,int,int &)\n1872 void DDX_Text(CDataExchange *,int,unsigned int &)\n1873 void DDX_Text(CDataExchange *,int,long &)\n1874 void DDX_Text(CDataExchange *,int,unsigned long &)\n1875 void DDX_Text(CDataExchange *,int,float &)\n1876 void DDX_Text(CDataExchange *,int,double &)\n1877 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1878 void DDX_Text(CDataExchange *,int,_GUID &)\n1879 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1880 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1881 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1882 void DDX_Text(CDataExchange *,int,tagDEC &)\n1883 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1884 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1885 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1886 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n1887 void COleClientItem::Deactivate()\n1888 long COlePropertyPage::XPropertyPage::Deactivate()\n1889 int COleServerDoc::DeactivateAndUndo()\n1890 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1891 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1892 void COleClientItem::DeactivateUI()\n1893 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n1894 long CWnd::Default()\n1895 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1896 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1897 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n1898 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n1899 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1900 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1901 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1902 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1903 void CControlBar::DelayShow(int)\n1904 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1905 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1906 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n1907 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n1908 void CException::Delete()\n1909 void COleClientItem::Delete(int)\n1910 void CRecordset::Delete()\n1911 void CWinThread::Delete()\n1912 void CSplitterWnd::DeleteColumn(int)\n1913 void CDocument::DeleteContents()\n1914 void CEditView::DeleteContents()\n1915 void CHtmlEditDoc::DeleteContents()\n1916 void COleDocument::DeleteContents()\n1917 void COleServerDoc::DeleteContents()\n1918 void CRichEditDoc::DeleteContents()\n1919 void CRichEditView::DeleteContents()\n1920 int CDC::DeleteDC()\n1921 int CImageList::DeleteImageList()\n1922 void CComboBox::DeleteItem(tagDELETEITEM*)\n1923 int CComboBoxEx::DeleteItem(int)\n1924 void CListBox::DeleteItem(tagDELETEITEM*)\n1925 int CGdiObject::DeleteObject()\n1926 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1927 void CSplitterWnd::DeleteRow(int)\n1928 void CHandleMap::DeleteTemp()\n1929 void CDC::DeleteTempMap()\n1930 void CGdiObject::DeleteTempMap()\n1931 void CImageList::DeleteTempMap()\n1932 void CMenu::DeleteTempMap()\n1933 void CWnd::DeleteTempMap()\n1934 void CRichEditDoc::DeleteUnmarkedItems()const \n1935 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1936 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1937 void CSplitterWnd::DeleteView(int,int)\n1938 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1939 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1940 void COleSafeArray::Destroy()\n1941 int COleControlSite::DestroyControl()\n1942 void COleSafeArray::DestroyData()\n1943 void COleSafeArray::DestroyDescriptor()\n1944 void CFrameWnd::DestroyDockBars()\n1945 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1946 int CMenu::DestroyMenu()\n1947 void CDHtmlDialog::DestroyModeless()\n1948 void COleControl::DestroySharedMenu()\n1949 void COleDocIPFrameWnd::DestroySharedMenu()\n1950 void COleIPFrameWnd::DestroySharedMenu()\n1951 int CToolTipCtrl::DestroyToolTipCtrl()\n1952 void COleControl::DestroyTracker()\n1953 int CControlBar::DestroyWindow()\n1954 int CMDIChildWnd::DestroyWindow()\n1955 int CWnd::DestroyWindow()\n1956 unsigned int CAsyncSocket::Detach()\n1957 HDC__ * CDC::Detach()\n1958 void * CDialogTemplate::Detach()\n1959 void * CGdiObject::Detach()\n1960 _IMAGELIST * CImageList::Detach()\n1961 unsigned char * CMemFile::Detach()\n1962 HMENU__ * CMenu::Detach()\n1963 int CMonikerFile::Detach(CFileException *)\n1964 IDataObject * COleDataObject::Detach()\n1965 tagVARIANT COleSafeArray::Detach()\n1966 IStream * COleStreamFile::Detach()\n1967 tagVARIANT COleVariant::Detach()\n1968 void * CSharedFile::Detach()\n1969 HDC__ * CWindowlessDC::Detach()\n1970 HWND__ * CWnd::Detach()\n1971 IDispatch * COleDispatchDriver::DetachDispatch()\n1972 void CAsyncSocket::DetachHandle(unsigned int,int)\n1973 void COleControlSite::DetachWindow()\n1974 void CWinApp::DevModeChange(wchar_t *)\n1975 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1976 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1977 int COleServerDoc::DiscardUndoState()\n1978 long COleClientItem::XOleIPSite::DiscardUndoState()\n1979 long COleControlSite::XOleIPSite::DiscardUndoState()\n1980 void COleDispatchImpl::Disconnect()\n1981 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1982 void CDHtmlDialog::DisconnectDHtmlEvents()\n1983 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1984 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1985 void CDocument::DisconnectViews()\n1986 void CWinThread::DispatchThreadMessage(tagMSG *)\n1987 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1988 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n1989 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1990 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n1991 void CAsyncSocket::DoCallBack(unsigned int,long)\n1992 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n1993 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1994 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1995 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1996 void COleControl::DoClick()\n1997 int COleFrameHook::DoContextSensitiveHelp(int)\n1998 int COleConvertDialog::DoConvert(COleClientItem *)\n1999 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2000 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2001 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2002 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2003 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2004 int COleFrameHook::DoEnableModeless(int)\n2005 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2006 void CRecordset::DoFieldExchange(CFieldExchange *)\n2007 int CDocument::DoFileSave()\n2008 int CSplitterWnd::DoKeyboardSplit()\n2009 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2010 int CColorDialog::DoModal()\n2011 int CDialog::DoModal()\n2012 int CFileDialog::DoModal()\n2013 int CFontDialog::DoModal()\n2014 int COleBusyDialog::DoModal()\n2015 int COleChangeIconDialog::DoModal()\n2016 int COleChangeSourceDialog::DoModal()\n2017 int COleConvertDialog::DoModal()\n2018 int COleInsertDialog::DoModal(unsigned long)\n2019 int COleInsertDialog::DoModal()\n2020 int COleLinksDialog::DoModal()\n2021 int COlePasteSpecialDialog::DoModal()\n2022 int COlePropertiesDialog::DoModal()\n2023 int COleUpdateDialog::DoModal()\n2024 int CPageSetupDialog::DoModal()\n2025 int CPrintDialog::DoModal()\n2026 int CPrintDialogEx::DoModal()\n2027 int CPropertySheet::DoModal()\n2028 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2029 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2030 void CControlBar::DoPaint(CDC *)\n2031 void CDockBar::DoPaint(CDC *)\n2032 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2033 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2034 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2035 int CView::DoPreparePrinting(CPrintInfo *)\n2036 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2037 int CWinApp::DoPrintDialog(CPrintDialog *)\n2038 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2039 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2040 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2041 void COleControl::DoPropExchange(CPropExchange *)\n2042 int CDocument::DoSave(wchar_t const *,int)\n2043 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2044 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2045 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2046 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2047 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2048 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2049 long COleControlSite::DoVerb(long,tagMSG *)\n2050 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2051 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2052 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2053 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2054 void CWinApp::DoWaitCursor(int)\n2055 void CPreviewView::DoZoom(unsigned int,CPoint)\n2056 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2057 void CDC::DPtoLP(tagSIZE *)const \n2058 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2059 unsigned int CDragListBox::Dragging(CPoint)\n2060 long COleDropTarget::XDropTarget::DragLeave()\n2061 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2062 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2063 void CRectTracker::Draw(CDC *)const \n2064 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2065 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2066 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2067 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2068 void CControlBar::DrawBorders(CDC *,CRect &)\n2069 void COleControl::DrawContent(CDC *,CRect &)\n2070 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2071 void CDockContext::DrawFocusRect(int)\n2072 void CControlBar::DrawGripper(CDC *,CRect const &)\n2073 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2074 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2075 void CDragListBox::DrawInsert(int)\n2076 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2077 void CButton::DrawItem(tagDRAWITEM*)\n2078 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2079 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2080 void CComboBox::DrawItem(tagDRAWITEM*)\n2081 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2082 void CListBox::DrawItem(tagDRAWITEM*)\n2083 void CListCtrl::DrawItem(tagDRAWITEM*)\n2084 void CListView::DrawItem(tagDRAWITEM*)\n2085 void CMenu::DrawItem(tagDRAWITEM*)\n2086 void CStatic::DrawItem(tagDRAWITEM*)\n2087 void CStatusBar::DrawItem(tagDRAWITEM*)\n2088 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2089 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2090 void COleControl::DrawMetafile(CDC *,CRect &)\n2091 void CDragListBox::DrawSingle(int)\n2092 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2093 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2094 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2095 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2096 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2097 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2098 void CDragListBox::Dropped(int,CPoint)\n2099 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2100 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2101 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2102 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2103 CDumpContext & CDumpContext::DumpAsHex(int)\n2104 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2105 CDumpContext & CDumpContext::DumpAsHex(long)\n2106 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2107 long COleControl::XDataObject::DUnadvise(unsigned long)\n2108 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2109 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2110 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2111 CFile * CFile::Duplicate()const \n2112 CFile * CInternetFile::Duplicate()const \n2113 CFile * CMemFile::Duplicate()const \n2114 CFile * COleStreamFile::Duplicate()const \n2115 CFile * CSocketFile::Duplicate()const \n2116 CFile * CStdioFile::Duplicate()const \n2117 unsigned long const CEditView::dwStyleDefault\n2118 void CRecordset::Edit()\n2119 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2120 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2121 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2122 void ATL::CSimpleStringT<char,1>::Empty()\n2123 void CDBException::Empty()\n2124 void COleDataSource::Empty()\n2125 void CCheckListBox::Enable(int,int)\n2126 void CCmdUI::Enable(int)\n2127 void COleCmdUI::Enable(int)\n2128 void CStatusCmdUI::Enable(int)\n2129 void CTestCmdUI::Enable(int)\n2130 void CToolCmdUI::Enable(int)\n2131 void CCmdTarget::EnableAggregation()\n2132 void CCmdTarget::EnableAutomation()\n2133 void CRecordset::EnableBookmarks()\n2134 void CCmdTarget::EnableConnections()\n2135 void CControlBar::EnableDocking(unsigned long)\n2136 void CFrameWnd::EnableDocking(unsigned long)\n2137 void COleControlSite::EnableDSC()\n2138 long CBrowserControlSite::EnableModeless(int)\n2139 long CDHtmlDialog::EnableModeless(int)\n2140 void CWinApp::EnableModeless(int)\n2141 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2142 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2143 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2144 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2145 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2146 void CWnd::EnableScrollBarCtrl(int,int)\n2147 void CWinApp::EnableShellOpen()\n2148 void COleControl::EnableSimpleFrame()\n2149 void CPropertySheet::EnableStackedTabs(int)\n2150 int CInternetSession::EnableStatusCallback(int)\n2151 int CWnd::EnableToolTips(int)\n2152 int CWnd::EnableTrackingToolTips(int)\n2153 void CCmdTarget::EnableTypeLib()\n2154 int COleControlSite::EnableWindow(int)\n2155 int CWnd::EnableWindow(int)\n2156 void COleMessageFilter::EndBusyState()\n2157 void CAsyncMonikerFile::EndCallbacks()\n2158 long COleLinkingDoc::EndDeferErrors(long)\n2159 void CDialog::EndDialog(int)\n2160 void CPropertyPage::EndDialog(int)\n2161 void CPropertySheet::EndDialog(int)\n2162 void CDockContext::EndDrag()\n2163 void CWnd::EndModalLoop(int)\n2164 void CFrameWnd::EndModalState()\n2165 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2166 void CDockContext::EndResize()\n2167 void CCmdTarget::EndWaitCursor()\n2168 void COleDataObject::EnsureClipboardObject()\n2169 long CWnd::EnsureStdObj()\n2170 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2171 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2172 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2173 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2174 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2175 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2176 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2177 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2178 int COlePropertyPage::EnumControls(HWND__ *,long)\n2179 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2180 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2181 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2182 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2183 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2184 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2185 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2186 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2187 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2188 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2189 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2190 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2191 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2192 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2193 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2194 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2195 void CControlBar::EraseNonClient()\n2196 int CFileException::ErrnoToException(int)\n2197 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2198 int CMetaFileDC::Escape(int,int,char const *,void *)\n2199 int CPreviewDC::Escape(int,int,char const *,void *)\n2200 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2201 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2202 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2203 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2204 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2205 int COleControl::ExchangeExtent(CPropExchange *)\n2206 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2207 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2208 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2209 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2210 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2211 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2212 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2213 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2214 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2215 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2216 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2217 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2218 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2219 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2220 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2221 void COleControl::ExchangeStockProps(CPropExchange *)\n2222 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2223 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2224 int CDC::ExcludeClipRect(int,int,int,int)\n2225 int CDC::ExcludeClipRect(tagRECT const *)\n2226 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2227 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2228 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2229 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2230 int CHtmlEditView::ExecHandler(unsigned int)\n2231 int CWnd::ExecuteDlgInit(void *)\n2232 int CWnd::ExecuteDlgInit(wchar_t const *)\n2233 void CRecordset::ExecuteSetPosUpdate()\n2234 void CDatabase::ExecuteSQL(wchar_t const *)\n2235 void CRecordset::ExecuteUpdateSQL()\n2236 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2237 void CFrameWnd::ExitHelpMode()\n2238 int COleControlModule::ExitInstance()\n2239 int CWinApp::ExitInstance()\n2240 int CWinThread::ExitInstance()\n2241 unsigned long CCmdTarget::ExternalAddRef()\n2242 void CCmdTarget::ExternalDisconnect()\n2243 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2244 unsigned long CCmdTarget::ExternalRelease()\n2245 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2246 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2247 void CDataExchange::Fail()\n2248 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2249 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2250 void CArchive::FillBuffer(unsigned int)\n2251 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n2252 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2253 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2254 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2255 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2256 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2257 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2258 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2259 void CWnd::FilterToolTipMessage(tagMSG *)\n2260 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2261 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2262 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2263 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2264 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2265 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2266 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n2267 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n2268 int CDockBar::FindBar(CControlBar *,int)\n2269 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2270 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2271 int CFileFind::FindFile(wchar_t const *,unsigned long)\n2272 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n2273 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n2274 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n2275 __POSITION * CObList::FindIndex(int)const \n2276 __POSITION * CPtrList::FindIndex(int)const \n2277 __POSITION * CStringList::FindIndex(int)const \n2278 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2279 int CFileFind::FindNextFileW()\n2280 int CFtpFileFind::FindNextFileW()\n2281 int CGopherFileFind::FindNextFileW()\n2282 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2283 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2284 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2285 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n2286 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n2287 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n2288 int CEditView::FindTextW(wchar_t const *,int,int)\n2289 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n2290 int COleClientItem::FinishCreate(long)\n2291 void COleControl::FireError(long,wchar_t const *,unsigned int)\n2292 void COleControl::FireEvent(long,unsigned char *,...)\n2293 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2294 void COleControl::FireEventV(long,unsigned char *,char *)\n2295 void CRecordset::Fixups()\n2296 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2297 void CArchive::Flush()\n2298 void CDumpContext::Flush()\n2299 void CFile::Flush()\n2300 void CInternetFile::Flush()\n2301 void CMemFile::Flush()\n2302 void CMonikerFile::Flush()\n2303 void COleStreamFile::Flush()\n2304 void CSocketFile::Flush()\n2305 void CStdioFile::Flush()\n2306 void COleDataSource::FlushClipboard()\n2307 int CRecordset::FlushResultSet()\n2308 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2309 void ATL::CSimpleStringT<char,1>::Fork(int)\n2310 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2311 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2312 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2313 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2314 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n2315 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n2316 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2317 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n2318 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n2319 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n2320 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n2321 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2322 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2323 void COleControl::ForwardActivationMsg(tagMSG *)\n2324 void CAfxStringMgr::Free(ATL::CStringData *)\n2325 void CDatabase::Free()\n2326 void CFixedAlloc::Free(void *)\n2327 void CFixedAllocNoSync::Free(void *)\n2328 void CMemFile::Free(unsigned char *)\n2329 void CSharedFile::Free(unsigned char *)\n2330 void CFixedAlloc::FreeAll()\n2331 void CFixedAllocNoSync::FreeAll()\n2332 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2333 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2334 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2335 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2336 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2337 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2338 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2339 void CRecordset::FreeDataCache()\n2340 void CPlex::FreeDataChain()\n2341 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n2342 void ATL::CSimpleStringT<char,1>::FreeExtra()\n2343 void CByteArray::FreeExtra()\n2344 void CDWordArray::FreeExtra()\n2345 void CObArray::FreeExtra()\n2346 void CPtrArray::FreeExtra()\n2347 void CStringArray::FreeExtra()\n2348 void CUIntArray::FreeExtra()\n2349 void CWordArray::FreeExtra()\n2350 void CObList::FreeNode(CObList::CNode *)\n2351 void CPtrList::FreeNode(CPtrList::CNode *)\n2352 void CStringList::FreeNode(CStringList::CNode *)\n2353 void CRecordset::FreeRowset()\n2354 void CThreadSlotData::FreeSlot(int)\n2355 void CProperty::FreeValue()\n2356 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2357 void COleControlContainer::FreezeAllEvents(int)\n2358 void COleControlSite::FreezeEvents(int)\n2359 long COleControl::XOleControl::FreezeEvents(int)\n2360 int COleClientItem::FreezeLink()\n2361 CDC * CDC::FromHandle(HDC__ *)\n2362 CGdiObject * CGdiObject::FromHandle(void *)\n2363 CObject * CHandleMap::FromHandle(void *)\n2364 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2365 CMenu * CMenu::FromHandle(HMENU__ *)\n2366 CWnd * CWnd::FromHandle(HWND__ *)\n2367 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2368 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2369 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2370 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2371 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2372 CRuntime* CRuntimeClass::FromName(char const *)\n2373 void * CProperty::Get(unsigned long *)\n2374 void * CProperty::Get()\n2375 void * CPropertySection::Get(unsigned long)\n2376 void * CPropertySection::Get(unsigned long,unsigned long *)\n2377 void * CPropertySet::Get(_GUID,unsigned long)\n2378 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2379 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2380 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2381 long CWnd::get_accChildCount(long *)\n2382 long CWnd::XAccessible::get_accChildCount(long *)\n2383 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2384 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2385 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2386 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2387 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2388 long CWnd::get_accFocus(tagVARIANT *)\n2389 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2390 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2391 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2392 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2393 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2394 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2395 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2396 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2397 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2398 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2399 long CWnd::get_accParent(IDispatch * *)\n2400 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2401 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2402 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2403 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2404 long CWnd::get_accSelection(tagVARIANT *)\n2405 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2406 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2407 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2408 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2409 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2410 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2411 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2412 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2413 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2414 long CWnd::GetAccessibleChildCount()\n2415 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2416 unsigned long COleControl::GetActivationPolicy()\n2417 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2418 CDocument * CFrameWnd::GetActiveDocument()\n2419 CFrameWnd * CFrameWnd::GetActiveFrame()\n2420 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2421 int CPropertySheet::GetActiveIndex()const \n2422 CPropertyPage * CPropertySheet::GetActivePage()const \n2423 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2424 CView * CFrameWnd::GetActiveView()const \n2425 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2426 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2427 int CHtmlView::GetAddressBar()const \n2428 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2429 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n2430 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n2431 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2432 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2433 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2434 short COleControl::GetAppearance()\n2435 IDispatch * CHtmlView::GetApplication()const \n2436 HKEY__ * CWinApp::GetAppRegistryKey()\n2437 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2438 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2439 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2440 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2441 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2442 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2443 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2444 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2445 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2446 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2447 unsigned long COleControl::GetBackColor()\n2448 void CControlBar::GetBarInfo(CControlBarInfo *)\n2449 void CDockBar::GetBarInfo(CControlBarInfo *)\n2450 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2451 void * CBlobProperty::GetBlob()\n2452 void CRecordset::GetBookmark(CDBVariant &)\n2453 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2454 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2455 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2456 short COleControl::GetBorderStyle()\n2457 long CDataSourceControl::GetBoundClientRow()\n2458 int CRecordset::GetBoundFieldIndex(void *)\n2459 int CRecordset::GetBoundParamIndex(void *)\n2460 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2461 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n2462 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2463 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n2464 unsigned int CEditView::GetBufferLength()const \n2465 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2466 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2467 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2468 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2469 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2470 int CHtmlView::GetBusy()const \n2471 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2472 unsigned int CToolBar::GetButtonStyle(int)const \n2473 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n2474 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2475 void COleSafeArray::GetByteArray(CByteArray &)\n2476 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2477 unsigned short CPropertySet::GetByteOrder()\n2478 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2479 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2480 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2481 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2482 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2483 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2484 CWnd * COleControl::GetCapture()\n2485 long COleControlSite::XOleIPSite::GetCapture()\n2486 void CFontDialog::GetCharFormat(_charformatw &)const \n2487 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n2488 int CCheckListBox::GetCheck(int)\n2489 int CListCtrl::GetCheck(int)const \n2490 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2491 int CWnd::GetCheckedRadioButton(int,int)\n2492 long CBlobProperty::GetClassID(_GUID *)\n2493 void COleClientItem::GetClassID(_GUID *)const \n2494 _GUID CPropertySet::GetClassID()\n2495 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2496 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2497 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2498 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2499 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2500 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2501 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n2502 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2503 void COleControl::GetClientOffset(long *,long *)const \n2504 void COleControl::GetClientRect(tagRECT *)const \n2505 IOleClientSite * COleClientItem::GetClientSite()\n2506 IOleClientSite * COleControl::GetClientSite()\n2507 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2508 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2509 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2510 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2511 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2512 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2513 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2514 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2515 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2516 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2517 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2518 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2519 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2520 COleDataSource * COleDataSource::GetClipboardOwner()\n2521 int CDC::GetClipBox(tagRECT *)const \n2522 int CMetaFileDC::GetClipBox(tagRECT *)const \n2523 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2524 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2525 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2526 int CListCtrl::GetColumnOrderArray(int *,int)\n2527 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2528 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2529 void CDatabase::GetConnectInfo()\n2530 int CConnectionPoint::GetConnectionCount()\n2531 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2532 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2533 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2534 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2535 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2536 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2537 CPtrArray const * CConnectionPoint::GetConnections()\n2538 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2539 IDispatch * CHtmlView::GetContainer()const \n2540 IOleItemContainer * COleDocument::GetContainer()\n2541 IOleItemContainer * COleLinkingDoc::GetContainer()\n2542 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2543 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2544 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2545 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2546 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2547 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2548 COleControlContainer * CWnd::GetControlContainer()\n2549 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n2550 unsigned long COleControl::GetControlFlags()\n2551 void COleControlSite::GetControlInfo()\n2552 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2553 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2554 IUnknown * CCmdTarget::GetControllingUnknown()\n2555 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2556 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n2557 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n2558 void COleControl::GetControlSize(int *,int *)\n2559 int COlePropertyPage::GetControlStatus(unsigned int)\n2560 IUnknown * CWnd::GetControlUnknown()\n2561 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2562 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2563 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n2564 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n2565 int CPrintDialog::GetCopies()const \n2566 int CPrintDialogEx::GetCopies()const \n2567 unsigned long CPropertySection::GetCount()\n2568 unsigned long CPropertySet::GetCount()\n2569 int CFileFind::GetCreationTime(ATL::CTime &)const \n2570 int CFileFind::GetCreationTime(_FILETIME *)const \n2571 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2572 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2573 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2574 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2575 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n2576 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2577 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n2578 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n2579 tagMSG const * CWnd::GetCurrentMessage()\n2580 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2581 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2582 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2583 IUnknown * CDataBoundProperty::GetCursor()\n2584 IUnknown * CDataSourceControl::GetCursor()\n2585 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2586 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2587 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n2588 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n2589 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2590 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2591 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2592 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2593 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2594 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2595 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2596 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2597 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n2598 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2599 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2600 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2601 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2602 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2603 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2604 IDataObject * COleServerItem::GetDataObject()\n2605 COleControl::CControlDataSource * COleControl::GetDataSource()\n2606 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2607 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2608 HACCEL__ * CDocument::GetDefaultAccelerator()\n2609 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2610 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2611 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n2612 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n2613 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n2614 short CRecordset::GetDefaultFieldType(short)\n2615 HMENU__ * CDocument::GetDefaultMenu()\n2616 HMENU__ * COleServerDoc::GetDefaultMenu()\n2617 int CPrintDialog::GetDefaults()\n2618 int CPrintDialogEx::GetDefaults()\n2619 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n2620 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2621 unsigned long COleControlSite::GetDefBtnCode()\n2622 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2623 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n2624 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n2625 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n2626 CPoint CScrollView::GetDeviceScrollPosition()const \n2627 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2628 _devicemodeW * CPageSetupDialog::GetDevMode()const \n2629 _devicemodeW * CPrintDialog::GetDevMode()const \n2630 _devicemodeW * CPrintDialogEx::GetDevMode()const \n2631 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2632 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2633 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2634 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2635 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2636 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2637 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2638 int CCmdTarget::GetDispatchIID(_GUID *)\n2639 int COleControl::GetDispatchIID(_GUID *)\n2640 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2641 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2642 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2643 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n2644 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2645 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2646 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2647 int COleControlSite::GetDlgCtrlID()const \n2648 int CWnd::GetDlgCtrlID()const \n2649 CWnd * COleControlContainer::GetDlgItem(int)const \n2650 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2651 CWnd * CWnd::GetDlgItem(int)const \n2652 void CWnd::GetDlgItem(int,HWND__ * *)const \n2653 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2654 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2655 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n2656 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2657 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n2658 CDockBar * CDockContext::GetDockBar(unsigned long)\n2659 CControlBar * CDockBar::GetDockedControlBar(int)const \n2660 int CDockBar::GetDockedCount()const \n2661 int CDockBar::GetDockedVisibleCount()const \n2662 CFrameWnd * CControlBar::GetDockingFrame()const \n2663 void CFrameWnd::GetDockState(CDockState &)const \n2664 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2665 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2666 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n2667 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2668 int CDocManager::GetDocumentCount()\n2669 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2670 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n2671 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n2672 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n2673 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2674 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2675 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2676 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2677 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2678 IUnknown * CWnd::GetDSCCursor()\n2679 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n2680 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n2681 void COleSafeArray::GetElement(long *,void *)\n2682 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n2683 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n2684 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n2685 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n2686 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2687 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2688 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2689 int COleControl::GetEnabled()\n2690 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2691 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2692 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n2693 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n2694 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2695 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2696 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2697 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2698 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2699 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2700 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2701 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2702 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2703 int COleControlSite::GetEventIID(_GUID *)\n2704 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2705 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n2706 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n2707 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2708 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2709 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2710 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2711 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2712 unsigned long COleControlSite::GetExStyle()const \n2713 unsigned long CWnd::GetExStyle()const \n2714 IDispatch * COleControl::GetExtendedControl()\n2715 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2716 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2717 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2718 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2719 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2720 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2721 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2722 long CBrowserControlSite::GetExternal(IDispatch * *)\n2723 long CDHtmlDialog::GetExternal(IDispatch * *)\n2724 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2725 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2726 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2727 short CRecordset::GetFieldIndexByName(wchar_t const *)\n2728 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2729 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2730 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2731 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2732 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2733 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2734 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2735 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n2736 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n2737 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n2738 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2739 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n2740 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n2741 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n2742 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n2743 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n2744 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n2745 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n2746 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n2747 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n2748 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n2749 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n2750 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n2751 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2752 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n2753 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n2754 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n2755 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n2756 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2757 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2758 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2759 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2760 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2761 CFrameWnd * COleDocument::GetFirstFrame()\n2762 __POSITION * CDocument::GetFirstViewPosition()const \n2763 CWnd * COleControl::GetFocus()\n2764 long COleControlSite::XOleIPSite::GetFocus()\n2765 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n2766 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n2767 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n2768 IFontDisp * COleControl::GetFont()\n2769 IFontDisp * CFontHolder::GetFontDispatch()\n2770 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2771 HFONT__ * CFontHolder::GetFontHandle()\n2772 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2773 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n2774 unsigned long COleControl::GetForeColor()\n2775 _GUID CPropertySection::GetFormatID()\n2776 unsigned short CPropertySet::GetFormatVersion()\n2777 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n2778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n2779 int CHtmlView::GetFullScreen()const \n2780 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2781 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2782 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n2783 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2784 CBrush * CDC::GetHalftoneBrush()\n2785 unsigned int CRectTracker::GetHandleMask()const \n2786 void CRectTracker::GetHandleRect(int,CRect *)const \n2787 int CRectTracker::GetHandleSize(tagRECT const *)const \n2788 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2789 long CHtmlView::GetHeight()const \n2790 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2791 void CSplitterWnd::GetHitRect(int,CRect &)\n2792 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2793 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2794 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2795 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2796 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n2797 IDispatch * CHtmlView::GetHtmlDocument()const \n2798 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n2799 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n2800 unsigned int COleControl::GetHwnd()\n2801 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2802 HICON__ * COleClientItem::GetIconFromRegistry()const \n2803 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2804 void * COleClientItem::GetIconicMetafile()\n2805 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2806 unsigned long CProperty::GetID()\n2807 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n2808 IDataObject * COleDataObject::GetIDataObject(int)\n2809 IDispatch * CCmdTarget::GetIDispatch(int)\n2810 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2811 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2812 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2813 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2814 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2815 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2816 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2817 _GUID const & COleControl::XEventConnPt::GetIID()\n2818 CImageList * CReBarCtrl::GetImageList()const \n2819 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2820 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2821 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2822 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2823 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2824 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2825 CWnd * COleClientItem::GetInPlaceWindow()\n2826 void CSplitterWnd::GetInsideRect(CRect &)const \n2827 IUnknown * CCmdTarget::GetInterface(void const *)\n2828 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2829 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2830 IUnknown * COleControl::GetInterfaceHook(void const *)\n2831 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2832 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2833 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2834 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2835 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2836 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2837 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2838 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2839 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2840 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2841 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2842 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2843 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2844 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2845 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2846 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2847 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2848 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2849 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2850 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2851 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2852 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2853 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2854 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2855 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2856 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2857 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2858 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n2859 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2860 unsigned long CListCtrl::GetItemData(int)const \n2861 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2862 unsigned int CStatusBar::GetItemID(int)const \n2863 unsigned int CToolBar::GetItemID(int)const \n2864 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2865 void COleClientItem::GetItemName(wchar_t *)const \n2866 void COleServerDoc::GetItemPosition(tagRECT *)const \n2867 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2868 void CStatusBar::GetItemRect(int,tagRECT *)const \n2869 void CToolBar::GetItemRect(int,tagRECT *)const \n2870 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2871 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2872 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2873 void COleClientItem::GetItemStorage()\n2874 void COleClientItem::GetItemStorageCompound()\n2875 void COleClientItem::GetItemStorageFlat()\n2876 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n2877 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n2878 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2879 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2880 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2881 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2882 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2883 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2884 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2885 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2886 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2887 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2888 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2889 unsigned long CDC::GetLayout()const \n2890 long CRecordset::GetLBFetchSize(long)\n2891 void COleSafeArray::GetLBound(unsigned long,long *)\n2892 long CRecordset::GetLBReallocSize(long)\n2893 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2894 long CHtmlView::GetLeft()const \n2895 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n2896 int ATL::CSimpleStringT<char,1>::GetLength()const \n2897 unsigned __int64 CFile::GetLength()const \n2898 unsigned __int64 CFileFind::GetLength()const \n2899 unsigned __int64 CGopherFileFind::GetLength()const \n2900 unsigned __int64 CInternetFile::GetLength()const \n2901 unsigned __int64 CMemFile::GetLength()const \n2902 unsigned __int64 COleStreamFile::GetLength()const \n2903 unsigned __int64 CSocketFile::GetLength()const \n2904 unsigned __int64 CStdioFile::GetLength()const \n2905 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2906 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2907 int CRichEditCtrl::GetLine(int,wchar_t *)const \n2908 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n2909 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n2910 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n2911 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2912 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2913 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2914 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2915 CPtrList * CPropertySection::GetList()\n2916 CPtrList * CPropertySet::GetList()\n2917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n2918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n2919 CGopherLocator CGopherFileFind::GetLocator()const \n2920 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2921 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2922 long CFieldExchange::GetLongBinarySize(int)\n2923 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2924 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2925 CWnd * CWinThread::GetMainWnd()\n2926 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n2927 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n2928 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2929 int CConnectionPoint::GetMaxConnections()\n2930 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2931 int CHtmlView::GetMenuBar()const \n2932 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n2933 CWnd * CFrameWnd::GetMessageBar()\n2934 CWnd * CMDIChildWnd::GetMessageBar()\n2935 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2936 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2937 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2938 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2939 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2940 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2941 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2942 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2943 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2944 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2945 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2946 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2947 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2948 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2949 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2950 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2951 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2952 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2953 AFX_MSGMAP const * CListView::GetMessageMap()const \n2954 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2955 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2956 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2957 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2958 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2959 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2960 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2961 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2962 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2963 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2964 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2965 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2966 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2967 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2968 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2969 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2970 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2971 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2972 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2973 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2974 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2975 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2976 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2977 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2978 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2979 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2980 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2981 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2982 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2983 AFX_MSGMAP const * CView::GetMessageMap()const \n2984 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2985 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2986 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2987 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2988 long CDataSourceControl::GetMetaData()\n2989 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2990 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2991 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2992 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2993 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2994 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2995 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2996 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n2997 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n2998 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n2999 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3000 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3001 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3002 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3003 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3004 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3005 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3006 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3007 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3008 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3009 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3010 unsigned long COleClientItem::GetNewItemNumber()\n3011 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3012 CDataBoundProperty * CDataBoundProperty::GetNext()\n3013 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3014 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3015 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n3016 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n3017 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3018 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3019 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3020 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3021 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3022 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3023 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3024 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3025 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3026 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3027 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3028 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3029 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3030 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3031 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3032 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3033 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3034 CView * CDocument::GetNextView(__POSITION * &)const \n3035 ATL::CStringData * CAfxStringMgr::GetNilString()\n3036 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3037 void CCmdTarget::GetNotSupported()\n3038 void COleControl::GetNotSupported()\n3039 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3040 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3041 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3042 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n3043 unsigned int CArchive::GetObjectSchema()\n3044 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3045 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n3046 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3047 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3048 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n3049 int CHtmlView::GetOffline()const \n3050 tagOFNW & CFileDialog::GetOFN()\n3051 tagOFNW const & CFileDialog::GetOFN()const \n3052 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3053 IOleObject * COleServerItem::GetOleObject()\n3054 unsigned long COleSafeArray::GetOneDimSize()\n3055 int CDocManager::GetOpenDocumentCount()\n3056 int CWinApp::GetOpenDocumentCount()\n3057 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3058 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3059 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3060 int CHeaderCtrl::GetOrderArray(int *,int)\n3061 unsigned long CPropertySet::GetOSVersion()\n3062 CWnd * COleControl::GetOuterWindow()const \n3063 int COleDocObjectItem::GetPageCount(long *,long *)\n3064 int CPropertySheet::GetPageCount()const \n3065 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3066 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3067 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3068 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3069 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3070 CWnd * CSplitterWnd::GetPane(int,int)const \n3071 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3072 unsigned int CStatusBar::GetPaneStyle(int)const \n3073 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n3074 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3075 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3076 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3077 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n3078 IDispatch * CHtmlView::GetParentBrowser()const \n3079 CFrameWnd * CWnd::GetParentFrame()const \n3080 CWnd * CWnd::GetParentOwner()const \n3081 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n3083 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3084 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3085 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n3086 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n3087 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n3088 unsigned __int64 CFile::GetPosition()const \n3089 unsigned __int64 CMemFile::GetPosition()const \n3090 unsigned __int64 COleStreamFile::GetPosition()const \n3091 unsigned __int64 CSocketFile::GetPosition()const \n3092 unsigned __int64 CStdioFile::GetPosition()const \n3093 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3094 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3095 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3096 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3097 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3098 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3099 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n3100 CFont * CEditView::GetPrinterFont()const \n3101 long CAsyncMonikerFile::GetPriority()const \n3102 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n3103 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n3104 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n3105 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n3106 COleVariant CHtmlView::GetProperty(wchar_t const *)\n3107 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3108 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3109 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3110 CProperty * CPropertySection::GetProperty(unsigned long)\n3111 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3112 void CWnd::GetProperty(long,unsigned short,void *)const \n3113 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n3114 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3115 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n3116 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3117 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n3118 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n3119 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n3120 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n3121 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n3122 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n3123 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n3124 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n3125 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n3126 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n3127 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n3128 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3129 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3130 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3131 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3132 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3133 void CProgressCtrl::GetRange(int &,int &)\n3134 void CSliderCtrl::GetRange(int &,int &)const \n3135 void CSpinButtonCtrl::GetRange(int &,int &)const \n3136 void * CProperty::GetRawValue()\n3137 enum tagREADYSTATE CHtmlView::GetReadyState()const \n3138 long COleControl::GetReadyState()\n3139 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3140 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3141 int COleControl::GetRectInContainer(tagRECT *)\n3142 int CHtmlView::GetRegisterAsBrowser()const \n3143 int CHtmlView::GetRegisterAsDropTarget()const \n3144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n3145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n3146 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3147 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n3148 CView * CCmdTarget::GetRoutingView()\n3149 CView * CCmdTarget::GetRoutingView_()\n3150 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3151 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3152 CRuntime* CArchiveException::GetRuntimeClass()const \n3153 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3154 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3155 CRuntime* CBitmap::GetRuntimeClass()const \n3156 CRuntime* CBitmapButton::GetRuntimeClass()const \n3157 CRuntime* CBrush::GetRuntimeClass()const \n3158 CRuntime* CButton::GetRuntimeClass()const \n3159 CRuntime* CByteArray::GetRuntimeClass()const \n3160 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3161 CRuntime* CCheckListBox::GetRuntimeClass()const \n3162 CRuntime* CClientDC::GetRuntimeClass()const \n3163 CRuntime* CCmdTarget::GetRuntimeClass()const \n3164 CRuntime* CColorDialog::GetRuntimeClass()const \n3165 CRuntime* CComboBox::GetRuntimeClass()const \n3166 CRuntime* CComboBoxEx::GetRuntimeClass()const \n3167 CRuntime* CControlBar::GetRuntimeClass()const \n3168 CRuntime* CCriticalSection::GetRuntimeClass()const \n3169 CRuntime* CCtrlView::GetRuntimeClass()const \n3170 CRuntime* CDatabase::GetRuntimeClass()const \n3171 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3172 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n3173 CRuntime* CDBException::GetRuntimeClass()const \n3174 CRuntime* CDC::GetRuntimeClass()const \n3175 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n3176 CRuntime* CDialog::GetRuntimeClass()const \n3177 CRuntime* CDialogBar::GetRuntimeClass()const \n3178 CRuntime* CDocItem::GetRuntimeClass()const \n3179 CRuntime* CDockBar::GetRuntimeClass()const \n3180 CRuntime* CDockState::GetRuntimeClass()const \n3181 CRuntime* CDocManager::GetRuntimeClass()const \n3182 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3183 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3184 CRuntime* CDocTemplate::GetRuntimeClass()const \n3185 CRuntime* CDocument::GetRuntimeClass()const \n3186 CRuntime* CDragListBox::GetRuntimeClass()const \n3187 CRuntime* CDWordArray::GetRuntimeClass()const \n3188 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3189 CRuntime* CEdit::GetRuntimeClass()const \n3190 CRuntime* CEditView::GetRuntimeClass()const \n3191 CRuntime* CEvent::GetRuntimeClass()const \n3192 CRuntime* CException::GetRuntimeClass()const \n3193 CRuntime* CFile::GetRuntimeClass()const \n3194 CRuntime* CFileDialog::GetRuntimeClass()const \n3195 CRuntime* CFileException::GetRuntimeClass()const \n3196 CRuntime* CFileFind::GetRuntimeClass()const \n3197 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3198 CRuntime* CFont::GetRuntimeClass()const \n3199 CRuntime* CFontDialog::GetRuntimeClass()const \n3200 CRuntime* CFormView::GetRuntimeClass()const \n3201 CRuntime* CFrameWnd::GetRuntimeClass()const \n3202 CRuntime* CFtpConnection::GetRuntimeClass()const \n3203 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3204 CRuntime* CGdiObject::GetRuntimeClass()const \n3205 CRuntime* CGopherConnection::GetRuntimeClass()const \n3206 CRuntime* CGopherFile::GetRuntimeClass()const \n3207 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3208 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3209 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3210 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3211 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3212 CRuntime* CHtmlView::GetRuntimeClass()const \n3213 CRuntime* CHttpConnection::GetRuntimeClass()const \n3214 CRuntime* CHttpFile::GetRuntimeClass()const \n3215 CRuntime* CImageList::GetRuntimeClass()const \n3216 CRuntime* CInternetConnection::GetRuntimeClass()const \n3217 CRuntime* CInternetException::GetRuntimeClass()const \n3218 CRuntime* CInternetFile::GetRuntimeClass()const \n3219 CRuntime* CInternetSession::GetRuntimeClass()const \n3220 CRuntime* CInvalidArgException::GetRuntimeClass()const \n3221 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3222 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3223 CRuntime* CListBox::GetRuntimeClass()const \n3224 CRuntime* CListCtrl::GetRuntimeClass()const \n3225 CRuntime* CListView::GetRuntimeClass()const \n3226 CRuntime* CLongBinary::GetRuntimeClass()const \n3227 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3228 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3229 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3230 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3231 CRuntime* CMapStringToString::GetRuntimeClass()const \n3232 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3233 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3234 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3235 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3236 CRuntime* CMemFile::GetRuntimeClass()const \n3237 CRuntime* CMemoryException::GetRuntimeClass()const \n3238 CRuntime* CMenu::GetRuntimeClass()const \n3239 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3240 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3241 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3242 CRuntime* CMonikerFile::GetRuntimeClass()const \n3243 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3244 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3245 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3246 CRuntime* CMutex::GetRuntimeClass()const \n3247 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3248 CRuntime* CObArray::GetRuntimeClass()const \n3249 CRuntime* CObject::GetRuntimeClass()const \n3250 CRuntime* CObList::GetRuntimeClass()const \n3251 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3252 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3253 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3254 CRuntime* COleClientItem::GetRuntimeClass()const \n3255 CRuntime* COleControl::GetRuntimeClass()const \n3256 CRuntime* COleControlModule::GetRuntimeClass()const \n3257 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3258 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3259 CRuntime* COleDialog::GetRuntimeClass()const \n3260 CRuntime* COleDispatchException::GetRuntimeClass()const \n3261 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3262 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3263 CRuntime* COleDocument::GetRuntimeClass()const \n3264 CRuntime* COleException::GetRuntimeClass()const \n3265 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3266 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3267 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3268 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3269 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3270 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3271 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3272 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3273 CRuntime* COleResizeBar::GetRuntimeClass()const \n3274 CRuntime* COleServerDoc::GetRuntimeClass()const \n3275 CRuntime* COleServerItem::GetRuntimeClass()const \n3276 CRuntime* COleStreamFile::GetRuntimeClass()const \n3277 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3278 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3279 CRuntime* CPaintDC::GetRuntimeClass()const \n3280 CRuntime* CPalette::GetRuntimeClass()const \n3281 CRuntime* CPen::GetRuntimeClass()const \n3282 CRuntime* CPreviewDC::GetRuntimeClass()const \n3283 CRuntime* CPreviewView::GetRuntimeClass()const \n3284 CRuntime* CPrintDialog::GetRuntimeClass()const \n3285 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3286 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3287 CRuntime* CPropertyPage::GetRuntimeClass()const \n3288 CRuntime* CPropertySheet::GetRuntimeClass()const \n3289 CRuntime* CPtrArray::GetRuntimeClass()const \n3290 CRuntime* CPtrList::GetRuntimeClass()const \n3291 CRuntime* CReBar::GetRuntimeClass()const \n3292 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3293 CRuntime* CRecordset::GetRuntimeClass()const \n3294 CRuntime* CRecordView::GetRuntimeClass()const \n3295 CRuntime* CResourceException::GetRuntimeClass()const \n3296 CRuntime* CRgn::GetRuntimeClass()const \n3297 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3298 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3299 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3300 CRuntime* CRichEditView::GetRuntimeClass()const \n3301 CRuntime* CScrollBar::GetRuntimeClass()const \n3302 CRuntime* CScrollView::GetRuntimeClass()const \n3303 CRuntime* CSemaphore::GetRuntimeClass()const \n3304 CRuntime* CSharedFile::GetRuntimeClass()const \n3305 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3306 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3307 CRuntime* CSocket::GetRuntimeClass()const \n3308 CRuntime* CSocketFile::GetRuntimeClass()const \n3309 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3310 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3311 CRuntime* CStatic::GetRuntimeClass()const \n3312 CRuntime* CStatusBar::GetRuntimeClass()const \n3313 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3314 CRuntime* CStdioFile::GetRuntimeClass()const \n3315 CRuntime* CStringArray::GetRuntimeClass()const \n3316 CRuntime* CStringList::GetRuntimeClass()const \n3317 CRuntime* CSyncObject::GetRuntimeClass()const \n3318 CRuntime* CTabCtrl::GetRuntimeClass()const \n3319 CRuntime* CToolBar::GetRuntimeClass()const \n3320 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3321 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3322 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3323 CRuntime* CTreeView::GetRuntimeClass()const \n3324 CRuntime* CUIntArray::GetRuntimeClass()const \n3325 CRuntime* CUserException::GetRuntimeClass()const \n3326 CRuntime* CView::GetRuntimeClass()const \n3327 CRuntime* CWinApp::GetRuntimeClass()const \n3328 CRuntime* CWindowDC::GetRuntimeClass()const \n3329 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3330 CRuntime* CWinThread::GetRuntimeClass()const \n3331 CRuntime* CWnd::GetRuntimeClass()const \n3332 CRuntime* CWordArray::GetRuntimeClass()const \n3333 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3334 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3335 unsigned long * CColorDialog::GetSavedCustomColors()\n3336 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n3337 CSize CDockState::GetScreenSize()\n3338 CScrollBar * CView::GetScrollBarCtrl(int)const \n3339 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3340 void CScrollView::GetScrollBarSizes(CSize &)\n3341 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3342 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3343 int CWnd::GetScrollLimit(int)\n3344 int CWnd::GetScrollPos(int)const \n3345 CPoint CScrollView::GetScrollPosition()const \n3346 void CWnd::GetScrollRange(int,int *,int *)const \n3347 unsigned long CSplitterWnd::GetScrollStyle()const \n3348 CPropertySection * CPropertySet::GetSection(_GUID)\n3349 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n3350 wchar_t const * CPropertySection::GetSectionName()\n3351 void CRichEditCtrl::GetSel(long &,long &)const \n3352 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3353 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3354 void CSliderCtrl::GetSelection(int &,int &)const \n3355 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n3356 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n3357 unsigned int COleConvertDialog::GetSelectionType()const \n3358 unsigned int COleInsertDialog::GetSelectionType()const \n3359 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3360 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3361 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3362 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3363 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n3364 int CHtmlView::GetSilent()const \n3365 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3366 unsigned long CPropertySection::GetSize()\n3367 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3368 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3369 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3370 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3371 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3372 CWnd * CSplitterWnd::GetSizingParent()\n3373 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3374 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3375 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3376 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3377 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n3378 wchar_t const * CHtmlEditView::GetStartDocument()\n3379 __POSITION * CConnectionPoint::GetStartPosition()const \n3380 __POSITION * COleDocument::GetStartPosition()const \n3381 __POSITION * CRichEditDoc::GetStartPosition()const \n3382 int CFile::GetStatus(CFileStatus &)const \n3383 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n3384 int CMemFile::GetStatus(CFileStatus &)const \n3385 int COleStreamFile::GetStatus(CFileStatus &)const \n3386 int CHtmlView::GetStatusBar()const \n3387 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n3388 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n3389 IStream * COleStreamFile::GetStream()const \n3390 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n3391 char const * ATL::CSimpleStringT<char,1>::GetString()const \n3392 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3393 unsigned long COleControlSite::GetStyle()const \n3394 unsigned long COleControlSiteOrWnd::GetStyle()const \n3395 unsigned long CWnd::GetStyle()const \n3396 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3397 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3398 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3399 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3400 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3401 wchar_t * COleControl::GetText()\n3402 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n3403 int CStatusBarCtrl::GetText(wchar_t const *,int,int *)const \n3404 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n3405 long CRecordset::GetTextLen(short,unsigned long)\n3406 int CStatusBarCtrl::GetTextLength(int,int *)const \n3407 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3408 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3409 int CHtmlView::GetTheaterMode()const \n3410 CRuntime* CAnimateCtrl::GetThisClass()\n3411 CRuntime* CArchiveException::GetThisClass()\n3412 CRuntime* CAsyncMonikerFile::GetThisClass()\n3413 CRuntime* CAsyncSocket::GetThisClass()\n3414 CRuntime* CBitmap::GetThisClass()\n3415 CRuntime* CBitmapButton::GetThisClass()\n3416 CRuntime* CBrush::GetThisClass()\n3417 CRuntime* CButton::GetThisClass()\n3418 CRuntime* CByteArray::GetThisClass()\n3419 CRuntime* CCachedDataPathProperty::GetThisClass()\n3420 CRuntime* CCheckListBox::GetThisClass()\n3421 CRuntime* CClientDC::GetThisClass()\n3422 CRuntime* CCmdTarget::GetThisClass()\n3423 CRuntime* CColorDialog::GetThisClass()\n3424 CRuntime* CComboBox::GetThisClass()\n3425 CRuntime* CComboBoxEx::GetThisClass()\n3426 CRuntime* CControlBar::GetThisClass()\n3427 CRuntime* CCriticalSection::GetThisClass()\n3428 CRuntime* CCtrlView::GetThisClass()\n3429 CRuntime* CDatabase::GetThisClass()\n3430 CRuntime* CDataPathProperty::GetThisClass()\n3431 CRuntime* CDateTimeCtrl::GetThisClass()\n3432 CRuntime* CDBException::GetThisClass()\n3433 CRuntime* CDC::GetThisClass()\n3434 CRuntime* CDHtmlDialog::GetThisClass()\n3435 CRuntime* CDialog::GetThisClass()\n3436 CRuntime* CDialogBar::GetThisClass()\n3437 CRuntime* CDocItem::GetThisClass()\n3438 CRuntime* CDockBar::GetThisClass()\n3439 CRuntime* CDockState::GetThisClass()\n3440 CRuntime* CDocManager::GetThisClass()\n3441 CRuntime* CDocObjectServer::GetThisClass()\n3442 CRuntime* CDocObjectServerItem::GetThisClass()\n3443 CRuntime* CDocTemplate::GetThisClass()\n3444 CRuntime* CDocument::GetThisClass()\n3445 CRuntime* CDragListBox::GetThisClass()\n3446 CRuntime* CDWordArray::GetThisClass()\n3447 CRuntime* CDynLinkLibrary::GetThisClass()\n3448 CRuntime* CEdit::GetThisClass()\n3449 CRuntime* CEditView::GetThisClass()\n3450 CRuntime* CEvent::GetThisClass()\n3451 CRuntime* CException::GetThisClass()\n3452 CRuntime* CFile::GetThisClass()\n3453 CRuntime* CFileDialog::GetThisClass()\n3454 CRuntime* CFileException::GetThisClass()\n3455 CRuntime* CFileFind::GetThisClass()\n3456 CRuntime* CFindReplaceDialog::GetThisClass()\n3457 CRuntime* CFont::GetThisClass()\n3458 CRuntime* CFontDialog::GetThisClass()\n3459 CRuntime* CFormView::GetThisClass()\n3460 CRuntime* CFrameWnd::GetThisClass()\n3461 CRuntime* CFtpConnection::GetThisClass()\n3462 CRuntime* CFtpFileFind::GetThisClass()\n3463 CRuntime* CGdiObject::GetThisClass()\n3464 CRuntime* CGopherConnection::GetThisClass()\n3465 CRuntime* CGopherFile::GetThisClass()\n3466 CRuntime* CGopherFileFind::GetThisClass()\n3467 CRuntime* CHeaderCtrl::GetThisClass()\n3468 CRuntime* CHotKeyCtrl::GetThisClass()\n3469 CRuntime* CHtmlEditDoc::GetThisClass()\n3470 CRuntime* CHtmlEditView::GetThisClass()\n3471 CRuntime* CHtmlView::GetThisClass()\n3472 CRuntime* CHttpConnection::GetThisClass()\n3473 CRuntime* CHttpFile::GetThisClass()\n3474 CRuntime* CImageList::GetThisClass()\n3475 CRuntime* CInternetConnection::GetThisClass()\n3476 CRuntime* CInternetException::GetThisClass()\n3477 CRuntime* CInternetFile::GetThisClass()\n3478 CRuntime* CInternetSession::GetThisClass()\n3479 CRuntime* CInvalidArgException::GetThisClass()\n3480 CRuntime* CIPAddressCtrl::GetThisClass()\n3481 CRuntime* CLinkCtrl::GetThisClass()\n3482 CRuntime* CListBox::GetThisClass()\n3483 CRuntime* CListCtrl::GetThisClass()\n3484 CRuntime* CListView::GetThisClass()\n3485 CRuntime* CLongBinary::GetThisClass()\n3486 CRuntime* CMapPtrToPtr::GetThisClass()\n3487 CRuntime* CMapPtrToWord::GetThisClass()\n3488 CRuntime* CMapStringToOb::GetThisClass()\n3489 CRuntime* CMapStringToPtr::GetThisClass()\n3490 CRuntime* CMapStringToString::GetThisClass()\n3491 CRuntime* CMapWordToOb::GetThisClass()\n3492 CRuntime* CMapWordToPtr::GetThisClass()\n3493 CRuntime* CMDIChildWnd::GetThisClass()\n3494 CRuntime* CMDIFrameWnd::GetThisClass()\n3495 CRuntime* CMemFile::GetThisClass()\n3496 CRuntime* CMemoryException::GetThisClass()\n3497 CRuntime* CMenu::GetThisClass()\n3498 CRuntime* CMetaFileDC::GetThisClass()\n3499 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3500 CRuntime* CMiniFrameWnd::GetThisClass()\n3501 CRuntime* CMonikerFile::GetThisClass()\n3502 CRuntime* CMonthCalCtrl::GetThisClass()\n3503 CRuntime* CMultiDocTemplate::GetThisClass()\n3504 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3505 CRuntime* CMutex::GetThisClass()\n3506 CRuntime* CNotSupportedException::GetThisClass()\n3507 CRuntime* CObArray::GetThisClass()\n3508 CRuntime* CObject::GetThisClass()\n3509 CRuntime* CObList::GetThisClass()\n3510 CRuntime* COleBusyDialog::GetThisClass()\n3511 CRuntime* COleChangeIconDialog::GetThisClass()\n3512 CRuntime* COleChangeSourceDialog::GetThisClass()\n3513 CRuntime* COleClientItem::GetThisClass()\n3514 CRuntime* COleControl::GetThisClass()\n3515 CRuntime* COleControlModule::GetThisClass()\n3516 CRuntime* COleConvertDialog::GetThisClass()\n3517 CRuntime* COleDBRecordView::GetThisClass()\n3518 CRuntime* COleDialog::GetThisClass()\n3519 CRuntime* COleDispatchException::GetThisClass()\n3520 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3521 CRuntime* COleDocObjectItem::GetThisClass()\n3522 CRuntime* COleDocument::GetThisClass()\n3523 CRuntime* COleException::GetThisClass()\n3524 CRuntime* COleInsertDialog::GetThisClass()\n3525 CRuntime* COleIPFrameWnd::GetThisClass()\n3526 CRuntime* COleLinkingDoc::GetThisClass()\n3527 CRuntime* COleLinksDialog::GetThisClass()\n3528 CRuntime* COleObjectFactory::GetThisClass()\n3529 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3530 CRuntime* COlePropertiesDialog::GetThisClass()\n3531 CRuntime* COlePropertyPage::GetThisClass()\n3532 CRuntime* COleResizeBar::GetThisClass()\n3533 CRuntime* COleServerDoc::GetThisClass()\n3534 CRuntime* COleServerItem::GetThisClass()\n3535 CRuntime* COleStreamFile::GetThisClass()\n3536 CRuntime* COleUpdateDialog::GetThisClass()\n3537 CRuntime* CPageSetupDialog::GetThisClass()\n3538 CRuntime* CPaintDC::GetThisClass()\n3539 CRuntime* CPalette::GetThisClass()\n3540 CRuntime* CPen::GetThisClass()\n3541 CRuntime* CPreviewDC::GetThisClass()\n3542 CRuntime* CPreviewView::GetThisClass()\n3543 CRuntime* CPrintDialog::GetThisClass()\n3544 CRuntime* CPrintDialogEx::GetThisClass()\n3545 CRuntime* CProgressCtrl::GetThisClass()\n3546 CRuntime* CPropertyPage::GetThisClass()\n3547 CRuntime* CPropertySheet::GetThisClass()\n3548 CRuntime* CPtrArray::GetThisClass()\n3549 CRuntime* CPtrList::GetThisClass()\n3550 CRuntime* CReBar::GetThisClass()\n3551 CRuntime* CReBarCtrl::GetThisClass()\n3552 CRuntime* CRecordset::GetThisClass()\n3553 CRuntime* CRecordView::GetThisClass()\n3554 CRuntime* CResourceException::GetThisClass()\n3555 CRuntime* CRgn::GetThisClass()\n3556 CRuntime* CRichEditCntrItem::GetThisClass()\n3557 CRuntime* CRichEditCtrl::GetThisClass()\n3558 CRuntime* CRichEditDoc::GetThisClass()\n3559 CRuntime* CRichEditView::GetThisClass()\n3560 CRuntime* CScrollBar::GetThisClass()\n3561 CRuntime* CScrollView::GetThisClass()\n3562 CRuntime* CSemaphore::GetThisClass()\n3563 CRuntime* CSharedFile::GetThisClass()\n3564 CRuntime* CSingleDocTemplate::GetThisClass()\n3565 CRuntime* CSliderCtrl::GetThisClass()\n3566 CRuntime* CSocket::GetThisClass()\n3567 CRuntime* CSocketFile::GetThisClass()\n3568 CRuntime* CSpinButtonCtrl::GetThisClass()\n3569 CRuntime* CSplitterWnd::GetThisClass()\n3570 CRuntime* CStatic::GetThisClass()\n3571 CRuntime* CStatusBar::GetThisClass()\n3572 CRuntime* CStatusBarCtrl::GetThisClass()\n3573 CRuntime* CStdioFile::GetThisClass()\n3574 CRuntime* CStringArray::GetThisClass()\n3575 CRuntime* CStringList::GetThisClass()\n3576 CRuntime* CSyncObject::GetThisClass()\n3577 CRuntime* CTabCtrl::GetThisClass()\n3578 CRuntime* CToolBar::GetThisClass()\n3579 CRuntime* CToolBarCtrl::GetThisClass()\n3580 CRuntime* CToolTipCtrl::GetThisClass()\n3581 CRuntime* CTreeCtrl::GetThisClass()\n3582 CRuntime* CTreeView::GetThisClass()\n3583 CRuntime* CUIntArray::GetThisClass()\n3584 CRuntime* CUserException::GetThisClass()\n3585 CRuntime* CView::GetThisClass()\n3586 CRuntime* CWinApp::GetThisClass()\n3587 CRuntime* CWindowDC::GetThisClass()\n3588 CRuntime* CWindowlessDC::GetThisClass()\n3589 CRuntime* CWinThread::GetThisClass()\n3590 CRuntime* CWnd::GetThisClass()\n3591 CRuntime* CWordArray::GetThisClass()\n3592 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3593 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3594 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3595 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3596 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3597 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3598 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3599 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3600 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3601 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3602 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3603 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3604 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3605 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3606 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3607 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3608 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3609 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3610 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3611 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3612 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3613 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3614 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3615 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3616 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3617 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3618 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3619 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3620 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3621 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3622 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3623 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3624 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3625 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3626 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3627 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3628 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3629 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3630 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3631 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3632 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3633 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3634 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3635 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3636 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3637 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3638 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3639 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3640 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3641 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3642 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3643 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3644 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3645 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3646 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3647 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3648 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3649 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3650 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3651 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3652 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3653 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3654 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3655 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3656 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3657 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3658 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3659 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3660 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3661 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3662 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3663 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3664 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3665 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3666 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3667 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3668 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3669 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3670 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3671 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3672 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3673 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3674 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3675 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3676 AFX_MSGMAP const * CView::GetThisMessageMap()\n3677 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3678 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3679 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3680 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3681 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n3682 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3683 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3684 int CHtmlView::GetToolBar()const \n3685 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3686 long CHtmlView::GetTop()const \n3687 int CHtmlView::GetTopLevelContainer()const \n3688 CFrameWnd * CWnd::GetTopLevelFrame()const \n3689 CWnd * CWnd::GetTopLevelOwner()const \n3690 CWnd * CWnd::GetTopLevelParent()const \n3691 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3692 void CRectTracker::GetTrueRect(tagRECT *)const \n3693 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n3694 short CPictureHolder::GetType()\n3695 unsigned long CProperty::GetType()\n3696 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3697 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3698 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3699 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3700 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3701 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3702 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3703 unsigned int CCmdTarget::GetTypeInfoCount()\n3704 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3705 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3706 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3707 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3708 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3709 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3710 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3711 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3712 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3713 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3714 void COleSafeArray::GetUBound(unsigned long,long *)\n3715 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3716 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3717 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3718 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3719 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3720 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3721 void COleControl::GetUserType(wchar_t *)\n3722 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3723 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3724 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3725 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3726 void * CMapPtrToPtr::GetValueAt(void *)const \n3727 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n3728 unsigned long CDockState::GetVersion()\n3729 CHtmlEditView * CHtmlEditDoc::GetView()const \n3730 CRichEditView * CRichEditDoc::GetView()const \n3731 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3732 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3733 int CHtmlView::GetVisible()const \n3734 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3735 long CHtmlView::GetWidth()const \n3736 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3737 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3738 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3739 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3740 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3741 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3742 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3743 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3744 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3745 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3746 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3747 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3748 long CWnd::GetWindowedChildCount()\n3749 long CWnd::GetWindowLessChildCount()\n3750 IDropTarget * COleControl::GetWindowlessDropTarget()\n3751 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3752 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3753 int CWnd::GetWindowTextLengthW()const \n3754 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3755 int CWnd::GetWindowTextW(wchar_t *,int)const \n3756 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3757 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3758 long COleDropSource::GiveFeedback(unsigned long)\n3759 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3760 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3761 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3762 void CMemFile::GrowFile(unsigned long)\n3763 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3764 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3765 long CDialog::HandleInitDialog(unsigned int,long)\n3766 long CDialogBar::HandleInitDialog(unsigned int,long)\n3767 long CFormView::HandleInitDialog(unsigned int,long)\n3768 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3769 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3770 long CScrollView::HandleMButtonDown(unsigned int,long)\n3771 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3772 int COleControlContainer::HandleSetFocus()\n3773 long CDialog::HandleSetFont(unsigned int,long)\n3774 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3775 long COleControl::XPersistStorage::HandsOffStorage()\n3776 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3777 int COleDocument::HasBlankItems()const \n3778 int CDialogTemplate::HasFont()const \n3779 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3780 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n3781 void * CFile::hFileNull\n3782 void CWinApp::HideApplication()\n3783 void CFileDialog::HideControl(int)\n3784 long CBrowserControlSite::HideUI()\n3785 long CDHtmlDialog::HideUI()\n3786 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3787 void CDC::HIMETRICtoDP(tagSIZE *)const \n3788 void CDC::HIMETRICtoLP(tagSIZE *)const \n3789 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3790 int CRectTracker::HitTest(CPoint)const \n3791 int CSplitterWnd::HitTest(CPoint)const \n3792 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n3793 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3794 int CRectTracker::HitTestHandles(CPoint)const \n3795 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n3796 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n3797 int CSplitterWnd::IdFromRowCol(int,int)const \n3798 void COlePropertyPage::IgnoreApply(unsigned int)\n3799 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3800 int CWinApp::InitApplication()\n3801 long COleControl::XOleCache::InitCache(IDataObject *)\n3802 int CWnd::InitControlContainer()\n3803 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3804 long CPrintDialogEx::InitDone()\n3805 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3806 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3807 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3808 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3809 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3810 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3811 void CMapStringToOb::InitHashTable(unsigned int,int)\n3812 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3813 void CMapStringToString::InitHashTable(unsigned int,int)\n3814 void CMapWordToOb::InitHashTable(unsigned int,int)\n3815 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3816 long CDataSourceControl::Initialize()\n3817 void CDHtmlDialog::Initialize()\n3818 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3819 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3820 int CEditView::InitializeReplace()\n3821 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3822 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3823 int COleControlModule::InitInstance()\n3824 int CWinApp::InitInstance()\n3825 int CWinThread::InitInstance()\n3826 void CWinApp::InitLibId()\n3827 void CDockContext::InitLoop()\n3828 int CDialog::InitModalIndirect(void *,CWnd *)\n3829 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3830 long COleControl::XPersistMemory::InitNew()\n3831 long COleControl::XPersistPropertyBag::InitNew()\n3832 long COleControl::XPersistStorage::InitNew(IStorage *)\n3833 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3834 long COleControl::XPersistStreamInit::InitNew()\n3835 void CRecordset::InitRecord()\n3836 void COleControl::InitStockEventMask()\n3837 void COleControl::InitStockPropMask()\n3838 void CSimpleException::InitString()\n3839 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3840 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3841 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n3842 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n3843 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n3844 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n3845 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3846 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3847 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3848 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3849 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n3850 void CByteArray::InsertAt(int,unsigned char,int)\n3851 void CByteArray::InsertAt(int,CByteArray *)\n3852 void CDWordArray::InsertAt(int,unsigned long,int)\n3853 void CDWordArray::InsertAt(int,CDWordArray *)\n3854 void CObArray::InsertAt(int,CObArray *)\n3855 void CObArray::InsertAt(int,CObject *,int)\n3856 void CPtrArray::InsertAt(int,CPtrArray *)\n3857 void CPtrArray::InsertAt(int,void *,int)\n3858 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n3859 void CStringArray::InsertAt(int,CStringArray *)\n3860 void CStringArray::InsertAt(int,wchar_t const *,int)\n3861 void CUIntArray::InsertAt(int,unsigned int,int)\n3862 void CUIntArray::InsertAt(int,CUIntArray *)\n3863 void CWordArray::InsertAt(int,unsigned short,int)\n3864 void CWordArray::InsertAt(int,CWordArray *)\n3865 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3866 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3867 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3868 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n3869 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n3870 void CStringArray::InsertEmpty(int,int)\n3871 void CRichEditView::InsertFileAsObject(wchar_t const *)\n3872 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n3873 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n3874 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3875 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n3876 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n3877 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3878 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3879 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3880 CFontHolder & COleControl::InternalGetFont()\n3881 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n3882 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3883 unsigned long CCmdTarget::InternalRelease()\n3884 int CDC::IntersectClipRect(int,int,int,int)\n3885 int CDC::IntersectClipRect(tagRECT const *)\n3886 void CCheckListBox::InvalidateCheck(int)\n3887 void COleControl::InvalidateControl(tagRECT const *,int)\n3888 void CCheckListBox::InvalidateItem(int)\n3889 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3890 void COleControl::InvalidateRgn(CRgn *,int)\n3891 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3892 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3893 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3894 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3895 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3896 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3897 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3898 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3899 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3900 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3901 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3902 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3903 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3904 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3905 int CDocItem::IsBlank()const \n3906 int COleServerItem::IsBlank()const \n3907 int CPropertyPage::IsButtonEnabled(int)\n3908 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3909 int COleServerItem::IsConnected()const \n3910 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3911 int COleControlSite::IsDefaultButton()\n3912 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3913 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n3914 int CWnd::IsDialogMessageW(tagMSG *)\n3915 long CBlobProperty::IsDirty()\n3916 long COleLinkingDoc::XPersistFile::IsDirty()\n3917 long COleControl::XPersistMemory::IsDirty()\n3918 long COleControl::XPersistStorage::IsDirty()\n3919 long COleServerDoc::XPersistStorage::IsDirty()\n3920 long COleControl::XPersistStreamInit::IsDirty()\n3921 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3922 unsigned int CWnd::IsDlgButtonChecked(int)const \n3923 int CControlBar::IsDockBar()const \n3924 int CDockBar::IsDockBar()const \n3925 int CFileFind::IsDots()const \n3926 int CGopherFileFind::IsDots()const \n3927 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n3928 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n3929 int CCheckListBox::IsEnabled(int)\n3930 int CDHtmlDialog::IsExternalDispatchSafe()\n3931 int CRecordset::IsFieldDirty(void *)\n3932 int CRecordset::IsFieldNull(void *)\n3933 int CRecordset::IsFieldNullable(void *)\n3934 int CRecordset::IsFieldNullable(unsigned long)const \n3935 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3936 int CRecordset::IsFieldStatusNull(unsigned long)const \n3937 int CFieldExchange::IsFieldType(unsigned int *)\n3938 int CControlBar::IsFloating()const \n3939 int CFrameWnd::IsFrameWnd()const \n3940 int CWnd::IsFrameWnd()const \n3941 int IsHelpKey(tagMSG *)\n3942 int CWinThread::IsIdleMessage(tagMSG *)\n3943 int CCmdTarget::IsInvokeAllowed(long)\n3944 int COleControl::IsInvokeAllowed(long)\n3945 int CRecordset::IsJoin(wchar_t const *)\n3946 int CObject::IsKindOf(CRuntimeconst *)const \n3947 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3948 int COccManager::IsLabelControl(CWnd *)\n3949 int COleObjectFactory::IsLicenseValid()\n3950 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3951 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3952 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3953 int CHtmlEditDoc::IsModified()\n3954 int COleClientItem::IsModified()const \n3955 int COleControl::IsModified()\n3956 int COlePropertyPage::IsModified()\n3957 int CRichEditDoc::IsModified()\n3958 int CRecordView::IsOnFirstRecord()\n3959 int CRecordView::IsOnLastRecord()\n3960 int CRecordset::IsOpen()const \n3961 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3962 int CRecordset::IsParamStatusNull(unsigned long)const \n3963 int CRecordset::IsRecordsetUpdatable()\n3964 int CCmdTarget::IsResultExpected()\n3965 int CRichEditView::IsRichEditFormat(unsigned short)\n3966 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3967 int CRichEditView::IsSelected(CObject const *)const \n3968 int CView::IsSelected(CObject const *)const \n3969 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n3970 int CObject::IsSerializable()const \n3971 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3972 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3973 int CRecordset::IsSQLUpdatable(wchar_t const *)\n3974 int COleControl::IsSubclassedControl()\n3975 int CWnd::IsTopParentActive()const \n3976 int CFrameWnd::IsTracking()const \n3977 long CDocObjectServer::XOleObject::IsUpToDate()\n3978 long COleControl::XOleObject::IsUpToDate()\n3979 long COleServerDoc::XOleObject::IsUpToDate()\n3980 long COleServerItem::XOleObject::IsUpToDate()\n3981 int CControlBar::IsVisible()const \n3982 int COleControlSite::IsWindowEnabled()const \n3983 int CWnd::IsWindowEnabled()const \n3984 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3985 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3986 void COleControl::KeyDown(unsigned short *)\n3987 void COleControl::KeyUp(unsigned short *)\n3988 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3989 void CToolBar::Layout()\n3990 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n3991 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n3992 int CRichEditCtrl::LineIndex(int)const \n3993 int CRichEditCtrl::LineLength(int)const \n3994 void CRichEditCtrl::LineScroll(int,int)\n3995 int CDC::LineTo(int,int)\n3996 unsigned long CRichEditView::lMaxSize\n3997 long CBlobProperty::Load(IStream *)\n3998 int CDialogTemplate::Load(wchar_t const *)\n3999 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n4000 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4001 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4002 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4003 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4004 long COleControl::XPersistStorage::Load(IStorage *)\n4005 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4006 long COleControl::XPersistStreamInit::Load(IStream *)\n4007 int CFrameWnd::LoadAccelTable(wchar_t const *)\n4008 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n4009 void CFrameWnd::LoadBarState(wchar_t const *)\n4010 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n4011 int CToolBar::LoadBitmapW(wchar_t const *)\n4012 void CRecordset::LoadFields()\n4013 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4014 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4015 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4016 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4017 int CDHtmlDialog::LoadFromResource(unsigned int)\n4018 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n4019 int CHtmlView::LoadFromResource(unsigned int)\n4020 int CHtmlView::LoadFromResource(wchar_t const *)\n4021 void COleDocument::LoadFromStorage()\n4022 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n4023 void CDockState::LoadState(wchar_t const *)\n4024 long COleControl::LoadState(IStream *)\n4025 void CWinApp::LoadStdProfileSettings(unsigned int)\n4026 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n4027 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4028 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4029 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n4030 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4031 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4032 int CWinApp::LoadSysPolicies()\n4033 void CDocTemplate::LoadTemplate()\n4034 void CMultiDocTemplate::LoadTemplate()\n4035 int CToolBar::LoadToolBar(wchar_t const *)\n4036 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4037 void COleSafeArray::Lock()\n4038 int CSingleLock::Lock(unsigned long)\n4039 int CSyncObject::Lock(unsigned long)\n4040 void CTypeLibCache::Lock()\n4041 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n4042 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n4043 wchar_t const * CEditView::LockBuffer()const \n4044 long COleControlContainer::XOleContainer::LockContainer(int)\n4045 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4046 void COleLinkingDoc::LockExternal(int,int)\n4047 int COleControl::LockInPlaceActive(int)\n4048 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4049 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4050 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4051 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4052 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4053 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4054 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4055 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4056 long COleObjectFactory::XClassFactory::LockServer(int)\n4057 int CMapPtrToPtr::Lookup(void *,void * &)const \n4058 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4059 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n4060 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n4061 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4062 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4063 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4064 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4065 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4066 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4067 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4068 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n4069 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n4070 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n4071 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4072 void CDC::LPtoDP(tagSIZE *)const \n4073 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4074 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n4075 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n4076 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n4077 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n4078 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n4079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n4080 void CArchive::MapObject(CObject const *)\n4081 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4082 int COleDialog::MapResult(unsigned int)\n4083 long CPropertyPage::MapWizardResult(long)\n4084 void CRecordset::MarkForAddNew()\n4085 void CRecordset::MarkForUpdate()\n4086 void CRichEditDoc::MarkItemsClear()const \n4087 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n4088 int CFileFind::MatchesMask(unsigned long)const \n4089 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4090 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4091 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4092 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4093 void CListBox::MeasureItem(tagMEASUREITEM*)\n4094 void CMenu::MeasureItem(tagMEASUREITEM*)\n4095 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n4096 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4097 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4098 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4099 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4102 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4103 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4104 void CPreviewDC::MirrorAttributes()\n4105 void CPreviewDC::MirrorFont()\n4106 void CPreviewDC::MirrorMappingMode(int)\n4107 void CPreviewDC::MirrorViewportOrg()\n4108 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4109 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4110 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4111 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4112 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4113 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4114 void CDockContext::Move(CPoint)\n4115 void CRecordset::Move(long,unsigned short)\n4116 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4117 CPoint CDC::MoveTo(int,int)\n4118 void COleControlSite::MoveWindow(int,int,int,int)\n4119 void CWnd::MoveWindow(int,int,int,int,int)\n4120 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4121 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4122 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n4123 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4124 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n4125 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4126 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4127 unsigned int COleDropSource::nDragDelay\n4128 unsigned int COleDropSource::nDragMinDist\n4129 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4130 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4131 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4132 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4133 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4134 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n4135 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4136 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4137 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4138 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4139 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4140 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4141 unsigned int const CEditView::nMaxSize\n4142 int CRectTracker::NormalizeHit(int)const \n4143 void CDataBoundProperty::Notify()\n4144 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4145 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4146 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4147 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4148 void COleServerDoc::NotifyRename(wchar_t const *)\n4149 unsigned int COleDropTarget::nScrollDelay\n4150 int COleDropTarget::nScrollInset\n4151 unsigned int COleDropTarget::nScrollInterval\n4152 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n4153 int CDC::OffsetClipRgn(int,int)\n4154 int CDC::OffsetClipRgn(tagSIZE)\n4155 CPoint CDC::OffsetViewportOrg(int,int)\n4156 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4157 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4158 CPoint CDC::OffsetWindowOrg(int,int)\n4159 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4160 void CAsyncSocket::OnAccept(int)\n4161 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4162 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4163 void COleClientItem::OnActivate()\n4164 void COleFrameHook::OnActivate(int)\n4165 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4166 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4167 long COleControl::OnActivateInPlace(int,tagMSG *)\n4168 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4169 long CWnd::OnActivateTopLevel(unsigned int,long)\n4170 void COleClientItem::OnActivateUI()\n4171 long CDocObjectServer::OnActivateView()\n4172 void CFormView::OnActivateView(int,CView *,CView *)\n4173 void CPreviewView::OnActivateView(int,CView *,CView *)\n4174 void CRichEditView::OnActivateView(int,CView *,CView *)\n4175 void CView::OnActivateView(int,CView *,CView *)\n4176 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4177 void CConnectionPoint::OnAdvise(int)\n4178 void COleControl::XEventConnPt::OnAdvise(int)\n4179 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4180 void COleControl::OnAmbientPropertyChange(long)\n4181 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4182 void COleControl::OnAppearanceChanged()\n4183 void CWinApp::OnAppExit()\n4184 int CPropertyPage::OnApply()\n4185 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4186 void CDocObjectServer::OnApplyViewState(CArchive &)\n4187 void COleControl::OnBackColorChanged()\n4188 int CFrameWnd::OnBarCheck(unsigned int)\n4189 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4190 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4191 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4192 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4193 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n4194 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n4195 int COleDropSource::OnBeginDrag(CWnd *)\n4196 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4197 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4198 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4199 void COleControl::OnBorderStyleChanged()\n4200 void CRichEditView::OnBullet()\n4201 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4202 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4203 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4204 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4205 void CCommonDialog::OnCancel()\n4206 void CDialog::OnCancel()\n4207 void CPropertyPage::OnCancel()\n4208 void CRichEditView::OnCancelEditCntr()\n4209 void COleControl::OnCancelMode()\n4210 void CSplitterWnd::OnCancelMode()\n4211 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4212 long COleControl::XFontNotification::OnChanged(long)\n4213 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4214 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4215 void CRectTracker::OnChangedRect(CRect const &)\n4216 void CDocument::OnChangedViewList()\n4217 int COleClientItem::OnChangeItemPosition(CRect const &)\n4218 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4219 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4220 void CRichEditView::OnCharBold()\n4221 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4222 void CRichEditView::OnCharItalic()\n4223 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4224 void CRichEditView::OnCharUnderline()\n4225 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4226 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4227 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4228 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4229 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4230 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4231 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4232 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4233 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4234 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4235 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4236 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4237 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4238 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4239 void COleControl::OnClick(unsigned short)\n4240 CEnumArray * CEnumArray::OnClone()\n4241 CEnumArray * CEnumConnections::OnClone()\n4242 void CAsyncSocket::OnClose(int)\n4243 void CControlFrameWnd::OnClose()\n4244 void CFrameWnd::OnClose()\n4245 void CMiniDockFrameWnd::OnClose()\n4246 void COleControl::OnClose(unsigned long)\n4247 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4248 void CPropertySheet::OnClose()\n4249 void COleClientItem::XAdviseSink::OnClose()\n4250 void CDocObjectServer::OnCloseDocument()\n4251 void CDocument::OnCloseDocument()\n4252 void COleDocument::OnCloseDocument()\n4253 void COleLinkingDoc::OnCloseDocument()\n4254 void COleServerDoc::OnCloseDocument()\n4255 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4256 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4257 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4258 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4259 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4260 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4261 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4262 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4263 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4264 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4265 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4266 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4267 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4268 void CRichEditView::OnColorDefault()\n4269 int CColorDialog::OnColorOK()\n4270 void CRichEditView::OnColorPick(unsigned long)\n4271 int CFrameWnd::OnCommand(unsigned int,long)\n4272 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4273 int COlePropertyPage::OnCommand(unsigned int,long)\n4274 int CPropertySheet::OnCommand(unsigned int,long)\n4275 int CSplitterWnd::OnCommand(unsigned int,long)\n4276 int CWnd::OnCommand(unsigned int,long)\n4277 long CDialog::OnCommandHelp(unsigned int,long)\n4278 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4279 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4280 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4281 void CHtmlView::OnCommandStateChange(long,int)\n4282 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4283 void CAsyncSocket::OnConnect(int)\n4284 void CFrameWnd::OnContextHelp()\n4285 int COleFrameHook::OnContextHelp(int)\n4286 void COleIPFrameWnd::OnContextHelp()\n4287 void CWinApp::OnContextHelp()\n4288 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4289 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n4290 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n4291 int CEditView::OnCreate(tagCREATESTRUCTW *)\n4292 int CFormView::OnCreate(tagCREATESTRUCTW *)\n4293 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4294 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n4295 int COleControl::OnCreate(tagCREATESTRUCTW *)\n4296 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4297 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n4298 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n4299 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n4300 int CView::OnCreate(tagCREATESTRUCTW *)\n4301 int CCmdTarget::OnCreateAggregates()\n4302 int COleControl::OnCreateAggregates()\n4303 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4304 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4305 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4306 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4307 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n4308 CCmdTarget * COleObjectFactory::OnCreateObject()\n4309 CCmdTarget * COleTemplateServer::OnCreateObject()\n4310 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4311 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4312 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4313 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4314 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4315 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4316 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4317 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4318 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4319 int CDocManager::OnDDECommand(wchar_t *)\n4320 int CWinApp::OnDDECommand(wchar_t *)\n4321 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4322 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4323 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4324 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n4325 void COleClientItem::OnDeactivate()\n4326 void COleServerDoc::OnDeactivate()\n4327 void COleClientItem::OnDeactivateAndUndo()\n4328 void COleClientItem::OnDeactivateUI(int)\n4329 void COleServerDoc::OnDeactivateUI(int)\n4330 void CRichEditCntrItem::OnDeactivateUI(int)\n4331 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4332 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4333 void CControlBar::OnDestroy()\n4334 void CDHtmlDialog::OnDestroy()\n4335 void CEditView::OnDestroy()\n4336 void CFrameWnd::OnDestroy()\n4337 void CHtmlView::OnDestroy()\n4338 void CMDIChildWnd::OnDestroy()\n4339 void CMDIFrameWnd::OnDestroy()\n4340 void COleControl::OnDestroy()\n4341 void COleIPFrameWnd::OnDestroy()\n4342 void CRichEditView::OnDestroy()\n4343 void CTabCtrl::OnDestroy()\n4344 void CTreeCtrl::OnDestroy()\n4345 void CTreeView::OnDestroy()\n4346 void CView::OnDestroy()\n4347 void CWnd::OnDestroy()\n4348 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4349 void CRichEditView::OnDevModeChange(wchar_t *)\n4350 void CWnd::OnDevModeChange(wchar_t *)\n4351 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4352 void COleClientItem::OnDiscardUndoState()\n4353 void CSplitterWnd::OnDisplayChange()\n4354 long CWnd::OnDisplayChange(unsigned int,long)\n4355 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4356 int COleFrameHook::OnDocActivate(int)\n4357 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n4358 void CHtmlView::OnDocumentComplete(wchar_t const *)\n4359 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4360 long CBrowserControlSite::OnDocWindowActivate(int)\n4361 long CDHtmlDialog::OnDocWindowActivate(int)\n4362 long CHtmlView::OnDocWindowActivate(int)\n4363 void COleServerDoc::OnDocWindowActivate(int)\n4364 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4365 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4366 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4367 void CDocObjectServerItem::OnDoVerb(long)\n4368 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4369 void COleServerItem::OnDoVerb(long)\n4370 void CHtmlView::OnDownloadBegin()\n4371 void CHtmlView::OnDownloadComplete()\n4372 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4373 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4374 void COleDropTarget::OnDragLeave(CWnd *)\n4375 void CView::OnDragLeave()\n4376 long CWnd::OnDragList(unsigned int,long)\n4377 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4378 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4379 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4380 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4381 void CCtrlView::OnDraw(CDC *)\n4382 void CFormView::OnDraw(CDC *)\n4383 void CHtmlView::OnDraw(CDC *)\n4384 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4385 void CPreviewView::OnDraw(CDC *)\n4386 void CView::OnDraw(CDC *)\n4387 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4388 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4389 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4390 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4391 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4392 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4393 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4394 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4395 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4396 void CFrameWnd::OnDropFiles(HDROP__ *)\n4397 void CRichEditView::OnDropFiles(HDROP__ *)\n4398 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4399 int CEditView::OnEditChange()\n4400 void COleDocument::OnEditChangeIcon()\n4401 void CEditView::OnEditClear()\n4402 void CRichEditView::OnEditClear()\n4403 void COleDocument::OnEditConvert()\n4404 void CEditView::OnEditCopy()\n4405 void CHtmlView::OnEditCopy()\n4406 void CRichEditView::OnEditCopy()\n4407 void CEditView::OnEditCut()\n4408 void CHtmlView::OnEditCut()\n4409 void CRichEditView::OnEditCut()\n4410 void CEditView::OnEditFind()\n4411 void CRichEditView::OnEditFind()\n4412 void CEditView::OnEditFindReplace(int)\n4413 void CRichEditView::OnEditFindReplace(int)\n4414 void COleDocument::OnEditLinks()\n4415 void CEditView::OnEditPaste()\n4416 void CHtmlView::OnEditPaste()\n4417 void CRichEditView::OnEditPaste()\n4418 void CRichEditView::OnEditPasteSpecial()\n4419 void CRichEditView::OnEditProperties()\n4420 int COlePropertyPage::OnEditProperty(long)\n4421 void CRichEditView::OnEditRedo()\n4422 void CEditView::OnEditRepeat()\n4423 void CRichEditView::OnEditRepeat()\n4424 void CEditView::OnEditReplace()\n4425 void CRichEditView::OnEditReplace()\n4426 void CEditView::OnEditSelectAll()\n4427 void CRichEditView::OnEditSelectAll()\n4428 void CEditView::OnEditUndo()\n4429 void CRichEditView::OnEditUndo()\n4430 void CFrameWnd::OnEnable(int)\n4431 void CToolTipCtrl::OnEnable(int)\n4432 void COleControl::OnEnabledChanged()\n4433 long CHtmlView::OnEnableModeless(int)\n4434 void COleFrameHook::OnEnableModeless(int)\n4435 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4436 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4437 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4438 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4439 void CFrameWnd::OnEndSession(int)\n4440 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4441 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4442 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4443 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4444 int CFrameWnd::OnEraseBkgnd(CDC *)\n4445 int COleControl::OnEraseBkgnd(CDC *)\n4446 int COleResizeBar::OnEraseBkgnd(CDC *)\n4447 int CPreviewView::OnEraseBkgnd(CDC *)\n4448 int CReBar::OnEraseBkgnd(CDC *)\n4449 int CToolBar::OnEraseBkgnd(CDC *)\n4450 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4451 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4452 int COleControlSite::OnEvent(AFX_EVENT *)\n4453 void COleControl::OnEventAdvise(int)\n4454 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4455 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4456 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4457 void CDocument::OnFileClose()\n4458 void CFileDialog::OnFileNameChange()\n4459 int CFileDialog::OnFileNameOK()\n4460 void CDocManager::OnFileNew()\n4461 void CWinApp::OnFileNew()\n4462 void CDocManager::OnFileOpen()\n4463 void CWinApp::OnFileOpen()\n4464 void CHtmlView::OnFilePrint()\n4465 void CView::OnFilePrint()\n4466 void CView::OnFilePrintPreview()\n4467 void CWinApp::OnFilePrintSetup()\n4468 void CDocument::OnFileSave()\n4469 void CDocument::OnFileSaveAs()\n4470 void COleServerDoc::OnFileSaveCopyAs()\n4471 void CDocument::OnFileSendMail()\n4472 void COleDocument::OnFileSendMail()\n4473 void COleServerDoc::OnFileUpdate()\n4474 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4475 void CCmdTarget::OnFinalRelease()\n4476 void CDocument::OnFinalRelease()\n4477 void COleControl::OnFinalRelease()\n4478 void COlePropertyPage::OnFinalRelease()\n4479 void COleServerItem::OnFinalRelease()\n4480 void CWnd::OnFinalRelease()\n4481 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n4482 void CEditView::OnFindNext(wchar_t const *,int,int)\n4483 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n4484 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4485 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4486 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4487 long COleControlSite::XOleControlSite::OnFocus(int)\n4488 void CFileDialog::OnFolderChange()\n4489 void COleControl::OnFontChanged()\n4490 void COleControl::OnForeColorChanged()\n4491 void CRichEditView::OnFormatFont()\n4492 void COleControl::OnFrameClose()\n4493 long CBrowserControlSite::OnFrameWindowActivate(int)\n4494 long CDHtmlDialog::OnFrameWindowActivate(int)\n4495 long CHtmlView::OnFrameWindowActivate(int)\n4496 void COleServerDoc::OnFrameWindowActivate(int)\n4497 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4498 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4499 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4500 void COleControl::OnFreezeEvents(int)\n4501 void CHtmlView::OnFullScreen(int)\n4502 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4503 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4504 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4505 void COleClientItem::OnGetClipRect(CRect &)\n4506 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4507 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4508 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4509 unsigned int COleControl::OnGetDlgCode()\n4510 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4511 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4512 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4513 long CHtmlView::OnGetExternal(IDispatch * *)\n4514 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4515 HMENU__ * COleControl::OnGetInPlaceMenu()\n4516 void COleClientItem::OnGetItemPosition(CRect &)\n4517 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4518 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n4519 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n4520 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4521 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4522 long CWnd::OnGetObject(unsigned int,long)\n4523 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4524 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4525 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4526 long CStatusBar::OnGetText(unsigned int,long)\n4527 long CStatusBar::OnGetTextLength(unsigned int,long)\n4528 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4529 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4530 unsigned long COleControl::OnGetViewStatus()\n4531 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4532 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4533 void CFrameWnd::OnHelp()\n4534 int COlePropertyPage::OnHelp(wchar_t const *)\n4535 void CWinApp::OnHelp()\n4536 void CWnd::OnHelp()\n4537 void CWinApp::OnHelpFinder()\n4538 void CWnd::OnHelpFinder()\n4539 long CControlBar::OnHelpHitTest(unsigned int,long)\n4540 long CDialog::OnHelpHitTest(unsigned int,long)\n4541 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4542 void CWinApp::OnHelpIndex()\n4543 void CWnd::OnHelpIndex()\n4544 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4545 int CWnd::OnHelpInfo(tagHELPINFO *)\n4546 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4547 void CWinApp::OnHelpUsing()\n4548 void CWnd::OnHelpUsing()\n4549 void CDocObjectServerItem::OnHide()\n4550 long COleControl::OnHide()\n4551 void COleServerItem::OnHide()\n4552 void COleControl::OnHideToolBars()\n4553 long CHtmlView::OnHideUI()\n4554 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4555 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4556 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4557 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4558 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4559 void CDocTemplate::OnIdle()\n4560 void CDocument::OnIdle()\n4561 void COleDocument::OnIdle()\n4562 int CWinApp::OnIdle(long)\n4563 int CWinThread::OnIdle(long)\n4564 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4565 void CFrameWnd::OnIdleUpdateCmdUI()\n4566 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4567 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4568 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4569 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4570 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4571 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4572 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4573 int CDHtmlDialog::OnInitDialog()\n4574 int CDialog::OnInitDialog()\n4575 int COlePropertiesDialog::OnInitDialog()\n4576 int COlePropertyPage::OnInitDialog()\n4577 int CPropertySheet::OnInitDialog()\n4578 void CFileDialog::OnInitDone()\n4579 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4580 void CControlBar::OnInitialUpdate()\n4581 void CFormView::OnInitialUpdate()\n4582 void COleDBRecordView::OnInitialUpdate()\n4583 void CRecordView::OnInitialUpdate()\n4584 void CRichEditView::OnInitialUpdate()\n4585 void CView::OnInitialUpdate()\n4586 void CFrameWnd::OnInitMenu(CMenu *)\n4587 void COleFrameHook::OnInitMenu(CMenu *)\n4588 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4589 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4590 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4591 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4592 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4593 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4594 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4595 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4596 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4597 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4598 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4599 void CRichEditView::OnInsertObject()\n4600 void CSplitterWnd::OnInvertTracker(CRect const &)\n4601 void CDockContext::OnKey(int,int)\n4602 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4603 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4604 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4605 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4606 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4607 void COleControl::OnKeyPressEvent(unsigned short)\n4608 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4609 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4610 long CPropertySheet::OnKickIdle(unsigned int,long)\n4611 int CPropertyPage::OnKillActive()\n4612 void COleControl::OnKillFocus(CWnd *)\n4613 long CCheckListBox::OnLBAddString(unsigned int,long)\n4614 long CCheckListBox::OnLBFindString(unsigned int,long)\n4615 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4616 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4617 long CCheckListBox::OnLBGetText(unsigned int,long)\n4618 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4619 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4620 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4621 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4622 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4623 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4624 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4625 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4626 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4627 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4628 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4629 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4630 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4631 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4632 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4633 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4634 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4635 void CAsyncMonikerFile::OnLowResource()\n4636 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4637 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4638 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4639 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4640 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4641 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4642 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4643 void CHtmlView::OnMenuBar(int)\n4644 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4645 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4646 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4647 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4648 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4649 int CSocket::OnMessagePending()\n4650 void COleControl::OnMnemonic(tagMSG *)\n4651 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4652 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4653 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4654 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4655 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4656 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4657 void COleControl::OnMouseMove(unsigned int,CPoint)\n4658 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4659 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4660 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4661 void COleControl::OnMove(int,int)\n4662 int COleDBRecordView::OnMove(unsigned int)\n4663 int CRecordView::OnMove(unsigned int)\n4664 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4665 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4666 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n4667 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n4668 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n4669 int CFrameWnd::OnNcActivate(int)\n4670 int CMDIChildWnd::OnNcActivate(int)\n4671 int CMiniFrameWnd::OnNcActivate(int)\n4672 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4673 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4674 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4675 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4676 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4677 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n4678 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n4679 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n4680 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n4681 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n4682 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n4683 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n4684 void CListCtrl::OnNcDestroy()\n4685 void CListView::OnNcDestroy()\n4686 void CWnd::OnNcDestroy()\n4687 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n4688 unsigned int COleControl::OnNcHitTest(CPoint)\n4689 unsigned int CStatusBar::OnNcHitTest(CPoint)\n4690 unsigned int CToolBar::OnNcHitTest(CPoint)\n4691 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4692 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4693 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4694 void CDockBar::OnNcPaint()\n4695 void COleControl::OnNcPaint()\n4696 void CReBar::OnNcPaint()\n4697 void CStatusBar::OnNcPaint()\n4698 void CToolBar::OnNcPaint()\n4699 int CDocument::OnNewDocument()\n4700 int CHtmlEditDoc::OnNewDocument()\n4701 int COleDocument::OnNewDocument()\n4702 int COleLinkingDoc::OnNewDocument()\n4703 void COleServerDoc::OnNewEmbedding(IStorage *)\n4704 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4705 int CEnumArray::OnNext(void *)\n4706 int CEnumConnections::OnNext(void *)\n4707 int CEnumConnPoints::OnNext(void *)\n4708 int CEnumFormatEtc::OnNext(void *)\n4709 int CEnumOleVerb::OnNext(void *)\n4710 int CEnumUnknown::OnNext(void *)\n4711 void CPreviewView::OnNextPage()\n4712 int CView::OnNextPaneCmd(unsigned int)\n4713 int CFileDialog::OnNotify(unsigned int,long,long *)\n4714 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4715 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4716 int CWnd::OnNotify(unsigned int,long,long *)\n4717 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4718 long CWnd::OnNTCtlColor(unsigned int,long)\n4719 void CPreviewView::OnNumPageChange()\n4720 void COlePropertyPage::OnObjectsChanged()\n4721 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4722 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4723 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4724 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4725 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4726 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4727 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4728 void CCommonDialog::OnOK()\n4729 void CDialog::OnOK()\n4730 void CPropertyPage::OnOK()\n4731 long COleControl::OnOpen(int,tagMSG *)\n4732 void COleServerItem::OnOpen()\n4733 int CDocument::OnOpenDocument(wchar_t const *)\n4734 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n4735 int COleDocument::OnOpenDocument(wchar_t const *)\n4736 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n4737 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4738 int CWinApp::OnOpenRecentFile(unsigned int)\n4739 void CAsyncSocket::OnOutOfBandData(int)\n4740 void CCommonDialog::OnPaint()\n4741 void CControlBar::OnPaint()\n4742 void CCtrlView::OnPaint()\n4743 void CDialog::OnPaint()\n4744 void CDockBar::OnPaint()\n4745 void CHtmlEditView::OnPaint()\n4746 void CHtmlView::OnPaint()\n4747 void COleControl::OnPaint(CDC *)\n4748 int COleControlContainer::OnPaint(CDC *)\n4749 void COleResizeBar::OnPaint()\n4750 void CReBar::OnPaint()\n4751 void CSplitterWnd::OnPaint()\n4752 void CStatusBar::OnPaint()\n4753 void CToolBar::OnPaint()\n4754 void CView::OnPaint()\n4755 void CWnd::OnPaint()\n4756 void CFrameWnd::OnPaletteChanged(CWnd *)\n4757 void COleFrameHook::OnPaletteChanged(CWnd *)\n4758 void CRichEditView::OnParaAlign(unsigned short)\n4759 void CRichEditView::OnParaCenter()\n4760 void CRichEditView::OnParaLeft()\n4761 void CRichEditView::OnParaRight()\n4762 void CWnd::OnParentNotify(unsigned int,long)\n4763 int CRichEditView::OnPasteNativeObject(IStorage *)\n4764 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4765 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4766 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4767 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4768 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4769 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4770 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4771 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4772 int CEditView::OnPreparePrinting(CPrintInfo *)\n4773 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4774 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4775 int CView::OnPreparePrinting(CPrintInfo *)\n4776 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4777 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4778 void CPreviewView::OnPreviewClose()\n4779 void CPreviewView::OnPreviewPrint()\n4780 void CPreviewView::OnPrevPage()\n4781 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4782 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4783 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4784 void CView::OnPrint(CDC *,CPrintInfo *)\n4785 void CRichEditView::OnPrinterChanged(CDC const &)\n4786 void CPrintDialog::OnPrintSetup()\n4787 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n4788 void CHtmlView::OnProgressChange(long,long)\n4789 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4790 void CHtmlView::OnPropertyChange(wchar_t const *)\n4791 int CPropertyPage::OnQueryCancel()\n4792 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4793 int CFrameWnd::OnQueryEndSession()\n4794 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4795 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4796 int CFrameWnd::OnQueryNewPalette()\n4797 int COleFrameHook::OnQueryNewPalette()\n4798 int COleServerItem::OnQueryUpdateItems()\n4799 void CHtmlView::OnQuit()\n4800 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4801 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4802 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4803 int COleServerDoc::OnReactivateAndUndo()\n4804 void COleFrameHook::OnRecalcLayout()\n4805 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4806 void CReBar::OnRecalcParent()\n4807 void CAsyncSocket::OnReceive(int)\n4808 void COleControl::OnReflectorDestroyed()\n4809 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4810 void COleClientItem::OnRemoveMenus(CMenu *)\n4811 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4812 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4813 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4814 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4815 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4816 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4817 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4818 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4819 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4820 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4821 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4822 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4823 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4824 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4825 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4826 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4827 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4828 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n4829 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n4830 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n4831 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n4832 long COleControl::XFontNotification::OnRequestEdit(long)\n4833 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4834 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4835 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4836 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4837 void CEnumArray::OnReset()\n4838 void CPropertyPage::OnReset()\n4839 void COleControl::OnResetState()\n4840 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4841 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4842 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4843 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4844 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4845 void COleClientItem::XAdviseSink::OnSave()\n4846 int CDocument::OnSaveDocument(wchar_t const *)\n4847 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n4848 int COleDocument::OnSaveDocument(wchar_t const *)\n4849 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n4850 int COleServerDoc::OnSaveDocument(wchar_t const *)\n4851 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4852 void COleServerItem::OnSaveEmbedding(IStorage *)\n4853 void CDocObjectServer::OnSaveViewState(CArchive &)\n4854 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4855 int CView::OnScroll(unsigned int,unsigned int,int)\n4856 int COleClientItem::OnScrollBy(CSize)\n4857 int CScrollView::OnScrollBy(CSize,int)\n4858 int CView::OnScrollBy(CSize,int)\n4859 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4860 void CAsyncSocket::OnSend(int)\n4861 int CPropertyPage::OnSetActive()\n4862 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4863 long CToolBar::OnSetButtonSize(unsigned int,long)\n4864 void COleControl::OnSetClientSite()\n4865 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4866 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4867 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4868 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4869 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4870 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4871 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4872 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4873 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4874 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4875 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4876 long CPropertySheet::OnSetDefID(unsigned int,long)\n4877 int COleControl::OnSetExtent(tagSIZE *)\n4878 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4879 void CFormView::OnSetFocus(CWnd *)\n4880 void CFrameWnd::OnSetFocus(CWnd *)\n4881 void COleControl::OnSetFocus(CWnd *)\n4882 void CWnd::OnSetFocus(CWnd *)\n4883 long CCheckListBox::OnSetFont(unsigned int,long)\n4884 void CDialog::OnSetFont(CFont *)\n4885 long CEditView::OnSetFont(unsigned int,long)\n4886 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n4887 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4888 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4889 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4890 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4891 long COleControl::OnSetMessageString(unsigned int,long)\n4892 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4893 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4894 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4895 void CDatabase::OnSetOptions(void *)\n4896 void CRecordset::OnSetOptions(void *)\n4897 void COlePropertyPage::OnSetPageSite()\n4898 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4899 long CToolBar::OnSetSizeHelper(CSize &,long)\n4900 long COleControl::OnSetText(unsigned int,long)\n4901 long CStatusBar::OnSetText(unsigned int,long)\n4902 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n4903 void CRecordset::OnSetUpdateOptions(void *)\n4904 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n4905 void CDocObjectServerItem::OnShow()\n4906 void COleServerItem::OnShow()\n4907 long CReBar::OnShowBand(unsigned int,long)\n4908 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4909 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4910 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4911 void COleServerDoc::OnShowDocument(int)\n4912 void COleClientItem::OnShowItem()\n4913 void COleControl::OnShowToolBars()\n4914 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4915 void COleDocument::OnShowViews(int)\n4916 void COleLinkingDoc::OnShowViews(int)\n4917 void COleControl::OnShowWindow(int,unsigned int)\n4918 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4919 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4920 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4921 void CFrameWnd::OnSize(unsigned int,int,int)\n4922 void CHtmlView::OnSize(unsigned int,int,int)\n4923 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4924 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4925 void COleControl::OnSize(unsigned int,int,int)\n4926 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4927 void COleResizeBar::OnSize(unsigned int,int,int)\n4928 void CPreviewView::OnSize(unsigned int,int,int)\n4929 void CScrollView::OnSize(unsigned int,int,int)\n4930 void CSplitterWnd::OnSize(unsigned int,int,int)\n4931 void CStatusBar::OnSize(unsigned int,int,int)\n4932 long CControlBar::OnSizeParent(unsigned int,long)\n4933 long CDockBar::OnSizeParent(unsigned int,long)\n4934 long COleResizeBar::OnSizeParent(unsigned int,long)\n4935 int CEnumArray::OnSkip()\n4936 long CSocketWnd::OnSocketDead(unsigned int,long)\n4937 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4938 int CView::OnSplitCmd(unsigned int)\n4939 void CAsyncMonikerFile::OnStartBinding()\n4940 void CHtmlView::OnStatusBar(int)\n4941 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4942 void CHtmlView::OnStatusTextChange(wchar_t const *)\n4943 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n4944 void CToolBar::OnSysColorChange()\n4945 void CWnd::OnSysColorChange()\n4946 void CFrameWnd::OnSysCommand(unsigned int,long)\n4947 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4948 void CPropertySheet::OnSysCommand(unsigned int,long)\n4949 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4950 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4951 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4952 void COleControl::OnTextChanged()\n4953 void CEditView::OnTextNotFound(wchar_t const *)\n4954 void CRichEditView::OnTextNotFound(wchar_t const *)\n4955 void CHtmlView::OnTheaterMode(int)\n4956 void CControlBar::OnTimer(unsigned int)\n4957 void CHtmlView::OnTitleChange(wchar_t const *)\n4958 void CHtmlView::OnToolBar(int)\n4959 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4960 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4961 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4962 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4963 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4964 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4965 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4966 void CFileDialog::OnTypeChange()\n4967 void COleControlContainer::OnUIActivate(COleControlSite *)\n4968 long COleClientItem::XOleIPSite::OnUIActivate()\n4969 long COleControlSite::XOleIPSite::OnUIActivate()\n4970 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4971 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4972 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4973 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4974 void CView::OnUpdate(CView *,long,CObject *)\n4975 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4976 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4977 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4978 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4979 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4980 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4981 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4982 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4983 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4984 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4985 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4986 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4987 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4988 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4989 int COleServerDoc::OnUpdateDocument()\n4990 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4991 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4992 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4993 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n4994 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n4995 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n4996 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n4997 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n4998 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4999 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5000 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5001 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5002 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5003 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5004 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5005 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5006 void CFrameWnd::OnUpdateFrameTitle(int)\n5007 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5008 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5009 int COleClientItem::OnUpdateFrameTitle()\n5010 int COleFrameHook::OnUpdateFrameTitle()\n5011 void COleServerItem::OnUpdateItems()\n5012 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5013 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5014 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5015 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5016 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5017 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5018 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5019 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5020 void CEditView::OnUpdateNeedText(CCmdUI *)\n5021 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5022 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5023 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5024 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5025 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5026 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5027 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5028 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5029 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5030 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5031 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5032 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5033 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5034 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5035 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5036 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5037 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5038 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5039 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5040 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5041 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5042 void CView::OnUpdateSplitCmd(CCmdUI *)\n5043 long CHtmlView::OnUpdateUI()\n5044 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5045 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5046 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5047 void CHtmlView::OnVisible(int)\n5048 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5049 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5050 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5051 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5052 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5053 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5054 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5055 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5056 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5057 void CMDIFrameWnd::OnWindowNew()\n5058 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5059 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5060 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5061 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5062 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5063 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5064 long CPropertyPage::OnWizardBack()\n5065 int CPropertyPage::OnWizardFinish()\n5066 long CPropertyPage::OnWizardNext()\n5067 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5068 void CPreviewView::OnZoomIn()\n5069 void CPreviewView::OnZoomOut()\n5070 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5071 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5072 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5073 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5074 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n5075 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n5076 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n5077 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n5078 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n5079 int CDataPathProperty::Open(CFileException *)\n5080 int CDataPathProperty::Open(COleControl *,CFileException *)\n5081 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n5082 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n5083 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n5084 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n5085 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5086 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5087 int CMonikerFile::Open(IMoniker *,CFileException *)\n5088 int CMonikerFile::Open(wchar_t const *,CFileException *)\n5089 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n5090 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n5091 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n5092 long CDocObjectServer::XOleDocumentView::Open()\n5093 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n5094 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5095 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5096 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n5097 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n5098 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n5099 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n5100 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5101 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5102 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5103 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n5104 int CHtmlEditDoc::OpenURL(wchar_t const *)\n5105 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n5106 int CFileException::OsErrorToException(long)\n5107 void CDumpContext::OutputString(wchar_t const *)\n5108 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5109 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5110 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5111 int CWnd::PaintWindowlessControls(CDC *)\n5112 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5113 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5114 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n5115 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5116 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5117 void CCommandLineInfo::ParseLast(int)\n5118 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n5119 void CCommandLineInfo::ParseParam(char const *,int,int)\n5120 void CCommandLineInfo::ParseParamFlag(char const *)\n5121 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n5122 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5123 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5124 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n5125 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n5126 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5127 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5128 int CDC::PlayMetaFile(HMETAFILE__ *)\n5129 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n5130 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n5131 int CDC::PolyBezierTo(tagPOINT const *,int)\n5132 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5133 int CDC::PolylineTo(tagPOINT const *,int)\n5134 void CPreviewView::PositionPage(unsigned int)\n5135 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5136 int CMonikerFile::PostBindToStream(CFileException *)\n5137 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5138 void CDialog::PostModal()\n5139 void CPrintDialogEx::PostModal()\n5140 void COleControl::PostModalDialog(HWND__ *)\n5141 void CControlBar::PostNcDestroy()\n5142 void CControlFrameWnd::PostNcDestroy()\n5143 void CFindReplaceDialog::PostNcDestroy()\n5144 void CFrameWnd::PostNcDestroy()\n5145 void COleCntrFrameWnd::PostNcDestroy()\n5146 void CReflectorWnd::PostNcDestroy()\n5147 void CView::PostNcDestroy()\n5148 void CWnd::PostNcDestroy()\n5149 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5150 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5151 void CRecordset::PreBindFields()\n5152 void CDocument::PreCloseFrame(CFrameWnd *)\n5153 void COleDocument::PreCloseFrame(CFrameWnd *)\n5154 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5155 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5156 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5157 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n5158 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5159 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n5160 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5161 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5162 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n5163 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n5164 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5165 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5166 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5167 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5168 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n5169 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n5170 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n5171 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5172 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5173 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5174 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5175 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5176 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5177 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n5178 void CDialog::PreInitDialog()\n5179 void COleChangeSourceDialog::PreInitDialog()\n5180 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5181 HWND__ * CDialog::PreModal()\n5182 HWND__ * CPrintDialogEx::PreModal()\n5183 void COleControl::PreModalDialog(HWND__ *)\n5184 void CRecordset::PrepareAndExecute()\n5185 HWND__ * CDataExchange::PrepareCtrl(int)\n5186 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5187 void CWnd::PrepareForHelp()\n5188 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5189 void CRecordset::PrepareUpdateHstmt()\n5190 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5191 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5192 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5193 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5194 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n5195 void CDragListBox::PreSubclassWindow()\n5196 void CWnd::PreSubclassWindow()\n5197 int CWnd::PreTranslateInput(tagMSG *)\n5198 int CControlBar::PreTranslateMessage(tagMSG *)\n5199 int CDialog::PreTranslateMessage(tagMSG *)\n5200 int CFormView::PreTranslateMessage(tagMSG *)\n5201 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5202 int CHtmlView::PreTranslateMessage(tagMSG *)\n5203 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5204 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5205 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5206 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5207 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5208 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5209 int CWinThread::PreTranslateMessage(tagMSG *)\n5210 int CWnd::PreTranslateMessage(tagMSG *)\n5211 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5212 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5213 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5214 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5215 long CRichEditView::PrintPage(CDC *,long,long)\n5216 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5217 long COleException::Process(CException const *)\n5218 int CSocket::ProcessAuxQueue()\n5219 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5220 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5221 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5222 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5223 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5224 void COleSafeArray::PtrOfIndex(long *,void * *)\n5225 int CMetaFileDC::PtVisible(int,int)const \n5226 int CWinThread::PumpMessage()\n5227 int CSocket::PumpMessages(unsigned int)\n5228 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n5229 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5230 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5231 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5232 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5233 void COleSafeArray::PutElement(long *,void *)\n5234 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n5235 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n5236 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n5237 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n5238 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n5239 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n5240 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5241 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n5242 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n5243 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n5244 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5245 int PX_Double(CPropExchange *,wchar_t const *,double &)\n5246 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n5247 int PX_Float(CPropExchange *,wchar_t const *,float &)\n5248 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n5249 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5250 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n5251 int PX_Long(CPropExchange *,wchar_t const *,long &)\n5252 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n5253 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n5254 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n5255 int PX_Short(CPropExchange *,wchar_t const *,short &)\n5256 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n5257 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5258 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n5259 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5260 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n5261 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5262 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n5263 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n5264 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5265 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5266 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5267 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5268 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5269 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5270 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5271 void * COleControl::QueryDefHandler(_GUID const &)\n5272 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5273 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5274 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5275 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5276 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5277 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5278 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5279 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5280 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n5281 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5282 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5283 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5284 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5285 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5286 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5287 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5288 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5289 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5290 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5291 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5292 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5293 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5294 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5295 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5296 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5297 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5298 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5299 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5300 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5301 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5302 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5303 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5304 long CPropertyPage::QuerySiblings(unsigned int,long)\n5305 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5306 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5307 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5308 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5309 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5310 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n5311 int COleControlSite::QuickActivate()\n5312 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5313 int COleClientItem::ReactivateAndUndo()\n5314 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5315 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5316 unsigned int CArchive::Read(void *,unsigned int)\n5317 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5318 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5319 unsigned int CFile::Read(void *,unsigned int)\n5320 int CImageList::Read(CArchive *)\n5321 unsigned int CInternetFile::Read(void *,unsigned int)\n5322 unsigned int CMemFile::Read(void *,unsigned int)\n5323 unsigned int COleStreamFile::Read(void *,unsigned int)\n5324 unsigned int CSocketFile::Read(void *,unsigned int)\n5325 unsigned int CStdioFile::Read(void *,unsigned int)\n5326 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5327 unsigned long CArchive::ReadCount()\n5328 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5329 int CProperty::ReadFromStream(IStream *)\n5330 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5331 int CPropertySet::ReadFromStream(IStream *)\n5332 void COleClientItem::ReadItem(CArchive &)\n5333 void COleClientItem::ReadItemCompound(CArchive &)\n5334 void COleClientItem::ReadItemFlat(CArchive &)\n5335 void CRecentFileList::ReadList()\n5336 int CPropertySection::ReadNameDictFromStream(IStream *)\n5337 CObject * CArchive::ReadObject(CRuntimeconst *)\n5338 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5339 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n5340 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5341 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n5342 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5343 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n5344 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5345 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5346 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5347 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5348 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5349 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5350 void CRecordset::RebindParams(void *)\n5351 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5352 void CFrameWnd::RecalcLayout(int)\n5353 void CMiniDockFrameWnd::RecalcLayout(int)\n5354 void COleCntrFrameWnd::RecalcLayout(int)\n5355 void COleDocIPFrameWnd::RecalcLayout(int)\n5356 void COleIPFrameWnd::RecalcLayout(int)\n5357 void CSplitterWnd::RecalcLayout()\n5358 int CAsyncSocket::Receive(void *,int,int)\n5359 int CSocket::Receive(void *,int,int)\n5360 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n5361 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5362 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5363 void COleControl::RecreateControlWindow()\n5364 CRect const CFrameWnd::rectDefault\n5365 int CMetaFileDC::RectVisible(tagRECT const *)const \n5366 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5367 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5368 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5369 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5370 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5371 void COleControl::Refresh()\n5372 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5373 int COleDropTarget::Register(CWnd *)\n5374 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n5375 int COleMessageFilter::Register()\n5376 int COleObjectFactory::Register()\n5377 int COleTemplateServer::Register()\n5378 int CWinApp::Register()\n5379 int COleObjectFactory::RegisterAll()\n5380 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n5381 void CDocManager::RegisterShellFileTypes(int)\n5382 void CWinApp::RegisterShellFileTypes(int)\n5383 unsigned long CArchiveStream::Release()\n5384 unsigned long CBlobProperty::Release()\n5385 unsigned long CBrowserControlSite::Release()\n5386 unsigned long CDHtmlControlSink::Release()\n5387 unsigned long CDHtmlElementEventSink::Release()\n5388 unsigned long CDHtmlEventSink::Release()\n5389 unsigned long CInnerUnknown::Release()\n5390 void COleClientItem::Release(enum tagOLECLOSE)\n5391 unsigned long COleConnPtContainer::Release()\n5392 void COleDataObject::Release()\n5393 unsigned long COleDispatchImpl::Release()\n5394 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5395 unsigned long COleUILinkInfo::Release()\n5396 unsigned long CPrintDialogEx::Release()\n5397 void CDC::ReleaseAttribDC()\n5398 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5399 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5400 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5401 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5402 void COleControl::ReleaseCaches()\n5403 int COleControl::ReleaseCapture()\n5404 int COleControl::ReleaseDC(CDC *)\n5405 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5406 void COleDispatchDriver::ReleaseDispatch()\n5407 void CDocObjectServer::ReleaseDocSite()\n5408 void CDocument::ReleaseFile(CFile *,int)\n5409 void CFontHolder::ReleaseFont()\n5410 void CDC::ReleaseOutputDC()\n5411 void CMetaFileDC::ReleaseOutputDC()\n5412 void CPreviewDC::ReleaseOutputDC()\n5413 int COleClientItem::Reload()\n5414 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5415 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5416 void CFile::Remove(wchar_t const *)\n5417 int CFtpConnection::Remove(wchar_t const *)\n5418 void CPropertySection::Remove(unsigned long)\n5419 void CPropertySet::Remove(_GUID)\n5420 void CPropertySet::Remove(_GUID,unsigned long)\n5421 void CRecentFileList::Remove(int)\n5422 int CSimpleList::Remove(void *)\n5423 void CMapPtrToPtr::RemoveAll()\n5424 void CMapPtrToWord::RemoveAll()\n5425 void CMapStringToOb::RemoveAll()\n5426 void CMapStringToPtr::RemoveAll()\n5427 void CMapStringToString::RemoveAll()\n5428 void CMapWordToOb::RemoveAll()\n5429 void CMapWordToPtr::RemoveAll()\n5430 void CObList::RemoveAll()\n5431 void CPropertySection::RemoveAll()\n5432 void CPropertySet::RemoveAll()\n5433 void CPtrList::RemoveAll()\n5434 void CStringList::RemoveAll()\n5435 void CTypeLibCacheMap::RemoveAll(void *)\n5436 void CByteArray::RemoveAt(int,int)\n5437 void CDWordArray::RemoveAt(int,int)\n5438 void CObArray::RemoveAt(int,int)\n5439 void CObList::RemoveAt(__POSITION *)\n5440 void CPtrArray::RemoveAt(int,int)\n5441 void CPtrList::RemoveAt(__POSITION *)\n5442 void CStringArray::RemoveAt(int,int)\n5443 void CStringList::RemoveAt(__POSITION *)\n5444 void CUIntArray::RemoveAt(int,int)\n5445 void CWordArray::RemoveAt(int,int)\n5446 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5447 void CFrameWnd::RemoveControlBar(CControlBar *)\n5448 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n5449 void CDocTemplate::RemoveDocument(CDocument *)\n5450 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5451 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5452 void COleControl::RemoveFrameLevelUI()\n5453 void CFrameWnd::RemoveFrameWnd()\n5454 CObject * CObList::RemoveHead()\n5455 void * CPtrList::RemoveHead()\n5456 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n5457 void CListCtrl::RemoveImageList(int)\n5458 void CListView::RemoveImageList(int)\n5459 void CTreeCtrl::RemoveImageList(int)\n5460 void CTreeView::RemoveImageList(int)\n5461 void COleDocument::RemoveItem(CDocItem *)\n5462 int CMapPtrToPtr::RemoveKey(void *)\n5463 int CMapPtrToWord::RemoveKey(void *)\n5464 int CMapStringToOb::RemoveKey(wchar_t const *)\n5465 int CMapStringToPtr::RemoveKey(wchar_t const *)\n5466 int CMapStringToString::RemoveKey(wchar_t const *)\n5467 int CMapWordToOb::RemoveKey(unsigned short)\n5468 int CMapWordToPtr::RemoveKey(unsigned short)\n5469 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5470 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5471 void CPropertySheet::RemovePage(int)\n5472 void CPropertySheet::RemovePage(CPropertyPage *)\n5473 void CDockBar::RemovePlaceHolder(CControlBar *)\n5474 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5475 void CDataBoundProperty::RemoveSource()\n5476 CObject * CObList::RemoveTail()\n5477 void * CPtrList::RemoveTail()\n5478 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n5479 void CDocument::RemoveView(CView *)\n5480 void CFile::Rename(wchar_t const *,wchar_t const *)\n5481 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n5482 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5483 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5484 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5485 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5486 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5487 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5488 void CDatabase::ReplaceBrackets(wchar_t *)\n5489 int CException::ReportError(unsigned int,unsigned int)\n5490 int COleClientItem::ReportError(long)const \n5491 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5492 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5493 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5494 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5495 int CRecordset::Requery()\n5496 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5497 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5498 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5499 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5500 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5501 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5502 long COleControlSite::XOleIPSite::RequestUIActivate()\n5503 long CEnumArray::XEnumVOID::Reset()\n5504 void CRecordset::ResetCursor()\n5505 void CCachedDataPathProperty::ResetData()\n5506 void CDataPathProperty::ResetData()\n5507 void COleControl::ResetStockProps()\n5508 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5509 void COleControl::ResetVersion(unsigned long)\n5510 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5511 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5512 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5513 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5514 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5515 void COleControl::ResizeFrameWindow(int,int)\n5516 void COleSafeArray::ResizeOneDim(unsigned long)\n5517 void COleControl::ResizeOpenControl(int,int)\n5518 void CScrollView::ResizeParentToFit(int)\n5519 int CDC::RestoreDC(int)\n5520 int CPreviewDC::RestoreDC(int)\n5521 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n5522 void CCmdTarget::RestoreWaitCursor()\n5523 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5524 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5525 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5526 long CArchiveStream::Revert()\n5527 void COleDropTarget::Revoke()\n5528 void COleLinkingDoc::Revoke()\n5529 void COleMessageFilter::Revoke()\n5530 void COleObjectFactory::Revoke()\n5531 void COleObjectFactory::RevokeAll()\n5532 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n5533 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n5534 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n5535 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n5536 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5537 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n5538 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n5539 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n5540 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n5541 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n5542 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n5543 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n5544 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n5545 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n5546 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5547 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n5548 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n5549 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n5550 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n5551 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n5552 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5553 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5554 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n5555 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n5556 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n5557 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n5558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n5559 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n5560 int CDatabase::Rollback()\n5561 void COleClientItem::Run()\n5562 int CWinApp::Run()\n5563 int CWinThread::Run()\n5564 int CWinApp::RunAutomated()\n5565 int CWinApp::RunEmbedded()\n5566 int CWnd::RunModalLoop(unsigned long)\n5567 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5568 int CEditView::SameAsSelected(wchar_t const *,int)\n5569 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n5570 long CBlobProperty::Save(IStream *,int)\n5571 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5572 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5573 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5574 long COleControl::XPersistStorage::Save(IStorage *,int)\n5575 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5576 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5577 int CDocManager::SaveAllModified()\n5578 int CDocTemplate::SaveAllModified()\n5579 int CWinApp::SaveAllModified()\n5580 void CFrameWnd::SaveBarState(wchar_t const *)const \n5581 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5582 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5583 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5584 int CDC::SaveDC()\n5585 int CPreviewDC::SaveDC()\n5586 void COleServerDoc::SaveEmbedding()\n5587 int CFormView::SaveFocusControl()\n5588 int CDocument::SaveModified()\n5589 int COleDocument::SaveModified()\n5590 int COleServerDoc::SaveModified()\n5591 int COleServerDoc::SaveModifiedPrompt()\n5592 long COleClientItem::XOleClientSite::SaveObject()\n5593 long COleControlSite::XOleClientSite::SaveObject()\n5594 int CControlBarInfo::SaveState(wchar_t const *,int)\n5595 void CDockState::SaveState(wchar_t const *)\n5596 long COleControl::SaveState(IStream *)\n5597 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n5598 void CWinApp::SaveStdProfileSettings()\n5599 void COleDocument::SaveToStorage(CObject *)\n5600 void COleLinkingDoc::SaveToStorage(CObject *)\n5601 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5602 void CDockState::ScalePoint(CPoint &)\n5603 void CDockState::ScaleRectPos(CRect &)\n5604 CSize CDC::ScaleViewportExt(int,int,int,int)\n5605 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5606 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5607 CSize CDC::ScaleWindowExt(int,int,int,int)\n5608 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5609 void CWnd::ScreenToClient(tagRECT *)const \n5610 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5611 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5612 void COleControlContainer::ScrollChildren(int,int)\n5613 int COleServerDoc::ScrollContainerBy(CSize)\n5614 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5615 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5616 void CScrollView::ScrollToPosition(tagPOINT)\n5617 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5618 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5619 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5620 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5621 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5622 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5623 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5624 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5625 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5626 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5627 CFont * CFontHolder::Select(CDC *,long,long)\n5628 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5629 int CDC::SelectClipPath(int)\n5630 int CDC::SelectClipRgn(CRgn *)\n5631 int CDC::SelectClipRgn(CRgn *,int)\n5632 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5633 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5634 long CPrintDialogEx::SelectionChange()\n5635 int CDC::SelectObject(CRgn *)\n5636 CBrush * CDC::SelectObject(CBrush *)\n5637 CPen * CDC::SelectObject(CPen *)\n5638 CFont * CDC::SelectObject(CFont *)\n5639 CFont * CPreviewDC::SelectObject(CFont *)\n5640 CPalette * CDC::SelectPalette(CPalette *,int)\n5641 void CWinApp::SelectPrinter(void *,void *,int)\n5642 CFont * COleControl::SelectStockFont(CDC *)\n5643 CGdiObject * CDC::SelectStockObject(int)\n5644 CGdiObject * CPreviewDC::SelectStockObject(int)\n5645 int CAsyncSocket::Send(void const *,int,int)\n5646 int CSocket::Send(void const *,int,int)\n5647 void COleControl::SendAdvise(unsigned int)\n5648 int CWnd::SendChildNotifyLastMsg(long *)\n5649 int CSocket::SendChunk(void const *,int,int)\n5650 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5651 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5652 void CDocument::SendInitialUpdate()\n5653 void CRecordset::SendLongBinaryData(void *)\n5654 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5655 void COleControlSite::SendMnemonic(tagMSG *)\n5656 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n5657 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n5658 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5659 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n5660 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n5661 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5662 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5663 void CByteArray::Serialize(CArchive &)\n5664 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5665 void CDocItem::Serialize(CArchive &)\n5666 void CDockState::Serialize(CArchive &)\n5667 void CDWordArray::Serialize(CArchive &)\n5668 void CEditView::Serialize(CArchive &)\n5669 void CMapStringToOb::Serialize(CArchive &)\n5670 void CMapStringToString::Serialize(CArchive &)\n5671 void CMapWordToOb::Serialize(CArchive &)\n5672 void CObArray::Serialize(CArchive &)\n5673 void CObList::Serialize(CArchive &)\n5674 void COleClientItem::Serialize(CArchive &)\n5675 void COleControl::Serialize(CArchive &)\n5676 void COleDocument::Serialize(CArchive &)\n5677 void CRichEditDoc::Serialize(CArchive &)\n5678 void CRichEditView::Serialize(CArchive &)\n5679 void CStringArray::Serialize(CArchive &)\n5680 void CStringList::Serialize(CArchive &)\n5681 void CWordArray::Serialize(CArchive &)\n5682 CArchive & ATL::CTime::Serialize64(CArchive &)\n5683 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5684 void CArchive::SerializeClass(CRuntimeconst *)\n5685 void COleControl::SerializeExtent(CArchive &)\n5686 void CEditView::SerializeRaw(CArchive &)\n5687 void COleControl::SerializeStockProps(CArchive &)\n5688 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5689 int CProperty::Set(unsigned long,void * const,unsigned long)\n5690 int CProperty::Set(void * const)\n5691 int CProperty::Set(void * const,unsigned long)\n5692 int CPropertySection::Set(unsigned long,void *)\n5693 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5694 int CPropertySet::Set(_GUID,unsigned long,void *)\n5695 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5696 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5697 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5698 int CPropertySheet::SetActivePage(int)\n5699 int CPropertySheet::SetActivePage(CPropertyPage *)\n5700 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5701 void CFrameWnd::SetActiveView(CView *,int)\n5702 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5703 void COleControl::SetAppearance(short)\n5704 int CDC::SetArcDirection(int)\n5705 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n5706 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n5707 void CByteArray::SetAtGrow(int,unsigned char)\n5708 void CDWordArray::SetAtGrow(int,unsigned long)\n5709 void CObArray::SetAtGrow(int,CObject *)\n5710 void CPtrArray::SetAtGrow(int,void *)\n5711 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5712 void CStringArray::SetAtGrow(int,wchar_t const *)\n5713 void CUIntArray::SetAtGrow(int,unsigned int)\n5714 void CWordArray::SetAtGrow(int,unsigned short)\n5715 void CDC::SetAttribDC(HDC__ *)\n5716 void CMetaFileDC::SetAttribDC(HDC__ *)\n5717 void CPreviewDC::SetAttribDC(HDC__ *)\n5718 void COleControl::SetBackColor(unsigned long)\n5719 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5720 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5721 void CControlBar::SetBarStyle(unsigned long)\n5722 int CToolBar::SetBitmap(HBITMAP__ *)\n5723 unsigned long CDC::SetBkColor(unsigned long)\n5724 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5725 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n5726 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5727 int CDC::SetBkMode(int)\n5728 void CRecordset::SetBookmark(CDBVariant const &)\n5729 void CControlBar::SetBorders(int,int,int,int)\n5730 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5731 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5732 void COleControl::SetBorderStyle(short)\n5733 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5734 int CToolBar::SetButtons(unsigned int const *,int)\n5735 void CToolBar::SetButtonStyle(int,unsigned int)\n5736 int CToolBar::SetButtonText(int,wchar_t const *)\n5737 CWnd * COleControl::SetCapture()\n5738 long COleControlSite::XOleIPSite::SetCapture(int)\n5739 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n5740 void CCheckListBox::SetCheck(int,int)\n5741 void CCmdUI::SetCheck(int)\n5742 int CListCtrl::SetCheck(int,int)\n5743 void COleCmdUI::SetCheck(int)\n5744 void CStatusCmdUI::SetCheck(int)\n5745 void CTestCmdUI::SetCheck(int)\n5746 void CToolCmdUI::SetCheck(int)\n5747 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5748 void CCheckListBox::SetCheckStyle(unsigned int)\n5749 void CPropertySet::SetClassID(_GUID)\n5750 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5751 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5752 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5753 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5754 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5755 void COleDataSource::SetClipboard()\n5756 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5757 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5758 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5759 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5760 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5761 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5762 void CSplitterWnd::SetColumnInfo(int,int,int)\n5763 int CListCtrl::SetColumnOrderArray(int,int *)\n5764 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5765 void CDocTemplate::SetContainerInfo(unsigned int)\n5766 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5767 void CReflectorWnd::SetControl(COleControl *)\n5768 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5769 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n5770 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n5771 int COleControl::SetControlSize(int,int)\n5772 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5773 void CFileDialog::SetControlText(int,char const *)\n5774 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n5775 void COleCurrency::SetCurrency(long,long)\n5776 void CColorDialog::SetCurrentColor(unsigned long)\n5777 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n5778 void CWinApp::SetCurrentHandles()\n5779 void CPreviewView::SetCurrentPage(unsigned int,int)\n5780 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5781 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5782 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5783 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5784 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5785 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5786 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5787 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5788 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5789 void COccManager::SetDefaultButton(CWnd *,int)\n5790 void COleControlSite::SetDefaultButton(int)\n5791 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n5792 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n5793 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5794 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5795 void CFileDialog::SetDefExt(char const *)\n5796 void COlePropertyPage::SetDialogResource(void *)\n5797 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5798 int COleControlSite::SetDlgCtrlID(int)\n5799 int CWnd::SetDlgCtrlID(int)\n5800 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5801 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5802 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n5803 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n5804 void CFrameWnd::SetDockState(CDockState const &)\n5805 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5806 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5807 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5808 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5809 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5810 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n5811 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n5812 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5813 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n5814 void COleControl::SetEnabled(int)\n5815 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5816 int COleControlSite::SetExtent()\n5817 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5818 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5819 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5820 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5821 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5822 void CRecordset::SetFieldDirty(void *,int)\n5823 void CRecordset::SetFieldNull(void *,int)\n5824 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5825 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5826 CWnd * COleControl::SetFocus()\n5827 CWnd * COleControlSite::SetFocus(tagMSG *)\n5828 CWnd * COleControlSite::SetFocus()\n5829 CWnd * CWnd::SetFocus()\n5830 long COleControlSite::XOleIPSite::SetFocus(int)\n5831 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n5832 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n5833 void CFontHolder::SetFont(IFont *)\n5834 void COleControl::SetFont(IFontDisp *)\n5835 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5836 void COleControl::SetForeColor(unsigned long)\n5837 void CPropertySection::SetFormatID(_GUID)\n5838 void CPropertySet::SetFormatVersion(unsigned short)\n5839 void CSharedFile::SetHandle(void *,int)\n5840 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5841 void CToolBar::SetHeight(int)\n5842 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5843 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n5844 void CDHtmlDialog::SetHostFlags(unsigned long)\n5845 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n5846 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5847 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5848 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5849 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5850 int COleClientItem::SetIconicMetafile(void *)\n5851 CSize CListCtrl::SetIconSpacing(int,int)\n5852 CSize CListCtrl::SetIconSpacing(CSize)\n5853 void CProperty::SetID(unsigned long)\n5854 int CReBarCtrl::SetImageList(CImageList *)\n5855 int CStatusBar::SetIndicators(unsigned int const *,int)\n5856 void COleControl::SetInitialDataFormats()\n5857 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5858 void COleControl::SetInitialSize(int,int)\n5859 void CControlBar::SetInPlaceOwner(CWnd *)\n5860 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5861 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n5862 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n5863 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n5864 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n5865 int CListCtrl::SetItemCountEx(int,unsigned long)\n5866 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5867 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5868 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5869 int CListCtrl::SetItemText(int,int,wchar_t const *)\n5870 unsigned long CDC::SetLayout(unsigned long)\n5871 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n5872 void ATL::CSimpleStringT<char,1>::SetLength(int)\n5873 void CFile::SetLength(unsigned __int64)\n5874 void CInternetFile::SetLength(unsigned __int64)\n5875 void CMemFile::SetLength(unsigned __int64)\n5876 void COleStreamFile::SetLength(unsigned __int64)\n5877 void CSocketFile::SetLength(unsigned __int64)\n5878 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n5879 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5880 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5881 void CRecordset::SetLockingMode(unsigned int)\n5882 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n5883 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n5884 int CDC::SetMapMode(int)\n5885 int CPreviewDC::SetMapMode(int)\n5886 unsigned long CDC::SetMapperFlags(unsigned long)\n5887 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5888 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5889 void CFrameWnd::SetMessageText(unsigned int)\n5890 void CFrameWnd::SetMessageText(wchar_t const *)\n5891 void CPropertyPage::SetModified(int)\n5892 void COleControl::SetModifiedFlag(int)\n5893 void COlePropertyPage::SetModifiedFlag(int)\n5894 void CRichEditDoc::SetModifiedFlag(int)\n5895 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5896 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5897 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5898 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5899 int CPropertySection::SetName(unsigned long,wchar_t const *)\n5900 void COleControl::SetNotPermitted()\n5901 void CCmdTarget::SetNotSupported()\n5902 void COleControl::SetNotSupported()\n5903 void CRecordset::SetNullFieldStatus(unsigned long)\n5904 void CRecordset::SetNullParamStatus(unsigned long)\n5905 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5906 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5907 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5908 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5909 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5910 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5911 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5912 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5913 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5914 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5915 int CHeaderCtrl::SetOrderArray(int,int *)\n5916 void CPropertySet::SetOSVersion(unsigned long)\n5917 void CDC::SetOutputDC(HDC__ *)\n5918 void CMetaFileDC::SetOutputDC(HDC__ *)\n5919 void CPreviewDC::SetOutputDC(HDC__ *)\n5920 void CToolBar::SetOwner(CWnd *)\n5921 void COlePropertyPage::SetPageName(wchar_t const *)\n5922 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5923 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5924 void CStatusBar::SetPaneStyle(int,unsigned int)\n5925 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n5926 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5927 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5928 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5929 void CRecordset::SetParamNull(int,int)\n5930 void CDocument::SetPathName(wchar_t const *,int)\n5931 void COleDocument::SetPathName(wchar_t const *,int)\n5932 void CRichEditDoc::SetPathName(wchar_t const *,int)\n5933 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5934 int CDC::SetPolyFillMode(int)\n5935 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5936 int COleClientItem::SetPrintDevice(tagPDW const *)\n5937 void CEditView::SetPrinterFont(CFont *)\n5938 int CPreviewView::SetPrintView(CView *)\n5939 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n5940 void COleControlSite::SetProperty(long,unsigned short,...)\n5941 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5942 void CWnd::SetProperty(long,unsigned short,...)\n5943 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5944 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n5945 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n5946 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5947 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n5948 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n5949 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n5950 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n5951 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n5952 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n5953 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n5954 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n5955 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5956 long CWnd::SetProxy(IAccessibleProxy *)\n5957 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5958 void CCmdUI::SetRadio(int)\n5959 void CTestCmdUI::SetRadio(int)\n5960 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5961 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5962 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5963 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5964 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5965 void CSliderCtrl::SetRange(int,int,int)\n5966 int CInternetFile::SetReadBufferSize(unsigned int)\n5967 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5968 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5969 int COleControl::SetRectInContainer(tagRECT const *)\n5970 void CWinApp::SetRegistryKey(unsigned int)\n5971 void CWinApp::SetRegistryKey(wchar_t const *)\n5972 int CDC::SetROP2(int)\n5973 void CSplitterWnd::SetRowInfo(int,int,int)\n5974 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5975 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5976 void CRecordset::SetRowsetSize(unsigned long)\n5977 void CPreviewView::SetScaledSize(unsigned int)\n5978 void CPreviewDC::SetScaleRatio(int,int)\n5979 void CScrollView::SetScaleToFitSize(tagSIZE)\n5980 void CDockState::SetScreenSize(CSize &)\n5981 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5982 int CWnd::SetScrollPos(int,int,int)\n5983 void CWnd::SetScrollRange(int,int,int,int)\n5984 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5985 void CSplitterWnd::SetScrollStyle(unsigned long)\n5986 int CPropertySection::SetSectionName(wchar_t const *)\n5987 void CRichEditCtrl::SetSel(long,long)\n5988 void CSliderCtrl::SetSelection(int,int)\n5989 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n5990 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n5991 void CCheckListBox::SetSelectionCheck(int)\n5992 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5993 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5994 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5995 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n5996 long CPrintDialogEx::SetSite(IUnknown *)\n5997 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n5998 void CByteArray::SetSize(int,int)\n5999 void CDWordArray::SetSize(int,int)\n6000 void CObArray::SetSize(int,int)\n6001 void CPtrArray::SetSize(int,int)\n6002 void CStringArray::SetSize(int,int)\n6003 void CUIntArray::SetSize(int,int)\n6004 void CWordArray::SetSize(int,int)\n6005 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6006 void CSplitterWnd::SetSplitCursor(int)\n6007 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6008 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n6009 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n6010 int CControlBar::SetStatusText(int)\n6011 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6012 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6013 int CDC::SetStretchBltMode(int)\n6014 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6015 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6016 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6017 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6018 void COleVariant::SetString(wchar_t const *,unsigned short)\n6019 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6020 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6021 int CDialogTemplate::SetSystemFont(unsigned short)\n6022 void CEditView::SetTabStops(int)\n6023 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6024 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n6025 void CCmdUI::SetText(wchar_t const *)\n6026 void COleCmdUI::SetText(wchar_t const *)\n6027 void COleControl::SetText(wchar_t const *)\n6028 void CStatusCmdUI::SetText(wchar_t const *)\n6029 void CTestCmdUI::SetText(wchar_t const *)\n6030 void CToolCmdUI::SetText(wchar_t const *)\n6031 unsigned int CDC::SetTextAlign(unsigned int)\n6032 int CDC::SetTextCharacterExtra(int)\n6033 unsigned long CDC::SetTextColor(unsigned long)\n6034 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6035 int CDC::SetTextJustification(int,int)\n6036 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6037 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6038 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6039 void CDocument::SetTitle(wchar_t const *)\n6040 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n6041 void CRichEditDoc::SetTitle(wchar_t const *)\n6042 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6043 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6044 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6045 void CPreviewDC::SetTopLeftOffset(CSize)\n6046 void CProperty::SetType(unsigned long)\n6047 void CRecordset::SetUpdateMethod()\n6048 void CThreadSlotData::SetValue(int,void *)\n6049 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6050 CSize CDC::SetViewportExt(int,int)\n6051 CSize CMetaFileDC::SetViewportExt(int,int)\n6052 CSize CPreviewDC::SetViewportExt(int,int)\n6053 CPoint CDC::SetViewportOrg(int,int)\n6054 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6055 CPoint CPreviewDC::SetViewportOrg(int,int)\n6056 CSize CDC::SetWindowExt(int,int)\n6057 CSize CPreviewDC::SetWindowExt(int,int)\n6058 CPoint CDC::SetWindowOrg(int,int)\n6059 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6060 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6061 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6062 void COleControlSite::SetWindowTextW(wchar_t const *)\n6063 void CWnd::SetWindowTextW(wchar_t const *)\n6064 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n6065 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n6066 int CInternetFile::SetWriteBufferSize(unsigned int)\n6067 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6068 long CDocObjectServer::XOleDocumentView::Show(int)\n6069 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6070 void CDockBar::ShowAll(int)\n6071 long CRichEditCntrItem::ShowContainerUI(int)\n6072 long CRichEditView::ShowContainerUI(int)\n6073 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6074 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6075 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6076 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6077 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6078 long COleClientItem::XOleClientSite::ShowObject()\n6079 long COleControlSite::XOleClientSite::ShowObject()\n6080 void CFrameWnd::ShowOwnedWindows(int)\n6081 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6082 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6083 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6084 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6085 int COleControlSite::ShowWindow(int)\n6086 int CWnd::ShowWindow(int)\n6087 tagSIZE const CScrollView::sizeDefault\n6088 int CMonthCalCtrl::SizeMinReq(int)\n6089 void CBitmapButton::SizeToContent()\n6090 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6091 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6092 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6093 int CAsyncSocket::Socket(int,long,int,int)\n6094 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6095 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6096 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6097 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6098 int CSplitterWnd::SplitColumn(int)\n6099 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6100 int CSplitterWnd::SplitRow(int)\n6101 int CDC::StartDocW(wchar_t const *)\n6102 void CDockContext::StartDrag(CPoint)\n6103 void CDockContext::StartResize(int,CPoint)\n6104 void CSplitterWnd::StartTracking(int)\n6105 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6106 void CSplitterWnd::StopTracking(int)\n6107 void CRuntimeClass::Store(CArchive &)const \n6108 void CRecordset::StoreFields()\n6109 void CRichEditView::Stream(CArchive &,int)\n6110 void CDockContext::Stretch(CPoint)\n6111 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6112 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6113 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6114 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6115 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6116 int CWnd::SubclassWindow(HWND__ *)\n6117 int COleDocObjectItem::SupportsIPrint()\n6118 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6119 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6120 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6121 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6122 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6123 void CRichEditView::TextNotFound(wchar_t const *)\n6124 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n6125 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n6126 void CFileException::ThrowErrno(int,wchar_t const *)\n6127 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6128 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n6129 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n6130 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n6131 void CFileException::ThrowOsError(long,wchar_t const *)\n6132 void CDockContext::ToggleDocking()\n6133 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6134 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6135 COleVariant CDataSourceControl::ToVariant(int)\n6136 int CDockContext::Track()\n6137 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6138 void CSplitterWnd::TrackColumnSize(int,int)\n6139 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6140 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6141 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6142 void CSplitterWnd::TrackRowSize(int,int)\n6143 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6144 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6145 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6146 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6147 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6148 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6149 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n6150 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6151 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6152 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6153 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6154 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n6155 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6156 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6157 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6158 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6159 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6160 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6161 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n6162 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6163 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6164 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n6165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6166 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n6168 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6169 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6170 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n6171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6172 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6173 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n6174 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6175 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6176 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n6177 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6178 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6179 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6180 void COccManager::UIActivateControl(CWnd *)\n6181 long COleControl::XOleInPlaceObject::UIDeactivate()\n6182 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6183 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6184 void COleSafeArray::UnaccessData()\n6185 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6186 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6187 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6188 long COleControl::XOleObject::Unadvise(unsigned long)\n6189 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6190 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6191 void CRecordset::UnbindFieldsForUpdate()\n6192 long COleControl::XOleCache::Uncache(unsigned long)\n6193 long COleControl::XViewObject::Unfreeze(unsigned long)\n6194 int CEvent::Unlock()\n6195 int CMultiLock::Unlock(long,long *)\n6196 int CMultiLock::Unlock()\n6197 int CMutex::Unlock()\n6198 void COleSafeArray::Unlock()\n6199 int CSemaphore::Unlock(long,long *)\n6200 int CSingleLock::Unlock(long,long *)\n6201 int CSingleLock::Unlock()\n6202 void CTypeLibCache::Unlock()\n6203 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n6204 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n6205 void CEditView::UnlockBuffer()const \n6206 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6207 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6208 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6209 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6210 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6211 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6212 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6213 int COleObjectFactory::Unregister()\n6214 int COleTemplateServer::Unregister()\n6215 int CWinApp::Unregister()\n6216 int COleObjectFactory::UnregisterAll()\n6217 void CDocManager::UnregisterShellFileTypes()\n6218 void CWinApp::UnregisterShellFileTypes()\n6219 HWND__ * CWnd::UnsubclassWindow()\n6220 int CRecordset::Update()\n6221 long CDocObjectServer::XOleObject::Update()\n6222 long COleControl::XOleObject::Update()\n6223 long COleServerDoc::XOleObject::Update()\n6224 long COleServerItem::XOleObject::Update()\n6225 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6226 void CStatusBar::UpdateAllPanes(int,int)\n6227 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6228 void CScrollView::UpdateBars()\n6229 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6230 long CDataSourceControl::UpdateControls()\n6231 long CDataSourceControl::UpdateCursor()\n6232 int CWnd::UpdateData(int)\n6233 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6234 void CDocument::UpdateFrameCounts()\n6235 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n6236 int CRecordset::UpdateInsertDelete()\n6237 void COleClientItem::UpdateItemType()\n6238 int COleClientItem::UpdateLink()\n6239 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6240 void CRecentFileList::UpdateMenu(CCmdUI *)\n6241 void COleDocument::UpdateModifiedFlag()\n6242 void CRichEditDoc::UpdateModifiedFlag()\n6243 void CRichEditDoc::UpdateObjectCache()\n6244 void CWinApp::UpdatePrinterSelection(int)\n6245 int COleObjectFactory::UpdateRegistry(int)\n6246 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n6247 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n6248 int COleObjectFactory::UpdateRegistryAll(int)\n6249 void CDockContext::UpdateState(int *,int)\n6250 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6251 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n6252 long CBrowserControlSite::UpdateUI()\n6253 long CDHtmlDialog::UpdateUI()\n6254 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n6255 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6256 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6257 void CDatabase::VerifyConnect()\n6258 unsigned long CRecordset::VerifyCursorSupport()\n6259 void CRecordset::VerifyDriverBehavior()\n6260 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6261 int COleObjectFactory::VerifyUserLicense()\n6262 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6263 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6264 int COleControl::WillAmbientsBeValidDuringLoad()\n6265 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6266 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6267 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6268 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6269 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6270 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6271 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6272 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6273 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6274 void CWinApp::WinHelpW(unsigned long,unsigned int)\n6275 void CWnd::WinHelpW(unsigned long,unsigned int)\n6276 CWnd const CWnd::wndBottom\n6277 CWnd const CWnd::wndNoTopMost\n6278 CWnd const CWnd::wndTop\n6279 CWnd const CWnd::wndTopMost\n6280 void CRichEditView::WrapChanged()\n6281 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6282 void CArchive::Write(void const *,unsigned int)\n6283 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6284 void CFile::Write(void const *,unsigned int)\n6285 void CGopherFile::Write(void const *,unsigned int)\n6286 int CImageList::Write(CArchive *)\n6287 void CInternetFile::Write(void const *,unsigned int)\n6288 void CMemFile::Write(void const *,unsigned int)\n6289 void COleStreamFile::Write(void const *,unsigned int)\n6290 void CSocketFile::Write(void const *,unsigned int)\n6291 void CStdioFile::Write(void const *,unsigned int)\n6292 void CArchive::WriteClass(CRuntimeconst *)\n6293 void CArchive::WriteCount(unsigned long)\n6294 void COleClientItem::WriteItem(CArchive &)\n6295 void COleClientItem::WriteItemCompound(CArchive &)\n6296 void COleClientItem::WriteItemFlat(CArchive &)\n6297 void CRecentFileList::WriteList()\n6298 int CPropertySection::WriteNameDictToStream(IStream *)\n6299 void CArchive::WriteObject(CObject const *)\n6300 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n6301 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n6302 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n6303 void CArchive::WriteString(wchar_t const *)\n6304 void CGopherFile::WriteString(wchar_t const *)\n6305 void CInternetFile::WriteString(wchar_t const *)\n6306 void CStdioFile::WriteString(wchar_t const *)\n6307 void CEditView::WriteToArchive(CArchive &)\n6308 int CProperty::WriteToStream(IStream *)\n6309 int CPropertySection::WriteToStream(IStream *)\n6310 int CPropertySet::WriteToStream(IStream *)\n6311 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6312 CDaoException::CDaoException()\n6313 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6314 CDaoIndexInfo::CDaoIndexInfo()\n6315 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6316 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6317 CDaoRecordView::CDaoRecordView(unsigned int)\n6318 CDaoRecordView::CDaoRecordView(wchar_t const *)\n6319 CDaoRelationInfo::CDaoRelationInfo()\n6320 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6321 CDaoWorkspace::CDaoWorkspace()\n6322 CDaoDatabase::~CDaoDatabase()\n6323 CDaoException::~CDaoException()\n6324 CDaoIndexInfo::~CDaoIndexInfo()\n6325 CDaoQueryDef::~CDaoQueryDef()\n6326 CDaoRecordset::~CDaoRecordset()\n6327 CDaoRecordView::~CDaoRecordView()\n6328 CDaoRelationInfo::~CDaoRelationInfo()\n6329 CDaoTableDef::~CDaoTableDef()\n6330 CDaoWorkspace::~CDaoWorkspace()\n6331 void CDaoRecordset::AddNew()\n6332 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6333 _DAODBEngine * AfxDaoGetEngine()\n6334 void AfxDaoInit()\n6335 void AfxDaoTerm()\n6336 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6337 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6338 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6339 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6340 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6341 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6342 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6343 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6344 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6345 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6346 void AfxThrowDaoException(int,long)\n6347 void CDaoRecordset::AllocCache()\n6348 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6349 void CDaoRecordset::AllocDatabase()\n6350 void AllocLongBinary(CLongBinary &,unsigned long)\n6351 void CDaoQueryDef::Append()\n6352 void CDaoTableDef::Append()\n6353 void CDaoWorkspace::Append()\n6354 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n6355 void CDaoWorkspace::BeginTrans()\n6356 void CDaoRecordset::BindFields()\n6357 void CDaoRecordset::BindParameters()\n6358 void CDaoRecordset::BuildParameterList()\n6359 void CDaoRecordset::BuildSelectList()\n6360 void CDaoRecordset::BuildSQL()\n6361 int CDaoRecordset::CanAppend()const \n6362 int CDaoRecordset::CanBookmark()\n6363 void CDaoRecordset::CancelUpdate()\n6364 int CDaoRecordset::CanRestart()\n6365 int CDaoRecordset::CanScroll()const \n6366 int CDaoDatabase::CanTransact()\n6367 int CDaoRecordset::CanTransact()\n6368 int CDaoDatabase::CanUpdate()\n6369 int CDaoQueryDef::CanUpdate()\n6370 int CDaoRecordset::CanUpdate()const \n6371 int CDaoTableDef::CanUpdate()\n6372 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6373 void CDaoRecordset::ClearFieldStatusFlags()\n6374 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6375 void CDaoDatabase::Close()\n6376 void CDaoQueryDef::Close()\n6377 void CDaoRecordset::Close()\n6378 void CDaoTableDef::Close()\n6379 void CDaoWorkspace::Close()\n6380 void CDaoWorkspace::CommitTrans()\n6381 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n6382 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n6383 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6384 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6385 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n6386 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n6387 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n6388 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n6389 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6390 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n6391 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6392 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6393 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n6394 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6395 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6396 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6397 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6398 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6399 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6400 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6401 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6402 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6403 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6404 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6405 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6406 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6407 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6408 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6409 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6410 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6411 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6412 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6413 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6414 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n6415 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n6416 void CDaoRecordset::Delete()\n6417 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6418 void CDaoTableDef::DeleteField(int)\n6419 void CDaoTableDef::DeleteField(wchar_t const *)\n6420 void CDaoTableDef::DeleteIndex(int)\n6421 void CDaoTableDef::DeleteIndex(wchar_t const *)\n6422 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n6423 void CDaoDatabase::DeleteRelation(wchar_t const *)\n6424 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n6425 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n6426 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n6427 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n6428 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n6429 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n6430 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n6431 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n6432 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n6433 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n6434 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n6435 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n6436 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6437 void CDaoRecordset::Edit()\n6438 void CDaoDatabase::Execute(wchar_t const *,int)\n6439 void CDaoQueryDef::Execute(int)\n6440 void CDaoRecordset::FillCache(long *,COleVariant *)\n6441 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6442 void CDaoException::FillErrorInfo()\n6443 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6444 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6445 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6446 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6447 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6448 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6449 int CDaoRecordset::Find(long,wchar_t const *)\n6450 int CDaoRecordset::FindFirst(wchar_t const *)\n6451 int CDaoRecordset::FindLast(wchar_t const *)\n6452 int CDaoRecordset::FindNext(wchar_t const *)\n6453 int CDaoRecordset::FindPrev(wchar_t const *)\n6454 void CDaoRecordset::Fixup()\n6455 void CDaoRecordset::FreeCache()\n6456 long CDaoRecordset::GetAbsolutePosition()\n6457 long CDaoTableDef::GetAttributes()\n6458 COleVariant CDaoRecordset::GetBookmark()\n6459 long CDaoRecordset::GetCacheSize()\n6460 COleVariant CDaoRecordset::GetCacheStart()\n6461 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6462 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n6463 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n6464 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n6465 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n6466 void CDaoRecordset::GetDataAndFixupNulls()\n6467 short CDaoWorkspace::GetDatabaseCount()\n6468 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6469 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n6470 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6471 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6472 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6473 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6474 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6475 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6476 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n6477 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n6478 short CDaoRecordset::GetEditMode()\n6479 short CDaoException::GetErrorCount()\n6480 void CDaoException::GetErrorInfo(int)\n6481 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n6482 short CDaoQueryDef::GetFieldCount()\n6483 short CDaoRecordset::GetFieldCount()\n6484 short CDaoTableDef::GetFieldCount()\n6485 int CDaoRecordset::GetFieldIndex(void *)\n6486 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6487 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6488 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6489 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6490 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6491 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6492 unsigned long CDaoRecordset::GetFieldLength(int)\n6493 COleVariant CDaoRecordset::GetFieldValue(int)\n6494 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n6495 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6496 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n6497 short CDaoRecordset::GetIndexCount()\n6498 short CDaoTableDef::GetIndexCount()\n6499 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6500 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6501 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6502 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6503 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n6504 int CDaoWorkspace::GetIsolateODBCTrans()\n6505 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6506 int CDaoRecordset::GetLockingMode()\n6507 short CDaoWorkspace::GetLoginTimeout()\n6508 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6509 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n6510 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n6511 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n6512 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n6513 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n6514 short CDaoQueryDef::GetODBCTimeout()\n6515 short CDaoQueryDef::GetParameterCount()\n6516 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6517 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n6518 COleVariant CDaoQueryDef::GetParamValue(int)\n6519 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n6520 COleVariant CDaoRecordset::GetParamValue(int)\n6521 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n6522 float CDaoRecordset::GetPercentPosition()\n6523 short CDaoDatabase::GetQueryDefCount()\n6524 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6525 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n6526 short CDaoDatabase::GetQueryTimeout()\n6527 long CDaoRecordset::GetRecordCount()\n6528 long CDaoTableDef::GetRecordCount()\n6529 long CDaoDatabase::GetRecordsAffected()\n6530 long CDaoQueryDef::GetRecordsAffected()\n6531 short CDaoDatabase::GetRelationCount()\n6532 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6533 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n6534 int CDaoQueryDef::GetReturnsRecords()\n6535 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6536 CRuntime* CDaoException::GetRuntimeClass()const \n6537 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6538 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6539 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6540 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6541 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6542 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n6543 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n6544 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n6545 short CDaoDatabase::GetTableDefCount()\n6546 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6547 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n6548 CRuntime* CDaoDatabase::GetThisClass()\n6549 CRuntime* CDaoException::GetThisClass()\n6550 CRuntime* CDaoQueryDef::GetThisClass()\n6551 CRuntime* CDaoRecordset::GetThisClass()\n6552 CRuntime* CDaoRecordView::GetThisClass()\n6553 CRuntime* CDaoTableDef::GetThisClass()\n6554 CRuntime* CDaoWorkspace::GetThisClass()\n6555 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6556 short CDaoQueryDef::GetType()\n6557 short CDaoRecordset::GetType()\n6558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n6559 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n6560 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n6561 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n6562 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n6563 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n6564 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n6565 short CDaoWorkspace::GetWorkspaceCount()\n6566 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6567 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n6568 void CDaoWorkspace::Idle(int)\n6569 void CDaoWorkspace::InitDatabasesCollection()\n6570 void CDaoException::InitErrorsCollection()\n6571 void CDaoQueryDef::InitFieldsCollection()\n6572 void CDaoRecordset::InitFieldsCollection()\n6573 void CDaoTableDef::InitFieldsCollection()\n6574 void CDaoWorkspace::InitializeEngine()\n6575 void CDaoRecordset::InitIndexesCollection()\n6576 void CDaoTableDef::InitIndexesCollection()\n6577 void CDaoQueryDef::InitParametersCollection()\n6578 void CDaoDatabase::InitQueryDefsCollection()\n6579 void CDaoDatabase::InitRelationsCollection()\n6580 void CDaoDatabase::InitTableDefsCollection()\n6581 void CDaoDatabase::InitWorkspace()\n6582 void CDaoWorkspace::InitWorkspacesCollection()\n6583 int CDaoRecordset::IsBOF()const \n6584 int CDaoRecordset::IsDeleted()const \n6585 int CDaoRecordset::IsEOF()const \n6586 int CDaoRecordset::IsFieldDirty(void *)\n6587 int CDaoRecordset::IsFieldNull(void *)\n6588 int CDaoRecordset::IsFieldNullable(void *)\n6589 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6590 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6591 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6592 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6593 int CDaoRecordset::IsMatch()\n6594 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6595 int CDaoRecordView::IsOnFirstRecord()\n6596 int CDaoRecordView::IsOnLastRecord()\n6597 int CDaoFieldExchange::IsValidOperation()\n6598 void CDaoRecordset::LoadFields()\n6599 void CDaoRecordset::MarkForAddNew()\n6600 void CDaoRecordset::MarkForEdit()\n6601 void CDaoRecordset::Move(long)\n6602 void CDaoRecordset::MoveFirst()\n6603 void CDaoRecordset::MoveLast()\n6604 void CDaoRecordset::MoveNext()\n6605 void CDaoRecordset::MovePrev()\n6606 void CDaoRecordView::OnInitialUpdate()\n6607 int CDaoRecordView::OnMove(unsigned int)\n6608 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n6609 void CDaoQueryDef::Open(wchar_t const *)\n6610 void CDaoRecordset::Open(int,wchar_t const *,int)\n6611 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6612 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6613 void CDaoTableDef::Open(wchar_t const *)\n6614 void CDaoWorkspace::Open(wchar_t const *)\n6615 void CDaoTableDef::RefreshLink()\n6616 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n6617 void CDaoRecordset::Requery()\n6618 void CDaoWorkspace::Rollback()\n6619 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n6620 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n6621 void CDaoRecordset::SetAbsolutePosition(long)\n6622 void CDaoTableDef::SetAttributes(long)\n6623 void CDaoRecordset::SetBookmark(COleVariant)\n6624 void CDaoRecordset::SetCacheSize(long)\n6625 void CDaoRecordset::SetCacheStart(COleVariant)\n6626 void CDaoQueryDef::SetConnect(wchar_t const *)\n6627 void CDaoTableDef::SetConnect(wchar_t const *)\n6628 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n6629 void CDaoRecordset::SetCursorAttributes()\n6630 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n6631 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n6632 void CDaoRecordset::SetDirtyFields()\n6633 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6634 void CDaoRecordset::SetFieldDirty(void *,int)\n6635 void CDaoRecordset::SetFieldNull(void *,int)\n6636 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n6637 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n6638 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6639 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n6640 void CDaoRecordset::SetFieldValueNull(int)\n6641 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n6642 void CDaoWorkspace::SetIniPath(wchar_t const *)\n6643 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6644 void CDaoRecordset::SetLockingMode(int)\n6645 void CDaoWorkspace::SetLoginTimeout(short)\n6646 void CDaoQueryDef::SetName(wchar_t const *)\n6647 void CDaoTableDef::SetName(wchar_t const *)\n6648 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6649 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6650 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6651 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6652 void CDaoQueryDef::SetODBCTimeout(short)\n6653 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6654 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n6655 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6656 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n6657 void CDaoQueryDef::SetParamValueNull(int)\n6658 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n6659 void CDaoRecordset::SetParamValueNull(int)\n6660 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n6661 void CDaoRecordset::SetPercentPosition(float)\n6662 void CDaoDatabase::SetQueryTimeout(short)\n6663 void CDaoQueryDef::SetReturnsRecords(int)\n6664 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n6665 void CDaoQueryDef::SetSQL(wchar_t const *)\n6666 void CDaoTableDef::SetValidationRule(wchar_t const *)\n6667 void CDaoTableDef::SetValidationText(wchar_t const *)\n6668 void CDaoRecordset::StoreFields()\n6669 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n6670 void CDaoDatabase::ThrowDaoException(int)\n6671 void CDaoQueryDef::ThrowDaoException(int)\n6672 void CDaoRecordset::ThrowDaoException(int)\n6673 void CDaoTableDef::ThrowDaoException(int)\n6674 void CDaoWorkspace::ThrowDaoException(int)\n6675 void ThrowGetRowsDaoException(long)\n6676 void CDaoRecordset::Update()\n6677 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6678 CRuntimeconst CDaoException::classCDaoException\n6679 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6680 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6681 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6682 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6683 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6684 CRuntimeconst CDatabase::classCDatabase\n6685 CRuntimeconst CDBException::classCDBException\n6686 CRuntimeconst CLongBinary::classCLongBinary\n6687 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6688 CRuntimeconst CRecordset::classCRecordset\n6689 CRuntimeconst CRecordView::classCRecordView\n6690 AFX_MSGMAP const CDaoRecordView::messageMap\n6691 AFX_MSGMAP const COleDBRecordView::messageMap\n6692 AFX_MSGMAP const CRecordView::messageMap\n6693 _AFX_DAO_STATE * AfxGetDaoState()\n6694 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6695 _AFX_DAO_STATE::_AFX_DAO_STATE()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc71ud.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 void DumpElements<COleVariant>(CDumpContext &,COleVariant const *,int)\n258 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n259 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n260 unsigned int HashKey<char const *>(char const *)\n261 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n262 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n263 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n264 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n265 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n317 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n318 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n319 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n320 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n321 _AFX_OLE_STATE::_AFX_OLE_STATE()\n322 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n323 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n324 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n325 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n326 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n327 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n328 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n329 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n330 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n331 CAnimateCtrl::CAnimateCtrl()\n332 CArchive::CArchive(CArchive const &)\n333 CArchive::CArchive(CFile *,unsigned int,int,void *)\n334 CArchiveException::CArchiveException(int,wchar_t const *)\n335 CArchivePropExchange::CArchivePropExchange(CArchive &)\n336 CArchiveStream::CArchiveStream(CArchive *)\n337 CAsyncMonikerFile::CAsyncMonikerFile()\n338 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n339 CAsyncSocket::CAsyncSocket()\n340 CBitmap::CBitmap()\n341 CBitmapButton::CBitmapButton()\n342 CBlobProperty::CBlobProperty(void *)\n343 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n344 CBrush::CBrush(int,unsigned long)\n345 CBrush::CBrush(unsigned long)\n346 CBrush::CBrush(CBitmap *)\n347 CBrush::CBrush()\n348 CButton::CButton()\n349 CByteArray::CByteArray()\n350 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n351 CCachedDataPathProperty::CCachedDataPathProperty(wchar_t const *,COleControl *)\n352 CCheckListBox::CCheckListBox()\n353 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n354 CClientDC::CClientDC(CWnd *)\n355 CCmdTarget::CCmdTarget()\n356 CCmdUI::CCmdUI()\n357 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n358 CComboBox::CComboBox()\n359 CComboBoxEx::CComboBoxEx()\n360 CCommandLineInfo::CCommandLineInfo()\n361 CCommonDialog::CCommonDialog(CWnd *)\n362 CConnectionPoint::CConnectionPoint()\n363 CControlBar::CControlBar()\n364 CControlBarInfo::CControlBarInfo()\n365 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n366 CControlFrameWnd::CControlFrameWnd(COleControl *)\n367 CCreateContext::CCreateContext()\n368 CCriticalSection::CCriticalSection()\n369 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n370 CDatabase::CDatabase()\n371 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n372 CDataExchange::CDataExchange(CWnd *,int)\n373 CDataPathProperty::CDataPathProperty(COleControl *)\n374 CDataPathProperty::CDataPathProperty(wchar_t const *,COleControl *)\n375 CDataSourceControl::CDataSourceControl(COleControlSite *)\n376 CDateTimeCtrl::CDateTimeCtrl()\n377 CDBException::CDBException(short)\n378 CDBVariant::CDBVariant()\n379 CDC::CDC()\n380 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n381 CDHtmlControlSink::CDHtmlControlSink()\n382 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n383 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n384 CDHtmlDialog::CDHtmlDialog()\n385 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n386 CDialog::CDialog(unsigned int,CWnd *)\n387 CDialog::CDialog(wchar_t const *,CWnd *)\n388 CDialog::CDialog()\n389 CDialogBar::CDialogBar()\n390 CDialogTemplate::CDialogTemplate(void *)\n391 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n392 CDocItem::CDocItem()\n393 CDockBar::CDockBar(int)\n394 CDockContext::CDockContext(CControlBar *)\n395 CDockState::CDockState()\n396 CDocManager::CDocManager()\n397 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n398 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n399 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n400 CDocument::CDocument()\n401 CDragListBox::CDragListBox()\n402 CDumpContext::CDumpContext(CDumpContext const &)\n403 CDumpContext::CDumpContext(CFile *)\n404 CDWordArray::CDWordArray()\n405 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n406 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n407 CEdit::CEdit()\n408 CEditView::CEditView()\n409 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n410 CEnumConnections::CEnumConnections(void const *,unsigned int)\n411 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n412 CEnumFormatEtc::CEnumFormatEtc()\n413 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n414 CException::CException(int)\n415 CException::CException()\n416 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n417 CFile::CFile(void *)\n418 CFile::CFile(wchar_t const *,unsigned int)\n419 CFile::CFile()\n420 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n421 CFileException::CFileException(int,long,wchar_t const *)\n422 CFileFind::CFileFind()\n423 CFindReplaceDialog::CFindReplaceDialog()\n424 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n425 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n426 CFont::CFont()\n427 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n428 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n429 CFontHolder::CFontHolder(IPropertyNotifySink *)\n430 CFormView::CFormView(unsigned int)\n431 CFormView::CFormView(wchar_t const *)\n432 CFrameWnd::CFrameWnd()\n433 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n434 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n435 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n436 CGdiObject::CGdiObject()\n437 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n438 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n439 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n440 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n441 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n442 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n443 CGopherLocator::CGopherLocator(CGopherLocator const &)\n444 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n445 CHeaderCtrl::CHeaderCtrl()\n446 CHotKeyCtrl::CHotKeyCtrl()\n447 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n448 CHtmlEditCtrl::CHtmlEditCtrl()\n449 CHtmlEditDoc::CHtmlEditDoc()\n450 CHtmlEditView::CHtmlEditView()\n451 CHtmlView::CHtmlView()\n452 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n453 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n454 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n455 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n456 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n457 CImageList::CImageList()\n458 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n459 CInternetException::CInternetException(unsigned long)\n460 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n461 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n462 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n463 CInvalidArgException::CInvalidArgException(int,unsigned int)\n464 CInvalidArgException::CInvalidArgException()\n465 CIPAddressCtrl::CIPAddressCtrl()\n466 CListBox::CListBox()\n467 CListCtrl::CListCtrl()\n468 CListView::CListView()\n469 CLongBinary::CLongBinary()\n470 CMapPtrToPtr::CMapPtrToPtr(int)\n471 CMapPtrToWord::CMapPtrToWord(int)\n472 CMapStringToOb::CMapStringToOb(int)\n473 CMapStringToPtr::CMapStringToPtr(int)\n474 CMapStringToString::CMapStringToString(int)\n475 CMapWordToOb::CMapWordToOb(int)\n476 CMapWordToPtr::CMapWordToPtr(int)\n477 CMDIChildWnd::CMDIChildWnd()\n478 CMDIFrameWnd::CMDIFrameWnd()\n479 CMemFile::CMemFile(unsigned int)\n480 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n481 CMemoryException::CMemoryException(int,unsigned int)\n482 CMemoryException::CMemoryException()\n483 CMemoryState::CMemoryState()\n484 CMenu::CMenu()\n485 CMetaFileDC::CMetaFileDC()\n486 CMiniDockFrameWnd::CMiniDockFrameWnd()\n487 CMiniFrameWnd::CMiniFrameWnd()\n488 CMonikerFile::CMonikerFile()\n489 CMonthCalCtrl::CMonthCalCtrl()\n490 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n491 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n492 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n493 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n494 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n495 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n496 CNotSupportedException::CNotSupportedException(int,unsigned int)\n497 CNotSupportedException::CNotSupportedException()\n498 CObArray::CObArray()\n499 CObject::CObject()\n500 CObList::CObList(int)\n501 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n502 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n503 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n504 COleClientItem::COleClientItem(COleDocument *)\n505 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n506 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n507 COleControl::COleControl()\n508 COleControlContainer::COleControlContainer(CWnd *)\n509 COleControlLock::COleControlLock(_GUID const &)\n510 COleControlSite::COleControlSite(COleControlContainer *)\n511 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n512 COleCurrency::COleCurrency(tagVARIANT const &)\n513 COleCurrency::COleCurrency(COleCurrency const &)\n514 COleCurrency::COleCurrency(long,long)\n515 COleCurrency::COleCurrency(union tagCY)\n516 COleCurrency::COleCurrency()\n517 COleDataObject::COleDataObject()\n518 COleDataSource::COleDataSource()\n519 COleDialog::COleDialog(CWnd *)\n520 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n521 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n522 COleDispatchDriver::COleDispatchDriver()\n523 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n524 COleDocIPFrameWnd::COleDocIPFrameWnd()\n525 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n526 COleDocument::COleDocument()\n527 COleDropSource::COleDropSource()\n528 COleDropTarget::COleDropTarget()\n529 COleException::COleException()\n530 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n531 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n532 COleIPFrameWnd::COleIPFrameWnd()\n533 COleLinkingDoc::COleLinkingDoc()\n534 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n535 COleMessageFilter::COleMessageFilter()\n536 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n537 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n538 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n539 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n540 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n541 COleResizeBar::COleResizeBar()\n542 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n543 COleSafeArray::COleSafeArray(tagVARIANT const &)\n544 COleSafeArray::COleSafeArray(COleSafeArray const &)\n545 COleSafeArray::COleSafeArray(COleVariant const &)\n546 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n547 COleSafeArray::COleSafeArray(tagVARIANT const *)\n548 COleSafeArray::COleSafeArray()\n549 COleServerDoc::COleServerDoc()\n550 COleServerItem::COleServerItem(COleServerDoc *,int)\n551 COleStreamFile::COleStreamFile(IStream *)\n552 COleTemplateServer::COleTemplateServer()\n553 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n554 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n555 COleVariant::COleVariant(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n556 COleVariant::COleVariant(tagVARIANT const &)\n557 COleVariant::COleVariant(COleVariant const &)\n558 COleVariant::COleVariant(CByteArray const &)\n559 COleVariant::COleVariant(CLongBinary const &)\n560 COleVariant::COleVariant(COleCurrency const &)\n561 COleVariant::COleVariant(ATL::COleDateTime const &)\n562 COleVariant::COleVariant(unsigned char)\n563 COleVariant::COleVariant(short,unsigned short)\n564 COleVariant::COleVariant(long,unsigned short)\n565 COleVariant::COleVariant(float)\n566 COleVariant::COleVariant(double)\n567 COleVariant::COleVariant(wchar_t const *)\n568 COleVariant::COleVariant(wchar_t const *,unsigned short)\n569 COleVariant::COleVariant(_ITEMIDLIST const *)\n570 COleVariant::COleVariant(tagVARIANT const *)\n571 COleVariant::COleVariant()\n572 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n573 CPaintDC::CPaintDC(CWnd *)\n574 CPalette::CPalette()\n575 CPen::CPen(int,int,unsigned long)\n576 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n577 CPen::CPen()\n578 CPictureHolder::CPictureHolder()\n579 CPreviewDC::CPreviewDC()\n580 CPreviewView::CPreviewView()\n581 CPrintDialog::CPrintDialog(tagPDW &)\n582 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n583 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n584 CPrintInfo::CPrintInfo()\n585 CPrintPreviewState::CPrintPreviewState()\n586 CProgressCtrl::CProgressCtrl()\n587 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n588 CProperty::CProperty(unsigned long,void * const,unsigned long)\n589 CProperty::CProperty()\n590 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n591 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n592 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n593 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n594 CPropertyPage::CPropertyPage()\n595 CPropertySection::CPropertySection(_GUID)\n596 CPropertySection::CPropertySection()\n597 CPropertySet::CPropertySet(_GUID)\n598 CPropertySet::CPropertySet()\n599 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n600 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n601 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n602 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n603 CPropertySheet::CPropertySheet()\n604 CPropExchange::CPropExchange()\n605 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n606 CPtrArray::CPtrArray()\n607 CPtrList::CPtrList(int)\n608 CReBar::CReBar()\n609 CReBarCtrl::CReBarCtrl()\n610 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n611 CRecordset::CRecordset(CDatabase *)\n612 CRecordView::CRecordView(unsigned int)\n613 CRecordView::CRecordView(wchar_t const *)\n614 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n615 CRectTracker::CRectTracker()\n616 CReObject::CReObject(CRichEditCntrItem *)\n617 CReObject::CReObject()\n618 CResetPropExchange::CResetPropExchange()\n619 CResourceException::CResourceException(int,unsigned int)\n620 CResourceException::CResourceException()\n621 CRgn::CRgn()\n622 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n623 CRichEditCtrl::CRichEditCtrl()\n624 CRichEditDoc::CRichEditDoc()\n625 CRichEditView::CRichEditView()\n626 CScrollBar::CScrollBar()\n627 CScrollView::CScrollView()\n628 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n629 CSharedFile::CSharedFile(unsigned int,unsigned int)\n630 CSimpleException::CSimpleException(int)\n631 CSimpleException::CSimpleException()\n632 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n633 CSingleLock::CSingleLock(CSyncObject *,int)\n634 CSliderCtrl::CSliderCtrl()\n635 CSocket::CSocket()\n636 CSocketFile::CSocketFile(CSocket *,int)\n637 CSocketWnd::CSocketWnd()\n638 CSpinButtonCtrl::CSpinButtonCtrl()\n639 CSplitterWnd::CSplitterWnd()\n640 CStatic::CStatic()\n641 CStatusBar::CStatusBar()\n642 CStatusBarCtrl::CStatusBarCtrl()\n643 CStdioFile::CStdioFile(_iobuf *)\n644 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n645 CStdioFile::CStdioFile()\n646 CStringArray::CStringArray()\n647 CStringList::CStringList(int)\n648 CSyncObject::CSyncObject(wchar_t const *)\n649 CTabCtrl::CTabCtrl()\n650 CTestCmdUI::CTestCmdUI()\n651 CThreadSlotData::CThreadSlotData()\n652 CToolBar::CToolBar()\n653 CToolBarCtrl::CToolBarCtrl()\n654 CToolTipCtrl::CToolTipCtrl()\n655 CTreeCtrl::CTreeCtrl()\n656 CTreeView::CTreeView()\n657 CUIntArray::CUIntArray()\n658 CUserException::CUserException(int,unsigned int)\n659 CUserException::CUserException()\n660 CView::CView()\n661 CWaitCursor::CWaitCursor()\n662 CWinApp::CWinApp(wchar_t const *)\n663 CWindowDC::CWindowDC(CWnd *)\n664 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n665 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n666 CWinThread::CWinThread()\n667 CWnd::CWnd(HWND__ *)\n668 CWnd::CWnd()\n669 CWordArray::CWordArray()\n670 CPreviewView::PAGE_INFO::PAGE_INFO()\n671 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n672 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n673 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n675 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n676 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n677 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n678 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n679 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n680 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n681 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n682 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n683 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n684 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n685 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n686 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n687 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n688 CAnimateCtrl::~CAnimateCtrl()\n689 CArchive::~CArchive()\n690 CArchiveException::~CArchiveException()\n691 CAsyncMonikerFile::~CAsyncMonikerFile()\n692 CAsyncSocket::~CAsyncSocket()\n693 CBitmap::~CBitmap()\n694 CBrush::~CBrush()\n695 CButton::~CButton()\n696 CByteArray::~CByteArray()\n697 CClientDC::~CClientDC()\n698 CCmdTarget::~CCmdTarget()\n699 CComboBox::~CComboBox()\n700 CComboBoxEx::~CComboBoxEx()\n701 CCommandLineInfo::~CCommandLineInfo()\n702 CConnectionPoint::~CConnectionPoint()\n703 CControlBar::~CControlBar()\n704 CCriticalSection::~CCriticalSection()\n705 CCtrlView::~CCtrlView()\n706 CDatabase::~CDatabase()\n707 CDataSourceControl::~CDataSourceControl()\n708 CDateTimeCtrl::~CDateTimeCtrl()\n709 CDBException::~CDBException()\n710 CDBVariant::~CDBVariant()\n711 CDC::~CDC()\n712 CDHtmlControlSink::~CDHtmlControlSink()\n713 CDHtmlDialog::~CDHtmlDialog()\n714 CDialog::~CDialog()\n715 CDialogBar::~CDialogBar()\n716 CDialogTemplate::~CDialogTemplate()\n717 CDocItem::~CDocItem()\n718 CDockBar::~CDockBar()\n719 CDockContext::~CDockContext()\n720 CDockState::~CDockState()\n721 CDocManager::~CDocManager()\n722 CDocObjectServer::~CDocObjectServer()\n723 CDocObjectServerItem::~CDocObjectServerItem()\n724 CDocTemplate::~CDocTemplate()\n725 CDocument::~CDocument()\n726 CDragListBox::~CDragListBox()\n727 CDWordArray::~CDWordArray()\n728 CDynLinkLibrary::~CDynLinkLibrary()\n729 CEdit::~CEdit()\n730 CEditView::~CEditView()\n731 CEnumArray::~CEnumArray()\n732 CEnumConnections::~CEnumConnections()\n733 CEnumConnPoints::~CEnumConnPoints()\n734 CEnumFormatEtc::~CEnumFormatEtc()\n735 CEnumOleVerb::~CEnumOleVerb()\n736 CEnumUnknown::~CEnumUnknown()\n737 CEvent::~CEvent()\n738 CException::~CException()\n739 CFile::~CFile()\n740 CFileDialog::~CFileDialog()\n741 CFileException::~CFileException()\n742 CFileFind::~CFileFind()\n743 CFixedAlloc::~CFixedAlloc()\n744 CFixedAllocNoSync::~CFixedAllocNoSync()\n745 CFont::~CFont()\n746 CFontHolder::~CFontHolder()\n747 CFrameWnd::~CFrameWnd()\n748 CFtpConnection::~CFtpConnection()\n749 CFtpFileFind::~CFtpFileFind()\n750 CGdiObject::~CGdiObject()\n751 CGopherConnection::~CGopherConnection()\n752 CGopherFile::~CGopherFile()\n753 CGopherFileFind::~CGopherFileFind()\n754 CGopherLocator::~CGopherLocator()\n755 CHeaderCtrl::~CHeaderCtrl()\n756 CHotKeyCtrl::~CHotKeyCtrl()\n757 CHtmlControlSite::~CHtmlControlSite()\n758 CHtmlEditCtrl::~CHtmlEditCtrl()\n759 CHtmlEditDoc::~CHtmlEditDoc()\n760 CHtmlEditView::~CHtmlEditView()\n761 CHtmlView::~CHtmlView()\n762 CHttpConnection::~CHttpConnection()\n763 CHttpFile::~CHttpFile()\n764 CImageList::~CImageList()\n765 CInternetConnection::~CInternetConnection()\n766 CInternetException::~CInternetException()\n767 CInternetFile::~CInternetFile()\n768 CInternetSession::~CInternetSession()\n769 CInvalidArgException::~CInvalidArgException()\n770 CIPAddressCtrl::~CIPAddressCtrl()\n771 CListBox::~CListBox()\n772 CListCtrl::~CListCtrl()\n773 CLongBinary::~CLongBinary()\n774 CMapPtrToPtr::~CMapPtrToPtr()\n775 CMapPtrToWord::~CMapPtrToWord()\n776 CMapStringToOb::~CMapStringToOb()\n777 CMapStringToPtr::~CMapStringToPtr()\n778 CMapStringToString::~CMapStringToString()\n779 CMapWordToOb::~CMapWordToOb()\n780 CMapWordToPtr::~CMapWordToPtr()\n781 CMemFile::~CMemFile()\n782 CMemoryException::~CMemoryException()\n783 CMenu::~CMenu()\n784 CMetaFileDC::~CMetaFileDC()\n785 CMiniFrameWnd::~CMiniFrameWnd()\n786 CMonikerFile::~CMonikerFile()\n787 CMonthCalCtrl::~CMonthCalCtrl()\n788 CMultiDocTemplate::~CMultiDocTemplate()\n789 CMultiLock::~CMultiLock()\n790 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n791 CMutex::~CMutex()\n792 CNotSupportedException::~CNotSupportedException()\n793 CObArray::~CObArray()\n794 CObject::~CObject()\n795 CObList::~CObList()\n796 COleBusyDialog::~COleBusyDialog()\n797 COleChangeIconDialog::~COleChangeIconDialog()\n798 COleChangeSourceDialog::~COleChangeSourceDialog()\n799 COleClientItem::~COleClientItem()\n800 COleCntrFrameWnd::~COleCntrFrameWnd()\n801 COleControl::~COleControl()\n802 COleControlContainer::~COleControlContainer()\n803 COleControlLock::~COleControlLock()\n804 COleControlSite::~COleControlSite()\n805 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n806 COleConvertDialog::~COleConvertDialog()\n807 COleDataObject::~COleDataObject()\n808 COleDataSource::~COleDataSource()\n809 COleDispatchDriver::~COleDispatchDriver()\n810 COleDispatchException::~COleDispatchException()\n811 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n812 COleDocObjectItem::~COleDocObjectItem()\n813 COleDocument::~COleDocument()\n814 COleDropTarget::~COleDropTarget()\n815 COleException::~COleException()\n816 COleFrameHook::~COleFrameHook()\n817 COleInsertDialog::~COleInsertDialog()\n818 COleIPFrameWnd::~COleIPFrameWnd()\n819 COleLinkingDoc::~COleLinkingDoc()\n820 COleLinksDialog::~COleLinksDialog()\n821 COleMessageFilter::~COleMessageFilter()\n822 COleObjectFactory::~COleObjectFactory()\n823 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n824 COlePropertyPage::~COlePropertyPage()\n825 COleResizeBar::~COleResizeBar()\n826 COleSafeArray::~COleSafeArray()\n827 COleServerDoc::~COleServerDoc()\n828 COleServerItem::~COleServerItem()\n829 COleStreamFile::~COleStreamFile()\n830 COleUpdateDialog::~COleUpdateDialog()\n831 COleVariant::~COleVariant()\n832 CPaintDC::~CPaintDC()\n833 CPalette::~CPalette()\n834 CPen::~CPen()\n835 CPictureHolder::~CPictureHolder()\n836 CPreviewDC::~CPreviewDC()\n837 CPreviewView::~CPreviewView()\n838 CPrintInfo::~CPrintInfo()\n839 CProcessLocalObject::~CProcessLocalObject()\n840 CProgressCtrl::~CProgressCtrl()\n841 CPropbagPropExchange::~CPropbagPropExchange()\n842 CProperty::~CProperty()\n843 CPropertyPage::~CPropertyPage()\n844 CPropertySection::~CPropertySection()\n845 CPropertySet::~CPropertySet()\n846 CPropertySheet::~CPropertySheet()\n847 CPtrArray::~CPtrArray()\n848 CPtrList::~CPtrList()\n849 CRecentFileList::~CRecentFileList()\n850 CRecordset::~CRecordset()\n851 CRecordView::~CRecordView()\n852 CRectTracker::~CRectTracker()\n853 CReObject::~CReObject()\n854 CResourceException::~CResourceException()\n855 CRgn::~CRgn()\n856 CRichEditCntrItem::~CRichEditCntrItem()\n857 CRichEditCtrl::~CRichEditCtrl()\n858 CScrollBar::~CScrollBar()\n859 CScrollView::~CScrollView()\n860 CSemaphore::~CSemaphore()\n861 CSharedFile::~CSharedFile()\n862 CSimpleException::~CSimpleException()\n863 CSingleDocTemplate::~CSingleDocTemplate()\n864 CSingleLock::~CSingleLock()\n865 CSliderCtrl::~CSliderCtrl()\n866 CSocket::~CSocket()\n867 CSocketFile::~CSocketFile()\n868 CSpinButtonCtrl::~CSpinButtonCtrl()\n869 CSplitterWnd::~CSplitterWnd()\n870 CStatic::~CStatic()\n871 CStatusBar::~CStatusBar()\n872 CStatusBarCtrl::~CStatusBarCtrl()\n873 CStdioFile::~CStdioFile()\n874 CStringArray::~CStringArray()\n875 CStringList::~CStringList()\n876 CSyncObject::~CSyncObject()\n877 CTabCtrl::~CTabCtrl()\n878 CThreadLocalObject::~CThreadLocalObject()\n879 CThreadSlotData::~CThreadSlotData()\n880 CToolBar::~CToolBar()\n881 CToolBarCtrl::~CToolBarCtrl()\n882 CToolTipCtrl::~CToolTipCtrl()\n883 CTreeCtrl::~CTreeCtrl()\n884 CUIntArray::~CUIntArray()\n885 CUserException::~CUserException()\n886 CView::~CView()\n887 CWaitCursor::~CWaitCursor()\n888 CWinApp::~CWinApp()\n889 CWindowDC::~CWindowDC()\n890 CWinThread::~CWinThread()\n891 CWnd::~CWnd()\n892 CWordArray::~CWordArray()\n893 void * operator new(unsigned int)\n894 void * operator new(unsigned int,int,char const *,int)\n895 void * operator new(unsigned int,char const *,int)\n896 void * CNoTrackObject::operator new(unsigned int)\n897 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n898 void * CObject::operator new(unsigned int)\n899 void * CObject::operator new(unsigned int,void *)\n900 void * CObject::operator new(unsigned int,char const *,int)\n901 void operator delete(void *)\n902 void operator delete(void *,int,char const *,int)\n903 void operator delete(void *,char const *,int)\n904 void CException::operator delete(void *)\n905 void CException::operator delete(void *,char const *,int)\n906 void CNoTrackObject::operator delete(void *)\n907 void CNoTrackObject::operator delete(void *,char const *,int)\n908 void CObject::operator delete(void *)\n909 void CObject::operator delete(void *,void *)\n910 void CObject::operator delete(void *,char const *,int)\n911 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n912 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n913 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n914 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n915 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n916 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n919 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n920 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n921 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n922 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n923 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n926 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n927 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n928 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n929 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n930 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n931 void CArchive::operator=(CArchive const &)\n932 void CDumpContext::operator=(CDumpContext const &)\n933 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n934 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n935 COleCurrency const & COleCurrency::operator=(union tagCY)\n936 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n937 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n938 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n939 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n940 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n941 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n942 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n943 COleVariant const & COleVariant::operator=(COleVariant const &)\n944 COleVariant const & COleVariant::operator=(CByteArray const &)\n945 COleVariant const & COleVariant::operator=(CLongBinary const &)\n946 COleVariant const & COleVariant::operator=(COleCurrency const &)\n947 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n948 COleVariant const & COleVariant::operator=(unsigned char)\n949 COleVariant const & COleVariant::operator=(short)\n950 COleVariant const & COleVariant::operator=(long)\n951 COleVariant const & COleVariant::operator=(float)\n952 COleVariant const & COleVariant::operator=(double)\n953 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n954 COleVariant const & COleVariant::operator=(wchar_t const * const)\n955 CArchive & operator>>(CArchive &,CByteArray * &)\n956 CArchive & operator>>(CArchive &,CDocItem * &)\n957 CArchive & operator>>(CArchive &,CDockState * &)\n958 CArchive & operator>>(CArchive &,CDWordArray * &)\n959 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n960 CArchive & operator>>(CArchive &,CMapStringToString * &)\n961 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n962 CArchive & operator>>(CArchive &,CObArray * &)\n963 CArchive & operator>>(CArchive &,CObject * &)\n964 CArchive & operator>>(CArchive &,CObList * &)\n965 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n966 CArchive & operator>>(CArchive &,CStringArray * &)\n967 CArchive & operator>>(CArchive &,CStringList * &)\n968 CArchive & operator>>(CArchive &,CWordArray * &)\n969 CArchive & operator>>(CArchive &,CObject const * &)\n970 CArchive & operator>>(CArchive &,tagPOINT &)\n971 CArchive & operator>>(CArchive &,tagRECT &)\n972 CArchive & operator>>(CArchive &,tagSIZE &)\n973 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n974 CArchive & operator>>(CArchive &,COleCurrency &)\n975 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n976 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n977 CArchive & operator>>(CArchive &,COleVariant &)\n978 CArchive & operator>>(CArchive &,ATL::CTime &)\n979 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n980 CArchive & CArchive::operator>>(__int64 &)\n981 CArchive & CArchive::operator>>(unsigned __int64 &)\n982 CArchive & CArchive::operator>>(bool &)\n983 CArchive & CArchive::operator>>(wchar_t &)\n984 CArchive & CArchive::operator>>(char &)\n985 CArchive & CArchive::operator>>(unsigned char &)\n986 CArchive & CArchive::operator>>(short &)\n987 CArchive & CArchive::operator>>(unsigned short &)\n988 CArchive & CArchive::operator>>(int &)\n989 CArchive & CArchive::operator>>(unsigned int &)\n990 CArchive & CArchive::operator>>(long &)\n991 CArchive & CArchive::operator>>(unsigned long &)\n992 CArchive & CArchive::operator>>(float &)\n993 CArchive & CArchive::operator>>(double &)\n994 CArchive & operator<<(CArchive &,tagRECT const &)\n995 CArchive & operator<<(CArchive &,CObject const *)\n996 CArchive & operator<<(CArchive &,tagPOINT)\n997 CArchive & operator<<(CArchive &,tagSIZE)\n998 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n999 CArchive & operator<<(CArchive &,COleCurrency)\n1000 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1001 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1002 CArchive & operator<<(CArchive &,COleVariant)\n1003 CArchive & operator<<(CArchive &,ATL::CTime)\n1004 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1005 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1006 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1007 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1008 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1009 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1010 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1011 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1012 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1013 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1014 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1015 CArchive & CArchive::operator<<(__int64)\n1016 CArchive & CArchive::operator<<(unsigned __int64)\n1017 CArchive & CArchive::operator<<(bool)\n1018 CArchive & CArchive::operator<<(wchar_t)\n1019 CArchive & CArchive::operator<<(char)\n1020 CArchive & CArchive::operator<<(unsigned char)\n1021 CArchive & CArchive::operator<<(short)\n1022 CArchive & CArchive::operator<<(unsigned short)\n1023 CArchive & CArchive::operator<<(int)\n1024 CArchive & CArchive::operator<<(unsigned int)\n1025 CArchive & CArchive::operator<<(long)\n1026 CArchive & CArchive::operator<<(unsigned long)\n1027 CArchive & CArchive::operator<<(float)\n1028 CArchive & CArchive::operator<<(double)\n1029 CDumpContext & CDumpContext::operator<<(__int64)\n1030 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1031 CDumpContext & CDumpContext::operator<<(CObject const &)\n1032 CDumpContext & CDumpContext::operator<<(unsigned char)\n1033 CDumpContext & CDumpContext::operator<<(unsigned short)\n1034 CDumpContext & CDumpContext::operator<<(int)\n1035 CDumpContext & CDumpContext::operator<<(unsigned int)\n1036 CDumpContext & CDumpContext::operator<<(long)\n1037 CDumpContext & CDumpContext::operator<<(unsigned long)\n1038 CDumpContext & CDumpContext::operator<<(float)\n1039 CDumpContext & CDumpContext::operator<<(double)\n1040 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1041 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1042 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1043 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1044 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1045 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1046 CDumpContext & CDumpContext::operator<<(char const *)\n1047 CDumpContext & CDumpContext::operator<<(CObject const *)\n1048 CDumpContext & CDumpContext::operator<<(void const *)\n1049 int CGdiObject::operator==(CGdiObject const &)const \n1050 int CMenu::operator==(CMenu const &)const \n1051 int COleCurrency::operator==(COleCurrency const &)const \n1052 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1053 int COleSafeArray::operator==(tagVARIANT const &)const \n1054 int COleSafeArray::operator==(COleSafeArray const &)const \n1055 int COleSafeArray::operator==(COleVariant const &)const \n1056 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1057 int COleSafeArray::operator==(tagVARIANT const *)const \n1058 int COleVariant::operator==(tagVARIANT const &)const \n1059 int COleVariant::operator==(tagVARIANT const *)const \n1060 int CWnd::operator==(CWnd const &)const \n1061 int CGdiObject::operator!=(CGdiObject const &)const \n1062 int CMenu::operator!=(CMenu const &)const \n1063 int COleCurrency::operator!=(COleCurrency const &)const \n1064 int CWnd::operator!=(CWnd const &)const \n1065 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1066 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1067 unsigned char & CByteArray::operator[](int)\n1068 unsigned char CByteArray::operator[](int)const \n1069 unsigned long & CDWordArray::operator[](int)\n1070 unsigned long CDWordArray::operator[](int)const \n1071 void * & CMapPtrToPtr::operator[](void *)\n1072 unsigned short & CMapPtrToWord::operator[](void *)\n1073 CObject * & CMapStringToOb::operator[](wchar_t const *)\n1074 void * & CMapStringToPtr::operator[](wchar_t const *)\n1075 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n1076 CObject * & CMapWordToOb::operator[](unsigned short)\n1077 void * & CMapWordToPtr::operator[](unsigned short)\n1078 CObject * & CObArray::operator[](int)\n1079 CObject * CObArray::operator[](int)const \n1080 void * & CPtrArray::operator[](int)\n1081 void * CPtrArray::operator[](int)const \n1082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::operator[](int)\n1083 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::operator[](int)const \n1084 unsigned int & CUIntArray::operator[](int)\n1085 unsigned int CUIntArray::operator[](int)const \n1086 unsigned short & CWordArray::operator[](int)\n1087 unsigned short CWordArray::operator[](int)const \n1088 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n1089 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n1090 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n1091 ATL::CSimpleStringT<char,1>::operator char const *()const \n1092 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n1093 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n1094 CAsyncSocket::operator unsigned int()const \n1095 CBitmap::operator HBITMAP__ *()const \n1096 CBrush::operator HBRUSH__ *()const \n1097 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1098 CDC::operator HDC__ *()const \n1099 CFile::operator void *()const \n1100 CFont::operator HFONT__ *()const \n1101 CGdiObject::operator void *()const \n1102 CGopherLocator::operator wchar_t const *()const \n1103 CImageList::operator _IMAGELIST *()const \n1104 CInternetConnection::operator void *()const \n1105 CInternetFile::operator void *()const \n1106 CInternetSession::operator void *()const \n1107 CMenu::operator HMENU__ *()const \n1108 COleCurrency::operator union tagCY()const \n1109 COleDispatchDriver::operator IDispatch *()\n1110 COleSafeArray::operator tagVARIANT *()\n1111 COleSafeArray::operator tagVARIANT const *()const \n1112 COleVariant::operator tagVARIANT *()\n1113 COleVariant::operator tagVARIANT const *()const \n1114 CPalette::operator HPALETTE__ *()const \n1115 CPen::operator HPEN__ *()const \n1116 CRgn::operator HRGN__ *()const \n1117 CSyncObject::operator void *()const \n1118 CWinThread::operator void *()const \n1119 CWnd::operator HWND__ *()const \n1120 COleCurrency COleCurrency::operator*(long)const \n1121 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1122 COleCurrency COleCurrency::operator-()const \n1123 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1124 COleCurrency COleCurrency::operator/(long)const \n1125 int COleCurrency::operator<(COleCurrency const &)const \n1126 int COleCurrency::operator<=(COleCurrency const &)const \n1127 int COleCurrency::operator>(COleCurrency const &)const \n1128 int COleCurrency::operator>=(COleCurrency const &)const \n1129 COleCurrency const & COleCurrency::operator*=(long)\n1130 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1131 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1132 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1133 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1134 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1135 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1136 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1137 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1138 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1139 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1140 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1141 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1142 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1143 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1146 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1147 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1148 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1149 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1152 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1153 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1154 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1155 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1156 int _AfxAbortProc(HDC__ *,int)\n1157 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1158 int _AfxDeleteRegKey(wchar_t const *)\n1159 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1160 int _AfxSocketInit(WSAData *)\n1161 void CArchive::Abort()\n1162 void CFile::Abort()\n1163 void CInternetFile::Abort()\n1164 void CMemFile::Abort()\n1165 void CMirrorFile::Abort()\n1166 void COleStreamFile::Abort()\n1167 void CSocketFile::Abort()\n1168 void CStdioFile::Abort()\n1169 int CDC::AbortDoc()\n1170 int CDC::AbortPath()\n1171 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1172 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1173 long CWnd::accDoDefaultAction(tagVARIANT)\n1174 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1175 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1176 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1177 void COleSafeArray::AccessData(void * *)\n1178 long CWnd::accHitTest(long,long,tagVARIANT *)\n1179 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1180 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1181 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1182 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1183 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1184 long CWnd::accSelect(long,tagVARIANT)\n1185 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1186 void COleClientItem::Activate(long,CView *,tagMSG *)\n1187 void CToolTipCtrl::Activate(int)\n1188 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1189 void COleDocObjectItem::ActivateAndShow()\n1190 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1191 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1192 void CDocObjectServer::ActivateDocObject()\n1193 void COleServerDoc::ActivateDocObject()\n1194 void CFrameWnd::ActivateFrame(int)\n1195 void CMDIChildWnd::ActivateFrame(int)\n1196 int COleServerDoc::ActivateInPlace()\n1197 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1198 void CSplitterWnd::ActivateNext(int)\n1199 void CWnd::ActivateTopParent()\n1200 int CByteArray::Add(unsigned char)\n1201 int CDWordArray::Add(unsigned long)\n1202 int CImageList::Add(HICON__ *)\n1203 int CImageList::Add(CBitmap *,CBitmap *)\n1204 int CImageList::Add(CBitmap *,unsigned long)\n1205 int CObArray::Add(CObject *)\n1206 int CPtrArray::Add(void *)\n1207 void CRecentFileList::Add(wchar_t const *)\n1208 int CStringArray::Add(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1209 int CStringArray::Add(wchar_t const *)\n1210 int CUIntArray::Add(unsigned int)\n1211 int CWordArray::Add(unsigned short)\n1212 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n1213 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n1214 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1215 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1216 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1217 void COleClientItem::AddCachedData(COleDataSource *)\n1218 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1219 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1220 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1221 void CFrameWnd::AddControlBar(CControlBar *)\n1222 void CDocManager::AddDocTemplate(CDocTemplate *)\n1223 void CWinApp::AddDocTemplate(CDocTemplate *)\n1224 void CDocTemplate::AddDocument(CDocument *)\n1225 void CMultiDocTemplate::AddDocument(CDocument *)\n1226 void CSingleDocTemplate::AddDocument(CDocument *)\n1227 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1228 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n1229 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1230 void COleControl::AddFrameLevelUI()\n1231 void CFrameWnd::AddFrameWnd()\n1232 __POSITION * CObList::AddHead(CObject *)\n1233 void CObList::AddHead(CObList *)\n1234 __POSITION * CPtrList::AddHead(void *)\n1235 void CPtrList::AddHead(CPtrList *)\n1236 void CSimpleList::AddHead(void *)\n1237 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1238 __POSITION * CStringList::AddHead(wchar_t const *)\n1239 void CStringList::AddHead(CStringList *)\n1240 void COleDocument::AddItem(CDocItem *)\n1241 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1242 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1243 void CRecordset::AddNew()\n1244 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1245 void CPropertySheet::AddPage(CPropertyPage *)\n1246 void CPropertySection::AddProperty(CProperty *)\n1247 void CPropertySet::AddProperty(_GUID,CProperty *)\n1248 unsigned long CArchiveStream::AddRef()\n1249 unsigned long CBlobProperty::AddRef()\n1250 unsigned long CBrowserControlSite::AddRef()\n1251 unsigned long CDHtmlControlSink::AddRef()\n1252 unsigned long CDHtmlElementEventSink::AddRef()\n1253 unsigned long CDHtmlEventSink::AddRef()\n1254 unsigned long CInnerUnknown::AddRef()\n1255 unsigned long COleConnPtContainer::AddRef()\n1256 unsigned long COleDispatchImpl::AddRef()\n1257 unsigned long COleUILinkInfo::AddRef()\n1258 unsigned long CPrintDialogEx::AddRef()\n1259 unsigned long CWnd::XAccessible::AddRef()\n1260 unsigned long CWnd::XAccessibleServer::AddRef()\n1261 unsigned long COleClientItem::XAdviseSink::AddRef()\n1262 unsigned long COleControlSite::XAmbientProps::AddRef()\n1263 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1264 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1265 unsigned long CConnectionPoint::XConnPt::AddRef()\n1266 unsigned long COleControl::XDataObject::AddRef()\n1267 unsigned long COleDataSource::XDataObject::AddRef()\n1268 unsigned long COleServerDoc::XDataObject::AddRef()\n1269 unsigned long COleServerItem::XDataObject::AddRef()\n1270 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1271 unsigned long COleDropSource::XDropSource::AddRef()\n1272 unsigned long COleDropTarget::XDropTarget::AddRef()\n1273 unsigned long CEnumArray::XEnumVOID::AddRef()\n1274 unsigned long COleControlSite::XEventSink::AddRef()\n1275 unsigned long COleControl::XFontNotification::AddRef()\n1276 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1277 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1278 unsigned long COleControl::XOleCache::AddRef()\n1279 unsigned long COleClientItem::XOleClientSite::AddRef()\n1280 unsigned long COleControlSite::XOleClientSite::AddRef()\n1281 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1282 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1283 unsigned long COleControlContainer::XOleContainer::AddRef()\n1284 unsigned long COleControl::XOleControl::AddRef()\n1285 unsigned long COleControlSite::XOleControlSite::AddRef()\n1286 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1287 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1288 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1289 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1290 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1291 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1292 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1293 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1294 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1295 unsigned long COleClientItem::XOleIPSite::AddRef()\n1296 unsigned long COleControlSite::XOleIPSite::AddRef()\n1297 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1298 unsigned long CDocObjectServer::XOleObject::AddRef()\n1299 unsigned long COleControl::XOleObject::AddRef()\n1300 unsigned long COleServerDoc::XOleObject::AddRef()\n1301 unsigned long COleServerItem::XOleObject::AddRef()\n1302 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1303 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1304 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1305 unsigned long COleControl::XPersistMemory::AddRef()\n1306 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1307 unsigned long COleControl::XPersistStorage::AddRef()\n1308 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1309 unsigned long COleControl::XPersistStreamInit::AddRef()\n1310 unsigned long COleControl::XPointerInactive::AddRef()\n1311 unsigned long CDocObjectServer::XPrint::AddRef()\n1312 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1313 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1314 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1315 unsigned long COleControl::XProvideClassInfo::AddRef()\n1316 unsigned long COleControl::XQuickActivate::AddRef()\n1317 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1318 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1319 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1320 unsigned long COleControl::XViewObject::AddRef()\n1321 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1322 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1323 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n1324 CPropertySection * CPropertySet::AddSection(_GUID)\n1325 void CPropertySet::AddSection(CPropertySection *)\n1326 void COlePasteSpecialDialog::AddStandardFormats(int)\n1327 int CComboBox::AddString(wchar_t const *)\n1328 int CComboBoxEx::AddString(wchar_t const *)\n1329 int CListBox::AddString(wchar_t const *)\n1330 int CToolBarCtrl::AddString(unsigned int)\n1331 int CToolBarCtrl::AddStrings(wchar_t const *)\n1332 __POSITION * CObList::AddTail(CObject *)\n1333 void CObList::AddTail(CObList *)\n1334 __POSITION * CPtrList::AddTail(void *)\n1335 void CPtrList::AddTail(CPtrList *)\n1336 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1337 __POSITION * CStringList::AddTail(wchar_t const *)\n1338 void CStringList::AddTail(CStringList *)\n1339 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1340 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1341 void CWinApp::AddToRecentFileList(wchar_t const *)\n1342 void CDocument::AddView(CView *)\n1343 void CMetaFileDC::AdjustCP(int)\n1344 void CRichEditView::AdjustDialogPosition(CDialog *)\n1345 void CRectTracker::AdjustRect(int,tagRECT *)\n1346 void CTabCtrl::AdjustRect(int,tagRECT *)\n1347 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1348 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1349 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1350 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1351 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1352 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1353 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1354 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1355 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1356 void AfxAbort()\n1357 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1358 int AfxAssertFailedLine(char const *,int)\n1359 void AfxAssertValidObject(CObject const *,char const *,int)\n1360 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1361 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1362 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1363 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1364 void AfxCancelModes(HWND__ *)\n1365 void AfxCheckError(long)\n1366 int AfxCheckMemory()\n1367 void AfxClassInit(CRuntime*)\n1368 int AfxComparePath(wchar_t const *,wchar_t const *)\n1369 int AfxCompareValueByRef(void *,void *,int)\n1370 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1371 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1372 void AfxCopyValueByRef(void *,void *,long *,int)\n1373 void AfxCoreInitModule()\n1374 HDC__ * AfxCreateDC(void *,void *)\n1375 int AfxCriticalInit()\n1376 int AfxCriticalNewHandler(unsigned int)\n1377 void AfxCriticalTerm()\n1378 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1379 AUX_DATA afxData\n1380 void AfxDeleteObject(void * *)\n1381 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1382 int AfxDiagnosticInit()\n1383 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1384 long AfxDllCanUnloadNow()\n1385 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1386 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1387 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1388 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1389 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1390 CDumpContext afxDump\n1391 void AfxDump(CObject const *)\n1392 int AfxDumpMemoryLeaks()\n1393 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1394 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1395 void AfxEditviewTerm()\n1396 void AfxEnableControlContainer(COccManager *)\n1397 int AfxEnableMemoryTracking(int)\n1398 int AfxEndDeferRegisterClass(long)\n1399 void AfxEndThread(unsigned int,int)\n1400 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1401 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1402 void AfxFailMaxChars(CDataExchange *,int)\n1403 void AfxFailRadio(CDataExchange *)\n1404 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1405 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1406 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1407 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1408 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1409 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1410 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1411 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1412 int AfxFreeLibrary(HINSTANCE__ *)\n1413 void AfxFreeMemoryDebug(void *,int)\n1414 int AfxFullPath(wchar_t *,wchar_t const *)\n1415 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1416 CWinApp * AfxGetApp()\n1417 AFX_MODULE_STATE * AfxGetAppModuleState()\n1418 wchar_t const * AfxGetAppName()\n1419 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1420 tagMSG * AfxGetCurrentMessage()\n1421 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1422 unsigned long AfxGetDllVersion()\n1423 wchar_t const * AfxGetFacilityString(long)\n1424 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1425 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1426 wchar_t const * AfxGetFullScodeString(long)\n1427 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1428 void * AfxGetHENV()\n1429 wchar_t const * AfxGetIIDString(_GUID const &)\n1430 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1431 HINSTANCE__ * AfxGetInstanceHandle()\n1432 unsigned long AfxGetInternetHandleType(void *)\n1433 CWnd * AfxGetMainWnd()\n1434 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1435 AFX_MODULE_STATE * AfxGetModuleState()\n1436 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1437 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1438 HWND__ * AfxGetParentOwner(HWND__ *)\n1439 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1440 HINSTANCE__ * AfxGetResourceHandle()\n1441 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1442 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1443 wchar_t const * AfxGetScodeRangeString(long)\n1444 wchar_t const * AfxGetScodeString(long)\n1445 wchar_t const * AfxGetSeverityString(long)\n1446 ATL::IAtlStringMgr * AfxGetStringManager()\n1447 CWinThread * AfxGetThread()\n1448 _AFX_THREAD_STATE * AfxGetThreadState()\n1449 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1450 void AfxGlobalFree(void *)\n1451 int AfxHelpEnabled()\n1452 void AfxHookWindowCreate(CWnd *)\n1453 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1454 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1455 void AfxInitLocalData(HINSTANCE__ *)\n1456 int AfxInitRichEdit()\n1457 int AfxInitRichEdit2()\n1458 void AfxInitThread()\n1459 int AfxInternalIsIdleMessage(tagMSG *)\n1460 int AfxInternalPreTranslateMessage(tagMSG *)\n1461 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1462 int AfxInternalPumpMessage()\n1463 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1464 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1465 int AfxIsDescendant(HWND__ *,HWND__ *)\n1466 int AfxIsIdleMessage(tagMSG *)\n1467 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1468 int AfxIsValidAddress(void const *,unsigned int,int)\n1469 int AfxIsValidString(wchar_t const *,int)\n1470 int AfxIsValidString(char const *,int)\n1471 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1472 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1473 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1474 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1475 int AfxLoadString(unsigned int,char *,unsigned int)\n1476 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1477 void AfxLockGlobals(int)\n1478 void AfxLockTempMaps()\n1479 CHandleMap * afxMapHDC(int)\n1480 CHandleMap * afxMapHGDIOBJ(int)\n1481 CHandleMap * afxMapHIMAGELIST(int)\n1482 CHandleMap * afxMapHMENU(int)\n1483 CHandleMap * afxMapHWND(int)\n1484 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1485 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1486 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1487 int AfxNewHandler(unsigned int)\n1488 int AfxOleCanExitApp()\n1489 COleMessageFilter * AfxOleGetMessageFilter()\n1490 int AfxOleGetUserCtrl()\n1491 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1492 int AfxOleInit()\n1493 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1494 void AfxOleLockApp()\n1495 int AfxOleLockControl(_GUID const &)\n1496 int AfxOleLockControl(wchar_t const *)\n1497 void AfxOleOnReleaseAllObjects()\n1498 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1499 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1500 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1501 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1502 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1503 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1504 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1505 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1506 void AfxOleSetUserCtrl(int)\n1507 void AfxOleTerm(int)\n1508 void AfxOleTermOrFreeLib(int,int)\n1509 void AfxOleUnlockAllControls()\n1510 void AfxOleUnlockApp()\n1511 int AfxOleUnlockControl(_GUID const &)\n1512 int AfxOleUnlockControl(wchar_t const *)\n1513 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1514 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1515 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1516 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1517 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1518 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1519 void AfxPostQuitMessage(int)\n1520 int AfxPreTranslateMessage(tagMSG *)\n1521 long AfxProcessWndProcException(CException *,tagMSG const *)\n1522 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1523 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1524 int AfxPumpMessage()\n1525 unsigned int AfxReadStringLength(CArchive &,int &)\n1526 int AfxRegisterClass(tagWNDCLASSW *)\n1527 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1528 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1529 void AfxResetMsgCache()\n1530 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1531 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1532 void AfxSafeArrayInit(COleSafeArray *)\n1533 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1534 void AfxSetAllocStop(long)\n1535 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1536 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1537 void AfxSetResourceHandle(HINSTANCE__ *)\n1538 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1539 void AfxSocketTerm()\n1540 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1541 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1542 void AfxStoreField(CRecordset &,unsigned int,void *)\n1543 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1544 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1545 void AfxTermLocalData(HINSTANCE__ *,int)\n1546 void AfxTermThread(HINSTANCE__ *)\n1547 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1548 void AfxThrowArchiveException(int,wchar_t const *)\n1549 void AfxThrowDBException(short,CDatabase *,void *)\n1550 void AfxThrowFileException(int,long,wchar_t const *)\n1551 void AfxThrowInternetException(unsigned long,unsigned long)\n1552 void AfxThrowInvalidArgException()\n1553 void AfxThrowLastCleanup()\n1554 void AfxThrowMemoryException()\n1555 void AfxThrowNotSupportedException()\n1556 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1557 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1558 void AfxThrowOleException(long)\n1559 void AfxThrowResourceException()\n1560 void AfxThrowUserException()\n1561 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1562 void AfxTlsAddRef()\n1563 void AfxTlsRelease()\n1564 void AfxTrace(wchar_t const *,...)\n1565 int afxTraceEnabled\n1566 unsigned int afxTraceFlags\n1567 void AfxTrackerTerm()\n1568 void AfxTryCleanup()\n1569 int AfxUnhookWindowCreate()\n1570 void AfxUnlockGlobals(int)\n1571 int AfxUnlockTempMaps(int)\n1572 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1573 void AfxVariantInit(tagVARIANT *)\n1574 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1575 char * AfxW2AHelper(char *,wchar_t const *,int)\n1576 void AfxWingdixTerm()\n1577 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1578 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1579 void AfxWinTerm()\n1580 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1581 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1582 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1583 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1584 void * CFixedAlloc::Alloc()\n1585 void * CFixedAllocNoSync::Alloc()\n1586 unsigned char * CMemFile::Alloc(unsigned long)\n1587 unsigned char * CSharedFile::Alloc(unsigned long)\n1588 void CRecordset::AllocAndCacheFieldInfo()\n1589 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1590 void CDatabase::AllocConnect(unsigned long)\n1591 void COleSafeArray::AllocData()\n1592 void CRecordset::AllocDataCache()\n1593 void COleSafeArray::AllocDescriptor(unsigned long)\n1594 int CControlBar::AllocElements(int,int)\n1595 int CStatusBar::AllocElements(int,int)\n1596 int CRecordset::AllocHstmt()\n1597 void CPropertyPage::AllocPSP(unsigned long)\n1598 void CRecordset::AllocRowset()\n1599 int CThreadSlotData::AllocSlot()\n1600 void CRecordset::AllocStatusArrays()\n1601 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1602 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1603 void * CProperty::AllocValue(unsigned long)\n1604 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1605 short COleControl::AmbientAppearance()\n1606 unsigned long COleControl::AmbientBackColor()\n1607 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1608 IFontDisp * COleControl::AmbientFont()\n1609 unsigned long COleControl::AmbientForeColor()\n1610 unsigned long COleControl::AmbientLocaleID()\n1611 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1612 int COleControl::AmbientShowGrabHandles()\n1613 int COleControl::AmbientShowHatching()\n1614 short COleControl::AmbientTextAlign()\n1615 int COleControl::AmbientUIDead()\n1616 int COleControl::AmbientUserMode()\n1617 int CDC::AngleArc(int,int,int,float,float)\n1618 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1619 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1620 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1621 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1622 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1623 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1624 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1625 int CByteArray::Append(CByteArray const &)\n1626 int CDWordArray::Append(CDWordArray const &)\n1627 int CObArray::Append(CObArray const &)\n1628 int CPtrArray::Append(CPtrArray const &)\n1629 int CStringArray::Append(CStringArray const &)\n1630 int CUIntArray::Append(CUIntArray const &)\n1631 int CWordArray::Append(CWordArray const &)\n1632 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1633 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1634 void CRecordset::AppendFilterAndSortSQL()\n1635 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1636 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1637 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1638 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1639 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1640 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1641 int CMenu::AppendMenuW(unsigned int,unsigned int,wchar_t const *)\n1642 int CMenu::AppendMenuW(unsigned int,unsigned int,CBitmap const *)\n1643 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1644 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1645 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1646 long COlePropertyPage::XPropertyPage::Apply()\n1647 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1648 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1649 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1650 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1651 int CDC::Arc(int,int,int,int,int,int,int,int)\n1652 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1653 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1654 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1655 int CListCtrl::Arrange(unsigned int)\n1656 unsigned int CWnd::ArrangeIconicWindows()\n1657 void CAsyncMonikerFile::AssertValid()const \n1658 void CAsyncSocket::AssertValid()const \n1659 void CBitmapButton::AssertValid()const \n1660 void CByteArray::AssertValid()const \n1661 void CCachedDataPathProperty::AssertValid()const \n1662 void CClientDC::AssertValid()const \n1663 void CCmdTarget::AssertValid()const \n1664 void CControlBar::AssertValid()const \n1665 void CCtrlView::AssertValid()const \n1666 void CDatabase::AssertValid()const \n1667 void CDataPathProperty::AssertValid()const \n1668 void CDC::AssertValid()const \n1669 void CDialog::AssertValid()const \n1670 void CDocItem::AssertValid()const \n1671 void CDockBar::AssertValid()const \n1672 void CDocManager::AssertValid()const \n1673 void CDocObjectServer::AssertValid()const \n1674 void CDocObjectServerItem::AssertValid()const \n1675 void CDocTemplate::AssertValid()const \n1676 void CDocument::AssertValid()const \n1677 void CDWordArray::AssertValid()const \n1678 void CDynLinkLibrary::AssertValid()const \n1679 void CEditView::AssertValid()const \n1680 void CFile::AssertValid()const \n1681 void CFileFind::AssertValid()const \n1682 void CFormView::AssertValid()const \n1683 void CFrameWnd::AssertValid()const \n1684 void CFtpConnection::AssertValid()const \n1685 void CFtpFileFind::AssertValid()const \n1686 void CGdiObject::AssertValid()const \n1687 void CGopherConnection::AssertValid()const \n1688 void CGopherFile::AssertValid()const \n1689 void CGopherFileFind::AssertValid()const \n1690 void CHtmlEditDoc::AssertValid()const \n1691 void CHtmlEditView::AssertValid()const \n1692 void CHtmlView::AssertValid()const \n1693 void CHttpConnection::AssertValid()const \n1694 void CHttpFile::AssertValid()const \n1695 void CImageList::AssertValid()const \n1696 void CInternetConnection::AssertValid()const \n1697 void CInternetFile::AssertValid()const \n1698 void CLongBinary::AssertValid()const \n1699 void CMapPtrToPtr::AssertValid()const \n1700 void CMapPtrToWord::AssertValid()const \n1701 void CMapStringToOb::AssertValid()const \n1702 void CMapStringToPtr::AssertValid()const \n1703 void CMapStringToString::AssertValid()const \n1704 void CMapWordToOb::AssertValid()const \n1705 void CMapWordToPtr::AssertValid()const \n1706 void CMDIChildWnd::AssertValid()const \n1707 void CMDIFrameWnd::AssertValid()const \n1708 void CMemFile::AssertValid()const \n1709 void CMenu::AssertValid()const \n1710 void CMonikerFile::AssertValid()const \n1711 void CMultiDocTemplate::AssertValid()const \n1712 void CObArray::AssertValid()const \n1713 void CObject::AssertValid()const \n1714 void CObList::AssertValid()const \n1715 void COleChangeSourceDialog::AssertValid()const \n1716 void COleClientItem::AssertValid()const \n1717 void COleCntrFrameWnd::AssertValid()const \n1718 void COleControl::AssertValid()const \n1719 void COleDataSource::AssertValid()const \n1720 void COleDocIPFrameWnd::AssertValid()const \n1721 void COleDocument::AssertValid()const \n1722 void COleDropTarget::AssertValid()const \n1723 void COleIPFrameWnd::AssertValid()const \n1724 void COleLinkingDoc::AssertValid()const \n1725 void COleLinksDialog::AssertValid()const \n1726 void COleMessageFilter::AssertValid()const \n1727 void COleObjectFactory::AssertValid()const \n1728 void COlePasteSpecialDialog::AssertValid()const \n1729 void COlePropertiesDialog::AssertValid()const \n1730 void COleServerDoc::AssertValid()const \n1731 void COleServerItem::AssertValid()const \n1732 void COleStreamFile::AssertValid()const \n1733 void CPaintDC::AssertValid()const \n1734 void CPreviewDC::AssertValid()const \n1735 void CPreviewView::AssertValid()const \n1736 void CPropertyPage::AssertValid()const \n1737 void CPropertySheet::AssertValid()const \n1738 void CPtrArray::AssertValid()const \n1739 void CPtrList::AssertValid()const \n1740 void CRecordset::AssertValid()const \n1741 void CRecordView::AssertValid()const \n1742 void CRichEditCntrItem::AssertValid()const \n1743 void CRichEditDoc::AssertValid()const \n1744 void CRichEditView::AssertValid()const \n1745 void CScrollView::AssertValid()const \n1746 void CSingleDocTemplate::AssertValid()const \n1747 void CSocket::AssertValid()const \n1748 void CSocketFile::AssertValid()const \n1749 void CSplitterWnd::AssertValid()const \n1750 void CStatusBar::AssertValid()const \n1751 void CStringArray::AssertValid()const \n1752 void CStringList::AssertValid()const \n1753 void CSyncObject::AssertValid()const \n1754 void CToolBar::AssertValid()const \n1755 void CUIntArray::AssertValid()const \n1756 void CView::AssertValid()const \n1757 void CWinApp::AssertValid()const \n1758 void CWindowDC::AssertValid()const \n1759 void CWinThread::AssertValid()const \n1760 void CWnd::AssertValid()const \n1761 void CWordArray::AssertValid()const \n1762 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1763 int CAsyncSocket::AsyncSelect(long)\n1764 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n1765 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1766 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1767 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1768 int CAsyncSocket::Attach(unsigned int,long)\n1769 int CDC::Attach(HDC__ *)\n1770 int CGdiObject::Attach(void *)\n1771 int CImageList::Attach(_IMAGELIST *)\n1772 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1773 int CMenu::Attach(HMENU__ *)\n1774 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1775 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1776 void COleDataObject::Attach(IDataObject *,int)\n1777 void COleSafeArray::Attach(tagVARIANT &)\n1778 void COleStreamFile::Attach(IStream *)\n1779 void COleVariant::Attach(tagVARIANT &)\n1780 int CSocket::Attach(unsigned int)\n1781 int CWnd::Attach(HWND__ *)\n1782 int COleDataObject::AttachClipboard()\n1783 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1784 void CWnd::AttachControlSite(CHandleMap *)\n1785 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1786 void COleClientItem::AttachDataObject(COleDataObject &)const \n1787 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1788 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1789 CPrintDialog * CPrintDialog::AttachOnSetup()\n1790 void COleControlSite::AttachWindow()\n1791 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1792 void CToolBarCtrl::AutoSize()\n1793 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1794 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1795 void COleMessageFilter::BeginBusyState()\n1796 void COleLinkingDoc::BeginDeferErrors()\n1797 int CDragListBox::BeginDrag(CPoint)\n1798 int CImageList::BeginDrag(int,CPoint)\n1799 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1800 void COleDataObject::BeginEnumFormats()\n1801 void CFrameWnd::BeginModalState()\n1802 void CWnd::BeginModalState()\n1803 CDC * CWnd::BeginPaint(tagPAINT*)\n1804 int CDC::BeginPath()\n1805 int CDatabase::BeginTrans()\n1806 void CCmdTarget::BeginWaitCursor()\n1807 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1808 int CAsyncSocket::Bind(sockaddr const *,int)\n1809 void CDataSourceControl::BindColumns()\n1810 void COccManager::BindControls(CWnd *)\n1811 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1812 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1813 void CRecordset::BindFieldsForUpdate()\n1814 unsigned int CRecordset::BindFieldsToColumns()\n1815 void CDatabase::BindParameters(void *)\n1816 unsigned int CRecordset::BindParams(void *)\n1817 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1818 void CDataSourceControl::BindProp(COleControlSite *,int)\n1819 void COleControlSite::BindProperty(long,CWnd *)\n1820 void CWnd::BindProperty(long,CWnd *)\n1821 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1822 void COleControl::BoundPropertyChanged(long)\n1823 int COleControl::BoundPropertyRequestEdit(long)\n1824 void CFrameWnd::BringToTop(int)\n1825 void CWnd::BringWindowToTop()\n1826 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1827 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1828 void CPropertySheet::BuildPropPageArray()\n1829 void CRecordset::BuildSelectSQL()\n1830 int COleControl::BuildSharedMenu()\n1831 int COleDocIPFrameWnd::BuildSharedMenu()\n1832 int COleIPFrameWnd::BuildSharedMenu()\n1833 void CRecordset::BuildSQL(wchar_t const *)\n1834 void CRecordset::BuildUpdateSQL()\n1835 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1836 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1837 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1838 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1839 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1840 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1841 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1842 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1843 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1844 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1845 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1846 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1847 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1848 CSize CControlBar::CalcFixedLayout(int,int)\n1849 CSize CDialogBar::CalcFixedLayout(int,int)\n1850 CSize CDockBar::CalcFixedLayout(int,int)\n1851 CSize CReBar::CalcFixedLayout(int,int)\n1852 CSize CStatusBar::CalcFixedLayout(int,int)\n1853 CSize CToolBar::CalcFixedLayout(int,int)\n1854 void CControlBar::CalcInsideRect(CRect &,int)const \n1855 void CStatusBar::CalcInsideRect(CRect &,int)const \n1856 CSize CToolBar::CalcLayout(unsigned long,int)\n1857 int CCheckListBox::CalcMinimumItemHeight()\n1858 CSize CPreviewView::CalcPageDisplaySize()\n1859 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1860 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1861 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1862 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1863 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1864 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1865 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1866 int CDHtmlDialog::CanAccessExternal()\n1867 int COleClientItem::CanActivate()\n1868 int CRichEditCntrItem::CanActivate()\n1869 int CSplitterWnd::CanActivateNext(int)\n1870 int CRecordset::CanAppend()const \n1871 int CRecordset::CanBookmark()const \n1872 void CDatabase::Cancel()\n1873 void CRecordset::Cancel()\n1874 void CSocket::CancelBlockingCall()\n1875 void CDragListBox::CancelDrag(CPoint)\n1876 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1877 long COleUILinkInfo::CancelLink(unsigned long)\n1878 void CDockContext::CancelLoop()\n1879 void CPropertyPage::CancelToClose()\n1880 void CWnd::CancelToolTips(int)\n1881 void CRecordset::CancelUpdate()\n1882 int CDocument::CanCloseFrame(CFrameWnd *)\n1883 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1884 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1885 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1886 unsigned long CDockContext::CanDock()\n1887 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1888 int CFrameWnd::CanEnterHelpMode()\n1889 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1890 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1891 int COleClientItem::CanPaste()\n1892 int CRichEditCtrl::CanPaste(unsigned int)const \n1893 int CRichEditView::CanPaste()const \n1894 int COleClientItem::CanPasteLink()\n1895 int CRichEditCtrl::CanRedo()const \n1896 int CRecordset::CanRestart()const \n1897 int CRecordset::CanScroll()const \n1898 int CDatabase::CanTransact()const \n1899 int CRecordset::CanTransact()const \n1900 int CEdit::CanUndo()const \n1901 int CRichEditCtrl::CanUndo()const \n1902 int CDatabase::CanUpdate()const \n1903 int CRecordset::CanUpdate()const \n1904 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1905 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1906 void CScrollView::CenterOnPoint(CPoint)\n1907 void CWnd::CenterWindow(CWnd *)\n1908 int CWnd::ChangeClipboardChain(HWND__ *)\n1909 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1910 int CEdit::CharFromPos(CPoint)const \n1911 int CRichEditCtrl::CharFromPos(CPoint)const \n1912 int CListBox::CharToItem(unsigned int,unsigned int)\n1913 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1914 int CDatabase::Check(short)const \n1915 int CRecordset::Check(short)const \n1916 int CDialog::CheckAutoCenter()\n1917 int CWnd::CheckAutoCenter()\n1918 int CToolBarCtrl::CheckButton(int,int)\n1919 void CArchive::CheckCount()\n1920 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1921 void CWnd::CheckDlgButton(int,unsigned int)\n1922 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1923 void COleClientItem::CheckGeneral(long)\n1924 int CDatabase::CheckHstmt(short,void *)const \n1925 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1926 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1927 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1928 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1929 void CMemoryState::Checkpoint()\n1930 void COleControlContainer::CheckRadioButton(int,int,int)\n1931 void CWnd::CheckRadioButton(int,int,int)\n1932 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1933 void CRecordset::CheckRowsetError(short)\n1934 void CScrollView::CheckScrollBars(int &,int &)const \n1935 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1936 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1937 int CDC::Chord(int,int,int,int,int,int,int,int)\n1938 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1939 void CPropertyPage::Cleanup()\n1940 void COlePropertyPage::CleanupObjectArray()\n1941 void CComboBox::Clear()\n1942 void CDBVariant::Clear()\n1943 void CDockState::Clear()\n1944 void CEdit::Clear()\n1945 void COleSafeArray::Clear()\n1946 void COleVariant::Clear()\n1947 void CRichEditCtrl::Clear()\n1948 void CIPAddressCtrl::ClearAddress()\n1949 int CHeaderCtrl::ClearAllFilters()\n1950 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1951 void CRecordset::ClearFieldStatus()\n1952 int CHeaderCtrl::ClearFilter(int)\n1953 void CRecordset::ClearNullFieldStatus(unsigned long)\n1954 void CRecordset::ClearNullParamStatus(unsigned long)\n1955 void CSliderCtrl::ClearSel(int)\n1956 void CSliderCtrl::ClearTics(int)\n1957 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1958 void CWnd::ClientToScreen(tagPOINT *)const \n1959 void CWnd::ClientToScreen(tagRECT *)const \n1960 int COleControl::ClipCaretRect(tagRECT *)\n1961 void CPreviewDC::ClipToPage()\n1962 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1963 long CArchiveStream::Clone(IStream * *)\n1964 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1965 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1966 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1967 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1968 int CAnimateCtrl::Close()\n1969 void CArchive::Close()\n1970 void CAsyncMonikerFile::Close()\n1971 void CAsyncSocket::Close()\n1972 void CCachedDataPathProperty::Close()\n1973 void CDatabase::Close()\n1974 void CFile::Close()\n1975 void CFileFind::Close()\n1976 void CInternetConnection::Close()\n1977 void CInternetFile::Close()\n1978 void CInternetSession::Close()\n1979 void CMemFile::Close()\n1980 HMETAFILE__ * CMetaFileDC::Close()\n1981 void CMirrorFile::Close()\n1982 void CMonikerFile::Close()\n1983 void COleClientItem::Close(enum tagOLECLOSE)\n1984 void COleStreamFile::Close()\n1985 void CRecordset::Close()\n1986 void CSocket::Close()\n1987 void CSocketFile::Close()\n1988 void CStdioFile::Close()\n1989 long CDocObjectServer::XOleObject::Close(unsigned long)\n1990 long COleControl::XOleObject::Close(unsigned long)\n1991 long COleServerDoc::XOleObject::Close(unsigned long)\n1992 long COleServerItem::XOleObject::Close(unsigned long)\n1993 void CDocManager::CloseAllDocuments(int)\n1994 void CDocTemplate::CloseAllDocuments(int)\n1995 void CWinApp::CloseAllDocuments(int)\n1996 void CFileFind::CloseContext()\n1997 void CFtpFileFind::CloseContext()\n1998 void CGopherFileFind::CloseContext()\n1999 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n2000 int CDC::CloseFigure()\n2001 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2002 void CWnd::CloseWindow()\n2003 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2004 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2005 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2006 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2007 int CRgn::CombineRgn(CRgn *,CRgn *,int)\n2008 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2009 int CStatusBar::CommandToIndex(unsigned int)const \n2010 int CToolBar::CommandToIndex(unsigned int)const \n2011 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2012 long CArchiveStream::Commit(unsigned long)\n2013 void COleClientItem::CommitItem(int)\n2014 void COleDocument::CommitItems(int,IStorage *)\n2015 int CDatabase::CommitTrans()\n2016 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n2017 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n2018 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2019 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2020 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2021 void CWinThread::CommonConstruct()\n2022 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2023 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2024 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2025 int CListBox::CompareItem(tagCOMPAREITEM*)\n2026 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2027 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2028 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n2029 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2030 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2031 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n2032 int CAsyncSocket::Connect(sockaddr const *,int)\n2033 int CDatabase::Connect(unsigned long)\n2034 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2035 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2036 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2037 int CSocket::ConnectHelper(sockaddr const *,int)\n2038 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2039 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2040 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2041 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2042 void COleServerDoc::ConnectView(CWnd *,CView *)\n2043 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2044 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2045 void CPropertyPage::Construct(unsigned int,unsigned int)\n2046 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2047 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n2048 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2049 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2050 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2051 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n2052 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2053 void CRectTracker::Construct()\n2054 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2055 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2056 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2057 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2058 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2059 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2060 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2061 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2062 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2063 int CPropertySheet::ContinueModal()\n2064 int CWnd::ContinueModal()\n2065 void CCmdUI::ContinueRouting()\n2066 void COleControl::ControlInfoChanged()\n2067 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2068 int COleClientItem::ConvertTo(_GUID const &)\n2069 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2070 void CByteArray::Copy(CByteArray const &)\n2071 void CComboBox::Copy()\n2072 void CDWordArray::Copy(CDWordArray const &)\n2073 void CEdit::Copy()\n2074 int CImageList::Copy(int,int,unsigned int)\n2075 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2076 void CObArray::Copy(CObArray const &)\n2077 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2078 void CPtrArray::Copy(CPtrArray const &)\n2079 void CRichEditCtrl::Copy()\n2080 void CStringArray::Copy(CStringArray const &)\n2081 void CUIntArray::Copy(CUIntArray const &)\n2082 void CWordArray::Copy(CWordArray const &)\n2083 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2084 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2085 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2086 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2087 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2088 int CRgn::CopyRgn(CRgn *)\n2089 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2090 void COleClientItem::CopyToClipboard(int)\n2091 void COleServerItem::CopyToClipboard(int)\n2092 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2093 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n2094 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2095 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2096 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2097 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2098 int CControlFrameWnd::Create(wchar_t const *)\n2099 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2100 int CDialog::Create(unsigned int,CWnd *)\n2101 int CDialog::Create(wchar_t const *,CWnd *)\n2102 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2103 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n2104 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2105 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2106 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n2107 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2108 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n2109 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2110 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2111 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2112 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2113 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2114 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2115 int CImageList::Create(int,int,unsigned int,int,int)\n2116 int CImageList::Create(unsigned int,int,int,unsigned long)\n2117 int CImageList::Create(CImageList *)\n2118 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n2119 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2120 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2121 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2122 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2123 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2124 int CMetaFileDC::Create(wchar_t const *)\n2125 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2126 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2127 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2128 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2129 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2130 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2131 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2132 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2133 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2134 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2135 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2136 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2137 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2138 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2139 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2140 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2141 int CSocket::Create(unsigned int,int,wchar_t const *)\n2142 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2143 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2144 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2145 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2146 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2147 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2148 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2149 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2150 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2151 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2152 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2153 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2154 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2155 IBindHost * CMonikerFile::CreateBindHost()\n2156 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2157 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2158 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2159 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2160 void CWnd::CreateCaret(CBitmap *)\n2161 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n2162 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2163 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2164 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2165 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2166 int CDC::CreateCompatibleDC(CDC *)\n2167 void CConnectionPoint::CreateConnectionArray()\n2168 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2169 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2170 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2171 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2172 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2173 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2174 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2175 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2176 int CWnd::CreateControlContainer(COleControlContainer * *)\n2177 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2178 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2179 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2180 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2181 int CDC::CreateDCW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2182 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2183 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2184 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n2185 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2186 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2187 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n2188 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n2189 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2190 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2191 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n2193 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2194 CImageList * CHeaderCtrl::CreateDragImage(int)\n2195 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2196 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2197 int CRgn::CreateEllipticRgn(int,int,int,int)\n2198 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2199 int CPictureHolder::CreateEmpty()\n2200 int CMetaFileDC::CreateEnhanced(CDC *,wchar_t const *,tagRECT const *,wchar_t const *)\n2201 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2202 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2203 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2204 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2205 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2206 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2207 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2208 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2209 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2210 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2211 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2212 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2213 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2214 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2215 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2216 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2217 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2218 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2219 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2220 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2221 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2222 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2223 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2224 int CFont::CreateFontIndirectW(tagLOGFONTW const *)\n2225 int CFont::CreateFontW(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,wchar_t const *)\n2226 CControlFrameWnd * COleControl::CreateFrameWindow()\n2227 int CPictureHolder::CreateFromBitmap(unsigned int)\n2228 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2229 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2230 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2231 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2232 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2233 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2234 int CPictureHolder::CreateFromIcon(unsigned int)\n2235 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2236 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2237 int CRgn::CreateFromPath(CDC *)\n2238 void CWnd::CreateGrayCaret(int,int)\n2239 int CPalette::CreateHalftonePalette(CDC *)\n2240 int CBrush::CreateHatchBrush(int,unsigned long)\n2241 int CDC::CreateICW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2242 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2243 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2244 int CDialog::CreateIndirect(void *,CWnd *)\n2245 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2246 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2247 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2248 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2249 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2250 int COleInsertDialog::CreateItem(COleClientItem *)\n2251 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2252 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2253 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2254 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2255 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n2256 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n2257 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n2258 int COleStreamFile::CreateMemoryStream(CFileException *)\n2259 int CMenu::CreateMenu()\n2260 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2261 CDocument * CDocTemplate::CreateNewDocument()\n2262 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2263 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2264 CObject * CByteArray::CreateObject()\n2265 CObject * CDC::CreateObject()\n2266 CObject * CDocItem::CreateObject()\n2267 CObject * CDockState::CreateObject()\n2268 CObject * CDWordArray::CreateObject()\n2269 CObject * CEditView::CreateObject()\n2270 CObject * CFrameWnd::CreateObject()\n2271 CObject * CGdiObject::CreateObject()\n2272 CObject * CHtmlEditView::CreateObject()\n2273 CObject * CHtmlView::CreateObject()\n2274 CObject * CImageList::CreateObject()\n2275 CObject * CListView::CreateObject()\n2276 CObject * CMapStringToOb::CreateObject()\n2277 CObject * CMapStringToString::CreateObject()\n2278 CObject * CMapWordToOb::CreateObject()\n2279 CObject * CMDIChildWnd::CreateObject()\n2280 CObject * CMDIFrameWnd::CreateObject()\n2281 CObject * CMenu::CreateObject()\n2282 CObject * CMiniDockFrameWnd::CreateObject()\n2283 CObject * CMiniFrameWnd::CreateObject()\n2284 CObject * CObArray::CreateObject()\n2285 CObject * CObList::CreateObject()\n2286 CObject * COleDocIPFrameWnd::CreateObject()\n2287 CObject * COleIPFrameWnd::CreateObject()\n2288 CObject * CPreviewView::CreateObject()\n2289 CObject * CRichEditCntrItem::CreateObject()\n2290 CObject * CRichEditView::CreateObject()\n2291 CObject * CRuntimeClass::CreateObject()\n2292 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2293 CObject * CRuntimeClass::CreateObject(char const *)\n2294 CObject * CStringArray::CreateObject()\n2295 CObject * CStringList::CreateObject()\n2296 CObject * CTreeView::CreateObject()\n2297 CObject * CWnd::CreateObject()\n2298 CObject * CWordArray::CreateObject()\n2299 void COleControlContainer::CreateOleFont(CFont *)\n2300 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2301 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2302 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2303 int CPalette::CreatePalette(tagLOGPALETTE *)\n2304 int CBrush::CreatePatternBrush(CBitmap *)\n2305 int CPen::CreatePen(int,int,unsigned long)\n2306 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2307 int CPen::CreatePenIndirect(tagLOGPEN *)\n2308 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n2309 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n2310 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2311 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2312 int CMenu::CreatePopupMenu()\n2313 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2314 HDC__ * CPrintDialog::CreatePrinterDC()\n2315 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2316 int CWinApp::CreatePrinterDC(CDC &)\n2317 int CRgn::CreateRectRgn(int,int,int,int)\n2318 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2319 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2320 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2321 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2322 int CBrush::CreateSolidBrush(unsigned long)\n2323 void CWnd::CreateSolidCaret(int,int)\n2324 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2325 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2326 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2327 int CGdiObject::CreateStockObject(int)\n2328 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n2329 int CBrush::CreateSysColorBrush(int)\n2330 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2331 void COleControl::CreateTracker(int,int)\n2332 void COleControl::CreateTracker(int,int,tagRECT const *)\n2333 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2334 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2335 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2336 void COleControl::CreateWindowForSubclassedControl()\n2337 void CToolBarCtrl::Customize()\n2338 void CComboBox::Cut()\n2339 void CEdit::Cut()\n2340 void CRichEditCtrl::Cut()\n2341 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2342 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2343 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2344 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2345 void DDP_CBIndex(CDataExchange *,int,int &,wchar_t const *)\n2346 void DDP_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2347 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2348 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n2349 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n2350 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n2351 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n2352 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n2353 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n2354 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n2355 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n2356 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n2357 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n2358 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n2359 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n2360 void DDP_LBIndex(CDataExchange *,int,int &,wchar_t const *)\n2361 void DDP_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2362 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2363 void DDP_PostProcessing(CDataExchange *)\n2364 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n2365 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n2366 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n2367 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n2368 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n2369 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n2370 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n2371 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n2372 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n2373 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2374 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n2375 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2376 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2377 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2378 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2379 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2380 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2381 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2382 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2383 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2384 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2385 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2386 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2387 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2388 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2389 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2390 void DDX_CBIndex(CDataExchange *,int,int &)\n2391 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2392 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2393 void DDX_Check(CDataExchange *,int,int &)\n2394 void DDX_Control(CDataExchange *,int,CWnd &)\n2395 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2396 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2397 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2398 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2399 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2400 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2401 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n2402 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n2403 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n2404 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n2405 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n2406 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n2407 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n2408 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n2409 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n2410 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n2411 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n2412 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n2413 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2414 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n2415 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n2416 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n2417 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n2418 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n2419 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n2420 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2421 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n2422 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n2423 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n2424 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n2425 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n2426 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n2427 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2428 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2429 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2430 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2431 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2432 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2433 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2434 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2435 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2436 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2437 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2438 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2439 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2440 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2441 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2442 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2443 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2444 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2445 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2446 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2447 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2448 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n2449 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2450 void DDX_LBIndex(CDataExchange *,int,int &)\n2451 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2452 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2453 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2454 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2455 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2456 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2457 void DDX_OCBool(CDataExchange *,int,long,int &)\n2458 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2459 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2460 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2461 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2462 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2463 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2464 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2465 void DDX_OCInt(CDataExchange *,int,long,int &)\n2466 void DDX_OCInt(CDataExchange *,int,long,long &)\n2467 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2468 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2469 void DDX_OCShort(CDataExchange *,int,long,short &)\n2470 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2471 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2472 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2473 void DDX_Radio(CDataExchange *,int,int &)\n2474 void DDX_Scroll(CDataExchange *,int,int &)\n2475 void DDX_Slider(CDataExchange *,int,int &)\n2476 void DDX_Text(CDataExchange *,int,__int64 &)\n2477 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2478 void DDX_Text(CDataExchange *,int,unsigned char &)\n2479 void DDX_Text(CDataExchange *,int,short &)\n2480 void DDX_Text(CDataExchange *,int,int &)\n2481 void DDX_Text(CDataExchange *,int,unsigned int &)\n2482 void DDX_Text(CDataExchange *,int,long &)\n2483 void DDX_Text(CDataExchange *,int,unsigned long &)\n2484 void DDX_Text(CDataExchange *,int,float &)\n2485 void DDX_Text(CDataExchange *,int,double &)\n2486 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2487 void DDX_Text(CDataExchange *,int,_GUID &)\n2488 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2489 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2490 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2491 void DDX_Text(CDataExchange *,int,tagDEC &)\n2492 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2493 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2494 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2495 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n2496 void COleClientItem::Deactivate()\n2497 long COlePropertyPage::XPropertyPage::Deactivate()\n2498 int COleServerDoc::DeactivateAndUndo()\n2499 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2500 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2501 void COleClientItem::DeactivateUI()\n2502 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n2503 long CWnd::Default()\n2504 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2505 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2506 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2507 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n2508 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2509 void CFrameWnd::DelayRecalcLayout(int)\n2510 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2511 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2512 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2513 void CControlBar::DelayShow(int)\n2514 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2515 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2516 void CFrameWnd::DelayUpdateFrameTitle()\n2517 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2518 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2519 void CException::Delete()\n2520 void COleClientItem::Delete(int)\n2521 void CRecordset::Delete()\n2522 void CWinThread::Delete()\n2523 int CListCtrl::DeleteAllItems()\n2524 int CTabCtrl::DeleteAllItems()\n2525 int CTreeCtrl::DeleteAllItems()\n2526 int CReBarCtrl::DeleteBand(unsigned int)\n2527 int CToolBarCtrl::DeleteButton(int)\n2528 int CListCtrl::DeleteColumn(int)\n2529 void CSplitterWnd::DeleteColumn(int)\n2530 void CDocument::DeleteContents()\n2531 void CEditView::DeleteContents()\n2532 void CHtmlEditDoc::DeleteContents()\n2533 void COleDocument::DeleteContents()\n2534 void COleServerDoc::DeleteContents()\n2535 void CRichEditDoc::DeleteContents()\n2536 void CRichEditView::DeleteContents()\n2537 int CDC::DeleteDC()\n2538 int CImageList::DeleteImageList()\n2539 void CComboBox::DeleteItem(tagDELETEITEM*)\n2540 int CComboBoxEx::DeleteItem(int)\n2541 int CHeaderCtrl::DeleteItem(int)\n2542 void CListBox::DeleteItem(tagDELETEITEM*)\n2543 int CListCtrl::DeleteItem(int)\n2544 int CTabCtrl::DeleteItem(int)\n2545 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2546 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2547 int CGdiObject::DeleteObject()\n2548 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2549 void CSplitterWnd::DeleteRow(int)\n2550 int CComboBox::DeleteString(unsigned int)\n2551 int CListBox::DeleteString(unsigned int)\n2552 void CHandleMap::DeleteTemp()\n2553 void CDC::DeleteTempMap()\n2554 void CGdiObject::DeleteTempMap()\n2555 void CImageList::DeleteTempMap()\n2556 void CMenu::DeleteTempMap()\n2557 void CWnd::DeleteTempMap()\n2558 void CRichEditDoc::DeleteUnmarkedItems()const \n2559 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2560 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2561 void CSplitterWnd::DeleteView(int,int)\n2562 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n2563 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2564 void CTabCtrl::DeselectAll(int)\n2565 void COleSafeArray::Destroy()\n2566 int COleControlSite::DestroyControl()\n2567 void COleSafeArray::DestroyData()\n2568 void COleSafeArray::DestroyDescriptor()\n2569 void CFrameWnd::DestroyDockBars()\n2570 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2571 int CMenu::DestroyMenu()\n2572 void CDHtmlDialog::DestroyModeless()\n2573 void COleControl::DestroySharedMenu()\n2574 void COleDocIPFrameWnd::DestroySharedMenu()\n2575 void COleIPFrameWnd::DestroySharedMenu()\n2576 int CToolTipCtrl::DestroyToolTipCtrl()\n2577 void COleControl::DestroyTracker()\n2578 int CControlBar::DestroyWindow()\n2579 int CMDIChildWnd::DestroyWindow()\n2580 int CWnd::DestroyWindow()\n2581 unsigned int CAsyncSocket::Detach()\n2582 HDC__ * CDC::Detach()\n2583 void * CDialogTemplate::Detach()\n2584 void * CGdiObject::Detach()\n2585 _IMAGELIST * CImageList::Detach()\n2586 unsigned char * CMemFile::Detach()\n2587 HMENU__ * CMenu::Detach()\n2588 int CMonikerFile::Detach(CFileException *)\n2589 IDataObject * COleDataObject::Detach()\n2590 tagVARIANT COleSafeArray::Detach()\n2591 IStream * COleStreamFile::Detach()\n2592 tagVARIANT COleVariant::Detach()\n2593 void * CSharedFile::Detach()\n2594 HDC__ * CWindowlessDC::Detach()\n2595 HWND__ * CWnd::Detach()\n2596 IDispatch * COleDispatchDriver::DetachDispatch()\n2597 void CAsyncSocket::DetachHandle(unsigned int,int)\n2598 void COleControlSite::DetachWindow()\n2599 void CWinApp::DevModeChange(wchar_t *)\n2600 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2601 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2602 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2603 int CComboBox::Dir(unsigned int,wchar_t const *)\n2604 int CComboBoxEx::Dir(unsigned int,wchar_t const *)\n2605 int CListBox::Dir(unsigned int,wchar_t const *)\n2606 int COleServerDoc::DiscardUndoState()\n2607 long COleClientItem::XOleIPSite::DiscardUndoState()\n2608 long COleControlSite::XOleIPSite::DiscardUndoState()\n2609 void COleDispatchImpl::Disconnect()\n2610 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2611 void CDHtmlDialog::DisconnectDHtmlEvents()\n2612 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2613 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2614 void CDocument::DisconnectViews()\n2615 void CWinThread::DispatchThreadMessage(tagMSG *)\n2616 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2617 int CRichEditCtrl::DisplayBand(tagRECT *)\n2618 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n2619 int CWnd::DlgDirListComboBoxW(wchar_t *,int,int,unsigned int)\n2620 int CWnd::DlgDirListW(wchar_t *,int,int,unsigned int)\n2621 int CWnd::DlgDirSelect(wchar_t *,int)\n2622 int CWnd::DlgDirSelectComboBox(wchar_t *,int)\n2623 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2624 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2625 void CAsyncSocket::DoCallBack(unsigned int,long)\n2626 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2627 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2628 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2629 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2630 void COleControl::DoClick()\n2631 int COleFrameHook::DoContextSensitiveHelp(int)\n2632 int COleConvertDialog::DoConvert(COleClientItem *)\n2633 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2634 void CWnd::DoDataExchange(CDataExchange *)\n2635 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2636 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2637 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2638 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2639 int COleFrameHook::DoEnableModeless(int)\n2640 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2641 void CRecordset::DoFieldExchange(CFieldExchange *)\n2642 int CDocument::DoFileSave()\n2643 int CSplitterWnd::DoKeyboardSplit()\n2644 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2645 int CColorDialog::DoModal()\n2646 int CDialog::DoModal()\n2647 int CFileDialog::DoModal()\n2648 int CFontDialog::DoModal()\n2649 int COleBusyDialog::DoModal()\n2650 int COleChangeIconDialog::DoModal()\n2651 int COleChangeSourceDialog::DoModal()\n2652 int COleConvertDialog::DoModal()\n2653 int COleInsertDialog::DoModal(unsigned long)\n2654 int COleInsertDialog::DoModal()\n2655 int COleLinksDialog::DoModal()\n2656 int COlePasteSpecialDialog::DoModal()\n2657 int COlePropertiesDialog::DoModal()\n2658 int COleUpdateDialog::DoModal()\n2659 int CPageSetupDialog::DoModal()\n2660 int CPrintDialog::DoModal()\n2661 int CPrintDialogEx::DoModal()\n2662 int CPropertySheet::DoModal()\n2663 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2664 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2665 void CControlBar::DoPaint(CDC *)\n2666 void CDockBar::DoPaint(CDC *)\n2667 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2668 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2669 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2670 int CView::DoPreparePrinting(CPrintInfo *)\n2671 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2672 int CWinApp::DoPrintDialog(CPrintDialog *)\n2673 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2674 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2675 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2676 void COleControl::DoPropExchange(CPropExchange *)\n2677 int CDocument::DoSave(wchar_t const *,int)\n2678 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2679 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2680 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2681 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2682 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2683 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2684 long COleControlSite::DoVerb(long,tagMSG *)\n2685 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2686 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2687 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2688 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2689 void CWinApp::DoWaitCursor(int)\n2690 void CPreviewView::DoZoom(unsigned int,CPoint)\n2691 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2692 void CDC::DPtoLP(tagPOINT *,int)const \n2693 void CDC::DPtoLP(tagRECT *)const \n2694 void CDC::DPtoLP(tagSIZE *)const \n2695 void CWnd::DragAcceptFiles(int)\n2696 int CWnd::DragDetect(tagPOINT)const \n2697 int CImageList::DragEnter(CWnd *,CPoint)\n2698 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2699 unsigned int CDragListBox::Dragging(CPoint)\n2700 int CImageList::DragLeave(CWnd *)\n2701 long COleDropTarget::XDropTarget::DragLeave()\n2702 int CImageList::DragMove(CPoint)\n2703 void CReBarCtrl::DragMove(unsigned long)\n2704 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2705 int CImageList::DragShowNolock(int)\n2706 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2707 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2708 void CRectTracker::Draw(CDC *)const \n2709 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2710 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2711 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2712 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2713 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2714 void CControlBar::DrawBorders(CDC *,CRect &)\n2715 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2716 void COleControl::DrawContent(CDC *,CRect &)\n2717 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2718 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2719 int CDC::DrawEscape(int,int,char const *)\n2720 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2721 void CDC::DrawFocusRect(tagRECT const *)\n2722 void CDockContext::DrawFocusRect(int)\n2723 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2724 void CControlBar::DrawGripper(CDC *,CRect const &)\n2725 int CDC::DrawIcon(int,int,HICON__ *)\n2726 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2727 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2728 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2729 void CDragListBox::DrawInsert(int)\n2730 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2731 void CButton::DrawItem(tagDRAWITEM*)\n2732 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2733 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2734 void CComboBox::DrawItem(tagDRAWITEM*)\n2735 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2736 void CListBox::DrawItem(tagDRAWITEM*)\n2737 void CListCtrl::DrawItem(tagDRAWITEM*)\n2738 void CListView::DrawItem(tagDRAWITEM*)\n2739 void CMenu::DrawItem(tagDRAWITEM*)\n2740 void CStatic::DrawItem(tagDRAWITEM*)\n2741 void CStatusBar::DrawItem(tagDRAWITEM*)\n2742 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2743 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2744 void CWnd::DrawMenuBar()\n2745 void COleControl::DrawMetafile(CDC *,CRect &)\n2746 void CDragListBox::DrawSingle(int)\n2747 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2748 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2749 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2750 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2751 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2752 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2753 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,HBRUSH__ *)\n2754 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,CBrush *)\n2755 int CDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2756 int CDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2757 int CMetaFileDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2758 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2759 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2760 int CDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2761 int CDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2762 int CMetaFileDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2763 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2764 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2765 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2766 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2767 void CDragListBox::Dropped(int,CPoint)\n2768 void CArchiveException::Dump(CDumpContext &)const \n2769 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2770 void CAsyncSocket::Dump(CDumpContext &)const \n2771 void CBitmap::Dump(CDumpContext &)const \n2772 void CBitmapButton::Dump(CDumpContext &)const \n2773 void CBrush::Dump(CDumpContext &)const \n2774 void CByteArray::Dump(CDumpContext &)const \n2775 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2776 void CClientDC::Dump(CDumpContext &)const \n2777 void CCmdTarget::Dump(CDumpContext &)const \n2778 void CColorDialog::Dump(CDumpContext &)const \n2779 void CControlBar::Dump(CDumpContext &)const \n2780 void CCtrlView::Dump(CDumpContext &)const \n2781 void CDatabase::Dump(CDumpContext &)const \n2782 void CDataPathProperty::Dump(CDumpContext &)const \n2783 void CDC::Dump(CDumpContext &)const \n2784 void CDialog::Dump(CDumpContext &)const \n2785 void CDocItem::Dump(CDumpContext &)const \n2786 void CDockBar::Dump(CDumpContext &)const \n2787 void CDocManager::Dump(CDumpContext &)const \n2788 void CDocObjectServer::Dump(CDumpContext &)const \n2789 void CDocObjectServerItem::Dump(CDumpContext &)const \n2790 void CDocTemplate::Dump(CDumpContext &)const \n2791 void CDocument::Dump(CDumpContext &)const \n2792 void CDWordArray::Dump(CDumpContext &)const \n2793 void CDynLinkLibrary::Dump(CDumpContext &)const \n2794 void CEditView::Dump(CDumpContext &)const \n2795 void CFile::Dump(CDumpContext &)const \n2796 void CFileDialog::Dump(CDumpContext &)const \n2797 void CFileException::Dump(CDumpContext &)const \n2798 void CFileFind::Dump(CDumpContext &)const \n2799 void CFileStatus::Dump(CDumpContext &)const \n2800 void CFindReplaceDialog::Dump(CDumpContext &)const \n2801 void CFont::Dump(CDumpContext &)const \n2802 void CFontDialog::Dump(CDumpContext &)const \n2803 void CFormView::Dump(CDumpContext &)const \n2804 void CFrameWnd::Dump(CDumpContext &)const \n2805 void CFtpConnection::Dump(CDumpContext &)const \n2806 void CFtpFileFind::Dump(CDumpContext &)const \n2807 void CGdiObject::Dump(CDumpContext &)const \n2808 void CGopherConnection::Dump(CDumpContext &)const \n2809 void CGopherFile::Dump(CDumpContext &)const \n2810 void CGopherFileFind::Dump(CDumpContext &)const \n2811 void CHtmlEditDoc::Dump(CDumpContext &)const \n2812 void CHtmlEditView::Dump(CDumpContext &)const \n2813 void CHtmlView::Dump(CDumpContext &)const \n2814 void CHttpConnection::Dump(CDumpContext &)const \n2815 void CHttpFile::Dump(CDumpContext &)const \n2816 void CImageList::Dump(CDumpContext &)const \n2817 void CInternetConnection::Dump(CDumpContext &)const \n2818 void CInternetException::Dump(CDumpContext &)const \n2819 void CInternetFile::Dump(CDumpContext &)const \n2820 void CInternetSession::Dump(CDumpContext &)const \n2821 void CLongBinary::Dump(CDumpContext &)const \n2822 void CMapPtrToPtr::Dump(CDumpContext &)const \n2823 void CMapPtrToWord::Dump(CDumpContext &)const \n2824 void CMapStringToOb::Dump(CDumpContext &)const \n2825 void CMapStringToPtr::Dump(CDumpContext &)const \n2826 void CMapStringToString::Dump(CDumpContext &)const \n2827 void CMapWordToOb::Dump(CDumpContext &)const \n2828 void CMapWordToPtr::Dump(CDumpContext &)const \n2829 void CMDIChildWnd::Dump(CDumpContext &)const \n2830 void CMDIFrameWnd::Dump(CDumpContext &)const \n2831 void CMemFile::Dump(CDumpContext &)const \n2832 void CMenu::Dump(CDumpContext &)const \n2833 void CMonikerFile::Dump(CDumpContext &)const \n2834 void CMultiDocTemplate::Dump(CDumpContext &)const \n2835 void CObArray::Dump(CDumpContext &)const \n2836 void CObject::Dump(CDumpContext &)const \n2837 void CObList::Dump(CDumpContext &)const \n2838 void COleBusyDialog::Dump(CDumpContext &)const \n2839 void COleChangeIconDialog::Dump(CDumpContext &)const \n2840 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2841 void COleClientItem::Dump(CDumpContext &)const \n2842 void COleControl::Dump(CDumpContext &)const \n2843 void COleConvertDialog::Dump(CDumpContext &)const \n2844 void COleDataSource::Dump(CDumpContext &)const \n2845 void COleDialog::Dump(CDumpContext &)const \n2846 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2847 void COleDocument::Dump(CDumpContext &)const \n2848 void COleDropSource::Dump(CDumpContext &)const \n2849 void COleDropTarget::Dump(CDumpContext &)const \n2850 void COleInsertDialog::Dump(CDumpContext &)const \n2851 void COleIPFrameWnd::Dump(CDumpContext &)const \n2852 void COleLinkingDoc::Dump(CDumpContext &)const \n2853 void COleLinksDialog::Dump(CDumpContext &)const \n2854 void COleMessageFilter::Dump(CDumpContext &)const \n2855 void COleObjectFactory::Dump(CDumpContext &)const \n2856 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2857 void COlePropertiesDialog::Dump(CDumpContext &)const \n2858 void COleServerDoc::Dump(CDumpContext &)const \n2859 void COleServerItem::Dump(CDumpContext &)const \n2860 void COleStreamFile::Dump(CDumpContext &)const \n2861 void COleUpdateDialog::Dump(CDumpContext &)const \n2862 void CPageSetupDialog::Dump(CDumpContext &)const \n2863 void CPaintDC::Dump(CDumpContext &)const \n2864 void CPen::Dump(CDumpContext &)const \n2865 void CPreviewDC::Dump(CDumpContext &)const \n2866 void CPreviewView::Dump(CDumpContext &)const \n2867 void CPrintDialog::Dump(CDumpContext &)const \n2868 void CPrintDialogEx::Dump(CDumpContext &)const \n2869 void CPropertyPage::Dump(CDumpContext &)const \n2870 void CPropertySheet::Dump(CDumpContext &)const \n2871 void CPtrArray::Dump(CDumpContext &)const \n2872 void CPtrList::Dump(CDumpContext &)const \n2873 void CRecordset::Dump(CDumpContext &)const \n2874 void CRecordView::Dump(CDumpContext &)const \n2875 void CRichEditCntrItem::Dump(CDumpContext &)const \n2876 void CRichEditDoc::Dump(CDumpContext &)const \n2877 void CRichEditView::Dump(CDumpContext &)const \n2878 void CScrollView::Dump(CDumpContext &)const \n2879 void CSingleDocTemplate::Dump(CDumpContext &)const \n2880 void CSocket::Dump(CDumpContext &)const \n2881 void CSocketFile::Dump(CDumpContext &)const \n2882 void CSplitterWnd::Dump(CDumpContext &)const \n2883 void CStatusBar::Dump(CDumpContext &)const \n2884 void CStdioFile::Dump(CDumpContext &)const \n2885 void CStringArray::Dump(CDumpContext &)const \n2886 void CStringList::Dump(CDumpContext &)const \n2887 void CSyncObject::Dump(CDumpContext &)const \n2888 void CToolBar::Dump(CDumpContext &)const \n2889 void CUIntArray::Dump(CDumpContext &)const \n2890 void CView::Dump(CDumpContext &)const \n2891 void CWinApp::Dump(CDumpContext &)const \n2892 void CWindowDC::Dump(CDumpContext &)const \n2893 void CWinThread::Dump(CDumpContext &)const \n2894 void CWnd::Dump(CDumpContext &)const \n2895 void CWordArray::Dump(CDumpContext &)const \n2896 void CMemoryState::DumpAllObjectsSince()const \n2897 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2898 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2899 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2900 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2901 CDumpContext & CDumpContext::DumpAsHex(int)\n2902 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2903 CDumpContext & CDumpContext::DumpAsHex(long)\n2904 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2905 void CRecordset::DumpFields(CDumpContext &)const \n2906 void CMemoryState::DumpStatistics()const \n2907 long COleControl::XDataObject::DUnadvise(unsigned long)\n2908 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2909 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2910 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2911 CFile * CFile::Duplicate()const \n2912 CFile * CInternetFile::Duplicate()const \n2913 CFile * CMemFile::Duplicate()const \n2914 CFile * COleStreamFile::Duplicate()const \n2915 CFile * CSocketFile::Duplicate()const \n2916 CFile * CStdioFile::Duplicate()const \n2917 unsigned long const CEditView::dwStyleDefault\n2918 void CRecordset::Edit()\n2919 int CHeaderCtrl::EditFilter(int,int)\n2920 CEdit * CListCtrl::EditLabel(int)\n2921 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2922 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2923 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2924 unsigned char & CByteArray::ElementAt(int)\n2925 unsigned long & CDWordArray::ElementAt(int)\n2926 CObject * & CObArray::ElementAt(int)\n2927 void * & CPtrArray::ElementAt(int)\n2928 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::ElementAt(int)\n2929 unsigned int & CUIntArray::ElementAt(int)\n2930 unsigned short & CWordArray::ElementAt(int)\n2931 int CDC::Ellipse(int,int,int,int)\n2932 int CDC::Ellipse(tagRECT const *)\n2933 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2934 void ATL::CSimpleStringT<char,1>::Empty()\n2935 void CDBException::Empty()\n2936 void COleDataSource::Empty()\n2937 void CEdit::EmptyUndoBuffer()\n2938 void CRichEditCtrl::EmptyUndoBuffer()\n2939 void CCheckListBox::Enable(int,int)\n2940 void CCmdUI::Enable(int)\n2941 void COleCmdUI::Enable(int)\n2942 void CStatusCmdUI::Enable(int)\n2943 void CTestCmdUI::Enable(int)\n2944 void CToolCmdUI::Enable(int)\n2945 int CWinApp::Enable3dControls()\n2946 void CWnd::EnableActiveAccessibility()\n2947 void CCmdTarget::EnableAggregation()\n2948 void CCmdTarget::EnableAutomation()\n2949 void CRecordset::EnableBookmarks()\n2950 void COleMessageFilter::EnableBusyDialog(int)\n2951 int CToolBarCtrl::EnableButton(int,int)\n2952 void COleDocument::EnableCompoundFile(int)\n2953 void CCmdTarget::EnableConnections()\n2954 void CControlBar::EnableDocking(unsigned long)\n2955 void CFrameWnd::EnableDocking(unsigned long)\n2956 void CReBar::EnableDocking(unsigned long)\n2957 void CStatusBar::EnableDocking(unsigned long)\n2958 void COleControlSite::EnableDSC()\n2959 void CWinApp::EnableHtmlHelp()\n2960 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2961 long CBrowserControlSite::EnableModeless(int)\n2962 long CDHtmlDialog::EnableModeless(int)\n2963 void CWinApp::EnableModeless(int)\n2964 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2965 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2966 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2967 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2968 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2969 void COleMessageFilter::EnableNotRespondingDialog(int)\n2970 int CScrollBar::EnableScrollBar(unsigned int)\n2971 int CWnd::EnableScrollBar(int,unsigned int)\n2972 void CWnd::EnableScrollBarCtrl(int,int)\n2973 void CWinApp::EnableShellOpen()\n2974 void COleControl::EnableSimpleFrame()\n2975 void CPropertySheet::EnableStackedTabs(int)\n2976 int CInternetSession::EnableStatusCallback(int)\n2977 int CWnd::EnableToolTips(int)\n2978 int CWnd::EnableTrackingToolTips(int)\n2979 void CCmdTarget::EnableTypeLib()\n2980 int COleControlSite::EnableWindow(int)\n2981 int CWnd::EnableWindow(int)\n2982 void COleMessageFilter::EndBusyState()\n2983 void CAsyncMonikerFile::EndCallbacks()\n2984 long COleLinkingDoc::EndDeferErrors(long)\n2985 void CDialog::EndDialog(int)\n2986 void CPropertyPage::EndDialog(int)\n2987 void CPropertySheet::EndDialog(int)\n2988 int CDC::EndDoc()\n2989 void CDockContext::EndDrag()\n2990 void CImageList::EndDrag()\n2991 void CReBarCtrl::EndDrag()\n2992 void CWnd::EndModalLoop(int)\n2993 void CFrameWnd::EndModalState()\n2994 void CWnd::EndModalState()\n2995 int CDC::EndPage()\n2996 void CWnd::EndPaint(tagPAINT*)\n2997 int CDC::EndPath()\n2998 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2999 void CDockContext::EndResize()\n3000 void CCmdTarget::EndWaitCursor()\n3001 void COleDataObject::EnsureClipboardObject()\n3002 long CWnd::EnsureStdObj()\n3003 int CListCtrl::EnsureVisible(int,int)\n3004 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3005 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3006 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3007 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3008 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3009 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3010 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3011 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3012 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3013 int COlePropertyPage::EnumControls(HWND__ *,long)\n3014 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3015 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3016 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3017 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3018 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3019 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3020 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3021 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3022 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3023 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3024 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3025 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3026 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3027 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3028 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3029 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3030 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3031 int CRgn::EqualRgn(CRgn *)const \n3032 void CControlBar::EraseNonClient()\n3033 int CFileException::ErrnoToException(int)\n3034 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3035 int CDC::Escape(int,int,char const *,int,char *)\n3036 int CDC::Escape(int,int,char const *,void *)\n3037 int CMetaFileDC::Escape(int,int,char const *,void *)\n3038 int CPreviewDC::Escape(int,int,char const *,void *)\n3039 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3040 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3041 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3042 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3043 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3044 int COleControl::ExchangeExtent(CPropExchange *)\n3045 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3046 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3047 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3048 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3049 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3050 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3051 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3052 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3053 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3054 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3055 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3056 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3057 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3058 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3059 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3060 void COleControl::ExchangeStockProps(CPropExchange *)\n3061 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3062 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3063 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3064 int CDC::ExcludeClipRect(int,int,int,int)\n3065 int CDC::ExcludeClipRect(tagRECT const *)\n3066 int CDC::ExcludeUpdateRgn(CWnd *)\n3067 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3068 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3069 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3070 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3071 int CHtmlEditView::ExecHandler(unsigned int)\n3072 int CWnd::ExecuteDlgInit(void *)\n3073 int CWnd::ExecuteDlgInit(wchar_t const *)\n3074 void CRecordset::ExecuteSetPosUpdate()\n3075 void CDatabase::ExecuteSQL(wchar_t const *)\n3076 void CRecordset::ExecuteUpdateSQL()\n3077 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3078 void CFrameWnd::ExitHelpMode()\n3079 int COleControlModule::ExitInstance()\n3080 int CWinApp::ExitInstance()\n3081 int CWinThread::ExitInstance()\n3082 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3083 unsigned long CCmdTarget::ExternalAddRef()\n3084 void CCmdTarget::ExternalDisconnect()\n3085 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3086 unsigned long CCmdTarget::ExternalRelease()\n3087 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3088 HICON__ * CImageList::ExtractIconW(int)\n3089 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3090 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3091 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3092 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3093 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3094 void CDataExchange::Fail()\n3095 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3096 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3097 void CArchive::FillBuffer(unsigned int)\n3098 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n3099 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n3100 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3101 int CDC::FillPath()\n3102 void CDC::FillRect(tagRECT const *,CBrush *)\n3103 int CDC::FillRgn(CRgn *,CBrush *)\n3104 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3105 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3106 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3107 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3108 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3109 void CWnd::FilterToolTipMessage(tagMSG *)\n3110 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3111 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3112 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3113 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3114 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3115 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3116 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n3117 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n3118 int CDockBar::FindBar(CControlBar *,int)\n3119 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3120 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3121 int CFileFind::FindFile(wchar_t const *,unsigned long)\n3122 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n3123 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n3124 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n3125 __POSITION * CObList::FindIndex(int)const \n3126 __POSITION * CPtrList::FindIndex(int)const \n3127 __POSITION * CStringList::FindIndex(int)const \n3128 int CListCtrl::FindItem(tagLVFINDINFOW *,int)const \n3129 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3130 int CFindReplaceDialog::FindNext()const \n3131 int CFileFind::FindNextFileW()\n3132 int CFtpFileFind::FindNextFileW()\n3133 int CGopherFileFind::FindNextFileW()\n3134 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3135 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3136 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3137 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n3138 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n3139 int CComboBox::FindString(int,wchar_t const *)const \n3140 int CComboBoxEx::FindString(int,wchar_t const *)const \n3141 int CListBox::FindString(int,wchar_t const *)const \n3142 int CComboBox::FindStringExact(int,wchar_t const *)const \n3143 int CListBox::FindStringExact(int,wchar_t const *)const \n3144 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3145 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n3146 int CEditView::FindTextW(wchar_t const *,int,int)\n3147 long CRichEditCtrl::FindTextW(unsigned long,_findtextexw *)const \n3148 int CRichEditView::FindTextW(_AFX_RICHEDIT_STATE *)\n3149 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n3150 CWnd * CWnd::FindWindowExW(HWND__ *,HWND__ *,wchar_t const *,wchar_t const *)\n3151 CWnd * CWnd::FindWindowW(wchar_t const *,wchar_t const *)\n3152 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3153 int COleClientItem::FinishCreate(long)\n3154 void COleControl::FireClick()\n3155 void COleControl::FireDblClick()\n3156 void COleControl::FireError(long,wchar_t const *,unsigned int)\n3157 void COleControl::FireEvent(long,unsigned char *,...)\n3158 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3159 void COleControl::FireEventV(long,unsigned char *,char *)\n3160 void COleControl::FireKeyDown(unsigned short *,short)\n3161 void COleControl::FireKeyPress(unsigned short *)\n3162 void COleControl::FireKeyUp(unsigned short *,short)\n3163 void COleControl::FireMouseDown(short,short,long,long)\n3164 void COleControl::FireMouseMove(short,short,long,long)\n3165 void COleControl::FireMouseUp(short,short,long,long)\n3166 void COleControl::FireReadyStateChange()\n3167 void CRecordset::Fixups()\n3168 int CWnd::FlashWindow(int)\n3169 int CDC::FlattenPath()\n3170 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3171 int CDC::FloodFill(int,int,unsigned long)\n3172 void CArchive::Flush()\n3173 void CDumpContext::Flush()\n3174 void CFile::Flush()\n3175 void CInternetFile::Flush()\n3176 void CMemFile::Flush()\n3177 void CMonikerFile::Flush()\n3178 void COleStreamFile::Flush()\n3179 void CSocketFile::Flush()\n3180 void CStdioFile::Flush()\n3181 void COleDataSource::FlushClipboard()\n3182 int CRecordset::FlushResultSet()\n3183 int CEdit::FmtLines(int)\n3184 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3185 void ATL::CSimpleStringT<char,1>::Fork(int)\n3186 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3187 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3188 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3189 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3190 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n3191 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n3192 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3193 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n3194 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n3195 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n3196 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n3197 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3198 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3199 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3200 void COleControl::ForwardActivationMsg(tagMSG *)\n3201 void CDC::FrameRect(tagRECT const *,CBrush *)\n3202 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3203 void CAfxStringMgr::Free(ATL::CStringData *)\n3204 void CDatabase::Free()\n3205 void CFixedAlloc::Free(void *)\n3206 void CFixedAllocNoSync::Free(void *)\n3207 void CMemFile::Free(unsigned char *)\n3208 void CSharedFile::Free(unsigned char *)\n3209 void CFixedAlloc::FreeAll()\n3210 void CFixedAllocNoSync::FreeAll()\n3211 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3212 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3213 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3214 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3215 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3216 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3217 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3218 void CRecordset::FreeDataCache()\n3219 void CPlex::FreeDataChain()\n3220 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n3221 void ATL::CSimpleStringT<char,1>::FreeExtra()\n3222 void CByteArray::FreeExtra()\n3223 void CDWordArray::FreeExtra()\n3224 void CObArray::FreeExtra()\n3225 void CPtrArray::FreeExtra()\n3226 void CStringArray::FreeExtra()\n3227 void CUIntArray::FreeExtra()\n3228 void CWordArray::FreeExtra()\n3229 void CObList::FreeNode(CObList::CNode *)\n3230 void CPtrList::FreeNode(CPtrList::CNode *)\n3231 void CStringList::FreeNode(CStringList::CNode *)\n3232 void CRecordset::FreeRowset()\n3233 void CThreadSlotData::FreeSlot(int)\n3234 void CProperty::FreeValue()\n3235 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3236 void COleControlContainer::FreezeAllEvents(int)\n3237 void COleControlSite::FreezeEvents(int)\n3238 long COleControl::XOleControl::FreezeEvents(int)\n3239 int COleClientItem::FreezeLink()\n3240 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3241 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3242 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3243 CDC * CDC::FromHandle(HDC__ *)\n3244 CFont * CFont::FromHandle(HFONT__ *)\n3245 CGdiObject * CGdiObject::FromHandle(void *)\n3246 CObject * CHandleMap::FromHandle(void *)\n3247 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3248 CMenu * CMenu::FromHandle(HMENU__ *)\n3249 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3250 CPen * CPen::FromHandle(HPEN__ *)\n3251 CRgn * CRgn::FromHandle(HRGN__ *)\n3252 CSocket * CSocket::FromHandle(unsigned int)\n3253 CWnd * CWnd::FromHandle(HWND__ *)\n3254 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3255 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3256 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3257 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3258 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3259 CRuntime* CRuntimeClass::FromName(char const *)\n3260 void * CProperty::Get(unsigned long *)\n3261 void * CProperty::Get()\n3262 void * CPropertySection::Get(unsigned long)\n3263 void * CPropertySection::Get(unsigned long,unsigned long *)\n3264 void * CPropertySet::Get(_GUID,unsigned long)\n3265 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3266 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3267 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3268 long CWnd::get_accChildCount(long *)\n3269 long CWnd::XAccessible::get_accChildCount(long *)\n3270 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3271 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3272 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3273 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3274 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3275 long CWnd::get_accFocus(tagVARIANT *)\n3276 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3277 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3278 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3279 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3280 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3281 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3282 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3283 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3284 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3285 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3286 long CWnd::get_accParent(IDispatch * *)\n3287 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3288 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3289 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3290 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3291 long CWnd::get_accSelection(tagVARIANT *)\n3292 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3293 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3294 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3295 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3296 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3297 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3298 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3299 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3300 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3301 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3302 long CWnd::GetAccessibleChildCount()\n3303 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3304 unsigned long COleControl::GetActivationPolicy()\n3305 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3306 CDocument * CFrameWnd::GetActiveDocument()\n3307 CFrameWnd * CFrameWnd::GetActiveFrame()\n3308 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3309 int CPropertySheet::GetActiveIndex()const \n3310 CPropertyPage * CPropertySheet::GetActivePage()const \n3311 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3312 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3313 CView * CFrameWnd::GetActiveView()const \n3314 CView * COleClientItem::GetActiveView()const \n3315 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3316 CRichEditView * CRichEditCntrItem::GetActiveView()\n3317 CWnd * CWnd::GetActiveWindow()\n3318 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3319 int CIPAddressCtrl::GetAddress(unsigned long &)\n3320 int CHtmlView::GetAddressBar()const \n3321 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3322 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n3323 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n3324 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3325 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3326 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3327 int CToolBarCtrl::GetAnchorHighlight()const \n3328 int CListBox::GetAnchorIndex()const \n3329 short COleControl::GetAppearance()\n3330 IDispatch * CHtmlView::GetApplication()const \n3331 HKEY__ * CWinApp::GetAppRegistryKey()\n3332 int CDC::GetArcDirection()const \n3333 CSize CDC::GetAspectRatioFilter()const \n3334 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3335 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3336 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3337 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3338 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3339 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3340 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3341 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3342 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3343 unsigned char CByteArray::GetAt(int)const \n3344 unsigned long CDWordArray::GetAt(int)const \n3345 CObject * CObArray::GetAt(int)const \n3346 CObject * & CObList::GetAt(__POSITION *)\n3347 CObject const * & CObList::GetAt(__POSITION *)const \n3348 void * CPtrArray::GetAt(int)const \n3349 void * & CPtrList::GetAt(__POSITION *)\n3350 void const * & CPtrList::GetAt(__POSITION *)const \n3351 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::GetAt(int)const \n3352 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetAt(__POSITION *)\n3353 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetAt(__POSITION *)const \n3354 unsigned int CUIntArray::GetAt(int)const \n3355 unsigned short CWordArray::GetAt(int)const \n3356 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3357 unsigned long COleControl::GetBackColor()\n3358 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3359 unsigned int CReBarCtrl::GetBandCount()const \n3360 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOW *)const \n3361 unsigned int CReBarCtrl::GetBarHeight()const \n3362 void CControlBar::GetBarInfo(CControlBarInfo *)\n3363 void CDockBar::GetBarInfo(CControlBarInfo *)\n3364 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3365 unsigned long CControlBar::GetBarStyle()\n3366 unsigned int CSpinButtonCtrl::GetBase()const \n3367 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3368 IBinding * CAsyncMonikerFile::GetBinding()const \n3369 int CBitmap::GetBitmap(tagBITMAP *)\n3370 HBITMAP__ * CButton::GetBitmap()const \n3371 HBITMAP__ * CStatic::GetBitmap()const \n3372 int CToolBarCtrl::GetBitmap(int)const \n3373 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3374 CSize CBitmap::GetBitmapDimension()const \n3375 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3376 int CHeaderCtrl::GetBitmapMargin()const \n3377 unsigned long CDC::GetBkColor()const \n3378 unsigned long CImageList::GetBkColor()const \n3379 unsigned long CListCtrl::GetBkColor()const \n3380 unsigned long CReBarCtrl::GetBkColor()const \n3381 unsigned long CTreeCtrl::GetBkColor()const \n3382 int CListCtrl::GetBkImage(tagLVBKIMAGEW *)const \n3383 int CDC::GetBkMode()const \n3384 void * CBlobProperty::GetBlob()\n3385 void CRecordset::GetBookmark(CDBVariant &)\n3386 unsigned long CDatabase::GetBookmarkPersistence()const \n3387 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3388 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3389 CRect CControlBar::GetBorders()const \n3390 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3391 int CStatusBarCtrl::GetBorders(int *)const \n3392 short COleControl::GetBorderStyle()\n3393 long CDataSourceControl::GetBoundClientRow()\n3394 int CRecordset::GetBoundFieldIndex(void *)\n3395 int CRecordset::GetBoundParamIndex(void *)\n3396 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3397 CPoint CDC::GetBrushOrg()const \n3398 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOW *)const \n3399 CWnd * CSliderCtrl::GetBuddy(int)const \n3400 CWnd * CSpinButtonCtrl::GetBuddy()const \n3401 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3402 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n3403 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3404 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n3405 unsigned int CEditView::GetBufferLength()const \n3406 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3407 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3408 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3409 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3410 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3411 int CHtmlView::GetBusy()const \n3412 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3413 int CToolBarCtrl::GetButtonCount()const \n3414 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3415 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOW *)const \n3416 unsigned long CToolBarCtrl::GetButtonSize()const \n3417 unsigned int CButton::GetButtonStyle()const \n3418 unsigned int CToolBar::GetButtonStyle(int)const \n3419 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n3420 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3421 void COleSafeArray::GetByteArray(CByteArray &)\n3422 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3423 unsigned short CPropertySet::GetByteOrder()\n3424 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3425 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3426 unsigned int CListCtrl::GetCallbackMask()const \n3427 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3428 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3429 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3430 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3431 CWnd * COleControl::GetCapture()\n3432 CWnd * CWnd::GetCapture()\n3433 long COleControlSite::XOleIPSite::GetCapture()\n3434 int CListBox::GetCaretIndex()const \n3435 CPoint CWnd::GetCaretPos()\n3436 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3437 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABC *)const \n3438 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABCFLOAT *)const \n3439 unsigned long CDC::GetCharacterPlacementW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,tagGCP_RESULTSW *,unsigned long)const \n3440 unsigned long CDC::GetCharacterPlacementW(wchar_t const *,int,int,tagGCP_RESULTSW *,unsigned long)const \n3441 void CFontDialog::GetCharFormat(_charformatw &)const \n3442 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n3443 CPoint CRichEditCtrl::GetCharPos(long)const \n3444 int CDC::GetCharWidthW(unsigned int,unsigned int,int *)const \n3445 int CDC::GetCharWidthW(unsigned int,unsigned int,float *)const \n3446 int CButton::GetCheck()const \n3447 int CCheckListBox::GetCheck(int)\n3448 int CListCtrl::GetCheck(int)const \n3449 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3450 int CWnd::GetCheckedRadioButton(int,int)\n3451 unsigned int CCheckListBox::GetCheckStyle()\n3452 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3453 long CBlobProperty::GetClassID(_GUID *)\n3454 void COleClientItem::GetClassID(_GUID *)const \n3455 _GUID const & COleConvertDialog::GetClassID()const \n3456 _GUID const & COleInsertDialog::GetClassID()const \n3457 _GUID const & COleObjectFactory::GetClassID()const \n3458 _GUID CPropertySet::GetClassID()\n3459 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3460 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3461 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3462 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3463 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3464 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3465 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n3466 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3467 void COleControl::GetClientOffset(long *,long *)const \n3468 void COleControl::GetClientRect(tagRECT *)const \n3469 void CWnd::GetClientRect(tagRECT *)const \n3470 IOleClientSite * COleClientItem::GetClientSite()\n3471 IOleClientSite * COleControl::GetClientSite()\n3472 IOleClientSite * COleServerDoc::GetClientSite()const \n3473 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3474 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3475 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3476 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3477 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3478 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3479 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3480 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3481 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3482 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3483 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3484 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3485 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3486 COleDataSource * COleDataSource::GetClipboardOwner()\n3487 CWnd * CWnd::GetClipboardOwner()\n3488 CWnd * CWnd::GetClipboardViewer()\n3489 int CDC::GetClipBox(tagRECT *)const \n3490 int CMetaFileDC::GetClipBox(tagRECT *)const \n3491 unsigned long CColorDialog::GetColor()const \n3492 unsigned long CFontDialog::GetColor()const \n3493 unsigned long CMonthCalCtrl::GetColor(int)const \n3494 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3495 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3496 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3497 int CListCtrl::GetColumn(int,tagLVCOLUMNW *)const \n3498 int CSplitterWnd::GetColumnCount()const \n3499 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3500 int CListCtrl::GetColumnOrderArray(int *,int)\n3501 int CListCtrl::GetColumnWidth(int)const \n3502 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3503 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3504 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3505 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDatabase::GetConnect()const \n3506 void CDatabase::GetConnectInfo()\n3507 int CConnectionPoint::GetConnectionCount()\n3508 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3509 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3510 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3511 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3512 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3513 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3514 CPtrArray const * CConnectionPoint::GetConnections()\n3515 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3516 IDispatch * CHtmlView::GetContainer()const \n3517 IOleItemContainer * COleDocument::GetContainer()\n3518 IOleItemContainer * COleLinkingDoc::GetContainer()\n3519 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3520 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3521 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3522 unsigned long CInternetConnection::GetContext()const \n3523 unsigned long CInternetFile::GetContext()const \n3524 unsigned long CInternetSession::GetContext()const \n3525 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3526 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3527 COleControl * CDataPathProperty::GetControl()\n3528 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3529 COleControlContainer * CWnd::GetControlContainer()\n3530 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n3531 unsigned long COleControl::GetControlFlags()\n3532 void COleControlSite::GetControlInfo()\n3533 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3534 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3535 IUnknown * CCmdTarget::GetControllingUnknown()\n3536 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3537 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n3538 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n3539 void COleControl::GetControlSize(int *,int *)\n3540 int COlePropertyPage::GetControlStatus(unsigned int)\n3541 IUnknown * CWnd::GetControlUnknown()\n3542 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3543 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3544 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n3545 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n3546 int CPrintDialog::GetCopies()const \n3547 int CPrintDialogEx::GetCopies()const \n3548 int CByteArray::GetCount()const \n3549 int CComboBox::GetCount()const \n3550 int CControlBar::GetCount()const \n3551 int CDWordArray::GetCount()const \n3552 int CListBox::GetCount()const \n3553 int CMapPtrToPtr::GetCount()const \n3554 int CMapPtrToWord::GetCount()const \n3555 int CMapStringToOb::GetCount()const \n3556 int CMapStringToPtr::GetCount()const \n3557 int CMapStringToString::GetCount()const \n3558 int CMapWordToOb::GetCount()const \n3559 int CMapWordToPtr::GetCount()const \n3560 int CObArray::GetCount()const \n3561 int CObList::GetCount()const \n3562 unsigned long CPropertySection::GetCount()\n3563 unsigned long CPropertySet::GetCount()\n3564 int CPtrArray::GetCount()const \n3565 int CPtrList::GetCount()const \n3566 int CStringArray::GetCount()const \n3567 int CStringList::GetCount()const \n3568 unsigned int CTreeCtrl::GetCount()const \n3569 int CUIntArray::GetCount()const \n3570 int CWordArray::GetCount()const \n3571 int CListCtrl::GetCountPerPage()const \n3572 int CFileFind::GetCreationTime(ATL::CTime &)const \n3573 int CFileFind::GetCreationTime(_FILETIME *)const \n3574 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3575 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3576 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3577 int CTabCtrl::GetCurFocus()const \n3578 CBitmap * CDC::GetCurrentBitmap()const \n3579 CBrush * CDC::GetCurrentBrush()const \n3580 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3581 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n3582 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3583 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n3584 CFont * CDC::GetCurrentFont()const \n3585 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n3586 tagMSG const * CWnd::GetCurrentMessage()\n3587 CPalette * CDC::GetCurrentPalette()const \n3588 CPen * CDC::GetCurrentPen()const \n3589 CPoint CDC::GetCurrentPosition()const \n3590 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3591 int CComboBox::GetCurSel()const \n3592 int CListBox::GetCurSel()const \n3593 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3594 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3595 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3596 int CTabCtrl::GetCurSel()const \n3597 HICON__ * CButton::GetCursor()\n3598 IUnknown * CDataBoundProperty::GetCursor()\n3599 IUnknown * CDataSourceControl::GetCursor()\n3600 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3601 HICON__ * CStatic::GetCursor()\n3602 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3603 int CDatabase::GetCursorCommitBehavior()const \n3604 int CDatabase::GetCursorRollbackBehavior()const \n3605 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n3606 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n3607 unsigned char * CByteArray::GetData()\n3608 unsigned char const * CByteArray::GetData()const \n3609 unsigned long * CDWordArray::GetData()\n3610 unsigned long const * CDWordArray::GetData()const \n3611 CObject * * CObArray::GetData()\n3612 CObject const * * CObArray::GetData()const \n3613 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3614 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3615 void * * CPtrArray::GetData()\n3616 void const * * CPtrArray::GetData()const \n3617 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3618 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > * CStringArray::GetData()\n3619 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const * CStringArray::GetData()const \n3620 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3621 unsigned int * CUIntArray::GetData()\n3622 unsigned int const * CUIntArray::GetData()const \n3623 unsigned short * CWordArray::GetData()\n3624 unsigned short const * CWordArray::GetData()const \n3625 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3626 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3627 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3628 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3629 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n3630 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3631 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3632 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3633 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3634 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3635 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3636 IDataObject * COleServerItem::GetDataObject()\n3637 COleControl::CControlDataSource * COleControl::GetDataSource()\n3638 COleDataSource * COleServerItem::GetDataSource()\n3639 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3640 CDC * CWnd::GetDC()\n3641 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3642 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3643 HACCEL__ * CDocument::GetDefaultAccelerator()\n3644 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3645 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3646 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n3647 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n3648 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n3649 short CRecordset::GetDefaultFieldType(short)\n3650 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3651 HMENU__ * CDocument::GetDefaultMenu()\n3652 HMENU__ * COleServerDoc::GetDefaultMenu()\n3653 int CPrintDialog::GetDefaults()\n3654 int CPrintDialogEx::GetDefaults()\n3655 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n3656 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3657 unsigned long COleControlSite::GetDefBtnCode()\n3658 unsigned long CDialog::GetDefID()const \n3659 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3660 int CDumpContext::GetDepth()const \n3661 CWnd * CWnd::GetDescendantWindow(int,int)const \n3662 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3663 CWnd * CWnd::GetDesktopWindow()\n3664 int CDC::GetDeviceCaps(int)const \n3665 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n3666 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n3667 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n3668 CPoint CScrollView::GetDeviceScrollPosition()const \n3669 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3670 _devicemodeW * CPageSetupDialog::GetDevMode()const \n3671 _devicemodeW * CPrintDialog::GetDevMode()const \n3672 _devicemodeW * CPrintDialogEx::GetDevMode()const \n3673 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3674 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3675 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3676 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3677 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3678 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3679 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3680 unsigned long COleSafeArray::GetDim()\n3681 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3682 int CCmdTarget::GetDispatchIID(_GUID *)\n3683 int COleControl::GetDispatchIID(_GUID *)\n3684 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3685 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3686 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3687 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetDisplayName()\n3688 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n3689 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3690 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3691 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3692 int COleControlSite::GetDlgCtrlID()const \n3693 int CWnd::GetDlgCtrlID()const \n3694 CWnd * COleControlContainer::GetDlgItem(int)const \n3695 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3696 CWnd * CWnd::GetDlgItem(int)const \n3697 void CWnd::GetDlgItem(int,HWND__ * *)const \n3698 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3699 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3700 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n3701 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3702 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n3703 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3704 CDockBar * CDockContext::GetDockBar(unsigned long)\n3705 CControlBar * CDockBar::GetDockedControlBar(int)const \n3706 int CDockBar::GetDockedCount()const \n3707 int CDockBar::GetDockedVisibleCount()const \n3708 CFrameWnd * CControlBar::GetDockingFrame()const \n3709 void CFrameWnd::GetDockState(CDockState &)const \n3710 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3711 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3712 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n3713 CDocTemplate * CDocument::GetDocTemplate()const \n3714 CDocument * CDocItem::GetDocument()const \n3715 COleDocument * COleClientItem::GetDocument()const \n3716 COleServerDoc * COleServerItem::GetDocument()const \n3717 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3718 CRichEditDoc * CRichEditView::GetDocument()const \n3719 CDocument * CView::GetDocument()const \n3720 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3721 int CDocManager::GetDocumentCount()\n3722 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3723 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3724 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3725 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3726 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3727 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3728 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n3729 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n3730 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n3731 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3732 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3733 int CComboBox::GetDroppedState()const \n3734 int CComboBox::GetDroppedWidth()const \n3735 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3736 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3737 IDropTarget * CReBarCtrl::GetDropTarget()const \n3738 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3739 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3740 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3741 IUnknown * CWnd::GetDSCCursor()\n3742 CEdit * CListCtrl::GetEditControl()const \n3743 CEdit * CTreeCtrl::GetEditControl()const \n3744 CEdit * CComboBoxEx::GetEditCtrl()\n3745 CEdit & CEditView::GetEditCtrl()const \n3746 unsigned long CComboBox::GetEditSel()const \n3747 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n3748 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n3749 void COleSafeArray::GetElement(long *,void *)\n3750 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n3751 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n3752 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n3753 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n3754 unsigned long COleSafeArray::GetElemSize()\n3755 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3756 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3757 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3758 int COleControl::GetEnabled()\n3759 HENHMETAFILE__ * CStatic::GetEnhMetaFileW()const \n3760 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3761 int CPalette::GetEntryCount()\n3762 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3763 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n3764 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n3765 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3766 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3767 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3768 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3769 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3770 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3771 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3772 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3773 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3774 int COleControlSite::GetEventIID(_GUID *)\n3775 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3776 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n3777 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n3778 long CRichEditCtrl::GetEventMask()const \n3779 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3780 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3781 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3782 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3783 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3784 unsigned long COleControlSite::GetExStyle()const \n3785 unsigned long CWnd::GetExStyle()const \n3786 IDispatch * COleControl::GetExtendedControl()\n3787 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3788 unsigned long CComboBoxEx::GetExtendedStyle()const \n3789 unsigned long CListCtrl::GetExtendedStyle()\n3790 unsigned long CTabCtrl::GetExtendedStyle()\n3791 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3792 int CComboBox::GetExtendedUI()const \n3793 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3794 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3795 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3796 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3797 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3798 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3799 long CBrowserControlSite::GetExternal(IDispatch * *)\n3800 long CDHtmlDialog::GetExternal(IDispatch * *)\n3801 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3802 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3803 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3804 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3805 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetFaceName()const \n3806 short CRecordset::GetFieldIndexByName(wchar_t const *)\n3807 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3808 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3809 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3810 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3811 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3812 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3813 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3814 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n3815 CFile * CArchive::GetFile()const \n3816 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n3817 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n3818 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3819 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n3820 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n3821 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n3822 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n3823 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n3824 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFileName()\n3825 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n3826 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n3827 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n3828 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n3829 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n3830 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n3831 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n3832 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3833 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n3834 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n3835 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n3836 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n3837 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetFindString()const \n3838 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3839 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3840 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3841 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3842 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3843 CFrameWnd * COleDocument::GetFirstFrame()\n3844 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3845 __POSITION * CDocument::GetFirstViewPosition()const \n3846 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3847 int CEdit::GetFirstVisibleLine()const \n3848 int CRichEditCtrl::GetFirstVisibleLine()const \n3849 CWnd * COleControl::GetFocus()\n3850 CWnd * CWnd::GetFocus()\n3851 long COleControlSite::XOleIPSite::GetFocus()\n3852 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n3853 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n3854 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n3855 IFontDisp * COleControl::GetFont()\n3856 CFont * CWnd::GetFont()const \n3857 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3858 IFontDisp * CFontHolder::GetFontDispatch()\n3859 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3860 HFONT__ * CFontHolder::GetFontHandle()\n3861 unsigned long CDC::GetFontLanguageInfo()const \n3862 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3863 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n3864 unsigned long COleControl::GetForeColor()\n3865 CWnd * CWnd::GetForegroundWindow()\n3866 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3867 _GUID CPropertySection::GetFormatID()\n3868 unsigned short CPropertySet::GetFormatVersion()\n3869 int CPrintDialog::GetFromPage()const \n3870 unsigned int CPrintInfo::GetFromPage()const \n3871 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFromPrefix()\n3872 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n3873 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n3874 int CHtmlView::GetFullScreen()const \n3875 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3876 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3877 unsigned long CDC::GetGlyphOutlineW(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3878 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n3879 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3880 CBrush * CDC::GetHalftoneBrush()\n3881 void * CEdit::GetHandle()const \n3882 unsigned int CRectTracker::GetHandleMask()const \n3883 void CRectTracker::GetHandleRect(int,CRect *)const \n3884 int CRectTracker::GetHandleSize(tagRECT const *)const \n3885 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3886 unsigned int CMapPtrToWord::GetHashTableSize()const \n3887 unsigned int CMapStringToOb::GetHashTableSize()const \n3888 unsigned int CMapStringToPtr::GetHashTableSize()const \n3889 unsigned int CMapStringToString::GetHashTableSize()const \n3890 unsigned int CMapWordToOb::GetHashTableSize()const \n3891 unsigned int CMapWordToPtr::GetHashTableSize()const \n3892 CObject * & CObList::GetHead()\n3893 CObject const * & CObList::GetHead()const \n3894 void * & CPtrList::GetHead()\n3895 void const * & CPtrList::GetHead()const \n3896 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetHead()\n3897 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetHead()const \n3898 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3899 __POSITION * CObList::GetHeadPosition()const \n3900 __POSITION * CPtrList::GetHeadPosition()const \n3901 __POSITION * CStringList::GetHeadPosition()const \n3902 long CHtmlView::GetHeight()const \n3903 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3904 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n3905 void CSplitterWnd::GetHitRect(int,CRect &)\n3906 unsigned int CComboBox::GetHorizontalExtent()const \n3907 int CListBox::GetHorizontalExtent()const \n3908 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3909 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3910 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3911 HICON__ * CListCtrl::GetHotCursor()\n3912 CImageList * CToolBarCtrl::GetHotImageList()const \n3913 int CListCtrl::GetHotItem()\n3914 int CToolBarCtrl::GetHotItem()const \n3915 unsigned long CHotKeyCtrl::GetHotKey()const \n3916 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n3918 unsigned long CListCtrl::GetHoverTime()const \n3919 IDispatch * CHtmlView::GetHtmlDocument()const \n3920 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n3921 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n3922 unsigned int COleControl::GetHwnd()\n3923 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3924 HICON__ * CButton::GetIcon()const \n3925 HICON__ * CStatic::GetIcon()const \n3926 HICON__ * CWnd::GetIcon(int)const \n3927 HICON__ * COleClientItem::GetIconFromRegistry()const \n3928 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3929 void * COleChangeIconDialog::GetIconicMetafile()const \n3930 void * COleClientItem::GetIconicMetafile()\n3931 void * COleConvertDialog::GetIconicMetafile()const \n3932 void * COleInsertDialog::GetIconicMetafile()const \n3933 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3934 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3935 unsigned long CProperty::GetID()\n3936 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n3937 IDataObject * COleDataObject::GetIDataObject(int)\n3938 IDispatch * CCmdTarget::GetIDispatch(int)\n3939 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3940 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3941 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3942 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3943 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3944 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3945 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3946 _GUID const & COleControl::XEventConnPt::GetIID()\n3947 int CImageList::GetImageCount()const \n3948 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3949 CImageList * CComboBoxEx::GetImageList()const \n3950 CImageList * CHeaderCtrl::GetImageList()const \n3951 CImageList * CListCtrl::GetImageList(int)const \n3952 CImageList * CReBarCtrl::GetImageList()const \n3953 CImageList * CTabCtrl::GetImageList()const \n3954 CImageList * CToolBarCtrl::GetImageList()const \n3955 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3956 unsigned int CTreeCtrl::GetIndent()const \n3957 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3958 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3959 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3960 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3961 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3962 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3963 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3964 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3965 CWnd * COleClientItem::GetInPlaceWindow()\n3966 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3967 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3968 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3969 void CSplitterWnd::GetInsideRect(CRect &)const \n3970 IUnknown * CCmdTarget::GetInterface(void const *)\n3971 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3972 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3973 IUnknown * COleControl::GetInterfaceHook(void const *)\n3974 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3975 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3976 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3977 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3978 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3979 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3980 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3981 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3982 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3983 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3984 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3985 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3986 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3987 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3988 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3989 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3990 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3991 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3992 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3993 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3994 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3995 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3996 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3997 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3998 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3999 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n4000 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n4001 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n4002 int CHeaderCtrl::GetItem(int,_HD_ITEMW *)const \n4003 int CListCtrl::GetItem(tagLVITEMW *)const \n4004 int CTabCtrl::GetItem(int,tagTCITEMW *)const \n4005 int CTreeCtrl::GetItem(tagTVITEMW *)const \n4006 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4007 int CHeaderCtrl::GetItemCount()const \n4008 int CListCtrl::GetItemCount()const \n4009 int CTabCtrl::GetItemCount()const \n4010 unsigned long CComboBox::GetItemData(int)const \n4011 unsigned long CListBox::GetItemData(int)const \n4012 unsigned long CListCtrl::GetItemData(int)const \n4013 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4014 void * CComboBox::GetItemDataPtr(int)const \n4015 void * CListBox::GetItemDataPtr(int)const \n4016 int CComboBox::GetItemHeight(int)const \n4017 int CListBox::GetItemHeight(int)const \n4018 short CTreeCtrl::GetItemHeight()const \n4019 unsigned int CStatusBar::GetItemID(int)const \n4020 unsigned int CToolBar::GetItemID(int)const \n4021 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4022 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetItemName()\n4023 void COleClientItem::GetItemName(wchar_t *)const \n4024 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleServerItem::GetItemName()const \n4025 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4026 void COleServerDoc::GetItemPosition(tagRECT *)const \n4027 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4028 int CListBox::GetItemRect(int,tagRECT *)const \n4029 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4030 void CStatusBar::GetItemRect(int,tagRECT *)const \n4031 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4032 void CToolBar::GetItemRect(int,tagRECT *)const \n4033 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4034 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4035 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4036 unsigned int COleClientItem::GetItemState()const \n4037 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4038 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4039 void COleClientItem::GetItemStorage()\n4040 void COleClientItem::GetItemStorageCompound()\n4041 void COleClientItem::GetItemStorageFlat()\n4042 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n4043 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n4044 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4045 int CDC::GetKerningPairsW(int,tagKERNINGPAIR *)const \n4046 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4047 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4048 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4049 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4050 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4051 CWnd * CWnd::GetLastActivePopup()const \n4052 int CAsyncSocket::GetLastError()\n4053 unsigned int COleDialog::GetLastError()const \n4054 long COleClientItem::GetLastStatus()const \n4055 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4056 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4057 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4058 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4059 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4060 unsigned long CDC::GetLayout()const \n4061 long CRecordset::GetLBFetchSize(long)\n4062 void COleSafeArray::GetLBound(unsigned long,long *)\n4063 long CRecordset::GetLBReallocSize(long)\n4064 int CComboBox::GetLBText(int,wchar_t *)const \n4065 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4066 int CComboBox::GetLBTextLen(int)const \n4067 long CHtmlView::GetLeft()const \n4068 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n4069 int ATL::CSimpleStringT<char,1>::GetLength()const \n4070 unsigned __int64 CFile::GetLength()const \n4071 unsigned __int64 CFileFind::GetLength()const \n4072 unsigned __int64 CGopherFileFind::GetLength()const \n4073 unsigned __int64 CInternetFile::GetLength()const \n4074 unsigned __int64 CMemFile::GetLength()const \n4075 unsigned __int64 COleStreamFile::GetLength()const \n4076 unsigned __int64 CSocketFile::GetLength()const \n4077 unsigned __int64 CStdioFile::GetLength()const \n4078 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4079 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4080 unsigned int CEdit::GetLimitText()const \n4081 long CRichEditCtrl::GetLimitText()const \n4082 int CEdit::GetLine(int,wchar_t *)const \n4083 int CEdit::GetLine(int,wchar_t *,int)const \n4084 int CRichEditCtrl::GetLine(int,wchar_t *)const \n4085 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n4086 unsigned long CTreeCtrl::GetLineColor()const \n4087 int CEdit::GetLineCount()const \n4088 int CRichEditCtrl::GetLineCount()const \n4089 int CSliderCtrl::GetLineSize()const \n4090 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4091 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n4092 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4093 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4094 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n4095 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4096 CPtrList * CPropertySection::GetList()\n4097 CPtrList * CPropertySet::GetList()\n4098 CListCtrl & CListView::GetListCtrl()const \n4099 unsigned long CComboBox::GetLocale()const \n4100 unsigned long CListBox::GetLocale()const \n4101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n4102 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n4103 CGopherLocator CGopherFileFind::GetLocator()const \n4104 int CGopherLocator::GetLocatorType(unsigned long &)const \n4105 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4106 int CFont::GetLogFont(tagLOGFONTW *)\n4107 int CPen::GetLogPen(tagLOGPEN *)\n4108 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4109 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4110 long CFieldExchange::GetLongBinarySize(int)\n4111 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4112 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4113 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n4114 CWnd * CWinThread::GetMainWnd()\n4115 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n4116 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n4117 int CDC::GetMapMode()const \n4118 void CToolTipCtrl::GetMargin(tagRECT *)const \n4119 unsigned long CEdit::GetMargins()const \n4120 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4121 CRect CRichEditView::GetMargins()const \n4122 int CConnectionPoint::GetMaxConnections()\n4123 unsigned int CPrintInfo::GetMaxPage()const \n4124 int CMonthCalCtrl::GetMaxSelCount()const \n4125 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4126 int CToolBarCtrl::GetMaxTextRows()const \n4127 int CToolTipCtrl::GetMaxTipWidth()const \n4128 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n4129 CMenu * CWnd::GetMenu()const \n4130 int CHtmlView::GetMenuBar()const \n4131 unsigned long CMenu::GetMenuContextHelpId()const \n4132 unsigned int CMenu::GetMenuItemCount()const \n4133 unsigned int CMenu::GetMenuItemID(int)const \n4134 int CMenu::GetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n4135 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4136 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n4137 int CMenu::GetMenuStringW(unsigned int,wchar_t *,int,unsigned int)const \n4138 CWnd * CFrameWnd::GetMessageBar()\n4139 CWnd * CMDIChildWnd::GetMessageBar()\n4140 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n4141 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n4142 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n4143 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n4144 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n4145 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n4146 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n4147 AFX_MSGMAP const * CDialog::GetMessageMap()const \n4148 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n4149 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n4150 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n4151 AFX_MSGMAP const * CDocument::GetMessageMap()const \n4152 AFX_MSGMAP const * CEditView::GetMessageMap()const \n4153 AFX_MSGMAP const * CFormView::GetMessageMap()const \n4154 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n4155 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n4156 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n4157 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n4158 AFX_MSGMAP const * CListView::GetMessageMap()const \n4159 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n4160 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n4161 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n4162 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n4163 AFX_MSGMAP const * COleControl::GetMessageMap()const \n4164 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n4165 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n4166 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n4167 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n4168 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n4169 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n4170 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n4171 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n4172 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n4173 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n4174 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n4175 AFX_MSGMAP const * CReBar::GetMessageMap()const \n4176 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n4177 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n4178 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n4179 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n4180 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n4181 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n4182 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n4183 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n4184 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n4185 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n4186 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n4187 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n4188 AFX_MSGMAP const * CView::GetMessageMap()const \n4189 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n4190 AFX_MSGMAP const * CWnd::GetMessageMap()const \n4191 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4192 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4193 long CDataSourceControl::GetMetaData()\n4194 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4195 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4196 unsigned int CPrintInfo::GetMinPage()const \n4197 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4198 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4199 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4200 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4201 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4202 float CDC::GetMiterLimit()const \n4203 int CEdit::GetModify()const \n4204 int CRichEditCtrl::GetModify()const \n4205 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4206 IMoniker * CMonikerFile::GetMoniker()const \n4207 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4208 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4209 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4210 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4211 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4212 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4213 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4214 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4215 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4216 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4217 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4218 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4219 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4220 int CMonthCalCtrl::GetMonthDelta()const \n4221 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4222 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4223 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4224 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4225 unsigned long CDC::GetNearestColor(unsigned long)const \n4226 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4227 unsigned long COleClientItem::GetNewItemNumber()\n4228 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4229 CDataBoundProperty * CDataBoundProperty::GetNext()\n4230 CObject * & CObList::GetNext(__POSITION * &)\n4231 CObject const * & CObList::GetNext(__POSITION * &)const \n4232 void * & CPtrList::GetNext(__POSITION * &)\n4233 void const * & CPtrList::GetNext(__POSITION * &)const \n4234 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetNext(__POSITION * &)\n4235 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetNext(__POSITION * &)const \n4236 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4237 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4238 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n4239 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n4240 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4241 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4242 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4243 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4244 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4245 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4246 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4247 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4248 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4249 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4250 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4251 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4252 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4253 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4254 int CListCtrl::GetNextItem(int,int)const \n4255 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4256 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4257 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4258 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4259 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4260 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4261 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4262 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4263 CView * CDocument::GetNextView(__POSITION * &)const \n4264 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4265 CWnd * CWnd::GetNextWindow(unsigned int)const \n4266 ATL::CStringData * CAfxStringMgr::GetNilString()\n4267 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4268 void CCmdTarget::GetNotSupported()\n4269 void COleControl::GetNotSupported()\n4270 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4271 unsigned int CSliderCtrl::GetNumTics()const \n4272 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4273 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4274 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4275 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n4276 unsigned int CArchive::GetObjectSchema()\n4277 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4278 unsigned int CGdiObject::GetObjectType()const \n4279 int CGdiObject::GetObjectW(int,void *)const \n4280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n4281 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4282 short CRecordset::GetODBCFieldCount()const \n4283 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4284 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n4285 int CHtmlView::GetOffline()const \n4286 tagOFNW & CFileDialog::GetOFN()\n4287 tagOFNW const & CFileDialog::GetOFN()const \n4288 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4289 IOleObject * COleServerItem::GetOleObject()\n4290 unsigned long COleSafeArray::GetOneDimSize()\n4291 CWnd * CWnd::GetOpenClipboardWindow()\n4292 int CDocManager::GetOpenDocumentCount()\n4293 int CWinApp::GetOpenDocumentCount()\n4294 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4295 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4296 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4297 unsigned int CRichEditCtrl::GetOptions()const \n4298 int CHeaderCtrl::GetOrderArray(int *,int)\n4299 int CListCtrl::GetOrigin(tagPOINT *)const \n4300 unsigned long CPropertySet::GetOSVersion()\n4301 CWnd * COleControl::GetOuterWindow()const \n4302 unsigned int CDC::GetOutlineTextMetricsW(unsigned int,_OUTLINETEXTMETRICW *)const \n4303 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4304 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4305 CSize CDC::GetOutputTabbedTextExtent(wchar_t const *,int,int,int *)const \n4306 CSize CDC::GetOutputTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4307 CSize CDC::GetOutputTextExtent(wchar_t const *,int)const \n4308 int CDC::GetOutputTextMetrics(tagTEXTMETRICW *)const \n4309 CWnd * CWnd::GetOwner()const \n4310 CPropertyPage * CPropertySheet::GetPage(int)const \n4311 int COleDocObjectItem::GetPageCount(long *,long *)\n4312 int CPropertySheet::GetPageCount()const \n4313 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4314 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4315 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4316 CRect CRichEditView::GetPageRect()const \n4317 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4318 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4319 int CSliderCtrl::GetPageSize()const \n4320 CPalette * CReBarCtrl::GetPalette()const \n4321 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4322 CWnd * CSplitterWnd::GetPane(int,int)const \n4323 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4324 unsigned int CStatusBar::GetPaneStyle(int)const \n4325 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n4326 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4327 CSize CPageSetupDialog::GetPaperSize()const \n4328 CSize CRichEditView::GetPaperSize()const \n4329 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4330 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4331 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4332 CWnd * CWnd::GetParent()const \n4333 IDispatch * CHtmlView::GetParentBrowser()const \n4334 CFrameWnd * CWnd::GetParentFrame()const \n4335 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4336 CWnd * CWnd::GetParentOwner()const \n4337 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4338 int CStatusBarCtrl::GetParts(int,int *)const \n4339 wchar_t CEdit::GetPasswordChar()const \n4340 int COlePasteSpecialDialog::GetPasteIndex()const \n4341 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDataPathProperty::GetPath()const \n4342 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4343 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetPathName()const \n4344 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n4345 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleInsertDialog::GetPathName()const \n4346 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4347 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4348 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4349 unsigned long CDC::GetPixel(int,int)const \n4350 unsigned long CDC::GetPixel(tagPOINT)const \n4351 int CDC::GetPolyFillMode()const \n4352 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n4353 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n4354 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n4355 int CProgressCtrl::GetPos()\n4356 int CSliderCtrl::GetPos()const \n4357 int CSpinButtonCtrl::GetPos()const \n4358 int CSpinButtonCtrl::GetPos32(int *)const \n4359 unsigned __int64 CFile::GetPosition()const \n4360 unsigned __int64 CMemFile::GetPosition()const \n4361 unsigned __int64 COleStreamFile::GetPosition()const \n4362 unsigned __int64 CSocketFile::GetPosition()const \n4363 unsigned __int64 CStdioFile::GetPosition()const \n4364 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4365 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4366 CObject * & CObList::GetPrev(__POSITION * &)\n4367 CObject const * & CObList::GetPrev(__POSITION * &)const \n4368 void * & CPtrList::GetPrev(__POSITION * &)\n4369 void const * & CPtrList::GetPrev(__POSITION * &)const \n4370 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetPrev(__POSITION * &)\n4371 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetPrev(__POSITION * &)const \n4372 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4373 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4374 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4375 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4376 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4377 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4378 HDC__ * CPrintDialog::GetPrinterDC()const \n4379 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4380 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n4381 CFont * CEditView::GetPrinterFont()const \n4382 CRect CRichEditView::GetPrintRect()const \n4383 int CRichEditView::GetPrintWidth()const \n4384 long CAsyncMonikerFile::GetPriority()const \n4385 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n4386 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n4387 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n4388 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n4389 COleVariant CHtmlView::GetProperty(wchar_t const *)\n4390 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4391 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4392 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4393 CProperty * CPropertySection::GetProperty(unsigned long)\n4394 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4395 void CWnd::GetProperty(long,unsigned short,void *)const \n4396 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n4397 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4398 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n4399 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4400 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n4401 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n4402 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n4403 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n4404 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n4405 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n4406 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n4407 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n4408 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n4409 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n4410 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n4411 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4412 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4413 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4414 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4415 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4416 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4417 void CProgressCtrl::GetRange(int &,int &)\n4418 void CSliderCtrl::GetRange(int &,int &)const \n4419 unsigned long CSpinButtonCtrl::GetRange()const \n4420 void CSpinButtonCtrl::GetRange(int &,int &)const \n4421 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4422 int CSliderCtrl::GetRangeMax()const \n4423 int CSliderCtrl::GetRangeMin()const \n4424 void * CProperty::GetRawValue()\n4425 int CFileDialog::GetReadOnlyPref()const \n4426 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4427 long COleControl::GetReadyState()\n4428 CReBarCtrl & CReBar::GetReBarCtrl()const \n4429 long CRecordset::GetRecordCount()const \n4430 void CEdit::GetRect(tagRECT *)const \n4431 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4432 void CRichEditCtrl::GetRect(tagRECT *)const \n4433 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4434 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4435 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4436 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4437 int COleControl::GetRectInContainer(tagRECT *)\n4438 enum _undonameid CRichEditCtrl::GetRedoName()const \n4439 int CRgn::GetRegionData(_RGNDATA *,int)const \n4440 int CHtmlView::GetRegisterAsBrowser()const \n4441 int CHtmlView::GetRegisterAsDropTarget()const \n4442 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetReplaceString()const \n4443 int CRgn::GetRgnBox(tagRECT *)const \n4444 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4445 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n4446 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n4447 _TREEITEM * CTreeCtrl::GetRootItem()const \n4448 int CDC::GetROP2()const \n4449 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4450 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4451 CView * CCmdTarget::GetRoutingView()\n4452 CView * CCmdTarget::GetRoutingView_()\n4453 unsigned int CReBarCtrl::GetRowCount()const \n4454 int CSplitterWnd::GetRowCount()const \n4455 int CTabCtrl::GetRowCount()const \n4456 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4457 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4458 int CToolBarCtrl::GetRows()const \n4459 unsigned long CRecordset::GetRowsetSize()const \n4460 unsigned long CRecordset::GetRowsFetched()const \n4461 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4462 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4463 CRuntime* CArchiveException::GetRuntimeClass()const \n4464 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4465 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4466 CRuntime* CBitmap::GetRuntimeClass()const \n4467 CRuntime* CBitmapButton::GetRuntimeClass()const \n4468 CRuntime* CBrush::GetRuntimeClass()const \n4469 CRuntime* CButton::GetRuntimeClass()const \n4470 CRuntime* CByteArray::GetRuntimeClass()const \n4471 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4472 CRuntime* CCheckListBox::GetRuntimeClass()const \n4473 CRuntime* CClientDC::GetRuntimeClass()const \n4474 CRuntime* CCmdTarget::GetRuntimeClass()const \n4475 CRuntime* CColorDialog::GetRuntimeClass()const \n4476 CRuntime* CComboBox::GetRuntimeClass()const \n4477 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4478 CRuntime* CControlBar::GetRuntimeClass()const \n4479 CRuntime* CCriticalSection::GetRuntimeClass()const \n4480 CRuntime* CCtrlView::GetRuntimeClass()const \n4481 CRuntime* CDatabase::GetRuntimeClass()const \n4482 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4483 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4484 CRuntime* CDBException::GetRuntimeClass()const \n4485 CRuntime* CDC::GetRuntimeClass()const \n4486 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4487 CRuntime* CDialog::GetRuntimeClass()const \n4488 CRuntime* CDialogBar::GetRuntimeClass()const \n4489 CRuntime* CDocItem::GetRuntimeClass()const \n4490 CRuntime* CDockBar::GetRuntimeClass()const \n4491 CRuntime* CDockState::GetRuntimeClass()const \n4492 CRuntime* CDocManager::GetRuntimeClass()const \n4493 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4494 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4495 CRuntime* CDocTemplate::GetRuntimeClass()const \n4496 CRuntime* CDocument::GetRuntimeClass()const \n4497 CRuntime* CDragListBox::GetRuntimeClass()const \n4498 CRuntime* CDWordArray::GetRuntimeClass()const \n4499 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4500 CRuntime* CEdit::GetRuntimeClass()const \n4501 CRuntime* CEditView::GetRuntimeClass()const \n4502 CRuntime* CEvent::GetRuntimeClass()const \n4503 CRuntime* CException::GetRuntimeClass()const \n4504 CRuntime* CFile::GetRuntimeClass()const \n4505 CRuntime* CFileDialog::GetRuntimeClass()const \n4506 CRuntime* CFileException::GetRuntimeClass()const \n4507 CRuntime* CFileFind::GetRuntimeClass()const \n4508 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4509 CRuntime* CFont::GetRuntimeClass()const \n4510 CRuntime* CFontDialog::GetRuntimeClass()const \n4511 CRuntime* CFormView::GetRuntimeClass()const \n4512 CRuntime* CFrameWnd::GetRuntimeClass()const \n4513 CRuntime* CFtpConnection::GetRuntimeClass()const \n4514 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4515 CRuntime* CGdiObject::GetRuntimeClass()const \n4516 CRuntime* CGopherConnection::GetRuntimeClass()const \n4517 CRuntime* CGopherFile::GetRuntimeClass()const \n4518 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4519 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4520 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4521 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4522 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4523 CRuntime* CHtmlView::GetRuntimeClass()const \n4524 CRuntime* CHttpConnection::GetRuntimeClass()const \n4525 CRuntime* CHttpFile::GetRuntimeClass()const \n4526 CRuntime* CImageList::GetRuntimeClass()const \n4527 CRuntime* CInternetConnection::GetRuntimeClass()const \n4528 CRuntime* CInternetException::GetRuntimeClass()const \n4529 CRuntime* CInternetFile::GetRuntimeClass()const \n4530 CRuntime* CInternetSession::GetRuntimeClass()const \n4531 CRuntime* CInvalidArgException::GetRuntimeClass()const \n4532 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4533 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4534 CRuntime* CListBox::GetRuntimeClass()const \n4535 CRuntime* CListCtrl::GetRuntimeClass()const \n4536 CRuntime* CListView::GetRuntimeClass()const \n4537 CRuntime* CLongBinary::GetRuntimeClass()const \n4538 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4539 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4540 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4541 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4542 CRuntime* CMapStringToString::GetRuntimeClass()const \n4543 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4544 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4545 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4546 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4547 CRuntime* CMemFile::GetRuntimeClass()const \n4548 CRuntime* CMemoryException::GetRuntimeClass()const \n4549 CRuntime* CMenu::GetRuntimeClass()const \n4550 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4551 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4552 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4553 CRuntime* CMonikerFile::GetRuntimeClass()const \n4554 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4555 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4556 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4557 CRuntime* CMutex::GetRuntimeClass()const \n4558 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4559 CRuntime* CObArray::GetRuntimeClass()const \n4560 CRuntime* CObject::GetRuntimeClass()const \n4561 CRuntime* CObList::GetRuntimeClass()const \n4562 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4563 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4564 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4565 CRuntime* COleClientItem::GetRuntimeClass()const \n4566 CRuntime* COleControl::GetRuntimeClass()const \n4567 CRuntime* COleControlModule::GetRuntimeClass()const \n4568 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4569 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4570 CRuntime* COleDialog::GetRuntimeClass()const \n4571 CRuntime* COleDispatchException::GetRuntimeClass()const \n4572 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4573 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4574 CRuntime* COleDocument::GetRuntimeClass()const \n4575 CRuntime* COleException::GetRuntimeClass()const \n4576 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4577 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4578 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4579 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4580 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4581 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4582 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4583 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4584 CRuntime* COleResizeBar::GetRuntimeClass()const \n4585 CRuntime* COleServerDoc::GetRuntimeClass()const \n4586 CRuntime* COleServerItem::GetRuntimeClass()const \n4587 CRuntime* COleStreamFile::GetRuntimeClass()const \n4588 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4589 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4590 CRuntime* CPaintDC::GetRuntimeClass()const \n4591 CRuntime* CPalette::GetRuntimeClass()const \n4592 CRuntime* CPen::GetRuntimeClass()const \n4593 CRuntime* CPreviewDC::GetRuntimeClass()const \n4594 CRuntime* CPreviewView::GetRuntimeClass()const \n4595 CRuntime* CPrintDialog::GetRuntimeClass()const \n4596 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4597 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4598 CRuntime* CPropertyPage::GetRuntimeClass()const \n4599 CRuntime* CPropertySheet::GetRuntimeClass()const \n4600 CRuntime* CPtrArray::GetRuntimeClass()const \n4601 CRuntime* CPtrList::GetRuntimeClass()const \n4602 CRuntime* CReBar::GetRuntimeClass()const \n4603 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4604 CRuntime* CRecordset::GetRuntimeClass()const \n4605 CRuntime* CRecordView::GetRuntimeClass()const \n4606 CRuntime* CResourceException::GetRuntimeClass()const \n4607 CRuntime* CRgn::GetRuntimeClass()const \n4608 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4609 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4610 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4611 CRuntime* CRichEditView::GetRuntimeClass()const \n4612 CRuntime* CScrollBar::GetRuntimeClass()const \n4613 CRuntime* CScrollView::GetRuntimeClass()const \n4614 CRuntime* CSemaphore::GetRuntimeClass()const \n4615 CRuntime* CSharedFile::GetRuntimeClass()const \n4616 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4617 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4618 CRuntime* CSocket::GetRuntimeClass()const \n4619 CRuntime* CSocketFile::GetRuntimeClass()const \n4620 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4621 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4622 CRuntime* CStatic::GetRuntimeClass()const \n4623 CRuntime* CStatusBar::GetRuntimeClass()const \n4624 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4625 CRuntime* CStdioFile::GetRuntimeClass()const \n4626 CRuntime* CStringArray::GetRuntimeClass()const \n4627 CRuntime* CStringList::GetRuntimeClass()const \n4628 CRuntime* CSyncObject::GetRuntimeClass()const \n4629 CRuntime* CTabCtrl::GetRuntimeClass()const \n4630 CRuntime* CToolBar::GetRuntimeClass()const \n4631 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4632 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4633 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4634 CRuntime* CTreeView::GetRuntimeClass()const \n4635 CRuntime* CUIntArray::GetRuntimeClass()const \n4636 CRuntime* CUserException::GetRuntimeClass()const \n4637 CRuntime* CView::GetRuntimeClass()const \n4638 CRuntime* CWinApp::GetRuntimeClass()const \n4639 CRuntime* CWindowDC::GetRuntimeClass()const \n4640 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4641 CRuntime* CWinThread::GetRuntimeClass()const \n4642 CRuntime* CWnd::GetRuntimeClass()const \n4643 CRuntime* CWordArray::GetRuntimeClass()const \n4644 void * CGdiObject::GetSafeHandle()const \n4645 _IMAGELIST * CImageList::GetSafeHandle()const \n4646 HDC__ * CDC::GetSafeHdc()const \n4647 HMENU__ * CMenu::GetSafeHmenu()const \n4648 HWND__ * CWnd::GetSafeHwnd()const \n4649 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4650 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4651 unsigned long * CColorDialog::GetSavedCustomColors()\n4652 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n4653 CSize CDockState::GetScreenSize()\n4654 CScrollBar * CView::GetScrollBarCtrl(int)const \n4655 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4656 void CScrollView::GetScrollBarSizes(CSize &)\n4657 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4658 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4659 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4660 int CScrollBar::GetScrollLimit()\n4661 int CWnd::GetScrollLimit(int)\n4662 int CScrollBar::GetScrollPos()const \n4663 int CWnd::GetScrollPos(int)const \n4664 CPoint CScrollView::GetScrollPosition()const \n4665 void CScrollBar::GetScrollRange(int *,int *)const \n4666 void CWnd::GetScrollRange(int,int *,int *)const \n4667 unsigned long CSplitterWnd::GetScrollStyle()const \n4668 unsigned int CTreeCtrl::GetScrollTime()const \n4669 CPropertySection * CPropertySet::GetSection(_GUID)\n4670 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n4671 wchar_t const * CPropertySection::GetSectionName()\n4672 unsigned long CEdit::GetSel()const \n4673 void CEdit::GetSel(int &,int &)const \n4674 int CListBox::GetSel(int)const \n4675 void CRichEditCtrl::GetSel(long &,long &)const \n4676 void CRichEditCtrl::GetSel(_charrange &)const \n4677 int CListBox::GetSelCount()const \n4678 unsigned int CListCtrl::GetSelectedCount()const \n4679 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4680 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4681 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4682 void CSliderCtrl::GetSelection(int &,int &)const \n4683 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n4684 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n4685 int CListCtrl::GetSelectionMark()\n4686 unsigned int COleBusyDialog::GetSelectionType()const \n4687 unsigned int COleConvertDialog::GetSelectionType()const \n4688 unsigned int COleInsertDialog::GetSelectionType()const \n4689 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4690 unsigned short CRichEditCtrl::GetSelectionType()const \n4691 int CListBox::GetSelItems(int,int *)const \n4692 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4693 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4694 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4695 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n4696 long CRichEditCtrl::GetSelText(char *)const \n4697 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CInternetConnection::GetServerName()const \n4698 CInternetSession * CInternetConnection::GetSession()const \n4699 int CHtmlView::GetSilent()const \n4700 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4701 int CByteArray::GetSize()const \n4702 int CDWordArray::GetSize()const \n4703 int CFontDialog::GetSize()const \n4704 int CMapPtrToPtr::GetSize()const \n4705 int CMapPtrToWord::GetSize()const \n4706 int CMapStringToOb::GetSize()const \n4707 int CMapStringToPtr::GetSize()const \n4708 int CMapStringToString::GetSize()const \n4709 int CMapWordToOb::GetSize()const \n4710 int CMapWordToPtr::GetSize()const \n4711 int CObArray::GetSize()const \n4712 int CObList::GetSize()const \n4713 unsigned long CPropertySection::GetSize()\n4714 int CPtrArray::GetSize()const \n4715 int CPtrList::GetSize()const \n4716 int CStringArray::GetSize()const \n4717 int CStringList::GetSize()const \n4718 int CUIntArray::GetSize()const \n4719 int CWordArray::GetSize()const \n4720 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4721 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4722 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4723 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4724 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4725 CWnd * CSplitterWnd::GetSizingParent()\n4726 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4727 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4728 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4729 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4730 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetSQL()const \n4731 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4732 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4733 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n4734 wchar_t const * CHtmlEditView::GetStartDocument()\n4735 __POSITION * CConnectionPoint::GetStartPosition()const \n4736 __POSITION * CFileDialog::GetStartPosition()const \n4737 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4738 __POSITION * CMapPtrToWord::GetStartPosition()const \n4739 __POSITION * CMapStringToOb::GetStartPosition()const \n4740 __POSITION * CMapStringToPtr::GetStartPosition()const \n4741 __POSITION * CMapStringToString::GetStartPosition()const \n4742 __POSITION * CMapWordToOb::GetStartPosition()const \n4743 __POSITION * CMapWordToPtr::GetStartPosition()const \n4744 __POSITION * COleDocument::GetStartPosition()const \n4745 __POSITION * CRichEditDoc::GetStartPosition()const \n4746 unsigned int CButton::GetState()const \n4747 int CToolBarCtrl::GetState(int)const \n4748 int CFile::GetStatus(CFileStatus &)const \n4749 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n4750 int CMemFile::GetStatus(CFileStatus &)const \n4751 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4752 int COleStreamFile::GetStatus(CFileStatus &)const \n4753 void CRecordset::GetStatus(CRecordsetStatus &)const \n4754 int CHtmlView::GetStatusBar()const \n4755 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4756 unsigned long COleControl::GetStockEventMask()const \n4757 unsigned long COleControl::GetStockPropMask()const \n4758 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n4759 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n4760 IStream * COleStreamFile::GetStream()const \n4761 int CRichEditDoc::GetStreamFormat()const \n4762 int CDC::GetStretchBltMode()const \n4763 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n4764 char const * ATL::CSimpleStringT<char,1>::GetString()const \n4765 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4766 int CToolBarCtrl::GetString(int,wchar_t *,int)const \n4767 int CListCtrl::GetStringWidth(wchar_t const *)const \n4768 unsigned long COleControlSite::GetStyle()const \n4769 unsigned long COleControlSiteOrWnd::GetStyle()const \n4770 unsigned long CToolBarCtrl::GetStyle()const \n4771 unsigned long CWnd::GetStyle()const \n4772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetStyleName()const \n4773 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4774 CMenu * CMenu::GetSubMenu(int)const \n4775 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4776 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4777 CMenu * CWnd::GetSystemMenu(int)const \n4778 CSize CDC::GetTabbedTextExtentW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4779 CSize CDC::GetTabbedTextExtentW(wchar_t const *,int,int,int *)const \n4780 CTabCtrl * CPropertySheet::GetTabControl()const \n4781 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetTableName()const \n4782 CObject * & CObList::GetTail()\n4783 CObject const * & CObList::GetTail()const \n4784 void * & CPtrList::GetTail()\n4785 void const * & CPtrList::GetTail()const \n4786 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetTail()\n4787 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetTail()const \n4788 __POSITION * CObList::GetTailPosition()const \n4789 __POSITION * CPtrList::GetTailPosition()const \n4790 __POSITION * CStringList::GetTailPosition()const \n4791 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4792 int CListBox::GetText(int,wchar_t *)const \n4793 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4794 wchar_t * COleControl::GetText()\n4795 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n4796 int CStatusBarCtrl::GetText(wchar_t const *,int,int *)const \n4797 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n4798 unsigned int CDC::GetTextAlign()const \n4799 unsigned long CListCtrl::GetTextBkColor()const \n4800 int CDC::GetTextCharacterExtra()const \n4801 unsigned long CDC::GetTextColor()const \n4802 unsigned long CListCtrl::GetTextColor()const \n4803 unsigned long CReBarCtrl::GetTextColor()const \n4804 unsigned long CTreeCtrl::GetTextColor()const \n4805 CSize CDC::GetTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4806 CSize CDC::GetTextExtent(wchar_t const *,int)const \n4807 int CDC::GetTextFaceW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4808 int CDC::GetTextFaceW(int,wchar_t *)const \n4809 int CListBox::GetTextLen(int)const \n4810 long CRecordset::GetTextLen(short,unsigned long)\n4811 long CRichEditCtrl::GetTextLength()const \n4812 long CRichEditView::GetTextLength()const \n4813 int CStatusBarCtrl::GetTextLength(int,int *)const \n4814 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4815 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4816 int CDC::GetTextMetricsW(tagTEXTMETRICW *)const \n4817 unsigned int CRichEditCtrl::GetTextMode()const \n4818 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4819 int CHtmlView::GetTheaterMode()const \n4820 CRuntime* CAnimateCtrl::GetThisClass()\n4821 CRuntime* CArchiveException::GetThisClass()\n4822 CRuntime* CAsyncMonikerFile::GetThisClass()\n4823 CRuntime* CAsyncSocket::GetThisClass()\n4824 CRuntime* CBitmap::GetThisClass()\n4825 CRuntime* CBitmapButton::GetThisClass()\n4826 CRuntime* CBrush::GetThisClass()\n4827 CRuntime* CButton::GetThisClass()\n4828 CRuntime* CByteArray::GetThisClass()\n4829 CRuntime* CCachedDataPathProperty::GetThisClass()\n4830 CRuntime* CCheckListBox::GetThisClass()\n4831 CRuntime* CClientDC::GetThisClass()\n4832 CRuntime* CCmdTarget::GetThisClass()\n4833 CRuntime* CColorDialog::GetThisClass()\n4834 CRuntime* CComboBox::GetThisClass()\n4835 CRuntime* CComboBoxEx::GetThisClass()\n4836 CRuntime* CControlBar::GetThisClass()\n4837 CRuntime* CCriticalSection::GetThisClass()\n4838 CRuntime* CCtrlView::GetThisClass()\n4839 CRuntime* CDatabase::GetThisClass()\n4840 CRuntime* CDataPathProperty::GetThisClass()\n4841 CRuntime* CDateTimeCtrl::GetThisClass()\n4842 CRuntime* CDBException::GetThisClass()\n4843 CRuntime* CDC::GetThisClass()\n4844 CRuntime* CDHtmlDialog::GetThisClass()\n4845 CRuntime* CDialog::GetThisClass()\n4846 CRuntime* CDialogBar::GetThisClass()\n4847 CRuntime* CDocItem::GetThisClass()\n4848 CRuntime* CDockBar::GetThisClass()\n4849 CRuntime* CDockState::GetThisClass()\n4850 CRuntime* CDocManager::GetThisClass()\n4851 CRuntime* CDocObjectServer::GetThisClass()\n4852 CRuntime* CDocObjectServerItem::GetThisClass()\n4853 CRuntime* CDocTemplate::GetThisClass()\n4854 CRuntime* CDocument::GetThisClass()\n4855 CRuntime* CDragListBox::GetThisClass()\n4856 CRuntime* CDWordArray::GetThisClass()\n4857 CRuntime* CDynLinkLibrary::GetThisClass()\n4858 CRuntime* CEdit::GetThisClass()\n4859 CRuntime* CEditView::GetThisClass()\n4860 CRuntime* CEvent::GetThisClass()\n4861 CRuntime* CException::GetThisClass()\n4862 CRuntime* CFile::GetThisClass()\n4863 CRuntime* CFileDialog::GetThisClass()\n4864 CRuntime* CFileException::GetThisClass()\n4865 CRuntime* CFileFind::GetThisClass()\n4866 CRuntime* CFindReplaceDialog::GetThisClass()\n4867 CRuntime* CFont::GetThisClass()\n4868 CRuntime* CFontDialog::GetThisClass()\n4869 CRuntime* CFormView::GetThisClass()\n4870 CRuntime* CFrameWnd::GetThisClass()\n4871 CRuntime* CFtpConnection::GetThisClass()\n4872 CRuntime* CFtpFileFind::GetThisClass()\n4873 CRuntime* CGdiObject::GetThisClass()\n4874 CRuntime* CGopherConnection::GetThisClass()\n4875 CRuntime* CGopherFile::GetThisClass()\n4876 CRuntime* CGopherFileFind::GetThisClass()\n4877 CRuntime* CHeaderCtrl::GetThisClass()\n4878 CRuntime* CHotKeyCtrl::GetThisClass()\n4879 CRuntime* CHtmlEditDoc::GetThisClass()\n4880 CRuntime* CHtmlEditView::GetThisClass()\n4881 CRuntime* CHtmlView::GetThisClass()\n4882 CRuntime* CHttpConnection::GetThisClass()\n4883 CRuntime* CHttpFile::GetThisClass()\n4884 CRuntime* CImageList::GetThisClass()\n4885 CRuntime* CInternetConnection::GetThisClass()\n4886 CRuntime* CInternetException::GetThisClass()\n4887 CRuntime* CInternetFile::GetThisClass()\n4888 CRuntime* CInternetSession::GetThisClass()\n4889 CRuntime* CInvalidArgException::GetThisClass()\n4890 CRuntime* CIPAddressCtrl::GetThisClass()\n4891 CRuntime* CLinkCtrl::GetThisClass()\n4892 CRuntime* CListBox::GetThisClass()\n4893 CRuntime* CListCtrl::GetThisClass()\n4894 CRuntime* CListView::GetThisClass()\n4895 CRuntime* CLongBinary::GetThisClass()\n4896 CRuntime* CMapPtrToPtr::GetThisClass()\n4897 CRuntime* CMapPtrToWord::GetThisClass()\n4898 CRuntime* CMapStringToOb::GetThisClass()\n4899 CRuntime* CMapStringToPtr::GetThisClass()\n4900 CRuntime* CMapStringToString::GetThisClass()\n4901 CRuntime* CMapWordToOb::GetThisClass()\n4902 CRuntime* CMapWordToPtr::GetThisClass()\n4903 CRuntime* CMDIChildWnd::GetThisClass()\n4904 CRuntime* CMDIFrameWnd::GetThisClass()\n4905 CRuntime* CMemFile::GetThisClass()\n4906 CRuntime* CMemoryException::GetThisClass()\n4907 CRuntime* CMenu::GetThisClass()\n4908 CRuntime* CMetaFileDC::GetThisClass()\n4909 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4910 CRuntime* CMiniFrameWnd::GetThisClass()\n4911 CRuntime* CMonikerFile::GetThisClass()\n4912 CRuntime* CMonthCalCtrl::GetThisClass()\n4913 CRuntime* CMultiDocTemplate::GetThisClass()\n4914 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4915 CRuntime* CMutex::GetThisClass()\n4916 CRuntime* CNotSupportedException::GetThisClass()\n4917 CRuntime* CObArray::GetThisClass()\n4918 CRuntime* CObject::GetThisClass()\n4919 CRuntime* CObList::GetThisClass()\n4920 CRuntime* COleBusyDialog::GetThisClass()\n4921 CRuntime* COleChangeIconDialog::GetThisClass()\n4922 CRuntime* COleChangeSourceDialog::GetThisClass()\n4923 CRuntime* COleClientItem::GetThisClass()\n4924 CRuntime* COleControl::GetThisClass()\n4925 CRuntime* COleControlModule::GetThisClass()\n4926 CRuntime* COleConvertDialog::GetThisClass()\n4927 CRuntime* COleDBRecordView::GetThisClass()\n4928 CRuntime* COleDialog::GetThisClass()\n4929 CRuntime* COleDispatchException::GetThisClass()\n4930 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4931 CRuntime* COleDocObjectItem::GetThisClass()\n4932 CRuntime* COleDocument::GetThisClass()\n4933 CRuntime* COleException::GetThisClass()\n4934 CRuntime* COleInsertDialog::GetThisClass()\n4935 CRuntime* COleIPFrameWnd::GetThisClass()\n4936 CRuntime* COleLinkingDoc::GetThisClass()\n4937 CRuntime* COleLinksDialog::GetThisClass()\n4938 CRuntime* COleObjectFactory::GetThisClass()\n4939 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4940 CRuntime* COlePropertiesDialog::GetThisClass()\n4941 CRuntime* COlePropertyPage::GetThisClass()\n4942 CRuntime* COleResizeBar::GetThisClass()\n4943 CRuntime* COleServerDoc::GetThisClass()\n4944 CRuntime* COleServerItem::GetThisClass()\n4945 CRuntime* COleStreamFile::GetThisClass()\n4946 CRuntime* COleUpdateDialog::GetThisClass()\n4947 CRuntime* CPageSetupDialog::GetThisClass()\n4948 CRuntime* CPaintDC::GetThisClass()\n4949 CRuntime* CPalette::GetThisClass()\n4950 CRuntime* CPen::GetThisClass()\n4951 CRuntime* CPreviewDC::GetThisClass()\n4952 CRuntime* CPreviewView::GetThisClass()\n4953 CRuntime* CPrintDialog::GetThisClass()\n4954 CRuntime* CPrintDialogEx::GetThisClass()\n4955 CRuntime* CProgressCtrl::GetThisClass()\n4956 CRuntime* CPropertyPage::GetThisClass()\n4957 CRuntime* CPropertySheet::GetThisClass()\n4958 CRuntime* CPtrArray::GetThisClass()\n4959 CRuntime* CPtrList::GetThisClass()\n4960 CRuntime* CReBar::GetThisClass()\n4961 CRuntime* CReBarCtrl::GetThisClass()\n4962 CRuntime* CRecordset::GetThisClass()\n4963 CRuntime* CRecordView::GetThisClass()\n4964 CRuntime* CResourceException::GetThisClass()\n4965 CRuntime* CRgn::GetThisClass()\n4966 CRuntime* CRichEditCntrItem::GetThisClass()\n4967 CRuntime* CRichEditCtrl::GetThisClass()\n4968 CRuntime* CRichEditDoc::GetThisClass()\n4969 CRuntime* CRichEditView::GetThisClass()\n4970 CRuntime* CScrollBar::GetThisClass()\n4971 CRuntime* CScrollView::GetThisClass()\n4972 CRuntime* CSemaphore::GetThisClass()\n4973 CRuntime* CSharedFile::GetThisClass()\n4974 CRuntime* CSingleDocTemplate::GetThisClass()\n4975 CRuntime* CSliderCtrl::GetThisClass()\n4976 CRuntime* CSocket::GetThisClass()\n4977 CRuntime* CSocketFile::GetThisClass()\n4978 CRuntime* CSpinButtonCtrl::GetThisClass()\n4979 CRuntime* CSplitterWnd::GetThisClass()\n4980 CRuntime* CStatic::GetThisClass()\n4981 CRuntime* CStatusBar::GetThisClass()\n4982 CRuntime* CStatusBarCtrl::GetThisClass()\n4983 CRuntime* CStdioFile::GetThisClass()\n4984 CRuntime* CStringArray::GetThisClass()\n4985 CRuntime* CStringList::GetThisClass()\n4986 CRuntime* CSyncObject::GetThisClass()\n4987 CRuntime* CTabCtrl::GetThisClass()\n4988 CRuntime* CToolBar::GetThisClass()\n4989 CRuntime* CToolBarCtrl::GetThisClass()\n4990 CRuntime* CToolTipCtrl::GetThisClass()\n4991 CRuntime* CTreeCtrl::GetThisClass()\n4992 CRuntime* CTreeView::GetThisClass()\n4993 CRuntime* CUIntArray::GetThisClass()\n4994 CRuntime* CUserException::GetThisClass()\n4995 CRuntime* CView::GetThisClass()\n4996 CRuntime* CWinApp::GetThisClass()\n4997 CRuntime* CWindowDC::GetThisClass()\n4998 CRuntime* CWindowlessDC::GetThisClass()\n4999 CRuntime* CWinThread::GetThisClass()\n5000 CRuntime* CWnd::GetThisClass()\n5001 CRuntime* CWordArray::GetThisClass()\n5002 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n5003 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n5004 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n5005 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n5006 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n5007 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n5008 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n5009 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n5010 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n5011 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n5012 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n5013 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n5014 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n5015 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n5016 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n5017 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n5018 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n5019 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n5020 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n5021 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n5022 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n5023 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n5024 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n5025 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n5026 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n5027 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n5028 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n5029 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n5030 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n5031 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n5032 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n5033 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n5034 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n5035 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n5036 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n5037 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n5038 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n5039 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n5040 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n5041 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n5042 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n5043 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n5044 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n5045 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n5046 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n5047 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n5048 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n5049 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n5050 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n5051 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n5052 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n5053 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n5054 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n5055 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n5056 AFX_MSGMAP const * CListView::GetThisMessageMap()\n5057 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n5058 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n5059 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n5060 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n5061 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n5062 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n5063 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n5064 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n5065 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n5066 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n5067 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n5068 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n5069 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n5070 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n5071 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n5072 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n5073 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n5074 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n5075 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n5076 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n5077 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n5078 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n5079 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n5080 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n5081 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n5082 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n5083 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n5084 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n5085 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n5086 AFX_MSGMAP const * CView::GetThisMessageMap()\n5087 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n5088 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n5089 int CWinThread::GetThreadPriority()\n5090 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5091 int CSliderCtrl::GetTic(int)const \n5092 unsigned long * CSliderCtrl::GetTicArray()const \n5093 int CSliderCtrl::GetTicPos(int)const \n5094 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5095 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5096 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5097 unsigned long CToolTipCtrl::GetTipBkColor()const \n5098 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n5099 unsigned long CToolTipCtrl::GetTipTextColor()const \n5100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetTitle()const \n5101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFrameWnd::GetTitle()const \n5102 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5103 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5104 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5105 int CHtmlView::GetToolBar()const \n5106 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n5107 int CToolTipCtrl::GetToolCount()const \n5108 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5109 CToolTipCtrl * CListCtrl::GetToolTips()const \n5110 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n5111 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n5112 CToolTipCtrl * CTabCtrl::GetToolTips()const \n5113 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n5114 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n5115 long CHtmlView::GetTop()const \n5116 int CPrintDialog::GetToPage()const \n5117 unsigned int CPrintInfo::GetToPage()const \n5118 int CComboBox::GetTopIndex()const \n5119 int CListBox::GetTopIndex()const \n5120 int CListCtrl::GetTopIndex()const \n5121 int CHtmlView::GetTopLevelContainer()const \n5122 CFrameWnd * CWnd::GetTopLevelFrame()const \n5123 CWnd * CWnd::GetTopLevelOwner()const \n5124 CWnd * CWnd::GetTopLevelParent()const \n5125 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetToPrefix()\n5126 CWnd * CWnd::GetTopWindow()const \n5127 CSize CScrollView::GetTotalSize()const \n5128 CTreeCtrl & CTreeView::GetTreeCtrl()const \n5129 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5130 void CRectTracker::GetTrueRect(tagRECT *)const \n5131 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n5132 enum OLE_OBJTYPE COleClientItem::GetType()const \n5133 short CPictureHolder::GetType()\n5134 unsigned long CProperty::GetType()\n5135 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5136 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5137 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5138 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5139 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5140 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5141 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5142 unsigned int CCmdTarget::GetTypeInfoCount()\n5143 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5144 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5145 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5146 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5147 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5148 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5149 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5150 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5151 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5152 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n5153 void COleSafeArray::GetUBound(unsigned long,long *)\n5154 enum _undonameid CRichEditCtrl::GetUndoName()const \n5155 int CWnd::GetUpdateRect(tagRECT *,int)\n5156 int CWnd::GetUpdateRgn(CRgn *,int)\n5157 int CByteArray::GetUpperBound()const \n5158 int CDWordArray::GetUpperBound()const \n5159 int CObArray::GetUpperBound()const \n5160 int CPtrArray::GetUpperBound()const \n5161 int CStringArray::GetUpperBound()const \n5162 int CUIntArray::GetUpperBound()const \n5163 int CWordArray::GetUpperBound()const \n5164 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5165 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5166 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5167 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5168 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5169 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5170 void COleControl::GetUserType(wchar_t *)\n5171 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5172 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5173 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5174 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5175 void * CMapPtrToPtr::GetValueAt(void *)const \n5176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n5177 unsigned long CDockState::GetVersion()\n5178 unsigned long CPropExchange::GetVersion()\n5179 CHtmlEditView * CHtmlEditDoc::GetView()const \n5180 CRichEditView * CRichEditDoc::GetView()const \n5181 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5182 CSize CDC::GetViewportExt()const \n5183 CPoint CDC::GetViewportOrg()const \n5184 int CListCtrl::GetViewRect(tagRECT *)const \n5185 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5186 int CHtmlView::GetVisible()const \n5187 unsigned int CTreeCtrl::GetVisibleCount()const \n5188 int CFontDialog::GetWeight()const \n5189 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5190 long CHtmlView::GetWidth()const \n5191 CWnd * CDC::GetWindow()const \n5192 CWnd * CWnd::GetWindow(unsigned int)const \n5193 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5194 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5195 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5196 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5197 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5198 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5199 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5200 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5201 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5202 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5203 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5204 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5205 unsigned long CWnd::GetWindowContextHelpId()const \n5206 CDC * CWnd::GetWindowDC()\n5207 long CWnd::GetWindowedChildCount()\n5208 CSize CDC::GetWindowExt()const \n5209 long CWnd::GetWindowLessChildCount()\n5210 IDropTarget * COleControl::GetWindowlessDropTarget()\n5211 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5212 CPoint CDC::GetWindowOrg()const \n5213 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5214 void CWnd::GetWindowRect(tagRECT *)const \n5215 int CWnd::GetWindowRgn(HRGN__ *)const \n5216 int CWnd::GetWindowTextLengthW()const \n5217 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5218 int CWnd::GetWindowTextW(wchar_t *,int)const \n5219 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5220 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5221 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5222 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5223 long COleDropSource::GiveFeedback(unsigned long)\n5224 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5225 void CHtmlView::GoBack()\n5226 void CHtmlView::GoForward()\n5227 void CHtmlView::GoHome()\n5228 void CHtmlView::GoSearch()\n5229 void CDialog::GotoDlgCtrl(CWnd *)\n5230 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5231 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5232 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5233 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5234 void CMemFile::GrowFile(unsigned long)\n5235 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5236 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5237 long CDialog::HandleInitDialog(unsigned int,long)\n5238 long CDialogBar::HandleInitDialog(unsigned int,long)\n5239 long CFormView::HandleInitDialog(unsigned int,long)\n5240 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5241 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5242 long CScrollView::HandleMButtonDown(unsigned int,long)\n5243 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5244 int COleControlContainer::HandleSetFocus()\n5245 long CDialog::HandleSetFont(unsigned int,long)\n5246 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5247 long COleControl::XPersistStorage::HandsOffStorage()\n5248 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5249 int COleDocument::HasBlankItems()const \n5250 int CComboBoxEx::HasEditChanged()\n5251 int CDialogTemplate::HasFont()const \n5252 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5253 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n5254 void * CFile::hFileNull\n5255 void CWinApp::HideApplication()\n5256 int CToolBarCtrl::HideButton(int,int)\n5257 void CWnd::HideCaret()\n5258 void CFileDialog::HideControl(int)\n5259 void CRichEditCtrl::HideSelection(int,int)\n5260 long CBrowserControlSite::HideUI()\n5261 long CDHtmlDialog::HideUI()\n5262 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5263 int CTabCtrl::HighlightItem(int,int)\n5264 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5265 void CDC::HIMETRICtoDP(tagSIZE *)const \n5266 void CDC::HIMETRICtoLP(tagSIZE *)const \n5267 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5268 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5269 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5270 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5271 int CRectTracker::HitTest(CPoint)const \n5272 int CSplitterWnd::HitTest(CPoint)const \n5273 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5274 int CToolBarCtrl::HitTest(tagPOINT *)const \n5275 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n5276 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5277 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5278 int CRectTracker::HitTestHandles(CPoint)const \n5279 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n5280 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n5281 int CSplitterWnd::IdFromRowCol(int,int)const \n5282 int CReBarCtrl::IDToIndex(unsigned int)const \n5283 void COlePropertyPage::IgnoreApply(unsigned int)\n5284 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5285 int CToolBarCtrl::Indeterminate(int,int)\n5286 int CCriticalSection::Init()\n5287 int CWinApp::InitApplication()\n5288 long COleControl::XOleCache::InitCache(IDataObject *)\n5289 int CWnd::InitControlContainer()\n5290 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5291 long CPrintDialogEx::InitDone()\n5292 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5293 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5294 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5295 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5296 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5297 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5298 void CMapStringToOb::InitHashTable(unsigned int,int)\n5299 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5300 void CMapStringToString::InitHashTable(unsigned int,int)\n5301 void CMapWordToOb::InitHashTable(unsigned int,int)\n5302 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5303 long CDataSourceControl::Initialize()\n5304 void CDHtmlDialog::Initialize()\n5305 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5306 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5307 int CEditView::InitializeReplace()\n5308 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5309 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5310 int COleControlModule::InitInstance()\n5311 int CWinApp::InitInstance()\n5312 int CWinThread::InitInstance()\n5313 void CWinApp::InitLibId()\n5314 void CDockContext::InitLoop()\n5315 int CDialog::InitModalIndirect(void *,CWnd *)\n5316 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5317 long COleControl::XPersistMemory::InitNew()\n5318 long COleControl::XPersistPropertyBag::InitNew()\n5319 long COleControl::XPersistStorage::InitNew(IStorage *)\n5320 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5321 long COleControl::XPersistStreamInit::InitNew()\n5322 void CRecordset::InitRecord()\n5323 void COleControl::InitStockEventMask()\n5324 void COleControl::InitStockPropMask()\n5325 int CComboBox::InitStorage(int,unsigned int)\n5326 int CListBox::InitStorage(int,unsigned int)\n5327 void CSimpleException::InitString()\n5328 int CFrameWnd::InModalState()const \n5329 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5330 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5331 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5332 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5333 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5334 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5335 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5336 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5337 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5338 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5339 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n5340 void CByteArray::InsertAt(int,unsigned char,int)\n5341 void CByteArray::InsertAt(int,CByteArray *)\n5342 void CDWordArray::InsertAt(int,unsigned long,int)\n5343 void CDWordArray::InsertAt(int,CDWordArray *)\n5344 void CObArray::InsertAt(int,CObArray *)\n5345 void CObArray::InsertAt(int,CObject *,int)\n5346 void CPtrArray::InsertAt(int,CPtrArray *)\n5347 void CPtrArray::InsertAt(int,void *,int)\n5348 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n5349 void CStringArray::InsertAt(int,CStringArray *)\n5350 void CStringArray::InsertAt(int,wchar_t const *,int)\n5351 void CUIntArray::InsertAt(int,unsigned int,int)\n5352 void CUIntArray::InsertAt(int,CUIntArray *)\n5353 void CWordArray::InsertAt(int,unsigned short,int)\n5354 void CWordArray::InsertAt(int,CWordArray *)\n5355 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOW *)\n5356 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5357 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5358 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5359 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n5360 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5361 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n5362 int CListCtrl::InsertColumn(int,tagLVCOLUMNW const *)\n5363 void CStringArray::InsertEmpty(int,int)\n5364 void CRichEditView::InsertFileAsObject(wchar_t const *)\n5365 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n5366 int CHeaderCtrl::InsertItem(int,_HD_ITEMW *)\n5367 int CListCtrl::InsertItem(int,wchar_t const *)\n5368 int CListCtrl::InsertItem(int,wchar_t const *,int)\n5369 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n5370 int CListCtrl::InsertItem(tagLVITEMW const *)\n5371 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5372 long CTabCtrl::InsertItem(int,tagTCITEMW *)\n5373 long CTabCtrl::InsertItem(int,wchar_t const *)\n5374 long CTabCtrl::InsertItem(int,wchar_t const *,int)\n5375 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n5376 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n5377 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5378 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTW *)\n5379 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,int,int,_TREEITEM *,_TREEITEM *)\n5380 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,_TREEITEM *,_TREEITEM *)\n5381 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5382 int CMenu::InsertMenuItemW(unsigned int,tagMENUITEMINFOW *,int)\n5383 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5384 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5385 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5386 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5387 int CComboBox::InsertString(int,wchar_t const *)\n5388 int CComboBoxEx::InsertString(int,wchar_t const *)\n5389 int CListBox::InsertString(int,wchar_t const *)\n5390 unsigned long CCmdTarget::InternalAddRef()\n5391 CFontHolder & COleControl::InternalGetFont()\n5392 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n5393 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5394 unsigned long CCmdTarget::InternalRelease()\n5395 void COleControl::InternalSetReadyState(long)\n5396 int CDC::IntersectClipRect(int,int,int,int)\n5397 int CDC::IntersectClipRect(tagRECT const *)\n5398 void CWnd::Invalidate(int)\n5399 void CCheckListBox::InvalidateCheck(int)\n5400 void COleControl::InvalidateControl(tagRECT const *,int)\n5401 void CCheckListBox::InvalidateItem(int)\n5402 void CRichEditDoc::InvalidateObjectCache()\n5403 void CWnd::InvalidateRect(tagRECT const *,int)\n5404 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5405 void COleControl::InvalidateRgn(CRgn *,int)\n5406 void CWnd::InvalidateRgn(CRgn *,int)\n5407 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5408 void CDC::InvertRect(tagRECT const *)\n5409 int CDC::InvertRgn(CRgn *)\n5410 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5411 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5412 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5413 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5414 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5415 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5416 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5417 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5418 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5419 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5420 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5421 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5422 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5423 int CAsyncSocket::IOCtl(long,unsigned long *)\n5424 int CFileFind::IsArchived()const \n5425 int CPropExchange::IsAsynchronous()\n5426 int CDocItem::IsBlank()const \n5427 int CIPAddressCtrl::IsBlank()const \n5428 int COleServerItem::IsBlank()const \n5429 int CSocket::IsBlocking()\n5430 int CRecordset::IsBOF()const \n5431 int CFontDialog::IsBold()const \n5432 int CArchive::IsBufferEmpty()const \n5433 int CToolBarCtrl::IsButtonChecked(int)const \n5434 int CPropertyPage::IsButtonEnabled(int)\n5435 int CToolBarCtrl::IsButtonEnabled(int)const \n5436 int CToolBarCtrl::IsButtonHidden(int)const \n5437 int CToolBarCtrl::IsButtonHighlighted(int)const \n5438 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5439 int CToolBarCtrl::IsButtonPressed(int)const \n5440 int CArchive::IsByteSwapping()const \n5441 int CWnd::IsChild(CWnd const *)const \n5442 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5443 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5444 int CFileFind::IsCompressed()const \n5445 int COleServerItem::IsConnected()const \n5446 int COleControl::IsConvertingVBX()\n5447 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5448 int COleControlSite::IsDefaultButton()\n5449 int CRecordset::IsDeleted()const \n5450 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5451 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n5452 int CWnd::IsDialogMessageW(tagMSG *)\n5453 int CFileFind::IsDirectory()const \n5454 long CBlobProperty::IsDirty()\n5455 long COleLinkingDoc::XPersistFile::IsDirty()\n5456 long COleControl::XPersistMemory::IsDirty()\n5457 long COleControl::XPersistStorage::IsDirty()\n5458 long COleServerDoc::XPersistStorage::IsDirty()\n5459 long COleControl::XPersistStreamInit::IsDirty()\n5460 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5461 unsigned int CWnd::IsDlgButtonChecked(int)const \n5462 int CControlBar::IsDockBar()const \n5463 int CDockBar::IsDockBar()const \n5464 int COleServerDoc::IsDocObject()const \n5465 int CFileFind::IsDots()const \n5466 int CGopherFileFind::IsDots()const \n5467 int COleServerDoc::IsEmbedded()const \n5468 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n5469 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n5470 int CByteArray::IsEmpty()const \n5471 int CDWordArray::IsEmpty()const \n5472 int CMapPtrToPtr::IsEmpty()const \n5473 int CMapPtrToWord::IsEmpty()const \n5474 int CMapStringToOb::IsEmpty()const \n5475 int CMapStringToPtr::IsEmpty()const \n5476 int CMapStringToString::IsEmpty()const \n5477 int CMapWordToOb::IsEmpty()const \n5478 int CMapWordToPtr::IsEmpty()const \n5479 int CObArray::IsEmpty()const \n5480 int CObList::IsEmpty()const \n5481 int CPtrArray::IsEmpty()const \n5482 int CPtrList::IsEmpty()const \n5483 int CStringArray::IsEmpty()const \n5484 int CStringList::IsEmpty()const \n5485 int CUIntArray::IsEmpty()const \n5486 int CWordArray::IsEmpty()const \n5487 int CCheckListBox::IsEnabled(int)\n5488 int CRecordset::IsEOF()const \n5489 int CDHtmlDialog::IsExternalDispatchSafe()\n5490 int CRecordset::IsFieldDirty(void *)\n5491 int CRecordset::IsFieldNull(void *)\n5492 int CRecordset::IsFieldNullable(void *)\n5493 int CRecordset::IsFieldNullable(unsigned long)const \n5494 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5495 int CRecordset::IsFieldStatusNull(unsigned long)const \n5496 int CFieldExchange::IsFieldType(unsigned int *)\n5497 int CControlBar::IsFloating()const \n5498 int CFrameWnd::IsFrameWnd()const \n5499 int CWnd::IsFrameWnd()const \n5500 int IsHelpKey(tagMSG *)\n5501 int CFileFind::IsHidden()const \n5502 int CWnd::IsIconic()const \n5503 int CWinThread::IsIdleMessage(tagMSG *)\n5504 int COleClientItem::IsInPlaceActive()const \n5505 int COleServerDoc::IsInPlaceActive()const \n5506 int CCmdTarget::IsInvokeAllowed(long)\n5507 int COleControl::IsInvokeAllowed(long)\n5508 int CFontDialog::IsItalic()const \n5509 int CRecordset::IsJoin(wchar_t const *)\n5510 int CObject::IsKindOf(CRuntimeconst *)const \n5511 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5512 int COccManager::IsLabelControl(CWnd *)\n5513 int COleObjectFactory::IsLicenseValid()\n5514 int COleServerItem::IsLinkedItem()const \n5515 int COleClientItem::IsLinkUpToDate()const \n5516 int CArchive::IsLoading()const \n5517 int CPropExchange::IsLoading()\n5518 int CMultiLock::IsLocked(unsigned long)\n5519 int CSingleLock::IsLocked()\n5520 int CRichEditCntrItem::IsMarked()\n5521 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5522 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5523 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5524 int CDocument::IsModified()\n5525 int CHtmlEditDoc::IsModified()\n5526 int COleClientItem::IsModified()const \n5527 int COleControl::IsModified()\n5528 int COlePropertyPage::IsModified()\n5529 int CRichEditDoc::IsModified()\n5530 int CFileFind::IsNormal()const \n5531 int CRecordView::IsOnFirstRecord()\n5532 int CRecordView::IsOnLastRecord()\n5533 int CDatabase::IsOpen()const \n5534 int COleClientItem::IsOpen()const \n5535 int CRecordset::IsOpen()const \n5536 int COleControl::IsOptimizedDraw()\n5537 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5538 int CRecordset::IsParamStatusNull(unsigned long)const \n5539 int CDC::IsPrinting()const \n5540 int CFileFind::IsReadOnly()const \n5541 int CRecordset::IsRecordsetUpdatable()\n5542 int COleObjectFactory::IsRegistered()const \n5543 int CCmdTarget::IsResultExpected()\n5544 int CRichEditView::IsRichEditFormat(unsigned short)\n5545 int COleClientItem::IsRunning()const \n5546 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5547 int CRichEditView::IsSelected(CObject const *)const \n5548 int CView::IsSelected(CObject const *)const \n5549 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n5550 int CObject::IsSerializable()const \n5551 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5552 int CStatusBarCtrl::IsSimple()const \n5553 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5554 int CRecordset::IsSQLUpdatable(wchar_t const *)\n5555 int CArchive::IsStoring()const \n5556 int CFontDialog::IsStrikeOut()const \n5557 int COleControl::IsSubclassedControl()\n5558 int CFileFind::IsSystem()const \n5559 int CFileFind::IsTemporary()const \n5560 int CFindReplaceDialog::IsTerminating()const \n5561 int CWnd::IsTopParentActive()const \n5562 int CFrameWnd::IsTracking()const \n5563 int CSplitterWnd::IsTracking()\n5564 int CFontDialog::IsUnderline()const \n5565 long CDocObjectServer::XOleObject::IsUpToDate()\n5566 long COleControl::XOleObject::IsUpToDate()\n5567 long COleServerDoc::XOleObject::IsUpToDate()\n5568 long COleServerItem::XOleObject::IsUpToDate()\n5569 int COleChangeSourceDialog::IsValidSource()\n5570 int CControlBar::IsVisible()const \n5571 int COleControlSite::IsWindowEnabled()const \n5572 int CWnd::IsWindowEnabled()const \n5573 int CWnd::IsWindowVisible()const \n5574 int CPropertySheet::IsWizard()const \n5575 int CWnd::IsZoomed()const \n5576 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5577 int CDragListBox::ItemFromPt(CPoint,int)const \n5578 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5579 void COleControl::KeyDown(unsigned short *)\n5580 void COleControl::KeyUp(unsigned short *)\n5581 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5582 int CWnd::KillTimer(unsigned int)\n5583 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5584 void CToolBar::Layout()\n5585 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n5586 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n5587 int CComboBox::LimitText(int)\n5588 void CEdit::LimitText(int)\n5589 void CRichEditCtrl::LimitText(long)\n5590 int CEdit::LineFromChar(int)const \n5591 long CRichEditCtrl::LineFromChar(long)const \n5592 int CEdit::LineIndex(int)const \n5593 int CRichEditCtrl::LineIndex(int)const \n5594 int CEdit::LineLength(int)const \n5595 int CRichEditCtrl::LineLength(int)const \n5596 void CEdit::LineScroll(int,int)\n5597 void CRichEditCtrl::LineScroll(int,int)\n5598 int CDC::LineTo(int,int)\n5599 int CDC::LineTo(tagPOINT)\n5600 int CAsyncSocket::Listen(int)\n5601 unsigned long CRichEditView::lMaxSize\n5602 long CBlobProperty::Load(IStream *)\n5603 int CDialogTemplate::Load(wchar_t const *)\n5604 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n5605 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5606 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5607 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5608 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5609 long COleControl::XPersistStorage::Load(IStorage *)\n5610 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5611 long COleControl::XPersistStreamInit::Load(IStream *)\n5612 int CFrameWnd::LoadAccelTable(wchar_t const *)\n5613 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5614 void CFrameWnd::LoadBarState(wchar_t const *)\n5615 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5616 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n5617 int CBitmap::LoadBitmapW(unsigned int)\n5618 int CBitmap::LoadBitmapW(wchar_t const *)\n5619 int CToolBar::LoadBitmapW(unsigned int)\n5620 int CToolBar::LoadBitmapW(wchar_t const *)\n5621 HICON__ * CWinApp::LoadCursorW(unsigned int)const \n5622 HICON__ * CWinApp::LoadCursorW(wchar_t const *)const \n5623 void CRecordset::LoadFields()\n5624 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5625 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5626 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5627 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5628 int CDHtmlDialog::LoadFromResource(unsigned int)\n5629 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n5630 int CHtmlView::LoadFromResource(unsigned int)\n5631 int CHtmlView::LoadFromResource(wchar_t const *)\n5632 void COleDocument::LoadFromStorage()\n5633 HICON__ * CWinApp::LoadIconW(unsigned int)const \n5634 HICON__ * CWinApp::LoadIconW(wchar_t const *)const \n5635 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5636 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5637 int CMenu::LoadMenuIndirectW(void const *)\n5638 int CMenu::LoadMenuW(unsigned int)\n5639 int CMenu::LoadMenuW(wchar_t const *)\n5640 int CBitmap::LoadOEMBitmap(unsigned int)\n5641 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5642 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5643 HICON__ * CWinApp::LoadStandardCursor(wchar_t const *)const \n5644 HICON__ * CWinApp::LoadStandardIcon(wchar_t const *)const \n5645 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n5646 void CDockState::LoadState(wchar_t const *)\n5647 long COleControl::LoadState(IStream *)\n5648 void CWinApp::LoadStdProfileSettings(unsigned int)\n5649 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n5650 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n5651 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n5652 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n5653 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n5654 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n5655 int CWinApp::LoadSysPolicies()\n5656 void CDocTemplate::LoadTemplate()\n5657 void CMultiDocTemplate::LoadTemplate()\n5658 int CToolBar::LoadToolBar(unsigned int)\n5659 int CToolBar::LoadToolBar(wchar_t const *)\n5660 int CCriticalSection::Lock()\n5661 int CCriticalSection::Lock(unsigned long)\n5662 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5663 void COleSafeArray::Lock()\n5664 int CSingleLock::Lock(unsigned long)\n5665 int CSyncObject::Lock(unsigned long)\n5666 void CTypeLibCache::Lock()\n5667 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n5668 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n5669 wchar_t const * CEditView::LockBuffer()const \n5670 long COleControlContainer::XOleContainer::LockContainer(int)\n5671 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5672 void COleLinkingDoc::LockExternal(int,int)\n5673 int COleControl::LockInPlaceActive(int)\n5674 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5675 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5676 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5677 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5678 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5679 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5680 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5681 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5682 long COleObjectFactory::XClassFactory::LockServer(int)\n5683 int CWnd::LockWindowUpdate()\n5684 int CMapPtrToPtr::Lookup(void *,void * &)const \n5685 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5686 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n5687 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n5688 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5689 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5690 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5691 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5692 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5693 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5694 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5695 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n5696 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n5697 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n5698 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5699 void CDC::LPtoDP(tagPOINT *,int)const \n5700 void CDC::LPtoDP(tagRECT *)const \n5701 void CDC::LPtoDP(tagSIZE *)const \n5702 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5703 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n5704 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n5705 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n5706 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n5707 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n5708 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n5709 int CToolBarCtrl::MapAccelerator(wchar_t,unsigned int *)\n5710 void CDialog::MapDialogRect(tagRECT *)const \n5711 void CPropertySheet::MapDialogRect(tagRECT *)const \n5712 void CArchive::MapObject(CObject const *)\n5713 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5714 int COleDialog::MapResult(unsigned int)\n5715 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5716 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5717 long CPropertyPage::MapWizardResult(long)\n5718 void CRichEditCntrItem::Mark(int)\n5719 int CToolBarCtrl::MarkButton(int,int)\n5720 void CRecordset::MarkForAddNew()\n5721 void CRecordset::MarkForUpdate()\n5722 void CRichEditDoc::MarkItemsClear()const \n5723 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5724 int CFindReplaceDialog::MatchCase()const \n5725 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n5726 int CFileFind::MatchesMask(unsigned long)const \n5727 int CFindReplaceDialog::MatchWholeWord()const \n5728 void CReBarCtrl::MaximizeBand(unsigned int)\n5729 void CMDIChildWnd::MDIActivate()\n5730 void CMDIFrameWnd::MDIActivate(CWnd *)\n5731 void CMDIFrameWnd::MDICascade(int)\n5732 void CMDIFrameWnd::MDICascade()\n5733 void CMDIChildWnd::MDIDestroy()\n5734 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5735 void CMDIFrameWnd::MDIIconArrange()\n5736 void CMDIChildWnd::MDIMaximize()\n5737 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5738 void CMDIFrameWnd::MDINext()\n5739 void CMDIFrameWnd::MDIPrev()\n5740 void CMDIChildWnd::MDIRestore()\n5741 void CMDIFrameWnd::MDIRestore(CWnd *)\n5742 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5743 void CMDIFrameWnd::MDITile(int)\n5744 void CMDIFrameWnd::MDITile()\n5745 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5746 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5747 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5748 void CListBox::MeasureItem(tagMEASUREITEM*)\n5749 void CMenu::MeasureItem(tagMEASUREITEM*)\n5750 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n5751 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5752 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5753 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5754 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5755 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n5756 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n5757 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n5758 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n5759 void CReBarCtrl::MinimizeBand(unsigned int)\n5760 void CPreviewDC::MirrorAttributes()\n5761 void CPreviewDC::MirrorFont()\n5762 void CPreviewDC::MirrorMappingMode(int)\n5763 void CPreviewDC::MirrorViewportOrg()\n5764 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5765 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5766 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5767 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5768 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5769 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5770 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5771 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5772 void CDockContext::Move(CPoint)\n5773 void CRecordset::Move(long,unsigned short)\n5774 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5775 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5776 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5777 void CRecordset::MoveFirst()\n5778 void CRecordset::MoveLast()\n5779 void CRecordset::MoveNext()\n5780 void CRecordset::MovePrev()\n5781 CPoint CDC::MoveTo(int,int)\n5782 CPoint CDC::MoveTo(tagPOINT)\n5783 void COleControlSite::MoveWindow(int,int,int,int)\n5784 void CWnd::MoveWindow(int,int,int,int,int)\n5785 void CWnd::MoveWindow(tagRECT const *,int)\n5786 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5787 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5788 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n5789 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5790 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n5791 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5792 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5793 unsigned int COleDropSource::nDragDelay\n5794 unsigned int COleDropSource::nDragMinDist\n5795 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5796 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5797 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5798 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5799 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5800 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n5801 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5802 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5803 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5804 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5805 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5806 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5807 void CDialog::NextDlgCtrl()const \n5808 unsigned int const CEditView::nMaxSize\n5809 int CRectTracker::NormalizeHit(int)const \n5810 void CDataBoundProperty::Notify()\n5811 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5812 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5813 void COleServerDoc::NotifyChanged()\n5814 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5815 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5816 void COleServerDoc::NotifyClosed()\n5817 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5818 void COleServerDoc::NotifyRename(wchar_t const *)\n5819 void COleServerDoc::NotifySaved()\n5820 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5821 unsigned int COleDropTarget::nScrollDelay\n5822 int COleDropTarget::nScrollInset\n5823 unsigned int COleDropTarget::nScrollInterval\n5824 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n5825 int CDC::OffsetClipRgn(int,int)\n5826 int CDC::OffsetClipRgn(tagSIZE)\n5827 int CProgressCtrl::OffsetPos(int)\n5828 int CRgn::OffsetRgn(int,int)\n5829 int CRgn::OffsetRgn(tagPOINT)\n5830 CPoint CDC::OffsetViewportOrg(int,int)\n5831 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5832 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5833 CPoint CDC::OffsetWindowOrg(int,int)\n5834 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5835 void CAsyncSocket::OnAccept(int)\n5836 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5837 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5838 void COleClientItem::OnActivate()\n5839 void COleFrameHook::OnActivate(int)\n5840 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5841 void CWnd::OnActivateApp(int,unsigned long)\n5842 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5843 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5844 long COleControl::OnActivateInPlace(int,tagMSG *)\n5845 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5846 long CWnd::OnActivateTopLevel(unsigned int,long)\n5847 void COleClientItem::OnActivateUI()\n5848 long CDocObjectServer::OnActivateView()\n5849 void CFormView::OnActivateView(int,CView *,CView *)\n5850 void CPreviewView::OnActivateView(int,CView *,CView *)\n5851 void CRichEditView::OnActivateView(int,CView *,CView *)\n5852 void CView::OnActivateView(int,CView *,CView *)\n5853 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5854 void CConnectionPoint::OnAdvise(int)\n5855 void COleControl::XEventConnPt::OnAdvise(int)\n5856 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5857 void COleControl::OnAmbientPropertyChange(long)\n5858 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5859 void COleControl::OnAppearanceChanged()\n5860 void CWinApp::OnAppExit()\n5861 int CPropertyPage::OnApply()\n5862 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5863 void CDocObjectServer::OnApplyViewState(CArchive &)\n5864 void CWnd::OnAskCbFormatName(unsigned int,wchar_t *)\n5865 void COleControl::OnBackColorChanged()\n5866 int CFrameWnd::OnBarCheck(unsigned int)\n5867 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5868 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5869 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5870 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5871 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n5872 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n5873 int COleDropSource::OnBeginDrag(CWnd *)\n5874 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5875 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5876 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5877 void COleControl::OnBorderStyleChanged()\n5878 void CRichEditView::OnBullet()\n5879 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5880 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5881 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5882 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5883 void CCommonDialog::OnCancel()\n5884 void CDialog::OnCancel()\n5885 void CPropertyPage::OnCancel()\n5886 void CRichEditView::OnCancelEditCntr()\n5887 void COleControl::OnCancelMode()\n5888 void CSplitterWnd::OnCancelMode()\n5889 void CWnd::OnCancelMode()\n5890 void CWnd::OnCaptureChanged(CWnd *)\n5891 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5892 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5893 long COleControl::XFontNotification::OnChanged(long)\n5894 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5895 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5896 void CRectTracker::OnChangedRect(CRect const &)\n5897 void CDocument::OnChangedViewList()\n5898 int COleClientItem::OnChangeItemPosition(CRect const &)\n5899 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5900 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5901 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5902 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5903 void CRichEditView::OnCharBold()\n5904 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5905 void CRichEditView::OnCharItalic()\n5906 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5907 void CRichEditView::OnCharUnderline()\n5908 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5909 void CWnd::OnChildActivate()\n5910 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5911 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5912 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5913 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5914 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5915 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5916 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5917 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5918 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5919 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5920 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5921 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5922 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5923 void COleControl::OnClick(unsigned short)\n5924 CEnumArray * CEnumArray::OnClone()\n5925 CEnumArray * CEnumConnections::OnClone()\n5926 void CAsyncSocket::OnClose(int)\n5927 void CControlFrameWnd::OnClose()\n5928 void CFrameWnd::OnClose()\n5929 void CMiniDockFrameWnd::OnClose()\n5930 void COleControl::OnClose(unsigned long)\n5931 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5932 void CPropertySheet::OnClose()\n5933 void CWnd::OnClose()\n5934 void COleClientItem::XAdviseSink::OnClose()\n5935 void CDocObjectServer::OnCloseDocument()\n5936 void CDocument::OnCloseDocument()\n5937 void COleDocument::OnCloseDocument()\n5938 void COleLinkingDoc::OnCloseDocument()\n5939 void COleServerDoc::OnCloseDocument()\n5940 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5941 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5942 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5943 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5944 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5945 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5946 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5947 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5948 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5949 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5950 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5951 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5952 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5953 void CRichEditView::OnColorDefault()\n5954 int CColorDialog::OnColorOK()\n5955 void CRichEditView::OnColorPick(unsigned long)\n5956 int CFrameWnd::OnCommand(unsigned int,long)\n5957 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5958 int COlePropertyPage::OnCommand(unsigned int,long)\n5959 int CPropertySheet::OnCommand(unsigned int,long)\n5960 int CSplitterWnd::OnCommand(unsigned int,long)\n5961 int CWnd::OnCommand(unsigned int,long)\n5962 long CDialog::OnCommandHelp(unsigned int,long)\n5963 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5964 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5965 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5966 void CHtmlView::OnCommandStateChange(long,int)\n5967 void CWnd::OnCompacting(unsigned int)\n5968 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5969 void CAsyncSocket::OnConnect(int)\n5970 void CFrameWnd::OnContextHelp()\n5971 int COleFrameHook::OnContextHelp(int)\n5972 void COleIPFrameWnd::OnContextHelp()\n5973 void CWinApp::OnContextHelp()\n5974 void CWnd::OnContextMenu(CWnd *,CPoint)\n5975 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5976 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5977 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n5978 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n5979 int CEditView::OnCreate(tagCREATESTRUCTW *)\n5980 int CFormView::OnCreate(tagCREATESTRUCTW *)\n5981 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5982 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n5983 int COleControl::OnCreate(tagCREATESTRUCTW *)\n5984 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5985 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n5986 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n5987 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n5988 int CView::OnCreate(tagCREATESTRUCTW *)\n5989 int CWnd::OnCreate(tagCREATESTRUCTW *)\n5990 int CCmdTarget::OnCreateAggregates()\n5991 int COleControl::OnCreateAggregates()\n5992 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5993 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5994 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n5995 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n5996 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n5997 CCmdTarget * COleObjectFactory::OnCreateObject()\n5998 CCmdTarget * COleTemplateServer::OnCreateObject()\n5999 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6000 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6001 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6002 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6003 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6004 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6005 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6006 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6007 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6008 int CDocManager::OnDDECommand(wchar_t *)\n6009 int CWinApp::OnDDECommand(wchar_t *)\n6010 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6011 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6012 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6013 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n6014 void COleClientItem::OnDeactivate()\n6015 void COleServerDoc::OnDeactivate()\n6016 void COleClientItem::OnDeactivateAndUndo()\n6017 void COleClientItem::OnDeactivateUI(int)\n6018 void COleServerDoc::OnDeactivateUI(int)\n6019 void CRichEditCntrItem::OnDeactivateUI(int)\n6020 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6021 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6022 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6023 void CControlBar::OnDestroy()\n6024 void CDHtmlDialog::OnDestroy()\n6025 void CEditView::OnDestroy()\n6026 void CFrameWnd::OnDestroy()\n6027 void CHtmlView::OnDestroy()\n6028 void CMDIChildWnd::OnDestroy()\n6029 void CMDIFrameWnd::OnDestroy()\n6030 void COleControl::OnDestroy()\n6031 void COleIPFrameWnd::OnDestroy()\n6032 void CRichEditView::OnDestroy()\n6033 void CTabCtrl::OnDestroy()\n6034 void CTreeCtrl::OnDestroy()\n6035 void CTreeView::OnDestroy()\n6036 void CView::OnDestroy()\n6037 void CWnd::OnDestroy()\n6038 void CWnd::OnDestroyClipboard()\n6039 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6040 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6041 void CRichEditView::OnDevModeChange(wchar_t *)\n6042 void CWnd::OnDevModeChange(wchar_t *)\n6043 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6044 void COleClientItem::OnDiscardUndoState()\n6045 void CSplitterWnd::OnDisplayChange()\n6046 long CWnd::OnDisplayChange(unsigned int,long)\n6047 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6048 int COleFrameHook::OnDocActivate(int)\n6049 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n6050 void CHtmlView::OnDocumentComplete(wchar_t const *)\n6051 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6052 long CBrowserControlSite::OnDocWindowActivate(int)\n6053 long CDHtmlDialog::OnDocWindowActivate(int)\n6054 long CHtmlView::OnDocWindowActivate(int)\n6055 void COleServerDoc::OnDocWindowActivate(int)\n6056 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6057 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6058 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6059 void CDocObjectServerItem::OnDoVerb(long)\n6060 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6061 void COleServerItem::OnDoVerb(long)\n6062 void CHtmlView::OnDownloadBegin()\n6063 void CHtmlView::OnDownloadComplete()\n6064 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6065 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6066 void COleDropTarget::OnDragLeave(CWnd *)\n6067 void CView::OnDragLeave()\n6068 long CWnd::OnDragList(unsigned int,long)\n6069 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6070 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6071 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6072 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6073 void CCtrlView::OnDraw(CDC *)\n6074 void CFormView::OnDraw(CDC *)\n6075 void CHtmlView::OnDraw(CDC *)\n6076 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6077 void CPreviewView::OnDraw(CDC *)\n6078 void CView::OnDraw(CDC *)\n6079 void CWnd::OnDrawClipboard()\n6080 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6081 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6082 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6083 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6084 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6085 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6086 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6087 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6088 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6089 void CFrameWnd::OnDropFiles(HDROP__ *)\n6090 void CRichEditView::OnDropFiles(HDROP__ *)\n6091 void CWnd::OnDropFiles(HDROP__ *)\n6092 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6093 int CEditView::OnEditChange()\n6094 void COleDocument::OnEditChangeIcon()\n6095 void CEditView::OnEditClear()\n6096 void CRichEditView::OnEditClear()\n6097 void COleDocument::OnEditConvert()\n6098 void CEditView::OnEditCopy()\n6099 void CHtmlView::OnEditCopy()\n6100 void CRichEditView::OnEditCopy()\n6101 void CEditView::OnEditCut()\n6102 void CHtmlView::OnEditCut()\n6103 void CRichEditView::OnEditCut()\n6104 void CEditView::OnEditFind()\n6105 void CRichEditView::OnEditFind()\n6106 void CEditView::OnEditFindReplace(int)\n6107 void CRichEditView::OnEditFindReplace(int)\n6108 void COleDocument::OnEditLinks()\n6109 void CEditView::OnEditPaste()\n6110 void CHtmlView::OnEditPaste()\n6111 void CRichEditView::OnEditPaste()\n6112 void CRichEditView::OnEditPasteSpecial()\n6113 void CRichEditView::OnEditProperties()\n6114 int COlePropertyPage::OnEditProperty(long)\n6115 void CRichEditView::OnEditRedo()\n6116 void CEditView::OnEditRepeat()\n6117 void CRichEditView::OnEditRepeat()\n6118 void CEditView::OnEditReplace()\n6119 void CRichEditView::OnEditReplace()\n6120 void CEditView::OnEditSelectAll()\n6121 void CRichEditView::OnEditSelectAll()\n6122 void CEditView::OnEditUndo()\n6123 void CRichEditView::OnEditUndo()\n6124 void CFrameWnd::OnEnable(int)\n6125 void CToolTipCtrl::OnEnable(int)\n6126 void CWnd::OnEnable(int)\n6127 void COleControl::OnEnabledChanged()\n6128 long CHtmlView::OnEnableModeless(int)\n6129 void COleFrameHook::OnEnableModeless(int)\n6130 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6131 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6132 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6133 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6134 void CFrameWnd::OnEndSession(int)\n6135 void CWnd::OnEndSession(int)\n6136 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6137 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6138 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6139 void CWnd::OnEnterMenuLoop(int)\n6140 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6141 int CFrameWnd::OnEraseBkgnd(CDC *)\n6142 int COleControl::OnEraseBkgnd(CDC *)\n6143 int COleResizeBar::OnEraseBkgnd(CDC *)\n6144 int CPreviewView::OnEraseBkgnd(CDC *)\n6145 int CReBar::OnEraseBkgnd(CDC *)\n6146 int CToolBar::OnEraseBkgnd(CDC *)\n6147 int CWnd::OnEraseBkgnd(CDC *)\n6148 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6149 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6150 int COleControlSite::OnEvent(AFX_EVENT *)\n6151 void COleControl::OnEventAdvise(int)\n6152 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6153 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6154 void CWnd::OnExitMenuLoop(int)\n6155 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6156 void CDocument::OnFileClose()\n6157 void CFileDialog::OnFileNameChange()\n6158 int CFileDialog::OnFileNameOK()\n6159 void CDocManager::OnFileNew()\n6160 void CWinApp::OnFileNew()\n6161 void CDocManager::OnFileOpen()\n6162 void CWinApp::OnFileOpen()\n6163 void CHtmlView::OnFilePrint()\n6164 void CView::OnFilePrint()\n6165 void CView::OnFilePrintPreview()\n6166 void CWinApp::OnFilePrintSetup()\n6167 void CDocument::OnFileSave()\n6168 void CDocument::OnFileSaveAs()\n6169 void COleServerDoc::OnFileSaveCopyAs()\n6170 void CDocument::OnFileSendMail()\n6171 void COleDocument::OnFileSendMail()\n6172 void COleServerDoc::OnFileUpdate()\n6173 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6174 void CCmdTarget::OnFinalRelease()\n6175 void CDocument::OnFinalRelease()\n6176 void COleControl::OnFinalRelease()\n6177 void COlePropertyPage::OnFinalRelease()\n6178 void COleServerItem::OnFinalRelease()\n6179 void CWnd::OnFinalRelease()\n6180 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n6181 void CEditView::OnFindNext(wchar_t const *,int,int)\n6182 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n6183 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6184 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6185 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6186 long COleControlSite::XOleControlSite::OnFocus(int)\n6187 void CFileDialog::OnFolderChange()\n6188 void CWnd::OnFontChange()\n6189 void COleControl::OnFontChanged()\n6190 void COleControl::OnForeColorChanged()\n6191 void CRichEditView::OnFormatFont()\n6192 void COleControl::OnFrameClose()\n6193 long CBrowserControlSite::OnFrameWindowActivate(int)\n6194 long CDHtmlDialog::OnFrameWindowActivate(int)\n6195 long CHtmlView::OnFrameWindowActivate(int)\n6196 void COleServerDoc::OnFrameWindowActivate(int)\n6197 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6198 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6199 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6200 void COleControl::OnFreezeEvents(int)\n6201 void CHtmlView::OnFullScreen(int)\n6202 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6203 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6204 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6205 void COleClientItem::OnGetClipRect(CRect &)\n6206 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6207 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6208 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6209 unsigned int COleControl::OnGetDlgCode()\n6210 unsigned int CWnd::OnGetDlgCode()\n6211 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6212 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n6213 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6214 long CHtmlView::OnGetExternal(IDispatch * *)\n6215 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6216 HMENU__ * COleControl::OnGetInPlaceMenu()\n6217 void COleClientItem::OnGetItemPosition(CRect &)\n6218 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6219 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n6220 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n6221 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6222 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6223 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6224 long CWnd::OnGetObject(unsigned int,long)\n6225 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6226 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6227 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6228 long CStatusBar::OnGetText(unsigned int,long)\n6229 long CStatusBar::OnGetTextLength(unsigned int,long)\n6230 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6231 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6232 unsigned long COleControl::OnGetViewStatus()\n6233 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6234 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6235 void CFrameWnd::OnHelp()\n6236 int COlePropertyPage::OnHelp(wchar_t const *)\n6237 void CWinApp::OnHelp()\n6238 void CWnd::OnHelp()\n6239 void CWinApp::OnHelpFinder()\n6240 void CWnd::OnHelpFinder()\n6241 long CControlBar::OnHelpHitTest(unsigned int,long)\n6242 long CDialog::OnHelpHitTest(unsigned int,long)\n6243 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6244 void CWinApp::OnHelpIndex()\n6245 void CWnd::OnHelpIndex()\n6246 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6247 int CWnd::OnHelpInfo(tagHELPINFO *)\n6248 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6249 void CWinApp::OnHelpUsing()\n6250 void CWnd::OnHelpUsing()\n6251 void CDocObjectServerItem::OnHide()\n6252 long COleControl::OnHide()\n6253 void COleServerItem::OnHide()\n6254 void COleControl::OnHideToolBars()\n6255 long CHtmlView::OnHideUI()\n6256 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6257 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6258 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6259 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6260 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6261 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6262 void CWnd::OnIconEraseBkgnd(CDC *)\n6263 void CDocTemplate::OnIdle()\n6264 void CDocument::OnIdle()\n6265 void COleDocument::OnIdle()\n6266 int CWinApp::OnIdle(long)\n6267 int CWinThread::OnIdle(long)\n6268 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6269 void CFrameWnd::OnIdleUpdateCmdUI()\n6270 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6271 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6272 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6273 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6274 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6275 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6276 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6277 int CDHtmlDialog::OnInitDialog()\n6278 int CDialog::OnInitDialog()\n6279 int COlePropertiesDialog::OnInitDialog()\n6280 int COlePropertyPage::OnInitDialog()\n6281 int CPropertySheet::OnInitDialog()\n6282 void CFileDialog::OnInitDone()\n6283 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6284 void CControlBar::OnInitialUpdate()\n6285 void CFormView::OnInitialUpdate()\n6286 void COleDBRecordView::OnInitialUpdate()\n6287 void CRecordView::OnInitialUpdate()\n6288 void CRichEditView::OnInitialUpdate()\n6289 void CView::OnInitialUpdate()\n6290 void CFrameWnd::OnInitMenu(CMenu *)\n6291 void COleFrameHook::OnInitMenu(CMenu *)\n6292 void CWnd::OnInitMenu(CMenu *)\n6293 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6294 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6295 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6296 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6297 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6298 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6299 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6300 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6301 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6302 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6303 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6304 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6305 void CRichEditView::OnInsertObject()\n6306 void CSplitterWnd::OnInvertTracker(CRect const &)\n6307 void CDockContext::OnKey(int,int)\n6308 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6309 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6310 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6311 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6312 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6313 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6314 void COleControl::OnKeyPressEvent(unsigned short)\n6315 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6316 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6317 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6318 long CPropertySheet::OnKickIdle(unsigned int,long)\n6319 int CPropertyPage::OnKillActive()\n6320 void COleControl::OnKillFocus(CWnd *)\n6321 void CWnd::OnKillFocus(CWnd *)\n6322 long CCheckListBox::OnLBAddString(unsigned int,long)\n6323 long CCheckListBox::OnLBFindString(unsigned int,long)\n6324 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6325 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6326 long CCheckListBox::OnLBGetText(unsigned int,long)\n6327 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6328 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6329 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6330 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6331 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6332 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6333 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6334 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6335 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6336 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6337 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6338 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6339 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6340 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6341 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6342 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6343 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6344 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6345 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6346 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6347 void CAsyncMonikerFile::OnLowResource()\n6348 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6349 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6350 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6351 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6352 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6353 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6354 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6355 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6356 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6357 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6358 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6359 void CHtmlView::OnMenuBar(int)\n6360 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6361 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6362 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6363 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6364 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6365 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6366 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6367 int CSocket::OnMessagePending()\n6368 void COleControl::OnMnemonic(tagMSG *)\n6369 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6370 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6371 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6372 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6373 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6374 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6375 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6376 void COleControl::OnMouseMove(unsigned int,CPoint)\n6377 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6378 void CWnd::OnMouseMove(unsigned int,CPoint)\n6379 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6380 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6381 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6382 void COleControl::OnMove(int,int)\n6383 int COleDBRecordView::OnMove(unsigned int)\n6384 void CRecordView::OnMove(int,int)\n6385 int CRecordView::OnMove(unsigned int)\n6386 void CWnd::OnMove(int,int)\n6387 void CWnd::OnMoving(unsigned int,tagRECT *)\n6388 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6389 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6390 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n6391 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n6392 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n6393 int CFrameWnd::OnNcActivate(int)\n6394 int CMDIChildWnd::OnNcActivate(int)\n6395 int CMiniFrameWnd::OnNcActivate(int)\n6396 int CWnd::OnNcActivate(int)\n6397 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6398 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6399 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6400 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6401 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6402 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6403 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n6404 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n6405 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n6406 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n6407 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n6408 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n6409 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n6410 int CWnd::OnNcCreate(tagCREATESTRUCTW *)\n6411 void CListCtrl::OnNcDestroy()\n6412 void CListView::OnNcDestroy()\n6413 void CWnd::OnNcDestroy()\n6414 unsigned int CMiniFrameWnd::OnNcHitTest(CPoint)\n6415 unsigned int COleControl::OnNcHitTest(CPoint)\n6416 unsigned int CStatusBar::OnNcHitTest(CPoint)\n6417 unsigned int CToolBar::OnNcHitTest(CPoint)\n6418 unsigned int CWnd::OnNcHitTest(CPoint)\n6419 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6420 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6421 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6422 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6423 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6424 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6425 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6426 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6427 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6428 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6429 void CDockBar::OnNcPaint()\n6430 void COleControl::OnNcPaint()\n6431 void CReBar::OnNcPaint()\n6432 void CStatusBar::OnNcPaint()\n6433 void CToolBar::OnNcPaint()\n6434 void CWnd::OnNcPaint()\n6435 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6436 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6437 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6438 int CDocument::OnNewDocument()\n6439 int CHtmlEditDoc::OnNewDocument()\n6440 int COleDocument::OnNewDocument()\n6441 int COleLinkingDoc::OnNewDocument()\n6442 void COleServerDoc::OnNewEmbedding(IStorage *)\n6443 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6444 int CEnumArray::OnNext(void *)\n6445 int CEnumConnections::OnNext(void *)\n6446 int CEnumConnPoints::OnNext(void *)\n6447 int CEnumFormatEtc::OnNext(void *)\n6448 int CEnumOleVerb::OnNext(void *)\n6449 int CEnumUnknown::OnNext(void *)\n6450 void CPreviewView::OnNextPage()\n6451 int CView::OnNextPaneCmd(unsigned int)\n6452 int CFileDialog::OnNotify(unsigned int,long,long *)\n6453 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6454 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6455 int CWnd::OnNotify(unsigned int,long,long *)\n6456 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6457 long CWnd::OnNTCtlColor(unsigned int,long)\n6458 void CPreviewView::OnNumPageChange()\n6459 void COlePropertyPage::OnObjectsChanged()\n6460 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6461 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6462 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6463 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6464 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6465 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6466 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6467 void CCommonDialog::OnOK()\n6468 void CDialog::OnOK()\n6469 void CPropertyPage::OnOK()\n6470 long COleControl::OnOpen(int,tagMSG *)\n6471 void COleServerItem::OnOpen()\n6472 int CDocument::OnOpenDocument(wchar_t const *)\n6473 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n6474 int COleDocument::OnOpenDocument(wchar_t const *)\n6475 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n6476 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6477 int CWinApp::OnOpenRecentFile(unsigned int)\n6478 void CAsyncSocket::OnOutOfBandData(int)\n6479 void CCommonDialog::OnPaint()\n6480 void CControlBar::OnPaint()\n6481 void CCtrlView::OnPaint()\n6482 void CDialog::OnPaint()\n6483 void CDockBar::OnPaint()\n6484 void CHtmlEditView::OnPaint()\n6485 void CHtmlView::OnPaint()\n6486 void COleControl::OnPaint(CDC *)\n6487 int COleControlContainer::OnPaint(CDC *)\n6488 void COleResizeBar::OnPaint()\n6489 void CReBar::OnPaint()\n6490 void CSplitterWnd::OnPaint()\n6491 void CStatusBar::OnPaint()\n6492 void CToolBar::OnPaint()\n6493 void CView::OnPaint()\n6494 void CWnd::OnPaint()\n6495 void CWnd::OnPaintClipboard(CWnd *,void *)\n6496 void CFrameWnd::OnPaletteChanged(CWnd *)\n6497 void COleFrameHook::OnPaletteChanged(CWnd *)\n6498 void CWnd::OnPaletteChanged(CWnd *)\n6499 void CWnd::OnPaletteIsChanging(CWnd *)\n6500 void CRichEditView::OnParaAlign(unsigned short)\n6501 void CRichEditView::OnParaCenter()\n6502 void CRichEditView::OnParaLeft()\n6503 void CRichEditView::OnParaRight()\n6504 void CWnd::OnParentNotify(unsigned int,long)\n6505 int CRichEditView::OnPasteNativeObject(IStorage *)\n6506 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6507 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6508 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6509 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6510 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6511 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6512 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6513 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6514 int CEditView::OnPreparePrinting(CPrintInfo *)\n6515 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6516 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6517 int CView::OnPreparePrinting(CPrintInfo *)\n6518 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6519 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6520 void CPreviewView::OnPreviewClose()\n6521 void CPreviewView::OnPreviewPrint()\n6522 void CPreviewView::OnPrevPage()\n6523 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6524 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6525 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6526 void CView::OnPrint(CDC *,CPrintInfo *)\n6527 void CRichEditView::OnPrinterChanged(CDC const &)\n6528 void CPrintDialog::OnPrintSetup()\n6529 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n6530 void CHtmlView::OnProgressChange(long,long)\n6531 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6532 void CHtmlView::OnPropertyChange(wchar_t const *)\n6533 int CPropertyPage::OnQueryCancel()\n6534 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6535 HICON__ * CWnd::OnQueryDragIcon()\n6536 int CFrameWnd::OnQueryEndSession()\n6537 int CWnd::OnQueryEndSession()\n6538 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6539 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6540 int CFrameWnd::OnQueryNewPalette()\n6541 int COleFrameHook::OnQueryNewPalette()\n6542 int CWnd::OnQueryNewPalette()\n6543 int CWnd::OnQueryOpen()\n6544 unsigned int CWnd::OnQueryUIState()\n6545 int COleServerItem::OnQueryUpdateItems()\n6546 void CHtmlView::OnQuit()\n6547 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6548 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6549 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6550 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6551 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6552 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6553 int COleServerDoc::OnReactivateAndUndo()\n6554 void COleFrameHook::OnRecalcLayout()\n6555 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6556 void CReBar::OnRecalcParent()\n6557 void CAsyncSocket::OnReceive(int)\n6558 void COleControl::OnReflectorDestroyed()\n6559 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6560 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6561 void COleClientItem::OnRemoveMenus(CMenu *)\n6562 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6563 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6564 void CWnd::OnRenderAllFormats()\n6565 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6566 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6567 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6568 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6569 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6570 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6571 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6572 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6573 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6574 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6575 void CWnd::OnRenderFormat(unsigned int)\n6576 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6577 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6578 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6579 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6580 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6581 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n6582 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n6583 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n6584 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n6585 long COleControl::XFontNotification::OnRequestEdit(long)\n6586 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6587 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6588 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6589 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6590 void CEnumArray::OnReset()\n6591 void CPropertyPage::OnReset()\n6592 void COleControl::OnResetState()\n6593 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6594 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6595 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6596 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6597 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6598 void COleClientItem::XAdviseSink::OnSave()\n6599 int CDocument::OnSaveDocument(wchar_t const *)\n6600 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n6601 int COleDocument::OnSaveDocument(wchar_t const *)\n6602 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n6603 int COleServerDoc::OnSaveDocument(wchar_t const *)\n6604 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6605 void COleServerItem::OnSaveEmbedding(IStorage *)\n6606 void CDocObjectServer::OnSaveViewState(CArchive &)\n6607 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6608 int CView::OnScroll(unsigned int,unsigned int,int)\n6609 int COleClientItem::OnScrollBy(CSize)\n6610 int CScrollView::OnScrollBy(CSize,int)\n6611 int CView::OnScrollBy(CSize,int)\n6612 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6613 void CAsyncSocket::OnSend(int)\n6614 int CPropertyPage::OnSetActive()\n6615 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6616 long CToolBar::OnSetButtonSize(unsigned int,long)\n6617 void COleControl::OnSetClientSite()\n6618 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6619 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6620 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6621 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6622 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6623 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6624 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6625 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6626 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6627 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6628 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6629 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6630 long CPropertySheet::OnSetDefID(unsigned int,long)\n6631 int COleControl::OnSetExtent(tagSIZE *)\n6632 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6633 void CFormView::OnSetFocus(CWnd *)\n6634 void CFrameWnd::OnSetFocus(CWnd *)\n6635 void COleControl::OnSetFocus(CWnd *)\n6636 void CWnd::OnSetFocus(CWnd *)\n6637 long CCheckListBox::OnSetFont(unsigned int,long)\n6638 void CDialog::OnSetFont(CFont *)\n6639 long CEditView::OnSetFont(unsigned int,long)\n6640 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n6641 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6642 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6643 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6644 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6645 long COleControl::OnSetMessageString(unsigned int,long)\n6646 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6647 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6648 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6649 void CDatabase::OnSetOptions(void *)\n6650 void CRecordset::OnSetOptions(void *)\n6651 void COlePropertyPage::OnSetPageSite()\n6652 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6653 long CToolBar::OnSetSizeHelper(CSize &,long)\n6654 long COleControl::OnSetText(unsigned int,long)\n6655 long CStatusBar::OnSetText(unsigned int,long)\n6656 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n6657 void CRecordset::OnSetUpdateOptions(void *)\n6658 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n6659 void CDocObjectServerItem::OnShow()\n6660 void COleServerItem::OnShow()\n6661 long CReBar::OnShowBand(unsigned int,long)\n6662 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6663 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6664 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6665 void COleServerDoc::OnShowDocument(int)\n6666 void COleClientItem::OnShowItem()\n6667 void COleControl::OnShowToolBars()\n6668 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6669 void COleDocument::OnShowViews(int)\n6670 void COleLinkingDoc::OnShowViews(int)\n6671 void COleControl::OnShowWindow(int,unsigned int)\n6672 void CWnd::OnShowWindow(int,unsigned int)\n6673 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6674 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6675 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6676 void CFrameWnd::OnSize(unsigned int,int,int)\n6677 void CHtmlView::OnSize(unsigned int,int,int)\n6678 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6679 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6680 void COleControl::OnSize(unsigned int,int,int)\n6681 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6682 void COleResizeBar::OnSize(unsigned int,int,int)\n6683 void CPreviewView::OnSize(unsigned int,int,int)\n6684 void CScrollView::OnSize(unsigned int,int,int)\n6685 void CSplitterWnd::OnSize(unsigned int,int,int)\n6686 void CStatusBar::OnSize(unsigned int,int,int)\n6687 void CWnd::OnSize(unsigned int,int,int)\n6688 void CWnd::OnSizeClipboard(CWnd *,void *)\n6689 long CControlBar::OnSizeParent(unsigned int,long)\n6690 long CDockBar::OnSizeParent(unsigned int,long)\n6691 long COleResizeBar::OnSizeParent(unsigned int,long)\n6692 void CWnd::OnSizing(unsigned int,tagRECT *)\n6693 int CEnumArray::OnSkip()\n6694 long CSocketWnd::OnSocketDead(unsigned int,long)\n6695 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6696 int CView::OnSplitCmd(unsigned int)\n6697 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6698 void CAsyncMonikerFile::OnStartBinding()\n6699 void CHtmlView::OnStatusBar(int)\n6700 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6701 void CHtmlView::OnStatusTextChange(wchar_t const *)\n6702 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n6703 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6704 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6705 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6706 void CToolBar::OnSysColorChange()\n6707 void CWnd::OnSysColorChange()\n6708 void CFrameWnd::OnSysCommand(unsigned int,long)\n6709 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6710 void CPropertySheet::OnSysCommand(unsigned int,long)\n6711 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6712 void CWnd::OnSysCommand(unsigned int,long)\n6713 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6714 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6715 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6716 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6717 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6718 void CWnd::OnTCard(unsigned int,unsigned long)\n6719 void COleControl::OnTextChanged()\n6720 void CEditView::OnTextNotFound(wchar_t const *)\n6721 void CRichEditView::OnTextNotFound(wchar_t const *)\n6722 void CHtmlView::OnTheaterMode(int)\n6723 void CWnd::OnTimeChange()\n6724 void CControlBar::OnTimer(unsigned int)\n6725 void CWnd::OnTimer(unsigned int)\n6726 void CHtmlView::OnTitleChange(wchar_t const *)\n6727 void CHtmlView::OnToolBar(int)\n6728 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6729 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6730 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6731 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6732 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6733 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6734 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6735 void CFileDialog::OnTypeChange()\n6736 void COleControlContainer::OnUIActivate(COleControlSite *)\n6737 long COleClientItem::XOleIPSite::OnUIActivate()\n6738 long COleControlSite::XOleIPSite::OnUIActivate()\n6739 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6740 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6741 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6742 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6743 void CView::OnUpdate(CView *,long,CObject *)\n6744 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6745 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6746 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6747 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6748 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6749 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6750 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6751 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6752 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6753 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6754 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6755 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6756 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6757 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6758 int COleServerDoc::OnUpdateDocument()\n6759 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6760 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6761 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6762 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6763 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6764 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6765 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6766 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6767 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6768 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6769 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6770 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6771 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6772 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6773 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6774 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6775 void CFrameWnd::OnUpdateFrameTitle(int)\n6776 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6777 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6778 int COleClientItem::OnUpdateFrameTitle()\n6779 int COleFrameHook::OnUpdateFrameTitle()\n6780 void COleServerItem::OnUpdateItems()\n6781 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6782 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6783 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6784 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6785 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6786 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6787 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6788 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6789 void CEditView::OnUpdateNeedText(CCmdUI *)\n6790 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6791 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6792 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6793 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6794 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6795 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6796 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6797 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6798 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6799 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6800 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6801 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6802 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6803 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6804 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6805 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6806 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6807 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6808 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6809 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6810 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6811 void CView::OnUpdateSplitCmd(CCmdUI *)\n6812 long CHtmlView::OnUpdateUI()\n6813 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6814 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6815 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6816 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6817 void CHtmlView::OnVisible(int)\n6818 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6819 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6820 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6821 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6822 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6823 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6824 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6825 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6826 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6827 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6828 void CMDIFrameWnd::OnWindowNew()\n6829 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6830 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6831 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6832 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6833 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6834 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6835 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6836 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6837 void CWnd::OnWinIniChange(wchar_t const *)\n6838 long CPropertyPage::OnWizardBack()\n6839 int CPropertyPage::OnWizardFinish()\n6840 long CPropertyPage::OnWizardNext()\n6841 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6842 void CPreviewView::OnZoomIn()\n6843 void CPreviewView::OnZoomOut()\n6844 int CAnimateCtrl::Open(unsigned int)\n6845 int CAnimateCtrl::Open(wchar_t const *)\n6846 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6847 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6848 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6849 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6850 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n6851 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n6852 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n6853 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n6854 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n6855 int CDataPathProperty::Open(CFileException *)\n6856 int CDataPathProperty::Open(COleControl *,CFileException *)\n6857 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n6858 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n6859 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n6860 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n6861 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6862 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6863 int CMonikerFile::Open(IMoniker *,CFileException *)\n6864 int CMonikerFile::Open(wchar_t const *,CFileException *)\n6865 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n6866 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n6867 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n6868 long CDocObjectServer::XOleDocumentView::Open()\n6869 int CWnd::OpenClipboard()\n6870 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n6871 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6872 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6873 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n6874 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n6875 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n6876 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n6877 int CWnd::OpenIcon()\n6878 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6879 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6880 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6881 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n6882 int CHtmlEditDoc::OpenURL(wchar_t const *)\n6883 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n6884 int CHeaderCtrl::OrderToIndex(int)const \n6885 int CFileException::OsErrorToException(long)\n6886 void CDumpContext::OutputString(wchar_t const *)\n6887 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6888 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6889 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6890 int CDC::PaintRgn(CRgn *)\n6891 int CWnd::PaintWindowlessControls(CDC *)\n6892 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6893 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6894 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n6895 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6896 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6897 void CCommandLineInfo::ParseLast(int)\n6898 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n6899 void CCommandLineInfo::ParseParam(char const *,int,int)\n6900 void CCommandLineInfo::ParseParamFlag(char const *)\n6901 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n6902 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6903 void CComboBox::Paste()\n6904 void CEdit::Paste()\n6905 void CRichEditCtrl::Paste()\n6906 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6907 int CDC::PatBlt(int,int,int,int,unsigned long)\n6908 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6909 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6910 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6911 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6912 int CDC::Pie(int,int,int,int,int,int,int,int)\n6913 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6914 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6915 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6916 int CDC::PlayMetaFile(HMETAFILE__ *)\n6917 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6918 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n6919 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n6920 int CDC::PolyBezier(tagPOINT const *,int)\n6921 int CDC::PolyBezierTo(tagPOINT const *,int)\n6922 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6923 int CDC::Polygon(tagPOINT *,int)\n6924 int CDC::Polyline(tagPOINT *,int)\n6925 int CDC::PolylineTo(tagPOINT const *,int)\n6926 int CDC::PolyPolygon(tagPOINT *,int *,int)\n6927 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6928 void CToolTipCtrl::Pop()\n6929 CPoint CEdit::PosFromChar(unsigned int)const \n6930 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6931 void CPreviewView::PositionPage(unsigned int)\n6932 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6933 int CMonikerFile::PostBindToStream(CFileException *)\n6934 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6935 int CWnd::PostMessageW(unsigned int,unsigned int,long)\n6936 void CDialog::PostModal()\n6937 void CPrintDialogEx::PostModal()\n6938 void COleControl::PostModalDialog(HWND__ *)\n6939 void CControlBar::PostNcDestroy()\n6940 void CControlFrameWnd::PostNcDestroy()\n6941 void CFindReplaceDialog::PostNcDestroy()\n6942 void CFrameWnd::PostNcDestroy()\n6943 void COleCntrFrameWnd::PostNcDestroy()\n6944 void CReflectorWnd::PostNcDestroy()\n6945 void CView::PostNcDestroy()\n6946 void CWnd::PostNcDestroy()\n6947 int CWinThread::PostThreadMessageW(unsigned int,unsigned int,long)\n6948 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n6949 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n6950 void CRecordset::PreBindFields()\n6951 void CDocument::PreCloseFrame(CFrameWnd *)\n6952 void COleDocument::PreCloseFrame(CFrameWnd *)\n6953 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6954 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6955 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6956 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n6957 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6958 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n6959 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6960 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6961 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n6962 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n6963 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6964 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6965 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6966 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6967 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n6968 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n6969 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n6970 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6971 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6972 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6973 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6974 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6975 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6976 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n6977 void CDialog::PreInitDialog()\n6978 void COleChangeSourceDialog::PreInitDialog()\n6979 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6980 HWND__ * CDialog::PreModal()\n6981 HWND__ * CPrintDialogEx::PreModal()\n6982 void COleControl::PreModalDialog(HWND__ *)\n6983 void CRecordset::PrepareAndExecute()\n6984 HWND__ * CDataExchange::PrepareCtrl(int)\n6985 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6986 void CWnd::PrepareForHelp()\n6987 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6988 void CRecordset::PrepareUpdateHstmt()\n6989 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n6990 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n6991 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n6992 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n6993 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n6994 void CPropertySheet::PressButton(int)\n6995 int CToolBarCtrl::PressButton(int,int)\n6996 void CCheckListBox::PreSubclassWindow()\n6997 void CDragListBox::PreSubclassWindow()\n6998 void CWnd::PreSubclassWindow()\n6999 int CWnd::PreTranslateInput(tagMSG *)\n7000 int CControlBar::PreTranslateMessage(tagMSG *)\n7001 int CDialog::PreTranslateMessage(tagMSG *)\n7002 int CFormView::PreTranslateMessage(tagMSG *)\n7003 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7004 int CHtmlView::PreTranslateMessage(tagMSG *)\n7005 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7006 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7007 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7008 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7009 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7010 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7011 int CWinThread::PreTranslateMessage(tagMSG *)\n7012 int CWnd::PreTranslateMessage(tagMSG *)\n7013 void CDialog::PrevDlgCtrl()const \n7014 void CWnd::Print(CDC *,unsigned long)const \n7015 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7016 int CPrintDialog::PrintAll()const \n7017 int CPrintDialogEx::PrintAll()const \n7018 void CWnd::PrintClient(CDC *,unsigned long)const \n7019 int CPrintDialog::PrintCollate()const \n7020 int CPrintDialogEx::PrintCollate()const \n7021 int CPrintDialogEx::PrintCurrentPage()const \n7022 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7023 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7024 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7025 long CRichEditView::PrintPage(CDC *,long,long)\n7026 int CPrintDialog::PrintRange()const \n7027 int CPrintDialogEx::PrintRange()const \n7028 int CPrintDialog::PrintSelection()const \n7029 int CPrintDialogEx::PrintSelection()const \n7030 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7031 long COleException::Process(CException const *)\n7032 int CSocket::ProcessAuxQueue()\n7033 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7034 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7035 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7036 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7037 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7038 int CRgn::PtInRegion(int,int)const \n7039 int CRgn::PtInRegion(tagPOINT)const \n7040 void COleSafeArray::PtrOfIndex(long *,void * *)\n7041 int CDC::PtVisible(tagPOINT)const \n7042 int CDC::PtVisible(int,int)const \n7043 int CMetaFileDC::PtVisible(tagPOINT)const \n7044 int CMetaFileDC::PtVisible(int,int)const \n7045 int CEvent::PulseEvent()\n7046 int CWinThread::PumpMessage()\n7047 int CSocket::PumpMessages(unsigned int)\n7048 void CReBarCtrl::PushChevron(unsigned int,long)\n7049 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *)\n7050 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7051 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7052 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7053 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7054 void COleSafeArray::PutElement(long *,void *)\n7055 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n7056 void CHtmlView::PutProperty(wchar_t const *,wchar_t const *)\n7057 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n7058 void CHtmlView::PutProperty(wchar_t const *,short)\n7059 void CHtmlView::PutProperty(wchar_t const *,long)\n7060 void CHtmlView::PutProperty(wchar_t const *,double)\n7061 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n7062 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n7063 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n7064 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n7065 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7066 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n7067 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n7068 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n7069 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7070 int PX_Double(CPropExchange *,wchar_t const *,double &)\n7071 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n7072 int PX_Float(CPropExchange *,wchar_t const *,float &)\n7073 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n7074 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7075 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n7076 int PX_Long(CPropExchange *,wchar_t const *,long &)\n7077 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n7078 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n7079 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n7080 int PX_Short(CPropExchange *,wchar_t const *,short &)\n7081 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n7082 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7083 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n7084 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7085 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n7086 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7087 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n7088 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n7089 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7090 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7091 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7092 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7093 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7094 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7095 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7096 void * COleControl::QueryDefHandler(_GUID const &)\n7097 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7098 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7099 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7100 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7101 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7102 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7103 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7104 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7105 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n7106 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7107 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7108 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7109 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7110 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7111 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7112 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7113 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7114 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7115 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7116 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7117 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7118 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7119 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7120 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7121 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7122 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7123 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7124 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7125 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7126 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7127 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7128 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7129 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7130 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7131 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7132 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7133 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7134 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7135 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7136 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7137 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7138 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7139 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7140 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7141 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7142 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7143 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7144 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7145 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7146 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7147 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7148 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7149 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7150 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7151 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7152 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7153 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7154 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7155 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7156 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7157 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7158 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7159 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7160 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7161 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7162 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7163 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7164 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7165 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7166 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7167 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7168 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7169 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7170 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7171 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7172 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7173 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7174 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7175 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7176 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7177 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7178 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7179 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7180 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7181 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7182 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7183 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7184 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7185 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7186 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7187 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7188 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7189 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7190 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7191 long CPropertyPage::QuerySiblings(unsigned int,long)\n7192 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7193 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7194 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7195 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7196 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7197 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n7198 int COleControlSite::QuickActivate()\n7199 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7200 int COleClientItem::ReactivateAndUndo()\n7201 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n7202 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n7203 unsigned int CArchive::Read(void *,unsigned int)\n7204 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7205 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7206 unsigned int CFile::Read(void *,unsigned int)\n7207 int CImageList::Read(CArchive *)\n7208 unsigned int CInternetFile::Read(void *,unsigned int)\n7209 unsigned int CMemFile::Read(void *,unsigned int)\n7210 unsigned int COleStreamFile::Read(void *,unsigned int)\n7211 unsigned int CSocketFile::Read(void *,unsigned int)\n7212 unsigned int CStdioFile::Read(void *,unsigned int)\n7213 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7214 unsigned long CArchive::ReadCount()\n7215 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7216 int CProperty::ReadFromStream(IStream *)\n7217 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7218 int CPropertySet::ReadFromStream(IStream *)\n7219 void COleClientItem::ReadItem(CArchive &)\n7220 void COleClientItem::ReadItemCompound(CArchive &)\n7221 void COleClientItem::ReadItemFlat(CArchive &)\n7222 void CRecentFileList::ReadList()\n7223 int CPropertySection::ReadNameDictFromStream(IStream *)\n7224 CObject * CArchive::ReadObject(CRuntimeconst *)\n7225 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7226 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n7227 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7228 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n7229 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7230 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n7231 unsigned int CDC::RealizePalette()\n7232 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7233 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7234 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7235 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7236 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7237 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7238 void CRecordset::RebindParams(void *)\n7239 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7240 void CFrameWnd::RecalcLayout(int)\n7241 void CMiniDockFrameWnd::RecalcLayout(int)\n7242 void COleCntrFrameWnd::RecalcLayout(int)\n7243 void COleDocIPFrameWnd::RecalcLayout(int)\n7244 void COleIPFrameWnd::RecalcLayout(int)\n7245 void CSplitterWnd::RecalcLayout()\n7246 int CAsyncSocket::Receive(void *,int,int)\n7247 int CSocket::Receive(void *,int,int)\n7248 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n7249 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7250 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7251 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7252 void COleControl::RecreateControlWindow()\n7253 int CDC::Rectangle(int,int,int,int)\n7254 int CDC::Rectangle(tagRECT const *)\n7255 CRect const CFrameWnd::rectDefault\n7256 int CRgn::RectInRegion(tagRECT const *)const \n7257 int CDC::RectVisible(tagRECT const *)const \n7258 int CMetaFileDC::RectVisible(tagRECT const *)const \n7259 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7260 int CRichEditCtrl::Redo()\n7261 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7262 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7263 int CListCtrl::RedrawItems(int,int)\n7264 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7265 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7266 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7267 void CHtmlView::Refresh()\n7268 void COleControl::Refresh()\n7269 void CHtmlView::Refresh2(int)\n7270 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7271 int COleDropTarget::Register(CWnd *)\n7272 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n7273 int COleMessageFilter::Register()\n7274 int COleObjectFactory::Register()\n7275 int COleTemplateServer::Register()\n7276 int CWinApp::Register()\n7277 int COleObjectFactory::RegisterAll()\n7278 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n7279 void CDocManager::RegisterShellFileTypes(int)\n7280 void CWinApp::RegisterShellFileTypes(int)\n7281 void CToolTipCtrl::RelayEvent(tagMSG *)\n7282 unsigned long CArchiveStream::Release()\n7283 unsigned long CBlobProperty::Release()\n7284 unsigned long CBrowserControlSite::Release()\n7285 unsigned long CDHtmlControlSink::Release()\n7286 unsigned long CDHtmlElementEventSink::Release()\n7287 unsigned long CDHtmlEventSink::Release()\n7288 unsigned long CInnerUnknown::Release()\n7289 void COleClientItem::Release(enum tagOLECLOSE)\n7290 unsigned long COleConnPtContainer::Release()\n7291 void COleDataObject::Release()\n7292 unsigned long COleDispatchImpl::Release()\n7293 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7294 unsigned long COleUILinkInfo::Release()\n7295 unsigned long CPrintDialogEx::Release()\n7296 unsigned long CWnd::XAccessible::Release()\n7297 unsigned long CWnd::XAccessibleServer::Release()\n7298 unsigned long COleClientItem::XAdviseSink::Release()\n7299 unsigned long COleControlSite::XAmbientProps::Release()\n7300 unsigned long COleControlSite::XBoundObjectSite::Release()\n7301 unsigned long COleObjectFactory::XClassFactory::Release()\n7302 unsigned long CConnectionPoint::XConnPt::Release()\n7303 unsigned long COleControl::XDataObject::Release()\n7304 unsigned long COleDataSource::XDataObject::Release()\n7305 unsigned long COleServerDoc::XDataObject::Release()\n7306 unsigned long COleServerItem::XDataObject::Release()\n7307 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7308 unsigned long COleDropSource::XDropSource::Release()\n7309 unsigned long COleDropTarget::XDropTarget::Release()\n7310 unsigned long CEnumArray::XEnumVOID::Release()\n7311 unsigned long COleControlSite::XEventSink::Release()\n7312 unsigned long COleControl::XFontNotification::Release()\n7313 unsigned long COleMessageFilter::XMessageFilter::Release()\n7314 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7315 unsigned long COleControl::XOleCache::Release()\n7316 unsigned long COleClientItem::XOleClientSite::Release()\n7317 unsigned long COleControlSite::XOleClientSite::Release()\n7318 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7319 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7320 unsigned long COleControlContainer::XOleContainer::Release()\n7321 unsigned long COleControl::XOleControl::Release()\n7322 unsigned long COleControlSite::XOleControlSite::Release()\n7323 unsigned long CDocObjectServer::XOleDocument::Release()\n7324 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7325 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7326 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7327 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7328 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7329 unsigned long COleControl::XOleInPlaceObject::Release()\n7330 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7331 unsigned long COleControlContainer::XOleIPFrame::Release()\n7332 unsigned long COleClientItem::XOleIPSite::Release()\n7333 unsigned long COleControlSite::XOleIPSite::Release()\n7334 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7335 unsigned long CDocObjectServer::XOleObject::Release()\n7336 unsigned long COleControl::XOleObject::Release()\n7337 unsigned long COleServerDoc::XOleObject::Release()\n7338 unsigned long COleServerItem::XOleObject::Release()\n7339 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7340 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7341 unsigned long COleLinkingDoc::XPersistFile::Release()\n7342 unsigned long COleControl::XPersistMemory::Release()\n7343 unsigned long COleControl::XPersistPropertyBag::Release()\n7344 unsigned long COleControl::XPersistStorage::Release()\n7345 unsigned long COleServerDoc::XPersistStorage::Release()\n7346 unsigned long COleControl::XPersistStreamInit::Release()\n7347 unsigned long COleControl::XPointerInactive::Release()\n7348 unsigned long CDocObjectServer::XPrint::Release()\n7349 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7350 unsigned long COlePropertyPage::XPropertyPage::Release()\n7351 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7352 unsigned long COleControl::XProvideClassInfo::Release()\n7353 unsigned long COleControl::XQuickActivate::Release()\n7354 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7355 unsigned long COleControlSite::XRowsetNotify::Release()\n7356 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7357 unsigned long COleControl::XViewObject::Release()\n7358 void CDC::ReleaseAttribDC()\n7359 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7360 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7361 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7362 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7363 void COleControl::ReleaseCaches()\n7364 int COleControl::ReleaseCapture()\n7365 int COleControl::ReleaseDC(CDC *)\n7366 int CWnd::ReleaseDC(CDC *)\n7367 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7368 void COleDispatchDriver::ReleaseDispatch()\n7369 void CDocObjectServer::ReleaseDocSite()\n7370 void CDocument::ReleaseFile(CFile *,int)\n7371 void CFontHolder::ReleaseFont()\n7372 void CDC::ReleaseOutputDC()\n7373 void CMetaFileDC::ReleaseOutputDC()\n7374 void CPreviewDC::ReleaseOutputDC()\n7375 int COleClientItem::Reload()\n7376 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7377 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7378 void CFile::Remove(wchar_t const *)\n7379 int CFtpConnection::Remove(wchar_t const *)\n7380 int CImageList::Remove(int)\n7381 void CPropertySection::Remove(unsigned long)\n7382 void CPropertySet::Remove(_GUID)\n7383 void CPropertySet::Remove(_GUID,unsigned long)\n7384 void CRecentFileList::Remove(int)\n7385 int CSimpleList::Remove(void *)\n7386 void CByteArray::RemoveAll()\n7387 void CDWordArray::RemoveAll()\n7388 void CMapPtrToPtr::RemoveAll()\n7389 void CMapPtrToWord::RemoveAll()\n7390 void CMapStringToOb::RemoveAll()\n7391 void CMapStringToPtr::RemoveAll()\n7392 void CMapStringToString::RemoveAll()\n7393 void CMapWordToOb::RemoveAll()\n7394 void CMapWordToPtr::RemoveAll()\n7395 void CObArray::RemoveAll()\n7396 void CObList::RemoveAll()\n7397 void CPropertySection::RemoveAll()\n7398 void CPropertySet::RemoveAll()\n7399 void CPtrArray::RemoveAll()\n7400 void CPtrList::RemoveAll()\n7401 void CStringArray::RemoveAll()\n7402 void CStringList::RemoveAll()\n7403 void CTypeLibCacheMap::RemoveAll(void *)\n7404 void CUIntArray::RemoveAll()\n7405 void CWordArray::RemoveAll()\n7406 void CByteArray::RemoveAt(int,int)\n7407 void CDWordArray::RemoveAt(int,int)\n7408 void CObArray::RemoveAt(int,int)\n7409 void CObList::RemoveAt(__POSITION *)\n7410 void CPtrArray::RemoveAt(int,int)\n7411 void CPtrList::RemoveAt(__POSITION *)\n7412 void CStringArray::RemoveAt(int,int)\n7413 void CStringList::RemoveAt(__POSITION *)\n7414 void CUIntArray::RemoveAt(int,int)\n7415 void CWordArray::RemoveAt(int,int)\n7416 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7417 void CFrameWnd::RemoveControlBar(CControlBar *)\n7418 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n7419 void CDocTemplate::RemoveDocument(CDocument *)\n7420 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7421 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7422 void COleControl::RemoveFrameLevelUI()\n7423 void CFrameWnd::RemoveFrameWnd()\n7424 void CHandleMap::RemoveHandle(void *)\n7425 CObject * CObList::RemoveHead()\n7426 void * CPtrList::RemoveHead()\n7427 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n7428 void CTabCtrl::RemoveImage(int)\n7429 void CListCtrl::RemoveImageList(int)\n7430 void CListView::RemoveImageList(int)\n7431 void CTreeCtrl::RemoveImageList(int)\n7432 void CTreeView::RemoveImageList(int)\n7433 void COleDocument::RemoveItem(CDocItem *)\n7434 int CMapPtrToPtr::RemoveKey(void *)\n7435 int CMapPtrToWord::RemoveKey(void *)\n7436 int CMapStringToOb::RemoveKey(wchar_t const *)\n7437 int CMapStringToPtr::RemoveKey(wchar_t const *)\n7438 int CMapStringToString::RemoveKey(wchar_t const *)\n7439 int CMapWordToOb::RemoveKey(unsigned short)\n7440 int CMapWordToPtr::RemoveKey(unsigned short)\n7441 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7442 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7443 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7444 void CPropertySheet::RemovePage(int)\n7445 void CPropertySheet::RemovePage(CPropertyPage *)\n7446 void CDockBar::RemovePlaceHolder(CControlBar *)\n7447 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7448 void CDataBoundProperty::RemoveSource()\n7449 CObject * CObList::RemoveTail()\n7450 void * CPtrList::RemoveTail()\n7451 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n7452 void CDocument::RemoveView(CView *)\n7453 void CFile::Rename(wchar_t const *,wchar_t const *)\n7454 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n7455 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7456 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7457 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n7458 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n7459 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n7460 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n7461 int CImageList::Replace(int,HICON__ *)\n7462 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7463 int CFindReplaceDialog::ReplaceAll()const \n7464 void CDatabase::ReplaceBrackets(wchar_t *)\n7465 int CFindReplaceDialog::ReplaceCurrent()const \n7466 void CEdit::ReplaceSel(wchar_t const *,int)\n7467 void CRichEditCtrl::ReplaceSel(wchar_t const *,int)\n7468 int CException::ReportError(unsigned int,unsigned int)\n7469 int COleClientItem::ReportError(long)const \n7470 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7471 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7472 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7473 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7474 int CRecordset::Requery()\n7475 void COleControl::RequestAsynchronousExchange(unsigned long)\n7476 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7477 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7478 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7479 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7480 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7481 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7482 void CRichEditCtrl::RequestResize()\n7483 long COleControlSite::XOleIPSite::RequestUIActivate()\n7484 long CEnumArray::XEnumVOID::Reset()\n7485 void CComboBox::ResetContent()\n7486 void CListBox::ResetContent()\n7487 void CRecordset::ResetCursor()\n7488 void CCachedDataPathProperty::ResetData()\n7489 void CDataPathProperty::ResetData()\n7490 int CDC::ResetDCW(_devicemodeW const *)\n7491 int CEvent::ResetEvent()\n7492 void COleControl::ResetStockProps()\n7493 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7494 void COleControl::ResetVersion(unsigned long)\n7495 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7496 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7497 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7498 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7499 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7500 void COleControl::ResizeFrameWindow(int,int)\n7501 void COleSafeArray::ResizeOneDim(unsigned long)\n7502 void COleControl::ResizeOpenControl(int,int)\n7503 int CPalette::ResizePalette(unsigned int)\n7504 void CScrollView::ResizeParentToFit(int)\n7505 void CWaitCursor::Restore()\n7506 void CReBarCtrl::RestoreBand(unsigned int)\n7507 int CDC::RestoreDC(int)\n7508 int CPreviewDC::RestoreDC(int)\n7509 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n7510 void CCmdTarget::RestoreWaitCursor()\n7511 unsigned long CWinThread::ResumeThread()\n7512 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7513 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n7514 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n7515 long CArchiveStream::Revert()\n7516 void COleDropTarget::Revoke()\n7517 void COleLinkingDoc::Revoke()\n7518 void COleMessageFilter::Revoke()\n7519 void COleObjectFactory::Revoke()\n7520 void COleObjectFactory::RevokeAll()\n7521 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n7522 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n7523 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n7524 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n7525 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7526 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n7527 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n7528 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n7529 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n7530 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n7531 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n7532 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n7533 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n7534 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n7535 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7536 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n7537 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n7538 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n7539 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n7540 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n7541 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7542 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7543 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n7544 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n7545 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n7546 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n7547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n7548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n7549 int CDatabase::Rollback()\n7550 int CDC::RoundRect(int,int,int,int,int,int)\n7551 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7552 void COleClientItem::Run()\n7553 int CWinApp::Run()\n7554 int CWinThread::Run()\n7555 int CWinApp::RunAutomated()\n7556 int CWinApp::RunEmbedded()\n7557 int CWnd::RunModalLoop(unsigned long)\n7558 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7559 int CEditView::SameAsSelected(wchar_t const *,int)\n7560 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n7561 long CBlobProperty::Save(IStream *,int)\n7562 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7563 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7564 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7565 long COleControl::XPersistStorage::Save(IStorage *,int)\n7566 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7567 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7568 int CDocManager::SaveAllModified()\n7569 int CDocTemplate::SaveAllModified()\n7570 int CWinApp::SaveAllModified()\n7571 void CFrameWnd::SaveBarState(wchar_t const *)const \n7572 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7573 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7574 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7575 int CDC::SaveDC()\n7576 int CPreviewDC::SaveDC()\n7577 void COleServerDoc::SaveEmbedding()\n7578 int CFormView::SaveFocusControl()\n7579 int CDocument::SaveModified()\n7580 int COleDocument::SaveModified()\n7581 int COleServerDoc::SaveModified()\n7582 int COleServerDoc::SaveModifiedPrompt()\n7583 long COleClientItem::XOleClientSite::SaveObject()\n7584 long COleControlSite::XOleClientSite::SaveObject()\n7585 int CControlBarInfo::SaveState(wchar_t const *,int)\n7586 void CDockState::SaveState(wchar_t const *)\n7587 long COleControl::SaveState(IStream *)\n7588 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n7589 void CWinApp::SaveStdProfileSettings()\n7590 void COleDocument::SaveToStorage(CObject *)\n7591 void COleLinkingDoc::SaveToStorage(CObject *)\n7592 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7593 void CDockState::ScalePoint(CPoint &)\n7594 void CDockState::ScaleRectPos(CRect &)\n7595 CSize CDC::ScaleViewportExt(int,int,int,int)\n7596 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7597 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7598 CSize CDC::ScaleWindowExt(int,int,int,int)\n7599 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7600 void CWnd::ScreenToClient(tagPOINT *)const \n7601 void CWnd::ScreenToClient(tagRECT *)const \n7602 int CListCtrl::Scroll(CSize)\n7603 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7604 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7605 void COleControlContainer::ScrollChildren(int,int)\n7606 int COleServerDoc::ScrollContainerBy(CSize)\n7607 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7608 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7609 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7610 void CScrollView::ScrollToPosition(tagPOINT)\n7611 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7612 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7613 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7614 int CFindReplaceDialog::SearchDown()const \n7615 int CAnimateCtrl::Seek(unsigned int)\n7616 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7617 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7618 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7619 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7620 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7621 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7622 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7623 void CFile::SeekToBegin()\n7624 unsigned __int64 CFile::SeekToEnd()\n7625 CFont * CFontHolder::Select(CDC *,long,long)\n7626 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7627 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7628 int CDC::SelectClipPath(int)\n7629 int CDC::SelectClipRgn(CRgn *)\n7630 int CDC::SelectClipRgn(CRgn *,int)\n7631 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7632 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7633 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7634 long CPrintDialogEx::SelectionChange()\n7635 int CTreeCtrl::SelectItem(_TREEITEM *)\n7636 int CDC::SelectObject(CRgn *)\n7637 CBitmap * CDC::SelectObject(CBitmap *)\n7638 CBrush * CDC::SelectObject(CBrush *)\n7639 CGdiObject * CDC::SelectObject(CGdiObject *)\n7640 CPen * CDC::SelectObject(CPen *)\n7641 void * CDC::SelectObject(void *)\n7642 CFont * CDC::SelectObject(CFont *)\n7643 CFont * CPreviewDC::SelectObject(CFont *)\n7644 CPalette * CDC::SelectPalette(CPalette *,int)\n7645 void CWinApp::SelectPrinter(void *,void *,int)\n7646 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7647 CFont * COleControl::SelectStockFont(CDC *)\n7648 CGdiObject * CDC::SelectStockObject(int)\n7649 CGdiObject * CPreviewDC::SelectStockObject(int)\n7650 int CComboBox::SelectString(int,wchar_t const *)\n7651 int CListBox::SelectString(int,wchar_t const *)\n7652 int CListBox::SelItemRange(int,int,int)\n7653 int CAsyncSocket::Send(void const *,int,int)\n7654 int CSocket::Send(void const *,int,int)\n7655 void COleControl::SendAdvise(unsigned int)\n7656 int CWnd::SendChildNotifyLastMsg(long *)\n7657 int CSocket::SendChunk(void const *,int,int)\n7658 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7659 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7660 void CDocument::SendInitialUpdate()\n7661 void CRecordset::SendLongBinaryData(void *)\n7662 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7663 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7664 long CWnd::SendMessageW(unsigned int,unsigned int,long)\n7665 void COleControlSite::SendMnemonic(tagMSG *)\n7666 int CWnd::SendNotifyMessageW(unsigned int,unsigned int,long)\n7667 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n7668 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n7669 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7670 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n7671 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n7672 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7673 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7674 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7675 void CByteArray::Serialize(CArchive &)\n7676 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7677 void CDocItem::Serialize(CArchive &)\n7678 void CDockState::Serialize(CArchive &)\n7679 void CDWordArray::Serialize(CArchive &)\n7680 void CEditView::Serialize(CArchive &)\n7681 void CMapStringToOb::Serialize(CArchive &)\n7682 void CMapStringToString::Serialize(CArchive &)\n7683 void CMapWordToOb::Serialize(CArchive &)\n7684 void CObArray::Serialize(CArchive &)\n7685 void CObject::Serialize(CArchive &)\n7686 void CObList::Serialize(CArchive &)\n7687 void COleClientItem::Serialize(CArchive &)\n7688 void COleControl::Serialize(CArchive &)\n7689 void COleDocument::Serialize(CArchive &)\n7690 void CRichEditDoc::Serialize(CArchive &)\n7691 void CRichEditView::Serialize(CArchive &)\n7692 void CStringArray::Serialize(CArchive &)\n7693 void CStringList::Serialize(CArchive &)\n7694 void CWordArray::Serialize(CArchive &)\n7695 CArchive & ATL::CTime::Serialize64(CArchive &)\n7696 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7697 void CArchive::SerializeClass(CRuntimeconst *)\n7698 void COleControl::SerializeExtent(CArchive &)\n7699 void CEditView::SerializeRaw(CArchive &)\n7700 void COleControl::SerializeStockProps(CArchive &)\n7701 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7702 int CProperty::Set(unsigned long,void * const,unsigned long)\n7703 int CProperty::Set(void * const)\n7704 int CProperty::Set(void * const,unsigned long)\n7705 int CPropertySection::Set(unsigned long,void *)\n7706 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7707 int CPropertySet::Set(_GUID,unsigned long,void *)\n7708 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7709 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7710 void CRecordset::SetAbsolutePosition(long)\n7711 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7712 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7713 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7714 int CPropertySheet::SetActivePage(int)\n7715 int CPropertySheet::SetActivePage(CPropertyPage *)\n7716 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7717 void CFrameWnd::SetActiveView(CView *,int)\n7718 CWnd * CWnd::SetActiveWindow()\n7719 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7720 void CIPAddressCtrl::SetAddress(unsigned long)\n7721 void CHtmlView::SetAddressBar(int)\n7722 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7723 int CToolBarCtrl::SetAnchorHighlight(int)\n7724 void CListBox::SetAnchorIndex(int)\n7725 void COleControl::SetAppearance(short)\n7726 int CDC::SetArcDirection(int)\n7727 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n7728 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n7729 void CByteArray::SetAt(int,unsigned char)\n7730 void CDWordArray::SetAt(int,unsigned long)\n7731 void CMapPtrToPtr::SetAt(void *,void *)\n7732 void CMapPtrToWord::SetAt(void *,unsigned short)\n7733 void CMapStringToOb::SetAt(wchar_t const *,CObject *)\n7734 void CMapStringToPtr::SetAt(wchar_t const *,void *)\n7735 void CMapStringToString::SetAt(wchar_t const *,wchar_t const *)\n7736 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7737 void CMapWordToPtr::SetAt(unsigned short,void *)\n7738 void CObArray::SetAt(int,CObject *)\n7739 void CObList::SetAt(__POSITION *,CObject *)\n7740 void CPtrArray::SetAt(int,void *)\n7741 void CPtrList::SetAt(__POSITION *,void *)\n7742 void CStringArray::SetAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7743 void CStringArray::SetAt(int,wchar_t const *)\n7744 void CStringList::SetAt(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7745 void CStringList::SetAt(__POSITION *,wchar_t const *)\n7746 void CUIntArray::SetAt(int,unsigned int)\n7747 void CWordArray::SetAt(int,unsigned short)\n7748 void CByteArray::SetAtGrow(int,unsigned char)\n7749 void CDWordArray::SetAtGrow(int,unsigned long)\n7750 void CObArray::SetAtGrow(int,CObject *)\n7751 void CPtrArray::SetAtGrow(int,void *)\n7752 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7753 void CStringArray::SetAtGrow(int,wchar_t const *)\n7754 void CUIntArray::SetAtGrow(int,unsigned int)\n7755 void CWordArray::SetAtGrow(int,unsigned short)\n7756 void CDC::SetAttribDC(HDC__ *)\n7757 void CMetaFileDC::SetAttribDC(HDC__ *)\n7758 void CPreviewDC::SetAttribDC(HDC__ *)\n7759 int CRichEditCtrl::SetAutoURLDetect(int)\n7760 void COleControl::SetBackColor(unsigned long)\n7761 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7762 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOW *)\n7763 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7764 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7765 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7766 void CControlBar::SetBarStyle(unsigned long)\n7767 int CSpinButtonCtrl::SetBase(int)\n7768 void CAsyncMonikerFile::SetBinding(IBinding *)\n7769 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7770 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7771 int CToolBar::SetBitmap(HBITMAP__ *)\n7772 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7773 CSize CBitmap::SetBitmapDimension(int,int)\n7774 int CHeaderCtrl::SetBitmapMargin(int)\n7775 int CToolBarCtrl::SetBitmapSize(CSize)\n7776 unsigned long CDC::SetBkColor(unsigned long)\n7777 unsigned long CImageList::SetBkColor(unsigned long)\n7778 int CListCtrl::SetBkColor(unsigned long)\n7779 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7780 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7781 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7782 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7783 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7784 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n7785 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7786 int CListCtrl::SetBkImage(tagLVBKIMAGEW *)\n7787 int CDC::SetBkMode(int)\n7788 void CRecordset::SetBookmark(CDBVariant const &)\n7789 void CControlBar::SetBorders(int,int,int,int)\n7790 void CControlBar::SetBorders(tagRECT const *)\n7791 void CStatusBar::SetBorders(int,int,int,int)\n7792 void CStatusBar::SetBorders(tagRECT const *)\n7793 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7794 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7795 void COleControl::SetBorderStyle(short)\n7796 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7797 CPoint CDC::SetBrushOrg(int,int)\n7798 CPoint CDC::SetBrushOrg(tagPOINT)\n7799 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7800 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7801 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7802 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7803 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOW *)\n7804 int CToolBar::SetButtons(unsigned int const *,int)\n7805 int CToolBarCtrl::SetButtonSize(CSize)\n7806 void CToolBarCtrl::SetButtonStructSize(int)\n7807 void CButton::SetButtonStyle(unsigned int,int)\n7808 void CToolBar::SetButtonStyle(int,unsigned int)\n7809 int CToolBar::SetButtonText(int,wchar_t const *)\n7810 int CToolBarCtrl::SetButtonWidth(int,int)\n7811 int CListCtrl::SetCallbackMask(unsigned int)\n7812 CWnd * COleControl::SetCapture()\n7813 CWnd * CWnd::SetCapture()\n7814 long COleControlSite::XOleIPSite::SetCapture(int)\n7815 int CListBox::SetCaretIndex(int,int)\n7816 void CWnd::SetCaretPos(tagPOINT)\n7817 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n7818 void CButton::SetCheck(int)\n7819 void CCheckListBox::SetCheck(int,int)\n7820 void CCmdUI::SetCheck(int)\n7821 int CListCtrl::SetCheck(int,int)\n7822 void COleCmdUI::SetCheck(int)\n7823 void CStatusCmdUI::SetCheck(int)\n7824 void CTestCmdUI::SetCheck(int)\n7825 void CToolCmdUI::SetCheck(int)\n7826 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7827 void CCheckListBox::SetCheckStyle(unsigned int)\n7828 void CPropertySet::SetClassID(_GUID)\n7829 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7830 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7831 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7832 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7833 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7834 void COleDataSource::SetClipboard()\n7835 HWND__ * CWnd::SetClipboardViewer()\n7836 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7837 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7838 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7839 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7840 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7841 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7842 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7843 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7844 int CListCtrl::SetColumn(int,tagLVCOLUMNW const *)\n7845 void CSplitterWnd::SetColumnInfo(int,int,int)\n7846 int CListCtrl::SetColumnOrderArray(int,int *)\n7847 void CListBox::SetColumnWidth(int)\n7848 int CListCtrl::SetColumnWidth(int,int)\n7849 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7850 void CDocTemplate::SetContainerInfo(unsigned int)\n7851 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7852 void CDataPathProperty::SetControl(COleControl *)\n7853 void CReflectorWnd::SetControl(COleControl *)\n7854 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7855 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n7856 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n7857 int COleControl::SetControlSize(int,int)\n7858 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7859 void CFileDialog::SetControlText(int,char const *)\n7860 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n7861 void CTabCtrl::SetCurFocus(int)\n7862 void COleCurrency::SetCurrency(long,long)\n7863 void CColorDialog::SetCurrentColor(unsigned long)\n7864 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n7865 void CWinApp::SetCurrentHandles()\n7866 void CPreviewView::SetCurrentPage(unsigned int,int)\n7867 int CComboBox::SetCurSel(int)\n7868 int CListBox::SetCurSel(int)\n7869 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7870 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7871 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7872 int CTabCtrl::SetCurSel(int)\n7873 HICON__ * CButton::SetCursor(HICON__ *)\n7874 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7875 HICON__ * CStatic::SetCursor(HICON__ *)\n7876 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7877 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7878 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7879 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7880 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7881 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7882 void COccManager::SetDefaultButton(CWnd *,int)\n7883 void COleControlSite::SetDefaultButton(int)\n7884 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n7885 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n7886 int CMenu::SetDefaultItem(unsigned int,int)\n7887 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7888 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7889 void CFileDialog::SetDefExt(char const *)\n7890 void CDialog::SetDefID(unsigned int)\n7891 void CToolTipCtrl::SetDelayTime(unsigned int)\n7892 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7893 void CDumpContext::SetDepth(int)\n7894 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7895 void COlePropertyPage::SetDialogResource(void *)\n7896 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7897 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7898 int COleControlSite::SetDlgCtrlID(int)\n7899 int CWnd::SetDlgCtrlID(int)\n7900 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7901 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7902 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n7903 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n7904 void CFrameWnd::SetDockState(CDockState const &)\n7905 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7906 int CImageList::SetDragCursorImage(int,CPoint)\n7907 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7908 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7909 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7910 int CComboBox::SetDroppedWidth(unsigned int)\n7911 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7912 int CComboBox::SetEditSel(int,int)\n7913 int CComboBoxEx::SetEditSel(int,int)\n7914 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7915 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n7916 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n7917 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7918 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n7919 void COleControl::SetEnabled(int)\n7920 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7921 int CEvent::SetEvent()\n7922 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7923 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7924 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7925 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7926 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7927 int CComboBox::SetExtendedUI(int)\n7928 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7929 int COleControlSite::SetExtent()\n7930 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7931 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7932 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7933 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7934 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7935 void CRecordset::SetFieldDirty(void *,int)\n7936 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7937 void CRecordset::SetFieldNull(void *,int)\n7938 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7939 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7940 void CFieldExchange::SetFieldType(unsigned int)\n7941 void CFile::SetFilePath(wchar_t const *)\n7942 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7943 void CPropertySheet::SetFinishText(wchar_t const *)\n7944 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7945 CWnd * COleControl::SetFocus()\n7946 CWnd * COleControlSite::SetFocus(tagMSG *)\n7947 CWnd * COleControlSite::SetFocus()\n7948 CWnd * CWnd::SetFocus()\n7949 long COleControlSite::XOleIPSite::SetFocus(int)\n7950 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n7951 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n7952 void CFontHolder::SetFont(IFont *)\n7953 void COleControl::SetFont(IFontDisp *)\n7954 void CWnd::SetFont(CFont *,int)\n7955 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7956 void COleControl::SetForeColor(unsigned long)\n7957 int CWnd::SetForegroundWindow()\n7958 int CDateTimeCtrl::SetFormat(wchar_t const *)\n7959 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7960 void CPropertySection::SetFormatID(_GUID)\n7961 void CPropertySet::SetFormatVersion(unsigned short)\n7962 void CHtmlView::SetFullScreen(int)\n7963 void CEdit::SetHandle(void *)\n7964 void CSharedFile::SetHandle(void *,int)\n7965 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7966 void CHtmlView::SetHeight(long)\n7967 void CToolBar::SetHeight(int)\n7968 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7969 void CDialog::SetHelpID(unsigned int)\n7970 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n7971 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n7972 void CComboBox::SetHorizontalExtent(unsigned int)\n7973 void CListBox::SetHorizontalExtent(int)\n7974 void CDHtmlDialog::SetHostFlags(unsigned long)\n7975 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n7976 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7977 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7978 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7979 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7980 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7981 int CHeaderCtrl::SetHotDivider(int)\n7982 int CHeaderCtrl::SetHotDivider(CPoint)\n7983 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7984 int CListCtrl::SetHotItem(int)\n7985 int CToolBarCtrl::SetHotItem(int)\n7986 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7987 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7988 HICON__ * CButton::SetIcon(HICON__ *)\n7989 HICON__ * CStatic::SetIcon(HICON__ *)\n7990 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7991 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7992 int COleClientItem::SetIconicMetafile(void *)\n7993 CSize CListCtrl::SetIconSpacing(int,int)\n7994 CSize CListCtrl::SetIconSpacing(CSize)\n7995 void CProperty::SetID(unsigned long)\n7996 int CImageList::SetImageCount(unsigned int)\n7997 CImageList * CComboBoxEx::SetImageList(CImageList *)\n7998 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n7999 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8000 int CReBarCtrl::SetImageList(CImageList *)\n8001 CImageList * CTabCtrl::SetImageList(CImageList *)\n8002 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8003 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8004 int CToolBarCtrl::SetIndent(int)\n8005 void CTreeCtrl::SetIndent(unsigned int)\n8006 int CStatusBar::SetIndicators(unsigned int const *,int)\n8007 void COleControl::SetInitialDataFormats()\n8008 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8009 void COleControl::SetInitialSize(int,int)\n8010 void CControlBar::SetInPlaceOwner(CWnd *)\n8011 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8012 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8013 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8014 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8015 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8016 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n8017 int CHeaderCtrl::SetItem(int,_HD_ITEMW *)\n8018 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n8019 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n8020 int CListCtrl::SetItem(tagLVITEMW const *)\n8021 int CTabCtrl::SetItem(int,tagTCITEMW *)\n8022 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n8023 int CTreeCtrl::SetItem(tagTVITEMW *)\n8024 void CListCtrl::SetItemCount(int)\n8025 int CListCtrl::SetItemCountEx(int,unsigned long)\n8026 int CComboBox::SetItemData(int,unsigned long)\n8027 int CListBox::SetItemData(int,unsigned long)\n8028 int CListCtrl::SetItemData(int,unsigned long)\n8029 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8030 int CComboBox::SetItemDataPtr(int,void *)\n8031 int CListBox::SetItemDataPtr(int,void *)\n8032 int CTabCtrl::SetItemExtra(int)\n8033 int CComboBox::SetItemHeight(int,unsigned int)\n8034 int CListBox::SetItemHeight(int,unsigned int)\n8035 short CTreeCtrl::SetItemHeight(short)\n8036 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8037 void COleServerItem::SetItemName(wchar_t const *)\n8038 int CListCtrl::SetItemPosition(int,tagPOINT)\n8039 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8040 CSize CTabCtrl::SetItemSize(CSize)\n8041 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8042 int CListCtrl::SetItemState(int,tagLVITEMW *)\n8043 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8044 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8045 int CListCtrl::SetItemText(int,int,wchar_t const *)\n8046 int CTreeCtrl::SetItemText(_TREEITEM *,wchar_t const *)\n8047 unsigned long CDC::SetLayout(unsigned long)\n8048 void CHtmlView::SetLeft(long)\n8049 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8050 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8051 void CFile::SetLength(unsigned __int64)\n8052 void CInternetFile::SetLength(unsigned __int64)\n8053 void CMemFile::SetLength(unsigned __int64)\n8054 void COleStreamFile::SetLength(unsigned __int64)\n8055 void CSocketFile::SetLength(unsigned __int64)\n8056 void CEdit::SetLimitText(unsigned int)\n8057 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8058 int CSliderCtrl::SetLineSize(int)\n8059 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n8060 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8061 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8062 void CArchive::SetLoadParams(unsigned int)\n8063 unsigned long CComboBox::SetLocale(unsigned long)\n8064 unsigned long CListBox::SetLocale(unsigned long)\n8065 void CRecordset::SetLockingMode(unsigned int)\n8066 void CDatabase::SetLoginTimeout(unsigned long)\n8067 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8068 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8069 int CDC::SetMapMode(int)\n8070 int CPreviewDC::SetMapMode(int)\n8071 unsigned long CDC::SetMapperFlags(unsigned long)\n8072 void CToolTipCtrl::SetMargin(tagRECT *)\n8073 void CEdit::SetMargins(unsigned int,unsigned int)\n8074 void CRichEditView::SetMargins(CRect const &)\n8075 void CPrintInfo::SetMaxPage(unsigned int)\n8076 int CMonthCalCtrl::SetMaxSelCount(int)\n8077 int CToolBarCtrl::SetMaxTextRows(int)\n8078 int CToolTipCtrl::SetMaxTipWidth(int)\n8079 int CWnd::SetMenu(CMenu *)\n8080 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8081 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8082 void CHtmlView::SetMenuBar(int)\n8083 int CMenu::SetMenuContextHelpId(unsigned long)\n8084 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8085 int CMenu::SetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n8086 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8087 void CFrameWnd::SetMessageText(unsigned int)\n8088 void CFrameWnd::SetMessageText(wchar_t const *)\n8089 void CStatusBarCtrl::SetMinHeight(int)\n8090 void CPrintInfo::SetMinPage(unsigned int)\n8091 int CTabCtrl::SetMinTabWidth(int)\n8092 int CDC::SetMiterLimit(float)\n8093 void CPropertyPage::SetModified(int)\n8094 void CDocument::SetModifiedFlag(int)\n8095 void COleControl::SetModifiedFlag(int)\n8096 void COlePropertyPage::SetModifiedFlag(int)\n8097 void CRichEditDoc::SetModifiedFlag(int)\n8098 void CEdit::SetModify(int)\n8099 void CRichEditCtrl::SetModify(int)\n8100 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8101 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8102 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8103 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8104 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8105 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8106 int CMonthCalCtrl::SetMonthDelta(int)\n8107 int CPropertySection::SetName(unsigned long,wchar_t const *)\n8108 void COleControl::SetNotPermitted()\n8109 void CCmdTarget::SetNotSupported()\n8110 void COleControl::SetNotSupported()\n8111 void CRecordset::SetNullFieldStatus(unsigned long)\n8112 void CRecordset::SetNullParamStatus(unsigned long)\n8113 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8114 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8115 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8116 void CArchive::SetObjectSchema(unsigned int)\n8117 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8118 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8119 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8120 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8121 void CHtmlView::SetOffline(int)\n8122 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8123 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8124 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8125 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8126 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8127 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8128 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8129 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8130 int CHeaderCtrl::SetOrderArray(int,int *)\n8131 void CPropertySet::SetOSVersion(unsigned long)\n8132 void CDC::SetOutputDC(HDC__ *)\n8133 void CMetaFileDC::SetOutputDC(HDC__ *)\n8134 void CPreviewDC::SetOutputDC(HDC__ *)\n8135 int CImageList::SetOverlayImage(int,int)\n8136 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8137 void CToolBar::SetOwner(CWnd *)\n8138 void CToolBarCtrl::SetOwner(CWnd *)\n8139 void CWnd::SetOwner(CWnd *)\n8140 void CTabCtrl::SetPadding(CSize)\n8141 void COlePropertyPage::SetPageName(wchar_t const *)\n8142 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8143 int CSliderCtrl::SetPageSize(int)\n8144 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8145 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8146 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8147 void CStatusBar::SetPaneStyle(int,unsigned int)\n8148 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n8149 void CRichEditView::SetPaperSize(CSize)\n8150 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8151 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8152 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8153 void CRecordset::SetParamNull(int,int)\n8154 CWnd * CWnd::SetParent(CWnd *)\n8155 int CStatusBarCtrl::SetParts(int,int *)\n8156 void CEdit::SetPasswordChar(wchar_t)\n8157 void CDataPathProperty::SetPath(wchar_t const *)\n8158 void CDocument::SetPathName(wchar_t const *,int)\n8159 void COleDocument::SetPathName(wchar_t const *,int)\n8160 void CRichEditDoc::SetPathName(wchar_t const *,int)\n8161 void CHandleMap::SetPermanent(void *,CObject *)\n8162 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8163 unsigned long CDC::SetPixel(int,int,unsigned long)\n8164 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8165 int CDC::SetPixelV(int,int,unsigned long)\n8166 int CDC::SetPixelV(tagPOINT,unsigned long)\n8167 int CDC::SetPolyFillMode(int)\n8168 int CProgressCtrl::SetPos(int)\n8169 void CSliderCtrl::SetPos(int)\n8170 int CSpinButtonCtrl::SetPos(int)\n8171 int CSpinButtonCtrl::SetPos32(int)\n8172 void COleIPFrameWnd::SetPreviewMode(int)\n8173 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8174 int COleClientItem::SetPrintDevice(tagPDW const *)\n8175 void CEditView::SetPrinterFont(CFont *)\n8176 int CPreviewView::SetPrintView(CView *)\n8177 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n8178 void COleControlSite::SetProperty(long,unsigned short,...)\n8179 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8180 void CWnd::SetProperty(long,unsigned short,...)\n8181 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8182 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n8183 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n8184 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8185 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n8186 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n8187 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n8188 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n8189 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n8190 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n8191 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n8192 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n8193 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8194 long CWnd::SetProxy(IAccessibleProxy *)\n8195 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8196 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8197 void CDatabase::SetQueryTimeout(unsigned long)\n8198 void CCmdUI::SetRadio(int)\n8199 void CTestCmdUI::SetRadio(int)\n8200 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8201 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8202 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8203 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8204 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8205 void CProgressCtrl::SetRange(short,short)\n8206 void CSliderCtrl::SetRange(int,int,int)\n8207 void CSpinButtonCtrl::SetRange(short,short)\n8208 void CProgressCtrl::SetRange32(int,int)\n8209 void CSpinButtonCtrl::SetRange32(int,int)\n8210 void CSliderCtrl::SetRangeMax(int,int)\n8211 void CSliderCtrl::SetRangeMin(int,int)\n8212 int CInternetFile::SetReadBufferSize(unsigned int)\n8213 int CEdit::SetReadOnly(int)\n8214 int CRichEditCtrl::SetReadOnly(int)\n8215 void CEdit::SetRect(tagRECT const *)\n8216 void CRichEditCtrl::SetRect(tagRECT const *)\n8217 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8218 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8219 int COleControl::SetRectInContainer(tagRECT const *)\n8220 void CEdit::SetRectNP(tagRECT const *)\n8221 void CRgn::SetRectRgn(int,int,int,int)\n8222 void CRgn::SetRectRgn(tagRECT const *)\n8223 void CWnd::SetRedraw(int)\n8224 void CHtmlView::SetRegisterAsBrowser(int)\n8225 void CHtmlView::SetRegisterAsDropTarget(int)\n8226 void CWinApp::SetRegistryKey(unsigned int)\n8227 void CWinApp::SetRegistryKey(wchar_t const *)\n8228 void COleMessageFilter::SetRetryReply(unsigned long)\n8229 int CDC::SetROP2(int)\n8230 void CSplitterWnd::SetRowInfo(int,int,int)\n8231 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8232 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8233 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8234 void CRecordset::SetRowsetSize(unsigned long)\n8235 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8236 void CPreviewView::SetScaledSize(unsigned int)\n8237 void CPreviewDC::SetScaleRatio(int,int)\n8238 void CScrollView::SetScaleToFitSize(tagSIZE)\n8239 void CDockState::SetScreenSize(CSize &)\n8240 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8241 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8242 int CScrollBar::SetScrollPos(int,int)\n8243 int CWnd::SetScrollPos(int,int,int)\n8244 void CScrollBar::SetScrollRange(int,int,int)\n8245 void CWnd::SetScrollRange(int,int,int,int)\n8246 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8247 void CSplitterWnd::SetScrollStyle(unsigned long)\n8248 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8249 int CPropertySection::SetSectionName(wchar_t const *)\n8250 void CEdit::SetSel(int,int,int)\n8251 void CEdit::SetSel(unsigned long,int)\n8252 int CListBox::SetSel(int,int)\n8253 void CRichEditCtrl::SetSel(_charrange &)\n8254 void CRichEditCtrl::SetSel(long,long)\n8255 void CSliderCtrl::SetSelection(int,int)\n8256 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n8257 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n8258 void CCheckListBox::SetSelectionCheck(int)\n8259 int CListCtrl::SetSelectionMark(int)\n8260 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8261 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8262 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8263 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8264 void CHtmlView::SetSilent(int)\n8265 int CStatusBarCtrl::SetSimple(int)\n8266 long CPrintDialogEx::SetSite(IUnknown *)\n8267 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8268 void CByteArray::SetSize(int,int)\n8269 void CDWordArray::SetSize(int,int)\n8270 void CObArray::SetSize(int,int)\n8271 void CPtrArray::SetSize(int,int)\n8272 void CStringArray::SetSize(int,int)\n8273 void CUIntArray::SetSize(int,int)\n8274 void CWordArray::SetSize(int,int)\n8275 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8276 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8277 void CSplitterWnd::SetSplitCursor(int)\n8278 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8279 void CButton::SetState(int)\n8280 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n8281 int CToolBarCtrl::SetState(int,unsigned int)\n8282 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n8283 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8284 void CHtmlView::SetStatusBar(int)\n8285 int CControlBar::SetStatusText(int)\n8286 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8287 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8288 int CProgressCtrl::SetStep(int)\n8289 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8290 int CDC::SetStretchBltMode(int)\n8291 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8292 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8293 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8294 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8295 void COleVariant::SetString(wchar_t const *,unsigned short)\n8296 void CToolBarCtrl::SetStyle(unsigned long)\n8297 void CDatabase::SetSynchronousMode(int)\n8298 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8299 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8300 int CDialogTemplate::SetSystemFont(unsigned short)\n8301 int CEdit::SetTabStops(int const &)\n8302 int CEdit::SetTabStops(int,int *)\n8303 void CEdit::SetTabStops()\n8304 void CEditView::SetTabStops(int)\n8305 int CListBox::SetTabStops(int const &)\n8306 int CListBox::SetTabStops(int,int *)\n8307 void CListBox::SetTabStops()\n8308 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8309 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8310 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8311 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8312 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n8313 void CCmdUI::SetText(wchar_t const *)\n8314 void COleCmdUI::SetText(wchar_t const *)\n8315 void COleControl::SetText(wchar_t const *)\n8316 int CStatusBarCtrl::SetText(wchar_t const *,int,int)\n8317 void CStatusCmdUI::SetText(wchar_t const *)\n8318 void CTestCmdUI::SetText(wchar_t const *)\n8319 void CToolCmdUI::SetText(wchar_t const *)\n8320 unsigned int CDC::SetTextAlign(unsigned int)\n8321 int CListCtrl::SetTextBkColor(unsigned long)\n8322 int CDC::SetTextCharacterExtra(int)\n8323 unsigned long CDC::SetTextColor(unsigned long)\n8324 int CListCtrl::SetTextColor(unsigned long)\n8325 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8326 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8327 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8328 int CDC::SetTextJustification(int,int)\n8329 int CRichEditCtrl::SetTextMode(unsigned int)\n8330 void CHtmlView::SetTheaterMode(int)\n8331 int CWinThread::SetThreadPriority(int)\n8332 int CSliderCtrl::SetTic(int)\n8333 void CSliderCtrl::SetTicFreq(int)\n8334 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8335 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8336 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8337 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8338 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8339 int CSliderCtrl::SetTipSide(int)\n8340 void CStatusBarCtrl::SetTipText(int,wchar_t const *)\n8341 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8342 void CDocument::SetTitle(wchar_t const *)\n8343 void CFrameWnd::SetTitle(wchar_t const *)\n8344 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n8345 void CRichEditDoc::SetTitle(wchar_t const *)\n8346 int CToolTipCtrl::SetTitle(unsigned int,wchar_t const *)\n8347 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8348 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8349 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8350 void CHtmlView::SetToolBar(int)\n8351 void CToolTipCtrl::SetToolInfo(tagTOOLINFOW *)\n8352 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8353 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8354 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8355 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8356 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8357 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8358 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8359 void CHtmlView::SetTop(long)\n8360 int CComboBox::SetTopIndex(int)\n8361 int CListBox::SetTopIndex(int)\n8362 void CPreviewDC::SetTopLeftOffset(CSize)\n8363 void CProperty::SetType(unsigned long)\n8364 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8365 void CRecordset::SetUpdateMethod()\n8366 void CThreadSlotData::SetValue(int,void *)\n8367 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8368 CSize CDC::SetViewportExt(tagSIZE)\n8369 CSize CDC::SetViewportExt(int,int)\n8370 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8371 CSize CMetaFileDC::SetViewportExt(int,int)\n8372 CSize CPreviewDC::SetViewportExt(int,int)\n8373 CPoint CDC::SetViewportOrg(tagPOINT)\n8374 CPoint CDC::SetViewportOrg(int,int)\n8375 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8376 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8377 CPoint CPreviewDC::SetViewportOrg(int,int)\n8378 void CHtmlView::SetVisible(int)\n8379 void CHtmlView::SetWidth(long)\n8380 int CWnd::SetWindowContextHelpId(unsigned long)\n8381 CSize CDC::SetWindowExt(tagSIZE)\n8382 CSize CDC::SetWindowExt(int,int)\n8383 CSize CPreviewDC::SetWindowExt(int,int)\n8384 CPoint CDC::SetWindowOrg(int,int)\n8385 CPoint CDC::SetWindowOrg(tagPOINT)\n8386 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8387 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8388 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8389 int CWnd::SetWindowRgn(HRGN__ *,int)\n8390 void COleControlSite::SetWindowTextW(wchar_t const *)\n8391 void CWnd::SetWindowTextW(wchar_t const *)\n8392 void CPropertySheet::SetWizardButtons(unsigned long)\n8393 void CPropertySheet::SetWizardMode()\n8394 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n8395 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n8396 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8397 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8398 int CInternetFile::SetWriteBufferSize(unsigned int)\n8399 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8400 long CDocObjectServer::XOleDocumentView::Show(int)\n8401 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8402 void CDockBar::ShowAll(int)\n8403 int CReBarCtrl::ShowBand(unsigned int,int)\n8404 void CWnd::ShowCaret()\n8405 long CRichEditCntrItem::ShowContainerUI(int)\n8406 long CRichEditView::ShowContainerUI(int)\n8407 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8408 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8409 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8410 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8411 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8412 void CComboBox::ShowDropDown(int)\n8413 long COleClientItem::XOleClientSite::ShowObject()\n8414 long COleControlSite::XOleClientSite::ShowObject()\n8415 void CWnd::ShowOwnedPopups(int)\n8416 void CFrameWnd::ShowOwnedWindows(int)\n8417 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8418 void CScrollBar::ShowScrollBar(int)\n8419 void CWnd::ShowScrollBar(unsigned int,int)\n8420 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8421 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8422 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8423 int COleControlSite::ShowWindow(int)\n8424 int CWnd::ShowWindow(int)\n8425 int CAsyncSocket::ShutDown(int)\n8426 tagSIZE const CScrollView::sizeDefault\n8427 int CMonthCalCtrl::SizeMinReq(int)\n8428 void CBitmapButton::SizeToContent()\n8429 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8430 int CReBarCtrl::SizeToRect(CRect &)\n8431 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8432 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8433 int CAsyncSocket::Socket(int,long,int,int)\n8434 int CTreeCtrl::SortChildren(_TREEITEM *)\n8435 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8436 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8437 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n8438 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n8439 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n8440 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n8441 int CSplitterWnd::SplitColumn(int)\n8442 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8443 int CSplitterWnd::SplitRow(int)\n8444 int CDC::StartDocW(_DOCINFOW *)\n8445 int CDC::StartDocW(wchar_t const *)\n8446 void CDockContext::StartDrag(CPoint)\n8447 int CDC::StartPage()\n8448 void CDockContext::StartResize(int,CPoint)\n8449 void CSplitterWnd::StartTracking(int)\n8450 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8451 int CProgressCtrl::StepIt()\n8452 int CAnimateCtrl::Stop()\n8453 void CHtmlView::Stop()\n8454 void CRichEditCtrl::StopGroupTyping()\n8455 void CSplitterWnd::StopTracking(int)\n8456 void CRuntimeClass::Store(CArchive &)const \n8457 void CRecordset::StoreFields()\n8458 void CRichEditView::Stream(CArchive &,int)\n8459 long CRichEditCtrl::StreamIn(int,_editstream &)\n8460 long CRichEditCtrl::StreamOut(int,_editstream &)\n8461 void CDockContext::Stretch(CPoint)\n8462 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8463 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n8464 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n8465 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n8466 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n8467 int CDC::StrokeAndFillPath()\n8468 int CDC::StrokePath()\n8469 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8470 int CWnd::SubclassWindow(HWND__ *)\n8471 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8472 int COleDocObjectItem::SupportsIPrint()\n8473 unsigned long CWinThread::SuspendThread()\n8474 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8475 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8476 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8477 CSize CDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8478 CSize CDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8479 CSize CMetaFileDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8480 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8481 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8482 void CRichEditView::TextNotFound(wchar_t const *)\n8483 int CDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8484 int CDC::TextOutW(int,int,wchar_t const *,int)\n8485 int CMetaFileDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8486 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n8487 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n8488 void CDatabase::ThrowDBException(short)\n8489 void CRecordset::ThrowDBException(short,void *)\n8490 void CFileException::ThrowErrno(int,wchar_t const *)\n8491 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8492 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n8493 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n8494 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n8495 void CFileException::ThrowOsError(long,wchar_t const *)\n8496 void CDockContext::ToggleDocking()\n8497 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n8498 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n8499 COleVariant CDataSourceControl::ToVariant(int)\n8500 ATL::CTraceCategory traceAppMsg\n8501 ATL::CTraceCategory traceCmdRouting\n8502 ATL::CTraceCategory traceDatabase\n8503 ATL::CTraceCategory traceDumpContext\n8504 void CDBException::TraceErrorMessage(wchar_t const *)const \n8505 ATL::CTraceCategory traceGdi\n8506 ATL::CTraceCategory traceHtml\n8507 ATL::CTraceCategory traceInternet\n8508 ATL::CTraceCategory traceKernel\n8509 ATL::CTraceCategory traceMemory\n8510 ATL::CTraceCategory traceMultiApp\n8511 ATL::CTraceCategory traceOle\n8512 ATL::CTraceCategory traceSocket\n8513 ATL::CTraceCategory traceUser\n8514 ATL::CTraceCategory traceWinMsg\n8515 int CDockContext::Track()\n8516 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8517 void CSplitterWnd::TrackColumnSize(int,int)\n8518 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8519 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8520 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8521 void CSplitterWnd::TrackRowSize(int,int)\n8522 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8523 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8524 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8525 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8526 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8527 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8528 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n8529 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8530 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8531 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8532 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8533 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n8534 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8535 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8536 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8537 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8538 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8539 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n8540 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n8541 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n8542 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n8543 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n8544 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n8545 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n8546 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n8547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n8548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n8549 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n8550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n8551 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n8552 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n8553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n8554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n8555 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n8556 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n8557 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n8558 void ATL::CSimpleStringT<char,1>::Truncate(int)\n8559 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8560 void COccManager::UIActivateControl(CWnd *)\n8561 long COleControl::XOleInPlaceObject::UIDeactivate()\n8562 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8563 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8564 void COleSafeArray::UnaccessData()\n8565 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8566 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8567 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8568 long COleControl::XOleObject::Unadvise(unsigned long)\n8569 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8570 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8571 void CRecordset::UnbindFieldsForUpdate()\n8572 long COleControl::XOleCache::Uncache(unsigned long)\n8573 int CEdit::Undo()\n8574 int CRichEditCtrl::Undo()\n8575 long COleControl::XViewObject::Unfreeze(unsigned long)\n8576 int CCriticalSection::Unlock()\n8577 int CEvent::Unlock()\n8578 int CMultiLock::Unlock(long,long *)\n8579 int CMultiLock::Unlock()\n8580 int CMutex::Unlock()\n8581 void COleSafeArray::Unlock()\n8582 int CSemaphore::Unlock(long,long *)\n8583 int CSemaphore::Unlock()\n8584 int CSingleLock::Unlock(long,long *)\n8585 int CSingleLock::Unlock()\n8586 void CTypeLibCache::Unlock()\n8587 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n8588 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n8589 void CEditView::UnlockBuffer()const \n8590 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8591 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8592 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8593 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8594 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8595 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8596 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8597 void CWnd::UnlockWindowUpdate()\n8598 int CGdiObject::UnrealizeObject()\n8599 int COleObjectFactory::Unregister()\n8600 int COleTemplateServer::Unregister()\n8601 int CWinApp::Unregister()\n8602 int COleObjectFactory::UnregisterAll()\n8603 void CDocManager::UnregisterShellFileTypes()\n8604 void CWinApp::UnregisterShellFileTypes()\n8605 HWND__ * CWnd::UnsubclassWindow()\n8606 int CListCtrl::Update(int)\n8607 int CRecordset::Update()\n8608 void CToolTipCtrl::Update()\n8609 long CDocObjectServer::XOleObject::Update()\n8610 long COleControl::XOleObject::Update()\n8611 long COleServerDoc::XOleObject::Update()\n8612 long COleServerItem::XOleObject::Update()\n8613 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8614 void CStatusBar::UpdateAllPanes(int,int)\n8615 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8616 void CScrollView::UpdateBars()\n8617 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8618 void CDC::UpdateColors()\n8619 long CDataSourceControl::UpdateControls()\n8620 long CDataSourceControl::UpdateCursor()\n8621 void CMemoryState::UpdateData()\n8622 int CWnd::UpdateData(int)\n8623 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8624 void CDocument::UpdateFrameCounts()\n8625 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n8626 int CRecordset::UpdateInsertDelete()\n8627 void COleClientItem::UpdateItemType()\n8628 int COleClientItem::UpdateLink()\n8629 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8630 void CRecentFileList::UpdateMenu(CCmdUI *)\n8631 void COleDocument::UpdateModifiedFlag()\n8632 void CRichEditDoc::UpdateModifiedFlag()\n8633 void CRichEditDoc::UpdateObjectCache()\n8634 void CWinApp::UpdatePrinterSelection(int)\n8635 int COleObjectFactory::UpdateRegistry(int)\n8636 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n8637 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n8638 int COleObjectFactory::UpdateRegistryAll(int)\n8639 void CDockContext::UpdateState(int *,int)\n8640 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8641 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n8642 long CBrowserControlSite::UpdateUI()\n8643 long CDHtmlDialog::UpdateUI()\n8644 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8645 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8646 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8647 void CWnd::UpdateWindow()\n8648 void CWnd::ValidateRect(tagRECT const *)\n8649 void CWnd::ValidateRgn(CRgn *)\n8650 void CDatabase::VerifyConnect()\n8651 unsigned long CRecordset::VerifyCursorSupport()\n8652 void CRecordset::VerifyDriverBehavior()\n8653 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8654 int COleObjectFactory::VerifyUserLicense()\n8655 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8656 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8657 int CDC::WidenPath()\n8658 int COleControl::WillAmbientsBeValidDuringLoad()\n8659 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8660 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8661 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8662 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8663 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8664 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8665 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8666 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8667 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8668 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8669 void CWinApp::WinHelpW(unsigned long,unsigned int)\n8670 void CWnd::WinHelpW(unsigned long,unsigned int)\n8671 CWnd const CWnd::wndBottom\n8672 CWnd const CWnd::wndNoTopMost\n8673 CWnd const CWnd::wndTop\n8674 CWnd const CWnd::wndTopMost\n8675 void CRichEditView::WrapChanged()\n8676 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8677 void CArchive::Write(void const *,unsigned int)\n8678 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8679 void CFile::Write(void const *,unsigned int)\n8680 void CGopherFile::Write(void const *,unsigned int)\n8681 int CImageList::Write(CArchive *)\n8682 void CInternetFile::Write(void const *,unsigned int)\n8683 void CMemFile::Write(void const *,unsigned int)\n8684 void COleStreamFile::Write(void const *,unsigned int)\n8685 void CSocketFile::Write(void const *,unsigned int)\n8686 void CStdioFile::Write(void const *,unsigned int)\n8687 void CArchive::WriteClass(CRuntimeconst *)\n8688 void CArchive::WriteCount(unsigned long)\n8689 void COleClientItem::WriteItem(CArchive &)\n8690 void COleClientItem::WriteItemCompound(CArchive &)\n8691 void COleClientItem::WriteItemFlat(CArchive &)\n8692 void CRecentFileList::WriteList()\n8693 int CPropertySection::WriteNameDictToStream(IStream *)\n8694 void CArchive::WriteObject(CObject const *)\n8695 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n8696 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n8697 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n8698 void CArchive::WriteString(wchar_t const *)\n8699 void CGopherFile::WriteString(wchar_t const *)\n8700 void CInternetFile::WriteString(wchar_t const *)\n8701 void CStdioFile::WriteString(wchar_t const *)\n8702 void CEditView::WriteToArchive(CArchive &)\n8703 int CProperty::WriteToStream(IStream *)\n8704 int CPropertySection::WriteToStream(IStream *)\n8705 int CPropertySet::WriteToStream(IStream *)\n8706 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8707 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8708 CDaoException::CDaoException()\n8709 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8710 CDaoIndexInfo::CDaoIndexInfo()\n8711 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8712 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8713 CDaoRecordView::CDaoRecordView(unsigned int)\n8714 CDaoRecordView::CDaoRecordView(wchar_t const *)\n8715 CDaoRelationInfo::CDaoRelationInfo()\n8716 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8717 CDaoWorkspace::CDaoWorkspace()\n8718 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8719 CDaoDatabase::~CDaoDatabase()\n8720 CDaoException::~CDaoException()\n8721 CDaoIndexInfo::~CDaoIndexInfo()\n8722 CDaoQueryDef::~CDaoQueryDef()\n8723 CDaoRecordset::~CDaoRecordset()\n8724 CDaoRecordView::~CDaoRecordView()\n8725 CDaoRelationInfo::~CDaoRelationInfo()\n8726 CDaoTableDef::~CDaoTableDef()\n8727 CDaoWorkspace::~CDaoWorkspace()\n8728 void CDaoRecordset::AddNew()\n8729 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8730 _DAODBEngine * AfxDaoGetEngine()\n8731 void AfxDaoInit()\n8732 void AfxDaoTerm()\n8733 void AfxDaoTrace(long,char const *,char const *,int)\n8734 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8735 _AFX_DAO_STATE * AfxGetDaoState()\n8736 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8737 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8738 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8739 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8740 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8741 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8742 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8743 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8744 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8745 void AfxThrowDaoException(int,long)\n8746 void CDaoRecordset::AllocCache()\n8747 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8748 void CDaoRecordset::AllocDatabase()\n8749 void AllocLongBinary(CLongBinary &,unsigned long)\n8750 void CDaoQueryDef::Append()\n8751 void CDaoTableDef::Append()\n8752 void CDaoWorkspace::Append()\n8753 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n8754 void CDaoDatabase::AssertValid()const \n8755 void CDaoQueryDef::AssertValid()const \n8756 void CDaoRecordset::AssertValid()const \n8757 void CDaoRecordView::AssertValid()const \n8758 void CDaoTableDef::AssertValid()const \n8759 void CDaoWorkspace::AssertValid()const \n8760 void CDaoWorkspace::BeginTrans()\n8761 void CDaoRecordset::BindFields()\n8762 void CDaoRecordset::BindParameters()\n8763 void CDaoRecordset::BuildParameterList()\n8764 void CDaoRecordset::BuildSelectList()\n8765 void CDaoRecordset::BuildSQL()\n8766 int CDaoRecordset::CanAppend()const \n8767 int CDaoRecordset::CanBookmark()\n8768 void CDaoRecordset::CancelUpdate()\n8769 int CDaoRecordset::CanRestart()\n8770 int CDaoRecordset::CanScroll()const \n8771 int CDaoDatabase::CanTransact()\n8772 int CDaoRecordset::CanTransact()\n8773 int CDaoDatabase::CanUpdate()\n8774 int CDaoQueryDef::CanUpdate()\n8775 int CDaoRecordset::CanUpdate()const \n8776 int CDaoTableDef::CanUpdate()\n8777 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8778 void CDaoRecordset::ClearFieldStatusFlags()\n8779 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8780 void CDaoDatabase::Close()\n8781 void CDaoQueryDef::Close()\n8782 void CDaoRecordset::Close()\n8783 void CDaoTableDef::Close()\n8784 void CDaoWorkspace::Close()\n8785 void CDaoWorkspace::CommitTrans()\n8786 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n8787 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n8788 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8789 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8790 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n8791 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n8792 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n8793 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n8794 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8795 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n8796 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8797 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8798 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n8799 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8800 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8801 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8802 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8803 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8804 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8805 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8806 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8807 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8808 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8809 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8810 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8811 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8812 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8813 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8814 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8815 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8816 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8817 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8818 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8819 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n8820 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n8821 void CDaoRecordset::Delete()\n8822 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8823 void CDaoTableDef::DeleteField(int)\n8824 void CDaoTableDef::DeleteField(wchar_t const *)\n8825 void CDaoTableDef::DeleteIndex(int)\n8826 void CDaoTableDef::DeleteIndex(wchar_t const *)\n8827 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n8828 void CDaoDatabase::DeleteRelation(wchar_t const *)\n8829 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n8830 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n8831 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n8832 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n8833 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n8834 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n8835 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n8836 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n8837 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n8838 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n8839 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n8840 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n8841 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8842 void CDaoDatabase::Dump(CDumpContext &)const \n8843 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8844 void CDaoErrorInfo::Dump(CDumpContext &)const \n8845 void CDaoFieldInfo::Dump(CDumpContext &)const \n8846 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8847 void CDaoIndexInfo::Dump(CDumpContext &)const \n8848 void CDaoParameterInfo::Dump(CDumpContext &)const \n8849 void CDaoQueryDef::Dump(CDumpContext &)const \n8850 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8851 void CDaoRecordset::Dump(CDumpContext &)const \n8852 void CDaoRecordView::Dump(CDumpContext &)const \n8853 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8854 void CDaoRelationInfo::Dump(CDumpContext &)const \n8855 void CDaoTableDef::Dump(CDumpContext &)const \n8856 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8857 void CDaoWorkspace::Dump(CDumpContext &)const \n8858 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8859 void CDaoRecordset::Edit()\n8860 void CDaoDatabase::Execute(wchar_t const *,int)\n8861 void CDaoQueryDef::Execute(int)\n8862 void CDaoRecordset::FillCache(long *,COleVariant *)\n8863 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8864 void CDaoException::FillErrorInfo()\n8865 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8866 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8867 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8868 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8869 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8870 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8871 int CDaoRecordset::Find(long,wchar_t const *)\n8872 int CDaoRecordset::FindFirst(wchar_t const *)\n8873 int CDaoRecordset::FindLast(wchar_t const *)\n8874 int CDaoRecordset::FindNext(wchar_t const *)\n8875 int CDaoRecordset::FindPrev(wchar_t const *)\n8876 void CDaoRecordset::Fixup()\n8877 void CDaoRecordset::FreeCache()\n8878 long CDaoRecordset::GetAbsolutePosition()\n8879 long CDaoTableDef::GetAttributes()\n8880 COleVariant CDaoRecordset::GetBookmark()\n8881 long CDaoRecordset::GetCacheSize()\n8882 COleVariant CDaoRecordset::GetCacheStart()\n8883 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8884 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n8885 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n8886 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n8887 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n8888 void CDaoRecordset::GetDataAndFixupNulls()\n8889 short CDaoWorkspace::GetDatabaseCount()\n8890 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8891 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n8892 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8893 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8894 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8895 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8896 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8897 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n8899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n8900 short CDaoRecordset::GetEditMode()\n8901 short CDaoException::GetErrorCount()\n8902 void CDaoException::GetErrorInfo(int)\n8903 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n8904 short CDaoQueryDef::GetFieldCount()\n8905 short CDaoRecordset::GetFieldCount()\n8906 short CDaoTableDef::GetFieldCount()\n8907 int CDaoRecordset::GetFieldIndex(void *)\n8908 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8909 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8910 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8911 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8912 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8913 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8914 unsigned long CDaoRecordset::GetFieldLength(int)\n8915 COleVariant CDaoRecordset::GetFieldValue(int)\n8916 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n8917 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8918 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n8919 short CDaoRecordset::GetIndexCount()\n8920 short CDaoTableDef::GetIndexCount()\n8921 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8922 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8923 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8924 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8925 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n8926 int CDaoWorkspace::GetIsolateODBCTrans()\n8927 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8928 int CDaoRecordset::GetLockingMode()\n8929 short CDaoWorkspace::GetLoginTimeout()\n8930 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8931 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n8932 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n8933 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n8934 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n8935 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n8936 short CDaoQueryDef::GetODBCTimeout()\n8937 short CDaoQueryDef::GetParameterCount()\n8938 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8939 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n8940 COleVariant CDaoQueryDef::GetParamValue(int)\n8941 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n8942 COleVariant CDaoRecordset::GetParamValue(int)\n8943 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n8944 float CDaoRecordset::GetPercentPosition()\n8945 short CDaoDatabase::GetQueryDefCount()\n8946 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8947 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n8948 short CDaoDatabase::GetQueryTimeout()\n8949 long CDaoRecordset::GetRecordCount()\n8950 long CDaoTableDef::GetRecordCount()\n8951 long CDaoDatabase::GetRecordsAffected()\n8952 long CDaoQueryDef::GetRecordsAffected()\n8953 short CDaoDatabase::GetRelationCount()\n8954 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8955 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n8956 int CDaoQueryDef::GetReturnsRecords()\n8957 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8958 CRuntime* CDaoException::GetRuntimeClass()const \n8959 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8960 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8961 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8962 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8963 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8964 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n8965 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n8966 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n8967 short CDaoDatabase::GetTableDefCount()\n8968 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8969 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n8970 CRuntime* CDaoDatabase::GetThisClass()\n8971 CRuntime* CDaoException::GetThisClass()\n8972 CRuntime* CDaoQueryDef::GetThisClass()\n8973 CRuntime* CDaoRecordset::GetThisClass()\n8974 CRuntime* CDaoRecordView::GetThisClass()\n8975 CRuntime* CDaoTableDef::GetThisClass()\n8976 CRuntime* CDaoWorkspace::GetThisClass()\n8977 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8978 short CDaoQueryDef::GetType()\n8979 short CDaoRecordset::GetType()\n8980 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n8981 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n8982 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n8983 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n8984 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n8985 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n8986 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n8987 short CDaoWorkspace::GetWorkspaceCount()\n8988 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8989 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n8990 void CDaoWorkspace::Idle(int)\n8991 void CDaoWorkspace::InitDatabasesCollection()\n8992 void CDaoException::InitErrorsCollection()\n8993 void CDaoQueryDef::InitFieldsCollection()\n8994 void CDaoRecordset::InitFieldsCollection()\n8995 void CDaoTableDef::InitFieldsCollection()\n8996 void CDaoWorkspace::InitializeEngine()\n8997 void CDaoRecordset::InitIndexesCollection()\n8998 void CDaoTableDef::InitIndexesCollection()\n8999 void CDaoQueryDef::InitParametersCollection()\n9000 void CDaoDatabase::InitQueryDefsCollection()\n9001 void CDaoDatabase::InitRelationsCollection()\n9002 void CDaoDatabase::InitTableDefsCollection()\n9003 void CDaoDatabase::InitWorkspace()\n9004 void CDaoWorkspace::InitWorkspacesCollection()\n9005 int CDaoRecordset::IsBOF()const \n9006 int CDaoRecordset::IsDeleted()const \n9007 int CDaoRecordset::IsEOF()const \n9008 int CDaoRecordset::IsFieldDirty(void *)\n9009 int CDaoRecordset::IsFieldNull(void *)\n9010 int CDaoRecordset::IsFieldNullable(void *)\n9011 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n9012 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n9013 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n9014 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n9015 int CDaoRecordset::IsMatch()\n9016 int CDaoWorkspace::IsNew()const \n9017 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n9018 int CDaoRecordView::IsOnFirstRecord()\n9019 int CDaoRecordView::IsOnLastRecord()\n9020 int CDaoDatabase::IsOpen()const \n9021 int CDaoQueryDef::IsOpen()const \n9022 int CDaoRecordset::IsOpen()const \n9023 int CDaoTableDef::IsOpen()const \n9024 int CDaoWorkspace::IsOpen()const \n9025 int CDaoFieldExchange::IsValidOperation()\n9026 void CDaoRecordset::LoadFields()\n9027 void CDaoRecordset::MarkForAddNew()\n9028 void CDaoRecordset::MarkForEdit()\n9029 void CDaoRecordset::Move(long)\n9030 void CDaoRecordset::MoveFirst()\n9031 void CDaoRecordset::MoveLast()\n9032 void CDaoRecordset::MoveNext()\n9033 void CDaoRecordset::MovePrev()\n9034 void CDaoRecordView::OnInitialUpdate()\n9035 void CDaoRecordView::OnMove(int,int)\n9036 int CDaoRecordView::OnMove(unsigned int)\n9037 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n9038 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n9039 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n9040 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n9041 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n9042 void CDaoQueryDef::Open(wchar_t const *)\n9043 void CDaoRecordset::Open(int,wchar_t const *,int)\n9044 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n9045 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n9046 void CDaoTableDef::Open(wchar_t const *)\n9047 void CDaoWorkspace::Open(wchar_t const *)\n9048 void CDaoTableDef::RefreshLink()\n9049 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n9050 void CDaoRecordset::Requery()\n9051 void CDaoWorkspace::Rollback()\n9052 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n9053 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n9054 void CDaoRecordset::SetAbsolutePosition(long)\n9055 void CDaoTableDef::SetAttributes(long)\n9056 void CDaoRecordset::SetBookmark(COleVariant)\n9057 void CDaoRecordset::SetCacheSize(long)\n9058 void CDaoRecordset::SetCacheStart(COleVariant)\n9059 void CDaoQueryDef::SetConnect(wchar_t const *)\n9060 void CDaoTableDef::SetConnect(wchar_t const *)\n9061 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n9062 void CDaoRecordset::SetCursorAttributes()\n9063 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n9064 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n9065 void CDaoRecordset::SetDirtyFields()\n9066 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n9067 void CDaoRecordset::SetFieldDirty(void *,int)\n9068 void CDaoRecordset::SetFieldNull(void *,int)\n9069 void CDaoFieldExchange::SetFieldType(unsigned int)\n9070 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n9071 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n9072 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n9073 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n9074 void CDaoRecordset::SetFieldValueNull(int)\n9075 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n9076 void CDaoWorkspace::SetIniPath(wchar_t const *)\n9077 void CDaoWorkspace::SetIsolateODBCTrans(int)\n9078 void CDaoRecordset::SetLockingMode(int)\n9079 void CDaoWorkspace::SetLoginTimeout(short)\n9080 void CDaoQueryDef::SetName(wchar_t const *)\n9081 void CDaoTableDef::SetName(wchar_t const *)\n9082 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n9083 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n9084 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n9085 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n9086 void CDaoQueryDef::SetODBCTimeout(short)\n9087 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n9088 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n9089 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n9090 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n9091 void CDaoQueryDef::SetParamValueNull(int)\n9092 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n9093 void CDaoRecordset::SetParamValueNull(int)\n9094 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n9095 void CDaoRecordset::SetPercentPosition(float)\n9096 void CDaoDatabase::SetQueryTimeout(short)\n9097 void CDaoQueryDef::SetReturnsRecords(int)\n9098 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n9099 void CDaoQueryDef::SetSQL(wchar_t const *)\n9100 void CDaoTableDef::SetValidationRule(wchar_t const *)\n9101 void CDaoTableDef::SetValidationText(wchar_t const *)\n9102 void CDaoRecordset::StoreFields()\n9103 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n9104 void CDaoDatabase::ThrowDaoException(int)\n9105 void CDaoQueryDef::ThrowDaoException(int)\n9106 void CDaoRecordset::ThrowDaoException(int)\n9107 void CDaoTableDef::ThrowDaoException(int)\n9108 void CDaoWorkspace::ThrowDaoException(int)\n9109 void ThrowGetRowsDaoException(long)\n9110 void CDaoRecordset::Update()\n9111 CRuntimeconst CDaoDatabase::classCDaoDatabase\n9112 CRuntimeconst CDaoException::classCDaoException\n9113 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n9114 CRuntimeconst CDaoRecordset::classCDaoRecordset\n9115 CRuntimeconst CDaoRecordView::classCDaoRecordView\n9116 CRuntimeconst CDaoTableDef::classCDaoTableDef\n9117 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n9118 CRuntimeconst CDatabase::classCDatabase\n9119 CRuntimeconst CDBException::classCDBException\n9120 CRuntimeconst CLongBinary::classCLongBinary\n9121 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n9122 CRuntimeconst CRecordset::classCRecordset\n9123 CRuntimeconst CRecordView::classCRecordView\n9124 AFX_MSGMAP const CDaoRecordView::messageMap\n9125 AFX_MSGMAP const COleDBRecordView::messageMap\n9126 AFX_MSGMAP const CRecordView::messageMap\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc80.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n258 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n259 unsigned int HashKey<char const *>(char const *)\n260 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n261 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n262 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n263 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n264 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n294 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n295 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n296 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n311 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n312 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n313 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n314 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n315 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n316 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n317 CArchive::CArchive(CFile *,unsigned int,int,void *)\n318 CArchivePropExchange::CArchivePropExchange(CArchive &)\n319 CArchiveStream::CArchiveStream(CArchive *)\n320 CAsyncMonikerFile::CAsyncMonikerFile()\n321 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n322 CAsyncSocket::CAsyncSocket()\n323 CBlobProperty::CBlobProperty(void *)\n324 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n325 CBrush::CBrush(int,unsigned long)\n326 CBrush::CBrush(unsigned long)\n327 CBrush::CBrush(CBitmap *)\n328 CByteArray::CByteArray()\n329 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n330 CClientDC::CClientDC(CWnd *)\n331 CCmdTarget::CCmdTarget()\n332 CCmdUI::CCmdUI()\n333 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n334 CCommandLineInfo::CCommandLineInfo()\n335 CConnectionPoint::CConnectionPoint()\n336 CControlBar::CControlBar()\n337 CControlBarInfo::CControlBarInfo()\n338 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n339 CControlFrameWnd::CControlFrameWnd(COleControl *)\n340 CCtrlView::CCtrlView(char const *,unsigned long)\n341 CDatabase::CDatabase()\n342 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n343 CDataExchange::CDataExchange(CWnd *,int)\n344 CDataSourceControl::CDataSourceControl(COleControlSite *)\n345 CDBException::CDBException(short)\n346 CDBVariant::CDBVariant()\n347 CDC::CDC()\n348 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n349 CDHtmlControlSink::CDHtmlControlSink()\n350 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n351 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n352 CDHtmlDialog::CDHtmlDialog()\n353 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n354 CDialog::CDialog(unsigned int,CWnd *)\n355 CDialog::CDialog(char const *,CWnd *)\n356 CDialog::CDialog()\n357 CDialogBar::CDialogBar()\n358 CDialogTemplate::CDialogTemplate(void *)\n359 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n360 CDocItem::CDocItem()\n361 CDockBar::CDockBar(int)\n362 CDockContext::CDockContext(CControlBar *)\n363 CDockState::CDockState()\n364 CDocManager::CDocManager()\n365 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n366 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n367 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n368 CDocument::CDocument()\n369 CDumpContext::CDumpContext(CFile *)\n370 CDWordArray::CDWordArray()\n371 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n372 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n373 CEditView::CEditView()\n374 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n375 CEnumConnections::CEnumConnections(void const *,unsigned int)\n376 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n377 CEnumFormatEtc::CEnumFormatEtc()\n378 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n379 CException::CException(int)\n380 CException::CException()\n381 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n382 CFile::CFile(void *)\n383 CFile::CFile(char const *,unsigned int)\n384 CFile::CFile()\n385 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n386 CFileFind::CFileFind()\n387 CFindReplaceDialog::CFindReplaceDialog()\n388 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n389 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n390 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n391 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n392 CFontHolder::CFontHolder(IPropertyNotifySink *)\n393 CFormView::CFormView(unsigned int)\n394 CFormView::CFormView(char const *)\n395 CFrameWnd::CFrameWnd()\n396 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n397 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n398 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n399 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n400 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n401 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n402 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n403 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n404 CGopherLocator::CGopherLocator(char const *,unsigned long)\n405 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n406 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n407 CHtmlEditCtrl::CHtmlEditCtrl()\n408 CHtmlEditDoc::CHtmlEditDoc()\n409 CHtmlEditView::CHtmlEditView()\n410 CHtmlView::CHtmlView()\n411 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n412 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n413 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n414 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n415 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n416 CImageList::CImageList()\n417 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n418 CInternetException::CInternetException(unsigned long)\n419 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n420 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n421 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n422 CLongBinary::CLongBinary()\n423 CMapPtrToPtr::CMapPtrToPtr(int)\n424 CMapPtrToWord::CMapPtrToWord(int)\n425 CMapStringToOb::CMapStringToOb(int)\n426 CMapStringToPtr::CMapStringToPtr(int)\n427 CMapStringToString::CMapStringToString(int)\n428 CMapWordToOb::CMapWordToOb(int)\n429 CMapWordToPtr::CMapWordToPtr(int)\n430 CMDIChildWnd::CMDIChildWnd()\n431 CMDIFrameWnd::CMDIFrameWnd()\n432 CMemFile::CMemFile(unsigned int)\n433 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n434 CMetaFileDC::CMetaFileDC()\n435 CMiniDockFrameWnd::CMiniDockFrameWnd()\n436 CMiniFrameWnd::CMiniFrameWnd()\n437 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n438 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n439 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n440 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n441 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n442 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n443 CObArray::CObArray()\n444 CObList::CObList(int)\n445 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n446 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n447 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n448 COleClientItem::COleClientItem(COleDocument *)\n449 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n450 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n451 COleControl::COleControl()\n452 COleControlContainer::COleControlContainer(CWnd *)\n453 COleControlLock::COleControlLock(_GUID const &)\n454 COleControlSite::COleControlSite(COleControlContainer *)\n455 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n456 COleCurrency::COleCurrency(long,long)\n457 COleDataObject::COleDataObject()\n458 COleDataSource::COleDataSource()\n459 COleDialog::COleDialog(CWnd *)\n460 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n461 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n462 COleDispatchDriver::COleDispatchDriver()\n463 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n464 COleDocIPFrameWnd::COleDocIPFrameWnd()\n465 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n466 COleDocument::COleDocument()\n467 COleDropSource::COleDropSource()\n468 COleDropTarget::COleDropTarget()\n469 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n470 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n471 COleIPFrameWnd::COleIPFrameWnd()\n472 COleLinkingDoc::COleLinkingDoc()\n473 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n474 COleMessageFilter::COleMessageFilter()\n475 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n476 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n477 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n478 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n479 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n480 COleResizeBar::COleResizeBar()\n481 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n482 COleSafeArray::COleSafeArray(tagVARIANT const &)\n483 COleSafeArray::COleSafeArray(COleSafeArray const &)\n484 COleSafeArray::COleSafeArray(COleVariant const &)\n485 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n486 COleSafeArray::COleSafeArray(tagVARIANT const *)\n487 COleServerDoc::COleServerDoc()\n488 COleServerItem::COleServerItem(COleServerDoc *,int)\n489 COleStreamFile::COleStreamFile(IStream *)\n490 COleTemplateServer::COleTemplateServer()\n491 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n492 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n493 COleVariant::COleVariant(tagVARIANT const &)\n494 COleVariant::COleVariant(COleVariant const &)\n495 COleVariant::COleVariant(short,unsigned short)\n496 COleVariant::COleVariant(long,unsigned short)\n497 COleVariant::COleVariant(char const *,unsigned short)\n498 COleVariant::COleVariant(_ITEMIDLIST const *)\n499 COleVariant::COleVariant(tagVARIANT const *)\n500 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n501 CPaintDC::CPaintDC(CWnd *)\n502 CPen::CPen(int,int,unsigned long)\n503 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n504 CPictureHolder::CPictureHolder()\n505 CPreviewDC::CPreviewDC()\n506 CPreviewView::CPreviewView()\n507 CPrintDialog::CPrintDialog(tagPDA &)\n508 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n509 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n510 CPrintInfo::CPrintInfo()\n511 CPrintPreviewState::CPrintPreviewState()\n512 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n513 CProperty::CProperty(unsigned long,void * const,unsigned long)\n514 CProperty::CProperty()\n515 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n516 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n517 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n518 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n519 CPropertyPage::CPropertyPage()\n520 CPropertySection::CPropertySection(_GUID)\n521 CPropertySection::CPropertySection()\n522 CPropertySet::CPropertySet(_GUID)\n523 CPropertySet::CPropertySet()\n524 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n525 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n526 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n527 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n528 CPropertySheet::CPropertySheet()\n529 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n530 CPtrArray::CPtrArray()\n531 CPtrList::CPtrList(int)\n532 CReBar::CReBar()\n533 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n534 CRecordset::CRecordset(CDatabase *)\n535 CRecordView::CRecordView(unsigned int)\n536 CRecordView::CRecordView(char const *)\n537 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n538 CReObject::CReObject(CRichEditCntrItem *)\n539 CReObject::CReObject()\n540 CResetPropExchange::CResetPropExchange()\n541 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n542 CRichEditDoc::CRichEditDoc()\n543 CRichEditView::CRichEditView()\n544 CScrollView::CScrollView()\n545 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n546 CSharedFile::CSharedFile(unsigned int,unsigned int)\n547 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n548 CSingleLock::CSingleLock(CSyncObject *,int)\n549 CSocket::CSocket()\n550 CSocketFile::CSocketFile(CSocket *,int)\n551 CSocketWnd::CSocketWnd()\n552 CSplitterWnd::CSplitterWnd()\n553 CStatusBar::CStatusBar()\n554 CStdioFile::CStdioFile(_iobuf *)\n555 CStdioFile::CStdioFile(char const *,unsigned int)\n556 CStdioFile::CStdioFile()\n557 CStringArray::CStringArray()\n558 CStringList::CStringList(int)\n559 CSyncObject::CSyncObject(char const *)\n560 CTestCmdUI::CTestCmdUI()\n561 CThreadSlotData::CThreadSlotData()\n562 CToolBar::CToolBar()\n563 CToolTipCtrl::CToolTipCtrl()\n564 CUIntArray::CUIntArray()\n565 CView::CView()\n566 CWinApp::CWinApp(char const *)\n567 CWindowDC::CWindowDC(CWnd *)\n568 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n569 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n570 CWinThread::CWinThread()\n571 CWnd::CWnd(HWND__ *)\n572 CWnd::CWnd()\n573 CWordArray::CWordArray()\n574 CPreviewView::PAGE_INFO::PAGE_INFO()\n575 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n576 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n577 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n578 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n579 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n580 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n581 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n582 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n583 CAnimateCtrl::~CAnimateCtrl()\n584 CArchive::~CArchive()\n585 CAsyncMonikerFile::~CAsyncMonikerFile()\n586 CAsyncSocket::~CAsyncSocket()\n587 CButton::~CButton()\n588 CByteArray::~CByteArray()\n589 CClientDC::~CClientDC()\n590 CCmdTarget::~CCmdTarget()\n591 CComboBox::~CComboBox()\n592 CComboBoxEx::~CComboBoxEx()\n593 CCommandLineInfo::~CCommandLineInfo()\n594 CConnectionPoint::~CConnectionPoint()\n595 CControlBar::~CControlBar()\n596 CCtrlView::~CCtrlView()\n597 CDatabase::~CDatabase()\n598 CDataSourceControl::~CDataSourceControl()\n599 CDateTimeCtrl::~CDateTimeCtrl()\n600 CDBException::~CDBException()\n601 CDBVariant::~CDBVariant()\n602 CDC::~CDC()\n603 CDHtmlControlSink::~CDHtmlControlSink()\n604 CDHtmlDialog::~CDHtmlDialog()\n605 CDialog::~CDialog()\n606 CDialogBar::~CDialogBar()\n607 CDialogTemplate::~CDialogTemplate()\n608 CDocItem::~CDocItem()\n609 CDockBar::~CDockBar()\n610 CDockContext::~CDockContext()\n611 CDockState::~CDockState()\n612 CDocManager::~CDocManager()\n613 CDocObjectServer::~CDocObjectServer()\n614 CDocObjectServerItem::~CDocObjectServerItem()\n615 CDocTemplate::~CDocTemplate()\n616 CDocument::~CDocument()\n617 CDragListBox::~CDragListBox()\n618 CDWordArray::~CDWordArray()\n619 CDynLinkLibrary::~CDynLinkLibrary()\n620 CEdit::~CEdit()\n621 CEditView::~CEditView()\n622 CEnumArray::~CEnumArray()\n623 CEnumConnections::~CEnumConnections()\n624 CEnumConnPoints::~CEnumConnPoints()\n625 CEnumFormatEtc::~CEnumFormatEtc()\n626 CEnumOleVerb::~CEnumOleVerb()\n627 CEnumUnknown::~CEnumUnknown()\n628 CEvent::~CEvent()\n629 CFile::~CFile()\n630 CFileDialog::~CFileDialog()\n631 CFileFind::~CFileFind()\n632 CFixedAlloc::~CFixedAlloc()\n633 CFixedAllocNoSync::~CFixedAllocNoSync()\n634 CFontHolder::~CFontHolder()\n635 CFrameWnd::~CFrameWnd()\n636 CFtpConnection::~CFtpConnection()\n637 CFtpFileFind::~CFtpFileFind()\n638 CGopherConnection::~CGopherConnection()\n639 CGopherFile::~CGopherFile()\n640 CGopherFileFind::~CGopherFileFind()\n641 CGopherLocator::~CGopherLocator()\n642 CHeaderCtrl::~CHeaderCtrl()\n643 CHotKeyCtrl::~CHotKeyCtrl()\n644 CHtmlControlSite::~CHtmlControlSite()\n645 CHtmlEditCtrl::~CHtmlEditCtrl()\n646 CHtmlEditDoc::~CHtmlEditDoc()\n647 CHtmlEditView::~CHtmlEditView()\n648 CHtmlView::~CHtmlView()\n649 CHttpConnection::~CHttpConnection()\n650 CHttpFile::~CHttpFile()\n651 CImageList::~CImageList()\n652 CInternetConnection::~CInternetConnection()\n653 CInternetException::~CInternetException()\n654 CInternetFile::~CInternetFile()\n655 CInternetSession::~CInternetSession()\n656 CIPAddressCtrl::~CIPAddressCtrl()\n657 CListBox::~CListBox()\n658 CListCtrl::~CListCtrl()\n659 CLongBinary::~CLongBinary()\n660 CMapPtrToPtr::~CMapPtrToPtr()\n661 CMapPtrToWord::~CMapPtrToWord()\n662 CMapStringToOb::~CMapStringToOb()\n663 CMapStringToPtr::~CMapStringToPtr()\n664 CMapStringToString::~CMapStringToString()\n665 CMapWordToOb::~CMapWordToOb()\n666 CMapWordToPtr::~CMapWordToPtr()\n667 CMemFile::~CMemFile()\n668 CMetaFileDC::~CMetaFileDC()\n669 CMiniFrameWnd::~CMiniFrameWnd()\n670 CMonikerFile::~CMonikerFile()\n671 CMonthCalCtrl::~CMonthCalCtrl()\n672 CMultiDocTemplate::~CMultiDocTemplate()\n673 CMultiLock::~CMultiLock()\n674 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n675 CMutex::~CMutex()\n676 CObArray::~CObArray()\n677 CObList::~CObList()\n678 COleBusyDialog::~COleBusyDialog()\n679 COleChangeIconDialog::~COleChangeIconDialog()\n680 COleChangeSourceDialog::~COleChangeSourceDialog()\n681 COleClientItem::~COleClientItem()\n682 COleCntrFrameWnd::~COleCntrFrameWnd()\n683 COleControl::~COleControl()\n684 COleControlContainer::~COleControlContainer()\n685 COleControlLock::~COleControlLock()\n686 COleControlSite::~COleControlSite()\n687 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n688 COleConvertDialog::~COleConvertDialog()\n689 COleDataSource::~COleDataSource()\n690 COleDispatchException::~COleDispatchException()\n691 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n692 COleDocObjectItem::~COleDocObjectItem()\n693 COleDocument::~COleDocument()\n694 COleDropTarget::~COleDropTarget()\n695 COleFrameHook::~COleFrameHook()\n696 COleInsertDialog::~COleInsertDialog()\n697 COleIPFrameWnd::~COleIPFrameWnd()\n698 COleLinkingDoc::~COleLinkingDoc()\n699 COleLinksDialog::~COleLinksDialog()\n700 COleMessageFilter::~COleMessageFilter()\n701 COleObjectFactory::~COleObjectFactory()\n702 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n703 COlePropertyPage::~COlePropertyPage()\n704 COleResizeBar::~COleResizeBar()\n705 COleServerDoc::~COleServerDoc()\n706 COleServerItem::~COleServerItem()\n707 COleStreamFile::~COleStreamFile()\n708 COleUpdateDialog::~COleUpdateDialog()\n709 CPaintDC::~CPaintDC()\n710 CPictureHolder::~CPictureHolder()\n711 CPreviewDC::~CPreviewDC()\n712 CPreviewView::~CPreviewView()\n713 CPrintInfo::~CPrintInfo()\n714 CProcessLocalObject::~CProcessLocalObject()\n715 CProgressCtrl::~CProgressCtrl()\n716 CPropbagPropExchange::~CPropbagPropExchange()\n717 CProperty::~CProperty()\n718 CPropertyPage::~CPropertyPage()\n719 CPropertySection::~CPropertySection()\n720 CPropertySet::~CPropertySet()\n721 CPropertySheet::~CPropertySheet()\n722 CPtrArray::~CPtrArray()\n723 CPtrList::~CPtrList()\n724 CRecentFileList::~CRecentFileList()\n725 CRecordset::~CRecordset()\n726 CRecordView::~CRecordView()\n727 CRectTracker::~CRectTracker()\n728 CReObject::~CReObject()\n729 CRichEditCntrItem::~CRichEditCntrItem()\n730 CRichEditCtrl::~CRichEditCtrl()\n731 CScrollBar::~CScrollBar()\n732 CScrollView::~CScrollView()\n733 CSemaphore::~CSemaphore()\n734 CSharedFile::~CSharedFile()\n735 CSingleDocTemplate::~CSingleDocTemplate()\n736 CSliderCtrl::~CSliderCtrl()\n737 CSocket::~CSocket()\n738 CSocketFile::~CSocketFile()\n739 CSpinButtonCtrl::~CSpinButtonCtrl()\n740 CSplitterWnd::~CSplitterWnd()\n741 CStatic::~CStatic()\n742 CStatusBar::~CStatusBar()\n743 CStatusBarCtrl::~CStatusBarCtrl()\n744 CStdioFile::~CStdioFile()\n745 CStringArray::~CStringArray()\n746 CStringList::~CStringList()\n747 CSyncObject::~CSyncObject()\n748 CTabCtrl::~CTabCtrl()\n749 CThreadLocalObject::~CThreadLocalObject()\n750 CThreadSlotData::~CThreadSlotData()\n751 CToolBar::~CToolBar()\n752 CToolBarCtrl::~CToolBarCtrl()\n753 CToolTipCtrl::~CToolTipCtrl()\n754 CTreeCtrl::~CTreeCtrl()\n755 CUIntArray::~CUIntArray()\n756 CView::~CView()\n757 CWinApp::~CWinApp()\n758 CWindowDC::~CWindowDC()\n759 CWinThread::~CWinThread()\n760 CWnd::~CWnd()\n761 CWordArray::~CWordArray()\n762 void * operator new(unsigned int)\n763 void * CNoTrackObject::operator new(unsigned int)\n764 void operator delete(void *)\n765 void CNoTrackObject::operator delete(void *)\n766 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n767 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n768 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n769 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n770 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n771 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n773 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n774 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n775 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n776 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n777 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n779 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n781 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n782 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n783 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n785 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n786 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n787 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n788 COleCurrency const & COleCurrency::operator=(union tagCY)\n789 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n790 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n791 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n792 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n793 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n794 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n795 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n796 COleVariant const & COleVariant::operator=(COleVariant const &)\n797 COleVariant const & COleVariant::operator=(CByteArray const &)\n798 COleVariant const & COleVariant::operator=(CLongBinary const &)\n799 COleVariant const & COleVariant::operator=(COleCurrency const &)\n800 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n801 COleVariant const & COleVariant::operator=(unsigned char)\n802 COleVariant const & COleVariant::operator=(short)\n803 COleVariant const & COleVariant::operator=(long)\n804 COleVariant const & COleVariant::operator=(float)\n805 COleVariant const & COleVariant::operator=(double)\n806 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n807 COleVariant const & COleVariant::operator=(char const * const)\n808 CArchive & operator>>(CArchive &,CByteArray * &)\n809 CArchive & operator>>(CArchive &,CDocItem * &)\n810 CArchive & operator>>(CArchive &,CDockState * &)\n811 CArchive & operator>>(CArchive &,CDWordArray * &)\n812 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n813 CArchive & operator>>(CArchive &,CMapStringToString * &)\n814 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n815 CArchive & operator>>(CArchive &,CObArray * &)\n816 CArchive & operator>>(CArchive &,CObList * &)\n817 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n818 CArchive & operator>>(CArchive &,CStringArray * &)\n819 CArchive & operator>>(CArchive &,CStringList * &)\n820 CArchive & operator>>(CArchive &,CWordArray * &)\n821 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n822 CArchive & operator>>(CArchive &,COleCurrency &)\n823 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n824 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n825 CArchive & operator>>(CArchive &,COleVariant &)\n826 CArchive & operator>>(CArchive &,ATL::CTime &)\n827 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n828 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n829 CArchive & operator<<(CArchive &,COleCurrency)\n830 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n831 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n832 CArchive & operator<<(CArchive &,COleVariant)\n833 CArchive & operator<<(CArchive &,ATL::CTime)\n834 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n835 CDumpContext & CDumpContext::operator<<(__int64)\n836 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n837 CDumpContext & CDumpContext::operator<<(CObject const &)\n838 CDumpContext & CDumpContext::operator<<(unsigned char)\n839 CDumpContext & CDumpContext::operator<<(unsigned short)\n840 CDumpContext & CDumpContext::operator<<(int)\n841 CDumpContext & CDumpContext::operator<<(unsigned int)\n842 CDumpContext & CDumpContext::operator<<(long)\n843 CDumpContext & CDumpContext::operator<<(unsigned long)\n844 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n845 CDumpContext & CDumpContext::operator<<(HDC__ *)\n846 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n847 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n848 CDumpContext & CDumpContext::operator<<(HWND__ *)\n849 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n850 CDumpContext & CDumpContext::operator<<(char const *)\n851 CDumpContext & CDumpContext::operator<<(CObject const *)\n852 CDumpContext & CDumpContext::operator<<(void const *)\n853 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n854 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n855 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n856 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n857 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n858 int COleSafeArray::operator==(tagVARIANT const &)const \n859 int COleSafeArray::operator==(COleSafeArray const &)const \n860 int COleSafeArray::operator==(COleVariant const &)const \n861 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n862 int COleSafeArray::operator==(tagVARIANT const *)const \n863 int COleVariant::operator==(tagVARIANT const &)const \n864 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n865 char ATL::CSimpleStringT<char,1>::operator[](int)const \n866 void * & CMapPtrToPtr::operator[](void *)\n867 unsigned short & CMapPtrToWord::operator[](void *)\n868 CObject * & CMapStringToOb::operator[](char const *)\n869 void * & CMapStringToPtr::operator[](char const *)\n870 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n871 CObject * & CMapWordToOb::operator[](unsigned short)\n872 void * & CMapWordToPtr::operator[](unsigned short)\n873 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n874 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n875 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n876 ATL::CSimpleStringT<char,1>::operator char const *()const \n877 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n878 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n879 COleCurrency COleCurrency::operator*(long)const \n880 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n881 COleCurrency COleCurrency::operator-()const \n882 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n883 COleCurrency COleCurrency::operator/(long)const \n884 int COleCurrency::operator<(COleCurrency const &)const \n885 int COleCurrency::operator<=(COleCurrency const &)const \n886 int COleCurrency::operator>(COleCurrency const &)const \n887 int COleCurrency::operator>=(COleCurrency const &)const \n888 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n889 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n890 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n891 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n892 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n893 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n894 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n895 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n896 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n897 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n900 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n901 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n902 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n903 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n904 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n906 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n907 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n908 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n909 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n910 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n911 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n912 int _AfxSocketInit(WSAData *)\n913 void CArchive::Abort()\n914 void CFile::Abort()\n915 void CInternetFile::Abort()\n916 void CMemFile::Abort()\n917 void CMirrorFile::Abort()\n918 void COleStreamFile::Abort()\n919 void CSocketFile::Abort()\n920 void CStdioFile::Abort()\n921 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n922 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n923 long CWnd::accDoDefaultAction(tagVARIANT)\n924 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n925 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n926 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n927 void COleSafeArray::AccessData(void * *)\n928 long CWnd::accHitTest(long,long,tagVARIANT *)\n929 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n930 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n931 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n932 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n933 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n934 long CWnd::accSelect(long,tagVARIANT)\n935 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n936 void COleClientItem::Activate(long,CView *,tagMSG *)\n937 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n938 void COleDocObjectItem::ActivateAndShow()\n939 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n940 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n941 void CDocObjectServer::ActivateDocObject()\n942 void COleServerDoc::ActivateDocObject()\n943 void CFrameWnd::ActivateFrame(int)\n944 void CMDIChildWnd::ActivateFrame(int)\n945 int COleServerDoc::ActivateInPlace()\n946 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n947 void CSplitterWnd::ActivateNext(int)\n948 void CWnd::ActivateTopParent()\n949 void CRecentFileList::Add(char const *)\n950 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n951 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n952 int CToolBarCtrl::AddBitmap(int,unsigned int)\n953 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n954 void COleClientItem::AddCachedData(COleDataSource *)\n955 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n956 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n957 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n958 void CDocManager::AddDocTemplate(CDocTemplate *)\n959 void CWinApp::AddDocTemplate(CDocTemplate *)\n960 void CDocTemplate::AddDocument(CDocument *)\n961 void CMultiDocTemplate::AddDocument(CDocument *)\n962 void CSingleDocTemplate::AddDocument(CDocument *)\n963 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n964 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n965 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n966 void COleControl::AddFrameLevelUI()\n967 void CFrameWnd::AddFrameWnd()\n968 __POSITION * CObList::AddHead(CObject *)\n969 void CObList::AddHead(CObList *)\n970 __POSITION * CPtrList::AddHead(void *)\n971 void CPtrList::AddHead(CPtrList *)\n972 void CSimpleList::AddHead(void *)\n973 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n974 __POSITION * CStringList::AddHead(char const *)\n975 void CStringList::AddHead(CStringList *)\n976 void COleDocument::AddItem(CDocItem *)\n977 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n978 void CRecordset::AddNew()\n979 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n980 void CPropertySheet::AddPage(CPropertyPage *)\n981 void CPropertySection::AddProperty(CProperty *)\n982 void CPropertySet::AddProperty(_GUID,CProperty *)\n983 unsigned long CArchiveStream::AddRef()\n984 unsigned long CBlobProperty::AddRef()\n985 unsigned long CBrowserControlSite::AddRef()\n986 unsigned long CDHtmlControlSink::AddRef()\n987 unsigned long CDHtmlElementEventSink::AddRef()\n988 unsigned long CDHtmlEventSink::AddRef()\n989 unsigned long CInnerUnknown::AddRef()\n990 unsigned long COleConnPtContainer::AddRef()\n991 unsigned long COleDispatchImpl::AddRef()\n992 unsigned long COleUILinkInfo::AddRef()\n993 unsigned long CPrintDialogEx::AddRef()\n994 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n995 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n996 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n997 CPropertySection * CPropertySet::AddSection(_GUID)\n998 void CPropertySet::AddSection(CPropertySection *)\n999 void COlePasteSpecialDialog::AddStandardFormats(int)\n1000 int CToolBarCtrl::AddString(unsigned int)\n1001 __POSITION * CObList::AddTail(CObject *)\n1002 void CObList::AddTail(CObList *)\n1003 __POSITION * CPtrList::AddTail(void *)\n1004 void CPtrList::AddTail(CPtrList *)\n1005 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1006 __POSITION * CStringList::AddTail(char const *)\n1007 void CStringList::AddTail(CStringList *)\n1008 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1009 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1010 void CWinApp::AddToRecentFileList(char const *)\n1011 void CDocument::AddView(CView *)\n1012 void CMetaFileDC::AdjustCP(int)\n1013 void CRichEditView::AdjustDialogPosition(CDialog *)\n1014 void CRectTracker::AdjustRect(int,tagRECT *)\n1015 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1016 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1017 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1018 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1019 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1020 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1021 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1022 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1023 void AfxAbort()\n1024 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1025 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1026 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1027 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1028 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1029 void AfxCancelModes(HWND__ *)\n1030 void AfxCheckError(long)\n1031 void AfxClassInit(CRuntime*)\n1032 int AfxComparePath(char const *,char const *)\n1033 int AfxCompareValueByRef(void *,void *,int)\n1034 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1035 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1036 void AfxCopyValueByRef(void *,void *,long *,int)\n1037 void AfxCoreInitModule()\n1038 HDC__ * AfxCreateDC(void *,void *)\n1039 int AfxCriticalInit()\n1040 int AfxCriticalNewHandler(unsigned int)\n1041 void AfxCriticalTerm()\n1042 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1043 AUX_DATA afxData\n1044 void AfxDeleteObject(void * *)\n1045 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1046 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1047 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1048 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1049 long AfxDllCanUnloadNow()\n1050 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1051 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1052 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1053 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1054 void AfxEnableControlContainer(COccManager *)\n1055 int AfxEndDeferRegisterClass(long)\n1056 void AfxEndThread(unsigned int,int)\n1057 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1058 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1059 void AfxFailMaxChars(CDataExchange *,int)\n1060 void AfxFailRadio(CDataExchange *)\n1061 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1062 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1063 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1064 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1065 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1066 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1067 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1068 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1069 int AfxFreeLibrary(HINSTANCE__ *)\n1070 int AfxFullPath(char *,char const *)\n1071 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1072 AFX_MODULE_STATE * AfxGetAppModuleState()\n1073 long AfxGetClassIDFromString(char const *,_GUID *)\n1074 tagMSG * AfxGetCurrentMessage()\n1075 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1076 unsigned long AfxGetDllVersion()\n1077 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1078 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1079 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1080 void * AfxGetHENV()\n1081 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1082 unsigned long AfxGetInternetHandleType(void *)\n1083 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1084 AFX_MODULE_STATE * AfxGetModuleState()\n1085 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1086 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1087 HWND__ * AfxGetParentOwner(HWND__ *)\n1088 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1089 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1090 ATL::IAtlStringMgr * AfxGetStringManager()\n1091 CWinThread * AfxGetThread()\n1092 _AFX_THREAD_STATE * AfxGetThreadState()\n1093 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1094 void AfxGlobalFree(void *)\n1095 int AfxHelpEnabled()\n1096 void AfxHookWindowCreate(CWnd *)\n1097 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1098 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1099 void AfxInitLocalData(HINSTANCE__ *)\n1100 int AfxInitRichEdit()\n1101 int AfxInitRichEdit2()\n1102 void AfxInitThread()\n1103 int AfxInternalIsIdleMessage(tagMSG *)\n1104 int AfxInternalPreTranslateMessage(tagMSG *)\n1105 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1106 int AfxInternalPumpMessage()\n1107 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1108 int AfxIsDescendant(HWND__ *,HWND__ *)\n1109 int AfxIsIdleMessage(tagMSG *)\n1110 int AfxIsValidAddress(void const *,unsigned int,int)\n1111 int AfxIsValidString(wchar_t const *,int)\n1112 int AfxIsValidString(char const *,int)\n1113 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1114 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1115 HINSTANCE__ * AfxLoadLibrary(char const *)\n1116 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1117 int AfxLoadString(unsigned int,char *,unsigned int)\n1118 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1119 void AfxLockGlobals(int)\n1120 void AfxLockTempMaps()\n1121 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1122 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1123 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1124 int AfxOleCanExitApp()\n1125 int AfxOleGetUserCtrl()\n1126 int AfxOleInit()\n1127 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1128 void AfxOleLockApp()\n1129 int AfxOleLockControl(_GUID const &)\n1130 int AfxOleLockControl(char const *)\n1131 void AfxOleOnReleaseAllObjects()\n1132 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1133 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1134 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1135 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1136 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1137 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1138 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1139 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1140 void AfxOleSetUserCtrl(int)\n1141 void AfxOleTerm(int)\n1142 void AfxOleTermOrFreeLib(int,int)\n1143 void AfxOleUnlockAllControls()\n1144 void AfxOleUnlockApp()\n1145 int AfxOleUnlockControl(_GUID const &)\n1146 int AfxOleUnlockControl(char const *)\n1147 int AfxOleUnregisterClass(_GUID const &,char const *)\n1148 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1149 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1150 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1151 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1152 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1153 void AfxPostQuitMessage(int)\n1154 int AfxPreTranslateMessage(tagMSG *)\n1155 long AfxProcessWndProcException(CException *,tagMSG const *)\n1156 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1157 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1158 int AfxPumpMessage()\n1159 unsigned int AfxReadStringLength(CArchive &,int &)\n1160 int AfxRegisterClass(tagWNDCLASSA *)\n1161 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1162 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1163 void AfxResetMsgCache()\n1164 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1165 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1166 void AfxSafeArrayInit(COleSafeArray *)\n1167 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1168 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1169 void AfxSetWindowText(HWND__ *,char const *)\n1170 void AfxSocketTerm()\n1171 void AfxStoreField(CRecordset &,unsigned int,void *)\n1172 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1173 wchar_t * AfxTaskStringA2W(char const *)\n1174 char * AfxTaskStringW2A(wchar_t const *)\n1175 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1176 void AfxTermLocalData(HINSTANCE__ *,int)\n1177 void AfxTermThread(HINSTANCE__ *)\n1178 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1179 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1180 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1181 void AfxThrowArchiveException(int,char const *)\n1182 void AfxThrowDBException(short,CDatabase *,void *)\n1183 void AfxThrowFileException(int,long,char const *)\n1184 void AfxThrowInternetException(unsigned long,unsigned long)\n1185 void AfxThrowInvalidArgException()\n1186 void AfxThrowLastCleanup()\n1187 void AfxThrowMemoryException()\n1188 void AfxThrowNotSupportedException()\n1189 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1190 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1191 void AfxThrowOleException(long)\n1192 void AfxThrowResourceException()\n1193 void AfxThrowUserException()\n1194 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1195 void AfxTlsAddRef()\n1196 void AfxTlsRelease()\n1197 void AfxTrackerTerm()\n1198 void AfxTryCleanup()\n1199 int AfxUnhookWindowCreate()\n1200 void AfxUnlockGlobals(int)\n1201 int AfxUnlockTempMaps(int)\n1202 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1203 void AfxVariantInit(tagVARIANT *)\n1204 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1205 char * AfxW2AHelper(char *,wchar_t const *,int)\n1206 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1207 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1208 void AfxWinTerm()\n1209 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1210 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1211 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1212 void * CFixedAlloc::Alloc()\n1213 void * CFixedAllocNoSync::Alloc()\n1214 unsigned char * CMemFile::Alloc(unsigned long)\n1215 unsigned char * CSharedFile::Alloc(unsigned long)\n1216 void CRecordset::AllocAndCacheFieldInfo()\n1217 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1218 void CDatabase::AllocConnect(unsigned long)\n1219 void COleSafeArray::AllocData()\n1220 void CRecordset::AllocDataCache()\n1221 void COleSafeArray::AllocDescriptor(unsigned long)\n1222 int CControlBar::AllocElements(int,int)\n1223 int CStatusBar::AllocElements(int,int)\n1224 int CRecordset::AllocHstmt()\n1225 void CPropertyPage::AllocPSP(unsigned long)\n1226 void CRecordset::AllocRowset()\n1227 int CThreadSlotData::AllocSlot()\n1228 void CRecordset::AllocStatusArrays()\n1229 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1230 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1231 void * CProperty::AllocValue(unsigned long)\n1232 short COleControl::AmbientAppearance()\n1233 unsigned long COleControl::AmbientBackColor()\n1234 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1235 IFontDisp * COleControl::AmbientFont()\n1236 unsigned long COleControl::AmbientForeColor()\n1237 unsigned long COleControl::AmbientLocaleID()\n1238 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1239 int COleControl::AmbientShowGrabHandles()\n1240 int COleControl::AmbientShowHatching()\n1241 short COleControl::AmbientTextAlign()\n1242 int COleControl::AmbientUIDead()\n1243 int COleControl::AmbientUserMode()\n1244 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1245 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1246 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1247 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1248 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1249 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1250 int CByteArray::Append(CByteArray const &)\n1251 int CDWordArray::Append(CDWordArray const &)\n1252 int CObArray::Append(CObArray const &)\n1253 int CPtrArray::Append(CPtrArray const &)\n1254 int CStringArray::Append(CStringArray const &)\n1255 int CUIntArray::Append(CUIntArray const &)\n1256 int CWordArray::Append(CWordArray const &)\n1257 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1258 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1259 void CRecordset::AppendFilterAndSortSQL()\n1260 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1261 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1262 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1263 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1264 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1265 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1266 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1267 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1268 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1269 long COlePropertyPage::XPropertyPage::Apply()\n1270 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1271 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1272 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1273 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1274 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1275 int CAsyncSocket::AsyncSelect(long)\n1276 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1277 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1278 int CAsyncSocket::Attach(unsigned int,long)\n1279 int CDC::Attach(HDC__ *)\n1280 int CGdiObject::Attach(void *)\n1281 int CImageList::Attach(_IMAGELIST *)\n1282 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1283 int CMenu::Attach(HMENU__ *)\n1284 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1285 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1286 void COleDataObject::Attach(IDataObject *,int)\n1287 void COleSafeArray::Attach(tagVARIANT &)\n1288 void COleStreamFile::Attach(IStream *)\n1289 void COleVariant::Attach(tagVARIANT &)\n1290 int CWnd::Attach(HWND__ *)\n1291 int COleDataObject::AttachClipboard()\n1292 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1293 void CWnd::AttachControlSite(CHandleMap *)\n1294 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1295 void COleClientItem::AttachDataObject(COleDataObject &)const \n1296 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1297 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1298 CPrintDialog * CPrintDialog::AttachOnSetup()\n1299 void COleControlSite::AttachWindow()\n1300 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1301 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1302 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1303 void COleMessageFilter::BeginBusyState()\n1304 int CDragListBox::BeginDrag(CPoint)\n1305 void COleDataObject::BeginEnumFormats()\n1306 void CFrameWnd::BeginModalState()\n1307 int CDatabase::BeginTrans()\n1308 void CCmdTarget::BeginWaitCursor()\n1309 int CAsyncSocket::Bind(unsigned int,char const *)\n1310 void CDataSourceControl::BindColumns()\n1311 void COccManager::BindControls(CWnd *)\n1312 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1313 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1314 void CRecordset::BindFieldsForUpdate()\n1315 unsigned int CRecordset::BindFieldsToColumns()\n1316 void CDatabase::BindParameters(void *)\n1317 unsigned int CRecordset::BindParams(void *)\n1318 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1319 void CDataSourceControl::BindProp(COleControlSite *,int)\n1320 void COleControlSite::BindProperty(long,CWnd *)\n1321 void CWnd::BindProperty(long,CWnd *)\n1322 void COleControl::BoundPropertyChanged(long)\n1323 int COleControl::BoundPropertyRequestEdit(long)\n1324 void CFrameWnd::BringToTop(int)\n1325 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1326 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1327 void CPropertySheet::BuildPropPageArray()\n1328 void CRecordset::BuildSelectSQL()\n1329 int COleControl::BuildSharedMenu()\n1330 int COleDocIPFrameWnd::BuildSharedMenu()\n1331 int COleIPFrameWnd::BuildSharedMenu()\n1332 void CRecordset::BuildSQL(char const *)\n1333 void CRecordset::BuildUpdateSQL()\n1334 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1335 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1336 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1337 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1338 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1339 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1340 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1341 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1342 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1343 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1344 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1345 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1346 CSize CControlBar::CalcFixedLayout(int,int)\n1347 CSize CDialogBar::CalcFixedLayout(int,int)\n1348 CSize CDockBar::CalcFixedLayout(int,int)\n1349 CSize CReBar::CalcFixedLayout(int,int)\n1350 CSize CStatusBar::CalcFixedLayout(int,int)\n1351 CSize CToolBar::CalcFixedLayout(int,int)\n1352 void CControlBar::CalcInsideRect(CRect &,int)const \n1353 void CStatusBar::CalcInsideRect(CRect &,int)const \n1354 CSize CToolBar::CalcLayout(unsigned long,int)\n1355 int CCheckListBox::CalcMinimumItemHeight()\n1356 CSize CPreviewView::CalcPageDisplaySize()\n1357 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1358 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1359 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1360 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1361 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1362 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1363 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1364 int CDHtmlDialog::CanAccessExternal()\n1365 int COleClientItem::CanActivate()\n1366 int CRichEditCntrItem::CanActivate()\n1367 int CSplitterWnd::CanActivateNext(int)\n1368 int CRecordset::CanBookmark()const \n1369 void CDatabase::Cancel()\n1370 void CRecordset::Cancel()\n1371 void CSocket::CancelBlockingCall()\n1372 void CDragListBox::CancelDrag(CPoint)\n1373 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1374 long COleUILinkInfo::CancelLink(unsigned long)\n1375 void CDockContext::CancelLoop()\n1376 void CPropertyPage::CancelToClose()\n1377 void CWnd::CancelToolTips(int)\n1378 void CRecordset::CancelUpdate()\n1379 int CDocument::CanCloseFrame(CFrameWnd *)\n1380 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1381 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1382 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1383 unsigned long CDockContext::CanDock()\n1384 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1385 int CFrameWnd::CanEnterHelpMode()\n1386 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1387 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1388 int COleClientItem::CanPaste()\n1389 int CRichEditCtrl::CanPaste(unsigned int)const \n1390 int CRichEditView::CanPaste()const \n1391 int COleClientItem::CanPasteLink()\n1392 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1393 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1394 void CScrollView::CenterOnPoint(CPoint)\n1395 void CWnd::CenterWindow(CWnd *)\n1396 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1397 int CListBox::CharToItem(unsigned int,unsigned int)\n1398 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1399 int CDatabase::Check(short)const \n1400 int CRecordset::Check(short)const \n1401 int CDialog::CheckAutoCenter()\n1402 int CWnd::CheckAutoCenter()\n1403 void CArchive::CheckCount()\n1404 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1405 void CWnd::CheckDlgButton(int,unsigned int)\n1406 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1407 void COleClientItem::CheckGeneral(long)\n1408 int CDatabase::CheckHstmt(short,void *)const \n1409 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1410 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1411 void COleControlContainer::CheckRadioButton(int,int,int)\n1412 void CWnd::CheckRadioButton(int,int,int)\n1413 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1414 void CRecordset::CheckRowsetError(short)\n1415 void CScrollView::CheckScrollBars(int &,int &)const \n1416 void CPropertyPage::Cleanup()\n1417 void COlePropertyPage::CleanupObjectArray()\n1418 void CDBVariant::Clear()\n1419 void CDockState::Clear()\n1420 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1421 void CRecordset::ClearFieldStatus()\n1422 void CRecordset::ClearNullFieldStatus(unsigned long)\n1423 void CRecordset::ClearNullParamStatus(unsigned long)\n1424 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1425 void CWnd::ClientToScreen(tagRECT *)const \n1426 int COleControl::ClipCaretRect(tagRECT *)\n1427 void CPreviewDC::ClipToPage()\n1428 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1429 long CArchiveStream::Clone(IStream * *)\n1430 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1431 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1432 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1433 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1434 void CArchive::Close()\n1435 void CAsyncMonikerFile::Close()\n1436 void CAsyncSocket::Close()\n1437 void CCachedDataPathProperty::Close()\n1438 void CDatabase::Close()\n1439 void CFile::Close()\n1440 void CFileFind::Close()\n1441 void CInternetConnection::Close()\n1442 void CInternetFile::Close()\n1443 void CInternetSession::Close()\n1444 void CMemFile::Close()\n1445 void CMirrorFile::Close()\n1446 void CMonikerFile::Close()\n1447 void COleClientItem::Close(enum tagOLECLOSE)\n1448 void COleStreamFile::Close()\n1449 void CRecordset::Close()\n1450 void CSocket::Close()\n1451 void CSocketFile::Close()\n1452 void CStdioFile::Close()\n1453 long CDocObjectServer::XOleObject::Close(unsigned long)\n1454 long COleControl::XOleObject::Close(unsigned long)\n1455 long COleServerDoc::XOleObject::Close(unsigned long)\n1456 long COleServerItem::XOleObject::Close(unsigned long)\n1457 void CDocManager::CloseAllDocuments(int)\n1458 void CDocTemplate::CloseAllDocuments(int)\n1459 void CWinApp::CloseAllDocuments(int)\n1460 void CFileFind::CloseContext()\n1461 void CFtpFileFind::CloseContext()\n1462 void CGopherFileFind::CloseContext()\n1463 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1464 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1465 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1466 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1467 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1468 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1469 int CStatusBar::CommandToIndex(unsigned int)const \n1470 int CToolBar::CommandToIndex(unsigned int)const \n1471 long CArchiveStream::Commit(unsigned long)\n1472 void COleClientItem::CommitItem(int)\n1473 void COleDocument::CommitItems(int,IStorage *)\n1474 int CDatabase::CommitTrans()\n1475 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n1476 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1477 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1478 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1479 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1480 void CWinThread::CommonConstruct()\n1481 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1482 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1483 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1484 int CListBox::CompareItem(tagCOMPAREITEM*)\n1485 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1486 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1487 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1488 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1489 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1490 int CAsyncSocket::Connect(char const *,unsigned int)\n1491 int CDatabase::Connect(unsigned long)\n1492 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1493 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1494 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1495 int CSocket::ConnectHelper(sockaddr const *,int)\n1496 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1497 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1498 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1499 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1500 void COleServerDoc::ConnectView(CWnd *,CView *)\n1501 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1502 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1503 void CPropertyPage::Construct(unsigned int,unsigned int)\n1504 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1505 void CPropertyPage::Construct(char const *,unsigned int)\n1506 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1507 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1508 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1509 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1510 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1511 void CRectTracker::Construct()\n1512 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1513 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1514 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1515 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1516 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1517 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1518 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1519 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1520 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1521 int CPropertySheet::ContinueModal()\n1522 int CWnd::ContinueModal()\n1523 void COleControl::ControlInfoChanged()\n1524 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1525 int COleClientItem::ConvertTo(_GUID const &)\n1526 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1527 void CByteArray::Copy(CByteArray const &)\n1528 void CDWordArray::Copy(CDWordArray const &)\n1529 void CObArray::Copy(CObArray const &)\n1530 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1531 void CPtrArray::Copy(CPtrArray const &)\n1532 void CStringArray::Copy(CStringArray const &)\n1533 void CUIntArray::Copy(CUIntArray const &)\n1534 void CWordArray::Copy(CWordArray const &)\n1535 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1536 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1537 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1538 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1539 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1540 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1541 void COleClientItem::CopyToClipboard(int)\n1542 void COleServerItem::CopyToClipboard(int)\n1543 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1544 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n1545 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1546 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1547 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1548 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1549 int CControlFrameWnd::Create(char const *)\n1550 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1551 int CDialog::Create(char const *,CWnd *)\n1552 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1553 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1554 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1555 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1556 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1557 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1558 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1559 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1560 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1561 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1562 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1563 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1564 int CImageList::Create(int,int,unsigned int,int,int)\n1565 int CImageList::Create(unsigned int,int,int,unsigned long)\n1566 int CImageList::Create(CImageList *)\n1567 int CImageList::Create(char const *,int,int,unsigned long)\n1568 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1569 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1570 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1571 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1572 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1573 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1574 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1575 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1576 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1577 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1578 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1579 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1580 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1581 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1582 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1583 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1584 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1585 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1586 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1587 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1589 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1590 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1591 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1592 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1593 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1594 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1595 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1596 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1597 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1598 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1599 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1600 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1601 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1602 IBindHost * CMonikerFile::CreateBindHost()\n1603 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1604 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n1605 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1606 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1607 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1608 void CConnectionPoint::CreateConnectionArray()\n1609 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1610 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1611 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1612 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1613 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1614 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1615 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1616 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1617 int CWnd::CreateControlContainer(COleControlContainer * *)\n1618 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1619 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1620 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1621 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1622 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1623 int CFtpConnection::CreateDirectoryA(char const *)\n1624 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1625 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n1626 int CWnd::CreateDlg(char const *,CWnd *)\n1627 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1628 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1629 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n1631 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1632 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1633 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1634 int CPictureHolder::CreateEmpty()\n1635 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1636 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1637 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1638 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1639 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1640 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1641 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1642 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1643 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1644 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1645 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1646 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1647 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1648 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1649 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1650 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1651 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1652 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1653 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1654 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1655 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1656 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1657 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1658 CControlFrameWnd * COleControl::CreateFrameWindow()\n1659 int CPictureHolder::CreateFromBitmap(unsigned int)\n1660 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1661 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1662 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1663 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1664 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1665 int CPictureHolder::CreateFromIcon(unsigned int)\n1666 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1667 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1668 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1669 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1670 int CDialog::CreateIndirect(void *,CWnd *)\n1671 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1672 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1673 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1674 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1675 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1676 int COleInsertDialog::CreateItem(COleClientItem *)\n1677 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1678 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1679 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1680 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1681 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n1682 CGopherLocator CGopherConnection::CreateLocator(char const *)\n1683 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n1684 int COleStreamFile::CreateMemoryStream(CFileException *)\n1685 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1686 CDocument * CDocTemplate::CreateNewDocument()\n1687 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1688 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1689 CObject * CByteArray::CreateObject()\n1690 CObject * CDC::CreateObject()\n1691 CObject * CDocItem::CreateObject()\n1692 CObject * CDockState::CreateObject()\n1693 CObject * CDWordArray::CreateObject()\n1694 CObject * CEditView::CreateObject()\n1695 CObject * CFrameWnd::CreateObject()\n1696 CObject * CGdiObject::CreateObject()\n1697 CObject * CHtmlEditView::CreateObject()\n1698 CObject * CHtmlView::CreateObject()\n1699 CObject * CImageList::CreateObject()\n1700 CObject * CListView::CreateObject()\n1701 CObject * CMapStringToOb::CreateObject()\n1702 CObject * CMapStringToString::CreateObject()\n1703 CObject * CMapWordToOb::CreateObject()\n1704 CObject * CMDIChildWnd::CreateObject()\n1705 CObject * CMDIFrameWnd::CreateObject()\n1706 CObject * CMenu::CreateObject()\n1707 CObject * CMiniDockFrameWnd::CreateObject()\n1708 CObject * CMiniFrameWnd::CreateObject()\n1709 CObject * CObArray::CreateObject()\n1710 CObject * CObList::CreateObject()\n1711 CObject * COleDocIPFrameWnd::CreateObject()\n1712 CObject * COleIPFrameWnd::CreateObject()\n1713 CObject * CPreviewView::CreateObject()\n1714 CObject * CRichEditCntrItem::CreateObject()\n1715 CObject * CRichEditView::CreateObject()\n1716 CObject * CRuntimeClass::CreateObject()\n1717 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1718 CObject * CRuntimeClass::CreateObject(char const *)\n1719 CObject * CStringArray::CreateObject()\n1720 CObject * CStringList::CreateObject()\n1721 CObject * CTreeView::CreateObject()\n1722 CObject * CWnd::CreateObject()\n1723 CObject * CWordArray::CreateObject()\n1724 void COleControlContainer::CreateOleFont(CFont *)\n1725 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1726 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1727 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1728 int CFont::CreatePointFont(int,char const *,CDC *)\n1729 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n1730 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1731 HDC__ * CPrintDialog::CreatePrinterDC()\n1732 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1733 int CWinApp::CreatePrinterDC(CDC &)\n1734 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1735 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1736 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1737 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1738 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1739 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n1740 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1741 void COleControl::CreateTracker(int,int)\n1742 void COleControl::CreateTracker(int,int,tagRECT const *)\n1743 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1744 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1745 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1746 void COleControl::CreateWindowForSubclassedControl()\n1747 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1748 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1749 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1750 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1751 void DDP_Check(CDataExchange *,int,int &,char const *)\n1752 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n1753 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n1754 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n1755 void DDP_EndText(CDataExchange *,int,short *,char const *)\n1756 void DDP_EndText(CDataExchange *,int,int *,char const *)\n1757 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n1758 void DDP_EndText(CDataExchange *,int,long *,char const *)\n1759 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n1760 void DDP_EndText(CDataExchange *,int,float *,char const *)\n1761 void DDP_EndText(CDataExchange *,int,double *,char const *)\n1762 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1763 void DDP_PostProcessing(CDataExchange *)\n1764 void DDP_Radio(CDataExchange *,int,int &,char const *)\n1765 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n1766 void DDP_Text(CDataExchange *,int,short &,char const *)\n1767 void DDP_Text(CDataExchange *,int,int &,char const *)\n1768 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n1769 void DDP_Text(CDataExchange *,int,long &,char const *)\n1770 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n1771 void DDP_Text(CDataExchange *,int,float &,char const *)\n1772 void DDP_Text(CDataExchange *,int,double &,char const *)\n1773 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n1774 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n1775 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1776 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1777 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1778 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1779 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1780 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1781 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1782 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1783 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1784 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1785 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1786 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1787 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1788 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1789 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1790 void DDX_CBIndex(CDataExchange *,int,int &)\n1791 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1792 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1793 void DDX_Check(CDataExchange *,int,int &)\n1794 void DDX_Control(CDataExchange *,int,CWnd &)\n1795 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1796 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1797 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1798 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1799 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1800 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1801 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n1802 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n1803 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n1804 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n1805 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n1806 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n1807 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n1808 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n1809 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n1810 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n1811 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n1812 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n1813 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1814 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n1815 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n1816 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n1817 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n1818 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n1819 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n1820 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1821 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n1822 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n1823 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n1824 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n1825 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n1826 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n1827 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1828 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1829 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1830 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1831 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1832 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1833 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1834 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1835 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1836 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1837 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1838 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1839 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1840 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1841 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1842 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1843 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1844 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1845 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1846 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1847 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1848 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n1849 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1850 void DDX_LBIndex(CDataExchange *,int,int &)\n1851 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1852 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1853 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1854 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1855 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1856 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1857 void DDX_OCBool(CDataExchange *,int,long,int &)\n1858 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1859 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1860 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1861 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1862 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1863 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1864 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1865 void DDX_OCInt(CDataExchange *,int,long,int &)\n1866 void DDX_OCInt(CDataExchange *,int,long,long &)\n1867 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1868 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1869 void DDX_OCShort(CDataExchange *,int,long,short &)\n1870 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1871 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1872 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1873 void DDX_Radio(CDataExchange *,int,int &)\n1874 void DDX_Scroll(CDataExchange *,int,int &)\n1875 void DDX_Slider(CDataExchange *,int,int &)\n1876 void DDX_Text(CDataExchange *,int,__int64 &)\n1877 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1878 void DDX_Text(CDataExchange *,int,unsigned char &)\n1879 void DDX_Text(CDataExchange *,int,short &)\n1880 void DDX_Text(CDataExchange *,int,int &)\n1881 void DDX_Text(CDataExchange *,int,unsigned int &)\n1882 void DDX_Text(CDataExchange *,int,long &)\n1883 void DDX_Text(CDataExchange *,int,unsigned long &)\n1884 void DDX_Text(CDataExchange *,int,float &)\n1885 void DDX_Text(CDataExchange *,int,double &)\n1886 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1887 void DDX_Text(CDataExchange *,int,_GUID &)\n1888 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1889 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1890 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1891 void DDX_Text(CDataExchange *,int,tagDEC &)\n1892 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1893 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1894 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1895 void DDX_Text(CDataExchange *,int,char *,int)\n1896 void COleClientItem::Deactivate()\n1897 long COlePropertyPage::XPropertyPage::Deactivate()\n1898 int COleServerDoc::DeactivateAndUndo()\n1899 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1900 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1901 void COleClientItem::DeactivateUI()\n1902 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n1903 long CWnd::Default()\n1904 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1905 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1906 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n1907 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n1908 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n1909 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1910 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1911 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1912 void CControlBar::DelayShow(int)\n1913 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1914 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1915 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n1916 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n1917 void CException::Delete()\n1918 void COleClientItem::Delete(int)\n1919 void CRecordset::Delete()\n1920 void CWinThread::Delete()\n1921 void CSplitterWnd::DeleteColumn(int)\n1922 void CDocument::DeleteContents()\n1923 void CEditView::DeleteContents()\n1924 void CHtmlEditDoc::DeleteContents()\n1925 void COleDocument::DeleteContents()\n1926 void COleServerDoc::DeleteContents()\n1927 void CRichEditDoc::DeleteContents()\n1928 void CRichEditView::DeleteContents()\n1929 int CDC::DeleteDC()\n1930 int CImageList::DeleteImageList()\n1931 void CComboBox::DeleteItem(tagDELETEITEM*)\n1932 int CComboBoxEx::DeleteItem(int)\n1933 void CListBox::DeleteItem(tagDELETEITEM*)\n1934 int CGdiObject::DeleteObject()\n1935 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1936 void CSplitterWnd::DeleteRow(int)\n1937 void CHandleMap::DeleteTemp()\n1938 void CDC::DeleteTempMap()\n1939 void CGdiObject::DeleteTempMap()\n1940 void CImageList::DeleteTempMap()\n1941 void CMenu::DeleteTempMap()\n1942 void CWnd::DeleteTempMap()\n1943 void CRichEditDoc::DeleteUnmarkedItems()const \n1944 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1945 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1946 void CSplitterWnd::DeleteView(int,int)\n1947 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1948 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1949 void COleSafeArray::Destroy()\n1950 int COleControlSite::DestroyControl()\n1951 void COleSafeArray::DestroyData()\n1952 void COleSafeArray::DestroyDescriptor()\n1953 void CFrameWnd::DestroyDockBars()\n1954 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1955 int CMenu::DestroyMenu()\n1956 void CDHtmlDialog::DestroyModeless()\n1957 void COleControl::DestroySharedMenu()\n1958 void COleDocIPFrameWnd::DestroySharedMenu()\n1959 void COleIPFrameWnd::DestroySharedMenu()\n1960 int CToolTipCtrl::DestroyToolTipCtrl()\n1961 void COleControl::DestroyTracker()\n1962 int CControlBar::DestroyWindow()\n1963 int CMDIChildWnd::DestroyWindow()\n1964 int CWnd::DestroyWindow()\n1965 unsigned int CAsyncSocket::Detach()\n1966 HDC__ * CDC::Detach()\n1967 void * CDialogTemplate::Detach()\n1968 void * CGdiObject::Detach()\n1969 _IMAGELIST * CImageList::Detach()\n1970 unsigned char * CMemFile::Detach()\n1971 HMENU__ * CMenu::Detach()\n1972 int CMonikerFile::Detach(CFileException *)\n1973 IDataObject * COleDataObject::Detach()\n1974 tagVARIANT COleSafeArray::Detach()\n1975 IStream * COleStreamFile::Detach()\n1976 tagVARIANT COleVariant::Detach()\n1977 void * CSharedFile::Detach()\n1978 HDC__ * CWindowlessDC::Detach()\n1979 HWND__ * CWnd::Detach()\n1980 IDispatch * COleDispatchDriver::DetachDispatch()\n1981 void CAsyncSocket::DetachHandle(unsigned int,int)\n1982 void COleControlSite::DetachWindow()\n1983 void CWinApp::DevModeChange(char *)\n1984 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1985 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1986 int COleServerDoc::DiscardUndoState()\n1987 long COleClientItem::XOleIPSite::DiscardUndoState()\n1988 long COleControlSite::XOleIPSite::DiscardUndoState()\n1989 void COleDispatchImpl::Disconnect()\n1990 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1991 void CDHtmlDialog::DisconnectDHtmlEvents()\n1992 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1993 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1994 void CDocument::DisconnectViews()\n1995 void CWinThread::DispatchThreadMessage(tagMSG *)\n1996 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1997 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n1998 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1999 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2000 void CAsyncSocket::DoCallBack(unsigned int,long)\n2001 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2002 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2003 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2004 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2005 void COleControl::DoClick()\n2006 int COleFrameHook::DoContextSensitiveHelp(int)\n2007 int COleConvertDialog::DoConvert(COleClientItem *)\n2008 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2009 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2010 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2011 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2012 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2013 int COleFrameHook::DoEnableModeless(int)\n2014 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2015 void CRecordset::DoFieldExchange(CFieldExchange *)\n2016 int CDocument::DoFileSave()\n2017 int CSplitterWnd::DoKeyboardSplit()\n2018 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2019 int CColorDialog::DoModal()\n2020 int CDialog::DoModal()\n2021 int CFileDialog::DoModal()\n2022 int CFontDialog::DoModal()\n2023 int COleBusyDialog::DoModal()\n2024 int COleChangeIconDialog::DoModal()\n2025 int COleChangeSourceDialog::DoModal()\n2026 int COleConvertDialog::DoModal()\n2027 int COleInsertDialog::DoModal(unsigned long)\n2028 int COleInsertDialog::DoModal()\n2029 int COleLinksDialog::DoModal()\n2030 int COlePasteSpecialDialog::DoModal()\n2031 int COlePropertiesDialog::DoModal()\n2032 int COleUpdateDialog::DoModal()\n2033 int CPageSetupDialog::DoModal()\n2034 int CPrintDialog::DoModal()\n2035 int CPrintDialogEx::DoModal()\n2036 int CPropertySheet::DoModal()\n2037 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2038 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2039 void CControlBar::DoPaint(CDC *)\n2040 void CDockBar::DoPaint(CDC *)\n2041 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2042 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2043 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2044 int CView::DoPreparePrinting(CPrintInfo *)\n2045 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2046 int CWinApp::DoPrintDialog(CPrintDialog *)\n2047 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2048 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2049 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2050 void COleControl::DoPropExchange(CPropExchange *)\n2051 int CDocument::DoSave(char const *,int)\n2052 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2053 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2054 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2055 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2056 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2057 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2058 long COleControlSite::DoVerb(long,tagMSG *)\n2059 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2060 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2061 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2062 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2063 void CWinApp::DoWaitCursor(int)\n2064 void CPreviewView::DoZoom(unsigned int,CPoint)\n2065 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2066 void CDC::DPtoLP(tagSIZE *)const \n2067 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2068 unsigned int CDragListBox::Dragging(CPoint)\n2069 long COleDropTarget::XDropTarget::DragLeave()\n2070 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2071 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2072 void CRectTracker::Draw(CDC *)const \n2073 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2074 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2075 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2076 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2077 void CControlBar::DrawBorders(CDC *,CRect &)\n2078 void COleControl::DrawContent(CDC *,CRect &)\n2079 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2080 void CDockContext::DrawFocusRect(int)\n2081 void CControlBar::DrawGripper(CDC *,CRect const &)\n2082 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2083 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2084 void CDragListBox::DrawInsert(int)\n2085 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2086 void CButton::DrawItem(tagDRAWITEM*)\n2087 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2088 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2089 void CComboBox::DrawItem(tagDRAWITEM*)\n2090 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2091 void CListBox::DrawItem(tagDRAWITEM*)\n2092 void CListCtrl::DrawItem(tagDRAWITEM*)\n2093 void CListView::DrawItem(tagDRAWITEM*)\n2094 void CMenu::DrawItem(tagDRAWITEM*)\n2095 void CStatic::DrawItem(tagDRAWITEM*)\n2096 void CStatusBar::DrawItem(tagDRAWITEM*)\n2097 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2098 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2099 void COleControl::DrawMetafile(CDC *,CRect &)\n2100 void CDragListBox::DrawSingle(int)\n2101 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2102 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2103 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2104 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2105 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2106 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2107 void CDragListBox::Dropped(int,CPoint)\n2108 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2109 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2110 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2111 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2112 CDumpContext & CDumpContext::DumpAsHex(int)\n2113 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2114 CDumpContext & CDumpContext::DumpAsHex(long)\n2115 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2116 long COleControl::XDataObject::DUnadvise(unsigned long)\n2117 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2118 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2119 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2120 CFile * CFile::Duplicate()const \n2121 CFile * CInternetFile::Duplicate()const \n2122 CFile * CMemFile::Duplicate()const \n2123 CFile * COleStreamFile::Duplicate()const \n2124 CFile * CSocketFile::Duplicate()const \n2125 CFile * CStdioFile::Duplicate()const \n2126 unsigned long const CEditView::dwStyleDefault\n2127 void CRecordset::Edit()\n2128 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2129 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2130 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2131 void ATL::CSimpleStringT<char,1>::Empty()\n2132 void CDBException::Empty()\n2133 void COleDataSource::Empty()\n2134 void CCheckListBox::Enable(int,int)\n2135 void CCmdUI::Enable(int)\n2136 void COleCmdUI::Enable(int)\n2137 void CStatusCmdUI::Enable(int)\n2138 void CTestCmdUI::Enable(int)\n2139 void CToolCmdUI::Enable(int)\n2140 void CCmdTarget::EnableAggregation()\n2141 void CCmdTarget::EnableAutomation()\n2142 void CRecordset::EnableBookmarks()\n2143 void CCmdTarget::EnableConnections()\n2144 void CControlBar::EnableDocking(unsigned long)\n2145 void CFrameWnd::EnableDocking(unsigned long)\n2146 void COleControlSite::EnableDSC()\n2147 long CBrowserControlSite::EnableModeless(int)\n2148 long CDHtmlDialog::EnableModeless(int)\n2149 void CWinApp::EnableModeless(int)\n2150 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2151 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2152 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2153 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2154 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2155 void CWnd::EnableScrollBarCtrl(int,int)\n2156 void CWinApp::EnableShellOpen()\n2157 void COleControl::EnableSimpleFrame()\n2158 void CPropertySheet::EnableStackedTabs(int)\n2159 int CInternetSession::EnableStatusCallback(int)\n2160 int CWnd::EnableToolTips(int)\n2161 int CWnd::EnableTrackingToolTips(int)\n2162 void CCmdTarget::EnableTypeLib()\n2163 int COleControlSite::EnableWindow(int)\n2164 int CWnd::EnableWindow(int)\n2165 void COleMessageFilter::EndBusyState()\n2166 void CAsyncMonikerFile::EndCallbacks()\n2167 long COleLinkingDoc::EndDeferErrors(long)\n2168 void CDialog::EndDialog(int)\n2169 void CPropertyPage::EndDialog(int)\n2170 void CPropertySheet::EndDialog(int)\n2171 void CDockContext::EndDrag()\n2172 void CWnd::EndModalLoop(int)\n2173 void CFrameWnd::EndModalState()\n2174 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2175 void CDockContext::EndResize()\n2176 void CCmdTarget::EndWaitCursor()\n2177 void COleDataObject::EnsureClipboardObject()\n2178 long CWnd::EnsureStdObj()\n2179 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2180 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2181 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2182 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2183 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2184 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2185 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2186 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2187 int COlePropertyPage::EnumControls(HWND__ *,long)\n2188 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2189 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2190 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2191 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2192 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2193 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2194 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2195 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2196 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2197 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2198 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2199 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2200 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2201 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2202 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2203 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2204 void CControlBar::EraseNonClient()\n2205 int CFileException::ErrnoToException(int)\n2206 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2207 int CMetaFileDC::Escape(int,int,char const *,void *)\n2208 int CPreviewDC::Escape(int,int,char const *,void *)\n2209 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2210 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2211 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2212 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2213 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2214 int COleControl::ExchangeExtent(CPropExchange *)\n2215 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2216 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2217 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2218 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2219 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2220 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2221 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2222 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2223 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2224 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2225 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2226 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2227 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2228 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2229 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2230 void COleControl::ExchangeStockProps(CPropExchange *)\n2231 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2232 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2233 int CDC::ExcludeClipRect(int,int,int,int)\n2234 int CDC::ExcludeClipRect(tagRECT const *)\n2235 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2236 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2237 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2238 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2239 int CHtmlEditView::ExecHandler(unsigned int)\n2240 int CWnd::ExecuteDlgInit(void *)\n2241 int CWnd::ExecuteDlgInit(char const *)\n2242 void CRecordset::ExecuteSetPosUpdate()\n2243 void CDatabase::ExecuteSQL(char const *)\n2244 void CRecordset::ExecuteUpdateSQL()\n2245 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2246 void CFrameWnd::ExitHelpMode()\n2247 int COleControlModule::ExitInstance()\n2248 int CWinApp::ExitInstance()\n2249 int CWinThread::ExitInstance()\n2250 unsigned long CCmdTarget::ExternalAddRef()\n2251 void CCmdTarget::ExternalDisconnect()\n2252 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2253 unsigned long CCmdTarget::ExternalRelease()\n2254 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2255 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2256 void CDataExchange::Fail()\n2257 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2258 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2259 void CArchive::FillBuffer(unsigned int)\n2260 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2261 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2262 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2263 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2264 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2265 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2266 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2267 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2268 void CWnd::FilterToolTipMessage(tagMSG *)\n2269 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2270 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2271 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2272 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2273 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2274 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2275 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2276 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2277 int CDockBar::FindBar(CControlBar *,int)\n2278 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2279 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2280 int CFileFind::FindFile(char const *,unsigned long)\n2281 int CFtpFileFind::FindFile(char const *,unsigned long)\n2282 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2283 int CGopherFileFind::FindFile(char const *,unsigned long)\n2284 __POSITION * CObList::FindIndex(int)const \n2285 __POSITION * CPtrList::FindIndex(int)const \n2286 __POSITION * CStringList::FindIndex(int)const \n2287 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2288 int CFileFind::FindNextFileA()\n2289 int CFtpFileFind::FindNextFileA()\n2290 int CGopherFileFind::FindNextFileA()\n2291 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2292 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2293 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2294 int CDHtmlDialog::FindSinkForObject(char const *)\n2295 char const * CRecordset::FindSQLToken(char const *,char const *)\n2296 int CEditView::FindTextA(char const *,int,int)\n2297 int CRichEditView::FindTextA(char const *,int,int,int)\n2298 int CRichEditView::FindTextSimple(char const *,int,int,int)\n2299 int COleClientItem::FinishCreate(long)\n2300 void COleControl::FireError(long,char const *,unsigned int)\n2301 void COleControl::FireEvent(long,unsigned char *,...)\n2302 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2303 void COleControl::FireEventV(long,unsigned char *,char *)\n2304 void CRecordset::Fixups()\n2305 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2306 void CArchive::Flush()\n2307 void CDumpContext::Flush()\n2308 void CFile::Flush()\n2309 void CInternetFile::Flush()\n2310 void CMemFile::Flush()\n2311 void CMonikerFile::Flush()\n2312 void COleStreamFile::Flush()\n2313 void CSocketFile::Flush()\n2314 void CStdioFile::Flush()\n2315 void COleDataSource::FlushClipboard()\n2316 int CRecordset::FlushResultSet()\n2317 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2318 void ATL::CSimpleStringT<char,1>::Fork(int)\n2319 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2320 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2321 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2322 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2323 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n2324 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n2325 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n2326 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2327 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2328 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2329 void COleControl::ForwardActivationMsg(tagMSG *)\n2330 void CAfxStringMgr::Free(ATL::CStringData *)\n2331 void CDatabase::Free()\n2332 void CFixedAlloc::Free(void *)\n2333 void CFixedAllocNoSync::Free(void *)\n2334 void CMemFile::Free(unsigned char *)\n2335 void CSharedFile::Free(unsigned char *)\n2336 void CFixedAlloc::FreeAll()\n2337 void CFixedAllocNoSync::FreeAll()\n2338 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2339 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2340 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2341 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2342 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2343 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2344 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2345 void CRecordset::FreeDataCache()\n2346 void CPlex::FreeDataChain()\n2347 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n2348 void ATL::CSimpleStringT<char,1>::FreeExtra()\n2349 void CByteArray::FreeExtra()\n2350 void CDWordArray::FreeExtra()\n2351 void CObArray::FreeExtra()\n2352 void CPtrArray::FreeExtra()\n2353 void CStringArray::FreeExtra()\n2354 void CUIntArray::FreeExtra()\n2355 void CWordArray::FreeExtra()\n2356 void CObList::FreeNode(CObList::CNode *)\n2357 void CPtrList::FreeNode(CPtrList::CNode *)\n2358 void CStringList::FreeNode(CStringList::CNode *)\n2359 void CRecordset::FreeRowset()\n2360 void CThreadSlotData::FreeSlot(int)\n2361 void CProperty::FreeValue()\n2362 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2363 void COleControlContainer::FreezeAllEvents(int)\n2364 void COleControlSite::FreezeEvents(int)\n2365 long COleControl::XOleControl::FreezeEvents(int)\n2366 int COleClientItem::FreezeLink()\n2367 CDC * CDC::FromHandle(HDC__ *)\n2368 CGdiObject * CGdiObject::FromHandle(void *)\n2369 CObject * CHandleMap::FromHandle(void *)\n2370 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2371 CMenu * CMenu::FromHandle(HMENU__ *)\n2372 CWnd * CWnd::FromHandle(HWND__ *)\n2373 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2374 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2375 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2376 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2377 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2378 CRuntime* CRuntimeClass::FromName(char const *)\n2379 void * CProperty::Get(unsigned long *)\n2380 void * CProperty::Get()\n2381 void * CPropertySection::Get(unsigned long)\n2382 void * CPropertySection::Get(unsigned long,unsigned long *)\n2383 void * CPropertySet::Get(_GUID,unsigned long)\n2384 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2385 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2386 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2387 long CWnd::get_accChildCount(long *)\n2388 long CWnd::XAccessible::get_accChildCount(long *)\n2389 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2390 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2391 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2392 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2393 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2394 long CWnd::get_accFocus(tagVARIANT *)\n2395 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2396 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2397 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2398 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2399 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2400 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2401 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2402 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2403 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2404 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2405 long CWnd::get_accParent(IDispatch * *)\n2406 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2407 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2408 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2409 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2410 long CWnd::get_accSelection(tagVARIANT *)\n2411 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2412 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2413 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2414 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2415 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2416 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2417 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2418 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2419 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2420 long CWnd::GetAccessibleChildCount()\n2421 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2422 unsigned long COleControl::GetActivationPolicy()\n2423 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2424 CDocument * CFrameWnd::GetActiveDocument()\n2425 CFrameWnd * CFrameWnd::GetActiveFrame()\n2426 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2427 int CPropertySheet::GetActiveIndex()const \n2428 CPropertyPage * CPropertySheet::GetActivePage()const \n2429 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2430 CView * CFrameWnd::GetActiveView()const \n2431 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2432 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2433 int CHtmlView::GetAddressBar()const \n2434 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2435 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n2436 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n2437 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2438 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2439 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2440 short COleControl::GetAppearance()\n2441 IDispatch * CHtmlView::GetApplication()const \n2442 HKEY__ * CWinApp::GetAppRegistryKey()\n2443 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2444 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2445 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2446 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2447 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2448 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2449 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2450 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2451 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2452 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2453 unsigned long COleControl::GetBackColor()\n2454 void CControlBar::GetBarInfo(CControlBarInfo *)\n2455 void CDockBar::GetBarInfo(CControlBarInfo *)\n2456 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2457 void * CBlobProperty::GetBlob()\n2458 void CRecordset::GetBookmark(CDBVariant &)\n2459 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2460 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2461 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2462 short COleControl::GetBorderStyle()\n2463 long CDataSourceControl::GetBoundClientRow()\n2464 int CRecordset::GetBoundFieldIndex(void *)\n2465 int CRecordset::GetBoundParamIndex(void *)\n2466 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2467 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n2468 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2469 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n2470 unsigned int CEditView::GetBufferLength()const \n2471 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2472 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2473 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2474 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2475 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2476 int CHtmlView::GetBusy()const \n2477 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2478 unsigned int CToolBar::GetButtonStyle(int)const \n2479 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n2480 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2481 void COleSafeArray::GetByteArray(CByteArray &)\n2482 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2483 unsigned short CPropertySet::GetByteOrder()\n2484 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2485 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2486 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2487 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2488 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2489 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2490 CWnd * COleControl::GetCapture()\n2491 long COleControlSite::XOleIPSite::GetCapture()\n2492 void CFontDialog::GetCharFormat(_charformat &)const \n2493 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n2494 int CCheckListBox::GetCheck(int)\n2495 int CListCtrl::GetCheck(int)const \n2496 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2497 int CWnd::GetCheckedRadioButton(int,int)\n2498 long CBlobProperty::GetClassID(_GUID *)\n2499 void COleClientItem::GetClassID(_GUID *)const \n2500 _GUID CPropertySet::GetClassID()\n2501 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2502 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2503 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2504 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2505 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2506 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2507 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n2508 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2509 void COleControl::GetClientOffset(long *,long *)const \n2510 void COleControl::GetClientRect(tagRECT *)const \n2511 IOleClientSite * COleClientItem::GetClientSite()\n2512 IOleClientSite * COleControl::GetClientSite()\n2513 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2514 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2515 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2516 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2517 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2518 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2519 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2520 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2521 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2522 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2523 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2524 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2525 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2526 COleDataSource * COleDataSource::GetClipboardOwner()\n2527 int CDC::GetClipBox(tagRECT *)const \n2528 int CMetaFileDC::GetClipBox(tagRECT *)const \n2529 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2530 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2531 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2532 int CListCtrl::GetColumnOrderArray(int *,int)\n2533 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2534 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2535 void CDatabase::GetConnectInfo()\n2536 int CConnectionPoint::GetConnectionCount()\n2537 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2538 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2539 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2540 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2541 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2542 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2543 CPtrArray const * CConnectionPoint::GetConnections()\n2544 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2545 IDispatch * CHtmlView::GetContainer()const \n2546 IOleItemContainer * COleDocument::GetContainer()\n2547 IOleItemContainer * COleLinkingDoc::GetContainer()\n2548 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2549 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2550 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2551 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2552 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2553 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2554 COleControlContainer * CWnd::GetControlContainer()\n2555 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n2556 unsigned long COleControl::GetControlFlags()\n2557 void COleControlSite::GetControlInfo()\n2558 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2559 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2560 IUnknown * CCmdTarget::GetControllingUnknown()\n2561 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2562 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n2563 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n2564 void COleControl::GetControlSize(int *,int *)\n2565 int COlePropertyPage::GetControlStatus(unsigned int)\n2566 IUnknown * CWnd::GetControlUnknown()\n2567 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2568 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2569 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n2570 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n2571 int CPrintDialog::GetCopies()const \n2572 int CPrintDialogEx::GetCopies()const \n2573 unsigned long CPropertySection::GetCount()\n2574 unsigned long CPropertySet::GetCount()\n2575 int CFileFind::GetCreationTime(ATL::CTime &)const \n2576 int CFileFind::GetCreationTime(_FILETIME *)const \n2577 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2578 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2579 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2580 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2581 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n2582 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2583 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n2584 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n2585 tagMSG const * CWnd::GetCurrentMessage()\n2586 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2587 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2588 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2589 IUnknown * CDataBoundProperty::GetCursor()\n2590 IUnknown * CDataSourceControl::GetCursor()\n2591 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2592 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2593 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n2594 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n2595 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2596 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2597 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2598 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2599 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2600 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2601 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2602 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2603 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n2604 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2605 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2606 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2607 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2608 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2609 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2610 IDataObject * COleServerItem::GetDataObject()\n2611 COleControl::CControlDataSource * COleControl::GetDataSource()\n2612 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2613 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2614 HACCEL__ * CDocument::GetDefaultAccelerator()\n2615 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2616 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2617 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2618 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n2619 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n2620 short CRecordset::GetDefaultFieldType(short)\n2621 HMENU__ * CDocument::GetDefaultMenu()\n2622 HMENU__ * COleServerDoc::GetDefaultMenu()\n2623 int CPrintDialog::GetDefaults()\n2624 int CPrintDialogEx::GetDefaults()\n2625 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n2626 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2627 unsigned long COleControlSite::GetDefBtnCode()\n2628 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2629 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n2630 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n2631 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n2632 CPoint CScrollView::GetDeviceScrollPosition()const \n2633 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2634 _devicemodeA * CPageSetupDialog::GetDevMode()const \n2635 _devicemodeA * CPrintDialog::GetDevMode()const \n2636 _devicemodeA * CPrintDialogEx::GetDevMode()const \n2637 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2638 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2639 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2640 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2641 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2642 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2643 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2644 int CCmdTarget::GetDispatchIID(_GUID *)\n2645 int COleControl::GetDispatchIID(_GUID *)\n2646 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2647 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2648 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2649 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n2650 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2651 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2652 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2653 int COleControlSite::GetDlgCtrlID()const \n2654 int CWnd::GetDlgCtrlID()const \n2655 CWnd * COleControlContainer::GetDlgItem(int)const \n2656 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2657 CWnd * CWnd::GetDlgItem(int)const \n2658 void CWnd::GetDlgItem(int,HWND__ * *)const \n2659 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2660 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2661 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n2662 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2663 int CWnd::GetDlgItemTextA(int,char *,int)const \n2664 CDockBar * CDockContext::GetDockBar(unsigned long)\n2665 CControlBar * CDockBar::GetDockedControlBar(int)const \n2666 int CDockBar::GetDockedCount()const \n2667 int CDockBar::GetDockedVisibleCount()const \n2668 CFrameWnd * CControlBar::GetDockingFrame()const \n2669 void CFrameWnd::GetDockState(CDockState &)const \n2670 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2671 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2672 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n2673 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2674 int CDocManager::GetDocumentCount()\n2675 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2676 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n2677 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n2678 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n2679 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2680 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2681 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2682 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2683 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2684 IUnknown * CWnd::GetDSCCursor()\n2685 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n2686 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n2687 void COleSafeArray::GetElement(long *,void *)\n2688 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n2689 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n2690 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n2691 wchar_t * CDHtmlDialog::GetElementText(char const *)\n2692 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2693 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2694 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2695 int COleControl::GetEnabled()\n2696 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2697 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2698 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n2699 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n2700 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2701 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2702 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2703 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2704 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2705 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2706 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2707 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2708 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2709 int COleControlSite::GetEventIID(_GUID *)\n2710 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2711 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n2712 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n2713 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2714 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2715 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2716 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2717 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2718 unsigned long COleControlSite::GetExStyle()const \n2719 unsigned long CWnd::GetExStyle()const \n2720 IDispatch * COleControl::GetExtendedControl()\n2721 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2722 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2723 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2724 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2725 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2726 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2727 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2728 long CBrowserControlSite::GetExternal(IDispatch * *)\n2729 long CDHtmlDialog::GetExternal(IDispatch * *)\n2730 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2731 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2732 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2733 short CRecordset::GetFieldIndexByName(char const *)\n2734 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2735 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2736 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2737 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2738 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2739 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2740 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2741 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n2742 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n2743 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n2744 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2745 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n2746 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n2747 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n2748 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n2749 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n2750 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n2751 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n2752 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n2753 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n2754 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n2755 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n2756 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n2757 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2758 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n2759 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n2760 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n2761 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n2762 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2763 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2764 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2765 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2766 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2767 CFrameWnd * COleDocument::GetFirstFrame()\n2768 __POSITION * CDocument::GetFirstViewPosition()const \n2769 CWnd * COleControl::GetFocus()\n2770 long COleControlSite::XOleIPSite::GetFocus()\n2771 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n2772 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n2773 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n2774 IFontDisp * COleControl::GetFont()\n2775 IFontDisp * CFontHolder::GetFontDispatch()\n2776 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2777 HFONT__ * CFontHolder::GetFontHandle()\n2778 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2779 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n2780 unsigned long COleControl::GetForeColor()\n2781 _GUID CPropertySection::GetFormatID()\n2782 unsigned short CPropertySet::GetFormatVersion()\n2783 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n2784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n2785 int CHtmlView::GetFullScreen()const \n2786 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2787 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2788 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n2789 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2790 CBrush * CDC::GetHalftoneBrush()\n2791 unsigned int CRectTracker::GetHandleMask()const \n2792 void CRectTracker::GetHandleRect(int,CRect *)const \n2793 int CRectTracker::GetHandleSize(tagRECT const *)const \n2794 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2795 long CHtmlView::GetHeight()const \n2796 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2797 void CSplitterWnd::GetHitRect(int,CRect &)\n2798 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2799 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2800 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2801 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2802 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n2803 IDispatch * CHtmlView::GetHtmlDocument()const \n2804 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n2805 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n2806 unsigned int COleControl::GetHwnd()\n2807 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2808 HICON__ * COleClientItem::GetIconFromRegistry()const \n2809 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2810 void * COleClientItem::GetIconicMetafile()\n2811 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2812 unsigned long CProperty::GetID()\n2813 int CPropertySection::GetID(char const *,unsigned long *)\n2814 IDataObject * COleDataObject::GetIDataObject(int)\n2815 IDispatch * CCmdTarget::GetIDispatch(int)\n2816 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2817 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2818 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2819 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2820 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2821 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2822 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2823 _GUID const & COleControl::XEventConnPt::GetIID()\n2824 CImageList * CReBarCtrl::GetImageList()const \n2825 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2826 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2827 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2828 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2829 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2830 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2831 CWnd * COleClientItem::GetInPlaceWindow()\n2832 void CSplitterWnd::GetInsideRect(CRect &)const \n2833 IUnknown * CCmdTarget::GetInterface(void const *)\n2834 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2835 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2836 IUnknown * COleControl::GetInterfaceHook(void const *)\n2837 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2838 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2839 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2840 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2841 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2842 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2843 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2844 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2845 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2846 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2847 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2848 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2849 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2850 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2851 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2852 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2853 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2854 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2855 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2856 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2857 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2858 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2859 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2860 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2861 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2862 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2863 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2864 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n2865 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2866 unsigned long CListCtrl::GetItemData(int)const \n2867 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2868 unsigned int CStatusBar::GetItemID(int)const \n2869 unsigned int CToolBar::GetItemID(int)const \n2870 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2871 void COleClientItem::GetItemName(char *)const \n2872 void COleServerDoc::GetItemPosition(tagRECT *)const \n2873 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2874 void CStatusBar::GetItemRect(int,tagRECT *)const \n2875 void CToolBar::GetItemRect(int,tagRECT *)const \n2876 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2877 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2878 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2879 void COleClientItem::GetItemStorage()\n2880 void COleClientItem::GetItemStorageCompound()\n2881 void COleClientItem::GetItemStorageFlat()\n2882 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n2883 int CListCtrl::GetItemText(int,int,char *,int)const \n2884 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2885 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2886 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2887 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2888 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2889 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2890 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2891 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2892 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2893 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2894 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2895 unsigned long CDC::GetLayout()const \n2896 long CRecordset::GetLBFetchSize(long)\n2897 void COleSafeArray::GetLBound(unsigned long,long *)\n2898 long CRecordset::GetLBReallocSize(long)\n2899 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2900 long CHtmlView::GetLeft()const \n2901 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n2902 int ATL::CSimpleStringT<char,1>::GetLength()const \n2903 unsigned __int64 CFile::GetLength()const \n2904 unsigned __int64 CFileFind::GetLength()const \n2905 unsigned __int64 CGopherFileFind::GetLength()const \n2906 unsigned __int64 CInternetFile::GetLength()const \n2907 unsigned __int64 CMemFile::GetLength()const \n2908 unsigned __int64 COleStreamFile::GetLength()const \n2909 unsigned __int64 CSocketFile::GetLength()const \n2910 unsigned __int64 CStdioFile::GetLength()const \n2911 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2912 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2913 int CRichEditCtrl::GetLine(int,char *)const \n2914 int CRichEditCtrl::GetLine(int,char *,int)const \n2915 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n2916 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n2917 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2918 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2919 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2920 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2921 CPtrList * CPropertySection::GetList()\n2922 CPtrList * CPropertySet::GetList()\n2923 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n2924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n2925 CGopherLocator CGopherFileFind::GetLocator()const \n2926 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2927 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2928 long CFieldExchange::GetLongBinarySize(int)\n2929 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2930 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2931 CWnd * CWinThread::GetMainWnd()\n2932 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n2933 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n2934 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2935 int CConnectionPoint::GetMaxConnections()\n2936 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2937 int CHtmlView::GetMenuBar()const \n2938 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n2939 CWnd * CFrameWnd::GetMessageBar()\n2940 CWnd * CMDIChildWnd::GetMessageBar()\n2941 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2942 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2943 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2944 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2945 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2946 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2947 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2948 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2949 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2950 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2951 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2952 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2953 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2954 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2955 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2956 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2957 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2958 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2959 AFX_MSGMAP const * CListView::GetMessageMap()const \n2960 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2961 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2962 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2963 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2964 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2965 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2966 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2967 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2968 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2969 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2970 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2971 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2972 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2973 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2974 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2975 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2976 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2977 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2978 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2979 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2980 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2981 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2982 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2983 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2984 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2985 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2986 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2987 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2988 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2989 AFX_MSGMAP const * CView::GetMessageMap()const \n2990 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2991 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2992 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2993 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2994 long CDataSourceControl::GetMetaData()\n2995 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2996 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2997 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2998 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2999 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3000 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3001 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3002 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3003 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3004 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3005 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3006 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3007 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3008 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3009 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3010 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3011 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3012 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3013 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3014 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3015 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3016 unsigned long COleClientItem::GetNewItemNumber()\n3017 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3018 CDataBoundProperty * CDataBoundProperty::GetNext()\n3019 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3020 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3021 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n3022 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n3023 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3024 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3025 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3026 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3027 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3028 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3029 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3030 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3031 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3032 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3033 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3034 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3035 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3036 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3037 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3038 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3039 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3040 CView * CDocument::GetNextView(__POSITION * &)const \n3041 ATL::CStringData * CAfxStringMgr::GetNilString()\n3042 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3043 void CCmdTarget::GetNotSupported()\n3044 void COleControl::GetNotSupported()\n3045 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n3046 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3047 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3048 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3049 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3050 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n3051 unsigned int CArchive::GetObjectSchema()\n3052 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3053 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3054 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n3055 int CHtmlView::GetOffline()const \n3056 tagOFNA & CFileDialog::GetOFN()\n3057 tagOFNA const & CFileDialog::GetOFN()const \n3058 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3059 IOleObject * COleServerItem::GetOleObject()\n3060 unsigned long COleSafeArray::GetOneDimSize()\n3061 int CDocManager::GetOpenDocumentCount()\n3062 int CWinApp::GetOpenDocumentCount()\n3063 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3064 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3065 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3066 int CHeaderCtrl::GetOrderArray(int *,int)\n3067 unsigned long CPropertySet::GetOSVersion()\n3068 CWnd * COleControl::GetOuterWindow()const \n3069 int COleDocObjectItem::GetPageCount(long *,long *)\n3070 int CPropertySheet::GetPageCount()const \n3071 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3072 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3073 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3074 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3075 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3076 CWnd * CSplitterWnd::GetPane(int,int)const \n3077 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3078 unsigned int CStatusBar::GetPaneStyle(int)const \n3079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n3080 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3081 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3082 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3083 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n3084 IDispatch * CHtmlView::GetParentBrowser()const \n3085 CFrameWnd * CWnd::GetParentFrame()const \n3086 CWnd * CWnd::GetParentOwner()const \n3087 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3088 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n3089 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3090 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3091 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n3092 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n3093 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n3094 unsigned __int64 CFile::GetPosition()const \n3095 unsigned __int64 CMemFile::GetPosition()const \n3096 unsigned __int64 COleStreamFile::GetPosition()const \n3097 unsigned __int64 CSocketFile::GetPosition()const \n3098 unsigned __int64 CStdioFile::GetPosition()const \n3099 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3100 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3101 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3102 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3103 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3104 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3105 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n3106 CFont * CEditView::GetPrinterFont()const \n3107 long CAsyncMonikerFile::GetPriority()const \n3108 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n3109 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n3110 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n3111 int COlePropertyPage::GetPropCheck(char const *,int *)\n3112 COleVariant CHtmlView::GetProperty(char const *)\n3113 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3114 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3115 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3116 CProperty * CPropertySection::GetProperty(unsigned long)\n3117 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3118 void CWnd::GetProperty(long,unsigned short,void *)const \n3119 int COlePropertyPage::GetPropIndex(char const *,int *)\n3120 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3121 int COlePropertyPage::GetPropRadio(char const *,int *)\n3122 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3123 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n3124 int COlePropertyPage::GetPropText(char const *,short *)\n3125 int COlePropertyPage::GetPropText(char const *,int *)\n3126 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n3127 int COlePropertyPage::GetPropText(char const *,long *)\n3128 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n3129 int COlePropertyPage::GetPropText(char const *,float *)\n3130 int COlePropertyPage::GetPropText(char const *,double *)\n3131 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n3132 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n3133 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n3134 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3135 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3136 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3137 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3138 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3139 void CProgressCtrl::GetRange(int &,int &)\n3140 void CSliderCtrl::GetRange(int &,int &)const \n3141 void CSpinButtonCtrl::GetRange(int &,int &)const \n3142 void * CProperty::GetRawValue()\n3143 enum tagREADYSTATE CHtmlView::GetReadyState()const \n3144 long COleControl::GetReadyState()\n3145 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3146 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3147 int COleControl::GetRectInContainer(tagRECT *)\n3148 int CHtmlView::GetRegisterAsBrowser()const \n3149 int CHtmlView::GetRegisterAsDropTarget()const \n3150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n3151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n3152 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3153 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n3154 CView * CCmdTarget::GetRoutingView()\n3155 CView * CCmdTarget::GetRoutingView_()\n3156 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3157 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3158 CRuntime* CArchiveException::GetRuntimeClass()const \n3159 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3160 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3161 CRuntime* CBitmap::GetRuntimeClass()const \n3162 CRuntime* CBitmapButton::GetRuntimeClass()const \n3163 CRuntime* CBrush::GetRuntimeClass()const \n3164 CRuntime* CButton::GetRuntimeClass()const \n3165 CRuntime* CByteArray::GetRuntimeClass()const \n3166 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3167 CRuntime* CCheckListBox::GetRuntimeClass()const \n3168 CRuntime* CClientDC::GetRuntimeClass()const \n3169 CRuntime* CCmdTarget::GetRuntimeClass()const \n3170 CRuntime* CColorDialog::GetRuntimeClass()const \n3171 CRuntime* CComboBox::GetRuntimeClass()const \n3172 CRuntime* CComboBoxEx::GetRuntimeClass()const \n3173 CRuntime* CControlBar::GetRuntimeClass()const \n3174 CRuntime* CCriticalSection::GetRuntimeClass()const \n3175 CRuntime* CCtrlView::GetRuntimeClass()const \n3176 CRuntime* CDatabase::GetRuntimeClass()const \n3177 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3178 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n3179 CRuntime* CDBException::GetRuntimeClass()const \n3180 CRuntime* CDC::GetRuntimeClass()const \n3181 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n3182 CRuntime* CDialog::GetRuntimeClass()const \n3183 CRuntime* CDialogBar::GetRuntimeClass()const \n3184 CRuntime* CDocItem::GetRuntimeClass()const \n3185 CRuntime* CDockBar::GetRuntimeClass()const \n3186 CRuntime* CDockState::GetRuntimeClass()const \n3187 CRuntime* CDocManager::GetRuntimeClass()const \n3188 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3189 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3190 CRuntime* CDocTemplate::GetRuntimeClass()const \n3191 CRuntime* CDocument::GetRuntimeClass()const \n3192 CRuntime* CDragListBox::GetRuntimeClass()const \n3193 CRuntime* CDWordArray::GetRuntimeClass()const \n3194 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3195 CRuntime* CEdit::GetRuntimeClass()const \n3196 CRuntime* CEditView::GetRuntimeClass()const \n3197 CRuntime* CEvent::GetRuntimeClass()const \n3198 CRuntime* CException::GetRuntimeClass()const \n3199 CRuntime* CFile::GetRuntimeClass()const \n3200 CRuntime* CFileDialog::GetRuntimeClass()const \n3201 CRuntime* CFileException::GetRuntimeClass()const \n3202 CRuntime* CFileFind::GetRuntimeClass()const \n3203 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3204 CRuntime* CFont::GetRuntimeClass()const \n3205 CRuntime* CFontDialog::GetRuntimeClass()const \n3206 CRuntime* CFormView::GetRuntimeClass()const \n3207 CRuntime* CFrameWnd::GetRuntimeClass()const \n3208 CRuntime* CFtpConnection::GetRuntimeClass()const \n3209 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3210 CRuntime* CGdiObject::GetRuntimeClass()const \n3211 CRuntime* CGopherConnection::GetRuntimeClass()const \n3212 CRuntime* CGopherFile::GetRuntimeClass()const \n3213 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3214 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3215 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3216 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3217 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3218 CRuntime* CHtmlView::GetRuntimeClass()const \n3219 CRuntime* CHttpConnection::GetRuntimeClass()const \n3220 CRuntime* CHttpFile::GetRuntimeClass()const \n3221 CRuntime* CImageList::GetRuntimeClass()const \n3222 CRuntime* CInternetConnection::GetRuntimeClass()const \n3223 CRuntime* CInternetException::GetRuntimeClass()const \n3224 CRuntime* CInternetFile::GetRuntimeClass()const \n3225 CRuntime* CInternetSession::GetRuntimeClass()const \n3226 CRuntime* CInvalidArgException::GetRuntimeClass()const \n3227 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3228 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3229 CRuntime* CListBox::GetRuntimeClass()const \n3230 CRuntime* CListCtrl::GetRuntimeClass()const \n3231 CRuntime* CListView::GetRuntimeClass()const \n3232 CRuntime* CLongBinary::GetRuntimeClass()const \n3233 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3234 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3235 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3236 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3237 CRuntime* CMapStringToString::GetRuntimeClass()const \n3238 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3239 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3240 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3241 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3242 CRuntime* CMemFile::GetRuntimeClass()const \n3243 CRuntime* CMemoryException::GetRuntimeClass()const \n3244 CRuntime* CMenu::GetRuntimeClass()const \n3245 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3246 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3247 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3248 CRuntime* CMonikerFile::GetRuntimeClass()const \n3249 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3250 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3251 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3252 CRuntime* CMutex::GetRuntimeClass()const \n3253 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3254 CRuntime* CObArray::GetRuntimeClass()const \n3255 CRuntime* CObject::GetRuntimeClass()const \n3256 CRuntime* CObList::GetRuntimeClass()const \n3257 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3258 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3259 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3260 CRuntime* COleClientItem::GetRuntimeClass()const \n3261 CRuntime* COleControl::GetRuntimeClass()const \n3262 CRuntime* COleControlModule::GetRuntimeClass()const \n3263 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3264 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3265 CRuntime* COleDialog::GetRuntimeClass()const \n3266 CRuntime* COleDispatchException::GetRuntimeClass()const \n3267 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3268 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3269 CRuntime* COleDocument::GetRuntimeClass()const \n3270 CRuntime* COleException::GetRuntimeClass()const \n3271 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3272 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3273 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3274 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3275 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3276 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3277 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3278 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3279 CRuntime* COleResizeBar::GetRuntimeClass()const \n3280 CRuntime* COleServerDoc::GetRuntimeClass()const \n3281 CRuntime* COleServerItem::GetRuntimeClass()const \n3282 CRuntime* COleStreamFile::GetRuntimeClass()const \n3283 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3284 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3285 CRuntime* CPaintDC::GetRuntimeClass()const \n3286 CRuntime* CPalette::GetRuntimeClass()const \n3287 CRuntime* CPen::GetRuntimeClass()const \n3288 CRuntime* CPreviewDC::GetRuntimeClass()const \n3289 CRuntime* CPreviewView::GetRuntimeClass()const \n3290 CRuntime* CPrintDialog::GetRuntimeClass()const \n3291 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3292 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3293 CRuntime* CPropertyPage::GetRuntimeClass()const \n3294 CRuntime* CPropertySheet::GetRuntimeClass()const \n3295 CRuntime* CPtrArray::GetRuntimeClass()const \n3296 CRuntime* CPtrList::GetRuntimeClass()const \n3297 CRuntime* CReBar::GetRuntimeClass()const \n3298 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3299 CRuntime* CRecordset::GetRuntimeClass()const \n3300 CRuntime* CRecordView::GetRuntimeClass()const \n3301 CRuntime* CResourceException::GetRuntimeClass()const \n3302 CRuntime* CRgn::GetRuntimeClass()const \n3303 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3304 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3305 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3306 CRuntime* CRichEditView::GetRuntimeClass()const \n3307 CRuntime* CScrollBar::GetRuntimeClass()const \n3308 CRuntime* CScrollView::GetRuntimeClass()const \n3309 CRuntime* CSemaphore::GetRuntimeClass()const \n3310 CRuntime* CSharedFile::GetRuntimeClass()const \n3311 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3312 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3313 CRuntime* CSocket::GetRuntimeClass()const \n3314 CRuntime* CSocketFile::GetRuntimeClass()const \n3315 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3316 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3317 CRuntime* CStatic::GetRuntimeClass()const \n3318 CRuntime* CStatusBar::GetRuntimeClass()const \n3319 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3320 CRuntime* CStdioFile::GetRuntimeClass()const \n3321 CRuntime* CStringArray::GetRuntimeClass()const \n3322 CRuntime* CStringList::GetRuntimeClass()const \n3323 CRuntime* CSyncObject::GetRuntimeClass()const \n3324 CRuntime* CTabCtrl::GetRuntimeClass()const \n3325 CRuntime* CToolBar::GetRuntimeClass()const \n3326 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3327 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3328 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3329 CRuntime* CTreeView::GetRuntimeClass()const \n3330 CRuntime* CUIntArray::GetRuntimeClass()const \n3331 CRuntime* CUserException::GetRuntimeClass()const \n3332 CRuntime* CView::GetRuntimeClass()const \n3333 CRuntime* CWinApp::GetRuntimeClass()const \n3334 CRuntime* CWindowDC::GetRuntimeClass()const \n3335 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3336 CRuntime* CWinThread::GetRuntimeClass()const \n3337 CRuntime* CWnd::GetRuntimeClass()const \n3338 CRuntime* CWordArray::GetRuntimeClass()const \n3339 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3340 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3341 unsigned long * CColorDialog::GetSavedCustomColors()\n3342 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n3343 CSize CDockState::GetScreenSize()\n3344 CScrollBar * CView::GetScrollBarCtrl(int)const \n3345 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3346 void CScrollView::GetScrollBarSizes(CSize &)\n3347 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3348 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3349 int CWnd::GetScrollLimit(int)\n3350 int CWnd::GetScrollPos(int)const \n3351 CPoint CScrollView::GetScrollPosition()const \n3352 void CWnd::GetScrollRange(int,int *,int *)const \n3353 unsigned long CSplitterWnd::GetScrollStyle()const \n3354 CPropertySection * CPropertySet::GetSection(_GUID)\n3355 HKEY__ * CWinApp::GetSectionKey(char const *)\n3356 char const * CPropertySection::GetSectionName()\n3357 void CRichEditCtrl::GetSel(long &,long &)const \n3358 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3359 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3360 void CSliderCtrl::GetSelection(int &,int &)const \n3361 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3362 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n3363 unsigned int COleConvertDialog::GetSelectionType()const \n3364 unsigned int COleInsertDialog::GetSelectionType()const \n3365 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3366 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3367 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3368 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3369 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n3370 int CHtmlView::GetSilent()const \n3371 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3372 unsigned long CPropertySection::GetSize()\n3373 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3374 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3375 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3376 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3377 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3378 CWnd * CSplitterWnd::GetSizingParent()\n3379 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3380 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3381 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3382 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3383 char const * CHtmlEditCtrl::GetStartDocument()\n3384 char const * CHtmlEditView::GetStartDocument()\n3385 __POSITION * CConnectionPoint::GetStartPosition()const \n3386 __POSITION * COleDocument::GetStartPosition()const \n3387 __POSITION * CRichEditDoc::GetStartPosition()const \n3388 int CFile::GetStatus(CFileStatus &)const \n3389 int CFile::GetStatus(char const *,CFileStatus &)\n3390 int CMemFile::GetStatus(CFileStatus &)const \n3391 int COleStreamFile::GetStatus(CFileStatus &)const \n3392 int CHtmlView::GetStatusBar()const \n3393 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n3394 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n3395 IStream * COleStreamFile::GetStream()const \n3396 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n3397 char const * ATL::CSimpleStringT<char,1>::GetString()const \n3398 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3399 unsigned long COleControlSite::GetStyle()const \n3400 unsigned long COleControlSiteOrWnd::GetStyle()const \n3401 unsigned long CWnd::GetStyle()const \n3402 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3403 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3404 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3405 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3406 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3407 wchar_t * COleControl::GetText()\n3408 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n3409 int CStatusBarCtrl::GetText(char *,int,int *)const \n3410 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n3411 long CRecordset::GetTextLen(short,unsigned long)\n3412 int CStatusBarCtrl::GetTextLength(int,int *)const \n3413 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3414 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3415 int CHtmlView::GetTheaterMode()const \n3416 CRuntime* CAnimateCtrl::GetThisClass()\n3417 CRuntime* CArchiveException::GetThisClass()\n3418 CRuntime* CAsyncMonikerFile::GetThisClass()\n3419 CRuntime* CAsyncSocket::GetThisClass()\n3420 CRuntime* CBitmap::GetThisClass()\n3421 CRuntime* CBitmapButton::GetThisClass()\n3422 CRuntime* CBrush::GetThisClass()\n3423 CRuntime* CButton::GetThisClass()\n3424 CRuntime* CByteArray::GetThisClass()\n3425 CRuntime* CCachedDataPathProperty::GetThisClass()\n3426 CRuntime* CCheckListBox::GetThisClass()\n3427 CRuntime* CClientDC::GetThisClass()\n3428 CRuntime* CCmdTarget::GetThisClass()\n3429 CRuntime* CColorDialog::GetThisClass()\n3430 CRuntime* CComboBox::GetThisClass()\n3431 CRuntime* CComboBoxEx::GetThisClass()\n3432 CRuntime* CControlBar::GetThisClass()\n3433 CRuntime* CCriticalSection::GetThisClass()\n3434 CRuntime* CCtrlView::GetThisClass()\n3435 CRuntime* CDatabase::GetThisClass()\n3436 CRuntime* CDataPathProperty::GetThisClass()\n3437 CRuntime* CDateTimeCtrl::GetThisClass()\n3438 CRuntime* CDBException::GetThisClass()\n3439 CRuntime* CDC::GetThisClass()\n3440 CRuntime* CDHtmlDialog::GetThisClass()\n3441 CRuntime* CDialog::GetThisClass()\n3442 CRuntime* CDialogBar::GetThisClass()\n3443 CRuntime* CDocItem::GetThisClass()\n3444 CRuntime* CDockBar::GetThisClass()\n3445 CRuntime* CDockState::GetThisClass()\n3446 CRuntime* CDocManager::GetThisClass()\n3447 CRuntime* CDocObjectServer::GetThisClass()\n3448 CRuntime* CDocObjectServerItem::GetThisClass()\n3449 CRuntime* CDocTemplate::GetThisClass()\n3450 CRuntime* CDocument::GetThisClass()\n3451 CRuntime* CDragListBox::GetThisClass()\n3452 CRuntime* CDWordArray::GetThisClass()\n3453 CRuntime* CDynLinkLibrary::GetThisClass()\n3454 CRuntime* CEdit::GetThisClass()\n3455 CRuntime* CEditView::GetThisClass()\n3456 CRuntime* CEvent::GetThisClass()\n3457 CRuntime* CException::GetThisClass()\n3458 CRuntime* CFile::GetThisClass()\n3459 CRuntime* CFileDialog::GetThisClass()\n3460 CRuntime* CFileException::GetThisClass()\n3461 CRuntime* CFileFind::GetThisClass()\n3462 CRuntime* CFindReplaceDialog::GetThisClass()\n3463 CRuntime* CFont::GetThisClass()\n3464 CRuntime* CFontDialog::GetThisClass()\n3465 CRuntime* CFormView::GetThisClass()\n3466 CRuntime* CFrameWnd::GetThisClass()\n3467 CRuntime* CFtpConnection::GetThisClass()\n3468 CRuntime* CFtpFileFind::GetThisClass()\n3469 CRuntime* CGdiObject::GetThisClass()\n3470 CRuntime* CGopherConnection::GetThisClass()\n3471 CRuntime* CGopherFile::GetThisClass()\n3472 CRuntime* CGopherFileFind::GetThisClass()\n3473 CRuntime* CHeaderCtrl::GetThisClass()\n3474 CRuntime* CHotKeyCtrl::GetThisClass()\n3475 CRuntime* CHtmlEditDoc::GetThisClass()\n3476 CRuntime* CHtmlEditView::GetThisClass()\n3477 CRuntime* CHtmlView::GetThisClass()\n3478 CRuntime* CHttpConnection::GetThisClass()\n3479 CRuntime* CHttpFile::GetThisClass()\n3480 CRuntime* CImageList::GetThisClass()\n3481 CRuntime* CInternetConnection::GetThisClass()\n3482 CRuntime* CInternetException::GetThisClass()\n3483 CRuntime* CInternetFile::GetThisClass()\n3484 CRuntime* CInternetSession::GetThisClass()\n3485 CRuntime* CInvalidArgException::GetThisClass()\n3486 CRuntime* CIPAddressCtrl::GetThisClass()\n3487 CRuntime* CLinkCtrl::GetThisClass()\n3488 CRuntime* CListBox::GetThisClass()\n3489 CRuntime* CListCtrl::GetThisClass()\n3490 CRuntime* CListView::GetThisClass()\n3491 CRuntime* CLongBinary::GetThisClass()\n3492 CRuntime* CMapPtrToPtr::GetThisClass()\n3493 CRuntime* CMapPtrToWord::GetThisClass()\n3494 CRuntime* CMapStringToOb::GetThisClass()\n3495 CRuntime* CMapStringToPtr::GetThisClass()\n3496 CRuntime* CMapStringToString::GetThisClass()\n3497 CRuntime* CMapWordToOb::GetThisClass()\n3498 CRuntime* CMapWordToPtr::GetThisClass()\n3499 CRuntime* CMDIChildWnd::GetThisClass()\n3500 CRuntime* CMDIFrameWnd::GetThisClass()\n3501 CRuntime* CMemFile::GetThisClass()\n3502 CRuntime* CMemoryException::GetThisClass()\n3503 CRuntime* CMenu::GetThisClass()\n3504 CRuntime* CMetaFileDC::GetThisClass()\n3505 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3506 CRuntime* CMiniFrameWnd::GetThisClass()\n3507 CRuntime* CMonikerFile::GetThisClass()\n3508 CRuntime* CMonthCalCtrl::GetThisClass()\n3509 CRuntime* CMultiDocTemplate::GetThisClass()\n3510 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3511 CRuntime* CMutex::GetThisClass()\n3512 CRuntime* CNotSupportedException::GetThisClass()\n3513 CRuntime* CObArray::GetThisClass()\n3514 CRuntime* CObject::GetThisClass()\n3515 CRuntime* CObList::GetThisClass()\n3516 CRuntime* COleBusyDialog::GetThisClass()\n3517 CRuntime* COleChangeIconDialog::GetThisClass()\n3518 CRuntime* COleChangeSourceDialog::GetThisClass()\n3519 CRuntime* COleClientItem::GetThisClass()\n3520 CRuntime* COleControl::GetThisClass()\n3521 CRuntime* COleControlModule::GetThisClass()\n3522 CRuntime* COleConvertDialog::GetThisClass()\n3523 CRuntime* COleDBRecordView::GetThisClass()\n3524 CRuntime* COleDialog::GetThisClass()\n3525 CRuntime* COleDispatchException::GetThisClass()\n3526 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3527 CRuntime* COleDocObjectItem::GetThisClass()\n3528 CRuntime* COleDocument::GetThisClass()\n3529 CRuntime* COleException::GetThisClass()\n3530 CRuntime* COleInsertDialog::GetThisClass()\n3531 CRuntime* COleIPFrameWnd::GetThisClass()\n3532 CRuntime* COleLinkingDoc::GetThisClass()\n3533 CRuntime* COleLinksDialog::GetThisClass()\n3534 CRuntime* COleObjectFactory::GetThisClass()\n3535 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3536 CRuntime* COlePropertiesDialog::GetThisClass()\n3537 CRuntime* COlePropertyPage::GetThisClass()\n3538 CRuntime* COleResizeBar::GetThisClass()\n3539 CRuntime* COleServerDoc::GetThisClass()\n3540 CRuntime* COleServerItem::GetThisClass()\n3541 CRuntime* COleStreamFile::GetThisClass()\n3542 CRuntime* COleUpdateDialog::GetThisClass()\n3543 CRuntime* CPageSetupDialog::GetThisClass()\n3544 CRuntime* CPaintDC::GetThisClass()\n3545 CRuntime* CPalette::GetThisClass()\n3546 CRuntime* CPen::GetThisClass()\n3547 CRuntime* CPreviewDC::GetThisClass()\n3548 CRuntime* CPreviewView::GetThisClass()\n3549 CRuntime* CPrintDialog::GetThisClass()\n3550 CRuntime* CPrintDialogEx::GetThisClass()\n3551 CRuntime* CProgressCtrl::GetThisClass()\n3552 CRuntime* CPropertyPage::GetThisClass()\n3553 CRuntime* CPropertySheet::GetThisClass()\n3554 CRuntime* CPtrArray::GetThisClass()\n3555 CRuntime* CPtrList::GetThisClass()\n3556 CRuntime* CReBar::GetThisClass()\n3557 CRuntime* CReBarCtrl::GetThisClass()\n3558 CRuntime* CRecordset::GetThisClass()\n3559 CRuntime* CRecordView::GetThisClass()\n3560 CRuntime* CResourceException::GetThisClass()\n3561 CRuntime* CRgn::GetThisClass()\n3562 CRuntime* CRichEditCntrItem::GetThisClass()\n3563 CRuntime* CRichEditCtrl::GetThisClass()\n3564 CRuntime* CRichEditDoc::GetThisClass()\n3565 CRuntime* CRichEditView::GetThisClass()\n3566 CRuntime* CScrollBar::GetThisClass()\n3567 CRuntime* CScrollView::GetThisClass()\n3568 CRuntime* CSemaphore::GetThisClass()\n3569 CRuntime* CSharedFile::GetThisClass()\n3570 CRuntime* CSingleDocTemplate::GetThisClass()\n3571 CRuntime* CSliderCtrl::GetThisClass()\n3572 CRuntime* CSocket::GetThisClass()\n3573 CRuntime* CSocketFile::GetThisClass()\n3574 CRuntime* CSpinButtonCtrl::GetThisClass()\n3575 CRuntime* CSplitterWnd::GetThisClass()\n3576 CRuntime* CStatic::GetThisClass()\n3577 CRuntime* CStatusBar::GetThisClass()\n3578 CRuntime* CStatusBarCtrl::GetThisClass()\n3579 CRuntime* CStdioFile::GetThisClass()\n3580 CRuntime* CStringArray::GetThisClass()\n3581 CRuntime* CStringList::GetThisClass()\n3582 CRuntime* CSyncObject::GetThisClass()\n3583 CRuntime* CTabCtrl::GetThisClass()\n3584 CRuntime* CToolBar::GetThisClass()\n3585 CRuntime* CToolBarCtrl::GetThisClass()\n3586 CRuntime* CToolTipCtrl::GetThisClass()\n3587 CRuntime* CTreeCtrl::GetThisClass()\n3588 CRuntime* CTreeView::GetThisClass()\n3589 CRuntime* CUIntArray::GetThisClass()\n3590 CRuntime* CUserException::GetThisClass()\n3591 CRuntime* CView::GetThisClass()\n3592 CRuntime* CWinApp::GetThisClass()\n3593 CRuntime* CWindowDC::GetThisClass()\n3594 CRuntime* CWindowlessDC::GetThisClass()\n3595 CRuntime* CWinThread::GetThisClass()\n3596 CRuntime* CWnd::GetThisClass()\n3597 CRuntime* CWordArray::GetThisClass()\n3598 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3599 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3600 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3601 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3602 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3603 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3604 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3605 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3606 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3607 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3608 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3609 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3610 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3611 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3612 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3613 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3614 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3615 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3616 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3617 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3618 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3619 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3620 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3621 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3622 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3623 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3624 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3625 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3626 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3627 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3628 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3629 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3630 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3631 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3632 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3633 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3634 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3635 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3636 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3637 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3638 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3639 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3640 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3641 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3642 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3643 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3644 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3645 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3646 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3647 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3648 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3649 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3650 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3651 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3652 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3653 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3654 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3655 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3656 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3657 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3658 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3659 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3660 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3661 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3662 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3663 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3664 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3665 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3666 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3667 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3668 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3669 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3670 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3671 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3672 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3673 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3674 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3675 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3676 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3677 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3678 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3679 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3680 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3681 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3682 AFX_MSGMAP const * CView::GetThisMessageMap()\n3683 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3684 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3685 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3686 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3687 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n3688 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3689 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3690 int CHtmlView::GetToolBar()const \n3691 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3692 long CHtmlView::GetTop()const \n3693 int CHtmlView::GetTopLevelContainer()const \n3694 CFrameWnd * CWnd::GetTopLevelFrame()const \n3695 CWnd * CWnd::GetTopLevelOwner()const \n3696 CWnd * CWnd::GetTopLevelParent()const \n3697 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3698 void CRectTracker::GetTrueRect(tagRECT *)const \n3699 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n3700 short CPictureHolder::GetType()\n3701 unsigned long CProperty::GetType()\n3702 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3703 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3704 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3705 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3706 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3707 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3708 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3709 unsigned int CCmdTarget::GetTypeInfoCount()\n3710 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3711 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3712 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3713 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3714 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3715 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3716 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3717 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3718 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3719 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3720 void COleSafeArray::GetUBound(unsigned long,long *)\n3721 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3722 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3723 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3724 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3725 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3726 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3727 void COleControl::GetUserType(char *)\n3728 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3729 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3730 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3731 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3732 void * CMapPtrToPtr::GetValueAt(void *)const \n3733 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n3734 unsigned long CDockState::GetVersion()\n3735 CHtmlEditView * CHtmlEditDoc::GetView()const \n3736 CRichEditView * CRichEditDoc::GetView()const \n3737 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3738 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3739 int CHtmlView::GetVisible()const \n3740 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3741 long CHtmlView::GetWidth()const \n3742 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3743 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3744 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3745 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3746 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3747 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3748 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3749 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3750 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3751 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3752 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3753 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3754 long CWnd::GetWindowedChildCount()\n3755 long CWnd::GetWindowLessChildCount()\n3756 IDropTarget * COleControl::GetWindowlessDropTarget()\n3757 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3758 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3759 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3760 int CWnd::GetWindowTextA(char *,int)const \n3761 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3762 int CWnd::GetWindowTextLengthA()const \n3763 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3764 long COleDropSource::GiveFeedback(unsigned long)\n3765 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3766 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3767 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3768 void CMemFile::GrowFile(unsigned long)\n3769 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3770 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3771 long CDialog::HandleInitDialog(unsigned int,long)\n3772 long CDialogBar::HandleInitDialog(unsigned int,long)\n3773 long CFormView::HandleInitDialog(unsigned int,long)\n3774 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3775 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3776 long CScrollView::HandleMButtonDown(unsigned int,long)\n3777 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3778 int COleControlContainer::HandleSetFocus()\n3779 long CDialog::HandleSetFont(unsigned int,long)\n3780 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3781 long COleControl::XPersistStorage::HandsOffStorage()\n3782 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3783 int COleDocument::HasBlankItems()const \n3784 int CDialogTemplate::HasFont()const \n3785 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3786 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n3787 void * CFile::hFileNull\n3788 void CWinApp::HideApplication()\n3789 void CFileDialog::HideControl(int)\n3790 long CBrowserControlSite::HideUI()\n3791 long CDHtmlDialog::HideUI()\n3792 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3793 void CDC::HIMETRICtoDP(tagSIZE *)const \n3794 void CDC::HIMETRICtoLP(tagSIZE *)const \n3795 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3796 int CRectTracker::HitTest(CPoint)const \n3797 int CSplitterWnd::HitTest(CPoint)const \n3798 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n3799 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3800 int CRectTracker::HitTestHandles(CPoint)const \n3801 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n3802 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n3803 int CSplitterWnd::IdFromRowCol(int,int)const \n3804 void COlePropertyPage::IgnoreApply(unsigned int)\n3805 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3806 int CWinApp::InitApplication()\n3807 long COleControl::XOleCache::InitCache(IDataObject *)\n3808 int CWnd::InitControlContainer(int)\n3809 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3810 long CPrintDialogEx::InitDone()\n3811 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3812 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3813 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3814 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3815 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3816 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3817 void CMapStringToOb::InitHashTable(unsigned int,int)\n3818 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3819 void CMapStringToString::InitHashTable(unsigned int,int)\n3820 void CMapWordToOb::InitHashTable(unsigned int,int)\n3821 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3822 long CDataSourceControl::Initialize()\n3823 void CDHtmlDialog::Initialize()\n3824 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3825 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3826 int CEditView::InitializeReplace()\n3827 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3828 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3829 int COleControlModule::InitInstance()\n3830 int CWinApp::InitInstance()\n3831 int CWinThread::InitInstance()\n3832 void CWinApp::InitLibId()\n3833 void CDockContext::InitLoop()\n3834 int CDialog::InitModalIndirect(void *,CWnd *)\n3835 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3836 long COleControl::XPersistMemory::InitNew()\n3837 long COleControl::XPersistPropertyBag::InitNew()\n3838 long COleControl::XPersistStorage::InitNew(IStorage *)\n3839 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3840 long COleControl::XPersistStreamInit::InitNew()\n3841 void CRecordset::InitRecord()\n3842 void COleControl::InitStockEventMask()\n3843 void COleControl::InitStockPropMask()\n3844 void CSimpleException::InitString()\n3845 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3846 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3847 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n3848 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n3849 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n3850 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n3851 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3852 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3853 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3854 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n3855 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n3856 void CByteArray::InsertAt(int,unsigned char,int)\n3857 void CByteArray::InsertAt(int,CByteArray *)\n3858 void CDWordArray::InsertAt(int,unsigned long,int)\n3859 void CDWordArray::InsertAt(int,CDWordArray *)\n3860 void CObArray::InsertAt(int,CObArray *)\n3861 void CObArray::InsertAt(int,CObject *,int)\n3862 void CPtrArray::InsertAt(int,CPtrArray *)\n3863 void CPtrArray::InsertAt(int,void *,int)\n3864 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n3865 void CStringArray::InsertAt(int,CStringArray const *)\n3866 void CStringArray::InsertAt(int,char const *,int)\n3867 void CUIntArray::InsertAt(int,unsigned int,int)\n3868 void CUIntArray::InsertAt(int,CUIntArray *)\n3869 void CWordArray::InsertAt(int,unsigned short,int)\n3870 void CWordArray::InsertAt(int,CWordArray *)\n3871 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3872 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3873 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n3874 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n3875 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n3876 void CStringArray::InsertEmpty(int,int)\n3877 void CRichEditView::InsertFileAsObject(char const *)\n3878 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n3879 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n3880 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3881 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n3882 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n3883 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3884 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3885 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3886 CFontHolder & COleControl::InternalGetFont()\n3887 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n3888 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3889 unsigned long CCmdTarget::InternalRelease()\n3890 int CDC::IntersectClipRect(int,int,int,int)\n3891 int CDC::IntersectClipRect(tagRECT const *)\n3892 void CCheckListBox::InvalidateCheck(int)\n3893 void COleControl::InvalidateControl(tagRECT const *,int)\n3894 void CCheckListBox::InvalidateItem(int)\n3895 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3896 void COleControl::InvalidateRgn(CRgn *,int)\n3897 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3898 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3899 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3900 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3901 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3902 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3903 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3904 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3905 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3906 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3907 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3908 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3909 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3910 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3911 int CDocItem::IsBlank()const \n3912 int COleServerItem::IsBlank()const \n3913 int CPropertyPage::IsButtonEnabled(int)\n3914 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3915 int COleServerItem::IsConnected()const \n3916 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3917 int COleControlSite::IsDefaultButton()\n3918 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3919 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n3920 int CWnd::IsDialogMessageA(tagMSG *)\n3921 long CBlobProperty::IsDirty()\n3922 long COleLinkingDoc::XPersistFile::IsDirty()\n3923 long COleControl::XPersistMemory::IsDirty()\n3924 long COleControl::XPersistStorage::IsDirty()\n3925 long COleServerDoc::XPersistStorage::IsDirty()\n3926 long COleControl::XPersistStreamInit::IsDirty()\n3927 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3928 unsigned int CWnd::IsDlgButtonChecked(int)const \n3929 int CControlBar::IsDockBar()const \n3930 int CDockBar::IsDockBar()const \n3931 int CFileFind::IsDots()const \n3932 int CGopherFileFind::IsDots()const \n3933 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n3934 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n3935 int CCheckListBox::IsEnabled(int)\n3936 int CDHtmlDialog::IsExternalDispatchSafe()\n3937 int CRecordset::IsFieldDirty(void *)\n3938 int CRecordset::IsFieldNull(void *)\n3939 int CRecordset::IsFieldNullable(void *)\n3940 int CRecordset::IsFieldNullable(unsigned long)const \n3941 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3942 int CRecordset::IsFieldStatusNull(unsigned long)const \n3943 int CFieldExchange::IsFieldType(unsigned int *)\n3944 int CControlBar::IsFloating()const \n3945 int CFrameWnd::IsFrameWnd()const \n3946 int CWnd::IsFrameWnd()const \n3947 int IsHelpKey(tagMSG *)\n3948 int CWinThread::IsIdleMessage(tagMSG *)\n3949 int CCmdTarget::IsInvokeAllowed(long)\n3950 int COleControl::IsInvokeAllowed(long)\n3951 int CRecordset::IsJoin(char const *)\n3952 int CObject::IsKindOf(CRuntimeconst *)const \n3953 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3954 int COccManager::IsLabelControl(CWnd *)\n3955 int COleObjectFactory::IsLicenseValid()\n3956 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3957 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3958 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3959 int CHtmlEditDoc::IsModified()\n3960 int COleClientItem::IsModified()const \n3961 int COleControl::IsModified()\n3962 int COlePropertyPage::IsModified()\n3963 int CRichEditDoc::IsModified()\n3964 int CRecordView::IsOnFirstRecord()\n3965 int CRecordView::IsOnLastRecord()\n3966 int CRecordset::IsOpen()const \n3967 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3968 int CRecordset::IsParamStatusNull(unsigned long)const \n3969 int CRecordset::IsRecordsetUpdatable()\n3970 int CCmdTarget::IsResultExpected()\n3971 int CRichEditView::IsRichEditFormat(unsigned short)\n3972 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3973 int CRichEditView::IsSelected(CObject const *)const \n3974 int CView::IsSelected(CObject const *)const \n3975 int CRecordset::IsSelectQueryUpdatable(char const *)\n3976 int CObject::IsSerializable()const \n3977 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3978 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3979 int CRecordset::IsSQLUpdatable(char const *)\n3980 int COleControl::IsSubclassedControl()\n3981 int CWnd::IsTopParentActive()const \n3982 int CFrameWnd::IsTracking()const \n3983 long CDocObjectServer::XOleObject::IsUpToDate()\n3984 long COleControl::XOleObject::IsUpToDate()\n3985 long COleServerDoc::XOleObject::IsUpToDate()\n3986 long COleServerItem::XOleObject::IsUpToDate()\n3987 int CControlBar::IsVisible()const \n3988 int COleControlSite::IsWindowEnabled()const \n3989 int CWnd::IsWindowEnabled()const \n3990 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3991 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3992 void COleControl::KeyDown(unsigned short *)\n3993 void COleControl::KeyUp(unsigned short *)\n3994 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3995 void CToolBar::Layout()\n3996 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n3997 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n3998 int CRichEditCtrl::LineIndex(int)const \n3999 int CRichEditCtrl::LineLength(int)const \n4000 void CRichEditCtrl::LineScroll(int,int)\n4001 int CDC::LineTo(int,int)\n4002 unsigned long CRichEditView::lMaxSize\n4003 long CBlobProperty::Load(IStream *)\n4004 int CDialogTemplate::Load(char const *)\n4005 void COleControl::Load(char const *,CDataPathProperty &)\n4006 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4007 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4008 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4009 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4010 long COleControl::XPersistStorage::Load(IStorage *)\n4011 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4012 long COleControl::XPersistStreamInit::Load(IStream *)\n4013 int CFrameWnd::LoadAccelTable(char const *)\n4014 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n4015 void CFrameWnd::LoadBarState(char const *)\n4016 int CToolBar::LoadBitmapA(char const *)\n4017 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n4018 void CRecordset::LoadFields()\n4019 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4020 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4021 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4022 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4023 int CDHtmlDialog::LoadFromResource(unsigned int)\n4024 int CDHtmlDialog::LoadFromResource(char const *)\n4025 int CHtmlView::LoadFromResource(unsigned int)\n4026 int CHtmlView::LoadFromResource(char const *)\n4027 void COleDocument::LoadFromStorage()\n4028 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n4029 void CDockState::LoadState(char const *)\n4030 long COleControl::LoadState(IStream *)\n4031 void CWinApp::LoadStdProfileSettings(unsigned int)\n4032 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n4033 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4034 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4035 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n4036 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4037 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4038 int CWinApp::LoadSysPolicies()\n4039 void CDocTemplate::LoadTemplate()\n4040 void CMultiDocTemplate::LoadTemplate()\n4041 int CToolBar::LoadToolBar(char const *)\n4042 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4043 void COleSafeArray::Lock()\n4044 int CSingleLock::Lock(unsigned long)\n4045 int CSyncObject::Lock(unsigned long)\n4046 void CTypeLibCache::Lock()\n4047 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n4048 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n4049 char const * CEditView::LockBuffer()const \n4050 long COleControlContainer::XOleContainer::LockContainer(int)\n4051 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4052 void COleLinkingDoc::LockExternal(int,int)\n4053 int COleControl::LockInPlaceActive(int)\n4054 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4055 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4056 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4057 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4058 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4059 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4060 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4061 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4062 long COleObjectFactory::XClassFactory::LockServer(int)\n4063 int CMapPtrToPtr::Lookup(void *,void * &)const \n4064 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4065 int CMapStringToOb::Lookup(char const *,CObject * &)const \n4066 int CMapStringToPtr::Lookup(char const *,void * &)const \n4067 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4068 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4069 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4070 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4071 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4072 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4073 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4074 int CMapStringToOb::LookupKey(char const *,char const * &)const \n4075 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n4076 int CMapStringToString::LookupKey(char const *,char const * &)const \n4077 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4078 void CDC::LPtoDP(tagSIZE *)const \n4079 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4080 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n4081 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n4082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n4083 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n4084 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n4085 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n4086 void CArchive::MapObject(CObject const *)\n4087 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4088 int COleDialog::MapResult(unsigned int)\n4089 long CPropertyPage::MapWizardResult(long)\n4090 void CRecordset::MarkForAddNew()\n4091 void CRecordset::MarkForUpdate()\n4092 void CRichEditDoc::MarkItemsClear()const \n4093 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n4094 int CFileFind::MatchesMask(unsigned long)const \n4095 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4096 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4097 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4098 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4099 void CListBox::MeasureItem(tagMEASUREITEM*)\n4100 void CMenu::MeasureItem(tagMEASUREITEM*)\n4101 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n4102 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4103 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n4104 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n4105 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4106 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4107 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4108 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4110 void CPreviewDC::MirrorAttributes()\n4111 void CPreviewDC::MirrorFont()\n4112 void CPreviewDC::MirrorMappingMode(int)\n4113 void CPreviewDC::MirrorViewportOrg()\n4114 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4115 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4116 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4117 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4118 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4119 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4120 void CDockContext::Move(CPoint)\n4121 void CRecordset::Move(long,unsigned short)\n4122 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4123 CPoint CDC::MoveTo(int,int)\n4124 void COleControlSite::MoveWindow(int,int,int,int)\n4125 void CWnd::MoveWindow(int,int,int,int,int)\n4126 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4127 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4128 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n4129 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4130 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n4131 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4132 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4133 unsigned int COleDropSource::nDragDelay\n4134 unsigned int COleDropSource::nDragMinDist\n4135 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4136 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4137 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4138 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4139 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4140 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n4141 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4142 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4143 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4144 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4145 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4146 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4147 unsigned int const CEditView::nMaxSize\n4148 int CRectTracker::NormalizeHit(int)const \n4149 void CDataBoundProperty::Notify()\n4150 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4151 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4152 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4153 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4154 void COleServerDoc::NotifyRename(char const *)\n4155 unsigned int COleDropTarget::nScrollDelay\n4156 int COleDropTarget::nScrollInset\n4157 unsigned int COleDropTarget::nScrollInterval\n4158 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n4159 int CDC::OffsetClipRgn(int,int)\n4160 int CDC::OffsetClipRgn(tagSIZE)\n4161 CPoint CDC::OffsetViewportOrg(int,int)\n4162 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4163 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4164 CPoint CDC::OffsetWindowOrg(int,int)\n4165 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4166 void CAsyncSocket::OnAccept(int)\n4167 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4168 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4169 void COleClientItem::OnActivate()\n4170 void COleFrameHook::OnActivate(int)\n4171 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4172 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4173 long COleControl::OnActivateInPlace(int,tagMSG *)\n4174 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4175 long CWnd::OnActivateTopLevel(unsigned int,long)\n4176 void COleClientItem::OnActivateUI()\n4177 long CDocObjectServer::OnActivateView()\n4178 void CFormView::OnActivateView(int,CView *,CView *)\n4179 void CPreviewView::OnActivateView(int,CView *,CView *)\n4180 void CRichEditView::OnActivateView(int,CView *,CView *)\n4181 void CView::OnActivateView(int,CView *,CView *)\n4182 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4183 void CConnectionPoint::OnAdvise(int)\n4184 void COleControl::XEventConnPt::OnAdvise(int)\n4185 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4186 void COleControl::OnAmbientPropertyChange(long)\n4187 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4188 void COleControl::OnAppearanceChanged()\n4189 void CWinApp::OnAppExit()\n4190 int CPropertyPage::OnApply()\n4191 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4192 void CDocObjectServer::OnApplyViewState(CArchive &)\n4193 void COleControl::OnBackColorChanged()\n4194 int CFrameWnd::OnBarCheck(unsigned int)\n4195 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4196 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4197 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4198 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4199 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n4200 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n4201 int COleDropSource::OnBeginDrag(CWnd *)\n4202 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4203 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4204 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4205 void COleControl::OnBorderStyleChanged()\n4206 void CRichEditView::OnBullet()\n4207 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4208 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4209 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4210 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4211 void CCommonDialog::OnCancel()\n4212 void CDialog::OnCancel()\n4213 void CPropertyPage::OnCancel()\n4214 void CRichEditView::OnCancelEditCntr()\n4215 void COleControl::OnCancelMode()\n4216 void CSplitterWnd::OnCancelMode()\n4217 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4218 long COleControl::XFontNotification::OnChanged(long)\n4219 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4220 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4221 void CRectTracker::OnChangedRect(CRect const &)\n4222 void CDocument::OnChangedViewList()\n4223 int COleClientItem::OnChangeItemPosition(CRect const &)\n4224 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4225 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4226 void CRichEditView::OnCharBold()\n4227 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4228 void CRichEditView::OnCharItalic()\n4229 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4230 void CRichEditView::OnCharUnderline()\n4231 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4232 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4233 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4234 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4235 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4236 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4237 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4238 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4239 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4240 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4241 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4242 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4243 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4244 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4245 void COleControl::OnClick(unsigned short)\n4246 CEnumArray * CEnumArray::OnClone()\n4247 CEnumArray * CEnumConnections::OnClone()\n4248 void CAsyncSocket::OnClose(int)\n4249 void CControlFrameWnd::OnClose()\n4250 void CFrameWnd::OnClose()\n4251 void CMiniDockFrameWnd::OnClose()\n4252 void COleControl::OnClose(unsigned long)\n4253 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4254 void CPropertySheet::OnClose()\n4255 void COleClientItem::XAdviseSink::OnClose()\n4256 void CDocObjectServer::OnCloseDocument()\n4257 void CDocument::OnCloseDocument()\n4258 void COleDocument::OnCloseDocument()\n4259 void COleLinkingDoc::OnCloseDocument()\n4260 void COleServerDoc::OnCloseDocument()\n4261 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4262 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4263 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4264 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4265 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4266 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4267 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4268 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4269 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4270 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4271 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4272 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4273 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4274 void CRichEditView::OnColorDefault()\n4275 int CColorDialog::OnColorOK()\n4276 void CRichEditView::OnColorPick(unsigned long)\n4277 int CFrameWnd::OnCommand(unsigned int,long)\n4278 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4279 int COlePropertyPage::OnCommand(unsigned int,long)\n4280 int CPropertySheet::OnCommand(unsigned int,long)\n4281 int CSplitterWnd::OnCommand(unsigned int,long)\n4282 int CWnd::OnCommand(unsigned int,long)\n4283 long CDialog::OnCommandHelp(unsigned int,long)\n4284 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4285 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4286 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4287 void CHtmlView::OnCommandStateChange(long,int)\n4288 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4289 void CAsyncSocket::OnConnect(int)\n4290 void CFrameWnd::OnContextHelp()\n4291 int COleFrameHook::OnContextHelp(int)\n4292 void COleIPFrameWnd::OnContextHelp()\n4293 void CWinApp::OnContextHelp()\n4294 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4295 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n4296 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n4297 int CEditView::OnCreate(tagCREATESTRUCTA *)\n4298 int CFormView::OnCreate(tagCREATESTRUCTA *)\n4299 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4300 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n4301 int COleControl::OnCreate(tagCREATESTRUCTA *)\n4302 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4303 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n4304 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n4305 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n4306 int CView::OnCreate(tagCREATESTRUCTA *)\n4307 int CCmdTarget::OnCreateAggregates()\n4308 int COleControl::OnCreateAggregates()\n4309 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4310 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4311 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4312 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4313 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n4314 CCmdTarget * COleObjectFactory::OnCreateObject()\n4315 CCmdTarget * COleTemplateServer::OnCreateObject()\n4316 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4317 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4318 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4319 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4320 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4321 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4322 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4323 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4324 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4325 int CDocManager::OnDDECommand(char *)\n4326 int CWinApp::OnDDECommand(char *)\n4327 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4328 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4329 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4330 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n4331 void COleClientItem::OnDeactivate()\n4332 void COleServerDoc::OnDeactivate()\n4333 void COleClientItem::OnDeactivateAndUndo()\n4334 void COleClientItem::OnDeactivateUI(int)\n4335 void COleServerDoc::OnDeactivateUI(int)\n4336 void CRichEditCntrItem::OnDeactivateUI(int)\n4337 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4338 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4339 void CControlBar::OnDestroy()\n4340 void CDHtmlDialog::OnDestroy()\n4341 void CEditView::OnDestroy()\n4342 void CFrameWnd::OnDestroy()\n4343 void CHtmlView::OnDestroy()\n4344 void CMDIChildWnd::OnDestroy()\n4345 void CMDIFrameWnd::OnDestroy()\n4346 void COleControl::OnDestroy()\n4347 void COleIPFrameWnd::OnDestroy()\n4348 void CRichEditView::OnDestroy()\n4349 void CTabCtrl::OnDestroy()\n4350 void CTreeCtrl::OnDestroy()\n4351 void CTreeView::OnDestroy()\n4352 void CView::OnDestroy()\n4353 void CWnd::OnDestroy()\n4354 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4355 void CRichEditView::OnDevModeChange(char *)\n4356 void CWnd::OnDevModeChange(char *)\n4357 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4358 void COleClientItem::OnDiscardUndoState()\n4359 void CSplitterWnd::OnDisplayChange()\n4360 long CWnd::OnDisplayChange(unsigned int,long)\n4361 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4362 int COleFrameHook::OnDocActivate(int)\n4363 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n4364 void CHtmlView::OnDocumentComplete(char const *)\n4365 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4366 long CBrowserControlSite::OnDocWindowActivate(int)\n4367 long CDHtmlDialog::OnDocWindowActivate(int)\n4368 long CHtmlView::OnDocWindowActivate(int)\n4369 void COleServerDoc::OnDocWindowActivate(int)\n4370 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4371 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4372 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4373 void CDocObjectServerItem::OnDoVerb(long)\n4374 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4375 void COleServerItem::OnDoVerb(long)\n4376 void CHtmlView::OnDownloadBegin()\n4377 void CHtmlView::OnDownloadComplete()\n4378 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4379 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4380 void COleDropTarget::OnDragLeave(CWnd *)\n4381 void CView::OnDragLeave()\n4382 long CWnd::OnDragList(unsigned int,long)\n4383 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4384 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4385 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4386 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4387 void CCtrlView::OnDraw(CDC *)\n4388 void CFormView::OnDraw(CDC *)\n4389 void CHtmlView::OnDraw(CDC *)\n4390 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4391 void CPreviewView::OnDraw(CDC *)\n4392 void CView::OnDraw(CDC *)\n4393 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4394 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4395 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4396 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4397 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4398 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4399 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4400 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4401 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4402 void CFrameWnd::OnDropFiles(HDROP__ *)\n4403 void CRichEditView::OnDropFiles(HDROP__ *)\n4404 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4405 int CEditView::OnEditChange()\n4406 void COleDocument::OnEditChangeIcon()\n4407 void CEditView::OnEditClear()\n4408 void CRichEditView::OnEditClear()\n4409 void COleDocument::OnEditConvert()\n4410 void CEditView::OnEditCopy()\n4411 void CHtmlView::OnEditCopy()\n4412 void CRichEditView::OnEditCopy()\n4413 void CEditView::OnEditCut()\n4414 void CHtmlView::OnEditCut()\n4415 void CRichEditView::OnEditCut()\n4416 void CEditView::OnEditFind()\n4417 void CRichEditView::OnEditFind()\n4418 void CEditView::OnEditFindReplace(int)\n4419 void CRichEditView::OnEditFindReplace(int)\n4420 void COleDocument::OnEditLinks()\n4421 void CEditView::OnEditPaste()\n4422 void CHtmlView::OnEditPaste()\n4423 void CRichEditView::OnEditPaste()\n4424 void CRichEditView::OnEditPasteSpecial()\n4425 void CRichEditView::OnEditProperties()\n4426 int COlePropertyPage::OnEditProperty(long)\n4427 void CRichEditView::OnEditRedo()\n4428 void CEditView::OnEditRepeat()\n4429 void CRichEditView::OnEditRepeat()\n4430 void CEditView::OnEditReplace()\n4431 void CRichEditView::OnEditReplace()\n4432 void CEditView::OnEditSelectAll()\n4433 void CRichEditView::OnEditSelectAll()\n4434 void CEditView::OnEditUndo()\n4435 void CRichEditView::OnEditUndo()\n4436 void CFrameWnd::OnEnable(int)\n4437 void CToolTipCtrl::OnEnable(int)\n4438 void COleControl::OnEnabledChanged()\n4439 long CHtmlView::OnEnableModeless(int)\n4440 void COleFrameHook::OnEnableModeless(int)\n4441 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4442 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4443 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4444 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4445 void CFrameWnd::OnEndSession(int)\n4446 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4447 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4448 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4449 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4450 int CFrameWnd::OnEraseBkgnd(CDC *)\n4451 int COleControl::OnEraseBkgnd(CDC *)\n4452 int COleResizeBar::OnEraseBkgnd(CDC *)\n4453 int CPreviewView::OnEraseBkgnd(CDC *)\n4454 int CReBar::OnEraseBkgnd(CDC *)\n4455 int CToolBar::OnEraseBkgnd(CDC *)\n4456 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4457 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4458 int COleControlSite::OnEvent(AFX_EVENT *)\n4459 void COleControl::OnEventAdvise(int)\n4460 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4461 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4462 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4463 void CDocument::OnFileClose()\n4464 void CFileDialog::OnFileNameChange()\n4465 int CFileDialog::OnFileNameOK()\n4466 void CDocManager::OnFileNew()\n4467 void CWinApp::OnFileNew()\n4468 void CDocManager::OnFileOpen()\n4469 void CWinApp::OnFileOpen()\n4470 void CHtmlView::OnFilePrint()\n4471 void CView::OnFilePrint()\n4472 void CView::OnFilePrintPreview()\n4473 void CWinApp::OnFilePrintSetup()\n4474 void CDocument::OnFileSave()\n4475 void CDocument::OnFileSaveAs()\n4476 void COleServerDoc::OnFileSaveCopyAs()\n4477 void CDocument::OnFileSendMail()\n4478 void COleDocument::OnFileSendMail()\n4479 void COleServerDoc::OnFileUpdate()\n4480 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4481 void CCmdTarget::OnFinalRelease()\n4482 void CDocument::OnFinalRelease()\n4483 void COleControl::OnFinalRelease()\n4484 void COlePropertyPage::OnFinalRelease()\n4485 void COleServerItem::OnFinalRelease()\n4486 void CWnd::OnFinalRelease()\n4487 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n4488 void CEditView::OnFindNext(char const *,int,int)\n4489 void CRichEditView::OnFindNext(char const *,int,int,int)\n4490 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4491 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4492 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4493 long COleControlSite::XOleControlSite::OnFocus(int)\n4494 void CFileDialog::OnFolderChange()\n4495 void COleControl::OnFontChanged()\n4496 void COleControl::OnForeColorChanged()\n4497 void CRichEditView::OnFormatFont()\n4498 void COleControl::OnFrameClose()\n4499 long CBrowserControlSite::OnFrameWindowActivate(int)\n4500 long CDHtmlDialog::OnFrameWindowActivate(int)\n4501 long CHtmlView::OnFrameWindowActivate(int)\n4502 void COleServerDoc::OnFrameWindowActivate(int)\n4503 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4504 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4505 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4506 void COleControl::OnFreezeEvents(int)\n4507 void CHtmlView::OnFullScreen(int)\n4508 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4509 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4510 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4511 void COleClientItem::OnGetClipRect(CRect &)\n4512 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4513 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4514 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4515 unsigned int COleControl::OnGetDlgCode()\n4516 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4517 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4518 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4519 long CHtmlView::OnGetExternal(IDispatch * *)\n4520 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4521 HMENU__ * COleControl::OnGetInPlaceMenu()\n4522 void COleClientItem::OnGetItemPosition(CRect &)\n4523 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4524 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n4525 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n4526 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4527 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4528 long CWnd::OnGetObject(unsigned int,long)\n4529 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4530 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4531 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4532 long CStatusBar::OnGetText(unsigned int,long)\n4533 long CStatusBar::OnGetTextLength(unsigned int,long)\n4534 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4535 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4536 unsigned long COleControl::OnGetViewStatus()\n4537 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4538 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4539 void CFrameWnd::OnHelp()\n4540 int COlePropertyPage::OnHelp(char const *)\n4541 void CWinApp::OnHelp()\n4542 void CWnd::OnHelp()\n4543 void CWinApp::OnHelpFinder()\n4544 void CWnd::OnHelpFinder()\n4545 long CControlBar::OnHelpHitTest(unsigned int,long)\n4546 long CDialog::OnHelpHitTest(unsigned int,long)\n4547 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4548 void CWinApp::OnHelpIndex()\n4549 void CWnd::OnHelpIndex()\n4550 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4551 int CWnd::OnHelpInfo(tagHELPINFO *)\n4552 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4553 void CWinApp::OnHelpUsing()\n4554 void CWnd::OnHelpUsing()\n4555 void CDocObjectServerItem::OnHide()\n4556 long COleControl::OnHide()\n4557 void COleServerItem::OnHide()\n4558 void COleControl::OnHideToolBars()\n4559 long CHtmlView::OnHideUI()\n4560 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4561 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4562 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4563 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4564 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4565 void CDocTemplate::OnIdle()\n4566 void CDocument::OnIdle()\n4567 void COleDocument::OnIdle()\n4568 int CWinApp::OnIdle(long)\n4569 int CWinThread::OnIdle(long)\n4570 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4571 void CFrameWnd::OnIdleUpdateCmdUI()\n4572 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4573 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4574 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4575 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4576 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4577 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4578 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4579 int CDHtmlDialog::OnInitDialog()\n4580 int CDialog::OnInitDialog()\n4581 int COlePropertiesDialog::OnInitDialog()\n4582 int COlePropertyPage::OnInitDialog()\n4583 int CPropertySheet::OnInitDialog()\n4584 void CFileDialog::OnInitDone()\n4585 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4586 void CControlBar::OnInitialUpdate()\n4587 void CFormView::OnInitialUpdate()\n4588 void COleDBRecordView::OnInitialUpdate()\n4589 void CRecordView::OnInitialUpdate()\n4590 void CRichEditView::OnInitialUpdate()\n4591 void CView::OnInitialUpdate()\n4592 void CFrameWnd::OnInitMenu(CMenu *)\n4593 void COleFrameHook::OnInitMenu(CMenu *)\n4594 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4595 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4596 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4597 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4598 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4599 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4600 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4601 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4602 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4603 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4604 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4605 void CRichEditView::OnInsertObject()\n4606 void CSplitterWnd::OnInvertTracker(CRect const &)\n4607 void CDockContext::OnKey(int,int)\n4608 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4609 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4610 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4611 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4612 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4613 void COleControl::OnKeyPressEvent(unsigned short)\n4614 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4615 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4616 long CPropertySheet::OnKickIdle(unsigned int,long)\n4617 int CPropertyPage::OnKillActive()\n4618 void COleControl::OnKillFocus(CWnd *)\n4619 long CCheckListBox::OnLBAddString(unsigned int,long)\n4620 long CCheckListBox::OnLBFindString(unsigned int,long)\n4621 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4622 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4623 long CCheckListBox::OnLBGetText(unsigned int,long)\n4624 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4625 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4626 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4627 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4628 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4629 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4630 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4631 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4632 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4633 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4634 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4635 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4636 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4637 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4638 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4639 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4640 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4641 void CAsyncMonikerFile::OnLowResource()\n4642 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4643 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4644 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4645 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4646 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4647 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4648 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4649 void CHtmlView::OnMenuBar(int)\n4650 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4651 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4652 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4653 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4654 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4655 int CSocket::OnMessagePending()\n4656 void COleControl::OnMnemonic(tagMSG *)\n4657 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4658 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4659 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4660 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4661 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4662 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4663 void COleControl::OnMouseMove(unsigned int,CPoint)\n4664 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4665 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4666 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4667 void COleControl::OnMove(int,int)\n4668 int COleDBRecordView::OnMove(unsigned int)\n4669 int CRecordView::OnMove(unsigned int)\n4670 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4671 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n4672 void CHtmlEditView::OnNavigateComplete2(char const *)\n4673 void CHtmlView::OnNavigateComplete2(char const *)\n4674 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n4675 int CFrameWnd::OnNcActivate(int)\n4676 int CMDIChildWnd::OnNcActivate(int)\n4677 int CMiniFrameWnd::OnNcActivate(int)\n4678 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4679 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4680 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4681 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4682 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4683 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n4684 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n4685 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n4686 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n4687 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n4688 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n4689 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n4690 void CListCtrl::OnNcDestroy()\n4691 void CListView::OnNcDestroy()\n4692 void CWnd::OnNcDestroy()\n4693 long CMiniFrameWnd::OnNcHitTest(CPoint)\n4694 long COleControl::OnNcHitTest(CPoint)\n4695 long CStatusBar::OnNcHitTest(CPoint)\n4696 long CToolBar::OnNcHitTest(CPoint)\n4697 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4698 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4699 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4700 void CDockBar::OnNcPaint()\n4701 void COleControl::OnNcPaint()\n4702 void CReBar::OnNcPaint()\n4703 void CStatusBar::OnNcPaint()\n4704 void CToolBar::OnNcPaint()\n4705 int CDocument::OnNewDocument()\n4706 int CHtmlEditDoc::OnNewDocument()\n4707 int COleDocument::OnNewDocument()\n4708 int COleLinkingDoc::OnNewDocument()\n4709 void COleServerDoc::OnNewEmbedding(IStorage *)\n4710 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4711 int CEnumArray::OnNext(void *)\n4712 int CEnumConnections::OnNext(void *)\n4713 int CEnumConnPoints::OnNext(void *)\n4714 int CEnumFormatEtc::OnNext(void *)\n4715 int CEnumOleVerb::OnNext(void *)\n4716 int CEnumUnknown::OnNext(void *)\n4717 void CPreviewView::OnNextPage()\n4718 int CView::OnNextPaneCmd(unsigned int)\n4719 int CFileDialog::OnNotify(unsigned int,long,long *)\n4720 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4721 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4722 int CWnd::OnNotify(unsigned int,long,long *)\n4723 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4724 long CWnd::OnNTCtlColor(unsigned int,long)\n4725 void CPreviewView::OnNumPageChange()\n4726 void COlePropertyPage::OnObjectsChanged()\n4727 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4728 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4729 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4730 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4731 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4732 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4733 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4734 void CCommonDialog::OnOK()\n4735 void CDialog::OnOK()\n4736 void CPropertyPage::OnOK()\n4737 long COleControl::OnOpen(int,tagMSG *)\n4738 void COleServerItem::OnOpen()\n4739 int CDocument::OnOpenDocument(char const *)\n4740 int CHtmlEditDoc::OnOpenDocument(char const *)\n4741 int COleDocument::OnOpenDocument(char const *)\n4742 int COleLinkingDoc::OnOpenDocument(char const *)\n4743 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4744 int CWinApp::OnOpenRecentFile(unsigned int)\n4745 void CAsyncSocket::OnOutOfBandData(int)\n4746 void CCommonDialog::OnPaint()\n4747 void CControlBar::OnPaint()\n4748 void CCtrlView::OnPaint()\n4749 void CDialog::OnPaint()\n4750 void CDockBar::OnPaint()\n4751 void CHtmlEditView::OnPaint()\n4752 void CHtmlView::OnPaint()\n4753 void COleControl::OnPaint(CDC *)\n4754 int COleControlContainer::OnPaint(CDC *)\n4755 void COleResizeBar::OnPaint()\n4756 void CReBar::OnPaint()\n4757 void CSplitterWnd::OnPaint()\n4758 void CStatusBar::OnPaint()\n4759 void CToolBar::OnPaint()\n4760 void CView::OnPaint()\n4761 void CWnd::OnPaint()\n4762 void CFrameWnd::OnPaletteChanged(CWnd *)\n4763 void COleFrameHook::OnPaletteChanged(CWnd *)\n4764 void CRichEditView::OnParaAlign(unsigned short)\n4765 void CRichEditView::OnParaCenter()\n4766 void CRichEditView::OnParaLeft()\n4767 void CRichEditView::OnParaRight()\n4768 void CWnd::OnParentNotify(unsigned int,long)\n4769 int CRichEditView::OnPasteNativeObject(IStorage *)\n4770 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4771 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4772 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4773 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4774 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4775 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4776 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4777 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4778 int CEditView::OnPreparePrinting(CPrintInfo *)\n4779 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4780 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4781 int CView::OnPreparePrinting(CPrintInfo *)\n4782 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4783 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4784 void CPreviewView::OnPreviewClose()\n4785 void CPreviewView::OnPreviewPrint()\n4786 void CPreviewView::OnPrevPage()\n4787 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4788 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4789 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4790 void CView::OnPrint(CDC *,CPrintInfo *)\n4791 void CRichEditView::OnPrinterChanged(CDC const &)\n4792 void CPrintDialog::OnPrintSetup()\n4793 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n4794 void CHtmlView::OnProgressChange(long,long)\n4795 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4796 void CHtmlView::OnPropertyChange(char const *)\n4797 int CPropertyPage::OnQueryCancel()\n4798 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4799 int CFrameWnd::OnQueryEndSession()\n4800 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4801 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4802 int CFrameWnd::OnQueryNewPalette()\n4803 int COleFrameHook::OnQueryNewPalette()\n4804 int COleServerItem::OnQueryUpdateItems()\n4805 void CHtmlView::OnQuit()\n4806 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4807 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4808 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4809 int COleServerDoc::OnReactivateAndUndo()\n4810 void COleFrameHook::OnRecalcLayout()\n4811 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4812 void CReBar::OnRecalcParent()\n4813 void CAsyncSocket::OnReceive(int)\n4814 void COleControl::OnReflectorDestroyed()\n4815 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4816 void COleClientItem::OnRemoveMenus(CMenu *)\n4817 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4818 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4819 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4820 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4821 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4822 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4823 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4824 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4825 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4826 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4827 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4828 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4829 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4830 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4831 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4832 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4833 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4834 void CEditView::OnReplaceAll(char const *,char const *,int)\n4835 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n4836 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n4837 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n4838 long COleControl::XFontNotification::OnRequestEdit(long)\n4839 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4840 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4841 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4842 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4843 void CEnumArray::OnReset()\n4844 void CPropertyPage::OnReset()\n4845 void COleControl::OnResetState()\n4846 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4847 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4848 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4849 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4850 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4851 void COleClientItem::XAdviseSink::OnSave()\n4852 int CDocument::OnSaveDocument(char const *)\n4853 int CHtmlEditDoc::OnSaveDocument(char const *)\n4854 int COleDocument::OnSaveDocument(char const *)\n4855 int COleLinkingDoc::OnSaveDocument(char const *)\n4856 int COleServerDoc::OnSaveDocument(char const *)\n4857 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4858 void COleServerItem::OnSaveEmbedding(IStorage *)\n4859 void CDocObjectServer::OnSaveViewState(CArchive &)\n4860 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4861 int CView::OnScroll(unsigned int,unsigned int,int)\n4862 int COleClientItem::OnScrollBy(CSize)\n4863 int CScrollView::OnScrollBy(CSize,int)\n4864 int CView::OnScrollBy(CSize,int)\n4865 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4866 void CAsyncSocket::OnSend(int)\n4867 int CPropertyPage::OnSetActive()\n4868 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4869 long CToolBar::OnSetButtonSize(unsigned int,long)\n4870 void COleControl::OnSetClientSite()\n4871 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4872 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4873 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4874 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4875 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4876 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4877 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4878 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4879 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4880 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4881 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4882 long CPropertySheet::OnSetDefID(unsigned int,long)\n4883 int COleControl::OnSetExtent(tagSIZE *)\n4884 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4885 void CFormView::OnSetFocus(CWnd *)\n4886 void CFrameWnd::OnSetFocus(CWnd *)\n4887 void COleControl::OnSetFocus(CWnd *)\n4888 void CWnd::OnSetFocus(CWnd *)\n4889 long CCheckListBox::OnSetFont(unsigned int,long)\n4890 void CDialog::OnSetFont(CFont *)\n4891 long CEditView::OnSetFont(unsigned int,long)\n4892 void COleServerDoc::OnSetHostNames(char const *,char const *)\n4893 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4894 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4895 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4896 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4897 long COleControl::OnSetMessageString(unsigned int,long)\n4898 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4899 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4900 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4901 void CDatabase::OnSetOptions(void *)\n4902 void CRecordset::OnSetOptions(void *)\n4903 void COlePropertyPage::OnSetPageSite()\n4904 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4905 long CToolBar::OnSetSizeHelper(CSize &,long)\n4906 long COleControl::OnSetText(unsigned int,long)\n4907 long CStatusBar::OnSetText(unsigned int,long)\n4908 void CWnd::OnSettingChange(unsigned int,char const *)\n4909 void CRecordset::OnSetUpdateOptions(void *)\n4910 unsigned int CFileDialog::OnShareViolation(char const *)\n4911 void CDocObjectServerItem::OnShow()\n4912 void COleServerItem::OnShow()\n4913 long CReBar::OnShowBand(unsigned int,long)\n4914 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4915 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4916 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4917 void COleServerDoc::OnShowDocument(int)\n4918 void COleClientItem::OnShowItem()\n4919 void COleControl::OnShowToolBars()\n4920 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4921 void COleDocument::OnShowViews(int)\n4922 void COleLinkingDoc::OnShowViews(int)\n4923 void COleControl::OnShowWindow(int,unsigned int)\n4924 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4925 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4926 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4927 void CFrameWnd::OnSize(unsigned int,int,int)\n4928 void CHtmlView::OnSize(unsigned int,int,int)\n4929 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4930 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4931 void COleControl::OnSize(unsigned int,int,int)\n4932 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4933 void COleResizeBar::OnSize(unsigned int,int,int)\n4934 void CPreviewView::OnSize(unsigned int,int,int)\n4935 void CScrollView::OnSize(unsigned int,int,int)\n4936 void CSplitterWnd::OnSize(unsigned int,int,int)\n4937 void CStatusBar::OnSize(unsigned int,int,int)\n4938 long CControlBar::OnSizeParent(unsigned int,long)\n4939 long CDockBar::OnSizeParent(unsigned int,long)\n4940 long COleResizeBar::OnSizeParent(unsigned int,long)\n4941 int CEnumArray::OnSkip()\n4942 long CSocketWnd::OnSocketDead(unsigned int,long)\n4943 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4944 int CView::OnSplitCmd(unsigned int)\n4945 void CAsyncMonikerFile::OnStartBinding()\n4946 void CHtmlView::OnStatusBar(int)\n4947 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4948 void CHtmlView::OnStatusTextChange(char const *)\n4949 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n4950 void CToolBar::OnSysColorChange()\n4951 void CWnd::OnSysColorChange()\n4952 void CFrameWnd::OnSysCommand(unsigned int,long)\n4953 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4954 void CPropertySheet::OnSysCommand(unsigned int,long)\n4955 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4956 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4957 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4958 void COleControl::OnTextChanged()\n4959 void CEditView::OnTextNotFound(char const *)\n4960 void CRichEditView::OnTextNotFound(char const *)\n4961 void CHtmlView::OnTheaterMode(int)\n4962 void CControlBar::OnTimer(unsigned int)\n4963 void CHtmlView::OnTitleChange(char const *)\n4964 void CHtmlView::OnToolBar(int)\n4965 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4966 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4967 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n4968 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4969 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4970 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4971 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4972 void CFileDialog::OnTypeChange()\n4973 void COleControlContainer::OnUIActivate(COleControlSite *)\n4974 long COleClientItem::XOleIPSite::OnUIActivate()\n4975 long COleControlSite::XOleIPSite::OnUIActivate()\n4976 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4977 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4978 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4979 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4980 void CView::OnUpdate(CView *,long,CObject *)\n4981 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4982 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4983 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4984 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4985 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4986 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4987 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4988 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4989 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4990 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4991 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4992 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4993 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4994 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4995 int COleServerDoc::OnUpdateDocument()\n4996 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4997 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4998 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4999 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5000 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n5001 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5002 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5003 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n5004 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5005 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5006 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5007 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5008 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5009 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5010 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5011 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5012 void CFrameWnd::OnUpdateFrameTitle(int)\n5013 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5014 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5015 int COleClientItem::OnUpdateFrameTitle()\n5016 int COleFrameHook::OnUpdateFrameTitle()\n5017 void COleServerItem::OnUpdateItems()\n5018 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5019 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5020 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5021 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5022 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5023 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5024 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5025 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5026 void CEditView::OnUpdateNeedText(CCmdUI *)\n5027 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5028 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5029 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5030 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5031 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5032 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5033 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5034 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5035 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5036 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5037 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5038 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5039 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5040 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5041 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5042 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5043 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5044 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5045 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5046 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5047 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5048 void CView::OnUpdateSplitCmd(CCmdUI *)\n5049 long CHtmlView::OnUpdateUI()\n5050 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5051 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5052 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5053 void CHtmlView::OnVisible(int)\n5054 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5055 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5056 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5057 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5058 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5059 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5060 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5061 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5062 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5063 void CMDIFrameWnd::OnWindowNew()\n5064 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5065 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5066 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5067 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5068 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5069 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5070 long CPropertyPage::OnWizardBack()\n5071 int CPropertyPage::OnWizardFinish()\n5072 long CPropertyPage::OnWizardNext()\n5073 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5074 void CPreviewView::OnZoomIn()\n5075 void CPreviewView::OnZoomOut()\n5076 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5077 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5078 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5079 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5080 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n5081 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n5082 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n5083 int CAsyncMonikerFile::Open(char const *,CFileException *)\n5084 int CDatabase::Open(char const *,int,int,char const *,int)\n5085 int CDataPathProperty::Open(CFileException *)\n5086 int CDataPathProperty::Open(COleControl *,CFileException *)\n5087 int CDataPathProperty::Open(char const *,CFileException *)\n5088 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n5089 int CFile::Open(char const *,unsigned int,CFileException *)\n5090 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n5091 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5092 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5093 int CMonikerFile::Open(IMoniker *,CFileException *)\n5094 int CMonikerFile::Open(char const *,CFileException *)\n5095 int CRecordset::Open(unsigned int,char const *,unsigned long)\n5096 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n5097 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n5098 long CDocObjectServer::XOleDocumentView::Open()\n5099 CDocument * CDocManager::OpenDocumentFile(char const *)\n5100 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n5101 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n5102 CDocument * CWinApp::OpenDocumentFile(char const *)\n5103 int CDatabase::OpenEx(char const *,unsigned long)\n5104 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n5105 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n5106 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5107 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5108 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5109 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n5110 int CHtmlEditDoc::OpenURL(char const *)\n5111 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n5112 int CFileException::OsErrorToException(long)\n5113 void CDumpContext::OutputString(char const *)\n5114 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5115 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5116 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5117 int CWnd::PaintWindowlessControls(CDC *)\n5118 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5119 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5120 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n5121 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5122 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5123 void CCommandLineInfo::ParseLast(int)\n5124 void CCommandLineInfo::ParseParam(char const *,int,int)\n5125 void CCommandLineInfo::ParseParamFlag(char const *)\n5126 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5127 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5128 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n5129 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n5130 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5131 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5132 int CDC::PlayMetaFile(HMETAFILE__ *)\n5133 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n5134 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n5135 int CDC::PolyBezierTo(tagPOINT const *,int)\n5136 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5137 int CDC::PolylineTo(tagPOINT const *,int)\n5138 void CPreviewView::PositionPage(unsigned int)\n5139 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5140 int CMonikerFile::PostBindToStream(CFileException *)\n5141 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5142 void CDialog::PostModal()\n5143 void CPrintDialogEx::PostModal()\n5144 void COleControl::PostModalDialog(HWND__ *)\n5145 void CControlBar::PostNcDestroy()\n5146 void CControlFrameWnd::PostNcDestroy()\n5147 void CFindReplaceDialog::PostNcDestroy()\n5148 void CFrameWnd::PostNcDestroy()\n5149 void COleCntrFrameWnd::PostNcDestroy()\n5150 void CReflectorWnd::PostNcDestroy()\n5151 void CView::PostNcDestroy()\n5152 void CWnd::PostNcDestroy()\n5153 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5154 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5155 void CRecordset::PreBindFields()\n5156 void CDocument::PreCloseFrame(CFrameWnd *)\n5157 void COleDocument::PreCloseFrame(CFrameWnd *)\n5158 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5159 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5160 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5161 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n5162 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5163 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n5164 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5165 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5166 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n5167 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n5168 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5169 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5170 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5171 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5172 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n5173 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n5174 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n5175 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5176 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5177 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5178 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5179 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5180 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5181 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n5182 void CDialog::PreInitDialog()\n5183 void COleChangeSourceDialog::PreInitDialog()\n5184 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5185 HWND__ * CDialog::PreModal()\n5186 HWND__ * CPrintDialogEx::PreModal()\n5187 void COleControl::PreModalDialog(HWND__ *)\n5188 void CRecordset::PrepareAndExecute()\n5189 HWND__ * CDataExchange::PrepareCtrl(int)\n5190 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5191 void CWnd::PrepareForHelp()\n5192 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5193 void CRecordset::PrepareUpdateHstmt()\n5194 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5195 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5196 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5197 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5198 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n5199 void CDragListBox::PreSubclassWindow()\n5200 void CWnd::PreSubclassWindow()\n5201 int CWnd::PreTranslateInput(tagMSG *)\n5202 int CControlBar::PreTranslateMessage(tagMSG *)\n5203 int CDialog::PreTranslateMessage(tagMSG *)\n5204 int CFormView::PreTranslateMessage(tagMSG *)\n5205 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5206 int CHtmlView::PreTranslateMessage(tagMSG *)\n5207 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5208 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5209 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5210 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5211 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5212 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5213 int CWinThread::PreTranslateMessage(tagMSG *)\n5214 int CWnd::PreTranslateMessage(tagMSG *)\n5215 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5216 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5217 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5218 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5219 long CRichEditView::PrintPage(CDC *,long,long)\n5220 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5221 long COleException::Process(CException const *)\n5222 int CSocket::ProcessAuxQueue()\n5223 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5224 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5225 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5226 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5227 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5228 void COleSafeArray::PtrOfIndex(long *,void * *)\n5229 int CMetaFileDC::PtVisible(int,int)const \n5230 int CWinThread::PumpMessage()\n5231 int CSocket::PumpMessages(unsigned int)\n5232 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n5233 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5234 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5235 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5236 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5237 void COleSafeArray::PutElement(long *,void *)\n5238 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n5239 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n5240 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n5241 int PX_Bool(CPropExchange *,char const *,int &)\n5242 int PX_Bool(CPropExchange *,char const *,int &,int)\n5243 int PX_Color(CPropExchange *,char const *,unsigned long &)\n5244 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n5245 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n5246 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n5247 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n5248 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5249 int PX_Double(CPropExchange *,char const *,double &)\n5250 int PX_Double(CPropExchange *,char const *,double &,double)\n5251 int PX_Float(CPropExchange *,char const *,float &)\n5252 int PX_Float(CPropExchange *,char const *,float &,float)\n5253 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5254 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n5255 int PX_Long(CPropExchange *,char const *,long &)\n5256 int PX_Long(CPropExchange *,char const *,long &,long)\n5257 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n5258 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n5259 int PX_Short(CPropExchange *,char const *,short &)\n5260 int PX_Short(CPropExchange *,char const *,short &,short)\n5261 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5262 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n5263 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5264 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n5265 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n5266 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n5267 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n5268 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5269 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5270 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5271 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5272 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5273 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5274 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5275 void * COleControl::QueryDefHandler(_GUID const &)\n5276 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5277 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5278 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5279 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5280 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5281 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5282 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5283 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5284 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n5285 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5286 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5287 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5288 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5289 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5290 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5291 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5292 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5293 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5294 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5295 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5296 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5297 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5298 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5299 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5300 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5301 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5302 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5303 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5304 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5305 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5306 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5307 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5308 long CPropertyPage::QuerySiblings(unsigned int,long)\n5309 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5310 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5311 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5312 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5313 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5314 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n5315 int COleControlSite::QuickActivate()\n5316 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5317 int COleClientItem::ReactivateAndUndo()\n5318 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5319 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5320 unsigned int CArchive::Read(void *,unsigned int)\n5321 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5322 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5323 unsigned int CFile::Read(void *,unsigned int)\n5324 int CImageList::Read(CArchive *)\n5325 unsigned int CInternetFile::Read(void *,unsigned int)\n5326 unsigned int CMemFile::Read(void *,unsigned int)\n5327 unsigned int COleStreamFile::Read(void *,unsigned int)\n5328 unsigned int CSocketFile::Read(void *,unsigned int)\n5329 unsigned int CStdioFile::Read(void *,unsigned int)\n5330 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5331 unsigned long CArchive::ReadCount()\n5332 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5333 int CProperty::ReadFromStream(IStream *)\n5334 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5335 int CPropertySet::ReadFromStream(IStream *)\n5336 void COleClientItem::ReadItem(CArchive &)\n5337 void COleClientItem::ReadItemCompound(CArchive &)\n5338 void COleClientItem::ReadItemFlat(CArchive &)\n5339 void CRecentFileList::ReadList()\n5340 int CPropertySection::ReadNameDictFromStream(IStream *)\n5341 CObject * CArchive::ReadObject(CRuntimeconst *)\n5342 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5343 char * CArchive::ReadString(char *,unsigned int)\n5344 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5345 char * CInternetFile::ReadString(char *,unsigned int)\n5346 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5347 char * CStdioFile::ReadString(char *,unsigned int)\n5348 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5349 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5350 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5351 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5352 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5353 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5354 void CRecordset::RebindParams(void *)\n5355 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5356 void CFrameWnd::RecalcLayout(int)\n5357 void CMiniDockFrameWnd::RecalcLayout(int)\n5358 void COleCntrFrameWnd::RecalcLayout(int)\n5359 void COleDocIPFrameWnd::RecalcLayout(int)\n5360 void COleIPFrameWnd::RecalcLayout(int)\n5361 void CSplitterWnd::RecalcLayout()\n5362 int CAsyncSocket::Receive(void *,int,int)\n5363 int CSocket::Receive(void *,int,int)\n5364 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n5365 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5366 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5367 void COleControl::RecreateControlWindow()\n5368 CRect const CFrameWnd::rectDefault\n5369 int CMetaFileDC::RectVisible(tagRECT const *)const \n5370 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5371 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5372 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5373 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5374 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5375 void COleControl::Refresh()\n5376 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5377 int COleDropTarget::Register(CWnd *)\n5378 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n5379 int COleMessageFilter::Register()\n5380 int COleObjectFactory::Register()\n5381 int COleTemplateServer::Register()\n5382 int CWinApp::Register()\n5383 int COleObjectFactory::RegisterAll()\n5384 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n5385 void CDocManager::RegisterShellFileTypes(int)\n5386 void CWinApp::RegisterShellFileTypes(int)\n5387 unsigned long CArchiveStream::Release()\n5388 unsigned long CBlobProperty::Release()\n5389 unsigned long CBrowserControlSite::Release()\n5390 unsigned long CDHtmlControlSink::Release()\n5391 unsigned long CDHtmlElementEventSink::Release()\n5392 unsigned long CDHtmlEventSink::Release()\n5393 unsigned long CInnerUnknown::Release()\n5394 void COleClientItem::Release(enum tagOLECLOSE)\n5395 unsigned long COleConnPtContainer::Release()\n5396 void COleDataObject::Release()\n5397 unsigned long COleDispatchImpl::Release()\n5398 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5399 unsigned long COleUILinkInfo::Release()\n5400 unsigned long CPrintDialogEx::Release()\n5401 void CDC::ReleaseAttribDC()\n5402 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5403 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5404 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5405 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5406 void COleControl::ReleaseCaches()\n5407 int COleControl::ReleaseCapture()\n5408 int COleControl::ReleaseDC(CDC *)\n5409 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5410 void COleDispatchDriver::ReleaseDispatch()\n5411 void CDocObjectServer::ReleaseDocSite()\n5412 void CDocument::ReleaseFile(CFile *,int)\n5413 void CFontHolder::ReleaseFont()\n5414 void CDC::ReleaseOutputDC()\n5415 void CMetaFileDC::ReleaseOutputDC()\n5416 void CPreviewDC::ReleaseOutputDC()\n5417 int COleClientItem::Reload()\n5418 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5419 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5420 void CFile::Remove(char const *)\n5421 int CFtpConnection::Remove(char const *)\n5422 void CPropertySection::Remove(unsigned long)\n5423 void CPropertySet::Remove(_GUID)\n5424 void CPropertySet::Remove(_GUID,unsigned long)\n5425 void CRecentFileList::Remove(int)\n5426 int CSimpleList::Remove(void *)\n5427 void CMapPtrToPtr::RemoveAll()\n5428 void CMapPtrToWord::RemoveAll()\n5429 void CMapStringToOb::RemoveAll()\n5430 void CMapStringToPtr::RemoveAll()\n5431 void CMapStringToString::RemoveAll()\n5432 void CMapWordToOb::RemoveAll()\n5433 void CMapWordToPtr::RemoveAll()\n5434 void CObList::RemoveAll()\n5435 void CPropertySection::RemoveAll()\n5436 void CPropertySet::RemoveAll()\n5437 void CPtrList::RemoveAll()\n5438 void CStringList::RemoveAll()\n5439 void CTypeLibCacheMap::RemoveAll(void *)\n5440 void CByteArray::RemoveAt(int,int)\n5441 void CDWordArray::RemoveAt(int,int)\n5442 void CObArray::RemoveAt(int,int)\n5443 void CObList::RemoveAt(__POSITION *)\n5444 void CPtrArray::RemoveAt(int,int)\n5445 void CPtrList::RemoveAt(__POSITION *)\n5446 void CStringArray::RemoveAt(int,int)\n5447 void CStringList::RemoveAt(__POSITION *)\n5448 void CUIntArray::RemoveAt(int,int)\n5449 void CWordArray::RemoveAt(int,int)\n5450 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5451 void CFrameWnd::RemoveControlBar(CControlBar *)\n5452 int CFtpConnection::RemoveDirectoryA(char const *)\n5453 void CDocTemplate::RemoveDocument(CDocument *)\n5454 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5455 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5456 void COleControl::RemoveFrameLevelUI()\n5457 void CFrameWnd::RemoveFrameWnd()\n5458 CObject * CObList::RemoveHead()\n5459 void * CPtrList::RemoveHead()\n5460 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n5461 void CListCtrl::RemoveImageList(int)\n5462 void CListView::RemoveImageList(int)\n5463 void CTreeCtrl::RemoveImageList(int)\n5464 void CTreeView::RemoveImageList(int)\n5465 void COleDocument::RemoveItem(CDocItem *)\n5466 int CMapPtrToPtr::RemoveKey(void *)\n5467 int CMapPtrToWord::RemoveKey(void *)\n5468 int CMapStringToOb::RemoveKey(char const *)\n5469 int CMapStringToPtr::RemoveKey(char const *)\n5470 int CMapStringToString::RemoveKey(char const *)\n5471 int CMapWordToOb::RemoveKey(unsigned short)\n5472 int CMapWordToPtr::RemoveKey(unsigned short)\n5473 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5474 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5475 void CPropertySheet::RemovePage(int)\n5476 void CPropertySheet::RemovePage(CPropertyPage *)\n5477 void CDockBar::RemovePlaceHolder(CControlBar *)\n5478 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5479 void CDataBoundProperty::RemoveSource()\n5480 CObject * CObList::RemoveTail()\n5481 void * CPtrList::RemoveTail()\n5482 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n5483 void CDocument::RemoveView(CView *)\n5484 void CFile::Rename(char const *,char const *)\n5485 int CFtpConnection::Rename(char const *,char const *)\n5486 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5487 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5488 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5489 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5490 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5491 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5492 void CDatabase::ReplaceBrackets(char *)\n5493 int CException::ReportError(unsigned int,unsigned int)\n5494 int COleClientItem::ReportError(long)const \n5495 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5496 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5497 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5498 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5499 int CRecordset::Requery()\n5500 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5501 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5502 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5503 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5504 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5505 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5506 long COleControlSite::XOleIPSite::RequestUIActivate()\n5507 long CEnumArray::XEnumVOID::Reset()\n5508 void CRecordset::ResetCursor()\n5509 void CCachedDataPathProperty::ResetData()\n5510 void CDataPathProperty::ResetData()\n5511 void COleControl::ResetStockProps()\n5512 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5513 void COleControl::ResetVersion(unsigned long)\n5514 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5515 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5516 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5517 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5518 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5519 void COleControl::ResizeFrameWindow(int,int)\n5520 void COleSafeArray::ResizeOneDim(unsigned long)\n5521 void COleControl::ResizeOpenControl(int,int)\n5522 void CScrollView::ResizeParentToFit(int)\n5523 int CDC::RestoreDC(int)\n5524 int CPreviewDC::RestoreDC(int)\n5525 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n5526 void CCmdTarget::RestoreWaitCursor()\n5527 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5528 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5529 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5530 long CArchiveStream::Revert()\n5531 void COleDropTarget::Revoke()\n5532 void COleLinkingDoc::Revoke()\n5533 void COleMessageFilter::Revoke()\n5534 void COleObjectFactory::Revoke()\n5535 void COleObjectFactory::RevokeAll()\n5536 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n5537 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n5538 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n5539 void RFX_Bool(CFieldExchange *,char const *,int &)\n5540 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5541 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n5542 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n5543 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n5544 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n5545 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n5546 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n5547 void RFX_Double(CFieldExchange *,char const *,double &)\n5548 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n5549 void RFX_Int(CFieldExchange *,char const *,int &)\n5550 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5551 void RFX_Long(CFieldExchange *,char const *,long &)\n5552 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n5553 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n5554 void RFX_Single(CFieldExchange *,char const *,float &)\n5555 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n5556 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5557 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5558 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n5559 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n5560 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n5561 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n5562 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n5563 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n5564 int CDatabase::Rollback()\n5565 void COleClientItem::Run()\n5566 int CWinApp::Run()\n5567 int CWinThread::Run()\n5568 int CWinApp::RunAutomated()\n5569 int CWinApp::RunEmbedded()\n5570 int CWnd::RunModalLoop(unsigned long)\n5571 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5572 int CEditView::SameAsSelected(char const *,int)\n5573 int CRichEditView::SameAsSelected(char const *,int,int)\n5574 long CBlobProperty::Save(IStream *,int)\n5575 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5576 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5577 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5578 long COleControl::XPersistStorage::Save(IStorage *,int)\n5579 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5580 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5581 int CDocManager::SaveAllModified()\n5582 int CDocTemplate::SaveAllModified()\n5583 int CWinApp::SaveAllModified()\n5584 void CFrameWnd::SaveBarState(char const *)const \n5585 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5586 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5587 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5588 int CDC::SaveDC()\n5589 int CPreviewDC::SaveDC()\n5590 void COleServerDoc::SaveEmbedding()\n5591 int CFormView::SaveFocusControl()\n5592 int CDocument::SaveModified()\n5593 int COleDocument::SaveModified()\n5594 int COleServerDoc::SaveModified()\n5595 int COleServerDoc::SaveModifiedPrompt()\n5596 long COleClientItem::XOleClientSite::SaveObject()\n5597 long COleControlSite::XOleClientSite::SaveObject()\n5598 int CControlBarInfo::SaveState(char const *,int)\n5599 void CDockState::SaveState(char const *)\n5600 long COleControl::SaveState(IStream *)\n5601 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n5602 void CWinApp::SaveStdProfileSettings()\n5603 void COleDocument::SaveToStorage(CObject *)\n5604 void COleLinkingDoc::SaveToStorage(CObject *)\n5605 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5606 void CDockState::ScalePoint(CPoint &)\n5607 void CDockState::ScaleRectPos(CRect &)\n5608 CSize CDC::ScaleViewportExt(int,int,int,int)\n5609 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5610 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5611 CSize CDC::ScaleWindowExt(int,int,int,int)\n5612 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5613 void CWnd::ScreenToClient(tagRECT *)const \n5614 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5615 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5616 void COleControlContainer::ScrollChildren(int,int)\n5617 int COleServerDoc::ScrollContainerBy(CSize)\n5618 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5619 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5620 void CScrollView::ScrollToPosition(tagPOINT)\n5621 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5622 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5623 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5624 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5625 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5626 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5627 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5628 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5629 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5630 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5631 CFont * CFontHolder::Select(CDC *,long,long)\n5632 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5633 int CDC::SelectClipPath(int)\n5634 int CDC::SelectClipRgn(CRgn *)\n5635 int CDC::SelectClipRgn(CRgn *,int)\n5636 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5637 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5638 long CPrintDialogEx::SelectionChange()\n5639 int CDC::SelectObject(CRgn *)\n5640 CBrush * CDC::SelectObject(CBrush *)\n5641 CPen * CDC::SelectObject(CPen *)\n5642 CFont * CDC::SelectObject(CFont *)\n5643 CFont * CPreviewDC::SelectObject(CFont *)\n5644 CPalette * CDC::SelectPalette(CPalette *,int)\n5645 void CWinApp::SelectPrinter(void *,void *,int)\n5646 CFont * COleControl::SelectStockFont(CDC *)\n5647 CGdiObject * CDC::SelectStockObject(int)\n5648 CGdiObject * CPreviewDC::SelectStockObject(int)\n5649 int CAsyncSocket::Send(void const *,int,int)\n5650 int CSocket::Send(void const *,int,int)\n5651 void COleControl::SendAdvise(unsigned int)\n5652 int CWnd::SendChildNotifyLastMsg(long *)\n5653 int CSocket::SendChunk(void const *,int,int)\n5654 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5655 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n5656 void CDocument::SendInitialUpdate()\n5657 void CRecordset::SendLongBinaryData(void *)\n5658 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5659 void COleControlSite::SendMnemonic(tagMSG *)\n5660 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n5661 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n5662 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5663 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n5664 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n5665 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5666 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5667 void CByteArray::Serialize(CArchive &)\n5668 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5669 void CDocItem::Serialize(CArchive &)\n5670 void CDockState::Serialize(CArchive &)\n5671 void CDWordArray::Serialize(CArchive &)\n5672 void CEditView::Serialize(CArchive &)\n5673 void CMapStringToOb::Serialize(CArchive &)\n5674 void CMapStringToString::Serialize(CArchive &)\n5675 void CMapWordToOb::Serialize(CArchive &)\n5676 void CObArray::Serialize(CArchive &)\n5677 void CObList::Serialize(CArchive &)\n5678 void COleClientItem::Serialize(CArchive &)\n5679 void COleControl::Serialize(CArchive &)\n5680 void COleDocument::Serialize(CArchive &)\n5681 void CRichEditDoc::Serialize(CArchive &)\n5682 void CRichEditView::Serialize(CArchive &)\n5683 void CStringArray::Serialize(CArchive &)\n5684 void CStringList::Serialize(CArchive &)\n5685 void CWordArray::Serialize(CArchive &)\n5686 CArchive & ATL::CTime::Serialize64(CArchive &)\n5687 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5688 void CArchive::SerializeClass(CRuntimeconst *)\n5689 void COleControl::SerializeExtent(CArchive &)\n5690 void CEditView::SerializeRaw(CArchive &)\n5691 void COleControl::SerializeStockProps(CArchive &)\n5692 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5693 int CProperty::Set(unsigned long,void * const,unsigned long)\n5694 int CProperty::Set(void * const)\n5695 int CProperty::Set(void * const,unsigned long)\n5696 int CPropertySection::Set(unsigned long,void *)\n5697 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5698 int CPropertySet::Set(_GUID,unsigned long,void *)\n5699 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5700 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5701 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5702 int CPropertySheet::SetActivePage(int)\n5703 int CPropertySheet::SetActivePage(CPropertyPage *)\n5704 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5705 void CFrameWnd::SetActiveView(CView *,int)\n5706 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5707 void COleControl::SetAppearance(short)\n5708 int CDC::SetArcDirection(int)\n5709 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n5710 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n5711 void CByteArray::SetAtGrow(int,unsigned char)\n5712 void CDWordArray::SetAtGrow(int,unsigned long)\n5713 void CObArray::SetAtGrow(int,CObject *)\n5714 void CPtrArray::SetAtGrow(int,void *)\n5715 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5716 void CStringArray::SetAtGrow(int,char const *)\n5717 void CUIntArray::SetAtGrow(int,unsigned int)\n5718 void CWordArray::SetAtGrow(int,unsigned short)\n5719 void CDC::SetAttribDC(HDC__ *)\n5720 void CMetaFileDC::SetAttribDC(HDC__ *)\n5721 void CPreviewDC::SetAttribDC(HDC__ *)\n5722 void COleControl::SetBackColor(unsigned long)\n5723 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5724 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5725 void CControlBar::SetBarStyle(unsigned long)\n5726 int CToolBar::SetBitmap(HBITMAP__ *)\n5727 unsigned long CDC::SetBkColor(unsigned long)\n5728 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5729 int CListCtrl::SetBkImage(char *,int,int,int)\n5730 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5731 int CDC::SetBkMode(int)\n5732 void CRecordset::SetBookmark(CDBVariant const &)\n5733 void CControlBar::SetBorders(int,int,int,int)\n5734 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5735 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5736 void COleControl::SetBorderStyle(short)\n5737 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5738 int CToolBar::SetButtons(unsigned int const *,int)\n5739 void CToolBar::SetButtonStyle(int,unsigned int)\n5740 int CToolBar::SetButtonText(int,char const *)\n5741 CWnd * COleControl::SetCapture()\n5742 long COleControlSite::XOleIPSite::SetCapture(int)\n5743 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n5744 void CCheckListBox::SetCheck(int,int)\n5745 void CCmdUI::SetCheck(int)\n5746 int CListCtrl::SetCheck(int,int)\n5747 void COleCmdUI::SetCheck(int)\n5748 void CStatusCmdUI::SetCheck(int)\n5749 void CTestCmdUI::SetCheck(int)\n5750 void CToolCmdUI::SetCheck(int)\n5751 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5752 void CCheckListBox::SetCheckStyle(unsigned int)\n5753 void CPropertySet::SetClassID(_GUID)\n5754 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5755 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5756 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5757 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5758 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5759 void COleDataSource::SetClipboard()\n5760 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5761 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5762 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5763 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5764 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5765 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5766 void CSplitterWnd::SetColumnInfo(int,int,int)\n5767 int CListCtrl::SetColumnOrderArray(int,int *)\n5768 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5769 void CDocTemplate::SetContainerInfo(unsigned int)\n5770 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5771 void CReflectorWnd::SetControl(COleControl *)\n5772 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5773 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n5774 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n5775 int COleControl::SetControlSize(int,int)\n5776 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5777 void CFileDialog::SetControlText(int,char const *)\n5778 int CInternetSession::SetCookie(char const *,char const *,char const *)\n5779 void COleCurrency::SetCurrency(long,long)\n5780 void CColorDialog::SetCurrentColor(unsigned long)\n5781 int CFtpConnection::SetCurrentDirectoryA(char const *)\n5782 void CWinApp::SetCurrentHandles()\n5783 void CPreviewView::SetCurrentPage(unsigned int,int)\n5784 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5785 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5786 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5787 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5788 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5789 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5790 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5791 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5792 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5793 void COccManager::SetDefaultButton(CWnd *,int)\n5794 void COleControlSite::SetDefaultButton(int)\n5795 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n5796 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n5797 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5798 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5799 void CFileDialog::SetDefExt(char const *)\n5800 void COlePropertyPage::SetDialogResource(void *)\n5801 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5802 int COleControlSite::SetDlgCtrlID(int)\n5803 int CWnd::SetDlgCtrlID(int)\n5804 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5805 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5806 void COleControlContainer::SetDlgItemTextA(int,char const *)\n5807 void CWnd::SetDlgItemTextA(int,char const *)\n5808 void CFrameWnd::SetDockState(CDockState const &)\n5809 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5810 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5811 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5812 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5813 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5814 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n5815 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n5816 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5817 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n5818 void COleControl::SetEnabled(int)\n5819 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5820 int COleControlSite::SetExtent()\n5821 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5822 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5823 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5824 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5825 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5826 void CRecordset::SetFieldDirty(void *,int)\n5827 void CRecordset::SetFieldNull(void *,int)\n5828 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5829 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5830 CWnd * COleControl::SetFocus()\n5831 CWnd * COleControlSite::SetFocus(tagMSG *)\n5832 CWnd * COleControlSite::SetFocus()\n5833 CWnd * CWnd::SetFocus()\n5834 long COleControlSite::XOleIPSite::SetFocus(int)\n5835 void CDHtmlDialog::SetFocusToElement(char const *)\n5836 int CDialogTemplate::SetFont(char const *,unsigned short)\n5837 void CFontHolder::SetFont(IFont *)\n5838 void COleControl::SetFont(IFontDisp *)\n5839 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5840 void COleControl::SetForeColor(unsigned long)\n5841 void CPropertySection::SetFormatID(_GUID)\n5842 void CPropertySet::SetFormatVersion(unsigned short)\n5843 void CSharedFile::SetHandle(void *,int)\n5844 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5845 void CToolBar::SetHeight(int)\n5846 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5847 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n5848 void CDHtmlDialog::SetHostFlags(unsigned long)\n5849 void COleClientItem::SetHostNames(char const *,char const *)\n5850 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5851 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5852 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5853 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5854 int COleClientItem::SetIconicMetafile(void *)\n5855 CSize CListCtrl::SetIconSpacing(int,int)\n5856 CSize CListCtrl::SetIconSpacing(CSize)\n5857 void CProperty::SetID(unsigned long)\n5858 int CReBarCtrl::SetImageList(CImageList *)\n5859 int CStatusBar::SetIndicators(unsigned int const *,int)\n5860 void COleControl::SetInitialDataFormats()\n5861 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5862 void COleControl::SetInitialSize(int,int)\n5863 void CControlBar::SetInPlaceOwner(CWnd *)\n5864 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5865 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n5866 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n5867 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n5868 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n5869 int CListCtrl::SetItemCountEx(int,unsigned long)\n5870 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5871 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5872 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5873 int CListCtrl::SetItemText(int,int,char const *)\n5874 unsigned long CDC::SetLayout(unsigned long)\n5875 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n5876 void ATL::CSimpleStringT<char,1>::SetLength(int)\n5877 void CFile::SetLength(unsigned __int64)\n5878 void CInternetFile::SetLength(unsigned __int64)\n5879 void CMemFile::SetLength(unsigned __int64)\n5880 void COleStreamFile::SetLength(unsigned __int64)\n5881 void CSocketFile::SetLength(unsigned __int64)\n5882 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n5883 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5884 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5885 void CRecordset::SetLockingMode(unsigned int)\n5886 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n5887 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n5888 int CDC::SetMapMode(int)\n5889 int CPreviewDC::SetMapMode(int)\n5890 unsigned long CDC::SetMapperFlags(unsigned long)\n5891 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5892 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5893 void CFrameWnd::SetMessageText(unsigned int)\n5894 void CFrameWnd::SetMessageText(char const *)\n5895 void CPropertyPage::SetModified(int)\n5896 void COleControl::SetModifiedFlag(int)\n5897 void COlePropertyPage::SetModifiedFlag(int)\n5898 void CRichEditDoc::SetModifiedFlag(int)\n5899 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5900 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5901 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5902 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5903 int CPropertySection::SetName(unsigned long,char const *)\n5904 void COleControl::SetNotPermitted()\n5905 void CCmdTarget::SetNotSupported()\n5906 void COleControl::SetNotSupported()\n5907 void CRecordset::SetNullFieldStatus(unsigned long)\n5908 void CRecordset::SetNullParamStatus(unsigned long)\n5909 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5910 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5911 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5912 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5913 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5914 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5915 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5916 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5917 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5918 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5919 int CHeaderCtrl::SetOrderArray(int,int *)\n5920 void CPropertySet::SetOSVersion(unsigned long)\n5921 void CDC::SetOutputDC(HDC__ *)\n5922 void CMetaFileDC::SetOutputDC(HDC__ *)\n5923 void CPreviewDC::SetOutputDC(HDC__ *)\n5924 void CToolBar::SetOwner(CWnd *)\n5925 void COlePropertyPage::SetPageName(char const *)\n5926 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5927 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5928 void CStatusBar::SetPaneStyle(int,unsigned int)\n5929 int CStatusBar::SetPaneText(int,char const *,int)\n5930 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5931 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5932 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5933 void CRecordset::SetParamNull(int,int)\n5934 void CDocument::SetPathName(char const *,int)\n5935 void COleDocument::SetPathName(char const *,int)\n5936 void CRichEditDoc::SetPathName(char const *,int)\n5937 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5938 int CDC::SetPolyFillMode(int)\n5939 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5940 int COleClientItem::SetPrintDevice(tagPDA const *)\n5941 void CEditView::SetPrinterFont(CFont *)\n5942 int CPreviewView::SetPrintView(CView *)\n5943 int COlePropertyPage::SetPropCheck(char const *,int)\n5944 void COleControlSite::SetProperty(long,unsigned short,...)\n5945 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5946 void CWnd::SetProperty(long,unsigned short,...)\n5947 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5948 int COlePropertyPage::SetPropIndex(char const *,int)\n5949 int COlePropertyPage::SetPropRadio(char const *,int)\n5950 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5951 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n5952 int COlePropertyPage::SetPropText(char const *,short &)\n5953 int COlePropertyPage::SetPropText(char const *,int &)\n5954 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n5955 int COlePropertyPage::SetPropText(char const *,long &)\n5956 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n5957 int COlePropertyPage::SetPropText(char const *,float &)\n5958 int COlePropertyPage::SetPropText(char const *,double &)\n5959 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5960 long CWnd::SetProxy(IAccessibleProxy *)\n5961 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5962 void CCmdUI::SetRadio(int)\n5963 void CTestCmdUI::SetRadio(int)\n5964 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5965 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5966 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5967 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5968 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5969 void CSliderCtrl::SetRange(int,int,int)\n5970 int CInternetFile::SetReadBufferSize(unsigned int)\n5971 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5972 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5973 int COleControl::SetRectInContainer(tagRECT const *)\n5974 void CWinApp::SetRegistryKey(unsigned int)\n5975 void CWinApp::SetRegistryKey(char const *)\n5976 int CDC::SetROP2(int)\n5977 void CSplitterWnd::SetRowInfo(int,int,int)\n5978 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5979 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5980 void CRecordset::SetRowsetSize(unsigned long)\n5981 void CPreviewView::SetScaledSize(unsigned int)\n5982 void CPreviewDC::SetScaleRatio(int,int)\n5983 void CScrollView::SetScaleToFitSize(tagSIZE)\n5984 void CDockState::SetScreenSize(CSize &)\n5985 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5986 int CWnd::SetScrollPos(int,int,int)\n5987 void CWnd::SetScrollRange(int,int,int,int)\n5988 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5989 void CSplitterWnd::SetScrollStyle(unsigned long)\n5990 int CPropertySection::SetSectionName(char const *)\n5991 void CRichEditCtrl::SetSel(long,long)\n5992 void CSliderCtrl::SetSelection(int,int)\n5993 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n5994 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n5995 void CCheckListBox::SetSelectionCheck(int)\n5996 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5997 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5998 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5999 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6000 long CPrintDialogEx::SetSite(IUnknown *)\n6001 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6002 void CByteArray::SetSize(int,int)\n6003 void CDWordArray::SetSize(int,int)\n6004 void CObArray::SetSize(int,int)\n6005 void CPtrArray::SetSize(int,int)\n6006 void CStringArray::SetSize(int,int)\n6007 void CUIntArray::SetSize(int,int)\n6008 void CWordArray::SetSize(int,int)\n6009 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6010 void CSplitterWnd::SetSplitCursor(int)\n6011 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6012 void CRecordset::SetState(int,char const *,unsigned long)\n6013 void CFile::SetStatus(char const *,CFileStatus const &)\n6014 int CControlBar::SetStatusText(int)\n6015 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6016 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6017 int CDC::SetStretchBltMode(int)\n6018 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6019 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6020 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6021 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6022 void COleVariant::SetString(char const *,unsigned short)\n6023 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6024 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6025 int CDialogTemplate::SetSystemFont(unsigned short)\n6026 void CEditView::SetTabStops(int)\n6027 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6028 void CFileDialog::SetTemplate(char const *,char const *)\n6029 void CCmdUI::SetText(char const *)\n6030 void COleCmdUI::SetText(char const *)\n6031 void COleControl::SetText(char const *)\n6032 void CStatusCmdUI::SetText(char const *)\n6033 void CTestCmdUI::SetText(char const *)\n6034 void CToolCmdUI::SetText(char const *)\n6035 unsigned int CDC::SetTextAlign(unsigned int)\n6036 int CDC::SetTextCharacterExtra(int)\n6037 unsigned long CDC::SetTextColor(unsigned long)\n6038 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6039 int CDC::SetTextJustification(int,int)\n6040 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6041 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6042 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6043 void CDocument::SetTitle(char const *)\n6044 void CPropertySheet::SetTitle(char const *,unsigned int)\n6045 void CRichEditDoc::SetTitle(char const *)\n6046 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6047 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6048 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6049 void CPreviewDC::SetTopLeftOffset(CSize)\n6050 void CProperty::SetType(unsigned long)\n6051 void CRecordset::SetUpdateMethod()\n6052 void CThreadSlotData::SetValue(int,void *)\n6053 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6054 CSize CDC::SetViewportExt(int,int)\n6055 CSize CMetaFileDC::SetViewportExt(int,int)\n6056 CSize CPreviewDC::SetViewportExt(int,int)\n6057 CPoint CDC::SetViewportOrg(int,int)\n6058 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6059 CPoint CPreviewDC::SetViewportOrg(int,int)\n6060 CSize CDC::SetWindowExt(int,int)\n6061 CSize CPreviewDC::SetWindowExt(int,int)\n6062 CPoint CDC::SetWindowOrg(int,int)\n6063 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6064 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6065 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6066 void COleControlSite::SetWindowTextA(char const *)\n6067 void CWnd::SetWindowTextA(char const *)\n6068 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n6069 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n6070 int CInternetFile::SetWriteBufferSize(unsigned int)\n6071 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6072 long CDocObjectServer::XOleDocumentView::Show(int)\n6073 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6074 void CDockBar::ShowAll(int)\n6075 long CRichEditCntrItem::ShowContainerUI(int)\n6076 long CRichEditView::ShowContainerUI(int)\n6077 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6078 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6079 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6080 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6081 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6082 long COleClientItem::XOleClientSite::ShowObject()\n6083 long COleControlSite::XOleClientSite::ShowObject()\n6084 void CFrameWnd::ShowOwnedWindows(int)\n6085 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6086 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6087 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6088 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6089 int COleControlSite::ShowWindow(int)\n6090 int CWnd::ShowWindow(int)\n6091 tagSIZE const CScrollView::sizeDefault\n6092 int CMonthCalCtrl::SizeMinReq(int)\n6093 void CBitmapButton::SizeToContent()\n6094 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6095 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6096 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6097 int CAsyncSocket::Socket(int,long,int,int)\n6098 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6099 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6101 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6102 int CSplitterWnd::SplitColumn(int)\n6103 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6104 int CSplitterWnd::SplitRow(int)\n6105 int CDC::StartDocA(char const *)\n6106 void CDockContext::StartDrag(CPoint)\n6107 void CDockContext::StartResize(int,CPoint)\n6108 void CSplitterWnd::StartTracking(int)\n6109 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6110 void CSplitterWnd::StopTracking(int)\n6111 void CRuntimeClass::Store(CArchive &)const \n6112 void CRecordset::StoreFields()\n6113 void CRichEditView::Stream(CArchive &,int)\n6114 void CDockContext::Stretch(CPoint)\n6115 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6116 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6117 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6118 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6119 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6120 int CWnd::SubclassWindow(HWND__ *)\n6121 int COleDocObjectItem::SupportsIPrint()\n6122 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6123 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6124 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6125 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6126 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6127 void CRichEditView::TextNotFound(char const *)\n6128 int CMetaFileDC::TextOutA(int,int,char const *,int)\n6129 int CPreviewDC::TextOutA(int,int,char const *,int)\n6130 void CFileException::ThrowErrno(int,char const *)\n6131 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6132 void COleControl::ThrowError(long,char const *,unsigned int)\n6133 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n6134 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n6135 void CFileException::ThrowOsError(long,char const *)\n6136 void CDockContext::ToggleDocking()\n6137 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6138 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6139 COleVariant CDataSourceControl::ToVariant(int)\n6140 int CDockContext::Track()\n6141 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6142 void CSplitterWnd::TrackColumnSize(int,int)\n6143 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6144 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6145 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6146 void CSplitterWnd::TrackRowSize(int,int)\n6147 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6148 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6149 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6150 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6151 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6152 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6153 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n6154 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6155 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6156 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6157 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6158 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n6159 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6160 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6161 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6162 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6163 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6164 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n6166 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6167 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6168 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n6169 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6170 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n6172 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6173 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6174 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n6175 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6177 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n6178 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6179 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6180 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n6181 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6182 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6183 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6184 void COccManager::UIActivateControl(CWnd *)\n6185 long COleControl::XOleInPlaceObject::UIDeactivate()\n6186 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6187 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6188 void COleSafeArray::UnaccessData()\n6189 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6190 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6191 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6192 long COleControl::XOleObject::Unadvise(unsigned long)\n6193 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6194 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6195 void CRecordset::UnbindFieldsForUpdate()\n6196 long COleControl::XOleCache::Uncache(unsigned long)\n6197 long COleControl::XViewObject::Unfreeze(unsigned long)\n6198 int CEvent::Unlock()\n6199 int CMultiLock::Unlock(long,long *)\n6200 int CMultiLock::Unlock()\n6201 int CMutex::Unlock()\n6202 void COleSafeArray::Unlock()\n6203 int CSemaphore::Unlock(long,long *)\n6204 int CSingleLock::Unlock(long,long *)\n6205 int CSingleLock::Unlock()\n6206 void CTypeLibCache::Unlock()\n6207 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n6208 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n6209 void CEditView::UnlockBuffer()const \n6210 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6211 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6212 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6213 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6214 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6215 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6216 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6217 int COleObjectFactory::Unregister()\n6218 int COleTemplateServer::Unregister()\n6219 int CWinApp::Unregister()\n6220 int COleObjectFactory::UnregisterAll()\n6221 void CDocManager::UnregisterShellFileTypes()\n6222 void CWinApp::UnregisterShellFileTypes()\n6223 HWND__ * CWnd::UnsubclassWindow()\n6224 int CRecordset::Update()\n6225 long CDocObjectServer::XOleObject::Update()\n6226 long COleControl::XOleObject::Update()\n6227 long COleServerDoc::XOleObject::Update()\n6228 long COleServerItem::XOleObject::Update()\n6229 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6230 void CStatusBar::UpdateAllPanes(int,int)\n6231 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6232 void CScrollView::UpdateBars()\n6233 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6234 long CDataSourceControl::UpdateControls()\n6235 long CDataSourceControl::UpdateCursor()\n6236 int CWnd::UpdateData(int)\n6237 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6238 void CDocument::UpdateFrameCounts()\n6239 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n6240 int CRecordset::UpdateInsertDelete()\n6241 void COleClientItem::UpdateItemType()\n6242 int COleClientItem::UpdateLink()\n6243 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6244 void CRecentFileList::UpdateMenu(CCmdUI *)\n6245 void COleDocument::UpdateModifiedFlag()\n6246 void CRichEditDoc::UpdateModifiedFlag()\n6247 void CRichEditDoc::UpdateObjectCache()\n6248 void CWinApp::UpdatePrinterSelection(int)\n6249 int COleObjectFactory::UpdateRegistry(int)\n6250 void COleObjectFactory::UpdateRegistry(char const *)\n6251 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n6252 int COleObjectFactory::UpdateRegistryAll(int)\n6253 void CDockContext::UpdateState(int *,int)\n6254 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6255 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n6256 long CBrowserControlSite::UpdateUI()\n6257 long CDHtmlDialog::UpdateUI()\n6258 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n6259 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6260 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6261 void CDatabase::VerifyConnect()\n6262 unsigned long CRecordset::VerifyCursorSupport()\n6263 void CRecordset::VerifyDriverBehavior()\n6264 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6265 int COleObjectFactory::VerifyUserLicense()\n6266 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6267 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6268 int COleControl::WillAmbientsBeValidDuringLoad()\n6269 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6270 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6271 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6272 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6273 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6274 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6275 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6276 void CWinApp::WinHelpA(unsigned long,unsigned int)\n6277 void CWnd::WinHelpA(unsigned long,unsigned int)\n6278 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6279 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6280 CWnd const CWnd::wndBottom\n6281 CWnd const CWnd::wndNoTopMost\n6282 CWnd const CWnd::wndTop\n6283 CWnd const CWnd::wndTopMost\n6284 void CRichEditView::WrapChanged()\n6285 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6286 void CArchive::Write(void const *,unsigned int)\n6287 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6288 void CFile::Write(void const *,unsigned int)\n6289 void CGopherFile::Write(void const *,unsigned int)\n6290 int CImageList::Write(CArchive *)\n6291 void CInternetFile::Write(void const *,unsigned int)\n6292 void CMemFile::Write(void const *,unsigned int)\n6293 void COleStreamFile::Write(void const *,unsigned int)\n6294 void CSocketFile::Write(void const *,unsigned int)\n6295 void CStdioFile::Write(void const *,unsigned int)\n6296 void CArchive::WriteClass(CRuntimeconst *)\n6297 void CArchive::WriteCount(unsigned long)\n6298 void COleClientItem::WriteItem(CArchive &)\n6299 void COleClientItem::WriteItemCompound(CArchive &)\n6300 void COleClientItem::WriteItemFlat(CArchive &)\n6301 void CRecentFileList::WriteList()\n6302 int CPropertySection::WriteNameDictToStream(IStream *)\n6303 void CArchive::WriteObject(CObject const *)\n6304 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n6305 int CWinApp::WriteProfileInt(char const *,char const *,int)\n6306 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n6307 void CArchive::WriteString(char const *)\n6308 void CGopherFile::WriteString(char const *)\n6309 void CInternetFile::WriteString(char const *)\n6310 void CStdioFile::WriteString(char const *)\n6311 void CEditView::WriteToArchive(CArchive &)\n6312 int CProperty::WriteToStream(IStream *)\n6313 int CPropertySection::WriteToStream(IStream *)\n6314 int CPropertySet::WriteToStream(IStream *)\n6315 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6316 CDaoException::CDaoException()\n6317 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6318 CDaoIndexInfo::CDaoIndexInfo()\n6319 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6320 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6321 CDaoRecordView::CDaoRecordView(unsigned int)\n6322 CDaoRecordView::CDaoRecordView(char const *)\n6323 CDaoRelationInfo::CDaoRelationInfo()\n6324 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6325 CDaoWorkspace::CDaoWorkspace()\n6326 CDaoDatabase::~CDaoDatabase()\n6327 CDaoException::~CDaoException()\n6328 CDaoIndexInfo::~CDaoIndexInfo()\n6329 CDaoQueryDef::~CDaoQueryDef()\n6330 CDaoRecordset::~CDaoRecordset()\n6331 CDaoRecordView::~CDaoRecordView()\n6332 CDaoRelationInfo::~CDaoRelationInfo()\n6333 CDaoTableDef::~CDaoTableDef()\n6334 CDaoWorkspace::~CDaoWorkspace()\n6335 void CDaoRecordset::AddNew()\n6336 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6337 _DAODBEngine * AfxDaoGetEngine()\n6338 void AfxDaoInit()\n6339 void AfxDaoTerm()\n6340 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6341 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6342 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6343 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6344 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6345 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6346 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6347 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6348 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6349 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6350 void AfxThrowDaoException(int,long)\n6351 void CDaoRecordset::AllocCache()\n6352 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6353 void CDaoRecordset::AllocDatabase()\n6354 void AllocLongBinary(CLongBinary &,unsigned long)\n6355 void CDaoQueryDef::Append()\n6356 void CDaoTableDef::Append()\n6357 void CDaoWorkspace::Append()\n6358 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n6359 void CDaoWorkspace::BeginTrans()\n6360 void CDaoRecordset::BindFields()\n6361 void CDaoRecordset::BindParameters()\n6362 void CDaoRecordset::BuildParameterList()\n6363 void CDaoRecordset::BuildSelectList()\n6364 void CDaoRecordset::BuildSQL()\n6365 int CDaoRecordset::CanAppend()const \n6366 int CDaoRecordset::CanBookmark()\n6367 void CDaoRecordset::CancelUpdate()\n6368 int CDaoRecordset::CanRestart()\n6369 int CDaoRecordset::CanScroll()const \n6370 int CDaoDatabase::CanTransact()\n6371 int CDaoRecordset::CanTransact()\n6372 int CDaoDatabase::CanUpdate()\n6373 int CDaoQueryDef::CanUpdate()\n6374 int CDaoRecordset::CanUpdate()const \n6375 int CDaoTableDef::CanUpdate()\n6376 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6377 void CDaoRecordset::ClearFieldStatusFlags()\n6378 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6379 void CDaoDatabase::Close()\n6380 void CDaoQueryDef::Close()\n6381 void CDaoRecordset::Close()\n6382 void CDaoTableDef::Close()\n6383 void CDaoWorkspace::Close()\n6384 void CDaoWorkspace::CommitTrans()\n6385 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n6386 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n6387 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6388 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6389 void CDaoDatabase::Create(char const *,char const *,int)\n6390 void CDaoQueryDef::Create(char const *,char const *)\n6391 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n6392 void CDaoWorkspace::Create(char const *,char const *,char const *)\n6393 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6394 void CDaoTableDef::CreateField(char const *,short,long,long)\n6395 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6396 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6397 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n6398 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6399 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6400 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6401 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6402 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6403 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6404 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6405 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6406 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6407 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6408 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6409 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6410 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6411 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6412 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6413 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6414 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6415 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n6416 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6417 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6418 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n6419 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n6420 void CDaoRecordset::Delete()\n6421 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6422 void CDaoTableDef::DeleteField(int)\n6423 void CDaoTableDef::DeleteField(char const *)\n6424 void CDaoTableDef::DeleteIndex(int)\n6425 void CDaoTableDef::DeleteIndex(char const *)\n6426 void CDaoDatabase::DeleteQueryDef(char const *)\n6427 void CDaoDatabase::DeleteRelation(char const *)\n6428 void CDaoDatabase::DeleteTableDef(char const *)\n6429 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n6430 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n6431 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n6432 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n6433 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n6434 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n6435 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n6436 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n6437 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n6438 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n6439 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n6440 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6441 void CDaoRecordset::Edit()\n6442 void CDaoDatabase::Execute(char const *,int)\n6443 void CDaoQueryDef::Execute(int)\n6444 void CDaoRecordset::FillCache(long *,COleVariant *)\n6445 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6446 void CDaoException::FillErrorInfo()\n6447 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6448 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6449 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6450 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6451 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6452 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6453 int CDaoRecordset::Find(long,char const *)\n6454 int CDaoRecordset::FindFirst(char const *)\n6455 int CDaoRecordset::FindLast(char const *)\n6456 int CDaoRecordset::FindNext(char const *)\n6457 int CDaoRecordset::FindPrev(char const *)\n6458 void CDaoRecordset::Fixup()\n6459 void CDaoRecordset::FreeCache()\n6460 long CDaoRecordset::GetAbsolutePosition()\n6461 long CDaoTableDef::GetAttributes()\n6462 COleVariant CDaoRecordset::GetBookmark()\n6463 long CDaoRecordset::GetCacheSize()\n6464 COleVariant CDaoRecordset::GetCacheStart()\n6465 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6466 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n6467 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n6468 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n6469 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n6470 void CDaoRecordset::GetDataAndFixupNulls()\n6471 short CDaoWorkspace::GetDatabaseCount()\n6472 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6473 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n6474 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6475 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6476 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6477 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6478 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6479 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6480 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n6481 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n6482 short CDaoRecordset::GetEditMode()\n6483 short CDaoException::GetErrorCount()\n6484 void CDaoException::GetErrorInfo(int)\n6485 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n6486 short CDaoQueryDef::GetFieldCount()\n6487 short CDaoRecordset::GetFieldCount()\n6488 short CDaoTableDef::GetFieldCount()\n6489 int CDaoRecordset::GetFieldIndex(void *)\n6490 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6491 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6492 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6493 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6494 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6495 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n6496 unsigned long CDaoRecordset::GetFieldLength(int)\n6497 COleVariant CDaoRecordset::GetFieldValue(int)\n6498 COleVariant CDaoRecordset::GetFieldValue(char const *)\n6499 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6500 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n6501 short CDaoRecordset::GetIndexCount()\n6502 short CDaoTableDef::GetIndexCount()\n6503 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6504 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6505 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6506 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n6507 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n6508 int CDaoWorkspace::GetIsolateODBCTrans()\n6509 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6510 int CDaoRecordset::GetLockingMode()\n6511 short CDaoWorkspace::GetLoginTimeout()\n6512 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6513 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n6514 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n6515 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n6516 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n6517 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n6518 short CDaoQueryDef::GetODBCTimeout()\n6519 short CDaoQueryDef::GetParameterCount()\n6520 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6521 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n6522 COleVariant CDaoQueryDef::GetParamValue(int)\n6523 COleVariant CDaoQueryDef::GetParamValue(char const *)\n6524 COleVariant CDaoRecordset::GetParamValue(int)\n6525 COleVariant CDaoRecordset::GetParamValue(char const *)\n6526 float CDaoRecordset::GetPercentPosition()\n6527 short CDaoDatabase::GetQueryDefCount()\n6528 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6529 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n6530 short CDaoDatabase::GetQueryTimeout()\n6531 long CDaoRecordset::GetRecordCount()\n6532 long CDaoTableDef::GetRecordCount()\n6533 long CDaoDatabase::GetRecordsAffected()\n6534 long CDaoQueryDef::GetRecordsAffected()\n6535 short CDaoDatabase::GetRelationCount()\n6536 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6537 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n6538 int CDaoQueryDef::GetReturnsRecords()\n6539 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6540 CRuntime* CDaoException::GetRuntimeClass()const \n6541 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6542 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6543 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6544 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6545 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6546 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n6547 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n6548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n6549 short CDaoDatabase::GetTableDefCount()\n6550 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6551 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n6552 CRuntime* CDaoDatabase::GetThisClass()\n6553 CRuntime* CDaoException::GetThisClass()\n6554 CRuntime* CDaoQueryDef::GetThisClass()\n6555 CRuntime* CDaoRecordset::GetThisClass()\n6556 CRuntime* CDaoRecordView::GetThisClass()\n6557 CRuntime* CDaoTableDef::GetThisClass()\n6558 CRuntime* CDaoWorkspace::GetThisClass()\n6559 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6560 short CDaoQueryDef::GetType()\n6561 short CDaoRecordset::GetType()\n6562 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n6563 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n6564 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n6565 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n6566 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n6567 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n6568 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n6569 short CDaoWorkspace::GetWorkspaceCount()\n6570 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6571 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n6572 void CDaoWorkspace::Idle(int)\n6573 void CDaoWorkspace::InitDatabasesCollection()\n6574 void CDaoException::InitErrorsCollection()\n6575 void CDaoQueryDef::InitFieldsCollection()\n6576 void CDaoRecordset::InitFieldsCollection()\n6577 void CDaoTableDef::InitFieldsCollection()\n6578 void CDaoWorkspace::InitializeEngine()\n6579 void CDaoRecordset::InitIndexesCollection()\n6580 void CDaoTableDef::InitIndexesCollection()\n6581 void CDaoQueryDef::InitParametersCollection()\n6582 void CDaoDatabase::InitQueryDefsCollection()\n6583 void CDaoDatabase::InitRelationsCollection()\n6584 void CDaoDatabase::InitTableDefsCollection()\n6585 void CDaoDatabase::InitWorkspace()\n6586 void CDaoWorkspace::InitWorkspacesCollection()\n6587 int CDaoRecordset::IsBOF()const \n6588 int CDaoRecordset::IsDeleted()const \n6589 int CDaoRecordset::IsEOF()const \n6590 int CDaoRecordset::IsFieldDirty(void *)\n6591 int CDaoRecordset::IsFieldNull(void *)\n6592 int CDaoRecordset::IsFieldNullable(void *)\n6593 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6594 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6595 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6596 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6597 int CDaoRecordset::IsMatch()\n6598 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6599 int CDaoRecordView::IsOnFirstRecord()\n6600 int CDaoRecordView::IsOnLastRecord()\n6601 int CDaoFieldExchange::IsValidOperation()\n6602 void CDaoRecordset::LoadFields()\n6603 void CDaoRecordset::MarkForAddNew()\n6604 void CDaoRecordset::MarkForEdit()\n6605 void CDaoRecordset::Move(long)\n6606 void CDaoRecordset::MoveFirst()\n6607 void CDaoRecordset::MoveLast()\n6608 void CDaoRecordset::MoveNext()\n6609 void CDaoRecordset::MovePrev()\n6610 void CDaoRecordView::OnInitialUpdate()\n6611 int CDaoRecordView::OnMove(unsigned int)\n6612 void CDaoDatabase::Open(char const *,int,int,char const *)\n6613 void CDaoQueryDef::Open(char const *)\n6614 void CDaoRecordset::Open(int,char const *,int)\n6615 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6616 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6617 void CDaoTableDef::Open(char const *)\n6618 void CDaoWorkspace::Open(char const *)\n6619 void CDaoTableDef::RefreshLink()\n6620 void CDaoWorkspace::RepairDatabase(char const *)\n6621 void CDaoRecordset::Requery()\n6622 void CDaoWorkspace::Rollback()\n6623 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n6624 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n6625 void CDaoRecordset::SetAbsolutePosition(long)\n6626 void CDaoTableDef::SetAttributes(long)\n6627 void CDaoRecordset::SetBookmark(COleVariant)\n6628 void CDaoRecordset::SetCacheSize(long)\n6629 void CDaoRecordset::SetCacheStart(COleVariant)\n6630 void CDaoQueryDef::SetConnect(char const *)\n6631 void CDaoTableDef::SetConnect(char const *)\n6632 void CDaoRecordset::SetCurrentIndex(char const *)\n6633 void CDaoRecordset::SetCursorAttributes()\n6634 void CDaoWorkspace::SetDefaultPassword(char const *)\n6635 void CDaoWorkspace::SetDefaultUser(char const *)\n6636 void CDaoRecordset::SetDirtyFields()\n6637 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6638 void CDaoRecordset::SetFieldDirty(void *,int)\n6639 void CDaoRecordset::SetFieldNull(void *,int)\n6640 void CDaoRecordset::SetFieldValue(int,char const *)\n6641 void CDaoRecordset::SetFieldValue(char const *,char const *)\n6642 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6643 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n6644 void CDaoRecordset::SetFieldValueNull(int)\n6645 void CDaoRecordset::SetFieldValueNull(char const *)\n6646 void CDaoWorkspace::SetIniPath(char const *)\n6647 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6648 void CDaoRecordset::SetLockingMode(int)\n6649 void CDaoWorkspace::SetLoginTimeout(short)\n6650 void CDaoQueryDef::SetName(char const *)\n6651 void CDaoTableDef::SetName(char const *)\n6652 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6653 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6654 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6655 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6656 void CDaoQueryDef::SetODBCTimeout(short)\n6657 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6658 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n6659 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6660 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n6661 void CDaoQueryDef::SetParamValueNull(int)\n6662 void CDaoQueryDef::SetParamValueNull(char const *)\n6663 void CDaoRecordset::SetParamValueNull(int)\n6664 void CDaoRecordset::SetParamValueNull(char const *)\n6665 void CDaoRecordset::SetPercentPosition(float)\n6666 void CDaoDatabase::SetQueryTimeout(short)\n6667 void CDaoQueryDef::SetReturnsRecords(int)\n6668 void CDaoTableDef::SetSourceTableName(char const *)\n6669 void CDaoQueryDef::SetSQL(char const *)\n6670 void CDaoTableDef::SetValidationRule(char const *)\n6671 void CDaoTableDef::SetValidationText(char const *)\n6672 void CDaoRecordset::StoreFields()\n6673 void CDaoRecordset::StripBrackets(char const *,char *)\n6674 void CDaoDatabase::ThrowDaoException(int)\n6675 void CDaoQueryDef::ThrowDaoException(int)\n6676 void CDaoRecordset::ThrowDaoException(int)\n6677 void CDaoTableDef::ThrowDaoException(int)\n6678 void CDaoWorkspace::ThrowDaoException(int)\n6679 void ThrowGetRowsDaoException(long)\n6680 void CDaoRecordset::Update()\n6681 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6682 CRuntimeconst CDaoException::classCDaoException\n6683 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6684 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6685 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6686 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6687 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6688 CRuntimeconst CDatabase::classCDatabase\n6689 CRuntimeconst CDBException::classCDBException\n6690 CRuntimeconst CLongBinary::classCLongBinary\n6691 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6692 CRuntimeconst CRecordset::classCRecordset\n6693 CRuntimeconst CRecordView::classCRecordView\n6697 _AFX_DAO_STATE * AfxGetDaoState()\n6698 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6699 _AFX_DAO_STATE::_AFX_DAO_STATE()\n6700 int CDC::SetGraphicsMode(int)\n6701 int CDC::SetWorldTransform(tagXFORM const *)\n6702 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n6703 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager()const \n6704 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager()const \n6705 void AFX_MODULE_STATE::CreateActivationContext()\n6706 CControlCreationInfo::CControlCreationInfo()\n6707 CControlSiteFactoryMgr::CControlSiteFactoryMgr()\n6708 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n6709 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n6710 COleControlSiteOrWnd::COleControlSiteOrWnd()\n6711 CControlSiteFactoryMgr::~CControlSiteFactoryMgr()\n6712 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n6713 int AfxRegisterSiteFactory(IControlSiteFactory *)\n6714 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n6715 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n6716 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n6717 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n6718 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n6719 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n6720 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n6721 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n6722 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n6723 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n6724 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo()\n6725 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo()\n6726 int CControlCreationInfo::IsManaged()const \n6727 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n6728 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n6729 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n6730 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n6731 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n6732 __POSITION * CWnd::FindSiteOrWndWithFocus()const \n6733 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n6734 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n6735 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n6736 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n6737 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n6738 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n6739 int AfxIsValidAtom(unsigned short)\n6740 int AfxIsValidAtom(char const *)\n6741 COleVariant const & COleVariant::operator=(__int64)\n6742 COleVariant const & COleVariant::operator=(unsigned __int64)\n6743 void AfxUnregisterWndClasses()\n6744 void CWinApp::DoEnableModeless(int)\n6747 HWND__ * CPropertyPage::OnWizardFinishEx()\n6749 int CWinApp::ShowAppMessageBox(CWinApp *,char const *,unsigned int,unsigned int)\n6750 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n6751 int AfxActivateActCtx(void *,unsigned long *)\n6752 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n6753 void * AfxCreateActCtxW(tagACTCTXW const *)\n6754 int AfxDeactivateActCtx(unsigned long,unsigned long)\n6755 void AfxReleaseActCtx(void *)\n6756 void COleClientItem::GetItemName(char *,unsigned int)const \n6757 HINSTANCE__ * AfxLoadLibraryEx(char const *,void *,unsigned long)\n6758 void CArchive::EnsureRead(void *,unsigned int)\n6759 int AfxIsModuleDll()\n6760 int AfxInitCurrentStateApp()\n6761 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n6762 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n6763 HINSTANCE__ * AfxGetInstanceHandleHelper()\n6764 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo()\n6765 CFormView::~CFormView()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc80d.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 void DumpElements<COleVariant>(CDumpContext &,COleVariant const *,int)\n258 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n259 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n260 unsigned int HashKey<char const *>(char const *)\n261 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n262 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n263 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n264 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n265 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n317 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n318 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n319 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n320 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n321 _AFX_OLE_STATE::_AFX_OLE_STATE()\n322 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n323 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n324 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n325 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n326 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n327 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n328 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n329 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n330 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n331 CAnimateCtrl::CAnimateCtrl()\n332 CArchive::CArchive(CArchive const &)\n333 CArchive::CArchive(CFile *,unsigned int,int,void *)\n334 CArchiveException::CArchiveException(int,char const *)\n335 CArchivePropExchange::CArchivePropExchange(CArchive &)\n336 CArchiveStream::CArchiveStream(CArchive *)\n337 CAsyncMonikerFile::CAsyncMonikerFile()\n338 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n339 CAsyncSocket::CAsyncSocket()\n340 CBitmap::CBitmap()\n341 CBitmapButton::CBitmapButton()\n342 CBlobProperty::CBlobProperty(void *)\n343 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n344 CBrush::CBrush(int,unsigned long)\n345 CBrush::CBrush(unsigned long)\n346 CBrush::CBrush(CBitmap *)\n347 CBrush::CBrush()\n348 CButton::CButton()\n349 CByteArray::CByteArray()\n350 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n351 CCachedDataPathProperty::CCachedDataPathProperty(char const *,COleControl *)\n352 CCheckListBox::CCheckListBox()\n353 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n354 CClientDC::CClientDC(CWnd *)\n355 CCmdTarget::CCmdTarget()\n356 CCmdUI::CCmdUI()\n357 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n358 CComboBox::CComboBox()\n359 CComboBoxEx::CComboBoxEx()\n360 CCommandLineInfo::CCommandLineInfo()\n361 CCommonDialog::CCommonDialog(CWnd *)\n362 CConnectionPoint::CConnectionPoint()\n363 CControlBar::CControlBar()\n364 CControlBarInfo::CControlBarInfo()\n365 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n366 CControlFrameWnd::CControlFrameWnd(COleControl *)\n367 CCreateContext::CCreateContext()\n368 CCriticalSection::CCriticalSection()\n369 CCtrlView::CCtrlView(char const *,unsigned long)\n370 CDatabase::CDatabase()\n371 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n372 CDataExchange::CDataExchange(CWnd *,int)\n373 CDataPathProperty::CDataPathProperty(COleControl *)\n374 CDataPathProperty::CDataPathProperty(char const *,COleControl *)\n375 CDataSourceControl::CDataSourceControl(COleControlSite *)\n376 CDateTimeCtrl::CDateTimeCtrl()\n377 CDBException::CDBException(short)\n378 CDBVariant::CDBVariant()\n379 CDC::CDC()\n380 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n381 CDHtmlControlSink::CDHtmlControlSink()\n382 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n383 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n384 CDHtmlDialog::CDHtmlDialog()\n385 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n386 CDialog::CDialog(unsigned int,CWnd *)\n387 CDialog::CDialog(char const *,CWnd *)\n388 CDialog::CDialog()\n389 CDialogBar::CDialogBar()\n390 CDialogTemplate::CDialogTemplate(void *)\n391 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n392 CDocItem::CDocItem()\n393 CDockBar::CDockBar(int)\n394 CDockContext::CDockContext(CControlBar *)\n395 CDockState::CDockState()\n396 CDocManager::CDocManager()\n397 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n398 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n399 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n400 CDocument::CDocument()\n401 CDragListBox::CDragListBox()\n402 CDumpContext::CDumpContext(CDumpContext const &)\n403 CDumpContext::CDumpContext(CFile *)\n404 CDWordArray::CDWordArray()\n405 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n406 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n407 CEdit::CEdit()\n408 CEditView::CEditView()\n409 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n410 CEnumConnections::CEnumConnections(void const *,unsigned int)\n411 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n412 CEnumFormatEtc::CEnumFormatEtc()\n413 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n414 CException::CException(int)\n415 CException::CException()\n416 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n417 CFile::CFile(void *)\n418 CFile::CFile(char const *,unsigned int)\n419 CFile::CFile()\n420 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long)\n421 CFileException::CFileException(int,long,char const *)\n422 CFileFind::CFileFind()\n423 CFindReplaceDialog::CFindReplaceDialog()\n424 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n425 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n426 CFont::CFont()\n427 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n428 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n429 CFontHolder::CFontHolder(IPropertyNotifySink *)\n430 CFormView::CFormView(unsigned int)\n431 CFormView::CFormView(char const *)\n432 CFrameWnd::CFrameWnd()\n433 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n434 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n435 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n436 CGdiObject::CGdiObject()\n437 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n438 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n439 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n440 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n441 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n442 CGopherLocator::CGopherLocator(char const *,unsigned long)\n443 CGopherLocator::CGopherLocator(CGopherLocator const &)\n444 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n445 CHeaderCtrl::CHeaderCtrl()\n446 CHotKeyCtrl::CHotKeyCtrl()\n447 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n448 CHtmlEditCtrl::CHtmlEditCtrl()\n449 CHtmlEditDoc::CHtmlEditDoc()\n450 CHtmlEditView::CHtmlEditView()\n451 CHtmlView::CHtmlView()\n452 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n453 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n454 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n455 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n456 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n457 CImageList::CImageList()\n458 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n459 CInternetException::CInternetException(unsigned long)\n460 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n461 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n462 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n463 CInvalidArgException::CInvalidArgException(int,unsigned int)\n464 CInvalidArgException::CInvalidArgException()\n465 CIPAddressCtrl::CIPAddressCtrl()\n466 CListBox::CListBox()\n467 CListCtrl::CListCtrl()\n468 CListView::CListView()\n469 CLongBinary::CLongBinary()\n470 CMapPtrToPtr::CMapPtrToPtr(int)\n471 CMapPtrToWord::CMapPtrToWord(int)\n472 CMapStringToOb::CMapStringToOb(int)\n473 CMapStringToPtr::CMapStringToPtr(int)\n474 CMapStringToString::CMapStringToString(int)\n475 CMapWordToOb::CMapWordToOb(int)\n476 CMapWordToPtr::CMapWordToPtr(int)\n477 CMDIChildWnd::CMDIChildWnd()\n478 CMDIFrameWnd::CMDIFrameWnd()\n479 CMemFile::CMemFile(unsigned int)\n480 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n481 CMemoryException::CMemoryException(int,unsigned int)\n482 CMemoryException::CMemoryException()\n483 CMemoryState::CMemoryState()\n484 CMenu::CMenu()\n485 CMetaFileDC::CMetaFileDC()\n486 CMiniDockFrameWnd::CMiniDockFrameWnd()\n487 CMiniFrameWnd::CMiniFrameWnd()\n488 CMonikerFile::CMonikerFile()\n489 CMonthCalCtrl::CMonthCalCtrl()\n490 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n491 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n492 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n493 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n494 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n495 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n496 CNotSupportedException::CNotSupportedException(int,unsigned int)\n497 CNotSupportedException::CNotSupportedException()\n498 CObArray::CObArray()\n499 CObject::CObject()\n500 CObList::CObList(int)\n501 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n502 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n503 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n504 COleClientItem::COleClientItem(COleDocument *)\n505 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n506 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n507 COleControl::COleControl()\n508 COleControlContainer::COleControlContainer(CWnd *)\n509 COleControlLock::COleControlLock(_GUID const &)\n510 COleControlSite::COleControlSite(COleControlContainer *)\n511 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n512 COleCurrency::COleCurrency(tagVARIANT const &)\n513 COleCurrency::COleCurrency(COleCurrency const &)\n514 COleCurrency::COleCurrency(long,long)\n515 COleCurrency::COleCurrency(union tagCY)\n516 COleCurrency::COleCurrency()\n517 COleDataObject::COleDataObject()\n518 COleDataSource::COleDataSource()\n519 COleDialog::COleDialog(CWnd *)\n520 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n521 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n522 COleDispatchDriver::COleDispatchDriver()\n523 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n524 COleDocIPFrameWnd::COleDocIPFrameWnd()\n525 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n526 COleDocument::COleDocument()\n527 COleDropSource::COleDropSource()\n528 COleDropTarget::COleDropTarget()\n529 COleException::COleException()\n530 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n531 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n532 COleIPFrameWnd::COleIPFrameWnd()\n533 COleLinkingDoc::COleLinkingDoc()\n534 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n535 COleMessageFilter::COleMessageFilter()\n536 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n537 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n538 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n539 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n540 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n541 COleResizeBar::COleResizeBar()\n542 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n543 COleSafeArray::COleSafeArray(tagVARIANT const &)\n544 COleSafeArray::COleSafeArray(COleSafeArray const &)\n545 COleSafeArray::COleSafeArray(COleVariant const &)\n546 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n547 COleSafeArray::COleSafeArray(tagVARIANT const *)\n548 COleSafeArray::COleSafeArray()\n549 COleServerDoc::COleServerDoc()\n550 COleServerItem::COleServerItem(COleServerDoc *,int)\n551 COleStreamFile::COleStreamFile(IStream *)\n552 COleTemplateServer::COleTemplateServer()\n553 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n554 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n555 COleVariant::COleVariant(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n556 COleVariant::COleVariant(tagVARIANT const &)\n557 COleVariant::COleVariant(COleVariant const &)\n558 COleVariant::COleVariant(CByteArray const &)\n559 COleVariant::COleVariant(CLongBinary const &)\n560 COleVariant::COleVariant(COleCurrency const &)\n561 COleVariant::COleVariant(ATL::COleDateTime const &)\n562 COleVariant::COleVariant(unsigned char)\n563 COleVariant::COleVariant(short,unsigned short)\n564 COleVariant::COleVariant(long,unsigned short)\n565 COleVariant::COleVariant(float)\n566 COleVariant::COleVariant(double)\n567 COleVariant::COleVariant(char const *)\n568 COleVariant::COleVariant(char const *,unsigned short)\n569 COleVariant::COleVariant(_ITEMIDLIST const *)\n570 COleVariant::COleVariant(tagVARIANT const *)\n571 COleVariant::COleVariant()\n572 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n573 CPaintDC::CPaintDC(CWnd *)\n574 CPalette::CPalette()\n575 CPen::CPen(int,int,unsigned long)\n576 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n577 CPen::CPen()\n578 CPictureHolder::CPictureHolder()\n579 CPreviewDC::CPreviewDC()\n580 CPreviewView::CPreviewView()\n581 CPrintDialog::CPrintDialog(tagPDA &)\n582 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n583 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n584 CPrintInfo::CPrintInfo()\n585 CPrintPreviewState::CPrintPreviewState()\n586 CProgressCtrl::CProgressCtrl()\n587 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n588 CProperty::CProperty(unsigned long,void * const,unsigned long)\n589 CProperty::CProperty()\n590 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n591 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n592 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n593 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n594 CPropertyPage::CPropertyPage()\n595 CPropertySection::CPropertySection(_GUID)\n596 CPropertySection::CPropertySection()\n597 CPropertySet::CPropertySet(_GUID)\n598 CPropertySet::CPropertySet()\n599 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n600 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n601 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n602 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n603 CPropertySheet::CPropertySheet()\n604 CPropExchange::CPropExchange()\n605 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n606 CPtrArray::CPtrArray()\n607 CPtrList::CPtrList(int)\n608 CReBar::CReBar()\n609 CReBarCtrl::CReBarCtrl()\n610 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n611 CRecordset::CRecordset(CDatabase *)\n612 CRecordView::CRecordView(unsigned int)\n613 CRecordView::CRecordView(char const *)\n614 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n615 CRectTracker::CRectTracker()\n616 CReObject::CReObject(CRichEditCntrItem *)\n617 CReObject::CReObject()\n618 CResetPropExchange::CResetPropExchange()\n619 CResourceException::CResourceException(int,unsigned int)\n620 CResourceException::CResourceException()\n621 CRgn::CRgn()\n622 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n623 CRichEditCtrl::CRichEditCtrl()\n624 CRichEditDoc::CRichEditDoc()\n625 CRichEditView::CRichEditView()\n626 CScrollBar::CScrollBar()\n627 CScrollView::CScrollView()\n628 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n629 CSharedFile::CSharedFile(unsigned int,unsigned int)\n630 CSimpleException::CSimpleException(int)\n631 CSimpleException::CSimpleException()\n632 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n633 CSingleLock::CSingleLock(CSyncObject *,int)\n634 CSliderCtrl::CSliderCtrl()\n635 CSocket::CSocket()\n636 CSocketFile::CSocketFile(CSocket *,int)\n637 CSocketWnd::CSocketWnd()\n638 CSpinButtonCtrl::CSpinButtonCtrl()\n639 CSplitterWnd::CSplitterWnd()\n640 CStatic::CStatic()\n641 CStatusBar::CStatusBar()\n642 CStatusBarCtrl::CStatusBarCtrl()\n643 CStdioFile::CStdioFile(_iobuf *)\n644 CStdioFile::CStdioFile(char const *,unsigned int)\n645 CStdioFile::CStdioFile()\n646 CStringArray::CStringArray()\n647 CStringList::CStringList(int)\n648 CSyncObject::CSyncObject(char const *)\n649 CTabCtrl::CTabCtrl()\n650 CTestCmdUI::CTestCmdUI()\n651 CThreadSlotData::CThreadSlotData()\n652 CToolBar::CToolBar()\n653 CToolBarCtrl::CToolBarCtrl()\n654 CToolTipCtrl::CToolTipCtrl()\n655 CTreeCtrl::CTreeCtrl()\n656 CTreeView::CTreeView()\n657 CUIntArray::CUIntArray()\n658 CUserException::CUserException(int,unsigned int)\n659 CUserException::CUserException()\n660 CView::CView()\n661 CWaitCursor::CWaitCursor()\n662 CWinApp::CWinApp(char const *)\n663 CWindowDC::CWindowDC(CWnd *)\n664 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n665 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n666 CWinThread::CWinThread()\n667 CWnd::CWnd(HWND__ *)\n668 CWnd::CWnd()\n669 CWordArray::CWordArray()\n670 CPreviewView::PAGE_INFO::PAGE_INFO()\n671 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n672 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n673 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n675 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n676 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n677 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n678 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n679 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n680 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n681 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n682 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n683 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n684 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n685 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n686 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n687 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n688 CAnimateCtrl::~CAnimateCtrl()\n689 CArchive::~CArchive()\n690 CArchiveException::~CArchiveException()\n691 CAsyncMonikerFile::~CAsyncMonikerFile()\n692 CAsyncSocket::~CAsyncSocket()\n693 CBitmap::~CBitmap()\n694 CBrush::~CBrush()\n695 CButton::~CButton()\n696 CByteArray::~CByteArray()\n697 CClientDC::~CClientDC()\n698 CCmdTarget::~CCmdTarget()\n699 CComboBox::~CComboBox()\n700 CComboBoxEx::~CComboBoxEx()\n701 CCommandLineInfo::~CCommandLineInfo()\n702 CConnectionPoint::~CConnectionPoint()\n703 CControlBar::~CControlBar()\n704 CCriticalSection::~CCriticalSection()\n705 CCtrlView::~CCtrlView()\n706 CDatabase::~CDatabase()\n707 CDataSourceControl::~CDataSourceControl()\n708 CDateTimeCtrl::~CDateTimeCtrl()\n709 CDBException::~CDBException()\n710 CDBVariant::~CDBVariant()\n711 CDC::~CDC()\n712 CDHtmlControlSink::~CDHtmlControlSink()\n713 CDHtmlDialog::~CDHtmlDialog()\n714 CDialog::~CDialog()\n715 CDialogBar::~CDialogBar()\n716 CDialogTemplate::~CDialogTemplate()\n717 CDocItem::~CDocItem()\n718 CDockBar::~CDockBar()\n719 CDockContext::~CDockContext()\n720 CDockState::~CDockState()\n721 CDocManager::~CDocManager()\n722 CDocObjectServer::~CDocObjectServer()\n723 CDocObjectServerItem::~CDocObjectServerItem()\n724 CDocTemplate::~CDocTemplate()\n725 CDocument::~CDocument()\n726 CDragListBox::~CDragListBox()\n727 CDWordArray::~CDWordArray()\n728 CDynLinkLibrary::~CDynLinkLibrary()\n729 CEdit::~CEdit()\n730 CEditView::~CEditView()\n731 CEnumArray::~CEnumArray()\n732 CEnumConnections::~CEnumConnections()\n733 CEnumConnPoints::~CEnumConnPoints()\n734 CEnumFormatEtc::~CEnumFormatEtc()\n735 CEnumOleVerb::~CEnumOleVerb()\n736 CEnumUnknown::~CEnumUnknown()\n737 CEvent::~CEvent()\n738 CException::~CException()\n739 CFile::~CFile()\n740 CFileDialog::~CFileDialog()\n741 CFileException::~CFileException()\n742 CFileFind::~CFileFind()\n743 CFixedAlloc::~CFixedAlloc()\n744 CFixedAllocNoSync::~CFixedAllocNoSync()\n745 CFont::~CFont()\n746 CFontHolder::~CFontHolder()\n747 CFrameWnd::~CFrameWnd()\n748 CFtpConnection::~CFtpConnection()\n749 CFtpFileFind::~CFtpFileFind()\n750 CGdiObject::~CGdiObject()\n751 CGopherConnection::~CGopherConnection()\n752 CGopherFile::~CGopherFile()\n753 CGopherFileFind::~CGopherFileFind()\n754 CGopherLocator::~CGopherLocator()\n755 CHeaderCtrl::~CHeaderCtrl()\n756 CHotKeyCtrl::~CHotKeyCtrl()\n757 CHtmlControlSite::~CHtmlControlSite()\n758 CHtmlEditCtrl::~CHtmlEditCtrl()\n759 CHtmlEditDoc::~CHtmlEditDoc()\n760 CHtmlEditView::~CHtmlEditView()\n761 CHtmlView::~CHtmlView()\n762 CHttpConnection::~CHttpConnection()\n763 CHttpFile::~CHttpFile()\n764 CImageList::~CImageList()\n765 CInternetConnection::~CInternetConnection()\n766 CInternetException::~CInternetException()\n767 CInternetFile::~CInternetFile()\n768 CInternetSession::~CInternetSession()\n769 CInvalidArgException::~CInvalidArgException()\n770 CIPAddressCtrl::~CIPAddressCtrl()\n771 CListBox::~CListBox()\n772 CListCtrl::~CListCtrl()\n773 CLongBinary::~CLongBinary()\n774 CMapPtrToPtr::~CMapPtrToPtr()\n775 CMapPtrToWord::~CMapPtrToWord()\n776 CMapStringToOb::~CMapStringToOb()\n777 CMapStringToPtr::~CMapStringToPtr()\n778 CMapStringToString::~CMapStringToString()\n779 CMapWordToOb::~CMapWordToOb()\n780 CMapWordToPtr::~CMapWordToPtr()\n781 CMemFile::~CMemFile()\n782 CMemoryException::~CMemoryException()\n783 CMenu::~CMenu()\n784 CMetaFileDC::~CMetaFileDC()\n785 CMiniFrameWnd::~CMiniFrameWnd()\n786 CMonikerFile::~CMonikerFile()\n787 CMonthCalCtrl::~CMonthCalCtrl()\n788 CMultiDocTemplate::~CMultiDocTemplate()\n789 CMultiLock::~CMultiLock()\n790 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n791 CMutex::~CMutex()\n792 CNotSupportedException::~CNotSupportedException()\n793 CObArray::~CObArray()\n794 CObject::~CObject()\n795 CObList::~CObList()\n796 COleBusyDialog::~COleBusyDialog()\n797 COleChangeIconDialog::~COleChangeIconDialog()\n798 COleChangeSourceDialog::~COleChangeSourceDialog()\n799 COleClientItem::~COleClientItem()\n800 COleCntrFrameWnd::~COleCntrFrameWnd()\n801 COleControl::~COleControl()\n802 COleControlContainer::~COleControlContainer()\n803 COleControlLock::~COleControlLock()\n804 COleControlSite::~COleControlSite()\n805 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n806 COleConvertDialog::~COleConvertDialog()\n807 COleDataObject::~COleDataObject()\n808 COleDataSource::~COleDataSource()\n809 COleDispatchDriver::~COleDispatchDriver()\n810 COleDispatchException::~COleDispatchException()\n811 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n812 COleDocObjectItem::~COleDocObjectItem()\n813 COleDocument::~COleDocument()\n814 COleDropTarget::~COleDropTarget()\n815 COleException::~COleException()\n816 COleFrameHook::~COleFrameHook()\n817 COleInsertDialog::~COleInsertDialog()\n818 COleIPFrameWnd::~COleIPFrameWnd()\n819 COleLinkingDoc::~COleLinkingDoc()\n820 COleLinksDialog::~COleLinksDialog()\n821 COleMessageFilter::~COleMessageFilter()\n822 COleObjectFactory::~COleObjectFactory()\n823 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n824 COlePropertyPage::~COlePropertyPage()\n825 COleResizeBar::~COleResizeBar()\n826 COleSafeArray::~COleSafeArray()\n827 COleServerDoc::~COleServerDoc()\n828 COleServerItem::~COleServerItem()\n829 COleStreamFile::~COleStreamFile()\n830 COleUpdateDialog::~COleUpdateDialog()\n831 COleVariant::~COleVariant()\n832 CPaintDC::~CPaintDC()\n833 CPalette::~CPalette()\n834 CPen::~CPen()\n835 CPictureHolder::~CPictureHolder()\n836 CPreviewDC::~CPreviewDC()\n837 CPreviewView::~CPreviewView()\n838 CPrintInfo::~CPrintInfo()\n839 CProcessLocalObject::~CProcessLocalObject()\n840 CProgressCtrl::~CProgressCtrl()\n841 CPropbagPropExchange::~CPropbagPropExchange()\n842 CProperty::~CProperty()\n843 CPropertyPage::~CPropertyPage()\n844 CPropertySection::~CPropertySection()\n845 CPropertySet::~CPropertySet()\n846 CPropertySheet::~CPropertySheet()\n847 CPtrArray::~CPtrArray()\n848 CPtrList::~CPtrList()\n849 CRecentFileList::~CRecentFileList()\n850 CRecordset::~CRecordset()\n851 CRecordView::~CRecordView()\n852 CRectTracker::~CRectTracker()\n853 CReObject::~CReObject()\n854 CResourceException::~CResourceException()\n855 CRgn::~CRgn()\n856 CRichEditCntrItem::~CRichEditCntrItem()\n857 CRichEditCtrl::~CRichEditCtrl()\n858 CScrollBar::~CScrollBar()\n859 CScrollView::~CScrollView()\n860 CSemaphore::~CSemaphore()\n861 CSharedFile::~CSharedFile()\n862 CSimpleException::~CSimpleException()\n863 CSingleDocTemplate::~CSingleDocTemplate()\n864 CSingleLock::~CSingleLock()\n865 CSliderCtrl::~CSliderCtrl()\n866 CSocket::~CSocket()\n867 CSocketFile::~CSocketFile()\n868 CSpinButtonCtrl::~CSpinButtonCtrl()\n869 CSplitterWnd::~CSplitterWnd()\n870 CStatic::~CStatic()\n871 CStatusBar::~CStatusBar()\n872 CStatusBarCtrl::~CStatusBarCtrl()\n873 CStdioFile::~CStdioFile()\n874 CStringArray::~CStringArray()\n875 CStringList::~CStringList()\n876 CSyncObject::~CSyncObject()\n877 CTabCtrl::~CTabCtrl()\n878 CThreadLocalObject::~CThreadLocalObject()\n879 CThreadSlotData::~CThreadSlotData()\n880 CToolBar::~CToolBar()\n881 CToolBarCtrl::~CToolBarCtrl()\n882 CToolTipCtrl::~CToolTipCtrl()\n883 CTreeCtrl::~CTreeCtrl()\n884 CUIntArray::~CUIntArray()\n885 CUserException::~CUserException()\n886 CView::~CView()\n887 CWaitCursor::~CWaitCursor()\n888 CWinApp::~CWinApp()\n889 CWindowDC::~CWindowDC()\n890 CWinThread::~CWinThread()\n891 CWnd::~CWnd()\n892 CWordArray::~CWordArray()\n893 void * operator new(unsigned int)\n894 void * operator new(unsigned int,int,char const *,int)\n895 void * operator new(unsigned int,char const *,int)\n896 void * CNoTrackObject::operator new(unsigned int)\n897 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n898 void * CObject::operator new(unsigned int)\n899 void * CObject::operator new(unsigned int,void *)\n900 void * CObject::operator new(unsigned int,char const *,int)\n901 void operator delete(void *)\n902 void operator delete(void *,int,char const *,int)\n903 void operator delete(void *,char const *,int)\n904 void CException::operator delete(void *)\n905 void CException::operator delete(void *,char const *,int)\n906 void CNoTrackObject::operator delete(void *)\n907 void CNoTrackObject::operator delete(void *,char const *,int)\n908 void CObject::operator delete(void *)\n909 void CObject::operator delete(void *,void *)\n910 void CObject::operator delete(void *,char const *,int)\n911 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n912 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n913 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n914 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n915 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n916 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n919 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n920 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n921 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n922 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n923 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n926 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n927 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n928 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n929 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n930 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n931 void CArchive::operator=(CArchive const &)\n932 void CDumpContext::operator=(CDumpContext const &)\n933 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n934 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n935 COleCurrency const & COleCurrency::operator=(union tagCY)\n936 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n937 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n938 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n939 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n940 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n941 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n942 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n943 COleVariant const & COleVariant::operator=(COleVariant const &)\n944 COleVariant const & COleVariant::operator=(CByteArray const &)\n945 COleVariant const & COleVariant::operator=(CLongBinary const &)\n946 COleVariant const & COleVariant::operator=(COleCurrency const &)\n947 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n948 COleVariant const & COleVariant::operator=(unsigned char)\n949 COleVariant const & COleVariant::operator=(short)\n950 COleVariant const & COleVariant::operator=(long)\n951 COleVariant const & COleVariant::operator=(float)\n952 COleVariant const & COleVariant::operator=(double)\n953 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n954 COleVariant const & COleVariant::operator=(char const * const)\n955 CArchive & operator>>(CArchive &,CByteArray * &)\n956 CArchive & operator>>(CArchive &,CDocItem * &)\n957 CArchive & operator>>(CArchive &,CDockState * &)\n958 CArchive & operator>>(CArchive &,CDWordArray * &)\n959 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n960 CArchive & operator>>(CArchive &,CMapStringToString * &)\n961 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n962 CArchive & operator>>(CArchive &,CObArray * &)\n963 CArchive & operator>>(CArchive &,CObject * &)\n964 CArchive & operator>>(CArchive &,CObList * &)\n965 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n966 CArchive & operator>>(CArchive &,CStringArray * &)\n967 CArchive & operator>>(CArchive &,CStringList * &)\n968 CArchive & operator>>(CArchive &,CWordArray * &)\n969 CArchive & operator>>(CArchive &,CObject const * &)\n970 CArchive & operator>>(CArchive &,tagPOINT &)\n971 CArchive & operator>>(CArchive &,tagRECT &)\n972 CArchive & operator>>(CArchive &,tagSIZE &)\n973 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n974 CArchive & operator>>(CArchive &,COleCurrency &)\n975 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n976 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n977 CArchive & operator>>(CArchive &,COleVariant &)\n978 CArchive & operator>>(CArchive &,ATL::CTime &)\n979 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n980 CArchive & CArchive::operator>>(__int64 &)\n981 CArchive & CArchive::operator>>(unsigned __int64 &)\n982 CArchive & CArchive::operator>>(bool &)\n983 CArchive & CArchive::operator>>(wchar_t &)\n984 CArchive & CArchive::operator>>(char &)\n985 CArchive & CArchive::operator>>(unsigned char &)\n986 CArchive & CArchive::operator>>(short &)\n987 CArchive & CArchive::operator>>(unsigned short &)\n988 CArchive & CArchive::operator>>(int &)\n989 CArchive & CArchive::operator>>(unsigned int &)\n990 CArchive & CArchive::operator>>(long &)\n991 CArchive & CArchive::operator>>(unsigned long &)\n992 CArchive & CArchive::operator>>(float &)\n993 CArchive & CArchive::operator>>(double &)\n994 CArchive & operator<<(CArchive &,tagRECT const &)\n995 CArchive & operator<<(CArchive &,CObject const *)\n996 CArchive & operator<<(CArchive &,tagPOINT)\n997 CArchive & operator<<(CArchive &,tagSIZE)\n998 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n999 CArchive & operator<<(CArchive &,COleCurrency)\n1000 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1001 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1002 CArchive & operator<<(CArchive &,COleVariant)\n1003 CArchive & operator<<(CArchive &,ATL::CTime)\n1004 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1005 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1006 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1007 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1008 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1009 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1010 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1011 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1012 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1013 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1014 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1015 CArchive & CArchive::operator<<(__int64)\n1016 CArchive & CArchive::operator<<(unsigned __int64)\n1017 CArchive & CArchive::operator<<(bool)\n1018 CArchive & CArchive::operator<<(wchar_t)\n1019 CArchive & CArchive::operator<<(char)\n1020 CArchive & CArchive::operator<<(unsigned char)\n1021 CArchive & CArchive::operator<<(short)\n1022 CArchive & CArchive::operator<<(unsigned short)\n1023 CArchive & CArchive::operator<<(int)\n1024 CArchive & CArchive::operator<<(unsigned int)\n1025 CArchive & CArchive::operator<<(long)\n1026 CArchive & CArchive::operator<<(unsigned long)\n1027 CArchive & CArchive::operator<<(float)\n1028 CArchive & CArchive::operator<<(double)\n1029 CDumpContext & CDumpContext::operator<<(__int64)\n1030 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1031 CDumpContext & CDumpContext::operator<<(CObject const &)\n1032 CDumpContext & CDumpContext::operator<<(unsigned char)\n1033 CDumpContext & CDumpContext::operator<<(unsigned short)\n1034 CDumpContext & CDumpContext::operator<<(int)\n1035 CDumpContext & CDumpContext::operator<<(unsigned int)\n1036 CDumpContext & CDumpContext::operator<<(long)\n1037 CDumpContext & CDumpContext::operator<<(unsigned long)\n1038 CDumpContext & CDumpContext::operator<<(float)\n1039 CDumpContext & CDumpContext::operator<<(double)\n1040 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1041 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1042 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1043 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1044 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1045 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1046 CDumpContext & CDumpContext::operator<<(char const *)\n1047 CDumpContext & CDumpContext::operator<<(CObject const *)\n1048 CDumpContext & CDumpContext::operator<<(void const *)\n1049 CHtmlStream & CHtmlStream::operator<<(CByteArray const &)\n1050 CHtmlStream & CHtmlStream::operator<<(CLongBinary const &)\n1051 CHttpServerContext & CHttpServerContext::operator<<(CByteArray const &)\n1052 CHttpServerContext & CHttpServerContext::operator<<(CLongBinary const &)\n1053 int CGdiObject::operator==(CGdiObject const &)const \n1054 int CMenu::operator==(CMenu const &)const \n1055 int COleCurrency::operator==(COleCurrency const &)const \n1056 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1057 int COleSafeArray::operator==(tagVARIANT const &)const \n1058 int COleSafeArray::operator==(COleSafeArray const &)const \n1059 int COleSafeArray::operator==(COleVariant const &)const \n1060 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1061 int COleSafeArray::operator==(tagVARIANT const *)const \n1062 int COleVariant::operator==(tagVARIANT const &)const \n1063 int COleVariant::operator==(tagVARIANT const *)const \n1064 int CWnd::operator==(CWnd const &)const \n1065 int CGdiObject::operator!=(CGdiObject const &)const \n1066 int CMenu::operator!=(CMenu const &)const \n1067 int COleCurrency::operator!=(COleCurrency const &)const \n1068 int CWnd::operator!=(CWnd const &)const \n1069 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1070 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1071 unsigned char & CByteArray::operator[](int)\n1072 unsigned char CByteArray::operator[](int)const \n1073 unsigned long & CDWordArray::operator[](int)\n1074 unsigned long CDWordArray::operator[](int)const \n1075 void * & CMapPtrToPtr::operator[](void *)\n1076 unsigned short & CMapPtrToWord::operator[](void *)\n1077 CObject * & CMapStringToOb::operator[](char const *)\n1078 void * & CMapStringToPtr::operator[](char const *)\n1079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n1080 CObject * & CMapWordToOb::operator[](unsigned short)\n1081 void * & CMapWordToPtr::operator[](unsigned short)\n1082 CObject * & CObArray::operator[](int)\n1083 CObject * CObArray::operator[](int)const \n1084 void * & CPtrArray::operator[](int)\n1085 void * CPtrArray::operator[](int)const \n1086 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::operator[](int)\n1087 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::operator[](int)const \n1088 unsigned int & CUIntArray::operator[](int)\n1089 unsigned int CUIntArray::operator[](int)const \n1090 unsigned short & CWordArray::operator[](int)\n1091 unsigned short CWordArray::operator[](int)const \n1092 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n1093 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n1094 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n1095 ATL::CSimpleStringT<char,1>::operator char const *()const \n1096 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n1097 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n1098 CAsyncSocket::operator unsigned int()const \n1099 CBitmap::operator HBITMAP__ *()const \n1100 CBrush::operator HBRUSH__ *()const \n1101 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1102 CDC::operator HDC__ *()const \n1103 CFile::operator void *()const \n1104 CFont::operator HFONT__ *()const \n1105 CGdiObject::operator void *()const \n1106 CGopherLocator::operator char const *()const \n1107 CImageList::operator _IMAGELIST *()const \n1108 CInternetConnection::operator void *()const \n1109 CInternetFile::operator void *()const \n1110 CInternetSession::operator void *()const \n1111 CMenu::operator HMENU__ *()const \n1112 COleCurrency::operator union tagCY()const \n1113 COleDispatchDriver::operator IDispatch *()\n1114 COleSafeArray::operator tagVARIANT *()\n1115 COleSafeArray::operator tagVARIANT const *()const \n1116 COleVariant::operator tagVARIANT *()\n1117 COleVariant::operator tagVARIANT const *()const \n1118 CPalette::operator HPALETTE__ *()const \n1119 CPen::operator HPEN__ *()const \n1120 CRgn::operator HRGN__ *()const \n1121 CSyncObject::operator void *()const \n1122 CWinThread::operator void *()const \n1123 CWnd::operator HWND__ *()const \n1124 COleCurrency COleCurrency::operator*(long)const \n1125 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1126 COleCurrency COleCurrency::operator-()const \n1127 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1128 COleCurrency COleCurrency::operator/(long)const \n1129 int COleCurrency::operator<(COleCurrency const &)const \n1130 int COleCurrency::operator<=(COleCurrency const &)const \n1131 int COleCurrency::operator>(COleCurrency const &)const \n1132 int COleCurrency::operator>=(COleCurrency const &)const \n1133 COleCurrency const & COleCurrency::operator*=(long)\n1134 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1135 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1136 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1137 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1138 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1139 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1140 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1141 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1142 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1143 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1146 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1147 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1148 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1149 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1150 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1152 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1153 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1154 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1155 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1156 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1157 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1158 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1159 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1160 int _AfxAbortProc(HDC__ *,int)\n1161 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1162 int const _afxDBCS\n1163 int _AfxDeleteRegKey(char const *)\n1164 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1165 int _AfxSocketInit(WSAData *)\n1166 void CArchive::Abort()\n1167 void CFile::Abort()\n1168 void CInternetFile::Abort()\n1169 void CMemFile::Abort()\n1170 void CMirrorFile::Abort()\n1171 void COleStreamFile::Abort()\n1172 void CSocketFile::Abort()\n1173 void CStdioFile::Abort()\n1174 int CDC::AbortDoc()\n1175 int CDC::AbortPath()\n1176 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1177 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1178 long CWnd::accDoDefaultAction(tagVARIANT)\n1179 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1180 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1181 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1182 void COleSafeArray::AccessData(void * *)\n1183 long CWnd::accHitTest(long,long,tagVARIANT *)\n1184 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1185 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1186 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1187 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1188 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1189 long CWnd::accSelect(long,tagVARIANT)\n1190 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1191 void COleClientItem::Activate(long,CView *,tagMSG *)\n1192 void CToolTipCtrl::Activate(int)\n1193 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1194 void COleDocObjectItem::ActivateAndShow()\n1195 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1196 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1197 void CDocObjectServer::ActivateDocObject()\n1198 void COleServerDoc::ActivateDocObject()\n1199 void CFrameWnd::ActivateFrame(int)\n1200 void CMDIChildWnd::ActivateFrame(int)\n1201 int COleServerDoc::ActivateInPlace()\n1202 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1203 void CSplitterWnd::ActivateNext(int)\n1204 void CWnd::ActivateTopParent()\n1205 int CByteArray::Add(unsigned char)\n1206 int CDWordArray::Add(unsigned long)\n1207 int CImageList::Add(HICON__ *)\n1208 int CImageList::Add(CBitmap *,CBitmap *)\n1209 int CImageList::Add(CBitmap *,unsigned long)\n1210 int CObArray::Add(CObject *)\n1211 int CPtrArray::Add(void *)\n1212 void CRecentFileList::Add(char const *)\n1213 int CStringArray::Add(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1214 int CStringArray::Add(char const *)\n1215 int CUIntArray::Add(unsigned int)\n1216 int CWordArray::Add(unsigned short)\n1217 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n1218 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n1219 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1220 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1221 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1222 void COleClientItem::AddCachedData(COleDataSource *)\n1223 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1224 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1225 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1226 void CFrameWnd::AddControlBar(CControlBar *)\n1227 void CDocManager::AddDocTemplate(CDocTemplate *)\n1228 void CWinApp::AddDocTemplate(CDocTemplate *)\n1229 void CDocTemplate::AddDocument(CDocument *)\n1230 void CMultiDocTemplate::AddDocument(CDocument *)\n1231 void CSingleDocTemplate::AddDocument(CDocument *)\n1232 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1233 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n1234 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1235 void COleControl::AddFrameLevelUI()\n1236 void CFrameWnd::AddFrameWnd()\n1237 __POSITION * CObList::AddHead(CObject *)\n1238 void CObList::AddHead(CObList *)\n1239 __POSITION * CPtrList::AddHead(void *)\n1240 void CPtrList::AddHead(CPtrList *)\n1241 void CSimpleList::AddHead(void *)\n1242 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1243 __POSITION * CStringList::AddHead(char const *)\n1244 void CStringList::AddHead(CStringList *)\n1245 void COleDocument::AddItem(CDocItem *)\n1246 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1247 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1248 void CRecordset::AddNew()\n1249 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1250 void CPropertySheet::AddPage(CPropertyPage *)\n1251 void CPropertySection::AddProperty(CProperty *)\n1252 void CPropertySet::AddProperty(_GUID,CProperty *)\n1253 unsigned long CArchiveStream::AddRef()\n1254 unsigned long CBlobProperty::AddRef()\n1255 unsigned long CBrowserControlSite::AddRef()\n1256 unsigned long CDHtmlControlSink::AddRef()\n1257 unsigned long CDHtmlElementEventSink::AddRef()\n1258 unsigned long CDHtmlEventSink::AddRef()\n1259 unsigned long CInnerUnknown::AddRef()\n1260 unsigned long COleConnPtContainer::AddRef()\n1261 unsigned long COleDispatchImpl::AddRef()\n1262 unsigned long COleUILinkInfo::AddRef()\n1263 unsigned long CPrintDialogEx::AddRef()\n1264 unsigned long CWnd::XAccessible::AddRef()\n1265 unsigned long CWnd::XAccessibleServer::AddRef()\n1266 unsigned long COleClientItem::XAdviseSink::AddRef()\n1267 unsigned long COleControlSite::XAmbientProps::AddRef()\n1268 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1269 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1270 unsigned long CConnectionPoint::XConnPt::AddRef()\n1271 unsigned long COleControl::XDataObject::AddRef()\n1272 unsigned long COleDataSource::XDataObject::AddRef()\n1273 unsigned long COleServerDoc::XDataObject::AddRef()\n1274 unsigned long COleServerItem::XDataObject::AddRef()\n1275 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1276 unsigned long COleDropSource::XDropSource::AddRef()\n1277 unsigned long COleDropTarget::XDropTarget::AddRef()\n1278 unsigned long CEnumArray::XEnumVOID::AddRef()\n1279 unsigned long COleControlSite::XEventSink::AddRef()\n1280 unsigned long COleControl::XFontNotification::AddRef()\n1281 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1282 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1283 unsigned long COleControl::XOleCache::AddRef()\n1284 unsigned long COleClientItem::XOleClientSite::AddRef()\n1285 unsigned long COleControlSite::XOleClientSite::AddRef()\n1286 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1287 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1288 unsigned long COleControlContainer::XOleContainer::AddRef()\n1289 unsigned long COleControl::XOleControl::AddRef()\n1290 unsigned long COleControlSite::XOleControlSite::AddRef()\n1291 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1292 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1293 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1294 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1295 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1296 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1297 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1298 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1299 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1300 unsigned long COleClientItem::XOleIPSite::AddRef()\n1301 unsigned long COleControlSite::XOleIPSite::AddRef()\n1302 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1303 unsigned long CDocObjectServer::XOleObject::AddRef()\n1304 unsigned long COleControl::XOleObject::AddRef()\n1305 unsigned long COleServerDoc::XOleObject::AddRef()\n1306 unsigned long COleServerItem::XOleObject::AddRef()\n1307 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1308 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1309 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1310 unsigned long COleControl::XPersistMemory::AddRef()\n1311 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1312 unsigned long COleControl::XPersistStorage::AddRef()\n1313 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1314 unsigned long COleControl::XPersistStreamInit::AddRef()\n1315 unsigned long COleControl::XPointerInactive::AddRef()\n1316 unsigned long CDocObjectServer::XPrint::AddRef()\n1317 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1318 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1319 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1320 unsigned long COleControl::XProvideClassInfo::AddRef()\n1321 unsigned long COleControl::XQuickActivate::AddRef()\n1322 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1323 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1324 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1325 unsigned long COleControl::XViewObject::AddRef()\n1326 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1327 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1328 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1329 CPropertySection * CPropertySet::AddSection(_GUID)\n1330 void CPropertySet::AddSection(CPropertySection *)\n1331 void COlePasteSpecialDialog::AddStandardFormats(int)\n1332 int CComboBox::AddString(char const *)\n1333 int CComboBoxEx::AddString(char const *)\n1334 int CListBox::AddString(char const *)\n1335 int CToolBarCtrl::AddString(unsigned int)\n1336 int CToolBarCtrl::AddStrings(char const *)\n1337 __POSITION * CObList::AddTail(CObject *)\n1338 void CObList::AddTail(CObList *)\n1339 __POSITION * CPtrList::AddTail(void *)\n1340 void CPtrList::AddTail(CPtrList *)\n1341 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1342 __POSITION * CStringList::AddTail(char const *)\n1343 void CStringList::AddTail(CStringList *)\n1344 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1345 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1346 void CWinApp::AddToRecentFileList(char const *)\n1347 void CDocument::AddView(CView *)\n1348 void CMetaFileDC::AdjustCP(int)\n1349 void CRichEditView::AdjustDialogPosition(CDialog *)\n1350 void CRectTracker::AdjustRect(int,tagRECT *)\n1351 void CTabCtrl::AdjustRect(int,tagRECT *)\n1352 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1353 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1354 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1355 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1356 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1357 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1358 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1359 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1360 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1361 void AfxAbort()\n1362 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1363 int AfxAssertFailedLine(char const *,int)\n1364 void AfxAssertValidObject(CObject const *,char const *,int)\n1365 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1366 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1367 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1368 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1369 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1370 void AfxCancelModes(HWND__ *)\n1371 void AfxCheckError(long)\n1372 int AfxCheckMemory()\n1373 void AfxClassInit(CRuntime*)\n1374 int AfxComparePath(char const *,char const *)\n1375 int AfxCompareValueByRef(void *,void *,int)\n1376 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1377 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1378 void AfxCopyValueByRef(void *,void *,long *,int)\n1379 void AfxCoreInitModule()\n1380 HDC__ * AfxCreateDC(void *,void *)\n1381 int AfxCriticalInit()\n1382 int AfxCriticalNewHandler(unsigned int)\n1383 void AfxCriticalTerm()\n1384 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1385 AUX_DATA afxData\n1386 void AfxDeleteObject(void * *)\n1387 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1388 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1389 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1390 int AfxDiagnosticInit()\n1391 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1392 long AfxDllCanUnloadNow()\n1393 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1394 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1395 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1396 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1397 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1398 CDumpContext afxDump\n1399 void AfxDump(CObject const *)\n1400 int AfxDumpMemoryLeaks()\n1401 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1402 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1403 void AfxEnableControlContainer(COccManager *)\n1404 int AfxEnableMemoryTracking(int)\n1405 int AfxEndDeferRegisterClass(long)\n1406 void AfxEndThread(unsigned int,int)\n1407 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1408 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1409 void AfxFailMaxChars(CDataExchange *,int)\n1410 void AfxFailRadio(CDataExchange *)\n1411 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1412 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1413 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1414 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1415 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1416 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1417 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1418 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1419 int AfxFreeLibrary(HINSTANCE__ *)\n1420 void AfxFreeMemoryDebug(void *,int)\n1421 int AfxFullPath(char *,char const *)\n1422 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1423 CWinApp * AfxGetApp()\n1424 AFX_MODULE_STATE * AfxGetAppModuleState()\n1425 char const * AfxGetAppName()\n1426 long AfxGetClassIDFromString(char const *,_GUID *)\n1427 tagMSG * AfxGetCurrentMessage()\n1428 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1429 unsigned long AfxGetDllVersion()\n1430 char const * AfxGetFacilityString(long)\n1431 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1432 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1433 char const * AfxGetFullScodeString(long)\n1434 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1435 void * AfxGetHENV()\n1436 char const * AfxGetIIDString(_GUID const &)\n1437 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1438 HINSTANCE__ * AfxGetInstanceHandle()\n1439 unsigned long AfxGetInternetHandleType(void *)\n1440 CWnd * AfxGetMainWnd()\n1441 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1442 AFX_MODULE_STATE * AfxGetModuleState()\n1443 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1444 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1445 HWND__ * AfxGetParentOwner(HWND__ *)\n1446 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1447 HINSTANCE__ * AfxGetResourceHandle()\n1448 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1449 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1450 char const * AfxGetScodeRangeString(long)\n1451 char const * AfxGetScodeString(long)\n1452 char const * AfxGetSeverityString(long)\n1453 ATL::IAtlStringMgr * AfxGetStringManager()\n1454 CWinThread * AfxGetThread()\n1455 _AFX_THREAD_STATE * AfxGetThreadState()\n1456 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1457 void AfxGlobalFree(void *)\n1458 int AfxHelpEnabled()\n1459 void AfxHookWindowCreate(CWnd *)\n1460 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1461 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1462 void AfxInitLocalData(HINSTANCE__ *)\n1463 int AfxInitRichEdit()\n1464 int AfxInitRichEdit2()\n1465 void AfxInitThread()\n1466 int AfxInternalIsIdleMessage(tagMSG *)\n1467 int AfxInternalPreTranslateMessage(tagMSG *)\n1468 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1469 int AfxInternalPumpMessage()\n1470 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1471 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1472 int AfxIsDescendant(HWND__ *,HWND__ *)\n1473 int AfxIsIdleMessage(tagMSG *)\n1474 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1475 int AfxIsValidAddress(void const *,unsigned int,int)\n1476 int AfxIsValidString(wchar_t const *,int)\n1477 int AfxIsValidString(char const *,int)\n1478 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1479 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1480 HINSTANCE__ * AfxLoadLibrary(char const *)\n1481 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1482 int AfxLoadString(unsigned int,char *,unsigned int)\n1483 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1484 void AfxLockGlobals(int)\n1485 void AfxLockTempMaps()\n1486 CHandleMap * afxMapHDC(int)\n1487 CHandleMap * afxMapHGDIOBJ(int)\n1488 CHandleMap * afxMapHIMAGELIST(int)\n1489 CHandleMap * afxMapHMENU(int)\n1490 CHandleMap * afxMapHWND(int)\n1491 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1492 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1493 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1494 int AfxNewHandler(unsigned int)\n1495 int AfxOleCanExitApp()\n1496 COleMessageFilter * AfxOleGetMessageFilter()\n1497 int AfxOleGetUserCtrl()\n1498 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1499 int AfxOleInit()\n1500 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1501 void AfxOleLockApp()\n1502 int AfxOleLockControl(_GUID const &)\n1503 int AfxOleLockControl(char const *)\n1504 void AfxOleOnReleaseAllObjects()\n1505 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1506 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1507 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1508 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1509 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1510 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1511 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1512 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1513 void AfxOleSetUserCtrl(int)\n1514 void AfxOleTerm(int)\n1515 void AfxOleTermOrFreeLib(int,int)\n1516 void AfxOleUnlockAllControls()\n1517 void AfxOleUnlockApp()\n1518 int AfxOleUnlockControl(_GUID const &)\n1519 int AfxOleUnlockControl(char const *)\n1520 int AfxOleUnregisterClass(_GUID const &,char const *)\n1521 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1522 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1523 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1524 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1525 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1526 void AfxPostQuitMessage(int)\n1527 int AfxPreTranslateMessage(tagMSG *)\n1528 long AfxProcessWndProcException(CException *,tagMSG const *)\n1529 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1530 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1531 int AfxPumpMessage()\n1532 unsigned int AfxReadStringLength(CArchive &,int &)\n1533 int AfxRegisterClass(tagWNDCLASSA *)\n1534 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1535 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1536 void AfxResetMsgCache()\n1537 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1538 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1539 void AfxSafeArrayInit(COleSafeArray *)\n1540 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1541 void AfxSetAllocStop(long)\n1542 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1543 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1544 void AfxSetResourceHandle(HINSTANCE__ *)\n1545 void AfxSetWindowText(HWND__ *,char const *)\n1546 void AfxSocketTerm()\n1547 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1548 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1549 void AfxStoreField(CRecordset &,unsigned int,void *)\n1550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1551 wchar_t * AfxTaskStringA2W(char const *)\n1552 char * AfxTaskStringW2A(wchar_t const *)\n1553 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1554 void AfxTermLocalData(HINSTANCE__ *,int)\n1555 void AfxTermThread(HINSTANCE__ *)\n1556 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1557 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1558 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1559 void AfxThrowArchiveException(int,char const *)\n1560 void AfxThrowDBException(short,CDatabase *,void *)\n1561 void AfxThrowFileException(int,long,char const *)\n1562 void AfxThrowInternetException(unsigned long,unsigned long)\n1563 void AfxThrowInvalidArgException()\n1564 void AfxThrowLastCleanup()\n1565 void AfxThrowMemoryException()\n1566 void AfxThrowNotSupportedException()\n1567 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1568 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1569 void AfxThrowOleException(long)\n1570 void AfxThrowResourceException()\n1571 void AfxThrowUserException()\n1572 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1573 void AfxTlsAddRef()\n1574 void AfxTlsRelease()\n1575 void AfxTrace(char const *,...)\n1576 int afxTraceEnabled\n1577 unsigned int afxTraceFlags\n1578 void AfxTrackerTerm()\n1579 void AfxTryCleanup()\n1580 int AfxUnhookWindowCreate()\n1581 void AfxUnlockGlobals(int)\n1582 int AfxUnlockTempMaps(int)\n1583 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1584 void AfxVariantInit(tagVARIANT *)\n1585 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1586 char * AfxW2AHelper(char *,wchar_t const *,int)\n1587 void AfxWingdixTerm()\n1588 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1589 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1590 void AfxWinTerm()\n1591 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1592 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1593 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1594 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1595 void * CFixedAlloc::Alloc()\n1596 void * CFixedAllocNoSync::Alloc()\n1597 unsigned char * CMemFile::Alloc(unsigned long)\n1598 unsigned char * CSharedFile::Alloc(unsigned long)\n1599 void CRecordset::AllocAndCacheFieldInfo()\n1600 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1601 void CDatabase::AllocConnect(unsigned long)\n1602 void COleSafeArray::AllocData()\n1603 void CRecordset::AllocDataCache()\n1604 void COleSafeArray::AllocDescriptor(unsigned long)\n1605 int CControlBar::AllocElements(int,int)\n1606 int CStatusBar::AllocElements(int,int)\n1607 int CRecordset::AllocHstmt()\n1608 void CPropertyPage::AllocPSP(unsigned long)\n1609 void CRecordset::AllocRowset()\n1610 int CThreadSlotData::AllocSlot()\n1611 void CRecordset::AllocStatusArrays()\n1612 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1613 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1614 void * CProperty::AllocValue(unsigned long)\n1615 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1616 short COleControl::AmbientAppearance()\n1617 unsigned long COleControl::AmbientBackColor()\n1618 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName()\n1619 IFontDisp * COleControl::AmbientFont()\n1620 unsigned long COleControl::AmbientForeColor()\n1621 unsigned long COleControl::AmbientLocaleID()\n1622 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits()\n1623 int COleControl::AmbientShowGrabHandles()\n1624 int COleControl::AmbientShowHatching()\n1625 short COleControl::AmbientTextAlign()\n1626 int COleControl::AmbientUIDead()\n1627 int COleControl::AmbientUserMode()\n1628 int CDC::AngleArc(int,int,int,float,float)\n1629 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1630 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1631 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1632 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1633 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1634 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1635 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1636 int CByteArray::Append(CByteArray const &)\n1637 int CDWordArray::Append(CDWordArray const &)\n1638 int CObArray::Append(CObArray const &)\n1639 int CPtrArray::Append(CPtrArray const &)\n1640 int CStringArray::Append(CStringArray const &)\n1641 int CUIntArray::Append(CUIntArray const &)\n1642 int CWordArray::Append(CWordArray const &)\n1643 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1644 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1645 void CRecordset::AppendFilterAndSortSQL()\n1646 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1647 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1648 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1649 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1650 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1651 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1652 int CMenu::AppendMenuA(unsigned int,unsigned int,char const *)\n1653 int CMenu::AppendMenuA(unsigned int,unsigned int,CBitmap const *)\n1654 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1655 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1656 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1657 long COlePropertyPage::XPropertyPage::Apply()\n1658 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1659 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1660 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1661 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1662 int CDC::Arc(int,int,int,int,int,int,int,int)\n1663 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1664 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1665 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1666 int CListCtrl::Arrange(unsigned int)\n1667 unsigned int CWnd::ArrangeIconicWindows()\n1668 void CAsyncMonikerFile::AssertValid()const \n1669 void CAsyncSocket::AssertValid()const \n1670 void CBitmapButton::AssertValid()const \n1671 void CByteArray::AssertValid()const \n1672 void CCachedDataPathProperty::AssertValid()const \n1673 void CClientDC::AssertValid()const \n1674 void CCmdTarget::AssertValid()const \n1675 void CControlBar::AssertValid()const \n1676 void CCtrlView::AssertValid()const \n1677 void CDatabase::AssertValid()const \n1678 void CDataPathProperty::AssertValid()const \n1679 void CDC::AssertValid()const \n1680 void CDialog::AssertValid()const \n1681 void CDocItem::AssertValid()const \n1682 void CDockBar::AssertValid()const \n1683 void CDocManager::AssertValid()const \n1684 void CDocObjectServer::AssertValid()const \n1685 void CDocObjectServerItem::AssertValid()const \n1686 void CDocTemplate::AssertValid()const \n1687 void CDocument::AssertValid()const \n1688 void CDWordArray::AssertValid()const \n1689 void CDynLinkLibrary::AssertValid()const \n1690 void CEditView::AssertValid()const \n1691 void CFile::AssertValid()const \n1692 void CFileFind::AssertValid()const \n1693 void CFormView::AssertValid()const \n1694 void CFrameWnd::AssertValid()const \n1695 void CFtpConnection::AssertValid()const \n1696 void CFtpFileFind::AssertValid()const \n1697 void CGdiObject::AssertValid()const \n1698 void CGopherConnection::AssertValid()const \n1699 void CGopherFile::AssertValid()const \n1700 void CGopherFileFind::AssertValid()const \n1701 void CHtmlEditDoc::AssertValid()const \n1702 void CHtmlEditView::AssertValid()const \n1703 void CHtmlView::AssertValid()const \n1704 void CHttpConnection::AssertValid()const \n1705 void CHttpFile::AssertValid()const \n1706 void CImageList::AssertValid()const \n1707 void CInternetConnection::AssertValid()const \n1708 void CInternetFile::AssertValid()const \n1709 void CLongBinary::AssertValid()const \n1710 void CMapPtrToPtr::AssertValid()const \n1711 void CMapPtrToWord::AssertValid()const \n1712 void CMapStringToOb::AssertValid()const \n1713 void CMapStringToPtr::AssertValid()const \n1714 void CMapStringToString::AssertValid()const \n1715 void CMapWordToOb::AssertValid()const \n1716 void CMapWordToPtr::AssertValid()const \n1717 void CMDIChildWnd::AssertValid()const \n1718 void CMDIFrameWnd::AssertValid()const \n1719 void CMemFile::AssertValid()const \n1720 void CMenu::AssertValid()const \n1721 void CMonikerFile::AssertValid()const \n1722 void CMultiDocTemplate::AssertValid()const \n1723 void CObArray::AssertValid()const \n1724 void CObject::AssertValid()const \n1725 void CObList::AssertValid()const \n1726 void COleChangeSourceDialog::AssertValid()const \n1727 void COleClientItem::AssertValid()const \n1728 void COleCntrFrameWnd::AssertValid()const \n1729 void COleControl::AssertValid()const \n1730 void COleDataSource::AssertValid()const \n1731 void COleDocIPFrameWnd::AssertValid()const \n1732 void COleDocument::AssertValid()const \n1733 void COleDropTarget::AssertValid()const \n1734 void COleIPFrameWnd::AssertValid()const \n1735 void COleLinkingDoc::AssertValid()const \n1736 void COleLinksDialog::AssertValid()const \n1737 void COleMessageFilter::AssertValid()const \n1738 void COleObjectFactory::AssertValid()const \n1739 void COlePasteSpecialDialog::AssertValid()const \n1740 void COlePropertiesDialog::AssertValid()const \n1741 void COleServerDoc::AssertValid()const \n1742 void COleServerItem::AssertValid()const \n1743 void COleStreamFile::AssertValid()const \n1744 void CPaintDC::AssertValid()const \n1745 void CPreviewDC::AssertValid()const \n1746 void CPreviewView::AssertValid()const \n1747 void CPropertyPage::AssertValid()const \n1748 void CPropertySheet::AssertValid()const \n1749 void CPtrArray::AssertValid()const \n1750 void CPtrList::AssertValid()const \n1751 void CRecordset::AssertValid()const \n1752 void CRecordView::AssertValid()const \n1753 void CRichEditCntrItem::AssertValid()const \n1754 void CRichEditDoc::AssertValid()const \n1755 void CRichEditView::AssertValid()const \n1756 void CScrollView::AssertValid()const \n1757 void CSingleDocTemplate::AssertValid()const \n1758 void CSocket::AssertValid()const \n1759 void CSocketFile::AssertValid()const \n1760 void CSplitterWnd::AssertValid()const \n1761 void CStatusBar::AssertValid()const \n1762 void CStringArray::AssertValid()const \n1763 void CStringList::AssertValid()const \n1764 void CSyncObject::AssertValid()const \n1765 void CToolBar::AssertValid()const \n1766 void CUIntArray::AssertValid()const \n1767 void CView::AssertValid()const \n1768 void CWinApp::AssertValid()const \n1769 void CWindowDC::AssertValid()const \n1770 void CWinThread::AssertValid()const \n1771 void CWnd::AssertValid()const \n1772 void CWordArray::AssertValid()const \n1773 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1774 int CAsyncSocket::AsyncSelect(long)\n1775 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n1776 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1777 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1778 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1779 int CAsyncSocket::Attach(unsigned int,long)\n1780 int CDC::Attach(HDC__ *)\n1781 int CGdiObject::Attach(void *)\n1782 int CImageList::Attach(_IMAGELIST *)\n1783 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1784 int CMenu::Attach(HMENU__ *)\n1785 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1786 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1787 void COleDataObject::Attach(IDataObject *,int)\n1788 void COleSafeArray::Attach(tagVARIANT &)\n1789 void COleStreamFile::Attach(IStream *)\n1790 void COleVariant::Attach(tagVARIANT &)\n1791 int CSocket::Attach(unsigned int)\n1792 int CWnd::Attach(HWND__ *)\n1793 int COleDataObject::AttachClipboard()\n1794 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1795 void CWnd::AttachControlSite(CHandleMap *)\n1796 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1797 void COleClientItem::AttachDataObject(COleDataObject &)const \n1798 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1799 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1800 CPrintDialog * CPrintDialog::AttachOnSetup()\n1801 void COleControlSite::AttachWindow()\n1802 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1803 void CToolBarCtrl::AutoSize()\n1804 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1805 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1806 void COleMessageFilter::BeginBusyState()\n1807 void COleLinkingDoc::BeginDeferErrors()\n1808 int CDragListBox::BeginDrag(CPoint)\n1809 int CImageList::BeginDrag(int,CPoint)\n1810 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1811 void COleDataObject::BeginEnumFormats()\n1812 void CFrameWnd::BeginModalState()\n1813 void CWnd::BeginModalState()\n1814 CDC * CWnd::BeginPaint(tagPAINT*)\n1815 int CDC::BeginPath()\n1816 int CDatabase::BeginTrans()\n1817 void CCmdTarget::BeginWaitCursor()\n1818 int CAsyncSocket::Bind(unsigned int,char const *)\n1819 int CAsyncSocket::Bind(sockaddr const *,int)\n1820 void CDataSourceControl::BindColumns()\n1821 void COccManager::BindControls(CWnd *)\n1822 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1823 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1824 void CRecordset::BindFieldsForUpdate()\n1825 unsigned int CRecordset::BindFieldsToColumns()\n1826 void CDatabase::BindParameters(void *)\n1827 unsigned int CRecordset::BindParams(void *)\n1828 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1829 void CDataSourceControl::BindProp(COleControlSite *,int)\n1830 void COleControlSite::BindProperty(long,CWnd *)\n1831 void CWnd::BindProperty(long,CWnd *)\n1832 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1833 void COleControl::BoundPropertyChanged(long)\n1834 int COleControl::BoundPropertyRequestEdit(long)\n1835 void CFrameWnd::BringToTop(int)\n1836 void CWnd::BringWindowToTop()\n1837 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1838 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1839 void CPropertySheet::BuildPropPageArray()\n1840 void CRecordset::BuildSelectSQL()\n1841 int COleControl::BuildSharedMenu()\n1842 int COleDocIPFrameWnd::BuildSharedMenu()\n1843 int COleIPFrameWnd::BuildSharedMenu()\n1844 void CRecordset::BuildSQL(char const *)\n1845 void CRecordset::BuildUpdateSQL()\n1846 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1847 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1848 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1849 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1850 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1851 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1852 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1853 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1854 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1855 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1856 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1857 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1858 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1859 CSize CControlBar::CalcFixedLayout(int,int)\n1860 CSize CDialogBar::CalcFixedLayout(int,int)\n1861 CSize CDockBar::CalcFixedLayout(int,int)\n1862 CSize CReBar::CalcFixedLayout(int,int)\n1863 CSize CStatusBar::CalcFixedLayout(int,int)\n1864 CSize CToolBar::CalcFixedLayout(int,int)\n1865 void CControlBar::CalcInsideRect(CRect &,int)const \n1866 void CStatusBar::CalcInsideRect(CRect &,int)const \n1867 CSize CToolBar::CalcLayout(unsigned long,int)\n1868 int CCheckListBox::CalcMinimumItemHeight()\n1869 CSize CPreviewView::CalcPageDisplaySize()\n1870 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1871 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1872 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1873 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1874 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1875 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1876 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1877 int CDHtmlDialog::CanAccessExternal()\n1878 int COleClientItem::CanActivate()\n1879 int CRichEditCntrItem::CanActivate()\n1880 int CSplitterWnd::CanActivateNext(int)\n1881 int CRecordset::CanAppend()const \n1882 int CRecordset::CanBookmark()const \n1883 void CDatabase::Cancel()\n1884 void CRecordset::Cancel()\n1885 void CSocket::CancelBlockingCall()\n1886 void CDragListBox::CancelDrag(CPoint)\n1887 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1888 long COleUILinkInfo::CancelLink(unsigned long)\n1889 void CDockContext::CancelLoop()\n1890 void CPropertyPage::CancelToClose()\n1891 void CWnd::CancelToolTips(int)\n1892 void CRecordset::CancelUpdate()\n1893 int CDocument::CanCloseFrame(CFrameWnd *)\n1894 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1895 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1896 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1897 unsigned long CDockContext::CanDock()\n1898 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1899 int CFrameWnd::CanEnterHelpMode()\n1900 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1901 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1902 int COleClientItem::CanPaste()\n1903 int CRichEditCtrl::CanPaste(unsigned int)const \n1904 int CRichEditView::CanPaste()const \n1905 int COleClientItem::CanPasteLink()\n1906 int CRichEditCtrl::CanRedo()const \n1907 int CRecordset::CanRestart()const \n1908 int CRecordset::CanScroll()const \n1909 int CDatabase::CanTransact()const \n1910 int CRecordset::CanTransact()const \n1911 int CEdit::CanUndo()const \n1912 int CRichEditCtrl::CanUndo()const \n1913 int CDatabase::CanUpdate()const \n1914 int CRecordset::CanUpdate()const \n1915 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1916 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1917 void CScrollView::CenterOnPoint(CPoint)\n1918 void CWnd::CenterWindow(CWnd *)\n1919 int CWnd::ChangeClipboardChain(HWND__ *)\n1920 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1921 int CEdit::CharFromPos(CPoint)const \n1922 int CRichEditCtrl::CharFromPos(CPoint)const \n1923 int CListBox::CharToItem(unsigned int,unsigned int)\n1924 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1925 int CDatabase::Check(short)const \n1926 int CRecordset::Check(short)const \n1927 int CDialog::CheckAutoCenter()\n1928 int CWnd::CheckAutoCenter()\n1929 int CToolBarCtrl::CheckButton(int,int)\n1930 void CArchive::CheckCount()\n1931 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1932 void CWnd::CheckDlgButton(int,unsigned int)\n1933 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1934 void COleClientItem::CheckGeneral(long)\n1935 int CDatabase::CheckHstmt(short,void *)const \n1936 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1937 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1938 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1939 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1940 void CMemoryState::Checkpoint()\n1941 void COleControlContainer::CheckRadioButton(int,int,int)\n1942 void CWnd::CheckRadioButton(int,int,int)\n1943 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1944 void CRecordset::CheckRowsetError(short)\n1945 void CScrollView::CheckScrollBars(int &,int &)const \n1946 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1947 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1948 int CDC::Chord(int,int,int,int,int,int,int,int)\n1949 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1950 void CPropertyPage::Cleanup()\n1951 void COlePropertyPage::CleanupObjectArray()\n1952 void CComboBox::Clear()\n1953 void CDBVariant::Clear()\n1954 void CDockState::Clear()\n1955 void CEdit::Clear()\n1956 void COleSafeArray::Clear()\n1957 void COleVariant::Clear()\n1958 void CRichEditCtrl::Clear()\n1959 void CIPAddressCtrl::ClearAddress()\n1960 int CHeaderCtrl::ClearAllFilters()\n1961 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1962 void CRecordset::ClearFieldStatus()\n1963 int CHeaderCtrl::ClearFilter(int)\n1964 void CRecordset::ClearNullFieldStatus(unsigned long)\n1965 void CRecordset::ClearNullParamStatus(unsigned long)\n1966 void CSliderCtrl::ClearSel(int)\n1967 void CSliderCtrl::ClearTics(int)\n1968 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1969 void CWnd::ClientToScreen(tagPOINT *)const \n1970 void CWnd::ClientToScreen(tagRECT *)const \n1971 int COleControl::ClipCaretRect(tagRECT *)\n1972 void CPreviewDC::ClipToPage()\n1973 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1974 long CArchiveStream::Clone(IStream * *)\n1975 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1976 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1977 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1978 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1979 int CAnimateCtrl::Close()\n1980 void CArchive::Close()\n1981 void CAsyncMonikerFile::Close()\n1982 void CAsyncSocket::Close()\n1983 void CCachedDataPathProperty::Close()\n1984 void CDatabase::Close()\n1985 void CFile::Close()\n1986 void CFileFind::Close()\n1987 void CInternetConnection::Close()\n1988 void CInternetFile::Close()\n1989 void CInternetSession::Close()\n1990 void CMemFile::Close()\n1991 HMETAFILE__ * CMetaFileDC::Close()\n1992 void CMirrorFile::Close()\n1993 void CMonikerFile::Close()\n1994 void COleClientItem::Close(enum tagOLECLOSE)\n1995 void COleStreamFile::Close()\n1996 void CRecordset::Close()\n1997 void CSocket::Close()\n1998 void CSocketFile::Close()\n1999 void CStdioFile::Close()\n2000 long CDocObjectServer::XOleObject::Close(unsigned long)\n2001 long COleControl::XOleObject::Close(unsigned long)\n2002 long COleServerDoc::XOleObject::Close(unsigned long)\n2003 long COleServerItem::XOleObject::Close(unsigned long)\n2004 void CDocManager::CloseAllDocuments(int)\n2005 void CDocTemplate::CloseAllDocuments(int)\n2006 void CWinApp::CloseAllDocuments(int)\n2007 void CFileFind::CloseContext()\n2008 void CFtpFileFind::CloseContext()\n2009 void CGopherFileFind::CloseContext()\n2010 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n2011 int CDC::CloseFigure()\n2012 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2013 void CWnd::CloseWindow()\n2014 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2015 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2016 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2017 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2018 int CRgn::CombineRgn(CRgn const *,CRgn const *,int)\n2019 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2020 int CStatusBar::CommandToIndex(unsigned int)const \n2021 int CToolBar::CommandToIndex(unsigned int)const \n2022 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2023 long CArchiveStream::Commit(unsigned long)\n2024 void COleClientItem::CommitItem(int)\n2025 void COleDocument::CommitItems(int,IStorage *)\n2026 int CDatabase::CommitTrans()\n2027 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n2028 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n2029 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n2030 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2031 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2032 void CWinThread::CommonConstruct()\n2033 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2034 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2035 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2036 int CListBox::CompareItem(tagCOMPAREITEM*)\n2037 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2038 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2039 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n2040 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2041 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2042 int CAsyncSocket::Connect(char const *,unsigned int)\n2043 int CAsyncSocket::Connect(sockaddr const *,int)\n2044 int CDatabase::Connect(unsigned long)\n2045 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2046 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2047 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2048 int CSocket::ConnectHelper(sockaddr const *,int)\n2049 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2050 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2051 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2052 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2053 void COleServerDoc::ConnectView(CWnd *,CView *)\n2054 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2055 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2056 void CPropertyPage::Construct(unsigned int,unsigned int)\n2057 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2058 void CPropertyPage::Construct(char const *,unsigned int)\n2059 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n2060 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2061 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2062 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n2063 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2064 void CRectTracker::Construct()\n2065 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2066 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2067 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2068 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2069 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2070 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2071 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2072 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2073 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2074 int CPropertySheet::ContinueModal()\n2075 int CWnd::ContinueModal()\n2076 void CCmdUI::ContinueRouting()\n2077 void COleControl::ControlInfoChanged()\n2078 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2079 int COleClientItem::ConvertTo(_GUID const &)\n2080 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2081 void CByteArray::Copy(CByteArray const &)\n2082 void CComboBox::Copy()\n2083 void CDWordArray::Copy(CDWordArray const &)\n2084 void CEdit::Copy()\n2085 int CImageList::Copy(int,int,unsigned int)\n2086 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2087 void CObArray::Copy(CObArray const &)\n2088 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2089 void CPtrArray::Copy(CPtrArray const &)\n2090 void CRichEditCtrl::Copy()\n2091 void CStringArray::Copy(CStringArray const &)\n2092 void CUIntArray::Copy(CUIntArray const &)\n2093 void CWordArray::Copy(CWordArray const &)\n2094 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2095 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2096 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2097 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2098 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2099 int CRgn::CopyRgn(CRgn const *)\n2100 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2101 void COleClientItem::CopyToClipboard(int)\n2102 void COleServerItem::CopyToClipboard(int)\n2103 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2104 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n2105 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2106 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2107 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2108 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2109 int CControlFrameWnd::Create(char const *)\n2110 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2111 int CDialog::Create(unsigned int,CWnd *)\n2112 int CDialog::Create(char const *,CWnd *)\n2113 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2114 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n2115 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2116 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2117 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n2118 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2119 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n2120 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2121 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2122 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2123 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2124 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2125 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2126 int CImageList::Create(int,int,unsigned int,int,int)\n2127 int CImageList::Create(unsigned int,int,int,unsigned long)\n2128 int CImageList::Create(CImageList *)\n2129 int CImageList::Create(char const *,int,int,unsigned long)\n2130 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2131 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2132 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2133 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2134 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2135 int CMetaFileDC::Create(char const *)\n2136 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2137 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2138 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2139 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2140 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2141 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2142 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2143 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2144 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2145 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2146 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2147 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2148 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2149 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2150 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2151 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2152 int CSocket::Create(unsigned int,int,char const *)\n2153 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2154 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2155 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2156 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2157 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2158 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2159 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2160 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2161 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2162 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2163 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2164 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2165 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2166 IBindHost * CMonikerFile::CreateBindHost()\n2167 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2168 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2169 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2170 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2171 void CWnd::CreateCaret(CBitmap *)\n2172 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n2173 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2174 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2175 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2176 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2177 int CDC::CreateCompatibleDC(CDC *)\n2178 void CConnectionPoint::CreateConnectionArray()\n2179 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2180 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2181 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2182 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2183 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2184 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2185 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2186 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2187 int CWnd::CreateControlContainer(COleControlContainer * *)\n2188 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2189 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2190 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2191 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2192 int CDC::CreateDCA(char const *,char const *,char const *,void const *)\n2193 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2194 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2195 int CFtpConnection::CreateDirectoryA(char const *)\n2196 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2197 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2198 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n2199 int CWnd::CreateDlg(char const *,CWnd *)\n2200 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2201 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2202 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n2204 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2205 CImageList * CHeaderCtrl::CreateDragImage(int)\n2206 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2207 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2208 int CRgn::CreateEllipticRgn(int,int,int,int)\n2209 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2210 int CPictureHolder::CreateEmpty()\n2211 int CMetaFileDC::CreateEnhanced(CDC *,char const *,tagRECT const *,char const *)\n2212 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2213 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2214 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2215 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2216 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2217 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2218 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2219 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2220 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2221 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2222 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2223 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2224 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2225 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2226 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2227 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2228 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2229 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2230 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2231 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2232 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2233 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2234 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2235 int CFont::CreateFontA(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,char const *)\n2236 int CFont::CreateFontIndirectA(tagLOGFONTA const *)\n2237 CControlFrameWnd * COleControl::CreateFrameWindow()\n2238 int CPictureHolder::CreateFromBitmap(unsigned int)\n2239 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2240 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2241 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2242 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2243 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2244 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2245 int CPictureHolder::CreateFromIcon(unsigned int)\n2246 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2247 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2248 int CRgn::CreateFromPath(CDC *)\n2249 void CWnd::CreateGrayCaret(int,int)\n2250 int CPalette::CreateHalftonePalette(CDC *)\n2251 int CBrush::CreateHatchBrush(int,unsigned long)\n2252 int CDC::CreateICA(char const *,char const *,char const *,void const *)\n2253 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2254 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2255 int CDialog::CreateIndirect(void *,CWnd *)\n2256 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2257 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2258 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2259 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2260 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2261 int COleInsertDialog::CreateItem(COleClientItem *)\n2262 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2263 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2264 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2265 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2266 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n2267 CGopherLocator CGopherConnection::CreateLocator(char const *)\n2268 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n2269 int COleStreamFile::CreateMemoryStream(CFileException *)\n2270 int CMenu::CreateMenu()\n2271 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2272 CDocument * CDocTemplate::CreateNewDocument()\n2273 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2274 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2275 CObject * CByteArray::CreateObject()\n2276 CObject * CDC::CreateObject()\n2277 CObject * CDocItem::CreateObject()\n2278 CObject * CDockState::CreateObject()\n2279 CObject * CDWordArray::CreateObject()\n2280 CObject * CEditView::CreateObject()\n2281 CObject * CFrameWnd::CreateObject()\n2282 CObject * CGdiObject::CreateObject()\n2283 CObject * CHtmlEditView::CreateObject()\n2284 CObject * CHtmlView::CreateObject()\n2285 CObject * CImageList::CreateObject()\n2286 CObject * CListView::CreateObject()\n2287 CObject * CMapStringToOb::CreateObject()\n2288 CObject * CMapStringToString::CreateObject()\n2289 CObject * CMapWordToOb::CreateObject()\n2290 CObject * CMDIChildWnd::CreateObject()\n2291 CObject * CMDIFrameWnd::CreateObject()\n2292 CObject * CMenu::CreateObject()\n2293 CObject * CMiniDockFrameWnd::CreateObject()\n2294 CObject * CMiniFrameWnd::CreateObject()\n2295 CObject * CObArray::CreateObject()\n2296 CObject * CObList::CreateObject()\n2297 CObject * COleDocIPFrameWnd::CreateObject()\n2298 CObject * COleIPFrameWnd::CreateObject()\n2299 CObject * CPreviewView::CreateObject()\n2300 CObject * CRichEditCntrItem::CreateObject()\n2301 CObject * CRichEditView::CreateObject()\n2302 CObject * CRuntimeClass::CreateObject()\n2303 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2304 CObject * CRuntimeClass::CreateObject(char const *)\n2305 CObject * CStringArray::CreateObject()\n2306 CObject * CStringList::CreateObject()\n2307 CObject * CTreeView::CreateObject()\n2308 CObject * CWnd::CreateObject()\n2309 CObject * CWordArray::CreateObject()\n2310 void COleControlContainer::CreateOleFont(CFont *)\n2311 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2312 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2313 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2314 int CPalette::CreatePalette(tagLOGPALETTE *)\n2315 int CBrush::CreatePatternBrush(CBitmap *)\n2316 int CPen::CreatePen(int,int,unsigned long)\n2317 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2318 int CPen::CreatePenIndirect(tagLOGPEN *)\n2319 int CFont::CreatePointFont(int,char const *,CDC *)\n2320 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n2321 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2322 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2323 int CMenu::CreatePopupMenu()\n2324 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2325 HDC__ * CPrintDialog::CreatePrinterDC()\n2326 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2327 int CWinApp::CreatePrinterDC(CDC &)\n2328 int CRgn::CreateRectRgn(int,int,int,int)\n2329 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2330 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2331 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2332 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n2333 int CBrush::CreateSolidBrush(unsigned long)\n2334 void CWnd::CreateSolidCaret(int,int)\n2335 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2336 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2337 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2338 int CGdiObject::CreateStockObject(int)\n2339 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n2340 int CBrush::CreateSysColorBrush(int)\n2341 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2342 void COleControl::CreateTracker(int,int)\n2343 void COleControl::CreateTracker(int,int,tagRECT const *)\n2344 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2345 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2346 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2347 void COleControl::CreateWindowForSubclassedControl()\n2348 void CToolBarCtrl::Customize()\n2349 void CComboBox::Cut()\n2350 void CEdit::Cut()\n2351 void CRichEditCtrl::Cut()\n2352 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2353 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2354 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2355 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2356 void DDP_CBIndex(CDataExchange *,int,int &,char const *)\n2357 void DDP_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2358 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2359 void DDP_Check(CDataExchange *,int,int &,char const *)\n2360 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n2361 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n2362 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n2363 void DDP_EndText(CDataExchange *,int,short *,char const *)\n2364 void DDP_EndText(CDataExchange *,int,int *,char const *)\n2365 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n2366 void DDP_EndText(CDataExchange *,int,long *,char const *)\n2367 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n2368 void DDP_EndText(CDataExchange *,int,float *,char const *)\n2369 void DDP_EndText(CDataExchange *,int,double *,char const *)\n2370 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n2371 void DDP_LBIndex(CDataExchange *,int,int &,char const *)\n2372 void DDP_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2373 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2374 void DDP_PostProcessing(CDataExchange *)\n2375 void DDP_Radio(CDataExchange *,int,int &,char const *)\n2376 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n2377 void DDP_Text(CDataExchange *,int,short &,char const *)\n2378 void DDP_Text(CDataExchange *,int,int &,char const *)\n2379 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n2380 void DDP_Text(CDataExchange *,int,long &,char const *)\n2381 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n2382 void DDP_Text(CDataExchange *,int,float &,char const *)\n2383 void DDP_Text(CDataExchange *,int,double &,char const *)\n2384 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2385 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n2386 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2387 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2388 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2389 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2390 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2391 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2392 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2393 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2394 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2395 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2396 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2397 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2398 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2399 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2400 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2401 void DDX_CBIndex(CDataExchange *,int,int &)\n2402 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2403 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2404 void DDX_Check(CDataExchange *,int,int &)\n2405 void DDX_Control(CDataExchange *,int,CWnd &)\n2406 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2407 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2408 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2409 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2410 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2411 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2412 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n2413 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n2414 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n2415 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n2416 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n2417 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n2418 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n2419 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n2420 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n2421 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n2422 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n2423 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n2424 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2425 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n2426 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n2427 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n2428 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n2429 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n2430 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n2431 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2432 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n2433 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n2434 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n2435 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n2436 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n2437 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n2438 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2439 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2440 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2441 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2442 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2443 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2444 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2445 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2446 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2447 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2448 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2449 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2450 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2451 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2452 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2453 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2454 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2455 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2456 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2457 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2458 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2459 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n2460 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2461 void DDX_LBIndex(CDataExchange *,int,int &)\n2462 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2463 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2464 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2465 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2466 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2467 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2468 void DDX_OCBool(CDataExchange *,int,long,int &)\n2469 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2470 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2471 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2472 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2473 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2474 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2475 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2476 void DDX_OCInt(CDataExchange *,int,long,int &)\n2477 void DDX_OCInt(CDataExchange *,int,long,long &)\n2478 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2479 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2480 void DDX_OCShort(CDataExchange *,int,long,short &)\n2481 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2482 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2483 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2484 void DDX_Radio(CDataExchange *,int,int &)\n2485 void DDX_Scroll(CDataExchange *,int,int &)\n2486 void DDX_Slider(CDataExchange *,int,int &)\n2487 void DDX_Text(CDataExchange *,int,__int64 &)\n2488 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2489 void DDX_Text(CDataExchange *,int,unsigned char &)\n2490 void DDX_Text(CDataExchange *,int,short &)\n2491 void DDX_Text(CDataExchange *,int,int &)\n2492 void DDX_Text(CDataExchange *,int,unsigned int &)\n2493 void DDX_Text(CDataExchange *,int,long &)\n2494 void DDX_Text(CDataExchange *,int,unsigned long &)\n2495 void DDX_Text(CDataExchange *,int,float &)\n2496 void DDX_Text(CDataExchange *,int,double &)\n2497 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2498 void DDX_Text(CDataExchange *,int,_GUID &)\n2499 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2500 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2501 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2502 void DDX_Text(CDataExchange *,int,tagDEC &)\n2503 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2504 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2505 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2506 void DDX_Text(CDataExchange *,int,char *,int)\n2507 void COleClientItem::Deactivate()\n2508 long COlePropertyPage::XPropertyPage::Deactivate()\n2509 int COleServerDoc::DeactivateAndUndo()\n2510 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2511 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2512 void COleClientItem::DeactivateUI()\n2513 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n2514 long CWnd::Default()\n2515 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2516 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2517 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2518 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n2519 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2520 void CFrameWnd::DelayRecalcLayout(int)\n2521 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2522 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2523 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2524 void CControlBar::DelayShow(int)\n2525 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2526 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2527 void CFrameWnd::DelayUpdateFrameTitle()\n2528 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2529 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2530 void CException::Delete()\n2531 void COleClientItem::Delete(int)\n2532 void CRecordset::Delete()\n2533 void CWinThread::Delete()\n2534 int CListCtrl::DeleteAllItems()\n2535 int CTabCtrl::DeleteAllItems()\n2536 int CTreeCtrl::DeleteAllItems()\n2537 int CReBarCtrl::DeleteBand(unsigned int)\n2538 int CToolBarCtrl::DeleteButton(int)\n2539 int CListCtrl::DeleteColumn(int)\n2540 void CSplitterWnd::DeleteColumn(int)\n2541 void CDocument::DeleteContents()\n2542 void CEditView::DeleteContents()\n2543 void CHtmlEditDoc::DeleteContents()\n2544 void COleDocument::DeleteContents()\n2545 void COleServerDoc::DeleteContents()\n2546 void CRichEditDoc::DeleteContents()\n2547 void CRichEditView::DeleteContents()\n2548 int CDC::DeleteDC()\n2549 int CImageList::DeleteImageList()\n2550 void CComboBox::DeleteItem(tagDELETEITEM*)\n2551 int CComboBoxEx::DeleteItem(int)\n2552 int CHeaderCtrl::DeleteItem(int)\n2553 void CListBox::DeleteItem(tagDELETEITEM*)\n2554 int CListCtrl::DeleteItem(int)\n2555 int CTabCtrl::DeleteItem(int)\n2556 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2557 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2558 int CGdiObject::DeleteObject()\n2559 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2560 void CSplitterWnd::DeleteRow(int)\n2561 int CComboBox::DeleteString(unsigned int)\n2562 int CListBox::DeleteString(unsigned int)\n2563 void CHandleMap::DeleteTemp()\n2564 void CDC::DeleteTempMap()\n2565 void CGdiObject::DeleteTempMap()\n2566 void CImageList::DeleteTempMap()\n2567 void CMenu::DeleteTempMap()\n2568 void CWnd::DeleteTempMap()\n2569 void CRichEditDoc::DeleteUnmarkedItems()const \n2570 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2571 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2572 void CSplitterWnd::DeleteView(int,int)\n2573 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n2574 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2575 void CTabCtrl::DeselectAll(int)\n2576 void COleSafeArray::Destroy()\n2577 int COleControlSite::DestroyControl()\n2578 void COleSafeArray::DestroyData()\n2579 void COleSafeArray::DestroyDescriptor()\n2580 void CFrameWnd::DestroyDockBars()\n2581 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2582 int CMenu::DestroyMenu()\n2583 void CDHtmlDialog::DestroyModeless()\n2584 void COleControl::DestroySharedMenu()\n2585 void COleDocIPFrameWnd::DestroySharedMenu()\n2586 void COleIPFrameWnd::DestroySharedMenu()\n2587 int CToolTipCtrl::DestroyToolTipCtrl()\n2588 void COleControl::DestroyTracker()\n2589 int CControlBar::DestroyWindow()\n2590 int CMDIChildWnd::DestroyWindow()\n2591 int CWnd::DestroyWindow()\n2592 unsigned int CAsyncSocket::Detach()\n2593 HDC__ * CDC::Detach()\n2594 void * CDialogTemplate::Detach()\n2595 void * CGdiObject::Detach()\n2596 _IMAGELIST * CImageList::Detach()\n2597 unsigned char * CMemFile::Detach()\n2598 HMENU__ * CMenu::Detach()\n2599 int CMonikerFile::Detach(CFileException *)\n2600 IDataObject * COleDataObject::Detach()\n2601 tagVARIANT COleSafeArray::Detach()\n2602 IStream * COleStreamFile::Detach()\n2603 tagVARIANT COleVariant::Detach()\n2604 void * CSharedFile::Detach()\n2605 HDC__ * CWindowlessDC::Detach()\n2606 HWND__ * CWnd::Detach()\n2607 IDispatch * COleDispatchDriver::DetachDispatch()\n2608 void CAsyncSocket::DetachHandle(unsigned int,int)\n2609 void COleControlSite::DetachWindow()\n2610 void CWinApp::DevModeChange(char *)\n2611 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2612 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2613 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2614 int CComboBox::Dir(unsigned int,char const *)\n2615 int CComboBoxEx::Dir(unsigned int,char const *)\n2616 int CListBox::Dir(unsigned int,char const *)\n2617 int COleServerDoc::DiscardUndoState()\n2618 long COleClientItem::XOleIPSite::DiscardUndoState()\n2619 long COleControlSite::XOleIPSite::DiscardUndoState()\n2620 void COleDispatchImpl::Disconnect()\n2621 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2622 void CDHtmlDialog::DisconnectDHtmlEvents()\n2623 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2624 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2625 void CDocument::DisconnectViews()\n2626 void CWinThread::DispatchThreadMessage(tagMSG *)\n2627 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2628 int CRichEditCtrl::DisplayBand(tagRECT *)\n2629 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2630 int CWnd::DlgDirListA(char *,int,int,unsigned int)\n2631 int CWnd::DlgDirListComboBoxA(char *,int,int,unsigned int)\n2632 int CWnd::DlgDirSelect(char *,int)\n2633 int CWnd::DlgDirSelectComboBox(char *,int)\n2634 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2635 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2636 void CAsyncSocket::DoCallBack(unsigned int,long)\n2637 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2638 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2639 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2640 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2641 void COleControl::DoClick()\n2642 int COleFrameHook::DoContextSensitiveHelp(int)\n2643 int COleConvertDialog::DoConvert(COleClientItem *)\n2644 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2645 void CWnd::DoDataExchange(CDataExchange *)\n2646 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2647 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2648 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2649 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2650 int COleFrameHook::DoEnableModeless(int)\n2651 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2652 void CRecordset::DoFieldExchange(CFieldExchange *)\n2653 int CDocument::DoFileSave()\n2654 int CSplitterWnd::DoKeyboardSplit()\n2655 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2656 int CColorDialog::DoModal()\n2657 int CDialog::DoModal()\n2658 int CFileDialog::DoModal()\n2659 int CFontDialog::DoModal()\n2660 int COleBusyDialog::DoModal()\n2661 int COleChangeIconDialog::DoModal()\n2662 int COleChangeSourceDialog::DoModal()\n2663 int COleConvertDialog::DoModal()\n2664 int COleInsertDialog::DoModal(unsigned long)\n2665 int COleInsertDialog::DoModal()\n2666 int COleLinksDialog::DoModal()\n2667 int COlePasteSpecialDialog::DoModal()\n2668 int COlePropertiesDialog::DoModal()\n2669 int COleUpdateDialog::DoModal()\n2670 int CPageSetupDialog::DoModal()\n2671 int CPrintDialog::DoModal()\n2672 int CPrintDialogEx::DoModal()\n2673 int CPropertySheet::DoModal()\n2674 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2675 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2676 void CControlBar::DoPaint(CDC *)\n2677 void CDockBar::DoPaint(CDC *)\n2678 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2679 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2680 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2681 int CView::DoPreparePrinting(CPrintInfo *)\n2682 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2683 int CWinApp::DoPrintDialog(CPrintDialog *)\n2684 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2685 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2686 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2687 void COleControl::DoPropExchange(CPropExchange *)\n2688 int CDocument::DoSave(char const *,int)\n2689 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2690 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2691 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2692 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2693 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2694 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2695 long COleControlSite::DoVerb(long,tagMSG *)\n2696 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2697 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2698 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2699 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2700 void CWinApp::DoWaitCursor(int)\n2701 void CPreviewView::DoZoom(unsigned int,CPoint)\n2702 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2703 void CDC::DPtoLP(tagPOINT *,int)const \n2704 void CDC::DPtoLP(tagRECT *)const \n2705 void CDC::DPtoLP(tagSIZE *)const \n2706 void CWnd::DragAcceptFiles(int)\n2707 int CWnd::DragDetect(tagPOINT)const \n2708 int CImageList::DragEnter(CWnd *,CPoint)\n2709 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2710 unsigned int CDragListBox::Dragging(CPoint)\n2711 int CImageList::DragLeave(CWnd *)\n2712 long COleDropTarget::XDropTarget::DragLeave()\n2713 int CImageList::DragMove(CPoint)\n2714 void CReBarCtrl::DragMove(unsigned long)\n2715 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2716 int CImageList::DragShowNolock(int)\n2717 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2718 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2719 void CRectTracker::Draw(CDC *)const \n2720 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2721 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2722 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2723 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2724 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2725 void CControlBar::DrawBorders(CDC *,CRect &)\n2726 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2727 void COleControl::DrawContent(CDC *,CRect &)\n2728 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2729 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2730 int CDC::DrawEscape(int,int,char const *)\n2731 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2732 void CDC::DrawFocusRect(tagRECT const *)\n2733 void CDockContext::DrawFocusRect(int)\n2734 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2735 void CControlBar::DrawGripper(CDC *,CRect const &)\n2736 int CDC::DrawIcon(int,int,HICON__ *)\n2737 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2738 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2739 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2740 void CDragListBox::DrawInsert(int)\n2741 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2742 void CButton::DrawItem(tagDRAWITEM*)\n2743 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2744 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2745 void CComboBox::DrawItem(tagDRAWITEM*)\n2746 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2747 void CListBox::DrawItem(tagDRAWITEM*)\n2748 void CListCtrl::DrawItem(tagDRAWITEM*)\n2749 void CListView::DrawItem(tagDRAWITEM*)\n2750 void CMenu::DrawItem(tagDRAWITEM*)\n2751 void CStatic::DrawItem(tagDRAWITEM*)\n2752 void CStatusBar::DrawItem(tagDRAWITEM*)\n2753 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2754 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2755 void CWnd::DrawMenuBar()\n2756 void COleControl::DrawMetafile(CDC *,CRect &)\n2757 void CDragListBox::DrawSingle(int)\n2758 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2759 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2760 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2761 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2762 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2763 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2764 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,HBRUSH__ *)\n2765 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,CBrush *)\n2766 int CDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2767 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2768 int CMetaFileDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2769 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2770 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2771 int CDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2772 int CDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2773 int CMetaFileDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2774 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2775 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2776 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2777 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2778 void CDragListBox::Dropped(int,CPoint)\n2779 void CArchiveException::Dump(CDumpContext &)const \n2780 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2781 void CAsyncSocket::Dump(CDumpContext &)const \n2782 void CBitmap::Dump(CDumpContext &)const \n2783 void CBitmapButton::Dump(CDumpContext &)const \n2784 void CBrush::Dump(CDumpContext &)const \n2785 void CByteArray::Dump(CDumpContext &)const \n2786 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2787 void CClientDC::Dump(CDumpContext &)const \n2788 void CCmdTarget::Dump(CDumpContext &)const \n2789 void CColorDialog::Dump(CDumpContext &)const \n2790 void CControlBar::Dump(CDumpContext &)const \n2791 void CCtrlView::Dump(CDumpContext &)const \n2792 void CDatabase::Dump(CDumpContext &)const \n2793 void CDataPathProperty::Dump(CDumpContext &)const \n2794 void CDC::Dump(CDumpContext &)const \n2795 void CDialog::Dump(CDumpContext &)const \n2796 void CDocItem::Dump(CDumpContext &)const \n2797 void CDockBar::Dump(CDumpContext &)const \n2798 void CDocManager::Dump(CDumpContext &)const \n2799 void CDocObjectServer::Dump(CDumpContext &)const \n2800 void CDocObjectServerItem::Dump(CDumpContext &)const \n2801 void CDocTemplate::Dump(CDumpContext &)const \n2802 void CDocument::Dump(CDumpContext &)const \n2803 void CDWordArray::Dump(CDumpContext &)const \n2804 void CDynLinkLibrary::Dump(CDumpContext &)const \n2805 void CEditView::Dump(CDumpContext &)const \n2806 void CFile::Dump(CDumpContext &)const \n2807 void CFileDialog::Dump(CDumpContext &)const \n2808 void CFileException::Dump(CDumpContext &)const \n2809 void CFileFind::Dump(CDumpContext &)const \n2810 void CFileStatus::Dump(CDumpContext &)const \n2811 void CFindReplaceDialog::Dump(CDumpContext &)const \n2812 void CFont::Dump(CDumpContext &)const \n2813 void CFontDialog::Dump(CDumpContext &)const \n2814 void CFormView::Dump(CDumpContext &)const \n2815 void CFrameWnd::Dump(CDumpContext &)const \n2816 void CFtpConnection::Dump(CDumpContext &)const \n2817 void CFtpFileFind::Dump(CDumpContext &)const \n2818 void CGdiObject::Dump(CDumpContext &)const \n2819 void CGopherConnection::Dump(CDumpContext &)const \n2820 void CGopherFile::Dump(CDumpContext &)const \n2821 void CGopherFileFind::Dump(CDumpContext &)const \n2822 void CHtmlEditDoc::Dump(CDumpContext &)const \n2823 void CHtmlEditView::Dump(CDumpContext &)const \n2824 void CHtmlView::Dump(CDumpContext &)const \n2825 void CHttpConnection::Dump(CDumpContext &)const \n2826 void CHttpFile::Dump(CDumpContext &)const \n2827 void CImageList::Dump(CDumpContext &)const \n2828 void CInternetConnection::Dump(CDumpContext &)const \n2829 void CInternetException::Dump(CDumpContext &)const \n2830 void CInternetFile::Dump(CDumpContext &)const \n2831 void CInternetSession::Dump(CDumpContext &)const \n2832 void CLongBinary::Dump(CDumpContext &)const \n2833 void CMapPtrToPtr::Dump(CDumpContext &)const \n2834 void CMapPtrToWord::Dump(CDumpContext &)const \n2835 void CMapStringToOb::Dump(CDumpContext &)const \n2836 void CMapStringToPtr::Dump(CDumpContext &)const \n2837 void CMapStringToString::Dump(CDumpContext &)const \n2838 void CMapWordToOb::Dump(CDumpContext &)const \n2839 void CMapWordToPtr::Dump(CDumpContext &)const \n2840 void CMDIChildWnd::Dump(CDumpContext &)const \n2841 void CMDIFrameWnd::Dump(CDumpContext &)const \n2842 void CMemFile::Dump(CDumpContext &)const \n2843 void CMenu::Dump(CDumpContext &)const \n2844 void CMonikerFile::Dump(CDumpContext &)const \n2845 void CMultiDocTemplate::Dump(CDumpContext &)const \n2846 void CObArray::Dump(CDumpContext &)const \n2847 void CObject::Dump(CDumpContext &)const \n2848 void CObList::Dump(CDumpContext &)const \n2849 void COleBusyDialog::Dump(CDumpContext &)const \n2850 void COleChangeIconDialog::Dump(CDumpContext &)const \n2851 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2852 void COleClientItem::Dump(CDumpContext &)const \n2853 void COleControl::Dump(CDumpContext &)const \n2854 void COleConvertDialog::Dump(CDumpContext &)const \n2855 void COleDataSource::Dump(CDumpContext &)const \n2856 void COleDialog::Dump(CDumpContext &)const \n2857 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2858 void COleDocument::Dump(CDumpContext &)const \n2859 void COleDropSource::Dump(CDumpContext &)const \n2860 void COleDropTarget::Dump(CDumpContext &)const \n2861 void COleInsertDialog::Dump(CDumpContext &)const \n2862 void COleIPFrameWnd::Dump(CDumpContext &)const \n2863 void COleLinkingDoc::Dump(CDumpContext &)const \n2864 void COleLinksDialog::Dump(CDumpContext &)const \n2865 void COleMessageFilter::Dump(CDumpContext &)const \n2866 void COleObjectFactory::Dump(CDumpContext &)const \n2867 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2868 void COlePropertiesDialog::Dump(CDumpContext &)const \n2869 void COleServerDoc::Dump(CDumpContext &)const \n2870 void COleServerItem::Dump(CDumpContext &)const \n2871 void COleStreamFile::Dump(CDumpContext &)const \n2872 void COleUpdateDialog::Dump(CDumpContext &)const \n2873 void CPageSetupDialog::Dump(CDumpContext &)const \n2874 void CPaintDC::Dump(CDumpContext &)const \n2875 void CPen::Dump(CDumpContext &)const \n2876 void CPreviewDC::Dump(CDumpContext &)const \n2877 void CPreviewView::Dump(CDumpContext &)const \n2878 void CPrintDialog::Dump(CDumpContext &)const \n2879 void CPrintDialogEx::Dump(CDumpContext &)const \n2880 void CPropertyPage::Dump(CDumpContext &)const \n2881 void CPropertySheet::Dump(CDumpContext &)const \n2882 void CPtrArray::Dump(CDumpContext &)const \n2883 void CPtrList::Dump(CDumpContext &)const \n2884 void CRecordset::Dump(CDumpContext &)const \n2885 void CRecordView::Dump(CDumpContext &)const \n2886 void CRichEditCntrItem::Dump(CDumpContext &)const \n2887 void CRichEditDoc::Dump(CDumpContext &)const \n2888 void CRichEditView::Dump(CDumpContext &)const \n2889 void CScrollView::Dump(CDumpContext &)const \n2890 void CSingleDocTemplate::Dump(CDumpContext &)const \n2891 void CSocket::Dump(CDumpContext &)const \n2892 void CSocketFile::Dump(CDumpContext &)const \n2893 void CSplitterWnd::Dump(CDumpContext &)const \n2894 void CStatusBar::Dump(CDumpContext &)const \n2895 void CStdioFile::Dump(CDumpContext &)const \n2896 void CStringArray::Dump(CDumpContext &)const \n2897 void CStringList::Dump(CDumpContext &)const \n2898 void CSyncObject::Dump(CDumpContext &)const \n2899 void CToolBar::Dump(CDumpContext &)const \n2900 void CUIntArray::Dump(CDumpContext &)const \n2901 void CView::Dump(CDumpContext &)const \n2902 void CWinApp::Dump(CDumpContext &)const \n2903 void CWindowDC::Dump(CDumpContext &)const \n2904 void CWinThread::Dump(CDumpContext &)const \n2905 void CWnd::Dump(CDumpContext &)const \n2906 void CWordArray::Dump(CDumpContext &)const \n2907 void CMemoryState::DumpAllObjectsSince()const \n2908 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2909 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2910 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2911 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2912 CDumpContext & CDumpContext::DumpAsHex(int)\n2913 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2914 CDumpContext & CDumpContext::DumpAsHex(long)\n2915 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2916 void CRecordset::DumpFields(CDumpContext &)const \n2917 void CMemoryState::DumpStatistics()const \n2918 long COleControl::XDataObject::DUnadvise(unsigned long)\n2919 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2920 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2921 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2922 CFile * CFile::Duplicate()const \n2923 CFile * CInternetFile::Duplicate()const \n2924 CFile * CMemFile::Duplicate()const \n2925 CFile * COleStreamFile::Duplicate()const \n2926 CFile * CSocketFile::Duplicate()const \n2927 CFile * CStdioFile::Duplicate()const \n2928 unsigned long const CEditView::dwStyleDefault\n2929 void CRecordset::Edit()\n2930 int CHeaderCtrl::EditFilter(int,int)\n2931 CEdit * CListCtrl::EditLabel(int)\n2932 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2933 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2934 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2935 unsigned char & CByteArray::ElementAt(int)\n2936 unsigned long & CDWordArray::ElementAt(int)\n2937 CObject * & CObArray::ElementAt(int)\n2938 void * & CPtrArray::ElementAt(int)\n2939 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::ElementAt(int)\n2940 unsigned int & CUIntArray::ElementAt(int)\n2941 unsigned short & CWordArray::ElementAt(int)\n2942 int CDC::Ellipse(int,int,int,int)\n2943 int CDC::Ellipse(tagRECT const *)\n2944 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2945 void ATL::CSimpleStringT<char,1>::Empty()\n2946 void CDBException::Empty()\n2947 void COleDataSource::Empty()\n2948 void CEdit::EmptyUndoBuffer()\n2949 void CRichEditCtrl::EmptyUndoBuffer()\n2950 void CCheckListBox::Enable(int,int)\n2951 void CCmdUI::Enable(int)\n2952 void COleCmdUI::Enable(int)\n2953 void CStatusCmdUI::Enable(int)\n2954 void CTestCmdUI::Enable(int)\n2955 void CToolCmdUI::Enable(int)\n2956 int CWinApp::Enable3dControls()\n2957 void CWnd::EnableActiveAccessibility()\n2958 void CCmdTarget::EnableAggregation()\n2959 void CCmdTarget::EnableAutomation()\n2960 void CRecordset::EnableBookmarks()\n2961 void COleMessageFilter::EnableBusyDialog(int)\n2962 int CToolBarCtrl::EnableButton(int,int)\n2963 void COleDocument::EnableCompoundFile(int)\n2964 void CCmdTarget::EnableConnections()\n2965 void CControlBar::EnableDocking(unsigned long)\n2966 void CFrameWnd::EnableDocking(unsigned long)\n2967 void CReBar::EnableDocking(unsigned long)\n2968 void CStatusBar::EnableDocking(unsigned long)\n2969 void COleControlSite::EnableDSC()\n2970 void CWinApp::EnableHtmlHelp()\n2971 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2972 long CBrowserControlSite::EnableModeless(int)\n2973 long CDHtmlDialog::EnableModeless(int)\n2974 void CWinApp::EnableModeless(int)\n2975 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2976 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2977 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2978 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2979 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2980 void COleMessageFilter::EnableNotRespondingDialog(int)\n2981 int CScrollBar::EnableScrollBar(unsigned int)\n2982 int CWnd::EnableScrollBar(int,unsigned int)\n2983 void CWnd::EnableScrollBarCtrl(int,int)\n2984 void CWinApp::EnableShellOpen()\n2985 void COleControl::EnableSimpleFrame()\n2986 void CPropertySheet::EnableStackedTabs(int)\n2987 int CInternetSession::EnableStatusCallback(int)\n2988 int CWnd::EnableToolTips(int)\n2989 int CWnd::EnableTrackingToolTips(int)\n2990 void CCmdTarget::EnableTypeLib()\n2991 int COleControlSite::EnableWindow(int)\n2992 int CWnd::EnableWindow(int)\n2993 void COleMessageFilter::EndBusyState()\n2994 void CAsyncMonikerFile::EndCallbacks()\n2995 long COleLinkingDoc::EndDeferErrors(long)\n2996 void CDialog::EndDialog(int)\n2997 void CPropertyPage::EndDialog(int)\n2998 void CPropertySheet::EndDialog(int)\n2999 int CDC::EndDoc()\n3000 void CDockContext::EndDrag()\n3001 void CImageList::EndDrag()\n3002 void CReBarCtrl::EndDrag()\n3003 void CWnd::EndModalLoop(int)\n3004 void CFrameWnd::EndModalState()\n3005 void CWnd::EndModalState()\n3006 int CDC::EndPage()\n3007 void CWnd::EndPaint(tagPAINT*)\n3008 int CDC::EndPath()\n3009 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n3010 void CDockContext::EndResize()\n3011 void CCmdTarget::EndWaitCursor()\n3012 void COleDataObject::EnsureClipboardObject()\n3013 long CWnd::EnsureStdObj()\n3014 int CListCtrl::EnsureVisible(int,int)\n3015 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3016 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3017 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3018 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3019 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3020 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3021 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3022 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3023 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3024 int COlePropertyPage::EnumControls(HWND__ *,long)\n3025 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3026 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3027 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3028 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3029 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3030 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3031 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3032 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3033 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3034 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3035 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3036 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3037 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3038 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3039 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3040 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3041 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3042 int CRgn::EqualRgn(CRgn const *)const \n3043 void CControlBar::EraseNonClient()\n3044 int CFileException::ErrnoToException(int)\n3045 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3046 int CDC::Escape(int,int,char const *,int,char *)\n3047 int CDC::Escape(int,int,char const *,void *)\n3048 int CMetaFileDC::Escape(int,int,char const *,void *)\n3049 int CPreviewDC::Escape(int,int,char const *,void *)\n3050 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3051 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3052 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3053 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3054 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3055 int COleControl::ExchangeExtent(CPropExchange *)\n3056 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3057 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3058 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3059 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3060 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3061 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3062 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3063 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3064 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3065 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3066 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3067 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3068 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3069 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3070 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3071 void COleControl::ExchangeStockProps(CPropExchange *)\n3072 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3073 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3074 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3075 int CDC::ExcludeClipRect(int,int,int,int)\n3076 int CDC::ExcludeClipRect(tagRECT const *)\n3077 int CDC::ExcludeUpdateRgn(CWnd *)\n3078 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3079 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3080 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3081 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3082 int CHtmlEditView::ExecHandler(unsigned int)\n3083 int CWnd::ExecuteDlgInit(void *)\n3084 int CWnd::ExecuteDlgInit(char const *)\n3085 void CRecordset::ExecuteSetPosUpdate()\n3086 void CDatabase::ExecuteSQL(char const *)\n3087 void CRecordset::ExecuteUpdateSQL()\n3088 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3089 void CFrameWnd::ExitHelpMode()\n3090 int COleControlModule::ExitInstance()\n3091 int CWinApp::ExitInstance()\n3092 int CWinThread::ExitInstance()\n3093 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3094 unsigned long CCmdTarget::ExternalAddRef()\n3095 void CCmdTarget::ExternalDisconnect()\n3096 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3097 unsigned long CCmdTarget::ExternalRelease()\n3098 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3099 HICON__ * CImageList::ExtractIconA(int)\n3100 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3101 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3102 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3103 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3104 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3105 void CDataExchange::Fail()\n3106 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3107 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3108 void CArchive::FillBuffer(unsigned int)\n3109 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n3110 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n3111 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3112 int CDC::FillPath()\n3113 void CDC::FillRect(tagRECT const *,CBrush *)\n3114 int CDC::FillRgn(CRgn *,CBrush *)\n3115 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3116 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3117 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3118 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3119 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3120 void CWnd::FilterToolTipMessage(tagMSG *)\n3121 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3122 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3123 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3124 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3125 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3126 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3127 __POSITION * CStringList::Find(char const *,__POSITION *)const \n3128 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n3129 int CDockBar::FindBar(CControlBar *,int)\n3130 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3131 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3132 int CFileFind::FindFile(char const *,unsigned long)\n3133 int CFtpFileFind::FindFile(char const *,unsigned long)\n3134 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n3135 int CGopherFileFind::FindFile(char const *,unsigned long)\n3136 __POSITION * CObList::FindIndex(int)const \n3137 __POSITION * CPtrList::FindIndex(int)const \n3138 __POSITION * CStringList::FindIndex(int)const \n3139 int CListCtrl::FindItem(tagLVFINDINFOA *,int)const \n3140 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3141 int CFindReplaceDialog::FindNext()const \n3142 int CFileFind::FindNextFileA()\n3143 int CFtpFileFind::FindNextFileA()\n3144 int CGopherFileFind::FindNextFileA()\n3145 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3146 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3147 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3148 int CDHtmlDialog::FindSinkForObject(char const *)\n3149 char const * CRecordset::FindSQLToken(char const *,char const *)\n3150 int CComboBox::FindString(int,char const *)const \n3151 int CComboBoxEx::FindString(int,char const *)const \n3152 int CListBox::FindString(int,char const *)const \n3153 int CComboBox::FindStringExact(int,char const *)const \n3154 int CListBox::FindStringExact(int,char const *)const \n3155 int CEditView::FindTextA(char const *,int,int)\n3156 long CRichEditCtrl::FindTextA(unsigned long,_findtextexa *)const \n3157 int CRichEditView::FindTextA(_AFX_RICHEDIT_STATE *)\n3158 int CRichEditView::FindTextA(char const *,int,int,int)\n3159 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3160 int CRichEditView::FindTextSimple(char const *,int,int,int)\n3161 CWnd * CWnd::FindWindowA(char const *,char const *)\n3162 CWnd * CWnd::FindWindowExA(HWND__ *,HWND__ *,char const *,char const *)\n3163 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3164 int COleClientItem::FinishCreate(long)\n3165 void COleControl::FireClick()\n3166 void COleControl::FireDblClick()\n3167 void COleControl::FireError(long,char const *,unsigned int)\n3168 void COleControl::FireEvent(long,unsigned char *,...)\n3169 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3170 void COleControl::FireEventV(long,unsigned char *,char *)\n3171 void COleControl::FireKeyDown(unsigned short *,short)\n3172 void COleControl::FireKeyPress(unsigned short *)\n3173 void COleControl::FireKeyUp(unsigned short *,short)\n3174 void COleControl::FireMouseDown(short,short,long,long)\n3175 void COleControl::FireMouseMove(short,short,long,long)\n3176 void COleControl::FireMouseUp(short,short,long,long)\n3177 void COleControl::FireReadyStateChange()\n3178 void CRecordset::Fixups()\n3179 int CWnd::FlashWindow(int)\n3180 int CDC::FlattenPath()\n3181 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3182 int CDC::FloodFill(int,int,unsigned long)\n3183 void CArchive::Flush()\n3184 void CDumpContext::Flush()\n3185 void CFile::Flush()\n3186 void CInternetFile::Flush()\n3187 void CMemFile::Flush()\n3188 void CMonikerFile::Flush()\n3189 void COleStreamFile::Flush()\n3190 void CSocketFile::Flush()\n3191 void CStdioFile::Flush()\n3192 void COleDataSource::FlushClipboard()\n3193 int CRecordset::FlushResultSet()\n3194 int CEdit::FmtLines(int)\n3195 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3196 void ATL::CSimpleStringT<char,1>::Fork(int)\n3197 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3198 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3199 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3200 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3201 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n3202 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n3203 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n3204 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3205 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3206 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3207 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3208 void COleControl::ForwardActivationMsg(tagMSG *)\n3209 void CDC::FrameRect(tagRECT const *,CBrush *)\n3210 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3211 void CAfxStringMgr::Free(ATL::CStringData *)\n3212 void CDatabase::Free()\n3213 void CFixedAlloc::Free(void *)\n3214 void CFixedAllocNoSync::Free(void *)\n3215 void CMemFile::Free(unsigned char *)\n3216 void CSharedFile::Free(unsigned char *)\n3217 void CFixedAlloc::FreeAll()\n3218 void CFixedAllocNoSync::FreeAll()\n3219 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3220 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3221 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3222 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3223 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3224 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3225 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3226 void CRecordset::FreeDataCache()\n3227 void CPlex::FreeDataChain()\n3228 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n3229 void ATL::CSimpleStringT<char,1>::FreeExtra()\n3230 void CByteArray::FreeExtra()\n3231 void CDWordArray::FreeExtra()\n3232 void CObArray::FreeExtra()\n3233 void CPtrArray::FreeExtra()\n3234 void CStringArray::FreeExtra()\n3235 void CUIntArray::FreeExtra()\n3236 void CWordArray::FreeExtra()\n3237 void CObList::FreeNode(CObList::CNode *)\n3238 void CPtrList::FreeNode(CPtrList::CNode *)\n3239 void CStringList::FreeNode(CStringList::CNode *)\n3240 void CRecordset::FreeRowset()\n3241 void CThreadSlotData::FreeSlot(int)\n3242 void CProperty::FreeValue()\n3243 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3244 void COleControlContainer::FreezeAllEvents(int)\n3245 void COleControlSite::FreezeEvents(int)\n3246 long COleControl::XOleControl::FreezeEvents(int)\n3247 int COleClientItem::FreezeLink()\n3248 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3249 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3250 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3251 CDC * CDC::FromHandle(HDC__ *)\n3252 CFont * CFont::FromHandle(HFONT__ *)\n3253 CGdiObject * CGdiObject::FromHandle(void *)\n3254 CObject * CHandleMap::FromHandle(void *)\n3255 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3256 CMenu * CMenu::FromHandle(HMENU__ *)\n3257 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3258 CPen * CPen::FromHandle(HPEN__ *)\n3259 CRgn * CRgn::FromHandle(HRGN__ *)\n3260 CSocket * CSocket::FromHandle(unsigned int)\n3261 CWnd * CWnd::FromHandle(HWND__ *)\n3262 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3263 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3264 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3265 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3266 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3267 CRuntime* CRuntimeClass::FromName(char const *)\n3268 void * CProperty::Get(unsigned long *)\n3269 void * CProperty::Get()\n3270 void * CPropertySection::Get(unsigned long)\n3271 void * CPropertySection::Get(unsigned long,unsigned long *)\n3272 void * CPropertySet::Get(_GUID,unsigned long)\n3273 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3274 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3275 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3276 long CWnd::get_accChildCount(long *)\n3277 long CWnd::XAccessible::get_accChildCount(long *)\n3278 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3279 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3280 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3281 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3282 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3283 long CWnd::get_accFocus(tagVARIANT *)\n3284 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3285 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3286 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3287 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3288 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3289 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3290 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3291 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3292 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3293 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3294 long CWnd::get_accParent(IDispatch * *)\n3295 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3296 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3297 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3298 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3299 long CWnd::get_accSelection(tagVARIANT *)\n3300 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3301 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3302 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3303 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3304 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3305 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3306 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3307 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3308 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3309 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3310 long CWnd::GetAccessibleChildCount()\n3311 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3312 unsigned long COleControl::GetActivationPolicy()\n3313 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3314 CDocument * CFrameWnd::GetActiveDocument()\n3315 CFrameWnd * CFrameWnd::GetActiveFrame()\n3316 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3317 int CPropertySheet::GetActiveIndex()const \n3318 CPropertyPage * CPropertySheet::GetActivePage()const \n3319 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3320 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3321 CView * CFrameWnd::GetActiveView()const \n3322 CView * COleClientItem::GetActiveView()const \n3323 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3324 CRichEditView * CRichEditCntrItem::GetActiveView()\n3325 CWnd * CWnd::GetActiveWindow()\n3326 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3327 int CIPAddressCtrl::GetAddress(unsigned long &)\n3328 int CHtmlView::GetAddressBar()const \n3329 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3330 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n3331 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n3332 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3333 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3334 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3335 int CToolBarCtrl::GetAnchorHighlight()const \n3336 int CListBox::GetAnchorIndex()const \n3337 short COleControl::GetAppearance()\n3338 IDispatch * CHtmlView::GetApplication()const \n3339 HKEY__ * CWinApp::GetAppRegistryKey()\n3340 int CDC::GetArcDirection()const \n3341 CSize CDC::GetAspectRatioFilter()const \n3342 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3343 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3344 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3345 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3346 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3347 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3348 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3349 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3350 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3351 unsigned char CByteArray::GetAt(int)const \n3352 unsigned long CDWordArray::GetAt(int)const \n3353 CObject * CObArray::GetAt(int)const \n3354 CObject * & CObList::GetAt(__POSITION *)\n3355 CObject const * CObList::GetAt(__POSITION *)const \n3356 void * CPtrArray::GetAt(int)const \n3357 void * & CPtrList::GetAt(__POSITION *)\n3358 void const * CPtrList::GetAt(__POSITION *)const \n3359 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::GetAt(int)const \n3360 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetAt(__POSITION *)\n3361 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetAt(__POSITION *)const \n3362 unsigned int CUIntArray::GetAt(int)const \n3363 unsigned short CWordArray::GetAt(int)const \n3364 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3365 unsigned long COleControl::GetBackColor()\n3366 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3367 unsigned int CReBarCtrl::GetBandCount()const \n3368 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOA *)const \n3369 unsigned int CReBarCtrl::GetBarHeight()const \n3370 void CControlBar::GetBarInfo(CControlBarInfo *)\n3371 void CDockBar::GetBarInfo(CControlBarInfo *)\n3372 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3373 unsigned long CControlBar::GetBarStyle()\n3374 unsigned int CSpinButtonCtrl::GetBase()const \n3375 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3376 IBinding * CAsyncMonikerFile::GetBinding()const \n3377 int CBitmap::GetBitmap(tagBITMAP *)\n3378 HBITMAP__ * CButton::GetBitmap()const \n3379 HBITMAP__ * CStatic::GetBitmap()const \n3380 int CToolBarCtrl::GetBitmap(int)const \n3381 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3382 CSize CBitmap::GetBitmapDimension()const \n3383 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3384 int CHeaderCtrl::GetBitmapMargin()const \n3385 unsigned long CDC::GetBkColor()const \n3386 unsigned long CImageList::GetBkColor()const \n3387 unsigned long CListCtrl::GetBkColor()const \n3388 unsigned long CReBarCtrl::GetBkColor()const \n3389 unsigned long CTreeCtrl::GetBkColor()const \n3390 int CListCtrl::GetBkImage(tagLVBKIMAGEA *)const \n3391 int CDC::GetBkMode()const \n3392 void * CBlobProperty::GetBlob()\n3393 void CRecordset::GetBookmark(CDBVariant &)\n3394 unsigned long CDatabase::GetBookmarkPersistence()const \n3395 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3396 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3397 CRect CControlBar::GetBorders()const \n3398 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3399 int CStatusBarCtrl::GetBorders(int *)const \n3400 short COleControl::GetBorderStyle()\n3401 long CDataSourceControl::GetBoundClientRow()\n3402 int CRecordset::GetBoundFieldIndex(void *)\n3403 int CRecordset::GetBoundParamIndex(void *)\n3404 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3405 CPoint CDC::GetBrushOrg()const \n3406 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOA *)const \n3407 CWnd * CSliderCtrl::GetBuddy(int)const \n3408 CWnd * CSpinButtonCtrl::GetBuddy()const \n3409 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3410 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n3411 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3412 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n3413 unsigned int CEditView::GetBufferLength()const \n3414 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3415 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3416 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3417 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3418 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3419 int CHtmlView::GetBusy()const \n3420 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3421 int CToolBarCtrl::GetButtonCount()const \n3422 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3423 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOA *)const \n3424 unsigned long CToolBarCtrl::GetButtonSize()const \n3425 unsigned int CButton::GetButtonStyle()const \n3426 unsigned int CToolBar::GetButtonStyle(int)const \n3427 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n3428 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3429 void COleSafeArray::GetByteArray(CByteArray &)\n3430 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3431 unsigned short CPropertySet::GetByteOrder()\n3432 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3433 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3434 unsigned int CListCtrl::GetCallbackMask()const \n3435 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3436 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3437 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3438 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3439 CWnd * COleControl::GetCapture()\n3440 CWnd * CWnd::GetCapture()\n3441 long COleControlSite::XOleIPSite::GetCapture()\n3442 int CListBox::GetCaretIndex()const \n3443 CPoint CWnd::GetCaretPos()\n3444 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3445 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABC *)const \n3446 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABCFLOAT *)const \n3447 unsigned long CDC::GetCharacterPlacementA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,tagGCP_RESULTSA *,unsigned long)const \n3448 unsigned long CDC::GetCharacterPlacementA(char const *,int,int,tagGCP_RESULTSA *,unsigned long)const \n3449 void CFontDialog::GetCharFormat(_charformat &)const \n3450 CHARFORMAT2A & CRichEditView::GetCharFormatSelection()\n3451 CPoint CRichEditCtrl::GetCharPos(long)const \n3452 int CDC::GetCharWidthA(unsigned int,unsigned int,int *)const \n3453 int CDC::GetCharWidthA(unsigned int,unsigned int,float *)const \n3454 int CButton::GetCheck()const \n3455 int CCheckListBox::GetCheck(int)\n3456 int CListCtrl::GetCheck(int)const \n3457 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3458 int CWnd::GetCheckedRadioButton(int,int)\n3459 unsigned int CCheckListBox::GetCheckStyle()\n3460 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3461 long CBlobProperty::GetClassID(_GUID *)\n3462 void COleClientItem::GetClassID(_GUID *)const \n3463 _GUID const & COleConvertDialog::GetClassID()const \n3464 _GUID const & COleInsertDialog::GetClassID()const \n3465 _GUID const & COleObjectFactory::GetClassID()const \n3466 _GUID CPropertySet::GetClassID()\n3467 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3468 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3469 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3470 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3471 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3472 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3473 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n3474 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3475 void COleControl::GetClientOffset(long *,long *)const \n3476 void COleControl::GetClientRect(tagRECT *)const \n3477 void CWnd::GetClientRect(tagRECT *)const \n3478 IOleClientSite * COleClientItem::GetClientSite()\n3479 IOleClientSite * COleControl::GetClientSite()\n3480 IOleClientSite * COleServerDoc::GetClientSite()const \n3481 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3482 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3483 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3484 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3485 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3486 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3487 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3488 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3489 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3490 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3491 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3492 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3493 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3494 COleDataSource * COleDataSource::GetClipboardOwner()\n3495 CWnd * CWnd::GetClipboardOwner()\n3496 CWnd * CWnd::GetClipboardViewer()\n3497 int CDC::GetClipBox(tagRECT *)const \n3498 int CMetaFileDC::GetClipBox(tagRECT *)const \n3499 unsigned long CColorDialog::GetColor()const \n3500 unsigned long CFontDialog::GetColor()const \n3501 unsigned long CMonthCalCtrl::GetColor(int)const \n3502 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3503 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3504 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3505 int CListCtrl::GetColumn(int,tagLVCOLUMNA *)const \n3506 int CSplitterWnd::GetColumnCount()const \n3507 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3508 int CListCtrl::GetColumnOrderArray(int *,int)\n3509 int CListCtrl::GetColumnWidth(int)const \n3510 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3511 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3512 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3513 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDatabase::GetConnect()const \n3514 void CDatabase::GetConnectInfo()\n3515 int CConnectionPoint::GetConnectionCount()\n3516 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3517 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3518 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3519 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3520 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3521 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3522 CPtrArray const * CConnectionPoint::GetConnections()\n3523 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3524 IDispatch * CHtmlView::GetContainer()const \n3525 IOleItemContainer * COleDocument::GetContainer()\n3526 IOleItemContainer * COleLinkingDoc::GetContainer()\n3527 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3528 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3529 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3530 unsigned long CInternetConnection::GetContext()const \n3531 unsigned long CInternetFile::GetContext()const \n3532 unsigned long CInternetSession::GetContext()const \n3533 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3534 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3535 COleControl * CDataPathProperty::GetControl()\n3536 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3537 COleControlContainer * CWnd::GetControlContainer()\n3538 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n3539 unsigned long COleControl::GetControlFlags()\n3540 void COleControlSite::GetControlInfo()\n3541 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3542 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3543 IUnknown * CCmdTarget::GetControllingUnknown()\n3544 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3545 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n3546 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n3547 void COleControl::GetControlSize(int *,int *)\n3548 int COlePropertyPage::GetControlStatus(unsigned int)\n3549 IUnknown * CWnd::GetControlUnknown()\n3550 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3551 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3552 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n3553 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n3554 int CPrintDialog::GetCopies()const \n3555 int CPrintDialogEx::GetCopies()const \n3556 int CByteArray::GetCount()const \n3557 int CComboBox::GetCount()const \n3558 int CControlBar::GetCount()const \n3559 int CDWordArray::GetCount()const \n3560 int CListBox::GetCount()const \n3561 int CMapPtrToPtr::GetCount()const \n3562 int CMapPtrToWord::GetCount()const \n3563 int CMapStringToOb::GetCount()const \n3564 int CMapStringToPtr::GetCount()const \n3565 int CMapStringToString::GetCount()const \n3566 int CMapWordToOb::GetCount()const \n3567 int CMapWordToPtr::GetCount()const \n3568 int CObArray::GetCount()const \n3569 int CObList::GetCount()const \n3570 unsigned long CPropertySection::GetCount()\n3571 unsigned long CPropertySet::GetCount()\n3572 int CPtrArray::GetCount()const \n3573 int CPtrList::GetCount()const \n3574 int CStringArray::GetCount()const \n3575 int CStringList::GetCount()const \n3576 unsigned int CTreeCtrl::GetCount()const \n3577 int CUIntArray::GetCount()const \n3578 int CWordArray::GetCount()const \n3579 int CListCtrl::GetCountPerPage()const \n3580 int CFileFind::GetCreationTime(ATL::CTime &)const \n3581 int CFileFind::GetCreationTime(_FILETIME *)const \n3582 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3583 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3584 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3585 int CTabCtrl::GetCurFocus()const \n3586 CBitmap * CDC::GetCurrentBitmap()const \n3587 CBrush * CDC::GetCurrentBrush()const \n3588 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3589 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n3590 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3591 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n3592 CFont * CDC::GetCurrentFont()const \n3593 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n3594 tagMSG const * CWnd::GetCurrentMessage()\n3595 CPalette * CDC::GetCurrentPalette()const \n3596 CPen * CDC::GetCurrentPen()const \n3597 CPoint CDC::GetCurrentPosition()const \n3598 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3599 int CComboBox::GetCurSel()const \n3600 int CListBox::GetCurSel()const \n3601 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3602 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3603 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3604 int CTabCtrl::GetCurSel()const \n3605 HICON__ * CButton::GetCursor()\n3606 IUnknown * CDataBoundProperty::GetCursor()\n3607 IUnknown * CDataSourceControl::GetCursor()\n3608 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3609 HICON__ * CStatic::GetCursor()\n3610 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3611 int CDatabase::GetCursorCommitBehavior()const \n3612 int CDatabase::GetCursorRollbackBehavior()const \n3613 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n3614 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n3615 unsigned char * CByteArray::GetData()\n3616 unsigned char const * CByteArray::GetData()const \n3617 unsigned long * CDWordArray::GetData()\n3618 unsigned long const * CDWordArray::GetData()const \n3619 CObject * * CObArray::GetData()\n3620 CObject const * * CObArray::GetData()const \n3621 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3622 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3623 void * * CPtrArray::GetData()\n3624 void const * * CPtrArray::GetData()const \n3625 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3626 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > * CStringArray::GetData()\n3627 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const * CStringArray::GetData()const \n3628 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3629 unsigned int * CUIntArray::GetData()\n3630 unsigned int const * CUIntArray::GetData()const \n3631 unsigned short * CWordArray::GetData()\n3632 unsigned short const * CWordArray::GetData()const \n3633 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3634 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3635 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3636 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3637 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName()const \n3638 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3639 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3640 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3641 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3642 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3643 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3644 IDataObject * COleServerItem::GetDataObject()\n3645 COleControl::CControlDataSource * COleControl::GetDataSource()\n3646 COleDataSource * COleServerItem::GetDataSource()\n3647 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3648 CDC * CWnd::GetDC()\n3649 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3650 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3651 HACCEL__ * CDocument::GetDefaultAccelerator()\n3652 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3653 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3654 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3655 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n3656 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect()\n3657 short CRecordset::GetDefaultFieldType(short)\n3658 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3659 HMENU__ * CDocument::GetDefaultMenu()\n3660 HMENU__ * COleServerDoc::GetDefaultMenu()\n3661 int CPrintDialog::GetDefaults()\n3662 int CPrintDialogEx::GetDefaults()\n3663 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL()\n3664 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3665 unsigned long COleControlSite::GetDefBtnCode()\n3666 unsigned long CDialog::GetDefID()const \n3667 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3668 int CDumpContext::GetDepth()const \n3669 CWnd * CWnd::GetDescendantWindow(int,int)const \n3670 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3671 CWnd * CWnd::GetDesktopWindow()\n3672 int CDC::GetDeviceCaps(int)const \n3673 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName()const \n3674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName()const \n3675 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName()const \n3676 CPoint CScrollView::GetDeviceScrollPosition()const \n3677 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3678 _devicemodeA * CPageSetupDialog::GetDevMode()const \n3679 _devicemodeA * CPrintDialog::GetDevMode()const \n3680 _devicemodeA * CPrintDialogEx::GetDevMode()const \n3681 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3682 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3683 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3684 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3685 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3686 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3687 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3688 unsigned long COleSafeArray::GetDim()\n3689 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3690 int CCmdTarget::GetDispatchIID(_GUID *)\n3691 int COleControl::GetDispatchIID(_GUID *)\n3692 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3693 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3694 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3695 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetDisplayName()\n3696 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n3697 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3698 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3699 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3700 int COleControlSite::GetDlgCtrlID()const \n3701 int CWnd::GetDlgCtrlID()const \n3702 CWnd * COleControlContainer::GetDlgItem(int)const \n3703 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3704 CWnd * CWnd::GetDlgItem(int)const \n3705 void CWnd::GetDlgItem(int,HWND__ * *)const \n3706 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3707 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3708 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n3709 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3710 int CWnd::GetDlgItemTextA(int,char *,int)const \n3711 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3712 CDockBar * CDockContext::GetDockBar(unsigned long)\n3713 CControlBar * CDockBar::GetDockedControlBar(int)const \n3714 int CDockBar::GetDockedCount()const \n3715 int CDockBar::GetDockedVisibleCount()const \n3716 CFrameWnd * CControlBar::GetDockingFrame()const \n3717 void CFrameWnd::GetDockState(CDockState &)const \n3718 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3719 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3720 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n3721 CDocTemplate * CDocument::GetDocTemplate()const \n3722 CDocument * CDocItem::GetDocument()const \n3723 COleDocument * COleClientItem::GetDocument()const \n3724 COleServerDoc * COleServerItem::GetDocument()const \n3725 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3726 CRichEditDoc * CRichEditView::GetDocument()const \n3727 CDocument * CView::GetDocument()const \n3728 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3729 int CDocManager::GetDocumentCount()\n3730 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3731 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3732 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3733 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3734 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3735 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3736 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName()const \n3737 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName()const \n3738 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName()const \n3739 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3740 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3741 int CComboBox::GetDroppedState()const \n3742 int CComboBox::GetDroppedWidth()const \n3743 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3744 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3745 IDropTarget * CReBarCtrl::GetDropTarget()const \n3746 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3747 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3748 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3749 IUnknown * CWnd::GetDSCCursor()\n3750 CEdit * CListCtrl::GetEditControl()const \n3751 CEdit * CTreeCtrl::GetEditControl()const \n3752 CEdit * CComboBoxEx::GetEditCtrl()\n3753 CEdit & CEditView::GetEditCtrl()const \n3754 unsigned long CComboBox::GetEditSel()const \n3755 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n3756 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n3757 void COleSafeArray::GetElement(long *,void *)\n3758 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n3759 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n3760 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n3761 wchar_t * CDHtmlDialog::GetElementText(char const *)\n3762 unsigned long COleSafeArray::GetElemSize()\n3763 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3764 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3765 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3766 int COleControl::GetEnabled()\n3767 HENHMETAFILE__ * CStatic::GetEnhMetaFileA()const \n3768 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3769 int CPalette::GetEntryCount()\n3770 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3771 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n3772 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n3773 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3774 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3775 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n3776 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3777 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3778 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3779 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3780 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n3781 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3782 int COleControlSite::GetEventIID(_GUID *)\n3783 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3784 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n3785 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n3786 long CRichEditCtrl::GetEventMask()const \n3787 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3788 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3789 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3790 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3791 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3792 unsigned long COleControlSite::GetExStyle()const \n3793 unsigned long CWnd::GetExStyle()const \n3794 IDispatch * COleControl::GetExtendedControl()\n3795 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3796 unsigned long CComboBoxEx::GetExtendedStyle()const \n3797 unsigned long CListCtrl::GetExtendedStyle()\n3798 unsigned long CTabCtrl::GetExtendedStyle()\n3799 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3800 int CComboBox::GetExtendedUI()const \n3801 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3802 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3803 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3804 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3805 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3806 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3807 long CBrowserControlSite::GetExternal(IDispatch * *)\n3808 long CDHtmlDialog::GetExternal(IDispatch * *)\n3809 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3810 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3811 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3812 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3813 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetFaceName()const \n3814 short CRecordset::GetFieldIndexByName(char const *)\n3815 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3816 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3817 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3818 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3819 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3820 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3821 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3822 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n3823 CFile * CArchive::GetFile()const \n3824 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n3825 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n3826 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3827 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt()const \n3828 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName()const \n3829 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName()const \n3830 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName()const \n3831 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName()const \n3832 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFileName()\n3833 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath()const \n3834 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath()const \n3835 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath()const \n3836 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle()const \n3837 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle()const \n3838 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle()const \n3839 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle()const \n3840 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3841 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL()const \n3842 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL()const \n3843 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL()const \n3844 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL()const \n3845 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetFindString()const \n3846 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3847 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3848 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3849 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3850 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3851 CFrameWnd * COleDocument::GetFirstFrame()\n3852 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3853 __POSITION * CDocument::GetFirstViewPosition()const \n3854 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3855 int CEdit::GetFirstVisibleLine()const \n3856 int CRichEditCtrl::GetFirstVisibleLine()const \n3857 CWnd * COleControl::GetFocus()\n3858 CWnd * CWnd::GetFocus()\n3859 long COleControlSite::XOleIPSite::GetFocus()\n3860 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath()const \n3861 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n3862 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n3863 IFontDisp * COleControl::GetFont()\n3864 CFont * CWnd::GetFont()const \n3865 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3866 IFontDisp * CFontHolder::GetFontDispatch()\n3867 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3868 HFONT__ * CFontHolder::GetFontHandle()\n3869 unsigned long CDC::GetFontLanguageInfo()const \n3870 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3871 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n3872 unsigned long COleControl::GetForeColor()\n3873 CWnd * CWnd::GetForegroundWindow()\n3874 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3875 _GUID CPropertySection::GetFormatID()\n3876 unsigned short CPropertySet::GetFormatVersion()\n3877 int CPrintDialog::GetFromPage()const \n3878 unsigned int CPrintInfo::GetFromPage()const \n3879 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFromPrefix()\n3880 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n3881 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName()const \n3882 int CHtmlView::GetFullScreen()const \n3883 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3884 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3885 unsigned long CDC::GetGlyphOutlineA(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3886 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n3887 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3888 CBrush * CDC::GetHalftoneBrush()\n3889 void * CEdit::GetHandle()const \n3890 unsigned int CRectTracker::GetHandleMask()const \n3891 void CRectTracker::GetHandleRect(int,CRect *)const \n3892 int CRectTracker::GetHandleSize(tagRECT const *)const \n3893 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3894 unsigned int CMapPtrToWord::GetHashTableSize()const \n3895 unsigned int CMapStringToOb::GetHashTableSize()const \n3896 unsigned int CMapStringToPtr::GetHashTableSize()const \n3897 unsigned int CMapStringToString::GetHashTableSize()const \n3898 unsigned int CMapWordToOb::GetHashTableSize()const \n3899 unsigned int CMapWordToPtr::GetHashTableSize()const \n3900 CObject * & CObList::GetHead()\n3901 CObject const * CObList::GetHead()const \n3902 void * & CPtrList::GetHead()\n3903 void const * CPtrList::GetHead()const \n3904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetHead()\n3905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetHead()const \n3906 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3907 __POSITION * CObList::GetHeadPosition()const \n3908 __POSITION * CPtrList::GetHeadPosition()const \n3909 __POSITION * CStringList::GetHeadPosition()const \n3910 long CHtmlView::GetHeight()const \n3911 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3912 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n3913 void CSplitterWnd::GetHitRect(int,CRect &)\n3914 unsigned int CComboBox::GetHorizontalExtent()const \n3915 int CListBox::GetHorizontalExtent()const \n3916 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3917 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3918 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3919 HICON__ * CListCtrl::GetHotCursor()\n3920 CImageList * CToolBarCtrl::GetHotImageList()const \n3921 int CListCtrl::GetHotItem()\n3922 int CToolBarCtrl::GetHotItem()const \n3923 unsigned long CHotKeyCtrl::GetHotKey()const \n3924 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName()const \n3926 unsigned long CListCtrl::GetHoverTime()const \n3927 IDispatch * CHtmlView::GetHtmlDocument()const \n3928 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n3929 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n3930 unsigned int COleControl::GetHwnd()\n3931 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3932 HICON__ * CButton::GetIcon()const \n3933 HICON__ * CStatic::GetIcon()const \n3934 HICON__ * CWnd::GetIcon(int)const \n3935 HICON__ * COleClientItem::GetIconFromRegistry()const \n3936 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3937 void * COleChangeIconDialog::GetIconicMetafile()const \n3938 void * COleClientItem::GetIconicMetafile()\n3939 void * COleConvertDialog::GetIconicMetafile()const \n3940 void * COleInsertDialog::GetIconicMetafile()const \n3941 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3942 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3943 unsigned long CProperty::GetID()\n3944 int CPropertySection::GetID(char const *,unsigned long *)\n3945 IDataObject * COleDataObject::GetIDataObject(int)\n3946 IDispatch * CCmdTarget::GetIDispatch(int)\n3947 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3948 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3949 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3950 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3951 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3952 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3953 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3954 _GUID const & COleControl::XEventConnPt::GetIID()\n3955 int CImageList::GetImageCount()const \n3956 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3957 CImageList * CComboBoxEx::GetImageList()const \n3958 CImageList * CHeaderCtrl::GetImageList()const \n3959 CImageList * CListCtrl::GetImageList(int)const \n3960 CImageList * CReBarCtrl::GetImageList()const \n3961 CImageList * CTabCtrl::GetImageList()const \n3962 CImageList * CToolBarCtrl::GetImageList()const \n3963 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3964 unsigned int CTreeCtrl::GetIndent()const \n3965 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3966 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3967 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3968 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3969 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3970 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3971 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3972 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3973 CWnd * COleClientItem::GetInPlaceWindow()\n3974 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3975 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3976 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3977 void CSplitterWnd::GetInsideRect(CRect &)const \n3978 IUnknown * CCmdTarget::GetInterface(void const *)\n3979 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3980 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3981 IUnknown * COleControl::GetInterfaceHook(void const *)\n3982 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3983 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3984 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3985 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3986 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3987 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3988 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3989 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3990 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3991 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3992 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3993 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3994 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3995 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3996 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3997 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3998 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3999 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n4000 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n4001 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n4002 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n4003 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n4004 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n4005 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n4006 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n4007 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n4008 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n4009 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n4010 int CHeaderCtrl::GetItem(int,_HD_ITEMA *)const \n4011 int CListCtrl::GetItem(tagLVITEMA *)const \n4012 int CTabCtrl::GetItem(int,tagTCITEMA *)const \n4013 int CTreeCtrl::GetItem(tagTVITEMA *)const \n4014 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4015 int CHeaderCtrl::GetItemCount()const \n4016 int CListCtrl::GetItemCount()const \n4017 int CTabCtrl::GetItemCount()const \n4018 unsigned long CComboBox::GetItemData(int)const \n4019 unsigned long CListBox::GetItemData(int)const \n4020 unsigned long CListCtrl::GetItemData(int)const \n4021 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4022 void * CComboBox::GetItemDataPtr(int)const \n4023 void * CListBox::GetItemDataPtr(int)const \n4024 int CComboBox::GetItemHeight(int)const \n4025 int CListBox::GetItemHeight(int)const \n4026 short CTreeCtrl::GetItemHeight()const \n4027 unsigned int CStatusBar::GetItemID(int)const \n4028 unsigned int CToolBar::GetItemID(int)const \n4029 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4030 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetItemName()\n4031 void COleClientItem::GetItemName(char *)const \n4032 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleServerItem::GetItemName()const \n4033 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4034 void COleServerDoc::GetItemPosition(tagRECT *)const \n4035 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4036 int CListBox::GetItemRect(int,tagRECT *)const \n4037 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4038 void CStatusBar::GetItemRect(int,tagRECT *)const \n4039 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4040 void CToolBar::GetItemRect(int,tagRECT *)const \n4041 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4042 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4043 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4044 unsigned int COleClientItem::GetItemState()const \n4045 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4046 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4047 void COleClientItem::GetItemStorage()\n4048 void COleClientItem::GetItemStorageCompound()\n4049 void COleClientItem::GetItemStorageFlat()\n4050 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n4051 int CListCtrl::GetItemText(int,int,char *,int)const \n4052 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4053 int CDC::GetKerningPairsA(int,tagKERNINGPAIR *)const \n4054 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4055 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4056 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4057 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4058 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4059 CWnd * CWnd::GetLastActivePopup()const \n4060 int CAsyncSocket::GetLastError()\n4061 unsigned int COleDialog::GetLastError()const \n4062 long COleClientItem::GetLastStatus()const \n4063 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4064 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4065 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4066 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4067 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4068 unsigned long CDC::GetLayout()const \n4069 long CRecordset::GetLBFetchSize(long)\n4070 void COleSafeArray::GetLBound(unsigned long,long *)\n4071 long CRecordset::GetLBReallocSize(long)\n4072 int CComboBox::GetLBText(int,char *)const \n4073 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4074 int CComboBox::GetLBTextLen(int)const \n4075 long CHtmlView::GetLeft()const \n4076 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n4077 int ATL::CSimpleStringT<char,1>::GetLength()const \n4078 unsigned __int64 CFile::GetLength()const \n4079 unsigned __int64 CFileFind::GetLength()const \n4080 unsigned __int64 CGopherFileFind::GetLength()const \n4081 unsigned __int64 CInternetFile::GetLength()const \n4082 unsigned __int64 CMemFile::GetLength()const \n4083 unsigned __int64 COleStreamFile::GetLength()const \n4084 unsigned __int64 CSocketFile::GetLength()const \n4085 unsigned __int64 CStdioFile::GetLength()const \n4086 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4087 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4088 unsigned int CEdit::GetLimitText()const \n4089 long CRichEditCtrl::GetLimitText()const \n4090 int CEdit::GetLine(int,char *)const \n4091 int CEdit::GetLine(int,char *,int)const \n4092 int CRichEditCtrl::GetLine(int,char *)const \n4093 int CRichEditCtrl::GetLine(int,char *,int)const \n4094 unsigned long CTreeCtrl::GetLineColor()const \n4095 int CEdit::GetLineCount()const \n4096 int CRichEditCtrl::GetLineCount()const \n4097 int CSliderCtrl::GetLineSize()const \n4098 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4099 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n4100 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4101 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4102 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n4103 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4104 CPtrList * CPropertySection::GetList()\n4105 CPtrList * CPropertySet::GetList()\n4106 CListCtrl & CListView::GetListCtrl()const \n4107 unsigned long CComboBox::GetLocale()const \n4108 unsigned long CListBox::GetLocale()const \n4109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName()const \n4110 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL()const \n4111 CGopherLocator CGopherFileFind::GetLocator()const \n4112 int CGopherLocator::GetLocatorType(unsigned long &)const \n4113 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4114 int CFont::GetLogFont(tagLOGFONTA *)\n4115 int CPen::GetLogPen(tagLOGPEN *)\n4116 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4117 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4118 long CFieldExchange::GetLongBinarySize(int)\n4119 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4120 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4121 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n4122 CWnd * CWinThread::GetMainWnd()\n4123 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n4124 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n4125 int CDC::GetMapMode()const \n4126 void CToolTipCtrl::GetMargin(tagRECT *)const \n4127 unsigned long CEdit::GetMargins()const \n4128 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4129 CRect CRichEditView::GetMargins()const \n4130 int CConnectionPoint::GetMaxConnections()\n4131 unsigned int CPrintInfo::GetMaxPage()const \n4132 int CMonthCalCtrl::GetMaxSelCount()const \n4133 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4134 int CToolBarCtrl::GetMaxTextRows()const \n4135 int CToolTipCtrl::GetMaxTipWidth()const \n4136 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n4137 CMenu * CWnd::GetMenu()const \n4138 int CHtmlView::GetMenuBar()const \n4139 unsigned long CMenu::GetMenuContextHelpId()const \n4140 unsigned int CMenu::GetMenuItemCount()const \n4141 unsigned int CMenu::GetMenuItemID(int)const \n4142 int CMenu::GetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n4143 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4144 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n4145 int CMenu::GetMenuStringA(unsigned int,char *,int,unsigned int)const \n4146 CWnd * CFrameWnd::GetMessageBar()\n4147 CWnd * CMDIChildWnd::GetMessageBar()\n4148 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n4149 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n4150 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n4151 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n4152 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n4153 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n4154 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n4155 AFX_MSGMAP const * CDialog::GetMessageMap()const \n4156 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n4157 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n4158 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n4159 AFX_MSGMAP const * CDocument::GetMessageMap()const \n4160 AFX_MSGMAP const * CEditView::GetMessageMap()const \n4161 AFX_MSGMAP const * CFormView::GetMessageMap()const \n4162 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n4163 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n4164 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n4165 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n4166 AFX_MSGMAP const * CListView::GetMessageMap()const \n4167 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n4168 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n4169 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n4170 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n4171 AFX_MSGMAP const * COleControl::GetMessageMap()const \n4172 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n4173 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n4174 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n4175 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n4176 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n4177 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n4178 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n4179 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n4180 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n4181 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n4182 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n4183 AFX_MSGMAP const * CReBar::GetMessageMap()const \n4184 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n4185 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n4186 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n4187 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n4188 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n4189 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n4190 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n4191 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n4192 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n4193 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n4194 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n4195 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n4196 AFX_MSGMAP const * CView::GetMessageMap()const \n4197 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n4198 AFX_MSGMAP const * CWnd::GetMessageMap()const \n4199 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4200 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4201 long CDataSourceControl::GetMetaData()\n4202 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4203 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4204 unsigned int CPrintInfo::GetMinPage()const \n4205 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4206 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4207 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4208 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4209 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4210 float CDC::GetMiterLimit()const \n4211 int CEdit::GetModify()const \n4212 int CRichEditCtrl::GetModify()const \n4213 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4214 IMoniker * CMonikerFile::GetMoniker()const \n4215 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4216 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4217 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4218 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4219 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4220 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4221 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4222 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4223 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4224 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4225 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4226 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4227 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4228 int CMonthCalCtrl::GetMonthDelta()const \n4229 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4230 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4231 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4232 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4233 unsigned long CDC::GetNearestColor(unsigned long)const \n4234 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4235 unsigned long COleClientItem::GetNewItemNumber()\n4236 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4237 CDataBoundProperty * CDataBoundProperty::GetNext()\n4238 CObject * & CObList::GetNext(__POSITION * &)\n4239 CObject const * CObList::GetNext(__POSITION * &)const \n4240 void * & CPtrList::GetNext(__POSITION * &)\n4241 void const * CPtrList::GetNext(__POSITION * &)const \n4242 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetNext(__POSITION * &)\n4243 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetNext(__POSITION * &)const \n4244 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4245 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4246 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n4247 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n4248 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4249 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4250 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4251 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4252 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4253 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4254 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4255 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4256 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4257 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4258 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4259 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4260 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4261 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4262 int CListCtrl::GetNextItem(int,int)const \n4263 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4264 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4265 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4266 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4267 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4268 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4269 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4270 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4271 CView * CDocument::GetNextView(__POSITION * &)const \n4272 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4273 CWnd * CWnd::GetNextWindow(unsigned int)const \n4274 ATL::CStringData * CAfxStringMgr::GetNilString()\n4275 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4276 void CCmdTarget::GetNotSupported()\n4277 void COleControl::GetNotSupported()\n4278 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4279 unsigned int CSliderCtrl::GetNumTics()const \n4280 int CGdiObject::GetObjectA(int,void *)const \n4281 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA()const \n4282 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4283 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4284 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4285 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4286 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n4287 unsigned int CArchive::GetObjectSchema()\n4288 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4289 unsigned int CGdiObject::GetObjectType()const \n4290 short CRecordset::GetODBCFieldCount()const \n4291 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4292 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n4293 int CHtmlView::GetOffline()const \n4294 tagOFNA & CFileDialog::GetOFN()\n4295 tagOFNA const & CFileDialog::GetOFN()const \n4296 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4297 IOleObject * COleServerItem::GetOleObject()\n4298 unsigned long COleSafeArray::GetOneDimSize()\n4299 CWnd * CWnd::GetOpenClipboardWindow()\n4300 int CDocManager::GetOpenDocumentCount()\n4301 int CWinApp::GetOpenDocumentCount()\n4302 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4303 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4304 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4305 unsigned int CRichEditCtrl::GetOptions()const \n4306 int CHeaderCtrl::GetOrderArray(int *,int)\n4307 int CListCtrl::GetOrigin(tagPOINT *)const \n4308 unsigned long CPropertySet::GetOSVersion()\n4309 CWnd * COleControl::GetOuterWindow()const \n4310 unsigned int CDC::GetOutlineTextMetricsA(unsigned int,_OUTLINETEXTMETRICA *)const \n4311 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4312 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4313 CSize CDC::GetOutputTabbedTextExtent(char const *,int,int,int *)const \n4314 CSize CDC::GetOutputTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n4315 CSize CDC::GetOutputTextExtent(char const *,int)const \n4316 int CDC::GetOutputTextMetrics(tagTEXTMETRICA *)const \n4317 CWnd * CWnd::GetOwner()const \n4318 CPropertyPage * CPropertySheet::GetPage(int)const \n4319 int COleDocObjectItem::GetPageCount(long *,long *)\n4320 int CPropertySheet::GetPageCount()const \n4321 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4322 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4323 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4324 CRect CRichEditView::GetPageRect()const \n4325 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4326 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4327 int CSliderCtrl::GetPageSize()const \n4328 CPalette * CReBarCtrl::GetPalette()const \n4329 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4330 CWnd * CSplitterWnd::GetPane(int,int)const \n4331 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4332 unsigned int CStatusBar::GetPaneStyle(int)const \n4333 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n4334 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4335 CSize CPageSetupDialog::GetPaperSize()const \n4336 CSize CRichEditView::GetPaperSize()const \n4337 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4338 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4339 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4340 CWnd * CWnd::GetParent()const \n4341 IDispatch * CHtmlView::GetParentBrowser()const \n4342 CFrameWnd * CWnd::GetParentFrame()const \n4343 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4344 CWnd * CWnd::GetParentOwner()const \n4345 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4346 int CStatusBarCtrl::GetParts(int,int *)const \n4347 char CEdit::GetPasswordChar()const \n4348 int COlePasteSpecialDialog::GetPasteIndex()const \n4349 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDataPathProperty::GetPath()const \n4350 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4351 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetPathName()const \n4352 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName()const \n4353 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleInsertDialog::GetPathName()const \n4354 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4355 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4356 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4357 unsigned long CDC::GetPixel(int,int)const \n4358 unsigned long CDC::GetPixel(tagPOINT)const \n4359 int CDC::GetPolyFillMode()const \n4360 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName()const \n4361 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName()const \n4362 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName()const \n4363 int CProgressCtrl::GetPos()\n4364 int CSliderCtrl::GetPos()const \n4365 int CSpinButtonCtrl::GetPos()const \n4366 int CSpinButtonCtrl::GetPos32(int *)const \n4367 unsigned __int64 CFile::GetPosition()const \n4368 unsigned __int64 CMemFile::GetPosition()const \n4369 unsigned __int64 COleStreamFile::GetPosition()const \n4370 unsigned __int64 CSocketFile::GetPosition()const \n4371 unsigned __int64 CStdioFile::GetPosition()const \n4372 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4373 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4374 CObject * & CObList::GetPrev(__POSITION * &)\n4375 CObject const * CObList::GetPrev(__POSITION * &)const \n4376 void * & CPtrList::GetPrev(__POSITION * &)\n4377 void const * CPtrList::GetPrev(__POSITION * &)const \n4378 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetPrev(__POSITION * &)\n4379 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetPrev(__POSITION * &)const \n4380 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4381 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4382 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4383 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4384 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4385 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4386 HDC__ * CPrintDialog::GetPrinterDC()const \n4387 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4388 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n4389 CFont * CEditView::GetPrinterFont()const \n4390 CRect CRichEditView::GetPrintRect()const \n4391 int CRichEditView::GetPrintWidth()const \n4392 long CAsyncMonikerFile::GetPriority()const \n4393 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n4394 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n4395 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n4396 int COlePropertyPage::GetPropCheck(char const *,int *)\n4397 COleVariant CHtmlView::GetProperty(char const *)\n4398 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4399 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4400 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4401 CProperty * CPropertySection::GetProperty(unsigned long)\n4402 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4403 void CWnd::GetProperty(long,unsigned short,void *)const \n4404 int COlePropertyPage::GetPropIndex(char const *,int *)\n4405 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4406 int COlePropertyPage::GetPropRadio(char const *,int *)\n4407 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4408 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n4409 int COlePropertyPage::GetPropText(char const *,short *)\n4410 int COlePropertyPage::GetPropText(char const *,int *)\n4411 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n4412 int COlePropertyPage::GetPropText(char const *,long *)\n4413 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n4414 int COlePropertyPage::GetPropText(char const *,float *)\n4415 int COlePropertyPage::GetPropText(char const *,double *)\n4416 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n4417 _PROPSHEETPAGEA & CPropertyPage::GetPSP()\n4418 _PROPSHEETPAGEA const & CPropertyPage::GetPSP()const \n4419 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4420 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4421 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4422 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4423 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4424 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4425 void CProgressCtrl::GetRange(int &,int &)\n4426 void CSliderCtrl::GetRange(int &,int &)const \n4427 unsigned long CSpinButtonCtrl::GetRange()const \n4428 void CSpinButtonCtrl::GetRange(int &,int &)const \n4429 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4430 int CSliderCtrl::GetRangeMax()const \n4431 int CSliderCtrl::GetRangeMin()const \n4432 void * CProperty::GetRawValue()\n4433 int CFileDialog::GetReadOnlyPref()const \n4434 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4435 long COleControl::GetReadyState()\n4436 CReBarCtrl & CReBar::GetReBarCtrl()const \n4437 long CRecordset::GetRecordCount()const \n4438 void CEdit::GetRect(tagRECT *)const \n4439 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4440 void CRichEditCtrl::GetRect(tagRECT *)const \n4441 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4442 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4443 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4444 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4445 int COleControl::GetRectInContainer(tagRECT *)\n4446 enum _undonameid CRichEditCtrl::GetRedoName()const \n4447 int CRgn::GetRegionData(_RGNDATA *,int)const \n4448 int CHtmlView::GetRegisterAsBrowser()const \n4449 int CHtmlView::GetRegisterAsDropTarget()const \n4450 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetReplaceString()const \n4451 int CRgn::GetRgnBox(tagRECT *)const \n4452 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4453 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot()const \n4454 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot()const \n4455 _TREEITEM * CTreeCtrl::GetRootItem()const \n4456 int CDC::GetROP2()const \n4457 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4458 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4459 CView * CCmdTarget::GetRoutingView()\n4460 CView * CCmdTarget::GetRoutingView_()\n4461 unsigned int CReBarCtrl::GetRowCount()const \n4462 int CSplitterWnd::GetRowCount()const \n4463 int CTabCtrl::GetRowCount()const \n4464 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4465 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4466 int CToolBarCtrl::GetRows()const \n4467 unsigned long CRecordset::GetRowsetSize()const \n4468 unsigned long CRecordset::GetRowsFetched()const \n4469 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4470 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4471 CRuntime* CArchiveException::GetRuntimeClass()const \n4472 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4473 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4474 CRuntime* CBitmap::GetRuntimeClass()const \n4475 CRuntime* CBitmapButton::GetRuntimeClass()const \n4476 CRuntime* CBrush::GetRuntimeClass()const \n4477 CRuntime* CButton::GetRuntimeClass()const \n4478 CRuntime* CByteArray::GetRuntimeClass()const \n4479 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4480 CRuntime* CCheckListBox::GetRuntimeClass()const \n4481 CRuntime* CClientDC::GetRuntimeClass()const \n4482 CRuntime* CCmdTarget::GetRuntimeClass()const \n4483 CRuntime* CColorDialog::GetRuntimeClass()const \n4484 CRuntime* CComboBox::GetRuntimeClass()const \n4485 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4486 CRuntime* CControlBar::GetRuntimeClass()const \n4487 CRuntime* CCriticalSection::GetRuntimeClass()const \n4488 CRuntime* CCtrlView::GetRuntimeClass()const \n4489 CRuntime* CDatabase::GetRuntimeClass()const \n4490 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4491 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4492 CRuntime* CDBException::GetRuntimeClass()const \n4493 CRuntime* CDC::GetRuntimeClass()const \n4494 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4495 CRuntime* CDialog::GetRuntimeClass()const \n4496 CRuntime* CDialogBar::GetRuntimeClass()const \n4497 CRuntime* CDocItem::GetRuntimeClass()const \n4498 CRuntime* CDockBar::GetRuntimeClass()const \n4499 CRuntime* CDockState::GetRuntimeClass()const \n4500 CRuntime* CDocManager::GetRuntimeClass()const \n4501 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4502 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4503 CRuntime* CDocTemplate::GetRuntimeClass()const \n4504 CRuntime* CDocument::GetRuntimeClass()const \n4505 CRuntime* CDragListBox::GetRuntimeClass()const \n4506 CRuntime* CDWordArray::GetRuntimeClass()const \n4507 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4508 CRuntime* CEdit::GetRuntimeClass()const \n4509 CRuntime* CEditView::GetRuntimeClass()const \n4510 CRuntime* CEvent::GetRuntimeClass()const \n4511 CRuntime* CException::GetRuntimeClass()const \n4512 CRuntime* CFile::GetRuntimeClass()const \n4513 CRuntime* CFileDialog::GetRuntimeClass()const \n4514 CRuntime* CFileException::GetRuntimeClass()const \n4515 CRuntime* CFileFind::GetRuntimeClass()const \n4516 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4517 CRuntime* CFont::GetRuntimeClass()const \n4518 CRuntime* CFontDialog::GetRuntimeClass()const \n4519 CRuntime* CFormView::GetRuntimeClass()const \n4520 CRuntime* CFrameWnd::GetRuntimeClass()const \n4521 CRuntime* CFtpConnection::GetRuntimeClass()const \n4522 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4523 CRuntime* CGdiObject::GetRuntimeClass()const \n4524 CRuntime* CGopherConnection::GetRuntimeClass()const \n4525 CRuntime* CGopherFile::GetRuntimeClass()const \n4526 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4527 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4528 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4529 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4530 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4531 CRuntime* CHtmlView::GetRuntimeClass()const \n4532 CRuntime* CHttpConnection::GetRuntimeClass()const \n4533 CRuntime* CHttpFile::GetRuntimeClass()const \n4534 CRuntime* CImageList::GetRuntimeClass()const \n4535 CRuntime* CInternetConnection::GetRuntimeClass()const \n4536 CRuntime* CInternetException::GetRuntimeClass()const \n4537 CRuntime* CInternetFile::GetRuntimeClass()const \n4538 CRuntime* CInternetSession::GetRuntimeClass()const \n4539 CRuntime* CInvalidArgException::GetRuntimeClass()const \n4540 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4541 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4542 CRuntime* CListBox::GetRuntimeClass()const \n4543 CRuntime* CListCtrl::GetRuntimeClass()const \n4544 CRuntime* CListView::GetRuntimeClass()const \n4545 CRuntime* CLongBinary::GetRuntimeClass()const \n4546 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4547 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4548 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4549 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4550 CRuntime* CMapStringToString::GetRuntimeClass()const \n4551 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4552 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4553 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4554 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4555 CRuntime* CMemFile::GetRuntimeClass()const \n4556 CRuntime* CMemoryException::GetRuntimeClass()const \n4557 CRuntime* CMenu::GetRuntimeClass()const \n4558 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4559 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4560 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4561 CRuntime* CMonikerFile::GetRuntimeClass()const \n4562 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4563 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4564 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4565 CRuntime* CMutex::GetRuntimeClass()const \n4566 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4567 CRuntime* CObArray::GetRuntimeClass()const \n4568 CRuntime* CObject::GetRuntimeClass()const \n4569 CRuntime* CObList::GetRuntimeClass()const \n4570 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4571 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4572 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4573 CRuntime* COleClientItem::GetRuntimeClass()const \n4574 CRuntime* COleControl::GetRuntimeClass()const \n4575 CRuntime* COleControlModule::GetRuntimeClass()const \n4576 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4577 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4578 CRuntime* COleDialog::GetRuntimeClass()const \n4579 CRuntime* COleDispatchException::GetRuntimeClass()const \n4580 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4581 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4582 CRuntime* COleDocument::GetRuntimeClass()const \n4583 CRuntime* COleException::GetRuntimeClass()const \n4584 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4585 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4586 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4587 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4588 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4589 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4590 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4591 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4592 CRuntime* COleResizeBar::GetRuntimeClass()const \n4593 CRuntime* COleServerDoc::GetRuntimeClass()const \n4594 CRuntime* COleServerItem::GetRuntimeClass()const \n4595 CRuntime* COleStreamFile::GetRuntimeClass()const \n4596 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4597 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4598 CRuntime* CPaintDC::GetRuntimeClass()const \n4599 CRuntime* CPalette::GetRuntimeClass()const \n4600 CRuntime* CPen::GetRuntimeClass()const \n4601 CRuntime* CPreviewDC::GetRuntimeClass()const \n4602 CRuntime* CPreviewView::GetRuntimeClass()const \n4603 CRuntime* CPrintDialog::GetRuntimeClass()const \n4604 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4605 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4606 CRuntime* CPropertyPage::GetRuntimeClass()const \n4607 CRuntime* CPropertySheet::GetRuntimeClass()const \n4608 CRuntime* CPtrArray::GetRuntimeClass()const \n4609 CRuntime* CPtrList::GetRuntimeClass()const \n4610 CRuntime* CReBar::GetRuntimeClass()const \n4611 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4612 CRuntime* CRecordset::GetRuntimeClass()const \n4613 CRuntime* CRecordView::GetRuntimeClass()const \n4614 CRuntime* CResourceException::GetRuntimeClass()const \n4615 CRuntime* CRgn::GetRuntimeClass()const \n4616 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4617 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4618 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4619 CRuntime* CRichEditView::GetRuntimeClass()const \n4620 CRuntime* CScrollBar::GetRuntimeClass()const \n4621 CRuntime* CScrollView::GetRuntimeClass()const \n4622 CRuntime* CSemaphore::GetRuntimeClass()const \n4623 CRuntime* CSharedFile::GetRuntimeClass()const \n4624 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4625 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4626 CRuntime* CSocket::GetRuntimeClass()const \n4627 CRuntime* CSocketFile::GetRuntimeClass()const \n4628 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4629 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4630 CRuntime* CStatic::GetRuntimeClass()const \n4631 CRuntime* CStatusBar::GetRuntimeClass()const \n4632 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4633 CRuntime* CStdioFile::GetRuntimeClass()const \n4634 CRuntime* CStringArray::GetRuntimeClass()const \n4635 CRuntime* CStringList::GetRuntimeClass()const \n4636 CRuntime* CSyncObject::GetRuntimeClass()const \n4637 CRuntime* CTabCtrl::GetRuntimeClass()const \n4638 CRuntime* CToolBar::GetRuntimeClass()const \n4639 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4640 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4641 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4642 CRuntime* CTreeView::GetRuntimeClass()const \n4643 CRuntime* CUIntArray::GetRuntimeClass()const \n4644 CRuntime* CUserException::GetRuntimeClass()const \n4645 CRuntime* CView::GetRuntimeClass()const \n4646 CRuntime* CWinApp::GetRuntimeClass()const \n4647 CRuntime* CWindowDC::GetRuntimeClass()const \n4648 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4649 CRuntime* CWinThread::GetRuntimeClass()const \n4650 CRuntime* CWnd::GetRuntimeClass()const \n4651 CRuntime* CWordArray::GetRuntimeClass()const \n4652 void * CGdiObject::GetSafeHandle()const \n4653 _IMAGELIST * CImageList::GetSafeHandle()const \n4654 HDC__ * CDC::GetSafeHdc()const \n4655 HMENU__ * CMenu::GetSafeHmenu()const \n4656 HWND__ * CWnd::GetSafeHwnd()const \n4657 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4658 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4659 unsigned long * CColorDialog::GetSavedCustomColors()\n4660 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName()const \n4661 CSize CDockState::GetScreenSize()\n4662 CScrollBar * CView::GetScrollBarCtrl(int)const \n4663 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4664 void CScrollView::GetScrollBarSizes(CSize &)\n4665 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4666 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4667 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4668 int CScrollBar::GetScrollLimit()\n4669 int CWnd::GetScrollLimit(int)\n4670 int CScrollBar::GetScrollPos()const \n4671 int CWnd::GetScrollPos(int)const \n4672 CPoint CScrollView::GetScrollPosition()const \n4673 void CScrollBar::GetScrollRange(int *,int *)const \n4674 void CWnd::GetScrollRange(int,int *,int *)const \n4675 unsigned long CSplitterWnd::GetScrollStyle()const \n4676 unsigned int CTreeCtrl::GetScrollTime()const \n4677 CPropertySection * CPropertySet::GetSection(_GUID)\n4678 HKEY__ * CWinApp::GetSectionKey(char const *)\n4679 char const * CPropertySection::GetSectionName()\n4680 unsigned long CEdit::GetSel()const \n4681 void CEdit::GetSel(int &,int &)const \n4682 int CListBox::GetSel(int)const \n4683 void CRichEditCtrl::GetSel(long &,long &)const \n4684 void CRichEditCtrl::GetSel(_charrange &)const \n4685 int CListBox::GetSelCount()const \n4686 unsigned int CListCtrl::GetSelectedCount()const \n4687 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4688 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4689 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4690 void CSliderCtrl::GetSelection(int &,int &)const \n4691 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n4692 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n4693 int CListCtrl::GetSelectionMark()\n4694 unsigned int COleBusyDialog::GetSelectionType()const \n4695 unsigned int COleConvertDialog::GetSelectionType()const \n4696 unsigned int COleInsertDialog::GetSelectionType()const \n4697 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4698 unsigned short CRichEditCtrl::GetSelectionType()const \n4699 int CListBox::GetSelItems(int,int *)const \n4700 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4701 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4702 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4703 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText()const \n4704 long CRichEditCtrl::GetSelText(char *)const \n4705 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CInternetConnection::GetServerName()const \n4706 CInternetSession * CInternetConnection::GetSession()const \n4707 int CHtmlView::GetSilent()const \n4708 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4709 int CByteArray::GetSize()const \n4710 int CDWordArray::GetSize()const \n4711 int CFontDialog::GetSize()const \n4712 int CMapPtrToPtr::GetSize()const \n4713 int CMapPtrToWord::GetSize()const \n4714 int CMapStringToOb::GetSize()const \n4715 int CMapStringToPtr::GetSize()const \n4716 int CMapStringToString::GetSize()const \n4717 int CMapWordToOb::GetSize()const \n4718 int CMapWordToPtr::GetSize()const \n4719 int CObArray::GetSize()const \n4720 int CObList::GetSize()const \n4721 unsigned long CPropertySection::GetSize()\n4722 int CPtrArray::GetSize()const \n4723 int CPtrList::GetSize()const \n4724 int CStringArray::GetSize()const \n4725 int CStringList::GetSize()const \n4726 int CUIntArray::GetSize()const \n4727 int CWordArray::GetSize()const \n4728 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4729 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4730 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4731 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4732 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4733 CWnd * CSplitterWnd::GetSizingParent()\n4734 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4735 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4736 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4737 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4738 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetSQL()const \n4739 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4740 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4741 char const * CHtmlEditCtrl::GetStartDocument()\n4742 char const * CHtmlEditView::GetStartDocument()\n4743 __POSITION * CConnectionPoint::GetStartPosition()const \n4744 __POSITION * CFileDialog::GetStartPosition()const \n4745 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4746 __POSITION * CMapPtrToWord::GetStartPosition()const \n4747 __POSITION * CMapStringToOb::GetStartPosition()const \n4748 __POSITION * CMapStringToPtr::GetStartPosition()const \n4749 __POSITION * CMapStringToString::GetStartPosition()const \n4750 __POSITION * CMapWordToOb::GetStartPosition()const \n4751 __POSITION * CMapWordToPtr::GetStartPosition()const \n4752 __POSITION * COleDocument::GetStartPosition()const \n4753 __POSITION * CRichEditDoc::GetStartPosition()const \n4754 unsigned int CButton::GetState()const \n4755 int CToolBarCtrl::GetState(int)const \n4756 int CFile::GetStatus(CFileStatus &)const \n4757 int CFile::GetStatus(char const *,CFileStatus &)\n4758 int CMemFile::GetStatus(CFileStatus &)const \n4759 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4760 int COleStreamFile::GetStatus(CFileStatus &)const \n4761 void CRecordset::GetStatus(CRecordsetStatus &)const \n4762 int CHtmlView::GetStatusBar()const \n4763 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4764 unsigned long COleControl::GetStockEventMask()const \n4765 unsigned long COleControl::GetStockPropMask()const \n4766 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n4767 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName()const \n4768 IStream * COleStreamFile::GetStream()const \n4769 int CRichEditDoc::GetStreamFormat()const \n4770 int CDC::GetStretchBltMode()const \n4771 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n4772 char const * ATL::CSimpleStringT<char,1>::GetString()const \n4773 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4774 int CToolBarCtrl::GetString(int,char *,int)const \n4775 int CListCtrl::GetStringWidth(char const *)const \n4776 unsigned long COleControlSite::GetStyle()const \n4777 unsigned long COleControlSiteOrWnd::GetStyle()const \n4778 unsigned long CToolBarCtrl::GetStyle()const \n4779 unsigned long CWnd::GetStyle()const \n4780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetStyleName()const \n4781 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4782 CMenu * CMenu::GetSubMenu(int)const \n4783 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4784 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4785 CMenu * CWnd::GetSystemMenu(int)const \n4786 CSize CDC::GetTabbedTextExtentA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4787 CSize CDC::GetTabbedTextExtentA(char const *,int,int,int *)const \n4788 CTabCtrl * CPropertySheet::GetTabControl()const \n4789 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetTableName()const \n4790 CObject * & CObList::GetTail()\n4791 CObject const * CObList::GetTail()const \n4792 void * & CPtrList::GetTail()\n4793 void const * CPtrList::GetTail()const \n4794 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetTail()\n4795 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetTail()const \n4796 __POSITION * CObList::GetTailPosition()const \n4797 __POSITION * CPtrList::GetTailPosition()const \n4798 __POSITION * CStringList::GetTailPosition()const \n4799 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4800 int CListBox::GetText(int,char *)const \n4801 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4802 wchar_t * COleControl::GetText()\n4803 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n4804 int CStatusBarCtrl::GetText(char *,int,int *)const \n4805 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n4806 unsigned int CDC::GetTextAlign()const \n4807 unsigned long CListCtrl::GetTextBkColor()const \n4808 int CDC::GetTextCharacterExtra()const \n4809 unsigned long CDC::GetTextColor()const \n4810 unsigned long CListCtrl::GetTextColor()const \n4811 unsigned long CReBarCtrl::GetTextColor()const \n4812 unsigned long CTreeCtrl::GetTextColor()const \n4813 CSize CDC::GetTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n4814 CSize CDC::GetTextExtent(char const *,int)const \n4815 int CDC::GetTextFaceA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4816 int CDC::GetTextFaceA(int,char *)const \n4817 int CListBox::GetTextLen(int)const \n4818 long CRecordset::GetTextLen(short,unsigned long)\n4819 long CRichEditCtrl::GetTextLength()const \n4820 long CRichEditView::GetTextLength()const \n4821 int CStatusBarCtrl::GetTextLength(int,int *)const \n4822 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4823 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4824 int CDC::GetTextMetricsA(tagTEXTMETRICA *)const \n4825 unsigned int CRichEditCtrl::GetTextMode()const \n4826 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4827 int CHtmlView::GetTheaterMode()const \n4828 CRuntime* CAnimateCtrl::GetThisClass()\n4829 CRuntime* CArchiveException::GetThisClass()\n4830 CRuntime* CAsyncMonikerFile::GetThisClass()\n4831 CRuntime* CAsyncSocket::GetThisClass()\n4832 CRuntime* CBitmap::GetThisClass()\n4833 CRuntime* CBitmapButton::GetThisClass()\n4834 CRuntime* CBrush::GetThisClass()\n4835 CRuntime* CButton::GetThisClass()\n4836 CRuntime* CByteArray::GetThisClass()\n4837 CRuntime* CCachedDataPathProperty::GetThisClass()\n4838 CRuntime* CCheckListBox::GetThisClass()\n4839 CRuntime* CClientDC::GetThisClass()\n4840 CRuntime* CCmdTarget::GetThisClass()\n4841 CRuntime* CColorDialog::GetThisClass()\n4842 CRuntime* CComboBox::GetThisClass()\n4843 CRuntime* CComboBoxEx::GetThisClass()\n4844 CRuntime* CControlBar::GetThisClass()\n4845 CRuntime* CCriticalSection::GetThisClass()\n4846 CRuntime* CCtrlView::GetThisClass()\n4847 CRuntime* CDatabase::GetThisClass()\n4848 CRuntime* CDataPathProperty::GetThisClass()\n4849 CRuntime* CDateTimeCtrl::GetThisClass()\n4850 CRuntime* CDBException::GetThisClass()\n4851 CRuntime* CDC::GetThisClass()\n4852 CRuntime* CDHtmlDialog::GetThisClass()\n4853 CRuntime* CDialog::GetThisClass()\n4854 CRuntime* CDialogBar::GetThisClass()\n4855 CRuntime* CDocItem::GetThisClass()\n4856 CRuntime* CDockBar::GetThisClass()\n4857 CRuntime* CDockState::GetThisClass()\n4858 CRuntime* CDocManager::GetThisClass()\n4859 CRuntime* CDocObjectServer::GetThisClass()\n4860 CRuntime* CDocObjectServerItem::GetThisClass()\n4861 CRuntime* CDocTemplate::GetThisClass()\n4862 CRuntime* CDocument::GetThisClass()\n4863 CRuntime* CDragListBox::GetThisClass()\n4864 CRuntime* CDWordArray::GetThisClass()\n4865 CRuntime* CDynLinkLibrary::GetThisClass()\n4866 CRuntime* CEdit::GetThisClass()\n4867 CRuntime* CEditView::GetThisClass()\n4868 CRuntime* CEvent::GetThisClass()\n4869 CRuntime* CException::GetThisClass()\n4870 CRuntime* CFile::GetThisClass()\n4871 CRuntime* CFileDialog::GetThisClass()\n4872 CRuntime* CFileException::GetThisClass()\n4873 CRuntime* CFileFind::GetThisClass()\n4874 CRuntime* CFindReplaceDialog::GetThisClass()\n4875 CRuntime* CFont::GetThisClass()\n4876 CRuntime* CFontDialog::GetThisClass()\n4877 CRuntime* CFormView::GetThisClass()\n4878 CRuntime* CFrameWnd::GetThisClass()\n4879 CRuntime* CFtpConnection::GetThisClass()\n4880 CRuntime* CFtpFileFind::GetThisClass()\n4881 CRuntime* CGdiObject::GetThisClass()\n4882 CRuntime* CGopherConnection::GetThisClass()\n4883 CRuntime* CGopherFile::GetThisClass()\n4884 CRuntime* CGopherFileFind::GetThisClass()\n4885 CRuntime* CHeaderCtrl::GetThisClass()\n4886 CRuntime* CHotKeyCtrl::GetThisClass()\n4887 CRuntime* CHtmlEditDoc::GetThisClass()\n4888 CRuntime* CHtmlEditView::GetThisClass()\n4889 CRuntime* CHtmlView::GetThisClass()\n4890 CRuntime* CHttpConnection::GetThisClass()\n4891 CRuntime* CHttpFile::GetThisClass()\n4892 CRuntime* CImageList::GetThisClass()\n4893 CRuntime* CInternetConnection::GetThisClass()\n4894 CRuntime* CInternetException::GetThisClass()\n4895 CRuntime* CInternetFile::GetThisClass()\n4896 CRuntime* CInternetSession::GetThisClass()\n4897 CRuntime* CInvalidArgException::GetThisClass()\n4898 CRuntime* CIPAddressCtrl::GetThisClass()\n4899 CRuntime* CLinkCtrl::GetThisClass()\n4900 CRuntime* CListBox::GetThisClass()\n4901 CRuntime* CListCtrl::GetThisClass()\n4902 CRuntime* CListView::GetThisClass()\n4903 CRuntime* CLongBinary::GetThisClass()\n4904 CRuntime* CMapPtrToPtr::GetThisClass()\n4905 CRuntime* CMapPtrToWord::GetThisClass()\n4906 CRuntime* CMapStringToOb::GetThisClass()\n4907 CRuntime* CMapStringToPtr::GetThisClass()\n4908 CRuntime* CMapStringToString::GetThisClass()\n4909 CRuntime* CMapWordToOb::GetThisClass()\n4910 CRuntime* CMapWordToPtr::GetThisClass()\n4911 CRuntime* CMDIChildWnd::GetThisClass()\n4912 CRuntime* CMDIFrameWnd::GetThisClass()\n4913 CRuntime* CMemFile::GetThisClass()\n4914 CRuntime* CMemoryException::GetThisClass()\n4915 CRuntime* CMenu::GetThisClass()\n4916 CRuntime* CMetaFileDC::GetThisClass()\n4917 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4918 CRuntime* CMiniFrameWnd::GetThisClass()\n4919 CRuntime* CMonikerFile::GetThisClass()\n4920 CRuntime* CMonthCalCtrl::GetThisClass()\n4921 CRuntime* CMultiDocTemplate::GetThisClass()\n4922 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4923 CRuntime* CMutex::GetThisClass()\n4924 CRuntime* CNotSupportedException::GetThisClass()\n4925 CRuntime* CObArray::GetThisClass()\n4926 CRuntime* CObject::GetThisClass()\n4927 CRuntime* CObList::GetThisClass()\n4928 CRuntime* COleBusyDialog::GetThisClass()\n4929 CRuntime* COleChangeIconDialog::GetThisClass()\n4930 CRuntime* COleChangeSourceDialog::GetThisClass()\n4931 CRuntime* COleClientItem::GetThisClass()\n4932 CRuntime* COleControl::GetThisClass()\n4933 CRuntime* COleControlModule::GetThisClass()\n4934 CRuntime* COleConvertDialog::GetThisClass()\n4935 CRuntime* COleDBRecordView::GetThisClass()\n4936 CRuntime* COleDialog::GetThisClass()\n4937 CRuntime* COleDispatchException::GetThisClass()\n4938 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4939 CRuntime* COleDocObjectItem::GetThisClass()\n4940 CRuntime* COleDocument::GetThisClass()\n4941 CRuntime* COleException::GetThisClass()\n4942 CRuntime* COleInsertDialog::GetThisClass()\n4943 CRuntime* COleIPFrameWnd::GetThisClass()\n4944 CRuntime* COleLinkingDoc::GetThisClass()\n4945 CRuntime* COleLinksDialog::GetThisClass()\n4946 CRuntime* COleObjectFactory::GetThisClass()\n4947 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4948 CRuntime* COlePropertiesDialog::GetThisClass()\n4949 CRuntime* COlePropertyPage::GetThisClass()\n4950 CRuntime* COleResizeBar::GetThisClass()\n4951 CRuntime* COleServerDoc::GetThisClass()\n4952 CRuntime* COleServerItem::GetThisClass()\n4953 CRuntime* COleStreamFile::GetThisClass()\n4954 CRuntime* COleUpdateDialog::GetThisClass()\n4955 CRuntime* CPageSetupDialog::GetThisClass()\n4956 CRuntime* CPaintDC::GetThisClass()\n4957 CRuntime* CPalette::GetThisClass()\n4958 CRuntime* CPen::GetThisClass()\n4959 CRuntime* CPreviewDC::GetThisClass()\n4960 CRuntime* CPreviewView::GetThisClass()\n4961 CRuntime* CPrintDialog::GetThisClass()\n4962 CRuntime* CPrintDialogEx::GetThisClass()\n4963 CRuntime* CProgressCtrl::GetThisClass()\n4964 CRuntime* CPropertyPage::GetThisClass()\n4965 CRuntime* CPropertySheet::GetThisClass()\n4966 CRuntime* CPtrArray::GetThisClass()\n4967 CRuntime* CPtrList::GetThisClass()\n4968 CRuntime* CReBar::GetThisClass()\n4969 CRuntime* CReBarCtrl::GetThisClass()\n4970 CRuntime* CRecordset::GetThisClass()\n4971 CRuntime* CRecordView::GetThisClass()\n4972 CRuntime* CResourceException::GetThisClass()\n4973 CRuntime* CRgn::GetThisClass()\n4974 CRuntime* CRichEditCntrItem::GetThisClass()\n4975 CRuntime* CRichEditCtrl::GetThisClass()\n4976 CRuntime* CRichEditDoc::GetThisClass()\n4977 CRuntime* CRichEditView::GetThisClass()\n4978 CRuntime* CScrollBar::GetThisClass()\n4979 CRuntime* CScrollView::GetThisClass()\n4980 CRuntime* CSemaphore::GetThisClass()\n4981 CRuntime* CSharedFile::GetThisClass()\n4982 CRuntime* CSingleDocTemplate::GetThisClass()\n4983 CRuntime* CSliderCtrl::GetThisClass()\n4984 CRuntime* CSocket::GetThisClass()\n4985 CRuntime* CSocketFile::GetThisClass()\n4986 CRuntime* CSpinButtonCtrl::GetThisClass()\n4987 CRuntime* CSplitterWnd::GetThisClass()\n4988 CRuntime* CStatic::GetThisClass()\n4989 CRuntime* CStatusBar::GetThisClass()\n4990 CRuntime* CStatusBarCtrl::GetThisClass()\n4991 CRuntime* CStdioFile::GetThisClass()\n4992 CRuntime* CStringArray::GetThisClass()\n4993 CRuntime* CStringList::GetThisClass()\n4994 CRuntime* CSyncObject::GetThisClass()\n4995 CRuntime* CTabCtrl::GetThisClass()\n4996 CRuntime* CToolBar::GetThisClass()\n4997 CRuntime* CToolBarCtrl::GetThisClass()\n4998 CRuntime* CToolTipCtrl::GetThisClass()\n4999 CRuntime* CTreeCtrl::GetThisClass()\n5000 CRuntime* CTreeView::GetThisClass()\n5001 CRuntime* CUIntArray::GetThisClass()\n5002 CRuntime* CUserException::GetThisClass()\n5003 CRuntime* CView::GetThisClass()\n5004 CRuntime* CWinApp::GetThisClass()\n5005 CRuntime* CWindowDC::GetThisClass()\n5006 CRuntime* CWindowlessDC::GetThisClass()\n5007 CRuntime* CWinThread::GetThisClass()\n5008 CRuntime* CWnd::GetThisClass()\n5009 CRuntime* CWordArray::GetThisClass()\n5010 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n5011 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n5012 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n5013 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n5014 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n5015 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n5016 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n5017 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n5018 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n5019 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n5020 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n5021 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n5022 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n5023 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n5024 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n5025 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n5026 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n5027 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n5028 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n5029 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n5030 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n5031 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n5032 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n5033 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n5034 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n5035 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n5036 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n5037 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n5038 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n5039 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n5040 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n5041 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n5042 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n5043 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n5044 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n5045 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n5046 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n5047 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n5048 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n5049 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n5050 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n5051 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n5052 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n5053 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n5054 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n5055 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n5056 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n5057 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n5058 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n5059 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n5060 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n5061 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n5062 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n5063 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n5064 AFX_MSGMAP const * CListView::GetThisMessageMap()\n5065 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n5066 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n5067 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n5068 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n5069 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n5070 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n5071 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n5072 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n5073 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n5074 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n5075 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n5076 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n5077 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n5078 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n5079 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n5080 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n5081 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n5082 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n5083 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n5084 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n5085 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n5086 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n5087 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n5088 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n5089 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n5090 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n5091 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n5092 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n5093 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n5094 AFX_MSGMAP const * CView::GetThisMessageMap()\n5095 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n5096 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n5097 int CWinThread::GetThreadPriority()\n5098 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5099 int CSliderCtrl::GetTic(int)const \n5100 unsigned long * CSliderCtrl::GetTicArray()const \n5101 int CSliderCtrl::GetTicPos(int)const \n5102 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5103 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5104 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5105 unsigned long CToolTipCtrl::GetTipBkColor()const \n5106 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n5107 unsigned long CToolTipCtrl::GetTipTextColor()const \n5108 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetTitle()const \n5109 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFrameWnd::GetTitle()const \n5110 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5111 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5112 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5113 int CHtmlView::GetToolBar()const \n5114 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n5115 int CToolTipCtrl::GetToolCount()const \n5116 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5117 CToolTipCtrl * CListCtrl::GetToolTips()const \n5118 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n5119 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n5120 CToolTipCtrl * CTabCtrl::GetToolTips()const \n5121 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n5122 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n5123 long CHtmlView::GetTop()const \n5124 int CPrintDialog::GetToPage()const \n5125 unsigned int CPrintInfo::GetToPage()const \n5126 int CComboBox::GetTopIndex()const \n5127 int CListBox::GetTopIndex()const \n5128 int CListCtrl::GetTopIndex()const \n5129 int CHtmlView::GetTopLevelContainer()const \n5130 CFrameWnd * CWnd::GetTopLevelFrame()const \n5131 CWnd * CWnd::GetTopLevelOwner()const \n5132 CWnd * CWnd::GetTopLevelParent()const \n5133 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetToPrefix()\n5134 CWnd * CWnd::GetTopWindow()const \n5135 CSize CScrollView::GetTotalSize()const \n5136 CTreeCtrl & CTreeView::GetTreeCtrl()const \n5137 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5138 void CRectTracker::GetTrueRect(tagRECT *)const \n5139 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType()const \n5140 enum OLE_OBJTYPE COleClientItem::GetType()const \n5141 short CPictureHolder::GetType()\n5142 unsigned long CProperty::GetType()\n5143 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5144 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5145 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5146 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5147 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5148 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5149 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5150 unsigned int CCmdTarget::GetTypeInfoCount()\n5151 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5152 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5153 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5154 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5155 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5156 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5157 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5158 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5159 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5160 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n5161 void COleSafeArray::GetUBound(unsigned long,long *)\n5162 enum _undonameid CRichEditCtrl::GetUndoName()const \n5163 int CWnd::GetUpdateRect(tagRECT *,int)\n5164 int CWnd::GetUpdateRgn(CRgn *,int)\n5165 int CByteArray::GetUpperBound()const \n5166 int CDWordArray::GetUpperBound()const \n5167 int CObArray::GetUpperBound()const \n5168 int CPtrArray::GetUpperBound()const \n5169 int CStringArray::GetUpperBound()const \n5170 int CUIntArray::GetUpperBound()const \n5171 int CWordArray::GetUpperBound()const \n5172 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5173 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5174 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5175 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5176 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5177 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5178 void COleControl::GetUserType(char *)\n5179 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5180 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5181 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5182 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5183 void * CMapPtrToPtr::GetValueAt(void *)const \n5184 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb()const \n5185 unsigned long CDockState::GetVersion()\n5186 unsigned long CPropExchange::GetVersion()\n5187 CHtmlEditView * CHtmlEditDoc::GetView()const \n5188 CRichEditView * CRichEditDoc::GetView()const \n5189 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5190 CSize CDC::GetViewportExt()const \n5191 CPoint CDC::GetViewportOrg()const \n5192 int CListCtrl::GetViewRect(tagRECT *)const \n5193 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5194 int CHtmlView::GetVisible()const \n5195 unsigned int CTreeCtrl::GetVisibleCount()const \n5196 int CFontDialog::GetWeight()const \n5197 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5198 long CHtmlView::GetWidth()const \n5199 CWnd * CDC::GetWindow()const \n5200 CWnd * CWnd::GetWindow(unsigned int)const \n5201 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5202 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5203 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5204 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5205 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5206 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5207 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5208 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5209 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5210 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5211 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5212 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5213 unsigned long CWnd::GetWindowContextHelpId()const \n5214 CDC * CWnd::GetWindowDC()\n5215 long CWnd::GetWindowedChildCount()\n5216 CSize CDC::GetWindowExt()const \n5217 long CWnd::GetWindowLessChildCount()\n5218 IDropTarget * COleControl::GetWindowlessDropTarget()\n5219 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5220 CPoint CDC::GetWindowOrg()const \n5221 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5222 void CWnd::GetWindowRect(tagRECT *)const \n5223 int CWnd::GetWindowRgn(HRGN__ *)const \n5224 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5225 int CWnd::GetWindowTextA(char *,int)const \n5226 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5227 int CWnd::GetWindowTextLengthA()const \n5228 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5229 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5230 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5231 long COleDropSource::GiveFeedback(unsigned long)\n5232 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5233 void CHtmlView::GoBack()\n5234 void CHtmlView::GoForward()\n5235 void CHtmlView::GoHome()\n5236 void CHtmlView::GoSearch()\n5237 void CDialog::GotoDlgCtrl(CWnd *)\n5238 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5239 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5240 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5241 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5242 void CMemFile::GrowFile(unsigned long)\n5243 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5244 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5245 long CDialog::HandleInitDialog(unsigned int,long)\n5246 long CDialogBar::HandleInitDialog(unsigned int,long)\n5247 long CFormView::HandleInitDialog(unsigned int,long)\n5248 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5249 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5250 long CScrollView::HandleMButtonDown(unsigned int,long)\n5251 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5252 int COleControlContainer::HandleSetFocus()\n5253 long CDialog::HandleSetFont(unsigned int,long)\n5254 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5255 long COleControl::XPersistStorage::HandsOffStorage()\n5256 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5257 int COleDocument::HasBlankItems()const \n5258 int CComboBoxEx::HasEditChanged()\n5259 int CDialogTemplate::HasFont()const \n5260 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5261 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n5262 void * CFile::hFileNull\n5263 void CWinApp::HideApplication()\n5264 int CToolBarCtrl::HideButton(int,int)\n5265 void CWnd::HideCaret()\n5266 void CFileDialog::HideControl(int)\n5267 void CRichEditCtrl::HideSelection(int,int)\n5268 long CBrowserControlSite::HideUI()\n5269 long CDHtmlDialog::HideUI()\n5270 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5271 int CTabCtrl::HighlightItem(int,int)\n5272 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5273 void CDC::HIMETRICtoDP(tagSIZE *)const \n5274 void CDC::HIMETRICtoLP(tagSIZE *)const \n5275 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5276 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5277 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5278 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5279 int CRectTracker::HitTest(CPoint)const \n5280 int CSplitterWnd::HitTest(CPoint)const \n5281 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5282 int CToolBarCtrl::HitTest(tagPOINT *)const \n5283 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n5284 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5285 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5286 int CRectTracker::HitTestHandles(CPoint)const \n5287 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n5288 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n5289 int CSplitterWnd::IdFromRowCol(int,int)const \n5290 int CReBarCtrl::IDToIndex(unsigned int)const \n5291 void COlePropertyPage::IgnoreApply(unsigned int)\n5292 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5293 int CToolBarCtrl::Indeterminate(int,int)\n5294 int CCriticalSection::Init()\n5295 int CWinApp::InitApplication()\n5296 long COleControl::XOleCache::InitCache(IDataObject *)\n5297 int CWnd::InitControlContainer(int)\n5298 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5299 long CPrintDialogEx::InitDone()\n5300 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5301 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5302 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5303 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5304 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5305 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5306 void CMapStringToOb::InitHashTable(unsigned int,int)\n5307 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5308 void CMapStringToString::InitHashTable(unsigned int,int)\n5309 void CMapWordToOb::InitHashTable(unsigned int,int)\n5310 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5311 long CDataSourceControl::Initialize()\n5312 void CDHtmlDialog::Initialize()\n5313 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5314 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5315 int CEditView::InitializeReplace()\n5316 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5317 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5318 int COleControlModule::InitInstance()\n5319 int CWinApp::InitInstance()\n5320 int CWinThread::InitInstance()\n5321 void CWinApp::InitLibId()\n5322 void CDockContext::InitLoop()\n5323 int CDialog::InitModalIndirect(void *,CWnd *)\n5324 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5325 long COleControl::XPersistMemory::InitNew()\n5326 long COleControl::XPersistPropertyBag::InitNew()\n5327 long COleControl::XPersistStorage::InitNew(IStorage *)\n5328 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5329 long COleControl::XPersistStreamInit::InitNew()\n5330 void CRecordset::InitRecord()\n5331 void COleControl::InitStockEventMask()\n5332 void COleControl::InitStockPropMask()\n5333 int CComboBox::InitStorage(int,unsigned int)\n5334 int CListBox::InitStorage(int,unsigned int)\n5335 void CSimpleException::InitString()\n5336 int CFrameWnd::InModalState()const \n5337 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5338 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5339 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5340 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5341 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5342 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5343 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5344 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5345 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5346 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5347 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n5348 void CByteArray::InsertAt(int,unsigned char,int)\n5349 void CByteArray::InsertAt(int,CByteArray *)\n5350 void CDWordArray::InsertAt(int,unsigned long,int)\n5351 void CDWordArray::InsertAt(int,CDWordArray *)\n5352 void CObArray::InsertAt(int,CObArray *)\n5353 void CObArray::InsertAt(int,CObject *,int)\n5354 void CPtrArray::InsertAt(int,CPtrArray *)\n5355 void CPtrArray::InsertAt(int,void *,int)\n5356 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n5357 void CStringArray::InsertAt(int,CStringArray const *)\n5358 void CStringArray::InsertAt(int,char const *,int)\n5359 void CUIntArray::InsertAt(int,unsigned int,int)\n5360 void CUIntArray::InsertAt(int,CUIntArray *)\n5361 void CWordArray::InsertAt(int,unsigned short,int)\n5362 void CWordArray::InsertAt(int,CWordArray *)\n5363 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOA *)\n5364 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5365 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5366 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5367 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n5368 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5369 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n5370 int CListCtrl::InsertColumn(int,tagLVCOLUMNA const *)\n5371 void CStringArray::InsertEmpty(int,int)\n5372 void CRichEditView::InsertFileAsObject(char const *)\n5373 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n5374 int CHeaderCtrl::InsertItem(int,_HD_ITEMA *)\n5375 int CListCtrl::InsertItem(int,char const *)\n5376 int CListCtrl::InsertItem(int,char const *,int)\n5377 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n5378 int CListCtrl::InsertItem(tagLVITEMA const *)\n5379 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5380 long CTabCtrl::InsertItem(int,tagTCITEMA *)\n5381 long CTabCtrl::InsertItem(int,char const *)\n5382 long CTabCtrl::InsertItem(int,char const *,int)\n5383 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n5384 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n5385 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5386 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTA *)\n5387 _TREEITEM * CTreeCtrl::InsertItem(char const *,int,int,_TREEITEM *,_TREEITEM *)\n5388 _TREEITEM * CTreeCtrl::InsertItem(char const *,_TREEITEM *,_TREEITEM *)\n5389 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5390 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5391 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5392 int CMenu::InsertMenuItemA(unsigned int,tagMENUITEMINFOA *,int)\n5393 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5394 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5395 int CComboBox::InsertString(int,char const *)\n5396 int CComboBoxEx::InsertString(int,char const *)\n5397 int CListBox::InsertString(int,char const *)\n5398 unsigned long CCmdTarget::InternalAddRef()\n5399 CFontHolder & COleControl::InternalGetFont()\n5400 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText()\n5401 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5402 unsigned long CCmdTarget::InternalRelease()\n5403 void COleControl::InternalSetReadyState(long)\n5404 int CDC::IntersectClipRect(int,int,int,int)\n5405 int CDC::IntersectClipRect(tagRECT const *)\n5406 void CWnd::Invalidate(int)\n5407 void CCheckListBox::InvalidateCheck(int)\n5408 void COleControl::InvalidateControl(tagRECT const *,int)\n5409 void CCheckListBox::InvalidateItem(int)\n5410 void CRichEditDoc::InvalidateObjectCache()\n5411 void CWnd::InvalidateRect(tagRECT const *,int)\n5412 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5413 void COleControl::InvalidateRgn(CRgn *,int)\n5414 void CWnd::InvalidateRgn(CRgn *,int)\n5415 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5416 void CDC::InvertRect(tagRECT const *)\n5417 int CDC::InvertRgn(CRgn *)\n5418 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5419 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5420 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5421 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5422 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5423 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5424 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5425 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5426 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5427 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5428 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5429 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5430 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5431 int CAsyncSocket::IOCtl(long,unsigned long *)\n5432 int CFileFind::IsArchived()const \n5433 int CPropExchange::IsAsynchronous()\n5434 int CDocItem::IsBlank()const \n5435 int CIPAddressCtrl::IsBlank()const \n5436 int COleServerItem::IsBlank()const \n5437 int CSocket::IsBlocking()\n5438 int CRecordset::IsBOF()const \n5439 int CFontDialog::IsBold()const \n5440 int CArchive::IsBufferEmpty()const \n5441 int CToolBarCtrl::IsButtonChecked(int)const \n5442 int CPropertyPage::IsButtonEnabled(int)\n5443 int CToolBarCtrl::IsButtonEnabled(int)const \n5444 int CToolBarCtrl::IsButtonHidden(int)const \n5445 int CToolBarCtrl::IsButtonHighlighted(int)const \n5446 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5447 int CToolBarCtrl::IsButtonPressed(int)const \n5448 int CArchive::IsByteSwapping()const \n5449 int CWnd::IsChild(CWnd const *)const \n5450 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5451 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5452 int CFileFind::IsCompressed()const \n5453 int COleServerItem::IsConnected()const \n5454 int COleControl::IsConvertingVBX()\n5455 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5456 int COleControlSite::IsDefaultButton()\n5457 int CRecordset::IsDeleted()const \n5458 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5459 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n5460 int CWnd::IsDialogMessageA(tagMSG *)\n5461 int CFileFind::IsDirectory()const \n5462 long CBlobProperty::IsDirty()\n5463 long COleLinkingDoc::XPersistFile::IsDirty()\n5464 long COleControl::XPersistMemory::IsDirty()\n5465 long COleControl::XPersistStorage::IsDirty()\n5466 long COleServerDoc::XPersistStorage::IsDirty()\n5467 long COleControl::XPersistStreamInit::IsDirty()\n5468 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5469 unsigned int CWnd::IsDlgButtonChecked(int)const \n5470 int CControlBar::IsDockBar()const \n5471 int CDockBar::IsDockBar()const \n5472 int COleServerDoc::IsDocObject()const \n5473 int CFileFind::IsDots()const \n5474 int CGopherFileFind::IsDots()const \n5475 int COleServerDoc::IsEmbedded()const \n5476 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n5477 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n5478 int CByteArray::IsEmpty()const \n5479 int CDWordArray::IsEmpty()const \n5480 int CMapPtrToPtr::IsEmpty()const \n5481 int CMapPtrToWord::IsEmpty()const \n5482 int CMapStringToOb::IsEmpty()const \n5483 int CMapStringToPtr::IsEmpty()const \n5484 int CMapStringToString::IsEmpty()const \n5485 int CMapWordToOb::IsEmpty()const \n5486 int CMapWordToPtr::IsEmpty()const \n5487 int CObArray::IsEmpty()const \n5488 int CObList::IsEmpty()const \n5489 int CPtrArray::IsEmpty()const \n5490 int CPtrList::IsEmpty()const \n5491 int CStringArray::IsEmpty()const \n5492 int CStringList::IsEmpty()const \n5493 int CUIntArray::IsEmpty()const \n5494 int CWordArray::IsEmpty()const \n5495 int CCheckListBox::IsEnabled(int)\n5496 int CRecordset::IsEOF()const \n5497 int CDHtmlDialog::IsExternalDispatchSafe()\n5498 int CRecordset::IsFieldDirty(void *)\n5499 int CRecordset::IsFieldNull(void *)\n5500 int CRecordset::IsFieldNullable(void *)\n5501 int CRecordset::IsFieldNullable(unsigned long)const \n5502 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5503 int CRecordset::IsFieldStatusNull(unsigned long)const \n5504 int CFieldExchange::IsFieldType(unsigned int *)\n5505 int CControlBar::IsFloating()const \n5506 int CFrameWnd::IsFrameWnd()const \n5507 int CWnd::IsFrameWnd()const \n5508 int IsHelpKey(tagMSG *)\n5509 int CFileFind::IsHidden()const \n5510 int CWnd::IsIconic()const \n5511 int CWinThread::IsIdleMessage(tagMSG *)\n5512 int COleClientItem::IsInPlaceActive()const \n5513 int COleServerDoc::IsInPlaceActive()const \n5514 int CCmdTarget::IsInvokeAllowed(long)\n5515 int COleControl::IsInvokeAllowed(long)\n5516 int CFontDialog::IsItalic()const \n5517 int CRecordset::IsJoin(char const *)\n5518 int CObject::IsKindOf(CRuntimeconst *)const \n5519 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5520 int COccManager::IsLabelControl(CWnd *)\n5521 int COleObjectFactory::IsLicenseValid()\n5522 int COleServerItem::IsLinkedItem()const \n5523 int COleClientItem::IsLinkUpToDate()const \n5524 int CArchive::IsLoading()const \n5525 int CPropExchange::IsLoading()\n5526 int CMultiLock::IsLocked(unsigned long)\n5527 int CSingleLock::IsLocked()\n5528 int CRichEditCntrItem::IsMarked()\n5529 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5530 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5531 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5532 int CDocument::IsModified()\n5533 int CHtmlEditDoc::IsModified()\n5534 int COleClientItem::IsModified()const \n5535 int COleControl::IsModified()\n5536 int COlePropertyPage::IsModified()\n5537 int CRichEditDoc::IsModified()\n5538 int CFileFind::IsNormal()const \n5539 int CRecordView::IsOnFirstRecord()\n5540 int CRecordView::IsOnLastRecord()\n5541 int CDatabase::IsOpen()const \n5542 int COleClientItem::IsOpen()const \n5543 int CRecordset::IsOpen()const \n5544 int COleControl::IsOptimizedDraw()\n5545 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5546 int CRecordset::IsParamStatusNull(unsigned long)const \n5547 int CDC::IsPrinting()const \n5548 int CFileFind::IsReadOnly()const \n5549 int CRecordset::IsRecordsetUpdatable()\n5550 int COleObjectFactory::IsRegistered()const \n5551 int CCmdTarget::IsResultExpected()\n5552 int CRichEditView::IsRichEditFormat(unsigned short)\n5553 int COleClientItem::IsRunning()const \n5554 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5555 int CRichEditView::IsSelected(CObject const *)const \n5556 int CView::IsSelected(CObject const *)const \n5557 int CRecordset::IsSelectQueryUpdatable(char const *)\n5558 int CObject::IsSerializable()const \n5559 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5560 int CStatusBarCtrl::IsSimple()const \n5561 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5562 int CRecordset::IsSQLUpdatable(char const *)\n5563 int CArchive::IsStoring()const \n5564 int CFontDialog::IsStrikeOut()const \n5565 int COleControl::IsSubclassedControl()\n5566 int CFileFind::IsSystem()const \n5567 int CFileFind::IsTemporary()const \n5568 int CFindReplaceDialog::IsTerminating()const \n5569 int CWnd::IsTopParentActive()const \n5570 int CFrameWnd::IsTracking()const \n5571 int CSplitterWnd::IsTracking()\n5572 int CFontDialog::IsUnderline()const \n5573 long CDocObjectServer::XOleObject::IsUpToDate()\n5574 long COleControl::XOleObject::IsUpToDate()\n5575 long COleServerDoc::XOleObject::IsUpToDate()\n5576 long COleServerItem::XOleObject::IsUpToDate()\n5577 int COleChangeSourceDialog::IsValidSource()\n5578 int CControlBar::IsVisible()const \n5579 int COleControlSite::IsWindowEnabled()const \n5580 int CWnd::IsWindowEnabled()const \n5581 int CWnd::IsWindowVisible()const \n5582 int CPropertySheet::IsWizard()const \n5583 int CWnd::IsZoomed()const \n5584 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5585 int CDragListBox::ItemFromPt(CPoint,int)const \n5586 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5587 void COleControl::KeyDown(unsigned short *)\n5588 void COleControl::KeyUp(unsigned short *)\n5589 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5590 int CWnd::KillTimer(unsigned int)\n5591 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5592 void CToolBar::Layout()\n5593 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n5594 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n5595 int CComboBox::LimitText(int)\n5596 void CEdit::LimitText(int)\n5597 void CRichEditCtrl::LimitText(long)\n5598 int CEdit::LineFromChar(int)const \n5599 long CRichEditCtrl::LineFromChar(long)const \n5600 int CEdit::LineIndex(int)const \n5601 int CRichEditCtrl::LineIndex(int)const \n5602 int CEdit::LineLength(int)const \n5603 int CRichEditCtrl::LineLength(int)const \n5604 void CEdit::LineScroll(int,int)\n5605 void CRichEditCtrl::LineScroll(int,int)\n5606 int CDC::LineTo(int,int)\n5607 int CDC::LineTo(tagPOINT)\n5608 int CAsyncSocket::Listen(int)\n5609 unsigned long CRichEditView::lMaxSize\n5610 long CBlobProperty::Load(IStream *)\n5611 int CDialogTemplate::Load(char const *)\n5612 void COleControl::Load(char const *,CDataPathProperty &)\n5613 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5614 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5615 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5616 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5617 long COleControl::XPersistStorage::Load(IStorage *)\n5618 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5619 long COleControl::XPersistStreamInit::Load(IStream *)\n5620 int CFrameWnd::LoadAccelTable(char const *)\n5621 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5622 void CFrameWnd::LoadBarState(char const *)\n5623 int CBitmap::LoadBitmapA(unsigned int)\n5624 int CBitmap::LoadBitmapA(char const *)\n5625 int CToolBar::LoadBitmapA(unsigned int)\n5626 int CToolBar::LoadBitmapA(char const *)\n5627 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5628 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n5629 HICON__ * CWinApp::LoadCursorA(unsigned int)const \n5630 HICON__ * CWinApp::LoadCursorA(char const *)const \n5631 void CRecordset::LoadFields()\n5632 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5633 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5634 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5635 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5636 int CDHtmlDialog::LoadFromResource(unsigned int)\n5637 int CDHtmlDialog::LoadFromResource(char const *)\n5638 int CHtmlView::LoadFromResource(unsigned int)\n5639 int CHtmlView::LoadFromResource(char const *)\n5640 void COleDocument::LoadFromStorage()\n5641 HICON__ * CWinApp::LoadIconA(unsigned int)const \n5642 HICON__ * CWinApp::LoadIconA(char const *)const \n5643 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5644 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5645 int CMenu::LoadMenuA(unsigned int)\n5646 int CMenu::LoadMenuA(char const *)\n5647 int CMenu::LoadMenuIndirectA(void const *)\n5648 int CBitmap::LoadOEMBitmap(unsigned int)\n5649 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5650 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5651 HICON__ * CWinApp::LoadStandardCursor(char const *)const \n5652 HICON__ * CWinApp::LoadStandardIcon(char const *)const \n5653 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n5654 void CDockState::LoadState(char const *)\n5655 long COleControl::LoadState(IStream *)\n5656 void CWinApp::LoadStdProfileSettings(unsigned int)\n5657 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n5658 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n5659 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n5660 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n5661 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n5662 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n5663 int CWinApp::LoadSysPolicies()\n5664 void CDocTemplate::LoadTemplate()\n5665 void CMultiDocTemplate::LoadTemplate()\n5666 int CToolBar::LoadToolBar(unsigned int)\n5667 int CToolBar::LoadToolBar(char const *)\n5668 int CCriticalSection::Lock()\n5669 int CCriticalSection::Lock(unsigned long)\n5670 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5671 void COleSafeArray::Lock()\n5672 int CSingleLock::Lock(unsigned long)\n5673 int CSyncObject::Lock(unsigned long)\n5674 void CTypeLibCache::Lock()\n5675 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n5676 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n5677 char const * CEditView::LockBuffer()const \n5678 long COleControlContainer::XOleContainer::LockContainer(int)\n5679 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5680 void COleLinkingDoc::LockExternal(int,int)\n5681 int COleControl::LockInPlaceActive(int)\n5682 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5683 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5684 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5685 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5686 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5687 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5688 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5689 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5690 long COleObjectFactory::XClassFactory::LockServer(int)\n5691 int CWnd::LockWindowUpdate()\n5692 int CMapPtrToPtr::Lookup(void *,void * &)const \n5693 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5694 int CMapStringToOb::Lookup(char const *,CObject * &)const \n5695 int CMapStringToPtr::Lookup(char const *,void * &)const \n5696 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5697 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5698 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5699 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5700 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5701 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5702 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5703 int CMapStringToOb::LookupKey(char const *,char const * &)const \n5704 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n5705 int CMapStringToString::LookupKey(char const *,char const * &)const \n5706 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5707 void CDC::LPtoDP(tagPOINT *,int)const \n5708 void CDC::LPtoDP(tagRECT *)const \n5709 void CDC::LPtoDP(tagSIZE *)const \n5710 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5711 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n5712 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n5713 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n5714 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n5715 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n5716 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n5717 int CToolBarCtrl::MapAccelerator(char,unsigned int *)\n5718 void CDialog::MapDialogRect(tagRECT *)const \n5719 void CPropertySheet::MapDialogRect(tagRECT *)const \n5720 void CArchive::MapObject(CObject const *)\n5721 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5722 int COleDialog::MapResult(unsigned int)\n5723 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5724 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5725 long CPropertyPage::MapWizardResult(long)\n5726 void CRichEditCntrItem::Mark(int)\n5727 int CToolBarCtrl::MarkButton(int,int)\n5728 void CRecordset::MarkForAddNew()\n5729 void CRecordset::MarkForUpdate()\n5730 void CRichEditDoc::MarkItemsClear()const \n5731 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5732 int CFindReplaceDialog::MatchCase()const \n5733 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n5734 int CFileFind::MatchesMask(unsigned long)const \n5735 int CFindReplaceDialog::MatchWholeWord()const \n5736 void CReBarCtrl::MaximizeBand(unsigned int)\n5737 void CMDIChildWnd::MDIActivate()\n5738 void CMDIFrameWnd::MDIActivate(CWnd *)\n5739 void CMDIFrameWnd::MDICascade(int)\n5740 void CMDIFrameWnd::MDICascade()\n5741 void CMDIChildWnd::MDIDestroy()\n5742 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5743 void CMDIFrameWnd::MDIIconArrange()\n5744 void CMDIChildWnd::MDIMaximize()\n5745 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5746 void CMDIFrameWnd::MDINext()\n5747 void CMDIFrameWnd::MDIPrev()\n5748 void CMDIChildWnd::MDIRestore()\n5749 void CMDIFrameWnd::MDIRestore(CWnd *)\n5750 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5751 void CMDIFrameWnd::MDITile(int)\n5752 void CMDIFrameWnd::MDITile()\n5753 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5754 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5755 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5756 void CListBox::MeasureItem(tagMEASUREITEM*)\n5757 void CMenu::MeasureItem(tagMEASUREITEM*)\n5758 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n5759 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5760 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n5761 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n5762 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5763 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n5764 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n5765 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n5766 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n5767 void CReBarCtrl::MinimizeBand(unsigned int)\n5768 void CPreviewDC::MirrorAttributes()\n5769 void CPreviewDC::MirrorFont()\n5770 void CPreviewDC::MirrorMappingMode(int)\n5771 void CPreviewDC::MirrorViewportOrg()\n5772 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5773 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5774 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5775 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5776 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5777 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5778 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5779 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5780 void CDockContext::Move(CPoint)\n5781 void CRecordset::Move(long,unsigned short)\n5782 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5783 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5784 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5785 void CRecordset::MoveFirst()\n5786 void CRecordset::MoveLast()\n5787 void CRecordset::MoveNext()\n5788 void CRecordset::MovePrev()\n5789 CPoint CDC::MoveTo(int,int)\n5790 CPoint CDC::MoveTo(tagPOINT)\n5791 void COleControlSite::MoveWindow(int,int,int,int)\n5792 void CWnd::MoveWindow(int,int,int,int,int)\n5793 void CWnd::MoveWindow(tagRECT const *,int)\n5794 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5795 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5796 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n5797 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n5798 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n5799 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5800 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5801 unsigned int COleDropSource::nDragDelay\n5802 unsigned int COleDropSource::nDragMinDist\n5803 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5804 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5805 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5806 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5807 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5808 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n5809 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5810 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5811 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5812 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5813 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5814 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5815 void CDialog::NextDlgCtrl()const \n5816 unsigned int const CEditView::nMaxSize\n5817 int CRectTracker::NormalizeHit(int)const \n5818 void CDataBoundProperty::Notify()\n5819 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5820 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5821 void COleServerDoc::NotifyChanged()\n5822 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5823 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5824 void COleServerDoc::NotifyClosed()\n5825 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5826 void COleServerDoc::NotifyRename(char const *)\n5827 void COleServerDoc::NotifySaved()\n5828 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5829 unsigned int COleDropTarget::nScrollDelay\n5830 int COleDropTarget::nScrollInset\n5831 unsigned int COleDropTarget::nScrollInterval\n5832 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n5833 int CDC::OffsetClipRgn(int,int)\n5834 int CDC::OffsetClipRgn(tagSIZE)\n5835 int CProgressCtrl::OffsetPos(int)\n5836 int CRgn::OffsetRgn(int,int)\n5837 int CRgn::OffsetRgn(tagPOINT)\n5838 CPoint CDC::OffsetViewportOrg(int,int)\n5839 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5840 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5841 CPoint CDC::OffsetWindowOrg(int,int)\n5842 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5843 void CAsyncSocket::OnAccept(int)\n5844 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5845 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5846 void COleClientItem::OnActivate()\n5847 void COleFrameHook::OnActivate(int)\n5848 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5849 void CWnd::OnActivateApp(int,unsigned long)\n5850 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5851 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5852 long COleControl::OnActivateInPlace(int,tagMSG *)\n5853 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5854 long CWnd::OnActivateTopLevel(unsigned int,long)\n5855 void COleClientItem::OnActivateUI()\n5856 long CDocObjectServer::OnActivateView()\n5857 void CFormView::OnActivateView(int,CView *,CView *)\n5858 void CPreviewView::OnActivateView(int,CView *,CView *)\n5859 void CRichEditView::OnActivateView(int,CView *,CView *)\n5860 void CView::OnActivateView(int,CView *,CView *)\n5861 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5862 void CConnectionPoint::OnAdvise(int)\n5863 void COleControl::XEventConnPt::OnAdvise(int)\n5864 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5865 void COleControl::OnAmbientPropertyChange(long)\n5866 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5867 void COleControl::OnAppearanceChanged()\n5868 void CWinApp::OnAppExit()\n5869 int CPropertyPage::OnApply()\n5870 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5871 void CDocObjectServer::OnApplyViewState(CArchive &)\n5872 void CWnd::OnAskCbFormatName(unsigned int,char *)\n5873 void COleControl::OnBackColorChanged()\n5874 int CFrameWnd::OnBarCheck(unsigned int)\n5875 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5876 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5877 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5878 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5879 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n5880 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n5881 int COleDropSource::OnBeginDrag(CWnd *)\n5882 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5883 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5884 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5885 void COleControl::OnBorderStyleChanged()\n5886 void CRichEditView::OnBullet()\n5887 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5888 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5889 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5890 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5891 void CCommonDialog::OnCancel()\n5892 void CDialog::OnCancel()\n5893 void CPropertyPage::OnCancel()\n5894 void CRichEditView::OnCancelEditCntr()\n5895 void COleControl::OnCancelMode()\n5896 void CSplitterWnd::OnCancelMode()\n5897 void CWnd::OnCancelMode()\n5898 void CWnd::OnCaptureChanged(CWnd *)\n5899 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5900 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5901 long COleControl::XFontNotification::OnChanged(long)\n5902 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5903 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5904 void CRectTracker::OnChangedRect(CRect const &)\n5905 void CDocument::OnChangedViewList()\n5906 int COleClientItem::OnChangeItemPosition(CRect const &)\n5907 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5908 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5909 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5910 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5911 void CRichEditView::OnCharBold()\n5912 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5913 void CRichEditView::OnCharItalic()\n5914 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5915 void CRichEditView::OnCharUnderline()\n5916 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5917 void CWnd::OnChildActivate()\n5918 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5919 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5920 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5921 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5922 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5923 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5924 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5925 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5926 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5927 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5928 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5929 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5930 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5931 void COleControl::OnClick(unsigned short)\n5932 CEnumArray * CEnumArray::OnClone()\n5933 CEnumArray * CEnumConnections::OnClone()\n5934 void CAsyncSocket::OnClose(int)\n5935 void CControlFrameWnd::OnClose()\n5936 void CFrameWnd::OnClose()\n5937 void CMiniDockFrameWnd::OnClose()\n5938 void COleControl::OnClose(unsigned long)\n5939 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5940 void CPropertySheet::OnClose()\n5941 void CWnd::OnClose()\n5942 void COleClientItem::XAdviseSink::OnClose()\n5943 void CDocObjectServer::OnCloseDocument()\n5944 void CDocument::OnCloseDocument()\n5945 void COleDocument::OnCloseDocument()\n5946 void COleLinkingDoc::OnCloseDocument()\n5947 void COleServerDoc::OnCloseDocument()\n5948 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5949 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5950 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5951 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5952 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5953 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5954 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5955 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5956 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5957 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5958 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5959 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5960 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5961 void CRichEditView::OnColorDefault()\n5962 int CColorDialog::OnColorOK()\n5963 void CRichEditView::OnColorPick(unsigned long)\n5964 int CFrameWnd::OnCommand(unsigned int,long)\n5965 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5966 int COlePropertyPage::OnCommand(unsigned int,long)\n5967 int CPropertySheet::OnCommand(unsigned int,long)\n5968 int CSplitterWnd::OnCommand(unsigned int,long)\n5969 int CWnd::OnCommand(unsigned int,long)\n5970 long CDialog::OnCommandHelp(unsigned int,long)\n5971 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5972 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5973 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5974 void CHtmlView::OnCommandStateChange(long,int)\n5975 void CWnd::OnCompacting(unsigned int)\n5976 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5977 void CAsyncSocket::OnConnect(int)\n5978 void CFrameWnd::OnContextHelp()\n5979 int COleFrameHook::OnContextHelp(int)\n5980 void COleIPFrameWnd::OnContextHelp()\n5981 void CWinApp::OnContextHelp()\n5982 void CWnd::OnContextMenu(CWnd *,CPoint)\n5983 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5984 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5985 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n5986 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n5987 int CEditView::OnCreate(tagCREATESTRUCTA *)\n5988 int CFormView::OnCreate(tagCREATESTRUCTA *)\n5989 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5990 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n5991 int COleControl::OnCreate(tagCREATESTRUCTA *)\n5992 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n5993 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n5994 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n5995 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n5996 int CView::OnCreate(tagCREATESTRUCTA *)\n5997 int CWnd::OnCreate(tagCREATESTRUCTA *)\n5998 int CCmdTarget::OnCreateAggregates()\n5999 int COleControl::OnCreateAggregates()\n6000 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6001 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6002 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n6003 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n6004 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n6005 CCmdTarget * COleObjectFactory::OnCreateObject()\n6006 CCmdTarget * COleTemplateServer::OnCreateObject()\n6007 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6008 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6009 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6010 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6011 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6012 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6013 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6014 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6015 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6016 int CDocManager::OnDDECommand(char *)\n6017 int CWinApp::OnDDECommand(char *)\n6018 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6019 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6020 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6021 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n6022 void COleClientItem::OnDeactivate()\n6023 void COleServerDoc::OnDeactivate()\n6024 void COleClientItem::OnDeactivateAndUndo()\n6025 void COleClientItem::OnDeactivateUI(int)\n6026 void COleServerDoc::OnDeactivateUI(int)\n6027 void CRichEditCntrItem::OnDeactivateUI(int)\n6028 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6029 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6030 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6031 void CControlBar::OnDestroy()\n6032 void CDHtmlDialog::OnDestroy()\n6033 void CEditView::OnDestroy()\n6034 void CFrameWnd::OnDestroy()\n6035 void CHtmlView::OnDestroy()\n6036 void CMDIChildWnd::OnDestroy()\n6037 void CMDIFrameWnd::OnDestroy()\n6038 void COleControl::OnDestroy()\n6039 void COleIPFrameWnd::OnDestroy()\n6040 void CRichEditView::OnDestroy()\n6041 void CTabCtrl::OnDestroy()\n6042 void CTreeCtrl::OnDestroy()\n6043 void CTreeView::OnDestroy()\n6044 void CView::OnDestroy()\n6045 void CWnd::OnDestroy()\n6046 void CWnd::OnDestroyClipboard()\n6047 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6048 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6049 void CRichEditView::OnDevModeChange(char *)\n6050 void CWnd::OnDevModeChange(char *)\n6051 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6052 void COleClientItem::OnDiscardUndoState()\n6053 void CSplitterWnd::OnDisplayChange()\n6054 long CWnd::OnDisplayChange(unsigned int,long)\n6055 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6056 int COleFrameHook::OnDocActivate(int)\n6057 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n6058 void CHtmlView::OnDocumentComplete(char const *)\n6059 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6060 long CBrowserControlSite::OnDocWindowActivate(int)\n6061 long CDHtmlDialog::OnDocWindowActivate(int)\n6062 long CHtmlView::OnDocWindowActivate(int)\n6063 void COleServerDoc::OnDocWindowActivate(int)\n6064 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6065 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6066 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6067 void CDocObjectServerItem::OnDoVerb(long)\n6068 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6069 void COleServerItem::OnDoVerb(long)\n6070 void CHtmlView::OnDownloadBegin()\n6071 void CHtmlView::OnDownloadComplete()\n6072 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6073 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6074 void COleDropTarget::OnDragLeave(CWnd *)\n6075 void CView::OnDragLeave()\n6076 long CWnd::OnDragList(unsigned int,long)\n6077 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6078 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6079 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6080 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6081 void CCtrlView::OnDraw(CDC *)\n6082 void CFormView::OnDraw(CDC *)\n6083 void CHtmlView::OnDraw(CDC *)\n6084 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6085 void CPreviewView::OnDraw(CDC *)\n6086 void CView::OnDraw(CDC *)\n6087 void CWnd::OnDrawClipboard()\n6088 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6089 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6090 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6091 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6092 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6093 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6094 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6095 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6096 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6097 void CFrameWnd::OnDropFiles(HDROP__ *)\n6098 void CRichEditView::OnDropFiles(HDROP__ *)\n6099 void CWnd::OnDropFiles(HDROP__ *)\n6100 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6101 int CEditView::OnEditChange()\n6102 void COleDocument::OnEditChangeIcon()\n6103 void CEditView::OnEditClear()\n6104 void CRichEditView::OnEditClear()\n6105 void COleDocument::OnEditConvert()\n6106 void CEditView::OnEditCopy()\n6107 void CHtmlView::OnEditCopy()\n6108 void CRichEditView::OnEditCopy()\n6109 void CEditView::OnEditCut()\n6110 void CHtmlView::OnEditCut()\n6111 void CRichEditView::OnEditCut()\n6112 void CEditView::OnEditFind()\n6113 void CRichEditView::OnEditFind()\n6114 void CEditView::OnEditFindReplace(int)\n6115 void CRichEditView::OnEditFindReplace(int)\n6116 void COleDocument::OnEditLinks()\n6117 void CEditView::OnEditPaste()\n6118 void CHtmlView::OnEditPaste()\n6119 void CRichEditView::OnEditPaste()\n6120 void CRichEditView::OnEditPasteSpecial()\n6121 void CRichEditView::OnEditProperties()\n6122 int COlePropertyPage::OnEditProperty(long)\n6123 void CRichEditView::OnEditRedo()\n6124 void CEditView::OnEditRepeat()\n6125 void CRichEditView::OnEditRepeat()\n6126 void CEditView::OnEditReplace()\n6127 void CRichEditView::OnEditReplace()\n6128 void CEditView::OnEditSelectAll()\n6129 void CRichEditView::OnEditSelectAll()\n6130 void CEditView::OnEditUndo()\n6131 void CRichEditView::OnEditUndo()\n6132 void CFrameWnd::OnEnable(int)\n6133 void CToolTipCtrl::OnEnable(int)\n6134 void CWnd::OnEnable(int)\n6135 void COleControl::OnEnabledChanged()\n6136 long CHtmlView::OnEnableModeless(int)\n6137 void COleFrameHook::OnEnableModeless(int)\n6138 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6139 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6140 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6141 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6142 void CFrameWnd::OnEndSession(int)\n6143 void CWnd::OnEndSession(int)\n6144 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6145 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6146 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6147 void CWnd::OnEnterMenuLoop(int)\n6148 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6149 int CFrameWnd::OnEraseBkgnd(CDC *)\n6150 int COleControl::OnEraseBkgnd(CDC *)\n6151 int COleResizeBar::OnEraseBkgnd(CDC *)\n6152 int CPreviewView::OnEraseBkgnd(CDC *)\n6153 int CReBar::OnEraseBkgnd(CDC *)\n6154 int CToolBar::OnEraseBkgnd(CDC *)\n6155 int CWnd::OnEraseBkgnd(CDC *)\n6156 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6157 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6158 int COleControlSite::OnEvent(AFX_EVENT *)\n6159 void COleControl::OnEventAdvise(int)\n6160 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6161 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6162 void CWnd::OnExitMenuLoop(int)\n6163 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6164 void CDocument::OnFileClose()\n6165 void CFileDialog::OnFileNameChange()\n6166 int CFileDialog::OnFileNameOK()\n6167 void CDocManager::OnFileNew()\n6168 void CWinApp::OnFileNew()\n6169 void CDocManager::OnFileOpen()\n6170 void CWinApp::OnFileOpen()\n6171 void CHtmlView::OnFilePrint()\n6172 void CView::OnFilePrint()\n6173 void CView::OnFilePrintPreview()\n6174 void CWinApp::OnFilePrintSetup()\n6175 void CDocument::OnFileSave()\n6176 void CDocument::OnFileSaveAs()\n6177 void COleServerDoc::OnFileSaveCopyAs()\n6178 void CDocument::OnFileSendMail()\n6179 void COleDocument::OnFileSendMail()\n6180 void COleServerDoc::OnFileUpdate()\n6181 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6182 void CCmdTarget::OnFinalRelease()\n6183 void CDocument::OnFinalRelease()\n6184 void COleControl::OnFinalRelease()\n6185 void COlePropertyPage::OnFinalRelease()\n6186 void COleServerItem::OnFinalRelease()\n6187 void CWnd::OnFinalRelease()\n6188 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n6189 void CEditView::OnFindNext(char const *,int,int)\n6190 void CRichEditView::OnFindNext(char const *,int,int,int)\n6191 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6192 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6193 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6194 long COleControlSite::XOleControlSite::OnFocus(int)\n6195 void CFileDialog::OnFolderChange()\n6196 void CWnd::OnFontChange()\n6197 void COleControl::OnFontChanged()\n6198 void COleControl::OnForeColorChanged()\n6199 void CRichEditView::OnFormatFont()\n6200 void COleControl::OnFrameClose()\n6201 long CBrowserControlSite::OnFrameWindowActivate(int)\n6202 long CDHtmlDialog::OnFrameWindowActivate(int)\n6203 long CHtmlView::OnFrameWindowActivate(int)\n6204 void COleServerDoc::OnFrameWindowActivate(int)\n6205 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6206 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6207 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6208 void COleControl::OnFreezeEvents(int)\n6209 void CHtmlView::OnFullScreen(int)\n6210 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6211 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6212 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6213 void COleClientItem::OnGetClipRect(CRect &)\n6214 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6215 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6216 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6217 unsigned int COleControl::OnGetDlgCode()\n6218 unsigned int CWnd::OnGetDlgCode()\n6219 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6220 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n6221 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6222 long CHtmlView::OnGetExternal(IDispatch * *)\n6223 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6224 HMENU__ * COleControl::OnGetInPlaceMenu()\n6225 void COleClientItem::OnGetItemPosition(CRect &)\n6226 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6227 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n6228 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n6229 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6230 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6231 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6232 long CWnd::OnGetObject(unsigned int,long)\n6233 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6234 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6235 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6236 long CStatusBar::OnGetText(unsigned int,long)\n6237 long CStatusBar::OnGetTextLength(unsigned int,long)\n6238 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6239 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6240 unsigned long COleControl::OnGetViewStatus()\n6241 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6242 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6243 void CFrameWnd::OnHelp()\n6244 int COlePropertyPage::OnHelp(char const *)\n6245 void CWinApp::OnHelp()\n6246 void CWnd::OnHelp()\n6247 void CWinApp::OnHelpFinder()\n6248 void CWnd::OnHelpFinder()\n6249 long CControlBar::OnHelpHitTest(unsigned int,long)\n6250 long CDialog::OnHelpHitTest(unsigned int,long)\n6251 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6252 void CWinApp::OnHelpIndex()\n6253 void CWnd::OnHelpIndex()\n6254 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6255 int CWnd::OnHelpInfo(tagHELPINFO *)\n6256 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6257 void CWinApp::OnHelpUsing()\n6258 void CWnd::OnHelpUsing()\n6259 void CDocObjectServerItem::OnHide()\n6260 long COleControl::OnHide()\n6261 void COleServerItem::OnHide()\n6262 void COleControl::OnHideToolBars()\n6263 long CHtmlView::OnHideUI()\n6264 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6265 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6266 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6267 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6268 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6269 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6270 void CWnd::OnIconEraseBkgnd(CDC *)\n6271 void CDocTemplate::OnIdle()\n6272 void CDocument::OnIdle()\n6273 void COleDocument::OnIdle()\n6274 int CWinApp::OnIdle(long)\n6275 int CWinThread::OnIdle(long)\n6276 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6277 void CFrameWnd::OnIdleUpdateCmdUI()\n6278 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6279 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6280 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6281 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6282 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6283 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6284 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6285 int CDHtmlDialog::OnInitDialog()\n6286 int CDialog::OnInitDialog()\n6287 int COlePropertiesDialog::OnInitDialog()\n6288 int COlePropertyPage::OnInitDialog()\n6289 int CPropertySheet::OnInitDialog()\n6290 void CFileDialog::OnInitDone()\n6291 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6292 void CControlBar::OnInitialUpdate()\n6293 void CFormView::OnInitialUpdate()\n6294 void COleDBRecordView::OnInitialUpdate()\n6295 void CRecordView::OnInitialUpdate()\n6296 void CRichEditView::OnInitialUpdate()\n6297 void CView::OnInitialUpdate()\n6298 void CFrameWnd::OnInitMenu(CMenu *)\n6299 void COleFrameHook::OnInitMenu(CMenu *)\n6300 void CWnd::OnInitMenu(CMenu *)\n6301 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6302 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6303 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6304 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6305 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6306 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6307 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6308 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6309 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6310 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6311 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6312 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6313 void CRichEditView::OnInsertObject()\n6314 void CSplitterWnd::OnInvertTracker(CRect const &)\n6315 void CDockContext::OnKey(int,int)\n6316 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6317 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6318 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6319 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6320 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6321 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6322 void COleControl::OnKeyPressEvent(unsigned short)\n6323 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6324 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6325 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6326 long CPropertySheet::OnKickIdle(unsigned int,long)\n6327 int CPropertyPage::OnKillActive()\n6328 void COleControl::OnKillFocus(CWnd *)\n6329 void CWnd::OnKillFocus(CWnd *)\n6330 long CCheckListBox::OnLBAddString(unsigned int,long)\n6331 long CCheckListBox::OnLBFindString(unsigned int,long)\n6332 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6333 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6334 long CCheckListBox::OnLBGetText(unsigned int,long)\n6335 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6336 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6337 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6338 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6339 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6340 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6341 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6342 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6343 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6344 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6345 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6346 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6347 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6348 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6349 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6350 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6351 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6352 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6353 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6354 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6355 void CAsyncMonikerFile::OnLowResource()\n6356 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6357 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6358 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6359 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6360 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6361 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6362 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6363 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6364 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6365 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6366 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6367 void CHtmlView::OnMenuBar(int)\n6368 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6369 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6370 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6371 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6372 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6373 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6374 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6375 int CSocket::OnMessagePending()\n6376 void COleControl::OnMnemonic(tagMSG *)\n6377 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6378 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6379 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6380 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6381 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6382 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6383 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6384 void COleControl::OnMouseMove(unsigned int,CPoint)\n6385 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6386 void CWnd::OnMouseMove(unsigned int,CPoint)\n6387 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6388 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6389 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6390 void COleControl::OnMove(int,int)\n6391 int COleDBRecordView::OnMove(unsigned int)\n6392 void CRecordView::OnMove(int,int)\n6393 int CRecordView::OnMove(unsigned int)\n6394 void CWnd::OnMove(int,int)\n6395 void CWnd::OnMoving(unsigned int,tagRECT *)\n6396 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6397 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6398 void CHtmlEditView::OnNavigateComplete2(char const *)\n6399 void CHtmlView::OnNavigateComplete2(char const *)\n6400 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n6401 int CFrameWnd::OnNcActivate(int)\n6402 int CMDIChildWnd::OnNcActivate(int)\n6403 int CMiniFrameWnd::OnNcActivate(int)\n6404 int CWnd::OnNcActivate(int)\n6405 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6406 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6407 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6408 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6409 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6410 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6411 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n6412 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n6413 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n6414 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n6415 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n6416 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n6417 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n6418 int CWnd::OnNcCreate(tagCREATESTRUCTA *)\n6419 void CListCtrl::OnNcDestroy()\n6420 void CListView::OnNcDestroy()\n6421 void CWnd::OnNcDestroy()\n6422 long CMiniFrameWnd::OnNcHitTest(CPoint)\n6423 long COleControl::OnNcHitTest(CPoint)\n6424 long CStatusBar::OnNcHitTest(CPoint)\n6425 long CToolBar::OnNcHitTest(CPoint)\n6426 long CWnd::OnNcHitTest(CPoint)\n6427 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6428 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6429 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6430 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6431 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6432 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6433 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6434 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6435 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6436 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6437 void CDockBar::OnNcPaint()\n6438 void COleControl::OnNcPaint()\n6439 void CReBar::OnNcPaint()\n6440 void CStatusBar::OnNcPaint()\n6441 void CToolBar::OnNcPaint()\n6442 void CWnd::OnNcPaint()\n6443 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6444 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6445 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6446 int CDocument::OnNewDocument()\n6447 int CHtmlEditDoc::OnNewDocument()\n6448 int COleDocument::OnNewDocument()\n6449 int COleLinkingDoc::OnNewDocument()\n6450 void COleServerDoc::OnNewEmbedding(IStorage *)\n6451 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6452 int CEnumArray::OnNext(void *)\n6453 int CEnumConnections::OnNext(void *)\n6454 int CEnumConnPoints::OnNext(void *)\n6455 int CEnumFormatEtc::OnNext(void *)\n6456 int CEnumOleVerb::OnNext(void *)\n6457 int CEnumUnknown::OnNext(void *)\n6458 void CPreviewView::OnNextPage()\n6459 int CView::OnNextPaneCmd(unsigned int)\n6460 int CFileDialog::OnNotify(unsigned int,long,long *)\n6461 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6462 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6463 int CWnd::OnNotify(unsigned int,long,long *)\n6464 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6465 long CWnd::OnNTCtlColor(unsigned int,long)\n6466 void CPreviewView::OnNumPageChange()\n6467 void COlePropertyPage::OnObjectsChanged()\n6468 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6469 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6470 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6471 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6472 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6473 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6474 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6475 void CCommonDialog::OnOK()\n6476 void CDialog::OnOK()\n6477 void CPropertyPage::OnOK()\n6478 long COleControl::OnOpen(int,tagMSG *)\n6479 void COleServerItem::OnOpen()\n6480 int CDocument::OnOpenDocument(char const *)\n6481 int CHtmlEditDoc::OnOpenDocument(char const *)\n6482 int COleDocument::OnOpenDocument(char const *)\n6483 int COleLinkingDoc::OnOpenDocument(char const *)\n6484 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6485 int CWinApp::OnOpenRecentFile(unsigned int)\n6486 void CAsyncSocket::OnOutOfBandData(int)\n6487 void CCommonDialog::OnPaint()\n6488 void CControlBar::OnPaint()\n6489 void CCtrlView::OnPaint()\n6490 void CDialog::OnPaint()\n6491 void CDockBar::OnPaint()\n6492 void CHtmlEditView::OnPaint()\n6493 void CHtmlView::OnPaint()\n6494 void COleControl::OnPaint(CDC *)\n6495 int COleControlContainer::OnPaint(CDC *)\n6496 void COleResizeBar::OnPaint()\n6497 void CReBar::OnPaint()\n6498 void CSplitterWnd::OnPaint()\n6499 void CStatusBar::OnPaint()\n6500 void CToolBar::OnPaint()\n6501 void CView::OnPaint()\n6502 void CWnd::OnPaint()\n6503 void CWnd::OnPaintClipboard(CWnd *,void *)\n6504 void CFrameWnd::OnPaletteChanged(CWnd *)\n6505 void COleFrameHook::OnPaletteChanged(CWnd *)\n6506 void CWnd::OnPaletteChanged(CWnd *)\n6507 void CWnd::OnPaletteIsChanging(CWnd *)\n6508 void CRichEditView::OnParaAlign(unsigned short)\n6509 void CRichEditView::OnParaCenter()\n6510 void CRichEditView::OnParaLeft()\n6511 void CRichEditView::OnParaRight()\n6512 void CWnd::OnParentNotify(unsigned int,long)\n6513 int CRichEditView::OnPasteNativeObject(IStorage *)\n6514 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6515 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6516 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6517 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6518 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6519 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6520 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6521 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6522 int CEditView::OnPreparePrinting(CPrintInfo *)\n6523 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6524 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6525 int CView::OnPreparePrinting(CPrintInfo *)\n6526 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6527 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6528 void CPreviewView::OnPreviewClose()\n6529 void CPreviewView::OnPreviewPrint()\n6530 void CPreviewView::OnPrevPage()\n6531 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6532 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6533 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6534 void CView::OnPrint(CDC *,CPrintInfo *)\n6535 void CRichEditView::OnPrinterChanged(CDC const &)\n6536 void CPrintDialog::OnPrintSetup()\n6537 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n6538 void CHtmlView::OnProgressChange(long,long)\n6539 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6540 void CHtmlView::OnPropertyChange(char const *)\n6541 int CPropertyPage::OnQueryCancel()\n6542 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6543 HICON__ * CWnd::OnQueryDragIcon()\n6544 int CFrameWnd::OnQueryEndSession()\n6545 int CWnd::OnQueryEndSession()\n6546 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6547 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6548 int CFrameWnd::OnQueryNewPalette()\n6549 int COleFrameHook::OnQueryNewPalette()\n6550 int CWnd::OnQueryNewPalette()\n6551 int CWnd::OnQueryOpen()\n6552 unsigned int CWnd::OnQueryUIState()\n6553 int COleServerItem::OnQueryUpdateItems()\n6554 void CHtmlView::OnQuit()\n6555 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6556 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6557 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6558 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6559 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6560 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6561 int COleServerDoc::OnReactivateAndUndo()\n6562 void COleFrameHook::OnRecalcLayout()\n6563 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6564 void CReBar::OnRecalcParent()\n6565 void CAsyncSocket::OnReceive(int)\n6566 void COleControl::OnReflectorDestroyed()\n6567 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6568 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6569 void COleClientItem::OnRemoveMenus(CMenu *)\n6570 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6571 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6572 void CWnd::OnRenderAllFormats()\n6573 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6574 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6575 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6576 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6577 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6578 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6579 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6580 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6581 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6582 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6583 void CWnd::OnRenderFormat(unsigned int)\n6584 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6585 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6586 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6587 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6588 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6589 void CEditView::OnReplaceAll(char const *,char const *,int)\n6590 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n6591 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n6592 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n6593 long COleControl::XFontNotification::OnRequestEdit(long)\n6594 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6595 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6596 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6597 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6598 void CEnumArray::OnReset()\n6599 void CPropertyPage::OnReset()\n6600 void COleControl::OnResetState()\n6601 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6602 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6603 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6604 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6605 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6606 void COleClientItem::XAdviseSink::OnSave()\n6607 int CDocument::OnSaveDocument(char const *)\n6608 int CHtmlEditDoc::OnSaveDocument(char const *)\n6609 int COleDocument::OnSaveDocument(char const *)\n6610 int COleLinkingDoc::OnSaveDocument(char const *)\n6611 int COleServerDoc::OnSaveDocument(char const *)\n6612 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6613 void COleServerItem::OnSaveEmbedding(IStorage *)\n6614 void CDocObjectServer::OnSaveViewState(CArchive &)\n6615 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6616 int CView::OnScroll(unsigned int,unsigned int,int)\n6617 int COleClientItem::OnScrollBy(CSize)\n6618 int CScrollView::OnScrollBy(CSize,int)\n6619 int CView::OnScrollBy(CSize,int)\n6620 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6621 void CAsyncSocket::OnSend(int)\n6622 int CPropertyPage::OnSetActive()\n6623 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6624 long CToolBar::OnSetButtonSize(unsigned int,long)\n6625 void COleControl::OnSetClientSite()\n6626 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6627 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6628 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6629 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6630 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6631 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6632 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6633 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6634 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6635 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6636 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6637 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6638 long CPropertySheet::OnSetDefID(unsigned int,long)\n6639 int COleControl::OnSetExtent(tagSIZE *)\n6640 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6641 void CFormView::OnSetFocus(CWnd *)\n6642 void CFrameWnd::OnSetFocus(CWnd *)\n6643 void COleControl::OnSetFocus(CWnd *)\n6644 void CWnd::OnSetFocus(CWnd *)\n6645 long CCheckListBox::OnSetFont(unsigned int,long)\n6646 void CDialog::OnSetFont(CFont *)\n6647 long CEditView::OnSetFont(unsigned int,long)\n6648 void COleServerDoc::OnSetHostNames(char const *,char const *)\n6649 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6650 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6651 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6652 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6653 long COleControl::OnSetMessageString(unsigned int,long)\n6654 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6655 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6656 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6657 void CDatabase::OnSetOptions(void *)\n6658 void CRecordset::OnSetOptions(void *)\n6659 void COlePropertyPage::OnSetPageSite()\n6660 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6661 long CToolBar::OnSetSizeHelper(CSize &,long)\n6662 long COleControl::OnSetText(unsigned int,long)\n6663 long CStatusBar::OnSetText(unsigned int,long)\n6664 void CWnd::OnSettingChange(unsigned int,char const *)\n6665 void CRecordset::OnSetUpdateOptions(void *)\n6666 unsigned int CFileDialog::OnShareViolation(char const *)\n6667 void CDocObjectServerItem::OnShow()\n6668 void COleServerItem::OnShow()\n6669 long CReBar::OnShowBand(unsigned int,long)\n6670 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6671 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6672 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6673 void COleServerDoc::OnShowDocument(int)\n6674 void COleClientItem::OnShowItem()\n6675 void COleControl::OnShowToolBars()\n6676 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6677 void COleDocument::OnShowViews(int)\n6678 void COleLinkingDoc::OnShowViews(int)\n6679 void COleControl::OnShowWindow(int,unsigned int)\n6680 void CWnd::OnShowWindow(int,unsigned int)\n6681 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6682 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6683 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6684 void CFrameWnd::OnSize(unsigned int,int,int)\n6685 void CHtmlView::OnSize(unsigned int,int,int)\n6686 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6687 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6688 void COleControl::OnSize(unsigned int,int,int)\n6689 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6690 void COleResizeBar::OnSize(unsigned int,int,int)\n6691 void CPreviewView::OnSize(unsigned int,int,int)\n6692 void CScrollView::OnSize(unsigned int,int,int)\n6693 void CSplitterWnd::OnSize(unsigned int,int,int)\n6694 void CStatusBar::OnSize(unsigned int,int,int)\n6695 void CWnd::OnSize(unsigned int,int,int)\n6696 void CWnd::OnSizeClipboard(CWnd *,void *)\n6697 long CControlBar::OnSizeParent(unsigned int,long)\n6698 long CDockBar::OnSizeParent(unsigned int,long)\n6699 long COleResizeBar::OnSizeParent(unsigned int,long)\n6700 void CWnd::OnSizing(unsigned int,tagRECT *)\n6701 int CEnumArray::OnSkip()\n6702 long CSocketWnd::OnSocketDead(unsigned int,long)\n6703 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6704 int CView::OnSplitCmd(unsigned int)\n6705 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6706 void CAsyncMonikerFile::OnStartBinding()\n6707 void CHtmlView::OnStatusBar(int)\n6708 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6709 void CHtmlView::OnStatusTextChange(char const *)\n6710 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n6711 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6712 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6713 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6714 void CToolBar::OnSysColorChange()\n6715 void CWnd::OnSysColorChange()\n6716 void CFrameWnd::OnSysCommand(unsigned int,long)\n6717 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6718 void CPropertySheet::OnSysCommand(unsigned int,long)\n6719 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6720 void CWnd::OnSysCommand(unsigned int,long)\n6721 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6722 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6723 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6724 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6725 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6726 void CWnd::OnTCard(unsigned int,unsigned long)\n6727 void COleControl::OnTextChanged()\n6728 void CEditView::OnTextNotFound(char const *)\n6729 void CRichEditView::OnTextNotFound(char const *)\n6730 void CHtmlView::OnTheaterMode(int)\n6731 void CWnd::OnTimeChange()\n6732 void CControlBar::OnTimer(unsigned int)\n6733 void CWnd::OnTimer(unsigned int)\n6734 void CHtmlView::OnTitleChange(char const *)\n6735 void CHtmlView::OnToolBar(int)\n6736 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6737 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6738 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n6739 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6740 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6741 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6742 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6743 void CFileDialog::OnTypeChange()\n6744 void COleControlContainer::OnUIActivate(COleControlSite *)\n6745 long COleClientItem::XOleIPSite::OnUIActivate()\n6746 long COleControlSite::XOleIPSite::OnUIActivate()\n6747 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6748 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6749 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6750 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6751 void CView::OnUpdate(CView *,long,CObject *)\n6752 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6753 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6754 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6755 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6756 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6757 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6758 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6759 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6760 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6761 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6762 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6763 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6764 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6765 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6766 int COleServerDoc::OnUpdateDocument()\n6767 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6768 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6769 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6770 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6771 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6772 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6773 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6774 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6775 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6776 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6777 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6778 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6779 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6780 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6781 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6782 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6783 void CFrameWnd::OnUpdateFrameTitle(int)\n6784 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6785 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6786 int COleClientItem::OnUpdateFrameTitle()\n6787 int COleFrameHook::OnUpdateFrameTitle()\n6788 void COleServerItem::OnUpdateItems()\n6789 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6790 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6791 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6792 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6793 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6794 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6795 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6796 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6797 void CEditView::OnUpdateNeedText(CCmdUI *)\n6798 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6799 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6800 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6801 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6802 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6803 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6804 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6805 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6806 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6807 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6808 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6809 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6810 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6811 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6812 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6813 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6814 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6815 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6816 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6817 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6818 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6819 void CView::OnUpdateSplitCmd(CCmdUI *)\n6820 long CHtmlView::OnUpdateUI()\n6821 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6822 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6823 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6824 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6825 void CHtmlView::OnVisible(int)\n6826 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6827 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6828 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6829 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6830 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6831 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6832 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6833 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6834 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6835 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6836 void CMDIFrameWnd::OnWindowNew()\n6837 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6838 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6839 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6840 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6841 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6842 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6843 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6844 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6845 void CWnd::OnWinIniChange(char const *)\n6846 long CPropertyPage::OnWizardBack()\n6847 int CPropertyPage::OnWizardFinish()\n6848 long CPropertyPage::OnWizardNext()\n6849 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6850 void CPreviewView::OnZoomIn()\n6851 void CPreviewView::OnZoomOut()\n6852 int CAnimateCtrl::Open(unsigned int)\n6853 int CAnimateCtrl::Open(char const *)\n6854 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6855 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6856 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6857 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6858 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n6859 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n6860 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n6861 int CAsyncMonikerFile::Open(char const *,CFileException *)\n6862 int CDatabase::Open(char const *,int,int,char const *,int)\n6863 int CDataPathProperty::Open(CFileException *)\n6864 int CDataPathProperty::Open(COleControl *,CFileException *)\n6865 int CDataPathProperty::Open(char const *,CFileException *)\n6866 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n6867 int CFile::Open(char const *,unsigned int,CFileException *)\n6868 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n6869 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6870 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6871 int CMonikerFile::Open(IMoniker *,CFileException *)\n6872 int CMonikerFile::Open(char const *,CFileException *)\n6873 int CRecordset::Open(unsigned int,char const *,unsigned long)\n6874 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n6875 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n6876 long CDocObjectServer::XOleDocumentView::Open()\n6877 int CWnd::OpenClipboard()\n6878 CDocument * CDocManager::OpenDocumentFile(char const *)\n6879 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n6880 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n6881 CDocument * CWinApp::OpenDocumentFile(char const *)\n6882 int CDatabase::OpenEx(char const *,unsigned long)\n6883 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n6884 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n6885 int CWnd::OpenIcon()\n6886 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6887 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6888 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n6889 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n6890 int CHtmlEditDoc::OpenURL(char const *)\n6891 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n6892 int CHeaderCtrl::OrderToIndex(int)const \n6893 int CFileException::OsErrorToException(long)\n6894 void CDumpContext::OutputString(char const *)\n6895 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6896 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6897 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6898 int CDC::PaintRgn(CRgn *)\n6899 int CWnd::PaintWindowlessControls(CDC *)\n6900 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6901 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6902 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n6903 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6904 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6905 void CCommandLineInfo::ParseLast(int)\n6906 void CCommandLineInfo::ParseParam(char const *,int,int)\n6907 void CCommandLineInfo::ParseParamFlag(char const *)\n6908 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6909 void CComboBox::Paste()\n6910 void CEdit::Paste()\n6911 void CRichEditCtrl::Paste()\n6912 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6913 int CDC::PatBlt(int,int,int,int,unsigned long)\n6914 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6915 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6916 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6917 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6918 int CDC::Pie(int,int,int,int,int,int,int,int)\n6919 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6920 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6921 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6922 int CDC::PlayMetaFile(HMETAFILE__ *)\n6923 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6924 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n6925 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n6926 int CDC::PolyBezier(tagPOINT const *,int)\n6927 int CDC::PolyBezierTo(tagPOINT const *,int)\n6928 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6929 int CDC::Polygon(tagPOINT const *,int)\n6930 int CDC::Polyline(tagPOINT const *,int)\n6931 int CDC::PolylineTo(tagPOINT const *,int)\n6932 int CDC::PolyPolygon(tagPOINT const *,int const *,int)\n6933 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6934 void CToolTipCtrl::Pop()\n6935 CPoint CEdit::PosFromChar(unsigned int)const \n6936 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6937 void CPreviewView::PositionPage(unsigned int)\n6938 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6939 int CMonikerFile::PostBindToStream(CFileException *)\n6940 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6941 int CWnd::PostMessageA(unsigned int,unsigned int,long)\n6942 void CDialog::PostModal()\n6943 void CPrintDialogEx::PostModal()\n6944 void COleControl::PostModalDialog(HWND__ *)\n6945 void CControlBar::PostNcDestroy()\n6946 void CControlFrameWnd::PostNcDestroy()\n6947 void CFindReplaceDialog::PostNcDestroy()\n6948 void CFrameWnd::PostNcDestroy()\n6949 void COleCntrFrameWnd::PostNcDestroy()\n6950 void CReflectorWnd::PostNcDestroy()\n6951 void CView::PostNcDestroy()\n6952 void CWnd::PostNcDestroy()\n6953 int CWinThread::PostThreadMessageA(unsigned int,unsigned int,long)\n6954 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n6955 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n6956 void CRecordset::PreBindFields()\n6957 void CDocument::PreCloseFrame(CFrameWnd *)\n6958 void COleDocument::PreCloseFrame(CFrameWnd *)\n6959 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6960 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6961 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6962 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n6963 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6964 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n6965 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6966 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6967 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n6968 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n6969 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6970 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6971 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6972 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n6973 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n6974 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n6975 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n6976 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n6977 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6978 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6979 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6980 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6981 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6982 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n6983 void CDialog::PreInitDialog()\n6984 void COleChangeSourceDialog::PreInitDialog()\n6985 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6986 HWND__ * CDialog::PreModal()\n6987 HWND__ * CPrintDialogEx::PreModal()\n6988 void COleControl::PreModalDialog(HWND__ *)\n6989 void CRecordset::PrepareAndExecute()\n6990 HWND__ * CDataExchange::PrepareCtrl(int)\n6991 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6992 void CWnd::PrepareForHelp()\n6993 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6994 void CRecordset::PrepareUpdateHstmt()\n6995 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n6996 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n6997 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n6998 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n6999 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n7000 void CPropertySheet::PressButton(int)\n7001 int CToolBarCtrl::PressButton(int,int)\n7002 void CCheckListBox::PreSubclassWindow()\n7003 void CDragListBox::PreSubclassWindow()\n7004 void CWnd::PreSubclassWindow()\n7005 int CWnd::PreTranslateInput(tagMSG *)\n7006 int CControlBar::PreTranslateMessage(tagMSG *)\n7007 int CDialog::PreTranslateMessage(tagMSG *)\n7008 int CFormView::PreTranslateMessage(tagMSG *)\n7009 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7010 int CHtmlView::PreTranslateMessage(tagMSG *)\n7011 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7012 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7013 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7014 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7015 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7016 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7017 int CWinThread::PreTranslateMessage(tagMSG *)\n7018 int CWnd::PreTranslateMessage(tagMSG *)\n7019 void CDialog::PrevDlgCtrl()const \n7020 void CWnd::Print(CDC *,unsigned long)const \n7021 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7022 int CPrintDialog::PrintAll()const \n7023 int CPrintDialogEx::PrintAll()const \n7024 void CWnd::PrintClient(CDC *,unsigned long)const \n7025 int CPrintDialog::PrintCollate()const \n7026 int CPrintDialogEx::PrintCollate()const \n7027 int CPrintDialogEx::PrintCurrentPage()const \n7028 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7029 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7030 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7031 long CRichEditView::PrintPage(CDC *,long,long)\n7032 int CPrintDialog::PrintRange()const \n7033 int CPrintDialogEx::PrintRange()const \n7034 int CPrintDialog::PrintSelection()const \n7035 int CPrintDialogEx::PrintSelection()const \n7036 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7037 long COleException::Process(CException const *)\n7038 int CSocket::ProcessAuxQueue()\n7039 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7040 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7041 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7042 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7043 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7044 int CRgn::PtInRegion(int,int)const \n7045 int CRgn::PtInRegion(tagPOINT)const \n7046 void COleSafeArray::PtrOfIndex(long *,void * *)\n7047 int CDC::PtVisible(tagPOINT)const \n7048 int CDC::PtVisible(int,int)const \n7049 int CMetaFileDC::PtVisible(tagPOINT)const \n7050 int CMetaFileDC::PtVisible(int,int)const \n7051 int CEvent::PulseEvent()\n7052 int CWinThread::PumpMessage()\n7053 int CSocket::PumpMessages(unsigned int)\n7054 void CReBarCtrl::PushChevron(unsigned int,long)\n7055 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n7056 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7057 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7058 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7059 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7060 void COleSafeArray::PutElement(long *,void *)\n7061 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n7062 void CHtmlView::PutProperty(char const *,char const *)\n7063 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n7064 void CHtmlView::PutProperty(char const *,short)\n7065 void CHtmlView::PutProperty(char const *,long)\n7066 void CHtmlView::PutProperty(char const *,double)\n7067 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n7068 int PX_Bool(CPropExchange *,char const *,int &)\n7069 int PX_Bool(CPropExchange *,char const *,int &,int)\n7070 int PX_Color(CPropExchange *,char const *,unsigned long &)\n7071 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n7072 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n7073 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n7074 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n7075 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7076 int PX_Double(CPropExchange *,char const *,double &)\n7077 int PX_Double(CPropExchange *,char const *,double &,double)\n7078 int PX_Float(CPropExchange *,char const *,float &)\n7079 int PX_Float(CPropExchange *,char const *,float &,float)\n7080 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7081 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n7082 int PX_Long(CPropExchange *,char const *,long &)\n7083 int PX_Long(CPropExchange *,char const *,long &,long)\n7084 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n7085 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n7086 int PX_Short(CPropExchange *,char const *,short &)\n7087 int PX_Short(CPropExchange *,char const *,short &,short)\n7088 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7089 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n7090 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7091 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n7092 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n7093 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n7094 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n7095 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7096 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7097 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7098 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7099 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7100 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7101 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7102 void * COleControl::QueryDefHandler(_GUID const &)\n7103 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7104 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7105 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7106 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7107 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7108 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7109 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7110 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7111 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n7112 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7113 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7114 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7115 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7116 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7117 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7118 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7119 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7120 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7121 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7122 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7123 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7124 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7125 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7126 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7127 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7128 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7129 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7130 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7131 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7132 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7133 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7134 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7135 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7136 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7137 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7138 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7139 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7140 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7141 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7142 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7143 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7144 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7145 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7146 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7147 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7148 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7149 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7150 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7151 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7152 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7153 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7154 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7155 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7156 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7157 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7158 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7159 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7160 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7161 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7162 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7163 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7164 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7165 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7166 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7167 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7168 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7169 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7170 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7171 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7172 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7173 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7174 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7175 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7176 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7177 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7178 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7179 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7180 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7181 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7182 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7183 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7184 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7185 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7186 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7187 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7188 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7189 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7190 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7191 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7192 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7193 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7194 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7195 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n7196 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7197 long CPropertyPage::QuerySiblings(unsigned int,long)\n7198 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7199 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7200 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7201 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7202 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7203 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n7204 int COleControlSite::QuickActivate()\n7205 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7206 int COleClientItem::ReactivateAndUndo()\n7207 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n7208 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n7209 unsigned int CArchive::Read(void *,unsigned int)\n7210 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7211 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7212 unsigned int CFile::Read(void *,unsigned int)\n7213 int CImageList::Read(CArchive *)\n7214 unsigned int CInternetFile::Read(void *,unsigned int)\n7215 unsigned int CMemFile::Read(void *,unsigned int)\n7216 unsigned int COleStreamFile::Read(void *,unsigned int)\n7217 unsigned int CSocketFile::Read(void *,unsigned int)\n7218 unsigned int CStdioFile::Read(void *,unsigned int)\n7219 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7220 unsigned long CArchive::ReadCount()\n7221 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7222 int CProperty::ReadFromStream(IStream *)\n7223 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7224 int CPropertySet::ReadFromStream(IStream *)\n7225 void COleClientItem::ReadItem(CArchive &)\n7226 void COleClientItem::ReadItemCompound(CArchive &)\n7227 void COleClientItem::ReadItemFlat(CArchive &)\n7228 void CRecentFileList::ReadList()\n7229 int CPropertySection::ReadNameDictFromStream(IStream *)\n7230 CObject * CArchive::ReadObject(CRuntimeconst *)\n7231 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7232 char * CArchive::ReadString(char *,unsigned int)\n7233 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7234 char * CInternetFile::ReadString(char *,unsigned int)\n7235 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7236 char * CStdioFile::ReadString(char *,unsigned int)\n7237 unsigned int CDC::RealizePalette()\n7238 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7239 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7240 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7241 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7242 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7243 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7244 void CRecordset::RebindParams(void *)\n7245 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7246 void CFrameWnd::RecalcLayout(int)\n7247 void CMiniDockFrameWnd::RecalcLayout(int)\n7248 void COleCntrFrameWnd::RecalcLayout(int)\n7249 void COleDocIPFrameWnd::RecalcLayout(int)\n7250 void COleIPFrameWnd::RecalcLayout(int)\n7251 void CSplitterWnd::RecalcLayout()\n7252 int CAsyncSocket::Receive(void *,int,int)\n7253 int CSocket::Receive(void *,int,int)\n7254 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n7255 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7256 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7257 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7258 void COleControl::RecreateControlWindow()\n7259 int CDC::Rectangle(int,int,int,int)\n7260 int CDC::Rectangle(tagRECT const *)\n7261 CRect const CFrameWnd::rectDefault\n7262 int CRgn::RectInRegion(tagRECT const *)const \n7263 int CDC::RectVisible(tagRECT const *)const \n7264 int CMetaFileDC::RectVisible(tagRECT const *)const \n7265 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7266 int CRichEditCtrl::Redo()\n7267 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7268 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7269 int CListCtrl::RedrawItems(int,int)\n7270 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7271 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7272 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7273 void CHtmlView::Refresh()\n7274 void COleControl::Refresh()\n7275 void CHtmlView::Refresh2(int)\n7276 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7277 int COleDropTarget::Register(CWnd *)\n7278 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n7279 int COleMessageFilter::Register()\n7280 int COleObjectFactory::Register()\n7281 int COleTemplateServer::Register()\n7282 int CWinApp::Register()\n7283 int COleObjectFactory::RegisterAll()\n7284 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n7285 void CDocManager::RegisterShellFileTypes(int)\n7286 void CWinApp::RegisterShellFileTypes(int)\n7287 void CToolTipCtrl::RelayEvent(tagMSG *)\n7288 unsigned long CArchiveStream::Release()\n7289 unsigned long CBlobProperty::Release()\n7290 unsigned long CBrowserControlSite::Release()\n7291 unsigned long CDHtmlControlSink::Release()\n7292 unsigned long CDHtmlElementEventSink::Release()\n7293 unsigned long CDHtmlEventSink::Release()\n7294 unsigned long CInnerUnknown::Release()\n7295 void COleClientItem::Release(enum tagOLECLOSE)\n7296 unsigned long COleConnPtContainer::Release()\n7297 void COleDataObject::Release()\n7298 unsigned long COleDispatchImpl::Release()\n7299 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7300 unsigned long COleUILinkInfo::Release()\n7301 unsigned long CPrintDialogEx::Release()\n7302 unsigned long CWnd::XAccessible::Release()\n7303 unsigned long CWnd::XAccessibleServer::Release()\n7304 unsigned long COleClientItem::XAdviseSink::Release()\n7305 unsigned long COleControlSite::XAmbientProps::Release()\n7306 unsigned long COleControlSite::XBoundObjectSite::Release()\n7307 unsigned long COleObjectFactory::XClassFactory::Release()\n7308 unsigned long CConnectionPoint::XConnPt::Release()\n7309 unsigned long COleControl::XDataObject::Release()\n7310 unsigned long COleDataSource::XDataObject::Release()\n7311 unsigned long COleServerDoc::XDataObject::Release()\n7312 unsigned long COleServerItem::XDataObject::Release()\n7313 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7314 unsigned long COleDropSource::XDropSource::Release()\n7315 unsigned long COleDropTarget::XDropTarget::Release()\n7316 unsigned long CEnumArray::XEnumVOID::Release()\n7317 unsigned long COleControlSite::XEventSink::Release()\n7318 unsigned long COleControl::XFontNotification::Release()\n7319 unsigned long COleMessageFilter::XMessageFilter::Release()\n7320 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7321 unsigned long COleControl::XOleCache::Release()\n7322 unsigned long COleClientItem::XOleClientSite::Release()\n7323 unsigned long COleControlSite::XOleClientSite::Release()\n7324 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7325 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7326 unsigned long COleControlContainer::XOleContainer::Release()\n7327 unsigned long COleControl::XOleControl::Release()\n7328 unsigned long COleControlSite::XOleControlSite::Release()\n7329 unsigned long CDocObjectServer::XOleDocument::Release()\n7330 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7331 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7332 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7333 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7334 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7335 unsigned long COleControl::XOleInPlaceObject::Release()\n7336 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7337 unsigned long COleControlContainer::XOleIPFrame::Release()\n7338 unsigned long COleClientItem::XOleIPSite::Release()\n7339 unsigned long COleControlSite::XOleIPSite::Release()\n7340 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7341 unsigned long CDocObjectServer::XOleObject::Release()\n7342 unsigned long COleControl::XOleObject::Release()\n7343 unsigned long COleServerDoc::XOleObject::Release()\n7344 unsigned long COleServerItem::XOleObject::Release()\n7345 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7346 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7347 unsigned long COleLinkingDoc::XPersistFile::Release()\n7348 unsigned long COleControl::XPersistMemory::Release()\n7349 unsigned long COleControl::XPersistPropertyBag::Release()\n7350 unsigned long COleControl::XPersistStorage::Release()\n7351 unsigned long COleServerDoc::XPersistStorage::Release()\n7352 unsigned long COleControl::XPersistStreamInit::Release()\n7353 unsigned long COleControl::XPointerInactive::Release()\n7354 unsigned long CDocObjectServer::XPrint::Release()\n7355 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7356 unsigned long COlePropertyPage::XPropertyPage::Release()\n7357 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7358 unsigned long COleControl::XProvideClassInfo::Release()\n7359 unsigned long COleControl::XQuickActivate::Release()\n7360 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7361 unsigned long COleControlSite::XRowsetNotify::Release()\n7362 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7363 unsigned long COleControl::XViewObject::Release()\n7364 void CDC::ReleaseAttribDC()\n7365 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7366 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7367 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7368 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7369 void COleControl::ReleaseCaches()\n7370 int COleControl::ReleaseCapture()\n7371 int COleControl::ReleaseDC(CDC *)\n7372 int CWnd::ReleaseDC(CDC *)\n7373 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7374 void COleDispatchDriver::ReleaseDispatch()\n7375 void CDocObjectServer::ReleaseDocSite()\n7376 void CDocument::ReleaseFile(CFile *,int)\n7377 void CFontHolder::ReleaseFont()\n7378 void CDC::ReleaseOutputDC()\n7379 void CMetaFileDC::ReleaseOutputDC()\n7380 void CPreviewDC::ReleaseOutputDC()\n7381 int COleClientItem::Reload()\n7382 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7383 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7384 void CFile::Remove(char const *)\n7385 int CFtpConnection::Remove(char const *)\n7386 int CImageList::Remove(int)\n7387 void CPropertySection::Remove(unsigned long)\n7388 void CPropertySet::Remove(_GUID)\n7389 void CPropertySet::Remove(_GUID,unsigned long)\n7390 void CRecentFileList::Remove(int)\n7391 int CSimpleList::Remove(void *)\n7392 void CByteArray::RemoveAll()\n7393 void CDWordArray::RemoveAll()\n7394 void CMapPtrToPtr::RemoveAll()\n7395 void CMapPtrToWord::RemoveAll()\n7396 void CMapStringToOb::RemoveAll()\n7397 void CMapStringToPtr::RemoveAll()\n7398 void CMapStringToString::RemoveAll()\n7399 void CMapWordToOb::RemoveAll()\n7400 void CMapWordToPtr::RemoveAll()\n7401 void CObArray::RemoveAll()\n7402 void CObList::RemoveAll()\n7403 void CPropertySection::RemoveAll()\n7404 void CPropertySet::RemoveAll()\n7405 void CPtrArray::RemoveAll()\n7406 void CPtrList::RemoveAll()\n7407 void CStringArray::RemoveAll()\n7408 void CStringList::RemoveAll()\n7409 void CTypeLibCacheMap::RemoveAll(void *)\n7410 void CUIntArray::RemoveAll()\n7411 void CWordArray::RemoveAll()\n7412 void CByteArray::RemoveAt(int,int)\n7413 void CDWordArray::RemoveAt(int,int)\n7414 void CObArray::RemoveAt(int,int)\n7415 void CObList::RemoveAt(__POSITION *)\n7416 void CPtrArray::RemoveAt(int,int)\n7417 void CPtrList::RemoveAt(__POSITION *)\n7418 void CStringArray::RemoveAt(int,int)\n7419 void CStringList::RemoveAt(__POSITION *)\n7420 void CUIntArray::RemoveAt(int,int)\n7421 void CWordArray::RemoveAt(int,int)\n7422 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7423 void CFrameWnd::RemoveControlBar(CControlBar *)\n7424 int CFtpConnection::RemoveDirectoryA(char const *)\n7425 void CDocTemplate::RemoveDocument(CDocument *)\n7426 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7427 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7428 void COleControl::RemoveFrameLevelUI()\n7429 void CFrameWnd::RemoveFrameWnd()\n7430 void CHandleMap::RemoveHandle(void *)\n7431 CObject * CObList::RemoveHead()\n7432 void * CPtrList::RemoveHead()\n7433 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead()\n7434 void CTabCtrl::RemoveImage(int)\n7435 void CListCtrl::RemoveImageList(int)\n7436 void CListView::RemoveImageList(int)\n7437 void CTreeCtrl::RemoveImageList(int)\n7438 void CTreeView::RemoveImageList(int)\n7439 void COleDocument::RemoveItem(CDocItem *)\n7440 int CMapPtrToPtr::RemoveKey(void *)\n7441 int CMapPtrToWord::RemoveKey(void *)\n7442 int CMapStringToOb::RemoveKey(char const *)\n7443 int CMapStringToPtr::RemoveKey(char const *)\n7444 int CMapStringToString::RemoveKey(char const *)\n7445 int CMapWordToOb::RemoveKey(unsigned short)\n7446 int CMapWordToPtr::RemoveKey(unsigned short)\n7447 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7448 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7449 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7450 void CPropertySheet::RemovePage(int)\n7451 void CPropertySheet::RemovePage(CPropertyPage *)\n7452 void CDockBar::RemovePlaceHolder(CControlBar *)\n7453 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7454 void CDataBoundProperty::RemoveSource()\n7455 CObject * CObList::RemoveTail()\n7456 void * CPtrList::RemoveTail()\n7457 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail()\n7458 void CDocument::RemoveView(CView *)\n7459 void CFile::Rename(char const *,char const *)\n7460 int CFtpConnection::Rename(char const *,char const *)\n7461 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7462 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7463 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n7464 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n7465 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n7466 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n7467 int CImageList::Replace(int,HICON__ *)\n7468 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7469 int CFindReplaceDialog::ReplaceAll()const \n7470 void CDatabase::ReplaceBrackets(char *)\n7471 int CFindReplaceDialog::ReplaceCurrent()const \n7472 void CEdit::ReplaceSel(char const *,int)\n7473 void CRichEditCtrl::ReplaceSel(char const *,int)\n7474 int CException::ReportError(unsigned int,unsigned int)\n7475 int COleClientItem::ReportError(long)const \n7476 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7477 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n7478 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7479 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7480 int CRecordset::Requery()\n7481 void COleControl::RequestAsynchronousExchange(unsigned long)\n7482 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7483 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7484 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7485 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7486 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7487 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7488 void CRichEditCtrl::RequestResize()\n7489 long COleControlSite::XOleIPSite::RequestUIActivate()\n7490 long CEnumArray::XEnumVOID::Reset()\n7491 void CComboBox::ResetContent()\n7492 void CListBox::ResetContent()\n7493 void CRecordset::ResetCursor()\n7494 void CCachedDataPathProperty::ResetData()\n7495 void CDataPathProperty::ResetData()\n7496 int CDC::ResetDCA(_devicemodeA const *)\n7497 int CEvent::ResetEvent()\n7498 void COleControl::ResetStockProps()\n7499 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7500 void COleControl::ResetVersion(unsigned long)\n7501 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7502 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7503 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7504 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7505 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7506 void COleControl::ResizeFrameWindow(int,int)\n7507 void COleSafeArray::ResizeOneDim(unsigned long)\n7508 void COleControl::ResizeOpenControl(int,int)\n7509 int CPalette::ResizePalette(unsigned int)\n7510 void CScrollView::ResizeParentToFit(int)\n7511 void CWaitCursor::Restore()\n7512 void CReBarCtrl::RestoreBand(unsigned int)\n7513 int CDC::RestoreDC(int)\n7514 int CPreviewDC::RestoreDC(int)\n7515 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n7516 void CCmdTarget::RestoreWaitCursor()\n7517 unsigned long CWinThread::ResumeThread()\n7518 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7519 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n7520 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n7521 long CArchiveStream::Revert()\n7522 void COleDropTarget::Revoke()\n7523 void COleLinkingDoc::Revoke()\n7524 void COleMessageFilter::Revoke()\n7525 void COleObjectFactory::Revoke()\n7526 void COleObjectFactory::RevokeAll()\n7527 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n7528 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n7529 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n7530 void RFX_Bool(CFieldExchange *,char const *,int &)\n7531 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7532 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n7533 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n7534 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n7535 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n7536 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n7537 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n7538 void RFX_Double(CFieldExchange *,char const *,double &)\n7539 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n7540 void RFX_Int(CFieldExchange *,char const *,int &)\n7541 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n7542 void RFX_Long(CFieldExchange *,char const *,long &)\n7543 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n7544 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n7545 void RFX_Single(CFieldExchange *,char const *,float &)\n7546 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n7547 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7548 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7549 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n7550 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n7551 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n7552 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n7553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n7554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n7555 int CDatabase::Rollback()\n7556 int CDC::RoundRect(int,int,int,int,int,int)\n7557 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7558 void COleClientItem::Run()\n7559 int CWinApp::Run()\n7560 int CWinThread::Run()\n7561 int CWinApp::RunAutomated()\n7562 int CWinApp::RunEmbedded()\n7563 int CWnd::RunModalLoop(unsigned long)\n7564 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7565 int CEditView::SameAsSelected(char const *,int)\n7566 int CRichEditView::SameAsSelected(char const *,int,int)\n7567 long CBlobProperty::Save(IStream *,int)\n7568 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7569 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7570 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7571 long COleControl::XPersistStorage::Save(IStorage *,int)\n7572 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7573 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7574 int CDocManager::SaveAllModified()\n7575 int CDocTemplate::SaveAllModified()\n7576 int CWinApp::SaveAllModified()\n7577 void CFrameWnd::SaveBarState(char const *)const \n7578 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7579 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7580 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7581 int CDC::SaveDC()\n7582 int CPreviewDC::SaveDC()\n7583 void COleServerDoc::SaveEmbedding()\n7584 int CFormView::SaveFocusControl()\n7585 int CDocument::SaveModified()\n7586 int COleDocument::SaveModified()\n7587 int COleServerDoc::SaveModified()\n7588 int COleServerDoc::SaveModifiedPrompt()\n7589 long COleClientItem::XOleClientSite::SaveObject()\n7590 long COleControlSite::XOleClientSite::SaveObject()\n7591 int CControlBarInfo::SaveState(char const *,int)\n7592 void CDockState::SaveState(char const *)\n7593 long COleControl::SaveState(IStream *)\n7594 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n7595 void CWinApp::SaveStdProfileSettings()\n7596 void COleDocument::SaveToStorage(CObject *)\n7597 void COleLinkingDoc::SaveToStorage(CObject *)\n7598 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7599 void CDockState::ScalePoint(CPoint &)\n7600 void CDockState::ScaleRectPos(CRect &)\n7601 CSize CDC::ScaleViewportExt(int,int,int,int)\n7602 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7603 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7604 CSize CDC::ScaleWindowExt(int,int,int,int)\n7605 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7606 void CWnd::ScreenToClient(tagPOINT *)const \n7607 void CWnd::ScreenToClient(tagRECT *)const \n7608 int CListCtrl::Scroll(CSize)\n7609 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7610 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7611 void COleControlContainer::ScrollChildren(int,int)\n7612 int COleServerDoc::ScrollContainerBy(CSize)\n7613 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7614 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7615 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7616 void CScrollView::ScrollToPosition(tagPOINT)\n7617 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7618 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7619 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7620 int CFindReplaceDialog::SearchDown()const \n7621 int CAnimateCtrl::Seek(unsigned int)\n7622 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7623 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7624 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7625 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7626 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7627 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7628 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7629 void CFile::SeekToBegin()\n7630 unsigned __int64 CFile::SeekToEnd()\n7631 CFont * CFontHolder::Select(CDC *,long,long)\n7632 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7633 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7634 int CDC::SelectClipPath(int)\n7635 int CDC::SelectClipRgn(CRgn *)\n7636 int CDC::SelectClipRgn(CRgn *,int)\n7637 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7638 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7639 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7640 long CPrintDialogEx::SelectionChange()\n7641 int CTreeCtrl::SelectItem(_TREEITEM *)\n7642 int CDC::SelectObject(CRgn *)\n7643 CBitmap * CDC::SelectObject(CBitmap *)\n7644 CBrush * CDC::SelectObject(CBrush *)\n7645 CGdiObject * CDC::SelectObject(CGdiObject *)\n7646 CPen * CDC::SelectObject(CPen *)\n7647 void * CDC::SelectObject(void *)\n7648 CFont * CDC::SelectObject(CFont *)\n7649 CFont * CPreviewDC::SelectObject(CFont *)\n7650 CPalette * CDC::SelectPalette(CPalette *,int)\n7651 void CWinApp::SelectPrinter(void *,void *,int)\n7652 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7653 CFont * COleControl::SelectStockFont(CDC *)\n7654 CGdiObject * CDC::SelectStockObject(int)\n7655 CGdiObject * CPreviewDC::SelectStockObject(int)\n7656 int CComboBox::SelectString(int,char const *)\n7657 int CListBox::SelectString(int,char const *)\n7658 int CListBox::SelItemRange(int,int,int)\n7659 int CAsyncSocket::Send(void const *,int,int)\n7660 int CSocket::Send(void const *,int,int)\n7661 void COleControl::SendAdvise(unsigned int)\n7662 int CWnd::SendChildNotifyLastMsg(long *)\n7663 int CSocket::SendChunk(void const *,int,int)\n7664 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7665 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n7666 void CDocument::SendInitialUpdate()\n7667 void CRecordset::SendLongBinaryData(void *)\n7668 long CWnd::SendMessageA(unsigned int,unsigned int,long)\n7669 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7670 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7671 void COleControlSite::SendMnemonic(tagMSG *)\n7672 int CWnd::SendNotifyMessageA(unsigned int,unsigned int,long)\n7673 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n7674 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n7675 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7676 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n7677 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n7678 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7679 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7680 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7681 void CByteArray::Serialize(CArchive &)\n7682 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7683 void CDocItem::Serialize(CArchive &)\n7684 void CDockState::Serialize(CArchive &)\n7685 void CDWordArray::Serialize(CArchive &)\n7686 void CEditView::Serialize(CArchive &)\n7687 void CMapStringToOb::Serialize(CArchive &)\n7688 void CMapStringToString::Serialize(CArchive &)\n7689 void CMapWordToOb::Serialize(CArchive &)\n7690 void CObArray::Serialize(CArchive &)\n7691 void CObject::Serialize(CArchive &)\n7692 void CObList::Serialize(CArchive &)\n7693 void COleClientItem::Serialize(CArchive &)\n7694 void COleControl::Serialize(CArchive &)\n7695 void COleDocument::Serialize(CArchive &)\n7696 void CRichEditDoc::Serialize(CArchive &)\n7697 void CRichEditView::Serialize(CArchive &)\n7698 void CStringArray::Serialize(CArchive &)\n7699 void CStringList::Serialize(CArchive &)\n7700 void CWordArray::Serialize(CArchive &)\n7701 CArchive & ATL::CTime::Serialize64(CArchive &)\n7702 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7703 void CArchive::SerializeClass(CRuntimeconst *)\n7704 void COleControl::SerializeExtent(CArchive &)\n7705 void CEditView::SerializeRaw(CArchive &)\n7706 void COleControl::SerializeStockProps(CArchive &)\n7707 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7708 int CProperty::Set(unsigned long,void * const,unsigned long)\n7709 int CProperty::Set(void * const)\n7710 int CProperty::Set(void * const,unsigned long)\n7711 int CPropertySection::Set(unsigned long,void *)\n7712 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7713 int CPropertySet::Set(_GUID,unsigned long,void *)\n7714 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7715 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7716 void CRecordset::SetAbsolutePosition(long)\n7717 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7718 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7719 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7720 int CPropertySheet::SetActivePage(int)\n7721 int CPropertySheet::SetActivePage(CPropertyPage *)\n7722 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7723 void CFrameWnd::SetActiveView(CView *,int)\n7724 CWnd * CWnd::SetActiveWindow()\n7725 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7726 void CIPAddressCtrl::SetAddress(unsigned long)\n7727 void CHtmlView::SetAddressBar(int)\n7728 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7729 int CToolBarCtrl::SetAnchorHighlight(int)\n7730 void CListBox::SetAnchorIndex(int)\n7731 void COleControl::SetAppearance(short)\n7732 int CDC::SetArcDirection(int)\n7733 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n7734 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n7735 void CByteArray::SetAt(int,unsigned char)\n7736 void CDWordArray::SetAt(int,unsigned long)\n7737 void CMapPtrToPtr::SetAt(void *,void *)\n7738 void CMapPtrToWord::SetAt(void *,unsigned short)\n7739 void CMapStringToOb::SetAt(char const *,CObject *)\n7740 void CMapStringToPtr::SetAt(char const *,void *)\n7741 void CMapStringToString::SetAt(char const *,char const *)\n7742 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7743 void CMapWordToPtr::SetAt(unsigned short,void *)\n7744 void CObArray::SetAt(int,CObject *)\n7745 void CObList::SetAt(__POSITION *,CObject *)\n7746 void CPtrArray::SetAt(int,void *)\n7747 void CPtrList::SetAt(__POSITION *,void *)\n7748 void CStringArray::SetAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7749 void CStringArray::SetAt(int,char const *)\n7750 void CStringList::SetAt(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7751 void CStringList::SetAt(__POSITION *,char const *)\n7752 void CUIntArray::SetAt(int,unsigned int)\n7753 void CWordArray::SetAt(int,unsigned short)\n7754 void CByteArray::SetAtGrow(int,unsigned char)\n7755 void CDWordArray::SetAtGrow(int,unsigned long)\n7756 void CObArray::SetAtGrow(int,CObject *)\n7757 void CPtrArray::SetAtGrow(int,void *)\n7758 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7759 void CStringArray::SetAtGrow(int,char const *)\n7760 void CUIntArray::SetAtGrow(int,unsigned int)\n7761 void CWordArray::SetAtGrow(int,unsigned short)\n7762 void CDC::SetAttribDC(HDC__ *)\n7763 void CMetaFileDC::SetAttribDC(HDC__ *)\n7764 void CPreviewDC::SetAttribDC(HDC__ *)\n7765 int CRichEditCtrl::SetAutoURLDetect(int)\n7766 void COleControl::SetBackColor(unsigned long)\n7767 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7768 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOA *)\n7769 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7770 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7771 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7772 void CControlBar::SetBarStyle(unsigned long)\n7773 int CSpinButtonCtrl::SetBase(int)\n7774 void CAsyncMonikerFile::SetBinding(IBinding *)\n7775 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7776 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7777 int CToolBar::SetBitmap(HBITMAP__ *)\n7778 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7779 CSize CBitmap::SetBitmapDimension(int,int)\n7780 int CHeaderCtrl::SetBitmapMargin(int)\n7781 int CToolBarCtrl::SetBitmapSize(CSize)\n7782 unsigned long CDC::SetBkColor(unsigned long)\n7783 unsigned long CImageList::SetBkColor(unsigned long)\n7784 int CListCtrl::SetBkColor(unsigned long)\n7785 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7786 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7787 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7788 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7789 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7790 int CListCtrl::SetBkImage(char *,int,int,int)\n7791 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7792 int CListCtrl::SetBkImage(tagLVBKIMAGEA *)\n7793 int CDC::SetBkMode(int)\n7794 void CRecordset::SetBookmark(CDBVariant const &)\n7795 void CControlBar::SetBorders(int,int,int,int)\n7796 void CControlBar::SetBorders(tagRECT const *)\n7797 void CStatusBar::SetBorders(int,int,int,int)\n7798 void CStatusBar::SetBorders(tagRECT const *)\n7799 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7800 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7801 void COleControl::SetBorderStyle(short)\n7802 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7803 CPoint CDC::SetBrushOrg(int,int)\n7804 CPoint CDC::SetBrushOrg(tagPOINT)\n7805 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7806 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7807 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7808 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7809 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOA *)\n7810 int CToolBar::SetButtons(unsigned int const *,int)\n7811 int CToolBarCtrl::SetButtonSize(CSize)\n7812 void CToolBarCtrl::SetButtonStructSize(int)\n7813 void CButton::SetButtonStyle(unsigned int,int)\n7814 void CToolBar::SetButtonStyle(int,unsigned int)\n7815 int CToolBar::SetButtonText(int,char const *)\n7816 int CToolBarCtrl::SetButtonWidth(int,int)\n7817 int CListCtrl::SetCallbackMask(unsigned int)\n7818 CWnd * COleControl::SetCapture()\n7819 CWnd * CWnd::SetCapture()\n7820 long COleControlSite::XOleIPSite::SetCapture(int)\n7821 int CListBox::SetCaretIndex(int,int)\n7822 void CWnd::SetCaretPos(tagPOINT)\n7823 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n7824 void CButton::SetCheck(int)\n7825 void CCheckListBox::SetCheck(int,int)\n7826 void CCmdUI::SetCheck(int)\n7827 int CListCtrl::SetCheck(int,int)\n7828 void COleCmdUI::SetCheck(int)\n7829 void CStatusCmdUI::SetCheck(int)\n7830 void CTestCmdUI::SetCheck(int)\n7831 void CToolCmdUI::SetCheck(int)\n7832 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7833 void CCheckListBox::SetCheckStyle(unsigned int)\n7834 void CPropertySet::SetClassID(_GUID)\n7835 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7836 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7837 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7838 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7839 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7840 void COleDataSource::SetClipboard()\n7841 HWND__ * CWnd::SetClipboardViewer()\n7842 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7843 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7844 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7845 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7846 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7847 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7848 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7849 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7850 int CListCtrl::SetColumn(int,tagLVCOLUMNA const *)\n7851 void CSplitterWnd::SetColumnInfo(int,int,int)\n7852 int CListCtrl::SetColumnOrderArray(int,int *)\n7853 void CListBox::SetColumnWidth(int)\n7854 int CListCtrl::SetColumnWidth(int,int)\n7855 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7856 void CDocTemplate::SetContainerInfo(unsigned int)\n7857 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7858 void CDataPathProperty::SetControl(COleControl *)\n7859 void CReflectorWnd::SetControl(COleControl *)\n7860 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7861 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n7862 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n7863 int COleControl::SetControlSize(int,int)\n7864 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7865 void CFileDialog::SetControlText(int,char const *)\n7866 int CInternetSession::SetCookie(char const *,char const *,char const *)\n7867 void CTabCtrl::SetCurFocus(int)\n7868 void COleCurrency::SetCurrency(long,long)\n7869 void CColorDialog::SetCurrentColor(unsigned long)\n7870 int CFtpConnection::SetCurrentDirectoryA(char const *)\n7871 void CWinApp::SetCurrentHandles()\n7872 void CPreviewView::SetCurrentPage(unsigned int,int)\n7873 int CComboBox::SetCurSel(int)\n7874 int CListBox::SetCurSel(int)\n7875 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7876 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7877 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7878 int CTabCtrl::SetCurSel(int)\n7879 HICON__ * CButton::SetCursor(HICON__ *)\n7880 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7881 HICON__ * CStatic::SetCursor(HICON__ *)\n7882 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7883 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7884 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7885 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7886 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7887 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7888 void COccManager::SetDefaultButton(CWnd *,int)\n7889 void COleControlSite::SetDefaultButton(int)\n7890 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n7891 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n7892 int CMenu::SetDefaultItem(unsigned int,int)\n7893 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7894 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7895 void CFileDialog::SetDefExt(char const *)\n7896 void CDialog::SetDefID(unsigned int)\n7897 void CToolTipCtrl::SetDelayTime(unsigned int)\n7898 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7899 void CDumpContext::SetDepth(int)\n7900 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7901 void COlePropertyPage::SetDialogResource(void *)\n7902 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7903 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7904 int COleControlSite::SetDlgCtrlID(int)\n7905 int CWnd::SetDlgCtrlID(int)\n7906 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7907 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7908 void COleControlContainer::SetDlgItemTextA(int,char const *)\n7909 void CWnd::SetDlgItemTextA(int,char const *)\n7910 void CFrameWnd::SetDockState(CDockState const &)\n7911 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7912 int CImageList::SetDragCursorImage(int,CPoint)\n7913 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7914 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7915 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7916 int CComboBox::SetDroppedWidth(unsigned int)\n7917 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7918 int CComboBox::SetEditSel(int,int)\n7919 int CComboBoxEx::SetEditSel(int,int)\n7920 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7921 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n7922 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n7923 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7924 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n7925 void COleControl::SetEnabled(int)\n7926 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7927 int CEvent::SetEvent()\n7928 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7929 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7930 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7931 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7932 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7933 int CComboBox::SetExtendedUI(int)\n7934 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7935 int COleControlSite::SetExtent()\n7936 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7937 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7938 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7939 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7940 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7941 void CRecordset::SetFieldDirty(void *,int)\n7942 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7943 void CRecordset::SetFieldNull(void *,int)\n7944 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7945 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7946 void CFieldExchange::SetFieldType(unsigned int)\n7947 void CFile::SetFilePath(char const *)\n7948 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7949 void CPropertySheet::SetFinishText(char const *)\n7950 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7951 CWnd * COleControl::SetFocus()\n7952 CWnd * COleControlSite::SetFocus(tagMSG *)\n7953 CWnd * COleControlSite::SetFocus()\n7954 CWnd * CWnd::SetFocus()\n7955 long COleControlSite::XOleIPSite::SetFocus(int)\n7956 void CDHtmlDialog::SetFocusToElement(char const *)\n7957 int CDialogTemplate::SetFont(char const *,unsigned short)\n7958 void CFontHolder::SetFont(IFont *)\n7959 void COleControl::SetFont(IFontDisp *)\n7960 void CWnd::SetFont(CFont *,int)\n7961 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7962 void COleControl::SetForeColor(unsigned long)\n7963 int CWnd::SetForegroundWindow()\n7964 int CDateTimeCtrl::SetFormat(char const *)\n7965 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7966 void CPropertySection::SetFormatID(_GUID)\n7967 void CPropertySet::SetFormatVersion(unsigned short)\n7968 void CHtmlView::SetFullScreen(int)\n7969 void CEdit::SetHandle(void *)\n7970 void CSharedFile::SetHandle(void *,int)\n7971 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7972 void CHtmlView::SetHeight(long)\n7973 void CToolBar::SetHeight(int)\n7974 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7975 void CDialog::SetHelpID(unsigned int)\n7976 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n7977 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n7978 void CComboBox::SetHorizontalExtent(unsigned int)\n7979 void CListBox::SetHorizontalExtent(int)\n7980 void CDHtmlDialog::SetHostFlags(unsigned long)\n7981 void COleClientItem::SetHostNames(char const *,char const *)\n7982 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7983 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7984 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7985 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7986 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7987 int CHeaderCtrl::SetHotDivider(int)\n7988 int CHeaderCtrl::SetHotDivider(CPoint)\n7989 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7990 int CListCtrl::SetHotItem(int)\n7991 int CToolBarCtrl::SetHotItem(int)\n7992 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7993 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7994 HICON__ * CButton::SetIcon(HICON__ *)\n7995 HICON__ * CStatic::SetIcon(HICON__ *)\n7996 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7997 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7998 int COleClientItem::SetIconicMetafile(void *)\n7999 CSize CListCtrl::SetIconSpacing(int,int)\n8000 CSize CListCtrl::SetIconSpacing(CSize)\n8001 void CProperty::SetID(unsigned long)\n8002 int CImageList::SetImageCount(unsigned int)\n8003 CImageList * CComboBoxEx::SetImageList(CImageList *)\n8004 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n8005 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8006 int CReBarCtrl::SetImageList(CImageList *)\n8007 CImageList * CTabCtrl::SetImageList(CImageList *)\n8008 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8009 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8010 int CToolBarCtrl::SetIndent(int)\n8011 void CTreeCtrl::SetIndent(unsigned int)\n8012 int CStatusBar::SetIndicators(unsigned int const *,int)\n8013 void COleControl::SetInitialDataFormats()\n8014 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8015 void COleControl::SetInitialSize(int,int)\n8016 void CControlBar::SetInPlaceOwner(CWnd *)\n8017 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8018 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8019 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8020 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8021 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8022 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n8023 int CHeaderCtrl::SetItem(int,_HD_ITEMA *)\n8024 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n8025 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n8026 int CListCtrl::SetItem(tagLVITEMA const *)\n8027 int CTabCtrl::SetItem(int,tagTCITEMA *)\n8028 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n8029 int CTreeCtrl::SetItem(tagTVITEMA *)\n8030 void CListCtrl::SetItemCount(int)\n8031 int CListCtrl::SetItemCountEx(int,unsigned long)\n8032 int CComboBox::SetItemData(int,unsigned long)\n8033 int CListBox::SetItemData(int,unsigned long)\n8034 int CListCtrl::SetItemData(int,unsigned long)\n8035 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8036 int CComboBox::SetItemDataPtr(int,void *)\n8037 int CListBox::SetItemDataPtr(int,void *)\n8038 int CTabCtrl::SetItemExtra(int)\n8039 int CComboBox::SetItemHeight(int,unsigned int)\n8040 int CListBox::SetItemHeight(int,unsigned int)\n8041 short CTreeCtrl::SetItemHeight(short)\n8042 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8043 void COleServerItem::SetItemName(char const *)\n8044 int CListCtrl::SetItemPosition(int,tagPOINT)\n8045 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8046 CSize CTabCtrl::SetItemSize(CSize)\n8047 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8048 int CListCtrl::SetItemState(int,tagLVITEMA *)\n8049 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8050 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8051 int CListCtrl::SetItemText(int,int,char const *)\n8052 int CTreeCtrl::SetItemText(_TREEITEM *,char const *)\n8053 unsigned long CDC::SetLayout(unsigned long)\n8054 void CHtmlView::SetLeft(long)\n8055 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8056 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8057 void CFile::SetLength(unsigned __int64)\n8058 void CInternetFile::SetLength(unsigned __int64)\n8059 void CMemFile::SetLength(unsigned __int64)\n8060 void COleStreamFile::SetLength(unsigned __int64)\n8061 void CSocketFile::SetLength(unsigned __int64)\n8062 void CEdit::SetLimitText(unsigned int)\n8063 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8064 int CSliderCtrl::SetLineSize(int)\n8065 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n8066 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8067 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8068 void CArchive::SetLoadParams(unsigned int)\n8069 unsigned long CComboBox::SetLocale(unsigned long)\n8070 unsigned long CListBox::SetLocale(unsigned long)\n8071 void CRecordset::SetLockingMode(unsigned int)\n8072 void CDatabase::SetLoginTimeout(unsigned long)\n8073 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8074 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8075 int CDC::SetMapMode(int)\n8076 int CPreviewDC::SetMapMode(int)\n8077 unsigned long CDC::SetMapperFlags(unsigned long)\n8078 void CToolTipCtrl::SetMargin(tagRECT *)\n8079 void CEdit::SetMargins(unsigned int,unsigned int)\n8080 void CRichEditView::SetMargins(CRect const &)\n8081 void CPrintInfo::SetMaxPage(unsigned int)\n8082 int CMonthCalCtrl::SetMaxSelCount(int)\n8083 int CToolBarCtrl::SetMaxTextRows(int)\n8084 int CToolTipCtrl::SetMaxTipWidth(int)\n8085 int CWnd::SetMenu(CMenu *)\n8086 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8087 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8088 void CHtmlView::SetMenuBar(int)\n8089 int CMenu::SetMenuContextHelpId(unsigned long)\n8090 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8091 int CMenu::SetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n8092 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8093 void CFrameWnd::SetMessageText(unsigned int)\n8094 void CFrameWnd::SetMessageText(char const *)\n8095 void CStatusBarCtrl::SetMinHeight(int)\n8096 void CPrintInfo::SetMinPage(unsigned int)\n8097 int CTabCtrl::SetMinTabWidth(int)\n8098 int CDC::SetMiterLimit(float)\n8099 void CPropertyPage::SetModified(int)\n8100 void CDocument::SetModifiedFlag(int)\n8101 void COleControl::SetModifiedFlag(int)\n8102 void COlePropertyPage::SetModifiedFlag(int)\n8103 void CRichEditDoc::SetModifiedFlag(int)\n8104 void CEdit::SetModify(int)\n8105 void CRichEditCtrl::SetModify(int)\n8106 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8107 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8108 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8109 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8110 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8111 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8112 int CMonthCalCtrl::SetMonthDelta(int)\n8113 int CPropertySection::SetName(unsigned long,char const *)\n8114 void COleControl::SetNotPermitted()\n8115 void CCmdTarget::SetNotSupported()\n8116 void COleControl::SetNotSupported()\n8117 void CRecordset::SetNullFieldStatus(unsigned long)\n8118 void CRecordset::SetNullParamStatus(unsigned long)\n8119 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8120 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8121 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8122 void CArchive::SetObjectSchema(unsigned int)\n8123 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8124 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8125 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8126 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8127 void CHtmlView::SetOffline(int)\n8128 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8129 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8130 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8131 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8132 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8133 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8134 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8135 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8136 int CHeaderCtrl::SetOrderArray(int,int *)\n8137 void CPropertySet::SetOSVersion(unsigned long)\n8138 void CDC::SetOutputDC(HDC__ *)\n8139 void CMetaFileDC::SetOutputDC(HDC__ *)\n8140 void CPreviewDC::SetOutputDC(HDC__ *)\n8141 int CImageList::SetOverlayImage(int,int)\n8142 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8143 void CToolBar::SetOwner(CWnd *)\n8144 void CToolBarCtrl::SetOwner(CWnd *)\n8145 void CWnd::SetOwner(CWnd *)\n8146 void CTabCtrl::SetPadding(CSize)\n8147 void COlePropertyPage::SetPageName(char const *)\n8148 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8149 int CSliderCtrl::SetPageSize(int)\n8150 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8151 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8152 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8153 void CStatusBar::SetPaneStyle(int,unsigned int)\n8154 int CStatusBar::SetPaneText(int,char const *,int)\n8155 void CRichEditView::SetPaperSize(CSize)\n8156 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8157 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8158 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8159 void CRecordset::SetParamNull(int,int)\n8160 CWnd * CWnd::SetParent(CWnd *)\n8161 int CStatusBarCtrl::SetParts(int,int *)\n8162 void CEdit::SetPasswordChar(char)\n8163 void CDataPathProperty::SetPath(char const *)\n8164 void CDocument::SetPathName(char const *,int)\n8165 void COleDocument::SetPathName(char const *,int)\n8166 void CRichEditDoc::SetPathName(char const *,int)\n8167 void CHandleMap::SetPermanent(void *,CObject *)\n8168 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8169 unsigned long CDC::SetPixel(int,int,unsigned long)\n8170 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8171 int CDC::SetPixelV(int,int,unsigned long)\n8172 int CDC::SetPixelV(tagPOINT,unsigned long)\n8173 int CDC::SetPolyFillMode(int)\n8174 int CProgressCtrl::SetPos(int)\n8175 void CSliderCtrl::SetPos(int)\n8176 int CSpinButtonCtrl::SetPos(int)\n8177 int CSpinButtonCtrl::SetPos32(int)\n8178 void COleIPFrameWnd::SetPreviewMode(int)\n8179 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8180 int COleClientItem::SetPrintDevice(tagPDA const *)\n8181 void CEditView::SetPrinterFont(CFont *)\n8182 int CPreviewView::SetPrintView(CView *)\n8183 int COlePropertyPage::SetPropCheck(char const *,int)\n8184 void COleControlSite::SetProperty(long,unsigned short,...)\n8185 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8186 void CWnd::SetProperty(long,unsigned short,...)\n8187 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8188 int COlePropertyPage::SetPropIndex(char const *,int)\n8189 int COlePropertyPage::SetPropRadio(char const *,int)\n8190 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8191 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n8192 int COlePropertyPage::SetPropText(char const *,short &)\n8193 int COlePropertyPage::SetPropText(char const *,int &)\n8194 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n8195 int COlePropertyPage::SetPropText(char const *,long &)\n8196 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n8197 int COlePropertyPage::SetPropText(char const *,float &)\n8198 int COlePropertyPage::SetPropText(char const *,double &)\n8199 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8200 long CWnd::SetProxy(IAccessibleProxy *)\n8201 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8202 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8203 void CDatabase::SetQueryTimeout(unsigned long)\n8204 void CCmdUI::SetRadio(int)\n8205 void CTestCmdUI::SetRadio(int)\n8206 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8207 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8208 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8209 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8210 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8211 void CProgressCtrl::SetRange(short,short)\n8212 void CSliderCtrl::SetRange(int,int,int)\n8213 void CSpinButtonCtrl::SetRange(short,short)\n8214 void CProgressCtrl::SetRange32(int,int)\n8215 void CSpinButtonCtrl::SetRange32(int,int)\n8216 void CSliderCtrl::SetRangeMax(int,int)\n8217 void CSliderCtrl::SetRangeMin(int,int)\n8218 int CInternetFile::SetReadBufferSize(unsigned int)\n8219 int CEdit::SetReadOnly(int)\n8220 int CRichEditCtrl::SetReadOnly(int)\n8221 void CEdit::SetRect(tagRECT const *)\n8222 void CRichEditCtrl::SetRect(tagRECT const *)\n8223 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8224 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8225 int COleControl::SetRectInContainer(tagRECT const *)\n8226 void CEdit::SetRectNP(tagRECT const *)\n8227 void CRgn::SetRectRgn(int,int,int,int)\n8228 void CRgn::SetRectRgn(tagRECT const *)\n8229 void CWnd::SetRedraw(int)\n8230 void CHtmlView::SetRegisterAsBrowser(int)\n8231 void CHtmlView::SetRegisterAsDropTarget(int)\n8232 void CWinApp::SetRegistryKey(unsigned int)\n8233 void CWinApp::SetRegistryKey(char const *)\n8234 void COleMessageFilter::SetRetryReply(unsigned long)\n8235 int CDC::SetROP2(int)\n8236 void CSplitterWnd::SetRowInfo(int,int,int)\n8237 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8238 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8239 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8240 void CRecordset::SetRowsetSize(unsigned long)\n8241 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8242 void CPreviewView::SetScaledSize(unsigned int)\n8243 void CPreviewDC::SetScaleRatio(int,int)\n8244 void CScrollView::SetScaleToFitSize(tagSIZE)\n8245 void CDockState::SetScreenSize(CSize &)\n8246 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8247 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8248 int CScrollBar::SetScrollPos(int,int)\n8249 int CWnd::SetScrollPos(int,int,int)\n8250 void CScrollBar::SetScrollRange(int,int,int)\n8251 void CWnd::SetScrollRange(int,int,int,int)\n8252 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8253 void CSplitterWnd::SetScrollStyle(unsigned long)\n8254 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8255 int CPropertySection::SetSectionName(char const *)\n8256 void CEdit::SetSel(int,int,int)\n8257 void CEdit::SetSel(unsigned long,int)\n8258 int CListBox::SetSel(int,int)\n8259 void CRichEditCtrl::SetSel(_charrange &)\n8260 void CRichEditCtrl::SetSel(long,long)\n8261 void CSliderCtrl::SetSelection(int,int)\n8262 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n8263 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n8264 void CCheckListBox::SetSelectionCheck(int)\n8265 int CListCtrl::SetSelectionMark(int)\n8266 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8267 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8268 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8269 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8270 void CHtmlView::SetSilent(int)\n8271 int CStatusBarCtrl::SetSimple(int)\n8272 long CPrintDialogEx::SetSite(IUnknown *)\n8273 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8274 void CByteArray::SetSize(int,int)\n8275 void CDWordArray::SetSize(int,int)\n8276 void CObArray::SetSize(int,int)\n8277 void CPtrArray::SetSize(int,int)\n8278 void CStringArray::SetSize(int,int)\n8279 void CUIntArray::SetSize(int,int)\n8280 void CWordArray::SetSize(int,int)\n8281 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8282 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8283 void CSplitterWnd::SetSplitCursor(int)\n8284 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8285 void CButton::SetState(int)\n8286 void CRecordset::SetState(int,char const *,unsigned long)\n8287 int CToolBarCtrl::SetState(int,unsigned int)\n8288 void CFile::SetStatus(char const *,CFileStatus const &)\n8289 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8290 void CHtmlView::SetStatusBar(int)\n8291 int CControlBar::SetStatusText(int)\n8292 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8293 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8294 int CProgressCtrl::SetStep(int)\n8295 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8296 int CDC::SetStretchBltMode(int)\n8297 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8298 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8299 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8300 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8301 void COleVariant::SetString(char const *,unsigned short)\n8302 void CToolBarCtrl::SetStyle(unsigned long)\n8303 void CDatabase::SetSynchronousMode(int)\n8304 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8305 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8306 int CDialogTemplate::SetSystemFont(unsigned short)\n8307 int CEdit::SetTabStops(int const &)\n8308 int CEdit::SetTabStops(int,int *)\n8309 void CEdit::SetTabStops()\n8310 void CEditView::SetTabStops(int)\n8311 int CListBox::SetTabStops(int const &)\n8312 int CListBox::SetTabStops(int,int *)\n8313 void CListBox::SetTabStops()\n8314 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8315 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8316 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8317 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8318 void CFileDialog::SetTemplate(char const *,char const *)\n8319 void CCmdUI::SetText(char const *)\n8320 void COleCmdUI::SetText(char const *)\n8321 void COleControl::SetText(char const *)\n8322 int CStatusBarCtrl::SetText(char const *,int,int)\n8323 void CStatusCmdUI::SetText(char const *)\n8324 void CTestCmdUI::SetText(char const *)\n8325 void CToolCmdUI::SetText(char const *)\n8326 unsigned int CDC::SetTextAlign(unsigned int)\n8327 int CListCtrl::SetTextBkColor(unsigned long)\n8328 int CDC::SetTextCharacterExtra(int)\n8329 unsigned long CDC::SetTextColor(unsigned long)\n8330 int CListCtrl::SetTextColor(unsigned long)\n8331 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8332 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8333 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8334 int CDC::SetTextJustification(int,int)\n8335 int CRichEditCtrl::SetTextMode(unsigned int)\n8336 void CHtmlView::SetTheaterMode(int)\n8337 int CWinThread::SetThreadPriority(int)\n8338 int CSliderCtrl::SetTic(int)\n8339 void CSliderCtrl::SetTicFreq(int)\n8340 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8341 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8342 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8343 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8344 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8345 int CSliderCtrl::SetTipSide(int)\n8346 void CStatusBarCtrl::SetTipText(int,char const *)\n8347 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8348 void CDocument::SetTitle(char const *)\n8349 void CFrameWnd::SetTitle(char const *)\n8350 void CPropertySheet::SetTitle(char const *,unsigned int)\n8351 void CRichEditDoc::SetTitle(char const *)\n8352 int CToolTipCtrl::SetTitle(unsigned int,char const *)\n8353 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8354 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8355 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8356 void CHtmlView::SetToolBar(int)\n8357 void CToolTipCtrl::SetToolInfo(tagTOOLINFOA *)\n8358 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8359 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8360 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8361 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8362 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8363 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8364 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8365 void CHtmlView::SetTop(long)\n8366 int CComboBox::SetTopIndex(int)\n8367 int CListBox::SetTopIndex(int)\n8368 void CPreviewDC::SetTopLeftOffset(CSize)\n8369 void CProperty::SetType(unsigned long)\n8370 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8371 void CRecordset::SetUpdateMethod()\n8372 void CThreadSlotData::SetValue(int,void *)\n8373 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8374 CSize CDC::SetViewportExt(tagSIZE)\n8375 CSize CDC::SetViewportExt(int,int)\n8376 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8377 CSize CMetaFileDC::SetViewportExt(int,int)\n8378 CSize CPreviewDC::SetViewportExt(int,int)\n8379 CPoint CDC::SetViewportOrg(tagPOINT)\n8380 CPoint CDC::SetViewportOrg(int,int)\n8381 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8382 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8383 CPoint CPreviewDC::SetViewportOrg(int,int)\n8384 void CHtmlView::SetVisible(int)\n8385 void CHtmlView::SetWidth(long)\n8386 int CWnd::SetWindowContextHelpId(unsigned long)\n8387 CSize CDC::SetWindowExt(tagSIZE)\n8388 CSize CDC::SetWindowExt(int,int)\n8389 CSize CPreviewDC::SetWindowExt(int,int)\n8390 CPoint CDC::SetWindowOrg(int,int)\n8391 CPoint CDC::SetWindowOrg(tagPOINT)\n8392 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8393 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8394 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8395 int CWnd::SetWindowRgn(HRGN__ *,int)\n8396 void COleControlSite::SetWindowTextA(char const *)\n8397 void CWnd::SetWindowTextA(char const *)\n8398 void CPropertySheet::SetWizardButtons(unsigned long)\n8399 void CPropertySheet::SetWizardMode()\n8400 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n8401 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n8402 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8403 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8404 int CInternetFile::SetWriteBufferSize(unsigned int)\n8405 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8406 long CDocObjectServer::XOleDocumentView::Show(int)\n8407 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8408 void CDockBar::ShowAll(int)\n8409 int CReBarCtrl::ShowBand(unsigned int,int)\n8410 void CWnd::ShowCaret()\n8411 long CRichEditCntrItem::ShowContainerUI(int)\n8412 long CRichEditView::ShowContainerUI(int)\n8413 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8414 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8415 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8416 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8417 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8418 void CComboBox::ShowDropDown(int)\n8419 long COleClientItem::XOleClientSite::ShowObject()\n8420 long COleControlSite::XOleClientSite::ShowObject()\n8421 void CWnd::ShowOwnedPopups(int)\n8422 void CFrameWnd::ShowOwnedWindows(int)\n8423 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8424 void CScrollBar::ShowScrollBar(int)\n8425 void CWnd::ShowScrollBar(unsigned int,int)\n8426 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8427 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8428 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8429 int COleControlSite::ShowWindow(int)\n8430 int CWnd::ShowWindow(int)\n8431 int CAsyncSocket::ShutDown(int)\n8432 tagSIZE const CScrollView::sizeDefault\n8433 int CMonthCalCtrl::SizeMinReq(int)\n8434 void CBitmapButton::SizeToContent()\n8435 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8436 int CReBarCtrl::SizeToRect(CRect &)\n8437 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8438 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8439 int CAsyncSocket::Socket(int,long,int,int)\n8440 int CTreeCtrl::SortChildren(_TREEITEM *)\n8441 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8442 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8443 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n8444 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n8445 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n8446 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n8447 int CSplitterWnd::SplitColumn(int)\n8448 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8449 int CSplitterWnd::SplitRow(int)\n8450 int CDC::StartDocA(_DOCINFOA *)\n8451 int CDC::StartDocA(char const *)\n8452 void CDockContext::StartDrag(CPoint)\n8453 int CDC::StartPage()\n8454 void CDockContext::StartResize(int,CPoint)\n8455 void CSplitterWnd::StartTracking(int)\n8456 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8457 int CProgressCtrl::StepIt()\n8458 int CAnimateCtrl::Stop()\n8459 void CHtmlView::Stop()\n8460 void CRichEditCtrl::StopGroupTyping()\n8461 void CSplitterWnd::StopTracking(int)\n8462 void CRuntimeClass::Store(CArchive &)const \n8463 void CRecordset::StoreFields()\n8464 void CRichEditView::Stream(CArchive &,int)\n8465 long CRichEditCtrl::StreamIn(int,_editstream &)\n8466 long CRichEditCtrl::StreamOut(int,_editstream &)\n8467 void CDockContext::Stretch(CPoint)\n8468 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8469 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n8470 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n8471 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n8472 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n8473 int CDC::StrokeAndFillPath()\n8474 int CDC::StrokePath()\n8475 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8476 int CWnd::SubclassWindow(HWND__ *)\n8477 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8478 int COleDocObjectItem::SupportsIPrint()\n8479 unsigned long CWinThread::SuspendThread()\n8480 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8481 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8482 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8483 CSize CDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8484 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8485 CSize CMetaFileDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n8486 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8487 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n8488 void CRichEditView::TextNotFound(char const *)\n8489 int CDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8490 int CDC::TextOutA(int,int,char const *,int)\n8491 int CMetaFileDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8492 int CMetaFileDC::TextOutA(int,int,char const *,int)\n8493 int CPreviewDC::TextOutA(int,int,char const *,int)\n8494 void CDatabase::ThrowDBException(short)\n8495 void CRecordset::ThrowDBException(short,void *)\n8496 void CFileException::ThrowErrno(int,char const *)\n8497 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8498 void COleControl::ThrowError(long,char const *,unsigned int)\n8499 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n8500 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n8501 void CFileException::ThrowOsError(long,char const *)\n8502 void CDockContext::ToggleDocking()\n8503 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n8504 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n8505 COleVariant CDataSourceControl::ToVariant(int)\n8506 ATL::CTraceCategory traceAppMsg\n8507 ATL::CTraceCategory traceCmdRouting\n8508 ATL::CTraceCategory traceDatabase\n8509 ATL::CTraceCategory traceDumpContext\n8510 void CDBException::TraceErrorMessage(char const *)const \n8511 ATL::CTraceCategory traceGdi\n8512 ATL::CTraceCategory traceHtml\n8513 ATL::CTraceCategory traceInternet\n8514 ATL::CTraceCategory traceKernel\n8515 ATL::CTraceCategory traceMemory\n8516 ATL::CTraceCategory traceMultiApp\n8517 ATL::CTraceCategory traceOle\n8518 ATL::CTraceCategory traceSocket\n8519 ATL::CTraceCategory traceUser\n8520 ATL::CTraceCategory traceWinMsg\n8521 int CDockContext::Track()\n8522 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8523 void CSplitterWnd::TrackColumnSize(int,int)\n8524 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8525 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8526 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8527 void CSplitterWnd::TrackRowSize(int,int)\n8528 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8529 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8530 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8531 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8532 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8533 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n8534 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n8535 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8536 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n8537 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8538 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n8539 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n8540 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8541 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8542 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8543 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8544 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8545 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n8546 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n8547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n8548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n8549 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n8550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n8551 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n8552 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n8553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n8554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n8555 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n8556 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n8557 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n8558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n8559 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n8560 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n8561 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n8562 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n8563 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n8564 void ATL::CSimpleStringT<char,1>::Truncate(int)\n8565 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8566 void COccManager::UIActivateControl(CWnd *)\n8567 long COleControl::XOleInPlaceObject::UIDeactivate()\n8568 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8569 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8570 void COleSafeArray::UnaccessData()\n8571 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8572 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8573 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8574 long COleControl::XOleObject::Unadvise(unsigned long)\n8575 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8576 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8577 void CRecordset::UnbindFieldsForUpdate()\n8578 long COleControl::XOleCache::Uncache(unsigned long)\n8579 int CEdit::Undo()\n8580 int CRichEditCtrl::Undo()\n8581 long COleControl::XViewObject::Unfreeze(unsigned long)\n8582 int CCriticalSection::Unlock()\n8583 int CEvent::Unlock()\n8584 int CMultiLock::Unlock(long,long *)\n8585 int CMultiLock::Unlock()\n8586 int CMutex::Unlock()\n8587 void COleSafeArray::Unlock()\n8588 int CSemaphore::Unlock(long,long *)\n8589 int CSemaphore::Unlock()\n8590 int CSingleLock::Unlock(long,long *)\n8591 int CSingleLock::Unlock()\n8592 void CTypeLibCache::Unlock()\n8593 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n8594 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n8595 void CEditView::UnlockBuffer()const \n8596 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8597 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8598 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8599 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8600 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8601 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8602 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8603 void CWnd::UnlockWindowUpdate()\n8604 int CGdiObject::UnrealizeObject()\n8605 int COleObjectFactory::Unregister()\n8606 int COleTemplateServer::Unregister()\n8607 int CWinApp::Unregister()\n8608 int COleObjectFactory::UnregisterAll()\n8609 void CDocManager::UnregisterShellFileTypes()\n8610 void CWinApp::UnregisterShellFileTypes()\n8611 HWND__ * CWnd::UnsubclassWindow()\n8612 int CListCtrl::Update(int)\n8613 int CRecordset::Update()\n8614 void CToolTipCtrl::Update()\n8615 long CDocObjectServer::XOleObject::Update()\n8616 long COleControl::XOleObject::Update()\n8617 long COleServerDoc::XOleObject::Update()\n8618 long COleServerItem::XOleObject::Update()\n8619 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8620 void CStatusBar::UpdateAllPanes(int,int)\n8621 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8622 void CScrollView::UpdateBars()\n8623 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8624 void CDC::UpdateColors()\n8625 long CDataSourceControl::UpdateControls()\n8626 long CDataSourceControl::UpdateCursor()\n8627 void CMemoryState::UpdateData()\n8628 int CWnd::UpdateData(int)\n8629 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8630 void CDocument::UpdateFrameCounts()\n8631 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n8632 int CRecordset::UpdateInsertDelete()\n8633 void COleClientItem::UpdateItemType()\n8634 int COleClientItem::UpdateLink()\n8635 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8636 void CRecentFileList::UpdateMenu(CCmdUI *)\n8637 void COleDocument::UpdateModifiedFlag()\n8638 void CRichEditDoc::UpdateModifiedFlag()\n8639 void CRichEditDoc::UpdateObjectCache()\n8640 void CWinApp::UpdatePrinterSelection(int)\n8641 int COleObjectFactory::UpdateRegistry(int)\n8642 void COleObjectFactory::UpdateRegistry(char const *)\n8643 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n8644 int COleObjectFactory::UpdateRegistryAll(int)\n8645 void CDockContext::UpdateState(int *,int)\n8646 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8647 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n8648 long CBrowserControlSite::UpdateUI()\n8649 long CDHtmlDialog::UpdateUI()\n8650 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8651 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8652 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8653 void CWnd::UpdateWindow()\n8654 void CWnd::ValidateRect(tagRECT const *)\n8655 void CWnd::ValidateRgn(CRgn *)\n8656 void CDatabase::VerifyConnect()\n8657 unsigned long CRecordset::VerifyCursorSupport()\n8658 void CRecordset::VerifyDriverBehavior()\n8659 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8660 int COleObjectFactory::VerifyUserLicense()\n8661 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8662 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8663 int CDC::WidenPath()\n8664 int COleControl::WillAmbientsBeValidDuringLoad()\n8665 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8666 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8667 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8668 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8669 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8670 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8671 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8672 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8673 void CWinApp::WinHelpA(unsigned long,unsigned int)\n8674 void CWnd::WinHelpA(unsigned long,unsigned int)\n8675 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8676 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8677 CWnd const CWnd::wndBottom\n8678 CWnd const CWnd::wndNoTopMost\n8679 CWnd const CWnd::wndTop\n8680 CWnd const CWnd::wndTopMost\n8681 void CRichEditView::WrapChanged()\n8682 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8683 void CArchive::Write(void const *,unsigned int)\n8684 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8685 void CFile::Write(void const *,unsigned int)\n8686 void CGopherFile::Write(void const *,unsigned int)\n8687 int CImageList::Write(CArchive *)\n8688 void CInternetFile::Write(void const *,unsigned int)\n8689 void CMemFile::Write(void const *,unsigned int)\n8690 void COleStreamFile::Write(void const *,unsigned int)\n8691 void CSocketFile::Write(void const *,unsigned int)\n8692 void CStdioFile::Write(void const *,unsigned int)\n8693 void CArchive::WriteClass(CRuntimeconst *)\n8694 void CArchive::WriteCount(unsigned long)\n8695 void COleClientItem::WriteItem(CArchive &)\n8696 void COleClientItem::WriteItemCompound(CArchive &)\n8697 void COleClientItem::WriteItemFlat(CArchive &)\n8698 void CRecentFileList::WriteList()\n8699 int CPropertySection::WriteNameDictToStream(IStream *)\n8700 void CArchive::WriteObject(CObject const *)\n8701 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n8702 int CWinApp::WriteProfileInt(char const *,char const *,int)\n8703 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n8704 void CArchive::WriteString(char const *)\n8705 void CGopherFile::WriteString(char const *)\n8706 void CInternetFile::WriteString(char const *)\n8707 void CStdioFile::WriteString(char const *)\n8708 void CEditView::WriteToArchive(CArchive &)\n8709 int CProperty::WriteToStream(IStream *)\n8710 int CPropertySection::WriteToStream(IStream *)\n8711 int CPropertySet::WriteToStream(IStream *)\n8712 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8713 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8714 CDaoException::CDaoException()\n8715 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8716 CDaoIndexInfo::CDaoIndexInfo()\n8717 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8718 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8719 CDaoRecordView::CDaoRecordView(unsigned int)\n8720 CDaoRecordView::CDaoRecordView(char const *)\n8721 CDaoRelationInfo::CDaoRelationInfo()\n8722 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8723 CDaoWorkspace::CDaoWorkspace()\n8724 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8725 CDaoDatabase::~CDaoDatabase()\n8726 CDaoException::~CDaoException()\n8727 CDaoIndexInfo::~CDaoIndexInfo()\n8728 CDaoQueryDef::~CDaoQueryDef()\n8729 CDaoRecordset::~CDaoRecordset()\n8730 CDaoRecordView::~CDaoRecordView()\n8731 CDaoRelationInfo::~CDaoRelationInfo()\n8732 CDaoTableDef::~CDaoTableDef()\n8733 CDaoWorkspace::~CDaoWorkspace()\n8734 void CDaoRecordset::AddNew()\n8735 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8736 _DAODBEngine * AfxDaoGetEngine()\n8737 void AfxDaoInit()\n8738 void AfxDaoTerm()\n8739 void AfxDaoTrace(long,char const *,char const *,int)\n8740 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8741 _AFX_DAO_STATE * AfxGetDaoState()\n8742 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8743 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8744 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8745 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8746 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8747 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8748 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8749 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8750 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8751 void AfxThrowDaoException(int,long)\n8752 void CDaoRecordset::AllocCache()\n8753 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8754 void CDaoRecordset::AllocDatabase()\n8755 void AllocLongBinary(CLongBinary &,unsigned long)\n8756 void CDaoQueryDef::Append()\n8757 void CDaoTableDef::Append()\n8758 void CDaoWorkspace::Append()\n8759 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n8760 void CDaoDatabase::AssertValid()const \n8761 void CDaoQueryDef::AssertValid()const \n8762 void CDaoRecordset::AssertValid()const \n8763 void CDaoRecordView::AssertValid()const \n8764 void CDaoTableDef::AssertValid()const \n8765 void CDaoWorkspace::AssertValid()const \n8766 void CDaoWorkspace::BeginTrans()\n8767 void CDaoRecordset::BindFields()\n8768 void CDaoRecordset::BindParameters()\n8769 void CDaoRecordset::BuildParameterList()\n8770 void CDaoRecordset::BuildSelectList()\n8771 void CDaoRecordset::BuildSQL()\n8772 int CDaoRecordset::CanAppend()const \n8773 int CDaoRecordset::CanBookmark()\n8774 void CDaoRecordset::CancelUpdate()\n8775 int CDaoRecordset::CanRestart()\n8776 int CDaoRecordset::CanScroll()const \n8777 int CDaoDatabase::CanTransact()\n8778 int CDaoRecordset::CanTransact()\n8779 int CDaoDatabase::CanUpdate()\n8780 int CDaoQueryDef::CanUpdate()\n8781 int CDaoRecordset::CanUpdate()const \n8782 int CDaoTableDef::CanUpdate()\n8783 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8784 void CDaoRecordset::ClearFieldStatusFlags()\n8785 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8786 void CDaoDatabase::Close()\n8787 void CDaoQueryDef::Close()\n8788 void CDaoRecordset::Close()\n8789 void CDaoTableDef::Close()\n8790 void CDaoWorkspace::Close()\n8791 void CDaoWorkspace::CommitTrans()\n8792 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n8793 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n8794 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8795 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8796 void CDaoDatabase::Create(char const *,char const *,int)\n8797 void CDaoQueryDef::Create(char const *,char const *)\n8798 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n8799 void CDaoWorkspace::Create(char const *,char const *,char const *)\n8800 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8801 void CDaoTableDef::CreateField(char const *,short,long,long)\n8802 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8803 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8804 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n8805 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8806 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8807 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8808 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8809 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8810 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8811 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8812 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8813 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8814 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8815 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8816 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8817 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8818 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8819 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8820 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8821 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8822 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n8823 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8824 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8825 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n8826 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n8827 void CDaoRecordset::Delete()\n8828 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8829 void CDaoTableDef::DeleteField(int)\n8830 void CDaoTableDef::DeleteField(char const *)\n8831 void CDaoTableDef::DeleteIndex(int)\n8832 void CDaoTableDef::DeleteIndex(char const *)\n8833 void CDaoDatabase::DeleteQueryDef(char const *)\n8834 void CDaoDatabase::DeleteRelation(char const *)\n8835 void CDaoDatabase::DeleteTableDef(char const *)\n8836 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n8837 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n8838 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n8839 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n8840 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n8841 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n8842 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n8843 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n8844 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n8845 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n8846 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n8847 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8848 void CDaoDatabase::Dump(CDumpContext &)const \n8849 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8850 void CDaoErrorInfo::Dump(CDumpContext &)const \n8851 void CDaoFieldInfo::Dump(CDumpContext &)const \n8852 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8853 void CDaoIndexInfo::Dump(CDumpContext &)const \n8854 void CDaoParameterInfo::Dump(CDumpContext &)const \n8855 void CDaoQueryDef::Dump(CDumpContext &)const \n8856 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8857 void CDaoRecordset::Dump(CDumpContext &)const \n8858 void CDaoRecordView::Dump(CDumpContext &)const \n8859 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8860 void CDaoRelationInfo::Dump(CDumpContext &)const \n8861 void CDaoTableDef::Dump(CDumpContext &)const \n8862 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8863 void CDaoWorkspace::Dump(CDumpContext &)const \n8864 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8865 void CDaoRecordset::Edit()\n8866 void CDaoDatabase::Execute(char const *,int)\n8867 void CDaoQueryDef::Execute(int)\n8868 void CDaoRecordset::FillCache(long *,COleVariant *)\n8869 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8870 void CDaoException::FillErrorInfo()\n8871 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8872 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8873 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8874 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8875 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8876 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8877 int CDaoRecordset::Find(long,char const *)\n8878 int CDaoRecordset::FindFirst(char const *)\n8879 int CDaoRecordset::FindLast(char const *)\n8880 int CDaoRecordset::FindNext(char const *)\n8881 int CDaoRecordset::FindPrev(char const *)\n8882 void CDaoRecordset::Fixup()\n8883 void CDaoRecordset::FreeCache()\n8884 long CDaoRecordset::GetAbsolutePosition()\n8885 long CDaoTableDef::GetAttributes()\n8886 COleVariant CDaoRecordset::GetBookmark()\n8887 long CDaoRecordset::GetCacheSize()\n8888 COleVariant CDaoRecordset::GetCacheStart()\n8889 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8890 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect()\n8891 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect()\n8892 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect()\n8893 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex()\n8894 void CDaoRecordset::GetDataAndFixupNulls()\n8895 short CDaoWorkspace::GetDatabaseCount()\n8896 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8897 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n8898 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8899 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8900 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8901 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8902 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8903 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName()\n8905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL()\n8906 short CDaoRecordset::GetEditMode()\n8907 short CDaoException::GetErrorCount()\n8908 void CDaoException::GetErrorInfo(int)\n8909 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n8910 short CDaoQueryDef::GetFieldCount()\n8911 short CDaoRecordset::GetFieldCount()\n8912 short CDaoTableDef::GetFieldCount()\n8913 int CDaoRecordset::GetFieldIndex(void *)\n8914 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8915 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8916 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8917 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8918 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8919 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n8920 unsigned long CDaoRecordset::GetFieldLength(int)\n8921 COleVariant CDaoRecordset::GetFieldValue(int)\n8922 COleVariant CDaoRecordset::GetFieldValue(char const *)\n8923 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8924 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n8925 short CDaoRecordset::GetIndexCount()\n8926 short CDaoTableDef::GetIndexCount()\n8927 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8928 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8929 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8930 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n8931 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath()\n8932 int CDaoWorkspace::GetIsolateODBCTrans()\n8933 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8934 int CDaoRecordset::GetLockingMode()\n8935 short CDaoWorkspace::GetLoginTimeout()\n8936 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8937 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName()\n8938 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName()\n8939 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName()\n8940 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName()\n8941 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName()\n8942 short CDaoQueryDef::GetODBCTimeout()\n8943 short CDaoQueryDef::GetParameterCount()\n8944 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8945 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n8946 COleVariant CDaoQueryDef::GetParamValue(int)\n8947 COleVariant CDaoQueryDef::GetParamValue(char const *)\n8948 COleVariant CDaoRecordset::GetParamValue(int)\n8949 COleVariant CDaoRecordset::GetParamValue(char const *)\n8950 float CDaoRecordset::GetPercentPosition()\n8951 short CDaoDatabase::GetQueryDefCount()\n8952 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8953 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n8954 short CDaoDatabase::GetQueryTimeout()\n8955 long CDaoRecordset::GetRecordCount()\n8956 long CDaoTableDef::GetRecordCount()\n8957 long CDaoDatabase::GetRecordsAffected()\n8958 long CDaoQueryDef::GetRecordsAffected()\n8959 short CDaoDatabase::GetRelationCount()\n8960 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8961 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n8962 int CDaoQueryDef::GetReturnsRecords()\n8963 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8964 CRuntime* CDaoException::GetRuntimeClass()const \n8965 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8966 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8967 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8968 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8969 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8970 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName()\n8971 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL()\n8972 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL()const \n8973 short CDaoDatabase::GetTableDefCount()\n8974 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8975 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n8976 CRuntime* CDaoDatabase::GetThisClass()\n8977 CRuntime* CDaoException::GetThisClass()\n8978 CRuntime* CDaoQueryDef::GetThisClass()\n8979 CRuntime* CDaoRecordset::GetThisClass()\n8980 CRuntime* CDaoRecordView::GetThisClass()\n8981 CRuntime* CDaoTableDef::GetThisClass()\n8982 CRuntime* CDaoWorkspace::GetThisClass()\n8983 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8984 short CDaoQueryDef::GetType()\n8985 short CDaoRecordset::GetType()\n8986 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA()\n8987 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule()\n8988 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule()\n8989 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText()\n8990 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText()\n8991 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion()\n8992 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion()\n8993 short CDaoWorkspace::GetWorkspaceCount()\n8994 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8995 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n8996 void CDaoWorkspace::Idle(int)\n8997 void CDaoWorkspace::InitDatabasesCollection()\n8998 void CDaoException::InitErrorsCollection()\n8999 void CDaoQueryDef::InitFieldsCollection()\n9000 void CDaoRecordset::InitFieldsCollection()\n9001 void CDaoTableDef::InitFieldsCollection()\n9002 void CDaoWorkspace::InitializeEngine()\n9003 void CDaoRecordset::InitIndexesCollection()\n9004 void CDaoTableDef::InitIndexesCollection()\n9005 void CDaoQueryDef::InitParametersCollection()\n9006 void CDaoDatabase::InitQueryDefsCollection()\n9007 void CDaoDatabase::InitRelationsCollection()\n9008 void CDaoDatabase::InitTableDefsCollection()\n9009 void CDaoDatabase::InitWorkspace()\n9010 void CDaoWorkspace::InitWorkspacesCollection()\n9011 int CDaoRecordset::IsBOF()const \n9012 int CDaoRecordset::IsDeleted()const \n9013 int CDaoRecordset::IsEOF()const \n9014 int CDaoRecordset::IsFieldDirty(void *)\n9015 int CDaoRecordset::IsFieldNull(void *)\n9016 int CDaoRecordset::IsFieldNullable(void *)\n9017 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n9018 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n9019 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n9020 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n9021 int CDaoRecordset::IsMatch()\n9022 int CDaoWorkspace::IsNew()const \n9023 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n9024 int CDaoRecordView::IsOnFirstRecord()\n9025 int CDaoRecordView::IsOnLastRecord()\n9026 int CDaoDatabase::IsOpen()const \n9027 int CDaoQueryDef::IsOpen()const \n9028 int CDaoRecordset::IsOpen()const \n9029 int CDaoTableDef::IsOpen()const \n9030 int CDaoWorkspace::IsOpen()const \n9031 int CDaoFieldExchange::IsValidOperation()\n9032 void CDaoRecordset::LoadFields()\n9033 void CDaoRecordset::MarkForAddNew()\n9034 void CDaoRecordset::MarkForEdit()\n9035 void CDaoRecordset::Move(long)\n9036 void CDaoRecordset::MoveFirst()\n9037 void CDaoRecordset::MoveLast()\n9038 void CDaoRecordset::MoveNext()\n9039 void CDaoRecordset::MovePrev()\n9040 void CDaoRecordView::OnInitialUpdate()\n9041 void CDaoRecordView::OnMove(int,int)\n9042 int CDaoRecordView::OnMove(unsigned int)\n9043 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n9044 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n9045 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n9046 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n9047 void CDaoDatabase::Open(char const *,int,int,char const *)\n9048 void CDaoQueryDef::Open(char const *)\n9049 void CDaoRecordset::Open(int,char const *,int)\n9050 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n9051 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n9052 void CDaoTableDef::Open(char const *)\n9053 void CDaoWorkspace::Open(char const *)\n9054 void CDaoTableDef::RefreshLink()\n9055 void CDaoWorkspace::RepairDatabase(char const *)\n9056 void CDaoRecordset::Requery()\n9057 void CDaoWorkspace::Rollback()\n9058 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n9059 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n9060 void CDaoRecordset::SetAbsolutePosition(long)\n9061 void CDaoTableDef::SetAttributes(long)\n9062 void CDaoRecordset::SetBookmark(COleVariant)\n9063 void CDaoRecordset::SetCacheSize(long)\n9064 void CDaoRecordset::SetCacheStart(COleVariant)\n9065 void CDaoQueryDef::SetConnect(char const *)\n9066 void CDaoTableDef::SetConnect(char const *)\n9067 void CDaoRecordset::SetCurrentIndex(char const *)\n9068 void CDaoRecordset::SetCursorAttributes()\n9069 void CDaoWorkspace::SetDefaultPassword(char const *)\n9070 void CDaoWorkspace::SetDefaultUser(char const *)\n9071 void CDaoRecordset::SetDirtyFields()\n9072 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n9073 void CDaoRecordset::SetFieldDirty(void *,int)\n9074 void CDaoRecordset::SetFieldNull(void *,int)\n9075 void CDaoFieldExchange::SetFieldType(unsigned int)\n9076 void CDaoRecordset::SetFieldValue(int,char const *)\n9077 void CDaoRecordset::SetFieldValue(char const *,char const *)\n9078 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n9079 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n9080 void CDaoRecordset::SetFieldValueNull(int)\n9081 void CDaoRecordset::SetFieldValueNull(char const *)\n9082 void CDaoWorkspace::SetIniPath(char const *)\n9083 void CDaoWorkspace::SetIsolateODBCTrans(int)\n9084 void CDaoRecordset::SetLockingMode(int)\n9085 void CDaoWorkspace::SetLoginTimeout(short)\n9086 void CDaoQueryDef::SetName(char const *)\n9087 void CDaoTableDef::SetName(char const *)\n9088 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n9089 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n9090 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n9091 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n9092 void CDaoQueryDef::SetODBCTimeout(short)\n9093 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n9094 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n9095 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n9096 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n9097 void CDaoQueryDef::SetParamValueNull(int)\n9098 void CDaoQueryDef::SetParamValueNull(char const *)\n9099 void CDaoRecordset::SetParamValueNull(int)\n9100 void CDaoRecordset::SetParamValueNull(char const *)\n9101 void CDaoRecordset::SetPercentPosition(float)\n9102 void CDaoDatabase::SetQueryTimeout(short)\n9103 void CDaoQueryDef::SetReturnsRecords(int)\n9104 void CDaoTableDef::SetSourceTableName(char const *)\n9105 void CDaoQueryDef::SetSQL(char const *)\n9106 void CDaoTableDef::SetValidationRule(char const *)\n9107 void CDaoTableDef::SetValidationText(char const *)\n9108 void CDaoRecordset::StoreFields()\n9109 void CDaoRecordset::StripBrackets(char const *,char *)\n9110 void CDaoDatabase::ThrowDaoException(int)\n9111 void CDaoQueryDef::ThrowDaoException(int)\n9112 void CDaoRecordset::ThrowDaoException(int)\n9113 void CDaoTableDef::ThrowDaoException(int)\n9114 void CDaoWorkspace::ThrowDaoException(int)\n9115 void ThrowGetRowsDaoException(long)\n9116 void CDaoRecordset::Update()\n9117 CRuntimeconst CDaoDatabase::classCDaoDatabase\n9118 CRuntimeconst CDaoException::classCDaoException\n9119 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n9120 CRuntimeconst CDaoRecordset::classCDaoRecordset\n9121 CRuntimeconst CDaoRecordView::classCDaoRecordView\n9122 CRuntimeconst CDaoTableDef::classCDaoTableDef\n9123 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n9124 CRuntimeconst CDatabase::classCDatabase\n9125 CRuntimeconst CDBException::classCDBException\n9126 CRuntimeconst CLongBinary::classCLongBinary\n9127 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n9128 CRuntimeconst CRecordset::classCRecordset\n9129 CRuntimeconst CRecordView::classCRecordView\n9133 int AfxEnableMemoryLeakOverride(int)\n9134 COleVariant::COleVariant(__int64)\n9135 COleVariant::COleVariant(unsigned __int64)\n9136 int CPropertySheet::IsModeless()const \n9137 int CDC::SetGraphicsMode(int)\n9138 int CDC::SetWorldTransform(tagXFORM const *)\n9139 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n9140 int CDC::GetGraphicsMode()const \n9141 int CDC::GetWorldTransform(tagXFORM *)const \n9142 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager()const \n9143 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager()const \n9144 void AFX_MODULE_STATE::CreateActivationContext()\n9145 CControlCreationInfo::CControlCreationInfo()\n9146 CControlSiteFactoryMgr::CControlSiteFactoryMgr()\n9147 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n9148 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n9149 COleControlSiteOrWnd::COleControlSiteOrWnd()\n9150 CControlSiteFactoryMgr::~CControlSiteFactoryMgr()\n9151 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n9152 int AfxRegisterSiteFactory(IControlSiteFactory *)\n9153 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n9154 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n9155 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n9156 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n9157 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n9158 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n9160 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n9161 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n9162 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n9163 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo()\n9164 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo()\n9165 int CControlCreationInfo::IsManaged()const \n9166 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n9167 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n9168 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n9169 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n9170 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n9171 __POSITION * CWnd::FindSiteOrWndWithFocus()const \n9172 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n9173 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n9174 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n9175 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n9176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n9177 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n9178 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n9179 int AfxIsValidAtom(unsigned short)\n9180 int AfxIsValidAtom(char const *)\n9181 COleVariant const & COleVariant::operator=(__int64)\n9182 COleVariant const & COleVariant::operator=(unsigned __int64)\n9183 void AfxUnregisterWndClasses()\n9184 void CWinApp::DoEnableModeless(int)\n9187 HWND__ * CPropertyPage::OnWizardFinishEx()\n9192 int CWinApp::ShowAppMessageBox(CWinApp *,char const *,unsigned int,unsigned int)\n9193 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n9194 int AfxGetAmbientActCtx()\n9195 void AfxSetAmbientActCtx(int)\n9196 int AfxActivateActCtx(void *,unsigned long *)\n9197 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n9198 void * AfxCreateActCtxW(tagACTCTXW const *)\n9199 int AfxDeactivateActCtx(unsigned long,unsigned long)\n9200 void AfxReleaseActCtx(void *)\n9201 void COleClientItem::GetItemName(char *,unsigned int)const \n9202 HINSTANCE__ * AfxLoadLibraryEx(char const *,void *,unsigned long)\n9203 void CArchive::EnsureRead(void *,unsigned int)\n9204 int AfxIsModuleDll()\n9205 int AfxInitCurrentStateApp()\n9206 int CFtpConnection::CreateDirectory(char const *)\n9207 int CDC::DrawText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n9208 int CDC::DrawText(char const *,int,tagRECT *,unsigned int)\n9209 int CMetaFileDC::DrawText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n9210 int CMetaFileDC::DrawText(char const *,int,tagRECT *,unsigned int)\n9211 int CDC::DrawTextEx(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9212 int CDC::DrawTextEx(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9213 int CMetaFileDC::DrawTextEx(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9214 int CMetaFileDC::DrawTextEx(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9215 CFrameWnd * CWnd::EnsureParentFrame()const \n9216 CWnd * CWnd::EnsureTopLevelParent()const \n9217 int CGdiObject::GetObject(int,void *)const \n9218 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObject()const \n9219 int CDC::GetTextMetrics(tagTEXTMETRICA *)const \n9220 int COlePropertyPage::MessageBox(char const *,char const *,unsigned int)\n9221 int CWnd::MessageBox(char const *,char const *,unsigned int)\n9222 int CFtpConnection::SetCurrentDirectory(char const *)\n9223 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n9224 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n9225 HINSTANCE__ * AfxGetInstanceHandleHelper()\n9226 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo()\n9227 CFormView::~CFormView()\n9228 int CWnd::DlgDirSelect(char *,int,int)\n9229 int CWnd::DlgDirSelectComboBox(char *,int,int)\n9230 long CWnd::SendMessage(unsigned int,unsigned int,long)\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc80u.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n258 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n259 unsigned int HashKey<char const *>(char const *)\n260 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n261 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n262 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n263 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n264 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n294 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n295 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n296 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n311 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n312 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n313 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n314 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n315 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n316 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n317 CArchive::CArchive(CFile *,unsigned int,int,void *)\n318 CArchivePropExchange::CArchivePropExchange(CArchive &)\n319 CArchiveStream::CArchiveStream(CArchive *)\n320 CAsyncMonikerFile::CAsyncMonikerFile()\n321 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n322 CAsyncSocket::CAsyncSocket()\n323 CBlobProperty::CBlobProperty(void *)\n324 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n325 CBrush::CBrush(int,unsigned long)\n326 CBrush::CBrush(unsigned long)\n327 CBrush::CBrush(CBitmap *)\n328 CByteArray::CByteArray()\n329 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n330 CClientDC::CClientDC(CWnd *)\n331 CCmdTarget::CCmdTarget()\n332 CCmdUI::CCmdUI()\n333 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n334 CCommandLineInfo::CCommandLineInfo()\n335 CConnectionPoint::CConnectionPoint()\n336 CControlBar::CControlBar()\n337 CControlBarInfo::CControlBarInfo()\n338 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n339 CControlFrameWnd::CControlFrameWnd(COleControl *)\n340 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n341 CDatabase::CDatabase()\n342 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n343 CDataExchange::CDataExchange(CWnd *,int)\n344 CDataSourceControl::CDataSourceControl(COleControlSite *)\n345 CDBException::CDBException(short)\n346 CDBVariant::CDBVariant()\n347 CDC::CDC()\n348 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n349 CDHtmlControlSink::CDHtmlControlSink()\n350 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n351 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n352 CDHtmlDialog::CDHtmlDialog()\n353 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n354 CDialog::CDialog(unsigned int,CWnd *)\n355 CDialog::CDialog(wchar_t const *,CWnd *)\n356 CDialog::CDialog()\n357 CDialogBar::CDialogBar()\n358 CDialogTemplate::CDialogTemplate(void *)\n359 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n360 CDocItem::CDocItem()\n361 CDockBar::CDockBar(int)\n362 CDockContext::CDockContext(CControlBar *)\n363 CDockState::CDockState()\n364 CDocManager::CDocManager()\n365 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n366 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n367 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n368 CDocument::CDocument()\n369 CDumpContext::CDumpContext(CFile *)\n370 CDWordArray::CDWordArray()\n371 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n372 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n373 CEditView::CEditView()\n374 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n375 CEnumConnections::CEnumConnections(void const *,unsigned int)\n376 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n377 CEnumFormatEtc::CEnumFormatEtc()\n378 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n379 CException::CException(int)\n380 CException::CException()\n381 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n382 CFile::CFile(void *)\n383 CFile::CFile(wchar_t const *,unsigned int)\n384 CFile::CFile()\n385 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n386 CFileFind::CFileFind()\n387 CFindReplaceDialog::CFindReplaceDialog()\n388 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n389 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n390 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n391 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n392 CFontHolder::CFontHolder(IPropertyNotifySink *)\n393 CFormView::CFormView(unsigned int)\n394 CFormView::CFormView(wchar_t const *)\n395 CFrameWnd::CFrameWnd()\n396 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n397 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n398 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n399 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n400 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n401 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n402 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n403 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n404 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n405 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n406 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n407 CHtmlEditCtrl::CHtmlEditCtrl()\n408 CHtmlEditDoc::CHtmlEditDoc()\n409 CHtmlEditView::CHtmlEditView()\n410 CHtmlView::CHtmlView()\n411 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n412 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n413 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n414 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n415 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n416 CImageList::CImageList()\n417 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n418 CInternetException::CInternetException(unsigned long)\n419 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n420 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n421 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n422 CLongBinary::CLongBinary()\n423 CMapPtrToPtr::CMapPtrToPtr(int)\n424 CMapPtrToWord::CMapPtrToWord(int)\n425 CMapStringToOb::CMapStringToOb(int)\n426 CMapStringToPtr::CMapStringToPtr(int)\n427 CMapStringToString::CMapStringToString(int)\n428 CMapWordToOb::CMapWordToOb(int)\n429 CMapWordToPtr::CMapWordToPtr(int)\n430 CMDIChildWnd::CMDIChildWnd()\n431 CMDIFrameWnd::CMDIFrameWnd()\n432 CMemFile::CMemFile(unsigned int)\n433 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n434 CMetaFileDC::CMetaFileDC()\n435 CMiniDockFrameWnd::CMiniDockFrameWnd()\n436 CMiniFrameWnd::CMiniFrameWnd()\n437 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n438 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n439 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n440 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n441 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n442 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n443 CObArray::CObArray()\n444 CObList::CObList(int)\n445 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n446 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n447 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n448 COleClientItem::COleClientItem(COleDocument *)\n449 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n450 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n451 COleControl::COleControl()\n452 COleControlContainer::COleControlContainer(CWnd *)\n453 COleControlLock::COleControlLock(_GUID const &)\n454 COleControlSite::COleControlSite(COleControlContainer *)\n455 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n456 COleCurrency::COleCurrency(long,long)\n457 COleDataObject::COleDataObject()\n458 COleDataSource::COleDataSource()\n459 COleDialog::COleDialog(CWnd *)\n460 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n461 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n462 COleDispatchDriver::COleDispatchDriver()\n463 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n464 COleDocIPFrameWnd::COleDocIPFrameWnd()\n465 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n466 COleDocument::COleDocument()\n467 COleDropSource::COleDropSource()\n468 COleDropTarget::COleDropTarget()\n469 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n470 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n471 COleIPFrameWnd::COleIPFrameWnd()\n472 COleLinkingDoc::COleLinkingDoc()\n473 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n474 COleMessageFilter::COleMessageFilter()\n475 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n476 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n477 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n478 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n479 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n480 COleResizeBar::COleResizeBar()\n481 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n482 COleSafeArray::COleSafeArray(tagVARIANT const &)\n483 COleSafeArray::COleSafeArray(COleSafeArray const &)\n484 COleSafeArray::COleSafeArray(COleVariant const &)\n485 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n486 COleSafeArray::COleSafeArray(tagVARIANT const *)\n487 COleServerDoc::COleServerDoc()\n488 COleServerItem::COleServerItem(COleServerDoc *,int)\n489 COleStreamFile::COleStreamFile(IStream *)\n490 COleTemplateServer::COleTemplateServer()\n491 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n492 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n493 COleVariant::COleVariant(tagVARIANT const &)\n494 COleVariant::COleVariant(COleVariant const &)\n495 COleVariant::COleVariant(short,unsigned short)\n496 COleVariant::COleVariant(long,unsigned short)\n497 COleVariant::COleVariant(wchar_t const *,unsigned short)\n498 COleVariant::COleVariant(_ITEMIDLIST const *)\n499 COleVariant::COleVariant(tagVARIANT const *)\n500 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n501 CPaintDC::CPaintDC(CWnd *)\n502 CPen::CPen(int,int,unsigned long)\n503 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n504 CPictureHolder::CPictureHolder()\n505 CPreviewDC::CPreviewDC()\n506 CPreviewView::CPreviewView()\n507 CPrintDialog::CPrintDialog(tagPDW &)\n508 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n509 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n510 CPrintInfo::CPrintInfo()\n511 CPrintPreviewState::CPrintPreviewState()\n512 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n513 CProperty::CProperty(unsigned long,void * const,unsigned long)\n514 CProperty::CProperty()\n515 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n516 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n517 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n518 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n519 CPropertyPage::CPropertyPage()\n520 CPropertySection::CPropertySection(_GUID)\n521 CPropertySection::CPropertySection()\n522 CPropertySet::CPropertySet(_GUID)\n523 CPropertySet::CPropertySet()\n524 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n525 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n526 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n527 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n528 CPropertySheet::CPropertySheet()\n529 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n530 CPtrArray::CPtrArray()\n531 CPtrList::CPtrList(int)\n532 CReBar::CReBar()\n533 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n534 CRecordset::CRecordset(CDatabase *)\n535 CRecordView::CRecordView(unsigned int)\n536 CRecordView::CRecordView(wchar_t const *)\n537 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n538 CReObject::CReObject(CRichEditCntrItem *)\n539 CReObject::CReObject()\n540 CResetPropExchange::CResetPropExchange()\n541 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n542 CRichEditDoc::CRichEditDoc()\n543 CRichEditView::CRichEditView()\n544 CScrollView::CScrollView()\n545 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n546 CSharedFile::CSharedFile(unsigned int,unsigned int)\n547 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n548 CSingleLock::CSingleLock(CSyncObject *,int)\n549 CSocket::CSocket()\n550 CSocketFile::CSocketFile(CSocket *,int)\n551 CSocketWnd::CSocketWnd()\n552 CSplitterWnd::CSplitterWnd()\n553 CStatusBar::CStatusBar()\n554 CStdioFile::CStdioFile(_iobuf *)\n555 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n556 CStdioFile::CStdioFile()\n557 CStringArray::CStringArray()\n558 CStringList::CStringList(int)\n559 CSyncObject::CSyncObject(wchar_t const *)\n560 CTestCmdUI::CTestCmdUI()\n561 CThreadSlotData::CThreadSlotData()\n562 CToolBar::CToolBar()\n563 CToolTipCtrl::CToolTipCtrl()\n564 CUIntArray::CUIntArray()\n565 CView::CView()\n566 CWinApp::CWinApp(wchar_t const *)\n567 CWindowDC::CWindowDC(CWnd *)\n568 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n569 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n570 CWinThread::CWinThread()\n571 CWnd::CWnd(HWND__ *)\n572 CWnd::CWnd()\n573 CWordArray::CWordArray()\n574 CPreviewView::PAGE_INFO::PAGE_INFO()\n575 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n576 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n577 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n578 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n579 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n580 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n581 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n582 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n583 CAnimateCtrl::~CAnimateCtrl()\n584 CArchive::~CArchive()\n585 CAsyncMonikerFile::~CAsyncMonikerFile()\n586 CAsyncSocket::~CAsyncSocket()\n587 CButton::~CButton()\n588 CByteArray::~CByteArray()\n589 CClientDC::~CClientDC()\n590 CCmdTarget::~CCmdTarget()\n591 CComboBox::~CComboBox()\n592 CComboBoxEx::~CComboBoxEx()\n593 CCommandLineInfo::~CCommandLineInfo()\n594 CConnectionPoint::~CConnectionPoint()\n595 CControlBar::~CControlBar()\n596 CCtrlView::~CCtrlView()\n597 CDatabase::~CDatabase()\n598 CDataSourceControl::~CDataSourceControl()\n599 CDateTimeCtrl::~CDateTimeCtrl()\n600 CDBException::~CDBException()\n601 CDBVariant::~CDBVariant()\n602 CDC::~CDC()\n603 CDHtmlControlSink::~CDHtmlControlSink()\n604 CDHtmlDialog::~CDHtmlDialog()\n605 CDialog::~CDialog()\n606 CDialogBar::~CDialogBar()\n607 CDialogTemplate::~CDialogTemplate()\n608 CDocItem::~CDocItem()\n609 CDockBar::~CDockBar()\n610 CDockContext::~CDockContext()\n611 CDockState::~CDockState()\n612 CDocManager::~CDocManager()\n613 CDocObjectServer::~CDocObjectServer()\n614 CDocObjectServerItem::~CDocObjectServerItem()\n615 CDocTemplate::~CDocTemplate()\n616 CDocument::~CDocument()\n617 CDragListBox::~CDragListBox()\n618 CDWordArray::~CDWordArray()\n619 CDynLinkLibrary::~CDynLinkLibrary()\n620 CEdit::~CEdit()\n621 CEditView::~CEditView()\n622 CEnumArray::~CEnumArray()\n623 CEnumConnections::~CEnumConnections()\n624 CEnumConnPoints::~CEnumConnPoints()\n625 CEnumFormatEtc::~CEnumFormatEtc()\n626 CEnumOleVerb::~CEnumOleVerb()\n627 CEnumUnknown::~CEnumUnknown()\n628 CEvent::~CEvent()\n629 CFile::~CFile()\n630 CFileDialog::~CFileDialog()\n631 CFileFind::~CFileFind()\n632 CFixedAlloc::~CFixedAlloc()\n633 CFixedAllocNoSync::~CFixedAllocNoSync()\n634 CFontHolder::~CFontHolder()\n635 CFrameWnd::~CFrameWnd()\n636 CFtpConnection::~CFtpConnection()\n637 CFtpFileFind::~CFtpFileFind()\n638 CGopherConnection::~CGopherConnection()\n639 CGopherFile::~CGopherFile()\n640 CGopherFileFind::~CGopherFileFind()\n641 CGopherLocator::~CGopherLocator()\n642 CHeaderCtrl::~CHeaderCtrl()\n643 CHotKeyCtrl::~CHotKeyCtrl()\n644 CHtmlControlSite::~CHtmlControlSite()\n645 CHtmlEditCtrl::~CHtmlEditCtrl()\n646 CHtmlEditDoc::~CHtmlEditDoc()\n647 CHtmlEditView::~CHtmlEditView()\n648 CHtmlView::~CHtmlView()\n649 CHttpConnection::~CHttpConnection()\n650 CHttpFile::~CHttpFile()\n651 CImageList::~CImageList()\n652 CInternetConnection::~CInternetConnection()\n653 CInternetException::~CInternetException()\n654 CInternetFile::~CInternetFile()\n655 CInternetSession::~CInternetSession()\n656 CIPAddressCtrl::~CIPAddressCtrl()\n657 CListBox::~CListBox()\n658 CListCtrl::~CListCtrl()\n659 CLongBinary::~CLongBinary()\n660 CMapPtrToPtr::~CMapPtrToPtr()\n661 CMapPtrToWord::~CMapPtrToWord()\n662 CMapStringToOb::~CMapStringToOb()\n663 CMapStringToPtr::~CMapStringToPtr()\n664 CMapStringToString::~CMapStringToString()\n665 CMapWordToOb::~CMapWordToOb()\n666 CMapWordToPtr::~CMapWordToPtr()\n667 CMemFile::~CMemFile()\n668 CMetaFileDC::~CMetaFileDC()\n669 CMiniFrameWnd::~CMiniFrameWnd()\n670 CMonikerFile::~CMonikerFile()\n671 CMonthCalCtrl::~CMonthCalCtrl()\n672 CMultiDocTemplate::~CMultiDocTemplate()\n673 CMultiLock::~CMultiLock()\n674 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n675 CMutex::~CMutex()\n676 CObArray::~CObArray()\n677 CObList::~CObList()\n678 COleBusyDialog::~COleBusyDialog()\n679 COleChangeIconDialog::~COleChangeIconDialog()\n680 COleChangeSourceDialog::~COleChangeSourceDialog()\n681 COleClientItem::~COleClientItem()\n682 COleCntrFrameWnd::~COleCntrFrameWnd()\n683 COleControl::~COleControl()\n684 COleControlContainer::~COleControlContainer()\n685 COleControlLock::~COleControlLock()\n686 COleControlSite::~COleControlSite()\n687 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n688 COleConvertDialog::~COleConvertDialog()\n689 COleDataSource::~COleDataSource()\n690 COleDispatchException::~COleDispatchException()\n691 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n692 COleDocObjectItem::~COleDocObjectItem()\n693 COleDocument::~COleDocument()\n694 COleDropTarget::~COleDropTarget()\n695 COleFrameHook::~COleFrameHook()\n696 COleInsertDialog::~COleInsertDialog()\n697 COleIPFrameWnd::~COleIPFrameWnd()\n698 COleLinkingDoc::~COleLinkingDoc()\n699 COleLinksDialog::~COleLinksDialog()\n700 COleMessageFilter::~COleMessageFilter()\n701 COleObjectFactory::~COleObjectFactory()\n702 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n703 COlePropertyPage::~COlePropertyPage()\n704 COleResizeBar::~COleResizeBar()\n705 COleServerDoc::~COleServerDoc()\n706 COleServerItem::~COleServerItem()\n707 COleStreamFile::~COleStreamFile()\n708 COleUpdateDialog::~COleUpdateDialog()\n709 CPaintDC::~CPaintDC()\n710 CPictureHolder::~CPictureHolder()\n711 CPreviewDC::~CPreviewDC()\n712 CPreviewView::~CPreviewView()\n713 CPrintInfo::~CPrintInfo()\n714 CProcessLocalObject::~CProcessLocalObject()\n715 CProgressCtrl::~CProgressCtrl()\n716 CPropbagPropExchange::~CPropbagPropExchange()\n717 CProperty::~CProperty()\n718 CPropertyPage::~CPropertyPage()\n719 CPropertySection::~CPropertySection()\n720 CPropertySet::~CPropertySet()\n721 CPropertySheet::~CPropertySheet()\n722 CPtrArray::~CPtrArray()\n723 CPtrList::~CPtrList()\n724 CRecentFileList::~CRecentFileList()\n725 CRecordset::~CRecordset()\n726 CRecordView::~CRecordView()\n727 CRectTracker::~CRectTracker()\n728 CReObject::~CReObject()\n729 CRichEditCntrItem::~CRichEditCntrItem()\n730 CRichEditCtrl::~CRichEditCtrl()\n731 CScrollBar::~CScrollBar()\n732 CScrollView::~CScrollView()\n733 CSemaphore::~CSemaphore()\n734 CSharedFile::~CSharedFile()\n735 CSingleDocTemplate::~CSingleDocTemplate()\n736 CSliderCtrl::~CSliderCtrl()\n737 CSocket::~CSocket()\n738 CSocketFile::~CSocketFile()\n739 CSpinButtonCtrl::~CSpinButtonCtrl()\n740 CSplitterWnd::~CSplitterWnd()\n741 CStatic::~CStatic()\n742 CStatusBar::~CStatusBar()\n743 CStatusBarCtrl::~CStatusBarCtrl()\n744 CStdioFile::~CStdioFile()\n745 CStringArray::~CStringArray()\n746 CStringList::~CStringList()\n747 CSyncObject::~CSyncObject()\n748 CTabCtrl::~CTabCtrl()\n749 CThreadLocalObject::~CThreadLocalObject()\n750 CThreadSlotData::~CThreadSlotData()\n751 CToolBar::~CToolBar()\n752 CToolBarCtrl::~CToolBarCtrl()\n753 CToolTipCtrl::~CToolTipCtrl()\n754 CTreeCtrl::~CTreeCtrl()\n755 CUIntArray::~CUIntArray()\n756 CView::~CView()\n757 CWinApp::~CWinApp()\n758 CWindowDC::~CWindowDC()\n759 CWinThread::~CWinThread()\n760 CWnd::~CWnd()\n761 CWordArray::~CWordArray()\n762 void * operator new(unsigned int)\n763 void * CNoTrackObject::operator new(unsigned int)\n764 void operator delete(void *)\n765 void CNoTrackObject::operator delete(void *)\n766 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n767 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n768 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n769 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n770 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n771 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n773 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n774 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n775 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n776 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n777 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n779 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n780 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n781 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n782 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n783 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n784 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n785 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n786 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n787 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n788 COleCurrency const & COleCurrency::operator=(union tagCY)\n789 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n790 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n791 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n792 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n793 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n794 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n795 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n796 COleVariant const & COleVariant::operator=(COleVariant const &)\n797 COleVariant const & COleVariant::operator=(CByteArray const &)\n798 COleVariant const & COleVariant::operator=(CLongBinary const &)\n799 COleVariant const & COleVariant::operator=(COleCurrency const &)\n800 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n801 COleVariant const & COleVariant::operator=(unsigned char)\n802 COleVariant const & COleVariant::operator=(short)\n803 COleVariant const & COleVariant::operator=(long)\n804 COleVariant const & COleVariant::operator=(float)\n805 COleVariant const & COleVariant::operator=(double)\n806 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n807 COleVariant const & COleVariant::operator=(wchar_t const * const)\n808 CArchive & operator>>(CArchive &,CByteArray * &)\n809 CArchive & operator>>(CArchive &,CDocItem * &)\n810 CArchive & operator>>(CArchive &,CDockState * &)\n811 CArchive & operator>>(CArchive &,CDWordArray * &)\n812 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n813 CArchive & operator>>(CArchive &,CMapStringToString * &)\n814 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n815 CArchive & operator>>(CArchive &,CObArray * &)\n816 CArchive & operator>>(CArchive &,CObList * &)\n817 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n818 CArchive & operator>>(CArchive &,CStringArray * &)\n819 CArchive & operator>>(CArchive &,CStringList * &)\n820 CArchive & operator>>(CArchive &,CWordArray * &)\n821 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n822 CArchive & operator>>(CArchive &,COleCurrency &)\n823 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n824 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n825 CArchive & operator>>(CArchive &,COleVariant &)\n826 CArchive & operator>>(CArchive &,ATL::CTime &)\n827 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n828 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n829 CArchive & operator<<(CArchive &,COleCurrency)\n830 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n831 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n832 CArchive & operator<<(CArchive &,COleVariant)\n833 CArchive & operator<<(CArchive &,ATL::CTime)\n834 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n835 CDumpContext & CDumpContext::operator<<(__int64)\n836 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n837 CDumpContext & CDumpContext::operator<<(CObject const &)\n838 CDumpContext & CDumpContext::operator<<(unsigned char)\n839 CDumpContext & CDumpContext::operator<<(unsigned short)\n840 CDumpContext & CDumpContext::operator<<(int)\n841 CDumpContext & CDumpContext::operator<<(unsigned int)\n842 CDumpContext & CDumpContext::operator<<(long)\n843 CDumpContext & CDumpContext::operator<<(unsigned long)\n844 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n845 CDumpContext & CDumpContext::operator<<(HDC__ *)\n846 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n847 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n848 CDumpContext & CDumpContext::operator<<(HWND__ *)\n849 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n850 CDumpContext & CDumpContext::operator<<(char const *)\n851 CDumpContext & CDumpContext::operator<<(CObject const *)\n852 CDumpContext & CDumpContext::operator<<(void const *)\n853 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n854 int COleSafeArray::operator==(tagVARIANT const &)const \n855 int COleSafeArray::operator==(COleSafeArray const &)const \n856 int COleSafeArray::operator==(COleVariant const &)const \n857 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n858 int COleSafeArray::operator==(tagVARIANT const *)const \n859 int COleVariant::operator==(tagVARIANT const &)const \n860 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n861 char ATL::CSimpleStringT<char,1>::operator[](int)const \n862 void * & CMapPtrToPtr::operator[](void *)\n863 unsigned short & CMapPtrToWord::operator[](void *)\n864 CObject * & CMapStringToOb::operator[](wchar_t const *)\n865 void * & CMapStringToPtr::operator[](wchar_t const *)\n866 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n867 CObject * & CMapWordToOb::operator[](unsigned short)\n868 void * & CMapWordToPtr::operator[](unsigned short)\n869 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n870 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n871 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n872 ATL::CSimpleStringT<char,1>::operator char const *()const \n873 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n874 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n875 COleCurrency COleCurrency::operator*(long)const \n876 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n877 COleCurrency COleCurrency::operator-()const \n878 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n879 COleCurrency COleCurrency::operator/(long)const \n880 int COleCurrency::operator<(COleCurrency const &)const \n881 int COleCurrency::operator<=(COleCurrency const &)const \n882 int COleCurrency::operator>(COleCurrency const &)const \n883 int COleCurrency::operator>=(COleCurrency const &)const \n884 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n885 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n886 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n887 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n888 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n889 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n890 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n891 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n892 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n893 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n894 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n895 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n896 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n897 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n900 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n901 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n902 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n903 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n905 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n906 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n907 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n908 int _AfxDeleteRegKey(wchar_t const *)\n909 int _AfxSocketInit(WSAData *)\n910 void CArchive::Abort()\n911 void CFile::Abort()\n912 void CInternetFile::Abort()\n913 void CMemFile::Abort()\n914 void CMirrorFile::Abort()\n915 void COleStreamFile::Abort()\n916 void CSocketFile::Abort()\n917 void CStdioFile::Abort()\n918 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n919 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n920 long CWnd::accDoDefaultAction(tagVARIANT)\n921 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n922 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n923 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n924 void COleSafeArray::AccessData(void * *)\n925 long CWnd::accHitTest(long,long,tagVARIANT *)\n926 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n927 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n928 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n929 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n930 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n931 long CWnd::accSelect(long,tagVARIANT)\n932 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n933 void COleClientItem::Activate(long,CView *,tagMSG *)\n934 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n935 void COleDocObjectItem::ActivateAndShow()\n936 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n937 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n938 void CDocObjectServer::ActivateDocObject()\n939 void COleServerDoc::ActivateDocObject()\n940 void CFrameWnd::ActivateFrame(int)\n941 void CMDIChildWnd::ActivateFrame(int)\n942 int COleServerDoc::ActivateInPlace()\n943 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n944 void CSplitterWnd::ActivateNext(int)\n945 void CWnd::ActivateTopParent()\n946 void CRecentFileList::Add(wchar_t const *)\n947 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n948 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n949 int CToolBarCtrl::AddBitmap(int,unsigned int)\n950 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n951 void COleClientItem::AddCachedData(COleDataSource *)\n952 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n953 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n954 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n955 void CDocManager::AddDocTemplate(CDocTemplate *)\n956 void CWinApp::AddDocTemplate(CDocTemplate *)\n957 void CDocTemplate::AddDocument(CDocument *)\n958 void CMultiDocTemplate::AddDocument(CDocument *)\n959 void CSingleDocTemplate::AddDocument(CDocument *)\n960 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n961 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n962 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n963 void COleControl::AddFrameLevelUI()\n964 void CFrameWnd::AddFrameWnd()\n965 __POSITION * CObList::AddHead(CObject *)\n966 void CObList::AddHead(CObList *)\n967 __POSITION * CPtrList::AddHead(void *)\n968 void CPtrList::AddHead(CPtrList *)\n969 void CSimpleList::AddHead(void *)\n970 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n971 __POSITION * CStringList::AddHead(wchar_t const *)\n972 void CStringList::AddHead(CStringList *)\n973 void COleDocument::AddItem(CDocItem *)\n974 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n975 void CRecordset::AddNew()\n976 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n977 void CPropertySheet::AddPage(CPropertyPage *)\n978 void CPropertySection::AddProperty(CProperty *)\n979 void CPropertySet::AddProperty(_GUID,CProperty *)\n980 unsigned long CArchiveStream::AddRef()\n981 unsigned long CBlobProperty::AddRef()\n982 unsigned long CBrowserControlSite::AddRef()\n983 unsigned long CDHtmlControlSink::AddRef()\n984 unsigned long CDHtmlElementEventSink::AddRef()\n985 unsigned long CDHtmlEventSink::AddRef()\n986 unsigned long CInnerUnknown::AddRef()\n987 unsigned long COleConnPtContainer::AddRef()\n988 unsigned long COleDispatchImpl::AddRef()\n989 unsigned long COleUILinkInfo::AddRef()\n990 unsigned long CPrintDialogEx::AddRef()\n991 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n992 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n993 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n994 CPropertySection * CPropertySet::AddSection(_GUID)\n995 void CPropertySet::AddSection(CPropertySection *)\n996 void COlePasteSpecialDialog::AddStandardFormats(int)\n997 int CToolBarCtrl::AddString(unsigned int)\n998 __POSITION * CObList::AddTail(CObject *)\n999 void CObList::AddTail(CObList *)\n1000 __POSITION * CPtrList::AddTail(void *)\n1001 void CPtrList::AddTail(CPtrList *)\n1002 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1003 __POSITION * CStringList::AddTail(wchar_t const *)\n1004 void CStringList::AddTail(CStringList *)\n1005 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1006 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1007 void CWinApp::AddToRecentFileList(wchar_t const *)\n1008 void CDocument::AddView(CView *)\n1009 void CMetaFileDC::AdjustCP(int)\n1010 void CRichEditView::AdjustDialogPosition(CDialog *)\n1011 void CRectTracker::AdjustRect(int,tagRECT *)\n1012 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1013 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1014 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1015 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1016 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1017 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1018 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1019 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1020 void AfxAbort()\n1021 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1022 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1023 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1024 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1025 void AfxCancelModes(HWND__ *)\n1026 void AfxCheckError(long)\n1027 void AfxClassInit(CRuntime*)\n1028 int AfxComparePath(wchar_t const *,wchar_t const *)\n1029 int AfxCompareValueByRef(void *,void *,int)\n1030 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1031 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1032 void AfxCopyValueByRef(void *,void *,long *,int)\n1033 void AfxCoreInitModule()\n1034 HDC__ * AfxCreateDC(void *,void *)\n1035 int AfxCriticalInit()\n1036 int AfxCriticalNewHandler(unsigned int)\n1037 void AfxCriticalTerm()\n1038 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1039 AUX_DATA afxData\n1040 void AfxDeleteObject(void * *)\n1041 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1042 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1043 long AfxDllCanUnloadNow()\n1044 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1045 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1046 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1047 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1048 void AfxEditviewTerm()\n1049 void AfxEnableControlContainer(COccManager *)\n1050 int AfxEndDeferRegisterClass(long)\n1051 void AfxEndThread(unsigned int,int)\n1052 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1053 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1054 void AfxFailMaxChars(CDataExchange *,int)\n1055 void AfxFailRadio(CDataExchange *)\n1056 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1057 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1058 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1059 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1060 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1061 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1062 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1063 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1064 int AfxFreeLibrary(HINSTANCE__ *)\n1065 int AfxFullPath(wchar_t *,wchar_t const *)\n1066 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1067 AFX_MODULE_STATE * AfxGetAppModuleState()\n1068 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1069 tagMSG * AfxGetCurrentMessage()\n1070 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1071 unsigned long AfxGetDllVersion()\n1072 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1073 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1074 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1075 void * AfxGetHENV()\n1076 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1077 unsigned long AfxGetInternetHandleType(void *)\n1078 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1079 AFX_MODULE_STATE * AfxGetModuleState()\n1080 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1081 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1082 HWND__ * AfxGetParentOwner(HWND__ *)\n1083 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1084 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1085 ATL::IAtlStringMgr * AfxGetStringManager()\n1086 CWinThread * AfxGetThread()\n1087 _AFX_THREAD_STATE * AfxGetThreadState()\n1088 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1089 void AfxGlobalFree(void *)\n1090 int AfxHelpEnabled()\n1091 void AfxHookWindowCreate(CWnd *)\n1092 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1093 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1094 void AfxInitLocalData(HINSTANCE__ *)\n1095 int AfxInitRichEdit()\n1096 int AfxInitRichEdit2()\n1097 void AfxInitThread()\n1098 int AfxInternalIsIdleMessage(tagMSG *)\n1099 int AfxInternalPreTranslateMessage(tagMSG *)\n1100 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1101 int AfxInternalPumpMessage()\n1102 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1103 int AfxIsDescendant(HWND__ *,HWND__ *)\n1104 int AfxIsIdleMessage(tagMSG *)\n1105 int AfxIsValidAddress(void const *,unsigned int,int)\n1106 int AfxIsValidString(wchar_t const *,int)\n1107 int AfxIsValidString(char const *,int)\n1108 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1109 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1110 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1111 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1112 int AfxLoadString(unsigned int,char *,unsigned int)\n1113 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1114 void AfxLockGlobals(int)\n1115 void AfxLockTempMaps()\n1116 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1117 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1118 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1119 int AfxOleCanExitApp()\n1120 int AfxOleGetUserCtrl()\n1121 int AfxOleInit()\n1122 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1123 void AfxOleLockApp()\n1124 int AfxOleLockControl(_GUID const &)\n1125 int AfxOleLockControl(wchar_t const *)\n1126 void AfxOleOnReleaseAllObjects()\n1127 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1128 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1129 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1130 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1131 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1132 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1133 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1134 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1135 void AfxOleSetUserCtrl(int)\n1136 void AfxOleTerm(int)\n1137 void AfxOleTermOrFreeLib(int,int)\n1138 void AfxOleUnlockAllControls()\n1139 void AfxOleUnlockApp()\n1140 int AfxOleUnlockControl(_GUID const &)\n1141 int AfxOleUnlockControl(wchar_t const *)\n1142 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1143 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1144 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1145 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1146 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1147 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1148 void AfxPostQuitMessage(int)\n1149 int AfxPreTranslateMessage(tagMSG *)\n1150 long AfxProcessWndProcException(CException *,tagMSG const *)\n1151 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1152 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1153 int AfxPumpMessage()\n1154 unsigned int AfxReadStringLength(CArchive &,int &)\n1155 int AfxRegisterClass(tagWNDCLASSW *)\n1156 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1157 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1158 void AfxResetMsgCache()\n1159 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1160 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1161 void AfxSafeArrayInit(COleSafeArray *)\n1162 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1163 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1164 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1165 void AfxSocketTerm()\n1166 void AfxStoreField(CRecordset &,unsigned int,void *)\n1167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1168 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1169 void AfxTermLocalData(HINSTANCE__ *,int)\n1170 void AfxTermThread(HINSTANCE__ *)\n1171 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1172 void AfxThrowArchiveException(int,wchar_t const *)\n1173 void AfxThrowDBException(short,CDatabase *,void *)\n1174 void AfxThrowFileException(int,long,wchar_t const *)\n1175 void AfxThrowInternetException(unsigned long,unsigned long)\n1176 void AfxThrowInvalidArgException()\n1177 void AfxThrowLastCleanup()\n1178 void AfxThrowMemoryException()\n1179 void AfxThrowNotSupportedException()\n1180 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1181 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1182 void AfxThrowOleException(long)\n1183 void AfxThrowResourceException()\n1184 void AfxThrowUserException()\n1185 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1186 void AfxTlsAddRef()\n1187 void AfxTlsRelease()\n1188 void AfxTrackerTerm()\n1189 void AfxTryCleanup()\n1190 int AfxUnhookWindowCreate()\n1191 void AfxUnlockGlobals(int)\n1192 int AfxUnlockTempMaps(int)\n1193 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1194 void AfxVariantInit(tagVARIANT *)\n1195 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1196 char * AfxW2AHelper(char *,wchar_t const *,int)\n1197 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1198 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1199 void AfxWinTerm()\n1200 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1201 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1202 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1203 void * CFixedAlloc::Alloc()\n1204 void * CFixedAllocNoSync::Alloc()\n1205 unsigned char * CMemFile::Alloc(unsigned long)\n1206 unsigned char * CSharedFile::Alloc(unsigned long)\n1207 void CRecordset::AllocAndCacheFieldInfo()\n1208 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1209 void CDatabase::AllocConnect(unsigned long)\n1210 void COleSafeArray::AllocData()\n1211 void CRecordset::AllocDataCache()\n1212 void COleSafeArray::AllocDescriptor(unsigned long)\n1213 int CControlBar::AllocElements(int,int)\n1214 int CStatusBar::AllocElements(int,int)\n1215 int CRecordset::AllocHstmt()\n1216 void CPropertyPage::AllocPSP(unsigned long)\n1217 void CRecordset::AllocRowset()\n1218 int CThreadSlotData::AllocSlot()\n1219 void CRecordset::AllocStatusArrays()\n1220 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1221 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1222 void * CProperty::AllocValue(unsigned long)\n1223 short COleControl::AmbientAppearance()\n1224 unsigned long COleControl::AmbientBackColor()\n1225 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1226 IFontDisp * COleControl::AmbientFont()\n1227 unsigned long COleControl::AmbientForeColor()\n1228 unsigned long COleControl::AmbientLocaleID()\n1229 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1230 int COleControl::AmbientShowGrabHandles()\n1231 int COleControl::AmbientShowHatching()\n1232 short COleControl::AmbientTextAlign()\n1233 int COleControl::AmbientUIDead()\n1234 int COleControl::AmbientUserMode()\n1235 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1236 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1237 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1238 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1239 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1240 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1241 int CByteArray::Append(CByteArray const &)\n1242 int CDWordArray::Append(CDWordArray const &)\n1243 int CObArray::Append(CObArray const &)\n1244 int CPtrArray::Append(CPtrArray const &)\n1245 int CStringArray::Append(CStringArray const &)\n1246 int CUIntArray::Append(CUIntArray const &)\n1247 int CWordArray::Append(CWordArray const &)\n1248 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1249 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1250 void CRecordset::AppendFilterAndSortSQL()\n1251 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1252 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1253 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1254 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1255 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1256 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1257 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1258 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1259 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1260 long COlePropertyPage::XPropertyPage::Apply()\n1261 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1262 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1263 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1264 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1265 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1266 int CAsyncSocket::AsyncSelect(long)\n1267 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1268 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1269 int CAsyncSocket::Attach(unsigned int,long)\n1270 int CDC::Attach(HDC__ *)\n1271 int CGdiObject::Attach(void *)\n1272 int CImageList::Attach(_IMAGELIST *)\n1273 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1274 int CMenu::Attach(HMENU__ *)\n1275 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1276 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1277 void COleDataObject::Attach(IDataObject *,int)\n1278 void COleSafeArray::Attach(tagVARIANT &)\n1279 void COleStreamFile::Attach(IStream *)\n1280 void COleVariant::Attach(tagVARIANT &)\n1281 int CWnd::Attach(HWND__ *)\n1282 int COleDataObject::AttachClipboard()\n1283 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1284 void CWnd::AttachControlSite(CHandleMap *)\n1285 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1286 void COleClientItem::AttachDataObject(COleDataObject &)const \n1287 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1288 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1289 CPrintDialog * CPrintDialog::AttachOnSetup()\n1290 void COleControlSite::AttachWindow()\n1291 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1292 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1293 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1294 void COleMessageFilter::BeginBusyState()\n1295 int CDragListBox::BeginDrag(CPoint)\n1296 void COleDataObject::BeginEnumFormats()\n1297 void CFrameWnd::BeginModalState()\n1298 int CDatabase::BeginTrans()\n1299 void CCmdTarget::BeginWaitCursor()\n1300 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1301 void CDataSourceControl::BindColumns()\n1302 void COccManager::BindControls(CWnd *)\n1303 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1304 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1305 void CRecordset::BindFieldsForUpdate()\n1306 unsigned int CRecordset::BindFieldsToColumns()\n1307 void CDatabase::BindParameters(void *)\n1308 unsigned int CRecordset::BindParams(void *)\n1309 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1310 void CDataSourceControl::BindProp(COleControlSite *,int)\n1311 void COleControlSite::BindProperty(long,CWnd *)\n1312 void CWnd::BindProperty(long,CWnd *)\n1313 void COleControl::BoundPropertyChanged(long)\n1314 int COleControl::BoundPropertyRequestEdit(long)\n1315 void CFrameWnd::BringToTop(int)\n1316 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1317 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1318 void CPropertySheet::BuildPropPageArray()\n1319 void CRecordset::BuildSelectSQL()\n1320 int COleControl::BuildSharedMenu()\n1321 int COleDocIPFrameWnd::BuildSharedMenu()\n1322 int COleIPFrameWnd::BuildSharedMenu()\n1323 void CRecordset::BuildSQL(wchar_t const *)\n1324 void CRecordset::BuildUpdateSQL()\n1325 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1326 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1327 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1328 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1329 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1330 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1331 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1332 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1333 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1334 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1335 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1336 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1337 CSize CControlBar::CalcFixedLayout(int,int)\n1338 CSize CDialogBar::CalcFixedLayout(int,int)\n1339 CSize CDockBar::CalcFixedLayout(int,int)\n1340 CSize CReBar::CalcFixedLayout(int,int)\n1341 CSize CStatusBar::CalcFixedLayout(int,int)\n1342 CSize CToolBar::CalcFixedLayout(int,int)\n1343 void CControlBar::CalcInsideRect(CRect &,int)const \n1344 void CStatusBar::CalcInsideRect(CRect &,int)const \n1345 CSize CToolBar::CalcLayout(unsigned long,int)\n1346 int CCheckListBox::CalcMinimumItemHeight()\n1347 CSize CPreviewView::CalcPageDisplaySize()\n1348 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1349 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1350 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1351 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1352 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1353 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1354 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1355 int CDHtmlDialog::CanAccessExternal()\n1356 int COleClientItem::CanActivate()\n1357 int CRichEditCntrItem::CanActivate()\n1358 int CSplitterWnd::CanActivateNext(int)\n1359 int CRecordset::CanBookmark()const \n1360 void CDatabase::Cancel()\n1361 void CRecordset::Cancel()\n1362 void CSocket::CancelBlockingCall()\n1363 void CDragListBox::CancelDrag(CPoint)\n1364 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1365 long COleUILinkInfo::CancelLink(unsigned long)\n1366 void CDockContext::CancelLoop()\n1367 void CPropertyPage::CancelToClose()\n1368 void CWnd::CancelToolTips(int)\n1369 void CRecordset::CancelUpdate()\n1370 int CDocument::CanCloseFrame(CFrameWnd *)\n1371 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1372 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1373 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1374 unsigned long CDockContext::CanDock()\n1375 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1376 int CFrameWnd::CanEnterHelpMode()\n1377 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1378 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1379 int COleClientItem::CanPaste()\n1380 int CRichEditCtrl::CanPaste(unsigned int)const \n1381 int CRichEditView::CanPaste()const \n1382 int COleClientItem::CanPasteLink()\n1383 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1384 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1385 void CScrollView::CenterOnPoint(CPoint)\n1386 void CWnd::CenterWindow(CWnd *)\n1387 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1388 int CListBox::CharToItem(unsigned int,unsigned int)\n1389 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1390 int CDatabase::Check(short)const \n1391 int CRecordset::Check(short)const \n1392 int CDialog::CheckAutoCenter()\n1393 int CWnd::CheckAutoCenter()\n1394 void CArchive::CheckCount()\n1395 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1396 void CWnd::CheckDlgButton(int,unsigned int)\n1397 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1398 void COleClientItem::CheckGeneral(long)\n1399 int CDatabase::CheckHstmt(short,void *)const \n1400 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1401 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1402 void COleControlContainer::CheckRadioButton(int,int,int)\n1403 void CWnd::CheckRadioButton(int,int,int)\n1404 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1405 void CRecordset::CheckRowsetError(short)\n1406 void CScrollView::CheckScrollBars(int &,int &)const \n1407 void CPropertyPage::Cleanup()\n1408 void COlePropertyPage::CleanupObjectArray()\n1409 void CDBVariant::Clear()\n1410 void CDockState::Clear()\n1411 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1412 void CRecordset::ClearFieldStatus()\n1413 void CRecordset::ClearNullFieldStatus(unsigned long)\n1414 void CRecordset::ClearNullParamStatus(unsigned long)\n1415 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1416 void CWnd::ClientToScreen(tagRECT *)const \n1417 int COleControl::ClipCaretRect(tagRECT *)\n1418 void CPreviewDC::ClipToPage()\n1419 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1420 long CArchiveStream::Clone(IStream * *)\n1421 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1422 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1423 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1424 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1425 void CArchive::Close()\n1426 void CAsyncMonikerFile::Close()\n1427 void CAsyncSocket::Close()\n1428 void CCachedDataPathProperty::Close()\n1429 void CDatabase::Close()\n1430 void CFile::Close()\n1431 void CFileFind::Close()\n1432 void CInternetConnection::Close()\n1433 void CInternetFile::Close()\n1434 void CInternetSession::Close()\n1435 void CMemFile::Close()\n1436 void CMirrorFile::Close()\n1437 void CMonikerFile::Close()\n1438 void COleClientItem::Close(enum tagOLECLOSE)\n1439 void COleStreamFile::Close()\n1440 void CRecordset::Close()\n1441 void CSocket::Close()\n1442 void CSocketFile::Close()\n1443 void CStdioFile::Close()\n1444 long CDocObjectServer::XOleObject::Close(unsigned long)\n1445 long COleControl::XOleObject::Close(unsigned long)\n1446 long COleServerDoc::XOleObject::Close(unsigned long)\n1447 long COleServerItem::XOleObject::Close(unsigned long)\n1448 void CDocManager::CloseAllDocuments(int)\n1449 void CDocTemplate::CloseAllDocuments(int)\n1450 void CWinApp::CloseAllDocuments(int)\n1451 void CFileFind::CloseContext()\n1452 void CFtpFileFind::CloseContext()\n1453 void CGopherFileFind::CloseContext()\n1454 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1455 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1456 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1457 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1458 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1459 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1460 int CStatusBar::CommandToIndex(unsigned int)const \n1461 int CToolBar::CommandToIndex(unsigned int)const \n1462 long CArchiveStream::Commit(unsigned long)\n1463 void COleClientItem::CommitItem(int)\n1464 void COleDocument::CommitItems(int,IStorage *)\n1465 int CDatabase::CommitTrans()\n1466 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n1467 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n1468 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1469 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1470 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1471 void CWinThread::CommonConstruct()\n1472 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1473 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1474 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1475 int CListBox::CompareItem(tagCOMPAREITEM*)\n1476 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1477 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1478 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n1479 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1480 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1481 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n1482 int CDatabase::Connect(unsigned long)\n1483 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1484 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1485 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1486 int CSocket::ConnectHelper(sockaddr const *,int)\n1487 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1488 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1489 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1490 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1491 void COleServerDoc::ConnectView(CWnd *,CView *)\n1492 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1493 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1494 void CPropertyPage::Construct(unsigned int,unsigned int)\n1495 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1496 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n1497 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1498 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1499 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1500 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n1501 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1502 void CRectTracker::Construct()\n1503 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1504 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1505 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1506 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1507 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1508 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1509 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1510 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1511 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1512 int CPropertySheet::ContinueModal()\n1513 int CWnd::ContinueModal()\n1514 void COleControl::ControlInfoChanged()\n1515 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1516 int COleClientItem::ConvertTo(_GUID const &)\n1517 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1518 void CByteArray::Copy(CByteArray const &)\n1519 void CDWordArray::Copy(CDWordArray const &)\n1520 void CObArray::Copy(CObArray const &)\n1521 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1522 void CPtrArray::Copy(CPtrArray const &)\n1523 void CStringArray::Copy(CStringArray const &)\n1524 void CUIntArray::Copy(CUIntArray const &)\n1525 void CWordArray::Copy(CWordArray const &)\n1526 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1527 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1528 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1529 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1530 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1531 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1532 void COleClientItem::CopyToClipboard(int)\n1533 void COleServerItem::CopyToClipboard(int)\n1534 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1535 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n1536 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1537 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1538 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1539 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1540 int CControlFrameWnd::Create(wchar_t const *)\n1541 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1542 int CDialog::Create(wchar_t const *,CWnd *)\n1543 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n1544 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1545 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1546 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n1547 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1548 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n1549 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1550 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1551 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1552 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1553 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1554 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1555 int CImageList::Create(int,int,unsigned int,int,int)\n1556 int CImageList::Create(unsigned int,int,int,unsigned long)\n1557 int CImageList::Create(CImageList *)\n1558 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n1559 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1560 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1561 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1562 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1563 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1564 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1565 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1566 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1567 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1568 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1569 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1570 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1571 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1572 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1573 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1574 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1575 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1576 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1577 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1578 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1579 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1580 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1581 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1582 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1583 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1584 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1585 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1586 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1587 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1588 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1589 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1590 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1591 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1592 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1593 IBindHost * CMonikerFile::CreateBindHost()\n1594 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1595 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n1596 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1597 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1598 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1599 void CConnectionPoint::CreateConnectionArray()\n1600 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1601 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1602 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1603 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1604 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1605 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1606 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1607 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1608 int CWnd::CreateControlContainer(COleControlContainer * *)\n1609 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1610 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1611 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1612 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1613 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1614 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n1615 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1616 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n1617 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n1618 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1619 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1620 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n1622 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1623 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1624 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1625 int CPictureHolder::CreateEmpty()\n1626 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1627 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1628 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1629 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1630 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1631 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1632 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1633 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1634 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1635 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1636 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1637 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1638 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1639 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1640 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1641 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1642 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1643 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1644 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1645 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1646 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1647 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1648 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1649 CControlFrameWnd * COleControl::CreateFrameWindow()\n1650 int CPictureHolder::CreateFromBitmap(unsigned int)\n1651 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1652 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1653 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1654 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1655 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1656 int CPictureHolder::CreateFromIcon(unsigned int)\n1657 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1658 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1659 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1660 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1661 int CDialog::CreateIndirect(void *,CWnd *)\n1662 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1663 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1664 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1665 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1666 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1667 int COleInsertDialog::CreateItem(COleClientItem *)\n1668 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1669 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1670 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1671 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1672 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n1673 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n1674 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n1675 int COleStreamFile::CreateMemoryStream(CFileException *)\n1676 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1677 CDocument * CDocTemplate::CreateNewDocument()\n1678 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1679 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1680 CObject * CByteArray::CreateObject()\n1681 CObject * CDC::CreateObject()\n1682 CObject * CDocItem::CreateObject()\n1683 CObject * CDockState::CreateObject()\n1684 CObject * CDWordArray::CreateObject()\n1685 CObject * CEditView::CreateObject()\n1686 CObject * CFrameWnd::CreateObject()\n1687 CObject * CGdiObject::CreateObject()\n1688 CObject * CHtmlEditView::CreateObject()\n1689 CObject * CHtmlView::CreateObject()\n1690 CObject * CImageList::CreateObject()\n1691 CObject * CListView::CreateObject()\n1692 CObject * CMapStringToOb::CreateObject()\n1693 CObject * CMapStringToString::CreateObject()\n1694 CObject * CMapWordToOb::CreateObject()\n1695 CObject * CMDIChildWnd::CreateObject()\n1696 CObject * CMDIFrameWnd::CreateObject()\n1697 CObject * CMenu::CreateObject()\n1698 CObject * CMiniDockFrameWnd::CreateObject()\n1699 CObject * CMiniFrameWnd::CreateObject()\n1700 CObject * CObArray::CreateObject()\n1701 CObject * CObList::CreateObject()\n1702 CObject * COleDocIPFrameWnd::CreateObject()\n1703 CObject * COleIPFrameWnd::CreateObject()\n1704 CObject * CPreviewView::CreateObject()\n1705 CObject * CRichEditCntrItem::CreateObject()\n1706 CObject * CRichEditView::CreateObject()\n1707 CObject * CRuntimeClass::CreateObject()\n1708 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1709 CObject * CRuntimeClass::CreateObject(char const *)\n1710 CObject * CStringArray::CreateObject()\n1711 CObject * CStringList::CreateObject()\n1712 CObject * CTreeView::CreateObject()\n1713 CObject * CWnd::CreateObject()\n1714 CObject * CWordArray::CreateObject()\n1715 void COleControlContainer::CreateOleFont(CFont *)\n1716 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1717 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1718 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1719 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n1720 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n1721 HDC__ * CPageSetupDialog::CreatePrinterDC()\n1722 HDC__ * CPrintDialog::CreatePrinterDC()\n1723 HDC__ * CPrintDialogEx::CreatePrinterDC()\n1724 int CWinApp::CreatePrinterDC(CDC &)\n1725 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1726 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1727 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1728 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1729 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1730 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n1731 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1732 void COleControl::CreateTracker(int,int)\n1733 void COleControl::CreateTracker(int,int,tagRECT const *)\n1734 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1735 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1736 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1737 void COleControl::CreateWindowForSubclassedControl()\n1738 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1739 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1740 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1741 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1742 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n1743 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n1744 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n1745 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n1746 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n1747 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n1748 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n1749 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n1750 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n1751 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n1752 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n1753 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1754 void DDP_PostProcessing(CDataExchange *)\n1755 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n1756 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n1757 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n1758 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n1759 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n1760 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n1761 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n1762 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n1763 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n1764 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n1765 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n1766 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1767 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1768 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1769 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1770 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1771 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1772 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1773 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1774 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1775 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1776 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1777 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1778 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1779 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1780 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1781 void DDX_CBIndex(CDataExchange *,int,int &)\n1782 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1783 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1784 void DDX_Check(CDataExchange *,int,int &)\n1785 void DDX_Control(CDataExchange *,int,CWnd &)\n1786 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1787 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1788 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1789 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1790 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1791 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1792 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n1793 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n1794 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n1795 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n1796 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n1797 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n1798 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n1799 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n1800 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n1801 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n1802 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n1803 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n1804 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1805 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n1806 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n1807 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n1808 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n1809 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n1810 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n1811 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1812 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n1813 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n1814 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n1815 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n1816 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n1817 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n1818 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1819 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1820 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1821 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1822 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1823 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1824 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1825 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1826 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1827 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1828 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1829 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1830 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1831 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1832 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1833 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n1834 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n1835 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n1836 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n1837 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n1838 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1839 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n1840 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n1841 void DDX_LBIndex(CDataExchange *,int,int &)\n1842 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1843 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1844 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n1845 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n1846 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1847 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n1848 void DDX_OCBool(CDataExchange *,int,long,int &)\n1849 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n1850 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n1851 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n1852 void DDX_OCFloat(CDataExchange *,int,long,float &)\n1853 void DDX_OCFloat(CDataExchange *,int,long,double &)\n1854 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n1855 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n1856 void DDX_OCInt(CDataExchange *,int,long,int &)\n1857 void DDX_OCInt(CDataExchange *,int,long,long &)\n1858 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n1859 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n1860 void DDX_OCShort(CDataExchange *,int,long,short &)\n1861 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n1862 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1863 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1864 void DDX_Radio(CDataExchange *,int,int &)\n1865 void DDX_Scroll(CDataExchange *,int,int &)\n1866 void DDX_Slider(CDataExchange *,int,int &)\n1867 void DDX_Text(CDataExchange *,int,__int64 &)\n1868 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n1869 void DDX_Text(CDataExchange *,int,unsigned char &)\n1870 void DDX_Text(CDataExchange *,int,short &)\n1871 void DDX_Text(CDataExchange *,int,int &)\n1872 void DDX_Text(CDataExchange *,int,unsigned int &)\n1873 void DDX_Text(CDataExchange *,int,long &)\n1874 void DDX_Text(CDataExchange *,int,unsigned long &)\n1875 void DDX_Text(CDataExchange *,int,float &)\n1876 void DDX_Text(CDataExchange *,int,double &)\n1877 void DDX_Text(CDataExchange *,int,_FILETIME &)\n1878 void DDX_Text(CDataExchange *,int,_GUID &)\n1879 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n1880 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n1881 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n1882 void DDX_Text(CDataExchange *,int,tagDEC &)\n1883 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1884 void DDX_Text(CDataExchange *,int,COleCurrency &)\n1885 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n1886 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n1887 void COleClientItem::Deactivate()\n1888 long COlePropertyPage::XPropertyPage::Deactivate()\n1889 int COleServerDoc::DeactivateAndUndo()\n1890 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n1891 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n1892 void COleClientItem::DeactivateUI()\n1893 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n1894 long CWnd::Default()\n1895 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1896 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1897 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n1898 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n1899 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n1900 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n1901 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n1902 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n1903 void CControlBar::DelayShow(int)\n1904 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1905 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n1906 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n1907 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n1908 void CException::Delete()\n1909 void COleClientItem::Delete(int)\n1910 void CRecordset::Delete()\n1911 void CWinThread::Delete()\n1912 void CSplitterWnd::DeleteColumn(int)\n1913 void CDocument::DeleteContents()\n1914 void CEditView::DeleteContents()\n1915 void CHtmlEditDoc::DeleteContents()\n1916 void COleDocument::DeleteContents()\n1917 void COleServerDoc::DeleteContents()\n1918 void CRichEditDoc::DeleteContents()\n1919 void CRichEditView::DeleteContents()\n1920 int CDC::DeleteDC()\n1921 int CImageList::DeleteImageList()\n1922 void CComboBox::DeleteItem(tagDELETEITEM*)\n1923 int CComboBoxEx::DeleteItem(int)\n1924 void CListBox::DeleteItem(tagDELETEITEM*)\n1925 int CGdiObject::DeleteObject()\n1926 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n1927 void CSplitterWnd::DeleteRow(int)\n1928 void CHandleMap::DeleteTemp()\n1929 void CDC::DeleteTempMap()\n1930 void CGdiObject::DeleteTempMap()\n1931 void CImageList::DeleteTempMap()\n1932 void CMenu::DeleteTempMap()\n1933 void CWnd::DeleteTempMap()\n1934 void CRichEditDoc::DeleteUnmarkedItems()const \n1935 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n1936 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n1937 void CSplitterWnd::DeleteView(int,int)\n1938 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1939 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n1940 void COleSafeArray::Destroy()\n1941 int COleControlSite::DestroyControl()\n1942 void COleSafeArray::DestroyData()\n1943 void COleSafeArray::DestroyDescriptor()\n1944 void CFrameWnd::DestroyDockBars()\n1945 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n1946 int CMenu::DestroyMenu()\n1947 void CDHtmlDialog::DestroyModeless()\n1948 void COleControl::DestroySharedMenu()\n1949 void COleDocIPFrameWnd::DestroySharedMenu()\n1950 void COleIPFrameWnd::DestroySharedMenu()\n1951 int CToolTipCtrl::DestroyToolTipCtrl()\n1952 void COleControl::DestroyTracker()\n1953 int CControlBar::DestroyWindow()\n1954 int CMDIChildWnd::DestroyWindow()\n1955 int CWnd::DestroyWindow()\n1956 unsigned int CAsyncSocket::Detach()\n1957 HDC__ * CDC::Detach()\n1958 void * CDialogTemplate::Detach()\n1959 void * CGdiObject::Detach()\n1960 _IMAGELIST * CImageList::Detach()\n1961 unsigned char * CMemFile::Detach()\n1962 HMENU__ * CMenu::Detach()\n1963 int CMonikerFile::Detach(CFileException *)\n1964 IDataObject * COleDataObject::Detach()\n1965 tagVARIANT COleSafeArray::Detach()\n1966 IStream * COleStreamFile::Detach()\n1967 tagVARIANT COleVariant::Detach()\n1968 void * CSharedFile::Detach()\n1969 HDC__ * CWindowlessDC::Detach()\n1970 HWND__ * CWnd::Detach()\n1971 IDispatch * COleDispatchDriver::DetachDispatch()\n1972 void CAsyncSocket::DetachHandle(unsigned int,int)\n1973 void COleControlSite::DetachWindow()\n1974 void CWinApp::DevModeChange(wchar_t *)\n1975 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1976 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1977 int COleServerDoc::DiscardUndoState()\n1978 long COleClientItem::XOleIPSite::DiscardUndoState()\n1979 long COleControlSite::XOleIPSite::DiscardUndoState()\n1980 void COleDispatchImpl::Disconnect()\n1981 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n1982 void CDHtmlDialog::DisconnectDHtmlEvents()\n1983 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n1984 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n1985 void CDocument::DisconnectViews()\n1986 void CWinThread::DispatchThreadMessage(tagMSG *)\n1987 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n1988 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n1989 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n1990 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n1991 void CAsyncSocket::DoCallBack(unsigned int,long)\n1992 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n1993 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n1994 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n1995 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n1996 void COleControl::DoClick()\n1997 int COleFrameHook::DoContextSensitiveHelp(int)\n1998 int COleConvertDialog::DoConvert(COleClientItem *)\n1999 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2000 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2001 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2002 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2003 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2004 int COleFrameHook::DoEnableModeless(int)\n2005 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2006 void CRecordset::DoFieldExchange(CFieldExchange *)\n2007 int CDocument::DoFileSave()\n2008 int CSplitterWnd::DoKeyboardSplit()\n2009 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2010 int CColorDialog::DoModal()\n2011 int CDialog::DoModal()\n2012 int CFileDialog::DoModal()\n2013 int CFontDialog::DoModal()\n2014 int COleBusyDialog::DoModal()\n2015 int COleChangeIconDialog::DoModal()\n2016 int COleChangeSourceDialog::DoModal()\n2017 int COleConvertDialog::DoModal()\n2018 int COleInsertDialog::DoModal(unsigned long)\n2019 int COleInsertDialog::DoModal()\n2020 int COleLinksDialog::DoModal()\n2021 int COlePasteSpecialDialog::DoModal()\n2022 int COlePropertiesDialog::DoModal()\n2023 int COleUpdateDialog::DoModal()\n2024 int CPageSetupDialog::DoModal()\n2025 int CPrintDialog::DoModal()\n2026 int CPrintDialogEx::DoModal()\n2027 int CPropertySheet::DoModal()\n2028 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2029 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2030 void CControlBar::DoPaint(CDC *)\n2031 void CDockBar::DoPaint(CDC *)\n2032 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2033 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2034 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2035 int CView::DoPreparePrinting(CPrintInfo *)\n2036 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2037 int CWinApp::DoPrintDialog(CPrintDialog *)\n2038 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2039 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2040 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2041 void COleControl::DoPropExchange(CPropExchange *)\n2042 int CDocument::DoSave(wchar_t const *,int)\n2043 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2044 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2045 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2046 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2047 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2048 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2049 long COleControlSite::DoVerb(long,tagMSG *)\n2050 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2051 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2052 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2053 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2054 void CWinApp::DoWaitCursor(int)\n2055 void CPreviewView::DoZoom(unsigned int,CPoint)\n2056 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2057 void CDC::DPtoLP(tagSIZE *)const \n2058 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2059 unsigned int CDragListBox::Dragging(CPoint)\n2060 long COleDropTarget::XDropTarget::DragLeave()\n2061 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2062 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2063 void CRectTracker::Draw(CDC *)const \n2064 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2065 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2066 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2067 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2068 void CControlBar::DrawBorders(CDC *,CRect &)\n2069 void COleControl::DrawContent(CDC *,CRect &)\n2070 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2071 void CDockContext::DrawFocusRect(int)\n2072 void CControlBar::DrawGripper(CDC *,CRect const &)\n2073 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2074 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2075 void CDragListBox::DrawInsert(int)\n2076 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2077 void CButton::DrawItem(tagDRAWITEM*)\n2078 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2079 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2080 void CComboBox::DrawItem(tagDRAWITEM*)\n2081 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2082 void CListBox::DrawItem(tagDRAWITEM*)\n2083 void CListCtrl::DrawItem(tagDRAWITEM*)\n2084 void CListView::DrawItem(tagDRAWITEM*)\n2085 void CMenu::DrawItem(tagDRAWITEM*)\n2086 void CStatic::DrawItem(tagDRAWITEM*)\n2087 void CStatusBar::DrawItem(tagDRAWITEM*)\n2088 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2089 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2090 void COleControl::DrawMetafile(CDC *,CRect &)\n2091 void CDragListBox::DrawSingle(int)\n2092 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2093 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2094 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2095 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2096 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2097 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2098 void CDragListBox::Dropped(int,CPoint)\n2099 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2100 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2101 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2102 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2103 CDumpContext & CDumpContext::DumpAsHex(int)\n2104 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2105 CDumpContext & CDumpContext::DumpAsHex(long)\n2106 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2107 long COleControl::XDataObject::DUnadvise(unsigned long)\n2108 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2109 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2110 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2111 CFile * CFile::Duplicate()const \n2112 CFile * CInternetFile::Duplicate()const \n2113 CFile * CMemFile::Duplicate()const \n2114 CFile * COleStreamFile::Duplicate()const \n2115 CFile * CSocketFile::Duplicate()const \n2116 CFile * CStdioFile::Duplicate()const \n2117 unsigned long const CEditView::dwStyleDefault\n2118 void CRecordset::Edit()\n2119 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2120 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2121 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2122 void ATL::CSimpleStringT<char,1>::Empty()\n2123 void CDBException::Empty()\n2124 void COleDataSource::Empty()\n2125 void CCheckListBox::Enable(int,int)\n2126 void CCmdUI::Enable(int)\n2127 void COleCmdUI::Enable(int)\n2128 void CStatusCmdUI::Enable(int)\n2129 void CTestCmdUI::Enable(int)\n2130 void CToolCmdUI::Enable(int)\n2131 void CCmdTarget::EnableAggregation()\n2132 void CCmdTarget::EnableAutomation()\n2133 void CRecordset::EnableBookmarks()\n2134 void CCmdTarget::EnableConnections()\n2135 void CControlBar::EnableDocking(unsigned long)\n2136 void CFrameWnd::EnableDocking(unsigned long)\n2137 void COleControlSite::EnableDSC()\n2138 long CBrowserControlSite::EnableModeless(int)\n2139 long CDHtmlDialog::EnableModeless(int)\n2140 void CWinApp::EnableModeless(int)\n2141 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2142 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2143 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2144 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2145 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2146 void CWnd::EnableScrollBarCtrl(int,int)\n2147 void CWinApp::EnableShellOpen()\n2148 void COleControl::EnableSimpleFrame()\n2149 void CPropertySheet::EnableStackedTabs(int)\n2150 int CInternetSession::EnableStatusCallback(int)\n2151 int CWnd::EnableToolTips(int)\n2152 int CWnd::EnableTrackingToolTips(int)\n2153 void CCmdTarget::EnableTypeLib()\n2154 int COleControlSite::EnableWindow(int)\n2155 int CWnd::EnableWindow(int)\n2156 void COleMessageFilter::EndBusyState()\n2157 void CAsyncMonikerFile::EndCallbacks()\n2158 long COleLinkingDoc::EndDeferErrors(long)\n2159 void CDialog::EndDialog(int)\n2160 void CPropertyPage::EndDialog(int)\n2161 void CPropertySheet::EndDialog(int)\n2162 void CDockContext::EndDrag()\n2163 void CWnd::EndModalLoop(int)\n2164 void CFrameWnd::EndModalState()\n2165 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2166 void CDockContext::EndResize()\n2167 void CCmdTarget::EndWaitCursor()\n2168 void COleDataObject::EnsureClipboardObject()\n2169 long CWnd::EnsureStdObj()\n2170 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2171 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2172 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2173 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2174 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2175 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2176 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2177 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2178 int COlePropertyPage::EnumControls(HWND__ *,long)\n2179 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2180 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2181 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2182 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2183 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2184 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2185 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2186 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2187 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2188 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2189 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2190 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2191 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2192 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2193 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2194 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2195 void CControlBar::EraseNonClient()\n2196 int CFileException::ErrnoToException(int)\n2197 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2198 int CMetaFileDC::Escape(int,int,char const *,void *)\n2199 int CPreviewDC::Escape(int,int,char const *,void *)\n2200 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2201 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2202 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2203 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2204 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2205 int COleControl::ExchangeExtent(CPropExchange *)\n2206 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2207 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2208 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2209 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2210 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2211 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2212 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2213 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2214 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2215 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2216 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2217 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2218 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2219 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2220 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2221 void COleControl::ExchangeStockProps(CPropExchange *)\n2222 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2223 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2224 int CDC::ExcludeClipRect(int,int,int,int)\n2225 int CDC::ExcludeClipRect(tagRECT const *)\n2226 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2227 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2228 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2229 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2230 int CHtmlEditView::ExecHandler(unsigned int)\n2231 int CWnd::ExecuteDlgInit(void *)\n2232 int CWnd::ExecuteDlgInit(wchar_t const *)\n2233 void CRecordset::ExecuteSetPosUpdate()\n2234 void CDatabase::ExecuteSQL(wchar_t const *)\n2235 void CRecordset::ExecuteUpdateSQL()\n2236 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2237 void CFrameWnd::ExitHelpMode()\n2238 int COleControlModule::ExitInstance()\n2239 int CWinApp::ExitInstance()\n2240 int CWinThread::ExitInstance()\n2241 unsigned long CCmdTarget::ExternalAddRef()\n2242 void CCmdTarget::ExternalDisconnect()\n2243 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2244 unsigned long CCmdTarget::ExternalRelease()\n2245 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2246 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2247 void CDataExchange::Fail()\n2248 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2249 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2250 void CArchive::FillBuffer(unsigned int)\n2251 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n2252 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2253 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2254 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2255 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2256 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2257 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2258 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2259 void CWnd::FilterToolTipMessage(tagMSG *)\n2260 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2261 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2262 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2263 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2264 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2265 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2266 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n2267 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n2268 int CDockBar::FindBar(CControlBar *,int)\n2269 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2270 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2271 int CFileFind::FindFile(wchar_t const *,unsigned long)\n2272 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n2273 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n2274 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n2275 __POSITION * CObList::FindIndex(int)const \n2276 __POSITION * CPtrList::FindIndex(int)const \n2277 __POSITION * CStringList::FindIndex(int)const \n2278 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2279 int CFileFind::FindNextFileW()\n2280 int CFtpFileFind::FindNextFileW()\n2281 int CGopherFileFind::FindNextFileW()\n2282 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2283 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2284 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2285 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n2286 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n2287 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n2288 int CEditView::FindTextW(wchar_t const *,int,int)\n2289 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n2290 int COleClientItem::FinishCreate(long)\n2291 void COleControl::FireError(long,wchar_t const *,unsigned int)\n2292 void COleControl::FireEvent(long,unsigned char *,...)\n2293 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2294 void COleControl::FireEventV(long,unsigned char *,char *)\n2295 void CRecordset::Fixups()\n2296 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2297 void CArchive::Flush()\n2298 void CDumpContext::Flush()\n2299 void CFile::Flush()\n2300 void CInternetFile::Flush()\n2301 void CMemFile::Flush()\n2302 void CMonikerFile::Flush()\n2303 void COleStreamFile::Flush()\n2304 void CSocketFile::Flush()\n2305 void CStdioFile::Flush()\n2306 void COleDataSource::FlushClipboard()\n2307 int CRecordset::FlushResultSet()\n2308 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2309 void ATL::CSimpleStringT<char,1>::Fork(int)\n2310 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2311 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2312 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2313 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2314 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n2315 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n2316 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2317 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n2318 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n2319 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n2320 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n2321 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2322 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2323 void COleControl::ForwardActivationMsg(tagMSG *)\n2324 void CAfxStringMgr::Free(ATL::CStringData *)\n2325 void CDatabase::Free()\n2326 void CFixedAlloc::Free(void *)\n2327 void CFixedAllocNoSync::Free(void *)\n2328 void CMemFile::Free(unsigned char *)\n2329 void CSharedFile::Free(unsigned char *)\n2330 void CFixedAlloc::FreeAll()\n2331 void CFixedAllocNoSync::FreeAll()\n2332 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2333 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2334 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2335 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2336 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2337 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2338 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2339 void CRecordset::FreeDataCache()\n2340 void CPlex::FreeDataChain()\n2341 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n2342 void ATL::CSimpleStringT<char,1>::FreeExtra()\n2343 void CByteArray::FreeExtra()\n2344 void CDWordArray::FreeExtra()\n2345 void CObArray::FreeExtra()\n2346 void CPtrArray::FreeExtra()\n2347 void CStringArray::FreeExtra()\n2348 void CUIntArray::FreeExtra()\n2349 void CWordArray::FreeExtra()\n2350 void CObList::FreeNode(CObList::CNode *)\n2351 void CPtrList::FreeNode(CPtrList::CNode *)\n2352 void CStringList::FreeNode(CStringList::CNode *)\n2353 void CRecordset::FreeRowset()\n2354 void CThreadSlotData::FreeSlot(int)\n2355 void CProperty::FreeValue()\n2356 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2357 void COleControlContainer::FreezeAllEvents(int)\n2358 void COleControlSite::FreezeEvents(int)\n2359 long COleControl::XOleControl::FreezeEvents(int)\n2360 int COleClientItem::FreezeLink()\n2361 CDC * CDC::FromHandle(HDC__ *)\n2362 CGdiObject * CGdiObject::FromHandle(void *)\n2363 CObject * CHandleMap::FromHandle(void *)\n2364 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2365 CMenu * CMenu::FromHandle(HMENU__ *)\n2366 CWnd * CWnd::FromHandle(HWND__ *)\n2367 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2368 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2369 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2370 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2371 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2372 CRuntime* CRuntimeClass::FromName(char const *)\n2373 void * CProperty::Get(unsigned long *)\n2374 void * CProperty::Get()\n2375 void * CPropertySection::Get(unsigned long)\n2376 void * CPropertySection::Get(unsigned long,unsigned long *)\n2377 void * CPropertySet::Get(_GUID,unsigned long)\n2378 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2379 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2380 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2381 long CWnd::get_accChildCount(long *)\n2382 long CWnd::XAccessible::get_accChildCount(long *)\n2383 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2384 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2385 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2386 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2387 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2388 long CWnd::get_accFocus(tagVARIANT *)\n2389 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2390 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2391 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2392 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2393 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2394 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2395 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2396 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2397 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2398 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2399 long CWnd::get_accParent(IDispatch * *)\n2400 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2401 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2402 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2403 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2404 long CWnd::get_accSelection(tagVARIANT *)\n2405 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2406 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2407 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2408 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2409 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2410 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2411 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2412 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2413 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2414 long CWnd::GetAccessibleChildCount()\n2415 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2416 unsigned long COleControl::GetActivationPolicy()\n2417 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2418 CDocument * CFrameWnd::GetActiveDocument()\n2419 CFrameWnd * CFrameWnd::GetActiveFrame()\n2420 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n2421 int CPropertySheet::GetActiveIndex()const \n2422 CPropertyPage * CPropertySheet::GetActivePage()const \n2423 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2424 CView * CFrameWnd::GetActiveView()const \n2425 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n2426 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n2427 int CHtmlView::GetAddressBar()const \n2428 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2429 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n2430 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n2431 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n2432 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2433 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2434 short COleControl::GetAppearance()\n2435 IDispatch * CHtmlView::GetApplication()const \n2436 HKEY__ * CWinApp::GetAppRegistryKey()\n2437 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2438 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2439 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2440 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2441 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2442 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2443 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2444 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2445 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2446 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2447 unsigned long COleControl::GetBackColor()\n2448 void CControlBar::GetBarInfo(CControlBarInfo *)\n2449 void CDockBar::GetBarInfo(CControlBarInfo *)\n2450 unsigned long CAsyncMonikerFile::GetBindInfo()const \n2451 void * CBlobProperty::GetBlob()\n2452 void CRecordset::GetBookmark(CDBVariant &)\n2453 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2454 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2455 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2456 short COleControl::GetBorderStyle()\n2457 long CDataSourceControl::GetBoundClientRow()\n2458 int CRecordset::GetBoundFieldIndex(void *)\n2459 int CRecordset::GetBoundParamIndex(void *)\n2460 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2461 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n2462 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2463 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n2464 unsigned int CEditView::GetBufferLength()const \n2465 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2466 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2467 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2468 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2469 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2470 int CHtmlView::GetBusy()const \n2471 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2472 unsigned int CToolBar::GetButtonStyle(int)const \n2473 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n2474 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2475 void COleSafeArray::GetByteArray(CByteArray &)\n2476 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2477 unsigned short CPropertySet::GetByteOrder()\n2478 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2479 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2480 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2481 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2482 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2483 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2484 CWnd * COleControl::GetCapture()\n2485 long COleControlSite::XOleIPSite::GetCapture()\n2486 void CFontDialog::GetCharFormat(_charformatw &)const \n2487 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n2488 int CCheckListBox::GetCheck(int)\n2489 int CListCtrl::GetCheck(int)const \n2490 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2491 int CWnd::GetCheckedRadioButton(int,int)\n2492 long CBlobProperty::GetClassID(_GUID *)\n2493 void COleClientItem::GetClassID(_GUID *)const \n2494 _GUID CPropertySet::GetClassID()\n2495 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2496 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2497 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2498 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2499 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2500 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2501 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n2502 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2503 void COleControl::GetClientOffset(long *,long *)const \n2504 void COleControl::GetClientRect(tagRECT *)const \n2505 IOleClientSite * COleClientItem::GetClientSite()\n2506 IOleClientSite * COleControl::GetClientSite()\n2507 IOleClientSite * CRichEditCntrItem::GetClientSite()\n2508 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2509 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2510 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2511 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2512 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2513 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2514 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2515 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2516 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2517 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2518 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2519 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2520 COleDataSource * COleDataSource::GetClipboardOwner()\n2521 int CDC::GetClipBox(tagRECT *)const \n2522 int CMetaFileDC::GetClipBox(tagRECT *)const \n2523 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n2524 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2525 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2526 int CListCtrl::GetColumnOrderArray(int *,int)\n2527 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n2528 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n2529 void CDatabase::GetConnectInfo()\n2530 int CConnectionPoint::GetConnectionCount()\n2531 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2532 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2533 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2534 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n2535 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n2536 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2537 CPtrArray const * CConnectionPoint::GetConnections()\n2538 IConnectionPointContainer * CConnectionPoint::GetContainer()\n2539 IDispatch * CHtmlView::GetContainer()const \n2540 IOleItemContainer * COleDocument::GetContainer()\n2541 IOleItemContainer * COleLinkingDoc::GetContainer()\n2542 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2543 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2544 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2545 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2546 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2547 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2548 COleControlContainer * CWnd::GetControlContainer()\n2549 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n2550 unsigned long COleControl::GetControlFlags()\n2551 void COleControlSite::GetControlInfo()\n2552 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2553 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n2554 IUnknown * CCmdTarget::GetControllingUnknown()\n2555 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2556 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n2557 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n2558 void COleControl::GetControlSize(int *,int *)\n2559 int COlePropertyPage::GetControlStatus(unsigned int)\n2560 IUnknown * CWnd::GetControlUnknown()\n2561 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2562 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2563 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n2564 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n2565 int CPrintDialog::GetCopies()const \n2566 int CPrintDialogEx::GetCopies()const \n2567 unsigned long CPropertySection::GetCount()\n2568 unsigned long CPropertySet::GetCount()\n2569 int CFileFind::GetCreationTime(ATL::CTime &)const \n2570 int CFileFind::GetCreationTime(_FILETIME *)const \n2571 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2572 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2573 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2574 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2575 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n2576 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2577 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n2578 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n2579 tagMSG const * CWnd::GetCurrentMessage()\n2580 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2581 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2582 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2583 IUnknown * CDataBoundProperty::GetCursor()\n2584 IUnknown * CDataSourceControl::GetCursor()\n2585 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2586 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2587 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n2588 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n2589 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2590 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2591 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2592 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n2593 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2594 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2595 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2596 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2597 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n2598 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2599 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2600 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2601 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2602 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2603 CNoTrackObject * CThreadLocalObject::GetDataNA()\n2604 IDataObject * COleServerItem::GetDataObject()\n2605 COleControl::CControlDataSource * COleControl::GetDataSource()\n2606 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2607 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2608 HACCEL__ * CDocument::GetDefaultAccelerator()\n2609 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n2610 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n2611 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n2612 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n2613 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n2614 short CRecordset::GetDefaultFieldType(short)\n2615 HMENU__ * CDocument::GetDefaultMenu()\n2616 HMENU__ * COleServerDoc::GetDefaultMenu()\n2617 int CPrintDialog::GetDefaults()\n2618 int CPrintDialogEx::GetDefaults()\n2619 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n2620 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2621 unsigned long COleControlSite::GetDefBtnCode()\n2622 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2623 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n2624 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n2625 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n2626 CPoint CScrollView::GetDeviceScrollPosition()const \n2627 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2628 _devicemodeW * CPageSetupDialog::GetDevMode()const \n2629 _devicemodeW * CPrintDialog::GetDevMode()const \n2630 _devicemodeW * CPrintDialogEx::GetDevMode()const \n2631 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2632 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2633 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2634 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2635 DHtmlEventMapEntry const * GetDHtmlEventMap()\n2636 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n2637 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n2638 int CCmdTarget::GetDispatchIID(_GUID *)\n2639 int COleControl::GetDispatchIID(_GUID *)\n2640 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n2641 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n2642 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2643 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n2644 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2645 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2646 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2647 int COleControlSite::GetDlgCtrlID()const \n2648 int CWnd::GetDlgCtrlID()const \n2649 CWnd * COleControlContainer::GetDlgItem(int)const \n2650 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2651 CWnd * CWnd::GetDlgItem(int)const \n2652 void CWnd::GetDlgItem(int,HWND__ * *)const \n2653 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2654 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2655 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n2656 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2657 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n2658 CDockBar * CDockContext::GetDockBar(unsigned long)\n2659 CControlBar * CDockBar::GetDockedControlBar(int)const \n2660 int CDockBar::GetDockedCount()const \n2661 int CDockBar::GetDockedVisibleCount()const \n2662 CFrameWnd * CControlBar::GetDockingFrame()const \n2663 void CFrameWnd::GetDockState(CDockState &)const \n2664 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2665 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2666 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n2667 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2668 int CDocManager::GetDocumentCount()\n2669 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2670 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n2671 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n2672 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n2673 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2674 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2675 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2676 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2677 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2678 IUnknown * CWnd::GetDSCCursor()\n2679 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n2680 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n2681 void COleSafeArray::GetElement(long *,void *)\n2682 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n2683 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n2684 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n2685 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n2686 COleServerItem * COleServerDoc::GetEmbeddedItem()\n2687 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2688 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2689 int COleControl::GetEnabled()\n2690 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2691 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2692 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n2693 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n2694 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2695 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2696 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2697 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2698 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2699 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2700 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2701 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2702 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2703 int COleControlSite::GetEventIID(_GUID *)\n2704 AFX_EVENTMAP const * COleControl::GetEventMap()const \n2705 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n2706 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n2707 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2708 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n2709 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n2710 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n2711 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n2712 unsigned long COleControlSite::GetExStyle()const \n2713 unsigned long CWnd::GetExStyle()const \n2714 IDispatch * COleControl::GetExtendedControl()\n2715 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2716 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2717 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2718 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2719 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2720 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2721 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2722 long CBrowserControlSite::GetExternal(IDispatch * *)\n2723 long CDHtmlDialog::GetExternal(IDispatch * *)\n2724 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2725 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2726 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2727 short CRecordset::GetFieldIndexByName(wchar_t const *)\n2728 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2729 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2730 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2731 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2732 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n2733 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2734 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2735 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n2736 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n2737 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n2738 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n2739 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n2740 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n2741 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n2742 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n2743 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n2744 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n2745 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n2746 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n2747 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n2748 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n2749 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n2750 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n2751 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2752 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n2753 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n2754 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n2755 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n2756 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n2757 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n2758 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n2759 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n2760 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n2761 CFrameWnd * COleDocument::GetFirstFrame()\n2762 __POSITION * CDocument::GetFirstViewPosition()const \n2763 CWnd * COleControl::GetFocus()\n2764 long COleControlSite::XOleIPSite::GetFocus()\n2765 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n2766 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n2767 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n2768 IFontDisp * COleControl::GetFont()\n2769 IFontDisp * CFontHolder::GetFontDispatch()\n2770 HFONT__ * CFontHolder::GetFontHandle(long,long)\n2771 HFONT__ * CFontHolder::GetFontHandle()\n2772 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n2773 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n2774 unsigned long COleControl::GetForeColor()\n2775 _GUID CPropertySection::GetFormatID()\n2776 unsigned short CPropertySet::GetFormatVersion()\n2777 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n2778 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n2779 int CHtmlView::GetFullScreen()const \n2780 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n2781 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n2782 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n2783 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n2784 CBrush * CDC::GetHalftoneBrush()\n2785 unsigned int CRectTracker::GetHandleMask()const \n2786 void CRectTracker::GetHandleRect(int,CRect *)const \n2787 int CRectTracker::GetHandleSize(tagRECT const *)const \n2788 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n2789 long CHtmlView::GetHeight()const \n2790 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n2791 void CSplitterWnd::GetHitRect(int,CRect &)\n2792 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n2793 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n2794 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n2795 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n2796 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n2797 IDispatch * CHtmlView::GetHtmlDocument()const \n2798 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n2799 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n2800 unsigned int COleControl::GetHwnd()\n2801 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n2802 HICON__ * COleClientItem::GetIconFromRegistry()const \n2803 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n2804 void * COleClientItem::GetIconicMetafile()\n2805 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n2806 unsigned long CProperty::GetID()\n2807 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n2808 IDataObject * COleDataObject::GetIDataObject(int)\n2809 IDispatch * CCmdTarget::GetIDispatch(int)\n2810 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2811 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2812 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2813 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2814 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2815 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2816 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n2817 _GUID const & COleControl::XEventConnPt::GetIID()\n2818 CImageList * CReBarCtrl::GetImageList()const \n2819 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n2820 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n2821 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n2822 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n2823 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n2824 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n2825 CWnd * COleClientItem::GetInPlaceWindow()\n2826 void CSplitterWnd::GetInsideRect(CRect &)const \n2827 IUnknown * CCmdTarget::GetInterface(void const *)\n2828 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n2829 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n2830 IUnknown * COleControl::GetInterfaceHook(void const *)\n2831 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n2832 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n2833 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n2834 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n2835 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n2836 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n2837 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n2838 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n2839 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n2840 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n2841 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n2842 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n2843 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n2844 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n2845 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n2846 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n2847 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n2848 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n2849 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n2850 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n2851 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n2852 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n2853 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n2854 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n2855 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n2856 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n2857 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n2858 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n2859 void COleServerDoc::GetItemClipRect(tagRECT *)const \n2860 unsigned long CListCtrl::GetItemData(int)const \n2861 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n2862 unsigned int CStatusBar::GetItemID(int)const \n2863 unsigned int CToolBar::GetItemID(int)const \n2864 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n2865 void COleClientItem::GetItemName(wchar_t *)const \n2866 void COleServerDoc::GetItemPosition(tagRECT *)const \n2867 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n2868 void CStatusBar::GetItemRect(int,tagRECT *)const \n2869 void CToolBar::GetItemRect(int,tagRECT *)const \n2870 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n2871 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n2872 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n2873 void COleClientItem::GetItemStorage()\n2874 void COleClientItem::GetItemStorageCompound()\n2875 void COleClientItem::GetItemStorageFlat()\n2876 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n2877 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n2878 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n2879 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n2880 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n2881 int CFileFind::GetLastAccessTime(_FILETIME *)const \n2882 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n2883 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n2884 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n2885 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n2886 int CFileFind::GetLastWriteTime(_FILETIME *)const \n2887 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n2888 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n2889 unsigned long CDC::GetLayout()const \n2890 long CRecordset::GetLBFetchSize(long)\n2891 void COleSafeArray::GetLBound(unsigned long,long *)\n2892 long CRecordset::GetLBReallocSize(long)\n2893 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2894 long CHtmlView::GetLeft()const \n2895 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n2896 int ATL::CSimpleStringT<char,1>::GetLength()const \n2897 unsigned __int64 CFile::GetLength()const \n2898 unsigned __int64 CFileFind::GetLength()const \n2899 unsigned __int64 CGopherFileFind::GetLength()const \n2900 unsigned __int64 CInternetFile::GetLength()const \n2901 unsigned __int64 CMemFile::GetLength()const \n2902 unsigned __int64 COleStreamFile::GetLength()const \n2903 unsigned __int64 CSocketFile::GetLength()const \n2904 unsigned __int64 CStdioFile::GetLength()const \n2905 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n2906 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n2907 int CRichEditCtrl::GetLine(int,wchar_t *)const \n2908 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n2909 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n2910 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n2911 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n2912 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n2913 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n2914 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n2915 CPtrList * CPropertySection::GetList()\n2916 CPtrList * CPropertySet::GetList()\n2917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n2918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n2919 CGopherLocator CGopherFileFind::GetLocator()const \n2920 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n2921 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n2922 long CFieldExchange::GetLongBinarySize(int)\n2923 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n2924 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n2925 CWnd * CWinThread::GetMainWnd()\n2926 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n2927 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n2928 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n2929 int CConnectionPoint::GetMaxConnections()\n2930 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n2931 int CHtmlView::GetMenuBar()const \n2932 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n2933 CWnd * CFrameWnd::GetMessageBar()\n2934 CWnd * CMDIChildWnd::GetMessageBar()\n2935 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n2936 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n2937 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n2938 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n2939 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n2940 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n2941 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n2942 AFX_MSGMAP const * CDialog::GetMessageMap()const \n2943 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n2944 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n2945 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n2946 AFX_MSGMAP const * CDocument::GetMessageMap()const \n2947 AFX_MSGMAP const * CEditView::GetMessageMap()const \n2948 AFX_MSGMAP const * CFormView::GetMessageMap()const \n2949 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n2950 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n2951 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n2952 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n2953 AFX_MSGMAP const * CListView::GetMessageMap()const \n2954 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n2955 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n2956 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n2957 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n2958 AFX_MSGMAP const * COleControl::GetMessageMap()const \n2959 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n2960 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n2961 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n2962 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n2963 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n2964 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n2965 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n2966 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n2967 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n2968 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n2969 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n2970 AFX_MSGMAP const * CReBar::GetMessageMap()const \n2971 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n2972 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n2973 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n2974 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n2975 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n2976 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n2977 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n2978 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n2979 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n2980 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n2981 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n2982 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n2983 AFX_MSGMAP const * CView::GetMessageMap()const \n2984 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n2985 AFX_MSGMAP const * CWnd::GetMessageMap()const \n2986 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2987 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2988 long CDataSourceControl::GetMetaData()\n2989 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2990 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n2991 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2992 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2993 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2994 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n2995 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n2996 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n2997 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n2998 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n2999 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3000 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3001 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3002 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3003 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3004 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3005 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3006 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3007 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3008 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3009 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3010 unsigned long COleClientItem::GetNewItemNumber()\n3011 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3012 CDataBoundProperty * CDataBoundProperty::GetNext()\n3013 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3014 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3015 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n3016 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n3017 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3018 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3019 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3020 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3021 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3022 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3023 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3024 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3025 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3026 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3027 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3028 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3029 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3030 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3031 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3032 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3033 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3034 CView * CDocument::GetNextView(__POSITION * &)const \n3035 ATL::CStringData * CAfxStringMgr::GetNilString()\n3036 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3037 void CCmdTarget::GetNotSupported()\n3038 void COleControl::GetNotSupported()\n3039 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3040 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3041 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3042 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n3043 unsigned int CArchive::GetObjectSchema()\n3044 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3045 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n3046 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3047 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3048 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n3049 int CHtmlView::GetOffline()const \n3050 tagOFNW & CFileDialog::GetOFN()\n3051 tagOFNW const & CFileDialog::GetOFN()const \n3052 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3053 IOleObject * COleServerItem::GetOleObject()\n3054 unsigned long COleSafeArray::GetOneDimSize()\n3055 int CDocManager::GetOpenDocumentCount()\n3056 int CWinApp::GetOpenDocumentCount()\n3057 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3058 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3059 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3060 int CHeaderCtrl::GetOrderArray(int *,int)\n3061 unsigned long CPropertySet::GetOSVersion()\n3062 CWnd * COleControl::GetOuterWindow()const \n3063 int COleDocObjectItem::GetPageCount(long *,long *)\n3064 int CPropertySheet::GetPageCount()const \n3065 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3066 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3067 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3068 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3069 IPropertyPageSite * COlePropertyPage::GetPageSite()\n3070 CWnd * CSplitterWnd::GetPane(int,int)const \n3071 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3072 unsigned int CStatusBar::GetPaneStyle(int)const \n3073 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n3074 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3075 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3076 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3077 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n3078 IDispatch * CHtmlView::GetParentBrowser()const \n3079 CFrameWnd * CWnd::GetParentFrame()const \n3080 CWnd * CWnd::GetParentOwner()const \n3081 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n3083 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3084 IPictureDisp * CPictureHolder::GetPictureDispatch()\n3085 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n3086 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n3087 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n3088 unsigned __int64 CFile::GetPosition()const \n3089 unsigned __int64 CMemFile::GetPosition()const \n3090 unsigned __int64 COleStreamFile::GetPosition()const \n3091 unsigned __int64 CSocketFile::GetPosition()const \n3092 unsigned __int64 CStdioFile::GetPosition()const \n3093 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3094 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3095 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3096 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3097 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3098 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3099 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n3100 CFont * CEditView::GetPrinterFont()const \n3101 long CAsyncMonikerFile::GetPriority()const \n3102 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n3103 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n3104 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n3105 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n3106 COleVariant CHtmlView::GetProperty(wchar_t const *)\n3107 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3108 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3109 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3110 CProperty * CPropertySection::GetProperty(unsigned long)\n3111 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3112 void CWnd::GetProperty(long,unsigned short,void *)const \n3113 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n3114 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3115 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n3116 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3117 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n3118 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n3119 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n3120 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n3121 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n3122 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n3123 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n3124 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n3125 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n3126 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n3127 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n3128 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3129 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3130 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3131 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3132 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3133 void CProgressCtrl::GetRange(int &,int &)\n3134 void CSliderCtrl::GetRange(int &,int &)const \n3135 void CSpinButtonCtrl::GetRange(int &,int &)const \n3136 void * CProperty::GetRawValue()\n3137 enum tagREADYSTATE CHtmlView::GetReadyState()const \n3138 long COleControl::GetReadyState()\n3139 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3140 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3141 int COleControl::GetRectInContainer(tagRECT *)\n3142 int CHtmlView::GetRegisterAsBrowser()const \n3143 int CHtmlView::GetRegisterAsDropTarget()const \n3144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n3145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n3146 CFrameWnd * CCmdTarget::GetRoutingFrame()\n3147 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n3148 CView * CCmdTarget::GetRoutingView()\n3149 CView * CCmdTarget::GetRoutingView_()\n3150 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3151 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n3152 CRuntime* CArchiveException::GetRuntimeClass()const \n3153 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n3154 CRuntime* CAsyncSocket::GetRuntimeClass()const \n3155 CRuntime* CBitmap::GetRuntimeClass()const \n3156 CRuntime* CBitmapButton::GetRuntimeClass()const \n3157 CRuntime* CBrush::GetRuntimeClass()const \n3158 CRuntime* CButton::GetRuntimeClass()const \n3159 CRuntime* CByteArray::GetRuntimeClass()const \n3160 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n3161 CRuntime* CCheckListBox::GetRuntimeClass()const \n3162 CRuntime* CClientDC::GetRuntimeClass()const \n3163 CRuntime* CCmdTarget::GetRuntimeClass()const \n3164 CRuntime* CColorDialog::GetRuntimeClass()const \n3165 CRuntime* CComboBox::GetRuntimeClass()const \n3166 CRuntime* CComboBoxEx::GetRuntimeClass()const \n3167 CRuntime* CControlBar::GetRuntimeClass()const \n3168 CRuntime* CCriticalSection::GetRuntimeClass()const \n3169 CRuntime* CCtrlView::GetRuntimeClass()const \n3170 CRuntime* CDatabase::GetRuntimeClass()const \n3171 CRuntime* CDataPathProperty::GetRuntimeClass()const \n3172 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n3173 CRuntime* CDBException::GetRuntimeClass()const \n3174 CRuntime* CDC::GetRuntimeClass()const \n3175 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n3176 CRuntime* CDialog::GetRuntimeClass()const \n3177 CRuntime* CDialogBar::GetRuntimeClass()const \n3178 CRuntime* CDocItem::GetRuntimeClass()const \n3179 CRuntime* CDockBar::GetRuntimeClass()const \n3180 CRuntime* CDockState::GetRuntimeClass()const \n3181 CRuntime* CDocManager::GetRuntimeClass()const \n3182 CRuntime* CDocObjectServer::GetRuntimeClass()const \n3183 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n3184 CRuntime* CDocTemplate::GetRuntimeClass()const \n3185 CRuntime* CDocument::GetRuntimeClass()const \n3186 CRuntime* CDragListBox::GetRuntimeClass()const \n3187 CRuntime* CDWordArray::GetRuntimeClass()const \n3188 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n3189 CRuntime* CEdit::GetRuntimeClass()const \n3190 CRuntime* CEditView::GetRuntimeClass()const \n3191 CRuntime* CEvent::GetRuntimeClass()const \n3192 CRuntime* CException::GetRuntimeClass()const \n3193 CRuntime* CFile::GetRuntimeClass()const \n3194 CRuntime* CFileDialog::GetRuntimeClass()const \n3195 CRuntime* CFileException::GetRuntimeClass()const \n3196 CRuntime* CFileFind::GetRuntimeClass()const \n3197 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n3198 CRuntime* CFont::GetRuntimeClass()const \n3199 CRuntime* CFontDialog::GetRuntimeClass()const \n3200 CRuntime* CFormView::GetRuntimeClass()const \n3201 CRuntime* CFrameWnd::GetRuntimeClass()const \n3202 CRuntime* CFtpConnection::GetRuntimeClass()const \n3203 CRuntime* CFtpFileFind::GetRuntimeClass()const \n3204 CRuntime* CGdiObject::GetRuntimeClass()const \n3205 CRuntime* CGopherConnection::GetRuntimeClass()const \n3206 CRuntime* CGopherFile::GetRuntimeClass()const \n3207 CRuntime* CGopherFileFind::GetRuntimeClass()const \n3208 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n3209 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n3210 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n3211 CRuntime* CHtmlEditView::GetRuntimeClass()const \n3212 CRuntime* CHtmlView::GetRuntimeClass()const \n3213 CRuntime* CHttpConnection::GetRuntimeClass()const \n3214 CRuntime* CHttpFile::GetRuntimeClass()const \n3215 CRuntime* CImageList::GetRuntimeClass()const \n3216 CRuntime* CInternetConnection::GetRuntimeClass()const \n3217 CRuntime* CInternetException::GetRuntimeClass()const \n3218 CRuntime* CInternetFile::GetRuntimeClass()const \n3219 CRuntime* CInternetSession::GetRuntimeClass()const \n3220 CRuntime* CInvalidArgException::GetRuntimeClass()const \n3221 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n3222 CRuntime* CLinkCtrl::GetRuntimeClass()const \n3223 CRuntime* CListBox::GetRuntimeClass()const \n3224 CRuntime* CListCtrl::GetRuntimeClass()const \n3225 CRuntime* CListView::GetRuntimeClass()const \n3226 CRuntime* CLongBinary::GetRuntimeClass()const \n3227 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n3228 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n3229 CRuntime* CMapStringToOb::GetRuntimeClass()const \n3230 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n3231 CRuntime* CMapStringToString::GetRuntimeClass()const \n3232 CRuntime* CMapWordToOb::GetRuntimeClass()const \n3233 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n3234 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n3235 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n3236 CRuntime* CMemFile::GetRuntimeClass()const \n3237 CRuntime* CMemoryException::GetRuntimeClass()const \n3238 CRuntime* CMenu::GetRuntimeClass()const \n3239 CRuntime* CMetaFileDC::GetRuntimeClass()const \n3240 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n3241 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n3242 CRuntime* CMonikerFile::GetRuntimeClass()const \n3243 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n3244 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n3245 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n3246 CRuntime* CMutex::GetRuntimeClass()const \n3247 CRuntime* CNotSupportedException::GetRuntimeClass()const \n3248 CRuntime* CObArray::GetRuntimeClass()const \n3249 CRuntime* CObject::GetRuntimeClass()const \n3250 CRuntime* CObList::GetRuntimeClass()const \n3251 CRuntime* COleBusyDialog::GetRuntimeClass()const \n3252 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n3253 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n3254 CRuntime* COleClientItem::GetRuntimeClass()const \n3255 CRuntime* COleControl::GetRuntimeClass()const \n3256 CRuntime* COleControlModule::GetRuntimeClass()const \n3257 CRuntime* COleConvertDialog::GetRuntimeClass()const \n3258 CRuntime* COleDBRecordView::GetRuntimeClass()const \n3259 CRuntime* COleDialog::GetRuntimeClass()const \n3260 CRuntime* COleDispatchException::GetRuntimeClass()const \n3261 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n3262 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n3263 CRuntime* COleDocument::GetRuntimeClass()const \n3264 CRuntime* COleException::GetRuntimeClass()const \n3265 CRuntime* COleInsertDialog::GetRuntimeClass()const \n3266 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n3267 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n3268 CRuntime* COleLinksDialog::GetRuntimeClass()const \n3269 CRuntime* COleObjectFactory::GetRuntimeClass()const \n3270 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n3271 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n3272 CRuntime* COlePropertyPage::GetRuntimeClass()const \n3273 CRuntime* COleResizeBar::GetRuntimeClass()const \n3274 CRuntime* COleServerDoc::GetRuntimeClass()const \n3275 CRuntime* COleServerItem::GetRuntimeClass()const \n3276 CRuntime* COleStreamFile::GetRuntimeClass()const \n3277 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n3278 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n3279 CRuntime* CPaintDC::GetRuntimeClass()const \n3280 CRuntime* CPalette::GetRuntimeClass()const \n3281 CRuntime* CPen::GetRuntimeClass()const \n3282 CRuntime* CPreviewDC::GetRuntimeClass()const \n3283 CRuntime* CPreviewView::GetRuntimeClass()const \n3284 CRuntime* CPrintDialog::GetRuntimeClass()const \n3285 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n3286 CRuntime* CProgressCtrl::GetRuntimeClass()const \n3287 CRuntime* CPropertyPage::GetRuntimeClass()const \n3288 CRuntime* CPropertySheet::GetRuntimeClass()const \n3289 CRuntime* CPtrArray::GetRuntimeClass()const \n3290 CRuntime* CPtrList::GetRuntimeClass()const \n3291 CRuntime* CReBar::GetRuntimeClass()const \n3292 CRuntime* CReBarCtrl::GetRuntimeClass()const \n3293 CRuntime* CRecordset::GetRuntimeClass()const \n3294 CRuntime* CRecordView::GetRuntimeClass()const \n3295 CRuntime* CResourceException::GetRuntimeClass()const \n3296 CRuntime* CRgn::GetRuntimeClass()const \n3297 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n3298 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n3299 CRuntime* CRichEditDoc::GetRuntimeClass()const \n3300 CRuntime* CRichEditView::GetRuntimeClass()const \n3301 CRuntime* CScrollBar::GetRuntimeClass()const \n3302 CRuntime* CScrollView::GetRuntimeClass()const \n3303 CRuntime* CSemaphore::GetRuntimeClass()const \n3304 CRuntime* CSharedFile::GetRuntimeClass()const \n3305 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n3306 CRuntime* CSliderCtrl::GetRuntimeClass()const \n3307 CRuntime* CSocket::GetRuntimeClass()const \n3308 CRuntime* CSocketFile::GetRuntimeClass()const \n3309 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n3310 CRuntime* CSplitterWnd::GetRuntimeClass()const \n3311 CRuntime* CStatic::GetRuntimeClass()const \n3312 CRuntime* CStatusBar::GetRuntimeClass()const \n3313 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n3314 CRuntime* CStdioFile::GetRuntimeClass()const \n3315 CRuntime* CStringArray::GetRuntimeClass()const \n3316 CRuntime* CStringList::GetRuntimeClass()const \n3317 CRuntime* CSyncObject::GetRuntimeClass()const \n3318 CRuntime* CTabCtrl::GetRuntimeClass()const \n3319 CRuntime* CToolBar::GetRuntimeClass()const \n3320 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n3321 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n3322 CRuntime* CTreeCtrl::GetRuntimeClass()const \n3323 CRuntime* CTreeView::GetRuntimeClass()const \n3324 CRuntime* CUIntArray::GetRuntimeClass()const \n3325 CRuntime* CUserException::GetRuntimeClass()const \n3326 CRuntime* CView::GetRuntimeClass()const \n3327 CRuntime* CWinApp::GetRuntimeClass()const \n3328 CRuntime* CWindowDC::GetRuntimeClass()const \n3329 CRuntime* CWindowlessDC::GetRuntimeClass()const \n3330 CRuntime* CWinThread::GetRuntimeClass()const \n3331 CRuntime* CWnd::GetRuntimeClass()const \n3332 CRuntime* CWordArray::GetRuntimeClass()const \n3333 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3334 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3335 unsigned long * CColorDialog::GetSavedCustomColors()\n3336 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n3337 CSize CDockState::GetScreenSize()\n3338 CScrollBar * CView::GetScrollBarCtrl(int)const \n3339 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3340 void CScrollView::GetScrollBarSizes(CSize &)\n3341 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3342 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3343 int CWnd::GetScrollLimit(int)\n3344 int CWnd::GetScrollPos(int)const \n3345 CPoint CScrollView::GetScrollPosition()const \n3346 void CWnd::GetScrollRange(int,int *,int *)const \n3347 unsigned long CSplitterWnd::GetScrollStyle()const \n3348 CPropertySection * CPropertySet::GetSection(_GUID)\n3349 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n3350 wchar_t const * CPropertySection::GetSectionName()\n3351 void CRichEditCtrl::GetSel(long &,long &)const \n3352 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n3353 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3354 void CSliderCtrl::GetSelection(int &,int &)const \n3355 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n3356 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n3357 unsigned int COleConvertDialog::GetSelectionType()const \n3358 unsigned int COleInsertDialog::GetSelectionType()const \n3359 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n3360 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3361 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3362 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3363 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n3364 int CHtmlView::GetSilent()const \n3365 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3366 unsigned long CPropertySection::GetSize()\n3367 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3368 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3369 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3370 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3371 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3372 CWnd * CSplitterWnd::GetSizingParent()\n3373 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3374 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3375 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3376 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3377 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n3378 wchar_t const * CHtmlEditView::GetStartDocument()\n3379 __POSITION * CConnectionPoint::GetStartPosition()const \n3380 __POSITION * COleDocument::GetStartPosition()const \n3381 __POSITION * CRichEditDoc::GetStartPosition()const \n3382 int CFile::GetStatus(CFileStatus &)const \n3383 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n3384 int CMemFile::GetStatus(CFileStatus &)const \n3385 int COleStreamFile::GetStatus(CFileStatus &)const \n3386 int CHtmlView::GetStatusBar()const \n3387 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n3388 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n3389 IStream * COleStreamFile::GetStream()const \n3390 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n3391 char const * ATL::CSimpleStringT<char,1>::GetString()const \n3392 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3393 unsigned long COleControlSite::GetStyle()const \n3394 unsigned long COleControlSiteOrWnd::GetStyle()const \n3395 unsigned long CWnd::GetStyle()const \n3396 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n3397 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n3398 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3399 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3400 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3401 wchar_t * COleControl::GetText()\n3402 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n3403 int CStatusBarCtrl::GetText(wchar_t *,int,int *)const \n3404 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n3405 long CRecordset::GetTextLen(short,unsigned long)\n3406 int CStatusBarCtrl::GetTextLength(int,int *)const \n3407 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3408 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3409 int CHtmlView::GetTheaterMode()const \n3410 CRuntime* CAnimateCtrl::GetThisClass()\n3411 CRuntime* CArchiveException::GetThisClass()\n3412 CRuntime* CAsyncMonikerFile::GetThisClass()\n3413 CRuntime* CAsyncSocket::GetThisClass()\n3414 CRuntime* CBitmap::GetThisClass()\n3415 CRuntime* CBitmapButton::GetThisClass()\n3416 CRuntime* CBrush::GetThisClass()\n3417 CRuntime* CButton::GetThisClass()\n3418 CRuntime* CByteArray::GetThisClass()\n3419 CRuntime* CCachedDataPathProperty::GetThisClass()\n3420 CRuntime* CCheckListBox::GetThisClass()\n3421 CRuntime* CClientDC::GetThisClass()\n3422 CRuntime* CCmdTarget::GetThisClass()\n3423 CRuntime* CColorDialog::GetThisClass()\n3424 CRuntime* CComboBox::GetThisClass()\n3425 CRuntime* CComboBoxEx::GetThisClass()\n3426 CRuntime* CControlBar::GetThisClass()\n3427 CRuntime* CCriticalSection::GetThisClass()\n3428 CRuntime* CCtrlView::GetThisClass()\n3429 CRuntime* CDatabase::GetThisClass()\n3430 CRuntime* CDataPathProperty::GetThisClass()\n3431 CRuntime* CDateTimeCtrl::GetThisClass()\n3432 CRuntime* CDBException::GetThisClass()\n3433 CRuntime* CDC::GetThisClass()\n3434 CRuntime* CDHtmlDialog::GetThisClass()\n3435 CRuntime* CDialog::GetThisClass()\n3436 CRuntime* CDialogBar::GetThisClass()\n3437 CRuntime* CDocItem::GetThisClass()\n3438 CRuntime* CDockBar::GetThisClass()\n3439 CRuntime* CDockState::GetThisClass()\n3440 CRuntime* CDocManager::GetThisClass()\n3441 CRuntime* CDocObjectServer::GetThisClass()\n3442 CRuntime* CDocObjectServerItem::GetThisClass()\n3443 CRuntime* CDocTemplate::GetThisClass()\n3444 CRuntime* CDocument::GetThisClass()\n3445 CRuntime* CDragListBox::GetThisClass()\n3446 CRuntime* CDWordArray::GetThisClass()\n3447 CRuntime* CDynLinkLibrary::GetThisClass()\n3448 CRuntime* CEdit::GetThisClass()\n3449 CRuntime* CEditView::GetThisClass()\n3450 CRuntime* CEvent::GetThisClass()\n3451 CRuntime* CException::GetThisClass()\n3452 CRuntime* CFile::GetThisClass()\n3453 CRuntime* CFileDialog::GetThisClass()\n3454 CRuntime* CFileException::GetThisClass()\n3455 CRuntime* CFileFind::GetThisClass()\n3456 CRuntime* CFindReplaceDialog::GetThisClass()\n3457 CRuntime* CFont::GetThisClass()\n3458 CRuntime* CFontDialog::GetThisClass()\n3459 CRuntime* CFormView::GetThisClass()\n3460 CRuntime* CFrameWnd::GetThisClass()\n3461 CRuntime* CFtpConnection::GetThisClass()\n3462 CRuntime* CFtpFileFind::GetThisClass()\n3463 CRuntime* CGdiObject::GetThisClass()\n3464 CRuntime* CGopherConnection::GetThisClass()\n3465 CRuntime* CGopherFile::GetThisClass()\n3466 CRuntime* CGopherFileFind::GetThisClass()\n3467 CRuntime* CHeaderCtrl::GetThisClass()\n3468 CRuntime* CHotKeyCtrl::GetThisClass()\n3469 CRuntime* CHtmlEditDoc::GetThisClass()\n3470 CRuntime* CHtmlEditView::GetThisClass()\n3471 CRuntime* CHtmlView::GetThisClass()\n3472 CRuntime* CHttpConnection::GetThisClass()\n3473 CRuntime* CHttpFile::GetThisClass()\n3474 CRuntime* CImageList::GetThisClass()\n3475 CRuntime* CInternetConnection::GetThisClass()\n3476 CRuntime* CInternetException::GetThisClass()\n3477 CRuntime* CInternetFile::GetThisClass()\n3478 CRuntime* CInternetSession::GetThisClass()\n3479 CRuntime* CInvalidArgException::GetThisClass()\n3480 CRuntime* CIPAddressCtrl::GetThisClass()\n3481 CRuntime* CLinkCtrl::GetThisClass()\n3482 CRuntime* CListBox::GetThisClass()\n3483 CRuntime* CListCtrl::GetThisClass()\n3484 CRuntime* CListView::GetThisClass()\n3485 CRuntime* CLongBinary::GetThisClass()\n3486 CRuntime* CMapPtrToPtr::GetThisClass()\n3487 CRuntime* CMapPtrToWord::GetThisClass()\n3488 CRuntime* CMapStringToOb::GetThisClass()\n3489 CRuntime* CMapStringToPtr::GetThisClass()\n3490 CRuntime* CMapStringToString::GetThisClass()\n3491 CRuntime* CMapWordToOb::GetThisClass()\n3492 CRuntime* CMapWordToPtr::GetThisClass()\n3493 CRuntime* CMDIChildWnd::GetThisClass()\n3494 CRuntime* CMDIFrameWnd::GetThisClass()\n3495 CRuntime* CMemFile::GetThisClass()\n3496 CRuntime* CMemoryException::GetThisClass()\n3497 CRuntime* CMenu::GetThisClass()\n3498 CRuntime* CMetaFileDC::GetThisClass()\n3499 CRuntime* CMiniDockFrameWnd::GetThisClass()\n3500 CRuntime* CMiniFrameWnd::GetThisClass()\n3501 CRuntime* CMonikerFile::GetThisClass()\n3502 CRuntime* CMonthCalCtrl::GetThisClass()\n3503 CRuntime* CMultiDocTemplate::GetThisClass()\n3504 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n3505 CRuntime* CMutex::GetThisClass()\n3506 CRuntime* CNotSupportedException::GetThisClass()\n3507 CRuntime* CObArray::GetThisClass()\n3508 CRuntime* CObject::GetThisClass()\n3509 CRuntime* CObList::GetThisClass()\n3510 CRuntime* COleBusyDialog::GetThisClass()\n3511 CRuntime* COleChangeIconDialog::GetThisClass()\n3512 CRuntime* COleChangeSourceDialog::GetThisClass()\n3513 CRuntime* COleClientItem::GetThisClass()\n3514 CRuntime* COleControl::GetThisClass()\n3515 CRuntime* COleControlModule::GetThisClass()\n3516 CRuntime* COleConvertDialog::GetThisClass()\n3517 CRuntime* COleDBRecordView::GetThisClass()\n3518 CRuntime* COleDialog::GetThisClass()\n3519 CRuntime* COleDispatchException::GetThisClass()\n3520 CRuntime* COleDocIPFrameWnd::GetThisClass()\n3521 CRuntime* COleDocObjectItem::GetThisClass()\n3522 CRuntime* COleDocument::GetThisClass()\n3523 CRuntime* COleException::GetThisClass()\n3524 CRuntime* COleInsertDialog::GetThisClass()\n3525 CRuntime* COleIPFrameWnd::GetThisClass()\n3526 CRuntime* COleLinkingDoc::GetThisClass()\n3527 CRuntime* COleLinksDialog::GetThisClass()\n3528 CRuntime* COleObjectFactory::GetThisClass()\n3529 CRuntime* COlePasteSpecialDialog::GetThisClass()\n3530 CRuntime* COlePropertiesDialog::GetThisClass()\n3531 CRuntime* COlePropertyPage::GetThisClass()\n3532 CRuntime* COleResizeBar::GetThisClass()\n3533 CRuntime* COleServerDoc::GetThisClass()\n3534 CRuntime* COleServerItem::GetThisClass()\n3535 CRuntime* COleStreamFile::GetThisClass()\n3536 CRuntime* COleUpdateDialog::GetThisClass()\n3537 CRuntime* CPageSetupDialog::GetThisClass()\n3538 CRuntime* CPaintDC::GetThisClass()\n3539 CRuntime* CPalette::GetThisClass()\n3540 CRuntime* CPen::GetThisClass()\n3541 CRuntime* CPreviewDC::GetThisClass()\n3542 CRuntime* CPreviewView::GetThisClass()\n3543 CRuntime* CPrintDialog::GetThisClass()\n3544 CRuntime* CPrintDialogEx::GetThisClass()\n3545 CRuntime* CProgressCtrl::GetThisClass()\n3546 CRuntime* CPropertyPage::GetThisClass()\n3547 CRuntime* CPropertySheet::GetThisClass()\n3548 CRuntime* CPtrArray::GetThisClass()\n3549 CRuntime* CPtrList::GetThisClass()\n3550 CRuntime* CReBar::GetThisClass()\n3551 CRuntime* CReBarCtrl::GetThisClass()\n3552 CRuntime* CRecordset::GetThisClass()\n3553 CRuntime* CRecordView::GetThisClass()\n3554 CRuntime* CResourceException::GetThisClass()\n3555 CRuntime* CRgn::GetThisClass()\n3556 CRuntime* CRichEditCntrItem::GetThisClass()\n3557 CRuntime* CRichEditCtrl::GetThisClass()\n3558 CRuntime* CRichEditDoc::GetThisClass()\n3559 CRuntime* CRichEditView::GetThisClass()\n3560 CRuntime* CScrollBar::GetThisClass()\n3561 CRuntime* CScrollView::GetThisClass()\n3562 CRuntime* CSemaphore::GetThisClass()\n3563 CRuntime* CSharedFile::GetThisClass()\n3564 CRuntime* CSingleDocTemplate::GetThisClass()\n3565 CRuntime* CSliderCtrl::GetThisClass()\n3566 CRuntime* CSocket::GetThisClass()\n3567 CRuntime* CSocketFile::GetThisClass()\n3568 CRuntime* CSpinButtonCtrl::GetThisClass()\n3569 CRuntime* CSplitterWnd::GetThisClass()\n3570 CRuntime* CStatic::GetThisClass()\n3571 CRuntime* CStatusBar::GetThisClass()\n3572 CRuntime* CStatusBarCtrl::GetThisClass()\n3573 CRuntime* CStdioFile::GetThisClass()\n3574 CRuntime* CStringArray::GetThisClass()\n3575 CRuntime* CStringList::GetThisClass()\n3576 CRuntime* CSyncObject::GetThisClass()\n3577 CRuntime* CTabCtrl::GetThisClass()\n3578 CRuntime* CToolBar::GetThisClass()\n3579 CRuntime* CToolBarCtrl::GetThisClass()\n3580 CRuntime* CToolTipCtrl::GetThisClass()\n3581 CRuntime* CTreeCtrl::GetThisClass()\n3582 CRuntime* CTreeView::GetThisClass()\n3583 CRuntime* CUIntArray::GetThisClass()\n3584 CRuntime* CUserException::GetThisClass()\n3585 CRuntime* CView::GetThisClass()\n3586 CRuntime* CWinApp::GetThisClass()\n3587 CRuntime* CWindowDC::GetThisClass()\n3588 CRuntime* CWindowlessDC::GetThisClass()\n3589 CRuntime* CWinThread::GetThisClass()\n3590 CRuntime* CWnd::GetThisClass()\n3591 CRuntime* CWordArray::GetThisClass()\n3592 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n3593 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n3594 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n3595 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n3596 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n3597 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n3598 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n3599 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n3600 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n3601 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n3602 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n3603 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n3604 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n3605 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n3606 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n3607 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n3608 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n3609 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n3610 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n3611 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n3612 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n3613 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n3614 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n3615 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n3616 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n3617 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n3618 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n3619 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n3620 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n3621 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n3622 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n3623 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n3624 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n3625 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n3626 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n3627 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n3628 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n3629 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n3630 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n3631 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n3632 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n3633 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n3634 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n3635 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n3636 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n3637 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n3638 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n3639 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n3640 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n3641 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n3642 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n3643 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n3644 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n3645 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n3646 AFX_MSGMAP const * CListView::GetThisMessageMap()\n3647 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n3648 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n3649 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n3650 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n3651 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n3652 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n3653 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n3654 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n3655 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n3656 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n3657 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n3658 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n3659 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n3660 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n3661 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n3662 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n3663 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n3664 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n3665 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n3666 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n3667 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n3668 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n3669 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n3670 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n3671 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n3672 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n3673 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n3674 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n3675 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n3676 AFX_MSGMAP const * CView::GetThisMessageMap()\n3677 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n3678 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n3679 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n3680 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n3681 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n3682 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n3683 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n3684 int CHtmlView::GetToolBar()const \n3685 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n3686 long CHtmlView::GetTop()const \n3687 int CHtmlView::GetTopLevelContainer()const \n3688 CFrameWnd * CWnd::GetTopLevelFrame()const \n3689 CWnd * CWnd::GetTopLevelOwner()const \n3690 CWnd * CWnd::GetTopLevelParent()const \n3691 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n3692 void CRectTracker::GetTrueRect(tagRECT *)const \n3693 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n3694 short CPictureHolder::GetType()\n3695 unsigned long CProperty::GetType()\n3696 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3697 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3698 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3699 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3700 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3701 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3702 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n3703 unsigned int CCmdTarget::GetTypeInfoCount()\n3704 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n3705 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n3706 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n3707 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n3708 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n3709 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n3710 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n3711 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n3712 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n3713 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n3714 void COleSafeArray::GetUBound(unsigned long,long *)\n3715 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n3716 long COleControl::XOleObject::GetUserClassID(_GUID *)\n3717 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n3718 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n3719 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n3720 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3721 void COleControl::GetUserType(wchar_t *)\n3722 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3723 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3724 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3725 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n3726 void * CMapPtrToPtr::GetValueAt(void *)const \n3727 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n3728 unsigned long CDockState::GetVersion()\n3729 CHtmlEditView * CHtmlEditDoc::GetView()const \n3730 CRichEditView * CRichEditDoc::GetView()const \n3731 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n3732 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n3733 int CHtmlView::GetVisible()const \n3734 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n3735 long CHtmlView::GetWidth()const \n3736 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3737 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n3738 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n3739 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n3740 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n3741 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n3742 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n3743 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n3744 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3745 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3746 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3747 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n3748 long CWnd::GetWindowedChildCount()\n3749 long CWnd::GetWindowLessChildCount()\n3750 IDropTarget * COleControl::GetWindowlessDropTarget()\n3751 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n3752 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n3753 int CWnd::GetWindowTextLengthW()const \n3754 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3755 int CWnd::GetWindowTextW(wchar_t *,int)const \n3756 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3757 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n3758 long COleDropSource::GiveFeedback(unsigned long)\n3759 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n3760 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n3761 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n3762 void CMemFile::GrowFile(unsigned long)\n3763 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n3764 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n3765 long CDialog::HandleInitDialog(unsigned int,long)\n3766 long CDialogBar::HandleInitDialog(unsigned int,long)\n3767 long CFormView::HandleInitDialog(unsigned int,long)\n3768 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n3769 long CPropertySheet::HandleInitDialog(unsigned int,long)\n3770 long CScrollView::HandleMButtonDown(unsigned int,long)\n3771 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n3772 int COleControlContainer::HandleSetFocus()\n3773 long CDialog::HandleSetFont(unsigned int,long)\n3774 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n3775 long COleControl::XPersistStorage::HandsOffStorage()\n3776 long COleServerDoc::XPersistStorage::HandsOffStorage()\n3777 int COleDocument::HasBlankItems()const \n3778 int CDialogTemplate::HasFont()const \n3779 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n3780 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n3781 void * CFile::hFileNull\n3782 void CWinApp::HideApplication()\n3783 void CFileDialog::HideControl(int)\n3784 long CBrowserControlSite::HideUI()\n3785 long CDHtmlDialog::HideUI()\n3786 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n3787 void CDC::HIMETRICtoDP(tagSIZE *)const \n3788 void CDC::HIMETRICtoLP(tagSIZE *)const \n3789 int CListCtrl::HitTest(CPoint,unsigned int *)const \n3790 int CRectTracker::HitTest(CPoint)const \n3791 int CSplitterWnd::HitTest(CPoint)const \n3792 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n3793 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n3794 int CRectTracker::HitTestHandles(CPoint)const \n3795 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n3796 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n3797 int CSplitterWnd::IdFromRowCol(int,int)const \n3798 void COlePropertyPage::IgnoreApply(unsigned int)\n3799 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n3800 int CWinApp::InitApplication()\n3801 long COleControl::XOleCache::InitCache(IDataObject *)\n3802 int CWnd::InitControlContainer(int)\n3803 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n3804 long CPrintDialogEx::InitDone()\n3805 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3806 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3807 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3808 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n3809 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n3810 void CMapPtrToWord::InitHashTable(unsigned int,int)\n3811 void CMapStringToOb::InitHashTable(unsigned int,int)\n3812 void CMapStringToPtr::InitHashTable(unsigned int,int)\n3813 void CMapStringToString::InitHashTable(unsigned int,int)\n3814 void CMapWordToOb::InitHashTable(unsigned int,int)\n3815 void CMapWordToPtr::InitHashTable(unsigned int,int)\n3816 long CDataSourceControl::Initialize()\n3817 void CDHtmlDialog::Initialize()\n3818 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n3819 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n3820 int CEditView::InitializeReplace()\n3821 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n3822 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n3823 int COleControlModule::InitInstance()\n3824 int CWinApp::InitInstance()\n3825 int CWinThread::InitInstance()\n3826 void CWinApp::InitLibId()\n3827 void CDockContext::InitLoop()\n3828 int CDialog::InitModalIndirect(void *,CWnd *)\n3829 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n3830 long COleControl::XPersistMemory::InitNew()\n3831 long COleControl::XPersistPropertyBag::InitNew()\n3832 long COleControl::XPersistStorage::InitNew(IStorage *)\n3833 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n3834 long COleControl::XPersistStreamInit::InitNew()\n3835 void CRecordset::InitRecord()\n3836 void COleControl::InitStockEventMask()\n3837 void COleControl::InitStockPropMask()\n3838 void CSimpleException::InitString()\n3839 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n3840 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n3841 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n3842 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n3843 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n3844 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n3845 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n3846 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n3847 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n3848 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3849 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n3850 void CByteArray::InsertAt(int,unsigned char,int)\n3851 void CByteArray::InsertAt(int,CByteArray *)\n3852 void CDWordArray::InsertAt(int,unsigned long,int)\n3853 void CDWordArray::InsertAt(int,CDWordArray *)\n3854 void CObArray::InsertAt(int,CObArray *)\n3855 void CObArray::InsertAt(int,CObject *,int)\n3856 void CPtrArray::InsertAt(int,CPtrArray *)\n3857 void CPtrArray::InsertAt(int,void *,int)\n3858 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n3859 void CStringArray::InsertAt(int,CStringArray const *)\n3860 void CStringArray::InsertAt(int,wchar_t const *,int)\n3861 void CUIntArray::InsertAt(int,unsigned int,int)\n3862 void CUIntArray::InsertAt(int,CUIntArray *)\n3863 void CWordArray::InsertAt(int,unsigned short,int)\n3864 void CWordArray::InsertAt(int,CWordArray *)\n3865 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n3866 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n3867 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n3868 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n3869 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n3870 void CStringArray::InsertEmpty(int,int)\n3871 void CRichEditView::InsertFileAsObject(wchar_t const *)\n3872 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n3873 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n3874 long CRichEditView::InsertItem(CRichEditCntrItem *)\n3875 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n3876 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n3877 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n3878 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3879 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n3880 CFontHolder & COleControl::InternalGetFont()\n3881 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n3882 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n3883 unsigned long CCmdTarget::InternalRelease()\n3884 int CDC::IntersectClipRect(int,int,int,int)\n3885 int CDC::IntersectClipRect(tagRECT const *)\n3886 void CCheckListBox::InvalidateCheck(int)\n3887 void COleControl::InvalidateControl(tagRECT const *,int)\n3888 void CCheckListBox::InvalidateItem(int)\n3889 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n3890 void COleControl::InvalidateRgn(CRgn *,int)\n3891 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n3892 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3893 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3894 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3895 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3896 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3897 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3898 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n3899 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n3900 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3901 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3902 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n3903 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3904 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n3905 int CDocItem::IsBlank()const \n3906 int COleServerItem::IsBlank()const \n3907 int CPropertyPage::IsButtonEnabled(int)\n3908 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n3909 int COleServerItem::IsConnected()const \n3910 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n3911 int COleControlSite::IsDefaultButton()\n3912 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n3913 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n3914 int CWnd::IsDialogMessageW(tagMSG *)\n3915 long CBlobProperty::IsDirty()\n3916 long COleLinkingDoc::XPersistFile::IsDirty()\n3917 long COleControl::XPersistMemory::IsDirty()\n3918 long COleControl::XPersistStorage::IsDirty()\n3919 long COleServerDoc::XPersistStorage::IsDirty()\n3920 long COleControl::XPersistStreamInit::IsDirty()\n3921 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n3922 unsigned int CWnd::IsDlgButtonChecked(int)const \n3923 int CControlBar::IsDockBar()const \n3924 int CDockBar::IsDockBar()const \n3925 int CFileFind::IsDots()const \n3926 int CGopherFileFind::IsDots()const \n3927 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n3928 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n3929 int CCheckListBox::IsEnabled(int)\n3930 int CDHtmlDialog::IsExternalDispatchSafe()\n3931 int CRecordset::IsFieldDirty(void *)\n3932 int CRecordset::IsFieldNull(void *)\n3933 int CRecordset::IsFieldNullable(void *)\n3934 int CRecordset::IsFieldNullable(unsigned long)const \n3935 int CRecordset::IsFieldStatusDirty(unsigned long)const \n3936 int CRecordset::IsFieldStatusNull(unsigned long)const \n3937 int CFieldExchange::IsFieldType(unsigned int *)\n3938 int CControlBar::IsFloating()const \n3939 int CFrameWnd::IsFrameWnd()const \n3940 int CWnd::IsFrameWnd()const \n3941 int IsHelpKey(tagMSG *)\n3942 int CWinThread::IsIdleMessage(tagMSG *)\n3943 int CCmdTarget::IsInvokeAllowed(long)\n3944 int COleControl::IsInvokeAllowed(long)\n3945 int CRecordset::IsJoin(wchar_t const *)\n3946 int CObject::IsKindOf(CRuntimeconst *)const \n3947 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n3948 int COccManager::IsLabelControl(CWnd *)\n3949 int COleObjectFactory::IsLicenseValid()\n3950 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n3951 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n3952 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n3953 int CHtmlEditDoc::IsModified()\n3954 int COleClientItem::IsModified()const \n3955 int COleControl::IsModified()\n3956 int COlePropertyPage::IsModified()\n3957 int CRichEditDoc::IsModified()\n3958 int CRecordView::IsOnFirstRecord()\n3959 int CRecordView::IsOnLastRecord()\n3960 int CRecordset::IsOpen()const \n3961 long COlePropertyPage::XPropertyPage::IsPageDirty()\n3962 int CRecordset::IsParamStatusNull(unsigned long)const \n3963 int CRecordset::IsRecordsetUpdatable()\n3964 int CCmdTarget::IsResultExpected()\n3965 int CRichEditView::IsRichEditFormat(unsigned short)\n3966 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n3967 int CRichEditView::IsSelected(CObject const *)const \n3968 int CView::IsSelected(CObject const *)const \n3969 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n3970 int CObject::IsSerializable()const \n3971 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n3972 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n3973 int CRecordset::IsSQLUpdatable(wchar_t const *)\n3974 int COleControl::IsSubclassedControl()\n3975 int CWnd::IsTopParentActive()const \n3976 int CFrameWnd::IsTracking()const \n3977 long CDocObjectServer::XOleObject::IsUpToDate()\n3978 long COleControl::XOleObject::IsUpToDate()\n3979 long COleServerDoc::XOleObject::IsUpToDate()\n3980 long COleServerItem::XOleObject::IsUpToDate()\n3981 int CControlBar::IsVisible()const \n3982 int COleControlSite::IsWindowEnabled()const \n3983 int CWnd::IsWindowEnabled()const \n3984 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n3985 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n3986 void COleControl::KeyDown(unsigned short *)\n3987 void COleControl::KeyUp(unsigned short *)\n3988 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n3989 void CToolBar::Layout()\n3990 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n3991 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n3992 int CRichEditCtrl::LineIndex(int)const \n3993 int CRichEditCtrl::LineLength(int)const \n3994 void CRichEditCtrl::LineScroll(int,int)\n3995 int CDC::LineTo(int,int)\n3996 unsigned long CRichEditView::lMaxSize\n3997 long CBlobProperty::Load(IStream *)\n3998 int CDialogTemplate::Load(wchar_t const *)\n3999 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n4000 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4001 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4002 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4003 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4004 long COleControl::XPersistStorage::Load(IStorage *)\n4005 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4006 long COleControl::XPersistStreamInit::Load(IStream *)\n4007 int CFrameWnd::LoadAccelTable(wchar_t const *)\n4008 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n4009 void CFrameWnd::LoadBarState(wchar_t const *)\n4010 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n4011 int CToolBar::LoadBitmapW(wchar_t const *)\n4012 void CRecordset::LoadFields()\n4013 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4014 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4015 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4016 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4017 int CDHtmlDialog::LoadFromResource(unsigned int)\n4018 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n4019 int CHtmlView::LoadFromResource(unsigned int)\n4020 int CHtmlView::LoadFromResource(wchar_t const *)\n4021 void COleDocument::LoadFromStorage()\n4022 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n4023 void CDockState::LoadState(wchar_t const *)\n4024 long COleControl::LoadState(IStream *)\n4025 void CWinApp::LoadStdProfileSettings(unsigned int)\n4026 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n4027 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4028 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4029 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n4030 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4031 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4032 int CWinApp::LoadSysPolicies()\n4033 void CDocTemplate::LoadTemplate()\n4034 void CMultiDocTemplate::LoadTemplate()\n4035 int CToolBar::LoadToolBar(wchar_t const *)\n4036 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4037 void COleSafeArray::Lock()\n4038 int CSingleLock::Lock(unsigned long)\n4039 int CSyncObject::Lock(unsigned long)\n4040 void CTypeLibCache::Lock()\n4041 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n4042 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n4043 wchar_t const * CEditView::LockBuffer()const \n4044 long COleControlContainer::XOleContainer::LockContainer(int)\n4045 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4046 void COleLinkingDoc::LockExternal(int,int)\n4047 int COleControl::LockInPlaceActive(int)\n4048 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4049 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4050 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4051 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4052 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4053 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4054 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4055 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4056 long COleObjectFactory::XClassFactory::LockServer(int)\n4057 int CMapPtrToPtr::Lookup(void *,void * &)const \n4058 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4059 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n4060 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n4061 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4062 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4063 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4064 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4065 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4066 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4067 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4068 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n4069 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n4070 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n4071 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4072 void CDC::LPtoDP(tagSIZE *)const \n4073 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4074 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n4075 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n4076 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n4077 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n4078 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n4079 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n4080 void CArchive::MapObject(CObject const *)\n4081 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4082 int COleDialog::MapResult(unsigned int)\n4083 long CPropertyPage::MapWizardResult(long)\n4084 void CRecordset::MarkForAddNew()\n4085 void CRecordset::MarkForUpdate()\n4086 void CRichEditDoc::MarkItemsClear()const \n4087 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n4088 int CFileFind::MatchesMask(unsigned long)const \n4089 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4090 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4091 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4092 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4093 void CListBox::MeasureItem(tagMEASUREITEM*)\n4094 void CMenu::MeasureItem(tagMEASUREITEM*)\n4095 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n4096 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4097 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4098 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4099 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4102 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4103 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4104 void CPreviewDC::MirrorAttributes()\n4105 void CPreviewDC::MirrorFont()\n4106 void CPreviewDC::MirrorMappingMode(int)\n4107 void CPreviewDC::MirrorViewportOrg()\n4108 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4109 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4110 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4111 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4112 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4113 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4114 void CDockContext::Move(CPoint)\n4115 void CRecordset::Move(long,unsigned short)\n4116 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4117 CPoint CDC::MoveTo(int,int)\n4118 void COleControlSite::MoveWindow(int,int,int,int)\n4119 void CWnd::MoveWindow(int,int,int,int,int)\n4120 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4121 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4122 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n4123 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4124 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n4125 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4126 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4127 unsigned int COleDropSource::nDragDelay\n4128 unsigned int COleDropSource::nDragMinDist\n4129 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4130 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n4131 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n4132 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n4133 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n4134 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n4135 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n4136 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n4137 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4138 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4139 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4140 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4141 unsigned int const CEditView::nMaxSize\n4142 int CRectTracker::NormalizeHit(int)const \n4143 void CDataBoundProperty::Notify()\n4144 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4145 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4146 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4147 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4148 void COleServerDoc::NotifyRename(wchar_t const *)\n4149 unsigned int COleDropTarget::nScrollDelay\n4150 int COleDropTarget::nScrollInset\n4151 unsigned int COleDropTarget::nScrollInterval\n4152 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n4153 int CDC::OffsetClipRgn(int,int)\n4154 int CDC::OffsetClipRgn(tagSIZE)\n4155 CPoint CDC::OffsetViewportOrg(int,int)\n4156 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4157 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4158 CPoint CDC::OffsetWindowOrg(int,int)\n4159 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4160 void CAsyncSocket::OnAccept(int)\n4161 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4162 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4163 void COleClientItem::OnActivate()\n4164 void COleFrameHook::OnActivate(int)\n4165 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4166 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4167 long COleControl::OnActivateInPlace(int,tagMSG *)\n4168 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4169 long CWnd::OnActivateTopLevel(unsigned int,long)\n4170 void COleClientItem::OnActivateUI()\n4171 long CDocObjectServer::OnActivateView()\n4172 void CFormView::OnActivateView(int,CView *,CView *)\n4173 void CPreviewView::OnActivateView(int,CView *,CView *)\n4174 void CRichEditView::OnActivateView(int,CView *,CView *)\n4175 void CView::OnActivateView(int,CView *,CView *)\n4176 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4177 void CConnectionPoint::OnAdvise(int)\n4178 void COleControl::XEventConnPt::OnAdvise(int)\n4179 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4180 void COleControl::OnAmbientPropertyChange(long)\n4181 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4182 void COleControl::OnAppearanceChanged()\n4183 void CWinApp::OnAppExit()\n4184 int CPropertyPage::OnApply()\n4185 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4186 void CDocObjectServer::OnApplyViewState(CArchive &)\n4187 void COleControl::OnBackColorChanged()\n4188 int CFrameWnd::OnBarCheck(unsigned int)\n4189 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4190 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4191 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4192 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4193 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n4194 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n4195 int COleDropSource::OnBeginDrag(CWnd *)\n4196 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4197 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4198 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4199 void COleControl::OnBorderStyleChanged()\n4200 void CRichEditView::OnBullet()\n4201 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4202 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4203 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4204 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4205 void CCommonDialog::OnCancel()\n4206 void CDialog::OnCancel()\n4207 void CPropertyPage::OnCancel()\n4208 void CRichEditView::OnCancelEditCntr()\n4209 void COleControl::OnCancelMode()\n4210 void CSplitterWnd::OnCancelMode()\n4211 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4212 long COleControl::XFontNotification::OnChanged(long)\n4213 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4214 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4215 void CRectTracker::OnChangedRect(CRect const &)\n4216 void CDocument::OnChangedViewList()\n4217 int COleClientItem::OnChangeItemPosition(CRect const &)\n4218 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4219 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4220 void CRichEditView::OnCharBold()\n4221 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4222 void CRichEditView::OnCharItalic()\n4223 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4224 void CRichEditView::OnCharUnderline()\n4225 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4226 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4227 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4228 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4229 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4230 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4231 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4232 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4233 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4234 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4235 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4236 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4237 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4238 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4239 void COleControl::OnClick(unsigned short)\n4240 CEnumArray * CEnumArray::OnClone()\n4241 CEnumArray * CEnumConnections::OnClone()\n4242 void CAsyncSocket::OnClose(int)\n4243 void CControlFrameWnd::OnClose()\n4244 void CFrameWnd::OnClose()\n4245 void CMiniDockFrameWnd::OnClose()\n4246 void COleControl::OnClose(unsigned long)\n4247 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4248 void CPropertySheet::OnClose()\n4249 void COleClientItem::XAdviseSink::OnClose()\n4250 void CDocObjectServer::OnCloseDocument()\n4251 void CDocument::OnCloseDocument()\n4252 void COleDocument::OnCloseDocument()\n4253 void COleLinkingDoc::OnCloseDocument()\n4254 void COleServerDoc::OnCloseDocument()\n4255 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4256 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4257 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4258 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4259 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4260 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4261 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4262 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4263 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4264 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4265 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4266 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4267 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4268 void CRichEditView::OnColorDefault()\n4269 int CColorDialog::OnColorOK()\n4270 void CRichEditView::OnColorPick(unsigned long)\n4271 int CFrameWnd::OnCommand(unsigned int,long)\n4272 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4273 int COlePropertyPage::OnCommand(unsigned int,long)\n4274 int CPropertySheet::OnCommand(unsigned int,long)\n4275 int CSplitterWnd::OnCommand(unsigned int,long)\n4276 int CWnd::OnCommand(unsigned int,long)\n4277 long CDialog::OnCommandHelp(unsigned int,long)\n4278 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4279 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4280 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4281 void CHtmlView::OnCommandStateChange(long,int)\n4282 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4283 void CAsyncSocket::OnConnect(int)\n4284 void CFrameWnd::OnContextHelp()\n4285 int COleFrameHook::OnContextHelp(int)\n4286 void COleIPFrameWnd::OnContextHelp()\n4287 void CWinApp::OnContextHelp()\n4288 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n4289 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n4290 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n4291 int CEditView::OnCreate(tagCREATESTRUCTW *)\n4292 int CFormView::OnCreate(tagCREATESTRUCTW *)\n4293 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4294 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n4295 int COleControl::OnCreate(tagCREATESTRUCTW *)\n4296 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4297 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n4298 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n4299 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n4300 int CView::OnCreate(tagCREATESTRUCTW *)\n4301 int CCmdTarget::OnCreateAggregates()\n4302 int COleControl::OnCreateAggregates()\n4303 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4304 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4305 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4306 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4307 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n4308 CCmdTarget * COleObjectFactory::OnCreateObject()\n4309 CCmdTarget * COleTemplateServer::OnCreateObject()\n4310 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4311 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4312 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4313 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4314 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4315 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4316 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4317 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4318 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4319 int CDocManager::OnDDECommand(wchar_t *)\n4320 int CWinApp::OnDDECommand(wchar_t *)\n4321 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4322 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4323 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4324 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n4325 void COleClientItem::OnDeactivate()\n4326 void COleServerDoc::OnDeactivate()\n4327 void COleClientItem::OnDeactivateAndUndo()\n4328 void COleClientItem::OnDeactivateUI(int)\n4329 void COleServerDoc::OnDeactivateUI(int)\n4330 void CRichEditCntrItem::OnDeactivateUI(int)\n4331 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4332 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4333 void CControlBar::OnDestroy()\n4334 void CDHtmlDialog::OnDestroy()\n4335 void CEditView::OnDestroy()\n4336 void CFrameWnd::OnDestroy()\n4337 void CHtmlView::OnDestroy()\n4338 void CMDIChildWnd::OnDestroy()\n4339 void CMDIFrameWnd::OnDestroy()\n4340 void COleControl::OnDestroy()\n4341 void COleIPFrameWnd::OnDestroy()\n4342 void CRichEditView::OnDestroy()\n4343 void CTabCtrl::OnDestroy()\n4344 void CTreeCtrl::OnDestroy()\n4345 void CTreeView::OnDestroy()\n4346 void CView::OnDestroy()\n4347 void CWnd::OnDestroy()\n4348 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4349 void CRichEditView::OnDevModeChange(wchar_t *)\n4350 void CWnd::OnDevModeChange(wchar_t *)\n4351 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4352 void COleClientItem::OnDiscardUndoState()\n4353 void CSplitterWnd::OnDisplayChange()\n4354 long CWnd::OnDisplayChange(unsigned int,long)\n4355 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4356 int COleFrameHook::OnDocActivate(int)\n4357 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n4358 void CHtmlView::OnDocumentComplete(wchar_t const *)\n4359 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4360 long CBrowserControlSite::OnDocWindowActivate(int)\n4361 long CDHtmlDialog::OnDocWindowActivate(int)\n4362 long CHtmlView::OnDocWindowActivate(int)\n4363 void COleServerDoc::OnDocWindowActivate(int)\n4364 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4365 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4366 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4367 void CDocObjectServerItem::OnDoVerb(long)\n4368 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4369 void COleServerItem::OnDoVerb(long)\n4370 void CHtmlView::OnDownloadBegin()\n4371 void CHtmlView::OnDownloadComplete()\n4372 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4373 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4374 void COleDropTarget::OnDragLeave(CWnd *)\n4375 void CView::OnDragLeave()\n4376 long CWnd::OnDragList(unsigned int,long)\n4377 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4378 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4379 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4380 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4381 void CCtrlView::OnDraw(CDC *)\n4382 void CFormView::OnDraw(CDC *)\n4383 void CHtmlView::OnDraw(CDC *)\n4384 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4385 void CPreviewView::OnDraw(CDC *)\n4386 void CView::OnDraw(CDC *)\n4387 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4388 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4389 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4390 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4391 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4392 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4393 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4394 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4395 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4396 void CFrameWnd::OnDropFiles(HDROP__ *)\n4397 void CRichEditView::OnDropFiles(HDROP__ *)\n4398 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4399 int CEditView::OnEditChange()\n4400 void COleDocument::OnEditChangeIcon()\n4401 void CEditView::OnEditClear()\n4402 void CRichEditView::OnEditClear()\n4403 void COleDocument::OnEditConvert()\n4404 void CEditView::OnEditCopy()\n4405 void CHtmlView::OnEditCopy()\n4406 void CRichEditView::OnEditCopy()\n4407 void CEditView::OnEditCut()\n4408 void CHtmlView::OnEditCut()\n4409 void CRichEditView::OnEditCut()\n4410 void CEditView::OnEditFind()\n4411 void CRichEditView::OnEditFind()\n4412 void CEditView::OnEditFindReplace(int)\n4413 void CRichEditView::OnEditFindReplace(int)\n4414 void COleDocument::OnEditLinks()\n4415 void CEditView::OnEditPaste()\n4416 void CHtmlView::OnEditPaste()\n4417 void CRichEditView::OnEditPaste()\n4418 void CRichEditView::OnEditPasteSpecial()\n4419 void CRichEditView::OnEditProperties()\n4420 int COlePropertyPage::OnEditProperty(long)\n4421 void CRichEditView::OnEditRedo()\n4422 void CEditView::OnEditRepeat()\n4423 void CRichEditView::OnEditRepeat()\n4424 void CEditView::OnEditReplace()\n4425 void CRichEditView::OnEditReplace()\n4426 void CEditView::OnEditSelectAll()\n4427 void CRichEditView::OnEditSelectAll()\n4428 void CEditView::OnEditUndo()\n4429 void CRichEditView::OnEditUndo()\n4430 void CFrameWnd::OnEnable(int)\n4431 void CToolTipCtrl::OnEnable(int)\n4432 void COleControl::OnEnabledChanged()\n4433 long CHtmlView::OnEnableModeless(int)\n4434 void COleFrameHook::OnEnableModeless(int)\n4435 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4436 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4437 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4438 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4439 void CFrameWnd::OnEndSession(int)\n4440 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4441 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4442 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4443 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4444 int CFrameWnd::OnEraseBkgnd(CDC *)\n4445 int COleControl::OnEraseBkgnd(CDC *)\n4446 int COleResizeBar::OnEraseBkgnd(CDC *)\n4447 int CPreviewView::OnEraseBkgnd(CDC *)\n4448 int CReBar::OnEraseBkgnd(CDC *)\n4449 int CToolBar::OnEraseBkgnd(CDC *)\n4450 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4451 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4452 int COleControlSite::OnEvent(AFX_EVENT *)\n4453 void COleControl::OnEventAdvise(int)\n4454 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4455 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4456 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4457 void CDocument::OnFileClose()\n4458 void CFileDialog::OnFileNameChange()\n4459 int CFileDialog::OnFileNameOK()\n4460 void CDocManager::OnFileNew()\n4461 void CWinApp::OnFileNew()\n4462 void CDocManager::OnFileOpen()\n4463 void CWinApp::OnFileOpen()\n4464 void CHtmlView::OnFilePrint()\n4465 void CView::OnFilePrint()\n4466 void CView::OnFilePrintPreview()\n4467 void CWinApp::OnFilePrintSetup()\n4468 void CDocument::OnFileSave()\n4469 void CDocument::OnFileSaveAs()\n4470 void COleServerDoc::OnFileSaveCopyAs()\n4471 void CDocument::OnFileSendMail()\n4472 void COleDocument::OnFileSendMail()\n4473 void COleServerDoc::OnFileUpdate()\n4474 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4475 void CCmdTarget::OnFinalRelease()\n4476 void CDocument::OnFinalRelease()\n4477 void COleControl::OnFinalRelease()\n4478 void COlePropertyPage::OnFinalRelease()\n4479 void COleServerItem::OnFinalRelease()\n4480 void CWnd::OnFinalRelease()\n4481 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n4482 void CEditView::OnFindNext(wchar_t const *,int,int)\n4483 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n4484 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4485 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4486 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4487 long COleControlSite::XOleControlSite::OnFocus(int)\n4488 void CFileDialog::OnFolderChange()\n4489 void COleControl::OnFontChanged()\n4490 void COleControl::OnForeColorChanged()\n4491 void CRichEditView::OnFormatFont()\n4492 void COleControl::OnFrameClose()\n4493 long CBrowserControlSite::OnFrameWindowActivate(int)\n4494 long CDHtmlDialog::OnFrameWindowActivate(int)\n4495 long CHtmlView::OnFrameWindowActivate(int)\n4496 void COleServerDoc::OnFrameWindowActivate(int)\n4497 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4498 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4499 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4500 void COleControl::OnFreezeEvents(int)\n4501 void CHtmlView::OnFullScreen(int)\n4502 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4503 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4504 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4505 void COleClientItem::OnGetClipRect(CRect &)\n4506 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4507 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4508 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4509 unsigned int COleControl::OnGetDlgCode()\n4510 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4511 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n4512 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4513 long CHtmlView::OnGetExternal(IDispatch * *)\n4514 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4515 HMENU__ * COleControl::OnGetInPlaceMenu()\n4516 void COleClientItem::OnGetItemPosition(CRect &)\n4517 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4518 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n4519 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n4520 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4521 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4522 long CWnd::OnGetObject(unsigned int,long)\n4523 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4524 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4525 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4526 long CStatusBar::OnGetText(unsigned int,long)\n4527 long CStatusBar::OnGetTextLength(unsigned int,long)\n4528 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4529 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4530 unsigned long COleControl::OnGetViewStatus()\n4531 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4532 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4533 void CFrameWnd::OnHelp()\n4534 int COlePropertyPage::OnHelp(wchar_t const *)\n4535 void CWinApp::OnHelp()\n4536 void CWnd::OnHelp()\n4537 void CWinApp::OnHelpFinder()\n4538 void CWnd::OnHelpFinder()\n4539 long CControlBar::OnHelpHitTest(unsigned int,long)\n4540 long CDialog::OnHelpHitTest(unsigned int,long)\n4541 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4542 void CWinApp::OnHelpIndex()\n4543 void CWnd::OnHelpIndex()\n4544 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4545 int CWnd::OnHelpInfo(tagHELPINFO *)\n4546 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4547 void CWinApp::OnHelpUsing()\n4548 void CWnd::OnHelpUsing()\n4549 void CDocObjectServerItem::OnHide()\n4550 long COleControl::OnHide()\n4551 void COleServerItem::OnHide()\n4552 void COleControl::OnHideToolBars()\n4553 long CHtmlView::OnHideUI()\n4554 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4555 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4556 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4557 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4558 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4559 void CDocTemplate::OnIdle()\n4560 void CDocument::OnIdle()\n4561 void COleDocument::OnIdle()\n4562 int CWinApp::OnIdle(long)\n4563 int CWinThread::OnIdle(long)\n4564 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4565 void CFrameWnd::OnIdleUpdateCmdUI()\n4566 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n4567 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n4568 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n4569 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4570 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4571 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4572 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4573 int CDHtmlDialog::OnInitDialog()\n4574 int CDialog::OnInitDialog()\n4575 int COlePropertiesDialog::OnInitDialog()\n4576 int COlePropertyPage::OnInitDialog()\n4577 int CPropertySheet::OnInitDialog()\n4578 void CFileDialog::OnInitDone()\n4579 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4580 void CControlBar::OnInitialUpdate()\n4581 void CFormView::OnInitialUpdate()\n4582 void COleDBRecordView::OnInitialUpdate()\n4583 void CRecordView::OnInitialUpdate()\n4584 void CRichEditView::OnInitialUpdate()\n4585 void CView::OnInitialUpdate()\n4586 void CFrameWnd::OnInitMenu(CMenu *)\n4587 void COleFrameHook::OnInitMenu(CMenu *)\n4588 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n4589 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n4590 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n4591 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n4592 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n4593 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n4594 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n4595 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n4596 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n4597 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4598 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n4599 void CRichEditView::OnInsertObject()\n4600 void CSplitterWnd::OnInvertTracker(CRect const &)\n4601 void CDockContext::OnKey(int,int)\n4602 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4603 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4604 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4605 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n4606 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n4607 void COleControl::OnKeyPressEvent(unsigned short)\n4608 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n4609 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n4610 long CPropertySheet::OnKickIdle(unsigned int,long)\n4611 int CPropertyPage::OnKillActive()\n4612 void COleControl::OnKillFocus(CWnd *)\n4613 long CCheckListBox::OnLBAddString(unsigned int,long)\n4614 long CCheckListBox::OnLBFindString(unsigned int,long)\n4615 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n4616 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n4617 long CCheckListBox::OnLBGetText(unsigned int,long)\n4618 long CCheckListBox::OnLBInsertString(unsigned int,long)\n4619 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n4620 long CCheckListBox::OnLBSelectString(unsigned int,long)\n4621 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n4622 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n4623 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n4624 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n4625 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n4626 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n4627 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n4628 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n4629 void COleControl::OnLButtonDown(unsigned int,CPoint)\n4630 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n4631 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n4632 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n4633 void COleControl::OnLButtonUp(unsigned int,CPoint)\n4634 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n4635 void CAsyncMonikerFile::OnLowResource()\n4636 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n4637 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n4638 void COleControl::OnMButtonDown(unsigned int,CPoint)\n4639 void COleControl::OnMButtonUp(unsigned int,CPoint)\n4640 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n4641 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n4642 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n4643 void CHtmlView::OnMenuBar(int)\n4644 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n4645 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4646 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4647 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n4648 int COleMessageFilter::OnMessagePending(tagMSG const *)\n4649 int CSocket::OnMessagePending()\n4650 void COleControl::OnMnemonic(tagMSG *)\n4651 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n4652 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4653 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4654 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4655 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4656 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n4657 void COleControl::OnMouseMove(unsigned int,CPoint)\n4658 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n4659 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n4660 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n4661 void COleControl::OnMove(int,int)\n4662 int COleDBRecordView::OnMove(unsigned int)\n4663 int CRecordView::OnMove(unsigned int)\n4664 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4665 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n4666 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n4667 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n4668 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n4669 int CFrameWnd::OnNcActivate(int)\n4670 int CMDIChildWnd::OnNcActivate(int)\n4671 int CMiniFrameWnd::OnNcActivate(int)\n4672 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4673 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4674 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4675 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4676 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n4677 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n4678 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n4679 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n4680 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n4681 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n4682 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n4683 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n4684 void CListCtrl::OnNcDestroy()\n4685 void CListView::OnNcDestroy()\n4686 void CWnd::OnNcDestroy()\n4687 long CMiniFrameWnd::OnNcHitTest(CPoint)\n4688 long COleControl::OnNcHitTest(CPoint)\n4689 long CStatusBar::OnNcHitTest(CPoint)\n4690 long CToolBar::OnNcHitTest(CPoint)\n4691 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n4692 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n4693 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n4694 void CDockBar::OnNcPaint()\n4695 void COleControl::OnNcPaint()\n4696 void CReBar::OnNcPaint()\n4697 void CStatusBar::OnNcPaint()\n4698 void CToolBar::OnNcPaint()\n4699 int CDocument::OnNewDocument()\n4700 int CHtmlEditDoc::OnNewDocument()\n4701 int COleDocument::OnNewDocument()\n4702 int COleLinkingDoc::OnNewDocument()\n4703 void COleServerDoc::OnNewEmbedding(IStorage *)\n4704 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n4705 int CEnumArray::OnNext(void *)\n4706 int CEnumConnections::OnNext(void *)\n4707 int CEnumConnPoints::OnNext(void *)\n4708 int CEnumFormatEtc::OnNext(void *)\n4709 int CEnumOleVerb::OnNext(void *)\n4710 int CEnumUnknown::OnNext(void *)\n4711 void CPreviewView::OnNextPage()\n4712 int CView::OnNextPaneCmd(unsigned int)\n4713 int CFileDialog::OnNotify(unsigned int,long,long *)\n4714 int CPropertyPage::OnNotify(unsigned int,long,long *)\n4715 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n4716 int CWnd::OnNotify(unsigned int,long,long *)\n4717 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n4718 long CWnd::OnNTCtlColor(unsigned int,long)\n4719 void CPreviewView::OnNumPageChange()\n4720 void COlePropertyPage::OnObjectsChanged()\n4721 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n4722 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n4723 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n4724 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n4725 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n4726 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n4727 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n4728 void CCommonDialog::OnOK()\n4729 void CDialog::OnOK()\n4730 void CPropertyPage::OnOK()\n4731 long COleControl::OnOpen(int,tagMSG *)\n4732 void COleServerItem::OnOpen()\n4733 int CDocument::OnOpenDocument(wchar_t const *)\n4734 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n4735 int COleDocument::OnOpenDocument(wchar_t const *)\n4736 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n4737 void COleServerDoc::OnOpenEmbedding(IStorage *)\n4738 int CWinApp::OnOpenRecentFile(unsigned int)\n4739 void CAsyncSocket::OnOutOfBandData(int)\n4740 void CCommonDialog::OnPaint()\n4741 void CControlBar::OnPaint()\n4742 void CCtrlView::OnPaint()\n4743 void CDialog::OnPaint()\n4744 void CDockBar::OnPaint()\n4745 void CHtmlEditView::OnPaint()\n4746 void CHtmlView::OnPaint()\n4747 void COleControl::OnPaint(CDC *)\n4748 int COleControlContainer::OnPaint(CDC *)\n4749 void COleResizeBar::OnPaint()\n4750 void CReBar::OnPaint()\n4751 void CSplitterWnd::OnPaint()\n4752 void CStatusBar::OnPaint()\n4753 void CToolBar::OnPaint()\n4754 void CView::OnPaint()\n4755 void CWnd::OnPaint()\n4756 void CFrameWnd::OnPaletteChanged(CWnd *)\n4757 void COleFrameHook::OnPaletteChanged(CWnd *)\n4758 void CRichEditView::OnParaAlign(unsigned short)\n4759 void CRichEditView::OnParaCenter()\n4760 void CRichEditView::OnParaLeft()\n4761 void CRichEditView::OnParaRight()\n4762 void CWnd::OnParentNotify(unsigned int,long)\n4763 int CRichEditView::OnPasteNativeObject(IStorage *)\n4764 long CFrameWnd::OnPopMessageString(unsigned int,long)\n4765 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n4766 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n4767 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4768 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n4769 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n4770 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n4771 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n4772 int CEditView::OnPreparePrinting(CPrintInfo *)\n4773 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n4774 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n4775 int CView::OnPreparePrinting(CPrintInfo *)\n4776 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n4777 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n4778 void CPreviewView::OnPreviewClose()\n4779 void CPreviewView::OnPreviewPrint()\n4780 void CPreviewView::OnPrevPage()\n4781 void CEditView::OnPrint(CDC *,CPrintInfo *)\n4782 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n4783 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n4784 void CView::OnPrint(CDC *,CPrintInfo *)\n4785 void CRichEditView::OnPrinterChanged(CDC const &)\n4786 void CPrintDialog::OnPrintSetup()\n4787 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n4788 void CHtmlView::OnProgressChange(long,long)\n4789 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n4790 void CHtmlView::OnPropertyChange(wchar_t const *)\n4791 int CPropertyPage::OnQueryCancel()\n4792 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n4793 int CFrameWnd::OnQueryEndSession()\n4794 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n4795 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n4796 int CFrameWnd::OnQueryNewPalette()\n4797 int COleFrameHook::OnQueryNewPalette()\n4798 int COleServerItem::OnQueryUpdateItems()\n4799 void CHtmlView::OnQuit()\n4800 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n4801 void COleControl::OnRButtonDown(unsigned int,CPoint)\n4802 void COleControl::OnRButtonUp(unsigned int,CPoint)\n4803 int COleServerDoc::OnReactivateAndUndo()\n4804 void COleFrameHook::OnRecalcLayout()\n4805 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n4806 void CReBar::OnRecalcParent()\n4807 void CAsyncSocket::OnReceive(int)\n4808 void COleControl::OnReflectorDestroyed()\n4809 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n4810 void COleClientItem::OnRemoveMenus(CMenu *)\n4811 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n4812 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n4813 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4814 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4815 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4816 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4817 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n4818 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4819 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4820 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n4821 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n4822 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n4823 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4824 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4825 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n4826 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n4827 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n4828 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n4829 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n4830 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n4831 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n4832 long COleControl::XFontNotification::OnRequestEdit(long)\n4833 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n4834 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n4835 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4836 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n4837 void CEnumArray::OnReset()\n4838 void CPropertyPage::OnReset()\n4839 void COleControl::OnResetState()\n4840 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4841 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n4842 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n4843 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n4844 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n4845 void COleClientItem::XAdviseSink::OnSave()\n4846 int CDocument::OnSaveDocument(wchar_t const *)\n4847 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n4848 int COleDocument::OnSaveDocument(wchar_t const *)\n4849 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n4850 int COleServerDoc::OnSaveDocument(wchar_t const *)\n4851 void COleServerDoc::OnSaveEmbedding(IStorage *)\n4852 void COleServerItem::OnSaveEmbedding(IStorage *)\n4853 void CDocObjectServer::OnSaveViewState(CArchive &)\n4854 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n4855 int CView::OnScroll(unsigned int,unsigned int,int)\n4856 int COleClientItem::OnScrollBy(CSize)\n4857 int CScrollView::OnScrollBy(CSize,int)\n4858 int CView::OnScrollBy(CSize,int)\n4859 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n4860 void CAsyncSocket::OnSend(int)\n4861 int CPropertyPage::OnSetActive()\n4862 long CToolBar::OnSetBitmapSize(unsigned int,long)\n4863 long CToolBar::OnSetButtonSize(unsigned int,long)\n4864 void COleControl::OnSetClientSite()\n4865 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n4866 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4867 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4868 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4869 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4870 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n4871 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4872 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4873 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4874 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4875 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n4876 long CPropertySheet::OnSetDefID(unsigned int,long)\n4877 int COleControl::OnSetExtent(tagSIZE *)\n4878 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n4879 void CFormView::OnSetFocus(CWnd *)\n4880 void CFrameWnd::OnSetFocus(CWnd *)\n4881 void COleControl::OnSetFocus(CWnd *)\n4882 void CWnd::OnSetFocus(CWnd *)\n4883 long CCheckListBox::OnSetFont(unsigned int,long)\n4884 void CDialog::OnSetFont(CFont *)\n4885 long CEditView::OnSetFont(unsigned int,long)\n4886 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n4887 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n4888 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n4889 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n4890 long CFrameWnd::OnSetMessageString(unsigned int,long)\n4891 long COleControl::OnSetMessageString(unsigned int,long)\n4892 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n4893 long CStatusBar::OnSetMinHeight(unsigned int,long)\n4894 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n4895 void CDatabase::OnSetOptions(void *)\n4896 void CRecordset::OnSetOptions(void *)\n4897 void COlePropertyPage::OnSetPageSite()\n4898 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n4899 long CToolBar::OnSetSizeHelper(CSize &,long)\n4900 long COleControl::OnSetText(unsigned int,long)\n4901 long CStatusBar::OnSetText(unsigned int,long)\n4902 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n4903 void CRecordset::OnSetUpdateOptions(void *)\n4904 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n4905 void CDocObjectServerItem::OnShow()\n4906 void COleServerItem::OnShow()\n4907 long CReBar::OnShowBand(unsigned int,long)\n4908 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n4909 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n4910 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n4911 void COleServerDoc::OnShowDocument(int)\n4912 void COleClientItem::OnShowItem()\n4913 void COleControl::OnShowToolBars()\n4914 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n4915 void COleDocument::OnShowViews(int)\n4916 void COleLinkingDoc::OnShowViews(int)\n4917 void COleControl::OnShowWindow(int,unsigned int)\n4918 long COleClientItem::XOleClientSite::OnShowWindow(int)\n4919 long COleControlSite::XOleClientSite::OnShowWindow(int)\n4920 void CDHtmlDialog::OnSize(unsigned int,int,int)\n4921 void CFrameWnd::OnSize(unsigned int,int,int)\n4922 void CHtmlView::OnSize(unsigned int,int,int)\n4923 void CMDIChildWnd::OnSize(unsigned int,int,int)\n4924 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n4925 void COleControl::OnSize(unsigned int,int,int)\n4926 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n4927 void COleResizeBar::OnSize(unsigned int,int,int)\n4928 void CPreviewView::OnSize(unsigned int,int,int)\n4929 void CScrollView::OnSize(unsigned int,int,int)\n4930 void CSplitterWnd::OnSize(unsigned int,int,int)\n4931 void CStatusBar::OnSize(unsigned int,int,int)\n4932 long CControlBar::OnSizeParent(unsigned int,long)\n4933 long CDockBar::OnSizeParent(unsigned int,long)\n4934 long COleResizeBar::OnSizeParent(unsigned int,long)\n4935 int CEnumArray::OnSkip()\n4936 long CSocketWnd::OnSocketDead(unsigned int,long)\n4937 long CSocketWnd::OnSocketNotify(unsigned int,long)\n4938 int CView::OnSplitCmd(unsigned int)\n4939 void CAsyncMonikerFile::OnStartBinding()\n4940 void CHtmlView::OnStatusBar(int)\n4941 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n4942 void CHtmlView::OnStatusTextChange(wchar_t const *)\n4943 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n4944 void CToolBar::OnSysColorChange()\n4945 void CWnd::OnSysColorChange()\n4946 void CFrameWnd::OnSysCommand(unsigned int,long)\n4947 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n4948 void CPropertySheet::OnSysCommand(unsigned int,long)\n4949 void CSplitterWnd::OnSysCommand(unsigned int,long)\n4950 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n4951 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n4952 void COleControl::OnTextChanged()\n4953 void CEditView::OnTextNotFound(wchar_t const *)\n4954 void CRichEditView::OnTextNotFound(wchar_t const *)\n4955 void CHtmlView::OnTheaterMode(int)\n4956 void CControlBar::OnTimer(unsigned int)\n4957 void CHtmlView::OnTitleChange(wchar_t const *)\n4958 void CHtmlView::OnToolBar(int)\n4959 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4960 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4961 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n4962 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4963 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n4964 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n4965 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n4966 void CFileDialog::OnTypeChange()\n4967 void COleControlContainer::OnUIActivate(COleControlSite *)\n4968 long COleClientItem::XOleIPSite::OnUIActivate()\n4969 long COleControlSite::XOleIPSite::OnUIActivate()\n4970 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n4971 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n4972 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n4973 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n4974 void CView::OnUpdate(CView *,long,CObject *)\n4975 void CRichEditView::OnUpdateBullet(CCmdUI *)\n4976 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n4977 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n4978 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n4979 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n4980 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n4981 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n4982 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n4983 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n4984 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n4985 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n4986 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n4987 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4988 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n4989 int COleServerDoc::OnUpdateDocument()\n4990 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n4991 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n4992 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n4993 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n4994 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n4995 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n4996 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n4997 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n4998 void CEditView::OnUpdateEditUndo(CCmdUI *)\n4999 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5000 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5001 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5002 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5003 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5004 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5005 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5006 void CFrameWnd::OnUpdateFrameTitle(int)\n5007 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5008 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5009 int COleClientItem::OnUpdateFrameTitle()\n5010 int COleFrameHook::OnUpdateFrameTitle()\n5011 void COleServerItem::OnUpdateItems()\n5012 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5013 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5014 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5015 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5016 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5017 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5018 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5019 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5020 void CEditView::OnUpdateNeedText(CCmdUI *)\n5021 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5022 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5023 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5024 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5025 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5026 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5027 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5028 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5029 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5030 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5031 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5032 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5033 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5034 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5035 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5036 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5037 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5038 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5039 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5040 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5041 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5042 void CView::OnUpdateSplitCmd(CCmdUI *)\n5043 long CHtmlView::OnUpdateUI()\n5044 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5045 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5046 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5047 void CHtmlView::OnVisible(int)\n5048 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5049 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5050 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5051 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5052 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5053 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5054 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5055 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5056 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5057 void CMDIFrameWnd::OnWindowNew()\n5058 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5059 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5060 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5061 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5062 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5063 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5064 long CPropertyPage::OnWizardBack()\n5065 int CPropertyPage::OnWizardFinish()\n5066 long CPropertyPage::OnWizardNext()\n5067 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5068 void CPreviewView::OnZoomIn()\n5069 void CPreviewView::OnZoomOut()\n5070 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5071 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5072 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5073 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5074 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n5075 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n5076 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n5077 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n5078 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n5079 int CDataPathProperty::Open(CFileException *)\n5080 int CDataPathProperty::Open(COleControl *,CFileException *)\n5081 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n5082 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n5083 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n5084 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n5085 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5086 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5087 int CMonikerFile::Open(IMoniker *,CFileException *)\n5088 int CMonikerFile::Open(wchar_t const *,CFileException *)\n5089 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n5090 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n5091 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n5092 long CDocObjectServer::XOleDocumentView::Open()\n5093 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n5094 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5095 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5096 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n5097 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n5098 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n5099 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n5100 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5101 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5102 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5103 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n5104 int CHtmlEditDoc::OpenURL(wchar_t const *)\n5105 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n5106 int CFileException::OsErrorToException(long)\n5107 void CDumpContext::OutputString(wchar_t const *)\n5108 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5109 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5110 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5111 int CWnd::PaintWindowlessControls(CDC *)\n5112 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5113 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5114 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n5115 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5116 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5117 void CCommandLineInfo::ParseLast(int)\n5118 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n5119 void CCommandLineInfo::ParseParam(char const *,int,int)\n5120 void CCommandLineInfo::ParseParamFlag(char const *)\n5121 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n5122 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5123 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5124 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n5125 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n5126 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5127 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5128 int CDC::PlayMetaFile(HMETAFILE__ *)\n5129 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n5130 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n5131 int CDC::PolyBezierTo(tagPOINT const *,int)\n5132 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5133 int CDC::PolylineTo(tagPOINT const *,int)\n5134 void CPreviewView::PositionPage(unsigned int)\n5135 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5136 int CMonikerFile::PostBindToStream(CFileException *)\n5137 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5138 void CDialog::PostModal()\n5139 void CPrintDialogEx::PostModal()\n5140 void COleControl::PostModalDialog(HWND__ *)\n5141 void CControlBar::PostNcDestroy()\n5142 void CControlFrameWnd::PostNcDestroy()\n5143 void CFindReplaceDialog::PostNcDestroy()\n5144 void CFrameWnd::PostNcDestroy()\n5145 void COleCntrFrameWnd::PostNcDestroy()\n5146 void CReflectorWnd::PostNcDestroy()\n5147 void CView::PostNcDestroy()\n5148 void CWnd::PostNcDestroy()\n5149 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5150 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5151 void CRecordset::PreBindFields()\n5152 void CDocument::PreCloseFrame(CFrameWnd *)\n5153 void COleDocument::PreCloseFrame(CFrameWnd *)\n5154 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5155 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5156 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5157 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n5158 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5159 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n5160 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5161 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5162 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n5163 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n5164 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5165 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5166 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5167 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5168 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n5169 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n5170 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n5171 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5172 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5173 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5174 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5175 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5176 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5177 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n5178 void CDialog::PreInitDialog()\n5179 void COleChangeSourceDialog::PreInitDialog()\n5180 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5181 HWND__ * CDialog::PreModal()\n5182 HWND__ * CPrintDialogEx::PreModal()\n5183 void COleControl::PreModalDialog(HWND__ *)\n5184 void CRecordset::PrepareAndExecute()\n5185 HWND__ * CDataExchange::PrepareCtrl(int)\n5186 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5187 void CWnd::PrepareForHelp()\n5188 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5189 void CRecordset::PrepareUpdateHstmt()\n5190 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5191 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5192 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5193 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5194 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n5195 void CDragListBox::PreSubclassWindow()\n5196 void CWnd::PreSubclassWindow()\n5197 int CWnd::PreTranslateInput(tagMSG *)\n5198 int CControlBar::PreTranslateMessage(tagMSG *)\n5199 int CDialog::PreTranslateMessage(tagMSG *)\n5200 int CFormView::PreTranslateMessage(tagMSG *)\n5201 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5202 int CHtmlView::PreTranslateMessage(tagMSG *)\n5203 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5204 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5205 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5206 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5207 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5208 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5209 int CWinThread::PreTranslateMessage(tagMSG *)\n5210 int CWnd::PreTranslateMessage(tagMSG *)\n5211 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5212 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5213 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5214 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5215 long CRichEditView::PrintPage(CDC *,long,long)\n5216 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5217 long COleException::Process(CException const *)\n5218 int CSocket::ProcessAuxQueue()\n5219 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5220 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5221 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5222 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5223 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5224 void COleSafeArray::PtrOfIndex(long *,void * *)\n5225 int CMetaFileDC::PtVisible(int,int)const \n5226 int CWinThread::PumpMessage()\n5227 int CSocket::PumpMessages(unsigned int)\n5228 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n5229 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5230 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5231 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5232 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5233 void COleSafeArray::PutElement(long *,void *)\n5234 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n5235 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n5236 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n5237 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n5238 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n5239 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n5240 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5241 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n5242 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n5243 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n5244 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5245 int PX_Double(CPropExchange *,wchar_t const *,double &)\n5246 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n5247 int PX_Float(CPropExchange *,wchar_t const *,float &)\n5248 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n5249 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5250 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n5251 int PX_Long(CPropExchange *,wchar_t const *,long &)\n5252 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n5253 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n5254 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n5255 int PX_Short(CPropExchange *,wchar_t const *,short &)\n5256 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n5257 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5258 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n5259 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5260 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n5261 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5262 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n5263 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n5264 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5265 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5266 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5267 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5268 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5269 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5270 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5271 void * COleControl::QueryDefHandler(_GUID const &)\n5272 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5273 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5274 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5275 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5276 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5277 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5278 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5279 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5280 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n5281 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5282 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5283 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5284 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5285 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5286 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5287 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5288 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5289 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5290 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5291 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5292 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5293 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5294 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5295 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5296 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5297 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5298 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5299 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5300 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5301 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5302 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5303 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5304 long CPropertyPage::QuerySiblings(unsigned int,long)\n5305 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5306 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5307 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5308 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5309 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5310 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n5311 int COleControlSite::QuickActivate()\n5312 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5313 int COleClientItem::ReactivateAndUndo()\n5314 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n5315 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n5316 unsigned int CArchive::Read(void *,unsigned int)\n5317 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5318 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5319 unsigned int CFile::Read(void *,unsigned int)\n5320 int CImageList::Read(CArchive *)\n5321 unsigned int CInternetFile::Read(void *,unsigned int)\n5322 unsigned int CMemFile::Read(void *,unsigned int)\n5323 unsigned int COleStreamFile::Read(void *,unsigned int)\n5324 unsigned int CSocketFile::Read(void *,unsigned int)\n5325 unsigned int CStdioFile::Read(void *,unsigned int)\n5326 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5327 unsigned long CArchive::ReadCount()\n5328 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5329 int CProperty::ReadFromStream(IStream *)\n5330 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5331 int CPropertySet::ReadFromStream(IStream *)\n5332 void COleClientItem::ReadItem(CArchive &)\n5333 void COleClientItem::ReadItemCompound(CArchive &)\n5334 void COleClientItem::ReadItemFlat(CArchive &)\n5335 void CRecentFileList::ReadList()\n5336 int CPropertySection::ReadNameDictFromStream(IStream *)\n5337 CObject * CArchive::ReadObject(CRuntimeconst *)\n5338 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5339 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n5340 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5341 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n5342 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5343 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n5344 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5345 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5346 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5347 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5348 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5349 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5350 void CRecordset::RebindParams(void *)\n5351 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5352 void CFrameWnd::RecalcLayout(int)\n5353 void CMiniDockFrameWnd::RecalcLayout(int)\n5354 void COleCntrFrameWnd::RecalcLayout(int)\n5355 void COleDocIPFrameWnd::RecalcLayout(int)\n5356 void COleIPFrameWnd::RecalcLayout(int)\n5357 void CSplitterWnd::RecalcLayout()\n5358 int CAsyncSocket::Receive(void *,int,int)\n5359 int CSocket::Receive(void *,int,int)\n5360 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n5361 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5362 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5363 void COleControl::RecreateControlWindow()\n5364 CRect const CFrameWnd::rectDefault\n5365 int CMetaFileDC::RectVisible(tagRECT const *)const \n5366 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5367 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5368 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5369 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5370 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5371 void COleControl::Refresh()\n5372 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5373 int COleDropTarget::Register(CWnd *)\n5374 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n5375 int COleMessageFilter::Register()\n5376 int COleObjectFactory::Register()\n5377 int COleTemplateServer::Register()\n5378 int CWinApp::Register()\n5379 int COleObjectFactory::RegisterAll()\n5380 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n5381 void CDocManager::RegisterShellFileTypes(int)\n5382 void CWinApp::RegisterShellFileTypes(int)\n5383 unsigned long CArchiveStream::Release()\n5384 unsigned long CBlobProperty::Release()\n5385 unsigned long CBrowserControlSite::Release()\n5386 unsigned long CDHtmlControlSink::Release()\n5387 unsigned long CDHtmlElementEventSink::Release()\n5388 unsigned long CDHtmlEventSink::Release()\n5389 unsigned long CInnerUnknown::Release()\n5390 void COleClientItem::Release(enum tagOLECLOSE)\n5391 unsigned long COleConnPtContainer::Release()\n5392 void COleDataObject::Release()\n5393 unsigned long COleDispatchImpl::Release()\n5394 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5395 unsigned long COleUILinkInfo::Release()\n5396 unsigned long CPrintDialogEx::Release()\n5397 void CDC::ReleaseAttribDC()\n5398 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5399 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5400 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5401 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5402 void COleControl::ReleaseCaches()\n5403 int COleControl::ReleaseCapture()\n5404 int COleControl::ReleaseDC(CDC *)\n5405 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5406 void COleDispatchDriver::ReleaseDispatch()\n5407 void CDocObjectServer::ReleaseDocSite()\n5408 void CDocument::ReleaseFile(CFile *,int)\n5409 void CFontHolder::ReleaseFont()\n5410 void CDC::ReleaseOutputDC()\n5411 void CMetaFileDC::ReleaseOutputDC()\n5412 void CPreviewDC::ReleaseOutputDC()\n5413 int COleClientItem::Reload()\n5414 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5415 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5416 void CFile::Remove(wchar_t const *)\n5417 int CFtpConnection::Remove(wchar_t const *)\n5418 void CPropertySection::Remove(unsigned long)\n5419 void CPropertySet::Remove(_GUID)\n5420 void CPropertySet::Remove(_GUID,unsigned long)\n5421 void CRecentFileList::Remove(int)\n5422 int CSimpleList::Remove(void *)\n5423 void CMapPtrToPtr::RemoveAll()\n5424 void CMapPtrToWord::RemoveAll()\n5425 void CMapStringToOb::RemoveAll()\n5426 void CMapStringToPtr::RemoveAll()\n5427 void CMapStringToString::RemoveAll()\n5428 void CMapWordToOb::RemoveAll()\n5429 void CMapWordToPtr::RemoveAll()\n5430 void CObList::RemoveAll()\n5431 void CPropertySection::RemoveAll()\n5432 void CPropertySet::RemoveAll()\n5433 void CPtrList::RemoveAll()\n5434 void CStringList::RemoveAll()\n5435 void CTypeLibCacheMap::RemoveAll(void *)\n5436 void CByteArray::RemoveAt(int,int)\n5437 void CDWordArray::RemoveAt(int,int)\n5438 void CObArray::RemoveAt(int,int)\n5439 void CObList::RemoveAt(__POSITION *)\n5440 void CPtrArray::RemoveAt(int,int)\n5441 void CPtrList::RemoveAt(__POSITION *)\n5442 void CStringArray::RemoveAt(int,int)\n5443 void CStringList::RemoveAt(__POSITION *)\n5444 void CUIntArray::RemoveAt(int,int)\n5445 void CWordArray::RemoveAt(int,int)\n5446 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5447 void CFrameWnd::RemoveControlBar(CControlBar *)\n5448 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n5449 void CDocTemplate::RemoveDocument(CDocument *)\n5450 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5451 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5452 void COleControl::RemoveFrameLevelUI()\n5453 void CFrameWnd::RemoveFrameWnd()\n5454 CObject * CObList::RemoveHead()\n5455 void * CPtrList::RemoveHead()\n5456 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n5457 void CListCtrl::RemoveImageList(int)\n5458 void CListView::RemoveImageList(int)\n5459 void CTreeCtrl::RemoveImageList(int)\n5460 void CTreeView::RemoveImageList(int)\n5461 void COleDocument::RemoveItem(CDocItem *)\n5462 int CMapPtrToPtr::RemoveKey(void *)\n5463 int CMapPtrToWord::RemoveKey(void *)\n5464 int CMapStringToOb::RemoveKey(wchar_t const *)\n5465 int CMapStringToPtr::RemoveKey(wchar_t const *)\n5466 int CMapStringToString::RemoveKey(wchar_t const *)\n5467 int CMapWordToOb::RemoveKey(unsigned short)\n5468 int CMapWordToPtr::RemoveKey(unsigned short)\n5469 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5470 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5471 void CPropertySheet::RemovePage(int)\n5472 void CPropertySheet::RemovePage(CPropertyPage *)\n5473 void CDockBar::RemovePlaceHolder(CControlBar *)\n5474 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5475 void CDataBoundProperty::RemoveSource()\n5476 CObject * CObList::RemoveTail()\n5477 void * CPtrList::RemoveTail()\n5478 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n5479 void CDocument::RemoveView(CView *)\n5480 void CFile::Rename(wchar_t const *,wchar_t const *)\n5481 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n5482 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5483 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5484 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5485 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5486 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5487 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5488 void CDatabase::ReplaceBrackets(wchar_t *)\n5489 int CException::ReportError(unsigned int,unsigned int)\n5490 int COleClientItem::ReportError(long)const \n5491 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5492 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5493 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5494 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5495 int CRecordset::Requery()\n5496 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5497 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5498 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5499 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n5500 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n5501 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5502 long COleControlSite::XOleIPSite::RequestUIActivate()\n5503 long CEnumArray::XEnumVOID::Reset()\n5504 void CRecordset::ResetCursor()\n5505 void CCachedDataPathProperty::ResetData()\n5506 void CDataPathProperty::ResetData()\n5507 void COleControl::ResetStockProps()\n5508 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5509 void COleControl::ResetVersion(unsigned long)\n5510 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5511 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5512 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5513 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5514 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5515 void COleControl::ResizeFrameWindow(int,int)\n5516 void COleSafeArray::ResizeOneDim(unsigned long)\n5517 void COleControl::ResizeOpenControl(int,int)\n5518 void CScrollView::ResizeParentToFit(int)\n5519 int CDC::RestoreDC(int)\n5520 int CPreviewDC::RestoreDC(int)\n5521 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n5522 void CCmdTarget::RestoreWaitCursor()\n5523 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5524 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5525 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5526 long CArchiveStream::Revert()\n5527 void COleDropTarget::Revoke()\n5528 void COleLinkingDoc::Revoke()\n5529 void COleMessageFilter::Revoke()\n5530 void COleObjectFactory::Revoke()\n5531 void COleObjectFactory::RevokeAll()\n5532 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n5533 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n5534 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n5535 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n5536 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5537 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n5538 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n5539 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n5540 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n5541 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n5542 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n5543 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n5544 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n5545 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n5546 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5547 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n5548 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n5549 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n5550 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n5551 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n5552 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5553 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5554 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n5555 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n5556 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n5557 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n5558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n5559 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n5560 int CDatabase::Rollback()\n5561 void COleClientItem::Run()\n5562 int CWinApp::Run()\n5563 int CWinThread::Run()\n5564 int CWinApp::RunAutomated()\n5565 int CWinApp::RunEmbedded()\n5566 int CWnd::RunModalLoop(unsigned long)\n5567 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n5568 int CEditView::SameAsSelected(wchar_t const *,int)\n5569 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n5570 long CBlobProperty::Save(IStream *,int)\n5571 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n5572 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n5573 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n5574 long COleControl::XPersistStorage::Save(IStorage *,int)\n5575 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n5576 long COleControl::XPersistStreamInit::Save(IStream *,int)\n5577 int CDocManager::SaveAllModified()\n5578 int CDocTemplate::SaveAllModified()\n5579 int CWinApp::SaveAllModified()\n5580 void CFrameWnd::SaveBarState(wchar_t const *)const \n5581 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n5582 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n5583 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n5584 int CDC::SaveDC()\n5585 int CPreviewDC::SaveDC()\n5586 void COleServerDoc::SaveEmbedding()\n5587 int CFormView::SaveFocusControl()\n5588 int CDocument::SaveModified()\n5589 int COleDocument::SaveModified()\n5590 int COleServerDoc::SaveModified()\n5591 int COleServerDoc::SaveModifiedPrompt()\n5592 long COleClientItem::XOleClientSite::SaveObject()\n5593 long COleControlSite::XOleClientSite::SaveObject()\n5594 int CControlBarInfo::SaveState(wchar_t const *,int)\n5595 void CDockState::SaveState(wchar_t const *)\n5596 long COleControl::SaveState(IStream *)\n5597 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n5598 void CWinApp::SaveStdProfileSettings()\n5599 void COleDocument::SaveToStorage(CObject *)\n5600 void COleLinkingDoc::SaveToStorage(CObject *)\n5601 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n5602 void CDockState::ScalePoint(CPoint &)\n5603 void CDockState::ScaleRectPos(CRect &)\n5604 CSize CDC::ScaleViewportExt(int,int,int,int)\n5605 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n5606 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n5607 CSize CDC::ScaleWindowExt(int,int,int,int)\n5608 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n5609 void CWnd::ScreenToClient(tagRECT *)const \n5610 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n5611 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n5612 void COleControlContainer::ScrollChildren(int,int)\n5613 int COleServerDoc::ScrollContainerBy(CSize)\n5614 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n5615 void CScrollView::ScrollToDevicePosition(tagPOINT)\n5616 void CScrollView::ScrollToPosition(tagPOINT)\n5617 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5618 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n5619 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n5620 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n5621 unsigned __int64 CFile::Seek(__int64,unsigned int)\n5622 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n5623 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n5624 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n5625 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n5626 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n5627 CFont * CFontHolder::Select(CDC *,long,long)\n5628 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n5629 int CDC::SelectClipPath(int)\n5630 int CDC::SelectClipRgn(CRgn *)\n5631 int CDC::SelectClipRgn(CRgn *,int)\n5632 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n5633 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n5634 long CPrintDialogEx::SelectionChange()\n5635 int CDC::SelectObject(CRgn *)\n5636 CBrush * CDC::SelectObject(CBrush *)\n5637 CPen * CDC::SelectObject(CPen *)\n5638 CFont * CDC::SelectObject(CFont *)\n5639 CFont * CPreviewDC::SelectObject(CFont *)\n5640 CPalette * CDC::SelectPalette(CPalette *,int)\n5641 void CWinApp::SelectPrinter(void *,void *,int)\n5642 CFont * COleControl::SelectStockFont(CDC *)\n5643 CGdiObject * CDC::SelectStockObject(int)\n5644 CGdiObject * CPreviewDC::SelectStockObject(int)\n5645 int CAsyncSocket::Send(void const *,int,int)\n5646 int CSocket::Send(void const *,int,int)\n5647 void COleControl::SendAdvise(unsigned int)\n5648 int CWnd::SendChildNotifyLastMsg(long *)\n5649 int CSocket::SendChunk(void const *,int,int)\n5650 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5651 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n5652 void CDocument::SendInitialUpdate()\n5653 void CRecordset::SendLongBinaryData(void *)\n5654 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n5655 void COleControlSite::SendMnemonic(tagMSG *)\n5656 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n5657 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n5658 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n5659 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n5660 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n5661 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5662 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n5663 void CByteArray::Serialize(CArchive &)\n5664 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n5665 void CDocItem::Serialize(CArchive &)\n5666 void CDockState::Serialize(CArchive &)\n5667 void CDWordArray::Serialize(CArchive &)\n5668 void CEditView::Serialize(CArchive &)\n5669 void CMapStringToOb::Serialize(CArchive &)\n5670 void CMapStringToString::Serialize(CArchive &)\n5671 void CMapWordToOb::Serialize(CArchive &)\n5672 void CObArray::Serialize(CArchive &)\n5673 void CObList::Serialize(CArchive &)\n5674 void COleClientItem::Serialize(CArchive &)\n5675 void COleControl::Serialize(CArchive &)\n5676 void COleDocument::Serialize(CArchive &)\n5677 void CRichEditDoc::Serialize(CArchive &)\n5678 void CRichEditView::Serialize(CArchive &)\n5679 void CStringArray::Serialize(CArchive &)\n5680 void CStringList::Serialize(CArchive &)\n5681 void CWordArray::Serialize(CArchive &)\n5682 CArchive & ATL::CTime::Serialize64(CArchive &)\n5683 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n5684 void CArchive::SerializeClass(CRuntimeconst *)\n5685 void COleControl::SerializeExtent(CArchive &)\n5686 void CEditView::SerializeRaw(CArchive &)\n5687 void COleControl::SerializeStockProps(CArchive &)\n5688 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n5689 int CProperty::Set(unsigned long,void * const,unsigned long)\n5690 int CProperty::Set(void * const)\n5691 int CProperty::Set(void * const,unsigned long)\n5692 int CPropertySection::Set(unsigned long,void *)\n5693 int CPropertySection::Set(unsigned long,void *,unsigned long)\n5694 int CPropertySet::Set(_GUID,unsigned long,void *)\n5695 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n5696 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5697 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n5698 int CPropertySheet::SetActivePage(int)\n5699 int CPropertySheet::SetActivePage(CPropertyPage *)\n5700 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n5701 void CFrameWnd::SetActiveView(CView *,int)\n5702 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n5703 void COleControl::SetAppearance(short)\n5704 int CDC::SetArcDirection(int)\n5705 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n5706 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n5707 void CByteArray::SetAtGrow(int,unsigned char)\n5708 void CDWordArray::SetAtGrow(int,unsigned long)\n5709 void CObArray::SetAtGrow(int,CObject *)\n5710 void CPtrArray::SetAtGrow(int,void *)\n5711 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5712 void CStringArray::SetAtGrow(int,wchar_t const *)\n5713 void CUIntArray::SetAtGrow(int,unsigned int)\n5714 void CWordArray::SetAtGrow(int,unsigned short)\n5715 void CDC::SetAttribDC(HDC__ *)\n5716 void CMetaFileDC::SetAttribDC(HDC__ *)\n5717 void CPreviewDC::SetAttribDC(HDC__ *)\n5718 void COleControl::SetBackColor(unsigned long)\n5719 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5720 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n5721 void CControlBar::SetBarStyle(unsigned long)\n5722 int CToolBar::SetBitmap(HBITMAP__ *)\n5723 unsigned long CDC::SetBkColor(unsigned long)\n5724 unsigned long CPreviewDC::SetBkColor(unsigned long)\n5725 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n5726 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n5727 int CDC::SetBkMode(int)\n5728 void CRecordset::SetBookmark(CDBVariant const &)\n5729 void CControlBar::SetBorders(int,int,int,int)\n5730 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n5731 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n5732 void COleControl::SetBorderStyle(short)\n5733 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n5734 int CToolBar::SetButtons(unsigned int const *,int)\n5735 void CToolBar::SetButtonStyle(int,unsigned int)\n5736 int CToolBar::SetButtonText(int,wchar_t const *)\n5737 CWnd * COleControl::SetCapture()\n5738 long COleControlSite::XOleIPSite::SetCapture(int)\n5739 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n5740 void CCheckListBox::SetCheck(int,int)\n5741 void CCmdUI::SetCheck(int)\n5742 int CListCtrl::SetCheck(int,int)\n5743 void COleCmdUI::SetCheck(int)\n5744 void CStatusCmdUI::SetCheck(int)\n5745 void CTestCmdUI::SetCheck(int)\n5746 void CToolCmdUI::SetCheck(int)\n5747 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n5748 void CCheckListBox::SetCheckStyle(unsigned int)\n5749 void CPropertySet::SetClassID(_GUID)\n5750 void CDataBoundProperty::SetClientSite(COleControlSite *)\n5751 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n5752 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n5753 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n5754 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n5755 void COleDataSource::SetClipboard()\n5756 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n5757 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n5758 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5759 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5760 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5761 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n5762 void CSplitterWnd::SetColumnInfo(int,int,int)\n5763 int CListCtrl::SetColumnOrderArray(int,int *)\n5764 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n5765 void CDocTemplate::SetContainerInfo(unsigned int)\n5766 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n5767 void CReflectorWnd::SetControl(COleControl *)\n5768 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n5769 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n5770 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n5771 int COleControl::SetControlSize(int,int)\n5772 int COlePropertyPage::SetControlStatus(unsigned int,int)\n5773 void CFileDialog::SetControlText(int,char const *)\n5774 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n5775 void COleCurrency::SetCurrency(long,long)\n5776 void CColorDialog::SetCurrentColor(unsigned long)\n5777 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n5778 void CWinApp::SetCurrentHandles()\n5779 void CPreviewView::SetCurrentPage(unsigned int,int)\n5780 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n5781 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n5782 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n5783 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5784 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5785 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5786 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5787 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5788 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n5789 void COccManager::SetDefaultButton(CWnd *,int)\n5790 void COleControlSite::SetDefaultButton(int)\n5791 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n5792 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n5793 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n5794 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n5795 void CFileDialog::SetDefExt(char const *)\n5796 void COlePropertyPage::SetDialogResource(void *)\n5797 void CRecordset::SetDirtyFieldStatus(unsigned long)\n5798 int COleControlSite::SetDlgCtrlID(int)\n5799 int CWnd::SetDlgCtrlID(int)\n5800 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n5801 void CWnd::SetDlgItemInt(int,unsigned int,int)\n5802 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n5803 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n5804 void CFrameWnd::SetDockState(CDockState const &)\n5805 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n5806 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n5807 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n5808 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n5809 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n5810 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n5811 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n5812 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n5813 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n5814 void COleControl::SetEnabled(int)\n5815 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n5816 int COleControlSite::SetExtent()\n5817 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5818 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5819 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5820 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n5821 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n5822 void CRecordset::SetFieldDirty(void *,int)\n5823 void CRecordset::SetFieldNull(void *,int)\n5824 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n5825 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n5826 CWnd * COleControl::SetFocus()\n5827 CWnd * COleControlSite::SetFocus(tagMSG *)\n5828 CWnd * COleControlSite::SetFocus()\n5829 CWnd * CWnd::SetFocus()\n5830 long COleControlSite::XOleIPSite::SetFocus(int)\n5831 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n5832 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n5833 void CFontHolder::SetFont(IFont *)\n5834 void COleControl::SetFont(IFontDisp *)\n5835 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n5836 void COleControl::SetForeColor(unsigned long)\n5837 void CPropertySection::SetFormatID(_GUID)\n5838 void CPropertySet::SetFormatVersion(unsigned short)\n5839 void CSharedFile::SetHandle(void *,int)\n5840 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n5841 void CToolBar::SetHeight(int)\n5842 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n5843 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n5844 void CDHtmlDialog::SetHostFlags(unsigned long)\n5845 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n5846 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5847 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5848 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5849 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n5850 int COleClientItem::SetIconicMetafile(void *)\n5851 CSize CListCtrl::SetIconSpacing(int,int)\n5852 CSize CListCtrl::SetIconSpacing(CSize)\n5853 void CProperty::SetID(unsigned long)\n5854 int CReBarCtrl::SetImageList(CImageList *)\n5855 int CStatusBar::SetIndicators(unsigned int const *,int)\n5856 void COleControl::SetInitialDataFormats()\n5857 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n5858 void COleControl::SetInitialSize(int,int)\n5859 void CControlBar::SetInPlaceOwner(CWnd *)\n5860 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n5861 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n5862 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n5863 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n5864 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n5865 int CListCtrl::SetItemCountEx(int,unsigned long)\n5866 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n5867 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n5868 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n5869 int CListCtrl::SetItemText(int,int,wchar_t const *)\n5870 unsigned long CDC::SetLayout(unsigned long)\n5871 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n5872 void ATL::CSimpleStringT<char,1>::SetLength(int)\n5873 void CFile::SetLength(unsigned __int64)\n5874 void CInternetFile::SetLength(unsigned __int64)\n5875 void CMemFile::SetLength(unsigned __int64)\n5876 void COleStreamFile::SetLength(unsigned __int64)\n5877 void CSocketFile::SetLength(unsigned __int64)\n5878 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n5879 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n5880 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n5881 void CRecordset::SetLockingMode(unsigned int)\n5882 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n5883 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n5884 int CDC::SetMapMode(int)\n5885 int CPreviewDC::SetMapMode(int)\n5886 unsigned long CDC::SetMapperFlags(unsigned long)\n5887 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5888 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n5889 void CFrameWnd::SetMessageText(unsigned int)\n5890 void CFrameWnd::SetMessageText(wchar_t const *)\n5891 void CPropertyPage::SetModified(int)\n5892 void COleControl::SetModifiedFlag(int)\n5893 void COlePropertyPage::SetModifiedFlag(int)\n5894 void CRichEditDoc::SetModifiedFlag(int)\n5895 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5896 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5897 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5898 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n5899 int CPropertySection::SetName(unsigned long,wchar_t const *)\n5900 void COleControl::SetNotPermitted()\n5901 void CCmdTarget::SetNotSupported()\n5902 void COleControl::SetNotSupported()\n5903 void CRecordset::SetNullFieldStatus(unsigned long)\n5904 void CRecordset::SetNullParamStatus(unsigned long)\n5905 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5906 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n5907 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n5908 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5909 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5910 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5911 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n5912 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5913 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5914 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n5915 int CHeaderCtrl::SetOrderArray(int,int *)\n5916 void CPropertySet::SetOSVersion(unsigned long)\n5917 void CDC::SetOutputDC(HDC__ *)\n5918 void CMetaFileDC::SetOutputDC(HDC__ *)\n5919 void CPreviewDC::SetOutputDC(HDC__ *)\n5920 void CToolBar::SetOwner(CWnd *)\n5921 void COlePropertyPage::SetPageName(wchar_t const *)\n5922 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n5923 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n5924 void CStatusBar::SetPaneStyle(int,unsigned int)\n5925 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n5926 int CRichEditCtrl::SetParaFormat(_paraformat &)\n5927 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n5928 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n5929 void CRecordset::SetParamNull(int,int)\n5930 void CDocument::SetPathName(wchar_t const *,int)\n5931 void COleDocument::SetPathName(wchar_t const *,int)\n5932 void CRichEditDoc::SetPathName(wchar_t const *,int)\n5933 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n5934 int CDC::SetPolyFillMode(int)\n5935 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n5936 int COleClientItem::SetPrintDevice(tagPDW const *)\n5937 void CEditView::SetPrinterFont(CFont *)\n5938 int CPreviewView::SetPrintView(CView *)\n5939 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n5940 void COleControlSite::SetProperty(long,unsigned short,...)\n5941 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n5942 void CWnd::SetProperty(long,unsigned short,...)\n5943 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n5944 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n5945 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n5946 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n5947 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n5948 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n5949 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n5950 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n5951 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n5952 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n5953 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n5954 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n5955 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5956 long CWnd::SetProxy(IAccessibleProxy *)\n5957 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n5958 void CCmdUI::SetRadio(int)\n5959 void CTestCmdUI::SetRadio(int)\n5960 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5961 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5962 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n5963 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n5964 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5965 void CSliderCtrl::SetRange(int,int,int)\n5966 int CInternetFile::SetReadBufferSize(unsigned int)\n5967 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n5968 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n5969 int COleControl::SetRectInContainer(tagRECT const *)\n5970 void CWinApp::SetRegistryKey(unsigned int)\n5971 void CWinApp::SetRegistryKey(wchar_t const *)\n5972 int CDC::SetROP2(int)\n5973 void CSplitterWnd::SetRowInfo(int,int,int)\n5974 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n5975 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n5976 void CRecordset::SetRowsetSize(unsigned long)\n5977 void CPreviewView::SetScaledSize(unsigned int)\n5978 void CPreviewDC::SetScaleRatio(int,int)\n5979 void CScrollView::SetScaleToFitSize(tagSIZE)\n5980 void CDockState::SetScreenSize(CSize &)\n5981 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n5982 int CWnd::SetScrollPos(int,int,int)\n5983 void CWnd::SetScrollRange(int,int,int,int)\n5984 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n5985 void CSplitterWnd::SetScrollStyle(unsigned long)\n5986 int CPropertySection::SetSectionName(wchar_t const *)\n5987 void CRichEditCtrl::SetSel(long,long)\n5988 void CSliderCtrl::SetSelection(int,int)\n5989 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n5990 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n5991 void CCheckListBox::SetSelectionCheck(int)\n5992 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n5993 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n5994 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n5995 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n5996 long CPrintDialogEx::SetSite(IUnknown *)\n5997 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n5998 void CByteArray::SetSize(int,int)\n5999 void CDWordArray::SetSize(int,int)\n6000 void CObArray::SetSize(int,int)\n6001 void CPtrArray::SetSize(int,int)\n6002 void CStringArray::SetSize(int,int)\n6003 void CUIntArray::SetSize(int,int)\n6004 void CWordArray::SetSize(int,int)\n6005 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6006 void CSplitterWnd::SetSplitCursor(int)\n6007 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6008 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n6009 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n6010 int CControlBar::SetStatusText(int)\n6011 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6012 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6013 int CDC::SetStretchBltMode(int)\n6014 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6015 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6016 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6017 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6018 void COleVariant::SetString(wchar_t const *,unsigned short)\n6019 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6020 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6021 int CDialogTemplate::SetSystemFont(unsigned short)\n6022 void CEditView::SetTabStops(int)\n6023 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6024 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n6025 void CCmdUI::SetText(wchar_t const *)\n6026 void COleCmdUI::SetText(wchar_t const *)\n6027 void COleControl::SetText(wchar_t const *)\n6028 void CStatusCmdUI::SetText(wchar_t const *)\n6029 void CTestCmdUI::SetText(wchar_t const *)\n6030 void CToolCmdUI::SetText(wchar_t const *)\n6031 unsigned int CDC::SetTextAlign(unsigned int)\n6032 int CDC::SetTextCharacterExtra(int)\n6033 unsigned long CDC::SetTextColor(unsigned long)\n6034 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6035 int CDC::SetTextJustification(int,int)\n6036 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6037 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6038 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6039 void CDocument::SetTitle(wchar_t const *)\n6040 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n6041 void CRichEditDoc::SetTitle(wchar_t const *)\n6042 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6043 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6044 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6045 void CPreviewDC::SetTopLeftOffset(CSize)\n6046 void CProperty::SetType(unsigned long)\n6047 void CRecordset::SetUpdateMethod()\n6048 void CThreadSlotData::SetValue(int,void *)\n6049 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6050 CSize CDC::SetViewportExt(int,int)\n6051 CSize CMetaFileDC::SetViewportExt(int,int)\n6052 CSize CPreviewDC::SetViewportExt(int,int)\n6053 CPoint CDC::SetViewportOrg(int,int)\n6054 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6055 CPoint CPreviewDC::SetViewportOrg(int,int)\n6056 CSize CDC::SetWindowExt(int,int)\n6057 CSize CPreviewDC::SetWindowExt(int,int)\n6058 CPoint CDC::SetWindowOrg(int,int)\n6059 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6060 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6061 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6062 void COleControlSite::SetWindowTextW(wchar_t const *)\n6063 void CWnd::SetWindowTextW(wchar_t const *)\n6064 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n6065 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n6066 int CInternetFile::SetWriteBufferSize(unsigned int)\n6067 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6068 long CDocObjectServer::XOleDocumentView::Show(int)\n6069 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6070 void CDockBar::ShowAll(int)\n6071 long CRichEditCntrItem::ShowContainerUI(int)\n6072 long CRichEditView::ShowContainerUI(int)\n6073 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6074 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6075 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6076 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6077 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6078 long COleClientItem::XOleClientSite::ShowObject()\n6079 long COleControlSite::XOleClientSite::ShowObject()\n6080 void CFrameWnd::ShowOwnedWindows(int)\n6081 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n6082 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6083 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6084 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6085 int COleControlSite::ShowWindow(int)\n6086 int CWnd::ShowWindow(int)\n6087 tagSIZE const CScrollView::sizeDefault\n6088 int CMonthCalCtrl::SizeMinReq(int)\n6089 void CBitmapButton::SizeToContent()\n6090 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6091 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6092 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6093 int CAsyncSocket::Socket(int,long,int,int)\n6094 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6095 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6096 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6097 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6098 int CSplitterWnd::SplitColumn(int)\n6099 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6100 int CSplitterWnd::SplitRow(int)\n6101 int CDC::StartDocW(wchar_t const *)\n6102 void CDockContext::StartDrag(CPoint)\n6103 void CDockContext::StartResize(int,CPoint)\n6104 void CSplitterWnd::StartTracking(int)\n6105 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6106 void CSplitterWnd::StopTracking(int)\n6107 void CRuntimeClass::Store(CArchive &)const \n6108 void CRecordset::StoreFields()\n6109 void CRichEditView::Stream(CArchive &,int)\n6110 void CDockContext::Stretch(CPoint)\n6111 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6112 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6113 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6114 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6115 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6116 int CWnd::SubclassWindow(HWND__ *)\n6117 int COleDocObjectItem::SupportsIPrint()\n6118 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6119 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6120 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6121 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6122 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6123 void CRichEditView::TextNotFound(wchar_t const *)\n6124 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n6125 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n6126 void CFileException::ThrowErrno(int,wchar_t const *)\n6127 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6128 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n6129 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n6130 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n6131 void CFileException::ThrowOsError(long,wchar_t const *)\n6132 void CDockContext::ToggleDocking()\n6133 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6134 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6135 COleVariant CDataSourceControl::ToVariant(int)\n6136 int CDockContext::Track()\n6137 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6138 void CSplitterWnd::TrackColumnSize(int,int)\n6139 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6140 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6141 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6142 void CSplitterWnd::TrackRowSize(int,int)\n6143 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6144 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6145 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6146 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6147 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6148 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6149 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n6150 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6151 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6152 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6153 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6154 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n6155 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6156 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6157 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6158 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6159 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6160 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6161 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n6162 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6163 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6164 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n6165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6166 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n6168 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6169 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6170 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n6171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6172 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6173 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n6174 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6175 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6176 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n6177 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6178 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6179 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6180 void COccManager::UIActivateControl(CWnd *)\n6181 long COleControl::XOleInPlaceObject::UIDeactivate()\n6182 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n6183 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6184 void COleSafeArray::UnaccessData()\n6185 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6186 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6187 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6188 long COleControl::XOleObject::Unadvise(unsigned long)\n6189 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6190 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6191 void CRecordset::UnbindFieldsForUpdate()\n6192 long COleControl::XOleCache::Uncache(unsigned long)\n6193 long COleControl::XViewObject::Unfreeze(unsigned long)\n6194 int CEvent::Unlock()\n6195 int CMultiLock::Unlock(long,long *)\n6196 int CMultiLock::Unlock()\n6197 int CMutex::Unlock()\n6198 void COleSafeArray::Unlock()\n6199 int CSemaphore::Unlock(long,long *)\n6200 int CSingleLock::Unlock(long,long *)\n6201 int CSingleLock::Unlock()\n6202 void CTypeLibCache::Unlock()\n6203 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n6204 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n6205 void CEditView::UnlockBuffer()const \n6206 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6207 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6208 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6209 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6210 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6211 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6212 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6213 int COleObjectFactory::Unregister()\n6214 int COleTemplateServer::Unregister()\n6215 int CWinApp::Unregister()\n6216 int COleObjectFactory::UnregisterAll()\n6217 void CDocManager::UnregisterShellFileTypes()\n6218 void CWinApp::UnregisterShellFileTypes()\n6219 HWND__ * CWnd::UnsubclassWindow()\n6220 int CRecordset::Update()\n6221 long CDocObjectServer::XOleObject::Update()\n6222 long COleControl::XOleObject::Update()\n6223 long COleServerDoc::XOleObject::Update()\n6224 long COleServerItem::XOleObject::Update()\n6225 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6226 void CStatusBar::UpdateAllPanes(int,int)\n6227 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6228 void CScrollView::UpdateBars()\n6229 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6230 long CDataSourceControl::UpdateControls()\n6231 long CDataSourceControl::UpdateCursor()\n6232 int CWnd::UpdateData(int)\n6233 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6234 void CDocument::UpdateFrameCounts()\n6235 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n6236 int CRecordset::UpdateInsertDelete()\n6237 void COleClientItem::UpdateItemType()\n6238 int COleClientItem::UpdateLink()\n6239 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6240 void CRecentFileList::UpdateMenu(CCmdUI *)\n6241 void COleDocument::UpdateModifiedFlag()\n6242 void CRichEditDoc::UpdateModifiedFlag()\n6243 void CRichEditDoc::UpdateObjectCache()\n6244 void CWinApp::UpdatePrinterSelection(int)\n6245 int COleObjectFactory::UpdateRegistry(int)\n6246 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n6247 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n6248 int COleObjectFactory::UpdateRegistryAll(int)\n6249 void CDockContext::UpdateState(int *,int)\n6250 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6251 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n6252 long CBrowserControlSite::UpdateUI()\n6253 long CDHtmlDialog::UpdateUI()\n6254 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n6255 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6256 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6257 void CDatabase::VerifyConnect()\n6258 unsigned long CRecordset::VerifyCursorSupport()\n6259 void CRecordset::VerifyDriverBehavior()\n6260 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6261 int COleObjectFactory::VerifyUserLicense()\n6262 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6263 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6264 int COleControl::WillAmbientsBeValidDuringLoad()\n6265 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6266 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6267 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6268 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6269 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6270 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6271 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6272 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6273 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6274 void CWinApp::WinHelpW(unsigned long,unsigned int)\n6275 void CWnd::WinHelpW(unsigned long,unsigned int)\n6276 CWnd const CWnd::wndBottom\n6277 CWnd const CWnd::wndNoTopMost\n6278 CWnd const CWnd::wndTop\n6279 CWnd const CWnd::wndTopMost\n6280 void CRichEditView::WrapChanged()\n6281 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6282 void CArchive::Write(void const *,unsigned int)\n6283 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6284 void CFile::Write(void const *,unsigned int)\n6285 void CGopherFile::Write(void const *,unsigned int)\n6286 int CImageList::Write(CArchive *)\n6287 void CInternetFile::Write(void const *,unsigned int)\n6288 void CMemFile::Write(void const *,unsigned int)\n6289 void COleStreamFile::Write(void const *,unsigned int)\n6290 void CSocketFile::Write(void const *,unsigned int)\n6291 void CStdioFile::Write(void const *,unsigned int)\n6292 void CArchive::WriteClass(CRuntimeconst *)\n6293 void CArchive::WriteCount(unsigned long)\n6294 void COleClientItem::WriteItem(CArchive &)\n6295 void COleClientItem::WriteItemCompound(CArchive &)\n6296 void COleClientItem::WriteItemFlat(CArchive &)\n6297 void CRecentFileList::WriteList()\n6298 int CPropertySection::WriteNameDictToStream(IStream *)\n6299 void CArchive::WriteObject(CObject const *)\n6300 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n6301 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n6302 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n6303 void CArchive::WriteString(wchar_t const *)\n6304 void CGopherFile::WriteString(wchar_t const *)\n6305 void CInternetFile::WriteString(wchar_t const *)\n6306 void CStdioFile::WriteString(wchar_t const *)\n6307 void CEditView::WriteToArchive(CArchive &)\n6308 int CProperty::WriteToStream(IStream *)\n6309 int CPropertySection::WriteToStream(IStream *)\n6310 int CPropertySet::WriteToStream(IStream *)\n6311 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n6312 CDaoException::CDaoException()\n6313 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n6314 CDaoIndexInfo::CDaoIndexInfo()\n6315 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n6316 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n6317 CDaoRecordView::CDaoRecordView(unsigned int)\n6318 CDaoRecordView::CDaoRecordView(wchar_t const *)\n6319 CDaoRelationInfo::CDaoRelationInfo()\n6320 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n6321 CDaoWorkspace::CDaoWorkspace()\n6322 CDaoDatabase::~CDaoDatabase()\n6323 CDaoException::~CDaoException()\n6324 CDaoIndexInfo::~CDaoIndexInfo()\n6325 CDaoQueryDef::~CDaoQueryDef()\n6326 CDaoRecordset::~CDaoRecordset()\n6327 CDaoRecordView::~CDaoRecordView()\n6328 CDaoRelationInfo::~CDaoRelationInfo()\n6329 CDaoTableDef::~CDaoTableDef()\n6330 CDaoWorkspace::~CDaoWorkspace()\n6331 void CDaoRecordset::AddNew()\n6332 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n6333 _DAODBEngine * AfxDaoGetEngine()\n6334 void AfxDaoInit()\n6335 void AfxDaoTerm()\n6336 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n6337 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6338 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n6339 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6340 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n6341 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n6342 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6343 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n6344 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n6345 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n6346 void AfxThrowDaoException(int,long)\n6347 void CDaoRecordset::AllocCache()\n6348 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n6349 void CDaoRecordset::AllocDatabase()\n6350 void AllocLongBinary(CLongBinary &,unsigned long)\n6351 void CDaoQueryDef::Append()\n6352 void CDaoTableDef::Append()\n6353 void CDaoWorkspace::Append()\n6354 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n6355 void CDaoWorkspace::BeginTrans()\n6356 void CDaoRecordset::BindFields()\n6357 void CDaoRecordset::BindParameters()\n6358 void CDaoRecordset::BuildParameterList()\n6359 void CDaoRecordset::BuildSelectList()\n6360 void CDaoRecordset::BuildSQL()\n6361 int CDaoRecordset::CanAppend()const \n6362 int CDaoRecordset::CanBookmark()\n6363 void CDaoRecordset::CancelUpdate()\n6364 int CDaoRecordset::CanRestart()\n6365 int CDaoRecordset::CanScroll()const \n6366 int CDaoDatabase::CanTransact()\n6367 int CDaoRecordset::CanTransact()\n6368 int CDaoDatabase::CanUpdate()\n6369 int CDaoQueryDef::CanUpdate()\n6370 int CDaoRecordset::CanUpdate()const \n6371 int CDaoTableDef::CanUpdate()\n6372 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n6373 void CDaoRecordset::ClearFieldStatusFlags()\n6374 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n6375 void CDaoDatabase::Close()\n6376 void CDaoQueryDef::Close()\n6377 void CDaoRecordset::Close()\n6378 void CDaoTableDef::Close()\n6379 void CDaoWorkspace::Close()\n6380 void CDaoWorkspace::CommitTrans()\n6381 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n6382 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n6383 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n6384 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n6385 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n6386 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n6387 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n6388 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n6389 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n6390 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n6391 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n6392 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n6393 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n6394 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6395 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6396 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6397 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n6398 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n6399 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6400 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6401 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n6402 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n6403 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n6404 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n6405 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n6406 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n6407 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n6408 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n6409 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n6410 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n6411 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n6412 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n6413 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n6414 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n6415 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n6416 void CDaoRecordset::Delete()\n6417 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n6418 void CDaoTableDef::DeleteField(int)\n6419 void CDaoTableDef::DeleteField(wchar_t const *)\n6420 void CDaoTableDef::DeleteIndex(int)\n6421 void CDaoTableDef::DeleteIndex(wchar_t const *)\n6422 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n6423 void CDaoDatabase::DeleteRelation(wchar_t const *)\n6424 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n6425 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n6426 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n6427 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n6428 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n6429 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n6430 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n6431 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n6432 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n6433 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n6434 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n6435 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n6436 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n6437 void CDaoRecordset::Edit()\n6438 void CDaoDatabase::Execute(wchar_t const *,int)\n6439 void CDaoQueryDef::Execute(int)\n6440 void CDaoRecordset::FillCache(long *,COleVariant *)\n6441 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n6442 void CDaoException::FillErrorInfo()\n6443 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n6444 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n6445 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n6446 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n6447 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n6448 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n6449 int CDaoRecordset::Find(long,wchar_t const *)\n6450 int CDaoRecordset::FindFirst(wchar_t const *)\n6451 int CDaoRecordset::FindLast(wchar_t const *)\n6452 int CDaoRecordset::FindNext(wchar_t const *)\n6453 int CDaoRecordset::FindPrev(wchar_t const *)\n6454 void CDaoRecordset::Fixup()\n6455 void CDaoRecordset::FreeCache()\n6456 long CDaoRecordset::GetAbsolutePosition()\n6457 long CDaoTableDef::GetAttributes()\n6458 COleVariant CDaoRecordset::GetBookmark()\n6459 long CDaoRecordset::GetCacheSize()\n6460 COleVariant CDaoRecordset::GetCacheStart()\n6461 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n6462 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n6463 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n6464 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n6465 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n6466 void CDaoRecordset::GetDataAndFixupNulls()\n6467 short CDaoWorkspace::GetDatabaseCount()\n6468 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n6469 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n6470 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n6471 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n6472 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n6473 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n6474 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n6475 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n6476 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n6477 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n6478 short CDaoRecordset::GetEditMode()\n6479 short CDaoException::GetErrorCount()\n6480 void CDaoException::GetErrorInfo(int)\n6481 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n6482 short CDaoQueryDef::GetFieldCount()\n6483 short CDaoRecordset::GetFieldCount()\n6484 short CDaoTableDef::GetFieldCount()\n6485 int CDaoRecordset::GetFieldIndex(void *)\n6486 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6487 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6488 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6489 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6490 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n6491 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n6492 unsigned long CDaoRecordset::GetFieldLength(int)\n6493 COleVariant CDaoRecordset::GetFieldValue(int)\n6494 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n6495 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n6496 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n6497 short CDaoRecordset::GetIndexCount()\n6498 short CDaoTableDef::GetIndexCount()\n6499 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6500 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6501 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n6502 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n6503 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n6504 int CDaoWorkspace::GetIsolateODBCTrans()\n6505 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n6506 int CDaoRecordset::GetLockingMode()\n6507 short CDaoWorkspace::GetLoginTimeout()\n6508 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n6509 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n6510 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n6511 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n6512 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n6513 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n6514 short CDaoQueryDef::GetODBCTimeout()\n6515 short CDaoQueryDef::GetParameterCount()\n6516 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n6517 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n6518 COleVariant CDaoQueryDef::GetParamValue(int)\n6519 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n6520 COleVariant CDaoRecordset::GetParamValue(int)\n6521 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n6522 float CDaoRecordset::GetPercentPosition()\n6523 short CDaoDatabase::GetQueryDefCount()\n6524 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n6525 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n6526 short CDaoDatabase::GetQueryTimeout()\n6527 long CDaoRecordset::GetRecordCount()\n6528 long CDaoTableDef::GetRecordCount()\n6529 long CDaoDatabase::GetRecordsAffected()\n6530 long CDaoQueryDef::GetRecordsAffected()\n6531 short CDaoDatabase::GetRelationCount()\n6532 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n6533 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n6534 int CDaoQueryDef::GetReturnsRecords()\n6535 CRuntime* CDaoDatabase::GetRuntimeClass()const \n6536 CRuntime* CDaoException::GetRuntimeClass()const \n6537 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n6538 CRuntime* CDaoRecordset::GetRuntimeClass()const \n6539 CRuntime* CDaoRecordView::GetRuntimeClass()const \n6540 CRuntime* CDaoTableDef::GetRuntimeClass()const \n6541 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n6542 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n6543 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n6544 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n6545 short CDaoDatabase::GetTableDefCount()\n6546 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n6547 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n6548 CRuntime* CDaoDatabase::GetThisClass()\n6549 CRuntime* CDaoException::GetThisClass()\n6550 CRuntime* CDaoQueryDef::GetThisClass()\n6551 CRuntime* CDaoRecordset::GetThisClass()\n6552 CRuntime* CDaoRecordView::GetThisClass()\n6553 CRuntime* CDaoTableDef::GetThisClass()\n6554 CRuntime* CDaoWorkspace::GetThisClass()\n6555 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n6556 short CDaoQueryDef::GetType()\n6557 short CDaoRecordset::GetType()\n6558 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n6559 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n6560 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n6561 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n6562 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n6563 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n6564 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n6565 short CDaoWorkspace::GetWorkspaceCount()\n6566 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n6567 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n6568 void CDaoWorkspace::Idle(int)\n6569 void CDaoWorkspace::InitDatabasesCollection()\n6570 void CDaoException::InitErrorsCollection()\n6571 void CDaoQueryDef::InitFieldsCollection()\n6572 void CDaoRecordset::InitFieldsCollection()\n6573 void CDaoTableDef::InitFieldsCollection()\n6574 void CDaoWorkspace::InitializeEngine()\n6575 void CDaoRecordset::InitIndexesCollection()\n6576 void CDaoTableDef::InitIndexesCollection()\n6577 void CDaoQueryDef::InitParametersCollection()\n6578 void CDaoDatabase::InitQueryDefsCollection()\n6579 void CDaoDatabase::InitRelationsCollection()\n6580 void CDaoDatabase::InitTableDefsCollection()\n6581 void CDaoDatabase::InitWorkspace()\n6582 void CDaoWorkspace::InitWorkspacesCollection()\n6583 int CDaoRecordset::IsBOF()const \n6584 int CDaoRecordset::IsDeleted()const \n6585 int CDaoRecordset::IsEOF()const \n6586 int CDaoRecordset::IsFieldDirty(void *)\n6587 int CDaoRecordset::IsFieldNull(void *)\n6588 int CDaoRecordset::IsFieldNullable(void *)\n6589 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n6590 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n6591 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n6592 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n6593 int CDaoRecordset::IsMatch()\n6594 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6595 int CDaoRecordView::IsOnFirstRecord()\n6596 int CDaoRecordView::IsOnLastRecord()\n6597 int CDaoFieldExchange::IsValidOperation()\n6598 void CDaoRecordset::LoadFields()\n6599 void CDaoRecordset::MarkForAddNew()\n6600 void CDaoRecordset::MarkForEdit()\n6601 void CDaoRecordset::Move(long)\n6602 void CDaoRecordset::MoveFirst()\n6603 void CDaoRecordset::MoveLast()\n6604 void CDaoRecordset::MoveNext()\n6605 void CDaoRecordset::MovePrev()\n6606 void CDaoRecordView::OnInitialUpdate()\n6607 int CDaoRecordView::OnMove(unsigned int)\n6608 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n6609 void CDaoQueryDef::Open(wchar_t const *)\n6610 void CDaoRecordset::Open(int,wchar_t const *,int)\n6611 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n6612 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n6613 void CDaoTableDef::Open(wchar_t const *)\n6614 void CDaoWorkspace::Open(wchar_t const *)\n6615 void CDaoTableDef::RefreshLink()\n6616 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n6617 void CDaoRecordset::Requery()\n6618 void CDaoWorkspace::Rollback()\n6619 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n6620 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n6621 void CDaoRecordset::SetAbsolutePosition(long)\n6622 void CDaoTableDef::SetAttributes(long)\n6623 void CDaoRecordset::SetBookmark(COleVariant)\n6624 void CDaoRecordset::SetCacheSize(long)\n6625 void CDaoRecordset::SetCacheStart(COleVariant)\n6626 void CDaoQueryDef::SetConnect(wchar_t const *)\n6627 void CDaoTableDef::SetConnect(wchar_t const *)\n6628 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n6629 void CDaoRecordset::SetCursorAttributes()\n6630 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n6631 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n6632 void CDaoRecordset::SetDirtyFields()\n6633 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6634 void CDaoRecordset::SetFieldDirty(void *,int)\n6635 void CDaoRecordset::SetFieldNull(void *,int)\n6636 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n6637 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n6638 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6639 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n6640 void CDaoRecordset::SetFieldValueNull(int)\n6641 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n6642 void CDaoWorkspace::SetIniPath(wchar_t const *)\n6643 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6644 void CDaoRecordset::SetLockingMode(int)\n6645 void CDaoWorkspace::SetLoginTimeout(short)\n6646 void CDaoQueryDef::SetName(wchar_t const *)\n6647 void CDaoTableDef::SetName(wchar_t const *)\n6648 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6649 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6650 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6651 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6652 void CDaoQueryDef::SetODBCTimeout(short)\n6653 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6654 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n6655 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6656 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n6657 void CDaoQueryDef::SetParamValueNull(int)\n6658 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n6659 void CDaoRecordset::SetParamValueNull(int)\n6660 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n6661 void CDaoRecordset::SetPercentPosition(float)\n6662 void CDaoDatabase::SetQueryTimeout(short)\n6663 void CDaoQueryDef::SetReturnsRecords(int)\n6664 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n6665 void CDaoQueryDef::SetSQL(wchar_t const *)\n6666 void CDaoTableDef::SetValidationRule(wchar_t const *)\n6667 void CDaoTableDef::SetValidationText(wchar_t const *)\n6668 void CDaoRecordset::StoreFields()\n6669 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n6670 void CDaoDatabase::ThrowDaoException(int)\n6671 void CDaoQueryDef::ThrowDaoException(int)\n6672 void CDaoRecordset::ThrowDaoException(int)\n6673 void CDaoTableDef::ThrowDaoException(int)\n6674 void CDaoWorkspace::ThrowDaoException(int)\n6675 void ThrowGetRowsDaoException(long)\n6676 void CDaoRecordset::Update()\n6677 CRuntimeconst CDaoDatabase::classCDaoDatabase\n6678 CRuntimeconst CDaoException::classCDaoException\n6679 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n6680 CRuntimeconst CDaoRecordset::classCDaoRecordset\n6681 CRuntimeconst CDaoRecordView::classCDaoRecordView\n6682 CRuntimeconst CDaoTableDef::classCDaoTableDef\n6683 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n6684 CRuntimeconst CDatabase::classCDatabase\n6685 CRuntimeconst CDBException::classCDBException\n6686 CRuntimeconst CLongBinary::classCLongBinary\n6687 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n6688 CRuntimeconst CRecordset::classCRecordset\n6689 CRuntimeconst CRecordView::classCRecordView\n6693 _AFX_DAO_STATE * AfxGetDaoState()\n6694 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n6695 _AFX_DAO_STATE::_AFX_DAO_STATE()\n6696 int CDC::SetGraphicsMode(int)\n6697 int CDC::SetWorldTransform(tagXFORM const *)\n6698 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n6699 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager()const \n6700 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager()const \n6701 void AFX_MODULE_STATE::CreateActivationContext()\n6702 CControlCreationInfo::CControlCreationInfo()\n6703 CControlSiteFactoryMgr::CControlSiteFactoryMgr()\n6704 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n6705 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n6706 COleControlSiteOrWnd::COleControlSiteOrWnd()\n6707 CControlSiteFactoryMgr::~CControlSiteFactoryMgr()\n6708 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n6709 int AfxRegisterSiteFactory(IControlSiteFactory *)\n6710 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n6711 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n6712 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n6713 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n6714 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n6715 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n6716 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n6718 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n6719 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n6720 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo()\n6721 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo()\n6722 int CControlCreationInfo::IsManaged()const \n6723 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n6724 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n6725 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n6726 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n6727 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n6728 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n6729 __POSITION * CWnd::FindSiteOrWndWithFocus()const \n6730 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n6731 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n6732 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n6733 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n6734 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n6735 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n6736 int AfxIsValidAtom(unsigned short)\n6737 int AfxIsValidAtom(wchar_t const *)\n6738 void CFileDialog::SetControlText(int,wchar_t const *)\n6739 COleVariant const & COleVariant::operator=(__int64)\n6740 COleVariant const & COleVariant::operator=(unsigned __int64)\n6741 void AfxUnregisterWndClasses()\n6742 void CWinApp::DoEnableModeless(int)\n6744 HWND__ * CPropertyPage::OnWizardFinishEx()\n6746 int CWinApp::ShowAppMessageBox(CWinApp *,wchar_t const *,unsigned int,unsigned int)\n6747 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n6748 int AfxActivateActCtx(void *,unsigned long *)\n6749 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n6750 void * AfxCreateActCtxW(tagACTCTXW const *)\n6751 int AfxDeactivateActCtx(unsigned long,unsigned long)\n6752 void AfxReleaseActCtx(void *)\n6753 void COleClientItem::GetItemName(wchar_t *,unsigned int)const \n6754 HINSTANCE__ * AfxLoadLibraryEx(wchar_t const *,void *,unsigned long)\n6755 void CArchive::EnsureRead(void *,unsigned int)\n6756 int AfxIsModuleDll()\n6757 int AfxInitCurrentStateApp()\n6758 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(unsigned int,...)\n6759 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(wchar_t const *,...)\n6760 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n6761 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n6762 HINSTANCE__ * AfxGetInstanceHandleHelper()\n6763 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo()\n6764 CFormView::~CFormView()\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc80ud.def",
    "content": "256 void CopyElements<COleVariant>(COleVariant *,COleVariant const *,int)\n257 void DumpElements<COleVariant>(CDumpContext &,COleVariant const *,int)\n258 unsigned int HashKey<tagVARIANT const &>(tagVARIANT const &)\n259 unsigned int HashKey<wchar_t const *>(wchar_t const *)\n260 unsigned int HashKey<char const *>(char const *)\n261 unsigned int HashKey<ATL::CComBSTR>(ATL::CComBSTR)\n262 void SerializeElements<ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > >(CArchive &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,int)\n263 void SerializeElements<ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > >(CArchive &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,int)\n264 void SerializeElements<ATL::CComBSTR>(CArchive &,ATL::CComBSTR *,int)\n265 void SerializeElements<COleVariant>(CArchive &,COleVariant *,int)\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n317 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE()\n318 _AFX_COLOR_STATE::_AFX_COLOR_STATE()\n319 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE()\n320 _AFX_EDIT_STATE::_AFX_EDIT_STATE()\n321 _AFX_OLE_STATE::_AFX_OLE_STATE()\n322 _AFX_THREAD_STATE::_AFX_THREAD_STATE()\n323 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE()\n324 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n325 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n326 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK()\n327 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n328 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n329 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n330 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE()\n331 CAnimateCtrl::CAnimateCtrl()\n332 CArchive::CArchive(CArchive const &)\n333 CArchive::CArchive(CFile *,unsigned int,int,void *)\n334 CArchiveException::CArchiveException(int,wchar_t const *)\n335 CArchivePropExchange::CArchivePropExchange(CArchive &)\n336 CArchiveStream::CArchiveStream(CArchive *)\n337 CAsyncMonikerFile::CAsyncMonikerFile()\n338 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n339 CAsyncSocket::CAsyncSocket()\n340 CBitmap::CBitmap()\n341 CBitmapButton::CBitmapButton()\n342 CBlobProperty::CBlobProperty(void *)\n343 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n344 CBrush::CBrush(int,unsigned long)\n345 CBrush::CBrush(unsigned long)\n346 CBrush::CBrush(CBitmap *)\n347 CBrush::CBrush()\n348 CButton::CButton()\n349 CByteArray::CByteArray()\n350 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n351 CCachedDataPathProperty::CCachedDataPathProperty(wchar_t const *,COleControl *)\n352 CCheckListBox::CCheckListBox()\n353 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu()\n354 CClientDC::CClientDC(CWnd *)\n355 CCmdTarget::CCmdTarget()\n356 CCmdUI::CCmdUI()\n357 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n358 CComboBox::CComboBox()\n359 CComboBoxEx::CComboBoxEx()\n360 CCommandLineInfo::CCommandLineInfo()\n361 CCommonDialog::CCommonDialog(CWnd *)\n362 CConnectionPoint::CConnectionPoint()\n363 CControlBar::CControlBar()\n364 CControlBarInfo::CControlBarInfo()\n365 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n366 CControlFrameWnd::CControlFrameWnd(COleControl *)\n367 CCreateContext::CCreateContext()\n368 CCriticalSection::CCriticalSection()\n369 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n370 CDatabase::CDatabase()\n371 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n372 CDataExchange::CDataExchange(CWnd *,int)\n373 CDataPathProperty::CDataPathProperty(COleControl *)\n374 CDataPathProperty::CDataPathProperty(wchar_t const *,COleControl *)\n375 CDataSourceControl::CDataSourceControl(COleControlSite *)\n376 CDateTimeCtrl::CDateTimeCtrl()\n377 CDBException::CDBException(short)\n378 CDBVariant::CDBVariant()\n379 CDC::CDC()\n380 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n381 CDHtmlControlSink::CDHtmlControlSink()\n382 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n383 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n384 CDHtmlDialog::CDHtmlDialog()\n385 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n386 CDialog::CDialog(unsigned int,CWnd *)\n387 CDialog::CDialog(wchar_t const *,CWnd *)\n388 CDialog::CDialog()\n389 CDialogBar::CDialogBar()\n390 CDialogTemplate::CDialogTemplate(void *)\n391 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n392 CDocItem::CDocItem()\n393 CDockBar::CDockBar(int)\n394 CDockContext::CDockContext(CControlBar *)\n395 CDockState::CDockState()\n396 CDocManager::CDocManager()\n397 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n398 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n399 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n400 CDocument::CDocument()\n401 CDragListBox::CDragListBox()\n402 CDumpContext::CDumpContext(CDumpContext const &)\n403 CDumpContext::CDumpContext(CFile *)\n404 CDWordArray::CDWordArray()\n405 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n406 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n407 CEdit::CEdit()\n408 CEditView::CEditView()\n409 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n410 CEnumConnections::CEnumConnections(void const *,unsigned int)\n411 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n412 CEnumFormatEtc::CEnumFormatEtc()\n413 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n414 CException::CException(int)\n415 CException::CException()\n416 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n417 CFile::CFile(void *)\n418 CFile::CFile(wchar_t const *,unsigned int)\n419 CFile::CFile()\n420 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long)\n421 CFileException::CFileException(int,long,wchar_t const *)\n422 CFileFind::CFileFind()\n423 CFindReplaceDialog::CFindReplaceDialog()\n424 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n425 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n426 CFont::CFont()\n427 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n428 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n429 CFontHolder::CFontHolder(IPropertyNotifySink *)\n430 CFormView::CFormView(unsigned int)\n431 CFormView::CFormView(wchar_t const *)\n432 CFrameWnd::CFrameWnd()\n433 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n434 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n435 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n436 CGdiObject::CGdiObject()\n437 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n438 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n439 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n440 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n441 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n442 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n443 CGopherLocator::CGopherLocator(CGopherLocator const &)\n444 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n445 CHeaderCtrl::CHeaderCtrl()\n446 CHotKeyCtrl::CHotKeyCtrl()\n447 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n448 CHtmlEditCtrl::CHtmlEditCtrl()\n449 CHtmlEditDoc::CHtmlEditDoc()\n450 CHtmlEditView::CHtmlEditView()\n451 CHtmlView::CHtmlView()\n452 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n453 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n454 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n455 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n456 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n457 CImageList::CImageList()\n458 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n459 CInternetException::CInternetException(unsigned long)\n460 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n461 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n462 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n463 CInvalidArgException::CInvalidArgException(int,unsigned int)\n464 CInvalidArgException::CInvalidArgException()\n465 CIPAddressCtrl::CIPAddressCtrl()\n466 CListBox::CListBox()\n467 CListCtrl::CListCtrl()\n468 CListView::CListView()\n469 CLongBinary::CLongBinary()\n470 CMapPtrToPtr::CMapPtrToPtr(int)\n471 CMapPtrToWord::CMapPtrToWord(int)\n472 CMapStringToOb::CMapStringToOb(int)\n473 CMapStringToPtr::CMapStringToPtr(int)\n474 CMapStringToString::CMapStringToString(int)\n475 CMapWordToOb::CMapWordToOb(int)\n476 CMapWordToPtr::CMapWordToPtr(int)\n477 CMDIChildWnd::CMDIChildWnd()\n478 CMDIFrameWnd::CMDIFrameWnd()\n479 CMemFile::CMemFile(unsigned int)\n480 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n481 CMemoryException::CMemoryException(int,unsigned int)\n482 CMemoryException::CMemoryException()\n483 CMemoryState::CMemoryState()\n484 CMenu::CMenu()\n485 CMetaFileDC::CMetaFileDC()\n486 CMiniDockFrameWnd::CMiniDockFrameWnd()\n487 CMiniFrameWnd::CMiniFrameWnd()\n488 CMonikerFile::CMonikerFile()\n489 CMonthCalCtrl::CMonthCalCtrl()\n490 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n491 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n492 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n493 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n494 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog()\n495 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n496 CNotSupportedException::CNotSupportedException(int,unsigned int)\n497 CNotSupportedException::CNotSupportedException()\n498 CObArray::CObArray()\n499 CObject::CObject()\n500 CObList::CObList(int)\n501 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n502 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n503 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n504 COleClientItem::COleClientItem(COleDocument *)\n505 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n506 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n507 COleControl::COleControl()\n508 COleControlContainer::COleControlContainer(CWnd *)\n509 COleControlLock::COleControlLock(_GUID const &)\n510 COleControlSite::COleControlSite(COleControlContainer *)\n511 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n512 COleCurrency::COleCurrency(tagVARIANT const &)\n513 COleCurrency::COleCurrency(COleCurrency const &)\n514 COleCurrency::COleCurrency(long,long)\n515 COleCurrency::COleCurrency(union tagCY)\n516 COleCurrency::COleCurrency()\n517 COleDataObject::COleDataObject()\n518 COleDataSource::COleDataSource()\n519 COleDialog::COleDialog(CWnd *)\n520 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n521 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n522 COleDispatchDriver::COleDispatchDriver()\n523 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n524 COleDocIPFrameWnd::COleDocIPFrameWnd()\n525 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n526 COleDocument::COleDocument()\n527 COleDropSource::COleDropSource()\n528 COleDropTarget::COleDropTarget()\n529 COleException::COleException()\n530 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n531 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n532 COleIPFrameWnd::COleIPFrameWnd()\n533 COleLinkingDoc::COleLinkingDoc()\n534 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n535 COleMessageFilter::COleMessageFilter()\n536 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n537 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n538 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n539 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n540 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n541 COleResizeBar::COleResizeBar()\n542 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n543 COleSafeArray::COleSafeArray(tagVARIANT const &)\n544 COleSafeArray::COleSafeArray(COleSafeArray const &)\n545 COleSafeArray::COleSafeArray(COleVariant const &)\n546 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n547 COleSafeArray::COleSafeArray(tagVARIANT const *)\n548 COleSafeArray::COleSafeArray()\n549 COleServerDoc::COleServerDoc()\n550 COleServerItem::COleServerItem(COleServerDoc *,int)\n551 COleStreamFile::COleStreamFile(IStream *)\n552 COleTemplateServer::COleTemplateServer()\n553 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n554 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n555 COleVariant::COleVariant(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n556 COleVariant::COleVariant(tagVARIANT const &)\n557 COleVariant::COleVariant(COleVariant const &)\n558 COleVariant::COleVariant(CByteArray const &)\n559 COleVariant::COleVariant(CLongBinary const &)\n560 COleVariant::COleVariant(COleCurrency const &)\n561 COleVariant::COleVariant(ATL::COleDateTime const &)\n562 COleVariant::COleVariant(unsigned char)\n563 COleVariant::COleVariant(short,unsigned short)\n564 COleVariant::COleVariant(long,unsigned short)\n565 COleVariant::COleVariant(float)\n566 COleVariant::COleVariant(double)\n567 COleVariant::COleVariant(wchar_t const *)\n568 COleVariant::COleVariant(wchar_t const *,unsigned short)\n569 COleVariant::COleVariant(_ITEMIDLIST const *)\n570 COleVariant::COleVariant(tagVARIANT const *)\n571 COleVariant::COleVariant()\n572 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n573 CPaintDC::CPaintDC(CWnd *)\n574 CPalette::CPalette()\n575 CPen::CPen(int,int,unsigned long)\n576 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n577 CPen::CPen()\n578 CPictureHolder::CPictureHolder()\n579 CPreviewDC::CPreviewDC()\n580 CPreviewView::CPreviewView()\n581 CPrintDialog::CPrintDialog(tagPDW &)\n582 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n583 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n584 CPrintInfo::CPrintInfo()\n585 CPrintPreviewState::CPrintPreviewState()\n586 CProgressCtrl::CProgressCtrl()\n587 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n588 CProperty::CProperty(unsigned long,void * const,unsigned long)\n589 CProperty::CProperty()\n590 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n591 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n592 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n593 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n594 CPropertyPage::CPropertyPage()\n595 CPropertySection::CPropertySection(_GUID)\n596 CPropertySection::CPropertySection()\n597 CPropertySet::CPropertySet(_GUID)\n598 CPropertySet::CPropertySet()\n599 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n600 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n601 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n602 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n603 CPropertySheet::CPropertySheet()\n604 CPropExchange::CPropExchange()\n605 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n606 CPtrArray::CPtrArray()\n607 CPtrList::CPtrList(int)\n608 CReBar::CReBar()\n609 CReBarCtrl::CReBarCtrl()\n610 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n611 CRecordset::CRecordset(CDatabase *)\n612 CRecordView::CRecordView(unsigned int)\n613 CRecordView::CRecordView(wchar_t const *)\n614 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n615 CRectTracker::CRectTracker()\n616 CReObject::CReObject(CRichEditCntrItem *)\n617 CReObject::CReObject()\n618 CResetPropExchange::CResetPropExchange()\n619 CResourceException::CResourceException(int,unsigned int)\n620 CResourceException::CResourceException()\n621 CRgn::CRgn()\n622 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n623 CRichEditCtrl::CRichEditCtrl()\n624 CRichEditDoc::CRichEditDoc()\n625 CRichEditView::CRichEditView()\n626 CScrollBar::CScrollBar()\n627 CScrollView::CScrollView()\n628 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n629 CSharedFile::CSharedFile(unsigned int,unsigned int)\n630 CSimpleException::CSimpleException(int)\n631 CSimpleException::CSimpleException()\n632 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n633 CSingleLock::CSingleLock(CSyncObject *,int)\n634 CSliderCtrl::CSliderCtrl()\n635 CSocket::CSocket()\n636 CSocketFile::CSocketFile(CSocket *,int)\n637 CSocketWnd::CSocketWnd()\n638 CSpinButtonCtrl::CSpinButtonCtrl()\n639 CSplitterWnd::CSplitterWnd()\n640 CStatic::CStatic()\n641 CStatusBar::CStatusBar()\n642 CStatusBarCtrl::CStatusBarCtrl()\n643 CStdioFile::CStdioFile(_iobuf *)\n644 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n645 CStdioFile::CStdioFile()\n646 CStringArray::CStringArray()\n647 CStringList::CStringList(int)\n648 CSyncObject::CSyncObject(wchar_t const *)\n649 CTabCtrl::CTabCtrl()\n650 CTestCmdUI::CTestCmdUI()\n651 CThreadSlotData::CThreadSlotData()\n652 CToolBar::CToolBar()\n653 CToolBarCtrl::CToolBarCtrl()\n654 CToolTipCtrl::CToolTipCtrl()\n655 CTreeCtrl::CTreeCtrl()\n656 CTreeView::CTreeView()\n657 CUIntArray::CUIntArray()\n658 CUserException::CUserException(int,unsigned int)\n659 CUserException::CUserException()\n660 CView::CView()\n661 CWaitCursor::CWaitCursor()\n662 CWinApp::CWinApp(wchar_t const *)\n663 CWindowDC::CWindowDC(CWnd *)\n664 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n665 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n666 CWinThread::CWinThread()\n667 CWnd::CWnd(HWND__ *)\n668 CWnd::CWnd()\n669 CWordArray::CWordArray()\n670 CPreviewView::PAGE_INFO::PAGE_INFO()\n671 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>()\n672 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>()\n673 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >()\n674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >()\n675 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE()\n676 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE()\n677 _AFX_EDIT_STATE::~_AFX_EDIT_STATE()\n678 _AFX_MAIL_STATE::~_AFX_MAIL_STATE()\n679 _AFX_OLE_STATE::~_AFX_OLE_STATE()\n680 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE()\n681 _AFX_SOCK_STATE::~_AFX_SOCK_STATE()\n682 _AFX_THREAD_STATE::~_AFX_THREAD_STATE()\n683 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO()\n684 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE()\n685 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2()\n686 AFX_MODULE_STATE::~AFX_MODULE_STATE()\n687 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE()\n688 CAnimateCtrl::~CAnimateCtrl()\n689 CArchive::~CArchive()\n690 CArchiveException::~CArchiveException()\n691 CAsyncMonikerFile::~CAsyncMonikerFile()\n692 CAsyncSocket::~CAsyncSocket()\n693 CBitmap::~CBitmap()\n694 CBrush::~CBrush()\n695 CButton::~CButton()\n696 CByteArray::~CByteArray()\n697 CClientDC::~CClientDC()\n698 CCmdTarget::~CCmdTarget()\n699 CComboBox::~CComboBox()\n700 CComboBoxEx::~CComboBoxEx()\n701 CCommandLineInfo::~CCommandLineInfo()\n702 CConnectionPoint::~CConnectionPoint()\n703 CControlBar::~CControlBar()\n704 CCriticalSection::~CCriticalSection()\n705 CCtrlView::~CCtrlView()\n706 CDatabase::~CDatabase()\n707 CDataSourceControl::~CDataSourceControl()\n708 CDateTimeCtrl::~CDateTimeCtrl()\n709 CDBException::~CDBException()\n710 CDBVariant::~CDBVariant()\n711 CDC::~CDC()\n712 CDHtmlControlSink::~CDHtmlControlSink()\n713 CDHtmlDialog::~CDHtmlDialog()\n714 CDialog::~CDialog()\n715 CDialogBar::~CDialogBar()\n716 CDialogTemplate::~CDialogTemplate()\n717 CDocItem::~CDocItem()\n718 CDockBar::~CDockBar()\n719 CDockContext::~CDockContext()\n720 CDockState::~CDockState()\n721 CDocManager::~CDocManager()\n722 CDocObjectServer::~CDocObjectServer()\n723 CDocObjectServerItem::~CDocObjectServerItem()\n724 CDocTemplate::~CDocTemplate()\n725 CDocument::~CDocument()\n726 CDragListBox::~CDragListBox()\n727 CDWordArray::~CDWordArray()\n728 CDynLinkLibrary::~CDynLinkLibrary()\n729 CEdit::~CEdit()\n730 CEditView::~CEditView()\n731 CEnumArray::~CEnumArray()\n732 CEnumConnections::~CEnumConnections()\n733 CEnumConnPoints::~CEnumConnPoints()\n734 CEnumFormatEtc::~CEnumFormatEtc()\n735 CEnumOleVerb::~CEnumOleVerb()\n736 CEnumUnknown::~CEnumUnknown()\n737 CEvent::~CEvent()\n738 CException::~CException()\n739 CFile::~CFile()\n740 CFileDialog::~CFileDialog()\n741 CFileException::~CFileException()\n742 CFileFind::~CFileFind()\n743 CFixedAlloc::~CFixedAlloc()\n744 CFixedAllocNoSync::~CFixedAllocNoSync()\n745 CFont::~CFont()\n746 CFontHolder::~CFontHolder()\n747 CFrameWnd::~CFrameWnd()\n748 CFtpConnection::~CFtpConnection()\n749 CFtpFileFind::~CFtpFileFind()\n750 CGdiObject::~CGdiObject()\n751 CGopherConnection::~CGopherConnection()\n752 CGopherFile::~CGopherFile()\n753 CGopherFileFind::~CGopherFileFind()\n754 CGopherLocator::~CGopherLocator()\n755 CHeaderCtrl::~CHeaderCtrl()\n756 CHotKeyCtrl::~CHotKeyCtrl()\n757 CHtmlControlSite::~CHtmlControlSite()\n758 CHtmlEditCtrl::~CHtmlEditCtrl()\n759 CHtmlEditDoc::~CHtmlEditDoc()\n760 CHtmlEditView::~CHtmlEditView()\n761 CHtmlView::~CHtmlView()\n762 CHttpConnection::~CHttpConnection()\n763 CHttpFile::~CHttpFile()\n764 CImageList::~CImageList()\n765 CInternetConnection::~CInternetConnection()\n766 CInternetException::~CInternetException()\n767 CInternetFile::~CInternetFile()\n768 CInternetSession::~CInternetSession()\n769 CInvalidArgException::~CInvalidArgException()\n770 CIPAddressCtrl::~CIPAddressCtrl()\n771 CListBox::~CListBox()\n772 CListCtrl::~CListCtrl()\n773 CLongBinary::~CLongBinary()\n774 CMapPtrToPtr::~CMapPtrToPtr()\n775 CMapPtrToWord::~CMapPtrToWord()\n776 CMapStringToOb::~CMapStringToOb()\n777 CMapStringToPtr::~CMapStringToPtr()\n778 CMapStringToString::~CMapStringToString()\n779 CMapWordToOb::~CMapWordToOb()\n780 CMapWordToPtr::~CMapWordToPtr()\n781 CMemFile::~CMemFile()\n782 CMemoryException::~CMemoryException()\n783 CMenu::~CMenu()\n784 CMetaFileDC::~CMetaFileDC()\n785 CMiniFrameWnd::~CMiniFrameWnd()\n786 CMonikerFile::~CMonikerFile()\n787 CMonthCalCtrl::~CMonthCalCtrl()\n788 CMultiDocTemplate::~CMultiDocTemplate()\n789 CMultiLock::~CMultiLock()\n790 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog()\n791 CMutex::~CMutex()\n792 CNotSupportedException::~CNotSupportedException()\n793 CObArray::~CObArray()\n794 CObject::~CObject()\n795 CObList::~CObList()\n796 COleBusyDialog::~COleBusyDialog()\n797 COleChangeIconDialog::~COleChangeIconDialog()\n798 COleChangeSourceDialog::~COleChangeSourceDialog()\n799 COleClientItem::~COleClientItem()\n800 COleCntrFrameWnd::~COleCntrFrameWnd()\n801 COleControl::~COleControl()\n802 COleControlContainer::~COleControlContainer()\n803 COleControlLock::~COleControlLock()\n804 COleControlSite::~COleControlSite()\n805 COleControlSiteOrWnd::~COleControlSiteOrWnd()\n806 COleConvertDialog::~COleConvertDialog()\n807 COleDataObject::~COleDataObject()\n808 COleDataSource::~COleDataSource()\n809 COleDispatchDriver::~COleDispatchDriver()\n810 COleDispatchException::~COleDispatchException()\n811 COleDocIPFrameWnd::~COleDocIPFrameWnd()\n812 COleDocObjectItem::~COleDocObjectItem()\n813 COleDocument::~COleDocument()\n814 COleDropTarget::~COleDropTarget()\n815 COleException::~COleException()\n816 COleFrameHook::~COleFrameHook()\n817 COleInsertDialog::~COleInsertDialog()\n818 COleIPFrameWnd::~COleIPFrameWnd()\n819 COleLinkingDoc::~COleLinkingDoc()\n820 COleLinksDialog::~COleLinksDialog()\n821 COleMessageFilter::~COleMessageFilter()\n822 COleObjectFactory::~COleObjectFactory()\n823 COlePasteSpecialDialog::~COlePasteSpecialDialog()\n824 COlePropertyPage::~COlePropertyPage()\n825 COleResizeBar::~COleResizeBar()\n826 COleSafeArray::~COleSafeArray()\n827 COleServerDoc::~COleServerDoc()\n828 COleServerItem::~COleServerItem()\n829 COleStreamFile::~COleStreamFile()\n830 COleUpdateDialog::~COleUpdateDialog()\n831 COleVariant::~COleVariant()\n832 CPaintDC::~CPaintDC()\n833 CPalette::~CPalette()\n834 CPen::~CPen()\n835 CPictureHolder::~CPictureHolder()\n836 CPreviewDC::~CPreviewDC()\n837 CPreviewView::~CPreviewView()\n838 CPrintInfo::~CPrintInfo()\n839 CProcessLocalObject::~CProcessLocalObject()\n840 CProgressCtrl::~CProgressCtrl()\n841 CPropbagPropExchange::~CPropbagPropExchange()\n842 CProperty::~CProperty()\n843 CPropertyPage::~CPropertyPage()\n844 CPropertySection::~CPropertySection()\n845 CPropertySet::~CPropertySet()\n846 CPropertySheet::~CPropertySheet()\n847 CPtrArray::~CPtrArray()\n848 CPtrList::~CPtrList()\n849 CRecentFileList::~CRecentFileList()\n850 CRecordset::~CRecordset()\n851 CRecordView::~CRecordView()\n852 CRectTracker::~CRectTracker()\n853 CReObject::~CReObject()\n854 CResourceException::~CResourceException()\n855 CRgn::~CRgn()\n856 CRichEditCntrItem::~CRichEditCntrItem()\n857 CRichEditCtrl::~CRichEditCtrl()\n858 CScrollBar::~CScrollBar()\n859 CScrollView::~CScrollView()\n860 CSemaphore::~CSemaphore()\n861 CSharedFile::~CSharedFile()\n862 CSimpleException::~CSimpleException()\n863 CSingleDocTemplate::~CSingleDocTemplate()\n864 CSingleLock::~CSingleLock()\n865 CSliderCtrl::~CSliderCtrl()\n866 CSocket::~CSocket()\n867 CSocketFile::~CSocketFile()\n868 CSpinButtonCtrl::~CSpinButtonCtrl()\n869 CSplitterWnd::~CSplitterWnd()\n870 CStatic::~CStatic()\n871 CStatusBar::~CStatusBar()\n872 CStatusBarCtrl::~CStatusBarCtrl()\n873 CStdioFile::~CStdioFile()\n874 CStringArray::~CStringArray()\n875 CStringList::~CStringList()\n876 CSyncObject::~CSyncObject()\n877 CTabCtrl::~CTabCtrl()\n878 CThreadLocalObject::~CThreadLocalObject()\n879 CThreadSlotData::~CThreadSlotData()\n880 CToolBar::~CToolBar()\n881 CToolBarCtrl::~CToolBarCtrl()\n882 CToolTipCtrl::~CToolTipCtrl()\n883 CTreeCtrl::~CTreeCtrl()\n884 CUIntArray::~CUIntArray()\n885 CUserException::~CUserException()\n886 CView::~CView()\n887 CWaitCursor::~CWaitCursor()\n888 CWinApp::~CWinApp()\n889 CWindowDC::~CWindowDC()\n890 CWinThread::~CWinThread()\n891 CWnd::~CWnd()\n892 CWordArray::~CWordArray()\n893 void * operator new(unsigned int)\n894 void * operator new(unsigned int,int,char const *,int)\n895 void * operator new(unsigned int,char const *,int)\n896 void * CNoTrackObject::operator new(unsigned int)\n897 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n898 void * CObject::operator new(unsigned int)\n899 void * CObject::operator new(unsigned int,void *)\n900 void * CObject::operator new(unsigned int,char const *,int)\n901 void operator delete(void *)\n902 void operator delete(void *,int,char const *,int)\n903 void operator delete(void *,char const *,int)\n904 void CException::operator delete(void *)\n905 void CException::operator delete(void *,char const *,int)\n906 void CNoTrackObject::operator delete(void *)\n907 void CNoTrackObject::operator delete(void *,char const *,int)\n908 void CObject::operator delete(void *)\n909 void CObject::operator delete(void *,void *)\n910 void CObject::operator delete(void *,char const *,int)\n911 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n912 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n913 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n914 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n915 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n916 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n919 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n920 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n921 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n922 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n923 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n924 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n925 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n926 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n927 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n928 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n929 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n930 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n931 void CArchive::operator=(CArchive const &)\n932 void CDumpContext::operator=(CDumpContext const &)\n933 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n934 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n935 COleCurrency const & COleCurrency::operator=(union tagCY)\n936 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n937 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n938 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n939 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n940 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n941 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n942 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n943 COleVariant const & COleVariant::operator=(COleVariant const &)\n944 COleVariant const & COleVariant::operator=(CByteArray const &)\n945 COleVariant const & COleVariant::operator=(CLongBinary const &)\n946 COleVariant const & COleVariant::operator=(COleCurrency const &)\n947 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n948 COleVariant const & COleVariant::operator=(unsigned char)\n949 COleVariant const & COleVariant::operator=(short)\n950 COleVariant const & COleVariant::operator=(long)\n951 COleVariant const & COleVariant::operator=(float)\n952 COleVariant const & COleVariant::operator=(double)\n953 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n954 COleVariant const & COleVariant::operator=(wchar_t const * const)\n955 CArchive & operator>>(CArchive &,CByteArray * &)\n956 CArchive & operator>>(CArchive &,CDocItem * &)\n957 CArchive & operator>>(CArchive &,CDockState * &)\n958 CArchive & operator>>(CArchive &,CDWordArray * &)\n959 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n960 CArchive & operator>>(CArchive &,CMapStringToString * &)\n961 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n962 CArchive & operator>>(CArchive &,CObArray * &)\n963 CArchive & operator>>(CArchive &,CObject * &)\n964 CArchive & operator>>(CArchive &,CObList * &)\n965 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n966 CArchive & operator>>(CArchive &,CStringArray * &)\n967 CArchive & operator>>(CArchive &,CStringList * &)\n968 CArchive & operator>>(CArchive &,CWordArray * &)\n969 CArchive & operator>>(CArchive &,CObject const * &)\n970 CArchive & operator>>(CArchive &,tagPOINT &)\n971 CArchive & operator>>(CArchive &,tagRECT &)\n972 CArchive & operator>>(CArchive &,tagSIZE &)\n973 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n974 CArchive & operator>>(CArchive &,COleCurrency &)\n975 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n976 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n977 CArchive & operator>>(CArchive &,COleVariant &)\n978 CArchive & operator>>(CArchive &,ATL::CTime &)\n979 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n980 CArchive & CArchive::operator>>(__int64 &)\n981 CArchive & CArchive::operator>>(unsigned __int64 &)\n982 CArchive & CArchive::operator>>(bool &)\n983 CArchive & CArchive::operator>>(wchar_t &)\n984 CArchive & CArchive::operator>>(char &)\n985 CArchive & CArchive::operator>>(unsigned char &)\n986 CArchive & CArchive::operator>>(short &)\n987 CArchive & CArchive::operator>>(unsigned short &)\n988 CArchive & CArchive::operator>>(int &)\n989 CArchive & CArchive::operator>>(unsigned int &)\n990 CArchive & CArchive::operator>>(long &)\n991 CArchive & CArchive::operator>>(unsigned long &)\n992 CArchive & CArchive::operator>>(float &)\n993 CArchive & CArchive::operator>>(double &)\n994 CArchive & operator<<(CArchive &,tagRECT const &)\n995 CArchive & operator<<(CArchive &,CObject const *)\n996 CArchive & operator<<(CArchive &,tagPOINT)\n997 CArchive & operator<<(CArchive &,tagSIZE)\n998 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n999 CArchive & operator<<(CArchive &,COleCurrency)\n1000 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1001 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1002 CArchive & operator<<(CArchive &,COleVariant)\n1003 CArchive & operator<<(CArchive &,ATL::CTime)\n1004 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1005 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1006 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1007 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1008 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1009 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1010 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1011 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1012 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1013 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1014 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1015 CArchive & CArchive::operator<<(__int64)\n1016 CArchive & CArchive::operator<<(unsigned __int64)\n1017 CArchive & CArchive::operator<<(bool)\n1018 CArchive & CArchive::operator<<(wchar_t)\n1019 CArchive & CArchive::operator<<(char)\n1020 CArchive & CArchive::operator<<(unsigned char)\n1021 CArchive & CArchive::operator<<(short)\n1022 CArchive & CArchive::operator<<(unsigned short)\n1023 CArchive & CArchive::operator<<(int)\n1024 CArchive & CArchive::operator<<(unsigned int)\n1025 CArchive & CArchive::operator<<(long)\n1026 CArchive & CArchive::operator<<(unsigned long)\n1027 CArchive & CArchive::operator<<(float)\n1028 CArchive & CArchive::operator<<(double)\n1029 CDumpContext & CDumpContext::operator<<(__int64)\n1030 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1031 CDumpContext & CDumpContext::operator<<(CObject const &)\n1032 CDumpContext & CDumpContext::operator<<(unsigned char)\n1033 CDumpContext & CDumpContext::operator<<(unsigned short)\n1034 CDumpContext & CDumpContext::operator<<(int)\n1035 CDumpContext & CDumpContext::operator<<(unsigned int)\n1036 CDumpContext & CDumpContext::operator<<(long)\n1037 CDumpContext & CDumpContext::operator<<(unsigned long)\n1038 CDumpContext & CDumpContext::operator<<(float)\n1039 CDumpContext & CDumpContext::operator<<(double)\n1040 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1041 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1042 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1043 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1044 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1045 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1046 CDumpContext & CDumpContext::operator<<(char const *)\n1047 CDumpContext & CDumpContext::operator<<(CObject const *)\n1048 CDumpContext & CDumpContext::operator<<(void const *)\n1049 int CGdiObject::operator==(CGdiObject const &)const \n1050 int CMenu::operator==(CMenu const &)const \n1051 int COleCurrency::operator==(COleCurrency const &)const \n1052 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1053 int COleSafeArray::operator==(tagVARIANT const &)const \n1054 int COleSafeArray::operator==(COleSafeArray const &)const \n1055 int COleSafeArray::operator==(COleVariant const &)const \n1056 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1057 int COleSafeArray::operator==(tagVARIANT const *)const \n1058 int COleVariant::operator==(tagVARIANT const &)const \n1059 int COleVariant::operator==(tagVARIANT const *)const \n1060 int CWnd::operator==(CWnd const &)const \n1061 int CGdiObject::operator!=(CGdiObject const &)const \n1062 int CMenu::operator!=(CMenu const &)const \n1063 int COleCurrency::operator!=(COleCurrency const &)const \n1064 int CWnd::operator!=(CWnd const &)const \n1065 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1066 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1067 unsigned char & CByteArray::operator[](int)\n1068 unsigned char CByteArray::operator[](int)const \n1069 unsigned long & CDWordArray::operator[](int)\n1070 unsigned long CDWordArray::operator[](int)const \n1071 void * & CMapPtrToPtr::operator[](void *)\n1072 unsigned short & CMapPtrToWord::operator[](void *)\n1073 CObject * & CMapStringToOb::operator[](wchar_t const *)\n1074 void * & CMapStringToPtr::operator[](wchar_t const *)\n1075 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n1076 CObject * & CMapWordToOb::operator[](unsigned short)\n1077 void * & CMapWordToPtr::operator[](unsigned short)\n1078 CObject * & CObArray::operator[](int)\n1079 CObject * CObArray::operator[](int)const \n1080 void * & CPtrArray::operator[](int)\n1081 void * CPtrArray::operator[](int)const \n1082 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::operator[](int)\n1083 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::operator[](int)const \n1084 unsigned int & CUIntArray::operator[](int)\n1085 unsigned int CUIntArray::operator[](int)const \n1086 unsigned short & CWordArray::operator[](int)\n1087 unsigned short CWordArray::operator[](int)const \n1088 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &()\n1089 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *()const \n1090 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &()\n1091 ATL::CSimpleStringT<char,1>::operator char const *()const \n1092 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &()\n1093 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &()\n1094 CAsyncSocket::operator unsigned int()const \n1095 CBitmap::operator HBITMAP__ *()const \n1096 CBrush::operator HBRUSH__ *()const \n1097 CCriticalSection::operator _RTL_CRITICAL_SECTION *()\n1098 CDC::operator HDC__ *()const \n1099 CFile::operator void *()const \n1100 CFont::operator HFONT__ *()const \n1101 CGdiObject::operator void *()const \n1102 CGopherLocator::operator wchar_t const *()const \n1103 CImageList::operator _IMAGELIST *()const \n1104 CInternetConnection::operator void *()const \n1105 CInternetFile::operator void *()const \n1106 CInternetSession::operator void *()const \n1107 CMenu::operator HMENU__ *()const \n1108 COleCurrency::operator union tagCY()const \n1109 COleDispatchDriver::operator IDispatch *()\n1110 COleSafeArray::operator tagVARIANT *()\n1111 COleSafeArray::operator tagVARIANT const *()const \n1112 COleVariant::operator tagVARIANT *()\n1113 COleVariant::operator tagVARIANT const *()const \n1114 CPalette::operator HPALETTE__ *()const \n1115 CPen::operator HPEN__ *()const \n1116 CRgn::operator HRGN__ *()const \n1117 CSyncObject::operator void *()const \n1118 CWinThread::operator void *()const \n1119 CWnd::operator HWND__ *()const \n1120 COleCurrency COleCurrency::operator*(long)const \n1121 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1122 COleCurrency COleCurrency::operator-()const \n1123 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1124 COleCurrency COleCurrency::operator/(long)const \n1125 int COleCurrency::operator<(COleCurrency const &)const \n1126 int COleCurrency::operator<=(COleCurrency const &)const \n1127 int COleCurrency::operator>(COleCurrency const &)const \n1128 int COleCurrency::operator>=(COleCurrency const &)const \n1129 COleCurrency const & COleCurrency::operator*=(long)\n1130 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1131 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1132 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1133 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1134 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1135 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1136 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1137 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1138 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1139 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1140 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1141 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1142 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1143 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1144 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1146 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1147 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1148 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1149 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1152 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1153 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1154 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1155 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1156 int _AfxAbortProc(HDC__ *,int)\n1157 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1158 int _AfxDeleteRegKey(wchar_t const *)\n1159 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1160 int _AfxSocketInit(WSAData *)\n1161 void CArchive::Abort()\n1162 void CFile::Abort()\n1163 void CInternetFile::Abort()\n1164 void CMemFile::Abort()\n1165 void CMirrorFile::Abort()\n1166 void COleStreamFile::Abort()\n1167 void CSocketFile::Abort()\n1168 void CStdioFile::Abort()\n1169 int CDC::AbortDoc()\n1170 int CDC::AbortPath()\n1171 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1172 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1173 long CWnd::accDoDefaultAction(tagVARIANT)\n1174 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1175 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1176 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1177 void COleSafeArray::AccessData(void * *)\n1178 long CWnd::accHitTest(long,long,tagVARIANT *)\n1179 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1180 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1181 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1182 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1183 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1184 long CWnd::accSelect(long,tagVARIANT)\n1185 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1186 void COleClientItem::Activate(long,CView *,tagMSG *)\n1187 void CToolTipCtrl::Activate(int)\n1188 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1189 void COleDocObjectItem::ActivateAndShow()\n1190 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1191 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1192 void CDocObjectServer::ActivateDocObject()\n1193 void COleServerDoc::ActivateDocObject()\n1194 void CFrameWnd::ActivateFrame(int)\n1195 void CMDIChildWnd::ActivateFrame(int)\n1196 int COleServerDoc::ActivateInPlace()\n1197 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1198 void CSplitterWnd::ActivateNext(int)\n1199 void CWnd::ActivateTopParent()\n1200 int CByteArray::Add(unsigned char)\n1201 int CDWordArray::Add(unsigned long)\n1202 int CImageList::Add(HICON__ *)\n1203 int CImageList::Add(CBitmap *,CBitmap *)\n1204 int CImageList::Add(CBitmap *,unsigned long)\n1205 int CObArray::Add(CObject *)\n1206 int CPtrArray::Add(void *)\n1207 void CRecentFileList::Add(wchar_t const *)\n1208 int CStringArray::Add(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1209 int CStringArray::Add(wchar_t const *)\n1210 int CUIntArray::Add(unsigned int)\n1211 int CWordArray::Add(unsigned short)\n1212 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n1213 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n1214 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1215 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1216 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1217 void COleClientItem::AddCachedData(COleDataSource *)\n1218 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1219 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1220 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1221 void CFrameWnd::AddControlBar(CControlBar *)\n1222 void CDocManager::AddDocTemplate(CDocTemplate *)\n1223 void CWinApp::AddDocTemplate(CDocTemplate *)\n1224 void CDocTemplate::AddDocument(CDocument *)\n1225 void CMultiDocTemplate::AddDocument(CDocument *)\n1226 void CSingleDocTemplate::AddDocument(CDocument *)\n1227 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1228 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n1229 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1230 void COleControl::AddFrameLevelUI()\n1231 void CFrameWnd::AddFrameWnd()\n1232 __POSITION * CObList::AddHead(CObject *)\n1233 void CObList::AddHead(CObList *)\n1234 __POSITION * CPtrList::AddHead(void *)\n1235 void CPtrList::AddHead(CPtrList *)\n1236 void CSimpleList::AddHead(void *)\n1237 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1238 __POSITION * CStringList::AddHead(wchar_t const *)\n1239 void CStringList::AddHead(CStringList *)\n1240 void COleDocument::AddItem(CDocItem *)\n1241 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1242 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1243 void CRecordset::AddNew()\n1244 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1245 void CPropertySheet::AddPage(CPropertyPage *)\n1246 void CPropertySection::AddProperty(CProperty *)\n1247 void CPropertySet::AddProperty(_GUID,CProperty *)\n1248 unsigned long CArchiveStream::AddRef()\n1249 unsigned long CBlobProperty::AddRef()\n1250 unsigned long CBrowserControlSite::AddRef()\n1251 unsigned long CDHtmlControlSink::AddRef()\n1252 unsigned long CDHtmlElementEventSink::AddRef()\n1253 unsigned long CDHtmlEventSink::AddRef()\n1254 unsigned long CInnerUnknown::AddRef()\n1255 unsigned long COleConnPtContainer::AddRef()\n1256 unsigned long COleDispatchImpl::AddRef()\n1257 unsigned long COleUILinkInfo::AddRef()\n1258 unsigned long CPrintDialogEx::AddRef()\n1259 unsigned long CWnd::XAccessible::AddRef()\n1260 unsigned long CWnd::XAccessibleServer::AddRef()\n1261 unsigned long COleClientItem::XAdviseSink::AddRef()\n1262 unsigned long COleControlSite::XAmbientProps::AddRef()\n1263 unsigned long COleControlSite::XBoundObjectSite::AddRef()\n1264 unsigned long COleObjectFactory::XClassFactory::AddRef()\n1265 unsigned long CConnectionPoint::XConnPt::AddRef()\n1266 unsigned long COleControl::XDataObject::AddRef()\n1267 unsigned long COleDataSource::XDataObject::AddRef()\n1268 unsigned long COleServerDoc::XDataObject::AddRef()\n1269 unsigned long COleServerItem::XDataObject::AddRef()\n1270 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef()\n1271 unsigned long COleDropSource::XDropSource::AddRef()\n1272 unsigned long COleDropTarget::XDropTarget::AddRef()\n1273 unsigned long CEnumArray::XEnumVOID::AddRef()\n1274 unsigned long COleControlSite::XEventSink::AddRef()\n1275 unsigned long COleControl::XFontNotification::AddRef()\n1276 unsigned long COleMessageFilter::XMessageFilter::AddRef()\n1277 unsigned long COleControlSite::XNotifyDBEvents::AddRef()\n1278 unsigned long COleControl::XOleCache::AddRef()\n1279 unsigned long COleClientItem::XOleClientSite::AddRef()\n1280 unsigned long COleControlSite::XOleClientSite::AddRef()\n1281 unsigned long CDocObjectServer::XOleCommandTarget::AddRef()\n1282 unsigned long COleFrameHook::XOleCommandTarget::AddRef()\n1283 unsigned long COleControlContainer::XOleContainer::AddRef()\n1284 unsigned long COleControl::XOleControl::AddRef()\n1285 unsigned long COleControlSite::XOleControlSite::AddRef()\n1286 unsigned long CDocObjectServer::XOleDocument::AddRef()\n1287 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef()\n1288 unsigned long CDocObjectServer::XOleDocumentView::AddRef()\n1289 unsigned long COleControl::XOleInPlaceActiveObject::AddRef()\n1290 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef()\n1291 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef()\n1292 unsigned long COleControl::XOleInPlaceObject::AddRef()\n1293 unsigned long COleServerDoc::XOleInPlaceObject::AddRef()\n1294 unsigned long COleControlContainer::XOleIPFrame::AddRef()\n1295 unsigned long COleClientItem::XOleIPSite::AddRef()\n1296 unsigned long COleControlSite::XOleIPSite::AddRef()\n1297 unsigned long COleLinkingDoc::XOleItemContainer::AddRef()\n1298 unsigned long CDocObjectServer::XOleObject::AddRef()\n1299 unsigned long COleControl::XOleObject::AddRef()\n1300 unsigned long COleServerDoc::XOleObject::AddRef()\n1301 unsigned long COleServerItem::XOleObject::AddRef()\n1302 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef()\n1303 unsigned long COleControl::XPerPropertyBrowsing::AddRef()\n1304 unsigned long COleLinkingDoc::XPersistFile::AddRef()\n1305 unsigned long COleControl::XPersistMemory::AddRef()\n1306 unsigned long COleControl::XPersistPropertyBag::AddRef()\n1307 unsigned long COleControl::XPersistStorage::AddRef()\n1308 unsigned long COleServerDoc::XPersistStorage::AddRef()\n1309 unsigned long COleControl::XPersistStreamInit::AddRef()\n1310 unsigned long COleControl::XPointerInactive::AddRef()\n1311 unsigned long CDocObjectServer::XPrint::AddRef()\n1312 unsigned long COleControlSite::XPropertyNotifySink::AddRef()\n1313 unsigned long COlePropertyPage::XPropertyPage::AddRef()\n1314 unsigned long COlePropertyPage::XPropNotifySink::AddRef()\n1315 unsigned long COleControl::XProvideClassInfo::AddRef()\n1316 unsigned long COleControl::XQuickActivate::AddRef()\n1317 unsigned long CRichEditView::XRichEditOleCallback::AddRef()\n1318 unsigned long COleControlSite::XRowsetNotify::AddRef()\n1319 unsigned long COleControl::XSpecifyPropertyPages::AddRef()\n1320 unsigned long COleControl::XViewObject::AddRef()\n1321 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1322 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1323 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n1324 CPropertySection * CPropertySet::AddSection(_GUID)\n1325 void CPropertySet::AddSection(CPropertySection *)\n1326 void COlePasteSpecialDialog::AddStandardFormats(int)\n1327 int CComboBox::AddString(wchar_t const *)\n1328 int CComboBoxEx::AddString(wchar_t const *)\n1329 int CListBox::AddString(wchar_t const *)\n1330 int CToolBarCtrl::AddString(unsigned int)\n1331 int CToolBarCtrl::AddStrings(wchar_t const *)\n1332 __POSITION * CObList::AddTail(CObject *)\n1333 void CObList::AddTail(CObList *)\n1334 __POSITION * CPtrList::AddTail(void *)\n1335 void CPtrList::AddTail(CPtrList *)\n1336 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1337 __POSITION * CStringList::AddTail(wchar_t const *)\n1338 void CStringList::AddTail(CStringList *)\n1339 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1340 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1341 void CWinApp::AddToRecentFileList(wchar_t const *)\n1342 void CDocument::AddView(CView *)\n1343 void CMetaFileDC::AdjustCP(int)\n1344 void CRichEditView::AdjustDialogPosition(CDialog *)\n1345 void CRectTracker::AdjustRect(int,tagRECT *)\n1346 void CTabCtrl::AdjustRect(int,tagRECT *)\n1347 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1348 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1349 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1350 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1351 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1352 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1353 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1354 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1355 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1356 void AfxAbort()\n1357 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1358 int AfxAssertFailedLine(char const *,int)\n1359 void AfxAssertValidObject(CObject const *,char const *,int)\n1360 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1361 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1362 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1363 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1364 void AfxCancelModes(HWND__ *)\n1365 void AfxCheckError(long)\n1366 int AfxCheckMemory()\n1367 void AfxClassInit(CRuntime*)\n1368 int AfxComparePath(wchar_t const *,wchar_t const *)\n1369 int AfxCompareValueByRef(void *,void *,int)\n1370 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1371 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1372 void AfxCopyValueByRef(void *,void *,long *,int)\n1373 void AfxCoreInitModule()\n1374 HDC__ * AfxCreateDC(void *,void *)\n1375 int AfxCriticalInit()\n1376 int AfxCriticalNewHandler(unsigned int)\n1377 void AfxCriticalTerm()\n1378 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1379 AUX_DATA afxData\n1380 void AfxDeleteObject(void * *)\n1381 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1382 int AfxDiagnosticInit()\n1383 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1384 long AfxDllCanUnloadNow()\n1385 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1386 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1387 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1388 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1389 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1390 CDumpContext afxDump\n1391 void AfxDump(CObject const *)\n1392 int AfxDumpMemoryLeaks()\n1393 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1394 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1395 void AfxEditviewTerm()\n1396 void AfxEnableControlContainer(COccManager *)\n1397 int AfxEnableMemoryTracking(int)\n1398 int AfxEndDeferRegisterClass(long)\n1399 void AfxEndThread(unsigned int,int)\n1400 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1401 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1402 void AfxFailMaxChars(CDataExchange *,int)\n1403 void AfxFailRadio(CDataExchange *)\n1404 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1405 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1406 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1407 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1408 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1409 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1410 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1411 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1412 int AfxFreeLibrary(HINSTANCE__ *)\n1413 void AfxFreeMemoryDebug(void *,int)\n1414 int AfxFullPath(wchar_t *,wchar_t const *)\n1415 long (__stdcall*AfxGetAfxWndProc())(HWND__ *,unsigned int,unsigned int,long)\n1416 CWinApp * AfxGetApp()\n1417 AFX_MODULE_STATE * AfxGetAppModuleState()\n1418 wchar_t const * AfxGetAppName()\n1419 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1420 tagMSG * AfxGetCurrentMessage()\n1421 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1422 unsigned long AfxGetDllVersion()\n1423 wchar_t const * AfxGetFacilityString(long)\n1424 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1425 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1426 wchar_t const * AfxGetFullScodeString(long)\n1427 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1428 void * AfxGetHENV()\n1429 wchar_t const * AfxGetIIDString(_GUID const &)\n1430 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1431 HINSTANCE__ * AfxGetInstanceHandle()\n1432 unsigned long AfxGetInternetHandleType(void *)\n1433 CWnd * AfxGetMainWnd()\n1434 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1435 AFX_MODULE_STATE * AfxGetModuleState()\n1436 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState()\n1437 int (__cdecl*AfxGetNewHandler())(unsigned int)\n1438 HWND__ * AfxGetParentOwner(HWND__ *)\n1439 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1440 HINSTANCE__ * AfxGetResourceHandle()\n1441 _AFX_RICHEDIT_STATE * AfxGetRichEditState()\n1442 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1443 wchar_t const * AfxGetScodeRangeString(long)\n1444 wchar_t const * AfxGetScodeString(long)\n1445 wchar_t const * AfxGetSeverityString(long)\n1446 ATL::IAtlStringMgr * AfxGetStringManager()\n1447 CWinThread * AfxGetThread()\n1448 _AFX_THREAD_STATE * AfxGetThreadState()\n1449 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1450 void AfxGlobalFree(void *)\n1451 int AfxHelpEnabled()\n1452 void AfxHookWindowCreate(CWnd *)\n1453 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1454 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1455 void AfxInitLocalData(HINSTANCE__ *)\n1456 int AfxInitRichEdit()\n1457 int AfxInitRichEdit2()\n1458 void AfxInitThread()\n1459 int AfxInternalIsIdleMessage(tagMSG *)\n1460 int AfxInternalPreTranslateMessage(tagMSG *)\n1461 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1462 int AfxInternalPumpMessage()\n1463 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1464 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1465 int AfxIsDescendant(HWND__ *,HWND__ *)\n1466 int AfxIsIdleMessage(tagMSG *)\n1467 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1468 int AfxIsValidAddress(void const *,unsigned int,int)\n1469 int AfxIsValidString(wchar_t const *,int)\n1470 int AfxIsValidString(char const *,int)\n1471 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1472 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1473 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1474 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1475 int AfxLoadString(unsigned int,char *,unsigned int)\n1476 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1477 void AfxLockGlobals(int)\n1478 void AfxLockTempMaps()\n1479 CHandleMap * afxMapHDC(int)\n1480 CHandleMap * afxMapHGDIOBJ(int)\n1481 CHandleMap * afxMapHIMAGELIST(int)\n1482 CHandleMap * afxMapHMENU(int)\n1483 CHandleMap * afxMapHWND(int)\n1484 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1485 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1486 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1487 int AfxNewHandler(unsigned int)\n1488 int AfxOleCanExitApp()\n1489 COleMessageFilter * AfxOleGetMessageFilter()\n1490 int AfxOleGetUserCtrl()\n1491 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1492 int AfxOleInit()\n1493 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1494 void AfxOleLockApp()\n1495 int AfxOleLockControl(_GUID const &)\n1496 int AfxOleLockControl(wchar_t const *)\n1497 void AfxOleOnReleaseAllObjects()\n1498 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1499 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1500 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1501 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1502 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1503 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1504 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1505 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1506 void AfxOleSetUserCtrl(int)\n1507 void AfxOleTerm(int)\n1508 void AfxOleTermOrFreeLib(int,int)\n1509 void AfxOleUnlockAllControls()\n1510 void AfxOleUnlockApp()\n1511 int AfxOleUnlockControl(_GUID const &)\n1512 int AfxOleUnlockControl(wchar_t const *)\n1513 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1514 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1515 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1516 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1517 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1518 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1519 void AfxPostQuitMessage(int)\n1520 int AfxPreTranslateMessage(tagMSG *)\n1521 long AfxProcessWndProcException(CException *,tagMSG const *)\n1522 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1523 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1524 int AfxPumpMessage()\n1525 unsigned int AfxReadStringLength(CArchive &,int &)\n1526 int AfxRegisterClass(tagWNDCLASSW *)\n1527 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1528 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1529 void AfxResetMsgCache()\n1530 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1531 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1532 void AfxSafeArrayInit(COleSafeArray *)\n1533 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1534 void AfxSetAllocStop(long)\n1535 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1536 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1537 void AfxSetResourceHandle(HINSTANCE__ *)\n1538 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1539 void AfxSocketTerm()\n1540 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1541 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1542 void AfxStoreField(CRecordset &,unsigned int,void *)\n1543 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1544 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1545 void AfxTermLocalData(HINSTANCE__ *,int)\n1546 void AfxTermThread(HINSTANCE__ *)\n1547 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1548 void AfxThrowArchiveException(int,wchar_t const *)\n1549 void AfxThrowDBException(short,CDatabase *,void *)\n1550 void AfxThrowFileException(int,long,wchar_t const *)\n1551 void AfxThrowInternetException(unsigned long,unsigned long)\n1552 void AfxThrowInvalidArgException()\n1553 void AfxThrowLastCleanup()\n1554 void AfxThrowMemoryException()\n1555 void AfxThrowNotSupportedException()\n1556 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1557 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1558 void AfxThrowOleException(long)\n1559 void AfxThrowResourceException()\n1560 void AfxThrowUserException()\n1561 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1562 void AfxTlsAddRef()\n1563 void AfxTlsRelease()\n1564 void AfxTrace(wchar_t const *,...)\n1565 int afxTraceEnabled\n1566 unsigned int afxTraceFlags\n1567 void AfxTrackerTerm()\n1568 void AfxTryCleanup()\n1569 int AfxUnhookWindowCreate()\n1570 void AfxUnlockGlobals(int)\n1571 int AfxUnlockTempMaps(int)\n1572 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1573 void AfxVariantInit(tagVARIANT *)\n1574 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1575 char * AfxW2AHelper(char *,wchar_t const *,int)\n1576 void AfxWingdixTerm()\n1577 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1578 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1579 void AfxWinTerm()\n1580 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1581 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1582 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1583 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1584 void * CFixedAlloc::Alloc()\n1585 void * CFixedAllocNoSync::Alloc()\n1586 unsigned char * CMemFile::Alloc(unsigned long)\n1587 unsigned char * CSharedFile::Alloc(unsigned long)\n1588 void CRecordset::AllocAndCacheFieldInfo()\n1589 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1590 void CDatabase::AllocConnect(unsigned long)\n1591 void COleSafeArray::AllocData()\n1592 void CRecordset::AllocDataCache()\n1593 void COleSafeArray::AllocDescriptor(unsigned long)\n1594 int CControlBar::AllocElements(int,int)\n1595 int CStatusBar::AllocElements(int,int)\n1596 int CRecordset::AllocHstmt()\n1597 void CPropertyPage::AllocPSP(unsigned long)\n1598 void CRecordset::AllocRowset()\n1599 int CThreadSlotData::AllocSlot()\n1600 void CRecordset::AllocStatusArrays()\n1601 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString()const \n1602 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString()const \n1603 void * CProperty::AllocValue(unsigned long)\n1604 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1605 short COleControl::AmbientAppearance()\n1606 unsigned long COleControl::AmbientBackColor()\n1607 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName()\n1608 IFontDisp * COleControl::AmbientFont()\n1609 unsigned long COleControl::AmbientForeColor()\n1610 unsigned long COleControl::AmbientLocaleID()\n1611 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits()\n1612 int COleControl::AmbientShowGrabHandles()\n1613 int COleControl::AmbientShowHatching()\n1614 short COleControl::AmbientTextAlign()\n1615 int COleControl::AmbientUIDead()\n1616 int COleControl::AmbientUserMode()\n1617 int CDC::AngleArc(int,int,int,float,float)\n1618 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1619 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1620 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1621 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1622 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1623 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1624 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1625 int CByteArray::Append(CByteArray const &)\n1626 int CDWordArray::Append(CDWordArray const &)\n1627 int CObArray::Append(CObArray const &)\n1628 int CPtrArray::Append(CPtrArray const &)\n1629 int CStringArray::Append(CStringArray const &)\n1630 int CUIntArray::Append(CUIntArray const &)\n1631 int CWordArray::Append(CWordArray const &)\n1632 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1633 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1634 void CRecordset::AppendFilterAndSortSQL()\n1635 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1636 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1637 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1638 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1639 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1640 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1641 int CMenu::AppendMenuW(unsigned int,unsigned int,wchar_t const *)\n1642 int CMenu::AppendMenuW(unsigned int,unsigned int,CBitmap const *)\n1643 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1644 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1645 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1646 long COlePropertyPage::XPropertyPage::Apply()\n1647 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1648 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1649 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1650 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1651 int CDC::Arc(int,int,int,int,int,int,int,int)\n1652 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1653 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1654 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1655 int CListCtrl::Arrange(unsigned int)\n1656 unsigned int CWnd::ArrangeIconicWindows()\n1657 void CAsyncMonikerFile::AssertValid()const \n1658 void CAsyncSocket::AssertValid()const \n1659 void CBitmapButton::AssertValid()const \n1660 void CByteArray::AssertValid()const \n1661 void CCachedDataPathProperty::AssertValid()const \n1662 void CClientDC::AssertValid()const \n1663 void CCmdTarget::AssertValid()const \n1664 void CControlBar::AssertValid()const \n1665 void CCtrlView::AssertValid()const \n1666 void CDatabase::AssertValid()const \n1667 void CDataPathProperty::AssertValid()const \n1668 void CDC::AssertValid()const \n1669 void CDialog::AssertValid()const \n1670 void CDocItem::AssertValid()const \n1671 void CDockBar::AssertValid()const \n1672 void CDocManager::AssertValid()const \n1673 void CDocObjectServer::AssertValid()const \n1674 void CDocObjectServerItem::AssertValid()const \n1675 void CDocTemplate::AssertValid()const \n1676 void CDocument::AssertValid()const \n1677 void CDWordArray::AssertValid()const \n1678 void CDynLinkLibrary::AssertValid()const \n1679 void CEditView::AssertValid()const \n1680 void CFile::AssertValid()const \n1681 void CFileFind::AssertValid()const \n1682 void CFormView::AssertValid()const \n1683 void CFrameWnd::AssertValid()const \n1684 void CFtpConnection::AssertValid()const \n1685 void CFtpFileFind::AssertValid()const \n1686 void CGdiObject::AssertValid()const \n1687 void CGopherConnection::AssertValid()const \n1688 void CGopherFile::AssertValid()const \n1689 void CGopherFileFind::AssertValid()const \n1690 void CHtmlEditDoc::AssertValid()const \n1691 void CHtmlEditView::AssertValid()const \n1692 void CHtmlView::AssertValid()const \n1693 void CHttpConnection::AssertValid()const \n1694 void CHttpFile::AssertValid()const \n1695 void CImageList::AssertValid()const \n1696 void CInternetConnection::AssertValid()const \n1697 void CInternetFile::AssertValid()const \n1698 void CLongBinary::AssertValid()const \n1699 void CMapPtrToPtr::AssertValid()const \n1700 void CMapPtrToWord::AssertValid()const \n1701 void CMapStringToOb::AssertValid()const \n1702 void CMapStringToPtr::AssertValid()const \n1703 void CMapStringToString::AssertValid()const \n1704 void CMapWordToOb::AssertValid()const \n1705 void CMapWordToPtr::AssertValid()const \n1706 void CMDIChildWnd::AssertValid()const \n1707 void CMDIFrameWnd::AssertValid()const \n1708 void CMemFile::AssertValid()const \n1709 void CMenu::AssertValid()const \n1710 void CMonikerFile::AssertValid()const \n1711 void CMultiDocTemplate::AssertValid()const \n1712 void CObArray::AssertValid()const \n1713 void CObject::AssertValid()const \n1714 void CObList::AssertValid()const \n1715 void COleChangeSourceDialog::AssertValid()const \n1716 void COleClientItem::AssertValid()const \n1717 void COleCntrFrameWnd::AssertValid()const \n1718 void COleControl::AssertValid()const \n1719 void COleDataSource::AssertValid()const \n1720 void COleDocIPFrameWnd::AssertValid()const \n1721 void COleDocument::AssertValid()const \n1722 void COleDropTarget::AssertValid()const \n1723 void COleIPFrameWnd::AssertValid()const \n1724 void COleLinkingDoc::AssertValid()const \n1725 void COleLinksDialog::AssertValid()const \n1726 void COleMessageFilter::AssertValid()const \n1727 void COleObjectFactory::AssertValid()const \n1728 void COlePasteSpecialDialog::AssertValid()const \n1729 void COlePropertiesDialog::AssertValid()const \n1730 void COleServerDoc::AssertValid()const \n1731 void COleServerItem::AssertValid()const \n1732 void COleStreamFile::AssertValid()const \n1733 void CPaintDC::AssertValid()const \n1734 void CPreviewDC::AssertValid()const \n1735 void CPreviewView::AssertValid()const \n1736 void CPropertyPage::AssertValid()const \n1737 void CPropertySheet::AssertValid()const \n1738 void CPtrArray::AssertValid()const \n1739 void CPtrList::AssertValid()const \n1740 void CRecordset::AssertValid()const \n1741 void CRecordView::AssertValid()const \n1742 void CRichEditCntrItem::AssertValid()const \n1743 void CRichEditDoc::AssertValid()const \n1744 void CRichEditView::AssertValid()const \n1745 void CScrollView::AssertValid()const \n1746 void CSingleDocTemplate::AssertValid()const \n1747 void CSocket::AssertValid()const \n1748 void CSocketFile::AssertValid()const \n1749 void CSplitterWnd::AssertValid()const \n1750 void CStatusBar::AssertValid()const \n1751 void CStringArray::AssertValid()const \n1752 void CStringList::AssertValid()const \n1753 void CSyncObject::AssertValid()const \n1754 void CToolBar::AssertValid()const \n1755 void CUIntArray::AssertValid()const \n1756 void CView::AssertValid()const \n1757 void CWinApp::AssertValid()const \n1758 void CWindowDC::AssertValid()const \n1759 void CWinThread::AssertValid()const \n1760 void CWnd::AssertValid()const \n1761 void CWordArray::AssertValid()const \n1762 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1763 int CAsyncSocket::AsyncSelect(long)\n1764 long ATL::AtlIAccessibleGetIDsOfNamesHelper(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n1765 long ATL::AtlIAccessibleInvokeHelper(IAccessible *,long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n1766 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1767 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1768 int CAsyncSocket::Attach(unsigned int,long)\n1769 int CDC::Attach(HDC__ *)\n1770 int CGdiObject::Attach(void *)\n1771 int CImageList::Attach(_IMAGELIST *)\n1772 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1773 int CMenu::Attach(HMENU__ *)\n1774 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1775 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1776 void COleDataObject::Attach(IDataObject *,int)\n1777 void COleSafeArray::Attach(tagVARIANT &)\n1778 void COleStreamFile::Attach(IStream *)\n1779 void COleVariant::Attach(tagVARIANT &)\n1780 int CSocket::Attach(unsigned int)\n1781 int CWnd::Attach(HWND__ *)\n1782 int COleDataObject::AttachClipboard()\n1783 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1784 void CWnd::AttachControlSite(CHandleMap *)\n1785 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1786 void COleClientItem::AttachDataObject(COleDataObject &)const \n1787 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1788 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1789 CPrintDialog * CPrintDialog::AttachOnSetup()\n1790 void COleControlSite::AttachWindow()\n1791 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1792 void CToolBarCtrl::AutoSize()\n1793 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1794 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1795 void COleMessageFilter::BeginBusyState()\n1796 void COleLinkingDoc::BeginDeferErrors()\n1797 int CDragListBox::BeginDrag(CPoint)\n1798 int CImageList::BeginDrag(int,CPoint)\n1799 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1800 void COleDataObject::BeginEnumFormats()\n1801 void CFrameWnd::BeginModalState()\n1802 void CWnd::BeginModalState()\n1803 CDC * CWnd::BeginPaint(tagPAINT*)\n1804 int CDC::BeginPath()\n1805 int CDatabase::BeginTrans()\n1806 void CCmdTarget::BeginWaitCursor()\n1807 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1808 int CAsyncSocket::Bind(sockaddr const *,int)\n1809 void CDataSourceControl::BindColumns()\n1810 void COccManager::BindControls(CWnd *)\n1811 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1812 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1813 void CRecordset::BindFieldsForUpdate()\n1814 unsigned int CRecordset::BindFieldsToColumns()\n1815 void CDatabase::BindParameters(void *)\n1816 unsigned int CRecordset::BindParams(void *)\n1817 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1818 void CDataSourceControl::BindProp(COleControlSite *,int)\n1819 void COleControlSite::BindProperty(long,CWnd *)\n1820 void CWnd::BindProperty(long,CWnd *)\n1821 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1822 void COleControl::BoundPropertyChanged(long)\n1823 int COleControl::BoundPropertyRequestEdit(long)\n1824 void CFrameWnd::BringToTop(int)\n1825 void CWnd::BringWindowToTop()\n1826 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1827 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1828 void CPropertySheet::BuildPropPageArray()\n1829 void CRecordset::BuildSelectSQL()\n1830 int COleControl::BuildSharedMenu()\n1831 int COleDocIPFrameWnd::BuildSharedMenu()\n1832 int COleIPFrameWnd::BuildSharedMenu()\n1833 void CRecordset::BuildSQL(wchar_t const *)\n1834 void CRecordset::BuildUpdateSQL()\n1835 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1836 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1837 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1838 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1839 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1840 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1841 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1842 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1843 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1844 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1845 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1846 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1847 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1848 CSize CControlBar::CalcFixedLayout(int,int)\n1849 CSize CDialogBar::CalcFixedLayout(int,int)\n1850 CSize CDockBar::CalcFixedLayout(int,int)\n1851 CSize CReBar::CalcFixedLayout(int,int)\n1852 CSize CStatusBar::CalcFixedLayout(int,int)\n1853 CSize CToolBar::CalcFixedLayout(int,int)\n1854 void CControlBar::CalcInsideRect(CRect &,int)const \n1855 void CStatusBar::CalcInsideRect(CRect &,int)const \n1856 CSize CToolBar::CalcLayout(unsigned long,int)\n1857 int CCheckListBox::CalcMinimumItemHeight()\n1858 CSize CPreviewView::CalcPageDisplaySize()\n1859 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1860 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1861 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1862 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1863 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1864 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1865 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1866 int CDHtmlDialog::CanAccessExternal()\n1867 int COleClientItem::CanActivate()\n1868 int CRichEditCntrItem::CanActivate()\n1869 int CSplitterWnd::CanActivateNext(int)\n1870 int CRecordset::CanAppend()const \n1871 int CRecordset::CanBookmark()const \n1872 void CDatabase::Cancel()\n1873 void CRecordset::Cancel()\n1874 void CSocket::CancelBlockingCall()\n1875 void CDragListBox::CancelDrag(CPoint)\n1876 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1877 long COleUILinkInfo::CancelLink(unsigned long)\n1878 void CDockContext::CancelLoop()\n1879 void CPropertyPage::CancelToClose()\n1880 void CWnd::CancelToolTips(int)\n1881 void CRecordset::CancelUpdate()\n1882 int CDocument::CanCloseFrame(CFrameWnd *)\n1883 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1884 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1885 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1886 unsigned long CDockContext::CanDock()\n1887 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1888 int CFrameWnd::CanEnterHelpMode()\n1889 long COleClientItem::XOleIPSite::CanInPlaceActivate()\n1890 long COleControlSite::XOleIPSite::CanInPlaceActivate()\n1891 int COleClientItem::CanPaste()\n1892 int CRichEditCtrl::CanPaste(unsigned int)const \n1893 int CRichEditView::CanPaste()const \n1894 int COleClientItem::CanPasteLink()\n1895 int CRichEditCtrl::CanRedo()const \n1896 int CRecordset::CanRestart()const \n1897 int CRecordset::CanScroll()const \n1898 int CDatabase::CanTransact()const \n1899 int CRecordset::CanTransact()const \n1900 int CEdit::CanUndo()const \n1901 int CRichEditCtrl::CanUndo()const \n1902 int CDatabase::CanUpdate()const \n1903 int CRecordset::CanUpdate()const \n1904 long COleControlSite::XOleIPSite::CanWindowlessActivate()\n1905 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1906 void CScrollView::CenterOnPoint(CPoint)\n1907 void CWnd::CenterWindow(CWnd *)\n1908 int CWnd::ChangeClipboardChain(HWND__ *)\n1909 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1910 int CEdit::CharFromPos(CPoint)const \n1911 int CRichEditCtrl::CharFromPos(CPoint)const \n1912 int CListBox::CharToItem(unsigned int,unsigned int)\n1913 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA()\n1914 int CDatabase::Check(short)const \n1915 int CRecordset::Check(short)const \n1916 int CDialog::CheckAutoCenter()\n1917 int CWnd::CheckAutoCenter()\n1918 int CToolBarCtrl::CheckButton(int,int)\n1919 void CArchive::CheckCount()\n1920 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1921 void CWnd::CheckDlgButton(int,unsigned int)\n1922 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1923 void COleClientItem::CheckGeneral(long)\n1924 int CDatabase::CheckHstmt(short,void *)const \n1925 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1926 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1927 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n1928 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n1929 void CMemoryState::Checkpoint()\n1930 void COleControlContainer::CheckRadioButton(int,int,int)\n1931 void CWnd::CheckRadioButton(int,int,int)\n1932 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1933 void CRecordset::CheckRowsetError(short)\n1934 void CScrollView::CheckScrollBars(int &,int &)const \n1935 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n1936 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n1937 int CDC::Chord(int,int,int,int,int,int,int,int)\n1938 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n1939 void CPropertyPage::Cleanup()\n1940 void COlePropertyPage::CleanupObjectArray()\n1941 void CComboBox::Clear()\n1942 void CDBVariant::Clear()\n1943 void CDockState::Clear()\n1944 void CEdit::Clear()\n1945 void COleSafeArray::Clear()\n1946 void COleVariant::Clear()\n1947 void CRichEditCtrl::Clear()\n1948 void CIPAddressCtrl::ClearAddress()\n1949 int CHeaderCtrl::ClearAllFilters()\n1950 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1951 void CRecordset::ClearFieldStatus()\n1952 int CHeaderCtrl::ClearFilter(int)\n1953 void CRecordset::ClearNullFieldStatus(unsigned long)\n1954 void CRecordset::ClearNullParamStatus(unsigned long)\n1955 void CSliderCtrl::ClearSel(int)\n1956 void CSliderCtrl::ClearTics(int)\n1957 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1958 void CWnd::ClientToScreen(tagPOINT *)const \n1959 void CWnd::ClientToScreen(tagRECT *)const \n1960 int COleControl::ClipCaretRect(tagRECT *)\n1961 void CPreviewDC::ClipToPage()\n1962 ATL::IAtlStringMgr * CAfxStringMgr::Clone()\n1963 long CArchiveStream::Clone(IStream * *)\n1964 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1965 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1966 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1967 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1968 int CAnimateCtrl::Close()\n1969 void CArchive::Close()\n1970 void CAsyncMonikerFile::Close()\n1971 void CAsyncSocket::Close()\n1972 void CCachedDataPathProperty::Close()\n1973 void CDatabase::Close()\n1974 void CFile::Close()\n1975 void CFileFind::Close()\n1976 void CInternetConnection::Close()\n1977 void CInternetFile::Close()\n1978 void CInternetSession::Close()\n1979 void CMemFile::Close()\n1980 HMETAFILE__ * CMetaFileDC::Close()\n1981 void CMirrorFile::Close()\n1982 void CMonikerFile::Close()\n1983 void COleClientItem::Close(enum tagOLECLOSE)\n1984 void COleStreamFile::Close()\n1985 void CRecordset::Close()\n1986 void CSocket::Close()\n1987 void CSocketFile::Close()\n1988 void CStdioFile::Close()\n1989 long CDocObjectServer::XOleObject::Close(unsigned long)\n1990 long COleControl::XOleObject::Close(unsigned long)\n1991 long COleServerDoc::XOleObject::Close(unsigned long)\n1992 long COleServerItem::XOleObject::Close(unsigned long)\n1993 void CDocManager::CloseAllDocuments(int)\n1994 void CDocTemplate::CloseAllDocuments(int)\n1995 void CWinApp::CloseAllDocuments(int)\n1996 void CFileFind::CloseContext()\n1997 void CFtpFileFind::CloseContext()\n1998 void CGopherFileFind::CloseContext()\n1999 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced()\n2000 int CDC::CloseFigure()\n2001 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2002 void CWnd::CloseWindow()\n2003 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2004 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2005 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2006 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2007 int CRgn::CombineRgn(CRgn const *,CRgn const *,int)\n2008 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2009 int CStatusBar::CommandToIndex(unsigned int)const \n2010 int CToolBar::CommandToIndex(unsigned int)const \n2011 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2012 long CArchiveStream::Commit(unsigned long)\n2013 void COleClientItem::CommitItem(int)\n2014 void COleDocument::CommitItems(int,IStorage *)\n2015 int CDatabase::CommitTrans()\n2016 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n2017 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n2018 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2019 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2020 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2021 void CWinThread::CommonConstruct()\n2022 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2023 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2024 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2025 int CListBox::CompareItem(tagCOMPAREITEM*)\n2026 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2027 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2028 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n2029 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2030 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2031 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n2032 int CAsyncSocket::Connect(sockaddr const *,int)\n2033 int CDatabase::Connect(unsigned long)\n2034 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2035 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2036 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2037 int CSocket::ConnectHelper(sockaddr const *,int)\n2038 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2039 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2040 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2041 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2042 void COleServerDoc::ConnectView(CWnd *,CView *)\n2043 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2044 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2045 void CPropertyPage::Construct(unsigned int,unsigned int)\n2046 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2047 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n2048 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2049 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2050 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2051 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n2052 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2053 void CRectTracker::Construct()\n2054 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2055 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2056 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2057 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2058 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2059 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2060 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2061 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2062 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2063 int CPropertySheet::ContinueModal()\n2064 int CWnd::ContinueModal()\n2065 void CCmdUI::ContinueRouting()\n2066 void COleControl::ControlInfoChanged()\n2067 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2068 int COleClientItem::ConvertTo(_GUID const &)\n2069 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2070 void CByteArray::Copy(CByteArray const &)\n2071 void CComboBox::Copy()\n2072 void CDWordArray::Copy(CDWordArray const &)\n2073 void CEdit::Copy()\n2074 int CImageList::Copy(int,int,unsigned int)\n2075 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2076 void CObArray::Copy(CObArray const &)\n2077 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2078 void CPtrArray::Copy(CPtrArray const &)\n2079 void CRichEditCtrl::Copy()\n2080 void CStringArray::Copy(CStringArray const &)\n2081 void CUIntArray::Copy(CUIntArray const &)\n2082 void CWordArray::Copy(CWordArray const &)\n2083 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2084 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2085 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2086 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2087 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2088 int CRgn::CopyRgn(CRgn const *)\n2089 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2090 void COleClientItem::CopyToClipboard(int)\n2091 void COleServerItem::CopyToClipboard(int)\n2092 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2093 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n2094 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2095 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2096 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2097 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2098 int CControlFrameWnd::Create(wchar_t const *)\n2099 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2100 int CDialog::Create(unsigned int,CWnd *)\n2101 int CDialog::Create(wchar_t const *,CWnd *)\n2102 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2103 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n2104 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2105 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2106 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n2107 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2108 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n2109 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2110 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2111 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2112 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2113 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2114 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2115 int CImageList::Create(int,int,unsigned int,int,int)\n2116 int CImageList::Create(unsigned int,int,int,unsigned long)\n2117 int CImageList::Create(CImageList *)\n2118 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n2119 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2120 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2121 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2122 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2123 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2124 int CMetaFileDC::Create(wchar_t const *)\n2125 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2126 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2127 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2128 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2129 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2130 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2131 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2132 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2133 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2134 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2135 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2136 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2137 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2138 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2139 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2140 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2141 int CSocket::Create(unsigned int,int,wchar_t const *)\n2142 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2143 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2144 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2145 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2146 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2147 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2148 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2149 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2150 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2151 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2152 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2153 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2154 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2155 IBindHost * CMonikerFile::CreateBindHost()\n2156 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2157 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2158 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2159 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2160 void CWnd::CreateCaret(CBitmap *)\n2161 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n2162 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2163 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2164 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2165 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2166 int CDC::CreateCompatibleDC(CDC *)\n2167 void CConnectionPoint::CreateConnectionArray()\n2168 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2169 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2170 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2171 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2172 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2173 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2174 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2175 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2176 int CWnd::CreateControlContainer(COleControlContainer * *)\n2177 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2178 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2179 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2180 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2181 int CDC::CreateDCW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2182 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2183 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2184 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n2185 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2186 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2187 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n2188 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n2189 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2190 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2191 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n2193 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2194 CImageList * CHeaderCtrl::CreateDragImage(int)\n2195 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2196 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2197 int CRgn::CreateEllipticRgn(int,int,int,int)\n2198 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2199 int CPictureHolder::CreateEmpty()\n2200 int CMetaFileDC::CreateEnhanced(CDC *,wchar_t const *,tagRECT const *,wchar_t const *)\n2201 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2202 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2203 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2204 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2205 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2206 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2207 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2208 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2209 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2210 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2211 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2212 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2213 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2214 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2215 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2216 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2217 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2218 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2219 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2220 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2221 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2222 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2223 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2224 int CFont::CreateFontIndirectW(tagLOGFONTW const *)\n2225 int CFont::CreateFontW(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,wchar_t const *)\n2226 CControlFrameWnd * COleControl::CreateFrameWindow()\n2227 int CPictureHolder::CreateFromBitmap(unsigned int)\n2228 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2229 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2230 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2231 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2232 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2233 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2234 int CPictureHolder::CreateFromIcon(unsigned int)\n2235 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2236 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2237 int CRgn::CreateFromPath(CDC *)\n2238 void CWnd::CreateGrayCaret(int,int)\n2239 int CPalette::CreateHalftonePalette(CDC *)\n2240 int CBrush::CreateHatchBrush(int,unsigned long)\n2241 int CDC::CreateICW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2242 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2243 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2244 int CDialog::CreateIndirect(void *,CWnd *)\n2245 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2246 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2247 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2248 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2249 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2250 int COleInsertDialog::CreateItem(COleClientItem *)\n2251 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2252 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2253 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2254 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2255 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n2256 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n2257 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n2258 int COleStreamFile::CreateMemoryStream(CFileException *)\n2259 int CMenu::CreateMenu()\n2260 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2261 CDocument * CDocTemplate::CreateNewDocument()\n2262 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2263 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2264 CObject * CByteArray::CreateObject()\n2265 CObject * CDC::CreateObject()\n2266 CObject * CDocItem::CreateObject()\n2267 CObject * CDockState::CreateObject()\n2268 CObject * CDWordArray::CreateObject()\n2269 CObject * CEditView::CreateObject()\n2270 CObject * CFrameWnd::CreateObject()\n2271 CObject * CGdiObject::CreateObject()\n2272 CObject * CHtmlEditView::CreateObject()\n2273 CObject * CHtmlView::CreateObject()\n2274 CObject * CImageList::CreateObject()\n2275 CObject * CListView::CreateObject()\n2276 CObject * CMapStringToOb::CreateObject()\n2277 CObject * CMapStringToString::CreateObject()\n2278 CObject * CMapWordToOb::CreateObject()\n2279 CObject * CMDIChildWnd::CreateObject()\n2280 CObject * CMDIFrameWnd::CreateObject()\n2281 CObject * CMenu::CreateObject()\n2282 CObject * CMiniDockFrameWnd::CreateObject()\n2283 CObject * CMiniFrameWnd::CreateObject()\n2284 CObject * CObArray::CreateObject()\n2285 CObject * CObList::CreateObject()\n2286 CObject * COleDocIPFrameWnd::CreateObject()\n2287 CObject * COleIPFrameWnd::CreateObject()\n2288 CObject * CPreviewView::CreateObject()\n2289 CObject * CRichEditCntrItem::CreateObject()\n2290 CObject * CRichEditView::CreateObject()\n2291 CObject * CRuntimeClass::CreateObject()\n2292 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2293 CObject * CRuntimeClass::CreateObject(char const *)\n2294 CObject * CStringArray::CreateObject()\n2295 CObject * CStringList::CreateObject()\n2296 CObject * CTreeView::CreateObject()\n2297 CObject * CWnd::CreateObject()\n2298 CObject * CWordArray::CreateObject()\n2299 void COleControlContainer::CreateOleFont(CFont *)\n2300 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2301 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2302 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2303 int CPalette::CreatePalette(tagLOGPALETTE *)\n2304 int CBrush::CreatePatternBrush(CBitmap *)\n2305 int CPen::CreatePen(int,int,unsigned long)\n2306 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2307 int CPen::CreatePenIndirect(tagLOGPEN *)\n2308 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n2309 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n2310 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2311 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2312 int CMenu::CreatePopupMenu()\n2313 HDC__ * CPageSetupDialog::CreatePrinterDC()\n2314 HDC__ * CPrintDialog::CreatePrinterDC()\n2315 HDC__ * CPrintDialogEx::CreatePrinterDC()\n2316 int CWinApp::CreatePrinterDC(CDC &)\n2317 int CRgn::CreateRectRgn(int,int,int,int)\n2318 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2319 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2320 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2321 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2322 int CBrush::CreateSolidBrush(unsigned long)\n2323 void CWnd::CreateSolidCaret(int,int)\n2324 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2325 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2326 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2327 int CGdiObject::CreateStockObject(int)\n2328 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n2329 int CBrush::CreateSysColorBrush(int)\n2330 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2331 void COleControl::CreateTracker(int,int)\n2332 void COleControl::CreateTracker(int,int,tagRECT const *)\n2333 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2334 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2335 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2336 void COleControl::CreateWindowForSubclassedControl()\n2337 void CToolBarCtrl::Customize()\n2338 void CComboBox::Cut()\n2339 void CEdit::Cut()\n2340 void CRichEditCtrl::Cut()\n2341 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2342 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2343 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2344 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2345 void DDP_CBIndex(CDataExchange *,int,int &,wchar_t const *)\n2346 void DDP_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2347 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2348 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n2349 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n2350 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n2351 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n2352 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n2353 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n2354 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n2355 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n2356 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n2357 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n2358 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n2359 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n2360 void DDP_LBIndex(CDataExchange *,int,int &,wchar_t const *)\n2361 void DDP_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2362 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2363 void DDP_PostProcessing(CDataExchange *)\n2364 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n2365 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n2366 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n2367 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n2368 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n2369 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n2370 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n2371 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n2372 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n2373 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2374 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n2375 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2376 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2377 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2378 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2379 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2380 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2381 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2382 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2383 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2384 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2385 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2386 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2387 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2388 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2389 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2390 void DDX_CBIndex(CDataExchange *,int,int &)\n2391 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2392 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2393 void DDX_Check(CDataExchange *,int,int &)\n2394 void DDX_Control(CDataExchange *,int,CWnd &)\n2395 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2396 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2397 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2398 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2399 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2400 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2401 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n2402 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n2403 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n2404 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n2405 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n2406 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n2407 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n2408 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n2409 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n2410 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n2411 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n2412 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n2413 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2414 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n2415 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n2416 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n2417 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n2418 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n2419 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n2420 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2421 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n2422 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n2423 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n2424 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n2425 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n2426 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n2427 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2428 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2429 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2430 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2431 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2432 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2433 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2434 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2435 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2436 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2437 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2438 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2439 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2440 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2441 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2442 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2443 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2444 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2445 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2446 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2447 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2448 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n2449 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2450 void DDX_LBIndex(CDataExchange *,int,int &)\n2451 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2452 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2453 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2454 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2455 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2456 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2457 void DDX_OCBool(CDataExchange *,int,long,int &)\n2458 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2459 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2460 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2461 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2462 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2463 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2464 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2465 void DDX_OCInt(CDataExchange *,int,long,int &)\n2466 void DDX_OCInt(CDataExchange *,int,long,long &)\n2467 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2468 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2469 void DDX_OCShort(CDataExchange *,int,long,short &)\n2470 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2471 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2472 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2473 void DDX_Radio(CDataExchange *,int,int &)\n2474 void DDX_Scroll(CDataExchange *,int,int &)\n2475 void DDX_Slider(CDataExchange *,int,int &)\n2476 void DDX_Text(CDataExchange *,int,__int64 &)\n2477 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2478 void DDX_Text(CDataExchange *,int,unsigned char &)\n2479 void DDX_Text(CDataExchange *,int,short &)\n2480 void DDX_Text(CDataExchange *,int,int &)\n2481 void DDX_Text(CDataExchange *,int,unsigned int &)\n2482 void DDX_Text(CDataExchange *,int,long &)\n2483 void DDX_Text(CDataExchange *,int,unsigned long &)\n2484 void DDX_Text(CDataExchange *,int,float &)\n2485 void DDX_Text(CDataExchange *,int,double &)\n2486 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2487 void DDX_Text(CDataExchange *,int,_GUID &)\n2488 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2489 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2490 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2491 void DDX_Text(CDataExchange *,int,tagDEC &)\n2492 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2493 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2494 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2495 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n2496 void COleClientItem::Deactivate()\n2497 long COlePropertyPage::XPropertyPage::Deactivate()\n2498 int COleServerDoc::DeactivateAndUndo()\n2499 long COleClientItem::XOleIPSite::DeactivateAndUndo()\n2500 long COleControlSite::XOleIPSite::DeactivateAndUndo()\n2501 void COleClientItem::DeactivateUI()\n2502 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n2503 long CWnd::Default()\n2504 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2505 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2506 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2507 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n2508 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2509 void CFrameWnd::DelayRecalcLayout(int)\n2510 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2511 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2512 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2513 void CControlBar::DelayShow(int)\n2514 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2515 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2516 void CFrameWnd::DelayUpdateFrameTitle()\n2517 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2518 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2519 void CException::Delete()\n2520 void COleClientItem::Delete(int)\n2521 void CRecordset::Delete()\n2522 void CWinThread::Delete()\n2523 int CListCtrl::DeleteAllItems()\n2524 int CTabCtrl::DeleteAllItems()\n2525 int CTreeCtrl::DeleteAllItems()\n2526 int CReBarCtrl::DeleteBand(unsigned int)\n2527 int CToolBarCtrl::DeleteButton(int)\n2528 int CListCtrl::DeleteColumn(int)\n2529 void CSplitterWnd::DeleteColumn(int)\n2530 void CDocument::DeleteContents()\n2531 void CEditView::DeleteContents()\n2532 void CHtmlEditDoc::DeleteContents()\n2533 void COleDocument::DeleteContents()\n2534 void COleServerDoc::DeleteContents()\n2535 void CRichEditDoc::DeleteContents()\n2536 void CRichEditView::DeleteContents()\n2537 int CDC::DeleteDC()\n2538 int CImageList::DeleteImageList()\n2539 void CComboBox::DeleteItem(tagDELETEITEM*)\n2540 int CComboBoxEx::DeleteItem(int)\n2541 int CHeaderCtrl::DeleteItem(int)\n2542 void CListBox::DeleteItem(tagDELETEITEM*)\n2543 int CListCtrl::DeleteItem(int)\n2544 int CTabCtrl::DeleteItem(int)\n2545 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2546 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2547 int CGdiObject::DeleteObject()\n2548 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2549 void CSplitterWnd::DeleteRow(int)\n2550 int CComboBox::DeleteString(unsigned int)\n2551 int CListBox::DeleteString(unsigned int)\n2552 void CHandleMap::DeleteTemp()\n2553 void CDC::DeleteTempMap()\n2554 void CGdiObject::DeleteTempMap()\n2555 void CImageList::DeleteTempMap()\n2556 void CMenu::DeleteTempMap()\n2557 void CWnd::DeleteTempMap()\n2558 void CRichEditDoc::DeleteUnmarkedItems()const \n2559 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2560 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2561 void CSplitterWnd::DeleteView(int,int)\n2562 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n2563 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2564 void CTabCtrl::DeselectAll(int)\n2565 void COleSafeArray::Destroy()\n2566 int COleControlSite::DestroyControl()\n2567 void COleSafeArray::DestroyData()\n2568 void COleSafeArray::DestroyDescriptor()\n2569 void CFrameWnd::DestroyDockBars()\n2570 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2571 int CMenu::DestroyMenu()\n2572 void CDHtmlDialog::DestroyModeless()\n2573 void COleControl::DestroySharedMenu()\n2574 void COleDocIPFrameWnd::DestroySharedMenu()\n2575 void COleIPFrameWnd::DestroySharedMenu()\n2576 int CToolTipCtrl::DestroyToolTipCtrl()\n2577 void COleControl::DestroyTracker()\n2578 int CControlBar::DestroyWindow()\n2579 int CMDIChildWnd::DestroyWindow()\n2580 int CWnd::DestroyWindow()\n2581 unsigned int CAsyncSocket::Detach()\n2582 HDC__ * CDC::Detach()\n2583 void * CDialogTemplate::Detach()\n2584 void * CGdiObject::Detach()\n2585 _IMAGELIST * CImageList::Detach()\n2586 unsigned char * CMemFile::Detach()\n2587 HMENU__ * CMenu::Detach()\n2588 int CMonikerFile::Detach(CFileException *)\n2589 IDataObject * COleDataObject::Detach()\n2590 tagVARIANT COleSafeArray::Detach()\n2591 IStream * COleStreamFile::Detach()\n2592 tagVARIANT COleVariant::Detach()\n2593 void * CSharedFile::Detach()\n2594 HDC__ * CWindowlessDC::Detach()\n2595 HWND__ * CWnd::Detach()\n2596 IDispatch * COleDispatchDriver::DetachDispatch()\n2597 void CAsyncSocket::DetachHandle(unsigned int,int)\n2598 void COleControlSite::DetachWindow()\n2599 void CWinApp::DevModeChange(wchar_t *)\n2600 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2601 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2602 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2603 int CComboBox::Dir(unsigned int,wchar_t const *)\n2604 int CComboBoxEx::Dir(unsigned int,wchar_t const *)\n2605 int CListBox::Dir(unsigned int,wchar_t const *)\n2606 int COleServerDoc::DiscardUndoState()\n2607 long COleClientItem::XOleIPSite::DiscardUndoState()\n2608 long COleControlSite::XOleIPSite::DiscardUndoState()\n2609 void COleDispatchImpl::Disconnect()\n2610 void CDHtmlDialog::DisconnectDHtmlElementEvents()\n2611 void CDHtmlDialog::DisconnectDHtmlEvents()\n2612 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2613 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2614 void CDocument::DisconnectViews()\n2615 void CWinThread::DispatchThreadMessage(tagMSG *)\n2616 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2617 int CRichEditCtrl::DisplayBand(tagRECT *)\n2618 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n2619 int CWnd::DlgDirListComboBoxW(wchar_t *,int,int,unsigned int)\n2620 int CWnd::DlgDirListW(wchar_t *,int,int,unsigned int)\n2621 int CWnd::DlgDirSelect(wchar_t *,int)\n2622 int CWnd::DlgDirSelectComboBox(wchar_t *,int)\n2623 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2624 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2625 void CAsyncSocket::DoCallBack(unsigned int,long)\n2626 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2627 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2628 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2629 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2630 void COleControl::DoClick()\n2631 int COleFrameHook::DoContextSensitiveHelp(int)\n2632 int COleConvertDialog::DoConvert(COleClientItem *)\n2633 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2634 void CWnd::DoDataExchange(CDataExchange *)\n2635 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2636 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2637 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2638 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2639 int COleFrameHook::DoEnableModeless(int)\n2640 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2641 void CRecordset::DoFieldExchange(CFieldExchange *)\n2642 int CDocument::DoFileSave()\n2643 int CSplitterWnd::DoKeyboardSplit()\n2644 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2645 int CColorDialog::DoModal()\n2646 int CDialog::DoModal()\n2647 int CFileDialog::DoModal()\n2648 int CFontDialog::DoModal()\n2649 int COleBusyDialog::DoModal()\n2650 int COleChangeIconDialog::DoModal()\n2651 int COleChangeSourceDialog::DoModal()\n2652 int COleConvertDialog::DoModal()\n2653 int COleInsertDialog::DoModal(unsigned long)\n2654 int COleInsertDialog::DoModal()\n2655 int COleLinksDialog::DoModal()\n2656 int COlePasteSpecialDialog::DoModal()\n2657 int COlePropertiesDialog::DoModal()\n2658 int COleUpdateDialog::DoModal()\n2659 int CPageSetupDialog::DoModal()\n2660 int CPrintDialog::DoModal()\n2661 int CPrintDialogEx::DoModal()\n2662 int CPropertySheet::DoModal()\n2663 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2664 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2665 void CControlBar::DoPaint(CDC *)\n2666 void CDockBar::DoPaint(CDC *)\n2667 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2668 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2669 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2670 int CView::DoPreparePrinting(CPrintInfo *)\n2671 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2672 int CWinApp::DoPrintDialog(CPrintDialog *)\n2673 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2674 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2675 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2676 void COleControl::DoPropExchange(CPropExchange *)\n2677 int CDocument::DoSave(wchar_t const *,int)\n2678 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2679 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2680 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2681 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2682 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2683 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2684 long COleControlSite::DoVerb(long,tagMSG *)\n2685 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2686 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2687 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2688 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2689 void CWinApp::DoWaitCursor(int)\n2690 void CPreviewView::DoZoom(unsigned int,CPoint)\n2691 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2692 void CDC::DPtoLP(tagPOINT *,int)const \n2693 void CDC::DPtoLP(tagRECT *)const \n2694 void CDC::DPtoLP(tagSIZE *)const \n2695 void CWnd::DragAcceptFiles(int)\n2696 int CWnd::DragDetect(tagPOINT)const \n2697 int CImageList::DragEnter(CWnd *,CPoint)\n2698 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2699 unsigned int CDragListBox::Dragging(CPoint)\n2700 int CImageList::DragLeave(CWnd *)\n2701 long COleDropTarget::XDropTarget::DragLeave()\n2702 int CImageList::DragMove(CPoint)\n2703 void CReBarCtrl::DragMove(unsigned long)\n2704 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2705 int CImageList::DragShowNolock(int)\n2706 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2707 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2708 void CRectTracker::Draw(CDC *)const \n2709 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2710 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2711 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2712 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2713 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2714 void CControlBar::DrawBorders(CDC *,CRect &)\n2715 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2716 void COleControl::DrawContent(CDC *,CRect &)\n2717 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2718 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2719 int CDC::DrawEscape(int,int,char const *)\n2720 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2721 void CDC::DrawFocusRect(tagRECT const *)\n2722 void CDockContext::DrawFocusRect(int)\n2723 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2724 void CControlBar::DrawGripper(CDC *,CRect const &)\n2725 int CDC::DrawIcon(int,int,HICON__ *)\n2726 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2727 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2728 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2729 void CDragListBox::DrawInsert(int)\n2730 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2731 void CButton::DrawItem(tagDRAWITEM*)\n2732 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2733 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2734 void CComboBox::DrawItem(tagDRAWITEM*)\n2735 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2736 void CListBox::DrawItem(tagDRAWITEM*)\n2737 void CListCtrl::DrawItem(tagDRAWITEM*)\n2738 void CListView::DrawItem(tagDRAWITEM*)\n2739 void CMenu::DrawItem(tagDRAWITEM*)\n2740 void CStatic::DrawItem(tagDRAWITEM*)\n2741 void CStatusBar::DrawItem(tagDRAWITEM*)\n2742 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2743 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2744 void CWnd::DrawMenuBar()\n2745 void COleControl::DrawMetafile(CDC *,CRect &)\n2746 void CDragListBox::DrawSingle(int)\n2747 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2748 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2749 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2750 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2751 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2752 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2753 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,HBRUSH__ *)\n2754 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,CBrush *)\n2755 int CDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2756 int CDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2757 int CMetaFileDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2758 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2759 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2760 int CDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2761 int CDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2762 int CMetaFileDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2763 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2764 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2765 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2766 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2767 void CDragListBox::Dropped(int,CPoint)\n2768 void CArchiveException::Dump(CDumpContext &)const \n2769 void CAsyncMonikerFile::Dump(CDumpContext &)const \n2770 void CAsyncSocket::Dump(CDumpContext &)const \n2771 void CBitmap::Dump(CDumpContext &)const \n2772 void CBitmapButton::Dump(CDumpContext &)const \n2773 void CBrush::Dump(CDumpContext &)const \n2774 void CByteArray::Dump(CDumpContext &)const \n2775 void CCachedDataPathProperty::Dump(CDumpContext &)const \n2776 void CClientDC::Dump(CDumpContext &)const \n2777 void CCmdTarget::Dump(CDumpContext &)const \n2778 void CColorDialog::Dump(CDumpContext &)const \n2779 void CControlBar::Dump(CDumpContext &)const \n2780 void CCtrlView::Dump(CDumpContext &)const \n2781 void CDatabase::Dump(CDumpContext &)const \n2782 void CDataPathProperty::Dump(CDumpContext &)const \n2783 void CDC::Dump(CDumpContext &)const \n2784 void CDialog::Dump(CDumpContext &)const \n2785 void CDocItem::Dump(CDumpContext &)const \n2786 void CDockBar::Dump(CDumpContext &)const \n2787 void CDocManager::Dump(CDumpContext &)const \n2788 void CDocObjectServer::Dump(CDumpContext &)const \n2789 void CDocObjectServerItem::Dump(CDumpContext &)const \n2790 void CDocTemplate::Dump(CDumpContext &)const \n2791 void CDocument::Dump(CDumpContext &)const \n2792 void CDWordArray::Dump(CDumpContext &)const \n2793 void CDynLinkLibrary::Dump(CDumpContext &)const \n2794 void CEditView::Dump(CDumpContext &)const \n2795 void CFile::Dump(CDumpContext &)const \n2796 void CFileDialog::Dump(CDumpContext &)const \n2797 void CFileException::Dump(CDumpContext &)const \n2798 void CFileFind::Dump(CDumpContext &)const \n2799 void CFileStatus::Dump(CDumpContext &)const \n2800 void CFindReplaceDialog::Dump(CDumpContext &)const \n2801 void CFont::Dump(CDumpContext &)const \n2802 void CFontDialog::Dump(CDumpContext &)const \n2803 void CFormView::Dump(CDumpContext &)const \n2804 void CFrameWnd::Dump(CDumpContext &)const \n2805 void CFtpConnection::Dump(CDumpContext &)const \n2806 void CFtpFileFind::Dump(CDumpContext &)const \n2807 void CGdiObject::Dump(CDumpContext &)const \n2808 void CGopherConnection::Dump(CDumpContext &)const \n2809 void CGopherFile::Dump(CDumpContext &)const \n2810 void CGopherFileFind::Dump(CDumpContext &)const \n2811 void CHtmlEditDoc::Dump(CDumpContext &)const \n2812 void CHtmlEditView::Dump(CDumpContext &)const \n2813 void CHtmlView::Dump(CDumpContext &)const \n2814 void CHttpConnection::Dump(CDumpContext &)const \n2815 void CHttpFile::Dump(CDumpContext &)const \n2816 void CImageList::Dump(CDumpContext &)const \n2817 void CInternetConnection::Dump(CDumpContext &)const \n2818 void CInternetException::Dump(CDumpContext &)const \n2819 void CInternetFile::Dump(CDumpContext &)const \n2820 void CInternetSession::Dump(CDumpContext &)const \n2821 void CLongBinary::Dump(CDumpContext &)const \n2822 void CMapPtrToPtr::Dump(CDumpContext &)const \n2823 void CMapPtrToWord::Dump(CDumpContext &)const \n2824 void CMapStringToOb::Dump(CDumpContext &)const \n2825 void CMapStringToPtr::Dump(CDumpContext &)const \n2826 void CMapStringToString::Dump(CDumpContext &)const \n2827 void CMapWordToOb::Dump(CDumpContext &)const \n2828 void CMapWordToPtr::Dump(CDumpContext &)const \n2829 void CMDIChildWnd::Dump(CDumpContext &)const \n2830 void CMDIFrameWnd::Dump(CDumpContext &)const \n2831 void CMemFile::Dump(CDumpContext &)const \n2832 void CMenu::Dump(CDumpContext &)const \n2833 void CMonikerFile::Dump(CDumpContext &)const \n2834 void CMultiDocTemplate::Dump(CDumpContext &)const \n2835 void CObArray::Dump(CDumpContext &)const \n2836 void CObject::Dump(CDumpContext &)const \n2837 void CObList::Dump(CDumpContext &)const \n2838 void COleBusyDialog::Dump(CDumpContext &)const \n2839 void COleChangeIconDialog::Dump(CDumpContext &)const \n2840 void COleChangeSourceDialog::Dump(CDumpContext &)const \n2841 void COleClientItem::Dump(CDumpContext &)const \n2842 void COleControl::Dump(CDumpContext &)const \n2843 void COleConvertDialog::Dump(CDumpContext &)const \n2844 void COleDataSource::Dump(CDumpContext &)const \n2845 void COleDialog::Dump(CDumpContext &)const \n2846 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n2847 void COleDocument::Dump(CDumpContext &)const \n2848 void COleDropSource::Dump(CDumpContext &)const \n2849 void COleDropTarget::Dump(CDumpContext &)const \n2850 void COleInsertDialog::Dump(CDumpContext &)const \n2851 void COleIPFrameWnd::Dump(CDumpContext &)const \n2852 void COleLinkingDoc::Dump(CDumpContext &)const \n2853 void COleLinksDialog::Dump(CDumpContext &)const \n2854 void COleMessageFilter::Dump(CDumpContext &)const \n2855 void COleObjectFactory::Dump(CDumpContext &)const \n2856 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n2857 void COlePropertiesDialog::Dump(CDumpContext &)const \n2858 void COleServerDoc::Dump(CDumpContext &)const \n2859 void COleServerItem::Dump(CDumpContext &)const \n2860 void COleStreamFile::Dump(CDumpContext &)const \n2861 void COleUpdateDialog::Dump(CDumpContext &)const \n2862 void CPageSetupDialog::Dump(CDumpContext &)const \n2863 void CPaintDC::Dump(CDumpContext &)const \n2864 void CPen::Dump(CDumpContext &)const \n2865 void CPreviewDC::Dump(CDumpContext &)const \n2866 void CPreviewView::Dump(CDumpContext &)const \n2867 void CPrintDialog::Dump(CDumpContext &)const \n2868 void CPrintDialogEx::Dump(CDumpContext &)const \n2869 void CPropertyPage::Dump(CDumpContext &)const \n2870 void CPropertySheet::Dump(CDumpContext &)const \n2871 void CPtrArray::Dump(CDumpContext &)const \n2872 void CPtrList::Dump(CDumpContext &)const \n2873 void CRecordset::Dump(CDumpContext &)const \n2874 void CRecordView::Dump(CDumpContext &)const \n2875 void CRichEditCntrItem::Dump(CDumpContext &)const \n2876 void CRichEditDoc::Dump(CDumpContext &)const \n2877 void CRichEditView::Dump(CDumpContext &)const \n2878 void CScrollView::Dump(CDumpContext &)const \n2879 void CSingleDocTemplate::Dump(CDumpContext &)const \n2880 void CSocket::Dump(CDumpContext &)const \n2881 void CSocketFile::Dump(CDumpContext &)const \n2882 void CSplitterWnd::Dump(CDumpContext &)const \n2883 void CStatusBar::Dump(CDumpContext &)const \n2884 void CStdioFile::Dump(CDumpContext &)const \n2885 void CStringArray::Dump(CDumpContext &)const \n2886 void CStringList::Dump(CDumpContext &)const \n2887 void CSyncObject::Dump(CDumpContext &)const \n2888 void CToolBar::Dump(CDumpContext &)const \n2889 void CUIntArray::Dump(CDumpContext &)const \n2890 void CView::Dump(CDumpContext &)const \n2891 void CWinApp::Dump(CDumpContext &)const \n2892 void CWindowDC::Dump(CDumpContext &)const \n2893 void CWinThread::Dump(CDumpContext &)const \n2894 void CWnd::Dump(CDumpContext &)const \n2895 void CWordArray::Dump(CDumpContext &)const \n2896 void CMemoryState::DumpAllObjectsSince()const \n2897 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2898 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2899 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2900 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2901 CDumpContext & CDumpContext::DumpAsHex(int)\n2902 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2903 CDumpContext & CDumpContext::DumpAsHex(long)\n2904 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2905 void CRecordset::DumpFields(CDumpContext &)const \n2906 void CMemoryState::DumpStatistics()const \n2907 long COleControl::XDataObject::DUnadvise(unsigned long)\n2908 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2909 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2910 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2911 CFile * CFile::Duplicate()const \n2912 CFile * CInternetFile::Duplicate()const \n2913 CFile * CMemFile::Duplicate()const \n2914 CFile * COleStreamFile::Duplicate()const \n2915 CFile * CSocketFile::Duplicate()const \n2916 CFile * CStdioFile::Duplicate()const \n2917 unsigned long const CEditView::dwStyleDefault\n2918 void CRecordset::Edit()\n2919 int CHeaderCtrl::EditFilter(int,int)\n2920 CEdit * CListCtrl::EditLabel(int)\n2921 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n2922 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2923 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2924 unsigned char & CByteArray::ElementAt(int)\n2925 unsigned long & CDWordArray::ElementAt(int)\n2926 CObject * & CObArray::ElementAt(int)\n2927 void * & CPtrArray::ElementAt(int)\n2928 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::ElementAt(int)\n2929 unsigned int & CUIntArray::ElementAt(int)\n2930 unsigned short & CWordArray::ElementAt(int)\n2931 int CDC::Ellipse(int,int,int,int)\n2932 int CDC::Ellipse(tagRECT const *)\n2933 void ATL::CSimpleStringT<wchar_t,1>::Empty()\n2934 void ATL::CSimpleStringT<char,1>::Empty()\n2935 void CDBException::Empty()\n2936 void COleDataSource::Empty()\n2937 void CEdit::EmptyUndoBuffer()\n2938 void CRichEditCtrl::EmptyUndoBuffer()\n2939 void CCheckListBox::Enable(int,int)\n2940 void CCmdUI::Enable(int)\n2941 void COleCmdUI::Enable(int)\n2942 void CStatusCmdUI::Enable(int)\n2943 void CTestCmdUI::Enable(int)\n2944 void CToolCmdUI::Enable(int)\n2945 int CWinApp::Enable3dControls()\n2946 void CWnd::EnableActiveAccessibility()\n2947 void CCmdTarget::EnableAggregation()\n2948 void CCmdTarget::EnableAutomation()\n2949 void CRecordset::EnableBookmarks()\n2950 void COleMessageFilter::EnableBusyDialog(int)\n2951 int CToolBarCtrl::EnableButton(int,int)\n2952 void COleDocument::EnableCompoundFile(int)\n2953 void CCmdTarget::EnableConnections()\n2954 void CControlBar::EnableDocking(unsigned long)\n2955 void CFrameWnd::EnableDocking(unsigned long)\n2956 void CReBar::EnableDocking(unsigned long)\n2957 void CStatusBar::EnableDocking(unsigned long)\n2958 void COleControlSite::EnableDSC()\n2959 void CWinApp::EnableHtmlHelp()\n2960 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n2961 long CBrowserControlSite::EnableModeless(int)\n2962 long CDHtmlDialog::EnableModeless(int)\n2963 void CWinApp::EnableModeless(int)\n2964 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2965 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2966 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2967 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2968 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2969 void COleMessageFilter::EnableNotRespondingDialog(int)\n2970 int CScrollBar::EnableScrollBar(unsigned int)\n2971 int CWnd::EnableScrollBar(int,unsigned int)\n2972 void CWnd::EnableScrollBarCtrl(int,int)\n2973 void CWinApp::EnableShellOpen()\n2974 void COleControl::EnableSimpleFrame()\n2975 void CPropertySheet::EnableStackedTabs(int)\n2976 int CInternetSession::EnableStatusCallback(int)\n2977 int CWnd::EnableToolTips(int)\n2978 int CWnd::EnableTrackingToolTips(int)\n2979 void CCmdTarget::EnableTypeLib()\n2980 int COleControlSite::EnableWindow(int)\n2981 int CWnd::EnableWindow(int)\n2982 void COleMessageFilter::EndBusyState()\n2983 void CAsyncMonikerFile::EndCallbacks()\n2984 long COleLinkingDoc::EndDeferErrors(long)\n2985 void CDialog::EndDialog(int)\n2986 void CPropertyPage::EndDialog(int)\n2987 void CPropertySheet::EndDialog(int)\n2988 int CDC::EndDoc()\n2989 void CDockContext::EndDrag()\n2990 void CImageList::EndDrag()\n2991 void CReBarCtrl::EndDrag()\n2992 void CWnd::EndModalLoop(int)\n2993 void CFrameWnd::EndModalState()\n2994 void CWnd::EndModalState()\n2995 int CDC::EndPage()\n2996 void CWnd::EndPaint(tagPAINT*)\n2997 int CDC::EndPath()\n2998 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2999 void CDockContext::EndResize()\n3000 void CCmdTarget::EndWaitCursor()\n3001 void COleDataObject::EnsureClipboardObject()\n3002 long CWnd::EnsureStdObj()\n3003 int CListCtrl::EnsureVisible(int,int)\n3004 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3005 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3006 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3007 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3008 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3009 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3010 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3011 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3012 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3013 int COlePropertyPage::EnumControls(HWND__ *,long)\n3014 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3015 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3016 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3017 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3018 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3019 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3020 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3021 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3022 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3023 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3024 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3025 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3026 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3027 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3028 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3029 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3030 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3031 int CRgn::EqualRgn(CRgn const *)const \n3032 void CControlBar::EraseNonClient()\n3033 int CFileException::ErrnoToException(int)\n3034 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3035 int CDC::Escape(int,int,char const *,int,char *)\n3036 int CDC::Escape(int,int,char const *,void *)\n3037 int CMetaFileDC::Escape(int,int,char const *,void *)\n3038 int CPreviewDC::Escape(int,int,char const *,void *)\n3039 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3040 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3041 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3042 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3043 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3044 int COleControl::ExchangeExtent(CPropExchange *)\n3045 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3046 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3047 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3048 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3049 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3050 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3051 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3052 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3053 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3054 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3055 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3056 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3057 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3058 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3059 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3060 void COleControl::ExchangeStockProps(CPropExchange *)\n3061 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3062 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3063 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3064 int CDC::ExcludeClipRect(int,int,int,int)\n3065 int CDC::ExcludeClipRect(tagRECT const *)\n3066 int CDC::ExcludeUpdateRgn(CWnd *)\n3067 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3068 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3069 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3070 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3071 int CHtmlEditView::ExecHandler(unsigned int)\n3072 int CWnd::ExecuteDlgInit(void *)\n3073 int CWnd::ExecuteDlgInit(wchar_t const *)\n3074 void CRecordset::ExecuteSetPosUpdate()\n3075 void CDatabase::ExecuteSQL(wchar_t const *)\n3076 void CRecordset::ExecuteUpdateSQL()\n3077 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3078 void CFrameWnd::ExitHelpMode()\n3079 int COleControlModule::ExitInstance()\n3080 int CWinApp::ExitInstance()\n3081 int CWinThread::ExitInstance()\n3082 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3083 unsigned long CCmdTarget::ExternalAddRef()\n3084 void CCmdTarget::ExternalDisconnect()\n3085 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3086 unsigned long CCmdTarget::ExternalRelease()\n3087 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3088 HICON__ * CImageList::ExtractIconW(int)\n3089 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3090 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3091 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3092 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3093 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3094 void CDataExchange::Fail()\n3095 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3096 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3097 void CArchive::FillBuffer(unsigned int)\n3098 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n3099 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n3100 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3101 int CDC::FillPath()\n3102 void CDC::FillRect(tagRECT const *,CBrush *)\n3103 int CDC::FillRgn(CRgn *,CBrush *)\n3104 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3105 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3106 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3107 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3108 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3109 void CWnd::FilterToolTipMessage(tagMSG *)\n3110 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3111 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3112 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3113 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3114 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3115 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3116 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n3117 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n3118 int CDockBar::FindBar(CControlBar *,int)\n3119 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3120 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3121 int CFileFind::FindFile(wchar_t const *,unsigned long)\n3122 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n3123 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n3124 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n3125 __POSITION * CObList::FindIndex(int)const \n3126 __POSITION * CPtrList::FindIndex(int)const \n3127 __POSITION * CStringList::FindIndex(int)const \n3128 int CListCtrl::FindItem(tagLVFINDINFOW *,int)const \n3129 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3130 int CFindReplaceDialog::FindNext()const \n3131 int CFileFind::FindNextFileW()\n3132 int CFtpFileFind::FindNextFileW()\n3133 int CGopherFileFind::FindNextFileW()\n3134 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3135 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3136 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3137 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n3138 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n3139 int CComboBox::FindString(int,wchar_t const *)const \n3140 int CComboBoxEx::FindString(int,wchar_t const *)const \n3141 int CListBox::FindString(int,wchar_t const *)const \n3142 int CComboBox::FindStringExact(int,wchar_t const *)const \n3143 int CListBox::FindStringExact(int,wchar_t const *)const \n3144 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3145 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n3146 int CEditView::FindTextW(wchar_t const *,int,int)\n3147 long CRichEditCtrl::FindTextW(unsigned long,_findtextexw *)const \n3148 int CRichEditView::FindTextW(_AFX_RICHEDIT_STATE *)\n3149 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n3150 CWnd * CWnd::FindWindowExW(HWND__ *,HWND__ *,wchar_t const *,wchar_t const *)\n3151 CWnd * CWnd::FindWindowW(wchar_t const *,wchar_t const *)\n3152 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3153 int COleClientItem::FinishCreate(long)\n3154 void COleControl::FireClick()\n3155 void COleControl::FireDblClick()\n3156 void COleControl::FireError(long,wchar_t const *,unsigned int)\n3157 void COleControl::FireEvent(long,unsigned char *,...)\n3158 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3159 void COleControl::FireEventV(long,unsigned char *,char *)\n3160 void COleControl::FireKeyDown(unsigned short *,short)\n3161 void COleControl::FireKeyPress(unsigned short *)\n3162 void COleControl::FireKeyUp(unsigned short *,short)\n3163 void COleControl::FireMouseDown(short,short,long,long)\n3164 void COleControl::FireMouseMove(short,short,long,long)\n3165 void COleControl::FireMouseUp(short,short,long,long)\n3166 void COleControl::FireReadyStateChange()\n3167 void CRecordset::Fixups()\n3168 int CWnd::FlashWindow(int)\n3169 int CDC::FlattenPath()\n3170 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3171 int CDC::FloodFill(int,int,unsigned long)\n3172 void CArchive::Flush()\n3173 void CDumpContext::Flush()\n3174 void CFile::Flush()\n3175 void CInternetFile::Flush()\n3176 void CMemFile::Flush()\n3177 void CMonikerFile::Flush()\n3178 void COleStreamFile::Flush()\n3179 void CSocketFile::Flush()\n3180 void CStdioFile::Flush()\n3181 void COleDataSource::FlushClipboard()\n3182 int CRecordset::FlushResultSet()\n3183 int CEdit::FmtLines(int)\n3184 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3185 void ATL::CSimpleStringT<char,1>::Fork(int)\n3186 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3187 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3188 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3189 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3190 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n3191 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n3192 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3193 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n3194 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n3195 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n3196 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n3197 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3198 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3199 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3200 void COleControl::ForwardActivationMsg(tagMSG *)\n3201 void CDC::FrameRect(tagRECT const *,CBrush *)\n3202 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3203 void CAfxStringMgr::Free(ATL::CStringData *)\n3204 void CDatabase::Free()\n3205 void CFixedAlloc::Free(void *)\n3206 void CFixedAllocNoSync::Free(void *)\n3207 void CMemFile::Free(unsigned char *)\n3208 void CSharedFile::Free(unsigned char *)\n3209 void CFixedAlloc::FreeAll()\n3210 void CFixedAllocNoSync::FreeAll()\n3211 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3212 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3213 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3214 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3215 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3216 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3217 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3218 void CRecordset::FreeDataCache()\n3219 void CPlex::FreeDataChain()\n3220 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra()\n3221 void ATL::CSimpleStringT<char,1>::FreeExtra()\n3222 void CByteArray::FreeExtra()\n3223 void CDWordArray::FreeExtra()\n3224 void CObArray::FreeExtra()\n3225 void CPtrArray::FreeExtra()\n3226 void CStringArray::FreeExtra()\n3227 void CUIntArray::FreeExtra()\n3228 void CWordArray::FreeExtra()\n3229 void CObList::FreeNode(CObList::CNode *)\n3230 void CPtrList::FreeNode(CPtrList::CNode *)\n3231 void CStringList::FreeNode(CStringList::CNode *)\n3232 void CRecordset::FreeRowset()\n3233 void CThreadSlotData::FreeSlot(int)\n3234 void CProperty::FreeValue()\n3235 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3236 void COleControlContainer::FreezeAllEvents(int)\n3237 void COleControlSite::FreezeEvents(int)\n3238 long COleControl::XOleControl::FreezeEvents(int)\n3239 int COleClientItem::FreezeLink()\n3240 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3241 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3242 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3243 CDC * CDC::FromHandle(HDC__ *)\n3244 CFont * CFont::FromHandle(HFONT__ *)\n3245 CGdiObject * CGdiObject::FromHandle(void *)\n3246 CObject * CHandleMap::FromHandle(void *)\n3247 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3248 CMenu * CMenu::FromHandle(HMENU__ *)\n3249 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3250 CPen * CPen::FromHandle(HPEN__ *)\n3251 CRgn * CRgn::FromHandle(HRGN__ *)\n3252 CSocket * CSocket::FromHandle(unsigned int)\n3253 CWnd * CWnd::FromHandle(HWND__ *)\n3254 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3255 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3256 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3257 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3258 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3259 CRuntime* CRuntimeClass::FromName(char const *)\n3260 void * CProperty::Get(unsigned long *)\n3261 void * CProperty::Get()\n3262 void * CPropertySection::Get(unsigned long)\n3263 void * CPropertySection::Get(unsigned long,unsigned long *)\n3264 void * CPropertySet::Get(_GUID,unsigned long)\n3265 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3266 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3267 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3268 long CWnd::get_accChildCount(long *)\n3269 long CWnd::XAccessible::get_accChildCount(long *)\n3270 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3271 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3272 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3273 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3274 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3275 long CWnd::get_accFocus(tagVARIANT *)\n3276 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3277 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3278 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3279 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3280 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3281 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3282 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3283 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3284 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3285 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3286 long CWnd::get_accParent(IDispatch * *)\n3287 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3288 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3289 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3290 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3291 long CWnd::get_accSelection(tagVARIANT *)\n3292 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3293 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3294 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3295 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3296 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3297 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3298 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3299 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3300 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3301 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3302 long CWnd::GetAccessibleChildCount()\n3303 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3304 unsigned long COleControl::GetActivationPolicy()\n3305 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3306 CDocument * CFrameWnd::GetActiveDocument()\n3307 CFrameWnd * CFrameWnd::GetActiveFrame()\n3308 CFrameWnd * CMDIFrameWnd::GetActiveFrame()\n3309 int CPropertySheet::GetActiveIndex()const \n3310 CPropertyPage * CPropertySheet::GetActivePage()const \n3311 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3312 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3313 CView * CFrameWnd::GetActiveView()const \n3314 CView * COleClientItem::GetActiveView()const \n3315 IOleDocumentView * COleDocObjectItem::GetActiveView()const \n3316 CRichEditView * CRichEditCntrItem::GetActiveView()\n3317 CWnd * CWnd::GetActiveWindow()\n3318 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)\n3319 int CIPAddressCtrl::GetAddress(unsigned long &)\n3320 int CHtmlView::GetAddressBar()const \n3321 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3322 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength()const \n3323 int ATL::CSimpleStringT<char,1>::GetAllocLength()const \n3324 COleDispatchDriver * COleControl::GetAmbientDispatchDriver()\n3325 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3326 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3327 int CToolBarCtrl::GetAnchorHighlight()const \n3328 int CListBox::GetAnchorIndex()const \n3329 short COleControl::GetAppearance()\n3330 IDispatch * CHtmlView::GetApplication()const \n3331 HKEY__ * CWinApp::GetAppRegistryKey()\n3332 int CDC::GetArcDirection()const \n3333 CSize CDC::GetAspectRatioFilter()const \n3334 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3335 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3336 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3337 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3338 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3339 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3340 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3341 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3342 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3343 unsigned char CByteArray::GetAt(int)const \n3344 unsigned long CDWordArray::GetAt(int)const \n3345 CObject * CObArray::GetAt(int)const \n3346 CObject * & CObList::GetAt(__POSITION *)\n3347 CObject const * CObList::GetAt(__POSITION *)const \n3348 void * CPtrArray::GetAt(int)const \n3349 void * & CPtrList::GetAt(__POSITION *)\n3350 void const * CPtrList::GetAt(__POSITION *)const \n3351 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::GetAt(int)const \n3352 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetAt(__POSITION *)\n3353 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetAt(__POSITION *)const \n3354 unsigned int CUIntArray::GetAt(int)const \n3355 unsigned short CWordArray::GetAt(int)const \n3356 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3357 unsigned long COleControl::GetBackColor()\n3358 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3359 unsigned int CReBarCtrl::GetBandCount()const \n3360 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOW *)const \n3361 unsigned int CReBarCtrl::GetBarHeight()const \n3362 void CControlBar::GetBarInfo(CControlBarInfo *)\n3363 void CDockBar::GetBarInfo(CControlBarInfo *)\n3364 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3365 unsigned long CControlBar::GetBarStyle()\n3366 unsigned int CSpinButtonCtrl::GetBase()const \n3367 unsigned long CAsyncMonikerFile::GetBindInfo()const \n3368 IBinding * CAsyncMonikerFile::GetBinding()const \n3369 int CBitmap::GetBitmap(tagBITMAP *)\n3370 HBITMAP__ * CButton::GetBitmap()const \n3371 HBITMAP__ * CStatic::GetBitmap()const \n3372 int CToolBarCtrl::GetBitmap(int)const \n3373 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3374 CSize CBitmap::GetBitmapDimension()const \n3375 unsigned int CToolBarCtrl::GetBitmapFlags()const \n3376 int CHeaderCtrl::GetBitmapMargin()const \n3377 unsigned long CDC::GetBkColor()const \n3378 unsigned long CImageList::GetBkColor()const \n3379 unsigned long CListCtrl::GetBkColor()const \n3380 unsigned long CReBarCtrl::GetBkColor()const \n3381 unsigned long CTreeCtrl::GetBkColor()const \n3382 int CListCtrl::GetBkImage(tagLVBKIMAGEW *)const \n3383 int CDC::GetBkMode()const \n3384 void * CBlobProperty::GetBlob()\n3385 void CRecordset::GetBookmark(CDBVariant &)\n3386 unsigned long CDatabase::GetBookmarkPersistence()const \n3387 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3388 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3389 CRect CControlBar::GetBorders()const \n3390 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3391 int CStatusBarCtrl::GetBorders(int *)const \n3392 short COleControl::GetBorderStyle()\n3393 long CDataSourceControl::GetBoundClientRow()\n3394 int CRecordset::GetBoundFieldIndex(void *)\n3395 int CRecordset::GetBoundParamIndex(void *)\n3396 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3397 CPoint CDC::GetBrushOrg()const \n3398 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOW *)const \n3399 CWnd * CSliderCtrl::GetBuddy(int)const \n3400 CWnd * CSpinButtonCtrl::GetBuddy()const \n3401 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3402 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer()\n3403 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3404 char * ATL::CSimpleStringT<char,1>::GetBuffer()\n3405 unsigned int CEditView::GetBufferLength()const \n3406 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3407 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3408 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3409 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3410 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3411 int CHtmlView::GetBusy()const \n3412 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3413 int CToolBarCtrl::GetButtonCount()const \n3414 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3415 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOW *)const \n3416 unsigned long CToolBarCtrl::GetButtonSize()const \n3417 unsigned int CButton::GetButtonStyle()const \n3418 unsigned int CToolBar::GetButtonStyle(int)const \n3419 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n3420 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3421 void COleSafeArray::GetByteArray(CByteArray &)\n3422 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3423 unsigned short CPropertySet::GetByteOrder()\n3424 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3425 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3426 unsigned int CListCtrl::GetCallbackMask()const \n3427 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3428 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3429 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3430 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3431 CWnd * COleControl::GetCapture()\n3432 CWnd * CWnd::GetCapture()\n3433 long COleControlSite::XOleIPSite::GetCapture()\n3434 int CListBox::GetCaretIndex()const \n3435 CPoint CWnd::GetCaretPos()\n3436 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3437 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABC *)const \n3438 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABCFLOAT *)const \n3439 unsigned long CDC::GetCharacterPlacementW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,tagGCP_RESULTSW *,unsigned long)const \n3440 unsigned long CDC::GetCharacterPlacementW(wchar_t const *,int,int,tagGCP_RESULTSW *,unsigned long)const \n3441 void CFontDialog::GetCharFormat(_charformatw &)const \n3442 CHARFORMAT2W & CRichEditView::GetCharFormatSelection()\n3443 CPoint CRichEditCtrl::GetCharPos(long)const \n3444 int CDC::GetCharWidthW(unsigned int,unsigned int,int *)const \n3445 int CDC::GetCharWidthW(unsigned int,unsigned int,float *)const \n3446 int CButton::GetCheck()const \n3447 int CCheckListBox::GetCheck(int)\n3448 int CListCtrl::GetCheck(int)const \n3449 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3450 int CWnd::GetCheckedRadioButton(int,int)\n3451 unsigned int CCheckListBox::GetCheckStyle()\n3452 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3453 long CBlobProperty::GetClassID(_GUID *)\n3454 void COleClientItem::GetClassID(_GUID *)const \n3455 _GUID const & COleConvertDialog::GetClassID()const \n3456 _GUID const & COleInsertDialog::GetClassID()const \n3457 _GUID const & COleObjectFactory::GetClassID()const \n3458 _GUID CPropertySet::GetClassID()\n3459 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3460 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3461 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3462 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3463 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3464 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3465 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n3466 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3467 void COleControl::GetClientOffset(long *,long *)const \n3468 void COleControl::GetClientRect(tagRECT *)const \n3469 void CWnd::GetClientRect(tagRECT *)const \n3470 IOleClientSite * COleClientItem::GetClientSite()\n3471 IOleClientSite * COleControl::GetClientSite()\n3472 IOleClientSite * COleServerDoc::GetClientSite()const \n3473 IOleClientSite * CRichEditCntrItem::GetClientSite()\n3474 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3475 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3476 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3477 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3478 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3479 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3480 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3481 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3482 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3483 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3484 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3485 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3486 COleDataSource * COleDataSource::GetClipboardOwner()\n3487 CWnd * CWnd::GetClipboardOwner()\n3488 CWnd * CWnd::GetClipboardViewer()\n3489 int CDC::GetClipBox(tagRECT *)const \n3490 int CMetaFileDC::GetClipBox(tagRECT *)const \n3491 unsigned long CColorDialog::GetColor()const \n3492 unsigned long CFontDialog::GetColor()const \n3493 unsigned long CMonthCalCtrl::GetColor(int)const \n3494 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3495 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)\n3496 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3497 int CListCtrl::GetColumn(int,tagLVCOLUMNW *)const \n3498 int CSplitterWnd::GetColumnCount()const \n3499 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3500 int CListCtrl::GetColumnOrderArray(int *,int)\n3501 int CListCtrl::GetColumnWidth(int)const \n3502 CComboBox * CComboBoxEx::GetComboBoxCtrl()\n3503 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap()const \n3504 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap()const \n3505 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDatabase::GetConnect()const \n3506 void CDatabase::GetConnectInfo()\n3507 int CConnectionPoint::GetConnectionCount()\n3508 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3509 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3510 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3511 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap()const \n3512 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap()const \n3513 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3514 CPtrArray const * CConnectionPoint::GetConnections()\n3515 IConnectionPointContainer * CConnectionPoint::GetContainer()\n3516 IDispatch * CHtmlView::GetContainer()const \n3517 IOleItemContainer * COleDocument::GetContainer()\n3518 IOleItemContainer * COleLinkingDoc::GetContainer()\n3519 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3520 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3521 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3522 unsigned long CInternetConnection::GetContext()const \n3523 unsigned long CInternetFile::GetContext()const \n3524 unsigned long CInternetSession::GetContext()const \n3525 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3526 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3527 COleControl * CDataPathProperty::GetControl()\n3528 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3529 COleControlContainer * CWnd::GetControlContainer()\n3530 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n3531 unsigned long COleControl::GetControlFlags()\n3532 void COleControlSite::GetControlInfo()\n3533 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3534 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame()const \n3535 IUnknown * CCmdTarget::GetControllingUnknown()\n3536 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3537 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n3538 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n3539 void COleControl::GetControlSize(int *,int *)\n3540 int COlePropertyPage::GetControlStatus(unsigned int)\n3541 IUnknown * CWnd::GetControlUnknown()\n3542 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3543 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3544 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n3545 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n3546 int CPrintDialog::GetCopies()const \n3547 int CPrintDialogEx::GetCopies()const \n3548 int CByteArray::GetCount()const \n3549 int CComboBox::GetCount()const \n3550 int CControlBar::GetCount()const \n3551 int CDWordArray::GetCount()const \n3552 int CListBox::GetCount()const \n3553 int CMapPtrToPtr::GetCount()const \n3554 int CMapPtrToWord::GetCount()const \n3555 int CMapStringToOb::GetCount()const \n3556 int CMapStringToPtr::GetCount()const \n3557 int CMapStringToString::GetCount()const \n3558 int CMapWordToOb::GetCount()const \n3559 int CMapWordToPtr::GetCount()const \n3560 int CObArray::GetCount()const \n3561 int CObList::GetCount()const \n3562 unsigned long CPropertySection::GetCount()\n3563 unsigned long CPropertySet::GetCount()\n3564 int CPtrArray::GetCount()const \n3565 int CPtrList::GetCount()const \n3566 int CStringArray::GetCount()const \n3567 int CStringList::GetCount()const \n3568 unsigned int CTreeCtrl::GetCount()const \n3569 int CUIntArray::GetCount()const \n3570 int CWordArray::GetCount()const \n3571 int CListCtrl::GetCountPerPage()const \n3572 int CFileFind::GetCreationTime(ATL::CTime &)const \n3573 int CFileFind::GetCreationTime(_FILETIME *)const \n3574 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3575 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3576 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3577 int CTabCtrl::GetCurFocus()const \n3578 CBitmap * CDC::GetCurrentBitmap()const \n3579 CBrush * CDC::GetCurrentBrush()const \n3580 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3581 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n3582 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3583 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n3584 CFont * CDC::GetCurrentFont()const \n3585 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n3586 tagMSG const * CWnd::GetCurrentMessage()\n3587 CPalette * CDC::GetCurrentPalette()const \n3588 CPen * CDC::GetCurrentPen()const \n3589 CPoint CDC::GetCurrentPosition()const \n3590 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3591 int CComboBox::GetCurSel()const \n3592 int CListBox::GetCurSel()const \n3593 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3594 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3595 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3596 int CTabCtrl::GetCurSel()const \n3597 HICON__ * CButton::GetCursor()\n3598 IUnknown * CDataBoundProperty::GetCursor()\n3599 IUnknown * CDataSourceControl::GetCursor()\n3600 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3601 HICON__ * CStatic::GetCursor()\n3602 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3603 int CDatabase::GetCursorCommitBehavior()const \n3604 int CDatabase::GetCursorRollbackBehavior()const \n3605 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData()const \n3606 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData()const \n3607 unsigned char * CByteArray::GetData()\n3608 unsigned char const * CByteArray::GetData()const \n3609 unsigned long * CDWordArray::GetData()\n3610 unsigned long const * CDWordArray::GetData()const \n3611 CObject * * CObArray::GetData()\n3612 CObject const * * CObArray::GetData()const \n3613 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3614 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3615 void * * CPtrArray::GetData()\n3616 void const * * CPtrArray::GetData()const \n3617 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3618 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > * CStringArray::GetData()\n3619 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const * CStringArray::GetData()const \n3620 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)())\n3621 unsigned int * CUIntArray::GetData()\n3622 unsigned int const * CUIntArray::GetData()const \n3623 unsigned short * CWordArray::GetData()\n3624 unsigned short const * CWordArray::GetData()const \n3625 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3626 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3627 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3628 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3629 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName()const \n3630 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3631 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3632 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3633 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3634 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3635 CNoTrackObject * CThreadLocalObject::GetDataNA()\n3636 IDataObject * COleServerItem::GetDataObject()\n3637 COleControl::CControlDataSource * COleControl::GetDataSource()\n3638 COleDataSource * COleServerItem::GetDataSource()\n3639 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3640 CDC * CWnd::GetDC()\n3641 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3642 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3643 HACCEL__ * CDocument::GetDefaultAccelerator()\n3644 HACCEL__ * CFrameWnd::GetDefaultAccelerator()\n3645 HACCEL__ * COleServerDoc::GetDefaultAccelerator()\n3646 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n3647 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n3648 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect()\n3649 short CRecordset::GetDefaultFieldType(short)\n3650 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3651 HMENU__ * CDocument::GetDefaultMenu()\n3652 HMENU__ * COleServerDoc::GetDefaultMenu()\n3653 int CPrintDialog::GetDefaults()\n3654 int CPrintDialogEx::GetDefaults()\n3655 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL()\n3656 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3657 unsigned long COleControlSite::GetDefBtnCode()\n3658 unsigned long CDialog::GetDefID()const \n3659 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3660 int CDumpContext::GetDepth()const \n3661 CWnd * CWnd::GetDescendantWindow(int,int)const \n3662 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3663 CWnd * CWnd::GetDesktopWindow()\n3664 int CDC::GetDeviceCaps(int)const \n3665 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName()const \n3666 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName()const \n3667 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName()const \n3668 CPoint CScrollView::GetDeviceScrollPosition()const \n3669 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3670 _devicemodeW * CPageSetupDialog::GetDevMode()const \n3671 _devicemodeW * CPrintDialog::GetDevMode()const \n3672 _devicemodeW * CPrintDialogEx::GetDevMode()const \n3673 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3674 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3675 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3676 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3677 DHtmlEventMapEntry const * GetDHtmlEventMap()\n3678 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap()\n3679 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap()\n3680 unsigned long COleSafeArray::GetDim()\n3681 CImageList * CToolBarCtrl::GetDisabledImageList()const \n3682 int CCmdTarget::GetDispatchIID(_GUID *)\n3683 int COleControl::GetDispatchIID(_GUID *)\n3684 AFX_DISPMAP const * CCmdTarget::GetDispatchMap()const \n3685 AFX_DISPMAP const * COleControlContainer::GetDispatchMap()const \n3686 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3687 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetDisplayName()\n3688 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n3689 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3690 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3691 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3692 int COleControlSite::GetDlgCtrlID()const \n3693 int CWnd::GetDlgCtrlID()const \n3694 CWnd * COleControlContainer::GetDlgItem(int)const \n3695 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3696 CWnd * CWnd::GetDlgItem(int)const \n3697 void CWnd::GetDlgItem(int,HWND__ * *)const \n3698 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3699 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3700 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n3701 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3702 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n3703 CFrameWnd * COleIPFrameWnd::GetDocFrame()\n3704 CDockBar * CDockContext::GetDockBar(unsigned long)\n3705 CControlBar * CDockBar::GetDockedControlBar(int)const \n3706 int CDockBar::GetDockedCount()const \n3707 int CDockBar::GetDockedVisibleCount()const \n3708 CFrameWnd * CControlBar::GetDockingFrame()const \n3709 void CFrameWnd::GetDockState(CDockState &)const \n3710 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n3711 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n3712 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n3713 CDocTemplate * CDocument::GetDocTemplate()const \n3714 CDocument * CDocItem::GetDocument()const \n3715 COleDocument * COleClientItem::GetDocument()const \n3716 COleServerDoc * COleServerItem::GetDocument()const \n3717 CRichEditDoc * CRichEditCntrItem::GetDocument()\n3718 CRichEditDoc * CRichEditView::GetDocument()const \n3719 CDocument * CView::GetDocument()const \n3720 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n3721 int CDocManager::GetDocumentCount()\n3722 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n3723 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n3724 enum tagDVASPECT COleClientItem::GetDrawAspect()const \n3725 enum tagDVASPECT COleConvertDialog::GetDrawAspect()const \n3726 enum tagDVASPECT COleInsertDialog::GetDrawAspect()const \n3727 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect()const \n3728 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName()const \n3729 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName()const \n3730 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName()const \n3731 _TREEITEM * CTreeCtrl::GetDropHilightItem()const \n3732 void CComboBox::GetDroppedControlRect(tagRECT *)const \n3733 int CComboBox::GetDroppedState()const \n3734 int CComboBox::GetDroppedWidth()const \n3735 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n3736 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n3737 IDropTarget * CReBarCtrl::GetDropTarget()const \n3738 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n3739 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n3740 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n3741 IUnknown * CWnd::GetDSCCursor()\n3742 CEdit * CListCtrl::GetEditControl()const \n3743 CEdit * CTreeCtrl::GetEditControl()const \n3744 CEdit * CComboBoxEx::GetEditCtrl()\n3745 CEdit & CEditView::GetEditCtrl()const \n3746 unsigned long CComboBox::GetEditSel()const \n3747 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n3748 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n3749 void COleSafeArray::GetElement(long *,void *)\n3750 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n3751 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n3752 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n3753 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n3754 unsigned long COleSafeArray::GetElemSize()\n3755 COleServerItem * COleServerDoc::GetEmbeddedItem()\n3756 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n3757 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n3758 int COleControl::GetEnabled()\n3759 HENHMETAFILE__ * CStatic::GetEnhMetaFileW()const \n3760 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n3761 int CPalette::GetEntryCount()\n3762 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n3763 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n3764 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n3765 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3766 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3767 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n3768 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3769 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3770 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3771 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3772 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n3773 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n3774 int COleControlSite::GetEventIID(_GUID *)\n3775 AFX_EVENTMAP const * COleControl::GetEventMap()const \n3776 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n3777 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n3778 long CRichEditCtrl::GetEventMask()const \n3779 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n3780 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap()const \n3781 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap()const \n3782 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap()const \n3783 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap()const \n3784 unsigned long COleControlSite::GetExStyle()const \n3785 unsigned long CWnd::GetExStyle()const \n3786 IDispatch * COleControl::GetExtendedControl()\n3787 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n3788 unsigned long CComboBoxEx::GetExtendedStyle()const \n3789 unsigned long CListCtrl::GetExtendedStyle()\n3790 unsigned long CTabCtrl::GetExtendedStyle()\n3791 unsigned long CToolBarCtrl::GetExtendedStyle()const \n3792 int CComboBox::GetExtendedUI()const \n3793 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n3794 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3795 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3796 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3797 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n3798 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n3799 long CBrowserControlSite::GetExternal(IDispatch * *)\n3800 long CDHtmlDialog::GetExternal(IDispatch * *)\n3801 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n3802 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n3803 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n3804 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n3805 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetFaceName()const \n3806 short CRecordset::GetFieldIndexByName(wchar_t const *)\n3807 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n3808 unsigned char CRecordset::GetFieldStatus(unsigned long)\n3809 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3810 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3811 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3812 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3813 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3814 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n3815 CFile * CArchive::GetFile()const \n3816 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n3817 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n3818 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3819 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt()const \n3820 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName()const \n3821 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName()const \n3822 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName()const \n3823 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName()const \n3824 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFileName()\n3825 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath()const \n3826 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath()const \n3827 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath()const \n3828 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle()const \n3829 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle()const \n3830 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle()const \n3831 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle()const \n3832 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3833 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL()const \n3834 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL()const \n3835 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL()const \n3836 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL()const \n3837 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetFindString()const \n3838 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3839 __POSITION * CMultiDocTemplate::GetFirstDocPosition()const \n3840 __POSITION * CSingleDocTemplate::GetFirstDocPosition()const \n3841 __POSITION * CDocManager::GetFirstDocTemplatePosition()const \n3842 __POSITION * CWinApp::GetFirstDocTemplatePosition()const \n3843 CFrameWnd * COleDocument::GetFirstFrame()\n3844 __POSITION * CListCtrl::GetFirstSelectedItemPosition()const \n3845 __POSITION * CDocument::GetFirstViewPosition()const \n3846 _TREEITEM * CTreeCtrl::GetFirstVisibleItem()const \n3847 int CEdit::GetFirstVisibleLine()const \n3848 int CRichEditCtrl::GetFirstVisibleLine()const \n3849 CWnd * COleControl::GetFocus()\n3850 CWnd * CWnd::GetFocus()\n3851 long COleControlSite::XOleIPSite::GetFocus()\n3852 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath()const \n3853 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n3854 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n3855 IFontDisp * COleControl::GetFont()\n3856 CFont * CWnd::GetFont()const \n3857 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n3858 IFontDisp * CFontHolder::GetFontDispatch()\n3859 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3860 HFONT__ * CFontHolder::GetFontHandle()\n3861 unsigned long CDC::GetFontLanguageInfo()const \n3862 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3863 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n3864 unsigned long COleControl::GetForeColor()\n3865 CWnd * CWnd::GetForegroundWindow()\n3866 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc()const \n3867 _GUID CPropertySection::GetFormatID()\n3868 unsigned short CPropertySet::GetFormatVersion()\n3869 int CPrintDialog::GetFromPage()const \n3870 unsigned int CPrintInfo::GetFromPage()const \n3871 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFromPrefix()\n3872 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n3873 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName()const \n3874 int CHtmlView::GetFullScreen()const \n3875 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3876 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3877 unsigned long CDC::GetGlyphOutlineW(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n3878 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n3879 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3880 CBrush * CDC::GetHalftoneBrush()\n3881 void * CEdit::GetHandle()const \n3882 unsigned int CRectTracker::GetHandleMask()const \n3883 void CRectTracker::GetHandleRect(int,CRect *)const \n3884 int CRectTracker::GetHandleSize(tagRECT const *)const \n3885 unsigned int CMapPtrToPtr::GetHashTableSize()const \n3886 unsigned int CMapPtrToWord::GetHashTableSize()const \n3887 unsigned int CMapStringToOb::GetHashTableSize()const \n3888 unsigned int CMapStringToPtr::GetHashTableSize()const \n3889 unsigned int CMapStringToString::GetHashTableSize()const \n3890 unsigned int CMapWordToOb::GetHashTableSize()const \n3891 unsigned int CMapWordToPtr::GetHashTableSize()const \n3892 CObject * & CObList::GetHead()\n3893 CObject const * CObList::GetHead()const \n3894 void * & CPtrList::GetHead()\n3895 void const * CPtrList::GetHead()const \n3896 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetHead()\n3897 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetHead()const \n3898 CHeaderCtrl * CListCtrl::GetHeaderCtrl()\n3899 __POSITION * CObList::GetHeadPosition()const \n3900 __POSITION * CPtrList::GetHeadPosition()const \n3901 __POSITION * CStringList::GetHeadPosition()const \n3902 long CHtmlView::GetHeight()const \n3903 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3904 enum AFX_HELP_TYPE CWinApp::GetHelpMode()\n3905 void CSplitterWnd::GetHitRect(int,CRect &)\n3906 unsigned int CComboBox::GetHorizontalExtent()const \n3907 int CListBox::GetHorizontalExtent()const \n3908 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3909 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3910 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3911 HICON__ * CListCtrl::GetHotCursor()\n3912 CImageList * CToolBarCtrl::GetHotImageList()const \n3913 int CListCtrl::GetHotItem()\n3914 int CToolBarCtrl::GetHotItem()const \n3915 unsigned long CHotKeyCtrl::GetHotKey()const \n3916 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName()const \n3918 unsigned long CListCtrl::GetHoverTime()const \n3919 IDispatch * CHtmlView::GetHtmlDocument()const \n3920 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n3921 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n3922 unsigned int COleControl::GetHwnd()\n3923 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3924 HICON__ * CButton::GetIcon()const \n3925 HICON__ * CStatic::GetIcon()const \n3926 HICON__ * CWnd::GetIcon(int)const \n3927 HICON__ * COleClientItem::GetIconFromRegistry()const \n3928 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3929 void * COleChangeIconDialog::GetIconicMetafile()const \n3930 void * COleClientItem::GetIconicMetafile()\n3931 void * COleConvertDialog::GetIconicMetafile()const \n3932 void * COleInsertDialog::GetIconicMetafile()const \n3933 void * COlePasteSpecialDialog::GetIconicMetafile()const \n3934 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3935 unsigned long CProperty::GetID()\n3936 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n3937 IDataObject * COleDataObject::GetIDataObject(int)\n3938 IDispatch * CCmdTarget::GetIDispatch(int)\n3939 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3940 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3941 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3942 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3943 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3944 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3945 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3946 _GUID const & COleControl::XEventConnPt::GetIID()\n3947 int CImageList::GetImageCount()const \n3948 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n3949 CImageList * CComboBoxEx::GetImageList()const \n3950 CImageList * CHeaderCtrl::GetImageList()const \n3951 CImageList * CListCtrl::GetImageList(int)const \n3952 CImageList * CReBarCtrl::GetImageList()const \n3953 CImageList * CTabCtrl::GetImageList()const \n3954 CImageList * CToolBarCtrl::GetImageList()const \n3955 CImageList * CTreeCtrl::GetImageList(unsigned int)const \n3956 unsigned int CTreeCtrl::GetIndent()const \n3957 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3958 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3959 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem()const \n3960 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3961 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n3962 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n3963 HMENU__ * COleIPFrameWnd::GetInPlaceMenu()\n3964 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3965 CWnd * COleClientItem::GetInPlaceWindow()\n3966 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n3967 unsigned long CToolBarCtrl::GetInsertMarkColor()const \n3968 unsigned long CTreeCtrl::GetInsertMarkColor()const \n3969 void CSplitterWnd::GetInsideRect(CRect &)const \n3970 IUnknown * CCmdTarget::GetInterface(void const *)\n3971 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3972 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3973 IUnknown * COleControl::GetInterfaceHook(void const *)\n3974 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3975 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap()const \n3976 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap()const \n3977 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap()const \n3978 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap()const \n3979 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap()const \n3980 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap()const \n3981 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap()const \n3982 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap()const \n3983 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap()const \n3984 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap()const \n3985 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap()const \n3986 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap()const \n3987 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap()const \n3988 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap()const \n3989 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap()const \n3990 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap()const \n3991 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap()const \n3992 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap()const \n3993 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap()const \n3994 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap()const \n3995 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap()const \n3996 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap()const \n3997 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap()const \n3998 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap()const \n3999 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap()const \n4000 IRichEditOle * CRichEditCtrl::GetIRichEditOle()const \n4001 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n4002 int CHeaderCtrl::GetItem(int,_HD_ITEMW *)const \n4003 int CListCtrl::GetItem(tagLVITEMW *)const \n4004 int CTabCtrl::GetItem(int,tagTCITEMW *)const \n4005 int CTreeCtrl::GetItem(tagTVITEMW *)const \n4006 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4007 int CHeaderCtrl::GetItemCount()const \n4008 int CListCtrl::GetItemCount()const \n4009 int CTabCtrl::GetItemCount()const \n4010 unsigned long CComboBox::GetItemData(int)const \n4011 unsigned long CListBox::GetItemData(int)const \n4012 unsigned long CListCtrl::GetItemData(int)const \n4013 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4014 void * CComboBox::GetItemDataPtr(int)const \n4015 void * CListBox::GetItemDataPtr(int)const \n4016 int CComboBox::GetItemHeight(int)const \n4017 int CListBox::GetItemHeight(int)const \n4018 short CTreeCtrl::GetItemHeight()const \n4019 unsigned int CStatusBar::GetItemID(int)const \n4020 unsigned int CToolBar::GetItemID(int)const \n4021 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4022 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetItemName()\n4023 void COleClientItem::GetItemName(wchar_t *)const \n4024 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleServerItem::GetItemName()const \n4025 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4026 void COleServerDoc::GetItemPosition(tagRECT *)const \n4027 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4028 int CListBox::GetItemRect(int,tagRECT *)const \n4029 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4030 void CStatusBar::GetItemRect(int,tagRECT *)const \n4031 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4032 void CToolBar::GetItemRect(int,tagRECT *)const \n4033 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4034 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4035 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4036 unsigned int COleClientItem::GetItemState()const \n4037 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4038 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4039 void COleClientItem::GetItemStorage()\n4040 void COleClientItem::GetItemStorageCompound()\n4041 void COleClientItem::GetItemStorageFlat()\n4042 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n4043 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n4044 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4045 int CDC::GetKerningPairsW(int,tagKERNINGPAIR *)const \n4046 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4047 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4048 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4049 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4050 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4051 CWnd * CWnd::GetLastActivePopup()const \n4052 int CAsyncSocket::GetLastError()\n4053 unsigned int COleDialog::GetLastError()const \n4054 long COleClientItem::GetLastStatus()const \n4055 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4056 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4057 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4058 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4059 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4060 unsigned long CDC::GetLayout()const \n4061 long CRecordset::GetLBFetchSize(long)\n4062 void COleSafeArray::GetLBound(unsigned long,long *)\n4063 long CRecordset::GetLBReallocSize(long)\n4064 int CComboBox::GetLBText(int,wchar_t *)const \n4065 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4066 int CComboBox::GetLBTextLen(int)const \n4067 long CHtmlView::GetLeft()const \n4068 int ATL::CSimpleStringT<wchar_t,1>::GetLength()const \n4069 int ATL::CSimpleStringT<char,1>::GetLength()const \n4070 unsigned __int64 CFile::GetLength()const \n4071 unsigned __int64 CFileFind::GetLength()const \n4072 unsigned __int64 CGopherFileFind::GetLength()const \n4073 unsigned __int64 CInternetFile::GetLength()const \n4074 unsigned __int64 CMemFile::GetLength()const \n4075 unsigned __int64 COleStreamFile::GetLength()const \n4076 unsigned __int64 CSocketFile::GetLength()const \n4077 unsigned __int64 CStdioFile::GetLength()const \n4078 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4079 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4080 unsigned int CEdit::GetLimitText()const \n4081 long CRichEditCtrl::GetLimitText()const \n4082 int CEdit::GetLine(int,wchar_t *)const \n4083 int CEdit::GetLine(int,wchar_t *,int)const \n4084 int CRichEditCtrl::GetLine(int,wchar_t *)const \n4085 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n4086 unsigned long CTreeCtrl::GetLineColor()const \n4087 int CEdit::GetLineCount()const \n4088 int CRichEditCtrl::GetLineCount()const \n4089 int CSliderCtrl::GetLineSize()const \n4090 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4091 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n4092 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4093 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4094 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions()\n4095 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4096 CPtrList * CPropertySection::GetList()\n4097 CPtrList * CPropertySet::GetList()\n4098 CListCtrl & CListView::GetListCtrl()const \n4099 unsigned long CComboBox::GetLocale()const \n4100 unsigned long CListBox::GetLocale()const \n4101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName()const \n4102 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL()const \n4103 CGopherLocator CGopherFileFind::GetLocator()const \n4104 int CGopherLocator::GetLocatorType(unsigned long &)const \n4105 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4106 int CFont::GetLogFont(tagLOGFONTW *)\n4107 int CPen::GetLogPen(tagLOGPEN *)\n4108 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4109 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4110 long CFieldExchange::GetLongBinarySize(int)\n4111 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4112 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4113 CFrameWnd * COleIPFrameWnd::GetMainFrame()\n4114 CWnd * CWinThread::GetMainWnd()\n4115 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager()const \n4116 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager()const \n4117 int CDC::GetMapMode()const \n4118 void CToolTipCtrl::GetMargin(tagRECT *)const \n4119 unsigned long CEdit::GetMargins()const \n4120 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4121 CRect CRichEditView::GetMargins()const \n4122 int CConnectionPoint::GetMaxConnections()\n4123 unsigned int CPrintInfo::GetMaxPage()const \n4124 int CMonthCalCtrl::GetMaxSelCount()const \n4125 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4126 int CToolBarCtrl::GetMaxTextRows()const \n4127 int CToolTipCtrl::GetMaxTipWidth()const \n4128 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame()\n4129 CMenu * CWnd::GetMenu()const \n4130 int CHtmlView::GetMenuBar()const \n4131 unsigned long CMenu::GetMenuContextHelpId()const \n4132 unsigned int CMenu::GetMenuItemCount()const \n4133 unsigned int CMenu::GetMenuItemID(int)const \n4134 int CMenu::GetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n4135 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4136 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n4137 int CMenu::GetMenuStringW(unsigned int,wchar_t *,int,unsigned int)const \n4138 CWnd * CFrameWnd::GetMessageBar()\n4139 CWnd * CMDIChildWnd::GetMessageBar()\n4140 AFX_MSGMAP const * CCheckListBox::GetMessageMap()const \n4141 AFX_MSGMAP const * CCmdTarget::GetMessageMap()const \n4142 AFX_MSGMAP const * CCommonDialog::GetMessageMap()const \n4143 AFX_MSGMAP const * CControlBar::GetMessageMap()const \n4144 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap()const \n4145 AFX_MSGMAP const * CCtrlView::GetMessageMap()const \n4146 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap()const \n4147 AFX_MSGMAP const * CDialog::GetMessageMap()const \n4148 AFX_MSGMAP const * CDialogBar::GetMessageMap()const \n4149 AFX_MSGMAP const * CDockBar::GetMessageMap()const \n4150 AFX_MSGMAP const * CDocObjectServer::GetMessageMap()const \n4151 AFX_MSGMAP const * CDocument::GetMessageMap()const \n4152 AFX_MSGMAP const * CEditView::GetMessageMap()const \n4153 AFX_MSGMAP const * CFormView::GetMessageMap()const \n4154 AFX_MSGMAP const * CFrameWnd::GetMessageMap()const \n4155 AFX_MSGMAP const * CHtmlEditView::GetMessageMap()const \n4156 AFX_MSGMAP const * CHtmlView::GetMessageMap()const \n4157 AFX_MSGMAP const * CListCtrl::GetMessageMap()const \n4158 AFX_MSGMAP const * CListView::GetMessageMap()const \n4159 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap()const \n4160 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap()const \n4161 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap()const \n4162 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap()const \n4163 AFX_MSGMAP const * COleControl::GetMessageMap()const \n4164 AFX_MSGMAP const * COleDBRecordView::GetMessageMap()const \n4165 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap()const \n4166 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap()const \n4167 AFX_MSGMAP const * COlePropertyPage::GetMessageMap()const \n4168 AFX_MSGMAP const * COleResizeBar::GetMessageMap()const \n4169 AFX_MSGMAP const * COleServerDoc::GetMessageMap()const \n4170 AFX_MSGMAP const * CPreviewView::GetMessageMap()const \n4171 AFX_MSGMAP const * CPrintDialog::GetMessageMap()const \n4172 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap()const \n4173 AFX_MSGMAP const * CPropertyPage::GetMessageMap()const \n4174 AFX_MSGMAP const * CPropertySheet::GetMessageMap()const \n4175 AFX_MSGMAP const * CReBar::GetMessageMap()const \n4176 AFX_MSGMAP const * CRecordView::GetMessageMap()const \n4177 AFX_MSGMAP const * CRichEditView::GetMessageMap()const \n4178 AFX_MSGMAP const * CScrollView::GetMessageMap()const \n4179 AFX_MSGMAP const * CSocketWnd::GetMessageMap()const \n4180 AFX_MSGMAP const * CSplitterWnd::GetMessageMap()const \n4181 AFX_MSGMAP const * CStatusBar::GetMessageMap()const \n4182 AFX_MSGMAP const * CTabCtrl::GetMessageMap()const \n4183 AFX_MSGMAP const * CToolBar::GetMessageMap()const \n4184 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap()const \n4185 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap()const \n4186 AFX_MSGMAP const * CTreeCtrl::GetMessageMap()const \n4187 AFX_MSGMAP const * CTreeView::GetMessageMap()const \n4188 AFX_MSGMAP const * CView::GetMessageMap()const \n4189 AFX_MSGMAP const * CWinApp::GetMessageMap()const \n4190 AFX_MSGMAP const * CWnd::GetMessageMap()const \n4191 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4192 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4193 long CDataSourceControl::GetMetaData()\n4194 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4195 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4196 unsigned int CPrintInfo::GetMinPage()const \n4197 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4198 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4199 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4200 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4201 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4202 float CDC::GetMiterLimit()const \n4203 int CEdit::GetModify()const \n4204 int CRichEditCtrl::GetModify()const \n4205 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4206 IMoniker * CMonikerFile::GetMoniker()const \n4207 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4208 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4209 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4210 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4211 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4212 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4213 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4214 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4215 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4216 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4217 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4218 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl()const \n4219 CFont * CDateTimeCtrl::GetMonthCalFont()const \n4220 int CMonthCalCtrl::GetMonthDelta()const \n4221 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4222 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4223 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4224 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4225 unsigned long CDC::GetNearestColor(unsigned long)const \n4226 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4227 unsigned long COleClientItem::GetNewItemNumber()\n4228 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4229 CDataBoundProperty * CDataBoundProperty::GetNext()\n4230 CObject * & CObList::GetNext(__POSITION * &)\n4231 CObject const * CObList::GetNext(__POSITION * &)const \n4232 void * & CPtrList::GetNext(__POSITION * &)\n4233 void const * CPtrList::GetNext(__POSITION * &)const \n4234 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetNext(__POSITION * &)\n4235 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetNext(__POSITION * &)const \n4236 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4237 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4238 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n4239 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n4240 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4241 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4242 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4243 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4244 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4245 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4246 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4247 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4248 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4249 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4250 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4251 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4252 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4253 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4254 int CListCtrl::GetNextItem(int,int)const \n4255 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4256 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4257 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4258 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4259 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4260 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4261 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4262 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4263 CView * CDocument::GetNextView(__POSITION * &)const \n4264 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4265 CWnd * CWnd::GetNextWindow(unsigned int)const \n4266 ATL::CStringData * CAfxStringMgr::GetNilString()\n4267 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4268 void CCmdTarget::GetNotSupported()\n4269 void COleControl::GetNotSupported()\n4270 unsigned int CListCtrl::GetNumberOfWorkAreas()const \n4271 unsigned int CSliderCtrl::GetNumTics()const \n4272 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4273 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4274 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4275 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n4276 unsigned int CArchive::GetObjectSchema()\n4277 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4278 unsigned int CGdiObject::GetObjectType()const \n4279 int CGdiObject::GetObjectW(int,void *)const \n4280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW()const \n4281 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4282 short CRecordset::GetODBCFieldCount()const \n4283 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4284 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n4285 int CHtmlView::GetOffline()const \n4286 tagOFNW & CFileDialog::GetOFN()\n4287 tagOFNW const & CFileDialog::GetOFN()const \n4288 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4289 IOleObject * COleServerItem::GetOleObject()\n4290 unsigned long COleSafeArray::GetOneDimSize()\n4291 CWnd * CWnd::GetOpenClipboardWindow()\n4292 int CDocManager::GetOpenDocumentCount()\n4293 int CWinApp::GetOpenDocumentCount()\n4294 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4295 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4296 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4297 unsigned int CRichEditCtrl::GetOptions()const \n4298 int CHeaderCtrl::GetOrderArray(int *,int)\n4299 int CListCtrl::GetOrigin(tagPOINT *)const \n4300 unsigned long CPropertySet::GetOSVersion()\n4301 CWnd * COleControl::GetOuterWindow()const \n4302 unsigned int CDC::GetOutlineTextMetricsW(unsigned int,_OUTLINETEXTMETRICW *)const \n4303 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4304 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4305 CSize CDC::GetOutputTabbedTextExtent(wchar_t const *,int,int,int *)const \n4306 CSize CDC::GetOutputTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4307 CSize CDC::GetOutputTextExtent(wchar_t const *,int)const \n4308 int CDC::GetOutputTextMetrics(tagTEXTMETRICW *)const \n4309 CWnd * CWnd::GetOwner()const \n4310 CPropertyPage * CPropertySheet::GetPage(int)const \n4311 int COleDocObjectItem::GetPageCount(long *,long *)\n4312 int CPropertySheet::GetPageCount()const \n4313 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4314 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4315 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4316 CRect CRichEditView::GetPageRect()const \n4317 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4318 IPropertyPageSite * COlePropertyPage::GetPageSite()\n4319 int CSliderCtrl::GetPageSize()const \n4320 CPalette * CReBarCtrl::GetPalette()const \n4321 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4322 CWnd * CSplitterWnd::GetPane(int,int)const \n4323 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4324 unsigned int CStatusBar::GetPaneStyle(int)const \n4325 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n4326 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4327 CSize CPageSetupDialog::GetPaperSize()const \n4328 CSize CRichEditView::GetPaperSize()const \n4329 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4330 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4331 PARAFORMAT2 & CRichEditView::GetParaFormatSelection()\n4332 CWnd * CWnd::GetParent()const \n4333 IDispatch * CHtmlView::GetParentBrowser()const \n4334 CFrameWnd * CWnd::GetParentFrame()const \n4335 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4336 CWnd * CWnd::GetParentOwner()const \n4337 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4338 int CStatusBarCtrl::GetParts(int,int *)const \n4339 wchar_t CEdit::GetPasswordChar()const \n4340 int COlePasteSpecialDialog::GetPasteIndex()const \n4341 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDataPathProperty::GetPath()const \n4342 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4343 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetPathName()const \n4344 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName()const \n4345 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleInsertDialog::GetPathName()const \n4346 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4347 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4348 IPictureDisp * CPictureHolder::GetPictureDispatch()\n4349 unsigned long CDC::GetPixel(int,int)const \n4350 unsigned long CDC::GetPixel(tagPOINT)const \n4351 int CDC::GetPolyFillMode()const \n4352 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName()const \n4353 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName()const \n4354 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName()const \n4355 int CProgressCtrl::GetPos()\n4356 int CSliderCtrl::GetPos()const \n4357 int CSpinButtonCtrl::GetPos()const \n4358 int CSpinButtonCtrl::GetPos32(int *)const \n4359 unsigned __int64 CFile::GetPosition()const \n4360 unsigned __int64 CMemFile::GetPosition()const \n4361 unsigned __int64 COleStreamFile::GetPosition()const \n4362 unsigned __int64 CSocketFile::GetPosition()const \n4363 unsigned __int64 CStdioFile::GetPosition()const \n4364 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4365 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4366 CObject * & CObList::GetPrev(__POSITION * &)\n4367 CObject const * CObList::GetPrev(__POSITION * &)const \n4368 void * & CPtrList::GetPrev(__POSITION * &)\n4369 void const * CPtrList::GetPrev(__POSITION * &)const \n4370 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetPrev(__POSITION * &)\n4371 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetPrev(__POSITION * &)const \n4372 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4373 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4374 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4375 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4376 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4377 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4378 HDC__ * CPrintDialog::GetPrinterDC()const \n4379 HDC__ * CPrintDialogEx::GetPrinterDC()const \n4380 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n4381 CFont * CEditView::GetPrinterFont()const \n4382 CRect CRichEditView::GetPrintRect()const \n4383 int CRichEditView::GetPrintWidth()const \n4384 long CAsyncMonikerFile::GetPriority()const \n4385 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n4386 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n4387 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n4388 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n4389 COleVariant CHtmlView::GetProperty(wchar_t const *)\n4390 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4391 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4392 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4393 CProperty * CPropertySection::GetProperty(unsigned long)\n4394 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4395 void CWnd::GetProperty(long,unsigned short,void *)const \n4396 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n4397 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4398 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n4399 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4400 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n4401 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n4402 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n4403 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n4404 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n4405 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n4406 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n4407 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n4408 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n4409 _PROPSHEETPAGEW & CPropertyPage::GetPSP()\n4410 _PROPSHEETPAGEW const & CPropertyPage::GetPSP()const \n4411 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4412 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4413 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4414 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4415 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4416 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4417 void CProgressCtrl::GetRange(int &,int &)\n4418 void CSliderCtrl::GetRange(int &,int &)const \n4419 unsigned long CSpinButtonCtrl::GetRange()const \n4420 void CSpinButtonCtrl::GetRange(int &,int &)const \n4421 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4422 int CSliderCtrl::GetRangeMax()const \n4423 int CSliderCtrl::GetRangeMin()const \n4424 void * CProperty::GetRawValue()\n4425 int CFileDialog::GetReadOnlyPref()const \n4426 enum tagREADYSTATE CHtmlView::GetReadyState()const \n4427 long COleControl::GetReadyState()\n4428 CReBarCtrl & CReBar::GetReBarCtrl()const \n4429 long CRecordset::GetRecordCount()const \n4430 void CEdit::GetRect(tagRECT *)const \n4431 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4432 void CRichEditCtrl::GetRect(tagRECT *)const \n4433 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4434 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4435 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4436 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4437 int COleControl::GetRectInContainer(tagRECT *)\n4438 enum _undonameid CRichEditCtrl::GetRedoName()const \n4439 int CRgn::GetRegionData(_RGNDATA *,int)const \n4440 int CHtmlView::GetRegisterAsBrowser()const \n4441 int CHtmlView::GetRegisterAsDropTarget()const \n4442 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetReplaceString()const \n4443 int CRgn::GetRgnBox(tagRECT *)const \n4444 CRichEditCtrl & CRichEditView::GetRichEditCtrl()const \n4445 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot()const \n4446 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot()const \n4447 _TREEITEM * CTreeCtrl::GetRootItem()const \n4448 int CDC::GetROP2()const \n4449 CFrameWnd * CCmdTarget::GetRoutingFrame()\n4450 CFrameWnd * CCmdTarget::GetRoutingFrame_()\n4451 CView * CCmdTarget::GetRoutingView()\n4452 CView * CCmdTarget::GetRoutingView_()\n4453 unsigned int CReBarCtrl::GetRowCount()const \n4454 int CSplitterWnd::GetRowCount()const \n4455 int CTabCtrl::GetRowCount()const \n4456 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4457 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4458 int CToolBarCtrl::GetRows()const \n4459 unsigned long CRecordset::GetRowsetSize()const \n4460 unsigned long CRecordset::GetRowsFetched()const \n4461 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4462 CRuntime* CAnimateCtrl::GetRuntimeClass()const \n4463 CRuntime* CArchiveException::GetRuntimeClass()const \n4464 CRuntime* CAsyncMonikerFile::GetRuntimeClass()const \n4465 CRuntime* CAsyncSocket::GetRuntimeClass()const \n4466 CRuntime* CBitmap::GetRuntimeClass()const \n4467 CRuntime* CBitmapButton::GetRuntimeClass()const \n4468 CRuntime* CBrush::GetRuntimeClass()const \n4469 CRuntime* CButton::GetRuntimeClass()const \n4470 CRuntime* CByteArray::GetRuntimeClass()const \n4471 CRuntime* CCachedDataPathProperty::GetRuntimeClass()const \n4472 CRuntime* CCheckListBox::GetRuntimeClass()const \n4473 CRuntime* CClientDC::GetRuntimeClass()const \n4474 CRuntime* CCmdTarget::GetRuntimeClass()const \n4475 CRuntime* CColorDialog::GetRuntimeClass()const \n4476 CRuntime* CComboBox::GetRuntimeClass()const \n4477 CRuntime* CComboBoxEx::GetRuntimeClass()const \n4478 CRuntime* CControlBar::GetRuntimeClass()const \n4479 CRuntime* CCriticalSection::GetRuntimeClass()const \n4480 CRuntime* CCtrlView::GetRuntimeClass()const \n4481 CRuntime* CDatabase::GetRuntimeClass()const \n4482 CRuntime* CDataPathProperty::GetRuntimeClass()const \n4483 CRuntime* CDateTimeCtrl::GetRuntimeClass()const \n4484 CRuntime* CDBException::GetRuntimeClass()const \n4485 CRuntime* CDC::GetRuntimeClass()const \n4486 CRuntime* CDHtmlDialog::GetRuntimeClass()const \n4487 CRuntime* CDialog::GetRuntimeClass()const \n4488 CRuntime* CDialogBar::GetRuntimeClass()const \n4489 CRuntime* CDocItem::GetRuntimeClass()const \n4490 CRuntime* CDockBar::GetRuntimeClass()const \n4491 CRuntime* CDockState::GetRuntimeClass()const \n4492 CRuntime* CDocManager::GetRuntimeClass()const \n4493 CRuntime* CDocObjectServer::GetRuntimeClass()const \n4494 CRuntime* CDocObjectServerItem::GetRuntimeClass()const \n4495 CRuntime* CDocTemplate::GetRuntimeClass()const \n4496 CRuntime* CDocument::GetRuntimeClass()const \n4497 CRuntime* CDragListBox::GetRuntimeClass()const \n4498 CRuntime* CDWordArray::GetRuntimeClass()const \n4499 CRuntime* CDynLinkLibrary::GetRuntimeClass()const \n4500 CRuntime* CEdit::GetRuntimeClass()const \n4501 CRuntime* CEditView::GetRuntimeClass()const \n4502 CRuntime* CEvent::GetRuntimeClass()const \n4503 CRuntime* CException::GetRuntimeClass()const \n4504 CRuntime* CFile::GetRuntimeClass()const \n4505 CRuntime* CFileDialog::GetRuntimeClass()const \n4506 CRuntime* CFileException::GetRuntimeClass()const \n4507 CRuntime* CFileFind::GetRuntimeClass()const \n4508 CRuntime* CFindReplaceDialog::GetRuntimeClass()const \n4509 CRuntime* CFont::GetRuntimeClass()const \n4510 CRuntime* CFontDialog::GetRuntimeClass()const \n4511 CRuntime* CFormView::GetRuntimeClass()const \n4512 CRuntime* CFrameWnd::GetRuntimeClass()const \n4513 CRuntime* CFtpConnection::GetRuntimeClass()const \n4514 CRuntime* CFtpFileFind::GetRuntimeClass()const \n4515 CRuntime* CGdiObject::GetRuntimeClass()const \n4516 CRuntime* CGopherConnection::GetRuntimeClass()const \n4517 CRuntime* CGopherFile::GetRuntimeClass()const \n4518 CRuntime* CGopherFileFind::GetRuntimeClass()const \n4519 CRuntime* CHeaderCtrl::GetRuntimeClass()const \n4520 CRuntime* CHotKeyCtrl::GetRuntimeClass()const \n4521 CRuntime* CHtmlEditDoc::GetRuntimeClass()const \n4522 CRuntime* CHtmlEditView::GetRuntimeClass()const \n4523 CRuntime* CHtmlView::GetRuntimeClass()const \n4524 CRuntime* CHttpConnection::GetRuntimeClass()const \n4525 CRuntime* CHttpFile::GetRuntimeClass()const \n4526 CRuntime* CImageList::GetRuntimeClass()const \n4527 CRuntime* CInternetConnection::GetRuntimeClass()const \n4528 CRuntime* CInternetException::GetRuntimeClass()const \n4529 CRuntime* CInternetFile::GetRuntimeClass()const \n4530 CRuntime* CInternetSession::GetRuntimeClass()const \n4531 CRuntime* CInvalidArgException::GetRuntimeClass()const \n4532 CRuntime* CIPAddressCtrl::GetRuntimeClass()const \n4533 CRuntime* CLinkCtrl::GetRuntimeClass()const \n4534 CRuntime* CListBox::GetRuntimeClass()const \n4535 CRuntime* CListCtrl::GetRuntimeClass()const \n4536 CRuntime* CListView::GetRuntimeClass()const \n4537 CRuntime* CLongBinary::GetRuntimeClass()const \n4538 CRuntime* CMapPtrToPtr::GetRuntimeClass()const \n4539 CRuntime* CMapPtrToWord::GetRuntimeClass()const \n4540 CRuntime* CMapStringToOb::GetRuntimeClass()const \n4541 CRuntime* CMapStringToPtr::GetRuntimeClass()const \n4542 CRuntime* CMapStringToString::GetRuntimeClass()const \n4543 CRuntime* CMapWordToOb::GetRuntimeClass()const \n4544 CRuntime* CMapWordToPtr::GetRuntimeClass()const \n4545 CRuntime* CMDIChildWnd::GetRuntimeClass()const \n4546 CRuntime* CMDIFrameWnd::GetRuntimeClass()const \n4547 CRuntime* CMemFile::GetRuntimeClass()const \n4548 CRuntime* CMemoryException::GetRuntimeClass()const \n4549 CRuntime* CMenu::GetRuntimeClass()const \n4550 CRuntime* CMetaFileDC::GetRuntimeClass()const \n4551 CRuntime* CMiniDockFrameWnd::GetRuntimeClass()const \n4552 CRuntime* CMiniFrameWnd::GetRuntimeClass()const \n4553 CRuntime* CMonikerFile::GetRuntimeClass()const \n4554 CRuntime* CMonthCalCtrl::GetRuntimeClass()const \n4555 CRuntime* CMultiDocTemplate::GetRuntimeClass()const \n4556 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass()const \n4557 CRuntime* CMutex::GetRuntimeClass()const \n4558 CRuntime* CNotSupportedException::GetRuntimeClass()const \n4559 CRuntime* CObArray::GetRuntimeClass()const \n4560 CRuntime* CObject::GetRuntimeClass()const \n4561 CRuntime* CObList::GetRuntimeClass()const \n4562 CRuntime* COleBusyDialog::GetRuntimeClass()const \n4563 CRuntime* COleChangeIconDialog::GetRuntimeClass()const \n4564 CRuntime* COleChangeSourceDialog::GetRuntimeClass()const \n4565 CRuntime* COleClientItem::GetRuntimeClass()const \n4566 CRuntime* COleControl::GetRuntimeClass()const \n4567 CRuntime* COleControlModule::GetRuntimeClass()const \n4568 CRuntime* COleConvertDialog::GetRuntimeClass()const \n4569 CRuntime* COleDBRecordView::GetRuntimeClass()const \n4570 CRuntime* COleDialog::GetRuntimeClass()const \n4571 CRuntime* COleDispatchException::GetRuntimeClass()const \n4572 CRuntime* COleDocIPFrameWnd::GetRuntimeClass()const \n4573 CRuntime* COleDocObjectItem::GetRuntimeClass()const \n4574 CRuntime* COleDocument::GetRuntimeClass()const \n4575 CRuntime* COleException::GetRuntimeClass()const \n4576 CRuntime* COleInsertDialog::GetRuntimeClass()const \n4577 CRuntime* COleIPFrameWnd::GetRuntimeClass()const \n4578 CRuntime* COleLinkingDoc::GetRuntimeClass()const \n4579 CRuntime* COleLinksDialog::GetRuntimeClass()const \n4580 CRuntime* COleObjectFactory::GetRuntimeClass()const \n4581 CRuntime* COlePasteSpecialDialog::GetRuntimeClass()const \n4582 CRuntime* COlePropertiesDialog::GetRuntimeClass()const \n4583 CRuntime* COlePropertyPage::GetRuntimeClass()const \n4584 CRuntime* COleResizeBar::GetRuntimeClass()const \n4585 CRuntime* COleServerDoc::GetRuntimeClass()const \n4586 CRuntime* COleServerItem::GetRuntimeClass()const \n4587 CRuntime* COleStreamFile::GetRuntimeClass()const \n4588 CRuntime* COleUpdateDialog::GetRuntimeClass()const \n4589 CRuntime* CPageSetupDialog::GetRuntimeClass()const \n4590 CRuntime* CPaintDC::GetRuntimeClass()const \n4591 CRuntime* CPalette::GetRuntimeClass()const \n4592 CRuntime* CPen::GetRuntimeClass()const \n4593 CRuntime* CPreviewDC::GetRuntimeClass()const \n4594 CRuntime* CPreviewView::GetRuntimeClass()const \n4595 CRuntime* CPrintDialog::GetRuntimeClass()const \n4596 CRuntime* CPrintDialogEx::GetRuntimeClass()const \n4597 CRuntime* CProgressCtrl::GetRuntimeClass()const \n4598 CRuntime* CPropertyPage::GetRuntimeClass()const \n4599 CRuntime* CPropertySheet::GetRuntimeClass()const \n4600 CRuntime* CPtrArray::GetRuntimeClass()const \n4601 CRuntime* CPtrList::GetRuntimeClass()const \n4602 CRuntime* CReBar::GetRuntimeClass()const \n4603 CRuntime* CReBarCtrl::GetRuntimeClass()const \n4604 CRuntime* CRecordset::GetRuntimeClass()const \n4605 CRuntime* CRecordView::GetRuntimeClass()const \n4606 CRuntime* CResourceException::GetRuntimeClass()const \n4607 CRuntime* CRgn::GetRuntimeClass()const \n4608 CRuntime* CRichEditCntrItem::GetRuntimeClass()const \n4609 CRuntime* CRichEditCtrl::GetRuntimeClass()const \n4610 CRuntime* CRichEditDoc::GetRuntimeClass()const \n4611 CRuntime* CRichEditView::GetRuntimeClass()const \n4612 CRuntime* CScrollBar::GetRuntimeClass()const \n4613 CRuntime* CScrollView::GetRuntimeClass()const \n4614 CRuntime* CSemaphore::GetRuntimeClass()const \n4615 CRuntime* CSharedFile::GetRuntimeClass()const \n4616 CRuntime* CSingleDocTemplate::GetRuntimeClass()const \n4617 CRuntime* CSliderCtrl::GetRuntimeClass()const \n4618 CRuntime* CSocket::GetRuntimeClass()const \n4619 CRuntime* CSocketFile::GetRuntimeClass()const \n4620 CRuntime* CSpinButtonCtrl::GetRuntimeClass()const \n4621 CRuntime* CSplitterWnd::GetRuntimeClass()const \n4622 CRuntime* CStatic::GetRuntimeClass()const \n4623 CRuntime* CStatusBar::GetRuntimeClass()const \n4624 CRuntime* CStatusBarCtrl::GetRuntimeClass()const \n4625 CRuntime* CStdioFile::GetRuntimeClass()const \n4626 CRuntime* CStringArray::GetRuntimeClass()const \n4627 CRuntime* CStringList::GetRuntimeClass()const \n4628 CRuntime* CSyncObject::GetRuntimeClass()const \n4629 CRuntime* CTabCtrl::GetRuntimeClass()const \n4630 CRuntime* CToolBar::GetRuntimeClass()const \n4631 CRuntime* CToolBarCtrl::GetRuntimeClass()const \n4632 CRuntime* CToolTipCtrl::GetRuntimeClass()const \n4633 CRuntime* CTreeCtrl::GetRuntimeClass()const \n4634 CRuntime* CTreeView::GetRuntimeClass()const \n4635 CRuntime* CUIntArray::GetRuntimeClass()const \n4636 CRuntime* CUserException::GetRuntimeClass()const \n4637 CRuntime* CView::GetRuntimeClass()const \n4638 CRuntime* CWinApp::GetRuntimeClass()const \n4639 CRuntime* CWindowDC::GetRuntimeClass()const \n4640 CRuntime* CWindowlessDC::GetRuntimeClass()const \n4641 CRuntime* CWinThread::GetRuntimeClass()const \n4642 CRuntime* CWnd::GetRuntimeClass()const \n4643 CRuntime* CWordArray::GetRuntimeClass()const \n4644 void * CGdiObject::GetSafeHandle()const \n4645 _IMAGELIST * CImageList::GetSafeHandle()const \n4646 HDC__ * CDC::GetSafeHdc()const \n4647 HMENU__ * CMenu::GetSafeHmenu()const \n4648 HWND__ * CWnd::GetSafeHwnd()const \n4649 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n4650 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n4651 unsigned long * CColorDialog::GetSavedCustomColors()\n4652 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName()const \n4653 CSize CDockState::GetScreenSize()\n4654 CScrollBar * CView::GetScrollBarCtrl(int)const \n4655 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n4656 void CScrollView::GetScrollBarSizes(CSize &)\n4657 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n4658 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n4659 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n4660 int CScrollBar::GetScrollLimit()\n4661 int CWnd::GetScrollLimit(int)\n4662 int CScrollBar::GetScrollPos()const \n4663 int CWnd::GetScrollPos(int)const \n4664 CPoint CScrollView::GetScrollPosition()const \n4665 void CScrollBar::GetScrollRange(int *,int *)const \n4666 void CWnd::GetScrollRange(int,int *,int *)const \n4667 unsigned long CSplitterWnd::GetScrollStyle()const \n4668 unsigned int CTreeCtrl::GetScrollTime()const \n4669 CPropertySection * CPropertySet::GetSection(_GUID)\n4670 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n4671 wchar_t const * CPropertySection::GetSectionName()\n4672 unsigned long CEdit::GetSel()const \n4673 void CEdit::GetSel(int &,int &)const \n4674 int CListBox::GetSel(int)const \n4675 void CRichEditCtrl::GetSel(long &,long &)const \n4676 void CRichEditCtrl::GetSel(_charrange &)const \n4677 int CListBox::GetSelCount()const \n4678 unsigned int CListCtrl::GetSelectedCount()const \n4679 CRichEditCntrItem * CRichEditView::GetSelectedItem()const \n4680 _TREEITEM * CTreeCtrl::GetSelectedItem()const \n4681 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4682 void CSliderCtrl::GetSelection(int &,int &)const \n4683 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n4684 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n4685 int CListCtrl::GetSelectionMark()\n4686 unsigned int COleBusyDialog::GetSelectionType()const \n4687 unsigned int COleConvertDialog::GetSelectionType()const \n4688 unsigned int COleInsertDialog::GetSelectionType()const \n4689 unsigned int COlePasteSpecialDialog::GetSelectionType()const \n4690 unsigned short CRichEditCtrl::GetSelectionType()const \n4691 int CListBox::GetSelItems(int,int *)const \n4692 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n4693 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n4694 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4695 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText()const \n4696 long CRichEditCtrl::GetSelText(char *)const \n4697 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CInternetConnection::GetServerName()const \n4698 CInternetSession * CInternetConnection::GetSession()const \n4699 int CHtmlView::GetSilent()const \n4700 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n4701 int CByteArray::GetSize()const \n4702 int CDWordArray::GetSize()const \n4703 int CFontDialog::GetSize()const \n4704 int CMapPtrToPtr::GetSize()const \n4705 int CMapPtrToWord::GetSize()const \n4706 int CMapStringToOb::GetSize()const \n4707 int CMapStringToPtr::GetSize()const \n4708 int CMapStringToString::GetSize()const \n4709 int CMapWordToOb::GetSize()const \n4710 int CMapWordToPtr::GetSize()const \n4711 int CObArray::GetSize()const \n4712 int CObList::GetSize()const \n4713 unsigned long CPropertySection::GetSize()\n4714 int CPtrArray::GetSize()const \n4715 int CPtrList::GetSize()const \n4716 int CStringArray::GetSize()const \n4717 int CStringList::GetSize()const \n4718 int CUIntArray::GetSize()const \n4719 int CWordArray::GetSize()const \n4720 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n4721 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n4722 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n4723 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n4724 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n4725 CWnd * CSplitterWnd::GetSizingParent()\n4726 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4727 int CAsyncSocket::GetSockName(sockaddr *,int *)\n4728 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n4729 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4730 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetSQL()const \n4731 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n4732 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n4733 wchar_t const * CHtmlEditCtrl::GetStartDocument()\n4734 wchar_t const * CHtmlEditView::GetStartDocument()\n4735 __POSITION * CConnectionPoint::GetStartPosition()const \n4736 __POSITION * CFileDialog::GetStartPosition()const \n4737 __POSITION * CMapPtrToPtr::GetStartPosition()const \n4738 __POSITION * CMapPtrToWord::GetStartPosition()const \n4739 __POSITION * CMapStringToOb::GetStartPosition()const \n4740 __POSITION * CMapStringToPtr::GetStartPosition()const \n4741 __POSITION * CMapStringToString::GetStartPosition()const \n4742 __POSITION * CMapWordToOb::GetStartPosition()const \n4743 __POSITION * CMapWordToPtr::GetStartPosition()const \n4744 __POSITION * COleDocument::GetStartPosition()const \n4745 __POSITION * CRichEditDoc::GetStartPosition()const \n4746 unsigned int CButton::GetState()const \n4747 int CToolBarCtrl::GetState(int)const \n4748 int CFile::GetStatus(CFileStatus &)const \n4749 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n4750 int CMemFile::GetStatus(CFileStatus &)const \n4751 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus()const \n4752 int COleStreamFile::GetStatus(CFileStatus &)const \n4753 void CRecordset::GetStatus(CRecordsetStatus &)const \n4754 int CHtmlView::GetStatusBar()const \n4755 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl()const \n4756 unsigned long COleControl::GetStockEventMask()const \n4757 unsigned long COleControl::GetStockPropMask()const \n4758 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n4759 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName()const \n4760 IStream * COleStreamFile::GetStream()const \n4761 int CRichEditDoc::GetStreamFormat()const \n4762 int CDC::GetStretchBltMode()const \n4763 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString()const \n4764 char const * ATL::CSimpleStringT<char,1>::GetString()const \n4765 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4766 int CToolBarCtrl::GetString(int,wchar_t *,int)const \n4767 int CListCtrl::GetStringWidth(wchar_t const *)const \n4768 unsigned long COleControlSite::GetStyle()const \n4769 unsigned long COleControlSiteOrWnd::GetStyle()const \n4770 unsigned long CToolBarCtrl::GetStyle()const \n4771 unsigned long CWnd::GetStyle()const \n4772 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetStyleName()const \n4773 int CListCtrl::GetSubItemRect(int,int,int,CRect &)\n4774 CMenu * CMenu::GetSubMenu(int)const \n4775 long (__stdcall** CWnd::GetSuperWndProcAddr())(HWND__ *,unsigned int,unsigned int,long)\n4776 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n4777 CMenu * CWnd::GetSystemMenu(int)const \n4778 CSize CDC::GetTabbedTextExtentW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4779 CSize CDC::GetTabbedTextExtentW(wchar_t const *,int,int,int *)const \n4780 CTabCtrl * CPropertySheet::GetTabControl()const \n4781 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetTableName()const \n4782 CObject * & CObList::GetTail()\n4783 CObject const * CObList::GetTail()const \n4784 void * & CPtrList::GetTail()\n4785 void const * CPtrList::GetTail()const \n4786 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetTail()\n4787 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetTail()const \n4788 __POSITION * CObList::GetTailPosition()const \n4789 __POSITION * CPtrList::GetTailPosition()const \n4790 __POSITION * CStringList::GetTailPosition()const \n4791 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n4792 int CListBox::GetText(int,wchar_t *)const \n4793 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4794 wchar_t * COleControl::GetText()\n4795 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n4796 int CStatusBarCtrl::GetText(wchar_t *,int,int *)const \n4797 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n4798 unsigned int CDC::GetTextAlign()const \n4799 unsigned long CListCtrl::GetTextBkColor()const \n4800 int CDC::GetTextCharacterExtra()const \n4801 unsigned long CDC::GetTextColor()const \n4802 unsigned long CListCtrl::GetTextColor()const \n4803 unsigned long CReBarCtrl::GetTextColor()const \n4804 unsigned long CTreeCtrl::GetTextColor()const \n4805 CSize CDC::GetTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4806 CSize CDC::GetTextExtent(wchar_t const *,int)const \n4807 int CDC::GetTextFaceW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4808 int CDC::GetTextFaceW(int,wchar_t *)const \n4809 int CListBox::GetTextLen(int)const \n4810 long CRecordset::GetTextLen(short,unsigned long)\n4811 long CRichEditCtrl::GetTextLength()const \n4812 long CRichEditView::GetTextLength()const \n4813 int CStatusBarCtrl::GetTextLength(int,int *)const \n4814 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n4815 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n4816 int CDC::GetTextMetricsW(tagTEXTMETRICW *)const \n4817 unsigned int CRichEditCtrl::GetTextMode()const \n4818 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4819 int CHtmlView::GetTheaterMode()const \n4820 CRuntime* CAnimateCtrl::GetThisClass()\n4821 CRuntime* CArchiveException::GetThisClass()\n4822 CRuntime* CAsyncMonikerFile::GetThisClass()\n4823 CRuntime* CAsyncSocket::GetThisClass()\n4824 CRuntime* CBitmap::GetThisClass()\n4825 CRuntime* CBitmapButton::GetThisClass()\n4826 CRuntime* CBrush::GetThisClass()\n4827 CRuntime* CButton::GetThisClass()\n4828 CRuntime* CByteArray::GetThisClass()\n4829 CRuntime* CCachedDataPathProperty::GetThisClass()\n4830 CRuntime* CCheckListBox::GetThisClass()\n4831 CRuntime* CClientDC::GetThisClass()\n4832 CRuntime* CCmdTarget::GetThisClass()\n4833 CRuntime* CColorDialog::GetThisClass()\n4834 CRuntime* CComboBox::GetThisClass()\n4835 CRuntime* CComboBoxEx::GetThisClass()\n4836 CRuntime* CControlBar::GetThisClass()\n4837 CRuntime* CCriticalSection::GetThisClass()\n4838 CRuntime* CCtrlView::GetThisClass()\n4839 CRuntime* CDatabase::GetThisClass()\n4840 CRuntime* CDataPathProperty::GetThisClass()\n4841 CRuntime* CDateTimeCtrl::GetThisClass()\n4842 CRuntime* CDBException::GetThisClass()\n4843 CRuntime* CDC::GetThisClass()\n4844 CRuntime* CDHtmlDialog::GetThisClass()\n4845 CRuntime* CDialog::GetThisClass()\n4846 CRuntime* CDialogBar::GetThisClass()\n4847 CRuntime* CDocItem::GetThisClass()\n4848 CRuntime* CDockBar::GetThisClass()\n4849 CRuntime* CDockState::GetThisClass()\n4850 CRuntime* CDocManager::GetThisClass()\n4851 CRuntime* CDocObjectServer::GetThisClass()\n4852 CRuntime* CDocObjectServerItem::GetThisClass()\n4853 CRuntime* CDocTemplate::GetThisClass()\n4854 CRuntime* CDocument::GetThisClass()\n4855 CRuntime* CDragListBox::GetThisClass()\n4856 CRuntime* CDWordArray::GetThisClass()\n4857 CRuntime* CDynLinkLibrary::GetThisClass()\n4858 CRuntime* CEdit::GetThisClass()\n4859 CRuntime* CEditView::GetThisClass()\n4860 CRuntime* CEvent::GetThisClass()\n4861 CRuntime* CException::GetThisClass()\n4862 CRuntime* CFile::GetThisClass()\n4863 CRuntime* CFileDialog::GetThisClass()\n4864 CRuntime* CFileException::GetThisClass()\n4865 CRuntime* CFileFind::GetThisClass()\n4866 CRuntime* CFindReplaceDialog::GetThisClass()\n4867 CRuntime* CFont::GetThisClass()\n4868 CRuntime* CFontDialog::GetThisClass()\n4869 CRuntime* CFormView::GetThisClass()\n4870 CRuntime* CFrameWnd::GetThisClass()\n4871 CRuntime* CFtpConnection::GetThisClass()\n4872 CRuntime* CFtpFileFind::GetThisClass()\n4873 CRuntime* CGdiObject::GetThisClass()\n4874 CRuntime* CGopherConnection::GetThisClass()\n4875 CRuntime* CGopherFile::GetThisClass()\n4876 CRuntime* CGopherFileFind::GetThisClass()\n4877 CRuntime* CHeaderCtrl::GetThisClass()\n4878 CRuntime* CHotKeyCtrl::GetThisClass()\n4879 CRuntime* CHtmlEditDoc::GetThisClass()\n4880 CRuntime* CHtmlEditView::GetThisClass()\n4881 CRuntime* CHtmlView::GetThisClass()\n4882 CRuntime* CHttpConnection::GetThisClass()\n4883 CRuntime* CHttpFile::GetThisClass()\n4884 CRuntime* CImageList::GetThisClass()\n4885 CRuntime* CInternetConnection::GetThisClass()\n4886 CRuntime* CInternetException::GetThisClass()\n4887 CRuntime* CInternetFile::GetThisClass()\n4888 CRuntime* CInternetSession::GetThisClass()\n4889 CRuntime* CInvalidArgException::GetThisClass()\n4890 CRuntime* CIPAddressCtrl::GetThisClass()\n4891 CRuntime* CLinkCtrl::GetThisClass()\n4892 CRuntime* CListBox::GetThisClass()\n4893 CRuntime* CListCtrl::GetThisClass()\n4894 CRuntime* CListView::GetThisClass()\n4895 CRuntime* CLongBinary::GetThisClass()\n4896 CRuntime* CMapPtrToPtr::GetThisClass()\n4897 CRuntime* CMapPtrToWord::GetThisClass()\n4898 CRuntime* CMapStringToOb::GetThisClass()\n4899 CRuntime* CMapStringToPtr::GetThisClass()\n4900 CRuntime* CMapStringToString::GetThisClass()\n4901 CRuntime* CMapWordToOb::GetThisClass()\n4902 CRuntime* CMapWordToPtr::GetThisClass()\n4903 CRuntime* CMDIChildWnd::GetThisClass()\n4904 CRuntime* CMDIFrameWnd::GetThisClass()\n4905 CRuntime* CMemFile::GetThisClass()\n4906 CRuntime* CMemoryException::GetThisClass()\n4907 CRuntime* CMenu::GetThisClass()\n4908 CRuntime* CMetaFileDC::GetThisClass()\n4909 CRuntime* CMiniDockFrameWnd::GetThisClass()\n4910 CRuntime* CMiniFrameWnd::GetThisClass()\n4911 CRuntime* CMonikerFile::GetThisClass()\n4912 CRuntime* CMonthCalCtrl::GetThisClass()\n4913 CRuntime* CMultiDocTemplate::GetThisClass()\n4914 CRuntime* CMultiPageDHtmlDialog::GetThisClass()\n4915 CRuntime* CMutex::GetThisClass()\n4916 CRuntime* CNotSupportedException::GetThisClass()\n4917 CRuntime* CObArray::GetThisClass()\n4918 CRuntime* CObject::GetThisClass()\n4919 CRuntime* CObList::GetThisClass()\n4920 CRuntime* COleBusyDialog::GetThisClass()\n4921 CRuntime* COleChangeIconDialog::GetThisClass()\n4922 CRuntime* COleChangeSourceDialog::GetThisClass()\n4923 CRuntime* COleClientItem::GetThisClass()\n4924 CRuntime* COleControl::GetThisClass()\n4925 CRuntime* COleControlModule::GetThisClass()\n4926 CRuntime* COleConvertDialog::GetThisClass()\n4927 CRuntime* COleDBRecordView::GetThisClass()\n4928 CRuntime* COleDialog::GetThisClass()\n4929 CRuntime* COleDispatchException::GetThisClass()\n4930 CRuntime* COleDocIPFrameWnd::GetThisClass()\n4931 CRuntime* COleDocObjectItem::GetThisClass()\n4932 CRuntime* COleDocument::GetThisClass()\n4933 CRuntime* COleException::GetThisClass()\n4934 CRuntime* COleInsertDialog::GetThisClass()\n4935 CRuntime* COleIPFrameWnd::GetThisClass()\n4936 CRuntime* COleLinkingDoc::GetThisClass()\n4937 CRuntime* COleLinksDialog::GetThisClass()\n4938 CRuntime* COleObjectFactory::GetThisClass()\n4939 CRuntime* COlePasteSpecialDialog::GetThisClass()\n4940 CRuntime* COlePropertiesDialog::GetThisClass()\n4941 CRuntime* COlePropertyPage::GetThisClass()\n4942 CRuntime* COleResizeBar::GetThisClass()\n4943 CRuntime* COleServerDoc::GetThisClass()\n4944 CRuntime* COleServerItem::GetThisClass()\n4945 CRuntime* COleStreamFile::GetThisClass()\n4946 CRuntime* COleUpdateDialog::GetThisClass()\n4947 CRuntime* CPageSetupDialog::GetThisClass()\n4948 CRuntime* CPaintDC::GetThisClass()\n4949 CRuntime* CPalette::GetThisClass()\n4950 CRuntime* CPen::GetThisClass()\n4951 CRuntime* CPreviewDC::GetThisClass()\n4952 CRuntime* CPreviewView::GetThisClass()\n4953 CRuntime* CPrintDialog::GetThisClass()\n4954 CRuntime* CPrintDialogEx::GetThisClass()\n4955 CRuntime* CProgressCtrl::GetThisClass()\n4956 CRuntime* CPropertyPage::GetThisClass()\n4957 CRuntime* CPropertySheet::GetThisClass()\n4958 CRuntime* CPtrArray::GetThisClass()\n4959 CRuntime* CPtrList::GetThisClass()\n4960 CRuntime* CReBar::GetThisClass()\n4961 CRuntime* CReBarCtrl::GetThisClass()\n4962 CRuntime* CRecordset::GetThisClass()\n4963 CRuntime* CRecordView::GetThisClass()\n4964 CRuntime* CResourceException::GetThisClass()\n4965 CRuntime* CRgn::GetThisClass()\n4966 CRuntime* CRichEditCntrItem::GetThisClass()\n4967 CRuntime* CRichEditCtrl::GetThisClass()\n4968 CRuntime* CRichEditDoc::GetThisClass()\n4969 CRuntime* CRichEditView::GetThisClass()\n4970 CRuntime* CScrollBar::GetThisClass()\n4971 CRuntime* CScrollView::GetThisClass()\n4972 CRuntime* CSemaphore::GetThisClass()\n4973 CRuntime* CSharedFile::GetThisClass()\n4974 CRuntime* CSingleDocTemplate::GetThisClass()\n4975 CRuntime* CSliderCtrl::GetThisClass()\n4976 CRuntime* CSocket::GetThisClass()\n4977 CRuntime* CSocketFile::GetThisClass()\n4978 CRuntime* CSpinButtonCtrl::GetThisClass()\n4979 CRuntime* CSplitterWnd::GetThisClass()\n4980 CRuntime* CStatic::GetThisClass()\n4981 CRuntime* CStatusBar::GetThisClass()\n4982 CRuntime* CStatusBarCtrl::GetThisClass()\n4983 CRuntime* CStdioFile::GetThisClass()\n4984 CRuntime* CStringArray::GetThisClass()\n4985 CRuntime* CStringList::GetThisClass()\n4986 CRuntime* CSyncObject::GetThisClass()\n4987 CRuntime* CTabCtrl::GetThisClass()\n4988 CRuntime* CToolBar::GetThisClass()\n4989 CRuntime* CToolBarCtrl::GetThisClass()\n4990 CRuntime* CToolTipCtrl::GetThisClass()\n4991 CRuntime* CTreeCtrl::GetThisClass()\n4992 CRuntime* CTreeView::GetThisClass()\n4993 CRuntime* CUIntArray::GetThisClass()\n4994 CRuntime* CUserException::GetThisClass()\n4995 CRuntime* CView::GetThisClass()\n4996 CRuntime* CWinApp::GetThisClass()\n4997 CRuntime* CWindowDC::GetThisClass()\n4998 CRuntime* CWindowlessDC::GetThisClass()\n4999 CRuntime* CWinThread::GetThisClass()\n5000 CRuntime* CWnd::GetThisClass()\n5001 CRuntime* CWordArray::GetThisClass()\n5002 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap()\n5003 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap()\n5004 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap()\n5005 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap()\n5006 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap()\n5007 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap()\n5008 AFX_EVENTMAP const * COleControl::GetThisEventMap()\n5009 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap()\n5010 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap()\n5011 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap()\n5012 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap()\n5013 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap()\n5014 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap()\n5015 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap()\n5016 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap()\n5017 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap()\n5018 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap()\n5019 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap()\n5020 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap()\n5021 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap()\n5022 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap()\n5023 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap()\n5024 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap()\n5025 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap()\n5026 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap()\n5027 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap()\n5028 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap()\n5029 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap()\n5030 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap()\n5031 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap()\n5032 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap()\n5033 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap()\n5034 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap()\n5035 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap()\n5036 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap()\n5037 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap()\n5038 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap()\n5039 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap()\n5040 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap()\n5041 AFX_MSGMAP const * CControlBar::GetThisMessageMap()\n5042 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap()\n5043 AFX_MSGMAP const * CCtrlView::GetThisMessageMap()\n5044 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap()\n5045 AFX_MSGMAP const * CDialog::GetThisMessageMap()\n5046 AFX_MSGMAP const * CDialogBar::GetThisMessageMap()\n5047 AFX_MSGMAP const * CDockBar::GetThisMessageMap()\n5048 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap()\n5049 AFX_MSGMAP const * CDocument::GetThisMessageMap()\n5050 AFX_MSGMAP const * CEditView::GetThisMessageMap()\n5051 AFX_MSGMAP const * CFormView::GetThisMessageMap()\n5052 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap()\n5053 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap()\n5054 AFX_MSGMAP const * CHtmlView::GetThisMessageMap()\n5055 AFX_MSGMAP const * CListCtrl::GetThisMessageMap()\n5056 AFX_MSGMAP const * CListView::GetThisMessageMap()\n5057 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap()\n5058 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap()\n5059 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap()\n5060 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap()\n5061 AFX_MSGMAP const * COleControl::GetThisMessageMap()\n5062 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap()\n5063 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap()\n5064 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap()\n5065 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap()\n5066 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap()\n5067 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap()\n5068 AFX_MSGMAP const * CPreviewView::GetThisMessageMap()\n5069 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap()\n5070 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap()\n5071 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap()\n5072 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap()\n5073 AFX_MSGMAP const * CReBar::GetThisMessageMap()\n5074 AFX_MSGMAP const * CRecordView::GetThisMessageMap()\n5075 AFX_MSGMAP const * CRichEditView::GetThisMessageMap()\n5076 AFX_MSGMAP const * CScrollView::GetThisMessageMap()\n5077 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap()\n5078 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap()\n5079 AFX_MSGMAP const * CStatusBar::GetThisMessageMap()\n5080 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap()\n5081 AFX_MSGMAP const * CToolBar::GetThisMessageMap()\n5082 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap()\n5083 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap()\n5084 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap()\n5085 AFX_MSGMAP const * CTreeView::GetThisMessageMap()\n5086 AFX_MSGMAP const * CView::GetThisMessageMap()\n5087 AFX_MSGMAP const * CWinApp::GetThisMessageMap()\n5088 AFX_MSGMAP const * CWnd::GetThisMessageMap()\n5089 int CWinThread::GetThreadPriority()\n5090 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5091 int CSliderCtrl::GetTic(int)const \n5092 unsigned long * CSliderCtrl::GetTicArray()const \n5093 int CSliderCtrl::GetTicPos(int)const \n5094 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5095 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5096 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5097 unsigned long CToolTipCtrl::GetTipBkColor()const \n5098 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n5099 unsigned long CToolTipCtrl::GetTipTextColor()const \n5100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetTitle()const \n5101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFrameWnd::GetTitle()const \n5102 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5103 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5104 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5105 int CHtmlView::GetToolBar()const \n5106 CToolBarCtrl & CToolBar::GetToolBarCtrl()const \n5107 int CToolTipCtrl::GetToolCount()const \n5108 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5109 CToolTipCtrl * CListCtrl::GetToolTips()const \n5110 CToolTipCtrl * CReBarCtrl::GetToolTips()const \n5111 CToolTipCtrl * CSliderCtrl::GetToolTips()const \n5112 CToolTipCtrl * CTabCtrl::GetToolTips()const \n5113 CToolTipCtrl * CToolBarCtrl::GetToolTips()const \n5114 CToolTipCtrl * CTreeCtrl::GetToolTips()const \n5115 long CHtmlView::GetTop()const \n5116 int CPrintDialog::GetToPage()const \n5117 unsigned int CPrintInfo::GetToPage()const \n5118 int CComboBox::GetTopIndex()const \n5119 int CListBox::GetTopIndex()const \n5120 int CListCtrl::GetTopIndex()const \n5121 int CHtmlView::GetTopLevelContainer()const \n5122 CFrameWnd * CWnd::GetTopLevelFrame()const \n5123 CWnd * CWnd::GetTopLevelOwner()const \n5124 CWnd * CWnd::GetTopLevelParent()const \n5125 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetToPrefix()\n5126 CWnd * CWnd::GetTopWindow()const \n5127 CSize CScrollView::GetTotalSize()const \n5128 CTreeCtrl & CTreeView::GetTreeCtrl()const \n5129 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5130 void CRectTracker::GetTrueRect(tagRECT *)const \n5131 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType()const \n5132 enum OLE_OBJTYPE COleClientItem::GetType()const \n5133 short CPictureHolder::GetType()\n5134 unsigned long CProperty::GetType()\n5135 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5136 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5137 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5138 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5139 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5140 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5141 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5142 unsigned int CCmdTarget::GetTypeInfoCount()\n5143 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5144 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5145 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5146 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5147 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5148 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5149 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5150 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5151 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5152 CTypeLibCache * CCmdTarget::GetTypeLibCache()\n5153 void COleSafeArray::GetUBound(unsigned long,long *)\n5154 enum _undonameid CRichEditCtrl::GetUndoName()const \n5155 int CWnd::GetUpdateRect(tagRECT *,int)\n5156 int CWnd::GetUpdateRgn(CRgn *,int)\n5157 int CByteArray::GetUpperBound()const \n5158 int CDWordArray::GetUpperBound()const \n5159 int CObArray::GetUpperBound()const \n5160 int CPtrArray::GetUpperBound()const \n5161 int CStringArray::GetUpperBound()const \n5162 int CUIntArray::GetUpperBound()const \n5163 int CWordArray::GetUpperBound()const \n5164 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5165 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5166 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5167 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5168 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5169 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5170 void COleControl::GetUserType(wchar_t *)\n5171 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5172 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5173 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5174 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5175 void * CMapPtrToPtr::GetValueAt(void *)const \n5176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb()const \n5177 unsigned long CDockState::GetVersion()\n5178 unsigned long CPropExchange::GetVersion()\n5179 CHtmlEditView * CHtmlEditDoc::GetView()const \n5180 CRichEditView * CRichEditDoc::GetView()const \n5181 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5182 CSize CDC::GetViewportExt()const \n5183 CPoint CDC::GetViewportOrg()const \n5184 int CListCtrl::GetViewRect(tagRECT *)const \n5185 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5186 int CHtmlView::GetVisible()const \n5187 unsigned int CTreeCtrl::GetVisibleCount()const \n5188 int CFontDialog::GetWeight()const \n5189 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5190 long CHtmlView::GetWidth()const \n5191 CWnd * CDC::GetWindow()const \n5192 CWnd * CWnd::GetWindow(unsigned int)const \n5193 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5194 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5195 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5196 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5197 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5198 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5199 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5200 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5201 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5202 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5203 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5204 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5205 unsigned long CWnd::GetWindowContextHelpId()const \n5206 CDC * CWnd::GetWindowDC()\n5207 long CWnd::GetWindowedChildCount()\n5208 CSize CDC::GetWindowExt()const \n5209 long CWnd::GetWindowLessChildCount()\n5210 IDropTarget * COleControl::GetWindowlessDropTarget()\n5211 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5212 CPoint CDC::GetWindowOrg()const \n5213 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5214 void CWnd::GetWindowRect(tagRECT *)const \n5215 int CWnd::GetWindowRgn(HRGN__ *)const \n5216 int CWnd::GetWindowTextLengthW()const \n5217 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5218 int CWnd::GetWindowTextW(wchar_t *,int)const \n5219 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5220 unsigned int CRichEditCtrl::GetWordWrapMode()const \n5221 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5222 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5223 long COleDropSource::GiveFeedback(unsigned long)\n5224 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5225 void CHtmlView::GoBack()\n5226 void CHtmlView::GoForward()\n5227 void CHtmlView::GoHome()\n5228 void CHtmlView::GoSearch()\n5229 void CDialog::GotoDlgCtrl(CWnd *)\n5230 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5231 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5232 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5233 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5234 void CMemFile::GrowFile(unsigned long)\n5235 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5236 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5237 long CDialog::HandleInitDialog(unsigned int,long)\n5238 long CDialogBar::HandleInitDialog(unsigned int,long)\n5239 long CFormView::HandleInitDialog(unsigned int,long)\n5240 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5241 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5242 long CScrollView::HandleMButtonDown(unsigned int,long)\n5243 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5244 int COleControlContainer::HandleSetFocus()\n5245 long CDialog::HandleSetFont(unsigned int,long)\n5246 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5247 long COleControl::XPersistStorage::HandsOffStorage()\n5248 long COleServerDoc::XPersistStorage::HandsOffStorage()\n5249 int COleDocument::HasBlankItems()const \n5250 int CComboBoxEx::HasEditChanged()\n5251 int CDialogTemplate::HasFont()const \n5252 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5253 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n5254 void * CFile::hFileNull\n5255 void CWinApp::HideApplication()\n5256 int CToolBarCtrl::HideButton(int,int)\n5257 void CWnd::HideCaret()\n5258 void CFileDialog::HideControl(int)\n5259 void CRichEditCtrl::HideSelection(int,int)\n5260 long CBrowserControlSite::HideUI()\n5261 long CDHtmlDialog::HideUI()\n5262 long CHtmlControlSite::XDocHostUIHandler::HideUI()\n5263 int CTabCtrl::HighlightItem(int,int)\n5264 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5265 void CDC::HIMETRICtoDP(tagSIZE *)const \n5266 void CDC::HIMETRICtoLP(tagSIZE *)const \n5267 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5268 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5269 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5270 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5271 int CRectTracker::HitTest(CPoint)const \n5272 int CSplitterWnd::HitTest(CPoint)const \n5273 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5274 int CToolBarCtrl::HitTest(tagPOINT *)const \n5275 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n5276 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5277 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5278 int CRectTracker::HitTestHandles(CPoint)const \n5279 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n5280 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n5281 int CSplitterWnd::IdFromRowCol(int,int)const \n5282 int CReBarCtrl::IDToIndex(unsigned int)const \n5283 void COlePropertyPage::IgnoreApply(unsigned int)\n5284 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5285 int CToolBarCtrl::Indeterminate(int,int)\n5286 int CCriticalSection::Init()\n5287 int CWinApp::InitApplication()\n5288 long COleControl::XOleCache::InitCache(IDataObject *)\n5289 int CWnd::InitControlContainer(int)\n5290 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5291 long CPrintDialogEx::InitDone()\n5292 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5293 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5294 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5295 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5296 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5297 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5298 void CMapStringToOb::InitHashTable(unsigned int,int)\n5299 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5300 void CMapStringToString::InitHashTable(unsigned int,int)\n5301 void CMapWordToOb::InitHashTable(unsigned int,int)\n5302 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5303 long CDataSourceControl::Initialize()\n5304 void CDHtmlDialog::Initialize()\n5305 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5306 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5307 int CEditView::InitializeReplace()\n5308 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5309 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5310 int COleControlModule::InitInstance()\n5311 int CWinApp::InitInstance()\n5312 int CWinThread::InitInstance()\n5313 void CWinApp::InitLibId()\n5314 void CDockContext::InitLoop()\n5315 int CDialog::InitModalIndirect(void *,CWnd *)\n5316 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5317 long COleControl::XPersistMemory::InitNew()\n5318 long COleControl::XPersistPropertyBag::InitNew()\n5319 long COleControl::XPersistStorage::InitNew(IStorage *)\n5320 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5321 long COleControl::XPersistStreamInit::InitNew()\n5322 void CRecordset::InitRecord()\n5323 void COleControl::InitStockEventMask()\n5324 void COleControl::InitStockPropMask()\n5325 int CComboBox::InitStorage(int,unsigned int)\n5326 int CListBox::InitStorage(int,unsigned int)\n5327 void CSimpleException::InitString()\n5328 int CFrameWnd::InModalState()const \n5329 long COleControl::XOleInPlaceObject::InPlaceDeactivate()\n5330 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate()\n5331 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5332 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5333 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5334 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5335 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5336 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5337 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5338 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5339 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n5340 void CByteArray::InsertAt(int,unsigned char,int)\n5341 void CByteArray::InsertAt(int,CByteArray *)\n5342 void CDWordArray::InsertAt(int,unsigned long,int)\n5343 void CDWordArray::InsertAt(int,CDWordArray *)\n5344 void CObArray::InsertAt(int,CObArray *)\n5345 void CObArray::InsertAt(int,CObject *,int)\n5346 void CPtrArray::InsertAt(int,CPtrArray *)\n5347 void CPtrArray::InsertAt(int,void *,int)\n5348 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n5349 void CStringArray::InsertAt(int,CStringArray const *)\n5350 void CStringArray::InsertAt(int,wchar_t const *,int)\n5351 void CUIntArray::InsertAt(int,unsigned int,int)\n5352 void CUIntArray::InsertAt(int,CUIntArray *)\n5353 void CWordArray::InsertAt(int,unsigned short,int)\n5354 void CWordArray::InsertAt(int,CWordArray *)\n5355 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOW *)\n5356 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5357 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5358 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5359 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n5360 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5361 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n5362 int CListCtrl::InsertColumn(int,tagLVCOLUMNW const *)\n5363 void CStringArray::InsertEmpty(int,int)\n5364 void CRichEditView::InsertFileAsObject(wchar_t const *)\n5365 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n5366 int CHeaderCtrl::InsertItem(int,_HD_ITEMW *)\n5367 int CListCtrl::InsertItem(int,wchar_t const *)\n5368 int CListCtrl::InsertItem(int,wchar_t const *,int)\n5369 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n5370 int CListCtrl::InsertItem(tagLVITEMW const *)\n5371 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5372 long CTabCtrl::InsertItem(int,tagTCITEMW *)\n5373 long CTabCtrl::InsertItem(int,wchar_t const *)\n5374 long CTabCtrl::InsertItem(int,wchar_t const *,int)\n5375 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n5376 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n5377 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5378 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTW *)\n5379 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,int,int,_TREEITEM *,_TREEITEM *)\n5380 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,_TREEITEM *,_TREEITEM *)\n5381 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5382 int CMenu::InsertMenuItemW(unsigned int,tagMENUITEMINFOW *,int)\n5383 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5384 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5385 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5386 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5387 int CComboBox::InsertString(int,wchar_t const *)\n5388 int CComboBoxEx::InsertString(int,wchar_t const *)\n5389 int CListBox::InsertString(int,wchar_t const *)\n5390 unsigned long CCmdTarget::InternalAddRef()\n5391 CFontHolder & COleControl::InternalGetFont()\n5392 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText()\n5393 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5394 unsigned long CCmdTarget::InternalRelease()\n5395 void COleControl::InternalSetReadyState(long)\n5396 int CDC::IntersectClipRect(int,int,int,int)\n5397 int CDC::IntersectClipRect(tagRECT const *)\n5398 void CWnd::Invalidate(int)\n5399 void CCheckListBox::InvalidateCheck(int)\n5400 void COleControl::InvalidateControl(tagRECT const *,int)\n5401 void CCheckListBox::InvalidateItem(int)\n5402 void CRichEditDoc::InvalidateObjectCache()\n5403 void CWnd::InvalidateRect(tagRECT const *,int)\n5404 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5405 void COleControl::InvalidateRgn(CRgn *,int)\n5406 void CWnd::InvalidateRgn(CRgn *,int)\n5407 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5408 void CDC::InvertRect(tagRECT const *)\n5409 int CDC::InvertRgn(CRgn *)\n5410 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5411 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5412 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5413 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5414 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5415 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5416 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5417 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5418 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5419 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5420 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5421 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5422 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5423 int CAsyncSocket::IOCtl(long,unsigned long *)\n5424 int CFileFind::IsArchived()const \n5425 int CPropExchange::IsAsynchronous()\n5426 int CDocItem::IsBlank()const \n5427 int CIPAddressCtrl::IsBlank()const \n5428 int COleServerItem::IsBlank()const \n5429 int CSocket::IsBlocking()\n5430 int CRecordset::IsBOF()const \n5431 int CFontDialog::IsBold()const \n5432 int CArchive::IsBufferEmpty()const \n5433 int CToolBarCtrl::IsButtonChecked(int)const \n5434 int CPropertyPage::IsButtonEnabled(int)\n5435 int CToolBarCtrl::IsButtonEnabled(int)const \n5436 int CToolBarCtrl::IsButtonHidden(int)const \n5437 int CToolBarCtrl::IsButtonHighlighted(int)const \n5438 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5439 int CToolBarCtrl::IsButtonPressed(int)const \n5440 int CArchive::IsByteSwapping()const \n5441 int CWnd::IsChild(CWnd const *)const \n5442 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5443 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5444 int CFileFind::IsCompressed()const \n5445 int COleServerItem::IsConnected()const \n5446 int COleControl::IsConvertingVBX()\n5447 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5448 int COleControlSite::IsDefaultButton()\n5449 int CRecordset::IsDeleted()const \n5450 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5451 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n5452 int CWnd::IsDialogMessageW(tagMSG *)\n5453 int CFileFind::IsDirectory()const \n5454 long CBlobProperty::IsDirty()\n5455 long COleLinkingDoc::XPersistFile::IsDirty()\n5456 long COleControl::XPersistMemory::IsDirty()\n5457 long COleControl::XPersistStorage::IsDirty()\n5458 long COleServerDoc::XPersistStorage::IsDirty()\n5459 long COleControl::XPersistStreamInit::IsDirty()\n5460 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5461 unsigned int CWnd::IsDlgButtonChecked(int)const \n5462 int CControlBar::IsDockBar()const \n5463 int CDockBar::IsDockBar()const \n5464 int COleServerDoc::IsDocObject()const \n5465 int CFileFind::IsDots()const \n5466 int CGopherFileFind::IsDots()const \n5467 int COleServerDoc::IsEmbedded()const \n5468 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty()const \n5469 bool ATL::CSimpleStringT<char,1>::IsEmpty()const \n5470 int CByteArray::IsEmpty()const \n5471 int CDWordArray::IsEmpty()const \n5472 int CMapPtrToPtr::IsEmpty()const \n5473 int CMapPtrToWord::IsEmpty()const \n5474 int CMapStringToOb::IsEmpty()const \n5475 int CMapStringToPtr::IsEmpty()const \n5476 int CMapStringToString::IsEmpty()const \n5477 int CMapWordToOb::IsEmpty()const \n5478 int CMapWordToPtr::IsEmpty()const \n5479 int CObArray::IsEmpty()const \n5480 int CObList::IsEmpty()const \n5481 int CPtrArray::IsEmpty()const \n5482 int CPtrList::IsEmpty()const \n5483 int CStringArray::IsEmpty()const \n5484 int CStringList::IsEmpty()const \n5485 int CUIntArray::IsEmpty()const \n5486 int CWordArray::IsEmpty()const \n5487 int CCheckListBox::IsEnabled(int)\n5488 int CRecordset::IsEOF()const \n5489 int CDHtmlDialog::IsExternalDispatchSafe()\n5490 int CRecordset::IsFieldDirty(void *)\n5491 int CRecordset::IsFieldNull(void *)\n5492 int CRecordset::IsFieldNullable(void *)\n5493 int CRecordset::IsFieldNullable(unsigned long)const \n5494 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5495 int CRecordset::IsFieldStatusNull(unsigned long)const \n5496 int CFieldExchange::IsFieldType(unsigned int *)\n5497 int CControlBar::IsFloating()const \n5498 int CFrameWnd::IsFrameWnd()const \n5499 int CWnd::IsFrameWnd()const \n5500 int IsHelpKey(tagMSG *)\n5501 int CFileFind::IsHidden()const \n5502 int CWnd::IsIconic()const \n5503 int CWinThread::IsIdleMessage(tagMSG *)\n5504 int COleClientItem::IsInPlaceActive()const \n5505 int COleServerDoc::IsInPlaceActive()const \n5506 int CCmdTarget::IsInvokeAllowed(long)\n5507 int COleControl::IsInvokeAllowed(long)\n5508 int CFontDialog::IsItalic()const \n5509 int CRecordset::IsJoin(wchar_t const *)\n5510 int CObject::IsKindOf(CRuntimeconst *)const \n5511 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5512 int COccManager::IsLabelControl(CWnd *)\n5513 int COleObjectFactory::IsLicenseValid()\n5514 int COleServerItem::IsLinkedItem()const \n5515 int COleClientItem::IsLinkUpToDate()const \n5516 int CArchive::IsLoading()const \n5517 int CPropExchange::IsLoading()\n5518 int CMultiLock::IsLocked(unsigned long)\n5519 int CSingleLock::IsLocked()\n5520 int CRichEditCntrItem::IsMarked()\n5521 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5522 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5523 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5524 int CDocument::IsModified()\n5525 int CHtmlEditDoc::IsModified()\n5526 int COleClientItem::IsModified()const \n5527 int COleControl::IsModified()\n5528 int COlePropertyPage::IsModified()\n5529 int CRichEditDoc::IsModified()\n5530 int CFileFind::IsNormal()const \n5531 int CRecordView::IsOnFirstRecord()\n5532 int CRecordView::IsOnLastRecord()\n5533 int CDatabase::IsOpen()const \n5534 int COleClientItem::IsOpen()const \n5535 int CRecordset::IsOpen()const \n5536 int COleControl::IsOptimizedDraw()\n5537 long COlePropertyPage::XPropertyPage::IsPageDirty()\n5538 int CRecordset::IsParamStatusNull(unsigned long)const \n5539 int CDC::IsPrinting()const \n5540 int CFileFind::IsReadOnly()const \n5541 int CRecordset::IsRecordsetUpdatable()\n5542 int COleObjectFactory::IsRegistered()const \n5543 int CCmdTarget::IsResultExpected()\n5544 int CRichEditView::IsRichEditFormat(unsigned short)\n5545 int COleClientItem::IsRunning()const \n5546 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n5547 int CRichEditView::IsSelected(CObject const *)const \n5548 int CView::IsSelected(CObject const *)const \n5549 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n5550 int CObject::IsSerializable()const \n5551 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n5552 int CStatusBarCtrl::IsSimple()const \n5553 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n5554 int CRecordset::IsSQLUpdatable(wchar_t const *)\n5555 int CArchive::IsStoring()const \n5556 int CFontDialog::IsStrikeOut()const \n5557 int COleControl::IsSubclassedControl()\n5558 int CFileFind::IsSystem()const \n5559 int CFileFind::IsTemporary()const \n5560 int CFindReplaceDialog::IsTerminating()const \n5561 int CWnd::IsTopParentActive()const \n5562 int CFrameWnd::IsTracking()const \n5563 int CSplitterWnd::IsTracking()\n5564 int CFontDialog::IsUnderline()const \n5565 long CDocObjectServer::XOleObject::IsUpToDate()\n5566 long COleControl::XOleObject::IsUpToDate()\n5567 long COleServerDoc::XOleObject::IsUpToDate()\n5568 long COleServerItem::XOleObject::IsUpToDate()\n5569 int COleChangeSourceDialog::IsValidSource()\n5570 int CControlBar::IsVisible()const \n5571 int COleControlSite::IsWindowEnabled()const \n5572 int CWnd::IsWindowEnabled()const \n5573 int CWnd::IsWindowVisible()const \n5574 int CPropertySheet::IsWizard()const \n5575 int CWnd::IsZoomed()const \n5576 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n5577 int CDragListBox::ItemFromPt(CPoint,int)const \n5578 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n5579 void COleControl::KeyDown(unsigned short *)\n5580 void COleControl::KeyUp(unsigned short *)\n5581 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n5582 int CWnd::KillTimer(unsigned int)\n5583 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n5584 void CToolBar::Layout()\n5585 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n5586 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n5587 int CComboBox::LimitText(int)\n5588 void CEdit::LimitText(int)\n5589 void CRichEditCtrl::LimitText(long)\n5590 int CEdit::LineFromChar(int)const \n5591 long CRichEditCtrl::LineFromChar(long)const \n5592 int CEdit::LineIndex(int)const \n5593 int CRichEditCtrl::LineIndex(int)const \n5594 int CEdit::LineLength(int)const \n5595 int CRichEditCtrl::LineLength(int)const \n5596 void CEdit::LineScroll(int,int)\n5597 void CRichEditCtrl::LineScroll(int,int)\n5598 int CDC::LineTo(int,int)\n5599 int CDC::LineTo(tagPOINT)\n5600 int CAsyncSocket::Listen(int)\n5601 unsigned long CRichEditView::lMaxSize\n5602 long CBlobProperty::Load(IStream *)\n5603 int CDialogTemplate::Load(wchar_t const *)\n5604 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n5605 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n5606 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n5607 long COleControl::XPersistMemory::Load(void *,unsigned long)\n5608 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n5609 long COleControl::XPersistStorage::Load(IStorage *)\n5610 long COleServerDoc::XPersistStorage::Load(IStorage *)\n5611 long COleControl::XPersistStreamInit::Load(IStream *)\n5612 int CFrameWnd::LoadAccelTable(wchar_t const *)\n5613 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL()\n5614 void CFrameWnd::LoadBarState(wchar_t const *)\n5615 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n5616 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n5617 int CBitmap::LoadBitmapW(unsigned int)\n5618 int CBitmap::LoadBitmapW(wchar_t const *)\n5619 int CToolBar::LoadBitmapW(unsigned int)\n5620 int CToolBar::LoadBitmapW(wchar_t const *)\n5621 HICON__ * CWinApp::LoadCursorW(unsigned int)const \n5622 HICON__ * CWinApp::LoadCursorW(wchar_t const *)const \n5623 void CRecordset::LoadFields()\n5624 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5625 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5626 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5627 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n5628 int CDHtmlDialog::LoadFromResource(unsigned int)\n5629 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n5630 int CHtmlView::LoadFromResource(unsigned int)\n5631 int CHtmlView::LoadFromResource(wchar_t const *)\n5632 void COleDocument::LoadFromStorage()\n5633 HICON__ * CWinApp::LoadIconW(unsigned int)const \n5634 HICON__ * CWinApp::LoadIconW(wchar_t const *)const \n5635 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n5636 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n5637 int CMenu::LoadMenuIndirectW(void const *)\n5638 int CMenu::LoadMenuW(unsigned int)\n5639 int CMenu::LoadMenuW(wchar_t const *)\n5640 int CBitmap::LoadOEMBitmap(unsigned int)\n5641 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n5642 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n5643 HICON__ * CWinApp::LoadStandardCursor(wchar_t const *)const \n5644 HICON__ * CWinApp::LoadStandardIcon(wchar_t const *)const \n5645 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n5646 void CDockState::LoadState(wchar_t const *)\n5647 long COleControl::LoadState(IStream *)\n5648 void CWinApp::LoadStdProfileSettings(unsigned int)\n5649 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n5650 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n5651 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n5652 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n5653 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n5654 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n5655 int CWinApp::LoadSysPolicies()\n5656 void CDocTemplate::LoadTemplate()\n5657 void CMultiDocTemplate::LoadTemplate()\n5658 int CToolBar::LoadToolBar(unsigned int)\n5659 int CToolBar::LoadToolBar(wchar_t const *)\n5660 int CCriticalSection::Lock()\n5661 int CCriticalSection::Lock(unsigned long)\n5662 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n5663 void COleSafeArray::Lock()\n5664 int CSingleLock::Lock(unsigned long)\n5665 int CSyncObject::Lock(unsigned long)\n5666 void CTypeLibCache::Lock()\n5667 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer()\n5668 char * ATL::CSimpleStringT<char,1>::LockBuffer()\n5669 wchar_t const * CEditView::LockBuffer()const \n5670 long COleControlContainer::XOleContainer::LockContainer(int)\n5671 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n5672 void COleLinkingDoc::LockExternal(int,int)\n5673 int COleControl::LockInPlaceActive(int)\n5674 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n5675 void CFile::LockRange(unsigned __int64,unsigned __int64)\n5676 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n5677 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n5678 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n5679 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n5680 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n5681 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n5682 long COleObjectFactory::XClassFactory::LockServer(int)\n5683 int CWnd::LockWindowUpdate()\n5684 int CMapPtrToPtr::Lookup(void *,void * &)const \n5685 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n5686 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n5687 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n5688 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5689 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n5690 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n5691 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n5692 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n5693 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n5694 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n5695 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n5696 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n5697 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n5698 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n5699 void CDC::LPtoDP(tagPOINT *,int)const \n5700 void CDC::LPtoDP(tagRECT *)const \n5701 void CDC::LPtoDP(tagSIZE *)const \n5702 void CDC::LPtoHIMETRIC(tagSIZE *)const \n5703 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower()\n5704 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower()\n5705 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse()\n5706 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse()\n5707 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper()\n5708 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper()\n5709 int CToolBarCtrl::MapAccelerator(wchar_t,unsigned int *)\n5710 void CDialog::MapDialogRect(tagRECT *)const \n5711 void CPropertySheet::MapDialogRect(tagRECT *)const \n5712 void CArchive::MapObject(CObject const *)\n5713 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n5714 int COleDialog::MapResult(unsigned int)\n5715 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n5716 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n5717 long CPropertyPage::MapWizardResult(long)\n5718 void CRichEditCntrItem::Mark(int)\n5719 int CToolBarCtrl::MarkButton(int,int)\n5720 void CRecordset::MarkForAddNew()\n5721 void CRecordset::MarkForUpdate()\n5722 void CRichEditDoc::MarkItemsClear()const \n5723 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n5724 int CFindReplaceDialog::MatchCase()const \n5725 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n5726 int CFileFind::MatchesMask(unsigned long)const \n5727 int CFindReplaceDialog::MatchWholeWord()const \n5728 void CReBarCtrl::MaximizeBand(unsigned int)\n5729 void CMDIChildWnd::MDIActivate()\n5730 void CMDIFrameWnd::MDIActivate(CWnd *)\n5731 void CMDIFrameWnd::MDICascade(int)\n5732 void CMDIFrameWnd::MDICascade()\n5733 void CMDIChildWnd::MDIDestroy()\n5734 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n5735 void CMDIFrameWnd::MDIIconArrange()\n5736 void CMDIChildWnd::MDIMaximize()\n5737 void CMDIFrameWnd::MDIMaximize(CWnd *)\n5738 void CMDIFrameWnd::MDINext()\n5739 void CMDIFrameWnd::MDIPrev()\n5740 void CMDIChildWnd::MDIRestore()\n5741 void CMDIFrameWnd::MDIRestore(CWnd *)\n5742 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n5743 void CMDIFrameWnd::MDITile(int)\n5744 void CMDIFrameWnd::MDITile()\n5745 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n5746 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n5747 void CComboBox::MeasureItem(tagMEASUREITEM*)\n5748 void CListBox::MeasureItem(tagMEASUREITEM*)\n5749 void CMenu::MeasureItem(tagMEASUREITEM*)\n5750 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n5751 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n5752 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5753 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n5754 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n5755 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n5756 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n5757 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n5758 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n5759 void CReBarCtrl::MinimizeBand(unsigned int)\n5760 void CPreviewDC::MirrorAttributes()\n5761 void CPreviewDC::MirrorFont()\n5762 void CPreviewDC::MirrorMappingMode(int)\n5763 void CPreviewDC::MirrorViewportOrg()\n5764 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5765 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5766 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5767 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n5768 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n5769 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5770 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n5771 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n5772 void CDockContext::Move(CPoint)\n5773 void CRecordset::Move(long,unsigned short)\n5774 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n5775 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n5776 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n5777 void CRecordset::MoveFirst()\n5778 void CRecordset::MoveLast()\n5779 void CRecordset::MoveNext()\n5780 void CRecordset::MovePrev()\n5781 CPoint CDC::MoveTo(int,int)\n5782 CPoint CDC::MoveTo(tagPOINT)\n5783 void COleControlSite::MoveWindow(int,int,int,int)\n5784 void CWnd::MoveWindow(int,int,int,int,int)\n5785 void CWnd::MoveWindow(tagRECT const *,int)\n5786 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5787 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5788 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n5789 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n5790 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n5791 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n5792 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n5793 unsigned int COleDropSource::nDragDelay\n5794 unsigned int COleDropSource::nDragMinDist\n5795 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n5796 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc()\n5797 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc()\n5798 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc()\n5799 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc()\n5800 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n5801 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc()\n5802 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc()\n5803 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n5804 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n5805 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n5806 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n5807 void CDialog::NextDlgCtrl()const \n5808 unsigned int const CEditView::nMaxSize\n5809 int CRectTracker::NormalizeHit(int)const \n5810 void CDataBoundProperty::Notify()\n5811 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n5812 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n5813 void COleServerDoc::NotifyChanged()\n5814 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n5815 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n5816 void COleServerDoc::NotifyClosed()\n5817 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n5818 void COleServerDoc::NotifyRename(wchar_t const *)\n5819 void COleServerDoc::NotifySaved()\n5820 void CWnd::NotifyWinEvent(unsigned long,long,long)\n5821 unsigned int COleDropTarget::nScrollDelay\n5822 int COleDropTarget::nScrollInset\n5823 unsigned int COleDropTarget::nScrollInterval\n5824 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA()\n5825 int CDC::OffsetClipRgn(int,int)\n5826 int CDC::OffsetClipRgn(tagSIZE)\n5827 int CProgressCtrl::OffsetPos(int)\n5828 int CRgn::OffsetRgn(int,int)\n5829 int CRgn::OffsetRgn(tagPOINT)\n5830 CPoint CDC::OffsetViewportOrg(int,int)\n5831 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n5832 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n5833 CPoint CDC::OffsetWindowOrg(int,int)\n5834 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n5835 void CAsyncSocket::OnAccept(int)\n5836 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5837 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n5838 void COleClientItem::OnActivate()\n5839 void COleFrameHook::OnActivate(int)\n5840 void CWnd::OnActivate(unsigned int,CWnd *,int)\n5841 void CWnd::OnActivateApp(int,unsigned long)\n5842 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n5843 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n5844 long COleControl::OnActivateInPlace(int,tagMSG *)\n5845 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n5846 long CWnd::OnActivateTopLevel(unsigned int,long)\n5847 void COleClientItem::OnActivateUI()\n5848 long CDocObjectServer::OnActivateView()\n5849 void CFormView::OnActivateView(int,CView *,CView *)\n5850 void CPreviewView::OnActivateView(int,CView *,CView *)\n5851 void CRichEditView::OnActivateView(int,CView *,CView *)\n5852 void CView::OnActivateView(int,CView *,CView *)\n5853 long CToolTipCtrl::OnAddTool(unsigned int,long)\n5854 void CConnectionPoint::OnAdvise(int)\n5855 void COleControl::XEventConnPt::OnAdvise(int)\n5856 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n5857 void COleControl::OnAmbientPropertyChange(long)\n5858 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n5859 void COleControl::OnAppearanceChanged()\n5860 void CWinApp::OnAppExit()\n5861 int CPropertyPage::OnApply()\n5862 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n5863 void CDocObjectServer::OnApplyViewState(CArchive &)\n5864 void CWnd::OnAskCbFormatName(unsigned int,wchar_t *)\n5865 void COleControl::OnBackColorChanged()\n5866 int CFrameWnd::OnBarCheck(unsigned int)\n5867 int COleIPFrameWnd::OnBarCheck(unsigned int)\n5868 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n5869 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n5870 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n5871 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n5872 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n5873 int COleDropSource::OnBeginDrag(CWnd *)\n5874 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5875 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n5876 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n5877 void COleControl::OnBorderStyleChanged()\n5878 void CRichEditView::OnBullet()\n5879 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n5880 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n5881 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n5882 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n5883 void CCommonDialog::OnCancel()\n5884 void CDialog::OnCancel()\n5885 void CPropertyPage::OnCancel()\n5886 void CRichEditView::OnCancelEditCntr()\n5887 void COleControl::OnCancelMode()\n5888 void CSplitterWnd::OnCancelMode()\n5889 void CWnd::OnCancelMode()\n5890 void CWnd::OnCaptureChanged(CWnd *)\n5891 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n5892 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n5893 long COleControl::XFontNotification::OnChanged(long)\n5894 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n5895 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n5896 void CRectTracker::OnChangedRect(CRect const &)\n5897 void CDocument::OnChangedViewList()\n5898 int COleClientItem::OnChangeItemPosition(CRect const &)\n5899 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n5900 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n5901 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n5902 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n5903 void CRichEditView::OnCharBold()\n5904 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n5905 void CRichEditView::OnCharItalic()\n5906 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n5907 void CRichEditView::OnCharUnderline()\n5908 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n5909 void CWnd::OnChildActivate()\n5910 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n5911 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5912 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5913 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5914 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5915 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n5916 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5917 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n5918 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n5919 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n5920 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5921 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n5922 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n5923 void COleControl::OnClick(unsigned short)\n5924 CEnumArray * CEnumArray::OnClone()\n5925 CEnumArray * CEnumConnections::OnClone()\n5926 void CAsyncSocket::OnClose(int)\n5927 void CControlFrameWnd::OnClose()\n5928 void CFrameWnd::OnClose()\n5929 void CMiniDockFrameWnd::OnClose()\n5930 void COleControl::OnClose(unsigned long)\n5931 void COleServerDoc::OnClose(enum tagOLECLOSE)\n5932 void CPropertySheet::OnClose()\n5933 void CWnd::OnClose()\n5934 void COleClientItem::XAdviseSink::OnClose()\n5935 void CDocObjectServer::OnCloseDocument()\n5936 void CDocument::OnCloseDocument()\n5937 void COleDocument::OnCloseDocument()\n5938 void COleLinkingDoc::OnCloseDocument()\n5939 void COleServerDoc::OnCloseDocument()\n5940 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5941 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5942 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5943 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5944 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5945 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5946 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5947 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5948 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5949 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5950 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5951 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5952 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n5953 void CRichEditView::OnColorDefault()\n5954 int CColorDialog::OnColorOK()\n5955 void CRichEditView::OnColorPick(unsigned long)\n5956 int CFrameWnd::OnCommand(unsigned int,long)\n5957 int CMDIFrameWnd::OnCommand(unsigned int,long)\n5958 int COlePropertyPage::OnCommand(unsigned int,long)\n5959 int CPropertySheet::OnCommand(unsigned int,long)\n5960 int CSplitterWnd::OnCommand(unsigned int,long)\n5961 int CWnd::OnCommand(unsigned int,long)\n5962 long CDialog::OnCommandHelp(unsigned int,long)\n5963 long CFrameWnd::OnCommandHelp(unsigned int,long)\n5964 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n5965 long CPropertySheet::OnCommandHelp(unsigned int,long)\n5966 void CHtmlView::OnCommandStateChange(long,int)\n5967 void CWnd::OnCompacting(unsigned int)\n5968 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n5969 void CAsyncSocket::OnConnect(int)\n5970 void CFrameWnd::OnContextHelp()\n5971 int COleFrameHook::OnContextHelp(int)\n5972 void COleIPFrameWnd::OnContextHelp()\n5973 void CWinApp::OnContextHelp()\n5974 void CWnd::OnContextMenu(CWnd *,CPoint)\n5975 long COleControlSite::XOleControlSite::OnControlInfoChanged()\n5976 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n5977 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n5978 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n5979 int CEditView::OnCreate(tagCREATESTRUCTW *)\n5980 int CFormView::OnCreate(tagCREATESTRUCTW *)\n5981 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5982 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n5983 int COleControl::OnCreate(tagCREATESTRUCTW *)\n5984 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n5985 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n5986 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n5987 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n5988 int CView::OnCreate(tagCREATESTRUCTW *)\n5989 int CWnd::OnCreate(tagCREATESTRUCTW *)\n5990 int CCmdTarget::OnCreateAggregates()\n5991 int COleControl::OnCreateAggregates()\n5992 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5993 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n5994 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n5995 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n5996 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n5997 CCmdTarget * COleObjectFactory::OnCreateObject()\n5998 CCmdTarget * COleTemplateServer::OnCreateObject()\n5999 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6000 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6001 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6002 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6003 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6004 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6005 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6006 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6007 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6008 int CDocManager::OnDDECommand(wchar_t *)\n6009 int CWinApp::OnDDECommand(wchar_t *)\n6010 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6011 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6012 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6013 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n6014 void COleClientItem::OnDeactivate()\n6015 void COleServerDoc::OnDeactivate()\n6016 void COleClientItem::OnDeactivateAndUndo()\n6017 void COleClientItem::OnDeactivateUI(int)\n6018 void COleServerDoc::OnDeactivateUI(int)\n6019 void CRichEditCntrItem::OnDeactivateUI(int)\n6020 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6021 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6022 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6023 void CControlBar::OnDestroy()\n6024 void CDHtmlDialog::OnDestroy()\n6025 void CEditView::OnDestroy()\n6026 void CFrameWnd::OnDestroy()\n6027 void CHtmlView::OnDestroy()\n6028 void CMDIChildWnd::OnDestroy()\n6029 void CMDIFrameWnd::OnDestroy()\n6030 void COleControl::OnDestroy()\n6031 void COleIPFrameWnd::OnDestroy()\n6032 void CRichEditView::OnDestroy()\n6033 void CTabCtrl::OnDestroy()\n6034 void CTreeCtrl::OnDestroy()\n6035 void CTreeView::OnDestroy()\n6036 void CView::OnDestroy()\n6037 void CWnd::OnDestroy()\n6038 void CWnd::OnDestroyClipboard()\n6039 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6040 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6041 void CRichEditView::OnDevModeChange(wchar_t *)\n6042 void CWnd::OnDevModeChange(wchar_t *)\n6043 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6044 void COleClientItem::OnDiscardUndoState()\n6045 void CSplitterWnd::OnDisplayChange()\n6046 long CWnd::OnDisplayChange(unsigned int,long)\n6047 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6048 int COleFrameHook::OnDocActivate(int)\n6049 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n6050 void CHtmlView::OnDocumentComplete(wchar_t const *)\n6051 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6052 long CBrowserControlSite::OnDocWindowActivate(int)\n6053 long CDHtmlDialog::OnDocWindowActivate(int)\n6054 long CHtmlView::OnDocWindowActivate(int)\n6055 void COleServerDoc::OnDocWindowActivate(int)\n6056 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6057 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6058 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6059 void CDocObjectServerItem::OnDoVerb(long)\n6060 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6061 void COleServerItem::OnDoVerb(long)\n6062 void CHtmlView::OnDownloadBegin()\n6063 void CHtmlView::OnDownloadComplete()\n6064 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6065 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6066 void COleDropTarget::OnDragLeave(CWnd *)\n6067 void CView::OnDragLeave()\n6068 long CWnd::OnDragList(unsigned int,long)\n6069 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6070 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6071 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6072 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6073 void CCtrlView::OnDraw(CDC *)\n6074 void CFormView::OnDraw(CDC *)\n6075 void CHtmlView::OnDraw(CDC *)\n6076 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6077 void CPreviewView::OnDraw(CDC *)\n6078 void CView::OnDraw(CDC *)\n6079 void CWnd::OnDrawClipboard()\n6080 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6081 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6082 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6083 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6084 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6085 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6086 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6087 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6088 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6089 void CFrameWnd::OnDropFiles(HDROP__ *)\n6090 void CRichEditView::OnDropFiles(HDROP__ *)\n6091 void CWnd::OnDropFiles(HDROP__ *)\n6092 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6093 int CEditView::OnEditChange()\n6094 void COleDocument::OnEditChangeIcon()\n6095 void CEditView::OnEditClear()\n6096 void CRichEditView::OnEditClear()\n6097 void COleDocument::OnEditConvert()\n6098 void CEditView::OnEditCopy()\n6099 void CHtmlView::OnEditCopy()\n6100 void CRichEditView::OnEditCopy()\n6101 void CEditView::OnEditCut()\n6102 void CHtmlView::OnEditCut()\n6103 void CRichEditView::OnEditCut()\n6104 void CEditView::OnEditFind()\n6105 void CRichEditView::OnEditFind()\n6106 void CEditView::OnEditFindReplace(int)\n6107 void CRichEditView::OnEditFindReplace(int)\n6108 void COleDocument::OnEditLinks()\n6109 void CEditView::OnEditPaste()\n6110 void CHtmlView::OnEditPaste()\n6111 void CRichEditView::OnEditPaste()\n6112 void CRichEditView::OnEditPasteSpecial()\n6113 void CRichEditView::OnEditProperties()\n6114 int COlePropertyPage::OnEditProperty(long)\n6115 void CRichEditView::OnEditRedo()\n6116 void CEditView::OnEditRepeat()\n6117 void CRichEditView::OnEditRepeat()\n6118 void CEditView::OnEditReplace()\n6119 void CRichEditView::OnEditReplace()\n6120 void CEditView::OnEditSelectAll()\n6121 void CRichEditView::OnEditSelectAll()\n6122 void CEditView::OnEditUndo()\n6123 void CRichEditView::OnEditUndo()\n6124 void CFrameWnd::OnEnable(int)\n6125 void CToolTipCtrl::OnEnable(int)\n6126 void CWnd::OnEnable(int)\n6127 void COleControl::OnEnabledChanged()\n6128 long CHtmlView::OnEnableModeless(int)\n6129 void COleFrameHook::OnEnableModeless(int)\n6130 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6131 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6132 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6133 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6134 void CFrameWnd::OnEndSession(int)\n6135 void CWnd::OnEndSession(int)\n6136 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6137 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6138 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6139 void CWnd::OnEnterMenuLoop(int)\n6140 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6141 int CFrameWnd::OnEraseBkgnd(CDC *)\n6142 int COleControl::OnEraseBkgnd(CDC *)\n6143 int COleResizeBar::OnEraseBkgnd(CDC *)\n6144 int CPreviewView::OnEraseBkgnd(CDC *)\n6145 int CReBar::OnEraseBkgnd(CDC *)\n6146 int CToolBar::OnEraseBkgnd(CDC *)\n6147 int CWnd::OnEraseBkgnd(CDC *)\n6148 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6149 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6150 int COleControlSite::OnEvent(AFX_EVENT *)\n6151 void COleControl::OnEventAdvise(int)\n6152 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6153 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6154 void CWnd::OnExitMenuLoop(int)\n6155 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6156 void CDocument::OnFileClose()\n6157 void CFileDialog::OnFileNameChange()\n6158 int CFileDialog::OnFileNameOK()\n6159 void CDocManager::OnFileNew()\n6160 void CWinApp::OnFileNew()\n6161 void CDocManager::OnFileOpen()\n6162 void CWinApp::OnFileOpen()\n6163 void CHtmlView::OnFilePrint()\n6164 void CView::OnFilePrint()\n6165 void CView::OnFilePrintPreview()\n6166 void CWinApp::OnFilePrintSetup()\n6167 void CDocument::OnFileSave()\n6168 void CDocument::OnFileSaveAs()\n6169 void COleServerDoc::OnFileSaveCopyAs()\n6170 void CDocument::OnFileSendMail()\n6171 void COleDocument::OnFileSendMail()\n6172 void COleServerDoc::OnFileUpdate()\n6173 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6174 void CCmdTarget::OnFinalRelease()\n6175 void CDocument::OnFinalRelease()\n6176 void COleControl::OnFinalRelease()\n6177 void COlePropertyPage::OnFinalRelease()\n6178 void COleServerItem::OnFinalRelease()\n6179 void CWnd::OnFinalRelease()\n6180 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n6181 void CEditView::OnFindNext(wchar_t const *,int,int)\n6182 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n6183 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6184 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6185 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6186 long COleControlSite::XOleControlSite::OnFocus(int)\n6187 void CFileDialog::OnFolderChange()\n6188 void CWnd::OnFontChange()\n6189 void COleControl::OnFontChanged()\n6190 void COleControl::OnForeColorChanged()\n6191 void CRichEditView::OnFormatFont()\n6192 void COleControl::OnFrameClose()\n6193 long CBrowserControlSite::OnFrameWindowActivate(int)\n6194 long CDHtmlDialog::OnFrameWindowActivate(int)\n6195 long CHtmlView::OnFrameWindowActivate(int)\n6196 void COleServerDoc::OnFrameWindowActivate(int)\n6197 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6198 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6199 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6200 void COleControl::OnFreezeEvents(int)\n6201 void CHtmlView::OnFullScreen(int)\n6202 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6203 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6204 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6205 void COleClientItem::OnGetClipRect(CRect &)\n6206 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6207 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6208 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6209 unsigned int COleControl::OnGetDlgCode()\n6210 unsigned int CWnd::OnGetDlgCode()\n6211 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6212 COleServerItem * CRichEditDoc::OnGetEmbeddedItem()\n6213 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6214 long CHtmlView::OnGetExternal(IDispatch * *)\n6215 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6216 HMENU__ * COleControl::OnGetInPlaceMenu()\n6217 void COleClientItem::OnGetItemPosition(CRect &)\n6218 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6219 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n6220 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n6221 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6222 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6223 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6224 long CWnd::OnGetObject(unsigned int,long)\n6225 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6226 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6227 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6228 long CStatusBar::OnGetText(unsigned int,long)\n6229 long CStatusBar::OnGetTextLength(unsigned int,long)\n6230 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6231 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6232 unsigned long COleControl::OnGetViewStatus()\n6233 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6234 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6235 void CFrameWnd::OnHelp()\n6236 int COlePropertyPage::OnHelp(wchar_t const *)\n6237 void CWinApp::OnHelp()\n6238 void CWnd::OnHelp()\n6239 void CWinApp::OnHelpFinder()\n6240 void CWnd::OnHelpFinder()\n6241 long CControlBar::OnHelpHitTest(unsigned int,long)\n6242 long CDialog::OnHelpHitTest(unsigned int,long)\n6243 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6244 void CWinApp::OnHelpIndex()\n6245 void CWnd::OnHelpIndex()\n6246 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6247 int CWnd::OnHelpInfo(tagHELPINFO *)\n6248 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6249 void CWinApp::OnHelpUsing()\n6250 void CWnd::OnHelpUsing()\n6251 void CDocObjectServerItem::OnHide()\n6252 long COleControl::OnHide()\n6253 void COleServerItem::OnHide()\n6254 void COleControl::OnHideToolBars()\n6255 long CHtmlView::OnHideUI()\n6256 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6257 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6258 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6259 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6260 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6261 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6262 void CWnd::OnIconEraseBkgnd(CDC *)\n6263 void CDocTemplate::OnIdle()\n6264 void CDocument::OnIdle()\n6265 void COleDocument::OnIdle()\n6266 int CWinApp::OnIdle(long)\n6267 int CWinThread::OnIdle(long)\n6268 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6269 void CFrameWnd::OnIdleUpdateCmdUI()\n6270 void CMDIFrameWnd::OnIdleUpdateCmdUI()\n6271 void COleCntrFrameWnd::OnIdleUpdateCmdUI()\n6272 void COleIPFrameWnd::OnIdleUpdateCmdUI()\n6273 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6274 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6275 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6276 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6277 int CDHtmlDialog::OnInitDialog()\n6278 int CDialog::OnInitDialog()\n6279 int COlePropertiesDialog::OnInitDialog()\n6280 int COlePropertyPage::OnInitDialog()\n6281 int CPropertySheet::OnInitDialog()\n6282 void CFileDialog::OnInitDone()\n6283 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6284 void CControlBar::OnInitialUpdate()\n6285 void CFormView::OnInitialUpdate()\n6286 void COleDBRecordView::OnInitialUpdate()\n6287 void CRecordView::OnInitialUpdate()\n6288 void CRichEditView::OnInitialUpdate()\n6289 void CView::OnInitialUpdate()\n6290 void CFrameWnd::OnInitMenu(CMenu *)\n6291 void COleFrameHook::OnInitMenu(CMenu *)\n6292 void CWnd::OnInitMenu(CMenu *)\n6293 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6294 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6295 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6296 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6297 long COleClientItem::XOleIPSite::OnInPlaceActivate()\n6298 long COleControlSite::XOleIPSite::OnInPlaceActivate()\n6299 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6300 long COleClientItem::XOleIPSite::OnInPlaceDeactivate()\n6301 long COleControlSite::XOleIPSite::OnInPlaceDeactivate()\n6302 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6303 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6304 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6305 void CRichEditView::OnInsertObject()\n6306 void CSplitterWnd::OnInvertTracker(CRect const &)\n6307 void CDockContext::OnKey(int,int)\n6308 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6309 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6310 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6311 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6312 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6313 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6314 void COleControl::OnKeyPressEvent(unsigned short)\n6315 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6316 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6317 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6318 long CPropertySheet::OnKickIdle(unsigned int,long)\n6319 int CPropertyPage::OnKillActive()\n6320 void COleControl::OnKillFocus(CWnd *)\n6321 void CWnd::OnKillFocus(CWnd *)\n6322 long CCheckListBox::OnLBAddString(unsigned int,long)\n6323 long CCheckListBox::OnLBFindString(unsigned int,long)\n6324 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6325 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6326 long CCheckListBox::OnLBGetText(unsigned int,long)\n6327 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6328 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6329 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6330 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6331 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6332 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6333 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6334 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6335 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6336 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6337 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6338 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6339 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6340 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6341 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6342 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6343 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6344 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6345 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6346 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6347 void CAsyncMonikerFile::OnLowResource()\n6348 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6349 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6350 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6351 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6352 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6353 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6354 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6355 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6356 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6357 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6358 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6359 void CHtmlView::OnMenuBar(int)\n6360 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6361 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6362 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6363 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6364 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6365 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6366 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6367 int CSocket::OnMessagePending()\n6368 void COleControl::OnMnemonic(tagMSG *)\n6369 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6370 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6371 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6372 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6373 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6374 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6375 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6376 void COleControl::OnMouseMove(unsigned int,CPoint)\n6377 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6378 void CWnd::OnMouseMove(unsigned int,CPoint)\n6379 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6380 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6381 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6382 void COleControl::OnMove(int,int)\n6383 int COleDBRecordView::OnMove(unsigned int)\n6384 void CRecordView::OnMove(int,int)\n6385 int CRecordView::OnMove(unsigned int)\n6386 void CWnd::OnMove(int,int)\n6387 void CWnd::OnMoving(unsigned int,tagRECT *)\n6388 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6389 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6390 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n6391 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n6392 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n6393 int CFrameWnd::OnNcActivate(int)\n6394 int CMDIChildWnd::OnNcActivate(int)\n6395 int CMiniFrameWnd::OnNcActivate(int)\n6396 int CWnd::OnNcActivate(int)\n6397 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6398 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6399 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6400 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6401 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6402 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6403 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n6404 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n6405 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n6406 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n6407 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n6408 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n6409 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n6410 int CWnd::OnNcCreate(tagCREATESTRUCTW *)\n6411 void CListCtrl::OnNcDestroy()\n6412 void CListView::OnNcDestroy()\n6413 void CWnd::OnNcDestroy()\n6414 long CMiniFrameWnd::OnNcHitTest(CPoint)\n6415 long COleControl::OnNcHitTest(CPoint)\n6416 long CStatusBar::OnNcHitTest(CPoint)\n6417 long CToolBar::OnNcHitTest(CPoint)\n6418 long CWnd::OnNcHitTest(CPoint)\n6419 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6420 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6421 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6422 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6423 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6424 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6425 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6426 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6427 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6428 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6429 void CDockBar::OnNcPaint()\n6430 void COleControl::OnNcPaint()\n6431 void CReBar::OnNcPaint()\n6432 void CStatusBar::OnNcPaint()\n6433 void CToolBar::OnNcPaint()\n6434 void CWnd::OnNcPaint()\n6435 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6436 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6437 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6438 int CDocument::OnNewDocument()\n6439 int CHtmlEditDoc::OnNewDocument()\n6440 int COleDocument::OnNewDocument()\n6441 int COleLinkingDoc::OnNewDocument()\n6442 void COleServerDoc::OnNewEmbedding(IStorage *)\n6443 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6444 int CEnumArray::OnNext(void *)\n6445 int CEnumConnections::OnNext(void *)\n6446 int CEnumConnPoints::OnNext(void *)\n6447 int CEnumFormatEtc::OnNext(void *)\n6448 int CEnumOleVerb::OnNext(void *)\n6449 int CEnumUnknown::OnNext(void *)\n6450 void CPreviewView::OnNextPage()\n6451 int CView::OnNextPaneCmd(unsigned int)\n6452 int CFileDialog::OnNotify(unsigned int,long,long *)\n6453 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6454 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6455 int CWnd::OnNotify(unsigned int,long,long *)\n6456 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6457 long CWnd::OnNTCtlColor(unsigned int,long)\n6458 void CPreviewView::OnNumPageChange()\n6459 void COlePropertyPage::OnObjectsChanged()\n6460 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6461 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6462 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6463 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6464 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6465 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6466 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6467 void CCommonDialog::OnOK()\n6468 void CDialog::OnOK()\n6469 void CPropertyPage::OnOK()\n6470 long COleControl::OnOpen(int,tagMSG *)\n6471 void COleServerItem::OnOpen()\n6472 int CDocument::OnOpenDocument(wchar_t const *)\n6473 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n6474 int COleDocument::OnOpenDocument(wchar_t const *)\n6475 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n6476 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6477 int CWinApp::OnOpenRecentFile(unsigned int)\n6478 void CAsyncSocket::OnOutOfBandData(int)\n6479 void CCommonDialog::OnPaint()\n6480 void CControlBar::OnPaint()\n6481 void CCtrlView::OnPaint()\n6482 void CDialog::OnPaint()\n6483 void CDockBar::OnPaint()\n6484 void CHtmlEditView::OnPaint()\n6485 void CHtmlView::OnPaint()\n6486 void COleControl::OnPaint(CDC *)\n6487 int COleControlContainer::OnPaint(CDC *)\n6488 void COleResizeBar::OnPaint()\n6489 void CReBar::OnPaint()\n6490 void CSplitterWnd::OnPaint()\n6491 void CStatusBar::OnPaint()\n6492 void CToolBar::OnPaint()\n6493 void CView::OnPaint()\n6494 void CWnd::OnPaint()\n6495 void CWnd::OnPaintClipboard(CWnd *,void *)\n6496 void CFrameWnd::OnPaletteChanged(CWnd *)\n6497 void COleFrameHook::OnPaletteChanged(CWnd *)\n6498 void CWnd::OnPaletteChanged(CWnd *)\n6499 void CWnd::OnPaletteIsChanging(CWnd *)\n6500 void CRichEditView::OnParaAlign(unsigned short)\n6501 void CRichEditView::OnParaCenter()\n6502 void CRichEditView::OnParaLeft()\n6503 void CRichEditView::OnParaRight()\n6504 void CWnd::OnParentNotify(unsigned int,long)\n6505 int CRichEditView::OnPasteNativeObject(IStorage *)\n6506 long CFrameWnd::OnPopMessageString(unsigned int,long)\n6507 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n6508 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n6509 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6510 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n6511 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n6512 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n6513 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n6514 int CEditView::OnPreparePrinting(CPrintInfo *)\n6515 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n6516 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n6517 int CView::OnPreparePrinting(CPrintInfo *)\n6518 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n6519 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n6520 void CPreviewView::OnPreviewClose()\n6521 void CPreviewView::OnPreviewPrint()\n6522 void CPreviewView::OnPrevPage()\n6523 void CEditView::OnPrint(CDC *,CPrintInfo *)\n6524 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n6525 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n6526 void CView::OnPrint(CDC *,CPrintInfo *)\n6527 void CRichEditView::OnPrinterChanged(CDC const &)\n6528 void CPrintDialog::OnPrintSetup()\n6529 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n6530 void CHtmlView::OnProgressChange(long,long)\n6531 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n6532 void CHtmlView::OnPropertyChange(wchar_t const *)\n6533 int CPropertyPage::OnQueryCancel()\n6534 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n6535 HICON__ * CWnd::OnQueryDragIcon()\n6536 int CFrameWnd::OnQueryEndSession()\n6537 int CWnd::OnQueryEndSession()\n6538 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n6539 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n6540 int CFrameWnd::OnQueryNewPalette()\n6541 int COleFrameHook::OnQueryNewPalette()\n6542 int CWnd::OnQueryNewPalette()\n6543 int CWnd::OnQueryOpen()\n6544 unsigned int CWnd::OnQueryUIState()\n6545 int COleServerItem::OnQueryUpdateItems()\n6546 void CHtmlView::OnQuit()\n6547 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n6548 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n6549 void COleControl::OnRButtonDown(unsigned int,CPoint)\n6550 void CWnd::OnRButtonDown(unsigned int,CPoint)\n6551 void COleControl::OnRButtonUp(unsigned int,CPoint)\n6552 void CWnd::OnRButtonUp(unsigned int,CPoint)\n6553 int COleServerDoc::OnReactivateAndUndo()\n6554 void COleFrameHook::OnRecalcLayout()\n6555 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n6556 void CReBar::OnRecalcParent()\n6557 void CAsyncSocket::OnReceive(int)\n6558 void COleControl::OnReflectorDestroyed()\n6559 long CFrameWnd::OnRegisteredMouseWheel(unsigned int,long)\n6560 long CWnd::OnRegisteredMouseWheel(unsigned int,long)\n6561 void COleClientItem::OnRemoveMenus(CMenu *)\n6562 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n6563 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n6564 void CWnd::OnRenderAllFormats()\n6565 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6566 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6567 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6568 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6569 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n6570 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6571 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6572 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n6573 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n6574 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n6575 void CWnd::OnRenderFormat(unsigned int)\n6576 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6577 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6578 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n6579 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n6580 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n6581 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n6582 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n6583 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n6584 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n6585 long COleControl::XFontNotification::OnRequestEdit(long)\n6586 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n6587 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n6588 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6589 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n6590 void CEnumArray::OnReset()\n6591 void CPropertyPage::OnReset()\n6592 void COleControl::OnResetState()\n6593 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6594 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n6595 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n6596 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n6597 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n6598 void COleClientItem::XAdviseSink::OnSave()\n6599 int CDocument::OnSaveDocument(wchar_t const *)\n6600 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n6601 int COleDocument::OnSaveDocument(wchar_t const *)\n6602 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n6603 int COleServerDoc::OnSaveDocument(wchar_t const *)\n6604 void COleServerDoc::OnSaveEmbedding(IStorage *)\n6605 void COleServerItem::OnSaveEmbedding(IStorage *)\n6606 void CDocObjectServer::OnSaveViewState(CArchive &)\n6607 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n6608 int CView::OnScroll(unsigned int,unsigned int,int)\n6609 int COleClientItem::OnScrollBy(CSize)\n6610 int CScrollView::OnScrollBy(CSize,int)\n6611 int CView::OnScrollBy(CSize,int)\n6612 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n6613 void CAsyncSocket::OnSend(int)\n6614 int CPropertyPage::OnSetActive()\n6615 long CToolBar::OnSetBitmapSize(unsigned int,long)\n6616 long CToolBar::OnSetButtonSize(unsigned int,long)\n6617 void COleControl::OnSetClientSite()\n6618 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n6619 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6620 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6621 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6622 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6623 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6624 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n6625 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6626 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6627 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6628 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6629 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6630 long CPropertySheet::OnSetDefID(unsigned int,long)\n6631 int COleControl::OnSetExtent(tagSIZE *)\n6632 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n6633 void CFormView::OnSetFocus(CWnd *)\n6634 void CFrameWnd::OnSetFocus(CWnd *)\n6635 void COleControl::OnSetFocus(CWnd *)\n6636 void CWnd::OnSetFocus(CWnd *)\n6637 long CCheckListBox::OnSetFont(unsigned int,long)\n6638 void CDialog::OnSetFont(CFont *)\n6639 long CEditView::OnSetFont(unsigned int,long)\n6640 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n6641 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n6642 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n6643 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n6644 long CFrameWnd::OnSetMessageString(unsigned int,long)\n6645 long COleControl::OnSetMessageString(unsigned int,long)\n6646 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n6647 long CStatusBar::OnSetMinHeight(unsigned int,long)\n6648 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n6649 void CDatabase::OnSetOptions(void *)\n6650 void CRecordset::OnSetOptions(void *)\n6651 void COlePropertyPage::OnSetPageSite()\n6652 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n6653 long CToolBar::OnSetSizeHelper(CSize &,long)\n6654 long COleControl::OnSetText(unsigned int,long)\n6655 long CStatusBar::OnSetText(unsigned int,long)\n6656 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n6657 void CRecordset::OnSetUpdateOptions(void *)\n6658 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n6659 void CDocObjectServerItem::OnShow()\n6660 void COleServerItem::OnShow()\n6661 long CReBar::OnShowBand(unsigned int,long)\n6662 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6663 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n6664 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n6665 void COleServerDoc::OnShowDocument(int)\n6666 void COleClientItem::OnShowItem()\n6667 void COleControl::OnShowToolBars()\n6668 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6669 void COleDocument::OnShowViews(int)\n6670 void COleLinkingDoc::OnShowViews(int)\n6671 void COleControl::OnShowWindow(int,unsigned int)\n6672 void CWnd::OnShowWindow(int,unsigned int)\n6673 long COleClientItem::XOleClientSite::OnShowWindow(int)\n6674 long COleControlSite::XOleClientSite::OnShowWindow(int)\n6675 void CDHtmlDialog::OnSize(unsigned int,int,int)\n6676 void CFrameWnd::OnSize(unsigned int,int,int)\n6677 void CHtmlView::OnSize(unsigned int,int,int)\n6678 void CMDIChildWnd::OnSize(unsigned int,int,int)\n6679 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n6680 void COleControl::OnSize(unsigned int,int,int)\n6681 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n6682 void COleResizeBar::OnSize(unsigned int,int,int)\n6683 void CPreviewView::OnSize(unsigned int,int,int)\n6684 void CScrollView::OnSize(unsigned int,int,int)\n6685 void CSplitterWnd::OnSize(unsigned int,int,int)\n6686 void CStatusBar::OnSize(unsigned int,int,int)\n6687 void CWnd::OnSize(unsigned int,int,int)\n6688 void CWnd::OnSizeClipboard(CWnd *,void *)\n6689 long CControlBar::OnSizeParent(unsigned int,long)\n6690 long CDockBar::OnSizeParent(unsigned int,long)\n6691 long COleResizeBar::OnSizeParent(unsigned int,long)\n6692 void CWnd::OnSizing(unsigned int,tagRECT *)\n6693 int CEnumArray::OnSkip()\n6694 long CSocketWnd::OnSocketDead(unsigned int,long)\n6695 long CSocketWnd::OnSocketNotify(unsigned int,long)\n6696 int CView::OnSplitCmd(unsigned int)\n6697 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n6698 void CAsyncMonikerFile::OnStartBinding()\n6699 void CHtmlView::OnStatusBar(int)\n6700 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n6701 void CHtmlView::OnStatusTextChange(wchar_t const *)\n6702 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n6703 void CWnd::OnStyleChanged(int,tagSTYLE*)\n6704 void CWnd::OnStyleChanging(int,tagSTYLE*)\n6705 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n6706 void CToolBar::OnSysColorChange()\n6707 void CWnd::OnSysColorChange()\n6708 void CFrameWnd::OnSysCommand(unsigned int,long)\n6709 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n6710 void CPropertySheet::OnSysCommand(unsigned int,long)\n6711 void CSplitterWnd::OnSysCommand(unsigned int,long)\n6712 void CWnd::OnSysCommand(unsigned int,long)\n6713 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n6714 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6715 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n6716 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6717 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n6718 void CWnd::OnTCard(unsigned int,unsigned long)\n6719 void COleControl::OnTextChanged()\n6720 void CEditView::OnTextNotFound(wchar_t const *)\n6721 void CRichEditView::OnTextNotFound(wchar_t const *)\n6722 void CHtmlView::OnTheaterMode(int)\n6723 void CWnd::OnTimeChange()\n6724 void CControlBar::OnTimer(unsigned int)\n6725 void CWnd::OnTimer(unsigned int)\n6726 void CHtmlView::OnTitleChange(wchar_t const *)\n6727 void CHtmlView::OnToolBar(int)\n6728 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6729 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6730 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n6731 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6732 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n6733 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n6734 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6735 void CFileDialog::OnTypeChange()\n6736 void COleControlContainer::OnUIActivate(COleControlSite *)\n6737 long COleClientItem::XOleIPSite::OnUIActivate()\n6738 long COleControlSite::XOleIPSite::OnUIActivate()\n6739 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n6740 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n6741 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n6742 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6743 void CView::OnUpdate(CView *,long,CObject *)\n6744 void CRichEditView::OnUpdateBullet(CCmdUI *)\n6745 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n6746 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n6747 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n6748 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n6749 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n6750 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n6751 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n6752 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n6753 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n6754 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n6755 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n6756 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6757 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n6758 int COleServerDoc::OnUpdateDocument()\n6759 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n6760 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n6761 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n6762 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n6763 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n6764 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n6765 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n6766 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n6767 void CEditView::OnUpdateEditUndo(CCmdUI *)\n6768 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n6769 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n6770 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n6771 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n6772 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6773 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n6774 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n6775 void CFrameWnd::OnUpdateFrameTitle(int)\n6776 void CMDIChildWnd::OnUpdateFrameTitle(int)\n6777 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n6778 int COleClientItem::OnUpdateFrameTitle()\n6779 int COleFrameHook::OnUpdateFrameTitle()\n6780 void COleServerItem::OnUpdateItems()\n6781 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n6782 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n6783 void CEditView::OnUpdateNeedClip(CCmdUI *)\n6784 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n6785 void CEditView::OnUpdateNeedFind(CCmdUI *)\n6786 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n6787 void CEditView::OnUpdateNeedSel(CCmdUI *)\n6788 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n6789 void CEditView::OnUpdateNeedText(CCmdUI *)\n6790 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n6791 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n6792 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n6793 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n6794 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n6795 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n6796 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n6797 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n6798 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n6799 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n6800 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n6801 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n6802 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n6803 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n6804 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n6805 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n6806 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n6807 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n6808 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n6809 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n6810 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n6811 void CView::OnUpdateSplitCmd(CCmdUI *)\n6812 long CHtmlView::OnUpdateUI()\n6813 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n6814 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n6815 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n6816 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n6817 void CHtmlView::OnVisible(int)\n6818 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n6819 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6820 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6821 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6822 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6823 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n6824 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n6825 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n6826 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n6827 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n6828 void CMDIFrameWnd::OnWindowNew()\n6829 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n6830 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n6831 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n6832 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6833 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6834 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n6835 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n6836 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n6837 void CWnd::OnWinIniChange(wchar_t const *)\n6838 long CPropertyPage::OnWizardBack()\n6839 int CPropertyPage::OnWizardFinish()\n6840 long CPropertyPage::OnWizardNext()\n6841 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n6842 void CPreviewView::OnZoomIn()\n6843 void CPreviewView::OnZoomOut()\n6844 int CAnimateCtrl::Open(unsigned int)\n6845 int CAnimateCtrl::Open(wchar_t const *)\n6846 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n6847 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n6848 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n6849 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n6850 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n6851 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n6852 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n6853 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n6854 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n6855 int CDataPathProperty::Open(CFileException *)\n6856 int CDataPathProperty::Open(COleControl *,CFileException *)\n6857 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n6858 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n6859 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n6860 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n6861 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6862 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n6863 int CMonikerFile::Open(IMoniker *,CFileException *)\n6864 int CMonikerFile::Open(wchar_t const *,CFileException *)\n6865 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n6866 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n6867 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n6868 long CDocObjectServer::XOleDocumentView::Open()\n6869 int CWnd::OpenClipboard()\n6870 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n6871 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6872 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n6873 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n6874 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n6875 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n6876 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n6877 int CWnd::OpenIcon()\n6878 long COleUILinkInfo::OpenLinkSource(unsigned long)\n6879 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6880 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n6881 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n6882 int CHtmlEditDoc::OpenURL(wchar_t const *)\n6883 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n6884 int CHeaderCtrl::OrderToIndex(int)const \n6885 int CFileException::OsErrorToException(long)\n6886 void CDumpContext::OutputString(wchar_t const *)\n6887 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n6888 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n6889 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n6890 int CDC::PaintRgn(CRgn *)\n6891 int CWnd::PaintWindowlessControls(CDC *)\n6892 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n6893 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n6894 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n6895 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6896 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n6897 void CCommandLineInfo::ParseLast(int)\n6898 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n6899 void CCommandLineInfo::ParseParam(char const *,int,int)\n6900 void CCommandLineInfo::ParseParamFlag(char const *)\n6901 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n6902 void CCommandLineInfo::ParseParamNotFlag(char const *)\n6903 void CComboBox::Paste()\n6904 void CEdit::Paste()\n6905 void CRichEditCtrl::Paste()\n6906 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n6907 int CDC::PatBlt(int,int,int,int,unsigned long)\n6908 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc()\n6909 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc()const \n6910 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n6911 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n6912 int CDC::Pie(int,int,int,int,int,int,int,int)\n6913 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n6914 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n6915 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n6916 int CDC::PlayMetaFile(HMETAFILE__ *)\n6917 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n6918 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n6919 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n6920 int CDC::PolyBezier(tagPOINT const *,int)\n6921 int CDC::PolyBezierTo(tagPOINT const *,int)\n6922 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n6923 int CDC::Polygon(tagPOINT const *,int)\n6924 int CDC::Polyline(tagPOINT const *,int)\n6925 int CDC::PolylineTo(tagPOINT const *,int)\n6926 int CDC::PolyPolygon(tagPOINT const *,int const *,int)\n6927 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n6928 void CToolTipCtrl::Pop()\n6929 CPoint CEdit::PosFromChar(unsigned int)const \n6930 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n6931 void CPreviewView::PositionPage(unsigned int)\n6932 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n6933 int CMonikerFile::PostBindToStream(CFileException *)\n6934 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n6935 int CWnd::PostMessageW(unsigned int,unsigned int,long)\n6936 void CDialog::PostModal()\n6937 void CPrintDialogEx::PostModal()\n6938 void COleControl::PostModalDialog(HWND__ *)\n6939 void CControlBar::PostNcDestroy()\n6940 void CControlFrameWnd::PostNcDestroy()\n6941 void CFindReplaceDialog::PostNcDestroy()\n6942 void CFrameWnd::PostNcDestroy()\n6943 void COleCntrFrameWnd::PostNcDestroy()\n6944 void CReflectorWnd::PostNcDestroy()\n6945 void CView::PostNcDestroy()\n6946 void CWnd::PostNcDestroy()\n6947 int CWinThread::PostThreadMessageW(unsigned int,unsigned int,long)\n6948 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n6949 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n6950 void CRecordset::PreBindFields()\n6951 void CDocument::PreCloseFrame(CFrameWnd *)\n6952 void COleDocument::PreCloseFrame(CFrameWnd *)\n6953 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n6954 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n6955 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n6956 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n6957 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6958 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n6959 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6960 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6961 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n6962 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n6963 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6964 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6965 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6966 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n6967 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n6968 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n6969 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n6970 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n6971 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n6972 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n6973 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n6974 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n6975 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n6976 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n6977 void CDialog::PreInitDialog()\n6978 void COleChangeSourceDialog::PreInitDialog()\n6979 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n6980 HWND__ * CDialog::PreModal()\n6981 HWND__ * CPrintDialogEx::PreModal()\n6982 void COleControl::PreModalDialog(HWND__ *)\n6983 void CRecordset::PrepareAndExecute()\n6984 HWND__ * CDataExchange::PrepareCtrl(int)\n6985 HWND__ * CDataExchange::PrepareEditCtrl(int)\n6986 void CWnd::PrepareForHelp()\n6987 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n6988 void CRecordset::PrepareUpdateHstmt()\n6989 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n6990 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n6991 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n6992 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n6993 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n6994 void CPropertySheet::PressButton(int)\n6995 int CToolBarCtrl::PressButton(int,int)\n6996 void CCheckListBox::PreSubclassWindow()\n6997 void CDragListBox::PreSubclassWindow()\n6998 void CWnd::PreSubclassWindow()\n6999 int CWnd::PreTranslateInput(tagMSG *)\n7000 int CControlBar::PreTranslateMessage(tagMSG *)\n7001 int CDialog::PreTranslateMessage(tagMSG *)\n7002 int CFormView::PreTranslateMessage(tagMSG *)\n7003 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7004 int CHtmlView::PreTranslateMessage(tagMSG *)\n7005 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7006 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7007 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7008 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7009 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7010 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7011 int CWinThread::PreTranslateMessage(tagMSG *)\n7012 int CWnd::PreTranslateMessage(tagMSG *)\n7013 void CDialog::PrevDlgCtrl()const \n7014 void CWnd::Print(CDC *,unsigned long)const \n7015 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7016 int CPrintDialog::PrintAll()const \n7017 int CPrintDialogEx::PrintAll()const \n7018 void CWnd::PrintClient(CDC *,unsigned long)const \n7019 int CPrintDialog::PrintCollate()const \n7020 int CPrintDialogEx::PrintCollate()const \n7021 int CPrintDialogEx::PrintCurrentPage()const \n7022 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7023 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7024 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7025 long CRichEditView::PrintPage(CDC *,long,long)\n7026 int CPrintDialog::PrintRange()const \n7027 int CPrintDialogEx::PrintRange()const \n7028 int CPrintDialog::PrintSelection()const \n7029 int CPrintDialogEx::PrintSelection()const \n7030 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7031 long COleException::Process(CException const *)\n7032 int CSocket::ProcessAuxQueue()\n7033 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7034 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7035 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7036 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7037 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7038 int CRgn::PtInRegion(int,int)const \n7039 int CRgn::PtInRegion(tagPOINT)const \n7040 void COleSafeArray::PtrOfIndex(long *,void * *)\n7041 int CDC::PtVisible(tagPOINT)const \n7042 int CDC::PtVisible(int,int)const \n7043 int CMetaFileDC::PtVisible(tagPOINT)const \n7044 int CMetaFileDC::PtVisible(int,int)const \n7045 int CEvent::PulseEvent()\n7046 int CWinThread::PumpMessage()\n7047 int CSocket::PumpMessages(unsigned int)\n7048 void CReBarCtrl::PushChevron(unsigned int,long)\n7049 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n7050 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7051 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7052 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7053 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7054 void COleSafeArray::PutElement(long *,void *)\n7055 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n7056 void CHtmlView::PutProperty(wchar_t const *,wchar_t const *)\n7057 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n7058 void CHtmlView::PutProperty(wchar_t const *,short)\n7059 void CHtmlView::PutProperty(wchar_t const *,long)\n7060 void CHtmlView::PutProperty(wchar_t const *,double)\n7061 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n7062 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n7063 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n7064 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n7065 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7066 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n7067 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n7068 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n7069 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7070 int PX_Double(CPropExchange *,wchar_t const *,double &)\n7071 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n7072 int PX_Float(CPropExchange *,wchar_t const *,float &)\n7073 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n7074 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7075 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n7076 int PX_Long(CPropExchange *,wchar_t const *,long &)\n7077 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n7078 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n7079 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n7080 int PX_Short(CPropExchange *,wchar_t const *,short &)\n7081 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n7082 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7083 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n7084 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7085 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n7086 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7087 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n7088 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n7089 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7090 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7091 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7092 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7093 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7094 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7095 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7096 void * COleControl::QueryDefHandler(_GUID const &)\n7097 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7098 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7099 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7100 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7101 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7102 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7103 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7104 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7105 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n7106 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7107 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7108 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7109 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7110 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7111 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7112 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7113 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7114 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7115 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7116 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7117 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7118 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7119 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7120 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7121 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7122 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7123 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7124 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7125 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7126 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7127 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7128 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7129 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7130 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7131 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7132 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7133 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7134 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7135 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7136 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7137 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7138 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7139 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7140 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7141 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7142 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7143 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7144 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7145 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7146 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7147 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7148 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7149 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7150 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7151 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7152 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7153 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7154 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7155 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7156 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7157 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7158 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7159 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7160 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7161 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7162 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7163 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7164 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7165 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7166 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7167 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7168 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7169 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7170 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7171 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7172 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7173 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7174 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7175 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7176 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7177 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7178 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7179 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7180 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7181 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7182 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7183 int CInternetConnection::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7184 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7185 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7186 int CInternetFile::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7187 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7188 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7189 int CInternetSession::QueryOption(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n7190 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7191 long CPropertyPage::QuerySiblings(unsigned int,long)\n7192 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7193 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7194 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7195 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7196 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7197 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n7198 int COleControlSite::QuickActivate()\n7199 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7200 int COleClientItem::ReactivateAndUndo()\n7201 long COleControl::XOleInPlaceObject::ReactivateAndUndo()\n7202 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo()\n7203 unsigned int CArchive::Read(void *,unsigned int)\n7204 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7205 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7206 unsigned int CFile::Read(void *,unsigned int)\n7207 int CImageList::Read(CArchive *)\n7208 unsigned int CInternetFile::Read(void *,unsigned int)\n7209 unsigned int CMemFile::Read(void *,unsigned int)\n7210 unsigned int COleStreamFile::Read(void *,unsigned int)\n7211 unsigned int CSocketFile::Read(void *,unsigned int)\n7212 unsigned int CStdioFile::Read(void *,unsigned int)\n7213 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7214 unsigned long CArchive::ReadCount()\n7215 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7216 int CProperty::ReadFromStream(IStream *)\n7217 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7218 int CPropertySet::ReadFromStream(IStream *)\n7219 void COleClientItem::ReadItem(CArchive &)\n7220 void COleClientItem::ReadItemCompound(CArchive &)\n7221 void COleClientItem::ReadItemFlat(CArchive &)\n7222 void CRecentFileList::ReadList()\n7223 int CPropertySection::ReadNameDictFromStream(IStream *)\n7224 CObject * CArchive::ReadObject(CRuntimeconst *)\n7225 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7226 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n7227 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7228 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n7229 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7230 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n7231 unsigned int CDC::RealizePalette()\n7232 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7233 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7234 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7235 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7236 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7237 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7238 void CRecordset::RebindParams(void *)\n7239 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7240 void CFrameWnd::RecalcLayout(int)\n7241 void CMiniDockFrameWnd::RecalcLayout(int)\n7242 void COleCntrFrameWnd::RecalcLayout(int)\n7243 void COleDocIPFrameWnd::RecalcLayout(int)\n7244 void COleIPFrameWnd::RecalcLayout(int)\n7245 void CSplitterWnd::RecalcLayout()\n7246 int CAsyncSocket::Receive(void *,int,int)\n7247 int CSocket::Receive(void *,int,int)\n7248 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n7249 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7250 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7251 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7252 void COleControl::RecreateControlWindow()\n7253 int CDC::Rectangle(int,int,int,int)\n7254 int CDC::Rectangle(tagRECT const *)\n7255 CRect const CFrameWnd::rectDefault\n7256 int CRgn::RectInRegion(tagRECT const *)const \n7257 int CDC::RectVisible(tagRECT const *)const \n7258 int CMetaFileDC::RectVisible(tagRECT const *)const \n7259 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7260 int CRichEditCtrl::Redo()\n7261 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7262 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7263 int CListCtrl::RedrawItems(int,int)\n7264 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7265 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7266 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7267 void CHtmlView::Refresh()\n7268 void COleControl::Refresh()\n7269 void CHtmlView::Refresh2(int)\n7270 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7271 int COleDropTarget::Register(CWnd *)\n7272 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n7273 int COleMessageFilter::Register()\n7274 int COleObjectFactory::Register()\n7275 int COleTemplateServer::Register()\n7276 int CWinApp::Register()\n7277 int COleObjectFactory::RegisterAll()\n7278 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n7279 void CDocManager::RegisterShellFileTypes(int)\n7280 void CWinApp::RegisterShellFileTypes(int)\n7281 void CToolTipCtrl::RelayEvent(tagMSG *)\n7282 unsigned long CArchiveStream::Release()\n7283 unsigned long CBlobProperty::Release()\n7284 unsigned long CBrowserControlSite::Release()\n7285 unsigned long CDHtmlControlSink::Release()\n7286 unsigned long CDHtmlElementEventSink::Release()\n7287 unsigned long CDHtmlEventSink::Release()\n7288 unsigned long CInnerUnknown::Release()\n7289 void COleClientItem::Release(enum tagOLECLOSE)\n7290 unsigned long COleConnPtContainer::Release()\n7291 void COleDataObject::Release()\n7292 unsigned long COleDispatchImpl::Release()\n7293 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7294 unsigned long COleUILinkInfo::Release()\n7295 unsigned long CPrintDialogEx::Release()\n7296 unsigned long CWnd::XAccessible::Release()\n7297 unsigned long CWnd::XAccessibleServer::Release()\n7298 unsigned long COleClientItem::XAdviseSink::Release()\n7299 unsigned long COleControlSite::XAmbientProps::Release()\n7300 unsigned long COleControlSite::XBoundObjectSite::Release()\n7301 unsigned long COleObjectFactory::XClassFactory::Release()\n7302 unsigned long CConnectionPoint::XConnPt::Release()\n7303 unsigned long COleControl::XDataObject::Release()\n7304 unsigned long COleDataSource::XDataObject::Release()\n7305 unsigned long COleServerDoc::XDataObject::Release()\n7306 unsigned long COleServerItem::XDataObject::Release()\n7307 unsigned long CHtmlControlSite::XDocHostUIHandler::Release()\n7308 unsigned long COleDropSource::XDropSource::Release()\n7309 unsigned long COleDropTarget::XDropTarget::Release()\n7310 unsigned long CEnumArray::XEnumVOID::Release()\n7311 unsigned long COleControlSite::XEventSink::Release()\n7312 unsigned long COleControl::XFontNotification::Release()\n7313 unsigned long COleMessageFilter::XMessageFilter::Release()\n7314 unsigned long COleControlSite::XNotifyDBEvents::Release()\n7315 unsigned long COleControl::XOleCache::Release()\n7316 unsigned long COleClientItem::XOleClientSite::Release()\n7317 unsigned long COleControlSite::XOleClientSite::Release()\n7318 unsigned long CDocObjectServer::XOleCommandTarget::Release()\n7319 unsigned long COleFrameHook::XOleCommandTarget::Release()\n7320 unsigned long COleControlContainer::XOleContainer::Release()\n7321 unsigned long COleControl::XOleControl::Release()\n7322 unsigned long COleControlSite::XOleControlSite::Release()\n7323 unsigned long CDocObjectServer::XOleDocument::Release()\n7324 unsigned long COleDocObjectItem::XOleDocumentSite::Release()\n7325 unsigned long CDocObjectServer::XOleDocumentView::Release()\n7326 unsigned long COleControl::XOleInPlaceActiveObject::Release()\n7327 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release()\n7328 unsigned long COleFrameHook::XOleInPlaceFrame::Release()\n7329 unsigned long COleControl::XOleInPlaceObject::Release()\n7330 unsigned long COleServerDoc::XOleInPlaceObject::Release()\n7331 unsigned long COleControlContainer::XOleIPFrame::Release()\n7332 unsigned long COleClientItem::XOleIPSite::Release()\n7333 unsigned long COleControlSite::XOleIPSite::Release()\n7334 unsigned long COleLinkingDoc::XOleItemContainer::Release()\n7335 unsigned long CDocObjectServer::XOleObject::Release()\n7336 unsigned long COleControl::XOleObject::Release()\n7337 unsigned long COleServerDoc::XOleObject::Release()\n7338 unsigned long COleServerItem::XOleObject::Release()\n7339 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release()\n7340 unsigned long COleControl::XPerPropertyBrowsing::Release()\n7341 unsigned long COleLinkingDoc::XPersistFile::Release()\n7342 unsigned long COleControl::XPersistMemory::Release()\n7343 unsigned long COleControl::XPersistPropertyBag::Release()\n7344 unsigned long COleControl::XPersistStorage::Release()\n7345 unsigned long COleServerDoc::XPersistStorage::Release()\n7346 unsigned long COleControl::XPersistStreamInit::Release()\n7347 unsigned long COleControl::XPointerInactive::Release()\n7348 unsigned long CDocObjectServer::XPrint::Release()\n7349 unsigned long COleControlSite::XPropertyNotifySink::Release()\n7350 unsigned long COlePropertyPage::XPropertyPage::Release()\n7351 unsigned long COlePropertyPage::XPropNotifySink::Release()\n7352 unsigned long COleControl::XProvideClassInfo::Release()\n7353 unsigned long COleControl::XQuickActivate::Release()\n7354 unsigned long CRichEditView::XRichEditOleCallback::Release()\n7355 unsigned long COleControlSite::XRowsetNotify::Release()\n7356 unsigned long COleControl::XSpecifyPropertyPages::Release()\n7357 unsigned long COleControl::XViewObject::Release()\n7358 void CDC::ReleaseAttribDC()\n7359 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7360 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7361 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7362 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7363 void COleControl::ReleaseCaches()\n7364 int COleControl::ReleaseCapture()\n7365 int COleControl::ReleaseDC(CDC *)\n7366 int CWnd::ReleaseDC(CDC *)\n7367 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7368 void COleDispatchDriver::ReleaseDispatch()\n7369 void CDocObjectServer::ReleaseDocSite()\n7370 void CDocument::ReleaseFile(CFile *,int)\n7371 void CFontHolder::ReleaseFont()\n7372 void CDC::ReleaseOutputDC()\n7373 void CMetaFileDC::ReleaseOutputDC()\n7374 void CPreviewDC::ReleaseOutputDC()\n7375 int COleClientItem::Reload()\n7376 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7377 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7378 void CFile::Remove(wchar_t const *)\n7379 int CFtpConnection::Remove(wchar_t const *)\n7380 int CImageList::Remove(int)\n7381 void CPropertySection::Remove(unsigned long)\n7382 void CPropertySet::Remove(_GUID)\n7383 void CPropertySet::Remove(_GUID,unsigned long)\n7384 void CRecentFileList::Remove(int)\n7385 int CSimpleList::Remove(void *)\n7386 void CByteArray::RemoveAll()\n7387 void CDWordArray::RemoveAll()\n7388 void CMapPtrToPtr::RemoveAll()\n7389 void CMapPtrToWord::RemoveAll()\n7390 void CMapStringToOb::RemoveAll()\n7391 void CMapStringToPtr::RemoveAll()\n7392 void CMapStringToString::RemoveAll()\n7393 void CMapWordToOb::RemoveAll()\n7394 void CMapWordToPtr::RemoveAll()\n7395 void CObArray::RemoveAll()\n7396 void CObList::RemoveAll()\n7397 void CPropertySection::RemoveAll()\n7398 void CPropertySet::RemoveAll()\n7399 void CPtrArray::RemoveAll()\n7400 void CPtrList::RemoveAll()\n7401 void CStringArray::RemoveAll()\n7402 void CStringList::RemoveAll()\n7403 void CTypeLibCacheMap::RemoveAll(void *)\n7404 void CUIntArray::RemoveAll()\n7405 void CWordArray::RemoveAll()\n7406 void CByteArray::RemoveAt(int,int)\n7407 void CDWordArray::RemoveAt(int,int)\n7408 void CObArray::RemoveAt(int,int)\n7409 void CObList::RemoveAt(__POSITION *)\n7410 void CPtrArray::RemoveAt(int,int)\n7411 void CPtrList::RemoveAt(__POSITION *)\n7412 void CStringArray::RemoveAt(int,int)\n7413 void CStringList::RemoveAt(__POSITION *)\n7414 void CUIntArray::RemoveAt(int,int)\n7415 void CWordArray::RemoveAt(int,int)\n7416 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7417 void CFrameWnd::RemoveControlBar(CControlBar *)\n7418 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n7419 void CDocTemplate::RemoveDocument(CDocument *)\n7420 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7421 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7422 void COleControl::RemoveFrameLevelUI()\n7423 void CFrameWnd::RemoveFrameWnd()\n7424 void CHandleMap::RemoveHandle(void *)\n7425 CObject * CObList::RemoveHead()\n7426 void * CPtrList::RemoveHead()\n7427 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead()\n7428 void CTabCtrl::RemoveImage(int)\n7429 void CListCtrl::RemoveImageList(int)\n7430 void CListView::RemoveImageList(int)\n7431 void CTreeCtrl::RemoveImageList(int)\n7432 void CTreeView::RemoveImageList(int)\n7433 void COleDocument::RemoveItem(CDocItem *)\n7434 int CMapPtrToPtr::RemoveKey(void *)\n7435 int CMapPtrToWord::RemoveKey(void *)\n7436 int CMapStringToOb::RemoveKey(wchar_t const *)\n7437 int CMapStringToPtr::RemoveKey(wchar_t const *)\n7438 int CMapStringToString::RemoveKey(wchar_t const *)\n7439 int CMapWordToOb::RemoveKey(unsigned short)\n7440 int CMapWordToPtr::RemoveKey(unsigned short)\n7441 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7442 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7443 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7444 void CPropertySheet::RemovePage(int)\n7445 void CPropertySheet::RemovePage(CPropertyPage *)\n7446 void CDockBar::RemovePlaceHolder(CControlBar *)\n7447 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7448 void CDataBoundProperty::RemoveSource()\n7449 CObject * CObList::RemoveTail()\n7450 void * CPtrList::RemoveTail()\n7451 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail()\n7452 void CDocument::RemoveView(CView *)\n7453 void CFile::Rename(wchar_t const *,wchar_t const *)\n7454 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n7455 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n7456 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n7457 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n7458 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n7459 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n7460 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n7461 int CImageList::Replace(int,HICON__ *)\n7462 int CImageList::Replace(int,CBitmap *,CBitmap *)\n7463 int CFindReplaceDialog::ReplaceAll()const \n7464 void CDatabase::ReplaceBrackets(wchar_t *)\n7465 int CFindReplaceDialog::ReplaceCurrent()const \n7466 void CEdit::ReplaceSel(wchar_t const *,int)\n7467 void CRichEditCtrl::ReplaceSel(wchar_t const *,int)\n7468 int CException::ReportError(unsigned int,unsigned int)\n7469 int COleClientItem::ReportError(long)const \n7470 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7471 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n7472 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n7473 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n7474 int CRecordset::Requery()\n7475 void COleControl::RequestAsynchronousExchange(unsigned long)\n7476 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n7477 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n7478 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n7479 long COleClientItem::XOleClientSite::RequestNewObjectLayout()\n7480 long COleControlSite::XOleClientSite::RequestNewObjectLayout()\n7481 void COleServerDoc::RequestPositionChange(tagRECT const *)\n7482 void CRichEditCtrl::RequestResize()\n7483 long COleControlSite::XOleIPSite::RequestUIActivate()\n7484 long CEnumArray::XEnumVOID::Reset()\n7485 void CComboBox::ResetContent()\n7486 void CListBox::ResetContent()\n7487 void CRecordset::ResetCursor()\n7488 void CCachedDataPathProperty::ResetData()\n7489 void CDataPathProperty::ResetData()\n7490 int CDC::ResetDCW(_devicemodeW const *)\n7491 int CEvent::ResetEvent()\n7492 void COleControl::ResetStockProps()\n7493 void CControlBar::ResetTimer(unsigned int,unsigned int)\n7494 void COleControl::ResetVersion(unsigned long)\n7495 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7496 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7497 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7498 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7499 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7500 void COleControl::ResizeFrameWindow(int,int)\n7501 void COleSafeArray::ResizeOneDim(unsigned long)\n7502 void COleControl::ResizeOpenControl(int,int)\n7503 int CPalette::ResizePalette(unsigned int)\n7504 void CScrollView::ResizeParentToFit(int)\n7505 void CWaitCursor::Restore()\n7506 void CReBarCtrl::RestoreBand(unsigned int)\n7507 int CDC::RestoreDC(int)\n7508 int CPreviewDC::RestoreDC(int)\n7509 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n7510 void CCmdTarget::RestoreWaitCursor()\n7511 unsigned long CWinThread::ResumeThread()\n7512 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n7513 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n7514 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n7515 long CArchiveStream::Revert()\n7516 void COleDropTarget::Revoke()\n7517 void COleLinkingDoc::Revoke()\n7518 void COleMessageFilter::Revoke()\n7519 void COleObjectFactory::Revoke()\n7520 void COleObjectFactory::RevokeAll()\n7521 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n7522 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n7523 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n7524 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n7525 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7526 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n7527 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n7528 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n7529 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n7530 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n7531 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n7532 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n7533 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n7534 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n7535 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n7536 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n7537 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n7538 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n7539 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n7540 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n7541 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n7542 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n7543 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n7544 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n7545 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n7546 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n7547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n7548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n7549 int CDatabase::Rollback()\n7550 int CDC::RoundRect(int,int,int,int,int,int)\n7551 int CDC::RoundRect(tagRECT const *,tagPOINT)\n7552 void COleClientItem::Run()\n7553 int CWinApp::Run()\n7554 int CWinThread::Run()\n7555 int CWinApp::RunAutomated()\n7556 int CWinApp::RunEmbedded()\n7557 int CWnd::RunModalLoop(unsigned long)\n7558 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n7559 int CEditView::SameAsSelected(wchar_t const *,int)\n7560 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n7561 long CBlobProperty::Save(IStream *,int)\n7562 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n7563 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n7564 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n7565 long COleControl::XPersistStorage::Save(IStorage *,int)\n7566 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n7567 long COleControl::XPersistStreamInit::Save(IStream *,int)\n7568 int CDocManager::SaveAllModified()\n7569 int CDocTemplate::SaveAllModified()\n7570 int CWinApp::SaveAllModified()\n7571 void CFrameWnd::SaveBarState(wchar_t const *)const \n7572 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n7573 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n7574 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n7575 int CDC::SaveDC()\n7576 int CPreviewDC::SaveDC()\n7577 void COleServerDoc::SaveEmbedding()\n7578 int CFormView::SaveFocusControl()\n7579 int CDocument::SaveModified()\n7580 int COleDocument::SaveModified()\n7581 int COleServerDoc::SaveModified()\n7582 int COleServerDoc::SaveModifiedPrompt()\n7583 long COleClientItem::XOleClientSite::SaveObject()\n7584 long COleControlSite::XOleClientSite::SaveObject()\n7585 int CControlBarInfo::SaveState(wchar_t const *,int)\n7586 void CDockState::SaveState(wchar_t const *)\n7587 long COleControl::SaveState(IStream *)\n7588 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n7589 void CWinApp::SaveStdProfileSettings()\n7590 void COleDocument::SaveToStorage(CObject *)\n7591 void COleLinkingDoc::SaveToStorage(CObject *)\n7592 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n7593 void CDockState::ScalePoint(CPoint &)\n7594 void CDockState::ScaleRectPos(CRect &)\n7595 CSize CDC::ScaleViewportExt(int,int,int,int)\n7596 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n7597 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n7598 CSize CDC::ScaleWindowExt(int,int,int,int)\n7599 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n7600 void CWnd::ScreenToClient(tagPOINT *)const \n7601 void CWnd::ScreenToClient(tagRECT *)const \n7602 int CListCtrl::Scroll(CSize)\n7603 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n7604 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n7605 void COleControlContainer::ScrollChildren(int,int)\n7606 int COleServerDoc::ScrollContainerBy(CSize)\n7607 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n7608 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n7609 void CScrollView::ScrollToDevicePosition(tagPOINT)\n7610 void CScrollView::ScrollToPosition(tagPOINT)\n7611 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7612 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n7613 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n7614 int CFindReplaceDialog::SearchDown()const \n7615 int CAnimateCtrl::Seek(unsigned int)\n7616 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n7617 unsigned __int64 CFile::Seek(__int64,unsigned int)\n7618 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n7619 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n7620 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n7621 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n7622 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n7623 void CFile::SeekToBegin()\n7624 unsigned __int64 CFile::SeekToEnd()\n7625 CFont * CFontHolder::Select(CDC *,long,long)\n7626 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n7627 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n7628 int CDC::SelectClipPath(int)\n7629 int CDC::SelectClipRgn(CRgn *)\n7630 int CDC::SelectClipRgn(CRgn *,int)\n7631 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n7632 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n7633 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n7634 long CPrintDialogEx::SelectionChange()\n7635 int CTreeCtrl::SelectItem(_TREEITEM *)\n7636 int CDC::SelectObject(CRgn *)\n7637 CBitmap * CDC::SelectObject(CBitmap *)\n7638 CBrush * CDC::SelectObject(CBrush *)\n7639 CGdiObject * CDC::SelectObject(CGdiObject *)\n7640 CPen * CDC::SelectObject(CPen *)\n7641 void * CDC::SelectObject(void *)\n7642 CFont * CDC::SelectObject(CFont *)\n7643 CFont * CPreviewDC::SelectObject(CFont *)\n7644 CPalette * CDC::SelectPalette(CPalette *,int)\n7645 void CWinApp::SelectPrinter(void *,void *,int)\n7646 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n7647 CFont * COleControl::SelectStockFont(CDC *)\n7648 CGdiObject * CDC::SelectStockObject(int)\n7649 CGdiObject * CPreviewDC::SelectStockObject(int)\n7650 int CComboBox::SelectString(int,wchar_t const *)\n7651 int CListBox::SelectString(int,wchar_t const *)\n7652 int CListBox::SelItemRange(int,int,int)\n7653 int CAsyncSocket::Send(void const *,int,int)\n7654 int CSocket::Send(void const *,int,int)\n7655 void COleControl::SendAdvise(unsigned int)\n7656 int CWnd::SendChildNotifyLastMsg(long *)\n7657 int CSocket::SendChunk(void const *,int,int)\n7658 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7659 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n7660 void CDocument::SendInitialUpdate()\n7661 void CRecordset::SendLongBinaryData(void *)\n7662 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n7663 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n7664 long CWnd::SendMessageW(unsigned int,unsigned int,long)\n7665 void COleControlSite::SendMnemonic(tagMSG *)\n7666 int CWnd::SendNotifyMessageW(unsigned int,unsigned int,long)\n7667 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n7668 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n7669 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n7670 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n7671 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n7672 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n7673 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7674 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n7675 void CByteArray::Serialize(CArchive &)\n7676 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n7677 void CDocItem::Serialize(CArchive &)\n7678 void CDockState::Serialize(CArchive &)\n7679 void CDWordArray::Serialize(CArchive &)\n7680 void CEditView::Serialize(CArchive &)\n7681 void CMapStringToOb::Serialize(CArchive &)\n7682 void CMapStringToString::Serialize(CArchive &)\n7683 void CMapWordToOb::Serialize(CArchive &)\n7684 void CObArray::Serialize(CArchive &)\n7685 void CObject::Serialize(CArchive &)\n7686 void CObList::Serialize(CArchive &)\n7687 void COleClientItem::Serialize(CArchive &)\n7688 void COleControl::Serialize(CArchive &)\n7689 void COleDocument::Serialize(CArchive &)\n7690 void CRichEditDoc::Serialize(CArchive &)\n7691 void CRichEditView::Serialize(CArchive &)\n7692 void CStringArray::Serialize(CArchive &)\n7693 void CStringList::Serialize(CArchive &)\n7694 void CWordArray::Serialize(CArchive &)\n7695 CArchive & ATL::CTime::Serialize64(CArchive &)\n7696 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n7697 void CArchive::SerializeClass(CRuntimeconst *)\n7698 void COleControl::SerializeExtent(CArchive &)\n7699 void CEditView::SerializeRaw(CArchive &)\n7700 void COleControl::SerializeStockProps(CArchive &)\n7701 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n7702 int CProperty::Set(unsigned long,void * const,unsigned long)\n7703 int CProperty::Set(void * const)\n7704 int CProperty::Set(void * const,unsigned long)\n7705 int CPropertySection::Set(unsigned long,void *)\n7706 int CPropertySection::Set(unsigned long,void *,unsigned long)\n7707 int CPropertySet::Set(_GUID,unsigned long,void *)\n7708 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n7709 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n7710 void CRecordset::SetAbsolutePosition(long)\n7711 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n7712 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7713 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n7714 int CPropertySheet::SetActivePage(int)\n7715 int CPropertySheet::SetActivePage(CPropertyPage *)\n7716 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n7717 void CFrameWnd::SetActiveView(CView *,int)\n7718 CWnd * CWnd::SetActiveWindow()\n7719 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n7720 void CIPAddressCtrl::SetAddress(unsigned long)\n7721 void CHtmlView::SetAddressBar(int)\n7722 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n7723 int CToolBarCtrl::SetAnchorHighlight(int)\n7724 void CListBox::SetAnchorIndex(int)\n7725 void COleControl::SetAppearance(short)\n7726 int CDC::SetArcDirection(int)\n7727 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n7728 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n7729 void CByteArray::SetAt(int,unsigned char)\n7730 void CDWordArray::SetAt(int,unsigned long)\n7731 void CMapPtrToPtr::SetAt(void *,void *)\n7732 void CMapPtrToWord::SetAt(void *,unsigned short)\n7733 void CMapStringToOb::SetAt(wchar_t const *,CObject *)\n7734 void CMapStringToPtr::SetAt(wchar_t const *,void *)\n7735 void CMapStringToString::SetAt(wchar_t const *,wchar_t const *)\n7736 void CMapWordToOb::SetAt(unsigned short,CObject *)\n7737 void CMapWordToPtr::SetAt(unsigned short,void *)\n7738 void CObArray::SetAt(int,CObject *)\n7739 void CObList::SetAt(__POSITION *,CObject *)\n7740 void CPtrArray::SetAt(int,void *)\n7741 void CPtrList::SetAt(__POSITION *,void *)\n7742 void CStringArray::SetAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7743 void CStringArray::SetAt(int,wchar_t const *)\n7744 void CStringList::SetAt(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7745 void CStringList::SetAt(__POSITION *,wchar_t const *)\n7746 void CUIntArray::SetAt(int,unsigned int)\n7747 void CWordArray::SetAt(int,unsigned short)\n7748 void CByteArray::SetAtGrow(int,unsigned char)\n7749 void CDWordArray::SetAtGrow(int,unsigned long)\n7750 void CObArray::SetAtGrow(int,CObject *)\n7751 void CPtrArray::SetAtGrow(int,void *)\n7752 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7753 void CStringArray::SetAtGrow(int,wchar_t const *)\n7754 void CUIntArray::SetAtGrow(int,unsigned int)\n7755 void CWordArray::SetAtGrow(int,unsigned short)\n7756 void CDC::SetAttribDC(HDC__ *)\n7757 void CMetaFileDC::SetAttribDC(HDC__ *)\n7758 void CPreviewDC::SetAttribDC(HDC__ *)\n7759 int CRichEditCtrl::SetAutoURLDetect(int)\n7760 void COleControl::SetBackColor(unsigned long)\n7761 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n7762 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOW *)\n7763 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7764 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n7765 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n7766 void CControlBar::SetBarStyle(unsigned long)\n7767 int CSpinButtonCtrl::SetBase(int)\n7768 void CAsyncMonikerFile::SetBinding(IBinding *)\n7769 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n7770 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n7771 int CToolBar::SetBitmap(HBITMAP__ *)\n7772 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n7773 CSize CBitmap::SetBitmapDimension(int,int)\n7774 int CHeaderCtrl::SetBitmapMargin(int)\n7775 int CToolBarCtrl::SetBitmapSize(CSize)\n7776 unsigned long CDC::SetBkColor(unsigned long)\n7777 unsigned long CImageList::SetBkColor(unsigned long)\n7778 int CListCtrl::SetBkColor(unsigned long)\n7779 unsigned long CPreviewDC::SetBkColor(unsigned long)\n7780 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n7781 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n7782 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n7783 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n7784 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n7785 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n7786 int CListCtrl::SetBkImage(tagLVBKIMAGEW *)\n7787 int CDC::SetBkMode(int)\n7788 void CRecordset::SetBookmark(CDBVariant const &)\n7789 void CControlBar::SetBorders(int,int,int,int)\n7790 void CControlBar::SetBorders(tagRECT const *)\n7791 void CStatusBar::SetBorders(int,int,int,int)\n7792 void CStatusBar::SetBorders(tagRECT const *)\n7793 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n7794 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n7795 void COleControl::SetBorderStyle(short)\n7796 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n7797 CPoint CDC::SetBrushOrg(int,int)\n7798 CPoint CDC::SetBrushOrg(tagPOINT)\n7799 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n7800 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n7801 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n7802 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n7803 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOW *)\n7804 int CToolBar::SetButtons(unsigned int const *,int)\n7805 int CToolBarCtrl::SetButtonSize(CSize)\n7806 void CToolBarCtrl::SetButtonStructSize(int)\n7807 void CButton::SetButtonStyle(unsigned int,int)\n7808 void CToolBar::SetButtonStyle(int,unsigned int)\n7809 int CToolBar::SetButtonText(int,wchar_t const *)\n7810 int CToolBarCtrl::SetButtonWidth(int,int)\n7811 int CListCtrl::SetCallbackMask(unsigned int)\n7812 CWnd * COleControl::SetCapture()\n7813 CWnd * CWnd::SetCapture()\n7814 long COleControlSite::XOleIPSite::SetCapture(int)\n7815 int CListBox::SetCaretIndex(int,int)\n7816 void CWnd::SetCaretPos(tagPOINT)\n7817 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n7818 void CButton::SetCheck(int)\n7819 void CCheckListBox::SetCheck(int,int)\n7820 void CCmdUI::SetCheck(int)\n7821 int CListCtrl::SetCheck(int,int)\n7822 void COleCmdUI::SetCheck(int)\n7823 void CStatusCmdUI::SetCheck(int)\n7824 void CTestCmdUI::SetCheck(int)\n7825 void CToolCmdUI::SetCheck(int)\n7826 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n7827 void CCheckListBox::SetCheckStyle(unsigned int)\n7828 void CPropertySet::SetClassID(_GUID)\n7829 void CDataBoundProperty::SetClientSite(COleControlSite *)\n7830 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n7831 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n7832 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n7833 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n7834 void COleDataSource::SetClipboard()\n7835 HWND__ * CWnd::SetClipboardViewer()\n7836 int CToolBarCtrl::SetCmdID(int,unsigned int)\n7837 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n7838 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n7839 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n7840 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7841 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7842 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7843 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n7844 int CListCtrl::SetColumn(int,tagLVCOLUMNW const *)\n7845 void CSplitterWnd::SetColumnInfo(int,int,int)\n7846 int CListCtrl::SetColumnOrderArray(int,int *)\n7847 void CListBox::SetColumnWidth(int)\n7848 int CListCtrl::SetColumnWidth(int,int)\n7849 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n7850 void CDocTemplate::SetContainerInfo(unsigned int)\n7851 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n7852 void CDataPathProperty::SetControl(COleControl *)\n7853 void CReflectorWnd::SetControl(COleControl *)\n7854 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n7855 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n7856 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n7857 int COleControl::SetControlSize(int,int)\n7858 int COlePropertyPage::SetControlStatus(unsigned int,int)\n7859 void CFileDialog::SetControlText(int,char const *)\n7860 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n7861 void CTabCtrl::SetCurFocus(int)\n7862 void COleCurrency::SetCurrency(long,long)\n7863 void CColorDialog::SetCurrentColor(unsigned long)\n7864 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n7865 void CWinApp::SetCurrentHandles()\n7866 void CPreviewView::SetCurrentPage(unsigned int,int)\n7867 int CComboBox::SetCurSel(int)\n7868 int CListBox::SetCurSel(int)\n7869 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n7870 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n7871 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n7872 int CTabCtrl::SetCurSel(int)\n7873 HICON__ * CButton::SetCursor(HICON__ *)\n7874 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n7875 HICON__ * CStatic::SetCursor(HICON__ *)\n7876 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7877 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7878 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7879 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7880 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7881 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n7882 void COccManager::SetDefaultButton(CWnd *,int)\n7883 void COleControlSite::SetDefaultButton(int)\n7884 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n7885 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n7886 int CMenu::SetDefaultItem(unsigned int,int)\n7887 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n7888 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n7889 void CFileDialog::SetDefExt(char const *)\n7890 void CDialog::SetDefID(unsigned int)\n7891 void CToolTipCtrl::SetDelayTime(unsigned int)\n7892 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n7893 void CDumpContext::SetDepth(int)\n7894 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n7895 void COlePropertyPage::SetDialogResource(void *)\n7896 void CRecordset::SetDirtyFieldStatus(unsigned long)\n7897 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n7898 int COleControlSite::SetDlgCtrlID(int)\n7899 int CWnd::SetDlgCtrlID(int)\n7900 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n7901 void CWnd::SetDlgItemInt(int,unsigned int,int)\n7902 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n7903 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n7904 void CFrameWnd::SetDockState(CDockState const &)\n7905 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n7906 int CImageList::SetDragCursorImage(int,CPoint)\n7907 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n7908 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n7909 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n7910 int CComboBox::SetDroppedWidth(unsigned int)\n7911 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n7912 int CComboBox::SetEditSel(int,int)\n7913 int CComboBoxEx::SetEditSel(int,int)\n7914 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n7915 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n7916 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n7917 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n7918 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n7919 void COleControl::SetEnabled(int)\n7920 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n7921 int CEvent::SetEvent()\n7922 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n7923 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n7924 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n7925 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n7926 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n7927 int CComboBox::SetExtendedUI(int)\n7928 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n7929 int COleControlSite::SetExtent()\n7930 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7931 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7932 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7933 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n7934 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n7935 void CRecordset::SetFieldDirty(void *,int)\n7936 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n7937 void CRecordset::SetFieldNull(void *,int)\n7938 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n7939 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n7940 void CFieldExchange::SetFieldType(unsigned int)\n7941 void CFile::SetFilePath(wchar_t const *)\n7942 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n7943 void CPropertySheet::SetFinishText(wchar_t const *)\n7944 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n7945 CWnd * COleControl::SetFocus()\n7946 CWnd * COleControlSite::SetFocus(tagMSG *)\n7947 CWnd * COleControlSite::SetFocus()\n7948 CWnd * CWnd::SetFocus()\n7949 long COleControlSite::XOleIPSite::SetFocus(int)\n7950 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n7951 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n7952 void CFontHolder::SetFont(IFont *)\n7953 void COleControl::SetFont(IFontDisp *)\n7954 void CWnd::SetFont(CFont *,int)\n7955 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n7956 void COleControl::SetForeColor(unsigned long)\n7957 int CWnd::SetForegroundWindow()\n7958 int CDateTimeCtrl::SetFormat(wchar_t const *)\n7959 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n7960 void CPropertySection::SetFormatID(_GUID)\n7961 void CPropertySet::SetFormatVersion(unsigned short)\n7962 void CHtmlView::SetFullScreen(int)\n7963 void CEdit::SetHandle(void *)\n7964 void CSharedFile::SetHandle(void *,int)\n7965 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n7966 void CHtmlView::SetHeight(long)\n7967 void CToolBar::SetHeight(int)\n7968 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n7969 void CDialog::SetHelpID(unsigned int)\n7970 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n7971 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n7972 void CComboBox::SetHorizontalExtent(unsigned int)\n7973 void CListBox::SetHorizontalExtent(int)\n7974 void CDHtmlDialog::SetHostFlags(unsigned long)\n7975 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n7976 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7977 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7978 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7979 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n7980 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n7981 int CHeaderCtrl::SetHotDivider(int)\n7982 int CHeaderCtrl::SetHotDivider(CPoint)\n7983 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n7984 int CListCtrl::SetHotItem(int)\n7985 int CToolBarCtrl::SetHotItem(int)\n7986 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n7987 unsigned long CListCtrl::SetHoverTime(unsigned long)\n7988 HICON__ * CButton::SetIcon(HICON__ *)\n7989 HICON__ * CStatic::SetIcon(HICON__ *)\n7990 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n7991 HICON__ * CWnd::SetIcon(HICON__ *,int)\n7992 int COleClientItem::SetIconicMetafile(void *)\n7993 CSize CListCtrl::SetIconSpacing(int,int)\n7994 CSize CListCtrl::SetIconSpacing(CSize)\n7995 void CProperty::SetID(unsigned long)\n7996 int CImageList::SetImageCount(unsigned int)\n7997 CImageList * CComboBoxEx::SetImageList(CImageList *)\n7998 CImageList * CHeaderCtrl::SetImageList(CImageList *)\n7999 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8000 int CReBarCtrl::SetImageList(CImageList *)\n8001 CImageList * CTabCtrl::SetImageList(CImageList *)\n8002 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8003 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8004 int CToolBarCtrl::SetIndent(int)\n8005 void CTreeCtrl::SetIndent(unsigned int)\n8006 int CStatusBar::SetIndicators(unsigned int const *,int)\n8007 void COleControl::SetInitialDataFormats()\n8008 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8009 void COleControl::SetInitialSize(int,int)\n8010 void CControlBar::SetInPlaceOwner(CWnd *)\n8011 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8012 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8013 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8014 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8015 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8016 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n8017 int CHeaderCtrl::SetItem(int,_HD_ITEMW *)\n8018 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n8019 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n8020 int CListCtrl::SetItem(tagLVITEMW const *)\n8021 int CTabCtrl::SetItem(int,tagTCITEMW *)\n8022 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n8023 int CTreeCtrl::SetItem(tagTVITEMW *)\n8024 void CListCtrl::SetItemCount(int)\n8025 int CListCtrl::SetItemCountEx(int,unsigned long)\n8026 int CComboBox::SetItemData(int,unsigned long)\n8027 int CListBox::SetItemData(int,unsigned long)\n8028 int CListCtrl::SetItemData(int,unsigned long)\n8029 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8030 int CComboBox::SetItemDataPtr(int,void *)\n8031 int CListBox::SetItemDataPtr(int,void *)\n8032 int CTabCtrl::SetItemExtra(int)\n8033 int CComboBox::SetItemHeight(int,unsigned int)\n8034 int CListBox::SetItemHeight(int,unsigned int)\n8035 short CTreeCtrl::SetItemHeight(short)\n8036 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8037 void COleServerItem::SetItemName(wchar_t const *)\n8038 int CListCtrl::SetItemPosition(int,tagPOINT)\n8039 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8040 CSize CTabCtrl::SetItemSize(CSize)\n8041 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8042 int CListCtrl::SetItemState(int,tagLVITEMW *)\n8043 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8044 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8045 int CListCtrl::SetItemText(int,int,wchar_t const *)\n8046 int CTreeCtrl::SetItemText(_TREEITEM *,wchar_t const *)\n8047 unsigned long CDC::SetLayout(unsigned long)\n8048 void CHtmlView::SetLeft(long)\n8049 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8050 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8051 void CFile::SetLength(unsigned __int64)\n8052 void CInternetFile::SetLength(unsigned __int64)\n8053 void CMemFile::SetLength(unsigned __int64)\n8054 void COleStreamFile::SetLength(unsigned __int64)\n8055 void CSocketFile::SetLength(unsigned __int64)\n8056 void CEdit::SetLimitText(unsigned int)\n8057 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8058 int CSliderCtrl::SetLineSize(int)\n8059 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n8060 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8061 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8062 void CArchive::SetLoadParams(unsigned int)\n8063 unsigned long CComboBox::SetLocale(unsigned long)\n8064 unsigned long CListBox::SetLocale(unsigned long)\n8065 void CRecordset::SetLockingMode(unsigned int)\n8066 void CDatabase::SetLoginTimeout(unsigned long)\n8067 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8068 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8069 int CDC::SetMapMode(int)\n8070 int CPreviewDC::SetMapMode(int)\n8071 unsigned long CDC::SetMapperFlags(unsigned long)\n8072 void CToolTipCtrl::SetMargin(tagRECT *)\n8073 void CEdit::SetMargins(unsigned int,unsigned int)\n8074 void CRichEditView::SetMargins(CRect const &)\n8075 void CPrintInfo::SetMaxPage(unsigned int)\n8076 int CMonthCalCtrl::SetMaxSelCount(int)\n8077 int CToolBarCtrl::SetMaxTextRows(int)\n8078 int CToolTipCtrl::SetMaxTipWidth(int)\n8079 int CWnd::SetMenu(CMenu *)\n8080 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8081 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8082 void CHtmlView::SetMenuBar(int)\n8083 int CMenu::SetMenuContextHelpId(unsigned long)\n8084 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8085 int CMenu::SetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n8086 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8087 void CFrameWnd::SetMessageText(unsigned int)\n8088 void CFrameWnd::SetMessageText(wchar_t const *)\n8089 void CStatusBarCtrl::SetMinHeight(int)\n8090 void CPrintInfo::SetMinPage(unsigned int)\n8091 int CTabCtrl::SetMinTabWidth(int)\n8092 int CDC::SetMiterLimit(float)\n8093 void CPropertyPage::SetModified(int)\n8094 void CDocument::SetModifiedFlag(int)\n8095 void COleControl::SetModifiedFlag(int)\n8096 void COlePropertyPage::SetModifiedFlag(int)\n8097 void CRichEditDoc::SetModifiedFlag(int)\n8098 void CEdit::SetModify(int)\n8099 void CRichEditCtrl::SetModify(int)\n8100 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8101 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8102 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8103 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8104 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8105 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8106 int CMonthCalCtrl::SetMonthDelta(int)\n8107 int CPropertySection::SetName(unsigned long,wchar_t const *)\n8108 void COleControl::SetNotPermitted()\n8109 void CCmdTarget::SetNotSupported()\n8110 void COleControl::SetNotSupported()\n8111 void CRecordset::SetNullFieldStatus(unsigned long)\n8112 void CRecordset::SetNullParamStatus(unsigned long)\n8113 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8114 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8115 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8116 void CArchive::SetObjectSchema(unsigned int)\n8117 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8118 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8119 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8120 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8121 void CHtmlView::SetOffline(int)\n8122 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8123 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8124 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8125 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8126 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8127 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8128 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8129 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8130 int CHeaderCtrl::SetOrderArray(int,int *)\n8131 void CPropertySet::SetOSVersion(unsigned long)\n8132 void CDC::SetOutputDC(HDC__ *)\n8133 void CMetaFileDC::SetOutputDC(HDC__ *)\n8134 void CPreviewDC::SetOutputDC(HDC__ *)\n8135 int CImageList::SetOverlayImage(int,int)\n8136 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8137 void CToolBar::SetOwner(CWnd *)\n8138 void CToolBarCtrl::SetOwner(CWnd *)\n8139 void CWnd::SetOwner(CWnd *)\n8140 void CTabCtrl::SetPadding(CSize)\n8141 void COlePropertyPage::SetPageName(wchar_t const *)\n8142 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8143 int CSliderCtrl::SetPageSize(int)\n8144 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8145 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8146 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8147 void CStatusBar::SetPaneStyle(int,unsigned int)\n8148 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n8149 void CRichEditView::SetPaperSize(CSize)\n8150 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8151 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8152 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8153 void CRecordset::SetParamNull(int,int)\n8154 CWnd * CWnd::SetParent(CWnd *)\n8155 int CStatusBarCtrl::SetParts(int,int *)\n8156 void CEdit::SetPasswordChar(wchar_t)\n8157 void CDataPathProperty::SetPath(wchar_t const *)\n8158 void CDocument::SetPathName(wchar_t const *,int)\n8159 void COleDocument::SetPathName(wchar_t const *,int)\n8160 void CRichEditDoc::SetPathName(wchar_t const *,int)\n8161 void CHandleMap::SetPermanent(void *,CObject *)\n8162 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8163 unsigned long CDC::SetPixel(int,int,unsigned long)\n8164 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8165 int CDC::SetPixelV(int,int,unsigned long)\n8166 int CDC::SetPixelV(tagPOINT,unsigned long)\n8167 int CDC::SetPolyFillMode(int)\n8168 int CProgressCtrl::SetPos(int)\n8169 void CSliderCtrl::SetPos(int)\n8170 int CSpinButtonCtrl::SetPos(int)\n8171 int CSpinButtonCtrl::SetPos32(int)\n8172 void COleIPFrameWnd::SetPreviewMode(int)\n8173 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8174 int COleClientItem::SetPrintDevice(tagPDW const *)\n8175 void CEditView::SetPrinterFont(CFont *)\n8176 int CPreviewView::SetPrintView(CView *)\n8177 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n8178 void COleControlSite::SetProperty(long,unsigned short,...)\n8179 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8180 void CWnd::SetProperty(long,unsigned short,...)\n8181 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8182 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n8183 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n8184 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8185 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n8186 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n8187 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n8188 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n8189 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n8190 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n8191 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n8192 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n8193 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8194 long CWnd::SetProxy(IAccessibleProxy *)\n8195 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8196 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8197 void CDatabase::SetQueryTimeout(unsigned long)\n8198 void CCmdUI::SetRadio(int)\n8199 void CTestCmdUI::SetRadio(int)\n8200 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8201 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8202 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8203 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8204 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8205 void CProgressCtrl::SetRange(short,short)\n8206 void CSliderCtrl::SetRange(int,int,int)\n8207 void CSpinButtonCtrl::SetRange(short,short)\n8208 void CProgressCtrl::SetRange32(int,int)\n8209 void CSpinButtonCtrl::SetRange32(int,int)\n8210 void CSliderCtrl::SetRangeMax(int,int)\n8211 void CSliderCtrl::SetRangeMin(int,int)\n8212 int CInternetFile::SetReadBufferSize(unsigned int)\n8213 int CEdit::SetReadOnly(int)\n8214 int CRichEditCtrl::SetReadOnly(int)\n8215 void CEdit::SetRect(tagRECT const *)\n8216 void CRichEditCtrl::SetRect(tagRECT const *)\n8217 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8218 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8219 int COleControl::SetRectInContainer(tagRECT const *)\n8220 void CEdit::SetRectNP(tagRECT const *)\n8221 void CRgn::SetRectRgn(int,int,int,int)\n8222 void CRgn::SetRectRgn(tagRECT const *)\n8223 void CWnd::SetRedraw(int)\n8224 void CHtmlView::SetRegisterAsBrowser(int)\n8225 void CHtmlView::SetRegisterAsDropTarget(int)\n8226 void CWinApp::SetRegistryKey(unsigned int)\n8227 void CWinApp::SetRegistryKey(wchar_t const *)\n8228 void COleMessageFilter::SetRetryReply(unsigned long)\n8229 int CDC::SetROP2(int)\n8230 void CSplitterWnd::SetRowInfo(int,int,int)\n8231 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8232 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8233 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8234 void CRecordset::SetRowsetSize(unsigned long)\n8235 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8236 void CPreviewView::SetScaledSize(unsigned int)\n8237 void CPreviewDC::SetScaleRatio(int,int)\n8238 void CScrollView::SetScaleToFitSize(tagSIZE)\n8239 void CDockState::SetScreenSize(CSize &)\n8240 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8241 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8242 int CScrollBar::SetScrollPos(int,int)\n8243 int CWnd::SetScrollPos(int,int,int)\n8244 void CScrollBar::SetScrollRange(int,int,int)\n8245 void CWnd::SetScrollRange(int,int,int,int)\n8246 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8247 void CSplitterWnd::SetScrollStyle(unsigned long)\n8248 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8249 int CPropertySection::SetSectionName(wchar_t const *)\n8250 void CEdit::SetSel(int,int,int)\n8251 void CEdit::SetSel(unsigned long,int)\n8252 int CListBox::SetSel(int,int)\n8253 void CRichEditCtrl::SetSel(_charrange &)\n8254 void CRichEditCtrl::SetSel(long,long)\n8255 void CSliderCtrl::SetSelection(int,int)\n8256 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n8257 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n8258 void CCheckListBox::SetSelectionCheck(int)\n8259 int CListCtrl::SetSelectionMark(int)\n8260 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8261 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8262 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8263 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8264 void CHtmlView::SetSilent(int)\n8265 int CStatusBarCtrl::SetSimple(int)\n8266 long CPrintDialogEx::SetSite(IUnknown *)\n8267 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8268 void CByteArray::SetSize(int,int)\n8269 void CDWordArray::SetSize(int,int)\n8270 void CObArray::SetSize(int,int)\n8271 void CPtrArray::SetSize(int,int)\n8272 void CStringArray::SetSize(int,int)\n8273 void CUIntArray::SetSize(int,int)\n8274 void CWordArray::SetSize(int,int)\n8275 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8276 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8277 void CSplitterWnd::SetSplitCursor(int)\n8278 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8279 void CButton::SetState(int)\n8280 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n8281 int CToolBarCtrl::SetState(int,unsigned int)\n8282 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n8283 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8284 void CHtmlView::SetStatusBar(int)\n8285 int CControlBar::SetStatusText(int)\n8286 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8287 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8288 int CProgressCtrl::SetStep(int)\n8289 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8290 int CDC::SetStretchBltMode(int)\n8291 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8292 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8293 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8294 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8295 void COleVariant::SetString(wchar_t const *,unsigned short)\n8296 void CToolBarCtrl::SetStyle(unsigned long)\n8297 void CDatabase::SetSynchronousMode(int)\n8298 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8299 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8300 int CDialogTemplate::SetSystemFont(unsigned short)\n8301 int CEdit::SetTabStops(int const &)\n8302 int CEdit::SetTabStops(int,int *)\n8303 void CEdit::SetTabStops()\n8304 void CEditView::SetTabStops(int)\n8305 int CListBox::SetTabStops(int const &)\n8306 int CListBox::SetTabStops(int,int *)\n8307 void CListBox::SetTabStops()\n8308 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8309 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8310 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8311 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8312 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n8313 void CCmdUI::SetText(wchar_t const *)\n8314 void COleCmdUI::SetText(wchar_t const *)\n8315 void COleControl::SetText(wchar_t const *)\n8316 int CStatusBarCtrl::SetText(wchar_t const *,int,int)\n8317 void CStatusCmdUI::SetText(wchar_t const *)\n8318 void CTestCmdUI::SetText(wchar_t const *)\n8319 void CToolCmdUI::SetText(wchar_t const *)\n8320 unsigned int CDC::SetTextAlign(unsigned int)\n8321 int CListCtrl::SetTextBkColor(unsigned long)\n8322 int CDC::SetTextCharacterExtra(int)\n8323 unsigned long CDC::SetTextColor(unsigned long)\n8324 int CListCtrl::SetTextColor(unsigned long)\n8325 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8326 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8327 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8328 int CDC::SetTextJustification(int,int)\n8329 int CRichEditCtrl::SetTextMode(unsigned int)\n8330 void CHtmlView::SetTheaterMode(int)\n8331 int CWinThread::SetThreadPriority(int)\n8332 int CSliderCtrl::SetTic(int)\n8333 void CSliderCtrl::SetTicFreq(int)\n8334 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8335 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8336 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8337 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8338 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8339 int CSliderCtrl::SetTipSide(int)\n8340 void CStatusBarCtrl::SetTipText(int,wchar_t const *)\n8341 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8342 void CDocument::SetTitle(wchar_t const *)\n8343 void CFrameWnd::SetTitle(wchar_t const *)\n8344 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n8345 void CRichEditDoc::SetTitle(wchar_t const *)\n8346 int CToolTipCtrl::SetTitle(unsigned int,wchar_t const *)\n8347 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8348 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8349 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8350 void CHtmlView::SetToolBar(int)\n8351 void CToolTipCtrl::SetToolInfo(tagTOOLINFOW *)\n8352 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8353 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8354 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8355 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8356 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8357 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8358 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8359 void CHtmlView::SetTop(long)\n8360 int CComboBox::SetTopIndex(int)\n8361 int CListBox::SetTopIndex(int)\n8362 void CPreviewDC::SetTopLeftOffset(CSize)\n8363 void CProperty::SetType(unsigned long)\n8364 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8365 void CRecordset::SetUpdateMethod()\n8366 void CThreadSlotData::SetValue(int,void *)\n8367 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8368 CSize CDC::SetViewportExt(tagSIZE)\n8369 CSize CDC::SetViewportExt(int,int)\n8370 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8371 CSize CMetaFileDC::SetViewportExt(int,int)\n8372 CSize CPreviewDC::SetViewportExt(int,int)\n8373 CPoint CDC::SetViewportOrg(tagPOINT)\n8374 CPoint CDC::SetViewportOrg(int,int)\n8375 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8376 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8377 CPoint CPreviewDC::SetViewportOrg(int,int)\n8378 void CHtmlView::SetVisible(int)\n8379 void CHtmlView::SetWidth(long)\n8380 int CWnd::SetWindowContextHelpId(unsigned long)\n8381 CSize CDC::SetWindowExt(tagSIZE)\n8382 CSize CDC::SetWindowExt(int,int)\n8383 CSize CPreviewDC::SetWindowExt(int,int)\n8384 CPoint CDC::SetWindowOrg(int,int)\n8385 CPoint CDC::SetWindowOrg(tagPOINT)\n8386 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n8387 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8388 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n8389 int CWnd::SetWindowRgn(HRGN__ *,int)\n8390 void COleControlSite::SetWindowTextW(wchar_t const *)\n8391 void CWnd::SetWindowTextW(wchar_t const *)\n8392 void CPropertySheet::SetWizardButtons(unsigned long)\n8393 void CPropertySheet::SetWizardMode()\n8394 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n8395 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n8396 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n8397 void CListCtrl::SetWorkAreas(int,tagRECT *)\n8398 int CInternetFile::SetWriteBufferSize(unsigned int)\n8399 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n8400 long CDocObjectServer::XOleDocumentView::Show(int)\n8401 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n8402 void CDockBar::ShowAll(int)\n8403 int CReBarCtrl::ShowBand(unsigned int,int)\n8404 void CWnd::ShowCaret()\n8405 long CRichEditCntrItem::ShowContainerUI(int)\n8406 long CRichEditView::ShowContainerUI(int)\n8407 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n8408 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8409 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8410 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n8411 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n8412 void CComboBox::ShowDropDown(int)\n8413 long COleClientItem::XOleClientSite::ShowObject()\n8414 long COleControlSite::XOleClientSite::ShowObject()\n8415 void CWnd::ShowOwnedPopups(int)\n8416 void CFrameWnd::ShowOwnedWindows(int)\n8417 long COleControlSite::XOleControlSite::ShowPropertyFrame()\n8418 void CScrollBar::ShowScrollBar(int)\n8419 void CWnd::ShowScrollBar(unsigned int,int)\n8420 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8421 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8422 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n8423 int COleControlSite::ShowWindow(int)\n8424 int CWnd::ShowWindow(int)\n8425 int CAsyncSocket::ShutDown(int)\n8426 tagSIZE const CScrollView::sizeDefault\n8427 int CMonthCalCtrl::SizeMinReq(int)\n8428 void CBitmapButton::SizeToContent()\n8429 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n8430 int CReBarCtrl::SizeToRect(CRect &)\n8431 long CEnumArray::XEnumVOID::Skip(unsigned long)\n8432 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n8433 int CAsyncSocket::Socket(int,long,int,int)\n8434 int CTreeCtrl::SortChildren(_TREEITEM *)\n8435 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n8436 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n8437 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n8438 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n8439 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n8440 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n8441 int CSplitterWnd::SplitColumn(int)\n8442 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n8443 int CSplitterWnd::SplitRow(int)\n8444 int CDC::StartDocW(_DOCINFOW *)\n8445 int CDC::StartDocW(wchar_t const *)\n8446 void CDockContext::StartDrag(CPoint)\n8447 int CDC::StartPage()\n8448 void CDockContext::StartResize(int,CPoint)\n8449 void CSplitterWnd::StartTracking(int)\n8450 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n8451 int CProgressCtrl::StepIt()\n8452 int CAnimateCtrl::Stop()\n8453 void CHtmlView::Stop()\n8454 void CRichEditCtrl::StopGroupTyping()\n8455 void CSplitterWnd::StopTracking(int)\n8456 void CRuntimeClass::Store(CArchive &)const \n8457 void CRecordset::StoreFields()\n8458 void CRichEditView::Stream(CArchive &,int)\n8459 long CRichEditCtrl::StreamIn(int,_editstream &)\n8460 long CRichEditCtrl::StreamOut(int,_editstream &)\n8461 void CDockContext::Stretch(CPoint)\n8462 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n8463 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n8464 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n8465 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n8466 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n8467 int CDC::StrokeAndFillPath()\n8468 int CDC::StrokePath()\n8469 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n8470 int CWnd::SubclassWindow(HWND__ *)\n8471 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n8472 int COleDocObjectItem::SupportsIPrint()\n8473 unsigned long CWinThread::SuspendThread()\n8474 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8475 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n8476 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n8477 CSize CDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8478 CSize CDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8479 CSize CMetaFileDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n8480 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8481 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n8482 void CRichEditView::TextNotFound(wchar_t const *)\n8483 int CDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8484 int CDC::TextOutW(int,int,wchar_t const *,int)\n8485 int CMetaFileDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8486 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n8487 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n8488 void CDatabase::ThrowDBException(short)\n8489 void CRecordset::ThrowDBException(short,void *)\n8490 void CFileException::ThrowErrno(int,wchar_t const *)\n8491 void COleControl::ThrowError(long,unsigned int,unsigned int)\n8492 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n8493 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException()\n8494 void ATL::CSimpleStringT<char,1>::ThrowMemoryException()\n8495 void CFileException::ThrowOsError(long,wchar_t const *)\n8496 void CDockContext::ToggleDocking()\n8497 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n8498 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n8499 COleVariant CDataSourceControl::ToVariant(int)\n8500 ATL::CTraceCategory traceAppMsg\n8501 ATL::CTraceCategory traceCmdRouting\n8502 ATL::CTraceCategory traceDatabase\n8503 ATL::CTraceCategory traceDumpContext\n8504 void CDBException::TraceErrorMessage(wchar_t const *)const \n8505 ATL::CTraceCategory traceGdi\n8506 ATL::CTraceCategory traceHtml\n8507 ATL::CTraceCategory traceInternet\n8508 ATL::CTraceCategory traceKernel\n8509 ATL::CTraceCategory traceMemory\n8510 ATL::CTraceCategory traceMultiApp\n8511 ATL::CTraceCategory traceOle\n8512 ATL::CTraceCategory traceSocket\n8513 ATL::CTraceCategory traceUser\n8514 ATL::CTraceCategory traceWinMsg\n8515 int CDockContext::Track()\n8516 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n8517 void CSplitterWnd::TrackColumnSize(int,int)\n8518 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n8519 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n8520 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n8521 void CSplitterWnd::TrackRowSize(int,int)\n8522 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n8523 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8524 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n8525 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8526 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8527 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n8528 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n8529 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8530 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n8531 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8532 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n8533 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n8534 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n8535 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8536 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8537 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n8538 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n8539 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n8540 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n8541 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim()\n8542 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n8543 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n8544 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim()\n8545 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n8546 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n8547 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft()\n8548 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n8549 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n8550 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft()\n8551 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n8552 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n8553 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight()\n8554 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n8555 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n8556 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight()\n8557 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n8558 void ATL::CSimpleStringT<char,1>::Truncate(int)\n8559 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n8560 void COccManager::UIActivateControl(CWnd *)\n8561 long COleControl::XOleInPlaceObject::UIDeactivate()\n8562 long COleServerDoc::XOleInPlaceObject::UIDeactivate()\n8563 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n8564 void COleSafeArray::UnaccessData()\n8565 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n8566 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n8567 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n8568 long COleControl::XOleObject::Unadvise(unsigned long)\n8569 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n8570 long COleServerItem::XOleObject::Unadvise(unsigned long)\n8571 void CRecordset::UnbindFieldsForUpdate()\n8572 long COleControl::XOleCache::Uncache(unsigned long)\n8573 int CEdit::Undo()\n8574 int CRichEditCtrl::Undo()\n8575 long COleControl::XViewObject::Unfreeze(unsigned long)\n8576 int CCriticalSection::Unlock()\n8577 int CEvent::Unlock()\n8578 int CMultiLock::Unlock(long,long *)\n8579 int CMultiLock::Unlock()\n8580 int CMutex::Unlock()\n8581 void COleSafeArray::Unlock()\n8582 int CSemaphore::Unlock(long,long *)\n8583 int CSemaphore::Unlock()\n8584 int CSingleLock::Unlock(long,long *)\n8585 int CSingleLock::Unlock()\n8586 void CTypeLibCache::Unlock()\n8587 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer()\n8588 void ATL::CSimpleStringT<char,1>::UnlockBuffer()\n8589 void CEditView::UnlockBuffer()const \n8590 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n8591 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n8592 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n8593 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n8594 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n8595 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n8596 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n8597 void CWnd::UnlockWindowUpdate()\n8598 int CGdiObject::UnrealizeObject()\n8599 int COleObjectFactory::Unregister()\n8600 int COleTemplateServer::Unregister()\n8601 int CWinApp::Unregister()\n8602 int COleObjectFactory::UnregisterAll()\n8603 void CDocManager::UnregisterShellFileTypes()\n8604 void CWinApp::UnregisterShellFileTypes()\n8605 HWND__ * CWnd::UnsubclassWindow()\n8606 int CListCtrl::Update(int)\n8607 int CRecordset::Update()\n8608 void CToolTipCtrl::Update()\n8609 long CDocObjectServer::XOleObject::Update()\n8610 long COleControl::XOleObject::Update()\n8611 long COleServerDoc::XOleObject::Update()\n8612 long COleServerItem::XOleObject::Update()\n8613 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n8614 void CStatusBar::UpdateAllPanes(int,int)\n8615 void CDocument::UpdateAllViews(CView *,long,CObject *)\n8616 void CScrollView::UpdateBars()\n8617 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n8618 void CDC::UpdateColors()\n8619 long CDataSourceControl::UpdateControls()\n8620 long CDataSourceControl::UpdateCursor()\n8621 void CMemoryState::UpdateData()\n8622 int CWnd::UpdateData(int)\n8623 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n8624 void CDocument::UpdateFrameCounts()\n8625 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n8626 int CRecordset::UpdateInsertDelete()\n8627 void COleClientItem::UpdateItemType()\n8628 int COleClientItem::UpdateLink()\n8629 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n8630 void CRecentFileList::UpdateMenu(CCmdUI *)\n8631 void COleDocument::UpdateModifiedFlag()\n8632 void CRichEditDoc::UpdateModifiedFlag()\n8633 void CRichEditDoc::UpdateObjectCache()\n8634 void CWinApp::UpdatePrinterSelection(int)\n8635 int COleObjectFactory::UpdateRegistry(int)\n8636 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n8637 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n8638 int COleObjectFactory::UpdateRegistryAll(int)\n8639 void CDockContext::UpdateState(int *,int)\n8640 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n8641 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n8642 long CBrowserControlSite::UpdateUI()\n8643 long CDHtmlDialog::UpdateUI()\n8644 long CHtmlControlSite::XDocHostUIHandler::UpdateUI()\n8645 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n8646 void COleLinkingDoc::UpdateVisibleLock(int,int)\n8647 void CWnd::UpdateWindow()\n8648 void CWnd::ValidateRect(tagRECT const *)\n8649 void CWnd::ValidateRgn(CRgn *)\n8650 void CDatabase::VerifyConnect()\n8651 unsigned long CRecordset::VerifyCursorSupport()\n8652 void CRecordset::VerifyDriverBehavior()\n8653 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n8654 int COleObjectFactory::VerifyUserLicense()\n8655 int CListBox::VKeyToItem(unsigned int,unsigned int)\n8656 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n8657 int CDC::WidenPath()\n8658 int COleControl::WillAmbientsBeValidDuringLoad()\n8659 CWnd * CWnd::WindowFromPoint(tagPOINT)\n8660 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n8661 long COleControl::WindowProc(unsigned int,unsigned int,long)\n8662 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n8663 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n8664 long CReBar::WindowProc(unsigned int,unsigned int,long)\n8665 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n8666 long CWnd::WindowProc(unsigned int,unsigned int,long)\n8667 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n8668 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n8669 void CWinApp::WinHelpW(unsigned long,unsigned int)\n8670 void CWnd::WinHelpW(unsigned long,unsigned int)\n8671 CWnd const CWnd::wndBottom\n8672 CWnd const CWnd::wndNoTopMost\n8673 CWnd const CWnd::wndTop\n8674 CWnd const CWnd::wndTopMost\n8675 void CRichEditView::WrapChanged()\n8676 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n8677 void CArchive::Write(void const *,unsigned int)\n8678 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n8679 void CFile::Write(void const *,unsigned int)\n8680 void CGopherFile::Write(void const *,unsigned int)\n8681 int CImageList::Write(CArchive *)\n8682 void CInternetFile::Write(void const *,unsigned int)\n8683 void CMemFile::Write(void const *,unsigned int)\n8684 void COleStreamFile::Write(void const *,unsigned int)\n8685 void CSocketFile::Write(void const *,unsigned int)\n8686 void CStdioFile::Write(void const *,unsigned int)\n8687 void CArchive::WriteClass(CRuntimeconst *)\n8688 void CArchive::WriteCount(unsigned long)\n8689 void COleClientItem::WriteItem(CArchive &)\n8690 void COleClientItem::WriteItemCompound(CArchive &)\n8691 void COleClientItem::WriteItemFlat(CArchive &)\n8692 void CRecentFileList::WriteList()\n8693 int CPropertySection::WriteNameDictToStream(IStream *)\n8694 void CArchive::WriteObject(CObject const *)\n8695 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n8696 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n8697 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n8698 void CArchive::WriteString(wchar_t const *)\n8699 void CGopherFile::WriteString(wchar_t const *)\n8700 void CInternetFile::WriteString(wchar_t const *)\n8701 void CStdioFile::WriteString(wchar_t const *)\n8702 void CEditView::WriteToArchive(CArchive &)\n8703 int CProperty::WriteToStream(IStream *)\n8704 int CPropertySection::WriteToStream(IStream *)\n8705 int CPropertySet::WriteToStream(IStream *)\n8706 _AFX_DAO_STATE::_AFX_DAO_STATE()\n8707 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n8708 CDaoException::CDaoException()\n8709 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n8710 CDaoIndexInfo::CDaoIndexInfo()\n8711 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n8712 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n8713 CDaoRecordView::CDaoRecordView(unsigned int)\n8714 CDaoRecordView::CDaoRecordView(wchar_t const *)\n8715 CDaoRelationInfo::CDaoRelationInfo()\n8716 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n8717 CDaoWorkspace::CDaoWorkspace()\n8718 _AFX_DAO_STATE::~_AFX_DAO_STATE()\n8719 CDaoDatabase::~CDaoDatabase()\n8720 CDaoException::~CDaoException()\n8721 CDaoIndexInfo::~CDaoIndexInfo()\n8722 CDaoQueryDef::~CDaoQueryDef()\n8723 CDaoRecordset::~CDaoRecordset()\n8724 CDaoRecordView::~CDaoRecordView()\n8725 CDaoRelationInfo::~CDaoRelationInfo()\n8726 CDaoTableDef::~CDaoTableDef()\n8727 CDaoWorkspace::~CDaoWorkspace()\n8728 void CDaoRecordset::AddNew()\n8729 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n8730 _DAODBEngine * AfxDaoGetEngine()\n8731 void AfxDaoInit()\n8732 void AfxDaoTerm()\n8733 void AfxDaoTrace(long,char const *,char const *,int)\n8734 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n8735 _AFX_DAO_STATE * AfxGetDaoState()\n8736 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8737 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n8738 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8739 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n8740 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n8741 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8742 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n8743 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n8744 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n8745 void AfxThrowDaoException(int,long)\n8746 void CDaoRecordset::AllocCache()\n8747 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n8748 void CDaoRecordset::AllocDatabase()\n8749 void AllocLongBinary(CLongBinary &,unsigned long)\n8750 void CDaoQueryDef::Append()\n8751 void CDaoTableDef::Append()\n8752 void CDaoWorkspace::Append()\n8753 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n8754 void CDaoDatabase::AssertValid()const \n8755 void CDaoQueryDef::AssertValid()const \n8756 void CDaoRecordset::AssertValid()const \n8757 void CDaoRecordView::AssertValid()const \n8758 void CDaoTableDef::AssertValid()const \n8759 void CDaoWorkspace::AssertValid()const \n8760 void CDaoWorkspace::BeginTrans()\n8761 void CDaoRecordset::BindFields()\n8762 void CDaoRecordset::BindParameters()\n8763 void CDaoRecordset::BuildParameterList()\n8764 void CDaoRecordset::BuildSelectList()\n8765 void CDaoRecordset::BuildSQL()\n8766 int CDaoRecordset::CanAppend()const \n8767 int CDaoRecordset::CanBookmark()\n8768 void CDaoRecordset::CancelUpdate()\n8769 int CDaoRecordset::CanRestart()\n8770 int CDaoRecordset::CanScroll()const \n8771 int CDaoDatabase::CanTransact()\n8772 int CDaoRecordset::CanTransact()\n8773 int CDaoDatabase::CanUpdate()\n8774 int CDaoQueryDef::CanUpdate()\n8775 int CDaoRecordset::CanUpdate()const \n8776 int CDaoTableDef::CanUpdate()\n8777 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n8778 void CDaoRecordset::ClearFieldStatusFlags()\n8779 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n8780 void CDaoDatabase::Close()\n8781 void CDaoQueryDef::Close()\n8782 void CDaoRecordset::Close()\n8783 void CDaoTableDef::Close()\n8784 void CDaoWorkspace::Close()\n8785 void CDaoWorkspace::CommitTrans()\n8786 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n8787 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n8788 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n8789 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n8790 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n8791 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n8792 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n8793 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n8794 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n8795 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n8796 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n8797 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n8798 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n8799 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8800 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8801 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8802 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n8803 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n8804 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8805 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8806 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n8807 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n8808 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n8809 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n8810 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n8811 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n8812 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n8813 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n8814 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n8815 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n8816 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n8817 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n8818 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n8819 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n8820 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n8821 void CDaoRecordset::Delete()\n8822 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n8823 void CDaoTableDef::DeleteField(int)\n8824 void CDaoTableDef::DeleteField(wchar_t const *)\n8825 void CDaoTableDef::DeleteIndex(int)\n8826 void CDaoTableDef::DeleteIndex(wchar_t const *)\n8827 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n8828 void CDaoDatabase::DeleteRelation(wchar_t const *)\n8829 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n8830 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n8831 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n8832 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n8833 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n8834 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n8835 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n8836 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n8837 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n8838 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n8839 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n8840 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n8841 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n8842 void CDaoDatabase::Dump(CDumpContext &)const \n8843 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n8844 void CDaoErrorInfo::Dump(CDumpContext &)const \n8845 void CDaoFieldInfo::Dump(CDumpContext &)const \n8846 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n8847 void CDaoIndexInfo::Dump(CDumpContext &)const \n8848 void CDaoParameterInfo::Dump(CDumpContext &)const \n8849 void CDaoQueryDef::Dump(CDumpContext &)const \n8850 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n8851 void CDaoRecordset::Dump(CDumpContext &)const \n8852 void CDaoRecordView::Dump(CDumpContext &)const \n8853 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n8854 void CDaoRelationInfo::Dump(CDumpContext &)const \n8855 void CDaoTableDef::Dump(CDumpContext &)const \n8856 void CDaoTableDefInfo::Dump(CDumpContext &)const \n8857 void CDaoWorkspace::Dump(CDumpContext &)const \n8858 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n8859 void CDaoRecordset::Edit()\n8860 void CDaoDatabase::Execute(wchar_t const *,int)\n8861 void CDaoQueryDef::Execute(int)\n8862 void CDaoRecordset::FillCache(long *,COleVariant *)\n8863 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n8864 void CDaoException::FillErrorInfo()\n8865 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n8866 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n8867 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n8868 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n8869 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n8870 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n8871 int CDaoRecordset::Find(long,wchar_t const *)\n8872 int CDaoRecordset::FindFirst(wchar_t const *)\n8873 int CDaoRecordset::FindLast(wchar_t const *)\n8874 int CDaoRecordset::FindNext(wchar_t const *)\n8875 int CDaoRecordset::FindPrev(wchar_t const *)\n8876 void CDaoRecordset::Fixup()\n8877 void CDaoRecordset::FreeCache()\n8878 long CDaoRecordset::GetAbsolutePosition()\n8879 long CDaoTableDef::GetAttributes()\n8880 COleVariant CDaoRecordset::GetBookmark()\n8881 long CDaoRecordset::GetCacheSize()\n8882 COleVariant CDaoRecordset::GetCacheStart()\n8883 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n8884 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect()\n8885 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect()\n8886 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect()\n8887 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex()\n8888 void CDaoRecordset::GetDataAndFixupNulls()\n8889 short CDaoWorkspace::GetDatabaseCount()\n8890 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n8891 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n8892 ATL::COleDateTime CDaoQueryDef::GetDateCreated()\n8893 ATL::COleDateTime CDaoRecordset::GetDateCreated()\n8894 ATL::COleDateTime CDaoTableDef::GetDateCreated()\n8895 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated()\n8896 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated()\n8897 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated()\n8898 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName()\n8899 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL()\n8900 short CDaoRecordset::GetEditMode()\n8901 short CDaoException::GetErrorCount()\n8902 void CDaoException::GetErrorInfo(int)\n8903 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n8904 short CDaoQueryDef::GetFieldCount()\n8905 short CDaoRecordset::GetFieldCount()\n8906 short CDaoTableDef::GetFieldCount()\n8907 int CDaoRecordset::GetFieldIndex(void *)\n8908 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8909 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8910 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8911 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8912 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n8913 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n8914 unsigned long CDaoRecordset::GetFieldLength(int)\n8915 COleVariant CDaoRecordset::GetFieldValue(int)\n8916 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n8917 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n8918 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n8919 short CDaoRecordset::GetIndexCount()\n8920 short CDaoTableDef::GetIndexCount()\n8921 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8922 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8923 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n8924 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n8925 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath()\n8926 int CDaoWorkspace::GetIsolateODBCTrans()\n8927 COleVariant CDaoRecordset::GetLastModifiedBookmark()\n8928 int CDaoRecordset::GetLockingMode()\n8929 short CDaoWorkspace::GetLoginTimeout()\n8930 AFX_MSGMAP const * CDaoRecordView::GetMessageMap()const \n8931 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName()\n8932 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName()\n8933 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName()\n8934 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName()\n8935 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName()\n8936 short CDaoQueryDef::GetODBCTimeout()\n8937 short CDaoQueryDef::GetParameterCount()\n8938 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n8939 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n8940 COleVariant CDaoQueryDef::GetParamValue(int)\n8941 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n8942 COleVariant CDaoRecordset::GetParamValue(int)\n8943 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n8944 float CDaoRecordset::GetPercentPosition()\n8945 short CDaoDatabase::GetQueryDefCount()\n8946 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n8947 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n8948 short CDaoDatabase::GetQueryTimeout()\n8949 long CDaoRecordset::GetRecordCount()\n8950 long CDaoTableDef::GetRecordCount()\n8951 long CDaoDatabase::GetRecordsAffected()\n8952 long CDaoQueryDef::GetRecordsAffected()\n8953 short CDaoDatabase::GetRelationCount()\n8954 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n8955 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n8956 int CDaoQueryDef::GetReturnsRecords()\n8957 CRuntime* CDaoDatabase::GetRuntimeClass()const \n8958 CRuntime* CDaoException::GetRuntimeClass()const \n8959 CRuntime* CDaoQueryDef::GetRuntimeClass()const \n8960 CRuntime* CDaoRecordset::GetRuntimeClass()const \n8961 CRuntime* CDaoRecordView::GetRuntimeClass()const \n8962 CRuntime* CDaoTableDef::GetRuntimeClass()const \n8963 CRuntime* CDaoWorkspace::GetRuntimeClass()const \n8964 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName()\n8965 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL()\n8966 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL()const \n8967 short CDaoDatabase::GetTableDefCount()\n8968 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n8969 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n8970 CRuntime* CDaoDatabase::GetThisClass()\n8971 CRuntime* CDaoException::GetThisClass()\n8972 CRuntime* CDaoQueryDef::GetThisClass()\n8973 CRuntime* CDaoRecordset::GetThisClass()\n8974 CRuntime* CDaoRecordView::GetThisClass()\n8975 CRuntime* CDaoTableDef::GetThisClass()\n8976 CRuntime* CDaoWorkspace::GetThisClass()\n8977 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap()\n8978 short CDaoQueryDef::GetType()\n8979 short CDaoRecordset::GetType()\n8980 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW()\n8981 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule()\n8982 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule()\n8983 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText()\n8984 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText()\n8985 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion()\n8986 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion()\n8987 short CDaoWorkspace::GetWorkspaceCount()\n8988 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n8989 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n8990 void CDaoWorkspace::Idle(int)\n8991 void CDaoWorkspace::InitDatabasesCollection()\n8992 void CDaoException::InitErrorsCollection()\n8993 void CDaoQueryDef::InitFieldsCollection()\n8994 void CDaoRecordset::InitFieldsCollection()\n8995 void CDaoTableDef::InitFieldsCollection()\n8996 void CDaoWorkspace::InitializeEngine()\n8997 void CDaoRecordset::InitIndexesCollection()\n8998 void CDaoTableDef::InitIndexesCollection()\n8999 void CDaoQueryDef::InitParametersCollection()\n9000 void CDaoDatabase::InitQueryDefsCollection()\n9001 void CDaoDatabase::InitRelationsCollection()\n9002 void CDaoDatabase::InitTableDefsCollection()\n9003 void CDaoDatabase::InitWorkspace()\n9004 void CDaoWorkspace::InitWorkspacesCollection()\n9005 int CDaoRecordset::IsBOF()const \n9006 int CDaoRecordset::IsDeleted()const \n9007 int CDaoRecordset::IsEOF()const \n9008 int CDaoRecordset::IsFieldDirty(void *)\n9009 int CDaoRecordset::IsFieldNull(void *)\n9010 int CDaoRecordset::IsFieldNullable(void *)\n9011 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n9012 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n9013 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n9014 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n9015 int CDaoRecordset::IsMatch()\n9016 int CDaoWorkspace::IsNew()const \n9017 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n9018 int CDaoRecordView::IsOnFirstRecord()\n9019 int CDaoRecordView::IsOnLastRecord()\n9020 int CDaoDatabase::IsOpen()const \n9021 int CDaoQueryDef::IsOpen()const \n9022 int CDaoRecordset::IsOpen()const \n9023 int CDaoTableDef::IsOpen()const \n9024 int CDaoWorkspace::IsOpen()const \n9025 int CDaoFieldExchange::IsValidOperation()\n9026 void CDaoRecordset::LoadFields()\n9027 void CDaoRecordset::MarkForAddNew()\n9028 void CDaoRecordset::MarkForEdit()\n9029 void CDaoRecordset::Move(long)\n9030 void CDaoRecordset::MoveFirst()\n9031 void CDaoRecordset::MoveLast()\n9032 void CDaoRecordset::MoveNext()\n9033 void CDaoRecordset::MovePrev()\n9034 void CDaoRecordView::OnInitialUpdate()\n9035 void CDaoRecordView::OnMove(int,int)\n9036 int CDaoRecordView::OnMove(unsigned int)\n9037 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n9038 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n9039 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n9040 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n9041 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n9042 void CDaoQueryDef::Open(wchar_t const *)\n9043 void CDaoRecordset::Open(int,wchar_t const *,int)\n9044 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n9045 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n9046 void CDaoTableDef::Open(wchar_t const *)\n9047 void CDaoWorkspace::Open(wchar_t const *)\n9048 void CDaoTableDef::RefreshLink()\n9049 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n9050 void CDaoRecordset::Requery()\n9051 void CDaoWorkspace::Rollback()\n9052 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n9053 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n9054 void CDaoRecordset::SetAbsolutePosition(long)\n9055 void CDaoTableDef::SetAttributes(long)\n9056 void CDaoRecordset::SetBookmark(COleVariant)\n9057 void CDaoRecordset::SetCacheSize(long)\n9058 void CDaoRecordset::SetCacheStart(COleVariant)\n9059 void CDaoQueryDef::SetConnect(wchar_t const *)\n9060 void CDaoTableDef::SetConnect(wchar_t const *)\n9061 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n9062 void CDaoRecordset::SetCursorAttributes()\n9063 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n9064 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n9065 void CDaoRecordset::SetDirtyFields()\n9066 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n9067 void CDaoRecordset::SetFieldDirty(void *,int)\n9068 void CDaoRecordset::SetFieldNull(void *,int)\n9069 void CDaoFieldExchange::SetFieldType(unsigned int)\n9070 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n9071 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n9072 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n9073 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n9074 void CDaoRecordset::SetFieldValueNull(int)\n9075 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n9076 void CDaoWorkspace::SetIniPath(wchar_t const *)\n9077 void CDaoWorkspace::SetIsolateODBCTrans(int)\n9078 void CDaoRecordset::SetLockingMode(int)\n9079 void CDaoWorkspace::SetLoginTimeout(short)\n9080 void CDaoQueryDef::SetName(wchar_t const *)\n9081 void CDaoTableDef::SetName(wchar_t const *)\n9082 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n9083 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n9084 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n9085 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n9086 void CDaoQueryDef::SetODBCTimeout(short)\n9087 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n9088 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n9089 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n9090 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n9091 void CDaoQueryDef::SetParamValueNull(int)\n9092 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n9093 void CDaoRecordset::SetParamValueNull(int)\n9094 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n9095 void CDaoRecordset::SetPercentPosition(float)\n9096 void CDaoDatabase::SetQueryTimeout(short)\n9097 void CDaoQueryDef::SetReturnsRecords(int)\n9098 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n9099 void CDaoQueryDef::SetSQL(wchar_t const *)\n9100 void CDaoTableDef::SetValidationRule(wchar_t const *)\n9101 void CDaoTableDef::SetValidationText(wchar_t const *)\n9102 void CDaoRecordset::StoreFields()\n9103 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n9104 void CDaoDatabase::ThrowDaoException(int)\n9105 void CDaoQueryDef::ThrowDaoException(int)\n9106 void CDaoRecordset::ThrowDaoException(int)\n9107 void CDaoTableDef::ThrowDaoException(int)\n9108 void CDaoWorkspace::ThrowDaoException(int)\n9109 void ThrowGetRowsDaoException(long)\n9110 void CDaoRecordset::Update()\n9111 CRuntimeconst CDaoDatabase::classCDaoDatabase\n9112 CRuntimeconst CDaoException::classCDaoException\n9113 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n9114 CRuntimeconst CDaoRecordset::classCDaoRecordset\n9115 CRuntimeconst CDaoRecordView::classCDaoRecordView\n9116 CRuntimeconst CDaoTableDef::classCDaoTableDef\n9117 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n9118 CRuntimeconst CDatabase::classCDatabase\n9119 CRuntimeconst CDBException::classCDBException\n9120 CRuntimeconst CLongBinary::classCLongBinary\n9121 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n9122 CRuntimeconst CRecordset::classCRecordset\n9123 CRuntimeconst CRecordView::classCRecordView\n9127 int AfxEnableMemoryLeakOverride(int)\n9128 COleVariant::COleVariant(__int64)\n9129 COleVariant::COleVariant(unsigned __int64)\n9130 int CPropertySheet::IsModeless()const \n9131 int CDC::SetGraphicsMode(int)\n9132 int CDC::SetWorldTransform(tagXFORM const *)\n9133 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n9134 int CDC::GetGraphicsMode()const \n9135 int CDC::GetWorldTransform(tagXFORM *)const \n9136 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager()const \n9137 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager()const \n9138 void AFX_MODULE_STATE::CreateActivationContext()\n9139 CControlCreationInfo::CControlCreationInfo()\n9140 CControlSiteFactoryMgr::CControlSiteFactoryMgr()\n9141 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n9142 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n9143 COleControlSiteOrWnd::COleControlSiteOrWnd()\n9144 CControlSiteFactoryMgr::~CControlSiteFactoryMgr()\n9145 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n9146 int AfxRegisterSiteFactory(IControlSiteFactory *)\n9147 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n9148 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n9149 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n9150 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n9151 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n9152 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n9153 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n9155 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n9156 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n9157 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo()\n9158 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo()\n9159 int CControlCreationInfo::IsManaged()const \n9160 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n9161 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n9162 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n9163 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n9164 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n9165 __POSITION * CWnd::FindSiteOrWndWithFocus()const \n9166 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n9167 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n9168 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n9169 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n9170 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n9171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n9172 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n9173 int AfxIsValidAtom(unsigned short)\n9174 int AfxIsValidAtom(wchar_t const *)\n9175 void CFileDialog::SetControlText(int,wchar_t const *)\n9176 COleVariant const & COleVariant::operator=(__int64)\n9177 COleVariant const & COleVariant::operator=(unsigned __int64)\n9178 void AfxUnregisterWndClasses()\n9179 void CWinApp::DoEnableModeless(int)\n9181 HWND__ * CPropertyPage::OnWizardFinishEx()\n9186 int CWinApp::ShowAppMessageBox(CWinApp *,wchar_t const *,unsigned int,unsigned int)\n9187 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n9188 int AfxGetAmbientActCtx()\n9189 void AfxSetAmbientActCtx(int)\n9190 int AfxActivateActCtx(void *,unsigned long *)\n9191 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n9192 void * AfxCreateActCtxW(tagACTCTXW const *)\n9193 int AfxDeactivateActCtx(unsigned long,unsigned long)\n9194 void AfxReleaseActCtx(void *)\n9195 void COleClientItem::GetItemName(wchar_t *,unsigned int)const \n9196 HINSTANCE__ * AfxLoadLibraryEx(wchar_t const *,void *,unsigned long)\n9197 void CArchive::EnsureRead(void *,unsigned int)\n9198 int AfxIsModuleDll()\n9199 int AfxInitCurrentStateApp()\n9200 int CFtpConnection::CreateDirectory(wchar_t const *)\n9201 int CDC::DrawText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n9202 int CDC::DrawText(wchar_t const *,int,tagRECT *,unsigned int)\n9203 int CMetaFileDC::DrawText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n9204 int CMetaFileDC::DrawText(wchar_t const *,int,tagRECT *,unsigned int)\n9205 int CDC::DrawTextEx(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9206 int CDC::DrawTextEx(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9207 int CMetaFileDC::DrawTextEx(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9208 int CMetaFileDC::DrawTextEx(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n9209 CFrameWnd * CWnd::EnsureParentFrame()const \n9210 CWnd * CWnd::EnsureTopLevelParent()const \n9211 int CGdiObject::GetObject(int,void *)const \n9212 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObject()const \n9213 int CDC::GetTextMetrics(tagTEXTMETRICW *)const \n9214 int COlePropertyPage::MessageBox(wchar_t const *,wchar_t const *,unsigned int)\n9215 int CWnd::MessageBox(wchar_t const *,wchar_t const *,unsigned int)\n9216 int CFtpConnection::SetCurrentDirectory(wchar_t const *)\n9217 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(unsigned int,...)\n9218 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(wchar_t const *,...)\n9219 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n9220 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n9221 HINSTANCE__ * AfxGetInstanceHandleHelper()\n9222 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo()\n9223 CFormView::~CFormView()\n9224 int CWnd::DlgDirSelect(wchar_t *,int,int)\n9225 int CWnd::DlgDirSelectComboBox(wchar_t *,int,int)\n9226 long CWnd::SendMessage(unsigned int,unsigned int,long)\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc90.def",
    "content": "256 ??$CopyElements@VCOleVariant@@@@YGXPAVCOleVariant@@PBV0@H@Z\n257 ??$HashKey@ABUtagVARIANT@@@@YGIABUtagVARIANT@@@Z\n258 ??$HashKey@PB_W@@YGIPB_W@Z\n259 ??$HashKey@PBD@@YGIPBD@Z\n260 ??$HashKey@VCComBSTR@ATL@@@@YGIVCComBSTR@ATL@@@Z\n261 ??$SerializeElements@V?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@H@Z\n262 ??$SerializeElements@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z\n263 ??$SerializeElements@VCComBSTR@ATL@@@@YGXAAVCArchive@@PAVCComBSTR@ATL@@H@Z\n264 ??$SerializeElements@VCOleVariant@@@@YGXAAVCArchive@@PAVCOleVariant@@H@Z\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n317 _AFX_DAO_STATE::_AFX_DAO_STATE(void)\n318 _AFX_THREAD_STATE::_AFX_THREAD_STATE(void)\n319 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n320 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)\n321 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n322 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n323 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE(void)\n324 CArchive::CArchive(CFile *,unsigned int,int,void *)\n325 CArchivePropExchange::CArchivePropExchange(CArchive &)\n326 CArchiveStream::CArchiveStream(CArchive *)\n327 CAsyncMonikerFile::CAsyncMonikerFile(void)\n328 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n329 CAsyncSocket::CAsyncSocket(void)\n330 CBlobProperty::CBlobProperty(void *)\n331 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n332 CBrush::CBrush(int,unsigned long)\n333 CBrush::CBrush(unsigned long)\n334 CBrush::CBrush(CBitmap *)\n335 CByteArray::CByteArray(void)\n336 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu(void)\n337 CClientDC::CClientDC(CWnd *)\n338 CCmdTarget::CCmdTarget(void)\n339 CCmdUI::CCmdUI(void)\n340 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n341 CCommandLineInfo::CCommandLineInfo(void)\n342 CConnectionPoint::CConnectionPoint(void)\n343 CControlBar::CControlBar(void)\n344 CControlBarInfo::CControlBarInfo(void)\n345 CControlCreationInfo::CControlCreationInfo(void)\n346 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n347 CControlFrameWnd::CControlFrameWnd(COleControl *)\n348 CControlSiteFactoryMgr::CControlSiteFactoryMgr(void)\n349 CCtrlView::CCtrlView(char const *,unsigned long)\n350 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n351 CDaoException::CDaoException(void)\n352 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n353 CDaoIndexInfo::CDaoIndexInfo(void)\n354 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n355 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n356 CDaoRecordView::CDaoRecordView(unsigned int)\n357 CDaoRecordView::CDaoRecordView(char const *)\n358 CDaoRelationInfo::CDaoRelationInfo(void)\n359 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n360 CDaoWorkspace::CDaoWorkspace(void)\n361 CDatabase::CDatabase(void)\n362 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n363 CDataExchange::CDataExchange(CWnd *,int)\n364 CDataSourceControl::CDataSourceControl(COleControlSite *)\n365 CDBException::CDBException(short)\n366 CDBVariant::CDBVariant(void)\n367 CDC::CDC(void)\n368 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n369 CDHtmlControlSink::CDHtmlControlSink(void)\n370 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n371 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n372 CDHtmlDialog::CDHtmlDialog(void)\n373 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n374 CDialog::CDialog(unsigned int,CWnd *)\n375 CDialog::CDialog(char const *,CWnd *)\n376 CDialog::CDialog(void)\n377 CDialogBar::CDialogBar(void)\n378 CDialogTemplate::CDialogTemplate(void *)\n379 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n380 CDocItem::CDocItem(void)\n381 CDockBar::CDockBar(int)\n382 CDockContext::CDockContext(CControlBar *)\n383 CDockState::CDockState(void)\n384 CDocManager::CDocManager(void)\n385 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n386 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n387 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n388 CDocument::CDocument(void)\n389 CDumpContext::CDumpContext(CFile *)\n390 CDWordArray::CDWordArray(void)\n391 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n392 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n393 CEditView::CEditView(void)\n394 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n395 CEnumConnections::CEnumConnections(void const *,unsigned int)\n396 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n397 CEnumFormatEtc::CEnumFormatEtc(void)\n398 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n399 CException::CException(int)\n400 CException::CException(void)\n401 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n402 CFile::CFile(void *)\n403 CFile::CFile(char const *,unsigned int)\n404 CFile::CFile(void)\n405 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long,int)\n406 CFileFind::CFileFind(void)\n407 CFindReplaceDialog::CFindReplaceDialog(void)\n408 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n409 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n410 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n411 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n412 CFontHolder::CFontHolder(IPropertyNotifySink *)\n413 CFormView::CFormView(unsigned int)\n414 CFormView::CFormView(char const *)\n415 CFrameWnd::CFrameWnd(void)\n416 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n417 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n418 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n419 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n420 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n421 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n422 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n423 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n424 CGopherLocator::CGopherLocator(char const *,unsigned long)\n425 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n426 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n427 CHtmlEditCtrl::CHtmlEditCtrl(void)\n428 CHtmlEditDoc::CHtmlEditDoc(void)\n429 CHtmlEditView::CHtmlEditView(void)\n430 CHtmlView::CHtmlView(void)\n431 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n432 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n433 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n434 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n435 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n436 CImageList::CImageList(void)\n437 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n438 CInternetException::CInternetException(unsigned long)\n439 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n440 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n441 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n442 CLongBinary::CLongBinary(void)\n443 CMapPtrToPtr::CMapPtrToPtr(int)\n444 CMapPtrToWord::CMapPtrToWord(int)\n445 CMapStringToOb::CMapStringToOb(int)\n446 CMapStringToPtr::CMapStringToPtr(int)\n447 CMapStringToString::CMapStringToString(int)\n448 CMapWordToOb::CMapWordToOb(int)\n449 CMapWordToPtr::CMapWordToPtr(int)\n450 CMDIChildWnd::CMDIChildWnd(void)\n451 CMDIFrameWnd::CMDIFrameWnd(void)\n452 CMemFile::CMemFile(unsigned int)\n453 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n454 CMetaFileDC::CMetaFileDC(void)\n455 CMiniDockFrameWnd::CMiniDockFrameWnd(void)\n456 CMiniFrameWnd::CMiniFrameWnd(void)\n457 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n458 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n459 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n460 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n461 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(void)\n462 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n463 CObArray::CObArray(void)\n464 CObList::CObList(int)\n465 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n466 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n467 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n468 COleClientItem::COleClientItem(COleDocument *)\n469 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n470 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n471 COleControl::COleControl(void)\n472 COleControlContainer::COleControlContainer(CWnd *)\n473 COleControlLock::COleControlLock(_GUID const &)\n474 COleControlSite::COleControlSite(COleControlContainer *)\n475 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n476 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n477 COleControlSiteOrWnd::COleControlSiteOrWnd(void)\n478 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n479 COleCurrency::COleCurrency(long,long)\n480 COleDataObject::COleDataObject(void)\n481 COleDataSource::COleDataSource(void)\n482 COleDialog::COleDialog(CWnd *)\n483 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n484 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n485 COleDispatchDriver::COleDispatchDriver(void)\n486 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n487 COleDocIPFrameWnd::COleDocIPFrameWnd(void)\n488 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n489 COleDocument::COleDocument(void)\n490 COleDropSource::COleDropSource(void)\n491 COleDropTarget::COleDropTarget(void)\n492 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n493 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n494 COleIPFrameWnd::COleIPFrameWnd(void)\n495 COleLinkingDoc::COleLinkingDoc(void)\n496 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n497 COleMessageFilter::COleMessageFilter(void)\n498 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n499 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n500 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n501 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n502 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n503 COleResizeBar::COleResizeBar(void)\n504 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n505 COleSafeArray::COleSafeArray(tagVARIANT const &)\n506 COleSafeArray::COleSafeArray(COleSafeArray const &)\n507 COleSafeArray::COleSafeArray(COleVariant const &)\n508 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n509 COleSafeArray::COleSafeArray(tagVARIANT const *)\n510 COleServerDoc::COleServerDoc(void)\n511 COleServerItem::COleServerItem(COleServerDoc *,int)\n512 COleStreamFile::COleStreamFile(IStream *)\n513 COleTemplateServer::COleTemplateServer(void)\n514 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n515 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n516 COleVariant::COleVariant(tagVARIANT const &)\n517 COleVariant::COleVariant(COleVariant const &)\n518 COleVariant::COleVariant(short,unsigned short)\n519 COleVariant::COleVariant(long,unsigned short)\n520 COleVariant::COleVariant(char const *,unsigned short)\n521 COleVariant::COleVariant(_ITEMIDLIST const *)\n522 COleVariant::COleVariant(tagVARIANT const *)\n523 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n524 CPaintDC::CPaintDC(CWnd *)\n525 CPen::CPen(int,int,unsigned long)\n526 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n527 CPictureHolder::CPictureHolder(void)\n528 CPreviewDC::CPreviewDC(void)\n529 CPreviewView::CPreviewView(void)\n530 CPrintDialog::CPrintDialog(tagPDA &)\n531 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n532 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n533 CPrintInfo::CPrintInfo(void)\n534 CPrintPreviewState::CPrintPreviewState(void)\n535 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n536 CProperty::CProperty(unsigned long,void * const,unsigned long)\n537 CProperty::CProperty(void)\n538 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n539 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n540 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n541 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n542 CPropertyPage::CPropertyPage(void)\n543 CPropertySection::CPropertySection(_GUID)\n544 CPropertySection::CPropertySection(void)\n545 CPropertySet::CPropertySet(_GUID)\n546 CPropertySet::CPropertySet(void)\n547 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n548 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n549 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n550 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n551 CPropertySheet::CPropertySheet(void)\n552 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n553 CPtrArray::CPtrArray(void)\n554 CPtrList::CPtrList(int)\n555 CReBar::CReBar(void)\n556 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n557 CRecordset::CRecordset(CDatabase *)\n558 CRecordView::CRecordView(unsigned int)\n559 CRecordView::CRecordView(char const *)\n560 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n561 CReObject::CReObject(CRichEditCntrItem *)\n562 CReObject::CReObject(void)\n563 CResetPropExchange::CResetPropExchange(void)\n564 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n565 CRichEditDoc::CRichEditDoc(void)\n566 CRichEditView::CRichEditView(void)\n567 CScrollView::CScrollView(void)\n568 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n569 CSharedFile::CSharedFile(unsigned int,unsigned int)\n570 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n571 CSingleLock::CSingleLock(CSyncObject *,int)\n572 CSocket::CSocket(void)\n573 CSocketFile::CSocketFile(CSocket *,int)\n574 CSocketWnd::CSocketWnd(void)\n575 CSplitterWnd::CSplitterWnd(void)\n576 CStatusBar::CStatusBar(void)\n577 CStdioFile::CStdioFile(_iobuf *)\n578 CStdioFile::CStdioFile(char const *,unsigned int)\n579 CStdioFile::CStdioFile(void)\n580 CStringArray::CStringArray(void)\n581 CStringList::CStringList(int)\n582 CSyncObject::CSyncObject(char const *)\n583 CTestCmdUI::CTestCmdUI(void)\n584 CThreadSlotData::CThreadSlotData(void)\n585 CToolBar::CToolBar(void)\n586 CToolTipCtrl::CToolTipCtrl(void)\n587 CUIntArray::CUIntArray(void)\n588 CView::CView(void)\n589 CWinApp::CWinApp(char const *)\n590 CWindowDC::CWindowDC(CWnd *)\n591 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n592 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n593 CWinThread::CWinThread(void)\n594 CWnd::CWnd(HWND__ *)\n595 CWnd::CWnd(void)\n596 CWordArray::CWordArray(void)\n597 CPreviewView::PAGE_INFO::PAGE_INFO(void)\n598 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>(void)\n599 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>(void)\n600 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n601 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n602 _AFX_DAO_STATE::~_AFX_DAO_STATE(void)\n603 _AFX_THREAD_STATE::~_AFX_THREAD_STATE(void)\n604 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE(void)\n605 AFX_MODULE_STATE::~AFX_MODULE_STATE(void)\n606 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE(void)\n607 CAnimateCtrl::~CAnimateCtrl(void)\n608 CArchive::~CArchive(void)\n609 CAsyncMonikerFile::~CAsyncMonikerFile(void)\n610 CAsyncSocket::~CAsyncSocket(void)\n611 CButton::~CButton(void)\n612 CByteArray::~CByteArray(void)\n613 CClientDC::~CClientDC(void)\n614 CCmdTarget::~CCmdTarget(void)\n615 CComboBox::~CComboBox(void)\n616 CComboBoxEx::~CComboBoxEx(void)\n617 CCommandLineInfo::~CCommandLineInfo(void)\n618 CConnectionPoint::~CConnectionPoint(void)\n619 CControlBar::~CControlBar(void)\n620 CControlSiteFactoryMgr::~CControlSiteFactoryMgr(void)\n621 CCtrlView::~CCtrlView(void)\n622 CDaoDatabase::~CDaoDatabase(void)\n623 CDaoException::~CDaoException(void)\n624 CDaoIndexInfo::~CDaoIndexInfo(void)\n625 CDaoQueryDef::~CDaoQueryDef(void)\n626 CDaoRecordset::~CDaoRecordset(void)\n627 CDaoRecordView::~CDaoRecordView(void)\n628 CDaoRelationInfo::~CDaoRelationInfo(void)\n629 CDaoTableDef::~CDaoTableDef(void)\n630 CDaoWorkspace::~CDaoWorkspace(void)\n631 CDatabase::~CDatabase(void)\n632 CDataSourceControl::~CDataSourceControl(void)\n633 CDateTimeCtrl::~CDateTimeCtrl(void)\n634 CDBException::~CDBException(void)\n635 CDBVariant::~CDBVariant(void)\n636 CDC::~CDC(void)\n637 CDHtmlControlSink::~CDHtmlControlSink(void)\n638 CDHtmlDialog::~CDHtmlDialog(void)\n639 CDialog::~CDialog(void)\n640 CDialogBar::~CDialogBar(void)\n641 CDialogTemplate::~CDialogTemplate(void)\n642 CDocItem::~CDocItem(void)\n643 CDockBar::~CDockBar(void)\n644 CDockContext::~CDockContext(void)\n645 CDockState::~CDockState(void)\n646 CDocManager::~CDocManager(void)\n647 CDocObjectServer::~CDocObjectServer(void)\n648 CDocObjectServerItem::~CDocObjectServerItem(void)\n649 CDocTemplate::~CDocTemplate(void)\n650 CDocument::~CDocument(void)\n651 CDragListBox::~CDragListBox(void)\n652 CDWordArray::~CDWordArray(void)\n653 CDynLinkLibrary::~CDynLinkLibrary(void)\n654 CEdit::~CEdit(void)\n655 CEditView::~CEditView(void)\n656 CEnumArray::~CEnumArray(void)\n657 CEnumConnections::~CEnumConnections(void)\n658 CEnumConnPoints::~CEnumConnPoints(void)\n659 CEnumFormatEtc::~CEnumFormatEtc(void)\n660 CEnumOleVerb::~CEnumOleVerb(void)\n661 CEnumUnknown::~CEnumUnknown(void)\n662 CEvent::~CEvent(void)\n663 CFile::~CFile(void)\n664 CFileDialog::~CFileDialog(void)\n665 CFileFind::~CFileFind(void)\n666 CFixedAlloc::~CFixedAlloc(void)\n667 CFixedAllocNoSync::~CFixedAllocNoSync(void)\n668 CFontHolder::~CFontHolder(void)\n669 CFormView::~CFormView(void)\n670 CFrameWnd::~CFrameWnd(void)\n671 CFtpConnection::~CFtpConnection(void)\n672 CFtpFileFind::~CFtpFileFind(void)\n673 CGopherConnection::~CGopherConnection(void)\n674 CGopherFile::~CGopherFile(void)\n675 CGopherFileFind::~CGopherFileFind(void)\n676 CGopherLocator::~CGopherLocator(void)\n677 CHeaderCtrl::~CHeaderCtrl(void)\n678 CHotKeyCtrl::~CHotKeyCtrl(void)\n679 CHtmlControlSite::~CHtmlControlSite(void)\n680 CHtmlEditCtrl::~CHtmlEditCtrl(void)\n681 CHtmlEditDoc::~CHtmlEditDoc(void)\n682 CHtmlEditView::~CHtmlEditView(void)\n683 CHtmlView::~CHtmlView(void)\n684 CHttpConnection::~CHttpConnection(void)\n685 CHttpFile::~CHttpFile(void)\n686 CImageList::~CImageList(void)\n687 CInternetConnection::~CInternetConnection(void)\n688 CInternetException::~CInternetException(void)\n689 CInternetFile::~CInternetFile(void)\n690 CInternetSession::~CInternetSession(void)\n691 CIPAddressCtrl::~CIPAddressCtrl(void)\n692 CListBox::~CListBox(void)\n693 CListCtrl::~CListCtrl(void)\n694 CLongBinary::~CLongBinary(void)\n695 CMapPtrToPtr::~CMapPtrToPtr(void)\n696 CMapPtrToWord::~CMapPtrToWord(void)\n697 CMapStringToOb::~CMapStringToOb(void)\n698 CMapStringToPtr::~CMapStringToPtr(void)\n699 CMapStringToString::~CMapStringToString(void)\n700 CMapWordToOb::~CMapWordToOb(void)\n701 CMapWordToPtr::~CMapWordToPtr(void)\n702 CMemFile::~CMemFile(void)\n703 CMetaFileDC::~CMetaFileDC(void)\n704 CMiniFrameWnd::~CMiniFrameWnd(void)\n705 CMonikerFile::~CMonikerFile(void)\n706 CMonthCalCtrl::~CMonthCalCtrl(void)\n707 CMultiDocTemplate::~CMultiDocTemplate(void)\n708 CMultiLock::~CMultiLock(void)\n709 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog(void)\n710 CMutex::~CMutex(void)\n711 CObArray::~CObArray(void)\n712 CObList::~CObList(void)\n713 COleBusyDialog::~COleBusyDialog(void)\n714 COleChangeIconDialog::~COleChangeIconDialog(void)\n715 COleChangeSourceDialog::~COleChangeSourceDialog(void)\n716 COleClientItem::~COleClientItem(void)\n717 COleCntrFrameWnd::~COleCntrFrameWnd(void)\n718 COleControl::~COleControl(void)\n719 COleControlContainer::~COleControlContainer(void)\n720 COleControlLock::~COleControlLock(void)\n721 COleControlSite::~COleControlSite(void)\n722 COleControlSiteOrWnd::~COleControlSiteOrWnd(void)\n723 COleConvertDialog::~COleConvertDialog(void)\n724 COleDataSource::~COleDataSource(void)\n725 COleDispatchException::~COleDispatchException(void)\n726 COleDocIPFrameWnd::~COleDocIPFrameWnd(void)\n727 COleDocObjectItem::~COleDocObjectItem(void)\n728 COleDocument::~COleDocument(void)\n729 COleDropTarget::~COleDropTarget(void)\n730 COleFrameHook::~COleFrameHook(void)\n731 COleInsertDialog::~COleInsertDialog(void)\n732 COleIPFrameWnd::~COleIPFrameWnd(void)\n733 COleLinkingDoc::~COleLinkingDoc(void)\n734 COleLinksDialog::~COleLinksDialog(void)\n735 COleMessageFilter::~COleMessageFilter(void)\n736 COleObjectFactory::~COleObjectFactory(void)\n737 COlePasteSpecialDialog::~COlePasteSpecialDialog(void)\n738 COlePropertyPage::~COlePropertyPage(void)\n739 COleResizeBar::~COleResizeBar(void)\n740 COleServerDoc::~COleServerDoc(void)\n741 COleServerItem::~COleServerItem(void)\n742 COleStreamFile::~COleStreamFile(void)\n743 COleUpdateDialog::~COleUpdateDialog(void)\n744 CPaintDC::~CPaintDC(void)\n745 CPictureHolder::~CPictureHolder(void)\n746 CPreviewDC::~CPreviewDC(void)\n747 CPreviewView::~CPreviewView(void)\n748 CPrintInfo::~CPrintInfo(void)\n749 CProcessLocalObject::~CProcessLocalObject(void)\n750 CProgressCtrl::~CProgressCtrl(void)\n751 CPropbagPropExchange::~CPropbagPropExchange(void)\n752 CProperty::~CProperty(void)\n753 CPropertyPage::~CPropertyPage(void)\n754 CPropertySection::~CPropertySection(void)\n755 CPropertySet::~CPropertySet(void)\n756 CPropertySheet::~CPropertySheet(void)\n757 CPtrArray::~CPtrArray(void)\n758 CPtrList::~CPtrList(void)\n759 CReBarCtrl::~CReBarCtrl(void)\n760 CRecentFileList::~CRecentFileList(void)\n761 CRecordset::~CRecordset(void)\n762 CRecordView::~CRecordView(void)\n763 CRectTracker::~CRectTracker(void)\n764 CReObject::~CReObject(void)\n765 CRichEditCntrItem::~CRichEditCntrItem(void)\n766 CRichEditCtrl::~CRichEditCtrl(void)\n767 CScrollBar::~CScrollBar(void)\n768 CScrollView::~CScrollView(void)\n769 CSemaphore::~CSemaphore(void)\n770 CSharedFile::~CSharedFile(void)\n771 CSingleDocTemplate::~CSingleDocTemplate(void)\n772 CSliderCtrl::~CSliderCtrl(void)\n773 CSocket::~CSocket(void)\n774 CSocketFile::~CSocketFile(void)\n775 CSpinButtonCtrl::~CSpinButtonCtrl(void)\n776 CSplitterWnd::~CSplitterWnd(void)\n777 CStatic::~CStatic(void)\n778 CStatusBar::~CStatusBar(void)\n779 CStatusBarCtrl::~CStatusBarCtrl(void)\n780 CStdioFile::~CStdioFile(void)\n781 CStringArray::~CStringArray(void)\n782 CStringList::~CStringList(void)\n783 CSyncObject::~CSyncObject(void)\n784 CTabCtrl::~CTabCtrl(void)\n785 CThreadLocalObject::~CThreadLocalObject(void)\n786 CThreadSlotData::~CThreadSlotData(void)\n787 CToolBar::~CToolBar(void)\n788 CToolBarCtrl::~CToolBarCtrl(void)\n789 CToolTipCtrl::~CToolTipCtrl(void)\n790 CTreeCtrl::~CTreeCtrl(void)\n791 CUIntArray::~CUIntArray(void)\n792 CView::~CView(void)\n793 CWinApp::~CWinApp(void)\n794 CWindowDC::~CWindowDC(void)\n795 CWinThread::~CWinThread(void)\n796 CWnd::~CWnd(void)\n797 CWordArray::~CWordArray(void)\n798 void * operator new(unsigned int)\n799 void * CNoTrackObject::operator new(unsigned int)\n800 void operator delete(void *)\n801 void CNoTrackObject::operator delete(void *)\n802 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n803 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n804 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n805 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n806 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n807 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n808 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n809 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n810 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n811 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n812 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n813 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n814 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n815 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n816 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n817 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n818 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n819 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n820 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n821 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n822 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n823 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n824 COleCurrency const & COleCurrency::operator=(union tagCY)\n825 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n826 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n827 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n828 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n829 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n830 COleVariant const & COleVariant::operator=(__int64)\n831 COleVariant const & COleVariant::operator=(unsigned __int64)\n832 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n833 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n834 COleVariant const & COleVariant::operator=(COleVariant const &)\n835 COleVariant const & COleVariant::operator=(CByteArray const &)\n836 COleVariant const & COleVariant::operator=(CLongBinary const &)\n837 COleVariant const & COleVariant::operator=(COleCurrency const &)\n838 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n839 COleVariant const & COleVariant::operator=(unsigned char)\n840 COleVariant const & COleVariant::operator=(short)\n841 COleVariant const & COleVariant::operator=(long)\n842 COleVariant const & COleVariant::operator=(float)\n843 COleVariant const & COleVariant::operator=(double)\n844 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n845 COleVariant const & COleVariant::operator=(char const * const)\n846 CArchive & operator>>(CArchive &,CByteArray * &)\n847 CArchive & operator>>(CArchive &,CDocItem * &)\n848 CArchive & operator>>(CArchive &,CDockState * &)\n849 CArchive & operator>>(CArchive &,CDWordArray * &)\n850 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n851 CArchive & operator>>(CArchive &,CMapStringToString * &)\n852 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n853 CArchive & operator>>(CArchive &,CObArray * &)\n854 CArchive & operator>>(CArchive &,CObList * &)\n855 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n856 CArchive & operator>>(CArchive &,CStringArray * &)\n857 CArchive & operator>>(CArchive &,CStringList * &)\n858 CArchive & operator>>(CArchive &,CWordArray * &)\n859 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n860 CArchive & operator>>(CArchive &,COleCurrency &)\n861 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n862 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n863 CArchive & operator>>(CArchive &,COleVariant &)\n864 CArchive & operator>>(CArchive &,ATL::CTime &)\n865 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n866 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n867 CArchive & operator<<(CArchive &,COleCurrency)\n868 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n869 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n870 CArchive & operator<<(CArchive &,COleVariant)\n871 CArchive & operator<<(CArchive &,ATL::CTime)\n872 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n873 CDumpContext & CDumpContext::operator<<(__int64)\n874 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n875 CDumpContext & CDumpContext::operator<<(CObject const &)\n876 CDumpContext & CDumpContext::operator<<(unsigned char)\n877 CDumpContext & CDumpContext::operator<<(unsigned short)\n878 CDumpContext & CDumpContext::operator<<(int)\n879 CDumpContext & CDumpContext::operator<<(unsigned int)\n880 CDumpContext & CDumpContext::operator<<(long)\n881 CDumpContext & CDumpContext::operator<<(unsigned long)\n882 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n883 CDumpContext & CDumpContext::operator<<(HDC__ *)\n884 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n885 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n886 CDumpContext & CDumpContext::operator<<(HWND__ *)\n887 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n888 CDumpContext & CDumpContext::operator<<(char const *)\n889 CDumpContext & CDumpContext::operator<<(CObject const *)\n890 CDumpContext & CDumpContext::operator<<(void const *)\n891 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n892 int COleSafeArray::operator==(tagVARIANT const &)const \n893 int COleSafeArray::operator==(COleSafeArray const &)const \n894 int COleSafeArray::operator==(COleVariant const &)const \n895 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n896 int COleSafeArray::operator==(tagVARIANT const *)const \n897 int COleVariant::operator==(tagVARIANT const &)const \n898 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n899 char ATL::CSimpleStringT<char,1>::operator[](int)const \n900 void * & CMapPtrToPtr::operator[](void *)\n901 unsigned short & CMapPtrToWord::operator[](void *)\n902 CObject * & CMapStringToOb::operator[](char const *)\n903 void * & CMapStringToPtr::operator[](char const *)\n904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n905 CObject * & CMapWordToOb::operator[](unsigned short)\n906 void * & CMapWordToPtr::operator[](unsigned short)\n907 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n908 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *(void)const \n909 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &(void)\n910 ATL::CSimpleStringT<char,1>::operator char const *(void)const \n911 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n912 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &(void)\n913 COleCurrency COleCurrency::operator*(long)const \n914 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n915 COleCurrency COleCurrency::operator-(void)const \n916 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n917 COleCurrency COleCurrency::operator/(long)const \n918 int COleCurrency::operator<(COleCurrency const &)const \n919 int COleCurrency::operator<=(COleCurrency const &)const \n920 int COleCurrency::operator>(COleCurrency const &)const \n921 int COleCurrency::operator>=(COleCurrency const &)const \n922 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n923 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n924 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n925 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n926 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n927 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n928 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n929 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n930 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n931 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n932 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n933 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n934 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n935 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n936 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n937 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n938 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n939 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n940 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n941 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n942 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n943 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n944 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n945 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n946 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n947 int _AfxSocketInit(WSAData *)\n948 void CArchive::Abort(void)\n949 void CFile::Abort(void)\n950 void CInternetFile::Abort(void)\n951 void CMemFile::Abort(void)\n952 void CMirrorFile::Abort(void)\n953 void COleStreamFile::Abort(void)\n954 void CSocketFile::Abort(void)\n955 void CStdioFile::Abort(void)\n956 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n957 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n958 long CWnd::accDoDefaultAction(tagVARIANT)\n959 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n960 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n961 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n962 void COleSafeArray::AccessData(void * *)\n963 long CWnd::accHitTest(long,long,tagVARIANT *)\n964 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n965 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n966 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n967 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n968 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n969 long CWnd::accSelect(long,tagVARIANT)\n970 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n971 void COleClientItem::Activate(long,CView *,tagMSG *)\n972 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n973 void COleDocObjectItem::ActivateAndShow(void)\n974 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n975 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n976 void CDocObjectServer::ActivateDocObject(void)\n977 void COleServerDoc::ActivateDocObject(void)\n978 void CFrameWnd::ActivateFrame(int)\n979 void CMDIChildWnd::ActivateFrame(int)\n980 int COleServerDoc::ActivateInPlace(void)\n981 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n982 void CSplitterWnd::ActivateNext(int)\n983 void CWnd::ActivateTopParent(void)\n984 void CRecentFileList::Add(char const *)\n985 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n986 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n987 int CToolBarCtrl::AddBitmap(int,unsigned int)\n988 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n989 void COleClientItem::AddCachedData(COleDataSource *)\n990 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n991 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n992 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n993 void CDocManager::AddDocTemplate(CDocTemplate *)\n994 void CWinApp::AddDocTemplate(CDocTemplate *)\n995 void CDocTemplate::AddDocument(CDocument *)\n996 void CMultiDocTemplate::AddDocument(CDocument *)\n997 void CSingleDocTemplate::AddDocument(CDocument *)\n998 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n999 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n1000 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1001 void COleControl::AddFrameLevelUI(void)\n1002 void CFrameWnd::AddFrameWnd(void)\n1003 __POSITION * CObList::AddHead(CObject *)\n1004 void CObList::AddHead(CObList *)\n1005 __POSITION * CPtrList::AddHead(void *)\n1006 void CPtrList::AddHead(CPtrList *)\n1007 void CSimpleList::AddHead(void *)\n1008 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1009 __POSITION * CStringList::AddHead(char const *)\n1010 void CStringList::AddHead(CStringList *)\n1011 void COleDocument::AddItem(CDocItem *)\n1012 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1013 void CDaoRecordset::AddNew(void)\n1014 void CRecordset::AddNew(void)\n1015 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1016 void CPropertySheet::AddPage(CPropertyPage *)\n1017 void CPropertySection::AddProperty(CProperty *)\n1018 void CPropertySet::AddProperty(_GUID,CProperty *)\n1019 unsigned long CArchiveStream::AddRef(void)\n1020 unsigned long CBlobProperty::AddRef(void)\n1021 unsigned long CBrowserControlSite::AddRef(void)\n1022 unsigned long CDHtmlControlSink::AddRef(void)\n1023 unsigned long CDHtmlElementEventSink::AddRef(void)\n1024 unsigned long CDHtmlEventSink::AddRef(void)\n1025 unsigned long CInnerUnknown::AddRef(void)\n1026 unsigned long COleConnPtContainer::AddRef(void)\n1027 unsigned long COleDispatchImpl::AddRef(void)\n1028 unsigned long COleUILinkInfo::AddRef(void)\n1029 unsigned long CPrintDialogEx::AddRef(void)\n1030 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1031 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1032 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1033 CPropertySection * CPropertySet::AddSection(_GUID)\n1034 void CPropertySet::AddSection(CPropertySection *)\n1035 void COlePasteSpecialDialog::AddStandardFormats(int)\n1036 int CToolBarCtrl::AddString(unsigned int)\n1037 __POSITION * CObList::AddTail(CObject *)\n1038 void CObList::AddTail(CObList *)\n1039 __POSITION * CPtrList::AddTail(void *)\n1040 void CPtrList::AddTail(CPtrList *)\n1041 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1042 __POSITION * CStringList::AddTail(char const *)\n1043 void CStringList::AddTail(CStringList *)\n1044 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1045 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1046 void CWinApp::AddToRecentFileList(char const *)\n1047 void CDocument::AddView(CView *)\n1048 void CMetaFileDC::AdjustCP(int)\n1049 void CRichEditView::AdjustDialogPosition(CDialog *)\n1050 void CRectTracker::AdjustRect(int,tagRECT *)\n1051 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1052 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1053 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1054 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1055 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1056 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1057 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1058 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1059 void AfxAbort(void)\n1060 int AfxActivateActCtx(void *,unsigned long *)\n1061 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n1062 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1063 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1064 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1065 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1066 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1067 void AfxCancelModes(HWND__ *)\n1068 void AfxCheckError(long)\n1069 void AfxClassInit(CRuntime*)\n1070 int AfxComparePath(char const *,char const *)\n1071 int AfxCompareValueByRef(void *,void *,int)\n1072 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1073 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1074 void AfxCopyValueByRef(void *,void *,long *,int)\n1075 void AfxCoreInitModule(void)\n1076 void * AfxCreateActCtxW(tagACTCTXW const *)\n1077 HDC__ * AfxCreateDC(void *,void *)\n1078 int AfxCriticalInit(void)\n1079 int AfxCriticalNewHandler(unsigned int)\n1080 void AfxCriticalTerm(void)\n1081 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1082 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1083 _DAODBEngine * AfxDaoGetEngine(void)\n1084 void AfxDaoInit(void)\n1085 void AfxDaoTerm(void)\n1086 AUX_DATA afxData\n1087 int AfxDeactivateActCtx(unsigned long,unsigned long)\n1088 void AfxDeleteObject(void * *)\n1089 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1090 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1091 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1092 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1093 long AfxDllCanUnloadNow(void)\n1094 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1095 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1096 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1097 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1098 void AfxEnableControlContainer(COccManager *)\n1099 int AfxEndDeferRegisterClass(long)\n1100 void AfxEndThread(unsigned int,int)\n1101 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1102 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1103 void AfxFailMaxChars(CDataExchange *,int)\n1104 void AfxFailRadio(CDataExchange *)\n1105 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1106 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1107 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1108 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1109 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1110 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1111 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1112 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1113 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1114 int AfxFreeLibrary(HINSTANCE__ *)\n1115 int AfxFullPath(char *,char const *)\n1116 long (__stdcall*AfxGetAfxWndProc(void))(HWND__ *,unsigned int,unsigned int,long)\n1117 AFX_MODULE_STATE * AfxGetAppModuleState(void)\n1118 long AfxGetClassIDFromString(char const *,_GUID *)\n1119 tagMSG * AfxGetCurrentMessage(void)\n1120 _AFX_DAO_STATE * AfxGetDaoState(void)\n1121 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1122 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1123 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n1124 unsigned long AfxGetDllVersion(void)\n1125 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1126 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1127 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1128 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1129 void * AfxGetHENV(void)\n1130 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1131 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1132 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1133 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1134 HINSTANCE__ * AfxGetInstanceHandleHelper(void)\n1135 unsigned long AfxGetInternetHandleType(void *)\n1136 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1137 AFX_MODULE_STATE * AfxGetModuleState(void)\n1138 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState(void)\n1139 int (__cdecl*AfxGetNewHandler(void))(unsigned int)\n1140 HWND__ * AfxGetParentOwner(HWND__ *)\n1141 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1142 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1143 ATL::IAtlStringMgr * AfxGetStringManager(void)\n1144 CWinThread * AfxGetThread(void)\n1145 _AFX_THREAD_STATE * AfxGetThreadState(void)\n1146 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1147 void AfxGlobalFree(void *)\n1148 int AfxHelpEnabled(void)\n1149 void AfxHookWindowCreate(CWnd *)\n1150 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1151 int AfxInitCurrentStateApp(void)\n1152 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1153 void AfxInitLocalData(HINSTANCE__ *)\n1154 int AfxInitNetworkAddressControl(void)\n1155 int AfxInitRichEdit(void)\n1156 int AfxInitRichEdit2(void)\n1157 void AfxInitThread(void)\n1158 int AfxInternalIsIdleMessage(tagMSG *)\n1159 int AfxInternalPreTranslateMessage(tagMSG *)\n1160 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1161 int AfxInternalPumpMessage(void)\n1162 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1163 int AfxIsDescendant(HWND__ *,HWND__ *)\n1164 int AfxIsIdleMessage(tagMSG *)\n1165 int AfxIsModuleDll(void)\n1166 int AfxIsValidAddress(void const *,unsigned int,int)\n1167 int AfxIsValidAtom(unsigned short)\n1168 int AfxIsValidAtom(char const *)\n1169 int AfxIsValidString(wchar_t const *,int)\n1170 int AfxIsValidString(char const *,int)\n1171 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1172 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1173 HINSTANCE__ * AfxLoadLangResourceDLL(char const *,char const *)\n1174 HINSTANCE__ * AfxLoadLibrary(char const *)\n1175 HINSTANCE__ * AfxLoadLibraryEx(char const *,void *,unsigned long)\n1176 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1177 int AfxLoadString(unsigned int,char *,unsigned int)\n1178 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1179 void AfxLockGlobals(int)\n1180 void AfxLockTempMaps(void)\n1181 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1182 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1183 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1184 int AfxOleCanExitApp(void)\n1185 int AfxOleGetUserCtrl(void)\n1186 int AfxOleInit(void)\n1187 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1188 void AfxOleLockApp(void)\n1189 int AfxOleLockControl(_GUID const &)\n1190 int AfxOleLockControl(char const *)\n1191 void AfxOleOnReleaseAllObjects(void)\n1192 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1193 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1194 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1195 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1196 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1197 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1198 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1199 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1200 void AfxOleSetUserCtrl(int)\n1201 void AfxOleTerm(int)\n1202 void AfxOleTermOrFreeLib(int,int)\n1203 void AfxOleUnlockAllControls(void)\n1204 void AfxOleUnlockApp(void)\n1205 int AfxOleUnlockControl(_GUID const &)\n1206 int AfxOleUnlockControl(char const *)\n1207 int AfxOleUnregisterClass(_GUID const &,char const *)\n1208 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1209 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1210 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1211 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1212 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1213 void AfxPostQuitMessage(int)\n1214 int AfxPreTranslateMessage(tagMSG *)\n1215 long AfxProcessWndProcException(CException *,tagMSG const *)\n1216 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1217 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1218 int AfxPumpMessage(void)\n1219 unsigned int AfxReadStringLength(CArchive &,int &)\n1220 int AfxRegisterClass(tagWNDCLASSA *)\n1221 int AfxRegisterSiteFactory(IControlSiteFactory *)\n1222 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1223 void AfxReleaseActCtx(void *)\n1224 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1225 void AfxResetMsgCache(void)\n1226 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1227 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1228 void AfxSafeArrayInit(COleSafeArray *)\n1229 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1230 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1231 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1232 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1233 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1234 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1235 void AfxSetWindowText(HWND__ *,char const *)\n1236 void AfxSocketTerm(void)\n1237 void AfxStoreField(CRecordset &,unsigned int,void *)\n1238 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1239 wchar_t * AfxTaskStringA2W(char const *)\n1240 char * AfxTaskStringW2A(wchar_t const *)\n1241 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1242 void AfxTermLocalData(HINSTANCE__ *,int)\n1243 void AfxTermThread(HINSTANCE__ *)\n1244 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1245 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1246 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1247 void AfxThrowArchiveException(int,char const *)\n1248 void AfxThrowDaoException(int,long)\n1249 void AfxThrowDBException(short,CDatabase *,void *)\n1250 void AfxThrowFileException(int,long,char const *)\n1251 void AfxThrowInternetException(unsigned long,unsigned long)\n1252 void AfxThrowInvalidArgException(void)\n1253 void AfxThrowLastCleanup(void)\n1254 void AfxThrowMemoryException(void)\n1255 void AfxThrowNotSupportedException(void)\n1256 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1257 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1258 void AfxThrowOleException(long)\n1259 void AfxThrowResourceException(void)\n1260 void AfxThrowUserException(void)\n1261 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1262 void AfxTlsAddRef(void)\n1263 void AfxTlsRelease(void)\n1264 void AfxTrackerTerm(void)\n1265 void AfxTryCleanup(void)\n1266 int AfxUnhookWindowCreate(void)\n1267 void AfxUnlockGlobals(int)\n1268 int AfxUnlockTempMaps(int)\n1269 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1270 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n1271 void AfxUnregisterWndClasses(void)\n1272 void AfxVariantInit(tagVARIANT *)\n1273 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1274 char * AfxW2AHelper(char *,wchar_t const *,int)\n1275 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1276 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1277 void AfxWinTerm(void)\n1278 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1279 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1280 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1281 void * CFixedAlloc::Alloc(void)\n1282 void * CFixedAllocNoSync::Alloc(void)\n1283 unsigned char * CMemFile::Alloc(unsigned long)\n1284 unsigned char * CSharedFile::Alloc(unsigned long)\n1285 void CRecordset::AllocAndCacheFieldInfo(void)\n1286 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1287 void CDaoRecordset::AllocCache(void)\n1288 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1289 void CDatabase::AllocConnect(unsigned long)\n1290 void COleSafeArray::AllocData(void)\n1291 void CDaoRecordset::AllocDatabase(void)\n1292 void CRecordset::AllocDataCache(void)\n1293 void COleSafeArray::AllocDescriptor(unsigned long)\n1294 int CControlBar::AllocElements(int,int)\n1295 int CStatusBar::AllocElements(int,int)\n1296 int CRecordset::AllocHstmt(void)\n1297 void AllocLongBinary(CLongBinary &,unsigned long)\n1298 void CPropertyPage::AllocPSP(unsigned long)\n1299 void CRecordset::AllocRowset(void)\n1300 int CThreadSlotData::AllocSlot(void)\n1301 void CRecordset::AllocStatusArrays(void)\n1302 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString(void)const \n1303 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString(void)const \n1304 void * CProperty::AllocValue(unsigned long)\n1305 short COleControl::AmbientAppearance(void)\n1306 unsigned long COleControl::AmbientBackColor(void)\n1307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName(void)\n1308 IFontDisp * COleControl::AmbientFont(void)\n1309 unsigned long COleControl::AmbientForeColor(void)\n1310 unsigned long COleControl::AmbientLocaleID(void)\n1311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits(void)\n1312 int COleControl::AmbientShowGrabHandles(void)\n1313 int COleControl::AmbientShowHatching(void)\n1314 short COleControl::AmbientTextAlign(void)\n1315 int COleControl::AmbientUIDead(void)\n1316 int COleControl::AmbientUserMode(void)\n1317 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1318 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1319 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1320 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1321 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1322 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1323 int CByteArray::Append(CByteArray const &)\n1324 void CDaoQueryDef::Append(void)\n1325 void CDaoTableDef::Append(void)\n1326 void CDaoWorkspace::Append(void)\n1327 int CDWordArray::Append(CDWordArray const &)\n1328 int CObArray::Append(CObArray const &)\n1329 int CPtrArray::Append(CPtrArray const &)\n1330 int CStringArray::Append(CStringArray const &)\n1331 int CUIntArray::Append(CUIntArray const &)\n1332 int CWordArray::Append(CWordArray const &)\n1333 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1334 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1335 void CRecordset::AppendFilterAndSortSQL(void)\n1336 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1337 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1338 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1339 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1340 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1341 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1342 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1343 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1344 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1345 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1346 long COlePropertyPage::XPropertyPage::Apply(void)\n1347 void CFileDialog::ApplyOFNToShellDialog(void)\n1348 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1349 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1350 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1351 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1352 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1353 int CAsyncSocket::AsyncSelect(long)\n1354 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1355 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1356 int CAsyncSocket::Attach(unsigned int,long)\n1357 int CDC::Attach(HDC__ *)\n1358 int CGdiObject::Attach(void *)\n1359 int CImageList::Attach(_IMAGELIST *)\n1360 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1361 int CMenu::Attach(HMENU__ *)\n1362 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1363 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1364 void COleDataObject::Attach(IDataObject *,int)\n1365 void COleSafeArray::Attach(tagVARIANT &)\n1366 void COleStreamFile::Attach(IStream *)\n1367 void COleVariant::Attach(tagVARIANT &)\n1368 int CWnd::Attach(HWND__ *)\n1369 int COleDataObject::AttachClipboard(void)\n1370 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1371 void CWnd::AttachControlSite(CHandleMap *)\n1372 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1373 void COleClientItem::AttachDataObject(COleDataObject &)const \n1374 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1375 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1376 CPrintDialog * CPrintDialog::AttachOnSetup(void)\n1377 void COleControlSite::AttachWindow(void)\n1378 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1379 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1380 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1381 void COleMessageFilter::BeginBusyState(void)\n1382 int CDragListBox::BeginDrag(CPoint)\n1383 void COleDataObject::BeginEnumFormats(void)\n1384 void CFrameWnd::BeginModalState(void)\n1385 void CDaoWorkspace::BeginTrans(void)\n1386 int CDatabase::BeginTrans(void)\n1387 void CCmdTarget::BeginWaitCursor(void)\n1388 int CAsyncSocket::Bind(unsigned int,char const *)\n1389 void CDataSourceControl::BindColumns(void)\n1390 void COccManager::BindControls(CWnd *)\n1391 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1392 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1393 void CDaoRecordset::BindFields(void)\n1394 void CRecordset::BindFieldsForUpdate(void)\n1395 unsigned int CRecordset::BindFieldsToColumns(void)\n1396 void CDaoRecordset::BindParameters(void)\n1397 void CDatabase::BindParameters(void *)\n1398 unsigned int CRecordset::BindParams(void *)\n1399 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1400 void CDataSourceControl::BindProp(COleControlSite *,int)\n1401 void COleControlSite::BindProperty(long,CWnd *)\n1402 void CWnd::BindProperty(long,CWnd *)\n1403 void COleControl::BoundPropertyChanged(long)\n1404 int COleControl::BoundPropertyRequestEdit(long)\n1405 void CFrameWnd::BringToTop(int)\n1406 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1407 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1408 void CDaoRecordset::BuildParameterList(void)\n1409 void CPropertySheet::BuildPropPageArray(void)\n1410 void CDaoRecordset::BuildSelectList(void)\n1411 void CRecordset::BuildSelectSQL(void)\n1412 int COleControl::BuildSharedMenu(void)\n1413 int COleDocIPFrameWnd::BuildSharedMenu(void)\n1414 int COleIPFrameWnd::BuildSharedMenu(void)\n1415 void CDaoRecordset::BuildSQL(void)\n1416 void CRecordset::BuildSQL(char const *)\n1417 void CRecordset::BuildUpdateSQL(void)\n1418 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1419 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1420 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1421 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1422 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1423 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1424 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1425 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1426 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1427 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1428 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1429 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1430 CSize CControlBar::CalcFixedLayout(int,int)\n1431 CSize CDialogBar::CalcFixedLayout(int,int)\n1432 CSize CDockBar::CalcFixedLayout(int,int)\n1433 CSize CReBar::CalcFixedLayout(int,int)\n1434 CSize CStatusBar::CalcFixedLayout(int,int)\n1435 CSize CToolBar::CalcFixedLayout(int,int)\n1436 void CControlBar::CalcInsideRect(CRect &,int)const \n1437 void CStatusBar::CalcInsideRect(CRect &,int)const \n1438 CSize CToolBar::CalcLayout(unsigned long,int)\n1439 int CCheckListBox::CalcMinimumItemHeight(void)\n1440 CSize CPreviewView::CalcPageDisplaySize(void)\n1441 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1442 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1443 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1444 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1445 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1446 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1447 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1448 int CDHtmlDialog::CanAccessExternal(void)\n1449 int COleClientItem::CanActivate(void)\n1450 int CRichEditCntrItem::CanActivate(void)\n1451 int CSplitterWnd::CanActivateNext(int)\n1452 int CDaoRecordset::CanAppend(void)const \n1453 int CDaoRecordset::CanBookmark(void)\n1454 int CRecordset::CanBookmark(void)const \n1455 void CDatabase::Cancel(void)\n1456 void CRecordset::Cancel(void)\n1457 void CSocket::CancelBlockingCall(void)\n1458 void CDragListBox::CancelDrag(CPoint)\n1459 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1460 long COleUILinkInfo::CancelLink(unsigned long)\n1461 void CDockContext::CancelLoop(void)\n1462 void CPropertyPage::CancelToClose(void)\n1463 void CWnd::CancelToolTips(int)\n1464 void CDaoRecordset::CancelUpdate(void)\n1465 void CRecordset::CancelUpdate(void)\n1466 int CDocument::CanCloseFrame(CFrameWnd *)\n1467 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1468 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1469 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1470 unsigned long CDockContext::CanDock(void)\n1471 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1472 int CFrameWnd::CanEnterHelpMode(void)\n1473 long COleClientItem::XOleIPSite::CanInPlaceActivate(void)\n1474 long COleControlSite::XOleIPSite::CanInPlaceActivate(void)\n1475 int COleClientItem::CanPaste(void)\n1476 int CRichEditCtrl::CanPaste(unsigned int)const \n1477 int CRichEditView::CanPaste(void)const \n1478 int COleClientItem::CanPasteLink(void)\n1479 int CDaoRecordset::CanRestart(void)\n1480 int CDaoRecordset::CanScroll(void)const \n1481 int CDaoDatabase::CanTransact(void)\n1482 int CDaoRecordset::CanTransact(void)\n1483 int CDaoDatabase::CanUpdate(void)\n1484 int CDaoQueryDef::CanUpdate(void)\n1485 int CDaoRecordset::CanUpdate(void)const \n1486 int CDaoTableDef::CanUpdate(void)\n1487 long COleControlSite::XOleIPSite::CanWindowlessActivate(void)\n1488 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1489 void CScrollView::CenterOnPoint(CPoint)\n1490 void CWnd::CenterWindow(CWnd *)\n1491 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1492 int CListBox::CharToItem(unsigned int,unsigned int)\n1493 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA(void)\n1494 int CDatabase::Check(short)const \n1495 int CRecordset::Check(short)const \n1496 int CDialog::CheckAutoCenter(void)\n1497 int CWnd::CheckAutoCenter(void)\n1498 void CArchive::CheckCount(void)\n1499 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1500 void CWnd::CheckDlgButton(int,unsigned int)\n1501 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1502 void COleClientItem::CheckGeneral(long)\n1503 int CDatabase::CheckHstmt(short,void *)const \n1504 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1505 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1506 void COleControlContainer::CheckRadioButton(int,int,int)\n1507 void CWnd::CheckRadioButton(int,int,int)\n1508 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1509 void CRecordset::CheckRowsetError(short)\n1510 void CScrollView::CheckScrollBars(int &,int &)const \n1511 CRuntimeconst CDaoDatabase::classCDaoDatabase\n1512 CRuntimeconst CDaoException::classCDaoException\n1513 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n1514 CRuntimeconst CDaoRecordset::classCDaoRecordset\n1515 CRuntimeconst CDaoRecordView::classCDaoRecordView\n1516 CRuntimeconst CDaoTableDef::classCDaoTableDef\n1517 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n1518 CRuntimeconst CDatabase::classCDatabase\n1519 CRuntimeconst CDBException::classCDBException\n1520 CRuntimeconst CLongBinary::classCLongBinary\n1521 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n1522 CRuntimeconst CRecordset::classCRecordset\n1523 CRuntimeconst CRecordView::classCRecordView\n1524 void CPropertyPage::Cleanup(void)\n1525 void COlePropertyPage::CleanupObjectArray(void)\n1526 void CDBVariant::Clear(void)\n1527 void CDockState::Clear(void)\n1528 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n1529 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1530 void CRecordset::ClearFieldStatus(void)\n1531 void CDaoRecordset::ClearFieldStatusFlags(void)\n1532 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n1533 void CRecordset::ClearNullFieldStatus(unsigned long)\n1534 void CRecordset::ClearNullParamStatus(unsigned long)\n1535 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1536 void CWnd::ClientToScreen(tagRECT *)const \n1537 int COleControl::ClipCaretRect(tagRECT *)\n1538 void CPreviewDC::ClipToPage(void)\n1539 ATL::IAtlStringMgr * CAfxStringMgr::Clone(void)\n1540 long CArchiveStream::Clone(IStream * *)\n1541 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1542 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1543 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1544 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1545 void CArchive::Close(void)\n1546 void CAsyncMonikerFile::Close(void)\n1547 void CAsyncSocket::Close(void)\n1548 void CCachedDataPathProperty::Close(void)\n1549 void CDaoDatabase::Close(void)\n1550 void CDaoQueryDef::Close(void)\n1551 void CDaoRecordset::Close(void)\n1552 void CDaoTableDef::Close(void)\n1553 void CDaoWorkspace::Close(void)\n1554 void CDatabase::Close(void)\n1555 void CFile::Close(void)\n1556 void CFileFind::Close(void)\n1557 void CInternetConnection::Close(void)\n1558 void CInternetFile::Close(void)\n1559 void CInternetSession::Close(void)\n1560 void CMemFile::Close(void)\n1561 void CMirrorFile::Close(void)\n1562 void CMonikerFile::Close(void)\n1563 void COleClientItem::Close(enum tagOLECLOSE)\n1564 void COleStreamFile::Close(void)\n1565 void CRecordset::Close(void)\n1566 void CSocket::Close(void)\n1567 void CSocketFile::Close(void)\n1568 void CStdioFile::Close(void)\n1569 long CDocObjectServer::XOleObject::Close(unsigned long)\n1570 long COleControl::XOleObject::Close(unsigned long)\n1571 long COleServerDoc::XOleObject::Close(unsigned long)\n1572 long COleServerItem::XOleObject::Close(unsigned long)\n1573 void CDocManager::CloseAllDocuments(int)\n1574 void CDocTemplate::CloseAllDocuments(int)\n1575 void CWinApp::CloseAllDocuments(int)\n1576 void CFileFind::CloseContext(void)\n1577 void CFtpFileFind::CloseContext(void)\n1578 void CGopherFileFind::CloseContext(void)\n1579 long CThemeHelper::CloseThemeData(void *)\n1580 long CThemeHelper::CloseThemeDataFail(void *)\n1581 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1582 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1583 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1584 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1585 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1586 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1587 int CStatusBar::CommandToIndex(unsigned int)const \n1588 int CToolBar::CommandToIndex(unsigned int)const \n1589 long CArchiveStream::Commit(unsigned long)\n1590 void COleClientItem::CommitItem(int)\n1591 void COleDocument::CommitItems(int,IStorage *)\n1592 void CDaoWorkspace::CommitTrans(void)\n1593 int CDatabase::CommitTrans(void)\n1594 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n1595 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n1596 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n1597 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1598 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1599 void CWinThread::CommonConstruct(void)\n1600 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n1601 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n1602 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1603 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1604 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1605 int CListBox::CompareItem(tagCOMPAREITEM*)\n1606 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1607 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1608 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n1609 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n1610 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1611 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1612 int CAsyncSocket::Connect(char const *,unsigned int)\n1613 int CDatabase::Connect(unsigned long)\n1614 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1615 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1616 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1617 int CSocket::ConnectHelper(sockaddr const *,int)\n1618 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1619 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1620 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1621 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1622 void COleServerDoc::ConnectView(CWnd *,CView *)\n1623 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1624 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1625 void CPropertyPage::Construct(unsigned int,unsigned int)\n1626 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1627 void CPropertyPage::Construct(char const *,unsigned int)\n1628 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n1629 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1630 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1631 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n1632 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1633 void CRectTracker::Construct(void)\n1634 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1635 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1636 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1637 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1638 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1639 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1640 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1641 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1642 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1643 int CPropertySheet::ContinueModal(void)\n1644 int CWnd::ContinueModal(void)\n1645 void COleControl::ControlInfoChanged(void)\n1646 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1647 int COleClientItem::ConvertTo(_GUID const &)\n1648 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1649 void CByteArray::Copy(CByteArray const &)\n1650 void CDWordArray::Copy(CDWordArray const &)\n1651 void CObArray::Copy(CObArray const &)\n1652 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1653 void CPtrArray::Copy(CPtrArray const &)\n1654 void CStringArray::Copy(CStringArray const &)\n1655 void CUIntArray::Copy(CUIntArray const &)\n1656 void CWordArray::Copy(CWordArray const &)\n1657 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1658 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1659 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1660 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1661 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1662 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1663 void COleClientItem::CopyToClipboard(int)\n1664 void COleServerItem::CopyToClipboard(int)\n1665 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n1666 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1667 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n1668 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1669 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1670 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1671 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1672 int CControlFrameWnd::Create(char const *)\n1673 void CDaoDatabase::Create(char const *,char const *,int)\n1674 void CDaoQueryDef::Create(char const *,char const *)\n1675 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n1676 void CDaoWorkspace::Create(char const *,char const *,char const *)\n1677 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1678 int CDialog::Create(char const *,CWnd *)\n1679 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n1680 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1681 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1682 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n1683 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1684 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n1685 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1686 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1687 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1688 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1689 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1690 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1691 int CImageList::Create(int,int,unsigned int,int,int)\n1692 int CImageList::Create(unsigned int,int,int,unsigned long)\n1693 int CImageList::Create(CImageList *)\n1694 int CImageList::Create(char const *,int,int,unsigned long)\n1695 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1696 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1697 int CLinkCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1698 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1699 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1700 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1701 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1702 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1703 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1704 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1705 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1706 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1707 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1708 int CPagerCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1709 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1710 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1711 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1712 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1713 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1714 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1715 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1716 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1717 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1718 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1719 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1720 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1721 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1722 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1723 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1724 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1725 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1726 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1727 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1728 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1729 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1730 void AFX_MODULE_STATE::CreateActivationContext(void)\n1731 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1732 IBindHost * CMonikerFile::CreateBindHost(void)\n1733 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1734 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n1735 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1736 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1737 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1738 void CConnectionPoint::CreateConnectionArray(void)\n1739 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1740 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1741 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1742 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n1743 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n1744 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1745 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1746 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1747 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1748 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n1749 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1750 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1751 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1752 int CWnd::CreateControlContainer(COleControlContainer * *)\n1753 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1754 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1755 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1756 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1757 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1758 int CFtpConnection::CreateDirectoryA(char const *)\n1759 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1760 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n1761 int CWnd::CreateDlg(char const *,CWnd *)\n1762 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1763 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1764 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n1765 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1766 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1767 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1768 int CPictureHolder::CreateEmpty(void)\n1769 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1770 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1771 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1772 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1773 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1774 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1775 int CLinkCtrl::CreateEx(char const *,unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1776 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1777 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1778 int CPagerCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1779 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1780 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1781 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1782 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1783 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1784 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1785 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1786 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1787 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1788 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1789 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1790 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1791 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1792 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1793 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n1794 void CDaoTableDef::CreateField(char const *,short,long,long)\n1795 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1796 CControlFrameWnd * COleControl::CreateFrameWindow(void)\n1797 int CPictureHolder::CreateFromBitmap(unsigned int)\n1798 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1799 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1800 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1801 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1802 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1803 int CPictureHolder::CreateFromIcon(unsigned int)\n1804 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1805 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1806 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n1807 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1808 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1809 int CDialog::CreateIndirect(void *,CWnd *)\n1810 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1811 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1812 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1813 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1814 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1815 int COleInsertDialog::CreateItem(COleClientItem *)\n1816 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1817 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1818 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1819 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1820 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n1821 CGopherLocator CGopherConnection::CreateLocator(char const *)\n1822 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n1823 int COleStreamFile::CreateMemoryStream(CFileException *)\n1824 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1825 CDocument * CDocTemplate::CreateNewDocument(void)\n1826 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1827 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1828 CObject * CByteArray::CreateObject(void)\n1829 CObject * CDC::CreateObject(void)\n1830 CObject * CDocItem::CreateObject(void)\n1831 CObject * CDockState::CreateObject(void)\n1832 CObject * CDWordArray::CreateObject(void)\n1833 CObject * CEditView::CreateObject(void)\n1834 CObject * CFrameWnd::CreateObject(void)\n1835 CObject * CGdiObject::CreateObject(void)\n1836 CObject * CHtmlEditView::CreateObject(void)\n1837 CObject * CHtmlView::CreateObject(void)\n1838 CObject * CImageList::CreateObject(void)\n1839 CObject * CListView::CreateObject(void)\n1840 CObject * CMapStringToOb::CreateObject(void)\n1841 CObject * CMapStringToString::CreateObject(void)\n1842 CObject * CMapWordToOb::CreateObject(void)\n1843 CObject * CMDIChildWnd::CreateObject(void)\n1844 CObject * CMDIFrameWnd::CreateObject(void)\n1845 CObject * CMenu::CreateObject(void)\n1846 CObject * CMiniDockFrameWnd::CreateObject(void)\n1847 CObject * CMiniFrameWnd::CreateObject(void)\n1848 CObject * CObArray::CreateObject(void)\n1849 CObject * CObList::CreateObject(void)\n1850 CObject * COleDocIPFrameWnd::CreateObject(void)\n1851 CObject * COleIPFrameWnd::CreateObject(void)\n1852 CObject * CPreviewView::CreateObject(void)\n1853 CObject * CRichEditCntrItem::CreateObject(void)\n1854 CObject * CRichEditView::CreateObject(void)\n1855 CObject * CRuntimeClass::CreateObject(void)\n1856 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1857 CObject * CRuntimeClass::CreateObject(char const *)\n1858 CObject * CStringArray::CreateObject(void)\n1859 CObject * CStringList::CreateObject(void)\n1860 CObject * CTreeView::CreateObject(void)\n1861 CObject * CWnd::CreateObject(void)\n1862 CObject * CWordArray::CreateObject(void)\n1863 void COleControlContainer::CreateOleFont(CFont *)\n1864 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1865 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1866 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1867 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n1868 int CFont::CreatePointFont(int,char const *,CDC *)\n1869 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n1870 HDC__ * CPageSetupDialog::CreatePrinterDC(void)\n1871 HDC__ * CPrintDialog::CreatePrinterDC(void)\n1872 HDC__ * CPrintDialogEx::CreatePrinterDC(void)\n1873 int CWinApp::CreatePrinterDC(CDC &)\n1874 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n1875 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n1876 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1877 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1878 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1879 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1880 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1881 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1882 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1883 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n1884 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1885 void COleControl::CreateTracker(int,int)\n1886 void COleControl::CreateTracker(int,int,tagRECT const *)\n1887 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1888 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1889 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1890 void COleControl::CreateWindowForSubclassedControl(void)\n1891 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1892 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1893 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1894 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1895 void DDP_Check(CDataExchange *,int,int &,char const *)\n1896 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n1897 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n1898 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n1899 void DDP_EndText(CDataExchange *,int,short *,char const *)\n1900 void DDP_EndText(CDataExchange *,int,int *,char const *)\n1901 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n1902 void DDP_EndText(CDataExchange *,int,long *,char const *)\n1903 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n1904 void DDP_EndText(CDataExchange *,int,float *,char const *)\n1905 void DDP_EndText(CDataExchange *,int,double *,char const *)\n1906 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1907 void DDP_PostProcessing(CDataExchange *)\n1908 void DDP_Radio(CDataExchange *,int,int &,char const *)\n1909 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n1910 void DDP_Text(CDataExchange *,int,short &,char const *)\n1911 void DDP_Text(CDataExchange *,int,int &,char const *)\n1912 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n1913 void DDP_Text(CDataExchange *,int,long &,char const *)\n1914 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n1915 void DDP_Text(CDataExchange *,int,float &,char const *)\n1916 void DDP_Text(CDataExchange *,int,double &,char const *)\n1917 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n1918 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n1919 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1920 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1921 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1922 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1923 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1924 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1925 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1926 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1927 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1928 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1929 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1930 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1931 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1932 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1933 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1934 void DDX_CBIndex(CDataExchange *,int,int &)\n1935 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1936 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1937 void DDX_Check(CDataExchange *,int,int &)\n1938 void DDX_Control(CDataExchange *,int,CWnd &)\n1939 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1940 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1941 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1942 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1943 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1944 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1945 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n1946 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n1947 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n1948 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n1949 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n1950 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n1951 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n1952 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n1953 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n1954 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n1955 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n1956 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n1957 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1958 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n1959 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n1960 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n1961 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n1962 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n1963 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n1964 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1965 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n1966 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n1967 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n1968 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n1969 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n1970 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n1971 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1972 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1973 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n1974 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1975 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n1976 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1977 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n1978 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1979 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n1980 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1981 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n1982 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1983 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n1984 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1985 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n1986 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1987 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n1988 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n1989 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n1990 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1991 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n1992 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1993 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n1994 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n1995 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1996 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n1997 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n1998 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1999 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2000 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2001 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2002 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2003 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2004 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2005 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2006 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2007 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2008 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2009 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2010 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2011 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n2012 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n2013 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n2014 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2015 void DDX_LBIndex(CDataExchange *,int,int &)\n2016 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2017 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2018 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2019 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2020 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2021 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2022 void DDX_OCBool(CDataExchange *,int,long,int &)\n2023 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2024 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2025 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2026 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2027 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2028 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2029 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2030 void DDX_OCInt(CDataExchange *,int,long,int &)\n2031 void DDX_OCInt(CDataExchange *,int,long,long &)\n2032 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2033 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2034 void DDX_OCShort(CDataExchange *,int,long,short &)\n2035 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2036 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2037 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2038 void DDX_Radio(CDataExchange *,int,int &)\n2039 void DDX_Scroll(CDataExchange *,int,int &)\n2040 void DDX_Slider(CDataExchange *,int,int &)\n2041 void DDX_Text(CDataExchange *,int,__int64 &)\n2042 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2043 void DDX_Text(CDataExchange *,int,unsigned char &)\n2044 void DDX_Text(CDataExchange *,int,short &)\n2045 void DDX_Text(CDataExchange *,int,int &)\n2046 void DDX_Text(CDataExchange *,int,unsigned int &)\n2047 void DDX_Text(CDataExchange *,int,long &)\n2048 void DDX_Text(CDataExchange *,int,unsigned long &)\n2049 void DDX_Text(CDataExchange *,int,float &)\n2050 void DDX_Text(CDataExchange *,int,double &)\n2051 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2052 void DDX_Text(CDataExchange *,int,_GUID &)\n2053 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2054 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2055 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2056 void DDX_Text(CDataExchange *,int,tagDEC &)\n2057 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2058 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2059 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2060 void DDX_Text(CDataExchange *,int,char *,int)\n2061 void COleClientItem::Deactivate(void)\n2062 long COlePropertyPage::XPropertyPage::Deactivate(void)\n2063 int COleServerDoc::DeactivateAndUndo(void)\n2064 long COleClientItem::XOleIPSite::DeactivateAndUndo(void)\n2065 long COleControlSite::XOleIPSite::DeactivateAndUndo(void)\n2066 void COleClientItem::DeactivateUI(void)\n2067 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n2068 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n2069 long CWnd::Default(void)\n2070 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2071 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2072 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2073 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n2074 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2075 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2076 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2077 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2078 void CControlBar::DelayShow(int)\n2079 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2080 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2081 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2082 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2083 void CDaoRecordset::Delete(void)\n2084 void CException::Delete(void)\n2085 void COleClientItem::Delete(int)\n2086 void CRecordset::Delete(void)\n2087 void CWinThread::Delete(void)\n2088 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2089 void CSplitterWnd::DeleteColumn(int)\n2090 void CDocument::DeleteContents(void)\n2091 void CEditView::DeleteContents(void)\n2092 void CHtmlEditDoc::DeleteContents(void)\n2093 void COleDocument::DeleteContents(void)\n2094 void COleServerDoc::DeleteContents(void)\n2095 void CRichEditDoc::DeleteContents(void)\n2096 void CRichEditView::DeleteContents(void)\n2097 int CDC::DeleteDC(void)\n2098 void CDaoTableDef::DeleteField(int)\n2099 void CDaoTableDef::DeleteField(char const *)\n2100 int CImageList::DeleteImageList(void)\n2101 void CDaoTableDef::DeleteIndex(int)\n2102 void CDaoTableDef::DeleteIndex(char const *)\n2103 void CComboBox::DeleteItem(tagDELETEITEM*)\n2104 int CComboBoxEx::DeleteItem(int)\n2105 void CListBox::DeleteItem(tagDELETEITEM*)\n2106 int CGdiObject::DeleteObject(void)\n2107 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2108 void CDaoDatabase::DeleteQueryDef(char const *)\n2109 void CDaoDatabase::DeleteRelation(char const *)\n2110 void CSplitterWnd::DeleteRow(int)\n2111 void CDaoDatabase::DeleteTableDef(char const *)\n2112 void CHandleMap::DeleteTemp(void)\n2113 void CDC::DeleteTempMap(void)\n2114 void CGdiObject::DeleteTempMap(void)\n2115 void CImageList::DeleteTempMap(void)\n2116 void CMenu::DeleteTempMap(void)\n2117 void CWnd::DeleteTempMap(void)\n2118 void CRichEditDoc::DeleteUnmarkedItems(void)const \n2119 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2120 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2121 void CSplitterWnd::DeleteView(int,int)\n2122 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n2123 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2124 void COleSafeArray::Destroy(void)\n2125 int COleControlSite::DestroyControl(void)\n2126 void COleSafeArray::DestroyData(void)\n2127 void COleSafeArray::DestroyDescriptor(void)\n2128 void CFrameWnd::DestroyDockBars(void)\n2129 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2130 int CMenu::DestroyMenu(void)\n2131 void CDHtmlDialog::DestroyModeless(void)\n2132 void COleControl::DestroySharedMenu(void)\n2133 void COleDocIPFrameWnd::DestroySharedMenu(void)\n2134 void COleIPFrameWnd::DestroySharedMenu(void)\n2135 int CToolTipCtrl::DestroyToolTipCtrl(void)\n2136 void COleControl::DestroyTracker(void)\n2137 int CControlBar::DestroyWindow(void)\n2138 int CMDIChildWnd::DestroyWindow(void)\n2139 int CWnd::DestroyWindow(void)\n2140 unsigned int CAsyncSocket::Detach(void)\n2141 HDC__ * CDC::Detach(void)\n2142 void * CDialogTemplate::Detach(void)\n2143 void * CGdiObject::Detach(void)\n2144 _IMAGELIST * CImageList::Detach(void)\n2145 unsigned char * CMemFile::Detach(void)\n2146 HMENU__ * CMenu::Detach(void)\n2147 int CMonikerFile::Detach(CFileException *)\n2148 IDataObject * COleDataObject::Detach(void)\n2149 tagVARIANT COleSafeArray::Detach(void)\n2150 IStream * COleStreamFile::Detach(void)\n2151 tagVARIANT COleVariant::Detach(void)\n2152 void * CSharedFile::Detach(void)\n2153 HDC__ * CWindowlessDC::Detach(void)\n2154 HWND__ * CWnd::Detach(void)\n2155 IDispatch * COleDispatchDriver::DetachDispatch(void)\n2156 void CAsyncSocket::DetachHandle(unsigned int,int)\n2157 void COleControlSite::DetachWindow(void)\n2158 void CWinApp::DevModeChange(char *)\n2159 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n2160 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n2161 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n2162 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n2163 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n2164 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n2165 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n2166 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n2167 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n2168 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n2169 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n2170 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2171 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2172 int COleServerDoc::DiscardUndoState(void)\n2173 long COleClientItem::XOleIPSite::DiscardUndoState(void)\n2174 long COleControlSite::XOleIPSite::DiscardUndoState(void)\n2175 void COleDispatchImpl::Disconnect(void)\n2176 void CDHtmlDialog::DisconnectDHtmlElementEvents(void)\n2177 void CDHtmlDialog::DisconnectDHtmlEvents(void)\n2178 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2179 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2180 void CDocument::DisconnectViews(void)\n2181 void CWinThread::DispatchThreadMessage(tagMSG *)\n2182 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2183 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2184 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2185 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2186 void CAsyncSocket::DoCallBack(unsigned int,long)\n2187 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2188 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2189 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2190 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2191 void COleControl::DoClick(void)\n2192 int COleFrameHook::DoContextSensitiveHelp(int)\n2193 int COleConvertDialog::DoConvert(COleClientItem *)\n2194 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2195 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2196 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2197 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2198 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2199 int COleFrameHook::DoEnableModeless(int)\n2200 void CWinApp::DoEnableModeless(int)\n2201 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2202 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2203 void CRecordset::DoFieldExchange(CFieldExchange *)\n2204 int CDocument::DoFileSave(void)\n2205 int CSplitterWnd::DoKeyboardSplit(void)\n2206 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2207 int CColorDialog::DoModal(void)\n2208 int CDialog::DoModal(void)\n2209 int CFileDialog::DoModal(void)\n2210 int CFontDialog::DoModal(void)\n2211 int COleBusyDialog::DoModal(void)\n2212 int COleChangeIconDialog::DoModal(void)\n2213 int COleChangeSourceDialog::DoModal(void)\n2214 int COleConvertDialog::DoModal(void)\n2215 int COleInsertDialog::DoModal(unsigned long)\n2216 int COleInsertDialog::DoModal(void)\n2217 int COleLinksDialog::DoModal(void)\n2218 int COlePasteSpecialDialog::DoModal(void)\n2219 int COlePropertiesDialog::DoModal(void)\n2220 int COleUpdateDialog::DoModal(void)\n2221 int CPageSetupDialog::DoModal(void)\n2222 int CPrintDialog::DoModal(void)\n2223 int CPrintDialogEx::DoModal(void)\n2224 int CPropertySheet::DoModal(void)\n2225 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2226 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2227 void CControlBar::DoPaint(CDC *)\n2228 void CDockBar::DoPaint(CDC *)\n2229 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2230 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2231 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2232 int CView::DoPreparePrinting(CPrintInfo *)\n2233 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2234 int CWinApp::DoPrintDialog(CPrintDialog *)\n2235 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2236 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2237 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2238 void COleControl::DoPropExchange(CPropExchange *)\n2239 int CDocument::DoSave(char const *,int)\n2240 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2241 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2242 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2243 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2244 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2245 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2246 long COleControlSite::DoVerb(long,tagMSG *)\n2247 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2248 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2249 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2250 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2251 void CWinApp::DoWaitCursor(int)\n2252 void CPreviewView::DoZoom(unsigned int,CPoint)\n2253 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2254 void CDC::DPtoLP(tagSIZE *)const \n2255 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2256 unsigned int CDragListBox::Dragging(CPoint)\n2257 long COleDropTarget::XDropTarget::DragLeave(void)\n2258 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2259 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2260 void CRectTracker::Draw(CDC *)const \n2261 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2262 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2263 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2264 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2265 void CControlBar::DrawBorders(CDC *,CRect &)\n2266 void COleControl::DrawContent(CDC *,CRect &)\n2267 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2268 void CDockContext::DrawFocusRect(int)\n2269 void CControlBar::DrawGripper(CDC *,CRect const &)\n2270 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2271 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2272 void CDragListBox::DrawInsert(int)\n2273 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2274 void CButton::DrawItem(tagDRAWITEM*)\n2275 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2276 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2277 void CComboBox::DrawItem(tagDRAWITEM*)\n2278 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2279 void CListBox::DrawItem(tagDRAWITEM*)\n2280 void CListCtrl::DrawItem(tagDRAWITEM*)\n2281 void CListView::DrawItem(tagDRAWITEM*)\n2282 void CMenu::DrawItem(tagDRAWITEM*)\n2283 void CStatic::DrawItem(tagDRAWITEM*)\n2284 void CStatusBar::DrawItem(tagDRAWITEM*)\n2285 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2286 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2287 void COleControl::DrawMetafile(CDC *,CRect &)\n2288 void CControlBar::DrawNCGripper(CDC *,CRect const &)\n2289 int CControlBar::DrawNonThemedGripper(CDC *,CRect const &)\n2290 void CDragListBox::DrawSingle(int)\n2291 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2292 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2293 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2294 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2295 long CThemeHelper::DrawThemeBackground(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2296 long CThemeHelper::DrawThemeBackgroundFail(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2297 int CControlBar::DrawThemedGripper(CDC *,CRect const &,int)\n2298 long CThemeHelper::DrawThemeParentBackground(HWND__ *,HDC__ *,tagRECT *)\n2299 long CThemeHelper::DrawThemeParentBackgroundFail(HWND__ *,HDC__ *,tagRECT *)\n2300 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2301 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2302 void CDragListBox::Dropped(int,CPoint)\n2303 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2304 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2305 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2306 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2307 CDumpContext & CDumpContext::DumpAsHex(int)\n2308 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2309 CDumpContext & CDumpContext::DumpAsHex(long)\n2310 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2311 long COleControl::XDataObject::DUnadvise(unsigned long)\n2312 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2313 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2314 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2315 CFile * CFile::Duplicate(void)const \n2316 CFile * CInternetFile::Duplicate(void)const \n2317 CFile * CMemFile::Duplicate(void)const \n2318 CFile * COleStreamFile::Duplicate(void)const \n2319 CFile * CSocketFile::Duplicate(void)const \n2320 CFile * CStdioFile::Duplicate(void)const \n2321 unsigned long const CEditView::dwStyleDefault\n2322 void CDaoRecordset::Edit(void)\n2323 void CRecordset::Edit(void)\n2324 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2325 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2326 void ATL::CSimpleStringT<wchar_t,1>::Empty(void)\n2327 void ATL::CSimpleStringT<char,1>::Empty(void)\n2328 void CDBException::Empty(void)\n2329 void COleDataSource::Empty(void)\n2330 void CCheckListBox::Enable(int,int)\n2331 void CCmdUI::Enable(int)\n2332 void COleCmdUI::Enable(int)\n2333 void CStatusCmdUI::Enable(int)\n2334 void CTestCmdUI::Enable(int)\n2335 void CToolCmdUI::Enable(int)\n2336 void CCmdTarget::EnableAggregation(void)\n2337 void CCmdTarget::EnableAutomation(void)\n2338 void CRecordset::EnableBookmarks(void)\n2339 void CCmdTarget::EnableConnections(void)\n2340 void CControlBar::EnableDocking(unsigned long)\n2341 void CFrameWnd::EnableDocking(unsigned long)\n2342 void COleControlSite::EnableDSC(void)\n2343 long CBrowserControlSite::EnableModeless(int)\n2344 long CDHtmlDialog::EnableModeless(int)\n2345 void CWinApp::EnableModeless(int)\n2346 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2347 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2348 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2349 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2350 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2351 void CWnd::EnableScrollBarCtrl(int,int)\n2352 void CWinApp::EnableShellOpen(void)\n2353 void COleControl::EnableSimpleFrame(void)\n2354 void CPropertySheet::EnableStackedTabs(int)\n2355 int CInternetSession::EnableStatusCallback(int)\n2356 int CWnd::EnableToolTips(int)\n2357 int CWnd::EnableTrackingToolTips(int)\n2358 void CCmdTarget::EnableTypeLib(void)\n2359 int COleControlSite::EnableWindow(int)\n2360 int CWnd::EnableWindow(int)\n2361 void COleMessageFilter::EndBusyState(void)\n2362 void CAsyncMonikerFile::EndCallbacks(void)\n2363 long COleLinkingDoc::EndDeferErrors(long)\n2364 void CDialog::EndDialog(int)\n2365 void CPropertyPage::EndDialog(int)\n2366 void CPropertySheet::EndDialog(int)\n2367 void CDockContext::EndDrag(void)\n2368 void CWnd::EndModalLoop(int)\n2369 void CFrameWnd::EndModalState(void)\n2370 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n2371 void CDockContext::EndResize(void)\n2372 void CCmdTarget::EndWaitCursor(void)\n2373 void COleDataObject::EnsureClipboardObject(void)\n2374 void CArchive::EnsureSchemaMapExists(CArray<enum CArchive::LoadArrayObjType,enum CArchive::LoadArrayObjType const &> * *)\n2375 long CWnd::EnsureStdObj(void)\n2376 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2377 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2378 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2379 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2380 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2381 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2382 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2383 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2384 int COlePropertyPage::EnumControls(HWND__ *,long)\n2385 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2386 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2387 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2388 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2389 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2390 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2391 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2392 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2393 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2394 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2395 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2396 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2397 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2398 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2399 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2400 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2401 void CControlBar::EraseNonClient(void)\n2402 int CFileException::ErrnoToException(int)\n2403 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2404 int CMetaFileDC::Escape(int,int,char const *,void *)\n2405 int CPreviewDC::Escape(int,int,char const *,void *)\n2406 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2407 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2408 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2409 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2410 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n2411 int COleControl::ExchangeExtent(CPropExchange *)\n2412 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2413 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2414 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2415 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2416 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2417 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2418 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2419 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2420 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2421 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n2422 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2423 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2424 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2425 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2426 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n2427 void COleControl::ExchangeStockProps(CPropExchange *)\n2428 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2429 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2430 int CDC::ExcludeClipRect(int,int,int,int)\n2431 int CDC::ExcludeClipRect(tagRECT const *)\n2432 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2433 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2434 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2435 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2436 int CHtmlEditView::ExecHandler(unsigned int)\n2437 void CDaoDatabase::Execute(char const *,int)\n2438 void CDaoQueryDef::Execute(int)\n2439 int CWnd::ExecuteDlgInit(void *)\n2440 int CWnd::ExecuteDlgInit(char const *)\n2441 void CRecordset::ExecuteSetPosUpdate(void)\n2442 void CDatabase::ExecuteSQL(char const *)\n2443 void CRecordset::ExecuteUpdateSQL(void)\n2444 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2445 void CFrameWnd::ExitHelpMode(void)\n2446 int COleControlModule::ExitInstance(void)\n2447 int CWinApp::ExitInstance(void)\n2448 int CWinThread::ExitInstance(void)\n2449 unsigned long CCmdTarget::ExternalAddRef(void)\n2450 void CCmdTarget::ExternalDisconnect(void)\n2451 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2452 unsigned long CCmdTarget::ExternalRelease(void)\n2453 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2454 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n2455 void CDataExchange::Fail(void)\n2456 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2457 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2458 void CArchive::FillBuffer(unsigned int)\n2459 void CDaoRecordset::FillCache(long *,COleVariant *)\n2460 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n2461 void CDaoException::FillErrorInfo(void)\n2462 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n2463 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n2464 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n2465 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2466 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n2467 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n2468 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n2469 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2470 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2471 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n2472 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n2473 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n2474 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2475 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2476 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2477 void CWnd::FilterToolTipMessage(tagMSG *)\n2478 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2479 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2480 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2481 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2482 int CDaoRecordset::Find(long,char const *)\n2483 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2484 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2485 __POSITION * CStringList::Find(char const *,__POSITION *)const \n2486 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n2487 int CDockBar::FindBar(CControlBar *,int)\n2488 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2489 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2490 int CFileFind::FindFile(char const *,unsigned long)\n2491 int CFtpFileFind::FindFile(char const *,unsigned long)\n2492 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n2493 int CGopherFileFind::FindFile(char const *,unsigned long)\n2494 int CDaoRecordset::FindFirst(char const *)\n2495 __POSITION * CObList::FindIndex(int)const \n2496 __POSITION * CPtrList::FindIndex(int)const \n2497 __POSITION * CStringList::FindIndex(int)const \n2498 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2499 int CDaoRecordset::FindLast(char const *)\n2500 int CDaoRecordset::FindNext(char const *)\n2501 int CFileFind::FindNextFileA(void)\n2502 int CFtpFileFind::FindNextFileA(void)\n2503 int CGopherFileFind::FindNextFileA(void)\n2504 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2505 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2506 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2507 int CDaoRecordset::FindPrev(char const *)\n2508 int CDHtmlDialog::FindSinkForObject(char const *)\n2509 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n2510 __POSITION * CWnd::FindSiteOrWndWithFocus(void)const \n2511 char const * CRecordset::FindSQLToken(char const *,char const *)\n2512 int CEditView::FindTextA(char const *,int,int)\n2513 int CRichEditView::FindTextA(char const *,int,int,int)\n2514 int CRichEditView::FindTextSimple(char const *,int,int,int)\n2515 int COleClientItem::FinishCreate(long)\n2516 void COleControl::FireError(long,char const *,unsigned int)\n2517 void COleControl::FireEvent(long,unsigned char *,...)\n2518 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2519 void COleControl::FireEventV(long,unsigned char *,char *)\n2520 void CDaoRecordset::Fixup(void)\n2521 void CRecordset::Fixups(void)\n2522 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2523 void CArchive::Flush(void)\n2524 void CDumpContext::Flush(void)\n2525 void CFile::Flush(void)\n2526 void CInternetFile::Flush(void)\n2527 void CMemFile::Flush(void)\n2528 void CMonikerFile::Flush(void)\n2529 void COleStreamFile::Flush(void)\n2530 void CSocketFile::Flush(void)\n2531 void CStdioFile::Flush(void)\n2532 void COleDataSource::FlushClipboard(void)\n2533 int CRecordset::FlushResultSet(void)\n2534 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2535 void ATL::CSimpleStringT<char,1>::Fork(int)\n2536 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2537 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2538 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2539 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2540 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n2541 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n2542 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n2543 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n2544 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n2545 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2546 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2547 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2548 void COleControl::ForwardActivationMsg(tagMSG *)\n2549 void CAfxStringMgr::Free(ATL::CStringData *)\n2550 void CDatabase::Free(void)\n2551 void CFixedAlloc::Free(void *)\n2552 void CFixedAllocNoSync::Free(void *)\n2553 void CMemFile::Free(unsigned char *)\n2554 void CSharedFile::Free(unsigned char *)\n2555 void CFixedAlloc::FreeAll(void)\n2556 void CFixedAllocNoSync::FreeAll(void)\n2557 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2558 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2559 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2560 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2561 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2562 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2563 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2564 void CDaoRecordset::FreeCache(void)\n2565 void CRecordset::FreeDataCache(void)\n2566 void CPlex::FreeDataChain(void)\n2567 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra(void)\n2568 void ATL::CSimpleStringT<char,1>::FreeExtra(void)\n2569 void CByteArray::FreeExtra(void)\n2570 void CDWordArray::FreeExtra(void)\n2571 void CObArray::FreeExtra(void)\n2572 void CPtrArray::FreeExtra(void)\n2573 void CStringArray::FreeExtra(void)\n2574 void CUIntArray::FreeExtra(void)\n2575 void CWordArray::FreeExtra(void)\n2576 void CObList::FreeNode(CObList::CNode *)\n2577 void CPtrList::FreeNode(CPtrList::CNode *)\n2578 void CStringList::FreeNode(CStringList::CNode *)\n2579 void CRecordset::FreeRowset(void)\n2580 void CThreadSlotData::FreeSlot(int)\n2581 void CProperty::FreeValue(void)\n2582 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2583 void COleControlContainer::FreezeAllEvents(int)\n2584 void COleControlSite::FreezeEvents(int)\n2585 long COleControl::XOleControl::FreezeEvents(int)\n2586 int COleClientItem::FreezeLink(void)\n2587 CDC * CDC::FromHandle(HDC__ *)\n2588 CGdiObject * CGdiObject::FromHandle(void *)\n2589 CObject * CHandleMap::FromHandle(void *)\n2590 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2591 CMenu * CMenu::FromHandle(HMENU__ *)\n2592 CWnd * CWnd::FromHandle(HWND__ *)\n2593 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2594 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2595 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2596 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2597 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2598 CRuntime* CRuntimeClass::FromName(char const *)\n2599 void * CProperty::Get(unsigned long *)\n2600 void * CProperty::Get(void)\n2601 void * CPropertySection::Get(unsigned long)\n2602 void * CPropertySection::Get(unsigned long,unsigned long *)\n2603 void * CPropertySet::Get(_GUID,unsigned long)\n2604 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2605 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2606 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2607 long CWnd::get_accChildCount(long *)\n2608 long CWnd::XAccessible::get_accChildCount(long *)\n2609 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2610 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2611 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2612 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2613 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2614 long CWnd::get_accFocus(tagVARIANT *)\n2615 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2616 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2617 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2618 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2619 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2620 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2621 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2622 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2623 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2624 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2625 long CWnd::get_accParent(IDispatch * *)\n2626 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2627 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2628 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2629 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2630 long CWnd::get_accSelection(tagVARIANT *)\n2631 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2632 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2633 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2634 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2635 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2636 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2637 long CDaoRecordset::GetAbsolutePosition(void)\n2638 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2639 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2640 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2641 long CWnd::GetAccessibleChildCount(void)\n2642 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2643 unsigned long COleControl::GetActivationPolicy(void)\n2644 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2645 CDocument * CFrameWnd::GetActiveDocument(void)\n2646 CFrameWnd * CFrameWnd::GetActiveFrame(void)\n2647 CFrameWnd * CMDIFrameWnd::GetActiveFrame(void)\n2648 int CPropertySheet::GetActiveIndex(void)const \n2649 CPropertyPage * CPropertySheet::GetActivePage(void)const \n2650 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2651 CView * CFrameWnd::GetActiveView(void)const \n2652 IOleDocumentView * COleDocObjectItem::GetActiveView(void)const \n2653 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)const \n2654 int CHtmlView::GetAddressBar(void)const \n2655 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2656 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength(void)const \n2657 int ATL::CSimpleStringT<char,1>::GetAllocLength(void)const \n2658 COleDispatchDriver * COleControl::GetAmbientDispatchDriver(void)\n2659 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2660 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2661 short COleControl::GetAppearance(void)\n2662 IDispatch * CHtmlView::GetApplication(void)const \n2663 HKEY__ * CWinApp::GetAppRegistryKey(void)\n2664 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2665 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2666 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2667 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2668 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n2669 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2670 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2671 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2672 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2673 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2674 long CDaoTableDef::GetAttributes(void)\n2675 unsigned long COleControl::GetBackColor(void)\n2676 void CControlBar::GetBarInfo(CControlBarInfo *)\n2677 void CDockBar::GetBarInfo(CControlBarInfo *)\n2678 unsigned long CAsyncMonikerFile::GetBindInfo(void)const \n2679 void * CBlobProperty::GetBlob(void)\n2680 COleVariant CDaoRecordset::GetBookmark(void)\n2681 void CRecordset::GetBookmark(CDBVariant &)\n2682 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2683 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2684 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2685 short COleControl::GetBorderStyle(void)\n2686 long CDataSourceControl::GetBoundClientRow(void)\n2687 int CRecordset::GetBoundFieldIndex(void *)\n2688 int CRecordset::GetBoundParamIndex(void *)\n2689 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2690 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(void)\n2691 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2692 char * ATL::CSimpleStringT<char,1>::GetBuffer(void)\n2693 unsigned int CEditView::GetBufferLength(void)const \n2694 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2695 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2696 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2697 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2698 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2699 int CHtmlView::GetBusy(void)const \n2700 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2701 unsigned int CToolBar::GetButtonStyle(int)const \n2702 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n2703 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2704 void COleSafeArray::GetByteArray(CByteArray &)\n2705 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2706 unsigned short CPropertySet::GetByteOrder(void)\n2707 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2708 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2709 long CDaoRecordset::GetCacheSize(void)\n2710 COleVariant CDaoRecordset::GetCacheStart(void)\n2711 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n2712 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2713 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2714 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2715 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2716 CWnd * COleControl::GetCapture(void)\n2717 long COleControlSite::XOleIPSite::GetCapture(void)\n2718 void CFontDialog::GetCharFormat(_charformat &)const \n2719 CHARFORMAT2A & CRichEditView::GetCharFormatSelection(void)\n2720 int CCheckListBox::GetCheck(int)\n2721 int CListCtrl::GetCheck(int)const \n2722 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2723 int CWnd::GetCheckedRadioButton(int,int)const \n2724 long CBlobProperty::GetClassID(_GUID *)\n2725 void COleClientItem::GetClassID(_GUID *)const \n2726 _GUID CPropertySet::GetClassID(void)\n2727 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2728 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2729 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2730 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2731 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2732 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2733 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n2734 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2735 void COleControl::GetClientOffset(long *,long *)const \n2736 void COleControl::GetClientRect(tagRECT *)const \n2737 IOleClientSite * COleClientItem::GetClientSite(void)\n2738 IOleClientSite * COleControl::GetClientSite(void)\n2739 IOleClientSite * CRichEditCntrItem::GetClientSite(void)\n2740 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2741 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2742 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2743 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2744 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2745 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2746 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2747 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2748 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2749 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2750 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2751 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2752 COleDataSource * COleDataSource::GetClipboardOwner(void)\n2753 int CDC::GetClipBox(tagRECT *)const \n2754 int CMetaFileDC::GetClipBox(tagRECT *)const \n2755 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n2756 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2757 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2758 int CListCtrl::GetColumnOrderArray(int *,int)const \n2759 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap(void)const \n2760 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap(void)const \n2761 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect(void)\n2762 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect(void)\n2763 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect(void)\n2764 void CDatabase::GetConnectInfo(void)\n2765 int CConnectionPoint::GetConnectionCount(void)\n2766 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2767 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2768 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2769 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap(void)const \n2770 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap(void)const \n2771 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2772 CPtrArray const * CConnectionPoint::GetConnections(void)\n2773 IConnectionPointContainer * CConnectionPoint::GetContainer(void)\n2774 IDispatch * CHtmlView::GetContainer(void)const \n2775 IOleItemContainer * COleDocument::GetContainer(void)\n2776 IOleItemContainer * COleLinkingDoc::GetContainer(void)\n2777 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2778 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2779 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2780 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2781 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2782 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2783 COleControlContainer * CWnd::GetControlContainer(void)\n2784 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n2785 unsigned long COleControl::GetControlFlags(void)\n2786 void COleControlSite::GetControlInfo(void)\n2787 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2788 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame(void)const \n2789 IUnknown * CCmdTarget::GetControllingUnknown(void)\n2790 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2791 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n2792 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n2793 void COleControl::GetControlSize(int *,int *)\n2794 int COlePropertyPage::GetControlStatus(unsigned int)\n2795 IUnknown * CWnd::GetControlUnknown(void)\n2796 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2797 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2798 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n2799 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n2800 int CPrintDialog::GetCopies(void)const \n2801 int CPrintDialogEx::GetCopies(void)const \n2802 unsigned long CPropertySection::GetCount(void)\n2803 unsigned long CPropertySet::GetCount(void)\n2804 int CFileFind::GetCreationTime(ATL::CTime &)const \n2805 int CFileFind::GetCreationTime(_FILETIME *)const \n2806 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2807 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2808 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2809 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2810 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n2811 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2812 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n2813 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n2814 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex(void)\n2815 tagMSG const * CWnd::GetCurrentMessage(void)\n2816 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2817 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2818 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2819 IUnknown * CDataBoundProperty::GetCursor(void)\n2820 IUnknown * CDataSourceControl::GetCursor(void)\n2821 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2822 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2823 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData(void)const \n2824 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData(void)const \n2825 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2826 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n2827 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2828 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n2829 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2830 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2831 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2832 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2833 void CDaoRecordset::GetDataAndFixupNulls(void)\n2834 short CDaoWorkspace::GetDatabaseCount(void)\n2835 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n2836 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n2837 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName(void)const \n2838 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2839 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2840 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2841 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2842 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2843 CNoTrackObject * CThreadLocalObject::GetDataNA(void)\n2844 IDataObject * COleServerItem::GetDataObject(void)\n2845 COleControl::CControlDataSource * COleControl::GetDataSource(void)\n2846 ATL::COleDateTime CDaoQueryDef::GetDateCreated(void)\n2847 ATL::COleDateTime CDaoRecordset::GetDateCreated(void)\n2848 ATL::COleDateTime CDaoTableDef::GetDateCreated(void)\n2849 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated(void)\n2850 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated(void)\n2851 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated(void)\n2852 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2853 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2854 HACCEL__ * CDocument::GetDefaultAccelerator(void)\n2855 HACCEL__ * CFrameWnd::GetDefaultAccelerator(void)\n2856 HACCEL__ * COleServerDoc::GetDefaultAccelerator(void)\n2857 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n2858 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n2859 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect(void)\n2860 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName(void)\n2861 short CRecordset::GetDefaultFieldType(short)\n2862 HMENU__ * CDocument::GetDefaultMenu(void)\n2863 HMENU__ * COleServerDoc::GetDefaultMenu(void)\n2864 int CPrintDialog::GetDefaults(void)\n2865 int CPrintDialogEx::GetDefaults(void)\n2866 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL(void)\n2867 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL(void)\n2868 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2869 unsigned long COleControlSite::GetDefBtnCode(void)\n2870 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2871 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName(void)const \n2872 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName(void)const \n2873 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName(void)const \n2874 CPoint CScrollView::GetDeviceScrollPosition(void)const \n2875 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2876 _devicemodeA * CPageSetupDialog::GetDevMode(void)const \n2877 _devicemodeA * CPrintDialog::GetDevMode(void)const \n2878 _devicemodeA * CPrintDialogEx::GetDevMode(void)const \n2879 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2880 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2881 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2882 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2883 DHtmlEventMapEntry const * GetDHtmlEventMap(void)\n2884 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap(void)\n2885 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap(void)\n2886 int CCmdTarget::GetDispatchIID(_GUID *)\n2887 int COleControl::GetDispatchIID(_GUID *)\n2888 AFX_DISPMAP const * CCmdTarget::GetDispatchMap(void)const \n2889 AFX_DISPMAP const * COleControlContainer::GetDispatchMap(void)const \n2890 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2891 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n2892 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2893 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2894 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2895 int COleControlSite::GetDlgCtrlID(void)const \n2896 int CWnd::GetDlgCtrlID(void)const \n2897 CWnd * COleControlContainer::GetDlgItem(int)const \n2898 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2899 CWnd * CWnd::GetDlgItem(int)const \n2900 void CWnd::GetDlgItem(int,HWND__ * *)const \n2901 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2902 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2903 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n2904 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n2905 int CWnd::GetDlgItemTextA(int,char *,int)const \n2906 CDockBar * CDockContext::GetDockBar(unsigned long)\n2907 CControlBar * CDockBar::GetDockedControlBar(int)const \n2908 int CDockBar::GetDockedCount(void)const \n2909 int CDockBar::GetDockedVisibleCount(void)const \n2910 CFrameWnd * CControlBar::GetDockingFrame(void)const \n2911 void CFrameWnd::GetDockState(CDockState &)const \n2912 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2913 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2914 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n2915 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2916 int CDocManager::GetDocumentCount(void)\n2917 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2918 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName(void)const \n2919 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName(void)const \n2920 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName(void)const \n2921 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2922 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2923 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2924 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2925 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2926 IUnknown * CWnd::GetDSCCursor(void)\n2927 short CDaoRecordset::GetEditMode(void)\n2928 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n2929 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n2930 void COleSafeArray::GetElement(long *,void *)\n2931 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n2932 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n2933 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n2934 wchar_t * CDHtmlDialog::GetElementText(char const *)\n2935 COleServerItem * COleServerDoc::GetEmbeddedItem(void)\n2936 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2937 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2938 int COleControl::GetEnabled(void)\n2939 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2940 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2941 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n2942 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n2943 short CDaoException::GetErrorCount(void)\n2944 void CDaoException::GetErrorInfo(int)\n2945 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2946 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2947 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2948 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n2949 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2950 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2951 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2952 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2953 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2954 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n2955 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2956 int COleControlSite::GetEventIID(_GUID *)\n2957 AFX_EVENTMAP const * COleControl::GetEventMap(void)const \n2958 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n2959 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n2960 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2961 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap(void)const \n2962 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap(void)const \n2963 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap(void)const \n2964 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap(void)const \n2965 unsigned long COleControlSite::GetExStyle(void)const \n2966 unsigned long CWnd::GetExStyle(void)const \n2967 IDispatch * COleControl::GetExtendedControl(void)\n2968 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2969 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2970 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2971 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2972 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2973 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2974 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2975 long CBrowserControlSite::GetExternal(IDispatch * *)\n2976 long CDHtmlDialog::GetExternal(IDispatch * *)\n2977 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2978 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2979 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2980 short CDaoQueryDef::GetFieldCount(void)\n2981 short CDaoRecordset::GetFieldCount(void)\n2982 short CDaoTableDef::GetFieldCount(void)\n2983 int CDaoRecordset::GetFieldIndex(void *)\n2984 short CRecordset::GetFieldIndexByName(char const *)\n2985 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2986 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n2987 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2988 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n2989 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2990 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n2991 unsigned long CDaoRecordset::GetFieldLength(int)\n2992 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2993 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2994 COleVariant CDaoRecordset::GetFieldValue(int)\n2995 COleVariant CDaoRecordset::GetFieldValue(char const *)\n2996 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n2997 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n2998 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2999 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3000 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3001 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3002 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3003 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n3004 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n3005 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n3006 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3007 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt(void)const \n3008 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName(void)const \n3009 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName(void)const \n3010 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName(void)const \n3011 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName(void)const \n3012 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath(void)const \n3013 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath(void)const \n3014 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath(void)const \n3015 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle(void)const \n3016 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle(void)const \n3017 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle(void)const \n3018 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle(void)const \n3019 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3020 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL(void)const \n3021 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL(void)const \n3022 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL(void)const \n3023 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL(void)const \n3024 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3025 __POSITION * CMultiDocTemplate::GetFirstDocPosition(void)const \n3026 __POSITION * CSingleDocTemplate::GetFirstDocPosition(void)const \n3027 __POSITION * CDocManager::GetFirstDocTemplatePosition(void)const \n3028 __POSITION * CWinApp::GetFirstDocTemplatePosition(void)const \n3029 CFrameWnd * COleDocument::GetFirstFrame(void)\n3030 __POSITION * CDocument::GetFirstViewPosition(void)const \n3031 CWnd * COleControl::GetFocus(void)\n3032 long COleControlSite::XOleIPSite::GetFocus(void)\n3033 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath(void)const \n3034 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n3035 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n3036 IFontDisp * COleControl::GetFont(void)\n3037 IFontDisp * CFontHolder::GetFontDispatch(void)\n3038 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3039 HFONT__ * CFontHolder::GetFontHandle(void)\n3040 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3041 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n3042 unsigned long COleControl::GetForeColor(void)\n3043 _GUID CPropertySection::GetFormatID(void)\n3044 unsigned short CPropertySet::GetFormatVersion(void)\n3045 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n3046 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName(void)const \n3047 int CHtmlView::GetFullScreen(void)const \n3048 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3049 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3050 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n3051 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3052 CBrush * CDC::GetHalftoneBrush(void)\n3053 unsigned int CRectTracker::GetHandleMask(void)const \n3054 void CRectTracker::GetHandleRect(int,CRect *)const \n3055 int CRectTracker::GetHandleSize(tagRECT const *)const \n3056 CHeaderCtrl * CListCtrl::GetHeaderCtrl(void)const \n3057 long CHtmlView::GetHeight(void)const \n3058 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3059 void CSplitterWnd::GetHitRect(int,CRect &)\n3060 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3061 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3062 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3063 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3064 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName(void)const \n3065 IDispatch * CHtmlView::GetHtmlDocument(void)const \n3066 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n3067 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n3068 unsigned int COleControl::GetHwnd(void)\n3069 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3070 HICON__ * COleClientItem::GetIconFromRegistry(void)const \n3071 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3072 void * COleClientItem::GetIconicMetafile(void)\n3073 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3074 unsigned long CProperty::GetID(void)\n3075 int CPropertySection::GetID(char const *,unsigned long *)\n3076 IDataObject * COleDataObject::GetIDataObject(int)\n3077 IDispatch * CCmdTarget::GetIDispatch(int)\n3078 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3079 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3080 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3081 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3082 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3083 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3084 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3085 IFileDialogCustomize * CFileDialog::GetIFileDialogCustomize(void)\n3086 IFileOpenDialog * CFileDialog::GetIFileOpenDialog(void)\n3087 IFileSaveDialog * CFileDialog::GetIFileSaveDialog(void)\n3088 _GUID const & COleControl::XEventConnPt::GetIID(void)\n3089 CImageList * CReBarCtrl::GetImageList(void)const \n3090 short CDaoRecordset::GetIndexCount(void)\n3091 short CDaoTableDef::GetIndexCount(void)\n3092 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3093 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n3094 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3095 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n3096 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath(void)\n3097 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3098 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3099 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem(void)const \n3100 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3101 HMENU__ * COleIPFrameWnd::GetInPlaceMenu(void)\n3102 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3103 CWnd * COleClientItem::GetInPlaceWindow(void)\n3104 void CSplitterWnd::GetInsideRect(CRect &)const \n3105 IUnknown * CCmdTarget::GetInterface(void const *)\n3106 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3107 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3108 IUnknown * COleControl::GetInterfaceHook(void const *)\n3109 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3110 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap(void)const \n3111 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap(void)const \n3112 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap(void)const \n3113 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap(void)const \n3114 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap(void)const \n3115 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap(void)const \n3116 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap(void)const \n3117 AFX_INTERFACEMAP const * CFileDialog::GetInterfaceMap(void)const \n3118 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap(void)const \n3119 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap(void)const \n3120 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap(void)const \n3121 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap(void)const \n3122 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap(void)const \n3123 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap(void)const \n3124 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap(void)const \n3125 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap(void)const \n3126 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap(void)const \n3127 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap(void)const \n3128 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap(void)const \n3129 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap(void)const \n3130 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap(void)const \n3131 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap(void)const \n3132 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap(void)const \n3133 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap(void)const \n3134 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap(void)const \n3135 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap(void)const \n3136 IRichEditOle * CRichEditCtrl::GetIRichEditOle(void)const \n3137 int CDaoWorkspace::GetIsolateODBCTrans(void)\n3138 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n3139 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3140 unsigned long CListCtrl::GetItemData(int)const \n3141 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3142 unsigned int CStatusBar::GetItemID(int)const \n3143 unsigned int CToolBar::GetItemID(int)const \n3144 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3145 void COleClientItem::GetItemName(char *)const \n3146 void COleClientItem::GetItemName(char *,unsigned int)const \n3147 void COleServerDoc::GetItemPosition(tagRECT *)const \n3148 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3149 void CStatusBar::GetItemRect(int,tagRECT *)const \n3150 void CToolBar::GetItemRect(int,tagRECT *)const \n3151 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3152 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n3153 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3154 void COleClientItem::GetItemStorage(void)\n3155 void COleClientItem::GetItemStorageCompound(void)\n3156 void COleClientItem::GetItemStorageFlat(void)\n3157 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n3158 int CListCtrl::GetItemText(int,int,char *,int)const \n3159 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n3160 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n3161 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n3162 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3163 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n3164 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3165 COleVariant CDaoRecordset::GetLastModifiedBookmark(void)\n3166 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3167 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n3168 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3169 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n3170 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3171 unsigned long CDC::GetLayout(void)const \n3172 long CRecordset::GetLBFetchSize(long)\n3173 void COleSafeArray::GetLBound(unsigned long,long *)\n3174 long CRecordset::GetLBReallocSize(long)\n3175 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3176 long CHtmlView::GetLeft(void)const \n3177 int ATL::CSimpleStringT<wchar_t,1>::GetLength(void)const \n3178 int ATL::CSimpleStringT<char,1>::GetLength(void)const \n3179 unsigned __int64 CFile::GetLength(void)const \n3180 unsigned __int64 CFileFind::GetLength(void)const \n3181 unsigned __int64 CGopherFileFind::GetLength(void)const \n3182 unsigned __int64 CInternetFile::GetLength(void)const \n3183 unsigned __int64 CMemFile::GetLength(void)const \n3184 unsigned __int64 COleStreamFile::GetLength(void)const \n3185 unsigned __int64 CSocketFile::GetLength(void)const \n3186 unsigned __int64 CStdioFile::GetLength(void)const \n3187 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n3188 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3189 int CRichEditCtrl::GetLine(int,char *)const \n3190 int CRichEditCtrl::GetLine(int,char *,int)const \n3191 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n3192 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n3193 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3194 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3195 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions(void)\n3196 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3197 CPtrList * CPropertySection::GetList(void)\n3198 CPtrList * CPropertySet::GetList(void)\n3199 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName(void)const \n3200 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL(void)const \n3201 CGopherLocator CGopherFileFind::GetLocator(void)const \n3202 int CDaoRecordset::GetLockingMode(void)\n3203 short CDaoWorkspace::GetLoginTimeout(void)\n3204 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3205 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n3206 long CFieldExchange::GetLongBinarySize(int)\n3207 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n3208 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n3209 CWnd * CWinThread::GetMainWnd(void)\n3210 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager(void)const \n3211 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager(void)const \n3212 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager(void)const \n3213 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager(void)const \n3214 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3215 int CConnectionPoint::GetMaxConnections(void)\n3216 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame(void)\n3217 CMenu * CFrameWnd::GetMenu(void)const \n3218 CMenu * CWnd::GetMenu(void)const \n3219 int CHtmlView::GetMenuBar(void)const \n3220 int CFrameWnd::GetMenuBarInfo(long,long,tagMENUBARINFO *)const \n3221 unsigned long CFrameWnd::GetMenuBarState(void)const \n3222 unsigned long CFrameWnd::GetMenuBarVisibility(void)const \n3223 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n3224 CWnd * CFrameWnd::GetMessageBar(void)\n3225 CWnd * CMDIChildWnd::GetMessageBar(void)\n3226 AFX_MSGMAP const * CCheckListBox::GetMessageMap(void)const \n3227 AFX_MSGMAP const * CCmdTarget::GetMessageMap(void)const \n3228 AFX_MSGMAP const * CCommonDialog::GetMessageMap(void)const \n3229 AFX_MSGMAP const * CControlBar::GetMessageMap(void)const \n3230 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap(void)const \n3231 AFX_MSGMAP const * CCtrlView::GetMessageMap(void)const \n3232 AFX_MSGMAP const * CDaoRecordView::GetMessageMap(void)const \n3233 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap(void)const \n3234 AFX_MSGMAP const * CDialog::GetMessageMap(void)const \n3235 AFX_MSGMAP const * CDialogBar::GetMessageMap(void)const \n3236 AFX_MSGMAP const * CDockBar::GetMessageMap(void)const \n3237 AFX_MSGMAP const * CDocObjectServer::GetMessageMap(void)const \n3238 AFX_MSGMAP const * CDocument::GetMessageMap(void)const \n3239 AFX_MSGMAP const * CEditView::GetMessageMap(void)const \n3240 AFX_MSGMAP const * CFormView::GetMessageMap(void)const \n3241 AFX_MSGMAP const * CFrameWnd::GetMessageMap(void)const \n3242 AFX_MSGMAP const * CHtmlEditView::GetMessageMap(void)const \n3243 AFX_MSGMAP const * CHtmlView::GetMessageMap(void)const \n3244 AFX_MSGMAP const * CListCtrl::GetMessageMap(void)const \n3245 AFX_MSGMAP const * CListView::GetMessageMap(void)const \n3246 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap(void)const \n3247 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap(void)const \n3248 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap(void)const \n3249 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap(void)const \n3250 AFX_MSGMAP const * COleControl::GetMessageMap(void)const \n3251 AFX_MSGMAP const * COleDBRecordView::GetMessageMap(void)const \n3252 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap(void)const \n3253 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap(void)const \n3254 AFX_MSGMAP const * COlePropertyPage::GetMessageMap(void)const \n3255 AFX_MSGMAP const * COleResizeBar::GetMessageMap(void)const \n3256 AFX_MSGMAP const * COleServerDoc::GetMessageMap(void)const \n3257 AFX_MSGMAP const * CPreviewView::GetMessageMap(void)const \n3258 AFX_MSGMAP const * CPrintDialog::GetMessageMap(void)const \n3259 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap(void)const \n3260 AFX_MSGMAP const * CPropertyPage::GetMessageMap(void)const \n3261 AFX_MSGMAP const * CPropertySheet::GetMessageMap(void)const \n3262 AFX_MSGMAP const * CReBar::GetMessageMap(void)const \n3263 AFX_MSGMAP const * CRecordView::GetMessageMap(void)const \n3264 AFX_MSGMAP const * CRichEditView::GetMessageMap(void)const \n3265 AFX_MSGMAP const * CScrollView::GetMessageMap(void)const \n3266 AFX_MSGMAP const * CSocketWnd::GetMessageMap(void)const \n3267 AFX_MSGMAP const * CSplitterWnd::GetMessageMap(void)const \n3268 AFX_MSGMAP const * CStatusBar::GetMessageMap(void)const \n3269 AFX_MSGMAP const * CTabCtrl::GetMessageMap(void)const \n3270 AFX_MSGMAP const * CToolBar::GetMessageMap(void)const \n3271 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap(void)const \n3272 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap(void)const \n3273 AFX_MSGMAP const * CTreeCtrl::GetMessageMap(void)const \n3274 AFX_MSGMAP const * CTreeView::GetMessageMap(void)const \n3275 AFX_MSGMAP const * CView::GetMessageMap(void)const \n3276 AFX_MSGMAP const * CWinApp::GetMessageMap(void)const \n3277 AFX_MSGMAP const * CWnd::GetMessageMap(void)const \n3278 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3279 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3280 long CDataSourceControl::GetMetaData(void)\n3281 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3282 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3283 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3284 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3285 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3286 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3287 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3288 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3289 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3290 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3291 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3292 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3293 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3294 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3295 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3296 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3297 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3298 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3299 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3300 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName(void)\n3302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName(void)\n3303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName(void)\n3304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName(void)\n3305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName(void)\n3306 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3307 unsigned long COleClientItem::GetNewItemNumber(void)\n3308 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3309 CDataBoundProperty * CDataBoundProperty::GetNext(void)\n3310 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3311 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3312 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n3313 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n3314 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3315 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3316 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3317 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3318 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3319 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3320 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3321 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3322 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3323 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3324 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3325 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3326 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3327 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3328 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3329 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3330 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3331 CView * CDocument::GetNextView(__POSITION * &)const \n3332 ATL::CStringData * CAfxStringMgr::GetNilString(void)\n3333 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3334 void CCmdTarget::GetNotSupported(void)\n3335 void COleControl::GetNotSupported(void)\n3336 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA(void)const \n3337 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3338 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3339 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3340 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3341 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n3342 unsigned int CArchive::GetObjectSchema(void)\n3343 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3344 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo(void)\n3345 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo(void)\n3346 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo(void)\n3347 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3348 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n3349 short CDaoQueryDef::GetODBCTimeout(void)\n3350 int CHtmlView::GetOffline(void)const \n3351 tagOFNA & CFileDialog::GetOFN(void)\n3352 tagOFNA const & CFileDialog::GetOFN(void)const \n3353 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3354 IOleObject * COleServerItem::GetOleObject(void)\n3355 unsigned long COleSafeArray::GetOneDimSize(void)\n3356 int CDocManager::GetOpenDocumentCount(void)\n3357 int CWinApp::GetOpenDocumentCount(void)\n3358 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3359 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3360 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3361 int CHeaderCtrl::GetOrderArray(int *,int)const \n3362 unsigned long CPropertySet::GetOSVersion(void)\n3363 CWnd * COleControl::GetOuterWindow(void)const \n3364 int COleDocObjectItem::GetPageCount(long *,long *)\n3365 int CPropertySheet::GetPageCount(void)const \n3366 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3367 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3368 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3369 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3370 IPropertyPageSite * COlePropertyPage::GetPageSite(void)\n3371 CWnd * CSplitterWnd::GetPane(int,int)const \n3372 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3373 unsigned int CStatusBar::GetPaneStyle(int)const \n3374 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n3375 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3376 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3377 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3378 PARAFORMAT2 & CRichEditView::GetParaFormatSelection(void)\n3379 short CDaoQueryDef::GetParameterCount(void)\n3380 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n3381 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n3382 COleVariant CDaoQueryDef::GetParamValue(int)\n3383 COleVariant CDaoQueryDef::GetParamValue(char const *)\n3384 COleVariant CDaoRecordset::GetParamValue(int)\n3385 COleVariant CDaoRecordset::GetParamValue(char const *)\n3386 IDispatch * CHtmlView::GetParentBrowser(void)const \n3387 CFrameWnd * CWnd::GetParentFrame(void)const \n3388 CWnd * CWnd::GetParentOwner(void)const \n3389 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3390 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName(void)const \n3391 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3392 float CDaoRecordset::GetPercentPosition(void)\n3393 IPictureDisp * CPictureHolder::GetPictureDispatch(void)\n3394 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName(void)const \n3395 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName(void)const \n3396 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName(void)const \n3397 unsigned __int64 CFile::GetPosition(void)const \n3398 unsigned __int64 CMemFile::GetPosition(void)const \n3399 unsigned __int64 COleStreamFile::GetPosition(void)const \n3400 unsigned __int64 CSocketFile::GetPosition(void)const \n3401 unsigned __int64 CStdioFile::GetPosition(void)const \n3402 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3403 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3404 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3405 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3406 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3407 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3408 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n3409 CFont * CEditView::GetPrinterFont(void)const \n3410 long CAsyncMonikerFile::GetPriority(void)const \n3411 void * CThemeHelper::GetProc(char const *,void *)\n3412 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n3413 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n3414 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n3415 int COlePropertyPage::GetPropCheck(char const *,int *)\n3416 COleVariant CHtmlView::GetProperty(char const *)\n3417 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3418 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3419 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3420 CProperty * CPropertySection::GetProperty(unsigned long)\n3421 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3422 void CWnd::GetProperty(long,unsigned short,void *)const \n3423 int COlePropertyPage::GetPropIndex(char const *,int *)\n3424 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3425 int COlePropertyPage::GetPropRadio(char const *,int *)\n3426 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3427 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n3428 int COlePropertyPage::GetPropText(char const *,short *)\n3429 int COlePropertyPage::GetPropText(char const *,int *)\n3430 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n3431 int COlePropertyPage::GetPropText(char const *,long *)\n3432 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n3433 int COlePropertyPage::GetPropText(char const *,float *)\n3434 int COlePropertyPage::GetPropText(char const *,double *)\n3435 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n3436 _PROPSHEETPAGEA & CPropertyPage::GetPSP(void)\n3437 _PROPSHEETPAGEA const & CPropertyPage::GetPSP(void)const \n3438 short CDaoDatabase::GetQueryDefCount(void)\n3439 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n3440 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n3441 short CDaoDatabase::GetQueryTimeout(void)\n3442 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3443 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3444 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3445 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3446 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3447 void CProgressCtrl::GetRange(int &,int &)const \n3448 void CSliderCtrl::GetRange(int &,int &)const \n3449 void CSpinButtonCtrl::GetRange(int &,int &)const \n3450 void * CProperty::GetRawValue(void)\n3451 enum tagREADYSTATE CHtmlView::GetReadyState(void)const \n3452 long COleControl::GetReadyState(void)\n3453 long CDaoRecordset::GetRecordCount(void)\n3454 long CDaoTableDef::GetRecordCount(void)\n3455 long CDaoDatabase::GetRecordsAffected(void)\n3456 long CDaoQueryDef::GetRecordsAffected(void)\n3457 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3458 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3459 int COleControl::GetRectInContainer(tagRECT *)\n3460 int CHtmlView::GetRegisterAsBrowser(void)const \n3461 int CHtmlView::GetRegisterAsDropTarget(void)const \n3462 short CDaoDatabase::GetRelationCount(void)\n3463 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n3464 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n3465 int CDaoQueryDef::GetReturnsRecords(void)\n3466 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot(void)const \n3467 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot(void)const \n3468 CFrameWnd * CCmdTarget::GetRoutingFrame(void)\n3469 CFrameWnd * CCmdTarget::GetRoutingFrame_(void)\n3470 CView * CCmdTarget::GetRoutingView(void)\n3471 CView * CCmdTarget::GetRoutingView_(void)\n3472 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3473 CRuntime* CAnimateCtrl::GetRuntimeClass(void)const \n3474 CRuntime* CArchiveException::GetRuntimeClass(void)const \n3475 CRuntime* CAsyncMonikerFile::GetRuntimeClass(void)const \n3476 CRuntime* CAsyncSocket::GetRuntimeClass(void)const \n3477 CRuntime* CBitmap::GetRuntimeClass(void)const \n3478 CRuntime* CBitmapButton::GetRuntimeClass(void)const \n3479 CRuntime* CBrush::GetRuntimeClass(void)const \n3480 CRuntime* CButton::GetRuntimeClass(void)const \n3481 CRuntime* CByteArray::GetRuntimeClass(void)const \n3482 CRuntime* CCachedDataPathProperty::GetRuntimeClass(void)const \n3483 CRuntime* CCheckListBox::GetRuntimeClass(void)const \n3484 CRuntime* CClientDC::GetRuntimeClass(void)const \n3485 CRuntime* CCmdTarget::GetRuntimeClass(void)const \n3486 CRuntime* CColorDialog::GetRuntimeClass(void)const \n3487 CRuntime* CComboBox::GetRuntimeClass(void)const \n3488 CRuntime* CComboBoxEx::GetRuntimeClass(void)const \n3489 CRuntime* CCommonDialog::GetRuntimeClass(void)const \n3490 CRuntime* CControlBar::GetRuntimeClass(void)const \n3491 CRuntime* CCriticalSection::GetRuntimeClass(void)const \n3492 CRuntime* CCtrlView::GetRuntimeClass(void)const \n3493 CRuntime* CDaoDatabase::GetRuntimeClass(void)const \n3494 CRuntime* CDaoException::GetRuntimeClass(void)const \n3495 CRuntime* CDaoQueryDef::GetRuntimeClass(void)const \n3496 CRuntime* CDaoRecordset::GetRuntimeClass(void)const \n3497 CRuntime* CDaoRecordView::GetRuntimeClass(void)const \n3498 CRuntime* CDaoTableDef::GetRuntimeClass(void)const \n3499 CRuntime* CDaoWorkspace::GetRuntimeClass(void)const \n3500 CRuntime* CDatabase::GetRuntimeClass(void)const \n3501 CRuntime* CDataPathProperty::GetRuntimeClass(void)const \n3502 CRuntime* CDateTimeCtrl::GetRuntimeClass(void)const \n3503 CRuntime* CDBException::GetRuntimeClass(void)const \n3504 CRuntime* CDC::GetRuntimeClass(void)const \n3505 CRuntime* CDHtmlDialog::GetRuntimeClass(void)const \n3506 CRuntime* CDialog::GetRuntimeClass(void)const \n3507 CRuntime* CDialogBar::GetRuntimeClass(void)const \n3508 CRuntime* CDocItem::GetRuntimeClass(void)const \n3509 CRuntime* CDockBar::GetRuntimeClass(void)const \n3510 CRuntime* CDockState::GetRuntimeClass(void)const \n3511 CRuntime* CDocManager::GetRuntimeClass(void)const \n3512 CRuntime* CDocObjectServer::GetRuntimeClass(void)const \n3513 CRuntime* CDocObjectServerItem::GetRuntimeClass(void)const \n3514 CRuntime* CDocTemplate::GetRuntimeClass(void)const \n3515 CRuntime* CDocument::GetRuntimeClass(void)const \n3516 CRuntime* CDragListBox::GetRuntimeClass(void)const \n3517 CRuntime* CDWordArray::GetRuntimeClass(void)const \n3518 CRuntime* CDynLinkLibrary::GetRuntimeClass(void)const \n3519 CRuntime* CEdit::GetRuntimeClass(void)const \n3520 CRuntime* CEditView::GetRuntimeClass(void)const \n3521 CRuntime* CEvent::GetRuntimeClass(void)const \n3522 CRuntime* CException::GetRuntimeClass(void)const \n3523 CRuntime* CFile::GetRuntimeClass(void)const \n3524 CRuntime* CFileDialog::GetRuntimeClass(void)const \n3525 CRuntime* CFileException::GetRuntimeClass(void)const \n3526 CRuntime* CFileFind::GetRuntimeClass(void)const \n3527 CRuntime* CFindReplaceDialog::GetRuntimeClass(void)const \n3528 CRuntime* CFont::GetRuntimeClass(void)const \n3529 CRuntime* CFontDialog::GetRuntimeClass(void)const \n3530 CRuntime* CFormView::GetRuntimeClass(void)const \n3531 CRuntime* CFrameWnd::GetRuntimeClass(void)const \n3532 CRuntime* CFtpConnection::GetRuntimeClass(void)const \n3533 CRuntime* CFtpFileFind::GetRuntimeClass(void)const \n3534 CRuntime* CGdiObject::GetRuntimeClass(void)const \n3535 CRuntime* CGopherConnection::GetRuntimeClass(void)const \n3536 CRuntime* CGopherFile::GetRuntimeClass(void)const \n3537 CRuntime* CGopherFileFind::GetRuntimeClass(void)const \n3538 CRuntime* CHeaderCtrl::GetRuntimeClass(void)const \n3539 CRuntime* CHotKeyCtrl::GetRuntimeClass(void)const \n3540 CRuntime* CHtmlEditDoc::GetRuntimeClass(void)const \n3541 CRuntime* CHtmlEditView::GetRuntimeClass(void)const \n3542 CRuntime* CHtmlView::GetRuntimeClass(void)const \n3543 CRuntime* CHttpConnection::GetRuntimeClass(void)const \n3544 CRuntime* CHttpFile::GetRuntimeClass(void)const \n3545 CRuntime* CImageList::GetRuntimeClass(void)const \n3546 CRuntime* CInternetConnection::GetRuntimeClass(void)const \n3547 CRuntime* CInternetException::GetRuntimeClass(void)const \n3548 CRuntime* CInternetFile::GetRuntimeClass(void)const \n3549 CRuntime* CInternetSession::GetRuntimeClass(void)const \n3550 CRuntime* CInvalidArgException::GetRuntimeClass(void)const \n3551 CRuntime* CIPAddressCtrl::GetRuntimeClass(void)const \n3552 CRuntime* CLinkCtrl::GetRuntimeClass(void)const \n3553 CRuntime* CListBox::GetRuntimeClass(void)const \n3554 CRuntime* CListCtrl::GetRuntimeClass(void)const \n3555 CRuntime* CListView::GetRuntimeClass(void)const \n3556 CRuntime* CLongBinary::GetRuntimeClass(void)const \n3557 CRuntime* CMapPtrToPtr::GetRuntimeClass(void)const \n3558 CRuntime* CMapPtrToWord::GetRuntimeClass(void)const \n3559 CRuntime* CMapStringToOb::GetRuntimeClass(void)const \n3560 CRuntime* CMapStringToPtr::GetRuntimeClass(void)const \n3561 CRuntime* CMapStringToString::GetRuntimeClass(void)const \n3562 CRuntime* CMapWordToOb::GetRuntimeClass(void)const \n3563 CRuntime* CMapWordToPtr::GetRuntimeClass(void)const \n3564 CRuntime* CMDIChildWnd::GetRuntimeClass(void)const \n3565 CRuntime* CMDIFrameWnd::GetRuntimeClass(void)const \n3566 CRuntime* CMemFile::GetRuntimeClass(void)const \n3567 CRuntime* CMemoryException::GetRuntimeClass(void)const \n3568 CRuntime* CMenu::GetRuntimeClass(void)const \n3569 CRuntime* CMetaFileDC::GetRuntimeClass(void)const \n3570 CRuntime* CMiniDockFrameWnd::GetRuntimeClass(void)const \n3571 CRuntime* CMiniFrameWnd::GetRuntimeClass(void)const \n3572 CRuntime* CMonikerFile::GetRuntimeClass(void)const \n3573 CRuntime* CMonthCalCtrl::GetRuntimeClass(void)const \n3574 CRuntime* CMultiDocTemplate::GetRuntimeClass(void)const \n3575 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass(void)const \n3576 CRuntime* CMutex::GetRuntimeClass(void)const \n3577 CRuntime* CNotSupportedException::GetRuntimeClass(void)const \n3578 CRuntime* CObArray::GetRuntimeClass(void)const \n3579 CRuntime* CObject::GetRuntimeClass(void)const \n3580 CRuntime* CObList::GetRuntimeClass(void)const \n3581 CRuntime* COleBusyDialog::GetRuntimeClass(void)const \n3582 CRuntime* COleChangeIconDialog::GetRuntimeClass(void)const \n3583 CRuntime* COleChangeSourceDialog::GetRuntimeClass(void)const \n3584 CRuntime* COleClientItem::GetRuntimeClass(void)const \n3585 CRuntime* COleControl::GetRuntimeClass(void)const \n3586 CRuntime* COleControlModule::GetRuntimeClass(void)const \n3587 CRuntime* COleConvertDialog::GetRuntimeClass(void)const \n3588 CRuntime* COleDBRecordView::GetRuntimeClass(void)const \n3589 CRuntime* COleDialog::GetRuntimeClass(void)const \n3590 CRuntime* COleDispatchException::GetRuntimeClass(void)const \n3591 CRuntime* COleDocIPFrameWnd::GetRuntimeClass(void)const \n3592 CRuntime* COleDocObjectItem::GetRuntimeClass(void)const \n3593 CRuntime* COleDocument::GetRuntimeClass(void)const \n3594 CRuntime* COleException::GetRuntimeClass(void)const \n3595 CRuntime* COleInsertDialog::GetRuntimeClass(void)const \n3596 CRuntime* COleIPFrameWnd::GetRuntimeClass(void)const \n3597 CRuntime* COleLinkingDoc::GetRuntimeClass(void)const \n3598 CRuntime* COleLinksDialog::GetRuntimeClass(void)const \n3599 CRuntime* COleObjectFactory::GetRuntimeClass(void)const \n3600 CRuntime* COlePasteSpecialDialog::GetRuntimeClass(void)const \n3601 CRuntime* COlePropertiesDialog::GetRuntimeClass(void)const \n3602 CRuntime* COlePropertyPage::GetRuntimeClass(void)const \n3603 CRuntime* COleResizeBar::GetRuntimeClass(void)const \n3604 CRuntime* COleServerDoc::GetRuntimeClass(void)const \n3605 CRuntime* COleServerItem::GetRuntimeClass(void)const \n3606 CRuntime* COleStreamFile::GetRuntimeClass(void)const \n3607 CRuntime* COleUpdateDialog::GetRuntimeClass(void)const \n3608 CRuntime* CPagerCtrl::GetRuntimeClass(void)const \n3609 CRuntime* CPageSetupDialog::GetRuntimeClass(void)const \n3610 CRuntime* CPaintDC::GetRuntimeClass(void)const \n3611 CRuntime* CPalette::GetRuntimeClass(void)const \n3612 CRuntime* CPen::GetRuntimeClass(void)const \n3613 CRuntime* CPreviewDC::GetRuntimeClass(void)const \n3614 CRuntime* CPreviewView::GetRuntimeClass(void)const \n3615 CRuntime* CPrintDialog::GetRuntimeClass(void)const \n3616 CRuntime* CPrintDialogEx::GetRuntimeClass(void)const \n3617 CRuntime* CProgressCtrl::GetRuntimeClass(void)const \n3618 CRuntime* CPropertyPage::GetRuntimeClass(void)const \n3619 CRuntime* CPropertySheet::GetRuntimeClass(void)const \n3620 CRuntime* CPtrArray::GetRuntimeClass(void)const \n3621 CRuntime* CPtrList::GetRuntimeClass(void)const \n3622 CRuntime* CReBar::GetRuntimeClass(void)const \n3623 CRuntime* CReBarCtrl::GetRuntimeClass(void)const \n3624 CRuntime* CRecordset::GetRuntimeClass(void)const \n3625 CRuntime* CRecordView::GetRuntimeClass(void)const \n3626 CRuntime* CResourceException::GetRuntimeClass(void)const \n3627 CRuntime* CRgn::GetRuntimeClass(void)const \n3628 CRuntime* CRichEditCntrItem::GetRuntimeClass(void)const \n3629 CRuntime* CRichEditCtrl::GetRuntimeClass(void)const \n3630 CRuntime* CRichEditDoc::GetRuntimeClass(void)const \n3631 CRuntime* CRichEditView::GetRuntimeClass(void)const \n3632 CRuntime* CScrollBar::GetRuntimeClass(void)const \n3633 CRuntime* CScrollView::GetRuntimeClass(void)const \n3634 CRuntime* CSemaphore::GetRuntimeClass(void)const \n3635 CRuntime* CSharedFile::GetRuntimeClass(void)const \n3636 CRuntime* CSimpleException::GetRuntimeClass(void)const \n3637 CRuntime* CSingleDocTemplate::GetRuntimeClass(void)const \n3638 CRuntime* CSliderCtrl::GetRuntimeClass(void)const \n3639 CRuntime* CSocket::GetRuntimeClass(void)const \n3640 CRuntime* CSocketFile::GetRuntimeClass(void)const \n3641 CRuntime* CSpinButtonCtrl::GetRuntimeClass(void)const \n3642 CRuntime* CSplitterWnd::GetRuntimeClass(void)const \n3643 CRuntime* CStatic::GetRuntimeClass(void)const \n3644 CRuntime* CStatusBar::GetRuntimeClass(void)const \n3645 CRuntime* CStatusBarCtrl::GetRuntimeClass(void)const \n3646 CRuntime* CStdioFile::GetRuntimeClass(void)const \n3647 CRuntime* CStringArray::GetRuntimeClass(void)const \n3648 CRuntime* CStringList::GetRuntimeClass(void)const \n3649 CRuntime* CSyncObject::GetRuntimeClass(void)const \n3650 CRuntime* CTabCtrl::GetRuntimeClass(void)const \n3651 CRuntime* CToolBar::GetRuntimeClass(void)const \n3652 CRuntime* CToolBarCtrl::GetRuntimeClass(void)const \n3653 CRuntime* CToolTipCtrl::GetRuntimeClass(void)const \n3654 CRuntime* CTreeCtrl::GetRuntimeClass(void)const \n3655 CRuntime* CTreeView::GetRuntimeClass(void)const \n3656 CRuntime* CUIntArray::GetRuntimeClass(void)const \n3657 CRuntime* CUserException::GetRuntimeClass(void)const \n3658 CRuntime* CView::GetRuntimeClass(void)const \n3659 CRuntime* CWinApp::GetRuntimeClass(void)const \n3660 CRuntime* CWindowDC::GetRuntimeClass(void)const \n3661 CRuntime* CWindowlessDC::GetRuntimeClass(void)const \n3662 CRuntime* CWinThread::GetRuntimeClass(void)const \n3663 CRuntime* CWnd::GetRuntimeClass(void)const \n3664 CRuntime* CWordArray::GetRuntimeClass(void)const \n3665 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3666 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3667 unsigned long * CColorDialog::GetSavedCustomColors(void)\n3668 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName(void)const \n3669 CSize CDockState::GetScreenSize(void)\n3670 CScrollBar * CView::GetScrollBarCtrl(int)const \n3671 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3672 void CScrollView::GetScrollBarSizes(CSize &)\n3673 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3674 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3675 int CWnd::GetScrollLimit(int)\n3676 int CWnd::GetScrollPos(int)const \n3677 CPoint CScrollView::GetScrollPosition(void)const \n3678 void CWnd::GetScrollRange(int,int *,int *)const \n3679 unsigned long CSplitterWnd::GetScrollStyle(void)const \n3680 CPropertySection * CPropertySet::GetSection(_GUID)\n3681 HKEY__ * CWinApp::GetSectionKey(char const *)\n3682 char const * CPropertySection::GetSectionName(void)\n3683 void CRichEditCtrl::GetSel(long &,long &)const \n3684 CRichEditCntrItem * CRichEditView::GetSelectedItem(void)const \n3685 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3686 void CSliderCtrl::GetSelection(int &,int &)const \n3687 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n3688 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n3689 unsigned int COleConvertDialog::GetSelectionType(void)const \n3690 unsigned int COleInsertDialog::GetSelectionType(void)const \n3691 unsigned int COlePasteSpecialDialog::GetSelectionType(void)const \n3692 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3693 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3694 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3695 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText(void)const \n3696 int CHtmlView::GetSilent(void)const \n3697 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3698 unsigned long CPropertySection::GetSize(void)\n3699 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3700 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3701 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3702 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3703 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3704 CWnd * CSplitterWnd::GetSizingParent(void)\n3705 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n3706 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3707 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName(void)\n3708 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL(void)\n3709 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL(void)const \n3710 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3711 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3712 char const * CHtmlEditCtrl::GetStartDocument(void)\n3713 char const * CHtmlEditView::GetStartDocument(void)\n3714 __POSITION * CConnectionPoint::GetStartPosition(void)const \n3715 __POSITION * COleDocument::GetStartPosition(void)const \n3716 __POSITION * CRichEditDoc::GetStartPosition(void)const \n3717 int CFile::GetStatus(CFileStatus &)const \n3718 int CFile::GetStatus(char const *,CFileStatus &)\n3719 int CMemFile::GetStatus(CFileStatus &)const \n3720 int COleStreamFile::GetStatus(CFileStatus &)const \n3721 int CHtmlView::GetStatusBar(void)const \n3722 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n3723 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName(void)const \n3724 IStream * COleStreamFile::GetStream(void)const \n3725 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString(void)const \n3726 char const * ATL::CSimpleStringT<char,1>::GetString(void)const \n3727 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3728 unsigned long COleControlSite::GetStyle(void)const \n3729 unsigned long COleControlSiteOrWnd::GetStyle(void)const \n3730 unsigned long CWnd::GetStyle(void)const \n3731 int CListCtrl::GetSubItemRect(int,int,int,CRect &)const \n3732 long (__stdcall** CWnd::GetSuperWndProcAddr(void))(HWND__ *,unsigned int,unsigned int,long)\n3733 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3734 short CDaoDatabase::GetTableDefCount(void)\n3735 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n3736 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n3737 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3738 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3739 wchar_t * COleControl::GetText(void)\n3740 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n3741 int CStatusBarCtrl::GetText(char *,int,int *)const \n3742 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n3743 long CRecordset::GetTextLen(short,unsigned long)\n3744 int CStatusBarCtrl::GetTextLength(int,int *)const \n3745 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3746 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3747 int CHtmlView::GetTheaterMode(void)const \n3748 long CThemeHelper::GetThemePartSize(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n3749 long CThemeHelper::GetThemePartSizeFail(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n3750 CRuntime* CAnimateCtrl::GetThisClass(void)\n3751 CRuntime* CArchiveException::GetThisClass(void)\n3752 CRuntime* CAsyncMonikerFile::GetThisClass(void)\n3753 CRuntime* CAsyncSocket::GetThisClass(void)\n3754 CRuntime* CBitmap::GetThisClass(void)\n3755 CRuntime* CBitmapButton::GetThisClass(void)\n3756 CRuntime* CBrush::GetThisClass(void)\n3757 CRuntime* CButton::GetThisClass(void)\n3758 CRuntime* CByteArray::GetThisClass(void)\n3759 CRuntime* CCachedDataPathProperty::GetThisClass(void)\n3760 CRuntime* CCheckListBox::GetThisClass(void)\n3761 CRuntime* CClientDC::GetThisClass(void)\n3762 CRuntime* CCmdTarget::GetThisClass(void)\n3763 CRuntime* CColorDialog::GetThisClass(void)\n3764 CRuntime* CComboBox::GetThisClass(void)\n3765 CRuntime* CComboBoxEx::GetThisClass(void)\n3766 CRuntime* CCommonDialog::GetThisClass(void)\n3767 CRuntime* CControlBar::GetThisClass(void)\n3768 CRuntime* CCriticalSection::GetThisClass(void)\n3769 CRuntime* CCtrlView::GetThisClass(void)\n3770 CRuntime* CDaoDatabase::GetThisClass(void)\n3771 CRuntime* CDaoException::GetThisClass(void)\n3772 CRuntime* CDaoQueryDef::GetThisClass(void)\n3773 CRuntime* CDaoRecordset::GetThisClass(void)\n3774 CRuntime* CDaoRecordView::GetThisClass(void)\n3775 CRuntime* CDaoTableDef::GetThisClass(void)\n3776 CRuntime* CDaoWorkspace::GetThisClass(void)\n3777 CRuntime* CDatabase::GetThisClass(void)\n3778 CRuntime* CDataPathProperty::GetThisClass(void)\n3779 CRuntime* CDateTimeCtrl::GetThisClass(void)\n3780 CRuntime* CDBException::GetThisClass(void)\n3781 CRuntime* CDC::GetThisClass(void)\n3782 CRuntime* CDHtmlDialog::GetThisClass(void)\n3783 CRuntime* CDialog::GetThisClass(void)\n3784 CRuntime* CDialogBar::GetThisClass(void)\n3785 CRuntime* CDocItem::GetThisClass(void)\n3786 CRuntime* CDockBar::GetThisClass(void)\n3787 CRuntime* CDockState::GetThisClass(void)\n3788 CRuntime* CDocManager::GetThisClass(void)\n3789 CRuntime* CDocObjectServer::GetThisClass(void)\n3790 CRuntime* CDocObjectServerItem::GetThisClass(void)\n3791 CRuntime* CDocTemplate::GetThisClass(void)\n3792 CRuntime* CDocument::GetThisClass(void)\n3793 CRuntime* CDragListBox::GetThisClass(void)\n3794 CRuntime* CDWordArray::GetThisClass(void)\n3795 CRuntime* CDynLinkLibrary::GetThisClass(void)\n3796 CRuntime* CEdit::GetThisClass(void)\n3797 CRuntime* CEditView::GetThisClass(void)\n3798 CRuntime* CEvent::GetThisClass(void)\n3799 CRuntime* CException::GetThisClass(void)\n3800 CRuntime* CFile::GetThisClass(void)\n3801 CRuntime* CFileDialog::GetThisClass(void)\n3802 CRuntime* CFileException::GetThisClass(void)\n3803 CRuntime* CFileFind::GetThisClass(void)\n3804 CRuntime* CFindReplaceDialog::GetThisClass(void)\n3805 CRuntime* CFont::GetThisClass(void)\n3806 CRuntime* CFontDialog::GetThisClass(void)\n3807 CRuntime* CFormView::GetThisClass(void)\n3808 CRuntime* CFrameWnd::GetThisClass(void)\n3809 CRuntime* CFtpConnection::GetThisClass(void)\n3810 CRuntime* CFtpFileFind::GetThisClass(void)\n3811 CRuntime* CGdiObject::GetThisClass(void)\n3812 CRuntime* CGopherConnection::GetThisClass(void)\n3813 CRuntime* CGopherFile::GetThisClass(void)\n3814 CRuntime* CGopherFileFind::GetThisClass(void)\n3815 CRuntime* CHeaderCtrl::GetThisClass(void)\n3816 CRuntime* CHotKeyCtrl::GetThisClass(void)\n3817 CRuntime* CHtmlEditDoc::GetThisClass(void)\n3818 CRuntime* CHtmlEditView::GetThisClass(void)\n3819 CRuntime* CHtmlView::GetThisClass(void)\n3820 CRuntime* CHttpConnection::GetThisClass(void)\n3821 CRuntime* CHttpFile::GetThisClass(void)\n3822 CRuntime* CImageList::GetThisClass(void)\n3823 CRuntime* CInternetConnection::GetThisClass(void)\n3824 CRuntime* CInternetException::GetThisClass(void)\n3825 CRuntime* CInternetFile::GetThisClass(void)\n3826 CRuntime* CInternetSession::GetThisClass(void)\n3827 CRuntime* CInvalidArgException::GetThisClass(void)\n3828 CRuntime* CIPAddressCtrl::GetThisClass(void)\n3829 CRuntime* CLinkCtrl::GetThisClass(void)\n3830 CRuntime* CListBox::GetThisClass(void)\n3831 CRuntime* CListCtrl::GetThisClass(void)\n3832 CRuntime* CListView::GetThisClass(void)\n3833 CRuntime* CLongBinary::GetThisClass(void)\n3834 CRuntime* CMapPtrToPtr::GetThisClass(void)\n3835 CRuntime* CMapPtrToWord::GetThisClass(void)\n3836 CRuntime* CMapStringToOb::GetThisClass(void)\n3837 CRuntime* CMapStringToPtr::GetThisClass(void)\n3838 CRuntime* CMapStringToString::GetThisClass(void)\n3839 CRuntime* CMapWordToOb::GetThisClass(void)\n3840 CRuntime* CMapWordToPtr::GetThisClass(void)\n3841 CRuntime* CMDIChildWnd::GetThisClass(void)\n3842 CRuntime* CMDIFrameWnd::GetThisClass(void)\n3843 CRuntime* CMemFile::GetThisClass(void)\n3844 CRuntime* CMemoryException::GetThisClass(void)\n3845 CRuntime* CMenu::GetThisClass(void)\n3846 CRuntime* CMetaFileDC::GetThisClass(void)\n3847 CRuntime* CMiniDockFrameWnd::GetThisClass(void)\n3848 CRuntime* CMiniFrameWnd::GetThisClass(void)\n3849 CRuntime* CMonikerFile::GetThisClass(void)\n3850 CRuntime* CMonthCalCtrl::GetThisClass(void)\n3851 CRuntime* CMultiDocTemplate::GetThisClass(void)\n3852 CRuntime* CMultiPageDHtmlDialog::GetThisClass(void)\n3853 CRuntime* CMutex::GetThisClass(void)\n3854 CRuntime* CNotSupportedException::GetThisClass(void)\n3855 CRuntime* CObArray::GetThisClass(void)\n3856 CRuntime* CObject::GetThisClass(void)\n3857 CRuntime* CObList::GetThisClass(void)\n3858 CRuntime* COleBusyDialog::GetThisClass(void)\n3859 CRuntime* COleChangeIconDialog::GetThisClass(void)\n3860 CRuntime* COleChangeSourceDialog::GetThisClass(void)\n3861 CRuntime* COleClientItem::GetThisClass(void)\n3862 CRuntime* COleControl::GetThisClass(void)\n3863 CRuntime* COleControlModule::GetThisClass(void)\n3864 CRuntime* COleConvertDialog::GetThisClass(void)\n3865 CRuntime* COleDBRecordView::GetThisClass(void)\n3866 CRuntime* COleDialog::GetThisClass(void)\n3867 CRuntime* COleDispatchException::GetThisClass(void)\n3868 CRuntime* COleDocIPFrameWnd::GetThisClass(void)\n3869 CRuntime* COleDocObjectItem::GetThisClass(void)\n3870 CRuntime* COleDocument::GetThisClass(void)\n3871 CRuntime* COleException::GetThisClass(void)\n3872 CRuntime* COleInsertDialog::GetThisClass(void)\n3873 CRuntime* COleIPFrameWnd::GetThisClass(void)\n3874 CRuntime* COleLinkingDoc::GetThisClass(void)\n3875 CRuntime* COleLinksDialog::GetThisClass(void)\n3876 CRuntime* COleObjectFactory::GetThisClass(void)\n3877 CRuntime* COlePasteSpecialDialog::GetThisClass(void)\n3878 CRuntime* COlePropertiesDialog::GetThisClass(void)\n3879 CRuntime* COlePropertyPage::GetThisClass(void)\n3880 CRuntime* COleResizeBar::GetThisClass(void)\n3881 CRuntime* COleServerDoc::GetThisClass(void)\n3882 CRuntime* COleServerItem::GetThisClass(void)\n3883 CRuntime* COleStreamFile::GetThisClass(void)\n3884 CRuntime* COleUpdateDialog::GetThisClass(void)\n3885 CRuntime* CPagerCtrl::GetThisClass(void)\n3886 CRuntime* CPageSetupDialog::GetThisClass(void)\n3887 CRuntime* CPaintDC::GetThisClass(void)\n3888 CRuntime* CPalette::GetThisClass(void)\n3889 CRuntime* CPen::GetThisClass(void)\n3890 CRuntime* CPreviewDC::GetThisClass(void)\n3891 CRuntime* CPreviewView::GetThisClass(void)\n3892 CRuntime* CPrintDialog::GetThisClass(void)\n3893 CRuntime* CPrintDialogEx::GetThisClass(void)\n3894 CRuntime* CProgressCtrl::GetThisClass(void)\n3895 CRuntime* CPropertyPage::GetThisClass(void)\n3896 CRuntime* CPropertySheet::GetThisClass(void)\n3897 CRuntime* CPtrArray::GetThisClass(void)\n3898 CRuntime* CPtrList::GetThisClass(void)\n3899 CRuntime* CReBar::GetThisClass(void)\n3900 CRuntime* CReBarCtrl::GetThisClass(void)\n3901 CRuntime* CRecordset::GetThisClass(void)\n3902 CRuntime* CRecordView::GetThisClass(void)\n3903 CRuntime* CResourceException::GetThisClass(void)\n3904 CRuntime* CRgn::GetThisClass(void)\n3905 CRuntime* CRichEditCntrItem::GetThisClass(void)\n3906 CRuntime* CRichEditCtrl::GetThisClass(void)\n3907 CRuntime* CRichEditDoc::GetThisClass(void)\n3908 CRuntime* CRichEditView::GetThisClass(void)\n3909 CRuntime* CScrollBar::GetThisClass(void)\n3910 CRuntime* CScrollView::GetThisClass(void)\n3911 CRuntime* CSemaphore::GetThisClass(void)\n3912 CRuntime* CSharedFile::GetThisClass(void)\n3913 CRuntime* CSimpleException::GetThisClass(void)\n3914 CRuntime* CSingleDocTemplate::GetThisClass(void)\n3915 CRuntime* CSliderCtrl::GetThisClass(void)\n3916 CRuntime* CSocket::GetThisClass(void)\n3917 CRuntime* CSocketFile::GetThisClass(void)\n3918 CRuntime* CSpinButtonCtrl::GetThisClass(void)\n3919 CRuntime* CSplitterWnd::GetThisClass(void)\n3920 CRuntime* CStatic::GetThisClass(void)\n3921 CRuntime* CStatusBar::GetThisClass(void)\n3922 CRuntime* CStatusBarCtrl::GetThisClass(void)\n3923 CRuntime* CStdioFile::GetThisClass(void)\n3924 CRuntime* CStringArray::GetThisClass(void)\n3925 CRuntime* CStringList::GetThisClass(void)\n3926 CRuntime* CSyncObject::GetThisClass(void)\n3927 CRuntime* CTabCtrl::GetThisClass(void)\n3928 CRuntime* CToolBar::GetThisClass(void)\n3929 CRuntime* CToolBarCtrl::GetThisClass(void)\n3930 CRuntime* CToolTipCtrl::GetThisClass(void)\n3931 CRuntime* CTreeCtrl::GetThisClass(void)\n3932 CRuntime* CTreeView::GetThisClass(void)\n3933 CRuntime* CUIntArray::GetThisClass(void)\n3934 CRuntime* CUserException::GetThisClass(void)\n3935 CRuntime* CView::GetThisClass(void)\n3936 CRuntime* CWinApp::GetThisClass(void)\n3937 CRuntime* CWindowDC::GetThisClass(void)\n3938 CRuntime* CWindowlessDC::GetThisClass(void)\n3939 CRuntime* CWinThread::GetThisClass(void)\n3940 CRuntime* CWnd::GetThisClass(void)\n3941 CRuntime* CWordArray::GetThisClass(void)\n3942 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap(void)\n3943 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap(void)\n3944 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap(void)\n3945 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap(void)\n3946 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap(void)\n3947 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap(void)\n3948 AFX_EVENTMAP const * COleControl::GetThisEventMap(void)\n3949 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap(void)\n3950 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap(void)\n3951 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap(void)\n3952 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap(void)\n3953 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap(void)\n3954 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap(void)\n3955 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap(void)\n3956 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap(void)\n3957 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap(void)\n3958 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap(void)\n3959 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap(void)\n3960 AFX_INTERFACEMAP const * CFileDialog::GetThisInterfaceMap(void)\n3961 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap(void)\n3962 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap(void)\n3963 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap(void)\n3964 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap(void)\n3965 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap(void)\n3966 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap(void)\n3967 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap(void)\n3968 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap(void)\n3969 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap(void)\n3970 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap(void)\n3971 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap(void)\n3972 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap(void)\n3973 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap(void)\n3974 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap(void)\n3975 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap(void)\n3976 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap(void)\n3977 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap(void)\n3978 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap(void)\n3979 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap(void)\n3980 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap(void)\n3981 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap(void)\n3982 AFX_MSGMAP const * CControlBar::GetThisMessageMap(void)\n3983 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap(void)\n3984 AFX_MSGMAP const * CCtrlView::GetThisMessageMap(void)\n3985 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap(void)\n3986 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap(void)\n3987 AFX_MSGMAP const * CDialog::GetThisMessageMap(void)\n3988 AFX_MSGMAP const * CDialogBar::GetThisMessageMap(void)\n3989 AFX_MSGMAP const * CDockBar::GetThisMessageMap(void)\n3990 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap(void)\n3991 AFX_MSGMAP const * CDocument::GetThisMessageMap(void)\n3992 AFX_MSGMAP const * CEditView::GetThisMessageMap(void)\n3993 AFX_MSGMAP const * CFormView::GetThisMessageMap(void)\n3994 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap(void)\n3995 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap(void)\n3996 AFX_MSGMAP const * CHtmlView::GetThisMessageMap(void)\n3997 AFX_MSGMAP const * CListCtrl::GetThisMessageMap(void)\n3998 AFX_MSGMAP const * CListView::GetThisMessageMap(void)\n3999 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap(void)\n4000 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap(void)\n4001 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap(void)\n4002 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap(void)\n4003 AFX_MSGMAP const * COleControl::GetThisMessageMap(void)\n4004 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap(void)\n4005 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap(void)\n4006 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap(void)\n4007 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap(void)\n4008 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap(void)\n4009 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap(void)\n4010 AFX_MSGMAP const * CPreviewView::GetThisMessageMap(void)\n4011 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap(void)\n4012 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap(void)\n4013 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap(void)\n4014 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap(void)\n4015 AFX_MSGMAP const * CReBar::GetThisMessageMap(void)\n4016 AFX_MSGMAP const * CRecordView::GetThisMessageMap(void)\n4017 AFX_MSGMAP const * CRichEditView::GetThisMessageMap(void)\n4018 AFX_MSGMAP const * CScrollView::GetThisMessageMap(void)\n4019 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap(void)\n4020 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap(void)\n4021 AFX_MSGMAP const * CStatusBar::GetThisMessageMap(void)\n4022 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap(void)\n4023 AFX_MSGMAP const * CToolBar::GetThisMessageMap(void)\n4024 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap(void)\n4025 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap(void)\n4026 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap(void)\n4027 AFX_MSGMAP const * CTreeView::GetThisMessageMap(void)\n4028 AFX_MSGMAP const * CView::GetThisMessageMap(void)\n4029 AFX_MSGMAP const * CWinApp::GetThisMessageMap(void)\n4030 AFX_MSGMAP const * CWnd::GetThisMessageMap(void)\n4031 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n4032 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n4033 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n4034 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n4035 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n4036 int CHtmlView::GetToolBar(void)const \n4037 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n4038 long CHtmlView::GetTop(void)const \n4039 int CHtmlView::GetTopLevelContainer(void)const \n4040 CFrameWnd * CWnd::GetTopLevelFrame(void)const \n4041 CWnd * CWnd::GetTopLevelOwner(void)const \n4042 CWnd * CWnd::GetTopLevelParent(void)const \n4043 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n4044 void CRectTracker::GetTrueRect(tagRECT *)const \n4045 short CDaoQueryDef::GetType(void)\n4046 short CDaoRecordset::GetType(void)\n4047 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType(void)const \n4048 short CPictureHolder::GetType(void)\n4049 unsigned long CProperty::GetType(void)\n4050 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4051 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4052 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4053 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4054 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4055 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4056 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4057 unsigned int CCmdTarget::GetTypeInfoCount(void)\n4058 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n4059 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n4060 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n4061 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n4062 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n4063 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n4064 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n4065 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n4066 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n4067 CTypeLibCache * CCmdTarget::GetTypeLibCache(void)\n4068 void COleSafeArray::GetUBound(unsigned long,long *)\n4069 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n4070 long COleControl::XOleObject::GetUserClassID(_GUID *)\n4071 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n4072 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n4073 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n4074 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA(void)\n4075 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4076 void COleControl::GetUserType(char *)\n4077 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4078 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4079 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4080 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4081 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule(void)\n4082 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule(void)\n4083 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText(void)\n4084 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText(void)\n4085 void * CMapPtrToPtr::GetValueAt(void *)const \n4086 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb(void)const \n4087 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion(void)\n4088 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion(void)\n4089 unsigned long CDockState::GetVersion(void)\n4090 CHtmlEditView * CHtmlEditDoc::GetView(void)const \n4091 CRichEditView * CRichEditDoc::GetView(void)const \n4092 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n4093 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n4094 int CHtmlView::GetVisible(void)const \n4095 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n4096 long CHtmlView::GetWidth(void)const \n4097 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4098 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4099 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n4100 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n4101 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n4102 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n4103 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n4104 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n4105 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4106 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4107 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n4108 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n4109 long CWnd::GetWindowedChildCount(void)\n4110 long CWnd::GetWindowLessChildCount(void)\n4111 IDropTarget * COleControl::GetWindowlessDropTarget(void)\n4112 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n4113 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n4114 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4115 int CWnd::GetWindowTextA(char *,int)const \n4116 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4117 int CWnd::GetWindowTextLengthA(void)const \n4118 short CDaoWorkspace::GetWorkspaceCount(void)\n4119 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n4120 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n4121 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n4122 long COleDropSource::GiveFeedback(unsigned long)\n4123 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n4124 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n4125 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n4126 void CMemFile::GrowFile(unsigned long)\n4127 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n4128 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n4129 long CDialog::HandleInitDialog(unsigned int,long)\n4130 long CDialogBar::HandleInitDialog(unsigned int,long)\n4131 long CFormView::HandleInitDialog(unsigned int,long)\n4132 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n4133 long CPropertySheet::HandleInitDialog(unsigned int,long)\n4134 long CScrollView::HandleMButtonDown(unsigned int,long)\n4135 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n4136 int COleControlContainer::HandleSetFocus(void)\n4137 long CDialog::HandleSetFont(unsigned int,long)\n4138 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n4139 long COleControl::XPersistStorage::HandsOffStorage(void)\n4140 long COleServerDoc::XPersistStorage::HandsOffStorage(void)\n4141 int COleDocument::HasBlankItems(void)const \n4142 int CDialogTemplate::HasFont(void)const \n4143 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n4144 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n4145 void * CFile::hFileNull\n4146 void CWinApp::HideApplication(void)\n4147 void CFileDialog::HideControl(int)\n4148 long CBrowserControlSite::HideUI(void)\n4149 long CDHtmlDialog::HideUI(void)\n4150 long CHtmlControlSite::XDocHostUIHandler::HideUI(void)\n4151 void CDC::HIMETRICtoDP(tagSIZE *)const \n4152 void CDC::HIMETRICtoLP(tagSIZE *)const \n4153 int CListCtrl::HitTest(CPoint,unsigned int *)const \n4154 int CRectTracker::HitTest(CPoint)const \n4155 int CSplitterWnd::HitTest(CPoint)const \n4156 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n4157 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n4158 int CRectTracker::HitTestHandles(CPoint)const \n4159 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n4160 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n4161 int CSplitterWnd::IdFromRowCol(int,int)const \n4162 void CDaoWorkspace::Idle(int)\n4163 void COlePropertyPage::IgnoreApply(unsigned int)\n4164 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n4165 int CWinApp::InitApplication(void)\n4166 long COleControl::XOleCache::InitCache(IDataObject *)\n4167 int CWnd::InitControlContainer(int)\n4168 void CDaoWorkspace::InitDatabasesCollection(void)\n4169 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n4170 long CPrintDialogEx::InitDone(void)\n4171 void CDaoException::InitErrorsCollection(void)\n4172 void CDaoQueryDef::InitFieldsCollection(void)\n4173 void CDaoRecordset::InitFieldsCollection(void)\n4174 void CDaoTableDef::InitFieldsCollection(void)\n4175 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4176 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4177 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4178 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4179 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n4180 void CMapPtrToWord::InitHashTable(unsigned int,int)\n4181 void CMapStringToOb::InitHashTable(unsigned int,int)\n4182 void CMapStringToPtr::InitHashTable(unsigned int,int)\n4183 void CMapStringToString::InitHashTable(unsigned int,int)\n4184 void CMapWordToOb::InitHashTable(unsigned int,int)\n4185 void CMapWordToPtr::InitHashTable(unsigned int,int)\n4186 long CDataSourceControl::Initialize(void)\n4187 void CDHtmlDialog::Initialize(void)\n4188 void CDaoWorkspace::InitializeEngine(void)\n4189 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n4190 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n4191 int CEditView::InitializeReplace(void)\n4192 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n4193 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n4194 void CDaoRecordset::InitIndexesCollection(void)\n4195 void CDaoTableDef::InitIndexesCollection(void)\n4196 int COleControlModule::InitInstance(void)\n4197 int CWinApp::InitInstance(void)\n4198 int CWinThread::InitInstance(void)\n4199 void CWinApp::InitLibId(void)\n4200 void CDockContext::InitLoop(void)\n4201 int CDialog::InitModalIndirect(void *,CWnd *)\n4202 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n4203 long COleControl::XPersistMemory::InitNew(void)\n4204 long COleControl::XPersistPropertyBag::InitNew(void)\n4205 long COleControl::XPersistStorage::InitNew(IStorage *)\n4206 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n4207 long COleControl::XPersistStreamInit::InitNew(void)\n4208 void CDaoQueryDef::InitParametersCollection(void)\n4209 void CDaoDatabase::InitQueryDefsCollection(void)\n4210 void CRecordset::InitRecord(void)\n4211 void CDaoDatabase::InitRelationsCollection(void)\n4212 void COleControl::InitStockEventMask(void)\n4213 void COleControl::InitStockPropMask(void)\n4214 void CSimpleException::InitString(void)\n4215 void CDaoDatabase::InitTableDefsCollection(void)\n4216 void CDaoDatabase::InitWorkspace(void)\n4217 void CDaoWorkspace::InitWorkspacesCollection(void)\n4218 long COleControl::XOleInPlaceObject::InPlaceDeactivate(void)\n4219 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate(void)\n4220 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n4221 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n4222 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n4223 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n4224 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n4225 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n4226 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n4227 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n4228 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n4229 void CByteArray::InsertAt(int,unsigned char,int)\n4230 void CByteArray::InsertAt(int,CByteArray *)\n4231 void CDWordArray::InsertAt(int,unsigned long,int)\n4232 void CDWordArray::InsertAt(int,CDWordArray *)\n4233 void CObArray::InsertAt(int,CObArray *)\n4234 void CObArray::InsertAt(int,CObject *,int)\n4235 void CPtrArray::InsertAt(int,CPtrArray *)\n4236 void CPtrArray::InsertAt(int,void *,int)\n4237 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n4238 void CStringArray::InsertAt(int,char const *,int)\n4239 void CStringArray::InsertAt(int,CStringArray const *)\n4240 void CUIntArray::InsertAt(int,unsigned int,int)\n4241 void CUIntArray::InsertAt(int,CUIntArray *)\n4242 void CWordArray::InsertAt(int,unsigned short,int)\n4243 void CWordArray::InsertAt(int,CWordArray *)\n4244 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n4245 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n4246 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n4247 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n4248 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n4249 void CStringArray::InsertEmpty(int,int)\n4250 void CRichEditView::InsertFileAsObject(char const *)\n4251 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n4252 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n4253 long CRichEditView::InsertItem(CRichEditCntrItem *)\n4254 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n4255 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n4256 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n4257 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4258 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4259 CFontHolder & COleControl::InternalGetFont(void)\n4260 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText(void)\n4261 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n4262 unsigned long CCmdTarget::InternalRelease(void)\n4263 int CDC::IntersectClipRect(int,int,int,int)\n4264 int CDC::IntersectClipRect(tagRECT const *)\n4265 void CCheckListBox::InvalidateCheck(int)\n4266 void COleControl::InvalidateControl(tagRECT const *,int)\n4267 void CCheckListBox::InvalidateItem(int)\n4268 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n4269 void COleControl::InvalidateRgn(CRgn *,int)\n4270 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n4271 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4272 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4273 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4274 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4275 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4276 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4277 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4278 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(void),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n4279 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4280 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4281 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4282 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4283 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4284 int CThemeHelper::IsAppThemed(void)\n4285 int CThemeHelper::IsAppThemedFail(void)\n4286 int CDocItem::IsBlank(void)const \n4287 int COleServerItem::IsBlank(void)const \n4288 int CDaoRecordset::IsBOF(void)const \n4289 int CPropertyPage::IsButtonEnabled(int)\n4290 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n4291 int COleServerItem::IsConnected(void)const \n4292 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n4293 int COleControlSite::IsDefaultButton(void)\n4294 int CDaoRecordset::IsDeleted(void)const \n4295 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n4296 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n4297 int CWnd::IsDialogMessageA(tagMSG *)\n4298 long CBlobProperty::IsDirty(void)\n4299 long COleLinkingDoc::XPersistFile::IsDirty(void)\n4300 long COleControl::XPersistMemory::IsDirty(void)\n4301 long COleControl::XPersistStorage::IsDirty(void)\n4302 long COleServerDoc::XPersistStorage::IsDirty(void)\n4303 long COleControl::XPersistStreamInit::IsDirty(void)\n4304 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n4305 unsigned int CWnd::IsDlgButtonChecked(int)const \n4306 int CControlBar::IsDockBar(void)const \n4307 int CDockBar::IsDockBar(void)const \n4308 int CFileFind::IsDots(void)const \n4309 int CGopherFileFind::IsDots(void)const \n4310 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty(void)const \n4311 bool ATL::CSimpleStringT<char,1>::IsEmpty(void)const \n4312 int CCheckListBox::IsEnabled(int)\n4313 int CDaoRecordset::IsEOF(void)const \n4314 int CDHtmlDialog::IsExternalDispatchSafe(void)\n4315 int CDaoRecordset::IsFieldDirty(void *)\n4316 int CRecordset::IsFieldDirty(void *)\n4317 int CDaoRecordset::IsFieldNull(void *)\n4318 int CRecordset::IsFieldNull(void *)\n4319 int CDaoRecordset::IsFieldNullable(void *)\n4320 int CRecordset::IsFieldNullable(void *)\n4321 int CRecordset::IsFieldNullable(unsigned long)const \n4322 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n4323 int CRecordset::IsFieldStatusDirty(unsigned long)const \n4324 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n4325 int CRecordset::IsFieldStatusNull(unsigned long)const \n4326 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n4327 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n4328 int CFieldExchange::IsFieldType(unsigned int *)\n4329 int CControlBar::IsFloating(void)const \n4330 int CFrameWnd::IsFrameWnd(void)const \n4331 int CWnd::IsFrameWnd(void)const \n4332 int IsHelpKey(tagMSG *)\n4333 int CWinThread::IsIdleMessage(tagMSG *)\n4334 int CCmdTarget::IsInvokeAllowed(long)\n4335 int COleControl::IsInvokeAllowed(long)\n4336 int CRecordset::IsJoin(char const *)\n4337 int CObject::IsKindOf(CRuntimeconst *)const \n4338 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n4339 int COccManager::IsLabelControl(CWnd *)\n4340 int COleObjectFactory::IsLicenseValid(void)\n4341 int CControlCreationInfo::IsManaged(void)const \n4342 int CDaoRecordset::IsMatch(void)\n4343 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n4344 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n4345 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n4346 int CHtmlEditDoc::IsModified(void)\n4347 int COleClientItem::IsModified(void)const \n4348 int COleControl::IsModified(void)\n4349 int COlePropertyPage::IsModified(void)\n4350 int CRichEditDoc::IsModified(void)\n4351 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n4352 int CDaoRecordView::IsOnFirstRecord(void)\n4353 int CRecordView::IsOnFirstRecord(void)\n4354 int CDaoRecordView::IsOnLastRecord(void)\n4355 int CRecordView::IsOnLastRecord(void)\n4356 int CRecordset::IsOpen(void)const \n4357 long COlePropertyPage::XPropertyPage::IsPageDirty(void)\n4358 int CRecordset::IsParamStatusNull(unsigned long)const \n4359 int CRecordset::IsRecordsetUpdatable(void)\n4360 int CCmdTarget::IsResultExpected(void)\n4361 int CRichEditView::IsRichEditFormat(unsigned short)\n4362 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n4363 int CRichEditView::IsSelected(CObject const *)const \n4364 int CView::IsSelected(CObject const *)const \n4365 int CRecordset::IsSelectQueryUpdatable(char const *)\n4366 int CObject::IsSerializable(void)const \n4367 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n4368 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n4369 int CRecordset::IsSQLUpdatable(char const *)\n4370 int COleControl::IsSubclassedControl(void)\n4371 int CThemeHelper::IsThemeBackgroundPartiallyTransparent(void *,int,int)\n4372 int CThemeHelper::IsThemeBackgroundPartiallyTransparentFail(void *,int,int)\n4373 int CThemeHelper::IsThemePartDefined(void *,int,int)\n4374 int CThemeHelper::IsThemePartDefinedFail(void *,int,int)\n4375 int CWnd::IsTopParentActive(void)const \n4376 int CFrameWnd::IsTracking(void)const \n4377 long CDocObjectServer::XOleObject::IsUpToDate(void)\n4378 long COleControl::XOleObject::IsUpToDate(void)\n4379 long COleServerDoc::XOleObject::IsUpToDate(void)\n4380 long COleServerItem::XOleObject::IsUpToDate(void)\n4381 int CDaoFieldExchange::IsValidOperation(void)\n4382 int CControlBar::IsVisible(void)const \n4383 int COleControlSite::IsWindowEnabled(void)const \n4384 int CWnd::IsWindowEnabled(void)const \n4385 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n4386 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n4387 void COleControl::KeyDown(unsigned short *)\n4388 void COleControl::KeyUp(unsigned short *)\n4389 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n4390 void CToolBar::Layout(void)\n4391 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n4392 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n4393 int CRichEditCtrl::LineIndex(int)const \n4394 int CRichEditCtrl::LineLength(int)const \n4395 void CRichEditCtrl::LineScroll(int,int)\n4396 int CDC::LineTo(int,int)\n4397 unsigned long CRichEditView::lMaxSize\n4398 long CBlobProperty::Load(IStream *)\n4399 int CDialogTemplate::Load(char const *)\n4400 void COleControl::Load(char const *,CDataPathProperty &)\n4401 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4402 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4403 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4404 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4405 long COleControl::XPersistStorage::Load(IStorage *)\n4406 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4407 long COleControl::XPersistStreamInit::Load(IStream *)\n4408 int CFrameWnd::LoadAccelTable(char const *)\n4409 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL(void)\n4410 void CFrameWnd::LoadBarState(char const *)\n4411 int CToolBar::LoadBitmapA(char const *)\n4412 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n4413 void CDaoRecordset::LoadFields(void)\n4414 void CRecordset::LoadFields(void)\n4415 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4416 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4417 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4418 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4419 int CDHtmlDialog::LoadFromResource(unsigned int)\n4420 int CDHtmlDialog::LoadFromResource(char const *)\n4421 int CHtmlView::LoadFromResource(unsigned int)\n4422 int CHtmlView::LoadFromResource(char const *)\n4423 void COleDocument::LoadFromStorage(void)\n4424 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n4425 void CDockState::LoadState(char const *)\n4426 long COleControl::LoadState(IStream *)\n4427 void CWinApp::LoadStdProfileSettings(unsigned int)\n4428 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n4429 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4430 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4431 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n4432 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n4433 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n4434 int CWinApp::LoadSysPolicies(void)\n4435 void CDocTemplate::LoadTemplate(void)\n4436 void CMultiDocTemplate::LoadTemplate(void)\n4437 int CToolBar::LoadToolBar(char const *)\n4438 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4439 void COleSafeArray::Lock(void)\n4440 int CSingleLock::Lock(unsigned long)\n4441 int CSyncObject::Lock(unsigned long)\n4442 void CTypeLibCache::Lock(void)\n4443 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer(void)\n4444 char * ATL::CSimpleStringT<char,1>::LockBuffer(void)\n4445 char const * CEditView::LockBuffer(void)const \n4446 long COleControlContainer::XOleContainer::LockContainer(int)\n4447 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4448 void COleLinkingDoc::LockExternal(int,int)\n4449 int COleControl::LockInPlaceActive(int)\n4450 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4451 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4452 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4453 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4454 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4455 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4456 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4457 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4458 long COleObjectFactory::XClassFactory::LockServer(int)\n4459 int CMapPtrToPtr::Lookup(void *,void * &)const \n4460 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4461 int CMapStringToOb::Lookup(char const *,CObject * &)const \n4462 int CMapStringToPtr::Lookup(char const *,void * &)const \n4463 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4464 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4465 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4466 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4467 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4468 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4469 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4470 int CMapStringToOb::LookupKey(char const *,char const * &)const \n4471 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n4472 int CMapStringToString::LookupKey(char const *,char const * &)const \n4473 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4474 void CDC::LPtoDP(tagSIZE *)const \n4475 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4476 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower(void)\n4477 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower(void)\n4478 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse(void)\n4479 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse(void)\n4480 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper(void)\n4481 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper(void)\n4482 void CArchive::MapObject(CObject const *)\n4483 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4484 int COleDialog::MapResult(unsigned int)\n4485 long CPropertyPage::MapWizardResult(long)\n4486 void CDaoRecordset::MarkForAddNew(void)\n4487 void CRecordset::MarkForAddNew(void)\n4488 void CDaoRecordset::MarkForEdit(void)\n4489 void CRecordset::MarkForUpdate(void)\n4490 void CRichEditDoc::MarkItemsClear(void)const \n4491 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n4492 int CFileFind::MatchesMask(unsigned long)const \n4493 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4494 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4495 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4496 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4497 void CListBox::MeasureItem(tagMEASUREITEM*)\n4498 void CMenu::MeasureItem(tagMEASUREITEM*)\n4499 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n4500 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4501 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n4502 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n4503 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4504 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4505 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4506 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4507 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4508 void CPreviewDC::MirrorAttributes(void)\n4509 void CPreviewDC::MirrorFont(void)\n4510 void CPreviewDC::MirrorMappingMode(int)\n4511 void CPreviewDC::MirrorViewportOrg(void)\n4512 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4513 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4514 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4515 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4516 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4517 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4518 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n4519 void CDaoRecordset::Move(long)\n4520 void CDockContext::Move(CPoint)\n4521 void CRecordset::Move(long,unsigned short)\n4522 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4523 void CDaoRecordset::MoveFirst(void)\n4524 void CDaoRecordset::MoveLast(void)\n4525 void CDaoRecordset::MoveNext(void)\n4526 void CDaoRecordset::MovePrev(void)\n4527 CPoint CDC::MoveTo(int,int)\n4528 void COleControlSite::MoveWindow(int,int,int,int)\n4529 void CWnd::MoveWindow(int,int,int,int,int)\n4530 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4531 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4532 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n4533 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n4534 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n4535 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4536 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4537 unsigned int COleDropSource::nDragDelay\n4538 unsigned int COleDropSource::nDragMinDist\n4539 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4540 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc(void)\n4541 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc(void)\n4542 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc(void)\n4543 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc(void)\n4544 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n4545 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc(void)\n4546 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc(void)\n4547 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4548 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4549 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4550 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4551 unsigned int const CEditView::nMaxSize\n4552 int CRectTracker::NormalizeHit(int)const \n4553 void CDataBoundProperty::Notify(void)\n4554 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4555 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4556 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4557 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4558 void COleServerDoc::NotifyRename(char const *)\n4559 unsigned int COleDropTarget::nScrollDelay\n4560 int COleDropTarget::nScrollInset\n4561 unsigned int COleDropTarget::nScrollInterval\n4562 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA(void)\n4563 int CDC::OffsetClipRgn(int,int)\n4564 int CDC::OffsetClipRgn(tagSIZE)\n4565 CPoint CDC::OffsetViewportOrg(int,int)\n4566 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4567 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4568 CPoint CDC::OffsetWindowOrg(int,int)\n4569 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4570 void CAsyncSocket::OnAccept(int)\n4571 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4572 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4573 void COleClientItem::OnActivate(void)\n4574 void COleFrameHook::OnActivate(int)\n4575 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4576 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4577 long COleControl::OnActivateInPlace(int,tagMSG *)\n4578 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4579 long CWnd::OnActivateTopLevel(unsigned int,long)\n4580 void COleClientItem::OnActivateUI(void)\n4581 long CDocObjectServer::OnActivateView(void)\n4582 void CFormView::OnActivateView(int,CView *,CView *)\n4583 void CPreviewView::OnActivateView(int,CView *,CView *)\n4584 void CRichEditView::OnActivateView(int,CView *,CView *)\n4585 void CView::OnActivateView(int,CView *,CView *)\n4586 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4587 void CConnectionPoint::OnAdvise(int)\n4588 void COleControl::XEventConnPt::OnAdvise(int)\n4589 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4590 void COleControl::OnAmbientPropertyChange(long)\n4591 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4592 void COleControl::OnAppearanceChanged(void)\n4593 void CWinApp::OnAppExit(void)\n4594 int CPropertyPage::OnApply(void)\n4595 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4596 void CDocObjectServer::OnApplyViewState(CArchive &)\n4597 void COleControl::OnBackColorChanged(void)\n4598 int CFrameWnd::OnBarCheck(unsigned int)\n4599 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4600 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4601 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4602 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4603 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n4604 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n4605 int COleDropSource::OnBeginDrag(CWnd *)\n4606 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4607 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4608 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4609 void COleControl::OnBorderStyleChanged(void)\n4610 void CRichEditView::OnBullet(void)\n4611 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4612 long CFileDialog::XFileDialogControlEvents::OnButtonClicked(IFileDialogCustomize *,unsigned long)\n4613 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4614 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4615 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4616 void CCommonDialog::OnCancel(void)\n4617 void CDialog::OnCancel(void)\n4618 void CPropertyPage::OnCancel(void)\n4619 void CRichEditView::OnCancelEditCntr(void)\n4620 void COleControl::OnCancelMode(void)\n4621 void CSplitterWnd::OnCancelMode(void)\n4622 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4623 long COleControl::XFontNotification::OnChanged(long)\n4624 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4625 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4626 void CRectTracker::OnChangedRect(CRect const &)\n4627 void CDocument::OnChangedViewList(void)\n4628 int COleClientItem::OnChangeItemPosition(CRect const &)\n4629 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4630 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4631 void CRichEditView::OnCharBold(void)\n4632 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4633 void CRichEditView::OnCharItalic(void)\n4634 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4635 void CRichEditView::OnCharUnderline(void)\n4636 long CFileDialog::XFileDialogControlEvents::OnCheckButtonToggled(IFileDialogCustomize *,unsigned long,int)\n4637 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4638 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4639 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4640 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4641 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4642 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4643 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4644 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4645 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4646 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4647 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4648 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4649 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4650 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4651 void COleControl::OnClick(unsigned short)\n4652 CEnumArray * CEnumArray::OnClone(void)\n4653 CEnumArray * CEnumConnections::OnClone(void)\n4654 void CAsyncSocket::OnClose(int)\n4655 void CControlFrameWnd::OnClose(void)\n4656 void CFrameWnd::OnClose(void)\n4657 void CMiniDockFrameWnd::OnClose(void)\n4658 void COleControl::OnClose(unsigned long)\n4659 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4660 void CPropertySheet::OnClose(void)\n4661 void COleClientItem::XAdviseSink::OnClose(void)\n4662 void CDocObjectServer::OnCloseDocument(void)\n4663 void CDocument::OnCloseDocument(void)\n4664 void COleDocument::OnCloseDocument(void)\n4665 void COleLinkingDoc::OnCloseDocument(void)\n4666 void COleServerDoc::OnCloseDocument(void)\n4667 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4668 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4669 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4670 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4671 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4672 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4673 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4674 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4675 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4676 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4677 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4678 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4679 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4680 void CRichEditView::OnColorDefault(void)\n4681 int CColorDialog::OnColorOK(void)\n4682 void CRichEditView::OnColorPick(unsigned long)\n4683 int CFrameWnd::OnCommand(unsigned int,long)\n4684 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4685 int COlePropertyPage::OnCommand(unsigned int,long)\n4686 int CPropertySheet::OnCommand(unsigned int,long)\n4687 int CSplitterWnd::OnCommand(unsigned int,long)\n4688 int CWnd::OnCommand(unsigned int,long)\n4689 long CDialog::OnCommandHelp(unsigned int,long)\n4690 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4691 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4692 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4693 void CHtmlView::OnCommandStateChange(long,int)\n4694 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4695 void CAsyncSocket::OnConnect(int)\n4696 void CFrameWnd::OnContextHelp(void)\n4697 int COleFrameHook::OnContextHelp(int)\n4698 void COleIPFrameWnd::OnContextHelp(void)\n4699 void CWinApp::OnContextHelp(void)\n4700 long CFileDialog::XFileDialogControlEvents::OnControlActivating(IFileDialogCustomize *,unsigned long)\n4701 long COleControlSite::XOleControlSite::OnControlInfoChanged(void)\n4702 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n4703 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n4704 int CEditView::OnCreate(tagCREATESTRUCTA *)\n4705 int CFormView::OnCreate(tagCREATESTRUCTA *)\n4706 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4707 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n4708 int COleControl::OnCreate(tagCREATESTRUCTA *)\n4709 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n4710 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n4711 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n4712 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n4713 int CView::OnCreate(tagCREATESTRUCTA *)\n4714 int CCmdTarget::OnCreateAggregates(void)\n4715 int COleControl::OnCreateAggregates(void)\n4716 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4717 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n4718 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4719 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4720 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n4721 CCmdTarget * COleObjectFactory::OnCreateObject(void)\n4722 CCmdTarget * COleTemplateServer::OnCreateObject(void)\n4723 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4724 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4725 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4726 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4727 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4728 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4729 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4730 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4731 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4732 int CDocManager::OnDDECommand(char *)\n4733 int CWinApp::OnDDECommand(char *)\n4734 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4735 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4736 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4737 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n4738 void COleClientItem::OnDeactivate(void)\n4739 void COleServerDoc::OnDeactivate(void)\n4740 void COleClientItem::OnDeactivateAndUndo(void)\n4741 void COleClientItem::OnDeactivateUI(int)\n4742 void COleServerDoc::OnDeactivateUI(int)\n4743 void CRichEditCntrItem::OnDeactivateUI(int)\n4744 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4745 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4746 void CControlBar::OnDestroy(void)\n4747 void CDHtmlDialog::OnDestroy(void)\n4748 void CEditView::OnDestroy(void)\n4749 void CFrameWnd::OnDestroy(void)\n4750 void CHtmlView::OnDestroy(void)\n4751 void CMDIChildWnd::OnDestroy(void)\n4752 void CMDIFrameWnd::OnDestroy(void)\n4753 void COleControl::OnDestroy(void)\n4754 void COleIPFrameWnd::OnDestroy(void)\n4755 void CRichEditView::OnDestroy(void)\n4756 void CTabCtrl::OnDestroy(void)\n4757 void CTreeCtrl::OnDestroy(void)\n4758 void CTreeView::OnDestroy(void)\n4759 void CView::OnDestroy(void)\n4760 void CWnd::OnDestroy(void)\n4761 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4762 void CRichEditView::OnDevModeChange(char *)\n4763 void CWnd::OnDevModeChange(char *)\n4764 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4765 void COleClientItem::OnDiscardUndoState(void)\n4766 void CSplitterWnd::OnDisplayChange(void)\n4767 long CWnd::OnDisplayChange(unsigned int,long)\n4768 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4769 int COleFrameHook::OnDocActivate(int)\n4770 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n4771 void CHtmlView::OnDocumentComplete(char const *)\n4772 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4773 long CBrowserControlSite::OnDocWindowActivate(int)\n4774 long CDHtmlDialog::OnDocWindowActivate(int)\n4775 long CHtmlView::OnDocWindowActivate(int)\n4776 void COleServerDoc::OnDocWindowActivate(int)\n4777 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4778 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4779 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4780 void CDocObjectServerItem::OnDoVerb(long)\n4781 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4782 void COleServerItem::OnDoVerb(long)\n4783 void CHtmlView::OnDownloadBegin(void)\n4784 void CHtmlView::OnDownloadComplete(void)\n4785 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4786 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4787 void COleDropTarget::OnDragLeave(CWnd *)\n4788 void CView::OnDragLeave(void)\n4789 long CWnd::OnDragList(unsigned int,long)\n4790 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4791 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4792 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4793 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4794 void CCtrlView::OnDraw(CDC *)\n4795 void CFormView::OnDraw(CDC *)\n4796 void CHtmlView::OnDraw(CDC *)\n4797 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4798 void CPreviewView::OnDraw(CDC *)\n4799 void CView::OnDraw(CDC *)\n4800 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4801 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4802 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4803 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4804 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4805 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4806 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4807 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4808 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4809 void CFrameWnd::OnDropFiles(HDROP__ *)\n4810 void CRichEditView::OnDropFiles(HDROP__ *)\n4811 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4812 int CEditView::OnEditChange(void)\n4813 void COleDocument::OnEditChangeIcon(void)\n4814 void CEditView::OnEditClear(void)\n4815 void CRichEditView::OnEditClear(void)\n4816 void COleDocument::OnEditConvert(void)\n4817 void CEditView::OnEditCopy(void)\n4818 void CHtmlView::OnEditCopy(void)\n4819 void CRichEditView::OnEditCopy(void)\n4820 void CEditView::OnEditCut(void)\n4821 void CHtmlView::OnEditCut(void)\n4822 void CRichEditView::OnEditCut(void)\n4823 void CEditView::OnEditFind(void)\n4824 void CRichEditView::OnEditFind(void)\n4825 void CEditView::OnEditFindReplace(int)\n4826 void CRichEditView::OnEditFindReplace(int)\n4827 void COleDocument::OnEditLinks(void)\n4828 void CEditView::OnEditPaste(void)\n4829 void CHtmlView::OnEditPaste(void)\n4830 void CRichEditView::OnEditPaste(void)\n4831 void CRichEditView::OnEditPasteSpecial(void)\n4832 void CRichEditView::OnEditProperties(void)\n4833 int COlePropertyPage::OnEditProperty(long)\n4834 void CRichEditView::OnEditRedo(void)\n4835 void CEditView::OnEditRepeat(void)\n4836 void CRichEditView::OnEditRepeat(void)\n4837 void CEditView::OnEditReplace(void)\n4838 void CRichEditView::OnEditReplace(void)\n4839 void CEditView::OnEditSelectAll(void)\n4840 void CRichEditView::OnEditSelectAll(void)\n4841 void CEditView::OnEditUndo(void)\n4842 void CRichEditView::OnEditUndo(void)\n4843 void CFrameWnd::OnEnable(int)\n4844 void CToolTipCtrl::OnEnable(int)\n4845 void COleControl::OnEnabledChanged(void)\n4846 long CHtmlView::OnEnableModeless(int)\n4847 void COleFrameHook::OnEnableModeless(int)\n4848 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4849 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4850 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4851 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4852 void CFrameWnd::OnEndSession(int)\n4853 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4854 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4855 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4856 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4857 int CDockBar::OnEraseBkgnd(CDC *)\n4858 int CFrameWnd::OnEraseBkgnd(CDC *)\n4859 int COleControl::OnEraseBkgnd(CDC *)\n4860 int COleResizeBar::OnEraseBkgnd(CDC *)\n4861 int CPreviewView::OnEraseBkgnd(CDC *)\n4862 int CReBar::OnEraseBkgnd(CDC *)\n4863 int CToolBar::OnEraseBkgnd(CDC *)\n4864 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4865 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4866 int COleControlSite::OnEvent(AFX_EVENT *)\n4867 void COleControl::OnEventAdvise(int)\n4868 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4869 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4870 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4871 void CDocument::OnFileClose(void)\n4872 void CFileDialog::OnFileNameChange(void)\n4873 int CFileDialog::OnFileNameOK(void)\n4874 void CDocManager::OnFileNew(void)\n4875 void CWinApp::OnFileNew(void)\n4876 long CFileDialog::XFileDialogEvents::OnFileOk(IFileDialog *)\n4877 void CDocManager::OnFileOpen(void)\n4878 void CWinApp::OnFileOpen(void)\n4879 void CHtmlView::OnFilePrint(void)\n4880 void CView::OnFilePrint(void)\n4881 void CView::OnFilePrintPreview(void)\n4882 void CWinApp::OnFilePrintSetup(void)\n4883 void CDocument::OnFileSave(void)\n4884 void CDocument::OnFileSaveAs(void)\n4885 void COleServerDoc::OnFileSaveCopyAs(void)\n4886 void CDocument::OnFileSendMail(void)\n4887 void COleDocument::OnFileSendMail(void)\n4888 void COleServerDoc::OnFileUpdate(void)\n4889 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4890 void CCmdTarget::OnFinalRelease(void)\n4891 void CDocument::OnFinalRelease(void)\n4892 void COleControl::OnFinalRelease(void)\n4893 void COlePropertyPage::OnFinalRelease(void)\n4894 void COleServerItem::OnFinalRelease(void)\n4895 void CWnd::OnFinalRelease(void)\n4896 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n4897 void CEditView::OnFindNext(char const *,int,int)\n4898 void CRichEditView::OnFindNext(char const *,int,int,int)\n4899 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4900 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4901 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4902 long COleControlSite::XOleControlSite::OnFocus(int)\n4903 void CFileDialog::OnFolderChange(void)\n4904 long CFileDialog::XFileDialogEvents::OnFolderChange(IFileDialog *)\n4905 long CFileDialog::XFileDialogEvents::OnFolderChanging(IFileDialog *,IShellItem *)\n4906 void COleControl::OnFontChanged(void)\n4907 void COleControl::OnForeColorChanged(void)\n4908 void CRichEditView::OnFormatFont(void)\n4909 void COleControl::OnFrameClose(void)\n4910 long CBrowserControlSite::OnFrameWindowActivate(int)\n4911 long CDHtmlDialog::OnFrameWindowActivate(int)\n4912 long CHtmlView::OnFrameWindowActivate(int)\n4913 void COleServerDoc::OnFrameWindowActivate(int)\n4914 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4915 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4916 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4917 void COleControl::OnFreezeEvents(int)\n4918 void CHtmlView::OnFullScreen(int)\n4919 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4920 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4921 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4922 void COleClientItem::OnGetClipRect(CRect &)\n4923 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4924 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4925 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4926 unsigned int COleControl::OnGetDlgCode(void)\n4927 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4928 COleServerItem * CRichEditDoc::OnGetEmbeddedItem(void)\n4929 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4930 long CHtmlView::OnGetExternal(IDispatch * *)\n4931 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4932 HMENU__ * COleControl::OnGetInPlaceMenu(void)\n4933 void COleClientItem::OnGetItemPosition(CRect &)\n4934 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4935 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n4936 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n4937 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4938 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4939 long CWnd::OnGetObject(unsigned int,long)\n4940 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4941 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4942 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4943 long CStatusBar::OnGetText(unsigned int,long)\n4944 long CStatusBar::OnGetTextLength(unsigned int,long)\n4945 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4946 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4947 unsigned long COleControl::OnGetViewStatus(void)\n4948 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4949 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4950 void CFrameWnd::OnHelp(void)\n4951 int COlePropertyPage::OnHelp(char const *)\n4952 void CWinApp::OnHelp(void)\n4953 void CWnd::OnHelp(void)\n4954 long CFileDialog::XFileDialogEvents::OnHelp(IFileDialog *)\n4955 void CWinApp::OnHelpFinder(void)\n4956 void CWnd::OnHelpFinder(void)\n4957 long CControlBar::OnHelpHitTest(unsigned int,long)\n4958 long CDialog::OnHelpHitTest(unsigned int,long)\n4959 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4960 void CWinApp::OnHelpIndex(void)\n4961 void CWnd::OnHelpIndex(void)\n4962 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4963 int CWnd::OnHelpInfo(tagHELPINFO *)\n4964 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4965 void CWinApp::OnHelpUsing(void)\n4966 void CWnd::OnHelpUsing(void)\n4967 void CDocObjectServerItem::OnHide(void)\n4968 long COleControl::OnHide(void)\n4969 void COleServerItem::OnHide(void)\n4970 void CFrameWnd::OnHideMenuBar(void)\n4971 void COleControl::OnHideToolBars(void)\n4972 long CHtmlView::OnHideUI(void)\n4973 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4974 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4975 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4976 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4977 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4978 void CDocTemplate::OnIdle(void)\n4979 void CDocument::OnIdle(void)\n4980 void COleDocument::OnIdle(void)\n4981 int CWinApp::OnIdle(long)\n4982 int CWinThread::OnIdle(long)\n4983 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4984 void CFrameWnd::OnIdleUpdateCmdUI(void)\n4985 void CMDIFrameWnd::OnIdleUpdateCmdUI(void)\n4986 void COleCntrFrameWnd::OnIdleUpdateCmdUI(void)\n4987 void COleIPFrameWnd::OnIdleUpdateCmdUI(void)\n4988 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4989 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n4990 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4991 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n4992 int CDHtmlDialog::OnInitDialog(void)\n4993 int CDialog::OnInitDialog(void)\n4994 int COlePropertiesDialog::OnInitDialog(void)\n4995 int COlePropertyPage::OnInitDialog(void)\n4996 int CPropertySheet::OnInitDialog(void)\n4997 void CFileDialog::OnInitDone(void)\n4998 int COleServerItem::OnInitFromData(COleDataObject *,int)\n4999 void CControlBar::OnInitialUpdate(void)\n5000 void CDaoRecordView::OnInitialUpdate(void)\n5001 void CFormView::OnInitialUpdate(void)\n5002 void COleDBRecordView::OnInitialUpdate(void)\n5003 void CRecordView::OnInitialUpdate(void)\n5004 void CRichEditView::OnInitialUpdate(void)\n5005 void CView::OnInitialUpdate(void)\n5006 void CFrameWnd::OnInitMenu(CMenu *)\n5007 void COleFrameHook::OnInitMenu(CMenu *)\n5008 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n5009 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n5010 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n5011 long COleClientItem::XOleIPSite::OnInPlaceActivate(void)\n5012 long COleControlSite::XOleIPSite::OnInPlaceActivate(void)\n5013 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n5014 long COleClientItem::XOleIPSite::OnInPlaceDeactivate(void)\n5015 long COleControlSite::XOleIPSite::OnInPlaceDeactivate(void)\n5016 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n5017 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n5018 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n5019 void CRichEditView::OnInsertObject(void)\n5020 void CSplitterWnd::OnInvertTracker(CRect const &)\n5021 long CFileDialog::XFileDialogControlEvents::OnItemSelected(IFileDialogCustomize *,unsigned long,unsigned long)\n5022 void CDockContext::OnKey(int,int)\n5023 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5024 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5025 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5026 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5027 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n5028 void COleControl::OnKeyPressEvent(unsigned short)\n5029 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n5030 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n5031 long CPropertySheet::OnKickIdle(unsigned int,long)\n5032 int CPropertyPage::OnKillActive(void)\n5033 void COleControl::OnKillFocus(CWnd *)\n5034 long CCheckListBox::OnLBAddString(unsigned int,long)\n5035 long CCheckListBox::OnLBFindString(unsigned int,long)\n5036 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n5037 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n5038 long CCheckListBox::OnLBGetText(unsigned int,long)\n5039 long CCheckListBox::OnLBInsertString(unsigned int,long)\n5040 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n5041 long CCheckListBox::OnLBSelectString(unsigned int,long)\n5042 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n5043 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n5044 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n5045 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n5046 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n5047 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n5048 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n5049 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n5050 void COleControl::OnLButtonDown(unsigned int,CPoint)\n5051 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n5052 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n5053 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n5054 void COleControl::OnLButtonUp(unsigned int,CPoint)\n5055 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n5056 void CAsyncMonikerFile::OnLowResource(void)\n5057 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n5058 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n5059 void COleControl::OnMButtonDown(unsigned int,CPoint)\n5060 void COleControl::OnMButtonUp(unsigned int,CPoint)\n5061 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n5062 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n5063 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n5064 void CHtmlView::OnMenuBar(int)\n5065 long CFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n5066 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n5067 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5068 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5069 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5070 int COleMessageFilter::OnMessagePending(tagMSG const *)\n5071 int CSocket::OnMessagePending(void)\n5072 void COleControl::OnMnemonic(tagMSG *)\n5073 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n5074 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5075 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5076 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5077 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5078 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5079 void COleControl::OnMouseMove(unsigned int,CPoint)\n5080 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n5081 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n5082 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n5083 int CDaoRecordView::OnMove(unsigned int)\n5084 void COleControl::OnMove(int,int)\n5085 int COleDBRecordView::OnMove(unsigned int)\n5086 int CRecordView::OnMove(unsigned int)\n5087 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n5088 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n5089 void CHtmlEditView::OnNavigateComplete2(char const *)\n5090 void CHtmlView::OnNavigateComplete2(char const *)\n5091 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n5092 int CFrameWnd::OnNcActivate(int)\n5093 int CMDIChildWnd::OnNcActivate(int)\n5094 int CMiniFrameWnd::OnNcActivate(int)\n5095 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5096 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5097 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5098 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5099 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5100 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n5101 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n5102 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n5103 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n5104 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n5105 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n5106 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n5107 void CListCtrl::OnNcDestroy(void)\n5108 void CListView::OnNcDestroy(void)\n5109 void CWnd::OnNcDestroy(void)\n5110 long CMiniFrameWnd::OnNcHitTest(CPoint)\n5111 long COleControl::OnNcHitTest(CPoint)\n5112 long CStatusBar::OnNcHitTest(CPoint)\n5113 long CToolBar::OnNcHitTest(CPoint)\n5114 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n5115 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n5116 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n5117 void CDockBar::OnNcPaint(void)\n5118 void COleControl::OnNcPaint(void)\n5119 void CReBar::OnNcPaint(void)\n5120 void CStatusBar::OnNcPaint(void)\n5121 void CToolBar::OnNcPaint(void)\n5122 int CDocument::OnNewDocument(void)\n5123 int CHtmlEditDoc::OnNewDocument(void)\n5124 int COleDocument::OnNewDocument(void)\n5125 int COleLinkingDoc::OnNewDocument(void)\n5126 void COleServerDoc::OnNewEmbedding(IStorage *)\n5127 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n5128 int CEnumArray::OnNext(void *)\n5129 int CEnumConnections::OnNext(void *)\n5130 int CEnumConnPoints::OnNext(void *)\n5131 int CEnumFormatEtc::OnNext(void *)\n5132 int CEnumOleVerb::OnNext(void *)\n5133 int CEnumUnknown::OnNext(void *)\n5134 void CPreviewView::OnNextPage(void)\n5135 int CView::OnNextPaneCmd(unsigned int)\n5136 int CFileDialog::OnNotify(unsigned int,long,long *)\n5137 int CPropertyPage::OnNotify(unsigned int,long,long *)\n5138 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n5139 int CWnd::OnNotify(unsigned int,long,long *)\n5140 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n5141 long CWnd::OnNTCtlColor(unsigned int,long)\n5142 void CPreviewView::OnNumPageChange(void)\n5143 void COlePropertyPage::OnObjectsChanged(void)\n5144 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n5145 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n5146 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n5147 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n5148 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n5149 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n5150 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n5151 void CCommonDialog::OnOK(void)\n5152 void CDialog::OnOK(void)\n5153 void CPropertyPage::OnOK(void)\n5154 long COleControl::OnOpen(int,tagMSG *)\n5155 void COleServerItem::OnOpen(void)\n5156 int CDocument::OnOpenDocument(char const *)\n5157 int CHtmlEditDoc::OnOpenDocument(char const *)\n5158 int COleDocument::OnOpenDocument(char const *)\n5159 int COleLinkingDoc::OnOpenDocument(char const *)\n5160 void COleServerDoc::OnOpenEmbedding(IStorage *)\n5161 int CWinApp::OnOpenRecentFile(unsigned int)\n5162 void CAsyncSocket::OnOutOfBandData(int)\n5163 long CFileDialog::XFileDialogEvents::OnOverwrite(IFileDialog *,IShellItem *,enum tagFDE_OVERWRITE_RESPONSE *)\n5164 void CCommonDialog::OnPaint(void)\n5165 void CControlBar::OnPaint(void)\n5166 void CCtrlView::OnPaint(void)\n5167 void CDialog::OnPaint(void)\n5168 void CDockBar::OnPaint(void)\n5169 void CHtmlEditView::OnPaint(void)\n5170 void CHtmlView::OnPaint(void)\n5171 void COleControl::OnPaint(CDC *)\n5172 int COleControlContainer::OnPaint(CDC *)\n5173 void COleResizeBar::OnPaint(void)\n5174 void CReBar::OnPaint(void)\n5175 void CSplitterWnd::OnPaint(void)\n5176 void CStatusBar::OnPaint(void)\n5177 void CToolBar::OnPaint(void)\n5178 void CView::OnPaint(void)\n5179 void CWnd::OnPaint(void)\n5180 void CFrameWnd::OnPaletteChanged(CWnd *)\n5181 void COleFrameHook::OnPaletteChanged(CWnd *)\n5182 void CRichEditView::OnParaAlign(unsigned short)\n5183 void CRichEditView::OnParaCenter(void)\n5184 void CRichEditView::OnParaLeft(void)\n5185 void CRichEditView::OnParaRight(void)\n5186 void CWnd::OnParentNotify(unsigned int,long)\n5187 int CRichEditView::OnPasteNativeObject(IStorage *)\n5188 long CFrameWnd::OnPopMessageString(unsigned int,long)\n5189 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n5190 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n5191 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n5192 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n5193 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n5194 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n5195 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n5196 int CEditView::OnPreparePrinting(CPrintInfo *)\n5197 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n5198 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n5199 int CView::OnPreparePrinting(CPrintInfo *)\n5200 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n5201 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n5202 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n5203 void CPreviewView::OnPreviewClose(void)\n5204 void CPreviewView::OnPreviewPrint(void)\n5205 void CPreviewView::OnPrevPage(void)\n5206 void CEditView::OnPrint(CDC *,CPrintInfo *)\n5207 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n5208 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n5209 void CView::OnPrint(CDC *,CPrintInfo *)\n5210 void CRichEditView::OnPrinterChanged(CDC const &)\n5211 void CPrintDialog::OnPrintSetup(void)\n5212 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n5213 void CHtmlView::OnProgressChange(long,long)\n5214 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n5215 void CHtmlView::OnPropertyChange(char const *)\n5216 int CPropertyPage::OnQueryCancel(void)\n5217 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n5218 int CFrameWnd::OnQueryEndSession(void)\n5219 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5220 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5221 int CFrameWnd::OnQueryNewPalette(void)\n5222 int COleFrameHook::OnQueryNewPalette(void)\n5223 int COleServerItem::OnQueryUpdateItems(void)\n5224 void CHtmlView::OnQuit(void)\n5225 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n5226 void COleControl::OnRButtonDown(unsigned int,CPoint)\n5227 void COleControl::OnRButtonUp(unsigned int,CPoint)\n5228 int COleServerDoc::OnReactivateAndUndo(void)\n5229 void COleFrameHook::OnRecalcLayout(void)\n5230 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n5231 void CReBar::OnRecalcParent(void)\n5232 void CAsyncSocket::OnReceive(int)\n5233 void COleControl::OnReflectorDestroyed(void)\n5234 void COleClientItem::OnRemoveMenus(CMenu *)\n5235 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n5236 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n5237 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5238 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5239 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5240 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5241 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5242 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5243 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5244 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n5245 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5246 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n5247 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5248 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5249 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n5250 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5251 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n5252 void CEditView::OnReplaceAll(char const *,char const *,int)\n5253 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n5254 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n5255 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n5256 long COleControl::XFontNotification::OnRequestEdit(long)\n5257 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n5258 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n5259 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n5260 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n5261 void CEnumArray::OnReset(void)\n5262 void CPropertyPage::OnReset(void)\n5263 void COleControl::OnResetState(void)\n5264 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5265 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5266 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n5267 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n5268 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n5269 void COleClientItem::XAdviseSink::OnSave(void)\n5270 int CDocument::OnSaveDocument(char const *)\n5271 int CHtmlEditDoc::OnSaveDocument(char const *)\n5272 int COleDocument::OnSaveDocument(char const *)\n5273 int COleLinkingDoc::OnSaveDocument(char const *)\n5274 int COleServerDoc::OnSaveDocument(char const *)\n5275 void COleServerDoc::OnSaveEmbedding(IStorage *)\n5276 void COleServerItem::OnSaveEmbedding(IStorage *)\n5277 void CDocObjectServer::OnSaveViewState(CArchive &)\n5278 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n5279 int CView::OnScroll(unsigned int,unsigned int,int)\n5280 int COleClientItem::OnScrollBy(CSize)\n5281 int CScrollView::OnScrollBy(CSize,int)\n5282 int CView::OnScrollBy(CSize,int)\n5283 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n5284 long CFileDialog::XFileDialogEvents::OnSelectionChange(IFileDialog *)\n5285 void CAsyncSocket::OnSend(int)\n5286 int CPropertyPage::OnSetActive(void)\n5287 long CToolBar::OnSetBitmapSize(unsigned int,long)\n5288 long CToolBar::OnSetButtonSize(unsigned int,long)\n5289 void COleControl::OnSetClientSite(void)\n5290 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n5291 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5292 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5293 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5294 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5295 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5296 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5297 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5298 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5299 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5300 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5301 long CPropertySheet::OnSetDefID(unsigned int,long)\n5302 int COleControl::OnSetExtent(tagSIZE *)\n5303 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n5304 void CFormView::OnSetFocus(CWnd *)\n5305 void CFrameWnd::OnSetFocus(CWnd *)\n5306 void COleControl::OnSetFocus(CWnd *)\n5307 void CWnd::OnSetFocus(CWnd *)\n5308 long CCheckListBox::OnSetFont(unsigned int,long)\n5309 void CDialog::OnSetFont(CFont *)\n5310 long CEditView::OnSetFont(unsigned int,long)\n5311 void COleServerDoc::OnSetHostNames(char const *,char const *)\n5312 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n5313 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n5314 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n5315 long CFrameWnd::OnSetMessageString(unsigned int,long)\n5316 long COleControl::OnSetMessageString(unsigned int,long)\n5317 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n5318 long CStatusBar::OnSetMinHeight(unsigned int,long)\n5319 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n5320 void CDatabase::OnSetOptions(void *)\n5321 void CRecordset::OnSetOptions(void *)\n5322 void COlePropertyPage::OnSetPageSite(void)\n5323 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n5324 long CToolBar::OnSetSizeHelper(CSize &,long)\n5325 long COleControl::OnSetText(unsigned int,long)\n5326 long CStatusBar::OnSetText(unsigned int,long)\n5327 void CWnd::OnSettingChange(unsigned int,char const *)\n5328 void CRecordset::OnSetUpdateOptions(void *)\n5329 unsigned int CFileDialog::OnShareViolation(char const *)\n5330 long CFileDialog::XFileDialogEvents::OnShareViolation(IFileDialog *,IShellItem *,enum tagFDE_SHAREVIOLATION_RESPONSE *)\n5331 void CDocObjectServerItem::OnShow(void)\n5332 void COleServerItem::OnShow(void)\n5333 long CReBar::OnShowBand(unsigned int,long)\n5334 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5335 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n5336 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n5337 void COleServerDoc::OnShowDocument(int)\n5338 void COleClientItem::OnShowItem(void)\n5339 void CFrameWnd::OnShowMenuBar(void)\n5340 void COleControl::OnShowToolBars(void)\n5341 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5342 void COleDocument::OnShowViews(int)\n5343 void COleLinkingDoc::OnShowViews(int)\n5344 void COleControl::OnShowWindow(int,unsigned int)\n5345 long COleClientItem::XOleClientSite::OnShowWindow(int)\n5346 long COleControlSite::XOleClientSite::OnShowWindow(int)\n5347 void CDHtmlDialog::OnSize(unsigned int,int,int)\n5348 void CFrameWnd::OnSize(unsigned int,int,int)\n5349 void CHtmlView::OnSize(unsigned int,int,int)\n5350 void CMDIChildWnd::OnSize(unsigned int,int,int)\n5351 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n5352 void COleControl::OnSize(unsigned int,int,int)\n5353 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n5354 void COleResizeBar::OnSize(unsigned int,int,int)\n5355 void CPreviewView::OnSize(unsigned int,int,int)\n5356 void CScrollView::OnSize(unsigned int,int,int)\n5357 void CSplitterWnd::OnSize(unsigned int,int,int)\n5358 void CStatusBar::OnSize(unsigned int,int,int)\n5359 long CControlBar::OnSizeParent(unsigned int,long)\n5360 long CDockBar::OnSizeParent(unsigned int,long)\n5361 long COleResizeBar::OnSizeParent(unsigned int,long)\n5362 int CEnumArray::OnSkip(void)\n5363 long CSocketWnd::OnSocketDead(unsigned int,long)\n5364 long CSocketWnd::OnSocketNotify(unsigned int,long)\n5365 int CView::OnSplitCmd(unsigned int)\n5366 void CAsyncMonikerFile::OnStartBinding(void)\n5367 void CHtmlView::OnStatusBar(int)\n5368 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n5369 void CHtmlView::OnStatusTextChange(char const *)\n5370 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n5371 void CToolBar::OnSysColorChange(void)\n5372 void CWnd::OnSysColorChange(void)\n5373 void CFrameWnd::OnSysCommand(unsigned int,long)\n5374 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n5375 void CPropertySheet::OnSysCommand(unsigned int,long)\n5376 void CSplitterWnd::OnSysCommand(unsigned int,long)\n5377 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n5378 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n5379 void COleControl::OnTextChanged(void)\n5380 void CEditView::OnTextNotFound(char const *)\n5381 void CRichEditView::OnTextNotFound(char const *)\n5382 void CHtmlView::OnTheaterMode(int)\n5383 long CControlBar::OnThemeChanged(void)\n5384 void CControlBar::OnTimer(unsigned int)\n5385 void CHtmlView::OnTitleChange(char const *)\n5386 void CHtmlView::OnToolBar(int)\n5387 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n5388 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n5389 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n5390 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5391 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5392 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n5393 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5394 void CFileDialog::OnTypeChange(void)\n5395 long CFileDialog::XFileDialogEvents::OnTypeChange(IFileDialog *)\n5396 void COleControlContainer::OnUIActivate(COleControlSite *)\n5397 long COleClientItem::XOleIPSite::OnUIActivate(void)\n5398 long COleControlSite::XOleIPSite::OnUIActivate(void)\n5399 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n5400 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n5401 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n5402 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5403 void CView::OnUpdate(CView *,long,CObject *)\n5404 void CRichEditView::OnUpdateBullet(CCmdUI *)\n5405 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n5406 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n5407 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n5408 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n5409 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n5410 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n5411 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n5412 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n5413 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n5414 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n5415 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n5416 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5417 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5418 int COleServerDoc::OnUpdateDocument(void)\n5419 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n5420 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n5421 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n5422 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5423 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n5424 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5425 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5426 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n5427 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5428 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5429 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5430 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5431 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5432 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5433 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5434 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5435 void CFrameWnd::OnUpdateFrameTitle(int)\n5436 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5437 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5438 int COleClientItem::OnUpdateFrameTitle(void)\n5439 int COleFrameHook::OnUpdateFrameTitle(void)\n5440 void COleServerItem::OnUpdateItems(void)\n5441 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5442 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5443 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5444 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5445 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5446 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5447 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5448 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5449 void CEditView::OnUpdateNeedText(CCmdUI *)\n5450 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5451 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5452 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5453 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5454 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5455 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5456 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5457 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5458 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5459 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5460 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5461 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5462 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5463 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5464 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5465 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5466 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5467 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5468 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5469 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5470 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5471 void CView::OnUpdateSplitCmd(CCmdUI *)\n5472 long CHtmlView::OnUpdateUI(void)\n5473 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5474 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5475 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5476 void CHtmlView::OnVisible(int)\n5477 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5478 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5479 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5480 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5481 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5482 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5483 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5484 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5485 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5486 void CMDIFrameWnd::OnWindowNew(void)\n5487 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5488 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5489 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5490 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5491 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5492 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5493 long CPropertyPage::OnWizardBack(void)\n5494 int CPropertyPage::OnWizardFinish(void)\n5495 HWND__ * CPropertyPage::OnWizardFinishEx(void)\n5496 long CPropertyPage::OnWizardNext(void)\n5497 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5498 void CPreviewView::OnZoomIn(void)\n5499 void CPreviewView::OnZoomOut(void)\n5500 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5501 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5502 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5503 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5504 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n5505 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n5506 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n5507 int CAsyncMonikerFile::Open(char const *,CFileException *)\n5508 void CDaoDatabase::Open(char const *,int,int,char const *)\n5509 void CDaoQueryDef::Open(char const *)\n5510 void CDaoRecordset::Open(int,char const *,int)\n5511 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n5512 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n5513 void CDaoTableDef::Open(char const *)\n5514 void CDaoWorkspace::Open(char const *)\n5515 int CDatabase::Open(char const *,int,int,char const *,int)\n5516 int CDataPathProperty::Open(CFileException *)\n5517 int CDataPathProperty::Open(COleControl *,CFileException *)\n5518 int CDataPathProperty::Open(char const *,CFileException *)\n5519 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n5520 int CFile::Open(char const *,unsigned int,CFileException *)\n5521 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n5522 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5523 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5524 int CMonikerFile::Open(IMoniker *,CFileException *)\n5525 int CMonikerFile::Open(char const *,CFileException *)\n5526 int CRecordset::Open(unsigned int,char const *,unsigned long)\n5527 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n5528 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n5529 long CDocObjectServer::XOleDocumentView::Open(void)\n5530 CDocument * CDocManager::OpenDocumentFile(char const *)\n5531 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n5532 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n5533 CDocument * CWinApp::OpenDocumentFile(char const *)\n5534 int CDatabase::OpenEx(char const *,unsigned long)\n5535 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n5536 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n5537 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5538 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5539 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n5540 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n5541 void * CThemeHelper::OpenThemeData(HWND__ *,wchar_t const *)\n5542 void * CThemeHelper::OpenThemeDataFail(HWND__ *,wchar_t const *)\n5543 int CHtmlEditDoc::OpenURL(char const *)\n5544 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n5545 int CFileException::OsErrorToException(long)\n5546 void CDumpContext::OutputString(char const *)\n5547 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5548 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5549 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5550 int CWnd::PaintWindowlessControls(CDC *)\n5551 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5552 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5553 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n5554 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5555 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5556 void CCommandLineInfo::ParseLast(int)\n5557 void CCommandLineInfo::ParseParam(char const *,int,int)\n5558 void CCommandLineInfo::ParseParamFlag(char const *)\n5559 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5560 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5561 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc(void)\n5562 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc(void)const \n5563 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5564 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5565 int CDC::PlayMetaFile(HMETAFILE__ *)\n5566 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n5567 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n5568 int CDC::PolyBezierTo(tagPOINT const *,int)\n5569 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5570 int CDC::PolylineTo(tagPOINT const *,int)\n5571 void CPreviewView::PositionPage(unsigned int)\n5572 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5573 int CMonikerFile::PostBindToStream(CFileException *)\n5574 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5575 void CDialog::PostModal(void)\n5576 void CPrintDialogEx::PostModal(void)\n5577 void COleControl::PostModalDialog(HWND__ *)\n5578 void CControlBar::PostNcDestroy(void)\n5579 void CControlFrameWnd::PostNcDestroy(void)\n5580 void CFindReplaceDialog::PostNcDestroy(void)\n5581 void CFrameWnd::PostNcDestroy(void)\n5582 void COleCntrFrameWnd::PostNcDestroy(void)\n5583 void CReflectorWnd::PostNcDestroy(void)\n5584 void CView::PostNcDestroy(void)\n5585 void CWnd::PostNcDestroy(void)\n5586 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5587 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5588 void CRecordset::PreBindFields(void)\n5589 void CDocument::PreCloseFrame(CFrameWnd *)\n5590 void COleDocument::PreCloseFrame(CFrameWnd *)\n5591 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5592 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5593 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5594 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n5595 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5596 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n5597 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5598 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5599 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n5600 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n5601 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5602 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5603 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5604 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n5605 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n5606 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n5607 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n5608 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n5609 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5610 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5611 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5612 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5613 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5614 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n5615 void CDialog::PreInitDialog(void)\n5616 void COleChangeSourceDialog::PreInitDialog(void)\n5617 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5618 HWND__ * CDialog::PreModal(void)\n5619 HWND__ * CPrintDialogEx::PreModal(void)\n5620 void COleControl::PreModalDialog(HWND__ *)\n5621 void CRecordset::PrepareAndExecute(void)\n5622 HWND__ * CDataExchange::PrepareCtrl(int)\n5623 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5624 void CWnd::PrepareForHelp(void)\n5625 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5626 void CRecordset::PrepareUpdateHstmt(void)\n5627 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5628 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5629 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5630 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5631 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n5632 void CDragListBox::PreSubclassWindow(void)\n5633 void CWnd::PreSubclassWindow(void)\n5634 int CWnd::PreTranslateInput(tagMSG *)\n5635 int CControlBar::PreTranslateMessage(tagMSG *)\n5636 int CDialog::PreTranslateMessage(tagMSG *)\n5637 int CFormView::PreTranslateMessage(tagMSG *)\n5638 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5639 int CHtmlView::PreTranslateMessage(tagMSG *)\n5640 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5641 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5642 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5643 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5644 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5645 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5646 int CWinThread::PreTranslateMessage(tagMSG *)\n5647 int CWnd::PreTranslateMessage(tagMSG *)\n5648 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5649 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5650 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5651 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5652 long CRichEditView::PrintPage(CDC *,long,long)\n5653 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5654 long COleException::Process(CException const *)\n5655 int CSocket::ProcessAuxQueue(void)\n5656 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5657 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5658 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5659 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5660 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5661 void COleSafeArray::PtrOfIndex(long *,void * *)\n5662 int CMetaFileDC::PtVisible(int,int)const \n5663 int CWinThread::PumpMessage(void)\n5664 int CSocket::PumpMessages(unsigned int)\n5665 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n5666 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5667 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5668 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5669 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5670 void COleSafeArray::PutElement(long *,void *)\n5671 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n5672 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n5673 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n5674 int PX_Bool(CPropExchange *,char const *,int &)\n5675 int PX_Bool(CPropExchange *,char const *,int &,int)\n5676 int PX_Color(CPropExchange *,char const *,unsigned long &)\n5677 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n5678 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n5679 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n5680 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n5681 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5682 int PX_Double(CPropExchange *,char const *,double &)\n5683 int PX_Double(CPropExchange *,char const *,double &,double)\n5684 int PX_Float(CPropExchange *,char const *,float &)\n5685 int PX_Float(CPropExchange *,char const *,float &,float)\n5686 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5687 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n5688 int PX_Long(CPropExchange *,char const *,long &)\n5689 int PX_Long(CPropExchange *,char const *,long &,long)\n5690 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n5691 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n5692 int PX_Short(CPropExchange *,char const *,short &)\n5693 int PX_Short(CPropExchange *,char const *,short &,short)\n5694 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5695 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n5696 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5697 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n5698 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n5699 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n5700 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n5701 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5702 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5703 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5704 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5705 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5706 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5707 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5708 void * COleControl::QueryDefHandler(_GUID const &)\n5709 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5710 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5711 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5712 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5713 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5714 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5715 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5716 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5717 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n5718 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5719 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5720 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5721 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5722 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5723 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5724 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5725 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5726 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5727 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5728 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5729 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5730 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5731 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5732 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5733 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5734 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5735 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5736 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5737 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5738 long CPropertyPage::QuerySiblings(unsigned int,long)\n5739 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5740 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5741 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5742 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5743 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5744 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n5745 int COleControlSite::QuickActivate(void)\n5746 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5747 int COleClientItem::ReactivateAndUndo(void)\n5748 long COleControl::XOleInPlaceObject::ReactivateAndUndo(void)\n5749 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo(void)\n5750 unsigned int CArchive::Read(void *,unsigned int)\n5751 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5752 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5753 unsigned int CFile::Read(void *,unsigned int)\n5754 int CImageList::Read(CArchive *)\n5755 unsigned int CInternetFile::Read(void *,unsigned int)\n5756 unsigned int CMemFile::Read(void *,unsigned int)\n5757 unsigned int COleStreamFile::Read(void *,unsigned int)\n5758 unsigned int CSocketFile::Read(void *,unsigned int)\n5759 unsigned int CStdioFile::Read(void *,unsigned int)\n5760 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5761 unsigned long CArchive::ReadCount(void)\n5762 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5763 int CProperty::ReadFromStream(IStream *)\n5764 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5765 int CPropertySet::ReadFromStream(IStream *)\n5766 void COleClientItem::ReadItem(CArchive &)\n5767 void COleClientItem::ReadItemCompound(CArchive &)\n5768 void COleClientItem::ReadItemFlat(CArchive &)\n5769 void CRecentFileList::ReadList(void)\n5770 int CPropertySection::ReadNameDictFromStream(IStream *)\n5771 CObject * CArchive::ReadObject(CRuntimeconst *)\n5772 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5773 char * CArchive::ReadString(char *,unsigned int)\n5774 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5775 char * CInternetFile::ReadString(char *,unsigned int)\n5776 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5777 char * CStdioFile::ReadString(char *,unsigned int)\n5778 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5779 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5780 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5781 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5782 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5783 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5784 void CRecordset::RebindParams(void *)\n5785 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5786 void CFrameWnd::RecalcLayout(int)\n5787 void CMiniDockFrameWnd::RecalcLayout(int)\n5788 void COleCntrFrameWnd::RecalcLayout(int)\n5789 void COleDocIPFrameWnd::RecalcLayout(int)\n5790 void COleIPFrameWnd::RecalcLayout(int)\n5791 void CSplitterWnd::RecalcLayout(void)\n5792 int CAsyncSocket::Receive(void *,int,int)\n5793 int CSocket::Receive(void *,int,int)\n5794 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n5795 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5796 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5797 void COleControl::RecreateControlWindow(void)\n5798 CRect const CFrameWnd::rectDefault\n5799 int CMetaFileDC::RectVisible(tagRECT const *)const \n5800 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5801 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5802 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5803 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5804 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5805 void COleControl::Refresh(void)\n5806 void CDaoTableDef::RefreshLink(void)\n5807 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5808 int COleDropTarget::Register(CWnd *)\n5809 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n5810 int COleMessageFilter::Register(void)\n5811 int COleObjectFactory::Register(void)\n5812 int COleTemplateServer::Register(void)\n5813 int CWinApp::Register(void)\n5814 int COleObjectFactory::RegisterAll(void)\n5815 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n5816 void CDocManager::RegisterShellFileTypes(int)\n5817 void CWinApp::RegisterShellFileTypes(int)\n5818 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n5819 unsigned long CArchiveStream::Release(void)\n5820 unsigned long CBlobProperty::Release(void)\n5821 unsigned long CBrowserControlSite::Release(void)\n5822 unsigned long CDHtmlControlSink::Release(void)\n5823 unsigned long CDHtmlElementEventSink::Release(void)\n5824 unsigned long CDHtmlEventSink::Release(void)\n5825 unsigned long CInnerUnknown::Release(void)\n5826 void COleClientItem::Release(enum tagOLECLOSE)\n5827 unsigned long COleConnPtContainer::Release(void)\n5828 void COleDataObject::Release(void)\n5829 unsigned long COleDispatchImpl::Release(void)\n5830 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5831 unsigned long COleUILinkInfo::Release(void)\n5832 unsigned long CPrintDialogEx::Release(void)\n5833 void CDC::ReleaseAttribDC(void)\n5834 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5835 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5836 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5837 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5838 void COleControl::ReleaseCaches(void)\n5839 int COleControl::ReleaseCapture(void)\n5840 int COleControl::ReleaseDC(CDC *)\n5841 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5842 void COleDispatchDriver::ReleaseDispatch(void)\n5843 void CDocObjectServer::ReleaseDocSite(void)\n5844 void CDocument::ReleaseFile(CFile *,int)\n5845 void CFontHolder::ReleaseFont(void)\n5846 void CDC::ReleaseOutputDC(void)\n5847 void CMetaFileDC::ReleaseOutputDC(void)\n5848 void CPreviewDC::ReleaseOutputDC(void)\n5849 int COleClientItem::Reload(void)\n5850 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5851 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5852 void CFile::Remove(char const *)\n5853 int CFtpConnection::Remove(char const *)\n5854 void CPropertySection::Remove(unsigned long)\n5855 void CPropertySet::Remove(_GUID)\n5856 void CPropertySet::Remove(_GUID,unsigned long)\n5857 void CRecentFileList::Remove(int)\n5858 int CSimpleList::Remove(void *)\n5859 void CMapPtrToPtr::RemoveAll(void)\n5860 void CMapPtrToWord::RemoveAll(void)\n5861 void CMapStringToOb::RemoveAll(void)\n5862 void CMapStringToPtr::RemoveAll(void)\n5863 void CMapStringToString::RemoveAll(void)\n5864 void CMapWordToOb::RemoveAll(void)\n5865 void CMapWordToPtr::RemoveAll(void)\n5866 void CObList::RemoveAll(void)\n5867 void CPropertySection::RemoveAll(void)\n5868 void CPropertySet::RemoveAll(void)\n5869 void CPtrList::RemoveAll(void)\n5870 void CStringList::RemoveAll(void)\n5871 void CTypeLibCacheMap::RemoveAll(void *)\n5872 void CByteArray::RemoveAt(int,int)\n5873 void CDWordArray::RemoveAt(int,int)\n5874 void CObArray::RemoveAt(int,int)\n5875 void CObList::RemoveAt(__POSITION *)\n5876 void CPtrArray::RemoveAt(int,int)\n5877 void CPtrList::RemoveAt(__POSITION *)\n5878 void CStringArray::RemoveAt(int,int)\n5879 void CStringList::RemoveAt(__POSITION *)\n5880 void CUIntArray::RemoveAt(int,int)\n5881 void CWordArray::RemoveAt(int,int)\n5882 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5883 void CFrameWnd::RemoveControlBar(CControlBar *)\n5884 int CFtpConnection::RemoveDirectoryA(char const *)\n5885 void CDocTemplate::RemoveDocument(CDocument *)\n5886 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5887 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5888 void COleControl::RemoveFrameLevelUI(void)\n5889 void CFrameWnd::RemoveFrameWnd(void)\n5890 CObject * CObList::RemoveHead(void)\n5891 void * CPtrList::RemoveHead(void)\n5892 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead(void)\n5893 void CListCtrl::RemoveImageList(int)\n5894 void CListView::RemoveImageList(int)\n5895 void CTreeCtrl::RemoveImageList(int)\n5896 void CTreeView::RemoveImageList(int)\n5897 void COleDocument::RemoveItem(CDocItem *)\n5898 int CMapPtrToPtr::RemoveKey(void *)\n5899 int CMapPtrToWord::RemoveKey(void *)\n5900 int CMapStringToOb::RemoveKey(char const *)\n5901 int CMapStringToPtr::RemoveKey(char const *)\n5902 int CMapStringToString::RemoveKey(char const *)\n5903 int CMapWordToOb::RemoveKey(unsigned short)\n5904 int CMapWordToPtr::RemoveKey(unsigned short)\n5905 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5906 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5907 void CPropertySheet::RemovePage(int)\n5908 void CPropertySheet::RemovePage(CPropertyPage *)\n5909 void CDockBar::RemovePlaceHolder(CControlBar *)\n5910 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5911 void CDataBoundProperty::RemoveSource(void)\n5912 CObject * CObList::RemoveTail(void)\n5913 void * CPtrList::RemoveTail(void)\n5914 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail(void)\n5915 void CDocument::RemoveView(CView *)\n5916 void CFile::Rename(char const *,char const *)\n5917 int CFtpConnection::Rename(char const *,char const *)\n5918 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5919 void CDaoWorkspace::RepairDatabase(char const *)\n5920 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5921 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5922 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5923 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5924 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5925 void CDatabase::ReplaceBrackets(char *)\n5926 int CException::ReportError(unsigned int,unsigned int)\n5927 int COleClientItem::ReportError(long)const \n5928 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5929 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n5930 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5931 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5932 void CDaoRecordset::Requery(void)\n5933 int CRecordset::Requery(void)\n5934 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5935 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5936 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5937 long COleClientItem::XOleClientSite::RequestNewObjectLayout(void)\n5938 long COleControlSite::XOleClientSite::RequestNewObjectLayout(void)\n5939 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5940 long COleControlSite::XOleIPSite::RequestUIActivate(void)\n5941 long CEnumArray::XEnumVOID::Reset(void)\n5942 void CRecordset::ResetCursor(void)\n5943 void CCachedDataPathProperty::ResetData(void)\n5944 void CDataPathProperty::ResetData(void)\n5945 void COleControl::ResetStockProps(void)\n5946 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5947 void COleControl::ResetVersion(unsigned long)\n5948 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5949 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5950 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5951 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5952 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5953 void COleControl::ResizeFrameWindow(int,int)\n5954 void COleSafeArray::ResizeOneDim(unsigned long)\n5955 void COleControl::ResizeOpenControl(int,int)\n5956 void CScrollView::ResizeParentToFit(int)\n5957 int CDC::RestoreDC(int)\n5958 int CPreviewDC::RestoreDC(int)\n5959 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n5960 void CCmdTarget::RestoreWaitCursor(void)\n5961 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5962 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5963 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5964 long CArchiveStream::Revert(void)\n5965 void COleDropTarget::Revoke(void)\n5966 void COleLinkingDoc::Revoke(void)\n5967 void COleMessageFilter::Revoke(void)\n5968 void COleObjectFactory::Revoke(void)\n5969 void COleObjectFactory::RevokeAll(void)\n5970 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n5971 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n5972 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n5973 void RFX_Bool(CFieldExchange *,char const *,int &)\n5974 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5975 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n5976 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n5977 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n5978 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n5979 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n5980 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n5981 void RFX_Double(CFieldExchange *,char const *,double &)\n5982 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n5983 void RFX_Int(CFieldExchange *,char const *,int &)\n5984 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n5985 void RFX_Long(CFieldExchange *,char const *,long &)\n5986 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n5987 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n5988 void RFX_Single(CFieldExchange *,char const *,float &)\n5989 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n5990 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n5991 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n5992 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n5993 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n5994 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n5995 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n5996 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n5997 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n5998 void CDaoWorkspace::Rollback(void)\n5999 int CDatabase::Rollback(void)\n6000 void COleClientItem::Run(void)\n6001 int CWinApp::Run(void)\n6002 int CWinThread::Run(void)\n6003 int CWinApp::RunAutomated(void)\n6004 int CWinApp::RunEmbedded(void)\n6005 int CWnd::RunModalLoop(unsigned long)\n6006 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n6007 int CEditView::SameAsSelected(char const *,int)\n6008 int CRichEditView::SameAsSelected(char const *,int,int)\n6009 long CBlobProperty::Save(IStream *,int)\n6010 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n6011 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n6012 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n6013 long COleControl::XPersistStorage::Save(IStorage *,int)\n6014 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n6015 long COleControl::XPersistStreamInit::Save(IStream *,int)\n6016 int CDocManager::SaveAllModified(void)\n6017 int CDocTemplate::SaveAllModified(void)\n6018 int CWinApp::SaveAllModified(void)\n6019 void CFrameWnd::SaveBarState(char const *)const \n6020 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n6021 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n6022 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n6023 int CDC::SaveDC(void)\n6024 int CPreviewDC::SaveDC(void)\n6025 void COleServerDoc::SaveEmbedding(void)\n6026 int CFormView::SaveFocusControl(void)\n6027 int CDocument::SaveModified(void)\n6028 int COleDocument::SaveModified(void)\n6029 int COleServerDoc::SaveModified(void)\n6030 int COleServerDoc::SaveModifiedPrompt(void)\n6031 long COleClientItem::XOleClientSite::SaveObject(void)\n6032 long COleControlSite::XOleClientSite::SaveObject(void)\n6033 int CControlBarInfo::SaveState(char const *,int)\n6034 void CDockState::SaveState(char const *)\n6035 long COleControl::SaveState(IStream *)\n6036 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n6037 void CWinApp::SaveStdProfileSettings(void)\n6038 void COleDocument::SaveToStorage(CObject *)\n6039 void COleLinkingDoc::SaveToStorage(CObject *)\n6040 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n6041 void CDockState::ScalePoint(CPoint &)\n6042 void CDockState::ScaleRectPos(CRect &)\n6043 CSize CDC::ScaleViewportExt(int,int,int,int)\n6044 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n6045 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n6046 CSize CDC::ScaleWindowExt(int,int,int,int)\n6047 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n6048 void CWnd::ScreenToClient(tagRECT *)const \n6049 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n6050 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n6051 void COleControlContainer::ScrollChildren(int,int)\n6052 int COleServerDoc::ScrollContainerBy(CSize)\n6053 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n6054 void CScrollView::ScrollToDevicePosition(tagPOINT)\n6055 void CScrollView::ScrollToPosition(tagPOINT)\n6056 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n6057 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n6058 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n6059 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n6060 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n6061 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n6062 unsigned __int64 CFile::Seek(__int64,unsigned int)\n6063 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n6064 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n6065 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n6066 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n6067 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n6068 CFont * CFontHolder::Select(CDC *,long,long)\n6069 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n6070 int CDC::SelectClipPath(int)\n6071 int CDC::SelectClipRgn(CRgn *)\n6072 int CDC::SelectClipRgn(CRgn *,int)\n6073 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n6074 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n6075 long CPrintDialogEx::SelectionChange(void)\n6076 int CDC::SelectObject(CRgn *)\n6077 CBrush * CDC::SelectObject(CBrush *)\n6078 CPen * CDC::SelectObject(CPen *)\n6079 CFont * CDC::SelectObject(CFont *)\n6080 CFont * CPreviewDC::SelectObject(CFont *)\n6081 CPalette * CDC::SelectPalette(CPalette *,int)\n6082 void CWinApp::SelectPrinter(void *,void *,int)\n6083 CFont * COleControl::SelectStockFont(CDC *)\n6084 CGdiObject * CDC::SelectStockObject(int)\n6085 CGdiObject * CPreviewDC::SelectStockObject(int)\n6086 int CAsyncSocket::Send(void const *,int,int)\n6087 int CSocket::Send(void const *,int,int)\n6088 void COleControl::SendAdvise(unsigned int)\n6089 int CWnd::SendChildNotifyLastMsg(long *)\n6090 int CSocket::SendChunk(void const *,int,int)\n6091 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n6092 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n6093 void CDocument::SendInitialUpdate(void)\n6094 void CRecordset::SendLongBinaryData(void *)\n6095 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n6096 void COleControlSite::SendMnemonic(tagMSG *)\n6097 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n6098 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n6099 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n6100 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n6101 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n6102 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n6103 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n6104 void CByteArray::Serialize(CArchive &)\n6105 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n6106 void CDocItem::Serialize(CArchive &)\n6107 void CDockState::Serialize(CArchive &)\n6108 void CDWordArray::Serialize(CArchive &)\n6109 void CEditView::Serialize(CArchive &)\n6110 void CMapStringToOb::Serialize(CArchive &)\n6111 void CMapStringToString::Serialize(CArchive &)\n6112 void CMapWordToOb::Serialize(CArchive &)\n6113 void CObArray::Serialize(CArchive &)\n6114 void CObList::Serialize(CArchive &)\n6115 void COleClientItem::Serialize(CArchive &)\n6116 void COleControl::Serialize(CArchive &)\n6117 void COleDocument::Serialize(CArchive &)\n6118 void CRichEditDoc::Serialize(CArchive &)\n6119 void CRichEditView::Serialize(CArchive &)\n6120 void CStringArray::Serialize(CArchive &)\n6121 void CStringList::Serialize(CArchive &)\n6122 void CWordArray::Serialize(CArchive &)\n6123 CArchive & ATL::CTime::Serialize64(CArchive &)\n6124 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n6125 void CArchive::SerializeClass(CRuntimeconst *)\n6126 void COleControl::SerializeExtent(CArchive &)\n6127 void CEditView::SerializeRaw(CArchive &)\n6128 void COleControl::SerializeStockProps(CArchive &)\n6129 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n6130 int CProperty::Set(unsigned long,void * const,unsigned long)\n6131 int CProperty::Set(void * const)\n6132 int CProperty::Set(void * const,unsigned long)\n6133 int CPropertySection::Set(unsigned long,void *)\n6134 int CPropertySection::Set(unsigned long,void *,unsigned long)\n6135 int CPropertySet::Set(_GUID,unsigned long,void *)\n6136 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n6137 void CDaoRecordset::SetAbsolutePosition(long)\n6138 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n6139 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n6140 int CPropertySheet::SetActivePage(int)\n6141 int CPropertySheet::SetActivePage(CPropertyPage *)\n6142 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n6143 void CFrameWnd::SetActiveView(CView *,int)\n6144 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n6145 void COleControl::SetAppearance(short)\n6146 int CDC::SetArcDirection(int)\n6147 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n6148 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n6149 void CByteArray::SetAtGrow(int,unsigned char)\n6150 void CDWordArray::SetAtGrow(int,unsigned long)\n6151 void CObArray::SetAtGrow(int,CObject *)\n6152 void CPtrArray::SetAtGrow(int,void *)\n6153 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n6154 void CStringArray::SetAtGrow(int,char const *)\n6155 void CUIntArray::SetAtGrow(int,unsigned int)\n6156 void CWordArray::SetAtGrow(int,unsigned short)\n6157 void CDC::SetAttribDC(HDC__ *)\n6158 void CMetaFileDC::SetAttribDC(HDC__ *)\n6159 void CPreviewDC::SetAttribDC(HDC__ *)\n6160 void CDaoTableDef::SetAttributes(long)\n6161 void COleControl::SetBackColor(unsigned long)\n6162 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n6163 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n6164 void CControlBar::SetBarStyle(unsigned long)\n6165 int CToolBar::SetBitmap(HBITMAP__ *)\n6166 unsigned long CDC::SetBkColor(unsigned long)\n6167 unsigned long CPreviewDC::SetBkColor(unsigned long)\n6168 int CListCtrl::SetBkImage(char *,int,int,int)\n6169 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n6170 int CDC::SetBkMode(int)\n6171 void CDaoRecordset::SetBookmark(COleVariant)\n6172 void CRecordset::SetBookmark(CDBVariant const &)\n6173 void CControlBar::SetBorders(int,int,int,int)\n6174 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n6175 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n6176 void COleControl::SetBorderStyle(short)\n6177 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n6178 int CToolBar::SetButtons(unsigned int const *,int)\n6179 void CToolBar::SetButtonStyle(int,unsigned int)\n6180 int CToolBar::SetButtonText(int,char const *)\n6181 void CDaoRecordset::SetCacheSize(long)\n6182 void CDaoRecordset::SetCacheStart(COleVariant)\n6183 CWnd * COleControl::SetCapture(void)\n6184 long COleControlSite::XOleIPSite::SetCapture(int)\n6185 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n6186 void CCheckListBox::SetCheck(int,int)\n6187 void CCmdUI::SetCheck(int)\n6188 int CListCtrl::SetCheck(int,int)\n6189 void COleCmdUI::SetCheck(int)\n6190 void CStatusCmdUI::SetCheck(int)\n6191 void CTestCmdUI::SetCheck(int)\n6192 void CToolCmdUI::SetCheck(int)\n6193 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n6194 void CCheckListBox::SetCheckStyle(unsigned int)\n6195 void CPropertySet::SetClassID(_GUID)\n6196 void CDataBoundProperty::SetClientSite(COleControlSite *)\n6197 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n6198 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n6199 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n6200 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n6201 void COleDataSource::SetClipboard(void)\n6202 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n6203 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n6204 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6205 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6206 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6207 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6208 void CSplitterWnd::SetColumnInfo(int,int,int)\n6209 int CListCtrl::SetColumnOrderArray(int,int *)\n6210 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n6211 void CDaoQueryDef::SetConnect(char const *)\n6212 void CDaoTableDef::SetConnect(char const *)\n6213 void CDocTemplate::SetContainerInfo(unsigned int)\n6214 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n6215 void CReflectorWnd::SetControl(COleControl *)\n6216 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n6217 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n6218 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n6219 int COleControl::SetControlSize(int,int)\n6220 int COlePropertyPage::SetControlStatus(unsigned int,int)\n6221 void CFileDialog::SetControlText(int,char const *)\n6222 int CInternetSession::SetCookie(char const *,char const *,char const *)\n6223 void COleCurrency::SetCurrency(long,long)\n6224 void CColorDialog::SetCurrentColor(unsigned long)\n6225 int CFtpConnection::SetCurrentDirectoryA(char const *)\n6226 void CWinApp::SetCurrentHandles(void)\n6227 void CDaoRecordset::SetCurrentIndex(char const *)\n6228 void CPreviewView::SetCurrentPage(unsigned int,int)\n6229 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n6230 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n6231 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n6232 void CDaoRecordset::SetCursorAttributes(void)\n6233 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6234 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6235 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6236 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6237 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6238 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n6239 void COccManager::SetDefaultButton(CWnd *,int)\n6240 void COleControlSite::SetDefaultButton(int)\n6241 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n6242 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n6243 void CDaoWorkspace::SetDefaultPassword(char const *)\n6244 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n6245 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n6246 void CDaoWorkspace::SetDefaultUser(char const *)\n6247 void CFileDialog::SetDefExt(char const *)\n6248 void COlePropertyPage::SetDialogResource(void *)\n6249 void CDaoRecordset::SetDirtyFields(void)\n6250 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6251 void CRecordset::SetDirtyFieldStatus(unsigned long)\n6252 int COleControlSite::SetDlgCtrlID(int)\n6253 int CWnd::SetDlgCtrlID(int)\n6254 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n6255 void CWnd::SetDlgItemInt(int,unsigned int,int)\n6256 void COleControlContainer::SetDlgItemTextA(int,char const *)\n6257 void CWnd::SetDlgItemTextA(int,char const *)\n6258 void CFrameWnd::SetDockState(CDockState const &)\n6259 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n6260 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n6261 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n6262 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n6263 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n6264 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n6265 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n6266 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n6267 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n6268 void COleControl::SetEnabled(int)\n6269 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n6270 int COleControlSite::SetExtent(void)\n6271 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6272 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6273 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6274 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6275 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n6276 void CDaoRecordset::SetFieldDirty(void *,int)\n6277 void CRecordset::SetFieldDirty(void *,int)\n6278 void CDaoRecordset::SetFieldNull(void *,int)\n6279 void CRecordset::SetFieldNull(void *,int)\n6280 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n6281 void CDaoRecordset::SetFieldValue(int,char const *)\n6282 void CDaoRecordset::SetFieldValue(char const *,char const *)\n6283 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6284 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n6285 void CDaoRecordset::SetFieldValueNull(int)\n6286 void CDaoRecordset::SetFieldValueNull(char const *)\n6287 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n6288 CWnd * COleControl::SetFocus(void)\n6289 CWnd * COleControlSite::SetFocus(tagMSG *)\n6290 CWnd * COleControlSite::SetFocus(void)\n6291 CWnd * CWnd::SetFocus(void)\n6292 long COleControlSite::XOleIPSite::SetFocus(int)\n6293 void CDHtmlDialog::SetFocusToElement(char const *)\n6294 int CDialogTemplate::SetFont(char const *,unsigned short)\n6295 void CFontHolder::SetFont(IFont *)\n6296 void COleControl::SetFont(IFontDisp *)\n6297 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n6298 void COleControl::SetForeColor(unsigned long)\n6299 void CPropertySection::SetFormatID(_GUID)\n6300 void CPropertySet::SetFormatVersion(unsigned short)\n6301 int CDC::SetGraphicsMode(int)\n6302 void CSharedFile::SetHandle(void *,int)\n6303 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n6304 void CToolBar::SetHeight(int)\n6305 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n6306 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n6307 void CDHtmlDialog::SetHostFlags(unsigned long)\n6308 void COleClientItem::SetHostNames(char const *,char const *)\n6309 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6310 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6311 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6312 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6313 int COleClientItem::SetIconicMetafile(void *)\n6314 CSize CListCtrl::SetIconSpacing(int,int)\n6315 CSize CListCtrl::SetIconSpacing(CSize)\n6316 void CProperty::SetID(unsigned long)\n6317 int CReBarCtrl::SetImageList(CImageList *)\n6318 int CStatusBar::SetIndicators(unsigned int const *,int)\n6319 void CDaoWorkspace::SetIniPath(char const *)\n6320 void COleControl::SetInitialDataFormats(void)\n6321 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n6322 void COleControl::SetInitialSize(int,int)\n6323 void CControlBar::SetInPlaceOwner(CWnd *)\n6324 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n6325 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6326 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n6327 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n6328 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n6329 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n6330 int CListCtrl::SetItemCountEx(int,unsigned long)\n6331 int CTreeCtrl::SetItemEx(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long,unsigned int,HWND__ *,int)\n6332 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n6333 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n6334 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n6335 int CListCtrl::SetItemText(int,int,char const *)\n6336 unsigned long CDC::SetLayout(unsigned long)\n6337 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n6338 void ATL::CSimpleStringT<char,1>::SetLength(int)\n6339 void CFile::SetLength(unsigned __int64)\n6340 void CInternetFile::SetLength(unsigned __int64)\n6341 void CMemFile::SetLength(unsigned __int64)\n6342 void COleStreamFile::SetLength(unsigned __int64)\n6343 void CSocketFile::SetLength(unsigned __int64)\n6344 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n6345 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n6346 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n6347 void CDaoRecordset::SetLockingMode(int)\n6348 void CRecordset::SetLockingMode(unsigned int)\n6349 void CDaoWorkspace::SetLoginTimeout(short)\n6350 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n6351 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n6352 int CDC::SetMapMode(int)\n6353 int CPreviewDC::SetMapMode(int)\n6354 unsigned long CDC::SetMapperFlags(unsigned long)\n6355 int CFrameWnd::SetMenu(CMenu *)\n6356 int CWnd::SetMenu(CMenu *)\n6357 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6358 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6359 int CFrameWnd::SetMenuBarState(unsigned long)\n6360 int CMDIFrameWnd::SetMenuBarState(unsigned long)\n6361 void CFrameWnd::SetMenuBarVisibility(unsigned long)\n6362 void CMDIFrameWnd::SetMenuBarVisibility(unsigned long)\n6363 void CFrameWnd::SetMessageText(unsigned int)\n6364 void CFrameWnd::SetMessageText(char const *)\n6365 void CPropertyPage::SetModified(int)\n6366 void COleControl::SetModifiedFlag(int)\n6367 void COlePropertyPage::SetModifiedFlag(int)\n6368 void CRichEditDoc::SetModifiedFlag(int)\n6369 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6370 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6371 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6372 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6373 void CDaoQueryDef::SetName(char const *)\n6374 void CDaoTableDef::SetName(char const *)\n6375 int CPropertySection::SetName(unsigned long,char const *)\n6376 void COleControl::SetNotPermitted(void)\n6377 void CCmdTarget::SetNotSupported(void)\n6378 void COleControl::SetNotSupported(void)\n6379 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6380 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6381 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6382 void CRecordset::SetNullFieldStatus(unsigned long)\n6383 void CRecordset::SetNullParamStatus(unsigned long)\n6384 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6385 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6386 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6387 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n6388 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6389 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6390 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6391 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6392 void CDaoQueryDef::SetODBCTimeout(short)\n6393 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6394 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6395 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6396 int CHeaderCtrl::SetOrderArray(int,int *)\n6397 void CPropertySet::SetOSVersion(unsigned long)\n6398 void CDC::SetOutputDC(HDC__ *)\n6399 void CMetaFileDC::SetOutputDC(HDC__ *)\n6400 void CPreviewDC::SetOutputDC(HDC__ *)\n6401 void CToolBar::SetOwner(CWnd *)\n6402 void COlePropertyPage::SetPageName(char const *)\n6403 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n6404 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n6405 void CStatusBar::SetPaneStyle(int,unsigned int)\n6406 int CStatusBar::SetPaneText(int,char const *,int)\n6407 int CRichEditCtrl::SetParaFormat(_paraformat &)\n6408 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n6409 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n6410 void CRecordset::SetParamNull(int,int)\n6411 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6412 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n6413 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6414 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n6415 void CDaoQueryDef::SetParamValueNull(int)\n6416 void CDaoQueryDef::SetParamValueNull(char const *)\n6417 void CDaoRecordset::SetParamValueNull(int)\n6418 void CDaoRecordset::SetParamValueNull(char const *)\n6419 void CDocument::SetPathName(char const *,int)\n6420 void COleDocument::SetPathName(char const *,int)\n6421 void CRichEditDoc::SetPathName(char const *,int)\n6422 void CDaoRecordset::SetPercentPosition(float)\n6423 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n6424 int CDC::SetPolyFillMode(int)\n6425 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n6426 int COleClientItem::SetPrintDevice(tagPDA const *)\n6427 void CEditView::SetPrinterFont(CFont *)\n6428 int CPreviewView::SetPrintView(CView *)\n6429 int COlePropertyPage::SetPropCheck(char const *,int)\n6430 void COleControlSite::SetProperty(long,unsigned short,...)\n6431 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n6432 void CWnd::SetProperty(long,unsigned short,...)\n6433 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n6434 int COlePropertyPage::SetPropIndex(char const *,int)\n6435 int COlePropertyPage::SetPropRadio(char const *,int)\n6436 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n6437 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n6438 int COlePropertyPage::SetPropText(char const *,short &)\n6439 int COlePropertyPage::SetPropText(char const *,int &)\n6440 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n6441 int COlePropertyPage::SetPropText(char const *,long &)\n6442 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n6443 int COlePropertyPage::SetPropText(char const *,float &)\n6444 int COlePropertyPage::SetPropText(char const *,double &)\n6445 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6446 long CWnd::SetProxy(IAccessibleProxy *)\n6447 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n6448 void CDaoDatabase::SetQueryTimeout(short)\n6449 void CCmdUI::SetRadio(int)\n6450 void CTestCmdUI::SetRadio(int)\n6451 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n6452 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n6453 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n6454 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n6455 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6456 void CSliderCtrl::SetRange(int,int,int)\n6457 int CInternetFile::SetReadBufferSize(unsigned int)\n6458 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n6459 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n6460 int COleControl::SetRectInContainer(tagRECT const *)\n6461 void CWinApp::SetRegistryKey(unsigned int)\n6462 void CWinApp::SetRegistryKey(char const *)\n6463 void CDaoQueryDef::SetReturnsRecords(int)\n6464 int CDC::SetROP2(int)\n6465 void CSplitterWnd::SetRowInfo(int,int,int)\n6466 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n6467 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n6468 void CRecordset::SetRowsetSize(unsigned long)\n6469 void CPreviewView::SetScaledSize(unsigned int)\n6470 void CPreviewDC::SetScaleRatio(int,int)\n6471 void CScrollView::SetScaleToFitSize(tagSIZE)\n6472 void CDockState::SetScreenSize(CSize &)\n6473 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n6474 int CWnd::SetScrollPos(int,int,int)\n6475 void CWnd::SetScrollRange(int,int,int,int)\n6476 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n6477 void CSplitterWnd::SetScrollStyle(unsigned long)\n6478 int CPropertySection::SetSectionName(char const *)\n6479 void CRichEditCtrl::SetSel(long,long)\n6480 void CSliderCtrl::SetSelection(int,int)\n6481 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n6482 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n6483 void CCheckListBox::SetSelectionCheck(int)\n6484 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n6485 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n6486 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6487 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6488 long CPrintDialogEx::SetSite(IUnknown *)\n6489 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6490 void CByteArray::SetSize(int,int)\n6491 void CDWordArray::SetSize(int,int)\n6492 void CObArray::SetSize(int,int)\n6493 void CPtrArray::SetSize(int,int)\n6494 void CStringArray::SetSize(int,int)\n6495 void CUIntArray::SetSize(int,int)\n6496 void CWordArray::SetSize(int,int)\n6497 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6498 void CDaoTableDef::SetSourceTableName(char const *)\n6499 void CSplitterWnd::SetSplitCursor(int)\n6500 void CDaoQueryDef::SetSQL(char const *)\n6501 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6502 void CRecordset::SetState(int,char const *,unsigned long)\n6503 void CFile::SetStatus(char const *,CFileStatus const &)\n6504 int CControlBar::SetStatusText(int)\n6505 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6506 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6507 int CDC::SetStretchBltMode(int)\n6508 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6509 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6510 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6511 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6512 void COleVariant::SetString(char const *,unsigned short)\n6513 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6514 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6515 int CDialogTemplate::SetSystemFont(unsigned short)\n6516 void CEditView::SetTabStops(int)\n6517 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6518 void CFileDialog::SetTemplate(char const *,char const *)\n6519 void CCmdUI::SetText(char const *)\n6520 void COleCmdUI::SetText(char const *)\n6521 void COleControl::SetText(char const *)\n6522 void CStatusCmdUI::SetText(char const *)\n6523 void CTestCmdUI::SetText(char const *)\n6524 void CToolCmdUI::SetText(char const *)\n6525 unsigned int CDC::SetTextAlign(unsigned int)\n6526 int CDC::SetTextCharacterExtra(int)\n6527 unsigned long CDC::SetTextColor(unsigned long)\n6528 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6529 int CDC::SetTextJustification(int,int)\n6530 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6531 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6532 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6533 void CDocument::SetTitle(char const *)\n6534 void CPropertySheet::SetTitle(char const *,unsigned int)\n6535 void CRichEditDoc::SetTitle(char const *)\n6536 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6537 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6538 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6539 void CPreviewDC::SetTopLeftOffset(CSize)\n6540 void CProperty::SetType(unsigned long)\n6541 void CRecordset::SetUpdateMethod(void)\n6542 void CDaoTableDef::SetValidationRule(char const *)\n6543 void CDaoTableDef::SetValidationText(char const *)\n6544 void CThreadSlotData::SetValue(int,void *)\n6545 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6546 CSize CDC::SetViewportExt(int,int)\n6547 CSize CMetaFileDC::SetViewportExt(int,int)\n6548 CSize CPreviewDC::SetViewportExt(int,int)\n6549 CPoint CDC::SetViewportOrg(int,int)\n6550 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6551 CPoint CPreviewDC::SetViewportOrg(int,int)\n6552 CSize CDC::SetWindowExt(int,int)\n6553 CSize CPreviewDC::SetWindowExt(int,int)\n6554 CPoint CDC::SetWindowOrg(int,int)\n6555 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6556 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6557 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6558 void COleControlSite::SetWindowTextA(char const *)\n6559 void CWnd::SetWindowTextA(char const *)\n6560 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n6561 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n6562 int CDC::SetWorldTransform(tagXFORM const *)\n6563 int CInternetFile::SetWriteBufferSize(unsigned int)\n6564 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6565 long CDocObjectServer::XOleDocumentView::Show(int)\n6566 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6567 void CDockBar::ShowAll(int)\n6568 int CWinApp::ShowAppMessageBox(CWinApp *,char const *,unsigned int,unsigned int)\n6569 long CRichEditCntrItem::ShowContainerUI(int)\n6570 long CRichEditView::ShowContainerUI(int)\n6571 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6572 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6573 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6574 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6575 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6576 long COleClientItem::XOleClientSite::ShowObject(void)\n6577 long COleControlSite::XOleClientSite::ShowObject(void)\n6578 void CFrameWnd::ShowOwnedWindows(int)\n6579 long COleControlSite::XOleControlSite::ShowPropertyFrame(void)\n6580 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6581 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6582 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6583 int COleControlSite::ShowWindow(int)\n6584 int CWnd::ShowWindow(int)\n6585 tagSIZE const CScrollView::sizeDefault\n6586 int CMonthCalCtrl::SizeMinReq(int)\n6587 void CBitmapButton::SizeToContent(void)\n6588 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6589 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6590 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6591 int CAsyncSocket::Socket(int,long,int,int)\n6592 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6593 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6594 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6595 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6596 int CSplitterWnd::SplitColumn(int)\n6597 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6598 int CSplitterWnd::SplitRow(int)\n6599 int CDC::StartDocA(char const *)\n6600 void CDockContext::StartDrag(CPoint)\n6601 void CDockContext::StartResize(int,CPoint)\n6602 void CSplitterWnd::StartTracking(int)\n6603 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6604 void CSplitterWnd::StopTracking(int)\n6605 void CRuntimeClass::Store(CArchive &)const \n6606 void CDaoRecordset::StoreFields(void)\n6607 void CRecordset::StoreFields(void)\n6608 void CRichEditView::Stream(CArchive &,int)\n6609 void CDockContext::Stretch(CPoint)\n6610 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6611 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6612 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6613 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6614 void CDaoRecordset::StripBrackets(char const *,char *)\n6615 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6616 int CWnd::SubclassWindow(HWND__ *)\n6617 int COleDocObjectItem::SupportsIPrint(void)\n6618 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6619 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6620 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6621 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6622 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n6623 void CRichEditView::TextNotFound(char const *)\n6624 int CMetaFileDC::TextOutA(int,int,char const *,int)\n6625 int CPreviewDC::TextOutA(int,int,char const *,int)\n6626 void CDaoDatabase::ThrowDaoException(int)\n6627 void CDaoQueryDef::ThrowDaoException(int)\n6628 void CDaoRecordset::ThrowDaoException(int)\n6629 void CDaoTableDef::ThrowDaoException(int)\n6630 void CDaoWorkspace::ThrowDaoException(int)\n6631 void CFileException::ThrowErrno(int,char const *)\n6632 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6633 void COleControl::ThrowError(long,char const *,unsigned int)\n6634 void ThrowGetRowsDaoException(long)\n6635 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException(void)\n6636 void ATL::CSimpleStringT<char,1>::ThrowMemoryException(void)\n6637 void CFileException::ThrowOsError(long,char const *)\n6638 void CDockContext::ToggleDocking(void)\n6639 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6640 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6641 COleVariant CDataSourceControl::ToVariant(int)\n6642 int CDockContext::Track(void)\n6643 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6644 void CSplitterWnd::TrackColumnSize(int,int)\n6645 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6646 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6647 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6648 void CSplitterWnd::TrackRowSize(int,int)\n6649 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6650 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6651 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6652 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6653 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6654 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n6655 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n6656 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6657 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n6658 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6659 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n6660 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n6661 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6662 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6663 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6664 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6665 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6666 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6667 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(void)\n6668 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6669 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6670 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(void)\n6671 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6672 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6673 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(void)\n6674 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6675 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6676 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(void)\n6677 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6678 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6679 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(void)\n6680 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6681 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6682 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(void)\n6683 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6684 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6685 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6686 void COccManager::UIActivateControl(CWnd *)\n6687 long COleControl::XOleInPlaceObject::UIDeactivate(void)\n6688 long COleServerDoc::XOleInPlaceObject::UIDeactivate(void)\n6689 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6690 void COleSafeArray::UnaccessData(void)\n6691 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6692 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6693 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6694 long COleControl::XOleObject::Unadvise(unsigned long)\n6695 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6696 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6697 void CRecordset::UnbindFieldsForUpdate(void)\n6698 long COleControl::XOleCache::Uncache(unsigned long)\n6699 long COleControl::XViewObject::Unfreeze(unsigned long)\n6700 int CEvent::Unlock(void)\n6701 int CMultiLock::Unlock(long,long *)\n6702 int CMultiLock::Unlock(void)\n6703 int CMutex::Unlock(void)\n6704 void COleSafeArray::Unlock(void)\n6705 int CSemaphore::Unlock(long,long *)\n6706 int CSingleLock::Unlock(long,long *)\n6707 int CSingleLock::Unlock(void)\n6708 void CTypeLibCache::Unlock(void)\n6709 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer(void)\n6710 void ATL::CSimpleStringT<char,1>::UnlockBuffer(void)\n6711 void CEditView::UnlockBuffer(void)const \n6712 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6713 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6714 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6715 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6716 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6717 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6718 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6719 int COleObjectFactory::Unregister(void)\n6720 int COleTemplateServer::Unregister(void)\n6721 int CWinApp::Unregister(void)\n6722 int COleObjectFactory::UnregisterAll(void)\n6723 void CDocManager::UnregisterShellFileTypes(void)\n6724 void CWinApp::UnregisterShellFileTypes(void)\n6725 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n6726 HWND__ * CWnd::UnsubclassWindow(void)\n6727 void CDaoRecordset::Update(void)\n6728 int CRecordset::Update(void)\n6729 long CDocObjectServer::XOleObject::Update(void)\n6730 long COleControl::XOleObject::Update(void)\n6731 long COleServerDoc::XOleObject::Update(void)\n6732 long COleServerItem::XOleObject::Update(void)\n6733 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6734 void CStatusBar::UpdateAllPanes(int,int)\n6735 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6736 void CScrollView::UpdateBars(void)\n6737 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6738 long CDataSourceControl::UpdateControls(void)\n6739 long CDataSourceControl::UpdateCursor(void)\n6740 int CWnd::UpdateData(int)\n6741 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6742 void CDocument::UpdateFrameCounts(void)\n6743 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n6744 int CRecordset::UpdateInsertDelete(void)\n6745 void COleClientItem::UpdateItemType(void)\n6746 int COleClientItem::UpdateLink(void)\n6747 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6748 void CRecentFileList::UpdateMenu(CCmdUI *)\n6749 void COleDocument::UpdateModifiedFlag(void)\n6750 void CRichEditDoc::UpdateModifiedFlag(void)\n6751 void CRichEditDoc::UpdateObjectCache(void)\n6752 void CFileDialog::UpdateOFNFromShellDialog(void)\n6753 void CWinApp::UpdatePrinterSelection(int)\n6754 int COleObjectFactory::UpdateRegistry(int)\n6755 void COleObjectFactory::UpdateRegistry(char const *)\n6756 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n6757 int COleObjectFactory::UpdateRegistryAll(int)\n6758 void CDockContext::UpdateState(int *,int)\n6759 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6760 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n6761 long CBrowserControlSite::UpdateUI(void)\n6762 long CDHtmlDialog::UpdateUI(void)\n6763 long CHtmlControlSite::XDocHostUIHandler::UpdateUI(void)\n6764 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6765 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6766 void CDatabase::VerifyConnect(void)\n6767 unsigned long CRecordset::VerifyCursorSupport(void)\n6768 void CRecordset::VerifyDriverBehavior(void)\n6769 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6770 int COleObjectFactory::VerifyUserLicense(void)\n6771 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6772 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6773 int COleControl::WillAmbientsBeValidDuringLoad(void)\n6774 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6775 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6776 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6777 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6778 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6779 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6780 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6781 void CWinApp::WinHelpA(unsigned long,unsigned int)\n6782 void CWnd::WinHelpA(unsigned long,unsigned int)\n6783 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6784 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6785 CWnd const CWnd::wndBottom\n6786 CWnd const CWnd::wndNoTopMost\n6787 CWnd const CWnd::wndTop\n6788 CWnd const CWnd::wndTopMost\n6789 void CRichEditView::WrapChanged(void)\n6790 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6791 void CArchive::Write(void const *,unsigned int)\n6792 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6793 void CFile::Write(void const *,unsigned int)\n6794 void CGopherFile::Write(void const *,unsigned int)\n6795 int CImageList::Write(CArchive *)\n6796 void CInternetFile::Write(void const *,unsigned int)\n6797 void CMemFile::Write(void const *,unsigned int)\n6798 void COleStreamFile::Write(void const *,unsigned int)\n6799 void CSocketFile::Write(void const *,unsigned int)\n6800 void CStdioFile::Write(void const *,unsigned int)\n6801 void CArchive::WriteClass(CRuntimeconst *)\n6802 void CArchive::WriteCount(unsigned long)\n6803 void COleClientItem::WriteItem(CArchive &)\n6804 void COleClientItem::WriteItemCompound(CArchive &)\n6805 void COleClientItem::WriteItemFlat(CArchive &)\n6806 void CRecentFileList::WriteList(void)\n6807 int CPropertySection::WriteNameDictToStream(IStream *)\n6808 void CArchive::WriteObject(CObject const *)\n6809 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n6810 int CWinApp::WriteProfileInt(char const *,char const *,int)\n6811 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n6812 void CArchive::WriteString(char const *)\n6813 void CGopherFile::WriteString(char const *)\n6814 void CInternetFile::WriteString(char const *)\n6815 void CStdioFile::WriteString(char const *)\n6816 void CEditView::WriteToArchive(CArchive &)\n6817 int CProperty::WriteToStream(IStream *)\n6818 int CPropertySection::WriteToStream(IStream *)\n6819 int CPropertySet::WriteToStream(IStream *)\n6820 void AfxSetPerUserRegistration(int)\n6821 int AfxGetPerUserRegistration(void)\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc90d.def",
    "content": "256 ??$CopyElements@VCOleVariant@@@@YGXPAVCOleVariant@@PBV0@H@Z\n257 ??$DumpElements@VCOleVariant@@@@YGXAAVCDumpContext@@PBVCOleVariant@@H@Z\n258 ??$HashKey@ABUtagVARIANT@@@@YGIABUtagVARIANT@@@Z\n259 ??$HashKey@PB_W@@YGIPB_W@Z\n260 ??$HashKey@PBD@@YGIPBD@Z\n261 ??$HashKey@VCComBSTR@ATL@@@@YGIVCComBSTR@ATL@@@Z\n262 ??$SerializeElements@V?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@H@Z\n263 ??$SerializeElements@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z\n264 ??$SerializeElements@VCComBSTR@ATL@@@@YGXAAVCArchive@@PAVCComBSTR@ATL@@H@Z\n265 ??$SerializeElements@VCOleVariant@@@@YGXAAVCArchive@@PAVCOleVariant@@H@Z\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n300 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n301 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n302 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n317 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n318 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n319 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n320 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n321 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n322 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n323 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE(void)\n324 _AFX_COLOR_STATE::_AFX_COLOR_STATE(void)\n325 _AFX_DAO_STATE::_AFX_DAO_STATE(void)\n326 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE(void)\n327 _AFX_EDIT_STATE::_AFX_EDIT_STATE(void)\n328 _AFX_OLE_STATE::_AFX_OLE_STATE(void)\n329 _AFX_THREAD_STATE::_AFX_THREAD_STATE(void)\n330 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE(void)\n331 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n332 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,char const *)\n333 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)\n334 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n335 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n336 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n337 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE(void)\n338 CAnimateCtrl::CAnimateCtrl(void)\n339 CArchive::CArchive(CArchive const &)\n340 CArchive::CArchive(CFile *,unsigned int,int,void *)\n341 CArchiveException::CArchiveException(int,char const *)\n342 CArchivePropExchange::CArchivePropExchange(CArchive &)\n343 CArchiveStream::CArchiveStream(CArchive *)\n344 CAsyncMonikerFile::CAsyncMonikerFile(void)\n345 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n346 CAsyncSocket::CAsyncSocket(void)\n347 CBitmap::CBitmap(void)\n348 CBitmapButton::CBitmapButton(void)\n349 CBlobProperty::CBlobProperty(void *)\n350 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n351 CBrush::CBrush(int,unsigned long)\n352 CBrush::CBrush(unsigned long)\n353 CBrush::CBrush(CBitmap *)\n354 CBrush::CBrush(void)\n355 CButton::CButton(void)\n356 CByteArray::CByteArray(void)\n357 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n358 CCachedDataPathProperty::CCachedDataPathProperty(char const *,COleControl *)\n359 CCheckListBox::CCheckListBox(void)\n360 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu(void)\n361 CClientDC::CClientDC(CWnd *)\n362 CCmdTarget::CCmdTarget(void)\n363 CCmdUI::CCmdUI(void)\n364 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n365 CComboBox::CComboBox(void)\n366 CComboBoxEx::CComboBoxEx(void)\n367 CCommandLineInfo::CCommandLineInfo(void)\n368 CCommonDialog::CCommonDialog(CWnd *)\n369 CConnectionPoint::CConnectionPoint(void)\n370 CControlBar::CControlBar(void)\n371 CControlBarInfo::CControlBarInfo(void)\n372 CControlCreationInfo::CControlCreationInfo(void)\n373 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n374 CControlFrameWnd::CControlFrameWnd(COleControl *)\n375 CControlSiteFactoryMgr::CControlSiteFactoryMgr(void)\n376 CCreateContext::CCreateContext(void)\n377 CCriticalSection::CCriticalSection(void)\n378 CCtrlView::CCtrlView(char const *,unsigned long)\n379 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n380 CDaoException::CDaoException(void)\n381 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n382 CDaoIndexInfo::CDaoIndexInfo(void)\n383 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n384 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n385 CDaoRecordView::CDaoRecordView(unsigned int)\n386 CDaoRecordView::CDaoRecordView(char const *)\n387 CDaoRelationInfo::CDaoRelationInfo(void)\n388 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n389 CDaoWorkspace::CDaoWorkspace(void)\n390 CDatabase::CDatabase(void)\n391 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n392 CDataExchange::CDataExchange(CWnd *,int)\n393 CDataPathProperty::CDataPathProperty(COleControl *)\n394 CDataPathProperty::CDataPathProperty(char const *,COleControl *)\n395 CDataSourceControl::CDataSourceControl(COleControlSite *)\n396 CDateTimeCtrl::CDateTimeCtrl(void)\n397 CDBException::CDBException(short)\n398 CDBVariant::CDBVariant(void)\n399 CDC::CDC(void)\n400 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,char const *,unsigned long)\n401 CDHtmlControlSink::CDHtmlControlSink(void)\n402 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n403 CDHtmlDialog::CDHtmlDialog(char const *,char const *,CWnd *)\n404 CDHtmlDialog::CDHtmlDialog(void)\n405 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n406 CDialog::CDialog(unsigned int,CWnd *)\n407 CDialog::CDialog(char const *,CWnd *)\n408 CDialog::CDialog(void)\n409 CDialogBar::CDialogBar(void)\n410 CDialogTemplate::CDialogTemplate(void *)\n411 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n412 CDocItem::CDocItem(void)\n413 CDockBar::CDockBar(int)\n414 CDockContext::CDockContext(CControlBar *)\n415 CDockState::CDockState(void)\n416 CDocManager::CDocManager(void)\n417 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n418 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n419 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n420 CDocument::CDocument(void)\n421 CDragListBox::CDragListBox(void)\n422 CDumpContext::CDumpContext(CDumpContext const &)\n423 CDumpContext::CDumpContext(CFile *)\n424 CDWordArray::CDWordArray(void)\n425 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n426 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n427 CEdit::CEdit(void)\n428 CEditView::CEditView(void)\n429 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n430 CEnumConnections::CEnumConnections(void const *,unsigned int)\n431 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n432 CEnumFormatEtc::CEnumFormatEtc(void)\n433 CEvent::CEvent(int,int,char const *,_SECURITY_ATTRIBUTES *)\n434 CException::CException(int)\n435 CException::CException(void)\n436 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n437 CFile::CFile(void *)\n438 CFile::CFile(char const *,unsigned int)\n439 CFile::CFile(void)\n440 CFileDialog::CFileDialog(int,char const *,char const *,unsigned long,char const *,CWnd *,unsigned long,int)\n441 CFileException::CFileException(int,long,char const *)\n442 CFileFind::CFileFind(void)\n443 CFindReplaceDialog::CFindReplaceDialog(void)\n444 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n445 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n446 CFont::CFont(void)\n447 CFontDialog::CFontDialog(_charformat const &,unsigned long,CDC *,CWnd *)\n448 CFontDialog::CFontDialog(tagLOGFONTA *,unsigned long,CDC *,CWnd *)\n449 CFontHolder::CFontHolder(IPropertyNotifySink *)\n450 CFormView::CFormView(unsigned int)\n451 CFormView::CFormView(char const *)\n452 CFrameWnd::CFrameWnd(void)\n453 CFtpConnection::CFtpConnection(CInternetSession *,void *,char const *,unsigned long)\n454 CFtpConnection::CFtpConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short,int)\n455 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n456 CGdiObject::CGdiObject(void)\n457 CGopherConnection::CGopherConnection(CInternetSession *,void *,char const *,unsigned long)\n458 CGopherConnection::CGopherConnection(CInternetSession *,char const *,char const *,char const *,unsigned long,unsigned short)\n459 CGopherFile::CGopherFile(void *,void *,char const *,unsigned long,unsigned long)\n460 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n461 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n462 CGopherLocator::CGopherLocator(char const *,unsigned long)\n463 CGopherLocator::CGopherLocator(CGopherLocator const &)\n464 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n465 CHeaderCtrl::CHeaderCtrl(void)\n466 CHotKeyCtrl::CHotKeyCtrl(void)\n467 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n468 CHtmlEditCtrl::CHtmlEditCtrl(void)\n469 CHtmlEditDoc::CHtmlEditDoc(void)\n470 CHtmlEditView::CHtmlEditView(void)\n471 CHtmlView::CHtmlView(void)\n472 CHttpConnection::CHttpConnection(CInternetSession *,void *,char const *,unsigned long)\n473 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned short,char const *,char const *,unsigned long)\n474 CHttpConnection::CHttpConnection(CInternetSession *,char const *,unsigned long,unsigned short,char const *,char const *,unsigned long)\n475 CHttpFile::CHttpFile(void *,void *,char const *,char const *,char const *,unsigned long)\n476 CHttpFile::CHttpFile(void *,char const *,char const *,CHttpConnection *)\n477 CImageList::CImageList(void)\n478 CInternetConnection::CInternetConnection(CInternetSession *,char const *,unsigned short,unsigned long)\n479 CInternetException::CInternetException(unsigned long)\n480 CInternetFile::CInternetFile(void *,void *,char const *,char const *,unsigned long,int)\n481 CInternetFile::CInternetFile(void *,char const *,CInternetConnection *,int)\n482 CInternetSession::CInternetSession(char const *,unsigned long,unsigned long,char const *,char const *,unsigned long)\n483 CInvalidArgException::CInvalidArgException(int,unsigned int)\n484 CInvalidArgException::CInvalidArgException(void)\n485 CIPAddressCtrl::CIPAddressCtrl(void)\n486 CListBox::CListBox(void)\n487 CListCtrl::CListCtrl(void)\n488 CListView::CListView(void)\n489 CLongBinary::CLongBinary(void)\n490 CMapPtrToPtr::CMapPtrToPtr(int)\n491 CMapPtrToWord::CMapPtrToWord(int)\n492 CMapStringToOb::CMapStringToOb(int)\n493 CMapStringToPtr::CMapStringToPtr(int)\n494 CMapStringToString::CMapStringToString(int)\n495 CMapWordToOb::CMapWordToOb(int)\n496 CMapWordToPtr::CMapWordToPtr(int)\n497 CMDIChildWnd::CMDIChildWnd(void)\n498 CMDIFrameWnd::CMDIFrameWnd(void)\n499 CMemFile::CMemFile(unsigned int)\n500 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n501 CMemoryException::CMemoryException(int,unsigned int)\n502 CMemoryException::CMemoryException(void)\n503 CMemoryState::CMemoryState(void)\n504 CMenu::CMenu(void)\n505 CMetaFileDC::CMetaFileDC(void)\n506 CMiniDockFrameWnd::CMiniDockFrameWnd(void)\n507 CMiniFrameWnd::CMiniFrameWnd(void)\n508 CMonikerFile::CMonikerFile(void)\n509 CMonthCalCtrl::CMonthCalCtrl(void)\n510 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n511 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n512 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n513 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(char const *,char const *,CWnd *)\n514 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(void)\n515 CMutex::CMutex(int,char const *,_SECURITY_ATTRIBUTES *)\n516 CNotSupportedException::CNotSupportedException(int,unsigned int)\n517 CNotSupportedException::CNotSupportedException(void)\n518 CObArray::CObArray(void)\n519 CObject::CObject(void)\n520 CObList::CObList(int)\n521 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n522 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n523 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n524 COleClientItem::COleClientItem(COleDocument *)\n525 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n526 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n527 COleControl::COleControl(void)\n528 COleControlContainer::COleControlContainer(CWnd *)\n529 COleControlLock::COleControlLock(_GUID const &)\n530 COleControlSite::COleControlSite(COleControlContainer *)\n531 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n532 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n533 COleControlSiteOrWnd::COleControlSiteOrWnd(void)\n534 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n535 COleCurrency::COleCurrency(tagVARIANT const &)\n536 COleCurrency::COleCurrency(COleCurrency const &)\n537 COleCurrency::COleCurrency(long,long)\n538 COleCurrency::COleCurrency(union tagCY)\n539 COleCurrency::COleCurrency(void)\n540 COleDataObject::COleDataObject(void)\n541 COleDataSource::COleDataSource(void)\n542 COleDialog::COleDialog(CWnd *)\n543 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n544 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n545 COleDispatchDriver::COleDispatchDriver(void)\n546 COleDispatchException::COleDispatchException(char const *,unsigned int,unsigned short)\n547 COleDocIPFrameWnd::COleDocIPFrameWnd(void)\n548 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n549 COleDocument::COleDocument(void)\n550 COleDropSource::COleDropSource(void)\n551 COleDropTarget::COleDropTarget(void)\n552 COleException::COleException(void)\n553 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n554 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n555 COleIPFrameWnd::COleIPFrameWnd(void)\n556 COleLinkingDoc::COleLinkingDoc(void)\n557 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n558 COleMessageFilter::COleMessageFilter(void)\n559 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,char const *)\n560 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,char const *)\n561 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n562 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n563 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n564 COleResizeBar::COleResizeBar(void)\n565 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n566 COleSafeArray::COleSafeArray(tagVARIANT const &)\n567 COleSafeArray::COleSafeArray(COleSafeArray const &)\n568 COleSafeArray::COleSafeArray(COleVariant const &)\n569 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n570 COleSafeArray::COleSafeArray(tagVARIANT const *)\n571 COleSafeArray::COleSafeArray(void)\n572 COleServerDoc::COleServerDoc(void)\n573 COleServerItem::COleServerItem(COleServerDoc *,int)\n574 COleStreamFile::COleStreamFile(IStream *)\n575 COleTemplateServer::COleTemplateServer(void)\n576 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n577 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n578 COleVariant::COleVariant(__int64)\n579 COleVariant::COleVariant(unsigned __int64)\n580 COleVariant::COleVariant(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n581 COleVariant::COleVariant(tagVARIANT const &)\n582 COleVariant::COleVariant(COleVariant const &)\n583 COleVariant::COleVariant(CByteArray const &)\n584 COleVariant::COleVariant(CLongBinary const &)\n585 COleVariant::COleVariant(COleCurrency const &)\n586 COleVariant::COleVariant(ATL::COleDateTime const &)\n587 COleVariant::COleVariant(unsigned char)\n588 COleVariant::COleVariant(short,unsigned short)\n589 COleVariant::COleVariant(long,unsigned short)\n590 COleVariant::COleVariant(float)\n591 COleVariant::COleVariant(double)\n592 COleVariant::COleVariant(char const *)\n593 COleVariant::COleVariant(char const *,unsigned short)\n594 COleVariant::COleVariant(_ITEMIDLIST const *)\n595 COleVariant::COleVariant(tagVARIANT const *)\n596 COleVariant::COleVariant(void)\n597 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n598 CPaintDC::CPaintDC(CWnd *)\n599 CPalette::CPalette(void)\n600 CPen::CPen(int,int,unsigned long)\n601 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n602 CPen::CPen(void)\n603 CPictureHolder::CPictureHolder(void)\n604 CPreviewDC::CPreviewDC(void)\n605 CPreviewView::CPreviewView(void)\n606 CPrintDialog::CPrintDialog(tagPDA &)\n607 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n608 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n609 CPrintInfo::CPrintInfo(void)\n610 CPrintPreviewState::CPrintPreviewState(void)\n611 CProgressCtrl::CProgressCtrl(void)\n612 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n613 CProperty::CProperty(unsigned long,void * const,unsigned long)\n614 CProperty::CProperty(void)\n615 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n616 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n617 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned int,unsigned int,unsigned long)\n618 CPropertyPage::CPropertyPage(char const *,unsigned int,unsigned long)\n619 CPropertyPage::CPropertyPage(void)\n620 CPropertySection::CPropertySection(_GUID)\n621 CPropertySection::CPropertySection(void)\n622 CPropertySet::CPropertySet(_GUID)\n623 CPropertySet::CPropertySet(void)\n624 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n625 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n626 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int)\n627 CPropertySheet::CPropertySheet(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n628 CPropertySheet::CPropertySheet(void)\n629 CPropExchange::CPropExchange(void)\n630 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n631 CPtrArray::CPtrArray(void)\n632 CPtrList::CPtrList(int)\n633 CReBar::CReBar(void)\n634 CReBarCtrl::CReBarCtrl(void)\n635 CRecentFileList::CRecentFileList(unsigned int,char const *,char const *,int,int)\n636 CRecordset::CRecordset(CDatabase *)\n637 CRecordView::CRecordView(unsigned int)\n638 CRecordView::CRecordView(char const *)\n639 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n640 CRectTracker::CRectTracker(void)\n641 CReObject::CReObject(CRichEditCntrItem *)\n642 CReObject::CReObject(void)\n643 CResetPropExchange::CResetPropExchange(void)\n644 CResourceException::CResourceException(int,unsigned int)\n645 CResourceException::CResourceException(void)\n646 CRgn::CRgn(void)\n647 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n648 CRichEditCtrl::CRichEditCtrl(void)\n649 CRichEditDoc::CRichEditDoc(void)\n650 CRichEditView::CRichEditView(void)\n651 CScrollBar::CScrollBar(void)\n652 CScrollView::CScrollView(void)\n653 CSemaphore::CSemaphore(long,long,char const *,_SECURITY_ATTRIBUTES *)\n654 CSharedFile::CSharedFile(unsigned int,unsigned int)\n655 CSimpleException::CSimpleException(int)\n656 CSimpleException::CSimpleException(void)\n657 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n658 CSingleLock::CSingleLock(CSyncObject *,int)\n659 CSliderCtrl::CSliderCtrl(void)\n660 CSocket::CSocket(void)\n661 CSocketFile::CSocketFile(CSocket *,int)\n662 CSocketWnd::CSocketWnd(void)\n663 CSpinButtonCtrl::CSpinButtonCtrl(void)\n664 CSplitterWnd::CSplitterWnd(void)\n665 CStatic::CStatic(void)\n666 CStatusBar::CStatusBar(void)\n667 CStatusBarCtrl::CStatusBarCtrl(void)\n668 CStdioFile::CStdioFile(_iobuf *)\n669 CStdioFile::CStdioFile(char const *,unsigned int)\n670 CStdioFile::CStdioFile(void)\n671 CStringArray::CStringArray(void)\n672 CStringList::CStringList(int)\n673 CSyncObject::CSyncObject(char const *)\n674 CTabCtrl::CTabCtrl(void)\n675 CTestCmdUI::CTestCmdUI(void)\n676 CThreadSlotData::CThreadSlotData(void)\n677 CToolBar::CToolBar(void)\n678 CToolBarCtrl::CToolBarCtrl(void)\n679 CToolTipCtrl::CToolTipCtrl(void)\n680 CTreeCtrl::CTreeCtrl(void)\n681 CTreeView::CTreeView(void)\n682 CUIntArray::CUIntArray(void)\n683 CUserException::CUserException(int,unsigned int)\n684 CUserException::CUserException(void)\n685 CView::CView(void)\n686 CWaitCursor::CWaitCursor(void)\n687 CWinApp::CWinApp(char const *)\n688 CWindowDC::CWindowDC(CWnd *)\n689 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n690 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n691 CWinThread::CWinThread(void)\n692 CWnd::CWnd(HWND__ *)\n693 CWnd::CWnd(void)\n694 CWordArray::CWordArray(void)\n695 CPreviewView::PAGE_INFO::PAGE_INFO(void)\n696 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>(void)\n697 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>(void)\n698 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n699 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n700 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE(void)\n701 _AFX_DAO_STATE::~_AFX_DAO_STATE(void)\n702 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE(void)\n703 _AFX_EDIT_STATE::~_AFX_EDIT_STATE(void)\n704 _AFX_MAIL_STATE::~_AFX_MAIL_STATE(void)\n705 _AFX_OLE_STATE::~_AFX_OLE_STATE(void)\n706 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE(void)\n707 _AFX_SOCK_STATE::~_AFX_SOCK_STATE(void)\n708 _AFX_THREAD_STATE::~_AFX_THREAD_STATE(void)\n709 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO(void)\n710 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE(void)\n711 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2(void)\n712 AFX_MODULE_STATE::~AFX_MODULE_STATE(void)\n713 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE(void)\n714 CAnimateCtrl::~CAnimateCtrl(void)\n715 CArchive::~CArchive(void)\n716 CArchiveException::~CArchiveException(void)\n717 CAsyncMonikerFile::~CAsyncMonikerFile(void)\n718 CAsyncSocket::~CAsyncSocket(void)\n719 CBitmap::~CBitmap(void)\n720 CBrush::~CBrush(void)\n721 CButton::~CButton(void)\n722 CByteArray::~CByteArray(void)\n723 CClientDC::~CClientDC(void)\n724 CCmdTarget::~CCmdTarget(void)\n725 CComboBox::~CComboBox(void)\n726 CComboBoxEx::~CComboBoxEx(void)\n727 CCommandLineInfo::~CCommandLineInfo(void)\n728 CConnectionPoint::~CConnectionPoint(void)\n729 CControlBar::~CControlBar(void)\n730 CControlSiteFactoryMgr::~CControlSiteFactoryMgr(void)\n731 CCriticalSection::~CCriticalSection(void)\n732 CCtrlView::~CCtrlView(void)\n733 CDaoDatabase::~CDaoDatabase(void)\n734 CDaoException::~CDaoException(void)\n735 CDaoIndexInfo::~CDaoIndexInfo(void)\n736 CDaoQueryDef::~CDaoQueryDef(void)\n737 CDaoRecordset::~CDaoRecordset(void)\n738 CDaoRecordView::~CDaoRecordView(void)\n739 CDaoRelationInfo::~CDaoRelationInfo(void)\n740 CDaoTableDef::~CDaoTableDef(void)\n741 CDaoWorkspace::~CDaoWorkspace(void)\n742 CDatabase::~CDatabase(void)\n743 CDataSourceControl::~CDataSourceControl(void)\n744 CDateTimeCtrl::~CDateTimeCtrl(void)\n745 CDBException::~CDBException(void)\n746 CDBVariant::~CDBVariant(void)\n747 CDC::~CDC(void)\n748 CDHtmlControlSink::~CDHtmlControlSink(void)\n749 CDHtmlDialog::~CDHtmlDialog(void)\n750 CDialog::~CDialog(void)\n751 CDialogBar::~CDialogBar(void)\n752 CDialogTemplate::~CDialogTemplate(void)\n753 CDocItem::~CDocItem(void)\n754 CDockBar::~CDockBar(void)\n755 CDockContext::~CDockContext(void)\n756 CDockState::~CDockState(void)\n757 CDocManager::~CDocManager(void)\n758 CDocObjectServer::~CDocObjectServer(void)\n759 CDocObjectServerItem::~CDocObjectServerItem(void)\n760 CDocTemplate::~CDocTemplate(void)\n761 CDocument::~CDocument(void)\n762 CDragListBox::~CDragListBox(void)\n763 CDWordArray::~CDWordArray(void)\n764 CDynLinkLibrary::~CDynLinkLibrary(void)\n765 CEdit::~CEdit(void)\n766 CEditView::~CEditView(void)\n767 CEnumArray::~CEnumArray(void)\n768 CEnumConnections::~CEnumConnections(void)\n769 CEnumConnPoints::~CEnumConnPoints(void)\n770 CEnumFormatEtc::~CEnumFormatEtc(void)\n771 CEnumOleVerb::~CEnumOleVerb(void)\n772 CEnumUnknown::~CEnumUnknown(void)\n773 CEvent::~CEvent(void)\n774 CException::~CException(void)\n775 CFile::~CFile(void)\n776 CFileDialog::~CFileDialog(void)\n777 CFileException::~CFileException(void)\n778 CFileFind::~CFileFind(void)\n779 CFixedAlloc::~CFixedAlloc(void)\n780 CFixedAllocNoSync::~CFixedAllocNoSync(void)\n781 CFont::~CFont(void)\n782 CFontHolder::~CFontHolder(void)\n783 CFormView::~CFormView(void)\n784 CFrameWnd::~CFrameWnd(void)\n785 CFtpConnection::~CFtpConnection(void)\n786 CFtpFileFind::~CFtpFileFind(void)\n787 CGdiObject::~CGdiObject(void)\n788 CGopherConnection::~CGopherConnection(void)\n789 CGopherFile::~CGopherFile(void)\n790 CGopherFileFind::~CGopherFileFind(void)\n791 CGopherLocator::~CGopherLocator(void)\n792 CHeaderCtrl::~CHeaderCtrl(void)\n793 CHotKeyCtrl::~CHotKeyCtrl(void)\n794 CHtmlControlSite::~CHtmlControlSite(void)\n795 CHtmlEditCtrl::~CHtmlEditCtrl(void)\n796 CHtmlEditDoc::~CHtmlEditDoc(void)\n797 CHtmlEditView::~CHtmlEditView(void)\n798 CHtmlView::~CHtmlView(void)\n799 CHttpConnection::~CHttpConnection(void)\n800 CHttpFile::~CHttpFile(void)\n801 CImageList::~CImageList(void)\n802 CInternetConnection::~CInternetConnection(void)\n803 CInternetException::~CInternetException(void)\n804 CInternetFile::~CInternetFile(void)\n805 CInternetSession::~CInternetSession(void)\n806 CInvalidArgException::~CInvalidArgException(void)\n807 CIPAddressCtrl::~CIPAddressCtrl(void)\n808 CListBox::~CListBox(void)\n809 CListCtrl::~CListCtrl(void)\n810 CLongBinary::~CLongBinary(void)\n811 CMapPtrToPtr::~CMapPtrToPtr(void)\n812 CMapPtrToWord::~CMapPtrToWord(void)\n813 CMapStringToOb::~CMapStringToOb(void)\n814 CMapStringToPtr::~CMapStringToPtr(void)\n815 CMapStringToString::~CMapStringToString(void)\n816 CMapWordToOb::~CMapWordToOb(void)\n817 CMapWordToPtr::~CMapWordToPtr(void)\n818 CMemFile::~CMemFile(void)\n819 CMemoryException::~CMemoryException(void)\n820 CMenu::~CMenu(void)\n821 CMetaFileDC::~CMetaFileDC(void)\n822 CMiniFrameWnd::~CMiniFrameWnd(void)\n823 CMonikerFile::~CMonikerFile(void)\n824 CMonthCalCtrl::~CMonthCalCtrl(void)\n825 CMultiDocTemplate::~CMultiDocTemplate(void)\n826 CMultiLock::~CMultiLock(void)\n827 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog(void)\n828 CMutex::~CMutex(void)\n829 CNotSupportedException::~CNotSupportedException(void)\n830 CObArray::~CObArray(void)\n831 CObject::~CObject(void)\n832 CObList::~CObList(void)\n833 COleBusyDialog::~COleBusyDialog(void)\n834 COleChangeIconDialog::~COleChangeIconDialog(void)\n835 COleChangeSourceDialog::~COleChangeSourceDialog(void)\n836 COleClientItem::~COleClientItem(void)\n837 COleCntrFrameWnd::~COleCntrFrameWnd(void)\n838 COleControl::~COleControl(void)\n839 COleControlContainer::~COleControlContainer(void)\n840 COleControlLock::~COleControlLock(void)\n841 COleControlSite::~COleControlSite(void)\n842 COleControlSiteOrWnd::~COleControlSiteOrWnd(void)\n843 COleConvertDialog::~COleConvertDialog(void)\n844 COleDataObject::~COleDataObject(void)\n845 COleDataSource::~COleDataSource(void)\n846 COleDispatchDriver::~COleDispatchDriver(void)\n847 COleDispatchException::~COleDispatchException(void)\n848 COleDocIPFrameWnd::~COleDocIPFrameWnd(void)\n849 COleDocObjectItem::~COleDocObjectItem(void)\n850 COleDocument::~COleDocument(void)\n851 COleDropTarget::~COleDropTarget(void)\n852 COleException::~COleException(void)\n853 COleFrameHook::~COleFrameHook(void)\n854 COleInsertDialog::~COleInsertDialog(void)\n855 COleIPFrameWnd::~COleIPFrameWnd(void)\n856 COleLinkingDoc::~COleLinkingDoc(void)\n857 COleLinksDialog::~COleLinksDialog(void)\n858 COleMessageFilter::~COleMessageFilter(void)\n859 COleObjectFactory::~COleObjectFactory(void)\n860 COlePasteSpecialDialog::~COlePasteSpecialDialog(void)\n861 COlePropertyPage::~COlePropertyPage(void)\n862 COleResizeBar::~COleResizeBar(void)\n863 COleSafeArray::~COleSafeArray(void)\n864 COleServerDoc::~COleServerDoc(void)\n865 COleServerItem::~COleServerItem(void)\n866 COleStreamFile::~COleStreamFile(void)\n867 COleUpdateDialog::~COleUpdateDialog(void)\n868 COleVariant::~COleVariant(void)\n869 CPaintDC::~CPaintDC(void)\n870 CPalette::~CPalette(void)\n871 CPen::~CPen(void)\n872 CPictureHolder::~CPictureHolder(void)\n873 CPreviewDC::~CPreviewDC(void)\n874 CPreviewView::~CPreviewView(void)\n875 CPrintInfo::~CPrintInfo(void)\n876 CProcessLocalObject::~CProcessLocalObject(void)\n877 CProgressCtrl::~CProgressCtrl(void)\n878 CPropbagPropExchange::~CPropbagPropExchange(void)\n879 CProperty::~CProperty(void)\n880 CPropertyPage::~CPropertyPage(void)\n881 CPropertySection::~CPropertySection(void)\n882 CPropertySet::~CPropertySet(void)\n883 CPropertySheet::~CPropertySheet(void)\n884 CPtrArray::~CPtrArray(void)\n885 CPtrList::~CPtrList(void)\n886 CReBarCtrl::~CReBarCtrl(void)\n887 CRecentFileList::~CRecentFileList(void)\n888 CRecordset::~CRecordset(void)\n889 CRecordView::~CRecordView(void)\n890 CRectTracker::~CRectTracker(void)\n891 CReObject::~CReObject(void)\n892 CResourceException::~CResourceException(void)\n893 CRgn::~CRgn(void)\n894 CRichEditCntrItem::~CRichEditCntrItem(void)\n895 CRichEditCtrl::~CRichEditCtrl(void)\n896 CScrollBar::~CScrollBar(void)\n897 CScrollView::~CScrollView(void)\n898 CSemaphore::~CSemaphore(void)\n899 CSharedFile::~CSharedFile(void)\n900 CSimpleException::~CSimpleException(void)\n901 CSingleDocTemplate::~CSingleDocTemplate(void)\n902 CSingleLock::~CSingleLock(void)\n903 CSliderCtrl::~CSliderCtrl(void)\n904 CSocket::~CSocket(void)\n905 CSocketFile::~CSocketFile(void)\n906 CSpinButtonCtrl::~CSpinButtonCtrl(void)\n907 CSplitterWnd::~CSplitterWnd(void)\n908 CStatic::~CStatic(void)\n909 CStatusBar::~CStatusBar(void)\n910 CStatusBarCtrl::~CStatusBarCtrl(void)\n911 CStdioFile::~CStdioFile(void)\n912 CStringArray::~CStringArray(void)\n913 CStringList::~CStringList(void)\n914 CSyncObject::~CSyncObject(void)\n915 CTabCtrl::~CTabCtrl(void)\n916 CThreadLocalObject::~CThreadLocalObject(void)\n917 CThreadSlotData::~CThreadSlotData(void)\n918 CToolBar::~CToolBar(void)\n919 CToolBarCtrl::~CToolBarCtrl(void)\n920 CToolTipCtrl::~CToolTipCtrl(void)\n921 CTreeCtrl::~CTreeCtrl(void)\n922 CUIntArray::~CUIntArray(void)\n923 CUserException::~CUserException(void)\n924 CView::~CView(void)\n925 CWaitCursor::~CWaitCursor(void)\n926 CWinApp::~CWinApp(void)\n927 CWindowDC::~CWindowDC(void)\n928 CWinThread::~CWinThread(void)\n929 CWnd::~CWnd(void)\n930 CWordArray::~CWordArray(void)\n931 void * operator new(unsigned int)\n932 void * operator new(unsigned int,int,char const *,int)\n933 void * operator new(unsigned int,char const *,int)\n934 void * CNoTrackObject::operator new(unsigned int)\n935 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n936 void * CObject::operator new(unsigned int)\n937 void * CObject::operator new(unsigned int,void *)\n938 void * CObject::operator new(unsigned int,char const *,int)\n939 void operator delete(void *)\n940 void operator delete(void *,int,char const *,int)\n941 void operator delete(void *,char const *,int)\n942 void CException::operator delete(void *)\n943 void CException::operator delete(void *,char const *,int)\n944 void CNoTrackObject::operator delete(void *)\n945 void CNoTrackObject::operator delete(void *,char const *,int)\n946 void CObject::operator delete(void *)\n947 void CObject::operator delete(void *,void *)\n948 void CObject::operator delete(void *,char const *,int)\n949 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n950 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n951 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n952 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n953 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n954 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n955 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n956 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n957 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n958 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n959 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n960 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n961 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n962 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n963 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n964 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n965 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n966 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n967 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n968 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n969 void CArchive::operator=(CArchive const &)\n970 void CDumpContext::operator=(CDumpContext const &)\n971 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n972 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n973 COleCurrency const & COleCurrency::operator=(union tagCY)\n974 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n975 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n976 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n977 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n978 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n979 COleVariant const & COleVariant::operator=(__int64)\n980 COleVariant const & COleVariant::operator=(unsigned __int64)\n981 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n982 COleVariant const & COleVariant::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n983 COleVariant const & COleVariant::operator=(COleVariant const &)\n984 COleVariant const & COleVariant::operator=(CByteArray const &)\n985 COleVariant const & COleVariant::operator=(CLongBinary const &)\n986 COleVariant const & COleVariant::operator=(COleCurrency const &)\n987 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n988 COleVariant const & COleVariant::operator=(unsigned char)\n989 COleVariant const & COleVariant::operator=(short)\n990 COleVariant const & COleVariant::operator=(long)\n991 COleVariant const & COleVariant::operator=(float)\n992 COleVariant const & COleVariant::operator=(double)\n993 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n994 COleVariant const & COleVariant::operator=(char const * const)\n995 CArchive & operator>>(CArchive &,CByteArray * &)\n996 CArchive & operator>>(CArchive &,CDocItem * &)\n997 CArchive & operator>>(CArchive &,CDockState * &)\n998 CArchive & operator>>(CArchive &,CDWordArray * &)\n999 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n1000 CArchive & operator>>(CArchive &,CMapStringToString * &)\n1001 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n1002 CArchive & operator>>(CArchive &,CObArray * &)\n1003 CArchive & operator>>(CArchive &,CObject * &)\n1004 CArchive & operator>>(CArchive &,CObList * &)\n1005 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n1006 CArchive & operator>>(CArchive &,CStringArray * &)\n1007 CArchive & operator>>(CArchive &,CStringList * &)\n1008 CArchive & operator>>(CArchive &,CWordArray * &)\n1009 CArchive & operator>>(CArchive &,CObject const * &)\n1010 CArchive & operator>>(CArchive &,tagPOINT &)\n1011 CArchive & operator>>(CArchive &,tagRECT &)\n1012 CArchive & operator>>(CArchive &,tagSIZE &)\n1013 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n1014 CArchive & operator>>(CArchive &,COleCurrency &)\n1015 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n1016 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n1017 CArchive & operator>>(CArchive &,COleVariant &)\n1018 CArchive & operator>>(CArchive &,ATL::CTime &)\n1019 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n1020 CArchive & CArchive::operator>>(__int64 &)\n1021 CArchive & CArchive::operator>>(unsigned __int64 &)\n1022 CArchive & CArchive::operator>>(bool &)\n1023 CArchive & CArchive::operator>>(wchar_t &)\n1024 CArchive & CArchive::operator>>(char &)\n1025 CArchive & CArchive::operator>>(unsigned char &)\n1026 CArchive & CArchive::operator>>(short &)\n1027 CArchive & CArchive::operator>>(unsigned short &)\n1028 CArchive & CArchive::operator>>(int &)\n1029 CArchive & CArchive::operator>>(unsigned int &)\n1030 CArchive & CArchive::operator>>(long &)\n1031 CArchive & CArchive::operator>>(unsigned long &)\n1032 CArchive & CArchive::operator>>(float &)\n1033 CArchive & CArchive::operator>>(double &)\n1034 CArchive & operator<<(CArchive &,tagRECT const &)\n1035 CArchive & operator<<(CArchive &,CObject const *)\n1036 CArchive & operator<<(CArchive &,tagPOINT)\n1037 CArchive & operator<<(CArchive &,tagSIZE)\n1038 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n1039 CArchive & operator<<(CArchive &,COleCurrency)\n1040 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1041 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1042 CArchive & operator<<(CArchive &,COleVariant)\n1043 CArchive & operator<<(CArchive &,ATL::CTime)\n1044 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1045 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1046 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1047 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1048 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1049 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1050 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1051 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1052 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1053 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1054 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1055 CArchive & CArchive::operator<<(__int64)\n1056 CArchive & CArchive::operator<<(unsigned __int64)\n1057 CArchive & CArchive::operator<<(bool)\n1058 CArchive & CArchive::operator<<(wchar_t)\n1059 CArchive & CArchive::operator<<(char)\n1060 CArchive & CArchive::operator<<(unsigned char)\n1061 CArchive & CArchive::operator<<(short)\n1062 CArchive & CArchive::operator<<(unsigned short)\n1063 CArchive & CArchive::operator<<(int)\n1064 CArchive & CArchive::operator<<(unsigned int)\n1065 CArchive & CArchive::operator<<(long)\n1066 CArchive & CArchive::operator<<(unsigned long)\n1067 CArchive & CArchive::operator<<(float)\n1068 CArchive & CArchive::operator<<(double)\n1069 CDumpContext & CDumpContext::operator<<(__int64)\n1070 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1071 CDumpContext & CDumpContext::operator<<(CObject const &)\n1072 CDumpContext & CDumpContext::operator<<(unsigned char)\n1073 CDumpContext & CDumpContext::operator<<(unsigned short)\n1074 CDumpContext & CDumpContext::operator<<(int)\n1075 CDumpContext & CDumpContext::operator<<(unsigned int)\n1076 CDumpContext & CDumpContext::operator<<(long)\n1077 CDumpContext & CDumpContext::operator<<(unsigned long)\n1078 CDumpContext & CDumpContext::operator<<(float)\n1079 CDumpContext & CDumpContext::operator<<(double)\n1080 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1081 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1082 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1083 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1084 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1085 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1086 CDumpContext & CDumpContext::operator<<(char const *)\n1087 CDumpContext & CDumpContext::operator<<(CObject const *)\n1088 CDumpContext & CDumpContext::operator<<(void const *)\n1089 int CGdiObject::operator==(CGdiObject const &)const \n1090 int CMenu::operator==(CMenu const &)const \n1091 int COleCurrency::operator==(COleCurrency const &)const \n1092 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1093 int COleSafeArray::operator==(tagVARIANT const &)const \n1094 int COleSafeArray::operator==(COleSafeArray const &)const \n1095 int COleSafeArray::operator==(COleVariant const &)const \n1096 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1097 int COleSafeArray::operator==(tagVARIANT const *)const \n1098 int COleVariant::operator==(tagVARIANT const &)const \n1099 int COleVariant::operator==(tagVARIANT const *)const \n1100 int CWnd::operator==(CWnd const &)const \n1101 int CGdiObject::operator!=(CGdiObject const &)const \n1102 int CMenu::operator!=(CMenu const &)const \n1103 int COleCurrency::operator!=(COleCurrency const &)const \n1104 int CWnd::operator!=(CWnd const &)const \n1105 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1106 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1107 unsigned char & CByteArray::operator[](int)\n1108 unsigned char CByteArray::operator[](int)const \n1109 unsigned long & CDWordArray::operator[](int)\n1110 unsigned long CDWordArray::operator[](int)const \n1111 void * & CMapPtrToPtr::operator[](void *)\n1112 unsigned short & CMapPtrToWord::operator[](void *)\n1113 CObject * & CMapStringToOb::operator[](char const *)\n1114 void * & CMapStringToPtr::operator[](char const *)\n1115 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CMapStringToString::operator[](char const *)\n1116 CObject * & CMapWordToOb::operator[](unsigned short)\n1117 void * & CMapWordToPtr::operator[](unsigned short)\n1118 CObject * & CObArray::operator[](int)\n1119 CObject * CObArray::operator[](int)const \n1120 void * & CPtrArray::operator[](int)\n1121 void * CPtrArray::operator[](int)const \n1122 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::operator[](int)\n1123 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::operator[](int)const \n1124 unsigned int & CUIntArray::operator[](int)\n1125 unsigned int CUIntArray::operator[](int)const \n1126 unsigned short & CWordArray::operator[](int)\n1127 unsigned short CWordArray::operator[](int)const \n1128 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n1129 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *(void)const \n1130 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &(void)\n1131 ATL::CSimpleStringT<char,1>::operator char const *(void)const \n1132 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n1133 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &(void)\n1134 CAsyncSocket::operator unsigned int(void)const \n1135 CBitmap::operator HBITMAP__ *(void)const \n1136 CBrush::operator HBRUSH__ *(void)const \n1137 CCriticalSection::operator _RTL_CRITICAL_SECTION *(void)\n1138 CDC::operator HDC__ *(void)const \n1139 CFile::operator void *(void)const \n1140 CFont::operator HFONT__ *(void)const \n1141 CGdiObject::operator void *(void)const \n1142 CGopherLocator::operator char const *(void)const \n1143 CImageList::operator _IMAGELIST *(void)const \n1144 CInternetConnection::operator void *(void)const \n1145 CInternetFile::operator void *(void)const \n1146 CInternetSession::operator void *(void)const \n1147 CMenu::operator HMENU__ *(void)const \n1148 COleCurrency::operator union tagCY(void)const \n1149 COleDispatchDriver::operator IDispatch *(void)\n1150 COleSafeArray::operator tagVARIANT *(void)\n1151 COleSafeArray::operator tagVARIANT const *(void)const \n1152 COleVariant::operator tagVARIANT *(void)\n1153 COleVariant::operator tagVARIANT const *(void)const \n1154 CPalette::operator HPALETTE__ *(void)const \n1155 CPen::operator HPEN__ *(void)const \n1156 CRgn::operator HRGN__ *(void)const \n1157 CSyncObject::operator void *(void)const \n1158 CWinThread::operator void *(void)const \n1159 CWnd::operator HWND__ *(void)const \n1160 COleCurrency COleCurrency::operator*(long)const \n1161 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1162 COleCurrency COleCurrency::operator-(void)const \n1163 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1164 COleCurrency COleCurrency::operator/(long)const \n1165 int COleCurrency::operator<(COleCurrency const &)const \n1166 int COleCurrency::operator<=(COleCurrency const &)const \n1167 int COleCurrency::operator>(COleCurrency const &)const \n1168 int COleCurrency::operator>=(COleCurrency const &)const \n1169 COleCurrency const & COleCurrency::operator*=(long)\n1170 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1171 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1172 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1173 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1174 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1175 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1176 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1177 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1178 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1179 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1180 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1181 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1182 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1183 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1184 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1185 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1186 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1187 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1188 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1189 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1190 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1191 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1192 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1193 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1194 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1195 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1196 int _AfxAbortProc(HDC__ *,int)\n1197 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1198 int const _afxDBCS\n1199 int _AfxDeleteRegKey(char const *)\n1200 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n1201 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1202 int _AfxSocketInit(WSAData *)\n1203 void CArchive::Abort(void)\n1204 void CFile::Abort(void)\n1205 void CInternetFile::Abort(void)\n1206 void CMemFile::Abort(void)\n1207 void CMirrorFile::Abort(void)\n1208 void COleStreamFile::Abort(void)\n1209 void CSocketFile::Abort(void)\n1210 void CStdioFile::Abort(void)\n1211 int CDC::AbortDoc(void)\n1212 int CDC::AbortPath(void)\n1213 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1214 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1215 long CWnd::accDoDefaultAction(tagVARIANT)\n1216 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1217 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1218 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1219 void COleSafeArray::AccessData(void * *)\n1220 long CWnd::accHitTest(long,long,tagVARIANT *)\n1221 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1222 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1223 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1224 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1225 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1226 long CWnd::accSelect(long,tagVARIANT)\n1227 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1228 void COleClientItem::Activate(long,CView *,tagMSG *)\n1229 void CToolTipCtrl::Activate(int)\n1230 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1231 void COleDocObjectItem::ActivateAndShow(void)\n1232 int COleClientItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1233 int CRichEditCntrItem::ActivateAs(char const *,_GUID const &,_GUID const &)\n1234 void CDocObjectServer::ActivateDocObject(void)\n1235 void COleServerDoc::ActivateDocObject(void)\n1236 void CFrameWnd::ActivateFrame(int)\n1237 void CMDIChildWnd::ActivateFrame(int)\n1238 int COleServerDoc::ActivateInPlace(void)\n1239 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1240 void CSplitterWnd::ActivateNext(int)\n1241 void CWnd::ActivateTopParent(void)\n1242 int CByteArray::Add(unsigned char)\n1243 int CDWordArray::Add(unsigned long)\n1244 int CImageList::Add(HICON__ *)\n1245 int CImageList::Add(CBitmap *,CBitmap *)\n1246 int CImageList::Add(CBitmap *,unsigned long)\n1247 int CObArray::Add(CObject *)\n1248 int CPtrArray::Add(void *)\n1249 void CRecentFileList::Add(char const *)\n1250 int CStringArray::Add(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1251 int CStringArray::Add(char const *)\n1252 int CUIntArray::Add(unsigned int)\n1253 int CWordArray::Add(unsigned short)\n1254 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,char const *,unsigned long)\n1255 int CReBar::AddBar(CWnd *,char const *,CBitmap *,unsigned long)\n1256 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1257 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1258 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1259 void COleClientItem::AddCachedData(COleDataSource *)\n1260 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1261 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1262 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1263 void CFrameWnd::AddControlBar(CControlBar *)\n1264 void CDocManager::AddDocTemplate(CDocTemplate *)\n1265 void CWinApp::AddDocTemplate(CDocTemplate *)\n1266 void CDocTemplate::AddDocument(CDocument *)\n1267 void CMultiDocTemplate::AddDocument(CDocument *)\n1268 void CSingleDocTemplate::AddDocument(CDocument *)\n1269 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1270 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,char *,char *,unsigned long)\n1271 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1272 void COleControl::AddFrameLevelUI(void)\n1273 void CFrameWnd::AddFrameWnd(void)\n1274 __POSITION * CObList::AddHead(CObject *)\n1275 void CObList::AddHead(CObList *)\n1276 __POSITION * CPtrList::AddHead(void *)\n1277 void CPtrList::AddHead(CPtrList *)\n1278 void CSimpleList::AddHead(void *)\n1279 __POSITION * CStringList::AddHead(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1280 __POSITION * CStringList::AddHead(char const *)\n1281 void CStringList::AddHead(CStringList *)\n1282 void COleDocument::AddItem(CDocItem *)\n1283 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1284 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1285 void CDaoRecordset::AddNew(void)\n1286 void CRecordset::AddNew(void)\n1287 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1288 void CPropertySheet::AddPage(CPropertyPage *)\n1289 void CPropertySection::AddProperty(CProperty *)\n1290 void CPropertySet::AddProperty(_GUID,CProperty *)\n1291 unsigned long CArchiveStream::AddRef(void)\n1292 unsigned long CBlobProperty::AddRef(void)\n1293 unsigned long CBrowserControlSite::AddRef(void)\n1294 unsigned long CDHtmlControlSink::AddRef(void)\n1295 unsigned long CDHtmlElementEventSink::AddRef(void)\n1296 unsigned long CDHtmlEventSink::AddRef(void)\n1297 unsigned long CInnerUnknown::AddRef(void)\n1298 unsigned long COleConnPtContainer::AddRef(void)\n1299 unsigned long COleDispatchImpl::AddRef(void)\n1300 unsigned long COleUILinkInfo::AddRef(void)\n1301 unsigned long CPrintDialogEx::AddRef(void)\n1302 unsigned long CWnd::XAccessible::AddRef(void)\n1303 unsigned long CWnd::XAccessibleServer::AddRef(void)\n1304 unsigned long COleClientItem::XAdviseSink::AddRef(void)\n1305 unsigned long COleControlSite::XAmbientProps::AddRef(void)\n1306 unsigned long COleControlSite::XBoundObjectSite::AddRef(void)\n1307 unsigned long COleObjectFactory::XClassFactory::AddRef(void)\n1308 unsigned long CConnectionPoint::XConnPt::AddRef(void)\n1309 unsigned long COleControl::XDataObject::AddRef(void)\n1310 unsigned long COleDataSource::XDataObject::AddRef(void)\n1311 unsigned long COleServerDoc::XDataObject::AddRef(void)\n1312 unsigned long COleServerItem::XDataObject::AddRef(void)\n1313 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef(void)\n1314 unsigned long COleDropSource::XDropSource::AddRef(void)\n1315 unsigned long COleDropTarget::XDropTarget::AddRef(void)\n1316 unsigned long CEnumArray::XEnumVOID::AddRef(void)\n1317 unsigned long COleControlSite::XEventSink::AddRef(void)\n1318 unsigned long CFileDialog::XFileDialogControlEvents::AddRef(void)\n1319 unsigned long CFileDialog::XFileDialogEvents::AddRef(void)\n1320 unsigned long COleControl::XFontNotification::AddRef(void)\n1321 unsigned long COleMessageFilter::XMessageFilter::AddRef(void)\n1322 unsigned long COleControlSite::XNotifyDBEvents::AddRef(void)\n1323 unsigned long COleControl::XOleCache::AddRef(void)\n1324 unsigned long COleClientItem::XOleClientSite::AddRef(void)\n1325 unsigned long COleControlSite::XOleClientSite::AddRef(void)\n1326 unsigned long CDocObjectServer::XOleCommandTarget::AddRef(void)\n1327 unsigned long COleFrameHook::XOleCommandTarget::AddRef(void)\n1328 unsigned long COleControlContainer::XOleContainer::AddRef(void)\n1329 unsigned long COleControl::XOleControl::AddRef(void)\n1330 unsigned long COleControlSite::XOleControlSite::AddRef(void)\n1331 unsigned long CDocObjectServer::XOleDocument::AddRef(void)\n1332 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef(void)\n1333 unsigned long CDocObjectServer::XOleDocumentView::AddRef(void)\n1334 unsigned long COleControl::XOleInPlaceActiveObject::AddRef(void)\n1335 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef(void)\n1336 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef(void)\n1337 unsigned long COleControl::XOleInPlaceObject::AddRef(void)\n1338 unsigned long COleServerDoc::XOleInPlaceObject::AddRef(void)\n1339 unsigned long COleControlContainer::XOleIPFrame::AddRef(void)\n1340 unsigned long COleClientItem::XOleIPSite::AddRef(void)\n1341 unsigned long COleControlSite::XOleIPSite::AddRef(void)\n1342 unsigned long COleLinkingDoc::XOleItemContainer::AddRef(void)\n1343 unsigned long CDocObjectServer::XOleObject::AddRef(void)\n1344 unsigned long COleControl::XOleObject::AddRef(void)\n1345 unsigned long COleServerDoc::XOleObject::AddRef(void)\n1346 unsigned long COleServerItem::XOleObject::AddRef(void)\n1347 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef(void)\n1348 unsigned long COleControl::XPerPropertyBrowsing::AddRef(void)\n1349 unsigned long COleLinkingDoc::XPersistFile::AddRef(void)\n1350 unsigned long COleControl::XPersistMemory::AddRef(void)\n1351 unsigned long COleControl::XPersistPropertyBag::AddRef(void)\n1352 unsigned long COleControl::XPersistStorage::AddRef(void)\n1353 unsigned long COleServerDoc::XPersistStorage::AddRef(void)\n1354 unsigned long COleControl::XPersistStreamInit::AddRef(void)\n1355 unsigned long COleControl::XPointerInactive::AddRef(void)\n1356 unsigned long CDocObjectServer::XPrint::AddRef(void)\n1357 unsigned long COleControlSite::XPropertyNotifySink::AddRef(void)\n1358 unsigned long COlePropertyPage::XPropertyPage::AddRef(void)\n1359 unsigned long COlePropertyPage::XPropNotifySink::AddRef(void)\n1360 unsigned long COleControl::XProvideClassInfo::AddRef(void)\n1361 unsigned long COleControl::XQuickActivate::AddRef(void)\n1362 unsigned long CRichEditView::XRichEditOleCallback::AddRef(void)\n1363 unsigned long COleControlSite::XRowsetNotify::AddRef(void)\n1364 unsigned long COleControl::XSpecifyPropertyPages::AddRef(void)\n1365 unsigned long COleControl::XViewObject::AddRef(void)\n1366 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1367 int CHttpFile::AddRequestHeaders(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1368 int CHttpFile::AddRequestHeaders(char const *,unsigned long,int)\n1369 CPropertySection * CPropertySet::AddSection(_GUID)\n1370 void CPropertySet::AddSection(CPropertySection *)\n1371 void COlePasteSpecialDialog::AddStandardFormats(int)\n1372 int CComboBox::AddString(char const *)\n1373 int CComboBoxEx::AddString(char const *)\n1374 int CListBox::AddString(char const *)\n1375 int CToolBarCtrl::AddString(unsigned int)\n1376 int CToolBarCtrl::AddStrings(char const *)\n1377 __POSITION * CObList::AddTail(CObject *)\n1378 void CObList::AddTail(CObList *)\n1379 __POSITION * CPtrList::AddTail(void *)\n1380 void CPtrList::AddTail(CPtrList *)\n1381 __POSITION * CStringList::AddTail(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1382 __POSITION * CStringList::AddTail(char const *)\n1383 void CStringList::AddTail(CStringList *)\n1384 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1385 int CToolTipCtrl::AddTool(CWnd *,char const *,tagRECT const *,unsigned int)\n1386 void CWinApp::AddToRecentFileList(char const *)\n1387 void CDocument::AddView(CView *)\n1388 void CMetaFileDC::AdjustCP(int)\n1389 void CRichEditView::AdjustDialogPosition(CDialog *)\n1390 void CRectTracker::AdjustRect(int,tagRECT *)\n1391 void CTabCtrl::AdjustRect(int,tagRECT *)\n1392 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1393 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1394 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1395 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1396 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1397 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1398 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1399 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1400 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1401 void AfxAbort(void)\n1402 int AfxActivateActCtx(void *,unsigned long *)\n1403 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n1404 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1405 int AfxAssertFailedLine(char const *,int)\n1406 void AfxAssertValidObject(CObject const *,char const *,int)\n1407 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1408 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1409 wchar_t * AfxBSTR2ABSTR(wchar_t *)\n1410 void AfxBSTR2CString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,wchar_t *)\n1411 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1412 void AfxCancelModes(HWND__ *)\n1413 void AfxCheckError(long)\n1414 int AfxCheckMemory(void)\n1415 void AfxClassInit(CRuntime*)\n1416 int AfxComparePath(char const *,char const *)\n1417 int AfxCompareValueByRef(void *,void *,int)\n1418 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1419 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1420 void AfxCopyValueByRef(void *,void *,long *,int)\n1421 void AfxCoreInitModule(void)\n1422 void * AfxCreateActCtxW(tagACTCTXW const *)\n1423 HDC__ * AfxCreateDC(void *,void *)\n1424 int AfxCriticalInit(void)\n1425 int AfxCriticalNewHandler(unsigned int)\n1426 void AfxCriticalTerm(void)\n1427 int AfxCustomLogFont(unsigned int,tagLOGFONTA *)\n1428 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1429 _DAODBEngine * AfxDaoGetEngine(void)\n1430 void AfxDaoInit(void)\n1431 void AfxDaoTerm(void)\n1432 void AfxDaoTrace(long,char const *,char const *,int)\n1433 AUX_DATA afxData\n1434 int AfxDeactivateActCtx(unsigned long,unsigned long)\n1435 void AfxDeleteObject(void * *)\n1436 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n1437 _devicemodeW * AfxDevModeA2W(_devicemodeW *,_devicemodeA *)\n1438 _devicemodeA * AfxDevModeW2A(_devicemodeA *,_devicemodeW *)\n1439 int AfxDiagnosticInit(void)\n1440 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1441 long AfxDllCanUnloadNow(void)\n1442 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1443 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1444 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1445 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1446 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1447 CDumpContext afxDump\n1448 void AfxDump(CObject const *)\n1449 int AfxDumpMemoryLeaks(void)\n1450 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1451 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1452 void AfxEnableControlContainer(COccManager *)\n1453 int AfxEnableMemoryLeakOverride(int)\n1454 int AfxEnableMemoryTracking(int)\n1455 int AfxEndDeferRegisterClass(long)\n1456 void AfxEndThread(unsigned int,int)\n1457 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1458 int AfxExtractSubString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,int,char)\n1459 void AfxFailMaxChars(CDataExchange *,int)\n1460 void AfxFailRadio(CDataExchange *)\n1461 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1462 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1463 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1464 HINSTANCE__ * AfxFindResourceHandle(char const *,char const *)\n1465 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1466 void AfxFormatString1(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *)\n1467 void AfxFormatString2(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const *,char const *)\n1468 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,char const * const *,int)\n1469 void AfxFormatStrings(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *,char const * const *,int)\n1470 int AfxFreeLibrary(HINSTANCE__ *)\n1471 void AfxFreeMemoryDebug(void *,int)\n1472 int AfxFullPath(char *,char const *)\n1473 long (__stdcall*AfxGetAfxWndProc(void))(HWND__ *,unsigned int,unsigned int,long)\n1474 int AfxGetAmbientActCtx(void)\n1475 CWinApp * AfxGetApp(void)\n1476 AFX_MODULE_STATE * AfxGetAppModuleState(void)\n1477 char const * AfxGetAppName(void)\n1478 long AfxGetClassIDFromString(char const *,_GUID *)\n1479 tagMSG * AfxGetCurrentMessage(void)\n1480 _AFX_DAO_STATE * AfxGetDaoState(void)\n1481 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1482 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1483 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n1484 unsigned long AfxGetDllVersion(void)\n1485 char const * AfxGetFacilityString(long)\n1486 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1487 unsigned int AfxGetFileName(char const *,char *,unsigned int)\n1488 unsigned int AfxGetFileTitle(char const *,char *,unsigned int)\n1489 char const * AfxGetFullScodeString(long)\n1490 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1491 void * AfxGetHENV(void)\n1492 char const * AfxGetIIDString(_GUID const &)\n1493 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1494 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1495 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1496 int AfxGetInProcServer(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1497 HINSTANCE__ * AfxGetInstanceHandle(void)\n1498 HINSTANCE__ * AfxGetInstanceHandleHelper(void)\n1499 unsigned long AfxGetInternetHandleType(void *)\n1500 CWnd * AfxGetMainWnd(void)\n1501 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1502 AFX_MODULE_STATE * AfxGetModuleState(void)\n1503 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState(void)\n1504 int (__cdecl*AfxGetNewHandler(void))(unsigned int)\n1505 HWND__ * AfxGetParentOwner(HWND__ *)\n1506 int AfxGetPropSheetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,int)\n1507 HINSTANCE__ * AfxGetResourceHandle(void)\n1508 _AFX_RICHEDIT_STATE * AfxGetRichEditState(void)\n1509 void AfxGetRoot(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1510 char const * AfxGetScodeRangeString(long)\n1511 char const * AfxGetScodeString(long)\n1512 char const * AfxGetSeverityString(long)\n1513 ATL::IAtlStringMgr * AfxGetStringManager(void)\n1514 CWinThread * AfxGetThread(void)\n1515 _AFX_THREAD_STATE * AfxGetThreadState(void)\n1516 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1517 void AfxGlobalFree(void *)\n1518 int AfxHelpEnabled(void)\n1519 void AfxHookWindowCreate(CWnd *)\n1520 HWND__ * AfxHtmlHelp(HWND__ *,char const *,unsigned int,unsigned long)\n1521 int AfxInitCurrentStateApp(void)\n1522 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1523 void AfxInitLocalData(HINSTANCE__ *)\n1524 int AfxInitNetworkAddressControl(void)\n1525 int AfxInitRichEdit(void)\n1526 int AfxInitRichEdit2(void)\n1527 void AfxInitThread(void)\n1528 int AfxInternalIsIdleMessage(tagMSG *)\n1529 int AfxInternalPreTranslateMessage(tagMSG *)\n1530 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1531 int AfxInternalPumpMessage(void)\n1532 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1533 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1534 int AfxIsDescendant(HWND__ *,HWND__ *)\n1535 int AfxIsIdleMessage(tagMSG *)\n1536 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1537 int AfxIsModuleDll(void)\n1538 int AfxIsValidAddress(void const *,unsigned int,int)\n1539 int AfxIsValidAtom(unsigned short)\n1540 int AfxIsValidAtom(char const *)\n1541 int AfxIsValidString(wchar_t const *,int)\n1542 int AfxIsValidString(char const *,int)\n1543 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1544 HINSTANCE__ * AfxLoadLangResourceDLL(char const *)\n1545 HINSTANCE__ * AfxLoadLangResourceDLL(char const *,char const *)\n1546 HINSTANCE__ * AfxLoadLibrary(char const *)\n1547 HINSTANCE__ * AfxLoadLibraryEx(char const *,void *,unsigned long)\n1548 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1549 int AfxLoadString(unsigned int,char *,unsigned int)\n1550 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1551 void AfxLockGlobals(int)\n1552 void AfxLockTempMaps(void)\n1553 CHandleMap * afxMapHDC(int)\n1554 CHandleMap * afxMapHGDIOBJ(int)\n1555 CHandleMap * afxMapHIMAGELIST(int)\n1556 CHandleMap * afxMapHMENU(int)\n1557 CHandleMap * afxMapHWND(int)\n1558 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1559 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1560 int AfxMessageBox(char const *,unsigned int,unsigned int)\n1561 int AfxNewHandler(unsigned int)\n1562 int AfxOleCanExitApp(void)\n1563 COleMessageFilter * AfxOleGetMessageFilter(void)\n1564 int AfxOleGetUserCtrl(void)\n1565 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1566 int AfxOleInit(void)\n1567 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1568 void AfxOleLockApp(void)\n1569 int AfxOleLockControl(_GUID const &)\n1570 int AfxOleLockControl(char const *)\n1571 void AfxOleOnReleaseAllObjects(void)\n1572 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,char const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1573 int AfxOleRegisterHelper(char const * const *,char const * const *,int,int,HKEY__ *)\n1574 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1575 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1576 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *)\n1577 int AfxOleRegisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *,int,char const *,char const *)\n1578 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,char const *,char const *)\n1579 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1580 void AfxOleSetUserCtrl(int)\n1581 void AfxOleTerm(int)\n1582 void AfxOleTermOrFreeLib(int,int)\n1583 void AfxOleUnlockAllControls(void)\n1584 void AfxOleUnlockApp(void)\n1585 int AfxOleUnlockControl(_GUID const &)\n1586 int AfxOleUnlockControl(char const *)\n1587 int AfxOleUnregisterClass(_GUID const &,char const *)\n1588 int AfxOleUnregisterHelper(char const * const *,char const * const *,int,HKEY__ *)\n1589 int AfxOleUnregisterServerClass(_GUID const &,char const *,char const *,char const *,enum OLE_APPTYPE,char const * *,char const * *)\n1590 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1591 int AfxParseURL(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n1592 int AfxParseURLEx(char const *,unsigned long &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1593 void AfxPostQuitMessage(int)\n1594 int AfxPreTranslateMessage(tagMSG *)\n1595 long AfxProcessWndProcException(CException *,tagMSG const *)\n1596 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEA *)\n1597 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1598 int AfxPumpMessage(void)\n1599 unsigned int AfxReadStringLength(CArchive &,int &)\n1600 int AfxRegisterClass(tagWNDCLASSA *)\n1601 int AfxRegisterSiteFactory(IControlSiteFactory *)\n1602 char const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1603 void AfxReleaseActCtx(void *)\n1604 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1605 void AfxResetMsgCache(void)\n1606 int AfxResolveShortcut(CWnd *,char const *,char *,int)\n1607 void AfxRFXBulkDefault(CFieldExchange *,char const *,void *,long *,int,unsigned long)\n1608 void AfxSafeArrayInit(COleSafeArray *)\n1609 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1610 void AfxSetAllocStop(long)\n1611 void AfxSetAmbientActCtx(int)\n1612 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n1613 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1614 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1615 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1616 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1617 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1618 void AfxSetResourceHandle(HINSTANCE__ *)\n1619 void AfxSetWindowText(HWND__ *,char const *)\n1620 void AfxSocketTerm(void)\n1621 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1622 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1623 void AfxStoreField(CRecordset &,unsigned int,void *)\n1624 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > AfxStringFromCLSID(_GUID const &)\n1625 wchar_t * AfxTaskStringA2W(char const *)\n1626 char * AfxTaskStringW2A(wchar_t const *)\n1627 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1628 void AfxTermLocalData(HINSTANCE__ *,int)\n1629 void AfxTermThread(HINSTANCE__ *)\n1630 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1631 tagTEXTMETRICW * AfxTextMetricA2W(tagTEXTMETRICW *,tagTEXTMETRICA *)\n1632 tagTEXTMETRICA * AfxTextMetricW2A(tagTEXTMETRICA *,tagTEXTMETRICW *)\n1633 void AfxThrowArchiveException(int,char const *)\n1634 void AfxThrowDaoException(int,long)\n1635 void AfxThrowDBException(short,CDatabase *,void *)\n1636 void AfxThrowFileException(int,long,char const *)\n1637 void AfxThrowInternetException(unsigned long,unsigned long)\n1638 void AfxThrowInvalidArgException(void)\n1639 void AfxThrowLastCleanup(void)\n1640 void AfxThrowMemoryException(void)\n1641 void AfxThrowNotSupportedException(void)\n1642 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1643 void AfxThrowOleDispatchException(unsigned short,char const *,unsigned int)\n1644 void AfxThrowOleException(long)\n1645 void AfxThrowResourceException(void)\n1646 void AfxThrowUserException(void)\n1647 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1648 void AfxTlsAddRef(void)\n1649 void AfxTlsRelease(void)\n1650 void AfxTrace(char const *,...)\n1651 int afxTraceEnabled\n1652 unsigned int afxTraceFlags\n1653 void AfxTrackerTerm(void)\n1654 void AfxTryCleanup(void)\n1655 int AfxUnhookWindowCreate(void)\n1656 void AfxUnlockGlobals(int)\n1657 int AfxUnlockTempMaps(int)\n1658 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1659 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n1660 void AfxUnregisterWndClasses(void)\n1661 void AfxVariantInit(tagVARIANT *)\n1662 int AfxVerifyLicFile(HINSTANCE__ *,char const *,wchar_t const *,unsigned int)\n1663 char * AfxW2AHelper(char *,wchar_t const *,int)\n1664 void AfxWingdixTerm(void)\n1665 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1666 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,char *,int)\n1667 void AfxWinTerm(void)\n1668 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1669 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1670 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1671 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1672 void * CFixedAlloc::Alloc(void)\n1673 void * CFixedAllocNoSync::Alloc(void)\n1674 unsigned char * CMemFile::Alloc(unsigned long)\n1675 unsigned char * CSharedFile::Alloc(unsigned long)\n1676 void CRecordset::AllocAndCacheFieldInfo(void)\n1677 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1678 void CDaoRecordset::AllocCache(void)\n1679 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1680 void CDatabase::AllocConnect(unsigned long)\n1681 void COleSafeArray::AllocData(void)\n1682 void CDaoRecordset::AllocDatabase(void)\n1683 void CRecordset::AllocDataCache(void)\n1684 void COleSafeArray::AllocDescriptor(unsigned long)\n1685 int CControlBar::AllocElements(int,int)\n1686 int CStatusBar::AllocElements(int,int)\n1687 int CRecordset::AllocHstmt(void)\n1688 void AllocLongBinary(CLongBinary &,unsigned long)\n1689 void CPropertyPage::AllocPSP(unsigned long)\n1690 void CRecordset::AllocRowset(void)\n1691 int CThreadSlotData::AllocSlot(void)\n1692 void CRecordset::AllocStatusArrays(void)\n1693 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString(void)const \n1694 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString(void)const \n1695 void * CProperty::AllocValue(unsigned long)\n1696 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1697 short COleControl::AmbientAppearance(void)\n1698 unsigned long COleControl::AmbientBackColor(void)\n1699 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientDisplayName(void)\n1700 IFontDisp * COleControl::AmbientFont(void)\n1701 unsigned long COleControl::AmbientForeColor(void)\n1702 unsigned long COleControl::AmbientLocaleID(void)\n1703 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleControl::AmbientScaleUnits(void)\n1704 int COleControl::AmbientShowGrabHandles(void)\n1705 int COleControl::AmbientShowHatching(void)\n1706 short COleControl::AmbientTextAlign(void)\n1707 int COleControl::AmbientUIDead(void)\n1708 int COleControl::AmbientUserMode(void)\n1709 int CDC::AngleArc(int,int,int,float,float)\n1710 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1711 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1712 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1713 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1714 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1715 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1716 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1717 int CByteArray::Append(CByteArray const &)\n1718 void CDaoQueryDef::Append(void)\n1719 void CDaoTableDef::Append(void)\n1720 void CDaoWorkspace::Append(void)\n1721 int CDWordArray::Append(CDWordArray const &)\n1722 int CObArray::Append(CObArray const &)\n1723 int CPtrArray::Append(CPtrArray const &)\n1724 int CStringArray::Append(CStringArray const &)\n1725 int CUIntArray::Append(CUIntArray const &)\n1726 int CWordArray::Append(CWordArray const &)\n1727 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1728 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1729 void CRecordset::AppendFilterAndSortSQL(void)\n1730 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1731 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1732 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1733 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1734 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1735 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1736 int CMenu::AppendMenuA(unsigned int,unsigned int,char const *)\n1737 int CMenu::AppendMenuA(unsigned int,unsigned int,CBitmap const *)\n1738 unsigned int CRecordset::AppendNames(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1739 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1740 void CDaoFieldExchange::AppendParamType(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long)\n1741 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n1742 long COlePropertyPage::XPropertyPage::Apply(void)\n1743 void CFileDialog::ApplyOFNToShellDialog(void)\n1744 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1745 int COleDocument::ApplyPrintDevice(tagPDA const *)\n1746 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1747 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1748 int CDC::Arc(int,int,int,int,int,int,int,int)\n1749 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1750 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1751 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1752 int CListCtrl::Arrange(unsigned int)\n1753 unsigned int CWnd::ArrangeIconicWindows(void)\n1754 void CAsyncMonikerFile::AssertValid(void)const \n1755 void CAsyncSocket::AssertValid(void)const \n1756 void CBitmapButton::AssertValid(void)const \n1757 void CByteArray::AssertValid(void)const \n1758 void CCachedDataPathProperty::AssertValid(void)const \n1759 void CClientDC::AssertValid(void)const \n1760 void CCmdTarget::AssertValid(void)const \n1761 void CControlBar::AssertValid(void)const \n1762 void CCtrlView::AssertValid(void)const \n1763 void CDaoDatabase::AssertValid(void)const \n1764 void CDaoQueryDef::AssertValid(void)const \n1765 void CDaoRecordset::AssertValid(void)const \n1766 void CDaoRecordView::AssertValid(void)const \n1767 void CDaoTableDef::AssertValid(void)const \n1768 void CDaoWorkspace::AssertValid(void)const \n1769 void CDatabase::AssertValid(void)const \n1770 void CDataPathProperty::AssertValid(void)const \n1771 void CDC::AssertValid(void)const \n1772 void CDialog::AssertValid(void)const \n1773 void CDocItem::AssertValid(void)const \n1774 void CDockBar::AssertValid(void)const \n1775 void CDocManager::AssertValid(void)const \n1776 void CDocObjectServer::AssertValid(void)const \n1777 void CDocObjectServerItem::AssertValid(void)const \n1778 void CDocTemplate::AssertValid(void)const \n1779 void CDocument::AssertValid(void)const \n1780 void CDWordArray::AssertValid(void)const \n1781 void CDynLinkLibrary::AssertValid(void)const \n1782 void CEditView::AssertValid(void)const \n1783 void CFile::AssertValid(void)const \n1784 void CFileFind::AssertValid(void)const \n1785 void CFormView::AssertValid(void)const \n1786 void CFrameWnd::AssertValid(void)const \n1787 void CFtpConnection::AssertValid(void)const \n1788 void CFtpFileFind::AssertValid(void)const \n1789 void CGdiObject::AssertValid(void)const \n1790 void CGopherConnection::AssertValid(void)const \n1791 void CGopherFile::AssertValid(void)const \n1792 void CGopherFileFind::AssertValid(void)const \n1793 void CHtmlEditDoc::AssertValid(void)const \n1794 void CHtmlEditView::AssertValid(void)const \n1795 void CHtmlView::AssertValid(void)const \n1796 void CHttpConnection::AssertValid(void)const \n1797 void CHttpFile::AssertValid(void)const \n1798 void CImageList::AssertValid(void)const \n1799 void CInternetConnection::AssertValid(void)const \n1800 void CInternetFile::AssertValid(void)const \n1801 void CLongBinary::AssertValid(void)const \n1802 void CMapPtrToPtr::AssertValid(void)const \n1803 void CMapPtrToWord::AssertValid(void)const \n1804 void CMapStringToOb::AssertValid(void)const \n1805 void CMapStringToPtr::AssertValid(void)const \n1806 void CMapStringToString::AssertValid(void)const \n1807 void CMapWordToOb::AssertValid(void)const \n1808 void CMapWordToPtr::AssertValid(void)const \n1809 void CMDIChildWnd::AssertValid(void)const \n1810 void CMDIFrameWnd::AssertValid(void)const \n1811 void CMemFile::AssertValid(void)const \n1812 void CMenu::AssertValid(void)const \n1813 void CMonikerFile::AssertValid(void)const \n1814 void CMultiDocTemplate::AssertValid(void)const \n1815 void CObArray::AssertValid(void)const \n1816 void CObject::AssertValid(void)const \n1817 void CObList::AssertValid(void)const \n1818 void COleChangeSourceDialog::AssertValid(void)const \n1819 void COleClientItem::AssertValid(void)const \n1820 void COleCntrFrameWnd::AssertValid(void)const \n1821 void COleControl::AssertValid(void)const \n1822 void COleDataSource::AssertValid(void)const \n1823 void COleDocIPFrameWnd::AssertValid(void)const \n1824 void COleDocument::AssertValid(void)const \n1825 void COleDropTarget::AssertValid(void)const \n1826 void COleIPFrameWnd::AssertValid(void)const \n1827 void COleLinkingDoc::AssertValid(void)const \n1828 void COleLinksDialog::AssertValid(void)const \n1829 void COleMessageFilter::AssertValid(void)const \n1830 void COleObjectFactory::AssertValid(void)const \n1831 void COlePasteSpecialDialog::AssertValid(void)const \n1832 void COlePropertiesDialog::AssertValid(void)const \n1833 void COleServerDoc::AssertValid(void)const \n1834 void COleServerItem::AssertValid(void)const \n1835 void COleStreamFile::AssertValid(void)const \n1836 void CPaintDC::AssertValid(void)const \n1837 void CPreviewDC::AssertValid(void)const \n1838 void CPreviewView::AssertValid(void)const \n1839 void CPropertyPage::AssertValid(void)const \n1840 void CPropertySheet::AssertValid(void)const \n1841 void CPtrArray::AssertValid(void)const \n1842 void CPtrList::AssertValid(void)const \n1843 void CRecordset::AssertValid(void)const \n1844 void CRecordView::AssertValid(void)const \n1845 void CRichEditCntrItem::AssertValid(void)const \n1846 void CRichEditDoc::AssertValid(void)const \n1847 void CRichEditView::AssertValid(void)const \n1848 void CScrollView::AssertValid(void)const \n1849 void CSingleDocTemplate::AssertValid(void)const \n1850 void CSocket::AssertValid(void)const \n1851 void CSocketFile::AssertValid(void)const \n1852 void CSplitterWnd::AssertValid(void)const \n1853 void CStatusBar::AssertValid(void)const \n1854 void CStringArray::AssertValid(void)const \n1855 void CStringList::AssertValid(void)const \n1856 void CSyncObject::AssertValid(void)const \n1857 void CToolBar::AssertValid(void)const \n1858 void CUIntArray::AssertValid(void)const \n1859 void CView::AssertValid(void)const \n1860 void CWinApp::AssertValid(void)const \n1861 void CWindowDC::AssertValid(void)const \n1862 void CWinThread::AssertValid(void)const \n1863 void CWnd::AssertValid(void)const \n1864 void CWordArray::AssertValid(void)const \n1865 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1866 int CAsyncSocket::AsyncSelect(long)\n1867 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1868 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1869 int CAsyncSocket::Attach(unsigned int,long)\n1870 int CDC::Attach(HDC__ *)\n1871 int CGdiObject::Attach(void *)\n1872 int CImageList::Attach(_IMAGELIST *)\n1873 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1874 int CMenu::Attach(HMENU__ *)\n1875 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1876 int CMonikerFile::Attach(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1877 void COleDataObject::Attach(IDataObject *,int)\n1878 void COleSafeArray::Attach(tagVARIANT &)\n1879 void COleStreamFile::Attach(IStream *)\n1880 void COleVariant::Attach(tagVARIANT &)\n1881 int CSocket::Attach(unsigned int)\n1882 int CWnd::Attach(HWND__ *)\n1883 int COleDataObject::AttachClipboard(void)\n1884 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1885 void CWnd::AttachControlSite(CHandleMap *)\n1886 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1887 void COleClientItem::AttachDataObject(COleDataObject &)const \n1888 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1889 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1890 CPrintDialog * CPrintDialog::AttachOnSetup(void)\n1891 void COleControlSite::AttachWindow(void)\n1892 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1893 void CToolBarCtrl::AutoSize(void)\n1894 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1895 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1896 void COleMessageFilter::BeginBusyState(void)\n1897 void COleLinkingDoc::BeginDeferErrors(void)\n1898 int CDragListBox::BeginDrag(CPoint)\n1899 int CImageList::BeginDrag(int,CPoint)\n1900 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1901 void COleDataObject::BeginEnumFormats(void)\n1902 void CFrameWnd::BeginModalState(void)\n1903 void CWnd::BeginModalState(void)\n1904 CDC * CWnd::BeginPaint(tagPAINT*)\n1905 int CDC::BeginPath(void)\n1906 void CDaoWorkspace::BeginTrans(void)\n1907 int CDatabase::BeginTrans(void)\n1908 void CCmdTarget::BeginWaitCursor(void)\n1909 int CAsyncSocket::Bind(unsigned int,char const *)\n1910 int CAsyncSocket::Bind(sockaddr const *,int)\n1911 void CDataSourceControl::BindColumns(void)\n1912 void COccManager::BindControls(CWnd *)\n1913 void COleControlSite::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1914 void CWnd::BindDefaultProperty(long,unsigned short,char const *,CWnd *)\n1915 void CDaoRecordset::BindFields(void)\n1916 void CRecordset::BindFieldsForUpdate(void)\n1917 unsigned int CRecordset::BindFieldsToColumns(void)\n1918 void CDaoRecordset::BindParameters(void)\n1919 void CDatabase::BindParameters(void *)\n1920 unsigned int CRecordset::BindParams(void *)\n1921 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1922 void CDataSourceControl::BindProp(COleControlSite *,int)\n1923 void COleControlSite::BindProperty(long,CWnd *)\n1924 void CWnd::BindProperty(long,CWnd *)\n1925 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1926 void COleControl::BoundPropertyChanged(long)\n1927 int COleControl::BoundPropertyRequestEdit(long)\n1928 void CFrameWnd::BringToTop(int)\n1929 void CWnd::BringWindowToTop(void)\n1930 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1931 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1932 void CDaoRecordset::BuildParameterList(void)\n1933 void CPropertySheet::BuildPropPageArray(void)\n1934 void CDaoRecordset::BuildSelectList(void)\n1935 void CRecordset::BuildSelectSQL(void)\n1936 int COleControl::BuildSharedMenu(void)\n1937 int COleDocIPFrameWnd::BuildSharedMenu(void)\n1938 int COleIPFrameWnd::BuildSharedMenu(void)\n1939 void CDaoRecordset::BuildSQL(void)\n1940 void CRecordset::BuildSQL(char const *)\n1941 void CRecordset::BuildUpdateSQL(void)\n1942 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1943 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1944 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1945 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1946 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1947 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1948 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1949 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1950 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1951 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1952 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1953 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1954 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1955 CSize CControlBar::CalcFixedLayout(int,int)\n1956 CSize CDialogBar::CalcFixedLayout(int,int)\n1957 CSize CDockBar::CalcFixedLayout(int,int)\n1958 CSize CReBar::CalcFixedLayout(int,int)\n1959 CSize CStatusBar::CalcFixedLayout(int,int)\n1960 CSize CToolBar::CalcFixedLayout(int,int)\n1961 void CControlBar::CalcInsideRect(CRect &,int)const \n1962 void CStatusBar::CalcInsideRect(CRect &,int)const \n1963 CSize CToolBar::CalcLayout(unsigned long,int)\n1964 int CCheckListBox::CalcMinimumItemHeight(void)\n1965 CSize CPreviewView::CalcPageDisplaySize(void)\n1966 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1967 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1968 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1969 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1970 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1971 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1972 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1973 int CDHtmlDialog::CanAccessExternal(void)\n1974 int COleClientItem::CanActivate(void)\n1975 int CRichEditCntrItem::CanActivate(void)\n1976 int CSplitterWnd::CanActivateNext(int)\n1977 int CDaoRecordset::CanAppend(void)const \n1978 int CRecordset::CanAppend(void)const \n1979 int CDaoRecordset::CanBookmark(void)\n1980 int CRecordset::CanBookmark(void)const \n1981 void CDatabase::Cancel(void)\n1982 void CRecordset::Cancel(void)\n1983 void CSocket::CancelBlockingCall(void)\n1984 void CDragListBox::CancelDrag(CPoint)\n1985 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1986 long COleUILinkInfo::CancelLink(unsigned long)\n1987 void CDockContext::CancelLoop(void)\n1988 void CPropertyPage::CancelToClose(void)\n1989 void CWnd::CancelToolTips(int)\n1990 void CDaoRecordset::CancelUpdate(void)\n1991 void CRecordset::CancelUpdate(void)\n1992 int CDocument::CanCloseFrame(CFrameWnd *)\n1993 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1994 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1995 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1996 unsigned long CDockContext::CanDock(void)\n1997 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1998 int CFrameWnd::CanEnterHelpMode(void)\n1999 long COleClientItem::XOleIPSite::CanInPlaceActivate(void)\n2000 long COleControlSite::XOleIPSite::CanInPlaceActivate(void)\n2001 int COleClientItem::CanPaste(void)\n2002 int CRichEditCtrl::CanPaste(unsigned int)const \n2003 int CRichEditView::CanPaste(void)const \n2004 int COleClientItem::CanPasteLink(void)\n2005 int CRichEditCtrl::CanRedo(void)const \n2006 int CDaoRecordset::CanRestart(void)\n2007 int CRecordset::CanRestart(void)const \n2008 int CDaoRecordset::CanScroll(void)const \n2009 int CRecordset::CanScroll(void)const \n2010 int CDaoDatabase::CanTransact(void)\n2011 int CDaoRecordset::CanTransact(void)\n2012 int CDatabase::CanTransact(void)const \n2013 int CRecordset::CanTransact(void)const \n2014 int CEdit::CanUndo(void)const \n2015 int CRichEditCtrl::CanUndo(void)const \n2016 int CDaoDatabase::CanUpdate(void)\n2017 int CDaoQueryDef::CanUpdate(void)\n2018 int CDaoRecordset::CanUpdate(void)const \n2019 int CDaoTableDef::CanUpdate(void)\n2020 int CDatabase::CanUpdate(void)const \n2021 int CRecordset::CanUpdate(void)const \n2022 long COleControlSite::XOleIPSite::CanWindowlessActivate(void)\n2023 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n2024 void CScrollView::CenterOnPoint(CPoint)\n2025 void CWnd::CenterWindow(CWnd *)\n2026 int CToolBarCtrl::ChangeBitmap(int,int)\n2027 int CWnd::ChangeClipboardChain(HWND__ *)\n2028 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n2029 int CEdit::CharFromPos(CPoint)const \n2030 int CRichEditCtrl::CharFromPos(CPoint)const \n2031 int CListBox::CharToItem(unsigned int,unsigned int)\n2032 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA(void)\n2033 int CDatabase::Check(short)const \n2034 int CRecordset::Check(short)const \n2035 int CDialog::CheckAutoCenter(void)\n2036 int CWnd::CheckAutoCenter(void)\n2037 int CToolBarCtrl::CheckButton(int,int)\n2038 void CArchive::CheckCount(void)\n2039 void COleControlContainer::CheckDlgButton(int,unsigned int)\n2040 void CWnd::CheckDlgButton(int,unsigned int)\n2041 int CCheckListBox::CheckFromPoint(CPoint,int &)\n2042 void COleClientItem::CheckGeneral(long)\n2043 int CDatabase::CheckHstmt(short,void *)const \n2044 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n2045 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n2046 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n2047 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n2048 void CMemoryState::Checkpoint(void)\n2049 void COleControlContainer::CheckRadioButton(int,int,int)\n2050 void CWnd::CheckRadioButton(int,int,int)\n2051 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n2052 void CRecordset::CheckRowsetError(short)\n2053 void CScrollView::CheckScrollBars(int &,int &)const \n2054 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n2055 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n2056 int CDC::Chord(int,int,int,int,int,int,int,int)\n2057 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n2058 CRuntimeconst CDaoDatabase::classCDaoDatabase\n2059 CRuntimeconst CDaoException::classCDaoException\n2060 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n2061 CRuntimeconst CDaoRecordset::classCDaoRecordset\n2062 CRuntimeconst CDaoRecordView::classCDaoRecordView\n2063 CRuntimeconst CDaoTableDef::classCDaoTableDef\n2064 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n2065 CRuntimeconst CDatabase::classCDatabase\n2066 CRuntimeconst CDBException::classCDBException\n2067 CRuntimeconst CLongBinary::classCLongBinary\n2068 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n2069 CRuntimeconst CRecordset::classCRecordset\n2070 CRuntimeconst CRecordView::classCRecordView\n2071 void CPropertyPage::Cleanup(void)\n2072 void COlePropertyPage::CleanupObjectArray(void)\n2073 void CComboBox::Clear(void)\n2074 void CDBVariant::Clear(void)\n2075 void CDockState::Clear(void)\n2076 void CEdit::Clear(void)\n2077 void COleSafeArray::Clear(void)\n2078 void COleVariant::Clear(void)\n2079 void CRichEditCtrl::Clear(void)\n2080 void CIPAddressCtrl::ClearAddress(void)\n2081 int CHeaderCtrl::ClearAllFilters(void)\n2082 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n2083 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n2084 void CRecordset::ClearFieldStatus(void)\n2085 void CDaoRecordset::ClearFieldStatusFlags(void)\n2086 int CHeaderCtrl::ClearFilter(int)\n2087 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n2088 void CRecordset::ClearNullFieldStatus(unsigned long)\n2089 void CRecordset::ClearNullParamStatus(unsigned long)\n2090 void CSliderCtrl::ClearSel(int)\n2091 void CSliderCtrl::ClearTics(int)\n2092 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n2093 void CWnd::ClientToScreen(tagPOINT *)const \n2094 void CWnd::ClientToScreen(tagRECT *)const \n2095 int COleControl::ClipCaretRect(tagRECT *)\n2096 void CPreviewDC::ClipToPage(void)\n2097 ATL::IAtlStringMgr * CAfxStringMgr::Clone(void)\n2098 long CArchiveStream::Clone(IStream * *)\n2099 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n2100 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n2101 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n2102 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n2103 int CAnimateCtrl::Close(void)\n2104 void CArchive::Close(void)\n2105 void CAsyncMonikerFile::Close(void)\n2106 void CAsyncSocket::Close(void)\n2107 void CCachedDataPathProperty::Close(void)\n2108 void CDaoDatabase::Close(void)\n2109 void CDaoQueryDef::Close(void)\n2110 void CDaoRecordset::Close(void)\n2111 void CDaoTableDef::Close(void)\n2112 void CDaoWorkspace::Close(void)\n2113 void CDatabase::Close(void)\n2114 void CFile::Close(void)\n2115 void CFileFind::Close(void)\n2116 void CInternetConnection::Close(void)\n2117 void CInternetFile::Close(void)\n2118 void CInternetSession::Close(void)\n2119 void CMemFile::Close(void)\n2120 HMETAFILE__ * CMetaFileDC::Close(void)\n2121 void CMirrorFile::Close(void)\n2122 void CMonikerFile::Close(void)\n2123 void COleClientItem::Close(enum tagOLECLOSE)\n2124 void COleStreamFile::Close(void)\n2125 void CRecordset::Close(void)\n2126 void CSocket::Close(void)\n2127 void CSocketFile::Close(void)\n2128 void CStdioFile::Close(void)\n2129 long CDocObjectServer::XOleObject::Close(unsigned long)\n2130 long COleControl::XOleObject::Close(unsigned long)\n2131 long COleServerDoc::XOleObject::Close(unsigned long)\n2132 long COleServerItem::XOleObject::Close(unsigned long)\n2133 void CDocManager::CloseAllDocuments(int)\n2134 void CDocTemplate::CloseAllDocuments(int)\n2135 void CWinApp::CloseAllDocuments(int)\n2136 void CFileFind::CloseContext(void)\n2137 void CFtpFileFind::CloseContext(void)\n2138 void CGopherFileFind::CloseContext(void)\n2139 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced(void)\n2140 int CDC::CloseFigure(void)\n2141 long CThemeHelper::CloseThemeData(void *)\n2142 long CThemeHelper::CloseThemeDataFail(void *)\n2143 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2144 void CWnd::CloseWindow(void)\n2145 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2146 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2147 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2148 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2149 int CRgn::CombineRgn(CRgn const *,CRgn const *,int)\n2150 CInternetFile * CFtpConnection::Command(char const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2151 int CStatusBar::CommandToIndex(unsigned int)const \n2152 int CToolBar::CommandToIndex(unsigned int)const \n2153 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2154 long CArchiveStream::Commit(unsigned long)\n2155 void COleClientItem::CommitItem(int)\n2156 void COleDocument::CommitItems(int,IStorage *)\n2157 void CDaoWorkspace::CommitTrans(void)\n2158 int CDatabase::CommitTrans(void)\n2159 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,char const *)\n2160 void CPropertyPage::CommonConstruct(char const *,unsigned int)\n2161 void CPropertyPage::CommonConstruct(char const *,unsigned int,unsigned int,unsigned int)\n2162 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2163 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2164 void CWinThread::CommonConstruct(void)\n2165 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int)\n2166 void CDaoWorkspace::CompactDatabase(char const *,char const *,char const *,int,char const *)\n2167 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2168 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2169 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2170 int CListBox::CompareItem(tagCOMPAREITEM*)\n2171 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2172 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2173 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n2174 CSize CPreviewDC::ComputeDeltas(int &,char const *,unsigned int &,int,unsigned int,int *,int,char *,int *,int &)\n2175 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2176 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2177 int CAsyncSocket::Connect(char const *,unsigned int)\n2178 int CAsyncSocket::Connect(sockaddr const *,int)\n2179 int CDatabase::Connect(unsigned long)\n2180 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2181 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2182 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2183 int CSocket::ConnectHelper(sockaddr const *,int)\n2184 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2185 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2186 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2187 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2188 void COleServerDoc::ConnectView(CWnd *,CView *)\n2189 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2190 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2191 void CPropertyPage::Construct(unsigned int,unsigned int)\n2192 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2193 void CPropertyPage::Construct(char const *,unsigned int)\n2194 void CPropertyPage::Construct(char const *,unsigned int,unsigned int,unsigned int)\n2195 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2196 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2197 void CPropertySheet::Construct(char const *,CWnd *,unsigned int)\n2198 void CPropertySheet::Construct(char const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2199 void CRectTracker::Construct(void)\n2200 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2201 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2202 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2203 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2204 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2205 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2206 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2207 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2208 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2209 int CPropertySheet::ContinueModal(void)\n2210 int CWnd::ContinueModal(void)\n2211 void CCmdUI::ContinueRouting(void)\n2212 void COleControl::ControlInfoChanged(void)\n2213 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2214 int COleClientItem::ConvertTo(_GUID const &)\n2215 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2216 void CByteArray::Copy(CByteArray const &)\n2217 void CComboBox::Copy(void)\n2218 void CDWordArray::Copy(CDWordArray const &)\n2219 void CEdit::Copy(void)\n2220 int CImageList::Copy(int,int,unsigned int)\n2221 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2222 void CObArray::Copy(CObArray const &)\n2223 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2224 void CPtrArray::Copy(CPtrArray const &)\n2225 void CRichEditCtrl::Copy(void)\n2226 void CStringArray::Copy(CStringArray const &)\n2227 void CUIntArray::Copy(CUIntArray const &)\n2228 void CWordArray::Copy(CWordArray const &)\n2229 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2230 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2231 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2232 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2233 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2234 int CRgn::CopyRgn(CRgn const *)\n2235 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2236 void COleClientItem::CopyToClipboard(int)\n2237 void COleServerItem::CopyToClipboard(int)\n2238 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n2239 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2240 int CAsyncSocket::Create(unsigned int,int,long,char const *)\n2241 int CButton::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2242 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2243 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2244 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2245 int CControlFrameWnd::Create(char const *)\n2246 void CDaoDatabase::Create(char const *,char const *,int)\n2247 void CDaoQueryDef::Create(char const *,char const *)\n2248 void CDaoTableDef::Create(char const *,long,char const *,char const *)\n2249 void CDaoWorkspace::Create(char const *,char const *,char const *)\n2250 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2251 int CDialog::Create(unsigned int,CWnd *)\n2252 int CDialog::Create(char const *,CWnd *)\n2253 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2254 int CDialogBar::Create(CWnd *,char const *,unsigned int,unsigned int)\n2255 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2256 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2257 int CFindReplaceDialog::Create(int,char const *,char const *,unsigned long,CWnd *)\n2258 int CFormView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2259 int CFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,char const *,unsigned long,CCreateContext *)\n2260 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2261 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2262 int CHtmlEditCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2263 int CHtmlEditView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2264 int CHtmlView::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2265 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2266 int CImageList::Create(int,int,unsigned int,int,int)\n2267 int CImageList::Create(unsigned int,int,int,unsigned long)\n2268 int CImageList::Create(CImageList *)\n2269 int CImageList::Create(char const *,int,int,unsigned long)\n2270 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2271 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2272 int CLinkCtrl::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2273 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2274 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2275 int CMDIChildWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2276 int CMetaFileDC::Create(char const *)\n2277 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2278 int CMiniFrameWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2279 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2280 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2281 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2282 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2283 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2284 int CPagerCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2285 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2286 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2287 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2288 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2289 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2290 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2291 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2292 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2293 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2294 int CSocket::Create(unsigned int,int,char const *)\n2295 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2296 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2297 int CStatic::Create(char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2298 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2299 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2300 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2301 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2302 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2303 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2304 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2305 int CWnd::Create(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2306 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2307 void AFX_MODULE_STATE::CreateActivationContext(void)\n2308 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2309 IBindHost * CMonikerFile::CreateBindHost(void)\n2310 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2311 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2312 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2313 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2314 void CWnd::CreateCaret(CBitmap *)\n2315 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTA *,CMenu *)\n2316 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2317 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2318 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2319 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2320 int CDC::CreateCompatibleDC(CDC *)\n2321 void CConnectionPoint::CreateConnectionArray(void)\n2322 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2323 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2324 int COleControlContainer::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2325 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n2326 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n2327 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2328 long COleControlSite::CreateControl(CWnd *,_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2329 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2330 int CWnd::CreateControl(_GUID const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2331 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n2332 int CWnd::CreateControl(char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2333 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2334 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,char const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2335 int CWnd::CreateControlContainer(COleControlContainer * *)\n2336 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2337 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2338 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2339 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2340 int CDC::CreateDCA(char const *,char const *,char const *,void const *)\n2341 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2342 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2343 int CFtpConnection::CreateDirectory(char const *)\n2344 int CFtpConnection::CreateDirectoryA(char const *)\n2345 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2346 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2347 int COleDispatchDriver::CreateDispatch(char const *,COleException *)\n2348 int CWnd::CreateDlg(char const *,CWnd *)\n2349 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2350 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2351 int COccManager::CreateDlgControls(CWnd *,char const *,_AFX_OCC_DIALOG_INFO *)\n2352 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2353 CImageList * CHeaderCtrl::CreateDragImage(int)\n2354 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2355 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2356 int CRgn::CreateEllipticRgn(int,int,int,int)\n2357 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2358 int CPictureHolder::CreateEmpty(void)\n2359 int CMetaFileDC::CreateEnhanced(CDC *,char const *,tagRECT const *,char const *)\n2360 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2361 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2362 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2363 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2364 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2365 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2366 int CLinkCtrl::CreateEx(char const *,unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2367 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2368 int CMiniFrameWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2369 int CPagerCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2370 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2371 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2372 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2373 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2374 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2375 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2376 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2377 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2378 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2379 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2380 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2381 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2382 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2383 int CWnd::CreateEx(unsigned long,char const *,char const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2384 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n2385 void CDaoTableDef::CreateField(char const *,short,long,long)\n2386 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2387 int CFont::CreateFontA(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,char const *)\n2388 int CFont::CreateFontIndirectA(tagLOGFONTA const *)\n2389 CControlFrameWnd * COleControl::CreateFrameWindow(void)\n2390 int CPictureHolder::CreateFromBitmap(unsigned int)\n2391 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2392 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2393 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2394 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2395 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2396 int COleClientItem::CreateFromFile(char const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2397 int CPictureHolder::CreateFromIcon(unsigned int)\n2398 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2399 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2400 int CRgn::CreateFromPath(CDC *)\n2401 void CWnd::CreateGrayCaret(int,int)\n2402 int CPalette::CreateHalftonePalette(CDC *)\n2403 int CBrush::CreateHatchBrush(int,unsigned long)\n2404 int CDC::CreateICA(char const *,char const *,char const *,void const *)\n2405 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n2406 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2407 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2408 int CDialog::CreateIndirect(void *,CWnd *)\n2409 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2410 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2411 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2412 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2413 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2414 int COleInsertDialog::CreateItem(COleClientItem *)\n2415 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2416 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2417 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2418 int COleClientItem::CreateLinkFromFile(char const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2419 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,unsigned long)\n2420 CGopherLocator CGopherConnection::CreateLocator(char const *)\n2421 CGopherLocator CGopherConnection::CreateLocator(char const *,char const *,char const *,unsigned long,unsigned short)\n2422 int COleStreamFile::CreateMemoryStream(CFileException *)\n2423 int CMenu::CreateMenu(void)\n2424 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2425 CDocument * CDocTemplate::CreateNewDocument(void)\n2426 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2427 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2428 CObject * CByteArray::CreateObject(void)\n2429 CObject * CDC::CreateObject(void)\n2430 CObject * CDocItem::CreateObject(void)\n2431 CObject * CDockState::CreateObject(void)\n2432 CObject * CDWordArray::CreateObject(void)\n2433 CObject * CEditView::CreateObject(void)\n2434 CObject * CFrameWnd::CreateObject(void)\n2435 CObject * CGdiObject::CreateObject(void)\n2436 CObject * CHtmlEditView::CreateObject(void)\n2437 CObject * CHtmlView::CreateObject(void)\n2438 CObject * CImageList::CreateObject(void)\n2439 CObject * CListView::CreateObject(void)\n2440 CObject * CMapStringToOb::CreateObject(void)\n2441 CObject * CMapStringToString::CreateObject(void)\n2442 CObject * CMapWordToOb::CreateObject(void)\n2443 CObject * CMDIChildWnd::CreateObject(void)\n2444 CObject * CMDIFrameWnd::CreateObject(void)\n2445 CObject * CMenu::CreateObject(void)\n2446 CObject * CMiniDockFrameWnd::CreateObject(void)\n2447 CObject * CMiniFrameWnd::CreateObject(void)\n2448 CObject * CObArray::CreateObject(void)\n2449 CObject * CObList::CreateObject(void)\n2450 CObject * COleDocIPFrameWnd::CreateObject(void)\n2451 CObject * COleIPFrameWnd::CreateObject(void)\n2452 CObject * CPreviewView::CreateObject(void)\n2453 CObject * CRichEditCntrItem::CreateObject(void)\n2454 CObject * CRichEditView::CreateObject(void)\n2455 CObject * CRuntimeClass::CreateObject(void)\n2456 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2457 CObject * CRuntimeClass::CreateObject(char const *)\n2458 CObject * CStringArray::CreateObject(void)\n2459 CObject * CStringList::CreateObject(void)\n2460 CObject * CTreeView::CreateObject(void)\n2461 CObject * CWnd::CreateObject(void)\n2462 CObject * CWordArray::CreateObject(void)\n2463 void COleControlContainer::CreateOleFont(CFont *)\n2464 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2465 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2466 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2467 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n2468 int CPalette::CreatePalette(tagLOGPALETTE *)\n2469 int CBrush::CreatePatternBrush(CBitmap *)\n2470 int CPen::CreatePen(int,int,unsigned long)\n2471 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2472 int CPen::CreatePenIndirect(tagLOGPEN *)\n2473 int CFont::CreatePointFont(int,char const *,CDC *)\n2474 int CFont::CreatePointFontIndirect(tagLOGFONTA const *,CDC *)\n2475 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2476 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2477 int CMenu::CreatePopupMenu(void)\n2478 HDC__ * CPageSetupDialog::CreatePrinterDC(void)\n2479 HDC__ * CPrintDialog::CreatePrinterDC(void)\n2480 HDC__ * CPrintDialogEx::CreatePrinterDC(void)\n2481 int CWinApp::CreatePrinterDC(CDC &)\n2482 int CRgn::CreateRectRgn(int,int,int,int)\n2483 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2484 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n2485 void CDaoDatabase::CreateRelation(char const *,char const *,char const *,long,char const *,char const *)\n2486 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2487 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2488 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n2489 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2490 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n2491 int CBrush::CreateSolidBrush(unsigned long)\n2492 void CWnd::CreateSolidCaret(int,int)\n2493 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2494 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2495 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2496 int CGdiObject::CreateStockObject(int)\n2497 int COleStreamFile::CreateStream(IStorage *,char const *,unsigned long,CFileException *)\n2498 int CBrush::CreateSysColorBrush(int)\n2499 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2500 void COleControl::CreateTracker(int,int)\n2501 void COleControl::CreateTracker(int,int,tagRECT const *)\n2502 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2503 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2504 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2505 void COleControl::CreateWindowForSubclassedControl(void)\n2506 void CToolBarCtrl::Customize(void)\n2507 void CComboBox::Cut(void)\n2508 void CEdit::Cut(void)\n2509 void CRichEditCtrl::Cut(void)\n2510 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2511 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2512 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2513 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2514 void DDP_CBIndex(CDataExchange *,int,int &,char const *)\n2515 void DDP_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2516 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2517 void DDP_Check(CDataExchange *,int,int &,char const *)\n2518 void DDP_EndCheck(CDataExchange *,int,int *,char const *)\n2519 void DDP_EndRadio(CDataExchange *,int,int *,char const *)\n2520 void DDP_EndText(CDataExchange *,int,unsigned char *,char const *)\n2521 void DDP_EndText(CDataExchange *,int,short *,char const *)\n2522 void DDP_EndText(CDataExchange *,int,int *,char const *)\n2523 void DDP_EndText(CDataExchange *,int,unsigned int *,char const *)\n2524 void DDP_EndText(CDataExchange *,int,long *,char const *)\n2525 void DDP_EndText(CDataExchange *,int,unsigned long *,char const *)\n2526 void DDP_EndText(CDataExchange *,int,float *,char const *)\n2527 void DDP_EndText(CDataExchange *,int,double *,char const *)\n2528 void DDP_EndText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *,char const *)\n2529 void DDP_LBIndex(CDataExchange *,int,int &,char const *)\n2530 void DDP_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2531 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2532 void DDP_PostProcessing(CDataExchange *)\n2533 void DDP_Radio(CDataExchange *,int,int &,char const *)\n2534 void DDP_Text(CDataExchange *,int,unsigned char &,char const *)\n2535 void DDP_Text(CDataExchange *,int,short &,char const *)\n2536 void DDP_Text(CDataExchange *,int,int &,char const *)\n2537 void DDP_Text(CDataExchange *,int,unsigned int &,char const *)\n2538 void DDP_Text(CDataExchange *,int,long &,char const *)\n2539 void DDP_Text(CDataExchange *,int,unsigned long &,char const *)\n2540 void DDP_Text(CDataExchange *,int,float &,char const *)\n2541 void DDP_Text(CDataExchange *,int,double &,char const *)\n2542 void DDP_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n2543 void DDV_MaxChars(CDataExchange *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n2544 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2545 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2546 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2547 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2548 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2549 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2550 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2551 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2552 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2553 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2554 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2555 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2556 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2557 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2558 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2559 void DDX_CBIndex(CDataExchange *,int,int &)\n2560 void DDX_CBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2561 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2562 void DDX_Check(CDataExchange *,int,int &)\n2563 void DDX_Control(CDataExchange *,int,CWnd &)\n2564 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2565 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2566 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2567 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2568 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2569 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2570 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,char const *,tagVARIANT &,int)\n2571 void CDHtmlDialog::DDX_DHtml_AxControl(char const *,long,tagVARIANT &,int)\n2572 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,char const *,tagVARIANT &)\n2573 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,char const *,long,tagVARIANT &)\n2574 void CDHtmlDialog::DDX_DHtml_CheckBox(char const *,int &,int)\n2575 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,char const *,int &)\n2576 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,short &,int)\n2577 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,int &,int)\n2578 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,long &,int)\n2579 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,unsigned long &,int)\n2580 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,float &,int)\n2581 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,double &,int)\n2582 void CDHtmlDialog::DDX_DHtml_ElementText(char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2583 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,short &)\n2584 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,int &)\n2585 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,long &)\n2586 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,unsigned long &)\n2587 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,float &)\n2588 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,double &)\n2589 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,char const *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2590 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(char const *,long,void *,double,int,int)\n2591 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(char const *,long,char const *,unsigned int,int,...)\n2592 void CDHtmlDialog::DDX_DHtml_Radio(char const *,long &,int)\n2593 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,char const *,long &)\n2594 void CDHtmlDialog::DDX_DHtml_SelectIndex(char const *,long &,int)\n2595 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,char const *,long &)\n2596 void CDHtmlDialog::DDX_DHtml_SelectString(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2597 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2598 void CDHtmlDialog::DDX_DHtml_SelectValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int)\n2599 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2600 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2601 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2602 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2603 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2604 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2605 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2606 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n2607 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2608 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2609 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2610 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2611 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2612 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2613 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2614 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n2615 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2616 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n2617 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2618 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n2619 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n2620 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2621 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n2622 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n2623 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2624 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2625 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2626 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2627 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2628 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2629 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2630 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2631 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2632 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2633 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CDaoRecordset *)\n2634 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CRecordset *)\n2635 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2636 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n2637 void DDX_FieldText(CDataExchange *,int,char *,int,CDaoRecordset *)\n2638 void DDX_FieldText(CDataExchange *,int,char *,int,CRecordset *)\n2639 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2640 void DDX_LBIndex(CDataExchange *,int,int &)\n2641 void DDX_LBString(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2642 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2643 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2644 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2645 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2646 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2647 void DDX_OCBool(CDataExchange *,int,long,int &)\n2648 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2649 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2650 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2651 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2652 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2653 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2654 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2655 void DDX_OCInt(CDataExchange *,int,long,int &)\n2656 void DDX_OCInt(CDataExchange *,int,long,long &)\n2657 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2658 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2659 void DDX_OCShort(CDataExchange *,int,long,short &)\n2660 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2661 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2662 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2663 void DDX_Radio(CDataExchange *,int,int &)\n2664 void DDX_Scroll(CDataExchange *,int,int &)\n2665 void DDX_Slider(CDataExchange *,int,int &)\n2666 void DDX_Text(CDataExchange *,int,__int64 &)\n2667 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2668 void DDX_Text(CDataExchange *,int,unsigned char &)\n2669 void DDX_Text(CDataExchange *,int,short &)\n2670 void DDX_Text(CDataExchange *,int,int &)\n2671 void DDX_Text(CDataExchange *,int,unsigned int &)\n2672 void DDX_Text(CDataExchange *,int,long &)\n2673 void DDX_Text(CDataExchange *,int,unsigned long &)\n2674 void DDX_Text(CDataExchange *,int,float &)\n2675 void DDX_Text(CDataExchange *,int,double &)\n2676 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2677 void DDX_Text(CDataExchange *,int,_GUID &)\n2678 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2679 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2680 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2681 void DDX_Text(CDataExchange *,int,tagDEC &)\n2682 void DDX_Text(CDataExchange *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n2683 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2684 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2685 void DDX_Text(CDataExchange *,int,char *,int)\n2686 void COleClientItem::Deactivate(void)\n2687 long COlePropertyPage::XPropertyPage::Deactivate(void)\n2688 int COleServerDoc::DeactivateAndUndo(void)\n2689 long COleClientItem::XOleIPSite::DeactivateAndUndo(void)\n2690 long COleControlSite::XOleIPSite::DeactivateAndUndo(void)\n2691 void COleClientItem::DeactivateUI(void)\n2692 void CDaoFieldExchange::Default(char const *,void *,unsigned long,unsigned long)\n2693 void CFieldExchange::Default(char const *,void *,long *,int,unsigned long,unsigned long)\n2694 long CWnd::Default(void)\n2695 long CMDIChildWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2696 long CMDIFrameWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2697 long COleControl::DefWindowProcA(unsigned int,unsigned int,long)\n2698 long CPrintDialogEx::DefWindowProcA(unsigned int,unsigned int,long)\n2699 long CWnd::DefWindowProcA(unsigned int,unsigned int,long)\n2700 void CFrameWnd::DelayRecalcLayout(int)\n2701 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2702 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2703 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2704 void CControlBar::DelayShow(int)\n2705 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2706 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2707 void CFrameWnd::DelayUpdateFrameTitle(void)\n2708 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2709 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2710 void CDaoRecordset::Delete(void)\n2711 void CException::Delete(void)\n2712 void COleClientItem::Delete(int)\n2713 void CRecordset::Delete(void)\n2714 void CWinThread::Delete(void)\n2715 int CListCtrl::DeleteAllItems(void)\n2716 int CTabCtrl::DeleteAllItems(void)\n2717 int CTreeCtrl::DeleteAllItems(void)\n2718 int CReBarCtrl::DeleteBand(unsigned int)\n2719 int CToolBarCtrl::DeleteButton(int)\n2720 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2721 int CListCtrl::DeleteColumn(int)\n2722 void CSplitterWnd::DeleteColumn(int)\n2723 void CDocument::DeleteContents(void)\n2724 void CEditView::DeleteContents(void)\n2725 void CHtmlEditDoc::DeleteContents(void)\n2726 void COleDocument::DeleteContents(void)\n2727 void COleServerDoc::DeleteContents(void)\n2728 void CRichEditDoc::DeleteContents(void)\n2729 void CRichEditView::DeleteContents(void)\n2730 int CDC::DeleteDC(void)\n2731 void CDaoTableDef::DeleteField(int)\n2732 void CDaoTableDef::DeleteField(char const *)\n2733 int CImageList::DeleteImageList(void)\n2734 void CDaoTableDef::DeleteIndex(int)\n2735 void CDaoTableDef::DeleteIndex(char const *)\n2736 void CComboBox::DeleteItem(tagDELETEITEM*)\n2737 int CComboBoxEx::DeleteItem(int)\n2738 int CHeaderCtrl::DeleteItem(int)\n2739 void CListBox::DeleteItem(tagDELETEITEM*)\n2740 int CListCtrl::DeleteItem(int)\n2741 int CTabCtrl::DeleteItem(int)\n2742 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2743 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2744 int CGdiObject::DeleteObject(void)\n2745 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2746 void CDaoDatabase::DeleteQueryDef(char const *)\n2747 void CDaoDatabase::DeleteRelation(char const *)\n2748 void CSplitterWnd::DeleteRow(int)\n2749 int CComboBox::DeleteString(unsigned int)\n2750 int CListBox::DeleteString(unsigned int)\n2751 void CDaoDatabase::DeleteTableDef(char const *)\n2752 void CHandleMap::DeleteTemp(void)\n2753 void CDC::DeleteTempMap(void)\n2754 void CGdiObject::DeleteTempMap(void)\n2755 void CImageList::DeleteTempMap(void)\n2756 void CMenu::DeleteTempMap(void)\n2757 void CWnd::DeleteTempMap(void)\n2758 void CRichEditDoc::DeleteUnmarkedItems(void)const \n2759 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2760 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2761 void CSplitterWnd::DeleteView(int,int)\n2762 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n2763 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2764 void CTabCtrl::DeselectAll(int)\n2765 void COleSafeArray::Destroy(void)\n2766 int COleControlSite::DestroyControl(void)\n2767 void COleSafeArray::DestroyData(void)\n2768 void COleSafeArray::DestroyDescriptor(void)\n2769 void CFrameWnd::DestroyDockBars(void)\n2770 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2771 int CMenu::DestroyMenu(void)\n2772 void CDHtmlDialog::DestroyModeless(void)\n2773 void COleControl::DestroySharedMenu(void)\n2774 void COleDocIPFrameWnd::DestroySharedMenu(void)\n2775 void COleIPFrameWnd::DestroySharedMenu(void)\n2776 int CToolTipCtrl::DestroyToolTipCtrl(void)\n2777 void COleControl::DestroyTracker(void)\n2778 int CControlBar::DestroyWindow(void)\n2779 int CMDIChildWnd::DestroyWindow(void)\n2780 int CWnd::DestroyWindow(void)\n2781 unsigned int CAsyncSocket::Detach(void)\n2782 HDC__ * CDC::Detach(void)\n2783 void * CDialogTemplate::Detach(void)\n2784 void * CGdiObject::Detach(void)\n2785 _IMAGELIST * CImageList::Detach(void)\n2786 unsigned char * CMemFile::Detach(void)\n2787 HMENU__ * CMenu::Detach(void)\n2788 int CMonikerFile::Detach(CFileException *)\n2789 IDataObject * COleDataObject::Detach(void)\n2790 tagVARIANT COleSafeArray::Detach(void)\n2791 IStream * COleStreamFile::Detach(void)\n2792 tagVARIANT COleVariant::Detach(void)\n2793 void * CSharedFile::Detach(void)\n2794 HDC__ * CWindowlessDC::Detach(void)\n2795 HWND__ * CWnd::Detach(void)\n2796 IDispatch * COleDispatchDriver::DetachDispatch(void)\n2797 void CAsyncSocket::DetachHandle(unsigned int,int)\n2798 void COleControlSite::DetachWindow(void)\n2799 void CWinApp::DevModeChange(char *)\n2800 void DFX_Binary(CDaoFieldExchange *,char const *,CByteArray &,int,unsigned long)\n2801 void DFX_Bool(CDaoFieldExchange *,char const *,int &,unsigned long)\n2802 void DFX_Byte(CDaoFieldExchange *,char const *,unsigned char &,unsigned long)\n2803 void DFX_Currency(CDaoFieldExchange *,char const *,COleCurrency &,unsigned long)\n2804 void DFX_DateTime(CDaoFieldExchange *,char const *,ATL::COleDateTime &,unsigned long)\n2805 void DFX_Double(CDaoFieldExchange *,char const *,double &,unsigned long)\n2806 void DFX_Long(CDaoFieldExchange *,char const *,long &,unsigned long)\n2807 void DFX_LongBinary(CDaoFieldExchange *,char const *,CLongBinary &,unsigned long,unsigned long)\n2808 void DFX_Short(CDaoFieldExchange *,char const *,short &,unsigned long)\n2809 void DFX_Single(CDaoFieldExchange *,char const *,float &,unsigned long)\n2810 void DFX_Text(CDaoFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,unsigned long)\n2811 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2812 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2813 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2814 int CComboBox::Dir(unsigned int,char const *)\n2815 int CComboBoxEx::Dir(unsigned int,char const *)\n2816 int CListBox::Dir(unsigned int,char const *)\n2817 int COleServerDoc::DiscardUndoState(void)\n2818 long COleClientItem::XOleIPSite::DiscardUndoState(void)\n2819 long COleControlSite::XOleIPSite::DiscardUndoState(void)\n2820 void COleDispatchImpl::Disconnect(void)\n2821 void CDHtmlDialog::DisconnectDHtmlElementEvents(void)\n2822 void CDHtmlDialog::DisconnectDHtmlEvents(void)\n2823 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2824 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2825 void CDocument::DisconnectViews(void)\n2826 void CWinThread::DispatchThreadMessage(tagMSG *)\n2827 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2828 int CRichEditCtrl::DisplayBand(tagRECT *)\n2829 void COleControl::DisplayError(long,char const *,char const *,char const *,unsigned int)\n2830 int CWnd::DlgDirListA(char *,int,int,unsigned int)\n2831 int CWnd::DlgDirListComboBoxA(char *,int,int,unsigned int)\n2832 int CWnd::DlgDirSelect(char *,int)\n2833 int CWnd::DlgDirSelect(char *,int,int)\n2834 int CWnd::DlgDirSelectComboBox(char *,int)\n2835 int CWnd::DlgDirSelectComboBox(char *,int,int)\n2836 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2837 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2838 void CAsyncSocket::DoCallBack(unsigned int,long)\n2839 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2840 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2841 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2842 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2843 void COleControl::DoClick(void)\n2844 int COleFrameHook::DoContextSensitiveHelp(int)\n2845 int COleConvertDialog::DoConvert(COleClientItem *)\n2846 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2847 void CWnd::DoDataExchange(CDataExchange *)\n2848 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2849 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2850 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2851 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2852 int COleFrameHook::DoEnableModeless(int)\n2853 void CWinApp::DoEnableModeless(int)\n2854 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2855 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2856 void CRecordset::DoFieldExchange(CFieldExchange *)\n2857 int CDocument::DoFileSave(void)\n2858 int CSplitterWnd::DoKeyboardSplit(void)\n2859 int CWinApp::DoMessageBox(char const *,unsigned int,unsigned int)\n2860 int CColorDialog::DoModal(void)\n2861 int CDialog::DoModal(void)\n2862 int CFileDialog::DoModal(void)\n2863 int CFontDialog::DoModal(void)\n2864 int COleBusyDialog::DoModal(void)\n2865 int COleChangeIconDialog::DoModal(void)\n2866 int COleChangeSourceDialog::DoModal(void)\n2867 int COleConvertDialog::DoModal(void)\n2868 int COleInsertDialog::DoModal(unsigned long)\n2869 int COleInsertDialog::DoModal(void)\n2870 int COleLinksDialog::DoModal(void)\n2871 int COlePasteSpecialDialog::DoModal(void)\n2872 int COlePropertiesDialog::DoModal(void)\n2873 int COleUpdateDialog::DoModal(void)\n2874 int CPageSetupDialog::DoModal(void)\n2875 int CPrintDialog::DoModal(void)\n2876 int CPrintDialogEx::DoModal(void)\n2877 int CPropertySheet::DoModal(void)\n2878 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2879 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2880 void CControlBar::DoPaint(CDC *)\n2881 void CDockBar::DoPaint(CDC *)\n2882 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2883 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2884 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2885 int CView::DoPreparePrinting(CPrintInfo *)\n2886 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2887 int CWinApp::DoPrintDialog(CPrintDialog *)\n2888 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2889 int CDocManager::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2890 int CWinApp::DoPromptFileName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2891 void COleControl::DoPropExchange(CPropExchange *)\n2892 int CDocument::DoSave(char const *,int)\n2893 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2894 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2895 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2896 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2897 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2898 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2899 long COleControlSite::DoVerb(long,tagMSG *)\n2900 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2901 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2902 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2903 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2904 void CWinApp::DoWaitCursor(int)\n2905 void CPreviewView::DoZoom(unsigned int,CPoint)\n2906 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2907 void CDC::DPtoLP(tagPOINT *,int)const \n2908 void CDC::DPtoLP(tagRECT *)const \n2909 void CDC::DPtoLP(tagSIZE *)const \n2910 void CWnd::DragAcceptFiles(int)\n2911 int CWnd::DragDetect(tagPOINT)const \n2912 int CImageList::DragEnter(CWnd *,CPoint)\n2913 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2914 unsigned int CDragListBox::Dragging(CPoint)\n2915 int CImageList::DragLeave(CWnd *)\n2916 long COleDropTarget::XDropTarget::DragLeave(void)\n2917 int CImageList::DragMove(CPoint)\n2918 void CReBarCtrl::DragMove(unsigned long)\n2919 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2920 int CImageList::DragShowNolock(int)\n2921 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2922 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2923 void CRectTracker::Draw(CDC *)const \n2924 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2925 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2926 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2927 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2928 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2929 void CControlBar::DrawBorders(CDC *,CRect &)\n2930 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2931 void COleControl::DrawContent(CDC *,CRect &)\n2932 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2933 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2934 int CDC::DrawEscape(int,int,char const *)\n2935 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2936 void CDC::DrawFocusRect(tagRECT const *)\n2937 void CDockContext::DrawFocusRect(int)\n2938 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2939 void CControlBar::DrawGripper(CDC *,CRect const &)\n2940 int CDC::DrawIcon(int,int,HICON__ *)\n2941 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2942 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2943 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2944 void CDragListBox::DrawInsert(int)\n2945 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2946 void CButton::DrawItem(tagDRAWITEM*)\n2947 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2948 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2949 void CComboBox::DrawItem(tagDRAWITEM*)\n2950 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2951 void CListBox::DrawItem(tagDRAWITEM*)\n2952 void CListCtrl::DrawItem(tagDRAWITEM*)\n2953 void CListView::DrawItem(tagDRAWITEM*)\n2954 void CMenu::DrawItem(tagDRAWITEM*)\n2955 void CStatic::DrawItem(tagDRAWITEM*)\n2956 void CStatusBar::DrawItem(tagDRAWITEM*)\n2957 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2958 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2959 void CWnd::DrawMenuBar(void)\n2960 void COleControl::DrawMetafile(CDC *,CRect &)\n2961 void CControlBar::DrawNCGripper(CDC *,CRect const &)\n2962 int CControlBar::DrawNonThemedGripper(CDC *,CRect const &)\n2963 void CDragListBox::DrawSingle(int)\n2964 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2965 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2966 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2967 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2968 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2969 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2970 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,HBRUSH__ *)\n2971 int CDC::DrawState(CPoint,CSize,char const *,unsigned int,int,int,CBrush *)\n2972 int CDC::DrawText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2973 int CDC::DrawText(char const *,int,tagRECT *,unsigned int)\n2974 int CMetaFileDC::DrawText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2975 int CMetaFileDC::DrawText(char const *,int,tagRECT *,unsigned int)\n2976 int CDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2977 int CDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2978 int CMetaFileDC::DrawTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int)\n2979 int CMetaFileDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2980 int CPreviewDC::DrawTextA(char const *,int,tagRECT *,unsigned int)\n2981 int CDC::DrawTextEx(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2982 int CDC::DrawTextEx(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2983 int CMetaFileDC::DrawTextEx(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2984 int CMetaFileDC::DrawTextEx(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2985 int CDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2986 int CDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2987 int CMetaFileDC::DrawTextExA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2988 int CMetaFileDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2989 int CPreviewDC::DrawTextExA(char *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2990 long CThemeHelper::DrawThemeBackground(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2991 long CThemeHelper::DrawThemeBackgroundFail(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2992 int CControlBar::DrawThemedGripper(CDC *,CRect const &,int)\n2993 long CThemeHelper::DrawThemeParentBackground(HWND__ *,HDC__ *,tagRECT *)\n2994 long CThemeHelper::DrawThemeParentBackgroundFail(HWND__ *,HDC__ *,tagRECT *)\n2995 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2996 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2997 void CDragListBox::Dropped(int,CPoint)\n2998 void CArchiveException::Dump(CDumpContext &)const \n2999 void CAsyncMonikerFile::Dump(CDumpContext &)const \n3000 void CAsyncSocket::Dump(CDumpContext &)const \n3001 void CBitmap::Dump(CDumpContext &)const \n3002 void CBitmapButton::Dump(CDumpContext &)const \n3003 void CBrush::Dump(CDumpContext &)const \n3004 void CByteArray::Dump(CDumpContext &)const \n3005 void CCachedDataPathProperty::Dump(CDumpContext &)const \n3006 void CClientDC::Dump(CDumpContext &)const \n3007 void CCmdTarget::Dump(CDumpContext &)const \n3008 void CColorDialog::Dump(CDumpContext &)const \n3009 void CControlBar::Dump(CDumpContext &)const \n3010 void CCtrlView::Dump(CDumpContext &)const \n3011 void CDaoDatabase::Dump(CDumpContext &)const \n3012 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n3013 void CDaoErrorInfo::Dump(CDumpContext &)const \n3014 void CDaoFieldInfo::Dump(CDumpContext &)const \n3015 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n3016 void CDaoIndexInfo::Dump(CDumpContext &)const \n3017 void CDaoParameterInfo::Dump(CDumpContext &)const \n3018 void CDaoQueryDef::Dump(CDumpContext &)const \n3019 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n3020 void CDaoRecordset::Dump(CDumpContext &)const \n3021 void CDaoRecordView::Dump(CDumpContext &)const \n3022 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n3023 void CDaoRelationInfo::Dump(CDumpContext &)const \n3024 void CDaoTableDef::Dump(CDumpContext &)const \n3025 void CDaoTableDefInfo::Dump(CDumpContext &)const \n3026 void CDaoWorkspace::Dump(CDumpContext &)const \n3027 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n3028 void CDatabase::Dump(CDumpContext &)const \n3029 void CDataPathProperty::Dump(CDumpContext &)const \n3030 void CDC::Dump(CDumpContext &)const \n3031 void CDialog::Dump(CDumpContext &)const \n3032 void CDocItem::Dump(CDumpContext &)const \n3033 void CDockBar::Dump(CDumpContext &)const \n3034 void CDocManager::Dump(CDumpContext &)const \n3035 void CDocObjectServer::Dump(CDumpContext &)const \n3036 void CDocObjectServerItem::Dump(CDumpContext &)const \n3037 void CDocTemplate::Dump(CDumpContext &)const \n3038 void CDocument::Dump(CDumpContext &)const \n3039 void CDWordArray::Dump(CDumpContext &)const \n3040 void CDynLinkLibrary::Dump(CDumpContext &)const \n3041 void CEditView::Dump(CDumpContext &)const \n3042 void CFile::Dump(CDumpContext &)const \n3043 void CFileDialog::Dump(CDumpContext &)const \n3044 void CFileException::Dump(CDumpContext &)const \n3045 void CFileFind::Dump(CDumpContext &)const \n3046 void CFileStatus::Dump(CDumpContext &)const \n3047 void CFindReplaceDialog::Dump(CDumpContext &)const \n3048 void CFont::Dump(CDumpContext &)const \n3049 void CFontDialog::Dump(CDumpContext &)const \n3050 void CFormView::Dump(CDumpContext &)const \n3051 void CFrameWnd::Dump(CDumpContext &)const \n3052 void CFtpConnection::Dump(CDumpContext &)const \n3053 void CFtpFileFind::Dump(CDumpContext &)const \n3054 void CGdiObject::Dump(CDumpContext &)const \n3055 void CGopherConnection::Dump(CDumpContext &)const \n3056 void CGopherFile::Dump(CDumpContext &)const \n3057 void CGopherFileFind::Dump(CDumpContext &)const \n3058 void CHtmlEditDoc::Dump(CDumpContext &)const \n3059 void CHtmlEditView::Dump(CDumpContext &)const \n3060 void CHtmlView::Dump(CDumpContext &)const \n3061 void CHttpConnection::Dump(CDumpContext &)const \n3062 void CHttpFile::Dump(CDumpContext &)const \n3063 void CImageList::Dump(CDumpContext &)const \n3064 void CInternetConnection::Dump(CDumpContext &)const \n3065 void CInternetException::Dump(CDumpContext &)const \n3066 void CInternetFile::Dump(CDumpContext &)const \n3067 void CInternetSession::Dump(CDumpContext &)const \n3068 void CLongBinary::Dump(CDumpContext &)const \n3069 void CMapPtrToPtr::Dump(CDumpContext &)const \n3070 void CMapPtrToWord::Dump(CDumpContext &)const \n3071 void CMapStringToOb::Dump(CDumpContext &)const \n3072 void CMapStringToPtr::Dump(CDumpContext &)const \n3073 void CMapStringToString::Dump(CDumpContext &)const \n3074 void CMapWordToOb::Dump(CDumpContext &)const \n3075 void CMapWordToPtr::Dump(CDumpContext &)const \n3076 void CMDIChildWnd::Dump(CDumpContext &)const \n3077 void CMDIFrameWnd::Dump(CDumpContext &)const \n3078 void CMemFile::Dump(CDumpContext &)const \n3079 void CMenu::Dump(CDumpContext &)const \n3080 void CMonikerFile::Dump(CDumpContext &)const \n3081 void CMultiDocTemplate::Dump(CDumpContext &)const \n3082 void CObArray::Dump(CDumpContext &)const \n3083 void CObject::Dump(CDumpContext &)const \n3084 void CObList::Dump(CDumpContext &)const \n3085 void COleBusyDialog::Dump(CDumpContext &)const \n3086 void COleChangeIconDialog::Dump(CDumpContext &)const \n3087 void COleChangeSourceDialog::Dump(CDumpContext &)const \n3088 void COleClientItem::Dump(CDumpContext &)const \n3089 void COleControl::Dump(CDumpContext &)const \n3090 void COleConvertDialog::Dump(CDumpContext &)const \n3091 void COleDataSource::Dump(CDumpContext &)const \n3092 void COleDialog::Dump(CDumpContext &)const \n3093 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n3094 void COleDocument::Dump(CDumpContext &)const \n3095 void COleDropSource::Dump(CDumpContext &)const \n3096 void COleDropTarget::Dump(CDumpContext &)const \n3097 void COleInsertDialog::Dump(CDumpContext &)const \n3098 void COleIPFrameWnd::Dump(CDumpContext &)const \n3099 void COleLinkingDoc::Dump(CDumpContext &)const \n3100 void COleLinksDialog::Dump(CDumpContext &)const \n3101 void COleMessageFilter::Dump(CDumpContext &)const \n3102 void COleObjectFactory::Dump(CDumpContext &)const \n3103 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n3104 void COlePropertiesDialog::Dump(CDumpContext &)const \n3105 void COleServerDoc::Dump(CDumpContext &)const \n3106 void COleServerItem::Dump(CDumpContext &)const \n3107 void COleStreamFile::Dump(CDumpContext &)const \n3108 void COleUpdateDialog::Dump(CDumpContext &)const \n3109 void CPageSetupDialog::Dump(CDumpContext &)const \n3110 void CPaintDC::Dump(CDumpContext &)const \n3111 void CPen::Dump(CDumpContext &)const \n3112 void CPreviewDC::Dump(CDumpContext &)const \n3113 void CPreviewView::Dump(CDumpContext &)const \n3114 void CPrintDialog::Dump(CDumpContext &)const \n3115 void CPrintDialogEx::Dump(CDumpContext &)const \n3116 void CPropertyPage::Dump(CDumpContext &)const \n3117 void CPropertySheet::Dump(CDumpContext &)const \n3118 void CPtrArray::Dump(CDumpContext &)const \n3119 void CPtrList::Dump(CDumpContext &)const \n3120 void CRecordset::Dump(CDumpContext &)const \n3121 void CRecordView::Dump(CDumpContext &)const \n3122 void CRichEditCntrItem::Dump(CDumpContext &)const \n3123 void CRichEditDoc::Dump(CDumpContext &)const \n3124 void CRichEditView::Dump(CDumpContext &)const \n3125 void CScrollView::Dump(CDumpContext &)const \n3126 void CSingleDocTemplate::Dump(CDumpContext &)const \n3127 void CSocket::Dump(CDumpContext &)const \n3128 void CSocketFile::Dump(CDumpContext &)const \n3129 void CSplitterWnd::Dump(CDumpContext &)const \n3130 void CStatusBar::Dump(CDumpContext &)const \n3131 void CStdioFile::Dump(CDumpContext &)const \n3132 void CStringArray::Dump(CDumpContext &)const \n3133 void CStringList::Dump(CDumpContext &)const \n3134 void CSyncObject::Dump(CDumpContext &)const \n3135 void CToolBar::Dump(CDumpContext &)const \n3136 void CUIntArray::Dump(CDumpContext &)const \n3137 void CView::Dump(CDumpContext &)const \n3138 void CWinApp::Dump(CDumpContext &)const \n3139 void CWindowDC::Dump(CDumpContext &)const \n3140 void CWinThread::Dump(CDumpContext &)const \n3141 void CWnd::Dump(CDumpContext &)const \n3142 void CWordArray::Dump(CDumpContext &)const \n3143 void CMemoryState::DumpAllObjectsSince(void)const \n3144 CDumpContext & CDumpContext::DumpAsHex(__int64)\n3145 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n3146 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n3147 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n3148 CDumpContext & CDumpContext::DumpAsHex(int)\n3149 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n3150 CDumpContext & CDumpContext::DumpAsHex(long)\n3151 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n3152 void CRecordset::DumpFields(CDumpContext &)const \n3153 void CMemoryState::DumpStatistics(void)const \n3154 long COleControl::XDataObject::DUnadvise(unsigned long)\n3155 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n3156 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n3157 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n3158 CFile * CFile::Duplicate(void)const \n3159 CFile * CInternetFile::Duplicate(void)const \n3160 CFile * CMemFile::Duplicate(void)const \n3161 CFile * COleStreamFile::Duplicate(void)const \n3162 CFile * CSocketFile::Duplicate(void)const \n3163 CFile * CStdioFile::Duplicate(void)const \n3164 unsigned long const CEditView::dwStyleDefault\n3165 void CDaoRecordset::Edit(void)\n3166 void CRecordset::Edit(void)\n3167 int CHeaderCtrl::EditFilter(int,int)\n3168 CEdit * CListCtrl::EditLabel(int)\n3169 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n3170 long COlePropertyPage::XPropertyPage::EditProperty(long)\n3171 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n3172 unsigned char & CByteArray::ElementAt(int)\n3173 unsigned long & CDWordArray::ElementAt(int)\n3174 CObject * & CObArray::ElementAt(int)\n3175 void * & CPtrArray::ElementAt(int)\n3176 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringArray::ElementAt(int)\n3177 unsigned int & CUIntArray::ElementAt(int)\n3178 unsigned short & CWordArray::ElementAt(int)\n3179 int CDC::Ellipse(int,int,int,int)\n3180 int CDC::Ellipse(tagRECT const *)\n3181 void ATL::CSimpleStringT<wchar_t,1>::Empty(void)\n3182 void ATL::CSimpleStringT<char,1>::Empty(void)\n3183 void CDBException::Empty(void)\n3184 void COleDataSource::Empty(void)\n3185 void CEdit::EmptyUndoBuffer(void)\n3186 void CRichEditCtrl::EmptyUndoBuffer(void)\n3187 void CCheckListBox::Enable(int,int)\n3188 void CCmdUI::Enable(int)\n3189 void COleCmdUI::Enable(int)\n3190 void CStatusCmdUI::Enable(int)\n3191 void CTestCmdUI::Enable(int)\n3192 void CToolCmdUI::Enable(int)\n3193 int CWinApp::Enable3dControls(void)\n3194 void CWnd::EnableActiveAccessibility(void)\n3195 void CCmdTarget::EnableAggregation(void)\n3196 void CCmdTarget::EnableAutomation(void)\n3197 void CRecordset::EnableBookmarks(void)\n3198 void COleMessageFilter::EnableBusyDialog(int)\n3199 int CToolBarCtrl::EnableButton(int,int)\n3200 void COleDocument::EnableCompoundFile(int)\n3201 void CCmdTarget::EnableConnections(void)\n3202 void CControlBar::EnableDocking(unsigned long)\n3203 void CFrameWnd::EnableDocking(unsigned long)\n3204 void CReBar::EnableDocking(unsigned long)\n3205 void CStatusBar::EnableDocking(unsigned long)\n3206 void COleControlSite::EnableDSC(void)\n3207 void CWinApp::EnableHtmlHelp(void)\n3208 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n3209 long CBrowserControlSite::EnableModeless(int)\n3210 long CDHtmlDialog::EnableModeless(int)\n3211 void CWinApp::EnableModeless(int)\n3212 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n3213 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n3214 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n3215 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n3216 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n3217 void COleMessageFilter::EnableNotRespondingDialog(int)\n3218 int CScrollBar::EnableScrollBar(unsigned int)\n3219 int CWnd::EnableScrollBar(int,unsigned int)\n3220 void CWnd::EnableScrollBarCtrl(int,int)\n3221 void CWinApp::EnableShellOpen(void)\n3222 void COleControl::EnableSimpleFrame(void)\n3223 void CPropertySheet::EnableStackedTabs(int)\n3224 int CInternetSession::EnableStatusCallback(int)\n3225 int CWnd::EnableToolTips(int)\n3226 int CWnd::EnableTrackingToolTips(int)\n3227 void CCmdTarget::EnableTypeLib(void)\n3228 int COleControlSite::EnableWindow(int)\n3229 int CWnd::EnableWindow(int)\n3230 void COleMessageFilter::EndBusyState(void)\n3231 void CAsyncMonikerFile::EndCallbacks(void)\n3232 long COleLinkingDoc::EndDeferErrors(long)\n3233 void CDialog::EndDialog(int)\n3234 void CPropertyPage::EndDialog(int)\n3235 void CPropertySheet::EndDialog(int)\n3236 int CDC::EndDoc(void)\n3237 void CDockContext::EndDrag(void)\n3238 void CImageList::EndDrag(void)\n3239 void CReBarCtrl::EndDrag(void)\n3240 int CTreeCtrl::EndEditLabelNow(int)\n3241 void CWnd::EndModalLoop(int)\n3242 void CFrameWnd::EndModalState(void)\n3243 void CWnd::EndModalState(void)\n3244 int CDC::EndPage(void)\n3245 void CWnd::EndPaint(tagPAINT*)\n3246 int CDC::EndPath(void)\n3247 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSA *,unsigned long)\n3248 void CDockContext::EndResize(void)\n3249 void CCmdTarget::EndWaitCursor(void)\n3250 void COleDataObject::EnsureClipboardObject(void)\n3251 CFrameWnd * CWnd::EnsureParentFrame(void)const \n3252 void CArchive::EnsureRead(void *,unsigned int)\n3253 void CArchive::EnsureSchemaMapExists(CArray<enum CArchive::LoadArrayObjType,enum CArchive::LoadArrayObjType const &> * *)\n3254 long CWnd::EnsureStdObj(void)\n3255 CWnd * CWnd::EnsureTopLevelParent(void)const \n3256 int CListCtrl::EnsureVisible(int,int)\n3257 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3258 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3259 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3260 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3261 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3262 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3263 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3264 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3265 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3266 int COlePropertyPage::EnumControls(HWND__ *,long)\n3267 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3268 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3269 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3270 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3271 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3272 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3273 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3274 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3275 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3276 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3277 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3278 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3279 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3280 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3281 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3282 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3283 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3284 int CRgn::EqualRgn(CRgn const *)const \n3285 void CControlBar::EraseNonClient(void)\n3286 int CFileException::ErrnoToException(int)\n3287 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3288 int CDC::Escape(int,int,char const *,int,char *)\n3289 int CDC::Escape(int,int,char const *,void *)\n3290 int CMetaFileDC::Escape(int,int,char const *,void *)\n3291 int CPreviewDC::Escape(int,int,char const *,void *)\n3292 int CArchivePropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3293 int CAsyncPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3294 int CPropbagPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3295 int CPropsetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3296 int CResetPropExchange::ExchangeBlobProp(char const *,void * *,void *)\n3297 int COleControl::ExchangeExtent(CPropExchange *)\n3298 int CArchivePropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3299 int CAsyncPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3300 int CPropbagPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3301 int CPropsetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3302 int CResetPropExchange::ExchangeFontProp(char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3303 int CArchivePropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3304 int CAsyncPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3305 int CPropbagPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3306 int CPropsetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3307 int CResetPropExchange::ExchangePersistentProp(char const *,IUnknown * *,_GUID const &,IUnknown *)\n3308 int CArchivePropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3309 int CAsyncPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3310 int CPropbagPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3311 int CPropsetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3312 int CResetPropExchange::ExchangeProp(char const *,unsigned short,void *,void const *)\n3313 void COleControl::ExchangeStockProps(CPropExchange *)\n3314 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3315 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3316 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3317 int CDC::ExcludeClipRect(int,int,int,int)\n3318 int CDC::ExcludeClipRect(tagRECT const *)\n3319 int CDC::ExcludeUpdateRgn(CWnd *)\n3320 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3321 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3322 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3323 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3324 int CHtmlEditView::ExecHandler(unsigned int)\n3325 void CDaoDatabase::Execute(char const *,int)\n3326 void CDaoQueryDef::Execute(int)\n3327 int CWnd::ExecuteDlgInit(void *)\n3328 int CWnd::ExecuteDlgInit(char const *)\n3329 void CRecordset::ExecuteSetPosUpdate(void)\n3330 void CDatabase::ExecuteSQL(char const *)\n3331 void CRecordset::ExecuteUpdateSQL(void)\n3332 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3333 void CFrameWnd::ExitHelpMode(void)\n3334 int COleControlModule::ExitInstance(void)\n3335 int CWinApp::ExitInstance(void)\n3336 int CWinThread::ExitInstance(void)\n3337 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3338 unsigned long CCmdTarget::ExternalAddRef(void)\n3339 void CCmdTarget::ExternalDisconnect(void)\n3340 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3341 unsigned long CCmdTarget::ExternalRelease(void)\n3342 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3343 HICON__ * CImageList::ExtractIconA(int)\n3344 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3345 int CDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3346 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int *)\n3347 int CMetaFileDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3348 int CPreviewDC::ExtTextOutA(int,int,unsigned int,tagRECT const *,char const *,unsigned int,int *)\n3349 void CDataExchange::Fail(void)\n3350 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3351 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3352 void CArchive::FillBuffer(unsigned int)\n3353 void CDaoRecordset::FillCache(long *,COleVariant *)\n3354 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n3355 void CDaoException::FillErrorInfo(void)\n3356 unsigned long CFontDialog::FillInLogFont(_charformat const &)\n3357 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOA &,CWnd *,unsigned int)const \n3358 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n3359 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3360 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n3361 int CDC::FillPath(void)\n3362 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n3363 void CDC::FillRect(tagRECT const *,CBrush *)\n3364 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n3365 int CDC::FillRgn(CRgn *,CBrush *)\n3366 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3367 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3368 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n3369 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n3370 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n3371 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3372 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3373 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3374 void CWnd::FilterToolTipMessage(tagMSG *)\n3375 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3376 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3377 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3378 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3379 int CDaoRecordset::Find(long,char const *)\n3380 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3381 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3382 __POSITION * CStringList::Find(char const *,__POSITION *)const \n3383 long CRichEditView::FindAndSelect(unsigned long,_findtextexa &)\n3384 int CDockBar::FindBar(CControlBar *,int)\n3385 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3386 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3387 int CFileFind::FindFile(char const *,unsigned long)\n3388 int CFtpFileFind::FindFile(char const *,unsigned long)\n3389 int CGopherFileFind::FindFile(CGopherLocator &,char const *,unsigned long)\n3390 int CGopherFileFind::FindFile(char const *,unsigned long)\n3391 int CDaoRecordset::FindFirst(char const *)\n3392 __POSITION * CObList::FindIndex(int)const \n3393 __POSITION * CPtrList::FindIndex(int)const \n3394 __POSITION * CStringList::FindIndex(int)const \n3395 int CListCtrl::FindItem(tagLVFINDINFOA *,int)const \n3396 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3397 int CDaoRecordset::FindLast(char const *)\n3398 int CDaoRecordset::FindNext(char const *)\n3399 int CFindReplaceDialog::FindNext(void)const \n3400 int CFileFind::FindNextFileA(void)\n3401 int CFtpFileFind::FindNextFileA(void)\n3402 int CGopherFileFind::FindNextFileA(void)\n3403 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3404 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3405 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3406 int CDaoRecordset::FindPrev(char const *)\n3407 int CDHtmlDialog::FindSinkForObject(char const *)\n3408 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n3409 __POSITION * CWnd::FindSiteOrWndWithFocus(void)const \n3410 char const * CRecordset::FindSQLToken(char const *,char const *)\n3411 int CComboBox::FindString(int,char const *)const \n3412 int CComboBoxEx::FindString(int,char const *)const \n3413 int CListBox::FindString(int,char const *)const \n3414 int CComboBox::FindStringExact(int,char const *)const \n3415 int CListBox::FindStringExact(int,char const *)const \n3416 int CEditView::FindTextA(char const *,int,int)\n3417 long CRichEditCtrl::FindTextA(unsigned long,_findtextexa *)const \n3418 int CRichEditView::FindTextA(_AFX_RICHEDIT_STATE *)\n3419 int CRichEditView::FindTextA(char const *,int,int,int)\n3420 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3421 int CRichEditView::FindTextSimple(char const *,int,int,int)\n3422 CWnd * CWnd::FindWindowA(char const *,char const *)\n3423 CWnd * CWnd::FindWindowExA(HWND__ *,HWND__ *,char const *,char const *)\n3424 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3425 int COleClientItem::FinishCreate(long)\n3426 void COleControl::FireClick(void)\n3427 void COleControl::FireDblClick(void)\n3428 void COleControl::FireError(long,char const *,unsigned int)\n3429 void COleControl::FireEvent(long,unsigned char *,...)\n3430 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3431 void COleControl::FireEventV(long,unsigned char *,char *)\n3432 void COleControl::FireKeyDown(unsigned short *,short)\n3433 void COleControl::FireKeyPress(unsigned short *)\n3434 void COleControl::FireKeyUp(unsigned short *,short)\n3435 void COleControl::FireMouseDown(short,short,long,long)\n3436 void COleControl::FireMouseMove(short,short,long,long)\n3437 void COleControl::FireMouseUp(short,short,long,long)\n3438 void COleControl::FireReadyStateChange(void)\n3439 void CDaoRecordset::Fixup(void)\n3440 void CRecordset::Fixups(void)\n3441 int CWnd::FlashWindow(int)\n3442 int CDC::FlattenPath(void)\n3443 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3444 int CDC::FloodFill(int,int,unsigned long)\n3445 void CArchive::Flush(void)\n3446 void CDumpContext::Flush(void)\n3447 void CFile::Flush(void)\n3448 void CInternetFile::Flush(void)\n3449 void CMemFile::Flush(void)\n3450 void CMonikerFile::Flush(void)\n3451 void COleStreamFile::Flush(void)\n3452 void CSocketFile::Flush(void)\n3453 void CStdioFile::Flush(void)\n3454 void COleDataSource::FlushClipboard(void)\n3455 int CRecordset::FlushResultSet(void)\n3456 int CEdit::FmtLines(int)\n3457 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3458 void ATL::CSimpleStringT<char,1>::Fork(int)\n3459 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3460 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3461 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3462 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3463 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleCurrency::Format(unsigned long,unsigned long)const \n3464 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n3465 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n3466 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(unsigned int,...)\n3467 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageA(char const *,...)\n3468 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3469 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3470 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3471 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3472 void COleControl::ForwardActivationMsg(tagMSG *)\n3473 void CDC::FrameRect(tagRECT const *,CBrush *)\n3474 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3475 void CAfxStringMgr::Free(ATL::CStringData *)\n3476 void CDatabase::Free(void)\n3477 void CFixedAlloc::Free(void *)\n3478 void CFixedAllocNoSync::Free(void *)\n3479 void CMemFile::Free(unsigned char *)\n3480 void CSharedFile::Free(unsigned char *)\n3481 void CFixedAlloc::FreeAll(void)\n3482 void CFixedAllocNoSync::FreeAll(void)\n3483 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3484 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3485 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3486 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3487 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3488 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3489 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3490 void CDaoRecordset::FreeCache(void)\n3491 void CRecordset::FreeDataCache(void)\n3492 void CPlex::FreeDataChain(void)\n3493 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra(void)\n3494 void ATL::CSimpleStringT<char,1>::FreeExtra(void)\n3495 void CByteArray::FreeExtra(void)\n3496 void CDWordArray::FreeExtra(void)\n3497 void CObArray::FreeExtra(void)\n3498 void CPtrArray::FreeExtra(void)\n3499 void CStringArray::FreeExtra(void)\n3500 void CUIntArray::FreeExtra(void)\n3501 void CWordArray::FreeExtra(void)\n3502 void CObList::FreeNode(CObList::CNode *)\n3503 void CPtrList::FreeNode(CPtrList::CNode *)\n3504 void CStringList::FreeNode(CStringList::CNode *)\n3505 void CRecordset::FreeRowset(void)\n3506 void CThreadSlotData::FreeSlot(int)\n3507 void CProperty::FreeValue(void)\n3508 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3509 void COleControlContainer::FreezeAllEvents(int)\n3510 void COleControlSite::FreezeEvents(int)\n3511 long COleControl::XOleControl::FreezeEvents(int)\n3512 int COleClientItem::FreezeLink(void)\n3513 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3514 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3515 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3516 CDC * CDC::FromHandle(HDC__ *)\n3517 CFont * CFont::FromHandle(HFONT__ *)\n3518 CGdiObject * CGdiObject::FromHandle(void *)\n3519 CObject * CHandleMap::FromHandle(void *)\n3520 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3521 CMenu * CMenu::FromHandle(HMENU__ *)\n3522 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3523 CPen * CPen::FromHandle(HPEN__ *)\n3524 CRgn * CRgn::FromHandle(HRGN__ *)\n3525 CSocket * CSocket::FromHandle(unsigned int)\n3526 CWnd * CWnd::FromHandle(HWND__ *)\n3527 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3528 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3529 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3530 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3531 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3532 CRuntime* CRuntimeClass::FromName(char const *)\n3533 void * CProperty::Get(unsigned long *)\n3534 void * CProperty::Get(void)\n3535 void * CPropertySection::Get(unsigned long)\n3536 void * CPropertySection::Get(unsigned long,unsigned long *)\n3537 void * CPropertySet::Get(_GUID,unsigned long)\n3538 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3539 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3540 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3541 long CWnd::get_accChildCount(long *)\n3542 long CWnd::XAccessible::get_accChildCount(long *)\n3543 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3544 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3545 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3546 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3547 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3548 long CWnd::get_accFocus(tagVARIANT *)\n3549 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3550 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3551 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3552 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3553 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3554 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3555 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3556 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3557 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3558 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3559 long CWnd::get_accParent(IDispatch * *)\n3560 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3561 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3562 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3563 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3564 long CWnd::get_accSelection(tagVARIANT *)\n3565 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3566 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3567 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3568 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3569 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3570 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3571 long CDaoRecordset::GetAbsolutePosition(void)\n3572 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3573 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3574 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3575 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3576 long CWnd::GetAccessibleChildCount(void)\n3577 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3578 unsigned long COleControl::GetActivationPolicy(void)\n3579 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3580 CDocument * CFrameWnd::GetActiveDocument(void)\n3581 CFrameWnd * CFrameWnd::GetActiveFrame(void)\n3582 CFrameWnd * CMDIFrameWnd::GetActiveFrame(void)\n3583 int CPropertySheet::GetActiveIndex(void)const \n3584 CPropertyPage * CPropertySheet::GetActivePage(void)const \n3585 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3586 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3587 CView * CFrameWnd::GetActiveView(void)const \n3588 CView * COleClientItem::GetActiveView(void)const \n3589 IOleDocumentView * COleDocObjectItem::GetActiveView(void)const \n3590 CRichEditView * CRichEditCntrItem::GetActiveView(void)\n3591 CWnd * CWnd::GetActiveWindow(void)\n3592 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)const \n3593 int CIPAddressCtrl::GetAddress(unsigned long &)const \n3594 int CHtmlView::GetAddressBar(void)const \n3595 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3596 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength(void)const \n3597 int ATL::CSimpleStringT<char,1>::GetAllocLength(void)const \n3598 COleDispatchDriver * COleControl::GetAmbientDispatchDriver(void)\n3599 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3600 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3601 int CToolBarCtrl::GetAnchorHighlight(void)const \n3602 int CListBox::GetAnchorIndex(void)const \n3603 short COleControl::GetAppearance(void)\n3604 IDispatch * CHtmlView::GetApplication(void)const \n3605 HKEY__ * CWinApp::GetAppRegistryKey(void)\n3606 int CDC::GetArcDirection(void)const \n3607 CSize CDC::GetAspectRatioFilter(void)const \n3608 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3609 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3610 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3611 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3612 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(char const *,unsigned int &,unsigned int &)const \n3613 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3614 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3615 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3616 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3617 unsigned char CByteArray::GetAt(int)const \n3618 unsigned long CDWordArray::GetAt(int)const \n3619 CObject * CObArray::GetAt(int)const \n3620 CObject * & CObList::GetAt(__POSITION *)\n3621 CObject const * CObList::GetAt(__POSITION *)const \n3622 void * CPtrArray::GetAt(int)const \n3623 void * & CPtrList::GetAt(__POSITION *)\n3624 void const * CPtrList::GetAt(__POSITION *)const \n3625 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringArray::GetAt(int)const \n3626 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetAt(__POSITION *)\n3627 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetAt(__POSITION *)const \n3628 unsigned int CUIntArray::GetAt(int)const \n3629 unsigned short CWordArray::GetAt(int)const \n3630 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3631 long CDaoTableDef::GetAttributes(void)\n3632 unsigned long COleControl::GetBackColor(void)\n3633 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3634 unsigned int CReBarCtrl::GetBandCount(void)const \n3635 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOA *)const \n3636 unsigned int CReBarCtrl::GetBarHeight(void)const \n3637 void CControlBar::GetBarInfo(CControlBarInfo *)\n3638 void CDockBar::GetBarInfo(CControlBarInfo *)\n3639 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3640 unsigned long CControlBar::GetBarStyle(void)\n3641 unsigned int CSpinButtonCtrl::GetBase(void)const \n3642 unsigned long CAsyncMonikerFile::GetBindInfo(void)const \n3643 IBinding * CAsyncMonikerFile::GetBinding(void)const \n3644 int CBitmap::GetBitmap(tagBITMAP *)\n3645 HBITMAP__ * CButton::GetBitmap(void)const \n3646 HBITMAP__ * CStatic::GetBitmap(void)const \n3647 int CToolBarCtrl::GetBitmap(int)const \n3648 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3649 CSize CBitmap::GetBitmapDimension(void)const \n3650 unsigned int CToolBarCtrl::GetBitmapFlags(void)const \n3651 int CHeaderCtrl::GetBitmapMargin(void)const \n3652 unsigned long CDC::GetBkColor(void)const \n3653 unsigned long CImageList::GetBkColor(void)const \n3654 unsigned long CListCtrl::GetBkColor(void)const \n3655 unsigned long CReBarCtrl::GetBkColor(void)const \n3656 unsigned long CTreeCtrl::GetBkColor(void)const \n3657 int CListCtrl::GetBkImage(tagLVBKIMAGEA *)const \n3658 int CDC::GetBkMode(void)const \n3659 void * CBlobProperty::GetBlob(void)\n3660 COleVariant CDaoRecordset::GetBookmark(void)\n3661 void CRecordset::GetBookmark(CDBVariant &)\n3662 unsigned long CDatabase::GetBookmarkPersistence(void)const \n3663 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3664 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3665 CRect CControlBar::GetBorders(void)const \n3666 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3667 int CStatusBarCtrl::GetBorders(int *)const \n3668 short COleControl::GetBorderStyle(void)\n3669 long CDataSourceControl::GetBoundClientRow(void)\n3670 int CRecordset::GetBoundFieldIndex(void *)\n3671 int CRecordset::GetBoundParamIndex(void *)\n3672 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3673 CPoint CDC::GetBrushOrg(void)const \n3674 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOA *)const \n3675 CWnd * CSliderCtrl::GetBuddy(int)const \n3676 CWnd * CSpinButtonCtrl::GetBuddy(void)const \n3677 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3678 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(void)\n3679 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3680 char * ATL::CSimpleStringT<char,1>::GetBuffer(void)\n3681 unsigned int CEditView::GetBufferLength(void)const \n3682 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3683 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3684 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3685 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3686 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3687 int CHtmlView::GetBusy(void)const \n3688 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3689 int CToolBarCtrl::GetButtonCount(void)const \n3690 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3691 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOA *)const \n3692 unsigned long CToolBarCtrl::GetButtonSize(void)const \n3693 unsigned int CButton::GetButtonStyle(void)const \n3694 unsigned int CToolBar::GetButtonStyle(int)const \n3695 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CToolBar::GetButtonText(int)const \n3696 void CToolBar::GetButtonText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3697 void COleSafeArray::GetByteArray(CByteArray &)\n3698 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3699 unsigned short CPropertySet::GetByteOrder(void)\n3700 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3701 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3702 long CDaoRecordset::GetCacheSize(void)\n3703 COleVariant CDaoRecordset::GetCacheStart(void)\n3704 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n3705 unsigned int CListCtrl::GetCallbackMask(void)const \n3706 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3707 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3708 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3709 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3710 CWnd * COleControl::GetCapture(void)\n3711 CWnd * CWnd::GetCapture(void)\n3712 long COleControlSite::XOleIPSite::GetCapture(void)\n3713 int CListBox::GetCaretIndex(void)const \n3714 CPoint CWnd::GetCaretPos(void)\n3715 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3716 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABC *)const \n3717 int CDC::GetCharABCWidthsA(unsigned int,unsigned int,_ABCFLOAT *)const \n3718 unsigned long CDC::GetCharacterPlacementA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,tagGCP_RESULTSA *,unsigned long)const \n3719 unsigned long CDC::GetCharacterPlacementA(char const *,int,int,tagGCP_RESULTSA *,unsigned long)const \n3720 void CFontDialog::GetCharFormat(_charformat &)const \n3721 CHARFORMAT2A & CRichEditView::GetCharFormatSelection(void)\n3722 CPoint CRichEditCtrl::GetCharPos(long)const \n3723 int CDC::GetCharWidthA(unsigned int,unsigned int,int *)const \n3724 int CDC::GetCharWidthA(unsigned int,unsigned int,float *)const \n3725 int CButton::GetCheck(void)const \n3726 int CCheckListBox::GetCheck(int)\n3727 int CListCtrl::GetCheck(int)const \n3728 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3729 int CWnd::GetCheckedRadioButton(int,int)const \n3730 unsigned int CCheckListBox::GetCheckStyle(void)\n3731 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3732 long CBlobProperty::GetClassID(_GUID *)\n3733 void COleClientItem::GetClassID(_GUID *)const \n3734 _GUID const & COleConvertDialog::GetClassID(void)const \n3735 _GUID const & COleInsertDialog::GetClassID(void)const \n3736 _GUID const & COleObjectFactory::GetClassID(void)const \n3737 _GUID CPropertySet::GetClassID(void)\n3738 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3739 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3740 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3741 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3742 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3743 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3744 long COleControl::XProvideClassInfo::GetClassInfoA(ITypeInfo * *)\n3745 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3746 void COleControl::GetClientOffset(long *,long *)const \n3747 void COleControl::GetClientRect(tagRECT *)const \n3748 void CWnd::GetClientRect(tagRECT *)const \n3749 IOleClientSite * COleClientItem::GetClientSite(void)\n3750 IOleClientSite * COleControl::GetClientSite(void)\n3751 IOleClientSite * COleServerDoc::GetClientSite(void)const \n3752 IOleClientSite * CRichEditCntrItem::GetClientSite(void)\n3753 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3754 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3755 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3756 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3757 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3758 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3759 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3760 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3761 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3762 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3763 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3764 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3765 COleDataSource * COleDataSource::GetClipboardOwner(void)\n3766 CWnd * CWnd::GetClipboardOwner(void)\n3767 CWnd * CWnd::GetClipboardViewer(void)\n3768 int CDC::GetClipBox(tagRECT *)const \n3769 int CMetaFileDC::GetClipBox(tagRECT *)const \n3770 unsigned long CColorDialog::GetColor(void)const \n3771 unsigned long CFontDialog::GetColor(void)const \n3772 unsigned long CMonthCalCtrl::GetColor(int)const \n3773 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3774 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n3775 int CToolBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n3776 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3777 int CListCtrl::GetColumn(int,tagLVCOLUMNA *)const \n3778 int CSplitterWnd::GetColumnCount(void)const \n3779 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3780 int CListCtrl::GetColumnOrderArray(int *,int)const \n3781 int CListCtrl::GetColumnWidth(int)const \n3782 CComboBox * CComboBoxEx::GetComboBoxCtrl(void)const \n3783 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap(void)const \n3784 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap(void)const \n3785 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetConnect(void)\n3786 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetConnect(void)\n3787 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetConnect(void)\n3788 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDatabase::GetConnect(void)const \n3789 void CDatabase::GetConnectInfo(void)\n3790 int CConnectionPoint::GetConnectionCount(void)\n3791 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3792 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3793 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3794 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap(void)const \n3795 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap(void)const \n3796 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3797 CPtrArray const * CConnectionPoint::GetConnections(void)\n3798 IConnectionPointContainer * CConnectionPoint::GetContainer(void)\n3799 IDispatch * CHtmlView::GetContainer(void)const \n3800 IOleItemContainer * COleDocument::GetContainer(void)\n3801 IOleItemContainer * COleLinkingDoc::GetContainer(void)\n3802 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3803 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3804 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3805 unsigned long CInternetConnection::GetContext(void)const \n3806 unsigned long CInternetFile::GetContext(void)const \n3807 unsigned long CInternetSession::GetContext(void)const \n3808 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3809 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3810 COleControl * CDataPathProperty::GetControl(void)\n3811 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3812 COleControlContainer * CWnd::GetControlContainer(void)\n3813 long CDHtmlDialog::GetControlDispatch(char const *,IDispatch * *)\n3814 unsigned long COleControl::GetControlFlags(void)\n3815 void COleControlSite::GetControlInfo(void)\n3816 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3817 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame(void)const \n3818 IUnknown * CCmdTarget::GetControllingUnknown(void)\n3819 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3820 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,char const *)\n3821 tagVARIANT CDHtmlDialog::GetControlProperty(char const *,long)\n3822 void COleControl::GetControlSize(int *,int *)\n3823 int COlePropertyPage::GetControlStatus(unsigned int)\n3824 IUnknown * CWnd::GetControlUnknown(void)\n3825 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3826 int CInternetSession::GetCookie(char const *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3827 int CInternetSession::GetCookie(char const *,char const *,char *,unsigned long)\n3828 unsigned long CInternetSession::GetCookieLength(char const *,char const *)\n3829 int CPrintDialog::GetCopies(void)const \n3830 int CPrintDialogEx::GetCopies(void)const \n3831 int CByteArray::GetCount(void)const \n3832 int CComboBox::GetCount(void)const \n3833 int CControlBar::GetCount(void)const \n3834 int CDWordArray::GetCount(void)const \n3835 int CListBox::GetCount(void)const \n3836 int CMapPtrToPtr::GetCount(void)const \n3837 int CMapPtrToWord::GetCount(void)const \n3838 int CMapStringToOb::GetCount(void)const \n3839 int CMapStringToPtr::GetCount(void)const \n3840 int CMapStringToString::GetCount(void)const \n3841 int CMapWordToOb::GetCount(void)const \n3842 int CMapWordToPtr::GetCount(void)const \n3843 int CObArray::GetCount(void)const \n3844 int CObList::GetCount(void)const \n3845 unsigned long CPropertySection::GetCount(void)\n3846 unsigned long CPropertySet::GetCount(void)\n3847 int CPtrArray::GetCount(void)const \n3848 int CPtrList::GetCount(void)const \n3849 int CStringArray::GetCount(void)const \n3850 int CStringList::GetCount(void)const \n3851 unsigned int CTreeCtrl::GetCount(void)const \n3852 int CUIntArray::GetCount(void)const \n3853 int CWordArray::GetCount(void)const \n3854 int CListCtrl::GetCountPerPage(void)const \n3855 int CFileFind::GetCreationTime(ATL::CTime &)const \n3856 int CFileFind::GetCreationTime(_FILETIME *)const \n3857 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3858 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3859 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3860 int CTabCtrl::GetCurFocus(void)const \n3861 CBitmap * CDC::GetCurrentBitmap(void)const \n3862 CBrush * CDC::GetCurrentBrush(void)const \n3863 int CFtpConnection::GetCurrentDirectoryA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3864 int CFtpConnection::GetCurrentDirectoryA(char *,unsigned long *)const \n3865 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3866 int CFtpConnection::GetCurrentDirectoryAsURL(char *,unsigned long *)const \n3867 CFont * CDC::GetCurrentFont(void)const \n3868 void CFontDialog::GetCurrentFont(tagLOGFONTA *)\n3869 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetCurrentIndex(void)\n3870 tagMSG const * CWnd::GetCurrentMessage(void)\n3871 CPalette * CDC::GetCurrentPalette(void)const \n3872 CPen * CDC::GetCurrentPen(void)const \n3873 CPoint CDC::GetCurrentPosition(void)const \n3874 int CToolTipCtrl::GetCurrentTool(tagTOOLINFOA *)const \n3875 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3876 int CComboBox::GetCurSel(void)const \n3877 int CListBox::GetCurSel(void)const \n3878 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3879 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3880 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3881 int CTabCtrl::GetCurSel(void)const \n3882 HICON__ * CButton::GetCursor(void)\n3883 IUnknown * CDataBoundProperty::GetCursor(void)\n3884 IUnknown * CDataSourceControl::GetCursor(void)\n3885 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3886 HICON__ * CStatic::GetCursor(void)\n3887 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3888 int CDatabase::GetCursorCommitBehavior(void)const \n3889 int CDatabase::GetCursorRollbackBehavior(void)const \n3890 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData(void)const \n3891 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData(void)const \n3892 unsigned char * CByteArray::GetData(void)\n3893 unsigned char const * CByteArray::GetData(void)const \n3894 unsigned long * CDWordArray::GetData(void)\n3895 unsigned long const * CDWordArray::GetData(void)const \n3896 CObject * * CObArray::GetData(void)\n3897 CObject const * * CObArray::GetData(void)const \n3898 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3899 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n3900 void * * CPtrArray::GetData(void)\n3901 void const * * CPtrArray::GetData(void)const \n3902 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3903 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > * CStringArray::GetData(void)\n3904 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const * CStringArray::GetData(void)const \n3905 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n3906 unsigned int * CUIntArray::GetData(void)\n3907 unsigned int const * CUIntArray::GetData(void)const \n3908 unsigned short * CWordArray::GetData(void)\n3909 unsigned short const * CWordArray::GetData(void)const \n3910 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3911 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3912 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3913 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3914 void CDaoRecordset::GetDataAndFixupNulls(void)\n3915 short CDaoWorkspace::GetDatabaseCount(void)\n3916 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n3917 void CDaoWorkspace::GetDatabaseInfo(char const *,CDaoDatabaseInfo &,unsigned long)\n3918 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDatabase::GetDatabaseName(void)const \n3919 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3920 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3921 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3922 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3923 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3924 CNoTrackObject * CThreadLocalObject::GetDataNA(void)\n3925 IDataObject * COleServerItem::GetDataObject(void)\n3926 COleControl::CControlDataSource * COleControl::GetDataSource(void)\n3927 COleDataSource * COleServerItem::GetDataSource(void)\n3928 ATL::COleDateTime CDaoQueryDef::GetDateCreated(void)\n3929 ATL::COleDateTime CDaoRecordset::GetDateCreated(void)\n3930 ATL::COleDateTime CDaoTableDef::GetDateCreated(void)\n3931 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated(void)\n3932 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated(void)\n3933 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated(void)\n3934 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3935 CDC * CWnd::GetDC(void)\n3936 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3937 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3938 HACCEL__ * CDocument::GetDefaultAccelerator(void)\n3939 HACCEL__ * CFrameWnd::GetDefaultAccelerator(void)\n3940 HACCEL__ * COleServerDoc::GetDefaultAccelerator(void)\n3941 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformat &)const \n3942 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2A &)const \n3943 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultConnect(void)\n3944 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultDBName(void)\n3945 short CRecordset::GetDefaultFieldType(short)\n3946 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3947 HMENU__ * CDocument::GetDefaultMenu(void)\n3948 HMENU__ * COleServerDoc::GetDefaultMenu(void)\n3949 int CPrintDialog::GetDefaults(void)\n3950 int CPrintDialogEx::GetDefaults(void)\n3951 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetDefaultSQL(void)\n3952 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRecordset::GetDefaultSQL(void)\n3953 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3954 unsigned long COleControlSite::GetDefBtnCode(void)\n3955 unsigned long CDialog::GetDefID(void)const \n3956 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3957 int CDumpContext::GetDepth(void)const \n3958 CWnd * CWnd::GetDescendantWindow(int,int)const \n3959 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3960 CWnd * CWnd::GetDesktopWindow(void)\n3961 int CDC::GetDeviceCaps(int)const \n3962 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDeviceName(void)const \n3963 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDeviceName(void)const \n3964 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDeviceName(void)const \n3965 CPoint CScrollView::GetDeviceScrollPosition(void)const \n3966 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3967 _devicemodeA * CPageSetupDialog::GetDevMode(void)const \n3968 _devicemodeA * CPrintDialog::GetDevMode(void)const \n3969 _devicemodeA * CPrintDialogEx::GetDevMode(void)const \n3970 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3971 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3972 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3973 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3974 DHtmlEventMapEntry const * GetDHtmlEventMap(void)\n3975 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap(void)\n3976 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap(void)\n3977 unsigned long COleSafeArray::GetDim(void)\n3978 CImageList * CToolBarCtrl::GetDisabledImageList(void)const \n3979 int CCmdTarget::GetDispatchIID(_GUID *)\n3980 int COleControl::GetDispatchIID(_GUID *)\n3981 AFX_DISPMAP const * CCmdTarget::GetDispatchMap(void)const \n3982 AFX_DISPMAP const * COleControlContainer::GetDispatchMap(void)const \n3983 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3984 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetDisplayName(void)\n3985 int CRecentFileList::GetDisplayName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,char const *,int,int)const \n3986 int CFontHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3987 int CPictureHolder::GetDisplayString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3988 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n3989 int COleControlSite::GetDlgCtrlID(void)const \n3990 int CWnd::GetDlgCtrlID(void)const \n3991 CWnd * COleControlContainer::GetDlgItem(int)const \n3992 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n3993 CWnd * CWnd::GetDlgItem(int)const \n3994 void CWnd::GetDlgItem(int,HWND__ * *)const \n3995 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n3996 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n3997 int COleControlContainer::GetDlgItemTextA(int,char *,int)const \n3998 int CWnd::GetDlgItemTextA(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n3999 int CWnd::GetDlgItemTextA(int,char *,int)const \n4000 CFrameWnd * COleIPFrameWnd::GetDocFrame(void)\n4001 CDockBar * CDockContext::GetDockBar(unsigned long)\n4002 CControlBar * CDockBar::GetDockedControlBar(int)const \n4003 int CDockBar::GetDockedCount(void)const \n4004 int CDockBar::GetDockedVisibleCount(void)const \n4005 CFrameWnd * CControlBar::GetDockingFrame(void)const \n4006 void CFrameWnd::GetDockState(CDockState &)const \n4007 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n4008 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n4009 int CDocTemplate::GetDocString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,enum CDocTemplate::DocStringIndex)const \n4010 CDocTemplate * CDocument::GetDocTemplate(void)const \n4011 CDocument * CDocItem::GetDocument(void)const \n4012 COleDocument * COleClientItem::GetDocument(void)const \n4013 COleServerDoc * COleServerItem::GetDocument(void)const \n4014 CRichEditDoc * CRichEditCntrItem::GetDocument(void)\n4015 CRichEditDoc * CRichEditView::GetDocument(void)const \n4016 CDocument * CView::GetDocument(void)const \n4017 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n4018 int CDocManager::GetDocumentCount(void)\n4019 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n4020 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n4021 enum tagDVASPECT COleClientItem::GetDrawAspect(void)const \n4022 enum tagDVASPECT COleConvertDialog::GetDrawAspect(void)const \n4023 enum tagDVASPECT COleInsertDialog::GetDrawAspect(void)const \n4024 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect(void)const \n4025 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetDriverName(void)const \n4026 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetDriverName(void)const \n4027 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetDriverName(void)const \n4028 _TREEITEM * CTreeCtrl::GetDropHilightItem(void)const \n4029 void CComboBox::GetDroppedControlRect(tagRECT *)const \n4030 int CComboBox::GetDroppedState(void)const \n4031 int CComboBox::GetDroppedWidth(void)const \n4032 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n4033 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n4034 IDropTarget * CReBarCtrl::GetDropTarget(void)const \n4035 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n4036 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n4037 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n4038 IUnknown * CWnd::GetDSCCursor(void)\n4039 CEdit * CListCtrl::GetEditControl(void)const \n4040 CEdit * CTreeCtrl::GetEditControl(void)const \n4041 CEdit * CComboBoxEx::GetEditCtrl(void)const \n4042 CEdit & CEditView::GetEditCtrl(void)const \n4043 short CDaoRecordset::GetEditMode(void)\n4044 unsigned long CComboBox::GetEditSel(void)const \n4045 long CDHtmlDialog::GetElement(char const *,IDispatch * *,int *)\n4046 long CDHtmlDialog::GetElement(char const *,IHTMLElement * *)\n4047 void COleSafeArray::GetElement(long *,void *)\n4048 wchar_t * CDHtmlDialog::GetElementHtml(char const *)\n4049 long CDHtmlDialog::GetElementInterface(char const *,_GUID const &,void * *)\n4050 tagVARIANT CDHtmlDialog::GetElementProperty(char const *,long)\n4051 wchar_t * CDHtmlDialog::GetElementText(char const *)\n4052 unsigned long COleSafeArray::GetElemSize(void)\n4053 COleServerItem * COleServerDoc::GetEmbeddedItem(void)\n4054 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n4055 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n4056 int COleControl::GetEnabled(void)\n4057 HENHMETAFILE__ * CStatic::GetEnhMetaFileA(void)const \n4058 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n4059 int CPalette::GetEntryCount(void)\n4060 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n4061 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableA(wchar_t const *)\n4062 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableA(char const *)\n4063 short CDaoException::GetErrorCount(void)\n4064 void CDaoException::GetErrorInfo(int)\n4065 int CArchiveException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4066 int CDaoException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4067 int CDBException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4068 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)\n4069 int CException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4070 int CFileException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4071 int CInternetException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4072 int COleDispatchException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4073 int COleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4074 int CSimpleException::GetErrorMessage(char *,unsigned int,unsigned int *)const \n4075 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n4076 int COleControlSite::GetEventIID(_GUID *)\n4077 AFX_EVENTMAP const * COleControl::GetEventMap(void)const \n4078 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(char const *,long *)const \n4079 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(char const *)\n4080 long CRichEditCtrl::GetEventMask(void)const \n4081 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n4082 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap(void)const \n4083 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap(void)const \n4084 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap(void)const \n4085 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap(void)const \n4086 unsigned long COleControlSite::GetExStyle(void)const \n4087 unsigned long CWnd::GetExStyle(void)const \n4088 IDispatch * COleControl::GetExtendedControl(void)\n4089 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n4090 unsigned long CComboBoxEx::GetExtendedStyle(void)const \n4091 unsigned long CListCtrl::GetExtendedStyle(void)const \n4092 unsigned long CTabCtrl::GetExtendedStyle(void)const \n4093 unsigned long CToolBarCtrl::GetExtendedStyle(void)const \n4094 int CComboBox::GetExtendedUI(void)const \n4095 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n4096 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4097 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4098 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4099 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4100 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4101 long CBrowserControlSite::GetExternal(IDispatch * *)\n4102 long CDHtmlDialog::GetExternal(IDispatch * *)\n4103 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n4104 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n4105 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n4106 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n4107 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetFaceName(void)const \n4108 short CDaoQueryDef::GetFieldCount(void)\n4109 short CDaoRecordset::GetFieldCount(void)\n4110 short CDaoTableDef::GetFieldCount(void)\n4111 int CDaoRecordset::GetFieldIndex(void *)\n4112 short CRecordset::GetFieldIndexByName(char const *)\n4113 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4114 void CDaoQueryDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n4115 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4116 void CDaoRecordset::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n4117 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4118 void CDaoTableDef::GetFieldInfo(char const *,CDaoFieldInfo &,unsigned long)\n4119 unsigned long CDaoRecordset::GetFieldLength(int)\n4120 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n4121 unsigned char CRecordset::GetFieldStatus(unsigned long)\n4122 COleVariant CDaoRecordset::GetFieldValue(int)\n4123 COleVariant CDaoRecordset::GetFieldValue(char const *)\n4124 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n4125 void CDaoRecordset::GetFieldValue(char const *,COleVariant &)\n4126 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4127 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4128 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n4129 void CRecordset::GetFieldValue(char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4130 void CRecordset::GetFieldValue(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4131 void CRecordset::GetFieldValue(char const *,CDBVariant &,short)\n4132 CFile * CArchive::GetFile(void)const \n4133 CFile * CDocument::GetFile(char const *,unsigned int,CFileException *)\n4134 int CFtpConnection::GetFile(char const *,char const *,int,unsigned long,unsigned long,unsigned long)\n4135 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n4136 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileExt(void)const \n4137 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileName(void)const \n4138 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileName(void)const \n4139 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileName(void)const \n4140 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileName(void)const \n4141 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFileName(void)\n4142 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFilePath(void)const \n4143 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFilePath(void)const \n4144 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFilePath(void)const \n4145 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFile::GetFileTitle(void)const \n4146 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFileTitle(void)const \n4147 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileTitle(void)const \n4148 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileTitle(void)const \n4149 int COleServerDoc::GetFileTypeString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetFileURL(void)const \n4151 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFtpFileFind::GetFileURL(void)const \n4152 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetFileURL(void)const \n4153 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetFileURL(void)const \n4154 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetFindString(void)const \n4155 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n4156 __POSITION * CMultiDocTemplate::GetFirstDocPosition(void)const \n4157 __POSITION * CSingleDocTemplate::GetFirstDocPosition(void)const \n4158 __POSITION * CDocManager::GetFirstDocTemplatePosition(void)const \n4159 __POSITION * CWinApp::GetFirstDocTemplatePosition(void)const \n4160 CFrameWnd * COleDocument::GetFirstFrame(void)\n4161 __POSITION * CListCtrl::GetFirstSelectedItemPosition(void)const \n4162 __POSITION * CDocument::GetFirstViewPosition(void)const \n4163 _TREEITEM * CTreeCtrl::GetFirstVisibleItem(void)const \n4164 int CEdit::GetFirstVisibleLine(void)const \n4165 int CRichEditCtrl::GetFirstVisibleLine(void)const \n4166 CWnd * COleControl::GetFocus(void)\n4167 CWnd * CWnd::GetFocus(void)\n4168 long COleControlSite::XOleIPSite::GetFocus(void)\n4169 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetFolderPath(void)const \n4170 int CDialogTemplate::GetFont(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)const \n4171 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned short &)\n4172 IFontDisp * COleControl::GetFont(void)\n4173 CFont * CWnd::GetFont(void)const \n4174 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n4175 IFontDisp * CFontHolder::GetFontDispatch(void)\n4176 HFONT__ * CFontHolder::GetFontHandle(long,long)\n4177 HFONT__ * CFontHolder::GetFontHandle(void)\n4178 unsigned long CDC::GetFontLanguageInfo(void)const \n4179 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n4180 void COleControl::GetFontTextMetrics(tagTEXTMETRICA *,CFontHolder &)\n4181 unsigned long COleControl::GetForeColor(void)\n4182 CWnd * CWnd::GetForegroundWindow(void)\n4183 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc(void)const \n4184 _GUID CPropertySection::GetFormatID(void)\n4185 unsigned short CPropertySet::GetFormatVersion(void)\n4186 int CPrintDialog::GetFromPage(void)const \n4187 unsigned int CPrintInfo::GetFromPage(void)const \n4188 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetFromPrefix(void)\n4189 CFtpConnection * CInternetSession::GetFtpConnection(char const *,char const *,char const *,unsigned short,int)\n4190 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetFullName(void)const \n4191 int CHtmlView::GetFullScreen(void)const \n4192 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n4193 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n4194 unsigned long CDC::GetGlyphOutlineA(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n4195 CGopherConnection * CInternetSession::GetGopherConnection(char const *,char const *,char const *,unsigned short)\n4196 int CDC::GetGraphicsMode(void)const \n4197 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n4198 CBrush * CDC::GetHalftoneBrush(void)\n4199 void * CEdit::GetHandle(void)const \n4200 unsigned int CRectTracker::GetHandleMask(void)const \n4201 void CRectTracker::GetHandleRect(int,CRect *)const \n4202 int CRectTracker::GetHandleSize(tagRECT const *)const \n4203 unsigned int CMapPtrToPtr::GetHashTableSize(void)const \n4204 unsigned int CMapPtrToWord::GetHashTableSize(void)const \n4205 unsigned int CMapStringToOb::GetHashTableSize(void)const \n4206 unsigned int CMapStringToPtr::GetHashTableSize(void)const \n4207 unsigned int CMapStringToString::GetHashTableSize(void)const \n4208 unsigned int CMapWordToOb::GetHashTableSize(void)const \n4209 unsigned int CMapWordToPtr::GetHashTableSize(void)const \n4210 CObject * & CObList::GetHead(void)\n4211 CObject const * CObList::GetHead(void)const \n4212 void * & CPtrList::GetHead(void)\n4213 void const * CPtrList::GetHead(void)const \n4214 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetHead(void)\n4215 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetHead(void)const \n4216 CHeaderCtrl * CListCtrl::GetHeaderCtrl(void)const \n4217 __POSITION * CObList::GetHeadPosition(void)const \n4218 __POSITION * CPtrList::GetHeadPosition(void)const \n4219 __POSITION * CStringList::GetHeadPosition(void)const \n4220 long CHtmlView::GetHeight(void)const \n4221 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n4222 enum AFX_HELP_TYPE CWinApp::GetHelpMode(void)\n4223 void CSplitterWnd::GetHitRect(int,CRect &)\n4224 unsigned int CComboBox::GetHorizontalExtent(void)const \n4225 int CListBox::GetHorizontalExtent(void)const \n4226 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n4227 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n4228 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n4229 HICON__ * CListCtrl::GetHotCursor(void)const \n4230 CImageList * CToolBarCtrl::GetHotImageList(void)const \n4231 int CListCtrl::GetHotItem(void)const \n4232 int CToolBarCtrl::GetHotItem(void)const \n4233 unsigned long CHotKeyCtrl::GetHotKey(void)const \n4234 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n4235 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetHotKeyName(void)const \n4236 unsigned long CListCtrl::GetHoverTime(void)const \n4237 IDispatch * CHtmlView::GetHtmlDocument(void)const \n4238 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned short,char const *,char const *)\n4239 CHttpConnection * CInternetSession::GetHttpConnection(char const *,unsigned long,unsigned short,char const *,char const *)\n4240 unsigned int COleControl::GetHwnd(void)\n4241 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n4242 HICON__ * CButton::GetIcon(void)const \n4243 HICON__ * CStatic::GetIcon(void)const \n4244 HICON__ * CStatusBarCtrl::GetIcon(int)const \n4245 HICON__ * CWnd::GetIcon(int)const \n4246 HICON__ * COleClientItem::GetIconFromRegistry(void)const \n4247 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n4248 void * COleChangeIconDialog::GetIconicMetafile(void)const \n4249 void * COleClientItem::GetIconicMetafile(void)\n4250 void * COleConvertDialog::GetIconicMetafile(void)const \n4251 void * COleInsertDialog::GetIconicMetafile(void)const \n4252 void * COlePasteSpecialDialog::GetIconicMetafile(void)const \n4253 char const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n4254 unsigned long CProperty::GetID(void)\n4255 int CPropertySection::GetID(char const *,unsigned long *)\n4256 IDataObject * COleDataObject::GetIDataObject(int)\n4257 IDispatch * CCmdTarget::GetIDispatch(int)\n4258 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4259 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4260 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4261 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4262 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4263 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4264 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4265 IFileDialogCustomize * CFileDialog::GetIFileDialogCustomize(void)\n4266 IFileOpenDialog * CFileDialog::GetIFileOpenDialog(void)\n4267 IFileSaveDialog * CFileDialog::GetIFileSaveDialog(void)\n4268 _GUID const & COleControl::XEventConnPt::GetIID(void)\n4269 int CImageList::GetImageCount(void)const \n4270 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n4271 CImageList * CComboBoxEx::GetImageList(void)const \n4272 CImageList * CHeaderCtrl::GetImageList(int)const \n4273 CImageList * CListCtrl::GetImageList(int)const \n4274 CImageList * CReBarCtrl::GetImageList(void)const \n4275 CImageList * CTabCtrl::GetImageList(void)const \n4276 CImageList * CToolBarCtrl::GetImageList(void)const \n4277 CImageList * CTreeCtrl::GetImageList(int)const \n4278 unsigned int CTreeCtrl::GetIndent(void)const \n4279 short CDaoRecordset::GetIndexCount(void)\n4280 short CDaoTableDef::GetIndexCount(void)\n4281 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n4282 void CDaoRecordset::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n4283 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n4284 void CDaoTableDef::GetIndexInfo(char const *,CDaoIndexInfo &,unsigned long)\n4285 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetIniPath(void)\n4286 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n4287 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n4288 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem(void)const \n4289 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4290 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n4291 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n4292 HMENU__ * COleIPFrameWnd::GetInPlaceMenu(void)\n4293 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n4294 CWnd * COleClientItem::GetInPlaceWindow(void)\n4295 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n4296 unsigned long CToolBarCtrl::GetInsertMarkColor(void)const \n4297 unsigned long CTreeCtrl::GetInsertMarkColor(void)const \n4298 void CSplitterWnd::GetInsideRect(CRect &)const \n4299 IUnknown * CCmdTarget::GetInterface(void const *)\n4300 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n4301 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n4302 IUnknown * COleControl::GetInterfaceHook(void const *)\n4303 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n4304 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap(void)const \n4305 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap(void)const \n4306 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap(void)const \n4307 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap(void)const \n4308 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap(void)const \n4309 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap(void)const \n4310 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap(void)const \n4311 AFX_INTERFACEMAP const * CFileDialog::GetInterfaceMap(void)const \n4312 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap(void)const \n4313 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap(void)const \n4314 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap(void)const \n4315 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap(void)const \n4316 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap(void)const \n4317 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap(void)const \n4318 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap(void)const \n4319 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap(void)const \n4320 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap(void)const \n4321 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap(void)const \n4322 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap(void)const \n4323 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap(void)const \n4324 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap(void)const \n4325 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap(void)const \n4326 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap(void)const \n4327 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap(void)const \n4328 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap(void)const \n4329 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap(void)const \n4330 IRichEditOle * CRichEditCtrl::GetIRichEditOle(void)const \n4331 int CDaoWorkspace::GetIsolateODBCTrans(void)\n4332 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMA *)\n4333 int CHeaderCtrl::GetItem(int,_HD_ITEMA *)const \n4334 int CListCtrl::GetItem(tagLVITEMA *)const \n4335 int CTabCtrl::GetItem(int,tagTCITEMA *)const \n4336 int CTreeCtrl::GetItem(tagTVITEMA *)const \n4337 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4338 int CHeaderCtrl::GetItemCount(void)const \n4339 int CListCtrl::GetItemCount(void)const \n4340 int CTabCtrl::GetItemCount(void)const \n4341 unsigned long CComboBox::GetItemData(int)const \n4342 unsigned long CListBox::GetItemData(int)const \n4343 unsigned long CListCtrl::GetItemData(int)const \n4344 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4345 void * CComboBox::GetItemDataPtr(int)const \n4346 void * CListBox::GetItemDataPtr(int)const \n4347 int CComboBox::GetItemHeight(int)const \n4348 int CListBox::GetItemHeight(int)const \n4349 short CTreeCtrl::GetItemHeight(void)const \n4350 unsigned int CStatusBar::GetItemID(int)const \n4351 unsigned int CToolBar::GetItemID(int)const \n4352 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4353 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetItemName(void)\n4354 void COleClientItem::GetItemName(char *)const \n4355 void COleClientItem::GetItemName(char *,unsigned int)const \n4356 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleServerItem::GetItemName(void)const \n4357 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4358 void COleServerDoc::GetItemPosition(tagRECT *)const \n4359 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4360 int CListBox::GetItemRect(int,tagRECT *)const \n4361 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4362 void CStatusBar::GetItemRect(int,tagRECT *)const \n4363 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4364 void CToolBar::GetItemRect(int,tagRECT *)const \n4365 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4366 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4367 int CListCtrl::GetItemSpacing(int,int *,int *)const \n4368 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4369 unsigned int COleClientItem::GetItemState(void)const \n4370 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4371 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4372 void COleClientItem::GetItemStorage(void)\n4373 void COleClientItem::GetItemStorageCompound(void)\n4374 void COleClientItem::GetItemStorageFlat(void)\n4375 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CListCtrl::GetItemText(int,int)const \n4376 int CListCtrl::GetItemText(int,int,char *,int)const \n4377 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4378 int CDC::GetKerningPairsA(int,tagKERNINGPAIR *)const \n4379 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4380 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4381 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4382 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4383 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4384 CWnd * CWnd::GetLastActivePopup(void)const \n4385 int CAsyncSocket::GetLastError(void)\n4386 unsigned int COleDialog::GetLastError(void)const \n4387 COleVariant CDaoRecordset::GetLastModifiedBookmark(void)\n4388 long COleClientItem::GetLastStatus(void)const \n4389 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4390 _TREEITEM * CTreeCtrl::GetLastVisibleItem(void)const \n4391 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4392 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4393 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4394 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4395 unsigned long CDC::GetLayout(void)const \n4396 long CRecordset::GetLBFetchSize(long)\n4397 void COleSafeArray::GetLBound(unsigned long,long *)\n4398 long CRecordset::GetLBReallocSize(long)\n4399 int CComboBox::GetLBText(int,char *)const \n4400 void CComboBox::GetLBText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4401 int CComboBox::GetLBTextLen(int)const \n4402 long CHtmlView::GetLeft(void)const \n4403 int ATL::CSimpleStringT<wchar_t,1>::GetLength(void)const \n4404 int ATL::CSimpleStringT<char,1>::GetLength(void)const \n4405 unsigned __int64 CFile::GetLength(void)const \n4406 unsigned __int64 CFileFind::GetLength(void)const \n4407 unsigned __int64 CGopherFileFind::GetLength(void)const \n4408 unsigned __int64 CInternetFile::GetLength(void)const \n4409 unsigned __int64 CMemFile::GetLength(void)const \n4410 unsigned __int64 COleStreamFile::GetLength(void)const \n4411 unsigned __int64 CSocketFile::GetLength(void)const \n4412 unsigned __int64 CStdioFile::GetLength(void)const \n4413 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4414 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4415 unsigned int CEdit::GetLimitText(void)const \n4416 long CRichEditCtrl::GetLimitText(void)const \n4417 int CEdit::GetLine(int,char *)const \n4418 int CEdit::GetLine(int,char *,int)const \n4419 int CRichEditCtrl::GetLine(int,char *)const \n4420 int CRichEditCtrl::GetLine(int,char *,int)const \n4421 unsigned long CTreeCtrl::GetLineColor(void)const \n4422 int CEdit::GetLineCount(void)const \n4423 int CRichEditCtrl::GetLineCount(void)const \n4424 int CSliderCtrl::GetLineSize(void)const \n4425 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4426 long COleUILinkInfo::GetLinkSource(unsigned long,char * *,unsigned long *,char * *,char * *,int *,int *)\n4427 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4428 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4429 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions(void)\n4430 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4431 CPtrList * CPropertySection::GetList(void)\n4432 CPtrList * CPropertySet::GetList(void)\n4433 CListCtrl & CListView::GetListCtrl(void)const \n4434 unsigned long CComboBox::GetLocale(void)const \n4435 unsigned long CListBox::GetLocale(void)const \n4436 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationName(void)const \n4437 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetLocationURL(void)const \n4438 CGopherLocator CGopherFileFind::GetLocator(void)const \n4439 int CGopherLocator::GetLocatorType(unsigned long &)const \n4440 int CDaoRecordset::GetLockingMode(void)\n4441 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4442 int CFont::GetLogFont(tagLOGFONTA *)\n4443 short CDaoWorkspace::GetLoginTimeout(void)\n4444 int CPen::GetLogPen(tagLOGPEN *)\n4445 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4446 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4447 long CFieldExchange::GetLongBinarySize(int)\n4448 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4449 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4450 CFrameWnd * COleIPFrameWnd::GetMainFrame(void)\n4451 CWnd * CWinThread::GetMainWnd(void)\n4452 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager(void)const \n4453 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager(void)const \n4454 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager(void)const \n4455 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager(void)const \n4456 int CDC::GetMapMode(void)const \n4457 void CToolTipCtrl::GetMargin(tagRECT *)const \n4458 unsigned long CEdit::GetMargins(void)const \n4459 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4460 CRect CRichEditView::GetMargins(void)const \n4461 int CConnectionPoint::GetMaxConnections(void)\n4462 unsigned int CPrintInfo::GetMaxPage(void)const \n4463 int CMonthCalCtrl::GetMaxSelCount(void)const \n4464 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4465 int CToolBarCtrl::GetMaxTextRows(void)const \n4466 int CToolTipCtrl::GetMaxTipWidth(void)const \n4467 unsigned long CMonthCalCtrl::GetMaxTodayWidth(void)const \n4468 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame(void)\n4469 CMenu * CFrameWnd::GetMenu(void)const \n4470 CMenu * CWnd::GetMenu(void)const \n4471 int CHtmlView::GetMenuBar(void)const \n4472 int CFrameWnd::GetMenuBarInfo(long,long,tagMENUBARINFO *)const \n4473 unsigned long CFrameWnd::GetMenuBarState(void)const \n4474 unsigned long CFrameWnd::GetMenuBarVisibility(void)const \n4475 unsigned long CMenu::GetMenuContextHelpId(void)const \n4476 unsigned int CMenu::GetMenuItemCount(void)const \n4477 unsigned int CMenu::GetMenuItemID(int)const \n4478 int CMenu::GetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n4479 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4480 int CMenu::GetMenuStringA(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int)const \n4481 int CMenu::GetMenuStringA(unsigned int,char *,int,unsigned int)const \n4482 CWnd * CFrameWnd::GetMessageBar(void)\n4483 CWnd * CMDIChildWnd::GetMessageBar(void)\n4484 AFX_MSGMAP const * CCheckListBox::GetMessageMap(void)const \n4485 AFX_MSGMAP const * CCmdTarget::GetMessageMap(void)const \n4486 AFX_MSGMAP const * CCommonDialog::GetMessageMap(void)const \n4487 AFX_MSGMAP const * CControlBar::GetMessageMap(void)const \n4488 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap(void)const \n4489 AFX_MSGMAP const * CCtrlView::GetMessageMap(void)const \n4490 AFX_MSGMAP const * CDaoRecordView::GetMessageMap(void)const \n4491 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap(void)const \n4492 AFX_MSGMAP const * CDialog::GetMessageMap(void)const \n4493 AFX_MSGMAP const * CDialogBar::GetMessageMap(void)const \n4494 AFX_MSGMAP const * CDockBar::GetMessageMap(void)const \n4495 AFX_MSGMAP const * CDocObjectServer::GetMessageMap(void)const \n4496 AFX_MSGMAP const * CDocument::GetMessageMap(void)const \n4497 AFX_MSGMAP const * CEditView::GetMessageMap(void)const \n4498 AFX_MSGMAP const * CFormView::GetMessageMap(void)const \n4499 AFX_MSGMAP const * CFrameWnd::GetMessageMap(void)const \n4500 AFX_MSGMAP const * CHtmlEditView::GetMessageMap(void)const \n4501 AFX_MSGMAP const * CHtmlView::GetMessageMap(void)const \n4502 AFX_MSGMAP const * CListCtrl::GetMessageMap(void)const \n4503 AFX_MSGMAP const * CListView::GetMessageMap(void)const \n4504 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap(void)const \n4505 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap(void)const \n4506 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap(void)const \n4507 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap(void)const \n4508 AFX_MSGMAP const * COleControl::GetMessageMap(void)const \n4509 AFX_MSGMAP const * COleDBRecordView::GetMessageMap(void)const \n4510 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap(void)const \n4511 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap(void)const \n4512 AFX_MSGMAP const * COlePropertyPage::GetMessageMap(void)const \n4513 AFX_MSGMAP const * COleResizeBar::GetMessageMap(void)const \n4514 AFX_MSGMAP const * COleServerDoc::GetMessageMap(void)const \n4515 AFX_MSGMAP const * CPreviewView::GetMessageMap(void)const \n4516 AFX_MSGMAP const * CPrintDialog::GetMessageMap(void)const \n4517 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap(void)const \n4518 AFX_MSGMAP const * CPropertyPage::GetMessageMap(void)const \n4519 AFX_MSGMAP const * CPropertySheet::GetMessageMap(void)const \n4520 AFX_MSGMAP const * CReBar::GetMessageMap(void)const \n4521 AFX_MSGMAP const * CRecordView::GetMessageMap(void)const \n4522 AFX_MSGMAP const * CRichEditView::GetMessageMap(void)const \n4523 AFX_MSGMAP const * CScrollView::GetMessageMap(void)const \n4524 AFX_MSGMAP const * CSocketWnd::GetMessageMap(void)const \n4525 AFX_MSGMAP const * CSplitterWnd::GetMessageMap(void)const \n4526 AFX_MSGMAP const * CStatusBar::GetMessageMap(void)const \n4527 AFX_MSGMAP const * CTabCtrl::GetMessageMap(void)const \n4528 AFX_MSGMAP const * CToolBar::GetMessageMap(void)const \n4529 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap(void)const \n4530 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap(void)const \n4531 AFX_MSGMAP const * CTreeCtrl::GetMessageMap(void)const \n4532 AFX_MSGMAP const * CTreeView::GetMessageMap(void)const \n4533 AFX_MSGMAP const * CView::GetMessageMap(void)const \n4534 AFX_MSGMAP const * CWinApp::GetMessageMap(void)const \n4535 AFX_MSGMAP const * CWnd::GetMessageMap(void)const \n4536 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4537 void COleControl::GetMessageString(unsigned int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4538 long CDataSourceControl::GetMetaData(void)\n4539 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4540 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4541 unsigned int CPrintInfo::GetMinPage(void)const \n4542 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4543 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4544 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4545 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4546 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4547 float CDC::GetMiterLimit(void)const \n4548 int CEdit::GetModify(void)const \n4549 int CRichEditCtrl::GetModify(void)const \n4550 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4551 IMoniker * CMonikerFile::GetMoniker(void)const \n4552 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4553 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4554 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4555 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4556 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4557 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4558 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4559 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4560 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4561 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4562 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4563 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl(void)const \n4564 CFont * CDateTimeCtrl::GetMonthCalFont(void)const \n4565 int CMonthCalCtrl::GetMonthDelta(void)const \n4566 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4567 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4568 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4569 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetName(void)\n4570 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetName(void)\n4571 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetName(void)\n4572 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetName(void)\n4573 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetName(void)\n4574 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4575 unsigned long CDC::GetNearestColor(unsigned long)const \n4576 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4577 unsigned long COleClientItem::GetNewItemNumber(void)\n4578 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4579 CDataBoundProperty * CDataBoundProperty::GetNext(void)\n4580 CObject * & CObList::GetNext(__POSITION * &)\n4581 CObject const * CObList::GetNext(__POSITION * &)const \n4582 void * & CPtrList::GetNext(__POSITION * &)\n4583 void const * CPtrList::GetNext(__POSITION * &)const \n4584 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetNext(__POSITION * &)\n4585 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetNext(__POSITION * &)const \n4586 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4587 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4588 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CObject * &)const \n4589 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void * &)const \n4590 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4591 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4592 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4593 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4594 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4595 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4596 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4597 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4598 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4599 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4600 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4601 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4602 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4603 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4604 int CListCtrl::GetNextItem(int,int)const \n4605 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4606 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4607 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4608 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4609 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4610 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4611 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4612 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4613 CView * CDocument::GetNextView(__POSITION * &)const \n4614 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4615 CWnd * CWnd::GetNextWindow(unsigned int)const \n4616 ATL::CStringData * CAfxStringMgr::GetNilString(void)\n4617 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4618 void CCmdTarget::GetNotSupported(void)\n4619 void COleControl::GetNotSupported(void)\n4620 unsigned int CListCtrl::GetNumberOfWorkAreas(void)const \n4621 unsigned int CSliderCtrl::GetNumTics(void)const \n4622 int CGdiObject::GetObject(int,void *)const \n4623 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObject(void)const \n4624 int CGdiObject::GetObjectA(int,void *)const \n4625 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetObjectA(void)const \n4626 long COleLinkingDoc::XOleItemContainer::GetObjectA(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4627 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4628 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4629 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4630 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,char * *,char * *,char * *,char * *)\n4631 unsigned int CArchive::GetObjectSchema(void)\n4632 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4633 unsigned int CGdiObject::GetObjectType(void)const \n4634 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo(void)\n4635 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo(void)\n4636 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo(void)\n4637 short CRecordset::GetODBCFieldCount(void)const \n4638 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4639 void CRecordset::GetODBCFieldInfo(char const *,CODBCFieldInfo &)\n4640 short CDaoQueryDef::GetODBCTimeout(void)\n4641 int CHtmlView::GetOffline(void)const \n4642 tagOFNA & CFileDialog::GetOFN(void)\n4643 tagOFNA const & CFileDialog::GetOFN(void)const \n4644 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4645 IOleObject * COleServerItem::GetOleObject(void)\n4646 unsigned long COleSafeArray::GetOneDimSize(void)\n4647 CWnd * CWnd::GetOpenClipboardWindow(void)\n4648 int CDocManager::GetOpenDocumentCount(void)\n4649 int CWinApp::GetOpenDocumentCount(void)\n4650 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4651 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4652 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4653 unsigned int CRichEditCtrl::GetOptions(void)const \n4654 int CHeaderCtrl::GetOrderArray(int *,int)const \n4655 int CListCtrl::GetOrigin(tagPOINT *)const \n4656 unsigned long CPropertySet::GetOSVersion(void)\n4657 CWnd * COleControl::GetOuterWindow(void)const \n4658 unsigned int CDC::GetOutlineTextMetricsA(unsigned int,_OUTLINETEXTMETRICA *)const \n4659 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4660 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n4661 CSize CDC::GetOutputTabbedTextExtent(char const *,int,int,int *)const \n4662 CSize CDC::GetOutputTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n4663 CSize CDC::GetOutputTextExtent(char const *,int)const \n4664 int CDC::GetOutputTextMetrics(tagTEXTMETRICA *)const \n4665 CWnd * CWnd::GetOwner(void)const \n4666 void CToolBarCtrl::GetPadding(int &,int &)const \n4667 CPropertyPage * CPropertySheet::GetPage(int)const \n4668 int COleDocObjectItem::GetPageCount(long *,long *)\n4669 int CPropertySheet::GetPageCount(void)const \n4670 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4671 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4672 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4673 CRect CRichEditView::GetPageRect(void)const \n4674 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4675 IPropertyPageSite * COlePropertyPage::GetPageSite(void)\n4676 int CSliderCtrl::GetPageSize(void)const \n4677 CPalette * CReBarCtrl::GetPalette(void)const \n4678 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4679 CWnd * CSplitterWnd::GetPane(int,int)const \n4680 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4681 unsigned int CStatusBar::GetPaneStyle(int)const \n4682 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBar::GetPaneText(int)const \n4683 void CStatusBar::GetPaneText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n4684 CSize CPageSetupDialog::GetPaperSize(void)const \n4685 CSize CRichEditView::GetPaperSize(void)const \n4686 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4687 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4688 PARAFORMAT2 & CRichEditView::GetParaFormatSelection(void)\n4689 short CDaoQueryDef::GetParameterCount(void)\n4690 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n4691 void CDaoQueryDef::GetParameterInfo(char const *,CDaoParameterInfo &,unsigned long)\n4692 COleVariant CDaoQueryDef::GetParamValue(int)\n4693 COleVariant CDaoQueryDef::GetParamValue(char const *)\n4694 COleVariant CDaoRecordset::GetParamValue(int)\n4695 COleVariant CDaoRecordset::GetParamValue(char const *)\n4696 CWnd * CWnd::GetParent(void)const \n4697 IDispatch * CHtmlView::GetParentBrowser(void)const \n4698 CFrameWnd * CWnd::GetParentFrame(void)const \n4699 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4700 CWnd * CWnd::GetParentOwner(void)const \n4701 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4702 int CStatusBarCtrl::GetParts(int,int *)const \n4703 char CEdit::GetPasswordChar(void)const \n4704 int COlePasteSpecialDialog::GetPasteIndex(void)const \n4705 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDataPathProperty::GetPath(void)const \n4706 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4707 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetPathName(void)const \n4708 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileDialog::GetPathName(void)const \n4709 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleInsertDialog::GetPathName(void)const \n4710 int CAsyncSocket::GetPeerName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n4711 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4712 float CDaoRecordset::GetPercentPosition(void)\n4713 IPictureDisp * CPictureHolder::GetPictureDispatch(void)\n4714 unsigned long CDC::GetPixel(int,int)const \n4715 unsigned long CDC::GetPixel(tagPOINT)const \n4716 int CDC::GetPolyFillMode(void)const \n4717 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPageSetupDialog::GetPortName(void)const \n4718 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialog::GetPortName(void)const \n4719 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CPrintDialogEx::GetPortName(void)const \n4720 int CProgressCtrl::GetPos(void)const \n4721 int CSliderCtrl::GetPos(void)const \n4722 int CSpinButtonCtrl::GetPos(void)const \n4723 int CSpinButtonCtrl::GetPos32(int *)const \n4724 unsigned __int64 CFile::GetPosition(void)const \n4725 unsigned __int64 CMemFile::GetPosition(void)const \n4726 unsigned __int64 COleStreamFile::GetPosition(void)const \n4727 unsigned __int64 CSocketFile::GetPosition(void)const \n4728 unsigned __int64 CStdioFile::GetPosition(void)const \n4729 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4730 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4731 CObject * & CObList::GetPrev(__POSITION * &)\n4732 CObject const * CObList::GetPrev(__POSITION * &)const \n4733 void * & CPtrList::GetPrev(__POSITION * &)\n4734 void const * CPtrList::GetPrev(__POSITION * &)const \n4735 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetPrev(__POSITION * &)\n4736 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetPrev(__POSITION * &)const \n4737 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4738 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4739 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4740 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4741 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4742 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4743 HDC__ * CPrintDialog::GetPrinterDC(void)const \n4744 HDC__ * CPrintDialogEx::GetPrinterDC(void)const \n4745 int CWinApp::GetPrinterDeviceDefaults(tagPDA *)\n4746 CFont * CEditView::GetPrinterFont(void)const \n4747 CRect CRichEditView::GetPrintRect(void)const \n4748 int CRichEditView::GetPrintWidth(void)const \n4749 long CAsyncMonikerFile::GetPriority(void)const \n4750 void * CThemeHelper::GetProc(char const *,void *)\n4751 int CWinApp::GetProfileBinary(char const *,char const *,unsigned char * *,unsigned int *)\n4752 unsigned int CWinApp::GetProfileIntA(char const *,char const *,int)\n4753 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CWinApp::GetProfileStringA(char const *,char const *,char const *)\n4754 int COlePropertyPage::GetPropCheck(char const *,int *)\n4755 COleVariant CHtmlView::GetProperty(char const *)\n4756 int CHtmlView::GetProperty(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4757 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4758 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4759 CProperty * CPropertySection::GetProperty(unsigned long)\n4760 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4761 void CWnd::GetProperty(long,unsigned short,void *)const \n4762 int COlePropertyPage::GetPropIndex(char const *,int *)\n4763 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4764 int COlePropertyPage::GetPropRadio(char const *,int *)\n4765 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4766 int COlePropertyPage::GetPropText(char const *,unsigned char *)\n4767 int COlePropertyPage::GetPropText(char const *,short *)\n4768 int COlePropertyPage::GetPropText(char const *,int *)\n4769 int COlePropertyPage::GetPropText(char const *,unsigned int *)\n4770 int COlePropertyPage::GetPropText(char const *,long *)\n4771 int COlePropertyPage::GetPropText(char const *,unsigned long *)\n4772 int COlePropertyPage::GetPropText(char const *,float *)\n4773 int COlePropertyPage::GetPropText(char const *,double *)\n4774 int COlePropertyPage::GetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n4775 _PROPSHEETPAGEA & CPropertyPage::GetPSP(void)\n4776 _PROPSHEETPAGEA const & CPropertyPage::GetPSP(void)const \n4777 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4778 short CDaoDatabase::GetQueryDefCount(void)\n4779 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n4780 void CDaoDatabase::GetQueryDefInfo(char const *,CDaoQueryDefInfo &,unsigned long)\n4781 short CDaoDatabase::GetQueryTimeout(void)\n4782 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4783 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4784 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4785 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4786 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4787 void CProgressCtrl::GetRange(int &,int &)const \n4788 void CSliderCtrl::GetRange(int &,int &)const \n4789 unsigned long CSpinButtonCtrl::GetRange(void)const \n4790 void CSpinButtonCtrl::GetRange(int &,int &)const \n4791 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4792 int CSliderCtrl::GetRangeMax(void)const \n4793 int CSliderCtrl::GetRangeMin(void)const \n4794 void * CProperty::GetRawValue(void)\n4795 int CFileDialog::GetReadOnlyPref(void)const \n4796 enum tagREADYSTATE CHtmlView::GetReadyState(void)const \n4797 long COleControl::GetReadyState(void)\n4798 CReBarCtrl & CReBar::GetReBarCtrl(void)const \n4799 long CDaoRecordset::GetRecordCount(void)\n4800 long CDaoTableDef::GetRecordCount(void)\n4801 long CRecordset::GetRecordCount(void)const \n4802 long CDaoDatabase::GetRecordsAffected(void)\n4803 long CDaoQueryDef::GetRecordsAffected(void)\n4804 void CEdit::GetRect(tagRECT *)const \n4805 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4806 void CRichEditCtrl::GetRect(tagRECT *)const \n4807 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4808 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4809 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4810 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4811 int COleControl::GetRectInContainer(tagRECT *)\n4812 enum _undonameid CRichEditCtrl::GetRedoName(void)const \n4813 int CRgn::GetRegionData(_RGNDATA *,int)const \n4814 int CHtmlView::GetRegisterAsBrowser(void)const \n4815 int CHtmlView::GetRegisterAsDropTarget(void)const \n4816 short CDaoDatabase::GetRelationCount(void)\n4817 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n4818 void CDaoDatabase::GetRelationInfo(char const *,CDaoRelationInfo &,unsigned long)\n4819 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFindReplaceDialog::GetReplaceString(void)const \n4820 int CDaoQueryDef::GetReturnsRecords(void)\n4821 int CRgn::GetRgnBox(tagRECT *)const \n4822 CRichEditCtrl & CRichEditView::GetRichEditCtrl(void)const \n4823 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFileFind::GetRoot(void)const \n4824 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetRoot(void)const \n4825 _TREEITEM * CTreeCtrl::GetRootItem(void)const \n4826 int CDC::GetROP2(void)const \n4827 CFrameWnd * CCmdTarget::GetRoutingFrame(void)\n4828 CFrameWnd * CCmdTarget::GetRoutingFrame_(void)\n4829 CView * CCmdTarget::GetRoutingView(void)\n4830 CView * CCmdTarget::GetRoutingView_(void)\n4831 unsigned int CReBarCtrl::GetRowCount(void)const \n4832 int CSplitterWnd::GetRowCount(void)const \n4833 int CTabCtrl::GetRowCount(void)const \n4834 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4835 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4836 int CToolBarCtrl::GetRows(void)const \n4837 unsigned long CRecordset::GetRowsetSize(void)const \n4838 unsigned long CRecordset::GetRowsFetched(void)const \n4839 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4840 CRuntime* CAnimateCtrl::GetRuntimeClass(void)const \n4841 CRuntime* CArchiveException::GetRuntimeClass(void)const \n4842 CRuntime* CAsyncMonikerFile::GetRuntimeClass(void)const \n4843 CRuntime* CAsyncSocket::GetRuntimeClass(void)const \n4844 CRuntime* CBitmap::GetRuntimeClass(void)const \n4845 CRuntime* CBitmapButton::GetRuntimeClass(void)const \n4846 CRuntime* CBrush::GetRuntimeClass(void)const \n4847 CRuntime* CButton::GetRuntimeClass(void)const \n4848 CRuntime* CByteArray::GetRuntimeClass(void)const \n4849 CRuntime* CCachedDataPathProperty::GetRuntimeClass(void)const \n4850 CRuntime* CCheckListBox::GetRuntimeClass(void)const \n4851 CRuntime* CClientDC::GetRuntimeClass(void)const \n4852 CRuntime* CCmdTarget::GetRuntimeClass(void)const \n4853 CRuntime* CColorDialog::GetRuntimeClass(void)const \n4854 CRuntime* CComboBox::GetRuntimeClass(void)const \n4855 CRuntime* CComboBoxEx::GetRuntimeClass(void)const \n4856 CRuntime* CCommonDialog::GetRuntimeClass(void)const \n4857 CRuntime* CControlBar::GetRuntimeClass(void)const \n4858 CRuntime* CCriticalSection::GetRuntimeClass(void)const \n4859 CRuntime* CCtrlView::GetRuntimeClass(void)const \n4860 CRuntime* CDaoDatabase::GetRuntimeClass(void)const \n4861 CRuntime* CDaoException::GetRuntimeClass(void)const \n4862 CRuntime* CDaoQueryDef::GetRuntimeClass(void)const \n4863 CRuntime* CDaoRecordset::GetRuntimeClass(void)const \n4864 CRuntime* CDaoRecordView::GetRuntimeClass(void)const \n4865 CRuntime* CDaoTableDef::GetRuntimeClass(void)const \n4866 CRuntime* CDaoWorkspace::GetRuntimeClass(void)const \n4867 CRuntime* CDatabase::GetRuntimeClass(void)const \n4868 CRuntime* CDataPathProperty::GetRuntimeClass(void)const \n4869 CRuntime* CDateTimeCtrl::GetRuntimeClass(void)const \n4870 CRuntime* CDBException::GetRuntimeClass(void)const \n4871 CRuntime* CDC::GetRuntimeClass(void)const \n4872 CRuntime* CDHtmlDialog::GetRuntimeClass(void)const \n4873 CRuntime* CDialog::GetRuntimeClass(void)const \n4874 CRuntime* CDialogBar::GetRuntimeClass(void)const \n4875 CRuntime* CDocItem::GetRuntimeClass(void)const \n4876 CRuntime* CDockBar::GetRuntimeClass(void)const \n4877 CRuntime* CDockState::GetRuntimeClass(void)const \n4878 CRuntime* CDocManager::GetRuntimeClass(void)const \n4879 CRuntime* CDocObjectServer::GetRuntimeClass(void)const \n4880 CRuntime* CDocObjectServerItem::GetRuntimeClass(void)const \n4881 CRuntime* CDocTemplate::GetRuntimeClass(void)const \n4882 CRuntime* CDocument::GetRuntimeClass(void)const \n4883 CRuntime* CDragListBox::GetRuntimeClass(void)const \n4884 CRuntime* CDWordArray::GetRuntimeClass(void)const \n4885 CRuntime* CDynLinkLibrary::GetRuntimeClass(void)const \n4886 CRuntime* CEdit::GetRuntimeClass(void)const \n4887 CRuntime* CEditView::GetRuntimeClass(void)const \n4888 CRuntime* CEvent::GetRuntimeClass(void)const \n4889 CRuntime* CException::GetRuntimeClass(void)const \n4890 CRuntime* CFile::GetRuntimeClass(void)const \n4891 CRuntime* CFileDialog::GetRuntimeClass(void)const \n4892 CRuntime* CFileException::GetRuntimeClass(void)const \n4893 CRuntime* CFileFind::GetRuntimeClass(void)const \n4894 CRuntime* CFindReplaceDialog::GetRuntimeClass(void)const \n4895 CRuntime* CFont::GetRuntimeClass(void)const \n4896 CRuntime* CFontDialog::GetRuntimeClass(void)const \n4897 CRuntime* CFormView::GetRuntimeClass(void)const \n4898 CRuntime* CFrameWnd::GetRuntimeClass(void)const \n4899 CRuntime* CFtpConnection::GetRuntimeClass(void)const \n4900 CRuntime* CFtpFileFind::GetRuntimeClass(void)const \n4901 CRuntime* CGdiObject::GetRuntimeClass(void)const \n4902 CRuntime* CGopherConnection::GetRuntimeClass(void)const \n4903 CRuntime* CGopherFile::GetRuntimeClass(void)const \n4904 CRuntime* CGopherFileFind::GetRuntimeClass(void)const \n4905 CRuntime* CHeaderCtrl::GetRuntimeClass(void)const \n4906 CRuntime* CHotKeyCtrl::GetRuntimeClass(void)const \n4907 CRuntime* CHtmlEditDoc::GetRuntimeClass(void)const \n4908 CRuntime* CHtmlEditView::GetRuntimeClass(void)const \n4909 CRuntime* CHtmlView::GetRuntimeClass(void)const \n4910 CRuntime* CHttpConnection::GetRuntimeClass(void)const \n4911 CRuntime* CHttpFile::GetRuntimeClass(void)const \n4912 CRuntime* CImageList::GetRuntimeClass(void)const \n4913 CRuntime* CInternetConnection::GetRuntimeClass(void)const \n4914 CRuntime* CInternetException::GetRuntimeClass(void)const \n4915 CRuntime* CInternetFile::GetRuntimeClass(void)const \n4916 CRuntime* CInternetSession::GetRuntimeClass(void)const \n4917 CRuntime* CInvalidArgException::GetRuntimeClass(void)const \n4918 CRuntime* CIPAddressCtrl::GetRuntimeClass(void)const \n4919 CRuntime* CLinkCtrl::GetRuntimeClass(void)const \n4920 CRuntime* CListBox::GetRuntimeClass(void)const \n4921 CRuntime* CListCtrl::GetRuntimeClass(void)const \n4922 CRuntime* CListView::GetRuntimeClass(void)const \n4923 CRuntime* CLongBinary::GetRuntimeClass(void)const \n4924 CRuntime* CMapPtrToPtr::GetRuntimeClass(void)const \n4925 CRuntime* CMapPtrToWord::GetRuntimeClass(void)const \n4926 CRuntime* CMapStringToOb::GetRuntimeClass(void)const \n4927 CRuntime* CMapStringToPtr::GetRuntimeClass(void)const \n4928 CRuntime* CMapStringToString::GetRuntimeClass(void)const \n4929 CRuntime* CMapWordToOb::GetRuntimeClass(void)const \n4930 CRuntime* CMapWordToPtr::GetRuntimeClass(void)const \n4931 CRuntime* CMDIChildWnd::GetRuntimeClass(void)const \n4932 CRuntime* CMDIFrameWnd::GetRuntimeClass(void)const \n4933 CRuntime* CMemFile::GetRuntimeClass(void)const \n4934 CRuntime* CMemoryException::GetRuntimeClass(void)const \n4935 CRuntime* CMenu::GetRuntimeClass(void)const \n4936 CRuntime* CMetaFileDC::GetRuntimeClass(void)const \n4937 CRuntime* CMiniDockFrameWnd::GetRuntimeClass(void)const \n4938 CRuntime* CMiniFrameWnd::GetRuntimeClass(void)const \n4939 CRuntime* CMonikerFile::GetRuntimeClass(void)const \n4940 CRuntime* CMonthCalCtrl::GetRuntimeClass(void)const \n4941 CRuntime* CMultiDocTemplate::GetRuntimeClass(void)const \n4942 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass(void)const \n4943 CRuntime* CMutex::GetRuntimeClass(void)const \n4944 CRuntime* CNotSupportedException::GetRuntimeClass(void)const \n4945 CRuntime* CObArray::GetRuntimeClass(void)const \n4946 CRuntime* CObject::GetRuntimeClass(void)const \n4947 CRuntime* CObList::GetRuntimeClass(void)const \n4948 CRuntime* COleBusyDialog::GetRuntimeClass(void)const \n4949 CRuntime* COleChangeIconDialog::GetRuntimeClass(void)const \n4950 CRuntime* COleChangeSourceDialog::GetRuntimeClass(void)const \n4951 CRuntime* COleClientItem::GetRuntimeClass(void)const \n4952 CRuntime* COleControl::GetRuntimeClass(void)const \n4953 CRuntime* COleControlModule::GetRuntimeClass(void)const \n4954 CRuntime* COleConvertDialog::GetRuntimeClass(void)const \n4955 CRuntime* COleDBRecordView::GetRuntimeClass(void)const \n4956 CRuntime* COleDialog::GetRuntimeClass(void)const \n4957 CRuntime* COleDispatchException::GetRuntimeClass(void)const \n4958 CRuntime* COleDocIPFrameWnd::GetRuntimeClass(void)const \n4959 CRuntime* COleDocObjectItem::GetRuntimeClass(void)const \n4960 CRuntime* COleDocument::GetRuntimeClass(void)const \n4961 CRuntime* COleException::GetRuntimeClass(void)const \n4962 CRuntime* COleInsertDialog::GetRuntimeClass(void)const \n4963 CRuntime* COleIPFrameWnd::GetRuntimeClass(void)const \n4964 CRuntime* COleLinkingDoc::GetRuntimeClass(void)const \n4965 CRuntime* COleLinksDialog::GetRuntimeClass(void)const \n4966 CRuntime* COleObjectFactory::GetRuntimeClass(void)const \n4967 CRuntime* COlePasteSpecialDialog::GetRuntimeClass(void)const \n4968 CRuntime* COlePropertiesDialog::GetRuntimeClass(void)const \n4969 CRuntime* COlePropertyPage::GetRuntimeClass(void)const \n4970 CRuntime* COleResizeBar::GetRuntimeClass(void)const \n4971 CRuntime* COleServerDoc::GetRuntimeClass(void)const \n4972 CRuntime* COleServerItem::GetRuntimeClass(void)const \n4973 CRuntime* COleStreamFile::GetRuntimeClass(void)const \n4974 CRuntime* COleUpdateDialog::GetRuntimeClass(void)const \n4975 CRuntime* CPagerCtrl::GetRuntimeClass(void)const \n4976 CRuntime* CPageSetupDialog::GetRuntimeClass(void)const \n4977 CRuntime* CPaintDC::GetRuntimeClass(void)const \n4978 CRuntime* CPalette::GetRuntimeClass(void)const \n4979 CRuntime* CPen::GetRuntimeClass(void)const \n4980 CRuntime* CPreviewDC::GetRuntimeClass(void)const \n4981 CRuntime* CPreviewView::GetRuntimeClass(void)const \n4982 CRuntime* CPrintDialog::GetRuntimeClass(void)const \n4983 CRuntime* CPrintDialogEx::GetRuntimeClass(void)const \n4984 CRuntime* CProgressCtrl::GetRuntimeClass(void)const \n4985 CRuntime* CPropertyPage::GetRuntimeClass(void)const \n4986 CRuntime* CPropertySheet::GetRuntimeClass(void)const \n4987 CRuntime* CPtrArray::GetRuntimeClass(void)const \n4988 CRuntime* CPtrList::GetRuntimeClass(void)const \n4989 CRuntime* CReBar::GetRuntimeClass(void)const \n4990 CRuntime* CReBarCtrl::GetRuntimeClass(void)const \n4991 CRuntime* CRecordset::GetRuntimeClass(void)const \n4992 CRuntime* CRecordView::GetRuntimeClass(void)const \n4993 CRuntime* CResourceException::GetRuntimeClass(void)const \n4994 CRuntime* CRgn::GetRuntimeClass(void)const \n4995 CRuntime* CRichEditCntrItem::GetRuntimeClass(void)const \n4996 CRuntime* CRichEditCtrl::GetRuntimeClass(void)const \n4997 CRuntime* CRichEditDoc::GetRuntimeClass(void)const \n4998 CRuntime* CRichEditView::GetRuntimeClass(void)const \n4999 CRuntime* CScrollBar::GetRuntimeClass(void)const \n5000 CRuntime* CScrollView::GetRuntimeClass(void)const \n5001 CRuntime* CSemaphore::GetRuntimeClass(void)const \n5002 CRuntime* CSharedFile::GetRuntimeClass(void)const \n5003 CRuntime* CSimpleException::GetRuntimeClass(void)const \n5004 CRuntime* CSingleDocTemplate::GetRuntimeClass(void)const \n5005 CRuntime* CSliderCtrl::GetRuntimeClass(void)const \n5006 CRuntime* CSocket::GetRuntimeClass(void)const \n5007 CRuntime* CSocketFile::GetRuntimeClass(void)const \n5008 CRuntime* CSpinButtonCtrl::GetRuntimeClass(void)const \n5009 CRuntime* CSplitterWnd::GetRuntimeClass(void)const \n5010 CRuntime* CStatic::GetRuntimeClass(void)const \n5011 CRuntime* CStatusBar::GetRuntimeClass(void)const \n5012 CRuntime* CStatusBarCtrl::GetRuntimeClass(void)const \n5013 CRuntime* CStdioFile::GetRuntimeClass(void)const \n5014 CRuntime* CStringArray::GetRuntimeClass(void)const \n5015 CRuntime* CStringList::GetRuntimeClass(void)const \n5016 CRuntime* CSyncObject::GetRuntimeClass(void)const \n5017 CRuntime* CTabCtrl::GetRuntimeClass(void)const \n5018 CRuntime* CToolBar::GetRuntimeClass(void)const \n5019 CRuntime* CToolBarCtrl::GetRuntimeClass(void)const \n5020 CRuntime* CToolTipCtrl::GetRuntimeClass(void)const \n5021 CRuntime* CTreeCtrl::GetRuntimeClass(void)const \n5022 CRuntime* CTreeView::GetRuntimeClass(void)const \n5023 CRuntime* CUIntArray::GetRuntimeClass(void)const \n5024 CRuntime* CUserException::GetRuntimeClass(void)const \n5025 CRuntime* CView::GetRuntimeClass(void)const \n5026 CRuntime* CWinApp::GetRuntimeClass(void)const \n5027 CRuntime* CWindowDC::GetRuntimeClass(void)const \n5028 CRuntime* CWindowlessDC::GetRuntimeClass(void)const \n5029 CRuntime* CWinThread::GetRuntimeClass(void)const \n5030 CRuntime* CWnd::GetRuntimeClass(void)const \n5031 CRuntime* CWordArray::GetRuntimeClass(void)const \n5032 void * CGdiObject::GetSafeHandle(void)const \n5033 _IMAGELIST * CImageList::GetSafeHandle(void)const \n5034 HDC__ * CDC::GetSafeHdc(void)const \n5035 HMENU__ * CMenu::GetSafeHmenu(void)const \n5036 HWND__ * CWnd::GetSafeHwnd(void)const \n5037 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n5038 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n5039 unsigned long * CColorDialog::GetSavedCustomColors(void)\n5040 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CGopherFileFind::GetScreenName(void)const \n5041 CSize CDockState::GetScreenSize(void)\n5042 CScrollBar * CView::GetScrollBarCtrl(int)const \n5043 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n5044 void CScrollView::GetScrollBarSizes(CSize &)\n5045 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n5046 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n5047 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n5048 int CScrollBar::GetScrollLimit(void)\n5049 int CWnd::GetScrollLimit(int)\n5050 int CScrollBar::GetScrollPos(void)const \n5051 int CWnd::GetScrollPos(int)const \n5052 CPoint CScrollView::GetScrollPosition(void)const \n5053 void CScrollBar::GetScrollRange(int *,int *)const \n5054 void CWnd::GetScrollRange(int,int *,int *)const \n5055 unsigned long CSplitterWnd::GetScrollStyle(void)const \n5056 unsigned int CTreeCtrl::GetScrollTime(void)const \n5057 CPropertySection * CPropertySet::GetSection(_GUID)\n5058 HKEY__ * CWinApp::GetSectionKey(char const *)\n5059 char const * CPropertySection::GetSectionName(void)\n5060 unsigned long CEdit::GetSel(void)const \n5061 void CEdit::GetSel(int &,int &)const \n5062 int CListBox::GetSel(int)const \n5063 void CRichEditCtrl::GetSel(long &,long &)const \n5064 void CRichEditCtrl::GetSel(_charrange &)const \n5065 int CListBox::GetSelCount(void)const \n5066 unsigned int CListCtrl::GetSelectedCount(void)const \n5067 CRichEditCntrItem * CRichEditView::GetSelectedItem(void)const \n5068 _TREEITEM * CTreeCtrl::GetSelectedItem(void)const \n5069 void CEditView::GetSelectedText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5070 void CSliderCtrl::GetSelection(int &,int &)const \n5071 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformat &)const \n5072 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2A &)const \n5073 int CListCtrl::GetSelectionMark(void)const \n5074 unsigned int COleBusyDialog::GetSelectionType(void)const \n5075 unsigned int COleConvertDialog::GetSelectionType(void)const \n5076 unsigned int COleInsertDialog::GetSelectionType(void)const \n5077 unsigned int COlePasteSpecialDialog::GetSelectionType(void)const \n5078 unsigned short CRichEditCtrl::GetSelectionType(void)const \n5079 int CListBox::GetSelItems(int,int *)const \n5080 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n5081 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n5082 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n5083 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CRichEditCtrl::GetSelText(void)const \n5084 long CRichEditCtrl::GetSelText(char *)const \n5085 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CInternetConnection::GetServerName(void)const \n5086 CInternetSession * CInternetConnection::GetSession(void)const \n5087 int CHtmlView::GetSilent(void)const \n5088 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n5089 int CByteArray::GetSize(void)const \n5090 int CDWordArray::GetSize(void)const \n5091 int CFontDialog::GetSize(void)const \n5092 int CMapPtrToPtr::GetSize(void)const \n5093 int CMapPtrToWord::GetSize(void)const \n5094 int CMapStringToOb::GetSize(void)const \n5095 int CMapStringToPtr::GetSize(void)const \n5096 int CMapStringToString::GetSize(void)const \n5097 int CMapWordToOb::GetSize(void)const \n5098 int CMapWordToPtr::GetSize(void)const \n5099 int CObArray::GetSize(void)const \n5100 int CObList::GetSize(void)const \n5101 unsigned long CPropertySection::GetSize(void)\n5102 int CPtrArray::GetSize(void)const \n5103 int CPtrList::GetSize(void)const \n5104 int CStringArray::GetSize(void)const \n5105 int CStringList::GetSize(void)const \n5106 int CUIntArray::GetSize(void)const \n5107 int CWordArray::GetSize(void)const \n5108 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n5109 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n5110 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n5111 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n5112 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n5113 CWnd * CSplitterWnd::GetSizingParent(void)\n5114 int CAsyncSocket::GetSockName(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &)\n5115 int CAsyncSocket::GetSockName(sockaddr *,int *)\n5116 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n5117 int CHtmlView::GetSource(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5118 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetSourceTableName(void)\n5119 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoQueryDef::GetSQL(void)\n5120 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetSQL(void)const \n5121 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetSQL(void)const \n5122 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n5123 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n5124 char const * CHtmlEditCtrl::GetStartDocument(void)\n5125 char const * CHtmlEditView::GetStartDocument(void)\n5126 __POSITION * CConnectionPoint::GetStartPosition(void)const \n5127 __POSITION * CFileDialog::GetStartPosition(void)const \n5128 __POSITION * CMapPtrToPtr::GetStartPosition(void)const \n5129 __POSITION * CMapPtrToWord::GetStartPosition(void)const \n5130 __POSITION * CMapStringToOb::GetStartPosition(void)const \n5131 __POSITION * CMapStringToPtr::GetStartPosition(void)const \n5132 __POSITION * CMapStringToString::GetStartPosition(void)const \n5133 __POSITION * CMapWordToOb::GetStartPosition(void)const \n5134 __POSITION * CMapWordToPtr::GetStartPosition(void)const \n5135 __POSITION * COleDocument::GetStartPosition(void)const \n5136 __POSITION * CRichEditDoc::GetStartPosition(void)const \n5137 unsigned int CButton::GetState(void)const \n5138 int CToolBarCtrl::GetState(int)const \n5139 int CFile::GetStatus(CFileStatus &)const \n5140 int CFile::GetStatus(char const *,CFileStatus &)\n5141 int CMemFile::GetStatus(CFileStatus &)const \n5142 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus(void)const \n5143 int COleStreamFile::GetStatus(CFileStatus &)const \n5144 void CRecordset::GetStatus(CRecordsetStatus &)const \n5145 int CHtmlView::GetStatusBar(void)const \n5146 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl(void)const \n5147 unsigned long COleControl::GetStockEventMask(void)const \n5148 unsigned long COleControl::GetStockPropMask(void)const \n5149 void COleControl::GetStockTextMetrics(tagTEXTMETRICA *)\n5150 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const COleStreamFile::GetStorageName(void)const \n5151 IStream * COleStreamFile::GetStream(void)const \n5152 int CRichEditDoc::GetStreamFormat(void)const \n5153 int CDC::GetStretchBltMode(void)const \n5154 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString(void)const \n5155 char const * ATL::CSimpleStringT<char,1>::GetString(void)const \n5156 int CToolBarCtrl::GetString(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5157 int CToolBarCtrl::GetString(int,char *,unsigned int)const \n5158 int CListCtrl::GetStringWidth(char const *)const \n5159 unsigned long COleControlSite::GetStyle(void)const \n5160 unsigned long COleControlSiteOrWnd::GetStyle(void)const \n5161 unsigned long CToolBarCtrl::GetStyle(void)const \n5162 unsigned long CWnd::GetStyle(void)const \n5163 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFontDialog::GetStyleName(void)const \n5164 int CListCtrl::GetSubItemRect(int,int,int,CRect &)const \n5165 CMenu * CMenu::GetSubMenu(int)const \n5166 long (__stdcall** CWnd::GetSuperWndProcAddr(void))(HWND__ *,unsigned int,unsigned int,long)\n5167 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n5168 CMenu * CWnd::GetSystemMenu(int)const \n5169 CSize CDC::GetTabbedTextExtentA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *)const \n5170 CSize CDC::GetTabbedTextExtentA(char const *,int,int,int *)const \n5171 CTabCtrl * CPropertySheet::GetTabControl(void)const \n5172 short CDaoDatabase::GetTableDefCount(void)\n5173 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n5174 void CDaoDatabase::GetTableDefInfo(char const *,CDaoTableDefInfo &,unsigned long)\n5175 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CRecordset::GetTableName(void)const \n5176 CObject * & CObList::GetTail(void)\n5177 CObject const * CObList::GetTail(void)const \n5178 void * & CPtrList::GetTail(void)\n5179 void const * CPtrList::GetTail(void)const \n5180 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & CStringList::GetTail(void)\n5181 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CStringList::GetTail(void)const \n5182 __POSITION * CObList::GetTailPosition(void)const \n5183 __POSITION * CPtrList::GetTailPosition(void)const \n5184 __POSITION * CStringList::GetTailPosition(void)const \n5185 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n5186 int CListBox::GetText(int,char *)const \n5187 void CListBox::GetText(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5188 wchar_t * COleControl::GetText(void)\n5189 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetText(int,int *)const \n5190 int CStatusBarCtrl::GetText(char *,int,int *)const \n5191 void CToolTipCtrl::GetText(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,CWnd *,unsigned int)const \n5192 unsigned int CDC::GetTextAlign(void)const \n5193 unsigned long CListCtrl::GetTextBkColor(void)const \n5194 int CDC::GetTextCharacterExtra(void)const \n5195 unsigned long CDC::GetTextColor(void)const \n5196 unsigned long CListCtrl::GetTextColor(void)const \n5197 unsigned long CReBarCtrl::GetTextColor(void)const \n5198 unsigned long CTreeCtrl::GetTextColor(void)const \n5199 CSize CDC::GetTextExtent(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)const \n5200 CSize CDC::GetTextExtent(char const *,int)const \n5201 int CDC::GetTextFaceA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5202 int CDC::GetTextFaceA(int,char *)const \n5203 int CListBox::GetTextLen(int)const \n5204 long CRecordset::GetTextLen(short,unsigned long)\n5205 long CRichEditCtrl::GetTextLength(void)const \n5206 long CRichEditView::GetTextLength(void)const \n5207 int CStatusBarCtrl::GetTextLength(int,int *)const \n5208 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n5209 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n5210 int CDC::GetTextMetrics(tagTEXTMETRICA *)const \n5211 int CDC::GetTextMetricsA(tagTEXTMETRICA *)const \n5212 unsigned int CRichEditCtrl::GetTextMode(void)const \n5213 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5214 int CHtmlView::GetTheaterMode(void)const \n5215 long CThemeHelper::GetThemePartSize(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n5216 long CThemeHelper::GetThemePartSizeFail(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n5217 CRuntime* CAnimateCtrl::GetThisClass(void)\n5218 CRuntime* CArchiveException::GetThisClass(void)\n5219 CRuntime* CAsyncMonikerFile::GetThisClass(void)\n5220 CRuntime* CAsyncSocket::GetThisClass(void)\n5221 CRuntime* CBitmap::GetThisClass(void)\n5222 CRuntime* CBitmapButton::GetThisClass(void)\n5223 CRuntime* CBrush::GetThisClass(void)\n5224 CRuntime* CButton::GetThisClass(void)\n5225 CRuntime* CByteArray::GetThisClass(void)\n5226 CRuntime* CCachedDataPathProperty::GetThisClass(void)\n5227 CRuntime* CCheckListBox::GetThisClass(void)\n5228 CRuntime* CClientDC::GetThisClass(void)\n5229 CRuntime* CCmdTarget::GetThisClass(void)\n5230 CRuntime* CColorDialog::GetThisClass(void)\n5231 CRuntime* CComboBox::GetThisClass(void)\n5232 CRuntime* CComboBoxEx::GetThisClass(void)\n5233 CRuntime* CCommonDialog::GetThisClass(void)\n5234 CRuntime* CControlBar::GetThisClass(void)\n5235 CRuntime* CCriticalSection::GetThisClass(void)\n5236 CRuntime* CCtrlView::GetThisClass(void)\n5237 CRuntime* CDaoDatabase::GetThisClass(void)\n5238 CRuntime* CDaoException::GetThisClass(void)\n5239 CRuntime* CDaoQueryDef::GetThisClass(void)\n5240 CRuntime* CDaoRecordset::GetThisClass(void)\n5241 CRuntime* CDaoRecordView::GetThisClass(void)\n5242 CRuntime* CDaoTableDef::GetThisClass(void)\n5243 CRuntime* CDaoWorkspace::GetThisClass(void)\n5244 CRuntime* CDatabase::GetThisClass(void)\n5245 CRuntime* CDataPathProperty::GetThisClass(void)\n5246 CRuntime* CDateTimeCtrl::GetThisClass(void)\n5247 CRuntime* CDBException::GetThisClass(void)\n5248 CRuntime* CDC::GetThisClass(void)\n5249 CRuntime* CDHtmlDialog::GetThisClass(void)\n5250 CRuntime* CDialog::GetThisClass(void)\n5251 CRuntime* CDialogBar::GetThisClass(void)\n5252 CRuntime* CDocItem::GetThisClass(void)\n5253 CRuntime* CDockBar::GetThisClass(void)\n5254 CRuntime* CDockState::GetThisClass(void)\n5255 CRuntime* CDocManager::GetThisClass(void)\n5256 CRuntime* CDocObjectServer::GetThisClass(void)\n5257 CRuntime* CDocObjectServerItem::GetThisClass(void)\n5258 CRuntime* CDocTemplate::GetThisClass(void)\n5259 CRuntime* CDocument::GetThisClass(void)\n5260 CRuntime* CDragListBox::GetThisClass(void)\n5261 CRuntime* CDWordArray::GetThisClass(void)\n5262 CRuntime* CDynLinkLibrary::GetThisClass(void)\n5263 CRuntime* CEdit::GetThisClass(void)\n5264 CRuntime* CEditView::GetThisClass(void)\n5265 CRuntime* CEvent::GetThisClass(void)\n5266 CRuntime* CException::GetThisClass(void)\n5267 CRuntime* CFile::GetThisClass(void)\n5268 CRuntime* CFileDialog::GetThisClass(void)\n5269 CRuntime* CFileException::GetThisClass(void)\n5270 CRuntime* CFileFind::GetThisClass(void)\n5271 CRuntime* CFindReplaceDialog::GetThisClass(void)\n5272 CRuntime* CFont::GetThisClass(void)\n5273 CRuntime* CFontDialog::GetThisClass(void)\n5274 CRuntime* CFormView::GetThisClass(void)\n5275 CRuntime* CFrameWnd::GetThisClass(void)\n5276 CRuntime* CFtpConnection::GetThisClass(void)\n5277 CRuntime* CFtpFileFind::GetThisClass(void)\n5278 CRuntime* CGdiObject::GetThisClass(void)\n5279 CRuntime* CGopherConnection::GetThisClass(void)\n5280 CRuntime* CGopherFile::GetThisClass(void)\n5281 CRuntime* CGopherFileFind::GetThisClass(void)\n5282 CRuntime* CHeaderCtrl::GetThisClass(void)\n5283 CRuntime* CHotKeyCtrl::GetThisClass(void)\n5284 CRuntime* CHtmlEditDoc::GetThisClass(void)\n5285 CRuntime* CHtmlEditView::GetThisClass(void)\n5286 CRuntime* CHtmlView::GetThisClass(void)\n5287 CRuntime* CHttpConnection::GetThisClass(void)\n5288 CRuntime* CHttpFile::GetThisClass(void)\n5289 CRuntime* CImageList::GetThisClass(void)\n5290 CRuntime* CInternetConnection::GetThisClass(void)\n5291 CRuntime* CInternetException::GetThisClass(void)\n5292 CRuntime* CInternetFile::GetThisClass(void)\n5293 CRuntime* CInternetSession::GetThisClass(void)\n5294 CRuntime* CInvalidArgException::GetThisClass(void)\n5295 CRuntime* CIPAddressCtrl::GetThisClass(void)\n5296 CRuntime* CLinkCtrl::GetThisClass(void)\n5297 CRuntime* CListBox::GetThisClass(void)\n5298 CRuntime* CListCtrl::GetThisClass(void)\n5299 CRuntime* CListView::GetThisClass(void)\n5300 CRuntime* CLongBinary::GetThisClass(void)\n5301 CRuntime* CMapPtrToPtr::GetThisClass(void)\n5302 CRuntime* CMapPtrToWord::GetThisClass(void)\n5303 CRuntime* CMapStringToOb::GetThisClass(void)\n5304 CRuntime* CMapStringToPtr::GetThisClass(void)\n5305 CRuntime* CMapStringToString::GetThisClass(void)\n5306 CRuntime* CMapWordToOb::GetThisClass(void)\n5307 CRuntime* CMapWordToPtr::GetThisClass(void)\n5308 CRuntime* CMDIChildWnd::GetThisClass(void)\n5309 CRuntime* CMDIFrameWnd::GetThisClass(void)\n5310 CRuntime* CMemFile::GetThisClass(void)\n5311 CRuntime* CMemoryException::GetThisClass(void)\n5312 CRuntime* CMenu::GetThisClass(void)\n5313 CRuntime* CMetaFileDC::GetThisClass(void)\n5314 CRuntime* CMiniDockFrameWnd::GetThisClass(void)\n5315 CRuntime* CMiniFrameWnd::GetThisClass(void)\n5316 CRuntime* CMonikerFile::GetThisClass(void)\n5317 CRuntime* CMonthCalCtrl::GetThisClass(void)\n5318 CRuntime* CMultiDocTemplate::GetThisClass(void)\n5319 CRuntime* CMultiPageDHtmlDialog::GetThisClass(void)\n5320 CRuntime* CMutex::GetThisClass(void)\n5321 CRuntime* CNotSupportedException::GetThisClass(void)\n5322 CRuntime* CObArray::GetThisClass(void)\n5323 CRuntime* CObject::GetThisClass(void)\n5324 CRuntime* CObList::GetThisClass(void)\n5325 CRuntime* COleBusyDialog::GetThisClass(void)\n5326 CRuntime* COleChangeIconDialog::GetThisClass(void)\n5327 CRuntime* COleChangeSourceDialog::GetThisClass(void)\n5328 CRuntime* COleClientItem::GetThisClass(void)\n5329 CRuntime* COleControl::GetThisClass(void)\n5330 CRuntime* COleControlModule::GetThisClass(void)\n5331 CRuntime* COleConvertDialog::GetThisClass(void)\n5332 CRuntime* COleDBRecordView::GetThisClass(void)\n5333 CRuntime* COleDialog::GetThisClass(void)\n5334 CRuntime* COleDispatchException::GetThisClass(void)\n5335 CRuntime* COleDocIPFrameWnd::GetThisClass(void)\n5336 CRuntime* COleDocObjectItem::GetThisClass(void)\n5337 CRuntime* COleDocument::GetThisClass(void)\n5338 CRuntime* COleException::GetThisClass(void)\n5339 CRuntime* COleInsertDialog::GetThisClass(void)\n5340 CRuntime* COleIPFrameWnd::GetThisClass(void)\n5341 CRuntime* COleLinkingDoc::GetThisClass(void)\n5342 CRuntime* COleLinksDialog::GetThisClass(void)\n5343 CRuntime* COleObjectFactory::GetThisClass(void)\n5344 CRuntime* COlePasteSpecialDialog::GetThisClass(void)\n5345 CRuntime* COlePropertiesDialog::GetThisClass(void)\n5346 CRuntime* COlePropertyPage::GetThisClass(void)\n5347 CRuntime* COleResizeBar::GetThisClass(void)\n5348 CRuntime* COleServerDoc::GetThisClass(void)\n5349 CRuntime* COleServerItem::GetThisClass(void)\n5350 CRuntime* COleStreamFile::GetThisClass(void)\n5351 CRuntime* COleUpdateDialog::GetThisClass(void)\n5352 CRuntime* CPagerCtrl::GetThisClass(void)\n5353 CRuntime* CPageSetupDialog::GetThisClass(void)\n5354 CRuntime* CPaintDC::GetThisClass(void)\n5355 CRuntime* CPalette::GetThisClass(void)\n5356 CRuntime* CPen::GetThisClass(void)\n5357 CRuntime* CPreviewDC::GetThisClass(void)\n5358 CRuntime* CPreviewView::GetThisClass(void)\n5359 CRuntime* CPrintDialog::GetThisClass(void)\n5360 CRuntime* CPrintDialogEx::GetThisClass(void)\n5361 CRuntime* CProgressCtrl::GetThisClass(void)\n5362 CRuntime* CPropertyPage::GetThisClass(void)\n5363 CRuntime* CPropertySheet::GetThisClass(void)\n5364 CRuntime* CPtrArray::GetThisClass(void)\n5365 CRuntime* CPtrList::GetThisClass(void)\n5366 CRuntime* CReBar::GetThisClass(void)\n5367 CRuntime* CReBarCtrl::GetThisClass(void)\n5368 CRuntime* CRecordset::GetThisClass(void)\n5369 CRuntime* CRecordView::GetThisClass(void)\n5370 CRuntime* CResourceException::GetThisClass(void)\n5371 CRuntime* CRgn::GetThisClass(void)\n5372 CRuntime* CRichEditCntrItem::GetThisClass(void)\n5373 CRuntime* CRichEditCtrl::GetThisClass(void)\n5374 CRuntime* CRichEditDoc::GetThisClass(void)\n5375 CRuntime* CRichEditView::GetThisClass(void)\n5376 CRuntime* CScrollBar::GetThisClass(void)\n5377 CRuntime* CScrollView::GetThisClass(void)\n5378 CRuntime* CSemaphore::GetThisClass(void)\n5379 CRuntime* CSharedFile::GetThisClass(void)\n5380 CRuntime* CSimpleException::GetThisClass(void)\n5381 CRuntime* CSingleDocTemplate::GetThisClass(void)\n5382 CRuntime* CSliderCtrl::GetThisClass(void)\n5383 CRuntime* CSocket::GetThisClass(void)\n5384 CRuntime* CSocketFile::GetThisClass(void)\n5385 CRuntime* CSpinButtonCtrl::GetThisClass(void)\n5386 CRuntime* CSplitterWnd::GetThisClass(void)\n5387 CRuntime* CStatic::GetThisClass(void)\n5388 CRuntime* CStatusBar::GetThisClass(void)\n5389 CRuntime* CStatusBarCtrl::GetThisClass(void)\n5390 CRuntime* CStdioFile::GetThisClass(void)\n5391 CRuntime* CStringArray::GetThisClass(void)\n5392 CRuntime* CStringList::GetThisClass(void)\n5393 CRuntime* CSyncObject::GetThisClass(void)\n5394 CRuntime* CTabCtrl::GetThisClass(void)\n5395 CRuntime* CToolBar::GetThisClass(void)\n5396 CRuntime* CToolBarCtrl::GetThisClass(void)\n5397 CRuntime* CToolTipCtrl::GetThisClass(void)\n5398 CRuntime* CTreeCtrl::GetThisClass(void)\n5399 CRuntime* CTreeView::GetThisClass(void)\n5400 CRuntime* CUIntArray::GetThisClass(void)\n5401 CRuntime* CUserException::GetThisClass(void)\n5402 CRuntime* CView::GetThisClass(void)\n5403 CRuntime* CWinApp::GetThisClass(void)\n5404 CRuntime* CWindowDC::GetThisClass(void)\n5405 CRuntime* CWindowlessDC::GetThisClass(void)\n5406 CRuntime* CWinThread::GetThisClass(void)\n5407 CRuntime* CWnd::GetThisClass(void)\n5408 CRuntime* CWordArray::GetThisClass(void)\n5409 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap(void)\n5410 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap(void)\n5411 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap(void)\n5412 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap(void)\n5413 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap(void)\n5414 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap(void)\n5415 AFX_EVENTMAP const * COleControl::GetThisEventMap(void)\n5416 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap(void)\n5417 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap(void)\n5418 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap(void)\n5419 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap(void)\n5420 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap(void)\n5421 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap(void)\n5422 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap(void)\n5423 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap(void)\n5424 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap(void)\n5425 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap(void)\n5426 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap(void)\n5427 AFX_INTERFACEMAP const * CFileDialog::GetThisInterfaceMap(void)\n5428 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap(void)\n5429 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap(void)\n5430 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap(void)\n5431 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap(void)\n5432 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap(void)\n5433 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap(void)\n5434 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap(void)\n5435 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap(void)\n5436 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap(void)\n5437 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap(void)\n5438 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap(void)\n5439 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap(void)\n5440 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap(void)\n5441 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap(void)\n5442 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap(void)\n5443 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap(void)\n5444 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap(void)\n5445 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap(void)\n5446 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap(void)\n5447 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap(void)\n5448 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap(void)\n5449 AFX_MSGMAP const * CControlBar::GetThisMessageMap(void)\n5450 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap(void)\n5451 AFX_MSGMAP const * CCtrlView::GetThisMessageMap(void)\n5452 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap(void)\n5453 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap(void)\n5454 AFX_MSGMAP const * CDialog::GetThisMessageMap(void)\n5455 AFX_MSGMAP const * CDialogBar::GetThisMessageMap(void)\n5456 AFX_MSGMAP const * CDockBar::GetThisMessageMap(void)\n5457 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap(void)\n5458 AFX_MSGMAP const * CDocument::GetThisMessageMap(void)\n5459 AFX_MSGMAP const * CEditView::GetThisMessageMap(void)\n5460 AFX_MSGMAP const * CFormView::GetThisMessageMap(void)\n5461 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap(void)\n5462 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap(void)\n5463 AFX_MSGMAP const * CHtmlView::GetThisMessageMap(void)\n5464 AFX_MSGMAP const * CListCtrl::GetThisMessageMap(void)\n5465 AFX_MSGMAP const * CListView::GetThisMessageMap(void)\n5466 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap(void)\n5467 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap(void)\n5468 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap(void)\n5469 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap(void)\n5470 AFX_MSGMAP const * COleControl::GetThisMessageMap(void)\n5471 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap(void)\n5472 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap(void)\n5473 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap(void)\n5474 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap(void)\n5475 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap(void)\n5476 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap(void)\n5477 AFX_MSGMAP const * CPreviewView::GetThisMessageMap(void)\n5478 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap(void)\n5479 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap(void)\n5480 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap(void)\n5481 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap(void)\n5482 AFX_MSGMAP const * CReBar::GetThisMessageMap(void)\n5483 AFX_MSGMAP const * CRecordView::GetThisMessageMap(void)\n5484 AFX_MSGMAP const * CRichEditView::GetThisMessageMap(void)\n5485 AFX_MSGMAP const * CScrollView::GetThisMessageMap(void)\n5486 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap(void)\n5487 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap(void)\n5488 AFX_MSGMAP const * CStatusBar::GetThisMessageMap(void)\n5489 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap(void)\n5490 AFX_MSGMAP const * CToolBar::GetThisMessageMap(void)\n5491 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap(void)\n5492 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap(void)\n5493 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap(void)\n5494 AFX_MSGMAP const * CTreeView::GetThisMessageMap(void)\n5495 AFX_MSGMAP const * CView::GetThisMessageMap(void)\n5496 AFX_MSGMAP const * CWinApp::GetThisMessageMap(void)\n5497 AFX_MSGMAP const * CWnd::GetThisMessageMap(void)\n5498 int CWinThread::GetThreadPriority(void)\n5499 int CSliderCtrl::GetThumbLength(void)const \n5500 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5501 int CSliderCtrl::GetTic(int)const \n5502 unsigned long * CSliderCtrl::GetTicArray(void)const \n5503 int CSliderCtrl::GetTicPos(int)const \n5504 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5505 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5506 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5507 unsigned long CToolTipCtrl::GetTipBkColor(void)const \n5508 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStatusBarCtrl::GetTipText(int)const \n5509 unsigned long CToolTipCtrl::GetTipTextColor(void)const \n5510 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & CDocument::GetTitle(void)const \n5511 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CFrameWnd::GetTitle(void)const \n5512 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5513 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5514 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5515 int CHtmlView::GetToolBar(void)const \n5516 CToolBarCtrl & CToolBar::GetToolBarCtrl(void)const \n5517 int CToolTipCtrl::GetToolCount(void)const \n5518 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5519 CToolTipCtrl * CListCtrl::GetToolTips(void)const \n5520 CToolTipCtrl * CReBarCtrl::GetToolTips(void)const \n5521 CToolTipCtrl * CSliderCtrl::GetToolTips(void)const \n5522 CToolTipCtrl * CTabCtrl::GetToolTips(void)const \n5523 CToolTipCtrl * CToolBarCtrl::GetToolTips(void)const \n5524 CToolTipCtrl * CTreeCtrl::GetToolTips(void)const \n5525 long CHtmlView::GetTop(void)const \n5526 int CPrintDialog::GetToPage(void)const \n5527 unsigned int CPrintInfo::GetToPage(void)const \n5528 int CComboBox::GetTopIndex(void)const \n5529 int CListBox::GetTopIndex(void)const \n5530 int CListCtrl::GetTopIndex(void)const \n5531 int CHtmlView::GetTopLevelContainer(void)const \n5532 CFrameWnd * CWnd::GetTopLevelFrame(void)const \n5533 CWnd * CWnd::GetTopLevelOwner(void)const \n5534 CWnd * CWnd::GetTopLevelParent(void)const \n5535 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > COleChangeSourceDialog::GetToPrefix(void)\n5536 CWnd * CWnd::GetTopWindow(void)const \n5537 CSize CScrollView::GetTotalSize(void)const \n5538 CTreeCtrl & CTreeView::GetTreeCtrl(void)const \n5539 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5540 void CRectTracker::GetTrueRect(tagRECT *)const \n5541 short CDaoQueryDef::GetType(void)\n5542 short CDaoRecordset::GetType(void)\n5543 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHtmlView::GetType(void)const \n5544 enum OLE_OBJTYPE COleClientItem::GetType(void)const \n5545 short CPictureHolder::GetType(void)\n5546 unsigned long CProperty::GetType(void)\n5547 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5548 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5549 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5550 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5551 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5552 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5553 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5554 unsigned int CCmdTarget::GetTypeInfoCount(void)\n5555 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5556 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5557 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5558 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5559 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5560 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5561 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5562 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5563 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5564 CTypeLibCache * CCmdTarget::GetTypeLibCache(void)\n5565 void COleSafeArray::GetUBound(unsigned long,long *)\n5566 enum _undonameid CRichEditCtrl::GetUndoName(void)const \n5567 int CWnd::GetUpdateRect(tagRECT *,int)\n5568 int CWnd::GetUpdateRgn(CRgn *,int)\n5569 int CByteArray::GetUpperBound(void)const \n5570 int CDWordArray::GetUpperBound(void)const \n5571 int CObArray::GetUpperBound(void)const \n5572 int CPtrArray::GetUpperBound(void)const \n5573 int CStringArray::GetUpperBound(void)const \n5574 int CUIntArray::GetUpperBound(void)const \n5575 int CWordArray::GetUpperBound(void)const \n5576 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5577 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5578 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5579 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5580 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5581 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetUserNameA(void)\n5582 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n5583 void COleControl::GetUserType(char *)\n5584 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5585 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5586 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5587 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5588 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationRule(void)\n5589 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationRule(void)\n5590 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoRecordset::GetValidationText(void)\n5591 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoTableDef::GetValidationText(void)\n5592 void * CMapPtrToPtr::GetValueAt(void *)const \n5593 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CHttpFile::GetVerb(void)const \n5594 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoDatabase::GetVersion(void)\n5595 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CDaoWorkspace::GetVersion(void)\n5596 unsigned long CDockState::GetVersion(void)\n5597 unsigned long CPropExchange::GetVersion(void)\n5598 CHtmlEditView * CHtmlEditDoc::GetView(void)const \n5599 CRichEditView * CRichEditDoc::GetView(void)const \n5600 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5601 CSize CDC::GetViewportExt(void)const \n5602 CPoint CDC::GetViewportOrg(void)const \n5603 int CListCtrl::GetViewRect(tagRECT *)const \n5604 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5605 int CHtmlView::GetVisible(void)const \n5606 unsigned int CTreeCtrl::GetVisibleCount(void)const \n5607 int CFontDialog::GetWeight(void)const \n5608 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5609 long CHtmlView::GetWidth(void)const \n5610 CWnd * CDC::GetWindow(void)const \n5611 CWnd * CWnd::GetWindow(unsigned int)const \n5612 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5613 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5614 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5615 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5616 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5617 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5618 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5619 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5620 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5621 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5622 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5623 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5624 unsigned long CWnd::GetWindowContextHelpId(void)const \n5625 CDC * CWnd::GetWindowDC(void)\n5626 long CWnd::GetWindowedChildCount(void)\n5627 CSize CDC::GetWindowExt(void)const \n5628 long CWnd::GetWindowLessChildCount(void)\n5629 IDropTarget * COleControl::GetWindowlessDropTarget(void)\n5630 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5631 CPoint CDC::GetWindowOrg(void)const \n5632 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5633 void CWnd::GetWindowRect(tagRECT *)const \n5634 int CWnd::GetWindowRgn(HRGN__ *)const \n5635 void COleControlSite::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5636 int CWnd::GetWindowTextA(char *,int)const \n5637 void CWnd::GetWindowTextA(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n5638 int CWnd::GetWindowTextLengthA(void)const \n5639 unsigned int CRichEditCtrl::GetWordWrapMode(void)const \n5640 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5641 short CDaoWorkspace::GetWorkspaceCount(void)\n5642 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n5643 void CDaoWorkspace::GetWorkspaceInfo(char const *,CDaoWorkspaceInfo &,unsigned long)\n5644 int CDC::GetWorldTransform(tagXFORM *)const \n5645 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5646 long COleDropSource::GiveFeedback(unsigned long)\n5647 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5648 void CHtmlView::GoBack(void)\n5649 void CHtmlView::GoForward(void)\n5650 void CHtmlView::GoHome(void)\n5651 void CHtmlView::GoSearch(void)\n5652 void CDialog::GotoDlgCtrl(CWnd *)\n5653 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5654 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5655 int CDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5656 int CPreviewDC::GrayStringA(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5657 void CMemFile::GrowFile(unsigned long)\n5658 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5659 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5660 long CDialog::HandleInitDialog(unsigned int,long)\n5661 long CDialogBar::HandleInitDialog(unsigned int,long)\n5662 long CFormView::HandleInitDialog(unsigned int,long)\n5663 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5664 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5665 long CScrollView::HandleMButtonDown(unsigned int,long)\n5666 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5667 int COleControlContainer::HandleSetFocus(void)\n5668 long CDialog::HandleSetFont(unsigned int,long)\n5669 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5670 long COleControl::XPersistStorage::HandsOffStorage(void)\n5671 long COleServerDoc::XPersistStorage::HandsOffStorage(void)\n5672 int COleDocument::HasBlankItems(void)const \n5673 int CComboBoxEx::HasEditChanged(void)\n5674 int CDialogTemplate::HasFont(void)const \n5675 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5676 void CDumpContext::HexDump(char const *,unsigned char *,int,int)\n5677 void * CFile::hFileNull\n5678 void CWinApp::HideApplication(void)\n5679 int CToolBarCtrl::HideButton(int,int)\n5680 void CWnd::HideCaret(void)\n5681 void CFileDialog::HideControl(int)\n5682 void CRichEditCtrl::HideSelection(int,int)\n5683 long CBrowserControlSite::HideUI(void)\n5684 long CDHtmlDialog::HideUI(void)\n5685 long CHtmlControlSite::XDocHostUIHandler::HideUI(void)\n5686 int CTabCtrl::HighlightItem(int,int)\n5687 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5688 void CDC::HIMETRICtoDP(tagSIZE *)const \n5689 void CDC::HIMETRICtoLP(tagSIZE *)const \n5690 int CHeaderCtrl::HitTest(_HD_HITTESTINFO *)\n5691 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5692 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5693 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5694 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5695 int CRectTracker::HitTest(CPoint)const \n5696 int CSplitterWnd::HitTest(CPoint)const \n5697 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5698 int CToolBarCtrl::HitTest(tagPOINT *)const \n5699 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOA *)const \n5700 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5701 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5702 int CRectTracker::HitTestHandles(CPoint)const \n5703 void CWinApp::HtmlHelpA(unsigned long,unsigned int)\n5704 void CWnd::HtmlHelpA(unsigned long,unsigned int)\n5705 int CSplitterWnd::IdFromRowCol(int,int)const \n5706 void CDaoWorkspace::Idle(int)\n5707 int CReBarCtrl::IDToIndex(unsigned int)const \n5708 void COlePropertyPage::IgnoreApply(unsigned int)\n5709 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5710 int CToolBarCtrl::Indeterminate(int,int)\n5711 int CCriticalSection::Init(void)\n5712 int CWinApp::InitApplication(void)\n5713 long COleControl::XOleCache::InitCache(IDataObject *)\n5714 int CWnd::InitControlContainer(int)\n5715 void CDaoWorkspace::InitDatabasesCollection(void)\n5716 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5717 long CPrintDialogEx::InitDone(void)\n5718 void CDaoException::InitErrorsCollection(void)\n5719 void CDaoQueryDef::InitFieldsCollection(void)\n5720 void CDaoRecordset::InitFieldsCollection(void)\n5721 void CDaoTableDef::InitFieldsCollection(void)\n5722 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5723 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5724 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5725 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5726 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5727 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5728 void CMapStringToOb::InitHashTable(unsigned int,int)\n5729 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5730 void CMapStringToString::InitHashTable(unsigned int,int)\n5731 void CMapWordToOb::InitHashTable(unsigned int,int)\n5732 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5733 long CDataSourceControl::Initialize(void)\n5734 void CDHtmlDialog::Initialize(void)\n5735 void CDaoWorkspace::InitializeEngine(void)\n5736 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5737 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5738 int CEditView::InitializeReplace(void)\n5739 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5740 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5741 void CDaoRecordset::InitIndexesCollection(void)\n5742 void CDaoTableDef::InitIndexesCollection(void)\n5743 int COleControlModule::InitInstance(void)\n5744 int CWinApp::InitInstance(void)\n5745 int CWinThread::InitInstance(void)\n5746 void CWinApp::InitLibId(void)\n5747 void CDockContext::InitLoop(void)\n5748 int CDialog::InitModalIndirect(void *,CWnd *)\n5749 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5750 long COleControl::XPersistMemory::InitNew(void)\n5751 long COleControl::XPersistPropertyBag::InitNew(void)\n5752 long COleControl::XPersistStorage::InitNew(IStorage *)\n5753 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5754 long COleControl::XPersistStreamInit::InitNew(void)\n5755 void CDaoQueryDef::InitParametersCollection(void)\n5756 void CDaoDatabase::InitQueryDefsCollection(void)\n5757 void CRecordset::InitRecord(void)\n5758 void CDaoDatabase::InitRelationsCollection(void)\n5759 void COleControl::InitStockEventMask(void)\n5760 void COleControl::InitStockPropMask(void)\n5761 int CComboBox::InitStorage(int,unsigned int)\n5762 int CListBox::InitStorage(int,unsigned int)\n5763 void CSimpleException::InitString(void)\n5764 void CDaoDatabase::InitTableDefsCollection(void)\n5765 void CDaoDatabase::InitWorkspace(void)\n5766 void CDaoWorkspace::InitWorkspacesCollection(void)\n5767 int CFrameWnd::InModalState(void)const \n5768 long COleControl::XOleInPlaceObject::InPlaceDeactivate(void)\n5769 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate(void)\n5770 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5771 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5772 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5773 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5774 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5775 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5776 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5777 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5778 __POSITION * CStringList::InsertAfter(__POSITION *,char const *)\n5779 void CByteArray::InsertAt(int,unsigned char,int)\n5780 void CByteArray::InsertAt(int,CByteArray *)\n5781 void CDWordArray::InsertAt(int,unsigned long,int)\n5782 void CDWordArray::InsertAt(int,CDWordArray *)\n5783 void CObArray::InsertAt(int,CObArray *)\n5784 void CObArray::InsertAt(int,CObject *,int)\n5785 void CPtrArray::InsertAt(int,CPtrArray *)\n5786 void CPtrArray::InsertAt(int,void *,int)\n5787 void CStringArray::InsertAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int)\n5788 void CStringArray::InsertAt(int,char const *,int)\n5789 void CStringArray::InsertAt(int,CStringArray const *)\n5790 void CUIntArray::InsertAt(int,unsigned int,int)\n5791 void CUIntArray::InsertAt(int,CUIntArray *)\n5792 void CWordArray::InsertAt(int,unsigned short,int)\n5793 void CWordArray::InsertAt(int,CWordArray *)\n5794 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOA *)\n5795 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5796 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5797 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n5798 __POSITION * CStringList::InsertBefore(__POSITION *,char const *)\n5799 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5800 int CListCtrl::InsertColumn(int,char const *,int,int,int)\n5801 int CListCtrl::InsertColumn(int,tagLVCOLUMNA const *)\n5802 void CStringArray::InsertEmpty(int,int)\n5803 void CRichEditView::InsertFileAsObject(char const *)\n5804 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMA const *)\n5805 int CHeaderCtrl::InsertItem(int,_HD_ITEMA *)\n5806 int CListCtrl::InsertItem(int,char const *)\n5807 int CListCtrl::InsertItem(int,char const *,int)\n5808 int CListCtrl::InsertItem(unsigned int,int,char const *,unsigned int,unsigned int,int,long)\n5809 int CListCtrl::InsertItem(tagLVITEMA const *)\n5810 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5811 long CTabCtrl::InsertItem(int,tagTCITEMA *)\n5812 long CTabCtrl::InsertItem(int,char const *)\n5813 long CTabCtrl::InsertItem(int,char const *,int)\n5814 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long)\n5815 long CTabCtrl::InsertItem(unsigned int,int,char const *,int,long,unsigned long,unsigned long)\n5816 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,char const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5817 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTA *)\n5818 _TREEITEM * CTreeCtrl::InsertItem(char const *,int,int,_TREEITEM *,_TREEITEM *)\n5819 _TREEITEM * CTreeCtrl::InsertItem(char const *,_TREEITEM *,_TREEITEM *)\n5820 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5821 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,char const *)\n5822 int CMenu::InsertMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5823 int CMenu::InsertMenuItemA(unsigned int,tagMENUITEMINFOA *,int)\n5824 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5825 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5826 int CComboBox::InsertString(int,char const *)\n5827 int CComboBoxEx::InsertString(int,char const *)\n5828 int CListBox::InsertString(int,char const *)\n5829 unsigned long CCmdTarget::InternalAddRef(void)\n5830 CFontHolder & COleControl::InternalGetFont(void)\n5831 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const & COleControl::InternalGetText(void)\n5832 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5833 unsigned long CCmdTarget::InternalRelease(void)\n5834 void COleControl::InternalSetReadyState(long)\n5835 int CDC::IntersectClipRect(int,int,int,int)\n5836 int CDC::IntersectClipRect(tagRECT const *)\n5837 void CWnd::Invalidate(int)\n5838 void CCheckListBox::InvalidateCheck(int)\n5839 void COleControl::InvalidateControl(tagRECT const *,int)\n5840 void CCheckListBox::InvalidateItem(int)\n5841 void CRichEditDoc::InvalidateObjectCache(void)\n5842 void CWnd::InvalidateRect(tagRECT const *,int)\n5843 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5844 void COleControl::InvalidateRgn(CRgn *,int)\n5845 void CWnd::InvalidateRgn(CRgn *,int)\n5846 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5847 void CDC::InvertRect(tagRECT const *)\n5848 int CDC::InvertRgn(CRgn *)\n5849 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5850 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5851 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5852 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5853 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5854 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5855 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5856 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(void),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5857 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5858 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5859 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5860 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5861 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5862 int CAsyncSocket::IOCtl(long,unsigned long *)\n5863 int CThemeHelper::IsAppThemed(void)\n5864 int CThemeHelper::IsAppThemedFail(void)\n5865 int CFileFind::IsArchived(void)const \n5866 int CPropExchange::IsAsynchronous(void)\n5867 int CDocItem::IsBlank(void)const \n5868 int CIPAddressCtrl::IsBlank(void)const \n5869 int COleServerItem::IsBlank(void)const \n5870 int CSocket::IsBlocking(void)\n5871 int CDaoRecordset::IsBOF(void)const \n5872 int CRecordset::IsBOF(void)const \n5873 int CFontDialog::IsBold(void)const \n5874 int CArchive::IsBufferEmpty(void)const \n5875 int CToolBarCtrl::IsButtonChecked(int)const \n5876 int CPropertyPage::IsButtonEnabled(int)\n5877 int CToolBarCtrl::IsButtonEnabled(int)const \n5878 int CToolBarCtrl::IsButtonHidden(int)const \n5879 int CToolBarCtrl::IsButtonHighlighted(int)const \n5880 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5881 int CToolBarCtrl::IsButtonPressed(int)const \n5882 int CArchive::IsByteSwapping(void)const \n5883 int CWnd::IsChild(CWnd const *)const \n5884 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5885 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5886 int CFileFind::IsCompressed(void)const \n5887 int COleServerItem::IsConnected(void)const \n5888 int COleControl::IsConvertingVBX(void)\n5889 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5890 int COleControlSite::IsDefaultButton(void)\n5891 int CDaoRecordset::IsDeleted(void)const \n5892 int CRecordset::IsDeleted(void)const \n5893 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5894 int COccManager::IsDialogMessageA(CWnd *,tagMSG *)\n5895 int CWnd::IsDialogMessageA(tagMSG *)\n5896 int CFileFind::IsDirectory(void)const \n5897 long CBlobProperty::IsDirty(void)\n5898 long COleLinkingDoc::XPersistFile::IsDirty(void)\n5899 long COleControl::XPersistMemory::IsDirty(void)\n5900 long COleControl::XPersistStorage::IsDirty(void)\n5901 long COleServerDoc::XPersistStorage::IsDirty(void)\n5902 long COleControl::XPersistStreamInit::IsDirty(void)\n5903 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5904 unsigned int CWnd::IsDlgButtonChecked(int)const \n5905 int CControlBar::IsDockBar(void)const \n5906 int CDockBar::IsDockBar(void)const \n5907 int COleServerDoc::IsDocObject(void)const \n5908 int CFileFind::IsDots(void)const \n5909 int CGopherFileFind::IsDots(void)const \n5910 int COleServerDoc::IsEmbedded(void)const \n5911 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty(void)const \n5912 bool ATL::CSimpleStringT<char,1>::IsEmpty(void)const \n5913 int CByteArray::IsEmpty(void)const \n5914 int CDWordArray::IsEmpty(void)const \n5915 int CMapPtrToPtr::IsEmpty(void)const \n5916 int CMapPtrToWord::IsEmpty(void)const \n5917 int CMapStringToOb::IsEmpty(void)const \n5918 int CMapStringToPtr::IsEmpty(void)const \n5919 int CMapStringToString::IsEmpty(void)const \n5920 int CMapWordToOb::IsEmpty(void)const \n5921 int CMapWordToPtr::IsEmpty(void)const \n5922 int CObArray::IsEmpty(void)const \n5923 int CObList::IsEmpty(void)const \n5924 int CPtrArray::IsEmpty(void)const \n5925 int CPtrList::IsEmpty(void)const \n5926 int CStringArray::IsEmpty(void)const \n5927 int CStringList::IsEmpty(void)const \n5928 int CUIntArray::IsEmpty(void)const \n5929 int CWordArray::IsEmpty(void)const \n5930 int CCheckListBox::IsEnabled(int)\n5931 int CDaoRecordset::IsEOF(void)const \n5932 int CRecordset::IsEOF(void)const \n5933 int CDHtmlDialog::IsExternalDispatchSafe(void)\n5934 int CDaoRecordset::IsFieldDirty(void *)\n5935 int CRecordset::IsFieldDirty(void *)\n5936 int CDaoRecordset::IsFieldNull(void *)\n5937 int CRecordset::IsFieldNull(void *)\n5938 int CDaoRecordset::IsFieldNullable(void *)\n5939 int CRecordset::IsFieldNullable(void *)\n5940 int CRecordset::IsFieldNullable(unsigned long)const \n5941 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n5942 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5943 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n5944 int CRecordset::IsFieldStatusNull(unsigned long)const \n5945 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n5946 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n5947 int CFieldExchange::IsFieldType(unsigned int *)\n5948 int CControlBar::IsFloating(void)const \n5949 int CFrameWnd::IsFrameWnd(void)const \n5950 int CWnd::IsFrameWnd(void)const \n5951 int IsHelpKey(tagMSG *)\n5952 int CFileFind::IsHidden(void)const \n5953 int CWnd::IsIconic(void)const \n5954 int CWinThread::IsIdleMessage(tagMSG *)\n5955 int COleClientItem::IsInPlaceActive(void)const \n5956 int COleServerDoc::IsInPlaceActive(void)const \n5957 int CCmdTarget::IsInvokeAllowed(long)\n5958 int COleControl::IsInvokeAllowed(long)\n5959 int CFontDialog::IsItalic(void)const \n5960 int CRecordset::IsJoin(char const *)\n5961 int CObject::IsKindOf(CRuntimeconst *)const \n5962 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n5963 int COccManager::IsLabelControl(CWnd *)\n5964 int COleObjectFactory::IsLicenseValid(void)\n5965 int COleServerItem::IsLinkedItem(void)const \n5966 int COleClientItem::IsLinkUpToDate(void)const \n5967 int CArchive::IsLoading(void)const \n5968 int CPropExchange::IsLoading(void)\n5969 int CMultiLock::IsLocked(unsigned long)\n5970 int CSingleLock::IsLocked(void)\n5971 int CControlCreationInfo::IsManaged(void)const \n5972 int CRichEditCntrItem::IsMarked(void)\n5973 int CDaoRecordset::IsMatch(void)\n5974 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n5975 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n5976 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n5977 int CPropertySheet::IsModeless(void)const \n5978 int CDocument::IsModified(void)\n5979 int CHtmlEditDoc::IsModified(void)\n5980 int COleClientItem::IsModified(void)const \n5981 int COleControl::IsModified(void)\n5982 int COlePropertyPage::IsModified(void)\n5983 int CRichEditDoc::IsModified(void)\n5984 int CDaoWorkspace::IsNew(void)const \n5985 int CFileFind::IsNormal(void)const \n5986 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n5987 int CDaoRecordView::IsOnFirstRecord(void)\n5988 int CRecordView::IsOnFirstRecord(void)\n5989 int CDaoRecordView::IsOnLastRecord(void)\n5990 int CRecordView::IsOnLastRecord(void)\n5991 int CDaoDatabase::IsOpen(void)const \n5992 int CDaoQueryDef::IsOpen(void)const \n5993 int CDaoRecordset::IsOpen(void)const \n5994 int CDaoTableDef::IsOpen(void)const \n5995 int CDaoWorkspace::IsOpen(void)const \n5996 int CDatabase::IsOpen(void)const \n5997 int COleClientItem::IsOpen(void)const \n5998 int CRecordset::IsOpen(void)const \n5999 int COleControl::IsOptimizedDraw(void)\n6000 long COlePropertyPage::XPropertyPage::IsPageDirty(void)\n6001 int CRecordset::IsParamStatusNull(unsigned long)const \n6002 int CDC::IsPrinting(void)const \n6003 int CFileFind::IsReadOnly(void)const \n6004 int CRecordset::IsRecordsetUpdatable(void)\n6005 int COleObjectFactory::IsRegistered(void)const \n6006 int CCmdTarget::IsResultExpected(void)\n6007 int CRichEditView::IsRichEditFormat(unsigned short)\n6008 int COleClientItem::IsRunning(void)const \n6009 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n6010 int CRichEditView::IsSelected(CObject const *)const \n6011 int CView::IsSelected(CObject const *)const \n6012 int CRecordset::IsSelectQueryUpdatable(char const *)\n6013 int CObject::IsSerializable(void)const \n6014 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n6015 int CStatusBarCtrl::IsSimple(void)const \n6016 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n6017 int CRecordset::IsSQLUpdatable(char const *)\n6018 int CArchive::IsStoring(void)const \n6019 int CFontDialog::IsStrikeOut(void)const \n6020 int COleControl::IsSubclassedControl(void)\n6021 int CFileFind::IsSystem(void)const \n6022 int CFileFind::IsTemporary(void)const \n6023 int CFindReplaceDialog::IsTerminating(void)const \n6024 int CThemeHelper::IsThemeBackgroundPartiallyTransparent(void *,int,int)\n6025 int CThemeHelper::IsThemeBackgroundPartiallyTransparentFail(void *,int,int)\n6026 int CThemeHelper::IsThemePartDefined(void *,int,int)\n6027 int CThemeHelper::IsThemePartDefinedFail(void *,int,int)\n6028 int CWnd::IsTopParentActive(void)const \n6029 int CFrameWnd::IsTracking(void)const \n6030 int CSplitterWnd::IsTracking(void)\n6031 int CFontDialog::IsUnderline(void)const \n6032 long CDocObjectServer::XOleObject::IsUpToDate(void)\n6033 long COleControl::XOleObject::IsUpToDate(void)\n6034 long COleServerDoc::XOleObject::IsUpToDate(void)\n6035 long COleServerItem::XOleObject::IsUpToDate(void)\n6036 int CDaoFieldExchange::IsValidOperation(void)\n6037 int COleChangeSourceDialog::IsValidSource(void)\n6038 int CControlBar::IsVisible(void)const \n6039 int COleControlSite::IsWindowEnabled(void)const \n6040 int CWnd::IsWindowEnabled(void)const \n6041 int CWnd::IsWindowVisible(void)const \n6042 int CPropertySheet::IsWizard(void)const \n6043 int CWnd::IsZoomed(void)const \n6044 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n6045 int CDragListBox::ItemFromPt(CPoint,int)const \n6046 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n6047 void COleControl::KeyDown(unsigned short *)\n6048 void COleControl::KeyUp(unsigned short *)\n6049 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n6050 int CWnd::KillTimer(unsigned int)\n6051 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n6052 void CToolBar::Layout(void)\n6053 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n6054 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n6055 int CComboBox::LimitText(int)\n6056 void CEdit::LimitText(int)\n6057 void CRichEditCtrl::LimitText(long)\n6058 int CEdit::LineFromChar(int)const \n6059 long CRichEditCtrl::LineFromChar(long)const \n6060 int CEdit::LineIndex(int)const \n6061 int CRichEditCtrl::LineIndex(int)const \n6062 int CEdit::LineLength(int)const \n6063 int CRichEditCtrl::LineLength(int)const \n6064 void CEdit::LineScroll(int,int)\n6065 void CRichEditCtrl::LineScroll(int,int)\n6066 int CDC::LineTo(int,int)\n6067 int CDC::LineTo(tagPOINT)\n6068 int CAsyncSocket::Listen(int)\n6069 unsigned long CRichEditView::lMaxSize\n6070 long CBlobProperty::Load(IStream *)\n6071 int CDialogTemplate::Load(char const *)\n6072 void COleControl::Load(char const *,CDataPathProperty &)\n6073 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n6074 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n6075 long COleControl::XPersistMemory::Load(void *,unsigned long)\n6076 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n6077 long COleControl::XPersistStorage::Load(IStorage *)\n6078 long COleServerDoc::XPersistStorage::Load(IStorage *)\n6079 long COleControl::XPersistStreamInit::Load(IStream *)\n6080 int CFrameWnd::LoadAccelTable(char const *)\n6081 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL(void)\n6082 void CFrameWnd::LoadBarState(char const *)\n6083 int CBitmap::LoadBitmapA(unsigned int)\n6084 int CBitmap::LoadBitmapA(char const *)\n6085 int CToolBar::LoadBitmapA(unsigned int)\n6086 int CToolBar::LoadBitmapA(char const *)\n6087 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n6088 int CBitmapButton::LoadBitmaps(char const *,char const *,char const *,char const *)\n6089 HICON__ * CWinApp::LoadCursorA(unsigned int)const \n6090 HICON__ * CWinApp::LoadCursorA(char const *)const \n6091 void CDaoRecordset::LoadFields(void)\n6092 void CRecordset::LoadFields(void)\n6093 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6094 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6095 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6096 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6097 int CDHtmlDialog::LoadFromResource(unsigned int)\n6098 int CDHtmlDialog::LoadFromResource(char const *)\n6099 int CHtmlView::LoadFromResource(unsigned int)\n6100 int CHtmlView::LoadFromResource(char const *)\n6101 void COleDocument::LoadFromStorage(void)\n6102 HICON__ * CWinApp::LoadIconA(unsigned int)const \n6103 HICON__ * CWinApp::LoadIconA(char const *)const \n6104 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n6105 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n6106 int CMenu::LoadMenuA(unsigned int)\n6107 int CMenu::LoadMenuA(char const *)\n6108 int CMenu::LoadMenuIndirectA(void const *)\n6109 int CBitmap::LoadOEMBitmap(unsigned int)\n6110 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n6111 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n6112 HICON__ * CWinApp::LoadStandardCursor(char const *)const \n6113 HICON__ * CWinApp::LoadStandardIcon(char const *)const \n6114 int CControlBarInfo::LoadState(char const *,int,CDockState *)\n6115 void CDockState::LoadState(char const *)\n6116 long COleControl::LoadState(IStream *)\n6117 void CWinApp::LoadStdProfileSettings(unsigned int)\n6118 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(unsigned int)\n6119 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n6120 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n6121 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(unsigned int)\n6122 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int)\n6123 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringA(HINSTANCE__ *,unsigned int,unsigned short)\n6124 int CWinApp::LoadSysPolicies(void)\n6125 void CDocTemplate::LoadTemplate(void)\n6126 void CMultiDocTemplate::LoadTemplate(void)\n6127 int CToolBar::LoadToolBar(unsigned int)\n6128 int CToolBar::LoadToolBar(char const *)\n6129 int CCriticalSection::Lock(void)\n6130 int CCriticalSection::Lock(unsigned long)\n6131 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n6132 void COleSafeArray::Lock(void)\n6133 int CSingleLock::Lock(unsigned long)\n6134 int CSyncObject::Lock(unsigned long)\n6135 void CTypeLibCache::Lock(void)\n6136 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer(void)\n6137 char * ATL::CSimpleStringT<char,1>::LockBuffer(void)\n6138 char const * CEditView::LockBuffer(void)const \n6139 long COleControlContainer::XOleContainer::LockContainer(int)\n6140 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n6141 void COleLinkingDoc::LockExternal(int,int)\n6142 int COleControl::LockInPlaceActive(int)\n6143 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n6144 void CFile::LockRange(unsigned __int64,unsigned __int64)\n6145 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n6146 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n6147 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n6148 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n6149 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n6150 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6151 long COleObjectFactory::XClassFactory::LockServer(int)\n6152 int CWnd::LockWindowUpdate(void)\n6153 int CMapPtrToPtr::Lookup(void *,void * &)const \n6154 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n6155 int CMapStringToOb::Lookup(char const *,CObject * &)const \n6156 int CMapStringToPtr::Lookup(char const *,void * &)const \n6157 int CMapStringToString::Lookup(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)const \n6158 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n6159 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n6160 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n6161 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n6162 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n6163 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n6164 int CMapStringToOb::LookupKey(char const *,char const * &)const \n6165 int CMapStringToPtr::LookupKey(char const *,char const * &)const \n6166 int CMapStringToString::LookupKey(char const *,char const * &)const \n6167 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n6168 void CDC::LPtoDP(tagPOINT *,int)const \n6169 void CDC::LPtoDP(tagRECT *)const \n6170 void CDC::LPtoDP(tagSIZE *)const \n6171 void CDC::LPtoHIMETRIC(tagSIZE *)const \n6172 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower(void)\n6173 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower(void)\n6174 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse(void)\n6175 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse(void)\n6176 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper(void)\n6177 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper(void)\n6178 int CToolBarCtrl::MapAccelerator(char,unsigned int *)\n6179 void CDialog::MapDialogRect(tagRECT *)const \n6180 void CPropertySheet::MapDialogRect(tagRECT *)const \n6181 void CArchive::MapObject(CObject const *)\n6182 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n6183 int COleDialog::MapResult(unsigned int)\n6184 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n6185 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n6186 long CPropertyPage::MapWizardResult(long)\n6187 void CRichEditCntrItem::Mark(int)\n6188 int CToolBarCtrl::MarkButton(int,int)\n6189 void CDaoRecordset::MarkForAddNew(void)\n6190 void CRecordset::MarkForAddNew(void)\n6191 void CDaoRecordset::MarkForEdit(void)\n6192 void CRecordset::MarkForUpdate(void)\n6193 void CRichEditDoc::MarkItemsClear(void)const \n6194 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n6195 int CFindReplaceDialog::MatchCase(void)const \n6196 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(char const *,CDocument * &)\n6197 int CFileFind::MatchesMask(unsigned long)const \n6198 int CFindReplaceDialog::MatchWholeWord(void)const \n6199 void CReBarCtrl::MaximizeBand(unsigned int)\n6200 void CMDIChildWnd::MDIActivate(void)\n6201 void CMDIFrameWnd::MDIActivate(CWnd *)\n6202 void CMDIFrameWnd::MDICascade(int)\n6203 void CMDIFrameWnd::MDICascade(void)\n6204 void CMDIChildWnd::MDIDestroy(void)\n6205 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n6206 void CMDIFrameWnd::MDIIconArrange(void)\n6207 void CMDIChildWnd::MDIMaximize(void)\n6208 void CMDIFrameWnd::MDIMaximize(CWnd *)\n6209 void CMDIFrameWnd::MDINext(void)\n6210 void CMDIFrameWnd::MDIPrev(void)\n6211 void CMDIChildWnd::MDIRestore(void)\n6212 void CMDIFrameWnd::MDIRestore(CWnd *)\n6213 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n6214 void CMDIFrameWnd::MDITile(int)\n6215 void CMDIFrameWnd::MDITile(void)\n6216 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n6217 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n6218 void CComboBox::MeasureItem(tagMEASUREITEM*)\n6219 void CListBox::MeasureItem(tagMEASUREITEM*)\n6220 void CMenu::MeasureItem(tagMEASUREITEM*)\n6221 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,char const *)\n6222 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n6223 int COlePropertyPage::MessageBox(char const *,char const *,unsigned int)\n6224 int CWnd::MessageBox(char const *,char const *,unsigned int)\n6225 int COlePropertyPage::MessageBoxA(char const *,char const *,unsigned int)\n6226 int CWnd::MessageBoxA(char const *,char const *,unsigned int)\n6227 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n6228 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n6229 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n6230 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n6231 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n6232 void CReBarCtrl::MinimizeBand(unsigned int)\n6233 void CPreviewDC::MirrorAttributes(void)\n6234 void CPreviewDC::MirrorFont(void)\n6235 void CPreviewDC::MirrorMappingMode(int)\n6236 void CPreviewDC::MirrorViewportOrg(void)\n6237 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,char const *)\n6238 int CMenu::ModifyMenuA(unsigned int,unsigned int,unsigned int,CBitmap const *)\n6239 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n6240 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n6241 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n6242 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n6243 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n6244 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n6245 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n6246 void CDaoRecordset::Move(long)\n6247 void CDockContext::Move(CPoint)\n6248 void CRecordset::Move(long,unsigned short)\n6249 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n6250 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n6251 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n6252 void CDaoRecordset::MoveFirst(void)\n6253 void CRecordset::MoveFirst(void)\n6254 void CDaoRecordset::MoveLast(void)\n6255 void CRecordset::MoveLast(void)\n6256 void CDaoRecordset::MoveNext(void)\n6257 void CRecordset::MoveNext(void)\n6258 void CDaoRecordset::MovePrev(void)\n6259 void CRecordset::MovePrev(void)\n6260 CPoint CDC::MoveTo(int,int)\n6261 CPoint CDC::MoveTo(tagPOINT)\n6262 void COleControlSite::MoveWindow(int,int,int,int)\n6263 void CWnd::MoveWindow(int,int,int,int,int)\n6264 void CWnd::MoveWindow(tagRECT const *,int)\n6265 void CDHtmlDialog::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n6266 void CHtmlView::Navigate(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n6267 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,char const *)\n6268 void CHtmlView::Navigate2(char const *,unsigned long,char const *,char const *,void *,unsigned long)\n6269 void CHtmlView::Navigate2(char const *,unsigned long,CByteArray &,char const *,char const *)\n6270 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n6271 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n6272 unsigned int COleDropSource::nDragDelay\n6273 unsigned int COleDropSource::nDragMinDist\n6274 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n6275 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc(void)\n6276 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc(void)\n6277 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc(void)\n6278 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc(void)\n6279 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(char const *)\n6280 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc(void)\n6281 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc(void)\n6282 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n6283 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n6284 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n6285 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n6286 void CDialog::NextDlgCtrl(void)const \n6287 unsigned int const CEditView::nMaxSize\n6288 int CRectTracker::NormalizeHit(int)const \n6289 void CDataBoundProperty::Notify(void)\n6290 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n6291 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n6292 void COleServerDoc::NotifyChanged(void)\n6293 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n6294 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n6295 void COleServerDoc::NotifyClosed(void)\n6296 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n6297 void COleServerDoc::NotifyRename(char const *)\n6298 void COleServerDoc::NotifySaved(void)\n6299 void CWnd::NotifyWinEvent(unsigned long,long,long)\n6300 unsigned int COleDropTarget::nScrollDelay\n6301 int COleDropTarget::nScrollInset\n6302 unsigned int COleDropTarget::nScrollInterval\n6303 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA(void)\n6304 int CDC::OffsetClipRgn(int,int)\n6305 int CDC::OffsetClipRgn(tagSIZE)\n6306 int CProgressCtrl::OffsetPos(int)\n6307 int CRgn::OffsetRgn(int,int)\n6308 int CRgn::OffsetRgn(tagPOINT)\n6309 CPoint CDC::OffsetViewportOrg(int,int)\n6310 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n6311 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n6312 CPoint CDC::OffsetWindowOrg(int,int)\n6313 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6314 void CAsyncSocket::OnAccept(int)\n6315 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n6316 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n6317 void COleClientItem::OnActivate(void)\n6318 void COleFrameHook::OnActivate(int)\n6319 void CWnd::OnActivate(unsigned int,CWnd *,int)\n6320 void CWnd::OnActivateApp(int,unsigned long)\n6321 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n6322 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n6323 long COleControl::OnActivateInPlace(int,tagMSG *)\n6324 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n6325 long CWnd::OnActivateTopLevel(unsigned int,long)\n6326 void COleClientItem::OnActivateUI(void)\n6327 long CDocObjectServer::OnActivateView(void)\n6328 void CFormView::OnActivateView(int,CView *,CView *)\n6329 void CPreviewView::OnActivateView(int,CView *,CView *)\n6330 void CRichEditView::OnActivateView(int,CView *,CView *)\n6331 void CView::OnActivateView(int,CView *,CView *)\n6332 long CToolTipCtrl::OnAddTool(unsigned int,long)\n6333 void CConnectionPoint::OnAdvise(int)\n6334 void COleControl::XEventConnPt::OnAdvise(int)\n6335 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n6336 void COleControl::OnAmbientPropertyChange(long)\n6337 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n6338 int CWnd::OnAppCommand(CWnd *,unsigned int,unsigned int,unsigned int)\n6339 void COleControl::OnAppearanceChanged(void)\n6340 void CWinApp::OnAppExit(void)\n6341 int CPropertyPage::OnApply(void)\n6342 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n6343 void CDocObjectServer::OnApplyViewState(CArchive &)\n6344 void CWnd::OnAskCbFormatName(unsigned int,char *)\n6345 void COleControl::OnBackColorChanged(void)\n6346 int CFrameWnd::OnBarCheck(unsigned int)\n6347 int COleIPFrameWnd::OnBarCheck(unsigned int)\n6348 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n6349 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n6350 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n6351 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,char const *)\n6352 void CHtmlView::OnBeforeNavigate2(char const *,unsigned long,char const *,CByteArray &,char const *,int *)\n6353 int COleDropSource::OnBeginDrag(CWnd *)\n6354 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n6355 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n6356 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n6357 void COleControl::OnBorderStyleChanged(void)\n6358 void CRichEditView::OnBullet(void)\n6359 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n6360 long CFileDialog::XFileDialogControlEvents::OnButtonClicked(IFileDialogCustomize *,unsigned long)\n6361 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n6362 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n6363 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n6364 void CCommonDialog::OnCancel(void)\n6365 void CDialog::OnCancel(void)\n6366 void CPropertyPage::OnCancel(void)\n6367 void CRichEditView::OnCancelEditCntr(void)\n6368 void COleControl::OnCancelMode(void)\n6369 void CSplitterWnd::OnCancelMode(void)\n6370 void CWnd::OnCancelMode(void)\n6371 void CWnd::OnCaptureChanged(CWnd *)\n6372 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n6373 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n6374 long COleControl::XFontNotification::OnChanged(long)\n6375 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n6376 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n6377 void CRectTracker::OnChangedRect(CRect const &)\n6378 void CDocument::OnChangedViewList(void)\n6379 int COleClientItem::OnChangeItemPosition(CRect const &)\n6380 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n6381 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n6382 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n6383 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n6384 void CRichEditView::OnCharBold(void)\n6385 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n6386 void CRichEditView::OnCharItalic(void)\n6387 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n6388 void CRichEditView::OnCharUnderline(void)\n6389 long CFileDialog::XFileDialogControlEvents::OnCheckButtonToggled(IFileDialogCustomize *,unsigned long,int)\n6390 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n6391 void CWnd::OnChildActivate(void)\n6392 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n6393 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6394 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6395 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6396 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6397 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6398 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6399 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n6400 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n6401 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n6402 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6403 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6404 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n6405 void COleControl::OnClick(unsigned short)\n6406 void CWnd::OnClipboardUpdate(void)\n6407 CEnumArray * CEnumArray::OnClone(void)\n6408 CEnumArray * CEnumConnections::OnClone(void)\n6409 void CAsyncSocket::OnClose(int)\n6410 void CControlFrameWnd::OnClose(void)\n6411 void CFrameWnd::OnClose(void)\n6412 void CMiniDockFrameWnd::OnClose(void)\n6413 void COleControl::OnClose(unsigned long)\n6414 void COleServerDoc::OnClose(enum tagOLECLOSE)\n6415 void CPropertySheet::OnClose(void)\n6416 void CWnd::OnClose(void)\n6417 void COleClientItem::XAdviseSink::OnClose(void)\n6418 void CDocObjectServer::OnCloseDocument(void)\n6419 void CDocument::OnCloseDocument(void)\n6420 void COleDocument::OnCloseDocument(void)\n6421 void COleLinkingDoc::OnCloseDocument(void)\n6422 void COleServerDoc::OnCloseDocument(void)\n6423 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6424 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6425 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6426 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6427 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6428 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6429 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6430 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6431 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6432 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6433 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6434 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6435 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6436 void CRichEditView::OnColorDefault(void)\n6437 void CWnd::OnColorizationColorChanged(unsigned long,int)\n6438 int CColorDialog::OnColorOK(void)\n6439 void CRichEditView::OnColorPick(unsigned long)\n6440 int CFrameWnd::OnCommand(unsigned int,long)\n6441 int CMDIFrameWnd::OnCommand(unsigned int,long)\n6442 int COlePropertyPage::OnCommand(unsigned int,long)\n6443 int CPropertySheet::OnCommand(unsigned int,long)\n6444 int CSplitterWnd::OnCommand(unsigned int,long)\n6445 int CWnd::OnCommand(unsigned int,long)\n6446 long CDialog::OnCommandHelp(unsigned int,long)\n6447 long CFrameWnd::OnCommandHelp(unsigned int,long)\n6448 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n6449 long CPropertySheet::OnCommandHelp(unsigned int,long)\n6450 void CHtmlView::OnCommandStateChange(long,int)\n6451 void CWnd::OnCompacting(unsigned int)\n6452 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n6453 void CWnd::OnCompositionChanged(void)\n6454 void CAsyncSocket::OnConnect(int)\n6455 void CFrameWnd::OnContextHelp(void)\n6456 int COleFrameHook::OnContextHelp(int)\n6457 void COleIPFrameWnd::OnContextHelp(void)\n6458 void CWinApp::OnContextHelp(void)\n6459 void CWnd::OnContextMenu(CWnd *,CPoint)\n6460 long CFileDialog::XFileDialogControlEvents::OnControlActivating(IFileDialogCustomize *,unsigned long)\n6461 long COleControlSite::XOleControlSite::OnControlInfoChanged(void)\n6462 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n6463 int CCheckListBox::OnCreate(tagCREATESTRUCTA *)\n6464 int CControlBar::OnCreate(tagCREATESTRUCTA *)\n6465 int CEditView::OnCreate(tagCREATESTRUCTA *)\n6466 int CFormView::OnCreate(tagCREATESTRUCTA *)\n6467 int CFrameWnd::OnCreate(tagCREATESTRUCTA *)\n6468 int CMDIChildWnd::OnCreate(tagCREATESTRUCTA *)\n6469 int COleControl::OnCreate(tagCREATESTRUCTA *)\n6470 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTA *)\n6471 int CPreviewView::OnCreate(tagCREATESTRUCTA *)\n6472 int CRichEditView::OnCreate(tagCREATESTRUCTA *)\n6473 int CToolBarCtrl::OnCreate(tagCREATESTRUCTA *)\n6474 int CView::OnCreate(tagCREATESTRUCTA *)\n6475 int CWnd::OnCreate(tagCREATESTRUCTA *)\n6476 int CCmdTarget::OnCreateAggregates(void)\n6477 int COleControl::OnCreateAggregates(void)\n6478 int CFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6479 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTA *,CCreateContext *)\n6480 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n6481 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n6482 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTA *,CCreateContext *)\n6483 CCmdTarget * COleObjectFactory::OnCreateObject(void)\n6484 CCmdTarget * COleTemplateServer::OnCreateObject(void)\n6485 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6486 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6487 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6488 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6489 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6490 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6491 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6492 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6493 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6494 int CDocManager::OnDDECommand(char *)\n6495 int CWinApp::OnDDECommand(char *)\n6496 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6497 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6498 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6499 void CDHtmlDialog::OnDDXError(char const *,unsigned int,int)\n6500 void COleClientItem::OnDeactivate(void)\n6501 void COleServerDoc::OnDeactivate(void)\n6502 void COleClientItem::OnDeactivateAndUndo(void)\n6503 void COleClientItem::OnDeactivateUI(int)\n6504 void COleServerDoc::OnDeactivateUI(int)\n6505 void CRichEditCntrItem::OnDeactivateUI(int)\n6506 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6507 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6508 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6509 void CControlBar::OnDestroy(void)\n6510 void CDHtmlDialog::OnDestroy(void)\n6511 void CEditView::OnDestroy(void)\n6512 void CFrameWnd::OnDestroy(void)\n6513 void CHtmlView::OnDestroy(void)\n6514 void CMDIChildWnd::OnDestroy(void)\n6515 void CMDIFrameWnd::OnDestroy(void)\n6516 void COleControl::OnDestroy(void)\n6517 void COleIPFrameWnd::OnDestroy(void)\n6518 void CRichEditView::OnDestroy(void)\n6519 void CTabCtrl::OnDestroy(void)\n6520 void CTreeCtrl::OnDestroy(void)\n6521 void CTreeView::OnDestroy(void)\n6522 void CView::OnDestroy(void)\n6523 void CWnd::OnDestroy(void)\n6524 void CWnd::OnDestroyClipboard(void)\n6525 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6526 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6527 void CRichEditView::OnDevModeChange(char *)\n6528 void CWnd::OnDevModeChange(char *)\n6529 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6530 void COleClientItem::OnDiscardUndoState(void)\n6531 void CSplitterWnd::OnDisplayChange(void)\n6532 long CWnd::OnDisplayChange(unsigned int,long)\n6533 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6534 int COleFrameHook::OnDocActivate(int)\n6535 void CDHtmlDialog::OnDocumentComplete(IDispatch *,char const *)\n6536 void CHtmlView::OnDocumentComplete(char const *)\n6537 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6538 long CBrowserControlSite::OnDocWindowActivate(int)\n6539 long CDHtmlDialog::OnDocWindowActivate(int)\n6540 long CHtmlView::OnDocWindowActivate(int)\n6541 void COleServerDoc::OnDocWindowActivate(int)\n6542 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6543 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6544 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6545 void CDocObjectServerItem::OnDoVerb(long)\n6546 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6547 void COleServerItem::OnDoVerb(long)\n6548 void CHtmlView::OnDownloadBegin(void)\n6549 void CHtmlView::OnDownloadComplete(void)\n6550 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6551 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6552 void COleDropTarget::OnDragLeave(CWnd *)\n6553 void CView::OnDragLeave(void)\n6554 long CWnd::OnDragList(unsigned int,long)\n6555 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6556 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6557 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6558 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6559 void CCtrlView::OnDraw(CDC *)\n6560 void CFormView::OnDraw(CDC *)\n6561 void CHtmlView::OnDraw(CDC *)\n6562 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6563 void CPreviewView::OnDraw(CDC *)\n6564 void CView::OnDraw(CDC *)\n6565 void CWnd::OnDrawClipboard(void)\n6566 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6567 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6568 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6569 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6570 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6571 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6572 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6573 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6574 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6575 void CFrameWnd::OnDropFiles(HDROP__ *)\n6576 void CRichEditView::OnDropFiles(HDROP__ *)\n6577 void CWnd::OnDropFiles(HDROP__ *)\n6578 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6579 int CEditView::OnEditChange(void)\n6580 void COleDocument::OnEditChangeIcon(void)\n6581 void CEditView::OnEditClear(void)\n6582 void CRichEditView::OnEditClear(void)\n6583 void COleDocument::OnEditConvert(void)\n6584 void CEditView::OnEditCopy(void)\n6585 void CHtmlView::OnEditCopy(void)\n6586 void CRichEditView::OnEditCopy(void)\n6587 void CEditView::OnEditCut(void)\n6588 void CHtmlView::OnEditCut(void)\n6589 void CRichEditView::OnEditCut(void)\n6590 void CEditView::OnEditFind(void)\n6591 void CRichEditView::OnEditFind(void)\n6592 void CEditView::OnEditFindReplace(int)\n6593 void CRichEditView::OnEditFindReplace(int)\n6594 void COleDocument::OnEditLinks(void)\n6595 void CEditView::OnEditPaste(void)\n6596 void CHtmlView::OnEditPaste(void)\n6597 void CRichEditView::OnEditPaste(void)\n6598 void CRichEditView::OnEditPasteSpecial(void)\n6599 void CRichEditView::OnEditProperties(void)\n6600 int COlePropertyPage::OnEditProperty(long)\n6601 void CRichEditView::OnEditRedo(void)\n6602 void CEditView::OnEditRepeat(void)\n6603 void CRichEditView::OnEditRepeat(void)\n6604 void CEditView::OnEditReplace(void)\n6605 void CRichEditView::OnEditReplace(void)\n6606 void CEditView::OnEditSelectAll(void)\n6607 void CRichEditView::OnEditSelectAll(void)\n6608 void CEditView::OnEditUndo(void)\n6609 void CRichEditView::OnEditUndo(void)\n6610 void CFrameWnd::OnEnable(int)\n6611 void CToolTipCtrl::OnEnable(int)\n6612 void CWnd::OnEnable(int)\n6613 void COleControl::OnEnabledChanged(void)\n6614 long CHtmlView::OnEnableModeless(int)\n6615 void COleFrameHook::OnEnableModeless(int)\n6616 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6617 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6618 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6619 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6620 void CFrameWnd::OnEndSession(int)\n6621 void CWnd::OnEndSession(int)\n6622 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6623 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6624 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6625 void CWnd::OnEnterMenuLoop(int)\n6626 void CWnd::OnEnterSizeMove(void)\n6627 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6628 int CDockBar::OnEraseBkgnd(CDC *)\n6629 int CFrameWnd::OnEraseBkgnd(CDC *)\n6630 int COleControl::OnEraseBkgnd(CDC *)\n6631 int COleResizeBar::OnEraseBkgnd(CDC *)\n6632 int CPreviewView::OnEraseBkgnd(CDC *)\n6633 int CReBar::OnEraseBkgnd(CDC *)\n6634 int CToolBar::OnEraseBkgnd(CDC *)\n6635 int CWnd::OnEraseBkgnd(CDC *)\n6636 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6637 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6638 int COleControlSite::OnEvent(AFX_EVENT *)\n6639 void COleControl::OnEventAdvise(int)\n6640 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6641 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6642 void CWnd::OnExitMenuLoop(int)\n6643 void CWnd::OnExitSizeMove(void)\n6644 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6645 void CDocument::OnFileClose(void)\n6646 void CFileDialog::OnFileNameChange(void)\n6647 int CFileDialog::OnFileNameOK(void)\n6648 void CDocManager::OnFileNew(void)\n6649 void CWinApp::OnFileNew(void)\n6650 long CFileDialog::XFileDialogEvents::OnFileOk(IFileDialog *)\n6651 void CDocManager::OnFileOpen(void)\n6652 void CWinApp::OnFileOpen(void)\n6653 void CHtmlView::OnFilePrint(void)\n6654 void CView::OnFilePrint(void)\n6655 void CView::OnFilePrintPreview(void)\n6656 void CWinApp::OnFilePrintSetup(void)\n6657 void CDocument::OnFileSave(void)\n6658 void CDocument::OnFileSaveAs(void)\n6659 void COleServerDoc::OnFileSaveCopyAs(void)\n6660 void CDocument::OnFileSendMail(void)\n6661 void COleDocument::OnFileSendMail(void)\n6662 void COleServerDoc::OnFileUpdate(void)\n6663 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6664 void CCmdTarget::OnFinalRelease(void)\n6665 void CDocument::OnFinalRelease(void)\n6666 void COleControl::OnFinalRelease(void)\n6667 void COlePropertyPage::OnFinalRelease(void)\n6668 void COleServerItem::OnFinalRelease(void)\n6669 void CWnd::OnFinalRelease(void)\n6670 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(char const *)\n6671 void CEditView::OnFindNext(char const *,int,int)\n6672 void CRichEditView::OnFindNext(char const *,int,int,int)\n6673 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6674 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6675 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6676 long COleControlSite::XOleControlSite::OnFocus(int)\n6677 void CFileDialog::OnFolderChange(void)\n6678 long CFileDialog::XFileDialogEvents::OnFolderChange(IFileDialog *)\n6679 long CFileDialog::XFileDialogEvents::OnFolderChanging(IFileDialog *,IShellItem *)\n6680 void CWnd::OnFontChange(void)\n6681 void COleControl::OnFontChanged(void)\n6682 void COleControl::OnForeColorChanged(void)\n6683 void CRichEditView::OnFormatFont(void)\n6684 void COleControl::OnFrameClose(void)\n6685 long CBrowserControlSite::OnFrameWindowActivate(int)\n6686 long CDHtmlDialog::OnFrameWindowActivate(int)\n6687 long CHtmlView::OnFrameWindowActivate(int)\n6688 void COleServerDoc::OnFrameWindowActivate(int)\n6689 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6690 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6691 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6692 void COleControl::OnFreezeEvents(int)\n6693 void CHtmlView::OnFullScreen(int)\n6694 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6695 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6696 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6697 void COleClientItem::OnGetClipRect(CRect &)\n6698 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6699 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6700 int COleControl::OnGetDisplayString(long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n6701 unsigned int COleControl::OnGetDlgCode(void)\n6702 unsigned int CWnd::OnGetDlgCode(void)\n6703 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6704 COleServerItem * CRichEditDoc::OnGetEmbeddedItem(void)\n6705 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6706 long CHtmlView::OnGetExternal(IDispatch * *)\n6707 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6708 HMENU__ * COleControl::OnGetInPlaceMenu(void)\n6709 void COleClientItem::OnGetItemPosition(CRect &)\n6710 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6711 COleServerItem * COleLinkingDoc::OnGetLinkedItem(char const *)\n6712 COleServerItem * COleServerDoc::OnGetLinkedItem(char const *)\n6713 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6714 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6715 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6716 long CWnd::OnGetObject(unsigned int,long)\n6717 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6718 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6719 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6720 long CStatusBar::OnGetText(unsigned int,long)\n6721 long CStatusBar::OnGetTextLength(unsigned int,long)\n6722 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6723 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6724 unsigned long COleControl::OnGetViewStatus(void)\n6725 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6726 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6727 void CFrameWnd::OnHelp(void)\n6728 int COlePropertyPage::OnHelp(char const *)\n6729 void CWinApp::OnHelp(void)\n6730 void CWnd::OnHelp(void)\n6731 long CFileDialog::XFileDialogEvents::OnHelp(IFileDialog *)\n6732 void CWinApp::OnHelpFinder(void)\n6733 void CWnd::OnHelpFinder(void)\n6734 long CControlBar::OnHelpHitTest(unsigned int,long)\n6735 long CDialog::OnHelpHitTest(unsigned int,long)\n6736 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6737 void CWinApp::OnHelpIndex(void)\n6738 void CWnd::OnHelpIndex(void)\n6739 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6740 int CWnd::OnHelpInfo(tagHELPINFO *)\n6741 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6742 void CWinApp::OnHelpUsing(void)\n6743 void CWnd::OnHelpUsing(void)\n6744 void CDocObjectServerItem::OnHide(void)\n6745 long COleControl::OnHide(void)\n6746 void COleServerItem::OnHide(void)\n6747 void CFrameWnd::OnHideMenuBar(void)\n6748 void COleControl::OnHideToolBars(void)\n6749 long CHtmlView::OnHideUI(void)\n6750 void CWnd::OnHotKey(unsigned int,unsigned int,unsigned int)\n6751 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6752 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6753 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6754 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6755 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6756 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6757 void CWnd::OnIconEraseBkgnd(CDC *)\n6758 void CDocTemplate::OnIdle(void)\n6759 void CDocument::OnIdle(void)\n6760 void COleDocument::OnIdle(void)\n6761 int CWinApp::OnIdle(long)\n6762 int CWinThread::OnIdle(long)\n6763 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6764 void CFrameWnd::OnIdleUpdateCmdUI(void)\n6765 void CMDIFrameWnd::OnIdleUpdateCmdUI(void)\n6766 void COleCntrFrameWnd::OnIdleUpdateCmdUI(void)\n6767 void COleIPFrameWnd::OnIdleUpdateCmdUI(void)\n6768 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6769 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6770 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6771 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6772 int CDHtmlDialog::OnInitDialog(void)\n6773 int CDialog::OnInitDialog(void)\n6774 int COlePropertiesDialog::OnInitDialog(void)\n6775 int COlePropertyPage::OnInitDialog(void)\n6776 int CPropertySheet::OnInitDialog(void)\n6777 void CFileDialog::OnInitDone(void)\n6778 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6779 void CControlBar::OnInitialUpdate(void)\n6780 void CDaoRecordView::OnInitialUpdate(void)\n6781 void CFormView::OnInitialUpdate(void)\n6782 void COleDBRecordView::OnInitialUpdate(void)\n6783 void CRecordView::OnInitialUpdate(void)\n6784 void CRichEditView::OnInitialUpdate(void)\n6785 void CView::OnInitialUpdate(void)\n6786 void CFrameWnd::OnInitMenu(CMenu *)\n6787 void COleFrameHook::OnInitMenu(CMenu *)\n6788 void CWnd::OnInitMenu(CMenu *)\n6789 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6790 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6791 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6792 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6793 long COleClientItem::XOleIPSite::OnInPlaceActivate(void)\n6794 long COleControlSite::XOleIPSite::OnInPlaceActivate(void)\n6795 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6796 long COleClientItem::XOleIPSite::OnInPlaceDeactivate(void)\n6797 long COleControlSite::XOleIPSite::OnInPlaceDeactivate(void)\n6798 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6799 void CWnd::OnInputDeviceChange(unsigned short)\n6800 void CWnd::OnInputLangChange(unsigned int,unsigned int)\n6801 void CWnd::OnInputLangChangeRequest(unsigned int,unsigned int)\n6802 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6803 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6804 void CRichEditView::OnInsertObject(void)\n6805 void CSplitterWnd::OnInvertTracker(CRect const &)\n6806 long CFileDialog::XFileDialogControlEvents::OnItemSelected(IFileDialogCustomize *,unsigned long,unsigned long)\n6807 void CDockContext::OnKey(int,int)\n6808 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6809 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6810 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6811 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6812 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6813 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6814 void COleControl::OnKeyPressEvent(unsigned short)\n6815 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6816 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6817 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6818 long CPropertySheet::OnKickIdle(unsigned int,long)\n6819 int CPropertyPage::OnKillActive(void)\n6820 void COleControl::OnKillFocus(CWnd *)\n6821 void CWnd::OnKillFocus(CWnd *)\n6822 long CCheckListBox::OnLBAddString(unsigned int,long)\n6823 long CCheckListBox::OnLBFindString(unsigned int,long)\n6824 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6825 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6826 long CCheckListBox::OnLBGetText(unsigned int,long)\n6827 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6828 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6829 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6830 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6831 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6832 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6833 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6834 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6835 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6836 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6837 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6838 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6839 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6840 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6841 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6842 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6843 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6844 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6845 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6846 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6847 void CAsyncMonikerFile::OnLowResource(void)\n6848 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6849 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6850 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6851 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6852 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6853 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6854 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6855 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6856 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6857 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6858 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6859 void CHtmlView::OnMenuBar(int)\n6860 long CFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6861 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6862 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6863 void CWnd::OnMenuCommand(unsigned int,CMenu *)\n6864 unsigned int CWnd::OnMenuDrag(unsigned int,CMenu *)\n6865 unsigned int CWnd::OnMenuGetObject(tagMENUGETOBJECTINFO *)\n6866 void CWnd::OnMenuRButtonUp(unsigned int,CMenu *)\n6867 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6868 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6869 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6870 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6871 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6872 int CSocket::OnMessagePending(void)\n6873 void COleControl::OnMnemonic(tagMSG *)\n6874 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6875 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6876 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6877 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6878 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6879 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6880 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6881 void CWnd::OnMouseHover(unsigned int,CPoint)\n6882 void CWnd::OnMouseHWheel(unsigned int,short,CPoint)\n6883 void CWnd::OnMouseLeave(void)\n6884 void COleControl::OnMouseMove(unsigned int,CPoint)\n6885 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6886 void CWnd::OnMouseMove(unsigned int,CPoint)\n6887 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6888 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6889 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6890 void CDaoRecordView::OnMove(int,int)\n6891 int CDaoRecordView::OnMove(unsigned int)\n6892 void COleControl::OnMove(int,int)\n6893 int COleDBRecordView::OnMove(unsigned int)\n6894 void CRecordView::OnMove(int,int)\n6895 int CRecordView::OnMove(unsigned int)\n6896 void CWnd::OnMove(int,int)\n6897 void CWnd::OnMoving(unsigned int,tagRECT *)\n6898 void CDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6899 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,char const *)\n6900 void CHtmlEditView::OnNavigateComplete2(char const *)\n6901 void CHtmlView::OnNavigateComplete2(char const *)\n6902 void CHtmlView::OnNavigateError(char const *,char const *,unsigned long,int *)\n6903 int CFrameWnd::OnNcActivate(int)\n6904 int CMDIChildWnd::OnNcActivate(int)\n6905 int CMiniFrameWnd::OnNcActivate(int)\n6906 int CWnd::OnNcActivate(int)\n6907 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6908 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6909 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6910 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6911 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6912 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6913 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTA *)\n6914 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTA *)\n6915 int COleControl::OnNcCreate(tagCREATESTRUCTA *)\n6916 int CPropertySheet::OnNcCreate(tagCREATESTRUCTA *)\n6917 int CReBar::OnNcCreate(tagCREATESTRUCTA *)\n6918 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTA *)\n6919 int CToolBar::OnNcCreate(tagCREATESTRUCTA *)\n6920 int CWnd::OnNcCreate(tagCREATESTRUCTA *)\n6921 void CListCtrl::OnNcDestroy(void)\n6922 void CListView::OnNcDestroy(void)\n6923 void CWnd::OnNcDestroy(void)\n6924 long CMiniFrameWnd::OnNcHitTest(CPoint)\n6925 long COleControl::OnNcHitTest(CPoint)\n6926 long CStatusBar::OnNcHitTest(CPoint)\n6927 long CToolBar::OnNcHitTest(CPoint)\n6928 long CWnd::OnNcHitTest(CPoint)\n6929 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6930 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6931 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6932 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6933 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6934 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6935 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6936 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6937 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6938 void CWnd::OnNcMouseHover(unsigned int,CPoint)\n6939 void CWnd::OnNcMouseLeave(void)\n6940 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6941 void CDockBar::OnNcPaint(void)\n6942 void COleControl::OnNcPaint(void)\n6943 void CReBar::OnNcPaint(void)\n6944 void CStatusBar::OnNcPaint(void)\n6945 void CToolBar::OnNcPaint(void)\n6946 void CWnd::OnNcPaint(void)\n6947 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6948 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6949 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6950 void CWnd::OnNcRenderingChanged(int)\n6951 void CWnd::OnNcXButtonDblClk(short,unsigned int,CPoint)\n6952 void CWnd::OnNcXButtonDown(short,unsigned int,CPoint)\n6953 void CWnd::OnNcXButtonUp(short,unsigned int,CPoint)\n6954 int CDocument::OnNewDocument(void)\n6955 int CHtmlEditDoc::OnNewDocument(void)\n6956 int COleDocument::OnNewDocument(void)\n6957 int COleLinkingDoc::OnNewDocument(void)\n6958 void COleServerDoc::OnNewEmbedding(IStorage *)\n6959 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n6960 int CEnumArray::OnNext(void *)\n6961 int CEnumConnections::OnNext(void *)\n6962 int CEnumConnPoints::OnNext(void *)\n6963 int CEnumFormatEtc::OnNext(void *)\n6964 int CEnumOleVerb::OnNext(void *)\n6965 int CEnumUnknown::OnNext(void *)\n6966 void CWnd::OnNextMenu(unsigned int,tagMDINEXTMENU *)\n6967 void CPreviewView::OnNextPage(void)\n6968 int CView::OnNextPaneCmd(unsigned int)\n6969 int CFileDialog::OnNotify(unsigned int,long,long *)\n6970 int CPropertyPage::OnNotify(unsigned int,long,long *)\n6971 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n6972 int CWnd::OnNotify(unsigned int,long,long *)\n6973 unsigned int CWnd::OnNotifyFormat(CWnd *,unsigned int)\n6974 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n6975 long CWnd::OnNTCtlColor(unsigned int,long)\n6976 void CPreviewView::OnNumPageChange(void)\n6977 void COlePropertyPage::OnObjectsChanged(void)\n6978 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n6979 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n6980 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n6981 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n6982 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n6983 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n6984 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n6985 void CCommonDialog::OnOK(void)\n6986 void CDialog::OnOK(void)\n6987 void CPropertyPage::OnOK(void)\n6988 long COleControl::OnOpen(int,tagMSG *)\n6989 void COleServerItem::OnOpen(void)\n6990 int CDocument::OnOpenDocument(char const *)\n6991 int CHtmlEditDoc::OnOpenDocument(char const *)\n6992 int COleDocument::OnOpenDocument(char const *)\n6993 int COleLinkingDoc::OnOpenDocument(char const *)\n6994 void COleServerDoc::OnOpenEmbedding(IStorage *)\n6995 int CWinApp::OnOpenRecentFile(unsigned int)\n6996 void CAsyncSocket::OnOutOfBandData(int)\n6997 long CFileDialog::XFileDialogEvents::OnOverwrite(IFileDialog *,IShellItem *,enum tagFDE_OVERWRITE_RESPONSE *)\n6998 void CCommonDialog::OnPaint(void)\n6999 void CControlBar::OnPaint(void)\n7000 void CCtrlView::OnPaint(void)\n7001 void CDialog::OnPaint(void)\n7002 void CDockBar::OnPaint(void)\n7003 void CHtmlEditView::OnPaint(void)\n7004 void CHtmlView::OnPaint(void)\n7005 void COleControl::OnPaint(CDC *)\n7006 int COleControlContainer::OnPaint(CDC *)\n7007 void COleResizeBar::OnPaint(void)\n7008 void CReBar::OnPaint(void)\n7009 void CSplitterWnd::OnPaint(void)\n7010 void CStatusBar::OnPaint(void)\n7011 void CToolBar::OnPaint(void)\n7012 void CView::OnPaint(void)\n7013 void CWnd::OnPaint(void)\n7014 void CWnd::OnPaintClipboard(CWnd *,void *)\n7015 void CFrameWnd::OnPaletteChanged(CWnd *)\n7016 void COleFrameHook::OnPaletteChanged(CWnd *)\n7017 void CWnd::OnPaletteChanged(CWnd *)\n7018 void CWnd::OnPaletteIsChanging(CWnd *)\n7019 void CRichEditView::OnParaAlign(unsigned short)\n7020 void CRichEditView::OnParaCenter(void)\n7021 void CRichEditView::OnParaLeft(void)\n7022 void CRichEditView::OnParaRight(void)\n7023 void CWnd::OnParentNotify(unsigned int,long)\n7024 int CRichEditView::OnPasteNativeObject(IStorage *)\n7025 long CFrameWnd::OnPopMessageString(unsigned int,long)\n7026 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n7027 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n7028 unsigned int CWnd::OnPowerBroadcast(unsigned int,unsigned int)\n7029 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n7030 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n7031 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n7032 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n7033 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n7034 int CEditView::OnPreparePrinting(CPrintInfo *)\n7035 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n7036 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n7037 int CView::OnPreparePrinting(CPrintInfo *)\n7038 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n7039 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n7040 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n7041 void CPreviewView::OnPreviewClose(void)\n7042 void CPreviewView::OnPreviewPrint(void)\n7043 void CPreviewView::OnPrevPage(void)\n7044 void CEditView::OnPrint(CDC *,CPrintInfo *)\n7045 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n7046 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n7047 void CView::OnPrint(CDC *,CPrintInfo *)\n7048 void CRichEditView::OnPrinterChanged(CDC const &)\n7049 void CPrintDialog::OnPrintSetup(void)\n7050 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,char const *)\n7051 void CHtmlView::OnProgressChange(long,long)\n7052 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n7053 void CHtmlView::OnPropertyChange(char const *)\n7054 int CPropertyPage::OnQueryCancel(void)\n7055 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n7056 HICON__ * CWnd::OnQueryDragIcon(void)\n7057 int CFrameWnd::OnQueryEndSession(void)\n7058 int CWnd::OnQueryEndSession(void)\n7059 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7060 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7061 int CFrameWnd::OnQueryNewPalette(void)\n7062 int COleFrameHook::OnQueryNewPalette(void)\n7063 int CWnd::OnQueryNewPalette(void)\n7064 int CWnd::OnQueryOpen(void)\n7065 unsigned int CWnd::OnQueryUIState(void)\n7066 int COleServerItem::OnQueryUpdateItems(void)\n7067 void CHtmlView::OnQuit(void)\n7068 void CWnd::OnRawInput(unsigned int,HRAWINPUT__ *)\n7069 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n7070 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n7071 void COleControl::OnRButtonDown(unsigned int,CPoint)\n7072 void CWnd::OnRButtonDown(unsigned int,CPoint)\n7073 void COleControl::OnRButtonUp(unsigned int,CPoint)\n7074 void CWnd::OnRButtonUp(unsigned int,CPoint)\n7075 int COleServerDoc::OnReactivateAndUndo(void)\n7076 void COleFrameHook::OnRecalcLayout(void)\n7077 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n7078 void CReBar::OnRecalcParent(void)\n7079 void CAsyncSocket::OnReceive(int)\n7080 void COleControl::OnReflectorDestroyed(void)\n7081 void COleClientItem::OnRemoveMenus(CMenu *)\n7082 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n7083 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n7084 void CWnd::OnRenderAllFormats(void)\n7085 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7086 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7087 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7088 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7089 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7090 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7091 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7092 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n7093 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7094 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n7095 void CWnd::OnRenderFormat(unsigned int)\n7096 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7097 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7098 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n7099 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7100 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n7101 void CEditView::OnReplaceAll(char const *,char const *,int)\n7102 void CRichEditView::OnReplaceAll(char const *,char const *,int,int)\n7103 void CEditView::OnReplaceSel(char const *,int,int,char const *)\n7104 void CRichEditView::OnReplaceSel(char const *,int,int,int,char const *)\n7105 long COleControl::XFontNotification::OnRequestEdit(long)\n7106 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n7107 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n7108 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n7109 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n7110 void CEnumArray::OnReset(void)\n7111 void CPropertyPage::OnReset(void)\n7112 void COleControl::OnResetState(void)\n7113 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7114 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7115 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n7116 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n7117 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n7118 void COleClientItem::XAdviseSink::OnSave(void)\n7119 int CDocument::OnSaveDocument(char const *)\n7120 int CHtmlEditDoc::OnSaveDocument(char const *)\n7121 int COleDocument::OnSaveDocument(char const *)\n7122 int COleLinkingDoc::OnSaveDocument(char const *)\n7123 int COleServerDoc::OnSaveDocument(char const *)\n7124 void COleServerDoc::OnSaveEmbedding(IStorage *)\n7125 void COleServerItem::OnSaveEmbedding(IStorage *)\n7126 void CDocObjectServer::OnSaveViewState(CArchive &)\n7127 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n7128 int CView::OnScroll(unsigned int,unsigned int,int)\n7129 int COleClientItem::OnScrollBy(CSize)\n7130 int CScrollView::OnScrollBy(CSize,int)\n7131 int CView::OnScrollBy(CSize,int)\n7132 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n7133 long CFileDialog::XFileDialogEvents::OnSelectionChange(IFileDialog *)\n7134 void CAsyncSocket::OnSend(int)\n7135 void CWnd::OnSessionChange(unsigned int,unsigned int)\n7136 int CPropertyPage::OnSetActive(void)\n7137 long CToolBar::OnSetBitmapSize(unsigned int,long)\n7138 long CToolBar::OnSetButtonSize(unsigned int,long)\n7139 void COleControl::OnSetClientSite(void)\n7140 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n7141 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7142 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7143 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7144 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7145 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7146 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7147 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7148 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7149 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7150 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7151 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7152 long CPropertySheet::OnSetDefID(unsigned int,long)\n7153 int COleControl::OnSetExtent(tagSIZE *)\n7154 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n7155 void CFormView::OnSetFocus(CWnd *)\n7156 void CFrameWnd::OnSetFocus(CWnd *)\n7157 void COleControl::OnSetFocus(CWnd *)\n7158 void CWnd::OnSetFocus(CWnd *)\n7159 long CCheckListBox::OnSetFont(unsigned int,long)\n7160 void CDialog::OnSetFont(CFont *)\n7161 long CEditView::OnSetFont(unsigned int,long)\n7162 void COleServerDoc::OnSetHostNames(char const *,char const *)\n7163 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n7164 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n7165 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n7166 long CFrameWnd::OnSetMessageString(unsigned int,long)\n7167 long COleControl::OnSetMessageString(unsigned int,long)\n7168 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n7169 long CStatusBar::OnSetMinHeight(unsigned int,long)\n7170 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n7171 void CDatabase::OnSetOptions(void *)\n7172 void CRecordset::OnSetOptions(void *)\n7173 void COlePropertyPage::OnSetPageSite(void)\n7174 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n7175 long CToolBar::OnSetSizeHelper(CSize &,long)\n7176 long COleControl::OnSetText(unsigned int,long)\n7177 long CStatusBar::OnSetText(unsigned int,long)\n7178 void CWnd::OnSettingChange(unsigned int,char const *)\n7179 void CRecordset::OnSetUpdateOptions(void *)\n7180 unsigned int CFileDialog::OnShareViolation(char const *)\n7181 long CFileDialog::XFileDialogEvents::OnShareViolation(IFileDialog *,IShellItem *,enum tagFDE_SHAREVIOLATION_RESPONSE *)\n7182 void CDocObjectServerItem::OnShow(void)\n7183 void COleServerItem::OnShow(void)\n7184 long CReBar::OnShowBand(unsigned int,long)\n7185 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n7186 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n7187 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n7188 void COleServerDoc::OnShowDocument(int)\n7189 void COleClientItem::OnShowItem(void)\n7190 void CFrameWnd::OnShowMenuBar(void)\n7191 void COleControl::OnShowToolBars(void)\n7192 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n7193 void COleDocument::OnShowViews(int)\n7194 void COleLinkingDoc::OnShowViews(int)\n7195 void COleControl::OnShowWindow(int,unsigned int)\n7196 void CWnd::OnShowWindow(int,unsigned int)\n7197 long COleClientItem::XOleClientSite::OnShowWindow(int)\n7198 long COleControlSite::XOleClientSite::OnShowWindow(int)\n7199 void CDHtmlDialog::OnSize(unsigned int,int,int)\n7200 void CFrameWnd::OnSize(unsigned int,int,int)\n7201 void CHtmlView::OnSize(unsigned int,int,int)\n7202 void CMDIChildWnd::OnSize(unsigned int,int,int)\n7203 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n7204 void COleControl::OnSize(unsigned int,int,int)\n7205 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n7206 void COleResizeBar::OnSize(unsigned int,int,int)\n7207 void CPreviewView::OnSize(unsigned int,int,int)\n7208 void CScrollView::OnSize(unsigned int,int,int)\n7209 void CSplitterWnd::OnSize(unsigned int,int,int)\n7210 void CStatusBar::OnSize(unsigned int,int,int)\n7211 void CWnd::OnSize(unsigned int,int,int)\n7212 void CWnd::OnSizeClipboard(CWnd *,void *)\n7213 long CControlBar::OnSizeParent(unsigned int,long)\n7214 long CDockBar::OnSizeParent(unsigned int,long)\n7215 long COleResizeBar::OnSizeParent(unsigned int,long)\n7216 void CWnd::OnSizing(unsigned int,tagRECT *)\n7217 int CEnumArray::OnSkip(void)\n7218 long CSocketWnd::OnSocketDead(unsigned int,long)\n7219 long CSocketWnd::OnSocketNotify(unsigned int,long)\n7220 int CView::OnSplitCmd(unsigned int)\n7221 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n7222 void CAsyncMonikerFile::OnStartBinding(void)\n7223 void CHtmlView::OnStatusBar(int)\n7224 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n7225 void CHtmlView::OnStatusTextChange(char const *)\n7226 void CAsyncMonikerFile::OnStopBinding(long,char const *)\n7227 void CWnd::OnStyleChanged(int,tagSTYLE*)\n7228 void CWnd::OnStyleChanging(int,tagSTYLE*)\n7229 void CWnd::OnSyncPaint(void)\n7230 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n7231 void CToolBar::OnSysColorChange(void)\n7232 void CWnd::OnSysColorChange(void)\n7233 void CFrameWnd::OnSysCommand(unsigned int,long)\n7234 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n7235 void CPropertySheet::OnSysCommand(unsigned int,long)\n7236 void CSplitterWnd::OnSysCommand(unsigned int,long)\n7237 void CWnd::OnSysCommand(unsigned int,long)\n7238 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n7239 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n7240 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n7241 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n7242 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n7243 void CWnd::OnTCard(unsigned int,unsigned long)\n7244 void COleControl::OnTextChanged(void)\n7245 void CEditView::OnTextNotFound(char const *)\n7246 void CRichEditView::OnTextNotFound(char const *)\n7247 void CHtmlView::OnTheaterMode(int)\n7248 long CControlBar::OnThemeChanged(void)\n7249 void CWnd::OnTimeChange(void)\n7250 void CControlBar::OnTimer(unsigned int)\n7251 void CWnd::OnTimer(unsigned int)\n7252 void CHtmlView::OnTitleChange(char const *)\n7253 void CHtmlView::OnToolBar(int)\n7254 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n7255 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n7256 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOA *)const \n7257 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n7258 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n7259 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n7260 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n7261 void CFileDialog::OnTypeChange(void)\n7262 long CFileDialog::XFileDialogEvents::OnTypeChange(IFileDialog *)\n7263 void COleControlContainer::OnUIActivate(COleControlSite *)\n7264 long COleClientItem::XOleIPSite::OnUIActivate(void)\n7265 long COleControlSite::XOleIPSite::OnUIActivate(void)\n7266 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n7267 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n7268 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n7269 void CWnd::OnUniChar(unsigned int,unsigned int,unsigned int)\n7270 void CWnd::OnUnInitMenuPopup(CMenu *,unsigned int)\n7271 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n7272 void CView::OnUpdate(CView *,long,CObject *)\n7273 void CRichEditView::OnUpdateBullet(CCmdUI *)\n7274 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n7275 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n7276 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n7277 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n7278 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n7279 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n7280 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n7281 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n7282 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n7283 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n7284 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n7285 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n7286 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n7287 int COleServerDoc::OnUpdateDocument(void)\n7288 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n7289 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n7290 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n7291 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n7292 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n7293 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n7294 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n7295 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n7296 void CEditView::OnUpdateEditUndo(CCmdUI *)\n7297 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n7298 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n7299 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n7300 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n7301 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n7302 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n7303 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n7304 void CFrameWnd::OnUpdateFrameTitle(int)\n7305 void CMDIChildWnd::OnUpdateFrameTitle(int)\n7306 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n7307 int COleClientItem::OnUpdateFrameTitle(void)\n7308 int COleFrameHook::OnUpdateFrameTitle(void)\n7309 void COleServerItem::OnUpdateItems(void)\n7310 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n7311 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n7312 void CEditView::OnUpdateNeedClip(CCmdUI *)\n7313 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n7314 void CEditView::OnUpdateNeedFind(CCmdUI *)\n7315 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n7316 void CEditView::OnUpdateNeedSel(CCmdUI *)\n7317 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n7318 void CEditView::OnUpdateNeedText(CCmdUI *)\n7319 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n7320 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n7321 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n7322 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n7323 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n7324 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n7325 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n7326 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n7327 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n7328 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n7329 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n7330 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n7331 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n7332 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n7333 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n7334 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n7335 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n7336 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n7337 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n7338 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n7339 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n7340 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n7341 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n7342 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n7343 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n7344 void CView::OnUpdateSplitCmd(CCmdUI *)\n7345 long CHtmlView::OnUpdateUI(void)\n7346 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n7347 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n7348 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n7349 void CWnd::OnUserChanged(void)\n7350 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n7351 void CHtmlView::OnVisible(int)\n7352 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n7353 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7354 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7355 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7356 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7357 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7358 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n7359 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n7360 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n7361 void CWnd::OnWindowMaximizedChange(int)\n7362 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n7363 void CMDIFrameWnd::OnWindowNew(void)\n7364 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n7365 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n7366 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n7367 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7368 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7369 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n7370 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n7371 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7372 void CWnd::OnWinIniChange(char const *)\n7373 long CPropertyPage::OnWizardBack(void)\n7374 int CPropertyPage::OnWizardFinish(void)\n7375 HWND__ * CPropertyPage::OnWizardFinishEx(void)\n7376 long CPropertyPage::OnWizardNext(void)\n7377 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n7378 void CWnd::OnXButtonDblClk(unsigned int,unsigned int,CPoint)\n7379 void CWnd::OnXButtonDown(unsigned int,unsigned int,CPoint)\n7380 void CWnd::OnXButtonUp(unsigned int,unsigned int,CPoint)\n7381 void CPreviewView::OnZoomIn(void)\n7382 void CPreviewView::OnZoomOut(void)\n7383 int CAnimateCtrl::Open(unsigned int)\n7384 int CAnimateCtrl::Open(char const *)\n7385 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n7386 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n7387 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n7388 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n7389 int CAsyncMonikerFile::Open(char const *,IBindHost *,CFileException *)\n7390 int CAsyncMonikerFile::Open(char const *,IServiceProvider *,CFileException *)\n7391 int CAsyncMonikerFile::Open(char const *,IUnknown *,CFileException *)\n7392 int CAsyncMonikerFile::Open(char const *,CFileException *)\n7393 void CDaoDatabase::Open(char const *,int,int,char const *)\n7394 void CDaoQueryDef::Open(char const *)\n7395 void CDaoRecordset::Open(int,char const *,int)\n7396 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n7397 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n7398 void CDaoTableDef::Open(char const *)\n7399 void CDaoWorkspace::Open(char const *)\n7400 int CDatabase::Open(char const *,int,int,char const *,int)\n7401 int CDataPathProperty::Open(CFileException *)\n7402 int CDataPathProperty::Open(COleControl *,CFileException *)\n7403 int CDataPathProperty::Open(char const *,CFileException *)\n7404 int CDataPathProperty::Open(char const *,COleControl *,CFileException *)\n7405 int CFile::Open(char const *,unsigned int,CFileException *)\n7406 int CMirrorFile::Open(char const *,unsigned int,CFileException *)\n7407 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n7408 int CMonikerFile::Open(char const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n7409 int CMonikerFile::Open(IMoniker *,CFileException *)\n7410 int CMonikerFile::Open(char const *,CFileException *)\n7411 int CRecordset::Open(unsigned int,char const *,unsigned long)\n7412 int CSocketFile::Open(char const *,unsigned int,CFileException *)\n7413 int CStdioFile::Open(char const *,unsigned int,CFileException *)\n7414 long CDocObjectServer::XOleDocumentView::Open(void)\n7415 int CWnd::OpenClipboard(void)\n7416 CDocument * CDocManager::OpenDocumentFile(char const *)\n7417 CDocument * CMultiDocTemplate::OpenDocumentFile(char const *,int)\n7418 CDocument * CSingleDocTemplate::OpenDocumentFile(char const *,int)\n7419 CDocument * CWinApp::OpenDocumentFile(char const *)\n7420 int CDatabase::OpenEx(char const *,unsigned long)\n7421 CInternetFile * CFtpConnection::OpenFile(char const *,unsigned long,unsigned long,unsigned long)\n7422 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,char const *,unsigned long)\n7423 int CWnd::OpenIcon(void)\n7424 long COleUILinkInfo::OpenLinkSource(unsigned long)\n7425 CHttpFile * CHttpConnection::OpenRequest(int,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n7426 CHttpFile * CHttpConnection::OpenRequest(char const *,char const *,char const *,unsigned long,char const * *,char const *,unsigned long)\n7427 int COleStreamFile::OpenStream(IStorage *,char const *,unsigned long,CFileException *)\n7428 void * CThemeHelper::OpenThemeData(HWND__ *,wchar_t const *)\n7429 void * CThemeHelper::OpenThemeDataFail(HWND__ *,wchar_t const *)\n7430 int CHtmlEditDoc::OpenURL(char const *)\n7431 CStdioFile * CInternetSession::OpenURL(char const *,unsigned long,unsigned long,char const *,unsigned long)\n7432 int CHeaderCtrl::OrderToIndex(int)const \n7433 int CFileException::OsErrorToException(long)\n7434 void CDumpContext::OutputString(char const *)\n7435 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n7436 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n7437 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n7438 int CDC::PaintRgn(CRgn *)\n7439 int CWnd::PaintWindowlessControls(CDC *)\n7440 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n7441 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n7442 int COleCurrency::ParseCurrency(char const *,unsigned long,unsigned long)\n7443 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n7444 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n7445 void CCommandLineInfo::ParseLast(int)\n7446 void CCommandLineInfo::ParseParam(char const *,int,int)\n7447 void CCommandLineInfo::ParseParamFlag(char const *)\n7448 void CCommandLineInfo::ParseParamNotFlag(char const *)\n7449 void CComboBox::Paste(void)\n7450 void CEdit::Paste(void)\n7451 void CRichEditCtrl::Paste(void)\n7452 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n7453 int CDC::PatBlt(int,int,int,int,unsigned long)\n7454 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc(void)\n7455 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc(void)const \n7456 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n7457 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n7458 int CDC::Pie(int,int,int,int,int,int,int,int)\n7459 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n7460 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n7461 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n7462 int CDC::PlayMetaFile(HMETAFILE__ *)\n7463 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n7464 CMapStringToString::CPair * CMapStringToString::PLookup(char const *)\n7465 CMapStringToString::CPair const * CMapStringToString::PLookup(char const *)const \n7466 int CDC::PolyBezier(tagPOINT const *,int)\n7467 int CDC::PolyBezierTo(tagPOINT const *,int)\n7468 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n7469 int CDC::Polygon(tagPOINT const *,int)\n7470 int CDC::Polyline(tagPOINT const *,int)\n7471 int CDC::PolylineTo(tagPOINT const *,int)\n7472 int CDC::PolyPolygon(tagPOINT const *,int const *,int)\n7473 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n7474 void CToolTipCtrl::Pop(void)\n7475 CPoint CEdit::PosFromChar(unsigned int)const \n7476 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n7477 void CPreviewView::PositionPage(unsigned int)\n7478 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n7479 int CMonikerFile::PostBindToStream(CFileException *)\n7480 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n7481 int CWnd::PostMessageA(unsigned int,unsigned int,long)\n7482 void CDialog::PostModal(void)\n7483 void CPrintDialogEx::PostModal(void)\n7484 void COleControl::PostModalDialog(HWND__ *)\n7485 void CControlBar::PostNcDestroy(void)\n7486 void CControlFrameWnd::PostNcDestroy(void)\n7487 void CFindReplaceDialog::PostNcDestroy(void)\n7488 void CFrameWnd::PostNcDestroy(void)\n7489 void COleCntrFrameWnd::PostNcDestroy(void)\n7490 void CReflectorWnd::PostNcDestroy(void)\n7491 void CView::PostNcDestroy(void)\n7492 void CWnd::PostNcDestroy(void)\n7493 int CWinThread::PostThreadMessageA(unsigned int,unsigned int,long)\n7494 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n7495 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n7496 void CRecordset::PreBindFields(void)\n7497 void CDocument::PreCloseFrame(CFrameWnd *)\n7498 void COleDocument::PreCloseFrame(CFrameWnd *)\n7499 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n7500 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n7501 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n7502 int CControlBar::PreCreateWindow(tagCREATESTRUCTA &)\n7503 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7504 int CCtrlView::PreCreateWindow(tagCREATESTRUCTA &)\n7505 int CEditView::PreCreateWindow(tagCREATESTRUCTA &)\n7506 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7507 int CHtmlView::PreCreateWindow(tagCREATESTRUCTA &)\n7508 int CListView::PreCreateWindow(tagCREATESTRUCTA &)\n7509 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7510 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7511 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7512 int CRichEditView::PreCreateWindow(tagCREATESTRUCTA &)\n7513 int CStatusBar::PreCreateWindow(tagCREATESTRUCTA &)\n7514 int CTreeView::PreCreateWindow(tagCREATESTRUCTA &)\n7515 int CView::PreCreateWindow(tagCREATESTRUCTA &)\n7516 int CWnd::PreCreateWindow(tagCREATESTRUCTA &)\n7517 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n7518 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n7519 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n7520 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n7521 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n7522 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDA *)\n7523 void CDialog::PreInitDialog(void)\n7524 void COleChangeSourceDialog::PreInitDialog(void)\n7525 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n7526 HWND__ * CDialog::PreModal(void)\n7527 HWND__ * CPrintDialogEx::PreModal(void)\n7528 void COleControl::PreModalDialog(HWND__ *)\n7529 void CRecordset::PrepareAndExecute(void)\n7530 HWND__ * CDataExchange::PrepareCtrl(int)\n7531 HWND__ * CDataExchange::PrepareEditCtrl(int)\n7532 void CWnd::PrepareForHelp(void)\n7533 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n7534 void CRecordset::PrepareUpdateHstmt(void)\n7535 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n7536 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n7537 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n7538 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n7539 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEA &,int)\n7540 void CPropertySheet::PressButton(int)\n7541 int CToolBarCtrl::PressButton(int,int)\n7542 void CCheckListBox::PreSubclassWindow(void)\n7543 void CDragListBox::PreSubclassWindow(void)\n7544 void CWnd::PreSubclassWindow(void)\n7545 int CWnd::PreTranslateInput(tagMSG *)\n7546 int CControlBar::PreTranslateMessage(tagMSG *)\n7547 int CDialog::PreTranslateMessage(tagMSG *)\n7548 int CFormView::PreTranslateMessage(tagMSG *)\n7549 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7550 int CHtmlView::PreTranslateMessage(tagMSG *)\n7551 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7552 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7553 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7554 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7555 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7556 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7557 int CWinThread::PreTranslateMessage(tagMSG *)\n7558 int CWnd::PreTranslateMessage(tagMSG *)\n7559 void CDialog::PrevDlgCtrl(void)const \n7560 void CWnd::Print(CDC *,unsigned long)const \n7561 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7562 int CPrintDialog::PrintAll(void)const \n7563 int CPrintDialogEx::PrintAll(void)const \n7564 void CWnd::PrintClient(CDC *,unsigned long)const \n7565 int CPrintDialog::PrintCollate(void)const \n7566 int CPrintDialogEx::PrintCollate(void)const \n7567 int CPrintDialogEx::PrintCurrentPage(void)const \n7568 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7569 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7570 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7571 long CRichEditView::PrintPage(CDC *,long,long)\n7572 int CPrintDialog::PrintRange(void)const \n7573 int CPrintDialogEx::PrintRange(void)const \n7574 int CPrintDialog::PrintSelection(void)const \n7575 int CPrintDialogEx::PrintSelection(void)const \n7576 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7577 long COleException::Process(CException const *)\n7578 int CSocket::ProcessAuxQueue(void)\n7579 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7580 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7581 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7582 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7583 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7584 int CRgn::PtInRegion(int,int)const \n7585 int CRgn::PtInRegion(tagPOINT)const \n7586 void COleSafeArray::PtrOfIndex(long *,void * *)\n7587 int CDC::PtVisible(tagPOINT)const \n7588 int CDC::PtVisible(int,int)const \n7589 int CMetaFileDC::PtVisible(tagPOINT)const \n7590 int CMetaFileDC::PtVisible(int,int)const \n7591 int CEvent::PulseEvent(void)\n7592 int CWinThread::PumpMessage(void)\n7593 int CSocket::PumpMessages(unsigned int)\n7594 void CReBarCtrl::PushChevron(unsigned int,long)\n7595 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n7596 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7597 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7598 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7599 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7600 void COleSafeArray::PutElement(long *,void *)\n7601 int CFtpConnection::PutFile(char const *,char const *,unsigned long,unsigned long)\n7602 void CHtmlView::PutProperty(char const *,char const *)\n7603 void CHtmlView::PutProperty(char const *,tagVARIANT const &)\n7604 void CHtmlView::PutProperty(char const *,short)\n7605 void CHtmlView::PutProperty(char const *,long)\n7606 void CHtmlView::PutProperty(char const *,double)\n7607 int PX_Blob(CPropExchange *,char const *,void * &,void *)\n7608 int PX_Bool(CPropExchange *,char const *,int &)\n7609 int PX_Bool(CPropExchange *,char const *,int &,int)\n7610 int PX_Color(CPropExchange *,char const *,unsigned long &)\n7611 int PX_Color(CPropExchange *,char const *,unsigned long &,unsigned long)\n7612 int PX_Currency(CPropExchange *,char const *,union tagCY &)\n7613 int PX_Currency(CPropExchange *,char const *,union tagCY &,union tagCY)\n7614 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,char const *)\n7615 int PX_DataPath(CPropExchange *,char const *,CDataPathProperty &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7616 int PX_Double(CPropExchange *,char const *,double &)\n7617 int PX_Double(CPropExchange *,char const *,double &,double)\n7618 int PX_Float(CPropExchange *,char const *,float &)\n7619 int PX_Float(CPropExchange *,char const *,float &,float)\n7620 int PX_Font(CPropExchange *,char const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7621 int PX_IUnknown(CPropExchange *,char const *,IUnknown * &,_GUID const &,IUnknown *)\n7622 int PX_Long(CPropExchange *,char const *,long &)\n7623 int PX_Long(CPropExchange *,char const *,long &,long)\n7624 int PX_Picture(CPropExchange *,char const *,CPictureHolder &)\n7625 int PX_Picture(CPropExchange *,char const *,CPictureHolder &,CPictureHolder &)\n7626 int PX_Short(CPropExchange *,char const *,short &)\n7627 int PX_Short(CPropExchange *,char const *,short &,short)\n7628 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7629 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,char const *)\n7630 int PX_String(CPropExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n7631 int PX_ULong(CPropExchange *,char const *,unsigned long &)\n7632 int PX_ULong(CPropExchange *,char const *,unsigned long &,unsigned long)\n7633 int PX_UShort(CPropExchange *,char const *,unsigned short &)\n7634 int PX_UShort(CPropExchange *,char const *,unsigned short &,unsigned short)\n7635 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7636 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7637 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7638 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7639 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7640 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7641 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7642 void * COleControl::QueryDefHandler(_GUID const &)\n7643 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7644 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7645 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7646 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7647 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7648 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7649 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7650 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7651 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned long *)const \n7652 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7653 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7654 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7655 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7656 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7657 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7658 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7659 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7660 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7661 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7662 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7663 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7664 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7665 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7666 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7667 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7668 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7669 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7670 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7671 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7672 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7673 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7674 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7675 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7676 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7677 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7678 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7679 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7680 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7681 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7682 long CFileDialog::XFileDialogControlEvents::QueryInterface(_GUID const &,void * *)\n7683 long CFileDialog::XFileDialogEvents::QueryInterface(_GUID const &,void * *)\n7684 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7685 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7686 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7687 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7688 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7689 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7690 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7691 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7692 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7693 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7694 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7695 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7696 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7697 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7698 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7699 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7700 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7701 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7702 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7703 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7704 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7705 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7706 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7707 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7708 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7709 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7710 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7711 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7712 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7713 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7714 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7715 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7716 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7717 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7718 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7719 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7720 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7721 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7722 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7723 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7724 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7725 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7726 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7727 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7728 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7729 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7730 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7731 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7732 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7733 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7734 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7735 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7736 long CPropertyPage::QuerySiblings(unsigned int,long)\n7737 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7738 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7739 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7740 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7741 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7742 void CFontHolder::QueryTextMetrics(tagTEXTMETRICA *)\n7743 int COleControlSite::QuickActivate(void)\n7744 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7745 int COleClientItem::ReactivateAndUndo(void)\n7746 long COleControl::XOleInPlaceObject::ReactivateAndUndo(void)\n7747 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo(void)\n7748 unsigned int CArchive::Read(void *,unsigned int)\n7749 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7750 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7751 unsigned int CFile::Read(void *,unsigned int)\n7752 int CImageList::Read(CArchive *)\n7753 unsigned int CInternetFile::Read(void *,unsigned int)\n7754 unsigned int CMemFile::Read(void *,unsigned int)\n7755 unsigned int COleStreamFile::Read(void *,unsigned int)\n7756 unsigned int CSocketFile::Read(void *,unsigned int)\n7757 unsigned int CStdioFile::Read(void *,unsigned int)\n7758 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7759 unsigned long CArchive::ReadCount(void)\n7760 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7761 int CProperty::ReadFromStream(IStream *)\n7762 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7763 int CPropertySet::ReadFromStream(IStream *)\n7764 void COleClientItem::ReadItem(CArchive &)\n7765 void COleClientItem::ReadItemCompound(CArchive &)\n7766 void COleClientItem::ReadItemFlat(CArchive &)\n7767 void CRecentFileList::ReadList(void)\n7768 int CPropertySection::ReadNameDictFromStream(IStream *)\n7769 CObject * CArchive::ReadObject(CRuntimeconst *)\n7770 int CArchive::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7771 char * CArchive::ReadString(char *,unsigned int)\n7772 int CInternetFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7773 char * CInternetFile::ReadString(char *,unsigned int)\n7774 int CStdioFile::ReadString(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n7775 char * CStdioFile::ReadString(char *,unsigned int)\n7776 unsigned int CDC::RealizePalette(void)\n7777 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7778 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7779 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7780 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7781 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7782 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7783 void CRecordset::RebindParams(void *)\n7784 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7785 void CFrameWnd::RecalcLayout(int)\n7786 void CMiniDockFrameWnd::RecalcLayout(int)\n7787 void COleCntrFrameWnd::RecalcLayout(int)\n7788 void COleDocIPFrameWnd::RecalcLayout(int)\n7789 void COleIPFrameWnd::RecalcLayout(int)\n7790 void CSplitterWnd::RecalcLayout(void)\n7791 int CAsyncSocket::Receive(void *,int,int)\n7792 int CSocket::Receive(void *,int,int)\n7793 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,unsigned int &,int)\n7794 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7795 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7796 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7797 void COleControl::RecreateControlWindow(void)\n7798 int CDC::Rectangle(int,int,int,int)\n7799 int CDC::Rectangle(tagRECT const *)\n7800 CRect const CFrameWnd::rectDefault\n7801 int CRgn::RectInRegion(tagRECT const *)const \n7802 int CDC::RectVisible(tagRECT const *)const \n7803 int CMetaFileDC::RectVisible(tagRECT const *)const \n7804 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7805 int CRichEditCtrl::Redo(void)\n7806 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7807 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7808 int CListCtrl::RedrawItems(int,int)\n7809 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7810 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7811 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7812 void CHtmlView::Refresh(void)\n7813 void COleControl::Refresh(void)\n7814 void CHtmlView::Refresh2(int)\n7815 void CDaoTableDef::RefreshLink(void)\n7816 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7817 int COleDropTarget::Register(CWnd *)\n7818 int COleLinkingDoc::Register(COleObjectFactory *,char const *)\n7819 int COleMessageFilter::Register(void)\n7820 int COleObjectFactory::Register(void)\n7821 int COleTemplateServer::Register(void)\n7822 int CWinApp::Register(void)\n7823 int COleObjectFactory::RegisterAll(void)\n7824 int COleLinkingDoc::RegisterIfServerAttached(char const *,int)\n7825 void CDocManager::RegisterShellFileTypes(int)\n7826 void CWinApp::RegisterShellFileTypes(int)\n7827 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n7828 void CToolTipCtrl::RelayEvent(tagMSG *)\n7829 unsigned long CArchiveStream::Release(void)\n7830 unsigned long CBlobProperty::Release(void)\n7831 unsigned long CBrowserControlSite::Release(void)\n7832 unsigned long CDHtmlControlSink::Release(void)\n7833 unsigned long CDHtmlElementEventSink::Release(void)\n7834 unsigned long CDHtmlEventSink::Release(void)\n7835 unsigned long CInnerUnknown::Release(void)\n7836 void COleClientItem::Release(enum tagOLECLOSE)\n7837 unsigned long COleConnPtContainer::Release(void)\n7838 void COleDataObject::Release(void)\n7839 unsigned long COleDispatchImpl::Release(void)\n7840 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7841 unsigned long COleUILinkInfo::Release(void)\n7842 unsigned long CPrintDialogEx::Release(void)\n7843 unsigned long CWnd::XAccessible::Release(void)\n7844 unsigned long CWnd::XAccessibleServer::Release(void)\n7845 unsigned long COleClientItem::XAdviseSink::Release(void)\n7846 unsigned long COleControlSite::XAmbientProps::Release(void)\n7847 unsigned long COleControlSite::XBoundObjectSite::Release(void)\n7848 unsigned long COleObjectFactory::XClassFactory::Release(void)\n7849 unsigned long CConnectionPoint::XConnPt::Release(void)\n7850 unsigned long COleControl::XDataObject::Release(void)\n7851 unsigned long COleDataSource::XDataObject::Release(void)\n7852 unsigned long COleServerDoc::XDataObject::Release(void)\n7853 unsigned long COleServerItem::XDataObject::Release(void)\n7854 unsigned long CHtmlControlSite::XDocHostUIHandler::Release(void)\n7855 unsigned long COleDropSource::XDropSource::Release(void)\n7856 unsigned long COleDropTarget::XDropTarget::Release(void)\n7857 unsigned long CEnumArray::XEnumVOID::Release(void)\n7858 unsigned long COleControlSite::XEventSink::Release(void)\n7859 unsigned long CFileDialog::XFileDialogControlEvents::Release(void)\n7860 unsigned long CFileDialog::XFileDialogEvents::Release(void)\n7861 unsigned long COleControl::XFontNotification::Release(void)\n7862 unsigned long COleMessageFilter::XMessageFilter::Release(void)\n7863 unsigned long COleControlSite::XNotifyDBEvents::Release(void)\n7864 unsigned long COleControl::XOleCache::Release(void)\n7865 unsigned long COleClientItem::XOleClientSite::Release(void)\n7866 unsigned long COleControlSite::XOleClientSite::Release(void)\n7867 unsigned long CDocObjectServer::XOleCommandTarget::Release(void)\n7868 unsigned long COleFrameHook::XOleCommandTarget::Release(void)\n7869 unsigned long COleControlContainer::XOleContainer::Release(void)\n7870 unsigned long COleControl::XOleControl::Release(void)\n7871 unsigned long COleControlSite::XOleControlSite::Release(void)\n7872 unsigned long CDocObjectServer::XOleDocument::Release(void)\n7873 unsigned long COleDocObjectItem::XOleDocumentSite::Release(void)\n7874 unsigned long CDocObjectServer::XOleDocumentView::Release(void)\n7875 unsigned long COleControl::XOleInPlaceActiveObject::Release(void)\n7876 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release(void)\n7877 unsigned long COleFrameHook::XOleInPlaceFrame::Release(void)\n7878 unsigned long COleControl::XOleInPlaceObject::Release(void)\n7879 unsigned long COleServerDoc::XOleInPlaceObject::Release(void)\n7880 unsigned long COleControlContainer::XOleIPFrame::Release(void)\n7881 unsigned long COleClientItem::XOleIPSite::Release(void)\n7882 unsigned long COleControlSite::XOleIPSite::Release(void)\n7883 unsigned long COleLinkingDoc::XOleItemContainer::Release(void)\n7884 unsigned long CDocObjectServer::XOleObject::Release(void)\n7885 unsigned long COleControl::XOleObject::Release(void)\n7886 unsigned long COleServerDoc::XOleObject::Release(void)\n7887 unsigned long COleServerItem::XOleObject::Release(void)\n7888 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release(void)\n7889 unsigned long COleControl::XPerPropertyBrowsing::Release(void)\n7890 unsigned long COleLinkingDoc::XPersistFile::Release(void)\n7891 unsigned long COleControl::XPersistMemory::Release(void)\n7892 unsigned long COleControl::XPersistPropertyBag::Release(void)\n7893 unsigned long COleControl::XPersistStorage::Release(void)\n7894 unsigned long COleServerDoc::XPersistStorage::Release(void)\n7895 unsigned long COleControl::XPersistStreamInit::Release(void)\n7896 unsigned long COleControl::XPointerInactive::Release(void)\n7897 unsigned long CDocObjectServer::XPrint::Release(void)\n7898 unsigned long COleControlSite::XPropertyNotifySink::Release(void)\n7899 unsigned long COlePropertyPage::XPropertyPage::Release(void)\n7900 unsigned long COlePropertyPage::XPropNotifySink::Release(void)\n7901 unsigned long COleControl::XProvideClassInfo::Release(void)\n7902 unsigned long COleControl::XQuickActivate::Release(void)\n7903 unsigned long CRichEditView::XRichEditOleCallback::Release(void)\n7904 unsigned long COleControlSite::XRowsetNotify::Release(void)\n7905 unsigned long COleControl::XSpecifyPropertyPages::Release(void)\n7906 unsigned long COleControl::XViewObject::Release(void)\n7907 void CDC::ReleaseAttribDC(void)\n7908 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7909 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7910 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7911 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7912 void COleControl::ReleaseCaches(void)\n7913 int COleControl::ReleaseCapture(void)\n7914 int COleControl::ReleaseDC(CDC *)\n7915 int CWnd::ReleaseDC(CDC *)\n7916 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7917 void COleDispatchDriver::ReleaseDispatch(void)\n7918 void CDocObjectServer::ReleaseDocSite(void)\n7919 void CDocument::ReleaseFile(CFile *,int)\n7920 void CFontHolder::ReleaseFont(void)\n7921 void CDC::ReleaseOutputDC(void)\n7922 void CMetaFileDC::ReleaseOutputDC(void)\n7923 void CPreviewDC::ReleaseOutputDC(void)\n7924 int COleClientItem::Reload(void)\n7925 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7926 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7927 void CFile::Remove(char const *)\n7928 int CFtpConnection::Remove(char const *)\n7929 int CImageList::Remove(int)\n7930 void CPropertySection::Remove(unsigned long)\n7931 void CPropertySet::Remove(_GUID)\n7932 void CPropertySet::Remove(_GUID,unsigned long)\n7933 void CRecentFileList::Remove(int)\n7934 int CSimpleList::Remove(void *)\n7935 void CByteArray::RemoveAll(void)\n7936 void CDWordArray::RemoveAll(void)\n7937 void CMapPtrToPtr::RemoveAll(void)\n7938 void CMapPtrToWord::RemoveAll(void)\n7939 void CMapStringToOb::RemoveAll(void)\n7940 void CMapStringToPtr::RemoveAll(void)\n7941 void CMapStringToString::RemoveAll(void)\n7942 void CMapWordToOb::RemoveAll(void)\n7943 void CMapWordToPtr::RemoveAll(void)\n7944 void CObArray::RemoveAll(void)\n7945 void CObList::RemoveAll(void)\n7946 void CPropertySection::RemoveAll(void)\n7947 void CPropertySet::RemoveAll(void)\n7948 void CPtrArray::RemoveAll(void)\n7949 void CPtrList::RemoveAll(void)\n7950 void CStringArray::RemoveAll(void)\n7951 void CStringList::RemoveAll(void)\n7952 void CTypeLibCacheMap::RemoveAll(void *)\n7953 void CUIntArray::RemoveAll(void)\n7954 void CWordArray::RemoveAll(void)\n7955 void CByteArray::RemoveAt(int,int)\n7956 void CDWordArray::RemoveAt(int,int)\n7957 void CObArray::RemoveAt(int,int)\n7958 void CObList::RemoveAt(__POSITION *)\n7959 void CPtrArray::RemoveAt(int,int)\n7960 void CPtrList::RemoveAt(__POSITION *)\n7961 void CStringArray::RemoveAt(int,int)\n7962 void CStringList::RemoveAt(__POSITION *)\n7963 void CUIntArray::RemoveAt(int,int)\n7964 void CWordArray::RemoveAt(int,int)\n7965 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n7966 void CFrameWnd::RemoveControlBar(CControlBar *)\n7967 int CFtpConnection::RemoveDirectoryA(char const *)\n7968 void CDocTemplate::RemoveDocument(CDocument *)\n7969 void CMultiDocTemplate::RemoveDocument(CDocument *)\n7970 void CSingleDocTemplate::RemoveDocument(CDocument *)\n7971 void COleControl::RemoveFrameLevelUI(void)\n7972 void CFrameWnd::RemoveFrameWnd(void)\n7973 void CHandleMap::RemoveHandle(void *)\n7974 CObject * CObList::RemoveHead(void)\n7975 void * CPtrList::RemoveHead(void)\n7976 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveHead(void)\n7977 void CTabCtrl::RemoveImage(int)\n7978 void CListCtrl::RemoveImageList(int)\n7979 void CListView::RemoveImageList(int)\n7980 void CTreeCtrl::RemoveImageList(int)\n7981 void CTreeView::RemoveImageList(int)\n7982 void COleDocument::RemoveItem(CDocItem *)\n7983 int CMapPtrToPtr::RemoveKey(void *)\n7984 int CMapPtrToWord::RemoveKey(void *)\n7985 int CMapStringToOb::RemoveKey(char const *)\n7986 int CMapStringToPtr::RemoveKey(char const *)\n7987 int CMapStringToString::RemoveKey(char const *)\n7988 int CMapWordToOb::RemoveKey(unsigned short)\n7989 int CMapWordToPtr::RemoveKey(unsigned short)\n7990 int CMenu::RemoveMenu(unsigned int,unsigned int)\n7991 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n7992 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n7993 void CPropertySheet::RemovePage(int)\n7994 void CPropertySheet::RemovePage(CPropertyPage *)\n7995 void CDockBar::RemovePlaceHolder(CControlBar *)\n7996 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n7997 void CDataBoundProperty::RemoveSource(void)\n7998 CObject * CObList::RemoveTail(void)\n7999 void * CPtrList::RemoveTail(void)\n8000 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > CStringList::RemoveTail(void)\n8001 void CDocument::RemoveView(CView *)\n8002 void CFile::Rename(char const *,char const *)\n8003 int CFtpConnection::Rename(char const *,char const *)\n8004 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n8005 void CDaoWorkspace::RepairDatabase(char const *)\n8006 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n8007 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n8008 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n8009 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n8010 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n8011 int CImageList::Replace(int,HICON__ *)\n8012 int CImageList::Replace(int,CBitmap *,CBitmap *)\n8013 int CFindReplaceDialog::ReplaceAll(void)const \n8014 int CToolBarCtrl::ReplaceBitmap(TBREPLACEBITMAP *)\n8015 void CDatabase::ReplaceBrackets(char *)\n8016 int CFindReplaceDialog::ReplaceCurrent(void)const \n8017 void CEdit::ReplaceSel(char const *,int)\n8018 void CRichEditCtrl::ReplaceSel(char const *,int)\n8019 int CException::ReportError(unsigned int,unsigned int)\n8020 int COleClientItem::ReportError(long)const \n8021 void CDocument::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n8022 void COleLinkingDoc::ReportSaveLoadException(char const *,CException *,int,unsigned int)\n8023 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n8024 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n8025 void CDaoRecordset::Requery(void)\n8026 int CRecordset::Requery(void)\n8027 void COleControl::RequestAsynchronousExchange(unsigned long)\n8028 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n8029 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n8030 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n8031 long COleClientItem::XOleClientSite::RequestNewObjectLayout(void)\n8032 long COleControlSite::XOleClientSite::RequestNewObjectLayout(void)\n8033 void COleServerDoc::RequestPositionChange(tagRECT const *)\n8034 void CRichEditCtrl::RequestResize(void)\n8035 long COleControlSite::XOleIPSite::RequestUIActivate(void)\n8036 long CEnumArray::XEnumVOID::Reset(void)\n8037 void CComboBox::ResetContent(void)\n8038 void CListBox::ResetContent(void)\n8039 void CRecordset::ResetCursor(void)\n8040 void CCachedDataPathProperty::ResetData(void)\n8041 void CDataPathProperty::ResetData(void)\n8042 int CDC::ResetDCA(_devicemodeA const *)\n8043 int CEvent::ResetEvent(void)\n8044 void COleControl::ResetStockProps(void)\n8045 void CControlBar::ResetTimer(unsigned int,unsigned int)\n8046 void COleControl::ResetVersion(unsigned long)\n8047 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8048 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8049 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8050 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8051 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8052 void COleControl::ResizeFrameWindow(int,int)\n8053 void COleSafeArray::ResizeOneDim(unsigned long)\n8054 void COleControl::ResizeOpenControl(int,int)\n8055 int CPalette::ResizePalette(unsigned int)\n8056 void CScrollView::ResizeParentToFit(int)\n8057 void CWaitCursor::Restore(void)\n8058 void CReBarCtrl::RestoreBand(unsigned int)\n8059 int CDC::RestoreDC(int)\n8060 int CPreviewDC::RestoreDC(int)\n8061 void CToolBarCtrl::RestoreState(HKEY__ *,char const *,char const *)\n8062 void CCmdTarget::RestoreWaitCursor(void)\n8063 unsigned long CWinThread::ResumeThread(void)\n8064 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n8065 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n8066 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n8067 long CArchiveStream::Revert(void)\n8068 void COleDropTarget::Revoke(void)\n8069 void COleLinkingDoc::Revoke(void)\n8070 void COleMessageFilter::Revoke(void)\n8071 void COleObjectFactory::Revoke(void)\n8072 void COleObjectFactory::RevokeAll(void)\n8073 void RFX_BigInt(CFieldExchange *,char const *,__int64 &)\n8074 void RFX_Binary(CFieldExchange *,char const *,CByteArray &,int)\n8075 void RFX_Binary_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *,int)\n8076 void RFX_Bool(CFieldExchange *,char const *,int &)\n8077 void RFX_Bool_Bulk(CFieldExchange *,char const *,int * *,long * *)\n8078 void RFX_Byte(CFieldExchange *,char const *,unsigned char &)\n8079 void RFX_Byte_Bulk(CFieldExchange *,char const *,unsigned char * *,long * *)\n8080 void RFX_Date(CFieldExchange *,char const *,tagTIMESTAMP_&)\n8081 void RFX_Date(CFieldExchange *,char const *,ATL::COleDateTime &)\n8082 void RFX_Date(CFieldExchange *,char const *,ATL::CTime &)\n8083 void RFX_Date_Bulk(CFieldExchange *,char const *,tagTIMESTAMP_* *,long * *)\n8084 void RFX_Double(CFieldExchange *,char const *,double &)\n8085 void RFX_Double_Bulk(CFieldExchange *,char const *,double * *,long * *)\n8086 void RFX_Int(CFieldExchange *,char const *,int &)\n8087 void RFX_Int_Bulk(CFieldExchange *,char const *,int * *,long * *)\n8088 void RFX_Long(CFieldExchange *,char const *,long &)\n8089 void RFX_Long_Bulk(CFieldExchange *,char const *,long * *,long * *)\n8090 void RFX_LongBinary(CFieldExchange *,char const *,CLongBinary &)\n8091 void RFX_Single(CFieldExchange *,char const *,float &)\n8092 void RFX_Single_Bulk(CFieldExchange *,char const *,float * *,long * *)\n8093 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n8094 void RFX_Text(CFieldExchange *,char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n8095 void RFX_Text(CFieldExchange *,char const *,wchar_t *,int,int,short)\n8096 void RFX_Text(CFieldExchange *,char const *,char *,int,int,short)\n8097 void RFX_Text_Bulk(CFieldExchange *,char const *,wchar_t * *,long * *,int)\n8098 void RFX_Text_Bulk(CFieldExchange *,char const *,char * *,long * *,int)\n8099 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n8100 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n8101 void CDaoWorkspace::Rollback(void)\n8102 int CDatabase::Rollback(void)\n8103 int CDC::RoundRect(int,int,int,int,int,int)\n8104 int CDC::RoundRect(tagRECT const *,tagPOINT)\n8105 void COleClientItem::Run(void)\n8106 int CWinApp::Run(void)\n8107 int CWinThread::Run(void)\n8108 int CWinApp::RunAutomated(void)\n8109 int CWinApp::RunEmbedded(void)\n8110 int CWnd::RunModalLoop(unsigned long)\n8111 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n8112 int CEditView::SameAsSelected(char const *,int)\n8113 int CRichEditView::SameAsSelected(char const *,int,int)\n8114 long CBlobProperty::Save(IStream *,int)\n8115 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n8116 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n8117 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n8118 long COleControl::XPersistStorage::Save(IStorage *,int)\n8119 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n8120 long COleControl::XPersistStreamInit::Save(IStream *,int)\n8121 int CDocManager::SaveAllModified(void)\n8122 int CDocTemplate::SaveAllModified(void)\n8123 int CWinApp::SaveAllModified(void)\n8124 void CFrameWnd::SaveBarState(char const *)const \n8125 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n8126 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n8127 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n8128 int CDC::SaveDC(void)\n8129 int CPreviewDC::SaveDC(void)\n8130 void COleServerDoc::SaveEmbedding(void)\n8131 int CFormView::SaveFocusControl(void)\n8132 int CDocument::SaveModified(void)\n8133 int COleDocument::SaveModified(void)\n8134 int COleServerDoc::SaveModified(void)\n8135 int COleServerDoc::SaveModifiedPrompt(void)\n8136 long COleClientItem::XOleClientSite::SaveObject(void)\n8137 long COleControlSite::XOleClientSite::SaveObject(void)\n8138 int CControlBarInfo::SaveState(char const *,int)\n8139 void CDockState::SaveState(char const *)\n8140 long COleControl::SaveState(IStream *)\n8141 void CToolBarCtrl::SaveState(HKEY__ *,char const *,char const *)\n8142 void CWinApp::SaveStdProfileSettings(void)\n8143 void COleDocument::SaveToStorage(CObject *)\n8144 void COleLinkingDoc::SaveToStorage(CObject *)\n8145 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n8146 void CDockState::ScalePoint(CPoint &)\n8147 void CDockState::ScaleRectPos(CRect &)\n8148 CSize CDC::ScaleViewportExt(int,int,int,int)\n8149 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n8150 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n8151 CSize CDC::ScaleWindowExt(int,int,int,int)\n8152 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n8153 void CWnd::ScreenToClient(tagPOINT *)const \n8154 void CWnd::ScreenToClient(tagRECT *)const \n8155 int CListCtrl::Scroll(CSize)\n8156 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n8157 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n8158 void COleControlContainer::ScrollChildren(int,int)\n8159 int COleServerDoc::ScrollContainerBy(CSize)\n8160 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n8161 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n8162 void CScrollView::ScrollToDevicePosition(tagPOINT)\n8163 void CScrollView::ScrollToPosition(tagPOINT)\n8164 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n8165 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n8166 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n8167 int CFindReplaceDialog::SearchDown(void)const \n8168 int CAnimateCtrl::Seek(unsigned int)\n8169 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n8170 int CDaoRecordset::Seek(char const *,COleVariant *,COleVariant *,COleVariant *)\n8171 int CDaoRecordset::Seek(char const *,COleVariant *,unsigned short)\n8172 unsigned __int64 CFile::Seek(__int64,unsigned int)\n8173 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n8174 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n8175 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n8176 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n8177 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n8178 void CFile::SeekToBegin(void)\n8179 unsigned __int64 CFile::SeekToEnd(void)\n8180 CFont * CFontHolder::Select(CDC *,long,long)\n8181 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n8182 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n8183 int CDC::SelectClipPath(int)\n8184 int CDC::SelectClipRgn(CRgn *)\n8185 int CDC::SelectClipRgn(CRgn *,int)\n8186 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n8187 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n8188 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n8189 long CPrintDialogEx::SelectionChange(void)\n8190 int CTreeCtrl::SelectItem(_TREEITEM *)\n8191 int CDC::SelectObject(CRgn *)\n8192 CBitmap * CDC::SelectObject(CBitmap *)\n8193 CBrush * CDC::SelectObject(CBrush *)\n8194 CGdiObject * CDC::SelectObject(CGdiObject *)\n8195 CPen * CDC::SelectObject(CPen *)\n8196 void * CDC::SelectObject(void *)\n8197 CFont * CDC::SelectObject(CFont *)\n8198 CFont * CPreviewDC::SelectObject(CFont *)\n8199 CPalette * CDC::SelectPalette(CPalette *,int)\n8200 void CWinApp::SelectPrinter(void *,void *,int)\n8201 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n8202 CFont * COleControl::SelectStockFont(CDC *)\n8203 CGdiObject * CDC::SelectStockObject(int)\n8204 CGdiObject * CPreviewDC::SelectStockObject(int)\n8205 int CComboBox::SelectString(int,char const *)\n8206 int CListBox::SelectString(int,char const *)\n8207 int CListBox::SelItemRange(int,int,int)\n8208 int CAsyncSocket::Send(void const *,int,int)\n8209 int CSocket::Send(void const *,int,int)\n8210 void COleControl::SendAdvise(unsigned int)\n8211 int CWnd::SendChildNotifyLastMsg(long *)\n8212 int CSocket::SendChunk(void const *,int,int)\n8213 long COleControlContainer::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n8214 long CWnd::SendDlgItemMessageA(int,unsigned int,unsigned int,long)\n8215 void CDocument::SendInitialUpdate(void)\n8216 void CRecordset::SendLongBinaryData(void *)\n8217 long CWnd::SendMessage(unsigned int,unsigned int,long)const \n8218 long CWnd::SendMessageA(unsigned int,unsigned int,long)const \n8219 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n8220 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n8221 void COleControlSite::SendMnemonic(tagMSG *)\n8222 int CWnd::SendNotifyMessageA(unsigned int,unsigned int,long)\n8223 int CHttpFile::SendRequest(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,void *,unsigned long)\n8224 int CHttpFile::SendRequest(char const *,unsigned long,void *,unsigned long)\n8225 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n8226 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSA *,_INTERNET_BUFFERSA *,unsigned long,unsigned long)\n8227 int CAsyncSocket::SendTo(void const *,int,unsigned int,char const *,int)\n8228 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n8229 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n8230 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n8231 void CByteArray::Serialize(CArchive &)\n8232 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n8233 void CDocItem::Serialize(CArchive &)\n8234 void CDockState::Serialize(CArchive &)\n8235 void CDWordArray::Serialize(CArchive &)\n8236 void CEditView::Serialize(CArchive &)\n8237 void CMapStringToOb::Serialize(CArchive &)\n8238 void CMapStringToString::Serialize(CArchive &)\n8239 void CMapWordToOb::Serialize(CArchive &)\n8240 void CObArray::Serialize(CArchive &)\n8241 void CObject::Serialize(CArchive &)\n8242 void CObList::Serialize(CArchive &)\n8243 void COleClientItem::Serialize(CArchive &)\n8244 void COleControl::Serialize(CArchive &)\n8245 void COleDocument::Serialize(CArchive &)\n8246 void CRichEditDoc::Serialize(CArchive &)\n8247 void CRichEditView::Serialize(CArchive &)\n8248 void CStringArray::Serialize(CArchive &)\n8249 void CStringList::Serialize(CArchive &)\n8250 void CWordArray::Serialize(CArchive &)\n8251 CArchive & ATL::CTime::Serialize64(CArchive &)\n8252 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n8253 void CArchive::SerializeClass(CRuntimeconst *)\n8254 void COleControl::SerializeExtent(CArchive &)\n8255 void CEditView::SerializeRaw(CArchive &)\n8256 void COleControl::SerializeStockProps(CArchive &)\n8257 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n8258 int CProperty::Set(unsigned long,void * const,unsigned long)\n8259 int CProperty::Set(void * const)\n8260 int CProperty::Set(void * const,unsigned long)\n8261 int CPropertySection::Set(unsigned long,void *)\n8262 int CPropertySection::Set(unsigned long,void *,unsigned long)\n8263 int CPropertySet::Set(_GUID,unsigned long,void *)\n8264 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n8265 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n8266 void CDaoRecordset::SetAbsolutePosition(long)\n8267 void CRecordset::SetAbsolutePosition(long)\n8268 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n8269 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n8270 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n8271 int CPropertySheet::SetActivePage(int)\n8272 int CPropertySheet::SetActivePage(CPropertyPage *)\n8273 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n8274 void CFrameWnd::SetActiveView(CView *,int)\n8275 CWnd * CWnd::SetActiveWindow(void)\n8276 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n8277 void CIPAddressCtrl::SetAddress(unsigned long)\n8278 void CHtmlView::SetAddressBar(int)\n8279 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n8280 int CToolBarCtrl::SetAnchorHighlight(int)\n8281 void CListBox::SetAnchorIndex(int)\n8282 void COleControl::SetAppearance(short)\n8283 int CDC::SetArcDirection(int)\n8284 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n8285 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n8286 void CByteArray::SetAt(int,unsigned char)\n8287 void CDWordArray::SetAt(int,unsigned long)\n8288 void CMapPtrToPtr::SetAt(void *,void *)\n8289 void CMapPtrToWord::SetAt(void *,unsigned short)\n8290 void CMapStringToOb::SetAt(char const *,CObject *)\n8291 void CMapStringToPtr::SetAt(char const *,void *)\n8292 void CMapStringToString::SetAt(char const *,char const *)\n8293 void CMapWordToOb::SetAt(unsigned short,CObject *)\n8294 void CMapWordToPtr::SetAt(unsigned short,void *)\n8295 void CObArray::SetAt(int,CObject *)\n8296 void CObList::SetAt(__POSITION *,CObject *)\n8297 void CPtrArray::SetAt(int,void *)\n8298 void CPtrList::SetAt(__POSITION *,void *)\n8299 void CStringArray::SetAt(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8300 void CStringArray::SetAt(int,char const *)\n8301 void CStringList::SetAt(__POSITION *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8302 void CStringList::SetAt(__POSITION *,char const *)\n8303 void CUIntArray::SetAt(int,unsigned int)\n8304 void CWordArray::SetAt(int,unsigned short)\n8305 void CByteArray::SetAtGrow(int,unsigned char)\n8306 void CDWordArray::SetAtGrow(int,unsigned long)\n8307 void CObArray::SetAtGrow(int,CObject *)\n8308 void CPtrArray::SetAtGrow(int,void *)\n8309 void CStringArray::SetAtGrow(int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n8310 void CStringArray::SetAtGrow(int,char const *)\n8311 void CUIntArray::SetAtGrow(int,unsigned int)\n8312 void CWordArray::SetAtGrow(int,unsigned short)\n8313 void CDC::SetAttribDC(HDC__ *)\n8314 void CMetaFileDC::SetAttribDC(HDC__ *)\n8315 void CPreviewDC::SetAttribDC(HDC__ *)\n8316 void CDaoTableDef::SetAttributes(long)\n8317 int CRichEditCtrl::SetAutoURLDetect(int)\n8318 void COleControl::SetBackColor(unsigned long)\n8319 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n8320 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOA *)\n8321 unsigned long CProgressCtrl::SetBarColor(unsigned long)\n8322 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n8323 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n8324 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n8325 void CControlBar::SetBarStyle(unsigned long)\n8326 int CSpinButtonCtrl::SetBase(int)\n8327 void CAsyncMonikerFile::SetBinding(IBinding *)\n8328 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n8329 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n8330 int CToolBar::SetBitmap(HBITMAP__ *)\n8331 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n8332 CSize CBitmap::SetBitmapDimension(int,int)\n8333 int CHeaderCtrl::SetBitmapMargin(int)\n8334 int CToolBarCtrl::SetBitmapSize(CSize)\n8335 unsigned long CDC::SetBkColor(unsigned long)\n8336 unsigned long CImageList::SetBkColor(unsigned long)\n8337 int CListCtrl::SetBkColor(unsigned long)\n8338 unsigned long CPreviewDC::SetBkColor(unsigned long)\n8339 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n8340 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n8341 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n8342 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n8343 int CListCtrl::SetBkImage(char *,int,int,int)\n8344 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n8345 int CListCtrl::SetBkImage(tagLVBKIMAGEA *)\n8346 int CDC::SetBkMode(int)\n8347 void CDaoRecordset::SetBookmark(COleVariant)\n8348 void CRecordset::SetBookmark(CDBVariant const &)\n8349 void CControlBar::SetBorders(int,int,int,int)\n8350 void CControlBar::SetBorders(tagRECT const *)\n8351 void CStatusBar::SetBorders(int,int,int,int)\n8352 void CStatusBar::SetBorders(tagRECT const *)\n8353 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n8354 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n8355 void COleControl::SetBorderStyle(short)\n8356 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n8357 CPoint CDC::SetBrushOrg(int,int)\n8358 CPoint CDC::SetBrushOrg(tagPOINT)\n8359 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n8360 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n8361 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n8362 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n8363 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOA *)\n8364 int CToolBar::SetButtons(unsigned int const *,int)\n8365 int CToolBarCtrl::SetButtonSize(CSize)\n8366 void CToolBarCtrl::SetButtonStructSize(int)\n8367 void CButton::SetButtonStyle(unsigned int,int)\n8368 void CToolBar::SetButtonStyle(int,unsigned int)\n8369 int CToolBar::SetButtonText(int,char const *)\n8370 int CToolBarCtrl::SetButtonWidth(int,int)\n8371 void CDaoRecordset::SetCacheSize(long)\n8372 void CDaoRecordset::SetCacheStart(COleVariant)\n8373 int CListCtrl::SetCallbackMask(unsigned int)\n8374 CWnd * COleControl::SetCapture(void)\n8375 CWnd * CWnd::SetCapture(void)\n8376 long COleControlSite::XOleIPSite::SetCapture(int)\n8377 int CListBox::SetCaretIndex(int,int)\n8378 void CWnd::SetCaretPos(tagPOINT)\n8379 void CRichEditView::SetCharFormat(CHARFORMAT2A)\n8380 void CButton::SetCheck(int)\n8381 void CCheckListBox::SetCheck(int,int)\n8382 void CCmdUI::SetCheck(int)\n8383 int CListCtrl::SetCheck(int,int)\n8384 void COleCmdUI::SetCheck(int)\n8385 void CStatusCmdUI::SetCheck(int)\n8386 void CTestCmdUI::SetCheck(int)\n8387 void CToolCmdUI::SetCheck(int)\n8388 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n8389 void CCheckListBox::SetCheckStyle(unsigned int)\n8390 void CPropertySet::SetClassID(_GUID)\n8391 void CDataBoundProperty::SetClientSite(COleControlSite *)\n8392 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n8393 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n8394 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n8395 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n8396 void COleDataSource::SetClipboard(void)\n8397 HWND__ * CWnd::SetClipboardViewer(void)\n8398 int CToolBarCtrl::SetCmdID(int,unsigned int)\n8399 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n8400 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n8401 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n8402 void CToolBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n8403 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8404 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8405 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8406 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8407 int CListCtrl::SetColumn(int,tagLVCOLUMNA const *)\n8408 void CSplitterWnd::SetColumnInfo(int,int,int)\n8409 int CListCtrl::SetColumnOrderArray(int,int *)\n8410 void CListBox::SetColumnWidth(int)\n8411 int CListCtrl::SetColumnWidth(int,int)\n8412 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n8413 void CDaoQueryDef::SetConnect(char const *)\n8414 void CDaoTableDef::SetConnect(char const *)\n8415 void CDocTemplate::SetContainerInfo(unsigned int)\n8416 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n8417 void CDataPathProperty::SetControl(COleControl *)\n8418 void CReflectorWnd::SetControl(COleControl *)\n8419 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n8420 void CDHtmlDialog::SetControlProperty(char const *,char const *,tagVARIANT *)\n8421 void CDHtmlDialog::SetControlProperty(char const *,long,tagVARIANT *)\n8422 int COleControl::SetControlSize(int,int)\n8423 int COlePropertyPage::SetControlStatus(unsigned int,int)\n8424 void CFileDialog::SetControlText(int,char const *)\n8425 int CInternetSession::SetCookie(char const *,char const *,char const *)\n8426 void CTabCtrl::SetCurFocus(int)\n8427 void COleCurrency::SetCurrency(long,long)\n8428 void CColorDialog::SetCurrentColor(unsigned long)\n8429 int CFtpConnection::SetCurrentDirectory(char const *)\n8430 int CFtpConnection::SetCurrentDirectoryA(char const *)\n8431 void CWinApp::SetCurrentHandles(void)\n8432 void CDaoRecordset::SetCurrentIndex(char const *)\n8433 void CPreviewView::SetCurrentPage(unsigned int,int)\n8434 int CComboBox::SetCurSel(int)\n8435 int CListBox::SetCurSel(int)\n8436 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n8437 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n8438 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n8439 int CTabCtrl::SetCurSel(int)\n8440 HICON__ * CButton::SetCursor(HICON__ *)\n8441 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n8442 HICON__ * CStatic::SetCursor(HICON__ *)\n8443 void CDaoRecordset::SetCursorAttributes(void)\n8444 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8445 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8446 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8447 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8448 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8449 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n8450 void COccManager::SetDefaultButton(CWnd *,int)\n8451 void COleControlSite::SetDefaultButton(int)\n8452 int CRichEditCtrl::SetDefaultCharFormat(_charformat &)\n8453 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2A &)\n8454 int CMenu::SetDefaultItem(unsigned int,int)\n8455 void CDaoWorkspace::SetDefaultPassword(char const *)\n8456 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n8457 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n8458 void CDaoWorkspace::SetDefaultUser(char const *)\n8459 void CFileDialog::SetDefExt(char const *)\n8460 void CDialog::SetDefID(unsigned int)\n8461 void CToolTipCtrl::SetDelayTime(unsigned int)\n8462 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n8463 void CDumpContext::SetDepth(int)\n8464 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n8465 void COlePropertyPage::SetDialogResource(void *)\n8466 void CDaoRecordset::SetDirtyFields(void)\n8467 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n8468 void CRecordset::SetDirtyFieldStatus(unsigned long)\n8469 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n8470 int COleControlSite::SetDlgCtrlID(int)\n8471 int CWnd::SetDlgCtrlID(int)\n8472 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n8473 void CWnd::SetDlgItemInt(int,unsigned int,int)\n8474 void COleControlContainer::SetDlgItemTextA(int,char const *)\n8475 void CWnd::SetDlgItemTextA(int,char const *)\n8476 void CFrameWnd::SetDockState(CDockState const &)\n8477 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n8478 int CImageList::SetDragCursorImage(int,CPoint)\n8479 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n8480 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n8481 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n8482 int CComboBox::SetDroppedWidth(unsigned int)\n8483 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n8484 int CComboBox::SetEditSel(int,int)\n8485 int CComboBoxEx::SetEditSel(int,int)\n8486 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n8487 void CDHtmlDialog::SetElementHtml(char const *,wchar_t *)\n8488 void CDHtmlDialog::SetElementProperty(char const *,long,tagVARIANT *)\n8489 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n8490 void CDHtmlDialog::SetElementText(char const *,wchar_t *)\n8491 void COleControl::SetEnabled(int)\n8492 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n8493 int CEvent::SetEvent(void)\n8494 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n8495 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n8496 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n8497 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n8498 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n8499 int CComboBox::SetExtendedUI(int)\n8500 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n8501 int COleControlSite::SetExtent(void)\n8502 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8503 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8504 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8505 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8506 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n8507 void CDaoRecordset::SetFieldDirty(void *,int)\n8508 void CRecordset::SetFieldDirty(void *,int)\n8509 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n8510 void CDaoRecordset::SetFieldNull(void *,int)\n8511 void CRecordset::SetFieldNull(void *,int)\n8512 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n8513 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n8514 void CDaoFieldExchange::SetFieldType(unsigned int)\n8515 void CFieldExchange::SetFieldType(unsigned int)\n8516 void CDaoRecordset::SetFieldValue(int,char const *)\n8517 void CDaoRecordset::SetFieldValue(char const *,char const *)\n8518 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n8519 void CDaoRecordset::SetFieldValue(char const *,COleVariant const &)\n8520 void CDaoRecordset::SetFieldValueNull(int)\n8521 void CDaoRecordset::SetFieldValueNull(char const *)\n8522 void CFile::SetFilePath(char const *)\n8523 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n8524 void CPropertySheet::SetFinishText(char const *)\n8525 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n8526 CWnd * COleControl::SetFocus(void)\n8527 CWnd * COleControlSite::SetFocus(tagMSG *)\n8528 CWnd * COleControlSite::SetFocus(void)\n8529 CWnd * CWnd::SetFocus(void)\n8530 long COleControlSite::XOleIPSite::SetFocus(int)\n8531 void CDHtmlDialog::SetFocusToElement(char const *)\n8532 int CDialogTemplate::SetFont(char const *,unsigned short)\n8533 void CFontHolder::SetFont(IFont *)\n8534 void COleControl::SetFont(IFontDisp *)\n8535 void CWnd::SetFont(CFont *,int)\n8536 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n8537 void COleControl::SetForeColor(unsigned long)\n8538 int CWnd::SetForegroundWindow(void)\n8539 int CDateTimeCtrl::SetFormat(char const *)\n8540 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n8541 void CPropertySection::SetFormatID(_GUID)\n8542 void CPropertySet::SetFormatVersion(unsigned short)\n8543 void CHtmlView::SetFullScreen(int)\n8544 int CDC::SetGraphicsMode(int)\n8545 void CEdit::SetHandle(void *)\n8546 void CSharedFile::SetHandle(void *,int)\n8547 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n8548 void CHtmlView::SetHeight(long)\n8549 void CToolBar::SetHeight(int)\n8550 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n8551 void CDialog::SetHelpID(unsigned int)\n8552 void COlePropertyPage::SetHelpInfo(char const *,char const *,unsigned long)\n8553 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n8554 void CComboBox::SetHorizontalExtent(unsigned int)\n8555 void CListBox::SetHorizontalExtent(int)\n8556 void CDHtmlDialog::SetHostFlags(unsigned long)\n8557 void COleClientItem::SetHostNames(char const *,char const *)\n8558 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8559 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8560 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8561 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8562 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n8563 int CHeaderCtrl::SetHotDivider(int)\n8564 int CHeaderCtrl::SetHotDivider(CPoint)\n8565 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n8566 int CListCtrl::SetHotItem(int)\n8567 int CToolBarCtrl::SetHotItem(int)\n8568 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n8569 unsigned long CListCtrl::SetHoverTime(unsigned long)\n8570 HICON__ * CButton::SetIcon(HICON__ *)\n8571 HICON__ * CStatic::SetIcon(HICON__ *)\n8572 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n8573 HICON__ * CWnd::SetIcon(HICON__ *,int)\n8574 int COleClientItem::SetIconicMetafile(void *)\n8575 CSize CListCtrl::SetIconSpacing(int,int)\n8576 CSize CListCtrl::SetIconSpacing(CSize)\n8577 void CProperty::SetID(unsigned long)\n8578 int CImageList::SetImageCount(unsigned int)\n8579 CImageList * CComboBoxEx::SetImageList(CImageList *)\n8580 CImageList * CHeaderCtrl::SetImageList(CImageList *,int)\n8581 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8582 int CReBarCtrl::SetImageList(CImageList *)\n8583 CImageList * CTabCtrl::SetImageList(CImageList *)\n8584 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8585 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8586 int CToolBarCtrl::SetIndent(int)\n8587 void CTreeCtrl::SetIndent(unsigned int)\n8588 int CStatusBar::SetIndicators(unsigned int const *,int)\n8589 void CDaoWorkspace::SetIniPath(char const *)\n8590 void COleControl::SetInitialDataFormats(void)\n8591 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8592 void COleControl::SetInitialSize(int,int)\n8593 void CControlBar::SetInPlaceOwner(CWnd *)\n8594 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8595 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8596 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8597 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8598 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8599 void CDaoWorkspace::SetIsolateODBCTrans(int)\n8600 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMA const *)\n8601 int CHeaderCtrl::SetItem(int,_HD_ITEMA *)\n8602 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long)\n8603 int CListCtrl::SetItem(int,int,unsigned int,char const *,int,unsigned int,unsigned int,long,int)\n8604 int CListCtrl::SetItem(tagLVITEMA const *)\n8605 int CTabCtrl::SetItem(int,tagTCITEMA *)\n8606 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long)\n8607 int CTreeCtrl::SetItem(tagTVITEMA *)\n8608 void CListCtrl::SetItemCount(int)\n8609 int CListCtrl::SetItemCountEx(int,unsigned long)\n8610 int CComboBox::SetItemData(int,unsigned long)\n8611 int CListBox::SetItemData(int,unsigned long)\n8612 int CListCtrl::SetItemData(int,unsigned long)\n8613 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8614 int CComboBox::SetItemDataPtr(int,void *)\n8615 int CListBox::SetItemDataPtr(int,void *)\n8616 int CTreeCtrl::SetItemEx(_TREEITEM *,unsigned int,char const *,int,int,unsigned int,unsigned int,long,unsigned int,HWND__ *,int)\n8617 int CTabCtrl::SetItemExtra(int)\n8618 int CComboBox::SetItemHeight(int,unsigned int)\n8619 int CListBox::SetItemHeight(int,unsigned int)\n8620 short CTreeCtrl::SetItemHeight(short)\n8621 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8622 void COleServerItem::SetItemName(char const *)\n8623 int CListCtrl::SetItemPosition(int,tagPOINT)\n8624 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8625 CSize CTabCtrl::SetItemSize(CSize)\n8626 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8627 int CListCtrl::SetItemState(int,tagLVITEMA *)\n8628 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8629 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8630 int CListCtrl::SetItemText(int,int,char const *)\n8631 int CTreeCtrl::SetItemText(_TREEITEM *,char const *)\n8632 unsigned long CDC::SetLayout(unsigned long)\n8633 void CHtmlView::SetLeft(long)\n8634 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8635 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8636 void CFile::SetLength(unsigned __int64)\n8637 void CInternetFile::SetLength(unsigned __int64)\n8638 void CMemFile::SetLength(unsigned __int64)\n8639 void COleStreamFile::SetLength(unsigned __int64)\n8640 void CSocketFile::SetLength(unsigned __int64)\n8641 void CEdit::SetLimitText(unsigned int)\n8642 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8643 int CSliderCtrl::SetLineSize(int)\n8644 long COleUILinkInfo::SetLinkSource(unsigned long,char *,unsigned long,unsigned long *,int)\n8645 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8646 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8647 void CArchive::SetLoadParams(unsigned int)\n8648 unsigned long CComboBox::SetLocale(unsigned long)\n8649 unsigned long CListBox::SetLocale(unsigned long)\n8650 void CDaoRecordset::SetLockingMode(int)\n8651 void CRecordset::SetLockingMode(unsigned int)\n8652 void CDaoWorkspace::SetLoginTimeout(short)\n8653 void CDatabase::SetLoginTimeout(unsigned long)\n8654 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8655 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8656 int CDC::SetMapMode(int)\n8657 int CPreviewDC::SetMapMode(int)\n8658 unsigned long CDC::SetMapperFlags(unsigned long)\n8659 void CToolTipCtrl::SetMargin(tagRECT *)\n8660 void CEdit::SetMargins(unsigned int,unsigned int)\n8661 void CRichEditView::SetMargins(CRect const &)\n8662 void CPrintInfo::SetMaxPage(unsigned int)\n8663 int CMonthCalCtrl::SetMaxSelCount(int)\n8664 int CToolBarCtrl::SetMaxTextRows(int)\n8665 int CToolTipCtrl::SetMaxTipWidth(int)\n8666 int CFrameWnd::SetMenu(CMenu *)\n8667 int CWnd::SetMenu(CMenu *)\n8668 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8669 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8670 void CHtmlView::SetMenuBar(int)\n8671 int CFrameWnd::SetMenuBarState(unsigned long)\n8672 int CMDIFrameWnd::SetMenuBarState(unsigned long)\n8673 void CFrameWnd::SetMenuBarVisibility(unsigned long)\n8674 void CMDIFrameWnd::SetMenuBarVisibility(unsigned long)\n8675 int CMenu::SetMenuContextHelpId(unsigned long)\n8676 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8677 int CMenu::SetMenuItemInfoA(unsigned int,tagMENUITEMINFOA *,int)\n8678 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8679 void CFrameWnd::SetMessageText(unsigned int)\n8680 void CFrameWnd::SetMessageText(char const *)\n8681 void CStatusBarCtrl::SetMinHeight(int)\n8682 void CPrintInfo::SetMinPage(unsigned int)\n8683 int CTabCtrl::SetMinTabWidth(int)\n8684 int CDC::SetMiterLimit(float)\n8685 void CPropertyPage::SetModified(int)\n8686 void CDocument::SetModifiedFlag(int)\n8687 void COleControl::SetModifiedFlag(int)\n8688 void COlePropertyPage::SetModifiedFlag(int)\n8689 void CRichEditDoc::SetModifiedFlag(int)\n8690 void CEdit::SetModify(int)\n8691 void CRichEditCtrl::SetModify(int)\n8692 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8693 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8694 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8695 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8696 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8697 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8698 int CMonthCalCtrl::SetMonthDelta(int)\n8699 void CDaoQueryDef::SetName(char const *)\n8700 void CDaoTableDef::SetName(char const *)\n8701 int CPropertySection::SetName(unsigned long,char const *)\n8702 void COleControl::SetNotPermitted(void)\n8703 void CCmdTarget::SetNotSupported(void)\n8704 void COleControl::SetNotSupported(void)\n8705 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n8706 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n8707 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n8708 void CRecordset::SetNullFieldStatus(unsigned long)\n8709 void CRecordset::SetNullParamStatus(unsigned long)\n8710 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n8711 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8712 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8713 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8714 void CArchive::SetObjectSchema(unsigned int)\n8715 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8716 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8717 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8718 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8719 void CDaoQueryDef::SetODBCTimeout(short)\n8720 void CHtmlView::SetOffline(int)\n8721 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8722 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8723 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8724 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8725 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8726 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8727 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8728 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8729 int CHeaderCtrl::SetOrderArray(int,int *)\n8730 void CPropertySet::SetOSVersion(unsigned long)\n8731 void CDC::SetOutputDC(HDC__ *)\n8732 void CMetaFileDC::SetOutputDC(HDC__ *)\n8733 void CPreviewDC::SetOutputDC(HDC__ *)\n8734 int CImageList::SetOverlayImage(int,int)\n8735 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8736 void CToolBar::SetOwner(CWnd *)\n8737 void CToolBarCtrl::SetOwner(CWnd *)\n8738 void CWnd::SetOwner(CWnd *)\n8739 void CTabCtrl::SetPadding(CSize)\n8740 unsigned long CToolBarCtrl::SetPadding(int,int)\n8741 void COlePropertyPage::SetPageName(char const *)\n8742 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8743 int CSliderCtrl::SetPageSize(int)\n8744 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8745 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8746 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8747 void CStatusBar::SetPaneStyle(int,unsigned int)\n8748 int CStatusBar::SetPaneText(int,char const *,int)\n8749 void CRichEditView::SetPaperSize(CSize)\n8750 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8751 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8752 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8753 void CRecordset::SetParamNull(int,int)\n8754 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n8755 void CDaoQueryDef::SetParamValue(char const *,COleVariant const &)\n8756 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n8757 void CDaoRecordset::SetParamValue(char const *,COleVariant const &)\n8758 void CDaoQueryDef::SetParamValueNull(int)\n8759 void CDaoQueryDef::SetParamValueNull(char const *)\n8760 void CDaoRecordset::SetParamValueNull(int)\n8761 void CDaoRecordset::SetParamValueNull(char const *)\n8762 CWnd * CWnd::SetParent(CWnd *)\n8763 int CStatusBarCtrl::SetParts(int,int *)\n8764 void CEdit::SetPasswordChar(char)\n8765 void CDataPathProperty::SetPath(char const *)\n8766 void CDocument::SetPathName(char const *,int)\n8767 void COleDocument::SetPathName(char const *,int)\n8768 void CRichEditDoc::SetPathName(char const *,int)\n8769 void CDaoRecordset::SetPercentPosition(float)\n8770 void CHandleMap::SetPermanent(void *,CObject *)\n8771 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8772 unsigned long CDC::SetPixel(int,int,unsigned long)\n8773 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8774 int CDC::SetPixelV(int,int,unsigned long)\n8775 int CDC::SetPixelV(tagPOINT,unsigned long)\n8776 int CDC::SetPolyFillMode(int)\n8777 int CProgressCtrl::SetPos(int)\n8778 void CSliderCtrl::SetPos(int)\n8779 int CSpinButtonCtrl::SetPos(int)\n8780 int CSpinButtonCtrl::SetPos32(int)\n8781 void COleIPFrameWnd::SetPreviewMode(int)\n8782 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8783 int COleClientItem::SetPrintDevice(tagPDA const *)\n8784 void CEditView::SetPrinterFont(CFont *)\n8785 int CPreviewView::SetPrintView(CView *)\n8786 int COlePropertyPage::SetPropCheck(char const *,int)\n8787 void COleControlSite::SetProperty(long,unsigned short,...)\n8788 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8789 void CWnd::SetProperty(long,unsigned short,...)\n8790 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8791 int COlePropertyPage::SetPropIndex(char const *,int)\n8792 int COlePropertyPage::SetPropRadio(char const *,int)\n8793 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8794 int COlePropertyPage::SetPropText(char const *,unsigned char &)\n8795 int COlePropertyPage::SetPropText(char const *,short &)\n8796 int COlePropertyPage::SetPropText(char const *,int &)\n8797 int COlePropertyPage::SetPropText(char const *,unsigned int &)\n8798 int COlePropertyPage::SetPropText(char const *,long &)\n8799 int COlePropertyPage::SetPropText(char const *,unsigned long &)\n8800 int COlePropertyPage::SetPropText(char const *,float &)\n8801 int COlePropertyPage::SetPropText(char const *,double &)\n8802 int COlePropertyPage::SetPropText(char const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n8803 long CWnd::SetProxy(IAccessibleProxy *)\n8804 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8805 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8806 void CDaoDatabase::SetQueryTimeout(short)\n8807 void CDatabase::SetQueryTimeout(unsigned long)\n8808 void CCmdUI::SetRadio(int)\n8809 void CTestCmdUI::SetRadio(int)\n8810 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8811 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8812 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8813 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8814 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8815 void CProgressCtrl::SetRange(short,short)\n8816 void CSliderCtrl::SetRange(int,int,int)\n8817 void CSpinButtonCtrl::SetRange(short,short)\n8818 void CProgressCtrl::SetRange32(int,int)\n8819 void CSpinButtonCtrl::SetRange32(int,int)\n8820 void CSliderCtrl::SetRangeMax(int,int)\n8821 void CSliderCtrl::SetRangeMin(int,int)\n8822 int CInternetFile::SetReadBufferSize(unsigned int)\n8823 int CEdit::SetReadOnly(int)\n8824 int CRichEditCtrl::SetReadOnly(int)\n8825 void CEdit::SetRect(tagRECT const *)\n8826 void CRichEditCtrl::SetRect(tagRECT const *)\n8827 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8828 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8829 int COleControl::SetRectInContainer(tagRECT const *)\n8830 void CEdit::SetRectNP(tagRECT const *)\n8831 void CRgn::SetRectRgn(int,int,int,int)\n8832 void CRgn::SetRectRgn(tagRECT const *)\n8833 void CWnd::SetRedraw(int)\n8834 void CHtmlView::SetRegisterAsBrowser(int)\n8835 void CHtmlView::SetRegisterAsDropTarget(int)\n8836 void CWinApp::SetRegistryKey(unsigned int)\n8837 void CWinApp::SetRegistryKey(char const *)\n8838 void COleMessageFilter::SetRetryReply(unsigned long)\n8839 void CDaoQueryDef::SetReturnsRecords(int)\n8840 int CDC::SetROP2(int)\n8841 void CSplitterWnd::SetRowInfo(int,int,int)\n8842 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8843 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8844 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8845 void CRecordset::SetRowsetSize(unsigned long)\n8846 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8847 void CPreviewView::SetScaledSize(unsigned int)\n8848 void CPreviewDC::SetScaleRatio(int,int)\n8849 void CScrollView::SetScaleToFitSize(tagSIZE)\n8850 void CDockState::SetScreenSize(CSize &)\n8851 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8852 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8853 int CScrollBar::SetScrollPos(int,int)\n8854 int CWnd::SetScrollPos(int,int,int)\n8855 void CScrollBar::SetScrollRange(int,int,int)\n8856 void CWnd::SetScrollRange(int,int,int,int)\n8857 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8858 void CSplitterWnd::SetScrollStyle(unsigned long)\n8859 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8860 int CPropertySection::SetSectionName(char const *)\n8861 void CEdit::SetSel(int,int,int)\n8862 void CEdit::SetSel(unsigned long,int)\n8863 int CListBox::SetSel(int,int)\n8864 void CRichEditCtrl::SetSel(_charrange &)\n8865 void CRichEditCtrl::SetSel(long,long)\n8866 void CSliderCtrl::SetSelection(int,int)\n8867 int CRichEditCtrl::SetSelectionCharFormat(_charformat &)\n8868 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2A &)\n8869 void CCheckListBox::SetSelectionCheck(int)\n8870 int CListCtrl::SetSelectionMark(int)\n8871 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8872 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8873 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8874 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8875 void CHtmlView::SetSilent(int)\n8876 int CStatusBarCtrl::SetSimple(int)\n8877 long CPrintDialogEx::SetSite(IUnknown *)\n8878 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8879 void CByteArray::SetSize(int,int)\n8880 void CDWordArray::SetSize(int,int)\n8881 void CObArray::SetSize(int,int)\n8882 void CPtrArray::SetSize(int,int)\n8883 void CStringArray::SetSize(int,int)\n8884 void CUIntArray::SetSize(int,int)\n8885 void CWordArray::SetSize(int,int)\n8886 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8887 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8888 void CDaoTableDef::SetSourceTableName(char const *)\n8889 void CSplitterWnd::SetSplitCursor(int)\n8890 void CDaoQueryDef::SetSQL(char const *)\n8891 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8892 void CButton::SetState(int)\n8893 void CRecordset::SetState(int,char const *,unsigned long)\n8894 int CToolBarCtrl::SetState(int,unsigned int)\n8895 void CFile::SetStatus(char const *,CFileStatus const &)\n8896 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8897 void CHtmlView::SetStatusBar(int)\n8898 int CControlBar::SetStatusText(int)\n8899 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8900 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8901 int CProgressCtrl::SetStep(int)\n8902 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8903 int CDC::SetStretchBltMode(int)\n8904 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8905 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8906 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8907 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8908 void COleVariant::SetString(char const *,unsigned short)\n8909 void CToolBarCtrl::SetStyle(unsigned long)\n8910 void CDatabase::SetSynchronousMode(int)\n8911 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8912 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8913 int CDialogTemplate::SetSystemFont(unsigned short)\n8914 int CEdit::SetTabStops(int const &)\n8915 int CEdit::SetTabStops(int,int *)\n8916 void CEdit::SetTabStops(void)\n8917 void CEditView::SetTabStops(int)\n8918 int CListBox::SetTabStops(int const &)\n8919 int CListBox::SetTabStops(int,int *)\n8920 void CListBox::SetTabStops(void)\n8921 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8922 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8923 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8924 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8925 void CFileDialog::SetTemplate(char const *,char const *)\n8926 void CCmdUI::SetText(char const *)\n8927 void COleCmdUI::SetText(char const *)\n8928 void COleControl::SetText(char const *)\n8929 int CStatusBarCtrl::SetText(char const *,int,int)\n8930 void CStatusCmdUI::SetText(char const *)\n8931 void CTestCmdUI::SetText(char const *)\n8932 void CToolCmdUI::SetText(char const *)\n8933 unsigned int CDC::SetTextAlign(unsigned int)\n8934 int CListCtrl::SetTextBkColor(unsigned long)\n8935 int CDC::SetTextCharacterExtra(int)\n8936 unsigned long CDC::SetTextColor(unsigned long)\n8937 int CListCtrl::SetTextColor(unsigned long)\n8938 unsigned long CPreviewDC::SetTextColor(unsigned long)\n8939 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n8940 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n8941 int CDC::SetTextJustification(int,int)\n8942 int CRichEditCtrl::SetTextMode(unsigned int)\n8943 void CHtmlView::SetTheaterMode(int)\n8944 int CWinThread::SetThreadPriority(int)\n8945 void CSliderCtrl::SetThumbLength(int)\n8946 int CSliderCtrl::SetTic(int)\n8947 void CSliderCtrl::SetTicFreq(int)\n8948 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n8949 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n8950 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n8951 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n8952 void CToolTipCtrl::SetTipBkColor(unsigned long)\n8953 int CSliderCtrl::SetTipSide(int)\n8954 void CStatusBarCtrl::SetTipText(int,char const *)\n8955 void CToolTipCtrl::SetTipTextColor(unsigned long)\n8956 void CDocument::SetTitle(char const *)\n8957 void CFrameWnd::SetTitle(char const *)\n8958 void CPropertySheet::SetTitle(char const *,unsigned int)\n8959 void CRichEditDoc::SetTitle(char const *)\n8960 int CToolTipCtrl::SetTitle(unsigned int,char const *)\n8961 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n8962 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n8963 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n8964 void CHtmlView::SetToolBar(int)\n8965 void CToolTipCtrl::SetToolInfo(tagTOOLINFOA *)\n8966 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n8967 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n8968 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n8969 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n8970 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n8971 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n8972 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n8973 void CHtmlView::SetTop(long)\n8974 int CComboBox::SetTopIndex(int)\n8975 int CListBox::SetTopIndex(int)\n8976 void CPreviewDC::SetTopLeftOffset(CSize)\n8977 void CProperty::SetType(unsigned long)\n8978 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n8979 void CRecordset::SetUpdateMethod(void)\n8980 void CDaoTableDef::SetValidationRule(char const *)\n8981 void CDaoTableDef::SetValidationText(char const *)\n8982 void CThreadSlotData::SetValue(int,void *)\n8983 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n8984 CSize CDC::SetViewportExt(tagSIZE)\n8985 CSize CDC::SetViewportExt(int,int)\n8986 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n8987 CSize CMetaFileDC::SetViewportExt(int,int)\n8988 CSize CPreviewDC::SetViewportExt(int,int)\n8989 CPoint CDC::SetViewportOrg(tagPOINT)\n8990 CPoint CDC::SetViewportOrg(int,int)\n8991 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n8992 CPoint CMetaFileDC::SetViewportOrg(int,int)\n8993 CPoint CPreviewDC::SetViewportOrg(int,int)\n8994 void CHtmlView::SetVisible(int)\n8995 void CHtmlView::SetWidth(long)\n8996 int CWnd::SetWindowContextHelpId(unsigned long)\n8997 CSize CDC::SetWindowExt(tagSIZE)\n8998 CSize CDC::SetWindowExt(int,int)\n8999 CSize CPreviewDC::SetWindowExt(int,int)\n9000 CPoint CDC::SetWindowOrg(int,int)\n9001 CPoint CDC::SetWindowOrg(tagPOINT)\n9002 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n9003 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n9004 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n9005 int CWnd::SetWindowRgn(HRGN__ *,int)\n9006 void COleControlSite::SetWindowTextA(char const *)\n9007 void CWnd::SetWindowTextA(char const *)\n9008 void CPropertySheet::SetWizardButtons(unsigned long)\n9009 void CPropertySheet::SetWizardMode(void)\n9010 int CRichEditCtrl::SetWordCharFormat(_charformat &)\n9011 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2A &)\n9012 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n9013 void CListCtrl::SetWorkAreas(int,tagRECT *)\n9014 int CDC::SetWorldTransform(tagXFORM const *)\n9015 int CInternetFile::SetWriteBufferSize(unsigned int)\n9016 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n9017 long CDocObjectServer::XOleDocumentView::Show(int)\n9018 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n9019 void CDockBar::ShowAll(int)\n9020 int CWinApp::ShowAppMessageBox(CWinApp *,char const *,unsigned int,unsigned int)\n9021 int CReBarCtrl::ShowBand(unsigned int,int)\n9022 void CWnd::ShowCaret(void)\n9023 long CRichEditCntrItem::ShowContainerUI(int)\n9024 long CRichEditView::ShowContainerUI(int)\n9025 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n9026 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9027 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9028 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9029 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n9030 void CComboBox::ShowDropDown(int)\n9031 long COleClientItem::XOleClientSite::ShowObject(void)\n9032 long COleControlSite::XOleClientSite::ShowObject(void)\n9033 void CWnd::ShowOwnedPopups(int)\n9034 void CFrameWnd::ShowOwnedWindows(int)\n9035 long COleControlSite::XOleControlSite::ShowPropertyFrame(void)\n9036 void CScrollBar::ShowScrollBar(int)\n9037 void CWnd::ShowScrollBar(unsigned int,int)\n9038 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9039 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9040 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9041 int COleControlSite::ShowWindow(int)\n9042 int CWnd::ShowWindow(int)\n9043 int CAsyncSocket::ShutDown(int)\n9044 tagSIZE const CScrollView::sizeDefault\n9045 int CMonthCalCtrl::SizeMinReq(int)\n9046 void CBitmapButton::SizeToContent(void)\n9047 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n9048 int CReBarCtrl::SizeToRect(CRect &)\n9049 long CEnumArray::XEnumVOID::Skip(unsigned long)\n9050 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n9051 int CAsyncSocket::Socket(int,long,int,int)\n9052 int CTreeCtrl::SortChildren(_TREEITEM *)\n9053 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n9054 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n9055 int CListCtrl::SortItemsEx(int (__stdcall*)(long,long,long),unsigned long)\n9056 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n9057 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n9058 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n9059 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n9060 int CSplitterWnd::SplitColumn(int)\n9061 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n9062 int CSplitterWnd::SplitRow(int)\n9063 int CDC::StartDocA(_DOCINFOA *)\n9064 int CDC::StartDocA(char const *)\n9065 void CDockContext::StartDrag(CPoint)\n9066 int CDC::StartPage(void)\n9067 void CDockContext::StartResize(int,CPoint)\n9068 void CSplitterWnd::StartTracking(int)\n9069 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n9070 int CProgressCtrl::StepIt(void)\n9071 int CAnimateCtrl::Stop(void)\n9072 void CHtmlView::Stop(void)\n9073 void CRichEditCtrl::StopGroupTyping(void)\n9074 void CSplitterWnd::StopTracking(int)\n9075 void CRuntimeClass::Store(CArchive &)const \n9076 void CDaoRecordset::StoreFields(void)\n9077 void CRecordset::StoreFields(void)\n9078 void CRichEditView::Stream(CArchive &,int)\n9079 long CRichEditCtrl::StreamIn(int,_editstream &)\n9080 long CRichEditCtrl::StreamOut(int,_editstream &)\n9081 void CDockContext::Stretch(CPoint)\n9082 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n9083 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n9084 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n9085 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n9086 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n9087 void CDaoRecordset::StripBrackets(char const *,char *)\n9088 int CDC::StrokeAndFillPath(void)\n9089 int CDC::StrokePath(void)\n9090 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n9091 int CWnd::SubclassWindow(HWND__ *)\n9092 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n9093 int COleDocObjectItem::SupportsIPrint(void)\n9094 unsigned long CWinThread::SuspendThread(void)\n9095 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n9096 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n9097 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n9098 CSize CDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n9099 CSize CDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n9100 CSize CMetaFileDC::TabbedTextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &,int,int *,int)\n9101 CSize CMetaFileDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n9102 CSize CPreviewDC::TabbedTextOutA(int,int,char const *,int,int,int *,int)\n9103 void CRichEditView::TextNotFound(char const *)\n9104 int CDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n9105 int CDC::TextOutA(int,int,char const *,int)\n9106 int CMetaFileDC::TextOutA(int,int,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n9107 int CMetaFileDC::TextOutA(int,int,char const *,int)\n9108 int CPreviewDC::TextOutA(int,int,char const *,int)\n9109 void CDaoDatabase::ThrowDaoException(int)\n9110 void CDaoQueryDef::ThrowDaoException(int)\n9111 void CDaoRecordset::ThrowDaoException(int)\n9112 void CDaoTableDef::ThrowDaoException(int)\n9113 void CDaoWorkspace::ThrowDaoException(int)\n9114 void CDatabase::ThrowDBException(short)\n9115 void CRecordset::ThrowDBException(short,void *)\n9116 void CFileException::ThrowErrno(int,char const *)\n9117 void COleControl::ThrowError(long,unsigned int,unsigned int)\n9118 void COleControl::ThrowError(long,char const *,unsigned int)\n9119 void ThrowGetRowsDaoException(long)\n9120 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException(void)\n9121 void ATL::CSimpleStringT<char,1>::ThrowMemoryException(void)\n9122 void CFileException::ThrowOsError(long,char const *)\n9123 void CDockContext::ToggleDocking(void)\n9124 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n9125 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n9126 COleVariant CDataSourceControl::ToVariant(int)\n9127 ATL::CTraceCategory traceAppMsg\n9128 ATL::CTraceCategory traceCmdRouting\n9129 ATL::CTraceCategory traceDatabase\n9130 ATL::CTraceCategory traceDumpContext\n9131 void CDBException::TraceErrorMessage(char const *)const \n9132 ATL::CTraceCategory traceGdi\n9133 ATL::CTraceCategory traceHtml\n9134 ATL::CTraceCategory traceInternet\n9135 ATL::CTraceCategory traceKernel\n9136 ATL::CTraceCategory traceMemory\n9137 ATL::CTraceCategory traceMultiApp\n9138 ATL::CTraceCategory traceOle\n9139 ATL::CTraceCategory traceSocket\n9140 ATL::CTraceCategory traceUser\n9141 ATL::CTraceCategory traceWinMsg\n9142 int CDockContext::Track(void)\n9143 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n9144 void CSplitterWnd::TrackColumnSize(int,int)\n9145 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n9146 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n9147 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n9148 void CSplitterWnd::TrackRowSize(int,int)\n9149 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n9150 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n9151 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n9152 long CBrowserControlSite::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n9153 long CDHtmlDialog::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n9154 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorA(tagMSG *,_GUID const *,unsigned long)\n9155 long COleControlSite::XOleControlSite::TranslateAcceleratorA(tagMSG *,unsigned long)\n9156 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n9157 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorA(tagMSG *)\n9158 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n9159 long COleControlContainer::XOleIPFrame::TranslateAcceleratorA(tagMSG *,unsigned short)\n9160 long COlePropertyPage::XPropertyPage::TranslateAcceleratorA(tagMSG *)\n9161 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n9162 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9163 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9164 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9165 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n9166 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n9167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n9168 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(void)\n9169 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n9170 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n9171 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(void)\n9172 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n9173 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n9174 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(void)\n9175 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n9176 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n9177 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(void)\n9178 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n9179 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n9180 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(void)\n9181 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n9182 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n9183 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(void)\n9184 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n9185 void ATL::CSimpleStringT<char,1>::Truncate(int)\n9186 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n9187 void COccManager::UIActivateControl(CWnd *)\n9188 long COleControl::XOleInPlaceObject::UIDeactivate(void)\n9189 long COleServerDoc::XOleInPlaceObject::UIDeactivate(void)\n9190 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n9191 void COleSafeArray::UnaccessData(void)\n9192 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n9193 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n9194 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n9195 long COleControl::XOleObject::Unadvise(unsigned long)\n9196 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n9197 long COleServerItem::XOleObject::Unadvise(unsigned long)\n9198 void CRecordset::UnbindFieldsForUpdate(void)\n9199 long COleControl::XOleCache::Uncache(unsigned long)\n9200 int CEdit::Undo(void)\n9201 int CRichEditCtrl::Undo(void)\n9202 long COleControl::XViewObject::Unfreeze(unsigned long)\n9203 int CCriticalSection::Unlock(void)\n9204 int CEvent::Unlock(void)\n9205 int CMultiLock::Unlock(long,long *)\n9206 int CMultiLock::Unlock(void)\n9207 int CMutex::Unlock(void)\n9208 void COleSafeArray::Unlock(void)\n9209 int CSemaphore::Unlock(long,long *)\n9210 int CSemaphore::Unlock(void)\n9211 int CSingleLock::Unlock(long,long *)\n9212 int CSingleLock::Unlock(void)\n9213 void CTypeLibCache::Unlock(void)\n9214 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer(void)\n9215 void ATL::CSimpleStringT<char,1>::UnlockBuffer(void)\n9216 void CEditView::UnlockBuffer(void)const \n9217 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n9218 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n9219 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n9220 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n9221 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n9222 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n9223 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n9224 void CWnd::UnlockWindowUpdate(void)\n9225 int CGdiObject::UnrealizeObject(void)\n9226 int COleObjectFactory::Unregister(void)\n9227 int COleTemplateServer::Unregister(void)\n9228 int CWinApp::Unregister(void)\n9229 int COleObjectFactory::UnregisterAll(void)\n9230 void CDocManager::UnregisterShellFileTypes(void)\n9231 void CWinApp::UnregisterShellFileTypes(void)\n9232 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n9233 HWND__ * CWnd::UnsubclassWindow(void)\n9234 void CDaoRecordset::Update(void)\n9235 int CListCtrl::Update(int)\n9236 int CRecordset::Update(void)\n9237 void CToolTipCtrl::Update(void)\n9238 long CDocObjectServer::XOleObject::Update(void)\n9239 long COleControl::XOleObject::Update(void)\n9240 long COleServerDoc::XOleObject::Update(void)\n9241 long COleServerItem::XOleObject::Update(void)\n9242 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n9243 void CStatusBar::UpdateAllPanes(int,int)\n9244 void CDocument::UpdateAllViews(CView *,long,CObject *)\n9245 void CScrollView::UpdateBars(void)\n9246 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n9247 void CDC::UpdateColors(void)\n9248 long CDataSourceControl::UpdateControls(void)\n9249 long CDataSourceControl::UpdateCursor(void)\n9250 void CMemoryState::UpdateData(void)\n9251 int CWnd::UpdateData(int)\n9252 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n9253 void CDocument::UpdateFrameCounts(void)\n9254 void CFrameWnd::UpdateFrameTitleForDocument(char const *)\n9255 int CRecordset::UpdateInsertDelete(void)\n9256 void COleClientItem::UpdateItemType(void)\n9257 int COleClientItem::UpdateLink(void)\n9258 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n9259 void CRecentFileList::UpdateMenu(CCmdUI *)\n9260 void COleDocument::UpdateModifiedFlag(void)\n9261 void CRichEditDoc::UpdateModifiedFlag(void)\n9262 void CRichEditDoc::UpdateObjectCache(void)\n9263 void CFileDialog::UpdateOFNFromShellDialog(void)\n9264 void CWinApp::UpdatePrinterSelection(int)\n9265 int COleObjectFactory::UpdateRegistry(int)\n9266 void COleObjectFactory::UpdateRegistry(char const *)\n9267 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,char const * *,char const * *,int)\n9268 int COleObjectFactory::UpdateRegistryAll(int)\n9269 void CDockContext::UpdateState(int *,int)\n9270 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n9271 void CToolTipCtrl::UpdateTipText(char const *,CWnd *,unsigned int)\n9272 long CBrowserControlSite::UpdateUI(void)\n9273 long CDHtmlDialog::UpdateUI(void)\n9274 long CHtmlControlSite::XDocHostUIHandler::UpdateUI(void)\n9275 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n9276 void COleLinkingDoc::UpdateVisibleLock(int,int)\n9277 void CWnd::UpdateWindow(void)\n9278 void CWnd::ValidateRect(tagRECT const *)\n9279 void CWnd::ValidateRgn(CRgn *)\n9280 void CDatabase::VerifyConnect(void)\n9281 unsigned long CRecordset::VerifyCursorSupport(void)\n9282 void CRecordset::VerifyDriverBehavior(void)\n9283 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n9284 int COleObjectFactory::VerifyUserLicense(void)\n9285 int CListBox::VKeyToItem(unsigned int,unsigned int)\n9286 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n9287 int CDC::WidenPath(void)\n9288 int COleControl::WillAmbientsBeValidDuringLoad(void)\n9289 CWnd * CWnd::WindowFromPoint(tagPOINT)\n9290 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n9291 long COleControl::WindowProc(unsigned int,unsigned int,long)\n9292 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n9293 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n9294 long CReBar::WindowProc(unsigned int,unsigned int,long)\n9295 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n9296 long CWnd::WindowProc(unsigned int,unsigned int,long)\n9297 void CWinApp::WinHelpA(unsigned long,unsigned int)\n9298 void CWnd::WinHelpA(unsigned long,unsigned int)\n9299 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n9300 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n9301 CWnd const CWnd::wndBottom\n9302 CWnd const CWnd::wndNoTopMost\n9303 CWnd const CWnd::wndTop\n9304 CWnd const CWnd::wndTopMost\n9305 void CRichEditView::WrapChanged(void)\n9306 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n9307 void CArchive::Write(void const *,unsigned int)\n9308 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n9309 void CFile::Write(void const *,unsigned int)\n9310 void CGopherFile::Write(void const *,unsigned int)\n9311 int CImageList::Write(CArchive *)\n9312 void CInternetFile::Write(void const *,unsigned int)\n9313 void CMemFile::Write(void const *,unsigned int)\n9314 void COleStreamFile::Write(void const *,unsigned int)\n9315 void CSocketFile::Write(void const *,unsigned int)\n9316 void CStdioFile::Write(void const *,unsigned int)\n9317 void CArchive::WriteClass(CRuntimeconst *)\n9318 void CArchive::WriteCount(unsigned long)\n9319 void COleClientItem::WriteItem(CArchive &)\n9320 void COleClientItem::WriteItemCompound(CArchive &)\n9321 void COleClientItem::WriteItemFlat(CArchive &)\n9322 void CRecentFileList::WriteList(void)\n9323 int CPropertySection::WriteNameDictToStream(IStream *)\n9324 void CArchive::WriteObject(CObject const *)\n9325 int CWinApp::WriteProfileBinary(char const *,char const *,unsigned char *,unsigned int)\n9326 int CWinApp::WriteProfileInt(char const *,char const *,int)\n9327 int CWinApp::WriteProfileStringA(char const *,char const *,char const *)\n9328 void CArchive::WriteString(char const *)\n9329 void CGopherFile::WriteString(char const *)\n9330 void CInternetFile::WriteString(char const *)\n9331 void CStdioFile::WriteString(char const *)\n9332 void CEditView::WriteToArchive(CArchive &)\n9333 int CProperty::WriteToStream(IStream *)\n9334 int CPropertySection::WriteToStream(IStream *)\n9335 int CPropertySet::WriteToStream(IStream *)\n9336 void AfxSetPerUserRegistration(int)\n9337 int AfxGetPerUserRegistration(void)\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc90u.def",
    "content": "256 ??$CopyElements@VCOleVariant@@@@YGXPAVCOleVariant@@PBV0@H@Z\n257 ??$HashKey@ABUtagVARIANT@@@@YGIABUtagVARIANT@@@Z\n258 ??$HashKey@PB_W@@YGIPB_W@Z\n259 ??$HashKey@PBD@@YGIPBD@Z\n260 ??$HashKey@VCComBSTR@ATL@@@@YGIVCComBSTR@ATL@@@Z\n261 ??$SerializeElements@V?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@H@Z\n262 ??$SerializeElements@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z\n263 ??$SerializeElements@VCComBSTR@ATL@@@@YGXAAVCArchive@@PAVCComBSTR@ATL@@H@Z\n264 ??$SerializeElements@VCOleVariant@@@@YGXAAVCArchive@@PAVCOleVariant@@H@Z\n265 void * operator new[](unsigned int)\n266 void operator delete[](void *)\n267 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n268 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n269 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n270 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n271 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n272 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n273 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n274 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n275 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n277 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n278 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n279 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n280 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n281 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n282 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n297 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n298 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n299 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n300 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n301 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n302 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n317 _AFX_DAO_STATE::_AFX_DAO_STATE(void)\n318 _AFX_THREAD_STATE::_AFX_THREAD_STATE(void)\n319 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n320 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)\n321 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n322 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n323 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE(void)\n324 CArchive::CArchive(CFile *,unsigned int,int,void *)\n325 CArchivePropExchange::CArchivePropExchange(CArchive &)\n326 CArchiveStream::CArchiveStream(CArchive *)\n327 CAsyncMonikerFile::CAsyncMonikerFile(void)\n328 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n329 CAsyncSocket::CAsyncSocket(void)\n330 CBlobProperty::CBlobProperty(void *)\n331 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n332 CBrush::CBrush(int,unsigned long)\n333 CBrush::CBrush(unsigned long)\n334 CBrush::CBrush(CBitmap *)\n335 CByteArray::CByteArray(void)\n336 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu(void)\n337 CClientDC::CClientDC(CWnd *)\n338 CCmdTarget::CCmdTarget(void)\n339 CCmdUI::CCmdUI(void)\n340 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n341 CCommandLineInfo::CCommandLineInfo(void)\n342 CConnectionPoint::CConnectionPoint(void)\n343 CControlBar::CControlBar(void)\n344 CControlBarInfo::CControlBarInfo(void)\n345 CControlCreationInfo::CControlCreationInfo(void)\n346 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n347 CControlFrameWnd::CControlFrameWnd(COleControl *)\n348 CControlSiteFactoryMgr::CControlSiteFactoryMgr(void)\n349 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n350 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n351 CDaoException::CDaoException(void)\n352 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n353 CDaoIndexInfo::CDaoIndexInfo(void)\n354 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n355 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n356 CDaoRecordView::CDaoRecordView(unsigned int)\n357 CDaoRecordView::CDaoRecordView(wchar_t const *)\n358 CDaoRelationInfo::CDaoRelationInfo(void)\n359 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n360 CDaoWorkspace::CDaoWorkspace(void)\n361 CDatabase::CDatabase(void)\n362 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n363 CDataExchange::CDataExchange(CWnd *,int)\n364 CDataSourceControl::CDataSourceControl(COleControlSite *)\n365 CDBException::CDBException(short)\n366 CDBVariant::CDBVariant(void)\n367 CDC::CDC(void)\n368 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n369 CDHtmlControlSink::CDHtmlControlSink(void)\n370 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n371 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n372 CDHtmlDialog::CDHtmlDialog(void)\n373 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n374 CDialog::CDialog(unsigned int,CWnd *)\n375 CDialog::CDialog(wchar_t const *,CWnd *)\n376 CDialog::CDialog(void)\n377 CDialogBar::CDialogBar(void)\n378 CDialogTemplate::CDialogTemplate(void *)\n379 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n380 CDocItem::CDocItem(void)\n381 CDockBar::CDockBar(int)\n382 CDockContext::CDockContext(CControlBar *)\n383 CDockState::CDockState(void)\n384 CDocManager::CDocManager(void)\n385 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n386 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n387 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n388 CDocument::CDocument(void)\n389 CDumpContext::CDumpContext(CFile *)\n390 CDWordArray::CDWordArray(void)\n391 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n392 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n393 CEditView::CEditView(void)\n394 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n395 CEnumConnections::CEnumConnections(void const *,unsigned int)\n396 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n397 CEnumFormatEtc::CEnumFormatEtc(void)\n398 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n399 CException::CException(int)\n400 CException::CException(void)\n401 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n402 CFile::CFile(void *)\n403 CFile::CFile(wchar_t const *,unsigned int)\n404 CFile::CFile(void)\n405 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long,int)\n406 CFileFind::CFileFind(void)\n407 CFindReplaceDialog::CFindReplaceDialog(void)\n408 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n409 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n410 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n411 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n412 CFontHolder::CFontHolder(IPropertyNotifySink *)\n413 CFormView::CFormView(unsigned int)\n414 CFormView::CFormView(wchar_t const *)\n415 CFrameWnd::CFrameWnd(void)\n416 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n417 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n418 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n419 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n420 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n421 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n422 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n423 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n424 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n425 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n426 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n427 CHtmlEditCtrl::CHtmlEditCtrl(void)\n428 CHtmlEditDoc::CHtmlEditDoc(void)\n429 CHtmlEditView::CHtmlEditView(void)\n430 CHtmlView::CHtmlView(void)\n431 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n432 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n433 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n434 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n435 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n436 CImageList::CImageList(void)\n437 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n438 CInternetException::CInternetException(unsigned long)\n439 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n440 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n441 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n442 CLongBinary::CLongBinary(void)\n443 CMapPtrToPtr::CMapPtrToPtr(int)\n444 CMapPtrToWord::CMapPtrToWord(int)\n445 CMapStringToOb::CMapStringToOb(int)\n446 CMapStringToPtr::CMapStringToPtr(int)\n447 CMapStringToString::CMapStringToString(int)\n448 CMapWordToOb::CMapWordToOb(int)\n449 CMapWordToPtr::CMapWordToPtr(int)\n450 CMDIChildWnd::CMDIChildWnd(void)\n451 CMDIFrameWnd::CMDIFrameWnd(void)\n452 CMemFile::CMemFile(unsigned int)\n453 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n454 CMetaFileDC::CMetaFileDC(void)\n455 CMiniDockFrameWnd::CMiniDockFrameWnd(void)\n456 CMiniFrameWnd::CMiniFrameWnd(void)\n457 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n458 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n459 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n460 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n461 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(void)\n462 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n463 CObArray::CObArray(void)\n464 CObList::CObList(int)\n465 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n466 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n467 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n468 COleClientItem::COleClientItem(COleDocument *)\n469 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n470 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n471 COleControl::COleControl(void)\n472 COleControlContainer::COleControlContainer(CWnd *)\n473 COleControlLock::COleControlLock(_GUID const &)\n474 COleControlSite::COleControlSite(COleControlContainer *)\n475 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n476 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n477 COleControlSiteOrWnd::COleControlSiteOrWnd(void)\n478 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n479 COleCurrency::COleCurrency(long,long)\n480 COleDataObject::COleDataObject(void)\n481 COleDataSource::COleDataSource(void)\n482 COleDialog::COleDialog(CWnd *)\n483 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n484 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n485 COleDispatchDriver::COleDispatchDriver(void)\n486 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n487 COleDocIPFrameWnd::COleDocIPFrameWnd(void)\n488 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n489 COleDocument::COleDocument(void)\n490 COleDropSource::COleDropSource(void)\n491 COleDropTarget::COleDropTarget(void)\n492 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n493 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n494 COleIPFrameWnd::COleIPFrameWnd(void)\n495 COleLinkingDoc::COleLinkingDoc(void)\n496 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n497 COleMessageFilter::COleMessageFilter(void)\n498 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n499 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n500 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n501 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n502 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n503 COleResizeBar::COleResizeBar(void)\n504 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n505 COleSafeArray::COleSafeArray(tagVARIANT const &)\n506 COleSafeArray::COleSafeArray(COleSafeArray const &)\n507 COleSafeArray::COleSafeArray(COleVariant const &)\n508 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n509 COleSafeArray::COleSafeArray(tagVARIANT const *)\n510 COleServerDoc::COleServerDoc(void)\n511 COleServerItem::COleServerItem(COleServerDoc *,int)\n512 COleStreamFile::COleStreamFile(IStream *)\n513 COleTemplateServer::COleTemplateServer(void)\n514 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n515 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n516 COleVariant::COleVariant(tagVARIANT const &)\n517 COleVariant::COleVariant(COleVariant const &)\n518 COleVariant::COleVariant(short,unsigned short)\n519 COleVariant::COleVariant(long,unsigned short)\n520 COleVariant::COleVariant(wchar_t const *,unsigned short)\n521 COleVariant::COleVariant(_ITEMIDLIST const *)\n522 COleVariant::COleVariant(tagVARIANT const *)\n523 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n524 CPaintDC::CPaintDC(CWnd *)\n525 CPen::CPen(int,int,unsigned long)\n526 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n527 CPictureHolder::CPictureHolder(void)\n528 CPreviewDC::CPreviewDC(void)\n529 CPreviewView::CPreviewView(void)\n530 CPrintDialog::CPrintDialog(tagPDW &)\n531 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n532 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n533 CPrintInfo::CPrintInfo(void)\n534 CPrintPreviewState::CPrintPreviewState(void)\n535 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n536 CProperty::CProperty(unsigned long,void * const,unsigned long)\n537 CProperty::CProperty(void)\n538 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n539 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n540 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n541 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n542 CPropertyPage::CPropertyPage(void)\n543 CPropertySection::CPropertySection(_GUID)\n544 CPropertySection::CPropertySection(void)\n545 CPropertySet::CPropertySet(_GUID)\n546 CPropertySet::CPropertySet(void)\n547 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n548 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n549 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n550 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n551 CPropertySheet::CPropertySheet(void)\n552 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n553 CPtrArray::CPtrArray(void)\n554 CPtrList::CPtrList(int)\n555 CReBar::CReBar(void)\n556 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n557 CRecordset::CRecordset(CDatabase *)\n558 CRecordView::CRecordView(unsigned int)\n559 CRecordView::CRecordView(wchar_t const *)\n560 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n561 CReObject::CReObject(CRichEditCntrItem *)\n562 CReObject::CReObject(void)\n563 CResetPropExchange::CResetPropExchange(void)\n564 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n565 CRichEditDoc::CRichEditDoc(void)\n566 CRichEditView::CRichEditView(void)\n567 CScrollView::CScrollView(void)\n568 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n569 CSharedFile::CSharedFile(unsigned int,unsigned int)\n570 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n571 CSingleLock::CSingleLock(CSyncObject *,int)\n572 CSocket::CSocket(void)\n573 CSocketFile::CSocketFile(CSocket *,int)\n574 CSocketWnd::CSocketWnd(void)\n575 CSplitterWnd::CSplitterWnd(void)\n576 CStatusBar::CStatusBar(void)\n577 CStdioFile::CStdioFile(_iobuf *)\n578 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n579 CStdioFile::CStdioFile(void)\n580 CStringArray::CStringArray(void)\n581 CStringList::CStringList(int)\n582 CSyncObject::CSyncObject(wchar_t const *)\n583 CTestCmdUI::CTestCmdUI(void)\n584 CThreadSlotData::CThreadSlotData(void)\n585 CToolBar::CToolBar(void)\n586 CToolTipCtrl::CToolTipCtrl(void)\n587 CUIntArray::CUIntArray(void)\n588 CView::CView(void)\n589 CWinApp::CWinApp(wchar_t const *)\n590 CWindowDC::CWindowDC(CWnd *)\n591 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n592 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n593 CWinThread::CWinThread(void)\n594 CWnd::CWnd(HWND__ *)\n595 CWnd::CWnd(void)\n596 CWordArray::CWordArray(void)\n597 CPreviewView::PAGE_INFO::PAGE_INFO(void)\n598 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>(void)\n599 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>(void)\n600 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n601 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n602 _AFX_DAO_STATE::~_AFX_DAO_STATE(void)\n603 _AFX_THREAD_STATE::~_AFX_THREAD_STATE(void)\n604 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE(void)\n605 AFX_MODULE_STATE::~AFX_MODULE_STATE(void)\n606 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE(void)\n607 CAnimateCtrl::~CAnimateCtrl(void)\n608 CArchive::~CArchive(void)\n609 CAsyncMonikerFile::~CAsyncMonikerFile(void)\n610 CAsyncSocket::~CAsyncSocket(void)\n611 CButton::~CButton(void)\n612 CByteArray::~CByteArray(void)\n613 CClientDC::~CClientDC(void)\n614 CCmdTarget::~CCmdTarget(void)\n615 CComboBox::~CComboBox(void)\n616 CComboBoxEx::~CComboBoxEx(void)\n617 CCommandLineInfo::~CCommandLineInfo(void)\n618 CConnectionPoint::~CConnectionPoint(void)\n619 CControlBar::~CControlBar(void)\n620 CControlSiteFactoryMgr::~CControlSiteFactoryMgr(void)\n621 CCtrlView::~CCtrlView(void)\n622 CDaoDatabase::~CDaoDatabase(void)\n623 CDaoException::~CDaoException(void)\n624 CDaoIndexInfo::~CDaoIndexInfo(void)\n625 CDaoQueryDef::~CDaoQueryDef(void)\n626 CDaoRecordset::~CDaoRecordset(void)\n627 CDaoRecordView::~CDaoRecordView(void)\n628 CDaoRelationInfo::~CDaoRelationInfo(void)\n629 CDaoTableDef::~CDaoTableDef(void)\n630 CDaoWorkspace::~CDaoWorkspace(void)\n631 CDatabase::~CDatabase(void)\n632 CDataSourceControl::~CDataSourceControl(void)\n633 CDateTimeCtrl::~CDateTimeCtrl(void)\n634 CDBException::~CDBException(void)\n635 CDBVariant::~CDBVariant(void)\n636 CDC::~CDC(void)\n637 CDHtmlControlSink::~CDHtmlControlSink(void)\n638 CDHtmlDialog::~CDHtmlDialog(void)\n639 CDialog::~CDialog(void)\n640 CDialogBar::~CDialogBar(void)\n641 CDialogTemplate::~CDialogTemplate(void)\n642 CDocItem::~CDocItem(void)\n643 CDockBar::~CDockBar(void)\n644 CDockContext::~CDockContext(void)\n645 CDockState::~CDockState(void)\n646 CDocManager::~CDocManager(void)\n647 CDocObjectServer::~CDocObjectServer(void)\n648 CDocObjectServerItem::~CDocObjectServerItem(void)\n649 CDocTemplate::~CDocTemplate(void)\n650 CDocument::~CDocument(void)\n651 CDragListBox::~CDragListBox(void)\n652 CDWordArray::~CDWordArray(void)\n653 CDynLinkLibrary::~CDynLinkLibrary(void)\n654 CEdit::~CEdit(void)\n655 CEditView::~CEditView(void)\n656 CEnumArray::~CEnumArray(void)\n657 CEnumConnections::~CEnumConnections(void)\n658 CEnumConnPoints::~CEnumConnPoints(void)\n659 CEnumFormatEtc::~CEnumFormatEtc(void)\n660 CEnumOleVerb::~CEnumOleVerb(void)\n661 CEnumUnknown::~CEnumUnknown(void)\n662 CEvent::~CEvent(void)\n663 CFile::~CFile(void)\n664 CFileDialog::~CFileDialog(void)\n665 CFileFind::~CFileFind(void)\n666 CFixedAlloc::~CFixedAlloc(void)\n667 CFixedAllocNoSync::~CFixedAllocNoSync(void)\n668 CFontHolder::~CFontHolder(void)\n669 CFormView::~CFormView(void)\n670 CFrameWnd::~CFrameWnd(void)\n671 CFtpConnection::~CFtpConnection(void)\n672 CFtpFileFind::~CFtpFileFind(void)\n673 CGopherConnection::~CGopherConnection(void)\n674 CGopherFile::~CGopherFile(void)\n675 CGopherFileFind::~CGopherFileFind(void)\n676 CGopherLocator::~CGopherLocator(void)\n677 CHeaderCtrl::~CHeaderCtrl(void)\n678 CHotKeyCtrl::~CHotKeyCtrl(void)\n679 CHtmlControlSite::~CHtmlControlSite(void)\n680 CHtmlEditCtrl::~CHtmlEditCtrl(void)\n681 CHtmlEditDoc::~CHtmlEditDoc(void)\n682 CHtmlEditView::~CHtmlEditView(void)\n683 CHtmlView::~CHtmlView(void)\n684 CHttpConnection::~CHttpConnection(void)\n685 CHttpFile::~CHttpFile(void)\n686 CImageList::~CImageList(void)\n687 CInternetConnection::~CInternetConnection(void)\n688 CInternetException::~CInternetException(void)\n689 CInternetFile::~CInternetFile(void)\n690 CInternetSession::~CInternetSession(void)\n691 CIPAddressCtrl::~CIPAddressCtrl(void)\n692 CListBox::~CListBox(void)\n693 CListCtrl::~CListCtrl(void)\n694 CLongBinary::~CLongBinary(void)\n695 CMapPtrToPtr::~CMapPtrToPtr(void)\n696 CMapPtrToWord::~CMapPtrToWord(void)\n697 CMapStringToOb::~CMapStringToOb(void)\n698 CMapStringToPtr::~CMapStringToPtr(void)\n699 CMapStringToString::~CMapStringToString(void)\n700 CMapWordToOb::~CMapWordToOb(void)\n701 CMapWordToPtr::~CMapWordToPtr(void)\n702 CMemFile::~CMemFile(void)\n703 CMetaFileDC::~CMetaFileDC(void)\n704 CMiniFrameWnd::~CMiniFrameWnd(void)\n705 CMonikerFile::~CMonikerFile(void)\n706 CMonthCalCtrl::~CMonthCalCtrl(void)\n707 CMultiDocTemplate::~CMultiDocTemplate(void)\n708 CMultiLock::~CMultiLock(void)\n709 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog(void)\n710 CMutex::~CMutex(void)\n711 CObArray::~CObArray(void)\n712 CObList::~CObList(void)\n713 COleBusyDialog::~COleBusyDialog(void)\n714 COleChangeIconDialog::~COleChangeIconDialog(void)\n715 COleChangeSourceDialog::~COleChangeSourceDialog(void)\n716 COleClientItem::~COleClientItem(void)\n717 COleCntrFrameWnd::~COleCntrFrameWnd(void)\n718 COleControl::~COleControl(void)\n719 COleControlContainer::~COleControlContainer(void)\n720 COleControlLock::~COleControlLock(void)\n721 COleControlSite::~COleControlSite(void)\n722 COleControlSiteOrWnd::~COleControlSiteOrWnd(void)\n723 COleConvertDialog::~COleConvertDialog(void)\n724 COleDataSource::~COleDataSource(void)\n725 COleDispatchException::~COleDispatchException(void)\n726 COleDocIPFrameWnd::~COleDocIPFrameWnd(void)\n727 COleDocObjectItem::~COleDocObjectItem(void)\n728 COleDocument::~COleDocument(void)\n729 COleDropTarget::~COleDropTarget(void)\n730 COleFrameHook::~COleFrameHook(void)\n731 COleInsertDialog::~COleInsertDialog(void)\n732 COleIPFrameWnd::~COleIPFrameWnd(void)\n733 COleLinkingDoc::~COleLinkingDoc(void)\n734 COleLinksDialog::~COleLinksDialog(void)\n735 COleMessageFilter::~COleMessageFilter(void)\n736 COleObjectFactory::~COleObjectFactory(void)\n737 COlePasteSpecialDialog::~COlePasteSpecialDialog(void)\n738 COlePropertyPage::~COlePropertyPage(void)\n739 COleResizeBar::~COleResizeBar(void)\n740 COleServerDoc::~COleServerDoc(void)\n741 COleServerItem::~COleServerItem(void)\n742 COleStreamFile::~COleStreamFile(void)\n743 COleUpdateDialog::~COleUpdateDialog(void)\n744 CPaintDC::~CPaintDC(void)\n745 CPictureHolder::~CPictureHolder(void)\n746 CPreviewDC::~CPreviewDC(void)\n747 CPreviewView::~CPreviewView(void)\n748 CPrintInfo::~CPrintInfo(void)\n749 CProcessLocalObject::~CProcessLocalObject(void)\n750 CProgressCtrl::~CProgressCtrl(void)\n751 CPropbagPropExchange::~CPropbagPropExchange(void)\n752 CProperty::~CProperty(void)\n753 CPropertyPage::~CPropertyPage(void)\n754 CPropertySection::~CPropertySection(void)\n755 CPropertySet::~CPropertySet(void)\n756 CPropertySheet::~CPropertySheet(void)\n757 CPtrArray::~CPtrArray(void)\n758 CPtrList::~CPtrList(void)\n759 CReBarCtrl::~CReBarCtrl(void)\n760 CRecentFileList::~CRecentFileList(void)\n761 CRecordset::~CRecordset(void)\n762 CRecordView::~CRecordView(void)\n763 CRectTracker::~CRectTracker(void)\n764 CReObject::~CReObject(void)\n765 CRichEditCntrItem::~CRichEditCntrItem(void)\n766 CRichEditCtrl::~CRichEditCtrl(void)\n767 CScrollBar::~CScrollBar(void)\n768 CScrollView::~CScrollView(void)\n769 CSemaphore::~CSemaphore(void)\n770 CSharedFile::~CSharedFile(void)\n771 CSingleDocTemplate::~CSingleDocTemplate(void)\n772 CSliderCtrl::~CSliderCtrl(void)\n773 CSocket::~CSocket(void)\n774 CSocketFile::~CSocketFile(void)\n775 CSpinButtonCtrl::~CSpinButtonCtrl(void)\n776 CSplitButton::~CSplitButton(void)\n777 CSplitterWnd::~CSplitterWnd(void)\n778 CStatic::~CStatic(void)\n779 CStatusBar::~CStatusBar(void)\n780 CStatusBarCtrl::~CStatusBarCtrl(void)\n781 CStdioFile::~CStdioFile(void)\n782 CStringArray::~CStringArray(void)\n783 CStringList::~CStringList(void)\n784 CSyncObject::~CSyncObject(void)\n785 CTabCtrl::~CTabCtrl(void)\n786 CThreadLocalObject::~CThreadLocalObject(void)\n787 CThreadSlotData::~CThreadSlotData(void)\n788 CToolBar::~CToolBar(void)\n789 CToolBarCtrl::~CToolBarCtrl(void)\n790 CToolTipCtrl::~CToolTipCtrl(void)\n791 CTreeCtrl::~CTreeCtrl(void)\n792 CUIntArray::~CUIntArray(void)\n793 CView::~CView(void)\n794 CWinApp::~CWinApp(void)\n795 CWindowDC::~CWindowDC(void)\n796 CWinThread::~CWinThread(void)\n797 CWnd::~CWnd(void)\n798 CWordArray::~CWordArray(void)\n799 void * operator new(unsigned int)\n800 void * CNoTrackObject::operator new(unsigned int)\n801 void operator delete(void *)\n802 void CNoTrackObject::operator delete(void *)\n803 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n804 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n805 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n806 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n807 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n808 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n809 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n810 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n811 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n812 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n813 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n814 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n815 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n816 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n817 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n818 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n819 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n820 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n821 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n822 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n823 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n824 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n825 COleCurrency const & COleCurrency::operator=(union tagCY)\n826 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n827 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n828 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n829 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n830 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n831 COleVariant const & COleVariant::operator=(__int64)\n832 COleVariant const & COleVariant::operator=(unsigned __int64)\n833 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n834 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n835 COleVariant const & COleVariant::operator=(COleVariant const &)\n836 COleVariant const & COleVariant::operator=(CByteArray const &)\n837 COleVariant const & COleVariant::operator=(CLongBinary const &)\n838 COleVariant const & COleVariant::operator=(COleCurrency const &)\n839 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n840 COleVariant const & COleVariant::operator=(unsigned char)\n841 COleVariant const & COleVariant::operator=(short)\n842 COleVariant const & COleVariant::operator=(long)\n843 COleVariant const & COleVariant::operator=(float)\n844 COleVariant const & COleVariant::operator=(double)\n845 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n846 COleVariant const & COleVariant::operator=(wchar_t const * const)\n847 CArchive & operator>>(CArchive &,CByteArray * &)\n848 CArchive & operator>>(CArchive &,CDocItem * &)\n849 CArchive & operator>>(CArchive &,CDockState * &)\n850 CArchive & operator>>(CArchive &,CDWordArray * &)\n851 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n852 CArchive & operator>>(CArchive &,CMapStringToString * &)\n853 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n854 CArchive & operator>>(CArchive &,CObArray * &)\n855 CArchive & operator>>(CArchive &,CObList * &)\n856 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n857 CArchive & operator>>(CArchive &,CStringArray * &)\n858 CArchive & operator>>(CArchive &,CStringList * &)\n859 CArchive & operator>>(CArchive &,CWordArray * &)\n860 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n861 CArchive & operator>>(CArchive &,COleCurrency &)\n862 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n863 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n864 CArchive & operator>>(CArchive &,COleVariant &)\n865 CArchive & operator>>(CArchive &,ATL::CTime &)\n866 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n867 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n868 CArchive & operator<<(CArchive &,COleCurrency)\n869 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n870 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n871 CArchive & operator<<(CArchive &,COleVariant)\n872 CArchive & operator<<(CArchive &,ATL::CTime)\n873 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n874 CDumpContext & CDumpContext::operator<<(__int64)\n875 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n876 CDumpContext & CDumpContext::operator<<(CObject const &)\n877 CDumpContext & CDumpContext::operator<<(unsigned char)\n878 CDumpContext & CDumpContext::operator<<(unsigned short)\n879 CDumpContext & CDumpContext::operator<<(int)\n880 CDumpContext & CDumpContext::operator<<(unsigned int)\n881 CDumpContext & CDumpContext::operator<<(long)\n882 CDumpContext & CDumpContext::operator<<(unsigned long)\n883 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n884 CDumpContext & CDumpContext::operator<<(HDC__ *)\n885 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n886 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n887 CDumpContext & CDumpContext::operator<<(HWND__ *)\n888 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n889 CDumpContext & CDumpContext::operator<<(char const *)\n890 CDumpContext & CDumpContext::operator<<(CObject const *)\n891 CDumpContext & CDumpContext::operator<<(void const *)\n892 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n893 int COleSafeArray::operator==(tagVARIANT const &)const \n894 int COleSafeArray::operator==(COleSafeArray const &)const \n895 int COleSafeArray::operator==(COleVariant const &)const \n896 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n897 int COleSafeArray::operator==(tagVARIANT const *)const \n898 int COleVariant::operator==(tagVARIANT const &)const \n899 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n900 char ATL::CSimpleStringT<char,1>::operator[](int)const \n901 void * & CMapPtrToPtr::operator[](void *)\n902 unsigned short & CMapPtrToWord::operator[](void *)\n903 CObject * & CMapStringToOb::operator[](wchar_t const *)\n904 void * & CMapStringToPtr::operator[](wchar_t const *)\n905 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n906 CObject * & CMapWordToOb::operator[](unsigned short)\n907 void * & CMapWordToPtr::operator[](unsigned short)\n908 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n909 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *(void)const \n910 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &(void)\n911 ATL::CSimpleStringT<char,1>::operator char const *(void)const \n912 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n913 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &(void)\n914 COleCurrency COleCurrency::operator*(long)const \n915 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n916 COleCurrency COleCurrency::operator-(void)const \n917 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n918 COleCurrency COleCurrency::operator/(long)const \n919 int COleCurrency::operator<(COleCurrency const &)const \n920 int COleCurrency::operator<=(COleCurrency const &)const \n921 int COleCurrency::operator>(COleCurrency const &)const \n922 int COleCurrency::operator>=(COleCurrency const &)const \n923 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n924 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n925 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n926 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n927 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n928 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n929 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n930 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n931 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n932 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n933 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n934 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n935 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n936 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n937 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n938 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n939 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n940 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n941 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n942 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n943 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n944 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n945 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n946 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n947 int _AfxDeleteRegKey(wchar_t const *)\n948 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n949 int _AfxSocketInit(WSAData *)\n950 void CArchive::Abort(void)\n951 void CFile::Abort(void)\n952 void CInternetFile::Abort(void)\n953 void CMemFile::Abort(void)\n954 void CMirrorFile::Abort(void)\n955 void COleStreamFile::Abort(void)\n956 void CSocketFile::Abort(void)\n957 void CStdioFile::Abort(void)\n958 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n959 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n960 long CWnd::accDoDefaultAction(tagVARIANT)\n961 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n962 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n963 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n964 void COleSafeArray::AccessData(void * *)\n965 long CWnd::accHitTest(long,long,tagVARIANT *)\n966 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n967 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n968 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n969 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n970 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n971 long CWnd::accSelect(long,tagVARIANT)\n972 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n973 void COleClientItem::Activate(long,CView *,tagMSG *)\n974 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n975 void COleDocObjectItem::ActivateAndShow(void)\n976 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n977 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n978 void CDocObjectServer::ActivateDocObject(void)\n979 void COleServerDoc::ActivateDocObject(void)\n980 void CFrameWnd::ActivateFrame(int)\n981 void CMDIChildWnd::ActivateFrame(int)\n982 int COleServerDoc::ActivateInPlace(void)\n983 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n984 void CSplitterWnd::ActivateNext(int)\n985 void CWnd::ActivateTopParent(void)\n986 void CRecentFileList::Add(wchar_t const *)\n987 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n988 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n989 int CToolBarCtrl::AddBitmap(int,unsigned int)\n990 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n991 void COleClientItem::AddCachedData(COleDataSource *)\n992 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n993 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n994 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n995 void CDocManager::AddDocTemplate(CDocTemplate *)\n996 void CWinApp::AddDocTemplate(CDocTemplate *)\n997 void CDocTemplate::AddDocument(CDocument *)\n998 void CMultiDocTemplate::AddDocument(CDocument *)\n999 void CSingleDocTemplate::AddDocument(CDocument *)\n1000 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1001 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n1002 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1003 void COleControl::AddFrameLevelUI(void)\n1004 void CFrameWnd::AddFrameWnd(void)\n1005 __POSITION * CObList::AddHead(CObject *)\n1006 void CObList::AddHead(CObList *)\n1007 __POSITION * CPtrList::AddHead(void *)\n1008 void CPtrList::AddHead(CPtrList *)\n1009 void CSimpleList::AddHead(void *)\n1010 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1011 __POSITION * CStringList::AddHead(wchar_t const *)\n1012 void CStringList::AddHead(CStringList *)\n1013 void COleDocument::AddItem(CDocItem *)\n1014 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1015 void CDaoRecordset::AddNew(void)\n1016 void CRecordset::AddNew(void)\n1017 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1018 void CPropertySheet::AddPage(CPropertyPage *)\n1019 void CPropertySection::AddProperty(CProperty *)\n1020 void CPropertySet::AddProperty(_GUID,CProperty *)\n1021 unsigned long CArchiveStream::AddRef(void)\n1022 unsigned long CBlobProperty::AddRef(void)\n1023 unsigned long CBrowserControlSite::AddRef(void)\n1024 unsigned long CDHtmlControlSink::AddRef(void)\n1025 unsigned long CDHtmlElementEventSink::AddRef(void)\n1026 unsigned long CDHtmlEventSink::AddRef(void)\n1027 unsigned long CInnerUnknown::AddRef(void)\n1028 unsigned long COleConnPtContainer::AddRef(void)\n1029 unsigned long COleDispatchImpl::AddRef(void)\n1030 unsigned long COleUILinkInfo::AddRef(void)\n1031 unsigned long CPrintDialogEx::AddRef(void)\n1032 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1033 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1034 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n1035 CPropertySection * CPropertySet::AddSection(_GUID)\n1036 void CPropertySet::AddSection(CPropertySection *)\n1037 void COlePasteSpecialDialog::AddStandardFormats(int)\n1038 int CToolBarCtrl::AddString(unsigned int)\n1039 __POSITION * CObList::AddTail(CObject *)\n1040 void CObList::AddTail(CObList *)\n1041 __POSITION * CPtrList::AddTail(void *)\n1042 void CPtrList::AddTail(CPtrList *)\n1043 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1044 __POSITION * CStringList::AddTail(wchar_t const *)\n1045 void CStringList::AddTail(CStringList *)\n1046 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1047 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1048 void CWinApp::AddToRecentFileList(wchar_t const *)\n1049 void CDocument::AddView(CView *)\n1050 void CMetaFileDC::AdjustCP(int)\n1051 void CRichEditView::AdjustDialogPosition(CDialog *)\n1052 void CRectTracker::AdjustRect(int,tagRECT *)\n1053 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1054 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1055 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1056 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1057 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1058 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1059 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1060 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1061 void AfxAbort(void)\n1062 int AfxActivateActCtx(void *,unsigned long *)\n1063 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n1064 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1065 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1066 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1067 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1068 void AfxCancelModes(HWND__ *)\n1069 void AfxCheckError(long)\n1070 void AfxClassInit(CRuntime*)\n1071 int AfxComparePath(wchar_t const *,wchar_t const *)\n1072 int AfxCompareValueByRef(void *,void *,int)\n1073 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1074 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1075 void AfxCopyValueByRef(void *,void *,long *,int)\n1076 void AfxCoreInitModule(void)\n1077 void * AfxCreateActCtxW(tagACTCTXW const *)\n1078 HDC__ * AfxCreateDC(void *,void *)\n1079 int AfxCriticalInit(void)\n1080 int AfxCriticalNewHandler(unsigned int)\n1081 void AfxCriticalTerm(void)\n1082 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1083 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1084 _DAODBEngine * AfxDaoGetEngine(void)\n1085 void AfxDaoInit(void)\n1086 void AfxDaoTerm(void)\n1087 AUX_DATA afxData\n1088 int AfxDeactivateActCtx(unsigned long,unsigned long)\n1089 void AfxDeleteObject(void * *)\n1090 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1091 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1092 long AfxDllCanUnloadNow(void)\n1093 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1094 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1095 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1096 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1097 void AfxEditviewTerm(void)\n1098 void AfxEnableControlContainer(COccManager *)\n1099 int AfxEndDeferRegisterClass(long)\n1100 void AfxEndThread(unsigned int,int)\n1101 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1102 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1103 void AfxFailMaxChars(CDataExchange *,int)\n1104 void AfxFailRadio(CDataExchange *)\n1105 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1106 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1107 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1108 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1109 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1110 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1111 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1112 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1113 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1114 int AfxFreeLibrary(HINSTANCE__ *)\n1115 int AfxFullPath(wchar_t *,wchar_t const *)\n1116 long (__stdcall*AfxGetAfxWndProc(void))(HWND__ *,unsigned int,unsigned int,long)\n1117 AFX_MODULE_STATE * AfxGetAppModuleState(void)\n1118 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1119 tagMSG * AfxGetCurrentMessage(void)\n1120 _AFX_DAO_STATE * AfxGetDaoState(void)\n1121 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1122 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1123 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n1124 unsigned long AfxGetDllVersion(void)\n1125 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1126 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1127 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1128 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1129 void * AfxGetHENV(void)\n1130 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1131 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1132 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1133 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1134 HINSTANCE__ * AfxGetInstanceHandleHelper(void)\n1135 unsigned long AfxGetInternetHandleType(void *)\n1136 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1137 AFX_MODULE_STATE * AfxGetModuleState(void)\n1138 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState(void)\n1139 int (__cdecl*AfxGetNewHandler(void))(unsigned int)\n1140 HWND__ * AfxGetParentOwner(HWND__ *)\n1141 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1142 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1143 ATL::IAtlStringMgr * AfxGetStringManager(void)\n1144 CWinThread * AfxGetThread(void)\n1145 _AFX_THREAD_STATE * AfxGetThreadState(void)\n1146 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1147 void AfxGlobalFree(void *)\n1148 int AfxHelpEnabled(void)\n1149 void AfxHookWindowCreate(CWnd *)\n1150 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1151 int AfxInitCurrentStateApp(void)\n1152 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1153 void AfxInitLocalData(HINSTANCE__ *)\n1154 int AfxInitNetworkAddressControl(void)\n1155 int AfxInitRichEdit(void)\n1156 int AfxInitRichEdit2(void)\n1157 void AfxInitThread(void)\n1158 int AfxInternalIsIdleMessage(tagMSG *)\n1159 int AfxInternalPreTranslateMessage(tagMSG *)\n1160 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1161 int AfxInternalPumpMessage(void)\n1162 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1163 int AfxIsDescendant(HWND__ *,HWND__ *)\n1164 int AfxIsIdleMessage(tagMSG *)\n1165 int AfxIsModuleDll(void)\n1166 int AfxIsValidAddress(void const *,unsigned int,int)\n1167 int AfxIsValidAtom(unsigned short)\n1168 int AfxIsValidAtom(wchar_t const *)\n1169 int AfxIsValidString(wchar_t const *,int)\n1170 int AfxIsValidString(char const *,int)\n1171 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1172 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1173 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *,wchar_t const *)\n1174 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1175 HINSTANCE__ * AfxLoadLibraryEx(wchar_t const *,void *,unsigned long)\n1176 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1177 int AfxLoadString(unsigned int,char *,unsigned int)\n1178 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1179 void AfxLockGlobals(int)\n1180 void AfxLockTempMaps(void)\n1181 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1182 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1183 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1184 int AfxOleCanExitApp(void)\n1185 int AfxOleGetUserCtrl(void)\n1186 int AfxOleInit(void)\n1187 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1188 void AfxOleLockApp(void)\n1189 int AfxOleLockControl(_GUID const &)\n1190 int AfxOleLockControl(wchar_t const *)\n1191 void AfxOleOnReleaseAllObjects(void)\n1192 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1193 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1194 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1195 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1196 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1197 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1198 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1199 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1200 void AfxOleSetUserCtrl(int)\n1201 void AfxOleTerm(int)\n1202 void AfxOleTermOrFreeLib(int,int)\n1203 void AfxOleUnlockAllControls(void)\n1204 void AfxOleUnlockApp(void)\n1205 int AfxOleUnlockControl(_GUID const &)\n1206 int AfxOleUnlockControl(wchar_t const *)\n1207 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1208 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1209 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1210 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1211 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1212 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1213 void AfxPostQuitMessage(int)\n1214 int AfxPreTranslateMessage(tagMSG *)\n1215 long AfxProcessWndProcException(CException *,tagMSG const *)\n1216 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1217 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1218 int AfxPumpMessage(void)\n1219 unsigned int AfxReadStringLength(CArchive &,int &)\n1220 int AfxRegisterClass(tagWNDCLASSW *)\n1221 int AfxRegisterSiteFactory(IControlSiteFactory *)\n1222 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1223 void AfxReleaseActCtx(void *)\n1224 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1225 void AfxResetMsgCache(void)\n1226 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1227 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1228 void AfxSafeArrayInit(COleSafeArray *)\n1229 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1230 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1231 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1232 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1233 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1234 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1235 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1236 void AfxSocketTerm(void)\n1237 void AfxStoreField(CRecordset &,unsigned int,void *)\n1238 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1239 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1240 void AfxTermLocalData(HINSTANCE__ *,int)\n1241 void AfxTermThread(HINSTANCE__ *)\n1242 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1243 void AfxThrowArchiveException(int,wchar_t const *)\n1244 void AfxThrowDaoException(int,long)\n1245 void AfxThrowDBException(short,CDatabase *,void *)\n1246 void AfxThrowFileException(int,long,wchar_t const *)\n1247 void AfxThrowInternetException(unsigned long,unsigned long)\n1248 void AfxThrowInvalidArgException(void)\n1249 void AfxThrowLastCleanup(void)\n1250 void AfxThrowMemoryException(void)\n1251 void AfxThrowNotSupportedException(void)\n1252 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1253 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1254 void AfxThrowOleException(long)\n1255 void AfxThrowResourceException(void)\n1256 void AfxThrowUserException(void)\n1257 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1258 void AfxTlsAddRef(void)\n1259 void AfxTlsRelease(void)\n1260 void AfxTrackerTerm(void)\n1261 void AfxTryCleanup(void)\n1262 int AfxUnhookWindowCreate(void)\n1263 void AfxUnlockGlobals(int)\n1264 int AfxUnlockTempMaps(int)\n1265 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1266 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n1267 void AfxUnregisterWndClasses(void)\n1268 void AfxVariantInit(tagVARIANT *)\n1269 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1270 char * AfxW2AHelper(char *,wchar_t const *,int)\n1271 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1272 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1273 void AfxWinTerm(void)\n1274 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1275 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1276 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1277 void * CFixedAlloc::Alloc(void)\n1278 void * CFixedAllocNoSync::Alloc(void)\n1279 unsigned char * CMemFile::Alloc(unsigned long)\n1280 unsigned char * CSharedFile::Alloc(unsigned long)\n1281 void CRecordset::AllocAndCacheFieldInfo(void)\n1282 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1283 void CDaoRecordset::AllocCache(void)\n1284 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1285 void CDatabase::AllocConnect(unsigned long)\n1286 void COleSafeArray::AllocData(void)\n1287 void CDaoRecordset::AllocDatabase(void)\n1288 void CRecordset::AllocDataCache(void)\n1289 void COleSafeArray::AllocDescriptor(unsigned long)\n1290 int CControlBar::AllocElements(int,int)\n1291 int CStatusBar::AllocElements(int,int)\n1292 int CRecordset::AllocHstmt(void)\n1293 void AllocLongBinary(CLongBinary &,unsigned long)\n1294 void CPropertyPage::AllocPSP(unsigned long)\n1295 void CRecordset::AllocRowset(void)\n1296 int CThreadSlotData::AllocSlot(void)\n1297 void CRecordset::AllocStatusArrays(void)\n1298 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString(void)const \n1299 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString(void)const \n1300 void * CProperty::AllocValue(unsigned long)\n1301 short COleControl::AmbientAppearance(void)\n1302 unsigned long COleControl::AmbientBackColor(void)\n1303 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName(void)\n1304 IFontDisp * COleControl::AmbientFont(void)\n1305 unsigned long COleControl::AmbientForeColor(void)\n1306 unsigned long COleControl::AmbientLocaleID(void)\n1307 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits(void)\n1308 int COleControl::AmbientShowGrabHandles(void)\n1309 int COleControl::AmbientShowHatching(void)\n1310 short COleControl::AmbientTextAlign(void)\n1311 int COleControl::AmbientUIDead(void)\n1312 int COleControl::AmbientUserMode(void)\n1313 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1314 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1315 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1316 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1317 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1318 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1319 int CByteArray::Append(CByteArray const &)\n1320 void CDaoQueryDef::Append(void)\n1321 void CDaoTableDef::Append(void)\n1322 void CDaoWorkspace::Append(void)\n1323 int CDWordArray::Append(CDWordArray const &)\n1324 int CObArray::Append(CObArray const &)\n1325 int CPtrArray::Append(CPtrArray const &)\n1326 int CStringArray::Append(CStringArray const &)\n1327 int CUIntArray::Append(CUIntArray const &)\n1328 int CWordArray::Append(CWordArray const &)\n1329 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1330 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1331 void CRecordset::AppendFilterAndSortSQL(void)\n1332 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1333 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1334 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1335 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1336 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1337 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1338 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1339 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1340 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1341 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1342 long COlePropertyPage::XPropertyPage::Apply(void)\n1343 void CFileDialog::ApplyOFNToShellDialog(void)\n1344 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1345 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1346 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1347 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1348 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1349 int CAsyncSocket::AsyncSelect(long)\n1350 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1351 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1352 int CAsyncSocket::Attach(unsigned int,long)\n1353 int CDC::Attach(HDC__ *)\n1354 int CGdiObject::Attach(void *)\n1355 int CImageList::Attach(_IMAGELIST *)\n1356 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1357 int CMenu::Attach(HMENU__ *)\n1358 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1359 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1360 void COleDataObject::Attach(IDataObject *,int)\n1361 void COleSafeArray::Attach(tagVARIANT &)\n1362 void COleStreamFile::Attach(IStream *)\n1363 void COleVariant::Attach(tagVARIANT &)\n1364 int CWnd::Attach(HWND__ *)\n1365 int COleDataObject::AttachClipboard(void)\n1366 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1367 void CWnd::AttachControlSite(CHandleMap *)\n1368 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1369 void COleClientItem::AttachDataObject(COleDataObject &)const \n1370 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1371 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1372 CPrintDialog * CPrintDialog::AttachOnSetup(void)\n1373 void COleControlSite::AttachWindow(void)\n1374 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1375 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1376 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1377 void COleMessageFilter::BeginBusyState(void)\n1378 int CDragListBox::BeginDrag(CPoint)\n1379 void COleDataObject::BeginEnumFormats(void)\n1380 void CFrameWnd::BeginModalState(void)\n1381 void CDaoWorkspace::BeginTrans(void)\n1382 int CDatabase::BeginTrans(void)\n1383 void CCmdTarget::BeginWaitCursor(void)\n1384 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1385 void CDataSourceControl::BindColumns(void)\n1386 void COccManager::BindControls(CWnd *)\n1387 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1388 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1389 void CDaoRecordset::BindFields(void)\n1390 void CRecordset::BindFieldsForUpdate(void)\n1391 unsigned int CRecordset::BindFieldsToColumns(void)\n1392 void CDaoRecordset::BindParameters(void)\n1393 void CDatabase::BindParameters(void *)\n1394 unsigned int CRecordset::BindParams(void *)\n1395 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1396 void CDataSourceControl::BindProp(COleControlSite *,int)\n1397 void COleControlSite::BindProperty(long,CWnd *)\n1398 void CWnd::BindProperty(long,CWnd *)\n1399 void COleControl::BoundPropertyChanged(long)\n1400 int COleControl::BoundPropertyRequestEdit(long)\n1401 void CFrameWnd::BringToTop(int)\n1402 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1403 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1404 void CDaoRecordset::BuildParameterList(void)\n1405 void CPropertySheet::BuildPropPageArray(void)\n1406 void CDaoRecordset::BuildSelectList(void)\n1407 void CRecordset::BuildSelectSQL(void)\n1408 int COleControl::BuildSharedMenu(void)\n1409 int COleDocIPFrameWnd::BuildSharedMenu(void)\n1410 int COleIPFrameWnd::BuildSharedMenu(void)\n1411 void CDaoRecordset::BuildSQL(void)\n1412 void CRecordset::BuildSQL(wchar_t const *)\n1413 void CRecordset::BuildUpdateSQL(void)\n1414 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1415 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1416 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1417 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1418 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1419 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1420 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1421 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1422 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1423 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1424 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1425 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1426 CSize CControlBar::CalcFixedLayout(int,int)\n1427 CSize CDialogBar::CalcFixedLayout(int,int)\n1428 CSize CDockBar::CalcFixedLayout(int,int)\n1429 CSize CReBar::CalcFixedLayout(int,int)\n1430 CSize CStatusBar::CalcFixedLayout(int,int)\n1431 CSize CToolBar::CalcFixedLayout(int,int)\n1432 void CControlBar::CalcInsideRect(CRect &,int)const \n1433 void CStatusBar::CalcInsideRect(CRect &,int)const \n1434 CSize CToolBar::CalcLayout(unsigned long,int)\n1435 int CCheckListBox::CalcMinimumItemHeight(void)\n1436 CSize CPreviewView::CalcPageDisplaySize(void)\n1437 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1438 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1439 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1440 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1441 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1442 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1443 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1444 int CDHtmlDialog::CanAccessExternal(void)\n1445 int COleClientItem::CanActivate(void)\n1446 int CRichEditCntrItem::CanActivate(void)\n1447 int CSplitterWnd::CanActivateNext(int)\n1448 int CDaoRecordset::CanAppend(void)const \n1449 int CDaoRecordset::CanBookmark(void)\n1450 int CRecordset::CanBookmark(void)const \n1451 void CDatabase::Cancel(void)\n1452 void CRecordset::Cancel(void)\n1453 void CSocket::CancelBlockingCall(void)\n1454 void CDragListBox::CancelDrag(CPoint)\n1455 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1456 long COleUILinkInfo::CancelLink(unsigned long)\n1457 void CDockContext::CancelLoop(void)\n1458 void CPropertyPage::CancelToClose(void)\n1459 void CWnd::CancelToolTips(int)\n1460 void CDaoRecordset::CancelUpdate(void)\n1461 void CRecordset::CancelUpdate(void)\n1462 int CDocument::CanCloseFrame(CFrameWnd *)\n1463 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1464 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1465 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1466 unsigned long CDockContext::CanDock(void)\n1467 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1468 int CFrameWnd::CanEnterHelpMode(void)\n1469 long COleClientItem::XOleIPSite::CanInPlaceActivate(void)\n1470 long COleControlSite::XOleIPSite::CanInPlaceActivate(void)\n1471 int COleClientItem::CanPaste(void)\n1472 int CRichEditCtrl::CanPaste(unsigned int)const \n1473 int CRichEditView::CanPaste(void)const \n1474 int COleClientItem::CanPasteLink(void)\n1475 int CDaoRecordset::CanRestart(void)\n1476 int CDaoRecordset::CanScroll(void)const \n1477 int CDaoDatabase::CanTransact(void)\n1478 int CDaoRecordset::CanTransact(void)\n1479 int CDaoDatabase::CanUpdate(void)\n1480 int CDaoQueryDef::CanUpdate(void)\n1481 int CDaoRecordset::CanUpdate(void)const \n1482 int CDaoTableDef::CanUpdate(void)\n1483 long COleControlSite::XOleIPSite::CanWindowlessActivate(void)\n1484 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n1485 void CScrollView::CenterOnPoint(CPoint)\n1486 void CWnd::CenterWindow(CWnd *)\n1487 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n1488 int CListBox::CharToItem(unsigned int,unsigned int)\n1489 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA(void)\n1490 int CDatabase::Check(short)const \n1491 int CRecordset::Check(short)const \n1492 int CDialog::CheckAutoCenter(void)\n1493 int CWnd::CheckAutoCenter(void)\n1494 void CArchive::CheckCount(void)\n1495 void COleControlContainer::CheckDlgButton(int,unsigned int)\n1496 void CWnd::CheckDlgButton(int,unsigned int)\n1497 int CCheckListBox::CheckFromPoint(CPoint,int &)\n1498 void COleClientItem::CheckGeneral(long)\n1499 int CDatabase::CheckHstmt(short,void *)const \n1500 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n1501 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n1502 void COleControlContainer::CheckRadioButton(int,int,int)\n1503 void CWnd::CheckRadioButton(int,int,int)\n1504 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n1505 void CRecordset::CheckRowsetError(short)\n1506 void CScrollView::CheckScrollBars(int &,int &)const \n1507 CRuntimeconst CDaoDatabase::classCDaoDatabase\n1508 CRuntimeconst CDaoException::classCDaoException\n1509 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n1510 CRuntimeconst CDaoRecordset::classCDaoRecordset\n1511 CRuntimeconst CDaoRecordView::classCDaoRecordView\n1512 CRuntimeconst CDaoTableDef::classCDaoTableDef\n1513 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n1514 CRuntimeconst CDatabase::classCDatabase\n1515 CRuntimeconst CDBException::classCDBException\n1516 CRuntimeconst CLongBinary::classCLongBinary\n1517 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n1518 CRuntimeconst CRecordset::classCRecordset\n1519 CRuntimeconst CRecordView::classCRecordView\n1520 void CPropertyPage::Cleanup(void)\n1521 void CSplitButton::Cleanup(void)\n1522 void COlePropertyPage::CleanupObjectArray(void)\n1523 void CDBVariant::Clear(void)\n1524 void CDockState::Clear(void)\n1525 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n1526 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n1527 void CRecordset::ClearFieldStatus(void)\n1528 void CDaoRecordset::ClearFieldStatusFlags(void)\n1529 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n1530 void CRecordset::ClearNullFieldStatus(unsigned long)\n1531 void CRecordset::ClearNullParamStatus(unsigned long)\n1532 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n1533 void CWnd::ClientToScreen(tagRECT *)const \n1534 int COleControl::ClipCaretRect(tagRECT *)\n1535 void CPreviewDC::ClipToPage(void)\n1536 ATL::IAtlStringMgr * CAfxStringMgr::Clone(void)\n1537 long CArchiveStream::Clone(IStream * *)\n1538 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n1539 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n1540 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n1541 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n1542 void CArchive::Close(void)\n1543 void CAsyncMonikerFile::Close(void)\n1544 void CAsyncSocket::Close(void)\n1545 void CCachedDataPathProperty::Close(void)\n1546 void CDaoDatabase::Close(void)\n1547 void CDaoQueryDef::Close(void)\n1548 void CDaoRecordset::Close(void)\n1549 void CDaoTableDef::Close(void)\n1550 void CDaoWorkspace::Close(void)\n1551 void CDatabase::Close(void)\n1552 void CFile::Close(void)\n1553 void CFileFind::Close(void)\n1554 void CInternetConnection::Close(void)\n1555 void CInternetFile::Close(void)\n1556 void CInternetSession::Close(void)\n1557 void CMemFile::Close(void)\n1558 void CMirrorFile::Close(void)\n1559 void CMonikerFile::Close(void)\n1560 void COleClientItem::Close(enum tagOLECLOSE)\n1561 void COleStreamFile::Close(void)\n1562 void CRecordset::Close(void)\n1563 void CSocket::Close(void)\n1564 void CSocketFile::Close(void)\n1565 void CStdioFile::Close(void)\n1566 long CDocObjectServer::XOleObject::Close(unsigned long)\n1567 long COleControl::XOleObject::Close(unsigned long)\n1568 long COleServerDoc::XOleObject::Close(unsigned long)\n1569 long COleServerItem::XOleObject::Close(unsigned long)\n1570 void CDocManager::CloseAllDocuments(int)\n1571 void CDocTemplate::CloseAllDocuments(int)\n1572 void CWinApp::CloseAllDocuments(int)\n1573 void CFileFind::CloseContext(void)\n1574 void CFtpFileFind::CloseContext(void)\n1575 void CGopherFileFind::CloseContext(void)\n1576 long CThemeHelper::CloseThemeData(void *)\n1577 long CThemeHelper::CloseThemeDataFail(void *)\n1578 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n1579 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n1580 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n1581 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n1582 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n1583 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n1584 int CStatusBar::CommandToIndex(unsigned int)const \n1585 int CToolBar::CommandToIndex(unsigned int)const \n1586 long CArchiveStream::Commit(unsigned long)\n1587 void COleClientItem::CommitItem(int)\n1588 void COleDocument::CommitItems(int,IStorage *)\n1589 void CDaoWorkspace::CommitTrans(void)\n1590 int CDatabase::CommitTrans(void)\n1591 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n1592 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n1593 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1594 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n1595 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1596 void CWinThread::CommonConstruct(void)\n1597 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n1598 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n1599 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n1600 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n1601 int CComboBox::CompareItem(tagCOMPAREITEM*)\n1602 int CListBox::CompareItem(tagCOMPAREITEM*)\n1603 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n1604 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n1605 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n1606 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n1607 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n1608 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n1609 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n1610 int CDatabase::Connect(unsigned long)\n1611 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n1612 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n1613 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n1614 int CSocket::ConnectHelper(sockaddr const *,int)\n1615 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n1616 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n1617 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n1618 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n1619 void COleServerDoc::ConnectView(CWnd *,CView *)\n1620 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n1621 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n1622 void CPropertyPage::Construct(unsigned int,unsigned int)\n1623 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n1624 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n1625 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n1626 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n1627 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1628 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n1629 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n1630 void CRectTracker::Construct(void)\n1631 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1632 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n1633 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n1634 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n1635 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n1636 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n1637 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n1638 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n1639 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n1640 int CPropertySheet::ContinueModal(void)\n1641 int CWnd::ContinueModal(void)\n1642 void COleControl::ControlInfoChanged(void)\n1643 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n1644 int COleClientItem::ConvertTo(_GUID const &)\n1645 int CRichEditCntrItem::ConvertTo(_GUID const &)\n1646 void CByteArray::Copy(CByteArray const &)\n1647 void CDWordArray::Copy(CDWordArray const &)\n1648 void CObArray::Copy(CObArray const &)\n1649 void COleSafeArray::Copy(tagSAFEARRAY * *)\n1650 void CPtrArray::Copy(CPtrArray const &)\n1651 void CStringArray::Copy(CStringArray const &)\n1652 void CUIntArray::Copy(CUIntArray const &)\n1653 void CWordArray::Copy(CWordArray const &)\n1654 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n1655 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n1656 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n1657 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n1658 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n1659 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n1660 void COleClientItem::CopyToClipboard(int)\n1661 void COleServerItem::CopyToClipboard(int)\n1662 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n1663 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1664 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n1665 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1666 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1667 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1668 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1669 int CControlFrameWnd::Create(wchar_t const *)\n1670 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n1671 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n1672 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n1673 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n1674 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1675 int CDialog::Create(wchar_t const *,CWnd *)\n1676 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n1677 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n1678 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1679 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n1680 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1681 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n1682 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1683 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1684 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n1685 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1686 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1687 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n1688 int CImageList::Create(int,int,unsigned int,int,int)\n1689 int CImageList::Create(unsigned int,int,int,unsigned long)\n1690 int CImageList::Create(CImageList *)\n1691 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n1692 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1693 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1694 int CLinkCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1695 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1696 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1697 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n1698 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n1699 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1700 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n1701 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1702 int CNetAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1703 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n1704 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n1705 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n1706 int CPagerCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1707 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n1708 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1709 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n1710 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n1711 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1712 int CReflectorWnd::Create(CRect const &,HWND__ *)\n1713 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1714 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1715 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1716 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1717 int CSplitButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1718 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n1719 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1720 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n1721 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1722 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1723 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n1724 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1725 int CToolTipCtrl::Create(CWnd *,unsigned long)\n1726 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n1727 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n1728 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n1729 void AFX_MODULE_STATE::CreateActivationContext(void)\n1730 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n1731 IBindHost * CMonikerFile::CreateBindHost(void)\n1732 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n1733 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n1734 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n1735 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n1736 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n1737 void CConnectionPoint::CreateConnectionArray(void)\n1738 COleControlContainer * COccManager::CreateContainer(CWnd *)\n1739 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1740 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1741 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n1742 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n1743 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n1744 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1745 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1746 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1747 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n1748 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n1749 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n1750 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n1751 int CWnd::CreateControlContainer(COleControlContainer * *)\n1752 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1753 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1754 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n1755 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n1756 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n1757 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n1758 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n1759 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n1760 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n1761 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n1762 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n1763 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n1764 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n1765 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n1766 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n1767 int CPictureHolder::CreateEmpty(void)\n1768 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1769 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1770 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1771 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1772 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1773 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1774 int CLinkCtrl::CreateEx(wchar_t const *,unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1775 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1776 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1777 int CNetAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1778 int CPagerCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1779 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1780 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1781 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1782 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1783 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1784 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n1785 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1786 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1787 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n1788 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1789 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n1790 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n1791 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n1792 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n1793 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n1794 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n1795 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n1796 CControlFrameWnd * COleControl::CreateFrameWindow(void)\n1797 int CPictureHolder::CreateFromBitmap(unsigned int)\n1798 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n1799 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n1800 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1801 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1802 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1803 int CPictureHolder::CreateFromIcon(unsigned int)\n1804 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n1805 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n1806 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n1807 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n1808 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n1809 int CDialog::CreateIndirect(void *,CWnd *)\n1810 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n1811 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n1812 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n1813 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n1814 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n1815 int COleInsertDialog::CreateItem(COleClientItem *)\n1816 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n1817 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1818 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1819 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1820 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n1821 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n1822 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n1823 int COleStreamFile::CreateMemoryStream(CFileException *)\n1824 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n1825 CDocument * CDocTemplate::CreateNewDocument(void)\n1826 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n1827 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1828 CObject * CByteArray::CreateObject(void)\n1829 CObject * CDC::CreateObject(void)\n1830 CObject * CDocItem::CreateObject(void)\n1831 CObject * CDockState::CreateObject(void)\n1832 CObject * CDWordArray::CreateObject(void)\n1833 CObject * CEditView::CreateObject(void)\n1834 CObject * CFrameWnd::CreateObject(void)\n1835 CObject * CGdiObject::CreateObject(void)\n1836 CObject * CHtmlEditView::CreateObject(void)\n1837 CObject * CHtmlView::CreateObject(void)\n1838 CObject * CImageList::CreateObject(void)\n1839 CObject * CListView::CreateObject(void)\n1840 CObject * CMapStringToOb::CreateObject(void)\n1841 CObject * CMapStringToString::CreateObject(void)\n1842 CObject * CMapWordToOb::CreateObject(void)\n1843 CObject * CMDIChildWnd::CreateObject(void)\n1844 CObject * CMDIFrameWnd::CreateObject(void)\n1845 CObject * CMenu::CreateObject(void)\n1846 CObject * CMiniDockFrameWnd::CreateObject(void)\n1847 CObject * CMiniFrameWnd::CreateObject(void)\n1848 CObject * CObArray::CreateObject(void)\n1849 CObject * CObList::CreateObject(void)\n1850 CObject * COleDocIPFrameWnd::CreateObject(void)\n1851 CObject * COleIPFrameWnd::CreateObject(void)\n1852 CObject * CPreviewView::CreateObject(void)\n1853 CObject * CRichEditCntrItem::CreateObject(void)\n1854 CObject * CRichEditView::CreateObject(void)\n1855 CObject * CRuntimeClass::CreateObject(void)\n1856 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n1857 CObject * CRuntimeClass::CreateObject(char const *)\n1858 CObject * CStringArray::CreateObject(void)\n1859 CObject * CStringList::CreateObject(void)\n1860 CObject * CTreeView::CreateObject(void)\n1861 CObject * CWnd::CreateObject(void)\n1862 CObject * CWordArray::CreateObject(void)\n1863 void COleControlContainer::CreateOleFont(CFont *)\n1864 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n1865 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n1866 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n1867 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n1868 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n1869 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n1870 HDC__ * CPageSetupDialog::CreatePrinterDC(void)\n1871 HDC__ * CPrintDialog::CreatePrinterDC(void)\n1872 HDC__ * CPrintDialogEx::CreatePrinterDC(void)\n1873 int CWinApp::CreatePrinterDC(CDC &)\n1874 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n1875 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n1876 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n1877 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1878 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n1879 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n1880 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n1881 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1882 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n1883 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n1884 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n1885 void COleControl::CreateTracker(int,int)\n1886 void COleControl::CreateTracker(int,int,tagRECT const *)\n1887 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n1888 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n1889 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n1890 void COleControl::CreateWindowForSubclassedControl(void)\n1891 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1892 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1893 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1894 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n1895 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n1896 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n1897 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n1898 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n1899 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n1900 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n1901 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n1902 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n1903 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n1904 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n1905 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n1906 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1907 void DDP_PostProcessing(CDataExchange *)\n1908 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n1909 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n1910 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n1911 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n1912 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n1913 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n1914 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n1915 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n1916 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n1917 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n1918 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n1919 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n1920 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1921 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1922 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n1923 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1924 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n1925 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n1926 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n1927 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n1928 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n1929 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n1930 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n1931 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n1932 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n1933 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n1934 void DDX_CBIndex(CDataExchange *,int,int &)\n1935 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1936 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1937 void DDX_Check(CDataExchange *,int,int &)\n1938 void DDX_Control(CDataExchange *,int,CWnd &)\n1939 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n1940 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n1941 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n1942 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1943 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n1944 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n1945 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n1946 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n1947 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n1948 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n1949 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n1950 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n1951 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n1952 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n1953 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n1954 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n1955 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n1956 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n1957 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1958 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n1959 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n1960 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n1961 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n1962 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n1963 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n1964 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1965 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n1966 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n1967 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n1968 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n1969 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n1970 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n1971 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1972 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1973 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n1974 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1975 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n1976 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n1977 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n1978 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1979 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n1980 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1981 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n1982 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n1983 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n1984 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n1985 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n1986 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1987 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n1988 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n1989 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n1990 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n1991 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n1992 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n1993 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n1994 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n1995 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n1996 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n1997 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n1998 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n1999 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2000 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2001 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2002 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2003 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2004 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2005 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2006 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2007 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2008 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2009 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2010 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2011 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n2012 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n2013 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n2014 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2015 void DDX_LBIndex(CDataExchange *,int,int &)\n2016 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2017 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2018 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2019 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2020 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2021 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2022 void DDX_OCBool(CDataExchange *,int,long,int &)\n2023 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2024 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2025 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2026 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2027 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2028 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2029 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2030 void DDX_OCInt(CDataExchange *,int,long,int &)\n2031 void DDX_OCInt(CDataExchange *,int,long,long &)\n2032 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2033 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2034 void DDX_OCShort(CDataExchange *,int,long,short &)\n2035 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2036 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2037 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2038 void DDX_Radio(CDataExchange *,int,int &)\n2039 void DDX_Scroll(CDataExchange *,int,int &)\n2040 void DDX_Slider(CDataExchange *,int,int &)\n2041 void DDX_Text(CDataExchange *,int,__int64 &)\n2042 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2043 void DDX_Text(CDataExchange *,int,unsigned char &)\n2044 void DDX_Text(CDataExchange *,int,short &)\n2045 void DDX_Text(CDataExchange *,int,int &)\n2046 void DDX_Text(CDataExchange *,int,unsigned int &)\n2047 void DDX_Text(CDataExchange *,int,long &)\n2048 void DDX_Text(CDataExchange *,int,unsigned long &)\n2049 void DDX_Text(CDataExchange *,int,float &)\n2050 void DDX_Text(CDataExchange *,int,double &)\n2051 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2052 void DDX_Text(CDataExchange *,int,_GUID &)\n2053 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2054 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2055 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2056 void DDX_Text(CDataExchange *,int,tagDEC &)\n2057 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2058 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2059 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2060 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n2061 void COleClientItem::Deactivate(void)\n2062 long COlePropertyPage::XPropertyPage::Deactivate(void)\n2063 int COleServerDoc::DeactivateAndUndo(void)\n2064 long COleClientItem::XOleIPSite::DeactivateAndUndo(void)\n2065 long COleControlSite::XOleIPSite::DeactivateAndUndo(void)\n2066 void COleClientItem::DeactivateUI(void)\n2067 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n2068 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n2069 long CWnd::Default(void)\n2070 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2071 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2072 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2073 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n2074 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2075 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2076 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2077 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2078 void CControlBar::DelayShow(int)\n2079 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2080 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2081 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2082 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2083 void CDaoRecordset::Delete(void)\n2084 void CException::Delete(void)\n2085 void COleClientItem::Delete(int)\n2086 void CRecordset::Delete(void)\n2087 void CWinThread::Delete(void)\n2088 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2089 void CSplitterWnd::DeleteColumn(int)\n2090 void CDocument::DeleteContents(void)\n2091 void CEditView::DeleteContents(void)\n2092 void CHtmlEditDoc::DeleteContents(void)\n2093 void COleDocument::DeleteContents(void)\n2094 void COleServerDoc::DeleteContents(void)\n2095 void CRichEditDoc::DeleteContents(void)\n2096 void CRichEditView::DeleteContents(void)\n2097 int CDC::DeleteDC(void)\n2098 void CDaoTableDef::DeleteField(int)\n2099 void CDaoTableDef::DeleteField(wchar_t const *)\n2100 int CImageList::DeleteImageList(void)\n2101 void CDaoTableDef::DeleteIndex(int)\n2102 void CDaoTableDef::DeleteIndex(wchar_t const *)\n2103 void CComboBox::DeleteItem(tagDELETEITEM*)\n2104 int CComboBoxEx::DeleteItem(int)\n2105 void CListBox::DeleteItem(tagDELETEITEM*)\n2106 int CGdiObject::DeleteObject(void)\n2107 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2108 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n2109 void CDaoDatabase::DeleteRelation(wchar_t const *)\n2110 void CSplitterWnd::DeleteRow(int)\n2111 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n2112 void CHandleMap::DeleteTemp(void)\n2113 void CDC::DeleteTempMap(void)\n2114 void CGdiObject::DeleteTempMap(void)\n2115 void CImageList::DeleteTempMap(void)\n2116 void CMenu::DeleteTempMap(void)\n2117 void CWnd::DeleteTempMap(void)\n2118 void CRichEditDoc::DeleteUnmarkedItems(void)const \n2119 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2120 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2121 void CSplitterWnd::DeleteView(int,int)\n2122 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n2123 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2124 void COleSafeArray::Destroy(void)\n2125 int COleControlSite::DestroyControl(void)\n2126 void COleSafeArray::DestroyData(void)\n2127 void COleSafeArray::DestroyDescriptor(void)\n2128 void CFrameWnd::DestroyDockBars(void)\n2129 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2130 int CMenu::DestroyMenu(void)\n2131 void CDHtmlDialog::DestroyModeless(void)\n2132 void COleControl::DestroySharedMenu(void)\n2133 void COleDocIPFrameWnd::DestroySharedMenu(void)\n2134 void COleIPFrameWnd::DestroySharedMenu(void)\n2135 int CToolTipCtrl::DestroyToolTipCtrl(void)\n2136 void COleControl::DestroyTracker(void)\n2137 int CControlBar::DestroyWindow(void)\n2138 int CMDIChildWnd::DestroyWindow(void)\n2139 int CWnd::DestroyWindow(void)\n2140 unsigned int CAsyncSocket::Detach(void)\n2141 HDC__ * CDC::Detach(void)\n2142 void * CDialogTemplate::Detach(void)\n2143 void * CGdiObject::Detach(void)\n2144 _IMAGELIST * CImageList::Detach(void)\n2145 unsigned char * CMemFile::Detach(void)\n2146 HMENU__ * CMenu::Detach(void)\n2147 int CMonikerFile::Detach(CFileException *)\n2148 IDataObject * COleDataObject::Detach(void)\n2149 tagVARIANT COleSafeArray::Detach(void)\n2150 IStream * COleStreamFile::Detach(void)\n2151 tagVARIANT COleVariant::Detach(void)\n2152 void * CSharedFile::Detach(void)\n2153 HDC__ * CWindowlessDC::Detach(void)\n2154 HWND__ * CWnd::Detach(void)\n2155 IDispatch * COleDispatchDriver::DetachDispatch(void)\n2156 void CAsyncSocket::DetachHandle(unsigned int,int)\n2157 void COleControlSite::DetachWindow(void)\n2158 void CWinApp::DevModeChange(wchar_t *)\n2159 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n2160 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n2161 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n2162 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n2163 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n2164 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n2165 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n2166 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n2167 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n2168 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n2169 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n2170 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2171 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2172 int COleServerDoc::DiscardUndoState(void)\n2173 long COleClientItem::XOleIPSite::DiscardUndoState(void)\n2174 long COleControlSite::XOleIPSite::DiscardUndoState(void)\n2175 void COleDispatchImpl::Disconnect(void)\n2176 void CDHtmlDialog::DisconnectDHtmlElementEvents(void)\n2177 void CDHtmlDialog::DisconnectDHtmlEvents(void)\n2178 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2179 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2180 void CDocument::DisconnectViews(void)\n2181 void CWinThread::DispatchThreadMessage(tagMSG *)\n2182 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2183 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n2184 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2185 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2186 void CAsyncSocket::DoCallBack(unsigned int,long)\n2187 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2188 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2189 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2190 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2191 void COleControl::DoClick(void)\n2192 int COleFrameHook::DoContextSensitiveHelp(int)\n2193 int COleConvertDialog::DoConvert(COleClientItem *)\n2194 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2195 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2196 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2197 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2198 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2199 int COleFrameHook::DoEnableModeless(int)\n2200 void CWinApp::DoEnableModeless(int)\n2201 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2202 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2203 void CRecordset::DoFieldExchange(CFieldExchange *)\n2204 int CDocument::DoFileSave(void)\n2205 int CSplitterWnd::DoKeyboardSplit(void)\n2206 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2207 int CColorDialog::DoModal(void)\n2208 int CDialog::DoModal(void)\n2209 int CFileDialog::DoModal(void)\n2210 int CFontDialog::DoModal(void)\n2211 int COleBusyDialog::DoModal(void)\n2212 int COleChangeIconDialog::DoModal(void)\n2213 int COleChangeSourceDialog::DoModal(void)\n2214 int COleConvertDialog::DoModal(void)\n2215 int COleInsertDialog::DoModal(unsigned long)\n2216 int COleInsertDialog::DoModal(void)\n2217 int COleLinksDialog::DoModal(void)\n2218 int COlePasteSpecialDialog::DoModal(void)\n2219 int COlePropertiesDialog::DoModal(void)\n2220 int COleUpdateDialog::DoModal(void)\n2221 int CPageSetupDialog::DoModal(void)\n2222 int CPrintDialog::DoModal(void)\n2223 int CPrintDialogEx::DoModal(void)\n2224 int CPropertySheet::DoModal(void)\n2225 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2226 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2227 void CControlBar::DoPaint(CDC *)\n2228 void CDockBar::DoPaint(CDC *)\n2229 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2230 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2231 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2232 int CView::DoPreparePrinting(CPrintInfo *)\n2233 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2234 int CWinApp::DoPrintDialog(CPrintDialog *)\n2235 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2236 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2237 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2238 void COleControl::DoPropExchange(CPropExchange *)\n2239 int CDocument::DoSave(wchar_t const *,int)\n2240 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2241 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2242 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2243 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2244 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2245 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2246 long COleControlSite::DoVerb(long,tagMSG *)\n2247 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2248 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2249 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2250 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2251 void CWinApp::DoWaitCursor(int)\n2252 void CPreviewView::DoZoom(unsigned int,CPoint)\n2253 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2254 void CDC::DPtoLP(tagSIZE *)const \n2255 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2256 unsigned int CDragListBox::Dragging(CPoint)\n2257 long COleDropTarget::XDropTarget::DragLeave(void)\n2258 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2259 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2260 void CRectTracker::Draw(CDC *)const \n2261 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2262 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2263 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2264 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2265 void CControlBar::DrawBorders(CDC *,CRect &)\n2266 void COleControl::DrawContent(CDC *,CRect &)\n2267 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2268 void CDockContext::DrawFocusRect(int)\n2269 void CControlBar::DrawGripper(CDC *,CRect const &)\n2270 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2271 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2272 void CDragListBox::DrawInsert(int)\n2273 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2274 void CButton::DrawItem(tagDRAWITEM*)\n2275 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2276 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2277 void CComboBox::DrawItem(tagDRAWITEM*)\n2278 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2279 void CListBox::DrawItem(tagDRAWITEM*)\n2280 void CListCtrl::DrawItem(tagDRAWITEM*)\n2281 void CListView::DrawItem(tagDRAWITEM*)\n2282 void CMenu::DrawItem(tagDRAWITEM*)\n2283 void CStatic::DrawItem(tagDRAWITEM*)\n2284 void CStatusBar::DrawItem(tagDRAWITEM*)\n2285 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2286 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2287 void COleControl::DrawMetafile(CDC *,CRect &)\n2288 void CControlBar::DrawNCGripper(CDC *,CRect const &)\n2289 int CControlBar::DrawNonThemedGripper(CDC *,CRect const &)\n2290 void CDragListBox::DrawSingle(int)\n2291 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2292 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2293 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2294 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2295 long CThemeHelper::DrawThemeBackground(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2296 long CThemeHelper::DrawThemeBackgroundFail(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2297 int CControlBar::DrawThemedGripper(CDC *,CRect const &,int)\n2298 long CThemeHelper::DrawThemeParentBackground(HWND__ *,HDC__ *,tagRECT *)\n2299 long CThemeHelper::DrawThemeParentBackgroundFail(HWND__ *,HDC__ *,tagRECT *)\n2300 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2301 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2302 void CDragListBox::Dropped(int,CPoint)\n2303 CDumpContext & CDumpContext::DumpAsHex(__int64)\n2304 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n2305 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n2306 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n2307 CDumpContext & CDumpContext::DumpAsHex(int)\n2308 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n2309 CDumpContext & CDumpContext::DumpAsHex(long)\n2310 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n2311 long COleControl::XDataObject::DUnadvise(unsigned long)\n2312 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n2313 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n2314 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n2315 CFile * CFile::Duplicate(void)const \n2316 CFile * CInternetFile::Duplicate(void)const \n2317 CFile * CMemFile::Duplicate(void)const \n2318 CFile * COleStreamFile::Duplicate(void)const \n2319 CFile * CSocketFile::Duplicate(void)const \n2320 CFile * CStdioFile::Duplicate(void)const \n2321 unsigned long const CEditView::dwStyleDefault\n2322 void CDaoRecordset::Edit(void)\n2323 void CRecordset::Edit(void)\n2324 long COlePropertyPage::XPropertyPage::EditProperty(long)\n2325 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n2326 void ATL::CSimpleStringT<wchar_t,1>::Empty(void)\n2327 void ATL::CSimpleStringT<char,1>::Empty(void)\n2328 void CDBException::Empty(void)\n2329 void COleDataSource::Empty(void)\n2330 void CCheckListBox::Enable(int,int)\n2331 void CCmdUI::Enable(int)\n2332 void COleCmdUI::Enable(int)\n2333 void CStatusCmdUI::Enable(int)\n2334 void CTestCmdUI::Enable(int)\n2335 void CToolCmdUI::Enable(int)\n2336 void CCmdTarget::EnableAggregation(void)\n2337 void CCmdTarget::EnableAutomation(void)\n2338 void CRecordset::EnableBookmarks(void)\n2339 void CCmdTarget::EnableConnections(void)\n2340 void CControlBar::EnableDocking(unsigned long)\n2341 void CFrameWnd::EnableDocking(unsigned long)\n2342 void COleControlSite::EnableDSC(void)\n2343 long CBrowserControlSite::EnableModeless(int)\n2344 long CDHtmlDialog::EnableModeless(int)\n2345 void CWinApp::EnableModeless(int)\n2346 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n2347 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n2348 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n2349 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n2350 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n2351 void CWnd::EnableScrollBarCtrl(int,int)\n2352 void CWinApp::EnableShellOpen(void)\n2353 void COleControl::EnableSimpleFrame(void)\n2354 void CPropertySheet::EnableStackedTabs(int)\n2355 int CInternetSession::EnableStatusCallback(int)\n2356 int CWnd::EnableToolTips(int)\n2357 int CWnd::EnableTrackingToolTips(int)\n2358 void CCmdTarget::EnableTypeLib(void)\n2359 int COleControlSite::EnableWindow(int)\n2360 int CWnd::EnableWindow(int)\n2361 void COleMessageFilter::EndBusyState(void)\n2362 void CAsyncMonikerFile::EndCallbacks(void)\n2363 long COleLinkingDoc::EndDeferErrors(long)\n2364 void CDialog::EndDialog(int)\n2365 void CPropertyPage::EndDialog(int)\n2366 void CPropertySheet::EndDialog(int)\n2367 void CDockContext::EndDrag(void)\n2368 void CWnd::EndModalLoop(int)\n2369 void CFrameWnd::EndModalState(void)\n2370 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n2371 void CDockContext::EndResize(void)\n2372 void CCmdTarget::EndWaitCursor(void)\n2373 void COleDataObject::EnsureClipboardObject(void)\n2374 void CArchive::EnsureSchemaMapExists(CArray<enum CArchive::LoadArrayObjType,enum CArchive::LoadArrayObjType const &> * *)\n2375 long CWnd::EnsureStdObj(void)\n2376 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2377 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2378 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2379 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n2380 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n2381 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n2382 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n2383 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n2384 int COlePropertyPage::EnumControls(HWND__ *,long)\n2385 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2386 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2387 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2388 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n2389 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2390 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2391 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2392 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n2393 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2394 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n2395 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n2396 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2397 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2398 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2399 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n2400 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n2401 void CControlBar::EraseNonClient(void)\n2402 int CFileException::ErrnoToException(int)\n2403 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n2404 int CMetaFileDC::Escape(int,int,char const *,void *)\n2405 int CPreviewDC::Escape(int,int,char const *,void *)\n2406 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2407 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2408 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2409 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2410 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n2411 int COleControl::ExchangeExtent(CPropExchange *)\n2412 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2413 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2414 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2415 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2416 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n2417 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2418 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2419 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2420 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2421 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n2422 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2423 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2424 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2425 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2426 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n2427 void COleControl::ExchangeStockProps(CPropExchange *)\n2428 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2429 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n2430 int CDC::ExcludeClipRect(int,int,int,int)\n2431 int CDC::ExcludeClipRect(tagRECT const *)\n2432 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2433 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n2434 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n2435 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n2436 int CHtmlEditView::ExecHandler(unsigned int)\n2437 void CDaoDatabase::Execute(wchar_t const *,int)\n2438 void CDaoQueryDef::Execute(int)\n2439 int CWnd::ExecuteDlgInit(void *)\n2440 int CWnd::ExecuteDlgInit(wchar_t const *)\n2441 void CRecordset::ExecuteSetPosUpdate(void)\n2442 void CDatabase::ExecuteSQL(wchar_t const *)\n2443 void CRecordset::ExecuteUpdateSQL(void)\n2444 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n2445 void CFrameWnd::ExitHelpMode(void)\n2446 int COleControlModule::ExitInstance(void)\n2447 int CWinApp::ExitInstance(void)\n2448 int CWinThread::ExitInstance(void)\n2449 unsigned long CCmdTarget::ExternalAddRef(void)\n2450 void CCmdTarget::ExternalDisconnect(void)\n2451 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n2452 unsigned long CCmdTarget::ExternalRelease(void)\n2453 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2454 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n2455 void CDataExchange::Fail(void)\n2456 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2457 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n2458 void CArchive::FillBuffer(unsigned int)\n2459 void CDaoRecordset::FillCache(long *,COleVariant *)\n2460 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n2461 void CDaoException::FillErrorInfo(void)\n2462 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n2463 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n2464 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n2465 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n2466 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n2467 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n2468 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n2469 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n2470 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n2471 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n2472 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n2473 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n2474 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n2475 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n2476 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n2477 void CWnd::FilterToolTipMessage(tagMSG *)\n2478 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n2479 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n2480 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n2481 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n2482 int CDaoRecordset::Find(long,wchar_t const *)\n2483 __POSITION * CObList::Find(CObject *,__POSITION *)const \n2484 __POSITION * CPtrList::Find(void *,__POSITION *)const \n2485 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n2486 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n2487 int CDockBar::FindBar(CControlBar *,int)\n2488 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n2489 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n2490 int CFileFind::FindFile(wchar_t const *,unsigned long)\n2491 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n2492 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n2493 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n2494 int CDaoRecordset::FindFirst(wchar_t const *)\n2495 __POSITION * CObList::FindIndex(int)const \n2496 __POSITION * CPtrList::FindIndex(int)const \n2497 __POSITION * CStringList::FindIndex(int)const \n2498 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n2499 int CDaoRecordset::FindLast(wchar_t const *)\n2500 int CDaoRecordset::FindNext(wchar_t const *)\n2501 int CFileFind::FindNextFileW(void)\n2502 int CFtpFileFind::FindNextFileW(void)\n2503 int CGopherFileFind::FindNextFileW(void)\n2504 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n2505 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n2506 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n2507 int CDaoRecordset::FindPrev(wchar_t const *)\n2508 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n2509 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n2510 __POSITION * CWnd::FindSiteOrWndWithFocus(void)const \n2511 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n2512 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n2513 int CEditView::FindTextW(wchar_t const *,int,int)\n2514 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n2515 int COleClientItem::FinishCreate(long)\n2516 void COleControl::FireError(long,wchar_t const *,unsigned int)\n2517 void COleControl::FireEvent(long,unsigned char *,...)\n2518 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n2519 void COleControl::FireEventV(long,unsigned char *,char *)\n2520 void CDaoRecordset::Fixup(void)\n2521 void CRecordset::Fixups(void)\n2522 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n2523 void CArchive::Flush(void)\n2524 void CDumpContext::Flush(void)\n2525 void CFile::Flush(void)\n2526 void CInternetFile::Flush(void)\n2527 void CMemFile::Flush(void)\n2528 void CMonikerFile::Flush(void)\n2529 void COleStreamFile::Flush(void)\n2530 void CSocketFile::Flush(void)\n2531 void CStdioFile::Flush(void)\n2532 void COleDataSource::FlushClipboard(void)\n2533 int CRecordset::FlushResultSet(void)\n2534 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n2535 void ATL::CSimpleStringT<char,1>::Fork(int)\n2536 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n2537 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n2538 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n2539 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n2540 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n2541 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(unsigned int,...)\n2542 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(wchar_t const *,...)\n2543 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n2544 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n2545 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n2546 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n2547 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n2548 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n2549 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n2550 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n2551 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n2552 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n2553 void COleControl::ForwardActivationMsg(tagMSG *)\n2554 void CAfxStringMgr::Free(ATL::CStringData *)\n2555 void CDatabase::Free(void)\n2556 void CFixedAlloc::Free(void *)\n2557 void CFixedAllocNoSync::Free(void *)\n2558 void CMemFile::Free(unsigned char *)\n2559 void CSharedFile::Free(unsigned char *)\n2560 void CFixedAlloc::FreeAll(void)\n2561 void CFixedAllocNoSync::FreeAll(void)\n2562 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n2563 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n2564 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n2565 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n2566 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n2567 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n2568 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n2569 void CDaoRecordset::FreeCache(void)\n2570 void CRecordset::FreeDataCache(void)\n2571 void CPlex::FreeDataChain(void)\n2572 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra(void)\n2573 void ATL::CSimpleStringT<char,1>::FreeExtra(void)\n2574 void CByteArray::FreeExtra(void)\n2575 void CDWordArray::FreeExtra(void)\n2576 void CObArray::FreeExtra(void)\n2577 void CPtrArray::FreeExtra(void)\n2578 void CStringArray::FreeExtra(void)\n2579 void CUIntArray::FreeExtra(void)\n2580 void CWordArray::FreeExtra(void)\n2581 void CObList::FreeNode(CObList::CNode *)\n2582 void CPtrList::FreeNode(CPtrList::CNode *)\n2583 void CStringList::FreeNode(CStringList::CNode *)\n2584 void CRecordset::FreeRowset(void)\n2585 void CThreadSlotData::FreeSlot(int)\n2586 void CProperty::FreeValue(void)\n2587 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n2588 void COleControlContainer::FreezeAllEvents(int)\n2589 void COleControlSite::FreezeEvents(int)\n2590 long COleControl::XOleControl::FreezeEvents(int)\n2591 int COleClientItem::FreezeLink(void)\n2592 CDC * CDC::FromHandle(HDC__ *)\n2593 CGdiObject * CGdiObject::FromHandle(void *)\n2594 CObject * CHandleMap::FromHandle(void *)\n2595 CImageList * CImageList::FromHandle(_IMAGELIST *)\n2596 CMenu * CMenu::FromHandle(HMENU__ *)\n2597 CWnd * CWnd::FromHandle(HWND__ *)\n2598 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n2599 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n2600 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n2601 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n2602 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n2603 CRuntime* CRuntimeClass::FromName(char const *)\n2604 void * CProperty::Get(unsigned long *)\n2605 void * CProperty::Get(void)\n2606 void * CPropertySection::Get(unsigned long)\n2607 void * CPropertySection::Get(unsigned long,unsigned long *)\n2608 void * CPropertySet::Get(_GUID,unsigned long)\n2609 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n2610 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n2611 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n2612 long CWnd::get_accChildCount(long *)\n2613 long CWnd::XAccessible::get_accChildCount(long *)\n2614 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2615 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2616 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n2617 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n2618 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n2619 long CWnd::get_accFocus(tagVARIANT *)\n2620 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n2621 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n2622 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n2623 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2624 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n2625 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2626 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n2627 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n2628 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n2629 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n2630 long CWnd::get_accParent(IDispatch * *)\n2631 long CWnd::XAccessible::get_accParent(IDispatch * *)\n2632 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n2633 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n2634 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n2635 long CWnd::get_accSelection(tagVARIANT *)\n2636 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n2637 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n2638 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n2639 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n2640 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n2641 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n2642 long CDaoRecordset::GetAbsolutePosition(void)\n2643 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n2644 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n2645 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n2646 long CWnd::GetAccessibleChildCount(void)\n2647 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n2648 unsigned long COleControl::GetActivationPolicy(void)\n2649 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n2650 CDocument * CFrameWnd::GetActiveDocument(void)\n2651 CFrameWnd * CFrameWnd::GetActiveFrame(void)\n2652 CFrameWnd * CMDIFrameWnd::GetActiveFrame(void)\n2653 int CPropertySheet::GetActiveIndex(void)const \n2654 CPropertyPage * CPropertySheet::GetActivePage(void)const \n2655 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n2656 CView * CFrameWnd::GetActiveView(void)const \n2657 IOleDocumentView * COleDocObjectItem::GetActiveView(void)const \n2658 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)const \n2659 int CHtmlView::GetAddressBar(void)const \n2660 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n2661 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength(void)const \n2662 int ATL::CSimpleStringT<char,1>::GetAllocLength(void)const \n2663 COleDispatchDriver * COleControl::GetAmbientDispatchDriver(void)\n2664 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n2665 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n2666 short COleControl::GetAppearance(void)\n2667 IDispatch * CHtmlView::GetApplication(void)const \n2668 HKEY__ * CWinApp::GetAppRegistryKey(void)\n2669 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2670 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n2671 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2672 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2673 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n2674 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2675 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n2676 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n2677 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n2678 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2679 long CDaoTableDef::GetAttributes(void)\n2680 unsigned long COleControl::GetBackColor(void)\n2681 void CControlBar::GetBarInfo(CControlBarInfo *)\n2682 void CDockBar::GetBarInfo(CControlBarInfo *)\n2683 unsigned long CAsyncMonikerFile::GetBindInfo(void)const \n2684 void * CBlobProperty::GetBlob(void)\n2685 COleVariant CDaoRecordset::GetBookmark(void)\n2686 void CRecordset::GetBookmark(CDBVariant &)\n2687 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n2688 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n2689 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n2690 short COleControl::GetBorderStyle(void)\n2691 long CDataSourceControl::GetBoundClientRow(void)\n2692 int CRecordset::GetBoundFieldIndex(void *)\n2693 int CRecordset::GetBoundParamIndex(void *)\n2694 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n2695 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(void)\n2696 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n2697 char * ATL::CSimpleStringT<char,1>::GetBuffer(void)\n2698 unsigned int CEditView::GetBufferLength(void)const \n2699 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2700 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2701 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n2702 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n2703 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n2704 int CHtmlView::GetBusy(void)const \n2705 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n2706 unsigned int CToolBar::GetButtonStyle(int)const \n2707 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n2708 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2709 void COleSafeArray::GetByteArray(CByteArray &)\n2710 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n2711 unsigned short CPropertySet::GetByteOrder(void)\n2712 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n2713 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n2714 long CDaoRecordset::GetCacheSize(void)\n2715 COleVariant CDaoRecordset::GetCacheStart(void)\n2716 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n2717 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2718 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2719 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2720 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n2721 CWnd * COleControl::GetCapture(void)\n2722 long COleControlSite::XOleIPSite::GetCapture(void)\n2723 void CFontDialog::GetCharFormat(_charformatw &)const \n2724 CHARFORMAT2W & CRichEditView::GetCharFormatSelection(void)\n2725 int CCheckListBox::GetCheck(int)\n2726 int CListCtrl::GetCheck(int)const \n2727 int CTreeCtrl::GetCheck(_TREEITEM *)const \n2728 int CWnd::GetCheckedRadioButton(int,int)const \n2729 long CBlobProperty::GetClassID(_GUID *)\n2730 void COleClientItem::GetClassID(_GUID *)const \n2731 _GUID CPropertySet::GetClassID(void)\n2732 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n2733 long COleControl::XPersistMemory::GetClassID(_GUID *)\n2734 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n2735 long COleControl::XPersistStorage::GetClassID(_GUID *)\n2736 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n2737 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n2738 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n2739 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n2740 void COleControl::GetClientOffset(long *,long *)const \n2741 void COleControl::GetClientRect(tagRECT *)const \n2742 IOleClientSite * COleClientItem::GetClientSite(void)\n2743 IOleClientSite * COleControl::GetClientSite(void)\n2744 IOleClientSite * CRichEditCntrItem::GetClientSite(void)\n2745 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n2746 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n2747 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n2748 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n2749 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2750 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n2751 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n2752 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2753 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2754 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2755 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n2756 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n2757 COleDataSource * COleDataSource::GetClipboardOwner(void)\n2758 int CDC::GetClipBox(tagRECT *)const \n2759 int CMetaFileDC::GetClipBox(tagRECT *)const \n2760 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n2761 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n2762 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n2763 int CListCtrl::GetColumnOrderArray(int *,int)const \n2764 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap(void)const \n2765 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap(void)const \n2766 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect(void)\n2767 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect(void)\n2768 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect(void)\n2769 void CDatabase::GetConnectInfo(void)\n2770 int CConnectionPoint::GetConnectionCount(void)\n2771 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n2772 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n2773 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n2774 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap(void)const \n2775 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap(void)const \n2776 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n2777 CPtrArray const * CConnectionPoint::GetConnections(void)\n2778 IConnectionPointContainer * CConnectionPoint::GetContainer(void)\n2779 IDispatch * CHtmlView::GetContainer(void)const \n2780 IOleItemContainer * COleDocument::GetContainer(void)\n2781 IOleItemContainer * COleLinkingDoc::GetContainer(void)\n2782 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n2783 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n2784 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n2785 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n2786 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n2787 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n2788 COleControlContainer * CWnd::GetControlContainer(void)\n2789 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n2790 unsigned long COleControl::GetControlFlags(void)\n2791 void COleControlSite::GetControlInfo(void)\n2792 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n2793 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame(void)const \n2794 IUnknown * CCmdTarget::GetControllingUnknown(void)\n2795 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n2796 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n2797 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n2798 void COleControl::GetControlSize(int *,int *)\n2799 int COlePropertyPage::GetControlStatus(unsigned int)\n2800 IUnknown * CWnd::GetControlUnknown(void)\n2801 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n2802 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2803 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n2804 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n2805 int CPrintDialog::GetCopies(void)const \n2806 int CPrintDialogEx::GetCopies(void)const \n2807 unsigned long CPropertySection::GetCount(void)\n2808 unsigned long CPropertySet::GetCount(void)\n2809 int CFileFind::GetCreationTime(ATL::CTime &)const \n2810 int CFileFind::GetCreationTime(_FILETIME *)const \n2811 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n2812 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n2813 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n2814 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2815 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n2816 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2817 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n2818 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n2819 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex(void)\n2820 tagMSG const * CWnd::GetCurrentMessage(void)\n2821 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2822 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n2823 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n2824 IUnknown * CDataBoundProperty::GetCursor(void)\n2825 IUnknown * CDataSourceControl::GetCursor(void)\n2826 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n2827 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n2828 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData(void)const \n2829 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData(void)const \n2830 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n2831 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n2832 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n2833 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n2834 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2835 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2836 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2837 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n2838 void CDaoRecordset::GetDataAndFixupNulls(void)\n2839 short CDaoWorkspace::GetDatabaseCount(void)\n2840 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n2841 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n2842 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName(void)const \n2843 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n2844 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2845 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2846 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2847 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n2848 CNoTrackObject * CThreadLocalObject::GetDataNA(void)\n2849 IDataObject * COleServerItem::GetDataObject(void)\n2850 COleControl::CControlDataSource * COleControl::GetDataSource(void)\n2851 ATL::COleDateTime CDaoQueryDef::GetDateCreated(void)\n2852 ATL::COleDateTime CDaoRecordset::GetDateCreated(void)\n2853 ATL::COleDateTime CDaoTableDef::GetDateCreated(void)\n2854 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated(void)\n2855 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated(void)\n2856 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated(void)\n2857 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n2858 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n2859 HACCEL__ * CDocument::GetDefaultAccelerator(void)\n2860 HACCEL__ * CFrameWnd::GetDefaultAccelerator(void)\n2861 HACCEL__ * COleServerDoc::GetDefaultAccelerator(void)\n2862 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n2863 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n2864 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect(void)\n2865 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName(void)\n2866 short CRecordset::GetDefaultFieldType(short)\n2867 HMENU__ * CDocument::GetDefaultMenu(void)\n2868 HMENU__ * COleServerDoc::GetDefaultMenu(void)\n2869 int CPrintDialog::GetDefaults(void)\n2870 int CPrintDialogEx::GetDefaults(void)\n2871 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL(void)\n2872 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL(void)\n2873 unsigned long COccManager::GetDefBtnCode(CWnd *)\n2874 unsigned long COleControlSite::GetDefBtnCode(void)\n2875 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n2876 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName(void)const \n2877 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName(void)const \n2878 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName(void)const \n2879 CPoint CScrollView::GetDeviceScrollPosition(void)const \n2880 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n2881 _devicemodeW * CPageSetupDialog::GetDevMode(void)const \n2882 _devicemodeW * CPrintDialog::GetDevMode(void)const \n2883 _devicemodeW * CPrintDialogEx::GetDevMode(void)const \n2884 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n2885 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n2886 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n2887 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n2888 DHtmlEventMapEntry const * GetDHtmlEventMap(void)\n2889 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap(void)\n2890 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap(void)\n2891 int CCmdTarget::GetDispatchIID(_GUID *)\n2892 int COleControl::GetDispatchIID(_GUID *)\n2893 AFX_DISPMAP const * CCmdTarget::GetDispatchMap(void)const \n2894 AFX_DISPMAP const * COleControlContainer::GetDispatchMap(void)const \n2895 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n2896 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n2897 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2898 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2899 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n2900 int COleControlSite::GetDlgCtrlID(void)const \n2901 int CWnd::GetDlgCtrlID(void)const \n2902 CWnd * COleControlContainer::GetDlgItem(int)const \n2903 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n2904 CWnd * CWnd::GetDlgItem(int)const \n2905 void CWnd::GetDlgItem(int,HWND__ * *)const \n2906 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n2907 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n2908 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n2909 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n2910 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n2911 CDockBar * CDockContext::GetDockBar(unsigned long)\n2912 CControlBar * CDockBar::GetDockedControlBar(int)const \n2913 int CDockBar::GetDockedCount(void)const \n2914 int CDockBar::GetDockedVisibleCount(void)const \n2915 CFrameWnd * CControlBar::GetDockingFrame(void)const \n2916 void CFrameWnd::GetDockState(CDockState &)const \n2917 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n2918 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n2919 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n2920 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n2921 int CDocManager::GetDocumentCount(void)\n2922 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n2923 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName(void)const \n2924 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName(void)const \n2925 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName(void)const \n2926 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n2927 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n2928 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n2929 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n2930 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n2931 IUnknown * CWnd::GetDSCCursor(void)\n2932 short CDaoRecordset::GetEditMode(void)\n2933 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n2934 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n2935 void COleSafeArray::GetElement(long *,void *)\n2936 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n2937 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n2938 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n2939 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n2940 COleServerItem * COleServerDoc::GetEmbeddedItem(void)\n2941 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n2942 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n2943 int COleControl::GetEnabled(void)\n2944 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n2945 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n2946 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n2947 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n2948 short CDaoException::GetErrorCount(void)\n2949 void CDaoException::GetErrorInfo(int)\n2950 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2951 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2952 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2953 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n2954 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2955 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2956 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2957 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2958 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2959 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n2960 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n2961 int COleControlSite::GetEventIID(_GUID *)\n2962 AFX_EVENTMAP const * COleControl::GetEventMap(void)const \n2963 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n2964 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n2965 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n2966 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap(void)const \n2967 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap(void)const \n2968 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap(void)const \n2969 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap(void)const \n2970 unsigned long COleControlSite::GetExStyle(void)const \n2971 unsigned long CWnd::GetExStyle(void)const \n2972 IDispatch * COleControl::GetExtendedControl(void)\n2973 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n2974 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n2975 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2976 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2977 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2978 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n2979 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n2980 long CBrowserControlSite::GetExternal(IDispatch * *)\n2981 long CDHtmlDialog::GetExternal(IDispatch * *)\n2982 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n2983 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n2984 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n2985 short CDaoQueryDef::GetFieldCount(void)\n2986 short CDaoRecordset::GetFieldCount(void)\n2987 short CDaoTableDef::GetFieldCount(void)\n2988 int CDaoRecordset::GetFieldIndex(void *)\n2989 short CRecordset::GetFieldIndexByName(wchar_t const *)\n2990 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2991 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n2992 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2993 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n2994 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n2995 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n2996 unsigned long CDaoRecordset::GetFieldLength(int)\n2997 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n2998 unsigned char CRecordset::GetFieldStatus(unsigned long)\n2999 COleVariant CDaoRecordset::GetFieldValue(int)\n3000 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n3001 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n3002 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n3003 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3004 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3005 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n3006 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3007 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n3008 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n3009 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n3010 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n3011 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n3012 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt(void)const \n3013 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName(void)const \n3014 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName(void)const \n3015 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName(void)const \n3016 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName(void)const \n3017 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath(void)const \n3018 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath(void)const \n3019 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath(void)const \n3020 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle(void)const \n3021 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle(void)const \n3022 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle(void)const \n3023 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle(void)const \n3024 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3025 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL(void)const \n3026 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL(void)const \n3027 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL(void)const \n3028 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL(void)const \n3029 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n3030 __POSITION * CMultiDocTemplate::GetFirstDocPosition(void)const \n3031 __POSITION * CSingleDocTemplate::GetFirstDocPosition(void)const \n3032 __POSITION * CDocManager::GetFirstDocTemplatePosition(void)const \n3033 __POSITION * CWinApp::GetFirstDocTemplatePosition(void)const \n3034 CFrameWnd * COleDocument::GetFirstFrame(void)\n3035 __POSITION * CDocument::GetFirstViewPosition(void)const \n3036 CWnd * COleControl::GetFocus(void)\n3037 long COleControlSite::XOleIPSite::GetFocus(void)\n3038 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath(void)const \n3039 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n3040 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n3041 IFontDisp * COleControl::GetFont(void)\n3042 IFontDisp * CFontHolder::GetFontDispatch(void)\n3043 HFONT__ * CFontHolder::GetFontHandle(long,long)\n3044 HFONT__ * CFontHolder::GetFontHandle(void)\n3045 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n3046 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n3047 unsigned long COleControl::GetForeColor(void)\n3048 _GUID CPropertySection::GetFormatID(void)\n3049 unsigned short CPropertySet::GetFormatVersion(void)\n3050 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n3051 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName(void)const \n3052 int CHtmlView::GetFullScreen(void)const \n3053 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n3054 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n3055 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n3056 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n3057 CBrush * CDC::GetHalftoneBrush(void)\n3058 unsigned int CRectTracker::GetHandleMask(void)const \n3059 void CRectTracker::GetHandleRect(int,CRect *)const \n3060 int CRectTracker::GetHandleSize(tagRECT const *)const \n3061 CHeaderCtrl * CListCtrl::GetHeaderCtrl(void)const \n3062 long CHtmlView::GetHeight(void)const \n3063 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n3064 void CSplitterWnd::GetHitRect(int,CRect &)\n3065 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n3066 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n3067 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n3068 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n3069 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName(void)const \n3070 IDispatch * CHtmlView::GetHtmlDocument(void)const \n3071 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n3072 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n3073 unsigned int COleControl::GetHwnd(void)\n3074 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n3075 HICON__ * COleClientItem::GetIconFromRegistry(void)const \n3076 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n3077 void * COleClientItem::GetIconicMetafile(void)\n3078 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n3079 unsigned long CProperty::GetID(void)\n3080 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n3081 IDataObject * COleDataObject::GetIDataObject(int)\n3082 IDispatch * CCmdTarget::GetIDispatch(int)\n3083 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3084 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3085 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3086 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3087 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3088 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3089 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n3090 IFileDialogCustomize * CFileDialog::GetIFileDialogCustomize(void)\n3091 IFileOpenDialog * CFileDialog::GetIFileOpenDialog(void)\n3092 IFileSaveDialog * CFileDialog::GetIFileSaveDialog(void)\n3093 _GUID const & COleControl::XEventConnPt::GetIID(void)\n3094 CImageList * CReBarCtrl::GetImageList(void)const \n3095 short CDaoRecordset::GetIndexCount(void)\n3096 short CDaoTableDef::GetIndexCount(void)\n3097 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3098 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n3099 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n3100 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n3101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath(void)\n3102 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n3103 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n3104 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem(void)const \n3105 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n3106 HMENU__ * COleIPFrameWnd::GetInPlaceMenu(void)\n3107 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n3108 CWnd * COleClientItem::GetInPlaceWindow(void)\n3109 void CSplitterWnd::GetInsideRect(CRect &)const \n3110 IUnknown * CCmdTarget::GetInterface(void const *)\n3111 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n3112 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n3113 IUnknown * COleControl::GetInterfaceHook(void const *)\n3114 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n3115 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap(void)const \n3116 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap(void)const \n3117 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap(void)const \n3118 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap(void)const \n3119 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap(void)const \n3120 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap(void)const \n3121 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap(void)const \n3122 AFX_INTERFACEMAP const * CFileDialog::GetInterfaceMap(void)const \n3123 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap(void)const \n3124 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap(void)const \n3125 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap(void)const \n3126 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap(void)const \n3127 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap(void)const \n3128 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap(void)const \n3129 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap(void)const \n3130 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap(void)const \n3131 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap(void)const \n3132 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap(void)const \n3133 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap(void)const \n3134 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap(void)const \n3135 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap(void)const \n3136 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap(void)const \n3137 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap(void)const \n3138 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap(void)const \n3139 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap(void)const \n3140 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap(void)const \n3141 IRichEditOle * CRichEditCtrl::GetIRichEditOle(void)const \n3142 int CDaoWorkspace::GetIsolateODBCTrans(void)\n3143 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n3144 void COleServerDoc::GetItemClipRect(tagRECT *)const \n3145 unsigned long CListCtrl::GetItemData(int)const \n3146 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n3147 int CTreeCtrl::GetItemExpandedImageIndex(_TREEITEM *)const \n3148 unsigned int CStatusBar::GetItemID(int)const \n3149 unsigned int CToolBar::GetItemID(int)const \n3150 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n3151 void COleClientItem::GetItemName(wchar_t *)const \n3152 void COleClientItem::GetItemName(wchar_t *,unsigned int)const \n3153 int CTreeCtrl::GetItemPartRect(_TREEITEM *,enum _TVITEMPART,tagRECT *)\n3154 void COleServerDoc::GetItemPosition(tagRECT *)const \n3155 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n3156 void CStatusBar::GetItemRect(int,tagRECT *)const \n3157 void CToolBar::GetItemRect(int,tagRECT *)const \n3158 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n3159 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n3160 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n3161 unsigned int CTreeCtrl::GetItemStateEx(_TREEITEM *)const \n3162 void COleClientItem::GetItemStorage(void)\n3163 void COleClientItem::GetItemStorageCompound(void)\n3164 void COleClientItem::GetItemStorageFlat(void)\n3165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n3166 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n3167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n3168 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n3169 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n3170 int CFileFind::GetLastAccessTime(_FILETIME *)const \n3171 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n3172 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n3173 COleVariant CDaoRecordset::GetLastModifiedBookmark(void)\n3174 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n3175 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n3176 int CFileFind::GetLastWriteTime(_FILETIME *)const \n3177 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n3178 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n3179 unsigned long CDC::GetLayout(void)const \n3180 long CRecordset::GetLBFetchSize(long)\n3181 void COleSafeArray::GetLBound(unsigned long,long *)\n3182 long CRecordset::GetLBReallocSize(long)\n3183 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3184 long CHtmlView::GetLeft(void)const \n3185 int ATL::CSimpleStringT<wchar_t,1>::GetLength(void)const \n3186 int ATL::CSimpleStringT<char,1>::GetLength(void)const \n3187 unsigned __int64 CFile::GetLength(void)const \n3188 unsigned __int64 CFileFind::GetLength(void)const \n3189 unsigned __int64 CGopherFileFind::GetLength(void)const \n3190 unsigned __int64 CInternetFile::GetLength(void)const \n3191 unsigned __int64 CMemFile::GetLength(void)const \n3192 unsigned __int64 COleStreamFile::GetLength(void)const \n3193 unsigned __int64 CSocketFile::GetLength(void)const \n3194 unsigned __int64 CStdioFile::GetLength(void)const \n3195 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n3196 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n3197 int CRichEditCtrl::GetLine(int,wchar_t *)const \n3198 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n3199 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n3200 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n3201 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n3202 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n3203 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions(void)\n3204 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n3205 CPtrList * CPropertySection::GetList(void)\n3206 CPtrList * CPropertySet::GetList(void)\n3207 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName(void)const \n3208 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL(void)const \n3209 CGopherLocator CGopherFileFind::GetLocator(void)const \n3210 int CDaoRecordset::GetLockingMode(void)\n3211 short CDaoWorkspace::GetLoginTimeout(void)\n3212 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n3213 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n3214 long CFieldExchange::GetLongBinarySize(int)\n3215 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n3216 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n3217 CWnd * CWinThread::GetMainWnd(void)\n3218 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager(void)const \n3219 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager(void)const \n3220 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager(void)const \n3221 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager(void)const \n3222 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n3223 int CConnectionPoint::GetMaxConnections(void)\n3224 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame(void)\n3225 CMenu * CFrameWnd::GetMenu(void)const \n3226 CMenu * CWnd::GetMenu(void)const \n3227 int CHtmlView::GetMenuBar(void)const \n3228 int CFrameWnd::GetMenuBarInfo(long,long,tagMENUBARINFO *)const \n3229 unsigned long CFrameWnd::GetMenuBarState(void)const \n3230 unsigned long CFrameWnd::GetMenuBarVisibility(void)const \n3231 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n3232 CWnd * CFrameWnd::GetMessageBar(void)\n3233 CWnd * CMDIChildWnd::GetMessageBar(void)\n3234 AFX_MSGMAP const * CCheckListBox::GetMessageMap(void)const \n3235 AFX_MSGMAP const * CCmdTarget::GetMessageMap(void)const \n3236 AFX_MSGMAP const * CCommonDialog::GetMessageMap(void)const \n3237 AFX_MSGMAP const * CControlBar::GetMessageMap(void)const \n3238 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap(void)const \n3239 AFX_MSGMAP const * CCtrlView::GetMessageMap(void)const \n3240 AFX_MSGMAP const * CDaoRecordView::GetMessageMap(void)const \n3241 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap(void)const \n3242 AFX_MSGMAP const * CDialog::GetMessageMap(void)const \n3243 AFX_MSGMAP const * CDialogBar::GetMessageMap(void)const \n3244 AFX_MSGMAP const * CDockBar::GetMessageMap(void)const \n3245 AFX_MSGMAP const * CDocObjectServer::GetMessageMap(void)const \n3246 AFX_MSGMAP const * CDocument::GetMessageMap(void)const \n3247 AFX_MSGMAP const * CEditView::GetMessageMap(void)const \n3248 AFX_MSGMAP const * CFormView::GetMessageMap(void)const \n3249 AFX_MSGMAP const * CFrameWnd::GetMessageMap(void)const \n3250 AFX_MSGMAP const * CHtmlEditView::GetMessageMap(void)const \n3251 AFX_MSGMAP const * CHtmlView::GetMessageMap(void)const \n3252 AFX_MSGMAP const * CListCtrl::GetMessageMap(void)const \n3253 AFX_MSGMAP const * CListView::GetMessageMap(void)const \n3254 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap(void)const \n3255 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap(void)const \n3256 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap(void)const \n3257 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap(void)const \n3258 AFX_MSGMAP const * COleControl::GetMessageMap(void)const \n3259 AFX_MSGMAP const * COleDBRecordView::GetMessageMap(void)const \n3260 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap(void)const \n3261 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap(void)const \n3262 AFX_MSGMAP const * COlePropertyPage::GetMessageMap(void)const \n3263 AFX_MSGMAP const * COleResizeBar::GetMessageMap(void)const \n3264 AFX_MSGMAP const * COleServerDoc::GetMessageMap(void)const \n3265 AFX_MSGMAP const * CPreviewView::GetMessageMap(void)const \n3266 AFX_MSGMAP const * CPrintDialog::GetMessageMap(void)const \n3267 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap(void)const \n3268 AFX_MSGMAP const * CPropertyPage::GetMessageMap(void)const \n3269 AFX_MSGMAP const * CPropertySheet::GetMessageMap(void)const \n3270 AFX_MSGMAP const * CReBar::GetMessageMap(void)const \n3271 AFX_MSGMAP const * CRecordView::GetMessageMap(void)const \n3272 AFX_MSGMAP const * CRichEditView::GetMessageMap(void)const \n3273 AFX_MSGMAP const * CScrollView::GetMessageMap(void)const \n3274 AFX_MSGMAP const * CSocketWnd::GetMessageMap(void)const \n3275 AFX_MSGMAP const * CSplitButton::GetMessageMap(void)const \n3276 AFX_MSGMAP const * CSplitterWnd::GetMessageMap(void)const \n3277 AFX_MSGMAP const * CStatusBar::GetMessageMap(void)const \n3278 AFX_MSGMAP const * CTabCtrl::GetMessageMap(void)const \n3279 AFX_MSGMAP const * CToolBar::GetMessageMap(void)const \n3280 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap(void)const \n3281 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap(void)const \n3282 AFX_MSGMAP const * CTreeCtrl::GetMessageMap(void)const \n3283 AFX_MSGMAP const * CTreeView::GetMessageMap(void)const \n3284 AFX_MSGMAP const * CView::GetMessageMap(void)const \n3285 AFX_MSGMAP const * CWinApp::GetMessageMap(void)const \n3286 AFX_MSGMAP const * CWnd::GetMessageMap(void)const \n3287 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3288 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3289 long CDataSourceControl::GetMetaData(void)\n3290 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3291 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n3292 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3293 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3294 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3295 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n3296 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n3297 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n3298 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n3299 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n3300 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n3301 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3302 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3303 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3304 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3305 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3306 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n3307 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n3308 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n3309 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n3310 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName(void)\n3311 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName(void)\n3312 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName(void)\n3313 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName(void)\n3314 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName(void)\n3315 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n3316 unsigned long COleClientItem::GetNewItemNumber(void)\n3317 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n3318 CDataBoundProperty * CDataBoundProperty::GetNext(void)\n3319 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n3320 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n3321 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n3322 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n3323 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3324 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n3325 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n3326 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n3327 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n3328 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n3329 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n3330 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n3331 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n3332 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n3333 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n3334 int COleDataObject::GetNextFormat(tagFORMATETC *)\n3335 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n3336 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n3337 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n3338 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n3339 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n3340 CView * CDocument::GetNextView(__POSITION * &)const \n3341 ATL::CStringData * CAfxStringMgr::GetNilString(void)\n3342 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n3343 void CCmdTarget::GetNotSupported(void)\n3344 void COleControl::GetNotSupported(void)\n3345 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n3346 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3347 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n3348 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n3349 unsigned int CArchive::GetObjectSchema(void)\n3350 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n3351 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW(void)const \n3352 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n3353 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo(void)\n3354 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo(void)\n3355 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo(void)\n3356 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n3357 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n3358 short CDaoQueryDef::GetODBCTimeout(void)\n3359 int CHtmlView::GetOffline(void)const \n3360 tagOFNW & CFileDialog::GetOFN(void)\n3361 tagOFNW const & CFileDialog::GetOFN(void)const \n3362 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n3363 IOleObject * COleServerItem::GetOleObject(void)\n3364 unsigned long COleSafeArray::GetOneDimSize(void)\n3365 int CDocManager::GetOpenDocumentCount(void)\n3366 int CWinApp::GetOpenDocumentCount(void)\n3367 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n3368 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n3369 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n3370 int CHeaderCtrl::GetOrderArray(int *,int)const \n3371 unsigned long CPropertySet::GetOSVersion(void)\n3372 CWnd * COleControl::GetOuterWindow(void)const \n3373 int COleDocObjectItem::GetPageCount(long *,long *)\n3374 int CPropertySheet::GetPageCount(void)const \n3375 int CPropertySheet::GetPageIndex(CPropertyPage *)\n3376 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n3377 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n3378 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n3379 IPropertyPageSite * COlePropertyPage::GetPageSite(void)\n3380 CWnd * CSplitterWnd::GetPane(int,int)const \n3381 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n3382 unsigned int CStatusBar::GetPaneStyle(int)const \n3383 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n3384 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3385 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n3386 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n3387 PARAFORMAT2 & CRichEditView::GetParaFormatSelection(void)\n3388 short CDaoQueryDef::GetParameterCount(void)\n3389 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n3390 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n3391 COleVariant CDaoQueryDef::GetParamValue(int)\n3392 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n3393 COleVariant CDaoRecordset::GetParamValue(int)\n3394 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n3395 IDispatch * CHtmlView::GetParentBrowser(void)const \n3396 CFrameWnd * CWnd::GetParentFrame(void)const \n3397 CWnd * CWnd::GetParentOwner(void)const \n3398 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n3399 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName(void)const \n3400 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3401 float CDaoRecordset::GetPercentPosition(void)\n3402 IPictureDisp * CPictureHolder::GetPictureDispatch(void)\n3403 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName(void)const \n3404 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName(void)const \n3405 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName(void)const \n3406 unsigned __int64 CFile::GetPosition(void)const \n3407 unsigned __int64 CMemFile::GetPosition(void)const \n3408 unsigned __int64 COleStreamFile::GetPosition(void)const \n3409 unsigned __int64 CSocketFile::GetPosition(void)const \n3410 unsigned __int64 CStdioFile::GetPosition(void)const \n3411 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n3412 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n3413 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n3414 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n3415 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n3416 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n3417 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n3418 CFont * CEditView::GetPrinterFont(void)const \n3419 long CAsyncMonikerFile::GetPriority(void)const \n3420 void * CThemeHelper::GetProc(char const *,void *)\n3421 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n3422 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n3423 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n3424 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n3425 COleVariant CHtmlView::GetProperty(wchar_t const *)\n3426 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3427 void COleControlSite::GetProperty(long,unsigned short,void *)const \n3428 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n3429 CProperty * CPropertySection::GetProperty(unsigned long)\n3430 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n3431 void CWnd::GetProperty(long,unsigned short,void *)const \n3432 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n3433 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n3434 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n3435 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n3436 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n3437 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n3438 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n3439 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n3440 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n3441 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n3442 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n3443 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n3444 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n3445 _PROPSHEETPAGEW & CPropertyPage::GetPSP(void)\n3446 _PROPSHEETPAGEW const & CPropertyPage::GetPSP(void)const \n3447 short CDaoDatabase::GetQueryDefCount(void)\n3448 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n3449 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n3450 short CDaoDatabase::GetQueryTimeout(void)\n3451 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3452 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3453 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3454 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n3455 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n3456 void CProgressCtrl::GetRange(int &,int &)const \n3457 void CSliderCtrl::GetRange(int &,int &)const \n3458 void CSpinButtonCtrl::GetRange(int &,int &)const \n3459 void * CProperty::GetRawValue(void)\n3460 enum tagREADYSTATE CHtmlView::GetReadyState(void)const \n3461 long COleControl::GetReadyState(void)\n3462 long CDaoRecordset::GetRecordCount(void)\n3463 long CDaoTableDef::GetRecordCount(void)\n3464 long CDaoDatabase::GetRecordsAffected(void)\n3465 long CDaoQueryDef::GetRecordsAffected(void)\n3466 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n3467 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n3468 int COleControl::GetRectInContainer(tagRECT *)\n3469 int CHtmlView::GetRegisterAsBrowser(void)const \n3470 int CHtmlView::GetRegisterAsDropTarget(void)const \n3471 short CDaoDatabase::GetRelationCount(void)\n3472 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n3473 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n3474 int CDaoQueryDef::GetReturnsRecords(void)\n3475 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot(void)const \n3476 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot(void)const \n3477 CFrameWnd * CCmdTarget::GetRoutingFrame(void)\n3478 CFrameWnd * CCmdTarget::GetRoutingFrame_(void)\n3479 CView * CCmdTarget::GetRoutingView(void)\n3480 CView * CCmdTarget::GetRoutingView_(void)\n3481 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n3482 CRuntime* CAnimateCtrl::GetRuntimeClass(void)const \n3483 CRuntime* CArchiveException::GetRuntimeClass(void)const \n3484 CRuntime* CAsyncMonikerFile::GetRuntimeClass(void)const \n3485 CRuntime* CAsyncSocket::GetRuntimeClass(void)const \n3486 CRuntime* CBitmap::GetRuntimeClass(void)const \n3487 CRuntime* CBitmapButton::GetRuntimeClass(void)const \n3488 CRuntime* CBrush::GetRuntimeClass(void)const \n3489 CRuntime* CButton::GetRuntimeClass(void)const \n3490 CRuntime* CByteArray::GetRuntimeClass(void)const \n3491 CRuntime* CCachedDataPathProperty::GetRuntimeClass(void)const \n3492 CRuntime* CCheckListBox::GetRuntimeClass(void)const \n3493 CRuntime* CClientDC::GetRuntimeClass(void)const \n3494 CRuntime* CCmdTarget::GetRuntimeClass(void)const \n3495 CRuntime* CColorDialog::GetRuntimeClass(void)const \n3496 CRuntime* CComboBox::GetRuntimeClass(void)const \n3497 CRuntime* CComboBoxEx::GetRuntimeClass(void)const \n3498 CRuntime* CCommonDialog::GetRuntimeClass(void)const \n3499 CRuntime* CControlBar::GetRuntimeClass(void)const \n3500 CRuntime* CCriticalSection::GetRuntimeClass(void)const \n3501 CRuntime* CCtrlView::GetRuntimeClass(void)const \n3502 CRuntime* CDaoDatabase::GetRuntimeClass(void)const \n3503 CRuntime* CDaoException::GetRuntimeClass(void)const \n3504 CRuntime* CDaoQueryDef::GetRuntimeClass(void)const \n3505 CRuntime* CDaoRecordset::GetRuntimeClass(void)const \n3506 CRuntime* CDaoRecordView::GetRuntimeClass(void)const \n3507 CRuntime* CDaoTableDef::GetRuntimeClass(void)const \n3508 CRuntime* CDaoWorkspace::GetRuntimeClass(void)const \n3509 CRuntime* CDatabase::GetRuntimeClass(void)const \n3510 CRuntime* CDataPathProperty::GetRuntimeClass(void)const \n3511 CRuntime* CDateTimeCtrl::GetRuntimeClass(void)const \n3512 CRuntime* CDBException::GetRuntimeClass(void)const \n3513 CRuntime* CDC::GetRuntimeClass(void)const \n3514 CRuntime* CDHtmlDialog::GetRuntimeClass(void)const \n3515 CRuntime* CDialog::GetRuntimeClass(void)const \n3516 CRuntime* CDialogBar::GetRuntimeClass(void)const \n3517 CRuntime* CDocItem::GetRuntimeClass(void)const \n3518 CRuntime* CDockBar::GetRuntimeClass(void)const \n3519 CRuntime* CDockState::GetRuntimeClass(void)const \n3520 CRuntime* CDocManager::GetRuntimeClass(void)const \n3521 CRuntime* CDocObjectServer::GetRuntimeClass(void)const \n3522 CRuntime* CDocObjectServerItem::GetRuntimeClass(void)const \n3523 CRuntime* CDocTemplate::GetRuntimeClass(void)const \n3524 CRuntime* CDocument::GetRuntimeClass(void)const \n3525 CRuntime* CDragListBox::GetRuntimeClass(void)const \n3526 CRuntime* CDWordArray::GetRuntimeClass(void)const \n3527 CRuntime* CDynLinkLibrary::GetRuntimeClass(void)const \n3528 CRuntime* CEdit::GetRuntimeClass(void)const \n3529 CRuntime* CEditView::GetRuntimeClass(void)const \n3530 CRuntime* CEvent::GetRuntimeClass(void)const \n3531 CRuntime* CException::GetRuntimeClass(void)const \n3532 CRuntime* CFile::GetRuntimeClass(void)const \n3533 CRuntime* CFileDialog::GetRuntimeClass(void)const \n3534 CRuntime* CFileException::GetRuntimeClass(void)const \n3535 CRuntime* CFileFind::GetRuntimeClass(void)const \n3536 CRuntime* CFindReplaceDialog::GetRuntimeClass(void)const \n3537 CRuntime* CFont::GetRuntimeClass(void)const \n3538 CRuntime* CFontDialog::GetRuntimeClass(void)const \n3539 CRuntime* CFormView::GetRuntimeClass(void)const \n3540 CRuntime* CFrameWnd::GetRuntimeClass(void)const \n3541 CRuntime* CFtpConnection::GetRuntimeClass(void)const \n3542 CRuntime* CFtpFileFind::GetRuntimeClass(void)const \n3543 CRuntime* CGdiObject::GetRuntimeClass(void)const \n3544 CRuntime* CGopherConnection::GetRuntimeClass(void)const \n3545 CRuntime* CGopherFile::GetRuntimeClass(void)const \n3546 CRuntime* CGopherFileFind::GetRuntimeClass(void)const \n3547 CRuntime* CHeaderCtrl::GetRuntimeClass(void)const \n3548 CRuntime* CHotKeyCtrl::GetRuntimeClass(void)const \n3549 CRuntime* CHtmlEditDoc::GetRuntimeClass(void)const \n3550 CRuntime* CHtmlEditView::GetRuntimeClass(void)const \n3551 CRuntime* CHtmlView::GetRuntimeClass(void)const \n3552 CRuntime* CHttpConnection::GetRuntimeClass(void)const \n3553 CRuntime* CHttpFile::GetRuntimeClass(void)const \n3554 CRuntime* CImageList::GetRuntimeClass(void)const \n3555 CRuntime* CInternetConnection::GetRuntimeClass(void)const \n3556 CRuntime* CInternetException::GetRuntimeClass(void)const \n3557 CRuntime* CInternetFile::GetRuntimeClass(void)const \n3558 CRuntime* CInternetSession::GetRuntimeClass(void)const \n3559 CRuntime* CInvalidArgException::GetRuntimeClass(void)const \n3560 CRuntime* CIPAddressCtrl::GetRuntimeClass(void)const \n3561 CRuntime* CLinkCtrl::GetRuntimeClass(void)const \n3562 CRuntime* CListBox::GetRuntimeClass(void)const \n3563 CRuntime* CListCtrl::GetRuntimeClass(void)const \n3564 CRuntime* CListView::GetRuntimeClass(void)const \n3565 CRuntime* CLongBinary::GetRuntimeClass(void)const \n3566 CRuntime* CMapPtrToPtr::GetRuntimeClass(void)const \n3567 CRuntime* CMapPtrToWord::GetRuntimeClass(void)const \n3568 CRuntime* CMapStringToOb::GetRuntimeClass(void)const \n3569 CRuntime* CMapStringToPtr::GetRuntimeClass(void)const \n3570 CRuntime* CMapStringToString::GetRuntimeClass(void)const \n3571 CRuntime* CMapWordToOb::GetRuntimeClass(void)const \n3572 CRuntime* CMapWordToPtr::GetRuntimeClass(void)const \n3573 CRuntime* CMDIChildWnd::GetRuntimeClass(void)const \n3574 CRuntime* CMDIFrameWnd::GetRuntimeClass(void)const \n3575 CRuntime* CMemFile::GetRuntimeClass(void)const \n3576 CRuntime* CMemoryException::GetRuntimeClass(void)const \n3577 CRuntime* CMenu::GetRuntimeClass(void)const \n3578 CRuntime* CMetaFileDC::GetRuntimeClass(void)const \n3579 CRuntime* CMiniDockFrameWnd::GetRuntimeClass(void)const \n3580 CRuntime* CMiniFrameWnd::GetRuntimeClass(void)const \n3581 CRuntime* CMonikerFile::GetRuntimeClass(void)const \n3582 CRuntime* CMonthCalCtrl::GetRuntimeClass(void)const \n3583 CRuntime* CMultiDocTemplate::GetRuntimeClass(void)const \n3584 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass(void)const \n3585 CRuntime* CMutex::GetRuntimeClass(void)const \n3586 CRuntime* CNetAddressCtrl::GetRuntimeClass(void)const \n3587 CRuntime* CNotSupportedException::GetRuntimeClass(void)const \n3588 CRuntime* CObArray::GetRuntimeClass(void)const \n3589 CRuntime* CObject::GetRuntimeClass(void)const \n3590 CRuntime* CObList::GetRuntimeClass(void)const \n3591 CRuntime* COleBusyDialog::GetRuntimeClass(void)const \n3592 CRuntime* COleChangeIconDialog::GetRuntimeClass(void)const \n3593 CRuntime* COleChangeSourceDialog::GetRuntimeClass(void)const \n3594 CRuntime* COleClientItem::GetRuntimeClass(void)const \n3595 CRuntime* COleControl::GetRuntimeClass(void)const \n3596 CRuntime* COleControlModule::GetRuntimeClass(void)const \n3597 CRuntime* COleConvertDialog::GetRuntimeClass(void)const \n3598 CRuntime* COleDBRecordView::GetRuntimeClass(void)const \n3599 CRuntime* COleDialog::GetRuntimeClass(void)const \n3600 CRuntime* COleDispatchException::GetRuntimeClass(void)const \n3601 CRuntime* COleDocIPFrameWnd::GetRuntimeClass(void)const \n3602 CRuntime* COleDocObjectItem::GetRuntimeClass(void)const \n3603 CRuntime* COleDocument::GetRuntimeClass(void)const \n3604 CRuntime* COleException::GetRuntimeClass(void)const \n3605 CRuntime* COleInsertDialog::GetRuntimeClass(void)const \n3606 CRuntime* COleIPFrameWnd::GetRuntimeClass(void)const \n3607 CRuntime* COleLinkingDoc::GetRuntimeClass(void)const \n3608 CRuntime* COleLinksDialog::GetRuntimeClass(void)const \n3609 CRuntime* COleObjectFactory::GetRuntimeClass(void)const \n3610 CRuntime* COlePasteSpecialDialog::GetRuntimeClass(void)const \n3611 CRuntime* COlePropertiesDialog::GetRuntimeClass(void)const \n3612 CRuntime* COlePropertyPage::GetRuntimeClass(void)const \n3613 CRuntime* COleResizeBar::GetRuntimeClass(void)const \n3614 CRuntime* COleServerDoc::GetRuntimeClass(void)const \n3615 CRuntime* COleServerItem::GetRuntimeClass(void)const \n3616 CRuntime* COleStreamFile::GetRuntimeClass(void)const \n3617 CRuntime* COleUpdateDialog::GetRuntimeClass(void)const \n3618 CRuntime* CPagerCtrl::GetRuntimeClass(void)const \n3619 CRuntime* CPageSetupDialog::GetRuntimeClass(void)const \n3620 CRuntime* CPaintDC::GetRuntimeClass(void)const \n3621 CRuntime* CPalette::GetRuntimeClass(void)const \n3622 CRuntime* CPen::GetRuntimeClass(void)const \n3623 CRuntime* CPreviewDC::GetRuntimeClass(void)const \n3624 CRuntime* CPreviewView::GetRuntimeClass(void)const \n3625 CRuntime* CPrintDialog::GetRuntimeClass(void)const \n3626 CRuntime* CPrintDialogEx::GetRuntimeClass(void)const \n3627 CRuntime* CProgressCtrl::GetRuntimeClass(void)const \n3628 CRuntime* CPropertyPage::GetRuntimeClass(void)const \n3629 CRuntime* CPropertySheet::GetRuntimeClass(void)const \n3630 CRuntime* CPtrArray::GetRuntimeClass(void)const \n3631 CRuntime* CPtrList::GetRuntimeClass(void)const \n3632 CRuntime* CReBar::GetRuntimeClass(void)const \n3633 CRuntime* CReBarCtrl::GetRuntimeClass(void)const \n3634 CRuntime* CRecordset::GetRuntimeClass(void)const \n3635 CRuntime* CRecordView::GetRuntimeClass(void)const \n3636 CRuntime* CResourceException::GetRuntimeClass(void)const \n3637 CRuntime* CRgn::GetRuntimeClass(void)const \n3638 CRuntime* CRichEditCntrItem::GetRuntimeClass(void)const \n3639 CRuntime* CRichEditCtrl::GetRuntimeClass(void)const \n3640 CRuntime* CRichEditDoc::GetRuntimeClass(void)const \n3641 CRuntime* CRichEditView::GetRuntimeClass(void)const \n3642 CRuntime* CScrollBar::GetRuntimeClass(void)const \n3643 CRuntime* CScrollView::GetRuntimeClass(void)const \n3644 CRuntime* CSemaphore::GetRuntimeClass(void)const \n3645 CRuntime* CSharedFile::GetRuntimeClass(void)const \n3646 CRuntime* CSimpleException::GetRuntimeClass(void)const \n3647 CRuntime* CSingleDocTemplate::GetRuntimeClass(void)const \n3648 CRuntime* CSliderCtrl::GetRuntimeClass(void)const \n3649 CRuntime* CSocket::GetRuntimeClass(void)const \n3650 CRuntime* CSocketFile::GetRuntimeClass(void)const \n3651 CRuntime* CSpinButtonCtrl::GetRuntimeClass(void)const \n3652 CRuntime* CSplitButton::GetRuntimeClass(void)const \n3653 CRuntime* CSplitterWnd::GetRuntimeClass(void)const \n3654 CRuntime* CStatic::GetRuntimeClass(void)const \n3655 CRuntime* CStatusBar::GetRuntimeClass(void)const \n3656 CRuntime* CStatusBarCtrl::GetRuntimeClass(void)const \n3657 CRuntime* CStdioFile::GetRuntimeClass(void)const \n3658 CRuntime* CStringArray::GetRuntimeClass(void)const \n3659 CRuntime* CStringList::GetRuntimeClass(void)const \n3660 CRuntime* CSyncObject::GetRuntimeClass(void)const \n3661 CRuntime* CTabCtrl::GetRuntimeClass(void)const \n3662 CRuntime* CToolBar::GetRuntimeClass(void)const \n3663 CRuntime* CToolBarCtrl::GetRuntimeClass(void)const \n3664 CRuntime* CToolTipCtrl::GetRuntimeClass(void)const \n3665 CRuntime* CTreeCtrl::GetRuntimeClass(void)const \n3666 CRuntime* CTreeView::GetRuntimeClass(void)const \n3667 CRuntime* CUIntArray::GetRuntimeClass(void)const \n3668 CRuntime* CUserException::GetRuntimeClass(void)const \n3669 CRuntime* CView::GetRuntimeClass(void)const \n3670 CRuntime* CWinApp::GetRuntimeClass(void)const \n3671 CRuntime* CWindowDC::GetRuntimeClass(void)const \n3672 CRuntime* CWindowlessDC::GetRuntimeClass(void)const \n3673 CRuntime* CWinThread::GetRuntimeClass(void)const \n3674 CRuntime* CWnd::GetRuntimeClass(void)const \n3675 CRuntime* CWordArray::GetRuntimeClass(void)const \n3676 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n3677 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n3678 unsigned long * CColorDialog::GetSavedCustomColors(void)\n3679 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName(void)const \n3680 CSize CDockState::GetScreenSize(void)\n3681 CScrollBar * CView::GetScrollBarCtrl(int)const \n3682 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n3683 void CScrollView::GetScrollBarSizes(CSize &)\n3684 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n3685 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n3686 int CWnd::GetScrollLimit(int)\n3687 int CWnd::GetScrollPos(int)const \n3688 CPoint CScrollView::GetScrollPosition(void)const \n3689 void CWnd::GetScrollRange(int,int *,int *)const \n3690 unsigned long CSplitterWnd::GetScrollStyle(void)const \n3691 CPropertySection * CPropertySet::GetSection(_GUID)\n3692 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n3693 wchar_t const * CPropertySection::GetSectionName(void)\n3694 void CRichEditCtrl::GetSel(long &,long &)const \n3695 CRichEditCntrItem * CRichEditView::GetSelectedItem(void)const \n3696 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3697 void CSliderCtrl::GetSelection(int &,int &)const \n3698 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n3699 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n3700 unsigned int COleConvertDialog::GetSelectionType(void)const \n3701 unsigned int COleInsertDialog::GetSelectionType(void)const \n3702 unsigned int COlePasteSpecialDialog::GetSelectionType(void)const \n3703 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n3704 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n3705 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n3706 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText(void)const \n3707 int CHtmlView::GetSilent(void)const \n3708 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n3709 unsigned long CPropertySection::GetSize(void)\n3710 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n3711 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n3712 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n3713 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n3714 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n3715 CWnd * CSplitterWnd::GetSizingParent(void)\n3716 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n3717 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3718 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName(void)\n3719 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL(void)\n3720 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL(void)const \n3721 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n3722 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n3723 wchar_t const * CHtmlEditCtrl::GetStartDocument(void)\n3724 wchar_t const * CHtmlEditView::GetStartDocument(void)\n3725 __POSITION * CConnectionPoint::GetStartPosition(void)const \n3726 __POSITION * COleDocument::GetStartPosition(void)const \n3727 __POSITION * CRichEditDoc::GetStartPosition(void)const \n3728 int CFile::GetStatus(CFileStatus &)const \n3729 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n3730 int CMemFile::GetStatus(CFileStatus &)const \n3731 int COleStreamFile::GetStatus(CFileStatus &)const \n3732 int CHtmlView::GetStatusBar(void)const \n3733 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n3734 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName(void)const \n3735 IStream * COleStreamFile::GetStream(void)const \n3736 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString(void)const \n3737 char const * ATL::CSimpleStringT<char,1>::GetString(void)const \n3738 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3739 unsigned long COleControlSite::GetStyle(void)const \n3740 unsigned long COleControlSiteOrWnd::GetStyle(void)const \n3741 unsigned long CWnd::GetStyle(void)const \n3742 int CListCtrl::GetSubItemRect(int,int,int,CRect &)const \n3743 long (__stdcall** CWnd::GetSuperWndProcAddr(void))(HWND__ *,unsigned int,unsigned int,long)\n3744 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n3745 short CDaoDatabase::GetTableDefCount(void)\n3746 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n3747 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n3748 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n3749 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3750 wchar_t * COleControl::GetText(void)\n3751 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n3752 int CStatusBarCtrl::GetText(wchar_t *,int,int *)const \n3753 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n3754 long CRecordset::GetTextLen(short,unsigned long)\n3755 int CStatusBarCtrl::GetTextLength(int,int *)const \n3756 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n3757 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3758 int CHtmlView::GetTheaterMode(void)const \n3759 long CThemeHelper::GetThemePartSize(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n3760 long CThemeHelper::GetThemePartSizeFail(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n3761 CRuntime* CAnimateCtrl::GetThisClass(void)\n3762 CRuntime* CArchiveException::GetThisClass(void)\n3763 CRuntime* CAsyncMonikerFile::GetThisClass(void)\n3764 CRuntime* CAsyncSocket::GetThisClass(void)\n3765 CRuntime* CBitmap::GetThisClass(void)\n3766 CRuntime* CBitmapButton::GetThisClass(void)\n3767 CRuntime* CBrush::GetThisClass(void)\n3768 CRuntime* CButton::GetThisClass(void)\n3769 CRuntime* CByteArray::GetThisClass(void)\n3770 CRuntime* CCachedDataPathProperty::GetThisClass(void)\n3771 CRuntime* CCheckListBox::GetThisClass(void)\n3772 CRuntime* CClientDC::GetThisClass(void)\n3773 CRuntime* CCmdTarget::GetThisClass(void)\n3774 CRuntime* CColorDialog::GetThisClass(void)\n3775 CRuntime* CComboBox::GetThisClass(void)\n3776 CRuntime* CComboBoxEx::GetThisClass(void)\n3777 CRuntime* CCommonDialog::GetThisClass(void)\n3778 CRuntime* CControlBar::GetThisClass(void)\n3779 CRuntime* CCriticalSection::GetThisClass(void)\n3780 CRuntime* CCtrlView::GetThisClass(void)\n3781 CRuntime* CDaoDatabase::GetThisClass(void)\n3782 CRuntime* CDaoException::GetThisClass(void)\n3783 CRuntime* CDaoQueryDef::GetThisClass(void)\n3784 CRuntime* CDaoRecordset::GetThisClass(void)\n3785 CRuntime* CDaoRecordView::GetThisClass(void)\n3786 CRuntime* CDaoTableDef::GetThisClass(void)\n3787 CRuntime* CDaoWorkspace::GetThisClass(void)\n3788 CRuntime* CDatabase::GetThisClass(void)\n3789 CRuntime* CDataPathProperty::GetThisClass(void)\n3790 CRuntime* CDateTimeCtrl::GetThisClass(void)\n3791 CRuntime* CDBException::GetThisClass(void)\n3792 CRuntime* CDC::GetThisClass(void)\n3793 CRuntime* CDHtmlDialog::GetThisClass(void)\n3794 CRuntime* CDialog::GetThisClass(void)\n3795 CRuntime* CDialogBar::GetThisClass(void)\n3796 CRuntime* CDocItem::GetThisClass(void)\n3797 CRuntime* CDockBar::GetThisClass(void)\n3798 CRuntime* CDockState::GetThisClass(void)\n3799 CRuntime* CDocManager::GetThisClass(void)\n3800 CRuntime* CDocObjectServer::GetThisClass(void)\n3801 CRuntime* CDocObjectServerItem::GetThisClass(void)\n3802 CRuntime* CDocTemplate::GetThisClass(void)\n3803 CRuntime* CDocument::GetThisClass(void)\n3804 CRuntime* CDragListBox::GetThisClass(void)\n3805 CRuntime* CDWordArray::GetThisClass(void)\n3806 CRuntime* CDynLinkLibrary::GetThisClass(void)\n3807 CRuntime* CEdit::GetThisClass(void)\n3808 CRuntime* CEditView::GetThisClass(void)\n3809 CRuntime* CEvent::GetThisClass(void)\n3810 CRuntime* CException::GetThisClass(void)\n3811 CRuntime* CFile::GetThisClass(void)\n3812 CRuntime* CFileDialog::GetThisClass(void)\n3813 CRuntime* CFileException::GetThisClass(void)\n3814 CRuntime* CFileFind::GetThisClass(void)\n3815 CRuntime* CFindReplaceDialog::GetThisClass(void)\n3816 CRuntime* CFont::GetThisClass(void)\n3817 CRuntime* CFontDialog::GetThisClass(void)\n3818 CRuntime* CFormView::GetThisClass(void)\n3819 CRuntime* CFrameWnd::GetThisClass(void)\n3820 CRuntime* CFtpConnection::GetThisClass(void)\n3821 CRuntime* CFtpFileFind::GetThisClass(void)\n3822 CRuntime* CGdiObject::GetThisClass(void)\n3823 CRuntime* CGopherConnection::GetThisClass(void)\n3824 CRuntime* CGopherFile::GetThisClass(void)\n3825 CRuntime* CGopherFileFind::GetThisClass(void)\n3826 CRuntime* CHeaderCtrl::GetThisClass(void)\n3827 CRuntime* CHotKeyCtrl::GetThisClass(void)\n3828 CRuntime* CHtmlEditDoc::GetThisClass(void)\n3829 CRuntime* CHtmlEditView::GetThisClass(void)\n3830 CRuntime* CHtmlView::GetThisClass(void)\n3831 CRuntime* CHttpConnection::GetThisClass(void)\n3832 CRuntime* CHttpFile::GetThisClass(void)\n3833 CRuntime* CImageList::GetThisClass(void)\n3834 CRuntime* CInternetConnection::GetThisClass(void)\n3835 CRuntime* CInternetException::GetThisClass(void)\n3836 CRuntime* CInternetFile::GetThisClass(void)\n3837 CRuntime* CInternetSession::GetThisClass(void)\n3838 CRuntime* CInvalidArgException::GetThisClass(void)\n3839 CRuntime* CIPAddressCtrl::GetThisClass(void)\n3840 CRuntime* CLinkCtrl::GetThisClass(void)\n3841 CRuntime* CListBox::GetThisClass(void)\n3842 CRuntime* CListCtrl::GetThisClass(void)\n3843 CRuntime* CListView::GetThisClass(void)\n3844 CRuntime* CLongBinary::GetThisClass(void)\n3845 CRuntime* CMapPtrToPtr::GetThisClass(void)\n3846 CRuntime* CMapPtrToWord::GetThisClass(void)\n3847 CRuntime* CMapStringToOb::GetThisClass(void)\n3848 CRuntime* CMapStringToPtr::GetThisClass(void)\n3849 CRuntime* CMapStringToString::GetThisClass(void)\n3850 CRuntime* CMapWordToOb::GetThisClass(void)\n3851 CRuntime* CMapWordToPtr::GetThisClass(void)\n3852 CRuntime* CMDIChildWnd::GetThisClass(void)\n3853 CRuntime* CMDIFrameWnd::GetThisClass(void)\n3854 CRuntime* CMemFile::GetThisClass(void)\n3855 CRuntime* CMemoryException::GetThisClass(void)\n3856 CRuntime* CMenu::GetThisClass(void)\n3857 CRuntime* CMetaFileDC::GetThisClass(void)\n3858 CRuntime* CMiniDockFrameWnd::GetThisClass(void)\n3859 CRuntime* CMiniFrameWnd::GetThisClass(void)\n3860 CRuntime* CMonikerFile::GetThisClass(void)\n3861 CRuntime* CMonthCalCtrl::GetThisClass(void)\n3862 CRuntime* CMultiDocTemplate::GetThisClass(void)\n3863 CRuntime* CMultiPageDHtmlDialog::GetThisClass(void)\n3864 CRuntime* CMutex::GetThisClass(void)\n3865 CRuntime* CNetAddressCtrl::GetThisClass(void)\n3866 CRuntime* CNotSupportedException::GetThisClass(void)\n3867 CRuntime* CObArray::GetThisClass(void)\n3868 CRuntime* CObject::GetThisClass(void)\n3869 CRuntime* CObList::GetThisClass(void)\n3870 CRuntime* COleBusyDialog::GetThisClass(void)\n3871 CRuntime* COleChangeIconDialog::GetThisClass(void)\n3872 CRuntime* COleChangeSourceDialog::GetThisClass(void)\n3873 CRuntime* COleClientItem::GetThisClass(void)\n3874 CRuntime* COleControl::GetThisClass(void)\n3875 CRuntime* COleControlModule::GetThisClass(void)\n3876 CRuntime* COleConvertDialog::GetThisClass(void)\n3877 CRuntime* COleDBRecordView::GetThisClass(void)\n3878 CRuntime* COleDialog::GetThisClass(void)\n3879 CRuntime* COleDispatchException::GetThisClass(void)\n3880 CRuntime* COleDocIPFrameWnd::GetThisClass(void)\n3881 CRuntime* COleDocObjectItem::GetThisClass(void)\n3882 CRuntime* COleDocument::GetThisClass(void)\n3883 CRuntime* COleException::GetThisClass(void)\n3884 CRuntime* COleInsertDialog::GetThisClass(void)\n3885 CRuntime* COleIPFrameWnd::GetThisClass(void)\n3886 CRuntime* COleLinkingDoc::GetThisClass(void)\n3887 CRuntime* COleLinksDialog::GetThisClass(void)\n3888 CRuntime* COleObjectFactory::GetThisClass(void)\n3889 CRuntime* COlePasteSpecialDialog::GetThisClass(void)\n3890 CRuntime* COlePropertiesDialog::GetThisClass(void)\n3891 CRuntime* COlePropertyPage::GetThisClass(void)\n3892 CRuntime* COleResizeBar::GetThisClass(void)\n3893 CRuntime* COleServerDoc::GetThisClass(void)\n3894 CRuntime* COleServerItem::GetThisClass(void)\n3895 CRuntime* COleStreamFile::GetThisClass(void)\n3896 CRuntime* COleUpdateDialog::GetThisClass(void)\n3897 CRuntime* CPagerCtrl::GetThisClass(void)\n3898 CRuntime* CPageSetupDialog::GetThisClass(void)\n3899 CRuntime* CPaintDC::GetThisClass(void)\n3900 CRuntime* CPalette::GetThisClass(void)\n3901 CRuntime* CPen::GetThisClass(void)\n3902 CRuntime* CPreviewDC::GetThisClass(void)\n3903 CRuntime* CPreviewView::GetThisClass(void)\n3904 CRuntime* CPrintDialog::GetThisClass(void)\n3905 CRuntime* CPrintDialogEx::GetThisClass(void)\n3906 CRuntime* CProgressCtrl::GetThisClass(void)\n3907 CRuntime* CPropertyPage::GetThisClass(void)\n3908 CRuntime* CPropertySheet::GetThisClass(void)\n3909 CRuntime* CPtrArray::GetThisClass(void)\n3910 CRuntime* CPtrList::GetThisClass(void)\n3911 CRuntime* CReBar::GetThisClass(void)\n3912 CRuntime* CReBarCtrl::GetThisClass(void)\n3913 CRuntime* CRecordset::GetThisClass(void)\n3914 CRuntime* CRecordView::GetThisClass(void)\n3915 CRuntime* CResourceException::GetThisClass(void)\n3916 CRuntime* CRgn::GetThisClass(void)\n3917 CRuntime* CRichEditCntrItem::GetThisClass(void)\n3918 CRuntime* CRichEditCtrl::GetThisClass(void)\n3919 CRuntime* CRichEditDoc::GetThisClass(void)\n3920 CRuntime* CRichEditView::GetThisClass(void)\n3921 CRuntime* CScrollBar::GetThisClass(void)\n3922 CRuntime* CScrollView::GetThisClass(void)\n3923 CRuntime* CSemaphore::GetThisClass(void)\n3924 CRuntime* CSharedFile::GetThisClass(void)\n3925 CRuntime* CSimpleException::GetThisClass(void)\n3926 CRuntime* CSingleDocTemplate::GetThisClass(void)\n3927 CRuntime* CSliderCtrl::GetThisClass(void)\n3928 CRuntime* CSocket::GetThisClass(void)\n3929 CRuntime* CSocketFile::GetThisClass(void)\n3930 CRuntime* CSpinButtonCtrl::GetThisClass(void)\n3931 CRuntime* CSplitButton::GetThisClass(void)\n3932 CRuntime* CSplitterWnd::GetThisClass(void)\n3933 CRuntime* CStatic::GetThisClass(void)\n3934 CRuntime* CStatusBar::GetThisClass(void)\n3935 CRuntime* CStatusBarCtrl::GetThisClass(void)\n3936 CRuntime* CStdioFile::GetThisClass(void)\n3937 CRuntime* CStringArray::GetThisClass(void)\n3938 CRuntime* CStringList::GetThisClass(void)\n3939 CRuntime* CSyncObject::GetThisClass(void)\n3940 CRuntime* CTabCtrl::GetThisClass(void)\n3941 CRuntime* CToolBar::GetThisClass(void)\n3942 CRuntime* CToolBarCtrl::GetThisClass(void)\n3943 CRuntime* CToolTipCtrl::GetThisClass(void)\n3944 CRuntime* CTreeCtrl::GetThisClass(void)\n3945 CRuntime* CTreeView::GetThisClass(void)\n3946 CRuntime* CUIntArray::GetThisClass(void)\n3947 CRuntime* CUserException::GetThisClass(void)\n3948 CRuntime* CView::GetThisClass(void)\n3949 CRuntime* CWinApp::GetThisClass(void)\n3950 CRuntime* CWindowDC::GetThisClass(void)\n3951 CRuntime* CWindowlessDC::GetThisClass(void)\n3952 CRuntime* CWinThread::GetThisClass(void)\n3953 CRuntime* CWnd::GetThisClass(void)\n3954 CRuntime* CWordArray::GetThisClass(void)\n3955 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap(void)\n3956 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap(void)\n3957 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap(void)\n3958 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap(void)\n3959 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap(void)\n3960 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap(void)\n3961 AFX_EVENTMAP const * COleControl::GetThisEventMap(void)\n3962 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap(void)\n3963 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap(void)\n3964 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap(void)\n3965 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap(void)\n3966 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap(void)\n3967 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap(void)\n3968 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap(void)\n3969 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap(void)\n3970 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap(void)\n3971 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap(void)\n3972 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap(void)\n3973 AFX_INTERFACEMAP const * CFileDialog::GetThisInterfaceMap(void)\n3974 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap(void)\n3975 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap(void)\n3976 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap(void)\n3977 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap(void)\n3978 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap(void)\n3979 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap(void)\n3980 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap(void)\n3981 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap(void)\n3982 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap(void)\n3983 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap(void)\n3984 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap(void)\n3985 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap(void)\n3986 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap(void)\n3987 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap(void)\n3988 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap(void)\n3989 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap(void)\n3990 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap(void)\n3991 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap(void)\n3992 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap(void)\n3993 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap(void)\n3994 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap(void)\n3995 AFX_MSGMAP const * CControlBar::GetThisMessageMap(void)\n3996 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap(void)\n3997 AFX_MSGMAP const * CCtrlView::GetThisMessageMap(void)\n3998 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap(void)\n3999 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap(void)\n4000 AFX_MSGMAP const * CDialog::GetThisMessageMap(void)\n4001 AFX_MSGMAP const * CDialogBar::GetThisMessageMap(void)\n4002 AFX_MSGMAP const * CDockBar::GetThisMessageMap(void)\n4003 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap(void)\n4004 AFX_MSGMAP const * CDocument::GetThisMessageMap(void)\n4005 AFX_MSGMAP const * CEditView::GetThisMessageMap(void)\n4006 AFX_MSGMAP const * CFormView::GetThisMessageMap(void)\n4007 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap(void)\n4008 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap(void)\n4009 AFX_MSGMAP const * CHtmlView::GetThisMessageMap(void)\n4010 AFX_MSGMAP const * CListCtrl::GetThisMessageMap(void)\n4011 AFX_MSGMAP const * CListView::GetThisMessageMap(void)\n4012 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap(void)\n4013 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap(void)\n4014 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap(void)\n4015 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap(void)\n4016 AFX_MSGMAP const * COleControl::GetThisMessageMap(void)\n4017 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap(void)\n4018 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap(void)\n4019 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap(void)\n4020 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap(void)\n4021 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap(void)\n4022 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap(void)\n4023 AFX_MSGMAP const * CPreviewView::GetThisMessageMap(void)\n4024 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap(void)\n4025 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap(void)\n4026 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap(void)\n4027 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap(void)\n4028 AFX_MSGMAP const * CReBar::GetThisMessageMap(void)\n4029 AFX_MSGMAP const * CRecordView::GetThisMessageMap(void)\n4030 AFX_MSGMAP const * CRichEditView::GetThisMessageMap(void)\n4031 AFX_MSGMAP const * CScrollView::GetThisMessageMap(void)\n4032 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap(void)\n4033 AFX_MSGMAP const * CSplitButton::GetThisMessageMap(void)\n4034 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap(void)\n4035 AFX_MSGMAP const * CStatusBar::GetThisMessageMap(void)\n4036 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap(void)\n4037 AFX_MSGMAP const * CToolBar::GetThisMessageMap(void)\n4038 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap(void)\n4039 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap(void)\n4040 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap(void)\n4041 AFX_MSGMAP const * CTreeView::GetThisMessageMap(void)\n4042 AFX_MSGMAP const * CView::GetThisMessageMap(void)\n4043 AFX_MSGMAP const * CWinApp::GetThisMessageMap(void)\n4044 AFX_MSGMAP const * CWnd::GetThisMessageMap(void)\n4045 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n4046 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n4047 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n4048 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n4049 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n4050 int CHtmlView::GetToolBar(void)const \n4051 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n4052 long CHtmlView::GetTop(void)const \n4053 int CHtmlView::GetTopLevelContainer(void)const \n4054 CFrameWnd * CWnd::GetTopLevelFrame(void)const \n4055 CWnd * CWnd::GetTopLevelOwner(void)const \n4056 CWnd * CWnd::GetTopLevelParent(void)const \n4057 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n4058 void CRectTracker::GetTrueRect(tagRECT *)const \n4059 short CDaoQueryDef::GetType(void)\n4060 short CDaoRecordset::GetType(void)\n4061 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType(void)const \n4062 short CPictureHolder::GetType(void)\n4063 unsigned long CProperty::GetType(void)\n4064 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4065 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4066 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4067 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4068 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4069 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4070 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n4071 unsigned int CCmdTarget::GetTypeInfoCount(void)\n4072 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n4073 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n4074 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n4075 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n4076 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n4077 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n4078 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n4079 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n4080 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n4081 CTypeLibCache * CCmdTarget::GetTypeLibCache(void)\n4082 void COleSafeArray::GetUBound(unsigned long,long *)\n4083 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n4084 long COleControl::XOleObject::GetUserClassID(_GUID *)\n4085 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n4086 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n4087 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n4088 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW(void)\n4089 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4090 void COleControl::GetUserType(wchar_t *)\n4091 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4092 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4093 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4094 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n4095 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule(void)\n4096 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule(void)\n4097 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText(void)\n4098 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText(void)\n4099 void * CMapPtrToPtr::GetValueAt(void *)const \n4100 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb(void)const \n4101 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion(void)\n4102 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion(void)\n4103 unsigned long CDockState::GetVersion(void)\n4104 CHtmlEditView * CHtmlEditDoc::GetView(void)const \n4105 CRichEditView * CRichEditDoc::GetView(void)const \n4106 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n4107 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n4108 int CHtmlView::GetVisible(void)const \n4109 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n4110 long CHtmlView::GetWidth(void)const \n4111 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4112 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n4113 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n4114 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n4115 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n4116 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n4117 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n4118 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n4119 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4120 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4121 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n4122 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n4123 long CWnd::GetWindowedChildCount(void)\n4124 long CWnd::GetWindowLessChildCount(void)\n4125 IDropTarget * COleControl::GetWindowlessDropTarget(void)\n4126 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n4127 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n4128 int CWnd::GetWindowTextLengthW(void)const \n4129 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4130 int CWnd::GetWindowTextW(wchar_t *,int)const \n4131 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4132 short CDaoWorkspace::GetWorkspaceCount(void)\n4133 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n4134 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n4135 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n4136 long COleDropSource::GiveFeedback(unsigned long)\n4137 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n4138 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n4139 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n4140 void CMemFile::GrowFile(unsigned long)\n4141 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n4142 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n4143 long CDialog::HandleInitDialog(unsigned int,long)\n4144 long CDialogBar::HandleInitDialog(unsigned int,long)\n4145 long CFormView::HandleInitDialog(unsigned int,long)\n4146 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n4147 long CPropertySheet::HandleInitDialog(unsigned int,long)\n4148 long CScrollView::HandleMButtonDown(unsigned int,long)\n4149 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n4150 int COleControlContainer::HandleSetFocus(void)\n4151 long CDialog::HandleSetFont(unsigned int,long)\n4152 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n4153 long COleControl::XPersistStorage::HandsOffStorage(void)\n4154 long COleServerDoc::XPersistStorage::HandsOffStorage(void)\n4155 int COleDocument::HasBlankItems(void)const \n4156 int CDialogTemplate::HasFont(void)const \n4157 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n4158 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n4159 void * CFile::hFileNull\n4160 void CWinApp::HideApplication(void)\n4161 void CFileDialog::HideControl(int)\n4162 long CBrowserControlSite::HideUI(void)\n4163 long CDHtmlDialog::HideUI(void)\n4164 long CHtmlControlSite::XDocHostUIHandler::HideUI(void)\n4165 void CDC::HIMETRICtoDP(tagSIZE *)const \n4166 void CDC::HIMETRICtoLP(tagSIZE *)const \n4167 int CListCtrl::HitTest(CPoint,unsigned int *)const \n4168 int CRectTracker::HitTest(CPoint)const \n4169 int CSplitterWnd::HitTest(CPoint)const \n4170 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n4171 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n4172 int CRectTracker::HitTestHandles(CPoint)const \n4173 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n4174 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n4175 int CSplitterWnd::IdFromRowCol(int,int)const \n4176 void CDaoWorkspace::Idle(int)\n4177 void COlePropertyPage::IgnoreApply(unsigned int)\n4178 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n4179 int CWinApp::InitApplication(void)\n4180 long COleControl::XOleCache::InitCache(IDataObject *)\n4181 int CWnd::InitControlContainer(int)\n4182 void CDaoWorkspace::InitDatabasesCollection(void)\n4183 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n4184 long CPrintDialogEx::InitDone(void)\n4185 void CDaoException::InitErrorsCollection(void)\n4186 void CDaoQueryDef::InitFieldsCollection(void)\n4187 void CDaoRecordset::InitFieldsCollection(void)\n4188 void CDaoTableDef::InitFieldsCollection(void)\n4189 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4190 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4191 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4192 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n4193 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n4194 void CMapPtrToWord::InitHashTable(unsigned int,int)\n4195 void CMapStringToOb::InitHashTable(unsigned int,int)\n4196 void CMapStringToPtr::InitHashTable(unsigned int,int)\n4197 void CMapStringToString::InitHashTable(unsigned int,int)\n4198 void CMapWordToOb::InitHashTable(unsigned int,int)\n4199 void CMapWordToPtr::InitHashTable(unsigned int,int)\n4200 long CDataSourceControl::Initialize(void)\n4201 void CDHtmlDialog::Initialize(void)\n4202 void CDaoWorkspace::InitializeEngine(void)\n4203 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n4204 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n4205 int CEditView::InitializeReplace(void)\n4206 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n4207 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n4208 void CDaoRecordset::InitIndexesCollection(void)\n4209 void CDaoTableDef::InitIndexesCollection(void)\n4210 int COleControlModule::InitInstance(void)\n4211 int CWinApp::InitInstance(void)\n4212 int CWinThread::InitInstance(void)\n4213 void CWinApp::InitLibId(void)\n4214 void CDockContext::InitLoop(void)\n4215 int CDialog::InitModalIndirect(void *,CWnd *)\n4216 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n4217 long COleControl::XPersistMemory::InitNew(void)\n4218 long COleControl::XPersistPropertyBag::InitNew(void)\n4219 long COleControl::XPersistStorage::InitNew(IStorage *)\n4220 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n4221 long COleControl::XPersistStreamInit::InitNew(void)\n4222 void CDaoQueryDef::InitParametersCollection(void)\n4223 void CDaoDatabase::InitQueryDefsCollection(void)\n4224 void CRecordset::InitRecord(void)\n4225 void CDaoDatabase::InitRelationsCollection(void)\n4226 void COleControl::InitStockEventMask(void)\n4227 void COleControl::InitStockPropMask(void)\n4228 void CSimpleException::InitString(void)\n4229 void CDaoDatabase::InitTableDefsCollection(void)\n4230 void CDaoDatabase::InitWorkspace(void)\n4231 void CDaoWorkspace::InitWorkspacesCollection(void)\n4232 long COleControl::XOleInPlaceObject::InPlaceDeactivate(void)\n4233 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate(void)\n4234 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n4235 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n4236 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n4237 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n4238 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n4239 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n4240 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n4241 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n4242 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n4243 void CByteArray::InsertAt(int,unsigned char,int)\n4244 void CByteArray::InsertAt(int,CByteArray *)\n4245 void CDWordArray::InsertAt(int,unsigned long,int)\n4246 void CDWordArray::InsertAt(int,CDWordArray *)\n4247 void CObArray::InsertAt(int,CObArray *)\n4248 void CObArray::InsertAt(int,CObject *,int)\n4249 void CPtrArray::InsertAt(int,CPtrArray *)\n4250 void CPtrArray::InsertAt(int,void *,int)\n4251 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n4252 void CStringArray::InsertAt(int,wchar_t const *,int)\n4253 void CStringArray::InsertAt(int,CStringArray const *)\n4254 void CUIntArray::InsertAt(int,unsigned int,int)\n4255 void CUIntArray::InsertAt(int,CUIntArray *)\n4256 void CWordArray::InsertAt(int,unsigned short,int)\n4257 void CWordArray::InsertAt(int,CWordArray *)\n4258 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n4259 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n4260 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n4261 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n4262 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n4263 void CStringArray::InsertEmpty(int,int)\n4264 void CRichEditView::InsertFileAsObject(wchar_t const *)\n4265 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n4266 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n4267 long CRichEditView::InsertItem(CRichEditCntrItem *)\n4268 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n4269 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n4270 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n4271 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4272 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n4273 CFontHolder & COleControl::InternalGetFont(void)\n4274 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText(void)\n4275 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n4276 unsigned long CCmdTarget::InternalRelease(void)\n4277 int CDC::IntersectClipRect(int,int,int,int)\n4278 int CDC::IntersectClipRect(tagRECT const *)\n4279 void CCheckListBox::InvalidateCheck(int)\n4280 void COleControl::InvalidateControl(tagRECT const *,int)\n4281 void CCheckListBox::InvalidateItem(int)\n4282 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n4283 void COleControl::InvalidateRgn(CRgn *,int)\n4284 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n4285 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4286 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4287 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4288 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4289 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4290 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4291 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n4292 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(void),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n4293 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4294 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4295 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n4296 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4297 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n4298 int CThemeHelper::IsAppThemed(void)\n4299 int CThemeHelper::IsAppThemedFail(void)\n4300 int CDocItem::IsBlank(void)const \n4301 int COleServerItem::IsBlank(void)const \n4302 int CDaoRecordset::IsBOF(void)const \n4303 int CPropertyPage::IsButtonEnabled(int)\n4304 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n4305 int COleServerItem::IsConnected(void)const \n4306 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n4307 int COleControlSite::IsDefaultButton(void)\n4308 int CDaoRecordset::IsDeleted(void)const \n4309 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n4310 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n4311 int CWnd::IsDialogMessageW(tagMSG *)\n4312 long CBlobProperty::IsDirty(void)\n4313 long COleLinkingDoc::XPersistFile::IsDirty(void)\n4314 long COleControl::XPersistMemory::IsDirty(void)\n4315 long COleControl::XPersistStorage::IsDirty(void)\n4316 long COleServerDoc::XPersistStorage::IsDirty(void)\n4317 long COleControl::XPersistStreamInit::IsDirty(void)\n4318 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n4319 unsigned int CWnd::IsDlgButtonChecked(int)const \n4320 int CControlBar::IsDockBar(void)const \n4321 int CDockBar::IsDockBar(void)const \n4322 int CFileFind::IsDots(void)const \n4323 int CGopherFileFind::IsDots(void)const \n4324 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty(void)const \n4325 bool ATL::CSimpleStringT<char,1>::IsEmpty(void)const \n4326 int CCheckListBox::IsEnabled(int)\n4327 int CDaoRecordset::IsEOF(void)const \n4328 int CDHtmlDialog::IsExternalDispatchSafe(void)\n4329 int CDaoRecordset::IsFieldDirty(void *)\n4330 int CRecordset::IsFieldDirty(void *)\n4331 int CDaoRecordset::IsFieldNull(void *)\n4332 int CRecordset::IsFieldNull(void *)\n4333 int CDaoRecordset::IsFieldNullable(void *)\n4334 int CRecordset::IsFieldNullable(void *)\n4335 int CRecordset::IsFieldNullable(unsigned long)const \n4336 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n4337 int CRecordset::IsFieldStatusDirty(unsigned long)const \n4338 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n4339 int CRecordset::IsFieldStatusNull(unsigned long)const \n4340 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n4341 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n4342 int CFieldExchange::IsFieldType(unsigned int *)\n4343 int CControlBar::IsFloating(void)const \n4344 int CFrameWnd::IsFrameWnd(void)const \n4345 int CWnd::IsFrameWnd(void)const \n4346 int IsHelpKey(tagMSG *)\n4347 int CWinThread::IsIdleMessage(tagMSG *)\n4348 int CCmdTarget::IsInvokeAllowed(long)\n4349 int COleControl::IsInvokeAllowed(long)\n4350 int CRecordset::IsJoin(wchar_t const *)\n4351 int CObject::IsKindOf(CRuntimeconst *)const \n4352 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n4353 int COccManager::IsLabelControl(CWnd *)\n4354 int COleObjectFactory::IsLicenseValid(void)\n4355 int CControlCreationInfo::IsManaged(void)const \n4356 int CDaoRecordset::IsMatch(void)\n4357 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n4358 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n4359 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n4360 int CHtmlEditDoc::IsModified(void)\n4361 int COleClientItem::IsModified(void)const \n4362 int COleControl::IsModified(void)\n4363 int COlePropertyPage::IsModified(void)\n4364 int CRichEditDoc::IsModified(void)\n4365 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n4366 int CDaoRecordView::IsOnFirstRecord(void)\n4367 int CRecordView::IsOnFirstRecord(void)\n4368 int CDaoRecordView::IsOnLastRecord(void)\n4369 int CRecordView::IsOnLastRecord(void)\n4370 int CRecordset::IsOpen(void)const \n4371 long COlePropertyPage::XPropertyPage::IsPageDirty(void)\n4372 int CRecordset::IsParamStatusNull(unsigned long)const \n4373 int CRecordset::IsRecordsetUpdatable(void)\n4374 int CCmdTarget::IsResultExpected(void)\n4375 int CRichEditView::IsRichEditFormat(unsigned short)\n4376 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n4377 int CRichEditView::IsSelected(CObject const *)const \n4378 int CView::IsSelected(CObject const *)const \n4379 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n4380 int CObject::IsSerializable(void)const \n4381 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n4382 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n4383 int CRecordset::IsSQLUpdatable(wchar_t const *)\n4384 int COleControl::IsSubclassedControl(void)\n4385 int CThemeHelper::IsThemeBackgroundPartiallyTransparent(void *,int,int)\n4386 int CThemeHelper::IsThemeBackgroundPartiallyTransparentFail(void *,int,int)\n4387 int CThemeHelper::IsThemePartDefined(void *,int,int)\n4388 int CThemeHelper::IsThemePartDefinedFail(void *,int,int)\n4389 int CWnd::IsTopParentActive(void)const \n4390 int CFrameWnd::IsTracking(void)const \n4391 long CDocObjectServer::XOleObject::IsUpToDate(void)\n4392 long COleControl::XOleObject::IsUpToDate(void)\n4393 long COleServerDoc::XOleObject::IsUpToDate(void)\n4394 long COleServerItem::XOleObject::IsUpToDate(void)\n4395 int CDaoFieldExchange::IsValidOperation(void)\n4396 int CControlBar::IsVisible(void)const \n4397 int COleControlSite::IsWindowEnabled(void)const \n4398 int CWnd::IsWindowEnabled(void)const \n4399 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n4400 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n4401 void COleControl::KeyDown(unsigned short *)\n4402 void COleControl::KeyUp(unsigned short *)\n4403 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n4404 void CToolBar::Layout(void)\n4405 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n4406 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n4407 int CRichEditCtrl::LineIndex(int)const \n4408 int CRichEditCtrl::LineLength(int)const \n4409 void CRichEditCtrl::LineScroll(int,int)\n4410 int CDC::LineTo(int,int)\n4411 unsigned long CRichEditView::lMaxSize\n4412 long CBlobProperty::Load(IStream *)\n4413 int CDialogTemplate::Load(wchar_t const *)\n4414 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n4415 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n4416 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n4417 long COleControl::XPersistMemory::Load(void *,unsigned long)\n4418 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n4419 long COleControl::XPersistStorage::Load(IStorage *)\n4420 long COleServerDoc::XPersistStorage::Load(IStorage *)\n4421 long COleControl::XPersistStreamInit::Load(IStream *)\n4422 int CFrameWnd::LoadAccelTable(wchar_t const *)\n4423 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL(void)\n4424 void CFrameWnd::LoadBarState(wchar_t const *)\n4425 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n4426 int CToolBar::LoadBitmapW(wchar_t const *)\n4427 void CDaoRecordset::LoadFields(void)\n4428 void CRecordset::LoadFields(void)\n4429 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4430 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4431 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4432 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n4433 int CDHtmlDialog::LoadFromResource(unsigned int)\n4434 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n4435 int CHtmlView::LoadFromResource(unsigned int)\n4436 int CHtmlView::LoadFromResource(wchar_t const *)\n4437 void COleDocument::LoadFromStorage(void)\n4438 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n4439 void CDockState::LoadState(wchar_t const *)\n4440 long COleControl::LoadState(IStream *)\n4441 void CWinApp::LoadStdProfileSettings(unsigned int)\n4442 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n4443 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4444 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4445 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n4446 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n4447 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n4448 int CWinApp::LoadSysPolicies(void)\n4449 void CDocTemplate::LoadTemplate(void)\n4450 void CMultiDocTemplate::LoadTemplate(void)\n4451 int CToolBar::LoadToolBar(wchar_t const *)\n4452 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n4453 void COleSafeArray::Lock(void)\n4454 int CSingleLock::Lock(unsigned long)\n4455 int CSyncObject::Lock(unsigned long)\n4456 void CTypeLibCache::Lock(void)\n4457 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer(void)\n4458 char * ATL::CSimpleStringT<char,1>::LockBuffer(void)\n4459 wchar_t const * CEditView::LockBuffer(void)const \n4460 long COleControlContainer::XOleContainer::LockContainer(int)\n4461 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n4462 void COleLinkingDoc::LockExternal(int,int)\n4463 int COleControl::LockInPlaceActive(int)\n4464 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n4465 void CFile::LockRange(unsigned __int64,unsigned __int64)\n4466 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n4467 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n4468 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n4469 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n4470 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n4471 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n4472 long COleObjectFactory::XClassFactory::LockServer(int)\n4473 int CMapPtrToPtr::Lookup(void *,void * &)const \n4474 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n4475 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n4476 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n4477 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4478 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n4479 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n4480 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n4481 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n4482 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n4483 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n4484 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n4485 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n4486 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n4487 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n4488 void CDC::LPtoDP(tagSIZE *)const \n4489 void CDC::LPtoHIMETRIC(tagSIZE *)const \n4490 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower(void)\n4491 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower(void)\n4492 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse(void)\n4493 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse(void)\n4494 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper(void)\n4495 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper(void)\n4496 void CArchive::MapObject(CObject const *)\n4497 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n4498 int COleDialog::MapResult(unsigned int)\n4499 long CPropertyPage::MapWizardResult(long)\n4500 void CDaoRecordset::MarkForAddNew(void)\n4501 void CRecordset::MarkForAddNew(void)\n4502 void CDaoRecordset::MarkForEdit(void)\n4503 void CRecordset::MarkForUpdate(void)\n4504 void CRichEditDoc::MarkItemsClear(void)const \n4505 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n4506 int CFileFind::MatchesMask(unsigned long)const \n4507 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n4508 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n4509 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n4510 void CComboBox::MeasureItem(tagMEASUREITEM*)\n4511 void CListBox::MeasureItem(tagMEASUREITEM*)\n4512 void CMenu::MeasureItem(tagMEASUREITEM*)\n4513 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n4514 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n4515 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4516 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n4517 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n4518 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n4519 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n4520 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n4521 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n4522 void CPreviewDC::MirrorAttributes(void)\n4523 void CPreviewDC::MirrorFont(void)\n4524 void CPreviewDC::MirrorMappingMode(int)\n4525 void CPreviewDC::MirrorViewportOrg(void)\n4526 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4527 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n4528 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n4529 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4530 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n4531 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n4532 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n4533 void CDaoRecordset::Move(long)\n4534 void CDockContext::Move(CPoint)\n4535 void CRecordset::Move(long,unsigned short)\n4536 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n4537 void CDaoRecordset::MoveFirst(void)\n4538 void CDaoRecordset::MoveLast(void)\n4539 void CDaoRecordset::MoveNext(void)\n4540 void CDaoRecordset::MovePrev(void)\n4541 CPoint CDC::MoveTo(int,int)\n4542 void COleControlSite::MoveWindow(int,int,int,int)\n4543 void CWnd::MoveWindow(int,int,int,int,int)\n4544 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4545 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4546 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n4547 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n4548 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n4549 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n4550 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n4551 unsigned int COleDropSource::nDragDelay\n4552 unsigned int COleDropSource::nDragMinDist\n4553 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n4554 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc(void)\n4555 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc(void)\n4556 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc(void)\n4557 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc(void)\n4558 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n4559 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc(void)\n4560 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc(void)\n4561 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n4562 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n4563 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n4564 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n4565 unsigned int const CEditView::nMaxSize\n4566 int CRectTracker::NormalizeHit(int)const \n4567 void CDataBoundProperty::Notify(void)\n4568 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n4569 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n4570 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n4571 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n4572 void COleServerDoc::NotifyRename(wchar_t const *)\n4573 unsigned int COleDropTarget::nScrollDelay\n4574 int COleDropTarget::nScrollInset\n4575 unsigned int COleDropTarget::nScrollInterval\n4576 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA(void)\n4577 int CDC::OffsetClipRgn(int,int)\n4578 int CDC::OffsetClipRgn(tagSIZE)\n4579 CPoint CDC::OffsetViewportOrg(int,int)\n4580 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n4581 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n4582 CPoint CDC::OffsetWindowOrg(int,int)\n4583 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n4584 void CAsyncSocket::OnAccept(int)\n4585 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4586 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n4587 void COleClientItem::OnActivate(void)\n4588 void COleFrameHook::OnActivate(int)\n4589 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n4590 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n4591 long COleControl::OnActivateInPlace(int,tagMSG *)\n4592 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n4593 long CWnd::OnActivateTopLevel(unsigned int,long)\n4594 void COleClientItem::OnActivateUI(void)\n4595 long CDocObjectServer::OnActivateView(void)\n4596 void CFormView::OnActivateView(int,CView *,CView *)\n4597 void CPreviewView::OnActivateView(int,CView *,CView *)\n4598 void CRichEditView::OnActivateView(int,CView *,CView *)\n4599 void CView::OnActivateView(int,CView *,CView *)\n4600 long CToolTipCtrl::OnAddTool(unsigned int,long)\n4601 void CConnectionPoint::OnAdvise(int)\n4602 void COleControl::XEventConnPt::OnAdvise(int)\n4603 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n4604 void COleControl::OnAmbientPropertyChange(long)\n4605 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n4606 void COleControl::OnAppearanceChanged(void)\n4607 void CWinApp::OnAppExit(void)\n4608 int CPropertyPage::OnApply(void)\n4609 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n4610 void CDocObjectServer::OnApplyViewState(CArchive &)\n4611 void COleControl::OnBackColorChanged(void)\n4612 int CFrameWnd::OnBarCheck(unsigned int)\n4613 int COleIPFrameWnd::OnBarCheck(unsigned int)\n4614 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n4615 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n4616 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n4617 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n4618 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n4619 int COleDropSource::OnBeginDrag(CWnd *)\n4620 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4621 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n4622 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n4623 void COleControl::OnBorderStyleChanged(void)\n4624 void CRichEditView::OnBullet(void)\n4625 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n4626 long CFileDialog::XFileDialogControlEvents::OnButtonClicked(IFileDialogCustomize *,unsigned long)\n4627 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n4628 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n4629 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n4630 void CCommonDialog::OnCancel(void)\n4631 void CDialog::OnCancel(void)\n4632 void CPropertyPage::OnCancel(void)\n4633 void CRichEditView::OnCancelEditCntr(void)\n4634 void COleControl::OnCancelMode(void)\n4635 void CSplitterWnd::OnCancelMode(void)\n4636 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n4637 long COleControl::XFontNotification::OnChanged(long)\n4638 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n4639 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n4640 void CRectTracker::OnChangedRect(CRect const &)\n4641 void CDocument::OnChangedViewList(void)\n4642 int COleClientItem::OnChangeItemPosition(CRect const &)\n4643 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n4644 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n4645 void CRichEditView::OnCharBold(void)\n4646 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n4647 void CRichEditView::OnCharItalic(void)\n4648 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n4649 void CRichEditView::OnCharUnderline(void)\n4650 long CFileDialog::XFileDialogControlEvents::OnCheckButtonToggled(IFileDialogCustomize *,unsigned long,int)\n4651 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n4652 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n4653 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4654 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4655 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4656 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4657 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n4658 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4659 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n4660 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n4661 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n4662 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4663 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n4664 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n4665 void COleControl::OnClick(unsigned short)\n4666 CEnumArray * CEnumArray::OnClone(void)\n4667 CEnumArray * CEnumConnections::OnClone(void)\n4668 void CAsyncSocket::OnClose(int)\n4669 void CControlFrameWnd::OnClose(void)\n4670 void CFrameWnd::OnClose(void)\n4671 void CMiniDockFrameWnd::OnClose(void)\n4672 void COleControl::OnClose(unsigned long)\n4673 void COleServerDoc::OnClose(enum tagOLECLOSE)\n4674 void CPropertySheet::OnClose(void)\n4675 void COleClientItem::XAdviseSink::OnClose(void)\n4676 void CDocObjectServer::OnCloseDocument(void)\n4677 void CDocument::OnCloseDocument(void)\n4678 void COleDocument::OnCloseDocument(void)\n4679 void COleLinkingDoc::OnCloseDocument(void)\n4680 void COleServerDoc::OnCloseDocument(void)\n4681 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4682 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4683 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4684 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4685 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4686 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4687 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4688 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4689 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4690 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4691 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4692 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4693 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n4694 void CRichEditView::OnColorDefault(void)\n4695 int CColorDialog::OnColorOK(void)\n4696 void CRichEditView::OnColorPick(unsigned long)\n4697 int CFrameWnd::OnCommand(unsigned int,long)\n4698 int CMDIFrameWnd::OnCommand(unsigned int,long)\n4699 int COlePropertyPage::OnCommand(unsigned int,long)\n4700 int CPropertySheet::OnCommand(unsigned int,long)\n4701 int CSplitterWnd::OnCommand(unsigned int,long)\n4702 int CWnd::OnCommand(unsigned int,long)\n4703 long CDialog::OnCommandHelp(unsigned int,long)\n4704 long CFrameWnd::OnCommandHelp(unsigned int,long)\n4705 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n4706 long CPropertySheet::OnCommandHelp(unsigned int,long)\n4707 void CHtmlView::OnCommandStateChange(long,int)\n4708 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n4709 void CAsyncSocket::OnConnect(int)\n4710 void CFrameWnd::OnContextHelp(void)\n4711 int COleFrameHook::OnContextHelp(int)\n4712 void COleIPFrameWnd::OnContextHelp(void)\n4713 void CWinApp::OnContextHelp(void)\n4714 long CFileDialog::XFileDialogControlEvents::OnControlActivating(IFileDialogCustomize *,unsigned long)\n4715 long COleControlSite::XOleControlSite::OnControlInfoChanged(void)\n4716 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n4717 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n4718 int CEditView::OnCreate(tagCREATESTRUCTW *)\n4719 int CFormView::OnCreate(tagCREATESTRUCTW *)\n4720 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4721 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n4722 int COleControl::OnCreate(tagCREATESTRUCTW *)\n4723 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n4724 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n4725 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n4726 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n4727 int CView::OnCreate(tagCREATESTRUCTW *)\n4728 int CCmdTarget::OnCreateAggregates(void)\n4729 int COleControl::OnCreateAggregates(void)\n4730 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4731 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n4732 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n4733 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n4734 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n4735 CCmdTarget * COleObjectFactory::OnCreateObject(void)\n4736 CCmdTarget * COleTemplateServer::OnCreateObject(void)\n4737 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n4738 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4739 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n4740 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n4741 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n4742 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n4743 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n4744 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4745 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n4746 int CDocManager::OnDDECommand(wchar_t *)\n4747 int CWinApp::OnDDECommand(wchar_t *)\n4748 long CFrameWnd::OnDDEExecute(unsigned int,long)\n4749 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n4750 long CFrameWnd::OnDDETerminate(unsigned int,long)\n4751 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n4752 void COleClientItem::OnDeactivate(void)\n4753 void COleServerDoc::OnDeactivate(void)\n4754 void COleClientItem::OnDeactivateAndUndo(void)\n4755 void COleClientItem::OnDeactivateUI(int)\n4756 void COleServerDoc::OnDeactivateUI(int)\n4757 void CRichEditCntrItem::OnDeactivateUI(int)\n4758 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n4759 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n4760 void CControlBar::OnDestroy(void)\n4761 void CDHtmlDialog::OnDestroy(void)\n4762 void CEditView::OnDestroy(void)\n4763 void CFrameWnd::OnDestroy(void)\n4764 void CHtmlView::OnDestroy(void)\n4765 void CMDIChildWnd::OnDestroy(void)\n4766 void CMDIFrameWnd::OnDestroy(void)\n4767 void COleControl::OnDestroy(void)\n4768 void COleIPFrameWnd::OnDestroy(void)\n4769 void CRichEditView::OnDestroy(void)\n4770 void CTabCtrl::OnDestroy(void)\n4771 void CTreeCtrl::OnDestroy(void)\n4772 void CTreeView::OnDestroy(void)\n4773 void CView::OnDestroy(void)\n4774 void CWnd::OnDestroy(void)\n4775 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n4776 void CRichEditView::OnDevModeChange(wchar_t *)\n4777 void CWnd::OnDevModeChange(wchar_t *)\n4778 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n4779 void COleClientItem::OnDiscardUndoState(void)\n4780 void CSplitterWnd::OnDisplayChange(void)\n4781 long CWnd::OnDisplayChange(unsigned int,long)\n4782 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n4783 int COleFrameHook::OnDocActivate(int)\n4784 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n4785 void CHtmlView::OnDocumentComplete(wchar_t const *)\n4786 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n4787 long CBrowserControlSite::OnDocWindowActivate(int)\n4788 long CDHtmlDialog::OnDocWindowActivate(int)\n4789 long CHtmlView::OnDocWindowActivate(int)\n4790 void COleServerDoc::OnDocWindowActivate(int)\n4791 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n4792 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4793 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n4794 void CDocObjectServerItem::OnDoVerb(long)\n4795 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n4796 void COleServerItem::OnDoVerb(long)\n4797 void CHtmlView::OnDownloadBegin(void)\n4798 void CHtmlView::OnDownloadComplete(void)\n4799 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n4800 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n4801 void COleDropTarget::OnDragLeave(CWnd *)\n4802 void CView::OnDragLeave(void)\n4803 long CWnd::OnDragList(unsigned int,long)\n4804 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n4805 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n4806 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n4807 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n4808 void CCtrlView::OnDraw(CDC *)\n4809 void CFormView::OnDraw(CDC *)\n4810 void CHtmlView::OnDraw(CDC *)\n4811 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n4812 void CPreviewView::OnDraw(CDC *)\n4813 void CView::OnDraw(CDC *)\n4814 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n4815 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n4816 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n4817 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n4818 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n4819 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n4820 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n4821 void CSplitButton::OnDropDown(tagNMHDR *,long *)\n4822 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n4823 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n4824 void CFrameWnd::OnDropFiles(HDROP__ *)\n4825 void CRichEditView::OnDropFiles(HDROP__ *)\n4826 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n4827 int CEditView::OnEditChange(void)\n4828 void COleDocument::OnEditChangeIcon(void)\n4829 void CEditView::OnEditClear(void)\n4830 void CRichEditView::OnEditClear(void)\n4831 void COleDocument::OnEditConvert(void)\n4832 void CEditView::OnEditCopy(void)\n4833 void CHtmlView::OnEditCopy(void)\n4834 void CRichEditView::OnEditCopy(void)\n4835 void CEditView::OnEditCut(void)\n4836 void CHtmlView::OnEditCut(void)\n4837 void CRichEditView::OnEditCut(void)\n4838 void CEditView::OnEditFind(void)\n4839 void CRichEditView::OnEditFind(void)\n4840 void CEditView::OnEditFindReplace(int)\n4841 void CRichEditView::OnEditFindReplace(int)\n4842 void COleDocument::OnEditLinks(void)\n4843 void CEditView::OnEditPaste(void)\n4844 void CHtmlView::OnEditPaste(void)\n4845 void CRichEditView::OnEditPaste(void)\n4846 void CRichEditView::OnEditPasteSpecial(void)\n4847 void CRichEditView::OnEditProperties(void)\n4848 int COlePropertyPage::OnEditProperty(long)\n4849 void CRichEditView::OnEditRedo(void)\n4850 void CEditView::OnEditRepeat(void)\n4851 void CRichEditView::OnEditRepeat(void)\n4852 void CEditView::OnEditReplace(void)\n4853 void CRichEditView::OnEditReplace(void)\n4854 void CEditView::OnEditSelectAll(void)\n4855 void CRichEditView::OnEditSelectAll(void)\n4856 void CEditView::OnEditUndo(void)\n4857 void CRichEditView::OnEditUndo(void)\n4858 void CFrameWnd::OnEnable(int)\n4859 void CToolTipCtrl::OnEnable(int)\n4860 void COleControl::OnEnabledChanged(void)\n4861 long CHtmlView::OnEnableModeless(int)\n4862 void COleFrameHook::OnEnableModeless(int)\n4863 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4864 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n4865 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n4866 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n4867 void CFrameWnd::OnEndSession(int)\n4868 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n4869 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n4870 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n4871 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n4872 int CDockBar::OnEraseBkgnd(CDC *)\n4873 int CFrameWnd::OnEraseBkgnd(CDC *)\n4874 int COleControl::OnEraseBkgnd(CDC *)\n4875 int COleResizeBar::OnEraseBkgnd(CDC *)\n4876 int CPreviewView::OnEraseBkgnd(CDC *)\n4877 int CReBar::OnEraseBkgnd(CDC *)\n4878 int CToolBar::OnEraseBkgnd(CDC *)\n4879 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4880 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n4881 int COleControlSite::OnEvent(AFX_EVENT *)\n4882 void COleControl::OnEventAdvise(int)\n4883 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4884 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n4885 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n4886 void CDocument::OnFileClose(void)\n4887 void CFileDialog::OnFileNameChange(void)\n4888 int CFileDialog::OnFileNameOK(void)\n4889 void CDocManager::OnFileNew(void)\n4890 void CWinApp::OnFileNew(void)\n4891 long CFileDialog::XFileDialogEvents::OnFileOk(IFileDialog *)\n4892 void CDocManager::OnFileOpen(void)\n4893 void CWinApp::OnFileOpen(void)\n4894 void CHtmlView::OnFilePrint(void)\n4895 void CView::OnFilePrint(void)\n4896 void CView::OnFilePrintPreview(void)\n4897 void CWinApp::OnFilePrintSetup(void)\n4898 void CDocument::OnFileSave(void)\n4899 void CDocument::OnFileSaveAs(void)\n4900 void COleServerDoc::OnFileSaveCopyAs(void)\n4901 void CDocument::OnFileSendMail(void)\n4902 void COleDocument::OnFileSendMail(void)\n4903 void COleServerDoc::OnFileUpdate(void)\n4904 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n4905 void CCmdTarget::OnFinalRelease(void)\n4906 void CDocument::OnFinalRelease(void)\n4907 void COleControl::OnFinalRelease(void)\n4908 void COlePropertyPage::OnFinalRelease(void)\n4909 void COleServerItem::OnFinalRelease(void)\n4910 void CWnd::OnFinalRelease(void)\n4911 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n4912 void CEditView::OnFindNext(wchar_t const *,int,int)\n4913 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n4914 long CEditView::OnFindReplaceCmd(unsigned int,long)\n4915 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n4916 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n4917 long COleControlSite::XOleControlSite::OnFocus(int)\n4918 void CFileDialog::OnFolderChange(void)\n4919 long CFileDialog::XFileDialogEvents::OnFolderChange(IFileDialog *)\n4920 long CFileDialog::XFileDialogEvents::OnFolderChanging(IFileDialog *,IShellItem *)\n4921 void COleControl::OnFontChanged(void)\n4922 void COleControl::OnForeColorChanged(void)\n4923 void CRichEditView::OnFormatFont(void)\n4924 void COleControl::OnFrameClose(void)\n4925 long CBrowserControlSite::OnFrameWindowActivate(int)\n4926 long CDHtmlDialog::OnFrameWindowActivate(int)\n4927 long CHtmlView::OnFrameWindowActivate(int)\n4928 void COleServerDoc::OnFrameWindowActivate(int)\n4929 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n4930 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4931 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n4932 void COleControl::OnFreezeEvents(int)\n4933 void CHtmlView::OnFullScreen(int)\n4934 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n4935 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4936 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n4937 void COleClientItem::OnGetClipRect(CRect &)\n4938 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n4939 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n4940 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4941 unsigned int COleControl::OnGetDlgCode(void)\n4942 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n4943 COleServerItem * CRichEditDoc::OnGetEmbeddedItem(void)\n4944 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n4945 long CHtmlView::OnGetExternal(IDispatch * *)\n4946 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n4947 HMENU__ * COleControl::OnGetInPlaceMenu(void)\n4948 void COleClientItem::OnGetItemPosition(CRect &)\n4949 void COleDocObjectItem::OnGetItemPosition(CRect &)\n4950 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n4951 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n4952 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n4953 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4954 long CWnd::OnGetObject(unsigned int,long)\n4955 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n4956 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n4957 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n4958 long CStatusBar::OnGetText(unsigned int,long)\n4959 long CStatusBar::OnGetTextLength(unsigned int,long)\n4960 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4961 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n4962 unsigned long COleControl::OnGetViewStatus(void)\n4963 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n4964 void CReBar::OnHeightChange(tagNMHDR *,long *)\n4965 void CFrameWnd::OnHelp(void)\n4966 int COlePropertyPage::OnHelp(wchar_t const *)\n4967 void CWinApp::OnHelp(void)\n4968 void CWnd::OnHelp(void)\n4969 long CFileDialog::XFileDialogEvents::OnHelp(IFileDialog *)\n4970 void CWinApp::OnHelpFinder(void)\n4971 void CWnd::OnHelpFinder(void)\n4972 long CControlBar::OnHelpHitTest(unsigned int,long)\n4973 long CDialog::OnHelpHitTest(unsigned int,long)\n4974 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n4975 void CWinApp::OnHelpIndex(void)\n4976 void CWnd::OnHelpIndex(void)\n4977 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n4978 int CWnd::OnHelpInfo(tagHELPINFO *)\n4979 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n4980 void CWinApp::OnHelpUsing(void)\n4981 void CWnd::OnHelpUsing(void)\n4982 void CDocObjectServerItem::OnHide(void)\n4983 long COleControl::OnHide(void)\n4984 void COleServerItem::OnHide(void)\n4985 void CFrameWnd::OnHideMenuBar(void)\n4986 void COleControl::OnHideToolBars(void)\n4987 long CHtmlView::OnHideUI(void)\n4988 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4989 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4990 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4991 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4992 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n4993 void CDocTemplate::OnIdle(void)\n4994 void CDocument::OnIdle(void)\n4995 void COleDocument::OnIdle(void)\n4996 int CWinApp::OnIdle(long)\n4997 int CWinThread::OnIdle(long)\n4998 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n4999 void CFrameWnd::OnIdleUpdateCmdUI(void)\n5000 void CMDIFrameWnd::OnIdleUpdateCmdUI(void)\n5001 void COleCntrFrameWnd::OnIdleUpdateCmdUI(void)\n5002 void COleIPFrameWnd::OnIdleUpdateCmdUI(void)\n5003 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n5004 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n5005 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n5006 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n5007 int CDHtmlDialog::OnInitDialog(void)\n5008 int CDialog::OnInitDialog(void)\n5009 int COlePropertiesDialog::OnInitDialog(void)\n5010 int COlePropertyPage::OnInitDialog(void)\n5011 int CPropertySheet::OnInitDialog(void)\n5012 void CFileDialog::OnInitDone(void)\n5013 int COleServerItem::OnInitFromData(COleDataObject *,int)\n5014 void CControlBar::OnInitialUpdate(void)\n5015 void CDaoRecordView::OnInitialUpdate(void)\n5016 void CFormView::OnInitialUpdate(void)\n5017 void COleDBRecordView::OnInitialUpdate(void)\n5018 void CRecordView::OnInitialUpdate(void)\n5019 void CRichEditView::OnInitialUpdate(void)\n5020 void CView::OnInitialUpdate(void)\n5021 void CFrameWnd::OnInitMenu(CMenu *)\n5022 void COleFrameHook::OnInitMenu(CMenu *)\n5023 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n5024 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n5025 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n5026 long COleClientItem::XOleIPSite::OnInPlaceActivate(void)\n5027 long COleControlSite::XOleIPSite::OnInPlaceActivate(void)\n5028 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n5029 long COleClientItem::XOleIPSite::OnInPlaceDeactivate(void)\n5030 long COleControlSite::XOleIPSite::OnInPlaceDeactivate(void)\n5031 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n5032 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n5033 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n5034 void CRichEditView::OnInsertObject(void)\n5035 void CSplitterWnd::OnInvertTracker(CRect const &)\n5036 long CFileDialog::XFileDialogControlEvents::OnItemSelected(IFileDialogCustomize *,unsigned long,unsigned long)\n5037 void CDockContext::OnKey(int,int)\n5038 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5039 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5040 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5041 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n5042 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n5043 void COleControl::OnKeyPressEvent(unsigned short)\n5044 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n5045 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n5046 long CPropertySheet::OnKickIdle(unsigned int,long)\n5047 int CPropertyPage::OnKillActive(void)\n5048 void COleControl::OnKillFocus(CWnd *)\n5049 long CCheckListBox::OnLBAddString(unsigned int,long)\n5050 long CCheckListBox::OnLBFindString(unsigned int,long)\n5051 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n5052 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n5053 long CCheckListBox::OnLBGetText(unsigned int,long)\n5054 long CCheckListBox::OnLBInsertString(unsigned int,long)\n5055 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n5056 long CCheckListBox::OnLBSelectString(unsigned int,long)\n5057 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n5058 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n5059 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n5060 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n5061 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n5062 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n5063 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n5064 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n5065 void COleControl::OnLButtonDown(unsigned int,CPoint)\n5066 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n5067 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n5068 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n5069 void COleControl::OnLButtonUp(unsigned int,CPoint)\n5070 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n5071 void CAsyncMonikerFile::OnLowResource(void)\n5072 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n5073 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n5074 void COleControl::OnMButtonDown(unsigned int,CPoint)\n5075 void COleControl::OnMButtonUp(unsigned int,CPoint)\n5076 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n5077 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n5078 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n5079 void CHtmlView::OnMenuBar(int)\n5080 long CFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n5081 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n5082 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5083 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5084 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n5085 int COleMessageFilter::OnMessagePending(tagMSG const *)\n5086 int CSocket::OnMessagePending(void)\n5087 void COleControl::OnMnemonic(tagMSG *)\n5088 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n5089 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5090 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5091 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5092 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5093 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n5094 void COleControl::OnMouseMove(unsigned int,CPoint)\n5095 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n5096 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n5097 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n5098 int CDaoRecordView::OnMove(unsigned int)\n5099 void COleControl::OnMove(int,int)\n5100 int COleDBRecordView::OnMove(unsigned int)\n5101 int CRecordView::OnMove(unsigned int)\n5102 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n5103 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n5104 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n5105 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n5106 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n5107 int CFrameWnd::OnNcActivate(int)\n5108 int CMDIChildWnd::OnNcActivate(int)\n5109 int CMiniFrameWnd::OnNcActivate(int)\n5110 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5111 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5112 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5113 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5114 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n5115 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n5116 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n5117 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n5118 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n5119 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n5120 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n5121 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n5122 void CListCtrl::OnNcDestroy(void)\n5123 void CListView::OnNcDestroy(void)\n5124 void CWnd::OnNcDestroy(void)\n5125 long CMiniFrameWnd::OnNcHitTest(CPoint)\n5126 long COleControl::OnNcHitTest(CPoint)\n5127 long CStatusBar::OnNcHitTest(CPoint)\n5128 long CToolBar::OnNcHitTest(CPoint)\n5129 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n5130 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n5131 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n5132 void CDockBar::OnNcPaint(void)\n5133 void COleControl::OnNcPaint(void)\n5134 void CReBar::OnNcPaint(void)\n5135 void CStatusBar::OnNcPaint(void)\n5136 void CToolBar::OnNcPaint(void)\n5137 int CDocument::OnNewDocument(void)\n5138 int CHtmlEditDoc::OnNewDocument(void)\n5139 int COleDocument::OnNewDocument(void)\n5140 int COleLinkingDoc::OnNewDocument(void)\n5141 void COleServerDoc::OnNewEmbedding(IStorage *)\n5142 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n5143 int CEnumArray::OnNext(void *)\n5144 int CEnumConnections::OnNext(void *)\n5145 int CEnumConnPoints::OnNext(void *)\n5146 int CEnumFormatEtc::OnNext(void *)\n5147 int CEnumOleVerb::OnNext(void *)\n5148 int CEnumUnknown::OnNext(void *)\n5149 void CPreviewView::OnNextPage(void)\n5150 int CView::OnNextPaneCmd(unsigned int)\n5151 int CFileDialog::OnNotify(unsigned int,long,long *)\n5152 int CPropertyPage::OnNotify(unsigned int,long,long *)\n5153 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n5154 int CWnd::OnNotify(unsigned int,long,long *)\n5155 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n5156 long CWnd::OnNTCtlColor(unsigned int,long)\n5157 void CPreviewView::OnNumPageChange(void)\n5158 void COlePropertyPage::OnObjectsChanged(void)\n5159 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n5160 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n5161 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n5162 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n5163 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n5164 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n5165 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n5166 void CCommonDialog::OnOK(void)\n5167 void CDialog::OnOK(void)\n5168 void CPropertyPage::OnOK(void)\n5169 long COleControl::OnOpen(int,tagMSG *)\n5170 void COleServerItem::OnOpen(void)\n5171 int CDocument::OnOpenDocument(wchar_t const *)\n5172 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n5173 int COleDocument::OnOpenDocument(wchar_t const *)\n5174 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n5175 void COleServerDoc::OnOpenEmbedding(IStorage *)\n5176 int CWinApp::OnOpenRecentFile(unsigned int)\n5177 void CAsyncSocket::OnOutOfBandData(int)\n5178 long CFileDialog::XFileDialogEvents::OnOverwrite(IFileDialog *,IShellItem *,enum tagFDE_OVERWRITE_RESPONSE *)\n5179 void CCommonDialog::OnPaint(void)\n5180 void CControlBar::OnPaint(void)\n5181 void CCtrlView::OnPaint(void)\n5182 void CDialog::OnPaint(void)\n5183 void CDockBar::OnPaint(void)\n5184 void CHtmlEditView::OnPaint(void)\n5185 void CHtmlView::OnPaint(void)\n5186 void COleControl::OnPaint(CDC *)\n5187 int COleControlContainer::OnPaint(CDC *)\n5188 void COleResizeBar::OnPaint(void)\n5189 void CReBar::OnPaint(void)\n5190 void CSplitterWnd::OnPaint(void)\n5191 void CStatusBar::OnPaint(void)\n5192 void CToolBar::OnPaint(void)\n5193 void CView::OnPaint(void)\n5194 void CWnd::OnPaint(void)\n5195 void CFrameWnd::OnPaletteChanged(CWnd *)\n5196 void COleFrameHook::OnPaletteChanged(CWnd *)\n5197 void CRichEditView::OnParaAlign(unsigned short)\n5198 void CRichEditView::OnParaCenter(void)\n5199 void CRichEditView::OnParaLeft(void)\n5200 void CRichEditView::OnParaRight(void)\n5201 void CWnd::OnParentNotify(unsigned int,long)\n5202 int CRichEditView::OnPasteNativeObject(IStorage *)\n5203 long CFrameWnd::OnPopMessageString(unsigned int,long)\n5204 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n5205 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n5206 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n5207 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n5208 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n5209 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n5210 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n5211 int CEditView::OnPreparePrinting(CPrintInfo *)\n5212 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n5213 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n5214 int CView::OnPreparePrinting(CPrintInfo *)\n5215 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n5216 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n5217 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n5218 void CPreviewView::OnPreviewClose(void)\n5219 void CPreviewView::OnPreviewPrint(void)\n5220 void CPreviewView::OnPrevPage(void)\n5221 void CEditView::OnPrint(CDC *,CPrintInfo *)\n5222 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n5223 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n5224 void CView::OnPrint(CDC *,CPrintInfo *)\n5225 void CRichEditView::OnPrinterChanged(CDC const &)\n5226 void CPrintDialog::OnPrintSetup(void)\n5227 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n5228 void CHtmlView::OnProgressChange(long,long)\n5229 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n5230 void CHtmlView::OnPropertyChange(wchar_t const *)\n5231 int CPropertyPage::OnQueryCancel(void)\n5232 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n5233 int CFrameWnd::OnQueryEndSession(void)\n5234 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5235 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5236 int CFrameWnd::OnQueryNewPalette(void)\n5237 int COleFrameHook::OnQueryNewPalette(void)\n5238 int COleServerItem::OnQueryUpdateItems(void)\n5239 void CHtmlView::OnQuit(void)\n5240 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n5241 void COleControl::OnRButtonDown(unsigned int,CPoint)\n5242 void COleControl::OnRButtonUp(unsigned int,CPoint)\n5243 int COleServerDoc::OnReactivateAndUndo(void)\n5244 void COleFrameHook::OnRecalcLayout(void)\n5245 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n5246 void CReBar::OnRecalcParent(void)\n5247 void CAsyncSocket::OnReceive(int)\n5248 void COleControl::OnReflectorDestroyed(void)\n5249 void COleClientItem::OnRemoveMenus(CMenu *)\n5250 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n5251 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n5252 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5253 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5254 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5255 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5256 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n5257 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5258 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5259 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n5260 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n5261 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n5262 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5263 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5264 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n5265 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n5266 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n5267 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n5268 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n5269 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n5270 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n5271 long COleControl::XFontNotification::OnRequestEdit(long)\n5272 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n5273 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n5274 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n5275 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n5276 void CEnumArray::OnReset(void)\n5277 void CPropertyPage::OnReset(void)\n5278 void COleControl::OnResetState(void)\n5279 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5280 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5281 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n5282 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n5283 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n5284 void COleClientItem::XAdviseSink::OnSave(void)\n5285 int CDocument::OnSaveDocument(wchar_t const *)\n5286 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n5287 int COleDocument::OnSaveDocument(wchar_t const *)\n5288 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n5289 int COleServerDoc::OnSaveDocument(wchar_t const *)\n5290 void COleServerDoc::OnSaveEmbedding(IStorage *)\n5291 void COleServerItem::OnSaveEmbedding(IStorage *)\n5292 void CDocObjectServer::OnSaveViewState(CArchive &)\n5293 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n5294 int CView::OnScroll(unsigned int,unsigned int,int)\n5295 int COleClientItem::OnScrollBy(CSize)\n5296 int CScrollView::OnScrollBy(CSize,int)\n5297 int CView::OnScrollBy(CSize,int)\n5298 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n5299 long CFileDialog::XFileDialogEvents::OnSelectionChange(IFileDialog *)\n5300 void CAsyncSocket::OnSend(int)\n5301 int CPropertyPage::OnSetActive(void)\n5302 long CToolBar::OnSetBitmapSize(unsigned int,long)\n5303 long CToolBar::OnSetButtonSize(unsigned int,long)\n5304 void COleControl::OnSetClientSite(void)\n5305 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n5306 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5307 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5308 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5309 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5310 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n5311 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5312 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5313 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5314 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5315 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n5316 long CPropertySheet::OnSetDefID(unsigned int,long)\n5317 int COleControl::OnSetExtent(tagSIZE *)\n5318 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n5319 void CFormView::OnSetFocus(CWnd *)\n5320 void CFrameWnd::OnSetFocus(CWnd *)\n5321 void COleControl::OnSetFocus(CWnd *)\n5322 void CWnd::OnSetFocus(CWnd *)\n5323 long CCheckListBox::OnSetFont(unsigned int,long)\n5324 void CDialog::OnSetFont(CFont *)\n5325 long CEditView::OnSetFont(unsigned int,long)\n5326 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n5327 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n5328 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n5329 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n5330 long CFrameWnd::OnSetMessageString(unsigned int,long)\n5331 long COleControl::OnSetMessageString(unsigned int,long)\n5332 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n5333 long CStatusBar::OnSetMinHeight(unsigned int,long)\n5334 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n5335 void CDatabase::OnSetOptions(void *)\n5336 void CRecordset::OnSetOptions(void *)\n5337 void COlePropertyPage::OnSetPageSite(void)\n5338 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n5339 long CToolBar::OnSetSizeHelper(CSize &,long)\n5340 long COleControl::OnSetText(unsigned int,long)\n5341 long CStatusBar::OnSetText(unsigned int,long)\n5342 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n5343 void CRecordset::OnSetUpdateOptions(void *)\n5344 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n5345 long CFileDialog::XFileDialogEvents::OnShareViolation(IFileDialog *,IShellItem *,enum tagFDE_SHAREVIOLATION_RESPONSE *)\n5346 void CDocObjectServerItem::OnShow(void)\n5347 void COleServerItem::OnShow(void)\n5348 long CReBar::OnShowBand(unsigned int,long)\n5349 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n5350 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n5351 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n5352 void COleServerDoc::OnShowDocument(int)\n5353 void COleClientItem::OnShowItem(void)\n5354 void CFrameWnd::OnShowMenuBar(void)\n5355 void COleControl::OnShowToolBars(void)\n5356 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n5357 void COleDocument::OnShowViews(int)\n5358 void COleLinkingDoc::OnShowViews(int)\n5359 void COleControl::OnShowWindow(int,unsigned int)\n5360 long COleClientItem::XOleClientSite::OnShowWindow(int)\n5361 long COleControlSite::XOleClientSite::OnShowWindow(int)\n5362 void CDHtmlDialog::OnSize(unsigned int,int,int)\n5363 void CFrameWnd::OnSize(unsigned int,int,int)\n5364 void CHtmlView::OnSize(unsigned int,int,int)\n5365 void CMDIChildWnd::OnSize(unsigned int,int,int)\n5366 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n5367 void COleControl::OnSize(unsigned int,int,int)\n5368 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n5369 void COleResizeBar::OnSize(unsigned int,int,int)\n5370 void CPreviewView::OnSize(unsigned int,int,int)\n5371 void CScrollView::OnSize(unsigned int,int,int)\n5372 void CSplitterWnd::OnSize(unsigned int,int,int)\n5373 void CStatusBar::OnSize(unsigned int,int,int)\n5374 long CControlBar::OnSizeParent(unsigned int,long)\n5375 long CDockBar::OnSizeParent(unsigned int,long)\n5376 long COleResizeBar::OnSizeParent(unsigned int,long)\n5377 int CEnumArray::OnSkip(void)\n5378 long CSocketWnd::OnSocketDead(unsigned int,long)\n5379 long CSocketWnd::OnSocketNotify(unsigned int,long)\n5380 int CView::OnSplitCmd(unsigned int)\n5381 void CAsyncMonikerFile::OnStartBinding(void)\n5382 void CHtmlView::OnStatusBar(int)\n5383 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n5384 void CHtmlView::OnStatusTextChange(wchar_t const *)\n5385 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n5386 void CToolBar::OnSysColorChange(void)\n5387 void CWnd::OnSysColorChange(void)\n5388 void CFrameWnd::OnSysCommand(unsigned int,long)\n5389 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n5390 void CPropertySheet::OnSysCommand(unsigned int,long)\n5391 void CSplitterWnd::OnSysCommand(unsigned int,long)\n5392 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n5393 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n5394 void COleControl::OnTextChanged(void)\n5395 void CEditView::OnTextNotFound(wchar_t const *)\n5396 void CRichEditView::OnTextNotFound(wchar_t const *)\n5397 void CHtmlView::OnTheaterMode(int)\n5398 long CControlBar::OnThemeChanged(void)\n5399 void CControlBar::OnTimer(unsigned int)\n5400 void CHtmlView::OnTitleChange(wchar_t const *)\n5401 void CHtmlView::OnToolBar(int)\n5402 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n5403 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n5404 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n5405 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5406 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n5407 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n5408 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n5409 void CFileDialog::OnTypeChange(void)\n5410 long CFileDialog::XFileDialogEvents::OnTypeChange(IFileDialog *)\n5411 void COleControlContainer::OnUIActivate(COleControlSite *)\n5412 long COleClientItem::XOleIPSite::OnUIActivate(void)\n5413 long COleControlSite::XOleIPSite::OnUIActivate(void)\n5414 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n5415 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n5416 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n5417 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n5418 void CView::OnUpdate(CView *,long,CObject *)\n5419 void CRichEditView::OnUpdateBullet(CCmdUI *)\n5420 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n5421 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n5422 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n5423 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n5424 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n5425 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n5426 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n5427 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n5428 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n5429 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n5430 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n5431 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5432 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n5433 int COleServerDoc::OnUpdateDocument(void)\n5434 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n5435 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n5436 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n5437 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n5438 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n5439 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n5440 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n5441 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n5442 void CEditView::OnUpdateEditUndo(CCmdUI *)\n5443 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n5444 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n5445 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n5446 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n5447 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5448 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n5449 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n5450 void CFrameWnd::OnUpdateFrameTitle(int)\n5451 void CMDIChildWnd::OnUpdateFrameTitle(int)\n5452 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n5453 int COleClientItem::OnUpdateFrameTitle(void)\n5454 int COleFrameHook::OnUpdateFrameTitle(void)\n5455 void COleServerItem::OnUpdateItems(void)\n5456 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n5457 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n5458 void CEditView::OnUpdateNeedClip(CCmdUI *)\n5459 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n5460 void CEditView::OnUpdateNeedFind(CCmdUI *)\n5461 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n5462 void CEditView::OnUpdateNeedSel(CCmdUI *)\n5463 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n5464 void CEditView::OnUpdateNeedText(CCmdUI *)\n5465 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n5466 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n5467 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n5468 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n5469 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n5470 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n5471 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n5472 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n5473 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n5474 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n5475 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n5476 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n5477 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n5478 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n5479 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n5480 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n5481 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n5482 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n5483 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n5484 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n5485 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n5486 void CView::OnUpdateSplitCmd(CCmdUI *)\n5487 long CHtmlView::OnUpdateUI(void)\n5488 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n5489 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n5490 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n5491 void CHtmlView::OnVisible(int)\n5492 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n5493 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5494 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5495 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5496 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5497 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n5498 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n5499 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n5500 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n5501 void CMDIFrameWnd::OnWindowNew(void)\n5502 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n5503 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n5504 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5505 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n5506 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n5507 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n5508 long CPropertyPage::OnWizardBack(void)\n5509 int CPropertyPage::OnWizardFinish(void)\n5510 HWND__ * CPropertyPage::OnWizardFinishEx(void)\n5511 long CPropertyPage::OnWizardNext(void)\n5512 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n5513 void CPreviewView::OnZoomIn(void)\n5514 void CPreviewView::OnZoomOut(void)\n5515 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n5516 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n5517 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n5518 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n5519 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n5520 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n5521 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n5522 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n5523 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n5524 void CDaoQueryDef::Open(wchar_t const *)\n5525 void CDaoRecordset::Open(int,wchar_t const *,int)\n5526 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n5527 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n5528 void CDaoTableDef::Open(wchar_t const *)\n5529 void CDaoWorkspace::Open(wchar_t const *)\n5530 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n5531 int CDataPathProperty::Open(CFileException *)\n5532 int CDataPathProperty::Open(COleControl *,CFileException *)\n5533 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n5534 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n5535 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n5536 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n5537 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5538 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n5539 int CMonikerFile::Open(IMoniker *,CFileException *)\n5540 int CMonikerFile::Open(wchar_t const *,CFileException *)\n5541 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n5542 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n5543 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n5544 long CDocObjectServer::XOleDocumentView::Open(void)\n5545 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n5546 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5547 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n5548 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n5549 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n5550 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n5551 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n5552 long COleUILinkInfo::OpenLinkSource(unsigned long)\n5553 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5554 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n5555 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n5556 void * CThemeHelper::OpenThemeData(HWND__ *,wchar_t const *)\n5557 void * CThemeHelper::OpenThemeDataFail(HWND__ *,wchar_t const *)\n5558 int CHtmlEditDoc::OpenURL(wchar_t const *)\n5559 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n5560 int CFileException::OsErrorToException(long)\n5561 void CDumpContext::OutputString(wchar_t const *)\n5562 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n5563 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n5564 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n5565 int CWnd::PaintWindowlessControls(CDC *)\n5566 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n5567 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n5568 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n5569 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5570 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n5571 void CCommandLineInfo::ParseLast(int)\n5572 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n5573 void CCommandLineInfo::ParseParam(char const *,int,int)\n5574 void CCommandLineInfo::ParseParamFlag(char const *)\n5575 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n5576 void CCommandLineInfo::ParseParamNotFlag(char const *)\n5577 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n5578 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc(void)\n5579 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc(void)const \n5580 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n5581 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n5582 int CDC::PlayMetaFile(HMETAFILE__ *)\n5583 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n5584 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n5585 int CDC::PolyBezierTo(tagPOINT const *,int)\n5586 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n5587 int CDC::PolylineTo(tagPOINT const *,int)\n5588 void CPreviewView::PositionPage(unsigned int)\n5589 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n5590 int CMonikerFile::PostBindToStream(CFileException *)\n5591 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n5592 void CDialog::PostModal(void)\n5593 void CPrintDialogEx::PostModal(void)\n5594 void COleControl::PostModalDialog(HWND__ *)\n5595 void CControlBar::PostNcDestroy(void)\n5596 void CControlFrameWnd::PostNcDestroy(void)\n5597 void CFindReplaceDialog::PostNcDestroy(void)\n5598 void CFrameWnd::PostNcDestroy(void)\n5599 void COleCntrFrameWnd::PostNcDestroy(void)\n5600 void CReflectorWnd::PostNcDestroy(void)\n5601 void CView::PostNcDestroy(void)\n5602 void CWnd::PostNcDestroy(void)\n5603 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n5604 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n5605 void CRecordset::PreBindFields(void)\n5606 void CDocument::PreCloseFrame(CFrameWnd *)\n5607 void COleDocument::PreCloseFrame(CFrameWnd *)\n5608 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n5609 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n5610 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n5611 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n5612 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5613 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n5614 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5615 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5616 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n5617 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n5618 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5619 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5620 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5621 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n5622 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n5623 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n5624 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n5625 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n5626 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n5627 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n5628 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n5629 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n5630 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n5631 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n5632 void CDialog::PreInitDialog(void)\n5633 void COleChangeSourceDialog::PreInitDialog(void)\n5634 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n5635 HWND__ * CDialog::PreModal(void)\n5636 HWND__ * CPrintDialogEx::PreModal(void)\n5637 void COleControl::PreModalDialog(HWND__ *)\n5638 void CRecordset::PrepareAndExecute(void)\n5639 HWND__ * CDataExchange::PrepareCtrl(int)\n5640 HWND__ * CDataExchange::PrepareEditCtrl(int)\n5641 void CWnd::PrepareForHelp(void)\n5642 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n5643 void CRecordset::PrepareUpdateHstmt(void)\n5644 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n5645 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n5646 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n5647 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n5648 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n5649 void CDragListBox::PreSubclassWindow(void)\n5650 void CWnd::PreSubclassWindow(void)\n5651 int CWnd::PreTranslateInput(tagMSG *)\n5652 int CControlBar::PreTranslateMessage(tagMSG *)\n5653 int CDialog::PreTranslateMessage(tagMSG *)\n5654 int CFormView::PreTranslateMessage(tagMSG *)\n5655 int CFrameWnd::PreTranslateMessage(tagMSG *)\n5656 int CHtmlView::PreTranslateMessage(tagMSG *)\n5657 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n5658 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n5659 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n5660 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n5661 int CPropertyPage::PreTranslateMessage(tagMSG *)\n5662 int CPropertySheet::PreTranslateMessage(tagMSG *)\n5663 int CWinThread::PreTranslateMessage(tagMSG *)\n5664 int CWnd::PreTranslateMessage(tagMSG *)\n5665 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n5666 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n5667 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n5668 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n5669 long CRichEditView::PrintPage(CDC *,long,long)\n5670 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n5671 long COleException::Process(CException const *)\n5672 int CSocket::ProcessAuxQueue(void)\n5673 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n5674 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n5675 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n5676 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n5677 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n5678 void COleSafeArray::PtrOfIndex(long *,void * *)\n5679 int CMetaFileDC::PtVisible(int,int)const \n5680 int CWinThread::PumpMessage(void)\n5681 int CSocket::PumpMessages(unsigned int)\n5682 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n5683 long CWnd::put_accName(tagVARIANT,wchar_t *)\n5684 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n5685 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n5686 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n5687 void COleSafeArray::PutElement(long *,void *)\n5688 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n5689 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n5690 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n5691 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n5692 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n5693 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n5694 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5695 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n5696 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n5697 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n5698 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5699 int PX_Double(CPropExchange *,wchar_t const *,double &)\n5700 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n5701 int PX_Float(CPropExchange *,wchar_t const *,float &)\n5702 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n5703 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n5704 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n5705 int PX_Long(CPropExchange *,wchar_t const *,long &)\n5706 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n5707 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n5708 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n5709 int PX_Short(CPropExchange *,wchar_t const *,short &)\n5710 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n5711 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5712 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n5713 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5714 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n5715 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n5716 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n5717 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n5718 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n5719 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5720 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n5721 IUnknown * CCmdTarget::QueryAggregates(void const *)\n5722 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n5723 long COleDropSource::QueryContinueDrag(int,unsigned long)\n5724 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n5725 void * COleControl::QueryDefHandler(_GUID const &)\n5726 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n5727 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n5728 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n5729 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n5730 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n5731 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n5732 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n5733 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n5734 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n5735 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n5736 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n5737 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n5738 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n5739 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n5740 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n5741 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n5742 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n5743 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n5744 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n5745 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n5746 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n5747 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n5748 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n5749 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n5750 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n5751 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n5752 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n5753 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n5754 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n5755 long CPropertyPage::QuerySiblings(unsigned int,long)\n5756 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n5757 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n5758 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5759 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n5760 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n5761 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n5762 int COleControlSite::QuickActivate(void)\n5763 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n5764 int COleClientItem::ReactivateAndUndo(void)\n5765 long COleControl::XOleInPlaceObject::ReactivateAndUndo(void)\n5766 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo(void)\n5767 unsigned int CArchive::Read(void *,unsigned int)\n5768 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n5769 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n5770 unsigned int CFile::Read(void *,unsigned int)\n5771 int CImageList::Read(CArchive *)\n5772 unsigned int CInternetFile::Read(void *,unsigned int)\n5773 unsigned int CMemFile::Read(void *,unsigned int)\n5774 unsigned int COleStreamFile::Read(void *,unsigned int)\n5775 unsigned int CSocketFile::Read(void *,unsigned int)\n5776 unsigned int CStdioFile::Read(void *,unsigned int)\n5777 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n5778 unsigned long CArchive::ReadCount(void)\n5779 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n5780 int CProperty::ReadFromStream(IStream *)\n5781 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n5782 int CPropertySet::ReadFromStream(IStream *)\n5783 void COleClientItem::ReadItem(CArchive &)\n5784 void COleClientItem::ReadItemCompound(CArchive &)\n5785 void COleClientItem::ReadItemFlat(CArchive &)\n5786 void CRecentFileList::ReadList(void)\n5787 int CPropertySection::ReadNameDictFromStream(IStream *)\n5788 CObject * CArchive::ReadObject(CRuntimeconst *)\n5789 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5790 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n5791 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5792 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n5793 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5794 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n5795 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n5796 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n5797 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n5798 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n5799 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n5800 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n5801 void CRecordset::RebindParams(void *)\n5802 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n5803 void CFrameWnd::RecalcLayout(int)\n5804 void CMiniDockFrameWnd::RecalcLayout(int)\n5805 void COleCntrFrameWnd::RecalcLayout(int)\n5806 void COleDocIPFrameWnd::RecalcLayout(int)\n5807 void COleIPFrameWnd::RecalcLayout(int)\n5808 void CSplitterWnd::RecalcLayout(void)\n5809 int CAsyncSocket::Receive(void *,int,int)\n5810 int CSocket::Receive(void *,int,int)\n5811 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n5812 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5813 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n5814 void COleControl::RecreateControlWindow(void)\n5815 CRect const CFrameWnd::rectDefault\n5816 int CMetaFileDC::RectVisible(tagRECT const *)const \n5817 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n5818 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n5819 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n5820 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n5821 int CWnd::ReflectLastMsg(HWND__ *,long *)\n5822 void COleControl::Refresh(void)\n5823 void CDaoTableDef::RefreshLink(void)\n5824 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n5825 int COleDropTarget::Register(CWnd *)\n5826 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n5827 int COleMessageFilter::Register(void)\n5828 int COleObjectFactory::Register(void)\n5829 int COleTemplateServer::Register(void)\n5830 int CWinApp::Register(void)\n5831 int COleObjectFactory::RegisterAll(void)\n5832 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n5833 void CDocManager::RegisterShellFileTypes(int)\n5834 void CWinApp::RegisterShellFileTypes(int)\n5835 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n5836 unsigned long CArchiveStream::Release(void)\n5837 unsigned long CBlobProperty::Release(void)\n5838 unsigned long CBrowserControlSite::Release(void)\n5839 unsigned long CDHtmlControlSink::Release(void)\n5840 unsigned long CDHtmlElementEventSink::Release(void)\n5841 unsigned long CDHtmlEventSink::Release(void)\n5842 unsigned long CInnerUnknown::Release(void)\n5843 void COleClientItem::Release(enum tagOLECLOSE)\n5844 unsigned long COleConnPtContainer::Release(void)\n5845 void COleDataObject::Release(void)\n5846 unsigned long COleDispatchImpl::Release(void)\n5847 void COleDocObjectItem::Release(enum tagOLECLOSE)\n5848 unsigned long COleUILinkInfo::Release(void)\n5849 unsigned long CPrintDialogEx::Release(void)\n5850 void CDC::ReleaseAttribDC(void)\n5851 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n5852 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n5853 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n5854 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n5855 void COleControl::ReleaseCaches(void)\n5856 int COleControl::ReleaseCapture(void)\n5857 int COleControl::ReleaseDC(CDC *)\n5858 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n5859 void COleDispatchDriver::ReleaseDispatch(void)\n5860 void CDocObjectServer::ReleaseDocSite(void)\n5861 void CDocument::ReleaseFile(CFile *,int)\n5862 void CFontHolder::ReleaseFont(void)\n5863 void CDC::ReleaseOutputDC(void)\n5864 void CMetaFileDC::ReleaseOutputDC(void)\n5865 void CPreviewDC::ReleaseOutputDC(void)\n5866 int COleClientItem::Reload(void)\n5867 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n5868 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n5869 void CFile::Remove(wchar_t const *)\n5870 int CFtpConnection::Remove(wchar_t const *)\n5871 void CPropertySection::Remove(unsigned long)\n5872 void CPropertySet::Remove(_GUID)\n5873 void CPropertySet::Remove(_GUID,unsigned long)\n5874 void CRecentFileList::Remove(int)\n5875 int CSimpleList::Remove(void *)\n5876 void CMapPtrToPtr::RemoveAll(void)\n5877 void CMapPtrToWord::RemoveAll(void)\n5878 void CMapStringToOb::RemoveAll(void)\n5879 void CMapStringToPtr::RemoveAll(void)\n5880 void CMapStringToString::RemoveAll(void)\n5881 void CMapWordToOb::RemoveAll(void)\n5882 void CMapWordToPtr::RemoveAll(void)\n5883 void CObList::RemoveAll(void)\n5884 void CPropertySection::RemoveAll(void)\n5885 void CPropertySet::RemoveAll(void)\n5886 void CPtrList::RemoveAll(void)\n5887 void CStringList::RemoveAll(void)\n5888 void CTypeLibCacheMap::RemoveAll(void *)\n5889 void CByteArray::RemoveAt(int,int)\n5890 void CDWordArray::RemoveAt(int,int)\n5891 void CObArray::RemoveAt(int,int)\n5892 void CObList::RemoveAt(__POSITION *)\n5893 void CPtrArray::RemoveAt(int,int)\n5894 void CPtrList::RemoveAt(__POSITION *)\n5895 void CStringArray::RemoveAt(int,int)\n5896 void CStringList::RemoveAt(__POSITION *)\n5897 void CUIntArray::RemoveAt(int,int)\n5898 void CWordArray::RemoveAt(int,int)\n5899 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n5900 void CFrameWnd::RemoveControlBar(CControlBar *)\n5901 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n5902 void CDocTemplate::RemoveDocument(CDocument *)\n5903 void CMultiDocTemplate::RemoveDocument(CDocument *)\n5904 void CSingleDocTemplate::RemoveDocument(CDocument *)\n5905 void COleControl::RemoveFrameLevelUI(void)\n5906 void CFrameWnd::RemoveFrameWnd(void)\n5907 CObject * CObList::RemoveHead(void)\n5908 void * CPtrList::RemoveHead(void)\n5909 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead(void)\n5910 void CListCtrl::RemoveImageList(int)\n5911 void CListView::RemoveImageList(int)\n5912 void CTreeCtrl::RemoveImageList(int)\n5913 void CTreeView::RemoveImageList(int)\n5914 void COleDocument::RemoveItem(CDocItem *)\n5915 int CMapPtrToPtr::RemoveKey(void *)\n5916 int CMapPtrToWord::RemoveKey(void *)\n5917 int CMapStringToOb::RemoveKey(wchar_t const *)\n5918 int CMapStringToPtr::RemoveKey(wchar_t const *)\n5919 int CMapStringToString::RemoveKey(wchar_t const *)\n5920 int CMapWordToOb::RemoveKey(unsigned short)\n5921 int CMapWordToPtr::RemoveKey(unsigned short)\n5922 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n5923 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n5924 void CPropertySheet::RemovePage(int)\n5925 void CPropertySheet::RemovePage(CPropertyPage *)\n5926 void CDockBar::RemovePlaceHolder(CControlBar *)\n5927 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n5928 void CDataBoundProperty::RemoveSource(void)\n5929 CObject * CObList::RemoveTail(void)\n5930 void * CPtrList::RemoveTail(void)\n5931 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail(void)\n5932 void CDocument::RemoveView(CView *)\n5933 void CFile::Rename(wchar_t const *,wchar_t const *)\n5934 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n5935 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n5936 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n5937 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n5938 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n5939 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n5940 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n5941 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n5942 void CDatabase::ReplaceBrackets(wchar_t *)\n5943 int CException::ReportError(unsigned int,unsigned int)\n5944 int COleClientItem::ReportError(long)const \n5945 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5946 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n5947 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n5948 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n5949 void CDaoRecordset::Requery(void)\n5950 int CRecordset::Requery(void)\n5951 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n5952 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n5953 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n5954 long COleClientItem::XOleClientSite::RequestNewObjectLayout(void)\n5955 long COleControlSite::XOleClientSite::RequestNewObjectLayout(void)\n5956 void COleServerDoc::RequestPositionChange(tagRECT const *)\n5957 long COleControlSite::XOleIPSite::RequestUIActivate(void)\n5958 long CEnumArray::XEnumVOID::Reset(void)\n5959 void CRecordset::ResetCursor(void)\n5960 void CCachedDataPathProperty::ResetData(void)\n5961 void CDataPathProperty::ResetData(void)\n5962 void COleControl::ResetStockProps(void)\n5963 void CControlBar::ResetTimer(unsigned int,unsigned int)\n5964 void COleControl::ResetVersion(unsigned long)\n5965 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5966 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5967 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5968 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5969 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n5970 void COleControl::ResizeFrameWindow(int,int)\n5971 void COleSafeArray::ResizeOneDim(unsigned long)\n5972 void COleControl::ResizeOpenControl(int,int)\n5973 void CScrollView::ResizeParentToFit(int)\n5974 int CDC::RestoreDC(int)\n5975 int CPreviewDC::RestoreDC(int)\n5976 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n5977 void CCmdTarget::RestoreWaitCursor(void)\n5978 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n5979 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n5980 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n5981 long CArchiveStream::Revert(void)\n5982 void COleDropTarget::Revoke(void)\n5983 void COleLinkingDoc::Revoke(void)\n5984 void COleMessageFilter::Revoke(void)\n5985 void COleObjectFactory::Revoke(void)\n5986 void COleObjectFactory::RevokeAll(void)\n5987 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n5988 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n5989 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n5990 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n5991 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n5992 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n5993 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n5994 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n5995 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n5996 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n5997 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n5998 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n5999 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n6000 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n6001 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n6002 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n6003 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n6004 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n6005 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n6006 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n6007 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n6008 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n6009 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n6010 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n6011 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n6012 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n6013 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n6014 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n6015 void CDaoWorkspace::Rollback(void)\n6016 int CDatabase::Rollback(void)\n6017 void COleClientItem::Run(void)\n6018 int CWinApp::Run(void)\n6019 int CWinThread::Run(void)\n6020 int CWinApp::RunAutomated(void)\n6021 int CWinApp::RunEmbedded(void)\n6022 int CWnd::RunModalLoop(unsigned long)\n6023 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n6024 int CEditView::SameAsSelected(wchar_t const *,int)\n6025 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n6026 long CBlobProperty::Save(IStream *,int)\n6027 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n6028 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n6029 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n6030 long COleControl::XPersistStorage::Save(IStorage *,int)\n6031 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n6032 long COleControl::XPersistStreamInit::Save(IStream *,int)\n6033 int CDocManager::SaveAllModified(void)\n6034 int CDocTemplate::SaveAllModified(void)\n6035 int CWinApp::SaveAllModified(void)\n6036 void CFrameWnd::SaveBarState(wchar_t const *)const \n6037 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n6038 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n6039 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n6040 int CDC::SaveDC(void)\n6041 int CPreviewDC::SaveDC(void)\n6042 void COleServerDoc::SaveEmbedding(void)\n6043 int CFormView::SaveFocusControl(void)\n6044 int CDocument::SaveModified(void)\n6045 int COleDocument::SaveModified(void)\n6046 int COleServerDoc::SaveModified(void)\n6047 int COleServerDoc::SaveModifiedPrompt(void)\n6048 long COleClientItem::XOleClientSite::SaveObject(void)\n6049 long COleControlSite::XOleClientSite::SaveObject(void)\n6050 int CControlBarInfo::SaveState(wchar_t const *,int)\n6051 void CDockState::SaveState(wchar_t const *)\n6052 long COleControl::SaveState(IStream *)\n6053 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n6054 void CWinApp::SaveStdProfileSettings(void)\n6055 void COleDocument::SaveToStorage(CObject *)\n6056 void COleLinkingDoc::SaveToStorage(CObject *)\n6057 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n6058 void CDockState::ScalePoint(CPoint &)\n6059 void CDockState::ScaleRectPos(CRect &)\n6060 CSize CDC::ScaleViewportExt(int,int,int,int)\n6061 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n6062 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n6063 CSize CDC::ScaleWindowExt(int,int,int,int)\n6064 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n6065 void CWnd::ScreenToClient(tagRECT *)const \n6066 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n6067 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n6068 void COleControlContainer::ScrollChildren(int,int)\n6069 int COleServerDoc::ScrollContainerBy(CSize)\n6070 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n6071 void CScrollView::ScrollToDevicePosition(tagPOINT)\n6072 void CScrollView::ScrollToPosition(tagPOINT)\n6073 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n6074 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n6075 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n6076 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n6077 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n6078 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n6079 unsigned __int64 CFile::Seek(__int64,unsigned int)\n6080 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n6081 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n6082 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n6083 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n6084 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n6085 CFont * CFontHolder::Select(CDC *,long,long)\n6086 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n6087 int CDC::SelectClipPath(int)\n6088 int CDC::SelectClipRgn(CRgn *)\n6089 int CDC::SelectClipRgn(CRgn *,int)\n6090 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n6091 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n6092 long CPrintDialogEx::SelectionChange(void)\n6093 int CDC::SelectObject(CRgn *)\n6094 CBrush * CDC::SelectObject(CBrush *)\n6095 CPen * CDC::SelectObject(CPen *)\n6096 CFont * CDC::SelectObject(CFont *)\n6097 CFont * CPreviewDC::SelectObject(CFont *)\n6098 CPalette * CDC::SelectPalette(CPalette *,int)\n6099 void CWinApp::SelectPrinter(void *,void *,int)\n6100 CFont * COleControl::SelectStockFont(CDC *)\n6101 CGdiObject * CDC::SelectStockObject(int)\n6102 CGdiObject * CPreviewDC::SelectStockObject(int)\n6103 int CAsyncSocket::Send(void const *,int,int)\n6104 int CSocket::Send(void const *,int,int)\n6105 void COleControl::SendAdvise(unsigned int)\n6106 int CWnd::SendChildNotifyLastMsg(long *)\n6107 int CSocket::SendChunk(void const *,int,int)\n6108 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n6109 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n6110 void CDocument::SendInitialUpdate(void)\n6111 void CRecordset::SendLongBinaryData(void *)\n6112 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n6113 void COleControlSite::SendMnemonic(tagMSG *)\n6114 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n6115 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n6116 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n6117 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n6118 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n6119 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n6120 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n6121 void CByteArray::Serialize(CArchive &)\n6122 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n6123 void CDocItem::Serialize(CArchive &)\n6124 void CDockState::Serialize(CArchive &)\n6125 void CDWordArray::Serialize(CArchive &)\n6126 void CEditView::Serialize(CArchive &)\n6127 void CMapStringToOb::Serialize(CArchive &)\n6128 void CMapStringToString::Serialize(CArchive &)\n6129 void CMapWordToOb::Serialize(CArchive &)\n6130 void CObArray::Serialize(CArchive &)\n6131 void CObList::Serialize(CArchive &)\n6132 void COleClientItem::Serialize(CArchive &)\n6133 void COleControl::Serialize(CArchive &)\n6134 void COleDocument::Serialize(CArchive &)\n6135 void CRichEditDoc::Serialize(CArchive &)\n6136 void CRichEditView::Serialize(CArchive &)\n6137 void CStringArray::Serialize(CArchive &)\n6138 void CStringList::Serialize(CArchive &)\n6139 void CWordArray::Serialize(CArchive &)\n6140 CArchive & ATL::CTime::Serialize64(CArchive &)\n6141 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n6142 void CArchive::SerializeClass(CRuntimeconst *)\n6143 void COleControl::SerializeExtent(CArchive &)\n6144 void CEditView::SerializeRaw(CArchive &)\n6145 void COleControl::SerializeStockProps(CArchive &)\n6146 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n6147 int CProperty::Set(unsigned long,void * const,unsigned long)\n6148 int CProperty::Set(void * const)\n6149 int CProperty::Set(void * const,unsigned long)\n6150 int CPropertySection::Set(unsigned long,void *)\n6151 int CPropertySection::Set(unsigned long,void *,unsigned long)\n6152 int CPropertySet::Set(_GUID,unsigned long,void *)\n6153 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n6154 void CDaoRecordset::SetAbsolutePosition(long)\n6155 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n6156 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n6157 int CPropertySheet::SetActivePage(int)\n6158 int CPropertySheet::SetActivePage(CPropertyPage *)\n6159 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n6160 void CFrameWnd::SetActiveView(CView *,int)\n6161 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n6162 void COleControl::SetAppearance(short)\n6163 int CDC::SetArcDirection(int)\n6164 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n6165 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n6166 void CByteArray::SetAtGrow(int,unsigned char)\n6167 void CDWordArray::SetAtGrow(int,unsigned long)\n6168 void CObArray::SetAtGrow(int,CObject *)\n6169 void CPtrArray::SetAtGrow(int,void *)\n6170 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n6171 void CStringArray::SetAtGrow(int,wchar_t const *)\n6172 void CUIntArray::SetAtGrow(int,unsigned int)\n6173 void CWordArray::SetAtGrow(int,unsigned short)\n6174 void CDC::SetAttribDC(HDC__ *)\n6175 void CMetaFileDC::SetAttribDC(HDC__ *)\n6176 void CPreviewDC::SetAttribDC(HDC__ *)\n6177 void CDaoTableDef::SetAttributes(long)\n6178 void COleControl::SetBackColor(unsigned long)\n6179 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n6180 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n6181 void CControlBar::SetBarStyle(unsigned long)\n6182 int CToolBar::SetBitmap(HBITMAP__ *)\n6183 unsigned long CDC::SetBkColor(unsigned long)\n6184 unsigned long CPreviewDC::SetBkColor(unsigned long)\n6185 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n6186 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n6187 int CDC::SetBkMode(int)\n6188 void CDaoRecordset::SetBookmark(COleVariant)\n6189 void CRecordset::SetBookmark(CDBVariant const &)\n6190 void CControlBar::SetBorders(int,int,int,int)\n6191 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n6192 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n6193 void COleControl::SetBorderStyle(short)\n6194 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n6195 int CToolBar::SetButtons(unsigned int const *,int)\n6196 void CToolBar::SetButtonStyle(int,unsigned int)\n6197 int CToolBar::SetButtonText(int,wchar_t const *)\n6198 void CDaoRecordset::SetCacheSize(long)\n6199 void CDaoRecordset::SetCacheStart(COleVariant)\n6200 CWnd * COleControl::SetCapture(void)\n6201 long COleControlSite::XOleIPSite::SetCapture(int)\n6202 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n6203 void CCheckListBox::SetCheck(int,int)\n6204 void CCmdUI::SetCheck(int)\n6205 int CListCtrl::SetCheck(int,int)\n6206 void COleCmdUI::SetCheck(int)\n6207 void CStatusCmdUI::SetCheck(int)\n6208 void CTestCmdUI::SetCheck(int)\n6209 void CToolCmdUI::SetCheck(int)\n6210 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n6211 void CCheckListBox::SetCheckStyle(unsigned int)\n6212 void CPropertySet::SetClassID(_GUID)\n6213 void CDataBoundProperty::SetClientSite(COleControlSite *)\n6214 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n6215 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n6216 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n6217 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n6218 void COleDataSource::SetClipboard(void)\n6219 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n6220 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n6221 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6222 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6223 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6224 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n6225 void CSplitterWnd::SetColumnInfo(int,int,int)\n6226 int CListCtrl::SetColumnOrderArray(int,int *)\n6227 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n6228 void CDaoQueryDef::SetConnect(wchar_t const *)\n6229 void CDaoTableDef::SetConnect(wchar_t const *)\n6230 void CDocTemplate::SetContainerInfo(unsigned int)\n6231 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n6232 void CReflectorWnd::SetControl(COleControl *)\n6233 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n6234 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n6235 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n6236 int COleControl::SetControlSize(int,int)\n6237 int COlePropertyPage::SetControlStatus(unsigned int,int)\n6238 void CFileDialog::SetControlText(int,wchar_t const *)\n6239 void CFileDialog::SetControlText(int,char const *)\n6240 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n6241 void COleCurrency::SetCurrency(long,long)\n6242 void CColorDialog::SetCurrentColor(unsigned long)\n6243 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n6244 void CWinApp::SetCurrentHandles(void)\n6245 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n6246 void CPreviewView::SetCurrentPage(unsigned int,int)\n6247 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n6248 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n6249 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n6250 void CDaoRecordset::SetCursorAttributes(void)\n6251 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6252 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6253 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6254 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6255 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n6256 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n6257 void COccManager::SetDefaultButton(CWnd *,int)\n6258 void COleControlSite::SetDefaultButton(int)\n6259 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n6260 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n6261 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n6262 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n6263 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n6264 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n6265 void CFileDialog::SetDefExt(char const *)\n6266 void COlePropertyPage::SetDialogResource(void *)\n6267 void CDaoRecordset::SetDirtyFields(void)\n6268 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n6269 void CRecordset::SetDirtyFieldStatus(unsigned long)\n6270 int COleControlSite::SetDlgCtrlID(int)\n6271 int CWnd::SetDlgCtrlID(int)\n6272 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n6273 void CWnd::SetDlgItemInt(int,unsigned int,int)\n6274 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n6275 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n6276 void CFrameWnd::SetDockState(CDockState const &)\n6277 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n6278 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n6279 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n6280 void CSplitButton::SetDropDownMenu(unsigned int,unsigned int)\n6281 void CSplitButton::SetDropDownMenu(CMenu *)\n6282 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n6283 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n6284 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n6285 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n6286 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n6287 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n6288 void COleControl::SetEnabled(int)\n6289 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n6290 int COleControlSite::SetExtent(void)\n6291 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6292 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6293 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6294 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n6295 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n6296 void CDaoRecordset::SetFieldDirty(void *,int)\n6297 void CRecordset::SetFieldDirty(void *,int)\n6298 void CDaoRecordset::SetFieldNull(void *,int)\n6299 void CRecordset::SetFieldNull(void *,int)\n6300 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n6301 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n6302 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n6303 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n6304 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n6305 void CDaoRecordset::SetFieldValueNull(int)\n6306 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n6307 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n6308 CWnd * COleControl::SetFocus(void)\n6309 CWnd * COleControlSite::SetFocus(tagMSG *)\n6310 CWnd * COleControlSite::SetFocus(void)\n6311 CWnd * CWnd::SetFocus(void)\n6312 long COleControlSite::XOleIPSite::SetFocus(int)\n6313 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n6314 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n6315 void CFontHolder::SetFont(IFont *)\n6316 void COleControl::SetFont(IFontDisp *)\n6317 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n6318 void COleControl::SetForeColor(unsigned long)\n6319 void CPropertySection::SetFormatID(_GUID)\n6320 void CPropertySet::SetFormatVersion(unsigned short)\n6321 int CDC::SetGraphicsMode(int)\n6322 void CSharedFile::SetHandle(void *,int)\n6323 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n6324 void CToolBar::SetHeight(int)\n6325 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n6326 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n6327 void CDHtmlDialog::SetHostFlags(unsigned long)\n6328 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n6329 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6330 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6331 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6332 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n6333 int COleClientItem::SetIconicMetafile(void *)\n6334 CSize CListCtrl::SetIconSpacing(int,int)\n6335 CSize CListCtrl::SetIconSpacing(CSize)\n6336 void CProperty::SetID(unsigned long)\n6337 int CReBarCtrl::SetImageList(CImageList *)\n6338 int CStatusBar::SetIndicators(unsigned int const *,int)\n6339 void CDaoWorkspace::SetIniPath(wchar_t const *)\n6340 void COleControl::SetInitialDataFormats(void)\n6341 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n6342 void COleControl::SetInitialSize(int,int)\n6343 void CControlBar::SetInPlaceOwner(CWnd *)\n6344 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n6345 void CDaoWorkspace::SetIsolateODBCTrans(int)\n6346 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n6347 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n6348 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n6349 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n6350 int CListCtrl::SetItemCountEx(int,unsigned long)\n6351 int CTreeCtrl::SetItemEx(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,unsigned int,HWND__ *,int)\n6352 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n6353 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n6354 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n6355 int CListCtrl::SetItemText(int,int,wchar_t const *)\n6356 unsigned long CDC::SetLayout(unsigned long)\n6357 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n6358 void ATL::CSimpleStringT<char,1>::SetLength(int)\n6359 void CFile::SetLength(unsigned __int64)\n6360 void CInternetFile::SetLength(unsigned __int64)\n6361 void CMemFile::SetLength(unsigned __int64)\n6362 void COleStreamFile::SetLength(unsigned __int64)\n6363 void CSocketFile::SetLength(unsigned __int64)\n6364 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n6365 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n6366 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n6367 void CDaoRecordset::SetLockingMode(int)\n6368 void CRecordset::SetLockingMode(unsigned int)\n6369 void CDaoWorkspace::SetLoginTimeout(short)\n6370 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n6371 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n6372 int CDC::SetMapMode(int)\n6373 int CPreviewDC::SetMapMode(int)\n6374 unsigned long CDC::SetMapperFlags(unsigned long)\n6375 int CFrameWnd::SetMenu(CMenu *)\n6376 int CWnd::SetMenu(CMenu *)\n6377 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6378 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n6379 int CFrameWnd::SetMenuBarState(unsigned long)\n6380 int CMDIFrameWnd::SetMenuBarState(unsigned long)\n6381 void CFrameWnd::SetMenuBarVisibility(unsigned long)\n6382 void CMDIFrameWnd::SetMenuBarVisibility(unsigned long)\n6383 void CFrameWnd::SetMessageText(unsigned int)\n6384 void CFrameWnd::SetMessageText(wchar_t const *)\n6385 void CPropertyPage::SetModified(int)\n6386 void COleControl::SetModifiedFlag(int)\n6387 void COlePropertyPage::SetModifiedFlag(int)\n6388 void CRichEditDoc::SetModifiedFlag(int)\n6389 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6390 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6391 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6392 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n6393 void CDaoQueryDef::SetName(wchar_t const *)\n6394 void CDaoTableDef::SetName(wchar_t const *)\n6395 int CPropertySection::SetName(unsigned long,wchar_t const *)\n6396 void COleControl::SetNotPermitted(void)\n6397 void CCmdTarget::SetNotSupported(void)\n6398 void COleControl::SetNotSupported(void)\n6399 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n6400 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n6401 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n6402 void CRecordset::SetNullFieldStatus(unsigned long)\n6403 void CRecordset::SetNullParamStatus(unsigned long)\n6404 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n6405 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6406 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n6407 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n6408 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6409 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6410 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6411 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n6412 void CDaoQueryDef::SetODBCTimeout(short)\n6413 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6414 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6415 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n6416 int CHeaderCtrl::SetOrderArray(int,int *)\n6417 void CPropertySet::SetOSVersion(unsigned long)\n6418 void CDC::SetOutputDC(HDC__ *)\n6419 void CMetaFileDC::SetOutputDC(HDC__ *)\n6420 void CPreviewDC::SetOutputDC(HDC__ *)\n6421 void CToolBar::SetOwner(CWnd *)\n6422 void COlePropertyPage::SetPageName(wchar_t const *)\n6423 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n6424 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n6425 void CStatusBar::SetPaneStyle(int,unsigned int)\n6426 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n6427 int CRichEditCtrl::SetParaFormat(_paraformat &)\n6428 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n6429 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n6430 void CRecordset::SetParamNull(int,int)\n6431 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n6432 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n6433 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n6434 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n6435 void CDaoQueryDef::SetParamValueNull(int)\n6436 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n6437 void CDaoRecordset::SetParamValueNull(int)\n6438 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n6439 void CDocument::SetPathName(wchar_t const *,int)\n6440 void COleDocument::SetPathName(wchar_t const *,int)\n6441 void CRichEditDoc::SetPathName(wchar_t const *,int)\n6442 void CDaoRecordset::SetPercentPosition(float)\n6443 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n6444 int CDC::SetPolyFillMode(int)\n6445 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n6446 int COleClientItem::SetPrintDevice(tagPDW const *)\n6447 void CEditView::SetPrinterFont(CFont *)\n6448 int CPreviewView::SetPrintView(CView *)\n6449 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n6450 void COleControlSite::SetProperty(long,unsigned short,...)\n6451 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n6452 void CWnd::SetProperty(long,unsigned short,...)\n6453 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n6454 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n6455 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n6456 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n6457 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n6458 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n6459 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n6460 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n6461 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n6462 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n6463 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n6464 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n6465 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6466 long CWnd::SetProxy(IAccessibleProxy *)\n6467 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n6468 void CDaoDatabase::SetQueryTimeout(short)\n6469 void CCmdUI::SetRadio(int)\n6470 void CTestCmdUI::SetRadio(int)\n6471 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n6472 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n6473 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n6474 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n6475 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6476 void CSliderCtrl::SetRange(int,int,int)\n6477 int CInternetFile::SetReadBufferSize(unsigned int)\n6478 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n6479 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n6480 int COleControl::SetRectInContainer(tagRECT const *)\n6481 void CWinApp::SetRegistryKey(unsigned int)\n6482 void CWinApp::SetRegistryKey(wchar_t const *)\n6483 void CDaoQueryDef::SetReturnsRecords(int)\n6484 int CDC::SetROP2(int)\n6485 void CSplitterWnd::SetRowInfo(int,int,int)\n6486 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n6487 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n6488 void CRecordset::SetRowsetSize(unsigned long)\n6489 void CPreviewView::SetScaledSize(unsigned int)\n6490 void CPreviewDC::SetScaleRatio(int,int)\n6491 void CScrollView::SetScaleToFitSize(tagSIZE)\n6492 void CDockState::SetScreenSize(CSize &)\n6493 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n6494 int CWnd::SetScrollPos(int,int,int)\n6495 void CWnd::SetScrollRange(int,int,int,int)\n6496 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n6497 void CSplitterWnd::SetScrollStyle(unsigned long)\n6498 int CPropertySection::SetSectionName(wchar_t const *)\n6499 void CRichEditCtrl::SetSel(long,long)\n6500 void CSliderCtrl::SetSelection(int,int)\n6501 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n6502 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n6503 void CCheckListBox::SetSelectionCheck(int)\n6504 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n6505 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n6506 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n6507 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n6508 long CPrintDialogEx::SetSite(IUnknown *)\n6509 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n6510 void CByteArray::SetSize(int,int)\n6511 void CDWordArray::SetSize(int,int)\n6512 void CObArray::SetSize(int,int)\n6513 void CPtrArray::SetSize(int,int)\n6514 void CStringArray::SetSize(int,int)\n6515 void CUIntArray::SetSize(int,int)\n6516 void CWordArray::SetSize(int,int)\n6517 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n6518 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n6519 void CSplitterWnd::SetSplitCursor(int)\n6520 void CDaoQueryDef::SetSQL(wchar_t const *)\n6521 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n6522 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n6523 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n6524 int CControlBar::SetStatusText(int)\n6525 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n6526 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n6527 int CDC::SetStretchBltMode(int)\n6528 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n6529 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n6530 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n6531 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n6532 void COleVariant::SetString(wchar_t const *,unsigned short)\n6533 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n6534 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n6535 int CDialogTemplate::SetSystemFont(unsigned short)\n6536 void CEditView::SetTabStops(int)\n6537 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n6538 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n6539 void CCmdUI::SetText(wchar_t const *)\n6540 void COleCmdUI::SetText(wchar_t const *)\n6541 void COleControl::SetText(wchar_t const *)\n6542 void CStatusCmdUI::SetText(wchar_t const *)\n6543 void CTestCmdUI::SetText(wchar_t const *)\n6544 void CToolCmdUI::SetText(wchar_t const *)\n6545 unsigned int CDC::SetTextAlign(unsigned int)\n6546 int CDC::SetTextCharacterExtra(int)\n6547 unsigned long CDC::SetTextColor(unsigned long)\n6548 unsigned long CPreviewDC::SetTextColor(unsigned long)\n6549 int CDC::SetTextJustification(int,int)\n6550 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n6551 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n6552 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n6553 void CDocument::SetTitle(wchar_t const *)\n6554 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n6555 void CRichEditDoc::SetTitle(wchar_t const *)\n6556 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n6557 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n6558 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n6559 void CPreviewDC::SetTopLeftOffset(CSize)\n6560 void CProperty::SetType(unsigned long)\n6561 void CRecordset::SetUpdateMethod(void)\n6562 void CDaoTableDef::SetValidationRule(wchar_t const *)\n6563 void CDaoTableDef::SetValidationText(wchar_t const *)\n6564 void CThreadSlotData::SetValue(int,void *)\n6565 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n6566 CSize CDC::SetViewportExt(int,int)\n6567 CSize CMetaFileDC::SetViewportExt(int,int)\n6568 CSize CPreviewDC::SetViewportExt(int,int)\n6569 CPoint CDC::SetViewportOrg(int,int)\n6570 CPoint CMetaFileDC::SetViewportOrg(int,int)\n6571 CPoint CPreviewDC::SetViewportOrg(int,int)\n6572 CSize CDC::SetWindowExt(int,int)\n6573 CSize CPreviewDC::SetWindowExt(int,int)\n6574 CPoint CDC::SetWindowOrg(int,int)\n6575 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n6576 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6577 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n6578 void COleControlSite::SetWindowTextW(wchar_t const *)\n6579 void CWnd::SetWindowTextW(wchar_t const *)\n6580 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n6581 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n6582 int CDC::SetWorldTransform(tagXFORM const *)\n6583 int CInternetFile::SetWriteBufferSize(unsigned int)\n6584 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n6585 long CDocObjectServer::XOleDocumentView::Show(int)\n6586 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n6587 void CDockBar::ShowAll(int)\n6588 int CWinApp::ShowAppMessageBox(CWinApp *,wchar_t const *,unsigned int,unsigned int)\n6589 long CRichEditCntrItem::ShowContainerUI(int)\n6590 long CRichEditView::ShowContainerUI(int)\n6591 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n6592 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6593 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6594 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n6595 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n6596 long COleClientItem::XOleClientSite::ShowObject(void)\n6597 long COleControlSite::XOleClientSite::ShowObject(void)\n6598 void CFrameWnd::ShowOwnedWindows(int)\n6599 long COleControlSite::XOleControlSite::ShowPropertyFrame(void)\n6600 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6601 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6602 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n6603 int COleControlSite::ShowWindow(int)\n6604 int CWnd::ShowWindow(int)\n6605 tagSIZE const CScrollView::sizeDefault\n6606 int CMonthCalCtrl::SizeMinReq(int)\n6607 void CBitmapButton::SizeToContent(void)\n6608 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n6609 long CEnumArray::XEnumVOID::Skip(unsigned long)\n6610 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n6611 int CAsyncSocket::Socket(int,long,int,int)\n6612 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n6613 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n6614 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n6615 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n6616 int CSplitterWnd::SplitColumn(int)\n6617 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n6618 int CSplitterWnd::SplitRow(int)\n6619 int CDC::StartDocW(wchar_t const *)\n6620 void CDockContext::StartDrag(CPoint)\n6621 void CDockContext::StartResize(int,CPoint)\n6622 void CSplitterWnd::StartTracking(int)\n6623 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n6624 void CSplitterWnd::StopTracking(int)\n6625 void CRuntimeClass::Store(CArchive &)const \n6626 void CDaoRecordset::StoreFields(void)\n6627 void CRecordset::StoreFields(void)\n6628 void CRichEditView::Stream(CArchive &,int)\n6629 void CDockContext::Stretch(CPoint)\n6630 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n6631 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n6632 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n6633 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n6634 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n6635 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n6636 int CWnd::SubclassWindow(HWND__ *)\n6637 int COleDocObjectItem::SupportsIPrint(void)\n6638 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6639 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6640 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n6641 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6642 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n6643 void CRichEditView::TextNotFound(wchar_t const *)\n6644 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n6645 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n6646 void CDaoDatabase::ThrowDaoException(int)\n6647 void CDaoQueryDef::ThrowDaoException(int)\n6648 void CDaoRecordset::ThrowDaoException(int)\n6649 void CDaoTableDef::ThrowDaoException(int)\n6650 void CDaoWorkspace::ThrowDaoException(int)\n6651 void CFileException::ThrowErrno(int,wchar_t const *)\n6652 void COleControl::ThrowError(long,unsigned int,unsigned int)\n6653 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n6654 void ThrowGetRowsDaoException(long)\n6655 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException(void)\n6656 void ATL::CSimpleStringT<char,1>::ThrowMemoryException(void)\n6657 void CFileException::ThrowOsError(long,wchar_t const *)\n6658 void CDockContext::ToggleDocking(void)\n6659 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n6660 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n6661 COleVariant CDataSourceControl::ToVariant(int)\n6662 int CDockContext::Track(void)\n6663 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n6664 void CSplitterWnd::TrackColumnSize(int,int)\n6665 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n6666 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n6667 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n6668 void CSplitterWnd::TrackRowSize(int,int)\n6669 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n6670 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6671 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n6672 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6673 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6674 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n6675 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n6676 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6677 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n6678 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6679 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n6680 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n6681 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n6682 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6683 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6684 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n6685 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n6686 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n6687 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(void)\n6688 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n6689 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n6690 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(void)\n6691 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n6692 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n6693 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(void)\n6694 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n6695 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n6696 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(void)\n6697 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n6698 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n6699 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(void)\n6700 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n6701 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n6702 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(void)\n6703 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n6704 void ATL::CSimpleStringT<char,1>::Truncate(int)\n6705 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n6706 void COccManager::UIActivateControl(CWnd *)\n6707 long COleControl::XOleInPlaceObject::UIDeactivate(void)\n6708 long COleServerDoc::XOleInPlaceObject::UIDeactivate(void)\n6709 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n6710 void COleSafeArray::UnaccessData(void)\n6711 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n6712 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n6713 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n6714 long COleControl::XOleObject::Unadvise(unsigned long)\n6715 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n6716 long COleServerItem::XOleObject::Unadvise(unsigned long)\n6717 void CRecordset::UnbindFieldsForUpdate(void)\n6718 long COleControl::XOleCache::Uncache(unsigned long)\n6719 long COleControl::XViewObject::Unfreeze(unsigned long)\n6720 int CEvent::Unlock(void)\n6721 int CMultiLock::Unlock(long,long *)\n6722 int CMultiLock::Unlock(void)\n6723 int CMutex::Unlock(void)\n6724 void COleSafeArray::Unlock(void)\n6725 int CSemaphore::Unlock(long,long *)\n6726 int CSingleLock::Unlock(long,long *)\n6727 int CSingleLock::Unlock(void)\n6728 void CTypeLibCache::Unlock(void)\n6729 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer(void)\n6730 void ATL::CSimpleStringT<char,1>::UnlockBuffer(void)\n6731 void CEditView::UnlockBuffer(void)const \n6732 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n6733 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n6734 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n6735 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n6736 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n6737 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n6738 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6739 int COleObjectFactory::Unregister(void)\n6740 int COleTemplateServer::Unregister(void)\n6741 int CWinApp::Unregister(void)\n6742 int COleObjectFactory::UnregisterAll(void)\n6743 void CDocManager::UnregisterShellFileTypes(void)\n6744 void CWinApp::UnregisterShellFileTypes(void)\n6745 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n6746 HWND__ * CWnd::UnsubclassWindow(void)\n6747 void CDaoRecordset::Update(void)\n6748 int CRecordset::Update(void)\n6749 long CDocObjectServer::XOleObject::Update(void)\n6750 long COleControl::XOleObject::Update(void)\n6751 long COleServerDoc::XOleObject::Update(void)\n6752 long COleServerItem::XOleObject::Update(void)\n6753 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n6754 void CStatusBar::UpdateAllPanes(int,int)\n6755 void CDocument::UpdateAllViews(CView *,long,CObject *)\n6756 void CScrollView::UpdateBars(void)\n6757 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n6758 long CDataSourceControl::UpdateControls(void)\n6759 long CDataSourceControl::UpdateCursor(void)\n6760 int CWnd::UpdateData(int)\n6761 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n6762 void CDocument::UpdateFrameCounts(void)\n6763 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n6764 int CRecordset::UpdateInsertDelete(void)\n6765 void COleClientItem::UpdateItemType(void)\n6766 int COleClientItem::UpdateLink(void)\n6767 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n6768 void CRecentFileList::UpdateMenu(CCmdUI *)\n6769 void COleDocument::UpdateModifiedFlag(void)\n6770 void CRichEditDoc::UpdateModifiedFlag(void)\n6771 void CRichEditDoc::UpdateObjectCache(void)\n6772 void CFileDialog::UpdateOFNFromShellDialog(void)\n6773 void CWinApp::UpdatePrinterSelection(int)\n6774 int COleObjectFactory::UpdateRegistry(int)\n6775 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n6776 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n6777 int COleObjectFactory::UpdateRegistryAll(int)\n6778 void CDockContext::UpdateState(int *,int)\n6779 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n6780 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n6781 long CBrowserControlSite::UpdateUI(void)\n6782 long CDHtmlDialog::UpdateUI(void)\n6783 long CHtmlControlSite::XDocHostUIHandler::UpdateUI(void)\n6784 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n6785 void COleLinkingDoc::UpdateVisibleLock(int,int)\n6786 void CDatabase::VerifyConnect(void)\n6787 unsigned long CRecordset::VerifyCursorSupport(void)\n6788 void CRecordset::VerifyDriverBehavior(void)\n6789 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n6790 int COleObjectFactory::VerifyUserLicense(void)\n6791 int CListBox::VKeyToItem(unsigned int,unsigned int)\n6792 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n6793 int COleControl::WillAmbientsBeValidDuringLoad(void)\n6794 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n6795 long COleControl::WindowProc(unsigned int,unsigned int,long)\n6796 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n6797 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n6798 long CReBar::WindowProc(unsigned int,unsigned int,long)\n6799 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n6800 long CWnd::WindowProc(unsigned int,unsigned int,long)\n6801 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n6802 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n6803 void CWinApp::WinHelpW(unsigned long,unsigned int)\n6804 void CWnd::WinHelpW(unsigned long,unsigned int)\n6805 CWnd const CWnd::wndBottom\n6806 CWnd const CWnd::wndNoTopMost\n6807 CWnd const CWnd::wndTop\n6808 CWnd const CWnd::wndTopMost\n6809 void CRichEditView::WrapChanged(void)\n6810 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n6811 void CArchive::Write(void const *,unsigned int)\n6812 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n6813 void CFile::Write(void const *,unsigned int)\n6814 void CGopherFile::Write(void const *,unsigned int)\n6815 int CImageList::Write(CArchive *)\n6816 void CInternetFile::Write(void const *,unsigned int)\n6817 void CMemFile::Write(void const *,unsigned int)\n6818 void COleStreamFile::Write(void const *,unsigned int)\n6819 void CSocketFile::Write(void const *,unsigned int)\n6820 void CStdioFile::Write(void const *,unsigned int)\n6821 void CArchive::WriteClass(CRuntimeconst *)\n6822 void CArchive::WriteCount(unsigned long)\n6823 void COleClientItem::WriteItem(CArchive &)\n6824 void COleClientItem::WriteItemCompound(CArchive &)\n6825 void COleClientItem::WriteItemFlat(CArchive &)\n6826 void CRecentFileList::WriteList(void)\n6827 int CPropertySection::WriteNameDictToStream(IStream *)\n6828 void CArchive::WriteObject(CObject const *)\n6829 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n6830 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n6831 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n6832 void CArchive::WriteString(wchar_t const *)\n6833 void CGopherFile::WriteString(wchar_t const *)\n6834 void CInternetFile::WriteString(wchar_t const *)\n6835 void CStdioFile::WriteString(wchar_t const *)\n6836 void CEditView::WriteToArchive(CArchive &)\n6837 int CProperty::WriteToStream(IStream *)\n6838 int CPropertySection::WriteToStream(IStream *)\n6839 int CPropertySet::WriteToStream(IStream *)\n6840 void AfxSetPerUserRegistration(int)\n6841 int AfxGetPerUserRegistration(void)\n"
  },
  {
    "path": "Bin/i386/mfc_sym/mfc90ud.def",
    "content": "256 ??$CopyElements@VCOleVariant@@@@YGXPAVCOleVariant@@PBV0@H@Z\n257 ??$DumpElements@VCOleVariant@@@@YGXAAVCDumpContext@@PBVCOleVariant@@H@Z\n258 ??$HashKey@ABUtagVARIANT@@@@YGIABUtagVARIANT@@@Z\n259 ??$HashKey@PB_W@@YGIPB_W@Z\n260 ??$HashKey@PBD@@YGIPBD@Z\n261 ??$HashKey@VCComBSTR@ATL@@@@YGIVCComBSTR@ATL@@@Z\n262 ??$SerializeElements@V?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@H@Z\n263 ??$SerializeElements@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@@YGXAAVCArchive@@PAV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@H@Z\n264 ??$SerializeElements@VCComBSTR@ATL@@@@YGXAAVCArchive@@PAVCComBSTR@ATL@@H@Z\n265 ??$SerializeElements@VCOleVariant@@@@YGXAAVCArchive@@PAVCOleVariant@@H@Z\n266 COleCurrency const & COleCurrency::operator/=(long)\n267 void * operator new[](unsigned int)\n268 void * operator new[](unsigned int,int,char const *,int)\n269 void * operator new[](unsigned int,char const *,int)\n270 void operator delete[](void *)\n271 void operator delete[](void *,int,char const *,int)\n272 void operator delete[](void *,char const *,int)\n273 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,0> const &)\n274 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::CSimpleStringT<wchar_t,1> const &)\n275 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(ATL::IAtlStringMgr *)\n276 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,int,ATL::IAtlStringMgr *)\n277 ATL::CSimpleStringT<wchar_t,1>::CSimpleStringT<wchar_t,1>(wchar_t const *,ATL::IAtlStringMgr *)\n278 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,0> const &)\n279 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::CSimpleStringT<char,1> const &)\n280 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(ATL::IAtlStringMgr *)\n281 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,int,ATL::IAtlStringMgr *)\n282 ATL::CSimpleStringT<char,1>::CSimpleStringT<char,1>(char const *,ATL::IAtlStringMgr *)\n283 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t,int)\n284 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &)\n285 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n286 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n287 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char,int)\n288 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t *)\n289 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char *)\n290 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char *)\n291 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(ATL::IAtlStringMgr *)\n292 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *)\n293 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int)\n294 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n295 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(wchar_t const *,ATL::IAtlStringMgr *)\n296 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *)\n297 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int)\n298 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,int,ATL::IAtlStringMgr *)\n299 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(char const *,ATL::IAtlStringMgr *)\n300 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *)\n301 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(unsigned char const *,ATL::IAtlStringMgr *)\n302 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n303 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t,int)\n304 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &)\n305 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(tagVARIANT const &,ATL::IAtlStringMgr *)\n306 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n307 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char,int)\n308 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t *)\n309 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char *)\n310 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char *)\n311 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(ATL::IAtlStringMgr *)\n312 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *)\n313 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int)\n314 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,int,ATL::IAtlStringMgr *)\n315 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(wchar_t const *,ATL::IAtlStringMgr *)\n316 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *)\n317 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int)\n318 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,int,ATL::IAtlStringMgr *)\n319 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(char const *,ATL::IAtlStringMgr *)\n320 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *)\n321 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(unsigned char const *,ATL::IAtlStringMgr *)\n322 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n323 _AFX_CHECKLIST_STATE::_AFX_CHECKLIST_STATE(void)\n324 _AFX_COLOR_STATE::_AFX_COLOR_STATE(void)\n325 _AFX_DAO_STATE::_AFX_DAO_STATE(void)\n326 _AFX_DEBUG_STATE::_AFX_DEBUG_STATE(void)\n327 _AFX_EDIT_STATE::_AFX_EDIT_STATE(void)\n328 _AFX_OLE_STATE::_AFX_OLE_STATE(void)\n329 _AFX_THREAD_STATE::_AFX_THREAD_STATE(void)\n330 _AFXCTL_AMBIENT_CACHE::_AFXCTL_AMBIENT_CACHE(void)\n331 _AFXCTL_UIACTIVE_INFO::_AFXCTL_UIACTIVE_INFO(HMENU__ *,IOleInPlaceFrame *)\n332 AFX_DDPDATA::AFX_DDPDATA(void *,int,int,void *,unsigned int,wchar_t const *)\n333 AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)\n334 AFX_MAINTAIN_STATE::AFX_MAINTAIN_STATE(AFX_MODULE_STATE *)\n335 AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE *)\n336 AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(HWND__ *,unsigned int,unsigned int,long),unsigned long,int)\n337 AFX_MODULE_THREAD_STATE::AFX_MODULE_THREAD_STATE(void)\n338 CAnimateCtrl::CAnimateCtrl(void)\n339 CArchive::CArchive(CArchive const &)\n340 CArchive::CArchive(CFile *,unsigned int,int,void *)\n341 CArchiveException::CArchiveException(int,wchar_t const *)\n342 CArchivePropExchange::CArchivePropExchange(CArchive &)\n343 CArchiveStream::CArchiveStream(CArchive *)\n344 CAsyncMonikerFile::CAsyncMonikerFile(void)\n345 CAsyncPropExchange::CAsyncPropExchange(unsigned long)\n346 CAsyncSocket::CAsyncSocket(void)\n347 CBitmap::CBitmap(void)\n348 CBitmapButton::CBitmapButton(void)\n349 CBlobProperty::CBlobProperty(void *)\n350 CBrowserControlSite::CBrowserControlSite(COleControlContainer *,CDHtmlDialog *)\n351 CBrush::CBrush(int,unsigned long)\n352 CBrush::CBrush(unsigned long)\n353 CBrush::CBrush(CBitmap *)\n354 CBrush::CBrush(void)\n355 CButton::CButton(void)\n356 CByteArray::CByteArray(void)\n357 CCachedDataPathProperty::CCachedDataPathProperty(COleControl *)\n358 CCachedDataPathProperty::CCachedDataPathProperty(wchar_t const *,COleControl *)\n359 CCheckListBox::CCheckListBox(void)\n360 CChevronOwnerDrawMenu::CChevronOwnerDrawMenu(void)\n361 CClientDC::CClientDC(CWnd *)\n362 CCmdTarget::CCmdTarget(void)\n363 CCmdUI::CCmdUI(void)\n364 CColorDialog::CColorDialog(unsigned long,unsigned long,CWnd *)\n365 CComboBox::CComboBox(void)\n366 CComboBoxEx::CComboBoxEx(void)\n367 CCommandLineInfo::CCommandLineInfo(void)\n368 CCommonDialog::CCommonDialog(CWnd *)\n369 CConnectionPoint::CConnectionPoint(void)\n370 CControlBar::CControlBar(void)\n371 CControlBarInfo::CControlBarInfo(void)\n372 CControlCreationInfo::CControlCreationInfo(void)\n373 COleControl::CControlDataSource::CControlDataSource(COleControl *)\n374 CControlFrameWnd::CControlFrameWnd(COleControl *)\n375 CControlSiteFactoryMgr::CControlSiteFactoryMgr(void)\n376 CCreateContext::CCreateContext(void)\n377 CCriticalSection::CCriticalSection(void)\n378 CCtrlView::CCtrlView(wchar_t const *,unsigned long)\n379 CDaoDatabase::CDaoDatabase(CDaoWorkspace *)\n380 CDaoException::CDaoException(void)\n381 CDaoFieldExchange::CDaoFieldExchange(unsigned int,CDaoRecordset *,void *)\n382 CDaoIndexInfo::CDaoIndexInfo(void)\n383 CDaoQueryDef::CDaoQueryDef(CDaoDatabase *)\n384 CDaoRecordset::CDaoRecordset(CDaoDatabase *)\n385 CDaoRecordView::CDaoRecordView(unsigned int)\n386 CDaoRecordView::CDaoRecordView(wchar_t const *)\n387 CDaoRelationInfo::CDaoRelationInfo(void)\n388 CDaoTableDef::CDaoTableDef(CDaoDatabase *)\n389 CDaoWorkspace::CDaoWorkspace(void)\n390 CDatabase::CDatabase(void)\n391 CDataBoundProperty::CDataBoundProperty(CDataBoundProperty *,long,unsigned short)\n392 CDataExchange::CDataExchange(CWnd *,int)\n393 CDataPathProperty::CDataPathProperty(COleControl *)\n394 CDataPathProperty::CDataPathProperty(wchar_t const *,COleControl *)\n395 CDataSourceControl::CDataSourceControl(COleControlSite *)\n396 CDateTimeCtrl::CDateTimeCtrl(void)\n397 CDBException::CDBException(short)\n398 CDBVariant::CDBVariant(void)\n399 CDC::CDC(void)\n400 CDHtmlControlSink::CDHtmlControlSink(IUnknown *,CDHtmlSinkHandler *,wchar_t const *,unsigned long)\n401 CDHtmlControlSink::CDHtmlControlSink(void)\n402 CDHtmlDialog::CDHtmlDialog(unsigned int,unsigned int,CWnd *)\n403 CDHtmlDialog::CDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n404 CDHtmlDialog::CDHtmlDialog(void)\n405 CDHtmlElementEventSink::CDHtmlElementEventSink(CDHtmlEventSink *,IDispatch *)\n406 CDialog::CDialog(unsigned int,CWnd *)\n407 CDialog::CDialog(wchar_t const *,CWnd *)\n408 CDialog::CDialog(void)\n409 CDialogBar::CDialogBar(void)\n410 CDialogTemplate::CDialogTemplate(void *)\n411 CDialogTemplate::CDialogTemplate(DLGTEMPLATE const *)\n412 CDocItem::CDocItem(void)\n413 CDockBar::CDockBar(int)\n414 CDockContext::CDockContext(CControlBar *)\n415 CDockState::CDockState(void)\n416 CDocManager::CDocManager(void)\n417 CDocObjectServer::CDocObjectServer(COleServerDoc *,IOleDocumentSite *)\n418 CDocObjectServerItem::CDocObjectServerItem(COleServerDoc *,int)\n419 CDocTemplate::CDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n420 CDocument::CDocument(void)\n421 CDragListBox::CDragListBox(void)\n422 CDumpContext::CDumpContext(CDumpContext const &)\n423 CDumpContext::CDumpContext(CFile *)\n424 CDWordArray::CDWordArray(void)\n425 CDynLinkLibrary::CDynLinkLibrary(AFX_EXTENSION_MODULE &,int)\n426 CDynLinkLibrary::CDynLinkLibrary(HINSTANCE__ *,HINSTANCE__ *)\n427 CEdit::CEdit(void)\n428 CEditView::CEditView(void)\n429 CEnumArray::CEnumArray(unsigned int,void const *,unsigned int,int)\n430 CEnumConnections::CEnumConnections(void const *,unsigned int)\n431 CEnumConnPoints::CEnumConnPoints(void const *,unsigned int)\n432 CEnumFormatEtc::CEnumFormatEtc(void)\n433 CEvent::CEvent(int,int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n434 CException::CException(int)\n435 CException::CException(void)\n436 CFieldExchange::CFieldExchange(unsigned int,CRecordset *,void *)\n437 CFile::CFile(void *)\n438 CFile::CFile(wchar_t const *,unsigned int)\n439 CFile::CFile(void)\n440 CFileDialog::CFileDialog(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const *,CWnd *,unsigned long,int)\n441 CFileException::CFileException(int,long,wchar_t const *)\n442 CFileFind::CFileFind(void)\n443 CFindReplaceDialog::CFindReplaceDialog(void)\n444 CFixedAlloc::CFixedAlloc(unsigned int,unsigned int)\n445 CFixedAllocNoSync::CFixedAllocNoSync(unsigned int,unsigned int)\n446 CFont::CFont(void)\n447 CFontDialog::CFontDialog(_charformatw const &,unsigned long,CDC *,CWnd *)\n448 CFontDialog::CFontDialog(tagLOGFONTW *,unsigned long,CDC *,CWnd *)\n449 CFontHolder::CFontHolder(IPropertyNotifySink *)\n450 CFormView::CFormView(unsigned int)\n451 CFormView::CFormView(wchar_t const *)\n452 CFrameWnd::CFrameWnd(void)\n453 CFtpConnection::CFtpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n454 CFtpConnection::CFtpConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short,int)\n455 CFtpFileFind::CFtpFileFind(CFtpConnection *,unsigned long)\n456 CGdiObject::CGdiObject(void)\n457 CGopherConnection::CGopherConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n458 CGopherConnection::CGopherConnection(CInternetSession *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n459 CGopherFile::CGopherFile(void *,void *,wchar_t const *,unsigned long,unsigned long)\n460 CGopherFile::CGopherFile(void *,CGopherLocator &,CGopherConnection *)\n461 CGopherFileFind::CGopherFileFind(CGopherConnection *,unsigned long)\n462 CGopherLocator::CGopherLocator(wchar_t const *,unsigned long)\n463 CGopherLocator::CGopherLocator(CGopherLocator const &)\n464 CHandleMap::CHandleMap(CRuntime*,void (__stdcall*)(CObject *),void (__stdcall*)(CObject *),unsigned int,int)\n465 CHeaderCtrl::CHeaderCtrl(void)\n466 CHotKeyCtrl::CHotKeyCtrl(void)\n467 CHtmlControlSite::CHtmlControlSite(COleControlContainer *)\n468 CHtmlEditCtrl::CHtmlEditCtrl(void)\n469 CHtmlEditDoc::CHtmlEditDoc(void)\n470 CHtmlEditView::CHtmlEditView(void)\n471 CHtmlView::CHtmlView(void)\n472 CHttpConnection::CHttpConnection(CInternetSession *,void *,wchar_t const *,unsigned long)\n473 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n474 CHttpConnection::CHttpConnection(CInternetSession *,wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *,unsigned long)\n475 CHttpFile::CHttpFile(void *,void *,wchar_t const *,wchar_t const *,wchar_t const *,unsigned long)\n476 CHttpFile::CHttpFile(void *,wchar_t const *,wchar_t const *,CHttpConnection *)\n477 CImageList::CImageList(void)\n478 CInternetConnection::CInternetConnection(CInternetSession *,wchar_t const *,unsigned short,unsigned long)\n479 CInternetException::CInternetException(unsigned long)\n480 CInternetFile::CInternetFile(void *,void *,wchar_t const *,wchar_t const *,unsigned long,int)\n481 CInternetFile::CInternetFile(void *,wchar_t const *,CInternetConnection *,int)\n482 CInternetSession::CInternetSession(wchar_t const *,unsigned long,unsigned long,wchar_t const *,wchar_t const *,unsigned long)\n483 CInvalidArgException::CInvalidArgException(int,unsigned int)\n484 CInvalidArgException::CInvalidArgException(void)\n485 CIPAddressCtrl::CIPAddressCtrl(void)\n486 CListBox::CListBox(void)\n487 CListCtrl::CListCtrl(void)\n488 CListView::CListView(void)\n489 CLongBinary::CLongBinary(void)\n490 CMapPtrToPtr::CMapPtrToPtr(int)\n491 CMapPtrToWord::CMapPtrToWord(int)\n492 CMapStringToOb::CMapStringToOb(int)\n493 CMapStringToPtr::CMapStringToPtr(int)\n494 CMapStringToString::CMapStringToString(int)\n495 CMapWordToOb::CMapWordToOb(int)\n496 CMapWordToPtr::CMapWordToPtr(int)\n497 CMDIChildWnd::CMDIChildWnd(void)\n498 CMDIFrameWnd::CMDIFrameWnd(void)\n499 CMemFile::CMemFile(unsigned int)\n500 CMemFile::CMemFile(unsigned char *,unsigned int,unsigned int)\n501 CMemoryException::CMemoryException(int,unsigned int)\n502 CMemoryException::CMemoryException(void)\n503 CMemoryState::CMemoryState(void)\n504 CMenu::CMenu(void)\n505 CMetaFileDC::CMetaFileDC(void)\n506 CMiniDockFrameWnd::CMiniDockFrameWnd(void)\n507 CMiniFrameWnd::CMiniFrameWnd(void)\n508 CMonikerFile::CMonikerFile(void)\n509 CMonthCalCtrl::CMonthCalCtrl(void)\n510 CMultiDocTemplate::CMultiDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n511 CMultiLock::CMultiLock(CSyncObject * * const,unsigned long,int)\n512 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(unsigned int,unsigned int,CWnd *)\n513 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(wchar_t const *,wchar_t const *,CWnd *)\n514 CMultiPageDHtmlDialog::CMultiPageDHtmlDialog(void)\n515 CMutex::CMutex(int,wchar_t const *,_SECURITY_ATTRIBUTES *)\n516 CNotSupportedException::CNotSupportedException(int,unsigned int)\n517 CNotSupportedException::CNotSupportedException(void)\n518 CObArray::CObArray(void)\n519 CObject::CObject(void)\n520 CObList::CObList(int)\n521 COleBusyDialog::COleBusyDialog(HTASK__ *,int,unsigned long,CWnd *)\n522 COleChangeIconDialog::COleChangeIconDialog(COleClientItem *,unsigned long,CWnd *)\n523 COleChangeSourceDialog::COleChangeSourceDialog(COleClientItem *,CWnd *)\n524 COleClientItem::COleClientItem(COleDocument *)\n525 COleCmdUI::COleCmdUI(_tagOLECMD *,unsigned long,_GUID const *)\n526 COleCntrFrameWnd::COleCntrFrameWnd(COleIPFrameWnd *)\n527 COleControl::COleControl(void)\n528 COleControlContainer::COleControlContainer(CWnd *)\n529 COleControlLock::COleControlLock(_GUID const &)\n530 COleControlSite::COleControlSite(COleControlContainer *)\n531 COleControlSiteOrWnd::COleControlSiteOrWnd(HWND__ *,int)\n532 COleControlSiteOrWnd::COleControlSiteOrWnd(COleControlSite *)\n533 COleControlSiteOrWnd::COleControlSiteOrWnd(void)\n534 COleConvertDialog::COleConvertDialog(COleClientItem *,unsigned long,_GUID *,CWnd *)\n535 COleCurrency::COleCurrency(tagVARIANT const &)\n536 COleCurrency::COleCurrency(COleCurrency const &)\n537 COleCurrency::COleCurrency(long,long)\n538 COleCurrency::COleCurrency(union tagCY)\n539 COleCurrency::COleCurrency(void)\n540 COleDataObject::COleDataObject(void)\n541 COleDataSource::COleDataSource(void)\n542 COleDialog::COleDialog(CWnd *)\n543 COleDispatchDriver::COleDispatchDriver(COleDispatchDriver const &)\n544 COleDispatchDriver::COleDispatchDriver(IDispatch *,int)\n545 COleDispatchDriver::COleDispatchDriver(void)\n546 COleDispatchException::COleDispatchException(wchar_t const *,unsigned int,unsigned short)\n547 COleDocIPFrameWnd::COleDocIPFrameWnd(void)\n548 COleDocObjectItem::COleDocObjectItem(COleDocument *)\n549 COleDocument::COleDocument(void)\n550 COleDropSource::COleDropSource(void)\n551 COleDropTarget::COleDropTarget(void)\n552 COleException::COleException(void)\n553 COleFrameHook::COleFrameHook(CFrameWnd *,COleClientItem *)\n554 COleInsertDialog::COleInsertDialog(unsigned long,CWnd *)\n555 COleIPFrameWnd::COleIPFrameWnd(void)\n556 COleLinkingDoc::COleLinkingDoc(void)\n557 COleLinksDialog::COleLinksDialog(COleDocument *,CView *,unsigned long,CWnd *)\n558 COleMessageFilter::COleMessageFilter(void)\n559 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,int,wchar_t const *)\n560 COleObjectFactory::COleObjectFactory(_GUID const &,CRuntime*,int,wchar_t const *)\n561 COlePasteSpecialDialog::COlePasteSpecialDialog(unsigned long,COleDataObject *,CWnd *)\n562 COlePropertiesDialog::COlePropertiesDialog(COleClientItem *,unsigned int,unsigned int,CWnd *)\n563 COlePropertyPage::COlePropertyPage(unsigned int,unsigned int)\n564 COleResizeBar::COleResizeBar(void)\n565 COleSafeArray::COleSafeArray(tagSAFEARRAY const &,unsigned short)\n566 COleSafeArray::COleSafeArray(tagVARIANT const &)\n567 COleSafeArray::COleSafeArray(COleSafeArray const &)\n568 COleSafeArray::COleSafeArray(COleVariant const &)\n569 COleSafeArray::COleSafeArray(tagSAFEARRAY const *,unsigned short)\n570 COleSafeArray::COleSafeArray(tagVARIANT const *)\n571 COleSafeArray::COleSafeArray(void)\n572 COleServerDoc::COleServerDoc(void)\n573 COleServerItem::COleServerItem(COleServerDoc *,int)\n574 COleStreamFile::COleStreamFile(IStream *)\n575 COleTemplateServer::COleTemplateServer(void)\n576 COleUILinkInfo::COleUILinkInfo(COleDocument *)\n577 COleUpdateDialog::COleUpdateDialog(COleDocument *,int,int,CWnd *)\n578 COleVariant::COleVariant(__int64)\n579 COleVariant::COleVariant(unsigned __int64)\n580 COleVariant::COleVariant(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n581 COleVariant::COleVariant(tagVARIANT const &)\n582 COleVariant::COleVariant(COleVariant const &)\n583 COleVariant::COleVariant(CByteArray const &)\n584 COleVariant::COleVariant(CLongBinary const &)\n585 COleVariant::COleVariant(COleCurrency const &)\n586 COleVariant::COleVariant(ATL::COleDateTime const &)\n587 COleVariant::COleVariant(unsigned char)\n588 COleVariant::COleVariant(short,unsigned short)\n589 COleVariant::COleVariant(long,unsigned short)\n590 COleVariant::COleVariant(float)\n591 COleVariant::COleVariant(double)\n592 COleVariant::COleVariant(wchar_t const *)\n593 COleVariant::COleVariant(wchar_t const *,unsigned short)\n594 COleVariant::COleVariant(_ITEMIDLIST const *)\n595 COleVariant::COleVariant(tagVARIANT const *)\n596 COleVariant::COleVariant(void)\n597 CPageSetupDialog::CPageSetupDialog(unsigned long,CWnd *)\n598 CPaintDC::CPaintDC(CWnd *)\n599 CPalette::CPalette(void)\n600 CPen::CPen(int,int,unsigned long)\n601 CPen::CPen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n602 CPen::CPen(void)\n603 CPictureHolder::CPictureHolder(void)\n604 CPreviewDC::CPreviewDC(void)\n605 CPreviewView::CPreviewView(void)\n606 CPrintDialog::CPrintDialog(tagPDW &)\n607 CPrintDialog::CPrintDialog(int,unsigned long,CWnd *)\n608 CPrintDialogEx::CPrintDialogEx(unsigned long,CWnd *)\n609 CPrintInfo::CPrintInfo(void)\n610 CPrintPreviewState::CPrintPreviewState(void)\n611 CProgressCtrl::CProgressCtrl(void)\n612 CPropbagPropExchange::CPropbagPropExchange(IPropertyBag *,IErrorLog *,int,int)\n613 CProperty::CProperty(unsigned long,void * const,unsigned long)\n614 CProperty::CProperty(void)\n615 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned int,unsigned int,unsigned long)\n616 CPropertyPage::CPropertyPage(unsigned int,unsigned int,unsigned long)\n617 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned int,unsigned int,unsigned long)\n618 CPropertyPage::CPropertyPage(wchar_t const *,unsigned int,unsigned long)\n619 CPropertyPage::CPropertyPage(void)\n620 CPropertySection::CPropertySection(_GUID)\n621 CPropertySection::CPropertySection(void)\n622 CPropertySet::CPropertySet(_GUID)\n623 CPropertySet::CPropertySet(void)\n624 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int)\n625 CPropertySheet::CPropertySheet(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n626 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int)\n627 CPropertySheet::CPropertySheet(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n628 CPropertySheet::CPropertySheet(void)\n629 CPropExchange::CPropExchange(void)\n630 CPropsetPropExchange::CPropsetPropExchange(CPropertySection &,IStorage *,int)\n631 CPtrArray::CPtrArray(void)\n632 CPtrList::CPtrList(int)\n633 CReBar::CReBar(void)\n634 CReBarCtrl::CReBarCtrl(void)\n635 CRecentFileList::CRecentFileList(unsigned int,wchar_t const *,wchar_t const *,int,int)\n636 CRecordset::CRecordset(CDatabase *)\n637 CRecordView::CRecordView(unsigned int)\n638 CRecordView::CRecordView(wchar_t const *)\n639 CRectTracker::CRectTracker(tagRECT const *,unsigned int)\n640 CRectTracker::CRectTracker(void)\n641 CReObject::CReObject(CRichEditCntrItem *)\n642 CReObject::CReObject(void)\n643 CResetPropExchange::CResetPropExchange(void)\n644 CResourceException::CResourceException(int,unsigned int)\n645 CResourceException::CResourceException(void)\n646 CRgn::CRgn(void)\n647 CRichEditCntrItem::CRichEditCntrItem(_reobject *,CRichEditDoc *)\n648 CRichEditCtrl::CRichEditCtrl(void)\n649 CRichEditDoc::CRichEditDoc(void)\n650 CRichEditView::CRichEditView(void)\n651 CScrollBar::CScrollBar(void)\n652 CScrollView::CScrollView(void)\n653 CSemaphore::CSemaphore(long,long,wchar_t const *,_SECURITY_ATTRIBUTES *)\n654 CSharedFile::CSharedFile(unsigned int,unsigned int)\n655 CSimpleException::CSimpleException(int)\n656 CSimpleException::CSimpleException(void)\n657 CSingleDocTemplate::CSingleDocTemplate(unsigned int,CRuntime*,CRuntime*,CRuntime*)\n658 CSingleLock::CSingleLock(CSyncObject *,int)\n659 CSliderCtrl::CSliderCtrl(void)\n660 CSocket::CSocket(void)\n661 CSocketFile::CSocketFile(CSocket *,int)\n662 CSocketWnd::CSocketWnd(void)\n663 CSpinButtonCtrl::CSpinButtonCtrl(void)\n664 CSplitButton::CSplitButton(unsigned int,unsigned int)\n665 CSplitButton::CSplitButton(CMenu *)\n666 CSplitButton::CSplitButton(void)\n667 CSplitterWnd::CSplitterWnd(void)\n668 CStatic::CStatic(void)\n669 CStatusBar::CStatusBar(void)\n670 CStatusBarCtrl::CStatusBarCtrl(void)\n671 CStdioFile::CStdioFile(_iobuf *)\n672 CStdioFile::CStdioFile(wchar_t const *,unsigned int)\n673 CStdioFile::CStdioFile(void)\n674 CStringArray::CStringArray(void)\n675 CStringList::CStringList(int)\n676 CSyncObject::CSyncObject(wchar_t const *)\n677 CTabCtrl::CTabCtrl(void)\n678 CTestCmdUI::CTestCmdUI(void)\n679 CThreadSlotData::CThreadSlotData(void)\n680 CToolBar::CToolBar(void)\n681 CToolBarCtrl::CToolBarCtrl(void)\n682 CToolTipCtrl::CToolTipCtrl(void)\n683 CTreeCtrl::CTreeCtrl(void)\n684 CTreeView::CTreeView(void)\n685 CUIntArray::CUIntArray(void)\n686 CUserException::CUserException(int,unsigned int)\n687 CUserException::CUserException(void)\n688 CView::CView(void)\n689 CWaitCursor::CWaitCursor(void)\n690 CWinApp::CWinApp(wchar_t const *)\n691 CWindowDC::CWindowDC(CWnd *)\n692 CWindowlessDC::CWindowlessDC(HDC__ *,CPoint &)\n693 CWinThread::CWinThread(unsigned int (__cdecl*)(void *),void *)\n694 CWinThread::CWinThread(void)\n695 CWnd::CWnd(HWND__ *)\n696 CWnd::CWnd(void)\n697 CWordArray::CWordArray(void)\n698 CPreviewView::PAGE_INFO::PAGE_INFO(void)\n699 ATL::CSimpleStringT<wchar_t,1>::~CSimpleStringT<wchar_t,1>(void)\n700 ATL::CSimpleStringT<char,1>::~CSimpleStringT<char,1>(void)\n701 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::~CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >(void)\n702 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::~CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >(void)\n703 _AFX_CHECKLIST_STATE::~_AFX_CHECKLIST_STATE(void)\n704 _AFX_DAO_STATE::~_AFX_DAO_STATE(void)\n705 _AFX_DEBUG_STATE::~_AFX_DEBUG_STATE(void)\n706 _AFX_EDIT_STATE::~_AFX_EDIT_STATE(void)\n707 _AFX_MAIL_STATE::~_AFX_MAIL_STATE(void)\n708 _AFX_OLE_STATE::~_AFX_OLE_STATE(void)\n709 _AFX_RICHEDIT_STATE::~_AFX_RICHEDIT_STATE(void)\n710 _AFX_SOCK_STATE::~_AFX_SOCK_STATE(void)\n711 _AFX_THREAD_STATE::~_AFX_THREAD_STATE(void)\n712 _AFXCTL_UIACTIVE_INFO::~_AFXCTL_UIACTIVE_INFO(void)\n713 AFX_MAINTAIN_STATE::~AFX_MAINTAIN_STATE(void)\n714 AFX_MAINTAIN_STATE2::~AFX_MAINTAIN_STATE2(void)\n715 AFX_MODULE_STATE::~AFX_MODULE_STATE(void)\n716 AFX_MODULE_THREAD_STATE::~AFX_MODULE_THREAD_STATE(void)\n717 CAnimateCtrl::~CAnimateCtrl(void)\n718 CArchive::~CArchive(void)\n719 CArchiveException::~CArchiveException(void)\n720 CAsyncMonikerFile::~CAsyncMonikerFile(void)\n721 CAsyncSocket::~CAsyncSocket(void)\n722 CBitmap::~CBitmap(void)\n723 CBrush::~CBrush(void)\n724 CButton::~CButton(void)\n725 CByteArray::~CByteArray(void)\n726 CClientDC::~CClientDC(void)\n727 CCmdTarget::~CCmdTarget(void)\n728 CComboBox::~CComboBox(void)\n729 CComboBoxEx::~CComboBoxEx(void)\n730 CCommandLineInfo::~CCommandLineInfo(void)\n731 CConnectionPoint::~CConnectionPoint(void)\n732 CControlBar::~CControlBar(void)\n733 CControlSiteFactoryMgr::~CControlSiteFactoryMgr(void)\n734 CCriticalSection::~CCriticalSection(void)\n735 CCtrlView::~CCtrlView(void)\n736 CDaoDatabase::~CDaoDatabase(void)\n737 CDaoException::~CDaoException(void)\n738 CDaoIndexInfo::~CDaoIndexInfo(void)\n739 CDaoQueryDef::~CDaoQueryDef(void)\n740 CDaoRecordset::~CDaoRecordset(void)\n741 CDaoRecordView::~CDaoRecordView(void)\n742 CDaoRelationInfo::~CDaoRelationInfo(void)\n743 CDaoTableDef::~CDaoTableDef(void)\n744 CDaoWorkspace::~CDaoWorkspace(void)\n745 CDatabase::~CDatabase(void)\n746 CDataSourceControl::~CDataSourceControl(void)\n747 CDateTimeCtrl::~CDateTimeCtrl(void)\n748 CDBException::~CDBException(void)\n749 CDBVariant::~CDBVariant(void)\n750 CDC::~CDC(void)\n751 CDHtmlControlSink::~CDHtmlControlSink(void)\n752 CDHtmlDialog::~CDHtmlDialog(void)\n753 CDialog::~CDialog(void)\n754 CDialogBar::~CDialogBar(void)\n755 CDialogTemplate::~CDialogTemplate(void)\n756 CDocItem::~CDocItem(void)\n757 CDockBar::~CDockBar(void)\n758 CDockContext::~CDockContext(void)\n759 CDockState::~CDockState(void)\n760 CDocManager::~CDocManager(void)\n761 CDocObjectServer::~CDocObjectServer(void)\n762 CDocObjectServerItem::~CDocObjectServerItem(void)\n763 CDocTemplate::~CDocTemplate(void)\n764 CDocument::~CDocument(void)\n765 CDragListBox::~CDragListBox(void)\n766 CDWordArray::~CDWordArray(void)\n767 CDynLinkLibrary::~CDynLinkLibrary(void)\n768 CEdit::~CEdit(void)\n769 CEditView::~CEditView(void)\n770 CEnumArray::~CEnumArray(void)\n771 CEnumConnections::~CEnumConnections(void)\n772 CEnumConnPoints::~CEnumConnPoints(void)\n773 CEnumFormatEtc::~CEnumFormatEtc(void)\n774 CEnumOleVerb::~CEnumOleVerb(void)\n775 CEnumUnknown::~CEnumUnknown(void)\n776 CEvent::~CEvent(void)\n777 CException::~CException(void)\n778 CFile::~CFile(void)\n779 CFileDialog::~CFileDialog(void)\n780 CFileException::~CFileException(void)\n781 CFileFind::~CFileFind(void)\n782 CFixedAlloc::~CFixedAlloc(void)\n783 CFixedAllocNoSync::~CFixedAllocNoSync(void)\n784 CFont::~CFont(void)\n785 CFontHolder::~CFontHolder(void)\n786 CFormView::~CFormView(void)\n787 CFrameWnd::~CFrameWnd(void)\n788 CFtpConnection::~CFtpConnection(void)\n789 CFtpFileFind::~CFtpFileFind(void)\n790 CGdiObject::~CGdiObject(void)\n791 CGopherConnection::~CGopherConnection(void)\n792 CGopherFile::~CGopherFile(void)\n793 CGopherFileFind::~CGopherFileFind(void)\n794 CGopherLocator::~CGopherLocator(void)\n795 CHeaderCtrl::~CHeaderCtrl(void)\n796 CHotKeyCtrl::~CHotKeyCtrl(void)\n797 CHtmlControlSite::~CHtmlControlSite(void)\n798 CHtmlEditCtrl::~CHtmlEditCtrl(void)\n799 CHtmlEditDoc::~CHtmlEditDoc(void)\n800 CHtmlEditView::~CHtmlEditView(void)\n801 CHtmlView::~CHtmlView(void)\n802 CHttpConnection::~CHttpConnection(void)\n803 CHttpFile::~CHttpFile(void)\n804 CImageList::~CImageList(void)\n805 CInternetConnection::~CInternetConnection(void)\n806 CInternetException::~CInternetException(void)\n807 CInternetFile::~CInternetFile(void)\n808 CInternetSession::~CInternetSession(void)\n809 CInvalidArgException::~CInvalidArgException(void)\n810 CIPAddressCtrl::~CIPAddressCtrl(void)\n811 CListBox::~CListBox(void)\n812 CListCtrl::~CListCtrl(void)\n813 CLongBinary::~CLongBinary(void)\n814 CMapPtrToPtr::~CMapPtrToPtr(void)\n815 CMapPtrToWord::~CMapPtrToWord(void)\n816 CMapStringToOb::~CMapStringToOb(void)\n817 CMapStringToPtr::~CMapStringToPtr(void)\n818 CMapStringToString::~CMapStringToString(void)\n819 CMapWordToOb::~CMapWordToOb(void)\n820 CMapWordToPtr::~CMapWordToPtr(void)\n821 CMemFile::~CMemFile(void)\n822 CMemoryException::~CMemoryException(void)\n823 CMenu::~CMenu(void)\n824 CMetaFileDC::~CMetaFileDC(void)\n825 CMiniFrameWnd::~CMiniFrameWnd(void)\n826 CMonikerFile::~CMonikerFile(void)\n827 CMonthCalCtrl::~CMonthCalCtrl(void)\n828 CMultiDocTemplate::~CMultiDocTemplate(void)\n829 CMultiLock::~CMultiLock(void)\n830 CMultiPageDHtmlDialog::~CMultiPageDHtmlDialog(void)\n831 CMutex::~CMutex(void)\n832 CNotSupportedException::~CNotSupportedException(void)\n833 CObArray::~CObArray(void)\n834 CObject::~CObject(void)\n835 CObList::~CObList(void)\n836 COleBusyDialog::~COleBusyDialog(void)\n837 COleChangeIconDialog::~COleChangeIconDialog(void)\n838 COleChangeSourceDialog::~COleChangeSourceDialog(void)\n839 COleClientItem::~COleClientItem(void)\n840 COleCntrFrameWnd::~COleCntrFrameWnd(void)\n841 COleControl::~COleControl(void)\n842 COleControlContainer::~COleControlContainer(void)\n843 COleControlLock::~COleControlLock(void)\n844 COleControlSite::~COleControlSite(void)\n845 COleControlSiteOrWnd::~COleControlSiteOrWnd(void)\n846 COleConvertDialog::~COleConvertDialog(void)\n847 COleDataObject::~COleDataObject(void)\n848 COleDataSource::~COleDataSource(void)\n849 COleDispatchDriver::~COleDispatchDriver(void)\n850 COleDispatchException::~COleDispatchException(void)\n851 COleDocIPFrameWnd::~COleDocIPFrameWnd(void)\n852 COleDocObjectItem::~COleDocObjectItem(void)\n853 COleDocument::~COleDocument(void)\n854 COleDropTarget::~COleDropTarget(void)\n855 COleException::~COleException(void)\n856 COleFrameHook::~COleFrameHook(void)\n857 COleInsertDialog::~COleInsertDialog(void)\n858 COleIPFrameWnd::~COleIPFrameWnd(void)\n859 COleLinkingDoc::~COleLinkingDoc(void)\n860 COleLinksDialog::~COleLinksDialog(void)\n861 COleMessageFilter::~COleMessageFilter(void)\n862 COleObjectFactory::~COleObjectFactory(void)\n863 COlePasteSpecialDialog::~COlePasteSpecialDialog(void)\n864 COlePropertyPage::~COlePropertyPage(void)\n865 COleResizeBar::~COleResizeBar(void)\n866 COleSafeArray::~COleSafeArray(void)\n867 COleServerDoc::~COleServerDoc(void)\n868 COleServerItem::~COleServerItem(void)\n869 COleStreamFile::~COleStreamFile(void)\n870 COleUpdateDialog::~COleUpdateDialog(void)\n871 COleVariant::~COleVariant(void)\n872 CPaintDC::~CPaintDC(void)\n873 CPalette::~CPalette(void)\n874 CPen::~CPen(void)\n875 CPictureHolder::~CPictureHolder(void)\n876 CPreviewDC::~CPreviewDC(void)\n877 CPreviewView::~CPreviewView(void)\n878 CPrintInfo::~CPrintInfo(void)\n879 CProcessLocalObject::~CProcessLocalObject(void)\n880 CProgressCtrl::~CProgressCtrl(void)\n881 CPropbagPropExchange::~CPropbagPropExchange(void)\n882 CProperty::~CProperty(void)\n883 CPropertyPage::~CPropertyPage(void)\n884 CPropertySection::~CPropertySection(void)\n885 CPropertySet::~CPropertySet(void)\n886 CPropertySheet::~CPropertySheet(void)\n887 CPtrArray::~CPtrArray(void)\n888 CPtrList::~CPtrList(void)\n889 CReBarCtrl::~CReBarCtrl(void)\n890 CRecentFileList::~CRecentFileList(void)\n891 CRecordset::~CRecordset(void)\n892 CRecordView::~CRecordView(void)\n893 CRectTracker::~CRectTracker(void)\n894 CReObject::~CReObject(void)\n895 CResourceException::~CResourceException(void)\n896 CRgn::~CRgn(void)\n897 CRichEditCntrItem::~CRichEditCntrItem(void)\n898 CRichEditCtrl::~CRichEditCtrl(void)\n899 CScrollBar::~CScrollBar(void)\n900 CScrollView::~CScrollView(void)\n901 CSemaphore::~CSemaphore(void)\n902 CSharedFile::~CSharedFile(void)\n903 CSimpleException::~CSimpleException(void)\n904 CSingleDocTemplate::~CSingleDocTemplate(void)\n905 CSingleLock::~CSingleLock(void)\n906 CSliderCtrl::~CSliderCtrl(void)\n907 CSocket::~CSocket(void)\n908 CSocketFile::~CSocketFile(void)\n909 CSpinButtonCtrl::~CSpinButtonCtrl(void)\n910 CSplitButton::~CSplitButton(void)\n911 CSplitterWnd::~CSplitterWnd(void)\n912 CStatic::~CStatic(void)\n913 CStatusBar::~CStatusBar(void)\n914 CStatusBarCtrl::~CStatusBarCtrl(void)\n915 CStdioFile::~CStdioFile(void)\n916 CStringArray::~CStringArray(void)\n917 CStringList::~CStringList(void)\n918 CSyncObject::~CSyncObject(void)\n919 CTabCtrl::~CTabCtrl(void)\n920 CThreadLocalObject::~CThreadLocalObject(void)\n921 CThreadSlotData::~CThreadSlotData(void)\n922 CToolBar::~CToolBar(void)\n923 CToolBarCtrl::~CToolBarCtrl(void)\n924 CToolTipCtrl::~CToolTipCtrl(void)\n925 CTreeCtrl::~CTreeCtrl(void)\n926 CUIntArray::~CUIntArray(void)\n927 CUserException::~CUserException(void)\n928 CView::~CView(void)\n929 CWaitCursor::~CWaitCursor(void)\n930 CWinApp::~CWinApp(void)\n931 CWindowDC::~CWindowDC(void)\n932 CWinThread::~CWinThread(void)\n933 CWnd::~CWnd(void)\n934 CWordArray::~CWordArray(void)\n935 void * operator new(unsigned int)\n936 void * operator new(unsigned int,int,char const *,int)\n937 void * operator new(unsigned int,char const *,int)\n938 void * CNoTrackObject::operator new(unsigned int)\n939 void * CNoTrackObject::operator new(unsigned int,char const *,int)\n940 void * CObject::operator new(unsigned int)\n941 void * CObject::operator new(unsigned int,void *)\n942 void * CObject::operator new(unsigned int,char const *,int)\n943 void operator delete(void *)\n944 void operator delete(void *,int,char const *,int)\n945 void operator delete(void *,char const *,int)\n946 void CException::operator delete(void *)\n947 void CException::operator delete(void *,char const *,int)\n948 void CNoTrackObject::operator delete(void *)\n949 void CNoTrackObject::operator delete(void *,char const *,int)\n950 void CObject::operator delete(void *)\n951 void CObject::operator delete(void *,void *)\n952 void CObject::operator delete(void *,char const *,int)\n953 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,0> const &)\n954 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(ATL::CSimpleStringT<wchar_t,1> const &)\n955 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator=(wchar_t const *)\n956 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,0> const &)\n957 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(ATL::CSimpleStringT<char,1> const &)\n958 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator=(char const *)\n959 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t)\n960 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(tagVARIANT const &)\n961 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n962 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char)\n963 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(wchar_t const *)\n964 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(char const *)\n965 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator=(unsigned char const *)\n966 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t)\n967 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(tagVARIANT const &)\n968 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > const &)\n969 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char)\n970 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(wchar_t const *)\n971 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(char const *)\n972 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator=(unsigned char const *)\n973 void CArchive::operator=(CArchive const &)\n974 void CDumpContext::operator=(CDumpContext const &)\n975 COleCurrency const & COleCurrency::operator=(tagVARIANT const &)\n976 COleCurrency const & COleCurrency::operator=(COleCurrency const &)\n977 COleCurrency const & COleCurrency::operator=(union tagCY)\n978 COleDispatchDriver const & COleDispatchDriver::operator=(COleDispatchDriver const &)\n979 COleSafeArray & COleSafeArray::operator=(tagVARIANT const &)\n980 COleSafeArray & COleSafeArray::operator=(COleSafeArray const &)\n981 COleSafeArray & COleSafeArray::operator=(COleVariant const &)\n982 COleSafeArray & COleSafeArray::operator=(tagVARIANT const *)\n983 COleVariant const & COleVariant::operator=(__int64)\n984 COleVariant const & COleVariant::operator=(unsigned __int64)\n985 COleVariant const & COleVariant::operator=(tagVARIANT const &)\n986 COleVariant const & COleVariant::operator=(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n987 COleVariant const & COleVariant::operator=(COleVariant const &)\n988 COleVariant const & COleVariant::operator=(CByteArray const &)\n989 COleVariant const & COleVariant::operator=(CLongBinary const &)\n990 COleVariant const & COleVariant::operator=(COleCurrency const &)\n991 COleVariant const & COleVariant::operator=(ATL::COleDateTime const &)\n992 COleVariant const & COleVariant::operator=(unsigned char)\n993 COleVariant const & COleVariant::operator=(short)\n994 COleVariant const & COleVariant::operator=(long)\n995 COleVariant const & COleVariant::operator=(float)\n996 COleVariant const & COleVariant::operator=(double)\n997 COleVariant const & COleVariant::operator=(tagVARIANT const *)\n998 COleVariant const & COleVariant::operator=(wchar_t const * const)\n999 CArchive & operator>>(CArchive &,CByteArray * &)\n1000 CArchive & operator>>(CArchive &,CDocItem * &)\n1001 CArchive & operator>>(CArchive &,CDockState * &)\n1002 CArchive & operator>>(CArchive &,CDWordArray * &)\n1003 CArchive & operator>>(CArchive &,CMapStringToOb * &)\n1004 CArchive & operator>>(CArchive &,CMapStringToString * &)\n1005 CArchive & operator>>(CArchive &,CMapWordToOb * &)\n1006 CArchive & operator>>(CArchive &,CObArray * &)\n1007 CArchive & operator>>(CArchive &,CObject * &)\n1008 CArchive & operator>>(CArchive &,CObList * &)\n1009 CArchive & operator>>(CArchive &,CRichEditCntrItem * &)\n1010 CArchive & operator>>(CArchive &,CStringArray * &)\n1011 CArchive & operator>>(CArchive &,CStringList * &)\n1012 CArchive & operator>>(CArchive &,CWordArray * &)\n1013 CArchive & operator>>(CArchive &,CObject const * &)\n1014 CArchive & operator>>(CArchive &,tagPOINT &)\n1015 CArchive & operator>>(CArchive &,tagRECT &)\n1016 CArchive & operator>>(CArchive &,tagSIZE &)\n1017 CArchive & operator>>(CArchive &,ATL::CComBSTR &)\n1018 CArchive & operator>>(CArchive &,COleCurrency &)\n1019 CArchive & operator>>(CArchive &,ATL::COleDateTime &)\n1020 CArchive & operator>>(CArchive &,ATL::COleDateTimeSpan &)\n1021 CArchive & operator>>(CArchive &,COleVariant &)\n1022 CArchive & operator>>(CArchive &,ATL::CTime &)\n1023 CArchive & operator>>(CArchive &,ATL::CTimeSpan &)\n1024 CArchive & CArchive::operator>>(__int64 &)\n1025 CArchive & CArchive::operator>>(unsigned __int64 &)\n1026 CArchive & CArchive::operator>>(bool &)\n1027 CArchive & CArchive::operator>>(wchar_t &)\n1028 CArchive & CArchive::operator>>(char &)\n1029 CArchive & CArchive::operator>>(unsigned char &)\n1030 CArchive & CArchive::operator>>(short &)\n1031 CArchive & CArchive::operator>>(unsigned short &)\n1032 CArchive & CArchive::operator>>(int &)\n1033 CArchive & CArchive::operator>>(unsigned int &)\n1034 CArchive & CArchive::operator>>(long &)\n1035 CArchive & CArchive::operator>>(unsigned long &)\n1036 CArchive & CArchive::operator>>(float &)\n1037 CArchive & CArchive::operator>>(double &)\n1038 CArchive & operator<<(CArchive &,tagRECT const &)\n1039 CArchive & operator<<(CArchive &,CObject const *)\n1040 CArchive & operator<<(CArchive &,tagPOINT)\n1041 CArchive & operator<<(CArchive &,tagSIZE)\n1042 CArchive & operator<<(CArchive &,ATL::CComBSTR)\n1043 CArchive & operator<<(CArchive &,COleCurrency)\n1044 CArchive & operator<<(CArchive &,ATL::COleDateTime)\n1045 CArchive & operator<<(CArchive &,ATL::COleDateTimeSpan)\n1046 CArchive & operator<<(CArchive &,COleVariant)\n1047 CArchive & operator<<(CArchive &,ATL::CTime)\n1048 CArchive & operator<<(CArchive &,ATL::CTimeSpan)\n1049 CDumpContext & operator<<(CDumpContext &,COleSafeArray &)\n1050 CDumpContext & operator<<(CDumpContext &,tagRECT const &)\n1051 CDumpContext & operator<<(CDumpContext &,tagPOINT)\n1052 CDumpContext & operator<<(CDumpContext &,tagSIZE)\n1053 CDumpContext & operator<<(CDumpContext &,COleCurrency)\n1054 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTime)\n1055 CDumpContext & operator<<(CDumpContext &,ATL::COleDateTimeSpan)\n1056 CDumpContext & operator<<(CDumpContext &,COleVariant)\n1057 CDumpContext & operator<<(CDumpContext &,ATL::CTime)\n1058 CDumpContext & operator<<(CDumpContext &,ATL::CTimeSpan)\n1059 CArchive & CArchive::operator<<(__int64)\n1060 CArchive & CArchive::operator<<(unsigned __int64)\n1061 CArchive & CArchive::operator<<(bool)\n1062 CArchive & CArchive::operator<<(wchar_t)\n1063 CArchive & CArchive::operator<<(char)\n1064 CArchive & CArchive::operator<<(unsigned char)\n1065 CArchive & CArchive::operator<<(short)\n1066 CArchive & CArchive::operator<<(unsigned short)\n1067 CArchive & CArchive::operator<<(int)\n1068 CArchive & CArchive::operator<<(unsigned int)\n1069 CArchive & CArchive::operator<<(long)\n1070 CArchive & CArchive::operator<<(unsigned long)\n1071 CArchive & CArchive::operator<<(float)\n1072 CArchive & CArchive::operator<<(double)\n1073 CDumpContext & CDumpContext::operator<<(__int64)\n1074 CDumpContext & CDumpContext::operator<<(unsigned __int64)\n1075 CDumpContext & CDumpContext::operator<<(CObject const &)\n1076 CDumpContext & CDumpContext::operator<<(unsigned char)\n1077 CDumpContext & CDumpContext::operator<<(unsigned short)\n1078 CDumpContext & CDumpContext::operator<<(int)\n1079 CDumpContext & CDumpContext::operator<<(unsigned int)\n1080 CDumpContext & CDumpContext::operator<<(long)\n1081 CDumpContext & CDumpContext::operator<<(unsigned long)\n1082 CDumpContext & CDumpContext::operator<<(float)\n1083 CDumpContext & CDumpContext::operator<<(double)\n1084 CDumpContext & CDumpContext::operator<<(HACCEL__ *)\n1085 CDumpContext & CDumpContext::operator<<(HDC__ *)\n1086 CDumpContext & CDumpContext::operator<<(HFONT__ *)\n1087 CDumpContext & CDumpContext::operator<<(HMENU__ *)\n1088 CDumpContext & CDumpContext::operator<<(HWND__ *)\n1089 CDumpContext & CDumpContext::operator<<(wchar_t const *)\n1090 CDumpContext & CDumpContext::operator<<(char const *)\n1091 CDumpContext & CDumpContext::operator<<(CObject const *)\n1092 CDumpContext & CDumpContext::operator<<(void const *)\n1093 int CGdiObject::operator==(CGdiObject const &)const \n1094 int CMenu::operator==(CMenu const &)const \n1095 int COleCurrency::operator==(COleCurrency const &)const \n1096 int COleSafeArray::operator==(tagSAFEARRAY const &)const \n1097 int COleSafeArray::operator==(tagVARIANT const &)const \n1098 int COleSafeArray::operator==(COleSafeArray const &)const \n1099 int COleSafeArray::operator==(COleVariant const &)const \n1100 int COleSafeArray::operator==(tagSAFEARRAY const *)const \n1101 int COleSafeArray::operator==(tagVARIANT const *)const \n1102 int COleVariant::operator==(tagVARIANT const &)const \n1103 int COleVariant::operator==(tagVARIANT const *)const \n1104 int CWnd::operator==(CWnd const &)const \n1105 int CGdiObject::operator!=(CGdiObject const &)const \n1106 int CMenu::operator!=(CMenu const &)const \n1107 int COleCurrency::operator!=(COleCurrency const &)const \n1108 int CWnd::operator!=(CWnd const &)const \n1109 wchar_t ATL::CSimpleStringT<wchar_t,1>::operator[](int)const \n1110 char ATL::CSimpleStringT<char,1>::operator[](int)const \n1111 unsigned char & CByteArray::operator[](int)\n1112 unsigned char CByteArray::operator[](int)const \n1113 unsigned long & CDWordArray::operator[](int)\n1114 unsigned long CDWordArray::operator[](int)const \n1115 void * & CMapPtrToPtr::operator[](void *)\n1116 unsigned short & CMapPtrToWord::operator[](void *)\n1117 CObject * & CMapStringToOb::operator[](wchar_t const *)\n1118 void * & CMapStringToPtr::operator[](wchar_t const *)\n1119 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CMapStringToString::operator[](wchar_t const *)\n1120 CObject * & CMapWordToOb::operator[](unsigned short)\n1121 void * & CMapWordToPtr::operator[](unsigned short)\n1122 CObject * & CObArray::operator[](int)\n1123 CObject * CObArray::operator[](int)const \n1124 void * & CPtrArray::operator[](int)\n1125 void * CPtrArray::operator[](int)const \n1126 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::operator[](int)\n1127 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::operator[](int)const \n1128 unsigned int & CUIntArray::operator[](int)\n1129 unsigned int CUIntArray::operator[](int)const \n1130 unsigned short & CWordArray::operator[](int)\n1131 unsigned short CWordArray::operator[](int)const \n1132 ATL::CSimpleStringT<wchar_t,1>::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n1133 ATL::CSimpleStringT<wchar_t,1>::operator wchar_t const *(void)const \n1134 ATL::CSimpleStringT<char,1>::operator ATL::CSimpleStringT<char,0> &(void)\n1135 ATL::CSimpleStringT<char,1>::operator char const *(void)const \n1136 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator ATL::CSimpleStringT<wchar_t,0> &(void)\n1137 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator ATL::CSimpleStringT<char,0> &(void)\n1138 CAsyncSocket::operator unsigned int(void)const \n1139 CBitmap::operator HBITMAP__ *(void)const \n1140 CBrush::operator HBRUSH__ *(void)const \n1141 CCriticalSection::operator _RTL_CRITICAL_SECTION *(void)\n1142 CDC::operator HDC__ *(void)const \n1143 CFile::operator void *(void)const \n1144 CFont::operator HFONT__ *(void)const \n1145 CGdiObject::operator void *(void)const \n1146 CGopherLocator::operator wchar_t const *(void)const \n1147 CImageList::operator _IMAGELIST *(void)const \n1148 CInternetConnection::operator void *(void)const \n1149 CInternetFile::operator void *(void)const \n1150 CInternetSession::operator void *(void)const \n1151 CMenu::operator HMENU__ *(void)const \n1152 COleCurrency::operator union tagCY(void)const \n1153 COleDispatchDriver::operator IDispatch *(void)\n1154 COleSafeArray::operator tagVARIANT *(void)\n1155 COleSafeArray::operator tagVARIANT const *(void)const \n1156 COleVariant::operator tagVARIANT *(void)\n1157 COleVariant::operator tagVARIANT const *(void)const \n1158 CPalette::operator HPALETTE__ *(void)const \n1159 CPen::operator HPEN__ *(void)const \n1160 CRgn::operator HRGN__ *(void)const \n1161 CSyncObject::operator void *(void)const \n1162 CWinThread::operator void *(void)const \n1163 CWnd::operator HWND__ *(void)const \n1164 COleCurrency COleCurrency::operator*(long)const \n1165 COleCurrency COleCurrency::operator-(COleCurrency const &)const \n1166 COleCurrency COleCurrency::operator-(void)const \n1167 COleCurrency COleCurrency::operator+(COleCurrency const &)const \n1168 COleCurrency COleCurrency::operator/(long)const \n1169 int COleCurrency::operator<(COleCurrency const &)const \n1170 int COleCurrency::operator<=(COleCurrency const &)const \n1171 int COleCurrency::operator>(COleCurrency const &)const \n1172 int COleCurrency::operator>=(COleCurrency const &)const \n1173 COleCurrency const & COleCurrency::operator*=(long)\n1174 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t)\n1175 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1176 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(char)\n1177 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(unsigned char)\n1178 ATL::CSimpleStringT<wchar_t,1> & ATL::CSimpleStringT<wchar_t,1>::operator+=(wchar_t const *)\n1179 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(wchar_t)\n1180 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(ATL::CSimpleStringT<char,1> const &)\n1181 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char)\n1182 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(unsigned char)\n1183 ATL::CSimpleStringT<char,1> & ATL::CSimpleStringT<char,1>::operator+=(char const *)\n1184 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t)\n1185 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(tagVARIANT const &)\n1186 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(ATL::CSimpleStringT<wchar_t,1> const &)\n1187 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char)\n1188 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(unsigned char)\n1189 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(wchar_t const *)\n1190 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::operator+=(char const *)\n1191 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t)\n1192 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(tagVARIANT const &)\n1193 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(ATL::CSimpleStringT<char,1> const &)\n1194 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char)\n1195 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(unsigned char)\n1196 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(wchar_t const *)\n1197 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::operator+=(char const *)\n1198 COleCurrency const & COleCurrency::operator+=(COleCurrency const &)\n1199 COleCurrency const & COleCurrency::operator-=(COleCurrency const &)\n1200 int _AfxAbortProc(HDC__ *,int)\n1201 CThreadLocal<_AFXCTL_AMBIENT_CACHE> _afxAmbientCache\n1202 int _AfxDeleteRegKey(wchar_t const *)\n1203 COleControlSiteOrWnd * _AfxFindSiteOrWnd(CWnd *,CWnd *)\n1204 CProcessLocal<_AFX_RICHEDIT_STATE> _afxRichEditState\n1205 int _AfxSocketInit(WSAData *)\n1206 void CArchive::Abort(void)\n1207 void CFile::Abort(void)\n1208 void CInternetFile::Abort(void)\n1209 void CMemFile::Abort(void)\n1210 void CMirrorFile::Abort(void)\n1211 void COleStreamFile::Abort(void)\n1212 void CSocketFile::Abort(void)\n1213 void CStdioFile::Abort(void)\n1214 int CDC::AbortDoc(void)\n1215 int CDC::AbortPath(void)\n1216 long COleControlSite::XNotifyDBEvents::AboutToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1217 long CCheckListBox::accDoDefaultAction(tagVARIANT)\n1218 long CWnd::accDoDefaultAction(tagVARIANT)\n1219 long CWnd::XAccessible::accDoDefaultAction(tagVARIANT)\n1220 int CAsyncSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1221 int CSocket::Accept(CAsyncSocket &,sockaddr *,int *)\n1222 void COleSafeArray::AccessData(void * *)\n1223 long CWnd::accHitTest(long,long,tagVARIANT *)\n1224 long CWnd::XAccessible::accHitTest(long,long,tagVARIANT *)\n1225 long CWnd::accLocation(long *,long *,long *,long *,tagVARIANT)\n1226 long CWnd::XAccessible::accLocation(long *,long *,long *,long *,tagVARIANT)\n1227 long CWnd::accNavigate(long,tagVARIANT,tagVARIANT *)\n1228 long CWnd::XAccessible::accNavigate(long,tagVARIANT,tagVARIANT *)\n1229 long CWnd::accSelect(long,tagVARIANT)\n1230 long CWnd::XAccessible::accSelect(long,tagVARIANT)\n1231 void COleClientItem::Activate(long,CView *,tagMSG *)\n1232 void CToolTipCtrl::Activate(int)\n1233 long COlePropertyPage::XPropertyPage::Activate(HWND__ *,tagRECT const *,int)\n1234 void COleDocObjectItem::ActivateAndShow(void)\n1235 int COleClientItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1236 int CRichEditCntrItem::ActivateAs(wchar_t const *,_GUID const &,_GUID const &)\n1237 void CDocObjectServer::ActivateDocObject(void)\n1238 void COleServerDoc::ActivateDocObject(void)\n1239 void CFrameWnd::ActivateFrame(int)\n1240 void CMDIChildWnd::ActivateFrame(int)\n1241 int COleServerDoc::ActivateInPlace(void)\n1242 long COleDocObjectItem::XOleDocumentSite::ActivateMe(IOleDocumentView *)\n1243 void CSplitterWnd::ActivateNext(int)\n1244 void CWnd::ActivateTopParent(void)\n1245 int CByteArray::Add(unsigned char)\n1246 int CDWordArray::Add(unsigned long)\n1247 int CImageList::Add(HICON__ *)\n1248 int CImageList::Add(CBitmap *,CBitmap *)\n1249 int CImageList::Add(CBitmap *,unsigned long)\n1250 int CObArray::Add(CObject *)\n1251 int CPtrArray::Add(void *)\n1252 void CRecentFileList::Add(wchar_t const *)\n1253 int CStringArray::Add(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1254 int CStringArray::Add(wchar_t const *)\n1255 int CUIntArray::Add(unsigned int)\n1256 int CWordArray::Add(unsigned short)\n1257 int CReBar::AddBar(CWnd *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n1258 int CReBar::AddBar(CWnd *,wchar_t const *,CBitmap *,unsigned long)\n1259 int CToolBarCtrl::AddBitmap(int,unsigned int)\n1260 int CToolBarCtrl::AddBitmap(int,CBitmap *)\n1261 int CToolBarCtrl::AddButtons(int,_TBBUTTON *)\n1262 void COleClientItem::AddCachedData(COleDataSource *)\n1263 void COleInsertDialog::AddClassIDToList(_GUID * &,int &,int &,_GUID *)\n1264 void CEnumConnections::AddConnection(tagCONNECTDATA *)\n1265 void CEnumConnPoints::AddConnPoint(IConnectionPoint *)\n1266 void CFrameWnd::AddControlBar(CControlBar *)\n1267 void CDocManager::AddDocTemplate(CDocTemplate *)\n1268 void CWinApp::AddDocTemplate(CDocTemplate *)\n1269 void CDocTemplate::AddDocument(CDocument *)\n1270 void CMultiDocTemplate::AddDocument(CDocument *)\n1271 void CSingleDocTemplate::AddDocument(CDocument *)\n1272 void CEnumFormatEtc::AddFormat(tagFORMATETC const *)\n1273 void COlePasteSpecialDialog::AddFormat(tagFORMATETC const &,wchar_t *,wchar_t *,unsigned long)\n1274 void COlePasteSpecialDialog::AddFormat(unsigned int,unsigned long,unsigned int,int,int)\n1275 void COleControl::AddFrameLevelUI(void)\n1276 void CFrameWnd::AddFrameWnd(void)\n1277 __POSITION * CObList::AddHead(CObject *)\n1278 void CObList::AddHead(CObList *)\n1279 __POSITION * CPtrList::AddHead(void *)\n1280 void CPtrList::AddHead(CPtrList *)\n1281 void CSimpleList::AddHead(void *)\n1282 __POSITION * CStringList::AddHead(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1283 __POSITION * CStringList::AddHead(wchar_t const *)\n1284 void CStringList::AddHead(CStringList *)\n1285 void COleDocument::AddItem(CDocItem *)\n1286 enum tagOLEUIPASTEFLAG COlePasteSpecialDialog::AddLinkEntry(unsigned int)\n1287 int CDC::AddMetaFileComment(unsigned int,unsigned char const *)\n1288 void CDaoRecordset::AddNew(void)\n1289 void CRecordset::AddNew(void)\n1290 void COleServerItem::AddOtherClipboardData(COleDataSource *)\n1291 void CPropertySheet::AddPage(CPropertyPage *)\n1292 void CPropertySection::AddProperty(CProperty *)\n1293 void CPropertySet::AddProperty(_GUID,CProperty *)\n1294 unsigned long CArchiveStream::AddRef(void)\n1295 unsigned long CBlobProperty::AddRef(void)\n1296 unsigned long CBrowserControlSite::AddRef(void)\n1297 unsigned long CDHtmlControlSink::AddRef(void)\n1298 unsigned long CDHtmlElementEventSink::AddRef(void)\n1299 unsigned long CDHtmlEventSink::AddRef(void)\n1300 unsigned long CInnerUnknown::AddRef(void)\n1301 unsigned long COleConnPtContainer::AddRef(void)\n1302 unsigned long COleDispatchImpl::AddRef(void)\n1303 unsigned long COleUILinkInfo::AddRef(void)\n1304 unsigned long CPrintDialogEx::AddRef(void)\n1305 unsigned long CWnd::XAccessible::AddRef(void)\n1306 unsigned long CWnd::XAccessibleServer::AddRef(void)\n1307 unsigned long COleClientItem::XAdviseSink::AddRef(void)\n1308 unsigned long COleControlSite::XAmbientProps::AddRef(void)\n1309 unsigned long COleControlSite::XBoundObjectSite::AddRef(void)\n1310 unsigned long COleObjectFactory::XClassFactory::AddRef(void)\n1311 unsigned long CConnectionPoint::XConnPt::AddRef(void)\n1312 unsigned long COleControl::XDataObject::AddRef(void)\n1313 unsigned long COleDataSource::XDataObject::AddRef(void)\n1314 unsigned long COleServerDoc::XDataObject::AddRef(void)\n1315 unsigned long COleServerItem::XDataObject::AddRef(void)\n1316 unsigned long CHtmlControlSite::XDocHostUIHandler::AddRef(void)\n1317 unsigned long COleDropSource::XDropSource::AddRef(void)\n1318 unsigned long COleDropTarget::XDropTarget::AddRef(void)\n1319 unsigned long CEnumArray::XEnumVOID::AddRef(void)\n1320 unsigned long COleControlSite::XEventSink::AddRef(void)\n1321 unsigned long CFileDialog::XFileDialogControlEvents::AddRef(void)\n1322 unsigned long CFileDialog::XFileDialogEvents::AddRef(void)\n1323 unsigned long COleControl::XFontNotification::AddRef(void)\n1324 unsigned long COleMessageFilter::XMessageFilter::AddRef(void)\n1325 unsigned long COleControlSite::XNotifyDBEvents::AddRef(void)\n1326 unsigned long COleControl::XOleCache::AddRef(void)\n1327 unsigned long COleClientItem::XOleClientSite::AddRef(void)\n1328 unsigned long COleControlSite::XOleClientSite::AddRef(void)\n1329 unsigned long CDocObjectServer::XOleCommandTarget::AddRef(void)\n1330 unsigned long COleFrameHook::XOleCommandTarget::AddRef(void)\n1331 unsigned long COleControlContainer::XOleContainer::AddRef(void)\n1332 unsigned long COleControl::XOleControl::AddRef(void)\n1333 unsigned long COleControlSite::XOleControlSite::AddRef(void)\n1334 unsigned long CDocObjectServer::XOleDocument::AddRef(void)\n1335 unsigned long COleDocObjectItem::XOleDocumentSite::AddRef(void)\n1336 unsigned long CDocObjectServer::XOleDocumentView::AddRef(void)\n1337 unsigned long COleControl::XOleInPlaceActiveObject::AddRef(void)\n1338 unsigned long COleServerDoc::XOleInPlaceActiveObject::AddRef(void)\n1339 unsigned long COleFrameHook::XOleInPlaceFrame::AddRef(void)\n1340 unsigned long COleControl::XOleInPlaceObject::AddRef(void)\n1341 unsigned long COleServerDoc::XOleInPlaceObject::AddRef(void)\n1342 unsigned long COleControlContainer::XOleIPFrame::AddRef(void)\n1343 unsigned long COleClientItem::XOleIPSite::AddRef(void)\n1344 unsigned long COleControlSite::XOleIPSite::AddRef(void)\n1345 unsigned long COleLinkingDoc::XOleItemContainer::AddRef(void)\n1346 unsigned long CDocObjectServer::XOleObject::AddRef(void)\n1347 unsigned long COleControl::XOleObject::AddRef(void)\n1348 unsigned long COleServerDoc::XOleObject::AddRef(void)\n1349 unsigned long COleServerItem::XOleObject::AddRef(void)\n1350 unsigned long COlePropertiesDialog::XOleUIObjInfo::AddRef(void)\n1351 unsigned long COleControl::XPerPropertyBrowsing::AddRef(void)\n1352 unsigned long COleLinkingDoc::XPersistFile::AddRef(void)\n1353 unsigned long COleControl::XPersistMemory::AddRef(void)\n1354 unsigned long COleControl::XPersistPropertyBag::AddRef(void)\n1355 unsigned long COleControl::XPersistStorage::AddRef(void)\n1356 unsigned long COleServerDoc::XPersistStorage::AddRef(void)\n1357 unsigned long COleControl::XPersistStreamInit::AddRef(void)\n1358 unsigned long COleControl::XPointerInactive::AddRef(void)\n1359 unsigned long CDocObjectServer::XPrint::AddRef(void)\n1360 unsigned long COleControlSite::XPropertyNotifySink::AddRef(void)\n1361 unsigned long COlePropertyPage::XPropertyPage::AddRef(void)\n1362 unsigned long COlePropertyPage::XPropNotifySink::AddRef(void)\n1363 unsigned long COleControl::XProvideClassInfo::AddRef(void)\n1364 unsigned long COleControl::XQuickActivate::AddRef(void)\n1365 unsigned long CRichEditView::XRichEditOleCallback::AddRef(void)\n1366 unsigned long COleControlSite::XRowsetNotify::AddRef(void)\n1367 unsigned long COleControl::XSpecifyPropertyPages::AddRef(void)\n1368 unsigned long COleControl::XViewObject::AddRef(void)\n1369 int CToolBar::AddReplaceBitmap(HBITMAP__ *)\n1370 int CHttpFile::AddRequestHeaders(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1371 int CHttpFile::AddRequestHeaders(wchar_t const *,unsigned long,int)\n1372 CPropertySection * CPropertySet::AddSection(_GUID)\n1373 void CPropertySet::AddSection(CPropertySection *)\n1374 void COlePasteSpecialDialog::AddStandardFormats(int)\n1375 int CComboBox::AddString(wchar_t const *)\n1376 int CComboBoxEx::AddString(wchar_t const *)\n1377 int CListBox::AddString(wchar_t const *)\n1378 int CToolBarCtrl::AddString(unsigned int)\n1379 int CToolBarCtrl::AddStrings(wchar_t const *)\n1380 __POSITION * CObList::AddTail(CObject *)\n1381 void CObList::AddTail(CObList *)\n1382 __POSITION * CPtrList::AddTail(void *)\n1383 void CPtrList::AddTail(CPtrList *)\n1384 __POSITION * CStringList::AddTail(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1385 __POSITION * CStringList::AddTail(wchar_t const *)\n1386 void CStringList::AddTail(CStringList *)\n1387 int CToolTipCtrl::AddTool(CWnd *,unsigned int,tagRECT const *,unsigned int)\n1388 int CToolTipCtrl::AddTool(CWnd *,wchar_t const *,tagRECT const *,unsigned int)\n1389 void CWinApp::AddToRecentFileList(wchar_t const *)\n1390 void CDocument::AddView(CView *)\n1391 void CMetaFileDC::AdjustCP(int)\n1392 void CRichEditView::AdjustDialogPosition(CDialog *)\n1393 void CRectTracker::AdjustRect(int,tagRECT *)\n1394 void CTabCtrl::AdjustRect(int,tagRECT *)\n1395 int CToolTipCtrl::AdjustRect(tagRECT *,int)\n1396 long COleControlSite::XOleIPSite::AdjustRect(tagRECT *)\n1397 long CDHtmlElementEventSink::Advise(IUnknown *,_GUID const &)\n1398 long CConnectionPoint::XConnPt::Advise(IUnknown *,unsigned long *)\n1399 long CDocObjectServer::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1400 long COleControl::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1401 long COleServerDoc::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1402 long COleServerItem::XOleObject::Advise(IAdviseSink *,unsigned long *)\n1403 wchar_t * AfxA2WHelper(wchar_t *,char const *,int)\n1404 void AfxAbort(void)\n1405 int AfxActivateActCtx(void *,unsigned long *)\n1406 enum eActCtxResult AfxActivateActCtxWrapper(void *,unsigned long *)\n1407 void * AfxAllocMemoryDebug(unsigned int,int,char const *,int)\n1408 int AfxAssertFailedLine(char const *,int)\n1409 void AfxAssertValidObject(CObject const *,char const *,int)\n1410 CWinThread * AfxBeginThread(unsigned int (__cdecl*)(void *),void *,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1411 CWinThread * AfxBeginThread(CRuntime*,int,unsigned int,unsigned long,_SECURITY_ATTRIBUTES *)\n1412 void AfxBSTR2CString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t *)\n1413 long AfxCallWndProc(CWnd *,HWND__ *,unsigned int,unsigned int,long)\n1414 void AfxCancelModes(HWND__ *)\n1415 void AfxCheckError(long)\n1416 int AfxCheckMemory(void)\n1417 void AfxClassInit(CRuntime*)\n1418 int AfxComparePath(wchar_t const *,wchar_t const *)\n1419 int AfxCompareValueByRef(void *,void *,int)\n1420 int AfxConnectionAdvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long *)\n1421 int AfxConnectionUnadvise(IUnknown *,_GUID const &,IUnknown *,int,unsigned long)\n1422 void AfxCopyValueByRef(void *,void *,long *,int)\n1423 void AfxCoreInitModule(void)\n1424 void * AfxCreateActCtxW(tagACTCTXW const *)\n1425 HDC__ * AfxCreateDC(void *,void *)\n1426 int AfxCriticalInit(void)\n1427 int AfxCriticalNewHandler(unsigned int)\n1428 void AfxCriticalTerm(void)\n1429 int AfxCustomLogFont(unsigned int,tagLOGFONTW *)\n1430 void AfxDaoCheck(long,char const *,char const *,int,int,int)\n1431 _DAODBEngine * AfxDaoGetEngine(void)\n1432 void AfxDaoInit(void)\n1433 void AfxDaoTerm(void)\n1434 void AfxDaoTrace(long,char const *,char const *,int)\n1435 AUX_DATA afxData\n1436 int AfxDeactivateActCtx(unsigned long,unsigned long)\n1437 void AfxDeleteObject(void * *)\n1438 long AfxDelRegTreeHelper(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n1439 int AfxDiagnosticInit(void)\n1440 int AfxDlgProc(HWND__ *,unsigned int,unsigned int,long)\n1441 long AfxDllCanUnloadNow(void)\n1442 long AfxDllGetClassObject(_GUID const &,_GUID const &,void * *)\n1443 void AfxDoForAllClasses(void (__cdecl*)(CRuntimeconst *,void *),void *)\n1444 void AfxDoForAllObjects(void (__cdecl*)(CObject *,void *),void *)\n1445 void AfxDrawDitheredBitmap(CDC *,int,int,CBitmap const &,unsigned long,unsigned long)\n1446 void AfxDrawGrayBitmap(CDC *,int,int,CBitmap const &,unsigned long)\n1447 CDumpContext afxDump\n1448 void AfxDump(CObject const *)\n1449 int AfxDumpMemoryLeaks(void)\n1450 CObject * AfxDynamicDownCast(CRuntime*,CObject *)\n1451 CObject const * AfxDynamicDownCast(CRuntime*,CObject const *)\n1452 void AfxEditviewTerm(void)\n1453 void AfxEnableControlContainer(COccManager *)\n1454 int AfxEnableMemoryLeakOverride(int)\n1455 int AfxEnableMemoryTracking(int)\n1456 int AfxEndDeferRegisterClass(long)\n1457 void AfxEndThread(unsigned int,int)\n1458 int AfxEnumMetaFileProc(HDC__ *,tagHANDLETABLE *,tagMETARECORD *,int,long)\n1459 int AfxExtractSubString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,int,wchar_t)\n1460 void AfxFailMaxChars(CDataExchange *,int)\n1461 void AfxFailRadio(CDataExchange *)\n1462 int AfxFieldText(CDataExchange *,int,void *,CDaoRecordset *)\n1463 int AfxFieldText(CDataExchange *,int,void *,CRecordset *)\n1464 AFX_MSGMAP_ENTRY const * AfxFindMessageEntry(AFX_MSGMAP_ENTRY const *,unsigned int,unsigned int,unsigned int)\n1465 HINSTANCE__ * AfxFindResourceHandle(wchar_t const *,wchar_t const *)\n1466 HINSTANCE__ * AfxFindStringResourceHandle(unsigned int)\n1467 void AfxFormatString1(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *)\n1468 void AfxFormatString2(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const *,wchar_t const *)\n1469 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,wchar_t const * const *,int)\n1470 void AfxFormatStrings(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *,wchar_t const * const *,int)\n1471 int AfxFreeLibrary(HINSTANCE__ *)\n1472 void AfxFreeMemoryDebug(void *,int)\n1473 int AfxFullPath(wchar_t *,wchar_t const *)\n1474 long (__stdcall*AfxGetAfxWndProc(void))(HWND__ *,unsigned int,unsigned int,long)\n1475 int AfxGetAmbientActCtx(void)\n1476 CWinApp * AfxGetApp(void)\n1477 AFX_MODULE_STATE * AfxGetAppModuleState(void)\n1478 wchar_t const * AfxGetAppName(void)\n1479 long AfxGetClassIDFromString(wchar_t const *,_GUID *)\n1480 tagMSG * AfxGetCurrentMessage(void)\n1481 _AFX_DAO_STATE * AfxGetDaoState(void)\n1482 void AfxGetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1483 void AfxGetDitheredBitmap(CBitmap const &,CBitmap *,unsigned long,unsigned long)\n1484 HWND__ * AfxGetDlgItemStartFromHWND(int,HWND__ *)\n1485 unsigned long AfxGetDllVersion(void)\n1486 wchar_t const * AfxGetFacilityString(long)\n1487 void AfxGetFieldInfo(_DAOField *,CDaoFieldInfo &,unsigned long)\n1488 unsigned int AfxGetFileName(wchar_t const *,wchar_t *,unsigned int)\n1489 unsigned int AfxGetFileTitle(wchar_t const *,wchar_t *,unsigned int)\n1490 wchar_t const * AfxGetFullScodeString(long)\n1491 void AfxGetGrayBitmap(CBitmap const &,CBitmap *,unsigned long)\n1492 void * AfxGetHENV(void)\n1493 wchar_t const * AfxGetIIDString(_GUID const &)\n1494 void AfxGetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1495 void AfxGetIndexFields(_DAOIndex *,DAOIndexFields * *)\n1496 void AfxGetIndexInfo(_DAOIndex *,CDaoIndexInfo &,unsigned long)\n1497 int AfxGetInProcServer(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1498 HINSTANCE__ * AfxGetInstanceHandle(void)\n1499 HINSTANCE__ * AfxGetInstanceHandleHelper(void)\n1500 unsigned long AfxGetInternetHandleType(void *)\n1501 CWnd * AfxGetMainWnd(void)\n1502 void AfxGetModuleShortFileName(HINSTANCE__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1503 AFX_MODULE_STATE * AfxGetModuleState(void)\n1504 AFX_MODULE_THREAD_STATE * AfxGetModuleThreadState(void)\n1505 int (__cdecl*AfxGetNewHandler(void))(unsigned int)\n1506 HWND__ * AfxGetParentOwner(HWND__ *)\n1507 int AfxGetPropSheetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,int)\n1508 HINSTANCE__ * AfxGetResourceHandle(void)\n1509 _AFX_RICHEDIT_STATE * AfxGetRichEditState(void)\n1510 void AfxGetRoot(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1511 wchar_t const * AfxGetScodeRangeString(long)\n1512 wchar_t const * AfxGetScodeString(long)\n1513 wchar_t const * AfxGetSeverityString(long)\n1514 ATL::IAtlStringMgr * AfxGetStringManager(void)\n1515 CWinThread * AfxGetThread(void)\n1516 _AFX_THREAD_STATE * AfxGetThreadState(void)\n1517 CTypeLibCache * AfxGetTypeLibCache(_GUID const *)\n1518 void AfxGlobalFree(void *)\n1519 int AfxHelpEnabled(void)\n1520 void AfxHookWindowCreate(CWnd *)\n1521 HWND__ * AfxHtmlHelp(HWND__ *,wchar_t const *,unsigned int,unsigned long)\n1522 int AfxInitCurrentStateApp(void)\n1523 int AfxInitExtensionModule(AFX_EXTENSION_MODULE &,HINSTANCE__ *)\n1524 void AfxInitLocalData(HINSTANCE__ *)\n1525 int AfxInitNetworkAddressControl(void)\n1526 int AfxInitRichEdit(void)\n1527 int AfxInitRichEdit2(void)\n1528 void AfxInitThread(void)\n1529 int AfxInternalIsIdleMessage(tagMSG *)\n1530 int AfxInternalPreTranslateMessage(tagMSG *)\n1531 long AfxInternalProcessWndProcException(CException *,tagMSG const *)\n1532 int AfxInternalPumpMessage(void)\n1533 void AfxInternetStatusCallback(void *,unsigned long,unsigned long,void *,unsigned long)\n1534 void AfxInternetStatusCallbackDebug(void *,unsigned long,unsigned long,void *,unsigned long)\n1535 int AfxIsDescendant(HWND__ *,HWND__ *)\n1536 int AfxIsIdleMessage(tagMSG *)\n1537 int AfxIsMemoryBlock(void const *,unsigned int,long *)\n1538 int AfxIsModuleDll(void)\n1539 int AfxIsValidAddress(void const *,unsigned int,int)\n1540 int AfxIsValidAtom(unsigned short)\n1541 int AfxIsValidAtom(wchar_t const *)\n1542 int AfxIsValidString(wchar_t const *,int)\n1543 int AfxIsValidString(char const *,int)\n1544 void AfxLoadField(CRecordset &,unsigned int,void *,long *)\n1545 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *)\n1546 HINSTANCE__ * AfxLoadLangResourceDLL(wchar_t const *,wchar_t const *)\n1547 HINSTANCE__ * AfxLoadLibrary(wchar_t const *)\n1548 HINSTANCE__ * AfxLoadLibraryEx(wchar_t const *,void *,unsigned long)\n1549 int AfxLoadString(unsigned int,wchar_t *,unsigned int)\n1550 int AfxLoadString(unsigned int,char *,unsigned int)\n1551 HBITMAP__ * AfxLoadSysColorBitmap(HINSTANCE__ *,HRSRC__ *,int)\n1552 void AfxLockGlobals(int)\n1553 void AfxLockTempMaps(void)\n1554 CHandleMap * afxMapHDC(int)\n1555 CHandleMap * afxMapHGDIOBJ(int)\n1556 CHandleMap * afxMapHIMAGELIST(int)\n1557 CHandleMap * afxMapHMENU(int)\n1558 CHandleMap * afxMapHWND(int)\n1559 HMENU__ * AfxMergeMenus(HMENU__ *,HMENU__ *,long *,int,int)\n1560 int AfxMessageBox(unsigned int,unsigned int,unsigned int)\n1561 int AfxMessageBox(wchar_t const *,unsigned int,unsigned int)\n1562 int AfxNewHandler(unsigned int)\n1563 int AfxOleCanExitApp(void)\n1564 COleMessageFilter * AfxOleGetMessageFilter(void)\n1565 int AfxOleGetUserCtrl(void)\n1566 unsigned int AfxOleHookProc(HWND__ *,unsigned int,unsigned int,long)\n1567 int AfxOleInit(void)\n1568 int AfxOleInprocRegisterHelper(HKEY__ *,HKEY__ *,int)\n1569 void AfxOleLockApp(void)\n1570 int AfxOleLockControl(_GUID const &)\n1571 int AfxOleLockControl(wchar_t const *)\n1572 void AfxOleOnReleaseAllObjects(void)\n1573 int AfxOleRegisterControlClass(HINSTANCE__ *,_GUID const &,wchar_t const *,unsigned int,unsigned int,int,unsigned long,_GUID const &,unsigned short,unsigned short)\n1574 int AfxOleRegisterHelper(wchar_t const * const *,wchar_t const * const *,int,int,HKEY__ *)\n1575 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int)\n1576 int AfxOleRegisterPropertyPageClass(HINSTANCE__ *,_GUID const &,unsigned int,int)\n1577 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *)\n1578 int AfxOleRegisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int,wchar_t const *,wchar_t const *)\n1579 int AfxOleRegisterTypeLib(HINSTANCE__ *,_GUID const &,wchar_t const *,wchar_t const *)\n1580 void AfxOleSetEditMenu(COleClientItem *,CMenu *,unsigned int,unsigned int,unsigned int,unsigned int)\n1581 void AfxOleSetUserCtrl(int)\n1582 void AfxOleTerm(int)\n1583 void AfxOleTermOrFreeLib(int,int)\n1584 void AfxOleUnlockAllControls(void)\n1585 void AfxOleUnlockApp(void)\n1586 int AfxOleUnlockControl(_GUID const &)\n1587 int AfxOleUnlockControl(wchar_t const *)\n1588 int AfxOleUnregisterClass(_GUID const &,wchar_t const *)\n1589 int AfxOleUnregisterHelper(wchar_t const * const *,wchar_t const * const *,int,HKEY__ *)\n1590 int AfxOleUnregisterServerClass(_GUID const &,wchar_t const *,wchar_t const *,wchar_t const *,enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *)\n1591 int AfxOleUnregisterTypeLib(_GUID const &,unsigned short,unsigned short,unsigned long)\n1592 int AfxParseURL(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n1593 int AfxParseURLEx(wchar_t const *,unsigned long &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1594 void AfxPostQuitMessage(int)\n1595 int AfxPreTranslateMessage(tagMSG *)\n1596 long AfxProcessWndProcException(CException *,tagMSG const *)\n1597 unsigned int AfxPropPageCallback(HWND__ *,unsigned int,_PROPSHEETPAGEW *)\n1598 int AfxPropSheetCallback(HWND__ *,unsigned int,long)\n1599 int AfxPumpMessage(void)\n1600 unsigned int AfxReadStringLength(CArchive &,int &)\n1601 int AfxRegisterClass(tagWNDCLASSW *)\n1602 int AfxRegisterSiteFactory(IControlSiteFactory *)\n1603 wchar_t const * AfxRegisterWndClass(unsigned int,HICON__ *,HBRUSH__ *,HICON__ *)\n1604 void AfxReleaseActCtx(void *)\n1605 void AfxRepositionWindow(AFX_SIZEPARENTPARAMS *,HWND__ *,tagRECT const *)\n1606 void AfxResetMsgCache(void)\n1607 int AfxResolveShortcut(CWnd *,wchar_t const *,wchar_t *,int)\n1608 void AfxRFXBulkDefault(CFieldExchange *,wchar_t const *,void *,long *,int,unsigned long)\n1609 void AfxSafeArrayInit(COleSafeArray *)\n1610 int (__stdcall*AfxSetAllocHook(int (__stdcall*)(unsigned int,int,long)))(unsigned int,int,long)\n1611 void AfxSetAllocStop(long)\n1612 void AfxSetAmbientActCtx(int)\n1613 void AfxSetDefaultValue(_DAOField *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n1614 void AfxSetFieldInfo(_DAOField *,CDaoFieldInfo &)\n1615 void AfxSetIndexFieldInfo(_DAOIndex *,CDaoIndexInfo &)\n1616 void AfxSetIndexInfo(_DAOIndex *,CDaoIndexInfo &)\n1617 AFX_MODULE_STATE * AfxSetModuleState(AFX_MODULE_STATE *)\n1618 int (__cdecl*AfxSetNewHandler(int (__cdecl*)(unsigned int)))(unsigned int)\n1619 void AfxSetResourceHandle(HINSTANCE__ *)\n1620 void AfxSetWindowText(HWND__ *,wchar_t const *)\n1621 void AfxSocketTerm(void)\n1622 CObject * AfxStaticDownCast(CRuntime*,CObject *)\n1623 CObject const * AfxStaticDownCast(CRuntime*,CObject const *)\n1624 void AfxStoreField(CRecordset &,unsigned int,void *)\n1625 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > AfxStringFromCLSID(_GUID const &)\n1626 void AfxTermExtensionModule(AFX_EXTENSION_MODULE &,int)\n1627 void AfxTermLocalData(HINSTANCE__ *,int)\n1628 void AfxTermThread(HINSTANCE__ *)\n1629 void AfxTextFloatFormat(CDataExchange *,int,void *,double,int)\n1630 void AfxThrowArchiveException(int,wchar_t const *)\n1631 void AfxThrowDaoException(int,long)\n1632 void AfxThrowDBException(short,CDatabase *,void *)\n1633 void AfxThrowFileException(int,long,wchar_t const *)\n1634 void AfxThrowInternetException(unsigned long,unsigned long)\n1635 void AfxThrowInvalidArgException(void)\n1636 void AfxThrowLastCleanup(void)\n1637 void AfxThrowMemoryException(void)\n1638 void AfxThrowNotSupportedException(void)\n1639 void AfxThrowOleDispatchException(unsigned short,unsigned int,unsigned int)\n1640 void AfxThrowOleDispatchException(unsigned short,wchar_t const *,unsigned int)\n1641 void AfxThrowOleException(long)\n1642 void AfxThrowResourceException(void)\n1643 void AfxThrowUserException(void)\n1644 void AfxTimeToFileTime(ATL::CTime const &,_FILETIME *)\n1645 void AfxTlsAddRef(void)\n1646 void AfxTlsRelease(void)\n1647 void AfxTrace(wchar_t const *,...)\n1648 int afxTraceEnabled\n1649 unsigned int afxTraceFlags\n1650 void AfxTrackerTerm(void)\n1651 void AfxTryCleanup(void)\n1652 int AfxUnhookWindowCreate(void)\n1653 void AfxUnlockGlobals(int)\n1654 int AfxUnlockTempMaps(int)\n1655 void AfxUnmergeMenus(HMENU__ *,HMENU__ *,HMENU__ *)\n1656 int AfxUnregisterSiteFactory(IControlSiteFactory *)\n1657 void AfxUnregisterWndClasses(void)\n1658 void AfxVariantInit(tagVARIANT *)\n1659 int AfxVerifyLicFile(HINSTANCE__ *,wchar_t const *,wchar_t const *,unsigned int)\n1660 char * AfxW2AHelper(char *,wchar_t const *,int)\n1661 void AfxWingdixTerm(void)\n1662 int AfxWinInit(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1663 int AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,wchar_t *,int)\n1664 void AfxWinTerm(void)\n1665 long AfxWndProc(HWND__ *,unsigned int,unsigned int,long)\n1666 long AfxWndProcBase(HWND__ *,unsigned int,unsigned int,long)\n1667 long AfxWndProcDllOle(HWND__ *,unsigned int,unsigned int,long)\n1668 void AfxWriteStringLength(CArchive &,unsigned int,int)\n1669 void * CFixedAlloc::Alloc(void)\n1670 void * CFixedAllocNoSync::Alloc(void)\n1671 unsigned char * CMemFile::Alloc(unsigned long)\n1672 unsigned char * CSharedFile::Alloc(unsigned long)\n1673 void CRecordset::AllocAndCacheFieldInfo(void)\n1674 ATL::CStringData * CAfxStringMgr::Allocate(int,int)\n1675 void CDaoRecordset::AllocCache(void)\n1676 void CDaoFieldExchange::AllocCacheValue(CDaoFieldCache * &,unsigned long)\n1677 void CDatabase::AllocConnect(unsigned long)\n1678 void COleSafeArray::AllocData(void)\n1679 void CDaoRecordset::AllocDatabase(void)\n1680 void CRecordset::AllocDataCache(void)\n1681 void COleSafeArray::AllocDescriptor(unsigned long)\n1682 int CControlBar::AllocElements(int,int)\n1683 int CStatusBar::AllocElements(int,int)\n1684 int CRecordset::AllocHstmt(void)\n1685 void AllocLongBinary(CLongBinary &,unsigned long)\n1686 void CPropertyPage::AllocPSP(unsigned long)\n1687 void CRecordset::AllocRowset(void)\n1688 int CThreadSlotData::AllocSlot(void)\n1689 void CRecordset::AllocStatusArrays(void)\n1690 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AllocSysString(void)const \n1691 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AllocSysString(void)const \n1692 void * CProperty::AllocValue(unsigned long)\n1693 int CDC::AlphaBlend(int,int,int,int,CDC *,int,int,int,int,_BLENDFUNCTION)\n1694 short COleControl::AmbientAppearance(void)\n1695 unsigned long COleControl::AmbientBackColor(void)\n1696 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientDisplayName(void)\n1697 IFontDisp * COleControl::AmbientFont(void)\n1698 unsigned long COleControl::AmbientForeColor(void)\n1699 unsigned long COleControl::AmbientLocaleID(void)\n1700 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleControl::AmbientScaleUnits(void)\n1701 int COleControl::AmbientShowGrabHandles(void)\n1702 int COleControl::AmbientShowHatching(void)\n1703 short COleControl::AmbientTextAlign(void)\n1704 int COleControl::AmbientUIDead(void)\n1705 int COleControl::AmbientUserMode(void)\n1706 int CDC::AngleArc(int,int,int,float,float)\n1707 void CPalette::AnimatePalette(unsigned int,unsigned int,tagPALETTEENTRY *)\n1708 void ATL::CSimpleStringT<wchar_t,1>::Append(ATL::CSimpleStringT<wchar_t,1> const &)\n1709 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *)\n1710 void ATL::CSimpleStringT<wchar_t,1>::Append(wchar_t const *,int)\n1711 void ATL::CSimpleStringT<char,1>::Append(ATL::CSimpleStringT<char,1> const &)\n1712 void ATL::CSimpleStringT<char,1>::Append(char const *)\n1713 void ATL::CSimpleStringT<char,1>::Append(char const *,int)\n1714 int CByteArray::Append(CByteArray const &)\n1715 void CDaoQueryDef::Append(void)\n1716 void CDaoTableDef::Append(void)\n1717 void CDaoWorkspace::Append(void)\n1718 int CDWordArray::Append(CDWordArray const &)\n1719 int CObArray::Append(CObArray const &)\n1720 int CPtrArray::Append(CPtrArray const &)\n1721 int CStringArray::Append(CStringArray const &)\n1722 int CUIntArray::Append(CUIntArray const &)\n1723 int CWordArray::Append(CWordArray const &)\n1724 void ATL::CSimpleStringT<wchar_t,1>::AppendChar(wchar_t)\n1725 void ATL::CSimpleStringT<char,1>::AppendChar(char)\n1726 void CRecordset::AppendFilterAndSortSQL(void)\n1727 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(unsigned int,...)\n1728 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormat(wchar_t const *,...)\n1729 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(unsigned int,...)\n1730 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormat(char const *,...)\n1731 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::AppendFormatV(wchar_t const *,char *)\n1732 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::AppendFormatV(char const *,char *)\n1733 int CMenu::AppendMenuW(unsigned int,unsigned int,wchar_t const *)\n1734 int CMenu::AppendMenuW(unsigned int,unsigned int,CBitmap const *)\n1735 unsigned int CRecordset::AppendNames(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1736 unsigned int CRecordset::AppendNamesValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1737 void CDaoFieldExchange::AppendParamType(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long)\n1738 unsigned int CRecordset::AppendValues(void *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n1739 long COlePropertyPage::XPropertyPage::Apply(void)\n1740 void CFileDialog::ApplyOFNToShellDialog(void)\n1741 int COleDocument::ApplyPrintDevice(tagDVTARGETDEVICE const *)\n1742 int COleDocument::ApplyPrintDevice(tagPDW const *)\n1743 long CDocObjectServer::XOleDocumentView::ApplyViewState(IStream *)\n1744 CSize CListCtrl::ApproximateViewRect(CSize,int)const \n1745 int CDC::Arc(int,int,int,int,int,int,int,int)\n1746 int CDC::Arc(tagRECT const *,tagPOINT,tagPOINT)\n1747 int CDC::ArcTo(int,int,int,int,int,int,int,int)\n1748 int CDC::ArcTo(tagRECT const *,tagPOINT,tagPOINT)\n1749 int CListCtrl::Arrange(unsigned int)\n1750 unsigned int CWnd::ArrangeIconicWindows(void)\n1751 void CAsyncMonikerFile::AssertValid(void)const \n1752 void CAsyncSocket::AssertValid(void)const \n1753 void CBitmapButton::AssertValid(void)const \n1754 void CByteArray::AssertValid(void)const \n1755 void CCachedDataPathProperty::AssertValid(void)const \n1756 void CClientDC::AssertValid(void)const \n1757 void CCmdTarget::AssertValid(void)const \n1758 void CControlBar::AssertValid(void)const \n1759 void CCtrlView::AssertValid(void)const \n1760 void CDaoDatabase::AssertValid(void)const \n1761 void CDaoQueryDef::AssertValid(void)const \n1762 void CDaoRecordset::AssertValid(void)const \n1763 void CDaoRecordView::AssertValid(void)const \n1764 void CDaoTableDef::AssertValid(void)const \n1765 void CDaoWorkspace::AssertValid(void)const \n1766 void CDatabase::AssertValid(void)const \n1767 void CDataPathProperty::AssertValid(void)const \n1768 void CDC::AssertValid(void)const \n1769 void CDialog::AssertValid(void)const \n1770 void CDocItem::AssertValid(void)const \n1771 void CDockBar::AssertValid(void)const \n1772 void CDocManager::AssertValid(void)const \n1773 void CDocObjectServer::AssertValid(void)const \n1774 void CDocObjectServerItem::AssertValid(void)const \n1775 void CDocTemplate::AssertValid(void)const \n1776 void CDocument::AssertValid(void)const \n1777 void CDWordArray::AssertValid(void)const \n1778 void CDynLinkLibrary::AssertValid(void)const \n1779 void CEditView::AssertValid(void)const \n1780 void CFile::AssertValid(void)const \n1781 void CFileFind::AssertValid(void)const \n1782 void CFormView::AssertValid(void)const \n1783 void CFrameWnd::AssertValid(void)const \n1784 void CFtpConnection::AssertValid(void)const \n1785 void CFtpFileFind::AssertValid(void)const \n1786 void CGdiObject::AssertValid(void)const \n1787 void CGopherConnection::AssertValid(void)const \n1788 void CGopherFile::AssertValid(void)const \n1789 void CGopherFileFind::AssertValid(void)const \n1790 void CHtmlEditDoc::AssertValid(void)const \n1791 void CHtmlEditView::AssertValid(void)const \n1792 void CHtmlView::AssertValid(void)const \n1793 void CHttpConnection::AssertValid(void)const \n1794 void CHttpFile::AssertValid(void)const \n1795 void CImageList::AssertValid(void)const \n1796 void CInternetConnection::AssertValid(void)const \n1797 void CInternetFile::AssertValid(void)const \n1798 void CLongBinary::AssertValid(void)const \n1799 void CMapPtrToPtr::AssertValid(void)const \n1800 void CMapPtrToWord::AssertValid(void)const \n1801 void CMapStringToOb::AssertValid(void)const \n1802 void CMapStringToPtr::AssertValid(void)const \n1803 void CMapStringToString::AssertValid(void)const \n1804 void CMapWordToOb::AssertValid(void)const \n1805 void CMapWordToPtr::AssertValid(void)const \n1806 void CMDIChildWnd::AssertValid(void)const \n1807 void CMDIFrameWnd::AssertValid(void)const \n1808 void CMemFile::AssertValid(void)const \n1809 void CMenu::AssertValid(void)const \n1810 void CMonikerFile::AssertValid(void)const \n1811 void CMultiDocTemplate::AssertValid(void)const \n1812 void CObArray::AssertValid(void)const \n1813 void CObject::AssertValid(void)const \n1814 void CObList::AssertValid(void)const \n1815 void COleChangeSourceDialog::AssertValid(void)const \n1816 void COleClientItem::AssertValid(void)const \n1817 void COleCntrFrameWnd::AssertValid(void)const \n1818 void COleControl::AssertValid(void)const \n1819 void COleDataSource::AssertValid(void)const \n1820 void COleDocIPFrameWnd::AssertValid(void)const \n1821 void COleDocument::AssertValid(void)const \n1822 void COleDropTarget::AssertValid(void)const \n1823 void COleIPFrameWnd::AssertValid(void)const \n1824 void COleLinkingDoc::AssertValid(void)const \n1825 void COleLinksDialog::AssertValid(void)const \n1826 void COleMessageFilter::AssertValid(void)const \n1827 void COleObjectFactory::AssertValid(void)const \n1828 void COlePasteSpecialDialog::AssertValid(void)const \n1829 void COlePropertiesDialog::AssertValid(void)const \n1830 void COleServerDoc::AssertValid(void)const \n1831 void COleServerItem::AssertValid(void)const \n1832 void COleStreamFile::AssertValid(void)const \n1833 void CPaintDC::AssertValid(void)const \n1834 void CPreviewDC::AssertValid(void)const \n1835 void CPreviewView::AssertValid(void)const \n1836 void CPropertyPage::AssertValid(void)const \n1837 void CPropertySheet::AssertValid(void)const \n1838 void CPtrArray::AssertValid(void)const \n1839 void CPtrList::AssertValid(void)const \n1840 void CRecordset::AssertValid(void)const \n1841 void CRecordView::AssertValid(void)const \n1842 void CRichEditCntrItem::AssertValid(void)const \n1843 void CRichEditDoc::AssertValid(void)const \n1844 void CRichEditView::AssertValid(void)const \n1845 void CScrollView::AssertValid(void)const \n1846 void CSingleDocTemplate::AssertValid(void)const \n1847 void CSocket::AssertValid(void)const \n1848 void CSocketFile::AssertValid(void)const \n1849 void CSplitterWnd::AssertValid(void)const \n1850 void CStatusBar::AssertValid(void)const \n1851 void CStringArray::AssertValid(void)const \n1852 void CStringList::AssertValid(void)const \n1853 void CSyncObject::AssertValid(void)const \n1854 void CToolBar::AssertValid(void)const \n1855 void CUIntArray::AssertValid(void)const \n1856 void CView::AssertValid(void)const \n1857 void CWinApp::AssertValid(void)const \n1858 void CWindowDC::AssertValid(void)const \n1859 void CWinThread::AssertValid(void)const \n1860 void CWnd::AssertValid(void)const \n1861 void CWordArray::AssertValid(void)const \n1862 void CThreadSlotData::AssignInstance(HINSTANCE__ *)\n1863 int CAsyncSocket::AsyncSelect(long)\n1864 void ATL::CSimpleStringT<wchar_t,1>::Attach(ATL::CStringData *)\n1865 void ATL::CSimpleStringT<char,1>::Attach(ATL::CStringData *)\n1866 int CAsyncSocket::Attach(unsigned int,long)\n1867 int CDC::Attach(HDC__ *)\n1868 int CGdiObject::Attach(void *)\n1869 int CImageList::Attach(_IMAGELIST *)\n1870 void CMemFile::Attach(unsigned char *,unsigned int,unsigned int)\n1871 int CMenu::Attach(HMENU__ *)\n1872 int CMonikerFile::Attach(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1873 int CMonikerFile::Attach(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n1874 void COleDataObject::Attach(IDataObject *,int)\n1875 void COleSafeArray::Attach(tagVARIANT &)\n1876 void COleStreamFile::Attach(IStream *)\n1877 void COleVariant::Attach(tagVARIANT &)\n1878 int CSocket::Attach(unsigned int)\n1879 int CWnd::Attach(HWND__ *)\n1880 int COleDataObject::AttachClipboard(void)\n1881 void COleControlContainer::AttachControlSite(CWnd *,unsigned int)\n1882 void CWnd::AttachControlSite(CHandleMap *)\n1883 void CWnd::AttachControlSite(CWnd *,unsigned int)\n1884 void COleClientItem::AttachDataObject(COleDataObject &)const \n1885 void COleDispatchDriver::AttachDispatch(IDispatch *,int)\n1886 void CAsyncSocket::AttachHandle(unsigned int,CAsyncSocket *,int)\n1887 CPrintDialog * CPrintDialog::AttachOnSetup(void)\n1888 void COleControlSite::AttachWindow(void)\n1889 int CBitmapButton::AutoLoad(unsigned int,CWnd *)\n1890 void CToolBarCtrl::AutoSize(void)\n1891 void CSocket::AuxQueueAdd(unsigned int,unsigned int,long)\n1892 void CHtmlView::BeforeNavigate2(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n1893 void COleMessageFilter::BeginBusyState(void)\n1894 void COleLinkingDoc::BeginDeferErrors(void)\n1895 int CDragListBox::BeginDrag(CPoint)\n1896 int CImageList::BeginDrag(int,CPoint)\n1897 void CReBarCtrl::BeginDrag(unsigned int,unsigned long)\n1898 void COleDataObject::BeginEnumFormats(void)\n1899 void CFrameWnd::BeginModalState(void)\n1900 void CWnd::BeginModalState(void)\n1901 CDC * CWnd::BeginPaint(tagPAINT*)\n1902 int CDC::BeginPath(void)\n1903 void CDaoWorkspace::BeginTrans(void)\n1904 int CDatabase::BeginTrans(void)\n1905 void CCmdTarget::BeginWaitCursor(void)\n1906 int CAsyncSocket::Bind(unsigned int,wchar_t const *)\n1907 int CAsyncSocket::Bind(sockaddr const *,int)\n1908 void CDataSourceControl::BindColumns(void)\n1909 void COccManager::BindControls(CWnd *)\n1910 void COleControlSite::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1911 void CWnd::BindDefaultProperty(long,unsigned short,wchar_t const *,CWnd *)\n1912 void CDaoRecordset::BindFields(void)\n1913 void CRecordset::BindFieldsForUpdate(void)\n1914 unsigned int CRecordset::BindFieldsToColumns(void)\n1915 void CDaoRecordset::BindParameters(void)\n1916 void CDatabase::BindParameters(void *)\n1917 unsigned int CRecordset::BindParams(void *)\n1918 void CDataSourceControl::BindProp(CDataBoundProperty *,int)\n1919 void CDataSourceControl::BindProp(COleControlSite *,int)\n1920 void COleControlSite::BindProperty(long,CWnd *)\n1921 void CWnd::BindProperty(long,CWnd *)\n1922 int CDC::BitBlt(int,int,int,int,CDC *,int,int,unsigned long)\n1923 void COleControl::BoundPropertyChanged(long)\n1924 int COleControl::BoundPropertyRequestEdit(long)\n1925 void CFrameWnd::BringToTop(int)\n1926 void CWnd::BringWindowToTop(void)\n1927 void COleControlContainer::BroadcastAmbientPropertyChange(long)\n1928 void CDBException::BuildErrorString(CDatabase *,void *,int)\n1929 void CDaoRecordset::BuildParameterList(void)\n1930 void CPropertySheet::BuildPropPageArray(void)\n1931 void CDaoRecordset::BuildSelectList(void)\n1932 void CRecordset::BuildSelectSQL(void)\n1933 int COleControl::BuildSharedMenu(void)\n1934 int COleDocIPFrameWnd::BuildSharedMenu(void)\n1935 int COleIPFrameWnd::BuildSharedMenu(void)\n1936 void CDaoRecordset::BuildSQL(void)\n1937 void CRecordset::BuildSQL(wchar_t const *)\n1938 void CRecordset::BuildUpdateSQL(void)\n1939 void COleControl::ButtonDblClk(unsigned short,unsigned int,CPoint)\n1940 void COleControl::ButtonDown(unsigned short,unsigned int,CPoint)\n1941 void COleControl::ButtonUp(unsigned short,unsigned int,CPoint)\n1942 void _AFXCTL_AMBIENT_CACHE::Cache(tagQACONTAINER *)\n1943 void CTypeLibCache::Cache(unsigned long,ITypeLib *)\n1944 long COleControl::XOleCache::Cache(tagFORMATETC *,unsigned long,unsigned long *)\n1945 void COleDataSource::CacheData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n1946 void COleDataSource::CacheGlobalData(unsigned short,void *,tagFORMATETC *)\n1947 void CTypeLibCache::CacheTypeInfo(unsigned long,_GUID const &,ITypeInfo *)\n1948 void CMiniFrameWnd::CalcBorders(tagRECT *,unsigned long,unsigned long)\n1949 CSize CControlBar::CalcDynamicLayout(int,unsigned long)\n1950 CSize CReBar::CalcDynamicLayout(int,unsigned long)\n1951 CSize CToolBar::CalcDynamicLayout(int,unsigned long)\n1952 CSize CControlBar::CalcFixedLayout(int,int)\n1953 CSize CDialogBar::CalcFixedLayout(int,int)\n1954 CSize CDockBar::CalcFixedLayout(int,int)\n1955 CSize CReBar::CalcFixedLayout(int,int)\n1956 CSize CStatusBar::CalcFixedLayout(int,int)\n1957 CSize CToolBar::CalcFixedLayout(int,int)\n1958 void CControlBar::CalcInsideRect(CRect &,int)const \n1959 void CStatusBar::CalcInsideRect(CRect &,int)const \n1960 CSize CToolBar::CalcLayout(unsigned long,int)\n1961 int CCheckListBox::CalcMinimumItemHeight(void)\n1962 CSize CPreviewView::CalcPageDisplaySize(void)\n1963 CSize CPreviewView::CalcScaleRatio(CSize,CSize)\n1964 CSize CToolBar::CalcSize(_TBBUTTON *,int)\n1965 void CEditView::CalcWindowRect(tagRECT *,unsigned int)\n1966 void CScrollView::CalcWindowRect(tagRECT *,unsigned int)\n1967 void CView::CalcWindowRect(tagRECT *,unsigned int)\n1968 void CWnd::CalcWindowRect(tagRECT *,unsigned int)\n1969 long CCmdTarget::CallMemberFunc(AFX_DISPMAP_ENTRY const *,unsigned short,tagVARIANT *,tagDISPPARAMS *,unsigned int *)\n1970 int CDHtmlDialog::CanAccessExternal(void)\n1971 int COleClientItem::CanActivate(void)\n1972 int CRichEditCntrItem::CanActivate(void)\n1973 int CSplitterWnd::CanActivateNext(int)\n1974 int CDaoRecordset::CanAppend(void)const \n1975 int CRecordset::CanAppend(void)const \n1976 int CDaoRecordset::CanBookmark(void)\n1977 int CRecordset::CanBookmark(void)const \n1978 void CDatabase::Cancel(void)\n1979 void CRecordset::Cancel(void)\n1980 void CSocket::CancelBlockingCall(void)\n1981 void CDragListBox::CancelDrag(CPoint)\n1982 long COleControlSite::XNotifyDBEvents::Cancelled(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n1983 long COleUILinkInfo::CancelLink(unsigned long)\n1984 void CDockContext::CancelLoop(void)\n1985 void CPropertyPage::CancelToClose(void)\n1986 void CWnd::CancelToolTips(int)\n1987 void CDaoRecordset::CancelUpdate(void)\n1988 void CRecordset::CancelUpdate(void)\n1989 int CDocument::CanCloseFrame(CFrameWnd *)\n1990 int COleServerDoc::CanCloseFrame(CFrameWnd *)\n1991 int COleClientItem::CanCreateFromData(COleDataObject const *)\n1992 int COleClientItem::CanCreateLinkFromData(COleDataObject const *)\n1993 unsigned long CDockContext::CanDock(void)\n1994 unsigned long CFrameWnd::CanDock(CRect,unsigned long,CDockBar * *)\n1995 int CFrameWnd::CanEnterHelpMode(void)\n1996 long COleClientItem::XOleIPSite::CanInPlaceActivate(void)\n1997 long COleControlSite::XOleIPSite::CanInPlaceActivate(void)\n1998 int COleClientItem::CanPaste(void)\n1999 int CRichEditCtrl::CanPaste(unsigned int)const \n2000 int CRichEditView::CanPaste(void)const \n2001 int COleClientItem::CanPasteLink(void)\n2002 int CRichEditCtrl::CanRedo(void)const \n2003 int CDaoRecordset::CanRestart(void)\n2004 int CRecordset::CanRestart(void)const \n2005 int CDaoRecordset::CanScroll(void)const \n2006 int CRecordset::CanScroll(void)const \n2007 int CDaoDatabase::CanTransact(void)\n2008 int CDaoRecordset::CanTransact(void)\n2009 int CDatabase::CanTransact(void)const \n2010 int CRecordset::CanTransact(void)const \n2011 int CEdit::CanUndo(void)const \n2012 int CRichEditCtrl::CanUndo(void)const \n2013 int CDaoDatabase::CanUpdate(void)\n2014 int CDaoQueryDef::CanUpdate(void)\n2015 int CDaoRecordset::CanUpdate(void)const \n2016 int CDaoTableDef::CanUpdate(void)\n2017 int CDatabase::CanUpdate(void)const \n2018 int CRecordset::CanUpdate(void)const \n2019 long COleControlSite::XOleIPSite::CanWindowlessActivate(void)\n2020 long CDHtmlEventSink::CDHtmlSinkHandlerQueryInterface(_GUID const &,void * *)\n2021 void CScrollView::CenterOnPoint(CPoint)\n2022 void CWnd::CenterWindow(CWnd *)\n2023 int CToolBarCtrl::ChangeBitmap(int,int)\n2024 int CWnd::ChangeClipboardChain(HWND__ *)\n2025 void COleVariant::ChangeType(unsigned short,tagVARIANT *)\n2026 int CEdit::CharFromPos(CPoint)const \n2027 int CRichEditCtrl::CharFromPos(CPoint)const \n2028 int CListBox::CharToItem(unsigned int,unsigned int)\n2029 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CharToOemA(void)\n2030 int CDatabase::Check(short)const \n2031 int CRecordset::Check(short)const \n2032 int CDialog::CheckAutoCenter(void)\n2033 int CWnd::CheckAutoCenter(void)\n2034 int CToolBarCtrl::CheckButton(int,int)\n2035 void CArchive::CheckCount(void)\n2036 void COleControlContainer::CheckDlgButton(int,unsigned int)\n2037 void CWnd::CheckDlgButton(int,unsigned int)\n2038 int CCheckListBox::CheckFromPoint(CPoint,int &)\n2039 void COleClientItem::CheckGeneral(long)\n2040 int CDatabase::CheckHstmt(short,void *)const \n2041 bool ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CheckImplicitLoad(void const *)\n2042 bool ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CheckImplicitLoad(void const *)\n2043 unsigned int CMenu::CheckMenuItem(unsigned int,unsigned int)\n2044 int CMenu::CheckMenuRadioItem(unsigned int,unsigned int,unsigned int,unsigned int)\n2045 void CMemoryState::Checkpoint(void)\n2046 void COleControlContainer::CheckRadioButton(int,int,int)\n2047 void CWnd::CheckRadioButton(int,int,int)\n2048 void CRecordset::CheckRowsetCurrencyStatus(unsigned short,long)\n2049 void CRecordset::CheckRowsetError(short)\n2050 void CScrollView::CheckScrollBars(int &,int &)const \n2051 CWnd * CWnd::ChildWindowFromPoint(tagPOINT)const \n2052 CWnd * CWnd::ChildWindowFromPoint(tagPOINT,unsigned int)const \n2053 int CDC::Chord(int,int,int,int,int,int,int,int)\n2054 int CDC::Chord(tagRECT const *,tagPOINT,tagPOINT)\n2055 CRuntimeconst CDaoDatabase::classCDaoDatabase\n2056 CRuntimeconst CDaoException::classCDaoException\n2057 CRuntimeconst CDaoQueryDef::classCDaoQueryDef\n2058 CRuntimeconst CDaoRecordset::classCDaoRecordset\n2059 CRuntimeconst CDaoRecordView::classCDaoRecordView\n2060 CRuntimeconst CDaoTableDef::classCDaoTableDef\n2061 CRuntimeconst CDaoWorkspace::classCDaoWorkspace\n2062 CRuntimeconst CDatabase::classCDatabase\n2063 CRuntimeconst CDBException::classCDBException\n2064 CRuntimeconst CLongBinary::classCLongBinary\n2065 CRuntimeconst COleDBRecordView::classCOleDBRecordView\n2066 CRuntimeconst CRecordset::classCRecordset\n2067 CRuntimeconst CRecordView::classCRecordView\n2068 void CPropertyPage::Cleanup(void)\n2069 void CSplitButton::Cleanup(void)\n2070 void COlePropertyPage::CleanupObjectArray(void)\n2071 void CComboBox::Clear(void)\n2072 void CDBVariant::Clear(void)\n2073 void CDockState::Clear(void)\n2074 void CEdit::Clear(void)\n2075 void COleSafeArray::Clear(void)\n2076 void COleVariant::Clear(void)\n2077 void CRichEditCtrl::Clear(void)\n2078 void CIPAddressCtrl::ClearAddress(void)\n2079 int CHeaderCtrl::ClearAllFilters(void)\n2080 void CDaoRecordset::ClearDirtyFieldStatus(unsigned int)\n2081 void CRecordset::ClearDirtyFieldStatus(unsigned long)\n2082 void CRecordset::ClearFieldStatus(void)\n2083 void CDaoRecordset::ClearFieldStatusFlags(void)\n2084 int CHeaderCtrl::ClearFilter(int)\n2085 void CDaoRecordset::ClearNullFieldStatus(unsigned int)\n2086 void CRecordset::ClearNullFieldStatus(unsigned long)\n2087 void CRecordset::ClearNullParamStatus(unsigned long)\n2088 void CSliderCtrl::ClearSel(int)\n2089 void CSliderCtrl::ClearTics(int)\n2090 void COleControl::ClientToParent(tagRECT const *,tagPOINT *)const \n2091 void CWnd::ClientToScreen(tagPOINT *)const \n2092 void CWnd::ClientToScreen(tagRECT *)const \n2093 int COleControl::ClipCaretRect(tagRECT *)\n2094 void CPreviewDC::ClipToPage(void)\n2095 ATL::IAtlStringMgr * CAfxStringMgr::Clone(void)\n2096 long CArchiveStream::Clone(IStream * *)\n2097 long CEnumArray::XEnumVOID::Clone(IEnumVOID * *)\n2098 long CDocObjectServer::XOleDocumentView::Clone(IOleInPlaceSite *,IOleDocumentView * *)\n2099 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::CloneData(ATL::CStringData *)\n2100 ATL::CStringData * ATL::CSimpleStringT<char,1>::CloneData(ATL::CStringData *)\n2101 int CAnimateCtrl::Close(void)\n2102 void CArchive::Close(void)\n2103 void CAsyncMonikerFile::Close(void)\n2104 void CAsyncSocket::Close(void)\n2105 void CCachedDataPathProperty::Close(void)\n2106 void CDaoDatabase::Close(void)\n2107 void CDaoQueryDef::Close(void)\n2108 void CDaoRecordset::Close(void)\n2109 void CDaoTableDef::Close(void)\n2110 void CDaoWorkspace::Close(void)\n2111 void CDatabase::Close(void)\n2112 void CFile::Close(void)\n2113 void CFileFind::Close(void)\n2114 void CInternetConnection::Close(void)\n2115 void CInternetFile::Close(void)\n2116 void CInternetSession::Close(void)\n2117 void CMemFile::Close(void)\n2118 HMETAFILE__ * CMetaFileDC::Close(void)\n2119 void CMirrorFile::Close(void)\n2120 void CMonikerFile::Close(void)\n2121 void COleClientItem::Close(enum tagOLECLOSE)\n2122 void COleStreamFile::Close(void)\n2123 void CRecordset::Close(void)\n2124 void CSocket::Close(void)\n2125 void CSocketFile::Close(void)\n2126 void CStdioFile::Close(void)\n2127 long CDocObjectServer::XOleObject::Close(unsigned long)\n2128 long COleControl::XOleObject::Close(unsigned long)\n2129 long COleServerDoc::XOleObject::Close(unsigned long)\n2130 long COleServerItem::XOleObject::Close(unsigned long)\n2131 void CDocManager::CloseAllDocuments(int)\n2132 void CDocTemplate::CloseAllDocuments(int)\n2133 void CWinApp::CloseAllDocuments(int)\n2134 void CFileFind::CloseContext(void)\n2135 void CFtpFileFind::CloseContext(void)\n2136 void CGopherFileFind::CloseContext(void)\n2137 HENHMETAFILE__ * CMetaFileDC::CloseEnhanced(void)\n2138 int CDC::CloseFigure(void)\n2139 void CDateTimeCtrl::CloseMonthCal(void)\n2140 long CThemeHelper::CloseThemeData(void *)\n2141 long CThemeHelper::CloseThemeDataFail(void *)\n2142 long CDocObjectServer::XOleDocumentView::CloseView(unsigned long)\n2143 void CWnd::CloseWindow(void)\n2144 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Collate(wchar_t const *)const \n2145 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Collate(char const *)const \n2146 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CollateNoCase(wchar_t const *)const \n2147 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CollateNoCase(char const *)const \n2148 int CRgn::CombineRgn(CRgn const *,CRgn const *,int)\n2149 CInternetFile * CFtpConnection::Command(wchar_t const *,enum CFtpConnection::CmdResponseType,unsigned long,unsigned long)\n2150 int CStatusBar::CommandToIndex(unsigned int)const \n2151 int CToolBar::CommandToIndex(unsigned int)const \n2152 unsigned int CToolBarCtrl::CommandToIndex(unsigned int)const \n2153 long CArchiveStream::Commit(unsigned long)\n2154 void COleClientItem::CommitItem(int)\n2155 void COleDocument::CommitItems(int,IStorage *)\n2156 void CDaoWorkspace::CommitTrans(void)\n2157 int CDatabase::CommitTrans(void)\n2158 void COleObjectFactory::CommonConstruct(_GUID const &,CRuntime*,int,int,wchar_t const *)\n2159 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int)\n2160 void CPropertyPage::CommonConstruct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2161 void CPropertySheet::CommonConstruct(CWnd *,unsigned int)\n2162 void CPropertySheet::CommonConstruct(CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2163 void CWinThread::CommonConstruct(void)\n2164 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int)\n2165 void CDaoWorkspace::CompactDatabase(wchar_t const *,wchar_t const *,wchar_t const *,int,wchar_t const *)\n2166 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Compare(wchar_t const *)const \n2167 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Compare(char const *)const \n2168 int CComboBox::CompareItem(tagCOMPAREITEM*)\n2169 int CListBox::CompareItem(tagCOMPAREITEM*)\n2170 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::CompareNoCase(wchar_t const *)const \n2171 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::CompareNoCase(char const *)const \n2172 int CDaoFieldExchange::CompareValue(void *,void *,unsigned long)\n2173 CSize CPreviewDC::ComputeDeltas(int &,wchar_t const *,unsigned int &,int,unsigned int,int *,int,wchar_t *,int *,int &)\n2174 void ATL::CSimpleStringT<wchar_t,1>::Concatenate(ATL::CSimpleStringT<wchar_t,1> &,wchar_t const *,int,wchar_t const *,int)\n2175 void ATL::CSimpleStringT<char,1>::Concatenate(ATL::CSimpleStringT<char,1> &,char const *,int,char const *,int)\n2176 int CAsyncSocket::Connect(wchar_t const *,unsigned int)\n2177 int CAsyncSocket::Connect(sockaddr const *,int)\n2178 int CDatabase::Connect(unsigned long)\n2179 long CDHtmlDialog::ConnectDHtmlElementEvents(unsigned long)\n2180 long CDHtmlDialog::ConnectDHtmlEvents(IUnknown *)\n2181 int CAsyncSocket::ConnectHelper(sockaddr const *,int)\n2182 int CSocket::ConnectHelper(sockaddr const *,int)\n2183 unsigned long COleControlSite::ConnectSink(_GUID const &,IUnknown *)\n2184 void COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)\n2185 long CDHtmlEventSink::ConnectToConnectionPoint(IUnknown *,_GUID const &,unsigned long *)\n2186 long CDHtmlControlSink::ConnectToControl(IUnknown *)\n2187 void COleServerDoc::ConnectView(CWnd *,CView *)\n2188 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Construct(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n2189 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Construct(ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > *)\n2190 void CPropertyPage::Construct(unsigned int,unsigned int)\n2191 void CPropertyPage::Construct(unsigned int,unsigned int,unsigned int,unsigned int)\n2192 void CPropertyPage::Construct(wchar_t const *,unsigned int)\n2193 void CPropertyPage::Construct(wchar_t const *,unsigned int,unsigned int,unsigned int)\n2194 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int)\n2195 void CPropertySheet::Construct(unsigned int,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2196 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int)\n2197 void CPropertySheet::Construct(wchar_t const *,CWnd *,unsigned int,HBITMAP__ *,HPALETTE__ *,HBITMAP__ *)\n2198 void CRectTracker::Construct(void)\n2199 long COleControl::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2200 long COleServerDoc::XOleInPlaceActiveObject::ContextSensitiveHelp(int)\n2201 long COleFrameHook::XOleInPlaceFrame::ContextSensitiveHelp(int)\n2202 long COleControl::XOleInPlaceObject::ContextSensitiveHelp(int)\n2203 long COleServerDoc::XOleInPlaceObject::ContextSensitiveHelp(int)\n2204 long COleControlContainer::XOleIPFrame::ContextSensitiveHelp(int)\n2205 long COleClientItem::XOleIPSite::ContextSensitiveHelp(int)\n2206 long COleControlSite::XOleIPSite::ContextSensitiveHelp(int)\n2207 long CRichEditView::XRichEditOleCallback::ContextSensitiveHelp(int)\n2208 int CPropertySheet::ContinueModal(void)\n2209 int CWnd::ContinueModal(void)\n2210 void CCmdUI::ContinueRouting(void)\n2211 void COleControl::ControlInfoChanged(void)\n2212 long COlePropertiesDialog::XOleUIObjInfo::ConvertObject(unsigned long,_GUID const &)\n2213 int COleClientItem::ConvertTo(_GUID const &)\n2214 int CRichEditCntrItem::ConvertTo(_GUID const &)\n2215 void CByteArray::Copy(CByteArray const &)\n2216 void CComboBox::Copy(void)\n2217 void CDWordArray::Copy(CDWordArray const &)\n2218 void CEdit::Copy(void)\n2219 int CImageList::Copy(int,int,unsigned int)\n2220 int CImageList::Copy(int,CImageList *,int,unsigned int)\n2221 void CObArray::Copy(CObArray const &)\n2222 void COleSafeArray::Copy(tagSAFEARRAY * *)\n2223 void CPtrArray::Copy(CPtrArray const &)\n2224 void CRichEditCtrl::Copy(void)\n2225 void CStringArray::Copy(CStringArray const &)\n2226 void CUIntArray::Copy(CUIntArray const &)\n2227 void CWordArray::Copy(CWordArray const &)\n2228 void ATL::CSimpleStringT<wchar_t,1>::CopyChars(wchar_t *,wchar_t const *,int)\n2229 void ATL::CSimpleStringT<char,1>::CopyChars(char *,char const *,int)\n2230 void ATL::CSimpleStringT<wchar_t,1>::CopyCharsOverlapped(wchar_t *,wchar_t const *,int)\n2231 void ATL::CSimpleStringT<char,1>::CopyCharsOverlapped(char *,char const *,int)\n2232 int CDataSourceControl::CopyColumnID(tagDBCOLUMNID *,tagDBCOLUMNID const *)\n2233 int CRgn::CopyRgn(CRgn const *)\n2234 long CArchiveStream::CopyTo(IStream *,union _ULARGE_INTEGER,union _ULARGE_INTEGER *,union _ULARGE_INTEGER *)\n2235 void COleClientItem::CopyToClipboard(int)\n2236 void COleServerItem::CopyToClipboard(int)\n2237 void CDaoFieldExchange::CopyValue(void *,void *,unsigned long)\n2238 int CAnimateCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2239 int CAsyncSocket::Create(unsigned int,int,long,wchar_t const *)\n2240 int CButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2241 int CCheckListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2242 int CComboBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2243 int CComboBoxEx::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2244 int CControlFrameWnd::Create(wchar_t const *)\n2245 void CDaoDatabase::Create(wchar_t const *,wchar_t const *,int)\n2246 void CDaoQueryDef::Create(wchar_t const *,wchar_t const *)\n2247 void CDaoTableDef::Create(wchar_t const *,long,wchar_t const *,wchar_t const *)\n2248 void CDaoWorkspace::Create(wchar_t const *,wchar_t const *,wchar_t const *)\n2249 int CDateTimeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2250 int CDialog::Create(unsigned int,CWnd *)\n2251 int CDialog::Create(wchar_t const *,CWnd *)\n2252 int CDialogBar::Create(CWnd *,unsigned int,unsigned int,unsigned int)\n2253 int CDialogBar::Create(CWnd *,wchar_t const *,unsigned int,unsigned int)\n2254 int CDockBar::Create(CWnd *,unsigned long,unsigned int)\n2255 int CEdit::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2256 int CFindReplaceDialog::Create(int,wchar_t const *,wchar_t const *,unsigned long,CWnd *)\n2257 int CFormView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2258 int CFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,wchar_t const *,unsigned long,CCreateContext *)\n2259 int CHeaderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2260 int CHotKeyCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2261 int CHtmlEditCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,int,CCreateContext *)\n2262 int CHtmlEditView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2263 int CHtmlView::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2264 int CImageList::Create(CImageList &,int,CImageList &,int,int,int)\n2265 int CImageList::Create(int,int,unsigned int,int,int)\n2266 int CImageList::Create(unsigned int,int,int,unsigned long)\n2267 int CImageList::Create(CImageList *)\n2268 int CImageList::Create(wchar_t const *,int,int,unsigned long)\n2269 int CIPAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2270 int CLinkCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2271 int CLinkCtrl::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2272 int CListBox::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2273 int CListCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2274 int CMDIChildWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CMDIFrameWnd *,CCreateContext *)\n2275 int CMetaFileDC::Create(wchar_t const *)\n2276 int CMiniDockFrameWnd::Create(CWnd *,unsigned long)\n2277 int CMiniFrameWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2278 int CMonthCalCtrl::Create(unsigned long,tagPOINT const &,CWnd *,unsigned int)\n2279 int CMonthCalCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2280 int CNetAddressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2281 int COleResizeBar::Create(CWnd *,unsigned long,unsigned int)\n2282 void COleSafeArray::Create(unsigned short,unsigned long,unsigned long *)\n2283 void COleSafeArray::Create(unsigned short,unsigned long,tagSAFEARRAYBOUND *)\n2284 int CPagerCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2285 CPlex * CPlex::Create(CPlex * &,unsigned int,unsigned int)\n2286 int CProgressCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2287 int CPropertySheet::Create(CWnd *,unsigned long,unsigned long)\n2288 int CReBar::Create(CWnd *,unsigned long,unsigned long,unsigned int)\n2289 int CReBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2290 int CReflectorWnd::Create(CRect const &,HWND__ *)\n2291 int CRichEditCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2292 int CScrollBar::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2293 int CSliderCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2294 int CSocket::Create(unsigned int,int,wchar_t const *)\n2295 int CSpinButtonCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2296 int CSplitButton::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2297 int CSplitterWnd::Create(CWnd *,int,int,tagSIZE,CCreateContext *,unsigned long,unsigned int)\n2298 int CStatic::Create(wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2299 int CStatusBar::Create(CWnd *,unsigned long,unsigned int)\n2300 int CStatusBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2301 int CTabCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2302 int CToolBar::Create(CWnd *,unsigned long,unsigned int)\n2303 int CToolBarCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2304 int CToolTipCtrl::Create(CWnd *,unsigned long)\n2305 int CTreeCtrl::Create(unsigned long,tagRECT const &,CWnd *,unsigned int)\n2306 int CWnd::Create(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CCreateContext *)\n2307 long CWnd::CreateAccessibleProxy(unsigned int,long,long *)\n2308 void AFX_MODULE_STATE::CreateActivationContext(void)\n2309 IBindCtx * CMonikerFile::CreateBindContext(CFileException *)\n2310 IBindHost * CMonikerFile::CreateBindHost(void)\n2311 IUnknown * CAsyncMonikerFile::CreateBindStatusCallback(IUnknown *)\n2312 int CBitmap::CreateBitmap(int,int,unsigned int,unsigned int,void const *)\n2313 int CBitmap::CreateBitmapIndirect(tagBITMAP *)\n2314 int CBrush::CreateBrushIndirect(tagLOGBRUSH const *)\n2315 void CWnd::CreateCaret(CBitmap *)\n2316 int CMDIFrameWnd::CreateClient(tagCREATESTRUCTW *,CMenu *)\n2317 CRichEditCntrItem * CRichEditDoc::CreateClientItem(_reobject *)const \n2318 int COleClientItem::CreateCloneFrom(COleClientItem const *)\n2319 int CSplitterWnd::CreateCommon(CWnd *,tagSIZE,unsigned long,unsigned int)\n2320 int CBitmap::CreateCompatibleBitmap(CDC *,int,int)\n2321 int CDC::CreateCompatibleDC(CDC *)\n2322 void CConnectionPoint::CreateConnectionArray(void)\n2323 COleControlContainer * COccManager::CreateContainer(CWnd *)\n2324 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2325 int COleControlContainer::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2326 int COleControlContainer::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n2327 long COleControlSite::CreateControl(CWnd *,CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int)\n2328 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagRECT const &,unsigned int,CFile *,int,wchar_t *)\n2329 long COleControlSite::CreateControl(CWnd *,_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2330 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2331 int CWnd::CreateControl(_GUID const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2332 int CWnd::CreateControl(CControlCreationInfo const &,unsigned long,tagPOINT const *,tagSIZE const *,CWnd *,unsigned int)\n2333 int CWnd::CreateControl(wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,CFile *,int,wchar_t *)\n2334 int COleControlContainer::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *,COleControlSite * *)\n2335 long COleControlSite::CreateControlCommon(CWnd *,_GUID const &,CControlCreationInfo const &,wchar_t const *,unsigned long,tagPOINT const *,tagSIZE const *,unsigned int,CFile *,int,wchar_t *)\n2336 int CWnd::CreateControlContainer(COleControlContainer * *)\n2337 int CDHtmlDialog::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2338 int CHtmlView::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2339 int CWnd::CreateControlSite(COleControlContainer *,COleControlSite * *,unsigned int,_GUID const &)\n2340 int COleControl::CreateControlWindow(HWND__ *,CRect const &,tagRECT const *)\n2341 int CDC::CreateDCW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2342 int CBrush::CreateDIBPatternBrush(void *,unsigned int)\n2343 int CBrush::CreateDIBPatternBrush(void const *,unsigned int)\n2344 int CFtpConnection::CreateDirectory(wchar_t const *)\n2345 int CFtpConnection::CreateDirectoryW(wchar_t const *)\n2346 int CBitmap::CreateDiscardableBitmap(CDC *,int,int)\n2347 int COleDispatchDriver::CreateDispatch(_GUID const &,COleException *)\n2348 int COleDispatchDriver::CreateDispatch(wchar_t const *,COleException *)\n2349 int CWnd::CreateDlg(wchar_t const *,CWnd *)\n2350 int COccManager::CreateDlgControl(CWnd *,HWND__ *,int,DLGITEMTEMPLATE *,unsigned short,unsigned char *,unsigned long,HWND__ * *)\n2351 int COccManager::CreateDlgControls(CWnd *,void *,_AFX_OCC_DIALOG_INFO *)\n2352 int COccManager::CreateDlgControls(CWnd *,wchar_t const *,_AFX_OCC_DIALOG_INFO *)\n2353 int CWnd::CreateDlgIndirect(DLGTEMPLATE const *,CWnd *,HINSTANCE__ *)\n2354 CImageList * CHeaderCtrl::CreateDragImage(int)\n2355 CImageList * CListCtrl::CreateDragImage(int,tagPOINT *)\n2356 CImageList * CTreeCtrl::CreateDragImage(_TREEITEM *)\n2357 int CRgn::CreateEllipticRgn(int,int,int,int)\n2358 int CRgn::CreateEllipticRgnIndirect(tagRECT const *)\n2359 int CPictureHolder::CreateEmpty(void)\n2360 int CMetaFileDC::CreateEnhanced(CDC *,wchar_t const *,tagRECT const *,wchar_t const *)\n2361 int CAnimateCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2362 int CComboBoxEx::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2363 int CHeaderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2364 int CHotKeyCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2365 int CIPAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2366 int CLinkCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2367 int CLinkCtrl::CreateEx(wchar_t const *,unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2368 int CListCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2369 int CMiniFrameWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2370 int CNetAddressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2371 int CPagerCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2372 int CProgressCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2373 int CReBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2374 int CRichEditCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2375 int CSliderCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2376 int CSpinButtonCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2377 int CStatusBar::CreateEx(CWnd *,unsigned long,unsigned long,unsigned int)\n2378 int CStatusBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2379 int CTabCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2380 int CToolBar::CreateEx(CWnd *,unsigned long,unsigned long,CRect,unsigned int)\n2381 int CToolBarCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2382 int CToolTipCtrl::CreateEx(CWnd *,unsigned long,unsigned long)\n2383 int CTreeCtrl::CreateEx(unsigned long,unsigned long,tagRECT const &,CWnd *,unsigned int)\n2384 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,tagRECT const &,CWnd *,unsigned int,void *)\n2385 int CWnd::CreateEx(unsigned long,wchar_t const *,wchar_t const *,unsigned long,int,int,int,int,HWND__ *,HMENU__ *,void *)\n2386 void CDaoTableDef::CreateField(CDaoFieldInfo &)\n2387 void CDaoTableDef::CreateField(wchar_t const *,short,long,long)\n2388 CMiniDockFrameWnd * CFrameWnd::CreateFloatingFrame(unsigned long)\n2389 int CFont::CreateFontIndirectW(tagLOGFONTW const *)\n2390 int CFont::CreateFontW(int,int,int,int,int,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,unsigned char,wchar_t const *)\n2391 CControlFrameWnd * COleControl::CreateFrameWindow(void)\n2392 int CPictureHolder::CreateFromBitmap(unsigned int)\n2393 int CPictureHolder::CreateFromBitmap(HBITMAP__ *,HPALETTE__ *,int)\n2394 int CPictureHolder::CreateFromBitmap(CBitmap *,CPalette *,int)\n2395 int COleClientItem::CreateFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2396 int COleClientItem::CreateFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2397 int CRgn::CreateFromData(tagXFORM const *,int,_RGNDATA const *)\n2398 int COleClientItem::CreateFromFile(wchar_t const *,_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2399 int CPictureHolder::CreateFromIcon(unsigned int)\n2400 int CPictureHolder::CreateFromIcon(HICON__ *,int)\n2401 int CPictureHolder::CreateFromMetafile(HMETAFILE__ *,int,int,int)\n2402 int CRgn::CreateFromPath(CDC *)\n2403 void CWnd::CreateGrayCaret(int,int)\n2404 int CPalette::CreateHalftonePalette(CDC *)\n2405 int CBrush::CreateHatchBrush(int,unsigned long)\n2406 int CDC::CreateICW(wchar_t const *,wchar_t const *,wchar_t const *,void const *)\n2407 void CDaoTableDef::CreateIndex(CDaoIndexInfo &)\n2408 int CDialog::CreateIndirect(void *,CWnd *,HINSTANCE__ *)\n2409 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *,HINSTANCE__ *)\n2410 int CDialog::CreateIndirect(void *,CWnd *)\n2411 int CDialog::CreateIndirect(DLGTEMPLATE const *,CWnd *,void *)\n2412 COleIPFrameWnd * COleServerDoc::CreateInPlaceFrame(CWnd *)\n2413 long AFX_COM::CreateInstance(_GUID const &,IUnknown *,_GUID const &,void * *)\n2414 long COleObjectFactory::XClassFactory::CreateInstance(IUnknown *,_GUID const &,void * *)\n2415 long COleObjectFactory::XClassFactory::CreateInstanceLic(IUnknown *,IUnknown *,_GUID const &,wchar_t *,void * *)\n2416 int COleInsertDialog::CreateItem(COleClientItem *)\n2417 int COlePasteSpecialDialog::CreateItem(COleClientItem *)\n2418 int COleClientItem::CreateLinkFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2419 int COleClientItem::CreateLinkFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2420 int COleClientItem::CreateLinkFromFile(wchar_t const *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2421 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,unsigned long)\n2422 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *)\n2423 CGopherLocator CGopherConnection::CreateLocator(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,unsigned short)\n2424 int COleStreamFile::CreateMemoryStream(CFileException *)\n2425 int CMenu::CreateMenu(void)\n2426 CMDIChildWnd * CMDIFrameWnd::CreateNewChild(CRuntime*,unsigned int,HMENU__ *,HACCEL__ *)\n2427 CDocument * CDocTemplate::CreateNewDocument(void)\n2428 CFrameWnd * CDocTemplate::CreateNewFrame(CDocument *,CFrameWnd *)\n2429 int COleClientItem::CreateNewItem(_GUID const &,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2430 CObject * CByteArray::CreateObject(void)\n2431 CObject * CDC::CreateObject(void)\n2432 CObject * CDocItem::CreateObject(void)\n2433 CObject * CDockState::CreateObject(void)\n2434 CObject * CDWordArray::CreateObject(void)\n2435 CObject * CEditView::CreateObject(void)\n2436 CObject * CFrameWnd::CreateObject(void)\n2437 CObject * CGdiObject::CreateObject(void)\n2438 CObject * CHtmlEditView::CreateObject(void)\n2439 CObject * CHtmlView::CreateObject(void)\n2440 CObject * CImageList::CreateObject(void)\n2441 CObject * CListView::CreateObject(void)\n2442 CObject * CMapStringToOb::CreateObject(void)\n2443 CObject * CMapStringToString::CreateObject(void)\n2444 CObject * CMapWordToOb::CreateObject(void)\n2445 CObject * CMDIChildWnd::CreateObject(void)\n2446 CObject * CMDIFrameWnd::CreateObject(void)\n2447 CObject * CMenu::CreateObject(void)\n2448 CObject * CMiniDockFrameWnd::CreateObject(void)\n2449 CObject * CMiniFrameWnd::CreateObject(void)\n2450 CObject * CObArray::CreateObject(void)\n2451 CObject * CObList::CreateObject(void)\n2452 CObject * COleDocIPFrameWnd::CreateObject(void)\n2453 CObject * COleIPFrameWnd::CreateObject(void)\n2454 CObject * CPreviewView::CreateObject(void)\n2455 CObject * CRichEditCntrItem::CreateObject(void)\n2456 CObject * CRichEditView::CreateObject(void)\n2457 CObject * CRuntimeClass::CreateObject(void)\n2458 CObject * CRuntimeClass::CreateObject(wchar_t const *)\n2459 CObject * CRuntimeClass::CreateObject(char const *)\n2460 CObject * CStringArray::CreateObject(void)\n2461 CObject * CStringList::CreateObject(void)\n2462 CObject * CTreeView::CreateObject(void)\n2463 CObject * CWnd::CreateObject(void)\n2464 CObject * CWordArray::CreateObject(void)\n2465 void COleControlContainer::CreateOleFont(CFont *)\n2466 CFrameWnd * CDocTemplate::CreateOleFrame(CWnd *,CDocument *,int)\n2467 void COleSafeArray::CreateOneDim(unsigned short,unsigned long,void const *,long)\n2468 long COleControlSite::CreateOrLoad(_GUID const &,CFile *,int,wchar_t *)\n2469 long COleControlSite::CreateOrLoad(CControlCreationInfo const &)\n2470 int CPalette::CreatePalette(tagLOGPALETTE *)\n2471 int CBrush::CreatePatternBrush(CBitmap *)\n2472 int CPen::CreatePen(int,int,unsigned long)\n2473 int CPen::CreatePen(int,int,tagLOGBRUSH const *,int,unsigned long const *)\n2474 int CPen::CreatePenIndirect(tagLOGPEN *)\n2475 int CFont::CreatePointFont(int,wchar_t const *,CDC *)\n2476 int CFont::CreatePointFontIndirect(tagLOGFONTW const *,CDC *)\n2477 int CRgn::CreatePolygonRgn(tagPOINT *,int,int)\n2478 int CRgn::CreatePolyPolygonRgn(tagPOINT *,int *,int,int)\n2479 int CMenu::CreatePopupMenu(void)\n2480 HDC__ * CPageSetupDialog::CreatePrinterDC(void)\n2481 HDC__ * CPrintDialog::CreatePrinterDC(void)\n2482 HDC__ * CPrintDialogEx::CreatePrinterDC(void)\n2483 int CWinApp::CreatePrinterDC(CDC &)\n2484 int CRgn::CreateRectRgn(int,int,int,int)\n2485 int CRgn::CreateRectRgnIndirect(tagRECT const *)\n2486 void CDaoDatabase::CreateRelation(CDaoRelationInfo &)\n2487 void CDaoDatabase::CreateRelation(wchar_t const *,wchar_t const *,wchar_t const *,long,wchar_t const *,wchar_t const *)\n2488 int CRgn::CreateRoundRectRgn(int,int,int,int,int,int)\n2489 int CSplitterWnd::CreateScrollBarCtrl(unsigned long,unsigned int)\n2490 COleControlSite * CControlSiteFactoryMgr::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n2491 COleControlSite * COccManager::CreateSite(COleControlContainer *)\n2492 COleControlSite * COccManager::CreateSite(COleControlContainer *,CControlCreationInfo const &)\n2493 int CBrush::CreateSolidBrush(unsigned long)\n2494 void CWnd::CreateSolidCaret(int,int)\n2495 int CSplitterWnd::CreateStatic(CWnd *,int,int,unsigned long,unsigned int)\n2496 int COleClientItem::CreateStaticFromClipboard(enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2497 int COleClientItem::CreateStaticFromData(COleDataObject *,enum tagOLERENDER,unsigned short,tagFORMATETC *)\n2498 int CGdiObject::CreateStockObject(int)\n2499 int COleStreamFile::CreateStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n2500 int CBrush::CreateSysColorBrush(int)\n2501 int CWinThread::CreateThread(unsigned long,unsigned int,_SECURITY_ATTRIBUTES *)\n2502 void COleControl::CreateTracker(int,int)\n2503 void COleControl::CreateTracker(int,int,tagRECT const *)\n2504 CWnd * CFrameWnd::CreateView(CCreateContext *,unsigned int)\n2505 int CSplitterWnd::CreateView(int,int,CRuntime*,tagSIZE,CCreateContext *)\n2506 long CDocObjectServer::XOleDocument::CreateView(IOleInPlaceSite *,IStream *,unsigned long,IOleDocumentView * *)\n2507 void COleControl::CreateWindowForSubclassedControl(void)\n2508 void CToolBarCtrl::Customize(void)\n2509 void CComboBox::Cut(void)\n2510 void CEdit::Cut(void)\n2511 void CRichEditCtrl::Cut(void)\n2512 long COleControl::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2513 long COleDataSource::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2514 long COleServerDoc::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2515 long COleServerItem::XDataObject::DAdvise(tagFORMATETC *,unsigned long,IAdviseSink *,unsigned long *)\n2516 void DDP_CBIndex(CDataExchange *,int,int &,wchar_t const *)\n2517 void DDP_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2518 void DDP_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2519 void DDP_Check(CDataExchange *,int,int &,wchar_t const *)\n2520 void DDP_EndCheck(CDataExchange *,int,int *,wchar_t const *)\n2521 void DDP_EndRadio(CDataExchange *,int,int *,wchar_t const *)\n2522 void DDP_EndText(CDataExchange *,int,unsigned char *,wchar_t const *)\n2523 void DDP_EndText(CDataExchange *,int,short *,wchar_t const *)\n2524 void DDP_EndText(CDataExchange *,int,int *,wchar_t const *)\n2525 void DDP_EndText(CDataExchange *,int,unsigned int *,wchar_t const *)\n2526 void DDP_EndText(CDataExchange *,int,long *,wchar_t const *)\n2527 void DDP_EndText(CDataExchange *,int,unsigned long *,wchar_t const *)\n2528 void DDP_EndText(CDataExchange *,int,float *,wchar_t const *)\n2529 void DDP_EndText(CDataExchange *,int,double *,wchar_t const *)\n2530 void DDP_EndText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *,wchar_t const *)\n2531 void DDP_LBIndex(CDataExchange *,int,int &,wchar_t const *)\n2532 void DDP_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2533 void DDP_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2534 void DDP_PostProcessing(CDataExchange *)\n2535 void DDP_Radio(CDataExchange *,int,int &,wchar_t const *)\n2536 void DDP_Text(CDataExchange *,int,unsigned char &,wchar_t const *)\n2537 void DDP_Text(CDataExchange *,int,short &,wchar_t const *)\n2538 void DDP_Text(CDataExchange *,int,int &,wchar_t const *)\n2539 void DDP_Text(CDataExchange *,int,unsigned int &,wchar_t const *)\n2540 void DDP_Text(CDataExchange *,int,long &,wchar_t const *)\n2541 void DDP_Text(CDataExchange *,int,unsigned long &,wchar_t const *)\n2542 void DDP_Text(CDataExchange *,int,float &,wchar_t const *)\n2543 void DDP_Text(CDataExchange *,int,double &,wchar_t const *)\n2544 void DDP_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n2545 void DDV_MaxChars(CDataExchange *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n2546 void DDV_MinMaxByte(CDataExchange *,unsigned char,unsigned char,unsigned char)\n2547 void DDV_MinMaxDateTime(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2548 void DDV_MinMaxDateTime(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2549 void DDV_MinMaxDouble(CDataExchange *,double const &,double,double)\n2550 void DDV_MinMaxDWord(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2551 void DDV_MinMaxFloat(CDataExchange *,float const &,float,float)\n2552 void DDV_MinMaxInt(CDataExchange *,int,int,int)\n2553 void DDV_MinMaxLong(CDataExchange *,long,long,long)\n2554 void DDV_MinMaxLongLong(CDataExchange *,__int64,__int64,__int64)\n2555 void DDV_MinMaxMonth(CDataExchange *,ATL::COleDateTime &,ATL::COleDateTime const *,ATL::COleDateTime const *)\n2556 void DDV_MinMaxMonth(CDataExchange *,ATL::CTime &,ATL::CTime const *,ATL::CTime const *)\n2557 void DDV_MinMaxShort(CDataExchange *,short,short,short)\n2558 void DDV_MinMaxSlider(CDataExchange *,unsigned long,unsigned long,unsigned long)\n2559 void DDV_MinMaxUInt(CDataExchange *,unsigned int,unsigned int,unsigned int)\n2560 void DDV_MinMaxULongLong(CDataExchange *,unsigned __int64,unsigned __int64,unsigned __int64)\n2561 void DDX_CBIndex(CDataExchange *,int,int &)\n2562 void DDX_CBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2563 void DDX_CBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2564 void DDX_Check(CDataExchange *,int,int &)\n2565 void DDX_Control(CDataExchange *,int,CWnd &)\n2566 void DDX_DateTimeCtrl(CDataExchange *,int,_FILETIME &)\n2567 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBDATE &)\n2568 void DDX_DateTimeCtrl(CDataExchange *,int,tagDBTIME &)\n2569 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2570 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2571 void DDX_DateTimeCtrl(CDataExchange *,int,ATL::CTime &)\n2572 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,wchar_t const *,tagVARIANT &,int)\n2573 void CDHtmlDialog::DDX_DHtml_AxControl(wchar_t const *,long,tagVARIANT &,int)\n2574 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,wchar_t const *,tagVARIANT &)\n2575 void CDHtmlDialog::DDX_DHtml_AxControl(CDataExchange *,wchar_t const *,long,tagVARIANT &)\n2576 void CDHtmlDialog::DDX_DHtml_CheckBox(wchar_t const *,int &,int)\n2577 void CDHtmlDialog::DDX_DHtml_CheckBox(CDataExchange *,wchar_t const *,int &)\n2578 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,short &,int)\n2579 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,int &,int)\n2580 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,long &,int)\n2581 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,unsigned long &,int)\n2582 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,float &,int)\n2583 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,double &,int)\n2584 void CDHtmlDialog::DDX_DHtml_ElementText(wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2585 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,short &)\n2586 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,int &)\n2587 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,long &)\n2588 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,unsigned long &)\n2589 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,float &)\n2590 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,double &)\n2591 void CDHtmlDialog::DDX_DHtml_ElementText(CDataExchange *,wchar_t const *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2592 void CDHtmlDialog::DDX_DHtml_ElementTextFloatFormat(wchar_t const *,long,void *,double,int,int)\n2593 void CDHtmlDialog::DDX_DHtml_ElementTextWithFormat(wchar_t const *,long,wchar_t const *,unsigned int,int,...)\n2594 void CDHtmlDialog::DDX_DHtml_Radio(wchar_t const *,long &,int)\n2595 void CDHtmlDialog::DDX_DHtml_Radio(CDataExchange *,wchar_t const *,long &)\n2596 void CDHtmlDialog::DDX_DHtml_SelectIndex(wchar_t const *,long &,int)\n2597 void CDHtmlDialog::DDX_DHtml_SelectIndex(CDataExchange *,wchar_t const *,long &)\n2598 void CDHtmlDialog::DDX_DHtml_SelectString(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2599 void CDHtmlDialog::DDX_DHtml_SelectString(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2600 void CDHtmlDialog::DDX_DHtml_SelectValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int)\n2601 void CDHtmlDialog::DDX_DHtml_SelectValue(CDataExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2602 void DDX_FieldCBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2603 void DDX_FieldCBIndex(CDataExchange *,int,int &,CRecordset *)\n2604 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2605 void DDX_FieldCBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2606 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2607 void DDX_FieldCBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2608 void DDX_FieldCheck(CDataExchange *,int,int &,CDaoRecordset *)\n2609 void DDX_FieldCheck(CDataExchange *,int,int &,CRecordset *)\n2610 void DDX_FieldLBIndex(CDataExchange *,int,int &,CDaoRecordset *)\n2611 void DDX_FieldLBIndex(CDataExchange *,int,int &,CRecordset *)\n2612 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2613 void DDX_FieldLBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2614 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2615 void DDX_FieldLBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2616 void DDX_FieldRadio(CDataExchange *,int,int &,CDaoRecordset *)\n2617 void DDX_FieldRadio(CDataExchange *,int,int &,CRecordset *)\n2618 void DDX_FieldScroll(CDataExchange *,int,int &,CDaoRecordset *)\n2619 void DDX_FieldScroll(CDataExchange *,int,int &,CRecordset *)\n2620 void DDX_FieldSlider(CDataExchange *,int,int &,CDaoRecordset *)\n2621 void DDX_FieldText(CDataExchange *,int,unsigned char &,CDaoRecordset *)\n2622 void DDX_FieldText(CDataExchange *,int,unsigned char &,CRecordset *)\n2623 void DDX_FieldText(CDataExchange *,int,short &,CDaoRecordset *)\n2624 void DDX_FieldText(CDataExchange *,int,int &,CDaoRecordset *)\n2625 void DDX_FieldText(CDataExchange *,int,int &,CRecordset *)\n2626 void DDX_FieldText(CDataExchange *,int,unsigned int &,CRecordset *)\n2627 void DDX_FieldText(CDataExchange *,int,long &,CDaoRecordset *)\n2628 void DDX_FieldText(CDataExchange *,int,long &,CRecordset *)\n2629 void DDX_FieldText(CDataExchange *,int,unsigned long &,CDaoRecordset *)\n2630 void DDX_FieldText(CDataExchange *,int,unsigned long &,CRecordset *)\n2631 void DDX_FieldText(CDataExchange *,int,float &,CDaoRecordset *)\n2632 void DDX_FieldText(CDataExchange *,int,float &,CRecordset *)\n2633 void DDX_FieldText(CDataExchange *,int,double &,CDaoRecordset *)\n2634 void DDX_FieldText(CDataExchange *,int,double &,CRecordset *)\n2635 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CDaoRecordset *)\n2636 void DDX_FieldText(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CRecordset *)\n2637 void DDX_FieldText(CDataExchange *,int,COleCurrency &,CDaoRecordset *)\n2638 void DDX_FieldText(CDataExchange *,int,ATL::COleDateTime &,CDaoRecordset *)\n2639 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CDaoRecordset *)\n2640 void DDX_FieldText(CDataExchange *,int,wchar_t *,int,CRecordset *)\n2641 void DDX_IPAddress(CDataExchange *,int,unsigned long &)\n2642 void DDX_LBIndex(CDataExchange *,int,int &)\n2643 void DDX_LBString(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2644 void DDX_LBStringExact(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2645 void DDX_MonthCalCtrl(CDataExchange *,int,_FILETIME &)\n2646 void DDX_MonthCalCtrl(CDataExchange *,int,tagDBDATE &)\n2647 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::COleDateTime &)\n2648 void DDX_MonthCalCtrl(CDataExchange *,int,ATL::CTime &)\n2649 void DDX_OCBool(CDataExchange *,int,long,int &)\n2650 void DDX_OCBoolRO(CDataExchange *,int,long,int &)\n2651 void DDX_OCColor(CDataExchange *,int,long,unsigned long &)\n2652 void DDX_OCColorRO(CDataExchange *,int,long,unsigned long &)\n2653 void DDX_OCFloat(CDataExchange *,int,long,float &)\n2654 void DDX_OCFloat(CDataExchange *,int,long,double &)\n2655 void DDX_OCFloatRO(CDataExchange *,int,long,float &)\n2656 void DDX_OCFloatRO(CDataExchange *,int,long,double &)\n2657 void DDX_OCInt(CDataExchange *,int,long,int &)\n2658 void DDX_OCInt(CDataExchange *,int,long,long &)\n2659 void DDX_OCIntRO(CDataExchange *,int,long,int &)\n2660 void DDX_OCIntRO(CDataExchange *,int,long,long &)\n2661 void DDX_OCShort(CDataExchange *,int,long,short &)\n2662 void DDX_OCShortRO(CDataExchange *,int,long,short &)\n2663 void DDX_OCText(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2664 void DDX_OCTextRO(CDataExchange *,int,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2665 void DDX_Radio(CDataExchange *,int,int &)\n2666 void DDX_Scroll(CDataExchange *,int,int &)\n2667 void DDX_Slider(CDataExchange *,int,int &)\n2668 void DDX_Text(CDataExchange *,int,__int64 &)\n2669 void DDX_Text(CDataExchange *,int,unsigned __int64 &)\n2670 void DDX_Text(CDataExchange *,int,unsigned char &)\n2671 void DDX_Text(CDataExchange *,int,short &)\n2672 void DDX_Text(CDataExchange *,int,int &)\n2673 void DDX_Text(CDataExchange *,int,unsigned int &)\n2674 void DDX_Text(CDataExchange *,int,long &)\n2675 void DDX_Text(CDataExchange *,int,unsigned long &)\n2676 void DDX_Text(CDataExchange *,int,float &)\n2677 void DDX_Text(CDataExchange *,int,double &)\n2678 void DDX_Text(CDataExchange *,int,_FILETIME &)\n2679 void DDX_Text(CDataExchange *,int,_GUID &)\n2680 void DDX_Text(CDataExchange *,int,tagDB_NUMERIC &)\n2681 void DDX_Text(CDataExchange *,int,tagDBDATE &)\n2682 void DDX_Text(CDataExchange *,int,tagDBTIME &)\n2683 void DDX_Text(CDataExchange *,int,tagDEC &)\n2684 void DDX_Text(CDataExchange *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n2685 void DDX_Text(CDataExchange *,int,COleCurrency &)\n2686 void DDX_Text(CDataExchange *,int,ATL::COleDateTime &)\n2687 void DDX_Text(CDataExchange *,int,wchar_t *,int)\n2688 void COleClientItem::Deactivate(void)\n2689 long COlePropertyPage::XPropertyPage::Deactivate(void)\n2690 int COleServerDoc::DeactivateAndUndo(void)\n2691 long COleClientItem::XOleIPSite::DeactivateAndUndo(void)\n2692 long COleControlSite::XOleIPSite::DeactivateAndUndo(void)\n2693 void COleClientItem::DeactivateUI(void)\n2694 void CDaoFieldExchange::Default(wchar_t const *,void *,unsigned long,unsigned long)\n2695 void CFieldExchange::Default(wchar_t const *,void *,long *,int,unsigned long,unsigned long)\n2696 long CWnd::Default(void)\n2697 long CMDIChildWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2698 long CMDIFrameWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2699 long COleControl::DefWindowProcW(unsigned int,unsigned int,long)\n2700 long CPrintDialogEx::DefWindowProcW(unsigned int,unsigned int,long)\n2701 long CWnd::DefWindowProcW(unsigned int,unsigned int,long)\n2702 void CFrameWnd::DelayRecalcLayout(int)\n2703 void COleDataSource::DelayRenderData(unsigned short,tagFORMATETC *)\n2704 void COleDataSource::DelayRenderFileData(unsigned short,tagFORMATETC *)\n2705 void COleDataSource::DelaySetData(unsigned short,tagFORMATETC *)\n2706 void CControlBar::DelayShow(int)\n2707 void CFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2708 void CMDIFrameWnd::DelayUpdateFrameMenu(HMENU__ *)\n2709 void CFrameWnd::DelayUpdateFrameTitle(void)\n2710 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Delete(int,int)\n2711 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Delete(int,int)\n2712 void CDaoRecordset::Delete(void)\n2713 void CException::Delete(void)\n2714 void COleClientItem::Delete(int)\n2715 void CRecordset::Delete(void)\n2716 void CWinThread::Delete(void)\n2717 int CListCtrl::DeleteAllItems(void)\n2718 int CTabCtrl::DeleteAllItems(void)\n2719 int CTreeCtrl::DeleteAllItems(void)\n2720 int CReBarCtrl::DeleteBand(unsigned int)\n2721 int CToolBarCtrl::DeleteButton(int)\n2722 void CDaoFieldExchange::DeleteCacheValue(CDaoFieldCache *,unsigned long)\n2723 int CListCtrl::DeleteColumn(int)\n2724 void CSplitterWnd::DeleteColumn(int)\n2725 void CDocument::DeleteContents(void)\n2726 void CEditView::DeleteContents(void)\n2727 void CHtmlEditDoc::DeleteContents(void)\n2728 void COleDocument::DeleteContents(void)\n2729 void COleServerDoc::DeleteContents(void)\n2730 void CRichEditDoc::DeleteContents(void)\n2731 void CRichEditView::DeleteContents(void)\n2732 int CDC::DeleteDC(void)\n2733 void CDaoTableDef::DeleteField(int)\n2734 void CDaoTableDef::DeleteField(wchar_t const *)\n2735 int CImageList::DeleteImageList(void)\n2736 void CDaoTableDef::DeleteIndex(int)\n2737 void CDaoTableDef::DeleteIndex(wchar_t const *)\n2738 void CComboBox::DeleteItem(tagDELETEITEM*)\n2739 int CComboBoxEx::DeleteItem(int)\n2740 int CHeaderCtrl::DeleteItem(int)\n2741 void CListBox::DeleteItem(tagDELETEITEM*)\n2742 int CListCtrl::DeleteItem(int)\n2743 int CTabCtrl::DeleteItem(int)\n2744 int CTreeCtrl::DeleteItem(_TREEITEM *)\n2745 int CMenu::DeleteMenu(unsigned int,unsigned int)\n2746 int CGdiObject::DeleteObject(void)\n2747 long CRichEditView::XRichEditOleCallback::DeleteObject(IOleObject *)\n2748 void CDaoDatabase::DeleteQueryDef(wchar_t const *)\n2749 void CDaoDatabase::DeleteRelation(wchar_t const *)\n2750 void CSplitterWnd::DeleteRow(int)\n2751 int CComboBox::DeleteString(unsigned int)\n2752 int CListBox::DeleteString(unsigned int)\n2753 void CDaoDatabase::DeleteTableDef(wchar_t const *)\n2754 void CHandleMap::DeleteTemp(void)\n2755 void CDC::DeleteTempMap(void)\n2756 void CGdiObject::DeleteTempMap(void)\n2757 void CImageList::DeleteTempMap(void)\n2758 void CMenu::DeleteTempMap(void)\n2759 void CWnd::DeleteTempMap(void)\n2760 void CRichEditDoc::DeleteUnmarkedItems(void)const \n2761 void CThreadSlotData::DeleteValues(CThreadData *,HINSTANCE__ *)\n2762 void CThreadSlotData::DeleteValues(HINSTANCE__ *,int)\n2763 void CSplitterWnd::DeleteView(int,int)\n2764 long CWinApp::DelRegTree(HKEY__ *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n2765 void CToolTipCtrl::DelTool(CWnd *,unsigned int)\n2766 void CTabCtrl::DeselectAll(int)\n2767 void COleSafeArray::Destroy(void)\n2768 int COleControlSite::DestroyControl(void)\n2769 void COleSafeArray::DestroyData(void)\n2770 void COleSafeArray::DestroyDescriptor(void)\n2771 void CFrameWnd::DestroyDockBars(void)\n2772 void COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)\n2773 int CMenu::DestroyMenu(void)\n2774 void CDHtmlDialog::DestroyModeless(void)\n2775 void COleControl::DestroySharedMenu(void)\n2776 void COleDocIPFrameWnd::DestroySharedMenu(void)\n2777 void COleIPFrameWnd::DestroySharedMenu(void)\n2778 int CToolTipCtrl::DestroyToolTipCtrl(void)\n2779 void COleControl::DestroyTracker(void)\n2780 int CControlBar::DestroyWindow(void)\n2781 int CMDIChildWnd::DestroyWindow(void)\n2782 int CWnd::DestroyWindow(void)\n2783 unsigned int CAsyncSocket::Detach(void)\n2784 HDC__ * CDC::Detach(void)\n2785 void * CDialogTemplate::Detach(void)\n2786 void * CGdiObject::Detach(void)\n2787 _IMAGELIST * CImageList::Detach(void)\n2788 unsigned char * CMemFile::Detach(void)\n2789 HMENU__ * CMenu::Detach(void)\n2790 int CMonikerFile::Detach(CFileException *)\n2791 IDataObject * COleDataObject::Detach(void)\n2792 tagVARIANT COleSafeArray::Detach(void)\n2793 IStream * COleStreamFile::Detach(void)\n2794 tagVARIANT COleVariant::Detach(void)\n2795 void * CSharedFile::Detach(void)\n2796 HDC__ * CWindowlessDC::Detach(void)\n2797 HWND__ * CWnd::Detach(void)\n2798 IDispatch * COleDispatchDriver::DetachDispatch(void)\n2799 void CAsyncSocket::DetachHandle(unsigned int,int)\n2800 void COleControlSite::DetachWindow(void)\n2801 void CWinApp::DevModeChange(wchar_t *)\n2802 void DFX_Binary(CDaoFieldExchange *,wchar_t const *,CByteArray &,int,unsigned long)\n2803 void DFX_Bool(CDaoFieldExchange *,wchar_t const *,int &,unsigned long)\n2804 void DFX_Byte(CDaoFieldExchange *,wchar_t const *,unsigned char &,unsigned long)\n2805 void DFX_Currency(CDaoFieldExchange *,wchar_t const *,COleCurrency &,unsigned long)\n2806 void DFX_DateTime(CDaoFieldExchange *,wchar_t const *,ATL::COleDateTime &,unsigned long)\n2807 void DFX_Double(CDaoFieldExchange *,wchar_t const *,double &,unsigned long)\n2808 void DFX_Long(CDaoFieldExchange *,wchar_t const *,long &,unsigned long)\n2809 void DFX_LongBinary(CDaoFieldExchange *,wchar_t const *,CLongBinary &,unsigned long,unsigned long)\n2810 void DFX_Short(CDaoFieldExchange *,wchar_t const *,short &,unsigned long)\n2811 void DFX_Single(CDaoFieldExchange *,wchar_t const *,float &,unsigned long)\n2812 void DFX_Text(CDaoFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,unsigned long)\n2813 int CDHtmlEventSink::DHtmlEventHook(long *,long,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n2814 long COleControlSite::XNotifyDBEvents::DidEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n2815 int CMemoryState::Difference(CMemoryState const &,CMemoryState const &)\n2816 int CComboBox::Dir(unsigned int,wchar_t const *)\n2817 int CComboBoxEx::Dir(unsigned int,wchar_t const *)\n2818 int CListBox::Dir(unsigned int,wchar_t const *)\n2819 int COleServerDoc::DiscardUndoState(void)\n2820 long COleClientItem::XOleIPSite::DiscardUndoState(void)\n2821 long COleControlSite::XOleIPSite::DiscardUndoState(void)\n2822 void COleDispatchImpl::Disconnect(void)\n2823 void CDHtmlDialog::DisconnectDHtmlElementEvents(void)\n2824 void CDHtmlDialog::DisconnectDHtmlEvents(void)\n2825 void CDHtmlEventSink::DisconnectFromConnectionPoint(IUnknown *,_GUID const &,unsigned long &)\n2826 void COleControlSite::DisconnectSink(_GUID const &,unsigned long)\n2827 void CDocument::DisconnectViews(void)\n2828 void CWinThread::DispatchThreadMessage(tagMSG *)\n2829 int CWinThread::DispatchThreadMessageEx(tagMSG *)\n2830 int CRichEditCtrl::DisplayBand(tagRECT *)\n2831 void COleControl::DisplayError(long,wchar_t const *,wchar_t const *,wchar_t const *,unsigned int)\n2832 int CWnd::DlgDirListComboBoxW(wchar_t *,int,int,unsigned int)\n2833 int CWnd::DlgDirListW(wchar_t *,int,int,unsigned int)\n2834 int CWnd::DlgDirSelect(wchar_t *,int)\n2835 int CWnd::DlgDirSelect(wchar_t *,int,int)\n2836 int CWnd::DlgDirSelectComboBox(wchar_t *,int)\n2837 int CWnd::DlgDirSelectComboBox(wchar_t *,int,int)\n2838 void CDocObjectServer::DoBeginPrinting(CView *,CDC *,CPrintInfo *)\n2839 void CRecordset::DoBulkFieldExchange(CFieldExchange *)\n2840 void CAsyncSocket::DoCallBack(unsigned int,long)\n2841 int COleChangeIconDialog::DoChangeIcon(COleClientItem *)\n2842 void CDockBar::DockControlBar(CControlBar *,tagRECT const *)\n2843 void CFrameWnd::DockControlBar(CControlBar *,unsigned int,tagRECT const *)\n2844 void CFrameWnd::DockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n2845 void COleControl::DoClick(void)\n2846 int COleFrameHook::DoContextSensitiveHelp(int)\n2847 int COleConvertDialog::DoConvert(COleClientItem *)\n2848 void CHtmlView::DocumentComplete(IDispatch *,tagVARIANT *)\n2849 void CWnd::DoDataExchange(CDataExchange *)\n2850 long COleDocObjectItem::DoDefaultPrinting(CView *,CPrintInfo *)\n2851 unsigned long COleClientItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2852 unsigned long COleDataSource::DoDragDrop(unsigned long,tagRECT const *,COleDropSource *)\n2853 unsigned long COleServerItem::DoDragDrop(tagRECT const *,CPoint,int,unsigned long,tagRECT const *)\n2854 int COleFrameHook::DoEnableModeless(int)\n2855 void CWinApp::DoEnableModeless(int)\n2856 void CDocObjectServer::DoEndPrinting(CView *,CDC *,CPrintInfo *)\n2857 void CDaoRecordset::DoFieldExchange(CDaoFieldExchange *)\n2858 void CRecordset::DoFieldExchange(CFieldExchange *)\n2859 int CDocument::DoFileSave(void)\n2860 int CSplitterWnd::DoKeyboardSplit(void)\n2861 int CWinApp::DoMessageBox(wchar_t const *,unsigned int,unsigned int)\n2862 int CColorDialog::DoModal(void)\n2863 int CDialog::DoModal(void)\n2864 int CFileDialog::DoModal(void)\n2865 int CFontDialog::DoModal(void)\n2866 int COleBusyDialog::DoModal(void)\n2867 int COleChangeIconDialog::DoModal(void)\n2868 int COleChangeSourceDialog::DoModal(void)\n2869 int COleConvertDialog::DoModal(void)\n2870 int COleInsertDialog::DoModal(unsigned long)\n2871 int COleInsertDialog::DoModal(void)\n2872 int COleLinksDialog::DoModal(void)\n2873 int COlePasteSpecialDialog::DoModal(void)\n2874 int COlePropertiesDialog::DoModal(void)\n2875 int COleUpdateDialog::DoModal(void)\n2876 int CPageSetupDialog::DoModal(void)\n2877 int CPrintDialog::DoModal(void)\n2878 int CPrintDialogEx::DoModal(void)\n2879 int CPropertySheet::DoModal(void)\n2880 int CScrollView::DoMouseWheel(unsigned int,short,CPoint)\n2881 int CCmdTarget::DoOleVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n2882 void CControlBar::DoPaint(CDC *)\n2883 void CDockBar::DoPaint(CDC *)\n2884 void CRichEditView::DoPaste(COleDataObject &,unsigned short,void *)\n2885 void CDocObjectServer::DoPrepareDC(CView *,CDC *,CPrintInfo *)\n2886 int CDocObjectServer::DoPreparePrinting(CView *,CPrintInfo *)\n2887 int CView::DoPreparePrinting(CPrintInfo *)\n2888 void CDocObjectServer::DoPrint(CView *,CDC *,CPrintInfo *)\n2889 int CWinApp::DoPrintDialog(CPrintDialog *)\n2890 int CView::DoPrintPreview(unsigned int,CView *,CRuntime*,CPrintPreviewState *)\n2891 int CDocManager::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2892 int CWinApp::DoPromptFileName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int,unsigned long,int,CDocTemplate *)\n2893 void COleControl::DoPropExchange(CPropExchange *)\n2894 int CDocument::DoSave(wchar_t const *,int)\n2895 int CSplitterWnd::DoScroll(CView *,unsigned int,int)\n2896 int CSplitterWnd::DoScrollBy(CView *,CSize,int)\n2897 void COleControl::DoSuperclassPaint(CDC *,CRect const &)\n2898 int CCmdUI::DoUpdate(CCmdTarget *,int)\n2899 int COleCmdUI::DoUpdate(CCmdTarget *,int)\n2900 int COleClientItem::DoVerb(long,CView *,tagMSG *)\n2901 long COleControlSite::DoVerb(long,tagMSG *)\n2902 long CDocObjectServer::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2903 long COleControl::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2904 long COleServerDoc::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2905 long COleServerItem::XOleObject::DoVerb(long,tagMSG *,IOleClientSite *,long,HWND__ *,tagRECT const *)\n2906 void CWinApp::DoWaitCursor(int)\n2907 void CPreviewView::DoZoom(unsigned int,CPoint)\n2908 void CDC::DPtoHIMETRIC(tagSIZE *)const \n2909 void CDC::DPtoLP(tagPOINT *,int)const \n2910 void CDC::DPtoLP(tagRECT *)const \n2911 void CDC::DPtoLP(tagSIZE *)const \n2912 void CWnd::DragAcceptFiles(int)\n2913 int CWnd::DragDetect(tagPOINT)const \n2914 int CImageList::DragEnter(CWnd *,CPoint)\n2915 long COleDropTarget::XDropTarget::DragEnter(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2916 unsigned int CDragListBox::Dragging(CPoint)\n2917 int CImageList::DragLeave(CWnd *)\n2918 long COleDropTarget::XDropTarget::DragLeave(void)\n2919 int CImageList::DragMove(CPoint)\n2920 void CReBarCtrl::DragMove(unsigned long)\n2921 long COleDropTarget::XDropTarget::DragOver(unsigned long,_POINTL,unsigned long *)\n2922 int CImageList::DragShowNolock(int)\n2923 int CImageList::Draw(CDC *,int,tagPOINT,unsigned int)\n2924 int COleClientItem::Draw(CDC *,tagRECT const *,enum tagDVASPECT)\n2925 void CRectTracker::Draw(CDC *)const \n2926 long COleControl::XViewObject::Draw(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,HDC__ *,_RECTL const *,_RECTL const *,int (__stdcall*)(unsigned long),unsigned long)\n2927 void CDC::Draw3dRect(int,int,int,int,unsigned long,unsigned long)\n2928 void CDC::Draw3dRect(tagRECT const *,unsigned long,unsigned long)\n2929 void CSplitterWnd::DrawAllSplitBars(CDC *,int,int)\n2930 int CWnd::DrawAnimatedRects(int,tagRECT const *,tagRECT const *)\n2931 void CControlBar::DrawBorders(CDC *,CRect &)\n2932 int CWnd::DrawCaption(CDC *,tagRECT const *,unsigned int)\n2933 void COleControl::DrawContent(CDC *,CRect &)\n2934 void CDC::DrawDragRect(tagRECT const *,tagSIZE,tagRECT const *,tagSIZE,CBrush *,CBrush *)\n2935 int CDC::DrawEdge(tagRECT *,unsigned int,unsigned int)\n2936 int CDC::DrawEscape(int,int,char const *)\n2937 int CImageList::DrawEx(CDC *,int,tagPOINT,tagSIZE,unsigned long,unsigned long,unsigned int)\n2938 void CDC::DrawFocusRect(tagRECT const *)\n2939 void CDockContext::DrawFocusRect(int)\n2940 int CDC::DrawFrameControl(tagRECT *,unsigned int,unsigned int)\n2941 void CControlBar::DrawGripper(CDC *,CRect const &)\n2942 int CDC::DrawIcon(int,int,HICON__ *)\n2943 int CDC::DrawIcon(tagPOINT,HICON__ *)\n2944 int CImageList::DrawIndirect(_IMAGELISTDRAWPARAMS *)\n2945 int CImageList::DrawIndirect(CDC *,int,tagPOINT,tagSIZE,tagPOINT,unsigned int,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long,unsigned long)\n2946 void CDragListBox::DrawInsert(int)\n2947 void CBitmapButton::DrawItem(tagDRAWITEM*)\n2948 void CButton::DrawItem(tagDRAWITEM*)\n2949 void CCheckListBox::DrawItem(tagDRAWITEM*)\n2950 void CChevronOwnerDrawMenu::DrawItem(tagDRAWITEM*)\n2951 void CComboBox::DrawItem(tagDRAWITEM*)\n2952 void CHeaderCtrl::DrawItem(tagDRAWITEM*)\n2953 void CListBox::DrawItem(tagDRAWITEM*)\n2954 void CListCtrl::DrawItem(tagDRAWITEM*)\n2955 void CListView::DrawItem(tagDRAWITEM*)\n2956 void CMenu::DrawItem(tagDRAWITEM*)\n2957 void CStatic::DrawItem(tagDRAWITEM*)\n2958 void CStatusBar::DrawItem(tagDRAWITEM*)\n2959 void CStatusBarCtrl::DrawItem(tagDRAWITEM*)\n2960 void CTabCtrl::DrawItem(tagDRAWITEM*)\n2961 void CWnd::DrawMenuBar(void)\n2962 void COleControl::DrawMetafile(CDC *,CRect &)\n2963 void CControlBar::DrawNCGripper(CDC *,CRect const &)\n2964 int CControlBar::DrawNonThemedGripper(CDC *,CRect const &)\n2965 void CDragListBox::DrawSingle(int)\n2966 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,HBRUSH__ *)\n2967 int CDC::DrawState(CPoint,CSize,int (__stdcall*)(HDC__ *,long,unsigned int,int,int),long,unsigned int,CBrush *)\n2968 int CDC::DrawState(CPoint,CSize,HBITMAP__ *,unsigned int,HBRUSH__ *)\n2969 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,HBRUSH__ *)\n2970 int CDC::DrawState(CPoint,CSize,HICON__ *,unsigned int,CBrush *)\n2971 int CDC::DrawState(CPoint,CSize,CBitmap *,unsigned int,CBrush *)\n2972 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,HBRUSH__ *)\n2973 int CDC::DrawState(CPoint,CSize,wchar_t const *,unsigned int,int,int,CBrush *)\n2974 int CDC::DrawText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2975 int CDC::DrawText(wchar_t const *,int,tagRECT *,unsigned int)\n2976 int CMetaFileDC::DrawText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2977 int CMetaFileDC::DrawText(wchar_t const *,int,tagRECT *,unsigned int)\n2978 int CDC::DrawTextEx(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2979 int CDC::DrawTextEx(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2980 int CMetaFileDC::DrawTextEx(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2981 int CMetaFileDC::DrawTextEx(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2982 int CDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2983 int CDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2984 int CMetaFileDC::DrawTextExW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2985 int CMetaFileDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2986 int CPreviewDC::DrawTextExW(wchar_t *,int,tagRECT *,unsigned int,tagDRAWTEXTPARAMS *)\n2987 int CDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2988 int CDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2989 int CMetaFileDC::DrawTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,tagRECT *,unsigned int)\n2990 int CMetaFileDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2991 int CPreviewDC::DrawTextW(wchar_t const *,int,tagRECT *,unsigned int)\n2992 long CThemeHelper::DrawThemeBackground(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2993 long CThemeHelper::DrawThemeBackgroundFail(void *,HDC__ *,int,int,tagRECT const *,tagRECT const *)\n2994 int CControlBar::DrawThemedGripper(CDC *,CRect const &,int)\n2995 long CThemeHelper::DrawThemeParentBackground(HWND__ *,HDC__ *,tagRECT *)\n2996 long CThemeHelper::DrawThemeParentBackgroundFail(HWND__ *,HDC__ *,tagRECT *)\n2997 void CRectTracker::DrawTrackerRect(tagRECT const *,CWnd *,CDC *,CWnd *)\n2998 long COleDropTarget::XDropTarget::Drop(IDataObject *,unsigned long,_POINTL,unsigned long *)\n2999 void CDragListBox::Dropped(int,CPoint)\n3000 void CArchiveException::Dump(CDumpContext &)const \n3001 void CAsyncMonikerFile::Dump(CDumpContext &)const \n3002 void CAsyncSocket::Dump(CDumpContext &)const \n3003 void CBitmap::Dump(CDumpContext &)const \n3004 void CBitmapButton::Dump(CDumpContext &)const \n3005 void CBrush::Dump(CDumpContext &)const \n3006 void CByteArray::Dump(CDumpContext &)const \n3007 void CCachedDataPathProperty::Dump(CDumpContext &)const \n3008 void CClientDC::Dump(CDumpContext &)const \n3009 void CCmdTarget::Dump(CDumpContext &)const \n3010 void CColorDialog::Dump(CDumpContext &)const \n3011 void CControlBar::Dump(CDumpContext &)const \n3012 void CCtrlView::Dump(CDumpContext &)const \n3013 void CDaoDatabase::Dump(CDumpContext &)const \n3014 void CDaoDatabaseInfo::Dump(CDumpContext &)const \n3015 void CDaoErrorInfo::Dump(CDumpContext &)const \n3016 void CDaoFieldInfo::Dump(CDumpContext &)const \n3017 void CDaoIndexFieldInfo::Dump(CDumpContext &)const \n3018 void CDaoIndexInfo::Dump(CDumpContext &)const \n3019 void CDaoParameterInfo::Dump(CDumpContext &)const \n3020 void CDaoQueryDef::Dump(CDumpContext &)const \n3021 void CDaoQueryDefInfo::Dump(CDumpContext &)const \n3022 void CDaoRecordset::Dump(CDumpContext &)const \n3023 void CDaoRecordView::Dump(CDumpContext &)const \n3024 void CDaoRelationFieldInfo::Dump(CDumpContext &)const \n3025 void CDaoRelationInfo::Dump(CDumpContext &)const \n3026 void CDaoTableDef::Dump(CDumpContext &)const \n3027 void CDaoTableDefInfo::Dump(CDumpContext &)const \n3028 void CDaoWorkspace::Dump(CDumpContext &)const \n3029 void CDaoWorkspaceInfo::Dump(CDumpContext &)const \n3030 void CDatabase::Dump(CDumpContext &)const \n3031 void CDataPathProperty::Dump(CDumpContext &)const \n3032 void CDC::Dump(CDumpContext &)const \n3033 void CDialog::Dump(CDumpContext &)const \n3034 void CDocItem::Dump(CDumpContext &)const \n3035 void CDockBar::Dump(CDumpContext &)const \n3036 void CDocManager::Dump(CDumpContext &)const \n3037 void CDocObjectServer::Dump(CDumpContext &)const \n3038 void CDocObjectServerItem::Dump(CDumpContext &)const \n3039 void CDocTemplate::Dump(CDumpContext &)const \n3040 void CDocument::Dump(CDumpContext &)const \n3041 void CDWordArray::Dump(CDumpContext &)const \n3042 void CDynLinkLibrary::Dump(CDumpContext &)const \n3043 void CEditView::Dump(CDumpContext &)const \n3044 void CFile::Dump(CDumpContext &)const \n3045 void CFileDialog::Dump(CDumpContext &)const \n3046 void CFileException::Dump(CDumpContext &)const \n3047 void CFileFind::Dump(CDumpContext &)const \n3048 void CFileStatus::Dump(CDumpContext &)const \n3049 void CFindReplaceDialog::Dump(CDumpContext &)const \n3050 void CFont::Dump(CDumpContext &)const \n3051 void CFontDialog::Dump(CDumpContext &)const \n3052 void CFormView::Dump(CDumpContext &)const \n3053 void CFrameWnd::Dump(CDumpContext &)const \n3054 void CFtpConnection::Dump(CDumpContext &)const \n3055 void CFtpFileFind::Dump(CDumpContext &)const \n3056 void CGdiObject::Dump(CDumpContext &)const \n3057 void CGopherConnection::Dump(CDumpContext &)const \n3058 void CGopherFile::Dump(CDumpContext &)const \n3059 void CGopherFileFind::Dump(CDumpContext &)const \n3060 void CHtmlEditDoc::Dump(CDumpContext &)const \n3061 void CHtmlEditView::Dump(CDumpContext &)const \n3062 void CHtmlView::Dump(CDumpContext &)const \n3063 void CHttpConnection::Dump(CDumpContext &)const \n3064 void CHttpFile::Dump(CDumpContext &)const \n3065 void CImageList::Dump(CDumpContext &)const \n3066 void CInternetConnection::Dump(CDumpContext &)const \n3067 void CInternetException::Dump(CDumpContext &)const \n3068 void CInternetFile::Dump(CDumpContext &)const \n3069 void CInternetSession::Dump(CDumpContext &)const \n3070 void CLongBinary::Dump(CDumpContext &)const \n3071 void CMapPtrToPtr::Dump(CDumpContext &)const \n3072 void CMapPtrToWord::Dump(CDumpContext &)const \n3073 void CMapStringToOb::Dump(CDumpContext &)const \n3074 void CMapStringToPtr::Dump(CDumpContext &)const \n3075 void CMapStringToString::Dump(CDumpContext &)const \n3076 void CMapWordToOb::Dump(CDumpContext &)const \n3077 void CMapWordToPtr::Dump(CDumpContext &)const \n3078 void CMDIChildWnd::Dump(CDumpContext &)const \n3079 void CMDIFrameWnd::Dump(CDumpContext &)const \n3080 void CMemFile::Dump(CDumpContext &)const \n3081 void CMenu::Dump(CDumpContext &)const \n3082 void CMonikerFile::Dump(CDumpContext &)const \n3083 void CMultiDocTemplate::Dump(CDumpContext &)const \n3084 void CObArray::Dump(CDumpContext &)const \n3085 void CObject::Dump(CDumpContext &)const \n3086 void CObList::Dump(CDumpContext &)const \n3087 void COleBusyDialog::Dump(CDumpContext &)const \n3088 void COleChangeIconDialog::Dump(CDumpContext &)const \n3089 void COleChangeSourceDialog::Dump(CDumpContext &)const \n3090 void COleClientItem::Dump(CDumpContext &)const \n3091 void COleControl::Dump(CDumpContext &)const \n3092 void COleConvertDialog::Dump(CDumpContext &)const \n3093 void COleDataSource::Dump(CDumpContext &)const \n3094 void COleDialog::Dump(CDumpContext &)const \n3095 void COleDocIPFrameWnd::Dump(CDumpContext &)const \n3096 void COleDocument::Dump(CDumpContext &)const \n3097 void COleDropSource::Dump(CDumpContext &)const \n3098 void COleDropTarget::Dump(CDumpContext &)const \n3099 void COleInsertDialog::Dump(CDumpContext &)const \n3100 void COleIPFrameWnd::Dump(CDumpContext &)const \n3101 void COleLinkingDoc::Dump(CDumpContext &)const \n3102 void COleLinksDialog::Dump(CDumpContext &)const \n3103 void COleMessageFilter::Dump(CDumpContext &)const \n3104 void COleObjectFactory::Dump(CDumpContext &)const \n3105 void COlePasteSpecialDialog::Dump(CDumpContext &)const \n3106 void COlePropertiesDialog::Dump(CDumpContext &)const \n3107 void COleServerDoc::Dump(CDumpContext &)const \n3108 void COleServerItem::Dump(CDumpContext &)const \n3109 void COleStreamFile::Dump(CDumpContext &)const \n3110 void COleUpdateDialog::Dump(CDumpContext &)const \n3111 void CPageSetupDialog::Dump(CDumpContext &)const \n3112 void CPaintDC::Dump(CDumpContext &)const \n3113 void CPen::Dump(CDumpContext &)const \n3114 void CPreviewDC::Dump(CDumpContext &)const \n3115 void CPreviewView::Dump(CDumpContext &)const \n3116 void CPrintDialog::Dump(CDumpContext &)const \n3117 void CPrintDialogEx::Dump(CDumpContext &)const \n3118 void CPropertyPage::Dump(CDumpContext &)const \n3119 void CPropertySheet::Dump(CDumpContext &)const \n3120 void CPtrArray::Dump(CDumpContext &)const \n3121 void CPtrList::Dump(CDumpContext &)const \n3122 void CRecordset::Dump(CDumpContext &)const \n3123 void CRecordView::Dump(CDumpContext &)const \n3124 void CRichEditCntrItem::Dump(CDumpContext &)const \n3125 void CRichEditDoc::Dump(CDumpContext &)const \n3126 void CRichEditView::Dump(CDumpContext &)const \n3127 void CScrollView::Dump(CDumpContext &)const \n3128 void CSingleDocTemplate::Dump(CDumpContext &)const \n3129 void CSocket::Dump(CDumpContext &)const \n3130 void CSocketFile::Dump(CDumpContext &)const \n3131 void CSplitterWnd::Dump(CDumpContext &)const \n3132 void CStatusBar::Dump(CDumpContext &)const \n3133 void CStdioFile::Dump(CDumpContext &)const \n3134 void CStringArray::Dump(CDumpContext &)const \n3135 void CStringList::Dump(CDumpContext &)const \n3136 void CSyncObject::Dump(CDumpContext &)const \n3137 void CToolBar::Dump(CDumpContext &)const \n3138 void CUIntArray::Dump(CDumpContext &)const \n3139 void CView::Dump(CDumpContext &)const \n3140 void CWinApp::Dump(CDumpContext &)const \n3141 void CWindowDC::Dump(CDumpContext &)const \n3142 void CWinThread::Dump(CDumpContext &)const \n3143 void CWnd::Dump(CDumpContext &)const \n3144 void CWordArray::Dump(CDumpContext &)const \n3145 void CMemoryState::DumpAllObjectsSince(void)const \n3146 CDumpContext & CDumpContext::DumpAsHex(__int64)\n3147 CDumpContext & CDumpContext::DumpAsHex(unsigned __int64)\n3148 CDumpContext & CDumpContext::DumpAsHex(unsigned char)\n3149 CDumpContext & CDumpContext::DumpAsHex(unsigned short)\n3150 CDumpContext & CDumpContext::DumpAsHex(int)\n3151 CDumpContext & CDumpContext::DumpAsHex(unsigned int)\n3152 CDumpContext & CDumpContext::DumpAsHex(long)\n3153 CDumpContext & CDumpContext::DumpAsHex(unsigned long)\n3154 void CRecordset::DumpFields(CDumpContext &)const \n3155 void CMemoryState::DumpStatistics(void)const \n3156 long COleControl::XDataObject::DUnadvise(unsigned long)\n3157 long COleDataSource::XDataObject::DUnadvise(unsigned long)\n3158 long COleServerDoc::XDataObject::DUnadvise(unsigned long)\n3159 long COleServerItem::XDataObject::DUnadvise(unsigned long)\n3160 CFile * CFile::Duplicate(void)const \n3161 CFile * CInternetFile::Duplicate(void)const \n3162 CFile * CMemFile::Duplicate(void)const \n3163 CFile * COleStreamFile::Duplicate(void)const \n3164 CFile * CSocketFile::Duplicate(void)const \n3165 CFile * CStdioFile::Duplicate(void)const \n3166 unsigned long const CEditView::dwStyleDefault\n3167 void CDaoRecordset::Edit(void)\n3168 void CRecordset::Edit(void)\n3169 int CHeaderCtrl::EditFilter(int,int)\n3170 CEdit * CListCtrl::EditLabel(int)\n3171 CEdit * CTreeCtrl::EditLabel(_TREEITEM *)\n3172 long COlePropertyPage::XPropertyPage::EditProperty(long)\n3173 unsigned long CRichEditView::EditStreamCallBack(unsigned long,unsigned char *,long,long *)\n3174 unsigned char & CByteArray::ElementAt(int)\n3175 unsigned long & CDWordArray::ElementAt(int)\n3176 CObject * & CObArray::ElementAt(int)\n3177 void * & CPtrArray::ElementAt(int)\n3178 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringArray::ElementAt(int)\n3179 unsigned int & CUIntArray::ElementAt(int)\n3180 unsigned short & CWordArray::ElementAt(int)\n3181 int CDC::Ellipse(int,int,int,int)\n3182 int CDC::Ellipse(tagRECT const *)\n3183 void ATL::CSimpleStringT<wchar_t,1>::Empty(void)\n3184 void ATL::CSimpleStringT<char,1>::Empty(void)\n3185 void CDBException::Empty(void)\n3186 void COleDataSource::Empty(void)\n3187 void CEdit::EmptyUndoBuffer(void)\n3188 void CRichEditCtrl::EmptyUndoBuffer(void)\n3189 void CCheckListBox::Enable(int,int)\n3190 void CCmdUI::Enable(int)\n3191 void COleCmdUI::Enable(int)\n3192 void CStatusCmdUI::Enable(int)\n3193 void CTestCmdUI::Enable(int)\n3194 void CToolCmdUI::Enable(int)\n3195 int CWinApp::Enable3dControls(void)\n3196 void CWnd::EnableActiveAccessibility(void)\n3197 void CCmdTarget::EnableAggregation(void)\n3198 void CCmdTarget::EnableAutomation(void)\n3199 void CRecordset::EnableBookmarks(void)\n3200 void COleMessageFilter::EnableBusyDialog(int)\n3201 int CToolBarCtrl::EnableButton(int,int)\n3202 void COleDocument::EnableCompoundFile(int)\n3203 void CCmdTarget::EnableConnections(void)\n3204 void CControlBar::EnableDocking(unsigned long)\n3205 void CFrameWnd::EnableDocking(unsigned long)\n3206 void CReBar::EnableDocking(unsigned long)\n3207 void CStatusBar::EnableDocking(unsigned long)\n3208 void COleControlSite::EnableDSC(void)\n3209 void CWinApp::EnableHtmlHelp(void)\n3210 unsigned int CMenu::EnableMenuItem(unsigned int,unsigned int)\n3211 long CBrowserControlSite::EnableModeless(int)\n3212 long CDHtmlDialog::EnableModeless(int)\n3213 void CWinApp::EnableModeless(int)\n3214 long CHtmlControlSite::XDocHostUIHandler::EnableModeless(int)\n3215 long COleControl::XOleInPlaceActiveObject::EnableModeless(int)\n3216 long COleServerDoc::XOleInPlaceActiveObject::EnableModeless(int)\n3217 long COleFrameHook::XOleInPlaceFrame::EnableModeless(int)\n3218 long COleControlContainer::XOleIPFrame::EnableModeless(int)\n3219 void COleMessageFilter::EnableNotRespondingDialog(int)\n3220 int CScrollBar::EnableScrollBar(unsigned int)\n3221 int CWnd::EnableScrollBar(int,unsigned int)\n3222 void CWnd::EnableScrollBarCtrl(int,int)\n3223 void CWinApp::EnableShellOpen(void)\n3224 void COleControl::EnableSimpleFrame(void)\n3225 void CPropertySheet::EnableStackedTabs(int)\n3226 int CInternetSession::EnableStatusCallback(int)\n3227 int CWnd::EnableToolTips(int)\n3228 int CWnd::EnableTrackingToolTips(int)\n3229 void CCmdTarget::EnableTypeLib(void)\n3230 int COleControlSite::EnableWindow(int)\n3231 int CWnd::EnableWindow(int)\n3232 void COleMessageFilter::EndBusyState(void)\n3233 void CAsyncMonikerFile::EndCallbacks(void)\n3234 long COleLinkingDoc::EndDeferErrors(long)\n3235 void CDialog::EndDialog(int)\n3236 void CPropertyPage::EndDialog(int)\n3237 void CPropertySheet::EndDialog(int)\n3238 int CDC::EndDoc(void)\n3239 void CDockContext::EndDrag(void)\n3240 void CImageList::EndDrag(void)\n3241 void CReBarCtrl::EndDrag(void)\n3242 int CTreeCtrl::EndEditLabelNow(int)\n3243 void CWnd::EndModalLoop(int)\n3244 void CFrameWnd::EndModalState(void)\n3245 void CWnd::EndModalState(void)\n3246 int CDC::EndPage(void)\n3247 void CWnd::EndPaint(tagPAINT*)\n3248 int CDC::EndPath(void)\n3249 int CHttpFile::EndRequest(unsigned long,_INTERNET_BUFFERSW *,unsigned long)\n3250 void CDockContext::EndResize(void)\n3251 void CCmdTarget::EndWaitCursor(void)\n3252 void COleDataObject::EnsureClipboardObject(void)\n3253 CFrameWnd * CWnd::EnsureParentFrame(void)const \n3254 void CArchive::EnsureRead(void *,unsigned int)\n3255 void CArchive::EnsureSchemaMapExists(CArray<enum CArchive::LoadArrayObjType,enum CArchive::LoadArrayObjType const &> * *)\n3256 long CWnd::EnsureStdObj(void)\n3257 CWnd * CWnd::EnsureTopLevelParent(void)const \n3258 int CListCtrl::EnsureVisible(int,int)\n3259 int CTreeCtrl::EnsureVisible(_TREEITEM *)\n3260 long CDocObjectServer::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3261 long COleControl::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3262 long COleServerDoc::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3263 long COleServerItem::XOleObject::EnumAdvise(IEnumSTATDATA * *)\n3264 long COleControl::XOleCache::EnumCache(IEnumSTATDATA * *)\n3265 int COlePropertyPage::EnumChildProc(HWND__ *,long)\n3266 long COleConnPtContainer::EnumConnectionPoints(IEnumConnectionPoints * *)\n3267 long CConnectionPoint::XConnPt::EnumConnections(IEnumConnections * *)\n3268 int COlePropertyPage::EnumControls(HWND__ *,long)\n3269 long COleControl::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3270 long COleDataSource::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3271 long COleServerDoc::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3272 long COleServerItem::XDataObject::EnumDAdvise(IEnumSTATDATA * *)\n3273 long COleControl::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3274 long COleDataSource::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3275 long COleServerDoc::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3276 long COleServerItem::XDataObject::EnumFormatEtc(unsigned long,IEnumFORMATETC * *)\n3277 int CDC::EnumObjects(int,int (__stdcall*)(void *,long),long)\n3278 long COleControlContainer::XOleContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3279 long COleLinkingDoc::XOleItemContainer::EnumObjects(unsigned long,IEnumUnknown * *)\n3280 int CCmdTarget::EnumOleVerbs(IEnumOLEVERB * *)\n3281 long CDocObjectServer::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3282 long COleControl::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3283 long COleServerDoc::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3284 long COleServerItem::XOleObject::EnumVerbs(IEnumOLEVERB * *)\n3285 long CDocObjectServer::XOleDocument::EnumViews(IEnumOleDocumentViews * *,IOleDocumentView * *)\n3286 int CRgn::EqualRgn(CRgn const *)const \n3287 void CControlBar::EraseNonClient(void)\n3288 int CFileException::ErrnoToException(int)\n3289 unsigned long CHttpFile::ErrorDlg(CWnd *,unsigned long,unsigned long,void * *)\n3290 int CDC::Escape(int,int,char const *,int,char *)\n3291 int CDC::Escape(int,int,char const *,void *)\n3292 int CMetaFileDC::Escape(int,int,char const *,void *)\n3293 int CPreviewDC::Escape(int,int,char const *,void *)\n3294 int CArchivePropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3295 int CAsyncPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3296 int CPropbagPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3297 int CPropsetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3298 int CResetPropExchange::ExchangeBlobProp(wchar_t const *,void * *,void *)\n3299 int COleControl::ExchangeExtent(CPropExchange *)\n3300 int CArchivePropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3301 int CAsyncPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3302 int CPropbagPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3303 int CPropsetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3304 int CResetPropExchange::ExchangeFontProp(wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n3305 int CArchivePropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3306 int CAsyncPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3307 int CPropbagPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3308 int CPropsetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3309 int CResetPropExchange::ExchangePersistentProp(wchar_t const *,IUnknown * *,_GUID const &,IUnknown *)\n3310 int CArchivePropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3311 int CAsyncPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3312 int CPropbagPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3313 int CPropsetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3314 int CResetPropExchange::ExchangeProp(wchar_t const *,unsigned short,void *,void const *)\n3315 void COleControl::ExchangeStockProps(CPropExchange *)\n3316 int CAsyncPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3317 int COleControl::ExchangeVersion(CPropExchange *,unsigned long,int)\n3318 int CPropExchange::ExchangeVersion(unsigned long &,unsigned long,int)\n3319 int CDC::ExcludeClipRect(int,int,int,int)\n3320 int CDC::ExcludeClipRect(tagRECT const *)\n3321 int CDC::ExcludeUpdateRgn(CWnd *)\n3322 long CDocObjectServer::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3323 long COleFrameHook::XOleCommandTarget::Exec(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n3324 long COleDocObjectItem::ExecCommand(unsigned long,unsigned long,_GUID const *)\n3325 long CHtmlView::ExecFormsCommand(unsigned long,tagVARIANT *,tagVARIANT *)\n3326 int CHtmlEditView::ExecHandler(unsigned int)\n3327 void CDaoDatabase::Execute(wchar_t const *,int)\n3328 void CDaoQueryDef::Execute(int)\n3329 int CWnd::ExecuteDlgInit(void *)\n3330 int CWnd::ExecuteDlgInit(wchar_t const *)\n3331 void CRecordset::ExecuteSetPosUpdate(void)\n3332 void CDatabase::ExecuteSQL(wchar_t const *)\n3333 void CRecordset::ExecuteUpdateSQL(void)\n3334 void CHtmlView::ExecWB(enum OLECMDID,enum OLECMDEXECOPT,tagVARIANT *,tagVARIANT *)\n3335 void CFrameWnd::ExitHelpMode(void)\n3336 int COleControlModule::ExitInstance(void)\n3337 int CWinApp::ExitInstance(void)\n3338 int CWinThread::ExitInstance(void)\n3339 int CTreeCtrl::Expand(_TREEITEM *,unsigned int)\n3340 unsigned long CCmdTarget::ExternalAddRef(void)\n3341 void CCmdTarget::ExternalDisconnect(void)\n3342 unsigned long CCmdTarget::ExternalQueryInterface(void const *,void * *)\n3343 unsigned long CCmdTarget::ExternalRelease(void)\n3344 int CDC::ExtFloodFill(int,int,unsigned long,unsigned int)\n3345 HICON__ * CImageList::ExtractIconW(int)\n3346 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3347 int CDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3348 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int *)\n3349 int CMetaFileDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3350 int CPreviewDC::ExtTextOutW(int,int,unsigned int,tagRECT const *,wchar_t const *,unsigned int,int *)\n3351 void CDataExchange::Fail(void)\n3352 long COleControlSite::XNotifyDBEvents::FailedToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n3353 short CRecordset::FetchData(unsigned short,long,unsigned long *)\n3354 void CArchive::FillBuffer(unsigned int)\n3355 void CDaoRecordset::FillCache(long *,COleVariant *)\n3356 void CDaoWorkspace::FillDatabaseInfo(DAODatabase *,CDaoDatabaseInfo &,unsigned long)\n3357 void CDaoException::FillErrorInfo(void)\n3358 unsigned long CFontDialog::FillInLogFont(_charformatw const &)\n3359 void CToolTipCtrl::FillInToolInfo(tagTOOLINFOW &,CWnd *,unsigned int)const \n3360 int COleControlContainer::FillListSitesOrWnds(_AFX_OCC_DIALOG_INFO *)\n3361 void CScrollView::FillOutsideRect(CDC *,CBrush *)\n3362 void CDaoQueryDef::FillParameterInfo(DAOParameter *,CDaoParameterInfo &,unsigned long)\n3363 int CDC::FillPath(void)\n3364 void CDaoDatabase::FillQueryDefInfo(_DAOQueryDef *,CDaoQueryDefInfo &,unsigned long)\n3365 void CDC::FillRect(tagRECT const *,CBrush *)\n3366 void CDaoDatabase::FillRelationInfo(_DAORelation *,CDaoRelationInfo &,unsigned long)\n3367 int CDC::FillRgn(CRgn *,CBrush *)\n3368 void CDC::FillSolidRect(int,int,int,int,unsigned long)\n3369 void CDC::FillSolidRect(tagRECT const *,unsigned long)\n3370 void CDaoDatabase::FillTableDefInfo(_DAOTableDef *,CDaoTableDefInfo &,unsigned long)\n3371 void CDaoFieldExchange::FillVariant(void *,unsigned long,COleVariant * *)\n3372 void CDaoWorkspace::FillWorkspaceInfo(DAOWorkspace *,CDaoWorkspaceInfo &,unsigned long)\n3373 long CBrowserControlSite::FilterDataObject(IDataObject *,IDataObject * *)\n3374 long CDHtmlDialog::FilterDataObject(IDataObject *,IDataObject * *)\n3375 long CHtmlControlSite::XDocHostUIHandler::FilterDataObject(IDataObject *,IDataObject * *)\n3376 void CWnd::FilterToolTipMessage(tagMSG *)\n3377 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t,int)const \n3378 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Find(wchar_t const *,int)const \n3379 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char,int)const \n3380 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Find(char const *,int)const \n3381 int CDaoRecordset::Find(long,wchar_t const *)\n3382 __POSITION * CObList::Find(CObject *,__POSITION *)const \n3383 __POSITION * CPtrList::Find(void *,__POSITION *)const \n3384 __POSITION * CStringList::Find(wchar_t const *,__POSITION *)const \n3385 long CRichEditView::FindAndSelect(unsigned long,_findtextexw &)\n3386 int CDockBar::FindBar(CControlBar *,int)\n3387 long COleConnPtContainer::FindConnectionPoint(_GUID const &,IConnectionPoint * *)\n3388 int CDHtmlEventSink::FindDHtmlEventEntry(DHtmlEventMapEntry const *,long,IHTMLElement * *)\n3389 int CFileFind::FindFile(wchar_t const *,unsigned long)\n3390 int CFtpFileFind::FindFile(wchar_t const *,unsigned long)\n3391 int CGopherFileFind::FindFile(CGopherLocator &,wchar_t const *,unsigned long)\n3392 int CGopherFileFind::FindFile(wchar_t const *,unsigned long)\n3393 int CDaoRecordset::FindFirst(wchar_t const *)\n3394 __POSITION * CObList::FindIndex(int)const \n3395 __POSITION * CPtrList::FindIndex(int)const \n3396 __POSITION * CStringList::FindIndex(int)const \n3397 int CListCtrl::FindItem(tagLVFINDINFOW *,int)const \n3398 COleControlSite * COleControlContainer::FindItem(unsigned int)const \n3399 int CDaoRecordset::FindLast(wchar_t const *)\n3400 int CDaoRecordset::FindNext(wchar_t const *)\n3401 int CFindReplaceDialog::FindNext(void)const \n3402 int CFileFind::FindNextFileW(void)\n3403 int CFtpFileFind::FindNextFileW(void)\n3404 int CGopherFileFind::FindNextFileW(void)\n3405 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FindOneOf(wchar_t const *)const \n3406 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FindOneOf(char const *)const \n3407 int CPreviewView::FindPageRect(CPoint &,unsigned int &)\n3408 int CDaoRecordset::FindPrev(wchar_t const *)\n3409 int CDHtmlDialog::FindSinkForObject(wchar_t const *)\n3410 __POSITION * CWnd::FindSiteOrWnd(COleControlSiteOrWnd const *)const \n3411 __POSITION * CWnd::FindSiteOrWndWithFocus(void)const \n3412 wchar_t const * CRecordset::FindSQLToken(wchar_t const *,wchar_t const *)\n3413 int CComboBox::FindString(int,wchar_t const *)const \n3414 int CComboBoxEx::FindString(int,wchar_t const *)const \n3415 int CListBox::FindString(int,wchar_t const *)const \n3416 int CComboBox::FindStringExact(int,wchar_t const *)const \n3417 int CListBox::FindStringExact(int,wchar_t const *)const \n3418 int CRichEditView::FindTextSimple(_AFX_RICHEDIT_STATE *)\n3419 int CRichEditView::FindTextSimple(wchar_t const *,int,int,int)\n3420 int CEditView::FindTextW(wchar_t const *,int,int)\n3421 long CRichEditCtrl::FindTextW(unsigned long,_findtextexw *)const \n3422 int CRichEditView::FindTextW(_AFX_RICHEDIT_STATE *)\n3423 int CRichEditView::FindTextW(wchar_t const *,int,int,int)\n3424 CWnd * CWnd::FindWindowExW(HWND__ *,HWND__ *,wchar_t const *,wchar_t const *)\n3425 CWnd * CWnd::FindWindowW(wchar_t const *,wchar_t const *)\n3426 unsigned long CRichEditCtrl::FindWordBreak(unsigned int,unsigned long)const \n3427 int COleClientItem::FinishCreate(long)\n3428 void COleControl::FireClick(void)\n3429 void COleControl::FireDblClick(void)\n3430 void COleControl::FireError(long,wchar_t const *,unsigned int)\n3431 void COleControl::FireEvent(long,unsigned char *,...)\n3432 long COleControlSite::XNotifyDBEvents::FireEvent(unsigned long,unsigned long,tagDBNOTIFYREASON * const,enum DSCSTATE)\n3433 void COleControl::FireEventV(long,unsigned char *,char *)\n3434 void COleControl::FireKeyDown(unsigned short *,short)\n3435 void COleControl::FireKeyPress(unsigned short *)\n3436 void COleControl::FireKeyUp(unsigned short *,short)\n3437 void COleControl::FireMouseDown(short,short,long,long)\n3438 void COleControl::FireMouseMove(short,short,long,long)\n3439 void COleControl::FireMouseUp(short,short,long,long)\n3440 void COleControl::FireReadyStateChange(void)\n3441 void CDaoRecordset::Fixup(void)\n3442 void CRecordset::Fixups(void)\n3443 int CWnd::FlashWindow(int)\n3444 int CDC::FlattenPath(void)\n3445 void CFrameWnd::FloatControlBar(CControlBar *,CPoint,unsigned long)\n3446 int CDC::FloodFill(int,int,unsigned long)\n3447 void CArchive::Flush(void)\n3448 void CDumpContext::Flush(void)\n3449 void CFile::Flush(void)\n3450 void CInternetFile::Flush(void)\n3451 void CMemFile::Flush(void)\n3452 void CMonikerFile::Flush(void)\n3453 void COleStreamFile::Flush(void)\n3454 void CSocketFile::Flush(void)\n3455 void CStdioFile::Flush(void)\n3456 void COleDataSource::FlushClipboard(void)\n3457 int CRecordset::FlushResultSet(void)\n3458 int CEdit::FmtLines(int)\n3459 void ATL::CSimpleStringT<wchar_t,1>::Fork(int)\n3460 void ATL::CSimpleStringT<char,1>::Fork(int)\n3461 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(unsigned int,...)\n3462 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format(wchar_t const *,...)\n3463 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(unsigned int,...)\n3464 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Format(char const *,...)\n3465 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleCurrency::Format(unsigned long,unsigned long)const \n3466 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(unsigned int,...)\n3467 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessage(wchar_t const *,...)\n3468 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(unsigned int,...)\n3469 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessage(char const *,...)\n3470 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageV(wchar_t const *,char * *)\n3471 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageV(char const *,char * *)\n3472 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(unsigned int,...)\n3473 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatMessageW(wchar_t const *,...)\n3474 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(unsigned int,...)\n3475 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatMessageW(char const *,...)\n3476 long CRichEditCtrl::FormatRange(_formatrange *,int)\n3477 void ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::FormatV(wchar_t const *,char *)\n3478 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::FormatV(char const *,char *)\n3479 void COleControl::ForwardActivationMsg(tagMSG *)\n3480 void CDC::FrameRect(tagRECT const *,CBrush *)\n3481 int CDC::FrameRgn(CRgn *,CBrush *,int,int)\n3482 void CAfxStringMgr::Free(ATL::CStringData *)\n3483 void CDatabase::Free(void)\n3484 void CFixedAlloc::Free(void *)\n3485 void CFixedAllocNoSync::Free(void *)\n3486 void CMemFile::Free(unsigned char *)\n3487 void CSharedFile::Free(unsigned char *)\n3488 void CFixedAlloc::FreeAll(void)\n3489 void CFixedAllocNoSync::FreeAll(void)\n3490 void CMapPtrToPtr::FreeAssoc(CMapPtrToPtr::CAssoc *)\n3491 void CMapPtrToWord::FreeAssoc(CMapPtrToWord::CAssoc *)\n3492 void CMapStringToOb::FreeAssoc(CMapStringToOb::CAssoc *)\n3493 void CMapStringToPtr::FreeAssoc(CMapStringToPtr::CAssoc *)\n3494 void CMapStringToString::FreeAssoc(CMapStringToString::CAssoc *)\n3495 void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc *)\n3496 void CMapWordToPtr::FreeAssoc(CMapWordToPtr::CAssoc *)\n3497 void CDaoRecordset::FreeCache(void)\n3498 void CRecordset::FreeDataCache(void)\n3499 void CPlex::FreeDataChain(void)\n3500 void ATL::CSimpleStringT<wchar_t,1>::FreeExtra(void)\n3501 void ATL::CSimpleStringT<char,1>::FreeExtra(void)\n3502 void CByteArray::FreeExtra(void)\n3503 void CDWordArray::FreeExtra(void)\n3504 void CObArray::FreeExtra(void)\n3505 void CPtrArray::FreeExtra(void)\n3506 void CStringArray::FreeExtra(void)\n3507 void CUIntArray::FreeExtra(void)\n3508 void CWordArray::FreeExtra(void)\n3509 void CObList::FreeNode(CObList::CNode *)\n3510 void CPtrList::FreeNode(CPtrList::CNode *)\n3511 void CStringList::FreeNode(CStringList::CNode *)\n3512 void CRecordset::FreeRowset(void)\n3513 void CThreadSlotData::FreeSlot(int)\n3514 void CProperty::FreeValue(void)\n3515 long COleControl::XViewObject::Freeze(unsigned long,long,void *,unsigned long *)\n3516 void COleControlContainer::FreezeAllEvents(int)\n3517 void COleControlSite::FreezeEvents(int)\n3518 long COleControl::XOleControl::FreezeEvents(int)\n3519 int COleClientItem::FreezeLink(void)\n3520 CAsyncSocket * CAsyncSocket::FromHandle(unsigned int)\n3521 CBitmap * CBitmap::FromHandle(HBITMAP__ *)\n3522 CBrush * CBrush::FromHandle(HBRUSH__ *)\n3523 CDC * CDC::FromHandle(HDC__ *)\n3524 CFont * CFont::FromHandle(HFONT__ *)\n3525 CGdiObject * CGdiObject::FromHandle(void *)\n3526 CObject * CHandleMap::FromHandle(void *)\n3527 CImageList * CImageList::FromHandle(_IMAGELIST *)\n3528 CMenu * CMenu::FromHandle(HMENU__ *)\n3529 CPalette * CPalette::FromHandle(HPALETTE__ *)\n3530 CPen * CPen::FromHandle(HPEN__ *)\n3531 CRgn * CRgn::FromHandle(HRGN__ *)\n3532 CSocket * CSocket::FromHandle(unsigned int)\n3533 CWnd * CWnd::FromHandle(HWND__ *)\n3534 CImageList * CImageList::FromHandlePermanent(_IMAGELIST *)\n3535 CMenu * CMenu::FromHandlePermanent(HMENU__ *)\n3536 CWnd * CWnd::FromHandlePermanent(HWND__ *)\n3537 CCmdTarget * CCmdTarget::FromIDispatch(IDispatch *)\n3538 CRuntime* CRuntimeClass::FromName(wchar_t const *)\n3539 CRuntime* CRuntimeClass::FromName(char const *)\n3540 void * CProperty::Get(unsigned long *)\n3541 void * CProperty::Get(void)\n3542 void * CPropertySection::Get(unsigned long)\n3543 void * CPropertySection::Get(unsigned long,unsigned long *)\n3544 void * CPropertySet::Get(_GUID,unsigned long)\n3545 void * CPropertySet::Get(_GUID,unsigned long,unsigned long *)\n3546 long CWnd::get_accChild(tagVARIANT,IDispatch * *)\n3547 long CWnd::XAccessible::get_accChild(tagVARIANT,IDispatch * *)\n3548 long CWnd::get_accChildCount(long *)\n3549 long CWnd::XAccessible::get_accChildCount(long *)\n3550 long CCheckListBox::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3551 long CWnd::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3552 long CWnd::XAccessible::get_accDefaultAction(tagVARIANT,wchar_t * *)\n3553 long CWnd::get_accDescription(tagVARIANT,wchar_t * *)\n3554 long CWnd::XAccessible::get_accDescription(tagVARIANT,wchar_t * *)\n3555 long CWnd::get_accFocus(tagVARIANT *)\n3556 long CWnd::XAccessible::get_accFocus(tagVARIANT *)\n3557 long CWnd::get_accHelp(tagVARIANT,wchar_t * *)\n3558 long CWnd::XAccessible::get_accHelp(tagVARIANT,wchar_t * *)\n3559 long CWnd::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3560 long CWnd::XAccessible::get_accHelpTopic(wchar_t * *,tagVARIANT,long *)\n3561 long CWnd::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3562 long CWnd::XAccessible::get_accKeyboardShortcut(tagVARIANT,wchar_t * *)\n3563 long CToolBar::get_accName(tagVARIANT,wchar_t * *)\n3564 long CWnd::get_accName(tagVARIANT,wchar_t * *)\n3565 long CWnd::XAccessible::get_accName(tagVARIANT,wchar_t * *)\n3566 long CWnd::get_accParent(IDispatch * *)\n3567 long CWnd::XAccessible::get_accParent(IDispatch * *)\n3568 long CCheckListBox::get_accRole(tagVARIANT,tagVARIANT *)\n3569 long CWnd::get_accRole(tagVARIANT,tagVARIANT *)\n3570 long CWnd::XAccessible::get_accRole(tagVARIANT,tagVARIANT *)\n3571 long CWnd::get_accSelection(tagVARIANT *)\n3572 long CWnd::XAccessible::get_accSelection(tagVARIANT *)\n3573 long CCheckListBox::get_accState(tagVARIANT,tagVARIANT *)\n3574 long CWnd::get_accState(tagVARIANT,tagVARIANT *)\n3575 long CWnd::XAccessible::get_accState(tagVARIANT,tagVARIANT *)\n3576 long CWnd::get_accValue(tagVARIANT,wchar_t * *)\n3577 long CWnd::XAccessible::get_accValue(tagVARIANT,wchar_t * *)\n3578 long CDaoRecordset::GetAbsolutePosition(void)\n3579 unsigned int CSpinButtonCtrl::GetAccel(int,_UDACCEL *)const \n3580 long CWnd::GetAccessibilityHitTest(long,long,tagVARIANT *)\n3581 long CWnd::GetAccessibilityLocation(tagVARIANT,long *,long *,long *,long *)\n3582 long CWnd::GetAccessibleChild(tagVARIANT,IDispatch * *)\n3583 long CWnd::GetAccessibleChildCount(void)\n3584 long CWnd::GetAccessibleName(tagVARIANT,wchar_t * *)\n3585 unsigned long COleControl::GetActivationPolicy(void)\n3586 long COleControl::XPointerInactive::GetActivationPolicy(unsigned long *)\n3587 CDocument * CFrameWnd::GetActiveDocument(void)\n3588 CFrameWnd * CFrameWnd::GetActiveFrame(void)\n3589 CFrameWnd * CMDIFrameWnd::GetActiveFrame(void)\n3590 int CPropertySheet::GetActiveIndex(void)const \n3591 CPropertyPage * CPropertySheet::GetActivePage(void)const \n3592 CWnd * CSplitterWnd::GetActivePane(int &,int &)\n3593 CWnd * CSplitterWnd::GetActivePane(int *,int *)\n3594 CView * CFrameWnd::GetActiveView(void)const \n3595 CView * COleClientItem::GetActiveView(void)const \n3596 IOleDocumentView * COleDocObjectItem::GetActiveView(void)const \n3597 CRichEditView * CRichEditCntrItem::GetActiveView(void)\n3598 CWnd * CWnd::GetActiveWindow(void)\n3599 int CIPAddressCtrl::GetAddress(unsigned char &,unsigned char &,unsigned char &,unsigned char &)const \n3600 int CIPAddressCtrl::GetAddress(unsigned long &)const \n3601 int CHtmlView::GetAddressBar(void)const \n3602 long COleControl::XViewObject::GetAdvise(unsigned long *,unsigned long *,IAdviseSink * *)\n3603 int ATL::CSimpleStringT<wchar_t,1>::GetAllocLength(void)const \n3604 int ATL::CSimpleStringT<char,1>::GetAllocLength(void)const \n3605 COleDispatchDriver * COleControl::GetAmbientDispatchDriver(void)\n3606 int COleControlContainer::GetAmbientProp(COleControlSite *,long,tagVARIANT *)\n3607 int COleControl::GetAmbientProperty(long,unsigned short,void *)\n3608 int CToolBarCtrl::GetAnchorHighlight(void)const \n3609 int CListBox::GetAnchorIndex(void)const \n3610 short COleControl::GetAppearance(void)\n3611 IDispatch * CHtmlView::GetApplication(void)const \n3612 HKEY__ * CWinApp::GetAppRegistryKey(void)\n3613 int CDC::GetArcDirection(void)const \n3614 CSize CDC::GetAspectRatioFilter(void)const \n3615 CMapPtrToPtr::CAssoc * CMapPtrToPtr::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3616 CMapPtrToWord::CAssoc * CMapPtrToWord::GetAssocAt(void *,unsigned int &,unsigned int &)const \n3617 CMapStringToOb::CAssoc * CMapStringToOb::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3618 CMapStringToPtr::CAssoc * CMapStringToPtr::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3619 CMapStringToString::CAssoc * CMapStringToString::GetAssocAt(wchar_t const *,unsigned int &,unsigned int &)const \n3620 CMapWordToOb::CAssoc * CMapWordToOb::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3621 CMapWordToPtr::CAssoc * CMapWordToPtr::GetAssocAt(unsigned short,unsigned int &,unsigned int &)const \n3622 wchar_t ATL::CSimpleStringT<wchar_t,1>::GetAt(int)const \n3623 char ATL::CSimpleStringT<char,1>::GetAt(int)const \n3624 unsigned char CByteArray::GetAt(int)const \n3625 unsigned long CDWordArray::GetAt(int)const \n3626 CObject * CObArray::GetAt(int)const \n3627 CObject * & CObList::GetAt(__POSITION *)\n3628 CObject const * CObList::GetAt(__POSITION *)const \n3629 void * CPtrArray::GetAt(int)const \n3630 void * & CPtrList::GetAt(__POSITION *)\n3631 void const * CPtrList::GetAt(__POSITION *)const \n3632 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringArray::GetAt(int)const \n3633 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetAt(__POSITION *)\n3634 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetAt(__POSITION *)const \n3635 unsigned int CUIntArray::GetAt(int)const \n3636 unsigned short CWordArray::GetAt(int)const \n3637 int CGopherConnection::GetAttribute(CGopherLocator &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3638 long CDaoTableDef::GetAttributes(void)\n3639 unsigned long COleControl::GetBackColor(void)\n3640 void CReBarCtrl::GetBandBorders(unsigned int,tagRECT *)const \n3641 unsigned int CReBarCtrl::GetBandCount(void)const \n3642 int CReBarCtrl::GetBandInfo(unsigned int,tagREBARBANDINFOW *)const \n3643 unsigned long CProgressCtrl::GetBarColor(void)const \n3644 unsigned int CReBarCtrl::GetBarHeight(void)const \n3645 void CControlBar::GetBarInfo(CControlBarInfo *)\n3646 void CDockBar::GetBarInfo(CControlBarInfo *)\n3647 int CReBarCtrl::GetBarInfo(tagREBARINFO *)const \n3648 unsigned long CControlBar::GetBarStyle(void)\n3649 unsigned int CSpinButtonCtrl::GetBase(void)const \n3650 unsigned long CAsyncMonikerFile::GetBindInfo(void)const \n3651 IBinding * CAsyncMonikerFile::GetBinding(void)const \n3652 int CBitmap::GetBitmap(tagBITMAP *)\n3653 HBITMAP__ * CButton::GetBitmap(void)const \n3654 HBITMAP__ * CStatic::GetBitmap(void)const \n3655 int CToolBarCtrl::GetBitmap(int)const \n3656 unsigned long CBitmap::GetBitmapBits(unsigned long,void *)const \n3657 CSize CBitmap::GetBitmapDimension(void)const \n3658 unsigned int CToolBarCtrl::GetBitmapFlags(void)const \n3659 int CHeaderCtrl::GetBitmapMargin(void)const \n3660 unsigned long CDC::GetBkColor(void)const \n3661 unsigned long CImageList::GetBkColor(void)const \n3662 unsigned long CListCtrl::GetBkColor(void)const \n3663 unsigned long CProgressCtrl::GetBkColor(void)const \n3664 unsigned long CReBarCtrl::GetBkColor(void)const \n3665 unsigned long CTreeCtrl::GetBkColor(void)const \n3666 int CListCtrl::GetBkImage(tagLVBKIMAGEW *)const \n3667 int CDC::GetBkMode(void)const \n3668 void * CBlobProperty::GetBlob(void)\n3669 COleVariant CDaoRecordset::GetBookmark(void)\n3670 void CRecordset::GetBookmark(CDBVariant &)\n3671 unsigned long CDatabase::GetBookmarkPersistence(void)const \n3672 long COleFrameHook::XOleInPlaceFrame::GetBorder(tagRECT *)\n3673 long COleControlContainer::XOleIPFrame::GetBorder(tagRECT *)\n3674 CRect CControlBar::GetBorders(void)const \n3675 int CStatusBarCtrl::GetBorders(int &,int &,int &)const \n3676 int CStatusBarCtrl::GetBorders(int *)const \n3677 short COleControl::GetBorderStyle(void)\n3678 long CDataSourceControl::GetBoundClientRow(void)\n3679 int CRecordset::GetBoundFieldIndex(void *)\n3680 int CRecordset::GetBoundParamIndex(void *)\n3681 unsigned int CDC::GetBoundsRect(tagRECT *,unsigned int)\n3682 CPoint CDC::GetBrushOrg(void)const \n3683 CSize CToolTipCtrl::GetBubbleSize(tagTOOLINFOW *)const \n3684 CWnd * CSliderCtrl::GetBuddy(int)const \n3685 CWnd * CSpinButtonCtrl::GetBuddy(void)const \n3686 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(int)\n3687 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBuffer(void)\n3688 char * ATL::CSimpleStringT<char,1>::GetBuffer(int)\n3689 char * ATL::CSimpleStringT<char,1>::GetBuffer(void)\n3690 unsigned int CEditView::GetBufferLength(void)const \n3691 unsigned int CFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3692 unsigned int CMemFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3693 unsigned int CSocketFile::GetBufferPtr(unsigned int,unsigned int,void * *,void * *)\n3694 wchar_t * ATL::CSimpleStringT<wchar_t,1>::GetBufferSetLength(int)\n3695 char * ATL::CSimpleStringT<char,1>::GetBufferSetLength(int)\n3696 int CHtmlView::GetBusy(void)const \n3697 int CToolBarCtrl::GetButton(int,_TBBUTTON *)const \n3698 int CToolBarCtrl::GetButtonCount(void)const \n3699 void CToolBar::GetButtonInfo(int,unsigned int &,unsigned int &,int &)const \n3700 int CToolBarCtrl::GetButtonInfo(int,TBBUTTONINFOW *)const \n3701 unsigned long CToolBarCtrl::GetButtonSize(void)const \n3702 unsigned int CButton::GetButtonStyle(void)const \n3703 unsigned int CToolBar::GetButtonStyle(int)const \n3704 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CToolBar::GetButtonText(int)const \n3705 void CToolBar::GetButtonText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3706 void COleSafeArray::GetByteArray(CByteArray &)\n3707 void COleVariant::GetByteArrayFromVariantArray(CByteArray &)\n3708 unsigned short CPropertySet::GetByteOrder(void)\n3709 int COleClientItem::GetCachedExtent(tagSIZE *,enum tagDVASPECT)\n3710 AFX_DATACACHE_ENTRY * COleDataSource::GetCacheEntry(tagFORMATETC *,enum tagDATADIR)\n3711 long CDaoRecordset::GetCacheSize(void)\n3712 COleVariant CDaoRecordset::GetCacheStart(void)\n3713 CDaoFieldCache * CDaoFieldExchange::GetCacheValue(CDaoRecordset *,void *)\n3714 int CMonthCalCtrl::GetCalendarBorder(void)const \n3715 int CMonthCalCtrl::GetCalendarCount(void)const \n3716 int CMonthCalCtrl::GetCalendarGridInfo(tagMCGRIDINFO *)const \n3717 unsigned long CMonthCalCtrl::GetCalID(void)const \n3718 unsigned int CListCtrl::GetCallbackMask(void)const \n3719 long COleControl::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3720 long COleDataSource::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3721 long COleServerDoc::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3722 long COleServerItem::XDataObject::GetCanonicalFormatEtc(tagFORMATETC *,tagFORMATETC *)\n3723 CWnd * COleControl::GetCapture(void)\n3724 CWnd * CWnd::GetCapture(void)\n3725 long COleControlSite::XOleIPSite::GetCapture(void)\n3726 int CListBox::GetCaretIndex(void)const \n3727 CPoint CWnd::GetCaretPos(void)\n3728 void CSliderCtrl::GetChannelRect(tagRECT *)const \n3729 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABC *)const \n3730 int CDC::GetCharABCWidthsW(unsigned int,unsigned int,_ABCFLOAT *)const \n3731 unsigned long CDC::GetCharacterPlacementW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,tagGCP_RESULTSW *,unsigned long)const \n3732 unsigned long CDC::GetCharacterPlacementW(wchar_t const *,int,int,tagGCP_RESULTSW *,unsigned long)const \n3733 void CFontDialog::GetCharFormat(_charformatw &)const \n3734 CHARFORMAT2W & CRichEditView::GetCharFormatSelection(void)\n3735 CPoint CRichEditCtrl::GetCharPos(long)const \n3736 int CDC::GetCharWidthW(unsigned int,unsigned int,int *)const \n3737 int CDC::GetCharWidthW(unsigned int,unsigned int,float *)const \n3738 int CButton::GetCheck(void)const \n3739 int CCheckListBox::GetCheck(int)\n3740 int CListCtrl::GetCheck(int)const \n3741 int CTreeCtrl::GetCheck(_TREEITEM *)const \n3742 int CWnd::GetCheckedRadioButton(int,int)const \n3743 unsigned int CCheckListBox::GetCheckStyle(void)\n3744 _TREEITEM * CTreeCtrl::GetChildItem(_TREEITEM *)const \n3745 long CBlobProperty::GetClassID(_GUID *)\n3746 void COleClientItem::GetClassID(_GUID *)const \n3747 _GUID const & COleConvertDialog::GetClassID(void)const \n3748 _GUID const & COleInsertDialog::GetClassID(void)const \n3749 _GUID const & COleObjectFactory::GetClassID(void)const \n3750 _GUID CPropertySet::GetClassID(void)\n3751 long COleLinkingDoc::XPersistFile::GetClassID(_GUID *)\n3752 long COleControl::XPersistMemory::GetClassID(_GUID *)\n3753 long COleControl::XPersistPropertyBag::GetClassID(_GUID *)\n3754 long COleControl::XPersistStorage::GetClassID(_GUID *)\n3755 long COleServerDoc::XPersistStorage::GetClassID(_GUID *)\n3756 long COleControl::XPersistStreamInit::GetClassID(_GUID *)\n3757 long COleControl::XProvideClassInfo::GetClassInfoW(ITypeInfo * *)\n3758 long AFX_COM::GetClassObject(_GUID const &,_GUID const &,void * *)\n3759 void COleControl::GetClientOffset(long *,long *)const \n3760 void COleControl::GetClientRect(tagRECT *)const \n3761 void CWnd::GetClientRect(tagRECT *)const \n3762 IOleClientSite * COleClientItem::GetClientSite(void)\n3763 IOleClientSite * COleControl::GetClientSite(void)\n3764 IOleClientSite * COleServerDoc::GetClientSite(void)const \n3765 IOleClientSite * CRichEditCntrItem::GetClientSite(void)\n3766 long CDocObjectServer::XOleObject::GetClientSite(IOleClientSite * *)\n3767 long COleControl::XOleObject::GetClientSite(IOleClientSite * *)\n3768 long COleServerDoc::XOleObject::GetClientSite(IOleClientSite * *)\n3769 long COleServerItem::XOleObject::GetClientSite(IOleClientSite * *)\n3770 void COleClientItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3771 void COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *)\n3772 long CRichEditView::GetClipboardData(_charrange *,unsigned long,IDataObject *,IDataObject * *)\n3773 long CDocObjectServer::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3774 long COleControl::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3775 long COleServerDoc::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3776 long COleServerItem::XOleObject::GetClipboardData(unsigned long,IDataObject * *)\n3777 long CRichEditView::XRichEditOleCallback::GetClipboardData(_charrange *,unsigned long,IDataObject * *)\n3778 COleDataSource * COleDataSource::GetClipboardOwner(void)\n3779 CWnd * CWnd::GetClipboardOwner(void)\n3780 CWnd * CWnd::GetClipboardViewer(void)\n3781 int CDC::GetClipBox(tagRECT *)const \n3782 int CMetaFileDC::GetClipBox(tagRECT *)const \n3783 unsigned long CColorDialog::GetColor(void)const \n3784 unsigned long CFontDialog::GetColor(void)const \n3785 unsigned long CMonthCalCtrl::GetColor(int)const \n3786 int CDC::GetColorAdjustment(tagCOLORADJUSTMENT *)const \n3787 int CReBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n3788 int CToolBarCtrl::GetColorScheme(tagCOLORSCHEME *)const \n3789 long COleControl::XViewObject::GetColorSet(unsigned long,long,void *,tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n3790 int CListCtrl::GetColumn(int,tagLVCOLUMNW *)const \n3791 int CSplitterWnd::GetColumnCount(void)const \n3792 void CSplitterWnd::GetColumnInfo(int,int &,int &)const \n3793 int CListCtrl::GetColumnOrderArray(int *,int)const \n3794 int CListCtrl::GetColumnWidth(int)const \n3795 CComboBox * CComboBoxEx::GetComboBoxCtrl(void)const \n3796 AFX_OLECMDMAP const * CCmdTarget::GetCommandMap(void)const \n3797 AFX_OLECMDMAP const * COleDocObjectItem::GetCommandMap(void)const \n3798 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetConnect(void)\n3799 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetConnect(void)\n3800 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetConnect(void)\n3801 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDatabase::GetConnect(void)const \n3802 void CDatabase::GetConnectInfo(void)\n3803 int CConnectionPoint::GetConnectionCount(void)\n3804 IConnectionPoint * CCmdTarget::GetConnectionHook(_GUID const &)\n3805 IConnectionPoint * COleControl::GetConnectionHook(_GUID const &)\n3806 long CConnectionPoint::XConnPt::GetConnectionInterface(_GUID *)\n3807 AFX_CONNECTIONMAP const * CCmdTarget::GetConnectionMap(void)const \n3808 AFX_CONNECTIONMAP const * COleControl::GetConnectionMap(void)const \n3809 long CConnectionPoint::XConnPt::GetConnectionPointContainer(IConnectionPointContainer * *)\n3810 CPtrArray const * CConnectionPoint::GetConnections(void)\n3811 IConnectionPointContainer * CConnectionPoint::GetContainer(void)\n3812 IDispatch * CHtmlView::GetContainer(void)const \n3813 IOleItemContainer * COleDocument::GetContainer(void)\n3814 IOleItemContainer * COleLinkingDoc::GetContainer(void)\n3815 long COleClientItem::XOleClientSite::GetContainer(IOleContainer * *)\n3816 long COleControlSite::XOleClientSite::GetContainer(IOleContainer * *)\n3817 long COleControl::XQuickActivate::GetContentExtent(tagSIZE *)\n3818 unsigned long CInternetConnection::GetContext(void)const \n3819 unsigned long CInternetFile::GetContext(void)const \n3820 unsigned long CInternetSession::GetContext(void)const \n3821 HMENU__ * CRichEditView::GetContextMenu(unsigned short,IOleObject *,_charrange *)\n3822 long CRichEditView::XRichEditOleCallback::GetContextMenu(unsigned short,IOleObject *,_charrange *,HMENU__ * *)\n3823 COleControl * CDataPathProperty::GetControl(void)\n3824 CControlBar * CFrameWnd::GetControlBar(unsigned int)\n3825 COleControlContainer * CWnd::GetControlContainer(void)\n3826 long CDHtmlDialog::GetControlDispatch(wchar_t const *,IDispatch * *)\n3827 unsigned long COleControl::GetControlFlags(void)\n3828 void COleControlSite::GetControlInfo(void)\n3829 long COleControl::XOleControl::GetControlInfo(tagCONTROLINFO *)\n3830 COleDocIPFrameWnd * CDocObjectServer::GetControllingFrame(void)const \n3831 IUnknown * CCmdTarget::GetControllingUnknown(void)\n3832 tagVARIANT CDHtmlDialog::GetControlProperty(IDispatch *,long)\n3833 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,wchar_t const *)\n3834 tagVARIANT CDHtmlDialog::GetControlProperty(wchar_t const *,long)\n3835 void COleControl::GetControlSize(int *,int *)\n3836 int COlePropertyPage::GetControlStatus(unsigned int)\n3837 IUnknown * CWnd::GetControlUnknown(void)\n3838 long COlePropertiesDialog::XOleUIObjInfo::GetConvertInfo(unsigned long,_GUID *,unsigned short *,_GUID *,_GUID * *,unsigned int *)\n3839 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3840 int CInternetSession::GetCookie(wchar_t const *,wchar_t const *,wchar_t *,unsigned long)\n3841 unsigned long CInternetSession::GetCookieLength(wchar_t const *,wchar_t const *)\n3842 int CPrintDialog::GetCopies(void)const \n3843 int CPrintDialogEx::GetCopies(void)const \n3844 int CByteArray::GetCount(void)const \n3845 int CComboBox::GetCount(void)const \n3846 int CControlBar::GetCount(void)const \n3847 int CDWordArray::GetCount(void)const \n3848 int CListBox::GetCount(void)const \n3849 int CMapPtrToPtr::GetCount(void)const \n3850 int CMapPtrToWord::GetCount(void)const \n3851 int CMapStringToOb::GetCount(void)const \n3852 int CMapStringToPtr::GetCount(void)const \n3853 int CMapStringToString::GetCount(void)const \n3854 int CMapWordToOb::GetCount(void)const \n3855 int CMapWordToPtr::GetCount(void)const \n3856 int CObArray::GetCount(void)const \n3857 int CObList::GetCount(void)const \n3858 unsigned long CPropertySection::GetCount(void)\n3859 unsigned long CPropertySet::GetCount(void)\n3860 int CPtrArray::GetCount(void)const \n3861 int CPtrList::GetCount(void)const \n3862 int CStringArray::GetCount(void)const \n3863 int CStringList::GetCount(void)const \n3864 unsigned int CTreeCtrl::GetCount(void)const \n3865 int CUIntArray::GetCount(void)const \n3866 int CWordArray::GetCount(void)const \n3867 int CListCtrl::GetCountPerPage(void)const \n3868 int CFileFind::GetCreationTime(ATL::CTime &)const \n3869 int CFileFind::GetCreationTime(_FILETIME *)const \n3870 int CGopherFileFind::GetCreationTime(ATL::CTime &)const \n3871 int CGopherFileFind::GetCreationTime(_FILETIME *)const \n3872 long COleLinkingDoc::XPersistFile::GetCurFile(wchar_t * *)\n3873 int CTabCtrl::GetCurFocus(void)const \n3874 CBitmap * CDC::GetCurrentBitmap(void)const \n3875 CBrush * CDC::GetCurrentBrush(void)const \n3876 int CFtpConnection::GetCurrentDirectoryAsURL(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3877 int CFtpConnection::GetCurrentDirectoryAsURL(wchar_t *,unsigned long *)const \n3878 int CFtpConnection::GetCurrentDirectoryW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n3879 int CFtpConnection::GetCurrentDirectoryW(wchar_t *,unsigned long *)const \n3880 CFont * CDC::GetCurrentFont(void)const \n3881 void CFontDialog::GetCurrentFont(tagLOGFONTW *)\n3882 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetCurrentIndex(void)\n3883 tagMSG const * CWnd::GetCurrentMessage(void)\n3884 CPalette * CDC::GetCurrentPalette(void)const \n3885 CPen * CDC::GetCurrentPen(void)const \n3886 CPoint CDC::GetCurrentPosition(void)const \n3887 int CToolTipCtrl::GetCurrentTool(tagTOOLINFOW *)const \n3888 void CDHtmlDialog::GetCurrentUrl(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n3889 unsigned long CMonthCalCtrl::GetCurrentView(void)const \n3890 int CComboBox::GetCurSel(void)const \n3891 int CListBox::GetCurSel(void)const \n3892 int CMonthCalCtrl::GetCurSel(ATL::COleDateTime &)const \n3893 int CMonthCalCtrl::GetCurSel(ATL::CTime &)const \n3894 int CMonthCalCtrl::GetCurSel(_SYSTEMTIME *)const \n3895 int CTabCtrl::GetCurSel(void)const \n3896 HICON__ * CButton::GetCursor(void)\n3897 IUnknown * CDataBoundProperty::GetCursor(void)\n3898 IUnknown * CDataSourceControl::GetCursor(void)\n3899 long COleControlSite::GetCursor(long,IUnknown * *,void * *)\n3900 HICON__ * CStatic::GetCursor(void)\n3901 long COleControlSite::XBoundObjectSite::GetCursor(long,ICursor * *,void * *)\n3902 int CDatabase::GetCursorCommitBehavior(void)const \n3903 int CDatabase::GetCursorRollbackBehavior(void)const \n3904 ATL::CStringData * ATL::CSimpleStringT<wchar_t,1>::GetData(void)const \n3905 ATL::CStringData * ATL::CSimpleStringT<char,1>::GetData(void)const \n3906 unsigned char * CByteArray::GetData(void)\n3907 unsigned char const * CByteArray::GetData(void)const \n3908 unsigned long * CDWordArray::GetData(void)\n3909 unsigned long const * CDWordArray::GetData(void)const \n3910 CObject * * CObArray::GetData(void)\n3911 CObject const * * CObArray::GetData(void)const \n3912 int COleDataObject::GetData(unsigned short,tagSTGMEDIUM *,tagFORMATETC *)\n3913 CNoTrackObject * CProcessLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n3914 void * * CPtrArray::GetData(void)\n3915 void const * * CPtrArray::GetData(void)const \n3916 long CRecordset::GetData(CDatabase *,void *,short,short,void *,long,short)\n3917 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > * CStringArray::GetData(void)\n3918 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const * CStringArray::GetData(void)const \n3919 CNoTrackObject * CThreadLocalObject::GetData(CNoTrackObject * (__stdcall*)(void))\n3920 unsigned int * CUIntArray::GetData(void)\n3921 unsigned int const * CUIntArray::GetData(void)const \n3922 unsigned short * CWordArray::GetData(void)\n3923 unsigned short const * CWordArray::GetData(void)const \n3924 long COleControl::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3925 long COleDataSource::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3926 long COleServerDoc::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3927 long COleServerItem::XDataObject::GetData(tagFORMATETC *,tagSTGMEDIUM *)\n3928 void CDaoRecordset::GetDataAndFixupNulls(void)\n3929 short CDaoWorkspace::GetDatabaseCount(void)\n3930 void CDaoWorkspace::GetDatabaseInfo(int,CDaoDatabaseInfo &,unsigned long)\n3931 void CDaoWorkspace::GetDatabaseInfo(wchar_t const *,CDaoDatabaseInfo &,unsigned long)\n3932 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDatabase::GetDatabaseName(void)const \n3933 void * CRecordset::GetDataBuffer(CDBVariant &,short,long *,short,unsigned long)\n3934 long COleControl::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3935 long COleDataSource::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3936 long COleServerDoc::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3937 long COleServerItem::XDataObject::GetDataHere(tagFORMATETC *,tagSTGMEDIUM *)\n3938 CNoTrackObject * CThreadLocalObject::GetDataNA(void)\n3939 IDataObject * COleServerItem::GetDataObject(void)\n3940 COleControl::CControlDataSource * COleControl::GetDataSource(void)\n3941 COleDataSource * COleServerItem::GetDataSource(void)\n3942 ATL::COleDateTime CDaoQueryDef::GetDateCreated(void)\n3943 ATL::COleDateTime CDaoRecordset::GetDateCreated(void)\n3944 ATL::COleDateTime CDaoTableDef::GetDateCreated(void)\n3945 ATL::COleDateTime CDaoQueryDef::GetDateLastUpdated(void)\n3946 ATL::COleDateTime CDaoRecordset::GetDateLastUpdated(void)\n3947 ATL::COleDateTime CDaoTableDef::GetDateLastUpdated(void)\n3948 int CDateTimeCtrl::GetDateTimePickerInfo(tagDATETIMEPICKERINFO *)const \n3949 CDC * COleControl::GetDC(tagRECT const *,unsigned long)\n3950 CDC * CWnd::GetDC(void)\n3951 long COleControlSite::XOleIPSite::GetDC(tagRECT const *,unsigned long,HDC__ * *)\n3952 CDC * CWnd::GetDCEx(CRgn *,unsigned long)\n3953 HACCEL__ * CDocument::GetDefaultAccelerator(void)\n3954 HACCEL__ * CFrameWnd::GetDefaultAccelerator(void)\n3955 HACCEL__ * COleServerDoc::GetDefaultAccelerator(void)\n3956 unsigned long CRichEditCtrl::GetDefaultCharFormat(_charformatw &)const \n3957 unsigned long CRichEditCtrl::GetDefaultCharFormat(CHARFORMAT2W &)const \n3958 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultConnect(void)\n3959 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultDBName(void)\n3960 short CRecordset::GetDefaultFieldType(short)\n3961 unsigned int CMenu::GetDefaultItem(unsigned int,int)\n3962 HMENU__ * CDocument::GetDefaultMenu(void)\n3963 HMENU__ * COleServerDoc::GetDefaultMenu(void)\n3964 int CPrintDialog::GetDefaults(void)\n3965 int CPrintDialogEx::GetDefaults(void)\n3966 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetDefaultSQL(void)\n3967 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRecordset::GetDefaultSQL(void)\n3968 unsigned long COccManager::GetDefBtnCode(CWnd *)\n3969 unsigned long COleControlSite::GetDefBtnCode(void)\n3970 unsigned long CDialog::GetDefID(void)const \n3971 int CToolTipCtrl::GetDelayTime(unsigned long)const \n3972 int CDumpContext::GetDepth(void)const \n3973 CWnd * CWnd::GetDescendantWindow(int,int)const \n3974 CWnd * CWnd::GetDescendantWindow(HWND__ *,int,int)\n3975 CWnd * CWnd::GetDesktopWindow(void)\n3976 int CDC::GetDeviceCaps(int)const \n3977 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDeviceName(void)const \n3978 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDeviceName(void)const \n3979 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDeviceName(void)const \n3980 CPoint CScrollView::GetDeviceScrollPosition(void)const \n3981 void CScrollView::GetDeviceScrollSizes(int &,tagSIZE &,tagSIZE &,tagSIZE &)const \n3982 _devicemodeW * CPageSetupDialog::GetDevMode(void)const \n3983 _devicemodeW * CPrintDialog::GetDevMode(void)const \n3984 _devicemodeW * CPrintDialogEx::GetDevMode(void)const \n3985 unsigned int CHtmlEditView::GetDHtmlCommandMapping(unsigned int,int &,unsigned int &)\n3986 long CDHtmlDialog::GetDHtmlDocument(IHTMLDocument2 * *)\n3987 int CHtmlEditCtrl::GetDHtmlDocument(IHTMLDocument2 * *)const \n3988 int CHtmlEditView::GetDHtmlDocument(IHTMLDocument2 * *)const \n3989 DHtmlEventMapEntry const * GetDHtmlEventMap(void)\n3990 DHtmlEventMapEntry const * CDHtmlDialog::GetDHtmlEventMap(void)\n3991 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetDHtmlEventMap(void)\n3992 unsigned long COleSafeArray::GetDim(void)\n3993 CImageList * CToolBarCtrl::GetDisabledImageList(void)const \n3994 int CCmdTarget::GetDispatchIID(_GUID *)\n3995 int COleControl::GetDispatchIID(_GUID *)\n3996 AFX_DISPMAP const * CCmdTarget::GetDispatchMap(void)const \n3997 AFX_DISPMAP const * COleControlContainer::GetDispatchMap(void)const \n3998 AFX_DISPMAP_ENTRY const * CCmdTarget::GetDispEntry(long)\n3999 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetDisplayName(void)\n4000 int CRecentFileList::GetDisplayName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,wchar_t const *,int,int)const \n4001 int CFontHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4002 int CPictureHolder::GetDisplayString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4003 long COleControl::XPerPropertyBrowsing::GetDisplayString(long,wchar_t * *)\n4004 int COleControlSite::GetDlgCtrlID(void)const \n4005 int CWnd::GetDlgCtrlID(void)const \n4006 CWnd * COleControlContainer::GetDlgItem(int)const \n4007 void COleControlContainer::GetDlgItem(int,HWND__ * *)const \n4008 CWnd * CWnd::GetDlgItem(int)const \n4009 void CWnd::GetDlgItem(int,HWND__ * *)const \n4010 unsigned int COleControlContainer::GetDlgItemInt(int,int *,int)const \n4011 unsigned int CWnd::GetDlgItemInt(int,int *,int)const \n4012 int COleControlContainer::GetDlgItemTextW(int,wchar_t *,int)const \n4013 int CWnd::GetDlgItemTextW(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4014 int CWnd::GetDlgItemTextW(int,wchar_t *,int)const \n4015 CFrameWnd * COleIPFrameWnd::GetDocFrame(void)\n4016 CDockBar * CDockContext::GetDockBar(unsigned long)\n4017 CControlBar * CDockBar::GetDockedControlBar(int)const \n4018 int CDockBar::GetDockedCount(void)const \n4019 int CDockBar::GetDockedVisibleCount(void)const \n4020 CFrameWnd * CControlBar::GetDockingFrame(void)const \n4021 void CFrameWnd::GetDockState(CDockState &)const \n4022 long CDocObjectServer::XOleDocument::GetDocMiscStatus(unsigned long *)\n4023 CDocObjectServer * COleServerDoc::GetDocObjectServer(IOleDocumentSite *)\n4024 int CDocTemplate::GetDocString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,enum CDocTemplate::DocStringIndex)const \n4025 CDocTemplate * CDocument::GetDocTemplate(void)const \n4026 CDocument * CDocItem::GetDocument(void)const \n4027 COleDocument * COleClientItem::GetDocument(void)const \n4028 COleServerDoc * COleServerItem::GetDocument(void)const \n4029 CRichEditDoc * CRichEditCntrItem::GetDocument(void)\n4030 CRichEditDoc * CRichEditView::GetDocument(void)const \n4031 CDocument * CView::GetDocument(void)const \n4032 long CDocObjectServer::XOleDocumentView::GetDocument(IUnknown * *)\n4033 int CDocManager::GetDocumentCount(void)\n4034 long CRichEditView::XRichEditOleCallback::GetDragDropEffect(int,unsigned long,unsigned long *)\n4035 CImageList * CImageList::GetDragImage(tagPOINT *,tagPOINT *)\n4036 enum tagDVASPECT COleClientItem::GetDrawAspect(void)const \n4037 enum tagDVASPECT COleConvertDialog::GetDrawAspect(void)const \n4038 enum tagDVASPECT COleInsertDialog::GetDrawAspect(void)const \n4039 enum tagDVASPECT COlePasteSpecialDialog::GetDrawAspect(void)const \n4040 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetDriverName(void)const \n4041 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetDriverName(void)const \n4042 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetDriverName(void)const \n4043 _TREEITEM * CTreeCtrl::GetDropHilightItem(void)const \n4044 void CComboBox::GetDroppedControlRect(tagRECT *)const \n4045 int CComboBox::GetDroppedState(void)const \n4046 int CComboBox::GetDroppedWidth(void)const \n4047 long CBrowserControlSite::GetDropTarget(IDropTarget *,IDropTarget * *)\n4048 long CDHtmlDialog::GetDropTarget(IDropTarget *,IDropTarget * *)\n4049 IDropTarget * CReBarCtrl::GetDropTarget(void)const \n4050 long CToolBarCtrl::GetDropTarget(IDropTarget * *)const \n4051 long CHtmlControlSite::XDocHostUIHandler::GetDropTarget(IDropTarget *,IDropTarget * *)\n4052 long COleControl::XOleInPlaceObject::GetDropTarget(IDropTarget * *)\n4053 IUnknown * CWnd::GetDSCCursor(void)\n4054 CEdit * CListCtrl::GetEditControl(void)const \n4055 CEdit * CTreeCtrl::GetEditControl(void)const \n4056 CEdit * CComboBoxEx::GetEditCtrl(void)const \n4057 CEdit & CEditView::GetEditCtrl(void)const \n4058 short CDaoRecordset::GetEditMode(void)\n4059 unsigned long CComboBox::GetEditSel(void)const \n4060 long CDHtmlDialog::GetElement(wchar_t const *,IDispatch * *,int *)\n4061 long CDHtmlDialog::GetElement(wchar_t const *,IHTMLElement * *)\n4062 void COleSafeArray::GetElement(long *,void *)\n4063 wchar_t * CDHtmlDialog::GetElementHtml(wchar_t const *)\n4064 long CDHtmlDialog::GetElementInterface(wchar_t const *,_GUID const &,void * *)\n4065 tagVARIANT CDHtmlDialog::GetElementProperty(wchar_t const *,long)\n4066 wchar_t * CDHtmlDialog::GetElementText(wchar_t const *)\n4067 unsigned long COleSafeArray::GetElemSize(void)\n4068 COleServerItem * COleServerDoc::GetEmbeddedItem(void)\n4069 void COleClientItem::GetEmbeddedItemData(tagSTGMEDIUM *)\n4070 void COleServerItem::GetEmbedSourceData(tagSTGMEDIUM *)\n4071 int COleControl::GetEnabled(void)\n4072 HENHMETAFILE__ * CStatic::GetEnhMetaFileW(void)const \n4073 unsigned int CCmdTarget::GetEntryCount(AFX_DISPMAP const *)\n4074 int CPalette::GetEntryCount(void)\n4075 long CWnd::XAccessibleServer::GetEnumVariant(IEnumVARIANT * *)\n4076 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetEnvironmentVariableW(wchar_t const *)\n4077 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetEnvironmentVariableW(char const *)\n4078 short CDaoException::GetErrorCount(void)\n4079 void CDaoException::GetErrorInfo(int)\n4080 int CArchiveException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4081 int CDaoException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4082 int CDBException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4083 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)\n4084 int CException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4085 int CFileException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4086 int CInternetException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4087 int COleDispatchException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4088 int COleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4089 int CSimpleException::GetErrorMessage(wchar_t *,unsigned int,unsigned int *)const \n4090 long CDHtmlDialog::GetEvent(IHTMLEventObj * *)\n4091 int COleControlSite::GetEventIID(_GUID *)\n4092 AFX_EVENTMAP const * COleControl::GetEventMap(void)const \n4093 AFX_EVENTMAP_ENTRY const * COleControl::GetEventMapEntry(wchar_t const *,long *)const \n4094 DHtmlEventMapEntry const * CMultiPageDHtmlDialog::GetEventMapForUrl(wchar_t const *)\n4095 long CRichEditCtrl::GetEventMask(void)const \n4096 AFX_EVENTSINKMAP_ENTRY const * CCmdTarget::GetEventSinkEntry(unsigned int,AFX_EVENT *)\n4097 AFX_EVENTSINKMAP const * CCmdTarget::GetEventSinkMap(void)const \n4098 AFX_EVENTSINKMAP const * CDHtmlDialog::GetEventSinkMap(void)const \n4099 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetEventSinkMap(void)const \n4100 AFX_EVENTSINKMAP const * CHtmlView::GetEventSinkMap(void)const \n4101 unsigned long COleControlSite::GetExStyle(void)const \n4102 unsigned long CWnd::GetExStyle(void)const \n4103 IDispatch * COleControl::GetExtendedControl(void)\n4104 long COleControlSite::XOleControlSite::GetExtendedControl(IDispatch * *)\n4105 unsigned long CComboBoxEx::GetExtendedStyle(void)const \n4106 unsigned long CListCtrl::GetExtendedStyle(void)const \n4107 unsigned long CReBarCtrl::GetExtendedStyle(void)const \n4108 unsigned long CTabCtrl::GetExtendedStyle(void)const \n4109 unsigned long CToolBarCtrl::GetExtendedStyle(void)const \n4110 unsigned long CTreeCtrl::GetExtendedStyle(void)const \n4111 int CComboBox::GetExtendedUI(void)const \n4112 int COleClientItem::GetExtent(tagSIZE *,enum tagDVASPECT)\n4113 long CDocObjectServer::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4114 long COleControl::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4115 long COleServerDoc::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4116 long COleServerItem::XOleObject::GetExtent(unsigned long,tagSIZE *)\n4117 long COleControl::XViewObject::GetExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n4118 long CBrowserControlSite::GetExternal(IDispatch * *)\n4119 long CDHtmlDialog::GetExternal(IDispatch * *)\n4120 long CHtmlControlSite::XDocHostUIHandler::GetExternal(IDispatch * *)\n4121 int CPen::GetExtLogPen(tagEXTLOGPEN *)\n4122 int CCmdTarget::GetExtraConnectionPoints(CPtrArray *)\n4123 int COleControl::GetExtraConnectionPoints(CPtrArray *)\n4124 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetFaceName(void)const \n4125 short CDaoQueryDef::GetFieldCount(void)\n4126 short CDaoRecordset::GetFieldCount(void)\n4127 short CDaoTableDef::GetFieldCount(void)\n4128 int CDaoRecordset::GetFieldIndex(void *)\n4129 short CRecordset::GetFieldIndexByName(wchar_t const *)\n4130 void CDaoQueryDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4131 void CDaoQueryDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n4132 void CDaoRecordset::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4133 void CDaoRecordset::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n4134 void CDaoTableDef::GetFieldInfo(int,CDaoFieldInfo &,unsigned long)\n4135 void CDaoTableDef::GetFieldInfo(wchar_t const *,CDaoFieldInfo &,unsigned long)\n4136 unsigned long CDaoRecordset::GetFieldLength(int)\n4137 long * CRecordset::GetFieldLengthBuffer(unsigned long,int)\n4138 unsigned char CRecordset::GetFieldStatus(unsigned long)\n4139 COleVariant CDaoRecordset::GetFieldValue(int)\n4140 COleVariant CDaoRecordset::GetFieldValue(wchar_t const *)\n4141 void CDaoRecordset::GetFieldValue(int,COleVariant &)\n4142 void CDaoRecordset::GetFieldValue(wchar_t const *,COleVariant &)\n4143 void CRecordset::GetFieldValue(short,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4144 void CRecordset::GetFieldValue(short,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4145 void CRecordset::GetFieldValue(short,CDBVariant &,short)\n4146 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4147 void CRecordset::GetFieldValue(wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &)\n4148 void CRecordset::GetFieldValue(wchar_t const *,CDBVariant &,short)\n4149 CFile * CArchive::GetFile(void)const \n4150 CFile * CDocument::GetFile(wchar_t const *,unsigned int,CFileException *)\n4151 int CFtpConnection::GetFile(wchar_t const *,wchar_t const *,int,unsigned long,unsigned long,unsigned long)\n4152 CFile * COleDataObject::GetFileData(unsigned short,tagFORMATETC *)\n4153 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileExt(void)const \n4154 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileName(void)const \n4155 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileName(void)const \n4156 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileName(void)const \n4157 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileName(void)const \n4158 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFileName(void)\n4159 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFilePath(void)const \n4160 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFilePath(void)const \n4161 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFilePath(void)const \n4162 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFile::GetFileTitle(void)const \n4163 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFileTitle(void)const \n4164 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileTitle(void)const \n4165 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileTitle(void)const \n4166 int COleServerDoc::GetFileTypeString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4167 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetFileURL(void)const \n4168 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFtpFileFind::GetFileURL(void)const \n4169 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetFileURL(void)const \n4170 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetFileURL(void)const \n4171 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetFindString(void)const \n4172 int CMonthCalCtrl::GetFirstDayOfWeek(int *)const \n4173 __POSITION * CMultiDocTemplate::GetFirstDocPosition(void)const \n4174 __POSITION * CSingleDocTemplate::GetFirstDocPosition(void)const \n4175 __POSITION * CDocManager::GetFirstDocTemplatePosition(void)const \n4176 __POSITION * CWinApp::GetFirstDocTemplatePosition(void)const \n4177 CFrameWnd * COleDocument::GetFirstFrame(void)\n4178 __POSITION * CListCtrl::GetFirstSelectedItemPosition(void)const \n4179 __POSITION * CDocument::GetFirstViewPosition(void)const \n4180 _TREEITEM * CTreeCtrl::GetFirstVisibleItem(void)const \n4181 int CEdit::GetFirstVisibleLine(void)const \n4182 int CRichEditCtrl::GetFirstVisibleLine(void)const \n4183 CWnd * COleControl::GetFocus(void)\n4184 CWnd * CWnd::GetFocus(void)\n4185 long COleControlSite::XOleIPSite::GetFocus(void)\n4186 int CHeaderCtrl::GetFocusedItem(void)const \n4187 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetFolderPath(void)const \n4188 int CDialogTemplate::GetFont(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)const \n4189 int CDialogTemplate::GetFont(DLGTEMPLATE const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned short &)\n4190 IFontDisp * COleControl::GetFont(void)\n4191 CFont * CWnd::GetFont(void)const \n4192 unsigned long CDC::GetFontData(unsigned long,unsigned long,void *,unsigned long)const \n4193 IFontDisp * CFontHolder::GetFontDispatch(void)\n4194 HFONT__ * CFontHolder::GetFontHandle(long,long)\n4195 HFONT__ * CFontHolder::GetFontHandle(void)\n4196 unsigned long CDC::GetFontLanguageInfo(void)const \n4197 unsigned char * CDialogTemplate::GetFontSizeField(DLGTEMPLATE const *)\n4198 void COleControl::GetFontTextMetrics(tagTEXTMETRICW *,CFontHolder &)\n4199 unsigned long COleControl::GetForeColor(void)\n4200 CWnd * CWnd::GetForegroundWindow(void)\n4201 tagFORMATETC * CAsyncMonikerFile::GetFormatEtc(void)const \n4202 _GUID CPropertySection::GetFormatID(void)\n4203 unsigned short CPropertySet::GetFormatVersion(void)\n4204 int CPrintDialog::GetFromPage(void)const \n4205 unsigned int CPrintInfo::GetFromPage(void)const \n4206 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetFromPrefix(void)\n4207 CFtpConnection * CInternetSession::GetFtpConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short,int)\n4208 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetFullName(void)const \n4209 int CHtmlView::GetFullScreen(void)const \n4210 long CDHtmlControlSink::GetFuncInfoFromId(_GUID const &,long,unsigned long,ATL::_ATL_FUNC_INFO &)\n4211 void * COleDataObject::GetGlobalData(unsigned short,tagFORMATETC *)\n4212 unsigned long CDC::GetGlyphOutlineW(unsigned int,unsigned int,_GLYPHMETRICS *,unsigned long,void *,_MAT2 const *)const \n4213 CGopherConnection * CInternetSession::GetGopherConnection(wchar_t const *,wchar_t const *,wchar_t const *,unsigned short)\n4214 int CDC::GetGraphicsMode(void)const \n4215 long COleControl::XProvideClassInfo::GetGUID(unsigned long,_GUID *)\n4216 CBrush * CDC::GetHalftoneBrush(void)\n4217 void * CEdit::GetHandle(void)const \n4218 unsigned int CRectTracker::GetHandleMask(void)const \n4219 void CRectTracker::GetHandleRect(int,CRect *)const \n4220 int CRectTracker::GetHandleSize(tagRECT const *)const \n4221 unsigned int CMapPtrToPtr::GetHashTableSize(void)const \n4222 unsigned int CMapPtrToWord::GetHashTableSize(void)const \n4223 unsigned int CMapStringToOb::GetHashTableSize(void)const \n4224 unsigned int CMapStringToPtr::GetHashTableSize(void)const \n4225 unsigned int CMapStringToString::GetHashTableSize(void)const \n4226 unsigned int CMapWordToOb::GetHashTableSize(void)const \n4227 unsigned int CMapWordToPtr::GetHashTableSize(void)const \n4228 CObject * & CObList::GetHead(void)\n4229 CObject const * CObList::GetHead(void)const \n4230 void * & CPtrList::GetHead(void)\n4231 void const * CPtrList::GetHead(void)const \n4232 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetHead(void)\n4233 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetHead(void)const \n4234 CHeaderCtrl * CListCtrl::GetHeaderCtrl(void)const \n4235 __POSITION * CObList::GetHeadPosition(void)const \n4236 __POSITION * CPtrList::GetHeadPosition(void)const \n4237 __POSITION * CStringList::GetHeadPosition(void)const \n4238 long CHtmlView::GetHeight(void)const \n4239 CMenu * COleDocObjectItem::GetHelpMenu(unsigned int &)\n4240 enum AFX_HELP_TYPE CWinApp::GetHelpMode(void)\n4241 void CSplitterWnd::GetHitRect(int,CRect &)\n4242 unsigned int CComboBox::GetHorizontalExtent(void)const \n4243 int CListBox::GetHorizontalExtent(void)const \n4244 long CBrowserControlSite::GetHostInfo(_DOCHOSTUIINFO *)\n4245 long CDHtmlDialog::GetHostInfo(_DOCHOSTUIINFO *)\n4246 long CHtmlControlSite::XDocHostUIHandler::GetHostInfo(_DOCHOSTUIINFO *)\n4247 HICON__ * CListCtrl::GetHotCursor(void)const \n4248 CImageList * CToolBarCtrl::GetHotImageList(void)const \n4249 int CListCtrl::GetHotItem(void)const \n4250 int CToolBarCtrl::GetHotItem(void)const \n4251 unsigned long CHotKeyCtrl::GetHotKey(void)const \n4252 void CHotKeyCtrl::GetHotKey(unsigned short &,unsigned short &)const \n4253 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetHotKeyName(void)const \n4254 unsigned long CListCtrl::GetHoverTime(void)const \n4255 IDispatch * CHtmlView::GetHtmlDocument(void)const \n4256 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned short,wchar_t const *,wchar_t const *)\n4257 CHttpConnection * CInternetSession::GetHttpConnection(wchar_t const *,unsigned long,unsigned short,wchar_t const *,wchar_t const *)\n4258 unsigned int COleControl::GetHwnd(void)\n4259 long CWnd::XAccessibleServer::GetHWND(HWND__ * *)\n4260 HICON__ * CButton::GetIcon(void)const \n4261 HICON__ * CStatic::GetIcon(void)const \n4262 HICON__ * CStatusBarCtrl::GetIcon(int)const \n4263 HICON__ * CWnd::GetIcon(int)const \n4264 HICON__ * COleClientItem::GetIconFromRegistry(void)const \n4265 HICON__ * COleClientItem::GetIconFromRegistry(_GUID &)\n4266 void * COleChangeIconDialog::GetIconicMetafile(void)const \n4267 void * COleClientItem::GetIconicMetafile(void)\n4268 void * COleConvertDialog::GetIconicMetafile(void)const \n4269 void * COleInsertDialog::GetIconicMetafile(void)const \n4270 void * COlePasteSpecialDialog::GetIconicMetafile(void)const \n4271 wchar_t const * CFrameWnd::GetIconWndClass(unsigned long,unsigned int)\n4272 unsigned long CProperty::GetID(void)\n4273 int CPropertySection::GetID(wchar_t const *,unsigned long *)\n4274 IDataObject * COleDataObject::GetIDataObject(int)\n4275 int CDateTimeCtrl::GetIdealSize(tagSIZE *)const \n4276 IDispatch * CCmdTarget::GetIDispatch(int)\n4277 long CDHtmlControlSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4278 long CDHtmlElementEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4279 long CDHtmlEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4280 long COleDispatchImpl::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4281 long CWnd::XAccessible::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4282 long COleControlSite::XAmbientProps::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4283 long COleControlSite::XEventSink::GetIDsOfNames(_GUID const &,wchar_t * *,unsigned int,unsigned long,long *)\n4284 IFileDialogCustomize * CFileDialog::GetIFileDialogCustomize(void)\n4285 IFileOpenDialog * CFileDialog::GetIFileOpenDialog(void)\n4286 IFileSaveDialog * CFileDialog::GetIFileSaveDialog(void)\n4287 _GUID const & COleControl::XEventConnPt::GetIID(void)\n4288 int CImageList::GetImageCount(void)const \n4289 int CImageList::GetImageInfo(int,_IMAGEINFO *)const \n4290 CImageList * CComboBoxEx::GetImageList(void)const \n4291 CImageList * CHeaderCtrl::GetImageList(int)const \n4292 CImageList * CListCtrl::GetImageList(int)const \n4293 CImageList * CReBarCtrl::GetImageList(void)const \n4294 CImageList * CTabCtrl::GetImageList(void)const \n4295 CImageList * CToolBarCtrl::GetImageList(void)const \n4296 CImageList * CTreeCtrl::GetImageList(int)const \n4297 unsigned int CTreeCtrl::GetIndent(void)const \n4298 short CDaoRecordset::GetIndexCount(void)\n4299 short CDaoTableDef::GetIndexCount(void)\n4300 void CDaoRecordset::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n4301 void CDaoRecordset::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n4302 void CDaoTableDef::GetIndexInfo(int,CDaoIndexInfo &,unsigned long)\n4303 void CDaoTableDef::GetIndexInfo(wchar_t const *,CDaoIndexInfo &,unsigned long)\n4304 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetIniPath(void)\n4305 COleClientItem * COleDocument::GetInPlaceActiveItem(CWnd *)\n4306 COleClientItem * CRichEditDoc::GetInPlaceActiveItem(CWnd *)\n4307 CRichEditCntrItem * CRichEditView::GetInPlaceActiveItem(void)const \n4308 long CRichEditView::XRichEditOleCallback::GetInPlaceContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n4309 long COleIPFrameWnd::GetInPlaceDocFrame(IOleInPlaceUIWindow * *)\n4310 long COleIPFrameWnd::GetInPlaceFrame(IOleInPlaceUIWindow * *)\n4311 HMENU__ * COleIPFrameWnd::GetInPlaceMenu(void)\n4312 long CDocObjectServer::XOleDocumentView::GetInPlaceSite(IOleInPlaceSite * *)\n4313 CWnd * COleClientItem::GetInPlaceWindow(void)\n4314 void CToolBarCtrl::GetInsertMark(TBINSERTMARK *)const \n4315 unsigned long CToolBarCtrl::GetInsertMarkColor(void)const \n4316 unsigned long CTreeCtrl::GetInsertMarkColor(void)const \n4317 void CSplitterWnd::GetInsideRect(CRect &)const \n4318 IUnknown * CCmdTarget::GetInterface(void const *)\n4319 IUnknown * CBrowserControlSite::GetInterfaceHook(void const *)\n4320 IUnknown * CCmdTarget::GetInterfaceHook(void const *)\n4321 IUnknown * COleControl::GetInterfaceHook(void const *)\n4322 IUnknown * COleServerDoc::GetInterfaceHook(void const *)\n4323 AFX_INTERFACEMAP const * CCmdTarget::GetInterfaceMap(void)const \n4324 AFX_INTERFACEMAP const * CDocObjectServer::GetInterfaceMap(void)const \n4325 AFX_INTERFACEMAP const * CEnumConnections::GetInterfaceMap(void)const \n4326 AFX_INTERFACEMAP const * CEnumConnPoints::GetInterfaceMap(void)const \n4327 AFX_INTERFACEMAP const * CEnumFormatEtc::GetInterfaceMap(void)const \n4328 AFX_INTERFACEMAP const * CEnumOleVerb::GetInterfaceMap(void)const \n4329 AFX_INTERFACEMAP const * CEnumUnknown::GetInterfaceMap(void)const \n4330 AFX_INTERFACEMAP const * CFileDialog::GetInterfaceMap(void)const \n4331 AFX_INTERFACEMAP const * CHtmlControlSite::GetInterfaceMap(void)const \n4332 AFX_INTERFACEMAP const * COleClientItem::GetInterfaceMap(void)const \n4333 AFX_INTERFACEMAP const * COleControl::GetInterfaceMap(void)const \n4334 AFX_INTERFACEMAP const * COleControlContainer::GetInterfaceMap(void)const \n4335 AFX_INTERFACEMAP const * COleControlSite::GetInterfaceMap(void)const \n4336 AFX_INTERFACEMAP const * COleDataSource::GetInterfaceMap(void)const \n4337 AFX_INTERFACEMAP const * COleDocObjectItem::GetInterfaceMap(void)const \n4338 AFX_INTERFACEMAP const * COleDropSource::GetInterfaceMap(void)const \n4339 AFX_INTERFACEMAP const * COleDropTarget::GetInterfaceMap(void)const \n4340 AFX_INTERFACEMAP const * COleFrameHook::GetInterfaceMap(void)const \n4341 AFX_INTERFACEMAP const * COleLinkingDoc::GetInterfaceMap(void)const \n4342 AFX_INTERFACEMAP const * COleMessageFilter::GetInterfaceMap(void)const \n4343 AFX_INTERFACEMAP const * COleObjectFactory::GetInterfaceMap(void)const \n4344 AFX_INTERFACEMAP const * COlePropertyPage::GetInterfaceMap(void)const \n4345 AFX_INTERFACEMAP const * COleServerDoc::GetInterfaceMap(void)const \n4346 AFX_INTERFACEMAP const * COleServerItem::GetInterfaceMap(void)const \n4347 AFX_INTERFACEMAP const * CRichEditView::GetInterfaceMap(void)const \n4348 AFX_INTERFACEMAP const * CWnd::GetInterfaceMap(void)const \n4349 IRichEditOle * CRichEditCtrl::GetIRichEditOle(void)const \n4350 int CDaoWorkspace::GetIsolateODBCTrans(void)\n4351 int CComboBoxEx::GetItem(tagCOMBOBOXEXITEMW *)\n4352 int CHeaderCtrl::GetItem(int,_HD_ITEMW *)const \n4353 int CListCtrl::GetItem(tagLVITEMW *)const \n4354 int CTabCtrl::GetItem(int,tagTCITEMW *)const \n4355 int CTreeCtrl::GetItem(tagTVITEMW *)const \n4356 void COleServerDoc::GetItemClipRect(tagRECT *)const \n4357 int CHeaderCtrl::GetItemCount(void)const \n4358 int CListCtrl::GetItemCount(void)const \n4359 int CTabCtrl::GetItemCount(void)const \n4360 unsigned long CComboBox::GetItemData(int)const \n4361 unsigned long CListBox::GetItemData(int)const \n4362 unsigned long CListCtrl::GetItemData(int)const \n4363 unsigned long CTreeCtrl::GetItemData(_TREEITEM *)const \n4364 void * CComboBox::GetItemDataPtr(int)const \n4365 void * CListBox::GetItemDataPtr(int)const \n4366 int CHeaderCtrl::GetItemDropDownRect(int,tagRECT *)const \n4367 int CTreeCtrl::GetItemExpandedImageIndex(_TREEITEM *)const \n4368 int CComboBox::GetItemHeight(int)const \n4369 int CListBox::GetItemHeight(int)const \n4370 short CTreeCtrl::GetItemHeight(void)const \n4371 unsigned int CStatusBar::GetItemID(int)const \n4372 unsigned int CToolBar::GetItemID(int)const \n4373 int CTreeCtrl::GetItemImage(_TREEITEM *,int &,int &)const \n4374 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetItemName(void)\n4375 void COleClientItem::GetItemName(wchar_t *)const \n4376 void COleClientItem::GetItemName(wchar_t *,unsigned int)const \n4377 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleServerItem::GetItemName(void)const \n4378 int CTreeCtrl::GetItemPartRect(_TREEITEM *,enum _TVITEMPART,tagRECT *)\n4379 int CListCtrl::GetItemPosition(int,tagPOINT *)const \n4380 void COleServerDoc::GetItemPosition(tagRECT *)const \n4381 int CHeaderCtrl::GetItemRect(int,tagRECT *)const \n4382 int CListBox::GetItemRect(int,tagRECT *)const \n4383 int CListCtrl::GetItemRect(int,tagRECT *,unsigned int)const \n4384 void CStatusBar::GetItemRect(int,tagRECT *)const \n4385 int CTabCtrl::GetItemRect(int,tagRECT *)const \n4386 void CToolBar::GetItemRect(int,tagRECT *)const \n4387 int CToolBarCtrl::GetItemRect(int,tagRECT *)const \n4388 int CTreeCtrl::GetItemRect(_TREEITEM *,tagRECT *,int)const \n4389 int CListCtrl::GetItemSpacing(int,int *,int *)const \n4390 unsigned int CListCtrl::GetItemState(int,unsigned int)const \n4391 unsigned int COleClientItem::GetItemState(void)const \n4392 unsigned long CTabCtrl::GetItemState(int,unsigned long)const \n4393 unsigned int CTreeCtrl::GetItemState(_TREEITEM *,unsigned int)const \n4394 unsigned int CTreeCtrl::GetItemStateEx(_TREEITEM *)const \n4395 void COleClientItem::GetItemStorage(void)\n4396 void COleClientItem::GetItemStorageCompound(void)\n4397 void COleClientItem::GetItemStorageFlat(void)\n4398 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CListCtrl::GetItemText(int,int)const \n4399 int CListCtrl::GetItemText(int,int,wchar_t *,int)const \n4400 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CTreeCtrl::GetItemText(_TREEITEM *)const \n4401 int CDC::GetKerningPairsW(int,tagKERNINGPAIR *)const \n4402 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHotKeyCtrl::GetKeyName(unsigned int,int)\n4403 int CFileFind::GetLastAccessTime(ATL::CTime &)const \n4404 int CFileFind::GetLastAccessTime(_FILETIME *)const \n4405 int CGopherFileFind::GetLastAccessTime(ATL::CTime &)const \n4406 int CGopherFileFind::GetLastAccessTime(_FILETIME *)const \n4407 CWnd * CWnd::GetLastActivePopup(void)const \n4408 int CAsyncSocket::GetLastError(void)\n4409 unsigned int COleDialog::GetLastError(void)const \n4410 COleVariant CDaoRecordset::GetLastModifiedBookmark(void)\n4411 long COleClientItem::GetLastStatus(void)const \n4412 long COleUILinkInfo::GetLastUpdate(unsigned long,_FILETIME *)\n4413 _TREEITEM * CTreeCtrl::GetLastVisibleItem(void)const \n4414 int CFileFind::GetLastWriteTime(ATL::CTime &)const \n4415 int CFileFind::GetLastWriteTime(_FILETIME *)const \n4416 int CGopherFileFind::GetLastWriteTime(ATL::CTime &)const \n4417 int CGopherFileFind::GetLastWriteTime(_FILETIME *)const \n4418 unsigned long CDC::GetLayout(void)const \n4419 long CRecordset::GetLBFetchSize(long)\n4420 void COleSafeArray::GetLBound(unsigned long,long *)\n4421 long CRecordset::GetLBReallocSize(long)\n4422 int CComboBox::GetLBText(int,wchar_t *)const \n4423 void CComboBox::GetLBText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4424 int CComboBox::GetLBTextLen(int)const \n4425 long CHtmlView::GetLeft(void)const \n4426 int ATL::CSimpleStringT<wchar_t,1>::GetLength(void)const \n4427 int ATL::CSimpleStringT<char,1>::GetLength(void)const \n4428 unsigned __int64 CFile::GetLength(void)const \n4429 unsigned __int64 CFileFind::GetLength(void)const \n4430 unsigned __int64 CGopherFileFind::GetLength(void)const \n4431 unsigned __int64 CInternetFile::GetLength(void)const \n4432 unsigned __int64 CMemFile::GetLength(void)const \n4433 unsigned __int64 COleStreamFile::GetLength(void)const \n4434 unsigned __int64 CSocketFile::GetLength(void)const \n4435 unsigned __int64 CStdioFile::GetLength(void)const \n4436 int COleObjectFactory::GetLicenseKey(unsigned long,wchar_t * *)\n4437 long COleObjectFactory::XClassFactory::GetLicInfo(tagLICINFO *)\n4438 unsigned int CEdit::GetLimitText(void)const \n4439 long CRichEditCtrl::GetLimitText(void)const \n4440 int CEdit::GetLine(int,wchar_t *)const \n4441 int CEdit::GetLine(int,wchar_t *,int)const \n4442 int CRichEditCtrl::GetLine(int,wchar_t *)const \n4443 int CRichEditCtrl::GetLine(int,wchar_t *,int)const \n4444 unsigned long CTreeCtrl::GetLineColor(void)const \n4445 int CEdit::GetLineCount(void)const \n4446 int CRichEditCtrl::GetLineCount(void)const \n4447 int CSliderCtrl::GetLineSize(void)const \n4448 COleClientItem * COleUILinkInfo::GetLinkItem(unsigned long)\n4449 long COleUILinkInfo::GetLinkSource(unsigned long,wchar_t * *,unsigned long *,wchar_t * *,wchar_t * *,int *,int *)\n4450 int COleClientItem::GetLinkSourceData(tagSTGMEDIUM *)\n4451 int COleServerItem::GetLinkSourceData(tagSTGMEDIUM *)\n4452 enum tagOLEUPDATE COleClientItem::GetLinkUpdateOptions(void)\n4453 long COleUILinkInfo::GetLinkUpdateOptions(unsigned long,unsigned long *)\n4454 CPtrList * CPropertySection::GetList(void)\n4455 CPtrList * CPropertySet::GetList(void)\n4456 CListCtrl & CListView::GetListCtrl(void)const \n4457 unsigned long CComboBox::GetLocale(void)const \n4458 unsigned long CListBox::GetLocale(void)const \n4459 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationName(void)const \n4460 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetLocationURL(void)const \n4461 CGopherLocator CGopherFileFind::GetLocator(void)const \n4462 int CGopherLocator::GetLocatorType(unsigned long &)const \n4463 int CDaoRecordset::GetLockingMode(void)\n4464 int CBrush::GetLogBrush(tagLOGBRUSH *)\n4465 int CFont::GetLogFont(tagLOGFONTW *)\n4466 short CDaoWorkspace::GetLoginTimeout(void)\n4467 int CPen::GetLogPen(tagLOGPEN *)\n4468 void CFieldExchange::GetLongBinaryData(int,CLongBinary &,long *)\n4469 void CRecordset::GetLongBinaryDataAndCleanup(CDatabase *,void *,short,long,void * *,long,CDBVariant &,short)\n4470 long CFieldExchange::GetLongBinarySize(int)\n4471 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,short,short)\n4472 void CRecordset::GetLongCharDataAndCleanup(CDatabase *,void *,short,long,void * *,long,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,short,short)\n4473 CFrameWnd * COleIPFrameWnd::GetMainFrame(void)\n4474 CWnd * CWinThread::GetMainWnd(void)\n4475 ATL::IAtlStringMgr * ATL::CSimpleStringT<wchar_t,1>::GetManager(void)const \n4476 ATL::IAtlStringMgr * ATL::CSimpleStringT<char,1>::GetManager(void)const \n4477 ATL::IAtlStringMgr * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::GetManager(void)const \n4478 ATL::IAtlStringMgr * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::GetManager(void)const \n4479 int CDC::GetMapMode(void)const \n4480 void CToolTipCtrl::GetMargin(tagRECT *)const \n4481 unsigned long CEdit::GetMargins(void)const \n4482 void CPageSetupDialog::GetMargins(tagRECT *,tagRECT *)const \n4483 CRect CRichEditView::GetMargins(void)const \n4484 int CConnectionPoint::GetMaxConnections(void)\n4485 unsigned int CPrintInfo::GetMaxPage(void)const \n4486 int CMonthCalCtrl::GetMaxSelCount(void)const \n4487 int CToolBarCtrl::GetMaxSize(tagSIZE *)const \n4488 int CToolBarCtrl::GetMaxTextRows(void)const \n4489 int CToolTipCtrl::GetMaxTipWidth(void)const \n4490 unsigned long CMonthCalCtrl::GetMaxTodayWidth(void)const \n4491 CMDIFrameWnd * CMDIChildWnd::GetMDIFrame(void)\n4492 CMenu * CFrameWnd::GetMenu(void)const \n4493 CMenu * CWnd::GetMenu(void)const \n4494 int CHtmlView::GetMenuBar(void)const \n4495 int CFrameWnd::GetMenuBarInfo(long,long,tagMENUBARINFO *)const \n4496 unsigned long CFrameWnd::GetMenuBarState(void)const \n4497 unsigned long CFrameWnd::GetMenuBarVisibility(void)const \n4498 unsigned long CMenu::GetMenuContextHelpId(void)const \n4499 unsigned int CMenu::GetMenuItemCount(void)const \n4500 unsigned int CMenu::GetMenuItemID(int)const \n4501 int CMenu::GetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n4502 unsigned int CMenu::GetMenuState(unsigned int,unsigned int)const \n4503 int CMenu::GetMenuStringW(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int)const \n4504 int CMenu::GetMenuStringW(unsigned int,wchar_t *,int,unsigned int)const \n4505 CWnd * CFrameWnd::GetMessageBar(void)\n4506 CWnd * CMDIChildWnd::GetMessageBar(void)\n4507 AFX_MSGMAP const * CCheckListBox::GetMessageMap(void)const \n4508 AFX_MSGMAP const * CCmdTarget::GetMessageMap(void)const \n4509 AFX_MSGMAP const * CCommonDialog::GetMessageMap(void)const \n4510 AFX_MSGMAP const * CControlBar::GetMessageMap(void)const \n4511 AFX_MSGMAP const * CControlFrameWnd::GetMessageMap(void)const \n4512 AFX_MSGMAP const * CCtrlView::GetMessageMap(void)const \n4513 AFX_MSGMAP const * CDaoRecordView::GetMessageMap(void)const \n4514 AFX_MSGMAP const * CDHtmlDialog::GetMessageMap(void)const \n4515 AFX_MSGMAP const * CDialog::GetMessageMap(void)const \n4516 AFX_MSGMAP const * CDialogBar::GetMessageMap(void)const \n4517 AFX_MSGMAP const * CDockBar::GetMessageMap(void)const \n4518 AFX_MSGMAP const * CDocObjectServer::GetMessageMap(void)const \n4519 AFX_MSGMAP const * CDocument::GetMessageMap(void)const \n4520 AFX_MSGMAP const * CEditView::GetMessageMap(void)const \n4521 AFX_MSGMAP const * CFormView::GetMessageMap(void)const \n4522 AFX_MSGMAP const * CFrameWnd::GetMessageMap(void)const \n4523 AFX_MSGMAP const * CHtmlEditView::GetMessageMap(void)const \n4524 AFX_MSGMAP const * CHtmlView::GetMessageMap(void)const \n4525 AFX_MSGMAP const * CListCtrl::GetMessageMap(void)const \n4526 AFX_MSGMAP const * CListView::GetMessageMap(void)const \n4527 AFX_MSGMAP const * CMDIChildWnd::GetMessageMap(void)const \n4528 AFX_MSGMAP const * CMDIFrameWnd::GetMessageMap(void)const \n4529 AFX_MSGMAP const * CMiniDockFrameWnd::GetMessageMap(void)const \n4530 AFX_MSGMAP const * CMiniFrameWnd::GetMessageMap(void)const \n4531 AFX_MSGMAP const * COleControl::GetMessageMap(void)const \n4532 AFX_MSGMAP const * COleDBRecordView::GetMessageMap(void)const \n4533 AFX_MSGMAP const * COleDocIPFrameWnd::GetMessageMap(void)const \n4534 AFX_MSGMAP const * COleIPFrameWnd::GetMessageMap(void)const \n4535 AFX_MSGMAP const * COlePropertyPage::GetMessageMap(void)const \n4536 AFX_MSGMAP const * COleResizeBar::GetMessageMap(void)const \n4537 AFX_MSGMAP const * COleServerDoc::GetMessageMap(void)const \n4538 AFX_MSGMAP const * CPreviewView::GetMessageMap(void)const \n4539 AFX_MSGMAP const * CPrintDialog::GetMessageMap(void)const \n4540 AFX_MSGMAP const * CPrintDialogEx::GetMessageMap(void)const \n4541 AFX_MSGMAP const * CPropertyPage::GetMessageMap(void)const \n4542 AFX_MSGMAP const * CPropertySheet::GetMessageMap(void)const \n4543 AFX_MSGMAP const * CReBar::GetMessageMap(void)const \n4544 AFX_MSGMAP const * CRecordView::GetMessageMap(void)const \n4545 AFX_MSGMAP const * CRichEditView::GetMessageMap(void)const \n4546 AFX_MSGMAP const * CScrollView::GetMessageMap(void)const \n4547 AFX_MSGMAP const * CSocketWnd::GetMessageMap(void)const \n4548 AFX_MSGMAP const * CSplitButton::GetMessageMap(void)const \n4549 AFX_MSGMAP const * CSplitterWnd::GetMessageMap(void)const \n4550 AFX_MSGMAP const * CStatusBar::GetMessageMap(void)const \n4551 AFX_MSGMAP const * CTabCtrl::GetMessageMap(void)const \n4552 AFX_MSGMAP const * CToolBar::GetMessageMap(void)const \n4553 AFX_MSGMAP const * CToolBarCtrl::GetMessageMap(void)const \n4554 AFX_MSGMAP const * CToolTipCtrl::GetMessageMap(void)const \n4555 AFX_MSGMAP const * CTreeCtrl::GetMessageMap(void)const \n4556 AFX_MSGMAP const * CTreeView::GetMessageMap(void)const \n4557 AFX_MSGMAP const * CView::GetMessageMap(void)const \n4558 AFX_MSGMAP const * CWinApp::GetMessageMap(void)const \n4559 AFX_MSGMAP const * CWnd::GetMessageMap(void)const \n4560 void CFrameWnd::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4561 void COleControl::GetMessageString(unsigned int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4562 long CDataSourceControl::GetMetaData(void)\n4563 int COleControl::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4564 int COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)\n4565 unsigned int CPrintInfo::GetMinPage(void)const \n4566 int CMonthCalCtrl::GetMinReqRect(tagRECT *)const \n4567 long CDocObjectServer::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4568 long COleControl::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4569 long COleServerDoc::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4570 long COleServerItem::XOleObject::GetMiscStatus(unsigned long,unsigned long *)\n4571 float CDC::GetMiterLimit(void)const \n4572 int CEdit::GetModify(void)const \n4573 int CRichEditCtrl::GetModify(void)const \n4574 void CRectTracker::GetModifyPointers(int,int * *,int * *,int *,int *)\n4575 IMoniker * CMonikerFile::GetMoniker(void)const \n4576 IMoniker * COleDocument::GetMoniker(enum tagOLEGETMONIKER)\n4577 IMoniker * COleLinkingDoc::GetMoniker(enum tagOLEGETMONIKER)\n4578 IMoniker * COleServerDoc::GetMoniker(enum tagOLEGETMONIKER)\n4579 IMoniker * COleServerItem::GetMoniker(enum tagOLEGETMONIKER)\n4580 long COleClientItem::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4581 long COleControlSite::XOleClientSite::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4582 long CDocObjectServer::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4583 long COleControl::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4584 long COleServerDoc::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4585 long COleServerItem::XOleObject::GetMoniker(unsigned long,unsigned long,IMoniker * *)\n4586 unsigned long CDateTimeCtrl::GetMonthCalColor(int)const \n4587 CMonthCalCtrl * CDateTimeCtrl::GetMonthCalCtrl(void)const \n4588 CFont * CDateTimeCtrl::GetMonthCalFont(void)const \n4589 unsigned long CDateTimeCtrl::GetMonthCalStyle(void)const \n4590 int CMonthCalCtrl::GetMonthDelta(void)const \n4591 int CMonthCalCtrl::GetMonthRange(ATL::COleDateTime &,ATL::COleDateTime &,unsigned long)const \n4592 int CMonthCalCtrl::GetMonthRange(ATL::CTime &,ATL::CTime &,unsigned long)const \n4593 int CMonthCalCtrl::GetMonthRange(_SYSTEMTIME *,_SYSTEMTIME *,unsigned long)const \n4594 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetName(void)\n4595 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetName(void)\n4596 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetName(void)\n4597 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetName(void)\n4598 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetName(void)\n4599 long COleControl::XViewObject::GetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n4600 unsigned long CDC::GetNearestColor(unsigned long)const \n4601 unsigned int CPalette::GetNearestPaletteIndex(unsigned long)const \n4602 unsigned long COleClientItem::GetNewItemNumber(void)\n4603 long CRichEditView::XRichEditOleCallback::GetNewStorage(IStorage * *)\n4604 CDataBoundProperty * CDataBoundProperty::GetNext(void)\n4605 CObject * & CObList::GetNext(__POSITION * &)\n4606 CObject const * CObList::GetNext(__POSITION * &)const \n4607 void * & CPtrList::GetNext(__POSITION * &)\n4608 void const * CPtrList::GetNext(__POSITION * &)const \n4609 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetNext(__POSITION * &)\n4610 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetNext(__POSITION * &)const \n4611 void CMapPtrToPtr::GetNextAssoc(__POSITION * &,void * &,void * &)const \n4612 void CMapPtrToWord::GetNextAssoc(__POSITION * &,void * &,unsigned short &)const \n4613 void CMapStringToOb::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CObject * &)const \n4614 void CMapStringToPtr::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void * &)const \n4615 void CMapStringToString::GetNextAssoc(__POSITION * &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4616 void CMapWordToOb::GetNextAssoc(__POSITION * &,unsigned short &,CObject * &)const \n4617 void CMapWordToPtr::GetNextAssoc(__POSITION * &,unsigned short &,void * &)const \n4618 COleClientItem * COleDocument::GetNextClientItem(__POSITION * &)const \n4619 IUnknown * CConnectionPoint::GetNextConnection(__POSITION * &)const \n4620 COleControlSiteOrWnd * CWnd::GetNextDlgGroupItem(COleControlSiteOrWnd *)const \n4621 CWnd * CWnd::GetNextDlgGroupItem(CWnd *,int)const \n4622 COleControlSiteOrWnd * CWnd::GetNextDlgTabItem(COleControlSiteOrWnd *,int)const \n4623 CWnd * CWnd::GetNextDlgTabItem(CWnd *,int)const \n4624 CDocument * CMultiDocTemplate::GetNextDoc(__POSITION * &)const \n4625 CDocument * CSingleDocTemplate::GetNextDoc(__POSITION * &)const \n4626 CDocTemplate * CDocManager::GetNextDocTemplate(__POSITION * &)const \n4627 CDocTemplate * CWinApp::GetNextDocTemplate(__POSITION * &)const \n4628 int COleDataObject::GetNextFormat(tagFORMATETC *)\n4629 int CListCtrl::GetNextItem(int,int)const \n4630 CDocItem * COleDocument::GetNextItem(__POSITION * &)const \n4631 _TREEITEM * CTreeCtrl::GetNextItem(_TREEITEM *,unsigned int)const \n4632 CDocItem * COleDocument::GetNextItemOfKind(__POSITION * &,CRuntime*)const \n4633 unsigned long COleUILinkInfo::GetNextLink(unsigned long)\n4634 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetNextPathName(__POSITION * &)const \n4635 int CListCtrl::GetNextSelectedItem(__POSITION * &)const \n4636 COleServerItem * COleDocument::GetNextServerItem(__POSITION * &)const \n4637 _TREEITEM * CTreeCtrl::GetNextSiblingItem(_TREEITEM *)const \n4638 CView * CDocument::GetNextView(__POSITION * &)const \n4639 _TREEITEM * CTreeCtrl::GetNextVisibleItem(_TREEITEM *)const \n4640 CWnd * CWnd::GetNextWindow(unsigned int)const \n4641 ATL::CStringData * CAfxStringMgr::GetNilString(void)\n4642 CFindReplaceDialog * CFindReplaceDialog::GetNotifier(long)\n4643 void CCmdTarget::GetNotSupported(void)\n4644 void COleControl::GetNotSupported(void)\n4645 unsigned int CListCtrl::GetNumberOfWorkAreas(void)const \n4646 unsigned int CSliderCtrl::GetNumTics(void)const \n4647 int CGdiObject::GetObject(int,void *)const \n4648 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObject(void)const \n4649 IDispatch * * COlePropertyPage::GetObjectArray(unsigned long *)\n4650 void COleClientItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4651 void COleServerItem::GetObjectDescriptorData(tagPOINT *,tagSIZE *,tagSTGMEDIUM *)\n4652 long COlePropertiesDialog::XOleUIObjInfo::GetObjectInfo(unsigned long,unsigned long *,wchar_t * *,wchar_t * *,wchar_t * *,wchar_t * *)\n4653 unsigned int CArchive::GetObjectSchema(void)\n4654 long COleLinkingDoc::XOleItemContainer::GetObjectStorage(wchar_t *,IBindCtx *,_GUID const &,void * *)\n4655 unsigned int CGdiObject::GetObjectType(void)const \n4656 int CGdiObject::GetObjectW(int,void *)const \n4657 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetObjectW(void)const \n4658 long COleLinkingDoc::XOleItemContainer::GetObjectW(wchar_t *,unsigned long,IBindCtx *,_GUID const &,void * *)\n4659 _AFX_OCC_DIALOG_INFO * CDialog::GetOccDialogInfo(void)\n4660 _AFX_OCC_DIALOG_INFO * CFormView::GetOccDialogInfo(void)\n4661 _AFX_OCC_DIALOG_INFO * CWnd::GetOccDialogInfo(void)\n4662 short CRecordset::GetODBCFieldCount(void)const \n4663 void CRecordset::GetODBCFieldInfo(short,CODBCFieldInfo &)\n4664 void CRecordset::GetODBCFieldInfo(wchar_t const *,CODBCFieldInfo &)\n4665 short CDaoQueryDef::GetODBCTimeout(void)\n4666 int CHtmlView::GetOffline(void)const \n4667 tagOFNW & CFileDialog::GetOFN(void)\n4668 tagOFNW const & CFileDialog::GetOFN(void)const \n4669 COleControlSite * CWnd::GetOleControlSite(unsigned int)const \n4670 IOleObject * COleServerItem::GetOleObject(void)\n4671 unsigned long COleSafeArray::GetOneDimSize(void)\n4672 CWnd * CWnd::GetOpenClipboardWindow(void)\n4673 int CDocManager::GetOpenDocumentCount(void)\n4674 int CWinApp::GetOpenDocumentCount(void)\n4675 long CBrowserControlSite::GetOptionKeyPath(wchar_t * *,unsigned long)\n4676 long CDHtmlDialog::GetOptionKeyPath(wchar_t * *,unsigned long)\n4677 long CHtmlControlSite::XDocHostUIHandler::GetOptionKeyPath(wchar_t * *,unsigned long)\n4678 unsigned int CRichEditCtrl::GetOptions(void)const \n4679 int CHeaderCtrl::GetOrderArray(int *,int)const \n4680 int CListCtrl::GetOrigin(tagPOINT *)const \n4681 unsigned long CPropertySet::GetOSVersion(void)\n4682 CWnd * COleControl::GetOuterWindow(void)const \n4683 unsigned int CDC::GetOutlineTextMetricsW(unsigned int,_OUTLINETEXTMETRICW *)const \n4684 int CDC::GetOutputCharWidth(unsigned int,unsigned int,int *)const \n4685 CSize CDC::GetOutputTabbedTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n4686 CSize CDC::GetOutputTabbedTextExtent(wchar_t const *,int,int,int *)const \n4687 CSize CDC::GetOutputTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n4688 CSize CDC::GetOutputTextExtent(wchar_t const *,int)const \n4689 int CDC::GetOutputTextMetrics(tagTEXTMETRICW *)const \n4690 int CHeaderCtrl::GetOverflowRect(tagRECT *)const \n4691 CWnd * CWnd::GetOwner(void)const \n4692 void CToolBarCtrl::GetPadding(int &,int &)const \n4693 CPropertyPage * CPropertySheet::GetPage(int)const \n4694 int COleDocObjectItem::GetPageCount(long *,long *)\n4695 int CPropertySheet::GetPageCount(void)const \n4696 int CPropertySheet::GetPageIndex(CPropertyPage *)\n4697 long CDocObjectServer::XPrint::GetPageInfo(long *,long *)\n4698 long COlePropertyPage::XPropertyPage::GetPageInfo(tagPROPPAGEINFO *)\n4699 CRect CRichEditView::GetPageRect(void)const \n4700 long COleControl::XSpecifyPropertyPages::GetPages(tagCAUUID *)\n4701 IPropertyPageSite * COlePropertyPage::GetPageSite(void)\n4702 int CSliderCtrl::GetPageSize(void)const \n4703 CPalette * CReBarCtrl::GetPalette(void)const \n4704 unsigned int CPalette::GetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)const \n4705 CWnd * CSplitterWnd::GetPane(int,int)const \n4706 void CStatusBar::GetPaneInfo(int,unsigned int &,unsigned int &,int &)const \n4707 unsigned int CStatusBar::GetPaneStyle(int)const \n4708 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBar::GetPaneText(int)const \n4709 void CStatusBar::GetPaneText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n4710 CSize CPageSetupDialog::GetPaperSize(void)const \n4711 CSize CRichEditView::GetPaperSize(void)const \n4712 unsigned long CRichEditCtrl::GetParaFormat(_paraformat &)const \n4713 unsigned long CRichEditCtrl::GetParaFormat(PARAFORMAT2 &)const \n4714 PARAFORMAT2 & CRichEditView::GetParaFormatSelection(void)\n4715 short CDaoQueryDef::GetParameterCount(void)\n4716 void CDaoQueryDef::GetParameterInfo(int,CDaoParameterInfo &,unsigned long)\n4717 void CDaoQueryDef::GetParameterInfo(wchar_t const *,CDaoParameterInfo &,unsigned long)\n4718 COleVariant CDaoQueryDef::GetParamValue(int)\n4719 COleVariant CDaoQueryDef::GetParamValue(wchar_t const *)\n4720 COleVariant CDaoRecordset::GetParamValue(int)\n4721 COleVariant CDaoRecordset::GetParamValue(wchar_t const *)\n4722 CWnd * CWnd::GetParent(void)const \n4723 IDispatch * CHtmlView::GetParentBrowser(void)const \n4724 CFrameWnd * CWnd::GetParentFrame(void)const \n4725 _TREEITEM * CTreeCtrl::GetParentItem(_TREEITEM *)const \n4726 CWnd * CWnd::GetParentOwner(void)const \n4727 CSplitterWnd * CView::GetParentSplitter(CWnd const *,int)\n4728 int CStatusBarCtrl::GetParts(int,int *)const \n4729 wchar_t CEdit::GetPasswordChar(void)const \n4730 int COlePasteSpecialDialog::GetPasteIndex(void)const \n4731 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDataPathProperty::GetPath(void)const \n4732 int CDC::GetPath(tagPOINT *,unsigned char *,int)const \n4733 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetPathName(void)const \n4734 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileDialog::GetPathName(void)const \n4735 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleInsertDialog::GetPathName(void)const \n4736 int CAsyncSocket::GetPeerName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n4737 int CAsyncSocket::GetPeerName(sockaddr *,int *)\n4738 float CDaoRecordset::GetPercentPosition(void)\n4739 IPictureDisp * CPictureHolder::GetPictureDispatch(void)\n4740 unsigned long CDC::GetPixel(int,int)const \n4741 unsigned long CDC::GetPixel(tagPOINT)const \n4742 int CDC::GetPolyFillMode(void)const \n4743 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPageSetupDialog::GetPortName(void)const \n4744 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialog::GetPortName(void)const \n4745 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CPrintDialogEx::GetPortName(void)const \n4746 int CProgressCtrl::GetPos(void)const \n4747 int CSliderCtrl::GetPos(void)const \n4748 int CSpinButtonCtrl::GetPos(void)const \n4749 int CSpinButtonCtrl::GetPos32(int *)const \n4750 unsigned __int64 CFile::GetPosition(void)const \n4751 unsigned __int64 CMemFile::GetPosition(void)const \n4752 unsigned __int64 COleStreamFile::GetPosition(void)const \n4753 unsigned __int64 CSocketFile::GetPosition(void)const \n4754 unsigned __int64 CStdioFile::GetPosition(void)const \n4755 long COleControl::XPerPropertyBrowsing::GetPredefinedStrings(long,tagCALPOLESTR *,tagCADWORD *)\n4756 long COleControl::XPerPropertyBrowsing::GetPredefinedValue(long,unsigned long,tagVARIANT *)\n4757 CObject * & CObList::GetPrev(__POSITION * &)\n4758 CObject const * CObList::GetPrev(__POSITION * &)const \n4759 void * & CPtrList::GetPrev(__POSITION * &)\n4760 void const * CPtrList::GetPrev(__POSITION * &)const \n4761 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetPrev(__POSITION * &)\n4762 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetPrev(__POSITION * &)const \n4763 COleControlSiteOrWnd * CWnd::GetPrevDlgGroupItem(COleControlSiteOrWnd *)const \n4764 _TREEITEM * CTreeCtrl::GetPrevSiblingItem(_TREEITEM *)const \n4765 _TREEITEM * CTreeCtrl::GetPrevVisibleItem(_TREEITEM *)const \n4766 COleClientItem * COleDocument::GetPrimarySelectedItem(CView *)\n4767 COleClientItem * CRichEditDoc::GetPrimarySelectedItem(CView *)\n4768 int COleClientItem::GetPrintDeviceInfo(IOleCache * *,tagDVTARGETDEVICE * *,unsigned long *)\n4769 HDC__ * CPrintDialog::GetPrinterDC(void)const \n4770 HDC__ * CPrintDialogEx::GetPrinterDC(void)const \n4771 int CWinApp::GetPrinterDeviceDefaults(tagPDW *)\n4772 CFont * CEditView::GetPrinterFont(void)const \n4773 CRect CRichEditView::GetPrintRect(void)const \n4774 int CRichEditView::GetPrintWidth(void)const \n4775 long CAsyncMonikerFile::GetPriority(void)const \n4776 void * CThemeHelper::GetProc(char const *,void *)\n4777 int CWinApp::GetProfileBinary(wchar_t const *,wchar_t const *,unsigned char * *,unsigned int *)\n4778 unsigned int CWinApp::GetProfileIntW(wchar_t const *,wchar_t const *,int)\n4779 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CWinApp::GetProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n4780 int COlePropertyPage::GetPropCheck(wchar_t const *,int *)\n4781 COleVariant CHtmlView::GetProperty(wchar_t const *)\n4782 int CHtmlView::GetProperty(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n4783 void COleControlSite::GetProperty(long,unsigned short,void *)const \n4784 void COleDispatchDriver::GetProperty(long,unsigned short,void *)const \n4785 CProperty * CPropertySection::GetProperty(unsigned long)\n4786 CProperty * CPropertySet::GetProperty(_GUID,unsigned long)\n4787 void CWnd::GetProperty(long,unsigned short,void *)const \n4788 int COlePropertyPage::GetPropIndex(wchar_t const *,int *)\n4789 _GUID * COleControl::GetPropPageIDs(unsigned long &)\n4790 int COlePropertyPage::GetPropRadio(wchar_t const *,int *)\n4791 int COleControl::GetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n4792 int COlePropertyPage::GetPropText(wchar_t const *,unsigned char *)\n4793 int COlePropertyPage::GetPropText(wchar_t const *,short *)\n4794 int COlePropertyPage::GetPropText(wchar_t const *,int *)\n4795 int COlePropertyPage::GetPropText(wchar_t const *,unsigned int *)\n4796 int COlePropertyPage::GetPropText(wchar_t const *,long *)\n4797 int COlePropertyPage::GetPropText(wchar_t const *,unsigned long *)\n4798 int COlePropertyPage::GetPropText(wchar_t const *,float *)\n4799 int COlePropertyPage::GetPropText(wchar_t const *,double *)\n4800 int COlePropertyPage::GetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > *)\n4801 _PROPSHEETPAGEW & CPropertyPage::GetPSP(void)\n4802 _PROPSHEETPAGEW const & CPropertyPage::GetPSP(void)const \n4803 int CRichEditCtrl::GetPunctuation(unsigned int,_punctuation *)const \n4804 short CDaoDatabase::GetQueryDefCount(void)\n4805 void CDaoDatabase::GetQueryDefInfo(int,CDaoQueryDefInfo &,unsigned long)\n4806 void CDaoDatabase::GetQueryDefInfo(wchar_t const *,CDaoQueryDefInfo &,unsigned long)\n4807 short CDaoDatabase::GetQueryTimeout(void)\n4808 unsigned long CDateTimeCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4809 unsigned long CDateTimeCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4810 unsigned long CMonthCalCtrl::GetRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n4811 unsigned long CMonthCalCtrl::GetRange(ATL::COleDateTime *,ATL::COleDateTime *)const \n4812 unsigned long CMonthCalCtrl::GetRange(ATL::CTime *,ATL::CTime *)const \n4813 void CProgressCtrl::GetRange(int &,int &)const \n4814 void CSliderCtrl::GetRange(int &,int &)const \n4815 unsigned long CSpinButtonCtrl::GetRange(void)const \n4816 void CSpinButtonCtrl::GetRange(int &,int &)const \n4817 void CSpinButtonCtrl::GetRange32(int &,int &)const \n4818 int CSliderCtrl::GetRangeMax(void)const \n4819 int CSliderCtrl::GetRangeMin(void)const \n4820 void * CProperty::GetRawValue(void)\n4821 int CFileDialog::GetReadOnlyPref(void)const \n4822 enum tagREADYSTATE CHtmlView::GetReadyState(void)const \n4823 long COleControl::GetReadyState(void)\n4824 CReBarCtrl & CReBar::GetReBarCtrl(void)const \n4825 long CDaoRecordset::GetRecordCount(void)\n4826 long CDaoTableDef::GetRecordCount(void)\n4827 long CRecordset::GetRecordCount(void)const \n4828 long CDaoDatabase::GetRecordsAffected(void)\n4829 long CDaoQueryDef::GetRecordsAffected(void)\n4830 void CEdit::GetRect(tagRECT *)const \n4831 int CReBarCtrl::GetRect(unsigned int,tagRECT *)const \n4832 void CRichEditCtrl::GetRect(tagRECT *)const \n4833 int CStatusBarCtrl::GetRect(int,tagRECT *)const \n4834 int CToolBarCtrl::GetRect(int,tagRECT *)const \n4835 long CDocObjectServer::XOleDocumentView::GetRect(tagRECT *)\n4836 long COleControl::XViewObject::GetRect(unsigned long,_RECTL *)\n4837 int COleControl::GetRectInContainer(tagRECT *)\n4838 enum _undonameid CRichEditCtrl::GetRedoName(void)const \n4839 int CRgn::GetRegionData(_RGNDATA *,int)const \n4840 int CHtmlView::GetRegisterAsBrowser(void)const \n4841 int CHtmlView::GetRegisterAsDropTarget(void)const \n4842 short CDaoDatabase::GetRelationCount(void)\n4843 void CDaoDatabase::GetRelationInfo(int,CDaoRelationInfo &,unsigned long)\n4844 void CDaoDatabase::GetRelationInfo(wchar_t const *,CDaoRelationInfo &,unsigned long)\n4845 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFindReplaceDialog::GetReplaceString(void)const \n4846 int CDaoQueryDef::GetReturnsRecords(void)\n4847 int CRgn::GetRgnBox(tagRECT *)const \n4848 CRichEditCtrl & CRichEditView::GetRichEditCtrl(void)const \n4849 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFileFind::GetRoot(void)const \n4850 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetRoot(void)const \n4851 _TREEITEM * CTreeCtrl::GetRootItem(void)const \n4852 int CDC::GetROP2(void)const \n4853 CFrameWnd * CCmdTarget::GetRoutingFrame(void)\n4854 CFrameWnd * CCmdTarget::GetRoutingFrame_(void)\n4855 CView * CCmdTarget::GetRoutingView(void)\n4856 CView * CCmdTarget::GetRoutingView_(void)\n4857 unsigned int CReBarCtrl::GetRowCount(void)const \n4858 int CSplitterWnd::GetRowCount(void)const \n4859 int CTabCtrl::GetRowCount(void)const \n4860 unsigned int CReBarCtrl::GetRowHeight(unsigned int)const \n4861 void CSplitterWnd::GetRowInfo(int,int &,int &)const \n4862 int CToolBarCtrl::GetRows(void)const \n4863 unsigned long CRecordset::GetRowsetSize(void)const \n4864 unsigned long CRecordset::GetRowsFetched(void)const \n4865 unsigned short CRecordset::GetRowStatus(unsigned short)const \n4866 CRuntime* CAnimateCtrl::GetRuntimeClass(void)const \n4867 CRuntime* CArchiveException::GetRuntimeClass(void)const \n4868 CRuntime* CAsyncMonikerFile::GetRuntimeClass(void)const \n4869 CRuntime* CAsyncSocket::GetRuntimeClass(void)const \n4870 CRuntime* CBitmap::GetRuntimeClass(void)const \n4871 CRuntime* CBitmapButton::GetRuntimeClass(void)const \n4872 CRuntime* CBrush::GetRuntimeClass(void)const \n4873 CRuntime* CButton::GetRuntimeClass(void)const \n4874 CRuntime* CByteArray::GetRuntimeClass(void)const \n4875 CRuntime* CCachedDataPathProperty::GetRuntimeClass(void)const \n4876 CRuntime* CCheckListBox::GetRuntimeClass(void)const \n4877 CRuntime* CClientDC::GetRuntimeClass(void)const \n4878 CRuntime* CCmdTarget::GetRuntimeClass(void)const \n4879 CRuntime* CColorDialog::GetRuntimeClass(void)const \n4880 CRuntime* CComboBox::GetRuntimeClass(void)const \n4881 CRuntime* CComboBoxEx::GetRuntimeClass(void)const \n4882 CRuntime* CCommonDialog::GetRuntimeClass(void)const \n4883 CRuntime* CControlBar::GetRuntimeClass(void)const \n4884 CRuntime* CCriticalSection::GetRuntimeClass(void)const \n4885 CRuntime* CCtrlView::GetRuntimeClass(void)const \n4886 CRuntime* CDaoDatabase::GetRuntimeClass(void)const \n4887 CRuntime* CDaoException::GetRuntimeClass(void)const \n4888 CRuntime* CDaoQueryDef::GetRuntimeClass(void)const \n4889 CRuntime* CDaoRecordset::GetRuntimeClass(void)const \n4890 CRuntime* CDaoRecordView::GetRuntimeClass(void)const \n4891 CRuntime* CDaoTableDef::GetRuntimeClass(void)const \n4892 CRuntime* CDaoWorkspace::GetRuntimeClass(void)const \n4893 CRuntime* CDatabase::GetRuntimeClass(void)const \n4894 CRuntime* CDataPathProperty::GetRuntimeClass(void)const \n4895 CRuntime* CDateTimeCtrl::GetRuntimeClass(void)const \n4896 CRuntime* CDBException::GetRuntimeClass(void)const \n4897 CRuntime* CDC::GetRuntimeClass(void)const \n4898 CRuntime* CDHtmlDialog::GetRuntimeClass(void)const \n4899 CRuntime* CDialog::GetRuntimeClass(void)const \n4900 CRuntime* CDialogBar::GetRuntimeClass(void)const \n4901 CRuntime* CDocItem::GetRuntimeClass(void)const \n4902 CRuntime* CDockBar::GetRuntimeClass(void)const \n4903 CRuntime* CDockState::GetRuntimeClass(void)const \n4904 CRuntime* CDocManager::GetRuntimeClass(void)const \n4905 CRuntime* CDocObjectServer::GetRuntimeClass(void)const \n4906 CRuntime* CDocObjectServerItem::GetRuntimeClass(void)const \n4907 CRuntime* CDocTemplate::GetRuntimeClass(void)const \n4908 CRuntime* CDocument::GetRuntimeClass(void)const \n4909 CRuntime* CDragListBox::GetRuntimeClass(void)const \n4910 CRuntime* CDWordArray::GetRuntimeClass(void)const \n4911 CRuntime* CDynLinkLibrary::GetRuntimeClass(void)const \n4912 CRuntime* CEdit::GetRuntimeClass(void)const \n4913 CRuntime* CEditView::GetRuntimeClass(void)const \n4914 CRuntime* CEvent::GetRuntimeClass(void)const \n4915 CRuntime* CException::GetRuntimeClass(void)const \n4916 CRuntime* CFile::GetRuntimeClass(void)const \n4917 CRuntime* CFileDialog::GetRuntimeClass(void)const \n4918 CRuntime* CFileException::GetRuntimeClass(void)const \n4919 CRuntime* CFileFind::GetRuntimeClass(void)const \n4920 CRuntime* CFindReplaceDialog::GetRuntimeClass(void)const \n4921 CRuntime* CFont::GetRuntimeClass(void)const \n4922 CRuntime* CFontDialog::GetRuntimeClass(void)const \n4923 CRuntime* CFormView::GetRuntimeClass(void)const \n4924 CRuntime* CFrameWnd::GetRuntimeClass(void)const \n4925 CRuntime* CFtpConnection::GetRuntimeClass(void)const \n4926 CRuntime* CFtpFileFind::GetRuntimeClass(void)const \n4927 CRuntime* CGdiObject::GetRuntimeClass(void)const \n4928 CRuntime* CGopherConnection::GetRuntimeClass(void)const \n4929 CRuntime* CGopherFile::GetRuntimeClass(void)const \n4930 CRuntime* CGopherFileFind::GetRuntimeClass(void)const \n4931 CRuntime* CHeaderCtrl::GetRuntimeClass(void)const \n4932 CRuntime* CHotKeyCtrl::GetRuntimeClass(void)const \n4933 CRuntime* CHtmlEditDoc::GetRuntimeClass(void)const \n4934 CRuntime* CHtmlEditView::GetRuntimeClass(void)const \n4935 CRuntime* CHtmlView::GetRuntimeClass(void)const \n4936 CRuntime* CHttpConnection::GetRuntimeClass(void)const \n4937 CRuntime* CHttpFile::GetRuntimeClass(void)const \n4938 CRuntime* CImageList::GetRuntimeClass(void)const \n4939 CRuntime* CInternetConnection::GetRuntimeClass(void)const \n4940 CRuntime* CInternetException::GetRuntimeClass(void)const \n4941 CRuntime* CInternetFile::GetRuntimeClass(void)const \n4942 CRuntime* CInternetSession::GetRuntimeClass(void)const \n4943 CRuntime* CInvalidArgException::GetRuntimeClass(void)const \n4944 CRuntime* CIPAddressCtrl::GetRuntimeClass(void)const \n4945 CRuntime* CLinkCtrl::GetRuntimeClass(void)const \n4946 CRuntime* CListBox::GetRuntimeClass(void)const \n4947 CRuntime* CListCtrl::GetRuntimeClass(void)const \n4948 CRuntime* CListView::GetRuntimeClass(void)const \n4949 CRuntime* CLongBinary::GetRuntimeClass(void)const \n4950 CRuntime* CMapPtrToPtr::GetRuntimeClass(void)const \n4951 CRuntime* CMapPtrToWord::GetRuntimeClass(void)const \n4952 CRuntime* CMapStringToOb::GetRuntimeClass(void)const \n4953 CRuntime* CMapStringToPtr::GetRuntimeClass(void)const \n4954 CRuntime* CMapStringToString::GetRuntimeClass(void)const \n4955 CRuntime* CMapWordToOb::GetRuntimeClass(void)const \n4956 CRuntime* CMapWordToPtr::GetRuntimeClass(void)const \n4957 CRuntime* CMDIChildWnd::GetRuntimeClass(void)const \n4958 CRuntime* CMDIFrameWnd::GetRuntimeClass(void)const \n4959 CRuntime* CMemFile::GetRuntimeClass(void)const \n4960 CRuntime* CMemoryException::GetRuntimeClass(void)const \n4961 CRuntime* CMenu::GetRuntimeClass(void)const \n4962 CRuntime* CMetaFileDC::GetRuntimeClass(void)const \n4963 CRuntime* CMiniDockFrameWnd::GetRuntimeClass(void)const \n4964 CRuntime* CMiniFrameWnd::GetRuntimeClass(void)const \n4965 CRuntime* CMonikerFile::GetRuntimeClass(void)const \n4966 CRuntime* CMonthCalCtrl::GetRuntimeClass(void)const \n4967 CRuntime* CMultiDocTemplate::GetRuntimeClass(void)const \n4968 CRuntime* CMultiPageDHtmlDialog::GetRuntimeClass(void)const \n4969 CRuntime* CMutex::GetRuntimeClass(void)const \n4970 CRuntime* CNetAddressCtrl::GetRuntimeClass(void)const \n4971 CRuntime* CNotSupportedException::GetRuntimeClass(void)const \n4972 CRuntime* CObArray::GetRuntimeClass(void)const \n4973 CRuntime* CObject::GetRuntimeClass(void)const \n4974 CRuntime* CObList::GetRuntimeClass(void)const \n4975 CRuntime* COleBusyDialog::GetRuntimeClass(void)const \n4976 CRuntime* COleChangeIconDialog::GetRuntimeClass(void)const \n4977 CRuntime* COleChangeSourceDialog::GetRuntimeClass(void)const \n4978 CRuntime* COleClientItem::GetRuntimeClass(void)const \n4979 CRuntime* COleControl::GetRuntimeClass(void)const \n4980 CRuntime* COleControlModule::GetRuntimeClass(void)const \n4981 CRuntime* COleConvertDialog::GetRuntimeClass(void)const \n4982 CRuntime* COleDBRecordView::GetRuntimeClass(void)const \n4983 CRuntime* COleDialog::GetRuntimeClass(void)const \n4984 CRuntime* COleDispatchException::GetRuntimeClass(void)const \n4985 CRuntime* COleDocIPFrameWnd::GetRuntimeClass(void)const \n4986 CRuntime* COleDocObjectItem::GetRuntimeClass(void)const \n4987 CRuntime* COleDocument::GetRuntimeClass(void)const \n4988 CRuntime* COleException::GetRuntimeClass(void)const \n4989 CRuntime* COleInsertDialog::GetRuntimeClass(void)const \n4990 CRuntime* COleIPFrameWnd::GetRuntimeClass(void)const \n4991 CRuntime* COleLinkingDoc::GetRuntimeClass(void)const \n4992 CRuntime* COleLinksDialog::GetRuntimeClass(void)const \n4993 CRuntime* COleObjectFactory::GetRuntimeClass(void)const \n4994 CRuntime* COlePasteSpecialDialog::GetRuntimeClass(void)const \n4995 CRuntime* COlePropertiesDialog::GetRuntimeClass(void)const \n4996 CRuntime* COlePropertyPage::GetRuntimeClass(void)const \n4997 CRuntime* COleResizeBar::GetRuntimeClass(void)const \n4998 CRuntime* COleServerDoc::GetRuntimeClass(void)const \n4999 CRuntime* COleServerItem::GetRuntimeClass(void)const \n5000 CRuntime* COleStreamFile::GetRuntimeClass(void)const \n5001 CRuntime* COleUpdateDialog::GetRuntimeClass(void)const \n5002 CRuntime* CPagerCtrl::GetRuntimeClass(void)const \n5003 CRuntime* CPageSetupDialog::GetRuntimeClass(void)const \n5004 CRuntime* CPaintDC::GetRuntimeClass(void)const \n5005 CRuntime* CPalette::GetRuntimeClass(void)const \n5006 CRuntime* CPen::GetRuntimeClass(void)const \n5007 CRuntime* CPreviewDC::GetRuntimeClass(void)const \n5008 CRuntime* CPreviewView::GetRuntimeClass(void)const \n5009 CRuntime* CPrintDialog::GetRuntimeClass(void)const \n5010 CRuntime* CPrintDialogEx::GetRuntimeClass(void)const \n5011 CRuntime* CProgressCtrl::GetRuntimeClass(void)const \n5012 CRuntime* CPropertyPage::GetRuntimeClass(void)const \n5013 CRuntime* CPropertySheet::GetRuntimeClass(void)const \n5014 CRuntime* CPtrArray::GetRuntimeClass(void)const \n5015 CRuntime* CPtrList::GetRuntimeClass(void)const \n5016 CRuntime* CReBar::GetRuntimeClass(void)const \n5017 CRuntime* CReBarCtrl::GetRuntimeClass(void)const \n5018 CRuntime* CRecordset::GetRuntimeClass(void)const \n5019 CRuntime* CRecordView::GetRuntimeClass(void)const \n5020 CRuntime* CResourceException::GetRuntimeClass(void)const \n5021 CRuntime* CRgn::GetRuntimeClass(void)const \n5022 CRuntime* CRichEditCntrItem::GetRuntimeClass(void)const \n5023 CRuntime* CRichEditCtrl::GetRuntimeClass(void)const \n5024 CRuntime* CRichEditDoc::GetRuntimeClass(void)const \n5025 CRuntime* CRichEditView::GetRuntimeClass(void)const \n5026 CRuntime* CScrollBar::GetRuntimeClass(void)const \n5027 CRuntime* CScrollView::GetRuntimeClass(void)const \n5028 CRuntime* CSemaphore::GetRuntimeClass(void)const \n5029 CRuntime* CSharedFile::GetRuntimeClass(void)const \n5030 CRuntime* CSimpleException::GetRuntimeClass(void)const \n5031 CRuntime* CSingleDocTemplate::GetRuntimeClass(void)const \n5032 CRuntime* CSliderCtrl::GetRuntimeClass(void)const \n5033 CRuntime* CSocket::GetRuntimeClass(void)const \n5034 CRuntime* CSocketFile::GetRuntimeClass(void)const \n5035 CRuntime* CSpinButtonCtrl::GetRuntimeClass(void)const \n5036 CRuntime* CSplitButton::GetRuntimeClass(void)const \n5037 CRuntime* CSplitterWnd::GetRuntimeClass(void)const \n5038 CRuntime* CStatic::GetRuntimeClass(void)const \n5039 CRuntime* CStatusBar::GetRuntimeClass(void)const \n5040 CRuntime* CStatusBarCtrl::GetRuntimeClass(void)const \n5041 CRuntime* CStdioFile::GetRuntimeClass(void)const \n5042 CRuntime* CStringArray::GetRuntimeClass(void)const \n5043 CRuntime* CStringList::GetRuntimeClass(void)const \n5044 CRuntime* CSyncObject::GetRuntimeClass(void)const \n5045 CRuntime* CTabCtrl::GetRuntimeClass(void)const \n5046 CRuntime* CToolBar::GetRuntimeClass(void)const \n5047 CRuntime* CToolBarCtrl::GetRuntimeClass(void)const \n5048 CRuntime* CToolTipCtrl::GetRuntimeClass(void)const \n5049 CRuntime* CTreeCtrl::GetRuntimeClass(void)const \n5050 CRuntime* CTreeView::GetRuntimeClass(void)const \n5051 CRuntime* CUIntArray::GetRuntimeClass(void)const \n5052 CRuntime* CUserException::GetRuntimeClass(void)const \n5053 CRuntime* CView::GetRuntimeClass(void)const \n5054 CRuntime* CWinApp::GetRuntimeClass(void)const \n5055 CRuntime* CWindowDC::GetRuntimeClass(void)const \n5056 CRuntime* CWindowlessDC::GetRuntimeClass(void)const \n5057 CRuntime* CWinThread::GetRuntimeClass(void)const \n5058 CRuntime* CWnd::GetRuntimeClass(void)const \n5059 CRuntime* CWordArray::GetRuntimeClass(void)const \n5060 void * CGdiObject::GetSafeHandle(void)const \n5061 _IMAGELIST * CImageList::GetSafeHandle(void)const \n5062 HDC__ * CDC::GetSafeHdc(void)const \n5063 HMENU__ * CMenu::GetSafeHmenu(void)const \n5064 HWND__ * CWnd::GetSafeHwnd(void)const \n5065 CWnd * CWnd::GetSafeOwner(CWnd *,HWND__ * *)\n5066 HWND__ * CWnd::GetSafeOwner_(HWND__ *,HWND__ * *)\n5067 unsigned long * CColorDialog::GetSavedCustomColors(void)\n5068 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CGopherFileFind::GetScreenName(void)const \n5069 CSize CDockState::GetScreenSize(void)\n5070 CScrollBar * CView::GetScrollBarCtrl(int)const \n5071 CScrollBar * CWnd::GetScrollBarCtrl(int)const \n5072 void CScrollView::GetScrollBarSizes(CSize &)\n5073 void CScrollView::GetScrollBarState(CSize,CSize &,CSize &,CPoint &,int)\n5074 int CScrollBar::GetScrollInfo(tagSCROLLINFO *,unsigned int)\n5075 int CWnd::GetScrollInfo(int,tagSCROLLINFO *,unsigned int)\n5076 int CScrollBar::GetScrollLimit(void)\n5077 int CWnd::GetScrollLimit(int)\n5078 int CScrollBar::GetScrollPos(void)const \n5079 int CWnd::GetScrollPos(int)const \n5080 CPoint CScrollView::GetScrollPosition(void)const \n5081 void CScrollBar::GetScrollRange(int *,int *)const \n5082 void CWnd::GetScrollRange(int,int *,int *)const \n5083 unsigned long CSplitterWnd::GetScrollStyle(void)const \n5084 unsigned int CTreeCtrl::GetScrollTime(void)const \n5085 CPropertySection * CPropertySet::GetSection(_GUID)\n5086 HKEY__ * CWinApp::GetSectionKey(wchar_t const *)\n5087 wchar_t const * CPropertySection::GetSectionName(void)\n5088 unsigned long CEdit::GetSel(void)const \n5089 void CEdit::GetSel(int &,int &)const \n5090 int CListBox::GetSel(int)const \n5091 void CRichEditCtrl::GetSel(long &,long &)const \n5092 void CRichEditCtrl::GetSel(_charrange &)const \n5093 int CListBox::GetSelCount(void)const \n5094 unsigned int CListCtrl::GetSelectedCount(void)const \n5095 unsigned int CTreeCtrl::GetSelectedCount(void)\n5096 CRichEditCntrItem * CRichEditView::GetSelectedItem(void)const \n5097 _TREEITEM * CTreeCtrl::GetSelectedItem(void)const \n5098 void CEditView::GetSelectedText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5099 void CSliderCtrl::GetSelection(int &,int &)const \n5100 unsigned long CRichEditCtrl::GetSelectionCharFormat(_charformatw &)const \n5101 unsigned long CRichEditCtrl::GetSelectionCharFormat(CHARFORMAT2W &)const \n5102 int CListCtrl::GetSelectionMark(void)const \n5103 unsigned int COleBusyDialog::GetSelectionType(void)const \n5104 unsigned int COleConvertDialog::GetSelectionType(void)const \n5105 unsigned int COleInsertDialog::GetSelectionType(void)const \n5106 unsigned int COlePasteSpecialDialog::GetSelectionType(void)const \n5107 unsigned short CRichEditCtrl::GetSelectionType(void)const \n5108 int CListBox::GetSelItems(int,int *)const \n5109 int CMonthCalCtrl::GetSelRange(ATL::COleDateTime &,ATL::COleDateTime &)const \n5110 int CMonthCalCtrl::GetSelRange(ATL::CTime &,ATL::CTime &)const \n5111 int CMonthCalCtrl::GetSelRange(_SYSTEMTIME *,_SYSTEMTIME *)const \n5112 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CRichEditCtrl::GetSelText(void)const \n5113 long CRichEditCtrl::GetSelText(char *)const \n5114 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CInternetConnection::GetServerName(void)const \n5115 CInternetSession * CInternetConnection::GetSession(void)const \n5116 int CHtmlView::GetSilent(void)const \n5117 long CPrintDialogEx::GetSite(_GUID const &,void * *)\n5118 int CByteArray::GetSize(void)const \n5119 int CDWordArray::GetSize(void)const \n5120 int CFontDialog::GetSize(void)const \n5121 int CMapPtrToPtr::GetSize(void)const \n5122 int CMapPtrToWord::GetSize(void)const \n5123 int CMapStringToOb::GetSize(void)const \n5124 int CMapStringToPtr::GetSize(void)const \n5125 int CMapStringToString::GetSize(void)const \n5126 int CMapWordToOb::GetSize(void)const \n5127 int CMapWordToPtr::GetSize(void)const \n5128 int CObArray::GetSize(void)const \n5129 int CObList::GetSize(void)const \n5130 unsigned long CPropertySection::GetSize(void)\n5131 int CPtrArray::GetSize(void)const \n5132 int CPtrList::GetSize(void)const \n5133 int CStringArray::GetSize(void)const \n5134 int CStringList::GetSize(void)const \n5135 int CUIntArray::GetSize(void)const \n5136 int CWordArray::GetSize(void)const \n5137 void CDialogTemplate::GetSizeInDialogUnits(tagSIZE *)const \n5138 void CDialogTemplate::GetSizeInPixels(tagSIZE *)const \n5139 long CBlobProperty::GetSizeMax(union _ULARGE_INTEGER *)\n5140 long COleControl::XPersistMemory::GetSizeMax(unsigned long *)\n5141 long COleControl::XPersistStreamInit::GetSizeMax(union _ULARGE_INTEGER *)\n5142 CWnd * CSplitterWnd::GetSizingParent(void)\n5143 int CAsyncSocket::GetSockName(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &)\n5144 int CAsyncSocket::GetSockName(sockaddr *,int *)\n5145 int CAsyncSocket::GetSockOpt(int,void *,int *,int)\n5146 int CHtmlView::GetSource(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5147 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetSourceTableName(void)\n5148 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoQueryDef::GetSQL(void)\n5149 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetSQL(void)const \n5150 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetSQL(void)const \n5151 unsigned int CCmdTarget::GetStackSize(unsigned char const *,unsigned short)\n5152 void CCmdTarget::GetStandardProp(AFX_DISPMAP_ENTRY const *,tagVARIANT *,unsigned int *)\n5153 wchar_t const * CHtmlEditCtrl::GetStartDocument(void)\n5154 wchar_t const * CHtmlEditView::GetStartDocument(void)\n5155 __POSITION * CConnectionPoint::GetStartPosition(void)const \n5156 __POSITION * CFileDialog::GetStartPosition(void)const \n5157 __POSITION * CMapPtrToPtr::GetStartPosition(void)const \n5158 __POSITION * CMapPtrToWord::GetStartPosition(void)const \n5159 __POSITION * CMapStringToOb::GetStartPosition(void)const \n5160 __POSITION * CMapStringToPtr::GetStartPosition(void)const \n5161 __POSITION * CMapStringToString::GetStartPosition(void)const \n5162 __POSITION * CMapWordToOb::GetStartPosition(void)const \n5163 __POSITION * CMapWordToPtr::GetStartPosition(void)const \n5164 __POSITION * COleDocument::GetStartPosition(void)const \n5165 __POSITION * CRichEditDoc::GetStartPosition(void)const \n5166 unsigned int CButton::GetState(void)const \n5167 int CProgressCtrl::GetState(void)const \n5168 int CToolBarCtrl::GetState(int)const \n5169 int CFile::GetStatus(CFileStatus &)const \n5170 int CFile::GetStatus(wchar_t const *,CFileStatus &)\n5171 int CMemFile::GetStatus(CFileStatus &)const \n5172 enum COleCurrency::CurrencyStatus COleCurrency::GetStatus(void)const \n5173 int COleStreamFile::GetStatus(CFileStatus &)const \n5174 void CRecordset::GetStatus(CRecordsetStatus &)const \n5175 int CHtmlView::GetStatusBar(void)const \n5176 CStatusBarCtrl & CStatusBar::GetStatusBarCtrl(void)const \n5177 int CProgressCtrl::GetStep(void)const \n5178 unsigned long COleControl::GetStockEventMask(void)const \n5179 unsigned long COleControl::GetStockPropMask(void)const \n5180 void COleControl::GetStockTextMetrics(tagTEXTMETRICW *)\n5181 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const COleStreamFile::GetStorageName(void)const \n5182 IStream * COleStreamFile::GetStream(void)const \n5183 int CRichEditDoc::GetStreamFormat(void)const \n5184 int CDC::GetStretchBltMode(void)const \n5185 wchar_t const * ATL::CSimpleStringT<wchar_t,1>::GetString(void)const \n5186 char const * ATL::CSimpleStringT<char,1>::GetString(void)const \n5187 int CToolBarCtrl::GetString(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5188 int CToolBarCtrl::GetString(int,wchar_t *,unsigned int)const \n5189 int CListCtrl::GetStringWidth(wchar_t const *)const \n5190 unsigned long COleControlSite::GetStyle(void)const \n5191 unsigned long COleControlSiteOrWnd::GetStyle(void)const \n5192 unsigned long CToolBarCtrl::GetStyle(void)const \n5193 unsigned long CWnd::GetStyle(void)const \n5194 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFontDialog::GetStyleName(void)const \n5195 int CListCtrl::GetSubItemRect(int,int,int,CRect &)const \n5196 CMenu * CMenu::GetSubMenu(int)const \n5197 long (__stdcall** CWnd::GetSuperWndProcAddr(void))(HWND__ *,unsigned int,unsigned int,long)\n5198 int CWinApp::GetSysPolicyValue(unsigned long,int *)\n5199 CMenu * CWnd::GetSystemMenu(int)const \n5200 CSize CDC::GetTabbedTextExtentW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *)const \n5201 CSize CDC::GetTabbedTextExtentW(wchar_t const *,int,int,int *)const \n5202 CTabCtrl * CPropertySheet::GetTabControl(void)const \n5203 short CDaoDatabase::GetTableDefCount(void)\n5204 void CDaoDatabase::GetTableDefInfo(int,CDaoTableDefInfo &,unsigned long)\n5205 void CDaoDatabase::GetTableDefInfo(wchar_t const *,CDaoTableDefInfo &,unsigned long)\n5206 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CRecordset::GetTableName(void)const \n5207 CObject * & CObList::GetTail(void)\n5208 CObject const * CObList::GetTail(void)const \n5209 void * & CPtrList::GetTail(void)\n5210 void const * CPtrList::GetTail(void)const \n5211 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & CStringList::GetTail(void)\n5212 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CStringList::GetTail(void)const \n5213 __POSITION * CObList::GetTailPosition(void)const \n5214 __POSITION * CPtrList::GetTailPosition(void)const \n5215 __POSITION * CStringList::GetTailPosition(void)const \n5216 unsigned int CDialogTemplate::GetTemplateSize(DLGTEMPLATE const *)\n5217 int CListBox::GetText(int,wchar_t *)const \n5218 void CListBox::GetText(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5219 wchar_t * COleControl::GetText(void)\n5220 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetText(int,int *)const \n5221 int CStatusBarCtrl::GetText(wchar_t *,int,int *)const \n5222 void CToolTipCtrl::GetText(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,CWnd *,unsigned int)const \n5223 unsigned int CDC::GetTextAlign(void)const \n5224 unsigned long CListCtrl::GetTextBkColor(void)const \n5225 int CDC::GetTextCharacterExtra(void)const \n5226 unsigned long CDC::GetTextColor(void)const \n5227 unsigned long CListCtrl::GetTextColor(void)const \n5228 unsigned long CReBarCtrl::GetTextColor(void)const \n5229 unsigned long CTreeCtrl::GetTextColor(void)const \n5230 CSize CDC::GetTextExtent(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)const \n5231 CSize CDC::GetTextExtent(wchar_t const *,int)const \n5232 int CDC::GetTextFaceW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5233 int CDC::GetTextFaceW(int,wchar_t *)const \n5234 int CListBox::GetTextLen(int)const \n5235 long CRecordset::GetTextLen(short,unsigned long)\n5236 long CRichEditCtrl::GetTextLength(void)const \n5237 long CRichEditView::GetTextLength(void)const \n5238 int CStatusBarCtrl::GetTextLength(int,int *)const \n5239 long CRichEditCtrl::GetTextLengthEx(unsigned long,unsigned int)const \n5240 long CRichEditView::GetTextLengthEx(unsigned long,unsigned int)const \n5241 int CDC::GetTextMetrics(tagTEXTMETRICW *)const \n5242 int CDC::GetTextMetricsW(tagTEXTMETRICW *)const \n5243 unsigned int CRichEditCtrl::GetTextMode(void)const \n5244 int CRichEditCtrl::GetTextRange(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5245 int CHtmlView::GetTheaterMode(void)const \n5246 long CThemeHelper::GetThemePartSize(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n5247 long CThemeHelper::GetThemePartSizeFail(void *,HDC__ *,int,int,tagRECT *,enum THEMESIZE,tagSIZE *)\n5248 CRuntime* CAnimateCtrl::GetThisClass(void)\n5249 CRuntime* CArchiveException::GetThisClass(void)\n5250 CRuntime* CAsyncMonikerFile::GetThisClass(void)\n5251 CRuntime* CAsyncSocket::GetThisClass(void)\n5252 CRuntime* CBitmap::GetThisClass(void)\n5253 CRuntime* CBitmapButton::GetThisClass(void)\n5254 CRuntime* CBrush::GetThisClass(void)\n5255 CRuntime* CButton::GetThisClass(void)\n5256 CRuntime* CByteArray::GetThisClass(void)\n5257 CRuntime* CCachedDataPathProperty::GetThisClass(void)\n5258 CRuntime* CCheckListBox::GetThisClass(void)\n5259 CRuntime* CClientDC::GetThisClass(void)\n5260 CRuntime* CCmdTarget::GetThisClass(void)\n5261 CRuntime* CColorDialog::GetThisClass(void)\n5262 CRuntime* CComboBox::GetThisClass(void)\n5263 CRuntime* CComboBoxEx::GetThisClass(void)\n5264 CRuntime* CCommonDialog::GetThisClass(void)\n5265 CRuntime* CControlBar::GetThisClass(void)\n5266 CRuntime* CCriticalSection::GetThisClass(void)\n5267 CRuntime* CCtrlView::GetThisClass(void)\n5268 CRuntime* CDaoDatabase::GetThisClass(void)\n5269 CRuntime* CDaoException::GetThisClass(void)\n5270 CRuntime* CDaoQueryDef::GetThisClass(void)\n5271 CRuntime* CDaoRecordset::GetThisClass(void)\n5272 CRuntime* CDaoRecordView::GetThisClass(void)\n5273 CRuntime* CDaoTableDef::GetThisClass(void)\n5274 CRuntime* CDaoWorkspace::GetThisClass(void)\n5275 CRuntime* CDatabase::GetThisClass(void)\n5276 CRuntime* CDataPathProperty::GetThisClass(void)\n5277 CRuntime* CDateTimeCtrl::GetThisClass(void)\n5278 CRuntime* CDBException::GetThisClass(void)\n5279 CRuntime* CDC::GetThisClass(void)\n5280 CRuntime* CDHtmlDialog::GetThisClass(void)\n5281 CRuntime* CDialog::GetThisClass(void)\n5282 CRuntime* CDialogBar::GetThisClass(void)\n5283 CRuntime* CDocItem::GetThisClass(void)\n5284 CRuntime* CDockBar::GetThisClass(void)\n5285 CRuntime* CDockState::GetThisClass(void)\n5286 CRuntime* CDocManager::GetThisClass(void)\n5287 CRuntime* CDocObjectServer::GetThisClass(void)\n5288 CRuntime* CDocObjectServerItem::GetThisClass(void)\n5289 CRuntime* CDocTemplate::GetThisClass(void)\n5290 CRuntime* CDocument::GetThisClass(void)\n5291 CRuntime* CDragListBox::GetThisClass(void)\n5292 CRuntime* CDWordArray::GetThisClass(void)\n5293 CRuntime* CDynLinkLibrary::GetThisClass(void)\n5294 CRuntime* CEdit::GetThisClass(void)\n5295 CRuntime* CEditView::GetThisClass(void)\n5296 CRuntime* CEvent::GetThisClass(void)\n5297 CRuntime* CException::GetThisClass(void)\n5298 CRuntime* CFile::GetThisClass(void)\n5299 CRuntime* CFileDialog::GetThisClass(void)\n5300 CRuntime* CFileException::GetThisClass(void)\n5301 CRuntime* CFileFind::GetThisClass(void)\n5302 CRuntime* CFindReplaceDialog::GetThisClass(void)\n5303 CRuntime* CFont::GetThisClass(void)\n5304 CRuntime* CFontDialog::GetThisClass(void)\n5305 CRuntime* CFormView::GetThisClass(void)\n5306 CRuntime* CFrameWnd::GetThisClass(void)\n5307 CRuntime* CFtpConnection::GetThisClass(void)\n5308 CRuntime* CFtpFileFind::GetThisClass(void)\n5309 CRuntime* CGdiObject::GetThisClass(void)\n5310 CRuntime* CGopherConnection::GetThisClass(void)\n5311 CRuntime* CGopherFile::GetThisClass(void)\n5312 CRuntime* CGopherFileFind::GetThisClass(void)\n5313 CRuntime* CHeaderCtrl::GetThisClass(void)\n5314 CRuntime* CHotKeyCtrl::GetThisClass(void)\n5315 CRuntime* CHtmlEditDoc::GetThisClass(void)\n5316 CRuntime* CHtmlEditView::GetThisClass(void)\n5317 CRuntime* CHtmlView::GetThisClass(void)\n5318 CRuntime* CHttpConnection::GetThisClass(void)\n5319 CRuntime* CHttpFile::GetThisClass(void)\n5320 CRuntime* CImageList::GetThisClass(void)\n5321 CRuntime* CInternetConnection::GetThisClass(void)\n5322 CRuntime* CInternetException::GetThisClass(void)\n5323 CRuntime* CInternetFile::GetThisClass(void)\n5324 CRuntime* CInternetSession::GetThisClass(void)\n5325 CRuntime* CInvalidArgException::GetThisClass(void)\n5326 CRuntime* CIPAddressCtrl::GetThisClass(void)\n5327 CRuntime* CLinkCtrl::GetThisClass(void)\n5328 CRuntime* CListBox::GetThisClass(void)\n5329 CRuntime* CListCtrl::GetThisClass(void)\n5330 CRuntime* CListView::GetThisClass(void)\n5331 CRuntime* CLongBinary::GetThisClass(void)\n5332 CRuntime* CMapPtrToPtr::GetThisClass(void)\n5333 CRuntime* CMapPtrToWord::GetThisClass(void)\n5334 CRuntime* CMapStringToOb::GetThisClass(void)\n5335 CRuntime* CMapStringToPtr::GetThisClass(void)\n5336 CRuntime* CMapStringToString::GetThisClass(void)\n5337 CRuntime* CMapWordToOb::GetThisClass(void)\n5338 CRuntime* CMapWordToPtr::GetThisClass(void)\n5339 CRuntime* CMDIChildWnd::GetThisClass(void)\n5340 CRuntime* CMDIFrameWnd::GetThisClass(void)\n5341 CRuntime* CMemFile::GetThisClass(void)\n5342 CRuntime* CMemoryException::GetThisClass(void)\n5343 CRuntime* CMenu::GetThisClass(void)\n5344 CRuntime* CMetaFileDC::GetThisClass(void)\n5345 CRuntime* CMiniDockFrameWnd::GetThisClass(void)\n5346 CRuntime* CMiniFrameWnd::GetThisClass(void)\n5347 CRuntime* CMonikerFile::GetThisClass(void)\n5348 CRuntime* CMonthCalCtrl::GetThisClass(void)\n5349 CRuntime* CMultiDocTemplate::GetThisClass(void)\n5350 CRuntime* CMultiPageDHtmlDialog::GetThisClass(void)\n5351 CRuntime* CMutex::GetThisClass(void)\n5352 CRuntime* CNetAddressCtrl::GetThisClass(void)\n5353 CRuntime* CNotSupportedException::GetThisClass(void)\n5354 CRuntime* CObArray::GetThisClass(void)\n5355 CRuntime* CObject::GetThisClass(void)\n5356 CRuntime* CObList::GetThisClass(void)\n5357 CRuntime* COleBusyDialog::GetThisClass(void)\n5358 CRuntime* COleChangeIconDialog::GetThisClass(void)\n5359 CRuntime* COleChangeSourceDialog::GetThisClass(void)\n5360 CRuntime* COleClientItem::GetThisClass(void)\n5361 CRuntime* COleControl::GetThisClass(void)\n5362 CRuntime* COleControlModule::GetThisClass(void)\n5363 CRuntime* COleConvertDialog::GetThisClass(void)\n5364 CRuntime* COleDBRecordView::GetThisClass(void)\n5365 CRuntime* COleDialog::GetThisClass(void)\n5366 CRuntime* COleDispatchException::GetThisClass(void)\n5367 CRuntime* COleDocIPFrameWnd::GetThisClass(void)\n5368 CRuntime* COleDocObjectItem::GetThisClass(void)\n5369 CRuntime* COleDocument::GetThisClass(void)\n5370 CRuntime* COleException::GetThisClass(void)\n5371 CRuntime* COleInsertDialog::GetThisClass(void)\n5372 CRuntime* COleIPFrameWnd::GetThisClass(void)\n5373 CRuntime* COleLinkingDoc::GetThisClass(void)\n5374 CRuntime* COleLinksDialog::GetThisClass(void)\n5375 CRuntime* COleObjectFactory::GetThisClass(void)\n5376 CRuntime* COlePasteSpecialDialog::GetThisClass(void)\n5377 CRuntime* COlePropertiesDialog::GetThisClass(void)\n5378 CRuntime* COlePropertyPage::GetThisClass(void)\n5379 CRuntime* COleResizeBar::GetThisClass(void)\n5380 CRuntime* COleServerDoc::GetThisClass(void)\n5381 CRuntime* COleServerItem::GetThisClass(void)\n5382 CRuntime* COleStreamFile::GetThisClass(void)\n5383 CRuntime* COleUpdateDialog::GetThisClass(void)\n5384 CRuntime* CPagerCtrl::GetThisClass(void)\n5385 CRuntime* CPageSetupDialog::GetThisClass(void)\n5386 CRuntime* CPaintDC::GetThisClass(void)\n5387 CRuntime* CPalette::GetThisClass(void)\n5388 CRuntime* CPen::GetThisClass(void)\n5389 CRuntime* CPreviewDC::GetThisClass(void)\n5390 CRuntime* CPreviewView::GetThisClass(void)\n5391 CRuntime* CPrintDialog::GetThisClass(void)\n5392 CRuntime* CPrintDialogEx::GetThisClass(void)\n5393 CRuntime* CProgressCtrl::GetThisClass(void)\n5394 CRuntime* CPropertyPage::GetThisClass(void)\n5395 CRuntime* CPropertySheet::GetThisClass(void)\n5396 CRuntime* CPtrArray::GetThisClass(void)\n5397 CRuntime* CPtrList::GetThisClass(void)\n5398 CRuntime* CReBar::GetThisClass(void)\n5399 CRuntime* CReBarCtrl::GetThisClass(void)\n5400 CRuntime* CRecordset::GetThisClass(void)\n5401 CRuntime* CRecordView::GetThisClass(void)\n5402 CRuntime* CResourceException::GetThisClass(void)\n5403 CRuntime* CRgn::GetThisClass(void)\n5404 CRuntime* CRichEditCntrItem::GetThisClass(void)\n5405 CRuntime* CRichEditCtrl::GetThisClass(void)\n5406 CRuntime* CRichEditDoc::GetThisClass(void)\n5407 CRuntime* CRichEditView::GetThisClass(void)\n5408 CRuntime* CScrollBar::GetThisClass(void)\n5409 CRuntime* CScrollView::GetThisClass(void)\n5410 CRuntime* CSemaphore::GetThisClass(void)\n5411 CRuntime* CSharedFile::GetThisClass(void)\n5412 CRuntime* CSimpleException::GetThisClass(void)\n5413 CRuntime* CSingleDocTemplate::GetThisClass(void)\n5414 CRuntime* CSliderCtrl::GetThisClass(void)\n5415 CRuntime* CSocket::GetThisClass(void)\n5416 CRuntime* CSocketFile::GetThisClass(void)\n5417 CRuntime* CSpinButtonCtrl::GetThisClass(void)\n5418 CRuntime* CSplitButton::GetThisClass(void)\n5419 CRuntime* CSplitterWnd::GetThisClass(void)\n5420 CRuntime* CStatic::GetThisClass(void)\n5421 CRuntime* CStatusBar::GetThisClass(void)\n5422 CRuntime* CStatusBarCtrl::GetThisClass(void)\n5423 CRuntime* CStdioFile::GetThisClass(void)\n5424 CRuntime* CStringArray::GetThisClass(void)\n5425 CRuntime* CStringList::GetThisClass(void)\n5426 CRuntime* CSyncObject::GetThisClass(void)\n5427 CRuntime* CTabCtrl::GetThisClass(void)\n5428 CRuntime* CToolBar::GetThisClass(void)\n5429 CRuntime* CToolBarCtrl::GetThisClass(void)\n5430 CRuntime* CToolTipCtrl::GetThisClass(void)\n5431 CRuntime* CTreeCtrl::GetThisClass(void)\n5432 CRuntime* CTreeView::GetThisClass(void)\n5433 CRuntime* CUIntArray::GetThisClass(void)\n5434 CRuntime* CUserException::GetThisClass(void)\n5435 CRuntime* CView::GetThisClass(void)\n5436 CRuntime* CWinApp::GetThisClass(void)\n5437 CRuntime* CWindowDC::GetThisClass(void)\n5438 CRuntime* CWindowlessDC::GetThisClass(void)\n5439 CRuntime* CWinThread::GetThisClass(void)\n5440 CRuntime* CWnd::GetThisClass(void)\n5441 CRuntime* CWordArray::GetThisClass(void)\n5442 AFX_OLECMDMAP const * CCmdTarget::GetThisCommandMap(void)\n5443 AFX_OLECMDMAP const * COleDocObjectItem::GetThisCommandMap(void)\n5444 AFX_CONNECTIONMAP const * CCmdTarget::GetThisConnectionMap(void)\n5445 AFX_CONNECTIONMAP const * COleControl::GetThisConnectionMap(void)\n5446 AFX_DISPMAP const * CCmdTarget::GetThisDispatchMap(void)\n5447 AFX_DISPMAP const * COleControlContainer::GetThisDispatchMap(void)\n5448 AFX_EVENTMAP const * COleControl::GetThisEventMap(void)\n5449 AFX_EVENTSINKMAP const * CCmdTarget::GetThisEventSinkMap(void)\n5450 AFX_EVENTSINKMAP const * CDHtmlDialog::GetThisEventSinkMap(void)\n5451 AFX_EVENTSINKMAP const * CHtmlEditCtrl::GetThisEventSinkMap(void)\n5452 AFX_EVENTSINKMAP const * CHtmlView::GetThisEventSinkMap(void)\n5453 AFX_INTERFACEMAP const * CCmdTarget::GetThisInterfaceMap(void)\n5454 AFX_INTERFACEMAP const * CDocObjectServer::GetThisInterfaceMap(void)\n5455 AFX_INTERFACEMAP const * CEnumConnections::GetThisInterfaceMap(void)\n5456 AFX_INTERFACEMAP const * CEnumConnPoints::GetThisInterfaceMap(void)\n5457 AFX_INTERFACEMAP const * CEnumFormatEtc::GetThisInterfaceMap(void)\n5458 AFX_INTERFACEMAP const * CEnumOleVerb::GetThisInterfaceMap(void)\n5459 AFX_INTERFACEMAP const * CEnumUnknown::GetThisInterfaceMap(void)\n5460 AFX_INTERFACEMAP const * CFileDialog::GetThisInterfaceMap(void)\n5461 AFX_INTERFACEMAP const * CHtmlControlSite::GetThisInterfaceMap(void)\n5462 AFX_INTERFACEMAP const * COleClientItem::GetThisInterfaceMap(void)\n5463 AFX_INTERFACEMAP const * COleControl::GetThisInterfaceMap(void)\n5464 AFX_INTERFACEMAP const * COleControlContainer::GetThisInterfaceMap(void)\n5465 AFX_INTERFACEMAP const * COleControlSite::GetThisInterfaceMap(void)\n5466 AFX_INTERFACEMAP const * COleDataSource::GetThisInterfaceMap(void)\n5467 AFX_INTERFACEMAP const * COleDocObjectItem::GetThisInterfaceMap(void)\n5468 AFX_INTERFACEMAP const * COleDropSource::GetThisInterfaceMap(void)\n5469 AFX_INTERFACEMAP const * COleDropTarget::GetThisInterfaceMap(void)\n5470 AFX_INTERFACEMAP const * COleFrameHook::GetThisInterfaceMap(void)\n5471 AFX_INTERFACEMAP const * COleLinkingDoc::GetThisInterfaceMap(void)\n5472 AFX_INTERFACEMAP const * COleMessageFilter::GetThisInterfaceMap(void)\n5473 AFX_INTERFACEMAP const * COleObjectFactory::GetThisInterfaceMap(void)\n5474 AFX_INTERFACEMAP const * COlePropertyPage::GetThisInterfaceMap(void)\n5475 AFX_INTERFACEMAP const * COleServerDoc::GetThisInterfaceMap(void)\n5476 AFX_INTERFACEMAP const * COleServerItem::GetThisInterfaceMap(void)\n5477 AFX_INTERFACEMAP const * CRichEditView::GetThisInterfaceMap(void)\n5478 AFX_INTERFACEMAP const * CWnd::GetThisInterfaceMap(void)\n5479 AFX_MSGMAP const * CCheckListBox::GetThisMessageMap(void)\n5480 AFX_MSGMAP const * CCmdTarget::GetThisMessageMap(void)\n5481 AFX_MSGMAP const * CCommonDialog::GetThisMessageMap(void)\n5482 AFX_MSGMAP const * CControlBar::GetThisMessageMap(void)\n5483 AFX_MSGMAP const * CControlFrameWnd::GetThisMessageMap(void)\n5484 AFX_MSGMAP const * CCtrlView::GetThisMessageMap(void)\n5485 AFX_MSGMAP const * CDaoRecordView::GetThisMessageMap(void)\n5486 AFX_MSGMAP const * CDHtmlDialog::GetThisMessageMap(void)\n5487 AFX_MSGMAP const * CDialog::GetThisMessageMap(void)\n5488 AFX_MSGMAP const * CDialogBar::GetThisMessageMap(void)\n5489 AFX_MSGMAP const * CDockBar::GetThisMessageMap(void)\n5490 AFX_MSGMAP const * CDocObjectServer::GetThisMessageMap(void)\n5491 AFX_MSGMAP const * CDocument::GetThisMessageMap(void)\n5492 AFX_MSGMAP const * CEditView::GetThisMessageMap(void)\n5493 AFX_MSGMAP const * CFormView::GetThisMessageMap(void)\n5494 AFX_MSGMAP const * CFrameWnd::GetThisMessageMap(void)\n5495 AFX_MSGMAP const * CHtmlEditView::GetThisMessageMap(void)\n5496 AFX_MSGMAP const * CHtmlView::GetThisMessageMap(void)\n5497 AFX_MSGMAP const * CListCtrl::GetThisMessageMap(void)\n5498 AFX_MSGMAP const * CListView::GetThisMessageMap(void)\n5499 AFX_MSGMAP const * CMDIChildWnd::GetThisMessageMap(void)\n5500 AFX_MSGMAP const * CMDIFrameWnd::GetThisMessageMap(void)\n5501 AFX_MSGMAP const * CMiniDockFrameWnd::GetThisMessageMap(void)\n5502 AFX_MSGMAP const * CMiniFrameWnd::GetThisMessageMap(void)\n5503 AFX_MSGMAP const * COleControl::GetThisMessageMap(void)\n5504 AFX_MSGMAP const * COleDBRecordView::GetThisMessageMap(void)\n5505 AFX_MSGMAP const * COleDocIPFrameWnd::GetThisMessageMap(void)\n5506 AFX_MSGMAP const * COleIPFrameWnd::GetThisMessageMap(void)\n5507 AFX_MSGMAP const * COlePropertyPage::GetThisMessageMap(void)\n5508 AFX_MSGMAP const * COleResizeBar::GetThisMessageMap(void)\n5509 AFX_MSGMAP const * COleServerDoc::GetThisMessageMap(void)\n5510 AFX_MSGMAP const * CPreviewView::GetThisMessageMap(void)\n5511 AFX_MSGMAP const * CPrintDialog::GetThisMessageMap(void)\n5512 AFX_MSGMAP const * CPrintDialogEx::GetThisMessageMap(void)\n5513 AFX_MSGMAP const * CPropertyPage::GetThisMessageMap(void)\n5514 AFX_MSGMAP const * CPropertySheet::GetThisMessageMap(void)\n5515 AFX_MSGMAP const * CReBar::GetThisMessageMap(void)\n5516 AFX_MSGMAP const * CRecordView::GetThisMessageMap(void)\n5517 AFX_MSGMAP const * CRichEditView::GetThisMessageMap(void)\n5518 AFX_MSGMAP const * CScrollView::GetThisMessageMap(void)\n5519 AFX_MSGMAP const * CSocketWnd::GetThisMessageMap(void)\n5520 AFX_MSGMAP const * CSplitButton::GetThisMessageMap(void)\n5521 AFX_MSGMAP const * CSplitterWnd::GetThisMessageMap(void)\n5522 AFX_MSGMAP const * CStatusBar::GetThisMessageMap(void)\n5523 AFX_MSGMAP const * CTabCtrl::GetThisMessageMap(void)\n5524 AFX_MSGMAP const * CToolBar::GetThisMessageMap(void)\n5525 AFX_MSGMAP const * CToolBarCtrl::GetThisMessageMap(void)\n5526 AFX_MSGMAP const * CToolTipCtrl::GetThisMessageMap(void)\n5527 AFX_MSGMAP const * CTreeCtrl::GetThisMessageMap(void)\n5528 AFX_MSGMAP const * CTreeView::GetThisMessageMap(void)\n5529 AFX_MSGMAP const * CView::GetThisMessageMap(void)\n5530 AFX_MSGMAP const * CWinApp::GetThisMessageMap(void)\n5531 AFX_MSGMAP const * CWnd::GetThisMessageMap(void)\n5532 int CWinThread::GetThreadPriority(void)\n5533 int CSliderCtrl::GetThumbLength(void)const \n5534 void CSliderCtrl::GetThumbRect(tagRECT *)const \n5535 int CSliderCtrl::GetTic(int)const \n5536 unsigned long * CSliderCtrl::GetTicArray(void)const \n5537 int CSliderCtrl::GetTicPos(int)const \n5538 int CDateTimeCtrl::GetTime(ATL::COleDateTime &)const \n5539 unsigned long CDateTimeCtrl::GetTime(ATL::CTime &)const \n5540 unsigned long CDateTimeCtrl::GetTime(_SYSTEMTIME *)const \n5541 unsigned long CToolTipCtrl::GetTipBkColor(void)const \n5542 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStatusBarCtrl::GetTipText(int)const \n5543 unsigned long CToolTipCtrl::GetTipTextColor(void)const \n5544 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & CDocument::GetTitle(void)const \n5545 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CFrameWnd::GetTitle(void)const \n5546 void CToolTipCtrl::GetTitle(_TTGETTITLE *)const \n5547 int CMonthCalCtrl::GetToday(ATL::COleDateTime &)const \n5548 int CMonthCalCtrl::GetToday(ATL::CTime &)const \n5549 int CMonthCalCtrl::GetToday(_SYSTEMTIME *)const \n5550 int CHtmlView::GetToolBar(void)const \n5551 CToolBarCtrl & CToolBar::GetToolBarCtrl(void)const \n5552 int CToolTipCtrl::GetToolCount(void)const \n5553 int CToolTipCtrl::GetToolInfo(CToolInfo &,CWnd *,unsigned int)const \n5554 CToolTipCtrl * CListCtrl::GetToolTips(void)const \n5555 CToolTipCtrl * CReBarCtrl::GetToolTips(void)const \n5556 CToolTipCtrl * CSliderCtrl::GetToolTips(void)const \n5557 CToolTipCtrl * CTabCtrl::GetToolTips(void)const \n5558 CToolTipCtrl * CToolBarCtrl::GetToolTips(void)const \n5559 CToolTipCtrl * CTreeCtrl::GetToolTips(void)const \n5560 long CHtmlView::GetTop(void)const \n5561 int CPrintDialog::GetToPage(void)const \n5562 unsigned int CPrintInfo::GetToPage(void)const \n5563 int CComboBox::GetTopIndex(void)const \n5564 int CListBox::GetTopIndex(void)const \n5565 int CListCtrl::GetTopIndex(void)const \n5566 int CHtmlView::GetTopLevelContainer(void)const \n5567 CFrameWnd * CWnd::GetTopLevelFrame(void)const \n5568 CWnd * CWnd::GetTopLevelOwner(void)const \n5569 CWnd * CWnd::GetTopLevelParent(void)const \n5570 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > COleChangeSourceDialog::GetToPrefix(void)\n5571 CWnd * CWnd::GetTopWindow(void)const \n5572 CSize CScrollView::GetTotalSize(void)const \n5573 CTreeCtrl & CTreeView::GetTreeCtrl(void)const \n5574 int CScrollView::GetTrueClientSize(CSize &,CSize &)\n5575 void CRectTracker::GetTrueRect(tagRECT *)const \n5576 short CDaoQueryDef::GetType(void)\n5577 short CDaoRecordset::GetType(void)\n5578 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHtmlView::GetType(void)const \n5579 enum OLE_OBJTYPE COleClientItem::GetType(void)const \n5580 short CPictureHolder::GetType(void)\n5581 unsigned long CProperty::GetType(void)\n5582 long CDHtmlControlSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5583 long CDHtmlElementEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5584 long CDHtmlEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5585 long COleDispatchImpl::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5586 long CWnd::XAccessible::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5587 long COleControlSite::XAmbientProps::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5588 long COleControlSite::XEventSink::GetTypeInfo(unsigned int,unsigned long,ITypeInfo * *)\n5589 unsigned int CCmdTarget::GetTypeInfoCount(void)\n5590 long CDHtmlControlSink::GetTypeInfoCount(unsigned int *)\n5591 long CDHtmlElementEventSink::GetTypeInfoCount(unsigned int *)\n5592 long CDHtmlEventSink::GetTypeInfoCount(unsigned int *)\n5593 long COleDispatchImpl::GetTypeInfoCount(unsigned int *)\n5594 long CWnd::XAccessible::GetTypeInfoCount(unsigned int *)\n5595 long COleControlSite::XAmbientProps::GetTypeInfoCount(unsigned int *)\n5596 long COleControlSite::XEventSink::GetTypeInfoCount(unsigned int *)\n5597 long CCmdTarget::GetTypeInfoOfGuid(unsigned long,_GUID const &,ITypeInfo * *)\n5598 long CCmdTarget::GetTypeLib(unsigned long,ITypeLib * *)\n5599 CTypeLibCache * CCmdTarget::GetTypeLibCache(void)\n5600 void COleSafeArray::GetUBound(unsigned long,long *)\n5601 enum _undonameid CRichEditCtrl::GetUndoName(void)const \n5602 int CWnd::GetUpdateRect(tagRECT *,int)\n5603 int CWnd::GetUpdateRgn(CRgn *,int)\n5604 int CByteArray::GetUpperBound(void)const \n5605 int CDWordArray::GetUpperBound(void)const \n5606 int CObArray::GetUpperBound(void)const \n5607 int CPtrArray::GetUpperBound(void)const \n5608 int CStringArray::GetUpperBound(void)const \n5609 int CUIntArray::GetUpperBound(void)const \n5610 int CWordArray::GetUpperBound(void)const \n5611 long CDocObjectServer::XOleObject::GetUserClassID(_GUID *)\n5612 long COleControl::XOleObject::GetUserClassID(_GUID *)\n5613 long COleServerDoc::XOleObject::GetUserClassID(_GUID *)\n5614 long COleServerItem::XOleObject::GetUserClassID(_GUID *)\n5615 unsigned short CDHtmlControlSink::GetUserDefinedType(ITypeInfo *,unsigned long)\n5616 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetUserNameW(void)\n5617 void COleClientItem::GetUserType(enum tagUSERCLASSTYPE,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n5618 void COleControl::GetUserType(wchar_t *)\n5619 long CDocObjectServer::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5620 long COleControl::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5621 long COleServerDoc::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5622 long COleServerItem::XOleObject::GetUserType(unsigned long,wchar_t * *)\n5623 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationRule(void)\n5624 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationRule(void)\n5625 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoRecordset::GetValidationText(void)\n5626 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoTableDef::GetValidationText(void)\n5627 void * CMapPtrToPtr::GetValueAt(void *)const \n5628 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CHttpFile::GetVerb(void)const \n5629 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoDatabase::GetVersion(void)\n5630 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CDaoWorkspace::GetVersion(void)\n5631 unsigned long CDockState::GetVersion(void)\n5632 unsigned long CPropExchange::GetVersion(void)\n5633 CHtmlEditView * CHtmlEditDoc::GetView(void)const \n5634 CRichEditView * CRichEditDoc::GetView(void)const \n5635 long COlePropertiesDialog::XOleUIObjInfo::GetViewInfo(unsigned long,void * *,unsigned long *,int *)\n5636 CSize CDC::GetViewportExt(void)const \n5637 CPoint CDC::GetViewportOrg(void)const \n5638 int CListCtrl::GetViewRect(tagRECT *)const \n5639 long COleControl::XViewObject::GetViewStatus(unsigned long *)\n5640 int CHtmlView::GetVisible(void)const \n5641 unsigned int CTreeCtrl::GetVisibleCount(void)const \n5642 int CFontDialog::GetWeight(void)const \n5643 CSize CScrollView::GetWheelScrollDistance(CSize,int,int)\n5644 long CHtmlView::GetWidth(void)const \n5645 CWnd * CDC::GetWindow(void)const \n5646 CWnd * CWnd::GetWindow(unsigned int)const \n5647 long COleControl::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5648 long COleServerDoc::XOleInPlaceActiveObject::GetWindow(HWND__ * *)\n5649 long COleFrameHook::XOleInPlaceFrame::GetWindow(HWND__ * *)\n5650 long COleControl::XOleInPlaceObject::GetWindow(HWND__ * *)\n5651 long COleServerDoc::XOleInPlaceObject::GetWindow(HWND__ * *)\n5652 long COleControlContainer::XOleIPFrame::GetWindow(HWND__ * *)\n5653 long COleClientItem::XOleIPSite::GetWindow(HWND__ * *)\n5654 long COleControlSite::XOleIPSite::GetWindow(HWND__ * *)\n5655 long CRichEditCntrItem::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5656 long CRichEditView::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagOIFI *)\n5657 long COleClientItem::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5658 long COleControlSite::XOleIPSite::GetWindowContext(IOleInPlaceFrame * *,IOleInPlaceUIWindow * *,tagRECT *,tagRECT *,tagOIFI *)\n5659 unsigned long CWnd::GetWindowContextHelpId(void)const \n5660 CDC * CWnd::GetWindowDC(void)\n5661 long CWnd::GetWindowedChildCount(void)\n5662 CSize CDC::GetWindowExt(void)const \n5663 long CWnd::GetWindowLessChildCount(void)\n5664 IDropTarget * COleControl::GetWindowlessDropTarget(void)\n5665 HMENU__ * CMDIFrameWnd::GetWindowMenuPopup(HMENU__ *)\n5666 CPoint CDC::GetWindowOrg(void)const \n5667 int CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)const \n5668 void CWnd::GetWindowRect(tagRECT *)const \n5669 int CWnd::GetWindowRgn(HRGN__ *)const \n5670 int CWnd::GetWindowTextLengthW(void)const \n5671 void COleControlSite::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5672 int CWnd::GetWindowTextW(wchar_t *,int)const \n5673 void CWnd::GetWindowTextW(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n5674 unsigned int CRichEditCtrl::GetWordWrapMode(void)const \n5675 void CListCtrl::GetWorkAreas(int,tagRECT *)const \n5676 short CDaoWorkspace::GetWorkspaceCount(void)\n5677 void CDaoWorkspace::GetWorkspaceInfo(int,CDaoWorkspaceInfo &,unsigned long)\n5678 void CDaoWorkspace::GetWorkspaceInfo(wchar_t const *,CDaoWorkspaceInfo &,unsigned long)\n5679 int CDC::GetWorldTransform(tagXFORM *)const \n5680 int COleServerDoc::GetZoomFactor(tagSIZE *,tagSIZE *,tagRECT const *)const \n5681 long COleDropSource::GiveFeedback(unsigned long)\n5682 long COleDropSource::XDropSource::GiveFeedback(unsigned long)\n5683 void CHtmlView::GoBack(void)\n5684 void CHtmlView::GoForward(void)\n5685 void CHtmlView::GoHome(void)\n5686 void CHtmlView::GoSearch(void)\n5687 void CDialog::GotoDlgCtrl(CWnd *)\n5688 int CDC::GradientFill(_TRIVERTEX *,unsigned long,void *,unsigned long,unsigned long)\n5689 int CWnd::GrayCtlColor(HDC__ *,HWND__ *,unsigned int,HBRUSH__ *,unsigned long)\n5690 int CDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5691 int CPreviewDC::GrayStringW(CBrush *,int (__stdcall*)(HDC__ *,long,int),long,int,int,int,int,int)\n5692 void CMemFile::GrowFile(unsigned long)\n5693 int CWnd::HandleFloatingSysCommand(unsigned int,long)\n5694 unsigned long COleMessageFilter::XMessageFilter::HandleInComingCall(unsigned long,HTASK__ *,unsigned long,tagINTERFACEINFO *)\n5695 long CDialog::HandleInitDialog(unsigned int,long)\n5696 long CDialogBar::HandleInitDialog(unsigned int,long)\n5697 long CFormView::HandleInitDialog(unsigned int,long)\n5698 long CPrintDialogEx::HandleInitDialog(unsigned int,long)\n5699 long CPropertySheet::HandleInitDialog(unsigned int,long)\n5700 long CScrollView::HandleMButtonDown(unsigned int,long)\n5701 long CPrintDialogEx::HandleMessage(HWND__ *,unsigned int,unsigned int,long,long *)\n5702 int COleControlContainer::HandleSetFocus(void)\n5703 long CDialog::HandleSetFont(unsigned int,long)\n5704 int COleControlContainer::HandleWindowlessMessage(unsigned int,unsigned int,long,long *)\n5705 long COleControl::XPersistStorage::HandsOffStorage(void)\n5706 long COleServerDoc::XPersistStorage::HandsOffStorage(void)\n5707 int COleDocument::HasBlankItems(void)const \n5708 int CComboBoxEx::HasEditChanged(void)\n5709 int CDialogTemplate::HasFont(void)const \n5710 long COlePropertyPage::XPropertyPage::Help(wchar_t const *)\n5711 void CDumpContext::HexDump(wchar_t const *,unsigned char *,int,int)\n5712 void * CFile::hFileNull\n5713 void CWinApp::HideApplication(void)\n5714 int CToolBarCtrl::HideButton(int,int)\n5715 void CWnd::HideCaret(void)\n5716 void CFileDialog::HideControl(int)\n5717 void CRichEditCtrl::HideSelection(int,int)\n5718 long CBrowserControlSite::HideUI(void)\n5719 long CDHtmlDialog::HideUI(void)\n5720 long CHtmlControlSite::XDocHostUIHandler::HideUI(void)\n5721 int CTabCtrl::HighlightItem(int,int)\n5722 int CWnd::HiliteMenuItem(CMenu *,unsigned int,unsigned int)\n5723 void CDC::HIMETRICtoDP(tagSIZE *)const \n5724 void CDC::HIMETRICtoLP(tagSIZE *)const \n5725 int CHeaderCtrl::HitTest(_HD_HITTESTINFO *)\n5726 int CListCtrl::HitTest(tagLVHITTESTINFO *)const \n5727 int CListCtrl::HitTest(CPoint,unsigned int *)const \n5728 unsigned long CMonthCalCtrl::HitTest(MCHITTESTINFO *)\n5729 int CReBarCtrl::HitTest(_RB_HITTESTINFO *)\n5730 int CRectTracker::HitTest(CPoint)const \n5731 int CSplitterWnd::HitTest(CPoint)const \n5732 int CTabCtrl::HitTest(tagTCHITTESTINFO *)const \n5733 int CToolBarCtrl::HitTest(tagPOINT *)const \n5734 int CToolTipCtrl::HitTest(CWnd *,CPoint,tagTOOLINFOW *)const \n5735 _TREEITEM * CTreeCtrl::HitTest(tagTVHITTESTINFO *)const \n5736 _TREEITEM * CTreeCtrl::HitTest(CPoint,unsigned int *)const \n5737 int CRectTracker::HitTestHandles(CPoint)const \n5738 void CWinApp::HtmlHelpW(unsigned long,unsigned int)\n5739 void CWnd::HtmlHelpW(unsigned long,unsigned int)\n5740 int CSplitterWnd::IdFromRowCol(int,int)const \n5741 void CDaoWorkspace::Idle(int)\n5742 int CReBarCtrl::IDToIndex(unsigned int)const \n5743 void COlePropertyPage::IgnoreApply(unsigned int)\n5744 int COleControl::IgnoreWindowMessage(unsigned int,unsigned int,long,long *)\n5745 int CToolBarCtrl::Indeterminate(int,int)\n5746 int CCriticalSection::Init(void)\n5747 int CWinApp::InitApplication(void)\n5748 long COleControl::XOleCache::InitCache(IDataObject *)\n5749 int CWnd::InitControlContainer(int)\n5750 void CDaoWorkspace::InitDatabasesCollection(void)\n5751 DLGTEMPLATE const * CPropertyPage::InitDialogInfo(DLGTEMPLATE const *)\n5752 long CPrintDialogEx::InitDone(void)\n5753 void CDaoException::InitErrorsCollection(void)\n5754 void CDaoQueryDef::InitFieldsCollection(void)\n5755 void CDaoRecordset::InitFieldsCollection(void)\n5756 void CDaoTableDef::InitFieldsCollection(void)\n5757 long CDocObjectServer::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5758 long COleControl::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5759 long COleServerDoc::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5760 long COleServerItem::XOleObject::InitFromData(IDataObject *,int,unsigned long)\n5761 void CMapPtrToPtr::InitHashTable(unsigned int,int)\n5762 void CMapPtrToWord::InitHashTable(unsigned int,int)\n5763 void CMapStringToOb::InitHashTable(unsigned int,int)\n5764 void CMapStringToPtr::InitHashTable(unsigned int,int)\n5765 void CMapStringToString::InitHashTable(unsigned int,int)\n5766 void CMapWordToOb::InitHashTable(unsigned int,int)\n5767 void CMapWordToPtr::InitHashTable(unsigned int,int)\n5768 long CDataSourceControl::Initialize(void)\n5769 void CDHtmlDialog::Initialize(void)\n5770 void CDaoWorkspace::InitializeEngine(void)\n5771 void CFontHolder::InitializeFont(tagFONTDESC const *,IDispatch *)\n5772 void COleControl::InitializeIIDs(_GUID const *,_GUID const *)\n5773 int CEditView::InitializeReplace(void)\n5774 void CDocTemplate::InitialUpdateFrame(CFrameWnd *,CDocument *,int)\n5775 void CFrameWnd::InitialUpdateFrame(CDocument *,int)\n5776 void CDaoRecordset::InitIndexesCollection(void)\n5777 void CDaoTableDef::InitIndexesCollection(void)\n5778 int COleControlModule::InitInstance(void)\n5779 int CWinApp::InitInstance(void)\n5780 int CWinThread::InitInstance(void)\n5781 void CWinApp::InitLibId(void)\n5782 void CDockContext::InitLoop(void)\n5783 int CDialog::InitModalIndirect(void *,CWnd *)\n5784 int CDialog::InitModalIndirect(DLGTEMPLATE const *,CWnd *,void *)\n5785 long COleControl::XPersistMemory::InitNew(void)\n5786 long COleControl::XPersistPropertyBag::InitNew(void)\n5787 long COleControl::XPersistStorage::InitNew(IStorage *)\n5788 long COleServerDoc::XPersistStorage::InitNew(IStorage *)\n5789 long COleControl::XPersistStreamInit::InitNew(void)\n5790 void CDaoQueryDef::InitParametersCollection(void)\n5791 void CDaoDatabase::InitQueryDefsCollection(void)\n5792 void CRecordset::InitRecord(void)\n5793 void CDaoDatabase::InitRelationsCollection(void)\n5794 void COleControl::InitStockEventMask(void)\n5795 void COleControl::InitStockPropMask(void)\n5796 int CComboBox::InitStorage(int,unsigned int)\n5797 int CListBox::InitStorage(int,unsigned int)\n5798 void CSimpleException::InitString(void)\n5799 void CDaoDatabase::InitTableDefsCollection(void)\n5800 void CDaoDatabase::InitWorkspace(void)\n5801 void CDaoWorkspace::InitWorkspacesCollection(void)\n5802 int CFrameWnd::InModalState(void)const \n5803 long COleControl::XOleInPlaceObject::InPlaceDeactivate(void)\n5804 long COleServerDoc::XOleInPlaceObject::InPlaceDeactivate(void)\n5805 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t)\n5806 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Insert(int,wchar_t const *)\n5807 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char)\n5808 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Insert(int,char const *)\n5809 int CDockBar::Insert(CControlBar *,CRect,CPoint)\n5810 __POSITION * CObList::InsertAfter(__POSITION *,CObject *)\n5811 __POSITION * CPtrList::InsertAfter(__POSITION *,void *)\n5812 __POSITION * CStringList::InsertAfter(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5813 __POSITION * CStringList::InsertAfter(__POSITION *,wchar_t const *)\n5814 void CByteArray::InsertAt(int,unsigned char,int)\n5815 void CByteArray::InsertAt(int,CByteArray *)\n5816 void CDWordArray::InsertAt(int,unsigned long,int)\n5817 void CDWordArray::InsertAt(int,CDWordArray *)\n5818 void CObArray::InsertAt(int,CObArray *)\n5819 void CObArray::InsertAt(int,CObject *,int)\n5820 void CPtrArray::InsertAt(int,CPtrArray *)\n5821 void CPtrArray::InsertAt(int,void *,int)\n5822 void CStringArray::InsertAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int)\n5823 void CStringArray::InsertAt(int,wchar_t const *,int)\n5824 void CStringArray::InsertAt(int,CStringArray const *)\n5825 void CUIntArray::InsertAt(int,unsigned int,int)\n5826 void CUIntArray::InsertAt(int,CUIntArray *)\n5827 void CWordArray::InsertAt(int,unsigned short,int)\n5828 void CWordArray::InsertAt(int,CWordArray *)\n5829 int CReBarCtrl::InsertBand(unsigned int,tagREBARBANDINFOW *)\n5830 __POSITION * CObList::InsertBefore(__POSITION *,CObject *)\n5831 __POSITION * CPtrList::InsertBefore(__POSITION *,void *)\n5832 __POSITION * CStringList::InsertBefore(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n5833 __POSITION * CStringList::InsertBefore(__POSITION *,wchar_t const *)\n5834 int CToolBarCtrl::InsertButton(int,_TBBUTTON *)\n5835 int CListCtrl::InsertColumn(int,wchar_t const *,int,int,int)\n5836 int CListCtrl::InsertColumn(int,tagLVCOLUMNW const *)\n5837 void CStringArray::InsertEmpty(int,int)\n5838 void CRichEditView::InsertFileAsObject(wchar_t const *)\n5839 int CComboBoxEx::InsertItem(tagCOMBOBOXEXITEMW const *)\n5840 int CHeaderCtrl::InsertItem(int,_HD_ITEMW *)\n5841 int CListCtrl::InsertItem(int,wchar_t const *)\n5842 int CListCtrl::InsertItem(int,wchar_t const *,int)\n5843 int CListCtrl::InsertItem(unsigned int,int,wchar_t const *,unsigned int,unsigned int,int,long)\n5844 int CListCtrl::InsertItem(tagLVITEMW const *)\n5845 long CRichEditView::InsertItem(CRichEditCntrItem *)\n5846 long CTabCtrl::InsertItem(int,tagTCITEMW *)\n5847 long CTabCtrl::InsertItem(int,wchar_t const *)\n5848 long CTabCtrl::InsertItem(int,wchar_t const *,int)\n5849 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long)\n5850 long CTabCtrl::InsertItem(unsigned int,int,wchar_t const *,int,long,unsigned long,unsigned long)\n5851 _TREEITEM * CTreeCtrl::InsertItem(unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,_TREEITEM *,_TREEITEM *)\n5852 _TREEITEM * CTreeCtrl::InsertItem(tagTVINSERTSTRUCTW *)\n5853 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,int,int,_TREEITEM *,_TREEITEM *)\n5854 _TREEITEM * CTreeCtrl::InsertItem(wchar_t const *,_TREEITEM *,_TREEITEM *)\n5855 int CToolBarCtrl::InsertMarkHitTest(tagPOINT *,TBINSERTMARK *)const \n5856 int CMenu::InsertMenuItemW(unsigned int,tagMENUITEMINFOW *,int)\n5857 long COleFrameHook::XOleInPlaceFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5858 long COleControlContainer::XOleIPFrame::InsertMenus(HMENU__ *,tagOleMenuGroupWidths *)\n5859 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n5860 int CMenu::InsertMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n5861 int CComboBox::InsertString(int,wchar_t const *)\n5862 int CComboBoxEx::InsertString(int,wchar_t const *)\n5863 int CListBox::InsertString(int,wchar_t const *)\n5864 unsigned long CCmdTarget::InternalAddRef(void)\n5865 CFontHolder & COleControl::InternalGetFont(void)\n5866 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const & COleControl::InternalGetText(void)\n5867 unsigned long CCmdTarget::InternalQueryInterface(void const *,void * *)\n5868 unsigned long CCmdTarget::InternalRelease(void)\n5869 void COleControl::InternalSetReadyState(long)\n5870 int CDC::IntersectClipRect(int,int,int,int)\n5871 int CDC::IntersectClipRect(tagRECT const *)\n5872 void CWnd::Invalidate(int)\n5873 void CCheckListBox::InvalidateCheck(int)\n5874 void COleControl::InvalidateControl(tagRECT const *,int)\n5875 void CCheckListBox::InvalidateItem(int)\n5876 void CRichEditDoc::InvalidateObjectCache(void)\n5877 void CWnd::InvalidateRect(tagRECT const *,int)\n5878 long COleControlSite::XOleIPSite::InvalidateRect(tagRECT const *,int)\n5879 void COleControl::InvalidateRgn(CRgn *,int)\n5880 void CWnd::InvalidateRgn(CRgn *,int)\n5881 long COleControlSite::XOleIPSite::InvalidateRgn(HRGN__ *,int)\n5882 void CDC::InvertRect(tagRECT const *)\n5883 int CDC::InvertRgn(CRgn *)\n5884 long CDHtmlControlSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5885 long CDHtmlElementEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5886 long CDHtmlEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5887 long COleDispatchImpl::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5888 long CWnd::XAccessible::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5889 long COleControlSite::XAmbientProps::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5890 long COleControlSite::XEventSink::Invoke(long,_GUID const &,unsigned long,unsigned short,tagDISPPARAMS *,tagVARIANT *,tagEXCEPINFO *,unsigned int *)\n5891 long CDHtmlControlSink::InvokeFromFuncInfo(void (CDHtmlSinkHandler::*)(void),ATL::_ATL_FUNC_INFO &,tagDISPPARAMS *,tagVARIANT *)\n5892 void COleControlSite::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5893 void COleDispatchDriver::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5894 void CWnd::InvokeHelper(long,unsigned short,unsigned short,void *,unsigned char const *,...)\n5895 void COleControlSite::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5896 void COleDispatchDriver::InvokeHelperV(long,unsigned short,unsigned short,void *,unsigned char const *,char *)\n5897 int CAsyncSocket::IOCtl(long,unsigned long *)\n5898 int CThemeHelper::IsAppThemed(void)\n5899 int CThemeHelper::IsAppThemedFail(void)\n5900 int CFileFind::IsArchived(void)const \n5901 int CPropExchange::IsAsynchronous(void)\n5902 int CDocItem::IsBlank(void)const \n5903 int CIPAddressCtrl::IsBlank(void)const \n5904 int COleServerItem::IsBlank(void)const \n5905 int CSocket::IsBlocking(void)\n5906 int CDaoRecordset::IsBOF(void)const \n5907 int CRecordset::IsBOF(void)const \n5908 int CFontDialog::IsBold(void)const \n5909 int CArchive::IsBufferEmpty(void)const \n5910 int CToolBarCtrl::IsButtonChecked(int)const \n5911 int CPropertyPage::IsButtonEnabled(int)\n5912 int CToolBarCtrl::IsButtonEnabled(int)const \n5913 int CToolBarCtrl::IsButtonHidden(int)const \n5914 int CToolBarCtrl::IsButtonHighlighted(int)const \n5915 int CToolBarCtrl::IsButtonIndeterminate(int)const \n5916 int CToolBarCtrl::IsButtonPressed(int)const \n5917 int CArchive::IsByteSwapping(void)const \n5918 int CMonthCalCtrl::IsCenturyView(void)const \n5919 int CWnd::IsChild(CWnd const *)const \n5920 int CSplitterWnd::IsChildPane(CWnd *,int &,int &)\n5921 int CSplitterWnd::IsChildPane(CWnd *,int *,int *)\n5922 int CFileFind::IsCompressed(void)const \n5923 int COleServerItem::IsConnected(void)const \n5924 int COleControl::IsConvertingVBX(void)\n5925 int COleDataObject::IsDataAvailable(unsigned short,tagFORMATETC *)\n5926 int CMonthCalCtrl::IsDecadeView(void)const \n5927 int COleControlSite::IsDefaultButton(void)\n5928 int CDaoRecordset::IsDeleted(void)const \n5929 int CRecordset::IsDeleted(void)const \n5930 int CRuntimeClass::IsDerivedFrom(CRuntimeconst *)const \n5931 int COccManager::IsDialogMessageW(CWnd *,tagMSG *)\n5932 int CWnd::IsDialogMessageW(tagMSG *)\n5933 int CFileFind::IsDirectory(void)const \n5934 long CBlobProperty::IsDirty(void)\n5935 long COleLinkingDoc::XPersistFile::IsDirty(void)\n5936 long COleControl::XPersistMemory::IsDirty(void)\n5937 long COleControl::XPersistStorage::IsDirty(void)\n5938 long COleServerDoc::XPersistStorage::IsDirty(void)\n5939 long COleControl::XPersistStreamInit::IsDirty(void)\n5940 unsigned int COleControlContainer::IsDlgButtonChecked(int)const \n5941 unsigned int CWnd::IsDlgButtonChecked(int)const \n5942 int CControlBar::IsDockBar(void)const \n5943 int CDockBar::IsDockBar(void)const \n5944 int COleServerDoc::IsDocObject(void)const \n5945 int CFileFind::IsDots(void)const \n5946 int CGopherFileFind::IsDots(void)const \n5947 int COleServerDoc::IsEmbedded(void)const \n5948 bool ATL::CSimpleStringT<wchar_t,1>::IsEmpty(void)const \n5949 bool ATL::CSimpleStringT<char,1>::IsEmpty(void)const \n5950 int CByteArray::IsEmpty(void)const \n5951 int CDWordArray::IsEmpty(void)const \n5952 int CMapPtrToPtr::IsEmpty(void)const \n5953 int CMapPtrToWord::IsEmpty(void)const \n5954 int CMapStringToOb::IsEmpty(void)const \n5955 int CMapStringToPtr::IsEmpty(void)const \n5956 int CMapStringToString::IsEmpty(void)const \n5957 int CMapWordToOb::IsEmpty(void)const \n5958 int CMapWordToPtr::IsEmpty(void)const \n5959 int CObArray::IsEmpty(void)const \n5960 int CObList::IsEmpty(void)const \n5961 int CPtrArray::IsEmpty(void)const \n5962 int CPtrList::IsEmpty(void)const \n5963 int CStringArray::IsEmpty(void)const \n5964 int CStringList::IsEmpty(void)const \n5965 int CUIntArray::IsEmpty(void)const \n5966 int CWordArray::IsEmpty(void)const \n5967 int CCheckListBox::IsEnabled(int)\n5968 int CDaoRecordset::IsEOF(void)const \n5969 int CRecordset::IsEOF(void)const \n5970 int CDHtmlDialog::IsExternalDispatchSafe(void)\n5971 int CDaoRecordset::IsFieldDirty(void *)\n5972 int CRecordset::IsFieldDirty(void *)\n5973 int CDaoRecordset::IsFieldNull(void *)\n5974 int CRecordset::IsFieldNull(void *)\n5975 int CDaoRecordset::IsFieldNullable(void *)\n5976 int CRecordset::IsFieldNullable(void *)\n5977 int CRecordset::IsFieldNullable(unsigned long)const \n5978 int CDaoRecordset::IsFieldStatusDirty(unsigned int)\n5979 int CRecordset::IsFieldStatusDirty(unsigned long)const \n5980 int CDaoRecordset::IsFieldStatusNull(unsigned int)\n5981 int CRecordset::IsFieldStatusNull(unsigned long)const \n5982 int CDaoRecordset::IsFieldStatusNullable(unsigned int)\n5983 int CDaoRecordset::IsFieldStatusNullableKnown(unsigned int)\n5984 int CFieldExchange::IsFieldType(unsigned int *)\n5985 int CControlBar::IsFloating(void)const \n5986 int CFrameWnd::IsFrameWnd(void)const \n5987 int CWnd::IsFrameWnd(void)const \n5988 int IsHelpKey(tagMSG *)\n5989 int CFileFind::IsHidden(void)const \n5990 int CWnd::IsIconic(void)const \n5991 int CWinThread::IsIdleMessage(tagMSG *)\n5992 int COleClientItem::IsInPlaceActive(void)const \n5993 int COleServerDoc::IsInPlaceActive(void)const \n5994 int CCmdTarget::IsInvokeAllowed(long)\n5995 int COleControl::IsInvokeAllowed(long)\n5996 int CFontDialog::IsItalic(void)const \n5997 int CRecordset::IsJoin(wchar_t const *)\n5998 int CObject::IsKindOf(CRuntimeconst *)const \n5999 int COccManager::IsLabelControl(COleControlSiteOrWnd *)\n6000 int COccManager::IsLabelControl(CWnd *)\n6001 int COleObjectFactory::IsLicenseValid(void)\n6002 int COleServerItem::IsLinkedItem(void)const \n6003 int COleClientItem::IsLinkUpToDate(void)const \n6004 int CArchive::IsLoading(void)const \n6005 int CPropExchange::IsLoading(void)\n6006 int CMultiLock::IsLocked(unsigned long)\n6007 int CSingleLock::IsLocked(void)\n6008 int CControlCreationInfo::IsManaged(void)const \n6009 int CRichEditCntrItem::IsMarked(void)\n6010 int CDaoRecordset::IsMatch(void)\n6011 int COccManager::IsMatchingMnemonic(COleControlSiteOrWnd *,tagMSG *)\n6012 int COccManager::IsMatchingMnemonic(CWnd *,tagMSG *)\n6013 int COleControlSite::IsMatchingMnemonic(tagMSG *)\n6014 int CPropertySheet::IsModeless(void)const \n6015 int CDocument::IsModified(void)\n6016 int CHtmlEditDoc::IsModified(void)\n6017 int COleClientItem::IsModified(void)const \n6018 int COleControl::IsModified(void)\n6019 int COlePropertyPage::IsModified(void)\n6020 int CRichEditDoc::IsModified(void)\n6021 int CMonthCalCtrl::IsMonthView(void)const \n6022 int CDaoWorkspace::IsNew(void)const \n6023 int CFileFind::IsNormal(void)const \n6024 int CDaoFieldExchange::IsNullValue(void *,unsigned long)\n6025 int CDaoRecordView::IsOnFirstRecord(void)\n6026 int CRecordView::IsOnFirstRecord(void)\n6027 int CDaoRecordView::IsOnLastRecord(void)\n6028 int CRecordView::IsOnLastRecord(void)\n6029 int CDaoDatabase::IsOpen(void)const \n6030 int CDaoQueryDef::IsOpen(void)const \n6031 int CDaoRecordset::IsOpen(void)const \n6032 int CDaoTableDef::IsOpen(void)const \n6033 int CDaoWorkspace::IsOpen(void)const \n6034 int CDatabase::IsOpen(void)const \n6035 int COleClientItem::IsOpen(void)const \n6036 int CRecordset::IsOpen(void)const \n6037 int COleControl::IsOptimizedDraw(void)\n6038 long COlePropertyPage::XPropertyPage::IsPageDirty(void)\n6039 int CRecordset::IsParamStatusNull(unsigned long)const \n6040 int CAnimateCtrl::IsPlaying(void)const \n6041 int CDC::IsPrinting(void)const \n6042 int CFileFind::IsReadOnly(void)const \n6043 int CRecordset::IsRecordsetUpdatable(void)\n6044 int COleObjectFactory::IsRegistered(void)const \n6045 int CCmdTarget::IsResultExpected(void)\n6046 int CRichEditView::IsRichEditFormat(unsigned short)\n6047 int COleClientItem::IsRunning(void)const \n6048 long COleLinkingDoc::XOleItemContainer::IsRunning(wchar_t *)\n6049 int CRichEditView::IsSelected(CObject const *)const \n6050 int CView::IsSelected(CObject const *)const \n6051 int CRecordset::IsSelectQueryUpdatable(wchar_t const *)\n6052 int CObject::IsSerializable(void)const \n6053 int COleMessageFilter::IsSignificantMessage(tagMSG *)\n6054 int CStatusBarCtrl::IsSimple(void)const \n6055 int CDHtmlDialog::IsSinkedElement(IDispatch *)\n6056 int CRecordset::IsSQLUpdatable(wchar_t const *)\n6057 int CArchive::IsStoring(void)const \n6058 int CFontDialog::IsStrikeOut(void)const \n6059 int COleControl::IsSubclassedControl(void)\n6060 int CFileFind::IsSystem(void)const \n6061 int CFileFind::IsTemporary(void)const \n6062 int CFindReplaceDialog::IsTerminating(void)const \n6063 int CThemeHelper::IsThemeBackgroundPartiallyTransparent(void *,int,int)\n6064 int CThemeHelper::IsThemeBackgroundPartiallyTransparentFail(void *,int,int)\n6065 int CThemeHelper::IsThemePartDefined(void *,int,int)\n6066 int CThemeHelper::IsThemePartDefinedFail(void *,int,int)\n6067 int CWnd::IsTopParentActive(void)const \n6068 int CFrameWnd::IsTracking(void)const \n6069 int CSplitterWnd::IsTracking(void)\n6070 int CFontDialog::IsUnderline(void)const \n6071 long CDocObjectServer::XOleObject::IsUpToDate(void)\n6072 long COleControl::XOleObject::IsUpToDate(void)\n6073 long COleServerDoc::XOleObject::IsUpToDate(void)\n6074 long COleServerItem::XOleObject::IsUpToDate(void)\n6075 int CDaoFieldExchange::IsValidOperation(void)\n6076 int COleChangeSourceDialog::IsValidSource(void)\n6077 int CControlBar::IsVisible(void)const \n6078 int COleControlSite::IsWindowEnabled(void)const \n6079 int CWnd::IsWindowEnabled(void)const \n6080 int CWnd::IsWindowVisible(void)const \n6081 int CPropertySheet::IsWizard(void)const \n6082 int CMonthCalCtrl::IsYearView(void)const \n6083 int CWnd::IsZoomed(void)const \n6084 unsigned int CListBox::ItemFromPoint(CPoint,int &)const \n6085 int CDragListBox::ItemFromPt(CPoint,int)const \n6086 int CTreeCtrl::ItemHasChildren(_TREEITEM *)const \n6087 void COleControl::KeyDown(unsigned short *)\n6088 void COleControl::KeyUp(unsigned short *)\n6089 void CAsyncSocket::KillSocket(unsigned int,CAsyncSocket *)\n6090 int CWnd::KillTimer(unsigned int)\n6091 int CHeaderCtrl::Layout(_HD_LAYOUT *)\n6092 void CToolBar::Layout(void)\n6093 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Left(int)const \n6094 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Left(int)const \n6095 int CComboBox::LimitText(int)\n6096 void CEdit::LimitText(int)\n6097 void CRichEditCtrl::LimitText(long)\n6098 int CEdit::LineFromChar(int)const \n6099 long CRichEditCtrl::LineFromChar(long)const \n6100 int CEdit::LineIndex(int)const \n6101 int CRichEditCtrl::LineIndex(int)const \n6102 int CEdit::LineLength(int)const \n6103 int CRichEditCtrl::LineLength(int)const \n6104 void CEdit::LineScroll(int,int)\n6105 void CRichEditCtrl::LineScroll(int,int)\n6106 int CDC::LineTo(int,int)\n6107 int CDC::LineTo(tagPOINT)\n6108 int CAsyncSocket::Listen(int)\n6109 unsigned long CRichEditView::lMaxSize\n6110 long CBlobProperty::Load(IStream *)\n6111 int CDialogTemplate::Load(wchar_t const *)\n6112 void COleControl::Load(wchar_t const *,CDataPathProperty &)\n6113 CRuntime* CRuntimeClass::Load(CArchive &,unsigned int *)\n6114 long COleLinkingDoc::XPersistFile::Load(wchar_t const *,unsigned long)\n6115 long COleControl::XPersistMemory::Load(void *,unsigned long)\n6116 long COleControl::XPersistPropertyBag::Load(IPropertyBag *,IErrorLog *)\n6117 long COleControl::XPersistStorage::Load(IStorage *)\n6118 long COleServerDoc::XPersistStorage::Load(IStorage *)\n6119 long COleControl::XPersistStreamInit::Load(IStream *)\n6120 int CFrameWnd::LoadAccelTable(wchar_t const *)\n6121 HINSTANCE__ * CWinApp::LoadAppLangResourceDLL(void)\n6122 void CFrameWnd::LoadBarState(wchar_t const *)\n6123 int CBitmapButton::LoadBitmaps(unsigned int,unsigned int,unsigned int,unsigned int)\n6124 int CBitmapButton::LoadBitmaps(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)\n6125 int CBitmap::LoadBitmapW(unsigned int)\n6126 int CBitmap::LoadBitmapW(wchar_t const *)\n6127 int CToolBar::LoadBitmapW(unsigned int)\n6128 int CToolBar::LoadBitmapW(wchar_t const *)\n6129 HICON__ * CWinApp::LoadCursorW(unsigned int)const \n6130 HICON__ * CWinApp::LoadCursorW(wchar_t const *)const \n6131 void CDaoRecordset::LoadFields(void)\n6132 void CRecordset::LoadFields(void)\n6133 int CFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6134 int CMDIChildWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6135 int CMDIFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6136 int COleIPFrameWnd::LoadFrame(unsigned int,unsigned long,CWnd *,CCreateContext *)\n6137 int CDHtmlDialog::LoadFromResource(unsigned int)\n6138 int CDHtmlDialog::LoadFromResource(wchar_t const *)\n6139 int CHtmlView::LoadFromResource(unsigned int)\n6140 int CHtmlView::LoadFromResource(wchar_t const *)\n6141 void COleDocument::LoadFromStorage(void)\n6142 HICON__ * CWinApp::LoadIconW(unsigned int)const \n6143 HICON__ * CWinApp::LoadIconW(wchar_t const *)const \n6144 void CToolBarCtrl::LoadImages(int,HINSTANCE__ *)\n6145 int CBitmap::LoadMappedBitmap(unsigned int,unsigned int,_COLORMAP *,int)\n6146 int CMenu::LoadMenuIndirectW(void const *)\n6147 int CMenu::LoadMenuW(unsigned int)\n6148 int CMenu::LoadMenuW(wchar_t const *)\n6149 int CBitmap::LoadOEMBitmap(unsigned int)\n6150 HICON__ * CWinApp::LoadOEMCursor(unsigned int)const \n6151 HICON__ * CWinApp::LoadOEMIcon(unsigned int)const \n6152 HICON__ * CWinApp::LoadStandardCursor(wchar_t const *)const \n6153 HICON__ * CWinApp::LoadStandardIcon(wchar_t const *)const \n6154 int CControlBarInfo::LoadState(wchar_t const *,int,CDockState *)\n6155 void CDockState::LoadState(wchar_t const *)\n6156 long COleControl::LoadState(IStream *)\n6157 void CWinApp::LoadStdProfileSettings(unsigned int)\n6158 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(unsigned int)\n6159 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n6160 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n6161 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(unsigned int)\n6162 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int)\n6163 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::LoadStringW(HINSTANCE__ *,unsigned int,unsigned short)\n6164 int CWinApp::LoadSysPolicies(void)\n6165 void CDocTemplate::LoadTemplate(void)\n6166 void CMultiDocTemplate::LoadTemplate(void)\n6167 int CToolBar::LoadToolBar(unsigned int)\n6168 int CToolBar::LoadToolBar(wchar_t const *)\n6169 int CCriticalSection::Lock(void)\n6170 int CCriticalSection::Lock(unsigned long)\n6171 unsigned long CMultiLock::Lock(unsigned long,int,unsigned long)\n6172 void COleSafeArray::Lock(void)\n6173 int CSingleLock::Lock(unsigned long)\n6174 int CSyncObject::Lock(unsigned long)\n6175 void CTypeLibCache::Lock(void)\n6176 wchar_t * ATL::CSimpleStringT<wchar_t,1>::LockBuffer(void)\n6177 char * ATL::CSimpleStringT<char,1>::LockBuffer(void)\n6178 wchar_t const * CEditView::LockBuffer(void)const \n6179 long COleControlContainer::XOleContainer::LockContainer(int)\n6180 long COleLinkingDoc::XOleItemContainer::LockContainer(int)\n6181 void COleLinkingDoc::LockExternal(int,int)\n6182 int COleControl::LockInPlaceActive(int)\n6183 long COleControlSite::XOleControlSite::LockInPlaceActive(int)\n6184 void CFile::LockRange(unsigned __int64,unsigned __int64)\n6185 void CInternetFile::LockRange(unsigned __int64,unsigned __int64)\n6186 void CMemFile::LockRange(unsigned __int64,unsigned __int64)\n6187 void COleStreamFile::LockRange(unsigned __int64,unsigned __int64)\n6188 void CSocketFile::LockRange(unsigned __int64,unsigned __int64)\n6189 void CStdioFile::LockRange(unsigned __int64,unsigned __int64)\n6190 long CArchiveStream::LockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n6191 long COleObjectFactory::XClassFactory::LockServer(int)\n6192 int CWnd::LockWindowUpdate(void)\n6193 int CMapPtrToPtr::Lookup(void *,void * &)const \n6194 int CMapPtrToWord::Lookup(void *,unsigned short &)const \n6195 int CMapStringToOb::Lookup(wchar_t const *,CObject * &)const \n6196 int CMapStringToPtr::Lookup(wchar_t const *,void * &)const \n6197 int CMapStringToString::Lookup(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)const \n6198 int CMapWordToOb::Lookup(unsigned short,CObject * &)const \n6199 int CMapWordToPtr::Lookup(unsigned short,void * &)const \n6200 AFX_DATACACHE_ENTRY * COleDataSource::Lookup(tagFORMATETC *,enum tagDATADIR)const \n6201 int CTypeLibCache::Lookup(unsigned long,ITypeLib * *)\n6202 CAsyncSocket * CAsyncSocket::LookupHandle(unsigned int,int)\n6203 CRichEditCntrItem * CRichEditDoc::LookupItem(IOleObject *)const \n6204 int CMapStringToOb::LookupKey(wchar_t const *,wchar_t const * &)const \n6205 int CMapStringToPtr::LookupKey(wchar_t const *,wchar_t const * &)const \n6206 int CMapStringToString::LookupKey(wchar_t const *,wchar_t const * &)const \n6207 int CTypeLibCache::LookupTypeInfo(unsigned long,_GUID const &,ITypeInfo * *)\n6208 void CDC::LPtoDP(tagPOINT *,int)const \n6209 void CDC::LPtoDP(tagRECT *)const \n6210 void CDC::LPtoDP(tagSIZE *)const \n6211 void CDC::LPtoHIMETRIC(tagSIZE *)const \n6212 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeLower(void)\n6213 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeLower(void)\n6214 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeReverse(void)\n6215 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeReverse(void)\n6216 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::MakeUpper(void)\n6217 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::MakeUpper(void)\n6218 int CToolBarCtrl::MapAccelerator(wchar_t,unsigned int *)\n6219 _TREEITEM * CTreeCtrl::MapAccIdToItem(unsigned int)const \n6220 void CDialog::MapDialogRect(tagRECT *)const \n6221 void CPropertySheet::MapDialogRect(tagRECT *)const \n6222 unsigned int CTreeCtrl::MapItemToAccId(_TREEITEM *)const \n6223 void CArchive::MapObject(CObject const *)\n6224 long COleControl::XPerPropertyBrowsing::MapPropertyToPage(long,_GUID *)\n6225 int COleDialog::MapResult(unsigned int)\n6226 void CWnd::MapWindowPoints(CWnd *,tagPOINT *,unsigned int)const \n6227 void CWnd::MapWindowPoints(CWnd *,tagRECT *)const \n6228 long CPropertyPage::MapWizardResult(long)\n6229 void CRichEditCntrItem::Mark(int)\n6230 int CToolBarCtrl::MarkButton(int,int)\n6231 void CDaoRecordset::MarkForAddNew(void)\n6232 void CRecordset::MarkForAddNew(void)\n6233 void CDaoRecordset::MarkForEdit(void)\n6234 void CRecordset::MarkForUpdate(void)\n6235 void CRichEditDoc::MarkItemsClear(void)const \n6236 int CDC::MaskBlt(int,int,int,int,CDC *,int,int,CBitmap &,int,int,unsigned long)\n6237 int CFindReplaceDialog::MatchCase(void)const \n6238 enum CDocTemplate::Confidence CDocTemplate::MatchDocType(wchar_t const *,CDocument * &)\n6239 int CFileFind::MatchesMask(unsigned long)const \n6240 int CFindReplaceDialog::MatchWholeWord(void)const \n6241 void CReBarCtrl::MaximizeBand(unsigned int)\n6242 void CMDIChildWnd::MDIActivate(void)\n6243 void CMDIFrameWnd::MDIActivate(CWnd *)\n6244 void CMDIFrameWnd::MDICascade(int)\n6245 void CMDIFrameWnd::MDICascade(void)\n6246 void CMDIChildWnd::MDIDestroy(void)\n6247 CMDIChildWnd * CMDIFrameWnd::MDIGetActive(int *)const \n6248 void CMDIFrameWnd::MDIIconArrange(void)\n6249 void CMDIChildWnd::MDIMaximize(void)\n6250 void CMDIFrameWnd::MDIMaximize(CWnd *)\n6251 void CMDIFrameWnd::MDINext(void)\n6252 void CMDIFrameWnd::MDIPrev(void)\n6253 void CMDIChildWnd::MDIRestore(void)\n6254 void CMDIFrameWnd::MDIRestore(CWnd *)\n6255 CMenu * CMDIFrameWnd::MDISetMenu(CMenu *,CMenu *)\n6256 void CMDIFrameWnd::MDITile(int)\n6257 void CMDIFrameWnd::MDITile(void)\n6258 void CCheckListBox::MeasureItem(tagMEASUREITEM*)\n6259 void CChevronOwnerDrawMenu::MeasureItem(tagMEASUREITEM*)\n6260 void CComboBox::MeasureItem(tagMEASUREITEM*)\n6261 void CListBox::MeasureItem(tagMEASUREITEM*)\n6262 void CMenu::MeasureItem(tagMEASUREITEM*)\n6263 long CCmdTarget::MemberIDFromName(AFX_DISPMAP const *,wchar_t const *)\n6264 unsigned char * CMemFile::Memcpy(unsigned char *,unsigned char const *,unsigned long)\n6265 int COlePropertyPage::MessageBox(wchar_t const *,wchar_t const *,unsigned int)\n6266 int CWnd::MessageBox(wchar_t const *,wchar_t const *,unsigned int)\n6267 int COlePropertyPage::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n6268 int CWnd::MessageBoxW(wchar_t const *,wchar_t const *,unsigned int)\n6269 unsigned long COleMessageFilter::XMessageFilter::MessagePending(HTASK__ *,unsigned long,unsigned long)\n6270 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int)const \n6271 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Mid(int,int)const \n6272 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int)const \n6273 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Mid(int,int)const \n6274 void CReBarCtrl::MinimizeBand(unsigned int)\n6275 void CPreviewDC::MirrorAttributes(void)\n6276 void CPreviewDC::MirrorFont(void)\n6277 void CPreviewDC::MirrorMappingMode(int)\n6278 void CPreviewDC::MirrorViewportOrg(void)\n6279 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,wchar_t const *)\n6280 int CMenu::ModifyMenuW(unsigned int,unsigned int,unsigned int,CBitmap const *)\n6281 int COleControlSite::ModifyStyle(unsigned long,unsigned long,unsigned int)\n6282 int CWnd::ModifyStyle(unsigned long,unsigned long,unsigned int)\n6283 int CWnd::ModifyStyle(HWND__ *,unsigned long,unsigned long,unsigned int)\n6284 int COleControlSite::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n6285 int CWnd::ModifyStyleEx(unsigned long,unsigned long,unsigned int)\n6286 int CWnd::ModifyStyleEx(HWND__ *,unsigned long,unsigned long,unsigned int)\n6287 int CDC::ModifyWorldTransform(tagXFORM const *,unsigned long)\n6288 void CDaoRecordset::Move(long)\n6289 void CDockContext::Move(CPoint)\n6290 void CRecordset::Move(long,unsigned short)\n6291 long COlePropertyPage::XPropertyPage::Move(tagRECT const *)\n6292 int CReBarCtrl::MoveBand(unsigned int,unsigned int)\n6293 int CToolBarCtrl::MoveButton(unsigned int,unsigned int)\n6294 void CDaoRecordset::MoveFirst(void)\n6295 void CRecordset::MoveFirst(void)\n6296 void CDaoRecordset::MoveLast(void)\n6297 void CRecordset::MoveLast(void)\n6298 void CDaoRecordset::MoveNext(void)\n6299 void CRecordset::MoveNext(void)\n6300 void CDaoRecordset::MovePrev(void)\n6301 void CRecordset::MovePrev(void)\n6302 CPoint CDC::MoveTo(int,int)\n6303 CPoint CDC::MoveTo(tagPOINT)\n6304 void COleControlSite::MoveWindow(int,int,int,int)\n6305 void CWnd::MoveWindow(int,int,int,int,int)\n6306 void CWnd::MoveWindow(tagRECT const *,int)\n6307 void CDHtmlDialog::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n6308 void CHtmlView::Navigate(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n6309 void CHtmlView::Navigate2(_ITEMIDLIST *,unsigned long,wchar_t const *)\n6310 void CHtmlView::Navigate2(wchar_t const *,unsigned long,wchar_t const *,wchar_t const *,void *,unsigned long)\n6311 void CHtmlView::Navigate2(wchar_t const *,unsigned long,CByteArray &,wchar_t const *,wchar_t const *)\n6312 void CHtmlView::NavigateComplete2(IDispatch *,tagVARIANT *)\n6313 void CHtmlView::NavigateError(IDispatch *,tagVARIANT *,tagVARIANT *,tagVARIANT *,short *)\n6314 unsigned int COleDropSource::nDragDelay\n6315 unsigned int COleDropSource::nDragMinDist\n6316 int CFrameWnd::NegotiateBorderSpace(unsigned int,tagRECT *)\n6317 CMapPtrToPtr::CAssoc * CMapPtrToPtr::NewAssoc(void)\n6318 CMapPtrToWord::CAssoc * CMapPtrToWord::NewAssoc(void)\n6319 CMapStringToOb::CAssoc * CMapStringToOb::NewAssoc(void)\n6320 CMapStringToPtr::CAssoc * CMapStringToPtr::NewAssoc(void)\n6321 CMapStringToString::CAssoc * CMapStringToString::NewAssoc(wchar_t const *)\n6322 CMapWordToOb::CAssoc * CMapWordToOb::NewAssoc(void)\n6323 CMapWordToPtr::CAssoc * CMapWordToPtr::NewAssoc(void)\n6324 CObList::CNode * CObList::NewNode(CObList::CNode *,CObList::CNode *)\n6325 CPtrList::CNode * CPtrList::NewNode(CPtrList::CNode *,CPtrList::CNode *)\n6326 CStringList::CNode * CStringList::NewNode(CStringList::CNode *,CStringList::CNode *)\n6327 long CEnumArray::XEnumVOID::Next(unsigned long,void *,unsigned long *)\n6328 void CDialog::NextDlgCtrl(void)const \n6329 unsigned int const CEditView::nMaxSize\n6330 int CRectTracker::NormalizeHit(int)const \n6331 void CDataBoundProperty::Notify(void)\n6332 int COleFrameHook::NotifyAllInPlace(int,int (COleFrameHook::*)(int))\n6333 void COleServerDoc::NotifyAllItems(enum OLE_NOTIFICATION,unsigned long)\n6334 void COleServerDoc::NotifyChanged(void)\n6335 void COleServerItem::NotifyChanged(enum tagDVASPECT)\n6336 void COleServerItem::NotifyClient(enum OLE_NOTIFICATION,unsigned long)\n6337 void COleServerDoc::NotifyClosed(void)\n6338 void CFrameWnd::NotifyFloatingWindows(unsigned long)\n6339 void COleServerDoc::NotifyRename(wchar_t const *)\n6340 void COleServerDoc::NotifySaved(void)\n6341 void CWnd::NotifyWinEvent(unsigned long,long,long)\n6342 unsigned int COleDropTarget::nScrollDelay\n6343 int COleDropTarget::nScrollInset\n6344 unsigned int COleDropTarget::nScrollInterval\n6345 void ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::OemToCharA(void)\n6346 int CDC::OffsetClipRgn(int,int)\n6347 int CDC::OffsetClipRgn(tagSIZE)\n6348 int CProgressCtrl::OffsetPos(int)\n6349 int CRgn::OffsetRgn(int,int)\n6350 int CRgn::OffsetRgn(tagPOINT)\n6351 CPoint CDC::OffsetViewportOrg(int,int)\n6352 CPoint CMetaFileDC::OffsetViewportOrg(int,int)\n6353 CPoint CPreviewDC::OffsetViewportOrg(int,int)\n6354 CPoint CDC::OffsetWindowOrg(int,int)\n6355 long COleControlSite::XNotifyDBEvents::OKToDo(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n6356 void CAsyncSocket::OnAccept(int)\n6357 void CControlFrameWnd::OnActivate(unsigned int,CWnd *,int)\n6358 void CFrameWnd::OnActivate(unsigned int,CWnd *,int)\n6359 void COleClientItem::OnActivate(void)\n6360 void COleFrameHook::OnActivate(int)\n6361 void CWnd::OnActivate(unsigned int,CWnd *,int)\n6362 void CWnd::OnActivateApp(int,unsigned long)\n6363 void CFormView::OnActivateFrame(unsigned int,CFrameWnd *)\n6364 void CView::OnActivateFrame(unsigned int,CFrameWnd *)\n6365 long COleControl::OnActivateInPlace(int,tagMSG *)\n6366 long CFrameWnd::OnActivateTopLevel(unsigned int,long)\n6367 long CWnd::OnActivateTopLevel(unsigned int,long)\n6368 void COleClientItem::OnActivateUI(void)\n6369 long CDocObjectServer::OnActivateView(void)\n6370 void CFormView::OnActivateView(int,CView *,CView *)\n6371 void CPreviewView::OnActivateView(int,CView *,CView *)\n6372 void CRichEditView::OnActivateView(int,CView *,CView *)\n6373 void CView::OnActivateView(int,CView *,CView *)\n6374 long CToolTipCtrl::OnAddTool(unsigned int,long)\n6375 void CConnectionPoint::OnAdvise(int)\n6376 void COleControl::XEventConnPt::OnAdvise(int)\n6377 int CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT *)\n6378 void COleControl::OnAmbientPropertyChange(long)\n6379 long COleControl::XOleControl::OnAmbientPropertyChange(long)\n6380 int CWnd::OnAppCommand(CWnd *,unsigned int,unsigned int,unsigned int)\n6381 void COleControl::OnAppearanceChanged(void)\n6382 void CWinApp::OnAppExit(void)\n6383 int CPropertyPage::OnApply(void)\n6384 int COlePropertiesDialog::OnApplyScale(COleClientItem *,int,int)\n6385 void CDocObjectServer::OnApplyViewState(CArchive &)\n6386 void CWnd::OnAskCbFormatName(unsigned int,wchar_t *)\n6387 void COleControl::OnBackColorChanged(void)\n6388 int CFrameWnd::OnBarCheck(unsigned int)\n6389 int COleIPFrameWnd::OnBarCheck(unsigned int)\n6390 void CControlBar::OnBarStyleChange(unsigned long,unsigned long)\n6391 void CStatusBar::OnBarStyleChange(unsigned long,unsigned long)\n6392 void CToolBar::OnBarStyleChange(unsigned long,unsigned long)\n6393 void CDHtmlDialog::OnBeforeNavigate(IDispatch *,wchar_t const *)\n6394 void CHtmlView::OnBeforeNavigate2(wchar_t const *,unsigned long,wchar_t const *,CByteArray &,wchar_t const *,int *)\n6395 int COleDropSource::OnBeginDrag(CWnd *)\n6396 void CEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n6397 void CRichEditView::OnBeginPrinting(CDC *,CPrintInfo *)\n6398 void CView::OnBeginPrinting(CDC *,CPrintInfo *)\n6399 void COleControl::OnBorderStyleChanged(void)\n6400 void CRichEditView::OnBullet(void)\n6401 int COleMessageFilter::OnBusyDialog(HTASK__ *)\n6402 long CFileDialog::XFileDialogControlEvents::OnButtonClicked(IFileDialogCustomize *,unsigned long)\n6403 void COleControl::OnButtonDblClk(unsigned short,unsigned int,CPoint)\n6404 void COleControl::OnButtonDown(unsigned short,unsigned int,CPoint)\n6405 void COleControl::OnButtonUp(unsigned short,unsigned int,CPoint)\n6406 void CCommonDialog::OnCancel(void)\n6407 void CDialog::OnCancel(void)\n6408 void CPropertyPage::OnCancel(void)\n6409 void CRichEditView::OnCancelEditCntr(void)\n6410 void COleControl::OnCancelMode(void)\n6411 void CSplitterWnd::OnCancelMode(void)\n6412 void CWnd::OnCancelMode(void)\n6413 void CWnd::OnCaptureChanged(CWnd *)\n6414 void COleClientItem::OnChange(enum OLE_NOTIFICATION,unsigned long)\n6415 void CWnd::OnChangeCbChain(HWND__ *,HWND__ *)\n6416 long COleControl::XFontNotification::OnChanged(long)\n6417 long COleControlSite::XPropertyNotifySink::OnChanged(long)\n6418 long COlePropertyPage::XPropNotifySink::OnChanged(long)\n6419 void CRectTracker::OnChangedRect(CRect const &)\n6420 void CDocument::OnChangedViewList(void)\n6421 int COleClientItem::OnChangeItemPosition(CRect const &)\n6422 int CRichEditCntrItem::OnChangeItemPosition(CRect const &)\n6423 void CWnd::OnChangeUIState(unsigned int,unsigned int)\n6424 void COleControl::OnChar(unsigned int,unsigned int,unsigned int)\n6425 void CWnd::OnChar(unsigned int,unsigned int,unsigned int)\n6426 void CRichEditView::OnCharBold(void)\n6427 void CRichEditView::OnCharEffect(unsigned long,unsigned long)\n6428 void CRichEditView::OnCharItalic(void)\n6429 int CWnd::OnCharToItem(unsigned int,CListBox *,unsigned int)\n6430 void CRichEditView::OnCharUnderline(void)\n6431 long CFileDialog::XFileDialogControlEvents::OnCheckButtonToggled(IFileDialogCustomize *,unsigned long,int)\n6432 int CFrameWnd::OnChevronPushed(unsigned int,tagNMHDR *,long *)\n6433 void CWnd::OnChildActivate(void)\n6434 int CButton::OnChildNotify(unsigned int,unsigned int,long,long *)\n6435 int CCheckListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6436 int CComboBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6437 int CDragListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6438 int CHeaderCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6439 int CListBox::OnChildNotify(unsigned int,unsigned int,long,long *)\n6440 int CListCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6441 int CListView::OnChildNotify(unsigned int,unsigned int,long,long *)\n6442 int CStatic::OnChildNotify(unsigned int,unsigned int,long,long *)\n6443 int CStatusBar::OnChildNotify(unsigned int,unsigned int,long,long *)\n6444 int CStatusBarCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6445 int CTabCtrl::OnChildNotify(unsigned int,unsigned int,long,long *)\n6446 int CWnd::OnChildNotify(unsigned int,unsigned int,long,long *)\n6447 void COleControl::OnClick(unsigned short)\n6448 void CWnd::OnClipboardUpdate(void)\n6449 CEnumArray * CEnumArray::OnClone(void)\n6450 CEnumArray * CEnumConnections::OnClone(void)\n6451 void CAsyncSocket::OnClose(int)\n6452 void CControlFrameWnd::OnClose(void)\n6453 void CFrameWnd::OnClose(void)\n6454 void CMiniDockFrameWnd::OnClose(void)\n6455 void COleControl::OnClose(unsigned long)\n6456 void COleServerDoc::OnClose(enum tagOLECLOSE)\n6457 void CPropertySheet::OnClose(void)\n6458 void CWnd::OnClose(void)\n6459 void COleClientItem::XAdviseSink::OnClose(void)\n6460 void CDocObjectServer::OnCloseDocument(void)\n6461 void CDocument::OnCloseDocument(void)\n6462 void COleDocument::OnCloseDocument(void)\n6463 void COleLinkingDoc::OnCloseDocument(void)\n6464 void COleServerDoc::OnCloseDocument(void)\n6465 int CCmdTarget::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6466 int CDialog::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6467 int CDocTemplate::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6468 int CDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6469 int CFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6470 int CHtmlEditView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6471 int CMDIFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6472 int COleCntrFrameWnd::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6473 int COleDocObjectItem::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6474 int COleDocument::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6475 int COleTemplateServer::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6476 int CPropertySheet::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6477 int CView::OnCmdMsg(unsigned int,int,void *,AFX_CMDHANDLERINFO *)\n6478 void CRichEditView::OnColorDefault(void)\n6479 void CWnd::OnColorizationColorChanged(unsigned long,int)\n6480 int CColorDialog::OnColorOK(void)\n6481 void CRichEditView::OnColorPick(unsigned long)\n6482 int CFrameWnd::OnCommand(unsigned int,long)\n6483 int CMDIFrameWnd::OnCommand(unsigned int,long)\n6484 int COlePropertyPage::OnCommand(unsigned int,long)\n6485 int CPropertySheet::OnCommand(unsigned int,long)\n6486 int CSplitterWnd::OnCommand(unsigned int,long)\n6487 int CWnd::OnCommand(unsigned int,long)\n6488 long CDialog::OnCommandHelp(unsigned int,long)\n6489 long CFrameWnd::OnCommandHelp(unsigned int,long)\n6490 long CMDIFrameWnd::OnCommandHelp(unsigned int,long)\n6491 long CPropertySheet::OnCommandHelp(unsigned int,long)\n6492 void CHtmlView::OnCommandStateChange(long,int)\n6493 void CWnd::OnCompacting(unsigned int)\n6494 int CWnd::OnCompareItem(int,tagCOMPAREITEM*)\n6495 void CWnd::OnCompositionChanged(void)\n6496 void CAsyncSocket::OnConnect(int)\n6497 void CFrameWnd::OnContextHelp(void)\n6498 int COleFrameHook::OnContextHelp(int)\n6499 void COleIPFrameWnd::OnContextHelp(void)\n6500 void CWinApp::OnContextHelp(void)\n6501 void CWnd::OnContextMenu(CWnd *,CPoint)\n6502 long CFileDialog::XFileDialogControlEvents::OnControlActivating(IFileDialogCustomize *,unsigned long)\n6503 long COleControlSite::XOleControlSite::OnControlInfoChanged(void)\n6504 int CWnd::OnCopyData(CWnd *,tagCOPYDATA*)\n6505 int CCheckListBox::OnCreate(tagCREATESTRUCTW *)\n6506 int CControlBar::OnCreate(tagCREATESTRUCTW *)\n6507 int CEditView::OnCreate(tagCREATESTRUCTW *)\n6508 int CFormView::OnCreate(tagCREATESTRUCTW *)\n6509 int CFrameWnd::OnCreate(tagCREATESTRUCTW *)\n6510 int CMDIChildWnd::OnCreate(tagCREATESTRUCTW *)\n6511 int COleControl::OnCreate(tagCREATESTRUCTW *)\n6512 int COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)\n6513 int CPreviewView::OnCreate(tagCREATESTRUCTW *)\n6514 int CRichEditView::OnCreate(tagCREATESTRUCTW *)\n6515 int CToolBarCtrl::OnCreate(tagCREATESTRUCTW *)\n6516 int CView::OnCreate(tagCREATESTRUCTW *)\n6517 int CWnd::OnCreate(tagCREATESTRUCTW *)\n6518 int CCmdTarget::OnCreateAggregates(void)\n6519 int COleControl::OnCreateAggregates(void)\n6520 int CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n6521 int CMDIFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)\n6522 int COleIPFrameWnd::OnCreateControlBars(CFrameWnd *,CFrameWnd *)\n6523 int COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)\n6524 int CFrameWnd::OnCreateHelper(tagCREATESTRUCTW *,CCreateContext *)\n6525 CCmdTarget * COleObjectFactory::OnCreateObject(void)\n6526 CCmdTarget * COleTemplateServer::OnCreateObject(void)\n6527 HBRUSH__ * CControlBar::OnCtlColor(CDC *,CWnd *,unsigned int)\n6528 HBRUSH__ * COlePropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6529 HBRUSH__ * CPropertyPage::OnCtlColor(CDC *,CWnd *,unsigned int)\n6530 HBRUSH__ * CPropertySheet::OnCtlColor(CDC *,CWnd *,unsigned int)\n6531 HBRUSH__ * CWnd::OnCtlColor(CDC *,CWnd *,unsigned int)\n6532 void CAsyncMonikerFile::OnDataAvailable(unsigned long,unsigned long)\n6533 void CCachedDataPathProperty::OnDataAvailable(unsigned long,unsigned long)\n6534 void COleClientItem::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6535 void COleClientItem::XAdviseSink::OnDataChange(tagFORMATETC *,tagSTGMEDIUM *)\n6536 int CDocManager::OnDDECommand(wchar_t *)\n6537 int CWinApp::OnDDECommand(wchar_t *)\n6538 long CFrameWnd::OnDDEExecute(unsigned int,long)\n6539 long CFrameWnd::OnDDEInitiate(unsigned int,long)\n6540 long CFrameWnd::OnDDETerminate(unsigned int,long)\n6541 void CDHtmlDialog::OnDDXError(wchar_t const *,unsigned int,int)\n6542 void COleClientItem::OnDeactivate(void)\n6543 void COleServerDoc::OnDeactivate(void)\n6544 void COleClientItem::OnDeactivateAndUndo(void)\n6545 void COleClientItem::OnDeactivateUI(int)\n6546 void COleServerDoc::OnDeactivateUI(int)\n6547 void CRichEditCntrItem::OnDeactivateUI(int)\n6548 void CWnd::OnDeadChar(unsigned int,unsigned int,unsigned int)\n6549 long COleControlSite::XOleIPSite::OnDefWindowMessage(unsigned int,unsigned int,long,long *)\n6550 void CWnd::OnDeleteItem(int,tagDELETEITEM*)\n6551 void CControlBar::OnDestroy(void)\n6552 void CDHtmlDialog::OnDestroy(void)\n6553 void CEditView::OnDestroy(void)\n6554 void CFrameWnd::OnDestroy(void)\n6555 void CHtmlView::OnDestroy(void)\n6556 void CMDIChildWnd::OnDestroy(void)\n6557 void CMDIFrameWnd::OnDestroy(void)\n6558 void COleControl::OnDestroy(void)\n6559 void COleIPFrameWnd::OnDestroy(void)\n6560 void CRichEditView::OnDestroy(void)\n6561 void CTabCtrl::OnDestroy(void)\n6562 void CTreeCtrl::OnDestroy(void)\n6563 void CTreeView::OnDestroy(void)\n6564 void CView::OnDestroy(void)\n6565 void CWnd::OnDestroy(void)\n6566 void CWnd::OnDestroyClipboard(void)\n6567 long CDHtmlDialog::OnDestroyModeless(unsigned int,long)\n6568 int CWnd::OnDeviceChange(unsigned int,unsigned long)\n6569 void CRichEditView::OnDevModeChange(wchar_t *)\n6570 void CWnd::OnDevModeChange(wchar_t *)\n6571 long CToolTipCtrl::OnDisableModal(unsigned int,long)\n6572 void COleClientItem::OnDiscardUndoState(void)\n6573 void CSplitterWnd::OnDisplayChange(void)\n6574 long CWnd::OnDisplayChange(unsigned int,long)\n6575 void CPreviewView::OnDisplayPageNumber(unsigned int,unsigned int)\n6576 int COleFrameHook::OnDocActivate(int)\n6577 void CDHtmlDialog::OnDocumentComplete(IDispatch *,wchar_t const *)\n6578 void CHtmlView::OnDocumentComplete(wchar_t const *)\n6579 long CDHtmlDialog::OnDocumentReadyStateChange(IHTMLElement *)\n6580 long CBrowserControlSite::OnDocWindowActivate(int)\n6581 long CDHtmlDialog::OnDocWindowActivate(int)\n6582 long CHtmlView::OnDocWindowActivate(int)\n6583 void COleServerDoc::OnDocWindowActivate(int)\n6584 long CHtmlControlSite::XDocHostUIHandler::OnDocWindowActivate(int)\n6585 long COleControl::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6586 long COleServerDoc::XOleInPlaceActiveObject::OnDocWindowActivate(int)\n6587 void CDocObjectServerItem::OnDoVerb(long)\n6588 int COleControl::OnDoVerb(long,tagMSG *,HWND__ *,tagRECT const *)\n6589 void COleServerItem::OnDoVerb(long)\n6590 void CHtmlView::OnDownloadBegin(void)\n6591 void CHtmlView::OnDownloadComplete(void)\n6592 unsigned long COleDropTarget::OnDragEnter(CWnd *,COleDataObject *,unsigned long,CPoint)\n6593 unsigned long CView::OnDragEnter(COleDataObject *,unsigned long,CPoint)\n6594 void COleDropTarget::OnDragLeave(CWnd *)\n6595 void CView::OnDragLeave(void)\n6596 long CWnd::OnDragList(unsigned int,long)\n6597 unsigned long COleDropTarget::OnDragOver(CWnd *,COleDataObject *,unsigned long,CPoint)\n6598 unsigned long CView::OnDragOver(COleDataObject *,unsigned long,CPoint)\n6599 unsigned long COleDropTarget::OnDragScroll(CWnd *,unsigned long,CPoint)\n6600 unsigned long CView::OnDragScroll(unsigned long,CPoint)\n6601 void CCtrlView::OnDraw(CDC *)\n6602 void CFormView::OnDraw(CDC *)\n6603 void CHtmlView::OnDraw(CDC *)\n6604 void COleControl::OnDraw(CDC *,CRect const &,CRect const &)\n6605 void CPreviewView::OnDraw(CDC *)\n6606 void CView::OnDraw(CDC *)\n6607 void CWnd::OnDrawClipboard(void)\n6608 int COleServerItem::OnDrawEx(CDC *,enum tagDVASPECT,CSize &)\n6609 void CWnd::OnDrawItem(int,tagDRAWITEM*)\n6610 void COleControl::OnDrawMetafile(CDC *,CRect const &)\n6611 unsigned int CPageSetupDialog::OnDrawPage(CDC *,unsigned int,tagRECT *)\n6612 void CSplitterWnd::OnDrawSplitter(CDC *,enum CSplitterWnd::ESplitType,CRect const &)\n6613 int COleDropTarget::OnDrop(CWnd *,COleDataObject *,unsigned long,CPoint)\n6614 int CView::OnDrop(COleDataObject *,unsigned long,CPoint)\n6615 void CSplitButton::OnDropDown(tagNMHDR *,long *)\n6616 unsigned long COleDropTarget::OnDropEx(CWnd *,COleDataObject *,unsigned long,unsigned long,CPoint)\n6617 unsigned long CView::OnDropEx(COleDataObject *,unsigned long,unsigned long,CPoint)\n6618 void CFrameWnd::OnDropFiles(HDROP__ *)\n6619 void CRichEditView::OnDropFiles(HDROP__ *)\n6620 void CWnd::OnDropFiles(HDROP__ *)\n6621 int COleControl::OnEdit(tagMSG *,HWND__ *,tagRECT const *)\n6622 int CEditView::OnEditChange(void)\n6623 void COleDocument::OnEditChangeIcon(void)\n6624 void CEditView::OnEditClear(void)\n6625 void CRichEditView::OnEditClear(void)\n6626 void COleDocument::OnEditConvert(void)\n6627 void CEditView::OnEditCopy(void)\n6628 void CHtmlView::OnEditCopy(void)\n6629 void CRichEditView::OnEditCopy(void)\n6630 void CEditView::OnEditCut(void)\n6631 void CHtmlView::OnEditCut(void)\n6632 void CRichEditView::OnEditCut(void)\n6633 void CEditView::OnEditFind(void)\n6634 void CRichEditView::OnEditFind(void)\n6635 void CEditView::OnEditFindReplace(int)\n6636 void CRichEditView::OnEditFindReplace(int)\n6637 void COleDocument::OnEditLinks(void)\n6638 void CEditView::OnEditPaste(void)\n6639 void CHtmlView::OnEditPaste(void)\n6640 void CRichEditView::OnEditPaste(void)\n6641 void CRichEditView::OnEditPasteSpecial(void)\n6642 void CRichEditView::OnEditProperties(void)\n6643 int COlePropertyPage::OnEditProperty(long)\n6644 void CRichEditView::OnEditRedo(void)\n6645 void CEditView::OnEditRepeat(void)\n6646 void CRichEditView::OnEditRepeat(void)\n6647 void CEditView::OnEditReplace(void)\n6648 void CRichEditView::OnEditReplace(void)\n6649 void CEditView::OnEditSelectAll(void)\n6650 void CRichEditView::OnEditSelectAll(void)\n6651 void CEditView::OnEditUndo(void)\n6652 void CRichEditView::OnEditUndo(void)\n6653 void CFrameWnd::OnEnable(int)\n6654 void CToolTipCtrl::OnEnable(int)\n6655 void CWnd::OnEnable(int)\n6656 void COleControl::OnEnabledChanged(void)\n6657 long CHtmlView::OnEnableModeless(int)\n6658 void COleFrameHook::OnEnableModeless(int)\n6659 void CEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6660 void CRichEditView::OnEndPrinting(CDC *,CPrintInfo *)\n6661 void CView::OnEndPrinting(CDC *,CPrintInfo *)\n6662 void CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)\n6663 void CFrameWnd::OnEndSession(int)\n6664 void CWnd::OnEndSession(int)\n6665 void CFrameWnd::OnEnterIdle(unsigned int,CWnd *)\n6666 void COleControl::OnEnterIdle(unsigned int,CWnd *)\n6667 void CWnd::OnEnterIdle(unsigned int,CWnd *)\n6668 void CWnd::OnEnterMenuLoop(int)\n6669 void CWnd::OnEnterSizeMove(void)\n6670 int COleControl::OnEnumVerbs(IEnumOLEVERB * *)\n6671 int CDockBar::OnEraseBkgnd(CDC *)\n6672 int CFrameWnd::OnEraseBkgnd(CDC *)\n6673 int COleControl::OnEraseBkgnd(CDC *)\n6674 int COleResizeBar::OnEraseBkgnd(CDC *)\n6675 int CPreviewView::OnEraseBkgnd(CDC *)\n6676 int CReBar::OnEraseBkgnd(CDC *)\n6677 int CToolBar::OnEraseBkgnd(CDC *)\n6678 int CWnd::OnEraseBkgnd(CDC *)\n6679 int CCmdTarget::OnEvent(unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6680 int COccManager::OnEvent(CCmdTarget *,unsigned int,AFX_EVENT *,AFX_CMDHANDLERINFO *)\n6681 int COleControlSite::OnEvent(AFX_EVENT *)\n6682 void COleControl::OnEventAdvise(int)\n6683 long CDocObjectServer::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6684 long COleServerDoc::OnExecOleCmd(_GUID const *,unsigned long,unsigned long,tagVARIANT *,tagVARIANT *)\n6685 void CWnd::OnExitMenuLoop(int)\n6686 void CWnd::OnExitSizeMove(void)\n6687 long COleControlSite::XRowsetNotify::OnFieldChange(IRowset *,unsigned long,unsigned long,unsigned long * const,unsigned long,unsigned long,int)\n6688 void CDocument::OnFileClose(void)\n6689 void CFileDialog::OnFileNameChange(void)\n6690 int CFileDialog::OnFileNameOK(void)\n6691 void CDocManager::OnFileNew(void)\n6692 void CWinApp::OnFileNew(void)\n6693 long CFileDialog::XFileDialogEvents::OnFileOk(IFileDialog *)\n6694 void CDocManager::OnFileOpen(void)\n6695 void CWinApp::OnFileOpen(void)\n6696 void CHtmlView::OnFilePrint(void)\n6697 void CView::OnFilePrint(void)\n6698 void CView::OnFilePrintPreview(void)\n6699 void CWinApp::OnFilePrintSetup(void)\n6700 void CDocument::OnFileSave(void)\n6701 void CDocument::OnFileSaveAs(void)\n6702 void COleServerDoc::OnFileSaveCopyAs(void)\n6703 void CDocument::OnFileSendMail(void)\n6704 void COleDocument::OnFileSendMail(void)\n6705 void COleServerDoc::OnFileUpdate(void)\n6706 long CHtmlView::OnFilterDataObject(IDataObject *,IDataObject * *)\n6707 void CCmdTarget::OnFinalRelease(void)\n6708 void CDocument::OnFinalRelease(void)\n6709 void COleControl::OnFinalRelease(void)\n6710 void COlePropertyPage::OnFinalRelease(void)\n6711 void COleServerItem::OnFinalRelease(void)\n6712 void CWnd::OnFinalRelease(void)\n6713 COleClientItem * COleLinkingDoc::OnFindEmbeddedItem(wchar_t const *)\n6714 void CEditView::OnFindNext(wchar_t const *,int,int)\n6715 void CRichEditView::OnFindNext(wchar_t const *,int,int,int)\n6716 long CEditView::OnFindReplaceCmd(unsigned int,long)\n6717 long CRichEditView::OnFindReplaceCmd(unsigned int,long)\n6718 long CMiniFrameWnd::OnFloatStatus(unsigned int,long)\n6719 long COleControlSite::XOleControlSite::OnFocus(int)\n6720 void CFileDialog::OnFolderChange(void)\n6721 long CFileDialog::XFileDialogEvents::OnFolderChange(IFileDialog *)\n6722 long CFileDialog::XFileDialogEvents::OnFolderChanging(IFileDialog *,IShellItem *)\n6723 void CWnd::OnFontChange(void)\n6724 void COleControl::OnFontChanged(void)\n6725 void COleControl::OnForeColorChanged(void)\n6726 void CRichEditView::OnFormatFont(void)\n6727 void COleControl::OnFrameClose(void)\n6728 long CBrowserControlSite::OnFrameWindowActivate(int)\n6729 long CDHtmlDialog::OnFrameWindowActivate(int)\n6730 long CHtmlView::OnFrameWindowActivate(int)\n6731 void COleServerDoc::OnFrameWindowActivate(int)\n6732 long CHtmlControlSite::XDocHostUIHandler::OnFrameWindowActivate(int)\n6733 long COleControl::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6734 long COleServerDoc::XOleInPlaceActiveObject::OnFrameWindowActivate(int)\n6735 void COleControl::OnFreezeEvents(int)\n6736 void CHtmlView::OnFullScreen(int)\n6737 CRect CCheckListBox::OnGetCheckPosition(CRect,CRect)\n6738 COleDataSource * COleClientItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6739 COleDataSource * COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)\n6740 void COleClientItem::OnGetClipRect(CRect &)\n6741 int COleControl::OnGetColorSet(tagDVTARGETDEVICE *,HDC__ *,tagLOGPALETTE * *)\n6742 void COleControl::OnGetControlInfo(tagCONTROLINFO *)\n6743 int COleControl::OnGetDisplayString(long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n6744 unsigned int COleControl::OnGetDlgCode(void)\n6745 unsigned int CWnd::OnGetDlgCode(void)\n6746 long CHtmlView::OnGetDropTarget(IDropTarget *,IDropTarget * *)\n6747 COleServerItem * CRichEditDoc::OnGetEmbeddedItem(void)\n6748 int COleServerItem::OnGetExtent(enum tagDVASPECT,CSize &)\n6749 long CHtmlView::OnGetExternal(IDispatch * *)\n6750 long CHtmlView::OnGetHostInfo(_DOCHOSTUIINFO *)\n6751 HMENU__ * COleControl::OnGetInPlaceMenu(void)\n6752 void COleClientItem::OnGetItemPosition(CRect &)\n6753 void COleDocObjectItem::OnGetItemPosition(CRect &)\n6754 COleServerItem * COleLinkingDoc::OnGetLinkedItem(wchar_t const *)\n6755 COleServerItem * COleServerDoc::OnGetLinkedItem(wchar_t const *)\n6756 void CMiniFrameWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6757 void CWnd::OnGetMinMaxInfo(tagMINMAXINFO *)\n6758 int COleControl::OnGetNaturalExtent(unsigned long,long,tagDVTARGETDEVICE *,HDC__ *,tagExtentInfo *,tagSIZE *)\n6759 long CWnd::OnGetObject(unsigned int,long)\n6760 long CHtmlView::OnGetOptionKeyPath(wchar_t * *,unsigned long)\n6761 int COleControl::OnGetPredefinedStrings(long,CStringArray *,CDWordArray *)\n6762 int COleControl::OnGetPredefinedValue(long,unsigned long,tagVARIANT *)\n6763 long CStatusBar::OnGetText(unsigned int,long)\n6764 long CStatusBar::OnGetTextLength(unsigned int,long)\n6765 int COleControl::OnGetViewExtent(unsigned long,long,tagDVTARGETDEVICE *,tagSIZE *)\n6766 int COleControl::OnGetViewRect(unsigned long,_RECTL *)\n6767 unsigned long COleControl::OnGetViewStatus(void)\n6768 int COleClientItem::OnGetWindowContext(CFrameWnd * *,CFrameWnd * *,tagOIFI *)\n6769 void CReBar::OnHeightChange(tagNMHDR *,long *)\n6770 void CFrameWnd::OnHelp(void)\n6771 int COlePropertyPage::OnHelp(wchar_t const *)\n6772 void CWinApp::OnHelp(void)\n6773 void CWnd::OnHelp(void)\n6774 long CFileDialog::XFileDialogEvents::OnHelp(IFileDialog *)\n6775 void CWinApp::OnHelpFinder(void)\n6776 void CWnd::OnHelpFinder(void)\n6777 long CControlBar::OnHelpHitTest(unsigned int,long)\n6778 long CDialog::OnHelpHitTest(unsigned int,long)\n6779 long CFrameWnd::OnHelpHitTest(unsigned int,long)\n6780 void CWinApp::OnHelpIndex(void)\n6781 void CWnd::OnHelpIndex(void)\n6782 int CCommonDialog::OnHelpInfo(tagHELPINFO *)\n6783 int CWnd::OnHelpInfo(tagHELPINFO *)\n6784 long CFrameWnd::OnHelpPromptAddr(unsigned int,long)\n6785 void CWinApp::OnHelpUsing(void)\n6786 void CWnd::OnHelpUsing(void)\n6787 void CDocObjectServerItem::OnHide(void)\n6788 long COleControl::OnHide(void)\n6789 void COleServerItem::OnHide(void)\n6790 void CFrameWnd::OnHideMenuBar(void)\n6791 void COleControl::OnHideToolBars(void)\n6792 long CHtmlView::OnHideUI(void)\n6793 void CWnd::OnHotKey(unsigned int,unsigned int,unsigned int)\n6794 void CFrameWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6795 void CPreviewView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6796 void CScrollView::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6797 void CSplitterWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6798 void CWnd::OnHScroll(unsigned int,unsigned int,CScrollBar *)\n6799 void CWnd::OnHScrollClipboard(CWnd *,unsigned int,unsigned int)\n6800 void CWnd::OnIconEraseBkgnd(CDC *)\n6801 void CDocTemplate::OnIdle(void)\n6802 void CDocument::OnIdle(void)\n6803 void COleDocument::OnIdle(void)\n6804 int CWinApp::OnIdle(long)\n6805 int CWinThread::OnIdle(long)\n6806 long CControlBar::OnIdleUpdateCmdUI(unsigned int,long)\n6807 void CFrameWnd::OnIdleUpdateCmdUI(void)\n6808 void CMDIFrameWnd::OnIdleUpdateCmdUI(void)\n6809 void COleCntrFrameWnd::OnIdleUpdateCmdUI(void)\n6810 void COleIPFrameWnd::OnIdleUpdateCmdUI(void)\n6811 void COleControl::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6812 long COleControl::XPointerInactive::OnInactiveMouseMove(tagRECT const *,long,long,unsigned long)\n6813 int COleControl::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6814 long COleControl::XPointerInactive::OnInactiveSetCursor(tagRECT const *,long,long,unsigned long,int)\n6815 int CDHtmlDialog::OnInitDialog(void)\n6816 int CDialog::OnInitDialog(void)\n6817 int COlePropertiesDialog::OnInitDialog(void)\n6818 int COlePropertyPage::OnInitDialog(void)\n6819 int CPropertySheet::OnInitDialog(void)\n6820 void CFileDialog::OnInitDone(void)\n6821 int COleServerItem::OnInitFromData(COleDataObject *,int)\n6822 void CControlBar::OnInitialUpdate(void)\n6823 void CDaoRecordView::OnInitialUpdate(void)\n6824 void CFormView::OnInitialUpdate(void)\n6825 void COleDBRecordView::OnInitialUpdate(void)\n6826 void CRecordView::OnInitialUpdate(void)\n6827 void CRichEditView::OnInitialUpdate(void)\n6828 void CView::OnInitialUpdate(void)\n6829 void CFrameWnd::OnInitMenu(CMenu *)\n6830 void COleFrameHook::OnInitMenu(CMenu *)\n6831 void CWnd::OnInitMenu(CMenu *)\n6832 void CFrameWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6833 void COleControl::OnInitMenuPopup(CMenu *,unsigned int,int)\n6834 int COleFrameHook::OnInitMenuPopup(CMenu *,int,int)\n6835 void CWnd::OnInitMenuPopup(CMenu *,unsigned int,int)\n6836 long COleClientItem::XOleIPSite::OnInPlaceActivate(void)\n6837 long COleControlSite::XOleIPSite::OnInPlaceActivate(void)\n6838 long COleControlSite::XOleIPSite::OnInPlaceActivateEx(int *,unsigned long)\n6839 long COleClientItem::XOleIPSite::OnInPlaceDeactivate(void)\n6840 long COleControlSite::XOleIPSite::OnInPlaceDeactivate(void)\n6841 long COleControlSite::XOleIPSite::OnInPlaceDeactivateEx(int)\n6842 void CWnd::OnInputDeviceChange(unsigned short)\n6843 void CWnd::OnInputLangChange(unsigned int,unsigned int)\n6844 void CWnd::OnInputLangChangeRequest(unsigned int,unsigned int)\n6845 void COleClientItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6846 void COleDocObjectItem::OnInsertMenus(CMenu *,tagOleMenuGroupWidths *)\n6847 void CRichEditView::OnInsertObject(void)\n6848 void CSplitterWnd::OnInvertTracker(CRect const &)\n6849 long CFileDialog::XFileDialogControlEvents::OnItemSelected(IFileDialogCustomize *,unsigned long,unsigned long)\n6850 void CDockContext::OnKey(int,int)\n6851 void CCheckListBox::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6852 void COleControl::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6853 void CRichEditView::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6854 void CSplitterWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6855 void CWnd::OnKeyDown(unsigned int,unsigned int,unsigned int)\n6856 void COleControl::OnKeyDownEvent(unsigned short,unsigned short)\n6857 void COleControl::OnKeyPressEvent(unsigned short)\n6858 void COleControl::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6859 void CWnd::OnKeyUp(unsigned int,unsigned int,unsigned int)\n6860 void COleControl::OnKeyUpEvent(unsigned short,unsigned short)\n6861 long CPropertySheet::OnKickIdle(unsigned int,long)\n6862 int CPropertyPage::OnKillActive(void)\n6863 void COleControl::OnKillFocus(CWnd *)\n6864 void CWnd::OnKillFocus(CWnd *)\n6865 long CCheckListBox::OnLBAddString(unsigned int,long)\n6866 long CCheckListBox::OnLBFindString(unsigned int,long)\n6867 long CCheckListBox::OnLBFindStringExact(unsigned int,long)\n6868 long CCheckListBox::OnLBGetItemData(unsigned int,long)\n6869 long CCheckListBox::OnLBGetText(unsigned int,long)\n6870 long CCheckListBox::OnLBInsertString(unsigned int,long)\n6871 void CFileDialog::OnLBSelChangedNotify(unsigned int,unsigned int,unsigned int)\n6872 long CCheckListBox::OnLBSelectString(unsigned int,long)\n6873 long CCheckListBox::OnLBSetItemData(unsigned int,long)\n6874 long CCheckListBox::OnLBSetItemHeight(unsigned int,long)\n6875 void CCheckListBox::OnLButtonDblClk(unsigned int,CPoint)\n6876 void CControlBar::OnLButtonDblClk(unsigned int,CPoint)\n6877 void COleControl::OnLButtonDblClk(unsigned int,CPoint)\n6878 void CSplitterWnd::OnLButtonDblClk(unsigned int,CPoint)\n6879 void CWnd::OnLButtonDblClk(unsigned int,CPoint)\n6880 void CCheckListBox::OnLButtonDown(unsigned int,CPoint)\n6881 void CControlBar::OnLButtonDown(unsigned int,CPoint)\n6882 void COleControl::OnLButtonDown(unsigned int,CPoint)\n6883 void COleResizeBar::OnLButtonDown(unsigned int,CPoint)\n6884 void CPreviewView::OnLButtonDown(unsigned int,CPoint)\n6885 void CSplitterWnd::OnLButtonDown(unsigned int,CPoint)\n6886 void CWnd::OnLButtonDown(unsigned int,CPoint)\n6887 void COleControl::OnLButtonUp(unsigned int,CPoint)\n6888 void CSplitterWnd::OnLButtonUp(unsigned int,CPoint)\n6889 void CWnd::OnLButtonUp(unsigned int,CPoint)\n6890 void CAsyncMonikerFile::OnLowResource(void)\n6891 int COleControl::OnMapPropertyToPage(long,_GUID *,int *)\n6892 void COleControl::OnMButtonDblClk(unsigned int,CPoint)\n6893 void CWnd::OnMButtonDblClk(unsigned int,CPoint)\n6894 void COleControl::OnMButtonDown(unsigned int,CPoint)\n6895 void CWnd::OnMButtonDown(unsigned int,CPoint)\n6896 void COleControl::OnMButtonUp(unsigned int,CPoint)\n6897 void CWnd::OnMButtonUp(unsigned int,CPoint)\n6898 void CMDIChildWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6899 void CWnd::OnMDIActivate(int,CWnd *,CWnd *)\n6900 int CMDIFrameWnd::OnMDIWindowCmd(unsigned int)\n6901 void CWnd::OnMeasureItem(int,tagMEASUREITEM*)\n6902 void CHtmlView::OnMenuBar(int)\n6903 long CFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6904 long CMDIFrameWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6905 long CWnd::OnMenuChar(unsigned int,unsigned int,CMenu *)\n6906 void CWnd::OnMenuCommand(unsigned int,CMenu *)\n6907 unsigned int CWnd::OnMenuDrag(unsigned int,CMenu *)\n6908 unsigned int CWnd::OnMenuGetObject(tagMENUGETOBJECTINFO *)\n6909 void CWnd::OnMenuRButtonUp(unsigned int,CMenu *)\n6910 void CFrameWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6911 void COleControl::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6912 int COleFrameHook::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6913 void CWnd::OnMenuSelect(unsigned int,unsigned int,HMENU__ *)\n6914 int COleMessageFilter::OnMessagePending(tagMSG const *)\n6915 int CSocket::OnMessagePending(void)\n6916 void COleControl::OnMnemonic(tagMSG *)\n6917 long COleControl::XOleControl::OnMnemonic(tagMSG *)\n6918 int CControlBar::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6919 int CMDIChildWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6920 int CMiniDockFrameWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6921 int COleControl::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6922 int CView::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6923 int CWnd::OnMouseActivate(CWnd *,unsigned int,unsigned int)\n6924 void CWnd::OnMouseHover(unsigned int,CPoint)\n6925 void CWnd::OnMouseHWheel(unsigned int,short,CPoint)\n6926 void CWnd::OnMouseLeave(void)\n6927 void COleControl::OnMouseMove(unsigned int,CPoint)\n6928 void CSplitterWnd::OnMouseMove(unsigned int,CPoint)\n6929 void CWnd::OnMouseMove(unsigned int,CPoint)\n6930 int CScrollView::OnMouseWheel(unsigned int,short,CPoint)\n6931 int CSplitterWnd::OnMouseWheel(unsigned int,short,CPoint)\n6932 int CWnd::OnMouseWheel(unsigned int,short,CPoint)\n6933 void CDaoRecordView::OnMove(int,int)\n6934 int CDaoRecordView::OnMove(unsigned int)\n6935 void COleControl::OnMove(int,int)\n6936 int COleDBRecordView::OnMove(unsigned int)\n6937 void CRecordView::OnMove(int,int)\n6938 int CRecordView::OnMove(unsigned int)\n6939 void CWnd::OnMove(int,int)\n6940 void CWnd::OnMoving(unsigned int,tagRECT *)\n6941 void CDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6942 void CMultiPageDHtmlDialog::OnNavigateComplete(IDispatch *,wchar_t const *)\n6943 void CHtmlEditView::OnNavigateComplete2(wchar_t const *)\n6944 void CHtmlView::OnNavigateComplete2(wchar_t const *)\n6945 void CHtmlView::OnNavigateError(wchar_t const *,wchar_t const *,unsigned long,int *)\n6946 int CFrameWnd::OnNcActivate(int)\n6947 int CMDIChildWnd::OnNcActivate(int)\n6948 int CMiniFrameWnd::OnNcActivate(int)\n6949 int CWnd::OnNcActivate(int)\n6950 void CDockBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6951 void COleControl::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6952 void CReBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6953 void CStatusBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6954 void CToolBar::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6955 void CWnd::OnNcCalcSize(int,tagNCCALCSIZE_PARAMS *)\n6956 int CMDIChildWnd::OnNcCreate(tagCREATESTRUCTW *)\n6957 int CMiniFrameWnd::OnNcCreate(tagCREATESTRUCTW *)\n6958 int COleControl::OnNcCreate(tagCREATESTRUCTW *)\n6959 int CPropertySheet::OnNcCreate(tagCREATESTRUCTW *)\n6960 int CReBar::OnNcCreate(tagCREATESTRUCTW *)\n6961 int CSplitterWnd::OnNcCreate(tagCREATESTRUCTW *)\n6962 int CToolBar::OnNcCreate(tagCREATESTRUCTW *)\n6963 int CWnd::OnNcCreate(tagCREATESTRUCTW *)\n6964 void CListCtrl::OnNcDestroy(void)\n6965 void CListView::OnNcDestroy(void)\n6966 void CWnd::OnNcDestroy(void)\n6967 long CMiniFrameWnd::OnNcHitTest(CPoint)\n6968 long COleControl::OnNcHitTest(CPoint)\n6969 long CStatusBar::OnNcHitTest(CPoint)\n6970 long CToolBar::OnNcHitTest(CPoint)\n6971 long CWnd::OnNcHitTest(CPoint)\n6972 void CMiniDockFrameWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6973 void CWnd::OnNcLButtonDblClk(unsigned int,CPoint)\n6974 void CMiniDockFrameWnd::OnNcLButtonDown(unsigned int,CPoint)\n6975 void COleControl::OnNcLButtonDown(unsigned int,CPoint)\n6976 void CWnd::OnNcLButtonDown(unsigned int,CPoint)\n6977 void CWnd::OnNcLButtonUp(unsigned int,CPoint)\n6978 void CWnd::OnNcMButtonDblClk(unsigned int,CPoint)\n6979 void CWnd::OnNcMButtonDown(unsigned int,CPoint)\n6980 void CWnd::OnNcMButtonUp(unsigned int,CPoint)\n6981 void CWnd::OnNcMouseHover(unsigned int,CPoint)\n6982 void CWnd::OnNcMouseLeave(void)\n6983 void CWnd::OnNcMouseMove(unsigned int,CPoint)\n6984 void CDockBar::OnNcPaint(void)\n6985 void COleControl::OnNcPaint(void)\n6986 void CReBar::OnNcPaint(void)\n6987 void CStatusBar::OnNcPaint(void)\n6988 void CToolBar::OnNcPaint(void)\n6989 void CWnd::OnNcPaint(void)\n6990 void CWnd::OnNcRButtonDblClk(unsigned int,CPoint)\n6991 void CWnd::OnNcRButtonDown(unsigned int,CPoint)\n6992 void CWnd::OnNcRButtonUp(unsigned int,CPoint)\n6993 void CWnd::OnNcRenderingChanged(int)\n6994 void CWnd::OnNcXButtonDblClk(short,unsigned int,CPoint)\n6995 void CWnd::OnNcXButtonDown(short,unsigned int,CPoint)\n6996 void CWnd::OnNcXButtonUp(short,unsigned int,CPoint)\n6997 int CDocument::OnNewDocument(void)\n6998 int CHtmlEditDoc::OnNewDocument(void)\n6999 int COleDocument::OnNewDocument(void)\n7000 int COleLinkingDoc::OnNewDocument(void)\n7001 void COleServerDoc::OnNewEmbedding(IStorage *)\n7002 void CHtmlView::OnNewWindow2(IDispatch * *,int *)\n7003 int CEnumArray::OnNext(void *)\n7004 int CEnumConnections::OnNext(void *)\n7005 int CEnumConnPoints::OnNext(void *)\n7006 int CEnumFormatEtc::OnNext(void *)\n7007 int CEnumOleVerb::OnNext(void *)\n7008 int CEnumUnknown::OnNext(void *)\n7009 void CWnd::OnNextMenu(unsigned int,tagMDINEXTMENU *)\n7010 void CPreviewView::OnNextPage(void)\n7011 int CView::OnNextPaneCmd(unsigned int)\n7012 int CFileDialog::OnNotify(unsigned int,long,long *)\n7013 int CPropertyPage::OnNotify(unsigned int,long,long *)\n7014 int CSplitterWnd::OnNotify(unsigned int,long,long *)\n7015 int CWnd::OnNotify(unsigned int,long,long *)\n7016 unsigned int CWnd::OnNotifyFormat(CWnd *,unsigned int)\n7017 int COleMessageFilter::OnNotRespondingDialog(HTASK__ *)\n7018 long CWnd::OnNTCtlColor(unsigned int,long)\n7019 void CPreviewView::OnNumPageChange(void)\n7020 void COlePropertyPage::OnObjectsChanged(void)\n7021 long COleControl::OnOcmCtlColorBtn(unsigned int,long)\n7022 long COleControl::OnOcmCtlColorDlg(unsigned int,long)\n7023 long COleControl::OnOcmCtlColorEdit(unsigned int,long)\n7024 long COleControl::OnOcmCtlColorListBox(unsigned int,long)\n7025 long COleControl::OnOcmCtlColorMsgBox(unsigned int,long)\n7026 long COleControl::OnOcmCtlColorScrollBar(unsigned int,long)\n7027 long COleControl::OnOcmCtlColorStatic(unsigned int,long)\n7028 void CCommonDialog::OnOK(void)\n7029 void CDialog::OnOK(void)\n7030 void CPropertyPage::OnOK(void)\n7031 long COleControl::OnOpen(int,tagMSG *)\n7032 void COleServerItem::OnOpen(void)\n7033 int CDocument::OnOpenDocument(wchar_t const *)\n7034 int CHtmlEditDoc::OnOpenDocument(wchar_t const *)\n7035 int COleDocument::OnOpenDocument(wchar_t const *)\n7036 int COleLinkingDoc::OnOpenDocument(wchar_t const *)\n7037 void COleServerDoc::OnOpenEmbedding(IStorage *)\n7038 int CWinApp::OnOpenRecentFile(unsigned int)\n7039 void CAsyncSocket::OnOutOfBandData(int)\n7040 long CFileDialog::XFileDialogEvents::OnOverwrite(IFileDialog *,IShellItem *,enum tagFDE_OVERWRITE_RESPONSE *)\n7041 void CCommonDialog::OnPaint(void)\n7042 void CControlBar::OnPaint(void)\n7043 void CCtrlView::OnPaint(void)\n7044 void CDialog::OnPaint(void)\n7045 void CDockBar::OnPaint(void)\n7046 void CHtmlEditView::OnPaint(void)\n7047 void CHtmlView::OnPaint(void)\n7048 void COleControl::OnPaint(CDC *)\n7049 int COleControlContainer::OnPaint(CDC *)\n7050 void COleResizeBar::OnPaint(void)\n7051 void CReBar::OnPaint(void)\n7052 void CSplitterWnd::OnPaint(void)\n7053 void CStatusBar::OnPaint(void)\n7054 void CToolBar::OnPaint(void)\n7055 void CView::OnPaint(void)\n7056 void CWnd::OnPaint(void)\n7057 void CWnd::OnPaintClipboard(CWnd *,void *)\n7058 void CFrameWnd::OnPaletteChanged(CWnd *)\n7059 void COleFrameHook::OnPaletteChanged(CWnd *)\n7060 void CWnd::OnPaletteChanged(CWnd *)\n7061 void CWnd::OnPaletteIsChanging(CWnd *)\n7062 void CRichEditView::OnParaAlign(unsigned short)\n7063 void CRichEditView::OnParaCenter(void)\n7064 void CRichEditView::OnParaLeft(void)\n7065 void CRichEditView::OnParaRight(void)\n7066 void CWnd::OnParentNotify(unsigned int,long)\n7067 int CRichEditView::OnPasteNativeObject(IStorage *)\n7068 long CFrameWnd::OnPopMessageString(unsigned int,long)\n7069 long COleClientItem::XOleIPSite::OnPosRectChange(tagRECT const *)\n7070 long COleControlSite::XOleIPSite::OnPosRectChange(tagRECT const *)\n7071 unsigned int CWnd::OnPowerBroadcast(unsigned int,unsigned int)\n7072 void CEditView::OnPrepareDC(CDC *,CPrintInfo *)\n7073 void CPreviewView::OnPrepareDC(CDC *,CPrintInfo *)\n7074 void CRichEditView::OnPrepareDC(CDC *,CPrintInfo *)\n7075 void CScrollView::OnPrepareDC(CDC *,CPrintInfo *)\n7076 void CView::OnPrepareDC(CDC *,CPrintInfo *)\n7077 int CEditView::OnPreparePrinting(CPrintInfo *)\n7078 int CHtmlEditView::OnPreparePrinting(CPrintInfo *)\n7079 int COleDocObjectItem::OnPreparePrinting(CView *,CPrintInfo *,int)\n7080 int CView::OnPreparePrinting(CPrintInfo *)\n7081 long CToolBar::OnPreserveSizingPolicyHelper(unsigned int,long)\n7082 long CToolBar::OnPreserveZeroBorderHelper(unsigned int,long)\n7083 int COleFrameHook::OnPreTranslateMessage(tagMSG *)\n7084 void CPreviewView::OnPreviewClose(void)\n7085 void CPreviewView::OnPreviewPrint(void)\n7086 void CPreviewView::OnPrevPage(void)\n7087 void CEditView::OnPrint(CDC *,CPrintInfo *)\n7088 void COleDocObjectItem::OnPrint(CView *,CPrintInfo *,int)\n7089 void CRichEditView::OnPrint(CDC *,CPrintInfo *)\n7090 void CView::OnPrint(CDC *,CPrintInfo *)\n7091 void CRichEditView::OnPrinterChanged(CDC const &)\n7092 void CPrintDialog::OnPrintSetup(void)\n7093 void CAsyncMonikerFile::OnProgress(unsigned long,unsigned long,unsigned long,wchar_t const *)\n7094 void CHtmlView::OnProgressChange(long,long)\n7095 int COleControl::OnProperties(tagMSG *,HWND__ *,tagRECT const *)\n7096 void CHtmlView::OnPropertyChange(wchar_t const *)\n7097 int CPropertyPage::OnQueryCancel(void)\n7098 long CMiniFrameWnd::OnQueryCenterWnd(unsigned int,long)\n7099 HICON__ * CWnd::OnQueryDragIcon(void)\n7100 int CFrameWnd::OnQueryEndSession(void)\n7101 int CWnd::OnQueryEndSession(void)\n7102 int COleControl::OnQueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7103 int COleControl::OnQueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7104 int CFrameWnd::OnQueryNewPalette(void)\n7105 int COleFrameHook::OnQueryNewPalette(void)\n7106 int CWnd::OnQueryNewPalette(void)\n7107 int CWnd::OnQueryOpen(void)\n7108 unsigned int CWnd::OnQueryUIState(void)\n7109 int COleServerItem::OnQueryUpdateItems(void)\n7110 void CHtmlView::OnQuit(void)\n7111 void CWnd::OnRawInput(unsigned int,HRAWINPUT__ *)\n7112 void COleControl::OnRButtonDblClk(unsigned int,CPoint)\n7113 void CWnd::OnRButtonDblClk(unsigned int,CPoint)\n7114 void COleControl::OnRButtonDown(unsigned int,CPoint)\n7115 void CWnd::OnRButtonDown(unsigned int,CPoint)\n7116 void COleControl::OnRButtonUp(unsigned int,CPoint)\n7117 void CWnd::OnRButtonUp(unsigned int,CPoint)\n7118 int COleServerDoc::OnReactivateAndUndo(void)\n7119 void COleFrameHook::OnRecalcLayout(void)\n7120 long COleIPFrameWnd::OnRecalcParent(unsigned int,long)\n7121 void CReBar::OnRecalcParent(void)\n7122 void CAsyncSocket::OnReceive(int)\n7123 void COleControl::OnReflectorDestroyed(void)\n7124 void COleClientItem::OnRemoveMenus(CMenu *)\n7125 void COleDocObjectItem::OnRemoveMenus(CMenu *)\n7126 void COleClientItem::XAdviseSink::OnRename(IMoniker *)\n7127 void CWnd::OnRenderAllFormats(void)\n7128 int COleControl::CControlDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7129 int COleServerItem::CItemDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7130 int COleControl::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7131 int COleDataSource::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7132 int COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)\n7133 int COleControl::CControlDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7134 int COleServerItem::CItemDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7135 int COleControl::OnRenderFileData(tagFORMATETC *,CFile *)\n7136 int COleDataSource::OnRenderFileData(tagFORMATETC *,CFile *)\n7137 int COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)\n7138 void CWnd::OnRenderFormat(unsigned int)\n7139 int COleControl::CControlDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7140 int COleServerItem::CItemDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7141 int COleControl::OnRenderGlobalData(tagFORMATETC *,void * *)\n7142 int COleDataSource::OnRenderGlobalData(tagFORMATETC *,void * *)\n7143 int COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)\n7144 void CEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int)\n7145 void CRichEditView::OnReplaceAll(wchar_t const *,wchar_t const *,int,int)\n7146 void CEditView::OnReplaceSel(wchar_t const *,int,int,wchar_t const *)\n7147 void CRichEditView::OnReplaceSel(wchar_t const *,int,int,int,wchar_t const *)\n7148 long COleControl::XFontNotification::OnRequestEdit(long)\n7149 long COleControlSite::XPropertyNotifySink::OnRequestEdit(long)\n7150 long COlePropertyPage::XPropNotifySink::OnRequestEdit(long)\n7151 void COleDocIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n7152 void COleIPFrameWnd::OnRequestPositionChange(tagRECT const *)\n7153 void CEnumArray::OnReset(void)\n7154 void CPropertyPage::OnReset(void)\n7155 void COleControl::OnResetState(void)\n7156 long CHtmlView::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7157 void COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n7158 long COleIPFrameWnd::OnResizeChild(unsigned int,long)\n7159 long COleControlSite::XRowsetNotify::OnRowChange(IRowset *,unsigned long,unsigned long const * const,unsigned long,unsigned long,int)\n7160 long COleControlSite::XRowsetNotify::OnRowsetChange(IRowset *,unsigned long,unsigned long,int)\n7161 void COleClientItem::XAdviseSink::OnSave(void)\n7162 int CDocument::OnSaveDocument(wchar_t const *)\n7163 int CHtmlEditDoc::OnSaveDocument(wchar_t const *)\n7164 int COleDocument::OnSaveDocument(wchar_t const *)\n7165 int COleLinkingDoc::OnSaveDocument(wchar_t const *)\n7166 int COleServerDoc::OnSaveDocument(wchar_t const *)\n7167 void COleServerDoc::OnSaveEmbedding(IStorage *)\n7168 void COleServerItem::OnSaveEmbedding(IStorage *)\n7169 void CDocObjectServer::OnSaveViewState(CArchive &)\n7170 int CScrollView::OnScroll(unsigned int,unsigned int,int)\n7171 int CView::OnScroll(unsigned int,unsigned int,int)\n7172 int COleClientItem::OnScrollBy(CSize)\n7173 int CScrollView::OnScrollBy(CSize,int)\n7174 int CView::OnScrollBy(CSize,int)\n7175 void CRichEditView::OnSelChange(tagNMHDR *,long *)\n7176 long CFileDialog::XFileDialogEvents::OnSelectionChange(IFileDialog *)\n7177 void CAsyncSocket::OnSend(int)\n7178 void CWnd::OnSessionChange(unsigned int,unsigned int)\n7179 int CPropertyPage::OnSetActive(void)\n7180 long CToolBar::OnSetBitmapSize(unsigned int,long)\n7181 long CToolBar::OnSetButtonSize(unsigned int,long)\n7182 void COleControl::OnSetClientSite(void)\n7183 int COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)\n7184 int CFrameWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7185 int COleControl::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7186 int COleResizeBar::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7187 int CPreviewView::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7188 int CSplitterWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7189 int CWnd::OnSetCursor(CWnd *,unsigned int,unsigned int)\n7190 int COleControl::CControlDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7191 int COleServerItem::CItemDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7192 int COleControl::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7193 int COleDataSource::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7194 int COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n7195 long CPropertySheet::OnSetDefID(unsigned int,long)\n7196 int COleControl::OnSetExtent(tagSIZE *)\n7197 int COleServerItem::OnSetExtent(enum tagDVASPECT,CSize const &)\n7198 void CFormView::OnSetFocus(CWnd *)\n7199 void CFrameWnd::OnSetFocus(CWnd *)\n7200 void COleControl::OnSetFocus(CWnd *)\n7201 void CWnd::OnSetFocus(CWnd *)\n7202 long CCheckListBox::OnSetFont(unsigned int,long)\n7203 void CDialog::OnSetFont(CFont *)\n7204 long CEditView::OnSetFont(unsigned int,long)\n7205 void COleServerDoc::OnSetHostNames(wchar_t const *,wchar_t const *)\n7206 void CDocObjectServer::OnSetItemRects(tagRECT *,tagRECT *)\n7207 void COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)\n7208 void COleClientItem::OnSetMenu(CMenu *,void *,HWND__ *)\n7209 long CFrameWnd::OnSetMessageString(unsigned int,long)\n7210 long COleControl::OnSetMessageString(unsigned int,long)\n7211 long COleIPFrameWnd::OnSetMessageString(unsigned int,long)\n7212 long CStatusBar::OnSetMinHeight(unsigned int,long)\n7213 int COleControl::OnSetObjectRects(tagRECT const *,tagRECT const *)\n7214 void CDatabase::OnSetOptions(void *)\n7215 void CRecordset::OnSetOptions(void *)\n7216 void COlePropertyPage::OnSetPageSite(void)\n7217 void CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)\n7218 long CToolBar::OnSetSizeHelper(CSize &,long)\n7219 long COleControl::OnSetText(unsigned int,long)\n7220 long CStatusBar::OnSetText(unsigned int,long)\n7221 void CWnd::OnSettingChange(unsigned int,wchar_t const *)\n7222 void CRecordset::OnSetUpdateOptions(void *)\n7223 unsigned int CFileDialog::OnShareViolation(wchar_t const *)\n7224 long CFileDialog::XFileDialogEvents::OnShareViolation(IFileDialog *,IShellItem *,enum tagFDE_SHAREVIOLATION_RESPONSE *)\n7225 void CDocObjectServerItem::OnShow(void)\n7226 void COleServerItem::OnShow(void)\n7227 long CReBar::OnShowBand(unsigned int,long)\n7228 long CHtmlView::OnShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n7229 int COleClientItem::OnShowControlBars(CFrameWnd *,int)\n7230 void COleServerDoc::OnShowControlBars(CFrameWnd *,int)\n7231 void COleServerDoc::OnShowDocument(int)\n7232 void COleClientItem::OnShowItem(void)\n7233 void CFrameWnd::OnShowMenuBar(void)\n7234 void COleControl::OnShowToolBars(void)\n7235 long CHtmlView::OnShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n7236 void COleDocument::OnShowViews(int)\n7237 void COleLinkingDoc::OnShowViews(int)\n7238 void COleControl::OnShowWindow(int,unsigned int)\n7239 void CWnd::OnShowWindow(int,unsigned int)\n7240 long COleClientItem::XOleClientSite::OnShowWindow(int)\n7241 long COleControlSite::XOleClientSite::OnShowWindow(int)\n7242 void CDHtmlDialog::OnSize(unsigned int,int,int)\n7243 void CFrameWnd::OnSize(unsigned int,int,int)\n7244 void CHtmlView::OnSize(unsigned int,int,int)\n7245 void CMDIChildWnd::OnSize(unsigned int,int,int)\n7246 void CMDIFrameWnd::OnSize(unsigned int,int,int)\n7247 void COleControl::OnSize(unsigned int,int,int)\n7248 void COleIPFrameWnd::OnSize(unsigned int,int,int)\n7249 void COleResizeBar::OnSize(unsigned int,int,int)\n7250 void CPreviewView::OnSize(unsigned int,int,int)\n7251 void CScrollView::OnSize(unsigned int,int,int)\n7252 void CSplitterWnd::OnSize(unsigned int,int,int)\n7253 void CStatusBar::OnSize(unsigned int,int,int)\n7254 void CWnd::OnSize(unsigned int,int,int)\n7255 void CWnd::OnSizeClipboard(CWnd *,void *)\n7256 long CControlBar::OnSizeParent(unsigned int,long)\n7257 long CDockBar::OnSizeParent(unsigned int,long)\n7258 long COleResizeBar::OnSizeParent(unsigned int,long)\n7259 void CWnd::OnSizing(unsigned int,tagRECT *)\n7260 int CEnumArray::OnSkip(void)\n7261 long CSocketWnd::OnSocketDead(unsigned int,long)\n7262 long CSocketWnd::OnSocketNotify(unsigned int,long)\n7263 int CView::OnSplitCmd(unsigned int)\n7264 void CWnd::OnSpoolerStatus(unsigned int,unsigned int)\n7265 void CAsyncMonikerFile::OnStartBinding(void)\n7266 void CHtmlView::OnStatusBar(int)\n7267 void CInternetSession::OnStatusCallback(unsigned long,unsigned long,void *,unsigned long)\n7268 void CHtmlView::OnStatusTextChange(wchar_t const *)\n7269 void CAsyncMonikerFile::OnStopBinding(long,wchar_t const *)\n7270 void CWnd::OnStyleChanged(int,tagSTYLE*)\n7271 void CWnd::OnStyleChanging(int,tagSTYLE*)\n7272 void CWnd::OnSyncPaint(void)\n7273 void CWnd::OnSysChar(unsigned int,unsigned int,unsigned int)\n7274 void CToolBar::OnSysColorChange(void)\n7275 void CWnd::OnSysColorChange(void)\n7276 void CFrameWnd::OnSysCommand(unsigned int,long)\n7277 void CMiniFrameWnd::OnSysCommand(unsigned int,long)\n7278 void CPropertySheet::OnSysCommand(unsigned int,long)\n7279 void CSplitterWnd::OnSysCommand(unsigned int,long)\n7280 void CWnd::OnSysCommand(unsigned int,long)\n7281 void CWnd::OnSysDeadChar(unsigned int,unsigned int,unsigned int)\n7282 void COleControl::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n7283 void CWnd::OnSysKeyDown(unsigned int,unsigned int,unsigned int)\n7284 void COleControl::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n7285 void CWnd::OnSysKeyUp(unsigned int,unsigned int,unsigned int)\n7286 void CWnd::OnTCard(unsigned int,unsigned long)\n7287 void COleControl::OnTextChanged(void)\n7288 void CEditView::OnTextNotFound(wchar_t const *)\n7289 void CRichEditView::OnTextNotFound(wchar_t const *)\n7290 void CHtmlView::OnTheaterMode(int)\n7291 long CControlBar::OnThemeChanged(void)\n7292 void CWnd::OnTimeChange(void)\n7293 void CControlBar::OnTimer(unsigned int)\n7294 void CWnd::OnTimer(unsigned int)\n7295 void CHtmlView::OnTitleChange(wchar_t const *)\n7296 void CHtmlView::OnToolBar(int)\n7297 int CReBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n7298 int CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n7299 int CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)const \n7300 int CFrameWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n7301 int CMDIChildWnd::OnToolTipText(unsigned int,tagNMHDR *,long *)\n7302 long CHtmlView::OnTranslateAccelerator(tagMSG *,_GUID const *,unsigned long)\n7303 long CHtmlView::OnTranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n7304 void CFileDialog::OnTypeChange(void)\n7305 long CFileDialog::XFileDialogEvents::OnTypeChange(IFileDialog *)\n7306 void COleControlContainer::OnUIActivate(COleControlSite *)\n7307 long COleClientItem::XOleIPSite::OnUIActivate(void)\n7308 long COleControlSite::XOleIPSite::OnUIActivate(void)\n7309 void COleControlContainer::OnUIDeactivate(COleControlSite *)\n7310 long COleClientItem::XOleIPSite::OnUIDeactivate(int)\n7311 long COleControlSite::XOleIPSite::OnUIDeactivate(int)\n7312 void CWnd::OnUniChar(unsigned int,unsigned int,unsigned int)\n7313 void CWnd::OnUnInitMenuPopup(CMenu *,unsigned int)\n7314 void COleServerItem::OnUpdate(COleServerItem *,long,CObject *,enum tagDVASPECT)\n7315 void CView::OnUpdate(CView *,long,CObject *)\n7316 void CRichEditView::OnUpdateBullet(CCmdUI *)\n7317 void CRichEditView::OnUpdateCharBold(CCmdUI *)\n7318 void CRichEditView::OnUpdateCharEffect(CCmdUI *,unsigned long,unsigned long)\n7319 void CRichEditView::OnUpdateCharItalic(CCmdUI *)\n7320 void CRichEditView::OnUpdateCharUnderline(CCmdUI *)\n7321 void CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)\n7322 void CDockBar::OnUpdateCmdUI(CFrameWnd *,int)\n7323 void COleResizeBar::OnUpdateCmdUI(CFrameWnd *,int)\n7324 void CReBar::OnUpdateCmdUI(CFrameWnd *,int)\n7325 void CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)\n7326 void CToolBar::OnUpdateCmdUI(CFrameWnd *,int)\n7327 void CFrameWnd::OnUpdateContextHelp(CCmdUI *)\n7328 void CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n7329 void COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)\n7330 int COleServerDoc::OnUpdateDocument(void)\n7331 void COleDocument::OnUpdateEditChangeIcon(CCmdUI *)\n7332 void CHtmlView::OnUpdateEditCopy(CCmdUI *)\n7333 void CHtmlView::OnUpdateEditCut(CCmdUI *)\n7334 void COleDocument::OnUpdateEditLinksMenu(CCmdUI *)\n7335 void CHtmlView::OnUpdateEditPaste(CCmdUI *)\n7336 void CRichEditView::OnUpdateEditPasteSpecial(CCmdUI *)\n7337 void CRichEditView::OnUpdateEditProperties(CCmdUI *)\n7338 void CRichEditView::OnUpdateEditRedo(CCmdUI *)\n7339 void CEditView::OnUpdateEditUndo(CCmdUI *)\n7340 void CRichEditView::OnUpdateEditUndo(CCmdUI *)\n7341 void COleServerDoc::OnUpdateFileExit(CCmdUI *)\n7342 void CDocument::OnUpdateFileSendMail(CCmdUI *)\n7343 void COleServerDoc::OnUpdateFileUpdate(CCmdUI *)\n7344 void CFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n7345 void CMDIChildWnd::OnUpdateFrameMenu(int,CWnd *,HMENU__ *)\n7346 void CMDIFrameWnd::OnUpdateFrameMenu(HMENU__ *)\n7347 void CFrameWnd::OnUpdateFrameTitle(int)\n7348 void CMDIChildWnd::OnUpdateFrameTitle(int)\n7349 void CMDIFrameWnd::OnUpdateFrameTitle(int)\n7350 int COleClientItem::OnUpdateFrameTitle(void)\n7351 int COleFrameHook::OnUpdateFrameTitle(void)\n7352 void COleServerItem::OnUpdateItems(void)\n7353 void CFrameWnd::OnUpdateKeyIndicator(CCmdUI *)\n7354 void CMDIFrameWnd::OnUpdateMDIWindowCmd(CCmdUI *)\n7355 void CEditView::OnUpdateNeedClip(CCmdUI *)\n7356 void CRichEditView::OnUpdateNeedClip(CCmdUI *)\n7357 void CEditView::OnUpdateNeedFind(CCmdUI *)\n7358 void CRichEditView::OnUpdateNeedFind(CCmdUI *)\n7359 void CEditView::OnUpdateNeedSel(CCmdUI *)\n7360 void CRichEditView::OnUpdateNeedSel(CCmdUI *)\n7361 void CEditView::OnUpdateNeedText(CCmdUI *)\n7362 void CRichEditView::OnUpdateNeedText(CCmdUI *)\n7363 void CPreviewView::OnUpdateNextPage(CCmdUI *)\n7364 void CView::OnUpdateNextPaneMenu(CCmdUI *)\n7365 void CPreviewView::OnUpdateNumPageChange(CCmdUI *)\n7366 void COleDocument::OnUpdateObjectVerbMenu(CCmdUI *)\n7367 void CRichEditView::OnUpdateParaAlign(CCmdUI *,unsigned short)\n7368 void CRichEditView::OnUpdateParaCenter(CCmdUI *)\n7369 void CRichEditView::OnUpdateParaLeft(CCmdUI *)\n7370 void CRichEditView::OnUpdateParaRight(CCmdUI *)\n7371 void COleDocument::OnUpdatePasteLinkMenu(CCmdUI *)\n7372 void COleDocument::OnUpdatePasteMenu(CCmdUI *)\n7373 void CPreviewView::OnUpdatePrevPage(CCmdUI *)\n7374 void CWinApp::OnUpdateRecentFileMenu(CCmdUI *)\n7375 void CDaoRecordView::OnUpdateRecordFirst(CCmdUI *)\n7376 void COleDBRecordView::OnUpdateRecordFirst(CCmdUI *)\n7377 void CRecordView::OnUpdateRecordFirst(CCmdUI *)\n7378 void CDaoRecordView::OnUpdateRecordLast(CCmdUI *)\n7379 void COleDBRecordView::OnUpdateRecordLast(CCmdUI *)\n7380 void CRecordView::OnUpdateRecordLast(CCmdUI *)\n7381 void CDaoRecordView::OnUpdateRecordNext(CCmdUI *)\n7382 void COleDBRecordView::OnUpdateRecordNext(CCmdUI *)\n7383 void CRecordView::OnUpdateRecordNext(CCmdUI *)\n7384 void CDaoRecordView::OnUpdateRecordPrev(CCmdUI *)\n7385 void COleDBRecordView::OnUpdateRecordPrev(CCmdUI *)\n7386 void CRecordView::OnUpdateRecordPrev(CCmdUI *)\n7387 void CView::OnUpdateSplitCmd(CCmdUI *)\n7388 long CHtmlView::OnUpdateUI(void)\n7389 void CWnd::OnUpdateUIState(unsigned int,unsigned int)\n7390 void CPreviewView::OnUpdateZoomIn(CCmdUI *)\n7391 void CPreviewView::OnUpdateZoomOut(CCmdUI *)\n7392 void CWnd::OnUserChanged(void)\n7393 void COleClientItem::XAdviseSink::OnViewChange(unsigned long,long)\n7394 void CHtmlView::OnVisible(int)\n7395 int CWnd::OnVKeyToItem(unsigned int,CListBox *,unsigned int)\n7396 void CFrameWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7397 void CPreviewView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7398 void CScrollView::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7399 void CSplitterWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7400 void CWnd::OnVScroll(unsigned int,unsigned int,CScrollBar *)\n7401 void CWnd::OnVScrollClipboard(CWnd *,unsigned int,unsigned int)\n7402 long CToolTipCtrl::OnWindowFromPoint(unsigned int,long)\n7403 int COleControl::OnWindowlessMessage(unsigned int,unsigned int,long,long *)\n7404 void CWnd::OnWindowMaximizedChange(int)\n7405 long COleControl::XOleInPlaceObject::OnWindowMessage(unsigned int,unsigned int,long,long *)\n7406 void CMDIFrameWnd::OnWindowNew(void)\n7407 void CWnd::OnWindowPosChanged(tagWINDOWPOS *)\n7408 void CControlBar::OnWindowPosChanging(tagWINDOWPOS *)\n7409 void CDockBar::OnWindowPosChanging(tagWINDOWPOS *)\n7410 void CMDIChildWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7411 void COleIPFrameWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7412 void CStatusBar::OnWindowPosChanging(tagWINDOWPOS *)\n7413 void CToolBar::OnWindowPosChanging(tagWINDOWPOS *)\n7414 void CWnd::OnWindowPosChanging(tagWINDOWPOS *)\n7415 void CWnd::OnWinIniChange(wchar_t const *)\n7416 long CPropertyPage::OnWizardBack(void)\n7417 int CPropertyPage::OnWizardFinish(void)\n7418 HWND__ * CPropertyPage::OnWizardFinishEx(void)\n7419 long CPropertyPage::OnWizardNext(void)\n7420 int CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)\n7421 void CWnd::OnXButtonDblClk(unsigned int,unsigned int,CPoint)\n7422 void CWnd::OnXButtonDown(unsigned int,unsigned int,CPoint)\n7423 void CWnd::OnXButtonUp(unsigned int,unsigned int,CPoint)\n7424 void CPreviewView::OnZoomIn(void)\n7425 void CPreviewView::OnZoomOut(void)\n7426 int CAnimateCtrl::Open(unsigned int)\n7427 int CAnimateCtrl::Open(wchar_t const *)\n7428 int CAsyncMonikerFile::Open(IMoniker *,IBindHost *,CFileException *)\n7429 int CAsyncMonikerFile::Open(IMoniker *,IServiceProvider *,CFileException *)\n7430 int CAsyncMonikerFile::Open(IMoniker *,IUnknown *,CFileException *)\n7431 int CAsyncMonikerFile::Open(IMoniker *,CFileException *)\n7432 int CAsyncMonikerFile::Open(wchar_t const *,IBindHost *,CFileException *)\n7433 int CAsyncMonikerFile::Open(wchar_t const *,IServiceProvider *,CFileException *)\n7434 int CAsyncMonikerFile::Open(wchar_t const *,IUnknown *,CFileException *)\n7435 int CAsyncMonikerFile::Open(wchar_t const *,CFileException *)\n7436 void CDaoDatabase::Open(wchar_t const *,int,int,wchar_t const *)\n7437 void CDaoQueryDef::Open(wchar_t const *)\n7438 void CDaoRecordset::Open(int,wchar_t const *,int)\n7439 void CDaoRecordset::Open(CDaoQueryDef *,int,int)\n7440 void CDaoRecordset::Open(CDaoTableDef *,int,int)\n7441 void CDaoTableDef::Open(wchar_t const *)\n7442 void CDaoWorkspace::Open(wchar_t const *)\n7443 int CDatabase::Open(wchar_t const *,int,int,wchar_t const *,int)\n7444 int CDataPathProperty::Open(CFileException *)\n7445 int CDataPathProperty::Open(COleControl *,CFileException *)\n7446 int CDataPathProperty::Open(wchar_t const *,CFileException *)\n7447 int CDataPathProperty::Open(wchar_t const *,COleControl *,CFileException *)\n7448 int CFile::Open(wchar_t const *,unsigned int,CFileException *)\n7449 int CMirrorFile::Open(wchar_t const *,unsigned int,CFileException *)\n7450 int CMonikerFile::Open(IMoniker *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n7451 int CMonikerFile::Open(wchar_t const *,IBindHost *,IBindStatusCallback *,IBindCtx *,CFileException *)\n7452 int CMonikerFile::Open(IMoniker *,CFileException *)\n7453 int CMonikerFile::Open(wchar_t const *,CFileException *)\n7454 int CRecordset::Open(unsigned int,wchar_t const *,unsigned long)\n7455 int CSocketFile::Open(wchar_t const *,unsigned int,CFileException *)\n7456 int CStdioFile::Open(wchar_t const *,unsigned int,CFileException *)\n7457 long CDocObjectServer::XOleDocumentView::Open(void)\n7458 int CWnd::OpenClipboard(void)\n7459 CDocument * CDocManager::OpenDocumentFile(wchar_t const *)\n7460 CDocument * CMultiDocTemplate::OpenDocumentFile(wchar_t const *,int)\n7461 CDocument * CSingleDocTemplate::OpenDocumentFile(wchar_t const *,int)\n7462 CDocument * CWinApp::OpenDocumentFile(wchar_t const *)\n7463 int CDatabase::OpenEx(wchar_t const *,unsigned long)\n7464 CInternetFile * CFtpConnection::OpenFile(wchar_t const *,unsigned long,unsigned long,unsigned long)\n7465 CGopherFile * CGopherConnection::OpenFile(CGopherLocator &,unsigned long,wchar_t const *,unsigned long)\n7466 int CWnd::OpenIcon(void)\n7467 long COleUILinkInfo::OpenLinkSource(unsigned long)\n7468 CHttpFile * CHttpConnection::OpenRequest(int,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n7469 CHttpFile * CHttpConnection::OpenRequest(wchar_t const *,wchar_t const *,wchar_t const *,unsigned long,wchar_t const * *,wchar_t const *,unsigned long)\n7470 int COleStreamFile::OpenStream(IStorage *,wchar_t const *,unsigned long,CFileException *)\n7471 void * CThemeHelper::OpenThemeData(HWND__ *,wchar_t const *)\n7472 void * CThemeHelper::OpenThemeDataFail(HWND__ *,wchar_t const *)\n7473 int CHtmlEditDoc::OpenURL(wchar_t const *)\n7474 CStdioFile * CInternetSession::OpenURL(wchar_t const *,unsigned long,unsigned long,wchar_t const *,unsigned long)\n7475 int CHeaderCtrl::OrderToIndex(int)const \n7476 int CFileException::OsErrorToException(long)\n7477 void CDumpContext::OutputString(wchar_t const *)\n7478 int CEditView::PaginateTo(CDC *,CPrintInfo *)\n7479 int CRichEditView::PaginateTo(CDC *,CPrintInfo *)\n7480 unsigned int CPageSetupDialog::PaintHookProc(HWND__ *,unsigned int,unsigned int,long)\n7481 int CDC::PaintRgn(CRgn *)\n7482 int CWnd::PaintWindowlessControls(CDC *)\n7483 unsigned int COleControl::ParentToClient(tagRECT const *,tagPOINT *,int)const \n7484 void CWinApp::ParseCommandLine(CCommandLineInfo &)\n7485 int COleCurrency::ParseCurrency(wchar_t const *,unsigned long,unsigned long)\n7486 long COleControlContainer::XOleContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n7487 long COleLinkingDoc::XOleItemContainer::ParseDisplayName(IBindCtx *,wchar_t *,unsigned long *,IMoniker * *)\n7488 void CCommandLineInfo::ParseLast(int)\n7489 void CCommandLineInfo::ParseParam(wchar_t const *,int,int)\n7490 void CCommandLineInfo::ParseParam(char const *,int,int)\n7491 void CCommandLineInfo::ParseParamFlag(char const *)\n7492 void CCommandLineInfo::ParseParamNotFlag(wchar_t const *)\n7493 void CCommandLineInfo::ParseParamNotFlag(char const *)\n7494 void CComboBox::Paste(void)\n7495 void CEdit::Paste(void)\n7496 void CRichEditCtrl::Paste(void)\n7497 void CRichEditCtrl::PasteSpecial(unsigned int,unsigned long,HMETAFILE__ *)\n7498 int CDC::PatBlt(int,int,int,int,unsigned long)\n7499 CMapStringToString::CPair * CMapStringToString::PGetFirstAssoc(void)\n7500 CMapStringToString::CPair const * CMapStringToString::PGetFirstAssoc(void)const \n7501 CMapStringToString::CPair * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)\n7502 CMapStringToString::CPair const * CMapStringToString::PGetNextAssoc(CMapStringToString::CPair const *)const \n7503 int CDC::Pie(int,int,int,int,int,int,int,int)\n7504 int CDC::Pie(tagRECT const *,tagPOINT,tagPOINT)\n7505 int CAnimateCtrl::Play(unsigned int,unsigned int,unsigned int)\n7506 int CDC::PlayMetaFile(HENHMETAFILE__ *,tagRECT const *)\n7507 int CDC::PlayMetaFile(HMETAFILE__ *)\n7508 int CDC::PlgBlt(tagPOINT *,CDC *,int,int,int,int,CBitmap &,int,int)\n7509 CMapStringToString::CPair * CMapStringToString::PLookup(wchar_t const *)\n7510 CMapStringToString::CPair const * CMapStringToString::PLookup(wchar_t const *)const \n7511 int CDC::PolyBezier(tagPOINT const *,int)\n7512 int CDC::PolyBezierTo(tagPOINT const *,int)\n7513 int CDC::PolyDraw(tagPOINT const *,unsigned char const *,int)\n7514 int CDC::Polygon(tagPOINT const *,int)\n7515 int CDC::Polyline(tagPOINT const *,int)\n7516 int CDC::PolylineTo(tagPOINT const *,int)\n7517 int CDC::PolyPolygon(tagPOINT const *,int const *,int)\n7518 int CDC::PolyPolyline(tagPOINT const *,unsigned long const *,int)\n7519 void CToolTipCtrl::Pop(void)\n7520 void CToolTipCtrl::Popup(void)\n7521 CPoint CEdit::PosFromChar(unsigned int)const \n7522 CPoint CRichEditCtrl::PosFromChar(unsigned int)const \n7523 void CPreviewView::PositionPage(unsigned int)\n7524 int CAsyncMonikerFile::PostBindToStream(CFileException *)\n7525 int CMonikerFile::PostBindToStream(CFileException *)\n7526 void COccManager::PostCreateDialog(_AFX_OCC_DIALOG_INFO *)\n7527 int CWnd::PostMessageW(unsigned int,unsigned int,long)\n7528 void CDialog::PostModal(void)\n7529 void CPrintDialogEx::PostModal(void)\n7530 void COleControl::PostModalDialog(HWND__ *)\n7531 void CControlBar::PostNcDestroy(void)\n7532 void CControlFrameWnd::PostNcDestroy(void)\n7533 void CFindReplaceDialog::PostNcDestroy(void)\n7534 void CFrameWnd::PostNcDestroy(void)\n7535 void COleCntrFrameWnd::PostNcDestroy(void)\n7536 void CReflectorWnd::PostNcDestroy(void)\n7537 void CView::PostNcDestroy(void)\n7538 void CWnd::PostNcDestroy(void)\n7539 int CWinThread::PostThreadMessageW(unsigned int,unsigned int,long)\n7540 void ATL::CSimpleStringT<wchar_t,1>::Preallocate(int)\n7541 void ATL::CSimpleStringT<char,1>::Preallocate(int)\n7542 void CRecordset::PreBindFields(void)\n7543 void CDocument::PreCloseFrame(CFrameWnd *)\n7544 void COleDocument::PreCloseFrame(CFrameWnd *)\n7545 void CRichEditDoc::PreCloseFrame(CFrameWnd *)\n7546 int CCheckListBox::PreCompareItem(tagCOMPAREITEM*)\n7547 DLGTEMPLATE const * COccManager::PreCreateDialog(_AFX_OCC_DIALOG_INFO *,DLGTEMPLATE const *)\n7548 int CControlBar::PreCreateWindow(tagCREATESTRUCTW &)\n7549 int CControlFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7550 int CCtrlView::PreCreateWindow(tagCREATESTRUCTW &)\n7551 int CEditView::PreCreateWindow(tagCREATESTRUCTW &)\n7552 int CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7553 int CHtmlView::PreCreateWindow(tagCREATESTRUCTW &)\n7554 int CListView::PreCreateWindow(tagCREATESTRUCTW &)\n7555 int CMDIChildWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7556 int CMDIFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7557 int CMiniFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7558 int CRichEditView::PreCreateWindow(tagCREATESTRUCTW &)\n7559 int CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)\n7560 int CTreeView::PreCreateWindow(tagCREATESTRUCTW &)\n7561 int CView::PreCreateWindow(tagCREATESTRUCTW &)\n7562 int CWnd::PreCreateWindow(tagCREATESTRUCTW &)\n7563 void CCheckListBox::PreDeleteItem(tagDELETEITEM*)\n7564 void CCheckListBox::PreDrawItem(tagDRAWITEM*)\n7565 void CCheckListBox::PreDrawItemHelper(tagDRAWITEM*)\n7566 void CCheckListBox::PreDrawItemNonThemed(CDC *,tagDRAWITEM&,int,int)\n7567 bool CCheckListBox::PreDrawItemThemed(CDC *,tagDRAWITEM&,int,int)\n7568 unsigned int CPageSetupDialog::PreDrawPage(unsigned short,unsigned short,tagPSDW *)\n7569 void CDialog::PreInitDialog(void)\n7570 void COleChangeSourceDialog::PreInitDialog(void)\n7571 void CCheckListBox::PreMeasureItem(tagMEASUREITEM*)\n7572 HWND__ * CDialog::PreModal(void)\n7573 HWND__ * CPrintDialogEx::PreModal(void)\n7574 void COleControl::PreModalDialog(HWND__ *)\n7575 void CRecordset::PrepareAndExecute(void)\n7576 HWND__ * CDataExchange::PrepareCtrl(int)\n7577 HWND__ * CDataExchange::PrepareEditCtrl(int)\n7578 void CWnd::PrepareForHelp(void)\n7579 COleControlSite * CDataExchange::PrepareOleCtrl(int)\n7580 void CRecordset::PrepareUpdateHstmt(void)\n7581 wchar_t * ATL::CSimpleStringT<wchar_t,1>::PrepareWrite(int)\n7582 char * ATL::CSimpleStringT<char,1>::PrepareWrite(int)\n7583 void ATL::CSimpleStringT<wchar_t,1>::PrepareWrite2(int)\n7584 void ATL::CSimpleStringT<char,1>::PrepareWrite2(int)\n7585 void CPropertyPage::PreProcessPageTemplate(_PROPSHEETPAGEW &,int)\n7586 void CPropertySheet::PressButton(int)\n7587 int CToolBarCtrl::PressButton(int,int)\n7588 void CCheckListBox::PreSubclassWindow(void)\n7589 void CDragListBox::PreSubclassWindow(void)\n7590 void CWnd::PreSubclassWindow(void)\n7591 int CWnd::PreTranslateInput(tagMSG *)\n7592 int CControlBar::PreTranslateMessage(tagMSG *)\n7593 int CDialog::PreTranslateMessage(tagMSG *)\n7594 int CFormView::PreTranslateMessage(tagMSG *)\n7595 int CFrameWnd::PreTranslateMessage(tagMSG *)\n7596 int CHtmlView::PreTranslateMessage(tagMSG *)\n7597 int CMDIChildWnd::PreTranslateMessage(tagMSG *)\n7598 int CMDIFrameWnd::PreTranslateMessage(tagMSG *)\n7599 int COleIPFrameWnd::PreTranslateMessage(tagMSG *)\n7600 int COlePropertyPage::PreTranslateMessage(tagMSG *)\n7601 int CPropertyPage::PreTranslateMessage(tagMSG *)\n7602 int CPropertySheet::PreTranslateMessage(tagMSG *)\n7603 int CWinThread::PreTranslateMessage(tagMSG *)\n7604 int CWnd::PreTranslateMessage(tagMSG *)\n7605 void CDialog::PrevDlgCtrl(void)const \n7606 void CWnd::Print(CDC *,unsigned long)const \n7607 long CDocObjectServer::XPrint::Print(unsigned long,tagDVTARGETDEVICE * *,tagPAGESET * *,tagSTGMEDIUM *,IContinueCallback *,long,long *,long *)\n7608 int CPrintDialog::PrintAll(void)const \n7609 int CPrintDialogEx::PrintAll(void)const \n7610 void CWnd::PrintClient(CDC *,unsigned long)const \n7611 int CPrintDialog::PrintCollate(void)const \n7612 int CPrintDialogEx::PrintCollate(void)const \n7613 int CPrintDialogEx::PrintCurrentPage(void)const \n7614 void CPreviewDC::PrinterDPtoScreenDP(tagPOINT *)const \n7615 unsigned int CEditView::PrintInsideRect(CDC *,tagRECT &,unsigned int,unsigned int)\n7616 long CRichEditView::PrintInsideRect(CDC *,tagRECT &,long,long,int)\n7617 long CRichEditView::PrintPage(CDC *,long,long)\n7618 int CPrintDialog::PrintRange(void)const \n7619 int CPrintDialogEx::PrintRange(void)const \n7620 int CPrintDialog::PrintSelection(void)const \n7621 int CPrintDialogEx::PrintSelection(void)const \n7622 void COleDispatchException::Process(tagEXCEPINFO *,CException const *)\n7623 long COleException::Process(CException const *)\n7624 int CSocket::ProcessAuxQueue(void)\n7625 int CFrameWnd::ProcessHelpMsg(tagMSG &,unsigned long *)\n7626 int CWinThread::ProcessMessageFilter(int,tagMSG *)\n7627 int CWinApp::ProcessShellCommand(CCommandLineInfo &)\n7628 long CWinApp::ProcessWndProcException(CException *,tagMSG const *)\n7629 long CWinThread::ProcessWndProcException(CException *,tagMSG const *)\n7630 int CRgn::PtInRegion(int,int)const \n7631 int CRgn::PtInRegion(tagPOINT)const \n7632 void COleSafeArray::PtrOfIndex(long *,void * *)\n7633 int CDC::PtVisible(tagPOINT)const \n7634 int CDC::PtVisible(int,int)const \n7635 int CMetaFileDC::PtVisible(tagPOINT)const \n7636 int CMetaFileDC::PtVisible(int,int)const \n7637 int CEvent::PulseEvent(void)\n7638 int CWinThread::PumpMessage(void)\n7639 int CSocket::PumpMessages(unsigned int)\n7640 void CReBarCtrl::PushChevron(unsigned int,long)\n7641 long CCmdTarget::PushStackArgs(unsigned char *,unsigned char const *,void *,unsigned short,tagDISPPARAMS *,unsigned int *,tagVARIANT *,CVariantBoolConverter *)\n7642 long CWnd::put_accName(tagVARIANT,wchar_t *)\n7643 long CWnd::XAccessible::put_accName(tagVARIANT,wchar_t *)\n7644 long CWnd::put_accValue(tagVARIANT,wchar_t *)\n7645 long CWnd::XAccessible::put_accValue(tagVARIANT,wchar_t *)\n7646 void COleSafeArray::PutElement(long *,void *)\n7647 int CFtpConnection::PutFile(wchar_t const *,wchar_t const *,unsigned long,unsigned long)\n7648 void CHtmlView::PutProperty(wchar_t const *,wchar_t const *)\n7649 void CHtmlView::PutProperty(wchar_t const *,tagVARIANT const &)\n7650 void CHtmlView::PutProperty(wchar_t const *,short)\n7651 void CHtmlView::PutProperty(wchar_t const *,long)\n7652 void CHtmlView::PutProperty(wchar_t const *,double)\n7653 int PX_Blob(CPropExchange *,wchar_t const *,void * &,void *)\n7654 int PX_Bool(CPropExchange *,wchar_t const *,int &)\n7655 int PX_Bool(CPropExchange *,wchar_t const *,int &,int)\n7656 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &)\n7657 int PX_Color(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7658 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &)\n7659 int PX_Currency(CPropExchange *,wchar_t const *,union tagCY &,union tagCY)\n7660 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,wchar_t const *)\n7661 int PX_DataPath(CPropExchange *,wchar_t const *,CDataPathProperty &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7662 int PX_Double(CPropExchange *,wchar_t const *,double &)\n7663 int PX_Double(CPropExchange *,wchar_t const *,double &,double)\n7664 int PX_Float(CPropExchange *,wchar_t const *,float &)\n7665 int PX_Float(CPropExchange *,wchar_t const *,float &,float)\n7666 int PX_Font(CPropExchange *,wchar_t const *,CFontHolder &,tagFONTDESC const *,IFontDisp *)\n7667 int PX_IUnknown(CPropExchange *,wchar_t const *,IUnknown * &,_GUID const &,IUnknown *)\n7668 int PX_Long(CPropExchange *,wchar_t const *,long &)\n7669 int PX_Long(CPropExchange *,wchar_t const *,long &,long)\n7670 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &)\n7671 int PX_Picture(CPropExchange *,wchar_t const *,CPictureHolder &,CPictureHolder &)\n7672 int PX_Short(CPropExchange *,wchar_t const *,short &)\n7673 int PX_Short(CPropExchange *,wchar_t const *,short &,short)\n7674 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7675 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,wchar_t const *)\n7676 int PX_String(CPropExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n7677 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &)\n7678 int PX_ULong(CPropExchange *,wchar_t const *,unsigned long &,unsigned long)\n7679 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &)\n7680 int PX_UShort(CPropExchange *,wchar_t const *,unsigned short &,unsigned short)\n7681 int PX_VBXFontConvert(CPropExchange *,CFontHolder &)\n7682 long CRichEditView::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7683 long CRichEditView::XRichEditOleCallback::QueryAcceptData(IDataObject *,unsigned short *,unsigned long,int,void *)\n7684 IUnknown * CCmdTarget::QueryAggregates(void const *)\n7685 long COleDocObjectItem::QueryCommand(unsigned long,unsigned long *,_tagOLECMDTEXT *,_GUID const *)\n7686 long COleDropSource::QueryContinueDrag(int,unsigned long)\n7687 long COleDropSource::XDropSource::QueryContinueDrag(int,unsigned long)\n7688 void * COleControl::QueryDefHandler(_GUID const &)\n7689 long CHtmlView::QueryFormsCommand(unsigned long,int *,int *,int *)\n7690 long COleControl::XDataObject::QueryGetData(tagFORMATETC *)\n7691 long COleDataSource::XDataObject::QueryGetData(tagFORMATETC *)\n7692 long COleServerDoc::XDataObject::QueryGetData(tagFORMATETC *)\n7693 long COleServerItem::XDataObject::QueryGetData(tagFORMATETC *)\n7694 long COleControl::XViewObject::QueryHitPoint(unsigned long,tagRECT const *,tagPOINT,long,unsigned long *)\n7695 long COleControl::XViewObject::QueryHitRect(unsigned long,tagRECT const *,tagRECT const *,long,unsigned long *)\n7696 int CHttpFile::QueryInfo(unsigned long,unsigned long &,unsigned long *)const \n7697 int CHttpFile::QueryInfo(unsigned long,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned long *)const \n7698 int CHttpFile::QueryInfo(unsigned long,_SYSTEMTIME *,unsigned long *)const \n7699 int CHttpFile::QueryInfo(unsigned long,void *,unsigned long *,unsigned long *)const \n7700 int CHttpFile::QueryInfoStatusCode(unsigned long &)const \n7701 long CRichEditView::XRichEditOleCallback::QueryInsertObject(_GUID *,IStorage *,long)\n7702 long CArchiveStream::QueryInterface(_GUID const &,void * *)\n7703 long CBlobProperty::QueryInterface(_GUID const &,void * *)\n7704 long CBrowserControlSite::QueryInterface(_GUID const &,void * *)\n7705 long CDHtmlControlSink::QueryInterface(_GUID const &,void * *)\n7706 long CDHtmlElementEventSink::QueryInterface(_GUID const &,void * *)\n7707 long CInnerUnknown::QueryInterface(_GUID const &,void * *)\n7708 long COleConnPtContainer::QueryInterface(_GUID const &,void * *)\n7709 long COleDispatchImpl::QueryInterface(_GUID const &,void * *)\n7710 long COleUILinkInfo::QueryInterface(_GUID const &,void * *)\n7711 long CPrintDialogEx::QueryInterface(_GUID const &,void * *)\n7712 long CWnd::XAccessible::QueryInterface(_GUID const &,void * *)\n7713 long CWnd::XAccessibleServer::QueryInterface(_GUID const &,void * *)\n7714 long COleClientItem::XAdviseSink::QueryInterface(_GUID const &,void * *)\n7715 long COleControlSite::XAmbientProps::QueryInterface(_GUID const &,void * *)\n7716 long COleControlSite::XBoundObjectSite::QueryInterface(_GUID const &,void * *)\n7717 long COleObjectFactory::XClassFactory::QueryInterface(_GUID const &,void * *)\n7718 long CConnectionPoint::XConnPt::QueryInterface(_GUID const &,void * *)\n7719 long COleControl::XDataObject::QueryInterface(_GUID const &,void * *)\n7720 long COleDataSource::XDataObject::QueryInterface(_GUID const &,void * *)\n7721 long COleServerDoc::XDataObject::QueryInterface(_GUID const &,void * *)\n7722 long COleServerItem::XDataObject::QueryInterface(_GUID const &,void * *)\n7723 long CHtmlControlSite::XDocHostUIHandler::QueryInterface(_GUID const &,void * *)\n7724 long COleDropSource::XDropSource::QueryInterface(_GUID const &,void * *)\n7725 long COleDropTarget::XDropTarget::QueryInterface(_GUID const &,void * *)\n7726 long CEnumArray::XEnumVOID::QueryInterface(_GUID const &,void * *)\n7727 long COleControlSite::XEventSink::QueryInterface(_GUID const &,void * *)\n7728 long CFileDialog::XFileDialogControlEvents::QueryInterface(_GUID const &,void * *)\n7729 long CFileDialog::XFileDialogEvents::QueryInterface(_GUID const &,void * *)\n7730 long COleControl::XFontNotification::QueryInterface(_GUID const &,void * *)\n7731 long COleMessageFilter::XMessageFilter::QueryInterface(_GUID const &,void * *)\n7732 long COleControlSite::XNotifyDBEvents::QueryInterface(_GUID const &,void * *)\n7733 long COleControl::XOleCache::QueryInterface(_GUID const &,void * *)\n7734 long COleClientItem::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7735 long COleControlSite::XOleClientSite::QueryInterface(_GUID const &,void * *)\n7736 long CDocObjectServer::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7737 long COleFrameHook::XOleCommandTarget::QueryInterface(_GUID const &,void * *)\n7738 long COleControlContainer::XOleContainer::QueryInterface(_GUID const &,void * *)\n7739 long COleControl::XOleControl::QueryInterface(_GUID const &,void * *)\n7740 long COleControlSite::XOleControlSite::QueryInterface(_GUID const &,void * *)\n7741 long CDocObjectServer::XOleDocument::QueryInterface(_GUID const &,void * *)\n7742 long COleDocObjectItem::XOleDocumentSite::QueryInterface(_GUID const &,void * *)\n7743 long CDocObjectServer::XOleDocumentView::QueryInterface(_GUID const &,void * *)\n7744 long COleControl::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7745 long COleServerDoc::XOleInPlaceActiveObject::QueryInterface(_GUID const &,void * *)\n7746 long COleFrameHook::XOleInPlaceFrame::QueryInterface(_GUID const &,void * *)\n7747 long COleControl::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7748 long COleServerDoc::XOleInPlaceObject::QueryInterface(_GUID const &,void * *)\n7749 long COleControlContainer::XOleIPFrame::QueryInterface(_GUID const &,void * *)\n7750 long COleClientItem::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7751 long COleControlSite::XOleIPSite::QueryInterface(_GUID const &,void * *)\n7752 long COleLinkingDoc::XOleItemContainer::QueryInterface(_GUID const &,void * *)\n7753 long CDocObjectServer::XOleObject::QueryInterface(_GUID const &,void * *)\n7754 long COleControl::XOleObject::QueryInterface(_GUID const &,void * *)\n7755 long COleServerDoc::XOleObject::QueryInterface(_GUID const &,void * *)\n7756 long COleServerItem::XOleObject::QueryInterface(_GUID const &,void * *)\n7757 long COlePropertiesDialog::XOleUIObjInfo::QueryInterface(_GUID const &,void * *)\n7758 long COleControl::XPerPropertyBrowsing::QueryInterface(_GUID const &,void * *)\n7759 long COleLinkingDoc::XPersistFile::QueryInterface(_GUID const &,void * *)\n7760 long COleControl::XPersistMemory::QueryInterface(_GUID const &,void * *)\n7761 long COleControl::XPersistPropertyBag::QueryInterface(_GUID const &,void * *)\n7762 long COleControl::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7763 long COleServerDoc::XPersistStorage::QueryInterface(_GUID const &,void * *)\n7764 long COleControl::XPersistStreamInit::QueryInterface(_GUID const &,void * *)\n7765 long COleControl::XPointerInactive::QueryInterface(_GUID const &,void * *)\n7766 long CDocObjectServer::XPrint::QueryInterface(_GUID const &,void * *)\n7767 long COleControlSite::XPropertyNotifySink::QueryInterface(_GUID const &,void * *)\n7768 long COlePropertyPage::XPropertyPage::QueryInterface(_GUID const &,void * *)\n7769 long COlePropertyPage::XPropNotifySink::QueryInterface(_GUID const &,void * *)\n7770 long COleControl::XProvideClassInfo::QueryInterface(_GUID const &,void * *)\n7771 long COleControl::XQuickActivate::QueryInterface(_GUID const &,void * *)\n7772 long CRichEditView::XRichEditOleCallback::QueryInterface(_GUID const &,void * *)\n7773 long COleControlSite::XRowsetNotify::QueryInterface(_GUID const &,void * *)\n7774 long COleControl::XSpecifyPropertyPages::QueryInterface(_GUID const &,void * *)\n7775 long COleControl::XViewObject::QueryInterface(_GUID const &,void * *)\n7776 int CInternetConnection::QueryOption(unsigned long,unsigned long &)const \n7777 int CInternetConnection::QueryOption(unsigned long,void *,unsigned long *)const \n7778 int CInternetFile::QueryOption(unsigned long,unsigned long &)const \n7779 int CInternetFile::QueryOption(unsigned long,void *,unsigned long *)const \n7780 int CInternetSession::QueryOption(unsigned long,unsigned long &)const \n7781 int CInternetSession::QueryOption(unsigned long,void *,unsigned long *)const \n7782 long CPropertyPage::QuerySiblings(unsigned int,long)\n7783 long CConnectionPoint::QuerySinkInterface(IUnknown *,void * *)\n7784 long COleControl::XEventConnPt::QuerySinkInterface(IUnknown *,void * *)\n7785 long CDocObjectServer::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7786 long COleFrameHook::XOleCommandTarget::QueryStatus(_GUID const *,unsigned long,_tagOLECMD * const,_tagOLECMDTEXT *)\n7787 enum OLECMDF CHtmlView::QueryStatusWB(enum OLECMDID)const \n7788 void CFontHolder::QueryTextMetrics(tagTEXTMETRICW *)\n7789 int COleControlSite::QuickActivate(void)\n7790 long COleControl::XQuickActivate::QuickActivate(tagQACONTAINER *,tagQACONTROL *)\n7791 int COleClientItem::ReactivateAndUndo(void)\n7792 long COleControl::XOleInPlaceObject::ReactivateAndUndo(void)\n7793 long COleServerDoc::XOleInPlaceObject::ReactivateAndUndo(void)\n7794 unsigned int CArchive::Read(void *,unsigned int)\n7795 long CArchiveStream::Read(void *,unsigned long,unsigned long *)\n7796 unsigned int CAsyncMonikerFile::Read(void *,unsigned int)\n7797 unsigned int CFile::Read(void *,unsigned int)\n7798 int CImageList::Read(CArchive *)\n7799 unsigned int CInternetFile::Read(void *,unsigned int)\n7800 unsigned int CMemFile::Read(void *,unsigned int)\n7801 unsigned int COleStreamFile::Read(void *,unsigned int)\n7802 unsigned int CSocketFile::Read(void *,unsigned int)\n7803 unsigned int CStdioFile::Read(void *,unsigned int)\n7804 CRuntime* CArchive::ReadClass(CRuntimeconst *,unsigned int *,unsigned long *)\n7805 unsigned long CArchive::ReadCount(void)\n7806 void CEditView::ReadFromArchive(CArchive &,unsigned int)\n7807 int CProperty::ReadFromStream(IStream *)\n7808 int CPropertySection::ReadFromStream(IStream *,union _LARGE_INTEGER)\n7809 int CPropertySet::ReadFromStream(IStream *)\n7810 void COleClientItem::ReadItem(CArchive &)\n7811 void COleClientItem::ReadItemCompound(CArchive &)\n7812 void COleClientItem::ReadItemFlat(CArchive &)\n7813 void CRecentFileList::ReadList(void)\n7814 int CPropertySection::ReadNameDictFromStream(IStream *)\n7815 CObject * CArchive::ReadObject(CRuntimeconst *)\n7816 int CArchive::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7817 wchar_t * CArchive::ReadString(wchar_t *,unsigned int)\n7818 int CInternetFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7819 wchar_t * CInternetFile::ReadString(wchar_t *,unsigned int)\n7820 int CStdioFile::ReadString(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n7821 wchar_t * CStdioFile::ReadString(wchar_t *,unsigned int)\n7822 unsigned int CDC::RealizePalette(void)\n7823 unsigned char * CMemFile::Realloc(unsigned char *,unsigned long)\n7824 unsigned char * CSharedFile::Realloc(unsigned char *,unsigned long)\n7825 void ATL::CSimpleStringT<wchar_t,1>::Reallocate(int)\n7826 void ATL::CSimpleStringT<char,1>::Reallocate(int)\n7827 ATL::CStringData * CAfxStringMgr::Reallocate(ATL::CStringData *,int,int)\n7828 unsigned char * CFieldExchange::ReallocLongBinary(CLongBinary &,long,long)\n7829 void CRecordset::RebindParams(void *)\n7830 unsigned long CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)\n7831 void CFrameWnd::RecalcLayout(int)\n7832 void CMiniDockFrameWnd::RecalcLayout(int)\n7833 void COleCntrFrameWnd::RecalcLayout(int)\n7834 void COleDocIPFrameWnd::RecalcLayout(int)\n7835 void COleIPFrameWnd::RecalcLayout(int)\n7836 void CSplitterWnd::RecalcLayout(void)\n7837 int CAsyncSocket::Receive(void *,int,int)\n7838 int CSocket::Receive(void *,int,int)\n7839 int CAsyncSocket::ReceiveFrom(void *,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,unsigned int &,int)\n7840 int CAsyncSocket::ReceiveFrom(void *,int,sockaddr *,int *,int)\n7841 int CAsyncSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7842 int CSocket::ReceiveFromHelper(void *,int,sockaddr *,int *,int)\n7843 void COleControl::RecreateControlWindow(void)\n7844 int CDC::Rectangle(int,int,int,int)\n7845 int CDC::Rectangle(tagRECT const *)\n7846 CRect const CFrameWnd::rectDefault\n7847 int CRgn::RectInRegion(tagRECT const *)const \n7848 int CDC::RectVisible(tagRECT const *)const \n7849 int CMetaFileDC::RectVisible(tagRECT const *)const \n7850 void COleSafeArray::Redim(tagSAFEARRAYBOUND *)\n7851 int CRichEditCtrl::Redo(void)\n7852 void CDockBar::ReDockControlBar(CControlBar *,tagRECT const *)\n7853 void CFrameWnd::ReDockControlBar(CControlBar *,CDockBar *,tagRECT const *)\n7854 int CListCtrl::RedrawItems(int,int)\n7855 int CWnd::RedrawWindow(tagRECT const *,CRgn *,unsigned int)\n7856 int CWnd::ReflectChildNotify(unsigned int,unsigned int,long,long *)\n7857 int CWnd::ReflectLastMsg(HWND__ *,long *)\n7858 void CHtmlView::Refresh(void)\n7859 void COleControl::Refresh(void)\n7860 void CHtmlView::Refresh2(int)\n7861 void CDaoTableDef::RefreshLink(void)\n7862 void CRecordset::RefreshRowset(unsigned short,unsigned short)\n7863 int COleDropTarget::Register(CWnd *)\n7864 int COleLinkingDoc::Register(COleObjectFactory *,wchar_t const *)\n7865 int COleMessageFilter::Register(void)\n7866 int COleObjectFactory::Register(void)\n7867 int COleTemplateServer::Register(void)\n7868 int CWinApp::Register(void)\n7869 int COleObjectFactory::RegisterAll(void)\n7870 int COleLinkingDoc::RegisterIfServerAttached(wchar_t const *,int)\n7871 void CDocManager::RegisterShellFileTypes(int)\n7872 void CWinApp::RegisterShellFileTypes(int)\n7873 int CControlSiteFactoryMgr::RegisterSiteFactory(IControlSiteFactory *)\n7874 void CToolTipCtrl::RelayEvent(tagMSG *)\n7875 unsigned long CArchiveStream::Release(void)\n7876 unsigned long CBlobProperty::Release(void)\n7877 unsigned long CBrowserControlSite::Release(void)\n7878 unsigned long CDHtmlControlSink::Release(void)\n7879 unsigned long CDHtmlElementEventSink::Release(void)\n7880 unsigned long CDHtmlEventSink::Release(void)\n7881 unsigned long CInnerUnknown::Release(void)\n7882 void COleClientItem::Release(enum tagOLECLOSE)\n7883 unsigned long COleConnPtContainer::Release(void)\n7884 void COleDataObject::Release(void)\n7885 unsigned long COleDispatchImpl::Release(void)\n7886 void COleDocObjectItem::Release(enum tagOLECLOSE)\n7887 unsigned long COleUILinkInfo::Release(void)\n7888 unsigned long CPrintDialogEx::Release(void)\n7889 unsigned long CWnd::XAccessible::Release(void)\n7890 unsigned long CWnd::XAccessibleServer::Release(void)\n7891 unsigned long COleClientItem::XAdviseSink::Release(void)\n7892 unsigned long COleControlSite::XAmbientProps::Release(void)\n7893 unsigned long COleControlSite::XBoundObjectSite::Release(void)\n7894 unsigned long COleObjectFactory::XClassFactory::Release(void)\n7895 unsigned long CConnectionPoint::XConnPt::Release(void)\n7896 unsigned long COleControl::XDataObject::Release(void)\n7897 unsigned long COleDataSource::XDataObject::Release(void)\n7898 unsigned long COleServerDoc::XDataObject::Release(void)\n7899 unsigned long COleServerItem::XDataObject::Release(void)\n7900 unsigned long CHtmlControlSite::XDocHostUIHandler::Release(void)\n7901 unsigned long COleDropSource::XDropSource::Release(void)\n7902 unsigned long COleDropTarget::XDropTarget::Release(void)\n7903 unsigned long CEnumArray::XEnumVOID::Release(void)\n7904 unsigned long COleControlSite::XEventSink::Release(void)\n7905 unsigned long CFileDialog::XFileDialogControlEvents::Release(void)\n7906 unsigned long CFileDialog::XFileDialogEvents::Release(void)\n7907 unsigned long COleControl::XFontNotification::Release(void)\n7908 unsigned long COleMessageFilter::XMessageFilter::Release(void)\n7909 unsigned long COleControlSite::XNotifyDBEvents::Release(void)\n7910 unsigned long COleControl::XOleCache::Release(void)\n7911 unsigned long COleClientItem::XOleClientSite::Release(void)\n7912 unsigned long COleControlSite::XOleClientSite::Release(void)\n7913 unsigned long CDocObjectServer::XOleCommandTarget::Release(void)\n7914 unsigned long COleFrameHook::XOleCommandTarget::Release(void)\n7915 unsigned long COleControlContainer::XOleContainer::Release(void)\n7916 unsigned long COleControl::XOleControl::Release(void)\n7917 unsigned long COleControlSite::XOleControlSite::Release(void)\n7918 unsigned long CDocObjectServer::XOleDocument::Release(void)\n7919 unsigned long COleDocObjectItem::XOleDocumentSite::Release(void)\n7920 unsigned long CDocObjectServer::XOleDocumentView::Release(void)\n7921 unsigned long COleControl::XOleInPlaceActiveObject::Release(void)\n7922 unsigned long COleServerDoc::XOleInPlaceActiveObject::Release(void)\n7923 unsigned long COleFrameHook::XOleInPlaceFrame::Release(void)\n7924 unsigned long COleControl::XOleInPlaceObject::Release(void)\n7925 unsigned long COleServerDoc::XOleInPlaceObject::Release(void)\n7926 unsigned long COleControlContainer::XOleIPFrame::Release(void)\n7927 unsigned long COleClientItem::XOleIPSite::Release(void)\n7928 unsigned long COleControlSite::XOleIPSite::Release(void)\n7929 unsigned long COleLinkingDoc::XOleItemContainer::Release(void)\n7930 unsigned long CDocObjectServer::XOleObject::Release(void)\n7931 unsigned long COleControl::XOleObject::Release(void)\n7932 unsigned long COleServerDoc::XOleObject::Release(void)\n7933 unsigned long COleServerItem::XOleObject::Release(void)\n7934 unsigned long COlePropertiesDialog::XOleUIObjInfo::Release(void)\n7935 unsigned long COleControl::XPerPropertyBrowsing::Release(void)\n7936 unsigned long COleLinkingDoc::XPersistFile::Release(void)\n7937 unsigned long COleControl::XPersistMemory::Release(void)\n7938 unsigned long COleControl::XPersistPropertyBag::Release(void)\n7939 unsigned long COleControl::XPersistStorage::Release(void)\n7940 unsigned long COleServerDoc::XPersistStorage::Release(void)\n7941 unsigned long COleControl::XPersistStreamInit::Release(void)\n7942 unsigned long COleControl::XPointerInactive::Release(void)\n7943 unsigned long CDocObjectServer::XPrint::Release(void)\n7944 unsigned long COleControlSite::XPropertyNotifySink::Release(void)\n7945 unsigned long COlePropertyPage::XPropertyPage::Release(void)\n7946 unsigned long COlePropertyPage::XPropNotifySink::Release(void)\n7947 unsigned long COleControl::XProvideClassInfo::Release(void)\n7948 unsigned long COleControl::XQuickActivate::Release(void)\n7949 unsigned long CRichEditView::XRichEditOleCallback::Release(void)\n7950 unsigned long COleControlSite::XRowsetNotify::Release(void)\n7951 unsigned long COleControl::XSpecifyPropertyPages::Release(void)\n7952 unsigned long COleControl::XViewObject::Release(void)\n7953 void CDC::ReleaseAttribDC(void)\n7954 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBuffer(int)\n7955 void ATL::CSimpleStringT<char,1>::ReleaseBuffer(int)\n7956 void ATL::CSimpleStringT<wchar_t,1>::ReleaseBufferSetLength(int)\n7957 void ATL::CSimpleStringT<char,1>::ReleaseBufferSetLength(int)\n7958 void COleControl::ReleaseCaches(void)\n7959 int COleControl::ReleaseCapture(void)\n7960 int COleControl::ReleaseDC(CDC *)\n7961 int CWnd::ReleaseDC(CDC *)\n7962 long COleControlSite::XOleIPSite::ReleaseDC(HDC__ *)\n7963 void COleDispatchDriver::ReleaseDispatch(void)\n7964 void CDocObjectServer::ReleaseDocSite(void)\n7965 void CDocument::ReleaseFile(CFile *,int)\n7966 void CFontHolder::ReleaseFont(void)\n7967 void CDC::ReleaseOutputDC(void)\n7968 void CMetaFileDC::ReleaseOutputDC(void)\n7969 void CPreviewDC::ReleaseOutputDC(void)\n7970 int COleClientItem::Reload(void)\n7971 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Remove(wchar_t)\n7972 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Remove(char)\n7973 void CFile::Remove(wchar_t const *)\n7974 int CFtpConnection::Remove(wchar_t const *)\n7975 int CImageList::Remove(int)\n7976 void CPropertySection::Remove(unsigned long)\n7977 void CPropertySet::Remove(_GUID)\n7978 void CPropertySet::Remove(_GUID,unsigned long)\n7979 void CRecentFileList::Remove(int)\n7980 int CSimpleList::Remove(void *)\n7981 void CByteArray::RemoveAll(void)\n7982 void CDWordArray::RemoveAll(void)\n7983 void CMapPtrToPtr::RemoveAll(void)\n7984 void CMapPtrToWord::RemoveAll(void)\n7985 void CMapStringToOb::RemoveAll(void)\n7986 void CMapStringToPtr::RemoveAll(void)\n7987 void CMapStringToString::RemoveAll(void)\n7988 void CMapWordToOb::RemoveAll(void)\n7989 void CMapWordToPtr::RemoveAll(void)\n7990 void CObArray::RemoveAll(void)\n7991 void CObList::RemoveAll(void)\n7992 void CPropertySection::RemoveAll(void)\n7993 void CPropertySet::RemoveAll(void)\n7994 void CPtrArray::RemoveAll(void)\n7995 void CPtrList::RemoveAll(void)\n7996 void CStringArray::RemoveAll(void)\n7997 void CStringList::RemoveAll(void)\n7998 void CTypeLibCacheMap::RemoveAll(void *)\n7999 void CUIntArray::RemoveAll(void)\n8000 void CWordArray::RemoveAll(void)\n8001 void CByteArray::RemoveAt(int,int)\n8002 void CDWordArray::RemoveAt(int,int)\n8003 void CObArray::RemoveAt(int,int)\n8004 void CObList::RemoveAt(__POSITION *)\n8005 void CPtrArray::RemoveAt(int,int)\n8006 void CPtrList::RemoveAt(__POSITION *)\n8007 void CStringArray::RemoveAt(int,int)\n8008 void CStringList::RemoveAt(__POSITION *)\n8009 void CUIntArray::RemoveAt(int,int)\n8010 void CWordArray::RemoveAt(int,int)\n8011 int CDockBar::RemoveControlBar(CControlBar *,int,int)\n8012 void CFrameWnd::RemoveControlBar(CControlBar *)\n8013 int CFtpConnection::RemoveDirectoryW(wchar_t const *)\n8014 void CDocTemplate::RemoveDocument(CDocument *)\n8015 void CMultiDocTemplate::RemoveDocument(CDocument *)\n8016 void CSingleDocTemplate::RemoveDocument(CDocument *)\n8017 void COleControl::RemoveFrameLevelUI(void)\n8018 void CFrameWnd::RemoveFrameWnd(void)\n8019 void CHandleMap::RemoveHandle(void *)\n8020 CObject * CObList::RemoveHead(void)\n8021 void * CPtrList::RemoveHead(void)\n8022 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveHead(void)\n8023 void CTabCtrl::RemoveImage(int)\n8024 void CListCtrl::RemoveImageList(int)\n8025 void CListView::RemoveImageList(int)\n8026 void CTreeCtrl::RemoveImageList(int)\n8027 void CTreeView::RemoveImageList(int)\n8028 void COleDocument::RemoveItem(CDocItem *)\n8029 int CMapPtrToPtr::RemoveKey(void *)\n8030 int CMapPtrToWord::RemoveKey(void *)\n8031 int CMapStringToOb::RemoveKey(wchar_t const *)\n8032 int CMapStringToPtr::RemoveKey(wchar_t const *)\n8033 int CMapStringToString::RemoveKey(wchar_t const *)\n8034 int CMapWordToOb::RemoveKey(unsigned short)\n8035 int CMapWordToPtr::RemoveKey(unsigned short)\n8036 int CMenu::RemoveMenu(unsigned int,unsigned int)\n8037 long COleFrameHook::XOleInPlaceFrame::RemoveMenus(HMENU__ *)\n8038 long COleControlContainer::XOleIPFrame::RemoveMenus(HMENU__ *)\n8039 void CPropertySheet::RemovePage(int)\n8040 void CPropertySheet::RemovePage(CPropertyPage *)\n8041 void CDockBar::RemovePlaceHolder(CControlBar *)\n8042 void CWnd::RemoveRadioCheckFromGroup(COleControlSiteOrWnd const *)const \n8043 void CDataBoundProperty::RemoveSource(void)\n8044 CObject * CObList::RemoveTail(void)\n8045 void * CPtrList::RemoveTail(void)\n8046 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > CStringList::RemoveTail(void)\n8047 void CDocument::RemoveView(CView *)\n8048 void CFile::Rename(wchar_t const *,wchar_t const *)\n8049 int CFtpConnection::Rename(wchar_t const *,wchar_t const *)\n8050 void CPictureHolder::Render(CDC *,CRect const &,CRect const &)\n8051 void CDaoWorkspace::RepairDatabase(wchar_t const *)\n8052 void COleControl::ReparentControlWindow(HWND__ *,HWND__ *)\n8053 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t,wchar_t)\n8054 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Replace(wchar_t const *,wchar_t const *)\n8055 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char,char)\n8056 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Replace(char const *,char const *)\n8057 int CImageList::Replace(int,HICON__ *)\n8058 int CImageList::Replace(int,CBitmap *,CBitmap *)\n8059 int CFindReplaceDialog::ReplaceAll(void)const \n8060 int CToolBarCtrl::ReplaceBitmap(TBREPLACEBITMAP *)\n8061 void CDatabase::ReplaceBrackets(wchar_t *)\n8062 int CFindReplaceDialog::ReplaceCurrent(void)const \n8063 void CEdit::ReplaceSel(wchar_t const *,int)\n8064 void CRichEditCtrl::ReplaceSel(wchar_t const *,int)\n8065 int CException::ReportError(unsigned int,unsigned int)\n8066 int COleClientItem::ReportError(long)const \n8067 void CDocument::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n8068 void COleLinkingDoc::ReportSaveLoadException(wchar_t const *,CException *,int,unsigned int)\n8069 void CWnd::RepositionBars(unsigned int,unsigned int,unsigned int,unsigned int,tagRECT *,tagRECT const *,int)\n8070 void COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)\n8071 void CDaoRecordset::Requery(void)\n8072 int CRecordset::Requery(void)\n8073 void COleControl::RequestAsynchronousExchange(unsigned long)\n8074 long COleFrameHook::XOleInPlaceFrame::RequestBorderSpace(tagRECT const *)\n8075 long COleControlContainer::XOleIPFrame::RequestBorderSpace(tagRECT const *)\n8076 long COleObjectFactory::XClassFactory::RequestLicKey(unsigned long,wchar_t * *)\n8077 long COleClientItem::XOleClientSite::RequestNewObjectLayout(void)\n8078 long COleControlSite::XOleClientSite::RequestNewObjectLayout(void)\n8079 void COleServerDoc::RequestPositionChange(tagRECT const *)\n8080 void CRichEditCtrl::RequestResize(void)\n8081 long COleControlSite::XOleIPSite::RequestUIActivate(void)\n8082 long CEnumArray::XEnumVOID::Reset(void)\n8083 void CComboBox::ResetContent(void)\n8084 void CListBox::ResetContent(void)\n8085 void CRecordset::ResetCursor(void)\n8086 void CCachedDataPathProperty::ResetData(void)\n8087 void CDataPathProperty::ResetData(void)\n8088 int CDC::ResetDCW(_devicemodeW const *)\n8089 int CEvent::ResetEvent(void)\n8090 void COleControl::ResetStockProps(void)\n8091 void CControlBar::ResetTimer(unsigned int,unsigned int)\n8092 void COleControl::ResetVersion(unsigned long)\n8093 long CBrowserControlSite::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8094 long CDHtmlDialog::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8095 long CHtmlControlSite::XDocHostUIHandler::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8096 long COleControl::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8097 long COleServerDoc::XOleInPlaceActiveObject::ResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)\n8098 void COleControl::ResizeFrameWindow(int,int)\n8099 void COleSafeArray::ResizeOneDim(unsigned long)\n8100 void COleControl::ResizeOpenControl(int,int)\n8101 int CPalette::ResizePalette(unsigned int)\n8102 void CScrollView::ResizeParentToFit(int)\n8103 void CWaitCursor::Restore(void)\n8104 void CReBarCtrl::RestoreBand(unsigned int)\n8105 int CDC::RestoreDC(int)\n8106 int CPreviewDC::RestoreDC(int)\n8107 void CToolBarCtrl::RestoreState(HKEY__ *,wchar_t const *,wchar_t const *)\n8108 void CCmdTarget::RestoreWaitCursor(void)\n8109 unsigned long CWinThread::ResumeThread(void)\n8110 unsigned long COleMessageFilter::XMessageFilter::RetryRejectedCall(HTASK__ *,unsigned long,unsigned long)\n8111 int ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::ReverseFind(wchar_t)const \n8112 int ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::ReverseFind(char)const \n8113 long CArchiveStream::Revert(void)\n8114 void COleDropTarget::Revoke(void)\n8115 void COleLinkingDoc::Revoke(void)\n8116 void COleMessageFilter::Revoke(void)\n8117 void COleObjectFactory::Revoke(void)\n8118 void COleObjectFactory::RevokeAll(void)\n8119 void RFX_BigInt(CFieldExchange *,wchar_t const *,__int64 &)\n8120 void RFX_Binary(CFieldExchange *,wchar_t const *,CByteArray &,int)\n8121 void RFX_Binary_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *,int)\n8122 void RFX_Bool(CFieldExchange *,wchar_t const *,int &)\n8123 void RFX_Bool_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n8124 void RFX_Byte(CFieldExchange *,wchar_t const *,unsigned char &)\n8125 void RFX_Byte_Bulk(CFieldExchange *,wchar_t const *,unsigned char * *,long * *)\n8126 void RFX_Date(CFieldExchange *,wchar_t const *,tagTIMESTAMP_&)\n8127 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::COleDateTime &)\n8128 void RFX_Date(CFieldExchange *,wchar_t const *,ATL::CTime &)\n8129 void RFX_Date_Bulk(CFieldExchange *,wchar_t const *,tagTIMESTAMP_* *,long * *)\n8130 void RFX_Double(CFieldExchange *,wchar_t const *,double &)\n8131 void RFX_Double_Bulk(CFieldExchange *,wchar_t const *,double * *,long * *)\n8132 void RFX_Int(CFieldExchange *,wchar_t const *,int &)\n8133 void RFX_Int_Bulk(CFieldExchange *,wchar_t const *,int * *,long * *)\n8134 void RFX_Long(CFieldExchange *,wchar_t const *,long &)\n8135 void RFX_Long_Bulk(CFieldExchange *,wchar_t const *,long * *,long * *)\n8136 void RFX_LongBinary(CFieldExchange *,wchar_t const *,CLongBinary &)\n8137 void RFX_Single(CFieldExchange *,wchar_t const *,float &)\n8138 void RFX_Single_Bulk(CFieldExchange *,wchar_t const *,float * *,long * *)\n8139 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,int,int,short)\n8140 void RFX_Text(CFieldExchange *,wchar_t const *,ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > &,int,int,short)\n8141 void RFX_Text(CFieldExchange *,wchar_t const *,wchar_t *,int,int,short)\n8142 void RFX_Text(CFieldExchange *,wchar_t const *,char *,int,int,short)\n8143 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,wchar_t * *,long * *,int)\n8144 void RFX_Text_Bulk(CFieldExchange *,wchar_t const *,char * *,long * *,int)\n8145 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Right(int)const \n8146 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Right(int)const \n8147 void CDaoWorkspace::Rollback(void)\n8148 int CDatabase::Rollback(void)\n8149 int CDC::RoundRect(int,int,int,int,int,int)\n8150 int CDC::RoundRect(tagRECT const *,tagPOINT)\n8151 void COleClientItem::Run(void)\n8152 int CWinApp::Run(void)\n8153 int CWinThread::Run(void)\n8154 int CWinApp::RunAutomated(void)\n8155 int CWinApp::RunEmbedded(void)\n8156 int CWnd::RunModalLoop(unsigned long)\n8157 int COleControlSite::SafeSetProperty(long,unsigned short,...)\n8158 int CEditView::SameAsSelected(wchar_t const *,int)\n8159 int CRichEditView::SameAsSelected(wchar_t const *,int,int)\n8160 long CBlobProperty::Save(IStream *,int)\n8161 long COleLinkingDoc::XPersistFile::Save(wchar_t const *,int)\n8162 long COleControl::XPersistMemory::Save(void *,int,unsigned long)\n8163 long COleControl::XPersistPropertyBag::Save(IPropertyBag *,int,int)\n8164 long COleControl::XPersistStorage::Save(IStorage *,int)\n8165 long COleServerDoc::XPersistStorage::Save(IStorage *,int)\n8166 long COleControl::XPersistStreamInit::Save(IStream *,int)\n8167 int CDocManager::SaveAllModified(void)\n8168 int CDocTemplate::SaveAllModified(void)\n8169 int CWinApp::SaveAllModified(void)\n8170 void CFrameWnd::SaveBarState(wchar_t const *)const \n8171 long COleLinkingDoc::XPersistFile::SaveCompleted(wchar_t const *)\n8172 long COleControl::XPersistStorage::SaveCompleted(IStorage *)\n8173 long COleServerDoc::XPersistStorage::SaveCompleted(IStorage *)\n8174 int CDC::SaveDC(void)\n8175 int CPreviewDC::SaveDC(void)\n8176 void COleServerDoc::SaveEmbedding(void)\n8177 int CFormView::SaveFocusControl(void)\n8178 int CDocument::SaveModified(void)\n8179 int COleDocument::SaveModified(void)\n8180 int COleServerDoc::SaveModified(void)\n8181 int COleServerDoc::SaveModifiedPrompt(void)\n8182 long COleClientItem::XOleClientSite::SaveObject(void)\n8183 long COleControlSite::XOleClientSite::SaveObject(void)\n8184 int CControlBarInfo::SaveState(wchar_t const *,int)\n8185 void CDockState::SaveState(wchar_t const *)\n8186 long COleControl::SaveState(IStream *)\n8187 void CToolBarCtrl::SaveState(HKEY__ *,wchar_t const *,wchar_t const *)\n8188 void CWinApp::SaveStdProfileSettings(void)\n8189 void COleDocument::SaveToStorage(CObject *)\n8190 void COleLinkingDoc::SaveToStorage(CObject *)\n8191 long CDocObjectServer::XOleDocumentView::SaveViewState(IStream *)\n8192 void CDockState::ScalePoint(CPoint &)\n8193 void CDockState::ScaleRectPos(CRect &)\n8194 CSize CDC::ScaleViewportExt(int,int,int,int)\n8195 CSize CMetaFileDC::ScaleViewportExt(int,int,int,int)\n8196 CSize CPreviewDC::ScaleViewportExt(int,int,int,int)\n8197 CSize CDC::ScaleWindowExt(int,int,int,int)\n8198 CSize CPreviewDC::ScaleWindowExt(int,int,int,int)\n8199 void CWnd::ScreenToClient(tagPOINT *)const \n8200 void CWnd::ScreenToClient(tagRECT *)const \n8201 int CListCtrl::Scroll(CSize)\n8202 long COleClientItem::XOleIPSite::Scroll(tagSIZE)\n8203 long COleControlSite::XOleIPSite::Scroll(tagSIZE)\n8204 void COleControlContainer::ScrollChildren(int,int)\n8205 int COleServerDoc::ScrollContainerBy(CSize)\n8206 int CDC::ScrollDC(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *)\n8207 long COleControlSite::XOleIPSite::ScrollRect(int,int,tagRECT const *,tagRECT const *)\n8208 void CScrollView::ScrollToDevicePosition(tagPOINT)\n8209 void CScrollView::ScrollToPosition(tagPOINT)\n8210 void COleControl::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n8211 void CWnd::ScrollWindow(int,int,tagRECT const *,tagRECT const *)\n8212 int CWnd::ScrollWindowEx(int,int,tagRECT const *,tagRECT const *,CRgn *,tagRECT *,unsigned int)\n8213 int CFindReplaceDialog::SearchDown(void)const \n8214 int CAnimateCtrl::Seek(unsigned int)\n8215 long CArchiveStream::Seek(union _LARGE_INTEGER,unsigned long,union _ULARGE_INTEGER *)\n8216 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,COleVariant *,COleVariant *)\n8217 int CDaoRecordset::Seek(wchar_t const *,COleVariant *,unsigned short)\n8218 unsigned __int64 CFile::Seek(__int64,unsigned int)\n8219 unsigned __int64 CInternetFile::Seek(__int64,unsigned int)\n8220 unsigned __int64 CMemFile::Seek(__int64,unsigned int)\n8221 unsigned __int64 COleStreamFile::Seek(__int64,unsigned int)\n8222 unsigned __int64 CSocketFile::Seek(__int64,unsigned int)\n8223 unsigned __int64 CStdioFile::Seek(__int64,unsigned int)\n8224 void CFile::SeekToBegin(void)\n8225 unsigned __int64 CFile::SeekToEnd(void)\n8226 CFont * CFontHolder::Select(CDC *,long,long)\n8227 int CTreeCtrl::Select(_TREEITEM *,unsigned int)\n8228 long CDHtmlDialog::Select_FindString(IHTMLSelectElement *,wchar_t *,int)\n8229 int CDC::SelectClipPath(int)\n8230 int CDC::SelectClipRgn(CRgn *)\n8231 int CDC::SelectClipRgn(CRgn *,int)\n8232 int CTreeCtrl::SelectDropTarget(_TREEITEM *)\n8233 CFont * COleControl::SelectFontObject(CDC *,CFontHolder &)\n8234 CGdiObject * CDC::SelectGdiObject(HDC__ *,void *)\n8235 long CPrintDialogEx::SelectionChange(void)\n8236 int CTreeCtrl::SelectItem(_TREEITEM *)\n8237 int CDC::SelectObject(CRgn *)\n8238 CBitmap * CDC::SelectObject(CBitmap *)\n8239 CBrush * CDC::SelectObject(CBrush *)\n8240 CGdiObject * CDC::SelectObject(CGdiObject *)\n8241 CPen * CDC::SelectObject(CPen *)\n8242 void * CDC::SelectObject(void *)\n8243 CFont * CDC::SelectObject(CFont *)\n8244 CFont * CPreviewDC::SelectObject(CFont *)\n8245 CPalette * CDC::SelectPalette(CPalette *,int)\n8246 void CWinApp::SelectPrinter(void *,void *,int)\n8247 int CTreeCtrl::SelectSetFirstVisible(_TREEITEM *)\n8248 CFont * COleControl::SelectStockFont(CDC *)\n8249 CGdiObject * CDC::SelectStockObject(int)\n8250 CGdiObject * CPreviewDC::SelectStockObject(int)\n8251 int CComboBox::SelectString(int,wchar_t const *)\n8252 int CListBox::SelectString(int,wchar_t const *)\n8253 int CListBox::SelItemRange(int,int,int)\n8254 int CAsyncSocket::Send(void const *,int,int)\n8255 int CSocket::Send(void const *,int,int)\n8256 void COleControl::SendAdvise(unsigned int)\n8257 int CWnd::SendChildNotifyLastMsg(long *)\n8258 int CSocket::SendChunk(void const *,int,int)\n8259 long COleControlContainer::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n8260 long CWnd::SendDlgItemMessageW(int,unsigned int,unsigned int,long)\n8261 void CDocument::SendInitialUpdate(void)\n8262 void CRecordset::SendLongBinaryData(void *)\n8263 long CWnd::SendMessage(unsigned int,unsigned int,long)const \n8264 void CWnd::SendMessageToDescendants(unsigned int,unsigned int,long,int,int)\n8265 void CWnd::SendMessageToDescendants(HWND__ *,unsigned int,unsigned int,long,int,int)\n8266 long CWnd::SendMessageW(unsigned int,unsigned int,long)const \n8267 void COleControlSite::SendMnemonic(tagMSG *)\n8268 int CWnd::SendNotifyMessageW(unsigned int,unsigned int,long)\n8269 int CHttpFile::SendRequest(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &,void *,unsigned long)\n8270 int CHttpFile::SendRequest(wchar_t const *,unsigned long,void *,unsigned long)\n8271 int CHttpFile::SendRequestEx(unsigned long,unsigned long,unsigned long)\n8272 int CHttpFile::SendRequestEx(_INTERNET_BUFFERSW *,_INTERNET_BUFFERSW *,unsigned long,unsigned long)\n8273 int CAsyncSocket::SendTo(void const *,int,unsigned int,wchar_t const *,int)\n8274 int CAsyncSocket::SendTo(void const *,int,sockaddr const *,int,int)\n8275 int CAsyncSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n8276 int CSocket::SendToHelper(void const *,int,sockaddr const *,int,int)\n8277 void CByteArray::Serialize(CArchive &)\n8278 void CControlBarInfo::Serialize(CArchive &,CDockState *)\n8279 void CDocItem::Serialize(CArchive &)\n8280 void CDockState::Serialize(CArchive &)\n8281 void CDWordArray::Serialize(CArchive &)\n8282 void CEditView::Serialize(CArchive &)\n8283 void CMapStringToOb::Serialize(CArchive &)\n8284 void CMapStringToString::Serialize(CArchive &)\n8285 void CMapWordToOb::Serialize(CArchive &)\n8286 void CObArray::Serialize(CArchive &)\n8287 void CObject::Serialize(CArchive &)\n8288 void CObList::Serialize(CArchive &)\n8289 void COleClientItem::Serialize(CArchive &)\n8290 void COleControl::Serialize(CArchive &)\n8291 void COleDocument::Serialize(CArchive &)\n8292 void CRichEditDoc::Serialize(CArchive &)\n8293 void CRichEditView::Serialize(CArchive &)\n8294 void CStringArray::Serialize(CArchive &)\n8295 void CStringList::Serialize(CArchive &)\n8296 void CWordArray::Serialize(CArchive &)\n8297 CArchive & ATL::CTime::Serialize64(CArchive &)\n8298 CArchive & ATL::CTimeSpan::Serialize64(CArchive &)\n8299 void CArchive::SerializeClass(CRuntimeconst *)\n8300 void COleControl::SerializeExtent(CArchive &)\n8301 void CEditView::SerializeRaw(CArchive &)\n8302 void COleControl::SerializeStockProps(CArchive &)\n8303 unsigned long COleControl::SerializeVersion(CArchive &,unsigned long,int)\n8304 int CProperty::Set(unsigned long,void * const,unsigned long)\n8305 int CProperty::Set(void * const)\n8306 int CProperty::Set(void * const,unsigned long)\n8307 int CPropertySection::Set(unsigned long,void *)\n8308 int CPropertySection::Set(unsigned long,void *,unsigned long)\n8309 int CPropertySet::Set(_GUID,unsigned long,void *)\n8310 int CPropertySet::Set(_GUID,unsigned long,void *,unsigned long)\n8311 int CDC::SetAbortProc(int (__stdcall*)(HDC__ *,int))\n8312 void CDaoRecordset::SetAbsolutePosition(long)\n8313 void CRecordset::SetAbsolutePosition(long)\n8314 int CSpinButtonCtrl::SetAccel(int,_UDACCEL *)\n8315 long COleFrameHook::XOleInPlaceFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n8316 long COleControlContainer::XOleIPFrame::SetActiveObject(IOleInPlaceActiveObject *,wchar_t const *)\n8317 int CPropertySheet::SetActivePage(int)\n8318 int CPropertySheet::SetActivePage(CPropertyPage *)\n8319 void CSplitterWnd::SetActivePane(int,int,CWnd *)\n8320 void CFrameWnd::SetActiveView(CView *,int)\n8321 CWnd * CWnd::SetActiveWindow(void)\n8322 void CIPAddressCtrl::SetAddress(unsigned char,unsigned char,unsigned char,unsigned char)\n8323 void CIPAddressCtrl::SetAddress(unsigned long)\n8324 void CHtmlView::SetAddressBar(int)\n8325 long COleControl::XViewObject::SetAdvise(unsigned long,unsigned long,IAdviseSink *)\n8326 int CToolBarCtrl::SetAnchorHighlight(int)\n8327 void CListBox::SetAnchorIndex(int)\n8328 void COleControl::SetAppearance(short)\n8329 int CDC::SetArcDirection(int)\n8330 void ATL::CSimpleStringT<wchar_t,1>::SetAt(int,wchar_t)\n8331 void ATL::CSimpleStringT<char,1>::SetAt(int,char)\n8332 void CByteArray::SetAt(int,unsigned char)\n8333 void CDWordArray::SetAt(int,unsigned long)\n8334 void CMapPtrToPtr::SetAt(void *,void *)\n8335 void CMapPtrToWord::SetAt(void *,unsigned short)\n8336 void CMapStringToOb::SetAt(wchar_t const *,CObject *)\n8337 void CMapStringToPtr::SetAt(wchar_t const *,void *)\n8338 void CMapStringToString::SetAt(wchar_t const *,wchar_t const *)\n8339 void CMapWordToOb::SetAt(unsigned short,CObject *)\n8340 void CMapWordToPtr::SetAt(unsigned short,void *)\n8341 void CObArray::SetAt(int,CObject *)\n8342 void CObList::SetAt(__POSITION *,CObject *)\n8343 void CPtrArray::SetAt(int,void *)\n8344 void CPtrList::SetAt(__POSITION *,void *)\n8345 void CStringArray::SetAt(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8346 void CStringArray::SetAt(int,wchar_t const *)\n8347 void CStringList::SetAt(__POSITION *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8348 void CStringList::SetAt(__POSITION *,wchar_t const *)\n8349 void CUIntArray::SetAt(int,unsigned int)\n8350 void CWordArray::SetAt(int,unsigned short)\n8351 void CByteArray::SetAtGrow(int,unsigned char)\n8352 void CDWordArray::SetAtGrow(int,unsigned long)\n8353 void CObArray::SetAtGrow(int,CObject *)\n8354 void CPtrArray::SetAtGrow(int,void *)\n8355 void CStringArray::SetAtGrow(int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n8356 void CStringArray::SetAtGrow(int,wchar_t const *)\n8357 void CUIntArray::SetAtGrow(int,unsigned int)\n8358 void CWordArray::SetAtGrow(int,unsigned short)\n8359 void CDC::SetAttribDC(HDC__ *)\n8360 void CMetaFileDC::SetAttribDC(HDC__ *)\n8361 void CPreviewDC::SetAttribDC(HDC__ *)\n8362 void CDaoTableDef::SetAttributes(long)\n8363 int CTreeCtrl::SetAutoscrollInfo(unsigned int,unsigned int)\n8364 int CRichEditCtrl::SetAutoURLDetect(int)\n8365 void COleControl::SetBackColor(unsigned long)\n8366 unsigned long CRichEditCtrl::SetBackgroundColor(int,unsigned long)\n8367 int CReBarCtrl::SetBandInfo(unsigned int,tagREBARBANDINFOW *)\n8368 int CReBarCtrl::SetBandWidth(unsigned int,int)\n8369 unsigned long CProgressCtrl::SetBarColor(unsigned long)\n8370 void CControlBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n8371 void CDockBar::SetBarInfo(CControlBarInfo *,CFrameWnd *)\n8372 int CReBarCtrl::SetBarInfo(tagREBARINFO *)\n8373 void CControlBar::SetBarStyle(unsigned long)\n8374 int CSpinButtonCtrl::SetBase(int)\n8375 void CAsyncMonikerFile::SetBinding(IBinding *)\n8376 HBITMAP__ * CButton::SetBitmap(HBITMAP__ *)\n8377 HBITMAP__ * CStatic::SetBitmap(HBITMAP__ *)\n8378 int CToolBar::SetBitmap(HBITMAP__ *)\n8379 unsigned long CBitmap::SetBitmapBits(unsigned long,void const *)\n8380 CSize CBitmap::SetBitmapDimension(int,int)\n8381 int CHeaderCtrl::SetBitmapMargin(int)\n8382 int CToolBarCtrl::SetBitmapSize(CSize)\n8383 unsigned long CDC::SetBkColor(unsigned long)\n8384 unsigned long CImageList::SetBkColor(unsigned long)\n8385 int CListCtrl::SetBkColor(unsigned long)\n8386 unsigned long CPreviewDC::SetBkColor(unsigned long)\n8387 unsigned long CProgressCtrl::SetBkColor(unsigned long)\n8388 unsigned long CReBarCtrl::SetBkColor(unsigned long)\n8389 unsigned long CStatusBarCtrl::SetBkColor(unsigned long)\n8390 unsigned long CTreeCtrl::SetBkColor(unsigned long)\n8391 int CListCtrl::SetBkImage(wchar_t *,int,int,int)\n8392 int CListCtrl::SetBkImage(HBITMAP__ *,int,int,int)\n8393 int CListCtrl::SetBkImage(tagLVBKIMAGEW *)\n8394 int CDC::SetBkMode(int)\n8395 void CDaoRecordset::SetBookmark(COleVariant)\n8396 void CRecordset::SetBookmark(CDBVariant const &)\n8397 void CControlBar::SetBorders(int,int,int,int)\n8398 void CControlBar::SetBorders(tagRECT const *)\n8399 void CStatusBar::SetBorders(int,int,int,int)\n8400 void CStatusBar::SetBorders(tagRECT const *)\n8401 long COleFrameHook::XOleInPlaceFrame::SetBorderSpace(tagRECT const *)\n8402 long COleControlContainer::XOleIPFrame::SetBorderSpace(tagRECT const *)\n8403 void COleControl::SetBorderStyle(short)\n8404 unsigned int CDC::SetBoundsRect(tagRECT const *,unsigned int)\n8405 CPoint CDC::SetBrushOrg(int,int)\n8406 CPoint CDC::SetBrushOrg(tagPOINT)\n8407 CWnd * CSliderCtrl::SetBuddy(CWnd *,int)\n8408 CWnd * CSpinButtonCtrl::SetBuddy(CWnd *)\n8409 void COleMessageFilter::SetBusyReply(enum tagSERVERCALL)\n8410 void CToolBar::SetButtonInfo(int,unsigned int,unsigned int,int)\n8411 int CToolBarCtrl::SetButtonInfo(int,TBBUTTONINFOW *)\n8412 int CToolBar::SetButtons(unsigned int const *,int)\n8413 int CToolBarCtrl::SetButtonSize(CSize)\n8414 void CToolBarCtrl::SetButtonStructSize(int)\n8415 void CButton::SetButtonStyle(unsigned int,int)\n8416 void CToolBar::SetButtonStyle(int,unsigned int)\n8417 int CToolBar::SetButtonText(int,wchar_t const *)\n8418 int CToolBarCtrl::SetButtonWidth(int,int)\n8419 void CDaoRecordset::SetCacheSize(long)\n8420 void CDaoRecordset::SetCacheStart(COleVariant)\n8421 void CMonthCalCtrl::SetCalendarBorder(int)\n8422 void CMonthCalCtrl::SetCalendarBorderDefault(void)\n8423 int CMonthCalCtrl::SetCalID(unsigned long)\n8424 int CListCtrl::SetCallbackMask(unsigned int)\n8425 CWnd * COleControl::SetCapture(void)\n8426 CWnd * CWnd::SetCapture(void)\n8427 long COleControlSite::XOleIPSite::SetCapture(int)\n8428 int CListBox::SetCaretIndex(int,int)\n8429 void CWnd::SetCaretPos(tagPOINT)\n8430 int CMonthCalCtrl::SetCenturyView(void)\n8431 void CRichEditView::SetCharFormat(CHARFORMAT2W)\n8432 void CButton::SetCheck(int)\n8433 void CCheckListBox::SetCheck(int,int)\n8434 void CCmdUI::SetCheck(int)\n8435 int CListCtrl::SetCheck(int,int)\n8436 void COleCmdUI::SetCheck(int)\n8437 void CStatusCmdUI::SetCheck(int)\n8438 void CTestCmdUI::SetCheck(int)\n8439 void CToolCmdUI::SetCheck(int)\n8440 int CTreeCtrl::SetCheck(_TREEITEM *,int)\n8441 void CCheckListBox::SetCheckStyle(unsigned int)\n8442 void CPropertySet::SetClassID(_GUID)\n8443 void CDataBoundProperty::SetClientSite(COleControlSite *)\n8444 long CDocObjectServer::XOleObject::SetClientSite(IOleClientSite *)\n8445 long COleControl::XOleObject::SetClientSite(IOleClientSite *)\n8446 long COleServerDoc::XOleObject::SetClientSite(IOleClientSite *)\n8447 long COleServerItem::XOleObject::SetClientSite(IOleClientSite *)\n8448 void COleDataSource::SetClipboard(void)\n8449 HWND__ * CWnd::SetClipboardViewer(void)\n8450 int CToolBarCtrl::SetCmdID(int,unsigned int)\n8451 unsigned long CMonthCalCtrl::SetColor(int,unsigned long)\n8452 int CDC::SetColorAdjustment(tagCOLORADJUSTMENT const *)\n8453 void CReBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n8454 void CToolBarCtrl::SetColorScheme(tagCOLORSCHEME const *)\n8455 long CDocObjectServer::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8456 long COleControl::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8457 long COleServerDoc::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8458 long COleServerItem::XOleObject::SetColorScheme(tagLOGPALETTE *)\n8459 int CListCtrl::SetColumn(int,tagLVCOLUMNW const *)\n8460 void CSplitterWnd::SetColumnInfo(int,int,int)\n8461 int CListCtrl::SetColumnOrderArray(int,int *)\n8462 void CListBox::SetColumnWidth(int)\n8463 int CListCtrl::SetColumnWidth(int,int)\n8464 void CRecordset::SetConcurrencyAndCursorType(void *,unsigned long)\n8465 void CDaoQueryDef::SetConnect(wchar_t const *)\n8466 void CDaoTableDef::SetConnect(wchar_t const *)\n8467 void CDocTemplate::SetContainerInfo(unsigned int)\n8468 long COleControl::XQuickActivate::SetContentExtent(tagSIZE *)\n8469 void CDataPathProperty::SetControl(COleControl *)\n8470 void CReflectorWnd::SetControl(COleControl *)\n8471 void CDHtmlDialog::SetControlProperty(IDispatch *,long,tagVARIANT *)\n8472 void CDHtmlDialog::SetControlProperty(wchar_t const *,wchar_t const *,tagVARIANT *)\n8473 void CDHtmlDialog::SetControlProperty(wchar_t const *,long,tagVARIANT *)\n8474 int COleControl::SetControlSize(int,int)\n8475 int COlePropertyPage::SetControlStatus(unsigned int,int)\n8476 void CFileDialog::SetControlText(int,wchar_t const *)\n8477 void CFileDialog::SetControlText(int,char const *)\n8478 int CInternetSession::SetCookie(wchar_t const *,wchar_t const *,wchar_t const *)\n8479 void CTabCtrl::SetCurFocus(int)\n8480 void COleCurrency::SetCurrency(long,long)\n8481 void CColorDialog::SetCurrentColor(unsigned long)\n8482 int CFtpConnection::SetCurrentDirectory(wchar_t const *)\n8483 int CFtpConnection::SetCurrentDirectoryW(wchar_t const *)\n8484 void CWinApp::SetCurrentHandles(void)\n8485 void CDaoRecordset::SetCurrentIndex(wchar_t const *)\n8486 void CPreviewView::SetCurrentPage(unsigned int,int)\n8487 int CMonthCalCtrl::SetCurrentView(unsigned long)\n8488 int CComboBox::SetCurSel(int)\n8489 int CListBox::SetCurSel(int)\n8490 int CMonthCalCtrl::SetCurSel(ATL::COleDateTime const &)\n8491 int CMonthCalCtrl::SetCurSel(ATL::CTime const &)\n8492 int CMonthCalCtrl::SetCurSel(_SYSTEMTIME * const)\n8493 int CTabCtrl::SetCurSel(int)\n8494 HICON__ * CButton::SetCursor(HICON__ *)\n8495 int CRectTracker::SetCursor(CWnd *,unsigned int)const \n8496 HICON__ * CStatic::SetCursor(HICON__ *)\n8497 void CDaoRecordset::SetCursorAttributes(void)\n8498 long COleControl::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8499 long COleDataSource::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8500 long COleServerDoc::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8501 long COleServerItem::XDataObject::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8502 long COleControl::XOleCache::SetData(tagFORMATETC *,tagSTGMEDIUM *,int)\n8503 int CMonthCalCtrl::SetDayState(int,unsigned long *)\n8504 int CMonthCalCtrl::SetDecadeView(void)\n8505 void COccManager::SetDefaultButton(CWnd *,int)\n8506 void COleControlSite::SetDefaultButton(int)\n8507 int CRichEditCtrl::SetDefaultCharFormat(_charformatw &)\n8508 int CRichEditCtrl::SetDefaultCharFormat(CHARFORMAT2W &)\n8509 int CMenu::SetDefaultItem(unsigned int,int)\n8510 void CDaoWorkspace::SetDefaultPassword(wchar_t const *)\n8511 void CMultiDocTemplate::SetDefaultTitle(CDocument *)\n8512 void CSingleDocTemplate::SetDefaultTitle(CDocument *)\n8513 void CDaoWorkspace::SetDefaultUser(wchar_t const *)\n8514 void CFileDialog::SetDefExt(char const *)\n8515 void CDialog::SetDefID(unsigned int)\n8516 void CToolTipCtrl::SetDelayTime(unsigned int)\n8517 void CToolTipCtrl::SetDelayTime(unsigned long,int)\n8518 void CDumpContext::SetDepth(int)\n8519 void CWinApp::SetDialogBkColor(unsigned long,unsigned long)\n8520 void COlePropertyPage::SetDialogResource(void *)\n8521 void CDaoRecordset::SetDirtyFields(void)\n8522 void CDaoRecordset::SetDirtyFieldStatus(unsigned int)\n8523 void CRecordset::SetDirtyFieldStatus(unsigned long)\n8524 CImageList * CToolBarCtrl::SetDisabledImageList(CImageList *)\n8525 int COleControlSite::SetDlgCtrlID(int)\n8526 int CWnd::SetDlgCtrlID(int)\n8527 void COleControlContainer::SetDlgItemInt(int,unsigned int,int)\n8528 void CWnd::SetDlgItemInt(int,unsigned int,int)\n8529 void COleControlContainer::SetDlgItemTextW(int,wchar_t const *)\n8530 void CWnd::SetDlgItemTextW(int,wchar_t const *)\n8531 void CFrameWnd::SetDockState(CDockState const &)\n8532 void CDocObjectServer::SetDocSite(IOleDocumentSite *)\n8533 int CImageList::SetDragCursorImage(int,CPoint)\n8534 void COleClientItem::SetDrawAspect(enum tagDVASPECT)\n8535 void CRichEditCntrItem::SetDrawAspect(enum tagDVASPECT)\n8536 unsigned long CToolBarCtrl::SetDrawTextFlags(unsigned long,unsigned long)\n8537 void CSplitButton::SetDropDownMenu(unsigned int,unsigned int)\n8538 void CSplitButton::SetDropDownMenu(CMenu *)\n8539 int CComboBox::SetDroppedWidth(unsigned int)\n8540 void CDataBoundProperty::SetDSCSite(COleControlSite *)\n8541 int CComboBox::SetEditSel(int,int)\n8542 int CComboBoxEx::SetEditSel(int,int)\n8543 void CDHtmlDialog::SetElementHtml(IUnknown *,wchar_t *)\n8544 void CDHtmlDialog::SetElementHtml(wchar_t const *,wchar_t *)\n8545 void CDHtmlDialog::SetElementProperty(wchar_t const *,long,tagVARIANT *)\n8546 void CDHtmlDialog::SetElementText(IUnknown *,wchar_t *)\n8547 void CDHtmlDialog::SetElementText(wchar_t const *,wchar_t *)\n8548 void COleControl::SetEnabled(int)\n8549 HENHMETAFILE__ * CStatic::SetEnhMetaFile(HENHMETAFILE__ *)\n8550 int CEvent::SetEvent(void)\n8551 unsigned long CRichEditCtrl::SetEventMask(unsigned long)\n8552 unsigned long CComboBoxEx::SetExtendedStyle(unsigned long,unsigned long)\n8553 unsigned long CListCtrl::SetExtendedStyle(unsigned long)\n8554 unsigned long CReBarCtrl::SetExtendedStyle(unsigned long,unsigned long)\n8555 unsigned long CTabCtrl::SetExtendedStyle(unsigned long,unsigned long)\n8556 unsigned long CToolBarCtrl::SetExtendedStyle(unsigned long)\n8557 unsigned long CTreeCtrl::SetExtendedStyle(unsigned long,unsigned long)\n8558 int CComboBox::SetExtendedUI(int)\n8559 void COleClientItem::SetExtent(CSize const &,enum tagDVASPECT)\n8560 int COleControlSite::SetExtent(void)\n8561 long CDocObjectServer::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8562 long COleControl::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8563 long COleServerDoc::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8564 long COleServerItem::XOleObject::SetExtent(unsigned long,tagSIZE *)\n8565 void CDHtmlDialog::SetExternalDispatch(IDispatch *)\n8566 void CDaoRecordset::SetFieldDirty(void *,int)\n8567 void CRecordset::SetFieldDirty(void *,int)\n8568 void CIPAddressCtrl::SetFieldFocus(unsigned short)\n8569 void CDaoRecordset::SetFieldNull(void *,int)\n8570 void CRecordset::SetFieldNull(void *,int)\n8571 void CIPAddressCtrl::SetFieldRange(int,unsigned char,unsigned char)\n8572 void CRecordset::SetFieldStatus(unsigned long,unsigned char)\n8573 void CDaoFieldExchange::SetFieldType(unsigned int)\n8574 void CFieldExchange::SetFieldType(unsigned int)\n8575 void CDaoRecordset::SetFieldValue(int,wchar_t const *)\n8576 void CDaoRecordset::SetFieldValue(wchar_t const *,wchar_t const *)\n8577 void CDaoRecordset::SetFieldValue(int,COleVariant const &)\n8578 void CDaoRecordset::SetFieldValue(wchar_t const *,COleVariant const &)\n8579 void CDaoRecordset::SetFieldValueNull(int)\n8580 void CDaoRecordset::SetFieldValueNull(wchar_t const *)\n8581 void CFile::SetFilePath(wchar_t const *)\n8582 int CHeaderCtrl::SetFilterChangeTimeout(unsigned long)\n8583 void CPropertySheet::SetFinishText(wchar_t const *)\n8584 int CMonthCalCtrl::SetFirstDayOfWeek(int,int *)\n8585 CWnd * COleControl::SetFocus(void)\n8586 CWnd * COleControlSite::SetFocus(tagMSG *)\n8587 CWnd * COleControlSite::SetFocus(void)\n8588 CWnd * CWnd::SetFocus(void)\n8589 long COleControlSite::XOleIPSite::SetFocus(int)\n8590 int CHeaderCtrl::SetFocusedItem(int)\n8591 void CDHtmlDialog::SetFocusToElement(wchar_t const *)\n8592 int CDialogTemplate::SetFont(wchar_t const *,unsigned short)\n8593 void CFontHolder::SetFont(IFont *)\n8594 void COleControl::SetFont(IFontDisp *)\n8595 void CWnd::SetFont(CFont *,int)\n8596 void CFontHolder::SetFontNotifySink(IPropertyNotifySink *)\n8597 void COleControl::SetForeColor(unsigned long)\n8598 int CWnd::SetForegroundWindow(void)\n8599 int CDateTimeCtrl::SetFormat(wchar_t const *)\n8600 void CAsyncMonikerFile::SetFormatEtc(tagFORMATETC *)\n8601 void CPropertySection::SetFormatID(_GUID)\n8602 void CPropertySet::SetFormatVersion(unsigned short)\n8603 void CHtmlView::SetFullScreen(int)\n8604 int CDC::SetGraphicsMode(int)\n8605 void CEdit::SetHandle(void *)\n8606 void CSharedFile::SetHandle(void *,int)\n8607 void CMDIChildWnd::SetHandles(HMENU__ *,HACCEL__ *)\n8608 void CHtmlView::SetHeight(long)\n8609 void CToolBar::SetHeight(int)\n8610 HWND__ * CFrameWnd::SetHelpCapture(tagPOINT,int *)\n8611 void CDialog::SetHelpID(unsigned int)\n8612 void COlePropertyPage::SetHelpInfo(wchar_t const *,wchar_t const *,unsigned long)\n8613 void CWinApp::SetHelpMode(enum AFX_HELP_TYPE)\n8614 void CComboBox::SetHorizontalExtent(unsigned int)\n8615 void CListBox::SetHorizontalExtent(int)\n8616 void CDHtmlDialog::SetHostFlags(unsigned long)\n8617 void COleClientItem::SetHostNames(wchar_t const *,wchar_t const *)\n8618 long CDocObjectServer::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8619 long COleControl::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8620 long COleServerDoc::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8621 long COleServerItem::XOleObject::SetHostNames(wchar_t const *,wchar_t const *)\n8622 HICON__ * CListCtrl::SetHotCursor(HICON__ *)\n8623 int CHeaderCtrl::SetHotDivider(int)\n8624 int CHeaderCtrl::SetHotDivider(CPoint)\n8625 CImageList * CToolBarCtrl::SetHotImageList(CImageList *)\n8626 int CListCtrl::SetHotItem(int)\n8627 int CToolBarCtrl::SetHotItem(int)\n8628 void CHotKeyCtrl::SetHotKey(unsigned short,unsigned short)\n8629 unsigned long CListCtrl::SetHoverTime(unsigned long)\n8630 HICON__ * CButton::SetIcon(HICON__ *)\n8631 HICON__ * CStatic::SetIcon(HICON__ *)\n8632 int CStatusBarCtrl::SetIcon(int,HICON__ *)\n8633 HICON__ * CWnd::SetIcon(HICON__ *,int)\n8634 int COleClientItem::SetIconicMetafile(void *)\n8635 CSize CListCtrl::SetIconSpacing(int,int)\n8636 CSize CListCtrl::SetIconSpacing(CSize)\n8637 void CProperty::SetID(unsigned long)\n8638 int CImageList::SetImageCount(unsigned int)\n8639 CImageList * CComboBoxEx::SetImageList(CImageList *)\n8640 CImageList * CHeaderCtrl::SetImageList(CImageList *,int)\n8641 CImageList * CListCtrl::SetImageList(CImageList *,int)\n8642 int CReBarCtrl::SetImageList(CImageList *)\n8643 CImageList * CTabCtrl::SetImageList(CImageList *)\n8644 CImageList * CToolBarCtrl::SetImageList(CImageList *)\n8645 CImageList * CTreeCtrl::SetImageList(CImageList *,int)\n8646 int CToolBarCtrl::SetIndent(int)\n8647 void CTreeCtrl::SetIndent(unsigned int)\n8648 int CStatusBar::SetIndicators(unsigned int const *,int)\n8649 void CDaoWorkspace::SetIniPath(wchar_t const *)\n8650 void COleControl::SetInitialDataFormats(void)\n8651 long CDocObjectServer::XPrint::SetInitialPageNum(long)\n8652 void COleControl::SetInitialSize(int,int)\n8653 void CControlBar::SetInPlaceOwner(CWnd *)\n8654 long CDocObjectServer::XOleDocumentView::SetInPlaceSite(IOleInPlaceSite *)\n8655 void CToolBarCtrl::SetInsertMark(TBINSERTMARK *)\n8656 int CTreeCtrl::SetInsertMark(_TREEITEM *,int)\n8657 unsigned long CToolBarCtrl::SetInsertMarkColor(unsigned long)\n8658 unsigned long CTreeCtrl::SetInsertMarkColor(unsigned long)\n8659 void CDaoWorkspace::SetIsolateODBCTrans(int)\n8660 int CComboBoxEx::SetItem(tagCOMBOBOXEXITEMW const *)\n8661 int CHeaderCtrl::SetItem(int,_HD_ITEMW *)\n8662 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long)\n8663 int CListCtrl::SetItem(int,int,unsigned int,wchar_t const *,int,unsigned int,unsigned int,long,int)\n8664 int CListCtrl::SetItem(tagLVITEMW const *)\n8665 int CTabCtrl::SetItem(int,tagTCITEMW *)\n8666 int CTreeCtrl::SetItem(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long)\n8667 int CTreeCtrl::SetItem(tagTVITEMW *)\n8668 void CListCtrl::SetItemCount(int)\n8669 int CListCtrl::SetItemCountEx(int,unsigned long)\n8670 int CComboBox::SetItemData(int,unsigned long)\n8671 int CListBox::SetItemData(int,unsigned long)\n8672 int CListCtrl::SetItemData(int,unsigned long)\n8673 int CTreeCtrl::SetItemData(_TREEITEM *,unsigned long)\n8674 int CComboBox::SetItemDataPtr(int,void *)\n8675 int CListBox::SetItemDataPtr(int,void *)\n8676 int CTreeCtrl::SetItemEx(_TREEITEM *,unsigned int,wchar_t const *,int,int,unsigned int,unsigned int,long,unsigned int,HWND__ *,int)\n8677 int CTreeCtrl::SetItemExpandedImageIndex(_TREEITEM *,int)\n8678 int CTabCtrl::SetItemExtra(int)\n8679 int CComboBox::SetItemHeight(int,unsigned int)\n8680 int CListBox::SetItemHeight(int,unsigned int)\n8681 short CTreeCtrl::SetItemHeight(short)\n8682 int CTreeCtrl::SetItemImage(_TREEITEM *,int,int)\n8683 void COleServerItem::SetItemName(wchar_t const *)\n8684 int CListCtrl::SetItemPosition(int,tagPOINT)\n8685 int COleClientItem::SetItemRects(tagRECT const *,tagRECT const *)\n8686 CSize CTabCtrl::SetItemSize(CSize)\n8687 int CListCtrl::SetItemState(int,unsigned int,unsigned int)\n8688 int CListCtrl::SetItemState(int,tagLVITEMW *)\n8689 int CTabCtrl::SetItemState(int,unsigned long,unsigned long)\n8690 int CTreeCtrl::SetItemState(_TREEITEM *,unsigned int,unsigned int)\n8691 int CTreeCtrl::SetItemStateEx(_TREEITEM *,unsigned int)\n8692 int CListCtrl::SetItemText(int,int,wchar_t const *)\n8693 int CTreeCtrl::SetItemText(_TREEITEM *,wchar_t const *)\n8694 unsigned long CDC::SetLayout(unsigned long)\n8695 void CHtmlView::SetLeft(long)\n8696 void ATL::CSimpleStringT<wchar_t,1>::SetLength(int)\n8697 void ATL::CSimpleStringT<char,1>::SetLength(int)\n8698 void CFile::SetLength(unsigned __int64)\n8699 void CInternetFile::SetLength(unsigned __int64)\n8700 void CMemFile::SetLength(unsigned __int64)\n8701 void COleStreamFile::SetLength(unsigned __int64)\n8702 void CSocketFile::SetLength(unsigned __int64)\n8703 void CEdit::SetLimitText(unsigned int)\n8704 unsigned long CTreeCtrl::SetLineColor(unsigned long)\n8705 int CSliderCtrl::SetLineSize(int)\n8706 long COleUILinkInfo::SetLinkSource(unsigned long,wchar_t *,unsigned long,unsigned long *,int)\n8707 void COleClientItem::SetLinkUpdateOptions(enum tagOLEUPDATE)\n8708 long COleUILinkInfo::SetLinkUpdateOptions(unsigned long,unsigned long)\n8709 void CArchive::SetLoadParams(unsigned int)\n8710 unsigned long CComboBox::SetLocale(unsigned long)\n8711 unsigned long CListBox::SetLocale(unsigned long)\n8712 void CDaoRecordset::SetLockingMode(int)\n8713 void CRecordset::SetLockingMode(unsigned int)\n8714 void CDaoWorkspace::SetLoginTimeout(short)\n8715 void CDatabase::SetLoginTimeout(unsigned long)\n8716 void ATL::CSimpleStringT<wchar_t,1>::SetManager(ATL::IAtlStringMgr *)\n8717 void ATL::CSimpleStringT<char,1>::SetManager(ATL::IAtlStringMgr *)\n8718 int CDC::SetMapMode(int)\n8719 int CPreviewDC::SetMapMode(int)\n8720 unsigned long CDC::SetMapperFlags(unsigned long)\n8721 void CToolTipCtrl::SetMargin(tagRECT *)\n8722 void CEdit::SetMargins(unsigned int,unsigned int)\n8723 void CRichEditView::SetMargins(CRect const &)\n8724 int CProgressCtrl::SetMarquee(int,int)\n8725 void CPrintInfo::SetMaxPage(unsigned int)\n8726 int CMonthCalCtrl::SetMaxSelCount(int)\n8727 int CToolBarCtrl::SetMaxTextRows(int)\n8728 int CToolTipCtrl::SetMaxTipWidth(int)\n8729 int CFrameWnd::SetMenu(CMenu *)\n8730 int CWnd::SetMenu(CMenu *)\n8731 long COleFrameHook::XOleInPlaceFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8732 long COleControlContainer::XOleIPFrame::SetMenu(HMENU__ *,void *,HWND__ *)\n8733 void CHtmlView::SetMenuBar(int)\n8734 int CFrameWnd::SetMenuBarState(unsigned long)\n8735 int CMDIFrameWnd::SetMenuBarState(unsigned long)\n8736 void CFrameWnd::SetMenuBarVisibility(unsigned long)\n8737 void CMDIFrameWnd::SetMenuBarVisibility(unsigned long)\n8738 int CMenu::SetMenuContextHelpId(unsigned long)\n8739 int CMenu::SetMenuItemBitmaps(unsigned int,unsigned int,CBitmap const *,CBitmap const *)\n8740 int CMenu::SetMenuItemInfoW(unsigned int,tagMENUITEMINFOW *,int)\n8741 void COleMessageFilter::SetMessagePendingDelay(unsigned long)\n8742 void CFrameWnd::SetMessageText(unsigned int)\n8743 void CFrameWnd::SetMessageText(wchar_t const *)\n8744 void CStatusBarCtrl::SetMinHeight(int)\n8745 void CPrintInfo::SetMinPage(unsigned int)\n8746 int CTabCtrl::SetMinTabWidth(int)\n8747 int CDC::SetMiterLimit(float)\n8748 void CPropertyPage::SetModified(int)\n8749 void CDocument::SetModifiedFlag(int)\n8750 void COleControl::SetModifiedFlag(int)\n8751 void COlePropertyPage::SetModifiedFlag(int)\n8752 void CRichEditDoc::SetModifiedFlag(int)\n8753 void CEdit::SetModify(int)\n8754 void CRichEditCtrl::SetModify(int)\n8755 long CDocObjectServer::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8756 long COleControl::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8757 long COleServerDoc::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8758 long COleServerItem::XOleObject::SetMoniker(unsigned long,IMoniker *)\n8759 unsigned long CDateTimeCtrl::SetMonthCalColor(int,unsigned long)\n8760 void CDateTimeCtrl::SetMonthCalFont(HFONT__ *,int)\n8761 unsigned long CDateTimeCtrl::SetMonthCalStyle(unsigned long)\n8762 int CMonthCalCtrl::SetMonthDelta(int)\n8763 int CMonthCalCtrl::SetMonthView(void)\n8764 void CDaoQueryDef::SetName(wchar_t const *)\n8765 void CDaoTableDef::SetName(wchar_t const *)\n8766 int CPropertySection::SetName(unsigned long,wchar_t const *)\n8767 void COleControl::SetNotPermitted(void)\n8768 void CCmdTarget::SetNotSupported(void)\n8769 void COleControl::SetNotSupported(void)\n8770 void CDaoRecordset::SetNullableFieldStatus(unsigned int)\n8771 void CDaoRecordset::SetNullableKnownFieldStatus(unsigned int)\n8772 void CDaoRecordset::SetNullFieldStatus(unsigned int)\n8773 void CRecordset::SetNullFieldStatus(unsigned long)\n8774 void CRecordset::SetNullParamStatus(unsigned long)\n8775 void CDaoFieldExchange::SetNullValue(void *,unsigned long)\n8776 long COleControl::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8777 long COleServerDoc::XOleInPlaceObject::SetObjectRects(tagRECT const *,tagRECT const *)\n8778 long COlePropertyPage::XPropertyPage::SetObjects(unsigned long,IUnknown * *)\n8779 void CArchive::SetObjectSchema(unsigned int)\n8780 int CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8781 int CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8782 int CFormView::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8783 int CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)\n8784 void CDaoQueryDef::SetODBCTimeout(short)\n8785 void CHtmlView::SetOffline(int)\n8786 int CRichEditCtrl::SetOLECallback(IRichEditOleCallback *)\n8787 int CInternetConnection::SetOption(unsigned long,unsigned long,unsigned long)\n8788 int CInternetConnection::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8789 int CInternetFile::SetOption(unsigned long,unsigned long,unsigned long)\n8790 int CInternetFile::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8791 int CInternetSession::SetOption(unsigned long,unsigned long,unsigned long)\n8792 int CInternetSession::SetOption(unsigned long,void *,unsigned long,unsigned long)\n8793 void CRichEditCtrl::SetOptions(unsigned short,unsigned long)\n8794 int CHeaderCtrl::SetOrderArray(int,int *)\n8795 void CPropertySet::SetOSVersion(unsigned long)\n8796 void CDC::SetOutputDC(HDC__ *)\n8797 void CMetaFileDC::SetOutputDC(HDC__ *)\n8798 void CPreviewDC::SetOutputDC(HDC__ *)\n8799 int CImageList::SetOverlayImage(int,int)\n8800 CWnd * CReBarCtrl::SetOwner(CWnd *)\n8801 void CToolBar::SetOwner(CWnd *)\n8802 void CToolBarCtrl::SetOwner(CWnd *)\n8803 void CWnd::SetOwner(CWnd *)\n8804 void CTabCtrl::SetPadding(CSize)\n8805 unsigned long CToolBarCtrl::SetPadding(int,int)\n8806 void COlePropertyPage::SetPageName(wchar_t const *)\n8807 long COlePropertyPage::XPropertyPage::SetPageSite(IPropertyPageSite *)\n8808 int CSliderCtrl::SetPageSize(int)\n8809 CPalette * CReBarCtrl::SetPalette(HPALETTE__ *)\n8810 unsigned int CPalette::SetPaletteEntries(unsigned int,unsigned int,tagPALETTEENTRY *)\n8811 void CStatusBar::SetPaneInfo(int,unsigned int,unsigned int,int)\n8812 void CStatusBar::SetPaneStyle(int,unsigned int)\n8813 int CStatusBar::SetPaneText(int,wchar_t const *,int)\n8814 void CRichEditView::SetPaperSize(CSize)\n8815 int CRichEditCtrl::SetParaFormat(_paraformat &)\n8816 int CRichEditCtrl::SetParaFormat(PARAFORMAT2 &)\n8817 int CRichEditView::SetParaFormat(PARAFORMAT2 &)\n8818 void CRecordset::SetParamNull(int,int)\n8819 void CDaoQueryDef::SetParamValue(int,COleVariant const &)\n8820 void CDaoQueryDef::SetParamValue(wchar_t const *,COleVariant const &)\n8821 void CDaoRecordset::SetParamValue(int,COleVariant const &)\n8822 void CDaoRecordset::SetParamValue(wchar_t const *,COleVariant const &)\n8823 void CDaoQueryDef::SetParamValueNull(int)\n8824 void CDaoQueryDef::SetParamValueNull(wchar_t const *)\n8825 void CDaoRecordset::SetParamValueNull(int)\n8826 void CDaoRecordset::SetParamValueNull(wchar_t const *)\n8827 CWnd * CWnd::SetParent(CWnd *)\n8828 int CStatusBarCtrl::SetParts(int,int *)\n8829 void CEdit::SetPasswordChar(wchar_t)\n8830 void CDataPathProperty::SetPath(wchar_t const *)\n8831 void CDocument::SetPathName(wchar_t const *,int)\n8832 void COleDocument::SetPathName(wchar_t const *,int)\n8833 void CRichEditDoc::SetPathName(wchar_t const *,int)\n8834 void CDaoRecordset::SetPercentPosition(float)\n8835 void CHandleMap::SetPermanent(void *,CObject *)\n8836 void CPictureHolder::SetPictureDispatch(IPictureDisp *)\n8837 unsigned long CDC::SetPixel(int,int,unsigned long)\n8838 unsigned long CDC::SetPixel(tagPOINT,unsigned long)\n8839 int CDC::SetPixelV(int,int,unsigned long)\n8840 int CDC::SetPixelV(tagPOINT,unsigned long)\n8841 int CDC::SetPolyFillMode(int)\n8842 int CProgressCtrl::SetPos(int)\n8843 void CSliderCtrl::SetPos(int)\n8844 int CSpinButtonCtrl::SetPos(int)\n8845 int CSpinButtonCtrl::SetPos32(int)\n8846 void COleIPFrameWnd::SetPreviewMode(int)\n8847 int COleClientItem::SetPrintDevice(tagDVTARGETDEVICE const *)\n8848 int COleClientItem::SetPrintDevice(tagPDW const *)\n8849 void CEditView::SetPrinterFont(CFont *)\n8850 int CPreviewView::SetPrintView(CView *)\n8851 int COlePropertyPage::SetPropCheck(wchar_t const *,int)\n8852 void COleControlSite::SetProperty(long,unsigned short,...)\n8853 void COleDispatchDriver::SetProperty(long,unsigned short,...)\n8854 void CWnd::SetProperty(long,unsigned short,...)\n8855 void COleControlSite::SetPropertyV(long,unsigned short,char *)\n8856 int COlePropertyPage::SetPropIndex(wchar_t const *,int)\n8857 int COlePropertyPage::SetPropRadio(wchar_t const *,int)\n8858 int COleControl::SetPropsetData(tagFORMATETC *,tagSTGMEDIUM *,_GUID const &)\n8859 int COlePropertyPage::SetPropText(wchar_t const *,unsigned char &)\n8860 int COlePropertyPage::SetPropText(wchar_t const *,short &)\n8861 int COlePropertyPage::SetPropText(wchar_t const *,int &)\n8862 int COlePropertyPage::SetPropText(wchar_t const *,unsigned int &)\n8863 int COlePropertyPage::SetPropText(wchar_t const *,long &)\n8864 int COlePropertyPage::SetPropText(wchar_t const *,unsigned long &)\n8865 int COlePropertyPage::SetPropText(wchar_t const *,float &)\n8866 int COlePropertyPage::SetPropText(wchar_t const *,double &)\n8867 int COlePropertyPage::SetPropText(wchar_t const *,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > &)\n8868 long CWnd::SetProxy(IAccessibleProxy *)\n8869 long CWnd::XAccessibleServer::SetProxy(IAccessibleProxy *)\n8870 int CRichEditCtrl::SetPunctuation(unsigned int,_punctuation *)\n8871 void CDaoDatabase::SetQueryTimeout(short)\n8872 void CDatabase::SetQueryTimeout(unsigned long)\n8873 void CCmdUI::SetRadio(int)\n8874 void CTestCmdUI::SetRadio(int)\n8875 int CDateTimeCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8876 int CDateTimeCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8877 int CMonthCalCtrl::SetRange(ATL::COleDateTime const *,ATL::COleDateTime const *)\n8878 int CMonthCalCtrl::SetRange(ATL::CTime const *,ATL::CTime const *)\n8879 int CMonthCalCtrl::SetRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8880 void CProgressCtrl::SetRange(short,short)\n8881 void CSliderCtrl::SetRange(int,int,int)\n8882 void CSpinButtonCtrl::SetRange(short,short)\n8883 void CProgressCtrl::SetRange32(int,int)\n8884 void CSpinButtonCtrl::SetRange32(int,int)\n8885 void CSliderCtrl::SetRangeMax(int,int)\n8886 void CSliderCtrl::SetRangeMin(int,int)\n8887 int CInternetFile::SetReadBufferSize(unsigned int)\n8888 int CEdit::SetReadOnly(int)\n8889 int CRichEditCtrl::SetReadOnly(int)\n8890 void CEdit::SetRect(tagRECT const *)\n8891 void CRichEditCtrl::SetRect(tagRECT const *)\n8892 long CDocObjectServer::XOleDocumentView::SetRect(tagRECT *)\n8893 long CDocObjectServer::XOleDocumentView::SetRectComplex(tagRECT *,tagRECT *,tagRECT *,tagRECT *)\n8894 int COleControl::SetRectInContainer(tagRECT const *)\n8895 void CEdit::SetRectNP(tagRECT const *)\n8896 void CRgn::SetRectRgn(int,int,int,int)\n8897 void CRgn::SetRectRgn(tagRECT const *)\n8898 void CWnd::SetRedraw(int)\n8899 void CHtmlView::SetRegisterAsBrowser(int)\n8900 void CHtmlView::SetRegisterAsDropTarget(int)\n8901 void CWinApp::SetRegistryKey(unsigned int)\n8902 void CWinApp::SetRegistryKey(wchar_t const *)\n8903 void COleMessageFilter::SetRetryReply(unsigned long)\n8904 void CDaoQueryDef::SetReturnsRecords(int)\n8905 int CDC::SetROP2(int)\n8906 void CSplitterWnd::SetRowInfo(int,int,int)\n8907 void CToolBarCtrl::SetRows(int,int,tagRECT *)\n8908 void CRecordset::SetRowsetCurrencyStatus(short,unsigned short,long,unsigned long)\n8909 void CRecordset::SetRowsetCursorPosition(unsigned short,unsigned short)\n8910 void CRecordset::SetRowsetSize(unsigned long)\n8911 void CHotKeyCtrl::SetRules(unsigned short,unsigned short)\n8912 void CPreviewView::SetScaledSize(unsigned int)\n8913 void CPreviewDC::SetScaleRatio(int,int)\n8914 void CScrollView::SetScaleToFitSize(tagSIZE)\n8915 void CDockState::SetScreenSize(CSize &)\n8916 int CScrollBar::SetScrollInfo(tagSCROLLINFO *,int)\n8917 int CWnd::SetScrollInfo(int,tagSCROLLINFO *,int)\n8918 int CScrollBar::SetScrollPos(int,int)\n8919 int CWnd::SetScrollPos(int,int,int)\n8920 void CScrollBar::SetScrollRange(int,int,int)\n8921 void CWnd::SetScrollRange(int,int,int,int)\n8922 void CScrollView::SetScrollSizes(int,tagSIZE,tagSIZE const &,tagSIZE const &)\n8923 void CSplitterWnd::SetScrollStyle(unsigned long)\n8924 unsigned int CTreeCtrl::SetScrollTime(unsigned int)\n8925 int CPropertySection::SetSectionName(wchar_t const *)\n8926 void CEdit::SetSel(int,int,int)\n8927 void CEdit::SetSel(unsigned long,int)\n8928 int CListBox::SetSel(int,int)\n8929 void CRichEditCtrl::SetSel(_charrange &)\n8930 void CRichEditCtrl::SetSel(long,long)\n8931 void CSliderCtrl::SetSelection(int,int)\n8932 int CRichEditCtrl::SetSelectionCharFormat(_charformatw &)\n8933 int CRichEditCtrl::SetSelectionCharFormat(CHARFORMAT2W &)\n8934 void CCheckListBox::SetSelectionCheck(int)\n8935 int CListCtrl::SetSelectionMark(int)\n8936 int CMonthCalCtrl::SetSelRange(ATL::COleDateTime const &,ATL::COleDateTime const &)\n8937 int CMonthCalCtrl::SetSelRange(ATL::CTime const &,ATL::CTime const &)\n8938 int CMonthCalCtrl::SetSelRange(_SYSTEMTIME * const,_SYSTEMTIME * const)\n8939 void CDocTemplate::SetServerInfo(unsigned int,unsigned int,CRuntime*,CRuntime*)\n8940 void CHtmlView::SetSilent(int)\n8941 int CStatusBarCtrl::SetSimple(int)\n8942 long CPrintDialogEx::SetSite(IUnknown *)\n8943 long CArchiveStream::SetSize(union _ULARGE_INTEGER)\n8944 void CByteArray::SetSize(int,int)\n8945 void CDWordArray::SetSize(int,int)\n8946 void CObArray::SetSize(int,int)\n8947 void CPtrArray::SetSize(int,int)\n8948 void CStringArray::SetSize(int,int)\n8949 void CUIntArray::SetSize(int,int)\n8950 void CWordArray::SetSize(int,int)\n8951 void CToolBar::SetSizes(tagSIZE,tagSIZE)\n8952 int CAsyncSocket::SetSockOpt(int,void const *,int,int)\n8953 void CDaoTableDef::SetSourceTableName(wchar_t const *)\n8954 void CSplitterWnd::SetSplitCursor(int)\n8955 void CDaoQueryDef::SetSQL(wchar_t const *)\n8956 long CCmdTarget::SetStandardProp(AFX_DISPMAP_ENTRY const *,tagDISPPARAMS *,unsigned int *)\n8957 void CButton::SetState(int)\n8958 int CProgressCtrl::SetState(int)\n8959 void CRecordset::SetState(int,wchar_t const *,unsigned long)\n8960 int CToolBarCtrl::SetState(int,unsigned int)\n8961 void CFile::SetStatus(wchar_t const *,CFileStatus const &)\n8962 void COleCurrency::SetStatus(enum COleCurrency::CurrencyStatus)\n8963 void CHtmlView::SetStatusBar(int)\n8964 int CControlBar::SetStatusText(int)\n8965 long COleFrameHook::XOleInPlaceFrame::SetStatusText(wchar_t const *)\n8966 long COleControlContainer::XOleIPFrame::SetStatusText(wchar_t const *)\n8967 int CProgressCtrl::SetStep(int)\n8968 void CArchive::SetStoreParams(unsigned int,unsigned int)\n8969 int CDC::SetStretchBltMode(int)\n8970 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *)\n8971 void ATL::CSimpleStringT<wchar_t,1>::SetString(wchar_t const *,int)\n8972 void ATL::CSimpleStringT<char,1>::SetString(char const *)\n8973 void ATL::CSimpleStringT<char,1>::SetString(char const *,int)\n8974 void COleVariant::SetString(wchar_t const *,unsigned short)\n8975 void CToolBarCtrl::SetStyle(unsigned long)\n8976 void CDatabase::SetSynchronousMode(int)\n8977 wchar_t * ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SetSysString(wchar_t * *)const \n8978 wchar_t * ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SetSysString(wchar_t * *)const \n8979 int CDialogTemplate::SetSystemFont(unsigned short)\n8980 int CEdit::SetTabStops(int const &)\n8981 int CEdit::SetTabStops(int,int *)\n8982 void CEdit::SetTabStops(void)\n8983 void CEditView::SetTabStops(int)\n8984 int CListBox::SetTabStops(int const &)\n8985 int CListBox::SetTabStops(int,int *)\n8986 void CListBox::SetTabStops(void)\n8987 int CRichEditCtrl::SetTargetDevice(CDC &,long)\n8988 int CRichEditCtrl::SetTargetDevice(HDC__ *,long)\n8989 int CDialogTemplate::SetTemplate(DLGTEMPLATE const *,unsigned int)\n8990 void CFileDialog::SetTemplate(unsigned int,unsigned int)\n8991 void CFileDialog::SetTemplate(wchar_t const *,wchar_t const *)\n8992 void CCmdUI::SetText(wchar_t const *)\n8993 void COleCmdUI::SetText(wchar_t const *)\n8994 void COleControl::SetText(wchar_t const *)\n8995 int CStatusBarCtrl::SetText(wchar_t const *,int,int)\n8996 void CStatusCmdUI::SetText(wchar_t const *)\n8997 void CTestCmdUI::SetText(wchar_t const *)\n8998 void CToolCmdUI::SetText(wchar_t const *)\n8999 unsigned int CDC::SetTextAlign(unsigned int)\n9000 int CListCtrl::SetTextBkColor(unsigned long)\n9001 int CDC::SetTextCharacterExtra(int)\n9002 unsigned long CDC::SetTextColor(unsigned long)\n9003 int CListCtrl::SetTextColor(unsigned long)\n9004 unsigned long CPreviewDC::SetTextColor(unsigned long)\n9005 unsigned long CReBarCtrl::SetTextColor(unsigned long)\n9006 unsigned long CTreeCtrl::SetTextColor(unsigned long)\n9007 int CDC::SetTextJustification(int,int)\n9008 int CRichEditCtrl::SetTextMode(unsigned int)\n9009 void CHtmlView::SetTheaterMode(int)\n9010 int CWinThread::SetThreadPriority(int)\n9011 void CSliderCtrl::SetThumbLength(int)\n9012 int CSliderCtrl::SetTic(int)\n9013 void CSliderCtrl::SetTicFreq(int)\n9014 int CDateTimeCtrl::SetTime(ATL::COleDateTime const &)\n9015 int CDateTimeCtrl::SetTime(_SYSTEMTIME *)\n9016 int CDateTimeCtrl::SetTime(ATL::CTime const *)\n9017 unsigned int CWnd::SetTimer(unsigned int,unsigned int,void (__stdcall*)(HWND__ *,unsigned int,unsigned int,unsigned long))\n9018 void CToolTipCtrl::SetTipBkColor(unsigned long)\n9019 int CSliderCtrl::SetTipSide(int)\n9020 void CStatusBarCtrl::SetTipText(int,wchar_t const *)\n9021 void CToolTipCtrl::SetTipTextColor(unsigned long)\n9022 void CDocument::SetTitle(wchar_t const *)\n9023 void CFrameWnd::SetTitle(wchar_t const *)\n9024 void CPropertySheet::SetTitle(wchar_t const *,unsigned int)\n9025 void CRichEditDoc::SetTitle(wchar_t const *)\n9026 int CToolTipCtrl::SetTitle(unsigned int,wchar_t const *)\n9027 void CMonthCalCtrl::SetToday(ATL::COleDateTime const &)\n9028 void CMonthCalCtrl::SetToday(ATL::CTime const *)\n9029 void CMonthCalCtrl::SetToday(_SYSTEMTIME * const)\n9030 void CHtmlView::SetToolBar(int)\n9031 void CToolTipCtrl::SetToolInfo(tagTOOLINFOW *)\n9032 void CToolTipCtrl::SetToolRect(CWnd *,unsigned int,tagRECT const *)\n9033 CToolTipCtrl * CListCtrl::SetToolTips(CToolTipCtrl *)\n9034 void CReBarCtrl::SetToolTips(CToolTipCtrl *)\n9035 void CSliderCtrl::SetToolTips(CToolTipCtrl *)\n9036 void CTabCtrl::SetToolTips(CToolTipCtrl *)\n9037 void CToolBarCtrl::SetToolTips(CToolTipCtrl *)\n9038 CToolTipCtrl * CTreeCtrl::SetToolTips(CToolTipCtrl *)\n9039 void CHtmlView::SetTop(long)\n9040 int CComboBox::SetTopIndex(int)\n9041 int CListBox::SetTopIndex(int)\n9042 void CPreviewDC::SetTopLeftOffset(CSize)\n9043 void CProperty::SetType(unsigned long)\n9044 unsigned int CRichEditCtrl::SetUndoLimit(unsigned int)\n9045 void CRecordset::SetUpdateMethod(void)\n9046 void CDaoTableDef::SetValidationRule(wchar_t const *)\n9047 void CDaoTableDef::SetValidationText(wchar_t const *)\n9048 void CThreadSlotData::SetValue(int,void *)\n9049 long COlePropertiesDialog::XOleUIObjInfo::SetViewInfo(unsigned long,void *,unsigned long,int,int)\n9050 CSize CDC::SetViewportExt(tagSIZE)\n9051 CSize CDC::SetViewportExt(int,int)\n9052 CSize CMetaFileDC::SetViewportExt(tagSIZE)\n9053 CSize CMetaFileDC::SetViewportExt(int,int)\n9054 CSize CPreviewDC::SetViewportExt(int,int)\n9055 CPoint CDC::SetViewportOrg(tagPOINT)\n9056 CPoint CDC::SetViewportOrg(int,int)\n9057 CPoint CMetaFileDC::SetViewportOrg(tagPOINT)\n9058 CPoint CMetaFileDC::SetViewportOrg(int,int)\n9059 CPoint CPreviewDC::SetViewportOrg(int,int)\n9060 void CHtmlView::SetVisible(int)\n9061 void CHtmlView::SetWidth(long)\n9062 int CWnd::SetWindowContextHelpId(unsigned long)\n9063 CSize CDC::SetWindowExt(tagSIZE)\n9064 CSize CDC::SetWindowExt(int,int)\n9065 CSize CPreviewDC::SetWindowExt(int,int)\n9066 CPoint CDC::SetWindowOrg(int,int)\n9067 CPoint CDC::SetWindowOrg(tagPOINT)\n9068 int CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)\n9069 int COleControlSite::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n9070 int CWnd::SetWindowPos(CWnd const *,int,int,int,int,unsigned int)\n9071 int CWnd::SetWindowRgn(HRGN__ *,int)\n9072 void COleControlSite::SetWindowTextW(wchar_t const *)\n9073 void CWnd::SetWindowTextW(wchar_t const *)\n9074 void CPropertySheet::SetWizardButtons(unsigned long)\n9075 void CPropertySheet::SetWizardMode(void)\n9076 int CRichEditCtrl::SetWordCharFormat(_charformatw &)\n9077 int CRichEditCtrl::SetWordCharFormat(CHARFORMAT2W &)\n9078 unsigned int CRichEditCtrl::SetWordWrapMode(unsigned int)const \n9079 void CListCtrl::SetWorkAreas(int,tagRECT *)\n9080 int CDC::SetWorldTransform(tagXFORM const *)\n9081 int CInternetFile::SetWriteBufferSize(unsigned int)\n9082 int CMonthCalCtrl::SetYearView(void)\n9083 void CPreviewView::SetZoomState(unsigned int,unsigned int,CPoint)\n9084 long CDocObjectServer::XOleDocumentView::Show(int)\n9085 long COlePropertyPage::XPropertyPage::Show(unsigned int)\n9086 void CDockBar::ShowAll(int)\n9087 int CWinApp::ShowAppMessageBox(CWinApp *,wchar_t const *,unsigned int,unsigned int)\n9088 int CReBarCtrl::ShowBand(unsigned int,int)\n9089 void CWnd::ShowCaret(void)\n9090 long CRichEditCntrItem::ShowContainerUI(int)\n9091 long CRichEditView::ShowContainerUI(int)\n9092 long CRichEditView::XRichEditOleCallback::ShowContainerUI(int)\n9093 long CBrowserControlSite::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9094 long CDHtmlDialog::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9095 long CHtmlControlSite::XDocHostUIHandler::ShowContextMenu(unsigned long,tagPOINT *,IUnknown *,IDispatch *)\n9096 void CFrameWnd::ShowControlBar(CControlBar *,int,int)\n9097 void CComboBox::ShowDropDown(int)\n9098 void CTreeCtrl::ShowInfoTip(_TREEITEM *)\n9099 long COleClientItem::XOleClientSite::ShowObject(void)\n9100 long COleControlSite::XOleClientSite::ShowObject(void)\n9101 void CWnd::ShowOwnedPopups(int)\n9102 void CFrameWnd::ShowOwnedWindows(int)\n9103 long COleControlSite::XOleControlSite::ShowPropertyFrame(void)\n9104 void CScrollBar::ShowScrollBar(int)\n9105 void CWnd::ShowScrollBar(unsigned int,int)\n9106 long CBrowserControlSite::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9107 long CDHtmlDialog::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9108 long CHtmlControlSite::XDocHostUIHandler::ShowUI(unsigned long,IOleInPlaceActiveObject *,IOleCommandTarget *,IOleInPlaceFrame *,IOleInPlaceUIWindow *)\n9109 int COleControlSite::ShowWindow(int)\n9110 int CWnd::ShowWindow(int)\n9111 int CAsyncSocket::ShutDown(int)\n9112 tagSIZE const CScrollView::sizeDefault\n9113 int CMonthCalCtrl::SizeMinReq(int)\n9114 void CMonthCalCtrl::SizeRectToMin(tagRECT *)\n9115 void CBitmapButton::SizeToContent(void)\n9116 void CToolBar::SizeToolBar(_TBBUTTON *,int,int,int)\n9117 int CReBarCtrl::SizeToRect(CRect &)\n9118 long CEnumArray::XEnumVOID::Skip(unsigned long)\n9119 void CRecordset::SkipDeletedRecords(unsigned short,long,unsigned long *,short *)\n9120 int CAsyncSocket::Socket(int,long,int,int)\n9121 int CTreeCtrl::SortChildren(_TREEITEM *)\n9122 int CTreeCtrl::SortChildrenCB(tagTVSORTCB *)\n9123 int CListCtrl::SortItems(int (__stdcall*)(long,long,long),unsigned long)\n9124 int CListCtrl::SortItemsEx(int (__stdcall*)(long,long,long),unsigned long)\n9125 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanExcluding(wchar_t const *)const \n9126 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanExcluding(char const *)const \n9127 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::SpanIncluding(wchar_t const *)const \n9128 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::SpanIncluding(char const *)const \n9129 int CSplitterWnd::SplitColumn(int)\n9130 DLGTEMPLATE * COccManager::SplitDialogTemplate(DLGTEMPLATE const *,DLGITEMTEMPLATE * *)\n9131 int CSplitterWnd::SplitRow(int)\n9132 int CDC::StartDocW(_DOCINFOW *)\n9133 int CDC::StartDocW(wchar_t const *)\n9134 void CDockContext::StartDrag(CPoint)\n9135 int CDC::StartPage(void)\n9136 void CDockContext::StartResize(int,CPoint)\n9137 void CSplitterWnd::StartTracking(int)\n9138 long CArchiveStream::Stat(tagSTATSTG *,unsigned long)\n9139 int CProgressCtrl::StepIt(void)\n9140 int CAnimateCtrl::Stop(void)\n9141 void CHtmlView::Stop(void)\n9142 void CRichEditCtrl::StopGroupTyping(void)\n9143 void CSplitterWnd::StopTracking(int)\n9144 void CRuntimeClass::Store(CArchive &)const \n9145 void CDaoRecordset::StoreFields(void)\n9146 void CRecordset::StoreFields(void)\n9147 void CRichEditView::Stream(CArchive &,int)\n9148 long CRichEditCtrl::StreamIn(int,_editstream &)\n9149 long CRichEditCtrl::StreamOut(int,_editstream &)\n9150 void CDockContext::Stretch(CPoint)\n9151 int CDC::StretchBlt(int,int,int,int,CDC *,int,int,int,int,unsigned long)\n9152 int ATL::CSimpleStringT<wchar_t,1>::StringLength(wchar_t const *)\n9153 int ATL::CSimpleStringT<wchar_t,1>::StringLength(char const *)\n9154 int ATL::CSimpleStringT<char,1>::StringLength(wchar_t const *)\n9155 int ATL::CSimpleStringT<char,1>::StringLength(char const *)\n9156 void CDaoRecordset::StripBrackets(wchar_t const *,wchar_t *)\n9157 int CDC::StrokeAndFillPath(void)\n9158 int CDC::StrokePath(void)\n9159 int CWnd::SubclassDlgItem(unsigned int,CWnd *)\n9160 int CWnd::SubclassWindow(HWND__ *)\n9161 int CListCtrl::SubItemHitTest(tagLVHITTESTINFO *)\n9162 int COleDocObjectItem::SupportsIPrint(void)\n9163 unsigned long CWinThread::SuspendThread(void)\n9164 long COleControlSite::XNotifyDBEvents::SyncAfter(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n9165 long COleControlSite::XNotifyDBEvents::SyncBefore(unsigned long,unsigned long,tagDBNOTIFYREASON * const)\n9166 void CRichEditCntrItem::SyncToRichEditObject(_reobject &)\n9167 CSize CDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n9168 CSize CDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n9169 CSize CMetaFileDC::TabbedTextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &,int,int *,int)\n9170 CSize CMetaFileDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n9171 CSize CPreviewDC::TabbedTextOutW(int,int,wchar_t const *,int,int,int *,int)\n9172 void CRichEditView::TextNotFound(wchar_t const *)\n9173 int CDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n9174 int CDC::TextOutW(int,int,wchar_t const *,int)\n9175 int CMetaFileDC::TextOutW(int,int,ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > const &)\n9176 int CMetaFileDC::TextOutW(int,int,wchar_t const *,int)\n9177 int CPreviewDC::TextOutW(int,int,wchar_t const *,int)\n9178 void CDaoDatabase::ThrowDaoException(int)\n9179 void CDaoQueryDef::ThrowDaoException(int)\n9180 void CDaoRecordset::ThrowDaoException(int)\n9181 void CDaoTableDef::ThrowDaoException(int)\n9182 void CDaoWorkspace::ThrowDaoException(int)\n9183 void CDatabase::ThrowDBException(short)\n9184 void CRecordset::ThrowDBException(short,void *)\n9185 void CFileException::ThrowErrno(int,wchar_t const *)\n9186 void COleControl::ThrowError(long,unsigned int,unsigned int)\n9187 void COleControl::ThrowError(long,wchar_t const *,unsigned int)\n9188 void ThrowGetRowsDaoException(long)\n9189 void ATL::CSimpleStringT<wchar_t,1>::ThrowMemoryException(void)\n9190 void ATL::CSimpleStringT<char,1>::ThrowMemoryException(void)\n9191 void CFileException::ThrowOsError(long,wchar_t const *)\n9192 void CDockContext::ToggleDocking(void)\n9193 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Tokenize(wchar_t const *,int &)const \n9194 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Tokenize(char const *,int &)const \n9195 COleVariant CDataSourceControl::ToVariant(int)\n9196 ATL::CTraceCategory traceAppMsg\n9197 ATL::CTraceCategory traceCmdRouting\n9198 ATL::CTraceCategory traceDatabase\n9199 ATL::CTraceCategory traceDumpContext\n9200 void CDBException::TraceErrorMessage(wchar_t const *)const \n9201 ATL::CTraceCategory traceGdi\n9202 ATL::CTraceCategory traceHtml\n9203 ATL::CTraceCategory traceInternet\n9204 ATL::CTraceCategory traceKernel\n9205 ATL::CTraceCategory traceMemory\n9206 ATL::CTraceCategory traceMultiApp\n9207 ATL::CTraceCategory traceOle\n9208 ATL::CTraceCategory traceSocket\n9209 ATL::CTraceCategory traceUser\n9210 ATL::CTraceCategory traceWinMsg\n9211 int CDockContext::Track(void)\n9212 int CRectTracker::Track(CWnd *,CPoint,int,CWnd *)\n9213 void CSplitterWnd::TrackColumnSize(int,int)\n9214 int CRectTracker::TrackHandle(int,CWnd *,CPoint,CWnd *)\n9215 int CMenu::TrackPopupMenu(unsigned int,int,int,CWnd *,tagRECT const *)\n9216 int CMenu::TrackPopupMenuEx(unsigned int,int,int,CWnd *,tagTPMPARAMS *)\n9217 void CSplitterWnd::TrackRowSize(int,int)\n9218 int CRectTracker::TrackRubberBand(CWnd *,CPoint,int)\n9219 void COleControl::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n9220 long COleControlSite::XOleControlSite::TransformCoords(_POINTL *,tagPOINTF *,unsigned long)\n9221 long CBrowserControlSite::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n9222 long CDHtmlDialog::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n9223 long CHtmlControlSite::XDocHostUIHandler::TranslateAcceleratorW(tagMSG *,_GUID const *,unsigned long)\n9224 long COleControlSite::XOleControlSite::TranslateAcceleratorW(tagMSG *,unsigned long)\n9225 long COleControl::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n9226 long COleServerDoc::XOleInPlaceActiveObject::TranslateAcceleratorW(tagMSG *)\n9227 long COleFrameHook::XOleInPlaceFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n9228 long COleControlContainer::XOleIPFrame::TranslateAcceleratorW(tagMSG *,unsigned short)\n9229 long COlePropertyPage::XPropertyPage::TranslateAcceleratorW(tagMSG *)\n9230 unsigned long COleControl::TranslateColor(unsigned long,HPALETTE__ *)\n9231 long CBrowserControlSite::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9232 long CDHtmlDialog::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9233 long CHtmlControlSite::XDocHostUIHandler::TranslateUrl(unsigned long,wchar_t *,wchar_t * *)\n9234 int CDC::TransparentBlt(int,int,int,int,CDC *,int,int,int,int,unsigned int)\n9235 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t)\n9236 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(wchar_t const *)\n9237 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Trim(void)\n9238 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char)\n9239 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(char const *)\n9240 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::Trim(void)\n9241 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t)\n9242 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(wchar_t const *)\n9243 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimLeft(void)\n9244 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char)\n9245 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(char const *)\n9246 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimLeft(void)\n9247 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t)\n9248 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(wchar_t const *)\n9249 ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > > & ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::TrimRight(void)\n9250 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char)\n9251 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(char const *)\n9252 ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > > & ATL::CStringT<char,StrTraitMFC_DLL<char,ATL::ChTraitsCRT<char> > >::TrimRight(void)\n9253 void ATL::CSimpleStringT<wchar_t,1>::Truncate(int)\n9254 void ATL::CSimpleStringT<char,1>::Truncate(int)\n9255 long CDocObjectServer::XOleDocumentView::UIActivate(int)\n9256 void COccManager::UIActivateControl(CWnd *)\n9257 long COleControl::XOleInPlaceObject::UIDeactivate(void)\n9258 long COleServerDoc::XOleInPlaceObject::UIDeactivate(void)\n9259 void COccManager::UIDeactivateIfNecessary(CWnd *,CWnd *)\n9260 void COleSafeArray::UnaccessData(void)\n9261 long CDHtmlElementEventSink::UnAdvise(IUnknown *,_GUID const &)\n9262 long CConnectionPoint::XConnPt::Unadvise(unsigned long)\n9263 long CDocObjectServer::XOleObject::Unadvise(unsigned long)\n9264 long COleControl::XOleObject::Unadvise(unsigned long)\n9265 long COleServerDoc::XOleObject::Unadvise(unsigned long)\n9266 long COleServerItem::XOleObject::Unadvise(unsigned long)\n9267 void CRecordset::UnbindFieldsForUpdate(void)\n9268 long COleControl::XOleCache::Uncache(unsigned long)\n9269 int CEdit::Undo(void)\n9270 int CRichEditCtrl::Undo(void)\n9271 long COleControl::XViewObject::Unfreeze(unsigned long)\n9272 int CCriticalSection::Unlock(void)\n9273 int CEvent::Unlock(void)\n9274 int CMultiLock::Unlock(long,long *)\n9275 int CMultiLock::Unlock(void)\n9276 int CMutex::Unlock(void)\n9277 void COleSafeArray::Unlock(void)\n9278 int CSemaphore::Unlock(long,long *)\n9279 int CSemaphore::Unlock(void)\n9280 int CSingleLock::Unlock(long,long *)\n9281 int CSingleLock::Unlock(void)\n9282 void CTypeLibCache::Unlock(void)\n9283 void ATL::CSimpleStringT<wchar_t,1>::UnlockBuffer(void)\n9284 void ATL::CSimpleStringT<char,1>::UnlockBuffer(void)\n9285 void CEditView::UnlockBuffer(void)const \n9286 void CFile::UnlockRange(unsigned __int64,unsigned __int64)\n9287 void CInternetFile::UnlockRange(unsigned __int64,unsigned __int64)\n9288 void CMemFile::UnlockRange(unsigned __int64,unsigned __int64)\n9289 void COleStreamFile::UnlockRange(unsigned __int64,unsigned __int64)\n9290 void CSocketFile::UnlockRange(unsigned __int64,unsigned __int64)\n9291 void CStdioFile::UnlockRange(unsigned __int64,unsigned __int64)\n9292 long CArchiveStream::UnlockRegion(union _ULARGE_INTEGER,union _ULARGE_INTEGER,unsigned long)\n9293 void CWnd::UnlockWindowUpdate(void)\n9294 int CGdiObject::UnrealizeObject(void)\n9295 int COleObjectFactory::Unregister(void)\n9296 int COleTemplateServer::Unregister(void)\n9297 int CWinApp::Unregister(void)\n9298 int COleObjectFactory::UnregisterAll(void)\n9299 void CDocManager::UnregisterShellFileTypes(void)\n9300 void CWinApp::UnregisterShellFileTypes(void)\n9301 int CControlSiteFactoryMgr::UnregisterSiteFactory(IControlSiteFactory *)\n9302 HWND__ * CWnd::UnsubclassWindow(void)\n9303 void CDaoRecordset::Update(void)\n9304 int CListCtrl::Update(int)\n9305 int CRecordset::Update(void)\n9306 void CToolTipCtrl::Update(void)\n9307 long CDocObjectServer::XOleObject::Update(void)\n9308 long COleControl::XOleObject::Update(void)\n9309 long COleServerDoc::XOleObject::Update(void)\n9310 long COleServerItem::XOleObject::Update(void)\n9311 void COleServerDoc::UpdateAllItems(COleServerItem *,long,CObject *,enum tagDVASPECT)\n9312 void CStatusBar::UpdateAllPanes(int,int)\n9313 void CDocument::UpdateAllViews(CView *,long,CObject *)\n9314 void CScrollView::UpdateBars(void)\n9315 int CMDIChildWnd::UpdateClientEdge(tagRECT *)\n9316 void CDC::UpdateColors(void)\n9317 long CDataSourceControl::UpdateControls(void)\n9318 long CDataSourceControl::UpdateCursor(void)\n9319 void CMemoryState::UpdateData(void)\n9320 int CWnd::UpdateData(int)\n9321 void CWnd::UpdateDialogControls(CCmdTarget *,int)\n9322 void CDocument::UpdateFrameCounts(void)\n9323 void CFrameWnd::UpdateFrameTitleForDocument(wchar_t const *)\n9324 int CRecordset::UpdateInsertDelete(void)\n9325 void COleClientItem::UpdateItemType(void)\n9326 int COleClientItem::UpdateLink(void)\n9327 long COleUILinkInfo::UpdateLink(unsigned long,int,int)\n9328 void CRecentFileList::UpdateMenu(CCmdUI *)\n9329 void COleDocument::UpdateModifiedFlag(void)\n9330 void CRichEditDoc::UpdateModifiedFlag(void)\n9331 void CRichEditDoc::UpdateObjectCache(void)\n9332 void CFileDialog::UpdateOFNFromShellDialog(void)\n9333 void CWinApp::UpdatePrinterSelection(int)\n9334 int COleObjectFactory::UpdateRegistry(int)\n9335 void COleObjectFactory::UpdateRegistry(wchar_t const *)\n9336 void COleTemplateServer::UpdateRegistry(enum OLE_APPTYPE,wchar_t const * *,wchar_t const * *,int)\n9337 int COleObjectFactory::UpdateRegistryAll(int)\n9338 void CDockContext::UpdateState(int *,int)\n9339 void CToolTipCtrl::UpdateTipText(unsigned int,CWnd *,unsigned int)\n9340 void CToolTipCtrl::UpdateTipText(wchar_t const *,CWnd *,unsigned int)\n9341 long CBrowserControlSite::UpdateUI(void)\n9342 long CDHtmlDialog::UpdateUI(void)\n9343 long CHtmlControlSite::XDocHostUIHandler::UpdateUI(void)\n9344 void COleServerDoc::UpdateUsingHostObj(unsigned int,CCmdUI *)\n9345 void COleLinkingDoc::UpdateVisibleLock(int,int)\n9346 void CWnd::UpdateWindow(void)\n9347 void CWnd::ValidateRect(tagRECT const *)\n9348 void CWnd::ValidateRgn(CRgn *)\n9349 void CDatabase::VerifyConnect(void)\n9350 unsigned long CRecordset::VerifyCursorSupport(void)\n9351 void CRecordset::VerifyDriverBehavior(void)\n9352 int COleObjectFactory::VerifyLicenseKey(wchar_t *)\n9353 int COleObjectFactory::VerifyUserLicense(void)\n9354 int CListBox::VKeyToItem(unsigned int,unsigned int)\n9355 int CWnd::WalkPreTranslateTree(HWND__ *,tagMSG *)\n9356 int CDC::WidenPath(void)\n9357 int COleControl::WillAmbientsBeValidDuringLoad(void)\n9358 CWnd * CWnd::WindowFromPoint(tagPOINT)\n9359 long CControlBar::WindowProc(unsigned int,unsigned int,long)\n9360 long COleControl::WindowProc(unsigned int,unsigned int,long)\n9361 long COlePropertyPage::WindowProc(unsigned int,unsigned int,long)\n9362 long CParkingWnd::WindowProc(unsigned int,unsigned int,long)\n9363 long CReBar::WindowProc(unsigned int,unsigned int,long)\n9364 long CReflectorWnd::WindowProc(unsigned int,unsigned int,long)\n9365 long CWnd::WindowProc(unsigned int,unsigned int,long)\n9366 void CWinApp::WinHelpInternal(unsigned long,unsigned int)\n9367 void CWnd::WinHelpInternal(unsigned long,unsigned int)\n9368 void CWinApp::WinHelpW(unsigned long,unsigned int)\n9369 void CWnd::WinHelpW(unsigned long,unsigned int)\n9370 CWnd const CWnd::wndBottom\n9371 CWnd const CWnd::wndNoTopMost\n9372 CWnd const CWnd::wndTop\n9373 CWnd const CWnd::wndTopMost\n9374 void CRichEditView::WrapChanged(void)\n9375 int CToolBar::WrapToolBar(_TBBUTTON *,int,int)\n9376 void CArchive::Write(void const *,unsigned int)\n9377 long CArchiveStream::Write(void const *,unsigned long,unsigned long *)\n9378 void CFile::Write(void const *,unsigned int)\n9379 void CGopherFile::Write(void const *,unsigned int)\n9380 int CImageList::Write(CArchive *)\n9381 void CInternetFile::Write(void const *,unsigned int)\n9382 void CMemFile::Write(void const *,unsigned int)\n9383 void COleStreamFile::Write(void const *,unsigned int)\n9384 void CSocketFile::Write(void const *,unsigned int)\n9385 void CStdioFile::Write(void const *,unsigned int)\n9386 void CArchive::WriteClass(CRuntimeconst *)\n9387 void CArchive::WriteCount(unsigned long)\n9388 void COleClientItem::WriteItem(CArchive &)\n9389 void COleClientItem::WriteItemCompound(CArchive &)\n9390 void COleClientItem::WriteItemFlat(CArchive &)\n9391 void CRecentFileList::WriteList(void)\n9392 int CPropertySection::WriteNameDictToStream(IStream *)\n9393 void CArchive::WriteObject(CObject const *)\n9394 int CWinApp::WriteProfileBinary(wchar_t const *,wchar_t const *,unsigned char *,unsigned int)\n9395 int CWinApp::WriteProfileInt(wchar_t const *,wchar_t const *,int)\n9396 int CWinApp::WriteProfileStringW(wchar_t const *,wchar_t const *,wchar_t const *)\n9397 void CArchive::WriteString(wchar_t const *)\n9398 void CGopherFile::WriteString(wchar_t const *)\n9399 void CInternetFile::WriteString(wchar_t const *)\n9400 void CStdioFile::WriteString(wchar_t const *)\n9401 void CEditView::WriteToArchive(CArchive &)\n9402 int CProperty::WriteToStream(IStream *)\n9403 int CPropertySection::WriteToStream(IStream *)\n9404 int CPropertySet::WriteToStream(IStream *)\n9405 void AfxSetPerUserRegistration(int)\n9406 int AfxGetPerUserRegistration(void)\n"
  },
  {
    "path": "Bin/i386/symsrv.yes",
    "content": " "
  },
  {
    "path": "Doc/build.md",
    "content": "Under construction. Welcome to PR.\n"
  },
  {
    "path": "LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright (c) 2021 RapidOCR Authors. All rights reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "Project/BootVid/Source/bootvid.cpp",
    "content": "extern \"C\"\n{\n#include <wdm.h>\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath);\n}\n\n#ifdef ALLOC_PRAGMA\n#pragma alloc_text(INIT, DriverEntry)\n#endif\n\nNTSTATUS DllInitialize( IN PUNICODE_STRING pus )\n{\n    DbgPrint(\"SAMPLE: DllInitialize(%S)\\n\", pus->Buffer );\n    return STATUS_SUCCESS;\n}\n\nNTSTATUS DllUnload( )\n{\n    DbgPrint(\"SAMPLE: DllUnload\\n\");\n    return STATUS_SUCCESS;\n}\n\nextern \"C\" __declspec(dllexport) int VidResetDisplay(int)\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) int VidSetScrollRegion(int,int,int,int)\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) int VidDisplayString(char* pStr)\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) int VidInitialize(int mode)\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) int VidCleanUp()\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) int VidSetTextColor(int NewTextColor)\n{\n\treturn 0;\n}\nextern \"C\" __declspec(dllexport) void VidSolidColorFill(int x,int y,int x1,int y1,int TextColor)\n{    \n\treturn ;\n}\nextern \"C\" __declspec(dllexport) void  VidDisplayStringXY(char* pStr,int x,int y,int TextColor)\n{    \n    return ;\n}\n\nextern \"C\" __declspec(dllexport) void  VidBitBlt(char* colorbuf,int x,int y)\n{    \n\treturn ;\n}\n\nextern \"C\" __declspec(dllexport) int  VidBufferToScreenBlt(char* buffer,int x,int y,int width,int height,int copymode)\n{    \n\treturn 0;\n}\n\nextern \"C\" __declspec(dllexport) int  VidScreenToBufferBlt(char* buffer,int x,int y,int width,int heigh,int bitcount)\n{\n\treturn 0;\n}\n// The DLL must have an entry point, but it is never called.\n//\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)\n{\n    return STATUS_SUCCESS;\n}\n"
  },
  {
    "path": "Project/BootVid/Source/bootvid.def",
    "content": ";\n; DEF file for sample kernel-mode DLL.\n;\n\nNAME bootvid.dll\n\nEXPORTS\n    DllInitialize PRIVATE\n    DllUnload     PRIVATE\n    VidDisplayStringXY \n    VidDisplayString\n    VidSolidColorFill \n    VidBitBlt\n\tVidScreenToBufferBlt\n\tVidBufferToScreenBlt\n\tVidSetTextColor\n\tVidInitialize\n\tVidSetScrollRegion\n\tVidResetDisplay\n    VidCleanUp\n"
  },
  {
    "path": "Project/BootVid/Source/bootvid.h",
    "content": "#ifndef _BOOTVID_H_\n#define _BOOTVID_H_\n\nextern \"C\" DECLSPEC_IMPORT void VidSolidColorFill(int x,int y,int x1,int y1,int TextColor);\nextern \"C\" DECLSPEC_IMPORT void VidDisplayStringXY(char* pStr,int x,int y,int TextColor);\nextern \"C\" DECLSPEC_IMPORT void VidBitBlt(unsigned char* colorbuf,int x,int y);\nextern \"C\" DECLSPEC_IMPORT int VidScreenToBufferBlt(char* buffer,int x,int y,int width,int heigh,int linedistance);\nextern \"C\" DECLSPEC_IMPORT int VidBufferToScreenBlt(char* buffer,int x,int y,int width,int height,int neg_linedistance);\nextern \"C\" DECLSPEC_IMPORT int VidSetTextColor(int NewTextColor);\nextern \"C\" DECLSPEC_IMPORT int VidCleanUp();\nextern \"C\" DECLSPEC_IMPORT int VidInitialize(int mode);\nextern \"C\" DECLSPEC_IMPORT int VidDisplayString(char* pStr);\nextern \"C\" DECLSPEC_IMPORT int VidSetScrollRegion(int,int,int,int);\nextern \"C\" DECLSPEC_IMPORT int VidResetDisplay(int);\n\n#endif //_BOOTVID_H_\n"
  },
  {
    "path": "Project/BootVid/Source/bootvid.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"bootvid.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#include \"bootvid.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/BootVid/Source/bootvid.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser bootvid stub\"\n#define VER_ORIGINALFILENAME_STR    \"bootvid.dll\"\n#define VER_INTERNALNAME_STR\t \"bootvid.dll\"                                 \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/BootVid/Source/makefile",
    "content": "!IF 0\n\nCopyright (C) Microsoft Corporation, 1998 - 1998\n\nModule Name:\n\n    makefile.\n\n!ENDIF\n\n#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the components of Windows NT\n#\n!INCLUDE $(NTMAKEENV)\\makefile.def\n\n"
  },
  {
    "path": "Project/BootVid/Source/resource.h",
    "content": ""
  },
  {
    "path": "Project/BootVid/Source/sources",
    "content": "TARGETNAME=bootvid\nTARGETPATH=obj\nTARGETTYPE=EXPORT_DRIVER\n\n#TARGETLIBS= ... any libraries you need ...\n\n#INCLUDES= ... any include files you need ...\n\nSOURCES=bootvid.cpp \\\n        bootvid.rc\n        \nDLLDEF= bootvid.def\n"
  },
  {
    "path": "Project/BootVid/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/BootVid/WinXPDrv32/bootvid.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"bootvid\", \"bootvid.vcproj\", \"{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/BootVid/WinXPDrv32/bootvid.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"bootvid\"\n\tProjectGUID=\"{69B33E6E-91E3-43DC-80A7-20F0867F9ED5}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd  -WXP chk ../Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd  -WXP chk ../Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"bootvid.dll\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd  -WXP fre ../Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd  -WXP fre ../Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"bootvid.dll\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bootvid.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bootvid.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bootvid.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bootvid.def\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/BootVid/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Code/Source/CmdParser.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CmdParser.h\"\n\nNAME_SPACE_BEGIN\n\nCCmdParser::CCmdParser(void)\n{\n}\n\nCCmdParser::~CCmdParser(void)\n{\n}\n\nbool CCmdParser::InsertCmd(const CMD_CHAR*szCmd,CMDPROC pCmdProc,void*pUserData,const CMD_CHAR*pComment,const CMD_CHAR*pUsage)\n{\n\tCMD_CHAR szCmdBuff[256];\n\tCCmdMap::IT Iter;\n\tTStrCpy(szCmdBuff,szCmd);\n\tTStrLwr(szCmdBuff);\n\tIter = m_CmdMap.InsertUnique(szCmdBuff);\n\tif(Iter==m_CmdMap.End())\n\t\treturn false;\n\tIter->pCmdProc = pCmdProc;\n\tIter->pComment = pComment;\n\tIter->pUserData = pUserData;\n\tIter->pUsage = pUsage;\n\treturn true;\n}\n\nvoid CCmdParser::RemoveCmd(const CMD_CHAR*szCmd)\n{\n\tCCmdString Str(szCmd);\n\tStr.MakeLower();\n\tm_CmdMap.Remove(Str);\n}\n\nvoid CCmdParser::Reset()\n{\n\tm_CmdMap.Clear();\n}\n\nint CCmdParser::ParseCmd(CMD_CHAR*szCmd,CMD_CHAR*pszCmdParam[])\n{\n\tCMD_CHAR*pStr;\n\tint Length,ParamCount;\n\tLength = TStrLen(szCmd);\n\twhile(Length)\n\t{\n\t\tLength--;\n\t\tif(szCmd[Length]=='\\n')\n\t\t\tszCmd[Length]=0;\n\t}\n\tParamCount=1;\n\tpStr=szCmd;\n\tpszCmdParam[0] = pStr;\n\twhile(*pStr)\n\t{\n\t\tpStr = TStrChr(pStr,' ');\n\t\tif(pStr==NULL)\n\t\t\tbreak;\n\t\twhile(*pStr==' ')\n\t\t{\n\t\t\t*pStr=0;\n\t\t\tpStr++;\n\t\t}\n\t\tif(*pStr)\n\t\t{\n\t\t\tpszCmdParam[ParamCount]=pStr;\n\t\t\tParamCount++;\n\t\t}\n\t}\n\treturn ParamCount;\n}\n\nbool CCmdParser::RunCmd(const CMD_CHAR*szCmd,int*pResult)\n{\n\tCMD_CHAR CmdStr[MAX_CHARS_PER_LINE],*CmdParam[MAX_PARAM_PER_LINE];\n\tint Result,Length,ParamCount;\n\twhile(*szCmd==' '||*szCmd=='\\t')\n\t\tszCmd++;\n\tLength = TStrCpyLimit(CmdStr,szCmd,MAX_CHARS_PER_LINE);\n\tif(Length==0)\n\t\treturn false;\n\tParamCount = ParseCmd(CmdStr,CmdParam);\n\tCCmdMap::IT Iter=m_CmdMap.Find(CmdStr);\n\tif(Iter!=m_CmdMap.End())\n\t{\n\t\tResult = Iter->pCmdProc(ParamCount,CmdParam,szCmd,Iter->pUserData);\n\t\tif(pResult)\n\t\t\t*pResult = Result;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nvoid CCmdParser::RunCmdList(const CMD_CHAR*szCmd,CMD_CHAR SplitChar)\n{\n\tconst CMD_CHAR*pBegin,*pEnd;\n\tCMD_CHAR szCurCmd[512];\n\tpBegin = szCmd;\n\twhile(pBegin && *pBegin)\n\t{\n\t\twhile(*pBegin==SplitChar)\n\t\t\tpBegin++;\n\t\tpEnd = TStrChr(pBegin,SplitChar);\n\t\tif(pEnd)\n\t\t{\n\t\t\tTStrCpyLimit(szCurCmd,pBegin,MIN((int)(pEnd-pBegin),512));\n\t\t\tpBegin = pEnd;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpyLimit(szCurCmd,pBegin,512);\n\t\t\tpBegin = NULL;\n\t\t}\t\t\n\t\tRunCmd(szCurCmd);\n\t}\n}\n\nbool CCmdParser::CmpCmd(const CMD_CHAR*szCmd1,const CMD_CHAR*szCmd2)\n{\n\tCMD_CHAR CmdStr1[MAX_CHARS_PER_LINE],*CmdParam1[MAX_PARAM_PER_LINE];\n\tCMD_CHAR CmdStr2[MAX_CHARS_PER_LINE],*CmdParam2[MAX_PARAM_PER_LINE];\n\tint ParamCount1,ParamCount2;\n\tTStrCpyLimit(CmdStr1,szCmd1,MAX_CHARS_PER_LINE);\n\tTStrCpyLimit(CmdStr2,szCmd2,MAX_CHARS_PER_LINE);\n\tParamCount1 = ParseCmd(CmdStr1,CmdParam1);\n\tParamCount2 = ParseCmd(CmdStr2,CmdParam2);\n\tif(ParamCount1!=ParamCount2)\n\t\treturn false;\n\tfor(int n=0;n<ParamCount1;n++)\n\t{\n\t\tif(TStrCmp(CmdParam1[1],CmdParam1[2]))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/CmdParser.h",
    "content": "#ifndef _CMD_PARSER_H_\n#define _CMD_PARSER_H_\n\n#include \"TStrMem.h\"\n\nNAME_SPACE_BEGIN\n\ntypedef WCHAR CMD_CHAR;\ntypedef int(*CMDPROC)(int argc,CMD_CHAR*argv[],const CMD_CHAR* szCommandLine,void*pUserData);\ntypedef TString<CMD_CHAR,true>\t\t\tCCmdString;\n\nstruct COMMAND_ENTRY\n{\n\tconst CMD_CHAR*\tpComment;\n\tconst CMD_CHAR*\tpUsage;\n\tCMDPROC\t\tpCmdProc;\n\tvoid*\t\tpUserData;\n};\n\ntypedef TMap<CCmdString,COMMAND_ENTRY>\tCCmdMap;\n#define\tMAX_CHARS_PER_LINE\t\t\t\t256\n#define\tMAX_PARAM_PER_LINE\t\t\t\t32\n\nclass CCmdParser\n{\npublic:\n\tCCmdParser(void);\n\t ~CCmdParser(void);\npublic:\n\tvirtual void PrintString(const CMD_CHAR* pString){};\npublic:\n\tCCmdMap\t\tm_CmdMap;\npublic:\n\tvirtual\tvoid\tReset();\n\tvirtual\tbool\tInsertCmd(const CMD_CHAR*szCmd,CMDPROC pCmdProc,void*pUserData,const CMD_CHAR*pComment,const CMD_CHAR*pUsage);\n\tvirtual\tvoid\tRemoveCmd(const CMD_CHAR*szCmd);\n\tint\t\tParseCmd(CMD_CHAR*szCmd,CMD_CHAR*pszCmdParam[]);\n\tbool\tRunCmd(const CMD_CHAR*szCmd,int*pResult = NULL);\n\tvoid\tRunCmdList(const CMD_CHAR*szCmd,CMD_CHAR SplitChar=';');\n\tbool\tCmpCmd(const CMD_CHAR*szCmd1,const CMD_CHAR*szCmd2);\n};\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/Code.h",
    "content": "#ifndef _CODE_H_\n#define _CODE_H_\n\n#include \"CodeConfig.h\"\n#include \"CodeDepInc.h\"\n#include \"Define.h\"\n\n#include \"NewAlloc.h\"\n\n#ifdef  CODE_DEBUG_ALLOC\n\n#include \"DebugNewAlloc.h\"\n\n#define new\t\tnew(__FILE__,__LINE__)\n\n#endif\n\n#include \"alt/alt.hpp\"\n#include \"StrMem.h\"\n#include \"TStrMem.h\"\n#include \"Maths.h\"\n#include \"SysDep.h\"\n#include \"Compress.h\"\n#include \"CmdParser.h\"\n#include \"TXTFile.h\"\n#include \"LogFile.h\"\n#include \"INIFile.h\"\n#include \"PolyFS.h\"\n#include \"Heap.h\"\n#include \"OptionValue.h\"\n#include \"Float2String.h\"\n#include \"LangLib.h\"\n#include \"Crc.h\"\n\n#ifdef CODE_OS_WIN\n#include \"WinReg.h\"\n#include \"HttpDownload.h\"\n#include \"HttpUpload.h\"\n#endif\n\n#ifdef CODE_OS_NT_DRV\n#include \"NTDrvRuntime.h\"\n#endif\n\n#ifdef CODE_USE_NAME_SPACE\nusing namespace code;\n#endif\n\n#endif//_CODE_H_\n\n"
  },
  {
    "path": "Project/Code/Source/CodeConfig.h",
    "content": "#ifndef _CODE_CONFIG_H_\n#define _CODE_CONFIG_H_\n\n//ϵͳѡ\n//CODE_OS_WIN\t\tWindowӦó\n//CODE_OS_NT_DRV\tWindow NT\n//CODE_OS_UNIX\t\tUNIX\n\n#define _CRT_SECURE_NO_WARNINGS //VC8ȫ⾯\n\n#ifdef\tWIN32\n#ifndef CODE_OS_NT_DRV\n#define CODE_OS_WIN\n#endif\n#else\t//WIN32\n#ifndef CODE_OS_CATOS\n#define CODE_OS_UNIX\n#endif\n#endif\n\n#define CODE_INT_BYTES\t\t4\n\n#ifndef CODE_OS_WIN\n#ifndef CODE_OS_NT_DRV\n///////////////////////////////////////////\n//ֽ\n#define CODE_BIG_ENDIAN\n///////////////////////////////////////////\n\n///////////////////////////////////////////\n//Bus\n#define CODE_BUS_ALIGN\n\n///////////////////////////////////////////\n//ڶĽṹԶָֽڶ\n//#define CODE_ST_PACK\n///////////////////////////////////////////\n#endif //not define CODE_OS_NT_DRV\n#endif //not define CODE_OS_WIN\n\n///////////////////////////////////////////\n//ɱ\n//#define CODE_VA_DEFINE\n\n///////////////////////////////////////////\n//UNIXǷʹ߳غ\n//#define CODE_UNIX_THREAD\n///////////////////////////////////////////\n\n///////////////////////////////////////////\n//ڴй©\n//#define CODE_DEBUG_ALLOC\n///////////////////////////////////////////\n\n///////////////////////////////////////////\n//ڴ\n//#define CODE_ALLOC_OVERLOAD\n///////////////////////////////////////////\n\n///////////////////////////////////////////\n//ʹCFixedHeapڴ\n//#define CODE_ALLOC_USER_HEAP\t\t\t\t\t30*0x100000\n//#define CODE_ALLOC_USER_HEAP_FREE_CHECK\t\t\t//ͷڴʱڴ߽־Ƿڴ\n//#define CODE_ALLOC_USER_HEAP_OVERFLOW_OUTPUT\n//#define CODE_ALLOC_USER_HEAP_DEBUG_BREAK\n///////////////////////////////////////////\n\n////////////////////////////////////////////\n//#define CODE_USE_NAME_SPACE\n//ʹcodeֿռ\n////////////////////////////////////////////\n\n///////////////////////////////////////////\n//ϵ don't modify\n///////////////////////////////////////////\n#ifdef\tCODE_USE_NAME_SPACE\n#define NAME_SPACE\t\t\t\tcode\n#define NAME_SPACE_BEGIN\t\t\tnamespace\tNAME_SPACE{\n#define NAME_SPACE_END\t\t\t\t}\n#else\n#define NAME_SPACE\n#define NAME_SPACE_BEGIN\n#define NAME_SPACE_END\n#endif\n\n#ifdef\tCODE_ALLOC_USER_HEAP\n#define CODE_ALLOC_OVERLOAD\n#endif\n\n#ifndef CODE_VA_DEFINE\n#ifdef  CODE_OS_NT_DRV\n#define CODE_VA_DEFINE\n#endif\n#endif\n\n///////////////////////////////////////////\n//ϵ\n///////////////////////////////////////////\n\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/CodeDepInc.h",
    "content": "#ifndef _CODE_DEPENDENT_INCLUDE_H_\n#define _CODE_DEPENDENT_INCLUDE_H_\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <memory.h>\n\n////////////////////////////////////////////////\n//Windows Application<Start>\n////////////////////////////////////////////////\n#ifdef\tCODE_OS_WIN\n\n#include <windows.h>\n#define CODE_OS_DEFINED\n\n#endif//CODE_OS_WIN\n////////////////////////////////////////////////\n//Windows Application<End>\n////////////////////////////////////////////////\n\n////////////////////////////////////////////////\n//Windows NT Driver<Start>\n////////////////////////////////////////////////\n#ifdef\tCODE_OS_NT_DRV\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n#include <NTDDK.h>\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath);\n#ifdef __cplusplus\n}\n#endif\n#define CODE_OS_DEFINED\n#endif//CODE_OS_NT_DRV\n////////////////////////////////////////////////\n//Windows Driver<End>\n////////////////////////////////////////////////\n\n////////////////////////////////////////////////\n//UNIX Application<Start>\n////////////////////////////////////////////////\n#ifdef\tCODE_OS_UNIX\n#include <dirent.h>\n#include <stdarg.h>\n#include <errno.h>\n#include <sys/types.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <pthread.h>\n#include <wchar.h>\n#include <unistd.h>\n#define CODE_OS_DEFINED\n#endif//CODE_OS_UNIX\n////////////////////////////////////////////////\n//UNIX Application<End>\n////////////////////////////////////////////////\n#ifdef  CODE_OS_CATOS\n#define CODE_OS_DEFINED\n#endif\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/CodeTest.cpp",
    "content": "#include \"stdafx.h\"\n#include <conio.h>\n#include <stdio.h>\n#include <map>\n#include <string>\n#include <list>\n\nusing namespace std;\nstruct x_char_traits : public char_traits<char>\n{\n\tstatic int __cdecl compare(const char *_First1, const char *_First2,size_t _Count)\n\t{\t\n\t\treturn (::memicmp(_First1, _First2, _Count));\n\t}\n};\n\ntypedef basic_string<char,x_char_traits > istring;\n\n\ntypedef map<string,size_t> MAPSTR;\ntypedef list<string>LISTSTR;\ntypedef map<istring,MAPSTR> MAPFILE2ID;\ntypedef map<size_t,string> MAPID2STR;\nvoid SaveFile(const char* filename,MAPFILE2ID& File2IDMap);\nvoid Tr(MAPFILE2ID& File2IDMap);\nvoid LoadFile(const char* filename,MAPFILE2ID& File2IDMap);\nvoid help(char* Name)\n{\n\tchar* p=strrchr(Name,'\\\\');\n\tif(p==NULL)\n\t\tp=Name;\n\tfprintf(stderr,\"usage: %s filename\\n\\n\");\n}\n\nmap<int,string> k1;\n\nint print3dnow(int argc, char* argv[])\n{\n\n\n\t\tmap<int,string> k1;\n\tk1[0x90]=\"PFCMPGE\";\t\n\tk1[0x94]=\"PFMIN\";\t\n\tk1[0x96]=\"PFRCP\";\t\n\tk1[0x97]=\"PFRSQRT\";\t\n\tk1[0xa0]=\"PFCMPGT\";\t\n\tk1[0xa4]=\"PFMAX\";\t\n\tk1[0xa6]=\"PFRCPIT1\";\t\n\tk1[0xa7]=\"PFRSQIT1\";\n\n\tk1[0xb0]=\"PFCMPEQ\";\t\n\tk1[0xb4]=\"PFMUL\";\t\n\tk1[0xb6]=\"PFRCPIT2\";\t\n\tk1[0xb7]=\"PMULHRW\";\t\n\n\tk1[0x0c]=\"PI2FW\";\t\n\tk1[0x0d]=\"PI2FD\";\t\n\tk1[0x1c]=\"PF2IW\";\t\n\tk1[0x1d]=\"PF2ID\";\t\n\t\n\tk1[0x8a]=\"PFNACC\";\t\n\tk1[0x8e]=\"PFPNACC\";\t\n\n\tk1[0x9a]=\"PFSUB\";\t\n\tk1[0x9e]=\"PFADD\";\t\n\n\tk1[0xaa]=\"PFSUBR\";\t\n\tk1[0xae]=\"PFACC\";\t\n\tk1[0xbb]=\"PSWAPD\";\t\n\tk1[0xbf]=\"PAVGUSB\";\t\n\n\n\n\tfor(int i = 0 ;i<256;i++)\n\t{\n\t\tmap<int,string>::iterator findit = k1.find(i);\n\t\tif(findit!=k1.end())\n\t\t{\n\t\t\tprintf(\"{R_M, C_%s,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\\\"%s\\\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x%02x<<16)}, //0x%02x\\n\",findit->second.c_str(),findit->second.c_str(),i,i);\n\t\n\t\t}\n\t\telse\n\t\t\tprintf(\"{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x%02x\\n\",i);\n\t\tif((i%8)==7)\n\t\t\tprintf(\"\\n\");\n\t}\n\treturn 0;\n}\n\nint main(int argc, char* argv[])\n{\n\n\tfloat f1=123.876;\n\tdouble d2=123456.987;\n\tlong double d3=0.0098423;\n\tchar buffer[1024];\n\tsprintf(buffer,\"%f  %g   %e\\n\",f1,d2,d3);\n\tTSPrintf(buffer,\"%f  %g   %e\\n\",f1,d2,d3);\n\treturn 0;\n\tprint3dnow(argc,argv);\n\treturn 0;\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tif(TStrNCmp(p,\"DIS_OPCODE_T Group0x\",sizeof(\"DIS_OPCODE_T Group0x\")-1)==0)\n\t\t{\n\t\t\tp2=p+sizeof(\"DIS_OPCODE_T Group0x\")-1;\n\t\t\tp3=p2;\n\t\t\twhile((*p2>='0' && *p2 <='9')||(*p2>='A'&&*p2<='F') || (*p2>='a'&&*p2<='f'))\n\t\t\t\tp2++;\n\t\t\ttmpchar=*p2;\n\t\t\t*p2=0;\n\t\t\tSHexStrToNum(p3,&num);\n\t\t\t*p2=tmpchar;\n\t\t\ti=0;\n\t\t}\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t*p1=0;\n\t\t\tp2=p1;\n\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\t\t\tprintf(\"%s|(%d<<16)}%s\\n\",p,i,p1+1);\n\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\n\n\nint mainQAZ(int argc, char* argv[])\n{\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t*p1=0;\n\t\t\tp2=p1;\n\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\t\t\tprintf(\"%s|C_GRP2_GROUP_TYPE|(%d<<16)}%s\\n\",p,i,p1+1);\n\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\n\n\n\nint mainrt(int argc, char* argv[])\n{\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tif(TStrNCmp(p,\"DIS_OPCODE_T Group0x\",sizeof(\"DIS_OPCODE_T Group0x\")-1)==0)\n\t\t{\n\t\t\tp2=p+sizeof(\"DIS_OPCODE_T Group0x\")-1;\n\t\t\tp3=p2;\n\t\t\twhile((*p2>='0' && *p2 <='9')||(*p2>='A'&&*p2<='F') || (*p2>='a'&&*p2<='f'))\n\t\t\t\tp2++;\n\t\t\ttmpchar=*p2;\n\t\t\t*p2=0;\n\t\t\tSHexStrToNum(p3,&num);\n\t\t\t*p2=tmpchar;\n\t\t\ti=0;\n\t\t}\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t*p1=0;\n\t\t\tp2=p1;\n\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\t\t\tprintf(\"%s,0x%02x,1}%s\\n\",p,num&0xff,p1+1);\n\t\t\t\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\n\nint mainiuiui(int argc, char* argv[])\n{\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t*p1=0;\n\t\t\tp2=p1;\n\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\n\t\t\tprintf(\"%s,0x%02x380f,3}%s\\n\",p,i,p1+1);\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\n\nint main23k(int argc, char* argv[])\n{\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tif(TStrNCmp(p,\"DIS_OPCODE_T Group0x\",sizeof(\"DIS_OPCODE_T Group0x\")-1)==0)\n\t\t{\n\t\t\tp2=p+sizeof(\"DIS_OPCODE_T Group0x\")-1;\n\t\t\tp3=p2;\n\t\t\twhile((*p2>='0' && *p2 <='9')||(*p2>='A'&&*p2<='F') || (*p2>='a'&&*p2<='f'))\n\t\t\t\tp2++;\n\t\t\ttmpchar=*p2;\n\t\t\t*p2=0;\n\t\t\tSHexStrToNum(p3,&num);\n\t\t\t*p2=tmpchar;\n\t\t\ti=0;\n\t\t}\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t*p1=0;\n\t\t\tp2=p1;\n\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\n\t\t\tprintf(\"%s,0x%02x%02x,2}%s\\n\",p,num&0xff,(num>>8)&0xff,p1+1);\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\n\nint mainopop(int argc, char* argv[])\n{\n\tbool bOk;\n\tCTXTFile TxtFile;\n\tchar* p;\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(\"c:\\\\1.txt\");\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tchar*p1,*p2,*p4,*p3;\n\tint i=0;\n\tint num;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tif(TStrNCmp(p,\"DIS_OPCODE_T Group0x\",sizeof(\"DIS_OPCODE_T Group0x\")-1)==0)\n\t\t{\n\t\t\tp2=p+sizeof(\"DIS_OPCODE_T Group0x\")-1;\n\t\t\tp3=p2;\n\t\t\twhile((*p2>='0' && *p2 <='9')||(*p2>='A'&&*p2<='F') || (*p2>='a'&&*p2<='f'))\n\t\t\t\tp2++;\n\t\t\ttmpchar=*p2;\n\t\t\t*p2=0;\n\t\t\tSHexStrToNum(p3,&num);\n\t\t\t*p2=tmpchar;\n\t\t\ti=0;\n\t\t}\n\t\tp1=TStrChr(p,'}');\n\t\tif(p1==NULL)\n\t\t\tprintf(\"%s\\n\",p);\n\t\telse\n\t\t{\t\n\t\t\tp3=p1+1;\n\t\t\twhile(*p3==' '||*p3=='\\t' )p3++;\n\t\t\tif(*p3==';')\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tp2 = TStrStr(p,\"C_NULL\");\n\t\t\tif(p2)\n\t\t\t{\n\t\t\t\tprintf(\"%s\\n\",p);\n\t\t\t\ti++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t\t*p1=0;\n\t\t\t\tp2=p1;\n\t\t\t\tp2--;\n\t\t\twhile(*p2==' '|| *p2=='\\t')p2--;\n\t\t\tif(*p2==',')\n\t\t\t\t*p2=' ';\n\t\t\tswitch(i%4)\n\t\t\t{\n\t\t\tcase 0:\n\t\t\t\tprintf(\"%s,0x%02x%02x,2}%s\\n\",p,num&0xff,(num>>8)&0xff,p1+1);\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tprintf(\"%s,0x%02x%02x66,3}%s\\n\",p,num&0xff,(num>>8)&0xff,p1+1);\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tprintf(\"%s,0x%02x%02xf2,3}%s\\n\",p,num&0xff,(num>>8)&0xff,p1+1);\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tprintf(\"%s,0x%02x%02xf3,3}%s\\n\",p,num&0xff,(num>>8)&0xff,p1+1);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti++;\n\t\t\t*p1='}';\n\t\t}\n\t}\n\treturn 0;\n}\nint main1111(int argc, char* argv[])\n{\n\tint FileID=0; \n\tCTXTFile TxtFile;\n\tbool bOk;\n\tFILE* fp;\n\tint j,i;\n\tsize_t m;\n\tchar filename[4096];\n\tchar* p,*p2,*p4,*p5;\n\tMAPSTR StrMap;\n\tLISTSTR StrList;\n\tMAPFILE2ID File2IDMap;\n\tpair<MAPFILE2ID::iterator,bool> pr1;\n\tpair<MAPSTR::iterator,bool> pr;\n\tunsigned char* p1,*p3;\n\tif(argc!=2)\n\t{\n\t\thelp(argv[0]);\n\t\treturn 1;\n\t}\n\tGetModulePath(filename);\n\tstrcat(filename,\"tmp.txt\");\n\tfp=fopen(filename,\"w\");\n\tTTXTStrList::IT BeginIT,EndIT;\n\tbOk=TxtFile.Open(argv[1]);\n\tif(bOk==false)\n\t\treturn 0;\n\tBeginIT=TxtFile.m_StrList.Begin();\n\tEndIT=TxtFile.m_StrList.End();\n\tchar tmpchar;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tp=*BeginIT;\n\t\tp4=p;\n\t\tfor(j=0;j!=2;p++)\n\t\t{\n\t\t\tif(*p==0)\n\t\t\t\tbreak;\n\t\t\tif(*p==':')\n\t\t\t\tj++;\t\t\t\n\t\t}\n\t\tif(*p==0)\n\t\t\tcontinue;\n\t\tp5=p-1;\n\t\twhile(*p5!='(')p5--;\n\t\t*p5=0;\n\t\tif(strncmp(p,\"#include\",8)==0)\n\t\t{\t\t\t\n\t\t\tcontinue;\n\t\t}\n\t\tp1=(unsigned char*)p;\n\t\t//for(;*p1;p1++)\n\t\t//{\n\t\t//\tif(*p1>0x7f)\n\t\t//\t\tbreak;\n\t\t//}\n\t\t//if(*p1==0)\n\t\t//{\t\t\t\n\t\t//\tcontinue;\n\t\t//}\n\t\twhile(*p)\n\t\t{\nlocal_001:\n\t\t\twhile(*p!='\"' && *p)p++;\n\t\t\tif(*p==0)\n\t\t\t\tbreak;\n\t\t\tp2=p+1;\nlocal_002:\n\t\t\twhile(*p2!='\"')p2++;\t\t\n\t\t\tp2--;\n\t\t\ti=0;\n\t\t\twhile(*p2=='\\\\')i++,p2--;\n\t\t\tif((i%2)==0)\t\t\t\n\t\t\t{\n\t\t\t\tp2=p2+i+2;\n\t\t\t\ttmpchar=*p2;\n\t\t\t\t*p2=0;\n\t\t\t\t//p3=(unsigned char*)p;\n\t\t\t\t//for(;*p3;p3++)\n\t\t\t\t//{\n\t\t\t\t//\tif(*p3>0x7f)\n\t\t\t\t//\t\tbreak;\n\t\t\t\t//}\n\t\t\t\t//if(*p3!=0)\n\t\t\t\t{\n\t\t\t\t\twhile((*p4==' ' || *p4=='\\t') && *p4)p4++;\n\t\t\t\t\tpr1=File2IDMap.insert(MAPFILE2ID::value_type(p4,MAPSTR()));\n\t\t\t\t\tpr = pr1.first->second.insert(MAPSTR::value_type(p,1));\n\t\t\t\t\tif(pr.second==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tpr.first->second++;\n\t\t\t\t\t\tm=pr.first->second;\n\t\t\t\t\t}\n\t\t\t\t\tpr = StrMap.insert(MAPSTR::value_type(p,0));\n\t\t\t\t\tif(pr.second==true)\n\t\t\t\t\t\tStrList.push_back(p);\n\t\t\t\t}\n\t\t\t\t*p2=tmpchar;\n\t\t\t\tp=p2;\n\t\t\t\tgoto local_001;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tp2=p2+i+2;\n\t\t\t\tgoto local_002;\n\t\t\t}\n\t\t}\t\t\t\n\t}\n\tLISTSTR::iterator BIT,EIT;\n\tBIT=StrList.begin();\n\tEIT=StrList.end();\n\tfor(;BIT!=EIT;BIT++)\n\t{\n\t\tp2=(char*)BIT->c_str();\n\t\tfputs(p2,fp);\n\t\tfprintf(fp,\"\\n\");\n\t}\n\tTxtFile.Close();\n\tfclose(fp);\n\tStrList.clear();\n\tStrMap.clear();\n\tSaveFile(\"dump.txt\",File2IDMap);\n\tTr(File2IDMap);\n\treturn 0;\n}\n\nvoid SaveFile(const char* filename,MAPFILE2ID& File2IDMap)\n{\n\tsize_t m;\n\tFILE*fp;\n\tchar FileName[8192];\n\tGetModulePath(FileName);\n\tstrcat(FileName,filename);\n\tfp=fopen(FileName,\"w+b\");\n\tMAPFILE2ID::iterator FBIT,FEIT;\n\tsize_t count=File2IDMap.size();\n\tfwrite(&count,1,sizeof(count),fp);\n\tMAPSTR::iterator StrBIT,StrEIT;\n\tFBIT=File2IDMap.begin();\n\tFEIT=File2IDMap.end();\n\tfor(;FBIT!=FEIT;FBIT++)\n\t{\n\t\tfputs(FBIT->first.c_str(),fp);\t\n\t\tcount=FBIT->second.size();\n\t\tfwrite(&count,1,sizeof(count),fp);\n\t\tStrBIT=FBIT->second.begin();\n\t\tStrEIT=FBIT->second.end();\n\t\tfor(;StrBIT!=StrEIT;StrBIT++)\n\t\t{\n\t\t\tm=StrBIT->second;\n\t\t\tfwrite(&m,1,sizeof(m),fp);\n\t\t\tfputs(StrBIT->first.c_str(),fp);\n\t\t}\n\t}\n\tfclose(fp);\n}\nvoid LoadFile(const char* filename,MAPFILE2ID& File2IDMap)\n{\n\t\n\tsize_t i,j,ii,jj,kk;\n\tFILE*fp;\n\tchar FileName[8192];\n\tGetModulePath(FileName);\n\tchar* p;\n\tpair<MAPFILE2ID::iterator,bool> pr1;\n\tstrcat(FileName,\"dump.txt\");\n\tfp=fopen(FileName,\"rb\");\n\ti=fread(&ii,1,sizeof(ii),fp);\n\tfor(i=0;i<ii;i++)\n\t{\n\t\tp=fgets(FileName,sizeof(FileName),fp);\n\t\tpr1 = File2IDMap.insert(MAPFILE2ID::value_type(p,MAPSTR()));\n\t\tfread(&jj,1,sizeof(jj),fp);\n\t\tfor(j=0;j<jj;j++)\n\t\t{\n\t\t\tfread(&kk,1,sizeof(kk),fp);\n\t\t\tp=fgets(FileName,sizeof(FileName),fp);\n\t\t\tpr1.first->second.insert(MAPSTR::value_type(p,kk));\n\t\t}\n\t}\n\tfclose(fp);\n}\ntypedef struct _POSINFO\n{\n\tunsigned char* pBuf;\n\tunsigned char* pEnd;\n\tsize_t nLen;\n\tbool bTr;\n}POSINFO,*PPOSINFO;\ntypedef list<POSINFO> LISTPOSINFO;\ntypedef list<unsigned char*> LISTDELETE;\nvoid Tr(MAPFILE2ID& File2IDMap)\n{\n\tchar ModulePath[4096];\n\tint ModulePathLen;\n\tMAPFILE2ID::iterator FBIT,FEIT;\n\tFBIT=File2IDMap.begin();\n\tconst char* filename;\n\tsize_t m,mm;\n\tchar loadbuf[200]=\"LoadString(\";\n\tFEIT=File2IDMap.end();\n\tMAPSTR::iterator BeginIT,EndIT;\n\tFILE* fp;\n\tMAPSTR mapstr;\n\tsize_t CurID=101;\n\tsize_t StringID;\n\tunsigned char* buf,*p2,*p8,*pa,*pb,*pc;\n\tpair<MAPSTR::iterator,bool> pr;\n\tLISTPOSINFO PosinfoList;\n\tPOSINFO  PosInfo;\n\tLISTDELETE DeleteList;\n\tLISTPOSINFO::iterator PosBeginIT,PosEndIT,OrgBeginIT;\n\tModulePathLen=GetModulePath(ModulePath);\n\tfor(;FBIT!=FEIT;FBIT++)\n\t{\t\t\n\t\tfilename=FBIT->first.c_str();\n\t\tp2=(unsigned char*)strrchr(filename,'\\\\');\n\t\tp2++;\n\t\tif(stricmp((char*)p2,\"washnote.cpp\")==0)\n\t\t\tcontinue;\n\t\tprintf(\"tr %s\\n\",filename);\t\t\n\t\tfp=fopen(filename,\"rb\");\n\t\tif(fp==NULL)\n\t\t\tcontinue;\n\t\tif(fseek(fp,0,SEEK_END)!=0)\n\t\t\tfprintf(stderr,\"error: fseek(\\\"%s\\\"\\n\",FBIT->first.c_str());\n\t\tlong len=ftell(fp);\n\t\tbuf=new unsigned char[len];\n\t\tfseek(fp,0,SEEK_SET);\n\t\tsize_t readlen=fread(buf,1,len,fp);\n\t\tif(readlen!=len)\n\t\t{\n\t\t\tfprintf(stderr,\"error: fread read bytes [%d],file full size [%d] \\\"%s\\\"\\n\",readlen,len,FBIT->first.c_str());\n\t\t\tlen=(long)readlen;\n\t\t}\n\t\tfclose(fp);\n\t\tBeginIT = FBIT->second.begin();\n\t\tEndIT=FBIT->second.end();\n\t\t/* ԭʼļݵб */\n\t\tPosinfoList.clear();\n\t\tPosInfo.pBuf=buf;\n\t\tPosInfo.nLen= len;\n\t\tPosInfo.bTr=false;\n\t\tPosInfo.pEnd=buf+len;\n\t\tPosinfoList.push_back(PosInfo);\n\t\tbool bInsert;\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tconst char* matchstr=BeginIT->first.c_str();\n\t\t\tpr=mapstr.insert(MAPSTR::value_type(matchstr,CurID));\n\t\t\tif(pr.second)\n\t\t\t{\n\t\t\t\tStringID=CurID;\n\t\t\t\tCurID++;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tStringID=pr.first->second;\n\t\t\t}\n\t\t\tint trlen = sprintf(loadbuf,\"LoadString(IDS_STRING_%d)\",StringID);\n\t\t\tp8=new unsigned char[trlen+1];\t\t\t\n\t\t\tstrcpy((char*)p8,loadbuf);\n\t\t\tDeleteList.push_back(p8);\n\t\t\tmm = BeginIT->second;\n\t\t\tchar* p5=(char*)BeginIT->first.c_str();\n\t\t\tint l= (int)BeginIT->first.length();\n\t\t\t\n\t\t\tPosBeginIT=PosinfoList.begin();\n\t\t\tPosEndIT=PosinfoList.end();\n\t\t\t\n\t\t\tfor(m=0;PosBeginIT!=PosinfoList.end();PosBeginIT++)\n\t\t\t{\n\t\t\t\tif(PosBeginIT->bTr)\n\t\t\t\t\tcontinue;\n\t\t\t\tchar* pk=(char*)PosBeginIT->pBuf;\n\t\t\t\tsize_t nk=PosBeginIT->nLen;\n\t\t\t\tp2=(unsigned char*)MemSearch(pk,(int)nk,p5,l);\n\t\t\t\tif(p2==NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tm++;\n\t\t\t\tif(m>mm)\n\t\t\t\t\tbreak;\n\t\t\t\tOrgBeginIT=PosBeginIT;\n\t\t\t\tif(p2==PosBeginIT->pBuf)  //ڴĿʼƥ䵽滻Ĵǰ\n\t\t\t\t{\n\t\t\t\t\tbInsert=(p2+l!=PosBeginIT->pEnd);//жǷΪ滻\n\t\t\t\t\tif(bInsert)\n\t\t\t\t\t{\n\t\t\t\t\t\tPosInfo.pBuf=p2+l;\n\t\t\t\t\t\tPosInfo.pEnd=PosBeginIT->pEnd;\n\t\t\t\t\t\tPosInfo.bTr=false;\n\t\t\t\t\t\tPosInfo.nLen=*(size_t*)&PosInfo.pEnd-*(size_t*)&PosInfo.pBuf;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\tPosBeginIT->pBuf=p8;\n\t\t\t\t\tPosBeginIT->nLen=trlen;\n\t\t\t\t\tPosBeginIT->pEnd=p8+trlen;\n\t\t\t\t\tPosBeginIT->bTr=true;\n\t\t\t\t\tif(bInsert)\n\t\t\t\t\t{\n\t\t\t\t\t\tpa=PosBeginIT->pBuf;\n\t\t\t\t\t\tPosBeginIT++;\n\t\t\t\t\t\tPosinfoList.insert(PosBeginIT,PosInfo);\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\t\t\n\t\t\t\t\tbInsert=(p2+l!=PosBeginIT->pEnd);\t\n\t\t\t\t\tunsigned char* pEnd;\n\t\t\t\t\tpEnd=PosBeginIT->pEnd;\n\t\t\t\t\tPosBeginIT->nLen=*(size_t*)&p2-*(size_t*)&PosBeginIT->pBuf;\n\t\t\t\t\tPosBeginIT->bTr=false;\n\t\t\t\t\tPosInfo.pBuf=p8;\n\t\t\t\t\tPosInfo.nLen=trlen;\n\t\t\t\t\tPosInfo.pEnd=p8+trlen;\n\t\t\t\t\tPosInfo.bTr=true;\t\t\t\t\t\n\t\t\t\t\tPosBeginIT++;\n\t\t\t\t\tPosinfoList.insert(PosBeginIT,PosInfo);\t\n\t\t\t\t\tPosBeginIT--;\n\t\t\t\t\tif(bInsert)\n\t\t\t\t\t{\n\t\t\t\t\t\tPosInfo.pBuf=p2+l;\n\t\t\t\t\t\tPosInfo.pEnd=pEnd;\n\t\t\t\t\t\tPosInfo.nLen=*(size_t*)&PosInfo.pEnd-*(size_t*)&PosInfo.pBuf;\n\t\t\t\t\t\tPosInfo.bTr=false;\n\t\t\t\t\t\tPosBeginIT++;\n\t\t\t\t\t\tPosinfoList.insert(PosBeginIT,PosInfo);\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\tOrgBeginIT->pEnd=OrgBeginIT->pBuf+OrgBeginIT->nLen;\n\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\tPosBeginIT = OrgBeginIT;\n\t\t\t\tif(m==mm)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\tPosBeginIT=PosinfoList.begin();\n\t\tPosEndIT=PosinfoList.end();\n\t\tfp=fopen(FBIT->first.c_str(),\"wb\");\n\t\tfor(m=0;PosBeginIT!=PosEndIT;PosBeginIT++)\n\t\t{\n\t\t\tfwrite(PosBeginIT->pBuf,1,PosBeginIT->nLen,fp);\n\t\t}\n\t\tfclose(fp);\n\t\tLISTDELETE::iterator DelBIT,DelEIT;// DeleteList;\n\t\tDelBIT = DeleteList.begin();\n\t\tDelEIT=DeleteList.end();\n\t\tfor(;DelBIT!=DelEIT;DelBIT++)\n\t\t{\n\t\t\tdelete []*DelBIT;\n\t\t}\n\t\tDeleteList.clear();\n\t}\n\t\n\tBeginIT=mapstr.begin();\n\tEndIT=mapstr.end();\n\tFILE* fp1;\n\tstrcat(ModulePath,\"strtab.rc\");\n\tfp=fopen(ModulePath,\"w\");\t\n\tfprintf(fp,\"STRINGTABLE\\nBEGIN\\n\");\n\tMAPID2STR Id2String;\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tId2String.insert(MAPID2STR::value_type(BeginIT->second,BeginIT->first.c_str()));\t\t\t\t\n\t}\t\n\tModulePath[ModulePathLen]=0;\n\tstrcat(ModulePath,\"stringtable.h\");\n\tfp1=fopen(ModulePath,\"w\");\n\tMAPID2STR::iterator ID2StrBIT,ID2StrEIT;\n\tID2StrBIT=Id2String.begin();\n\tID2StrEIT=Id2String.end();\n\tfor(m=0;ID2StrBIT!=ID2StrEIT;ID2StrBIT++,m++)\n\t{\t\t\n\t\tif(m==20)\n\t\t{\n\t\t\tfprintf(fp,\"END\\n\\nSTRINGTABLE\\nBEGIN\\n\");\n\t\t\tm=0;\n\t\t}\n\t\tfprintf(fp1,\"#define IDS_STRING_%d\\t\\t\\t\\t%s\\n\",ID2StrBIT->first,ID2StrBIT->second.c_str());\t\n\t\tfprintf(fp,\"\\tIDS_STRING_%d\\t\\t%s\\n\",ID2StrBIT->first,ID2StrBIT->second.c_str());\n\t}\n\tfprintf(fp,\"END\\n\");\n\tfclose(fp);\n\tfclose(fp1);\n}\n\n"
  },
  {
    "path": "Project/Code/Source/Compress.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Compress.h\"\n\nNAME_SPACE_BEGIN\ntypedef\tunsigned char\tBIT8;\ntypedef\tunsigned int\tBIT32;\n\nlong do_compress(void*in,long in_len,void*out,long*out_len,BIT8**work_mem)\n{\n\tBIT8 *ip,*op,*in_end,*ip_end,*ii,*m_pos,*end,*m;\n\tBIT32 m_off,m_len,dindex,t,tt;\n\n\tin_end = (BIT8*)in + in_len;\n\tip_end = (BIT8*)in + in_len - 13;\n\top = (BIT8*)out;\n\tip = (BIT8*)in;\n\tii = ip;\n\tip += 4;\n\tfor(;;)\n\t{\n\t\tdindex = ((0x21*(((((((BIT32)(ip[3])<<6)^ip[2])<<5)^ip[1])<<5)^ip[0]))>>5) & 0x3FFF;\n\t\tm_pos = work_mem [dindex];\n\t\tif( m_pos < in ||  (m_off = (BIT32)(ip-m_pos)) <= 0 || m_off > 0xBFFF)\n\t\t\tgoto literal;\n\t\tif(m_off <= 0x0800 || m_pos[3] == ip[3])\n\t\t\tgoto try_match;\n\t\tdindex = (dindex & 0x7FF ) ^ 0x201F;\n\t\tm_pos = work_mem[dindex];\n\t\tif(\tm_pos <in|| (m_off = (BIT32)(ip-m_pos)) <= 0 || m_off > 0xBFFF)\n\t\t\tgoto literal;\n\t\tif (m_off <= 0x0800 || m_pos[3] == ip[3])\n\t\t\tgoto try_match;\n\t\tgoto literal;\ntry_match:\n\t\tif(m_pos[0] == ip[0] && m_pos[1] == ip[1] && m_pos[2]==ip[2])\n\t\t\tgoto match;\nliteral:\n\t\twork_mem[dindex] = ip;\n\t\tif(++ip >= ip_end)\n\t\t\tbreak;\n\t\tcontinue;\nmatch:\n\t\twork_mem[dindex] = ip;\n\t\tif(ip - ii > 0)\n\t\t{\n\t\t\tt = (BIT32)(ip - ii);\n\t\t\tif (t <= 3)\n\t\t\t\top[-2] |= (BIT8)t;\n\t\t\telse if(t <= 18)\n\t\t\t\t*op++ = (BIT8)(t - 3);\n\t\t\telse\n\t\t\t{\n\t\t\t\ttt = t - 18;\n\t\t\t\t*op++ = 0;\n\t\t\t\twhile(tt > 255)\n\t\t\t\t{\n\t\t\t\t\ttt -= 255;\n\t\t\t\t\t*op++ = 0;\n\t\t\t\t}\n\t\t\t\t*op++ = (BIT8)tt;\n\t\t\t}\n\t\t\tdo *op++ = *ii++; while (--t > 0);\n\t\t}\n\t\tip += 3;\n\t\tif(\tm_pos[3] != *ip++ || m_pos[4] != *ip++ || m_pos[5] != *ip++ ||\n\t\t\tm_pos[6] != *ip++ || m_pos[7] != *ip++ || m_pos[8] != *ip++ )\n\t\t{\n\t\t\tm_len = (BIT32)(--ip - ii);\n\t\t\tif(m_off <= 0x0800 )\n\t\t\t{\n\t\t\t\t--m_off;\n\t\t\t\t*op++ = (BIT8)(((m_len - 1) << 5) | ((m_off & 7) << 2));\n\t\t\t\t*op++ = (BIT8)(m_off >> 3);\n\t\t\t}\n\t\t\telse\n\t\t\t\tif (m_off <= 0x4000 )\n\t\t\t\t{\n\t\t\t\t\tm_off--;\n\t\t\t\t\t*op++ = (BIT8)(32 | (m_len - 2));\n\t\t\t\t\tgoto m3_m4_offset;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tm_off -= 0x4000;\n\t\t\t\t\t*op++ = (BIT8)(16 | ((m_off & 0x4000) >> 11) | (m_len - 2));\n\t\t\t\t\tgoto m3_m4_offset;\n\t\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tend = in_end;\n\t\t\tm = m_pos + 9;\n\t\t\twhile (ip < end && *m == *ip)\n\t\t\t{\n\t\t\t\tm++;\n\t\t\t\tip++;\n\t\t\t}\n\t\t\tm_len = (BIT32)(ip - ii);\n\n\t\t\tif(m_off <= 0x4000)\n\t\t\t{\n\t\t\t\tm_off--;\n\t\t\t\tif (m_len <= 33)\n\t\t\t\t\t*op++ = (BIT8)(32 | (m_len - 2));\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tm_len -= 33;\n\t\t\t\t\t*op++=32;\n\t\t\t\t\tgoto m3_m4_len;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_off -= 0x4000;\n\t\t\t\tif(m_len <= 9)\n\t\t\t\t\t*op++ = (BIT8)(16|((m_off & 0x4000) >> 11) | (m_len - 2));\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tm_len -= 9;\n\t\t\t\t\t*op++ = (BIT8)(16 | ((m_off & 0x4000) >> 11));\nm3_m4_len:\n\t\t\t\t\twhile (m_len > 255)\n\t\t\t\t\t{\n\t\t\t\t\t\tm_len -= 255;\n\t\t\t\t\t\t*op++ = 0;\n\t\t\t\t\t}\n\t\t\t\t\t*op++ = (BIT8)m_len;\n\t\t\t\t}\n\t\t\t}\nm3_m4_offset:\n\t\t\t*op++ = (BIT8)((m_off & 63) << 2);\n\t\t\t*op++ = (BIT8)(m_off >> 6);\n\t\t}\n\t\tii = ip;\n\t\tif (ip >= ip_end)\n\t\t\tbreak;\n\t}\n\t*out_len = (long)(op - (BIT8*)out);\n\treturn (long) (in_end - ii);\n}\n\nlong Compress(void *in, long in_len,void *out)\n{\n\tlong out_len;\n    BIT8 *op,*ii;\n\tBIT32 t,tt;\n\tBIT8*work_mem[0x4000];\n    op = &((BIT8*)out)[4];\n    if (in_len <= 13)\n\t{\n\t\tt = in_len;\n\t}\n    else \n\t{\n\t\tt = do_compress ((BIT8*)in,in_len,op,&out_len,work_mem);\n\t\top += out_len;\n    }\n    if (t > 0)\n\t{\n\t\tii = (BIT8*)in + in_len - t;\n\t\tif (op == &((BIT8*)out)[4] && t <= 238)\n\t\t\t*op++ = (BIT8) ( 17 + t );\n\t\telse\n\t\t\tif (t <= 3)\n\t\t\t\top[-2] |= (BIT8)t ;\n\t\t\telse\n\t\t\t\tif (t <= 18)\n\t\t\t\t\t*op++ = (BIT8)(t-3);\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttt = t - 18;\n\t\t\t\t\t*op++ = 0;\n\t\t\t\t\twhile (tt > 255) \n\t\t\t\t\t{\n\t\t\t\t\t\ttt -= 255;\n\t\t\t\t\t\t*op++ = 0;\n\t\t\t\t\t}\n\t\t\t\t\t*op++ = (BIT8)tt;\n\t\t\t\t}\n\t\t\t\tdo *op++ = *ii++; while (--t > 0);\n    }\n    *op++ = 17;\n    *op++ = 0;\n    *op++ = 0;\n\t*(long*)out = in_len;\n    return (long)(op - (BIT8*)out);\n}\n\nlong Decompress(void *in, long in_len,void *out)\n{\n    BIT32 t;\n    BIT8 *op,*ip,*m_pos,*ip_end;\n    \n\tip_end = &((BIT8*)in)[4] + in_len;\n    op = (BIT8*)out;\n    ip = &((BIT8*)in)[4];\n    if(*ip > 17)\n\t{\n\t\tt = *ip++ - 17;\n\t\tif (t < 4)\n\t\t\tgoto match_next;\n\t\tdo *op++ = *ip++; while (--t > 0);\n\t\tgoto first_literal_run;\n    }\n    for(;;)\n\t{\n\t\tt = *ip++;\n\t\tif (t >= 16) goto match;\n\t\tif (t == 0)\n\t\t{\n\t\t\twhile (*ip == 0)\n\t\t\t{\n\t\t\t\tt += 255;\n\t\t\t\tip++;\n\t\t\t}\n\t\t\tt += 15 + *ip++;\n\t\t}\n\t\top[0]=ip[0];\n\t\top[1]=ip[1];\n\t\top[2]=ip[2];\n\t\top[3]=ip[3];\n\t\top += 4; ip += 4;\n\t\tif(--t > 0)\n\t\t{\n\t\t\tif (t >= 4)\n\t\t\t{\n\t\t\t\tdo\n\t\t\t\t{\n\t\t\t\t\top[0]=ip[0];\n\t\t\t\t\top[1]=ip[1];\n\t\t\t\t\top[2]=ip[2];\n\t\t\t\t\top[3]=ip[3];\n\t\t\t\t\top += 4; ip += 4; t -= 4;\n\t\t\t\t} while (t >= 4);\n\t\t\t\tif (t > 0) do *op++ = *ip++; while (--t > 0);\n\t\t\t}\n\t\t\telse\n\t\t\t\tdo *op++ = *ip++; while (--t > 0);\n\t\t}\nfirst_literal_run:\n\t\tt = *ip++;\n\t\tif (t >= 16)\n\t\t\tgoto match;\n\t\tm_pos = op - 0x0801;\n\t\tm_pos -= t >> 2;\n\t\tm_pos -= *ip++ << 2;\n\t\t*op++ = *m_pos++; \n\t\t*op++ = *m_pos++; \n\t\t*op++ = *m_pos;\n\t\tgoto match_done;\n\t\tfor(;;)\n\t\t{\nmatch:\n\t\tif (t >= 64)\n\t\t{\n\t\t\tm_pos = op - 1;\n\t\t\tm_pos -= (t >> 2) & 7;\n\t\t\tm_pos -= *ip++ << 3;\n\t\t\tt = (t >> 5) - 1;\n\t\t\tgoto copy_match;\n\t\t}\n\t\telse \n\t\t\tif (t >= 32)\n\t\t\t{\n\t\t\t\tt &= 31;\n\t\t\t\tif (t == 0)\t\n\t\t\t\t{\n\t\t\t\t\twhile (*ip == 0) \n\t\t\t\t\t{\n\t\t\t\t\t\tt += 255;\n\t\t\t\t\t\tip++;\n\t\t\t\t\t}\n\t\t\t\t\tt += 31 + *ip++;\n\t\t\t\t}\n\t\t\t\tm_pos = op - 1;\n\t\t\t\tm_pos -= (ip[0]+(ip[1]<<8)) >> 2;\n\t\t\t\tip += 2;\n\t\t\t}\n\t\t\telse\n\t\t\t\tif (t >= 16) \n\t\t\t\t{\n\t\t\t\t\tm_pos = op;\n\t\t\t\t\tm_pos -= (t & 8) << 11;\n\t\t\t\t\tt &= 7;\n\t\t\t\t\tif (t == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\twhile (*ip == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tt += 255;\n\t\t\t\t\t\t\tip++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tt += 7 + *ip++;\n\t\t\t\t\t}\n\t\t\t\t\tm_pos -= (ip[0]+(ip[1]<<8)) >> 2;\n\t\t\t\t\tip += 2;\n\t\t\t\t\tif (m_pos == op)\n\t\t\t\t\t\tgoto eof_found;\n\t\t\t\t\tm_pos -= 0x4000;\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tm_pos = op - 1;\n\t\t\t\t\tm_pos -= t >> 2;\n\t\t\t\t\tm_pos -= *ip++ << 2;\n\t\t\t\t\t*op++ = *m_pos++; *op++ = *m_pos;\n\t\t\t\t\tgoto match_done;\n\t\t\t\t}\n\t\t\t\tif (t >= 6 && (op - m_pos) >= 4) \n\t\t\t\t{\n\t\t\t\t\top[0]=m_pos[0];\n\t\t\t\t\top[1]=m_pos[1];\n\t\t\t\t\top[2]=m_pos[2];\n\t\t\t\t\top[3]=m_pos[3];\n\t\t\t\t\top += 4; m_pos += 4; t -= 2;\n\t\t\t\t\tdo\n\t\t\t\t\t{\n\t\t\t\t\t\top[0]=m_pos[0];\n\t\t\t\t\t\top[1]=m_pos[1];\n\t\t\t\t\t\top[2]=m_pos[2];\n\t\t\t\t\t\top[3]=m_pos[3];\n\t\t\t\t\t\top += 4; m_pos += 4; t -= 4;\n\t\t\t\t\t}while (t >= 4);\n\t\t\t\t\tif (t > 0)\n\t\t\t\t\t\tdo *op++ = *m_pos++; while (--t > 0);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\ncopy_match:\n\t\t\t\t*op++ = *m_pos++; *op++ = *m_pos++;\n\t\t\t\tdo *op++ = *m_pos++; while (--t > 0);\n\t\t\t\t}\nmatch_done:\n\t\t\t\tt = ip[-2] & 3;\n\t\t\t\tif (t == 0)\tbreak;\nmatch_next:\n\t\t\t\tdo *op++ = *ip++; while (--t > 0);\n\t\t\t\tt = *ip++;\n\t\t}\n   }\neof_found:\n   return (long)(op - (BIT8*)out);\n}\n\nlong GetDecompressLength(void *in)\n{\n\treturn *(long*)in;\n}\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/Compress.h",
    "content": "#ifndef _CODE_COMPRESS_H_\n#define _CODE_COMPRESS_H_\n\nNAME_SPACE_BEGIN\n\nlong Compress(void *in,long in_len,void *out);\nlong Decompress(void *in,long in_len,void*out);\nlong GetDecompressLength(void *in);\n\nNAME_SPACE_END\n#endif\n"
  },
  {
    "path": "Project/Code/Source/Crc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Crc.h\"\nconst unsigned int crc32_table[256]=\n{\n    0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, \n    0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, \n    0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, \n    0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, \n    0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, \n    0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, \n    0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, \n    0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, \n    0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, \n    0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, \n    0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, \n    0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, \n    0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, \n    0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, \n    0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, \n    0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, \n    0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, \n    0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, \n    0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, \n    0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, \n    0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, \n    0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, \n    0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, \n    0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, \n    0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, \n    0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, \n    0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, \n    0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, \n    0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, \n    0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, \n    0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, \n    0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, \n    0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, \n    0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, \n    0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, \n    0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, \n    0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, \n    0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, \n    0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, \n    0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, \n    0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, \n    0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, \n    0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, \n    0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, \n    0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, \n    0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, \n    0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, \n    0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, \n    0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, \n    0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, \n    0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, \n    0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, \n    0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, \n    0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, \n    0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, \n    0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, \n    0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, \n    0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, \n    0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, \n    0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, \n    0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, \n    0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, \n    0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, \n    0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D, \n} ;\n\nconst unsigned int  crc16_table[256] = {\n\t0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,\n\t0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,\n\t0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,\n\t0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,\n\t0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,\n\t0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,\n\t0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,\n\t0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,\n\t0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,\n\t0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,\n\t0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,\n\t0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,\n\t0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,\n\t0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,\n\t0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,\n\t0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,\n\t0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,\n\t0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,\n\t0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,\n\t0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,\n\t0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,\n\t0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,\n\t0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,\n\t0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,\n\t0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,\n\t0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,\n\t0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,\n\t0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,\n\t0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,\n\t0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,\n\t0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,\n\t0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040\n};\n\n\nconst unsigned short crc16table_ccitt[256] = {\n\t0x0000,\t0x1021,\t0x2042,\t0x3063,\t0x4084,\t0x50a5,\t0x60c6,\t0x70e7,\n\t0x8108,\t0x9129,\t0xa14a,\t0xb16b,\t0xc18c,\t0xd1ad,\t0xe1ce,\t0xf1ef,\n\t0x1231,\t0x0210,\t0x3273,\t0x2252,\t0x52b5,\t0x4294,\t0x72f7,\t0x62d6,\n\t0x9339,\t0x8318,\t0xb37b,\t0xa35a,\t0xd3bd,\t0xc39c,\t0xf3ff,\t0xe3de,\n\t0x2462,\t0x3443,\t0x0420,\t0x1401,\t0x64e6,\t0x74c7,\t0x44a4,\t0x5485,\n\t0xa56a,\t0xb54b,\t0x8528,\t0x9509,\t0xe5ee,\t0xf5cf,\t0xc5ac,\t0xd58d,\n\t0x3653,\t0x2672,\t0x1611,\t0x0630,\t0x76d7,\t0x66f6,\t0x5695,\t0x46b4,\n\t0xb75b,\t0xa77a,\t0x9719,\t0x8738,\t0xf7df,\t0xe7fe,\t0xd79d,\t0xc7bc,\n\t0x48c4,\t0x58e5,\t0x6886,\t0x78a7,\t0x0840,\t0x1861,\t0x2802,\t0x3823,\n\t0xc9cc,\t0xd9ed,\t0xe98e,\t0xf9af,\t0x8948,\t0x9969,\t0xa90a,\t0xb92b,\n\t0x5af5,\t0x4ad4,\t0x7ab7,\t0x6a96,\t0x1a71,\t0x0a50,\t0x3a33,\t0x2a12,\n\t0xdbfd,\t0xcbdc,\t0xfbbf,\t0xeb9e,\t0x9b79,\t0x8b58,\t0xbb3b,\t0xab1a,\n\t0x6ca6,\t0x7c87,\t0x4ce4,\t0x5cc5,\t0x2c22,\t0x3c03,\t0x0c60,\t0x1c41,\n\t0xedae,\t0xfd8f,\t0xcdec,\t0xddcd,\t0xad2a,\t0xbd0b,\t0x8d68,\t0x9d49,\n\t0x7e97,\t0x6eb6,\t0x5ed5,\t0x4ef4,\t0x3e13,\t0x2e32,\t0x1e51,\t0x0e70,\n\t0xff9f,\t0xefbe,\t0xdfdd,\t0xcffc,\t0xbf1b,\t0xaf3a,\t0x9f59,\t0x8f78,\n\t0x9188,\t0x81a9,\t0xb1ca,\t0xa1eb,\t0xd10c,\t0xc12d,\t0xf14e,\t0xe16f,\n\t0x1080,\t0x00a1,\t0x30c2,\t0x20e3,\t0x5004,\t0x4025,\t0x7046,\t0x6067,\n\t0x83b9,\t0x9398,\t0xa3fb,\t0xb3da,\t0xc33d,\t0xd31c,\t0xe37f,\t0xf35e,\n\t0x02b1,\t0x1290,\t0x22f3,\t0x32d2,\t0x4235,\t0x5214,\t0x6277,\t0x7256,\n\t0xb5ea,\t0xa5cb,\t0x95a8,\t0x8589,\t0xf56e,\t0xe54f,\t0xd52c,\t0xc50d,\n\t0x34e2,\t0x24c3,\t0x14a0,\t0x0481,\t0x7466,\t0x6447,\t0x5424,\t0x4405,\n\t0xa7db,\t0xb7fa,\t0x8799,\t0x97b8,\t0xe75f,\t0xf77e,\t0xc71d,\t0xd73c,\n\t0x26d3,\t0x36f2,\t0x0691,\t0x16b0,\t0x6657,\t0x7676,\t0x4615,\t0x5634,\n\t0xd94c,\t0xc96d,\t0xf90e,\t0xe92f,\t0x99c8,\t0x89e9,\t0xb98a,\t0xa9ab,\n\t0x5844,\t0x4865,\t0x7806,\t0x6827,\t0x18c0,\t0x08e1,\t0x3882,\t0x28a3,\n\t0xcb7d,\t0xdb5c,\t0xeb3f,\t0xfb1e,\t0x8bf9,\t0x9bd8,\t0xabbb,\t0xbb9a,\n\t0x4a75,\t0x5a54,\t0x6a37,\t0x7a16,\t0x0af1,\t0x1ad0,\t0x2ab3,\t0x3a92,\n\t0xfd2e,\t0xed0f,\t0xdd6c,\t0xcd4d,\t0xbdaa,\t0xad8b,\t0x9de8,\t0x8dc9,\n\t0x7c26,\t0x6c07,\t0x5c64,\t0x4c45,\t0x3ca2,\t0x2c83,\t0x1ce0,\t0x0cc1,\n\t0xef1f,\t0xff3e,\t0xcf5d,\t0xdf7c,\t0xaf9b,\t0xbfba,\t0x8fd9,\t0x9ff8,\n\t0x6e17,\t0x7e36,\t0x4e55,\t0x5e74,\t0x2e93,\t0x3eb2,\t0x0ed1,\t0x1ef0\n};\n\n\nunsigned int crc16(const char* buffer, unsigned int len)\n{\n\tunsigned int crc=0;\n\twhile (len--)\n\t\tcrc =(crc >> 8) ^ crc16_table[(crc ^ *buffer++) & 0xff] ;\n\treturn crc;\n}\nunsigned int crc32(const char* csData, unsigned int dwSize)\n{\n\tunsigned int    crc(0xffffffff);\n\tint len;\n\tunsigned char* buffer;\n\n\tlen = dwSize;\n\tbuffer = (unsigned char*)csData;\t\n\twhile(len--)\n\t\tcrc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ *buffer++];\n\treturn crc^0xffffffff;\n}\n\n\n#define CRC16_INIT_VALUE_CCITT\t0xffff\n#define CRC16_XOR_VALUE_CCITT\t\t0x0000\n\n\nunsigned int CRC16_CCITT( const char *buf, unsigned int length ) {\n\n\tunsigned short crc=CRC16_INIT_VALUE_CCITT;\n\twhile( length-- ) {\n\t\tcrc = ( crc << 8 ) ^ crc16table_ccitt[ ( crc >> 8 ) ^ *buf++ ];\n\t}\t\n\tcrc ^= CRC16_XOR_VALUE_CCITT;\t\n\treturn crc;\n}"
  },
  {
    "path": "Project/Code/Source/Crc.h",
    "content": "#ifndef __CRC__H__\n#define __CRC__H__\n\nunsigned int crc16_ccitt(const char *buffer, unsigned int length);\nunsigned int crc32(const char* buffer, unsigned int length);\nunsigned int crc16(const char* buffer, unsigned int length);\nextern const unsigned int crc32_table[256];\nextern const unsigned int  crc16_table[256];\nextern const unsigned short crc16table_ccitt[256];\n#endif //__CRC__H__"
  },
  {
    "path": "Project/Code/Source/DebugNewAlloc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DebugNewAlloc.h\"\n#include \"NewAlloc.h\"\n\n#ifdef CODE_DEBUG_ALLOC\n\n\n#ifdef new\n#undef new\n#endif\n\n#ifdef delete\n#undef delete\n#endif\n\nvoid* __cdecl operator new(size_t size,char*FileName,int Line)\n{\n\treturn CodeDebugAlloc(size,FileName,Line);\n}\n\nvoid* __cdecl operator new[](size_t size,char*FileName,int Line)\n{\n\treturn CodeDebugAlloc(size,FileName,Line);\n}\n\nvoid __cdecl operator delete(void*p,char*FileName,int Line)\n{\n\tCodeDebugFree(p);\n}\n\nvoid __cdecl operator delete[](void*p,char*FileName,int Line)\n{\n\tCodeDebugFree(p);\n}\n\nvoid  __cdecl operator delete(void*p)\n{\n\tCodeDebugFree(p);\n}\n\nvoid  __cdecl operator delete[](void*p)\n{\n\tCodeDebugFree(p);\n}\n\nNAME_SPACE_BEGIN\nclass CMemoryAllocateMonite\n{\n\tsize_t m_MaxMemBytesUsed;\n\tsize_t m_MemBytesUsed;\n\tstruct CODE_MEMORY_BLOCK\n\t{\n\t\tconst char*\tFileName;\n\t\tint\t\tLine;\n\t\tsize_t\tSize;\n\t};\n\ttypedef TMap<void*,CODE_MEMORY_BLOCK> TMemBlkMap;\n\tTMemBlkMap m_MemoryBlock;\npublic:\n\tCMemoryAllocateMonite();\n\t~CMemoryAllocateMonite();\npublic:\n\tvoid InsertBlock(const char*FileName,int Line,void*p,size_t size);\n\tvoid RemoveBlock(void*p);\n\tvoid Report();\n};\n\nint\t gNewCount = 0;\nextern int gMainHeapSize;\nCMemoryAllocateMonite*gpMemoryAllocateMonite = NULL;\n\nvoid*CodeDebugAlloc(size_t size,char*FileName,int Line)\n{\n\tvoid*p=CodeAlloc(size);\n\tif(gMainHeapSize)\n\t{\n\t\tif(gNewCount==0)\n\t\t\tgpMemoryAllocateMonite = new CMemoryAllocateMonite;\n\t\tgNewCount++;\n\t\tif(gpMemoryAllocateMonite)\n\t\t\tgpMemoryAllocateMonite->InsertBlock(FileName,Line,p,size);\n\t}\n\treturn p;\n}\n\nvoid CodeDebugFree(void*p)\n{\n\tif(p)\n\t\tCodeFree(p);\n\tif(gpMemoryAllocateMonite && gMainHeapSize)\n\t\tgpMemoryAllocateMonite->RemoveBlock(p);\n}\n\nvoid MemoryAllocMoniteReport()\n{\n\tif(gpMemoryAllocateMonite)\n\t{\n\t\tgpMemoryAllocateMonite->Report();\n\t\tdelete gpMemoryAllocateMonite;\n\t}\n\telse\n\t{\n\t\tCODE_DEBUG_OUTPUT(\"---------------------------------------------------------------------------\\n\");\n\t\tCODE_DEBUG_OUTPUT(\"δnew\\n\");\n\t\tCODE_DEBUG_OUTPUT(\"---------------------------------------------------------------------------\\n\");\n\t}\n}\n\nCMemoryAllocateMonite::CMemoryAllocateMonite()\n{\n\tm_MemBytesUsed = m_MaxMemBytesUsed = 0;\n\tInitMemoryAllocMonite();\n}\n\nCMemoryAllocateMonite::~CMemoryAllocateMonite()\n{\n\tgpMemoryAllocateMonite = NULL;\n\tReleaseMemoryAllocMonite();\n}\n\nvoid CMemoryAllocateMonite::InsertBlock(const char*FileName,int Line,void*p,size_t size)\n{\n\tgpMemoryAllocateMonite = NULL;//CMemoryAllocateMonitenew delete\n\tCODE_MEMORY_BLOCK MemoryBlock;\n\tMemoryBlock.FileName = FileName;\n\tMemoryBlock.Size = size;\n\tMemoryBlock.Line = Line;\n\tm_MemoryBlock.InsertUnique(p,MemoryBlock);\n\tm_MemBytesUsed+=size;\n\tif(m_MemBytesUsed>m_MaxMemBytesUsed)\n\t\tm_MaxMemBytesUsed=m_MemBytesUsed;\n\tgpMemoryAllocateMonite = this;//¼new delete\n}\n\nvoid CMemoryAllocateMonite::RemoveBlock(void*p)\n{\n\tgpMemoryAllocateMonite = NULL;\n\tTMemBlkMap::IT Iter = m_MemoryBlock.Find(p);\n\tif(Iter!=m_MemoryBlock.End())\n\t{\n\t\tm_MemBytesUsed-=Iter->Size;\n\t\tm_MemoryBlock.Remove(Iter);\n\t}\n\tgpMemoryAllocateMonite = this;\n}\n\nvoid CMemoryAllocateMonite::Report()\n{\n\tchar szBuffer[0x200];\n\tint Count = m_MemoryBlock.Count();\n\tCODE_DEBUG_OUTPUT(\"---------------------------------------------------------------------------\\n\");\n\tTSPrintf(szBuffer,\"ڴʹ÷ֵС %d ֽ\\n\",m_MaxMemBytesUsed);\n\tCODE_DEBUG_OUTPUT(szBuffer);\n\tif(Count==0)\n\t{\n\t\tCODE_DEBUG_OUTPUT(\"ûзڴй©\\n\");\n\t\tTSPrintf(szBuffer,\"%dڴ\\n\",gNewCount);\n\t\tCODE_DEBUG_OUTPUT(szBuffer);\n\t\tCODE_DEBUG_OUTPUT(\n\t\t\t\t\"(`----/`)____----^^^^^-__\\n\"\n\t\t\t\t\" `6__6 )    `-_  (     )_`-___-`)\\n\"\n\t\t\t\t\" (_Y_ )   __)    |____/  ``-__-/\\n\"\n\t\t\t\t\"  /--_--_/  /--__/ __/\\n\"\n\t\t\t\t\"(TT)   (TT)  (T(T_)\\n\"\n\t\t\t\t);\n\t}\n\telse\n\t{\n\t\tTSPrintf(szBuffer,\"%dڴй©¼\\nڴй©Ϣб\\n\",Count);\n\t\tCODE_DEBUG_OUTPUT(szBuffer);\n\t\tsize_t size=0;\n\t\tint Display = 10;\n\t\tfor(TMemBlkMap::IT Iter = m_MemoryBlock.Begin();Iter!=m_MemoryBlock.End();Iter++)\n\t\t{\t\t\t\n\t\t\tsize+=Iter->Size;\n\t\t\tif(Display>0)\n\t\t\t{\n\t\t\t\tint Length;\n\t\t\t\tBYTE Buffer[0x10];\n\t\t\t\tchar szBuffer1[0x100],szBuffer2[0x100];\n\t\t\t\tLength = MIN(0x10,(int)Iter->Size);\n\t\t\t\tTMemCpy(Buffer,(BYTE*)Iter.Key(),Length);\n\t\t\t\tTHexBytesToASCII(Buffer,szBuffer1,Length);\n\t\t\t\tTHexBytesToStr(Buffer,szBuffer2,Length,1,\" \");\n\t\t\t\tTSPrintf(szBuffer,\"%s (%d) С [%d],ַ [%p] ASCII [%s] ֽ [%s]\\n\",Iter->FileName,Iter->Line,Iter->Size,Iter.Key(),szBuffer1,szBuffer2);\n\t\t\t\tCODE_DEBUG_OUTPUT(szBuffer);\n\t\t\t\tDisplay--;\n\t\t\t}\n\t\t\telse if(Display==0)\n\t\t\t{\n\t\t\t\tCODE_DEBUG_OUTPUT(\"........ʾǰ10¼\\n\");\n\t\t\t\tDisplay--;\n\t\t\t}\n\t\t}\n\t\tTSPrintf(szBuffer,\"ڴй©ܴС %d ֽ\\n\",size);\n\t\tCODE_DEBUG_OUTPUT(szBuffer);\n\t}\n\tCODE_DEBUG_OUTPUT(\"---------------------------------------------------------------------------\\n\");\n}\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/DebugNewAlloc.h",
    "content": "#ifndef _DEBUG_NEW_ALLOC_H_\n#define _DEBUG_NEW_ALLOC_H_\n\n#ifdef CODE_DEBUG_ALLOC\n\nvoid* __cdecl operator new(size_t size,char*FileName,int Line);\nvoid* __cdecl operator new[](size_t size,char*FileName,int Line);\nvoid  __cdecl operator delete(void*p);\nvoid  __cdecl operator delete[](void*p);\nvoid  __cdecl operator delete(void*p,char*FileName,int Line);\nvoid  __cdecl operator delete[](void*p,char*FileName,int Line);\n\nNAME_SPACE_BEGIN\nvoid*\tCodeDebugAlloc(size_t size,char*FileName,int Line);\nvoid\tCodeDebugFree(void *p);\nvoid\tInitMemoryAllocMonite();\nvoid\tReleaseMemoryAllocMonite();\nvoid\tMemoryAllocMoniteReport();\nNAME_SPACE_END\n\n#endif//CODE_DEBUG_ALLOC\n\n#endif//_DEBUG_NEW_ALLOC_H_\n"
  },
  {
    "path": "Project/Code/Source/DebugNewAllocNTDrv.cpp",
    "content": "#include \"stdafx.h\"\n#include \"DebugNewAlloc.h\"\n\n#ifdef CODE_DEBUG_ALLOC\n\nvoid InitMemoryAllocMonite()\n{\n}\n\nvoid ReleaseMemoryAllocMonite()\n{\n}\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/DebugNewAllocUnix.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DebugNewAlloc.h\"\n\n\n#ifdef CODE_DEBUG_ALLOC\n//޸ı׼Cпȫ๹캯\n\n\nvoid InitMemoryAllocMonite()\n{\n}\n\nvoid ReleaseMemoryAllocMonite()\n{\n\n}\n\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/DebugNewAllocWin32.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DebugNewAlloc.h\"\n\n#ifdef CODE_DEBUG_ALLOC\n\nNAME_SPACE_BEGIN\n\nvoid InitMemoryAllocMonite()\n{\n}\n\nvoid ReleaseMemoryAllocMonite()\n{\n}\n\nNAME_SPACE_END\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Code/Source/Define.h",
    "content": "///////////////////////////////////////////////////////\n//base define\n//coded by Finaldoom\n///////////////////////////////////////////////////////\n#ifndef _DEFINE_H_\n#define _DEFINE_H_\n\n#ifndef\tCODE_OS_DEFINED\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <memory.h>\n\n#ifdef\tWIN32\n#ifndef CODE_OS_NT_DRV\n#define CODE_OS_WIN\n#include <windows.h>\n#endif\n#else\t//WIN32\n#ifndef CODE_OS_CATOS\n#define CODE_OS_UNIX\n#endif\n#endif\n\n#endif\n\n#ifndef CODE_INT_BYTES\n#define CODE_INT_BYTES\t4\n#endif\n\n\n#define KdPrint(_x_)\n#define KdBreakPoint()\n\n///////////////////////////////////////////////////////\n//Debugغ<Start>\n///////////////////////////////////////////////////////\n#ifdef\tCODE_OS_WIN\n\n#define\tCODE_WARNING(__str)\t\t\tMessageBox(NULL,__str,\"쳣\",MB_OK|MB_ICONWARNING)\n#if\t\t_MSC_VER >=1400 \n#define\tCODE_ASSERT(_b)\t\t\t\t{if(!(_b)){char Str[256];sprintf_s(Str,sizeof(Str),\"Դļ%s\\nУ%d\",__FILE__,__LINE__);MessageBox(NULL,Str,\"쳣\",MB_OK|MB_ICONWARNING);KdBreakPoint();}}\n#else\n#define\tCODE_ASSERT(_b)\t\t\t\t{if(!(_b)){char Str[256];sprintf(Str,\"Դļ%s\\nУ%d\",__FILE__,__LINE__);MessageBox(NULL,Str,\"쳣\",MB_OK|MB_ICONWARNING);KdBreakPoint();}}\n#endif\n#define CODE_DEBUG_OUTPUT\t\t\tCodeDebugPrintf\n\n#endif\t//CODE_OS\n\n#ifdef\tCODE_OS_NT_DRV\n\n#define\tCODE_WARNING(__str)\t\t\t{DbgPrint(__str);KdBreakPoint();}\n#define\tCODE_ASSERT(_b)\t\t\t\t{if(!(_b)){::DbgPrint(\"쳣\\nԴļ%s\\nУ%d\\n\",__FILE__,__LINE__);KdBreakPoint();}}\n#define CODE_DEBUG_OUTPUT\t\t\t::DbgPrint\n\n#endif\t//CODE_OS_NT_DRV\n\n#ifdef\tCODE_OS_UNIX\n\n#define\tCODE_WARNING(__str)\t\t\t{printf(__str);getch();}\n#define\tCODE_ASSERT(_b)\t\t\t\t{if(!(_b))printf(\"쳣\\nԴļ%s\\nУ%d\\n\",__FILE__,__LINE__);}\n#define CODE_DEBUG_OUTPUT\t\t\tprintf\n\n#endif\t//CODE_OS_UNIX\n\n\n#ifdef _DEBUG\n\n#define NOP_OPTR\t\t\tdo{}while(0)\n\n#else\n\n#undef\tCODE_WARNING\n#define\tCODE_WARNING(_str)\tdo{}while(0)\n\n#undef\tCODE_ASSERT\n#define\tCODE_ASSERT(_b)\n\n#endif\n/////////////////////////////////////////////////////////////////////////////\n//Debugغ<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//ó<Start>\n/////////////////////////////////////////////////////////////////////////////\n#ifndef NULL\n#define NULL\t\t\t\t0\n#endif\n\n#ifndef TRUE\n#define TRUE\t\t\t\t1\n#endif\n\n#ifndef FALSE\n#define FALSE\t\t\t\t0\n#endif\n\n#define ERROR_USCODE\t\t-1\n#define PI\t\t\t\t\t3.141592653549\n#define MAX_FN_LEN\t\t\t260\n#define MAX_SHORT_NAME_LEN\t32\n#define MAX_NAME_LEN\t\t64\n#define MAX_LONG_NAME_LEN\t128\n\n#ifndef MAX_PATH\n#define MAX_PATH            260\n#endif\n\n#define MAX_BYTE\t\t\t0xFF\n#define MAX_WORD\t\t\t0xFFFF\n#define MAX_DWORD\t\t\t0xFFFFFFFF\n\n#define IN\n#define OUT\n#define INOUT\n#define OPTIONAL\n\n#ifdef\tCODE_OS_UNIX\n#define PATH_SEPARATOR_CHAR     '/'\n#define PATH_SEPARATOR_STR      \"/\"\n#define PATH_SEPARATOR_WCHAR    L'/'\n#define PATH_SEPARATOR_WSTR     L\"/\"\n#else\n#define PATH_SEPARATOR_CHAR     '\\\\'\n#define PATH_SEPARATOR_STR      \"\\\\\"\n#define PATH_SEPARATOR_WCHAR    L'\\\\'\n#define PATH_SEPARATOR_WSTR     L\"\\\\\"\n#endif\n\n#define WSTR(s)\t\t\t\t\t(L##s)\n/////////////////////////////////////////////////////////////////////////////\n//ó<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//ú<Start>\n/////////////////////////////////////////////////////////////////////////////\n\n#ifdef _MSC_VER\n\n#ifndef FASTCALL\n#define FASTCALL\t\t\t__fastcall\n#endif\n\n#endif\n\n#ifndef FASTCALL\n#define FASTCALL\n#endif\n\n#ifndef PASCAL\n#define PASCAL\t\t\t\t__stdcall\n#endif\n\n#ifndef INLINE\n#define INLINE\t\t\t\tinline\n#endif\n\n/////////////////////////////////////////////////////////////////////////////\n//ú<End>\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n//ѡ<Start>\n/////////////////////////////////////////////////////////////////////////////\n#ifdef\tCODE_ST_PACK\n#define ST_PACK_ONE_BYTE\t\t__attribute__((packed))\n#else\n#define ST_PACK_ONE_BYTE\n#endif\n\n/////////////////////////////////////////////////////////////////////////////\n//ѡ<End>\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n//<Start>\n/////////////////////////////////////////////////////////////////////////////\n#ifdef _MSC_VER\n\ntypedef __int64\t\t\t\tLONGLONG;\ntypedef unsigned __int64\tULONGLONG;\ntypedef unsigned __int64\tNUM_PTR;\n\n#ifndef _WCHAR_T_DEFINED\ntypedef unsigned short\t\twchar_t;\n#define _WCHAR_T_DEFINED\n#endif\n\n#else //_MSC_VER\n\ntypedef long long\t\t\tLONGLONG;\ntypedef unsigned long long\tULONGLONG;\ntypedef unsigned long long\tNUM_PTR;\n\n#endif //_MSC_VER\n\ntypedef ULONGLONG\t\t\tQWORD;\ntypedef unsigned long\t\tDWORD;\ntypedef unsigned short\t\tWORD;\ntypedef unsigned char\t\tBYTE;\n\ntypedef long\t\t\t\tLONG;\ntypedef int\t\t\t\t\tINT;\ntypedef short\t\t\t\tSHORT;\ntypedef char\t\t\t\tCHAR;\ntypedef unsigned long\t\tULONG;\ntypedef unsigned int\t\tUINT;\ntypedef unsigned short\t\tUSHORT;\ntypedef unsigned char\t\tUCHAR;\ntypedef int\t\t\t\t\tBOOL;\n\ntypedef wchar_t\t\t\t\tWCHAR;\ntypedef DWORD\t\t\t\tDCHAR;\ntypedef DWORD*\t\t\t\tPDWORD;\ntypedef WORD*\t\t\t\tPWORD;\ntypedef BYTE*\t\t\t\tPBYTE;\ntypedef INT*\t\t\t\tPINT;\ntypedef UINT*\t\t\t\tPUINT;\ntypedef LONG*\t\t\t\tPLONG;\ntypedef ULONG*\t\t\t\tPULONG;\ntypedef DWORD*\t\t\t\tLPDWORD;\ntypedef WORD*\t\t\t\tLPWORD;\ntypedef BYTE*\t\t\t\tLPBYTE;\ntypedef INT*\t\t\t\tLPINT;\ntypedef UINT*\t\t\t\tLPUINT;\ntypedef LONG*\t\t\t\tLPLONG;\ntypedef ULONG*\t\t\t\tLPULONG;\n\n#define VOID\t\t\t\tvoid\n\ntypedef void*\t\t\t\tPVOID;\ntypedef void*\t\t\t\tLPVOID;\ntypedef const void*\t\t\tPCVOID;\ntypedef const void*\t\t\tLPCVOID;\n\ntypedef void*\t\t\t\tHANDLE;\ntypedef CHAR*\t\t\t\tPCHAR;\ntypedef CHAR*\t\t\t\tPSTR;\ntypedef const char*\t\t\tPCSTR;\ntypedef CHAR*\t\t\t\tLPSTR;\ntypedef const char*\t\t\tLPCSTR;\n\ntypedef WCHAR*\t\t\t\tPWSTR;\ntypedef const WCHAR*\t\tPCWSTR;\ntypedef PWSTR\t\t\t\tLPWSTR;\ntypedef PCWSTR\t\t\t\tLPCWSTR;\n\ntypedef DCHAR*\t\t\t\tPDSTR;\ntypedef const DCHAR*\t\tPCDSTR;\ntypedef PDSTR\t\t\t\tLPDSTR;\ntypedef PCDSTR\t\t\t\tLPCDSTR;\n\ntypedef DWORD\t\t\t\tCOLORREF;\n\n#if\t\tCODE_INT_BYTES <=\t4\ntypedef unsigned long\t\tULSIZE;\ntypedef unsigned long\t\tULPOS;\ntypedef long\t\t\t\tLPOS;\n#else\ntypedef ULONGLONG\t\t\tULSIZE;\ntypedef ULONGLONG\t\t\tULPOS;\ntypedef LONGLONG\t\t\tLPOS;\n#endif\n\ntypedef ULONGLONG\t\t\tULLSIZE;\ntypedef ULONGLONG\t\t\tULLPOS;\ntypedef LONGLONG\t\t\tLLPOS;\n\n/////////////////////////////////////////////////////////////////////////////\n//<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//úԭ<Start>\n/////////////////////////////////////////////////////////////////////////////\n\ntypedef void (*PVFV)(void);\ntypedef void (*PVFI)(int);\ntypedef int (*PIFV)(void);\ntypedef int (*PIFI)(int);\n\n/////////////////////////////////////////////////////////////////////////////\n//úԭ<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//ɱ<Start>\n/////////////////////////////////////////////////////////////////////////////\n#ifdef  __cplusplus\n#define ADDRESS_OF(v)\t\t\t( &reinterpret_cast<const char &>(v) )\n#else\n#define ADDRESS_OF(v)\t\t\t( &(v) )\n#endif\n#define INT_SIZE_OF(n)\t\t\t( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) )\n\n#ifdef\tCODE_VA_DEFINE\n\ntypedef char*\t\t\t\t\tva_list;\n#define va_start(ap,v)\t\t\t( ap = (va_list)ADDRESS_OF(v) + INT_SIZE_OF(v) )\n#define va_arg(ap,at)\t\t\t( *(at*)((ap +=\tINT_SIZE_OF(at)) - INT_SIZE_OF(at)) )\n#define va_end(ap)\t\t\t\t( ap = (va_list)0 )\n\n#endif\n/////////////////////////////////////////////////////////////////////////////\n//ɱ<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//ȡֵ<Start>\n/////////////////////////////////////////////////////////////////////////////\n\n#define MAKE_WORD(HB,LB)\t\t\t((WORD)(  (WORD)(LB) | ((WORD)(HB)<<8)   )) \n#define MAKE_DWORD(HW,LW)\t\t\t((DWORD)(  (DWORD)(LW) | ((DWORD)(HW)<<16)  ))\n#define MAKE_QDWORD(HD,LD)\t\t\t((ULONGLONG)( (ULONGLONG)(LD) | ((ULONGLONG)(HD)<<32) ))\n\n#define GET_BIT(Ptr,BitOff)\t\t\t((RT_BYTE(Ptr,((BitOff)>>3)) >>((BitOff)&7)) & 1)\n#define SET_BIT(Ptr,BitOff)\t\t\tRT_BYTE(Ptr,((BitOff)>>3))|=1<<((BitOff)&7)\n#define CLR_BIT(Ptr,BitOff)\t\t\tRT_BYTE(Ptr,((BitOff)>>3))&=~(1<<((BitOff)&7))\n\n#define PTR_TO_NUM(Ptr)\t\t\t\t((unsigned int)(NUM_PTR)(Ptr))\n#define NUM_TO_PTR(Num)\t\t\t\t((void*)(NUM_PTR)(Num))\n\n#define PTR_DELTA(__Ptr1,__Ptr2)\t((UINT)(__Ptr2-__Ptr1))\n\n#define LOW_BYTE(w)\t\t\t\t\t((BYTE)(w))\n#define HIGH_BYTE(w)\t\t\t\t((BYTE)((WORD)(w)>>8))\n\n#define LOW_WORD(l)\t\t\t\t\t((WORD)(l))\n#define HIGH_WORD(l)\t\t\t\t((WORD)((DWORD)(l)>>16))\n\n#define LOW_DWORD(l)\t\t\t\t((DWORD)(l))\n#define HIGH_DWORD(l)\t\t\t\t((DWORD)((QWORD)(l)>>32))\n\n//ָָ\n\n#define RT_PVOID(ptr,off)\t\t\t((void*)( (BYTE*)(ptr) + (off) ))\n#define RT_LPVOID(ptr,off)\t\t\t((void*)( (BYTE*)(ptr) + (off) ))\n#define RT_PDWORD(ptr,off)\t\t\t((DWORD*)( (BYTE*)(ptr) + (off) ))\n#define RT_PWORD(ptr,off)\t\t\t((WORD *)( (BYTE*)(ptr) + (off) ))\n#define RT_PBYTE(ptr,off)\t\t\t((BYTE *)( (BYTE*)(ptr) + (off) ))\n#define RT_PCHAR(ptr,off)\t\t\t((CHAR *)( (BYTE*)(ptr) + (off) ))\n\n#define _RT_PDWORD(ptr)\t\t\t\t((DWORD*)(ptr) )\n#define _RT_PWORD(ptr)\t\t\t\t((WORD *)(ptr) )\n#define _RT_PBYTE(ptr)\t\t\t\t((BYTE *)(ptr) )\n#define _RT_PCHAR(ptr)\t\t\t\t((CHAR *)(ptr) )\n#define _RT_PVOID(ptr)\t\t\t\t((void *)(ptr) )\n\n#define GET_CHAR(ptr,off)\t\t\t(*(CHAR *)( (BYTE*)(ptr) + (off) ) )\n#define _GET_CHAR(ptr)\t\t\t\t(*(CHAR *)(ptr) )\n#define _GET_CCHAR(ptr)\t\t\t\t(*(const CHAR *)(ptr) )\n\n#define PUT_CHAR(ptr,off,val)\t\tdo{(*(CHAR *)( (BYTE*)(ptr) + (off) ) ) = val;}while(0)\n#define _PUT_CHAR(ptr,val)\t\t\tdo{(*(CHAR *)(ptr) ) = val;}while(0)\n\n#define GET_BYTE(ptr,off)\t\t\t(*(BYTE *)( (BYTE*)(ptr) + (off) ) )\n#define _GET_BYTE(ptr)\t\t\t\t(*(BYTE *)(ptr) )\n\n#define PUT_BYTE(ptr,off,val)\t\tdo{(*(BYTE *)( (BYTE*)(ptr) + (off) ) ) = val;}while(0)\n#define _PUT_BYTE(ptr,val)\t\t\tdo{(*(BYTE *)(ptr) ) = val;}while(0)\n\n#ifdef CODE_BIG_ENDIAN\n\n#define BIG_ENDIAN_DWORD(x)\t\t\t(x = _GET_DWORD(&(x)))\n#define BIG_ENDIAN_WORD(x)\t\t\t(x = _GET_WORD(&(x)))\n\n//ֽ\n#define GET_WORD(ptr,off)\t\t\t(*RT_PBYTE(ptr,off)+(*RT_PBYTE(ptr,(off)+1)<<8))\n#define _GET_WORD(ptr)\t\t\t\t(*_RT_PBYTE(ptr)+(*RT_PBYTE(ptr,1)<<8))\n\n#define PUT_WORD(ptr,off,val)\t\tdo{PUT_BYTE(ptr,off,LOW_BYTE(val));PUT_BYTE(ptr,(off)+1,HIGH_BYTE(val));}while(0)\n#define _PUT_WORD(ptr,val)\t\t\tPUT_WORD(ptr,0,val)\n#define GET_3BYTES(ptr,off)\t\t\t(*RT_PBYTE(ptr,off)+(*RT_PBYTE(ptr,(off)+1)<<8)+(*RT_PBYTE(ptr,(off)+2)<<16))\n#define _GET_3BYTES(ptr)\t\t\t(*_RT_PBYTE(ptr)+(*RT_PBYTE(ptr,1)<<8)+(*RT_PBYTE(ptr,2)<<16))\n#define PUT_3BYTES(ptr,off,val)\t\tdo{PUT_WORD(ptr,(off)+1,(WORD)((val)>>8));PUT_BYTE(ptr,off,LOW_BYTE(val));}while(0)\n#define _PUT_3BYTES(ptr,val)\t\tPUT_3BYTES(ptr,0,val)\n#define GET_DWORD(ptr,off)\t\t\t(*RT_PBYTE(ptr,off)+(*RT_PBYTE(ptr,(off)+1)<<8)+(*RT_PBYTE(ptr,(off)+2)<<16)+(*RT_PBYTE(ptr,(off)+3)<<24))\n#define _GET_DWORD(ptr)\t\t\t\t(*_RT_PBYTE(ptr)+(*RT_PBYTE(ptr,1)<<8)+(*RT_PBYTE(ptr,2)<<16)+(*RT_PBYTE(ptr,3)<<24))\n#define PUT_DWORD(ptr,off,val)\t\tdo{PUT_WORD(ptr,off,LOW_WORD(val));PUT_WORD(ptr,(off)+2,HIGH_WORD(val));}while(0)\n#define _PUT_DWORD(ptr,val)\t\t\tPUT_DWORD(ptr,0,val)\n\n#else//CODE_BIG_ENDIAN\n//Сֽ\n#define GET_WORD(ptr,off)\t\t\t(*(WORD*)( (BYTE*)(ptr) + (off) ) )\n#define _GET_WORD(ptr)\t\t\t\t(*(WORD*)( (BYTE*)(ptr)) )\n#define PUT_WORD(ptr,off,val)\t\tdo{(*(WORD*)( (BYTE*)(ptr) + (off) ) )=val;}while(0)\n#define _PUT_WORD(ptr,val)\t\t\tdo{(*(WORD*)( (BYTE*)(ptr)) )=val;}while(0)\n\n#define GET_3BYTES(ptr,off)\t\t\tMAKE_DWORD((BYTE)GET_WORD(ptr,(off)+2),GET_BYTE(ptr,off))\n#define _GET_3BYTES(ptr)\t\t\tMAKE_DWORD((BYTE)GET_WORD(ptr,2),_GET_BYTE(ptr))\n\n#define PUT_3BYTES(ptr,off,val)\t\tdo{PUT_WORD(ptr,off,LOW_WORD(val));PUT_BYTE(ptr,(off)+2,(BYTE)HIGH_WORD(val));}while(0)\n#define _PUT_3BYTES(ptr,val)\t\tPUT_3BYTES(ptr,0,val)\n\n#define GET_DWORD(ptr,off)\t\t\t(*(DWORD*)( (BYTE*)(ptr) + (off) ) )\n#define _GET_DWORD(ptr)\t\t\t\t(*(DWORD*)( (BYTE*)(ptr) ) )\n\n#define PUT_DWORD(ptr,off,val)\t\tdo{(*(DWORD*)( (BYTE*)(ptr) + (off) ) )=(DWORD)(val);}while(0)\n#define _PUT_DWORD(ptr,val)\t\t\tdo{(*(DWORD*)( (BYTE*)(ptr) ) )=(DWORD)(val);}while(0)\n\n#define BIG_ENDIAN_DWORD\n#define BIG_ENDIAN_WORD\n\n#endif//CODE_BIG_ENDIAN\n\n/////////////////////////////////////////////////////////////////////////////\n//ָ<End>\n/////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////\n//<Start>\n/////////////////////////////////////////////////////////////////////////////\n\n#ifndef ABS\n#define ABS(a)\t\t\t\t\t\t\t\t((a)>=0?(a):-(a))\n#endif\n\n#ifndef MIN\n#define MIN(a,b)\t\t\t\t\t\t\t((a)>(b)?(b):(a))\n#endif\n\n#ifndef MAX\n#define MAX(a,b)\t\t\t\t\t\t\t((a)>(b)?(a):(b))\n#endif\n\n#ifndef IS_DIGIT\n#define IS_DIGIT(c)\t\t\t\t\t\t\t((c)>='0'&&(c)<='9')\n#endif\n\n#ifndef IS_HEX_LETTER\n#define IS_HEX_LETTER\t\t\t\t\t\t( ((c)>='a'&&(c)<='f') || ((c)>='A'&&(c)<='F') )\n#endif\n\n#ifndef IS_HEX_DIGIT\n#define IS_HEX_DIGIT(c)\t\t\t\t\t\t(IS_DIGIT(c) || IS_HEX_LETTER(c))\n#endif\n\n#ifndef SWAP\n#define SWAP(a,b)\t\t\t\t\t\t\t{a=a^b;b=a^b;a=a^b;}\n#endif\n\n#define PAGE_COUNT(__size,__page)\t\t\t((__size)/(__page)+((__size)%(__page)?1:0))\n#define ALIGN_SIZE(__size,__page)\t\t\t(PAGE_COUNT((__size),(__page))*(__page))\n#define CENTER_ALGN(__size,__total)\t\t\t(((__total)-(__size))/2)\n\n#ifndef ZeroMemory\n#define ZeroMemory(__Buffer,__Size)\t\t\tmemset((__Buffer),0,(__Size))\n#endif\n\n#define STZeroMemory(__ST)\t\t\t\t\tZeroMemory(&__ST,sizeof(__ST))\n\n#ifndef FillMemory\n#define FillMemory(__Buffer,__Data,__Size)\tmemset(__Buffer,__Data,__Size)\n#endif\n\n#define SafeDelete(__Ptr)\t\t\t\t\tif(__Ptr){delete __Ptr;__Ptr=NULL;}\n#define SafeDeleteAry(__Ptr)\t\t\t\tif(__Ptr){delete[] __Ptr;__Ptr=NULL;}\n#define SafeRelease(__Ptr)\t\t\t\t\tif(__Ptr){__Ptr->Release();__Ptr=NULL;}\n\n#define ST_FIELD_OFF(__type,__field)\t\t((int)(NUM_PTR)&(((__type*)NULL)->__field))////ȡṹеƫ\n\n#define BCDBYTE(__byte)\t\t\t\t\t\t( (((__byte)/10)<<4) | ((__byte)%10) )\n\n#define MAKE_CHAR_UPPER(__c)\t\t\t\tif(__c>='a' && __c <='z')__c +='A'-'a'\n#define MAKE_CHAR_LOWER(__c)\t\t\t\tif(__c>='A' && __c <='Z')__c +='a'-'A'\n#define UPPER_CHAR(__c)\t\t\t\t\t\t((__c>='a' && __c<='z')?__c+'A'-'a':__c)\n#define LOWER_CHAR(__c)\t\t\t\t\t\t((__c>='A' && __c<='Z')?__c+'a'-'A':__c)\n\n#define MAX_LIMIT(__L,__M)\t\t\t\t\tif((__L)>(__M))__L=__M\n#define MIN_LIMIT(__L,__M)\t\t\t\t\tif((__L)<(__M))__L=__M\n\n#define MEMBER_OFFSET(TypeName,MemberName) ((int)(&(((TypeName*)(0))->##MemberName)))\n#define MEMBER_OFFSET2(TypeName,MemberName,ReturnTypeName) ((ReturnTypeName)(&(((TypeName*)(0))->##MemberName)))\n/////////////////////////////////////////////////////////////////////////////\n//<End>\n/////////////////////////////////////////////////////////////////////////////\n#endif//_CODE_DEFINE_H_\n"
  },
  {
    "path": "Project/Code/Source/FileIO.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"FileIO.h\"\n\nNAME_SPACE_BEGIN\n\nCFileIO::CFileIO()\n{\n\tm_pszSepar=PATH_SEPARATOR_STR;\n}\n\nbool CFileIO::OpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\treturn false;\n}\n\nbool CFileIO::CreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\treturn false;\n}\n\nbool CFileIO::CreateDir(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CFileIO::CloseHandle(IN HANDLE hFile)\n{\n\treturn false;\n}\n\nULSIZE CFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\treturn 0;\n}\n\nULSIZE CFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\treturn 0;\n}\n\nULSIZE CFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size)\n{\n\treturn 0;\n}\n\nULLPOS CFileIO::SetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos)\n{\n\treturn 0;\n}\n\nULLSIZE CFileIO::GetFileLength(IN HANDLE hFile)\n{\n\treturn 0;\n}\n\nbool CFileIO::SetFileLength(IN HANDLE hFile,IN ULLSIZE Length)\n{\n\treturn false;\n}\n\nbool CFileIO::DeleteFile(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CFileIO::RenameFile(IN PCSTR FileName,IN PCSTR NewFileName)\n{\n\treturn false;\n}\n\nbool CFileIO::IsDir(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CFileIO::DeleteDir(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CFileIO::SetFileAttr(IN PCSTR FileName,DWORD Attr)\n{\n\treturn false;\n}\n\nDWORD CFileIO::GetFileAttr(IN PCSTR FileName)\n{\n\treturn FIO_FA_ERROR;\n}\n\nbool CFileIO::FindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData)\n{\n\t*pFindData->FileName=0;\n\treturn false;\n}\n\nbool CFileIO::FindNextFile(INOUT FILE_FIND_DATA*pFindData)\n{\n\t*pFindData->FileName=0;\n\treturn false;\n}\n\nbool CFileIO::FindClose(IN FILE_FIND_DATA*pFindData)\n{\n\t*pFindData->FileName=0;\n\treturn false;\n}\n\nbool CFileIO::WriteToFile(IN PCSTR Filename,IN const void* Buffer,IN ULSIZE BufSize)\n{\n\tHANDLE hFile;\n\tif(CreateFile(Filename,&hFile)==false)\n\t\treturn false;\n\tWriteFile(hFile,Buffer,BufSize,0);\n\tCloseHandle(hFile);\n\treturn true;\n}\n\nULSIZE CFileIO::ReadFromFile(IN PCSTR Filename,OUT void* Buffer,IN ULSIZE BufSize)\n{\n\tHANDLE hFile;\n\tULSIZE cbRW;\n\tif(OpenFile(Filename,&hFile)==false)\n\t\treturn false;\n\tif(BufSize==0)\n\t\tBufSize=(ULSIZE)GetFileLength(hFile);\n\tcbRW = ReadFile(hFile,Buffer,BufSize,0);\n\tCloseHandle(hFile);\n\treturn cbRW;\n}\n\nULLSIZE CFileIO::GetFileSize(IN PCSTR Filename)\n{\n#ifdef CODE_OS_WIN\n\tint Len=TStrLen(Filename);\n\tif((Len==2 || Len==3 ) && Filename[1]==':')\n\t{\n\t\tULARGE_INTEGER FreeBytesAvailable,TotalNumberOfBytes,TotalNumberOfFreeBytes;\n\t\tFreeBytesAvailable.QuadPart = 0;\n\t\tTotalNumberOfBytes.QuadPart = 0;\n\t\tTotalNumberOfFreeBytes.QuadPart = 0;\n\t\tGetDiskFreeSpaceEx(Filename,&FreeBytesAvailable,&TotalNumberOfBytes,&TotalNumberOfFreeBytes);\n\t\treturn TotalNumberOfBytes.QuadPart;\n\t}\n#endif\n\tHANDLE hFile;\n\tULLSIZE Result;\n\tif(OpenFile(Filename,&hFile)==false)\n\t\treturn (ULLSIZE)-1;\n\tResult=GetFileLength(hFile);\n\tCloseHandle(hFile);\n\treturn Result;\n}\n\nbool CFileIO::GetFileTime(IN PCSTR FileName,IN ULONGLONG*pModifyTime,IN ULONGLONG*pCreateTime,IN ULONGLONG*pAccessTime)\n{\n\treturn false;\n}\n\nbool CFileIO::IsFileExist(IN PCSTR FileName)\n{\n\tHANDLE hFile;\n\tif(OpenFile(FileName,&hFile)==false)\n\t\treturn false;\t\n\treturn CloseHandle(hFile);\n}\nbool CFileIO::IsDirEmpty(IN PCSTR FileName)\n{\n\treturn false;\n}\nbool CFileIO::DeleteDirTree(IN PCSTR FileName)\n{\n\tFILE_FIND_DATA FindData;\n\tbool bFind = FindFirstFile(FileName,&FindData);\n\twhile(bFind)\n\t{\n\t\tif(FindData.FileAttribute & FIO_FA_DIR)\n\t\t{\n\t\t\tif(DeleteDirTree(FileName)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDeleteFile(FileName);\n\t\t}\n\t\tbFind = FindNextFile(&FindData);\n\t}\n\treturn true;\n}\n\nbool CFileIO::XDelete(IN PCSTR FileName)\n{\n\tif(IsDir(FileName))\n\t\treturn DeleteDirTree(FileName);\n\telse\n\t\treturn DeleteFile(FileName);\n}\n\nbool CFileIO::XCopy(CFileIO*pSrcIO,CFileIO*pDesIO,PCSTR SrcFileName,PCSTR DesFileName,FUNC_XCOPY_CB pfnCallBack,void*CBParam)\n{\n\tint Length;\n\tif(pSrcIO->IsDir(SrcFileName))\n\t{\n\t\tif(pDesIO->IsDir(DesFileName)==false && pDesIO->CreateDir(DesFileName)==false)\n\t\t\treturn false;\n\t\tFILE_FIND_DATA FindData;\n\t\tif(pSrcIO->FindFirstFile(SrcFileName,&FindData)==false)\n\t\t\treturn true;\n\t\tdo\n\t\t{\n\t\t\tif(\t(FindData.FileName[0]=='.' && FindData.FileName[1]==0) ||\n\t\t\t\t(FindData.FileName[0]=='.' && FindData.FileName[1]=='.' && FindData.FileName[2]==0) )\n\t\t\t\tcontinue;\n\t\t\tchar szSrcBuffer[MAX_FN_LEN],szDesBuffer[MAX_FN_LEN];\n\t\t\tLength = TStrCpy(szSrcBuffer,SrcFileName);\n\t\t\tif(Length && szSrcBuffer[Length-1] != *pSrcIO->m_pszSepar)\n\t\t\t\tTStrCat(szSrcBuffer,pSrcIO->m_pszSepar);\n\t\t\tTStrCat(szSrcBuffer,FindData.FileName);\n\n\t\t\tLength = TStrCpy(szDesBuffer,DesFileName);\n\t\t\tif(Length && szDesBuffer[Length-1] != *pDesIO->m_pszSepar)\n\t\t\t\tTStrCat(szDesBuffer,pDesIO->m_pszSepar);\n\t\t\tTStrCat(szDesBuffer,FindData.FileName);\n\n\t\t\tif(XCopy(pSrcIO,pDesIO,szSrcBuffer,szDesBuffer,pfnCallBack,CBParam)==false)\n\t\t\t\tbreak;\n\t\t}while(pSrcIO->FindNextFile(&FindData));\n\t\tpSrcIO->FindClose(&FindData);\n\t}\n\telse\n\t{\n\t\tULSIZE Size = (ULSIZE)pSrcIO->GetFileSize(SrcFileName);\n\t\tif(pfnCallBack)\n\t\t{\n\t\t\tswitch(pfnCallBack(pSrcIO,pDesIO,SrcFileName,DesFileName,Size,CBParam))\n\t\t\t{\n\t\t\t\tcase XCOPY_RES_COPY:\n\t\t\t\t\tbreak;\n\t\t\t\tcase XCOPY_RES_IGNORE:\n\t\t\t\t\treturn true;\n\t\t\t\tcase XCOPY_RES_BREAK:\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tBYTE*Buffer = new BYTE[Size];\n\t\tpSrcIO->ReadFromFile(SrcFileName,Buffer);\n\t\tpDesIO->WriteToFile(DesFileName,Buffer,Size);\n\t\tdelete Buffer;\n\t}\n\treturn true;\n}\n\nvoid CFileIO::FlushFileBuffer(IN HANDLE hFile)\n{\n\n}\n\nint CFileIO::XScan(PCSTR DirName,FUNC_XSCAN_CB pfnCallBack,void*CBParam,bool Recursive,XSCAN_RES*pRes)\n{\n\tXSCAN_RES Res;\n\tint Count,Length;\n\tFILE_FIND_DATA FindData;\n\tchar *pFileName,szDirName[MAX_FN_LEN],szSrcBuffer[MAX_FN_LEN],szPattern[MAX_FN_LEN];\n\tCount = 0;\n\n\tif(pRes==NULL)\n\t{\n\t\tpRes = &Res;\n\t\tRes = XSCAN_RES_CONTINUE;\n\t}\n\n\tpFileName = TGetFileName(DirName);\n\tif(TStrChr(pFileName,'*')==NULL && TStrChr(pFileName,'?')==NULL)\n\t{\n\t\t*szPattern=0;\n\t\tif(IsDir(DirName)==false && IsFileExist(DirName))\n\t\t{\n\t\t\tif(pfnCallBack(this,DirName,(ULSIZE)GetFileSize(DirName),CBParam)==XSCAN_RES_CONTINUE)\n\t\t\t\tCount++;\n\t\t\treturn Count;\n\t\t}\n\t}\n\telse\n\t{\n\t\tTStrCpy(szPattern,TGetFileName(DirName));\n\t\tTGetFilePath(DirName,szDirName);\n\t\tDirName = szDirName;\n\t}\n\tif(FindFirstFile(DirName,&FindData)==false)\n\t\treturn Count;\n\tdo\n\t{\n\t\tif(\t(FindData.FileName[0]=='.' && FindData.FileName[1]==0) ||\n\t\t\t(FindData.FileName[0]=='.' && FindData.FileName[1]=='.' && FindData.FileName[2]==0) )\n\t\t\tcontinue;\n\t\tLength = TStrCpy(szSrcBuffer,szDirName);\n\t\tif(Length && szSrcBuffer[Length-1] != *m_pszSepar)\n\t\t\tTStrCat(szSrcBuffer,m_pszSepar);\n\t\tTStrCat(szSrcBuffer,FindData.FileName);\n\t\tif( (FindData.FileAttribute&FIO_FA_DIR) && (FindData.FileAttribute&FIO_FA_SYM_LINK)==0)\n\t\t{\n\t\t\tif(Recursive)\n\t\t\t{\n\t\t\t\tif(*szPattern)\n\t\t\t\t{\n\t\t\t\t\tTStrCat(szSrcBuffer,\"\\\\\");\n\t\t\t\t\tTStrCat(szSrcBuffer,szPattern);\n\t\t\t\t}\n\t\t\t\tCount+=XScan(szSrcBuffer,pfnCallBack,CBParam,Recursive,pRes);\n\t\t\t\tif(*pRes!=XSCAN_RES_CONTINUE)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif((FindData.FileAttribute&FIO_FA_NON_REG)==0)\n\t\t\t{\n\t\t\t\tif(*szPattern==0 || TIMultiMatchWithPattern(szPattern,szSrcBuffer))\n\t\t\t\t{\n\t\t\t\t\tXSCAN_RES Result = pfnCallBack(this,szSrcBuffer,(ULSIZE)FindData.FileLength,CBParam);\n\t\t\t\t\tif(Result==XSCAN_RES_BREAK)\n\t\t\t\t\t{\n\t\t\t\t\t\t*pRes=XSCAN_RES_BREAK;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(Result==XSCAN_RES_CONTINUE)\n\t\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}while(FindNextFile(&FindData));\n\tFindClose(&FindData);\n\treturn Count;\n}\n\nNAME_SPACE_END\n\n\n"
  },
  {
    "path": "Project/Code/Source/FileIO.h",
    "content": "#ifndef\t_FILE_IO_H_\n#define\t_FILE_IO_H_\n\nNAME_SPACE_BEGIN\n\n#define FIO_READ\t\t\t0x00000000\n#define FIO_WRITE\t\t\t0x00000001\n#define FIO_NEW\t\t\t\t0x00000000\n#define FIO_CREATE\t\t\t0x00000001\n#define FIO_SHARE_READ\t\t0x00010000\n#define FIO_SHARE_WRITE\t\t0x00020000\n\n#define FIO_FA_NORMAL\t\t0x00000000\n#define FIO_FA_READONLY\t\t0x00000001\n#define FIO_FA_HIDDEN\t\t0x00000002\n#define FIO_FA_SYSTEM\t\t0x00000004\n#define FIO_FA_DIR\t\t\t0x00000010\n#define FIO_FA_COMPRESS\t\t0x00000020\n#define FIO_FA_SYM_LINK\t\t0x00000040\n#define FIO_FA_NON_REG\t\t0x80000000\n#define FIO_FA_ERROR\t\t0xFFFFFFFF\n\n\n#define FIO_ERROR_FILE_PTR\t((ULLPOS)-1)\n\nstruct FILE_FIND_DATA\n{\n\tchar\tFileName[MAX_FN_LEN];\n\tDWORD\tFileAttribute;\n\tHANDLE\thFindFile;\n\tvoid*\tFindDataBuffer;\n\tULLSIZE\tFileLength;\n};\n\nenum XCOPY_RES\n{\n\tXCOPY_RES_COPY,\n\tXCOPY_RES_IGNORE,\n\tXCOPY_RES_BREAK,\n};\n\nenum XSCAN_RES\n{\n\tXSCAN_RES_CONTINUE,\n\tXSCAN_RES_BREAK,\n\tXSCAN_RES_IGNORE,\n};\n\nclass CFileIO;\ntypedef XCOPY_RES (*FUNC_XCOPY_CB)(CFileIO*pSrcIO,CFileIO*pDesIO,PCSTR SrcFileName,PCSTR DesFileName,ULSIZE FileSize,void*CBParam);\ntypedef XSCAN_RES (*FUNC_XSCAN_CB)(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParam);\n\nclass CFileIO\n{\npublic:\n\tchar*\tm_pszSepar;\n\tCFileIO();\n\tvirtual bool\tOpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\n\tvirtual bool\tCreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_CREATE | FIO_SHARE_READ);\n\tvirtual bool\tCreateDir(IN PCSTR FileName);\n\tvirtual bool\tCloseHandle(IN HANDLE hFile);\n\tvirtual ULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tvirtual ULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\n\tvirtual ULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size);\n\tvirtual ULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size);\n\tvirtual ULLPOS\tSetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos);\n\n\tvirtual ULLSIZE\tGetFileLength(IN HANDLE hFile);\n\tvirtual bool\tSetFileLength(IN HANDLE hFile,IN ULLSIZE Length);\n\n\tvirtual bool\tDeleteFile(IN PCSTR FileName);\n\tvirtual bool\tRenameFile(IN PCSTR FileName,IN PCSTR NewFileName);\n\tvirtual\tbool\tGetFileTime(IN PCSTR FileName,IN ULONGLONG*pModifyTime=NULL,IN ULONGLONG*pCreateTime=NULL,IN ULONGLONG*pAccessTime=NULL);\n\tvirtual bool\tIsDir(IN PCSTR FileName);\n\tvirtual bool\tDeleteDir(IN PCSTR FileName);\n\tvirtual bool\tSetFileAttr(IN PCSTR FileName,DWORD Attr);\n\tvirtual DWORD\tGetFileAttr(IN PCSTR FileName);\n\tvirtual bool\tFindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData);\n\tvirtual bool\tFindNextFile(INOUT FILE_FIND_DATA*pFindData);\n\tvirtual bool\tFindClose(IN FILE_FIND_DATA*pFindData);\n\tvirtual void\tFlushFileBuffer(IN HANDLE hFile);\npublic:\n\tvirtual bool\tWriteToFile(IN PCSTR Filename,IN const void* Buffer,IN ULSIZE BufSize);\n\tvirtual ULSIZE\tReadFromFile(IN PCSTR Filename,IN void* Buffer,IN ULSIZE BufSize = 0);\n\tvirtual ULLSIZE\tGetFileSize(IN PCSTR Filename);\n\tvirtual bool\tIsFileExist(IN PCSTR FileName);\n\tvirtual bool\tIsDirEmpty(IN PCSTR FileName);\n\tvirtual bool\tDeleteDirTree(IN PCSTR FileName);\n\tvirtual bool\tXDelete(IN PCSTR FileName);\n\tvirtual int\t\tXScan(PCSTR DirName,FUNC_XSCAN_CB pfnCallBack,void*CBParam = NULL,bool Recursive = true,XSCAN_RES*pRes=NULL);\n\tstatic\tbool\tXCopy(CFileIO*pSrcIO,CFileIO*pDesIO,PCSTR SrcFileName,PCSTR DesFileName,FUNC_XCOPY_CB pfnCallBack=NULL,void*CBParam = NULL);\n};\n\nNAME_SPACE_END\n\n#ifdef\tCODE_OS_WIN\n#include \"FileIOWin32.h\"\n#endif\n\n#ifdef\tCODE_OS_UNIX\n#include \"FileIOUnix.h\"\n#endif\n\n#ifdef\tCODE_OS_NT_DRV\n#include \"FileIONTDrv.h\"\n#endif\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/FileIONTDrv.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"FileIO.h\"\n\nNAME_SPACE_BEGIN\n\nWCHAR CLocalFileIO::m_CurDirName[MAX_FN_LEN];\n\nvoid CLocalFileIO::SetCurDir(IN PCWSTR DirName)\n{\n\tint Length;\n\tLength=TStrCpy(m_CurDirName,DirName);\n\tif(Length && m_CurDirName[Length-1]!='\\\\' && m_CurDirName[Length-1]!='/')\n\t{\n\t\tm_CurDirName[Length] = '\\\\';\n\t\tm_CurDirName[Length+1]=0;\n\t}\n}\n\n#define NT_FILE_OPEN_OPTION\t\t(FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED)\n\nbool CLocalFileIO::OpenFile(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode)\n{\n\tANSI_STRING\tAnsiName;\n\tUNICODE_STRING UniName;\n\tIO_STATUS_BLOCK IOStatus;\n\tOBJECT_ATTRIBUTES oa;\n\tint Length;\n\tULONG   ShareMode;\n\tACCESS_MASK  DesiredAccess;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tif(*FileName!='\\\\' && TStrChr(FileName,':')==NULL)\n\t\tLength = TStrCpy(szBuffer,m_CurDirName);\n\telse\n\t\tLength = 0;\n\tAnsiName.Buffer = (PCHAR)FileName;\n\tAnsiName.Length = (USHORT)TStrLen(FileName);\n\tAnsiName.MaximumLength = AnsiName.Length+1;\n\tUniName.Buffer = &szBuffer[Length];\n\tUniName.Length = 0;\n\tUniName.MaximumLength =sizeof(WCHAR)*MAX_FN_LEN - Length*sizeof(WCHAR);\n\tRtlAnsiStringToUnicodeString(&UniName,&AnsiName,false);\n\n\tUniName.Buffer = szBuffer;\n\tUniName.Length = TStrLen(szBuffer)*sizeof(WCHAR);\n\tUniName.MaximumLength = sizeof(WCHAR)*MAX_FN_LEN;\n\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tDesiredAccess = GENERIC_READ;\n\tif(Mode & FIO_WRITE)\n\t\tDesiredAccess |= GENERIC_WRITE;\n\tShareMode=0;\n\tif(Mode & FIO_SHARE_READ)\n\t\tShareMode |= FILE_SHARE_READ;\n\tif(Mode & FIO_SHARE_WRITE)\n\t\tShareMode |= FILE_SHARE_WRITE;\n\treturn ZwOpenFile(phFile,DesiredAccess,&oa,&IOStatus,ShareMode,NT_FILE_OPEN_OPTION)==STATUS_SUCCESS;\n}\n\nbool CLocalFileIO::OpenFile(PUNICODE_STRING FullImageName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\tOBJECT_ATTRIBUTES oa;\n\tIO_STATUS_BLOCK\tIOStatus;\n\tACCESS_MASK  DesiredAccess;\n\tULONG ShareMode;\n\tInitializeObjectAttributes(&oa,FullImageName, OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE, NULL, NULL);\n\tDesiredAccess = GENERIC_READ;\n\tif(Mode & FIO_WRITE)\n\t\tDesiredAccess |= GENERIC_WRITE;\n\tShareMode = 0;\n\tif(Mode & FIO_SHARE_READ)\n\t\tShareMode |= FILE_SHARE_READ;\n\tif(Mode & FIO_SHARE_WRITE)\n\t\tShareMode |= FILE_SHARE_WRITE;\n\treturn ZwOpenFile(phFile,DesiredAccess,&oa,&IOStatus,ShareMode,NT_FILE_OPEN_OPTION)==STATUS_SUCCESS;\n}\n\nbool CLocalFileIO::CreateFile(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode)\n{\n\tANSI_STRING\tAnsiName;\n\tUNICODE_STRING UniName;\n\tOBJECT_ATTRIBUTES oa;\n\tIO_STATUS_BLOCK\tIOStatus;\n\tint Length;\n\tULONG CreateMode,ShareMode;\n\tWCHAR NameBuf[MAX_FN_LEN];\n\tif(*FileName!='\\\\' && TStrChr(FileName,':')==NULL)\n\t\tLength = TStrCpy(NameBuf,m_CurDirName);\n\telse\n\t\tLength = 0;\n\tAnsiName.Buffer = (PCHAR)FileName;\n\tAnsiName.Length = (USHORT)TStrLen(FileName);\n\tAnsiName.MaximumLength = AnsiName.Length+1;\n\tUniName.Buffer = &NameBuf[Length];\n\tUniName.Length = 0;\n\tUniName.MaximumLength = MAX_FN_LEN*sizeof(WCHAR) - Length*sizeof(WCHAR);\n\tRtlAnsiStringToUnicodeString(&UniName,&AnsiName,false);\n\tUniName.Buffer = NameBuf;\n\tUniName.Length = TStrLen(NameBuf)*sizeof(WCHAR);\n\tUniName.MaximumLength = MAX_FN_LEN*sizeof(WCHAR);\n\n\tInitializeObjectAttributes(&oa,&UniName, OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE, NULL, NULL);\n\tCreateMode = FILE_CREATE;\n\tif(Mode & FIO_CREATE)\n\t\tCreateMode = FILE_OVERWRITE_IF;\n\tShareMode=0;\n\tif(Mode & FIO_SHARE_READ)\n\t\tShareMode |= FILE_SHARE_READ;\n\tif(Mode & FIO_SHARE_WRITE)\n\t\tShareMode |= FILE_SHARE_WRITE;\n\treturn ZwCreateFile(phFile,GENERIC_READ|GENERIC_WRITE,&oa,&IOStatus,NULL,FILE_ATTRIBUTE_NORMAL,ShareMode,CreateMode,NT_FILE_OPEN_OPTION,NULL,0)==STATUS_SUCCESS;\n}\n\nbool CLocalFileIO::CloseHandle(HANDLE hFile)\n{\n\treturn ZwClose(hFile)==STATUS_SUCCESS;\n}\n\nULSIZE CLocalFileIO::ReadFile(HANDLE hFile,void* Buffer,ULSIZE Size,ULLPOS Offset)\n{\n\tIO_STATUS_BLOCK\tIOStatus;\n\tLARGE_INTEGER Offset64;\n\tOffset64.LowPart = LOW_DWORD(Offset);\n\tOffset64.HighPart = HIGH_DWORD(Offset);\n\tif(ZwReadFile(hFile,NULL,NULL,NULL,&IOStatus,Buffer,Size,&Offset64,NULL)!=STATUS_SUCCESS)\n\t\treturn 0;\n\treturn (ULSIZE)IOStatus.Information;\n}\n\nULSIZE CLocalFileIO::WriteFile(HANDLE hFile,const void* Buffer,ULSIZE Size,ULLPOS Offset)\n{\n\tIO_STATUS_BLOCK\tIOStatus;\n\tLARGE_INTEGER Offset64;\n\tOffset64.LowPart = LOW_DWORD(Offset);\n\tOffset64.HighPart = HIGH_DWORD(Offset);\n\tif(ZwWriteFile(hFile,NULL,NULL,NULL,&IOStatus,(void*)Buffer,Size,&Offset64,NULL)!=STATUS_SUCCESS)\n\t\treturn 0;\n\treturn (ULSIZE)IOStatus.Information;\n}\n\nULLSIZE CLocalFileIO::GetFileLength(HANDLE hFile)\n{\n\tIO_STATUS_BLOCK\tIOStatus;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tif(ZwQueryInformationFile(hFile,&IOStatus,&StdInfo,sizeof(FILE_STANDARD_INFORMATION),FileStandardInformation)!=STATUS_SUCCESS)\n\t\treturn 0;\n\treturn (ULLSIZE)StdInfo.EndOfFile.QuadPart;\n}\n\nbool CLocalFileIO::SetFileLength(HANDLE hFile,ULLSIZE Length)\n{\n\tIO_STATUS_BLOCK\tIOStatus;\n\tFILE_END_OF_FILE_INFORMATION feofi;\n\tfeofi.EndOfFile.QuadPart = (LONGLONG)Length;\n\treturn ZwSetInformationFile(hFile,&IOStatus,&feofi,sizeof(FILE_END_OF_FILE_INFORMATION),FileEndOfFileInformation)==STATUS_SUCCESS;\n}\n\nbool CLocalFileIO::DeleteFile(PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CLocalFileIO::RenameFile(IN PCSTR FileName,IN PCSTR NewFileName)\n{\n\treturn false;\n}\n\nbool CLocalFileIO::OpenDirectory(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode)\n{\n\tNTSTATUS Status;\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tint Length;\n\tANSI_STRING\tAnsiName;\n\tUNICODE_STRING UniName;\n\tWCHAR NameBuf[MAX_FN_LEN];\n\tif(*FileName!='\\\\' && TStrChr(FileName,':')==NULL)\n\t\tLength = TStrCpy(NameBuf,m_CurDirName);\n\telse\n\t\tLength = 0;\n\tAnsiName.Buffer = (PCHAR)FileName;\n\tAnsiName.Length = (USHORT)TStrLen(FileName);\n\tAnsiName.MaximumLength = AnsiName.Length+1;\n\tUniName.Buffer = &NameBuf[Length];\n\tUniName.Length = 0;\n\tUniName.MaximumLength = MAX_FN_LEN*sizeof(WCHAR) - Length*sizeof(WCHAR);\n\tRtlAnsiStringToUnicodeString(&UniName,&AnsiName,false);\n\tUniName.Buffer = NameBuf;\n\tUniName.Length = TStrLen(NameBuf)*sizeof(WCHAR);\n\tUniName.MaximumLength = MAX_FN_LEN*sizeof(WCHAR);\n\n\tInitializeObjectAttributes(&oa,&UniName, OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE, NULL, NULL);\t\n\tStatus = ZwOpenFile(phFile,Mode,&oa,&IOStatus,FILE_SHARE_WRITE|FILE_SHARE_DELETE|FILE_SHARE_READ,FILE_DIRECTORY_FILE);\t\n\treturn Status==STATUS_SUCCESS;\n}\n\nbool CLocalFileIO::FindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData)\n{\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tNTSTATUS Status;\n\tDWORD BufferLength=MAX_FN_LEN*sizeof(WCHAR)+sizeof(CODEFILE_NAMES_INFORMATION)+sizeof(FILE_STANDARD_INFORMATION);\n\tKEVENT Event;\n\tchar *OrgDirName;\n\tPCODEFILE_NAMES_INFORMATION pFileNamesInformation;\n\tif(pFindData==NULL)\n\t\treturn  false;\n\tmemset(pFindData,0,sizeof(FILE_FIND_DATA));\n\t*pFindData->FileName=0;\n\tif(KeGetCurrentIrql()>PASSIVE_LEVEL)\t\n\t\treturn false;\t\n\tif(OpenDirectory(DirName,&pFindData->hFindFile,FILE_LIST_DIRECTORY|FILE_ALL_ACCESS)==false)\t\n\t\treturn false;\n\tpFileNamesInformation =(PCODEFILE_NAMES_INFORMATION) new char [BufferLength];\n\tif(pFileNamesInformation==NULL)\n\t\treturn false;\n\tOrgDirName = new char[MAX_FN_LEN];\n\tif(OrgDirName==NULL)\n\t{\n\t\tdelete []pFileNamesInformation;\n\t\tZwClose(pFindData->hFindFile);\n\t\treturn false;\n\t}\n\tTStrCpyLimit(OrgDirName,DirName,MAX_FN_LEN);\n\tpFindData->FindDataBuffer=OrgDirName;\n\tKeInitializeEvent(&Event, SynchronizationEvent,FALSE);\t\n\tmemset(pFileNamesInformation,0,BufferLength);\n\tStatus = ZwQueryDirectoryFile(pFindData->hFindFile,NULL,ZwQueryDirectoryFileApc,&Event,&IOStatus,pFileNamesInformation,BufferLength-2,\n\t\tFileNamesInformation,TRUE,NULL,TRUE);\n\tif (Status == STATUS_PENDING) \t\n\t\tKeWaitForSingleObject(&Event, UserRequest,KernelMode, TRUE, NULL);\n\tif(IOStatus.Status)\n\t{\t\n\t\tZwClose(pFindData->hFindFile);\t\n\t\tdelete []pFileNamesInformation;\n\t\treturn false;\n\t}\t\n\tTStrCpyLimit(pFindData->FileName,pFileNamesInformation->FileName,MAX_FN_LEN);\n\tif(TStrCmp(pFindData->FileName,\".\")==0 || TStrCmp(pFindData->FileName,\"..\")==0)\n\t\tpFindData->FileAttribute |= FIO_FA_DIR;\n\telse\n\t{\n\t\t//TODO:\n\t\tif(IsDir(pFindData->FileName))\n\t\t\tpFindData->FileAttribute |= FIO_FA_DIR;\n\t\telse \n\t\t\tpFindData->FileAttribute &= (~FIO_FA_DIR);\n\t}\n\tdelete []pFileNamesInformation;\n\treturn true;\n}\n\nbool CLocalFileIO::FindNextFile(INOUT FILE_FIND_DATA*pFindData)\n{\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tNTSTATUS Status;\n\tDWORD BufferLength=MAX_FN_LEN*sizeof(WCHAR)+sizeof(CODEFILE_NAMES_INFORMATION)+sizeof(FILE_STANDARD_INFORMATION);\n\tKEVENT Event;\n\tchar *TempFileName;\n\tPCODEFILE_NAMES_INFORMATION pFileNamesInformation;\n\n\t*pFindData->FileName=0;\n\tif(KeGetCurrentIrql()>PASSIVE_LEVEL)\t\n\t\treturn false;\t\n\t\n\tKeInitializeEvent(&Event, SynchronizationEvent,FALSE);\n\tpFileNamesInformation = (PCODEFILE_NAMES_INFORMATION)new char [BufferLength];\n\tif(pFileNamesInformation==NULL)\n\t\treturn false;\n\tmemset(pFileNamesInformation,0,BufferLength);\n\tStatus = ZwQueryDirectoryFile(pFindData->hFindFile,NULL,ZwQueryDirectoryFileApc,&Event,&IOStatus,pFileNamesInformation,BufferLength-2,\n\t\tFileNamesInformation,TRUE,NULL,FALSE);\n\tif (Status == STATUS_PENDING)\n\t\tKeWaitForSingleObject(&Event, UserRequest,KernelMode, TRUE, NULL);\n\tif(IOStatus.Status)\t\n\t{\n\t\tdelete []pFileNamesInformation;\n\t\treturn false;\n\t}\n\t\n\tTStrCpyLimit(pFindData->FileName,pFileNamesInformation->FileName,MAX_FN_LEN);\n\tpFindData->FileAttribute=FIO_FA_NORMAL;\n\tif(TStrCmp(pFindData->FileName,\".\")==0 || TStrCmp(pFindData->FileName,\"..\")==0)\n\t\tpFindData->FileAttribute |= FIO_FA_DIR;\n\telse\n\t{\n\t\tTempFileName=(char*)pFileNamesInformation;\n\t\tchar * OrgDirName = (char*)pFindData->FindDataBuffer;\n\t\tTStrCpy(TempFileName,OrgDirName);\n\t\tint len = strlen(OrgDirName);\n\t\tif(OrgDirName[len-1]!='\\\\')\n\t\t\tTStrCat(TempFileName,\"\\\\\");\n\t\tTStrCat(TempFileName,pFindData->FileName);\n\t\tif(IsDir(TempFileName))\n\t\t\tpFindData->FileAttribute|=FIO_FA_DIR;\n\t}\t\t\n\tdelete []pFileNamesInformation;\n\treturn true;\n}\n\nbool CLocalFileIO::FindClose(IN FILE_FIND_DATA*pFindData)\n{\n\t*pFindData->FileName=0;\n\tCloseHandle(pFindData->hFindFile);\n\tif(pFindData->FindDataBuffer)\n\t{\n\t\tdelete []pFindData->FindDataBuffer;\n\t\tpFindData->FindDataBuffer=NULL;\n\t}\n\treturn true;\n}\n\nbool CLocalFileIO::IsDir(IN HANDLE hFile)\n{\n\tNTSTATUS Status;\n\tIO_STATUS_BLOCK\tIOStatus;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tStatus = ZwQueryInformationFile(hFile,&IOStatus,&StdInfo,sizeof(FILE_STANDARD_INFORMATION),FileStandardInformation);\n\tif(Status)\n\t\treturn false;\n\treturn StdInfo.Directory==TRUE;\n}\n\nbool CLocalFileIO::IsDir(IN PCSTR FileName)\n{\n\tHANDLE hFile;\n\tbool bOK;\n\tbOK = OpenDirectory(FileName,&hFile,FILE_LIST_DIRECTORY);\n\tif(bOK)\n\t\tCloseHandle(hFile);\n\treturn bOK;\n}\n\nCLocalFileIO*\tgpFileIO = NULL;\n\nNAME_SPACE_END\nVOID NTAPI ZwQueryDirectoryFileApc (IN PVOID ApcContext,IN PIO_STATUS_BLOCK IoStatusBlock,IN ULONG Reserved )\n{\t\n\tKeSetEvent(PRKEVENT (ApcContext),0,false);\n\treturn;\n}\n\n"
  },
  {
    "path": "Project/Code/Source/FileIONTDrv.h",
    "content": "#ifndef\t_FILE_IO_NT_DRV_H_\n#define\t_FILE_IO_NT_DRV_H_\n\n#define FIO_INVALID_HANDLE\t\tINVALID_HANDLE_VALUE\n\nVOID NTAPI ZwQueryDirectoryFileApc (IN PVOID ApcContext,IN PIO_STATUS_BLOCK IoStatusBlock,IN ULONG Reserved );\nextern \"C\" NTSYSAPI NTSTATUS NTAPI ZwQueryDirectoryFile(IN HANDLE FileHandle,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN HANDLE Event ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN PIO_APC_ROUTINE ApcRoutine ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN PVOID ApcContext ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOUT PIO_STATUS_BLOCK IoStatusBlock,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOUT PVOID FileInformation,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN ULONG FileInformationLength,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN FILE_INFORMATION_CLASS FileInformationClass,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN BOOLEAN ReturnSingleEntry,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN PUNICODE_STRING FileName ,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tIN BOOLEAN RestartScan\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\nNAME_SPACE_BEGIN\n \n\n\ntypedef struct _CODEFILE_NAMES_INFORMATION {\n\tULONG NextEntryOffset;\n\tULONG FileIndex;\n\tULONG FileNameLength;\n\tWCHAR FileName[1];\n} CODEFILE_NAMES_INFORMATION, *PCODEFILE_NAMES_INFORMATION;\ntypedef struct _FILE_FULL_DIRECTORY_INFORMATION { // Information Class 2\n\tULONG NextEntryOffset;\n\tULONG Unknown;\n\tLARGE_INTEGER CreationTime;\n\tLARGE_INTEGER LastAccessTime;\n\tLARGE_INTEGER LastWriteTime;\n\tLARGE_INTEGER ChangeTime;\n\tLARGE_INTEGER EndOfFile;\n\tLARGE_INTEGER AllocationSize;\n\tULONG FileAttributes;\n\tULONG FileNameLength;\n\tULONG EaInformationLength;\n\tWCHAR FileName[1];\n} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;\n\nclass CLocalFileIO : public CFileIO\n{\npublic:\n\tbool\tOpenDirectory(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode);\npublic:\n\tstatic\tWCHAR\tm_CurDirName[MAX_FN_LEN];\n\t//static BYTE m_FindNamesBuffer[MAX_FN_LEN*sizeof(WCHAR)+sizeof(CODEFILE_NAMES_INFORMATION)+sizeof(FILE_STANDARD_INFORMATION)];\n\tvoid\tSetCurDir(IN PCWSTR DirName);\n\tbool\tOpenFile(PUNICODE_STRING  FullImageName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\npublic:\n\tbool\tOpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\n\tbool\tCreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_CREATE | FIO_SHARE_READ);\n\tbool\tCloseHandle(IN HANDLE hFile);\n\n\tULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\n\tULLSIZE\tGetFileLength(IN HANDLE hFile);\n\tbool\tSetFileLength(IN HANDLE hFile,IN ULLSIZE Length);\n\tbool\tDeleteFile(IN PCSTR FileName);\n\tbool\tRenameFile(IN PCSTR FileName,IN PCSTR NewFileName);\n\tbool\tIsDir(IN HANDLE hFile);\n\tbool\tIsDir(IN PCSTR FileName);\n\tbool\tFindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData);\n\tbool\tFindNextFile(INOUT FILE_FIND_DATA*pFindData);\n\tbool\tFindClose(IN FILE_FIND_DATA*pFindData);\n\t\n};\n\nextern CLocalFileIO*gpFileIO;\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/FileIOUnix.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"FileIO.h\"\n\nNAME_SPACE_BEGIN\n\nbool CLocalFileIO::OpenFile(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode)\n{\n\tPSTR ModeStr;\n\tModeStr=\"r\";\n\tif(Mode&FIO_WRITE)\n\t\tModeStr=\"r+\";\n\t*(FILE**)phFile=fopen(FileName,ModeStr);\n\treturn *phFile!=NULL;\n}\n\nbool CLocalFileIO::CreateFile(IN PCSTR FileName,INOUT HANDLE*phFile,IN DWORD Mode)\n{\n\tPSTR ModeStr;\n\tModeStr=\"w+\";\n\tif((Mode&FIO_CREATE)==0)\n\t{\n\t\tif(OpenFile(FileName,phFile,FIO_WRITE))\n\t\t{\n\t\t\tCloseHandle(*phFile);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\t*(FILE**)phFile=fopen(FileName,ModeStr);\n\treturn *phFile!=NULL;\n}\n\nbool CLocalFileIO::CloseHandle(HANDLE hFile)\n{\n\treturn fclose((FILE*)hFile)==0;\n}\n\nULSIZE CLocalFileIO::ReadFile(HANDLE hFile,void* Buffer,ULONG Size,ULLPOS Offset)\n{\n\tif(fseek((FILE*)hFile,Offset,SEEK_SET))\n\t\treturn 0;\n\treturn (ULONG)fread(Buffer,1,Size,(FILE*)hFile);\n}\n\nULSIZE CLocalFileIO::WriteFile(HANDLE hFile,const void* Buffer,ULSIZE Size,ULLPOS Offset)\n{\n\tif(fseek((FILE*)hFile,Offset,SEEK_SET))\n\t\treturn 0;\n\treturn (ULSIZE)fwrite(Buffer,1,Size,(FILE*)hFile);\n}\n\nULSIZE CLocalFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size)\n{\n\treturn (ULONG)fread(Buffer,1,Size,(FILE*)hFile);\n}\n\nULSIZE CLocalFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size)\n{\n\treturn (ULSIZE)fwrite(Buffer,1,Size,(FILE*)hFile);\n}\n\nULLPOS CLocalFileIO::SetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos)\n{\n\tfseek((FILE*)hFile,Offset,Pos);\n\treturn ftell((FILE*)hFile);\n}\n\nULLSIZE CLocalFileIO::GetFileLength(HANDLE hFile)\n{\n\tDWORD dwFileLength,dwOldFileLength;\n\tdwOldFileLength = dwFileLength = ftell((FILE*)hFile);\n\tfseek((FILE*)hFile,0,SEEK_END);\n\tdwFileLength=ftell((FILE*)hFile);\n\tfseek((FILE*)hFile,dwOldFileLength,SEEK_SET);\n\treturn (ULLSIZE)dwFileLength;\n}\n\nbool CLocalFileIO::SetFileLength(HANDLE hFile,ULLSIZE Length)\n{\n\tULSIZE FileSize=GetFileLength(hFile);\n\tif(Length==FileSize || Length==0)\n\t\treturn true;\n\tif(Length>FileSize)\n\t{\n\t\tFileSize=fseek((FILE*)hFile,Length-1,SEEK_SET);\n\t\tfputc(0,(FILE*)hFile);\n\t\treturn true;\n\t}\n#ifdef CODE_OS_UNIX\n\tint fd;\n\tfd = fileno((FILE *)hFile);\n\treturn ftruncate(fd,Length)==0;\n#else\n\treturn false;\n#endif\n}\n\nbool CLocalFileIO::IsDir(IN PCSTR FileName)\n{\n\tstruct stat st;\n\tint bRet = lstat(FileName,&st);\n\tif(bRet)\n\t\treturn false;\n\treturn S_ISDIR(st.st_mode) && S_ISLNK(st.st_mode)==0;\n}\n\nbool CLocalFileIO::DeleteDir(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CLocalFileIO::CreateDir(IN PCSTR FileName)\n{\n\treturn false;\n}\n\nbool CLocalFileIO::DeleteFile(PCSTR FileName)\n{\n\treturn remove(FileName)==0;\n}\n\nbool CLocalFileIO::RenameFile(IN PCSTR FileName,IN PCSTR NewFileName)\n{\n\treturn rename(FileName,NewFileName)==0;\n}\n\nbool CLocalFileIO::FindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData)\n{\n\tstruct dirent *pdir;\n\tchar CurrentDirName[MAX_FN_LEN];\n\tstruct stat st;\n\tchar *tmpstr;\n\tint ret,Len;\n\tif(IsDir(DirName)==false)\n\t\treturn false;\n\tpFindData->hFindFile = opendir(DirName);\n\tif(pFindData->hFindFile==NULL)\n\t\treturn false;\n\ttmpstr = new char[MAX_FN_LEN];\n\tpFindData->FindDataBuffer = tmpstr;\n\tTStrCpyLimit((char*)pFindData->FindDataBuffer,DirName,MAX_FN_LEN);\n\tLen = TStrLen(tmpstr);\n\tif(tmpstr[Len-1]!='/')\n\t\ttmpstr[Len]='/', tmpstr[Len+1]=0;\t\n\tTStrCpy(CurrentDirName,tmpstr);\n\tdo\n\t{\n\t\tpdir = readdir((DIR*)pFindData->hFindFile);\n\t\tif(pdir == NULL)\n\t\t{\n\t\t\tdelete [](char*)pFindData->FindDataBuffer;\n\t\t\tpFindData->FindDataBuffer=NULL;\n\t\t\tFindClose(pFindData);\n\t\t\treturn false;\n\t\t}\n\t}while(strcmp(pdir->d_name,\".\") == 0 || strcmp(pdir->d_name,\"..\") == 0);\n\tTStrCpyLimit(pFindData->FileName,pdir->d_name,MAX_FN_LEN);\n\tTStrCat(CurrentDirName,pdir->d_name);\n\tpFindData->FileAttribute = lstat(CurrentDirName,&st) ? 0 : ConvertFileAttribute(st.st_mode);\n\treturn true;\n}\n\nDWORD CLocalFileIO::ConvertFileAttribute(unsigned short st_mode)\n{\n\tDWORD Result;\n\tResult = 0;\n\tif(S_ISDIR(st_mode))\n\t\tResult|=FIO_FA_DIR;\n\tif(S_ISLNK(st_mode))\n\t\tResult|=FIO_FA_SYM_LINK;\n\tif(S_ISREG(st_mode)==0)\n\t\tResult|=FIO_FA_NON_REG;\n\treturn Result;\n}\n\nbool CLocalFileIO::FindNextFile(INOUT FILE_FIND_DATA*pFindData)\n{\n\tchar CurrentDirName[MAX_FN_LEN];\n\tstruct dirent *pdir;\n\tstruct stat st;\n\tpdir = readdir((DIR*)pFindData->hFindFile);\n\tif(pdir == NULL)\n\t\treturn false;\n\tTStrCpyLimit(pFindData->FileName,pdir->d_name,MAX_FN_LEN);\n\tTStrCpyLimit(CurrentDirName,(const char *)pFindData->FindDataBuffer,MAX_FN_LEN);\n\tTStrCat(CurrentDirName,pdir->d_name);\n\tpFindData->FileAttribute = lstat(CurrentDirName,&st) ? 0 : ConvertFileAttribute(st.st_mode);\n\treturn true;\n}\n\nbool CLocalFileIO::FindClose(IN FILE_FIND_DATA*pFindData)\n{\n\tSafeDelete((char*)pFindData->FindDataBuffer)\n\treturn closedir((DIR*)pFindData->hFindFile);\n}\n\nbool CLocalFileIO::IsFileExist(IN PCSTR FileName)\n{\n\tint ret;\n\tstruct stat st;\n\tret = lstat(FileName,&st);\n\tif(ret != 0)\n\t{\n\t\tif(errno==ENOENT)\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CLocalFileIO::IsDirEmpty(IN PCSTR FileName)\n{\n\tFILE_FIND_DATA FileFindData;\n\tif(FindFirstFile(FileName,&FileFindData))\n\t{\n\t\tFindClose(&FileFindData);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nDWORD CLocalFileIO::GetFileAttr(IN PCSTR FileName)\n{\n\tint ret;\n\tstruct stat st;\n\tret = lstat(FileName,&st);\n\tif(ret!=0)\n\t\treturn FIO_FA_ERROR;\n\treturn ConvertFileAttribute(st.st_mode);\n}\n\nCLocalFileIO\tgLocalFileIO;\nCLocalFileIO*\tgpFileIO = &gLocalFileIO;\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/FileIOUnix.h",
    "content": "#ifndef\t_FILE_IO_UNIX_H_\n#define\t_FILE_IO_UNIX_H_\n\n#define FIO_INVALID_HANDLE\t\tNULL\n\nNAME_SPACE_BEGIN\n\nclass CLocalFileIO : public CFileIO\n{\npublic:\n\tbool\tOpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\n\tbool\tCreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_CREATE | FIO_SHARE_READ);\n\tbool\tCloseHandle(IN HANDLE hFile);\n\n\tULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size);\n\tULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size);\n\n\tULLSIZE\tGetFileLength(IN HANDLE hFile);\n\tbool\tSetFileLength(IN HANDLE hFile,IN ULLSIZE Length);\n\tbool\tDeleteFile(IN PCSTR FileName);\n\tbool\tRenameFile(IN PCSTR FileName,IN PCSTR NewFileName);\n\n\tbool\tIsDir(IN PCSTR FileName);\n\tbool\tDeleteDir(IN PCSTR FileName);\n\tbool\tCreateDir(IN PCSTR FileName);\n\tULLPOS\tSetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos);\n\tbool\tFindFirstFile(IN PCSTR DirName,IN FILE_FIND_DATA*pFindData);\n\tbool\tFindNextFile(INOUT FILE_FIND_DATA*pFindData);\n\tbool\tFindClose(IN FILE_FIND_DATA*pFindData);\n\tbool\tIsFileExist(IN PCSTR FileName);\n\tbool\tIsDirEmpty(IN PCSTR FileName);\n\tDWORD\tGetFileAttr(IN PCSTR FileName);\n\tDWORD\tConvertFileAttribute(unsigned short st_mode);\n};\n\nextern CLocalFileIO*gpFileIO;\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/FileIOWin32.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"FileIO.h\"\n\nNAME_SPACE_BEGIN\n\nbool CLocalFileIO::OpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\tDWORD OpenMode,ShareMode;\n\tOpenMode = GENERIC_READ;\n\tif(Mode & FIO_WRITE)\n\t\tOpenMode |= GENERIC_WRITE;\n\tShareMode = 0;\n\tif(Mode & FIO_SHARE_READ)\n\t\tShareMode |= FILE_SHARE_READ;\n\tif(Mode & FIO_SHARE_WRITE)\n\t\tShareMode |= FILE_SHARE_WRITE;\n\t*phFile = ::CreateFile(FileName,OpenMode,ShareMode,NULL,OPEN_EXISTING,0,NULL);\n\treturn *phFile != INVALID_HANDLE_VALUE;\n}\n\nbool CLocalFileIO::CreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\tDWORD ShareMode,CreateMode;\n\tCreateMode = CREATE_NEW;\n\tif(Mode & FIO_CREATE)\n\t\tCreateMode = CREATE_ALWAYS;\n\tShareMode = 0;\n\tif(Mode & FIO_SHARE_READ)\n\t\tShareMode |= FILE_SHARE_READ;\n\tif(Mode & FIO_SHARE_WRITE)\n\t\tShareMode |= FILE_SHARE_WRITE;\n\t*phFile = ::CreateFile(FileName,GENERIC_READ | GENERIC_WRITE,ShareMode,NULL,CreateMode,0,NULL);\n\treturn *phFile != INVALID_HANDLE_VALUE;\n}\n\nbool CLocalFileIO::CreateDir(IN PCSTR FileName)\n{\n\treturn ::CreateDirectory(FileName,NULL)!=0;\n}\n\nbool CLocalFileIO::CloseHandle(IN HANDLE hFile)\n{\n\treturn ::CloseHandle(hFile)!=0;\n}\nvoid CLocalFileIO::FlushFileBuffer(IN HANDLE hFile)\n{\n\t::FlushFileBuffers(hFile);\n}\nULSIZE CLocalFileIO::ReadFile(IN HANDLE hFile,OUT void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\tDWORD RDSize;\n\tif(SetFilePointer(hFile,(LLPOS)Offset,FILE_BEGIN)==FIO_ERROR_FILE_PTR)\n\t\treturn 0;\n\t::ReadFile(hFile,Buffer,Size,&RDSize,NULL);\n\treturn RDSize;\n}\n\nULSIZE CLocalFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\tDWORD WTSize=0;\n\tif(SetFilePointer(hFile,(LLPOS)Offset,FILE_BEGIN)==FIO_ERROR_FILE_PTR)\n\t\treturn 0;\n\t::WriteFile(hFile,Buffer,Size,&WTSize,NULL);\n\treturn WTSize;\n}\n\nULSIZE CLocalFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size)\n{\n\tDWORD RDSize=0;\n\t::ReadFile(hFile,Buffer,Size,&RDSize,NULL);\n\treturn RDSize;\n}\n\nULSIZE CLocalFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size)\n{\n\tDWORD WTSize=0;\n\t::WriteFile(hFile,Buffer,Size,&WTSize,NULL);\n\treturn WTSize;\n}\n\nULLPOS CLocalFileIO::SetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos)\n{\n\tULLPOS NewPos;\n\tULONG FilePosLow;\n\tLONG  FilePosHigh;\n\tFilePosLow = LOW_DWORD(Offset);\n\tFilePosHigh = HIGH_DWORD(Offset);\n\tFilePosLow = ::SetFilePointer(hFile,FilePosLow,&FilePosHigh,Pos);\n\tif(FilePosLow==INVALID_SET_FILE_POINTER)\n\t\treturn FIO_ERROR_FILE_PTR;\n\tNewPos = MAKE_QDWORD(FilePosHigh,FilePosLow);\n\treturn NewPos;\n}\n\nULLSIZE CLocalFileIO::GetFileLength(IN HANDLE hFile)\n{\n\treturn ::GetFileSize(hFile,NULL);\n}\n\nbool CLocalFileIO::SetFileLength(IN HANDLE hFile,IN ULLSIZE Length)\n{\n\tULONG FilePosLow;\n\tLONG  FilePosHigh;\n\tFilePosLow = LOW_DWORD(Length);\n\tFilePosHigh = HIGH_DWORD(Length);\n\tif(::SetFilePointer(hFile,FilePosLow,&FilePosHigh,FILE_BEGIN)==INVALID_SET_FILE_POINTER)\n\t\treturn false;\n\treturn ::SetEndOfFile(hFile)!=0;\n}\n\nbool CLocalFileIO::DeleteFile(IN PCSTR FileName)\n{\n\treturn ::DeleteFile(FileName)!=0;\n}\n\nbool CLocalFileIO::RenameFile(IN PCSTR FileName,IN PCSTR NewFileName)\n{\n\treturn ::MoveFile(FileName,NewFileName)!=0;\n}\n\nbool CLocalFileIO::GetFileTime(IN PCSTR FileName,IN ULONGLONG*pModifyTime,IN ULONGLONG*pCreateTime,IN ULONGLONG*pAccessTime)\n{\n\tbool Result;\n\tHANDLE hFile = ::CreateFile(FileName,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hFile==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tResult = ::GetFileTime(hFile,(FILETIME*)pCreateTime,(FILETIME*)pAccessTime,(FILETIME*)pModifyTime) == TRUE;\n\tCloseHandle(hFile);\n\treturn Result;\n}\n\nbool CLocalFileIO::IsDir(IN PCSTR FileName)\n{\n\tDWORD Attr;\n\tAttr = ::GetFileAttributes(FileName);\n\tif(Attr == (DWORD)-1)\n\t\treturn GetDriveType(FileName)!=DRIVE_NO_ROOT_DIR;\n\treturn (Attr & FILE_ATTRIBUTE_DIRECTORY)!=0;\n}\n\nbool CLocalFileIO::DeleteDir(IN PCSTR FileName)\n{\n\treturn ::RemoveDirectory(FileName)!=0;\n}\n\nbool CLocalFileIO::FindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tDWORD Attr;\n\tpFindData->FindDataBuffer = (void*)new WIN32_FIND_DATA;\n\tTStrCpy(szBuffer,DirName);\n\tif(TStrChr(DirName,'*')==NULL && TStrChr(DirName,'?')==NULL)\n\t{\n\t\tTStrCat(szBuffer,m_pszSepar);\n\t\tTStrCat(szBuffer,\"*\");\n\t}\n\tpFindData->hFindFile = ::FindFirstFile(szBuffer,(LPWIN32_FIND_DATA)pFindData->FindDataBuffer);\n\tif(pFindData->hFindFile==INVALID_HANDLE_VALUE)\n\t{\n\t\tdelete pFindData->FindDataBuffer;\n\t\tpFindData->FindDataBuffer=NULL;\n\t\treturn false;\n\t}\n\tTStrCpy(pFindData->FileName,((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->cFileName);\n\tpFindData->FileAttribute = 0;\n\tAttr = ((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->dwFileAttributes;\n\tif(Attr  & FILE_ATTRIBUTE_READONLY)\n\t\tpFindData->FileAttribute|=FIO_FA_READONLY;\n\tif(Attr  & FILE_ATTRIBUTE_HIDDEN)\n\t\tpFindData->FileAttribute|=FIO_FA_HIDDEN;\n\tif(Attr  & FILE_ATTRIBUTE_SYSTEM)\n\t\tpFindData->FileAttribute|=FIO_FA_SYSTEM;\n\tif(Attr  & FILE_ATTRIBUTE_DIRECTORY)\n\t\tpFindData->FileAttribute|=FIO_FA_DIR;\n\tpFindData->FileLength =\t((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->nFileSizeLow;\n\treturn true;\n}\n\nbool CLocalFileIO::FindNextFile(INOUT FILE_FIND_DATA*pFindData)\n{\n\tDWORD Attr;\n\tbool Result=::FindNextFile(pFindData->hFindFile,(LPWIN32_FIND_DATA)pFindData->FindDataBuffer)!=0;\n\tstrcpy_s(pFindData->FileName,sizeof(pFindData->FileName),((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->cFileName);\n\tpFindData->FileAttribute = ((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->dwFileAttributes;\n\tpFindData->FileAttribute = 0;\n\tAttr = ((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->dwFileAttributes;\n\tif(Attr  & FILE_ATTRIBUTE_READONLY)\n\t\tpFindData->FileAttribute|=FIO_FA_READONLY;\n\tif(Attr  & FILE_ATTRIBUTE_HIDDEN)\n\t\tpFindData->FileAttribute|=FIO_FA_HIDDEN;\n\tif(Attr  & FILE_ATTRIBUTE_SYSTEM)\n\t\tpFindData->FileAttribute|=FIO_FA_SYSTEM;\n\tif(Attr  & FILE_ATTRIBUTE_DIRECTORY)\n\t\tpFindData->FileAttribute|=FIO_FA_DIR;\n\tpFindData->FileLength =\t((LPWIN32_FIND_DATA)pFindData->FindDataBuffer)->nFileSizeLow;\n\treturn Result;\n}\n\nbool CLocalFileIO::FindClose(IN FILE_FIND_DATA*pFindData)\n{\n\tif(pFindData->FindDataBuffer)\n\t\tdelete pFindData->FindDataBuffer;\n\treturn ::FindClose(pFindData->hFindFile)!=0;\n}\n\nCLocalFileIO\tgLocalFileIO;\nCLocalFileIO*\tgpFileIO = &gLocalFileIO;\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/FileIOWin32.h",
    "content": "#ifndef\t_FILE_IO_WIN32_H_\n#define\t_FILE_IO_WIN32_H_\n\n#define FIO_INVALID_HANDLE\t\tINVALID_HANDLE_VALUE\n\nNAME_SPACE_BEGIN\n\nclass CLocalFileIO : public CFileIO\n{\npublic:\n\tbool\tOpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\n\tbool\tCreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_CREATE | FIO_SHARE_READ);\n\tbool\tCloseHandle(IN HANDLE hFile);\n\n\tULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size);\n\tULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size);\n\n\tULLSIZE\tGetFileLength(IN HANDLE hFile);\n\tbool\tSetFileLength(IN HANDLE hFile,IN ULLSIZE Length);\n\tbool\tDeleteFile(IN PCSTR FileName);\n\tbool\tRenameFile(IN PCSTR FileName,IN PCSTR NewFileName);\n\tbool\tGetFileTime(IN PCSTR FileName,IN ULONGLONG*pModifyTime=NULL,IN ULONGLONG*pCreateTime=NULL,IN ULONGLONG*pAccessTime=NULL);\n\tbool\tIsDir(IN PCSTR FileName);\n\tbool\tDeleteDir(IN PCSTR FileName);\n\tbool\tCreateDir(IN PCSTR FileName);\n\tULLPOS\tSetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos);\n\tbool\tFindFirstFile(IN PCSTR DirName,IN FILE_FIND_DATA*pFindData);\n\tbool\tFindNextFile(INOUT FILE_FIND_DATA*pFindData);\n\tbool\tFindClose(IN FILE_FIND_DATA*pFindData);\n\tvoid\tFlushFileBuffer(IN HANDLE hFile);\n};\n\nextern CLocalFileIO*gpFileIO;\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/Float2String.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Float2String.h\"\n\n\nLONGLONG pwr(int a, int b)\n{\n\tLONGLONG i = 0, val = 1;\n\n\tfor(i=0; i<b; i++)\n\t{\n\t\tval *= a;\n\t}\n\n\treturn val;\n}\n\nvoid GetDisplayString(char *str, ULONGLONG frac, \n\t\t\t\t\t\tint exp, char sign, char flag)\n{\n\tint mantissa_bits = 0, i = 0;\n\tint exp_max = 0;\n\tULONGLONG tmp = 100000000, tmp1, integral = 1, mantissa = 0; \n\tULONGLONG bit_mask = 0;\n\n\n\t//Initialize for calculating the integral value\n\tif(flag == GET_FLOAT)\n\t{\n\t\texp_max = FLOAT_EXP_MAX;\n\t\tmantissa_bits = FLOAT_MANTISSA_BITS;\n\t\tbit_mask = pwr(2, FLOAT_MANTISSA_MSBIT);\n\t}\n\telse if(flag == GET_DOUBLE)\n\t{\n\t\texp_max = DOUBLE_EXP_MAX;\n\t\tmantissa_bits = DOUBLE_MANTISSA_BITS;\n\t\tbit_mask = pwr(2, DOUBLE_MANTISSA_MSBIT);\n\t}\n\telse \n\t{\n\t\texp_max = LONG_DOUBLE_EXP_MAX;\n\t\tmantissa_bits = LONG_DOUBLE_MANTISSA_BITS;\n\t\tbit_mask = pwr(2, LONG_DOUBLE_MANTISSA_MSBIT);\n\t}\n\n\tif(exp == exp_max)\n\t{\n\t\tsprintf(str, \" = %cInfiniti\", (sign ? '-' : ' '));\n\t\treturn;\n\t}\n\telse if(exp > 0)\n\t{\n\t\tif(exp > 31)\n\t\t{\n\t\t\tsprintf(str, \" >= 2^31 !!\");\n\t\t\treturn;\n\t\t}\n\t\telse\n\t\t\tintegral <<= exp;\n\t}\n\telse if(exp < 0)\n\t{\n\t\tif(flag == GET_FLOAT)\n\t\t\tfrac |= (1 << FLOAT_MANTISSA_BITS);\n\t\telse if(flag == GET_DOUBLE)\n\t\t\tfrac |= ((ULONGLONG)1 << DOUBLE_MANTISSA_BITS);\n\t\telse \n\t\t\tfrac |= ((ULONGLONG)1 << LONG_DOUBLE_MANTISSA_BITS);\n\n\t\tfrac >>= (-exp);\n\t}\n\t\t\n\tfor(i=1; i<=mantissa_bits; i++, bit_mask /= 2)\n\t{\n\t\tif(i > exp)\n\t\t{\n\t\t\ttmp = (tmp/2);\n\t\t\tmantissa += (((frac & bit_mask) >> (mantissa_bits -i)) * tmp);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(exp <= mantissa_bits)\n\t\t\t\ttmp1 = ((frac & bit_mask) >> (mantissa_bits - exp));\n\t\t\telse\n\t\t\t\ttmp1 = ((frac & bit_mask) << (exp - mantissa_bits));\n\n\t\t\tintegral |= tmp1;\n\t\t}\n\t}\n\n\tif((exp > 0) && (exp < exp_max))\n\t\t//integral part should be converted for long long type\n\t\t//sprintf(str, \" = %c%llu.%08u\", (sign ? '-' : ' '), \n\t\tTSPrintf(str, \" = %c%u.%08u\", (sign ? '-' : ' '), \n\t\t\t\t\t\t(unsigned long)integral, (unsigned long)mantissa);\n\telse if(exp == 0)\n\t\tTSPrintf(str, \" = %c1.%08u\", (sign ? '-' : ' '), mantissa);\n\telse if(exp < 0)\n\t\tTSPrintf(str, \" = %c0.%08u\", (sign ? '-' : ' '), mantissa);\n}\n\n\nvoid Hex2Float(char *str, unsigned long addr)\n{\n\tULONGLONG frac;\n\tunsigned char a, b;\n\tint exp;\n\tchar sign;\n\tchar* tmpptr=*(char**)&addr;\n\ta = *((tmpptr+3));\n\tb = *((tmpptr+2));\n\n\t//Get the sign , exponent, significand fraction\n\tsign = (a & 0x80) >> 7;\n\n\texp = (a & 0x7F);\n\texp <<= 1;\n\texp |= ((b & 0x80) >> 7);\n\texp -= (FLOAT_EXP_MAX-1);\n\n\tmemcpy(&frac, (void *)tmpptr, 4);\n\tfrac &= 0x7FFFFF;\n\n\tGetDisplayString(str, frac, exp, sign, GET_FLOAT);\n}\n\nvoid Hex2Double(char *str, unsigned long addr)\n{\n\tint exp;\n\tunsigned char a, b;\n\tchar sign;\n\tULONGLONG frac;\nchar* tmpptr=*(char**)&addr;\n\ta = *((char *)(tmpptr+7));\n\tb = *((char *)(tmpptr+6));\n\n\t//Get the sign , exponent, significand fraction\n\tsign = (a & 0x80) >> 7;\n\t\n\texp = (a & 0x7F);\n\texp <<= 4;\n\texp\t|= ((b & 0xF0) >> 4);\n\texp -= (DOUBLE_EXP_MAX-1);\n\n\tmemcpy(&frac, (void *)tmpptr, 8);\n\tfrac &= 0x000FFFFFFFFFFFFF;\n\n\tGetDisplayString(str, frac, exp, sign, GET_DOUBLE);\n}\n\nvoid Hex2LongDouble(char *str, unsigned long addr)\n{\n\tint exp;\n\tunsigned char a, b;\n\tchar sign;\n\tULONGLONG frac;\nchar* tmpptr=*(char**)&addr;\n\ta = *((char *)(tmpptr+9));\n\tb = *((char *)(tmpptr+8));\n\n\t//Get the sign , exponent, significand fraction\n\tsign = (a & 0x80) >> 7;\n\t\n\texp = (a & 0x7F);\n\texp <<= 8;\n\texp\t|= b;\n\texp -= (LONG_DOUBLE_EXP_MAX-1);\n\n\tmemcpy(&frac, (void *)tmpptr, 8);\n\n\tGetDisplayString(str, frac, exp, sign, GET_LONG_DOUBLE);\n}\ntypedef union\n{\n\tfloat value;\n\tstruct\n\t{\n\t\tunsigned int fraction:23;\n\t\tunsigned int exponent:8;\n\t\tunsigned int sign:1;\n\t} ;\n\tunsigned int val;\n} myieee_float_shape_type;\n\nint ftype(float value)\n{\n\tmyieee_float_shape_type fval;\n\tfval.value=value;\n\tif(fval.val==0)\n\t\treturn POSITIVE_ZERO;\n\tif(fval.val==0x80000000)\n\t\treturn NEGATIVE_ZERO;\n\tif(fval.fraction==0 && fval.exponent==255 && fval.sign==0)\n\t\treturn POSITIVE_INDEFINITE;\n\tif(fval.fraction==0 && fval.exponent==255 && fval.sign==1)\n\t\treturn NEGATIVE_INDEFINITE;\n\tif(fval.exponent==255 && (fval.fraction & 0x400000)==0)\n\t\treturn SNAN;\n\tif(fval.exponent==255 && (fval.fraction & 0x400000)==1)\n\t\treturn QNAN;\n\tif(fval.exponent==255 && fval.fraction==0x400000)\n\t\treturn QNAN_INDEFINITE;\n\tif(fval.exponent>=1 && fval.exponent <=254 && fval.sign==0)\n\t\treturn POSITIVE_NORMALS;\n\tif(fval.exponent>=1 && fval.exponent <=254 && fval.sign==1)\n\t\treturn NEGITIVE_NORMALS;\n\tif(fval.exponent==0 && fval.fraction && fval.sign==0)\n\t\treturn POSITIVE_DENORMALS;\n\tif(fval.exponent==0 && fval.fraction && fval.sign==1)\n\t\treturn NEGITIVE_DENORMALS;\n\treturn UNKNOW_FLOAT_NUMBER;\n}\ntypedef union\n{\n\tdouble value;\n\tstruct\n\t{\n\t\tunsigned int fractionl;\n\t\tunsigned int fractionh:20;\n\t\tunsigned int exponent:11;\n\t\tunsigned int sign:1;\n\t} ;\n\tunsigned __int64 val;\n} myieee_double_shape_type;\n\nint ftype(double value)\n{\n\tmyieee_double_shape_type fval;\n\tfval.value=value;\n\tif(fval.val==0)\n\t\treturn POSITIVE_ZERO;\n\tif(fval.val==0x8000000000000000I64)\n\t\treturn NEGATIVE_ZERO;\n\tif(fval.fractionl==0 &&fval.fractionh==0 && fval.exponent==0x7ff && fval.sign==0)\n\t\treturn POSITIVE_INDEFINITE;\n\tif(fval.fractionl==0 &&fval.fractionh==0 && fval.exponent==0x7ff && fval.sign==1)\n\t\treturn NEGATIVE_INDEFINITE;\n\tif(fval.exponent==0x7ff && (fval.fractionh & 0x80000)==0)\n\t\treturn SNAN;\n\tif(fval.exponent==0x7ff && (fval.fractionh & 0x80000)==1)\n\t\treturn QNAN;\n\tif(fval.exponent==0x7ff && fval.fractionh ==0x80000 && fval.fractionl==0)\n\t\treturn QNAN_INDEFINITE;\n\tif(fval.exponent>=1 && fval.exponent <0x7ff && fval.sign==0)\n\t\treturn POSITIVE_NORMALS;\n\tif(fval.exponent>=1 && fval.exponent <0x7ff && fval.sign==1)\n\t\treturn NEGITIVE_NORMALS;\n\tif(fval.exponent==0 && (fval.fractionh || fval.fractionl) && fval.sign==0)\n\t\treturn POSITIVE_DENORMALS;\n\tif(fval.exponent==0 && (fval.fractionh || fval.fractionl) && fval.sign==1)\n\t\treturn NEGITIVE_DENORMALS;\n\treturn UNKNOW_FLOAT_NUMBER;\n}\n\n\n\nint ftype(myieee_long_double_shape_type fval)\n{\n\tif(fval.fractionl==0 && fval.fractionh==0 && fval.sign==0 && fval.exponent==0 &&fval.integer==0)\n\t\treturn POSITIVE_ZERO;\n\tif(fval.fractionl==0 && fval.fractionh==0 && fval.sign==1 && fval.exponent==0 &&fval.integer==0)\n\t\treturn NEGATIVE_ZERO;\n\tif(fval.fractionl==0 &&fval.fractionh==0 && fval.exponent==0x7fff && fval.sign==0&&fval.integer==1)\n\t\treturn POSITIVE_INDEFINITE;\n\tif(fval.fractionl==0 &&fval.fractionh==0 && fval.exponent==0x7fff && fval.sign==1 &&fval.integer==1)\n\t\treturn NEGATIVE_INDEFINITE;\n\tif(fval.exponent==0x7fff && (fval.fractionh & 0x40000000)==0 &&fval.integer==1)\n\t\treturn SNAN;\n\tif(fval.exponent==0x7fff && (fval.fractionh & 0x40000000)==1 &&fval.integer==1)\n\t\treturn QNAN;\n\tif(fval.exponent==0x7fff && fval.fractionh==0x40000000 && fval.fractionl==0 &&fval.integer==1)\n\t\treturn QNAN_INDEFINITE;\n\tif(fval.exponent>=1 && fval.exponent <0x7fff && fval.sign==0&&fval.integer==1)\n\t\treturn POSITIVE_NORMALS;\n\tif(fval.exponent>=1 && fval.exponent <0x7fff && fval.sign==1&&fval.integer==1)\n\t\treturn NEGITIVE_NORMALS;\n\tif(fval.exponent==0 && (fval.fractionh || fval.fractionl) && fval.sign==0&&fval.integer==0)\n\t\treturn POSITIVE_DENORMALS;\n\tif(fval.exponent==0 && (fval.fractionh || fval.fractionl) && fval.sign==1&&fval.integer==0)\n\t\treturn NEGITIVE_DENORMALS;\n\treturn UNKNOW_FLOAT_NUMBER;\n}"
  },
  {
    "path": "Project/Code/Source/Float2String.h",
    "content": "#ifndef _FLOAT2STRING_H_\n#define _FLOAT2STRING_H_\n\n#define FLOAT_MANTISSA_MSBIT 22\n#define DOUBLE_MANTISSA_MSBIT 51\n#define LONG_DOUBLE_MANTISSA_MSBIT 62\n\n#define FLOAT_MANTISSA_BITS 23\n#define DOUBLE_MANTISSA_BITS 52\n#define LONG_DOUBLE_MANTISSA_BITS 63\n\n#define FLOAT_EXP_MAX 128\n#define DOUBLE_EXP_MAX 1024\n#define LONG_DOUBLE_EXP_MAX 16384\n\n#define GET_FLOAT 1\n#define GET_DOUBLE 2\n#define GET_LONG_DOUBLE 3\nvoid Hex2Float(char *str, unsigned long addr);\nvoid Hex2Double(char *str, unsigned long addr);\nvoid Hex2LongDouble(char *str, unsigned long addr);\n\nenum{\n\tPOSITIVE_ZERO,\n\tNEGATIVE_ZERO,   \n\tPOSITIVE_INDEFINITE,\n\tNEGATIVE_INDEFINITE,\n\tSNAN,\n\tQNAN,\n\tQNAN_INDEFINITE,\n\tPOSITIVE_NORMALS,\n\tNEGITIVE_NORMALS,\n\tPOSITIVE_DENORMALS,\n\tNEGITIVE_DENORMALS,\n\tUNKNOW_FLOAT_NUMBER,\n};\n\ntypedef union\n{\n\tlong double value;\n\tstruct\n\t{\n\t\tunsigned int fractionl;\n\t\tunsigned int fractionh:31;\n\t\tunsigned int integer:1;\n\t\tunsigned int exponent:15;\n\t\tunsigned int sign:1;\n\t\tunsigned int empty:16;\n\t} ;\n} myieee_long_double_shape_type;\n\nint ftypef(myieee_long_double_shape_type fval);\nint ftyped(double value);\nint ftypeld(float value);\n#endif //_FLOAT2STRING_H_"
  },
  {
    "path": "Project/Code/Source/Handle.cpp",
    "content": "#include \"StdAfx.h\" \n#include \"Handle.h\" \n\nNAME_SPACE_BEGIN\n\nCHandle::CHandle()\n{\n\tZeroMemory(m_RegisterType,sizeof(m_RegisterType));\n\tZeroMemory(m_HandleInfoDir,sizeof(m_HandleInfoDir));\n}\n\nvoid CHandle::Reset()\n{\n\tCloseAllHandle();\n\tZeroMemory(m_RegisterType,sizeof(m_RegisterType));\n\tZeroMemory(m_HandleInfoDir,sizeof(m_HandleInfoDir));\n}\n\nHANDLE_TYPE CHandle::CreateHandle(void* HandleInfo,DWORD Type)\n{\n\tHANDLE_TYPE Result;\n\tDWORD nDir,nSlot;\n\tHANDLE_INFO*pFreeSlot=NULL;\n\tfor(nDir=0;nDir<HANDLE_DIR_COUNT;nDir++)\n\t{\n\t\tif(m_HandleInfoDir[nDir]==NULL)\n\t\t{\n\t\t\tm_HandleInfoDir[nDir]=new HANDLE_INFO[HANDLE_SLOT_COUNT];\n\t\t\tZeroMemory(m_HandleInfoDir[nDir],sizeof(HANDLE_INFO)*HANDLE_SLOT_COUNT);\n\t\t}\n\t\tfor(nSlot=0;nSlot<HANDLE_SLOT_COUNT;nSlot++)\n\t\t{\n\t\t\tif(m_HandleInfoDir[nDir][nSlot].Attribute == 0)\n\t\t\t{\n\t\t\t\tpFreeSlot=&m_HandleInfoDir[nDir][nSlot];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(pFreeSlot)\n\t\t\tbreak;\n\t}\n\tif(pFreeSlot==NULL)\n\t\treturn INVALID_HANDLE;\n\tResult = MAKE_DWORD(Type,(nDir<<10)|nSlot);\n\tpFreeSlot->HandleInfo = HandleInfo;\n\tpFreeSlot->Attribute = MAKE_DWORD(Type,HANDLE_EXIST);\n\treturn Result;\n}\n\nbool CHandle::CloseHandle(HANDLE_TYPE Handle)\n{\n\tHANDLE_INFO*pHandleInfo;\n\tDWORD nDir,nSlot,m;\n\tDWORD Type;\n\tType  = HIGH_WORD(Handle);\n\tnSlot = Handle&0x03FF;\n\tnDir  = (Handle>>10)&0x3F;\n\tif(\tm_HandleInfoDir[nDir] == NULL ||\n\t\t(m_HandleInfoDir[nDir][nSlot].Attribute&HANDLE_EXIST)==0 ||\n\t\tHIGH_WORD(m_HandleInfoDir[nDir][nSlot].Attribute)!=Type)\n\t\treturn false;\n\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\treturn false;\n\tpHandleInfo = &m_HandleInfoDir[nDir][nSlot];\n\tif(m_RegisterType[Type].RelHIFunc)\n\t\tm_RegisterType[Type].RelHIFunc(m_RegisterType[Type].Param,pHandleInfo->HandleInfo);\n\telse\n\t\tdelete (BYTE*)pHandleInfo->HandleInfo;\n\tpHandleInfo->HandleInfo = NULL;\n\tpHandleInfo->Attribute = 0;\n\tpHandleInfo = m_HandleInfoDir[nDir];\n\tfor(m=0;m<HANDLE_SLOT_COUNT;m++)\n\t{\n\t\tif(pHandleInfo[m].Attribute & HANDLE_EXIST)\n\t\t\tbreak;\n\t}\n\tif(m>=HANDLE_SLOT_COUNT)\n\t{\n\t\tdelete m_HandleInfoDir[nDir];\n\t\tm_HandleInfoDir[nDir] = NULL;\n\t}\n\treturn true;\n}\n\nvoid CHandle::CloseAllHandle()\n{\n\tDWORD  Type;\n\tHANDLE_INFO*HandleInfoAry;\n\tfor(int n=0;n<HANDLE_DIR_COUNT;n++)\n\t{\n\t\tHandleInfoAry = m_HandleInfoDir[n];\n\t\tif(HandleInfoAry)\n\t\t{\n\t\t\tfor(int m=0;m<HANDLE_SLOT_COUNT;m++)\n\t\t\t{\n\t\t\t\tType = HIGH_WORD(HandleInfoAry[m].Attribute);\n\t\t\t\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(HandleInfoAry[m].Attribute & HANDLE_EXIST)\n\t\t\t\t{\n\t\t\t\t\tif(m_RegisterType[Type].RelHIFunc)\n\t\t\t\t\t\tm_RegisterType[Type].RelHIFunc(m_RegisterType[Type].Param,HandleInfoAry[m].HandleInfo);\n\t\t\t\t\telse\n\t\t\t\t\t\tdelete (BYTE*)HandleInfoAry[m].HandleInfo;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete HandleInfoAry;\n\t\t\tm_HandleInfoDir[n]=NULL;\n\t\t}\n\t}\n}\n\nbool CHandle::IsHandleExist(HANDLE_TYPE Handle)\n{\n\tDWORD nDir,nSlot;\n\tDWORD Type;\n\tType  = HIGH_WORD(Handle);\n\tnSlot = Handle&0x03FF;\n\tnDir  = (Handle>>10)&0x3F;\n\tif( m_HandleInfoDir[nDir] == NULL || \n\t\t(m_HandleInfoDir[nDir][nSlot].Attribute&HANDLE_EXIST)==0 ||\n\t\tHIGH_WORD(m_HandleInfoDir[nDir][nSlot].Attribute)!=Type)\n\t\treturn false;\n\treturn true;\n}\n\nvoid* CHandle::GetHandleInfo(HANDLE_TYPE Handle)\n{\n\tDWORD nDir,nSlot;\n\tDWORD Type;\n\tType  = HIGH_WORD(Handle);\n\tnSlot = Handle&0x03FF;\n\tnDir  = (Handle>>10)&0x3F;\n\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\treturn false;\n\tif(\tm_HandleInfoDir[nDir] == NULL ||\n\t\t(m_HandleInfoDir[nDir][nSlot].Attribute&HANDLE_EXIST)==0 ||\n\t\tHIGH_WORD(m_HandleInfoDir[nDir][nSlot].Attribute)!=Type)\n\t\treturn NULL;\n\treturn m_HandleInfoDir[nDir][nSlot].HandleInfo;\n}\n\nDWORD CHandle::GetHandleType(HANDLE_TYPE Handle)\n{\n\treturn HIGH_WORD(Handle);\n}\n\nHANDLE_TYPE CHandle::GetFirstHandle(DWORD Type)\n{\n\tDWORD nDir,nSlot;\t\n\tnSlot = 0;\n\tnDir  = 0;\n\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\treturn false;\n\tfor(DWORD n=nDir;n<HANDLE_DIR_COUNT;n++)\n\t{\n\t\tif(m_HandleInfoDir[n])\n\t\t{\n\t\t\tfor(DWORD s=nSlot;s<HANDLE_SLOT_COUNT;s++)\n\t\t\t{\n\t\t\t\tif( HIGH_WORD(m_HandleInfoDir[n][s].Attribute)==Type && \n\t\t\t\t\t(m_HandleInfoDir[nDir][nSlot].Attribute&HANDLE_EXIST))\n\t\t\t\t\treturn (HANDLE_TYPE)((Type<<16)+(n<<10)+s);\n\t\t\t}\n\t\t}\n\t\tnSlot=0;\n\t}\n\treturn INVALID_HANDLE;\n}\n\nHANDLE_TYPE  CHandle::GetNextHandle(HANDLE_TYPE Handle)\n{\n\tDWORD nDir,nSlot;\n\tDWORD Type;\n\tType  = HIGH_WORD(Handle);\n\tnSlot = Handle&0x03FF;\n\tnDir  = (Handle>>10)&0x3F;\n\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\treturn false;\n\tnSlot++;\n\tfor(DWORD n=nDir;n<HANDLE_DIR_COUNT;n++)\n\t{\n\t\tif(m_HandleInfoDir[n])\n\t\t{\n\t\t\tfor(DWORD s=nSlot;s<HANDLE_SLOT_COUNT;s++)\n\t\t\t{\n\t\t\t\tif( HIGH_WORD(m_HandleInfoDir[n][s].Attribute)==Type && \n\t\t\t\t\t(m_HandleInfoDir[nDir][nSlot].Attribute&HANDLE_EXIST)\n\t\t\t\t\t)\n\t\t\t\t\treturn (HANDLE_TYPE)((Type<<16)+(n<<10)+s);\n\t\t\t}\n\t\t}\n\t\tnSlot=0;\n\t}\n\treturn INVALID_HANDLE;\n}\n\nDWORD CHandle::Register(REL_HI_FUNC RelHIFunc,void* Param)\n{\t\n\tfor(DWORD Type=1;Type<MAX_HANDLE_TYPE;Type++)\n\t{\n\t\tif(m_RegisterType[Type].bExist==false)\n\t\t{\n\t\t\tm_RegisterType[Type].RelHIFunc=RelHIFunc;\n\t\t\tm_RegisterType[Type].Param=Param;\n\t\t\tm_RegisterType[Type].bExist=true;\n\t\t\treturn Type;\n\t\t}\n\t}\n\treturn INVALID_HANDLE_TYPE;\n}\n\nbool CHandle::Unregister(DWORD Type)\n{\n\tif(Type >= MAX_HANDLE_TYPE || m_RegisterType[Type].bExist==false)\n\t\treturn false;\n\tm_RegisterType[Type].RelHIFunc=NULL;\n\tm_RegisterType[Type].Param=NULL;\n\tm_RegisterType[Type].bExist=false;\n\treturn true;\n}\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/Handle.h",
    "content": "#ifndef _HANDLE_H_\n#define _HANDLE_H_\n\nNAME_SPACE_BEGIN\n///////////////////////////////////λֲ////////////////////////////////////////////////////\n//[                                     ] [ҳĿ¼ ] [        ڲ         ]\n//1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00\n/////////////////////////////////////////////////////////////////////////////////////////////////\ntypedef DWORD\tHANDLE_TYPE;\n\n#define\tINVALID_HANDLE\t\t\t0x00\t\t\t//Ч\n#define\tHANDLE_DIR_COUNT\t\t0x40\t\t\t//ҳ\n#define\tHANDLE_SLOT_COUNT\t\t0x400\t\t\t//ÿҳ\n#define\tHANDLE_TYPE_COUNT\t\t0x40\t\t\t//ǼǾ\n#define HANDLE_EXIST\t\t\t0x00000001\t\t//æ־\n#define HANDLE_BUSY\t\t\t\t0x00000002\t\t//æ־\n#define HANDLE_DUP\t\t\t\t0x00000004\t\t//Ƿɸ\n#define HANDLE_INHERIT\t\t\t0x00000008\t\t//Ƿɼ̳\n#define MAX_HANDLE_TYPE\t\t\t0x100\t\t\t//͸\n#define INVALID_HANDLE_TYPE     0\n\nstruct HANDLE_INFO\n{\n\tvoid*\tHandleInfo;\n\tDWORD   Attribute;\n};\n\ntypedef\tbool(*REL_HI_FUNC)(void* Param,void* pInfo);\n\nstruct HANDLE_TYPE_INFO\n{\n\tREL_HI_FUNC RelHIFunc;\n\tvoid*\tParam;\n\tbool\tbExist;\n};\n\n#define CHandle\t\t\tCCodeHandle\n\nclass CHandle\n{\n\tHANDLE_INFO*\t\tm_HandleInfoDir[HANDLE_DIR_COUNT];\n\tHANDLE_TYPE_INFO\tm_RegisterType[MAX_HANDLE_TYPE];\npublic:\n\tCHandle();\n\tHANDLE_TYPE\tCreateHandle(void* HandleInfo,DWORD Type);\n\tbool\tCloseHandle(HANDLE_TYPE Handle);\n\tvoid\tCloseAllHandle();\n\tvoid\tReset();\n\tHANDLE_TYPE\tGetFirstHandle(DWORD Type);\n\tDWORD\tGetHandleType(HANDLE_TYPE Handle);\n\tbool\tIsHandleExist(HANDLE_TYPE Handle);\n\tvoid*\tGetHandleInfo(HANDLE_TYPE Handle);\n\tHANDLE_TYPE  GetNextHandle(HANDLE_TYPE Handle);\n\tDWORD\tRegister(REL_HI_FUNC RelHIFunc = NULL,void* Param = NULL);\n\tbool\tUnregister(DWORD Type);\n};\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/Heap.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Heap.h\"\n\nNAME_SPACE_BEGIN\n\n#define\tHEAP_SIGN\t\t\t\t\t0x77777777\n#define\tHEAP_ALIGN_SIGN\t\t\t\t0x77777778\n\nCFixedHeap::CFixedHeap()\n{\n\tm_HeapBuffer = NULL;\n\tm_HeapSize = 0;\n}\n\nCFixedHeap::~CFixedHeap()\n{\n\tDestroy();\n}\n\nbool CFixedHeap::Create(ULSIZE Size)\n{\n\tm_AllocateCount = 0;\n\tm_HeapSize = ALIGN_SIZE(Size,CHUNK_SIZE);\n\tm_HeapBuffer = (BYTE*)AllocSysMem(m_HeapSize);\n\tif(m_HeapBuffer==NULL)\n\t\treturn false;\n\tZeroMemory(m_HeapBuffer,m_HeapSize);\n\tm_MinFreeChunkCount = m_FreeChunkCount = InitFreeListBuffer(CHUNK_SIZE,m_HeapBuffer,m_HeapSize);\n\tm_pCacheFreeChunk = m_pFirstFreeChunk = (FREE_LIST*) m_HeapBuffer;\n\tm_pLastFreeChunk = (FREE_LIST*)&m_HeapBuffer[m_HeapSize-CHUNK_SIZE];\n\tZeroMemory(m_FreeList,sizeof(m_FreeList));\n\treturn true;\n}\n\nvoid CFixedHeap::Destroy()\n{\n\tif(m_HeapBuffer)\n\t{\n\t\tFreeSysMem(m_HeapBuffer);\n\t\tm_HeapBuffer = NULL;\n\t\tm_HeapSize = 0;\n\t}\n}\n\nULSIZE CFixedHeap::InitFreeListBuffer(ULSIZE BlockSize,void*ListBuffer,ULSIZE BufferSize)\n{\n\tULSIZE ListSize;\n\tFREE_LIST*pList,*pPrevList,HeadList;\n\tpPrevList = &HeadList;\n\tpList =(FREE_LIST*)ListBuffer;\n\tfor(ListSize=0;ListSize+BlockSize<=BufferSize;ListSize+=BlockSize)\n\t{\n\t\tpPrevList->pNext = pList;\n\t\tpList->pNext = NULL;\n\t\tpPrevList = pList;\n\t\tpList = (FREE_LIST*)((BYTE*)pList+BlockSize);\n\t}\n\treturn ListSize/BlockSize;\n}\n\nbool CFixedHeap::InfuseFreeMemory(ULSIZE Index)\n{\n\tm_FreeList[Index]=(FREE_LIST*) ChunkAlloc(CHUNK_SIZE);\n\tif(m_FreeList[Index])\n\t{\n\t\tInitFreeListBuffer(INDEX_BLOCK_SIZE(Index),m_FreeList[Index]->ChunkBuffer,CHUNK_SIZE);\n\t\treturn true;\n\t}\n\tULSIZE Size,LargerIndex;\n\tSize = INDEX_BLOCK_SIZE(Index);\n\tfor(ULSIZE IndexSize=Size*2;IndexSize<=MAX_BLOCK_SIZE;IndexSize+=Size)\n\t{\n\t\tLargerIndex = FREE_LIST_INDEX(IndexSize);\n\t\tif(m_FreeList[LargerIndex])\n\t\t{\n\t\t\tm_FreeList[Index] = m_FreeList[LargerIndex];\n\t\t\tm_FreeList[LargerIndex] = m_FreeList[LargerIndex]->pNext;\n\t\t\tInitFreeListBuffer(INDEX_BLOCK_SIZE(Index),m_FreeList[Index]->ChunkBuffer,INDEX_BLOCK_SIZE(LargerIndex));\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nvoid*CFixedHeap::Allocate(ULSIZE Size)\n{\n\tif(m_HeapBuffer==NULL)\n\t\treturn NULL;\n\tm_AllocateCount++;\n\tCODE_ASSERT(m_pFirstFreeChunk && m_FreeChunkCount);//ѿռ⵽ƻ\n\tif(Size+BLOCK_EXT_DATA>MAX_BLOCK_SIZE)\n\t\treturn HugeAllocate(Size);\n\tULSIZE Index;\n\tMIN_LIMIT(Size,1);\n\tIndex = FREE_LIST_INDEX(Size+BLOCK_EXT_DATA);\n\tif(m_FreeList[Index]==NULL && InfuseFreeMemory(Index)==false)\n\t{\n\t\treturn NULL;\n\t}\n\tif(m_FreeList[Index]==NULL)\n\t\treturn NULL;\n\tFREE_LIST*pList = m_FreeList[Index]->pNext;\n\tm_FreeList[Index]->Block.BlockSize = Size;\n\tvoid*Buffer = m_FreeList[Index]->Block.UserData;\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tm_FreeList[Index]->Block.CheckSign = HEAP_SIGN;\n\tPUT_DWORD(Buffer,Size,HEAP_SIGN);\n#endif\n\tm_FreeList[Index] = pList;\n\treturn Buffer;\n}\n\nbool CFixedHeap::Free(void*Ptr)\n{\n\tif(m_HeapBuffer==NULL)\n\t\treturn false;\n\tif(IsHeapMemory(Ptr)==false)\n\t\treturn false;\n\tif(HugeFree(Ptr))\n\t\treturn true;\n\tFREE_LIST*pList = (FREE_LIST*)((BYTE*)Ptr-BLOCK_EXT_DATA_AHEAD);\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tif(GET_DWORD(Ptr,pList->Block.BlockSize)!=HEAP_SIGN)//ڴ汻\n\t\tReportMemoryOverflow(Ptr,pList->Block.BlockSize);\n\tif(pList->Block.CheckSign!=HEAP_SIGN)\n\t\tReportMemoryRedelete(Ptr,pList->Block.BlockSize);\n\tpList->Block.CheckSign = 0;\n#endif\n\tULSIZE Index = FREE_LIST_INDEX(pList->Block.BlockSize+BLOCK_EXT_DATA);\n\tpList->pNext = m_FreeList[Index];\n\tm_FreeList[Index] = pList;\n\treturn true;\n}\n\nvoid* CFixedHeap::AlignAllocate(ULSIZE Size,ULSIZE Align)\n{\n\tALIGN_PTR_HEAD*pHead;\n\tvoid*Buffer;\n\tNUM_PTR Ptr;\n\tBuffer = Allocate(Size+sizeof(ALIGN_PTR_HEAD)+Align);\n\tif(Buffer==NULL)\n\t\treturn NULL;\n\tPtr = (NUM_PTR)Buffer;\n\tPtr += Align-Ptr%Align;\n\tif(Ptr<(NUM_PTR)Buffer+sizeof(ALIGN_PTR_HEAD))\n\t\tPtr+=Align;\n\tpHead = (ALIGN_PTR_HEAD*)(Ptr-sizeof(ALIGN_PTR_HEAD));\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tpHead->CheckSign = HEAP_ALIGN_SIGN;\n#endif\n\tpHead->Offset =(ULSIZE) (Ptr - (NUM_PTR)Buffer);\n\tBuffer = (void*)Ptr;\n\treturn Buffer;\n}\n\nbool CFixedHeap::AlignFree(void*Ptr)\n{\n\tALIGN_PTR_HEAD*pHead;\n\tif(Ptr==NULL)\n\t\treturn false;\n\tpHead = (ALIGN_PTR_HEAD*)((NUM_PTR)Ptr-sizeof(ALIGN_PTR_HEAD));\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tif(pHead->CheckSign!=HEAP_ALIGN_SIGN)\n\t{\n\t\tReportMemoryOverflow(Ptr,0);\n\t\treturn false;\n\t}\n#endif\n\tPtr = (void*)((NUM_PTR)Ptr - pHead->Offset);\n\treturn Free(Ptr);\n}\n\nvoid* CFixedHeap::HugeAllocate(ULSIZE Size)\n{\n\tFREE_LIST*pList =(FREE_LIST*) ChunkAlloc(ALIGN_SIZE(Size+BLOCK_EXT_DATA,CHUNK_SIZE));\n\tif(pList == NULL)\n\t{\n\t\treturn NULL;\n\t}\n\tpList->Block.BlockSize = Size;\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tpList->Block.CheckSign = HEAP_SIGN;\n\tPUT_DWORD(pList->Block.UserData,Size,HEAP_SIGN);\n#endif\n\treturn pList->Block.UserData;\n}\n\nbool CFixedHeap::HugeFree(void*Ptr)\n{\n\tFREE_LIST*pList = (FREE_LIST*)((BYTE*)Ptr-BLOCK_EXT_DATA_AHEAD);\n\tif(pList->Block.BlockSize+BLOCK_EXT_DATA<=MAX_BLOCK_SIZE)\n\t{\n\t\treturn false;\n\t}\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tif(GET_DWORD(Ptr,pList->Block.BlockSize)!=HEAP_SIGN)\n\t\tReportMemoryOverflow(Ptr,pList->Block.BlockSize);\n\tif(pList->Block.CheckSign!=HEAP_SIGN)\n\t\tReportMemoryRedelete(Ptr,pList->Block.BlockSize);\n\tpList->Block.CheckSign = 0;\n#endif\n\tbool Result = ChunkFree(pList,ALIGN_SIZE(pList->Block.BlockSize+BLOCK_EXT_DATA,CHUNK_SIZE));\n\treturn Result;\n}\n\nBYTE*CFixedHeap::ChunkAlloc(ULSIZE Size)\n{\n\tBYTE*pChunkBuffer;\n\tFREE_LIST*pFreeChunk,*pEndFreeChunk,*pPrevChunk;\n\tULSIZE ChunkCount;\n\tCODE_ASSERT(!(m_pFirstFreeChunk && m_pFirstFreeChunk->pNext ==NULL && m_FreeChunkCount>=1));\n\tChunkCount = PAGE_COUNT(Size,CHUNK_SIZE);\n\tpFreeChunk = m_pFirstFreeChunk;\n\twhile(pFreeChunk)\n\t{\n\t\tif(pEndFreeChunk=IsSeriate(pFreeChunk,CHUNK_SIZE,ChunkCount))\n\t\t\tbreak;\n\t\tpPrevChunk = pFreeChunk;\n\t\tpFreeChunk = pFreeChunk->pNext;\n\t}\n\tif(pFreeChunk==NULL)\n\t\treturn NULL;\n\tpChunkBuffer = pFreeChunk->ChunkBuffer;\n\n\tm_FreeChunkCount-=ChunkCount;\n\tif(m_MinFreeChunkCount>m_FreeChunkCount)\n\t\tm_MinFreeChunkCount=m_FreeChunkCount;\n\n\tif(m_pFirstFreeChunk==pFreeChunk)\n\t\tm_pFirstFreeChunk = pEndFreeChunk->pNext;\n\telse\n\t\tpPrevChunk->pNext = pEndFreeChunk->pNext;\n\n\tif(pEndFreeChunk==m_pLastFreeChunk)\n\t\tm_pLastFreeChunk = m_pFirstFreeChunk;\n\n\tif(m_pCacheFreeChunk>=pFreeChunk && m_pCacheFreeChunk<=pEndFreeChunk)\n\t{\n\t\tm_pCacheFreeChunk = pEndFreeChunk->pNext;\n\t\tif(m_pCacheFreeChunk==NULL)\n\t\t\tm_pCacheFreeChunk = m_pFirstFreeChunk;\n\t}\n\treturn pChunkBuffer;\n}\n\nbool CFixedHeap::ChunkFree(void*pChunkBuffer,ULSIZE Size)\n{\n\tULSIZE ChunkCount;\n\tFREE_LIST*pFreeList,*pFreeEndList;\n\tif(((BYTE*)pChunkBuffer - m_HeapBuffer)%CHUNK_SIZE)\n\t\treturn false;\n\tSize = ALIGN_SIZE(Size,CHUNK_SIZE);\n\tChunkCount = InitFreeListBuffer(CHUNK_SIZE,pChunkBuffer,Size);\n\n\tpFreeList=(FREE_LIST*)pChunkBuffer;\n\tpFreeEndList = (FREE_LIST*)((BYTE*)pChunkBuffer+Size-CHUNK_SIZE);\n\n\tCODE_ASSERT(pFreeList!=m_pFirstFreeChunk&&pFreeList!=m_pLastFreeChunk&&pFreeList!=m_pCacheFreeChunk);\n\n\tif(m_pFirstFreeChunk==NULL && m_pLastFreeChunk==NULL)\n\t{\n\t\tm_pFirstFreeChunk = pFreeList;\n\t\tm_pLastFreeChunk = pFreeEndList;\n\t}\n\telse if(pFreeList < m_pFirstFreeChunk)\n\t{\n\t\tpFreeEndList->pNext = m_pFirstFreeChunk;\n\t\tm_pFirstFreeChunk = pFreeList;\n\t}\n\telse if(pFreeList > m_pLastFreeChunk)\n\t{\n\t\tm_pLastFreeChunk->pNext = pFreeList;\n\t\tm_pLastFreeChunk = pFreeEndList;\n\t}\n\telse if(pFreeList > m_pFirstFreeChunk  && pFreeList < m_pCacheFreeChunk)\n\t{\n\t\tm_pCacheFreeChunk = m_pFirstFreeChunk;\n\t\twhile(m_pCacheFreeChunk->pNext < pFreeList)\n\t\t\tm_pCacheFreeChunk = m_pCacheFreeChunk->pNext;\n\t\tpFreeEndList->pNext = m_pCacheFreeChunk->pNext;\n\t\tm_pCacheFreeChunk->pNext = pFreeList;\n\t}\n\telse//if(pFreeList > m_pCacheFreeChunk  && pFreeList < m_pLastFreeChunk)\n\t{\n\t\twhile(m_pCacheFreeChunk->pNext < pFreeList)\n\t\t\tm_pCacheFreeChunk = m_pCacheFreeChunk->pNext;\n\t\tpFreeEndList->pNext = m_pCacheFreeChunk->pNext;\n\t\tm_pCacheFreeChunk->pNext = pFreeList;\n\t}\n\tm_FreeChunkCount+=ChunkCount;\n\tm_pCacheFreeChunk = (FREE_LIST*)pChunkBuffer;\n\treturn true;\n}\n\nFREE_LIST*CFixedHeap::IsSeriate(FREE_LIST*pList,ULSIZE BlockSize,ULSIZE Count)\n{\n\tfor(ULSIZE n=1;n<Count;n++)\n\t{\n\t\tif(pList==NULL || ((BYTE*)pList->pNext - (BYTE*)pList)!=BlockSize)\n\t\t\treturn NULL;\n\t\tpList=pList->pNext;\n\t}\n\treturn pList;\n}\n\nbool CFixedHeap::IsHeapMemory(void*pData)\n{\n\treturn m_HeapBuffer && (BYTE*)pData>m_HeapBuffer && (BYTE*)pData<m_HeapBuffer+m_HeapSize-1;\n}\n\nvoid CFixedHeap::Compact()\n{\n\t\n}\n\nbool CFixedHeap::Validate()\n{\n\treturn GetFreeChunkCount()==m_FreeChunkCount;\n}\n\nULSIZE CFixedHeap::GetFreeChunkCount()\n{\n\tULSIZE Count =0;\n\tFREE_LIST *pList = m_pFirstFreeChunk;\n\twhile(pList)\n\t{\n\t\tif(pList && pList->pNext && pList->pNext<=pList)\n\t\t\treturn 0;\n\t\tpList = pList->pNext;\n\t\tCount++;\n\t}\n\treturn Count;\n}\n\nULSIZE CFixedHeap::GetFreeChunkSpace()\n{\n\tULSIZE Size;\n\tFREE_LIST*\tpFreeChunk;\n\tpFreeChunk = m_pFirstFreeChunk;\n\tSize = 0;\n\twhile(pFreeChunk)\n\t{\n\t\tSize+=CHUNK_SIZE;\n\t\tpFreeChunk=pFreeChunk->pNext;\n\t}\n\treturn Size;\n}\n\nvoid* CFixedHeap::AllocSysMem(ULSIZE Size)\n{\n#ifdef CODE_OS_NT_DRV\n\treturn ExAllocatePoolWithTag(NonPagedPool, Size,'Heap');\n#else\n\treturn malloc(Size);\n#endif\n}\n\nvoid CFixedHeap::FreeSysMem(void*Ptr)\n{\n#ifdef CODE_OS_NT_DRV\n\tExFreePool(Ptr);\n#else\n\tfree(Ptr);\n#endif\n}\n\nbool CFixedHeap::IsValidMemory(void*Ptr)\n{ \n\treturn true;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n}\n\nvoid CFixedHeap::ReportMemoryOverflow(void*ptr,ULSIZE Size)\n{\n\tchar szBuffer[256];\n\tTSPrintf(szBuffer,\"ڴ[%p]\\n\",ptr);\n#ifdef CODE_ALLOC_USER_HEAP_OVERFLOW_OUTPUT\n\tCODE_DEBUG_OUTPUT(szBuffer);\n#endif\n#ifdef CODE_ALLOC_USER_HEAP_DEBUG_BREAK\n\tCODE_ASSERT(false);\n#endif\n\treturn;\n}\n\nvoid CFixedHeap::ReportMemoryRedelete(void*ptr,ULSIZE Size)\n{\n\tchar szBuffer[256];\n\tTSPrintf(szBuffer,\"ڴ[%p]ظͷŻ鸲\\n\",ptr);\n#ifdef CODE_ALLOC_USER_HEAP_OVERFLOW_OUTPUT\n\tCODE_DEBUG_OUTPUT(szBuffer);\n#endif\n#ifdef CODE_ALLOC_USER_HEAP_DEBUG_BREAK\n\tCODE_ASSERT(false);\n#endif\n\treturn;\n}\n\n/*\nvoid CFixedHeapTest()\n{\n\tCFixedHeap Heap;\n\tHeap.Create(0x10000+0x4000);\n\tvoid*ptr[0x100],*ptr1,*ptr2;\n\tptr1 = Heap.Allocate(0x3FFC);\n\tZeroMemory(ptr1,0x3FFC);\n\tfor(int n=0;n<0x100;n++)\n\t{\n\t\tptr[n]=Heap.Allocate(12);\n\t\tZeroMemory(ptr[n],12);\n\t\tprintf(\"ptr[%d] = %p \\n\",n,ptr[n]);\n\t\tif(ptr[n]==NULL)\n\t\t{\n\t\t\tprintf(\"Alloc %d Error \\n\",n);\n\t\t\treturn;\n\t\t}\n\t}\n\tptr2 = Heap.Allocate(0x3FFC);\n\tHeap.Free(ptr2);\n\tfor(int n=0;n<0x100;n++)\n\t{\n\t\tif(Heap.Free(ptr[n])==false)\n\t\t{\n\t\t\tprintf(\"Free %d Error\\n\",n);\n\t\t\treturn;\n\t\t}\n\t}\n\tHeap.Free(ptr1);\n\tprintf(\"Free Chunk Space %X (bytes)\\n\",Heap.GetFreeChunkSpace());\n\tHeap.Destroy();\n\treturn;\n}\n*/\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/Heap.h",
    "content": "#ifndef _HEAP_H_\n#define _HEAP_H_\n\nNAME_SPACE_BEGIN\n\n#define BLOCK_ALIGN\t\t\t\t\t0x10\n#define MAX_BLOCK_SIZE\t\t\t\t0x400\n#define FREE_LIST_COUNT\t\t\t\t(MAX_BLOCK_SIZE/BLOCK_ALIGN)\n#define FREE_LIST_INDEX(__size)\t\t(((__size)+BLOCK_ALIGN-1)/BLOCK_ALIGN-1)\n#define CHUNK_SIZE\t\t\t\t\t0x1000\n\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n#define BLOCK_EXT_DATA\t\t\t\t(sizeof(ULSIZE)+sizeof(DWORD)*2)\n#define BLOCK_EXT_DATA_AHEAD\t\t(sizeof(ULSIZE)+sizeof(DWORD))\n#else\n#define BLOCK_EXT_DATA\t\t\t\t(sizeof(ULSIZE)+sizeof(DWORD))\n#define BLOCK_EXT_DATA_AHEAD\t\tsizeof(ULSIZE)\n#endif\n\n#define INDEX_BLOCK_SIZE(__index)\t(((__index)+1)*BLOCK_ALIGN)\n\nunion FREE_LIST\n{\n\tFREE_LIST*pNext;\n\tstruct\n\t{\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\t\tDWORD\tCheckSign;\n#endif\n\t\tULSIZE\tBlockSize;\n\t\tBYTE\tUserData[4];\n\t}Block;\n\tBYTE\tChunkBuffer[1];\n};\n\nstruct ALIGN_PTR_HEAD\n{\n#ifdef CODE_ALLOC_USER_HEAP_FREE_CHECK\n\tDWORD\tCheckSign;\n#endif\n\tULSIZE\tOffset;\n};\n\nclass CFixedHeap\n{\npublic:\n\tCFixedHeap();\n\t~CFixedHeap();\npublic:\n\tvirtual void*\tAllocSysMem(ULSIZE Size);\n\tvirtual void\tFreeSysMem(void*Ptr);\n\tvirtual bool\tIsValidMemory(void*Ptr);\n\tvirtual void\tReportMemoryOverflow(void*ptr,ULSIZE Size);\n\tvirtual void\tReportMemoryRedelete(void*ptr,ULSIZE Size);\npublic:\n\tbool\t\tCreate(ULSIZE Size);\n\tvoid\t\tDestroy();\n\tvoid*\t\tAllocate(ULSIZE Size);\n\tbool\t\tFree(void*Ptr);\n\tvoid*\t\tAlignAllocate(ULSIZE Size,ULSIZE Align);\n\tbool\t\tAlignFree(void*Ptr);\n\tvoid\t\tCompact();\n\tbool\t\tValidate();\n\tULSIZE\t\tGetFreeChunkCount();\n\tULSIZE\t\tGetFreeChunkSpace();\nprivate:\n\tULSIZE\t\tInitFreeListBuffer(ULSIZE BlockSize,VOID*ListBuffer,ULSIZE BufferSize);\n\tbool\t\tInfuseFreeMemory(ULSIZE Index);\n\tvoid*\t\tHugeAllocate(ULSIZE Size);\n\tbool\t\tHugeFree(void*Ptr);\n\tFREE_LIST*\tIsSeriate(FREE_LIST*pList,ULSIZE BlockSize,ULSIZE Count);\npublic:\n\tULSIZE\t\tm_AllocateCount;\n\tBYTE*\t\tm_HeapBuffer;\n\tULSIZE\t\tm_HeapSize;\n\tULSIZE\t\tm_MinFreeChunkCount;\n\tULSIZE\t\tm_FreeChunkCount;\n\tFREE_LIST*\tm_FreeList[FREE_LIST_COUNT];//Сڴ\n\tFREE_LIST*\tm_pFirstFreeChunk;\n\tFREE_LIST*\tm_pLastFreeChunk;\n\tFREE_LIST*\tm_pCacheFreeChunk;\n\tBYTE*\t\tChunkAlloc(ULSIZE Size);\n\tbool\t\tChunkFree(void*pChunkBuffer,ULSIZE Size);\n\tbool\t\tIsHeapMemory(void*pData);\n};\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/HttpDownload.cpp",
    "content": "#include \"StdAfx.h\"\n#include <sys/stat.h>\n\n#ifdef WIN32\n\t// Windows Head Files\n\t#include <sys/utime.h>\n\t#include <winsock.h>\n\t#pragma comment(lib, \"wsock32.lib\")\n#else\n\t// Unix Head Files\n\t#include <stdlib.h>\n\t#include <ctype.h>\n\t#include <utime.h>\n\t#include <unistd.h>\n\t#include <netdb.h>\n\t#include <sys/socket.h>\n\t#include <sys/socketvar.h>\n\t#include <netinet/in.h>\n\t#include <arpa/inet.h>\n#endif\t// WIN32\n\n#include \"HttpDownload.h\"\n#define strdup _strdup\n\nenum HTTPSTATUS\n{\n\tHTTP_OK = 0,\n\tHTTP_PARTIAL,\n\tHTTP_ERROR,\n\tHTTP_REDIRECT\n};\n\n#ifndef INVALID_SOCKET\n#define INVALID_SOCKET  (unsigned int)(~0)\n#endif\n\n#ifndef SOCKET_ERROR\n#define SOCKET_ERROR            (-1)\n#endif\n\n#ifndef NULL\n#ifdef __cplusplus\n#define NULL    0\n#else\n#define NULL    ((void *)0)\n#endif\n#endif\n\n#define BUF_LEN 10240\nchar\tg_szBase64TAB[] = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nint\t\tg_nBase64Mask[]= { 0, 1, 3, 7, 15, 31, 63, 127, 255 };\n\nbool DefaultCallback(long wParam, long lParam)\n{\n\treturn true;\n}\n\n//////////////////////////////////////////////////////////////////////////////////\n//\tint Base64Encode(\n//\t\t\t\tIN LPCTSTR lpszEncoding,\n//\t\t\t\tchar* lpszOutEncoded\n//\t\t\t\tlong lOutSize) \n//\t  ;BASE64\n//\tȫֱӰ죺\n//\t  \n//\t\tlpszEncoding : ַ\n//\t\tstrEncoded   : (ǰҪ㹻ڴ)\n//\t\tlOutSize\t : ڴС\n//\tֵintĳȣ-1ʾڴ治\n////////////////////////////////////////////////////////////////////////////////\nint Base64Encode(const char* lpszEncoding, char* lpszOutEncoded, long lOutSize)\n{\n\tint nDigit;\n\tint nNumBits = 6;\n\tint nIndex = 0;\n\tsize_t nInputSize = 0;\n\tint nEncodeLength = 0;\n\n\tmemset(lpszOutEncoded, 0, strlen(lpszOutEncoded));\n\tif( lpszEncoding == NULL )\n\t\treturn 0;\n\n\tif( ( nInputSize = strlen(lpszEncoding) ) == 0 )\n\t\treturn 0;\n\n\tint nBitsRemaining = 0;\n\tlong lBitsStorage\t=0;\n\tlong lScratch\t\t=0;\n\tint nBits;\n\tunsigned char c;\n\n\twhile( nNumBits > 0 )\n\t{\n\t\twhile( ( nBitsRemaining < nNumBits ) &&  ( nIndex < (int)nInputSize ) ) \n\t\t{\n\t\t\tc = lpszEncoding[ nIndex++ ];\n\t\t\tlBitsStorage <<= 8;\n\t\t\tlBitsStorage |= (c & 0xff);\n\t\t\tnBitsRemaining += 8;\n\t\t}\n\t\tif( nBitsRemaining < nNumBits ) \n\t\t{\n\t\t\tlScratch = lBitsStorage << ( nNumBits - nBitsRemaining );\n\t\t\tnBits    = nBitsRemaining;\n\t\t\tnBitsRemaining = 0;\n\t\t}\t \n\t\telse \n\t\t{\n\t\t\tlScratch = lBitsStorage >> ( nBitsRemaining - nNumBits );\n\t\t\tnBits\t = nNumBits;\n\t\t\tnBitsRemaining -= nNumBits;\n\t\t}\n\t\tnDigit = (int)(lScratch & g_nBase64Mask[nNumBits]);\n\t\tnNumBits = nBits;\n\t\tif( nNumBits <=0 )\n\t\t\tbreak;\n\t\t\n\n\t\tlpszOutEncoded[nEncodeLength] = g_szBase64TAB[ nDigit ];\n\t\tnEncodeLength++;\n\t\tif(nEncodeLength >= lOutSize - 4)\n\t\t{\n\t\t\tprintf(\"Err: Over Base64 out buf!\\n\");\n\t\t\treturn -1;\n\t\t}\n\t}\n\t// Pad with '=' as per RFC 1521\n\twhile( nEncodeLength % 4 != 0 )\n\t{\n\t\tlpszOutEncoded[nEncodeLength] = '=';\n\t\tnEncodeLength++;\n\t}\n\n\treturn nEncodeLength;\n}\n\n//////////////////////////////////////////////////////////////////////\n// Construction/Destruction\n//////////////////////////////////////////////////////////////////////\n\nCHttpDownload::CHttpDownload()\n{\n\tm_hSocket = INVALID_SOCKET;\n\n\tmemset(m_strDownURL,0,sizeof(m_strDownURL));\n\tmemset(m_strServer,0,sizeof(m_strServer));\n\n\tmemset(m_strSaveFileName,0,sizeof(m_strSaveFileName));\n\n\tm_nHeaderLength = 0;\n\tm_nContentLength = 0;\n\tm_nFileTotalSize = 0;\n\ttime(&m_TimeLastModified);\n\n\tm_bStopDownload = false;\n\tm_nErrorCode = ERROR_DOWNLOAD_NONE;\n\n\tm_lpCallbackProc = NULL;\n\n\tm_bProxy = false;\n\tmemset(m_strProxyServer, 0, sizeof(m_strProxyServer));\n\tm_nProxyPort = 0;\n\n\tm_bProxyAuthorization = false;\n\tmemset(m_szProxyUser, 0, sizeof(m_szProxyUser));\n\tmemset(m_szProxyPwd, 0, sizeof(m_szProxyPwd));\n\tm_lpCallbackProc=DefaultCallback;\n}\n\nCHttpDownload::~CHttpDownload()\n{\n\tCloseSocket();\n}\n\nbool CHttpDownload::StartupWinsock()\n{\n#ifdef WIN32\n\tWSADATA wsaData;\n\treturn (WSAStartup(0x0101,&wsaData) == 0);\n#else\n\treturn true;\n#endif\n}\n\nvoid CHttpDownload::CleanupWinsock()\n{\n#ifdef WIN32\n\tWSACleanup();\n#endif\n}\n\nbool CHttpDownload::CreateSocket()\n{\n\tCloseSocket();\n\tm_hSocket = (unsigned int)socket(AF_INET,SOCK_STREAM,0);\n\treturn (m_hSocket != INVALID_SOCKET);\n}\n\nvoid CHttpDownload::CloseSocket()\n{\n\tif (m_hSocket != INVALID_SOCKET)\n\t{\n#ifdef WIN32\n\t\tclosesocket(m_hSocket);\n#else\n\t\tclose(m_hSocket);\n#endif\n\t\tm_hSocket = INVALID_SOCKET;\n\t}\n}\nint CHttpDownload::DownloadToBuffer(const char *lpszDownloadURL, char *Buffer,int BufLen,int* ReturnedLength)\n{\n\tstrcpy_s(m_strDownURL,sizeof(m_strDownURL),lpszDownloadURL);\n\n\tm_bStopDownload = false;\n\t\n\nReDownload:\n\tint nStatusCode = SendRequest();\n\tif (nStatusCode == HTTP_ERROR)\n\t{\n\t\tCloseSocket();\n\t\treturn -1;\n\t}\n\n\tlong nDownloadedSize = 0;\n\n\tm_nErrorCode = ERROR_RECEIVE_FILE;\n\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_DOWNLOAD_FILE);\n\tm_lpCallbackProc(MSG_FILE_TOTAL_SIZE,m_nFileTotalSize);\n\n\n\tchar* ReadBuf=new char[BufLen+m_nHeaderLength+1];\n\tif(ReadBuf==NULL)\n\t{\n\t\tCloseSocket();\n\t\treturn -1;\n\t}\n\tlong nRecv = 0;\n\tint begin=0;\n\tbool bFirstRecv = true;\n\tint currentlen=BufLen+m_nHeaderLength;\t\n\tmemset(ReadBuf,0,BufLen+m_nHeaderLength+1);\n\tmemset(Buffer,0,BufLen);\n\tdo\n\t{\n\t\tif (m_bStopDownload)\n\t\t{\t\t\t\n\t\t\tdelete []ReadBuf;\n\t\t\tCloseSocket();\n\t\t\treturn -1;\n\t\t}\n\t\tint nRet = recv(m_hSocket,&ReadBuf[begin],currentlen,0);\n\t\tif (nRet == SOCKET_ERROR)\n\t\t{\n\t\t\tCloseSocket();\n\t\t\t//ٴη\n\t\t\tdelete []ReadBuf;\n\t\t\tgoto ReDownload;\n\t\t}\n\t\tif (nRet == 0)\n\t\t\tbreak;\t\n\t\tnRecv+=nRet;\n\t\tbegin+=nRet;\n\t\tcurrentlen-=nRet;\n\t\tm_lpCallbackProc(MSG_DOWNLOADED_SIZE,nRecv+nDownloadedSize);\n\t}while(currentlen);\n\t*ReturnedLength=0;\n\tif(nRecv>m_nHeaderLength)\n\t{\n\t\t*ReturnedLength=nRecv-m_nHeaderLength;\n\t\tmemcpy(Buffer,&ReadBuf[m_nHeaderLength],*ReturnedLength);\n\t}\n\tdelete []ReadBuf;\n\t\n\t//һصļǷȷ\n\t\n\tCloseSocket();\n\n\tm_nErrorCode = ERROR_DOWNLOAD_NONE;\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_DOWN_FINISHED);\n\tm_bStopDownload = true;\n\n\treturn 0;\n}\n//ֵ\n//0سɹɣ\n//-1ʧܣ\n//1Ҫصļ뱾صǰļȫͬļСļʱ䣩\nint CHttpDownload::Download(const char *lpszDownloadURL, const char *lpszSaveFileName)\n{\n\tstrcpy_s(m_strDownURL,sizeof(m_strDownURL),lpszDownloadURL);\n\tsprintf_s(m_strSaveFileName,sizeof(m_strSaveFileName),\"%s.sy\",lpszSaveFileName);\n\n\tm_bStopDownload = false;\n\tstruct stat fs;\n\t\nReDownload:\n\tint nStatusCode = SendRequest();\n\tif (nStatusCode == HTTP_ERROR)\n\t{\n\t\tCloseSocket();\n\t\treturn -1;\n\t}\n\n\tlong nDownloadedSize = 0;\n\tif (stat(m_strSaveFileName,&fs) != 0)\n\t{\n\t\t//˵ļδع\n\t\tif (stat(lpszSaveFileName,&fs) == 0)\n\t\t{\n\t\t\tif( (fs.st_size == m_nFileTotalSize) && (abs((int)(fs.st_mtime - m_TimeLastModified)) <= 2) )\n\t\t\t{\n\t\t\t\t//Ҫصļ뱾صǰļȫͬļСļʱ䣩\n\t\t\t\tCloseSocket();\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif (nStatusCode == HTTP_PARTIAL)\n\t\t\tnDownloadedSize = fs.st_size;\n\t}\n\n\tm_nErrorCode = ERROR_RECEIVE_FILE;\n\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_DOWNLOAD_FILE);\n\tm_lpCallbackProc(MSG_FILE_TOTAL_SIZE,m_nFileTotalSize);\n\n\n\tFILE *fileDown = fopen(m_strSaveFileName,\"a+b\");\n\tif (fileDown == NULL)\n\t{\n\t\tCloseSocket();\n\t\treturn -1;\n\t}\n\tif (nStatusCode == HTTP_PARTIAL)\n\t\tfseek(fileDown,0,SEEK_END);\n\n\tchar szBuf[BUF_LEN];\n\tlong nRecv = 0;\n\tbool bFirstRecv = true;\n\tdo\n\t{\n\t\tif (m_bStopDownload)\n\t\t{\n\t\t\tfclose(fileDown);\n\t\t\tCloseSocket();\n\t\t\treturn -1;\n\t\t}\n\t\t\n\t\tmemset(szBuf,0,BUF_LEN);\n\t\tint nRet = recv(m_hSocket,szBuf,BUF_LEN,0);\n\t\tif (nRet == SOCKET_ERROR)\n\t\t{\n\t\t\tfclose(fileDown);\n\t\t\tCloseSocket();\n\t\t\t//ٴη\n\t\t\tgoto ReDownload;\n\t\t}\n\t\tif (nRet == 0)\n\t\t\tbreak;\n\n\t\ttry\n\t\t{\n\t\t\tif (bFirstRecv)\n\t\t\t{\n\t\t\t\tif (nRet >= m_nHeaderLength)\n\t\t\t\t{\n\t\t\t\t\tfwrite(&szBuf[m_nHeaderLength],sizeof(char),nRet-m_nHeaderLength,fileDown);\n\t\t\t\t\tfflush(fileDown);\n\t\t\t\t\tnRecv += nRet - m_nHeaderLength;\n\t\t\t\t\tbFirstRecv = false;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfclose(fileDown);\n\t\t\t\t\tCloseSocket();\n\t\t\t\t\t//ٴη\n\t\t\t\t\tgoto ReDownload;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfwrite(szBuf,sizeof(char),nRet,fileDown);\n\t\t\t\tfflush(fileDown);\n\t\t\t\tnRecv += nRet;\n\t\t\t}\n\t\t}\n\t\tcatch(...)\n\t\t{\n\t\t\tfclose(fileDown);\n\t\t\tCloseSocket();\n\t\t\tgoto ReDownload;\n\t\t}\n\t\tm_lpCallbackProc(MSG_DOWNLOADED_SIZE,nRecv+nDownloadedSize);\n\t}while(nRecv < m_nContentLength);\n\n\t//һصļǷȷ\n\tfflush(fileDown);\n\tif (m_nFileTotalSize != ftell(fileDown))\n\t{\n\t\tfclose(fileDown);\n\t\tCloseSocket();\n\t\t//ɾصĲȷļ\n\t\tremove(m_strSaveFileName);\n\t\tgoto ReDownload;\n\t}\n\n\tfclose(fileDown);\n\tCloseSocket();\n\n\tm_nErrorCode = ERROR_DOWNLOAD_NONE;\n\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_DOWN_FINISHED);\n\n\t//Ƚеļɾ\n\tremove(lpszSaveFileName);\n\t//ٽصļ\n\trename(m_strSaveFileName,lpszSaveFileName);\n\t//ٽصļʱĻȥ\n\tstruct utimbuf newTime;\n\tnewTime.actime = 0;\n\tnewTime.modtime = m_TimeLastModified;\n\tutime(lpszSaveFileName,&newTime);\n\n\tm_bStopDownload = true;\n\n\treturn 0;\n}\n\nvoid delStrSpace(char *str)\n{\n\tchar *ptr;\n\n\tfor (ptr =str;*ptr != '\\0' && *ptr == ' ';ptr++);\n\tstrcpy(str,ptr);\t\n}\n\n\t\t\nint CHttpDownload::GetInformation(const char *lpszReceived,long &nHeaderLength,long &nContentLength,time_t &TimeLastModified)\n{\n\tsize_t newLen;\n\tchar *szPos = strstr((char*)lpszReceived,\"\\r\\n\\r\\n\");\n\tif (szPos == NULL)\n\t\treturn HTTP_ERROR;\n\n\t//HTTPӦͷϢ\n\tnewLen = strlen(\"\\r\\n\\r\\n\");\n\tnHeaderLength = *(long*)&szPos-*(long*)&lpszReceived+(long)newLen;\n\tchar *strHeader = (char *)malloc(nHeaderLength+1);\n\tstrHeader[nHeaderLength]=0;\n\t//HTTPӦͷϢӦһհ\"\\r\\n\"\n\tstrncpy(strHeader,lpszReceived,nHeaderLength);\n\n\tchar *strLowerHeader = strdup(strHeader);\n\tStringMakeLower(strLowerHeader);\n\n\t//ֳHTTPӦͷϢĵһУ÷صHTTP״̬\n\tszPos = strstr(strHeader,\"\\r\\n\");\n\tchar *strStatusCode = (char *)malloc(szPos-strHeader+1);\n\tstrncpy(strStatusCode,strHeader,szPos-strHeader);\n\tszPos = strchr(strStatusCode,' ');\n\tif (szPos == NULL)\n\t{\n\t\tfree(strStatusCode);\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_ERROR;\n\t}\n\tchar *szPos1 = szPos+1;\n\tszPos = strchr(szPos1,' ');\n\tif (szPos == NULL)\n\t{\n\t\tfree(strStatusCode);\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_ERROR;\n\t}\n\t*szPos = '\\0';\n\tint nStatusCode = atoi(szPos1);\n\tfree(strStatusCode);\n\n\t//ȼһ·ӦǷΪض\n\tif (nStatusCode >= 300 && nStatusCode < 400)\n\t{\n\t\tszPos = strstr(strLowerHeader,\"location:\");\n\t\tif (szPos == NULL)\n\t\t{\n\t\t\tfree(strLowerHeader);\n\t\t\tfree(strHeader);\n\t\t\treturn HTTP_ERROR;\n\t\t}\n\t\t\n\t\tchar *strRedirectURL = strdup(szPos+strlen(\"location:\"));\n\t\tszPos = strstr(strRedirectURL,\"\\r\\n\");\n\t\tif (szPos == NULL)\n\t\t{\n\t\t\tfree(strRedirectURL);\n\t\t\tfree(strLowerHeader);\n\t\t\tfree(strHeader);\n\t\t\treturn HTTP_ERROR;\n\t\t}\n\n\t\t*szPos = '\\0';\n\t\tchar *p=strRedirectURL;\n\t\tdo\n\t\t{\n\t\t\tif (*p == '\\\\')\n\t\t\t\t*p = '/';\n\t\t\tp++;\n\t\t}while (*p != '\\0');\n\n\t\t/* del the space in the string 01/12/05 */\n\t\tdelStrSpace(strRedirectURL);\n\n\t\t//жǷΪضķ\n\t\tif (strncmp(strRedirectURL,\"http://\",strlen(\"http://\")) == 0)\n\t\t{\n\t\t\tstrcpy(m_strDownURL,strRedirectURL);\n\t\t\tfree(strRedirectURL);\n\t\t\tfree(strLowerHeader);\n\t\t\tfree(strHeader);\n\t\t\treturn HTTP_REDIRECT;\n\t\t}\n\n\t\t//жǷΪڸĿ¼\n\t\tif (*strRedirectURL == '/')\n\t\t{\n\t\t\tsprintf(m_strDownURL,\"http://%s%s\",m_strServer,strRedirectURL);\n\t\t\tfree(strRedirectURL);\n\t\t\tfree(strLowerHeader);\n\t\t\tfree(strHeader);\n\t\t\treturn HTTP_REDIRECT;\n\t\t}\n\n\t\t//˵ڵǰĿ¼\n\t\tint nParentDirCount = 0;\n\t\tchar *szPos1 = strRedirectURL;\n\t\tszPos = strstr(szPos1,\"../\");\n\t\twhile (szPos != NULL)\n\t\t{\n\t\t\tszPos1 = szPos+3;\n\t\t\tnParentDirCount++;\n\t\t\tszPos = strstr(szPos1,\"../\");\n\t\t}\n\t\tfor (int i=0; i<=nParentDirCount; i++)\n\t\t{\n\t\t\tszPos = strrchr(m_strDownURL,'/');\n\t\t\tif (szPos == NULL)\n\t\t\t{\n\t\t\t\tfree(strRedirectURL);\n\t\t\t\tfree(strLowerHeader);\n\t\t\t\tfree(strHeader);\n\t\t\t\treturn HTTP_ERROR;\n\t\t\t}\n\t\t\t*szPos = '\\0';\n\t\t}\n\n\t\tstrcat(m_strDownURL,\"/\");\n\t\tstrcat(m_strDownURL,szPos1);\n\t\t\n\t\tfree(strRedirectURL);\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_REDIRECT;\n\t}\n\n\t//ټһηӦǷΪ200(OK)206(Partial Content)\n\tif (nStatusCode != 200 && nStatusCode != 206)\n\t{\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_ERROR;\n\t}\n\n\t//Content-Length\n\tszPos = strstr(strLowerHeader,\"content-length:\");\n\tif (szPos == NULL)\n\t{\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_ERROR;\n\t}\n\t\n\tchar *strLength = strdup(szPos+strlen(\"content-length:\"));\t\n\tszPos = strstr(strLength,\"\\r\\n\");\n\tif (szPos == NULL)\n\t{\n\t\tfree(strLength);\n\t\tfree(strLowerHeader);\n\t\tfree(strHeader);\n\t\treturn HTTP_ERROR;\n\t}\n\n\t*szPos = '\\0';\n\tnContentLength = atol(strLength);\n\tfree(strLength);\n\n\t//Last-Modified\n\ttime(&TimeLastModified);\n\tszPos = strstr(strLowerHeader,\"last-modified:\");\n\tif (szPos != NULL)\n\t{\n\t\tchar *strTime = strdup(szPos+strlen(\"last-modified:\"));\n\t\tszPos = strstr(strTime,\"\\r\\n\");\n\t\tif (szPos != NULL)\n\t\t{\n\t\t\t*szPos = '\\0';\n\t\t\tConvertTime(strTime,TimeLastModified);\n\t\t}\n\t\tfree(strTime);\n\t}\n\n\tfree(strLowerHeader);\n\tfree(strHeader);\n\tif (nStatusCode == 200)\n\t\treturn HTTP_OK;\n\telse if (nStatusCode == 206)\n\t\treturn HTTP_PARTIAL;\n\telse\n\t\treturn HTTP_ERROR;\n}\n\nvoid CHttpDownload::ConvertTime(const char *lpszTime,time_t &TimeLastModified)\n{\n\tint nDay,nMonth,nYear,nHour,nMinute,nSecond;\n\tchar *strTime = strdup(lpszTime);\n\tchar *szPos = strchr(strTime,',');\n\tif (szPos != NULL)\n\t{\n\t\tchar *szPos1 = szPos+1;\n\t\twhile (*szPos1==' ')\n\t\t\tszPos1++;\n\n\t\tconst char *strAllMonth = \"jan,feb,mar,apr,may,jan,jul,aug,sep,oct,nov,dec\";\n\t\tchar strDay[3] = { 0 };\n\t\tstrncpy(strDay,szPos1,2);\n\t\tnDay = atoi(strDay);\n\t\tchar strMonth[4] = { 0 };\n\t\tstrncpy(strMonth,szPos1+3,3);\n\t\tStringMakeLower(strMonth);\n\t\tszPos = strstr((char*)strAllMonth,strMonth);\n\t\tif (szPos != NULL)\n\t\t{\n\t\t\tsprintf(strMonth,\"%d\",(((szPos-strAllMonth)/4)+1));\n\t\t\tnMonth = atoi(strMonth)-1;\n\t\t}\n\t\telse\n\t\t\tnMonth = 0;\n\t\tszPos1 += 6;\n\t\twhile (*szPos1==' ')\n\t\t\tszPos1++;\n\t\tszPos = strchr(szPos1,' ');\n\t\tchar strYear[5] = { 0 };\n\t\tif (szPos != NULL)\n\t\t{\n\t\t\tstrncpy(strYear,szPos1,4);\n\t\t\tnYear = atoi(strYear);\n\t\t\tif (strlen(strYear) > 3)\n\t\t\t\tnYear -= 1900;\n\t\t}\n\t\telse\n\t\t\tnYear = 2001-1900;\n\t\tszPos1 = szPos+1;\n\t\tchar strHour[3] = { 0 };\n\t\tstrncpy(strHour,szPos1,2);\n\t\tnHour = atoi(strHour);\n\t\tchar strMinute[3] = { 0 };\n\t\tstrncpy(strMinute,szPos1+3,2);\n\t\tnMinute = atoi(strMinute);\n\t\tchar strSecond[3] = { 0 };\n\t\tstrncpy(strSecond,szPos1+6,2);\n\t\tnSecond = atoi(strSecond);\n\t}\n\n\tfree(strTime);\n\tstruct tm tmLastModified;\n\ttmLastModified.tm_year = nYear;\n\ttmLastModified.tm_mon = nMonth;\n\ttmLastModified.tm_mday = nDay;\n\ttmLastModified.tm_hour = nHour;\n\ttmLastModified.tm_min = nMinute;\n\ttmLastModified.tm_sec = nSecond;\n\tTimeLastModified = mktime(&tmLastModified);\n}\n\nchar *CHttpDownload::URLEncode(const char *lpszURL, char *szURL)\n{\n#define ToHex(nNumber) ((nNumber < 10) ? (nNumber+'0') : (nNumber+'A'-10))\n\n\tchar *pszOut = szURL;\n\tchar *pch = (char *)lpszURL;\n\tif (strchr(lpszURL, '%') != NULL)\n\t{\n\t\tstrcpy(szURL, lpszURL);\n\t\treturn szURL;\n\t}\n\n\tfor (; pch!=NULL && *pch!='\\0'; pch++)\n\t{\n\t\tif (isalnum(*pch))\n\t\t\t*pszOut++ = *pch;\n\t\telse if (*pch=='/' || *pch=='\\\\' || *pch=='.' || *pch==':' || *pch=='?' || *pch=='&' || *pch=='=')\n\t\t\t*pszOut++ = *pch;\n\t\telse\n\t\t{\n\t\t\t*pszOut++ = '%';\n\t\t\t*pszOut++ = ToHex(*pch/16);\n\t\t\t*pszOut++ = ToHex(*pch%16);\n\t\t}\n\t}\n\n\t*pszOut = '\\0';\n\treturn szURL;\n}\n\nbool CHttpDownload::ParseURL(const char *lpszURL,char *strServer,char *strObject)\n{\n\t//ַϵĿļλ\n\tchar *strLowerURL = strdup(lpszURL);\n\tStringMakeLower(strLowerURL);\n\n\tchar *szPos = strstr(strLowerURL,\"http://\");\n\tif (szPos == NULL)\n\t{\n\t\tfree(strLowerURL);\n\t\treturn false;\n\t}\n\n\tconst char *strURL = lpszURL+(szPos-strLowerURL)+strlen(\"http://\");\n\tfree(strLowerURL);\n\t\n\tszPos = strchr((char*)strURL,'/');\n\tif (szPos == NULL)\n\t\treturn false;\n\n\tmemset(strServer, 0, sizeof(strServer));\n\tstrncpy(strServer,strURL,szPos-strURL);\n\t//strcpy(strObject, szPos);\n\tURLEncode(szPos, strObject);\n\treturn true;\n}\n\nbool CHttpDownload::GetHostIP(char *strServer)\n{\n//\tprintf(\"gethostbyname %s\\n\", strServer);\n\tstruct hostent *pHost = gethostbyname(strServer);\n\tif(pHost == NULL)\n\t{\n\t\tprintf(\"gethostbyname %s error : %d\\n\", strServer, h_errno);\n\t\treturn false;\n\t}\n\n\tstrcpy(strServer,inet_ntoa(*(struct in_addr *)*pHost->h_addr_list));\n\treturn true;\n}\n\nint CHttpDownload::SendRequest()\n{\n\tchar szAuthIn[256] = {0};\n\tchar szAuthOut[501] = {0};\n\tchar szOriServer[512]={0};\n\tint\t nOutLength = 0;\n\tm_nErrorCode = ERROR_RESOLVE_HOST;\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_RESOLVE_HOST);\n\n\tchar strObject[2048]= { 0 };\n\tmemset(m_strServer, 0, 128);\n\tif (!ParseURL(m_strDownURL,m_strServer,strObject))\n\t\treturn HTTP_ERROR;\n\n\tstruct sockaddr_in sockAddr;\n\tsockAddr.sin_family\t= 2;\n\n\tstrncpy(szOriServer,m_strServer,511);\n\n\t\n\tif (!m_bProxy)\n\t{\n\t\t//\n\t\tsockAddr.sin_port\t\t\t= htons(80);\n\t\tsockAddr.sin_addr.s_addr\t= inet_addr(m_strServer);\t\n\t\tif (sockAddr.sin_addr.s_addr == 0xffffffff)\n\t\t{\n\t\t\tif (m_bStopDownload)\n\t\t\t\treturn HTTP_ERROR;\n\t\t\tif (!GetHostIP(m_strServer))\n\t\t\t\treturn HTTP_ERROR;\n\t\t\tsockAddr.sin_addr.s_addr = inet_addr(m_strServer);\n\t\t}\n\t}\n\telse\n\t{\n\t\t//Proxy\n\t\tsockAddr.sin_port\t\t\t= htons(m_nProxyPort);\n\t\tsockAddr.sin_addr.s_addr\t= inet_addr(m_strProxyServer);\t\n\t\tif (sockAddr.sin_addr.s_addr == 0xffffffff)\n\t\t{\n\t\t\tif (m_bStopDownload)\n\t\t\t\treturn HTTP_ERROR;\n\t\t\tif (!GetHostIP(m_strProxyServer))\n\t\t\t\treturn HTTP_ERROR;\n\t\t\tsockAddr.sin_addr.s_addr = inet_addr(m_strProxyServer);\n\t\t}\n\t}\n\n\tif (!CreateSocket())\n\t\treturn HTTP_ERROR;\n\n\tif (m_bStopDownload)\n\t\treturn HTTP_ERROR;\n\n\tm_nErrorCode = ERROR_CONNECT_HOST;\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_CONNECT_HOST);\n\n\t//\n\tint nRet = connect(m_hSocket,(struct sockaddr *)&sockAddr,sizeof(sockAddr));\n\tif (nRet == SOCKET_ERROR)\n\t\treturn HTTP_ERROR;\n\n\tif (m_bStopDownload)\n\t\treturn HTTP_ERROR;\n\n\t//HTTP\n\tchar strSend[10240];\n\tif (!m_bProxy)\n\t\tsprintf(strSend,\"GET %s HTTP/1.1\\r\\n\",strObject);\n\telse\n\t\tsprintf(strSend,\"GET http://%s%s HTTP/1.1\\r\\n\",m_strServer,strObject);\n\n\tstrcat(strSend,\"Host: \");\n\tstrcat(strSend,szOriServer);\n\tstrcat(strSend,\"\\r\\n\");\n\tstrcat(strSend,\"Accept: */*\\r\\n\");\n\tstrcat(strSend,\"Cache-Control: no-cache\\r\\n\");\n\tstrcat(strSend,\"User-Agent: HttpDownload/1.00\\r\\n\");\n\tif( m_bProxyAuthorization )\n\t{\n\t\tsprintf(szAuthIn, \"%s:%s\", m_szProxyUser, m_szProxyPwd);\n\t\tnOutLength = Base64Encode(szAuthIn, szAuthOut, 500);\n\t\tif(nOutLength > 0)\n\t\t{\n\t\t\tstrcat(strSend, \"Authorization: Basic \");\n\t\t\tstrcat(strSend, szAuthOut);\n\t\t\tstrcat(strSend, \"\\r\\n\");\n\t\t}\n\t}\n\n\tstrcat(strSend,\"Connection: close\\r\\n\");\n\n\t//鿴ļصֽڳ\n\tstruct stat fs;\n\tlong nRange = 0;\n\tif (stat(m_strSaveFileName,&fs) == 0)\n\t\tnRange = fs.st_size;\n\tif (nRange > 0)\n\t{\n\t\tchar strRange[128];\n\t\tsprintf(strRange,\"Range: bytes=%d-\\r\\n\",nRange);\n\t\tstrcat(strSend,strRange);\n\t}\n\t//ҪһУHttpӦ\n\tstrcat(strSend,\"\\r\\n\");\n\n\tm_nErrorCode = ERROR_SEND_REQUEST;\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_SEND_REQUEST);\n\n\t//\n\tnRet = send(m_hSocket,strSend,(int)strlen(strSend),0);\n\tif (nRet == SOCKET_ERROR)\n\t\treturn HTTP_ERROR;\n\n\tif (m_bStopDownload)\n\t\treturn HTTP_ERROR;\n\n\tm_nErrorCode = ERROR_RECV_RESPONSE;\n\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_RECV_RESPONSE);\n\n\tchar szBuf[BUF_LEN];\n\tmemset(szBuf,0,sizeof(szBuf));\n\t//Ȳ鿴һݣݿ뵽BufferУ\n\tnRet = recv(m_hSocket,szBuf,sizeof(szBuf),MSG_PEEK);\n\tif (nRet == SOCKET_ERROR)\n\t\treturn HTTP_ERROR;\n\n\tnRet = GetInformation(szBuf,m_nHeaderLength,m_nContentLength,m_TimeLastModified);\n\tif (nRet == HTTP_ERROR)\n\t\treturn HTTP_ERROR;\n\tif (nRet == HTTP_OK || nRet == HTTP_PARTIAL)\n\t{\n\t\tif (m_nHeaderLength == 0)\n\t\t\treturn HTTP_ERROR;\n\t\tm_nFileTotalSize = m_nContentLength;\n\t\tif (nRet == HTTP_PARTIAL)\n\t\t\tm_nFileTotalSize += nRange;\n\n\t\treturn nRet;\n\t}\n\n\tif (m_bStopDownload)\n\t\treturn HTTP_ERROR;\n\tif (nRet == HTTP_REDIRECT)\n\t{\n\t\tm_lpCallbackProc(MSG_DOWNLOAD_STATUS,STATUS_HOST_REDIRECT);\n\n\t\t//ٴη\n\t\tnRet = SendRequest();\n\t\tif (nRet != HTTP_REDIRECT)\n\t\t\treturn nRet;\n\t}\n\n\treturn HTTP_ERROR;\n}\n\nvoid CHttpDownload::SetCalllbackProc(DownloadCallbackProc proc)\n{\n\tif(proc==NULL)\n\t\tm_lpCallbackProc=DefaultCallback;\n\telse\n\t\tm_lpCallbackProc = proc;\n}\n\nvoid CHttpDownload::SetProxy(const char *lpszProxyServer,unsigned short nProxyPort)\n{\n\tm_bProxy = true;\n\tstrcpy(m_strProxyServer,lpszProxyServer);\n\tm_nProxyPort = nProxyPort;\n}\nvoid CHttpDownload::SetProxy(const char *lpszProxyServer,unsigned short nProxyPort, bool bProxyAuthorization, const char *lpszProxyUser, char *lpszProxyPwd)\n{\n\tm_bProxyAuthorization = bProxyAuthorization;\n\tstrcpy(m_szProxyUser, lpszProxyUser);\n\tstrcpy(m_szProxyPwd, lpszProxyPwd);\n\tSetProxy(lpszProxyServer, nProxyPort);\n}\nvoid CHttpDownload::StopDownload()\n{\n\tm_nErrorCode = ERROR_STOP_DOWNLOAD;\n\tm_bStopDownload = true;\n}\n\nint CHttpDownload::GetErrorCode()\n{\n\treturn m_nErrorCode;\n}\n\nvoid CHttpDownload::StringMakeLower(char *str)\n{\n\tfor (char *p=str; *p!='\\0'; p++)\n\t{\n\t\tif (isupper(*p))\n\t\t\t*p = tolower(*p);\n\t}\n}\n\nbool CHttpDownload::SendFinishRequest(const char *lpszFinishURL)\n{\n\tstrcpy(m_strDownURL,lpszFinishURL);\n\tstrcpy(m_strSaveFileName,\"|\");\n\t\n\tm_bStopDownload = false;\n\tint nRet = SendRequest();\n\tCloseSocket();\n\tm_bStopDownload = true;\n\treturn (nRet != HTTP_ERROR);\n}\n"
  },
  {
    "path": "Project/Code/Source/HttpDownload.h",
    "content": "// HttpDownload.h: interface for the CHttpDownload class.\n//\n//////////////////////////////////////////////////////////////////////\n\n#ifndef _HTTPDOWNLOAD_H_\n#define _HTTPDOWNLOAD_H_\n\n#include <time.h>\n\n//Ϣ\nconst long MSG_DOWNLOAD_STATUS = 101; //״̬\nconst long MSG_FILE_TOTAL_SIZE = 102; //ҪصļܴС\nconst long MSG_DOWNLOADED_SIZE = 103; //صļС\n\n//״̬Ϣ\nconst long STATUS_RESOLVE_HOST  = 201; //\nconst long STATUS_CONNECT_HOST  = 202; //\nconst long STATUS_SEND_REQUEST  = 203; //\nconst long STATUS_RECV_RESPONSE = 204; //ȴӦ\nconst long STATUS_HOST_REDIRECT = 205; //ض\nconst long STATUS_DOWNLOAD_FILE = 206; //ʼļ\nconst long STATUS_DOWN_FINISHED = 207; //\n\n//Ϣ\nconst int ERROR_DOWNLOAD_NONE = 300; //ûд\nconst int ERROR_RESOLVE_HOST  = 301; //ʧ\nconst int ERROR_CONNECT_HOST  = 302; //ʧ\nconst int ERROR_SEND_REQUEST  = 303; //ʧ\nconst int ERROR_RECV_RESPONSE = 304; //ȴӦ\nconst int ERROR_RECEIVE_FILE  = 305; //ļʱ\nconst int ERROR_STOP_DOWNLOAD = 306; //ûֹ\n\ntypedef bool (* DownloadCallbackProc)(long wParam, long lParam);\n///////////////////////////////////////////////////////////////////////////////////////////////\n\nclass CHttpDownload  \n{\npublic:\n\tCHttpDownload();\n\tvirtual ~CHttpDownload();\n\n\tstatic bool StartupWinsock();\n\tstatic void CleanupWinsock();\n\n\tvoid SetCalllbackProc(DownloadCallbackProc proc);\n\tvoid SetProxy(const char *lpszProxyServer, unsigned short nProxyPort);\n\tvoid SetProxy(const char *lpszProxyServer, unsigned short nProxyPort, bool bProxyAuthorization, const char *lpszProxyUser, char *lpszProxyPwd);\n\tint\t DownloadToBuffer(const char *lpszDownloadURL, char *Buffer,int BufLen,int* ReturnedLength);\n\tint  Download(const char *lpszDownloadURL,const char *lpszSaveFileName);\n\tvoid StopDownload();\n\n\tbool SendFinishRequest(const char *lpszFinishURL);\n\n\tint GetErrorCode();\n\nprivate:\n\tbool CreateSocket();\n\tvoid CloseSocket();\n\t\n\tint  SendRequest();\n\tbool GetHostIP(char *strServer);\n\n  char *URLEncode(const char *lpszURL, char *szURL);\n\tbool ParseURL(const char *lpszURL,char *strServer,char *strObject);\n\tint  GetInformation(const char *lpszReceived,long &nHeaderLength,long &nContentLength,time_t &TimeLastModified);\n\tvoid ConvertTime(const char *lpszTime,time_t &TimeLastModified);\n\n\tvoid StringMakeLower(char *str);\n\nprivate:\n\tunsigned int m_hSocket;\n\n\tchar m_strDownURL[4096];\n\tchar m_strServer[128];\n\n\tchar m_strSaveFileName[260];\n\n\tlong  m_nHeaderLength;\n\tlong  m_nContentLength;\n\tlong  m_nFileTotalSize;\n\ttime_t m_TimeLastModified;\n\n\tbool m_bStopDownload;\n\tint  m_nErrorCode;\n\n\t//ص\n\tDownloadCallbackProc m_lpCallbackProc;\n\n\t//ʹô\n\tbool m_bProxy;\n\tchar m_strProxyServer[128];\n\tunsigned short m_nProxyPort;\n\n\tbool m_bProxyAuthorization;\n\tchar m_szProxyUser[128];\n\tchar m_szProxyPwd[128];\n};\n\n#endif //_HTTPDOWNLOAD_H_\n//#define IBM\n"
  },
  {
    "path": "Project/Code/Source/HttpUpload.cpp",
    "content": "#include \"stdafx.h\"\n#include \"HttpUpload.h\"\n\n\nCHttpUpload::CHttpUpload()\n{\n\tWSADATA  wsaData;\n\tWORD wVersionRequested = MAKEWORD(2, 2);\n\tWSAStartup(wVersionRequested, &wsaData);\t\t\n\tDataVarInit();\n}\n\nCHttpUpload::~CHttpUpload()\n{\n\tWSACleanup();\n}\n\nvoid CHttpUpload::DataVarInit()\n{\n\tm_hSock     = INVALID_SOCKET;\n\tm_nSvrPort  = 80;\n\t\n\tm_bChunkTransferEncoding = FALSE;\n\n\tmemset(m_szRetData, 0, sizeof(m_szRetData));\n\tmemset(m_szReqObj, 0, sizeof(m_szReqObj));\n\tmemset(m_szSvrName, 0, sizeof(m_szSvrName));\n}\n\nint CHttpUpload::Init(const char* cszUrl, int nUrlLen)\n{\n\tDataVarInit();\n\n\tif(!UrlParse(cszUrl, nUrlLen))\n\t{\n\t\treturn ERROR_CODE_ELSE;\n\t}\n\n\tif (!CreateSock())\n\t{\n\t\treturn ERROR_CODE_ELSE;\n\t}\n\n\tif (!ConnectSvr())\n\t{\n\t\treturn ERROR_CODE_CONNECT_FAILURE;\n\t}\n\n\treturn 0;\n}\n\nBOOL CHttpUpload::CreateSock()\n{\n\tif (m_hSock == INVALID_SOCKET)\n\t{\n\t\tm_hSock = socket(AF_INET, SOCK_STREAM, 0);\n\t\tif (m_hSock == INVALID_SOCKET)\n\t\t\treturn FALSE;\n\t}\n\t\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::ConnectSvr()\n{\n\tif (m_hSock == INVALID_SOCKET)\n\t\treturn FALSE;\n\t\n\tsockaddr_in addrSvr;\n\tmemset(&addrSvr, 0, sizeof(addrSvr));\n\t\n\tPHOSTENT pHost = gethostbyname(m_szSvrName);\n\tif (pHost == NULL)\n\t\treturn FALSE;\n\t\n\taddrSvr.sin_family = AF_INET;\n\taddrSvr.sin_port   = htons((u_short)m_nSvrPort);\n\taddrSvr.sin_addr.s_addr = *(ULONG*)pHost->h_addr_list[0];\n\tif (SOCKET_ERROR == connect(m_hSock, (sockaddr*)&addrSvr, sizeof(addrSvr)))\n\t\treturn FALSE;\n\t\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::AddFormTextField(const char* cszFieldName,  const char* cszValue)\n{\n\tif ((cszFieldName == NULL) || (cszValue == 0))\n\t\treturn FALSE;\n\n\tchar szSend[2 * 1024];\n\tsprintf_s(szSend,sizeof(szSend), \"--FORM_BOUNDARY\\r\\ncontent-disposition: form-data; name=\\\"%s\\\"\\r\\n\\r\\n\", cszFieldName);\n\tstrcat_s(szSend,sizeof(szSend), cszValue);\n\tstrcat_s(szSend,sizeof(szSend), \"\\r\\n\");\n\tm_strFormDataContent += szSend;\n\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::AddFormDataEndFlag()\n{\n\tm_strFormDataContent += \"--FORM_BOUNDARY--\\r\\n\";\n\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::AddFormFileField(\n\t const char* cszFieldName,  \n\t const char* cszFileName,  \n\t BOOL bIsBinary /* = FALSE  */\n\t )\n{\n\tif ((cszFieldName == NULL) || (cszFileName == NULL))\n\t\treturn FALSE;\n\n\t//content type\n\tHKEY\thKEY;\n\tchar* pszFileExt;\n\tchar  szContentType[80] = {0};\n\tDWORD dwLen;\n\tdwLen = sizeof(szContentType);\n\tpszFileExt = strrchr((char*)cszFileName, '.');\n\tif(::RegOpenKeyEx(HKEY_CLASSES_ROOT, pszFileExt, 0, KEY_QUERY_VALUE, &hKEY)==ERROR_SUCCESS)\n\t{\n\t\tif(::RegQueryValueEx(hKEY, TEXT(\"Content Type\"), NULL, NULL, (LPBYTE)szContentType, (unsigned long*)&dwLen)!=ERROR_SUCCESS)\n\t\t\tstrcpy_s(szContentType,sizeof(szContentType), \"application/octet-stream\");\n\t\t::RegCloseKey(hKEY);\n\t}\n\telse\n\t\tstrcpy_s(szContentType, sizeof(szContentType),\"application/octet-stream\");\n\n\t//form field header\n\tchar szSend[1024] = {0};\n\tchar szFilename[100] = {0};\n\tstrcpy_s(szFilename, sizeof(szFilename),strrchr(cszFileName, '\\\\') + 1);\n\tsprintf_s(szSend, sizeof(szSend),\n\t\t\"--FORM_BOUNDARY\\r\\ncontent-disposition: form-data; name=\\\"%s\\\"; filename=\\\"%s\\\"\\r\\nContent-Type: %s\\r\\n\", \n\t\tcszFieldName, szFilename, szContentType);\n\tif (bIsBinary)\n\t\tstrcat_s(szSend, sizeof(szSend),\"Content-Transfer-Encoding: Base64\\r\\n\");\n\tstrcat_s(szSend,sizeof(szSend), \"\\r\\n\");\n\tm_strFormDataContent += szSend;\n\n\t//file content encoded with base64\n\tBYTE pbDataBuf[3] = {0};\n\tchar szEncodeStr[5];\n\tDWORD dwBytesRead;\n\tint nCurPosValue = 0;\n\tHANDLE hFile = ::CreateFile(cszFileName, GENERIC_READ, 0, NULL,\n\t\tOPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);\n\tif (hFile == INVALID_HANDLE_VALUE)\n\t\treturn FALSE;\n\t\n\twhile(TRUE)\n\t{\n\t\tmemset(szEncodeStr, 0, sizeof(szEncodeStr));\n\t\tif (0 == ::ReadFile(hFile, (LPVOID)pbDataBuf, 3, &dwBytesRead, NULL))\n\t\t\treturn FALSE;\n\t\tif (bIsBinary) //encode data\n\t\t{   \n\t\t\tswitch(dwBytesRead)\n\t\t\t{\n\t\t\tcase 3:\n\t\t\t\tnCurPosValue = (pbDataBuf[0] >> 2) & (0x3F);\n\t\t\t\tszEncodeStr[0] = BASE64_Alphabet[nCurPosValue];  //first 6-bits\n\t\t\t\tnCurPosValue = ((pbDataBuf[0] << 4) & (0x30))  + ((pbDataBuf[1] >> 4) & (0x0F));\n\t\t\t\tszEncodeStr[1] = BASE64_Alphabet[nCurPosValue];  //second 6-bits\n\t\t\t\tnCurPosValue = ((pbDataBuf[1] << 2) & (0x3C)) + ((pbDataBuf[2] >> 6) & (0x03));\n\t\t\t\tszEncodeStr[2] = BASE64_Alphabet[nCurPosValue];  //third 6-bits\n\t\t\t\tnCurPosValue = pbDataBuf[2] & (0x3F);\n\t\t\t\tszEncodeStr[3] = BASE64_Alphabet[nCurPosValue]; //forth 6-bits\n\t\t\t\tszEncodeStr[4] = 0;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tnCurPosValue = (pbDataBuf[0] >> 2) & (0x3F);\n\t\t\t\tszEncodeStr[0] = BASE64_Alphabet[nCurPosValue];  //first 6-bits\n\t\t\t\tnCurPosValue = ((pbDataBuf[0] << 4) & (0x30))  + ((pbDataBuf[1] >> 4) & (0x0F));\n\t\t\t\tszEncodeStr[1] = BASE64_Alphabet[nCurPosValue];  //second 6-bits\n\t\t\t\tnCurPosValue = (pbDataBuf[1] << 2) & (0x3C);\n\t\t\t\tszEncodeStr[2] = BASE64_Alphabet[nCurPosValue];  //third 6-bits \n\t\t\t\tszEncodeStr[3] = '=';\n\t\t\t\tszEncodeStr[4] = 0;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tnCurPosValue = (pbDataBuf[0] >> 2) & (0x3F);\n\t\t\t\tszEncodeStr[0] = BASE64_Alphabet[nCurPosValue];  //first 6-bits\n\t\t\t\tnCurPosValue = (pbDataBuf[0] << 4) & (0x30);\n\t\t\t\tszEncodeStr[1] = BASE64_Alphabet[nCurPosValue];  //second 6-bits\n\t\t\t\tszEncodeStr[2] = '=';\n\t\t\t\tszEncodeStr[3] = '=';\n\t\t\t\tszEncodeStr[4] = 0;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tszEncodeStr[0] = 0;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (dwBytesRead == 0)\n\t\t\t\tszEncodeStr[0] = 0;\n\t\t\telse\n\t\t\t{\n\t\t\t\tmemset(szEncodeStr, 0, sizeof(szEncodeStr));\n\t\t\t\tmemcpy(szEncodeStr, pbDataBuf, dwBytesRead);\n\t\t\t}\n\t\t}\n\t\tif (szEncodeStr[0] == 0)\n\t\t{\n\t\t\t::CloseHandle(hFile);\n\t\t\thFile = INVALID_HANDLE_VALUE;\n\t\t\tbreak;\n\t\t}\n\t\tm_strFormDataContent += szEncodeStr;\n\t}\n\n\tm_strFormDataContent += \"\\r\\n\";\n\t\n\tif (hFile != INVALID_HANDLE_VALUE)\n\t\t::CloseHandle(hFile);\n\n\treturn TRUE;\n}\n\nBOOL  CHttpUpload::Request()\n{\t\n\tchar\tszSend[1024] = {0};\n\tint\t\tnLen;\n\n\tAddFormDataEndFlag();\n\n\t//request web server\n\tsprintf_s(szSend, sizeof(szSend),\"POST %s HTTP/1.1\\r\\nHOST: %s\\r\\nContent-Length: %d\\r\\n\", \n\t\tm_szReqObj, m_szSvrName, m_strFormDataContent.size());\n\tstrcat_s(szSend, sizeof(szSend),\"Connection: close\\r\\n\");\n\tstrcat_s(szSend, sizeof(szSend),\"Content-type: multipart/form-data, boundary=FORM_BOUNDARY\\r\\n\\r\\n\");\n\tnLen = send(m_hSock, szSend, (int)strlen(szSend), 0);\n\tif ((nLen == SOCKET_ERROR) || (nLen < (int)strlen(szSend)))\n\t\treturn FALSE;\n\tAMLOGDEVINFO(\"%s\", szSend);\n\tnLen = send(m_hSock, (const char*)m_strFormDataContent.c_str(), (int)m_strFormDataContent.size(), 0);\n\tif ((nLen == SOCKET_ERROR) || (nLen < (int)m_strFormDataContent.size()))\n\t\treturn FALSE;\n\n\tAMLOGDEVINFO(\"%s\",m_strFormDataContent.c_str());\n\treturn TRUE;\n}\n\nchar* CHttpUpload::RetRecvDataPt()\n{\n\tif (!RecvResponse())\n\t{\n\t\tmemset(m_szRetData, 0, sizeof(m_szRetData));\n\t\tAMLOGDEVINFO(\"RetRecvDataPt = %s\",m_szRetData);\n\t}\n\tif (m_szRetData[0] == 0)\n\t\treturn NULL;\n\n\treturn m_szRetData;\n}\n\nBOOL CHttpUpload::RecvResponse()\n{\n\tchar\tszRetHeader[1024] = {0}; \t\n\tint\t\tnLen;\n\tchar    szRecvBuf[1024] = {0};\n\tchar*   pTemp = NULL;\n\t\n\t//receive header\n\twhile(TRUE)\n\t{\n\t\tnLen = recv(m_hSock, szRecvBuf, sizeof(szRecvBuf), 0);\n\t\tif (nLen == SOCKET_ERROR)\n\t\t\treturn FALSE;\n\t\t\n\t\tAMLOGDEVINFO(\"%s\",szRecvBuf);\n\t\tpTemp = strstr(szRecvBuf, \"\\r\\n\\r\\n\");\n\t\tif (pTemp != NULL)    //header receive finish\n\t\t{\n\t\t\t*pTemp = 0;\n\t\t\tstrcat_s(szRetHeader,sizeof(szRetHeader), szRecvBuf);\n\t\t\tpTemp += 4;\n\t\t\tnLen = nLen - (int)strlen(szRecvBuf) - 4;\n\t\t\tmemcpy((void*)m_szRetData, pTemp, nLen);\n\t\t\tbreak;\n\t\t}\n\t\t\n\t\tstrcat_s(szRetHeader, sizeof(szRetHeader),szRecvBuf); \n\t}\n\t\n\t//response header parse\n\tif (!ParseRetHeader(szRetHeader, (int)strlen(szRetHeader)))\n\t\treturn FALSE;\n\n\twhile(TRUE)\n\t{\n\t\tmemset(szRecvBuf, 0, sizeof(szRecvBuf));\n\t\tnLen = recv(m_hSock, szRecvBuf, sizeof(szRecvBuf), 0);\n\t\tif (nLen == SOCKET_ERROR)\n\t\t\treturn FALSE;\n\t\n\t\tif (nLen == 0)  //data receive finish\n\t\t\tbreak;\n\t\tstrcat_s(m_szRetData,sizeof(m_szRetData), szRecvBuf);\n\t}\n\t\n\t//chunk process\n\tif (m_bChunkTransferEncoding)\n\t{\n\t\tchar szSectionLen[50];\n\t\tint  nSectionLen;\n\t\tchar* pEndPos = NULL;\n\t\tchar* pStartPos = NULL;\n\t\tint   nDataLenCopyed = 0;\n\t\t\n\t\tpStartPos = m_szRetData;\n\t\twhile(*pStartPos != 0)\n\t\t{\n\t\t\tpEndPos = strstr(pStartPos, \"\\r\\n\");\n\t\t\tmemset(szSectionLen, 0, sizeof(szSectionLen));\n\t\t\tstrcpy_s(szSectionLen,sizeof(szSectionLen), \"0x\");\n\t\t\tmemcpy(szSectionLen + 2, pStartPos, pEndPos - pStartPos);\n\t\t\tnSectionLen = HexStrToInt(szSectionLen, (int)strlen(szSectionLen));\n\t\t\tif (nSectionLen == 0)\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tpStartPos = pEndPos + 2;\n\t\t\tpEndPos = pStartPos + nSectionLen;\n\t\t\tmemcpy(m_szRetData + nDataLenCopyed, pStartPos, pEndPos - pStartPos);\n\t\t\tnDataLenCopyed += nSectionLen;\n\n\t\t\tpStartPos = pEndPos + 2;\n\t\t}\n\t\t\n\t\t*(m_szRetData + nDataLenCopyed) = 0;\n\t}\n\n\tif (m_hSock != INVALID_SOCKET)\n\t{\n\t\t::closesocket(m_hSock);\n\t\tm_hSock = INVALID_SOCKET;\n\t}\n\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::UrlParse(const char* cszUrl, int nUrlLen)\n{\n\tif ((cszUrl == NULL) || (nUrlLen == 0))\n\t\treturn FALSE;\n\t\n\tif (_strnicmp(cszUrl, \"http://\", strlen(\"http://\")))\n\t\treturn FALSE;\n\t\n\tchar  szTemp[1024] = {0};\n\tchar* pPos = (char*)cszUrl;\n\tpPos += 7;\n\tstrcpy_s(szTemp, sizeof(szTemp),pPos);\n\tpPos = strchr(szTemp, '/');\n\tstrcpy_s(m_szReqObj,sizeof(m_szReqObj), pPos);   //get object requested\n\t*pPos = 0;\n\tstrcpy_s(m_szSvrName,sizeof(m_szSvrName),szTemp);//get server name\n\t\n\treturn TRUE;\n}\n\nBOOL CHttpUpload::ParseRetHeader(const char* cszRetHeader, int nHeaderLen)\n{\n\tif ((cszRetHeader == NULL) || (nHeaderLen == 0))\n\t\treturn FALSE;\n\n\tchar*\tpTemp = NULL;\n\tchar    szStatusStr[4] = {0};\n\tint     nStatusCode;\n\n\t//response code\n\tpTemp = strchr((char*)cszRetHeader, ' ');\n\tpTemp++;\n\tmemcpy((void*)szStatusStr, (void*)pTemp, 3);\n\tnStatusCode = atoi(szStatusStr);\n\tif ((nStatusCode < 200) || (nStatusCode >= 300))\n\t\treturn FALSE;\n\t\n\t//chunking ?\n\tif (strstr(cszRetHeader, \"Transfer-Encoding: chunked\\r\\n\"))\n\t\tm_bChunkTransferEncoding = TRUE;\n\telse\n\t\tm_bChunkTransferEncoding = FALSE;\n\n\treturn TRUE;\n}\n\n/*\nfirst: \t0xabc101\nsecond:\t10000001\n */\nint  CHttpUpload::HexStrToInt(const char* cszHexStr, int nStrLen)\n{\n\tif ((cszHexStr == NULL) || (nStrLen == 0))\n\t\treturn -1;\n\tconst char* pstr=cszHexStr;\n\tint nResult = 0,i;\n\tfor(i = 0; cszHexStr[i];i++)\n\t{\n\t\tif(cszHexStr[i]=='x' || cszHexStr[i]=='X')\n\t\t{\n\t\t\tpstr=&cszHexStr[i+1];\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; pstr[i];i++)\n\t{\n\t\tif((pstr[i]>='a'&&pstr[i]<='f'))\n\t\t{\n\t\t\tnResult = nResult*16;\n\t\t\tnResult\t+= pstr[i]-'a'+10;\n\t\t}\n\t\telse if((pstr[i]>='A'&&pstr[i]<='F'))\n\t\t{\n\t\t\tnResult = nResult*16;\n\t\t\tnResult\t+= pstr[i]-'A'+10;\n\t\t}\n\t\telse if((pstr[i]>='0'&&pstr[i]<='9'))\n\t\t{\n\t\t\tnResult = nResult*16+pstr[i]-'0';\n\t\t}\n\t}\n\t\n\treturn nResult;\n} "
  },
  {
    "path": "Project/Code/Source/HttpUpload.h",
    "content": "#ifndef UPLOAD_H\n#define UPLOAD_H\n\n#include <winsock.h>\n#include <string>\n\nusing namespace std;\n\n#pragma comment(lib, \"Ws2_32.lib\")\n\nconst int ERROR_CODE_CONNECT_FAILURE\t\t= -1;\nconst int ERROR_CODE_HTTP_REQUEST_FAILURE\t= -2;\nconst int ERROR_CODE_ELSE                   = -3;\n\nstatic char* BASE64_Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n#define AMLOGDEVINFO(x,y) \nclass CHttpUpload\n{\npublic:\n\tCHttpUpload();\n\t~CHttpUpload();\n\n\tBOOL    Init(const char* cszUrl, int nUrlLen);\n\n\t//add text content\n\tBOOL    AddFormTextField(\n\t\t\tconst char* cszFieldName,    //the field name in form \n\t\t\tconst char* cszValue         //field value\n\t\t\t);\n\n\t//add a file\n\tBOOL    AddFormFileField(\n\t\t\tconst char* cszFieldName,    //the field name in form \n\t\t\tconst char* cszFileName,     //the file name which need upload\n\t\t\tBOOL bIsBinary = FALSE\n\t\t\t);\n\n\t//upload request\n\tBOOL    Request();\n\n\t//return data (that received) pointer \n\tchar*   RetRecvDataPt();\n\nprotected:\n\tvoid    DataVarInit();\n\tBOOL\tUrlParse(const char* cszUrl, int nUrlLen);  //url parse\n\tBOOL\tCreateSock();\t\t\t\t\t\t\t\t\t   \n\tBOOL\tConnectSvr();\t\t\t\t\t\t\t\t\t\t\n\tBOOL    AddFormDataEndFlag();\n\n\tBOOL    RecvResponse();\n\tBOOL    ParseRetHeader(const char* cszRetHeader, int nHeaderLen);\n\tint\t\tHexStrToInt(const char* cszHexStr, int nStrLen);\n\t\nprotected:\n\tSOCKET  m_hSock;\n\tchar    m_szSvrName[1024];\t\t\t\t\t //web server name\n\tint\t\tm_nSvrPort;\t\t\t\t\t\t\t //web server port\n\tchar    m_szReqObj[1024];\t\t\t\t\t //request object\n\t\n\tBOOL    m_bChunkTransferEncoding;    //Is Transfer-Encoding: chunked ?\n\t\n\tchar    m_szRetData[1024 * 5];\t\t //receive data(not include header)\n\tstring  m_strFormDataContent;        //form data encoded\n};\n\n#endif"
  },
  {
    "path": "Project/Code/Source/INIFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"INIFile.h\"\n\nNAME_SPACE_BEGIN\nCINIFile::CINIFile()\n{\n\n}\nCINIFile::~CINIFile()\n{\n\n}\nbool CodeGetPrivateProfileString(IN LPCSTR lpAppName,IN LPCSTR lpKeyName,IN LPCSTR lpDefault,OUT LPSTR lpReturnedString,IN DWORD nSize,IN LPCSTR lpFileName)\n{\n\tCTXTFile TxtFile;\n\tchar * pLine;\n\tchar* pValue,*pNewValue;\n\tbool bSectionFind;\n\tchar* pSectionReturnName;\n\tDWORD pSectionReturnNameLen;\n\tDWORD  before=0,after=0;\n\tDWORD offset=0;\n\tchar* lpDestKeyName;\n\tDWORD DestKeyNameLen;\n\tDWORD ValueLen;\n\tif(TxtFile.Open(lpFileName)==false)\n\t\treturn false;\n\tTTXTStrList::IT BeginIt,EndIt,SectionIt;\n\tBeginIt = TxtFile.m_StrList.Begin();\n\tEndIt = TxtFile.m_StrList.End();\n\tbSectionFind=false;\n\tSectionIt=EndIt;\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tpLine=*BeginIt;\n\t\tif(FindSection(pLine,(const char*)lpAppName,&pSectionReturnName,&pSectionReturnNameLen)==false)\n\t\t\tcontinue;\n\t\tif(lpAppName)\n\t\t{\n\t\t\tBeginIt++;\n\t\t\tSectionIt=BeginIt;\n\t\t\tbreak;\n\t\t}\n\t\tif(lpReturnedString)\n\t\t{\n\t\t\tif(nSize>pSectionReturnNameLen)\n\t\t\t{\n\t\t\t\tTStrNCpy(&lpReturnedString[offset],pSectionReturnName,pSectionReturnNameLen);\n\t\t\t\toffset+=pSectionReturnNameLen;\n\t\t\t\tlpReturnedString[offset]=0;\n\t\t\t\toffset++;\n\t\t\t\tnSize-=(pSectionReturnNameLen+1);\n\t\t\t\tbSectionFind=true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\treturn bSectionFind;\n\t}\n\tif(lpAppName==NULL)// section name\n\t{\n\t\tTxtFile.Close();\n\t\treturn bSectionFind;\n\t}\n\tif(SectionIt!=EndIt)\n\t{\n\t\tfor(;BeginIt!=EndIt;BeginIt++)//ҵһ section Ŀʼ\n\t\t{\n\t\t\tpLine=*BeginIt;\n\t\t\tif(FindSection(pLine,NULL)==false)\n\t\t\t\tcontinue;\n\t\t\tEndIt=BeginIt;\n\t\t\tbreak;\n\t\t}\n\t}\n\toffset=0;\n\tfor(;SectionIt!=EndIt;SectionIt++)\n\t{\n\t\tpLine=*SectionIt;\n\t\tif(FindKey(pLine,lpKeyName,&lpDestKeyName,&DestKeyNameLen)==false)\n\t\t\tcontinue;\n\t\tif(lpKeyName==NULL)// key name.\n\t\t{\n\t\t\tif(lpReturnedString)\n\t\t\t{\n\t\t\t\tif(nSize>DestKeyNameLen)\n\t\t\t\t{\n\t\t\t\t\tTStrNCpy(&lpReturnedString[offset],lpDestKeyName,DestKeyNameLen);\n\t\t\t\t\toffset+=DestKeyNameLen;\n\t\t\t\t\tlpReturnedString[offset]=0;\n\t\t\t\t\toffset++;\n\t\t\t\t\tnSize-=(DestKeyNameLen+1);\n\t\t\t\t\tbSectionFind=true;\n\t\t\t\t\tcontinue; \n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tpValue = TStrChr(&lpDestKeyName[DestKeyNameLen],'=');\n\t\tpNewValue=TStrTrim(pValue+1,&ValueLen);\n\t\tbSectionFind=true;\n\t\tif(lpReturnedString)\n\t\t{\n\t\t\tif(nSize>ValueLen)\n\t\t\t{\n\t\t\t\tTStrNCpy(lpReturnedString,pNewValue,ValueLen);\n\t\t\t\tlpReturnedString[ValueLen]=0;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\t}\n\tif(lpKeyName==NULL)\n\t{\n\t\tTxtFile.Close();\n\t\treturn bSectionFind;\n\t}\n\tif(bSectionFind==false)\n\t{\n\t\tif(lpReturnedString&&nSize)\n\t\t{\n\t\t\tif(lpDefault)\n\t\t\t{\n\t\t\t\tint DefaultLen=TStrLen(lpDefault);\n\t\t\t\tif(DefaultLen<(int)nSize)\n\t\t\t\t\tTStrCpy(lpReturnedString,lpDefault);\n\t\t\t\telse\n\t\t\t\t\tTStrNCpy(lpReturnedString,lpDefault,nSize);\n\t\t\t\tlpReturnedString[nSize-1]=0;\n\t\t\t}\n\t\t}\n\t}\n\tTxtFile.Close();\n\treturn bSectionFind;\n}\n\nbool FindKey(const char*pLine,const char* KeyName,char** pDestKeyName,DWORD* dwDestKeyNameLen)\n{\n\tconst char* pFindKey,*pValue;\n\tint len;\n\tpFindKey = TStrTrimBefore(pLine,NULL);\n\tif(KeyName)\n\t{\n\t\tlen = TStrLen(KeyName);\n\t\tif(TStrNICmp(pFindKey,KeyName,len))\n\t\t\treturn false;\n\t\tpValue=TStrTrimBefore(&pFindKey[len],NULL);\n\t\tif(pValue[0]!='=')\n\t\t\treturn false;\n\t\tif(pDestKeyName)\n\t\t\t*pDestKeyName=(char*)pFindKey;\n\t\tif(dwDestKeyNameLen)\n\t\t\t*dwDestKeyNameLen=len;\n\t\treturn true;\n\t}\n\tif(pFindKey[0]=='='||pFindKey[0]==0)\n\t\treturn false;\n\tpValue=TStrChr(pFindKey,'=');\n\tif(pValue==NULL)\n\t\treturn false;\n\tif(pDestKeyName)\n\t\t*pDestKeyName=(char*)pFindKey;\n\tif(dwDestKeyNameLen)\n\t{\n\t\tlen=*(int*)&pValue-*(int*)&pFindKey;\n\t\tlen--;\n\t\tfor(;len;len--)\n\t\t\tif(pFindKey[len]!=' '&&pFindKey[len]!= '\\t')\n\t\t\t\tbreak;\n\t\tlen++;\n\t\t*dwDestKeyNameLen=len;\n\t}\n\treturn true;\n}\n\nbool FindSection(const char* pLine,const char* SectionName,char** pDestSectionName,DWORD* dwDestSectionNameLen)\n{\n\tbool bSectionFind=false;\n\tint i,j,m,n;\n\tfor(i = 0;pLine[i];i++)\n\t\tif(pLine[i]==' '||pLine[i]=='\\t')\n\t\t\tcontinue;\n\t\telse\n\t\t\tif(pLine[i]!='[')\n\t\t\t\tbreak;\n\t\t\telse\n\t\t\t{\n\t\t\t\ti++;\n\t\t\t\tif(!pLine[i])\n\t\t\t\t\tbreak;\n\t\t\t\tfor(j =i; pLine[j]; j++)//˵ո\n\t\t\t\t{\n\t\t\t\t\tif(pLine[j]==' '||pLine[j]=='\\t')\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!pLine[j]||pLine[j]==']')//жǷΪ [    ]\n\t\t\t\t\tbreak;\n \t\t\t\tn = j;\t\t\t\t\t\t//n ʱΪ section name Ŀʼλ\n\t\t\t\tfor(;pLine[j]&&pLine[j]!=']';j++);\n\t\t\t\tif(!pLine[j])\n\t\t\t\t\tbreak;\n\t\t\t\tfor(m=j-1;m>n;m--)//˵ section name ĺĿո\n\t\t\t\t\tif(pLine[m]==' '||pLine[m]=='\\t')\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\telse\n\t\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t\tif(SectionName)//ֵ section Ƚ\n\t\t\t\t{\t\n\t\t\t\t\tif(TStrNICmp(&pLine[n],SectionName,m-n+1))\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t\tfor(;pLine[j];j++)\n\t\t\t\t{\n\t\t\t\t\tif(pLine[j]==' '||pLine[j]=='\\t')\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(pLine[j])\n\t\t\t\t\tbreak;\n\t\t\t\tif(pDestSectionName)\n\t\t\t\t{\n\t\t\t\t\t*pDestSectionName=(char*)&pLine[n];\n\t\t\t\t}\n\t\t\t\tif(dwDestSectionNameLen)\n\t\t\t\t\t*dwDestSectionNameLen=m-n+1;\n\t\t\t\treturn true;\n\t\t\t}\n\treturn bSectionFind;\n}\nbool CodeWritePrivateProfileString(\n\t\t\t\t\t\t\t   IN LPCSTR lpAppName,\n\t\t\t\t\t\t\t   IN LPCSTR lpKeyName,\n\t\t\t\t\t\t\t   IN LPCSTR lpString,\n\t\t\t\t\t\t\t   IN LPCSTR lpFileName\n\t\t\t\t\t\t\t   )\n{\n\tCTXTFile TxtFile;\n\tchar * pLine;\n\tchar* pValue;\n\tbool bSectionFind;\n\tchar* pSectionReturnName;\n\tDWORD pSectionReturnNameLen;\n\tDWORD  before=0,after=0;\n\tDWORD offset=0;\n\tchar* lpDestKeyName;\n\tDWORD DestKeyNameLen;\n\tint len;\n\n\tif(lpAppName==NULL)\n\t\treturn false;\n\tif(TxtFile.Open(lpFileName)==false)\n\t\treturn false;\n\tTTXTStrList::IT BeginIt,EndIt,SectionIt;\n\tBeginIt = TxtFile.m_StrList.Begin();\n\tEndIt = TxtFile.m_StrList.End();\n\tbSectionFind=false;\n\tSectionIt=EndIt;\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tpLine=*BeginIt;\n\t\tif(FindSection(pLine,(const char*)lpAppName,&pSectionReturnName,&pSectionReturnNameLen)==false)\n\t\t\tcontinue;\n\t\tBeginIt++;\n\t\tSectionIt=BeginIt;\n\t\tbSectionFind=true;\n\t\tbreak;\n\t}\n\tif(bSectionFind==false)// section \n\t{\n\t\tlen=TStrLen(lpAppName)+1+1+3;//1 == [  1 == ] 3 == 0d0a00\n\t\tpValue=new char[len];\n\t\tTStrCpy(pValue,\"[\");\n\t\tTStrCat(pValue,lpAppName);\n\t\tTStrCat(pValue,\"]\");\n\t\tTxtFile.m_StrList.InsertBefore(EndIt,pValue);\n\t\tEndIt = TxtFile.m_StrList.End();\n\t\tSectionIt=EndIt;\n\t}\n\tbSectionFind=false;\n\tif(SectionIt!=EndIt)\n\t{\n\t\tfor(;BeginIt!=EndIt;BeginIt++)//ҵһ section Ŀʼ\n\t\t{\n\t\t\tpLine=*BeginIt;\n\t\t\tif(FindSection(pLine,NULL)==false)\n\t\t\t\tcontinue;\n\t\t\tEndIt=BeginIt;\n\t\t\tbreak;\n\t\t}\n\t}\n\toffset=0;\n\tif(lpKeyName==NULL)\n\t{\n\t\tfor(;SectionIt!=EndIt;SectionIt++)\n\t\t{\n\t\t\tdelete *SectionIt;\n\t\t\tSectionIt=TxtFile.m_StrList.Remove(SectionIt);\n\t\t\tbSectionFind=true;\n\t\t}\n\t\tif(bSectionFind)\n\t\t{\n\t\t\tTxtFile.Save(lpFileName);\n\t\t}\n\t}\n\telse\n\t{\n\t\tBeginIt=SectionIt;\n\t\tfor(;SectionIt!=EndIt;SectionIt++)\n\t\t{\n\t\t\tpLine=*SectionIt;\n\t\t\tif(FindKey(pLine,lpKeyName,&lpDestKeyName,&DestKeyNameLen)==false)\n\t\t\t\tcontinue;\n\t\t\tbSectionFind=true;\n\t\t\tdelete *SectionIt;//ܻ⣬ windows  CTXTFileڶ̬ʱ*SectionItָ ̬еĶѵڴ棬\n\t\t\t\t\t\t\t\t//delete exeĶ\n\t\t\tSectionIt=TxtFile.m_StrList.Remove(SectionIt);\n\t\t\tif(lpString==NULL)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlen = TStrLen(lpKeyName)+1+TStrLen(lpString)+3;\n\t\t\tpValue=new char[len];\n\t\t\tTStrCpy(pValue,lpKeyName);\n\t\t\tTStrCat(pValue,\"=\");\n\t\t\tTStrCat(pValue,lpString);\n\t\t\t//TStrCat(pValue,\"\\r\\n\");\n\t\t\tTxtFile.m_StrList.InsertAfter(SectionIt,pValue);\n\t\t\tbreak;\n\t\t}\n\t\tif(bSectionFind)\n\t\t{\n\t\t\tTxtFile.Save(lpFileName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(lpString)//һµļ\n\t\t\t{\n\t\t\t\tlen = TStrLen(lpKeyName)+1+TStrLen(lpString)+3;\n\t\t\t\tpValue=new char[len];\n\t\t\t\tTStrCpy(pValue,lpKeyName);\n\t\t\t\tTStrCat(pValue,\"=\");\n\t\t\t\tTStrCat(pValue,lpString);\n\t\t\t\t//TStrCat(pValue,\"\\r\\n\");\n\t\t\t\tTxtFile.m_StrList.InsertBefore(BeginIt,pValue);\n\t\t\t\tTxtFile.Save(lpFileName);\n\t\t\t\tbSectionFind=true;\n\t\t\t}\n\t\t}\n\t}\n\tTxtFile.Close();\n\treturn bSectionFind;\n}\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/INIFile.h",
    "content": "#ifndef _INIFILE_H_\n#define _INIFILE_H_\n#include \"Define.h\"\n#include \"TXTFile.h\"\n\nNAME_SPACE_BEGIN\ntypedef TList<char*> CommentSeparatorList;\n\nclass CINIFile:public CTXTFile\n{\n\tCommentSeparatorList m_CommentSeparatorStrList;\n\tTList<char*> m_SectionList;\npublic:\n\tCINIFile();\n\t~CINIFile();\n\tbool GetString(IN char* lpSectionName,IN char*lpKeyName,OUT char *lpString);\n\tbool SetString(IN char* lpSectionName,IN char*lpKeyName,IN char*lpString);\n\tbool IsSectionExist(IN char* lpSectionName);\n\tbool IsKeyExist(IN char* lpSectionName,IN char*lpKeyName);\n\tbool CreateSection(IN char* lpSectionName);\n\tbool DeleteSection(IN char* lpSectionName);\n\tvoid AddCommentSeparatorStr(IN char* SeparatorStr);\n\tvoid DelCommentSeparatorStr(IN char* SeparatorStr);\n};\nbool FindKey(const char*pLine,const char* KeyName,char** pDestKeyName=NULL,DWORD* dwDestKeyNameLen=NULL);\nbool FindSection(const char* pLine,const char* SectionName,char** pDestSectionName=NULL,DWORD* dwDestSectionNameLen=NULL);\nbool CodeWritePrivateProfileString(\n\t\t\t\t\t\t\t   IN LPCSTR lpAppName,\n\t\t\t\t\t\t\t   IN LPCSTR lpKeyName,\n\t\t\t\t\t\t\t   IN LPCSTR lpString,\n\t\t\t\t\t\t\t   IN LPCSTR lpFileName\n\t\t\t\t\t\t\t   );\nbool CodeGetPrivateProfileString(\n\t\t\t\t\t\t\t IN LPCSTR lpAppName,\n\t\t\t\t\t\t\t IN LPCSTR lpKeyName,\n\t\t\t\t\t\t\t IN LPCSTR lpDefault,\n\t\t\t\t\t\t\t OUT LPSTR lpReturnedString,\n\t\t\t\t\t\t\t IN DWORD nSize,\n\t\t\t\t\t\t\t IN LPCSTR lpFileName\n\t\t\t\t\t\t\t );\nNAME_SPACE_END\n#endif // _INIFILE_H_\n"
  },
  {
    "path": "Project/Code/Source/ImageFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ImageFile.h\"\n\nNAME_SPACE_BEGIN\n\nCImageFile::CImageFile()\n{\n\tm_hFile = NULL;\n\tm_FileType = FILE_TYPE_BIN;\n\tm_pFileIO = gpFileIO;\n\tm_Buffer=NULL;\n\tm_FileObjType = FILE_OBJ_TYPE_NULL;\n\tm_FilePointer = 0;\n\tm_ReadMemory = (RWProc)StaticReadMemory;\n\tm_RMObj = this;\n\tm_WriteMemory = (RWProc)StaticWriteMemory;\n\tm_WMObj = this;\n}\n\nvoid CImageFile::InitParam()\n{\n\tm_PageAttribute=MP_READWRITE | MP_IMAGE;\n\tm_ImageBase = m_BaseOffset = m_EntryPoint = 0;\n\tm_ImageHighBase=m_ImageSize=m_FileSize;\n\tm_FileType=FILE_TYPE_BIN;\n\tm_FilePointer=0;\n}\n\nbool CImageFile::Create(IN PCSTR FileName,IN ULSIZE Size)\n{\n\tif(m_pFileIO==NULL)\n\t\tm_pFileIO = gpFileIO;\n\tif(m_pFileIO->CreateFile(FileName,&m_hFile)==false)\n\t\treturn false;\n\tm_ImageName=FileName;\n\tm_FileObjType=FILE_OBJ_TYPE_OPEN_FOR_WRITE;\n\tSetFileLength(Size);\n\tGetFileLength();\n\tInitParam();\n\treturn true;\n}\n\nbool CImageFile::Create(IN ULSIZE Size,IN BYTE*Buffer,bool bCompress)\n{\n\tif(Buffer==NULL || bCompress)\n\t{\n\t\tm_Buffer=new BYTE[Size];\n\t\tm_FileObjType |= FILE_OBJ_TYPE_MEMORY_IMAGE;\n\t}\n\telse\n\t{\n\t\tm_Buffer = Buffer;\n\t\tm_FileObjType |= FILE_OBJ_TYPE_USER_MEMORY_IMAGE;\n\t}\n\tif(bCompress)\n\t{\n#ifdef _CODE_COMPRESS_H_\n\t\tif(Buffer==NULL || Size==0)\n\t\t\treturn false;\n\t\tif(Decompress(Buffer,Size,m_Buffer)!=Size)\n\t\t{\n\t\t\tdelete m_Buffer;\n\t\t\tm_FileObjType &= ~FILE_OBJ_TYPE_MEMORY_IMAGE;\n\t\t\treturn false;\n\t\t}\n#else\n\t\treturn false;\n#endif\n\t}\n\tm_FileSize = Size;\n\tm_FilePointer = 0;\n\tInitParam();\n\treturn true;\n}\n\nbool CImageFile::Open(IN PCSTR FileName,IN HANDLE*pHandleOpen)\n{\n\tif(m_pFileIO==NULL)\n\t\tm_pFileIO = gpFileIO;\n\tif(FileName)\n\t{\n\t\tm_FileObjType = FILE_OBJ_TYPE_NULL;\n\t\tif(m_pFileIO->OpenFile(FileName,&m_hFile)==false)\n \t\t\treturn false;\n\t\tm_ImageName=FileName;\n\t}\n\telse\n\t{\n\t\tm_FileObjType |= FILE_OBJ_TYPE_OPEN_FOR_WRITE;\n\t\tif(m_FileObjType&FILE_OBJ_TYPE_MEMORY_IMAGE_MASK)\n\t\t\treturn true;\n\t\tm_hFile=*pHandleOpen;\n\t\tm_ImageName.Empty();\n\t\tm_FileObjType |= FILE_OBJ_TYPE_OPEN_BY_HANDLE;\n\t}\n\tm_FilePointer = 0;\n\tm_FileSize=(ULSIZE)m_pFileIO->GetFileLength(m_hFile);\n\tInitParam();\n\treturn true;\n}\n\nvoid CImageFile::Close()\n{\n\tm_ImageName.Empty();\n\tif(m_FileObjType&FILE_OBJ_TYPE_MEMORY_IMAGE)\n\t\tSafeDelete(m_Buffer);\n\tif((m_FileObjType&FILE_OBJ_TYPE_OPEN_BY_HANDLE)==0)\n\t{\n\t\tm_pFileIO->CloseHandle(m_hFile);\n\t\tm_hFile=NULL;\n\t}\n\tm_ImageHighBase = m_ImageBase = 0;\t\n\tm_ImageSize = 0;\n\tm_FilePointer = 0;\n\tif(m_FileObjType&FILE_OBJ_TYPE_AUTO_DELETE)\n\t\tdelete this;\n\telse\n\t\tm_FileObjType=FILE_OBJ_TYPE_NULL;\n}\n\nvoid CImageFile::ChangeFileIO(IN CFileIO*pFileIO)\n{\n\tm_pFileIO = pFileIO;\n}\n\nbool CImageFile::ReadFile(IN ULPOS Pos,OUT void* Buffer,IN ULSIZE Size)\n{\n\tULSIZE RDSize;\n\tif(m_Buffer)\n\t{\n\t\tif(Pos>=m_FileSize)\n\t\t\treturn false;\t\t\n\t\tRDSize = m_FileSize-Pos;\n\t\tMAX_LIMIT(RDSize,Size);\t\t\n\t\tmemcpy(Buffer,RT_PBYTE(m_Buffer,Pos+m_BaseOffset),RDSize);\n\t\tm_FilePointer=Pos+RDSize;\n\t\treturn true;\n\t}\n\tif(m_FileSize==0)\n\t\tGetFileLength();\n\tif(Pos>m_FileSize)\n\t\treturn false;\n\tRDSize=m_pFileIO->ReadFile(m_hFile,Buffer,Size,Pos+m_BaseOffset);\n\tm_FilePointer=Pos+m_BaseOffset+RDSize;\n\treturn RDSize==Size;\n}\n\nbool CImageFile::WriteFile(IN ULPOS Pos,IN void* Buffer,IN ULSIZE Size)\n{\n\tULSIZE WTSize;\n\tif(m_Buffer)\n\t{\n\t\tif(Pos>=m_FileSize)\n\t\t\treturn false;\n\t\tWTSize = m_FileSize-Pos;\n\t\tMAX_LIMIT(WTSize,Size);\n\t\tmemcpy(RT_PBYTE(m_Buffer,Pos+m_BaseOffset),Buffer,WTSize);\n\t\tm_FilePointer=Pos+WTSize;\n\t\treturn true;\n\t}\n\tif((m_FileObjType&FILE_OBJ_TYPE_OPEN_FOR_WRITE)==0)\n\t{\n\t\tm_pFileIO->CloseHandle(m_hFile);\n\t\tif(m_pFileIO->OpenFile(m_ImageName,&m_hFile,FIO_WRITE|FIO_SHARE_READ)==false)\n\t\t\treturn false;\n\t\tm_FileObjType |= FILE_OBJ_TYPE_OPEN_FOR_WRITE;\n\t}\n\tWTSize=m_pFileIO->WriteFile(m_hFile,Buffer,Size,Pos+m_BaseOffset);\n\tm_FilePointer=Pos+m_BaseOffset+WTSize;\n\tif(m_FileSize<m_FilePointer)\n\t\tm_FileSize = m_FilePointer;\n\treturn  WTSize==Size;\n}\n\nbool CImageFile::ReadFile(OUT void* Buffer,IN ULSIZE Size)\n{\n\tULSIZE RDSize;\n\tif(m_Buffer)\n\t{\n\t\tif(m_FilePointer>=m_FileSize)\n\t\t\treturn false;\n\t\tRDSize = m_FileSize-m_FilePointer;\n\t\tMAX_LIMIT(RDSize,Size);\t\t\n\t\tmemcpy(Buffer,RT_PBYTE(m_Buffer,m_FilePointer),RDSize);\n\t\tm_FilePointer+=RDSize;\n\t\treturn true;\n\t}\n\tRDSize = m_pFileIO->ReadFile(m_hFile,Buffer,Size,m_FilePointer);\n\tm_FilePointer+=RDSize;\n\treturn RDSize == Size;\n}\n\nbool CImageFile::WriteFile(IN void* Buffer,IN ULSIZE Size)\n{\n\tULSIZE WTSize;\n\tif(m_Buffer)\n\t{\n\t\tif(m_FilePointer>=m_FileSize)\n\t\t\treturn false;\n\t\tWTSize = m_FileSize-m_FilePointer;\n\t\tMAX_LIMIT(WTSize,Size);\n\t\tmemcpy(RT_PBYTE(m_Buffer,m_FilePointer),Buffer,WTSize);\n\t\tm_FilePointer+=WTSize;\n\t\treturn true;\n\t}\n\tWTSize = m_pFileIO->WriteFile(m_hFile,Buffer,Size,m_FilePointer);\n\tm_FilePointer+=WTSize;\n\tif(m_FileSize<m_FilePointer)\n\t\tm_FileSize = m_FilePointer;\n\treturn WTSize == Size;\n}\n\nbool CImageFile::CutFile(IN ULPOS Pos,IN ULSIZE Size)\n{\n\tint nBlock,Offset;\n\tULSIZE TailSize,LeftSize;\n\tBYTE*Buffer;\n\tif(Pos+Size>m_FileSize)\n\t\treturn false;\n\tTailSize = m_FileSize - Pos - Size;\n\tif(TailSize <= MAX_FILE_OPT_SIZE)\n\t{\n\t\tBuffer = new BYTE[TailSize];\n\t\tif(Buffer==NULL)\n\t\t\treturn false;\n\t\tReadFile(Pos+Size,Buffer,TailSize);\n\t\tWriteFile(Pos,Buffer,TailSize);\n\t\tSetFileLength(Pos+TailSize);\n\t\tdelete Buffer;\n\t}\n\telse\n\t{\n\t\tBuffer = new BYTE[MAX_FILE_OPT_SIZE];\n\t\tif(Buffer==NULL)\n\t\t\treturn false;\n\t\tnBlock = PAGE_COUNT(TailSize,MAX_FILE_OPT_SIZE);\n\t\tOffset = 0;\n\t\tLeftSize = TailSize%MAX_FILE_OPT_SIZE;\n\t\tfor(int n=1;n<nBlock;n++)\n\t\t{\n\t\t\tReadFile(Pos+Size+Offset,Buffer,MAX_FILE_OPT_SIZE);\n\t\t\tWriteFile(Pos+Offset,Buffer,MAX_FILE_OPT_SIZE);\n\t\t\tOffset+=MAX_FILE_OPT_SIZE;\n\t\t}\n\t\tReadFile(Pos+Size+Offset,Buffer,LeftSize);\n\t\tWriteFile(Pos+Offset,Buffer,LeftSize);\n\t\tSetFileLength(Pos+TailSize);\n\t\tdelete Buffer;\n\t}\n\treturn true;\n}\n\nbool CImageFile::DeleteFile()\n{\n\treturn m_pFileIO->DeleteFile(m_ImageName);\n}\n\nULSIZE CImageFile::ReadString(IN ULPOS Pos,OUT CHAR* Buffer,IN ULSIZE MaxLen,IN ULSIZE AlignLen)\n{\n\tULPOS Offset;\n\tULSIZE Len;\n\tOffset=0;\n\tif(MaxLen==0)\n\t\treturn 0;\n\twhile(Offset<MaxLen)\n\t{\n\t\tLen=MIN(MaxLen-Offset,AlignLen);\n\t\tReadMemory(Pos+Offset*sizeof(*Buffer),&Buffer[Offset],Len*sizeof(*Buffer));\n\t\tfor(ULSIZE n=0;n<Len;n++)\n\t\t{\n\t\t\tif(Buffer[Offset+n]==0)\n\t\t\t\treturn Offset+n;\n\t\t}\n\t\tOffset+=Len;\n\t}\n\tMaxLen--;\n\tBuffer[MaxLen]=0;\n\treturn MaxLen;\n}\n\nULSIZE CImageFile::ReadString(IN ULPOS Pos,OUT WORD* Buffer,IN ULSIZE MaxLen,IN ULSIZE AlignLen)\n{\n\tULPOS Offset;\n\tULSIZE Len;\t\n\tOffset=0;\n\tif(MaxLen==0)\n\t\treturn 0;\n\twhile(Offset<MaxLen)\n\t{\n\t\tLen=MIN(MaxLen-Offset,AlignLen);\n\t\tReadMemory(Pos+Offset*sizeof(*Buffer),&Buffer[Offset],Len*sizeof(*Buffer));\n\t\tfor(ULSIZE n=0;n<Len;n++)\n\t\t{\n\t\t\tif(Buffer[Offset+n]==0)\n\t\t\t\treturn Offset+n;\n\t\t}\n\t\tOffset+=Len;\n\t}\n\tMaxLen--;\n\tBuffer[MaxLen]=0;\n\treturn MaxLen;\n}\n\nULSIZE CImageFile::ReadString(IN ULPOS Pos,OUT DCHAR* Buffer,IN ULSIZE MaxLen,IN ULSIZE AlignLen)\n{\n\tULPOS Offset;\n\tULSIZE Len;\t\n\tOffset=0;\n\tif(MaxLen==0)\n\t\treturn 0;\n\twhile(Offset<MaxLen)\n\t{\n\t\tLen=MIN(MaxLen-Offset,AlignLen);\n\t\tReadMemory(Pos+Offset*sizeof(*Buffer),&Buffer[Offset],Len*sizeof(*Buffer));\n\t\tfor(ULSIZE n=0;n<Len;n++)\n\t\t{\n\t\t\tif(Buffer[Offset+n]==0)\n\t\t\t\treturn Offset+n;\n\t\t}\n\t\tOffset+=Len;\n\t}\n\tMaxLen--;\n\tBuffer[MaxLen]=0;\n\treturn MaxLen;\n}\n\nULSIZE CImageFile::GetFileLength()\n{\n\tif(m_Buffer==NULL)\n\t\tm_FileSize = (ULSIZE)m_pFileIO->GetFileLength(m_hFile);\n\treturn m_FileSize;\n}\n\nbool CImageFile::SetFileLength(IN ULSIZE Length)\n{\n\tif(m_Buffer)\n\t\treturn false;\n\tif((m_FileObjType&FILE_OBJ_TYPE_OPEN_FOR_WRITE)==0)\n\t{\n\t\tm_pFileIO->CloseHandle(m_hFile);\n\t\tif(!m_pFileIO->OpenFile(m_ImageName,&m_hFile,FIO_WRITE | FIO_SHARE_READ))\n\t\t\treturn false;\n\t\tm_FileObjType|=FILE_OBJ_TYPE_OPEN_FOR_WRITE;\n\t}\n\tif(m_pFileIO->SetFileLength(m_hFile,Length)==false)\n\t\treturn false;\n\tm_FileSize = (ULSIZE)m_pFileIO->GetFileLength(m_hFile);\n\treturn true;\n}\n\nULSIZE CImageFile::ReadImageMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size)\n{\n////ü///////////////////////////////////\n\tif(Address < m_ImageBase || Address>= m_ImageHighBase)\n\t\treturn 0;\n\tif(Address< m_ImageHighBase && Address+Size >m_ImageHighBase)\n\t\tSize=m_ImageHighBase-Address;\n////ü///////////////////////////////////\n\tReadFile(Address-m_ImageBase,Buffer,Size);\n\treturn Size;\n}\n\nULSIZE CImageFile::WriteImageMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size)\n{\n\t////ü///////////////////////////////////\n\tif(Address < m_ImageBase || Address>= m_ImageHighBase)\n\t\treturn 0;\n\tif(Address< m_ImageHighBase && Address+Size >m_ImageHighBase)\n\t\tSize=m_ImageHighBase-Address;\n\t////ü///////////////////////////////////\n\tWriteFile(Address-m_ImageBase,Buffer,Size);\n\treturn Size;\n}\n\nbool CImageFile::LoadPage(IN ULPOS Address,OUT void* Buffer)\n{\n\tZeroMemory(Buffer,MP_SIZE);\n\tReadMemory(Address-m_ImageBase,Buffer,MP_SIZE);\n\treturn true;\n}\n\nbool CImageFile::SavePage(IN ULPOS Address,OUT void* Buffer)\n{\n\treturn WriteFile(Address-m_ImageBase,Buffer,MP_SIZE);\n}\n\nDWORD CImageFile::GetPageAttribute(IN ULPOS Address)\n{\n\treturn m_PageAttribute;\n}\n\nvoid CImageFile::RelocLoad(IN ULPOS BaseAddr)\n{\n\tULPOS Delta;\n\tDelta=BaseAddr-m_ImageBase;\n\tm_ImageBase=BaseAddr;\n\tm_ImageHighBase+=Delta;\n\tm_EntryPoint+=Delta;\n}\n\nvoid CImageFile::SetRMProc(IN RWProc RMFunc,IN void*RMObj)\n{\n\tm_ReadMemory = RMFunc;\n\tm_RMObj = RMObj;\n}\n\nvoid CImageFile::SetWMProc(IN RWProc WMFunc,IN void*WMObj)\n{\n\tm_WriteMemory = WMFunc;\n\tm_WMObj = WMObj;\n}\n\nULSIZE CImageFile::ReadMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size)\n{\n\tif(m_ReadMemory==NULL)\n\t\treturn 0;\n\treturn m_ReadMemory(Address,Buffer,Size,m_RMObj);\n}\n\nULSIZE CImageFile::WriteMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size)\n{\n\tif(m_WriteMemory==NULL)\n\t\treturn 0;\n\treturn m_WriteMemory(Address,Buffer,Size,m_WMObj);\n}\n\nULSIZE CImageFile::StaticReadMemory(IN ULPOS Address,IN void*Buffer,IN ULSIZE Size,IN void*RMObj)\n{\n\treturn ((CImageFile*)RMObj)->ReadImageMemory(Address,Buffer,Size);\n}\n\nULSIZE CImageFile::StaticWriteMemory(IN ULPOS Address,IN void*Buffer,IN ULSIZE Size,IN void*RMObj)\n{\n\treturn ((CImageFile*)RMObj)->WriteImageMemory(Address,Buffer,Size);\n}\n\nULSIZE CImageFile::StaticReadRealMemory(IN ULPOS Address,IN void*Buffer,IN ULSIZE Size,IN void*RMObj)\n{\n\tmemcpy(Buffer,NUM_TO_PTR(Address),Size);\n\treturn Size;\n}\n\nULSIZE CImageFile::StaticWriteRealMemory(IN ULPOS Address,IN void*Buffer,IN ULSIZE Size,IN void*RMObj)\n{\n\tmemcpy(NUM_TO_PTR(Address),Buffer,Size);\n\treturn Size;\n}\n\nbool CImageFile::IsInvalidAddress(ULPOS Address)\n{\n\treturn Address<m_ImageBase || Address>=m_ImageHighBase;\n}\n\nint CImageFileStream::Puts(void*Buffer,int Size)\n{\n\treturn WriteFile(Buffer,Size)?Size:0;\n}\n\nint CImageFileStream::Gets(void*Buffer,int Size)\n{\n\treturn ReadFile(Buffer,Size)?Size:0;\n}\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/ImageFile.h",
    "content": "///////////////////////////////////////////////////////\n//image file\n//coded by Finaldoom\n///////////////////////////////////////////////////////\n#ifndef\t_IMAGEFILE_H_\n#define _IMAGEFILE_H_\n\n#include \"FileIO.h\"\n\nNAME_SPACE_BEGIN\n\ntypedef ULSIZE\t(*RWProc)(ULPOS Address,void*Buffer,ULSIZE Size,void*Param);\n\n#define MAX_FILE_OPT_SIZE\t\t\t\t0x100000\n\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n//File type define\n#define\tFILE_TYPE_ERROR\t\t\t\t\t0x00000000\n#define\tFILE_TYPE_BIN\t\t\t\t\t0x00000001\n#define FILE_TYPE_EXECUTE\t\t\t\t0x00000002\n#define FILE_TYPE_NON_I386\t\t\t\t0x00000004\n#define FILE_TYPE_16BIT\t\t\t\t\t0x00000008\n#define FILE_TYPE_32BIT\t\t\t\t\t0x00000010\n#define FILE_TYPE_64BIT\t\t\t\t\t0x00000020\n#define FILE_TYPE_MEMORY_IMAGE\t\t\t0x00000040\n#define FILE_TYPE_MAIN_MODULE\t\t\t0x00001000\n#define FILE_TYPE_USER_MODULE\t\t\t0x00002000\n#define FILE_TYPE_KERNEL_MODULE\t\t\t0x00004000\n//--------------------------------------------------------------------------------------------------\n#define\tFILE_TYPE_MZ\t\t\t\t\t(FILE_TYPE_BIN|FILE_TYPE_EXECUTE|FILE_TYPE_16BIT|0x00000100)\n#define FILE_TYPE_NE\t\t\t\t\t(FILE_TYPE_BIN|FILE_TYPE_EXECUTE|FILE_TYPE_16BIT|0x00000200)\n#define\tFILE_TYPE_PE\t\t\t\t\t(FILE_TYPE_BIN|FILE_TYPE_EXECUTE|FILE_TYPE_32BIT|0x00000300)\n#define FILE_TYPE_ELF\t\t\t\t\t(FILE_TYPE_BIN|FILE_TYPE_EXECUTE|FILE_TYPE_32BIT|0x00000400)\n////////////////////////////////////////////////////////////////////////////////////////////////////\n//FILE_TYPE_PE\n#define\tFILE_TYPE_PE_EXE\t\t\t\t(FILE_TYPE_PE|FILE_TYPE_MAIN_MODULE)\n#define\tFILE_TYPE_PE_DLL\t\t\t\t(FILE_TYPE_PE|FILE_TYPE_USER_MODULE)\n#define\tFILE_TYPE_PE_SYS\t\t\t\t(FILE_TYPE_PE|FILE_TYPE_KERNEL_MODULE)\n////////////////////////////////////////////////////////////////////////////////////////////////////\n//Page Attribute\n#define\tMP_ERROR\t\t\t\t\t\t0xFFFFFFFF\n#define\tMP_MASK\t\t\t\t\t\t\t0x0FFF\n#define\tMP_NOT_MASK\t\t\t\t\t\t0xFFFFF000\n#define\tMP64_NOT_MASK\t\t\t\t\t0xFFFFFFFFFFFFF000\n#define\tMP_SIZE\t\t\t\t\t\t\t0x1000\n#define\tMP_FREE\t\t\t\t\t\t\t0x0000\n#define\tMP_DIRTY\t\t\t\t\t\t0x0001\n#define\tMP_READ\t\t\t\t\t\t\t0x0002\n#define\tMP_WRITE\t\t\t\t\t\t0x0004\n#define\tMP_WRITEBACK\t\t\t\t\t0x0008\n#define\tMP_IMAGE\t\t\t\t\t\t0x0010\n#define\tMP_CONST\t\t\t\t\t\t0x0020\n#define\tMP_WATCH\t\t\t\t\t\t0x1000\n#define\tMP_KERNEL\t\t\t\t\t\t0x2000\n#define\tMP_COMMIT\t\t\t\t\t\t0x4000\n#define\tMP_LOCK\t\t\t\t\t\t\t0x8000\n//MP_COMMIT  MP_DIRTY , MP_IMAGE ͻ\n#define\tMP_USER_ALL_ATTR\t\t\t\t(MP_DIRTY | MP_READ | MP_WRITE)\n#define\tMP_KERNEL_ALL_ATTR\t\t\t\t(MP_DIRTY | MP_READ | MP_WRITE | MP_KERNEL)\n#define\tMP_READWRITE\t\t\t\t\t(MP_READ  | MP_WRITE)\n///////////////////////////////////////////////////////////////////////////////////////////////////\n#define FILE_OBJ_USER_MASK\t\t\t\t0x0000FFFF\n#define\tFILE_OBJ_TYPE_NULL\t\t\t\t0x00000000\n#define\tFILE_OBJ_TYPE_AUTO_DELETE\t\t0x00010000\n#define\tFILE_OBJ_TYPE_OPEN_BY_HANDLE\t0x00020000\n#define FILE_OBJ_TYPE_OPEN_FOR_WRITE\t0x00040000\n//-------------------------------------------------------------------------------------------------\n#define FILE_OBJ_TYPE_MEMORY_IMAGE\t\t0x01000000\t\n#define FILE_OBJ_TYPE_USER_MEMORY_IMAGE\t0x02000000\n#define FILE_OBJ_TYPE_OS_MEMORY_IMAGE\t0x04000000\n#define FILE_OBJ_TYPE_MEMORY_IMAGE_MASK\t(FILE_OBJ_TYPE_USER_MEMORY_IMAGE|FILE_OBJ_TYPE_OS_MEMORY_IMAGE|FILE_OBJ_TYPE_OS_MEMORY_IMAGE)\n///////////////////////////////////////////////////////////////////////////////////////////////////\n\nclass CPageImage\n{\npublic:\n\tCStrA\t\tm_ImageName;\n\tULSIZE\t\tm_ImageSize;\n\tULPOS\t\tm_ImageBase;\n\tULPOS\t\tm_ImageHighBase;\n\tvirtual bool\tLoadPage(IN ULPOS Address,OUT void* Buffer)=0;\n\tvirtual bool\tSavePage(IN ULPOS Address,OUT void* Buffer){return false;}\n\tvirtual DWORD\tGetPageAttribute(IN ULPOS Address){return MP_READ;}\n};\n\nclass CImageFile : public CPageImage\n{\n\tHANDLE\tm_hFile;\nprotected:\n\tRWProc\tm_ReadMemory;\n\tRWProc\tm_WriteMemory;\n\tvoid*\tm_RMObj;\n\tvoid*\tm_WMObj;\npublic:\n\tCImageFile();\n\tvirtual bool\tCreate(IN PCSTR FileName,IN ULSIZE Size = 0);\t\t\t\t\t\t\t\t\t\t\t//ͨļ\n\tvirtual bool\tCreate(IN ULSIZE Size,IN BYTE*Buffer = NULL OPTIONAL,bool bCompress = false);\t\t\t//ڴļ\n\tvirtual bool\tOpen(IN PCSTR FileName,IN HANDLE*pHandleOpen = NULL OPTIONAL);\n\tvirtual void\tClose();\n\tvirtual ULSIZE\tReadImageMemory(IN ULPOS Address,OUT void* Buffer,IN ULSIZE Size);\n\tvirtual ULSIZE\tWriteImageMemory(IN ULPOS Address,OUT void* Buffer,IN ULSIZE Size);\n\tvirtual bool\tLoadPage(IN ULPOS Address,OUT void* Buffer);\n\tvirtual bool\tSavePage(IN ULPOS Address,OUT void* Buffer);\n\tvirtual DWORD\tGetPageAttribute(IN ULPOS Address);\n\tvirtual void\tRelocLoad(IN ULPOS BaseAddr);\n\tvirtual void\tSetRMProc(IN RWProc RMFunc,IN void*RMObj = NULL);\n\tvirtual void\tSetWMProc(IN RWProc WMFunc,IN void*WMObj = NULL);\n\tvirtual\tbool\tIsInvalidAddress(ULPOS Address);\n\tvirtual\tULSIZE\tReadMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size);\n\tvirtual\tULSIZE\tWriteMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size);\n\tvirtual\tvoid\tDumpInfo(){};\n\tstatic\tULSIZE\tStaticReadMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size,IN void*RMObj);\n\tstatic\tULSIZE\tStaticWriteMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size,IN void*RMObj);\n\tstatic\tULSIZE\tStaticReadRealMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size,IN void*RMObj);\n\tstatic\tULSIZE\tStaticWriteRealMemory(IN ULPOS Address,OUT void*Buffer,IN ULSIZE Size,IN void*RMObj);\npublic:\n\tvoid\tInitParam();\n\tvoid\tChangeFileIO(IN CFileIO*pFileIO);\n\tbool\tReadFile(IN ULPOS Pos,OUT void* Buffer,IN ULSIZE Size);\n\tbool\tWriteFile(IN ULPOS Pos,IN void* Buffer,IN ULSIZE Size);\n\tbool\tReadFile(OUT void* Buffer,IN ULSIZE Size);\n\tbool\tWriteFile(IN void* Buffer,IN ULSIZE Size);\n\tbool\tCutFile(IN ULPOS Pos,IN ULSIZE Size);\n\tULSIZE\tReadString(IN ULPOS Pos,OUT CHAR * Buffer,IN ULSIZE MaxLen,ULSIZE AlignLen = 24);\n\tULSIZE\tReadString(IN ULPOS Pos,OUT WORD * Buffer,IN ULSIZE MaxLen,ULSIZE AlignLen = 24);\n\tULSIZE\tReadString(IN ULPOS Pos,OUT DCHAR* Buffer,IN ULSIZE MaxLen,ULSIZE AlignLen = 24);\n\tULSIZE\tGetFileLength();\n\tbool\tSetFileLength(IN ULSIZE Length);\n\tbool\tDeleteFile();\n\tbool\tinline IsOpened(){ return m_hFile!= NULL || m_Buffer!=NULL; }\n\tULPOS\tm_EntryPoint;\n\tUINT\tm_FileType;\n\tUINT\tm_FileObjType;\n\tDWORD\tm_PageAttribute;\n\tULSIZE\tm_FileSize;\n\tULPOS\tm_BaseOffset;\n\tULPOS\tm_FilePointer;\n\tBYTE*\tm_Buffer;\n\tCFileIO*m_pFileIO;\n};\n\nclass CImageFileStream : public ALTFileStream,public CImageFile\n{\npublic:\n\tint\t\tPuts(void*Buffer,int Size);\n\tint\t\tGets(void*Buffer,int Size);\n};\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/LDasm.c",
    "content": "/*\n  ___________________________________________________\n  Opcode Length Disassembler.\n  Coded By Ms-Rem ( Ms-Rem@yandex.ru ) ICQ 286370715\n  ---------------------------------------------------\n  12.08.2005 - fixed many bugs...\n  09.08.2005 - fixed bug with 0F BA opcode.\n  07.08.2005 - added SSE, SSE2, SSE3 and 3Dnow instruction support.\n  06.08.2005 - fixed bug with F6 and F7 opcodes.\n  29.07.2005 - fixed bug with OP_WORD opcodes.\n*/\n#include \"LDasm.h\"\n\n#define OP_NONE           0x00\n#define OP_MODRM          0x01\n#define OP_DATA_I8        0x02\n#define OP_DATA_I16       0x04\n#define OP_DATA_I32       0x08\n#define OP_DATA_PRE66_67  0x10\n#define OP_WORD           0x20\n#define OP_REL32          0x40\n\n#define UCHAR unsigned char\n#define ULONG unsigned long\n#define PVOID void*\n#define PUCHAR unsigned char*\n#define BOOLEAN char\n#define FALSE 0\n#define TRUE  1\n \nUCHAR OpcodeFlags[256] = \n{\n\tOP_MODRM,                      // 00\n    OP_MODRM,                      // 01\n    OP_MODRM,                      // 02\n    OP_MODRM,                      // 03\n    OP_DATA_I8,                    // 04\n    OP_DATA_PRE66_67,              // 05\n    OP_NONE,                       // 06\n    OP_NONE,                       // 07\n    OP_MODRM,                      // 08\n    OP_MODRM,                      // 09\n    OP_MODRM,                      // 0A\n    OP_MODRM,                      // 0B\n    OP_DATA_I8,                    // 0C\n    OP_DATA_PRE66_67,              // 0D\n    OP_NONE,                       // 0E\n    OP_NONE,                       // 0F\n    OP_MODRM,                      // 10\n    OP_MODRM,                      // 11\n    OP_MODRM,                      // 12\n    OP_MODRM,                      // 13\n    OP_DATA_I8,                    // 14\n    OP_DATA_PRE66_67,              // 15\n    OP_NONE,                       // 16\n    OP_NONE,                       // 17\n    OP_MODRM,                      // 18\n    OP_MODRM,                      // 19\n    OP_MODRM,                      // 1A\n    OP_MODRM,                      // 1B\n    OP_DATA_I8,                    // 1C\n    OP_DATA_PRE66_67,              // 1D\n    OP_NONE,                       // 1E\n    OP_NONE,                       // 1F\n    OP_MODRM,                      // 20\n    OP_MODRM,                      // 21\n    OP_MODRM,                      // 22\n    OP_MODRM,                      // 23\n    OP_DATA_I8,                    // 24\n    OP_DATA_PRE66_67,              // 25\n    OP_NONE,                       // 26\n    OP_NONE,                       // 27\n    OP_MODRM,                      // 28\n    OP_MODRM,                      // 29\n    OP_MODRM,                      // 2A\n    OP_MODRM,                      // 2B\n    OP_DATA_I8,                    // 2C\n    OP_DATA_PRE66_67,              // 2D\n    OP_NONE,                       // 2E\n    OP_NONE,                       // 2F\n    OP_MODRM,                      // 30\n    OP_MODRM,                      // 31\n    OP_MODRM,                      // 32\n    OP_MODRM,                      // 33\n    OP_DATA_I8,                    // 34\n    OP_DATA_PRE66_67,              // 35\n    OP_NONE,                       // 36\n    OP_NONE,                       // 37\n    OP_MODRM,                      // 38\n    OP_MODRM,                      // 39\n    OP_MODRM,                      // 3A\n    OP_MODRM,                      // 3B\n    OP_DATA_I8,                    // 3C\n    OP_DATA_PRE66_67,              // 3D\n    OP_NONE,                       // 3E\n    OP_NONE,                       // 3F\n    OP_NONE,                       // 40\n    OP_NONE,                       // 41\n    OP_NONE,                       // 42\n    OP_NONE,                       // 43\n    OP_NONE,                       // 44\n    OP_NONE,                       // 45\n    OP_NONE,                       // 46\n    OP_NONE,                       // 47\n    OP_NONE,                       // 48\n    OP_NONE,                       // 49\n    OP_NONE,                       // 4A\n    OP_NONE,                       // 4B\n    OP_NONE,                       // 4C\n    OP_NONE,                       // 4D\n    OP_NONE,                       // 4E\n    OP_NONE,                       // 4F\n    OP_NONE,                       // 50\n    OP_NONE,                       // 51\n    OP_NONE,                       // 52\n    OP_NONE,                       // 53\n    OP_NONE,                       // 54\n    OP_NONE,                       // 55\n    OP_NONE,                       // 56\n    OP_NONE,                       // 57\n    OP_NONE,                       // 58\n    OP_NONE,                       // 59\n    OP_NONE,                       // 5A\n    OP_NONE,                       // 5B\n    OP_NONE,                       // 5C\n    OP_NONE,                       // 5D\n    OP_NONE,                       // 5E\n    OP_NONE,                       // 5F\n    OP_NONE,                       // 60\n    OP_NONE,                       // 61\n    OP_MODRM,                      // 62\n    OP_MODRM,                      // 63\n    OP_NONE,                       // 64\n    OP_NONE,                       // 65\n    OP_NONE,                       // 66\n    OP_NONE,                       // 67\n    OP_DATA_PRE66_67,              // 68\n    OP_MODRM | OP_DATA_PRE66_67,   // 69\n    OP_DATA_I8,                    // 6A\n    OP_MODRM | OP_DATA_I8,         // 6B\n    OP_NONE,                       // 6C\n    OP_NONE,                       // 6D\n    OP_NONE,                       // 6E\n    OP_NONE,                       // 6F\n    OP_DATA_I8,                    // 70\n    OP_DATA_I8,                    // 71\n    OP_DATA_I8,                    // 72\n    OP_DATA_I8,                    // 73\n    OP_DATA_I8,                    // 74\n    OP_DATA_I8,                    // 75\n    OP_DATA_I8,                    // 76\n    OP_DATA_I8,                    // 77\n    OP_DATA_I8,                    // 78\n    OP_DATA_I8,                    // 79\n    OP_DATA_I8,                    // 7A\n    OP_DATA_I8,                    // 7B\n    OP_DATA_I8,                    // 7C\n    OP_DATA_I8,                    // 7D\n    OP_DATA_I8,                    // 7E\n    OP_DATA_I8,                    // 7F\n    OP_MODRM | OP_DATA_I8,         // 80\n    OP_MODRM | OP_DATA_PRE66_67,   // 81\n    OP_MODRM | OP_DATA_I8,         // 82\n    OP_MODRM | OP_DATA_I8,         // 83\n    OP_MODRM,                      // 84\n    OP_MODRM,                      // 85\n    OP_MODRM,                      // 86\n    OP_MODRM,                      // 87\n    OP_MODRM,                      // 88\n    OP_MODRM,                      // 89\n    OP_MODRM,                      // 8A\n    OP_MODRM,                      // 8B\n    OP_MODRM,                      // 8C\n    OP_MODRM,                      // 8D\n    OP_MODRM,                      // 8E\n    OP_MODRM,                      // 8F\n    OP_NONE,                       // 90\n    OP_NONE,                       // 91\n    OP_NONE,                       // 92\n    OP_NONE,                       // 93\n    OP_NONE,                       // 94\n    OP_NONE,                       // 95\n    OP_NONE,                       // 96\n    OP_NONE,                       // 97\n    OP_NONE,                       // 98\n    OP_NONE,                       // 99\n    OP_DATA_I16 | OP_DATA_PRE66_67,// 9A\n    OP_NONE,                       // 9B\n    OP_NONE,                       // 9C\n    OP_NONE,                       // 9D\n    OP_NONE,                       // 9E\n    OP_NONE,                       // 9F\n    OP_DATA_PRE66_67,              // A0\n    OP_DATA_PRE66_67,              // A1\n    OP_DATA_PRE66_67,              // A2\n    OP_DATA_PRE66_67,              // A3\n    OP_NONE,                       // A4\n    OP_NONE,                       // A5\n    OP_NONE,                       // A6\n    OP_NONE,                       // A7\n    OP_DATA_I8,                    // A8\n    OP_DATA_PRE66_67,              // A9\n    OP_NONE,                       // AA\n    OP_NONE,                       // AB\n    OP_NONE,                       // AC\n    OP_NONE,                       // AD\n    OP_NONE,                       // AE\n    OP_NONE,                       // AF\n    OP_DATA_I8,                    // B0\n    OP_DATA_I8,                    // B1\n    OP_DATA_I8,                    // B2\n    OP_DATA_I8,                    // B3\n    OP_DATA_I8,                    // B4\n    OP_DATA_I8,                    // B5\n    OP_DATA_I8,                    // B6\n    OP_DATA_I8,                    // B7\n    OP_DATA_PRE66_67,              // B8\n    OP_DATA_PRE66_67,              // B9\n    OP_DATA_PRE66_67,              // BA\n    OP_DATA_PRE66_67,              // BB\n    OP_DATA_PRE66_67,              // BC\n    OP_DATA_PRE66_67,              // BD\n    OP_DATA_PRE66_67,              // BE\n    OP_DATA_PRE66_67,              // BF\n    OP_MODRM | OP_DATA_I8,         // C0\n    OP_MODRM | OP_DATA_I8,         // C1\n    OP_DATA_I16,                   // C2\n    OP_NONE,                       // C3\n    OP_MODRM,                      // C4\n    OP_MODRM,                      // C5\n    OP_MODRM   | OP_DATA_I8,       // C6\n    OP_MODRM   | OP_DATA_PRE66_67, // C7\n    OP_DATA_I8 | OP_DATA_I16,      // C8\n    OP_NONE,                       // C9\n    OP_DATA_I16,                   // CA\n    OP_NONE,                       // CB\n    OP_NONE,                       // CC\n    OP_DATA_I8,                    // CD\n    OP_NONE,                       // CE\n    OP_NONE,                       // CF\n    OP_MODRM,                      // D0\n    OP_MODRM,                      // D1\n    OP_MODRM,                      // D2\n    OP_MODRM,                      // D3\n    OP_DATA_I8,                    // D4\n    OP_DATA_I8,                    // D5\n    OP_NONE,                       // D6\n    OP_NONE,                       // D7\n    OP_WORD,                       // D8\n    OP_WORD,                       // D9\n    OP_WORD,                       // DA\n    OP_WORD,                       // DB\n    OP_WORD,                       // DC\n    OP_WORD,                       // DD\n    OP_WORD,                       // DE\n    OP_WORD,                       // DF\n    OP_DATA_I8,                    // E0\n    OP_DATA_I8,                    // E1\n    OP_DATA_I8,                    // E2\n    OP_DATA_I8,                    // E3\n    OP_DATA_I8,                    // E4\n    OP_DATA_I8,                    // E5\n    OP_DATA_I8,                    // E6\n    OP_DATA_I8,                    // E7\n    OP_DATA_PRE66_67 | OP_REL32,   // E8\n    OP_DATA_PRE66_67 | OP_REL32,   // E9\n    OP_DATA_I16 | OP_DATA_PRE66_67,// EA\n    OP_DATA_I8,                    // EB\n    OP_NONE,                       // EC\n    OP_NONE,                       // ED\n    OP_NONE,                       // EE\n    OP_NONE,                       // EF\n    OP_NONE,                       // F0\n    OP_NONE,                       // F1\n    OP_NONE,                       // F2\n    OP_NONE,                       // F3\n    OP_NONE,                       // F4\n    OP_NONE,                       // F5\n    OP_MODRM,                      // F6\n    OP_MODRM,                      // F7\n    OP_NONE,                       // F8\n    OP_NONE,                       // F9\n    OP_NONE,                       // FA\n    OP_NONE,                       // FB\n    OP_NONE,                       // FC\n    OP_NONE,                       // FD\n    OP_MODRM,                      // FE\n    OP_MODRM | OP_REL32            // FF\n};\n\n\nUCHAR OpcodeFlagsExt[256] =\n{\n    OP_MODRM,                      // 00\n    OP_MODRM,                      // 01\n    OP_MODRM,                      // 02\n    OP_MODRM,                      // 03\n    OP_NONE,                       // 04\n    OP_NONE,                       // 05\n    OP_NONE,                       // 06\n    OP_NONE,                       // 07\n    OP_NONE,                       // 08\n    OP_NONE,                       // 09\n    OP_NONE,                       // 0A\n    OP_NONE,                       // 0B\n    OP_NONE,                       // 0C\n    OP_MODRM,                      // 0D\n    OP_NONE,                       // 0E\n    OP_MODRM | OP_DATA_I8,         // 0F\n    OP_MODRM,                      // 10\n    OP_MODRM,                      // 11\n    OP_MODRM,                      // 12\n    OP_MODRM,                      // 13\n    OP_MODRM,                      // 14\n    OP_MODRM,                      // 15\n    OP_MODRM,                      // 16\n    OP_MODRM,                      // 17\n    OP_MODRM,                      // 18\n    OP_NONE,                       // 19\n    OP_NONE,                       // 1A\n    OP_NONE,                       // 1B\n    OP_NONE,                       // 1C\n    OP_NONE,                       // 1D\n    OP_NONE,                       // 1E\n    OP_NONE,                       // 1F\n    OP_MODRM,                      // 20\n    OP_MODRM,                      // 21\n    OP_MODRM,                      // 22\n    OP_MODRM,                      // 23\n    OP_MODRM,                      // 24\n    OP_NONE,                       // 25\n    OP_MODRM,                      // 26\n    OP_NONE,                       // 27\n    OP_MODRM,                      // 28\n    OP_MODRM,                      // 29\n    OP_MODRM,                      // 2A\n    OP_MODRM,                      // 2B\n    OP_MODRM,                      // 2C\n    OP_MODRM,                      // 2D\n    OP_MODRM,                      // 2E\n    OP_MODRM,                      // 2F\n    OP_NONE,                       // 30\n    OP_NONE,                       // 31\n    OP_NONE,                       // 32\n    OP_NONE,                       // 33\n    OP_NONE,                       // 34\n    OP_NONE,                       // 35\n    OP_NONE,                       // 36\n    OP_NONE,                       // 37\n    OP_NONE,                       // 38\n    OP_NONE,                       // 39\n    OP_NONE,                       // 3A\n    OP_NONE,                       // 3B\n    OP_NONE,                       // 3C\n    OP_NONE,                       // 3D\n    OP_NONE,                       // 3E\n    OP_NONE,                       // 3F\n    OP_MODRM,                      // 40\n    OP_MODRM,                      // 41\n    OP_MODRM,                      // 42\n    OP_MODRM,                      // 43\n    OP_MODRM,                      // 44\n    OP_MODRM,                      // 45\n    OP_MODRM,                      // 46\n    OP_MODRM,                      // 47\n    OP_MODRM,                      // 48\n    OP_MODRM,                      // 49\n    OP_MODRM,                      // 4A\n    OP_MODRM,                      // 4B\n    OP_MODRM,                      // 4C\n    OP_MODRM,                      // 4D\n    OP_MODRM,                      // 4E\n    OP_MODRM,                      // 4F\n    OP_MODRM,                      // 50\n    OP_MODRM,                      // 51\n    OP_MODRM,                      // 52\n    OP_MODRM,                      // 53\n    OP_MODRM,                      // 54\n    OP_MODRM,                      // 55\n    OP_MODRM,                      // 56\n    OP_MODRM,                      // 57\n    OP_MODRM,                      // 58\n    OP_MODRM,                      // 59\n    OP_MODRM,                      // 5A\n    OP_MODRM,                      // 5B\n    OP_MODRM,                      // 5C\n    OP_MODRM,                      // 5D\n    OP_MODRM,                      // 5E\n    OP_MODRM,                      // 5F\n    OP_MODRM,                      // 60\n    OP_MODRM,                      // 61\n    OP_MODRM,                      // 62\n    OP_MODRM,                      // 63\n    OP_MODRM,                      // 64\n    OP_MODRM,                      // 65\n    OP_MODRM,                      // 66\n    OP_MODRM,                      // 67\n    OP_MODRM,                      // 68\n    OP_MODRM,                      // 69\n    OP_MODRM,                      // 6A\n    OP_MODRM,                      // 6B\n    OP_MODRM,                      // 6C\n    OP_MODRM,                      // 6D\n    OP_MODRM,                      // 6E\n    OP_MODRM,                      // 6F\n    OP_MODRM | OP_DATA_I8,         // 70\n    OP_MODRM | OP_DATA_I8,         // 71\n    OP_MODRM | OP_DATA_I8,         // 72\n    OP_MODRM | OP_DATA_I8,         // 73\n    OP_MODRM,                      // 74\n    OP_MODRM,                      // 75\n    OP_MODRM,                      // 76\n    OP_NONE,                       // 77\n    OP_NONE,                       // 78\n    OP_NONE,                       // 79\n    OP_NONE,                       // 7A\n    OP_NONE,                       // 7B\n    OP_MODRM,                      // 7C\n    OP_MODRM,                      // 7D\n    OP_MODRM,                      // 7E\n    OP_MODRM,                      // 7F\n    OP_DATA_PRE66_67 | OP_REL32,   // 80\n    OP_DATA_PRE66_67 | OP_REL32,   // 81\n    OP_DATA_PRE66_67 | OP_REL32,   // 82\n    OP_DATA_PRE66_67 | OP_REL32,   // 83\n    OP_DATA_PRE66_67 | OP_REL32,   // 84\n    OP_DATA_PRE66_67 | OP_REL32,   // 85\n    OP_DATA_PRE66_67 | OP_REL32,   // 86\n    OP_DATA_PRE66_67 | OP_REL32,   // 87\n    OP_DATA_PRE66_67 | OP_REL32,   // 88\n    OP_DATA_PRE66_67 | OP_REL32,   // 89\n    OP_DATA_PRE66_67 | OP_REL32,   // 8A\n    OP_DATA_PRE66_67 | OP_REL32,   // 8B\n    OP_DATA_PRE66_67 | OP_REL32,   // 8C\n    OP_DATA_PRE66_67 | OP_REL32,   // 8D\n    OP_DATA_PRE66_67 | OP_REL32,   // 8E\n    OP_DATA_PRE66_67 | OP_REL32,   // 8F\n    OP_MODRM,                      // 90\n    OP_MODRM,                      // 91\n    OP_MODRM,                      // 92\n    OP_MODRM,                      // 93\n    OP_MODRM,                      // 94\n    OP_MODRM,                      // 95\n    OP_MODRM,                      // 96\n    OP_MODRM,                      // 97\n    OP_MODRM,                      // 98\n    OP_MODRM,                      // 99\n    OP_MODRM,                      // 9A\n    OP_MODRM,                      // 9B\n    OP_MODRM,                      // 9C\n    OP_MODRM,                      // 9D\n    OP_MODRM,                      // 9E\n    OP_MODRM,                      // 9F\n    OP_NONE,                       // A0\n    OP_NONE,                       // A1\n    OP_NONE,                       // A2\n    OP_MODRM,                      // A3\n    OP_MODRM | OP_DATA_I8,         // A4\n    OP_MODRM,                      // A5\n    OP_NONE,                       // A6\n    OP_NONE,                       // A7\n    OP_NONE,                       // A8\n    OP_NONE,                       // A9\n    OP_NONE,                       // AA\n    OP_MODRM,                      // AB\n    OP_MODRM | OP_DATA_I8,         // AC\n    OP_MODRM,                      // AD\n    OP_MODRM,                      // AE\n    OP_MODRM,                      // AF\n    OP_MODRM,                      // B0\n    OP_MODRM,                      // B1\n    OP_MODRM,                      // B2\n    OP_MODRM,                      // B3\n    OP_MODRM,                      // B4\n    OP_MODRM,                      // B5\n    OP_MODRM,                      // B6\n    OP_MODRM,                      // B7\n    OP_NONE,                       // B8\n    OP_NONE,                       // B9\n    OP_MODRM | OP_DATA_I8,         // BA\n    OP_MODRM,                      // BB\n    OP_MODRM,                      // BC\n    OP_MODRM,                      // BD\n    OP_MODRM,                      // BE\n    OP_MODRM,                      // BF\n    OP_MODRM,                      // C0\n    OP_MODRM,                      // C1\n    OP_MODRM | OP_DATA_I8,         // C2\n    OP_MODRM,                      // C3\n    OP_MODRM | OP_DATA_I8,         // C4\n    OP_MODRM | OP_DATA_I8,         // C5\n    OP_MODRM | OP_DATA_I8,         // C6 \n    OP_MODRM,                      // C7\n    OP_NONE,                       // C8\n    OP_NONE,                       // C9\n    OP_NONE,                       // CA\n    OP_NONE,                       // CB\n    OP_NONE,                       // CC\n    OP_NONE,                       // CD\n    OP_NONE,                       // CE\n    OP_NONE,                       // CF\n    OP_MODRM,                      // D0\n    OP_MODRM,                      // D1\n    OP_MODRM,                      // D2\n    OP_MODRM,                      // D3\n    OP_MODRM,                      // D4\n    OP_MODRM,                      // D5\n    OP_MODRM,                      // D6\n    OP_MODRM,                      // D7\n    OP_MODRM,                      // D8\n    OP_MODRM,                      // D9\n    OP_MODRM,                      // DA\n    OP_MODRM,                      // DB\n    OP_MODRM,                      // DC\n    OP_MODRM,                      // DD\n    OP_MODRM,                      // DE\n    OP_MODRM,                      // DF\n    OP_MODRM,                      // E0\n    OP_MODRM,                      // E1\n    OP_MODRM,                      // E2\n    OP_MODRM,                      // E3\n    OP_MODRM,                      // E4\n    OP_MODRM,                      // E5\n    OP_MODRM,                      // E6\n    OP_MODRM,                      // E7\n    OP_MODRM,                      // E8\n    OP_MODRM,                      // E9\n    OP_MODRM,                      // EA\n    OP_MODRM,                      // EB\n    OP_MODRM,                      // EC\n    OP_MODRM,                      // ED\n    OP_MODRM,                      // EE\n    OP_MODRM,                      // EF\n    OP_MODRM,                      // F0\n    OP_MODRM,                      // F1\n    OP_MODRM,                      // F2\n    OP_MODRM,                      // F3\n    OP_MODRM,                      // F4\n    OP_MODRM,                      // F5\n    OP_MODRM,                      // F6\n    OP_MODRM,                      // F7 \n    OP_MODRM,                      // F8\n    OP_MODRM,                      // F9\n    OP_MODRM,                      // FA\n    OP_MODRM,                      // FB\n    OP_MODRM,                      // FC\n    OP_MODRM,                      // FD\n    OP_MODRM,                      // FE\n    OP_NONE                        // FF\n};\n\n\nunsigned long __fastcall SizeOfCode(void *Code, unsigned char **pOpcode)\n{\n\tPUCHAR cPtr;\n\tUCHAR Flags;\n\tBOOLEAN PFX66, PFX67;\n\tBOOLEAN SibPresent;\n\tUCHAR iMod, iRM, iReg;\n\tUCHAR OffsetSize, Add;\n\tUCHAR Opcode;\n\n\tOffsetSize = 0;\n\tPFX66 = FALSE;\n\tPFX67 = FALSE;\n\tcPtr = (PUCHAR)Code;\n\twhile ( (*cPtr == 0x2E) || (*cPtr == 0x3E) || (*cPtr == 0x36) ||\n\t\t    (*cPtr == 0x26) || (*cPtr == 0x64) || (*cPtr == 0x65) || \n\t\t\t(*cPtr == 0xF0) || (*cPtr == 0xF2) || (*cPtr == 0xF3) ||\n\t\t\t(*cPtr == 0x66) || (*cPtr == 0x67) ) \n\t{\n\t\tif (*cPtr == 0x66) PFX66 = TRUE;\n\t\tif (*cPtr == 0x67) PFX67 = TRUE;\n\t\tcPtr++;\n\t\tif (cPtr > (PUCHAR)Code + 16) return 0; \n\t}\n\tOpcode = *cPtr;\n\tif (pOpcode) *pOpcode = cPtr; \n\tif (*cPtr == 0x0F)\n\t{\n\t\tcPtr++;\n\t\tFlags = OpcodeFlagsExt[*cPtr];\n\t} else \n\t{\n\t\tFlags = OpcodeFlags[Opcode];\n\t\tif (Opcode >= 0xA0 && Opcode <= 0xA3) PFX66 = PFX67;\n\t}\n\tcPtr++;\n\tif (Flags & OP_WORD) cPtr++;\t\n\n\tif (Flags & OP_MODRM)\n\t{\n\t\tiMod = *cPtr >> 6;\n\t\tiReg = (*cPtr & 0x38) >> 3;  \n\t\tiRM  = *cPtr &  7;\n\t\tcPtr++;\n\t\tif ((Opcode == 0xF6) && !iReg) Flags |= OP_DATA_I8;    \n\t\tif ((Opcode == 0xF7) && !iReg) Flags |= OP_DATA_PRE66_67; \n\t\tSibPresent = !PFX67 & (iRM == 4);\n\t\tswitch (iMod)\n\t\t{\n\t\t\tcase 0: \n\t\t\t  if ( PFX67 && (iRM == 6)) OffsetSize = 2;\n\t\t\t  if (!PFX67 && (iRM == 5)) OffsetSize = 4; \n\t\t\t break;\n\t\t\tcase 1: OffsetSize = 1;\n\t\t\t break; \n\t\t\tcase 2: if (PFX67) OffsetSize = 2; else OffsetSize = 4;\n\t\t\t break;\n\t\t\tcase 3: SibPresent = FALSE;\n\t\t}\n\t\tif (SibPresent)\n\t\t{\n\t\t\tif (((*cPtr & 7) == 5) && ( (!iMod) || (iMod == 2) )) OffsetSize = 4;\n\t\t\tcPtr++;\n\t\t}\n\t\tcPtr = (PUCHAR)(ULONG)cPtr + OffsetSize;\n\t}\n\tif (Flags & OP_DATA_I8)  cPtr++;\n\tif (Flags & OP_DATA_I16) cPtr += 2;\n\tif (Flags & OP_DATA_I32) cPtr += 4;\n\tif (PFX66) Add = 2; else Add = 4;\n\tif (Flags & OP_DATA_PRE66_67) cPtr += Add;\n\treturn (ULONG)cPtr - (ULONG)Code;\n}\n\n\n/*       (    RET)*/\nunsigned long __fastcall SizeOfProc(void *Proc)\n{\n\tULONG  Length;\n\tPUCHAR pOpcode;\n\tULONG  Result = 0;\n\n\tdo\n\t{\n\t\tLength = SizeOfCode(Proc, &pOpcode);\n\t\tResult += Length;\n\t\t// keenjoy95 modify  2008-11-4 17:19:32\n\t\tif (((Length == 1) && (*pOpcode == 0xC3)) || ((Length == 3) && (*pOpcode == 0xC2))) break;\n\t\tProc = (PVOID)((ULONG)Proc + Length);\n\t} while (Length);\n\treturn Result;\n}\n\n\n/* ,    rel32 offset*/\nchar __fastcall IsRelativeCmd(unsigned char *pOpcode)\n{\n\tUCHAR Flags;\n\tif (*pOpcode == 0x0F) Flags = OpcodeFlagsExt[*(PUCHAR)((ULONG)pOpcode + 1)]; \n\t    else Flags = OpcodeFlags[*pOpcode];\n\treturn (Flags & OP_REL32);\n}"
  },
  {
    "path": "Project/Code/Source/LDasm.h",
    "content": "#ifndef _LDASM_\n#define _LDASM_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nunsigned long __fastcall SizeOfCode(void *Code, unsigned char **pOpcode);\n\nunsigned long __fastcall SizeOfProc(void *Proc);\n\nchar __fastcall IsRelativeCmd(unsigned char *pOpcode);\n\n#ifdef __cplusplus\n}\n#endif\n\n#endif"
  },
  {
    "path": "Project/Code/Source/LangLib.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LangLib.h\"\n\nCLangLib::CLangLib()\n{\n\n}\n\nbool CLangLib::Load(PCSTR szFileName)\n{\n\tPCWSTR szStr,szLang;\n\tCUTXTFile File;\n\tm_StrMap.Clear();\n\tif(File.Open(szFileName)==false)\n\t\treturn false;\n\tTTXTStrWList::IT LineIter=File.m_StrList.Begin();\n\twhile(LineIter!=File.m_StrList.End())\n\t{\n\t\tszStr = *LineIter;\n\t\tLineIter++;\n\t\tif(*szStr==0)\n\t\t\tcontinue;\n\t\tif(LineIter==File.m_StrList.End())\n\t\t\tbreak;\n\n\t\tszLang = *LineIter;\n\t\tif(*szLang==0)\n\t\t{\n\t\t\tLineIter++;\n\t\t\tcontinue;\n\t\t}\n\t\tm_StrMap.InsertUnique(szStr,szLang);\n\t\tLineIter++;\n\t}\n\tFile.Close();\n\treturn true;\n}\n\nPCWSTR CLangLib::GetString(PCWSTR szStr,bool bDefault)\n{\n\tCStrMap::IT Iter = m_StrMap.Find(szStr);\n\tif(Iter.IsExist())\n\t\treturn *Iter;\n\tif(bDefault)\n\t\treturn szStr;\n\treturn NULL;\n}\n\nXSCAN_RES CLangLib::ScanLang(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParam)\n{\n\tTList<CStrA>*pLangList=(TList<CStrA>*)CBParam;\n\tchar szFileTitle[MAX_FN_LEN];\n\tTGetFileTitle(FileName,szFileTitle);\n\tpLangList->Append(szFileTitle);\n\treturn XSCAN_RES_CONTINUE;\n}\n\nint CLangLib::ListLang(PCSTR PathName,TList<CStrA>*pLangList)\n{\n\tpLangList->Clear();\n\tgpFileIO->XScan(PathName,ScanLang,pLangList);\n\treturn pLangList->Count();\n}"
  },
  {
    "path": "Project/Code/Source/LangLib.h",
    "content": "#ifndef _LANG_LIB_\n#define _LANG_LIB_\n\ntypedef TMap<CIStrW,CIStrW>\tCStrMap;\n\n\nclass CLangLib\n{\npublic:\n\tCLangLib();\n\tCStrMap\tm_StrMap;\n\tbool\tLoad(PCSTR szFileName);\n\tPCWSTR\tGetString(PCWSTR szStr,bool bDefault=true);\n\tstatic\tXSCAN_RES ScanLang(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParam);\n\tint\t\tListLang(PCSTR PathName,TList<CStrA>*pLangList);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/LogFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LogFile.h\"\n#include \"StrMem.h\"\n\nNAME_SPACE_BEGIN\n//////////////////////////////////////////////////////////////////////\n// Construction/Destruction\n//////////////////////////////////////////////////////////////////////\nbool CLogFile::CreateNew(PCSTR Filename)\n{\n\tCHAR LogFileName[MAX_FN_LEN];\n\tm_BufLen=0;\n\tm_TickCount=0;\n\tTStrCpy(LogFileName,Filename);\n\treturn Create(LogFileName,0);\n}\n\nbool CLogFile::CreateConsole()\n{\n#ifdef CODE_OS_WIN\n\tAllocConsole();\n\tm_hFile=GetStdHandle(STD_OUTPUT_HANDLE);\n\treturn m_hFile!= INVALID_HANDLE_VALUE;\n#else\n\treturn false;\n#endif\n}\n\nCLogFile& CLogFile::operator <<(PCSTR LogStr)\n{\n\tRecord(LogStr);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(PCWSTR LogStr)\n{\n\tCHAR szBuffer[0x400],*pStr;\n\tint Len;\n\tLen=(int)TStrLen(LogStr);\n\tif(Len>=sizeof(szBuffer))\n\t\tpStr=new CHAR[Len+1];\n\telse\n\t\tpStr=szBuffer;\n\tTStrCpy(pStr,LogStr);\n\tRecord(pStr);\n\tif(pStr!=szBuffer)\n\t\tdelete pStr;\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(LONG Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(INT Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(CHAR Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(DWORD Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(WORD Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator <<(BYTE Hex)\n{\n\tCHAR szBuffer[32];\n\tszBuffer[0]='0';\n\tszBuffer[1]='x';\n\tuNumToStr(Hex,&szBuffer[2]);\n\tRecord(szBuffer);\n\treturn *this;\n}\n\nCLogFile& CLogFile::operator ++(int)\n{\n\tRecord(\"\\r\\n\");\n\treturn *this;\n}\n\nbool CLogFile::Record(PCSTR LogString)\n{\n\tint Strlen;\n\tStrlen=TStrLen(LogString);\n\tif(m_BufLen+Strlen>=LOG_BUFFER_SIZE)\n\t{\n\t\tif(m_BufLen)\n\t\t{\n\t\t\tWriteFile(m_Buffer,m_BufLen);\n\t\t\tm_BufLen=0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn WriteFile((LPVOID)LogString,Strlen);\n\t\t}\n\t}\n\tTStrCpy(&m_Buffer[m_BufLen],LogString);\n\tm_BufLen+=Strlen;\n\treturn true;\n}\n\nvoid CLogFile::Close()\n{\n\tm_Timer.Clear();\n\tif(m_BufLen)\n\t{\n\t\tWriteFile(m_Buffer,m_BufLen);\n\t\tm_BufLen=0;\n\t}\n\tCImageFile::Close();\n}\n\nbool CLogFile::EnterTimer(DWORD ID)\n{\n\tUpdateTickCount(&m_TickCount);\n\tm_Timer.InsertUnique(ID,m_TickCount);\n\treturn true;\n}\n\nbool CLogFile::ExitTimer(DWORD ID,PCSTR FormatStr)\n{\n\tCHAR szBuffer[256];\n\tCLogTimer::IT Iter=m_Timer.Find(ID);\n\tif(Iter==m_Timer.End())\n\t\treturn false;\n\tUpdateTickCount(&m_TickCount);\n\tTSPrintf(szBuffer,FormatStr,(void*)(m_TickCount - *Iter));\n\tRecord(szBuffer);\n\tm_Timer.Remove(Iter);\n\treturn true;\n}\n\n\nint CLogFile::Printf(PCSTR szMsg,...)\n{\n\tint Length;\n\tchar szBuffer[0x400];\n\tva_list Next;\n\tva_start(Next,szMsg);\n\tLength = TVSPrintf(szBuffer,szMsg,Next);\n\tva_end(Next);\n\tRecord(szBuffer);\n\treturn Length;\n}\n\nint CLogFile::Printf(PCWSTR szMsg,...)\n{\n\tint Length;\n\tWCHAR wszBuffer[0x400];\n\tchar szBuffer[0x400];\n\tva_list Next;\n\tva_start(Next,szMsg);\n\tLength = TVSPrintf(wszBuffer,szMsg,Next);\n\tva_end(Next);\n\tUnicodeToAnsi(wszBuffer,szBuffer,sizeof(szBuffer));\n\tRecord(szBuffer);\n\treturn Length;\n}\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/LogFile.h",
    "content": "#ifndef\t_LOGFILE_H_\n#define _LOGFILE_H_\n\n#include \"ImageFile.h\"\n#include \"SysDep.h\"\n\nNAME_SPACE_BEGIN\n\n#define LOG_BUFFER_SIZE\t\t0x1000\n\ntypedef TMap<DWORD,ULONGLONG> CLogTimer;\n\nclass CLogFile : CImageFile\n{\npublic:\n\tCHAR  m_Buffer[LOG_BUFFER_SIZE];\n\tint   m_BufLen;\n\tDWORD m_CurLine;\n\tDWORD m_MaxLine;\n\tHANDLE m_hFile;\n\tbool CreateNew(PCSTR Filename);\n\tbool CreateConsole();\n\tCLogFile& operator <<(PCSTR LogStr);\n\tCLogFile& operator <<(PCWSTR LogStr);\n\tCLogFile& operator <<(LONG Hex);\n\tCLogFile& operator <<(INT Hex);\n\tCLogFile& operator <<(CHAR Hex);\n\tCLogFile& operator <<(DWORD Hex);\n\tCLogFile& operator <<(WORD Hex);\n\tCLogFile& operator <<(BYTE Hex);\n\tCLogFile& operator ++(int);\n\tint\t\tPrintf(PCSTR szMsg,...);\n\tint\t\tPrintf(PCWSTR szMsg,...);\n\tbool\tRecord(PCSTR LogString);\n\tvoid\tClose();\n\tbool\tEnterTimer(DWORD ID);\n\tbool\tExitTimer(DWORD ID,PCSTR FormatStr = \"%d (ms)\");\n\tCLogTimer m_Timer;\n\tULONGLONG m_TickCount;\n};\n\nNAME_SPACE_END\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Code/Source/Makefile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/Code/Source/Maths.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Maths.h\"\n\nNAME_SPACE_BEGIN\n\nDWORD Mul64(DWORD MulN1Low,DWORD MulN2Low,DWORD*ResHigh)\n{\n\tDWORD MulResHigh,MulResLow,MulN1High;\n\tMulN1High = MulResHigh = MulResLow = 0;\n\twhile(MulN2Low!=0)\n\t{\n\t\tif(MulN2Low&1)\n\t\t{\n\t\t\tif((DWORD)(MulResLow + MulN1Low) < MulResLow )\n\t\t\t{\n\t\t\t\tMulResLow += MulN1Low;\n\t\t\t\tMulResHigh += MulN1High+1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMulResLow += MulN1Low;\n\t\t\t\tMulResHigh += MulN1High;\n\t\t\t}\n\t\t}\n\t\tMulN1High=(MulN1High<<1)+(MulN1Low>>0x1F);\n\t\tMulN1Low =(MulN1Low<<1);\n\t\tMulN2Low =(MulN2Low>>1);\n\t}\n\t*ResHigh=MulResHigh;\n\treturn MulResLow;\n}\nDWORD Mul64(int Num1,int Num2,int*ResHigh)\n{\n\tint MulResHigh,Sign;\n\tDWORD MulResLow;\n\tif(Num1 == 0 || Num2 == 0)\n\t{\n\t\t*ResHigh = 0;\n\t\treturn 0;\n\t}\n\tif(Num1 < 0 && Num2<0)\n\t{\n\t\tNum1 = -Num1;\n\t\tNum2 = -Num2;\n\t\tSign = 1;\n\t}\n\telse if(Num1 > 0 && Num2 > 0)\n\t{\n\t\tSign = 1;\n\t}\n\telse if(Num1 < 0 && Num2 > 0)\n\t{\n\t\tNum1 = -Num1;\n\t\tSign = -1;\n\t}\n\telse if(Num1 > 0 && Num2 < 0)\n\t{\n\t\tNum2 = -Num2;\n\t\tSign = -1;\n\t}\n\tMulResLow  = Mul64((DWORD)Num1,(DWORD)Num2,(DWORD*)&MulResHigh);\n\tif(Sign==-1)\n\t{\n\t\tMulResLow = ~MulResLow;\n\t\tMulResHigh = ~MulResHigh;\n\t\tif(MulResLow+1<MulResLow)\n\t\t{\n\t\t\tMulResLow++;\n\t\t\tMulResHigh++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tMulResLow++;\n\t\t}\n\t}\n\t*ResHigh = MulResHigh;\n\treturn MulResLow;\n}\nvoid Neg64(DWORD*NumLow,int*NumHigh)\n{\n\t*NumLow = ~*NumLow;\n\t*NumHigh = ~*NumHigh;\n\tif(*NumLow+1<*NumLow)\n\t{\n\t\t*NumLow++;\n\t\t*NumHigh++;\n\t}\n\telse\n\t{\n\t\t*NumLow++;\n\t}\n}\n\nbool Div64(DWORD *NumLow,DWORD *NumHigh,DWORD DivisorLow,DWORD*ResLow,DWORD*ResHigh)\n{\n\tDWORD DivResLow,DivResHigh,DivisorHigh, i;\n\tif(DivisorLow == 0)\n\t\treturn false;\n\tDivisorHigh = DivisorLow;\n\tDivisorLow = DivResLow = DivResHigh = 0;\n\t\n\tfor( i=0;DivisorHigh<0x80000000 && i<0x1F;i++)\n\t\tDivisorHigh<<=1;\n\tfor(i+=0x20;i!=-1;i--)\n\t{\n\t\tif(*NumHigh>DivisorHigh)\n\t\t{\n\t\t\tif(*NumLow>=DivisorLow)\n\t\t\t{\n\t\t\t\t*NumLow-=DivisorLow;\n\t\t\t\t*NumHigh-=DivisorHigh;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t*NumLow-=DivisorLow;\n\t\t\t\t*NumHigh-=DivisorHigh+1;\n\t\t\t}\n\t\t\tDivResLow++;\n\t\t}\n\t\telse if(*NumHigh==DivisorHigh&&*NumLow>=DivisorLow)\n\t\t{\n\t\t\t*NumLow-=DivisorLow;\n\t\t\t*NumHigh-=DivisorHigh;\n\t\t\tDivResLow++;\n\t\t}\n\t\tif(i==0)\n\t\t\tbreak;\n\t\tDivisorLow=(DivisorLow>>1)+(DivisorHigh<<0x1F);\n\t\tDivisorHigh>>=1;\n\t\tDivResHigh=(DivResHigh<<1)+(DivResLow>>0x1F);\n\t\tDivResLow<<=1;\n\t}\n\t*ResHigh = DivResHigh;\n\t*ResLow = DivResLow;\n\tif(DivResHigh>0)\n\t\treturn false;\n\treturn true;\n}\nbool Div64(DWORD*NumLow,int*NumHigh,int DivisorLow,DWORD*ResLow,int*ResHigh)\n{\n\tint Sign;\n\tif(DivisorLow==0)\n\t\treturn false;\n\tif(*NumHigh<=0 && DivisorLow<0)\n\t{\n\t\tSign = 1;\n\t\tNeg64(NumLow,NumHigh);\n\t\tDivisorLow = -DivisorLow;\n\t}\n\telse if(*NumHigh>=0 && DivisorLow>0)\n\t{\n\t\tSign = 1;\n\t}\n\telse if(*NumHigh>=0 && DivisorLow<0)\n\t{\n\t\tSign = -1;\n\t\tDivisorLow = -DivisorLow;\n\t}\n\telse if(*NumHigh<=0 && DivisorLow>0)\n\t{\n\t\tSign = -1;\n\t\tNeg64(NumLow,NumHigh);\n\t}\n\tif(Div64(NumLow,(DWORD*)NumHigh,DivisorLow,ResLow,(DWORD*)ResHigh)==false)\n\t\treturn false;\n\tif(*ResLow & 0x80000000)\n\t\treturn false;\n\tif(Sign==-1)\n\t{\n\t\tNeg64(ResLow,ResHigh);\n\t}\n\treturn true;\n}\nLONG Pow(INT a,INT n)\n{\n\tLONG Result;\n\tif(n==0)\n\t\treturn 1;\n\tResult=n;\n\tdo\n\t{\t\t\n\t\tn--;\n\t\tResult*=n;\n\t}while(n);\n\treturn Result;\n}\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/Maths.h",
    "content": "#ifndef  _MATH_H_\n#define  _MATH_H_\n\nNAME_SPACE_BEGIN\n\nDWORD\tMul64(DWORD NulN1Low,DWORD NulN2Low,DWORD*ResHigh);//64λ޷ų\nDWORD\tMul64(int Num1,int Num2,int *ResHigh);//64λзų\nbool\tDiv64(DWORD*NumLow,DWORD*NumHigh,DWORD DivisorLow,DWORD*ResLow,DWORD*ResHigh);//64λ޷ų\nbool\tDiv64(DWORD*NumLow,int*NumHigh,int DivisorLow,DWORD*ResLow,int*ResHigh);//64λзų\nvoid\tNeg64(DWORD*NumLow,int*NumHigh);//64λȡ\nLONG\tPow(INT a,INT n);\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/NTDrvRuntime.cpp",
    "content": "#include \"stdafx.h\"\n#include \"NTDrvRuntime.h\"\n\n#define _PAGESIZE_ 4096\n\n// void __declspec(naked) __cdecl _chkstk(void)\n// {\n// \t__asm\n// \t{\n// \t\tpush    ecx                     ; save ecx\n// \t\tcmp     eax,_PAGESIZE_          ; more than one page requested?\n// \t\tlea     ecx,[esp] + 8           ; compute new stack pointer in ecx\n// \t\t\t\t\t\t\t\t\t\t; correct for return address and\n// \t\t\t\t\t\t\t\t\t\t; saved ecx\n// \t\tjb      short lastpage          ; no\n// probepages:\n// \t\tsub     ecx,_PAGESIZE_          ; yes, move down a page\n// \t\tsub     eax,_PAGESIZE_          ; adjust request and...\n// \t\ttest    dword ptr [ecx],eax     ; ...probe it\n// \t\tcmp     eax,_PAGESIZE_          ; more than one page requested?\n// \t\tjae     short probepages        ; no\n// lastpage:\n// \t\tsub     ecx,eax                 ; move stack down by eax\n// \t\tmov     eax,esp                 ; save current tos and do a...\n// \t\ttest    dword ptr [ecx],eax     ; ...probe in case a page was crossed\n// \t\tmov     esp,ecx                 ; set the new stack pointer\n// \t\tmov     ecx,dword ptr [eax]     ; recover ecx\n// \t\tmov     eax,dword ptr [eax + 4] ; recover return address\n// \t\tpush    eax                     ; prepare return address\n// \t\tret\n// \t}\n// }\n\nint UnicodeStrCpy(PWSTR szBuffer,PUNICODE_STRING pUnicodeString,int MaxLength)\n{\n\tif(szBuffer == NULL || MaxLength<=0 || pUnicodeString==NULL || pUnicodeString->Buffer==NULL || pUnicodeString->Length<=0)\n\t{\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tif(MaxLength>pUnicodeString->Length/2)\n\t{\n\t\tMaxLength = pUnicodeString->Length/2;\n\t\tmemcpy(szBuffer,pUnicodeString->Buffer,pUnicodeString->Length);\n\t}\n\telse\n\t{\n\t\tMaxLength--;\n\t\tmemcpy(szBuffer,pUnicodeString->Buffer,MaxLength*2);\n\t}\n\tszBuffer[MaxLength] = 0;\n\treturn MaxLength;\n}\n\n"
  },
  {
    "path": "Project/Code/Source/NTDrvRuntime.h",
    "content": "#ifndef _NT_DRV_RUNTIME_H_\n#define _NT_DRV_RUNTIME_H_\n\nextern \"C\" void __cdecl _chkstk(void);\nint UnicodeStrCpy(PWSTR szBuffer,PUNICODE_STRING pUnicodeString,int MaxLength);\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/NewAlloc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NewAlloc.h\"\n\n#ifdef CODE_ALLOC_OVERLOAD\n\n#ifdef new\n#undef new\n#endif\n\nvoid* __cdecl operator new(size_t size)\n{\n\treturn CodeAlloc(size);\n}\n\nvoid* __cdecl operator new[](size_t size)\n{\n\treturn CodeAlloc(size);\n}\n\n#ifndef CODE_DEBUG_ALLOC\n\n#ifdef delete\n#undef delete\n#endif\n\nvoid __cdecl operator delete(void*p)\n{\n\tCodeFree(p);\n}\n\nvoid __cdecl operator delete[](void*p)\n{\n\tCodeFree(p);\n}\n\n\n#endif//CODE_DEBUG_ALLOC\n\n#endif//CODE_ALLOC_OVERLOAD\n\n#ifdef CODE_ALLOC_USER_HEAP\n\nvoid SwitchHeap(int Index)\n{\n\tif(Index < gMaxUserHeapCount)\n\t\tgCurUserHeapIndex = Index;\n}\nint GetCurrentHeapIndex()\n{\n\treturn gCurUserHeapIndex;\n}\nCFixedHeap* GetCurrentHeap()\n{\n\treturn gpUserHeap[gCurUserHeapIndex];\n}\nCFixedHeap* GetHeapByIndex(int Index)\n{\n\tif(Index < gMaxUserHeapCount)\n\t\treturn gpUserHeap[Index];\n\treturn NULL;\n}\n#endif//CODE_ALLOC_USER_HEAP"
  },
  {
    "path": "Project/Code/Source/NewAlloc.h",
    "content": "#ifndef _NEW_ALLOC_H_\n#define _NEW_ALLOC_H_\n\n#define\tMAX_USER_HEAP_COUNT\t\t16\n\n#ifdef  CODE_ALLOC_OVERLOAD\n\n\nvoid* __cdecl operator new(size_t size);\nvoid* __cdecl operator new[](size_t size);\n\n#ifndef CODE_DEBUG_ALLOC\n\nvoid  __cdecl operator delete(void*p);\nvoid  __cdecl operator delete[](void*p);\n\n#endif//CODE_DEBUG_ALLOC\n\n#endif//CODE_ALLOC_OVERLOAD\n\nNAME_SPACE_BEGIN\n\nvoid*\tCodeAlloc(size_t size);\nvoid\tCodeFree(void *p);\n\n#ifdef CODE_ALLOC_USER_HEAP\nvoid InitMemoryAllocUserHeap();\nvoid ReleaseMemoryAllocUserHeap();\nclass CFixedHeap;\nextern CFixedHeap*\tgpUserHeap[MAX_USER_HEAP_COUNT];\nextern int\tgMainHeapSize;\nextern int\tgCurUserHeapIndex;\nextern int\tgMaxUserHeapCount;\n\nvoid SwitchHeap(int Index);\nint GetCurrentHeapIndex();\nCFixedHeap* GetCurrentHeap();\nCFixedHeap* GetHeapByIndex(int Index);\n#endif//CODE_ALLOC_USER_HEAP\n\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/NewAllocNTDrv.cpp",
    "content": "#include \"stdafx.h\"\n#include \"NewAlloc.h\"\n\n\nNAME_SPACE_BEGIN\n#ifdef CODE_OS_NT_DRV\n\n#ifdef CODE_ALLOC_USER_HEAP\n\nCFixedHeap*\tgpUserHeap[MAX_USER_HEAP_COUNT];\nint\tgMainHeapSize = CODE_ALLOC_USER_HEAP;\nint\tgCurUserHeapIndex = 0;\nint\tgMaxUserHeapCount = 0;\n\n\nvoid InitMemoryAllocUserHeap()\n{\n}\n\nvoid ReleaseMemoryAllocUserHeap()\n{\n\tint AllocCount,NeverUsedSizeK;\n\tif(gMaxUserHeapCount==0)\n\t\treturn;\n\tAllocCount = 0;\n\tNeverUsedSizeK = 0;\n\tfor(int n=0;n<gMaxUserHeapCount;n++)\n\t{\n\t\tif(gpUserHeap[n]==NULL)continue;\n\t\tAllocCount+=gpUserHeap[n]->m_AllocateCount;\n\t\tNeverUsedSizeK+=gpUserHeap[n]->m_MinFreeChunkCount*CHUNK_SIZE/1024;\n\t}\n\tfor(int n = gMaxUserHeapCount-1;n>0;n--)\n\t{\n\t\tgMaxUserHeapCount--;\n\t\tif(gpUserHeap[n]==NULL)continue;\n\t\tgpUserHeap[n]->Destroy();\n\t\tdelete gpUserHeap[n];\n\t\tgpUserHeap[n]=NULL;\n\t}\n#ifdef  CODE_DEBUG_ALLOC\n\tMemoryAllocMoniteReport();\n#endif\n\tgMaxUserHeapCount--;\n\tgpUserHeap[0]->Destroy();\n\tgMainHeapSize = 0;\n\tdelete gpUserHeap[0];\n\tgpUserHeap[0] = NULL;\n}\n\nvoid*CodeAlloc(size_t size)\n{\n\tif(gMainHeapSize < sizeof(CFixedHeap))\n\t{\n\t\treturn ExAllocatePoolWithTag(NonPagedPool,size,'CODE');\n\t}\n\tif(gpUserHeap[gCurUserHeapIndex]==NULL)\n\t{\n\t\tint OldSize;\n\t\tInitMemoryAllocUserHeap();\n\t\tOldSize = gMainHeapSize;\n\t\tgMainHeapSize = 0;\n\t\tgpUserHeap[gCurUserHeapIndex] = new CFixedHeap;\n\t\tgMainHeapSize = OldSize;\n\t\tgpUserHeap[gCurUserHeapIndex]->Create(OldSize);\n\t\tgMaxUserHeapCount++;\n\t}\n\tvoid*p = gpUserHeap[gCurUserHeapIndex]->Allocate((ULSIZE)size);\n\tif(p==NULL)\n\t\tKeBugCheckEx('MEMN',size,gCurUserHeapIndex,gMainHeapSize,(ULONG_PTR)&gpUserHeap[0]);\n\treturn p;\n}\n\nvoid CodeFree(void*p)\n{\n\tif(gMainHeapSize < sizeof(CFixedHeap))\n\t{\n\t\tExFreePool(p);\n\t\treturn;\n\t}\n\tfor(int n=0;n<gMaxUserHeapCount;n++)\n\t{\n\t\tif(gpUserHeap[n] && gpUserHeap[n]->Free(p))\n\t\t\treturn;\n\t}\n\tDbgPrint(\"************ Invaild Free (%08X) !\\n************\",p);\n}\n\n#else   //CODE_ALLOC_USER_HEAP\n\nvoid*CodeAlloc(size_t size)\n{\n\treturn ExAllocatePool(NonPagedPool, size);\n}\n\nvoid CodeFree(void*p)\n{\n\tExFreePool(p);\n}\n\n#endif   //CODE_ALLOC_USER_HEAP\n\n\n#endif   //CODE_OS_NT_DRV\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/NewAllocUnix.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NewAlloc.h\"\n\n#ifdef malloc\n#undef malloc\n#endif\n\n#ifdef free\n#undef free\n#endif\n\n#ifdef CODE_ALLOC_USER_HEAP\n\n#include \"Heap.h\"\n\nCFixedHeap*gpUserHeap = NULL;\nbool bInCode = false;\n\nvoid InitMemoryAllocUserHeap()\n{\n}\n\nvoid ReleaseMemoryAllocUserHeap()\n{\n}\n\nvoid*CodeAlloc(size_t size)\n{\n\tif(bInCode)\n\t{\n\t\treturn malloc(size);\n\t}\n\telse\n\t{\n\t\tvoid*p;\n\t\tbInCode = true;\n\t\tif(gpUserHeap==NULL)\n\t\t{\n\t\t\tInitMemoryAllocUserHeap();\n\t\t\tgpUserHeap = new CFixedHeap;\n\t\t\tgpUserHeap->Create(CODE_ALLOC_USER_HEAP);\n\t\t}\n\t\tp = gpUserHeap->Allocate(size);\n\t\tbInCode = false;\n\t\treturn p;\n\t}\n}\n\nvoid CodeFree(void*p)\n{\n\tif(bInCode)\n\t{\n\t\treturn free(p);\n\t}\n\telse\n\t{\n\t\tbInCode = true;\n\t\tgpUserHeap->Free(p);\n\t\tbInCode = false;\t\t\n\t}\n}\n\n#else\n\nvoid*CodeAlloc(size_t size)\n{\n\treturn malloc(size);\n}\n\nvoid CodeFree(void*p)\n{\n\tfree(p);\n}\n\n#endif//CODE_ALLOC_USER_HEAP\n\n"
  },
  {
    "path": "Project/Code/Source/NewAllocWin32.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NewAlloc.h\"\n#include \"Heap.h\"\n\nNAME_SPACE_BEGIN\n\n#ifdef CODE_ALLOC_USER_HEAP\n\nCFixedHeap*\tgpUserHeap[MAX_USER_HEAP_COUNT];\nint\tgMainHeapSize = CODE_ALLOC_USER_HEAP;\nint\tgCurUserHeapIndex = 0;\nint\tgMaxUserHeapCount = 0;\n\ntypedef void (__cdecl *_PVFV)(void);\nextern \"C\"\n{\n\textern _PVFV *__onexitbegin;\n\textern _PVFV *__onexitend;\n}\n\nvoid InitMemoryAllocUserHeap()\n{\n\tatexit(ReleaseMemoryAllocUserHeap);\n\t_PVFV * pf = __onexitend;\n\tpf--;\n\t_PVFV fBackup = *pf;\n\twhile(pf>__onexitbegin)\n\t{\n\t\tpf--;\n\t\tpf[1] = pf[0];\n\t}\n\t*pf=fBackup;\n}\n\nvoid ReleaseMemoryAllocUserHeap()\n{\n\tchar szBuffer[256];\n\tint AllocCount,NeverUsedSizeK;\n\tif(gMaxUserHeapCount==0)\n\t\treturn;\n\tAllocCount = 0;\n\tNeverUsedSizeK = 0;\n\tfor(int n=0;n<gMaxUserHeapCount;n++)\n\t{\n\t\tAllocCount+=gpUserHeap[n]->m_AllocateCount;\n\t\tNeverUsedSizeK+=gpUserHeap[n]->m_MinFreeChunkCount*CHUNK_SIZE/1024;\n\t}\n\tTSPrintf(szBuffer,\" = %d , δʹùĶѿռ = %d(k)\\n\",AllocCount,NeverUsedSizeK);\n\tCODE_DEBUG_OUTPUT(szBuffer);\n\tfor(int n = gMaxUserHeapCount-1;n>0;n--)\n\t{\n\t\tgMaxUserHeapCount--;\n\t\tgpUserHeap[n]->Destroy();\n\t\tdelete gpUserHeap[n];\n\t\tgpUserHeap[n]=NULL;\n\t}\n#ifdef  CODE_DEBUG_ALLOC\n\tMemoryAllocMoniteReport();\n#endif\n\tgMaxUserHeapCount--;\n\tgpUserHeap[0]->Destroy();\n\tdelete gpUserHeap[0];\n\tgpUserHeap[0] = NULL;\n}\n\nvoid*CodeAlloc(size_t size)\n{\n\tif(gMainHeapSize < sizeof(CFixedHeap))\n\t{\n\t\treturn malloc(size);\n\t}\n\tif(gpUserHeap[gCurUserHeapIndex]==NULL)\n\t{\n\t\tint OldSize;\n\t\tInitMemoryAllocUserHeap();\n\t\tOldSize = gMainHeapSize;\n\t\tgMainHeapSize = 0;\n\t\tgpUserHeap[gCurUserHeapIndex] = new CFixedHeap;\n\t\tgMainHeapSize = OldSize;\n\t\tgpUserHeap[gCurUserHeapIndex]->Create(OldSize);\n\t\tgMaxUserHeapCount++;\n\t}\n\treturn gpUserHeap[gCurUserHeapIndex]->Allocate((ULSIZE)size);\n}\n\nvoid CodeFree(void*p)\n{\n\tif(gMainHeapSize < sizeof(CFixedHeap))\n\t{\n\t\tfree(p);\n\t\treturn;\n\t}\n\tfor(int n=0;n<gMaxUserHeapCount;n++)\n\t{\n\t\tif(gpUserHeap[n]->Free(p))\n\t\t\treturn;\n\t}\n\tfree(p);\n}\n\n#else\n\nvoid*CodeAlloc(size_t size)\n{\n\treturn malloc(size);\n}\n\nvoid CodeFree(void*p)\n{\n\tfree(p);\n}\n\n#endif//CODE_ALLOC_USER_HEAP\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/OptionValue.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OptionValue.h\"\n\n\nCOptionValue::COptionValue()\n{\n\n}\n\nCOptionValue::~COptionValue()\n{\n\n}\n\nvoid COptionValue::RegisterValueAry(STRegOptVal*pValAry)\n{\n\twhile(pValAry->szName)\n\t{\n\t\tswitch(pValAry->Type)\n\t\t{\n\t\tcase STOptVal::STR_VAL:\n\t\t\tInsertStrValue(pValAry->szName,(WCHAR*)pValAry->pValue,pValAry->Length);\n\t\t\tbreak;\n\t\tcase STOptVal::INT_VAL:\n\t\t\tInsertIntValue(pValAry->szName,(int*)pValAry->pValue);\n\t\t\tbreak;\n\t\tcase STOptVal::UINT_VAL:\n\t\t\tInsertUintValue(pValAry->szName,(UINT*)pValAry->pValue);\n\t\t\tbreak;\n\t\tcase STOptVal::FLOAT_VAL:\n\t\t\tInsertFloatValue(pValAry->szName,(float*)pValAry->pValue);\n\t\t\tbreak;\n\t\t}\n\t\tpValAry++;\n\t}\n}\n\n//Unicode\nbool COptionValue::InsertStrValue(PCWSTR szName,WCHAR*pValue,int Length)\n{\n\tCOptValMap::IT Iter = m_OptValMap.InsertUnique(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn false;\n\tIter->Type = STOptVal::STR_VAL;\n\tIter->pStrVal = pValue;\n\tIter->Length = Length;\n\treturn true;\n}\n\nbool COptionValue::InsertIntValue(PCWSTR szName,int*pValue)\n{\n\tCOptValMap::IT Iter = m_OptValMap.InsertUnique(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn false;\n\tIter->Type = STOptVal::INT_VAL;\n\tIter->pIntVal = pValue;\n\tIter->Length = sizeof(int);\n\treturn true;\n}\n\nbool COptionValue::InsertUintValue(PCWSTR szName,UINT*pValue)\n{\n\tCOptValMap::IT Iter = m_OptValMap.InsertUnique(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn false;\n\tIter->Type = STOptVal::UINT_VAL;\n\tIter->pUintVal = pValue;\n\tIter->Length = sizeof(UINT);\n\treturn true;\n}\n\nbool COptionValue::InsertFloatValue(PCWSTR szName,float*pValue)\n{\n\tCOptValMap::IT Iter = m_OptValMap.InsertUnique(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn false;\n\tIter->Type = STOptVal::FLOAT_VAL;\n\tIter->pFloatVal = pValue;\n\tIter->Length = sizeof(float);\n\treturn true;\n}\n\nbool COptionValue::RemoveValue(PCWSTR szName)\n{\n\treturn m_OptValMap.Remove(szName)!=0;\n}\n\n\nSTOptVal::TYPE COptionValue::GetValue(PCWSTR szName,void**ppValue,int*pLength)\n{\n\tCOptValMap::IT Iter = m_OptValMap.Find(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn STOptVal::NULL_VAL;\n\t*ppValue = Iter->pValue;\n\tif(pLength)\n\t\t*pLength = Iter->Length;\n\treturn Iter->Type;\n}\n\nWCHAR*COptionValue::GetStrValue(PCWSTR szName,int*pLength)\n{\n\tCOptValMap::IT Iter = m_OptValMap.Find(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn NULL;\n\tif(Iter->Type != STOptVal::STR_VAL)\n\t\treturn NULL;\n\tif(pLength)\n\t\t*pLength = Iter->Length;\n\treturn Iter->pStrVal;\n}\n\nint*COptionValue::GetIntValue(PCWSTR szName)\n{\n\tCOptValMap::IT Iter = m_OptValMap.Find(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn NULL;\n\tif(Iter->Type != STOptVal::INT_VAL)\n\t\treturn NULL;\n\treturn Iter->pIntVal;\n}\n\nUINT*COptionValue::GetUintValue(PCWSTR szName)\n{\n\tCOptValMap::IT Iter = m_OptValMap.Find(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn NULL;\n\tif(Iter->Type != STOptVal::UINT_VAL)\n\t\treturn NULL;\n\treturn Iter->pUintVal;\n}\n\nfloat*COptionValue::GetFloatValue(PCWSTR szName)\n{\n\tCOptValMap::IT Iter = m_OptValMap.Find(szName);\n\tif(Iter==m_OptValMap.End())\n\t\treturn NULL;\n\tif(Iter->Type != STOptVal::FLOAT_VAL)\n\t\treturn NULL;\n\treturn Iter->pFloatVal;\n}\n\n//Ansi\nbool COptionValue::InsertStrValue(PCSTR szName,WCHAR*pValue,int Length)\n{\n\tWCHAR wszName[MAX_LONG_NAME_LEN];\n\tAnsiToUnicode(szName,wszName,MAX_LONG_NAME_LEN);\n\treturn InsertStrValue(wszName,pValue,Length);\n}\n\nbool COptionValue::InsertIntValue(PCSTR szName,int*pValue)\n{\n\tWCHAR wszName[MAX_LONG_NAME_LEN];\n\tAnsiToUnicode(szName,wszName,MAX_LONG_NAME_LEN);\n\treturn InsertIntValue(wszName,pValue);\n}\n\nbool COptionValue::InsertUintValue(PCSTR szName,UINT*pValue)\n{\n\tWCHAR wszName[MAX_LONG_NAME_LEN];\n\tAnsiToUnicode(szName,wszName,MAX_LONG_NAME_LEN);\n\treturn InsertUintValue(wszName,pValue);\n}\n\nbool COptionValue::InsertFloatValue(PCSTR szName,float*pValue)\n{\n\tWCHAR wszName[MAX_LONG_NAME_LEN];\n\tAnsiToUnicode(szName,wszName,MAX_LONG_NAME_LEN);\n\treturn InsertFloatValue(wszName,pValue);\n}\n\nbool COptionValue::RemoveValue(PCSTR szName)\n{\n\tWCHAR wszName[MAX_LONG_NAME_LEN];\n\tAnsiToUnicode(szName,wszName,MAX_LONG_NAME_LEN);\n\treturn RemoveValue(wszName);\n}\n"
  },
  {
    "path": "Project/Code/Source/OptionValue.h",
    "content": "#ifndef _OPTION_VALUE_H_\n#define _OPTION_VALUE_H_\n\nstruct STOptVal\n{\n\tenum TYPE{NULL_VAL,STR_VAL,INT_VAL,UINT_VAL,FLOAT_VAL};\n\tTYPE Type;\n\tunion\n\t{\n\t\tint*pIntVal;\n\t\tUINT*pUintVal;\n\t\tWCHAR*pStrVal;\n\t\tfloat*pFloatVal;\n\t\tvoid*pValue;\n\t};\n\tint Length;\n};\n\nstruct STRegOptVal\n{\n\tPCWSTR szName;\n\tSTOptVal::TYPE Type;\n\tvoid*pValue;\n\tint Length;\n};\n\ntypedef TMap<CIStrW,STOptVal>\tCOptValMap;\n\nclass COptionValue\n{\npublic:\n\tCOptionValue();\n\t~COptionValue();\npublic://Unicode\n\t//Insert\n\tvoid RegisterValueAry(STRegOptVal*pValAry);\n\tbool InsertStrValue(PCWSTR szName,WCHAR*pValue,int Length);\n\tbool InsertIntValue(PCWSTR szName,int*pValue);\n\tbool InsertUintValue(PCWSTR szName,UINT*pValue);\n\tbool InsertFloatValue(PCWSTR szName,float*pValue);\n\t//Remove\n\tbool RemoveValue(PCWSTR szName);\n\t//GetValue\n\tSTOptVal::TYPE GetValue(PCWSTR szName,void**ppValue,int*pLength);\n\tWCHAR*GetStrValue(PCWSTR szName,int*pLength);\n\tint*GetIntValue(PCWSTR szName);\n\tUINT*GetUintValue(PCWSTR szName);\n\tfloat*GetFloatValue(PCWSTR szName);\npublic://Ansi\n\t//Insert\n\tbool InsertStrValue(PCSTR szName,WCHAR*pValue,int Length);\n\tbool InsertIntValue(PCSTR szName,int*pValue);\n\tbool InsertUintValue(PCSTR szName,UINT*pValue);\n\tbool InsertFloatValue(PCSTR szName,float*pValue);\n\t//Remove\n\tbool RemoveValue(PCSTR szName);\npublic:\n\tCOptValMap\tm_OptValMap;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/PageMem.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PageMem.h\"\n\nNAME_SPACE_BEGIN\n//////////////////////////////////////////////////////////////////////\n// Construction/Destruction\n//////////////////////////////////////////////////////////////////////\nCPageMemory::CPageMemory()\n{\n\tm_PhysMemory=NULL;\n\tm_PageExistMap=NULL;\n\tZeroMemory(m_PageDir,sizeof(m_PageDir));\n\tm_Style = PMS_NO_PAGE_OUT;\n}\n\nCPageMemory::~CPageMemory()\n{\n}\n\nbool CPageMemory::Init(int PageCount,UINT Style)\n{\n\tm_Style = Style;\n\tif((m_Style & PMS_DYN_PAGE)==0)\n\t{\n\t\tm_PhysMemory = new BYTE[PageCount*MP_SIZE];\n\t\tif(m_PhysMemory==NULL)\n\t\t\treturn false;\n\t\tm_PageExistMap = new BYTE[PageCount];\n\t\tif(m_PageExistMap==NULL)\n\t\t{\n\t\t\tSafeDelete(m_PhysMemory);\n\t\t\treturn false;\n\t\t}\n\t\tZeroMemory(m_PageExistMap,PageCount);\n\t}\n\tZeroMemory(m_PageDir,sizeof(m_PageDir));\n\tZeroMemory(&m_PageDataCache1,sizeof(m_PageDataCache1));\n\tZeroMemory(&m_PageDataCache2,sizeof(m_PageDataCache2));\n\tm_PageCount=PageCount;\n\tm_PageUsedCount = 0;\n\tm_FreePhysIndex=0;\n\tm_WriteAccessPageCount = 0;\n\treturn true;\n}\n\nvoid CPageMemory::Release()\n{\n\tif(m_Style & PMS_DYN_PAGE)\n\t{\n\t\tfor(DWORD n=0;n<PAGE_DIR_COUNT;n++)\n\t\t{\n\t\t\tif(m_PageDir[n]==NULL)\n\t\t\t\tcontinue;\n\t\t\tfor(DWORD m=0;m<PAGE_DIR_CONTENT;m++)\n\t\t\t\tSafeDelete(m_PageDir[n][m].PhysAddr);\n\t\t}\n\t}\n\telse\n\t{\n\t\tSafeDeleteAry(m_PhysMemory);\n\t\tSafeDeleteAry(m_PageExistMap);\n\t}\n\tfor(int n=0;n<PAGE_DIR_COUNT;n++)\n\t\tSafeDeleteAry(m_PageDir[n]);\n\tm_ImageRangeMap.Clear();\n}\n\nvoid CPageMemory::RefreshCache(MEMORY_PAGE*pPage)\n{\n\tif(pPage == m_PageDataCache1.MemoryPage)\n\t\tZeroMemory(&m_PageDataCache1,sizeof(m_PageDataCache1));\n\tif(pPage == m_PageDataCache2.MemoryPage)\n\t\tZeroMemory(&m_PageDataCache2,sizeof(m_PageDataCache2));\n}\n\nbool CPageMemory::ExchangePage()\n{\n\tif(ReleaseClearPage())\n\t\treturn true;\n\tif(m_Style & PMS_PAGE_OUT)\n\t\treturn FlushAllPage()!=0;\n\treturn false;\n}\n\nint CPageMemory::FlushAllPage()\n{\n\tint count;\n\tULPOS Address;\n\tMEMORY_PAGE*pPage;\n\tcount=0;\n\tfor(DWORD n=0;n<PAGE_DIR_COUNT;n++)\n\t{\n\t\tif(m_PageDir[n]==NULL)\n\t\t\tcontinue;\n\t\tfor(DWORD m=0;m<PAGE_DIR_CONTENT;m++)\n\t\t{\n\t\t\tAddress = (n<<22)+(m<<12);\n\t\t\tpPage = &m_PageDir[n][m];\n\t\t\tif((pPage->Attribute & MP_DIRTY) && (pPage->Attribute & MP_LOCK)==0 && pPage->PhysAddr)\n\t\t\t{\n\t\t\t\tif(SavePage(Address,pPage))\n\t\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\t}\n\treturn count;\n}\n\nCPageImage*CPageMemory::GetImage(PCSTR ModuleName)\n{\n\tfor(CImgRangeMap::IT Iter = m_ImageRangeMap.Begin();Iter!=m_ImageRangeMap.End();Iter++)\n\t{\n\t\tif(TCmpModuleName((PCSTR)(*Iter)->m_ImageName,ModuleName))\n\t\t\treturn *Iter;\n\t}\n\treturn NULL;\n}\n\nCPageImage*CPageMemory::GetImage(ULPOS ModuleBase)\n{\n\tCImgRangeMap::IT Iter;\n\tIter = m_ImageRangeMap.Find(CImgRangeMap::RANGE(ModuleBase));\n\tif(Iter == m_ImageRangeMap.End())\n\t\treturn NULL;\n\treturn *Iter;\n}\n\nbool CPageMemory::MapImage(CPageImage*pImageFile)\n{\n\tCImgRangeMap::IT Iter;\n\tDWORD DirIndex,PageIndex,PageCount,Address,Size;\n\tMEMORY_PAGE*pPage;\n\tIter = m_ImageRangeMap.Find(CImgRangeMap::RANGE(pImageFile->m_ImageBase));\n\tif(Iter!=m_ImageRangeMap.End())\n\t\treturn false;\n\tAddress = pImageFile->m_ImageBase;\n\tSize = (DWORD)pImageFile->m_ImageSize;\n\tPageIndex = (Address>>12) & 0x3FF;\n\tDirIndex = Address>>22;\n\tPageCount = PAGE_COUNT(Size,MP_SIZE);\n\twhile(DirIndex<PAGE_DIR_COUNT && PageCount)\n\t{\n\t\tif(m_PageDir[DirIndex]==NULL)\n\t\t{\n\t\t\tm_PageDir[DirIndex] = new MEMORY_PAGE[PAGE_DIR_CONTENT];\n\t\t\tZeroMemory(m_PageDir[DirIndex],sizeof(MEMORY_PAGE)*PAGE_DIR_CONTENT);\n\t\t}\n\t\twhile(PageIndex<PAGE_DIR_CONTENT && PageCount)\n\t\t{\n\t\t\tpPage = &m_PageDir[DirIndex][PageIndex];\n\t\t\tif(pPage->Attribute!=MP_FREE)\n\t\t\t\treturn false;\n\t\t\tpPage->Attribute = pImageFile->GetPageAttribute(Address) | MP_IMAGE;\n\t\t\tpPage->PhysAddr = NULL;\n\t\t\tpPage->AccessWriteCount = pPage->AccessReadCount = 0;\n\t\t\tPageCount--;\n\t\t\tAddress+=MP_SIZE;\n\t\t\tPageIndex++;\n\t\t}\n\t\tDirIndex++;\n\t\tPageIndex = 0;\n\t}\n\tm_ImageRangeMap.InsertUnique(CImgRangeMap::RANGE(pImageFile->m_ImageBase,pImageFile->m_ImageHighBase-1),pImageFile);\n\treturn true;\n}\n\nbool CPageMemory::UnmapImage(CPageImage*pImageFile)\n{\n\tDWORD DirIndex,PageIndex,Address,PageCount;\n\tMEMORY_PAGE*pPage;\n\tCImgRangeMap::IT Iter = m_ImageRangeMap.Find(CImgRangeMap::RANGE(pImageFile->m_ImageBase));\n\tif(Iter==m_ImageRangeMap.End())\n\t\treturn false;\n\tAddress = pImageFile->m_ImageBase;\n\tPageIndex = (Address>>12) & 0x3FF;\n\tDirIndex = Address>>22;\n\tPageCount = (DWORD)pImageFile->m_ImageSize / MP_SIZE;\n\twhile(DirIndex<PAGE_DIR_COUNT && PageCount)\n\t{\n\t\tif(m_PageDir[DirIndex]==NULL)\n\t\t\treturn false;\n\t\twhile(PageIndex<PAGE_DIR_CONTENT && PageCount)\n\t\t{\n\t\t\tpPage = &m_PageDir[DirIndex][PageIndex];\n\t\t\tDeletePage(pPage);\n\t\t\tZeroMemory(pPage,sizeof(MEMORY_PAGE));\n\t\t\tAddress+=MP_SIZE;\n\t\t\tPageCount--;\n\t\t}\n\t\tDirIndex++;\n\t\tPageIndex = 0;\n\t}\n\tm_ImageRangeMap.Remove(Iter);\n\treturn true;\n}\n\n\nbool CPageMemory::AllocatePage(ULPOS Address,UINT Attribute,void* Buffer,ULSIZE Size)\n{\n\tDWORD DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\n\tif(m_PageUsedCount>=m_PageCount && ExchangePage()==false)\n\t\treturn false;//޿õҳ\n\tPageIndex = (Address>>12) & 0x3FF;\n\tDirIndex=Address>>22;\n\tif(m_PageDir[DirIndex]==NULL)\n\t{\n\t\tm_PageDir[DirIndex] = new MEMORY_PAGE[PAGE_DIR_CONTENT];\n\t\tZeroMemory(m_PageDir[DirIndex],sizeof(MEMORY_PAGE)*PAGE_DIR_CONTENT);\n\t}\n\tpPage = &m_PageDir[DirIndex][PageIndex];\n\tif(pPage->Attribute!=MP_FREE)\n\t\treturn false;\n\tpPage->Attribute = Attribute;\n\tif((pPage->Attribute & MP_COMMIT)==0)\n\t{\n\t\tif(NewPage(pPage)==false)\n\t\t{\n\t\t\tpPage->Attribute = MP_FREE;\n\t\t\treturn false;\n\t\t}\n\t\tpPage->Attribute |=MP_DIRTY;\n\t}\n\tpPage->AccessWriteCount = pPage->AccessReadCount = 0;\n\tif(Size>MP_SIZE)\n\t\tSize=MP_SIZE;\n\tif((pPage->Attribute & MP_COMMIT)==0)\n\t{\n\t\tif(Buffer)\n\t\t{\n\t\t\tif(Size>MP_SIZE)\n\t\t\t\tSize=MP_SIZE;\n\t\t\tmemcpy(pPage->PhysAddr,Buffer,Size);\n\t\t\tif(Size<MP_SIZE)\n\t\t\t\tZeroMemory(&pPage->PhysAddr[Size],MP_SIZE-Size);\n\t\t}\n\t\telse\n\t\t\tZeroMemory(pPage->PhysAddr,MP_SIZE);\n\t}\n\treturn true;\n}\n\nbool CPageMemory::AllocatePage(ULPOS Address,UINT Attribute,BYTE PageData)\n{\n\tDWORD DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\tPageIndex = (Address>>12) & 0x3FF;\n\tDirIndex=Address>>22;\n\tif(m_PageDir[DirIndex]==NULL)\n\t{\n\t\tm_PageDir[DirIndex] = new MEMORY_PAGE[PAGE_DIR_CONTENT];\n\t\tZeroMemory(m_PageDir[DirIndex],sizeof(MEMORY_PAGE)*PAGE_DIR_CONTENT);\n\t}\n\tpPage = &m_PageDir[DirIndex][PageIndex];\n\tif(pPage->Attribute!=MP_FREE)\n\t\treturn false;\n\tZeroMemory(pPage,sizeof(MEMORY_PAGE));\n\tpPage->Attribute = Attribute|MP_CONST;\n\tpPage->PageData = PageData;\n\treturn true;\n}\n\nbool CPageMemory::ReleasePage(ULPOS Address)\n{\n\tint DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\tAddress>>=12;\n\tPageIndex = Address & 0x3FF;\n\tDirIndex=Address>>10;\n\n\tpPage = m_PageDir[DirIndex];\n\tif(pPage==NULL || pPage[PageIndex].PhysAddr == NULL)\n\t\treturn false;\n\n\tpPage = &pPage[PageIndex];\n\tDeletePage(pPage);\n\tZeroMemory(pPage,sizeof(MEMORY_PAGE));\n\treturn true;\n}\n\nDWORD CPageMemory::ReleaseClearPage()\n{\n\tMEMORY_PAGE*pPage;\n\tint Count=0;\n\tfor(int n=0;n<PAGE_DIR_COUNT;n++)\n\t{\n\t\tif(m_PageDir[n]==NULL)\n\t\t\tcontinue;\n\t\tfor(int p=0;p<PAGE_DIR_CONTENT;p++)\n\t\t{\n\t\t\tpPage = &m_PageDir[n][p];\n\t\t\tif((pPage->Attribute&MP_DIRTY)==0&&(pPage->Attribute&MP_LOCK)==0&&pPage->PhysAddr)\n\t\t\t{\n\t\t\t\tDeletePage(pPage);\n\t\t\t\tif(pPage->Attribute & MP_IMAGE)\n\t\t\t\t\tpPage->PhysAddr=NULL;\n\t\t\t\telse\n\t\t\t\t\tZeroMemory(pPage,sizeof(MEMORY_PAGE));\n\t\t\t\tCount++;\n\t\t\t\tif(m_PageUsedCount<=0)\n\t\t\t\t\treturn Count;\n\t\t\t}\n\t\t}\n\t}\n\treturn Count;\n}\n\nbool CPageMemory::IsPageExist(ULPOS Address)\n{\n\tDWORD DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\tAddress>>=12;\n\tPageIndex = Address & 0x3FF;\n\tDirIndex=Address>>10;\n\tpPage = m_PageDir[DirIndex];\n\tif( pPage==NULL || pPage[PageIndex].Attribute == MP_FREE)\n\t\treturn false;\n\treturn true;\n}\n\nbool CPageMemory::IsPageDirExist(ULPOS Address)\n{\n\tDWORD DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\tAddress>>=12;\n\tPageIndex = Address & 0x3FF;\n\tDirIndex=Address>>10;\n\tpPage = m_PageDir[DirIndex];\n\tif( pPage==NULL )\n\t\treturn false;\n\treturn true;\n}\n\nMEMORY_PAGE*CPageMemory::GetDataPage(ULPOS Address,bool bWrite)\n{\n\tDWORD DirIndex,PageIndex;\n\tMEMORY_PAGE*pPage;\n\tAddress&=MP_NOT_MASK;\n\tif(m_PageDataCache1.bExist && Address == m_PageDataCache1.BaseAddr)\n\t{\n\t\tm_PageDataCache1.AccessCount++;\n\t\treturn m_PageDataCache1.MemoryPage;\n\t}\n\tif(m_PageDataCache2.bExist && Address == m_PageDataCache2.BaseAddr)\n\t{\n\t\tm_PageDataCache2.AccessCount++;\n\t\treturn m_PageDataCache2.MemoryPage;\n\t}\n\tPageIndex = (Address>>12) & 0x3FF;\n\tDirIndex = Address>>22;\n\tpPage = m_PageDir[DirIndex];\n\tif(pPage==NULL || pPage[PageIndex].Attribute == MP_FREE)\n\t\treturn NULL;\n\tpPage = &pPage[PageIndex];\n\tif(pPage->Attribute&MP_COMMIT)\n\t{\n\t\tif(NewPage(pPage)==false)\n\t\t\treturn NULL;\n\t}\n\telse if((pPage->Attribute&MP_IMAGE) && pPage->PhysAddr==NULL && LoadPage(Address,pPage)==false)\n\t\treturn NULL;\n\tif(m_PageDataCache1.AccessCount>m_PageDataCache2.AccessCount)\n\t{\n\t\tm_PageDataCache2.bExist = true;\n\t\tm_PageDataCache2.BaseAddr = Address;\n\t\tm_PageDataCache2.AccessCount = 0;\n\t\tm_PageDataCache2.MemoryPage = pPage;\n\t}\n\telse\n\t{\n\t\tm_PageDataCache1.bExist = true;\n\t\tm_PageDataCache1.BaseAddr = Address;\n\t\tm_PageDataCache1.AccessCount = 0;\n\t\tm_PageDataCache1.MemoryPage = pPage;\n\t}\n\treturn pPage;\n}\n\nbool CPageMemory::LoadPage(ULPOS Address,MEMORY_PAGE*pPage)\n{\n\tCPageImage*pImageFile;\n\tif(m_PageUsedCount>=m_PageCount && ExchangePage()==false)\n\t\treturn false;\n\tCImgRangeMap::IT Iter = m_ImageRangeMap.Find(CImgRangeMap::RANGE(Address));\n\tif(Iter==m_ImageRangeMap.End())\n\t\treturn false;\n\tpImageFile = *Iter;\n\tCODE_ASSERT((pPage->Attribute&MP_COMMIT)==0);\n\tif(NewPage(pPage)==false)\n\t\treturn false;\n\tif(pImageFile->LoadPage(Address,pPage->PhysAddr)==false)\n\t{\n\t\tDeletePage(pPage);\n\t\tZeroMemory(pPage,sizeof(MEMORY_PAGE));\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CPageMemory::SavePage(ULPOS Address,MEMORY_PAGE*pPage)\n{\n\tif((pPage->Attribute & MP_IMAGE)==0 || (m_Style & PMS_PAGE_OUT)==0 || pPage->PhysAddr==NULL)\n\t\treturn false;\n\tCImgRangeMap::IT Iter = m_ImageRangeMap.Find(CImgRangeMap::RANGE(Address));\n\tif(Iter==m_ImageRangeMap.End())\n\t\treturn false;\n\tif((*Iter)->SavePage(Address,pPage->PhysAddr)==false)\n\t\treturn false;\n\tDeletePage(pPage);\n\tpPage->Attribute &= ~MP_DIRTY;\n\treturn true;\n}\n\nULSIZE CPageMemory::ReadMemX(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tMEMORY_PAGE*pPage;\n\tULSIZE RSize;\n\tULPOS RAddr;\n\tRAddr=Address;\n\tRSize=MIN(Size,MP_SIZE-Address%MP_SIZE);\n\twhile(Size>0)\n\t{\n\t\tpPage=GetDataPage(RAddr);\n\t\tif(pPage==NULL)\n\t\t\treturn RAddr - Address;\n\t\tif(pPage->Attribute & MP_CONST)\n\t\t\tmemset(RT_PBYTE(Buffer,RAddr-Address),(BYTE)pPage->PageData,RSize);\n\t\telse\n\t\t\tmemcpy(RT_PBYTE(Buffer,RAddr-Address),&pPage->PhysAddr[RAddr&MP_MASK],RSize);\n\t\tSize-=RSize;\n\t\tRAddr+=RSize;\n\t\tRSize=MIN(Size,MP_SIZE);\n\t}\n\treturn RAddr - Address;\n}\n\nULSIZE CPageMemory::WriteMemX(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tMEMORY_PAGE*pPage;\n\tULPOS WAddr;\n\tULSIZE WSize;\n\tWAddr=Address;\n\tWSize=MIN(Size,MP_SIZE-Address%MP_SIZE);\n\twhile(Size>0)\n\t{\n\t\tpPage=GetDataPage(WAddr,true);\n\t\tif(pPage==NULL)\n\t\t\treturn WAddr - Address;\n\t\tif((pPage->Attribute & MP_CONST)==0)\n\t\t\tmemcpy(&pPage->PhysAddr[WAddr&MP_MASK],RT_PBYTE(Buffer,WAddr-Address),WSize);\n\t\tpPage->Attribute |= MP_DIRTY;\n\t\tSize-=WSize;\n\t\tWAddr+=WSize;\n\t\tWSize=MIN(Size,MP_SIZE);\n\t}\n\treturn WAddr - Address;\n}\n\nULSIZE CPageMemory::ZeroMemX(ULPOS Address,ULSIZE Size)\n{\n\tMEMORY_PAGE*pPage;\n\tULPOS WAddr;\n\tULSIZE WSize;\n\tWAddr=Address;\n\tWSize=MIN(Size,MP_SIZE-Address%MP_SIZE);\n\twhile(Size>0)\n\t{\n\t\tpPage=GetDataPage(WAddr,true);\n\t\tif(pPage==NULL)\n\t\t\treturn WAddr - Address;\n\t\tif((pPage->Attribute & MP_CONST)==0)\n\t\t\tZeroMemory(&pPage->PhysAddr[WAddr&MP_MASK],WSize);\n\t\tpPage->Attribute |= MP_DIRTY;\n\t\tSize-=WSize;\n\t\tWAddr+=WSize;\n\t\tWSize=MIN(Size,MP_SIZE);\n\t}\n\treturn WAddr - Address;\n}\n\nULSIZE CPageMemory::ReadMemory(ULPOS Address,void* Buffer,ULSIZE Size,CPageMemory*pPageMemory)\n{\n\treturn pPageMemory->ReadMemX(Address,Buffer,Size);\n}\n\nULSIZE CPageMemory::WriteMemory(ULPOS Address,void* Buffer,ULSIZE Size,CPageMemory*pPageMemory)\n{\n\treturn pPageMemory->WriteMemX(Address,Buffer,Size);\n}\n\nULSIZE CPageMemory::ReadString(ULPOS Address,PSTR Buffer,ULSIZE MaxLen)\n{\n    ULSIZE Readed;\n    BYTE Str;\n\tMaxLen--;\n\tfor(Readed=0;Readed<MaxLen;Readed++)\n\t{\n\t\tif(ReadMemB(Address+Readed,&Str)==false)\n\t\t\tbreak;\n\t\tif(Buffer)\n\t\t\tBuffer[Readed]=Str;\n\t\tif(Str==0)\n\t\t\treturn Readed;\n\t}\n\tif(Buffer)\n\t\tBuffer[Readed]=0;\n\treturn Readed;\n}\n\nULSIZE CPageMemory::WriteString(ULPOS Address,PSTR Buffer,ULSIZE MaxLen)\n{\n    ULSIZE Written;\n    for(Written=0;Written<MaxLen;Written++)\n\t{\n\t\tif(WriteMemB(Address+Written,&Buffer[Written])==false)\n\t\t\tbreak;\n\t\tif(Buffer[Written]==0)\n\t\t\treturn Written-1;\n\t}\n\tif(Written>=MaxLen)\n\t\tWriteMemB(Address+Written-1,(BYTE*)\"\\x00\");\n\treturn Written-1;\n}\n\nULSIZE CPageMemory::ReadString(ULPOS Address,PWORD Buffer,ULSIZE MaxLen)\n{\n    ULSIZE Readed;\n    WORD Str;\n\tMaxLen--;\n\tfor(Readed=0;Readed<MaxLen;Readed++)\n\t{\n\t\tif(ReadMemW(Address+Readed*2,&Str)==false)\n\t\t\tbreak;\n\t\tif(Buffer)\n\t\t\tBuffer[Readed]=Str;\n\t\tif(Str==0)\n\t\t\treturn Readed;\n\t}\n\tif(Buffer)\n\t\tPUT_WORD(Buffer,Readed*2,0);\n\treturn Readed;\n}\n\nULSIZE CPageMemory::WriteString(ULPOS Address,PWORD Buffer,ULSIZE MaxLen)\n{\n    DWORD Written;\n\tfor(Written=0;Written<MaxLen;Written++)\n\t{\n\t\tif(WriteMemW(Address+Written*2,&Buffer[Written])==false)\n\t\t\tbreak;\n\t\tif(Buffer[Written]==0)\n\t\t\treturn Written-1;\n\t}\n\tif(Written>=MaxLen)\n\t\tWriteMemW(Address+(Written-1)*2,(PWORD)\"\\x00\\x00\");\n\treturn Written-1;\n}\n\nULSIZE CPageMemory::ReadString(ULPOS Address,PDSTR Buffer,ULSIZE MaxLen)\n{\n\tULSIZE Readed;\n\tWORD Str;\n\tMaxLen--;\n\tfor(Readed=0;Readed<MaxLen;Readed++)\n\t{\n\t\tif(ReadMemD(Address+Readed*4,&Str)==false)\n\t\t\tbreak;\n\t\tif(Buffer)\n\t\t\tBuffer[Readed]=Str;\n\t\tif(Str==0)\n\t\t\treturn Readed;\n\t}\n\tif(Buffer)\n\t\tPUT_DWORD(Buffer,Readed*4,0);\n\treturn Readed;\n}\n\nULSIZE CPageMemory::WriteString(ULPOS Address,PDSTR Buffer,ULSIZE MaxLen)\n{\n\tDWORD Written;\n\tfor(Written=0;Written<MaxLen;Written++)\n\t{\n\t\tif(WriteMemD(Address+Written*4,&Buffer[Written])==false)\n\t\t\tbreak;\n\t\tif(Buffer[Written]==0)\n\t\t\treturn Written-1;\n\t}\n\tif(Written>=MaxLen)\n\t\tWriteMemD(Address+(Written-1)*4,(PDSTR)\"\\x00\\x00\\x00\\x00\");\n\treturn Written-1;\n}\n\n\nbool CPageMemory::ReadMemB(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address);\n\tif(pPage==NULL)\n\t\treturn false;\n\tif(pPage->Attribute & MP_CONST)\n\t\t*_RT_PBYTE(Buffer)=(BYTE)pPage->PageData;\n\telse\n\t\t*_RT_PBYTE(Buffer)=pPage->PhysAddr[Address & MP_MASK];\n\tpPage->AccessReadCount++;\n\treturn true;\n}\n\nbool CPageMemory::ReadMemW(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address);\n\tif((Address & MP_MASK)<= MP_SIZE-2)\n\t{\n\t\tif(pPage==NULL)\n\t\t\treturn false;\n\t\tif(pPage->Attribute & MP_CONST)\n\t\t{\n\t\t\t_PUT_BYTE(Buffer,(BYTE)pPage->PageData);\n\t\t\tPUT_BYTE(Buffer,1,(BYTE)pPage->PageData);\n\t\t}\n\t\telse\n\t\t{\n#ifdef CODE_BUS_ALIGN\n\t\t\tBYTE*VirtualBuffer=&pPage->PhysAddr[Address & MP_MASK];\n\t\t\tPUT_BYTE(Buffer,1,VirtualBuffer[0]);\n\t\t\t_PUT_BYTE(Buffer,VirtualBuffer[1]);\n#else\n\t\t\t*_RT_PWORD(Buffer)=GET_WORD(pPage->PhysAddr,Address & MP_MASK);\n#endif\n\t\t}\n\t\tpPage->AccessReadCount++;\n\t\treturn true;\n\t}\n#ifndef CODE_BIG_ENDIAN\n\tif(\tReadMemB(Address,Buffer)==false ||\n\t\tReadMemB(Address+1,RT_PVOID(Buffer,1))==false)\n\t\treturn false;\n#else\n\tif(\tReadMemB(Address,RT_PVOID(Buffer,1))==false ||\n\t\tReadMemB(Address+1,Buffer)==false)\n\t\treturn false;\n#endif\n\treturn true;\n}\n\nbool CPageMemory::ReadMemD(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address);\n\tif((Address & MP_SIZE)<= MP_SIZE-4)\n\t{\n\t\tif(pPage==NULL)\n\t\t\treturn false;\n\t\tif(pPage->Attribute & MP_CONST)\n\t\t{\n\t\t\t_PUT_BYTE(Buffer,  (BYTE)pPage->PageData);\n\t\t\t PUT_BYTE(Buffer,1,(BYTE)pPage->PageData);\n\t\t\t PUT_BYTE(Buffer,2,(BYTE)pPage->PageData);\n\t\t\t PUT_BYTE(Buffer,3,(BYTE)pPage->PageData);\n\t\t}\n\t\telse\n\t\t{\n#ifdef CODE_BUS_ALIGN\n\t\t\tBYTE*VirtualBuffer=&pPage->PhysAddr[Address & MP_MASK];\n\t\t\tPUT_BYTE(Buffer,3,VirtualBuffer[0]);\n\t\t\tPUT_BYTE(Buffer,2,VirtualBuffer[1]);\n\t\t\tPUT_BYTE(Buffer,1,VirtualBuffer[2]);\n\t\t\t_PUT_BYTE(Buffer,VirtualBuffer[3]);\n#else\n\t\t\t*_RT_PDWORD(Buffer)=GET_DWORD(pPage->PhysAddr,Address & MP_MASK);\n#endif\n\t\t}\n\t\tpPage->AccessReadCount++;\n\t\treturn true;\n\t}\n#ifndef CODE_BIG_ENDIAN\n\tif(\tReadMemW(Address,Buffer)==false ||\n\t\tReadMemW(Address+2,RT_PVOID(Buffer,2))==false)\n\t\treturn false;\n#else\n\tif(\tReadMemW(Address,RT_PVOID(Buffer,2))==false ||\n\t\tReadMemW(Address+2,Buffer)==false)\n\t\treturn false;\n#endif\n\treturn true;\n}\n\nbool CPageMemory::WriteMemB(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address,true);\n\tif(pPage==NULL)\n\t\treturn false;\n\tif((pPage->Attribute & MP_CONST)==0)\n\t\tpPage->PhysAddr[Address&MP_MASK]=_GET_BYTE(Buffer);\n\tif((pPage->Attribute & MP_DIRTY)==0)\n\t{\n\t\tm_WriteAccessPageCount++;\n\t\tpPage->Attribute |= MP_DIRTY;\n\t}\n\tpPage->AccessWriteCount++;\n\treturn true;\n}\n\nbool CPageMemory::WriteMemW(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address,true);\n\tif((Address & MP_MASK)<= MP_SIZE-2)\n\t{\n\t\tif(pPage==NULL)\n\t\t\treturn false;\n\t\tif((pPage->Attribute & MP_CONST)==0)\n\t\t{\n#ifdef CODE_BUS_ALIGN\n\t\t\tBYTE*VirtualBuffer=&pPage->PhysAddr[Address & MP_MASK];\n\t\t\tVirtualBuffer[0]=GET_BYTE(Buffer,1);\n\t\t\tVirtualBuffer[1]=_GET_BYTE(Buffer);\n#else\n\t\t\tPUT_WORD(pPage->PhysAddr,Address & MP_MASK,*_RT_PWORD(Buffer));\n#endif\n\t\t}\n\t\tif((pPage->Attribute & MP_DIRTY)==0)\n\t\t{\n\t\t\tm_WriteAccessPageCount++;\n\t\t\tpPage->Attribute |= MP_DIRTY;\n\t\t}\n\t\tpPage->AccessWriteCount++;\n\t\treturn true;\n\t}\n#ifndef CODE_BIG_ENDIAN\n\tif(\tWriteMemB(Address,Buffer)==false ||\n\t\tWriteMemB(Address+1,RT_PVOID(Buffer,1)))\n\t\treturn false;\n#else\n\tif(\tWriteMemB(Address,RT_PVOID(Buffer,1))==false ||\n\t\tWriteMemB(Address+1,Buffer))\n\t\treturn false;\n#endif\n\treturn true;\n}\n\nbool CPageMemory::WriteMemD(ULPOS Address,void* Buffer)\n{\n\tMEMORY_PAGE*pPage=GetDataPage(Address,true);\n\t/////////////////////ݶϵ////////////////////////\t\t\n\tif((Address & MP_MASK)<=MP_SIZE-4)\n\t{\n\t\tif(pPage==NULL)\n\t\t\treturn false;\n\t\tif((pPage->Attribute & MP_CONST)==0)\n\t\t{\n#ifdef CODE_BUS_ALIGN\n\t\t\tBYTE*VirtualBuffer=&pPage->PhysAddr[Address & MP_MASK];\n\t\t\tVirtualBuffer[0]=GET_BYTE(Buffer,3);\n\t\t\tVirtualBuffer[1]=GET_BYTE(Buffer,2);\n\t\t\tVirtualBuffer[2]=GET_BYTE(Buffer,1);\n\t\t\tVirtualBuffer[3]=_GET_BYTE(Buffer);\n#else\n\t\t\tPUT_DWORD(pPage->PhysAddr,Address & MP_MASK,*_RT_PDWORD(Buffer));\n#endif\n\t\t}\n\t\tif((pPage->Attribute & MP_DIRTY)==0)\n\t\t{\n\t\t\tm_WriteAccessPageCount++;\n\t\t\tpPage->Attribute |= MP_DIRTY;\n\t\t}\n\t\tpPage->AccessWriteCount++;\n\t\treturn true;\n\t}\n#ifndef CODE_BIG_ENDIAN\n\tif(\tWriteMemW(Address,Buffer)==false ||\n\t\tWriteMemW(Address+2,RT_PVOID(Buffer,2))==false)\n\t\treturn false;\n#else\n\tif(\tWriteMemW(Address,RT_PVOID(Buffer,2))==false ||\n\t\tWriteMemW(Address+2,Buffer)==false)\n\t\treturn false;\n#endif\n\treturn true;\n}\n\nbool CPageMemory::NewPage(MEMORY_PAGE*pPage)\n{\n\tif(m_Style & PMS_DYN_PAGE)\n\t{\n\t\tpPage->PhysAddr = new BYTE[MP_SIZE];\n\t\tZeroMemory(pPage->PhysAddr,MP_SIZE);\n\t}\n\telse\n\t{\n\t\tCODE_ASSERT(m_FreePhysIndex>=0);\n\t\tif(m_FreePhysIndex>=m_PageCount)\n\t\t\treturn false;\n\t\tpPage->PhysAddr = RT_PBYTE(m_PhysMemory,m_FreePhysIndex*MP_SIZE);\n\t\tm_PageExistMap[m_FreePhysIndex] = PHYS_PAGE_EXIST;\n\t\twhile(m_FreePhysIndex<m_PageCount)\n\t\t{\n\t\t\tif(m_PageExistMap[m_FreePhysIndex]==PHYS_PAGE_NULL)\n\t\t\t\tbreak;\n\t\t\tm_FreePhysIndex++;\n\t\t}\n\t}\n\tpPage->Attribute &= ~MP_COMMIT;\n\tm_PageUsedCount++;\n\treturn true;\n}\n\nbool CPageMemory::DeletePage(MEMORY_PAGE*pPage)\n{\n\tint PhysIndex;\n\tif((pPage->Attribute&MP_COMMIT)==0 && pPage->PhysAddr)\n\t{\n\t\tif(m_Style & PMS_DYN_PAGE)\n\t\t{\n\t\t\tdelete pPage->PhysAddr;\n\t\t\tpPage->PhysAddr = NULL;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tCODE_ASSERT(pPage->PhysAddr>=m_PhysMemory);\n\t\t\tPhysIndex = (int)((pPage->PhysAddr-m_PhysMemory) / MP_SIZE);\n\t\t\tm_PageExistMap[PhysIndex] = PHYS_PAGE_NULL;\n\t\t\tpPage->PhysAddr = NULL;\n\t\t\tif(PhysIndex<m_FreePhysIndex)\n\t\t\t\tm_FreePhysIndex=PhysIndex;\n\t\t}\n\t\tm_PageUsedCount--;\n\t}\n\tRefreshCache(pPage);\n\treturn true;\n}\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/PageMem.h",
    "content": "#ifndef _PAGE_MEMORY_H_\n#define _PAGE_MEMORY_H_\n\n#include \"ImageFile.h\"\n\nNAME_SPACE_BEGIN\n\n#define\tPMS_NO_PAGE_OUT\t\t0x00000000\n#define\tPMS_PAGE_OUT\t\t0x00000001\n#define PMS_DYN_PAGE\t\t0x00000002\n\nstruct MEMORY_PAGE\n{\n\tBYTE*\tPhysAddr;\n\tDWORD\tAttribute;\n\tDWORD\tAccessReadCount;\t\t//ʼ\n\tDWORD\tAccessWriteCount;\t\t//дʼ\n\tDWORD\tAccessExecuteCount;\t\t//ִзʼ\n\tDWORD\tAccessLoaderWriteCount; //װдʼ\n\tDWORD\tPageData;\n};\n\n#define\t\tPAGE_DIR_CONTENT\t0x400\n#define\t\tPAGE_DIR_COUNT\t\t0x400\n#define\t\tPHYS_PAGE_EXIST\t\t1\n#define\t\tPHYS_PAGE_NULL\t\t0\n\nstruct MEMORY_PAGE_CACHE\n{\n\tMEMORY_PAGE*MemoryPage;\n\tDWORD\t\tBaseAddr;\n\tDWORD\t\tAccessCount;\n\tbool\t\tbExist;\n};\n\ntypedef TRangeMap<ULPOS,CPageImage*>\t\t\tCImgRangeMap;\n////////////////////////////////////32ַλֲ/////////////////////////////////////////////\n//[     ҳĿ¼(10BIT)     ] [        ҳ(10BIT)      ] [       ַҳƫ(12BIT)     ]\n//1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 12 11 10 0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00\n/////////////////////////////////////////////////////////////////////////////////////////////////\n\nclass CPageMemory\n{\npublic:\n\tCPageMemory();\n\tvirtual ~CPageMemory();\n\tMEMORY_PAGE_CACHE m_PageDataCache1;\t\t\t//ݶд1\n\tMEMORY_PAGE_CACHE m_PageDataCache2;\t\t\t//ݶд2\n\tint\t\t\tm_PageUsedCount;\t\t\t\t//ҳ\n\tint\t\t\tm_PageCount;\t\t\t\t\t//ҳ\n\tBYTE*\t\tm_PhysMemory;\t\t\t\t\t//ڴ\n\tBYTE*\t\tm_PageExistMap;\t\t\t\t\t//ҳĿ¼\n\tMEMORY_PAGE*m_PageDir[PAGE_DIR_COUNT];\t\t//ҳĿ¼\n\tint\t\t\tm_WriteAccessPageCount;\t\t\t//дڴҳ\n\tint\t\t\tm_FreePhysIndex;\n\tUINT\t\tm_Style;\n\tCImgRangeMap\tm_ImageRangeMap;\npublic:\n\tvirtual\tbool\tInit(int PageCount,UINT Style);\n\tvirtual\tvoid\tRelease();\n\tvirtual\tvoid\tRefreshCache(MEMORY_PAGE*pPage);\n\tvirtual\tbool\tLoadPage(ULPOS Address,MEMORY_PAGE*pPage);\t\t//ַҳСı\n\tvirtual\tbool\tSavePage(ULPOS Address,MEMORY_PAGE*pPage);\n\tvirtual\tbool\tExchangePage();\n\tvirtual\tint\t\tFlushAllPage();\n\tvirtual\tbool\tMapImage(CPageImage*pImageFile);\n\tvirtual\tbool\tUnmapImage(CPageImage*pImageFile);\n\tMEMORY_PAGE*GetDataPage(ULPOS Address,bool bWrite = false);\t\t//ݵַõҳ\n\tCPageImage*\tGetImage(PCSTR ModuleName);\n\tCPageImage*\tGetImage(ULPOS ModuleBase);\n\tbool\t\tAllocatePage(ULPOS Address,UINT Attribute=MP_READ|MP_WRITE,void*Buffer=NULL,ULSIZE Size=MP_SIZE);\n\tbool\t\tAllocatePage(ULPOS Address,UINT Attribute,BYTE PageData);\n\tbool\t\tReleasePage(ULPOS Address);\n\tDWORD\t\tReleaseClearPage();\n\tbool\t\tIsPageExist(ULPOS Address);\n\tbool\t\tIsPageDirExist(ULPOS Address);\npublic:\n\tstatic ULSIZE  ReadMemory(ULPOS Address,void* Buffer,ULSIZE Size,CPageMemory*pPageMemory);\n\tstatic ULSIZE  WriteMemory(ULPOS Address,void* Buffer,ULSIZE Size,CPageMemory*pPageMemory);\n\tULSIZE\t\tReadString(ULPOS Address,PSTR Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tReadString(ULPOS Address,PWORD Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tReadString(ULPOS Address,PDSTR Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tWriteString(ULPOS Address,PSTR Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tWriteString(ULPOS Address,PWORD Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tWriteString(ULPOS Address,PDSTR Buffer,ULSIZE MaxLen);\n\tULSIZE\t\tReadMemX(ULPOS Address,void* Buffer,ULSIZE Size);\n\tULSIZE\t\tWriteMemX(ULPOS Address,void* Buffer,ULSIZE Size);\n\tULSIZE\t\tZeroMemX(ULPOS Address,ULSIZE Size);\n\tbool\t\tReadMemB(ULPOS Address,void* Buffer);\n\tbool\t\tReadMemW(ULPOS Address,void* Buffer);\n\tbool\t\tReadMemD(ULPOS Address,void* Buffer);\n\tbool\t\tWriteMemB(ULPOS Address,void* Buffer);\n\tbool\t\tWriteMemW(ULPOS Address,void* Buffer);\n\tbool\t\tWriteMemD(ULPOS Address,void* Buffer);\nprotected:\n\tbool\t\tNewPage(MEMORY_PAGE*pPage);\n\tbool\t\tDeletePage(MEMORY_PAGE*pPage);\n};\n\nNAME_SPACE_END\n\n#endif \n\n"
  },
  {
    "path": "Project/Code/Source/PolyFS.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PolyFS.h\"\n\nNAME_SPACE_BEGIN\n\nCPolyFS::CPolyFS()\n{\n\tm_pFileIO = gpFileIO;\n\tm_ZeroBuffer=NULL;\n\tm_MaxCachePageCount = 0x100;\n}\n\nCPolyFS::~CPolyFS()\n{\n\tCloseDisk();\n}\n\nvoid CPolyFS::ChangeFileIO(CFileIO*pFileIO)\n{\n\tm_pFileIO = pFileIO;\n}\n\nbool CPolyFS::Format(PCSTR DiskFileName,ULONG Size,DWORD ClusSize)\n{\n\tDWORD Data;\n\tif(Size==0)\n\t\treturn false;\n\tif(ClusSize==0)\n\t\tClusSize=0x1000;\n\tm_DiskImage.ChangeFileIO(m_pFileIO);\n\tif(m_DiskImage.Create(DiskFileName)==false)\n\t\treturn false;\n\tm_ClusSize = ALIGN_SIZE(ClusSize,0x100);\n\tPFS_HEAD PFSHead;\n\tSTZeroMemory(PFSHead);\n\tTStrCpy((char*)PFSHead.Sign,\"PFS\");\n\tm_ClusCount = PFSHead.ClusCount = ALIGN_SIZE(Size/m_ClusSize,m_ClusSize/4);\n\tSize = m_ClusCount*m_ClusSize;\n\n\tPFSHead.ClusSize = m_ClusSize;\n\tTStrCpy(PFSHead.FatEntry.FileName,\"*FAT*\");\n\tPFSHead.FatEntry.Attribute=PFS_FILE_SYSTEM;\n\tPFSHead.FatEntry.BeginClus=1;\n\tPFSHead.FatEntry.FileSize=PFSHead.ClusCount*4;\n\tPFSHead.FatEntry.NameCode=TGetNameCode(PFSHead.FatEntry.FileName);\n\tm_DiskImage.m_FileSize = m_ClusSize*m_ClusCount;\n\tm_Style = PFS_NORMAL;\n\tInitParam();\n\tm_FatOff = PFSHead.FatEntry.BeginClus*m_ClusSize;\n\tif(WriteDiskFile(0,&PFSHead,sizeof(PFS_HEAD))==false)\n\t{\n\t\tCloseDisk();\n\t\treturn false;\n\t}\n\tDWORD nClusOfFat=PFSHead.FatEntry.FileSize/m_ClusSize;\n\tfor(DWORD n=0;n<nClusOfFat;n++)\n\t{\n\t\tif(WriteDiskFile(m_FatOff+n*m_ClusSize,m_ZeroBuffer,m_ClusSize)==false)\n\t\t{\n\t\t\tCloseDisk();\n\t\t\treturn false;\n\t\t}\n\t}\n\t///////////////////////////////////////////////////////\n\t//Head\n\t///////////////////////////////////////////////////////\n\tData = PFS_END_CLUS;\n\tif(WriteFatCell(0,&Data)==false)\n\t{\n\t\tCloseDisk();\n\t\treturn false;\n\t}\n\t///////////////////////////////////////////////////////\n\t//Fat\n\t///////////////////////////////////////////////////////\n\tfor(DWORD n=1;n<nClusOfFat;n++)\n\t{\n\t\tData=n+PFSHead.FatEntry.BeginClus;\n\t\tif(WriteFatCell(n,&Data)==false)\n\t\t{\n\t\t\tCloseDisk();\n\t\t\treturn false;\n\t\t}\n\t}\n\tData = PFS_END_CLUS;\n\tif(WriteFatCell(nClusOfFat,&Data)==false)\n\t{\n\t\tCloseDisk();\n\t\treturn false;\n\t}\n\n\t///////////////////////////////////////////////////////\n\t//Root\n\t///////////////////////////////////////////////////////\n\tPFS_FILE_ENTRY FileEntry;\n\tSTZeroMemory(FileEntry);\n\tFileEntry.BeginClus = 0;\n\tFileEntry.FileSize = m_ClusSize;\n\tCreateFile(\"*ROOT*\",PFS_FILE_SYSTEM | PFS_FILE_DIR,m_ClusSize,&FileEntry,ST_FIELD_OFF(PFS_HEAD,RootEntry));\n\tReadDiskFile(ST_FIELD_OFF(PFS_HEAD,RootEntry),&m_RootEntry,sizeof(m_RootEntry));\n\tCloseDisk();\n\treturn true;\n}\n\nbool CPolyFS::ReadDiskFile(DWORD Pos,void*Buffer,DWORD Size)\n{\n\treturn m_PageMemory.ReadMemX(Pos,Buffer,Size)==Size;\n}\n\nbool CPolyFS::WriteDiskFile(DWORD Pos,void*Buffer,DWORD Size)\n{\n\treturn m_PageMemory.WriteMemX(Pos,Buffer,Size)==Size;\n}\n\nbool CPolyFS::ReadFatCell(DWORD Index,void*Buffer)\n{\n\treturn ReadDiskFile(m_FatOff+Index*4,Buffer,4);\n}\n\nbool CPolyFS::WriteFatCell(DWORD Index,void*Buffer)\n{\n\treturn WriteDiskFile(m_FatOff+Index*4,Buffer,4);\n}\n\nbool CPolyFS::ReadClus(DWORD Index,void*Buffer)\n{\n\tif(Index>=m_ClusCount)\n\t\treturn false;\n\treturn ReadDiskFile(Index*m_ClusSize,Buffer,m_ClusSize);\n}\n\nbool CPolyFS::WriteClus(DWORD Index,void*Buffer)\n{\n\tif(Index>=m_ClusCount)\n\t\treturn false;\n\treturn WriteDiskFile(Index*m_ClusSize,Buffer,m_ClusSize);\n}\n\nDWORD CPolyFS::FileOffToDP(DWORD ClusIndex,DWORD Offset)\n{\n\twhile(Offset>=m_ClusSize)\n\t{\n\t\tif(ReadFatCell(ClusIndex,&ClusIndex)==false)\n\t\t\treturn 0;\n\t\tif(ClusIndex==PFS_END_CLUS)\n\t\t\treturn 0;\n\t\tOffset-=m_ClusSize;\n\t}\n\treturn ClusIndex*m_ClusSize+Offset;\n}\n\nDWORD CPolyFS::FileOffToClus(DWORD ClusIndex,DWORD Offset)\n{\n\twhile(Offset>=m_ClusSize)\n\t{\n\t\tif(ReadFatCell(ClusIndex,&ClusIndex)==false)\n\t\t\treturn PFS_END_CLUS;\n\t\tif(ClusIndex==PFS_END_CLUS)\n\t\t\treturn PFS_END_CLUS;\n\t\tOffset-=m_ClusSize;\n\t}\n\treturn ClusIndex;\n}\n\nDWORD CPolyFS::ReadFile(PFS_FILE_DATA*pHandleData,DWORD Offset,void*Buffer,DWORD Size)\n{\n\tDWORD CompressSize,RealFileLength;\n\tBYTE*CompressBuffer;\n\tif((pHandleData->ThisFileEntry.Attribute&PFS_FILE_COMPRESS)==0)\n\t\treturn ReadFile(&pHandleData->ThisFileEntry,Offset,Buffer,Size);\n\tif(ReadFile(&pHandleData->ThisFileEntry,0,&RealFileLength,4)!=4)\n\t\treturn 0;\n\tif(Offset!=0 || Size!=RealFileLength)\n\t\treturn 0;\n\tCompressSize = pHandleData->ThisFileEntry.FileSize;\n\tCompressBuffer = new BYTE[CompressSize];\n\tif(CompressBuffer==NULL)\n\t\treturn 0;\n\tif(ReadFile(&pHandleData->ThisFileEntry,0,CompressBuffer,CompressSize)!=CompressSize)\n\t{\n\t\tdelete CompressBuffer;\n\t\treturn 0;\n\t}\n\tDecompress(CompressBuffer,CompressSize,Buffer);\n\tdelete CompressBuffer;\n\treturn Size;\n}\n\nDWORD CPolyFS::WriteFile(PFS_FILE_DATA*pHandleData,DWORD Offset,const void*Buffer,DWORD Size)\n{\n\tif(Offset+Size>pHandleData->ThisFileEntry.FileSize)\n\t{\n\t\tif(SetFileLength(pHandleData,Offset+Size)==false)\n\t\t\treturn false;\n\t}\n\treturn WriteFile(&pHandleData->ThisFileEntry,Offset,Buffer,Size);\n}\n\nDWORD CPolyFS::ReadFile(PFS_FILE_ENTRY*pFileEntry,DWORD Offset,void*Buffer,DWORD Size)\n{\n\tDWORD FileDP,nBytes,PageSize,Mod,ClusIndex;\n\tif(Offset>=pFileEntry->FileSize || Size==0)\n\t\treturn 0;\n\tnBytes=0;\n\tMod = Offset%m_ClusSize;\n\tif(Mod)\n\t{\n\t\tFileDP=FileOffToDP(pFileEntry->BeginClus,Offset);\n\t\tif(FileDP==0)\n\t\t\treturn 0;\n\t\tPageSize=MIN(m_ClusSize-Mod,Size);\n\t\tif(ReadDiskFile(FileDP,RT_PVOID(Buffer,nBytes),PageSize)==false)\n\t\t\treturn 0;\n\t\tnBytes+=PageSize;\n\t}\n\tClusIndex=FileOffToClus(pFileEntry->BeginClus,Offset+nBytes);\n\tfor(DWORD n=(Size-nBytes)/m_ClusSize;n>0 && Offset+nBytes<pFileEntry->FileSize;n--)\n\t{\n\t\tif(ClusIndex==PFS_END_CLUS || ReadClus(ClusIndex,RT_PVOID(Buffer,nBytes))==false)\n\t\t\treturn false;\n\t\tnBytes+=m_ClusSize;\n\t\tClusIndex = FileOffToClus(ClusIndex,m_ClusSize);\n\t}\n\tif(Size-nBytes && Offset+nBytes<pFileEntry->FileSize)\n\t{\n\t\tFileDP=FileOffToDP(ClusIndex,(Offset+nBytes)%m_ClusSize);\n\t\tif(FileDP==0)\n\t\t\treturn nBytes;\n\t\tPageSize = Size-nBytes;\n\t\tif(ReadDiskFile(FileDP,RT_PVOID(Buffer,nBytes),PageSize)==false)\n\t\t\treturn nBytes;\n\t\tnBytes+=PageSize;\n\t}\n\treturn nBytes;\n}\n\nDWORD CPolyFS::WriteFile(PFS_FILE_ENTRY*pFileEntry,DWORD Offset,const void*Buffer,DWORD Size)\n{\n\tDWORD FileDP,nBytes,PageSize,Mod,ClusIndex;\n\tif(Offset>=pFileEntry->FileSize || Size==0)\n\t\treturn 0;\n\tnBytes=0;\n\tMod = Offset%m_ClusSize;\n\tif(Mod)\n\t{\n\t\tFileDP=FileOffToDP(pFileEntry->BeginClus,Offset);\n\t\tif(FileDP==0)\n\t\t\treturn 0;\n\t\tPageSize=MIN(m_ClusSize-Mod,Size);\n\t\tif(WriteDiskFile(FileDP,RT_PVOID(Buffer,nBytes),PageSize)==false)\n\t\t\treturn 0;\n\t\tnBytes+=PageSize;\n\t}\n\tClusIndex=FileOffToClus(pFileEntry->BeginClus,Offset+nBytes);\n\tfor(DWORD n=(Size-nBytes)/m_ClusSize;n>0 && Offset+nBytes<pFileEntry->FileSize;n--)\n\t{\n\t\tif(ClusIndex==PFS_END_CLUS || WriteClus(ClusIndex,RT_PVOID(Buffer,nBytes))==false)\n\t\t\treturn false;\n\t\tnBytes+=m_ClusSize;\n\t\tClusIndex = FileOffToClus(ClusIndex,m_ClusSize);\n\t}\n\tif(Size-nBytes && Offset+nBytes<pFileEntry->FileSize)\n\t{\n\t\tFileDP=FileOffToDP(ClusIndex,(Offset+nBytes)%m_ClusSize);\n\t\tif(FileDP==0)\n\t\t\treturn nBytes;\n\t\tPageSize = Size-nBytes;\n\t\tif(WriteDiskFile(FileDP,RT_PVOID(Buffer,nBytes),PageSize)==false)\n\t\t\treturn nBytes;\n\t\tnBytes+=PageSize;\n\t}\n\treturn nBytes;\n}\n\nDWORD CPolyFS::FindFreeFileEntryFP(PFS_FILE_ENTRY*pParentEntry)\n{\n\tPFS_FILE_ENTRY FileEntry;\n\tDWORD Off;\n\tOff=0;\n\twhile(Off<pParentEntry->FileSize)\n\t{\n\t\tif(ReadFile(pParentEntry,Off,&FileEntry,sizeof(FileEntry))!=sizeof(FileEntry))\n\t\t\treturn PFS_ERROR_FP;\n\t\tif(FileEntry.NameCode==0 || FileEntry.NameCode==PFS_ERROR_NAME_CODE)\n\t\t\treturn Off;\n\t\tOff+=sizeof(FileEntry);\n\t}\n\treturn PFS_ERROR_FP;\n}\n\nbool CPolyFS::CreateFile(PCSTR FileName,DWORD Attr,DWORD Size,PFS_FILE_ENTRY*pParentDirEntry,DWORD ParenFileEntryFP)\n{\n\tDWORD BeginClus,NextClus,PrevClus,nClus,Off;\n\tnClus=PAGE_COUNT(Size,m_ClusSize);\n\tif(nClus==0)\n\t{\n\t\tBeginClus=PFS_END_CLUS;\n\t}\n\telse\n\t{\n\t\tBeginClus=NextClus=FindNextFreeClus(0);\n\t\tfor(DWORD n=0;n<nClus-1;n++)\n\t\t{\n\t\t\tPrevClus = NextClus;\n\t\t\tNextClus=FindNextFreeClus(NextClus+1);\n\t\t\tif(NextClus==PFS_END_CLUS)\n\t\t\t\treturn false;\n\t\t\tif(WriteFatCell(PrevClus,&NextClus)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\tPrevClus=NextClus;\n\t\tNextClus=PFS_END_CLUS;\n\t\tif(WriteFatCell(PrevClus,&NextClus)==false)\n\t\t\treturn false;\n\t}\n\tPFS_FILE_ENTRY FileEntry;\n\tSTZeroMemory(FileEntry);\n\tFileEntry.Attribute = Attr;\n\tFileEntry.FileSize = Size;\n\tFileEntry.BeginClus = BeginClus;\n\tTStrCpyLimit(FileEntry.FileName,FileName,sizeof(FileEntry.FileName));\n\tFileEntry.NameCode = TGetNameCode(FileEntry.FileName);\n\tif(CPolyFS::WriteFile(pParentDirEntry,ParenFileEntryFP,&FileEntry,sizeof(FileEntry))!=sizeof(FileEntry))\n\t\treturn false;\n\tif(Size==0)\n\t\treturn true;\n\tOff=0;\n\twhile(Off<Size)\n\t{\n\t\tif(WriteFile(&FileEntry,Off,m_ZeroBuffer,m_ClusSize)==false)\n\t\t\tbreak;\n\t\tOff+=m_ClusSize;\n\t}\n\treturn true;\n}\n\nbool CPolyFS::CreateFile(PCSTR FullFileName,DWORD Attr,DWORD Size,PFS_FILE_DATA*pHandleData)\n{\n\tDWORD\tFreeFileEntryFP;\n\tPFS_FIND_DATA FindData;\n\tchar PathName[256],FileName[256];\n\tif(*FullFileName!='\\\\')\n\t{\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(FullFileName[1]==0)\n\t\t\treturn false;\n\t}\n\tif(FindFirstFile(FullFileName,&FindData))\n\t{\n\t\tFreeFileEntryFP = FindData.FileEntryFP;\n\t\tif(SetFileLength(FullFileName,Size)==false)\n\t\t\treturn false;\n\t\tpHandleData->FilePoint=0;\n\t\tpHandleData->ParentEntry = FindData.ParentEntry;\n\t\tpHandleData->FileEntryFP = FreeFileEntryFP;\n\t\treturn CPolyFS::ReadFile(&pHandleData->ParentEntry,FreeFileEntryFP,&pHandleData->ThisFileEntry,sizeof(pHandleData->ThisFileEntry))==sizeof(pHandleData->ThisFileEntry);\n\t}\n\telse\n\t{\n\t\tTStrCpy(FileName,TGetFileName(FullFileName));\n\t\tTGetFilePath(FullFileName,PathName);\n\t\tif(*PathName==0)\n\t\t\tTStrCpy(PathName,\"\\\\\");\n\t\tif(FindFirstFile(PathName,&FindData)==false)\n\t\t\treturn false;\n\t\tFreeFileEntryFP=FindFreeFileEntryFP(&FindData.ThisFileEntry);\n\t\tif(FreeFileEntryFP==PFS_ERROR_FP)\n\t\t{\n\t\t\tif(SetFileLength(PathName,FindData.ThisFileEntry.FileSize+m_ClusSize)==false)\n\t\t\t\treturn false;\n\t\t\tFindData.ThisFileEntry.FileSize+=m_ClusSize;\n\t\t\tif(*PathName=='\\\\' && PathName[1]==0)\n\t\t\t\tm_RootEntry = FindData.ThisFileEntry;\n\t\t\tFreeFileEntryFP=FindFreeFileEntryFP(&FindData.ThisFileEntry);\n\t\t\tif(FreeFileEntryFP==PFS_ERROR_FP)\n\t\t\t\treturn false;\n\t\t}\n\t\tpHandleData->FilePoint=0;\n\t\tif(CreateFile(FileName,Attr,Size,&FindData.ThisFileEntry,FreeFileEntryFP)==false)\n\t\t\treturn false;\n\t\tpHandleData->ParentEntry = FindData.ThisFileEntry;\n\t\tpHandleData->FileEntryFP = FreeFileEntryFP;\n\t\treturn CPolyFS::ReadFile(&pHandleData->ParentEntry,FreeFileEntryFP,&pHandleData->ThisFileEntry,sizeof(pHandleData->ThisFileEntry))==sizeof(pHandleData->ThisFileEntry);\n\t}\n}\n\nbool CPolyFS::OpenFile(PCSTR FullFileName,PFS_FILE_DATA*pHandleData)\n{\n\tPFS_FIND_DATA FindData;\n\tif(FindFirstFile(FullFileName,&FindData)==false)\n\t\treturn false;\n\tpHandleData->FilePoint=0;\n\tpHandleData->ThisFileEntry = FindData.ThisFileEntry;\n\tpHandleData->ParentEntry = FindData.ParentEntry;\n\tpHandleData->FileEntryFP = FindData.FileEntryFP;\n\treturn true;\n}\n\nDWORD CPolyFS::FindNextFreeClus(DWORD ClusIdx)\n{\n\tDWORD Data;\n\tfor(DWORD Index=ClusIdx;Index<m_ClusCount;Index++)\n\t{\n\t\tif(ReadFatCell(Index,&Data)==false)\n\t\t\treturn PFS_END_CLUS;\n\t\tif(Data==0)\n\t\t\treturn Index;\n\t}\n\treturn PFS_END_CLUS;\n}\n\nbool CPolyFS::SetFileLength(PCSTR FullFileName,DWORD Length)\n{\n\tPFS_FILE_DATA FileData;\n\tif(OpenFile(FullFileName,&FileData)==false)\n\t\treturn false;\n\treturn SetFileLength(&FileData,Length);\n}\n\nbool CPolyFS::SetFileLength(PFS_FILE_DATA*pHandleData,DWORD Length)\n{\n\tDWORD nNewClus,nOldClus,Data,ClusIdx,PrevIdx,PrevFatDP;\n\tnNewClus=PAGE_COUNT(Length,m_ClusSize);\n\tnOldClus=PAGE_COUNT(pHandleData->ThisFileEntry.FileSize,m_ClusSize);\n\tif(nNewClus>nOldClus)\n\t{\n\t\tif(nOldClus)\n\t\t{\n\t\t\tClusIdx=FileOffToClus(pHandleData->ThisFileEntry.BeginClus,(nOldClus-1)*m_ClusSize);\n\t\t\tif(ClusIdx==PFS_END_CLUS)\n\t\t\t\treturn false;\n\t\t}\n\t\tfor(DWORD n=nOldClus;n<nNewClus;n++)\n\t\t{\n\t\t\tif(n==0)\n\t\t\t{\n\t\t\t\tPrevFatDP = FileOffToDP(pHandleData->ParentEntry.BeginClus,pHandleData->FileEntryFP)+ST_FIELD_OFF(PFS_FILE_ENTRY,BeginClus);\n\t\t\t\tif(PrevFatDP==0)\n\t\t\t\t\treturn false;\n\t\t\t\tClusIdx=FindNextFreeClus(1);\n\t\t\t\tpHandleData->ThisFileEntry.BeginClus = ClusIdx;\n\t\t\t\tif(WriteDiskFile(PrevFatDP,&ClusIdx,4)==false)\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tPrevIdx = ClusIdx;\n\t\t\t\tClusIdx=FindNextFreeClus(ClusIdx+1);\n\t\t\t\tif(ClusIdx==PFS_END_CLUS)\n\t\t\t\t\treturn false;\n\t\t\t\tif(WriteFatCell(PrevIdx,&ClusIdx)==false)\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tData=PFS_END_CLUS;\n\t\tif(WriteFatCell(ClusIdx,&Data)==false)\n\t\t\treturn false;\n\n\t\tDWORD Off,WTSize;\n\t\tOff = pHandleData->ThisFileEntry.FileSize;\n\t\tpHandleData->ThisFileEntry.FileSize = Length;\n\t\twhile(Off < pHandleData->ThisFileEntry.FileSize)\n\t\t{\n\t\t\tWTSize = MIN(m_ClusSize,pHandleData->ThisFileEntry.FileSize - Off);\n\t\t\tWriteFile(&pHandleData->ThisFileEntry,Off,m_ZeroBuffer,WTSize);\n\t\t\tOff+=WTSize;\n\t\t}\n\t}\n\telse if(nNewClus<nOldClus)\n\t{\n\t\tClusIdx=FileOffToClus(pHandleData->ThisFileEntry.BeginClus,nNewClus*m_ClusSize);\n\t\tif(DeleteFileClus(ClusIdx)==false)\n\t\t\treturn false;\n\t\tData=PFS_END_CLUS;\n\t\tif(WriteFatCell(ClusIdx,&Data)==false)\n\t\t\treturn false;\n\t\tpHandleData->ThisFileEntry.FileSize=Length;\n\t}\n\telse\n\t{\n\t\tpHandleData->ThisFileEntry.FileSize = Length;\n\t}\n\treturn WriteFile(&pHandleData->ParentEntry,pHandleData->FileEntryFP+ST_FIELD_OFF(PFS_FILE_ENTRY,FileSize),&Length,4)==4;\n}\n\nDWORD CPolyFS::GetFileLength(PCSTR FullFileName)\n{\n\tDWORD RealFileLength;\n\tPFS_FIND_DATA FindData;\n\tif(FindFirstFile(FullFileName,&FindData)==false)\n\t\treturn false;\n\tif(FindData.ThisFileEntry.Attribute&PFS_FILE_COMPRESS)\n\t{\n\t\tif(ReadFile(&FindData.ThisFileEntry,0,&RealFileLength,4)!=4)\n\t\t\treturn 0;\n\t\treturn RealFileLength;\n\t}\n\treturn FindData.ThisFileEntry.FileSize;\n}\n\n\nbool CPolyFS::DeleteFile(PCSTR FullFileName)\n{\n\tPFS_FIND_DATA FindData;\n\tif(*FullFileName!='\\\\' || FullFileName[1]==0)\n\t\treturn false;\n\tif(FindFirstFile(FullFileName,&FindData)==false)\n\t\treturn false;\n\tif(DeleteFileClus(FindData.ThisFileEntry.BeginClus)==false)\n\t\treturn false;\n\tPFS_FILE_ENTRY FileEntry;\n\tSTZeroMemory(FileEntry);\n\tFileEntry.NameCode = PFS_ERROR_NAME_CODE;\n\treturn WriteFile(&FindData.ParentEntry,FindData.FileEntryFP,&FileEntry,sizeof(FileEntry))==sizeof(FileEntry);\n}\n\nbool CPolyFS::DeleteFileClus(DWORD BeginClus)\n{\n\tDWORD Data,nThisClus,nNextClus = BeginClus;\n\tData=0;\n\twhile(nNextClus!=PFS_END_CLUS)\n\t{\n\t\tnThisClus = nNextClus;\n\t\tif(ReadFatCell(nThisClus,&nNextClus)==false)\n\t\t\treturn false;\n\t\tif(WriteFatCell(nThisClus,&Data)==false)\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CPolyFS::FindFirstFile(PCSTR FullFileName,PFS_FIND_DATA*pFindData)\n{\n\tPFS_FIND_DATA FindData;\n\tint Length;\n\tif(*FullFileName=='\\\\')\n\t{\n\t\tPCSTR pStr;\n\t\tchar FileName[256];\n\t\tSTZeroMemory(FindData);\n\t\tFindData.ThisFileEntry=m_RootEntry;\n\t\tFindData.ParentEntry.BeginClus = 0;\n\t\tFindData.ParentEntry.FileSize = sizeof(PFS_HEAD);\n\t\tFindData.ParentEntry.Attribute = m_RootEntry.Attribute;\n\t\tFindData.FileEntryFP = ST_FIELD_OFF(PFS_HEAD,RootEntry);\n\n\t\tpStr=FullFileName;\n\t\twhile(*pStr)\n\t\t{\n\t\t\tLength=0;\n\t\t\twhile(*pStr && *pStr!='\\\\')\n\t\t\t{\n\t\t\t\tFileName[Length]=*pStr;\n\t\t\t\tLength++;\n\t\t\t\tpStr++;\n\t\t\t}\n\t\t\tFileName[Length]=0;\n\t\t\tif(Length)\n\t\t\t{\n\t\t\t\tFindData.ParentEntry=FindData.ThisFileEntry;\n\t\t\t\tif(FindFirstFile(FileName,&FindData)==false)\n\t\t\t\t\treturn false;\t\t\t\n\t\t\t}\n\t\t\twhile(*pStr=='\\\\')\n\t\t\t\t*pStr++;\n\t\t}\n\t\t*pFindData = FindData;\n\t\treturn true;\n\t}\n\tDWORD Off=0;\n\twhile(Off<pFindData->ParentEntry.FileSize)\n\t{\n\t\tif(ReadFile(&pFindData->ParentEntry,Off,&pFindData->ThisFileEntry,sizeof(PFS_FILE_ENTRY))!=sizeof(PFS_FILE_ENTRY))\n\t\t\treturn false;\n\t\tif(CmpFileName(FullFileName,&pFindData->ThisFileEntry))\n\t\t{\n\t\t\tTStrCpyLimit(pFindData->FileName,pFindData->ThisFileEntry.FileName,sizeof(pFindData->FileName));\n\t\t\tpFindData->FileEntryFP = Off;\n\t\t\tTStrCpyLimit(pFindData->PattenName,FullFileName,sizeof(pFindData->PattenName));\n\t\t\treturn true;\n\t\t}\n\t\tOff+=sizeof(PFS_FILE_ENTRY);\n\t}\n\treturn false;\n}\n\nbool CPolyFS::FindNextFile(PFS_FIND_DATA*pFindData)\n{\n\tDWORD Off;\n\tOff=pFindData->FileEntryFP+sizeof(PFS_FILE_ENTRY);\n\twhile(Off<pFindData->ParentEntry.FileSize)\n\t{\n\t\tif(ReadFile(&pFindData->ParentEntry,Off,&pFindData->ThisFileEntry,sizeof(PFS_FILE_ENTRY))!=sizeof(PFS_FILE_ENTRY))\n\t\t\treturn false;\n\t\tif(pFindData->ThisFileEntry.NameCode==0)\n\t\t\treturn false;\n\t\tif(CmpFileName(pFindData->PattenName,&pFindData->ThisFileEntry))\n\t\t{\n\t\t\tTStrCpyLimit(pFindData->FileName,pFindData->ThisFileEntry.FileName,sizeof(pFindData->FileName));\n\t\t\tpFindData->FileEntryFP = Off;\n\t\t\treturn true;\n\t\t}\n\t\tOff+=sizeof(PFS_FILE_ENTRY);\n\t}\n\treturn false;\n}\n\nbool CPolyFS::CmpFileName(PCSTR FilePattenName,PFS_FILE_ENTRY*pFileEntry)\n{\n\tif(*pFileEntry->FileName==0)\n\t\treturn false;\n\tif(FilePattenName[0]=='*' && FilePattenName[1]=='0')\n\t\treturn true;\n\tif(TStrChr(FilePattenName,'*') || TStrChr(FilePattenName,'?'))\n\t\treturn \tTIMultiMatchWithPattern(FilePattenName,pFileEntry->FileName);\n\tif(TStrICmp(FilePattenName,pFileEntry->FileName)==0)\n\t\treturn true;\n\treturn false;\n}\n\nbool CPolyFS::SetFileAttribute(PCSTR FullFileName,DWORD Attr)\n{\n\tPFS_FIND_DATA FindData;\n\tif(FindFirstFile(FullFileName,&FindData)==false)\n\t\treturn false;\n\treturn WriteFile(&FindData.ParentEntry,FindData.FileEntryFP+ST_FIELD_OFF(PFS_FILE_ENTRY,Attribute),&Attr,4)==4;\n}\n\nDWORD CPolyFS::GetFileAttribute(PCSTR FullFileName)\n{\n\tPFS_FIND_DATA FindData;\n\tif(FindFirstFile(FullFileName,&FindData)==false)\n\t\treturn false;\n\treturn FindData.ThisFileEntry.Attribute;\n}\n\nvoid CPolyFS::InitParam()\n{\n\tUINT MemMode;\n\tint PageCount;\n\tif(m_Style & PFS_FULL_DISK_CACHE)\n\t\tPageCount = (int)PAGE_COUNT(m_DiskImage.m_FileSize,MP_SIZE);\n\telse\n\t\tPageCount = (int)MIN(PAGE_COUNT(m_DiskImage.m_FileSize,MP_SIZE),m_MaxCachePageCount);\n\n\tif(m_Style & PFS_WRITE_COPY)\n\t\tMemMode = PMS_NO_PAGE_OUT;\n\telse\n\t\tMemMode = PMS_PAGE_OUT;\n\n\tm_PageMemory.Init(PageCount,MemMode);\n\tm_DiskImage.m_ImageBase = 0;\n\tm_DiskImage.m_ImageSize = m_ClusSize*m_ClusCount;\n\tm_DiskImage.m_ImageHighBase = m_DiskImage.m_ImageBase + m_DiskImage.m_ImageSize;\n\tm_PageMemory.MapImage(&m_DiskImage);\n\tm_ZeroBuffer = new BYTE[m_ClusSize];\n\tif(m_Style & PFS_FULL_DISK_CACHE)\n\t{\n\t\tfor(DWORD Address=(DWORD)m_DiskImage.m_ImageBase;Address<(DWORD)PageCount*MP_SIZE;Address+=m_ClusSize)\n\t\t{\n\t\t\tReadDiskFile(Address,m_ZeroBuffer,m_ClusSize);\n\t\t}\n\t}\n\tZeroMemory(m_ZeroBuffer,m_ClusSize);\n}\n\nbool CPolyFS::OpenDisk(PCSTR FileName,UINT Style)\n{\n\tm_Style = Style;\n\tm_DiskImage.ChangeFileIO(m_pFileIO);\n\tif(m_DiskImage.Open(FileName)==false)\n\t\treturn false;\n\tPFS_HEAD PFSHead;\n\tif(m_DiskImage.ReadFile(&PFSHead,sizeof(PFSHead))==false)\n\t\treturn false;\n\tif(TStrNCmp(PFSHead.Sign,\"PFS\",3))\n\t{\n\t\tm_DiskImage.Close();\n\t\treturn false;\n\t}\n\tm_ClusSize = PFSHead.ClusSize;\n\tm_ClusCount = PFSHead.ClusCount;\n\tm_FatOff = PFSHead.FatEntry.BeginClus*m_ClusSize;\n\tm_RootEntry = PFSHead.RootEntry;\n\tInitParam();\n\treturn true;\n}\n\nvoid CPolyFS::CloseDisk()\n{\n\tif(m_DiskImage.IsOpened()==false)\n\t\treturn;\n\tif((m_Style & PFS_WRITE_COPY)==0)\n\t\tm_PageMemory.FlushAllPage();\n\tm_PageMemory.Release();\n\tSafeDelete(m_ZeroBuffer);\n\tm_DiskImage.Close();\n}\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//CPFSFileIO\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nCPFSFileIO::CPFSFileIO()\n{\n\tm_pszSepar = \"\\\\\";\n\tm_pFileIO = NULL;\n}\n\nvoid CPFSFileIO::ChangeFileIO(CFileIO*pFileIO)\n{\n\tm_pFileIO = pFileIO;\n}\n\nbool CPFSFileIO::OpenDisk(PCSTR FileName,UINT Style)\n{\n\tm_Handle.Reset();\n\tm_Handle.Register();\n\tTList<CPolyFS>::IT Iter = m_PolyFSList.Append();\n\tif(m_pFileIO)\n\t\tIter->ChangeFileIO(m_pFileIO);\n\tif(Iter->OpenDisk(FileName,Style)==false)\n\t{\n\t\tm_PolyFSList.Remove(Iter);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nvoid CPFSFileIO::CloseAllDisk()\n{\n\tm_Handle.CloseAllHandle();\n\tm_PolyFSList.Clear();\n}\n\nbool CPFSFileIO::OpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\tPFS_FILE_DATA FileData;\n\tTList<CPolyFS>::IT Iter = m_PolyFSList.Begin();\n\twhile(Iter!=m_PolyFSList.End())\n\t{\n\t\tif(Iter->OpenFile(FileName,&FileData))\n\t\t\tbreak;\n\t\tIter++;\n\t}\n\tif(Iter==m_PolyFSList.End())\n\t\treturn false;\n\tPFS_FILE_IO_HANDLE*pHandle= new PFS_FILE_IO_HANDLE;\n\tpHandle->FileData = FileData;\n\tpHandle->pDisk = &(*Iter);\n\t*phFile = NUM_TO_PTR(m_Handle.CreateHandle(pHandle,PFS_HANDLE_FILE));\n\treturn true;\n}\n\nbool CPFSFileIO::CreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode)\n{\n\tPFS_FILE_DATA FileData;\n\tif(m_PolyFSList.Count()==0)\n\t\treturn false;\n\tTList<CPolyFS>::IT Iter = m_PolyFSList.Begin();\n\tif(Iter->CreateFile(FileName,PFS_FILE_NORMAL,0,&FileData)==false)\n\t\treturn false;\n\tPFS_FILE_IO_HANDLE*pHandle= new PFS_FILE_IO_HANDLE;\n\tpHandle->FileData = FileData;\n\tpHandle->pDisk = &(*Iter);\n\t*phFile = NUM_TO_PTR(m_Handle.CreateHandle(pHandle,PFS_HANDLE_FILE));\n\treturn true;\n}\n\nbool CPFSFileIO::CreateDir(IN PCSTR FileName)\n{\n\tif(m_PolyFSList.Count()==0)\n\t\treturn false;\n\tTList<CPolyFS>::IT Iter = m_PolyFSList.Begin();\n\tPFS_FILE_DATA FileData;\n\treturn Iter->CreateFile(FileName,PFS_FILE_DIR,Iter->m_ClusSize,&FileData);\n}\n\nbool CPFSFileIO::CloseHandle(IN HANDLE hFile)\n{\n\treturn m_Handle.CloseHandle(PTR_TO_NUM(hFile));\n}\n\nULSIZE CPFSFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\tPFS_FILE_IO_HANDLE*pHandle;\n\tpHandle = (PFS_FILE_IO_HANDLE*)m_Handle.GetHandleInfo(PTR_TO_NUM(hFile));\n\tif(pHandle==NULL)\n\t\treturn 0;\n\treturn pHandle->pDisk->ReadFile(&pHandle->FileData,(DWORD)Offset,Buffer,Size);\n}\n\nULSIZE CPFSFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset)\n{\n\tPFS_FILE_IO_HANDLE*pHandle;\n\tpHandle = (PFS_FILE_IO_HANDLE*)m_Handle.GetHandleInfo(PTR_TO_NUM(hFile));\n\tif(pHandle==NULL)\n\t\treturn 0;\n\treturn pHandle->pDisk->WriteFile(&pHandle->FileData,(DWORD)Offset,Buffer,Size);\n}\n\nULSIZE CPFSFileIO::ReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CPFSFileIO::WriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size)\n{\n\treturn 0;\n}\n\nULLPOS CPFSFileIO::SetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos)\n{\n\treturn 0;\n}\n\nULLSIZE CPFSFileIO::GetFileLength(IN HANDLE hFile)\n{\n\tDWORD RealFileLength;\n\tPFS_FILE_IO_HANDLE*pHandle;\n\tpHandle = (PFS_FILE_IO_HANDLE*)m_Handle.GetHandleInfo(PTR_TO_NUM(hFile));\n\tif(pHandle==NULL)\n\t\treturn (ULLSIZE)-1;\n\tif(pHandle->FileData.ThisFileEntry.Attribute&PFS_FILE_COMPRESS)\n\t{\n\t\tif(pHandle->pDisk->ReadFile(&pHandle->FileData.ThisFileEntry,0,&RealFileLength,4)!=4)\n\t\t\treturn 0;\n\t\treturn RealFileLength;\n\t}\n\treturn pHandle->FileData.ThisFileEntry.FileSize;\n}\n\nbool CPFSFileIO::SetFileLength(IN HANDLE hFile,IN ULLSIZE Length)\n{\n\tPFS_FILE_IO_HANDLE*pHandle;\n\tpHandle = (PFS_FILE_IO_HANDLE*)m_Handle.GetHandleInfo(PTR_TO_NUM(hFile));\n\tif(pHandle==NULL)\n\t\treturn false;\n\treturn pHandle->pDisk->SetFileLength(&pHandle->FileData,(DWORD)Length);\n}\n\nbool CPFSFileIO::DeleteFile(IN PCSTR FileName)\n{\n\tint Count=0;\n\tfor(TList<CPolyFS>::IT Iter=m_PolyFSList.Begin();Iter!=m_PolyFSList.End();Iter++)\n\t{\n\t\tif(Iter->DeleteFile(FileName))\n\t\t\tCount++;\n\t}\n\treturn Count>0;\n}\n\nbool CPFSFileIO::RenameFile(IN PCSTR FileName,IN PCSTR NewFileName)\n{\n\treturn 0;\n}\n\nbool CPFSFileIO::SetFileAttr(IN PCSTR FileName,DWORD Attr)\n{\n\tDWORD PFSAttr;\n\tPFSAttr=0;\n\tif(Attr & FIO_FA_READONLY)\n\t\tPFSAttr|=PFS_FILE_READONLY;\n\tif(Attr & FIO_FA_SYSTEM)\n\t\tPFSAttr|=PFS_FILE_SYSTEM;\n\tif(Attr & FIO_FA_DIR)\n\t\tPFSAttr|=PFS_FILE_DIR;\n\tif(Attr & FIO_FA_HIDDEN)\n\t\tPFSAttr|=PFS_FILE_HIDDEN;\n\tif(Attr & FIO_FA_COMPRESS)\n\t\tPFSAttr|=PFS_FILE_COMPRESS;\n\tint Count=0;\n\tfor(TList<CPolyFS>::IT Iter=m_PolyFSList.Begin();Iter!=m_PolyFSList.End();Iter++)\n\t{\n\t\tif(Iter->SetFileAttribute(FileName,PFSAttr))\n\t\t\tCount++;\n\t}\n\treturn Count>0;\n}\n\nDWORD CPFSFileIO::GetFileAttr(IN PCSTR FileName)\n{\n\tDWORD PFSAttr,FIOAttr;\n\tTList<CPolyFS>::IT Iter=m_PolyFSList.Begin();\n\tPFSAttr=PFS_FILE_ERROR;\n\twhile(Iter!=m_PolyFSList.End())\n\t{\n\t\tPFSAttr = Iter->GetFileAttribute(FileName);\t\t\n\t\tif(PFSAttr!=FIO_FA_ERROR)\n\t\t\tbreak;\n\t\tIter++;\n\t}\n\tif(PFSAttr==PFS_FILE_ERROR)\n\t\treturn FIO_FA_ERROR;\n\tFIOAttr = 0;\n\tif(PFSAttr & PFS_FILE_SYSTEM)\n\t\tFIOAttr|=FIO_FA_SYSTEM;\n\tif(PFSAttr & PFS_FILE_READONLY)\n\t\tFIOAttr|=FIO_FA_READONLY;\n\tif(PFSAttr & PFS_FILE_HIDDEN)\n\t\tFIOAttr|=FIO_FA_HIDDEN;\n\tif(PFSAttr & PFS_FILE_DIR)\n\t\tFIOAttr|=FIO_FA_DIR;\n\tif(PFSAttr & PFS_FILE_COMPRESS)\n\t\tFIOAttr|=FIO_FA_COMPRESS;\n\treturn FIOAttr;\n}\n\nbool CPFSFileIO::IsDir(IN PCSTR FileName)\n{\n\tPFS_FIND_DATA FindData;\n\tTList<CPolyFS>::IT Iter=m_PolyFSList.Begin();\n\twhile(Iter!=m_PolyFSList.End())\n\t{\n\t\tif(Iter->FindFirstFile(FileName,&FindData))\n\t\t\treturn (FindData.ThisFileEntry.Attribute & PFS_FILE_DIR)!=0;\n\t\tIter++;\n\t}\n\treturn false;\n}\n\nbool CPFSFileIO::DeleteDir(IN PCSTR FileName)\n{\t\n\tPFS_FIND_DATA FindData;\n\tchar szBuffer[MAX_FN_LEN];\n\tTStrCpy(szBuffer,FileName);\n\tTStrCat(szBuffer,\"\\\\*\");\n\tTList<CPolyFS>::IT Iter=m_PolyFSList.Begin();\n\twhile(Iter!=m_PolyFSList.End())\n\t{\n\t\tif(Iter->FindFirstFile(FileName,&FindData))\n\t\t\tbreak;\n\t\tIter++;\n\t}\n\tif(Iter==m_PolyFSList.End())\n\t\treturn false;\n\treturn Iter->DeleteFile(szBuffer);\n}\n\nbool CPFSFileIO::FindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData)\n{\n\tint Length;\n\tchar szBuffer[MAX_FN_LEN];\n\tDWORD PFSAttr;\n\tPFS_FILE_IO_FIND_DATA*pPFSFindData;\n\tPFS_FIND_DATA FindData;\n\tZeroMemory(pFindData,sizeof(FILE_FIND_DATA));\n\tLength = TStrCpy(szBuffer,DirName);\n\tif(Length && szBuffer[Length-1]=='\\\\')\n\t\tTStrCat(szBuffer,\"*\");\n\telse\n\t\tTStrCat(szBuffer,\"\\\\*\");\n\n\tTList<CPolyFS>::IT Iter=m_PolyFSList.Begin();\n\twhile(Iter!=m_PolyFSList.End())\n\t{\n\t\tif(Iter->FindFirstFile(szBuffer,&FindData))\n\t\t\tbreak;\n\t\tIter++;\n\t}\n\tif(Iter==m_PolyFSList.End())\n\t\treturn false;\n\n\tpPFSFindData = new PFS_FILE_IO_FIND_DATA;\n\tpPFSFindData->FindData = FindData;\n\tpPFSFindData->pDisk = &(*Iter);\n\n\tpFindData->FindDataBuffer = pPFSFindData;\n\tTStrCpy(pFindData->FileName,pPFSFindData->FindData.FileName);\n\tpFindData->FileAttribute = 0;\n\tPFSAttr = FindData.ThisFileEntry.Attribute;\n\tif(PFSAttr  & PFS_FILE_READONLY)\n\t\tpFindData->FileAttribute|=FIO_FA_READONLY;\n\tif(PFSAttr  & PFS_FILE_HIDDEN)\n\t\tpFindData->FileAttribute|=FIO_FA_HIDDEN;\n\tif(PFSAttr  & PFS_FILE_SYSTEM)\n\t\tpFindData->FileAttribute|=FIO_FA_SYSTEM;\n\tif(PFSAttr  & PFS_FILE_DIR)\n\t\tpFindData->FileAttribute|=FIO_FA_DIR;\n\tif(PFSAttr  & PFS_FILE_COMPRESS)\n\t\tpFindData->FileAttribute|=FIO_FA_COMPRESS;\n\tpFindData->FileLength =\tpPFSFindData->FindData.ThisFileEntry.FileSize;\n\tpFindData->hFindFile = NULL;\n\treturn true;\n}\n\nbool CPFSFileIO::FindNextFile(INOUT FILE_FIND_DATA*pFindData)\n{\n\tDWORD PFSAttr;\n\tPFS_FILE_IO_FIND_DATA*pPFSFindData;\n\tpPFSFindData = (PFS_FILE_IO_FIND_DATA*)pFindData->FindDataBuffer;\n\tif(pPFSFindData->pDisk->FindNextFile(&pPFSFindData->FindData)==false)\n\t\treturn false;\n\tTStrCpy(pFindData->FileName,pPFSFindData->FindData.FileName);\n\tpFindData->FileAttribute = 0;\n\tPFSAttr = pPFSFindData->FindData.ThisFileEntry.Attribute;\n\tif(PFSAttr  & PFS_FILE_READONLY)\n\t\tpFindData->FileAttribute|=FIO_FA_READONLY;\n\tif(PFSAttr  & PFS_FILE_HIDDEN)\n\t\tpFindData->FileAttribute|=FIO_FA_HIDDEN;\n\tif(PFSAttr  & PFS_FILE_SYSTEM)\n\t\tpFindData->FileAttribute|=FIO_FA_SYSTEM;\n\tif(PFSAttr  & PFS_FILE_DIR)\n\t\tpFindData->FileAttribute|=FIO_FA_DIR;\n\tif(PFSAttr  & PFS_FILE_COMPRESS)\n\t\tpFindData->FileAttribute|=FIO_FA_COMPRESS;\n\tpFindData->FileLength =\tpPFSFindData->FindData.ThisFileEntry.FileSize;\n\tpFindData->hFindFile = NULL;\n\treturn true;\n}\n\nbool CPFSFileIO::FindClose(IN FILE_FIND_DATA*pFindData)\n{\n\tdelete (BYTE*)pFindData->FindDataBuffer;\n\treturn true;\n}\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/PolyFS.h",
    "content": "#ifndef _POLY_FS_H_\n#define _POLY_FS_H_\n\n#include \"FileIO.h\"\n#include \"Handle.h\"\n#include \"PageMem.h\"\n\nNAME_SPACE_BEGIN\n\n#define PFS_ERROR_NAME_CODE\t\t0x00FFFFFF\n#define PFS_END_CLUS\t\t\t0xFFFFFFFF\n#define PFS_ERROR_FP\t\t\t0xFFFFFFFF\n#define PFS_FILE_ERROR\t\t\t0x00000000\n#define PFS_FILE_DIR\t\t\t0x00000001\n#define PFS_FILE_NORMAL\t\t\t0x00000002\n#define PFS_FILE_READONLY\t\t0x00000004\n#define PFS_FILE_HIDDEN\t\t\t0x00000008\n#define PFS_FILE_SYSTEM\t\t\t0x00000010\n#define PFS_FILE_COMPRESS\t\t0x00000020\n\n\nstruct PFS_FILE_ENTRY\n{\n\tDWORD\tBeginClus;\n\tDWORD\tFileSize;\n\tDWORD\tAttribute;\n\tDWORD\tNameCode;\n\tchar\tFileName[0x20];\n};\n\nstruct PFS_HEAD\n{\n\tchar\tSign[8];\t\t//\"PFS\"\n\tDWORD\tClusSize;\n\tDWORD\tClusCount;\n\tPFS_FILE_ENTRY\tFatEntry;\n\tPFS_FILE_ENTRY\tRootEntry;\n};\n\nstruct PFS_FILE_DATA\n{\n\tDWORD\tFilePoint;\n\tDWORD\tFileEntryFP;\n\tPFS_FILE_ENTRY\tThisFileEntry;\n\tPFS_FILE_ENTRY\tParentEntry;\n};\n\nstruct PFS_FIND_DATA\n{\n\tchar\tFileName[256];\n\tchar\tPattenName[256];\n\tPFS_FILE_ENTRY\tParentEntry;\n\tPFS_FILE_ENTRY\tThisFileEntry;\n\tDWORD\tFileEntryFP;\n};\n\n#define PFS_NORMAL\t\t\t\t0x00000000\n#define PFS_WRITE_COPY\t\t\t0x00000001\n#define PFS_FULL_DISK_CACHE\t\t0x00000002\n\nclass CPFSFileIO;\nclass CPolyFS\n{\npublic:\n\tCPolyFS();\n\tvirtual ~CPolyFS();\n\tfriend class CPFSFileIO;\npublic:\n\tCImageFile\t\tm_DiskImage;\n\tCPageMemory\t\tm_PageMemory;\n\tCFileIO*\t\tm_pFileIO;\n\tDWORD\tm_MaxCachePageCount;\n\tDWORD\tm_FatOff;\n\tDWORD\tm_ClusSize;\n\tDWORD\tm_ClusCount;\n\tUINT\tm_Style;\n\tPFS_FILE_ENTRY\tm_RootEntry;\n\tBYTE*\tm_ZeroBuffer;\npublic:\n\tbool\tReadDiskFile(DWORD Pos,void*Buffer,DWORD Size);\n\tbool\tWriteDiskFile(DWORD Pos,void*Buffer,DWORD Size);\n\tbool\tReadClus(DWORD Index,void*Buffer);\n\tbool\tWriteClus(DWORD Index,void*Buffer);\n\tbool\tReadFatCell(DWORD Index,void*Buffer);\n\tbool\tWriteFatCell(DWORD Index,void*Buffer);\nprotected:\n\tDWORD\tFindFreeFileEntryFP(PFS_FILE_ENTRY*pParentEntry);\n\tDWORD\tFindNextFreeClus(DWORD ClusIdx);\n\tbool\tCreateFile(PCSTR FileName,DWORD Attr,DWORD Size,PFS_FILE_ENTRY*pParentEntry,DWORD ParenFileEntryFP);\n\tDWORD\tReadFile(PFS_FILE_ENTRY*pFileEntry,DWORD Offset,void*Buffer,DWORD Size);\n\tDWORD\tWriteFile(PFS_FILE_ENTRY*pFileEntry,DWORD Offset,const void*Buffer,DWORD Size);\n\tbool\tDeleteFileClus(DWORD BeginClus);\n\tDWORD\tFileOffToDP(DWORD ClusIndex,DWORD Offset);\n\tDWORD\tFileOffToClus(DWORD ClusIndex,DWORD Offset);\n\tbool\tCmpFileName(PCSTR FilePattenName,PFS_FILE_ENTRY*pFileEntry);\npublic:\n\tvoid\tChangeFileIO(CFileIO*pFileIO);\n\tvirtual bool\tOpenDisk(PCSTR FileName,UINT Style = PFS_NORMAL);\n\tvirtual void\tCloseDisk();\n\tvirtual void\tInitParam();\n\tbool\tFormat(PCSTR DiskFileName,ULONG Size,DWORD ClusSize);\n\tbool\tDeleteFile(PCSTR FullFileName);\n\tbool\tFindFirstFile(PCSTR FullFileName,PFS_FIND_DATA*pFindData);\n\tbool\tFindNextFile(PFS_FIND_DATA*pFindData);\n\tbool\tCreateFile(PCSTR FullFileName,DWORD Attr,DWORD Size,PFS_FILE_DATA*pHandleData);\n\tbool\tOpenFile(PCSTR FullFileName,PFS_FILE_DATA*pHandleData);\n\tDWORD\tWriteFile(PFS_FILE_DATA*pHandleData,DWORD Offset,const void*Buffer,DWORD Size);\n\tDWORD\tReadFile(PFS_FILE_DATA*pHandleData,DWORD Offset,void*Buffer,DWORD Size);\n\tbool\tSetFileLength(PFS_FILE_DATA*pHandleData,DWORD Length);\n\tbool\tSetFileLength(PCSTR FullFileName,DWORD Length);\n\tDWORD\tGetFileLength(PCSTR FullFileName);\n\tbool\tSetFileAttribute(PCSTR FullFileName,DWORD Attr);\n\tDWORD\tGetFileAttribute(PCSTR FullFileName);\n};\n\n#define PFS_HANDLE_FILE\t\t0x0001\n\nstruct PFS_FILE_IO_HANDLE\n{\n\tCPolyFS*\t\tpDisk;\n\tPFS_FILE_DATA\tFileData;\n};\n\nstruct PFS_FILE_IO_FIND_DATA\n{\n\tCPolyFS*\t\tpDisk;\n\tPFS_FIND_DATA\tFindData;\n};\n\nclass CPFSFileIO : public CFileIO\n{\n\tCHandle\t\t\tm_Handle;\n\tTList<CPolyFS>\tm_PolyFSList;\n\tCFileIO*\t\tm_pFileIO;\npublic:\n\tCPFSFileIO();\n\tvoid\tChangeFileIO(CFileIO*pFileIO);\n\n\tvirtual bool\tOpenDisk(PCSTR FileName,UINT Style = PFS_NORMAL);\n\tvirtual void\tCloseAllDisk();\n\n\tvirtual bool\tOpenFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_READ | FIO_SHARE_READ);\n\tvirtual bool\tCreateFile(IN PCSTR FileName,OUT HANDLE*phFile,IN DWORD Mode = FIO_CREATE | FIO_SHARE_READ);\n\tvirtual bool\tCreateDir(IN PCSTR FileName);\n\tvirtual bool\tCloseHandle(IN HANDLE hFile);\n\n\tvirtual ULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\tvirtual ULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size,IN ULLPOS Offset);\n\n\tvirtual ULSIZE\tReadFile(IN HANDLE hFile,IN void* Buffer,IN ULSIZE Size);\n\tvirtual ULSIZE\tWriteFile(IN HANDLE hFile,IN const void* Buffer,IN ULSIZE Size);\n\tvirtual ULLPOS\tSetFilePointer(IN HANDLE hFile,IN LLPOS Offset,IN DWORD Pos);\n\n\tvirtual ULLSIZE\tGetFileLength(IN HANDLE hFile);\n\tvirtual bool\tSetFileLength(IN HANDLE hFile,IN ULLSIZE Length);\n\n\tvirtual bool\tDeleteFile(IN PCSTR FileName);\n\tvirtual bool\tRenameFile(IN PCSTR FileName,IN PCSTR NewFileName);\n\n\tvirtual bool\tSetFileAttr(IN PCSTR FileName,DWORD Attr);\n\tvirtual DWORD\tGetFileAttr(IN PCSTR FileName);\n\n\tvirtual bool\tIsDir(IN PCSTR FileName);\n\tvirtual bool\tDeleteDir(IN PCSTR FileName);\n\tvirtual bool\tFindFirstFile(IN PCSTR DirName,OUT FILE_FIND_DATA*pFindData);\n\tvirtual bool\tFindNextFile(INOUT FILE_FIND_DATA*pFindData);\n\tvirtual bool\tFindClose(IN FILE_FIND_DATA*pFindData);\n};\n\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/Sources",
    "content": "TARGETNAME=Code\nTARGETPATH=Obj\nTARGETTYPE=DRIVER_LIBRARY\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nSOURCES=NTDrvRuntime.cpp\t\\\n\t\tFileIO.cpp\t\t\\\n\t\tFileIONTDrv.cpp\t\\\n\t\tHandle.cpp\t\t\\\n\t\tImageFile.cpp\t\\\n\t\tLogFile.cpp\t\t\\\n\t\tMaths.cpp\t\t\\\n\t\tTXTFile.cpp\t\t\\\n\t\tStrMem.cpp\t\t\\\n\t\tSysDep.cpp\t\t\\\n\t\tNewAlloc.cpp\t\\\n\t\tNewAllocNTDrv.cpp\t\\\n\t\tDebugNewAlloc.cpp\t\\\n\t\tDebugNewAllocNTDrv.cpp\t\\\n\t\tCompress.cpp\t\\\n\t\tCmdParser.cpp\t\\\n\t\tPolyFS.cpp\t\t\\\n\t\tPageMem.cpp\t\t\\\n\t\tHeap.cpp\t\t\\\n\t\tFloat2String.cpp\t\\\n\t\tCrc.cpp\t\t\t\\\n\t\tOptionValue.cpp\n\n"
  },
  {
    "path": "Project/Code/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/Code/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"Code.h\"\n\n#endif /* _STDAFX_H_ */\n"
  },
  {
    "path": "Project/Code/Source/StrMem.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"StrMem.h\"\n\nNAME_SPACE_BEGIN\n\n#ifndef\tCODE_OS_NT_DRV\nint __cdecl sprintfcat_s(char*buffer,int buffer_size,const char*format,...)\n{\n\tint length;\n\tlength=(int)strlen(buffer);\n\tif(length>=buffer_size)\n\t\treturn 0;\n\tva_list Next;\n\tva_start(Next,format);\n\tlength += vsprintf_s(&buffer[length],buffer_size-length,format,Next);\n\tva_end(Next);\n\treturn length;\n}\n#endif\n\nint CSToStr(COLOR_STRING*pCS,PSTR pStr)\n{\t\n\tint Len;\n\t*pStr=0;\n\tLen=0;\n\twhile(pCS->StrLen)\n\t{\n\t\tTStrCpy(&pStr[Len],pCS->String);\n\t\tLen+=pCS->StrLen;\n\t\tpCS=CSBuf(&pCS->String[pCS->StrLen+1]);\n\t}\n\treturn Len;\n}\n\nUINT SplitCmdString(PSTR CmdString,PSTR*Param,UINT MaxParam)\n{\n\tUINT Start,End,nParam,Length;\n\tPSTR pStr;\n\tnParam=End=Start=0;\n\tLength=(UINT)TStrLen(CmdString);\n\tpStr=TStrChr(CmdString,' ');\n\tif(pStr==NULL)\n\t{\n\t\tParam[0]=CmdString;\n\t\tnParam=1;\n\t}\n\telse\n\t{\n\t\tEnd=(UINT)(pStr-CmdString);\n\t\tmemcpy(Param[0],CmdString,End);\n\t\tParam[0][End]=0;\n\t\tTStrUpr(Param[0]);\n\t\tnParam=1;\n\t\tStart=End;\n\t\twhile(Start<Length)\n\t\t{\n\t\t\twhile(Start<Length && CmdString[Start]==' ')\n\t\t\t\tStart++;\n\t\t\tpStr=TStrChr(&CmdString[Start],' ');\n\t\t\tif(pStr==NULL)End=Length;\n\t\t\telse\t\t  End=(UINT)(pStr-CmdString);\n\t\t\tif(End<=Start)break;\n\t\t\tmemcpy(Param[nParam],&CmdString[Start],End-Start);\n\t\t\tParam[nParam][End]=0;\n\t\t\tTStrUpr(Param[nParam]);\n\t\t\tStart=End;\n\t\t\tif(nParam>=MaxParam)break;\n\t\t\tnParam++;\n\t\t}\n\t}\n\treturn nParam;\n}\n\nPSTR Tab2SpaceString(PCSTR TabBuffer,PSTR SpaceBuffer)\n{\n\tDWORD toff=0,soff=0;\n\t\n\twhile(TabBuffer[toff])\n\t{\n\t\tif(TabBuffer[toff]=='\\t')\n\t\t{\n\t\t\t*(DWORD*)&SpaceBuffer[soff]=0x20202020;\n\t\t\tsoff+=4;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tSpaceBuffer[soff]=TabBuffer[toff];\n\t\t\tsoff++;\n\t\t}\n\t\ttoff++;\n\t}\n\tSpaceBuffer[soff]=0;\n\treturn  SpaceBuffer;\n}\n\nCHAR InvalidVarStr[]=\" \\\\|-={}[]/?*,:.&^%$#@!~`();\\\"<>^\";\nint Str2VarName(PSTR Str,int MaxLen)\n{\n\tint size = 0;\n\twhile(*Str && MaxLen)\n\t{\n\t\tif(TStrChr(InvalidVarStr,*Str))\n\t\t\t*Str='_';\n\t\tStr++;\n\t\tMaxLen--;\n\t\tsize++;\n\t}\n\t*Str=0;\n\treturn size;\n}\n\nbool IsASCString(PCSTR Str,int Length)\n{\n\twhile(*Str && Length)\n\t{\n\t\tif(*Str<=(char)0x20 && *Str>(char)0x80)\n\t\t\treturn false;\n\t\tStr++;\n\t\tLength--;\n\t}\n\treturn true;\n}\n\n\nDWORD GetCRCCode(BYTE*Buffer,int Len)\n{\n\tWORD WordSum=0;\n\tWORD ByteSum=0;\n\tfor(int n=0;n<Len;n++)\n\t{\n\t\tByteSum+=Buffer[n];\n\t\tif(n+2<=Len)\n\t\t\tWordSum+=GET_WORD(Buffer,n);\n\t}\n\treturn MAKE_DWORD(WordSum,ByteSum);\n}\n\nvoid*MemSearch(IN void*Buffer,IN int BufSize,IN void*SchBuf,IN int Len)\n{\n\tfor(int n = 0; n <=BufSize - Len; n++)\n\t{\n\t\tif(GET_BYTE(Buffer,n)==_GET_BYTE(SchBuf) && !memcmp((BYTE*)Buffer+n,SchBuf,Len))\n\t\t\treturn (BYTE*)Buffer+n;\n\t}\n\treturn NULL;\n}\n\nvoid*CodeSearch(IN void*Buffer,IN int BufSize,IN void*SchBuf,IN int Len,BYTE IgnoreByte)\n{\n\tBYTE ScrByte;\n\tint n,m;\n\tif(BufSize==0)\n\t\treturn NULL;\n\tfor(n=0;n<=BufSize-Len;n++)\n\t{\n\t\tfor(m=0;m<Len;m++)\n\t\t{\n\t\t\tScrByte=GET_BYTE(SchBuf,m);\n\t\t\tif(ScrByte!=IgnoreByte&&ScrByte!=GET_BYTE(Buffer,n+m))\n\t\t\t\tbreak;\n\t\t}\n\t\tif(m>=Len)\n\t\t\treturn RT_PBYTE(Buffer,n);\n\t}\n\treturn NULL;\n}\n\nvoid PutByteAtBit(INOUT BYTE*Ptr,IN int BitOff,IN BYTE nBit,IN BYTE Data)\n{\n\tBYTE Shift,Mask=0xFF;\n\tShift=8-nBit;\n\tMask=0xFF;\n\tData<<=Shift;\n\tData>>=Shift;\n\tMask<<=Shift;\n\tMask>>=Shift;\n\tif(nBit+BitOff%8<=8)//һֽ\n\t{\n\t\tShift=(BYTE)BitOff%8;\n\t\tData<<=Shift;\n\t\tMask<<=Shift;\n\t\tMask=~Mask;\n\t\tPtr[BitOff/8]&=Mask;\n\t\tPtr[BitOff/8]|=Data;\n\t}\n\telse\n\t{\n\t\tPutByteAtBit(Ptr,BitOff,(BYTE)(8-BitOff%8),Data);\n\t\tPutByteAtBit(Ptr,BitOff+8-BitOff%8,nBit-(BYTE)(8-BitOff%8),Data>>(8-BitOff%8));\n\t}\n\treturn ;\n}\n\n#ifdef\tCODE_OS_NT_DRV\n\nint\tUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen)\n{\n\tANSI_STRING\tAnsiName;\n\tUNICODE_STRING UniName;\n\tUniName.Buffer =(PWSTR) WszBuf;\n\tUniName.Length = TStrLen(WszBuf)*2;\n\tUniName.MaximumLength = UniName.Length + 2;\n\tAnsiName.Buffer = (PCHAR)szBuf;\n\tAnsiName.Length = 0;\n\tAnsiName.MaximumLength = (USHORT)MaxLen;\n\tRtlUnicodeStringToAnsiString(&AnsiName,&UniName,false);\n\treturn UniName.Length/2;\n}\n\nint\tAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen)\n{\n\tANSI_STRING\tAnsiName;\n\tUNICODE_STRING UniName;\n\tAnsiName.Buffer = (PCHAR)szBuf;\n\tAnsiName.Length = (USHORT)TStrLen(szBuf);\n\tAnsiName.MaximumLength = AnsiName.Length + 1;\n\tUniName.Buffer = WszBuf;\n\tUniName.Length = 0;\n\tUniName.MaximumLength = MaxLen*2;\n\tRtlAnsiStringToUnicodeString(&UniName,&AnsiName,false);\n\treturn AnsiName.Length;\n}\n\n#endif\n\n#ifdef\tCODE_OS_WIN\n\nint\tUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen)\n{\n\tint Length;\n\tif(Length = WideCharToMultiByte(CP_ACP,0,WszBuf,-1,szBuf,MaxLen,NULL,NULL))\n\t\treturn Length-1;\n\treturn 0;\n}\n\nint\tAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen)\n{\n\tint Length;\n\tif(Length = MultiByteToWideChar(CP_ACP,0,szBuf,-1,WszBuf,MaxLen))\n\t\treturn Length-1;\n\treturn 0;\n}\n\n#endif\n\n#ifdef\tCODE_OS_UNIX\n\nint\tUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen)\n{\n\treturn 0;\n}\n\nint\tAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen)\n{\n\treturn 0;\n}\n\n#endif\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/StrMem.h",
    "content": "#ifndef\t_STRMEM_H_\n#define _STRMEM_H_\n\nNAME_SPACE_BEGIN\n\nstruct COLOR_STRING \n{\n\tWORD StrLen;\n\tWORD Attribute;\n\tCOLORREF Color;\n\tCHAR String[1];\n};\n\n#define CSBuf(__P)\t((COLOR_STRING*)__P)\n\nint __cdecl sprintfcat_s(char*buffer,int buffer_size,const char*format,...);\nint\t\tCSToStr(COLOR_STRING*pCS,PSTR pStr);\nPSTR\tTab2SpaceString(PCSTR TabBuffer,PSTR SpaceBuffer);\nUINT\tSplitCmdString(PSTR CmdString,PSTR*Param,UINT MaxParam);\nint\t\tStr2VarName(PSTR Str,int MaxLen);//ַתCԱ\nbool\tIsASCString(PCSTR Str,int Length);\n/////////////////////////////////////////////////////////////////////////\n//ڴ\n/////////////////////////////////////////////////////////////////////////\nvoid*\tMemSearch(IN void*Buffer,IN int BufSize,IN void*SchBuf,IN int Len);\nvoid*\tCodeSearch(IN void*Buffer,IN int BufSize,IN void*SchBuf,IN int Len,BYTE IgnoreByte = 0xFF);\n\nvoid\tPutByteAtBit(INOUT BYTE*Ptr,IN int BitOff,IN BYTE nBit,IN BYTE Data);\nint\t\tUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen);\nint\t\tAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen);\n\nDWORD GetCRCCode(BYTE*Buffer,int Len);\n\n#ifdef CODE_OS_CATOS\n#define memcpy(d,s,c)\t\tTMemCpy((BYTE*)(d),(BYTE*)(s),(int)(c))\n#endif\n\nNAME_SPACE_END\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Code/Source/SysDep.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysDep.h\"\n\nNAME_SPACE_BEGIN\n\n#ifdef CODE_OS_WIN\n\nDWORD PASCAL WinThread(THREAD_PROC pFunc)\n{\n\tpFunc();\n\treturn 0;\n}\n\nDWORD CreateThread(THREAD_PROC pFunc)\n{\n\tDWORD ThreadID;\n\tThreadID=0;\n\t::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)WinThread,pFunc,THREAD_SUSPEND_RESUME | THREAD_TERMINATE,&ThreadID);\n\treturn ThreadID;\n}\n\nvoid UpdateTickCount(ULONGLONG*pTickCount)\n{\n\tstatic DWORD PrevTickCount=0;\n\tDWORD TickCount;\n\tTickCount=GetTickCount();\n\tif(TickCount>PrevTickCount)\n\t\t*pTickCount+=TickCount-PrevTickCount;\n\telse\n\t\t*pTickCount+=TickCount+(~PrevTickCount+1);\n\tPrevTickCount=TickCount;\n}\n\nint GetModulePath(PSTR szPathName,bool bSeparator)\n{\n\tDWORD Size;\n\t*szPathName=0;\n\tSize = GetModuleFileName(NULL,szPathName,MAX_FN_LEN);\n\tif(szPathName[1]==':'&&szPathName[0]>='a'&&szPathName[0]<='z')\n\t\tszPathName[0]+='A'-'a';\n\tchar*pStr=TStrRChr(szPathName,PATH_SEPARATOR_CHAR);\n\tif(pStr)\n\t{\n\t\tif(bSeparator)\n\t\t\tpStr++;\n\t\t*pStr=0;\n\t}\n\treturn TStrLen(szPathName);\n}\n\nint GetModulePath(PWSTR szPathName,bool bSeparator)\n{\n\tDWORD Size;\n\t*szPathName=0;\n\tSize = GetModuleFileNameW(NULL,szPathName,MAX_FN_LEN);\n\tif(szPathName[1]==':'&&szPathName[0]>='a'&&szPathName[0]<='z')\n\t\tszPathName[0]+='A'-'a';\n\tWCHAR*pStr=TStrRChr(szPathName,(WCHAR)PATH_SEPARATOR_CHAR);\n\tif(pStr)\n\t{\n\t\tif(bSeparator)\n\t\t\tpStr++;\n\t\t*pStr=0;\n\t}\n\treturn TStrLen(szPathName);\n}\n\nint\tCodeDebugPrintf(PCSTR Format,...)\n{\n\tint Length;\n\tchar Buffer[0x400];\n\tva_list Next;\n\tva_start(Next,Format);\n\tLength = TVSPrintf(Buffer,Format,Next);\n\tva_end(Next);\n\tOutputDebugString(Buffer);\n\treturn Length;\n}\n\n#endif\n\n#ifdef CODE_OS_NT_DRV\n/// ȡǰϵͳʱ \n/// תɱʱȡʱ \n/// ϲʱ䴮  \n/// 17:35 ֣ת1735 \n/// \nshort    GetCurTime() \n{ \n/*\n__int64 Date=864000000000,Year,mDate,Minute,Hour=0,Second;\nLARGE_INTEGER Large;\t\nSYSTEM_TIME_OF_DAY_INFORMATION TimeDay;\nULONG len;\nstatus = ZwQuerySystemInformation(3,&TimeDay,sizeof(SYSTEM_TIME_OF_DAY_INFORMATION),&len);\nHour = TimeDay.CurrentTime.QuadPart % Date;\nDate = TimeDay.CurrentTime.QuadPart/Date;\nMinute = Hour % 36000000000;\nSecond = Minute % 600000000;\nSecond = Second / 10000000;\nMinute = Minute / 600000000;\nHour = Hour / 36000000000;\nDbgPrint(\"ZwQuerySystemInformation %I64d:%I64d:%I64d\\n\",(Hour+8)%24,Minute,Second);\n*/\n\n\tLARGE_INTEGER ulTimeStamp,ulLocalTime; \n\tTIME_FIELDS   tfTime; \n\tKeQuerySystemTime(& ulTimeStamp); \n\n\tExSystemTimeToLocalTime(&ulTimeStamp,&ulLocalTime); \n\tRtlTimeToTimeFields(&ulTimeStamp,&tfTime); \n\n\treturn (short)(tfTime.Hour*100+tfTime.Minute); \n\n\n} \n\n#define REGISTRY_VALUE_NAME_LEN_MAX 32\ntypedef struct _KEY__VALUE_FULL_INFORMATION_STRUCT\n{\n\tKEY_VALUE_FULL_INFORMATION KeyValueInformation;\n\tWCHAR ValueName[32];\n\tDWORD Value[1];\n}KEY__VALUE_FULL_INFORMATION_STRUCT,*PKEY__VALUE_FULL_INFORMATION_STRUCT;\nbool ReadDwordValueRegistry(WCHAR *pValue,DWORD *pdwRetValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tKEY__VALUE_FULL_INFORMATION_STRUCT KeyValueInformation;\n\tPKEY__VALUE_FULL_INFORMATION_STRUCT pKeyValueInformation;\n\tULONG BufLen;\n\tBufLen = sizeof(KeyValueInformation);\n\tpKeyValueInformation=&KeyValueInformation;\n\tif(pKey==NULL)\t\n\t\treturn false;\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_QUERY_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\t\t\t\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tResultLength = TStrLen(pValue);\n\tif(ResultLength>REGISTRY_VALUE_NAME_LEN_MAX)\n\t{\n\t\tBufLen =ResultLength + BufLen-REGISTRY_VALUE_NAME_LEN_MAX*sizeof(WCHAR);\n\t\tpKeyValueInformation =(PKEY__VALUE_FULL_INFORMATION_STRUCT) new BYTE[BufLen];\n\t\tif(pKeyValueInformation==NULL)\n\t\t{\n\t\t\tZwClose(hKeyHandle);\n\t\t\treturn false;\n\t\t}\n\t}\n\tntStatus = ZwQueryValueKey(hKeyHandle,\t&ValueName,KeyValueFullInformation,pKeyValueInformation,BufLen,&ResultLength);\n\tif(ntStatus!=STATUS_SUCCESS)\n\t{\n\t\tif(pKeyValueInformation!=&KeyValueInformation)\n\t\t\tdelete []pKeyValueInformation;\n\t\tZwClose(hKeyHandle);\n\t\treturn false;\n\t}\n\t*pdwRetValue = *(DWORD*)(pKeyValueInformation->KeyValueInformation.DataOffset+(DWORD)pKeyValueInformation);\n\tif(pKeyValueInformation!=&KeyValueInformation)\n\t\tdelete []pKeyValueInformation;\n\tZwClose(hKeyHandle);\n\treturn true;\n}\nbool WriteDwordValueRegistry(WCHAR *pValue,DWORD dwValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\t\n\tif(pKey==NULL||pValue==NULL)\t\n\t\treturn false;\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_SET_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\t\t\t\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tntStatus = ZwSetValueKey(hKeyHandle,&ValueName,0,REG_DWORD,&dwValue,sizeof(DWORD));\n\tZwClose(hKeyHandle);\n\treturn ntStatus==STATUS_SUCCESS;\n}\nbool WriteStringValueRegistry(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\t\n\tif(pKey==NULL||pValue==NULL)\t\n\t\treturn false;\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_SET_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tntStatus = ZwSetValueKey(hKeyHandle,&ValueName,0,REG_SZ,szValue,TStrLen(szValue)*2+2);\n\tZwClose(hKeyHandle);\n\treturn ntStatus==STATUS_SUCCESS;\n}\nvoid WinDrvThread(IN THREAD_PROC pFunc)\n{\n\tpFunc();\n}\n\nbool CreateThread(THREAD_PROC pFunc,void*Param)\n{\n\tHANDLE hThread;\n\treturn NT_SUCCESS(PsCreateSystemThread(&hThread,THREAD_ALL_ACCESS,NULL,NULL,NULL,(PKSTART_ROUTINE)WinDrvThread,pFunc));\n}\nDWORD dwCPUMHz=0;\nULONGLONG TmpDrvCurTickCount;\nULONGLONG TmpDrvPrevTickCount;\nULONGLONG GetRDTSC()\n{\n// \tDWORD dwHighValue=0;\n// \tDWORD dwLowValue=0;\n// \tULONGLONG Value;\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tpush edx\n// \t\trdtsc\n// \t\tmov dwHighValue,edx \n// \t\tmov dwLowValue,eax\n// \t\tpop edx\n// \t\tpop eax\n// \t}\n// \tValue=dwHighValue;\n// \tValue<<=32;\n// \tValue|=dwLowValue;\n// \t\n// \treturn Value;\n\n\treturn SyserGetRdTsc();\n}\nvoid InitTickCount()\n{\n\tDWORD dwHighValue=0;\n\tDWORD dwLowValue=0;\n\tif(ReadDwordValueRegistry(L\"~MHz\",&dwCPUMHz,L\"\\\\REGISTRY\\\\MACHINE\\\\HARDWARE\\\\DESCRIPTION\\\\System\\\\CentralProcessor\\\\0\")==false)\n\t{\n\t\tdwCPUMHz=500;\n\t}\n\tTmpDrvPrevTickCount = GetRDTSC();\n}\n\nvoid UpdateTickCount(ULONGLONG*pTickCount)\n{\n// \t__asm push ecx \n// \t__asm push eax \n// \t__asm push edx\n\tTmpDrvCurTickCount = GetRDTSC();\n\t*pTickCount+=(TmpDrvCurTickCount-TmpDrvPrevTickCount);\n\tTmpDrvPrevTickCount=TmpDrvCurTickCount;\n// \t__asm pop edx \n// \t__asm pop eax\n// \t__asm pop ecx \n}\n\nint GetModulePath(PSTR szPathName,bool bSeparator)\n{\n\t*szPathName=0;\n\treturn 0;\n}\n\nbool GetSystemRootPath(WCHAR* RegistryServiceName,WCHAR* SystemPathBuffer ,ULONG SystemPathLen)\n{\n\tNTSTATUS Status;\n\tUNICODE_STRING UniSystemRootDir;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\tWCHAR *ReturnBuffer=NULL;\n\tULONG BufferByteSize =0x1000;\n\tRTL_OSVERSIONINFOEXW RtlOsVersion;\n\tint Len;\n\n\tif(SystemPathBuffer==NULL)\n\t\treturn false;\n\tReturnBuffer = (WCHAR*)ExAllocatePoolWithTag(NonPagedPool,BufferByteSize,'SDep');\n\tif(ReturnBuffer==NULL)\n\t\treturn false;\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tZeroMemory(ReturnBuffer,BufferByteSize);\n\twcscpy(ReturnBuffer,WSTR(\"\\\\??\\\\\"));\n\tUniSystemRootDir.Length=0;\n\tUniSystemRootDir.MaximumLength=(USHORT)(BufferByteSize-(wcslen(ReturnBuffer)+1)*sizeof(WCHAR));\n\tUniSystemRootDir.Buffer=&ReturnBuffer[wcslen(ReturnBuffer)];\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"SystemRoot\");\n\tRegTable[0].EntryContext = &UniSystemRootDir;\n\tStatus = RtlQueryRegistryValues(RTL_REGISTRY_WINDOWS_NT,WSTR(\"\"),RegTable,NULL,NULL);\n\tif(NT_SUCCESS(Status))\n\t{\n\t\tLen = wcslen(ReturnBuffer);\n\t\tif(ReturnBuffer[Len-1]!='\\\\')\n\t\t{\n\t\t\tReturnBuffer[Len]='\\\\';\n\t\t\tReturnBuffer[Len+1]=0;\n\t\t\tLen++;\n\t\t}\n\t\tLen++;\n\t\tif(SystemPathLen<Len*sizeof(WCHAR))\n\t\t{\n\t\t\tExFreePool(ReturnBuffer);\n\t\t\treturn false;\n\t\t}\n\t\twcscpy(SystemPathBuffer,ReturnBuffer);\n\t\tExFreePool(ReturnBuffer);\n\t\treturn true;\n\t}\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tZeroMemory(ReturnBuffer,BufferByteSize);\n\twcscpy(ReturnBuffer,WSTR(\"\\\\??\\\\\"));\n\tUniSystemRootDir.Length=0;\n\tUniSystemRootDir.MaximumLength=(USHORT)(BufferByteSize-(wcslen(ReturnBuffer)+1)*sizeof(WCHAR));\n\tUniSystemRootDir.Buffer=&ReturnBuffer[wcslen(ReturnBuffer)];\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"SystemRoot\");\n\tRegTable[0].EntryContext = &UniSystemRootDir;\n\tStatus = RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,RegistryServiceName,RegTable,NULL,NULL);\n\tif(NT_SUCCESS(Status))\n\t{\n\t\tLen = wcslen(ReturnBuffer);\n\t\tif(ReturnBuffer[Len-1]!='\\\\')\n\t\t{\n\t\t\tReturnBuffer[Len]='\\\\';\n\t\t\tReturnBuffer[Len+1]=0;\n\t\t\tLen++;\n\t\t}\n\t\tLen++;\n\t\tif(SystemPathLen<Len*sizeof(WCHAR))\n\t\t{\n\t\t\tExFreePool(ReturnBuffer);\n\t\t\treturn false;\n\t\t}\n\t\twcscpy(SystemPathBuffer,ReturnBuffer);\n\t\tExFreePool(ReturnBuffer);\n\t\treturn true;\n\t}\n\tRtlOsVersion.dwOSVersionInfoSize = sizeof(RTL_OSVERSIONINFOEXW);\t\n\tPsGetVersion(&RtlOsVersion.dwMajorVersion,&RtlOsVersion.dwMinorVersion,&RtlOsVersion.dwBuildNumber,NULL);\n\tif(RtlOsVersion.dwMajorVersion==5 && RtlOsVersion.dwMinorVersion>=1)\n\t\twcscpy(ReturnBuffer,WSTR(\"\\\\??\\\\C:\\\\WINDOWS\\\\\"));\n\telse\n\t\twcscpy(ReturnBuffer,WSTR(\"\\\\??\\\\C:\\\\WINNT\\\\\"));\n\tLen = wcslen(ReturnBuffer);\n\tLen++;\n\tif(SystemPathLen<Len*sizeof(WCHAR))\n\t{\n\t\tExFreePool(ReturnBuffer);\n\t\treturn false;\n\t}\n\twcscpy(SystemPathBuffer,ReturnBuffer);\n\tExFreePool(ReturnBuffer);\n\treturn true;\n}\n#endif\n\n#ifdef CODE_OS_UNIX\nvoid UpdateTickCount(ULONGLONG*pTickCount)\n{\n\tstatic LONGLONG PrevTickCount=0;\n\tLONGLONG TickCount;\n\tstruct timeval tv;\n\tgettimeofday(&tv,NULL);\n\tTickCount = tv.tv_sec;\n\tTickCount = 1000 * TickCount;\n\tTickCount += (tv.tv_usec / 1000);\n\tif(TickCount>PrevTickCount)\n\t\t*pTickCount+=TickCount-PrevTickCount;\n\telse\n\t\t*pTickCount+=TickCount+(~PrevTickCount+1);\n\tPrevTickCount=TickCount;\n}\n\nint GetModulePath(PSTR szPathName,bool bSeparator)\n{\n\tint Size =1;\n\tTStrCpy(szPathName,\".\");\n\tif(bSeparator)\n\t{\n\t\tTStrCat(szPathName,PATH_SEPARATOR_STR);\n\t\tSize++;\n\t}\n\treturn Size;\n}\n\nvoid* LinuxThread(void*pFunc)\n{\n\t((THREAD_PROC)pFunc)();\n\treturn NULL;\n}\n\n\nDWORD  CreateThread(THREAD_PROC pFunc)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_t pid;\n\tDWORD dwRet;\n\tpthread_create(&pid,NULL,LinuxThread,(void*)pFunc);\n\treturn pid;\n#else\n\treturn 0;\n#endif\n}\n\nDWORD CreateThreadDetach(THREAD_PROC pFunc)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_t pid;\n\tDWORD dwRet;\n\tpthread_attr_t attr;\n\tpthread_attr_init(&attr);\n\tpthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);\n\tpthread_create(&pid,&attr,LinuxThread,(void*)pFunc);\n\treturn pid;\n#else\n\treturn 0;\n#endif\n}\n\nvoid InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection)\n{\n#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP\n\tpthread_mutex_t temp=PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;\n\tlpCriticalSection->LockSemaphore=temp;\n#else\n\tpthread_mutex_t temp=PTHREAD_MUTEX_INITIALIZER;\n\tlpCriticalSection->LockSemaphore=temp;\n#endif\n}\n\nvoid DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_mutex_destroy(&lpCriticalSection->LockSemaphore);\n#endif\n}\nvoid EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_mutex_lock(&lpCriticalSection->LockSemaphore);\n#endif\n}\nvoid LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_mutex_unlock(&lpCriticalSection->LockSemaphore);\n#endif\n}\nbool TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection)\n{\n#ifdef CODE_UNIX_THREAD\n\tpthread_mutex_trylock(&lpCriticalSection->LockSemaphore);\n#else\n\treturn false;\n#endif\n\treturn true;\n}\n\n#endif //CODE_OS_UNIX\n\n\nDWORD gRandomMem[]=\n{\n\t0x5a2b2e15, 0x15562e15, 0x9742a171, 0x8515582e, 0x0f510693,\n\t0x0708c533, 0x14c80e0b, 0xfe161780, 0x712a3dc2, 0xeb494746,\n\t0x08f9900a, 0xf7b908d0, 0x0384d5b6, 0x1b212c2b, 0x2022743f,\n\t0x3416e197, 0x06777bc9, 0xbab7c768, 0xe9837d6b, 0x2af10303,\n\t0xa6d7eb26, 0xe103eb3e, 0x90b7d0bd, 0x59cde23d, 0x25ebeb07,\n\t0x0a4a0690, 0x1207c337, 0x6920ee83, 0x690b739e, 0xedda9417,\n\t0x6010eb06, 0x55f2e920, 0xe959cbf4, 0x089df8fd, 0x525706f9,\n\t0x43c35351, 0xfe9bb757, 0x5be2809a, 0x4315191d, 0x34dbc2fb,\n\t0x0f740504, 0x74280b52, 0x0d820552, 0x4c5cdffc, 0x1e8dab6e,\n\t0x058a0e79, 0x0b72803c, 0xbadf5154, 0x776b6e07, 0x30d77509,\n\t0x36e68a24, 0x76b669a1, 0x3b03fdb3, 0x18721a44, 0x721e6708,\n\t0x650a1f0f, 0x6c0bff46, 0xeb2d721c, 0x58f99002, 0x5f5a595b,\n\t0xe23bb494, 0x1e0cecb7, 0x160ab907, 0x0dea75ae, 0x1b7fb26c,\n\t0xe0090666, 0x0000daeb, 0x76da06ff, 0x02f9db83, 0xfe012a40,\n\t0x6a0b0807, 0x0fec5a2e, 0xc9706854, 0x0b40c803, 0x6d555419,\n\t0x0addb179, 0x2073037d, 0x6968116f, 0x1f6e6407, 0xffde61a1,\n\t0x54204350, 0x59736c27, 0x2de40d43, 0x2ea36370, 0x9d5dc358,\n\t0x1e2f06d4, 0x8071b569, 0x2f701b11, 0x7f014b70, 0x1a7307c2,\n\t0x2a7550d9, 0xc52c2c52, 0xeac518b8, 0x16431995, 0x63226066,\n\t0xdc0c0bb7, 0x08ce0ee2, 0x0283c010, 0xdb40cce9, 0x5a0c940c,\n\t0xb78a50b8, 0x8781b15e, 0xd6821cb4, 0xbda35c16, 0xfe15eefd,\n\t0x0e8920c2, 0xf9810352, 0xb90373ce, 0xb6ec4f04, 0x320e7037,\n\t0x8a0354dd, 0x095c0507, 0x36230327, 0xef1c49dd, 0x085f7789,\n\t0x2daf4e97, 0x2c1ec524, 0xf8a67060, 0x28e09740, 0x032a9303,\n\t0xdb80ad79, 0x730470b6, 0xbb23a886, 0x0e6e344c, 0x4d1544de,\n\t0x6b754ea6, 0x1adb6e82, 0x6a39a52c, 0x0d176109, 0xda1b7313,\n\t0x570954b6, 0x745f0e13, 0x1d22e44f, 0xfe7f8ddd, 0x123c1975,\n};\n\nDWORD GetRandom(DWORD MinNum,DWORD MaxNum)\n{\n\tULONGLONG TickCount;\n\tDWORD Random,Tmp,RMemDw,Delta;\n\tstatic DWORD RMemIndex=0;\n\tstatic DWORD Seek=0;\n\n\tUpdateTickCount(&TickCount);\n\tRandom=(DWORD)TickCount;\n\tif(RMemIndex>=sizeof(gRandomMem)-4)\n\t\tRMemIndex=0;\n\telse\n\t\tRMemIndex++;\n\n\tTmp=Random+GET_DWORD(gRandomMem,RMemIndex);\n\tRMemDw=gRandomMem[Tmp%(sizeof(gRandomMem)-4)];\n\tfor(int n=0;n<32;n++)\n\t{\n\t\tTmp^=gRandomMem[(Seek+n)%sizeof(gRandomMem)];\n\t\tRMemDw=Seek;\n\t\tRandom-=Tmp;\n\t\tRandom+=RMemDw;\n\t\tRandom^=Seek;\n\t}\n\tSeek=Random;\n\n\tif(MaxNum<MinNum)\n\t\treturn MinNum;\n\tif(MaxNum==MinNum)\n\t\treturn MinNum;\n\n\tDelta=MaxNum-MinNum;\n\tif(Delta+1!=0)\n\t\tRandom%=Delta+1;\n\tRandom=Random+MinNum;\n\treturn Random;\n}\n\nvoid SetRandomMem(void*Buffer,int Size)\n{\n\tfor(int n=0;n<Size;n++)\n\t\t((BYTE*)Buffer)[n]=(BYTE)GetRandom(0,0xff);\n}\n\nDWORD PrevRandom = 0;\nvoid InitStaticRandom(DWORD Seed)\n{\n\tPrevRandom = Seed;\n}\n\nDWORD GetStaticRandom(DWORD MinNum,DWORD MaxNum)\n{\n\tDWORD Random,Tmp,RMemDw,Delta;\n\tstatic DWORD RMemIndex=0;\n\tstatic DWORD Seek=0;\t\n\tRandom=PrevRandom;\n\tif(RMemIndex>=sizeof(gRandomMem)-4)\n\t\tRMemIndex=0;\n\telse\n\t\tRMemIndex++;\n\n\tTmp=Random+GET_DWORD(gRandomMem,RMemIndex);\n\tRMemDw=gRandomMem[Tmp%(sizeof(gRandomMem)-4)];\n\tfor(int n=0;n<32;n++)\n\t{\n\t\tTmp^=gRandomMem[(Seek+n)%sizeof(gRandomMem)];\n\t\tRMemDw=Seek;\n\t\tRandom-=Tmp;\n\t\tRandom+=RMemDw;\n\t\tRandom^=Seek;\n\t}\n\tSeek=Random;\n\n\tif(MaxNum<MinNum)\n\t\treturn MinNum;\n\tif(MaxNum==MinNum)\n\t\treturn MinNum;\n\n\tDelta=MaxNum-MinNum;\n\tif(Delta+1!=0)\n\t\tRandom%=Delta+1;\n\tRandom=Random+MinNum;\n\treturn Random;\n\n}\n\n\nNAME_SPACE_END\n\n"
  },
  {
    "path": "Project/Code/Source/SysDep.h",
    "content": "#ifndef _SYS_DEP_H_\n#define _SYS_DEP_H_\n\nNAME_SPACE_BEGIN\n////////////////////////////////////////////////////\n//߳\n////////////////////////////////////////////////////\ntypedef void (*THREAD_PROC)();\n\nDWORD\tCreateThread(THREAD_PROC pFunc);\nbool\tSuspendThread(DWORD ThreadID);\nbool\tResumeThread(DWORD ThreadID);\nbool\tTerminateThread(DWORD ThreadID);\n#ifdef\tCODE_OS_UNIX\nDWORD\tCreateThreadDetach(THREAD_PROC pFunc);\n#include <pthread.h>\ntypedef struct _CRITICAL_SECTION\n{\n\tpthread_mutex_t LockSemaphore;\n}CRITICAL_SECTION,*LPCRITICAL_SECTION;\nvoid InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection);\nvoid DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection);\nvoid EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);\nvoid LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection);\nbool TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);\n#endif //CODE_OS_UNIX\n\n////////////////////////////////////////////////////\n//ͬ\n////////////////////////////////////////////////////\nextern DWORD dwCPUMHz;\nextern ULONGLONG TmpDrvCurTickCount;\nextern ULONGLONG TmpDrvPrevTickCount;\nvoid\tInitTickCount();\nvoid\tUpdateTickCount(ULONGLONG*pTickCount);\nDWORD\tGetRandom(DWORD MinNum,DWORD MaxNum);\nvoid\tSetRandomMem(void*Buffer,int Size);\nvoid\tInitStaticRandom(DWORD Seed);\nDWORD\tGetStaticRandom(DWORD MinNum,DWORD MaxNum);\n////////////////////////////////////////////////////\n//ļ\n////////////////////////////////////////////////////\nint GetModulePath(PSTR szPathName,bool bSeparator = true);\nint GetModulePath(PWSTR szPathName,bool bSeparator = true);\n\nint\tCodeDebugPrintf(PCSTR Format,...);\nbool ReadDwordValueRegistry(WCHAR *pValue,DWORD *pdwRetValue,WCHAR *pKey);\nbool WriteDwordValueRegistry(WCHAR *pValue,DWORD dwValue,WCHAR *pKey);\nbool WriteStringValueRegistry(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey);\nbool GetSystemRootPath(WCHAR* RegistryServiceName,WCHAR* SystemPathBuffer ,ULONG SystemPathLen);\nNAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/TStrMem.h",
    "content": "#ifndef _TSTRMEM_H_\n#define _TSTRMEM_H_\n\nNAME_SPACE_BEGIN\n\ntemplate<class CHAR_TYPE,class MODULE_CHAR_TYPE>\nbool TCmpModuleName(IN const CHAR_TYPE*FileName,IN const MODULE_CHAR_TYPE*ModuleName)\n{\n\tCHAR_TYPE FileCmpName[MAX_FN_LEN],*pStr;\n\tMODULE_CHAR_TYPE ModuleCmpName[MAX_FN_LEN];\n\tpStr = TStrRChr(ModuleName,(MODULE_CHAR_TYPE)PATH_SEPARATOR_CHAR);\n\tif(pStr)\n\t\treturn TStrICmp(FileName,ModuleName)==0;\n\tpStr = TStrRChr(ModuleName,(MODULE_CHAR_TYPE)'.');\n\tif(pStr && TStrRChr(FileName,(MODULE_CHAR_TYPE)'.')==NULL)\n\t\tpStr = NULL;\n\tif(pStr)\n\t{\n\t\tTStrCpy(FileCmpName,TGetFileName(FileName));\n\t\tTStrCpy(ModuleCmpName,TGetFileName(ModuleName));\n\t}\n\telse\n\t{\n\t\tTGetFileTitle(FileName,FileCmpName);\n\t\tTGetFileTitle(ModuleName,ModuleCmpName);\n\t}\n\treturn TStrICmp(FileCmpName,ModuleCmpName)==0;\n}\n\n#define HEX_CHAR(h)\t\t(h<=9?'0'+h:'A'+h-10)\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*THexBytesToStr(IN BYTE* Hex,OUT CHAR_TYPE*String,IN int nHex,IN int Length,IN const CHAR_TYPE*szSpc=NULL)\n{\n    BYTE tmp,Data;\n\tCHAR_TYPE*pStr;\n    int LeftLen,Turn=2*Length,StrLen=0,n;\n\n\tif(szSpc)\n\t{\n\t\tStrLen=TStrLen(szSpc);\n\t\tTurn+=StrLen;\n\t}\n\t\n\tfor(n=0;n<nHex/Length;n++)\n\t{\n\t\tpStr=&String[n*Turn+2*Length];\n\t\tif(szSpc)\n\t\t\tTStrCpy(pStr,szSpc);\n\t\tfor(int m=0;m<Length;m++)\n\t\t{\n\t\t\tData=Hex[n*Length+m];\n\t\t\ttmp=Data%0x10;\n\t\t\tpStr--;\n\t\t\t*pStr=HEX_CHAR(tmp);\n\t\t\ttmp=Data>>4;\n\t\t\tpStr--;\n\t\t\t*pStr=HEX_CHAR(tmp);\n\t\t}\n\t}\n\tLeftLen=nHex%Length;\n\tif(LeftLen)\n\t{\n\t\tpStr=&String[n*Turn+2*LeftLen];\n\t\tfor(int m=0;m<LeftLen;m++)\n\t\t{\n\t\t\tData=Hex[n*Length+m];\n\t\t\ttmp=Data%0x10;\n\t\t\tpStr--;\n\t\t\t*pStr=HEX_CHAR(tmp);\n\t\t\ttmp=Data>>4;\n\t\t\tpStr--;\n\t\t\t*pStr=HEX_CHAR(tmp);\n\t\t}\n\t\tStrLen=0;\n\t}\n\tpStr=&String[n*Turn-StrLen+LeftLen*2];\n\t*pStr=0;\n\treturn pStr;\n}\n\ntemplate<class CHAR_TYPE>\nvoid THexBytesToASCII(IN BYTE*Hex,OUT CHAR_TYPE*String,IN int nHex)\n{\n\tint n;\n\tfor(n=0;n<nHex;n++)\n\t{\n\t\tString[n]=Hex[n];\n\t\tif(String[n]<' ')\n\t\t\t\tString[n]='.';\n\t}\n\tString[n]=0;\n}\n\ntemplate<class CHAR_TYPE>\nint THexStrToBytes(IN const CHAR_TYPE*HexString,OUT BYTE*Mem,int MaxLength=32)\n{\n\tCHAR_TYPE Char;\n\tBYTE Hex;\n\tint n=0;\n\twhile(*HexString && n<MaxLength)\n\t{\n\t\tChar = HexString[1];\n\t\tif(Char>='0'&&Char<='9')\n\t\t\tHex=Char-'0';\n\t\telse if(Char>='A'&&Char<='F')\n\t\t\tHex=Char-'A'+10;\n\t\telse if(Char>='a'&&Char<='f')\n\t\t\tHex=Char-'a'+10;\n\t\telse return 0;\n\t\tChar = *HexString;\n\t\tif(Char>='0'&&Char<='9')\n\t\t\tHex+=(Char-'0')*16;\n\t\telse if(Char>='A'&&Char<='F')\n\t\t\tHex+=(Char-'A'+10)*16;\n\t\telse if(Char>='a'&&Char<='f')\n\t\t\tHex+=(Char-'a'+10)*16;\n\t\telse return 0;\n\t\tHexString+=2;\n\t\tChar = *HexString;\n\t\tif(Char==' ' || Char==',')\n\t\t\tHexString++;\n\t\tMem[n++]=Hex;\n\t}\n\treturn n;\n}\n\ntemplate<class CHAR_TYPE>\nDWORD TGetNameCode(CHAR_TYPE*Name)\n{\n\tint Len;\n\tWORD Word=0;\n\tBYTE Byte=0;\n\tLen=TStrLen(Name);\n\tfor(int n=0;n<Len;n++)\n\t{\n\t\tByte+=(BYTE)Name[n];\n\t\tWord+=(WORD)Name[n];\n\t}\n\treturn MAKE_DWORD(Word,MAKE_WORD(Byte,Len));\n}\n\ntemplate<class CHAR_TYPE>\nvoid TCorrectFileName(CHAR_TYPE*Name)\n{\n\twhile(*Name)\n\t{\n\t\tif(TStrChr(\"\\\\/:*?\\\"<>|\",*Name))\n\t\t\t*Name='_';\n\t\tName++;\n\t}\n}\ntemplate<class TYPE>\nTYPE*TStrTrimBefore(TYPE*buf,DWORD *Pos)\n{\n\tint i;\n\tfor(i=0;buf[i];i++)\n\t\tif(buf[i]==' '||buf[i]=='\\t')\n\t\t\tcontinue;\n\t\telse\n\t\t\tbreak;\n\tif(!buf[i])\n\t\ti=0;\n\tif(Pos)\n\t\t*Pos=i;\n\treturn buf+i;\n}\n\ntemplate<class TYPE>\nTYPE*TStrTrimAfter(TYPE*buf,DWORD* Pos)\n{\n\tint i;\n\tfor(i = 0;buf[i];)i++;\n\ti--;\n\tfor(;i;i--)\n\t\tif(buf[i]==' '||buf[i]=='\\t')\n\t\t\tcontinue;\n\t\telse\n\t\t\tbreak;\n\tif(Pos)\n\t\t*Pos=i;\n\tif(i)\n\t\t(*Pos)++;\n\telse\n\t{\n\t\tif(buf[i]==' '||buf[i]=='\\t')\n\t\t{\n\t\t\treturn buf;\n\t\t}\n\t\treturn NULL;\t\n\t}\n\treturn buf+i;\n}\ntemplate<class TYPE>\nTYPE TStrTrim(TYPE buf,DWORD* Len)\n{\n\tint m,j;\n\tint i;\n\tfor(i = 0;buf[i];i++)\n\t\tif(buf[i]==' '||buf[i]=='\\t')\n\t\t\tcontinue;\n\t\telse\n\t\t\tbreak;\n\n\tfor(j=i;buf[j];j++);\n\tm=j-1;\n\tfor(;m>=i;m--)\n\t\tif(buf[m]!=' '&&buf[m]!='\\t')\n\t\t\tbreak;\n\tif(Len)\n\t\t*Len=m+1-i;\n\treturn buf[i]?buf+i:buf;\n}\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/TXTFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"TXTFile.h\"\n\nNAME_SPACE_BEGIN\n\nCTXTFile::CTXTFile()\n{\n}\n\nCTXTFile::~CTXTFile()\n{\n\tfor(TTXTStrList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tdelete *Iter;\n\tm_StrList.Clear();\n}\n\nbool CTXTFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tchar*FileBuffer;\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t\treturn false;\n\tFileBuffer=new CHAR[m_FileSize+1];\n\tFileBuffer[m_FileSize]=0;\n\tReadFile(0,FileBuffer,m_FileSize);\n\tif(_GET_WORD(FileBuffer)==0xFEFF)\n\t{\n\t\tdelete FileBuffer;\n\t\tClose();\n\t\treturn false;\n\t}\n\tSplitLine(FileBuffer,m_FileSize);\n\tdelete FileBuffer;\n\treturn true;\n}\n\nint CTXTFile::SplitLine(PCSTR FileBuffer,ULLSIZE BufferSize)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tchar*szLine;\n\n\tnBegin=nOffset=0;\n\twhile(nOffset<BufferSize)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new char[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.Append(szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tif(nOffset!=nBegin)\n\t{\n\t\tnEnd = nOffset;\n\t\tszLine=new char[nEnd-nBegin+1];\n\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\tszLine[nEnd-nBegin]=0;\n\t\tm_StrList.Append(szLine);\n\t}\n\treturn m_StrList.Count();\n}\n\nbool CTXTFile::Open(PCSTR szTXTBuffer,ULLSIZE BufSize)\n{\n\tSplitLine(szTXTBuffer,BufSize);\n\treturn true;\n}\n\nbool CTXTFile::Save(PCSTR FileName)\n{\n\tULSIZE\tLength;\n\tchar*FileBuffer,*pStr;\n\tbool bClose=false;\n\tif(TStrCmp(FileName,(PCSTR)m_ImageName)==0)\n\t{\n\t\tCImageFile::Close();\n\t\tbClose=true;\n\t}\n\n\tLength=0;\n\tfor(TTXTStrList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tLength=Length+TStrLen(*Iter)+sizeof(\"\\r\\n\")-1;\n\n\tFileBuffer=new char[Length+1];\n\tFileBuffer[Length]=0;\n\tpStr=FileBuffer;\n\tfor(TTXTStrList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t{\n\t\tTStrCpy(pStr,*Iter);\n\t\tTStrCat(pStr,\"\\r\\n\");\n\t\tpStr+=TStrLen(pStr);\n\t}\n\tm_pFileIO->WriteToFile(FileName,FileBuffer,Length);\n\tif(bClose)\n\t\treturn CImageFile::Open(FileName);\n\treturn true;\n}\n\nvoid CTXTFile::Close()\n{\n\tCImageFile::Close();\n\tfor(TTXTStrList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tdelete *Iter;\n\tm_StrList.Clear();\n}\n\nbool CTXTFile::Insert(ULPOS nLine,ULPOS nCol,char*szBuffer)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tULSIZE Length;\n\tchar*FileBuffer,*pStr,*szLine;\n\tTTXTStrList::IT Iter=m_StrList.Begin();\n\twhile(nLine)\n\t{\n\t\tif(Iter==m_StrList.End())\n\t\t\treturn false;\n\t\tnLine--;\t\t\n\t\tIter++;\n\t}\n\tLength=TStrLen(*Iter);\n\tif(Length<=nCol)\n\t\treturn false;\n\tLength+=TStrLen(szBuffer);\n\tFileBuffer = new char[Length+1];\n\tpStr=FileBuffer;\n\tTStrNCpy(pStr,*Iter,nCol);\n\tpStr[nCol]=0;\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,szBuffer);\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,&(*Iter)[nCol]);\n\tdelete *Iter;\n\tTTXTStrList::IT DelIter;\n\tDelIter=Iter;\n\tIter++;\n\tm_StrList.Remove(DelIter);\n\n\tnOffset=0;\n\tnBegin=0;\n\twhile(nOffset<Length)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new char[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.InsertAfter(Iter,szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tdelete FileBuffer;\n\treturn true;\n}\n\nbool CTXTFile::Replace(ULPOS nLine,ULPOS nCol,char*szBuffer,ULSIZE Replen)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tULSIZE Length;\n\tchar*FileBuffer,*pStr,*szLine;\n\n\tTTXTStrList::IT Iter=m_StrList.Begin();\n\twhile(nLine)\n\t{\n\t\tif(Iter==m_StrList.End())\n\t\t\treturn false;\n\t\tnLine--;\n\t\tIter++;\n\t}\n\tLength=TStrLen(*Iter);\n\tif(Length<=nCol+Replen)\n\t\treturn false;\n\tLength+=TStrLen(szBuffer);\n\tFileBuffer = new char[Length+1];\n\tpStr=FileBuffer;\n\tTStrNCpy(pStr,*Iter,nCol);\n\tpStr[nCol]=0;\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,szBuffer);\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,&(*Iter)[nCol+Replen]);\n\tdelete *Iter;\n\tTTXTStrList::IT DelIter;\n\tDelIter=Iter;\n\tIter++;\n\tm_StrList.Remove(DelIter);\n\n\tnOffset=0;\n\tnBegin=0;\n\twhile(nOffset<Length)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new char[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.InsertAfter(Iter,szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tdelete FileBuffer;\n\treturn true;\n}\n\n//////////////////////////////////////////////////////////Unicode/////////////////////////////////////////////////////////////////////////\n\nCUTXTFile::CUTXTFile()\n{\n}\n\nCUTXTFile::~CUTXTFile()\n{\n\tfor(TTXTStrWList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tdelete *Iter;\n\tm_StrList.Clear();\n}\n\nbool CUTXTFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tBYTE*FileBuffer;\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t\treturn false;\n\tFileBuffer=new BYTE[m_FileSize+2];\n\tFileBuffer[m_FileSize]=0;\n\tFileBuffer[m_FileSize+1]=0;\n\tReadFile(0,FileBuffer,m_FileSize);\n\tif(_GET_WORD(FileBuffer)!=0xFEFF)\n\t{\n\t\tdelete FileBuffer;\n\t\tClose();\n\t\treturn false;\n\t}\n\tSplitLine((PCWSTR)&FileBuffer[2],m_FileSize);\n\tdelete FileBuffer;\n\treturn true;\n}\n\nint CUTXTFile::SplitLine(PCWSTR FileBuffer,ULLSIZE BufferSize)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tWCHAR*szLine;\n\n\tnBegin=nOffset=0;\n\twhile(nOffset<BufferSize/2)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new WCHAR[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.Append(szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tif(nOffset!=nBegin)\n\t{\n\t\tnEnd = nOffset;\n\t\tszLine=new WCHAR[nEnd-nBegin+1];\n\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\tszLine[nEnd-nBegin]=0;\n\t\tm_StrList.Append(szLine);\n\t}\n\treturn m_StrList.Count();\n}\n\nbool CUTXTFile::Open(PCWSTR szTXTBuffer,ULLSIZE BufSize)\n{\n\tSplitLine(szTXTBuffer,BufSize);\n\treturn true;\n}\n\nbool CUTXTFile::Save(PCSTR FileName)\n{\n\tULSIZE\tLength;\n\tWCHAR*FileBuffer,*pStr;\n\tbool bClose=false;\n\tif(TStrCmp(FileName,(PCSTR)m_ImageName)==0)\n\t{\n\t\tCImageFile::Close();\n\t\tbClose=true;\n\t}\n\n\tLength=0;\n\tfor(TTXTStrWList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tLength=Length+TStrLen(*Iter)+sizeof(\"\\r\\n\")-1;\n\n\tFileBuffer=new WCHAR[Length+1];\n\tFileBuffer[Length]=0;\n\tpStr=FileBuffer;\n\tfor(TTXTStrWList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t{\n\t\tTStrCpy(pStr,*Iter);\n\t\tTStrCat(pStr,\"\\r\\n\");\n\t\tpStr+=TStrLen(pStr);\n\t}\n\tm_pFileIO->WriteToFile(FileName,FileBuffer,Length*2);\n\tif(bClose)\n\t\treturn CImageFile::Open(FileName);\n\treturn true;\n}\n\nvoid CUTXTFile::Close()\n{\n\tCImageFile::Close();\n\tfor(TTXTStrWList::IT Iter=m_StrList.Begin();Iter!=m_StrList.End();Iter++)\n\t\tdelete *Iter;\n\tm_StrList.Clear();\n}\n\nbool CUTXTFile::Insert(ULPOS nLine,ULPOS nCol,WCHAR*szBuffer)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tULSIZE Length;\n\tWCHAR*FileBuffer,*pStr,*szLine;\n\tTTXTStrWList::IT Iter=m_StrList.Begin();\n\twhile(nLine)\n\t{\n\t\tif(Iter==m_StrList.End())\n\t\t\treturn false;\n\t\tnLine--;\t\t\n\t\tIter++;\n\t}\n\tLength=TStrLen(*Iter);\n\tif(Length<=nCol)\n\t\treturn false;\n\tLength+=TStrLen(szBuffer);\n\tFileBuffer = new WCHAR[Length+1];\n\tpStr=FileBuffer;\n\tTStrNCpy(pStr,*Iter,nCol);\n\tpStr[nCol]=0;\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,szBuffer);\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,&(*Iter)[nCol]);\n\tdelete *Iter;\n\tTTXTStrWList::IT DelIter;\n\tDelIter=Iter;\n\tIter++;\n\tm_StrList.Remove(DelIter);\n\n\tnOffset=0;\n\tnBegin=0;\n\twhile(nOffset<Length)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new WCHAR[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.InsertAfter(Iter,szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tdelete FileBuffer;\n\treturn true;\n}\n\nbool CUTXTFile::Replace(ULPOS nLine,ULPOS nCol,WCHAR*szBuffer,ULSIZE Replen)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tULSIZE Length;\n\tWCHAR*FileBuffer,*pStr,*szLine;\n\n\tTTXTStrWList::IT Iter=m_StrList.Begin();\n\twhile(nLine)\n\t{\n\t\tif(Iter==m_StrList.End())\n\t\t\treturn false;\n\t\tnLine--;\n\t\tIter++;\n\t}\n\tLength=TStrLen(*Iter);\n\tif(Length<=nCol+Replen)\n\t\treturn false;\n\tLength+=TStrLen(szBuffer);\n\tFileBuffer = new WCHAR[Length+1];\n\tpStr=FileBuffer;\n\tTStrNCpy(pStr,*Iter,nCol);\n\tpStr[nCol]=0;\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,szBuffer);\n\tpStr+=TStrLen(pStr);\n\tTStrCpy(pStr,&(*Iter)[nCol+Replen]);\n\tdelete *Iter;\n\tTTXTStrWList::IT DelIter;\n\tDelIter=Iter;\n\tIter++;\n\tm_StrList.Remove(DelIter);\n\n\tnOffset=0;\n\tnBegin=0;\n\twhile(nOffset<Length)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tszLine=new WCHAR[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.InsertAfter(Iter,szLine);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tdelete FileBuffer;\n\treturn true;\n}\n\nNAME_SPACE_END\n"
  },
  {
    "path": "Project/Code/Source/TXTFile.h",
    "content": "#ifndef _TXT_FILE_H_\n#define _TXT_FILE_H_\n\n#include \"alt/alt.hpp\"\n#include \"ImageFile.h\"\n\nNAME_SPACE_BEGIN\n\ntypedef TList<PSTR>\t\t\tTTXTStrList;\n\nclass CTXTFile : public CImageFile\n{\npublic:\n\tCTXTFile();\n\t~CTXTFile();\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tbool\tOpen(PCSTR szTXTBuffer,ULLSIZE BufferSize);\n\tint\t\tSplitLine(PCSTR Buffer,ULLSIZE BufferSize);\n\tbool\tSave(PCSTR FileName);\n\tvoid\tClose();\n\tbool\tInsert(ULPOS nLine,ULPOS nCol,char*szBuffer);\n\tbool\tReplace(ULPOS nLine,ULPOS nCol,char*szBuffer,ULSIZE Replen);\n\tTTXTStrList\t\tm_StrList;\n};\n\n////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef TList<PWSTR>\t\tTTXTStrWList;\n\nclass CUTXTFile : public CImageFile\n{\npublic:\n\tCUTXTFile();\n\t~CUTXTFile();\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tbool\tOpen(PCWSTR szTXTBuffer,ULLSIZE BufferSize);\n\tint\t\tSplitLine(PCWSTR Buffer,ULLSIZE BufferSize);\n\tbool\tSave(PCSTR FileName);\n\tvoid\tClose();\n\tbool\tInsert(ULPOS nLine,ULPOS nCol,WCHAR*szBuffer);\n\tbool\tReplace(ULPOS nLine,ULPOS nCol,WCHAR*szBuffer,ULSIZE Replen);\n\tTTXTStrWList\tm_StrList;\n};\n\n\nNAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/WinReg.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WinReg.h\"\n \nHKEY OpenReg(HKEY h,PCSTR son)\n{\n\tHKEY res;\n\tif(RegOpenKeyEx(h,son,0,KEY_ALL_ACCESS,&res)==ERROR_SUCCESS)\n    return res;\n    else return 0;\n}\n\nHKEY OpenCreateReg(HKEY h,PCSTR son)\n{\n\tHKEY res;\n\tif(RegCreateKeyEx(h,son,0,NULL,REG_OPTION_NON_VOLATILE,\n\t\t              KEY_ALL_ACCESS,NULL,&res,NULL)==ERROR_SUCCESS)\n    return res;\n    else return 0;\n}\n\nvoid CloseReg(HKEY h) \n{\n     RegCloseKey(h);\n}\n\nbool GetRegValue(HKEY h,PCSTR name,void* value)\n{\n\tDWORD size=1024;\n\treturn RegQueryValueEx(h,name,0,NULL,(PBYTE)value,&size)==ERROR_SUCCESS;\n}\n\nbool SetRegValue(HKEY h,PCSTR name,void* value,int type)\n{\n    DWORD size;\n\tswitch(type)\n\t{\n\t case REG_DWORD:size=4;\n\t\t            break;\n\t case REG_SZ   :size=(DWORD)strlen((char*)value);\n\t                break;\n\t default:       size=0;\n\t\t            break;\n\t} \t\n\treturn RegSetValueEx(h,name,0,type,(PBYTE)value,size)==ERROR_SUCCESS;\n}\n\nbool GetRegValueEx(PCSTR KeyValue,void* value,int Size)\n{\n\tDWORD Type;\n    HKEY hRoot,hKey;\n    char KeyValueBuf[256];\n\tchar *p,*p1,*p2;\n\n\tstrcpy_s(KeyValueBuf,sizeof(KeyValueBuf),KeyValue);\n    p=KeyValueBuf;\n\tp1=strchr (KeyValueBuf,'\\\\');\n    p2=strrchr(KeyValueBuf,'\\\\');\n\n\t*p2=*p1='\\0';\n\tp1++;\n\tp2++;\n\t\n\t     if(strcmp(p,\"HKCR\")==0)hRoot=HKEY_CLASSES_ROOT;\n\telse if(strcmp(p,\"HKCU\")==0)hRoot=HKEY_CURRENT_USER;\n\telse if(strcmp(p,\"HKLM\")==0)hRoot=HKEY_LOCAL_MACHINE;\n\telse if(strcmp(p,\"HKU\" )==0)hRoot=HKEY_USERS;\n\telse if(strcmp(p,\"HKCC\")==0)hRoot=HKEY_CURRENT_CONFIG;\n\telse if(strcmp(p,\"HKDD\")==0)hRoot=HKEY_DYN_DATA;\n    else return false;\n\t\n\tif(RegOpenKeyEx(hRoot,p1,0,KEY_QUERY_VALUE,&hKey)!=ERROR_SUCCESS)\n\t\treturn false;\n\n    if(RegQueryValueEx(hKey,p2,0,&Type,(PBYTE)value,(DWORD*)&Size)!=ERROR_SUCCESS)\n\t{\n        RegCloseKey(hKey);\n        return false;\n    }\n\n\tRegCloseKey(hKey);\n    return true;\n}\n\nbool SetRegValueEx(PCSTR KeyValue,void* value,int type,int Size)\n{\n    HKEY hRoot,hKey;\n    DWORD size;\n    char KeyValueBuf[256];\n\tchar *p,*p1,*p2;\n\n\tstrcpy_s(KeyValueBuf,sizeof(KeyValueBuf),KeyValue);\n    p=KeyValueBuf;\n\tp1=strchr (KeyValueBuf,'\\\\');\n    p2=strrchr(KeyValueBuf,'\\\\');\n\n\t*p2=*p1='\\0';\n\tp1++;\n\tp2++;\n\t\n\t     if(strcmp(p,\"HKCR\")==0)hRoot=HKEY_CLASSES_ROOT;\n\telse if(strcmp(p,\"HKCU\")==0)hRoot=HKEY_CURRENT_USER;\n\telse if(strcmp(p,\"HKLM\")==0)hRoot=HKEY_LOCAL_MACHINE;\n\telse if(strcmp(p,\"HKU\" )==0)hRoot=HKEY_USERS;\n\telse if(strcmp(p,\"HKCC\")==0)hRoot=HKEY_CURRENT_CONFIG;\n\telse if(strcmp(p,\"HKDD\")==0)hRoot=HKEY_DYN_DATA;\n    else return false;\n\n\t\n\tif(RegCreateKeyEx(hRoot,p1,0,NULL,REG_OPTION_NON_VOLATILE,\n\t\t              KEY_SET_VALUE,NULL,&hKey,NULL)!=ERROR_SUCCESS)\n    return false;\n\n\tif(Size==0)\n\t{\n\t\tswitch(type)\n\t\t{\n\t\tcase REG_DWORD:size=4;\n\t\t\tbreak;\n\t\tcase REG_SZ   :size=(DWORD)strlen((PCHAR)value);\n\t\t\tbreak;\n\t\tcase REG_QWORD:size=8;\n\t\t\tbreak;\n\t\tdefault:       size=0;\n\t\t\tbreak;\n\t\t}\n\t}\n\telse\n\t\tsize = Size;\n\n\tif(RegSetValueEx(hKey,p2,0,type,(PBYTE)value,size)!=ERROR_SUCCESS)\n\t{\n        RegCloseKey(hKey);\n        return false;\n    }\n\n\tRegCloseKey(hKey);\n    return true;\n}\n\nbool DelReg(HKEY h,PCSTR sub)\n{\n    return RegDeleteKey(h,sub)==ERROR_SUCCESS;\n}\n\nbool DelRegValue(HKEY h,PCSTR name)\n{\t\n\treturn RegDeleteValue(h,name)==ERROR_SUCCESS;\n}\n\nbool DelRegValueEx(PCSTR name)\n{\n\tHKEY hRoot,hKey;\n\tchar KeyValueBuf[256];\n\tchar *p,*p1,*p2;\n\n\tstrcpy_s(KeyValueBuf,sizeof(KeyValueBuf),name);\n\tp=KeyValueBuf;\n\tp1=strchr (KeyValueBuf,'\\\\');\n\tp2=strrchr(KeyValueBuf,'\\\\');\n\n\t*p2=*p1='\\0';\n\tp1++;\n\tp2++;\n\n\tif(strcmp(p,\"HKCR\")==0)hRoot=HKEY_CLASSES_ROOT;\n\telse if(strcmp(p,\"HKCU\")==0)hRoot=HKEY_CURRENT_USER;\n\telse if(strcmp(p,\"HKLM\")==0)hRoot=HKEY_LOCAL_MACHINE;\n\telse if(strcmp(p,\"HKU\" )==0)hRoot=HKEY_USERS;\n\telse if(strcmp(p,\"HKCC\")==0)hRoot=HKEY_CURRENT_CONFIG;\n\telse if(strcmp(p,\"HKDD\")==0)hRoot=HKEY_DYN_DATA;\n\telse return false;\n\n\tif(RegOpenKeyEx(hRoot,p1,0,KEY_ALL_ACCESS,&hKey)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegDeleteValue(hKey,p2)!=ERROR_SUCCESS)\n\t{\n\t\tRegCloseKey(hKey);\n\t\treturn false;\n\t}\n\tRegCloseKey(hKey);\n\treturn true;\n}\n\nvoid RegisterFileType(PCSTR FullPrgName,PCSTR OpenName)\n{\n\tHKEY hOpenWith,hCommand;\n\tCHAR FileName[512],ValueBuf[512];\n\tbool bSuccess;\n\t\n\tstrcpy_s(FileName,sizeof(FileName),FullPrgName);\n\tstrcat_s(FileName,sizeof(FileName),\" %1\");\n\t\n\thOpenWith=OpenCreateReg(HKEY_CLASSES_ROOT,OpenName);\n\tif(hOpenWith)\n\t{\n\t\thCommand=OpenCreateReg(hOpenWith,\"command\");\n\t\tif(hCommand)\n\t\t{\n\t\t\tbSuccess=GetRegValue(hCommand,\"\",ValueBuf)==FALSE;\n\t\t\tif(bSuccess==FALSE || (bSuccess && TStrICmp(FileName,ValueBuf)))\n\t\t\t\tSetRegValue(hCommand,\"\",FileName,REG_SZ);\n\t\t\tCloseReg(hCommand);\n\t\t}\n\t\tCloseReg(hOpenWith);\n\t}\n}\n\nvoid UnregisterFileType(PCSTR OpenName)\n{\n\tHKEY hKey;\n\tCHAR RegName[256],*pStr;\n\t\n\thKey=OpenReg(HKEY_CLASSES_ROOT,OpenName);\n\tif(hKey)\n\t{\n\t\tDelReg(hKey,\"command\");\n\t\tCloseReg(hKey);\n\t\tstrcpy_s(RegName,sizeof(RegName),OpenName);\t\t\n\t\tpStr=strrchr(RegName,'\\\\');\n\t\tif(pStr)\n\t\t{\n\t\t\t*pStr=0;\n\t\t\t*pStr++;\n\t\t\thKey=OpenReg(HKEY_CLASSES_ROOT,RegName);\n\t\t\tif(hKey)\n\t\t\t{\n\t\t\t\tDelReg(hKey,pStr);\n\t\t\t\tCloseReg(hKey);\n\t\t\t}\t\t\t\t\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "Project/Code/Source/WinReg.h",
    "content": "#ifndef _WIN_REG_H_\n#define _WIN_REG_H_\n\n#define HKCR             HKEY_CLASSES_ROOT\n#define HKCU             HKEY_CURRENT_USER\n#define HKLM             HKEY_LOCAL_MACHINE\n#define HKU\t\t         HKEY_USERS\n#define HKCC\t         HKEY_CURRENT_CONFIG\n#define HKDD\t         HKEY_DYN_DATA\n\n#define SUB_RUN          \"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run\"\n#define SUB_RUNSERVICES  \"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\RunServices\"\n#define SUB_EXPLORER     \"Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\Explorer\"\n#define VALUE_NODRV      \"HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Policies\\\\Explorer\\\\NoDrives\"\n\nHKEY OpenCreateReg(HKEY h,PCSTR son);\nHKEY OpenReg(HKEY h,PCSTR son);\nvoid CloseReg(HKEY h);\nbool SetRegValue(HKEY h,PCSTR name,void* value,int type);\nbool SetRegValueEx(PCSTR KeyValue,void* value,int type,int Size = 0);\nbool GetRegValue(HKEY h,PCSTR name,void* value);\nbool GetRegValueEx(PCSTR KeyValue,void* value,int Size);\nbool DelReg(HKEY h,PCSTR sub);\nbool DelRegValue(HKEY h,PCSTR name);\nbool DelRegValueEx(PCSTR name);\nvoid RegisterFileType(PCSTR FullPrgName,PCSTR OpenName);\nvoid UnregisterFileType(PCSTR OpenName);\n\n\n#endif"
  },
  {
    "path": "Project/Code/Source/alt/ALTArray.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Array\n//Coded by Finaldoom\n//̬\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _ALT_ARRAY_HPP_\n#define _ALT_ARRAY_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE,int SIZE = 0>\nclass TArray : public ALTObj<VALUE>\n{\npublic:\n\tint\t\tm_Count;\n\tint\t\tm_Size;\nprotected:\n\tVALUE*\tm_ValueAry;\npublic:\n\tTArray()\n\t{\n\t\tm_Count=m_Size=0;\n\t\tm_ValueAry = NULL;\n\t\tResize(SIZE);\n\t}\n\tTArray(const TArray&Obj)\n\t{\n\t\tCopyConstruct(Obj);\n\t}\n\tTArray(VALUE*pValueAry,int m_Count)\n\t{\n\t\tAttach(pValueAry,m_Count);\n\t}\n\t~TArray()\n\t{\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tDestructArray(m_ValueAry);\n\t\t\tm_ValueAry = NULL;\n\t\t}\n\t\tm_Count=m_Size=0;\n\t}\n\tvoid CopyConstruct(const TArray&Obj)\n\t{\n\t\tm_ValueAry = NULL;\n\t\tm_Count=m_Size=0;\n\t\tResize(Obj.m_Size);\n\t\tfor(int n=0;n<Obj.m_Count;n++)\n\t\t\tAppend(Obj[n]);\n\t}\npublic:\n\tinline int Size(){return m_Size;}\n\tinline int Count(){return m_Count;}\n\tvoid Clear()\n\t{\n\t\tint OldSize = m_Size;\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tDestructArray(m_ValueAry);\n\t\t\tm_ValueAry = NULL;\n\t\t}\n\t\tm_Count=m_Size=0;\n\t\tResize(OldSize);\n\t}\n\tbool Resize(int NewSize)\n\t{\n\t\tif(NewSize==m_Size)\n\t\t\treturn true;\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tDestructArray(m_ValueAry);\n\t\t\tm_ValueAry = NULL;\n\t\t}\n\t\tm_Size = NewSize;\n\t\tif(m_Size)\n\t\t\tm_ValueAry = ConstructArray(m_Size);\n\t\tm_Count=0;\n\t\treturn true;\n\t}\n\tVALUE* Append(const VALUE&Value = *(VALUE*)NULL)\n\t{\n\t\tif(m_Count>=m_Size)\n\t\t\tResize(m_Size*2);\n\t\tif(&Value)\n\t\t\tm_ValueAry[m_Count]=Value;\n\t\tm_Count++;\n\t\treturn &m_ValueAry[m_Count-1];\n\t}\n\toperator VALUE*() const\n\t{\n\t\treturn m_ValueAry;\n\t}\n\tbool Remove()\n\t{\n\t\tif(m_Count<=0)\n\t\t\treturn false;\n\t\tm_Count--;\n\t\treturn true;\n\t}\n\tinline VALUE& operator[](int n)const\n\t{\n\t\treturn m_ValueAry[n];\n\t}\n\tvoid operator=(const TArray&Obj)\n\t{\n\t\tClear();\n\t\tCopyConstruct(Obj);\n\t}\n\tvoid Attach(VALUE*pValueAry,int m_Count)\n\t{\n\t\tClear();\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tDestructArray(m_ValueAry);\n\t\t\tm_ValueAry = NULL;\n\t\t}\n\t\tm_ValueAry = pValueAry;\n\t\tm_Count = m_Count;\n\t\tm_Size = SIZE;\n\t}\n\tvoid Detach()\n\t{\n\t\tm_ValueAry = NULL;\n\t\tm_Count = 0;\n\t\tm_Size = 0;\n\t}\n\tint Find(const VALUE&Value)\n\t{\n\t\tint Index,n;\n\t\tn = m_Count;\n\t\tIndex = 0;\n\t\twhile(n)\n\t\t{\n\t\t\tif(n%2)\n\t\t\t\tn++;\n\t\t\tn/=2;\n\t\t\tIndex+=n;\n\t\t\tif(Value==m_ValueAry[Index])\n\t\t\t\treturn Index;\n\t\t\tif(Value<m_ValueAry[Index])\n\t\t\t\tIndex-=n;\n\t\t}\n\t\treturn -1;\n\t}\npublic:\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Stream.Puts(&m_Size,sizeof(m_Size));\n\t\tLength+=Stream.Puts(&m_Count,sizeof(m_Count));\n\t\tfor(int n=0;n<m_Count;n++)\n\t\t\tLength+=ALTArchiveType::Save(Stream,&m_ValueAry[n],sizeof(VALUE));\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint TotalLength,Length,Num;\n\t\tClear();\n\t\tTotalLength = 0;\n\t\tLength=Stream.Gets(&Num,sizeof(Num));\n\t\tif(Length!=sizeof(Num))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tResize(Num);\n\t\tLength=Stream.Gets(&Num,sizeof(Num));\n\t\tif(Length!=sizeof(Num))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tfor(int n=0;n<Num;n++)\n\t\t{\n\t\t\tLength=Append()->Load(Stream);\n\t\t\tif(Length==0)\n\t\t\t\treturn 0;\n\t\t\tTotalLength+=Length;\n\t\t}\n\t\treturn TotalLength;\n\t}\n};\n\nALT_NAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTBTree.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Map (Binary Tree)\n//Coded by Finaldoom\n//\n//ߣ¿\n#ifndef _ALT_BTREE_H_\n#define _ALT_BTREE_H_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE>\nclass TBTreeNode\n{\npublic:\n\tVALUE\t\tValue;\n\tTBTreeNode*\tpParentNode;\n\tTBTreeNode*\tpLeftNode;\n\tTBTreeNode*\tpRightNode;\n\tint\t\t\tLevel;\n};\n\ntemplate<class VALUE>\nclass TBTreeIter\n{\npublic:\n\ttypedef TBTreeNode<VALUE>\tNODE;\npublic:\n\tNODE*\tm_pNode;\n\tNODE*\tm_pLeftNode;\n\tNODE*\tm_pRightNode;\n\tNODE*\tm_pParentNode;\npublic:\n\tTBTreeIter(){ m_pNode = m_pParentNode = m_pLeftNode = m_pRightNode = NULL;}\n\tTBTreeIter(NODE*pNode){ m_pNode = pNode;\tUpdate();}\n\tvoid operator++(int){ m_pNode = m_pRightNode;\tUpdate();}\n\tvoid operator--(int){ m_pNode = m_pParentNode; Update();}\n\tvoid operator++(){ m_pNode = m_pLeftNode;Update();}\n\tVALUE* operator->(){ return &m_pNode->Value;}\n\tVALUE& operator*(){ return m_pNode->Value;}\n\tbool operator==(NODE*pNode){ return m_pNode == pNode; }\n\tbool operator!=(NODE*pNode){ return m_pNode != pNode; }\n\tbool operator==(const NODE&Iter){ return m_pNode == Iter.m_pNode; }\n\tbool operator!=(const NODE&Iter){ return m_pNode != Iter.m_pNode; }\n\tTBTreeIter GetLeft()const{TBTreeIter Iter(m_pLeftNode);return Iter;}\n\tTBTreeIter GetRight()const{TBTreeIter Iter(m_pRightNode);return Iter;}\nprivate:\n\tvoid Update()\n\t{\n\t\tif(m_pNode)\n\t\t{\n\t\t\tm_pParentNode = m_pNode->pParentNode;\n\t\t\tm_pLeftNode = m_pNode->pLeftNode;\n\t\t\tm_pRightNode = m_pNode->pRightNode;\n\t\t}\n\t\telse\n\t\t\tm_pParentNode = m_pLeftNode = m_pRightNode = NULL;\n\t}\n};\n\ntemplate<class VALUE>\nclass TBTree\n{\npublic:\n\ttypedef TBTreeNode<VALUE>\tNODE;\n\ttypedef TBTreeIter<VALUE>\tIT;\npublic:\n\tNODE*m_pRootNode;\npublic:\n\tTBTree();\n\t~TBTree();\n\tvoid Clear();\n\tIT Root();\n\tIT CreateRoot(const VALUE&Value);\n\tIT InsertLeft(IT&ParentIter,const VALUE&Value);\n\tIT InsertRight(IT&ParentIter,const VALUE&Value);\n\tvoid Remove(const IT&Iter);\n\tvoid Remove(const NODE*pNode);\n};\n\n/////////////////////////////////////////////////////////////////////////////\n//TBTree\n/////////////////////////////////////////////////////////////////////////////\n\ntemplate<class VALUE>\nTBTree<VALUE>::TBTree()\n{\n\tm_pRootNode = NULL;\n}\n\ntemplate<class VALUE>\nTBTree<VALUE>::~TBTree()\n{\n\tClear();\n}\n\ntemplate<class VALUE>\nvoid TBTree<VALUE>::Clear()\n{\n\tRemove(m_pRootNode);\n\tm_pRootNode = NULL;\n}\n\ntemplate<class VALUE>\nTBTreeIter<VALUE> TBTree<VALUE>::Root()\n{\n\tIT Iter;\n\tIter = m_pRootNode;\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nTBTreeIter<VALUE> TBTree<VALUE>::CreateRoot(const VALUE&Value)\n{\n\tIT Iter;\n\tm_pRootNode = new NODE;\n\tm_pRootNode->pParentNode = m_pRootNode->pLeftNode = m_pRootNode->pRightNode = NULL;\n\tm_pRootNode->Value = Value;\n\tm_pRootNode->Level = 0;\n\tIter = m_pRootNode;\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nTBTreeIter<VALUE> TBTree<VALUE>::InsertLeft(IT&ParentIter,const VALUE&Value)\n{\n\tIT Iter;\n\tParentIter.m_pNode->pLeftNode = new NODE;\n\tParentIter.m_pNode->pLeftNode->pParentNode = ParentIter.m_pNode;\n\tParentIter.m_pNode->pLeftNode->pLeftNode = ParentIter.m_pNode->pLeftNode->pRightNode = NULL;\n\tParentIter.m_pNode->pLeftNode->Value = Value;\n\tParentIter.m_pNode->pLeftNode->Level = ParentIter.m_pNode->Level + 1;\n\tIter = ParentIter.m_pNode->pLeftNode;\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nTBTreeIter<VALUE> TBTree<VALUE>::InsertRight(IT&ParentIter,const VALUE&Value)\n{\n\tIT Iter;\n\tParentIter.m_pNode->pRightNode = new NODE;\n\tParentIter.m_pNode->pRightNode->pParentNode = ParentIter.m_pNode;\n\tParentIter.m_pNode->pRightNode->pLeftNode = ParentIter.m_pNode->pRightNode->pRightNode = NULL;\n\tParentIter.m_pNode->pRightNode->Value = Value;\n\tParentIter.m_pNode->pRightNode->Level = ParentIter.m_pNode->Level + 1;\n\tIter = ParentIter.m_pNode->pRightNode;\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nvoid TBTree<VALUE>::Remove(const IT&Iter)\n{\n\tRemove(Iter.m_pNode);\n}\n\ntemplate<class VALUE>\nvoid TBTree<VALUE>::Remove(const NODE*pNode)\n{\n\tif(pNode==NULL)\n\t\treturn;\n\tif(pNode->pLeftNode)\n\t\tRemove(pNode->pLeftNode);\n\tif(pNode->pRightNode)\n\t\tRemove(pNode->pRightNode);\n\tif(m_pRootNode==pNode)\n\t\tm_pRootNode = NULL;\n\tdelete pNode;\n}\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTBase.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//ALT Base Object\n//Coded by Finaldoom\n//ALT\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _ALT_BASE_HPP_\n#define _ALT_BASE_HPP_\n\n#include \"ALTConfig.hpp\"\n\n#ifndef NULL\n#define NULL\t0\n#endif\n\n#ifndef PATH_SEPARATOR_CHAR\n#define PATH_SEPARATOR_CHAR     '\\\\'\n#endif\n\n#ifndef PATH_SEPARATOR_STR\n#define PATH_SEPARATOR_STR      \"\\\\\"\n#endif\n\nALT_NAME_SPACE_BEGIN\n\nclass ALTFileStream\n{\npublic:\n\tvirtual\tint\tPuts(void*Buffer,int Size){return 0;}\n\tvirtual\tint\tGets(void*Buffer,int Size){return 0;}\n};\n\nstruct ALT_EMPTY_STRUCT\n{\n\tint\tSave(ALTFileStream&Stream){return 0;}\n\tint\tLoad(ALTFileStream&Stream){return 0;}\n};\n\nclass ALTEmptyArchive\n{\npublic:\n\tint\tSave(ALTFileStream&Stream){return 0;}\n\tint\tLoad(ALTFileStream&Stream){return 0;}\n};\n\ntemplate<class OBJ>\nclass ALTObj\n{\npublic:\n\tOBJ* Construct(){return new OBJ;}\n\tvoid Destruct(OBJ*pObj){delete pObj;}\n\tOBJ* ConstructArray(int Count){return new OBJ[Count];}\n\tvoid DestructArray(OBJ*pObj){delete[] pObj;}\n\tvoid*ConstructPtrArray(int Count){return new void*[Count];}\n\tvoid DestructPtrArray(void*Ptr){delete[] (void**)Ptr;}\n\tint  Save(ALTFileStream&Stream){return 0;}\n\tint  Load(ALTFileStream&Stream){return 0;}\n};\n\nALT_NAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTConfig.hpp",
    "content": "#ifndef _ALT_CONFIG_HPP_\n#define _ALT_CONFIG_HPP_\n\n//ALT config header file\n#define ALT_FILE_STREAM\t\t\t//support file stream\n#define ALT_NAME_SPACE\t\t\tALT\n\n///////////////////////////////////////////\n//ϵ don't modify\n///////////////////////////////////////////\n#ifdef\tCODE_ASSERT\n#define ALT_ASSERT\t\t\t\tCODE_ASSERT\n#else//\tCODE_ASSERT\n#ifdef\tassert\n#define ALT_ASSERT\t\t\t\tassert\n#endif//assert\n#endif//CODE_ASSERT\n\n#ifndef ALT_ASSERT\n#define ALT_ASSERT\n#endif\n\n#ifdef\tALT_NAME_SPACE\n#define ALT_NAME_SPACE_BEGIN\tnamespace ALT_NAME_SPACE{\n#define ALT_NAME_SPACE_END\t\t}\n#else\n#define ALT_NAME_SPACE_BEGIN\n#define ALT_NAME_SPACE_END\n#endif\n\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTExpCalc.hpp",
    "content": "#ifndef _ALT_EXP_CALC_HPP_\n#define _ALT_EXP_CALC_HPP_\n\nALT_NAME_SPACE_BEGIN\n\n#define FP_VALUE_FUNC_TYPE_DEF\ttypedef VALUE_TYPE (*FPValueFunc)(CHAR_TYPE*pszSym,void*Param)\n#define EXP_CALC_MAX_LEVEL\t\t6\n#define EXP_MAX_OPT_STRLEN\t\t2\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nclass TExpCalcSym\n{\npublic:\n\tenum TYPE\n\t{\n\t\tCONSTANT,\n\t\tPTR,\n\t\tFUNC,\n\t};\n\tFP_VALUE_FUNC_TYPE_DEF;\npublic:\n\tunion\n\t{\n\t\tVALUE_TYPE\tConst;\n\t\tstruct\n\t\t{\n\t\t\tvoid*\tPtr;\n\t\t\tint\t\tLength;\n\t\t}Ptr;\n\t\tstruct\n\t\t{\n\t\t\tFPValueFunc fpValueFunc;\n\t\t\tvoid*\t\tParam;\n\t\t}Func;\n\t}Value;\n\tTYPE Type;\n};\n\nstruct STOptFunc\n{\n\tCStrA\tOptStr;\n\tint\t\tLevel;\n\tvoid*\tOptFunc;\n\tvoid*\tParam;\n};\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE>\nclass TExpItem\n{\npublic:\n\tenum TYPE\n\t{\n\t\tRESULT,\n\t\tSYM,\n\t\tSTR,\n\t\tOPTR\n\t};\n\tunion\n\t{\n\t\tVALUE_TYPE\tValue;\n\t\tSTOptFunc*\tpOptFunc;\n\t\tconst CHAR_TYPE*pStr;\n\t}Value;\n\tTYPE Type;\n\tint\tLength;\n\tconst CHAR_TYPE*ItemStr;\n};\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE = int,bool bIgnoreCase = true>\nclass TExpCalc\n{\npublic:\n\ttypedef TList<STOptFunc>\t\t\t\tSTOptFuncList;\n\ttypedef TExpItem<CHAR_TYPE,VALUE_TYPE>\tSTExpItem;\n\ttypedef TList<STExpItem>\t\t\t\tSTExpItemList;\n\ttypedef TListIter<STExpItem>\t\t\tSTExpItemListIT;\n\ttypedef TString<CHAR_TYPE,bIgnoreCase>\tCExpCalcStr;\n\ttypedef TExpCalcSym<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>\tCExpCalcSym;\n\ttypedef TMap<CExpCalcStr,CExpCalcSym>\t\tCExpCalcSymMap;\n\ttypedef TMapIter<CExpCalcStr,CExpCalcSym>\tCExpCalcSymMapIT;\n\ttypedef STExpItem*(*PFOptFunc)(STExpItemListIT&OptIter,STExpItemList&ExpItemList,void*Param);\n\tFP_VALUE_FUNC_TYPE_DEF;\npublic:\n\tTExpCalc();\n\tbool\tCalcExp(const CHAR_TYPE*ExpStr,VALUE_TYPE*pResult);\n\tbool\tCalcExpA(const CHAR*ExpStr,VALUE_TYPE*pResult);\n\tbool\tCalcExpW(const WCHAR*ExpStr,VALUE_TYPE*pResult);\n\tvirtual bool GetValue (const CHAR_TYPE*szItem,VALUE_TYPE*pValue);\n\tvirtual VALUE_TYPE GetPtrValue(VALUE_TYPE Address){return 0;}\n\tvirtual int GetStringA(VALUE_TYPE Address,PSTR szBuffer,int MaxLen);\n\tvirtual int GetStringW(VALUE_TYPE Address,PWSTR szBuffer,int MaxLen);\n\tvirtual void GetMem(VALUE_TYPE Address,BYTE* Buffer,int Len);\n\n\tbool\tInsertOptFunc(const char*szOpt,int Level,PFOptFunc pfOptFunc,void*Param);\n\tbool\tInsertConstSym(CHAR_TYPE*szSym,VALUE_TYPE Value);\n\tbool\tInsertPtrSym(CHAR_TYPE*szSym,void*pValue,int Length);\n\tbool\tInsertFuncSym(CHAR_TYPE*szSym,FPValueFunc fpFunc,void*Param);\n\tvoid\tClearAllSym();\n\tvoid\tClearConstSym();\n\tvoid\tClearPtrSym();\n\tvoid\tClearFuncSym();\n\tbool\tRemoveSym(CHAR_TYPE*szSym);\n\tbool\tCheckCalcItem(int nPrev,STExpItemListIT&OptIter,int nNext,STExpItemList&ExpItemList);\n\tbool\tRemoveCalcItem(const STExpItemListIT&BeginIter,int Count,STExpItemList&ExpItemList);\n\tbool\tSetPtrValue(const CHAR_TYPE*szValue,VALUE_TYPE Value);\n\tSTOptFuncList\tm_OptFuncList;\n\tCExpCalcSymMap\tm_SymMap;\nprivate:\n\tbool CalcItem(STExpItemListIT&ItemIter,STExpItemList&ExpItemList);\n\tbool GetItemValue(STExpItem*pItem);\n\tbool GetItem(const CHAR_TYPE*ExpStr,STExpItemList&ExpItemList);\n\tSTOptFunc*IsOptString(const CHAR_TYPE*ExpStr);\n\t//////////////////////////////////////////////////////////////////////////////////////////\n\t//ͨò\n\t//////////////////////////////////////////////////////////////////////////////////////////\n\tstatic STExpItem*Null(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*PtrValue(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*LogicAnd(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*LogicOr(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*LogicXor(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*NotBelow(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*NotAbove(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Below(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Above(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Equal(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*NotEqual(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*ShiftRight(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*ShiftLeft(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Add(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Sub(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Mul(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Div(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Mod(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Xor(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Not(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*And(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*Or(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*LeftBracket(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n\tstatic STExpItem*NonOptr(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis);\n};\n\ntypedef TExpCalc<char>\tCExpCalcA;\ntypedef TExpCalc<WCHAR>\tCExpCalcW;\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::TExpCalc()\n{\n\tInsertOptFunc(\"&&\",5,(PFOptFunc)LogicAnd,this);\n\tInsertOptFunc(\"||\",5,(PFOptFunc)LogicOr,this);\n\tInsertOptFunc(\"^^\",5,(PFOptFunc)LogicXor,this);\n\tInsertOptFunc(\">=\",4,(PFOptFunc)NotBelow,this);\n\tInsertOptFunc(\"<=\",4,(PFOptFunc)NotAbove,this);\n\tInsertOptFunc(\"==\",4,(PFOptFunc)Equal,this);\n\tInsertOptFunc(\"!=\",4,(PFOptFunc)NotEqual,this);\n\tInsertOptFunc(\">>\",1,(PFOptFunc)ShiftRight,this);\n\tInsertOptFunc(\"<<\",1,(PFOptFunc)ShiftLeft,this);\n\tInsertOptFunc(\">\",4,(PFOptFunc)Above,this);\n\tInsertOptFunc(\"<\",4,(PFOptFunc)Below,this);\n\tInsertOptFunc(\"+\",3,(PFOptFunc)Add,this);\n\tInsertOptFunc(\"-\",3,(PFOptFunc)Sub,this);\n\tInsertOptFunc(\"*\",2,(PFOptFunc)Mul,this);\n\tInsertOptFunc(\"/\",2,(PFOptFunc)Div,this);\n\tInsertOptFunc(\"%\",2,(PFOptFunc)Mod,this);\n\tInsertOptFunc(\"@\",1,(PFOptFunc)PtrValue,this);\n\tInsertOptFunc(\"^\",1,(PFOptFunc)Xor,this);\n\tInsertOptFunc(\"!\",1,(PFOptFunc)Not,this);\n\tInsertOptFunc(\"&\",1,(PFOptFunc)And,this);\n\tInsertOptFunc(\"|\",1,(PFOptFunc)Or,this);\n\tInsertOptFunc(\"(\",0,(PFOptFunc)LeftBracket,this);\n\tInsertOptFunc(\")\",0,(PFOptFunc)NonOptr,this);\n\tInsertOptFunc(\"\\\"\",0,(PFOptFunc)Null,this);\n\tInsertOptFunc(\"\\'\",0,(PFOptFunc)Null,this);\n}\n\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::CalcExp(const CHAR_TYPE*ExpStr,VALUE_TYPE*pResult)\n{\n\tSTExpItemList ExpItemList;\n\tif(ExpStr==NULL || *ExpStr==0)\n\t{\n\t\t*pResult = 0;\n\t\treturn true;\n\t}\n\tif(GetItem(ExpStr,ExpItemList)==false)\n\t\treturn false;\n\tif(CalcItem(ExpItemList.Begin(),ExpItemList)==false)\n\t\treturn false;\n\tif(pResult)\n\t\t*pResult=ExpItemList.Begin()->Value.Value;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::CalcExpA(const CHAR*ExpStr,VALUE_TYPE*pResult)\n{\n\tCHAR_TYPE szBuffer[512];\n\tif(ExpStr==NULL)\n\t\treturn false;\n\tTStrCpy(szBuffer,ExpStr);\n\treturn CalcExp(szBuffer,pResult);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::CalcExpW(const WCHAR*ExpStr,VALUE_TYPE*pResult)\n{\n\tCHAR_TYPE szBuffer[512];\n\tif(ExpStr==NULL)\n\t\treturn false;\n\tTStrCpy(szBuffer,ExpStr);\n\treturn CalcExp(szBuffer,pResult);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::InsertOptFunc(const char*szOpt,int Level,PFOptFunc pfOptFunc,void*Param)\n{\n\tSTOptFuncList::IT Iter;\n\tint OptLen = TStrLen(szOpt);\n\tfor( Iter = m_OptFuncList.Begin();Iter!=m_OptFuncList.End();Iter++)\n\t{\n\t\tif(Iter->Level>Level || (Iter->Level==Level && OptLen>=Iter->OptStr.Length()) )\n\t\t\tbreak;\n\t}\n\tIter = m_OptFuncList.InsertBefore(Iter);\n\tIter->OptStr = szOpt;\n\tIter->Level = Level;\n\tIter->OptFunc = pfOptFunc;\n\tIter->Param = Param;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::InsertConstSym(CHAR_TYPE*szSym,VALUE_TYPE Value)\n{\n\tCExpCalcSymMapIT Iter = m_SymMap.InsertUnique(szSym);\n\tif(Iter==m_SymMap.End())\n\t\treturn false;\n\tIter->Value.Const = Value;\n\tIter->Type = CExpCalcSym::CONSTANT;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::InsertPtrSym(CHAR_TYPE*szSym,void*pValue,int Length)\n{\n\tCExpCalcSymMapIT Iter = m_SymMap.InsertUnique(szSym);\n\tif(Iter==m_SymMap.End())\n\t\treturn false;\n\tIter->Value.Ptr.Ptr = pValue;\n\tIter->Value.Ptr.Length = Length;\n\tIter->Type = CExpCalcSym::PTR;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::InsertFuncSym(CHAR_TYPE*szSym,FPValueFunc fpFunc,void*Param)\n{\n\tCExpCalcSymMapIT Iter;\n\tIter = m_SymMap.InsertUnique(szSym);\n\tif(Iter==m_SymMap.End())\n\t\treturn false;\n\tIter->Value.Func.fpValueFunc = fpFunc;\n\tIter->Value.Func.Param = Param;\n\tIter->Type = CExpCalcSym::FUNC;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nvoid TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ClearAllSym()\n{\n\tm_SymMap.Clear();\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nvoid TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ClearConstSym()\n{\n\tCExpCalcSymMapIT RemoveIter,Iter=m_SymMap.Begin();\n\twhile(Iter!=m_SymMap.End())\n\t{\n\t\tif(Iter->Type == CExpCalcSym::CONST)\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tm_SymMap.Remove(RemoveIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nvoid TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ClearPtrSym()\n{\n\tCExpCalcSymMapIT RemoveIter,Iter=m_SymMap.Begin();\n\twhile(Iter!=m_SymMap.End())\n\t{\n\t\tif(Iter->Type == CExpCalcSym::PTR)\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tm_SymMap.Remove(RemoveIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nvoid TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ClearFuncSym()\n{\n\tCExpCalcSymMapIT RemoveIter,Iter=m_SymMap.Begin();\n\twhile(Iter!=m_SymMap.End())\n\t{\n\t\tif(Iter->Type == CExpCalcSym::FUNC)\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tm_SymMap.Remove(RemoveIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::RemoveSym(CHAR_TYPE*szSym)\n{\n\tCExpCalcSymMapIT Iter = m_SymMap.Find(szSym);\n\tif(Iter==m_SymMap.End())\n\t\treturn false;\n\tm_SymMap.Remove(Iter);\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nSTOptFunc*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::IsOptString(const CHAR_TYPE*ExpStr)\n{\n\tstatic CHAR_TYPE OptrStr[]=\n\t{\n\t\t'`','~','!','@','#','$','%','^','&','*','(',')','-','+','=',\n\t\t'|','{','}',':',';','\\\"','\\'','<','>',',','.','?','/','\\\\','\\'','\\\"','\\0'\n\t};\n\tif(TStrChr(OptrStr,*ExpStr)==NULL)\n\t\treturn NULL;\n\tfor(int OptLen = EXP_MAX_OPT_STRLEN; OptLen>0 ; OptLen--)\n\t{\n\t\tfor(STOptFuncList::IT FuncIter=m_OptFuncList.Begin();FuncIter!=m_OptFuncList.End();FuncIter++)\n\t\t{\n\t\t\tif(OptLen== FuncIter->OptStr.Length() && TStrNCmp(ExpStr,(const char*)FuncIter->OptStr,FuncIter->OptStr.Length())==0)\n\t\t\t\treturn &(*FuncIter);\n\t\t}\n\t}\n\treturn NULL;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetItemValue(STExpItem*pItem)\n{\n\tCHAR_TYPE NumStr[128];\n\tTStrCpyLimit(NumStr,pItem->ItemStr,pItem->Length+1);\n\tif(GetValue(NumStr,&pItem->Value.Value)==false)\n\t{\n\t\tpItem->Type = STExpItem::SYM;\n\t\treturn false;\n\t}\n\tpItem->Type = STExpItem::RESULT;\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetItem(const CHAR_TYPE*ExpStr,STExpItemList&ExpItemList)\n{\n\tstatic CHAR_TYPE IgnoreStr[]={'\\r','\\n','\\t',' ','\\0'};\n\tSTOptFunc*pOptFunc;\n\tSTExpItem*pExpItem,*PrevItem;\n\tint Begin,End,Length;\n\tLength=TStrLen(ExpStr);\n\tBegin = End = 0;\n\tPrevItem = NULL;\n\twhile(End<Length)\n\t{\n\t\tif(TStrChr(IgnoreStr,ExpStr[End]))\n\t\t{\n\t\t\tif(PrevItem)\n\t\t\t{\n\t\t\t\tPrevItem->Length = End - Begin;\t\t\t\t\t\t\t\t\n\t\t\t\tGetItemValue(PrevItem);\n\t\t\t\tPrevItem = NULL;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpOptFunc = IsOptString(&ExpStr[End]);\n\t\t\tif(pOptFunc)\n\t\t\t{\n\t\t\t\tif(PrevItem)\n\t\t\t\t{\n\t\t\t\t\tPrevItem->Length = End - Begin;\n\t\t\t\t\tGetItemValue(PrevItem);\n\t\t\t\t\tPrevItem = NULL;\n\t\t\t\t}\n\t\t\t\tif(ExpStr[End]=='\\\"' || ExpStr[End]=='\\'')\n\t\t\t\t{\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tpExpItem = &(*ExpItemList.Append());\n\t\t\t\t\tEnd++;\n\t\t\t\t\tBegin = End;\n\t\t\t\t\tpExpItem->ItemStr=&ExpStr[Begin];\n\t\t\t\t\twhile(ExpStr[End] && ExpStr[End]!='\\\"' && ExpStr[End]!='\\'')\n\t\t\t\t\t\tEnd++;\n\t\t\t\t\tpExpItem->Length=End-Begin;\n\t\t\t\t\tpExpItem->Value.pStr=&ExpStr[Begin];\n\t\t\t\t\tpExpItem->Type = STExpItem::STR;\n\t\t\t\t\tBegin = End;\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpExpItem = &(*ExpItemList.Append());\n\t\t\t\t\tpExpItem->ItemStr=&ExpStr[End];\n\t\t\t\t\tpExpItem->Length=pOptFunc->OptStr.Length();\n\t\t\t\t\tpExpItem->Value.pOptFunc=pOptFunc;\n\t\t\t\t\tpExpItem->Type = STExpItem::OPTR;\n\t\t\t\t\tEnd = Begin = End + pExpItem->Length - 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(PrevItem==NULL)\n\t\t\t{\n\t\t\t\tPrevItem = &(*ExpItemList.Append());\n\t\t\t\tPrevItem->ItemStr = &ExpStr[End];\n\t\t\t\tPrevItem->Value.pOptFunc = NULL;\n\t\t\t\tBegin = End;\n\t\t\t}\n\t\t}\n\t\tEnd++;\n\t}\n\tif(PrevItem)\n\t{\n\t\tPrevItem->Length = End - Begin;\n\t\tGetItemValue(PrevItem);\n\t\tPrevItem = NULL;\n\t}\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::CheckCalcItem(int nPrev,STExpItemListIT&OptIter,int nNext,STExpItemList&ExpItemList)\n{\n\tint n;\n\tSTExpItemListIT Iter;\n\tIter = OptIter-1;\n\tfor(n=0;n<nPrev;n++)\n\t{\n\t\tif(Iter == ExpItemList.End())\n\t\t\treturn false;\n\t\tif(Iter->Type != STExpItem::RESULT)\n\t\t\treturn false;\n\t\tIter--;\n\t}\n\tIter = OptIter+1;\n\tfor(n=0;n<nPrev;n++)\n\t{\n\t\tif(Iter == ExpItemList.End())\n\t\t\treturn false;\n\t\tif(Iter->Type != STExpItem::RESULT)\n\t\t\treturn false;\n\t\tIter++;\n\t}\n\treturn true;\t\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::RemoveCalcItem(const STExpItemListIT&BeginIter,int Count,STExpItemList&ExpItemList)\n{\n\tSTExpItemListIT Iter = BeginIter;\n\tfor(int n=0;n<Count;n++)\n\t{\n\t\tif(Iter==ExpItemList.End())\n\t\t\treturn false;\n\t\tIter++;\n\t}\n\tExpItemList.Remove(BeginIter,Iter);\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::CalcItem(STExpItemListIT&ItemIter,STExpItemList&ExpItemList)\n{\n\tSTExpItem*pResult;\n\tSTOptFunc*pOptFunc;\n\tSTExpItemListIT CurItemIter = ItemIter;\n\tfor(int Level=0;Level<EXP_CALC_MAX_LEVEL;Level++)\n\t{\n\t\tCurItemIter=ItemIter;\n\t\twhile(CurItemIter!=ExpItemList.End())\n\t\t{\n\t\t\tif(CurItemIter->Type == STExpItem::OPTR)\n\t\t\t{\n\t\t\t\tpOptFunc=CurItemIter->Value.pOptFunc;\n\t\t\t\tif(pOptFunc->Level==Level)\n\t\t\t\t{\n\t\t\t\t\tpResult = ((PFOptFunc)pOptFunc->OptFunc)(CurItemIter,ExpItemList,this);\n\t\t\t\t\tif(pResult==NULL)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tpResult->Type = STExpItem::RESULT;\n\t\t\t\t\tCurItemIter = *pResult;\n\t\t\t\t}\n\t\t\t}\n\t\t\tCurItemIter++;\n\t\t}\n\t}\n\treturn ExpItemList.Count()==1 && ExpItemList.Begin()->Type == STExpItem::RESULT;\n}\n\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::SetPtrValue(const CHAR_TYPE*szValue,VALUE_TYPE Value)\n{\n\tCExpCalcSymMapIT Iter = m_SymMap.Find(szValue);\n\tif(Iter==m_SymMap.End())\n\t\treturn false;\n\tif(Iter->Type != CExpCalcSym::PTR)\n\t\treturn false;\n\tmemcpy(Iter->Value.Ptr.Ptr,&Value,Iter->Value.Ptr.Length);\n\treturn true;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nbool TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetValue(const CHAR_TYPE*szItem,VALUE_TYPE*pValue)\n{\n\tif(USHexStrToNum(szItem,pValue))\n\t\treturn true;\n\tCExpCalcSymMapIT Iter = m_SymMap.Find(szItem);\n\tif(Iter!=m_SymMap.End())\n\t{\n\t\tswitch(Iter->Type)\n\t\t{\n\t\tcase CExpCalcSym::CONSTANT:\n\t\t\t*pValue = Iter->Value.Const;\n\t\t\tbreak;\n\t\tcase CExpCalcSym::PTR:\n\t\t\t*pValue=0;\n\t\t\tTMemCpy((BYTE*)pValue,(BYTE*)Iter->Value.Ptr.Ptr,Iter->Value.Ptr.Length);\n\t\t\tbreak;\n\t\tcase CExpCalcSym::FUNC:\n\t\t\t*pValue = Iter->Value.Func.fpValueFunc(Iter.Key(),Iter->Value.Func.Param);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nint TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetStringA(VALUE_TYPE Address,PSTR szBuffer,int MaxLen)\n{\n\tCHAR Value;\n\tint Length=0;\n\twhile(Length<MaxLen)\n\t{\n\t\tValue=(CHAR)GetPtrValue(Address+(VALUE_TYPE)Length);\n\t\tif(Value==0)\n\t\t\tbreak;\n\t\tszBuffer[Length]=Value;\n\t\tLength++;\n\t}\n\tszBuffer[Length]=0;\n\treturn Length;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nint TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetStringW(VALUE_TYPE Address,PWSTR szBuffer,int MaxLen)\n{\n\tWCHAR Value;\n\tint Length=0;\n\twhile(Length<MaxLen)\n\t{\n\t\tValue=(WCHAR)GetPtrValue(Address+(VALUE_TYPE)Length*2);\n\t\tif(Value==0)\n\t\t\tbreak;\n\t\tszBuffer[Length]=Value;\n\t\tLength++;\n\t}\n\tszBuffer[Length]=0;\n\treturn Length;\t\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nvoid TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::GetMem(VALUE_TYPE Address,BYTE* Buffer,int Len)\n{\n\tint Length=0;\n\twhile(Length<Len)\n\t{\n\t\tBuffer[Length]=(BYTE)GetPtrValue(Address+(VALUE_TYPE)Length);\n\t\tLength++;\n\t}\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Null(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\treturn NULL;\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::PtrValue(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(0,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT NextIter;\n\tNextIter = OptIter+1;\n\tOptIter->Value.Value = pThis->GetPtrValue(NextIter->Value.Value);\n\tpThis->RemoveCalcItem(NextIter,1,ExpItemList);\n\treturn &(*OptIter);\t\n}\n\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::LogicAnd(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value && NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::LogicOr(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value || NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::LogicXor(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tif(PrevIter->Value.Value && !NextIter->Value.Value)\n\t\tPrevIter->Value.Value=true;\n\telse if(!PrevIter->Value.Value && NextIter->Value.Value)\n\t\tPrevIter->Value.Value=true;\n\telse\n\t\tPrevIter->Value.Value=false;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::NotBelow(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value >= NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::NotAbove(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value <= NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Below(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value < NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Above(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value > NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Equal(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tSTExpItemListIT PrevIter,NextIter;\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t{\n\t\tPrevIter = OptIter-1;\n\t\tif(PrevIter == ExpItemList.End())\n\t\t\treturn NULL;\n\t\tNextIter = OptIter+1;\n\t\tif(NextIter == ExpItemList.End())\n\t\t\treturn NULL;\n\t\tSTExpItemListIT StrIter,PtrIter;\n\t\tif(PrevIter->Type == STExpItem::STR && NextIter->Type == STExpItem::RESULT)\n\t\t{\n\t\t\tStrIter = PrevIter;\n\t\t\tPtrIter = NextIter;\n\t\t}\n\t\telse if(PrevIter->Type == STExpItem::RESULT && NextIter->Type == STExpItem::STR)\n\t\t{\n\t\t\tStrIter = NextIter;\n\t\t\tPtrIter = PrevIter;\n\t\t}\n\t\telse\n\t\t\treturn NULL;\n\t\tBYTE szBuffer[64];\n\t\tpThis->GetMem(PtrIter->Value.Value,szBuffer,MIN(StrIter->Length*2,sizeof(szBuffer)));\n\t\tVALUE_TYPE Result=1;\n\t\tif(TStrNICmp((PCSTR)szBuffer,StrIter->Value.pStr,MIN(StrIter->Length,sizeof(szBuffer))))\n\t\t{\n\t\t\tif(TStrNICmp((PCWSTR)szBuffer,StrIter->Value.pStr,MIN(StrIter->Length,sizeof(szBuffer)/2)))\n\t\t\t\tResult=0;\n\t\t}\n\t\tPrevIter->Type = STExpItem::RESULT;\n\t\tPrevIter->Value.Value = Result;\n\t\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\t\treturn &(*PrevIter);\n\t}\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value == NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::NotEqual(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value != NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ShiftRight(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value >> NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::ShiftLeft(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value << NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Add(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value + NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Sub(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t{\n\t\tif(pThis->CheckCalcItem(0,OptIter,1,ExpItemList)==false)\n\t\t\treturn NULL;\n\t\tSTExpItemListIT NextIter;\n\t\tNextIter = OptIter+1;\n\t\tOptIter->Value.Value=(VALUE_TYPE)(0-NextIter->Value.Value);\n\t\tpThis->RemoveCalcItem(NextIter,1,ExpItemList);\n\t\treturn &(*OptIter);\n\t}\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value - NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Mul(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tSTExpItemListIT PrevIter,NextIter;\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t{\n\t\tif(pThis->CheckCalcItem(0,OptIter,1,ExpItemList)==false)\n\t\t\treturn NULL;\n\t\tSTExpItemListIT NextIter;\n\t\tNextIter = OptIter+1;\n\t\tOptIter->Value.Value=pThis->GetPtrValue(NextIter->Value.Value);\n\t\tpThis->RemoveCalcItem(NextIter,1,ExpItemList);\n\t\treturn &(*OptIter);\n\t}\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value * NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Div(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tif(NextIter->Value.Value==0)\n\t\treturn NULL;\n\tPrevIter->Value.Value=PrevIter->Value.Value / NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Mod(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value % NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Xor(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value ^ NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Not(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(0,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT NextIter;\n\tNextIter = OptIter+1;\n\tOptIter->Value.Value=!NextIter->Value.Value;\n\tpThis->RemoveCalcItem(NextIter,1,ExpItemList);\n\treturn &(*OptIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::And(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value & NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::Or(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tif(pThis->CheckCalcItem(1,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tSTExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tPrevIter->Value.Value=PrevIter->Value.Value | NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::LeftBracket(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\tint\tBracketStack;\n\tSTExpItemListIT BeginIter,EndIter;\n\tBeginIter = OptIter+1;\n\tBracketStack = 0;\n\tEndIter=BeginIter;\n\twhile(EndIter!=ExpItemList.End())\n\t{\n\t\tif(TStrNCmp(EndIter->ItemStr,\"(\",EndIter->Length)==0)\n\t\t\tBracketStack++;\n\t\tif(TStrNCmp(EndIter->ItemStr,\")\",EndIter->Length)==0)\n\t\t{\n\t\t\tif(BracketStack)\n\t\t\t\tBracketStack--;\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t\tEndIter++;\n\t}\n\tif(EndIter==ExpItemList.End())\n\t\treturn NULL;\n\tSTExpItemList BracketExpItemList;\n\tExpItemList.Move(BeginIter,EndIter,BracketExpItemList,BracketExpItemList.Begin());\n\tif(pThis->CalcItem(BracketExpItemList.Begin(),BracketExpItemList)==false)\n\t\treturn false;\n\tOptIter->Value.Value = BracketExpItemList.Begin()->Value.Value;\n\tBeginIter = OptIter+1;\n\tpThis->RemoveCalcItem(BeginIter,1,ExpItemList);\n\treturn &(*OptIter);\n}\n\ntemplate<class CHAR_TYPE,class VALUE_TYPE,bool bIgnoreCase>\nTExpItem<CHAR_TYPE,VALUE_TYPE>*TExpCalc<CHAR_TYPE,VALUE_TYPE,bIgnoreCase>::NonOptr(STExpItemListIT&OptIter,STExpItemList&ExpItemList,TExpCalc*pThis)\n{\n\treturn NULL;\n}\n\nALT_NAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTFileStream.hpp",
    "content": "#ifndef _ALT_FILE_STREAM_HPP\n#define _ALT_FILE_STREAM_HPP\n\n#include <stdio.h>\n\nALT_NAME_SPACE_BEGIN\n\nclass CALTFileStream : public ALTFileStream\n{\npublic:\n\tFILE*m_hFile;\n\tbool Open(const char*Filename)\n\t{\n#if\t\t_MSC_VER >=1400 \n\t\treturn \tfopen_s(&m_hFile,Filename,\"rb\")==0;\n#else\n\t\tm_hFile = fopen(Filename,\"rb\");\n\t\treturn m_hFile!=NULL;\n#endif\n\t}\n\tbool Create(const char*Filename)\n\t{\n#if\t\t_MSC_VER >=1400 \n\treturn fopen_s(&m_hFile,Filename,\"w+b\")==0;\n#else\n\t\tm_hFile = fopen(Filename,\"w+b\");\n\t\treturn m_hFile!=NULL;\n#endif\n\t}\n\tvoid Close(){fclose(m_hFile);}\n\tvirtual int Seek(LONG FilePtr){ return fseek(m_hFile,FilePtr,SEEK_SET);}\n\tvirtual\tint\tPuts(void*Buffer,int Size){return (int)fwrite(Buffer,1,Size,m_hFile);}\n\tvirtual\tint\tGets(void*Buffer,int Size){return (int)fread(Buffer,1,Size,m_hFile);}\n};\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTList.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//List\n//Coded by Finaldoom\n//\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _ALT_LIST_HPP\n#define _ALT_LIST_HPP\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE>\nclass TListNode;\n\ntemplate<class VALUE>\nclass TListNodeBase\n{\npublic:\n\ttypedef TListNode<VALUE>*\tNODE_PTR;\n\tNODE_PTR\tpNext;\n\tNODE_PTR\tpPrev;\n};\n\ntemplate<class VALUE>\nclass TListNode : public TListNodeBase<VALUE>\n{\npublic:\n\tVALUE\t\tValue;\n};\n\ntemplate<class VALUE>\nclass TListIter\n{\npublic:\n\ttypedef TListNode<VALUE>\tNODE;\n\tNODE*\tpNode;\npublic:\n\tinline\tTListIter(){pNode = NULL;}\n\tinline\tTListIter(NODE*pNewNode){pNode=pNewNode;}\n\tinline\tTListIter(const VALUE&Value){ pNode= (NODE*)((char*)&Value - (char*)&((NODE*)NULL)->Value); }\n\tinline\tvoid operator++(int){pNode = pNode->pNext;}\n\tinline\tvoid operator--(int){pNode = pNode->pPrev;}\n\tinline\tvoid operator+=(int n);\n\tinline\tvoid operator-=(int n);\n\tinline\tTListIter<VALUE> operator+(int n)const{TListIter<VALUE> Iter;Iter=pNode;Iter+=n;return Iter;}\n\tinline\tTListIter<VALUE> operator-(int n)const{TListIter<VALUE> Iter;Iter=pNode;Iter-=n;return Iter;}\n\tinline\tVALUE* operator->()const{ return &pNode->Value;\t}\n\tinline\tVALUE& operator*()const{ return pNode->Value;\t}\n\tinline\tbool operator==(NODE*pCmpNode){ return pNode == pCmpNode; }\n\tinline\tbool operator!=(NODE*pCmpNode){ return pNode != pCmpNode; }\n\tinline\tbool operator==(const TListIter&Iter){ return pNode == Iter.pNode; }\n\tinline\tbool operator!=(const TListIter&Iter){ return pNode != Iter.pNode; }\n};\n\ntemplate<class VALUE = ALTEmptyArchive> //ALTArchive>\nclass TList : public ALTObj<TListNode<VALUE> >\n{\npublic:\n\ttypedef TListNodeBase<VALUE>\tNODE_BASE;\n\ttypedef TListNode<VALUE>\t\tNODE;\n\ttypedef TListIter<VALUE>\t\tIT;\nprotected:\n\tNODE_BASE\tm_Head;\n\tNODE*\t\tm_pHead;\n\tint\t\t\tm_Count;\npublic:\n\tTList();\n\tTList(const TList&Obj);\n\t~TList();\n\tvoid\tInit();\npublic:\n\tinline\tint\tCount()const {\treturn m_Count;\t}\n\tinline\tIT\tBegin()const{return IT(m_pHead->pNext);}\n\tinline\tIT\tEnd()const{return IT(m_pHead);}\n\tinline\tIT\tLast()const{return IT(m_pHead->pPrev);}\n\tinline\tIT\toperator[](int n)const;\n\tTList&\toperator=(const TList&Obj);\n\tvoid\tClear();\n\tIT\t\tFind(const VALUE&Value);\n\tIT\t\tAppend(const VALUE&Value = *(VALUE*)NULL);\n\tIT\t\tInsertAfter(const IT&Iter,const VALUE&Value = *(VALUE*)NULL);\n\tIT\t\tInsertBefore(const IT&Iter,const VALUE&Value = *(VALUE*)NULL);\n\tIT\t\tRemove(const IT&Iter);\n\tIT\t\tRemove(const IT&BeginIter,const IT&EndIter);\n\tint\t\tMove(const IT&BeginIter,const IT&EndIter,TList&Obj,const IT&NewBeginIter);\n\tint\t\tCopy(const IT&BeginIter,const IT&EndIter,TList&Obj,const IT&NewBeginIter);\n\tint\t\tSave(ALTFileStream&Stream);\n\tint\t\tLoad(ALTFileStream&Stream);\n};\n\n//////////////////////////////////////////////////////////////////////////////\n//TListIter\n//////////////////////////////////////////////////////////////////////////////\ntemplate<class VALUE>\nvoid TListIter<VALUE>::operator+=(int n)\n{\n\twhile(n>0)\n\t{\n\t\tpNode = pNode->pNext;\n\t\tn--;\n\t}\n}\n\ntemplate<class VALUE>\nvoid TListIter<VALUE>::operator-=(int n)\n{\n\twhile(n>0)\n\t{\n\t\tpNode = pNode->pPrev;\n\t\tn--;\n\t}\n}\n\n//////////////////////////////////////////////////////////////////////////////\n//TList\n//////////////////////////////////////////////////////////////////////////////\ntemplate<class VALUE>\nvoid TList<VALUE>::Init()\n{\n\tm_pHead = (NODE*)&m_Head;\n\tm_Head.pPrev = m_Head.pNext = m_pHead;\n\tm_Count = 0;\n}\n\ntemplate<class VALUE>\nTList<VALUE>::TList()\n{\n\tInit();\n}\n\ntemplate<class VALUE>\nTList<VALUE>::TList(const TList<VALUE>&Obj)\n{\n\tInit();\n\tfor(IT Iter=Obj.Begin();Iter!=Obj.End();Iter++)\n\t\tAppend(*Iter);\n}\n\ntemplate<class VALUE>\nTList<VALUE>::~TList()\n{\n\tClear();\n}\n\ntemplate<class VALUE>\nvoid TList<VALUE>::Clear()\n{\n\tNODE*pDelNode,*pNextNode = m_pHead->pNext;\n\twhile(pNextNode!=m_pHead)\n\t{\n\t\tpDelNode = pNextNode;\n\t\tpNextNode=pNextNode->pNext;\n\t\tDestruct(pDelNode);\n\t}\n\tInit();\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::operator[](int n)const\n{\n\tIT Iter;\n\tif(n==m_Count-1)\n\t\treturn Last();\n\tif(n>=m_Count)\n\t\treturn End();\n\tIter = m_pHead->pNext;\n\tif(n>0)\n\t\treturn Iter+n;\n\telse\n\t\treturn Iter-(-n);\n}\n\ntemplate<class VALUE>\nTList<VALUE>& TList<VALUE>::operator=(const TList&Obj)\n{\n\tClear();\n\tif(Obj.Count())\n\t{\n\t\tfor(IT Iter = Obj.Begin();Iter!=Obj.End();Iter++)\n\t\t\tAppend(*Iter);\n\t}\n\treturn (*this);\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::Find(const VALUE&Value)\n{\n\tIT Iter(m_pHead->pNext);\n\twhile(Iter!=m_pHead)\n\t{\n\t\tif(Value == Iter.pNode->Value)\n\t\t\tbreak;\n\t\tIter++;\n\t}\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::Append(const VALUE&Value)\n{\n\tIT Iter;\n\tIter.pNode=Construct();\n\tif(&Value)\n\t\tIter.pNode->Value = Value;\n\tif(m_Count==0)\n\t\tm_pHead->pNext=Iter.pNode;\n\tIter.pNode->pNext = m_pHead;\n\tIter.pNode->pPrev = m_pHead->pPrev;\n\tIter.pNode->pPrev->pNext = Iter.pNode;\n\tm_pHead->pPrev=Iter.pNode;\n\tm_Count++;\n\treturn Iter;\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::InsertAfter(const IT&Iter,const VALUE&Value)\n{\n\tIT NewIter;\n\tNewIter.pNode =Construct();\n\tif(&Value)\n\t\tNewIter.pNode->Value=Value;\n\tNewIter.pNode->pNext=Iter.pNode->pNext;\n\tNewIter.pNode->pPrev=Iter.pNode;\n\tIter.pNode->pNext->pPrev = NewIter.pNode;\n\tIter.pNode->pNext=NewIter.pNode;\n\tm_Count++;\n\treturn NewIter;\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::InsertBefore(const IT&Iter,const VALUE&Value)\n{\n\tIT NewIter(Iter.pNode->pPrev);\n\treturn InsertAfter(NewIter,Value);\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::Remove(const IT&Iter)//ݵɾһڵ\n{\n\tNODE*pPrev;\n\tif(Iter.pNode == m_pHead)\n\t\treturn (IT&)m_pHead;\n\tIter.pNode->pPrev->pNext = Iter.pNode->pNext;\n\tIter.pNode->pNext->pPrev = Iter.pNode->pPrev;\n\tpPrev = Iter.pNode->pPrev;\n\tDestruct(Iter.pNode);\n\tm_Count--;\n\treturn pPrev;\n}\n\ntemplate<class VALUE>\nTListIter<VALUE> TList<VALUE>::Remove(const IT&BeginIter,const IT&EndIter)\n{\n\tNODE*pPrev = BeginIter.pNode->pPrev;\n\tfor(IT Iter= BeginIter;Iter!=EndIter;Iter++)\n\t\tIter = Remove(Iter);\n\treturn pPrev;\n}\n\ntemplate<class VALUE>\nint TList<VALUE>::Move(const IT&BeginIter,const IT&EndIter,TList&Obj,const IT&NewBeginIter)\n{\n\tNODE*pBegin,*pLast;\n\tint Count=0;\n\tfor(IT Iter=BeginIter;Iter!=EndIter;Iter++)\n\t\tCount++;\n\tif(Count==0)\n\t\treturn Count;\n\tpBegin = BeginIter.pNode;\n\tpLast = EndIter.pNode->pPrev;\n\n\tBeginIter.pNode->pPrev->pNext = EndIter.pNode;\t\n\tEndIter.pNode->pPrev = pBegin->pPrev;\n\tm_Count-=Count;\n\n\tpBegin->pPrev = NewBeginIter.pNode;\n\tpLast->pNext = NewBeginIter.pNode->pNext;\n\n\tNewBeginIter.pNode->pNext = pBegin;\n\tpLast->pNext->pPrev = pLast;\n\tObj.m_Count+=Count;\n\treturn Count;\n}\n\ntemplate<class VALUE>\nint TList<VALUE>::Copy(const IT&BeginIter,const IT&EndIter,TList&Obj,const IT&NewBeginIter)\n{\n\tint Count=0;\n\tIT NewIter = NewBeginIter;\n\tfor(IT Iter=BeginIter;Iter!=EndIter;Iter++)\n\t{\n\t\tNewIter = Obj.InsertAfter(NewIter,*Iter);\n\t\tCount++;\n\t}\n\treturn Count;\n}\n\n\ntemplate<class VALUE>\nint\tTList<VALUE>::Save(ALTFileStream&Stream)\n{\n\tint Length=Stream.Puts(&m_Count,sizeof(m_Count));\n\tfor(IT Iter= Begin();Iter!=End();Iter++)\n\t\tLength+=Iter->Save(Stream);\n\treturn Length;\n}\n\ntemplate<class VALUE>\nint\tTList<VALUE>::Load(ALTFileStream&Stream)\n{\n\tint TotalLength,Length,Count;\n\tIT Iter;\n\tClear();\n\tTotalLength = 0;\n\tLength=Stream.Gets(&Count,sizeof(Count));\n\tif(Length!=sizeof(Count))\n\t\treturn 0;\n\tTotalLength+=Length;\n\twhile(Count>0)\n\t{\n\t\tIter = Append();\n\t\tLength=Iter->Load(Stream);\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tCount--;\n\t}\n\treturn TotalLength;\n}\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTMap.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Map (Red-Black Tree)\n//Coded by Finaldoom\n//ӳ ()\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n\n///////////////////////////////////////////////////////////////////////////////\n//ȡڵ\tint\tCount();\n//ֵ:\tڵ\n///////////////////////////////////////////////////////////////////////////////\n//ȡСֵ\tIT\tBegin();\n//ֵ:\tСֵָʾ\n///////////////////////////////////////////////////////////////////////////////\n//ȡֵ\tIT\tLast();\t\n//ֵ:\tֵָʾ\n///////////////////////////////////////////////////////////////////////////////\n//ȡֵ\tIT\tEnd();\t\n//ֵ:\tЧֵָʾ\n///////////////////////////////////////////////////////////////////////////////\n//ɾнڵ\tvoid\tClear();\n///////////////////////////////////////////////////////////////////////////////\n//Ψһ\tIT\tInsertUnique(const KEY&Key,const VALUE&Value);\n//ظ\tIT\tInsertEqual(const KEY&Key,const VALUE&Value);\n//\tconst KEY&Key\t\t:\tؼ\n//\tconst VALUE&Value\t:\tֵ\n//ֵ:\tλõָʾ\n///////////////////////////////////////////////////////////////////////////////\n//ɾָڵ\tvoid\tRemove(const IT&Iter);\n//\tconst IT&Iter\t:\tָʾ\n///////////////////////////////////////////////////////////////////////////////\n//ɾKeyڵ\tint\tRemove(const KEY&Key);\n//\tconst KEY&Key\t:\tؼ\n//ֵ:\tɾĽڵ\n///////////////////////////////////////////////////////////////////////////////\n//Keyڵ\tIT\tFind(const KEY&Key);\n//\tconst KEY&Key\t:\tؼ\n//ֵ:\tڵָʾ\n///////////////////////////////////////////////////////////////////////////////\n\n#ifndef _ALT_MAP_HPP_\n#define _ALT_MAP_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class KEY,class VALUE>\nclass TMapNode;\n\ntemplate<class KEY,class VALUE>\nclass TMapNodeBase\n{\npublic:\n\tenum\tCOLOR{RB_BLACK,RB_RED};\n\ttypedef TMapNode<KEY,VALUE>\tNODE;\npublic:\n\tNODE*\tpLeft;\n\tNODE*\tpRight;\n\tNODE*\tpParent;\n\tCOLOR\tColor;\n\tbool\tbNode;\n};\n\ntemplate<class KEY,class VALUE>\nclass TMapNode : public TMapNodeBase<KEY,VALUE>\n{\npublic:\n\tKEY\t\t\tKey;\n\tVALUE\t\tValue;\n\tbool inline\tIsHead(){ return !bNode;}\n\tbool inline\tIsNode(){ return bNode;}\n};\n\ntemplate<class KEY,class VALUE>\nclass TMapIter\n{\npublic:\n\ttypedef TMapNode<KEY,VALUE>\tNODE;\n\tNODE*\tpNode;\npublic:\n\tinline\tTMapIter(){ pNode = NULL;}\n\tinline\tTMapIter(NODE*pOther){ pNode = pOther;}\n\tinline\tTMapIter(const VALUE&Value){ pNode= (NODE*)((char*)&Value - (char*)&((NODE*)NULL)->Value); }\n\tvoid\toperator++(int){ Increment();}\n\tvoid\toperator--(int){ Decrement();}\n\tvoid\toperator++(){ Increment();}\n\tvoid\toperator--(){ Decrement();}\n\tinline\tvoid\toperator+=(int n);\n\tinline\tvoid\toperator-=(int n);\n\tinline\tTMapIter operator+(int n)const{TMapIter Iter;Iter=pNode;Iter+=n;return Iter;}\n\tinline\tTMapIter operator-(int n)const{TMapIter Iter;Iter=pNode;Iter-=n;return Iter;}\n\tinline\tVALUE*\toperator->()const{ return &pNode->Value;}\n\tinline\tVALUE&\toperator*()const{ return pNode->Value;}\n\tinline\tbool\toperator==(NODE*pOther){ return pNode == pOther; }\n\tinline\tbool\toperator!=(NODE*pOther){ return pNode != pOther; }\n\tinline\tbool\toperator==(const TMapIter&Iter){ return pNode == Iter.pNode; }\n\tinline\tbool\toperator!=(const TMapIter&Iter){ return pNode != Iter.pNode; }\n\tinline\tKEY&\tKey()const{\treturn pNode->Key;}\n\tinline\tbool\tIsExist(){\treturn pNode && pNode->IsNode();}\nprotected:\n\tvoid\tIncrement();\n\tvoid\tDecrement();\n};\n\ntemplate<class KEY,class VALUE = ALT_EMPTY_STRUCT>\nclass TMap : public ALTObj<TMapNode<KEY,VALUE> >\n{\npublic:\n\ttypedef TMapNodeBase<KEY,VALUE>\t\t\tNODE_BASE;\n\ttypedef TMapNode<KEY,VALUE>\t\t\t\tNODE;\n\ttypedef TMapIter<KEY,VALUE>\t\t\t\tIT;\nprotected:\n\tNODE_BASE\tm_Head;\n\tNODE*\tm_pRoot;\n\tNODE*\tm_pHead;\npublic:\n\tint\t\tm_Count;\n\tTMap();\n\tTMap(const TMap&Obj);\n\t~TMap();\n\tinline\tint\tCount()const{return m_Count;}\n\tinline\tIT\tBegin()const{return IT(m_pHead->pLeft);}\n\tinline\tIT\tEnd()const{return IT(m_pHead);}\n\tinline\tIT\tLast()const{return IT(m_pHead->pRight);}\n\tinline\tIT\toperator[](int n);\n\tIT\t\tInsertUnique(const KEY&Key,const VALUE&Value = *(VALUE*)NULL);\n\tIT\t\tInsertEqual(const KEY&Key,const VALUE&Value = *(VALUE*)NULL);\n\tIT\t\tFind(const KEY&Key);\n\tIT\t\tFindAlmost(const KEY&Key);\n\tTMap&\toperator=(const TMap&Obj);\n\tvoid\tClear();\n\tvoid\tRemove(const IT&Iter);\n\tint\t\tRemove(const KEY&Key);\n\tint\t\tIndex(const IT&Iter);\n\tint\t\tSave(ALTFileStream&Stream);\n\tint\t\tLoad(ALTFileStream&Stream);\nprivate:\n\tvoid\tInit();\n\tvoid\tRotateLeft(NODE*pRotate);\n\tvoid\tRotateRight(NODE*pRotate);\n\tvoid\tRemoveTree(NODE*pNode);\n\tIT\t\tInsert(bool bAddLeft,NODE*pParent,const KEY&Key,const VALUE*pValue);\n};\n\n/////////////////////////////////////////////////////////////////////////////\n//TMapIter\n/////////////////////////////////////////////////////////////////////////////\ntemplate<class KEY,class VALUE>\nvoid TMapIter<KEY,VALUE>::Increment()\n{\n\tNODE*pParent;\n\tif(pNode==NULL)\n\t\treturn;\n\tif(pNode->IsHead())\n\t{\n\t\tpNode = pNode->pLeft;\n\t}\n\telse if(pNode->pRight->IsNode())\n\t{\n\t\tpNode = pNode->pRight;\n\t\twhile(pNode->pLeft->IsNode())\n\t\t\tpNode = pNode->pLeft;\n\t}\n\telse\n\t{\n\t\twhile((pParent = pNode->pParent)->IsNode() && pNode == pParent->pRight)\n\t\t\tpNode = pParent;\n\t\tpNode = pParent;\n\t}\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMapIter<KEY,VALUE>::Decrement()\n{\n\tNODE*pParent;\n\tif(pNode==NULL)\n\t\treturn;\n\tif(pNode->IsHead())\n\t{\n\t\tpNode = pNode->pRight;\n\t}\n\telse if(pNode->pLeft->IsNode())\n\t{\n\t\tpNode=pNode->pLeft;\n\t\twhile(pNode->pRight->IsNode())\n\t\t\tpNode = pNode->pRight;\n\t}\n\telse\n\t{\n\t\twhile((pParent = pNode->pParent)->IsNode() && pNode == pParent->pLeft)\n\t\t\tpNode = pParent;\n\t\tpNode = pParent;\n\t}\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMapIter<KEY,VALUE>::operator+=(int n)\n{\n\twhile(n>0)\n\t{\n\t\t(*this)++;\n\t\tn--;\n\t}\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMapIter<KEY,VALUE>::operator-=(int n)\n{\n\tTMapIter Iter = *this;\n\twhile(n>0)\n\t{\n\t\t(*this)--;\n\t\tn--;\n\t}\n}\n\n/////////////////////////////////////////////////////////////////////////////\n//TMap\n/////////////////////////////////////////////////////////////////////////////\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::Init()\n{\n\tm_Head.Color = NODE::RB_BLACK;\n\tm_Head.bNode = false;\n\tm_pHead = (NODE*)&m_Head;\n\tm_pRoot = m_Head.pParent = m_Head.pLeft = m_Head.pRight = m_pHead;\n\tm_Count = 0;\n}\n\ntemplate<class KEY,class VALUE>\nTMap<KEY,VALUE>::TMap()\n{\n\tInit();\n}\n\ntemplate<class KEY,class VALUE>\nTMap<KEY,VALUE>::TMap(const TMap&Obj)\n{\n\tInit();\n\tfor(IT It = Obj.Begin();It!=Obj.End();It++)\n\t\tInsertEqual(It.Key(),*It);\n}\n\ntemplate<class KEY,class VALUE>\nTMap<KEY,VALUE>::~TMap()\n{\n\tClear();\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::Clear()\n{\n\tif(m_Count)\n\t{\n\t\tRemoveTree(m_pRoot);\n\t\tInit();\n\t}\n}\n\ntemplate<class KEY,class VALUE>\nint TMap<KEY,VALUE>::Remove(const KEY&Key)\n{\t\n\tIT Iter,DelIter;\n\tint RemoveCount = 0;\n\tIter = Find(Key);\n\twhile(Iter!=End() && Iter.Key() == Key)\n\t{\n\t\tDelIter = Iter;\n\t\tIter++;\n\t\tRemoveCount++;\n\t\tRemove(DelIter);\n\t}\n\treturn RemoveCount;\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::Remove(const IT&Iter)\n{\n\tNODE* pErasedNode,*pFixNode,*pFixNodeParent,*pNode;\n\tpNode = pErasedNode = Iter.pNode;\n\tif(pNode->pLeft->IsHead())\n\t\tpFixNode = pNode->pRight;\n\telse if(pNode->pRight->IsHead())\n\t\tpFixNode = pNode->pLeft;\n\telse\n\t{\n\t\tIT NextIter(Iter.pNode);\n\t\tNextIter++;\n\t\tpNode = NextIter.pNode;\n\t\tpFixNode = pNode->pRight;\n\t}\n\tif (pNode == pErasedNode)\n\t{\n\t\tpFixNodeParent = pErasedNode->pParent;\n\t\tif(pFixNode->IsNode())\n\t\t\tpFixNode->pParent = pFixNodeParent;\n\t\tif(m_pRoot == pErasedNode)\n\t\t\tm_pRoot = pFixNode;\n\t\telse if(pFixNodeParent->pLeft == pErasedNode)\n\t\t\tpFixNodeParent->pLeft = pFixNode;\n\t\telse\n\t\t\tpFixNodeParent->pRight = pFixNode;\n\n\t\tif(m_pHead->pLeft == pErasedNode)\n\t\t{\n\t\t\tif(pFixNode->IsNode())\n\t\t\t{\n\t\t\t\tm_pHead->pLeft = pFixNode;\n\t\t\t\twhile(m_pHead->pLeft->pLeft->IsNode())\n\t\t\t\t\tm_pHead->pLeft = m_pHead->pLeft->pLeft;\n\t\t\t}\n\t\t\telse\n\t\t\t\tm_pHead->pLeft = pFixNodeParent;\n\t\t}\n\t\tif (m_pHead->pRight == pErasedNode)\n\t\t{\n\t\t\tif(pFixNode->IsNode())\n\t\t\t{\n\t\t\t\tm_pHead->pRight = pFixNode;\n\t\t\t\twhile(m_pHead->pRight->pRight->IsNode())\n\t\t\t\t\tm_pHead->pRight = m_pHead->pRight->pRight;\n\t\t\t}\n\t\t\telse\n\t\t\t\tm_pHead->pRight = pFixNodeParent;\n\t\t}\n\t}\n\telse\n\t{\n\t\tpErasedNode->pLeft->pParent = pNode;\n\t\tpNode->pLeft = pErasedNode->pLeft;\n\n\t\tif (pNode == pErasedNode->pRight)\n\t\t\tpFixNodeParent = pNode;\n\t\telse\n\t\t{\n\t\t\tpFixNodeParent = pNode->pParent;\n\t\t\tif(pFixNode->IsNode())\n\t\t\t\tpFixNode->pParent = pFixNodeParent;\n\t\t\tpFixNodeParent->pLeft = pFixNode;\n\t\t\tpNode->pRight = pErasedNode->pRight;\n\t\t\tpErasedNode->pRight->pParent = pNode;\n\t\t}\n\t\tif (m_pRoot == pErasedNode)\n\t\t\tm_pRoot = pNode;\n\t\telse if (pErasedNode->pParent->pLeft == pErasedNode)\n\t\t\tpErasedNode->pParent->pLeft = pNode;\n\t\telse\n\t\t\tpErasedNode->pParent->pRight = pNode;\n\n\t\tpNode->pParent = pErasedNode->pParent;\n\t\tNODE_BASE SwapNode;\n\t\tSwapNode.Color\t= pNode->Color;\n\t\tpNode->Color = pErasedNode->Color;\n\t\tpErasedNode->Color = SwapNode.Color;\n\t}\n\t//Balance\n\tif(pErasedNode->Color == NODE::RB_BLACK)\n\t{\n\t\tfor(;pFixNode != m_pRoot && pFixNode->Color == NODE::RB_BLACK ; pFixNodeParent = pFixNode->pParent)\n\t\t{\n\t\t\tif(pFixNode == pFixNodeParent->pLeft)\n\t\t\t{\n\t\t\t\tpNode = pFixNodeParent->pRight;\n\t\t\t\tif (pNode->Color == NODE::RB_RED)\n\t\t\t\t{\n\t\t\t\t\tpNode->Color = NODE::RB_BLACK;\n\t\t\t\t\tpFixNodeParent->Color = NODE::RB_RED;\n\t\t\t\t\tRotateLeft(pFixNodeParent);\n\t\t\t\t\tpNode = pFixNodeParent->pRight;\n\t\t\t\t}\n\t\t\t\tif(pNode->IsHead())\n\t\t\t\t\tpFixNode = pFixNodeParent;// shouldn't happen\n\t\t\t\telse if(pNode->pLeft->Color == NODE::RB_BLACK && pNode->pRight->Color == NODE::RB_BLACK)\n\t\t\t\t{\n\t\t\t\t\tpNode->Color = NODE::RB_RED;\n\t\t\t\t\tpFixNode = pFixNodeParent;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(pNode->pRight->Color == NODE::RB_BLACK)\n\t\t\t\t\t{\n\t\t\t\t\t\tpNode->pLeft->Color = NODE::RB_BLACK;\n\t\t\t\t\t\tpNode->Color = NODE::RB_RED;\n\t\t\t\t\t\tRotateRight(pNode);\n\t\t\t\t\t\tpNode = pFixNodeParent->pRight;\n\t\t\t\t\t}\n\t\t\t\t\tpNode->Color = pFixNodeParent->Color;\n\t\t\t\t\tpNode->pRight->Color = NODE::RB_BLACK;\n\t\t\t\t\tpFixNodeParent->Color = NODE::RB_BLACK;\n\t\t\t\t\tRotateLeft(pFixNodeParent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpNode = pFixNodeParent->pLeft;\n\t\t\t\tif(pNode->Color == NODE::RB_RED)\n\t\t\t\t{\n\t\t\t\t\tpNode->Color = NODE::RB_BLACK;\n\t\t\t\t\tpFixNodeParent->Color = NODE::RB_RED;\n\t\t\t\t\tRotateRight(pFixNodeParent);\n\t\t\t\t\tpNode = pFixNodeParent->pLeft;\n\t\t\t\t}\n\t\t\t\tif(pNode->IsHead())\n\t\t\t\t\tpFixNode = pFixNodeParent;\t// shouldn't happen\n\t\t\t\telse if(pNode->pRight->Color == NODE::RB_BLACK && pNode->pLeft->Color == NODE::RB_BLACK)\n\t\t\t\t{\n\t\t\t\t\tpNode->Color = NODE::RB_RED;\n\t\t\t\t\tpFixNode = pFixNodeParent;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(pNode->pLeft->Color == NODE::RB_BLACK)\n\t\t\t\t\t{\n\t\t\t\t\t\tpNode->pRight->Color = NODE::RB_BLACK;\n\t\t\t\t\t\tpNode->Color = NODE::RB_RED;\n\t\t\t\t\t\tRotateLeft(pNode);\n\t\t\t\t\t\tpNode = pFixNodeParent->pLeft;\n\t\t\t\t\t}\n\t\t\t\t\tpNode->Color = pFixNodeParent->Color;\n\t\t\t\t\tpFixNodeParent->Color = NODE::RB_BLACK;\n\t\t\t\t\tpNode->pLeft->Color = NODE::RB_BLACK;\n\t\t\t\t\tRotateRight(pFixNodeParent);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\t\t\t\n\t\t}\n\t\tpFixNode->Color = NODE::RB_BLACK;\n\t}\n\tDestruct(pErasedNode);\n\tif(0 < m_Count)\n\t\tm_Count--;\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::RemoveTree(NODE*pNode)\n{\n\tif(pNode->IsHead())\n\t\treturn;\n\tif(pNode->pLeft->IsNode())\n\t\tRemoveTree(pNode->pLeft);\n\tif(pNode->pRight->IsNode())\n\t\tRemoveTree(pNode->pRight);\n\tif(m_pRoot==pNode)\n\t\tm_pRoot = m_pHead;\n\tif(pNode->pParent->pLeft==pNode)\n\t\tpNode->pParent->pLeft=m_pHead;\n\telse\n\t\tpNode->pParent->pRight=m_pHead;\n\tif(m_pHead->pLeft == pNode)\n\t{\n\t\tIT It(pNode);\n\t\tIt++;\n\t\tm_pHead->pLeft = It.pNode;\n\t}\n\tif(m_pHead->pRight == pNode)\n\t{\n\t\tIT It(pNode);\n\t\tIt--;\n\t\tm_pHead->pLeft = It.pNode;\n\t}\n\tm_Count--;\n\tDestruct(pNode);\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::RotateLeft(NODE*pRotate)\n{\n\tNODE*pNode = pRotate->pRight;\n\tpRotate->pRight = pNode->pLeft;\n\tif(pNode->pLeft->IsNode())\n\t\tpNode->pLeft->pParent = pRotate;\n\tpNode->pParent = pRotate->pParent;\n\tif(pRotate == m_pRoot)\n\t\tm_pRoot = pNode;\n\telse if(pRotate == pRotate->pParent->pLeft)\n\t\tpRotate->pParent->pLeft = pNode;\n\telse\n\t\tpRotate->pParent->pRight = pNode;\n\tpNode->pLeft = pRotate;\n\tpRotate->pParent = pNode;\n}\n\ntemplate<class KEY,class VALUE>\nvoid TMap<KEY,VALUE>::RotateRight(NODE*pRotate)\n{\n\tNODE*pNode = pRotate->pLeft;\n\tpRotate->pLeft = pNode->pRight;\n\tif(pNode->pRight->IsNode())\n\t\tpNode->pRight->pParent = pRotate;\n\tpNode->pParent = pRotate->pParent;\n\tif(pRotate == m_pRoot)\n\t\tm_pRoot = pNode;\n\telse if(pRotate == pRotate->pParent->pRight)\n\t\tpRotate->pParent->pRight = pNode;\n\telse\n\t\tpRotate->pParent->pLeft = pNode;\n\tpNode->pRight = pRotate;\n\tpRotate->pParent = pNode;\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE> TMap<KEY,VALUE>::operator[](int n)\n{\n\tIT Iter;\n\tIter = Begin();\n\treturn Iter+n;\n}\n\ntemplate<class KEY,class VALUE>\nTMap<KEY,VALUE>& TMap<KEY,VALUE>::operator=(const TMap<KEY,VALUE>&Obj)\n{\n\tClear();\n\tif(Obj.Count())\n\t{\n\t\tfor(IT It = Obj.Begin();It!=Obj.End();It++)\n\t\t\tInsertEqual(It.Key(),*It);\n\t}\n\treturn (*this);\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE> TMap<KEY,VALUE>::InsertUnique(const KEY&Key,const VALUE&Value)\n{\n\tbool bAddLeft = true;\n\tNODE*pNode,*pParent;\n\tpParent = m_pHead;\n\tpNode = m_pRoot;\n\twhile(pNode->IsHead()==false)\n\t{\n\t\tpParent = pNode;\n\t\tbAddLeft = Key<pNode->Key;\n\t\tpNode = bAddLeft ? pNode->pLeft : pNode->pRight;\n\t}\n\tIT  It = pParent;\n\tif(bAddLeft==false);\n\telse if (It == Begin())\n\t\treturn Insert(true,pParent,Key,&Value);\n\telse\n\t\tIt--;\n\tif(It.pNode->Key < Key)\n\t\treturn Insert(bAddLeft,pParent,Key,&Value);\n\telse\n\t\treturn End();\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE> TMap<KEY,VALUE>::InsertEqual(const KEY&Key,const VALUE&Value)\n{\n\tbool bAddLeft = true;\n\tNODE*pNode,*pParent;\n\tpParent = m_pHead;\n\tpNode = m_pRoot;\n\twhile(pNode->IsNode())\n\t{\n\t\tpParent = pNode;\n\t\tbAddLeft = Key<pNode->Key;\n\t\tpNode = bAddLeft ? pNode->pLeft : pNode->pRight;\n\t}\n\treturn Insert(bAddLeft,pParent,Key,&Value);\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE> TMap<KEY,VALUE>::Insert(bool bAddLeft,NODE*pParent,const KEY&Key,const VALUE*pValue)\n{\n\tNODE* pNew = Construct();\n\tpNew->Key = Key;\n\tif(pValue)\n\t\tpNew->Value = *pValue;\n\tpNew->pLeft = pNew->pRight = m_pHead;\n\tpNew->pParent = pParent;\n\tpNew->Color = NODE::RB_RED;\n\tpNew->bNode = true;\n\tm_Count++;\n\tif (pParent == m_pHead)\n\t{\n\t\tm_pRoot = pNew;\n\t\tm_pHead->pLeft = m_pHead->pRight = pNew;\n\t}\n\telse if (bAddLeft)\n\t{\n\t\tpParent->pLeft = pNew;\n\t\tif (pParent == m_pHead->pLeft)\n\t\t\tm_pHead->pLeft = pNew;\n\t}\n\telse\n\t{\n\t\tpParent->pRight = pNew;\n\t\tif (pParent == m_pHead->pRight)\n\t\t\tm_pHead->pRight = pNew;\n\t}\n\tNODE*pNode=pNew;\n\twhile(pNode->pParent->Color == NODE::RB_RED)\n\t{\n\t\tif(pNode->pParent == pNode->pParent->pParent->pLeft)\n\t\t{\n\t\t\tpParent = pNode->pParent->pParent->pRight;\n\t\t\tif(pParent->Color == NODE::RB_RED)\n\t\t\t{\n\t\t\t\tpNode->pParent->Color = NODE::RB_BLACK;\n\t\t\t\tpParent->Color = NODE::RB_BLACK;\n\t\t\t\tpNode->pParent->pParent->Color = NODE::RB_RED;\n\t\t\t\tpNode = pNode->pParent->pParent;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(pNode == pNode->pParent->pRight)\n\t\t\t\t{\n\t\t\t\t\tpNode = pNode->pParent;\n\t\t\t\t\tRotateLeft(pNode);\n\t\t\t\t}\n\t\t\t\tpNode->pParent->Color = NODE::RB_BLACK;\n\t\t\t\tpNode->pParent->pParent->Color = NODE::RB_RED;\n\t\t\t\tRotateRight(pNode->pParent->pParent);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpParent = pNode->pParent->pParent->pLeft;\n\t\t\tif(pParent->Color == NODE::RB_RED)\n\t\t\t{\n\t\t\t\tpNode->pParent->Color = NODE::RB_BLACK;\n\t\t\t\tpParent->Color = NODE::RB_BLACK;\n\t\t\t\tpNode->pParent->pParent->Color = NODE::RB_RED;\n\t\t\t\tpNode = pNode->pParent->pParent;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(pNode == pNode->pParent->pLeft)\n\t\t\t\t{\n\t\t\t\t\tpNode = pNode->pParent;\n\t\t\t\t\tRotateRight(pNode);\n\t\t\t\t}\n\t\t\t\tpNode->pParent->Color = NODE::RB_BLACK;\n\t\t\t\tpNode->pParent->pParent->Color = NODE::RB_RED;\n\t\t\t\tRotateLeft(pNode->pParent->pParent);\n\t\t\t}\n\t\t}\n\t}\n\tm_pRoot->Color = NODE::RB_BLACK;\n\treturn pNew;\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE>\tTMap<KEY,VALUE>::Find(const KEY&Key)\n{\n\tNODE*pNode=m_pRoot;\n\tNODE*pWhereNode=m_pHead;\n\twhile(pNode->IsNode())\n\t{\n\t\tif(pNode->Key < Key)\n\t\t{\n\t\t\tpNode = pNode->pRight;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpWhereNode = pNode;\n\t\t\tpNode = pNode->pLeft;\n\t\t}\n\t}\n\treturn pWhereNode==m_pHead || Key < pWhereNode->Key ? End():pWhereNode;\n}\n\ntemplate<class KEY,class VALUE>\nTMapIter<KEY,VALUE>\tTMap<KEY,VALUE>::FindAlmost(const KEY&Key)\n{\n\tNODE*pNode=m_pRoot;\n\tNODE*pWhereNode,*pLastNode;\n\tpWhereNode=pLastNode=m_pHead;\n\twhile(pNode->IsNode())\n\t{\n\t\tif(pNode->Key < Key)\n\t\t{\n\t\t\tpLastNode = pNode;\n\t\t\tpNode = pNode->pRight;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpWhereNode = pNode;\n\t\t\tpLastNode = pNode;\n\t\t\tpNode = pNode->pLeft;\n\t\t}\n\t}\n\tif(pWhereNode!=m_pHead && !(Key<pWhereNode->Key))\n\t\treturn pWhereNode;\n\tif(pLastNode==m_pHead)\n\t\treturn End();\n\tif(pLastNode->Key<Key)\n\t\treturn pLastNode;\n\tIT Iter = pLastNode;\n\tIter--;\n\treturn Iter==End()?pLastNode:Iter;\n}\n\ntemplate<class KEY,class VALUE>\nint\tTMap<KEY,VALUE>::Index(const IT&Iter)\n{\n\tIT It = Iter;\n\tint Index = -1;\n\twhile(It!=End())\n\t{\n\t\tIndex++;\n\t\tIt--;\n\t}\n\treturn Index;\n}\n\ntemplate<class KEY,class VALUE>\nint\tTMap<KEY,VALUE>::Save(ALTFileStream&Stream)\n{\n\tint Length;\n\tLength=Stream.Puts(&m_Count,sizeof(m_Count));\n\tfor(IT Iter= Begin();Iter!=End();Iter++)\n\t{\n\t\tLength+=Iter.Key().Save(Stream);\n\t\tLength+=Iter->Save(Stream);\n\t}\n\treturn Length;\n}\n\ntemplate<class KEY,class VALUE>\nint\tTMap<KEY,VALUE>::Load(ALTFileStream&Stream)\n{\n\tKEY\tKey;\n\tint TotalLength,Length,Count;\n\tIT Iter;\n\tClear();\n\tCount = 0;\n\tTotalLength = 0;\n\tLength = Stream.Gets(&Count,sizeof(Count));\n\tif(Length != sizeof(Count))\n\t\treturn 0;\n\tTotalLength+=Length;\n\twhile(Count > 0)\n\t{\n\t\tLength = Key.Load(Stream);\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tIter = InsertEqual(Key);\n\t\tLength = Iter->Load(Stream);\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tCount--;\n\t}\n\treturn TotalLength;\n}\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTQueue.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Queue\n//Coded by Finaldoom\n//\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _ALT_QUEUE_HPP_\n#define _ALT_QUEUE_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE,int SIZE>\nclass TQueue : public TArray<VALUE,SIZE>\n{\nprotected:\n\tint m_HeadIndex;\npublic:\n\tTQueue()\n\t{\n\t\tm_HeadIndex=-1;\n\t}\n\tTQueue(const TQueue&Obj)\n\t{\n\t\tm_HeadIndex=-1;\n\t\tResize(Obj.m_Size);\n\t\tfor(int n=0;n<Obj.m_Count;n++)\n\t\t\tAppend(Obj.m_ValueAry[n]);\n\t}\n\tvoid Clear()\n\t{\n\t\tTArray<VALUE,SIZE>::Clear();\n\t\tm_HeadIndex=-1;\n\t}\n\tVALUE*Append(const VALUE&Value = *(VALUE*)NULL)\n\t{\n\t\tif(m_Size==0)\n\t\t\treturn NULL;\n\t\tif(m_Count<m_Size)\n\t\t\tm_Count++;\n\t\tm_HeadIndex++;\n\t\tm_HeadIndex = m_HeadIndex % m_Size;\n\t\tif(&Value)\n\t\t\tm_ValueAry[m_HeadIndex] = Value;\n\t\treturn &m_ValueAry[m_HeadIndex];\n\t}\n\tVALUE& operator[](int n)\n\t{\n\t\treturn m_ValueAry[(m_HeadIndex-m_Count+n+1+m_Size)%m_Size];\n\t}\npublic:\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Stream.Puts(&m_Size,sizeof(m_Size));\n\t\tLength+=Stream.Puts(&m_Count,sizeof(m_Count));\n\t\tfor(int n=0;n<m_Count;n++)\n\t\t\tLength+=ALTArchiveType::Save(Stream,&m_ValueAry[(m_HeadIndex-m_Count+n+1+m_Size)%m_Size],sizeof(VALUE));\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint TotalLength,Length,Num;\n\t\tClear();\n\t\tTotalLength = 0;\n\t\tLength=Stream.Gets(&Num,sizeof(Num));\n\t\tif(Length!=sizeof(Num))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tResize(Num);\n\t\tLength=Stream.Gets(&Num,sizeof(Num));\n\t\tif(Length!=sizeof(Num))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tm_HeadIndex = Num?0:-1;\n\t\tfor(int n=0;n<Num;n++)\n\t\t{\n\t\t\tLength=Append()->Load(Stream);\n\t\t\tif(Length==0)\n\t\t\t\treturn 0;\n\t\t\tTotalLength+=Length;\n\t\t}\n\t\treturn TotalLength;\n\t}\n};\n\nALT_NAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTRangeMap.hpp",
    "content": "#ifndef _ALT_RANGE_MAP_HPP_\n#define _ALT_RANGE_MAP_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class KEY>\nclass TRangeKey\n{\npublic:\n\tKEY\t\tStart;\n\tKEY\t\tEnd;\n\tTRangeKey(const KEY&Key = 0){\tStart=End=Key;\t}\n\tTRangeKey(const KEY&StartKey,const KEY&EndKey){\tStart=StartKey;\tEnd=EndKey;\t}\npublic:\n\tconst KEY&\toperator=(const KEY&Key){return Start = End = Key;}\n\tbool inline operator==(const KEY& Key)const{ return Key>=Start && Key<=End; }\n\tbool inline operator!=(const KEY& Key)const{ return Key<Start || Key>End; }\n\tbool inline operator==(const TRangeKey& RangeKey)const\n\t{\n\t\tif(RangeKey.Start == RangeKey.End)\n\t\t\treturn operator==(RangeKey.Start);\n\t\treturn Start==RangeKey.Start && End==RangeKey.End;\n\t}\n\tbool inline operator!=(const TRangeKey& RangeKey)const\n\t{\n\t\treturn ! operator==(RangeKey);\n\t}\n\tbool inline operator<(const TRangeKey& RangeKey)const\n\t{\n\t\tif(RangeKey.Start == RangeKey.End)\n\t\t\treturn End<RangeKey.Start;\n\t\telse\n\t\t\treturn Start<RangeKey.Start;\n\t}\n};\n\ntemplate<class KEY,class VALUE = ALT_EMPTY_STRUCT>\nclass TRangeMap : public TMap<TRangeKey<KEY>,VALUE>\n{\npublic:\n\ttypedef TRangeKey<KEY>  RANGE;\n};\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTSet.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Map (Red-Black Tree)\n//Coded by Finaldoom\n// (ûֵΨһMap)\n//ߣ¿\n#ifndef _ALT_SET_HPP_\n#define _ALT_SET_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class KEY>\nclass TSetIter : public TMapIter<KEY,ALT_EMPTY_STRUCT>\n{\npublic:\n\ttypedef TMapNode<KEY,ALT_EMPTY_STRUCT>\tNODE;\npublic:\n\tinline\tTSetIter(){ pNode = NULL;}\n\tinline\tTSetIter(NODE*pOther){ pNode = pOther;}\n\tinline\tTSetIter(const KEY&Key){ pNode= (NODE*)((char*)&Key - (char*)&((NODE*)NULL)->Key); }\n\tvoid\toperator++(int){ Increment();}\n\tvoid\toperator--(int){ Decrement();}\n\tvoid\toperator++(){ Increment();}\n\tvoid\toperator--(){ Decrement();}\n\tinline\tvoid\toperator+=(int n);\n\tinline\tvoid\toperator-=(int n);\n\tinline\tTSetIter operator+(int n)const{TSetIter Iter;Iter=pNode;Iter+=n;return Iter;}\n\tinline\tTSetIter operator-(int n)const{TSetIter Iter;Iter=pNode;Iter-=n;return Iter;}\n\tinline\tKEY*\toperator->()const{ return &pNode->Key;}\n\tinline\tKEY&\toperator*()const{ return pNode->Key;}\n\tinline\tbool\toperator==(NODE*pOther){ return pNode == pOther; }\n\tinline\tbool\toperator!=(NODE*pOther){ return pNode != pOther; }\n\tinline\tbool\toperator==(const TSetIter&Iter){ return pNode == Iter.pNode; }\n\tinline\tbool\toperator!=(const TSetIter&Iter){ return pNode != Iter.pNode; }\n};\n\ntemplate<class KEY>\nclass TSet : public TMap<KEY,ALT_EMPTY_STRUCT>\n{\npublic:\n\ttypedef TSetIter<KEY>\tIT;\npublic:\n\tinline\tIT&\tBegin()const{return *(IT*)&m_pHead->pLeft;}\n\tinline\tIT&\tEnd()const{return *(IT*)&m_pHead;}\n\tinline\tIT&\tLast()const{return *(IT*)&m_pHead->pRight;}\n\tinline\tIT\toperator[](int n);\n\tinline\tIT\tInsert(const KEY&Key){ return *(IT*)&InsertUnique(Key);}\n\tinline\tIT\tFind(const KEY&Key){ return *(IT*)&TMap<KEY,ALT_EMPTY_STRUCT>::Find(Key);}\n\tinline\tIT\tFindAlmost(const KEY&Key){ return *(IT*)&TMap<KEY,ALT_EMPTY_STRUCT>::FindAlmost(Key);}\n};\n\ntemplate<class KEY>\nTSetIter<KEY> TSet<KEY>::operator[](int n)\n{\n\tIT Iter;\n\tIter = Begin();\n\treturn Iter+n;\n}\n\n/*\nvoid test()\n{\n\tint Num;\n\tTSet<int> SetObj;\n\tTArray<int,0x1000> NumAry;\n\tInitStaticRandom(0x10000000);\n\tfor(int n=0;n<NumAry.Size();n++)\n\t{\n\t\tNum = (int)GetStaticRandom(0,0x7FFFFFFF);\n\t\tNumAry.Append(Num);\n\t\tSetObj.Insert(Num);\n\t}\n\tfor(int n=0;n<NumAry.Size();n++)\n\t{\n\t\tSetObj.Remove(NumAry[n]);\n\t}\n}\n*/\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTStack.hpp",
    "content": "///////////////////////////////////////////////////////////////////////////////\n//Stach\n//Coded by Finaldoom\n//ջ\n//ߣ¿\n///////////////////////////////////////////////////////////////////////////////\n#ifndef _ALT_STACK_HPP_\n#define _ALT_STACK_HPP_\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE,int Size>\nclass TStack : public TQueue<VALUE,Size>\n{\npublic:\n\tvoid Push(const VALUE&Value)\n\t{\n\t\tAppend(Value);\n\t}\n\tbool Pop(VALUE&Value)\n\t{\n\t\tint Index;\n\t\tif(m_Count<=0)\n\t\t\treturn false;\n\t\tIndex=(m_HeadIndex+m_Size)%m_Size;\n\t\tm_HeadIndex--;\n\t\tm_HeadIndex = m_HeadIndex % m_Size;\n\t\tm_Count--;\n\t\tValue = m_ValueAry[Index];\n\t\treturn true;\n\t}\n\tVALUE& operator[](int n)\n\t{\n\t\treturn m_ValueAry[(m_HeadIndex+m_Size-n)%m_Size];\n\t}\n};\n\nALT_NAME_SPACE_END\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTString.hpp",
    "content": "#ifndef _ALT_STRING_HPP_\n#define _ALT_STRING_HPP_\n\nALT_NAME_SPACE_BEGIN\n//TMemCpy\t\tmemcpyģ\n//TMemCCpy\t\tmemccpyģ\n//TMemChr\t\tmemchrģ\n//TMemCmp\t\tmemcmpģ\n//TMemICmp\t\tmemicmpģ\n//TMemSet\t\tmemsetģ\n//TStrCpy\t\tstrcpyģ\n//TStrLen\t\tstrlenģ\n//TStrCat\t\tstrcatģ\n//TStrChr\t\tstrchrģ\n//TStrCmp\t\tstrcmpģ\n//TStrICmp\t\tstricmpģ\n//TStrNCat\t\tstrncatģ\n//TStrNCmp\t\tstrncmpģ\n//TStrNCpy\t\tstrncpyģ\n//TStrNICmp\t\tstrnicmpģ\n//TStrNSet\t\tstrnsetģ\n//TStrRChr\t\tstrrchrģ\n//TStrSet\t\tstrsetģ\n//TStrStr\t\tstrstrģ\n//TStrIStr\t\tstrstrĴСд԰汾ģ\n//TStrUpr\t\tstruprģ\n//TStrOmit\t\tַ̳ʡʽ\n//TStrFillTail\tĳһַַβ\n//TStrCpyLimit\t󳤶Ƶַ\n\ntemplate<class TYPE>\nTYPE*TMemCpy(TYPE*dst,const TYPE*src,int count)\n{\n\tTYPE*ret = dst;\n\twhile(count--)\n\t{\n\t\t*dst = *src;\n\t\tdst++;\n\t\tsrc++;\n\t}\n\treturn ret;\n}\n\ntemplate<class TYPE>\nTYPE*TMemCCpy(TYPE*dest,const TYPE*src,unsigned char c,int count)\n{\n\twhile ( count && (*((unsigned char *)(dest = (unsigned char *)dest + 1) - 1) =\n\t\t*((unsigned char *)(src = (unsigned char *)src + 1) - 1)) != c )\n\t\tcount--;\n\treturn(count ? dest : NULL);\n}\n\ntemplate<class TYPE>\nTYPE*TMemChr(const TYPE*buf,TYPE chr,int cnt)\n{\n\twhile( cnt && *buf != chr)\n\t{\n\t\tbuf++;\n\t\tcnt--;\n\t}\n\treturn cnt ? buf : NULL;\n}\n\ntemplate<class TYPE>\nTYPE TMemCmp(const TYPE*buf1,const TYPE*buf2,int count)\n{\n\tif(count==0)\n\t\treturn 0;\n\twhile(--count && *buf1 == *buf2)\n\t{\n\t\tbuf1++;\n\t\tbuf2++;\n\t}\n\treturn\t*buf1-*buf2;\n}\n\ntemplate<class TYPE>\nTYPE TMemICmp(const TYPE*first,const TYPE*last,int count)\n{\n\tTYPE f = 0;\n\tTYPE l = 0;\n\twhile(count--)\n\t{\n\t\tf=*first;\n\t\tl=*last;\n\t\tif(f>='A' && f<='Z')\n\t\t\tf-='A'-'a';\n\t\tif(l>='A' && l<='Z')\n\t\t\tl-='A'-'a';\t\t\n\t\tif(f==l)\n\t\t{\n\t\t\tfirst++;\n\t\t\tlast++;\n\t\t}\n\t\telse\n\t\t\tbreak;\n\t}\n\treturn f - l;\n}\n\ntemplate<class TYPE>\nTYPE*TMemSet(TYPE *dst,TYPE val,int count)\n{\n\tTYPE*start = dst;\n\tif(dst)\n\t{\n\t\twhile(count--)\n\t\t{\n\t\t\t*dst = val;\n\t\t\tdst++;\n\t\t}\n\t}\n\treturn start;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint TStrCpy(DES_CHAR_TYPE*dst,const SRC_CHAR_TYPE*src)\n{\n\tif(NULL == dst)\n\t\treturn NULL;\n\n\tint len=0;\n\tDES_CHAR_TYPE*cp = dst;\n\tif(src)\n\t{\n\t\twhile( *cp++ = (DES_CHAR_TYPE)*src++ )\n\t\t\tlen++;\n\t}\n\treturn len;\n}\n\ntemplate<class CHAR_TYPE>\nint TStrLen(const CHAR_TYPE*str)\n{\n\tif(NULL == str)\n\t\treturn 0;\n\t\n\tconst CHAR_TYPE*eos = str;\n\twhile( *eos++ );\n\treturn( (int)(eos - str - 1) );\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nDES_CHAR_TYPE*TStrCat(DES_CHAR_TYPE*dst,const SRC_CHAR_TYPE*src)\n{\n\tif(dst && src)\n\t{\n\t\tDES_CHAR_TYPE*cp=dst;\n\t\twhile( *cp )\n\t\t\tcp++;\n\t\twhile( *cp++ = (DES_CHAR_TYPE)*src++ ) ;\n\t}\n\treturn( dst );\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nSRC_CHAR_TYPE*TStrChr(const SRC_CHAR_TYPE*string,DES_CHAR_TYPE ch)\n{\n\tif(string)\n\t{\n\t\twhile(*string && *string != ch)\n\t\t\tstring++;\n\t\tif(*string==ch)\n\t\t\treturn (SRC_CHAR_TYPE*)string;\n\t}\n\treturn NULL;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nSRC_CHAR_TYPE*TStrNChr(const SRC_CHAR_TYPE*string,DES_CHAR_TYPE ch,int count)\n{\n\tif(string)\n\t{\n\t\twhile(*string && *string != ch && count--)\n\t\t\tstring++;\n\t\tif(*string==ch)\n\t\t\treturn (SRC_CHAR_TYPE*)string;\n\t}\n\treturn NULL;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nSRC_CHAR_TYPE*TStrIChr(const SRC_CHAR_TYPE*string,DES_CHAR_TYPE ch)\n{\n\tif(string)\n\t{\n\t\tDES_CHAR_TYPE och;\n\t\tif((ch<'A'&&ch>'Z')&&(ch<'a'&&ch>'z'))\n\t\t\treturn TStrChr(string,ch);\n\t\toch=(ch>='A' && ch<='Z')?(ch+'a'-'A'):(ch+'A' -'a');\n\t\twhile(*string)\n\t\t{\n\t\t\tif(ch == *string || och == *string)\n\t\t\t\treturn (SRC_CHAR_TYPE*)string;\n\t\t\tstring++;\n\t\t}\n\t}\n\treturn NULL;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nSRC_CHAR_TYPE*TStrNIChr(const SRC_CHAR_TYPE*string,DES_CHAR_TYPE ch,int count)\n{\n\tif(string && (count>=0))\n\t{\n\t\tDES_CHAR_TYPE och;\n\t\tif((ch<'A'&&ch>'Z')&&(ch<'a'&&ch>'z'))\n\t\t\treturn TStrChr(string,ch);\n\t\toch=(ch>='A' && ch<='Z')?(ch+'a'-'A'):(ch+'A' -'a');\n\t\twhile(*string)\n\t\t{\n\t\t\tif(ch == *string || och == *string)\n\t\t\t\treturn (SRC_CHAR_TYPE*)string;\n\t\t\tcount--;\n\t\t\tif(count<0)\n\t\t\t\tbreak;\n\t\t\tstring++;\n\t\t}\n\t}\n\treturn NULL;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint TStrCmp(const DES_CHAR_TYPE* dst,const SRC_CHAR_TYPE* src)\n{\n\tSRC_CHAR_TYPE ret;\n\tif(dst==NULL || src==NULL)\n\t{\n\t\tif(dst==NULL && src)\n\t\t\treturn -(*src);\n\t\tif(dst && src==NULL)\n\t\t\treturn (SRC_CHAR_TYPE)(*dst);\n\t\treturn 0;\n\t}\n\tret = 0 ;\n\twhile( ! (ret = ( ((SRC_CHAR_TYPE)*dst) - *src)) && *dst)\n\t\t++src, ++dst;\n\tif( ret < 0 )\n\t\tret = -1;\n\telse if ( ret > 0 )\n\t\tret = 1;\n\treturn (int)ret;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint TStrICmp(const DES_CHAR_TYPE* dst,const SRC_CHAR_TYPE* src)\n{\n\tSRC_CHAR_TYPE f, l;\n\tif(dst==NULL || src==NULL)\n\t{\n\t\tif(dst==NULL && src)\n\t\t\treturn -(*src);\n\t\tif(dst && src==NULL)\n\t\t\treturn (SRC_CHAR_TYPE)(*dst);\n\t\treturn 0;\n\t}\n\tdo\n\t{\n\t\tif ( ((f = (SRC_CHAR_TYPE)(*(dst++))) >= 'A') && (f <= 'Z') )\n\t\t\tf -= 'A' - 'a';\n\t\tif ( ((l = (SRC_CHAR_TYPE)(*(src++))) >= 'A') && (l <= 'Z') )\n\t\t\tl -= 'A' - 'a';\n\t} while ( f && (f == l) );\n\treturn(f - l);\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint\tTStrNICmp(const DES_CHAR_TYPE*dst,const SRC_CHAR_TYPE*src,int count)\n{\n\tSRC_CHAR_TYPE f, l;\n\tif(dst==NULL || src==NULL)\n\t{\n\t\tif(dst==NULL && src)\n\t\t\treturn -(*src);\n\t\tif(dst && src==NULL)\n\t\t\treturn (SRC_CHAR_TYPE)(*dst);\n\t\treturn 0;\n\t}\n\tdo\n\t{\n\t\tif ( ((f = (SRC_CHAR_TYPE)(*(dst++))) >= 'A') && (f <= 'Z') )\n\t\t\tf -= 'A' - 'a';\n\t\tif ( ((l = (SRC_CHAR_TYPE)(*(src++))) >= 'A') && (l <= 'Z') )\n\t\t\tl -= 'A' - 'a';\n\t} while ( --count && f && (f == l) );\n\treturn (int)(f - l);\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nDES_CHAR_TYPE*TStrNCat(DES_CHAR_TYPE*front,const SRC_CHAR_TYPE*back,int count)\n{\n\tDES_CHAR_TYPE*start = front;\n\tif(front && back && (count>0) )\n\t{\n\t\twhile(*front++);\n\t\tfront--;\n\t\twhile(count--)\n\t\t\tif (!(*front++ = (DES_CHAR_TYPE)*back++))\n\t\t\t\treturn start;\n\t\t*front = '\\0';\n\t}\n\treturn start;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint\tTStrNCmp(const DES_CHAR_TYPE* dst,const SRC_CHAR_TYPE* src,int count)\n{\n\tif(!count)\n\t\treturn 0;\n\tif(dst==NULL || src==NULL)\n\t{\n\t\tif(dst==NULL && src)\n\t\t\treturn -(int)(*src);\n\t\tif(dst && src==NULL)\n\t\t\treturn (int)(*dst);\n\t\treturn 0;\n\t}\n\twhile(--count && *dst && *dst == *src)\n\t{\n\t\tdst++;\n\t\tsrc++;\n\t}\n\treturn (int)*(SRC_CHAR_TYPE*)dst-(int)*(DES_CHAR_TYPE*)src;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nDES_CHAR_TYPE*TStrNCpy(DES_CHAR_TYPE* dest,const SRC_CHAR_TYPE*source,int count)\n{\n\tDES_CHAR_TYPE*start = dest;\n\tif(dest && source && (count>0) )\n\t{\n\t\twhile(count && (*dest++ = (DES_CHAR_TYPE)*source++))\n\t\t\tcount--;\n\t\tif(count)\n\t\t{\n\t\t\twhile(--count)\n\t\t\t\t*dest++ = '\\0';\n\t\t}\n\t}\n\treturn start;\n}\n\ntemplate<class CHAR_TYPE>\nint TCountOfChar(const CHAR_TYPE*string,CHAR_TYPE val)\n{\n\tint count=0;\n\tif(string)\n\t{\n\t\twhile(*string)\n\t\t{\n\t\t\tif(*string==val)\n\t\t\t\tcount++;\n\t\t\tstring++;\n\t\t}\n\t}\n\treturn count;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TStrNSet(CHAR_TYPE*string,CHAR_TYPE val,int count)\n{\n\tCHAR_TYPE*start = string;\n\tif(string && (count>0))\n\t{\n\t\twhile(count-- && *string)\n\t\t\t*string++ = val;\n\t}\n\treturn start;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TStrRChr(const CHAR_TYPE* string,CHAR_TYPE ch)\n{\n\tCHAR_TYPE*start = (CHAR_TYPE*)string;\n\twhile(*string++);\n\twhile(--string != start && *string != (CHAR_TYPE)ch);\n\tif (*string == (CHAR_TYPE)ch)\n\t\treturn( (CHAR_TYPE*)string );\n\treturn NULL;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TStrRChr(const CHAR_TYPE* string,const CHAR_TYPE* start_string,CHAR_TYPE ch)\n{\n\tCHAR_TYPE*start = (CHAR_TYPE*)string;\n\tstring=start_string;\n\twhile(--string != start && *string != (CHAR_TYPE)ch);\n\tif (*string == (CHAR_TYPE)ch)\n\t\treturn( (CHAR_TYPE*)string );\n\treturn NULL;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TStrSet(CHAR_TYPE*string,CHAR_TYPE val)\n{\n\tCHAR_TYPE*start = string;\n\tif(string)\n\t{\n\t\twhile(*string)\n\t\t\t*string++ = (CHAR_TYPE)val;\n\t}\n\treturn start;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nDES_CHAR_TYPE*TStrIStr(const DES_CHAR_TYPE* str1,const SRC_CHAR_TYPE* str2)\n{\n\tDES_CHAR_TYPE c1;\n\tSRC_CHAR_TYPE c2;\n\tconst DES_CHAR_TYPE*s1;\n\tconst SRC_CHAR_TYPE*s2;\n\tconst DES_CHAR_TYPE*cp = str1;\n\tif( (NULL == str1) || (NULL == str2) )\n\t\treturn NULL;\n\tif(!*str2)\n\t\treturn (DES_CHAR_TYPE*)str1;\n\twhile(*cp)\n\t{\n\t\ts1 = cp;\n\t\ts2 = str2;\n\t\twhile ( *s1 && *s2 )\n\t\t{\n\t\t\tc1 =  *s1;\n\t\t\tc2 =  *s2;\n\t\t\tif(c1>='A' && c1<='Z')\n\t\t\t\tc1-='A'-'a';\n\t\t\tif(c2>='A' && c2<='Z')\n\t\t\t\tc2-='A'-'a';\n\t\t\tif(c1!=c2)\n\t\t\t\tbreak;\n\t\t\ts1++, s2++;\n\t\t}\n\t\tif(!*s2)\n\t\t\treturn (DES_CHAR_TYPE*)cp;\n\t\tcp++;\n\t}\n\treturn NULL;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nDES_CHAR_TYPE*TStrStr(const DES_CHAR_TYPE* str1,const SRC_CHAR_TYPE* str2)\n{\n\tconst DES_CHAR_TYPE*cp = str1;\n\tconst DES_CHAR_TYPE*s1;\n\tconst SRC_CHAR_TYPE*s2;\n\tif( (NULL == str1) || (NULL == str2) )\n\t\treturn NULL;\n\tif ( !*str2 )\n\t\treturn((DES_CHAR_TYPE*)str1);\n\twhile (*cp)\n\t{\n\t\ts1 = cp;\n\t\ts2 = str2;\n\t\twhile ( *s1 && *s2 && !(*s1-*s2) )\n\t\t\ts1++, s2++;\n\t\tif (!*s2)\n\t\t\treturn (DES_CHAR_TYPE*)cp;\n\t\tcp++;\n\t}\n\treturn NULL;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE* TStrUpr(CHAR_TYPE* string)\n{\n\tCHAR_TYPE*cp;\n\tif(NULL != string)\n\t{\n\t\tfor ( cp = string ; *cp ; ++cp )\n\t\t\tif ( ('a' <= *cp) && (*cp <= 'z') )\n\t\t\t\t*cp -= 'a' - 'A';\n\t}\n\treturn string;\n}\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE* TStrLwr(CHAR_TYPE* string)\n{\n\tCHAR_TYPE*cp;\n\tif(NULL != string)\n\t{\n\t\tfor ( cp = string ; *cp ; ++cp )\n\t\t\tif ( ('A' <= *cp) && (*cp <= 'Z') )\n\t\t\t\t*cp += 'a' - 'A';\n\t}\n\treturn string;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint TStrToStr(const SRC_CHAR_TYPE*Src,DES_CHAR_TYPE*Des)\n{\n\tint Count=0;\n\tif( (NULL != Src) && (NULL != Des) )\n\t{\n\t\twhile(Src[Count])\n\t\t{\n\t\t\tDes[Count]=(DES_CHAR_TYPE)Src[Count];\n\t\t\tCount++;\n\t\t}\n\t\tDes[Count]=0;\n\t}\n\treturn Count;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint\tTStrOmit(const SRC_CHAR_TYPE*Src,DES_CHAR_TYPE*Des,int MaxLen)\n{\n\tint StrLen;\n\tMaxLen--;\n\tif( (MaxLen<=0) || (NULL == Src) || (NULL == Des) )\n\t\treturn 0;\n\tStrLen=TStrLen(Src);\n\tif(StrLen<=MaxLen)\n\t{\n\t\tTStrCpy(Des,Src);\n\t\treturn StrLen;\n\t}\n\tTStrCpyLimit(Des,Src,MaxLen+1);\n\tfor(int i=1;i<=3;i++)\n\t\tDes[MaxLen-i]='.';\n\treturn MaxLen;\n}\n\ntemplate<class CHAR_TYPE>\nint TStrFillTail(CHAR_TYPE*Str,int MaxLen,CHAR_TYPE FillChar)\n{\n\tint StrLen=TStrLen(Str);\n\tif(StrLen >= MaxLen)\n\t\treturn StrLen;\n\telse\n\t\tTMemSet(&Str[StrLen],FillChar,MaxLen-StrLen);\n\tStr[MaxLen]=0;\n\treturn MaxLen;\n}\n\ntemplate<class SRC_CHAR_TYPE,class DES_CHAR_TYPE>\nint TStrCpyLimit(DES_CHAR_TYPE*Des,const SRC_CHAR_TYPE*Src,int Limit)\n{\n\tint Len=0;\n\tLimit--;\n\twhile(*Src && Len < Limit)\n\t{\n\t\t*Des=(DES_CHAR_TYPE)*Src;\n\t\tDes++;\n\t\tSrc++;\n\t\tLen++;\n\t}\n\t*Des=0;\n\treturn Len;\n}\n\n\n////////////////////////////////////////////////////////////////////////\n//ļ\n/////////////////////////////////////////////////////////////////////////\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TGetPathItem(const CHAR_TYPE*PathName,CHAR_TYPE*ItemName)\n{\n\tCHAR_TYPE*pStart,*pEnd;\n\tpStart=(CHAR_TYPE*)PathName;\n\tif(*pStart==PATH_SEPARATOR_CHAR)\n\t\tpStart++;\n\tpEnd=TStrChr(PathName,PATH_SEPARATOR_CHAR);\n\tif(pEnd==NULL)\n\t\tpEnd=&pStart[TStrLen(pStart)];\n\tTStrNCpy(ItemName,pStart,(int)(pEnd-pStart));\n\tif(pEnd)\n\t\tpEnd++;\n\treturn pEnd;\n}\n\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TGetFileName(const CHAR_TYPE*szFullName)\n{\n\tCHAR_TYPE*pStr;\n\tif(*szFullName==0)\n\t\treturn NULL;\n\tpStr = TStrRChr(szFullName,(CHAR_TYPE)PATH_SEPARATOR_CHAR);\n\tif(pStr==NULL)\n\t\treturn (CHAR_TYPE*)szFullName;\n\treturn &pStr[1];\n}\n\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE*TGetFileExt(const CHAR_TYPE*szFullName)\n{\n\tCHAR_TYPE*pStr;\n\tpStr = TGetFileName(szFullName);\n\tif(pStr==NULL)\n\t\treturn NULL;\n\tpStr = TStrRChr(pStr,(CHAR_TYPE)'.');\n\tif(pStr==NULL || pStr[1]==0)\n\t\treturn NULL;\n\treturn &pStr[1];\n}\n\ntemplate<class CHAR_TYPE>\nint TGetFileTitle(const CHAR_TYPE*szFullName,CHAR_TYPE*szTitle)\n{\n\tCHAR_TYPE*pStr,*pDot;\n\tif(NULL == szTitle)\n\t\treturn 0;\n\tpStr = TGetFileName(szFullName);\n\tif(pStr==NULL)\n\t{\n\t\t*szTitle=0;\n\t\treturn 0;\n\t}\n\tpDot = TStrRChr(pStr,(CHAR_TYPE)'.');\n\tif(pDot==NULL)\n\t{\n\t\treturn TStrCpy(szTitle,pStr);\n\t}\n\telse\n\t{\n\t\tint Length = (int)(pDot-pStr);\n\t\tTMemCpy(szTitle,pStr,Length);\n\t\tszTitle[Length]=0;\n\t\treturn Length;\n\t}\n}\n\ntemplate<class CHAR_TYPE>\nint TGetFilePath(const CHAR_TYPE*szFullName,CHAR_TYPE*szPath)\n{\n\tCHAR_TYPE*pStr;\n\tpStr = TGetFileName(szFullName);\n\tif(pStr)\n\t{\n\t\tint Length;\n\t\tLength = (int)(pStr-szFullName);\n\t\tif(Length>0)\n\t\t\tLength--;\n\t\tTMemCpy(szPath,szFullName,Length);\n\t\tszPath[Length]=0;\n\t\treturn Length;\n\t}\n\telse\n\t{\n\t\treturn TStrCpy(szPath,szFullName);\n\t}\n}\n////////////////////////////////////////////////////////////////////////////////////////////////\n//ͨ\n////////////////////////////////////////////////////////////////////////////////////////////////\ntemplate<class CHAR_TYPE>\nbool TMatchWithPattern(const CHAR_TYPE*Pattern,const CHAR_TYPE*Name)\n{\n\tif(*Pattern=='\\0')\n\t\treturn true;\n\tif( *Pattern == '*' )\n\t{\n\t\tPattern++;\n\t\tif(*Pattern=='\\0')\n\t\t\treturn true;\n\t\twhile( *Name )\n\t\t{\n\t\t\tif( *Pattern == *Name || *Pattern == '?')\n\t\t\t\tif( TMatchWithPattern( Pattern+1, Name+1 ))\n\t\t\t\t\treturn true;\n\t\t\tName++;\n\t\t}\n\t\treturn !(*Pattern && *Pattern != '*');\n\t}\n\twhile( *Name && *Pattern != '*' )\n\t{\n\t\tif( *Pattern == *Name || *Pattern=='?')\n\t\t{\n\t\t\tPattern++;\n\t\t\tName++;\n\t\t}\n\t\telse\n\t\t\treturn false;\n\t}\n\tif( *Name )\n\t\treturn TMatchWithPattern( Pattern, Name );\n\treturn !(*Pattern && *Pattern != '*');\n}\n\ntemplate<class CHAR_TYPE>\nbool TMultiMatchWithPattern(const CHAR_TYPE*Pattern,const CHAR_TYPE*Name)\n{\n\tCHAR_TYPE  buf[256];\n\tCHAR_TYPE* pBegin,*pEnd;\n\tbool  Result;\n\tif(*Pattern=='\\0')\n\t\treturn true;\n\tTStrCpy(buf,Pattern);\n\tpBegin=buf+TStrLen(buf)-1;\n\tif(*pBegin==';')*pBegin='\\0';\n\tpBegin=buf;\n\twhile(pEnd=TStrChr(pBegin,(CHAR_TYPE)';'))\n\t{\n\t\t*pEnd='\\0';\n\t\tResult=TMatchWithPattern(pBegin,Name);\n\t\tif(Result)\n\t\t\treturn true;\n\t\tpBegin=pEnd+1;\n\t}\n\tResult=TMatchWithPattern(pBegin,Name);\n\treturn Result;\t\n}\n\ntemplate<class CHAR_TYPE>\nbool TIMatchWithPattern(const CHAR_TYPE*Pattern,const CHAR_TYPE*Name)\n{\n\tif(*Pattern=='\\0')\n\t\treturn true;\n\tif( *Pattern == '*' )\n\t{\n\t\tPattern++;\n\t\tif(*Pattern=='\\0')\n\t\t\treturn true;\n\t\twhile( *Name )\n\t\t{\n\t\t\tif( LOWER_CHAR(*Pattern) == LOWER_CHAR(*Name) || *Pattern == '?')\n\t\t\t\tif( TIMatchWithPattern( Pattern+1, Name+1 ))\n\t\t\t\t\treturn true;\n\t\t\tName++;\n\t\t}\n\t\treturn !(*Pattern && *Pattern != '*');\n\t}\n\twhile( *Name && *Pattern != '*' )\n\t{\n\t\tif( LOWER_CHAR(*Pattern) == LOWER_CHAR(*Name) || *Pattern=='?')\n\t\t{\n\t\t\tPattern++;\n\t\t\tName++;\n\t\t}\n\t\telse\n\t\t\treturn false;\n\t}\n\tif( *Name )\n\t\treturn TIMatchWithPattern( Pattern, Name );\n\treturn !(*Pattern && *Pattern != '*');\n}\n\ntemplate<class CHAR_TYPE>\nbool TIMultiMatchWithPattern(const CHAR_TYPE*Pattern,const CHAR_TYPE*Name)\n{\n\tCHAR_TYPE  buf[256];\n\tCHAR_TYPE* pBegin,*pEnd;\n\tbool  Result;\n\tif(*Pattern=='\\0')\n\t\treturn true;\n\tTStrCpy(buf,Pattern);\n\tpBegin=buf+TStrLen(buf)-1;\n\tif(*pBegin==';')*pBegin='\\0';\n\tpBegin=buf;\n\twhile(pEnd=TStrChr(pBegin,';'))\n\t{\n\t\t*pEnd='\\0';\n\t\tResult=TIMatchWithPattern(pBegin,Name);\n\t\tif(Result)\n\t\t\treturn true;\n\t\tpBegin=pEnd+1;\n\t}\n\tResult=TIMatchWithPattern(pBegin,Name);\n\treturn Result;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////\n//ת\n////////////////////////////////////////////////////////////////////////////////////////////////\ntemplate<class TYPE,class CHAR_TYPE>\nCHAR_TYPE* uNumToStr(TYPE Num,CHAR_TYPE* String,int Radix = 16)\n{\n\tTYPE Pow,PrevPow,Digit;\n\tCHAR_TYPE* pStr;\n\tif(Num == 0)\n\t{\n\t\tString[0]='0';\n\t\tString[1]=0;\n\t\treturn String;\n\t}\n\tif(Radix< 2||Radix>36)\n\t{\n\t\t*String = 0;\n\t\treturn String;\n\t}\n\tpStr = String;\n\tfor(PrevPow=0,Pow=1;(Num>=Pow)&&( (((Pow%Radix) == 0) || (Pow==1)) && (Pow > PrevPow));Pow*=(TYPE)Radix)\n\t\tPrevPow=Pow;\n\tPow = PrevPow;\n\twhile(Pow!= 0)\n\t{\n\t\tDigit = Num/Pow;\n\t\t*pStr = (CHAR) ((Digit <= 9) ? ('0'+Digit) : ('A'-10+Digit));\n\t\tpStr++;\n\t\tNum -= Digit*Pow;\n\t\tPow /= (TYPE)Radix;\n\t}\n\t*pStr = 0;\n\treturn String;\n}\n\ntemplate<class TYPE,class CHAR_TYPE>\nCHAR_TYPE* NumToStr(TYPE Num,CHAR_TYPE* String,int Radix = 16)\n{\n\tTYPE Pow,PrevPow,Digit;\n\tCHAR_TYPE* pStr;\n\tif(Num==0)\n\t{\n\t\tString[0]='0';\n\t\tString[1]=0;\n\t\treturn String;\n\t}\n\tif(Radix< 2||Radix>36)\n\t{\n\t\t*String = 0;\n\t\treturn String;\n\t}\n\tpStr = String;\n\tif(Num<0)\n\t{\n\t\t*String='-';\n\t\tNum = -Num;\n\t\tpStr++;\n\t}\n\tfor(PrevPow=0,Pow=1;(Num>=Pow)&&( (((Pow%Radix) == 0) || (Pow==1)) && (Pow > PrevPow));Pow*=Radix)\n\t\tPrevPow=Pow;\n\tPow = PrevPow;\n\twhile(Pow)\n\t{\n\t\tDigit = Num/Pow;\n\t\t*pStr = (CHAR_TYPE) ((Digit <= 9) ? ('0'+Digit) : ('a'-10+Digit));\n\t\tpStr++;\n\t\tNum -= Digit*Pow;\n\t\tPow /= Radix;\n\t}\n\t*pStr = 0;\n\treturn String;\n}\n\ntemplate<class TYPE,class CHAR_TYPE>//ʮַתз32λ\nbool SHexStrToNum(const CHAR_TYPE* String,TYPE* SHex)\n{\n\tCHAR_TYPE Char;\n\tTYPE Sign,tmp,Len,Result;\n\tif(*String=='-')\n\t{\n\t\tSign=-1;\n\t\tString++;\n\t}\n\telse\n\t{\n\t\tif(*String=='+')\n\t\t\tString++;\n\t\tSign=1;\n\t}\n\t\tLen=Result=0;\n\twhile(String[Len])\n\t\tLen++;\n\n\tif(Len>sizeof(TYPE)*2)\n\t\treturn false;\n\tfor(TYPE n=0;n<Len;n++)\n\t{\n\t\tChar=String[Len-1-n];\n\t\tif(Char>='0'&&Char<='9')\n\t\t\ttmp=(TYPE)(Char-'0');\n\t\telse if(Char>='A'&&Char<='F')\n\t\t\ttmp=(TYPE)(Char-'A'+10);\n\t\telse if(Char>='a'&&Char<='f')\n\t\t\ttmp=(TYPE)(Char-'a'+10);\n\t\telse return false;\n\t\ttmp<<=4*n;\n\t\tResult|=tmp;\n\t}\n\tResult*=Sign;\n\tif(SHex)\n\t\t*SHex=Result;\n\treturn true;\n}\n\ntemplate<class TYPE,class CHAR_TYPE>/*ʮַת޷32λ */\nbool USHexStrToNum(const CHAR_TYPE* String,TYPE*USHex)\n{\n\tCHAR_TYPE Char;\n\tTYPE tmp,Len,Result;\n\tLen=Result=0;\n\twhile(String[Len])\n\t\tLen++;\n\tif(Len==0)\n\t\treturn false;\n\tif(Len>sizeof(TYPE)*2)\n\t\treturn false;\n\tfor(TYPE n=0;n<Len;n++)\n\t{\n\t\tChar=String[Len-1-n];\n\t\tif(Char>='0'&&Char<='9')\n\t\t\ttmp=(TYPE)(Char-'0');\n\t\telse if(Char>='A'&&Char<='F')\n\t\t\ttmp=(TYPE)(Char-'A'+10);\n\t\telse if(Char>='a'&&Char<='f')\n\t\t\ttmp=(TYPE)(Char-'a'+10);\n\t\telse return false;\n\t\ttmp<<=4*n;\n\t\tResult|=tmp;\n\t}\n\tif(USHex)\n\t\t*USHex=Result;\n\treturn true;\n}\n\n//ʮַתз32λ\ntemplate<class TYPE,class CHAR_TYPE>\nbool SDecStrToNum(const CHAR_TYPE* String,TYPE*SDec)\n{\n\tCHAR_TYPE Char;\n\tTYPE Sign,tmp,Len,Result,X10Base;\n\tif(*String=='-')\n\t{\n\t\tSign=-1;\n\t\tString++;\n\t}\n\telse\n\t{\n\t\tif(*String=='+')\n\t\t\tString++;\n\t\tSign=1;\t\n\t}\n\t\tLen=Result=0;\n\twhile(String[Len])\n\t\tLen++;\n\tif(Len==0)\n\t\treturn false;\n\tX10Base=1;\n\tfor(TYPE n=0;n<Len;n++)\n\t{\n\t\tChar=String[Len-n-1];\n\t\tif(Char>='0'&&Char<='9')\n\t\t\ttmp=(TYPE)(Char-'0');\n\t\telse \n\t\t\treturn false;\n\t\tResult+=tmp*X10Base;\n\t\tX10Base*=10;\n\t}\n\tResult*=Sign;\n\tif(SDec)\n\t\t*SDec=Result;\n\treturn true;\n}\n//ʮַת޷32λ\ntemplate<class TYPE,class CHAR_TYPE>\nbool USDecStrToNum(const CHAR_TYPE* String,TYPE*USDec)\n{\n\tCHAR_TYPE c;\n\tTYPE tmp,Len,Result,X10Base;\n\tLen=Result=0;\n\twhile(String[Len])\n\t\tLen++;\n\tif(Len==0)\n\t\treturn false;\n\tX10Base=1;\n\tfor(TYPE n=0;n<Len;n++)\n\t{\n\t\tc=String[Len-n-1];\n\t\tif(c>='0'&&c<='9')\n\t\t\ttmp=(TYPE)c-'0';\n\t\telse \n\t\t\treturn false;\n\t\tResult+=tmp*X10Base;\n\t\tX10Base*=10;\n\t}\n\tif(USDec)\n\t\t*USDec=Result;\n\treturn true;\n}\n\n\n#define MAX_SIG_DIGITS 20\n#define EXP_DENORM_ADJUST MAX_SIG_DIGITS\n#define MAX_ALLOWED_EXP (MAX_SIG_DIGITS  + EXP_DENORM_ADJUST - DBL_MIN_10_EXP)\n\n#define DBL_DIG         15                      /* # of decimal digits of precision */\n#if DBL_DIG > MAX_SIG_DIGITS\n#error need to adjust MAX_SIG_DIGITS\n#endif\n\n#define INT_MAX       2147483647    /* maximum (signed) int value */\n#if MAX_ALLOWED_EXP > INT_MAX\n#error size assumption violated for MAX_ALLOWED_EXP\n#endif\n\n/* Note: For i386 the macro resulted in smaller code than the function call. */\n\n#undef isdigit\n#define isdigit(x) ( (x >= '0') && (x <= '9') )\n\ntemplate<class CHAR_TYPE>\ndouble strtod(const CHAR_TYPE *str, CHAR_TYPE **endptr)\n{\n\tdouble number;\n\tdouble p10;\n\tchar *pos0;\n\tchar *pos1;\n\tchar *pos = (char *) str;\n\tint exponent_power;\n\tint exponent_temp;\n\tint negative;\n\tint num_digits;\n\n\twhile (isspace(*pos)) {\t/* skip leading whitespace */\n\t\t++pos;\n\t}\n\n\tnegative = 0;\n\tswitch(*pos) {\t\t/* handle optional sign */\n\tcase '-': negative = 1;\t/* fall through to increment position */\n\tcase '+': ++pos;\n\t}\n\n\tnumber = 0.;\n\tnum_digits = -1;\n\texponent_power = 0;\n\tpos0 = NULL;\n\nLOOP:\n\twhile (isdigit(*pos)) {\t/* process string of digits */\n\n\t\tif (num_digits < 0) {\t/* first time through? */\n\t\t\t++num_digits;\t/* we've now seen a digit */\n\t\t}\n\t\tif (num_digits || (*pos != '0')) { /* had/have nonzero */\n\t\t\t++num_digits;\n\t\t\tif (num_digits <= MAX_SIG_DIGITS) { /* is digit significant */\n\t\t\t\tnumber = number * 10. + (*pos - '0');\n\t\t\t}\n\t\t}\n\t\t++pos;\n\t}\n\n\tif ((*pos == '.') && !pos0) { /* is this the first decimal point? */\n\t\tpos0 = ++pos;\t\t/* save position of decimal point */\n\t\tgoto LOOP;\t\t/* and process rest of digits */\n\t}\n\n\n\tif (num_digits<0) {\t\t/* must have at least one digit */\n\t\tpos = (char *) str;\n\t\tgoto DONE;\n\t}\n\n\n\n\tif (num_digits > MAX_SIG_DIGITS) { /* adjust exponent for skipped digits */\n\t\texponent_power += num_digits - MAX_SIG_DIGITS;\n\t}\n\n\tif (pos0) {\n\t\texponent_power += pos0 - pos; /* adjust exponent for decimal point */\n\t}\n\n\tif (negative) {\t\t/* correct for sign */\n\t\tnumber = -number;\n\t\tnegative = 0;\t\t/* reset for exponent processing below */\n\t}\n\n\t/* process an exponent string */\n\tif (*pos == 'e' || *pos == 'E') {\n\n\t\tpos1 = pos;\n\n\t\tswitch(*++pos) {\t/* handle optional sign */\n\tcase '-': negative = 1;\t/* fall through to increment pos */\n\tcase '+': ++pos;\n\t\t}\n\n\t\tpos0 = pos;\n\t\texponent_temp = 0;\n\t\twhile (isdigit(*pos)) {\t/* process string of digits */\n\n\t\t\tif (exponent_temp < MAX_ALLOWED_EXP) { /* overflow check */\n\t\t\t\texponent_temp = exponent_temp * 10 + (*pos - '0');\n\t\t\t}\n\t\t\t++pos;\n\t\t}\n\n\n\t\tif (pos == pos0) {\t/* were there no digits? */\n\t\t\tpos = pos1;\t\t/* back up to e|E */\n\t\t} /* else */\n\t\tif (negative) {\n\t\t\texponent_power -= exponent_temp;\n\t\t} else {\n\t\t\texponent_power += exponent_temp;\n\t\t}\n\t}\n\n\t/* scale the result */\n\n\texponent_temp = exponent_power;\n\tp10 = 10.;\n\n\tif (exponent_temp < 0) {\n\t\texponent_temp = -exponent_temp;\n\t}\n\n\twhile (exponent_temp) {\n\t\tif (exponent_temp & 1) {\n\t\t\tif (exponent_power < 0) {\n\t\t\t\tnumber /= p10;\n\t\t\t} else {\n\t\t\t\tnumber *= p10;\n\t\t\t}\n\t\t}\n\t\texponent_temp >>= 1;\n\t\tp10 *= p10;\n\t}\n\nDONE:\n\n\tif (endptr) {\n\t\t*endptr = pos;\n\t}\n\n\treturn number;\n}\n\n\n\n\n#define PUTONE(c)\t\t{if(buffer)*buffer++ = (c); Length++;}\n\n#define CVTBUFSIZE  5000\ntypedef union\n{\n\tdouble value;\n\tstruct\n\t{\n\t\tunsigned int lsw;\n\t\tunsigned int msw;\n\t} parts;\n} ieee_double_shape_type;\n\n\n/* Get two 32 bit ints from a double.  */\n\n#define EXTRACT_WORDS(ix0,ix1,d)\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type ew_u;\t\t\t\t\t\\\n\tew_u.value = (d);\t\t\t\t\t\t\\\n\t(ix0) = ew_u.parts.msw;\t\t\t\t\t\\\n\t(ix1) = ew_u.parts.lsw;\t\t\t\t\t\\\n\t} while (0)\n\n/* Get the more significant 32 bit int from a double.  */\n\n#define GET_HIGH_WORD(i,d)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type gh_u;\t\t\t\t\t\\\n\tgh_u.value = (d);\t\t\t\t\t\t\\\n\t(i) = gh_u.parts.msw;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Get the less significant 32 bit int from a double.  */\n\n#define GET_LOW_WORD(i,d)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type gl_u;\t\t\t\t\t\\\n\tgl_u.value = (d);\t\t\t\t\t\t\\\n\t(i) = gl_u.parts.lsw;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Set a double from two 32 bit ints.  */\n\n#define INSERT_WORDS(d,ix0,ix1)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type iw_u;\t\t\t\t\t\\\n\tiw_u.parts.msw = (ix0);\t\t\t\t\t\\\n\tiw_u.parts.lsw = (ix1);\t\t\t\t\t\\\n\t(d) = iw_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Set the more significant 32 bits of a double from an int.  */\n\n#define SET_HIGH_WORD(d,v)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type sh_u;\t\t\t\t\t\\\n\tsh_u.value = (d);\t\t\t\t\t\t\\\n\tsh_u.parts.msw = (v);\t\t\t\t\t\t\\\n\t(d) = sh_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Set the less significant 32 bits of a double from an int.  */\n\n#define SET_LOW_WORD(d,v)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_double_shape_type sl_u;\t\t\t\t\t\\\n\tsl_u.value = (d);\t\t\t\t\t\t\\\n\tsl_u.parts.lsw = (v);\t\t\t\t\t\t\\\n\t(d) = sl_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n\n\n\ntypedef union\n{\n\tlong double value;\n\tstruct\n\t{\n\t\tunsigned int lsw;\n\t\tunsigned int msw;\n\t\tint sign_exponent:16;\n\t\tunsigned int empty:16;\n\t} parts;\n} ieee_long_double_shape_type;\n\n\n/* Get three 32 bit ints from a double.  */\n\n#define GET_LDOUBLE_WORDS(exp,ix0,ix1,d)\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type ew_u;\t\t\t\t\\\n\tew_u.value = (d);\t\t\t\t\t\t\\\n\t(exp) = ew_u.parts.sign_exponent;\t\t\t\t\\\n\t(ix0) = ew_u.parts.msw;\t\t\t\t\t\\\n\t(ix1) = ew_u.parts.lsw;\t\t\t\t\t\\\n\t} while (0)\n\n/* Set a double from two 32 bit ints.  */\n\n#define SET_LDOUBLE_WORDS(d,exp,ix0,ix1)\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type iw_u;\t\t\t\t\\\n\tiw_u.parts.sign_exponent = (exp);\t\t\t\t\\\n\tiw_u.parts.msw = (ix0);\t\t\t\t\t\\\n\tiw_u.parts.lsw = (ix1);\t\t\t\t\t\\\n\t(d) = iw_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Get the more significant 32 bits of a long double mantissa.  */\n\n#define GET_LDOUBLE_MSW(v,d)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type sh_u;\t\t\t\t\\\n\tsh_u.value = (d);\t\t\t\t\t\t\\\n\t(v) = sh_u.parts.msw;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Set the more significant 32 bits of a long double mantissa from an int.  */\n\n#define SET_LDOUBLE_MSW(d,v)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type sh_u;\t\t\t\t\\\n\tsh_u.value = (d);\t\t\t\t\t\t\\\n\tsh_u.parts.msw = (v);\t\t\t\t\t\t\\\n\t(d) = sh_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n/* Get int from the exponent of a long double.  */\n\n#define GET_LDOUBLE_EXP(exp,d)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type ge_u;\t\t\t\t\\\n\tge_u.value = (d);\t\t\t\t\t\t\\\n\t(exp) = ge_u.parts.sign_exponent;\t\t\t\t\\\n\t} while (0)\n\n/* Set exponent of a long double from an int.  */\n\n#define SET_LDOUBLE_EXP(d,exp)\t\t\t\t\t\\\n\tdo {\t\t\t\t\t\t\t\t\\\n\tieee_long_double_shape_type se_u;\t\t\t\t\\\n\tse_u.value = (d);\t\t\t\t\t\t\\\n\tse_u.parts.sign_exponent = (exp);\t\t\t\t\\\n\t(d) = se_u.value;\t\t\t\t\t\t\\\n\t} while (0)\n\n\n\nconst long double one = 1.0;\n\ntemplate<class FLOAT_TYPE>\nFLOAT_TYPE modfl_for_ten_byte(FLOAT_TYPE x, FLOAT_TYPE *iptr)\n{\n\tint i0,i1,j0;\n\tunsigned int i,se;\n\tGET_LDOUBLE_WORDS(se,i0,i1,x);\n\tj0 = (se&0x7fff)-0x3fff;\t/* exponent of x */\n\tif(j0<32) {\t\t\t/* integer part in high x */\n\t\tif(j0<0) {\t\t\t/* |x|<1 */\n\t\t\tSET_LDOUBLE_WORDS(*iptr,se&0x8000,0,0);\t/* *iptr = +-0 */\n\t\t\treturn x;\n\t\t} else {\n\t\t\ti = (0x7fffffff)>>j0;\n\t\t\tif(((i0&i)|i1)==0) {\t\t/* x is integral */\n\t\t\t\t*iptr = x;\n\t\t\t\tSET_LDOUBLE_WORDS(x,se&0x8000,0,0);\t/* return +-0 */\n\t\t\t\treturn x;\n\t\t\t} else {\n\t\t\t\tSET_LDOUBLE_WORDS(*iptr,se,i0&(~i),0);\n\t\t\t\treturn x - *iptr;\n\t\t\t}\n\t\t}\n\t} else if (j0>63) {\t\t/* no fraction part */\n\t\t*iptr = x*one;\n\t\t/* We must handle NaNs separately.  */\n\t\tif (j0 == 0x4000 && ((i0 & 0x7fffffff) | i1))\n\t\t\treturn x*one;\n\t\tSET_LDOUBLE_WORDS(x,se&0x8000,0,0);\t/* return +-0 */\n\t\treturn x;\n\t} else {\t\t\t/* fraction part in low x */\n\t\ti = ((u_int32_t)(0x7fffffff))>>(j0-32);\n\t\tif((i1&i)==0) { \t\t/* x is integral */\n\t\t\t*iptr = x;\n\t\t\tSET_LDOUBLE_WORDS(x,se&0x8000,0,0);\t/* return +-0 */\n\t\t\treturn x;\n\t\t} else {\n\t\t\tSET_LDOUBLE_WORDS(*iptr,se,i0,i1&(~i));\n\t\t\treturn x - *iptr;\n\t\t}\n\t}\n}\n\n\n\n\ntemplate<class FLOAT_TYPE>\nFLOAT_TYPE mymodfl(FLOAT_TYPE x, FLOAT_TYPE *iptr)\n\n{\n\tint i0,i1,j0;\n\tunsigned int i;\n\tEXTRACT_WORDS(i0,i1,x);\n\tj0 = ((i0>>20)&0x7ff)-0x3ff;\t/* exponent of x */\n\tif(j0<20) {\t\t\t/* integer part in high x */\n\t\tif(j0<0) {\t\t\t/* |x|<1 */\n\t\t\tINSERT_WORDS(*iptr,i0&0x80000000,0);\t/* *iptr = +-0 */\n\t\t\treturn x;\n\t\t} else {\n\t\t\ti = (0x000fffff)>>j0;\n\t\t\tif(((i0&i)|i1)==0) {\t\t/* x is integral */\n\t\t\t\t*iptr = x;\n\t\t\t\tINSERT_WORDS(x,i0&0x80000000,0);\t/* return +-0 */\n\t\t\t\treturn x;\n\t\t\t} else {\n\t\t\t\tINSERT_WORDS(*iptr,i0&(~i),0);\n\t\t\t\treturn x - *iptr;\n\t\t\t}\n\t\t}\n\t} else if (j0>51) {\t\t/* no fraction part */\n\t\t*iptr = x*one;\n\t\t/* We must handle NaNs separately.  */\n\t\tif (j0 == 0x400 && ((i0 & 0xfffff) | i1))\n\t\t\treturn x*one;\n\t\tINSERT_WORDS(x,i0&0x80000000,0);\t/* return +-0 */\n\t\treturn x;\n\t} else {\t\t\t/* fraction part in low x */\n\t\ti = ((unsigned int)(0xffffffff))>>(j0-20);\n\t\tif((i1&i)==0) { \t\t/* x is integral */\n\t\t\t*iptr = x;\n\t\t\tINSERT_WORDS(x,i0&0x80000000,0);\t/* return +-0 */\n\t\t\treturn x;\n\t\t} else {\n\t\t\tINSERT_WORDS(*iptr,i0,i1&(~i));\n\t\t\treturn x - *iptr;\n\t\t}\n\t}\n}\n\n//#include \"fcvt.h\"\ntemplate<class CHAR_TYPE>\nstatic CHAR_TYPE * mycvt( double arg, int ndigits, int * decpt, int * sign, CHAR_TYPE * buf, int eflag )\n{\n\tint r2,r3=0;\n\tbool overflow=false;\n\tdouble fi, fj,fb,fa=0.0;\n\tCHAR_TYPE * p, * p1;\n\n\tif ( ndigits < 0 ) ndigits = 0;\n\tif ( ndigits >= CVTBUFSIZE - 1 ) ndigits = CVTBUFSIZE - 2;\n\tr2 = 0;\n\t* sign = 0;\n\tp = & buf[0];\n\tif ( arg < 0 )\n\t{\n\t\t* sign = 1;\n\t\targ = - arg;\n\t}\n\targ = mymodfl( arg, & fi );\n\tp1 = & buf[CVTBUFSIZE];\n\n\tif ( fi != 0 ) \n\t{\n\t\tp1 = & buf[CVTBUFSIZE];\n\t\tfb = fi;\n\t\twhile ( fi != 0 ) \n\t\t{\n\t\t\tfj = mymodfl( fi / 10, & fi );\n\t\t\tif(p1 > p)\n\t\t\t{\n\t\t\t\t*-- p1 = ( int )(( fj + .03 ) * 10 ) + '0';\n\t\t\t\tfb=fi;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\toverflow=true;\n\t\t\t\tr3++;\n\t\t\t}\n\t\t\tr2 ++;\n\t\t}\n\t\twhile ( p1 < & buf[CVTBUFSIZE] ) * p ++ = * p1 ++;\n\t} \n\telse if ( arg > 0 )\n\t{\n\t\twhile (( fj = arg * 10 ) < 1 ) \n\t\t{\n\t\t\targ = fj;\n\t\t\tr2 --;\n\t\t}\n\t}\n\tp1 = & buf[ndigits];\n\tif ( eflag == 0 ) p1 += r2;\n\t* decpt = r2;\n\tif ( p1 < & buf[0] ) \n\t{\n\t\tbuf[0] = '\\0';\n\t\treturn buf;\n\t}\n\n\twhile ( p <= p1 && p < & buf[CVTBUFSIZE] )\n\t{\n\t\targ *= 10;\n\t\targ = mymodfl( arg, & fj );\n\t\t* p ++ = ( int ) fj + '0';\n\t}\n\tif ( p1 >= & buf[CVTBUFSIZE] ) \n\t{\n\t\tbuf[CVTBUFSIZE - 1] = '\\0';\n\t\treturn buf;\n\t}\n\tp = p1;\n\t* p1 += 5;\n\twhile (* p1 > '9' ) \n\t{\n\t\t* p1 = '0';\n\t\tif ( p1 > buf )\n\t\t\t++*-- p1;\n\t\telse \n\t\t{\n\t\t\t* p1 = '1';\n\t\t\t(* decpt )++;\n\t\t\tif ( eflag == 0 ) \n\t\t\t{\n\t\t\t\tif ( p > buf ) * p = '0';\n\t\t\t\tp ++;\n\t\t\t}\n\t\t}\n\t}\n\t* p = '\\0';\n\treturn buf;\n}\n\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE * ecvtbuf( double arg, int ndigits, int * decpt, int * sign, CHAR_TYPE * buf )\n{\n\treturn mycvt( arg, ndigits, decpt, sign, buf, 1 );\n}\n\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE * fcvtbuf( double arg, int ndigits, int * decpt, int * sign, CHAR_TYPE * buf )\n{\n\treturn mycvt( arg, ndigits, decpt, sign, buf, 0 );\n}\n\ntemplate<class CHAR_TYPE>\nvoid cfltcvt( double value, CHAR_TYPE * buffer, CHAR_TYPE fmt, int precision )\n{\n\tint decpt, sign, exp, pos;\n\tCHAR_TYPE * digits = NULL;\n\tCHAR_TYPE cvtbuf[CVTBUFSIZE + 1];\n\tint capexp = 0;\n\tint magnitude;\n\t\n\tif ( fmt == 'G' || fmt == 'E' )\n\t{\n\t\tcapexp = 1;\n\t\tfmt += 'a' - 'A';\n\t}\n\n\tif ( fmt == 'g' )\n\t{\n\t\tdigits = ecvtbuf( value, precision, & decpt, & sign, cvtbuf );\n\t\tmagnitude = decpt - 1;\n\t\tif ( magnitude < - 4  ||  magnitude > precision - 1 )\n\t\t{\n\t\t\tfmt = 'e';\n\t\t\tprecision -= 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfmt = 'f';\n\t\t\tprecision -= decpt;\n\t\t}\n\t}\n\n\tif ( fmt == 'e' )\n\t{\n\t\tdigits = ecvtbuf( value, precision + 1, & decpt, & sign, cvtbuf );\n\n\t\tif ( sign ) * buffer ++ = '-';\n\t\t* buffer ++ = * digits;\n\t\tif ( precision > 0 ) * buffer ++ = '.';\n\t\tmemcpy( buffer, digits + 1, precision*sizeof(CHAR_TYPE) );\n\t\tbuffer += (precision);\n\t\t* buffer ++ = capexp ? 'E' : 'e';\n\n\t\tif ( decpt == 0 )\n\t\t{\n\t\t\tif ( value == 0.0 )\n\t\t\t\texp = 0;\n\t\t\telse\n\t\t\t\texp = - 1;\n\t\t}\n\t\telse\n\t\t\texp = decpt - 1;\n\n\t\tif ( exp < 0 )\n\t\t{\n\t\t\t* buffer ++ = '-';\n\t\t\texp = - exp;\n\t\t}\n\t\telse\n\t\t\t* buffer ++ = '+';\n\n\t\tbuffer[2] = ( exp % 10 ) + '0';\n\t\texp = exp / 10;\n\t\tbuffer[1] = ( exp % 10 ) + '0';\n\t\texp = exp / 10;\n\t\tbuffer[0] = ( exp % 10 ) + '0';\n\t\tbuffer += 3;\n\t}\n\telse if ( fmt == 'f' )\n\t{\n\t\tdigits = fcvtbuf( value, precision, & decpt, & sign, cvtbuf );\n\t\tif ( sign ) * buffer ++ = '-';\n\t\tif (* digits )\n\t\t{\n\t\t\tif ( decpt <= 0 )\n\t\t\t{\n\t\t\t\t* buffer ++ = '0';\n\t\t\t\t* buffer ++ = '.';\n\t\t\t\tfor ( pos = 0; pos < - decpt; pos ++) * buffer ++ = '0';\n\t\t\t\twhile (* digits ) * buffer ++ = * digits ++;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpos = 0;\n\t\t\t\twhile (* digits )\n\t\t\t\t{\n\t\t\t\t\tif ( pos ++ == decpt ) * buffer ++ = '.';\n\t\t\t\t\t* buffer ++ = * digits ++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t* buffer ++ = '0';\n\t\t\tif ( precision > 0 )\n\t\t\t{\n\t\t\t\t* buffer ++ = '.';\n\t\t\t\tfor ( pos = 0; pos < precision; pos ++) * buffer ++ = '0';\n\t\t\t}\n\t\t}\n\t}\n\n\t* buffer = '\\0';\n}\ntemplate<class CHAR_TYPE>\nvoid forcdecpt( CHAR_TYPE * buffer )\n{\n\twhile (* buffer )\n\t{\n\t\tif (* buffer == '.' ) return;\n\t\tif (* buffer == 'e' || * buffer == 'E' ) break;\n\t\tbuffer ++;\n\t}\n\n\tif (* buffer )\n\t{\n\t\tint n = TStrLen( buffer );\n\t\twhile ( n > 0 ) \n\t\t{\n\t\t\tbuffer[n + 1] = buffer[n];\n\t\t\tn --;\n\t\t}\n\n\t\t* buffer = '.';\n\t}\n\telse\n\t{\n\t\t* buffer ++ = '.';\n\t\t* buffer = '\\0';\n\t}\n}\n\ntemplate<class CHAR_TYPE>\nvoid cropzeros( CHAR_TYPE * buffer )\n{\n\tCHAR_TYPE * stop;\n\n\twhile (* buffer && * buffer != '.' ) buffer ++;\n\tif (* buffer ++)\n\t{\n\t\twhile (* buffer && * buffer != 'e' && * buffer != 'E' ) buffer ++;\n\t\tstop = buffer --;\n\t\twhile (* buffer == '0' ) buffer --;\n\t\tif (* buffer == '.' ) buffer --;\n\t\twhile (*++ buffer = * stop ++);\n\t}\n}\n\n#define TVSP_ZEROPAD 1               // Pad with zero\n#define TVSP_SIGN    2               // Unsigned/signed long\n#define TVSP_PLUS    4               // Show plus\n#define TVSP_SPACE   8               // Space if plus\n#define TVSP_LEFT    16              // Left justified\n#define TVSP_SPECIAL 32              // 0x\n#define TVSP_LARGE   64              // Use 'ABCDEF' instead of 'abcdef'\n\ntemplate<class CHAR_TYPE>\nCHAR_TYPE * myflt( CHAR_TYPE * str, double num, int size, int precision, CHAR_TYPE fmt, int flags )\n{\n\tCHAR_TYPE tmp[80];\n\tchar c, sign;\n\tint n, i;\n\n\t// Left align means no zero padding\n\tif ( flags & TVSP_LEFT ) flags &= ~ TVSP_ZEROPAD;\n\n\t// Determine padding and sign char\n\tc = ( flags & TVSP_ZEROPAD ) ? '0' : ' ';\n\tsign = 0;\n\tif ( flags & TVSP_SIGN )\n\t{\n\t\tif ( num < 0.0 )\n\t\t{\n\t\t\tsign = '-';\n\t\t\tnum = - num;\n\t\t\tsize --;\n\t\t}\n\t\telse if ( flags & TVSP_PLUS )\n\t\t{\n\t\t\tsign = '+';\n\t\t\tsize --;\n\t\t}\n\t\telse if ( flags & TVSP_SPACE )\n\t\t{\n\t\t\tsign = ' ';\n\t\t\tsize --;\n\t\t}\n\t}\n\n\t// Compute the precision value\n\tif ( precision < 0 )\n\t\tprecision = 6; // Default precision: 6\n\telse if ( precision == 0 && fmt == 'g' )\n\t\tprecision = 1; // ANSI specified\n\n\t// Convert floating point number to text\n\tcfltcvt( num, tmp, fmt, precision );\n\n\t// '#' and precision == 0 means force a decimal point\n\tif (( flags & TVSP_SPECIAL ) && precision == 0 ) forcdecpt( tmp );\n\n\t// 'g' format means crop zero unless '#' given\n\tif ( fmt == 'g' && !( flags & TVSP_SPECIAL )) cropzeros( tmp );\n\n\tn = TStrLen( tmp );\n\n\t// Output number with alignment and padding\n\tsize -= n;\n\tif (!( flags & ( TVSP_ZEROPAD | TVSP_LEFT ))) while ( size -- > 0 ) * str ++ = ' ';\n\tif ( sign ) * str ++ = sign;\n\tif (!( flags & TVSP_LEFT )) while ( size -- > 0 ) * str ++ = c;\n\tfor ( i = 0; i < n; i ++) * str ++ = tmp[i];\n\twhile ( size -- > 0 ) * str ++ = ' ';\n\n\treturn str;\n}\n\n\n\ntemplate<class CHAR_TYPE>\nint TVSPrintf(CHAR_TYPE*buffer,const CHAR_TYPE*format,void*ParamList)\n{\n\tint   nFlags;\n\tint   Length;\t\t\t\t// Limit at entry point\n\tbool  bMore;\t\t\t\t// Loop control\n\tint\t  Width;\t\t\t\t// Optional width\n\tint   Precision;\t\t\t// Optional precision\n\tCHAR_TYPE  *str;\t\t\t// String\n\tCHAR_TYPE  strbuf[128];\t\t// Constructed string\n\tint\t  len;\t\t\t\t\t// Length of string\n\tint\t  nLeadingZeros;\t\t// Number of leading zeros required\n\tint\t  nPad;\t\t\t\t\t// Number of pad characters required\n\tCHAR_TYPE  *sPrefix;\t\t// Prefix string\n\tULONG val;\t\t\t\t\t// Value of current number\n\tbool  bLeftJustify;\t\t\t// Justification\n\tbool  bPlusSign;\t\t\t// Show plus sign?\n\tbool  bBlankSign;\t\t\t// Blank for positives?\n\tbool  bZeroPrefix;\t\t\t// Want 0x for hex, 0 for octal?\n\tbool  bIsShort;\t\t\t\t// true if short\n\tbool  bIsLong;\t\t\t\t// true if long\n\tCHAR_TYPE  cPad;\n\tCHAR_TYPE* savestr;\n\tbool  bIsLonglong;\t\t\t// true if LONGLONG\n\tLONGLONG val64;\n\tva_list Next;\n\tNext = (va_list)ParamList;\n\tLength=0;\n\tnFlags=0;\n\tstatic CHAR_TYPE strPlus[]={'+',0};\n\tstatic CHAR_TYPE strSub[]={'-',0};\n\tstatic CHAR_TYPE str0x[]={'0','x',0};\n\tstatic CHAR_TYPE str0X[]={'0','X',0};\n\tstatic CHAR_TYPE strNULL[]={0};\n\tstatic CHAR_TYPE strSpace[]={' ',0};\n\tstatic CHAR_TYPE strZero[]={'0',0};\n\tstatic CHAR_TYPE strError[]={'<','E','r','r','o','r','>',0};\n\n\twhile(*format != '\\0')\n\t{\n\t\t// Everything but '%' is copied to buffer\n\t\tif (*format != '%') \n\t\t{\n\t\t\tif(buffer)\n\t\t\t\t*buffer++ = *format;\n\t\t\tLength++;\n\t\t\tformat++;\n\t\t}\n\t\telse// '%' gets special handling here\n\t\t{\n\t\t\t// Set default flags, etc\n\t\t\tWidth = 0;\n\t\t\tPrecision = -1;\n\t\t\tbLeftJustify = false;\n\t\t\tbPlusSign = false;\n\t\t\tbBlankSign = false;\n\t\t\tbZeroPrefix = false;\n\t\t\tbIsShort = false;\n\t\t\tbIsLong = false;\n\t\t\tbIsLonglong = false;\n\t\t\tnFlags = 0;\n\t\t\tcPad = ' ';\n\t\t\tsPrefix = strNULL;\n\t\t\tformat++;\n\t\t\tbMore = true;\n\n\n\t\t\twhile (bMore) {\n\t\t\t\t// optional flags\n\t\t\t\tswitch (*format) {\n\t\tcase '-':  bLeftJustify = true; format++;nFlags|=TVSP_LEFT; break;\n\t\tcase '+':  bPlusSign = true; format++; nFlags|=TVSP_PLUS;break;\n\t\tcase '0':  cPad = '0'; format++; nFlags|=TVSP_ZEROPAD;break;\n\t\tcase ' ':  bBlankSign = true; format++; nFlags|=TVSP_SPACE;break;\n\t\tcase '#':  bZeroPrefix = true; format++; nFlags|=TVSP_SPECIAL;break;\n\t\tdefault:   bMore = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// optional width\t\t\n\t\t\tif (*format == '*') {\n\t\t\t\tWidth = (int) va_arg(Next, int);\n\t\t\t\tformat++;\n\t\t\t\tif ( Width < 0 )\n\t\t\t\t{\n\t\t\t\t\tWidth = - Width;\n\t\t\t\t\tbLeftJustify = true;\n\t\t\t\t\tnFlags|=TVSP_LEFT;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (IS_DIGIT(*format)) {\n\t\t\t\twhile (IS_DIGIT(*format)) {\n\t\t\t\t\tWidth *= 10;\n\t\t\t\t\tWidth += (*format++) - '0';\n\t\t\t\t}\n\t\t\t}\n\t\t\t// optional precision\t\t\n\t\t\tif (*format == '.') {\n\t\t\t\tformat++;\n\t\t\t\tPrecision = 0;\n\t\t\t\tif (*format == '*') {\n\t\t\t\t\tPrecision = (int) va_arg(Next, int);\n\t\t\t\t\tformat++;\n\t\t\t\t}\n\t\t\t\telse while (IS_DIGIT(*format)) {\n\t\t\t\t\tPrecision *= 10;\n\t\t\t\t\tPrecision += (*format++) - '0';\n\t\t\t\t}\n\t\t\t\tif ( Precision < 0 ) Precision = 0;\n\t\t\t}\n\t\t\t// optional size'o'\n\n\n\n\t\t\tswitch (*format) \n\t\t\t{\n\t\t\tcase 'h':  bIsShort = true; format++; break;\n\t\t\tcase 'l':  bIsLong = true;  format++; break;\n\t\t\tcase 'I':\n\t\t\t\tif ( (format[1]=='6') && (format[2]=='4') )\n\t\t\t\t{\n\t\t\t\t\tformat += 3;\n\t\t\t\t\tbIsLonglong = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// All controls are completed, dispatch on the conversion character\n\t\t\tswitch (*format++) {\n\t\tcase 'd':\n\t\tcase 'i':\n\t\t\t nFlags |= TVSP_SIGN;\n\t\t\tif (bIsLonglong)\n\t\t\t\tNumToStr( (LONGLONG) va_arg (Next, LONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t\tif (bIsLong)\t\t// Signed long int\n\t\t\t\t\tNumToStr( (long) va_arg(Next, long), strbuf, 10);\n\t\t\t\telse\t\t\t// Signed int\n\t\t\t\t\tNumToStr( (int) va_arg(Next, int), strbuf, 10);\n\t\t\tif (strbuf[0] == '-') sPrefix = strSub;\n\t\t\telse {\n\t\t\t\tif (bPlusSign) sPrefix = strPlus;\n\t\t\t\telse if (bBlankSign) sPrefix = strSpace;\n\t\t\t}\n\t\t\tgoto EmitNumber;\n\t\tcase 'u':\n\t\t\tif (bIsLonglong)\n\t\t\t\tuNumToStr( (LONGLONG) va_arg(Next, ULONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t\tif (bIsLong)\t// Unsigned long int\n\t\t\t\t\tuNumToStr( (ULONG) va_arg(Next, ULONG), strbuf, 10);\n\t\t\t\telse\t\t\t// Unsigned int\n\t\t\t\t\tuNumToStr( (ULONG) (int) va_arg(Next, int), strbuf, 10);\n\t\t\tgoto EmitNumber;\n\t\t\t// set sPrefix for these...\n\t\tcase 'o':\n\t\t\tif (bIsLonglong)\n\t\t\t\tuNumToStr( (LONGLONG) va_arg(Next, LONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bZeroPrefix) sPrefix = strZero;\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (long) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (int) va_arg(Next, int);\n\t\t\t\tuNumToStr(val, strbuf, 8);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tgoto EmitNumber;\n\t\tcase 'p':\t// pointer \n\t\tcase 'x':\n\t\t\tif (bZeroPrefix) sPrefix = str0x;\n\t\t\tif (bIsLonglong)\n\t\t\t{\n\t\t\t\tval64 = (LONGLONG) va_arg(Next, LONGLONG);\n\t\t\t\tuNumToStr( val64, strbuf, 16);\n\t\t\t\tif (val64 == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (ULONG) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (unsigned int) va_arg(Next, int);\t\t\t\n\t\t\t\tuNumToStr(val, strbuf, 16);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tTStrLwr(strbuf);\n\t\t\tgoto EmitNumber;\n\t\tcase 'X':\n\t\t\tif (bZeroPrefix) sPrefix = str0X;\n\t\t\tif (bIsLonglong)\n\t\t\t{\n\t\t\t\tval64 = (LONGLONG) va_arg(Next, LONGLONG);\n\t\t\t\tuNumToStr( val64, strbuf, 16);\n\t\t\t\tif (val64 == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (ULONG) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (unsigned int) va_arg(Next, int);\n\t\t\t\tuNumToStr(val, strbuf, 16);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tTStrUpr(strbuf);\n\t\t\tgoto EmitNumber;\n\t\tcase 'c':\n\t\t\tstrbuf[0] = (CHAR_TYPE) va_arg(Next, int);\n\t\t\tstr = strbuf;\n\t\t\tlen = 1;\n\t\t\tgoto EmitString;\n\t\tcase 's':\n\t\t\tstr = (CHAR_TYPE *) va_arg(Next, CHAR_TYPE*);\n\t\t\tlen =  TStrLen(str);\n\t\t\tif (Precision != -1 &&\n\t\t\t\tPrecision < len)\n\t\t\t\tlen = Precision;\n\t\t\tgoto EmitString;\n\t\tcase 'n':\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\tstrbuf[0] = '%';\n\t\t\tstr = strbuf;\n\t\t\tlen = 1;\n\t\t\tgoto EmitString;\n\t\t\tbreak;\n\t\tcase 'f':\n\t\tcase 'e':\n\t\tcase 'E':\n\t\tcase 'g':\n\t\tcase 'G':\n//\t\tcase 'U':\n\t\t\tstr = myflt( (CHAR_TYPE*)&strbuf[0], va_arg( Next, double ), Width, Precision, *(format-1), nFlags | TVSP_SIGN );\n\t\t\t*str='\\0';\n\t\t\tstr=strbuf;\n\t\t\tlen =  TStrLen(str);\n\t\t\tgoto EmitNumber;\n\t\tdefault:\n\t\t\tstr = strError;//\"<bad format character>\";\n\t\t\tlen =  TStrLen(str);\n\t\t\tgoto EmitString;\n\t\t\t}\nEmitNumber:\n\t\t\tif (Precision == -1) Precision = 1;\n\t\t\tstr = strbuf;\n\t\t\tif (*str == '-') str++;\t\t// if negative, already have prefix\n\t\t\tlen =  TStrLen(str);\n\t\t\tnLeadingZeros = Precision - len;\n\t\t\tif (nLeadingZeros < 0) nLeadingZeros = 0;\n\t\t\tnPad = Width - (len + nLeadingZeros +  TStrLen(sPrefix));\n\t\t\tif (nPad < 0) nPad = 0;\n\t\t\t// If 0-padding, emit prefix first.\n\t\t\t// if ' ' padding, emit padding first\n\t\t\tif (cPad == '0') {\n\t\t\t\twhile (*sPrefix != '\\0') PUTONE(*sPrefix++);\n\t\t\t}\n\t\t\tif (nPad && !bLeftJustify) {\n\t\t\t\t// Left padding required\n\t\t\t\twhile (nPad--) {\n\t\t\t\t\tPUTONE(cPad);\n\t\t\t\t}\n\t\t\t\tnPad = 0;\t\t// Indicate padding completed\n\t\t\t}\n\t\t\t// Put prefix now if not used up earlier (i.e. if blank padding)\n\t\t\twhile (*sPrefix != '\\0') PUTONE(*sPrefix++);\n\t\t\twhile (nLeadingZeros-- > 0) PUTONE('0');\n\t\t\twhile (len-- > 0) {\n\t\t\t\tPUTONE(*str++);\n\t\t\t}\n\t\t\tif (nPad) {\n\t\t\t\t// Right padding required\n\t\t\t\twhile (nPad--) PUTONE(' ');\n\t\t\t}\n\t\t\tgoto Done;\nEmitString:\n\t\t\t// Here we have the string ready to emit.  Handle padding, etc.\n\t\t\tif (Width > len) nPad = Width - len;\n\t\t\telse nPad = 0;\n\t\t\tif (nPad && !bLeftJustify) {\n\t\t\t\t// Left padding required\n\t\t\t\twhile (nPad--) PUTONE(cPad);\n\t\t\t}\n\t\t\tsavestr = str;\n\t\t\twhile (len-- > 0) PUTONE(*str++);\n\t\t\tif (nPad && bLeftJustify) {\n\t\t\t\t// Right padding required\n\t\t\t\twhile (nPad--) PUTONE(' ');\n\t\t\t}\nDone:\t;\n\t\t}\n\t}\n\tif(buffer)\n\t\t*buffer = '\\0';\n\treturn Length;\t\t// Don't count terminating NULL\n}\n\ntemplate<class CHAR_TYPE>\nint TSPrintf(CHAR_TYPE*buffer,const CHAR_TYPE*format,...)\n{\n\tint Result;\n\tva_list Next;\n\tva_start(Next,format);\n\tResult = TVSPrintf(buffer,format,Next);\n\tva_end(Next);\n\treturn Result;\n}\n\ntemplate<class CHAR_TYPE,bool bIgnoreCase = false,int Align = 8>\nclass TString\n{\npublic://m_pData!=NULL && m_MaxLength==0ʱTStringǸַ\n\tCHAR_TYPE*m_pData;\n\tint m_Length;\n\tint m_MaxLength;\npublic:\n\tvoid Init()\n\t{\n\t\tm_pData\t= NULL;\n\t\tm_MaxLength\t= m_Length = 0;\n\t}\n\tTString()\n\t{\n\t\tInit();\n\t}\n\tTString(const CHAR_TYPE* pString)\n\t{\n\t\tInit();\n\t\tm_pData = (CHAR_TYPE*)pString;\n\t\tm_Length = TStrLen(m_pData);\n\t}\n\tTString(const TString&String)\n\t{\n\t\tInit();\n\t\tif(String.m_Length)\n\t\t\tPreallocate(String.m_Length+1,String.m_pData);\n\t}\n\tvirtual ~TString()\n\t{\n\t\tif(m_pData)\n\t\t{\n\t\t\tif(m_MaxLength)\n\t\t\t\tdelete m_pData;\n\t\t\tm_pData = NULL;\n\t\t}\n\t\tm_MaxLength = m_Length = 0;\n\t}\n\t// LengthʵռС\n\tvirtual void Preallocate(int Length, const CHAR_TYPE* pNewString = NULL)\n\t{\n\t\tCHAR_TYPE* pNewData = m_pData;\n\t\tint OldMaxLength = m_MaxLength;\n\t\tif(Length>m_MaxLength)\n\t\t{\n\t\t\tm_MaxLength = Length+(Align-Length%Align);\n\t\t\tpNewData = new CHAR_TYPE[m_MaxLength];\n\t\t\t*pNewData = 0;\n\t\t}\n\t\tif(pNewString && pNewString!=pNewData)\n\t\t{\n\t\t\tm_Length = TStrLen(pNewString);\n\t\t\tTStrCpyLimit(pNewData, pNewString, m_MaxLength);\n\t\t}\n\t\tif(m_pData && pNewData!=m_pData)\n\t\t{\n\t\t\tif(OldMaxLength)\n\t\t\t\tdelete m_pData;\n\t\t\tm_pData = NULL;\n\t\t}\n\t\tm_pData = pNewData;\n\t}\n\tint GetLength()\tconst { return m_Length; }\n\tint Length() const { return m_Length; }\n\tvirtual void Empty()\n\t{\n\t\tif(m_pData)\n\t\t{\n\t\t\tif(m_MaxLength)\n\t\t\t\tdelete m_pData;\n\t\t\tm_pData = NULL;\n\t\t}\n\t\tm_MaxLength = m_Length = 0;\n\t}\n\tbool IsEmpty() const\n\t{\n\t\treturn (m_pData==NULL)||(m_Length==0)||(m_pData[0]==0);\n\t}\n\tint Compare(const TString String) const\n\t{\n\t\tif(m_pData == NULL || String.m_pData)\n\t\t\treturn -1;\n\t\treturn TStrCmp(m_pData, String.m_pData);\n\t}\n\tint CompareNoCase(const TString String) const\n\t{\n\t\tif(m_pData == NULL || String.m_pData)\n\t\t\treturn -1;\n\t\treturn TStrICmp(m_pData, String.m_pData);\n\t}\n\tCHAR_TYPE GetAt(int nIndex) const\n\t{\n\t\tif(nIndex<m_MaxLength)\n\t\t\treturn m_pData[nIndex];\n\t\telse\n\t\t\treturn 0;\n\t}\n\tCHAR_TYPE SetAt(int nIndex, CHAR_TYPE ch)\n\t{\n\t\tif(m_pData==NULL)\n\t\t\tPreallocate(nIndex+1);\n\t\tm_pData[nIndex] = ch;\n\t\tif(ch==0)\n\t\t\tm_Length = TStrLen(m_pData);\n\t\treturn ch;\n\t}\n\tvoid Truncate(int nIndex)\n\t{\n\t\tSetAt(nIndex, '\\0');\n\t}\n\tvoid ReverseCpy(CHAR_TYPE*dst,const CHAR_TYPE*src,int count)\n\t{\n\t\tdst += count;\n\t\tsrc += count;\n\t\twhile(count--)\n\t\t{\n\t\t\tdst--;\n\t\t\tsrc--;\n\t\t\t*dst = *src;\n\t\t}\n\t}\n\tint Insert(int nIndex, CHAR_TYPE* pszString)\n\t{\n\t\tif(m_pData==NULL)\n\t\t\tPreallocate(nIndex+1);\n\t\tint nNewLen = TStrLen(pszString);\n\t\tif( nNewLen+m_Length >= m_MaxLength )\n\t\t{\n\t\t\tPreallocate(nNewLen+m_Length+1,m_pData);\n\t\t}\n\t\tReverseCpy(m_pData+nIndex+nNewLen, m_pData+nIndex, m_Length-nIndex);\n\t\tReverseCpy(m_pData+nIndex, pszString, nNewLen);\n\t\tm_Length+=nNewLen;\n\t\t*(m_pData+m_Length) = 0;\n\t\treturn m_Length;\n\t}\n\tint Insert(int nIndex, CHAR_TYPE ch)\n\t{\n\t\tif(m_pData==NULL)\n\t\t\tPreallocate(nIndex+1);\n\t\tif( m_Length+1 >= m_MaxLength )\n\t\t{\n\t\t\tPreallocate(m_Length+1+1,m_pData);\n\t\t}\n\t\tReverseCpy(m_pData+nIndex+1, m_pData+nIndex, m_Length-nIndex);\n\t\t*(m_pData+nIndex) = ch;\n\t\tm_Length++;\n\t\t*(m_pData+m_Length) = 0;\n\t\treturn m_Length;\n\t}\n\tint Delete(\tint nIndex,\tint nCount = 1)\n\t{\n\t\tif(nIndex<0 || nIndex>=m_Length)\n\t\t\treturn m_Length;\n\t\tif(nIndex+nCount>m_Length)\n\t\t\tnCount = m_Length-nIndex;\n\t\tTMemCpy(m_pData+nIndex, m_pData+nIndex+nCount, m_Length-(nIndex+nCount));\n\t\tm_Length -= nCount;\n\t\tm_pData[m_Length] = 0;\n\t\treturn m_Length;\n\t}\n\tTString& operator=(const CHAR_TYPE* pString)\n\t{\n\t\tif(pString)\n\t\t\tPreallocate(TStrLen(pString)+1, pString);\n\t\telse\n\t\t\tEmpty();\n\t\treturn *this;\n\t}\n\n\tTString& operator=(const TString& String)\n\t{\n\t\tif(String.m_Length)\n\t\t\tPreallocate(String.m_Length+1, String.m_pData);\n\t\telse\n\t\t\tEmpty();\n\t\treturn *this;\n\t}\n\n\tTString& operator+=(const CHAR_TYPE* pString)\n\t{\n\t\tint nNewLen = TStrLen(pString);\n\t\tPreallocate(nNewLen+m_Length+1,m_pData);\n\t\tTStrCat(m_pData, pString);\n\t\tm_Length += nNewLen;\n\t\treturn *this;\n\t}\n\tTString& operator+=(const TString& String)\n\t{\n\t\tPreallocate(String.m_Length+m_Length+1,m_pData);\n\t\tTStrCat(m_pData, String.m_pData);\n\t\tm_Length += String.m_Length;\n\t\treturn *this;\n\t}\n\tTString&operator+=(CHAR_TYPE Char)\n\t{\n\t\tPreallocate(m_Length+2,m_pData);\n\t\tm_pData[m_Length]=Char;\n\t\tm_Length++;\n\t\tm_pData[m_Length]=0;\n\t\treturn *this;\n\t}\n\tTString& Fill(CHAR_TYPE Char,int Count)\n\t{\n\t\tPreallocate(Count+1);\n\t\tfor(int i =0; i < Count; i++)\n\t\t{\t\n\t\t\tm_pData[i]=Char;\n\t\t\tm_Length++;\t\n\t\t}\n\t\tm_pData[m_Length]=0;\n\t\treturn *this;\n\t}\n\tTString& Append(CHAR_TYPE Char,int Count)\n\t{\n\t\tPreallocate(m_Length+Count+1,m_pData);\n\t\tfor(int i =0; i < Count; i++)\n\t\t{\n\t\t\tm_pData[m_Length]=Char;\n\t\t\tm_Length++;\t\n\t\t}\n\t\tm_pData[m_Length]=0;\n\t\treturn *this;\n\t}\n\toperator CHAR_TYPE*()\n\t{\n\t\tstatic CHAR_TYPE NullChar;\n\t\tNullChar = 0;\n\t\tif(m_pData==NULL)\n\t\t\treturn &NullChar;\n\t\treturn m_pData;\n\t}\n\tTString operator+(const TString& String)\n\t{\n\t\tTString NewString;\n\t\tNewString = *this;\n\t\tNewString += String;\n\t\treturn NewString;\n\t}\n\tTString operator+(const CHAR_TYPE* pString)\n\t{\n\t\tTString NewString;\n\t\tNewString = *this;\n\t\tNewString += pString;\n\t\treturn NewString;\n\t}\n\tCHAR_TYPE& operator[](int n)\n\t{\n\t\treturn m_pData[n];\n\t}\n\tbool operator==(const TString&StrObj) const\t{\treturn (bIgnoreCase?!TStrICmp(m_pData,StrObj.m_pData):!TStrCmp(m_pData,StrObj.m_pData));}\n\tbool operator!=(const TString&StrObj) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,StrObj.m_pData):TStrCmp(m_pData,StrObj.m_pData))!=0;}\n\tbool operator<(const TString&StrObj) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,StrObj.m_pData):TStrCmp(m_pData,StrObj.m_pData))<0;}\n\tbool operator>(const TString&StrObj) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,StrObj.m_pData):TStrCmp(m_pData,StrObj.m_pData))>0;}\n\tbool operator<=(const TString&StrObj) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,StrObj.m_pData):TStrCmp(m_pData,StrObj.m_pData))<=0;}\n\tbool operator>=(const TString&StrObj) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,StrObj.m_pData):TStrCmp(m_pData,StrObj.m_pData))>=0;}\n\tbool operator==(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?!TStrICmp(m_pData,pStr):!TStrCmp(m_pData,pStr));}\n\tbool operator!=(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,pStr):TStrCmp(m_pData,pStr))!=0;}\n\tbool operator<(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,pStr):TStrCmp(m_pData,pStr))<0;}\n\tbool operator>(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,pStr):TStrCmp(m_pData,pStr))>0;}\n\tbool operator<=(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,pStr):TStrCmp(m_pData,pStr))<=0;}\n\tbool operator>=(const CHAR_TYPE*pStr) const\t{\treturn (bIgnoreCase?TStrICmp(m_pData,pStr):TStrCmp(m_pData,pStr))>=0;}\n\tvoid FormatV(const CHAR_TYPE* pFormat, va_list va)\n\t{\n\t\tint nLen = TVSPrintf((CHAR_TYPE*)NULL, pFormat, va);\n\t\tPreallocate(nLen+1);\n\t\tTVSPrintf(m_pData, pFormat, va);\n\t\tm_Length = nLen;\n\t}\n\tvoid Format(const CHAR_TYPE* pFormat,\t...)\n\t{\n\t\tva_list va;\n\t\tva_start(va, pFormat);\n\t\tFormatV(pFormat, va);\n\t\tva_end(va);\n\t}\n\tTString& MakeUpper()\n\t{\n\t\tif(m_pData)\n\t\t\tTStrUpr(m_pData);\n\t\treturn *this;\n\t}\n\n\tTString& MakeLower()\n\t{\n\t\tif(m_pData)\n\t\t\tTStrLwr(m_pData);\n\t\treturn *this;\n\t}\n\t///////////////////////////////////////\n\t//·\n\t//////////////////////////////////////\n\t//ȡļ\n\t//\"C:\\Windows\\Notepad.exe\"\n\t//\"Notepad.exe\"\n\tCHAR_TYPE*GetFileName()\n\t{\n\t\treturn TGetFileName(m_pData);\n\t}\n\t//ȡļչ\n\t//\"C:\\Windows\\Notepad.exe\"\n\t//\"exe\"\n\tCHAR_TYPE*GetFileExt()\n\t{\n\t\treturn TGetFileExt(m_pData);\n\t}\n\t//ȡļ\n\t//\"C:\\Windows\\Notepad.exe\"\n\t//\"Notepad\"\n\tint GetFileTitle(CHAR_TYPE*szTitle)\n\t{\n\t\treturn TGetFileTitle(m_pData,szTitle);\n\t}\n\t//ȡļ·\n\t//\"C:\\Windows\\Notepad.exe\"\n\t//C:\\Windows\n\tint GetFilePath(CHAR_TYPE*szPath)\n\t{\n\t\treturn TGetFilePath(m_pData,szPath);\n\t}\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length = Stream.Puts(&m_Length,sizeof(m_Length));\n\t\tif(m_Length>0)\n\t\t\tLength += Stream.Puts(m_pData,m_Length*sizeof(CHAR_TYPE));\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint TotalLength,Length;\n\t\tTotalLength = 0;\n\t\tLength = Stream.Gets(&m_Length,sizeof(m_Length));\n\t\tif(Length!=sizeof(m_Length))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tif(m_Length==0)\n\t\t\treturn TotalLength;\n\t\tPreallocate(m_Length+1);\n\t\tLength = Stream.Gets(m_pData,m_Length*sizeof(CHAR_TYPE));\n\t\tif(Length!=m_Length*sizeof(CHAR_TYPE))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tm_pData[m_Length]=0;\n\t\treturn TotalLength;\n\t}\n};\n\ntypedef TString<char>\tCStrA;\ntypedef TString<WCHAR>\tCStrW;\n\ntypedef TString<char,true>\tCIStrA;\ntypedef TString<WCHAR,true>\tCIStrW;\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/ALTVector.hpp",
    "content": "#ifndef _ALT_VECTOR_H_\n#define _ALT_VECTOR_H_\n\n#include \"ALTBase.hpp\"\n\nALT_NAME_SPACE_BEGIN\n\ntemplate<class VALUE,int InitSize = 0,class ALTArchiveType = ALTEmptyArchive> //\tALTArchive>\nclass TVector : public ALTObj<VALUE>\n{\npublic:\n\tint\t\tm_Size;\n\tint\t\tm_Count;\n\tVALUE**\tm_ValueAry;\t\t\t\npublic:\n\tTVector()\n\t{\n\t\tm_ValueAry = NULL;\n\t\tm_Count = m_Size = 0;\n\t\tResize(InitSize);\n\t}\n\t~TVector()\n\t{\n\t\tClear();\n\t}\npublic:\n\tvoid Resize(int NewSize)\n\t{\n\t\tVALUE**\tNewVauleArray;\n\t\tif(NewSize==m_Size)\n\t\t\treturn;\n\t\tNewVauleArray = (VALUE**)ConstructPtrArray(NewSize);\n\t\tfor(int n=0;n<NewSize;n++)\n\t\t\tNewVauleArray[n]=NULL;\n\t\tif(m_Count>NewSize)\n\t\t\tm_Count=NewSize;\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tfor(int n=0;n<m_Count;n++)\n\t\t\t\tNewVauleArray[n] = m_ValueAry[n];\n\t\t\tDestructPtrArray(m_ValueAry);\t\t\t\n\t\t}\n\t\tm_ValueAry = NewVauleArray;\n\t\tm_Size = NewSize;\n\t}\n\tvoid Clear()\n\t{\n\t\tif(m_ValueAry)\n\t\t{\n\t\t\tfor(int n=0;n<m_Count;n++)\n\t\t\t{\n\t\t\t\tDestruct(m_ValueAry[n]);\n\t\t\t}\n\t\t\tDestructPtrArray(m_ValueAry);\n\t\t\tm_ValueAry = NULL;\n\t\t}\n\t\tm_Size = m_Count = 0;\t\t\n\t}\n\tVALUE*Append(const VALUE&Value = *(VALUE*)NULL)\n\t{\n\t\tif(m_Count+1>=m_Size)\n\t\t\tResize(m_Size*2);\n\t\tm_ValueAry[m_Count]=Construct();\n\t\tif(&Value)\n\t\t\t*m_ValueAry[m_Count]=Value;\n\t\tm_Count++;\n\t\treturn m_ValueAry[m_Count-1];\n\t}\n\tvoid Remove()\n\t{\n\t\tif(m_Count<=0)\n\t\t\treturn;\n\t\tm_Count--;\n\t\tDestruct(m_ValueAry[m_Count]);\n\t\tm_ValueAry[m_Count]=NULL;\n\t}\n\tinline VALUE& operator[](int n)const\n\t{\n\t\treturn *m_ValueAry[n];\n\t}\n\tinline int Size(){return m_Size;}\n\tinline int Count(){return m_Count;}\npublic:\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Stream.Puts(&m_Size,sizeof(m_Size));\n\t\tLength+=Stream.Puts(&m_Count,sizeof(m_Count));\n\t\tfor(int n=0;n<m_Count;n++)\n\t\t\tLength+=ALTArchiveType::Save(Stream,m_ValueAry[n],sizeof(VALUE));\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint Length,Num;\n\t\tClear();\n\t\tLength=Stream.Gets(&Num,sizeof(Num));\n\t\tResize(Num);\n\t\tLength+=Stream.Gets(&Num,sizeof(Num));\n\t\tfor(int n=0;n<Num;n++)\n\t\t\tLength+=ALTArchiveType::Load(Stream,Append(),sizeof(VALUE));\n\t\treturn Length;\n\t}\n\tstatic\tint\tSave(ALTFileStream&Stream,TVector*Obj,int m_Size){\treturn Obj->Save(Stream); }\n\tstatic\tint\tLoad(ALTFileStream&Stream,TVector*Obj,int m_Size){\treturn Obj->Load(Stream); }\n};\n\n\nALT_NAME_SPACE_END\n\n#endif\n"
  },
  {
    "path": "Project/Code/Source/alt/alt.hpp",
    "content": "#ifndef _ALT_H_\n#define _ALT_H_\n\n#include \"ALTBase.hpp\"\n#include \"ALTString.hpp\"\n#include \"ALTList.hpp\"\n#include \"ALTBTree.hpp\"\n#include \"ALTMap.hpp\"\n#include \"ALTSet.hpp\"\n#include \"ALTRangeMap.hpp\"\n#include \"ALTArray.hpp\"\n#include \"ALTQueue.hpp\"\n#include \"ALTStack.hpp\"\n#include \"ALTVector.hpp\"\n#include \"ALTExpCalc.hpp\"\n\n#ifdef ALT_FILE_STREAM\n#include \"ALTFileStream.hpp\"\n#endif\n\n#ifdef ALT_NAME_SPACE\nusing namespace ALT_NAME_SPACE;\n#endif\n\n#endif\n\n"
  },
  {
    "path": "Project/Code/Source/buildchk_win7_x86.log",
    "content": "BUILD: Examining d:\\syserdbg\\project\\code\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling d:\\syserdbg\\project\\code\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\syserdbg\\project\\code\\source: TARGETPATH is Obj\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /Id:\\syserdbg\\project\\code\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x06010000 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlCode /YcStdAfx.h /Fpd:\\syserdbg\\project\\code\\source\\objchk_win7_x86\\i386\\StdAfx.pch /Fo\"d:\\syserdbg\\project\\code\\source\\objchk_win7_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @d:\\syserdbg\\project\\code\\source\\objchk_win7_x86\\i386\\cl.rsp\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Code.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @d:\\syserdbg\\project\\code\\source\\objchk_win7_x86\\i386\\lib.rsp\n"
  },
  {
    "path": "Project/Code/Source/buildchk_wnet_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\code\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\code\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\code\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WS03\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0502 /DWINVER=0x0502 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05020100 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlCode /YcStdAfx.h /Fpf:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlCode /Ycstdafx.h /Fpf:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.pch\n1> .\\ntdrvruntime.cpp .\\fileio.cpp .\\fileiontdrv.cpp .\\handle.cpp .\\imagefile.cpp .\\logfile.cpp .\\maths.cpp .\\txtfile.cpp .\\strmem.cpp .\\sysdep.cpp .\\newalloc.cpp .\\newallocntdrv.cpp .\\debugnewalloc.cpp .\\debugnewallocntdrv.cpp .\\compress.cpp .\\cmdparser.cpp .\\polyfs.cpp .\\pagemem.cpp .\\heap.cpp .\\float2string.cpp .\\crc.cpp .\\optionvalue.cpp \n1>ntdrvruntime.cpp\n1>fileio.cpp\n1>fileiontdrv.cpp\n1>handle.cpp\n1>imagefile.cpp\n1>logfile.cpp\n1>maths.cpp\n1>txtfile.cpp\n1>strmem.cpp\n1>sysdep.cpp\n1>newalloc.cpp\n1>newallocntdrv.cpp\n1>debugnewalloc.cpp\n1>debugnewallocntdrv.cpp\n1>compress.cpp\n1>cmdparser.cpp\n1>polyfs.cpp\n1>pagemem.cpp\n1>heap.cpp\n1>float2string.cpp\n1>Generating Code...\n1>Compiling...\n1>crc.cpp\n1>optionvalue.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Code.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\ntdrvruntime.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\fileio.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\fileiontdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\handle.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\imagefile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\logfile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\maths.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\txtfile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\strmem.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\sysdep.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\newalloc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\newallocntdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\debugnewalloc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\debugnewallocntdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\compress.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\cmdparser.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\polyfs.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\pagemem.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\heap.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\float2string.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\crc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wnet_x86\\i386\\optionvalue.obj \n"
  },
  {
    "path": "Project/Code/Source/buildchk_wxp_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\code\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\code\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\code\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WINXP\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0501 /DWINVER=0x0501 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05010200 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlCode /YcStdAfx.h /Fpf:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlCode /Ycstdafx.h /Fpf:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.pch\n1> .\\ntdrvruntime.cpp .\\fileio.cpp .\\fileiontdrv.cpp .\\handle.cpp .\\imagefile.cpp .\\logfile.cpp .\\maths.cpp .\\txtfile.cpp .\\strmem.cpp .\\sysdep.cpp .\\newalloc.cpp .\\newallocntdrv.cpp .\\debugnewalloc.cpp .\\debugnewallocntdrv.cpp .\\compress.cpp .\\cmdparser.cpp .\\polyfs.cpp .\\pagemem.cpp .\\heap.cpp .\\float2string.cpp .\\crc.cpp .\\optionvalue.cpp \n1>ntdrvruntime.cpp\n1>fileio.cpp\n1>fileiontdrv.cpp\n1>handle.cpp\n1>imagefile.cpp\n1>logfile.cpp\n1>maths.cpp\n1>txtfile.cpp\n1>strmem.cpp\n1>sysdep.cpp\n1>newalloc.cpp\n1>newallocntdrv.cpp\n1>debugnewalloc.cpp\n1>debugnewallocntdrv.cpp\n1>compress.cpp\n1>cmdparser.cpp\n1>polyfs.cpp\n1>pagemem.cpp\n1>heap.cpp\n1>float2string.cpp\n1>Generating Code...\n1>Compiling...\n1>crc.cpp\n1>optionvalue.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Code.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\ntdrvruntime.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\fileio.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\fileiontdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\handle.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\imagefile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\logfile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\maths.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\txtfile.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\strmem.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\sysdep.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\newalloc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\newallocntdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\debugnewalloc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\debugnewallocntdrv.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\compress.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\cmdparser.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\polyfs.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\pagemem.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\heap.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\float2string.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\crc.obj \n1>f:\\syserdbg\\project\\code\\source\\objchk_wxp_x86\\i386\\optionvalue.obj \n"
  },
  {
    "path": "Project/Code/Win32/Code.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/Win32/Code.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Code\"\n\tProjectGUID=\"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Crc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Code.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDepInc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Crc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOUnix.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TStrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<Filter\n\t\t\t\tName=\"alt\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\alt.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTArray.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBase.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBTree.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTConfig.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTExpCalc.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTFileStream.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTList.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTQueue.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTRangeMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTSet.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTStack.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTString.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTVector.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/Win32/Code.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Trial|Win32\">\n      <Configuration>Trial</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{E50360C3-A8D9-4582-A0B8-0F8F88467113}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <OutDir>$(Configuration)\\</OutDir>\n    <IntDir>$(Configuration)\\</IntDir>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Code.lib</OutputFile>\n      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>\n      <OmitFramePointers>true</OmitFramePointers>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>false</FunctionLevelLinking>\n      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Code.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <ClCompile>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>\n      <OmitFramePointers>true</OmitFramePointers>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>false</FunctionLevelLinking>\n      <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Code.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\Source\\CmdParser.cpp\" />\n    <ClCompile Include=\"..\\Source\\Compress.cpp\" />\n    <ClCompile Include=\"..\\Source\\Crc.cpp\" />\n    <ClCompile Include=\"..\\Source\\DebugNewAlloc.cpp\" />\n    <ClCompile Include=\"..\\Source\\DebugNewAllocWin32.cpp\" />\n    <ClCompile Include=\"..\\Source\\FileIO.cpp\" />\n    <ClCompile Include=\"..\\Source\\FileIOWin32.cpp\" />\n    <ClCompile Include=\"..\\Source\\Float2String.cpp\" />\n    <ClCompile Include=\"..\\Source\\Handle.cpp\" />\n    <ClCompile Include=\"..\\Source\\Heap.cpp\" />\n    <ClCompile Include=\"..\\Source\\HttpDownload.cpp\" />\n    <ClCompile Include=\"..\\Source\\HttpUpload.cpp\" />\n    <ClCompile Include=\"..\\Source\\ImageFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\INIFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\LogFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\Maths.cpp\" />\n    <ClCompile Include=\"..\\Source\\NewAlloc.cpp\" />\n    <ClCompile Include=\"..\\Source\\NewAllocWin32.cpp\" />\n    <ClCompile Include=\"..\\Source\\OptionValue.cpp\" />\n    <ClCompile Include=\"..\\Source\\PageMem.cpp\" />\n    <ClCompile Include=\"..\\Source\\PolyFS.cpp\" />\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"..\\Source\\StrMem.cpp\" />\n    <ClCompile Include=\"..\\Source\\SysDep.cpp\" />\n    <ClCompile Include=\"..\\Source\\TXTFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\WinReg.cpp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\Source\\alt\\alt.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTArray.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTBase.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTBTree.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTConfig.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTExpCalc.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTFileStream.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTList.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTMap.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTQueue.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTRangeMap.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTSet.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTStack.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTString.hpp\" />\n    <ClInclude Include=\"..\\Source\\alt\\ALTVector.hpp\" />\n    <ClInclude Include=\"..\\Source\\CmdParser.h\" />\n    <ClInclude Include=\"..\\Source\\Code.h\" />\n    <ClInclude Include=\"..\\Source\\CodeConfig.h\" />\n    <ClInclude Include=\"..\\Source\\CodeDepInc.h\" />\n    <ClInclude Include=\"..\\Source\\Compress.h\" />\n    <ClInclude Include=\"..\\Source\\Crc.h\" />\n    <ClInclude Include=\"..\\Source\\DebugNewAlloc.h\" />\n    <ClInclude Include=\"..\\Source\\Define.h\" />\n    <ClInclude Include=\"..\\Source\\FileIO.h\" />\n    <ClInclude Include=\"..\\Source\\FileIONTDrv.h\" />\n    <ClInclude Include=\"..\\Source\\FileIOUnix.h\" />\n    <ClInclude Include=\"..\\Source\\FileIOWin32.h\" />\n    <ClInclude Include=\"..\\Source\\Float2String.h\" />\n    <ClInclude Include=\"..\\Source\\Handle.h\" />\n    <ClInclude Include=\"..\\Source\\Heap.h\" />\n    <ClInclude Include=\"..\\Source\\HttpDownload.h\" />\n    <ClInclude Include=\"..\\Source\\HttpUpload.h\" />\n    <ClInclude Include=\"..\\Source\\ImageFile.h\" />\n    <ClInclude Include=\"..\\Source\\INIFile.h\" />\n    <ClInclude Include=\"..\\Source\\LogFile.h\" />\n    <ClInclude Include=\"..\\Source\\Maths.h\" />\n    <ClInclude Include=\"..\\Source\\NewAlloc.h\" />\n    <ClInclude Include=\"..\\Source\\OptionValue.h\" />\n    <ClInclude Include=\"..\\Source\\PageMem.h\" />\n    <ClInclude Include=\"..\\Source\\PolyFS.h\" />\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n    <ClInclude Include=\"..\\Source\\StrMem.h\" />\n    <ClInclude Include=\"..\\Source\\SysDep.h\" />\n    <ClInclude Include=\"..\\Source\\TStrMem.h\" />\n    <ClInclude Include=\"..\\Source\\TXTFile.h\" />\n    <ClInclude Include=\"..\\Source\\WinReg.h\" />\n    <ClInclude Include=\"..\\Source\\X86Debugger.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/Code/Win32/CodeTest.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 9.00\n# Visual Studio 2005\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"CodeTest\", \"CodeTest.vcproj\", \"{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Release|Win32.Build.0 = Release|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/Win32/CodeTest.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"8.00\"\n\tName=\"CodeTest\"\n\tProjectGUID=\"{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}\"\n\tKeyword=\"Win32Proj\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE;_CODE_TEST_\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"dbghelp.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/CodeTestD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/CodeTest.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebDeploymentTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE;_CODE_TEST_\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"dbghelp.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/CodeTest.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebDeploymentTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeTest.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/WinDrv32/Code.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{91B10728-79E2-44EE-81DE-E2F59222F8DA}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{91B10728-79E2-44EE-81DE-E2F59222F8DA}.Debug.ActiveCfg = Debug|Win32\n\t\t{91B10728-79E2-44EE-81DE-E2F59222F8DA}.Debug.Build.0 = Debug|Win32\n\t\t{91B10728-79E2-44EE-81DE-E2F59222F8DA}.Release.ActiveCfg = Release|Win32\n\t\t{91B10728-79E2-44EE-81DE-E2F59222F8DA}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/WinDrv32/Code.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"7.10\"\n\tName=\"Code\"\n\tProjectGUID=\"{91B10728-79E2-44EE-81DE-E2F59222F8DA}\"\n\tKeyword=\"Win32Proj\">\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"/>\n\t</Platforms>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tCharacterSet=\"2\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalOptions=\"/Zel /Gi- -cbstring /QIfdiv-\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"_X86_=1;i386=1;STD_CALL;CONDITION_HANDLING=1;NT_INST=0;WIN32=100;_NT1X_=100;WINNT=1;_WIN32_WINNT=0x0502;WINVER=0x0502;_WIN32_IE=0x0600;WIN32_LEAN_AND_MEAN=1;DEVL=1;DBG=1;__BUILDMACHINE__=WinDDK;FPO=0;NDEBUG;_DLL=1;_LIB;CODE_OS_NT_DRV;CODE_ALLOC_USER_HEAP\"\n\t\t\t\tStringPooling=\"TRUE\"\n\t\t\t\tMinimalRebuild=\"TRUE\"\n\t\t\t\tExceptionHandling=\"FALSE\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"5\"\n\t\t\t\tBufferSecurityCheck=\"FALSE\"\n\t\t\t\tUsePrecompiledHeader=\"3\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"TRUE\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedWrapperGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAuxiliaryManagedWrapperGeneratorTool\"/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tCharacterSet=\"2\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalOptions=\"/Zel /Gi- -cbstring /QIfdiv-\"\n\t\t\t\tOptimization=\"1\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"_X86_=1;i386=1;STD_CALL;CONDITION_HANDLING=1;NT_INST=0;WIN32=100;_NT1X_=100;WINNT=1;_WIN32_WINNT=0x0502;WINVER=0x0502;_WIN32_IE=0x0600;WIN32_LEAN_AND_MEAN=1;DEVL=1;DBG=1;__BUILDMACHINE__=WinDDK;FPO=0;NDEBUG;_DLL=1;_LIB;CODE_OS_NT_DRV;CODE_ALLOC_USER_HEAP\"\n\t\t\t\tExceptionHandling=\"FALSE\"\n\t\t\t\tRuntimeLibrary=\"4\"\n\t\t\t\tBufferSecurityCheck=\"FALSE\"\n\t\t\t\tUsePrecompiledHeader=\"3\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"TRUE\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedWrapperGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAuxiliaryManagedWrapperGeneratorTool\"/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAllocNTDrv.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAllocNTDrv.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDrvRuntime.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\">\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\">\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\">\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.cpp\">\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Code.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeConfig.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDepInc.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOUnix.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDrvRuntime.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TStrMem.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.h\">\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\">\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\">\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/WinXPDrv32/Code.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{651091F4-30CA-4134-91EF-88FB5F4D7477}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.Build.0 = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/WinXPDrv32/Code.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Code\"\n\tProjectGUID=\"{651091F4-30CA-4134-91EF-88FB5F4D7477}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeTest.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Crc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAllocNTDrv.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAllocNTDrv.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDrvRuntime.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Code.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDepInc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Crc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDrvRuntime.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stl.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TStrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<Filter\n\t\t\t\tName=\"alt\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\alt.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTArray.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBase.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBTree.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTConfig.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTExpCalc.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTFileStream.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTList.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTQueue.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTRangeMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTSet.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTStack.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTString.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTVector.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Code/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/Code/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Code/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/Code/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/Code/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/Code/vc8/Code.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 9.00\n# Visual Studio 2005\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/vc8/Code.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Code\"\n\tProjectGUID=\"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\n\tRootNamespace=\"Code\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"false\"\n\t\t\t\tRuntimeLibrary=\"2\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LangLib.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Code.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDepInc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOUnix.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LangLib.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TStrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<Filter\n\t\t\t\tName=\"alt\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\alt.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTArray.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBase.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBTree.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTConfig.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTExpCalc.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTFileStream.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTList.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTQueue.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTRangeMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTSet.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTStack.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTString.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTVector.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/vc8/CodeMD.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"8.00\"\n\tName=\"Code\"\n\tProjectGUID=\"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\n\tRootNamespace=\"Code\"\n\tKeyword=\"Win32Proj\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"3\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"false\"\n\t\t\t\tRuntimeLibrary=\"2\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Code.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LangLib.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAllocWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdParser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Code.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDepInc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Compress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugNewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIO.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIONTDrv.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOUnix.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileIOWin32.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Float2String.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Handle.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Heap.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpDownload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HttpUpload.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ImageFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\INIFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LangLib.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LogFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Maths.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NewAlloc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionValue.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PolyFS.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysDep.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TStrMem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TXTFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinReg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<Filter\n\t\t\t\tName=\"alt\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\alt.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTArray.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBase.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTBTree.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTConfig.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTExpCalc.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTFileStream.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTList.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTQueue.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTRangeMap.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTSet.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTStack.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTString.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\Source\\alt\\ALTVector.hpp\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Code/vc8/CodeTest.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"CodeTest\", \"CodeTest.vcproj\", \"{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Code/vc8/CodeTest.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"CodeTest\"\n\tProjectGUID=\"{A63EC8C0-0571-4002-A1C4-BC4B00EDF3F2}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE;_CODE_TEST_\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/CodeTestD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/CodeTest.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE;_CODE_TEST_\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/CodeTest.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeTest.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/CodeDoc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CodeDoc.h\"\n\nCCodeDoc::CCodeDoc()\n{\n\tm_DocRangeStart = 0;\n\tm_DocRangeEnd = 0xFFFFFFFF;\n\tm_bIsOpened = false;\n}\n\nCCodeDoc::~CCodeDoc()\n{\n\n}\n\nbool CCodeDoc::Open(PCSTR Name)\n{\n\tm_bIsOpened = true;\n\treturn true;\n}\n\nvoid CCodeDoc::Close()\n{\n\tm_bIsOpened = false;\n}\n\nbool CCodeDoc::GetSymbol(ULPOS Address,WCHAR*szSymbol,int BufSize)\n{\n\treturn false;\n}\n\nbool CCodeDoc::GetComment(ULPOS Address,WCHAR*szComment,int BufSize)\n{\n\treturn false;\n}\n\nbool CCodeDoc::SetComment(ULPOS Address,WCHAR*szComment)\n{\n\treturn false;\n}\n\nbool CCodeDoc::GetLabel(ULPOS Address,WCHAR*szLabel,int BufSize)\n{\n\treturn GetSymbol(Address,szLabel,BufSize);\n}\n\nUINT CCodeDoc::GetLineMark(ULPOS Address)\n{\n\treturn CV_MARK_NULL;\n}\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/CodeDoc.h",
    "content": "#ifndef _CODE_DOC_H_\n#define _CODE_DOC_H_\n\n#include \"DbgModule.h\"\n\nenum CV_COLOR//ɫ\n{\n\tCOLOR_NULL\t= 0,\n\tCOLOR_BK,\t\t\t\t//\n\tCOLOR_ADDRESS,\t\t\t//ַ\n\tCOLOR_PREFIX,\t\t\t//ǰ׺\n\tCOLOR_OPCODE,\t\t\t//\n\tCOLOR_REGISTER,\t\t\t//Ĵ\n\tCOLOR_SEG_REG,\t\t\t//μĴ\n\tCOLOR_IMMED,\t\t\t//\n\tCOLOR_OPTR,\t\t\t\t//\n\tCOLOR_SYMBOL,\t\t\t//\n\tCOLOR_COMMENT,\t\t\t//ע\n\tCOLOR_KEYWORD,\t\t\t//ؼ\n\tCOLOR_STR,\t\t\t\t//ַ\n\tCOLOR_BPX_STRIP,\t\t//ϵ\n\tCOLOR_EIP_STRIP,\t\t//EIP\n\tCOLOR_BPXEIP_STRIP,\t\t//ϵ\n\tCOLOR_API_NAME,\t\t\t//API\n\tCOLOR_API_PARAM_TYPE,\t//API\n\tCOLOR_API_PARAM_NAME,\t//API\n\tCOLOR_JMP_LINE,\t\t\t//Jmp\n\tCOLOR_ACTIVED_JMP_LINE,\t//ҪתJmp\n\tCOLOR_PREFIX_BYTE,\t\t//opcode е prefix ֽڵɫ\n\tCOLOR_OPCODE_BYTE,\t\t// opcode ֽڵɫ\n\tCOLOR_REGRM_BYTE,\t\t//opcode  RegRM ֽڵɫ\n\tCOLOR_SIB_BYPE,\t\t\t//opcode  SIB ֽڵɫ\n\tCOLOR_OTHER_OPCODE_BYTE,\t\t//opcode  ֽڵɫ\n\tCOLOR_3DNOW_BYTE,\t\t//ָ 3dNow ָһֽڵɫ //immediate byte\n\tMAX_COLOR\n};\n\n#define CV_MARK_NULL\t\t\t0x00000000\n#define CV_MARK_EIP\t\t\t\t0x00000001\n#define CV_MARK_BPX\t\t\t\t0x00000002\n#define CV_MARK_DISABLED_BPX\t0x00000004\n#define CV_MARK_BOOK_MARK\t\t0x00000008\n\n\ntypedef TExpCalc<CHAR,ULONG> CExpCalc;\n\nclass CCodeDoc\n{\n\tbool\tm_bIsOpened;\npublic:\n\tCCodeDoc();\n\tvirtual\t~CCodeDoc();\npublic:\n\tULPOS\t\tm_DocRangeStart;\n\tULPOS\t\tm_DocRangeEnd;\n\tvirtual\tbool\tOpen(PCSTR Name);\n\tvirtual\tvoid\tClose();\n\tvirtual ULSIZE\tReadImage(ULPOS Address,void*Buffer,ULSIZE Size) = 0;\n\tvirtual\tULPOS\tGetNextAddress(ULPOS Address,int Count) = 0;\n\tvirtual\tbool\tGetSymbol(ULPOS Address,WCHAR*szSymbol,int BufSize);\n\tvirtual\tbool\tGetComment(ULPOS Address,WCHAR*szComment,int BufSize);\n\tvirtual\tbool\tSetComment(ULPOS Address,WCHAR*szComment);\n\tvirtual\tbool\tGetLabel(ULPOS Address,WCHAR*szLabel,int BufSize);\n\tvirtual\tUINT\tGetLineMark(ULPOS Address);\npublic:\n\tbool\tinline\tIsOpened(){\treturn m_bIsOpened;\t}\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/DbgModule.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DbgModule.h\"\n \nCSymbolModule::CSymbolModule()\n{\n\tm_ReferenceCount = 0;\n\tm_ModuleName = NULL;\n\tm_pParam = NULL;\n\tm_ModuleID = 0;\n\tm_ModuleBase = 0;\n\tm_ModuleSize = 0;\n}\n\nbool CSymbolModule::InsertSymbol(IN ULPOS Offset,IN PCSYMSTR szSym)\n{\n\treturn  m_SymbolMap.InsertUnique(Offset,szSym)!=m_SymbolMap.End();\n}\n\nbool CSymbolModule::SetSymbol(IN ULPOS Offset,IN PCSYMSTR szSym)\n{\n\tCSymbolMap::IT Iter = m_SymbolMap.Find(Offset);\n\tif(Iter!=m_SymbolMap.End())\n\t{\n\t\tif(*Iter == szSym)\n\t\t\treturn false;\n\t\t*Iter = szSym;\n\t\treturn true;\n\t}\n\treturn m_SymbolMap.InsertUnique(Offset,szSym)!=m_SymbolMap.End();\n}\n\nbool CSymbolModule::RemoveSymbol(IN ULPOS Offset)\n{\n\treturn m_SymbolMap.Remove(Offset)>0;\n}\n\nbool CSymbolModule::RemoveSymbol(IN PCSYMSTR szSym)\n{\n\tint Count = 0;\n\tCSymbolMap::IT RemovIter,Iter = m_SymbolMap.Begin();\n\twhile(Iter!=m_SymbolMap.End())\n\t{\n\t\tif(TStrICmp((PCSYMSTR)(*Iter),szSym)==0)\n\t\t{\n\t\t\tRemovIter = Iter;\n\t\t\tIter++;\n\t\t\tCount++;\n\t\t\tm_SymbolMap.Remove(RemovIter);\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\treturn Count>0;\n}\n\nbool CSymbolModule::GetAddress(IN PCSYMSTR szSym,OUT ULPOS*pAddress)\n{\n\tif(m_ModuleBase==0)\n\t\treturn false;\n\tfor(CSymbolMap::IT Iter = m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(*Iter==szSym)\n\t\t{\n\t\t\tif(pAddress)\n\t\t\t\t*pAddress = Iter.Key()+m_ModuleBase;\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nCCommentModule::CCommentModule()\n{\n\tm_ReferenceCount = 0;\n\tm_ModuleName = NULL;\n\tm_pParam = NULL;\n}\n\nbool CCommentModule::InsertComment(IN ULPOS Offset,IN PCCMTSTR szComment)\n{\n\treturn m_CommentMap.InsertUnique(Offset,szComment)!=m_CommentMap.End();\n}\n\nbool CCommentModule::SetComment(IN ULPOS Offset,IN PCCMTSTR szComment)\n{\n\tCCommentMap::IT Iter = m_CommentMap.Find(Offset);\n\tif(Iter!=m_CommentMap.End())\n\t{\n\t\tif(*Iter==szComment)\n\t\t\treturn false;\n\t\t*Iter = szComment;\n\t\treturn true;\n\t}\n\treturn m_CommentMap.InsertUnique(Offset,szComment)!=m_CommentMap.End();\n}\n\nbool CCommentModule::RemoveComment(IN ULPOS Offset)\n{\n\treturn m_CommentMap.Remove(Offset)>0;\n}\n\nCSymbolModule*CSymbolContainer::GetSymbolModule(MODULE_ID MID)\n{\n\tTMap<MODULE_ID,CSymbolModule>::IT Iter = Find(MID);\n\tif(Iter.IsExist())\n\t\treturn &(*Iter);\n\treturn NULL;\n}\n\nCSymbolModule*CSymbolContainer::InsertSymbolModule(MODULE_ID MID)\n{\n\tTMap<MODULE_ID,CSymbolModule>::IT Iter = InsertUnique(MID);\n\tif(Iter.IsExist()==false)\n\t\treturn NULL;\n\tIter->m_ModuleID = MID;\n\treturn &(*Iter);\n}\n\nbool CSymbolContainer::RemoveSymbolModule(MODULE_ID MID)\n{\n\treturn Remove(MID)>0;\n}\n\nvoid CSymbolContainer::RemoveUnusedSymbolModule()\n{\n\tTMap<MODULE_ID,CSymbolModule>::IT RemoveIter,Iter = Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->m_ReferenceCount<=0)\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tRemove(RemoveIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n}\n\nbool CSymbolContainer::GetFullSymbol(IN ULPOS Address,OUT PSYMSTR SymbolName,int MaxLength)\n{\n\tint Len;\n\tULPOS Offset;\n\tfor(CSymbolContainer::IT SymModIter=Begin();SymModIter.IsExist();SymModIter++)\n\t{\n\t\tif(SymModIter->m_ModuleBase==0 || Address<SymModIter->m_ModuleBase || Address>=SymModIter->m_ModuleBase+SymModIter->m_ModuleSize)\n\t\t\tcontinue;\n\t\tOffset = Address-SymModIter->m_ModuleBase;\n\t\tCSymbolMap::IT Iter = SymModIter->m_SymbolMap.Find(Offset);\n\t\tif(Iter.IsExist()==false)\n\t\t\tcontinue;\n\t\tLen = TGetFileTitle((PCSYMSTR)SymModIter->m_ModuleName,SymbolName);\n\t\tLen+=TStrCpy(&SymbolName[Len],CDbgModule::m_SplitStr);\n\t\tTStrCpyLimit(&SymbolName[Len],(PCSYMSTR)*Iter,MaxLength-Len);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nPCSYMSTR CSymbolContainer::GetSymbol(IN ULPOS Address)\n{\n\tfor(CSymbolContainer::IT SymModIter=Begin();SymModIter.IsExist();SymModIter++)\n\t{\n\t\tif(SymModIter->m_ModuleBase==0 || Address<SymModIter->m_ModuleBase || Address>=SymModIter->m_ModuleBase+SymModIter->m_ModuleSize)\n\t\t\tcontinue;\n\t\tCSymbolMap::IT Iter = SymModIter->m_SymbolMap.Find(Address-SymModIter->m_ModuleBase);\n\t\tif(Iter.IsExist()==false)\n\t\t\tcontinue;\n\t\treturn *Iter;\n\t}\n\treturn NULL;\n}\n\nCCommentModule*CCommentContainer::GetCommentModule(MODULE_ID MID)\n{\n\tTMap<MODULE_ID,CCommentModule>::IT Iter = Find(MID);\n\tif(Iter.IsExist())\n\t\treturn &(*Iter);\n\treturn NULL;\n}\n\nCCommentModule*CCommentContainer::InsertCommentModule(MODULE_ID MID)\n{\n\tTMap<MODULE_ID,CCommentModule>::IT Iter = InsertUnique(MID);\n\tif(Iter.IsExist()==false)\n\t\treturn NULL;\n\tIter->m_ModuleID = MID;\n\treturn &(*Iter);\n}\n\nbool CCommentContainer::RemoveCommentModule(MODULE_ID MID)\n{\n\treturn Remove(MID)>0;\n}\n\nvoid CCommentContainer::RemoveUnusedCommentModule()\n{\n\tTMap<MODULE_ID,CCommentModule>::IT Iter,RemoveIter;\n\tIter = Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->m_ReferenceCount<=0)\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tRemove(RemoveIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n}\n\n\nPCSYMSTR CDbgModule::m_SplitStr = \"_\";\n\nCDbgModule::CDbgModule()\n{\n\tm_ModuleID=0;\n\tm_ModuleBase = 0;\n\tm_ModuleSize = 0;\n\tm_pParam = NULL;\n\tm_pSymbolModule = NULL;\n\tm_pCommentModule = NULL;\n}\n\nbool CDbgModule::GetOffset(IN PCSYMSTR szSym,INOUT ULPOS*pOffset)\n{\n\tif(m_pSymbolModule==NULL)\n\t\treturn false;\n\tfor(CSymbolMap::IT Iter = m_pSymbolModule->m_SymbolMap.Begin();Iter!=m_pSymbolModule->m_SymbolMap.End();Iter++)\n\t{\n\t\tif(*Iter==szSym)\n\t\t{\n\t\t\tif(pOffset)\n\t\t\t\t*pOffset = Iter.Key();\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CDbgModule::GetAddress(IN PCSYMSTR szSym,INOUT ULPOS*pAddress)\n{\n\tif(GetOffset(szSym,pAddress)==false)\n\t\treturn false;\n\tif(pAddress)\n\t\t*pAddress+=m_ModuleBase;\n\treturn true;\n}\n\nbool CDbgModule::GetFullSymbol(IN ULPOS Address,INOUT PSYMSTR szSym,int MaxLength)\n{\n\tint Len;\n\tULPOS Offset;\n\tif(m_pSymbolModule==NULL)\n\t\treturn false;\n\tOffset = Address-m_ModuleBase;\n\tCSymbolMap::IT Iter = m_pSymbolModule->m_SymbolMap.Find(Offset);\n\tif(Iter==m_pSymbolModule->m_SymbolMap.End())\n\t\treturn false;\n\tLen = TStrCpyLimit(szSym,(PCSYMSTR)m_ModuleTitle,MaxLength);\n\tszSym += Len;\n\tMaxLength -= Len;\n\tif(MaxLength<=0)\n\t\treturn false;\n\tif(m_ModuleTitle.Length())\n\t{\n\t\tLen = TStrCpyLimit(szSym,m_SplitStr,MaxLength);\n\t\tszSym += Len;\n\t\tMaxLength -= Len;\n\t\tif(MaxLength<=0)\n\t\t\treturn false;\n\t}\n\tTStrCpyLimit(szSym,(PCSYMSTR)(*Iter),MaxLength);\n\treturn true;\n}\n\nPCSYMSTR CDbgModule::GetSymbol(IN ULPOS Address)\n{\n\tif(m_pSymbolModule==NULL)\n\t\treturn NULL;\n\tULPOS Offset = Address-m_ModuleBase;\n\tCSymbolMap::IT Iter = m_pSymbolModule->m_SymbolMap.Find(Offset);\n\tif(Iter==m_pSymbolModule->m_SymbolMap.End())\n\t\treturn NULL;\n\treturn (PCSYMSTR)(*Iter);\n}\n\nPCCMTSTR CDbgModule::GetComment(IN ULPOS Address)\n{\n\tif(m_pCommentModule==NULL)\n\t\treturn NULL;\n\tULPOS Offset = Address-m_ModuleBase;\n\tCCommentMap::IT Iter = m_pCommentModule->m_CommentMap.Find(Offset);\n\tif(Iter==m_pCommentModule->m_CommentMap.End())\n\t\treturn NULL;\n\treturn (PCCMTSTR)(*Iter);\t\n}\n\nbool CDbgModule::GetNearbySymbolAddrress(INOUT ULPOS*pAddress)\n{\n\tif(m_pSymbolModule==NULL)\n\t\treturn false;\n\tULPOS Offset = *pAddress-m_ModuleBase;\n\tCSymbolMap::IT Iter = m_pSymbolModule->m_SymbolMap.FindAlmost(Offset);\n\tif(Iter==m_pSymbolModule->m_SymbolMap.End())\n\t\treturn false;\n\t*pAddress = Iter.Key() + m_ModuleBase;\n\treturn true;\n}\n\nvoid CDbgModule::AttachSymbolModule(CSymbolModule*pSymbolModule)\n{\n\tm_pSymbolModule = pSymbolModule;\n\tif(m_pSymbolModule)\n\t\tm_pSymbolModule->m_ReferenceCount++;\n}\n\nvoid CDbgModule::DetachSymbolModule(CSymbolContainer*pSymContainer)\n{\n\tif(m_pSymbolModule==NULL)\n\t\treturn;\n\tm_pSymbolModule->m_ReferenceCount--;\n\tif(pSymContainer && m_pSymbolModule->m_ReferenceCount<=0)\n\t\tpSymContainer->RemoveSymbolModule(m_pSymbolModule->m_ModuleID);\n\tm_pSymbolModule=NULL;\n}\n\nvoid CDbgModule::AttachCommentModule(CCommentModule*pCommentModule)\n{\n\tm_pCommentModule = pCommentModule;\n\tif(m_pCommentModule)\n\t\tm_pCommentModule->m_ReferenceCount++;\t\n}\n\nvoid CDbgModule::DetachCommentModule(CCommentContainer*pCmtContainer)\n{\n\tif(m_pCommentModule==NULL)\n\t\treturn;\n\tm_pCommentModule->m_ReferenceCount--;\n\tif(pCmtContainer && m_pCommentModule->m_ReferenceCount<=0)\n\t\tpCmtContainer->RemoveCommentModule(m_pCommentModule->m_ModuleID);\n\tm_pCommentModule=NULL;\n}\n\nbool CDbgModuleList::GetFullSymbol(IN ULPOS Address,INOUT PSYMSTR szSym,int MaxLength)\n{\n\tCDbgModuleMap::IT ModuleIter = m_DbgModuleMap.Find(Address);\n\tif(ModuleIter==m_DbgModuleMap.End())\n\t\treturn false;\n\treturn ModuleIter->GetFullSymbol(Address,szSym,MaxLength);\n}\n\nPCSYMSTR CDbgModuleList::GetSymbol(IN ULPOS Address)\n{\n\tCDbgModuleMap::IT ModuleIter = m_DbgModuleMap.Find(Address);\n\tif(ModuleIter==m_DbgModuleMap.End())\n\t\treturn NULL;\n\treturn ModuleIter->GetSymbol(Address);\n}\n\nCDbgModule*CDbgModuleList::GetModule(IN PCSYMSTR szModule)\n{\n\tPCSYMSTR pStr;\n\tfor(CDbgModuleMap::IT Iter=m_DbgModuleMap.Begin();Iter!=m_DbgModuleMap.End();Iter++)\n\t{\n\t\tif(TCmpModuleName((PCSYMSTR)Iter->m_ModuleFullName,szModule))\n\t\t\treturn &(*Iter);\n\t}\n\tpStr = TStrRChr(szModule,'\\\\');\n\tif(pStr)\n\t{\n\t\tpStr++;\n\t\tfor(CDbgModuleMap::IT Iter=m_DbgModuleMap.Begin();Iter!=m_DbgModuleMap.End();Iter++)\n\t\t{\n\t\t\tif(TCmpModuleName((PCSYMSTR)Iter->m_ModuleFullName,pStr))\n\t\t\t\treturn &(*Iter);\n\t\t}\n\t}\n\treturn NULL;\n}\n\nCDbgModule*CDbgModuleList::GetModule(IN ULPOS Address)\n{\n\tCDbgModuleMap::IT Iter = m_DbgModuleMap.Find(Address);\n\tif(Iter==m_DbgModuleMap.End())\n\t\treturn NULL;\n\treturn &(*Iter);\n}\n\nCDbgModule*\tCDbgModuleList::GetModuleByID(IN MODULE_ID ModuleID)\n{\n\tfor(CDbgModuleMap::IT Iter=m_DbgModuleMap.Begin();Iter!=m_DbgModuleMap.End();Iter++)\n\t{\n\t\tif(Iter->m_ModuleID==ModuleID)\n\t\t\treturn &(*Iter);\n\t}\n\treturn NULL;\n}\n\nCDbgModule*CDbgModuleList::InsertModule(IN PCSYMSTR szModuleFullName,ULPOS Address,ULSIZE Size,MODULE_ID ModuleID)\n{\n\tSYMCHAR szFileNameTitle[MAX_FN_LEN];\n\tCDbgModuleMap::IT Iter = m_DbgModuleMap.InsertUnique(CDbgModuleMap::RANGE(Address,Address+Size-1));\n\tif(Iter==m_DbgModuleMap.End())\n\t\treturn NULL;\n\tIter->m_ModuleBase = Address;\n\tIter->m_ModuleSize = Size;\n\tIter->m_ModuleFullName = szModuleFullName;\n\tIter->m_ModuleID = ModuleID;\n\tTGetFileTitle(szModuleFullName,szFileNameTitle);\n\tIter->m_ModuleTitle = szFileNameTitle;\n\tIter->m_ModuleName = TGetFileName((PCSYMSTR)Iter->m_ModuleFullName);\n\treturn &(*Iter);\n}\n\nbool CDbgModuleList::RemoveModule(IN ULPOS Address)\n{\n\tCDbgModuleMap::IT Iter = m_DbgModuleMap.Find(Address);\n\tif(Iter==m_DbgModuleMap.End())\n\t\treturn false;\n\tif(Iter->m_pSymbolModule)\n\t\tIter->m_pSymbolModule->m_ReferenceCount--;\n\tm_DbgModuleMap.Remove(Iter);\n\treturn true;\n}\n\nbool CDbgModuleList::GetNearbySymbolAddrress(INOUT ULPOS*pAddress)\n{\n\tCDbgModuleMap::IT ModuleIter = m_DbgModuleMap.Find(*pAddress);\n\tif(ModuleIter==m_DbgModuleMap.End())\n\t\treturn false;\n\treturn ModuleIter->GetNearbySymbolAddrress(pAddress);\n}\n\nPCCMTSTR CDbgModuleList::GetComment(IN ULPOS Address)\n{\n\tCDbgModuleMap::IT ModuleIter = m_DbgModuleMap.Find(Address);\n\tif(ModuleIter==m_DbgModuleMap.End())\n\t\treturn NULL;\n\treturn ModuleIter->GetComment(Address);\n}\n\nint\tCCommentModule::Save(ALTFileStream&Stream)\n{\n\tULPOS Address;\n\tint\tLength = m_ModuleName.Save(Stream);\n\tLength+=Stream.Puts(&m_CommentMap.m_Count,sizeof(m_CommentMap.m_Count));\n\tfor(CCommentMap::IT Iter = m_CommentMap.Begin();Iter!=m_CommentMap.End();Iter++)\n\t{\n\t\tAddress = Iter.Key();\n\t\tLength += Stream.Puts(&Address,sizeof(Address));\n\t\tLength += Iter->Save(Stream);\n\t}\n\treturn Length;\n}\n\nint\tCCommentModule::Load(ALTFileStream&Stream)\n{\n\tULPOS Address;\n\tint Count,Length,TotalLength;\t\n\tLength = m_ModuleName.Load(Stream);\n\tif(Length==0)\n\t\treturn 0;\n\tTotalLength=Length;\n\tLength = Stream.Gets(&Count,sizeof(Count));\n\tif(Length==0 || Count > 0x1000)\n\t\treturn 0;\n\tTotalLength+=Length;\n\tCCommentMap::IT Iter;\n\tCSymStr Str;\n\twhile(Count)\n\t{\n\t\tTotalLength += Stream.Gets(&Address,sizeof(Address));\n\t\tIter=m_CommentMap.InsertUnique(Address);\n\t\tif(Iter==m_CommentMap.End())\n\t\t\treturn 0;\n\t\tLength=Iter->Load(Stream);\n\t\tif(Length==0)\n\t\t{\n\t\t\tm_CommentMap.Remove(Iter);\n\t\t\treturn 0;\n\t\t}\n\t\tTotalLength+=Length;\n\t\tCount--;\n\t}\n\treturn TotalLength;\n}\n\nint\tCCommentContainer::Save(ALTFileStream&Stream)\n{\n\tint Length;\n\tDWORD Ver = CMT_MODULE_VER;\n\tLength =  Stream.Puts(&Ver,sizeof(Ver));\n\tLength += Stream.Puts(&m_Count,sizeof(m_Count));\n\tfor(CCommentContainer::IT Iter = Begin();Iter!=End();Iter++)\n\t{\n\t\tLength += Stream.Puts(&Iter.Key(),sizeof(MODULE_ID));\n\t\tLength += Iter->Save(Stream);\n\t}\n\treturn Length;\n}\n\nint\tCCommentContainer::Load(ALTFileStream&Stream)\n{\n\tDWORD Ver;\n\tint Count,Length,TotalLength;\n\tTotalLength = 0;\n\tLength =  Stream.Gets(&Ver,sizeof(Ver));\n\tif(Length!=sizeof(Ver) || Ver!=CMT_MODULE_VER)\n\t\treturn 0;\n\tTotalLength+=Length;\n\tLength = Stream.Gets(&Count,sizeof(Count));\n\tif(Length==0 || Count > 0x10000)\n\t\treturn 0;\n\tTotalLength+=Length;\n\tTMap<MODULE_ID,CCommentModule>::IT Iter;\n\tMODULE_ID MID;\n\twhile(Count)\n\t{\n\t\tLength = Stream.Gets(&MID,sizeof(MID));\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\t\tIter=InsertUnique(MID);\n\t\tif(Iter.IsExist()==false)\n\t\t\treturn 0;\n\t\tIter->m_ModuleID = MID;\n\t\tLength = Iter->Load(Stream);\n\t\tif(Length==0)\n\t\t{\n\t\t\tRemove(Iter);\n\t\t\treturn 0;\n\t\t}\n\t\tTotalLength+=Length;\n\t\tCount--;\n\t}\n\treturn TotalLength;\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/DbgModule.h",
    "content": "#ifndef _DBG_MODULE_H_\n#define _DBG_MODULE_H_\n\n#define MAX_CMT_LEN\t\t\t\t128\n\n//////////////////////////////////////////////\n//ַͶ\ntypedef CHAR\t\t\t\t\tSYMCHAR;\ntypedef CHAR\t\t\t\t\tCMTCHAR;\n\ntypedef SYMCHAR*\t\t\t\tPSYMSTR;\ntypedef const SYMCHAR*\t\t\tPCSYMSTR;\ntypedef TString<SYMCHAR,true>\tCSymStr;\n\ntypedef CMTCHAR*\t\t\t\tPCMTSTR;\ntypedef const CMTCHAR*\t\t\tPCCMTSTR;\ntypedef TString<CMTCHAR>\t\tCCmtStr;\n\ntypedef TMap<ULPOS,CCmtStr>\t\tCCommentMap;\ntypedef TMap<ULPOS,CSymStr>\t\tCSymbolMap;\n//ַͶ\n//////////////////////////////////////////////\n\n#define MAKE_MODULE_ID(CheckSum,TimeDateStamp)\t\t\t\tMAKE_QDWORD(CheckSum,TimeDateStamp)\n\ntypedef ULONGLONG\t\tMODULE_ID;\n\nclass CSymbolModule\n{\npublic:\n\tCSymbolModule();\npublic:\n\tvirtual\tbool\tInsertSymbol(IN ULPOS Offset,IN PCSYMSTR szSym);\n\tvirtual\tbool\tSetSymbol(IN ULPOS Offset,IN PCSYMSTR szSym);\n\tvirtual\tbool\tRemoveSymbol(IN ULPOS Offset);\n\tvirtual\tbool\tRemoveSymbol(IN PCSYMSTR szSym);\n\tvirtual bool\tGetAddress(IN PCSYMSTR szSym,OUT ULPOS*pAddress);\n/////////////////////////////////////////////////////////////////////////\npublic:\n\tULPOS\t\t\tm_ModuleBase;\n\tULSIZE\t\t\tm_ModuleSize;\n\tCSymbolMap\t\tm_SymbolMap;\n\tCSymStr\t\t\tm_ModuleName;\n\tint\t\t\t\tm_ReferenceCount;\n\tvoid*\t\t\tm_pParam;\n\tMODULE_ID\t\tm_ModuleID;\n};\n\n#define CMT_MODULE_VER\t\t\t\t0x1000\n\nclass CCommentModule\n{\npublic:\n\tCCommentModule();\n\tvirtual\tbool\tInsertComment(IN ULPOS Offset,IN PCCMTSTR szComment);\n\tvirtual\tbool\tSetComment(IN ULPOS Offset,IN PCCMTSTR szComment);\n\tvirtual\tbool\tRemoveComment(IN ULPOS Offset);\n\tint\tSave(ALTFileStream&Stream);\n\tint\tLoad(ALTFileStream&Stream);\n\tCCommentMap\t\tm_CommentMap;\n\tCCmtStr\t\t\tm_ModuleName;\n\tint\t\t\t\tm_ReferenceCount;\n\tvoid*\t\t\tm_pParam;\n\tMODULE_ID\t\tm_ModuleID;\n};\n\n//ļΪKeyķףظ\nclass CSymbolContainer : public TMap<MODULE_ID,CSymbolModule>\n{\npublic:\n\tvirtual\tCSymbolModule*GetSymbolModule(MODULE_ID MID);\n\tvirtual\tCSymbolModule*InsertSymbolModule(MODULE_ID MID);\n\tvirtual\tbool\tRemoveSymbolModule(MODULE_ID MID);\n\tvirtual\tvoid\tRemoveUnusedSymbolModule();\n\t//ֻ԰ModuleBaseģЧ\n\tvirtual\tbool\tGetFullSymbol(IN ULPOS Address,OUT PSYMSTR SymbolName,int MaxLength);\n\tvirtual\tPCSYMSTR\tGetSymbol(IN ULPOS Address);\n};\n\nclass CCommentContainer : public TMap<MODULE_ID,CCommentModule>\n{\npublic:\n\tvirtual\tCCommentModule*GetCommentModule(MODULE_ID MID);\n\tvirtual\tCCommentModule*InsertCommentModule(MODULE_ID MID);\n\tvirtual\tbool\tRemoveCommentModule(MODULE_ID MID);\n\tvirtual\tvoid\tRemoveUnusedCommentModule();\n\tint\tSave(ALTFileStream&Stream);\n\tint\tLoad(ALTFileStream&Stream);\n};\n\nclass CDbgModule\n{\npublic:\n\tstatic\tPCSYMSTR m_SplitStr;\n\tCDbgModule();\npublic:\n\tvirtual\tbool\tGetOffset(IN PCSYMSTR szSym,OUT ULPOS*pOffset);\n\tvirtual\tbool\tGetAddress(IN PCSYMSTR szSym,OUT ULPOS*pAddress);\n\tvirtual\tbool\tGetFullSymbol(IN ULPOS Address,OUT PSYMSTR SymbolName,int MaxLength);\n\tvirtual\tPCSYMSTR\tGetSymbol(IN ULPOS Address);\n\tvirtual\tPCCMTSTR\tGetComment(IN ULPOS Address);\n\tvirtual\tbool\tGetNearbySymbolAddrress(INOUT ULPOS*pAddress);\n\tvirtual\tvoid\tAttachSymbolModule(CSymbolModule*pSymbolModule);\n\tvirtual\tvoid\tDetachSymbolModule(CSymbolContainer*pSymContainer);\n\tvirtual\tvoid\tAttachCommentModule(CCommentModule*pCommentModule);\n\tvirtual\tvoid\tDetachCommentModule(CCommentContainer*pCmtContainer);\npublic:\n\tCSymbolModule*m_pSymbolModule;\n\tCCommentModule*m_pCommentModule;\n\tCSymStr\t\tm_ModuleFullName;\n\tCSymStr\t\tm_ModuleTitle;\n\tPCSYMSTR\tm_ModuleName;\n\tULPOS\t\tm_ModuleBase;\n\tULSIZE\t\tm_ModuleSize;\n\tvoid*\t\tm_pParam;\n\tMODULE_ID\tm_ModuleID;\n};\n\ntypedef TRangeMap<ULPOS,CDbgModule>\tCDbgModuleMap;\n\nclass CDbgModuleList\n{\npublic:\n\tvirtual\tCDbgModule*\tGetModule(IN PCSYMSTR szModule);\n\tvirtual\tCDbgModule*\tGetModule(IN ULPOS Address);\n\tvirtual\tCDbgModule*\tGetModuleByID(IN MODULE_ID ModuleID);\n\tvirtual\tCDbgModule*\tInsertModule(IN PCSYMSTR szModuleFullName,ULPOS Address,ULSIZE Size,MODULE_ID ModuleID);\n\tvirtual\tbool\t\tRemoveModule(IN ULPOS Address);\n\tvirtual\tbool\t\tGetFullSymbol(IN ULPOS Address,INOUT PSYMSTR szSym,int MaxLength);\n\tvirtual\tPCSYMSTR\tGetSymbol(IN ULPOS Address);\n\tvirtual\tbool\t\tGetNearbySymbolAddrress(INOUT ULPOS*pAddress);\n\tvirtual\tPCCMTSTR\tGetComment(IN ULPOS Address);\npublic:\n\tCDbgModuleMap\t\tm_DbgModuleMap;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/Debugger.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Debugger.h\"\n\n#define MAX_CONDITION_INSTR_COUNT\t0x100000\n\n\nbool IsTypeMatched(UINT TypeInc,UINT TypeExc,BREAK_POINT&BP)\n{\n\tif(TypeInc & BP_TYPE_FULL_CMP)\n\t{\n\t\tTypeInc&=~BP_TYPE_FULL_CMP;\n\t\tif((BP.Type&TypeInc)!=TypeInc)\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(TypeInc && (BP.Type&TypeInc)==0)\n\t\t\treturn false;\n\t}\n\tif(TypeExc & BP_TYPE_FULL_CMP)\n\t{\n\t\tTypeExc&=~BP_TYPE_FULL_CMP;\n\t\tif((BP.Type&TypeExc)==TypeExc)\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(BP.Type & TypeExc)\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\n\nCDebugger::CDebugger()\n{\n\tm_pCodeBPMap = &m_CodeBPMap;\n\tm_pDataBPList = &m_DataBPList;\n}\n\nCDebugger::~CDebugger()\n{\n}\n\nBREAK_POINT*CDebugger::GetCodeBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tULONGLONG PhysAddr;\n\tif(MapToPhysAddr(Address,PhysAddr)==false)\n\t\treturn NULL;\n\tCCodeBPMap::IT Iter = m_pCodeBPMap->Find(PhysAddr);\n\tif(!Iter.IsExist())\n\t\treturn NULL;\n\tif(IsTypeMatched(TypeInc,TypeExc,*Iter)==false)\n\t\treturn NULL;\n\treturn &(*Iter);\n}\n\nBREAK_POINT*CDebugger::InsertCodeBP(ULPOS Address,UINT Type,BP_STATE State)\n{\n\tULONGLONG PhysAddr;\n\tif(SwitchProcessSpace(m_PID)==false)\n\t{\n\t\tm_LastError = BP_ERROR_SWITCH_PROCESS;\n\t\treturn NULL;\n\t}\n\tif(MapToPhysAddr(Address,PhysAddr)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_MAP_TO_PHYS;\n\t\treturn NULL;\n\t}\n\tCCodeBPMap::IT Iter = m_pCodeBPMap->Find(PhysAddr);\n\tif(Iter.IsExist())\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_BP_EXIST;\n\t\treturn NULL;\n\t}\n\tIter = m_pCodeBPMap->InsertUnique(PhysAddr);\n\tIter->Address = Address;\n\tIter->Type = Type;\n\tIter->State = BP_STATE_DISABLE;\n\tIter->Length = 0;\n\tIter->UserData = 0;\n\tIter->PID = m_PID;\n\tIter->OwnerName = m_ProcName;\n\tIter->pModuleBP = NULL;\n\tIter->BPCount=0;\n\tif(State == BP_STATE_ENABLE && SetCodeBreakPoint(*Iter)==false)\n\t{\n\t\tm_pCodeBPMap->Remove(Iter);\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_FAIL_TO_SET;\n\t\treturn NULL;\n\t}\n\tIter->State = State;\n\tRestoreProcessSpace();\n\tm_LastError = BP_ERROR_SUCCESS;\n\treturn &(*Iter);\n}\n\nbool CDebugger::RemoveCodeBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tULONGLONG PhysAddr;\n\tif(SwitchProcessSpace(m_PID)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_SWITCH_PROCESS;\n\t\treturn false;\n\t}\n\tif(MapToPhysAddr(Address,PhysAddr)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_MAP_TO_PHYS;\n\t\treturn false;\n\t}\n\tCCodeBPMap::IT Iter = m_pCodeBPMap->Find(PhysAddr);\n\tif(!Iter.IsExist())\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_BP_NOT_EXIST;\n\t\treturn false;\n\t}\n\tif(!IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t{\n\t\tRestoreProcessSpace();\n\t\treturn false;\n\t}\n\tif(Iter->State == BP_STATE_ENABLE && ClearCodeBreakPoint(*Iter)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\tm_LastError = BP_ERROR_FAIL_TO_CLEAR;\n\t\treturn false;\n\t}\n\tm_pCodeBPMap->Remove(Iter);\n\tRestoreProcessSpace();\n\tm_LastError = BP_ERROR_SUCCESS;\n\treturn true;\n}\n\nbool CDebugger::RemoveCodeBP(BREAK_POINT*pBP)\n{\n\tCCodeBPMap::IT Iter=*pBP;\n\tULONGLONG PhysAddr;\n\tif(SwitchProcessSpace(pBP->PID)==false)\n\t\treturn false;\n\tif(MapToPhysAddr(Iter->Address,PhysAddr)==false || PhysAddr!=Iter.Key())\n\t{\n\t\tRestoreProcessSpace();\n\t\treturn false;\n\t}\n\tif(Iter->State == BP_STATE_ENABLE && ClearCodeBreakPoint(*Iter)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\treturn false;\n\t}\n\tm_pCodeBPMap->Remove(Iter);\n\tRestoreProcessSpace();\n\treturn true;\n}\n\nint CDebugger::RemoveAllCodeBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCCodeBPMap::IT RemoveIter,Iter;\n\tIter=m_pCodeBPMap->Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tif(RemoveCodeBP(&(*RemoveIter)))\n\t\t\t\tCount++;\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\treturn Count;\n}\n\nint CDebugger::EnableAllCodeBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCCodeBPMap::IT Iter;\n\tIter=m_pCodeBPMap->Begin();\n\twhile(Iter!=m_pCodeBPMap->End())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(EnableCodeBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\nint CDebugger::DisableAllCodeBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCCodeBPMap::IT Iter;\n\tIter=m_pCodeBPMap->Begin();\n\twhile(Iter!=m_pCodeBPMap->End())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(DisableCodeBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\nbool CDebugger::EnableCodeBP(BREAK_POINT*pBP)\n{\n\tif(pBP->State == BP_STATE_ENABLE || pBP->State == BP_STATE_RECOV)\n\t\treturn true;\n\tif(SwitchProcessSpace(pBP->PID)==false)\n\t\treturn false;\n\tif(SetCodeBreakPoint(*pBP)==false)\n\t{\n\t\tRestoreProcessSpace();\n\t\treturn false;\n\t}\n\tpBP->State = BP_STATE_ENABLE;\n\tRestoreProcessSpace();\n\treturn true;\n}\n\nbool CDebugger::EnableCodeBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tBREAK_POINT*pBP = GetCodeBP(Address,TypeInc,TypeExc);\n\tif(pBP)\n\t\treturn EnableCodeBP(pBP);\n\treturn NULL;\n}\n\nbool CDebugger::DisableCodeBP(BREAK_POINT*pBP)\n{\n\tif(pBP->State == BP_STATE_DISABLE)\n\t\treturn true;\n\tif(pBP->State==BP_STATE_ENABLE)\n\t{\n\t\tif(SwitchProcessSpace(pBP->PID)==false)\n\t\t\treturn false;\n\t\tif(ClearCodeBreakPoint(*pBP)==false)\n\t\t{\n\t\t\tRestoreProcessSpace();\n\t\t\treturn false;\n\t\t}\n\t\tRestoreProcessSpace();\n\t}\n\tpBP->State = BP_STATE_DISABLE;\n\treturn true;\n}\n\nbool CDebugger::DisableCodeBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tBREAK_POINT*pBP=GetCodeBP(Address,TypeInc,TypeExc);\n\tif(pBP)\n\t\treturn DisableCodeBP(pBP);\n\treturn NULL;\n}\n\nBREAK_POINT*CDebugger::InsertDataBP(ULPOS Address,UINT Type,BP_STATE State,UINT Length)\n{\n\tCDataBPList::IT Iter = m_pDataBPList->Append();\n\tIter->Address = Address;\n\tIter->Type = Type;\n\tIter->State = BP_STATE_DISABLE;\n\tIter->Length = Length;\n\tIter->UserData = 0;\n\tIter->PID = m_PID;\n\tIter->BPCount=0;\n\tIter->OwnerName = m_ProcName;\n\tif(State == BP_STATE_ENABLE && SetDataBreakPoint(*Iter)==false)\n\t{\n\t\tm_pDataBPList->Remove(Iter);\n\t\treturn NULL;\n\t}\n\tIter->State = State;\n\treturn &(*Iter);\n}\n\nint CDebugger::RemoveDataBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tfor(CDataBPList::IT Iter=m_pDataBPList->Begin();Iter!=m_pDataBPList->End();Iter++)\n\t{\n\t\tif(Iter->Address == Address &&  IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tRemoveDataBP(&(*Iter));\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}\n\nbool CDebugger::RemoveDataBP(BREAK_POINT*pBP)\n{\n\tif(pBP->State == BP_STATE_ENABLE)\n\t{\n\t\tif(ClearDataBreakPoint(*pBP)==false)\n\t\t\treturn false;\n\t}\n\tCDataBPList::IT Iter = *pBP;\n\tm_pDataBPList->Remove(Iter);\n\treturn true;\n}\n\nint CDebugger::RemoveAllDataBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCDataBPList::IT RemoveIter,Iter=m_pDataBPList->Begin();\n\twhile(Iter!=m_pDataBPList->End())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tRemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tif(RemoveDataBP(&(*RemoveIter)))\n\t\t\t\tCount++;\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\treturn Count;\n}\n\nint CDebugger::EnableAllDataBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCDataBPList::IT Iter=m_pDataBPList->Begin();\n\twhile(Iter!=m_pDataBPList->End())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(EnableDataBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\nint CDebugger::DisableAllDataBP(UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCDataBPList::IT Iter=m_pDataBPList->Begin();\n\twhile(Iter!=m_pDataBPList->End())\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(DisableDataBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\nbool CDebugger::EnableDataBP(BREAK_POINT*pBP)\n{\n\tif(pBP->State == BP_STATE_ENABLE || pBP->State == BP_STATE_RECOV)\n\t\treturn true;\n\tif(SetDataBreakPoint(*pBP)==false)\n\t\treturn false;\n\tpBP->State = BP_STATE_ENABLE;\n\treturn true;\n}\n\nint CDebugger::EnableDataBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCDataBPList::IT Iter=m_pDataBPList->Begin();\n\twhile(Iter!=m_pDataBPList->End())\n\t{\n\t\tif(Address == Iter->Address && IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(EnableDataBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\nbool CDebugger::DisableDataBP(BREAK_POINT*pBP)\n{\n\tif(pBP->State == BP_STATE_DISABLE)\n\t\treturn true;\n\tif(pBP->State == BP_STATE_ENABLE)\n\t{\n\t\tif(ClearDataBreakPoint(*pBP)==false)\n\t\t\treturn false;\n\t}\n\tpBP->State = BP_STATE_DISABLE;\n\treturn true;\n}\n\nint CDebugger::DisableDataBP(ULPOS Address,UINT TypeInc,UINT TypeExc)\n{\n\tint Count=0;\n\tCDataBPList::IT Iter=m_pDataBPList->Begin();\n\twhile(Iter!=m_pDataBPList->End())\n\t{\n\t\tif(Address == Iter->Address && IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(DisableDataBP(&(*Iter)))\n\t\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn Count;\n}\n\n\nint\tCDebugger::GetDataBPList(UINT TypeInc,UINT TypeExc,TList<BREAK_POINT*>*pList)\n{\n\tint Count=0;\n\tfor(CDataBPList::IT Iter=m_pDataBPList->Begin();Iter!=m_pDataBPList->End();Iter++)\n\t{\n\t\tif(IsTypeMatched(TypeInc,TypeExc,*Iter))\n\t\t{\n\t\t\tif(pList)\n\t\t\t\tpList->Append(&(*Iter));\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}\n\nULSIZE CDebugger::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size,void*Param)\n{\n\treturn ((CDebugger*)Param)->ReadMemory(Address,Buffer,Size);\n}\n\nbool CDebugger::Init(CDebugInterface*pDebugInterface)\n{\n\tm_pDebugInterface=pDebugInterface;\n\treturn true;\n}\n\nvoid CDebugger::Release()\n{\n\tm_pDebugInterface=NULL;\n}\n\nbool CDebugger::Open(PCSTR ModuleName)\n{\n\treturn true;\n}\n\nbool CDebugger::Close()\n{\n\tfor(CDbgModuleMap::IT ModIter = m_ModuleList.m_DbgModuleMap.Begin();ModIter!=m_ModuleList.m_DbgModuleMap.End();ModIter++)\n\t{\n\t\tif(ModIter->m_pSymbolModule)\n\t\t\tModIter->m_pSymbolModule->m_ReferenceCount--;\n\t\tif(ModIter->m_pCommentModule)\n\t\t\tModIter->m_pCommentModule->m_ReferenceCount--;\n\t}\n\tif(m_pDebugInterface)\n\t{\n\t\tif(m_pDebugInterface->m_pSymbolContainer)\n\t\t\tm_pDebugInterface->m_pSymbolContainer->RemoveUnusedSymbolModule();\n\t\tif(m_pDebugInterface->m_pCommentContainer)\n\t\t\tm_pDebugInterface->m_pCommentContainer->RemoveUnusedCommentModule();\n\t}\n\tm_ModuleList.m_DbgModuleMap.Clear();\n\tm_ProcName.Empty();\n\treturn true;\n}\n\nULSIZE CDebugger::WriteMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CDebugger::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CDebugger::MoveMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size)\n{\n\tBYTE Buffer[256];\n\tULSIZE Length,RDSize = 0;\n\twhile(Size>0)\n\t{\n\t\tLength = Size > sizeof(Buffer) ? sizeof(Buffer) : Size;\n\t\tif(ReadMemory(SrcAddr+RDSize,Buffer,Length)!=Length)\n\t\t\treturn RDSize;\n\t\tif(WriteMemory(DesAddr+RDSize,Buffer,Length)!=Length)\n\t\t\treturn RDSize;\t\n\t\tRDSize+=Length;\n\t\tif(Size<Length)\n\t\t\tbreak;\n\t\tSize-=Length;\n\t}\n\treturn RDSize;\n}\n\nULSIZE CDebugger::CmpMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size)\n{\n\tULSIZE n;\n\tBYTE*SrcBuf,*DesBuf;\n\tif(Size==0)\n\t\treturn 0;\n\tSrcBuf = new BYTE[Size];\n\tDesBuf = new BYTE[Size];\n\tn = ReadMemory(SrcAddr,SrcBuf,Size);\n\tif(n<Size)\n\t\tSize=n;\n\tn = ReadMemory(DesAddr,DesBuf,Size);\n\tif(n<Size)\n\t\tSize=n;\n\tn = 0;\n\twhile(n<Size && SrcBuf[n] == DesBuf[n])\n\t\tn++;\n\tdelete SrcBuf;\n\tdelete DesBuf;\n\treturn n;\n}\n\nULPOS CDebugger::SearchMem(ULPOS Address,ULSIZE Length,BYTE*ByteCode,ULSIZE Size,bool bCase)\n{\n\tBYTE Buffer[0x1000];\n\tULPOS RDAddr;\n\tULSIZE RDSize,LSize,SectMaxPos=0,SectPos=0;\n\tif(Size>sizeof(Buffer))\n\t\treturn -1;\n\tfor(ULPOS Pos=0;Pos<Length-Size;Pos++)\n\t{\n\t\tif(Pos+Size>SectMaxPos)\n\t\t{\n\t\t\tLSize=Length-Pos;\n\t\t\tif(LSize>sizeof(Buffer))\n\t\t\t\tLSize=sizeof(Buffer);\n\t\t\tRDAddr=Address+Pos;\n\t\t\tRDSize=LSize;\n\t\t\tSectPos=Pos;\n\t\t\tRDSize = ReadMemory(RDAddr,Buffer,RDSize);\n\t\t\tif(RDSize==0)\n\t\t\t{\n\t\t\t\tPos = (RDAddr&0xFFFFF000)+0x1000;\n\t\t\t\tPos -= Address;\n\t\t\t\tPos -= 1;\n\t\t\t\tSectMaxPos=Pos+RDSize;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tSectMaxPos=Pos+RDSize;\n\t\t}\n\t\tif(bCase)\n\t\t{\n\t\t\tif(memcmp(&Buffer[Pos-SectPos],ByteCode,Size)==0)\n\t\t\t\treturn Pos+Address;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TMemICmp(&Buffer[Pos-SectPos],ByteCode,Size)==0)\n\t\t\t\treturn Pos+Address;\n\t\t}\n\t}\n\treturn -1;\n}\n\nbool CDebugger::SetSingleStep()\n{\n\treturn true;\n}\n\nbool CDebugger::RemoveSingleStep()\n{\n\treturn true;\n}\n\nbool CDebugger::UpdateRegister()\n{\n\treturn true;\n}\n\nbool CDebugger::SaveRegister()\n{\n\treturn true;\n}\n\nbool CDebugger::SetCodeBreakPoint(BREAK_POINT&BP)\n{\n\treturn true;\n}\n\nbool CDebugger::ClearCodeBreakPoint(BREAK_POINT&BP)\n{\n\treturn true;\n}\n\nbool CDebugger::SetDataBreakPoint(BREAK_POINT&BP)\n{\n\treturn true;\n}\n\nbool CDebugger::ClearDataBreakPoint(BREAK_POINT&BP)\n{\n\treturn true;\n}\n\nbool CDebugger::MapToPhysAddr(ULPOS Address,ULONGLONG&PhysAddr)\n{\n\tPhysAddr = Address;\n\treturn true;\n}\n\nbool CDebugger::SwitchProcessSpace(UINT PID)\n{\n\treturn true;\n}\n\nvoid CDebugger::RestoreProcessSpace()\n{\n}\n\nbool CDebugger::ContinueDebug(bool bRestoreScreen)\n{\n\treturn false;\n}\n\nCDebugInterface::CDebugInterface()\n{\n\tm_TraceType = TRACE_NULL;\n\tm_TraceCount = 0;\n\tm_RangeStart = 0;\n\tm_RangeEnd = 0;\n}\n\nbool CDebugInterface::IsHandledTraceEvent()\n{\n\tULPOS EIP;\n\t//char szBuffer[256];\n\tswitch(m_TraceType)\n\t{\n\tcase TRACE_NULL:\n\t\treturn true;\n\tcase TRACE_STEP_RANGE_IN:\n\t\tEIP =*(GetCurrentDebugger()->m_pExecutePoint);\n\t\tif(EIP >= m_RangeStart && EIP < m_RangeEnd)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"T\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_STEP_RANGE_OUT:\n\t\tEIP =*(GetCurrentDebugger()->m_pExecutePoint);\n\t\tif(EIP < m_RangeStart || EIP >= m_RangeEnd)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"T\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_PROCEED_STEP_RANGE_IN:\n\t\tEIP =*(GetCurrentDebugger()->m_pExecutePoint);\n\t\tif(EIP >= m_RangeStart && EIP < m_RangeEnd)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"P\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_PROCEED_STEP_RANGE_OUT:\n\t\tEIP =*(GetCurrentDebugger()->m_pExecutePoint);\n\t\tif(EIP < m_RangeStart || EIP >= m_RangeEnd)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"P\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_STEP_COUNT:\n\t\tm_TraceCount--;\n\t\tif(m_TraceCount<=0)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"T\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_PROCEED_STEP_COUNT:\n\t\tm_TraceCount--;\n\t\tif(m_TraceCount<=0)\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRunCmd(\"P\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_CONDITION:\n\t\tUpdateTraceConditionVal();\n\t\tif(TestCondition(m_strTraceCondition))\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_TraceCount++;\n\t\t\tif(m_TraceCount>=MAX_CONDITION_INSTR_COUNT)\n\t\t\t{\n\t\t\t\tResetTrace();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tRunCmd(\"T\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_PROCEED_CONDITION:\n\t\tUpdateTraceConditionVal();\n\t\tif(TestCondition(m_strTraceCondition))\n\t\t{\n\t\t\tResetTrace();\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_TraceCount++;\n\t\t\tif(m_TraceCount>=MAX_CONDITION_INSTR_COUNT)\n\t\t\t{\n\t\t\t\tResetTrace();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tRunCmd(\"P\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_PAGE_RANGE_BREAK:\n\t\treturn CalcPageRangeCondition();\t\t\n\tcase TRACE_X86_RET_BREAK:\n\t\t{\n\t\t\tBYTE Opcode;\n\t\t\tULPOS EIP =*(GetCurrentDebugger()->m_pExecutePoint);\n\t\t\tif(m_pCodeDoc->ReadImage(EIP,&Opcode,sizeof(Opcode)))\n\t\t\t{\n\t\t\t\tswitch(Opcode)\n\t\t\t\t{\n\t\t\t\tcase 0xC3://ret\t\n\t\t\t\tcase 0xC2://ret imm\n\t\t\t\tcase 0xCB://retf\n\t\t\t\tcase 0xCA://retf imm\t\t\n\t\t\t\tcase 0xCF://iret\n\t\t\t\t\tResetTrace();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tm_TraceCount++;\n\t\t\tif(m_TraceCount>=MAX_CONDITION_INSTR_COUNT)\n\t\t\t{\n\t\t\t\tResetTrace();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tRunCmd(\"P\");\n\t\t}\n\t\tbreak;\n\tcase TRACE_RECOVER_BREAK_POINT:\n\t\tResetTrace();\n\t\tbreak;\n\t}\n\treturn false;\n}\n\nvoid CDebugInterface::SetTraceRange(ULPOS RangeStart,ULPOS RangeEnd,bool bRangeIn)\n{\n\tm_TraceType = bRangeIn ? TRACE_STEP_RANGE_IN : TRACE_STEP_RANGE_OUT;\n\tm_RangeStart = RangeStart;\n\tm_RangeEnd = RangeEnd;\n}\n\n\nvoid CDebugInterface::SetProceedRange(ULPOS RangeStart,ULPOS RangeEnd,bool bRangeIn)\n{\n\tm_TraceType = bRangeIn ? TRACE_PROCEED_STEP_RANGE_IN : TRACE_PROCEED_STEP_RANGE_OUT;\n\tm_RangeStart = RangeStart;\n\tm_RangeEnd = RangeEnd;\n}\n\nvoid CDebugInterface::SetTraceCondition(PCSTR szTraceCondition)\n{\n\tm_TraceType = TRACE_CONDITION;\n\tm_strTraceCondition = szTraceCondition;\n\tm_TraceCount = 0;\n}\n\nvoid CDebugInterface::SetTraceProceedCondition(PCSTR szTraceCondition)\n{\n\tm_TraceType = TRACE_PROCEED_CONDITION;\n\tm_strTraceCondition = szTraceCondition;\n\tm_TraceCount = 0;\n}\n\nvoid CDebugInterface::SetTraceCount(int StepCount)\n{\n\tm_TraceType = TRACE_STEP_COUNT;\n\tm_TraceCount = StepCount;\n}\n\nvoid CDebugInterface::SetTracePageRangeCondition(DWORD dwPageCR2,DWORD dwPageEIP)\n{\n\tm_TraceType = TRACE_PAGE_RANGE_BREAK;\n\tm_PageCR2=dwPageCR2;\n\tm_PageEIP=dwPageEIP;\t\n}\n\nbool CDebugInterface::CalcPageRangeCondition()\n{\n\treturn true;\n}\n\nvoid CDebugInterface::SetProceedCount(int StepCount)\n{\n\tm_TraceType = TRACE_PROCEED_STEP_COUNT;\n\tm_TraceCount = StepCount;\n}\n\nvoid CDebugInterface::SetX86RetBreak(CDebugger*pDbg)\n{\n\tm_TraceType = TRACE_X86_RET_BREAK;\n\tm_TraceCount = 0;\n\tm_TraceDebugger = pDbg;\n}\n\nvoid CDebugInterface::ResetTrace()\n{\n\tm_TraceType = TRACE_NULL;\n\tm_TraceCount = 0;\n\tm_RangeStart = m_RangeEnd = 0;\n\tm_strTraceCondition.Empty();\n}\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/Debugger.h",
    "content": "#ifndef _DEBUGGER_H_\n#define _DEBUGGER_H_\n\nenum BP_STATE\n{\n\tBP_STATE_DISABLE=0,\t\t\t\t//Ч\n\tBP_STATE_ENABLE,\t\t\t\t//Ч\n\tBP_STATE_RECOV,\t\t\t\t\t//ҪָĶϵ\n\tBP_STATE_RECOV_COPY_ON_WRITE,\t//ַıҪָĶϵ\n\tBP_REV_BPR_TYPE = 0x40000000,\t//Ҫָ BPR ͵Ķϵ㣬Ҫҳ P \n\tBP_SET_BPR_TYPE = 0x80000000    //Ѿ BPR ͵Ķϵ \n};\n\ntypedef struct _BP_RANGE_INFO\n{\n\tDWORD\tRangeStartAddress;\n\tDWORD\tRangeLength;\n\tDWORD\tState;\t\n\tDWORD\tType; //1 read ,2 write, 4 execute  read and write\t\n\tDWORD\tPTEAddress;\n\tWORD   PTESize;\n\tWORD   PTECount;\n\tDWORD\tPageSize;\n\tCStrA\tCondition;\t\t\t\t\t//ڶϵʱȽ\n\tCStrA\tDoCmd;\t\t\t\t\t\t//ʱִе\n}BP_RANGE_INFO;\n\n\nstruct MODULE_BP\n{\n\tCIStrA\t\tModuleFileName;\n\tCStrA\t\tCondition;\n\tCStrA\t\tName;\n\tCStrA\t\tDoCmd;\t\t\t\t\t\t//ʱִе\n\tBP_STATE\tState;\n};\n\ntypedef struct _BREAK_POINT\n{\n\tCStrA\t\tName;\t\t\t\t\t\t//ʾ\n\tCStrA\t\tDescription;\t\t\t\t//,ݶϵRW,W,X\n\tCStrA\t\tCondition;\t\t\t\t\t//ڶϵʱȽ\n\tCStrA\t\tOwnerName;\t\t\t\t\t//ʾ\n\tCStrA\t\tDoCmd;\t\t\t\t\t\t//ʱִе\n\tUINT\t\tBPCount;\t\t\t\t\t//ϵ㱻ִеĴֻҪϵ㱻ִеǷΪ\n\tULPOS\t\tAddress;\t\t\t\t\t//ϵַ\n\tUINT\t\tPID;\t\t\t\t\t\t//ID\n\tBP_STATE\tState;\t\t\t\t\t\t//ϵ״̬\n\tUINT\t\tType;\t\t\t\t\t\t//ϵ\n\tUINT\t\tLength;\t\t\t\t\t\t//ϵ㳤,ݶϵ\n\tNUM_PTR\t\tUserData;\t\t\t\t\t//Զ,PatchϵPatchָ\n\tMODULE_BP*\tpModuleBP;\n\tBYTE\t\tCodeBackup;\n}BREAK_POINT,*PBREAK_POINT;\n\ntypedef TMap<ULONGLONG,BREAK_POINT>\tCCodeBPMap;\ntypedef TMap<ULPOS,MODULE_BP>\t\tCModuleBPMap;\ntypedef TList<BREAK_POINT>\t\t\tCDataBPList;\n\n#define BP_TYPE_HARDWARE\t\t\t0x00000001\n#define BP_TYPE_EXECUTE\t\t\t\t0x00000002\t\t\t//Ӳִжϵ\n#define BP_TYPE_WRITE\t\t\t\t0x00000004\n#define BP_TYPE_READ\t\t\t\t0x00000008\n#define BP_TYPE_READWRITE\t\t\t(BP_TYPE_WRITE|BP_TYPE_READ)\n#define BP_TYPE_IO_WRITE\t\t\t0x00000010\n#define BP_TYPE_IO_READ\t\t\t\t0x00000020\n#define BP_TYPE_IO_READWRITE\t\t(BP_TYPE_IO_READ|BP_TYPE_IO_WRITE)\n\n#define BP_TYPE_PATCH\t\t\t\t0x00000100\n#define BP_TYPE_DEBUG\t\t\t\t0x00000200\n#define BP_TYPE_ONCE\t\t\t\t0x00000400\n\n#define BP_TYPE_FULL_CMP\t\t\t0x80000000\n#define BP_TYPE_INC_ALL\t\t\t\t0x00000000\n#define BP_TYPE_EXC_NON\t\t\t\t0x00000000\n\nenum\n{\n\tDEBUG_PLUNGE_OTHER,\n\tDEBUG_PLUNGE_BREAK_POINT,\n\tDEBUG_PLUNGE_HARD_BREAK_POINT,\n\tDEBUG_PLUNGE_STEP,\n\tDEBUG_PLUNGE_EXCEPTION,\n\tDEBUG_PLUNGE_USER_BREAK,\n};\n\nenum TRACE_TYPE\n{\n\tTRACE_NULL,\n\tTRACE_STEP_RANGE_IN,\n\tTRACE_STEP_RANGE_OUT,\n\tTRACE_PROCEED_STEP_RANGE_IN,\n\tTRACE_PROCEED_STEP_RANGE_OUT,\n\tTRACE_STEP_COUNT,\n\tTRACE_PROCEED_STEP_COUNT,\n\tTRACE_CONDITION,\n\tTRACE_PROCEED_CONDITION,\n\tTRACE_X86_RET_BREAK,\n\tTRACE_PAGE_RANGE_BREAK,\n\tTRACE_RECOVER_BREAK_POINT, //ָ int3 ϵ\n\tTRACE_MAX_COUNT\n};\n\nclass CDebugger;\nclass CCodeDoc;\nclass CSymbolContainer;\nclass CCommentContainer;\n\nbool IsTypeMatched(UINT TypeInc,UINT TypeExc,BREAK_POINT&BP);\n\nclass CDebugInterface//ṩCDebuggerĻصӿں\n{\n\tfriend class CDebugger;\npublic:\n\tCCodeDoc*\t\t\tm_pCodeDoc;\n\tCSymbolContainer*\tm_pSymbolContainer;\n\tCCommentContainer*\tm_pCommentContainer;\npublic:\n\tCDebugInterface();\n\tvirtual void\tOnLoadModule(CDebugger*pDbgProc,PCSTR szFileName,ULPOS ModuleBase,ULSIZE ModuleSize,MODULE_ID ModuleID)=0;\n\tvirtual void\tOnUnloadModule(CDebugger*pDbgProc,ULPOS ModuleBase)=0;\n\t//////////////////////////////////////////////////////////\n\t//\n\t//////////////////////////////////////////////////////////\n\tvirtual void\tUpdateTraceConditionVal(){};\n\tvirtual bool\tOnDebugTerminate(bool bCloseDoc)=0;\n\tvirtual bool\tOnDebugPlunge(UINT PlungeType)=0;\n\tvirtual bool\tOnDebugTerminateMultiThread(bool bCloseDoc)=0;\t//е߳\n\tvirtual bool\tOnDebugPlungeMultiThread(UINT PlungeType)=0;\t//е߳\n\tvirtual void\tDisplayMsg(PCSTR szMessage){}\n\tvirtual void\tUpdateContext(){}\n\tvirtual\tbool\tTestCondition(PCSTR szCondition,PBREAK_POINT pBP=NULL){return true;}\n\tvirtual bool\tRunCmd(PCSTR szCmd){return false;}\n\tvirtual void\tRunCmdList(PCSTR szCmd){}\npublic://Trace\n\tvirtual\tbool\tIsHandledTraceEvent();\n\tvirtual void\tSetTraceRange(ULPOS RangeStart,ULPOS RangeEnd,bool bRangeIn = false);\n\tvirtual void\tSetProceedRange(ULPOS RangeStart,ULPOS RangeEnd,bool bRangeIn = false);\n\tvirtual\tvoid\tSetTraceCondition(PCSTR szTraceCondition);\n\tvirtual\tvoid\tSetTraceProceedCondition(PCSTR szTraceCondition);\n\tvirtual void\tSetTracePageRangeCondition(DWORD dwPageCR2,DWORD dwPageEIP);\n\tvirtual\tvoid\tSetTraceCount(int StepCount);\n\tvirtual\tvoid\tSetProceedCount(int StepCount);\n\tvirtual\tvoid\tSetX86RetBreak(CDebugger*pDbg);\n\tvirtual\tvoid\tResetTrace();\n\tvirtual bool\tCalcPageRangeCondition();\n\tvirtual\tCDebugger*GetCurrentDebugger()=0;\n\tCStrA\t\t\tm_strTraceCondition;\n\tCDebugger*\t\tm_TraceDebugger;\n\tint\t\t\t\tm_TraceCount;\n\tTRACE_TYPE\t\tm_TraceType;\n\tULPOS\t\t\tm_RangeStart;\n\tULPOS\t\t\tm_RangeEnd;\n\tULPOS\t\t\tm_PageCR2;//Ҫ BPR ڴ淶ΧϵʹáȱҳжϷʱȱҳַ\n\tULPOS\t\t\tm_PageEIP;//Ҫ BPR ڴ淶ΧϵʹáȱҳжϷʱEIPֵ\n};\n\nenum\n{\n\tBP_ERROR_SUCCESS = 0,\n\tBP_ERROR_SWITCH_PROCESS,\n\tBP_ERROR_MAP_TO_PHYS,\n\tBP_ERROR_BP_EXIST,\n\tBP_ERROR_BP_NOT_EXIST,\n\tBP_ERROR_FAIL_TO_SET,\n\tBP_ERROR_FAIL_TO_CLEAR,\n};\n\n\nclass CDebugger\n{\npublic:\n\tCDebugger();\n\tvirtual ~CDebugger();\npublic:\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\tvirtual bool\t\tInit(CDebugInterface*pDebugInterface);//ʼDebug\n\tvirtual void\t\tRelease();//ͷDebug\n\tvirtual bool\t\tOpen(PCSTR ModuleName);\n\tvirtual bool\t\tClose();\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ڴ\n\tvirtual ULSIZE\t\tWriteMemory(ULPOS Address,void*Buffer,ULSIZE Size);\t//дڴ\n\tvirtual ULSIZE\t\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\t//ڴ\n\tvirtual ULSIZE\t\tMoveMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size);\t//ڽ̿ռƶ\n\tvirtual ULSIZE\t\tCmpMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size);\t//ڿռڱȽڴ\n\tvirtual ULPOS\t\tSearchMem(ULPOS Address,ULSIZE Length,BYTE*ByteCode,ULSIZE Size,bool bCase = true);\n\tstatic\tULSIZE\t\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size,void*Param);\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Ĵ\n\tvirtual bool\t\tUpdateRegister();\t\t\t\t\t\t\t\t\t//¼Ĵ\n\tvirtual bool\t\tSaveRegister();\t\t\t\t\t\t\t\t\t\t//ıĴ\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ϵ\n\tvirtual bool\t\tSetCodeBreakPoint(BREAK_POINT&BP);\t\t\t\t\t//ôϵ\n\tvirtual bool\t\tClearCodeBreakPoint(BREAK_POINT&BP);\t\t\t\t//ϵ\n\tvirtual bool\t\tSetDataBreakPoint(BREAK_POINT&BP);\t\t\t\t\t//ݶϵ\n\tvirtual bool\t\tClearDataBreakPoint(BREAK_POINT&BP);\t\t\t\t//ݶϵ\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//\n\tvirtual bool\t\tMapToPhysAddr(ULPOS Address,ULONGLONG&PhysAddr);\n\tvirtual\tbool\t\tSwitchProcessSpace(UINT PID);\t\t\t\t\t\t//лָ̿ռ\n\tvirtual\tvoid\t\tRestoreProcessSpace();\t\t\t\t\t\t\t\t//ָ̿ռ\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Կ\n\tvirtual bool\t\tSetSingleStep();\t\t\t\t\t\t\t\t\t//õϵ\n\tvirtual bool\t\tRemoveSingleStep();\t\t\t\t\t\t\t\t\t//ȥϵ\n\tvirtual bool\t\tContinueDebug(bool bRestoreScreen = true);\t\t\t//\n\t/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Code BP \n\tvirtual\tBREAK_POINT*GetCodeBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tBREAK_POINT*InsertCodeBP(ULPOS Address,UINT Type,BP_STATE State = BP_STATE_ENABLE);\n\tvirtual\tbool\t\tRemoveCodeBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tRemoveCodeBP(BREAK_POINT*pBP);\n\tvirtual\tint\t\t\tRemoveAllCodeBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tint\t\t\tEnableAllCodeBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tint\t\t\tDisableAllCodeBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tEnableCodeBP(BREAK_POINT*pBP);\n\tvirtual\tbool\t\tEnableCodeBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tDisableCodeBP(BREAK_POINT*pBP);\n\tvirtual\tbool\t\tDisableCodeBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\t/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//Data BP \n\tvirtual\tint\t\t\tGetDataBPList(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON,TList<BREAK_POINT*>*pList = NULL);\n\tvirtual\tBREAK_POINT*InsertDataBP(ULPOS Address,UINT Type,BP_STATE State,UINT Length);\n\tvirtual\tint\t\t\tRemoveDataBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tRemoveDataBP(BREAK_POINT*pBP);\n\tvirtual\tint\t\t\tRemoveAllDataBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tint\t\t\tEnableAllDataBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tint\t\t\tDisableAllDataBP(UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tEnableDataBP(BREAK_POINT*pBP);\n\tvirtual\tint\t\t\tEnableDataBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\tvirtual\tbool\t\tDisableDataBP(BREAK_POINT*pBP);\n\tvirtual\tint\t\t\tDisableDataBP(ULPOS Address,UINT TypeInc = BP_TYPE_INC_ALL,UINT TypeExc = BP_TYPE_EXC_NON);\n\t/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nprivate:\n\tCCodeBPMap\t\t\tm_CodeBPMap;\n\tCDataBPList\t\t\tm_DataBPList;\npublic:\n\tUINT\t\t\t\tm_PID;\n\tCStrA\t\t\t\tm_ProcName;\n\tULPOS*\t\t\t\tm_pExecutePoint;\n\tCDebugInterface*\tm_pDebugInterface;\n\tCDbgModuleList\t\tm_ModuleList;\n\tCCodeBPMap*\t\t\tm_pCodeBPMap;\n\tCDataBPList*\t\tm_pDataBPList;\n\tUINT\t\t\t\tm_LastError;\n};\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/ELFFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ELFFile.h\"\n\nCELFFile::CELFFile()\n{\n\tm_FileType = FILE_TYPE_ELF;\n\tm_PrgSeg = NULL;\n\tm_Section = NULL;\n\tm_SectCount = m_PrgSegCount = 0;\n}\n\nCELFFile::~CELFFile()\n{\n\n}\n\nbool CELFFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t\tgoto ErrorExit;\n\tif(ReadFile(0,&m_ELFHeader,sizeof(m_ELFHeader))==false)\n\t\tgoto ErrorExit;\n\tif(m_ELFHeader.e_ehsize!=sizeof(ELF_HEADER))\n\t\tgoto ErrorExit;\n\tif(memcmp(m_ELFHeader.e_ident,\"\\177ELF\",4))\n\t\tgoto ErrorExit;\n\tm_SectCount = (int)m_ELFHeader.e_shnum;\n\tMAX_LIMIT(m_SectCount,MAX_SECTION_COUNT);\n\tif(m_SectCount)\n\t{\n\t\tm_Section = new ELF_SECTION[m_SectCount];\n\t\tif(ReadFile(m_ELFHeader.e_shoff,m_Section,sizeof(ELF_SECTION)*m_SectCount)==false)\n\t\t\tgoto ErrorExit;\n\t}\n\tm_PrgSegCount = (int)m_ELFHeader.e_phnum;\n\tMAX_LIMIT(m_PrgSegCount,MAX_SEGMENT_COUNT);\n\tif(m_PrgSegCount)\n\t{\n\t\tm_PrgSeg = new ELF_PRG_SEG[m_PrgSegCount];\n\t\tif(ReadFile(m_ELFHeader.e_phoff,m_PrgSeg,sizeof(ELF_PRG_SEG)*m_PrgSegCount)==false)\n\t\t\tgoto ErrorExit;\n\t}\n\treturn true;\nErrorExit:\n\tClose();\n\treturn false;\n}\n\nvoid CELFFile::Close()\n{\n\tSafeDelete(m_PrgSeg);\n\tSafeDelete(m_Section);\n\tm_SectCount = m_PrgSegCount = 0;\n\tCImageFile::Close();\n}\n\nvoid CELFFile::DumpInfo()\n{\n\tint n;\n\tprintf(\"FileName %s\\n\",m_ImageName);\n\tprintf(\"ELF Header\\n\");\n\tprintf(\"e_type      = %04X\\n\",m_ELFHeader.e_type);\n\tprintf(\"e_machine   = %04X\\n\",m_ELFHeader.e_machine);\n\tprintf(\"e_version   = %08X\\n\",m_ELFHeader.e_version);\n\tprintf(\"e_entry     = %08X\\n\",m_ELFHeader.e_entry);\n\tprintf(\"e_phoff     = %08X\\n\",m_ELFHeader.e_phoff);\n\tprintf(\"e_shoff     = %08X\\n\",m_ELFHeader.e_shoff);\n\tprintf(\"e_flags     = %08X\\n\",m_ELFHeader.e_flags);\n\tprintf(\"e_ehsize    = %04X\\n\",m_ELFHeader.e_ehsize);\n\tprintf(\"e_phentsize = %04X\\n\",m_ELFHeader.e_phentsize);\n\tprintf(\"e_phnum     = %04X\\n\",m_ELFHeader.e_phnum);\n\tprintf(\"e_shentsize = %04X\\n\",m_ELFHeader.e_shentsize);\n\tprintf(\"e_shnum     = %04X\\n\",m_ELFHeader.e_shnum);\n\tprintf(\"e_shstrndx  = %04X\\n\",m_ELFHeader.e_shstrndx);\n\tprintf(\"Program Segment\\n\");\n\tprintf(\"PrgType  PhysAddr VirtAddr FileOff  Size\\n\");\n\tfor(n=0;n<m_PrgSegCount;n++)\n\t{\n\t\tprintf(\"%08X %08X %08X %08X %08X\\n\",m_PrgSeg[n].p_type,m_PrgSeg[n].p_paddr,m_PrgSeg[n].p_vaddr,m_PrgSeg[n].p_offset,m_PrgSeg[n].p_filesz);\n\t}\n\tprintf(\"Section\\n\");\n\tprintf(\"SectType VirtAddr FileOff  Size\\n\");\n\tfor(n=0;n<m_SectCount;n++)\n\t{\n\t\tprintf(\"%08X %08X %08X %08X\\n\",m_Section[n].sh_type,m_Section[n].sh_addr,m_Section[n].sh_offset,m_Section[n].sh_size);\n\t}\n\n}\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/ELFFile.h",
    "content": "#ifndef _ELF_FILE_H_\n#define _ELF_FILE_H_\n\n#define MAX_SECTION_COUNT\t\t0x100\n#define MAX_SEGMENT_COUNT\t\t0x100\n\nstruct ELF_HEADER\n{\n/*00*/\tchar\t\te_ident[16];\t/* Magic number and other info */\n/*10*/\tWORD\t\te_type;\t\t\t/* Object file type */\n/*12*/\tWORD\t\te_machine;\t\t/* Architecture */\n/*14*/\tDWORD\t\te_version;\t\t/* Object file version */\n/*18*/\tDWORD\t\te_entry;\t\t/* Entry point virtual address */\n/*1C*/\tDWORD\t\te_phoff;\t\t/* Program header table file offset */\n/*20*/\tDWORD\t\te_shoff;\t\t/* Section header table file offset */\n/*24*/\tDWORD\t\te_flags;\t\t/* Processor-specific flags */\n/*28*/\tWORD\t\te_ehsize;\t\t/* ELF header size in bytes */\n/*2A*/\tWORD\t\te_phentsize;\t/* Program header table entry size */\n/*2C*/\tWORD\t\te_phnum;\t\t/* Program header table entry count */\n/*2E*/\tWORD\t\te_shentsize;\t/* Section header table entry size */\n/*30*/\tWORD\t\te_shnum;\t\t/* Section header table entry count */\n/*32*/\tWORD\t\te_shstrndx;\t\t/* Section header string table index */\n};\n\nstruct ELF_PRG_SEG\n{\n\tDWORD\tp_type;\t\t\t/* Segment type */\n\tDWORD\tp_offset;\t\t/* Segment file offset */\n\tDWORD\tp_vaddr;\t\t/* Segment virtual address */\n\tDWORD\tp_paddr;\t\t/* Segment physical address */\n\tDWORD\tp_filesz;\t\t/* Segment size in file */\n\tDWORD\tp_memsz;\t\t/* Segment size in memory */\n\tDWORD\tp_flags;\t\t/* Segment flags */\n\tDWORD\tp_align;\t\t/* Segment alignment */\n};\n\nstruct ELF_SECTION\n{\t\n\tDWORD\tsh_name;\t\t/* Section name (string tbl index) */\n\tDWORD\tsh_type;\t\t/* Section type */\n\tDWORD\tsh_flags;\t\t/* Section flags */\n\tDWORD\tsh_addr;\t\t/* Section virtual addr at execution */\n\tDWORD\tsh_offset;\t\t/* Section file offset */\n\tDWORD\tsh_size;\t\t/* Section size in bytes */\n\tDWORD\tsh_link;\t\t/* Link to another section */\n\tDWORD\tsh_info;\t\t/* Additional section information */\n\tDWORD\tsh_addralign;\t/* Section alignment */\n\tDWORD\tsh_entsize;\t\t/* Entry size if section holds table */\n};\n\nclass CELFFile : public CImageFile\n{\npublic:\n\tCELFFile();\n\t~CELFFile();\npublic:\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tvoid\tClose();\n\tvoid\tDumpInfo();\npublic:\n\tELF_HEADER\tm_ELFHeader;\n\tELF_SECTION*\tm_Section;\n\tint\t\t\tm_SectCount;\n\tELF_PRG_SEG*\tm_PrgSeg;\n\tint\t\t\tm_PrgSegCount;\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/EXEAnalyzer.h",
    "content": "#ifndef _EXE_ANALYZSE_H_\n#define _EXE_ANALYZSE_H_\n\n\n#include \"MZFile.h\"\n#include \"PEFile.h\"\n#include \"ELFFile.h\"\n#include \"FileType.h\"\n#include \"InstrSym.h\"\n#include \"DbgModule.h\"\n#include \"X86Debugger.h\"\n#include \"CodeDoc.h\"\n#include \"ObjFile.h\"\n\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/EXEAnalyzerTest.cpp",
    "content": "// EXEAnalyzerTest.cpp : Defines the entry point for the console application.\n//\n#include \"stdafx.h\"\n#include <string>\n#include <Windows.h>\n\n#define WIN_PE64 0\n#define WIN_PE32 1\n\nextern unsigned char grawData_pe32[512];\nextern unsigned char grawData_pe64[512];\nusing namespace std; \n#define  StreamObject CMemoryStream\nint create_pe_file(const char* dirname,int mode);\nXSCAN_RES dump_hex(CFileIO*pFileIO,PCSTR filename,ULSIZE FileSize,void*CBParam);\nclass CStream;\nint OutBinCodeWithOutPrefix_ib_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\n\ntypedef int (*OUTPUT_BIN_FP)(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\n\nint OutBinCodeWithPrefix_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_ib_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint opcode_creater_without_rm_id(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix);\nint opcode_creater_without_rm_iw(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix);\nint OutBinCodeWithPrefix_ib_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_ib_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_ib_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_iz_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_iv_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\nint OutBinCodeWithPrefix_iz_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix);\n#define OutBinCodeWithPrefix_iv_for_Normal OutBinCodeWithPrefix_iz_for_Normal\nextern unsigned char rawdata[512];\nint main1(int argc, char* argv[]);\nXSCAN_RES dump_asm_and_hex(CFileIO*pFileIO,PCSTR filename,ULSIZE FileSize,void*CBParam);\nenum{\n\tRM_0_4,\n\tRM_0_3,\n\tRM_4,\n};\nint opcode_creater(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix,int defaulttype=RM_0_4);\nint opcode_creater_without_rm(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix);\nint opcode_creater_2(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix,int defaulttype=RM_0_4,unsigned int mask=0XFFFFFFFF);\n\nclass CStream\n{\npublic:\n\tCStream(){}\n\tvirtual ~CStream(){}\n\tvirtual int Write(void* Buffer,int Len)=0;\n\tvirtual int Write(void* Buffer,int Len,int Pos)=0;\n\n\tvirtual int GetSize()const =0;\n\tvirtual void Flush()=0;\n\tvirtual\tint WriteString(char* Buffer)\n\t{\n\t\tint Len = strlen(Buffer);\n\t\treturn Write(Buffer,Len);\n\t}\n};\n\nclass CFileStream: public CStream\n{\npublic:\n\t~CFileStream()\n\t{\n\t\tFlush();\n\t\tfclose(m_fp);\n\t}\n\tCFileStream(const char* name,const char* mode=\"wb\")\n\t{\n\t\tm_fp=fopen(name,mode);\n\t}\n\tint Write(void* Buffer,int Len)\n\t{\n\t\tfwrite(Buffer,Len,1,m_fp);\n\t\treturn Len;\n\t}\n\tint Write(void* Buffer,int Len,int Pos)\n\t{\n\t\tlong oldpos=ftell(m_fp);\n\t\tfseek(m_fp,Pos,SEEK_SET);\n\t\tWrite(Buffer,Len);\n\t\tfseek(m_fp,oldpos,SEEK_SET);\n\t\treturn Len;\n\t}\n\tint GetSize()const{return 0;};\n\tvoid Flush()\n\t{\n\t\tfflush(m_fp);\n\t}\nprivate:\n\tFILE* m_fp;\n};\nclass CMemoryStream: public CFileStream\n{\npublic:\n\tCMemoryStream(const char* name,const char* mode=\"wb\"):CFileStream(name,mode)\n\t{\n\t\tm_CurPos=0;\n\t\tm_Length=0x100000*110;\n\t\tm_Buffer=new char[m_Length];\n\t}\n\t~CMemoryStream()\n\t{\n\t\tif(m_CurPos)\n\t\t\tCFileStream::Write(m_Buffer,m_CurPos);\n\t\tif(m_Buffer)\n\t\t\tdelete m_Buffer;\n\t}\n\n\tint Write(void* Buffer,int Len)\n\t{\n\t\tif(Len+m_CurPos<m_Length-1)\n\t\t{\n\t\t\tmemcpy(m_Buffer+m_CurPos,Buffer,Len);\n\t\t\tm_CurPos+=Len;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tCFileStream::Write(m_Buffer,m_CurPos);\n\t\t\tm_CurPos=0;\n\t\t\tif(Len>m_Length)\n\t\t\t\tCFileStream::Write(Buffer,Len);\n\t\t\telse\n\t\t\t{\n\t\t\t\tmemcpy(m_Buffer+m_CurPos,Buffer,Len);\n\t\t\t\tm_CurPos=Len;\n\t\t\t}\n\t\t}\n\t\treturn Len;\n\t}\n\tint Write(void* Buffer,int Len,int Pos)\n\t{\n\t\tmemcpy(m_Buffer+Pos,Buffer,Len);\n\t\treturn Len;\n\t}\n\tint GetSize()const{return 0;};\n\tvoid Flush()\n\t{\n\t\tif(m_CurPos)\n\t\t\tCFileStream::Write(m_Buffer,m_CurPos);\n\t\tCFileStream::Flush();\n\t}\nprivate:\n\tchar* m_Buffer;\n\tint m_CurPos;\n\tint m_Length;\n};\nenum \n{\n\tIDA_OUTPUT,\n\tDUMPBIN_OUTPUT,\n};\ntypedef struct _CB_PARAM\n{\n\tint type;\n\tchar* dirname;\n\tchar* hexdirname;\n\tint mode;\n}CB_PARAM;\nint main(int argc, char*agv[])\n{\n#if 0\n\tmain1(argc,agv);\n#else\n\n\tDWORD dwBegin=GetTickCount();\n\tCB_PARAM cb={IDA_OUTPUT,\"c:\\\\disasm_test\\\\syser_test\",\"c:\\\\disasm_test\\\\syser_hex\",WIN_PE32};\n\tchar dirname[512]=\"c:\\\\disasm_test\\\\exe_sample\\\\*.exe\";\n\tcreate_pe_file(\"c:\\\\disasm_test\\\\exe_sample\",WIN_PE32);\n\tcreate_pe_file(\"c:\\\\disasm_test\\\\exe_sample\",WIN_PE64);\n\tprintf(\"%d\\n\",GetTickCount()-dwBegin);\n\n\tgpFileIO->XScan(dirname,dump_asm_and_hex,&cb);\n\t//gpFileIO->XScan(dirname,dump_hex,&cb);\n\n#endif\n\treturn 0;\n}\n\nint main1(int argc, char* argv[])\n{\n\tchar CodeBuffer[16]={0x0f, 0xae, 0x38, 0x04, 0x0d, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00 };\n\tint nLen2=0;\n\tINSTRUCTION_INFORMATION InstInfo;\n\tchar buffer[1024];\n\tmemset(&InstInfo,0,sizeof(InstInfo));\n\tInstInfo.pasm=buffer;\n\tunsigned long long dwEip=0x140008000ll;\n\n\tmemset(&InstInfo,0,sizeof(InstInfo));\n\tnLen2=Disassembly(&InstInfo,(BYTE*)CodeBuffer,dwEip,BIT64,NULL);\n\tif(nLen2)\n\t{\n\t\tInstInfo.pasm=buffer;\n\t\tPrintPasmForIDA(&InstInfo,buffer,0,0);\n\t\tdwEip+=nLen2;\n\t\tprintf(\"\\t\\t%-50s\",InstInfo.pasm);\n\t\tfor(int q=0;q<nLen2;q++)\n\t\t\tprintf(\"%02x \",(unsigned char)CodeBuffer[q]);\n\t\tprintf(\"\\n\");\n\t}\n\treturn 0;\n}\n\n// testcase.cpp : Defines the entry point for the console application.\n//\n\nXSCAN_RES dump_hex(CFileIO*pFileIO,PCSTR filename,ULSIZE FileSize,void*CBParam)\n{\n\tCB_PARAM *pCb=(CB_PARAM*)CBParam;\n\t\n\tchar hexfilename[512];\n\tint mode=pCb->mode;\n\tchar* dirname=(char*)pCb->dirname;\n\tHANDLE hFile;\n\tgpFileIO->OpenFile(filename,&hFile);\n\tunsigned long size=FileSize;\n\tunsigned char *CodeBuffer=new unsigned char[size];\n\tgpFileIO->ReadFile(hFile,CodeBuffer,size,0);\n\tgpFileIO->CloseHandle(hFile);\n\tint nLen2=0;\n\tINSTRUCTION_INFORMATION InstInfo;\n\tchar buffer[1024];\n\tmemset(&InstInfo,0,sizeof(InstInfo));\n\tInstInfo.U_x1=13;\n\tInstInfo.pasm=buffer;\n\tunsigned long long dwEip=0x140001000ll;\n\tint n=size;\n\tint i=0x2a00;\n\tchar WriteBuffer[1024];\n\tchar filetitle[512];\n\tTGetFileTitle(filename,filetitle);\n\n\tif(TStrStr(filename,\"_win32_\"))\n\t\tmode=WIN_PE32;\n\telse \n\t\tmode=WIN_PE64;\n\n\t\n\tsprintf(hexfilename,\"%s\\\\%s.hex\",pCb->hexdirname,filetitle);\n\n\t\n\tStreamObject HexStream(hexfilename,\"wt\");\n\tprintf(\"Create asm file for %s (%s)\\n\",filename,mode==WIN_PE32?\"WIN32\":\"WIN64\");\n\tfor(i=0x200;i<n;)\n\t{\n\t\tmemset(&InstInfo,0,sizeof(InstInfo));\n\t\tif(mode==WIN_PE64)\n\t\t\tnLen2=Disassembly(&InstInfo,(BYTE*)CodeBuffer+i,dwEip,BIT64,NULL);\n\t\telse\n\t\t\tnLen2=Disassembly(&InstInfo,(BYTE*)CodeBuffer+i,dwEip,BIT32,NULL);\n\n\t\tif(pCb->type!=IDA_OUTPUT)\n\t\t{\n\t\t\tInstInfo.pasm=buffer;\n\t\t\tPrintPasm(&InstInfo,buffer,0,12);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tInstInfo.pasm=buffer;\n\t\t\tPrintPasmForIDA(&InstInfo,buffer,0,0);\n\t\t}\n\n\t\tif(nLen2)\n\t\t{\n\t\t\tdwEip+=nLen2;\n\n\t\t\tstrcpy(WriteBuffer,InstInfo.pasm);\n\t\t\t\n\t\t\tint n=0;\n\t\t\tn=sprintf(WriteBuffer,\"%llx \",dwEip);\n\t\t\tHexStream.Write(WriteBuffer,n);\n\t\t\tHexStream.WriteString(InstInfo.pasm);\n\t\t\tHexStream.WriteString(\" (\");\n\n\t\t\tn=0;\n\t\t\tfor(int j=0;j<nLen2;j++)\n\t\t\t\tn+=sprintf(WriteBuffer+n,\"%02x \",CodeBuffer[i+j]);\n\t\t\tHexStream.Write(WriteBuffer,n);\n\t\t\tHexStream.WriteString(\")\\n\");\n\t\t\ti+=nLen2;;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tint n=sprintf(WriteBuffer,\"%16llx error![ \",dwEip);\n\t\t\tfor(int j=0;j<15;j++)\n\t\t\t\tn+=sprintf(WriteBuffer+n,\"%02x \",CodeBuffer[i+j]);\n\t\t\tn+=sprintf(WriteBuffer+n,\"]\\n\");\n\t\t\t\n\t\t\tdwEip++;\n\t\t\ti++;\n\t\t}\n\t}\n\n\tdelete []CodeBuffer;\n\treturn XSCAN_RES_CONTINUE;\n}\n\n\nXSCAN_RES dump_asm_and_hex(CFileIO*pFileIO,PCSTR filename,ULSIZE FileSize,void*CBParam)\n{\n\n\tCB_PARAM *pCb=(CB_PARAM*)CBParam;\n\tchar asmfilename[512];\n\tchar hexfilename[512];\n\tint mode=pCb->mode;\n\tchar* dirname=(char*)pCb->dirname;\n\tHANDLE hFile;\n\tgpFileIO->OpenFile(filename,&hFile);\n\tunsigned long size=FileSize;\n\tunsigned char *CodeBuffer=new unsigned char[size];\n\tgpFileIO->ReadFile(hFile,CodeBuffer,size,0);\n\tgpFileIO->CloseHandle(hFile);\n\tint nLen2=0;\n\tINSTRUCTION_INFORMATION InstInfo;\n\tchar buffer[1024];\n\tmemset(&InstInfo,0,sizeof(InstInfo));\n\tInstInfo.U_x1=13;\n\tInstInfo.pasm=buffer;\n\tunsigned long long dwEip=0x140001000ll;\n\tint n=size;\n\tint i=0x2a00;\n\tchar WriteBuffer[1024];\n\tchar filetitle[512];\n\tTGetFileTitle(filename,filetitle);\n\t\n\tif(TStrStr(filename,\"_win32_\"))\n\t\tmode=WIN_PE32;\n\telse \n\t\tmode=WIN_PE64;\n\n\tsprintf(asmfilename,\"%s\\\\%s.txt\",dirname,filetitle);\n\tsprintf(hexfilename,\"%s\\\\%s.hex\",pCb->hexdirname,filetitle);\n\t\n\tStreamObject TxtStream(asmfilename,\"wt\");\n\tStreamObject HexStream(hexfilename,\"wt\");\n\tprintf(\"Create asm file for %s (%s)\\n\",filename,mode==WIN_PE32?\"WIN32\":\"WIN64\");\n\t\n\tfor(i=0x200;i<n;)\n\t{\n\t\tmemset(&InstInfo,0,sizeof(InstInfo));\n\t\tif(mode==WIN_PE64)\n\t\t\tnLen2=Disassembly(&InstInfo,(BYTE*)CodeBuffer+i,dwEip,BIT64,NULL);\n\t\telse\n\t\t\tnLen2=Disassembly(&InstInfo,(BYTE*)CodeBuffer+i,dwEip,BIT32,NULL);\n\n\t\tif(pCb->type!=IDA_OUTPUT)\n\t\t{\n\t\t\tInstInfo.pasm=buffer;\n\t\t\tPrintPasm(&InstInfo,buffer,0,12);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tInstInfo.pasm=buffer;\n\t\t\tPrintPasmForIDA(&InstInfo,buffer,0,0);\n\t\t}\n\n\t\tif(nLen2)\n\t\t{\n\t\t\tstrcpy(WriteBuffer,InstInfo.pasm);\n\t\t\tTxtStream.WriteString(WriteBuffer);\n\t\t\tTxtStream.Write(\"\\n\",1);\n\t\t\tint n=0;\n\t\t\tn=sprintf(WriteBuffer,\"%llx \",dwEip);\n\t\t\tHexStream.Write(WriteBuffer,n);\n\t\t\tHexStream.WriteString(InstInfo.pasm);\n\t\t\tHexStream.WriteString(\" (\");\n\n\t\t\tn=0;\n\t\t\tfor(int j=0;j<nLen2;j++)\n\t\t\t\tn+=sprintf(WriteBuffer+n,\"%02x \",CodeBuffer[i+j]);\n\t\t\tHexStream.Write(WriteBuffer,n);\n\t\t\tHexStream.WriteString(\")\\n\");\n\t\t\ti+=nLen2;;\n\t\t\tdwEip+=nLen2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tint n=sprintf(WriteBuffer,\"%16llx error![ \",dwEip);\n\t\t\tfor(int j=0;j<15;j++)\n\t\t\t\tn+=sprintf(WriteBuffer+n,\"%02x \",CodeBuffer[i+j]);\n\t\t\tn+=sprintf(WriteBuffer+n,\"]\\n\");\n\t\t\tTxtStream.Write(WriteBuffer,n);\n\t\t\tdwEip++;\n\t\t\ti++;\n\t\t}\n\t}\n\t\n\tdelete []CodeBuffer;\n\treturn XSCAN_RES_CONTINUE;\n}\n\n\nenum\n{\n\tOUT_SOURCE_CODE,\n\tOUT_BIN_CODE,\n\tOUT_SOURCE_CODE_64,\n\tOUT_BIN_CODE_64,\n\n};\ntypedef int (*FP_OUTPUT_INTERFACE)(CStream*,unsigned char*,int);\n\n\n\n\nint create_pe_file(const char* dirname,int mode)\n{\n\tunsigned long totalsize;\n\tunsigned long newvalue;\n\tunsigned long imagesizeoffset,sizecodeoffset;\n\tunsigned char *rawdata;\n\tchar nameprefix[512];\n\tif(mode==WIN_PE64)\n\t{\n\t\timagesizeoffset=0x108;\n\t\tsizecodeoffset=0xd4;\n\t\trawdata= grawData_pe64;\n\t\tsprintf(nameprefix,\"opcode_win64_\");\n\t}\n\telse\n\t{\n\t\timagesizeoffset=0x118;\n\t\tsizecodeoffset=0xe4;\n\t\trawdata= grawData_pe32;\n\t\tsprintf(nameprefix,\"opcode_win32_\");\n\t}\n\tchar filename[256];\n#if 0\n\n\tint opcode_with_00_rm[]={\n\n\n\t\t0x00,0x01,0x02,0x03,\n\t\t0x10,0x11,0x12,0x13,\n\t\t0x20,0x21,0x22,0x23,\n\t\t0x30,0x31,0x32,0x33,\n\t\t0x84,0x85,0x86,0x87,\n\t\t0x63,\n\t\t0x08,0x09,0x0a,0x0b,\n\t\t0x18,0x19,0x1a,0x1b,\n\t\t0x28,0x29,0x2a,0x2b,\n\t\t0x38,0x39,0x3a,0x3b,\n\t\t0x88,0x89,0x8a,0x8b,0x8c,0x8e,\n\t\t0x0d0f,\n\t\t0x020f,0x030f,\n\t\t0x100f,0x110f,0x120f,0x140f,0x150f,0x160f,0x1f0f,\n\t\t0x400f,0x410f,0x420f,0x430f,0x440f,0x450f,0x460f,0x470f,\n\t\t0x480f,0x490f,0x4a0f,0x4b0f,0x4c0f,0x4d0f,0x4e0f,0x4f0f,\n\t\t0x510f,0x520f,0x530f,0x540f,0x550f,0x560f,0x570f,\n\t\t0x600f,0x610f,0x620f,0x630f,0x640f,0x650f,0x660f,0x670f,\n\t\t0x740f,0x750f,0x760f,\n\t\t0x280f,0x290f,0x2a0f,0x2c0f,0x2d0f,0x2e0f,0x2f0f,\n\t\t0x580f,0x590f,0x5a0f,0x5b0f,0x5c0f,0x5d0f,0x5e0f,0x5f0f,\n\t\t0x680f,0x690f,0x6a0f,0x6b0f,0x6e0f,0x6f0f,\n\t\t0x780f,0x790f,0x7e0f,0x7f0f,\n\t\t0xb00f,0xb10f,0xb30f,0xb60f,0xb70f,\n\t\t0xc00f,0xc10f,\n\t\t0xd10f,0xd20f,0xd30f,0xd40f,0xd50f,\n\t\t0xe00f,0xe10f,0xe20f,0xe30f,0xe40f,0xe50f,\n\t\t0xf10f,0xf20f,0xf30f,0xf40f,0xf50f,0xf60f,\n\t\t0xab0f,0xad0f,0xaf0f,\n\t\t0xbb0f,0xbc0f,0xbd0f,0xbe0f,0xbf0f,\n\t\t0xd80f,0xd90f,0xda0f,0xdb0f,0xdc0f,0xdd0f,0xde0f,0xdf0f,\n\t\t0xe80f,0xe90f,0xea0f,0xeb0f,0xec0f,0xed0f,0xee0f,0xef0f,\n\t\t0xf80f,0xf90f,0xfa0f,0xfb0f,0xfc0f,0xfd0f,0xfe0f,\n\t\t0x00380f,0x01380f,0x02380f,0x03380f,0x04380f,0x05380f,0x06380f,0x07380f,\n\t\t0x08380f,0x09380f,0x0a380f,0x0b380f,\n\t\t0x1c380f,0x1d380f,0x1e380f,\n\t\t0x0f3a0f,\n\t\t\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_with_00_rm)/sizeof(opcode_with_00_rm[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_00_rm[i]&0xffff)==0x380f)||((opcode_with_00_rm[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_with_00_rm[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x.exe\",dirname,nameprefix,opcode_with_00_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_with_00_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_00_rm[i],3,0x66);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_00_rm[i],3,0x66);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_with_00_rm[i],opcodelen,0x66);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_with_00_rm[i],opcodelen,0x66);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\tint opcode_with_66_rm[]={\n\t\t\n\t\t0x00,0x01,0x02,0x03,\n\t\t0x10,0x11,0x12,0x13,\n\t\t0x20,0x21,0x22,0x23,\n\t\t0x30,0x31,0x32,0x33,\n\t\t0x84,0x85,0x86,0x87,\n\t\t0x63,\n\t\t0x08,0x09,0x0a,0x0b,\n\t\t0x18,0x19,0x1a,0x1b,\n\t\t0x28,0x29,0x2a,0x2b,\n\t\t0x38,0x39,0x3a,0x3b,\n\t\t0x88,0x89,0x8a,0x8b,0x8c,0x8e,\n\t\t0x0d0f,\n\t\t0x100f,0x110f,0x140f,0x150f,0x1f0f,\n\t\t0x020f,0x030f,\n\t\t0x400f,0x410f,0x420f,0x430f,0x440f,0x450f,0x460f,0x470f,0x480f,0x490f,0x4a0f,0x4b0f,0x4c0f,0x4d0f,0x4e0f,0x4f0f,\n\t\t0x510f,0x540f,0x550f,0x560f,0x570f,\n\t\t0x600f,0x610f,0x620f,0x630f,0x640f,0x650f,0x660f,0x670f,\n\t\t0x740f,0x750f,0x760f,\n\t\t0x280f,0x290f,0x2a0f,0x2c0f,0x2d0f,0x2e0f,0x2f0f,\n\t\t0x580f,0x590f,0x5a0f,0x5b0f,0x5c0f,0x5d0f,0x5e0f,0x5f0f,\n\t\t0x680f,0x690f,0x6a0f,0x6b0f,0x6c0f,0x6d0f,0x6e0f,0x6f0f,\n\t\t0x7c0f,0x7d0f,0x7e0f,0x7f0f,\n\t\t0xab0f,0xaf0f,0xa30f,0xa50f,\n\t\t0xb00f,0xb10f,0xb30f,0xb60f,0xb70f,\n\t\t0xbb0f,0xbc0f,0xbd0f,0xbe0f,0xbf0f,\n\t\t0xc00f,0xc10f,\n\t\t0xd00f,0xd10f,0xd20f,0xd30f,0xd40f,0xd50f,0xd60f,\n\t\t0xe00f,0xe10f,0xe20f,0xe30f,0xe40f,0xe50f,0xe60f,\n\t\t0xf10f,0xf20f,0xf30f,0xf40f,0xf50f,0xf60f,\n\t\t0xd80f,0xd90f,0xda0f,0xdb0f,0xdc0f,0xdd0f,0xde0f,0xdf0f,\n\t\t0xe80f,0xe90f,0xea0f,0xeb0f,0xec0f,0xed0f,0xee0f,0xef0f,\n\t\t0xf80f,0xf90f,0xfa0f,0xfb0f,0xfc0f,0xfd0f,0xfe0f,\n\n\t\t0x00380f,0x01380f,0x02380f,0x03380f,0x04380f,0x05380f,0x06380f,0x07380f,0x08380f,\n\t\t0x10380f,0x14380f,0x15380f,0x17380f,\n\t\t0x20380f,0x21380f,0x22380f,0x23380f,0x24380f,0x25380f,\n\t\t0x30380f,0x31380f,0x32380f,0x33380f,0x34380f,0x35380f,0x37380f,\n\t\t0x40380f,0x41380f,\n\t\t0x08380f,0x09380f,0x0a380f,0x0b380f,\n\t\t0x1c380f,0x1d380f,0x1e380f,\n\t\t0x28380f,0x29380f,0x2b380f,\n\t\t0x38380f,0x39380f,0x3a380f,0x3b380f,0x3c380f,0x3d380f,0x3e380f,0x3f380f,\n\t\t0xdb380f,0xdc380f,0xdd380f,0xde380f,0xdf380f,\n\n\t\t0x143a0f,0x153a0f,0x163a0f,0x173a0f,//ida  0x153a0f  bug  //0x143a0f,0x153a0f,0x163a0f 0x203a0f,0x223a0f \n\t\t0x203a0f,0x213a0f,0x223a0f,\n\t\t\n\t\t0x403a0f,0x413a0f,0x423a0f,0x443a0f,\n\t\t0x603a0f,0x613a0f,0x623a0f,0x633a0f,\n\t\t0x083a0f,0x093a0f,0x0a3a0f,0x0b3a0f,0x0c3a0f,0x3d3a0f,0x0e3a0f,0x0f3a0f,\n\t\t0xdf3a0f,\n\t\t\n\t};\n\t\n\tfor(int i = 0 ; i<sizeof(opcode_with_66_rm)/sizeof(opcode_with_66_rm[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_66_rm[i]&0xffff)==0x380f)||((opcode_with_66_rm[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_with_66_rm[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_66.exe\",dirname,nameprefix,opcode_with_66_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\tif((opcode_with_66_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_66_rm[i],3,0x66);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_66_rm[i],3,0x66);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_with_66_rm[i],opcodelen,0x66);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_with_66_rm[i],opcodelen,0x66);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\n\t\n\t\n\tint opcode_with_f2_rm[]={\n\t\t0x100f,0x110f,0x120f,\n\t\t0x510f,\n\t\t0x2a0f,0x2c0f,0x2d0f,\n\t\t0x580f,0x590f,0x5a0f,0x5c0f,0x5d0f,0x5f0f,\n\t\t0x7c0f,0x7d0f,\n\t\t0xd00f,0xe60f,\n\t\t0xf0380f,0xf1380f,\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_with_f2_rm)/sizeof(opcode_with_f2_rm[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_f2_rm[i]&0xffff)==0x380f)||((opcode_with_f2_rm[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_with_f2_rm[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_f2.exe\",dirname,nameprefix,opcode_with_f2_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_with_f2_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_f2_rm[i],3,0xf2);\n\t\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_f2_rm[i],3,0xf2);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_with_f2_rm[i],opcodelen,0xf2);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_with_f2_rm[i],opcodelen,0xf2);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\n\tint opcode_with_f3_rm[]={\n\t\t\n\t\t0x160f,0x100f,0x110f,0x120f,\n\t\t0x510f,0x520f,0x530f,\n\t\t0x2a0f,0x2c0f,0x2d0f,\n\t\t0x580f,0x590f,0x5a0f,0x5b0f,0x5c0f,0x5d0f,0x5e0f,0x5f0f,\n\t\t0x6f0f,\n\t\t0x7e0f,0x7f0f,\n\t\t0xb80f,\n\t\t0xe60f,\n\t\t0x160f,0x520f,0x530f,0x5b0f,0x6f0f,0x7e0f,0x7f0f\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_with_f3_rm)/sizeof(opcode_with_f3_rm[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_f3_rm[i]&0xffff)==0x380f)||((opcode_with_f3_rm[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_with_f3_rm[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_f3.exe\",dirname,nameprefix,opcode_with_f3_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_with_f3_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_f3_rm[i],3,0xf3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_f3_rm[i],3,0xf3);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_with_f3_rm[i],opcodelen,0xf3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_with_f3_rm[i],opcodelen,0xf3);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\n\n\t//only support memory address mode\n\tint opcode_memory_prefix_00_[]=\n\t{\n\t\t0xf0380f,0xf1380f,0xe70f,0xb20f,0xb40f,0xb50f,0x2b0f,0x170f,0x130f,0xc30f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_memory_prefix_00_)/sizeof(opcode_memory_prefix_00_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_memory_prefix_00_[i]&0xffff)==0x380f)||((opcode_memory_prefix_00_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_memory_prefix_00_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_00.exe\",dirname,nameprefix,opcode_memory_prefix_00_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_memory_prefix_00_[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_memory_prefix_00_[i],opcodelen,0x00,RM_0_3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_memory_prefix_00_[i],opcodelen,0x00,RM_0_3);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_memory_prefix_00_[i],opcodelen,0x00,RM_0_3);\n\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_memory_prefix_00_[i],opcodelen,0x00,RM_0_3);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\n\tint opcode_memory_prefix_00_66[]=\n\t{\n\t\t0xf0380f,0xf1380f,0xe70f,0xb20f,0xb40f,0xb50f,0x2b0f,0x170f,0x130f,0x160f,0x120f,0x2a380f,0x80380f,0x81380f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_memory_prefix_00_66)/sizeof(opcode_memory_prefix_00_66[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_memory_prefix_00_66[i]&0xffff)==0x380f)||((opcode_memory_prefix_00_66[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_memory_prefix_00_66[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_66.exe\",dirname,nameprefix,opcode_memory_prefix_00_66[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_memory_prefix_00_66[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\t\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_memory_prefix_00_66[i],opcodelen,0x66,RM_0_3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_memory_prefix_00_66[i],opcodelen,0x66,RM_0_3);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_memory_prefix_00_66[i],opcodelen,0x66,RM_0_3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_memory_prefix_00_66[i],opcodelen,0x66,RM_0_3);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_memory_prefix_00_f2_[]=\n\t{\n\t\t0xf00f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_memory_prefix_00_f2_)/sizeof(opcode_memory_prefix_00_f2_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_memory_prefix_00_f2_[i]&0xffff)==0x380f)||((opcode_memory_prefix_00_f2_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_memory_prefix_00_f2_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_f2.exe\",dirname,nameprefix,opcode_memory_prefix_00_f2_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_memory_prefix_00_f2_[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\t\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_memory_prefix_00_f2_[i],opcodelen,0xf2,RM_0_3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_memory_prefix_00_f2_[i],opcodelen,0xf2,RM_0_3);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_memory_prefix_00_f2_[i],opcodelen,0xf2,RM_0_3);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_memory_prefix_00_f2_[i],opcodelen,0xf2,RM_0_3);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\n\tint opcode_reg_prefix_00_[]=\n\t{\n\t\t0x500f,0xd70f,0xf70f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_reg_prefix_00_)/sizeof(opcode_reg_prefix_00_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_reg_prefix_00_[i]&0xffff)==0x380f)||((opcode_reg_prefix_00_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_reg_prefix_00_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_00.exe\",dirname,nameprefix,opcode_reg_prefix_00_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_reg_prefix_00_[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_reg_prefix_00_[i],opcodelen,0x00,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_reg_prefix_00_[i],opcodelen,0x00,RM_4);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_reg_prefix_00_[i],opcodelen,0x00,RM_4);\n\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_reg_prefix_00_[i],opcodelen,0x00,RM_4);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\tint opcode_reg_prefix_66[]=\n\t{\n\t\t0x500f,0xd70f,0xf70f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_reg_prefix_66)/sizeof(opcode_reg_prefix_66[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_reg_prefix_66[i]&0xffff)==0x380f)||((opcode_reg_prefix_66[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_reg_prefix_66[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_66.exe\",dirname,nameprefix,opcode_reg_prefix_66[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_reg_prefix_66[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\t\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_reg_prefix_66[i],opcodelen,0x66,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_reg_prefix_66[i],opcodelen,0x66,RM_4);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_reg_prefix_66[i],opcodelen,0x66,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_reg_prefix_66[i],opcodelen,0x66,RM_4);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\tint opcode_reg_prefix_f2_[]=\n\t{\n\t\t0xd60f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_reg_prefix_f2_)/sizeof(opcode_reg_prefix_f2_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_reg_prefix_f2_[i]&0xffff)==0x380f)||((opcode_reg_prefix_f2_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_reg_prefix_f2_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_f2.exe\",dirname,nameprefix,opcode_reg_prefix_f2_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_reg_prefix_f2_[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\t\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_reg_prefix_f2_[i],opcodelen,0xf2,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_reg_prefix_f2_[i],opcodelen,0xf2,RM_4);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_reg_prefix_f2_[i],opcodelen,0xf2,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_reg_prefix_f2_[i],opcodelen,0xf2,RM_4);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_reg_prefix_f3_[]=\n\t{\n\t\t0xd60f,\n\t};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_reg_prefix_f3_)/sizeof(opcode_reg_prefix_f3_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_reg_prefix_f3_[i]&0xffff)==0x380f)||((opcode_reg_prefix_f3_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_reg_prefix_f3_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x_f3.exe\",dirname,nameprefix,opcode_reg_prefix_f3_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tif((opcode_reg_prefix_f3_[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\t\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_reg_prefix_f3_[i],opcodelen,0xf3,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_reg_prefix_f3_[i],opcodelen,0xf3,RM_4);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_Normal,opcode_reg_prefix_f3_[i],opcodelen,0xf3,RM_4);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_for_64,opcode_reg_prefix_f3_[i],opcodelen,0xf3,RM_4);\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\n\tint opcode_rm_ib_00_[]=\n\t{\n\t\t0x6b,0xc20f,0xc60f,0x700f,0xc50f,0x80,0x82,0x83\n\t};\n\tunsigned int opcode_rm_ib_00_prefix[]=\n\t{\n\t\t0x6701,0xf4f36601,0x6701,0xf4f36701,0x6701,0x6701,0x6701,0x6701,\n\t};\n\tint opcode_rm_ib_00_rmbyte[]=\n\t{\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_4 << 8)|(RM_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t\t(RM_0_4 << 24)|(RM_0_4 << 16)|(RM_0_4 << 8)|(RM_0_4),\n\t};\n\tint mask[4]={0xff000000,0xff0000,0xff00,0xff};\n\tint shift[4]={24,16,8,0};\n\ttotalsize=0;\n\tfor(int i = 0 ; i<sizeof(opcode_rm_ib_00_)/sizeof(opcode_rm_ib_00_[0]);i++)\n\t{\t\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_rm_ib_00_[i]&0xffff)==0x380f)||((opcode_rm_ib_00_[i]&0xffff)==0x3a0f))\n\t\t\topcodelen=3;\n\t\telse if((opcode_rm_ib_00_[i]&0xff)==0x0f)\n\t\t\topcodelen=2;\n\t\telse\n\t\t\topcodelen=1;\n\t\tsprintf(filename,\"%s\\\\%s0x%04x.exe\",dirname,nameprefix,opcode_rm_ib_00_[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\tunsigned int val;\n\t\tunsigned int rmbyte;\n\t\tfor(int ip=0;ip<4;ip++)\n\t\t{\n\t\t\tval=opcode_rm_ib_00_prefix[i];\n\t\t\tval=((val&mask[ip])>>shift[ip])-1;\n\t\t\tif(val==-1)\n\t\t\t\tcontinue;\n\t\t\trmbyte=opcode_rm_ib_00_rmbyte[i];\n\t\t\trmbyte=((rmbyte&mask[ip])>>shift[ip]);\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_rm_ib_00_[i],opcodelen,0,rmbyte);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_rm_ib_00_[i],opcodelen,0,rmbyte);\n\t\t\t}\n\t\t}\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\t{\n\t\ttotalsize=0;\n\t\tsprintf(filename,\"%s\\\\%s0xc8-0xcf.exe\",dirname,nameprefix);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\tfor(int i=0xc8;i<0xd0;i++)\n\t\t{\n\t\t\tint iii;\n\t\t\tiii=(i<<8)|0x0f;\n\t\t\t\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&iii,2,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&iii,2,0x66);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&iii,2,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&iii,2,0x66);\n\t\t\t}\n\t\t}\n\t\tfor(int i=0x50;i<0x60;i++)\n\t\t{\n\t\t\t\n\t\t\t\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t}\n\t\t}\n\t\tfor(int i=0x90;i<0x98;i++)\n\t\t{\n\t\t\t\n\t\t\t\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\tif(i==0x90)\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0xf3);\n\t\t\t\t\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\tif(i==0x90)\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0xf3);\n\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\t\n\t{\n\t\ttotalsize=0;\n\t\tsprintf(filename,\"%s\\\\%s0x20-0x25.exe\",dirname,nameprefix);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\n\t\tfor(int i=0x20;i<0x27;i++)\n\t\t{\n\t\t\tif(i==0x25)\n\t\t\t\tcontinue;\n\t\t\tfor(int ii=0xc0;ii<0x100;ii++)\n\t\t\t{\t\t\t\t\n\t\t\t\tint iii;\n\t\t\t\tiii=(i<<8)|0x0f|(ii<<16);\n\t\t\t\n\t\t\t\tif(mode==WIN_PE64)\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&iii,3,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&iii,3,0x66);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&iii,3,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&iii,3,0x66);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\n\t{\n\t\ttotalsize=0;\n\t\tsprintf(filename,\"%s\\\\%s0xb0-0xbf.exe\",dirname,nameprefix);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\tfor(int i=0xb0;i<0xb8;i++)\n\t\t{\n\t\t\t\tif(mode==WIN_PE64)\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_64(Stream,(unsigned char*)&i,1,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_64(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_Normal(Stream,(unsigned char*)&i,1,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_Normal(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\t}\n\t\t}\n\t\tfor(int i=0xb8;i<0xc0;i++)\n\t\t{\n\t\t\t\tif(mode==WIN_PE64)\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iv_for_64(Stream,(unsigned char*)&i,1,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iv_for_64(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iv_for_Normal(Stream,(unsigned char*)&i,1,0);\n\t\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iv_for_Normal(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t\t}\n\t\t\t\n\t\t}\n\t\tfor(int i=0x50;i<0x60;i++)\n\t\t{\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_64(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_for_Normal(Stream,(unsigned char*)&i,1,0x66);\n\t\t\t}\n\t\t}\n\t\tint only_Iz[]={0x05,0x15,0x25,0x35,0x0d,0x1d,0x2d,0x3d,0x68,0xa9};\n\t\tfor(int i=0;i<sizeof(only_Iz)/sizeof(only_Iz[0]);i++)\n\t\t{\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iz_for_64(Stream,(unsigned char*)&only_Iz[i],1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iz_for_64(Stream,(unsigned char*)&only_Iz[i],1,0x66);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iz_for_Normal(Stream,(unsigned char*)&only_Iz[i],1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_iz_for_Normal(Stream,(unsigned char*)&only_Iz[i],1,0x66);\n\t\t\t}\n\t\t}\n\t\tint only_Ib[]={0x04,0x14,0x24,0x34,0x0c,0x1c,0x2c,0x3c,0x6a,0xa8,0xe4,0xe5,0xe6,0xe7,0xd4,0xd5,0xcd};\n\t\tfor(int i=0;i<sizeof(only_Ib)/sizeof(only_Ib[0]);i++)\n\t\t{\n\t\t\tif(mode==WIN_PE64)\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_64(Stream,(unsigned char*)&only_Ib[i],1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_64(Stream,(unsigned char*)&only_Ib[i],1,0x66);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_Normal(Stream,(unsigned char*)&only_Ib[i],1,0);\n\t\t\t\ttotalsize+=OutBinCodeWithPrefix_ib_for_Normal(Stream,(unsigned char*)&only_Ib[i],1,0x66);\n\t\t\t}\n\t\t}\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\t\t\n\t\n\tint opcode_with_iz_rm[]={\n\t\t/*0x69,*/0x81\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_with_iz_rm)/sizeof(opcode_with_iz_rm[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_iz_rm[i]&0xffff)==0x380f)||((opcode_with_iz_rm[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_with_iz_rm[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_with_iz_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\tif((opcode_with_iz_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_iz_for_Normal,opcode_with_iz_rm[i],opcodelen,0x00);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_iz_for_64,opcode_with_iz_rm[i],opcodelen,0x66);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_iz_for_Normal,opcode_with_iz_rm[i],opcodelen,0x00);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_iz_for_64,opcode_with_iz_rm[i],opcodelen,0x66);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_with_ib_rm[]={\n\t\t/*0x69,*/0x80,0x82,0x83\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_with_ib_rm)/sizeof(opcode_with_ib_rm[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_with_ib_rm[i]&0xffff)==0x380f)||((opcode_with_ib_rm[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_with_ib_rm[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_with_ib_rm[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\tif((opcode_with_ib_rm[i]&0xffff)==0x3a0f)\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_ib_rm[i],opcodelen,0x00);\n\t\t\tif(mode==WIN_PE64 && opcode_with_ib_rm[i]!=0x82)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_ib_rm[i],opcodelen,0x66);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_with_ib_rm[i],opcodelen,0x00);\n\t\t\tif(mode==WIN_PE64&& opcode_with_ib_rm[i]!=0x82)\n\t\t\t\ttotalsize += opcode_creater(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_with_ib_rm[i],opcodelen,0x66);\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\tint opcode_f6_f7[]={\n\t\t0xf6,0xf7\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_f6_f7)/sizeof(opcode_f6_f7[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_f6_f7[i]&0xffff)==0x380f)||((opcode_f6_f7[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_f6_f7[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_f6_f7[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\tif(opcode_f6_f7[i]==0xf7)\n\t\t{\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_Normal,opcode_f6_f7[i],opcodelen,0x00,RM_0_4,0x1ff);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_64,opcode_f6_f7[i],opcodelen,0x66,RM_0_4,0x1ff);\n\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_f6_f7[i],opcodelen,0x00,RM_0_4,0x1ff);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_f6_f7[i],opcodelen,0x66,RM_0_4,0x1ff);\n\t\t}\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_f6_f7[i],opcodelen,0x00,RM_0_4,0xfcff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_f6_f7[i],opcodelen,0x66,RM_0_4,0xfcff);\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\n\tint opcode_fe[]={\n\t\t0xfe\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_fe)/sizeof(opcode_fe[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_fe[i]&0xffff)==0x380f)||((opcode_fe[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_fe[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_fe[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_fe[i],opcodelen,0x00,RM_0_4,0x3ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_fe[i],opcodelen,0x66,RM_0_4,0x3ff);\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_ff[]={\n\t\t0xff\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_ff)/sizeof(opcode_ff[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_ff[i]&0xffff)==0x380f)||((opcode_ff[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_ff[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_ff[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_ff[i],opcodelen,0x00,RM_0_4,0x57ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_ff[i],opcodelen,0x66,RM_0_4,0x57ff);\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0f00[]={\n\t\t0x000f\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_0f00)/sizeof(opcode_0f00[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0f00[i]&0xffff)==0x380f)||((opcode_0f00[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0f00[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0f00[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0f00[i],opcodelen,0x00,RM_0_4,0x3fff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0f00[i],opcodelen,0x00,RM_0_4,0x3fff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0f00[i],opcodelen,0x66,RM_0_4,0x3fff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0f00[i],opcodelen,0x66,RM_0_4,0x3fff);\n\t\t\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x00,RM_0_3,0xdfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x00,RM_0_3,0xdfff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x66,RM_0_3,0xdfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x66,RM_0_3,0xdfff);\n\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x00,RM_4,0x8603);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x00,RM_4,0x8603);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x66,RM_4,0x8603);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x66,RM_4,0x8603);\n\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x00,RM_4,0x11e);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x00,RM_4,0x11e);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,0x010f,2,0x66,RM_4,0x11e);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,0x010f,2,0x66,RM_4,0x11e);\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0fba[]={\n\t\t0xba0f\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_0fba)/sizeof(opcode_0fba[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0fba[i]&0xffff)==0x380f)||((opcode_0fba[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0fba[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0fba[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0fba[i],opcodelen,0x00,RM_0_4,0xf0ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0fba[i],opcodelen,0x00,RM_0_4,0xf0ff);\n\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0fba[i],opcodelen,0x66,RM_0_4,0xf0ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0fba[i],opcodelen,0x66,RM_0_4,0xf0ff);\n\n\t\tStream->Write(&totalsize,4,0x1c8);\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\n\tint opcode_0fc7[]={\n\t\t0xc70f\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0fc7)/sizeof(opcode_0fc7[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0fc7[i]&0xffff)==0x380f)||((opcode_0fc7[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0fc7[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0fc7[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0fc7[i],opcodelen,0x00,RM_0_3,0xc2ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0fc7[i],opcodelen,0x00,RM_0_3,0xc2ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0fc7[i],opcodelen,0x66,RM_0_3,0x42ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0fc7[i],opcodelen,0x66,RM_0_3,0x42ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0fc7[i],opcodelen,0xf3,RM_0_3,0x40ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0fc7[i],opcodelen,0xf3,RM_0_3,0x40ff);\n\t\t\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0xc6_0xc7[]={\n\t\t0xc6,\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0xc6_0xc7)/sizeof(opcode_0xc6_0xc7[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0xc6_0xc7[i]&0xffff)==0x380f)||((opcode_0xc6_0xc7[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0xc6_0xc7[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0xc6_0xc7[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,0xc6,1,0x00,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,0xc6,1,0x00,RM_0_4,0x1ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,0xc6,1,0x66,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,0xc6,1,0x66,RM_0_4,0x1ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_Normal,0xc7,1,0x00,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_64,0xc7,1,0x00,RM_0_4,0x1ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_Normal,0xc7,1,0x66,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_iz_for_64,0xc7,1,0x66,RM_0_4,0x1ff);\n\n\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\n\tint opcode_0x710f_720f_730f[]={\n\t\t0x710f,0x720f,0x730f,\n\t};\n\tint opcode_0x710f_720f_730f_mask[]={\n\t\t0x54ff,0x54ff,0x44ff,\n\t};\n\tint opcode_0x710f_720f_730f_mask_66[]={\n\t\t0x54ff,0x54ff,0xccff,\n\t};\n\tfor(int i = 0 ; i<sizeof(opcode_0x710f_720f_730f)/sizeof(opcode_0x710f_720f_730f[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0x710f_720f_730f[i]&0xffff)==0x380f)||((opcode_0x710f_720f_730f[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0x710f_720f_730f[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0x710f_720f_730f[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0x710f_720f_730f[i],opcodelen,0x00,RM_4,opcode_0x710f_720f_730f_mask[i]);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0x710f_720f_730f[i],opcodelen,0x00,RM_4,opcode_0x710f_720f_730f_mask[i]);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0x710f_720f_730f[i],opcodelen,0x66,RM_4,opcode_0x710f_720f_730f_mask_66[i]);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0x710f_720f_730f[i],opcodelen,0x66,RM_4,opcode_0x710f_720f_730f_mask_66[i]);\n\t\n\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0xae0f[]={\n\t\t0xae0f,\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0xae0f)/sizeof(opcode_0xae0f[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0xae0f[i]&0xffff)==0x380f)||((opcode_0xae0f[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0xae0f[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0xae0f[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xae0f[i],opcodelen,0x00,RM_0_3,0xbfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xae0f[i],opcodelen,0x00,RM_0_3,0xbfff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xae0f[i],opcodelen,0x66,RM_0_3,0xbfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xae0f[i],opcodelen,0x66,RM_0_3,0xbfff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xae0f[i],opcodelen,0x00,RM_4,0xe0ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xae0f[i],opcodelen,0x00,RM_4,0xe0ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xae0f[i],opcodelen,0x66,RM_4,0xe0ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xae0f[i],opcodelen,0x66,RM_4,0xe0ff);\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0x180f[]={\n\t\t0x180f,\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0x180f)/sizeof(opcode_0x180f[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0x180f[i]&0xffff)==0x380f)||((opcode_0x180f[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0x180f[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0x180f[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0x180f[i],opcodelen,0x00,RM_0_3,0xfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0x180f[i],opcodelen,0x00,RM_0_3,0xfff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0x180f[i],opcodelen,0x66,RM_0_3,0xfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0x180f[i],opcodelen,0x66,RM_0_3,0xfff);\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\tint opcode_0x8f[]={\n\t\t0x8f,\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0x8f)/sizeof(opcode_0x8f[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0x8f[i]&0xffff)==0x380f)||((opcode_0x8f[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0x8f[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0x8f[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\t\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0x8f[i],opcodelen,0x00,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0x8f[i],opcodelen,0x00,RM_0_4,0x1ff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0x8f[i],opcodelen,0x66,RM_0_4,0x1ff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0x8f[i],opcodelen,0x66,RM_0_4,0x1ff);\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n#endif\n\n\tint opcode_0xc0_0xc1[]={\n\t\t0xc0,0xc1,0xd0,0xd1,0xd2,0xd3\n\t};\n\n\tfor(int i = 0 ; i<sizeof(opcode_0xc0_0xc1)/sizeof(opcode_0xc0_0xc1[0]);i++)\n\t{\t\n\t\tchar format[50];\n\t\ttotalsize=0;\n\t\tint opcodelen;\n\t\tif(((opcode_0xc0_0xc1[i]&0xffff)==0x380f)||((opcode_0xc0_0xc1[i]&0xffff)==0x3a0f))\n\t\t{\n\t\t\topcodelen=3;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%06x.exe\");\n\t\t}\n\t\telse if((opcode_0xc0_0xc1[i]&0xff)==0x0f)\n\t\t{\t\n\t\t\topcodelen=2;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%04x.exe\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\topcodelen=1;\n\t\t\tstrcpy(format,\"%s\\\\%s0x%02x.exe\");\n\t\t}\n\t\tsprintf(filename,format,dirname,nameprefix,opcode_0xc0_0xc1[i]);\n\t\tStreamObject* Stream=new CMemoryStream(filename,\"wb\");\n\t\tprintf(\"create %s\\n\",filename);\n\t\tStream->Write(rawdata,512);\n\t\tif(opcode_0xc0_0xc1[i]==0xc0 || opcode_0xc0_0xc1[i]==0xc1)\n\t\t{\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0xc0_0xc1[i],opcodelen,0x00,RM_0_4,0xbfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0xc0_0xc1[i],opcodelen,0x00,RM_0_4,0xbfff);\n\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_Normal,opcode_0xc0_0xc1[i],opcodelen,0x66,RM_0_4,0xbfff);\n\t\tif(mode==WIN_PE64)\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_ib_for_64,opcode_0xc0_0xc1[i],opcodelen,0x66,RM_0_4,0xbfff);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xc0_0xc1[i],opcodelen,0x00,RM_0_4,0xbfff);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xc0_0xc1[i],opcodelen,0x00,RM_0_4,0xbfff);\n\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_Normal,opcode_0xc0_0xc1[i],opcodelen,0x66,RM_0_4,0xbfff);\n\t\t\tif(mode==WIN_PE64)\n\t\t\t\ttotalsize += opcode_creater_2(Stream,OutBinCodeWithPrefix_for_64,opcode_0xc0_0xc1[i],opcodelen,0x66,RM_0_4,0xbfff);\n\n\t\t}\n\t\tStream->Write(&totalsize,4,0x1c8);\t\n\t\tnewvalue=totalsize + 0x1ff -(totalsize+0x1ff)%0x200;\n\t\tStream->Write(&newvalue,4,0x1d0);\n\t\tStream->Write(&newvalue,4,sizecodeoffset);\n\t\tnewvalue=(totalsize+0x1000-1)-(totalsize+0x1000-1)%0x1000+0x1000;\n\t\tStream->Write(&newvalue,4,imagesizeoffset);\n\t\tdelete Stream;\n\t}\n\n\treturn 0;\n}\n\n\n\nint OutBinCodeWithPrefix_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tif(Prefix)\n\t\tTotals+=Stream->Write(&Prefix,1);\n\tTotals+=Stream->Write(Buf,Len);\n\treturn Totals;\n}\n\n\nint OutBinCodeWithPrefix_ib_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned char ibyte[]={0,0x7f,0x80,0xff};\n\tfor(int i=0;i<sizeof(ibyte)/sizeof(ibyte[0]);i++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t\tTotals+=Stream->Write(&ibyte[i],1);\t\n\t}\n\treturn Totals;\n}\n\nint OutBinCodeWithPrefix_iw_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned short iword[]={0,0x7fff,0x8000,0xffff};\n\tfor(int i=0;i<sizeof(iword)/sizeof(iword[0]);i++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t\tTotals+=Stream->Write(&iword[i],2);\t\n\t}\n\treturn Totals;\n}\n\nint OutBinCodeWithPrefix_id_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned int idword[]={0,0x7fffffff,0x80000000,0xffffffff};\n\tfor(int i=0;i<sizeof(idword)/sizeof(idword[0]);i++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t\tTotals+=Stream->Write(&idword[i],4);\t\n\t}\n\treturn Totals;\n}\n\nint OutBinCodeWithPrefix_iz_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned int idword[]={0,0x7fffffff,0x80000000,0xffffffff};\n\tunsigned short iword[]={0,0x7fff,0x8000,0xffff};\n\tfor(int i=0;i<sizeof(idword)/sizeof(idword[0]);i++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t\tif(Prefix==0x66)\n\t\t\tTotals+=Stream->Write(&iword[i],2);\t\n\t\telse\n\t\t\tTotals+=Stream->Write(&idword[i],4);\t\n\t}\n\treturn Totals;\n}\n\nint OutBinCodeWithPrefix_iq_for_Normal(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned __int64 iqword[]={0,0x7fffffffffffffffll,0x8000000000000000ll,0xffffffffffffffffll};\n\tfor(int i=0;i<sizeof(iqword)/sizeof(iqword[0]);i++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t\tTotals+=Stream->Write(&iqword[i],1);\t\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\t\n\tfor(int j=0x40;j<0x50;j++)\n\t{\n\t\tif(Prefix)\n\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\tTotals+=Stream->Write(&j,1);\n\t\tTotals+=Stream->Write(Buf,Len);\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_ib_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned char ibyte[]={0,0x7f,0x80,0xff};\n\tfor(int i=0;i<sizeof(ibyte)/sizeof(ibyte[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tTotals+=Stream->Write(&ibyte[i],1);\n\t\t}\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_iw_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\n\tint Totals=0;\n\tunsigned short iword[]={0,0x7fff,0x8000,0xffff};\n\tfor(int i=0;i<sizeof(iword)/sizeof(iword[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tTotals+=Stream->Write(&iword[i],2);\n\t\t}\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_id_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned int idword[]={0,0x7fffffff,0x80000000,0xffffffff};\n\tfor(int i=0;i<sizeof(idword)/sizeof(idword[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tTotals+=Stream->Write(&idword[i],4);\n\t\t}\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_iq_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned __int64 iqword[]={0,0x7fffffffffffffffll,0x8000000000000000ll,0xffffffffffffffffll};\n\tfor(int i=0;i<sizeof(iqword)/sizeof(iqword[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tTotals+=Stream->Write(&iqword[i],8);\n\t\t}\n\t}\n\treturn Totals;\n}\nint OutBinCodeWithPrefix_iz_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned int idword[]={0,0x7fffffff,0x80000000,0xffffffff};\n\tunsigned short iword[]={0,0x7fff,0x8000,0xffff};\n\tfor(int i=0;i<sizeof(idword)/sizeof(idword[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tif(j<0x48)\n\t\t\t{\n\t\t\t\tif (Prefix==0x66)\n\t\t\t\t\tTotals+=Stream->Write(&iword[i],2);\n\t\t\t\telse\n\t\t\t\t\tTotals+=Stream->Write(&idword[i],4);\n\t\t\t}\n\t\t\telse\n\t\t\t\tTotals+=Stream->Write(&idword[i],4);\n\t\t}\n\t}\n\treturn Totals;\n}\n\nint OutBinCodeWithPrefix_iv_for_64(CStream* Stream,unsigned char *Buf,int Len,int Prefix)\n{\n\tint Totals=0;\n\tunsigned __int64 iqword[]={0,0x7fffffffffffffffll,0x8000000000000000ll,0xffffffffffffffffll};\n\tunsigned int idword[]={0,0x7fffffff,0x80000000,0xffffffff};\n\tunsigned short iword[]={0,0x7fff,0x8000,0xffff};\n\tfor(int i=0;i<sizeof(idword)/sizeof(idword[0]);i++)\n\t{\n\t\tfor(int j=0x40;j<0x50;j++)\n\t\t{\n\t\t\tif(Prefix)\n\t\t\t\tTotals+=Stream->Write(&Prefix,1);\n\t\t\tTotals+=Stream->Write(&j,1);\n\t\t\tTotals+=Stream->Write(Buf,Len);\n\t\t\tif(j<0x48)\n\t\t\t{\n\t\t\t\tif (Prefix==0x66)\n\t\t\t\t\tTotals+=Stream->Write(&iword[i],2);\n\t\t\t\telse\n\t\t\t\t\tTotals+=Stream->Write(&idword[i],4);\n\t\t\t}\n\t\t\telse\n\t\t\t\tTotals+=Stream->Write(&iqword[i],8);\n\t\t}\n\t}\n\treturn Totals;\n}\n\nint opcode_creater_without_rm(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix)\n{\n\tunsigned char Buf[16];\n\tint Len=0;\n\tchar* pOpcode=(char*)&Opcode;\n\tchar OpcodeArray[4]={pOpcode[0],pOpcode[1],pOpcode[2],pOpcode[3]};\n\tunsigned long totals=0;\n\tif(OpcodeLen>4)\n\t\treturn 0;\n\t\n\tfor(int ii = 0; ii < OpcodeLen;ii++)\n\t{\n\t\tBuf[Len++]=OpcodeArray[ii];\n\t}\n\tBuf[OpcodeLen]=0;\n\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\tBuf[OpcodeLen]=0x7f;\n\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\tBuf[OpcodeLen]=0x80;\n\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\tBuf[OpcodeLen]=0xff;\n\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\n\treturn totals;\n}\n\nint opcode_creater_without_rm_iw(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix)\n{\n\tunsigned char Buf[16];\n\tint Len=0;\n\tchar* pOpcode=(char*)&Opcode;\n\tchar OpcodeArray[4]={pOpcode[0],pOpcode[1],pOpcode[2],pOpcode[3]};\n\tunsigned long totals=0;\n\tif(OpcodeLen>4)\n\t\treturn 0;\n\t\n\tfor(int ii = 0; ii < OpcodeLen;ii++)\n\t{\n\t\tBuf[Len++]=OpcodeArray[ii];\n\t}\n\t*(int*)&Buf[OpcodeLen]=0;\n\ttotals+=OutputFunction(Stream,Buf,Len+2,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0x7fff;\n\ttotals+=OutputFunction(Stream,Buf,Len+2,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0x8000;\n\ttotals+=OutputFunction(Stream,Buf,Len+2,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0xffff;\n\ttotals+=OutputFunction(Stream,Buf,Len+2,Prefix);\n\n\treturn totals;\n}\n\nint opcode_creater_without_rm_id(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix)\n{\n\tunsigned char Buf[16];\n\tint Len=0;\n\tchar* pOpcode=(char*)&Opcode;\n\tchar OpcodeArray[4]={pOpcode[0],pOpcode[1],pOpcode[2],pOpcode[3]};\n\tunsigned long totals=0;\n\tif(OpcodeLen>4)\n\t\treturn 0;\n\t\n\tfor(int ii = 0; ii < OpcodeLen;ii++)\n\t{\n\t\tBuf[Len++]=OpcodeArray[ii];\n\t}\n\t*(int*)&Buf[OpcodeLen]=0;\n\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0x7fffffff;\n\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0x80000000;\n\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t*(int*)&Buf[OpcodeLen]=0xffffffff;\n\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\n\treturn totals;\n}\n\nint opcode_creater(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix,int defaulttype)\n{\n\tunsigned char Buf[16];\n\tint Mod;\n\tint Reg;\n\tint Rm;\n\tint ModRM;\n\tint Scaled;\n\tint Index;\n\tint Base;\n\tint Sib;\n\tint Len=0;\n\tint EndMod;\n\tchar* pOpcode=(char*)&Opcode;\n\tchar OpcodeArray[4]={pOpcode[0],pOpcode[1],pOpcode[2],pOpcode[3]};\n\tunsigned long totals=0;\n\n\tif(OpcodeLen>4)\n\t\treturn 0;\n\t\n\tfor(int ii = 0; ii < OpcodeLen;ii++)\n\t{\n\t\tBuf[Len++]=OpcodeArray[ii];\n\t}\n\tswitch(defaulttype)\n\t{\n\tcase RM_0_4:\n\t\tMod=0;\n\t\tEndMod=4;\n\t\tbreak;\n\tcase RM_0_3:\n\t\tMod=0;\n\t\tEndMod=3;\n\t\tbreak;\n\tcase RM_4:\n\t\tMod=3;\n\t\tEndMod=4;\n\t\tbreak;\n\t}\n\t\n\tfor(;Mod<EndMod;Mod++)\n\t{\n\t\tfor(Reg=0;Reg<8;Reg++)\n\t\t{\n\t\t\tfor(Rm=0;Rm<8;Rm++)\n\t\t\t{\n\t\t\t\tLen=OpcodeLen;\n\t\t\t\tModRM=Rm+(Reg<<3)+(Mod<<6);\n\t\t\t\tBuf[Len++]=ModRM;\n\n\t\t\t\tif(Rm==4 && Mod!=3)\n\t\t\t\t{\n\t\t\t\t\tfor(Scaled=0;Scaled<4;Scaled++)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor(Base=0;Base<8;Base++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor(Index=0;Index<8;Index++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tLen=OpcodeLen+1;\n\t\t\t\t\t\t\t\tSib=Base+(Index<<3)+(Scaled<<6);\n\t\t\t\t\t\t\t\tBuf[Len++]=Sib;\t\n\t\t\t\t\t\t\t\tswitch(Mod)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\tif(Base==5)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t\t\tBuf[Len]=0;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tBuf[Len]=0x7f;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\t\t\n\t\t\t\t\t\t\t\t\tBuf[Len]=0x80;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tBuf[Len]=0xff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}//switch\n\t\t\t\t\t\t\t}//Base\n\t\t\t\t\t\t}//Index\n\t\t\t\t\t}//Scaled\n\n\t\t\t\t}\n\t\t\t\telse //if(Rm==4 && Mod!=3)\n\t\t\t\t{\n\t\t\t\t\tswitch(Mod)\n\t\t\t\t\t{\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif(Rm==5)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x8000000;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x8fffffff;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tBuf[Len]=0;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tBuf[Len]=0x7f;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\t\t\n\t\t\t\t\t\tBuf[Len]=0x80;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tBuf[Len]=0xff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn totals;\n}\n\nint opcode_creater_2(CStream* Stream,OUTPUT_BIN_FP OutputFunction,int Opcode,int OpcodeLen,int Prefix,int defaulttype,unsigned int mask)\n{\n\tunsigned char Buf[16];\n\tint Mod;\n\tint Reg;\n\tint Rm;\n\tint ModRM;\n\tint Scaled;\n\tint Index;\n\tint Base;\n\tint Sib;\n\tint Len=0;\n\tint EndMod;\n\tchar* pOpcode=(char*)&Opcode;\n\tchar OpcodeArray[4]={pOpcode[0],pOpcode[1],pOpcode[2],pOpcode[3]};\n\tunsigned long totals=0;\n\tunsigned char maskvalue[]={1,2,4,8,16,32,64,128};\n\tunsigned int regmask=(mask>>8);\n\tunsigned int rmmask=mask&0xff;\n\t\n\tif(OpcodeLen>4)\n\t\treturn 0;\n\t\n\tfor(int ii = 0; ii < OpcodeLen;ii++)\n\t{\n\t\tBuf[Len++]=OpcodeArray[ii];\n\t}\n\tswitch(defaulttype)\n\t{\n\tcase RM_0_4:\n\t\tMod=0;\n\t\tEndMod=4;\n\t\tbreak;\n\tcase RM_0_3:\n\t\tMod=0;\n\t\tEndMod=3;\n\t\tbreak;\n\tcase RM_4:\n\t\tMod=3;\n\t\tEndMod=4;\n\t\tbreak;\n\t}\n\t\n\tfor(;Mod<EndMod;Mod++)\n\t{\n\t\tfor(Reg=0;Reg<8;Reg++)\n\t\t{\n\t\t\tif((maskvalue[Reg]&regmask)==0)\n\t\t\t\tcontinue;\n\t\t\tfor(Rm=0;Rm<8;Rm++)\n\t\t\t{\n\t\t\t\tif((maskvalue[Rm]&rmmask)==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tLen=OpcodeLen;\n\t\t\t\tModRM=Rm+(Reg<<3)+(Mod<<6);\n\t\t\t\tBuf[Len++]=ModRM;\n\n\t\t\t\tif(Rm==4 && Mod!=3)\n\t\t\t\t{\n\t\t\t\t\tfor(Scaled=0;Scaled<4;Scaled++)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor(Base=0;Base<8;Base++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfor(Index=0;Index<8;Index++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tLen=OpcodeLen+1;\n\t\t\t\t\t\t\t\tSib=Base+(Index<<3)+(Scaled<<6);\n\t\t\t\t\t\t\t\tBuf[Len++]=Sib;\t\n\t\t\t\t\t\t\t\tswitch(Mod)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t\t\tif(Base==5)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t\t\tBuf[Len]=0;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tBuf[Len]=0x7f;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\t\t\n\t\t\t\t\t\t\t\t\tBuf[Len]=0x80;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tBuf[Len]=0xff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 2:\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\tcase 3:\n\t\t\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}//switch\n\t\t\t\t\t\t\t}//Base\n\t\t\t\t\t\t}//Index\n\t\t\t\t\t}//Scaled\n\n\t\t\t\t}\n\t\t\t\telse //if(Rm==4 && Mod!=3)\n\t\t\t\t{\n\t\t\t\t\tswitch(Mod)\n\t\t\t\t\t{\n\t\t\t\t\tcase 0:\n\t\t\t\t\t\tif(Rm==5)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x8000000;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t\t*(int*)(Buf+Len)=0x8fffffff;\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tBuf[Len]=0;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tBuf[Len]=0x7f;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\t\t\n\t\t\t\t\t\tBuf[Len]=0x80;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tBuf[Len]=0xff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+1,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\t*(int*)(Buf+Len)=0;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0x7fffffff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0x80000000;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\t*(int*)(Buf+Len)=0xffffffff;\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len+4,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\ttotals+=OutputFunction(Stream,Buf,Len,Prefix);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn totals;\n}\n\n//    Generated by Webtools from Websense's STR\n//    Made by Yanfeng Wu\n//    http://sbjstrweb/test_upload.html\n\n//    Source File: nullproj.exe\n//           Time: 2010-08-27 08:54\n//   Orig. Offset: 0 / 00000000\n//         Length: 1024 / 00000400 (bytes)\n\nunsigned char grawData_pe64[512]=\n{\n\t0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, \n\t0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, \n\t0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, \n\t0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, \n\t0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, \n\t0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x13, 0x65, 0xF6, 0xD8, 0x57, 0x04, 0x98, 0x8B, 0x57, 0x04, 0x98, 0x8B, 0x57, 0x04, 0x98, 0x8B, \n\t0x5E, 0x7C, 0x11, 0x8B, 0x55, 0x04, 0x98, 0x8B, 0x5E, 0x7C, 0x09, 0x8B, 0x56, 0x04, 0x98, 0x8B, \n\t0x52, 0x69, 0x63, 0x68, 0x57, 0x04, 0x98, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x01, 0x00, \n\t0x7A, 0x6C, 0x77, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x23, 0x00, \n\t0x0B, 0x02, 0x09, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x81, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, \n\t0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t\n} ;\n\n\n// Generated by BreakPoint Software's Hex Workshop v4.20\n//   http://www.hexworkshop.com\n//   http://www.bpsoft.com\n//\n//  Source File: nullprj.exe\n//         Time: 2010-8-30 21:20\n// Orig. Offset: 0 / 0x00000000\n//       Length: 512 / 0x00000200 (bytes)\nunsigned char grawData_pe32[512] =\n{\n\t0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, \n\t0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, \n\t0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD, 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, \n\t0x69, 0x73, 0x20, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F, \n\t0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20, 0x44, 0x4F, 0x53, 0x20, \n\t0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x01, 0x75, 0x15, 0xD9, 0x45, 0x14, 0x7B, 0x8A, 0x45, 0x14, 0x7B, 0x8A, 0x45, 0x14, 0x7B, 0x8A, \n\t0x4C, 0x6C, 0xFF, 0x8A, 0x44, 0x14, 0x7B, 0x8A, 0x4C, 0x6C, 0xEA, 0x8A, 0x44, 0x14, 0x7B, 0x8A, \n\t0x52, 0x69, 0x63, 0x68, 0x45, 0x14, 0x7B, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, \n\t0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x50, 0x45, 0x00, 0x00, 0x4C, 0x01, 0x01, 0x00, \n\t0x32, 0xAF, 0x7B, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x03, 0x01, \n\t0x0B, 0x01, 0x09, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, \n\t0x00, 0x10, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x85, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, \n\t0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0x16, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, \n\t0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n} ;\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/FileType.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"FileType.h\"\n\n\nDWORD CFileType::GetFileType()\n{\n\tPE_HEAD PEHead;\n\tWORD  wFlag;\n\tDWORD Offset,Result = FILE_TYPE_BIN;\n\tReadFile(0,&wFlag,2);\n\tif(wFlag == 0x4D5A || wFlag == 0x5A4D)\n\t\tResult = FILE_TYPE_MZ;\n\tif(Result == FILE_TYPE_MZ)\n\t{\n\t\tif(ReadFile(0x3C,&Offset,4))\n\t\t{\n\t\t\tif(ReadFile(Offset,&PEHead,sizeof(PEHead)))\n\t\t\t{\n\t\t\t\tif(PEHead.Signature == 0x4550)\n\t\t\t\t\tResult = FILE_TYPE_PE;\n\t\t\t\tif(PEHead.Signature == 0x454E)\n\t\t\t\t\tResult = FILE_TYPE_NE;\n\t\t\t}\n\t\t\tif(Result == FILE_TYPE_PE && (PEHead.Characteristics & IMAGE_FILE_DLL))\n\t\t\t\tResult = FILE_TYPE_PE_DLL;\n\t\t\tif(Result == FILE_TYPE_PE && (PEHead.Subsystem & IMAGE_FILE_DLL))\n\t\t\t\tResult = FILE_TYPE_PE_SYS;\n\t\t}\n\t}\n\treturn Result;\n}\n\nbool CFileType::IsMaybePEUnpackSelfFile(DWORD MaxUnpackSize,bool bExcludeDll)\n{\n\tPE_HEAD PEHead;\n\tDWORD Offset;\n\tPE_SECTION Section;\n\tWORD  wFlag;\n\tReadFile(0,&wFlag,2);\n\tif(wFlag != 0x4D5A && wFlag != 0x5A4D)\n\t\treturn false;\n\tif(!ReadFile(0x3C,&Offset,4))\n\t\treturn false;\n\tif(!ReadFile(Offset,&PEHead,sizeof(PEHead)))\n\t\treturn false;\n\tBIG_ENDIAN_DWORD(PEHead.Signature);\n\tif(PEHead.Signature != 0x4550)\n\t\treturn false;\n\tBIG_ENDIAN_WORD(PEHead.Characteristics);\n\tif(bExcludeDll && (PEHead.Characteristics & IMAGE_FILE_DLL))\n\t\treturn false;\n\tBIG_ENDIAN_DWORD(PEHead.SizeOfOptionalHeader);\n\tif(!ReadFile(PEHead.SizeOfOptionalHeader+Offset+0x18,&Section,sizeof(PE_SECTION)))\n\t\treturn false;\n\tBIG_ENDIAN_DWORD(Section.Characteristics);\n\tif((Section.Characteristics & IMAGE_SCN_MEM_WRITE)==0)\n\t\treturn false;\n\tBIG_ENDIAN_DWORD(PEHead.SizeOfImage);\n\tif(PEHead.SizeOfImage>MaxUnpackSize)\n\t\treturn false;\n\treturn true;\n}\n\nbool CFileType::IsUPXFile(CPEFile*pPEFile)\n{\n\tULPOS FilePos;\n\tBYTE Buffer[0x10];\n\tif(pPEFile->MapToFile(pPEFile->m_EntryPoint,&FilePos)==false)\n\t\treturn false;\n\tif(pPEFile->ReadFile(FilePos,Buffer,sizeof(Buffer))==false)\n\t\treturn false;\n\treturn Buffer[0x0] == 0x60 && Buffer[0x1] == 0xBE &&Buffer[0x6] == 0x8D &&Buffer[0xC] == 0x57;\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/FileType.h",
    "content": "#ifndef _FILE_TYPE_H_\n#define _FILE_TYPE_H_\n\n\nclass CFileType : public CImageFile  \n{\npublic:\n\tDWORD\tGetFileType();\n\tbool\tIsMaybePEUnpackSelfFile(DWORD MaxUnpackSize,bool bExcludeDll = true);\n\tstatic\tbool\tIsUPXFile(CPEFile*pPEFile);\n};\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/InstrSym.cpp",
    "content": "// InstrSym.cpp: implementation of the CInstrSym class.\n//\n//////////////////////////////////////////////////////////////////////\n#include \"StdAfx.h\"\n#include \"InstrSym.h\"\n\n//////////////////////////////////////////////////////////////////////\n// Construction/Destruction\n//////////////////////////////////////////////////////////////////////\n#define MAX_PREV_INSTR_LEN\t\tMAX_INSTR_LEN*2\n\nPCWSTR CInstrSym::m_RegStr[3][16]=\n{\n\tWSTR(\"AX\"),WSTR(\"CX\"),WSTR(\"DX\"),WSTR(\"BX\"),WSTR(\"SP\"),WSTR(\"BP\"),WSTR(\"SI\"),WSTR(\"DI\"),\n\tWSTR(\"R8W\"),WSTR(\"R9W\"),WSTR(\"R10W\"),WSTR(\"R11W\"),WSTR(\"R12W\"),WSTR(\"R13W\"),WSTR(\"R14W\"),WSTR(\"R15W\"),\n\tWSTR(\"EAX\"),WSTR(\"ECX\"),WSTR(\"EDX\"),WSTR(\"EBX\"),WSTR(\"ESP\"),WSTR(\"EBP\"),WSTR(\"ESI\"),WSTR(\"EDI\"),\n\tWSTR(\"R8D\"),WSTR(\"R9D\"),WSTR(\"R10D\"),WSTR(\"R11D\"),WSTR(\"R12D\"),WSTR(\"R13D\"),WSTR(\"R14D\"),WSTR(\"R15D\"),\n\tWSTR(\"RAX\"),WSTR(\"RCX\"),WSTR(\"RDX\"),WSTR(\"RBX\"),WSTR(\"RSP\"),WSTR(\"RBP\"),WSTR(\"RSI\"),WSTR(\"RDI\"),\n\tWSTR(\"R8\"),WSTR(\"R9\"),WSTR(\"R10\"),WSTR(\"R11\"),WSTR(\"R12\"),WSTR(\"R13\"),WSTR(\"R14\"),WSTR(\"R15\")\n};\nPCWSTR CInstrSym::m_ScaleStr[4]=\n{\n\tWSTR(\"1\"),WSTR(\"2\"),WSTR(\"4\"),WSTR(\"8\")\n};\nPCWSTR CInstrSym::m_SizePtr[9]=\n{\n\tWSTR(\"Err\"),WSTR(\"%02X\"),WSTR(\"%04X\"),WSTR(\"Err\"),WSTR(\"%08X\"),WSTR(\"Err\"),WSTR(\"Err\"),WSTR(\"Err\"),WSTR(\"%16I64X\")\n};\nPCWSTR CInstrSym::m_SizeSym[11]=\n{\n\tWSTR(\"\"),WSTR(\"BYTE\"),WSTR(\"WORD\"),WSTR(\"\"),WSTR(\"DWORD\"),WSTR(\"\"),WSTR(\"FWORD\"),WSTR(\"\"),WSTR(\"QWORD\"),WSTR(\"\"),WSTR(\"TWORD\")\n};\nPCWSTR CInstrSym::m_SegStr[6]=\n{\n\tWSTR(\"ES\"),WSTR(\"CS\"),WSTR(\"SS\"),WSTR(\"DS\"),WSTR(\"FS\"),WSTR(\"GS\")\n};\nPCWSTR CInstrSym::m_LengthStr[5]=\n{\n\tWSTR(\"DB\"),WSTR(\"DB\"),WSTR(\"DW\"),WSTR(\"Err\"),WSTR(\"DD\")\n};\nPCWSTR CInstrSym::m_DefaultOPSize[2]=\n{\n\tWSTR(\"%04X\"),WSTR(\"%08X\")\n};\n\nPCSTR CInstrSym::m_TransDesInst[]=\n{\n\t\"CALL\",\n\t\"JMP\",\n\tNULL\n};\n\nPCWSTR CInstrSym::m_UnReaded=WSTR(\"????????\");\n\n\n#define UxAlign\t\t6\n\nWCHAR*OptItemToStr(OPERAND_ITEM*OpArray,int nOp,WCHAR*pString,INSTRUCTION_INFORMATION*pDasmInstr)\n{\n\tDIS_ADDRESS*pAddr;\n\tOPERAND_ITEM*pOp;\n\tWCHAR szBuffer[32];\n\tfor(int n=0;n<nOp;n++)\n\t{\n\t\tpOp=&OpArray[n];\n\t\tif(pOp->mode==mode_invalid)\n\t\t\tbreak;\n\t\tif(n>0)\n\t\t{//\n\t\t\tpString+=TStrCpy(pString,\",\");\n\t\t}\n\t\tif(pOp->mode==mode_address)\n\t\t{//ַṹ\n\t\t\tpAddr=(DIS_ADDRESS*)&pOp->addr;\n\t\t\t//if(pDasmInstr->xxxxptr!=-1)\n\t\t\t{\n\t\t\t\tpString+=TStrCpy(pString,\",\");\n\t\t\t\tif(pOp->opersize!=-1)\n\t\t\t\t{\n\t\t\t\t\t\tpString+=TStrCpy(pString,CInstrSym::m_SizeSym[pOp->opersize]);\n\t\t\t\t\t\tpString+=TStrCpy(pString,\" PTR \");\n\t\t\t\t}\n\n\t\t\t}\n\t\t\tif(pDasmInstr->SegmentPrefix!=-1)\n\t\t\t{\n\t\t\t\tpString+=TStrCpy(pString,CInstrSym::m_SegStr[pDasmInstr->SegmentPrefix]);\n\t\t\t\tpString+=TStrCpy(pString,\":\");\n\t\t\t}\n\t\t\tpString+=TStrCpy(pString,\"[\");\n\t\t\tif(pAddr->base!=-1)//BaseĴ\n\t\t\t{\n\t\t\t\tpString+=TStrCpy(pString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->base]);\n\t\t\t}\n\t\t\tif(pAddr->index!=-1)//IndexĴ\n\t\t\t{\n\t\t\t\tif(pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tpString+=TStrCpy(pString,\"+\");\n\t\t\t\t}\n\t\t\t\tpString+=TStrCpy(pString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->index]);\n\t\t\t\tif(pAddr->scale>1)\n\t\t\t\t{\n\t\t\t\t\tpString+=TStrCpy(pString,\"*\");\n\t\t\t\t\tpString+=TStrCpy(pString,CInstrSym::m_ScaleStr[pAddr->scale]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(pAddr->displacement || (pAddr->base==-1 && pAddr->index==-1))\n\t\t\t{//displacement\n\t\t\t\tif(pAddr->index!=-1 || pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tpString+=TStrCpy(pString,\"+\");\n\t\t\t\t}\n\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pAddr->displacement_size],pAddr->displacement);\n\t\t\t\tpString+=TStrCpy(pString,szBuffer);\n\t\t\t}\n\t\t\tpString+=TStrCpy(pString,\"]\");\n\t\t}\n\t\telse\n\t\t\tswitch(pOp->mode)\n\t\t{\n\t\t\tcase mode_register:\n\t\t\t\tpString+=TStrCpy(pString,pOp->string);\n\t\t\t\tbreak;\n\t\t\tcase mode_segment:\n\t\t\t\tpString+=TStrCpy(pString,pOp->string);\n\t\t\t\tbreak;\n\t\t\tcase mode_far:\n\t\t\t\tTSPrintf(szBuffer,WSTR(\"%04X\"),pOp->farptr.segment);\n\t\t\t\tpString+=TStrCpy(pString,szBuffer);\n\t\t\t\tpString+=TStrCpy(pString,WSTR(\":\"));\n\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pOp->opersize-2],pOp->farptr.offset);\n\t\t\t\tpString+=TStrCpy(pString,szBuffer);\n\t\t\t\tbreak;\n\t\t\tcase mode_near:\n\t\t\tcase mode_immed:\n\t\t\t\tpString+=TStrCpy(pString,pOp->string);\n\t\t\t\tbreak;\n\t\t\tcase mode_datadup:\n\t\t\t\tif(n>0)\n\t\t\t\t\tbreak;\n\t\t\t\tfor(n=0;n<pOp->datadup.count;n++)\n\t\t\t\t{\n\t\t\t\t\tif(n>0)\n\t\t\t\t\t{\n\t\t\t\t\t\tpString+=TStrCpy(pString,WSTR(\",\"));\n\t\t\t\t\t}\n\t\t\t\t\tTSPrintf(szBuffer,WSTR(\"%02X\"),pOp->datadup.buffer[n]);\n\t\t\t\t\tpString+=TStrCpy(pString,szBuffer);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase mode_symbol:\n\t\t\t\tif(pOp->symbol.offset)\n\t\t\t\t{\n\t\t\t\t\tpString+=TStrCpy(pString,WSTR(\"OFFSET \"));\n\t\t\t\t}\n\t\t\t\tpString+=TStrCpy(pString,pOp->symbol.string);\n\t\t\t\tbreak;\n\t\t\tcase mode_align:\n\t\t\t\tif(n>0)\n\t\t\t\t\tbreak;\n\t\t\t\tTSPrintf(szBuffer,WSTR(\"%X\"),pOp->align.nBytes);\n\t\t\t\tpString+=TStrCpy(pString,szBuffer);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn pString;\n}\n\nWCHAR* InstrToStr(INSTRUCTION_INFORMATION*pDasmInstr,WCHAR*pString)\n{\n\tbool bFirstStr = TRUE;\n\t///////////////////////////////////////////////////\n\t//LOCKǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Lock!=-1)\n\t{\n\t\tTStrCpy(pString,pDasmInstr->LockName);\n\t\tTStrCat(pString,\" \");\n\t\tif(bFirstStr)//ڴδʹö\n\t\t{\t\t\t\n\t\t\tpString+=TStrFillTail(pString,UxAlign,WSTR(' '));\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpString+=TStrLen(pString);\n\t}\n\t///////////////////////////////////////////////////\n\t//REPǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Repeat!=-1)\n\t{\n\t\tTStrCpy(pString,pDasmInstr->RepeatName);\n\t\tTStrCat(pString,\" \");\n\t\tif(bFirstStr)\n\t\t{\n\t\t\tpString+=TStrFillTail(pString,UxAlign,WSTR(' '));\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpString+=TStrLen(pString);\n\t\tpString+=TStrLen(pString);\n\t}\n\t///////////////////////////////////////////////////\n\t//OPCODE\n\t///////////////////////////////////////////////////\n\tTStrCpy(pString,pDasmInstr->Name);\n\tTStrCat(pString,\" \");\n\tif(*pDasmInstr->Name && bFirstStr)//ڴδʹö\n\t{\n\t\tpString+=TStrFillTail(pString,UxAlign,WSTR(' '));\n\t\tbFirstStr = FALSE;\n\t}\n\telse\n\t\tpString+=TStrLen(pString);\n\t///////////////////////////////////////////////////\n\t//Ԫ\n\t///////////////////////////////////////////////////\n\treturn OptItemToStr(pDasmInstr->op,3,pString,pDasmInstr);\n}\n\n\nCInstrSym::CInstrSym()\n{\n\tm_bUseSym=TRUE;\n\tm_UxAlign=6;\n\tm_Mode = BIT32;\n\tm_Style=DS_USE_SYM|DS_JMP_API;\n}\n\nCInstrSym::~CInstrSym()\n{\n}\n\nbool CInstrSym::AddrToSym(ULPOS Address,PSTR szSym,int BufSize)\n{\n\treturn false;\n}\n\nULSIZE CInstrSym::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tfor(ULPOS n=0;n<Size;n++)\n\t{\n\t\tPUT_BYTE(Buffer,n,(BYTE)(Address+n));\n\t}\n\treturn Size;\n}\n\n\nULSIZE CInstrSym::Asm(LPSTR InstString,PBYTE OutPutCode,ULPOS EIP)\n{\n\treturn Assembler(InstString,OutPutCode,EIP,m_Mode);\n}\n\nvoid CInstrSym::HandleAddressOp(OPERAND_ITEM*pOp,WCHAR* szInfo,INSTRUCTION_INFORMATION*pInstrInfo)\n{\n\tint Size;\n\tCHAR szSym[MAX_LONG_NAME_LEN];\n\tDWORD Data;\n\tszInfo=OptItemToStr(pOp,1,szInfo,pInstrInfo);\n\tszInfo+=TStrCpy(szInfo,\" = \");\n\tif(pOp->addr.base!=-1 || pOp->addr.index!=-1 || pInstrInfo->SegmentPrefix!=-1)\n\t{\n\t\tszInfo+=TStrCpy(szInfo,\"[\");\n\t\tszInfo+=TSPrintf(szInfo,CInstrSym::m_DefaultOPSize[pInstrInfo->CodeMode],pOp->addr.line_address);\n\t\tszInfo+=TStrCpy(szInfo,\"] = \");\n\t}\n\tSize = pOp->opersize;\n\tif(Size<=0 || Size>4)\n\t\tSize = 4;\n\tData = 0;\n\tif(ReadMemory((ULPOS)pOp->addr.line_address,&Data,Size)!=Size)\n\t{\n\t\tszInfo+=TStrCpy(szInfo,\"????\");\n\t\treturn;\n\t}\n\tszInfo+=TSPrintf(szInfo,CInstrSym::m_SizePtr[Size],Data);\n\tif(AddrToSym(Data,szSym,sizeof(szSym)/sizeof(WCHAR)))\n\t{\n\t\tszInfo+=TStrCpy(szInfo,\" = \");\n\t\tTStrCpy(szInfo,szSym);\n\t}\n}\n\n\n\nULSIZE CInstrSym::Dasm(INSTRUCTION_INFORMATION*pDasmInstr,DIS_CPU*pDisCPU,ULSIZE MaxSize)\n{\n\tULPOS Address;\n\tULSIZE CodeLen,RDSize;\n\tRDSize = ReadMemory(pDasmInstr->eip,pDasmInstr->CodeBuff,MAX_INSTR_LEN);\n\tif(RDSize==0)\n\t{\n\t\tpDasmInstr->OpCode=-1;\n\t\tstrcpy(pDasmInstr->Name,\"???\");\n\t\tpDasmInstr->Lock =-1;\n\t\tpDasmInstr->Repeat=-1;\n\t\tpDasmInstr->SegmentPrefix=-1;\n\t\tpDasmInstr->op[0].mode=mode_invalid;\n\t\tpDasmInstr->op[1].mode=mode_invalid;\n\t\tpDasmInstr->op[2].mode=mode_invalid;\n\t\treturn 0;\n\t}\n\tif(RDSize > MaxSize)\n\t\tRDSize = MaxSize;\n\tCodeLen=Disassembler(pDasmInstr,pDisCPU);\n\tif(CodeLen==0 || CodeLen>RDSize)\n\t{\n\t\tif(CodeLen>RDSize)\n\t\t\tCodeLen=RDSize;\n\t\tpDasmInstr->OpCode=-1;\n\t\tstrcpy(pDasmInstr->Name,\"DB\");\n\t\tpDasmInstr->Lock=-1;\n\t\tpDasmInstr->Repeat=-1;\n\t\tpDasmInstr->SegmentPrefix=-1;\n\t\tpDasmInstr->op[1].mode=mode_invalid;\n\t\tpDasmInstr->op[2].mode=mode_invalid;\n\t\tpDasmInstr->op[0].mode=mode_datadup;\n\t\tpDasmInstr->op[0].datadup.count=1;\n\t\tif(1 && pDasmInstr->CodeBuff)\n\t\t\tmemcpy(pDasmInstr->op[0].datadup.buffer,pDasmInstr->CodeBuff,1);\n\t\treturn 0;\n\t}\n\tif((m_Style & DS_USE_SYM) ==0)\n\t\treturn CodeLen;\n\tif((_GET_WORD(pDasmInstr->CodeBuff)==0x15FF)||(_GET_WORD(pDasmInstr->CodeBuff)==0x25FF))\n\t{\n\t\tRDSize = ReadMemory(_GET_DWORD(&pDasmInstr->CodeBuff[2]),&Address,sizeof(Address));\n\t\tif(RDSize==sizeof(Address))\n\t\t{\n\t\t\tif(AddrToSym(Address,pDasmInstr->op[0].symbol.string,MAX_SYMBOL_LEN))\n\t\t\t{\n\t\t\t\tpDasmInstr->op->symbol.mode = pDasmInstr->op[0].mode;\n\t\t\t\tpDasmInstr->op->mode=mode_symbol;\n\t\t\t\tpDasmInstr->op->symbol.offset = FALSE;\n\t\t\t\tpDasmInstr->op->symbol.addr = Address;\n\t\t\t\treturn CodeLen;\n\t\t\t}\n\t\t}\n\t}\n\tif((m_Style & DS_JMP_API) && TStrCmp(pDasmInstr->Name,\"CALL\")==0)\n\t{//Call API\n\t\tif(pDasmInstr->op->mode == mode_near)\n\t\t{\n\t\t\tUINT OldStyle;\n\t\t\tBYTE Buffer[MAX_INSTR_LEN];\n\t\t\tINSTRUCTION_INFORMATION DasmInstr;\n\t\t\tDasmInstr.pasm = NULL;\n\t\t\tDasmInstr.CodeMode = pDasmInstr->CodeMode;\n\t\t\tDasmInstr.eip = (DWORD)pDasmInstr->op->nearptr.label ;\n\t\t\tDasmInstr.CodeBuff = Buffer;\n\t\t\tOldStyle = m_Style;\n\t\t\tm_Style &= ~DS_JMP_API;\n\t\t\tDasm(&DasmInstr);\n\t\t\tm_Style = OldStyle;\n\t\t\tif((_GET_WORD(DasmInstr.CodeBuff)==0x15FF)||(_GET_WORD(DasmInstr.CodeBuff)==0x25FF)||(_GET_BYTE(DasmInstr.CodeBuff)==0xE9)\n\t\t\t\t&& DasmInstr.op->mode ==mode_symbol)\n\t\t\t{\n\t\t\t\tTStrCpy(pDasmInstr->op->symbol.string,DasmInstr.op->symbol.string);\n\t\t\t\tpDasmInstr->op->symbol.mode = pDasmInstr->op->mode;\n\t\t\t\tpDasmInstr->op->mode=mode_symbol;\n\t\t\t\tpDasmInstr->op->symbol.offset=FALSE;\n\t\t\t\tpDasmInstr->op->symbol.addr = DasmInstr.op->symbol.addr;\n\t\t\t\treturn CodeLen;\n\t\t\t}\n\t\t}\t\t\n\t}\n\tfor(int n=0;n<3;n++)\n\t{\n\t\tif(pDasmInstr->op[n].mode == mode_immed)\n\t\t{\n\t\t\tAddress = (ULPOS)pDasmInstr->op[n].immed.immed_value;\n\t\t\tif(AddrToSym(Address,pDasmInstr->op[n].symbol.string,MAX_SYMBOL_LEN))\n\t\t\t{\n\t\t\t\tpDasmInstr->op[n].symbol.mode = pDasmInstr->op[n].mode;\n\t\t\t\tpDasmInstr->op[n].mode=mode_symbol;\n\t\t\t\tpDasmInstr->op[n].symbol.offset = TRUE;\n\t\t\t\tpDasmInstr->op[n].symbol.addr = Address;\n\t\t\t}\n\t\t}\n\t\telse if(pDasmInstr->op[n].mode == mode_near)\n\t\t{\n\t\t\tAddress = pDasmInstr->eip + (ULPOS)pDasmInstr->op[n].nearptr.offset + CodeLen;\n\t\t\tif(AddrToSym(Address,pDasmInstr->op[n].symbol.string,MAX_SYMBOL_LEN))\n\t\t\t{\n\t\t\t\tpDasmInstr->op[n].symbol.mode = pDasmInstr->op[n].mode;\n\t\t\t\tpDasmInstr->op[n].mode=mode_symbol;\n\t\t\t\tpDasmInstr->op[n].symbol.offset = FALSE;\n\t\t\t\tpDasmInstr->op[n].symbol.addr = Address;\n\t\t\t}\n\t\t}\n\t\telse if(pDasmInstr->op[n].mode==mode_address)\n\t\t{\n\t\t\tif(pDasmInstr->SegmentPrefix==-1&&pDasmInstr->op[n].addr.base==-1&&pDasmInstr->op[n].addr.index==-1)\n\t\t\t{\n\t\t\t\tAddress = (ULPOS)pDasmInstr->op[n].addr.effect_address;\n\t\t\t\tif(AddrToSym(Address,pDasmInstr->op[n].symbol.string,MAX_SYMBOL_LEN))\n\t\t\t\t{\n\t\t\t\t\tpDasmInstr->op[n].symbol.mode = pDasmInstr->op[n].mode;\n\t\t\t\t\tpDasmInstr->op[n].mode=mode_symbol;\n\t\t\t\t\tpDasmInstr->op[n].symbol.offset = FALSE;\n\t\t\t\t\tpDasmInstr->op[n].symbol.addr = Address;\n\t\t\t\t}\n\t\t\t\telse if(pDasmInstr->op[n].opersize == 4)\n\t\t\t\t{\n\t\t\t\t\tRDSize=ReadMemory((ULPOS)pDasmInstr->op[n].addr.effect_address,&Address,sizeof(Address));\n\t\t\t\t\tif(RDSize==sizeof(Address))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(AddrToSym(Address,pDasmInstr->op[n].symbol.string,MAX_SYMBOL_LEN))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpDasmInstr->op[n].symbol.mode = pDasmInstr->op[n].mode;\n\t\t\t\t\t\t\tpDasmInstr->op[n].mode=mode_symbol;\n\t\t\t\t\t\t\tpDasmInstr->op[n].symbol.offset = FALSE;\n\t\t\t\t\t\t\tpDasmInstr->op[n].symbol.addr = Address;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn CodeLen;\n}\n\nbool CInstrSym::GetNearJmpDes(BYTE*CodeBuffer,ULPOS EIP,ULPOS*pDes)\n{\n\tif(CodeBuffer[0]>=0x70 && CodeBuffer[0] <=0x7f)\n\t{\n\t\tif(pDes)\n\t\t\t*pDes=EIP+2+(char)CodeBuffer[1];\n\t\treturn true;\n\t}\n\tif(CodeBuffer[0]==0xf &&  CodeBuffer[1]>=0x80 && CodeBuffer[1] <=0x8f)\n\t{\n\t\tif(pDes)\n\t\t\t*pDes=EIP+6+*(int*)&CodeBuffer[2];\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CInstrSym::IsActiveNearJmp(BYTE*CodeBuffer,DWORD Eflags)\n{\n\tswitch(*CodeBuffer)\n\t{\n\tcase 0x70:\n\t\treturn (Eflags&EFLAGS_OF_MASK) != 0;\n\tcase 0x71:\n\t\treturn (Eflags&EFLAGS_OF_MASK) == 0;\n\tcase 0x72:\n\t\treturn (Eflags&EFLAGS_CF_MASK) != 0;\n\tcase 0x73:\n\t\treturn (Eflags&EFLAGS_CF_MASK) == 0;\n\tcase 0x74:\n\t\treturn (Eflags&EFLAGS_ZF_MASK) != 0;\n\tcase 0x75:\n\t\treturn (Eflags&EFLAGS_ZF_MASK) == 0;\n\tcase 0x76:\n\t\treturn ((Eflags&EFLAGS_ZF_MASK) != 0)&&((Eflags&EFLAGS_CF_MASK) != 0);\n\tcase 0x77:\n\t\treturn ((Eflags&EFLAGS_ZF_MASK) == 0)&&((Eflags&EFLAGS_CF_MASK) == 0);\n\tcase 0x78:\n\t\treturn (Eflags&EFLAGS_SF_MASK) != 0;\n\tcase 0x79:\n\t\treturn (Eflags&EFLAGS_SF_MASK) == 0;\n\tcase 0x7a:\n\t\treturn (Eflags&EFLAGS_PF_MASK) != 0;\n\tcase 0x7b:\n\t\treturn (Eflags&EFLAGS_PF_MASK) == 0;\n\tcase 0x7c:\n\t\treturn (Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT != (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT;\n\tcase 0x7d:\n\t\treturn (Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT == (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT;\n\tcase 0x7e:\n\t\treturn ((Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT != (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT) && (Eflags&EFLAGS_ZF_MASK) != 0;\n\tcase 0x7f:\n\t\treturn ((Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT == (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT) && (Eflags&EFLAGS_ZF_MASK) == 0;\n\t}\n\treturn false;\n}\n\n\nULSIZE CInstrSym::PrevInstrLen(ULPOS Address)\n{\n\tULPOS\tRefAddress;\n\tULSIZE\tMaxLen,Count,PrevLenCount,MaxRef,MaxRefIdx,PrevLen;\n\tBYTE\tPrevLenAry[MAX_PREV_INSTR_LEN],CodeBuffer[MAX_PREV_INSTR_LEN],CodeLenArray[MAX_PREV_INSTR_LEN],RefLenAry[MAX_PREV_INSTR_LEN];\n\tMaxLen = Address >= m_ImageBase + MAX_PREV_INSTR_LEN ? MAX_PREV_INSTR_LEN : Address - m_ImageBase;\n\tif(MaxLen==0)\n\t\treturn 1;\n\tCount = ReadMemory(Address - MaxLen,CodeBuffer,MaxLen);\n\tif(Count)\n\t{\n\t\tMaxLen = Count;\n\t}\n\telse\n\t{\n\t\tfor(Count=MaxLen-1;Count>0;Count--)\n\t\t{\n\t\t\tif(ReadMemory(Address - Count,CodeBuffer,Count))\n\t\t\t\tbreak;\n\t\t}\n\t\tMaxLen = Count;\n\t}\n\tif(MaxLen==0)\n\t\treturn 1;\n\tPrevLenCount = 0;\n\tfor(ULSIZE PrevOff=1;PrevOff<=MaxLen;PrevOff++)\n\t{\n\t\tCount = InstrCount(&CodeBuffer[MaxLen-PrevOff],PrevOff,CodeLenArray);\n\t\tif(Count)\n\t\t{\n\t\t\tPrevLenAry[PrevLenCount] = CodeLenArray[Count-1];\n\t\t\tPrevLenCount++;\n\t\t}\n\t}\n\tif(PrevLenCount==0)\n\t\treturn 1;\n\tZeroMemory(RefLenAry,sizeof(RefLenAry));\n\tRefAddress = Address;\n\tif(GetInstrRefPoint(&RefAddress) && RefAddress < Address && (PrevLen = Address - RefAddress) < MAX_PREV_INSTR_LEN)\n\t{\n\t\tPrevLen = Address - RefAddress;\n\t\tfor(Count=0;Count<PrevLenCount;Count++)\n\t\t{\n\t\t\tif(PrevLen == PrevLenAry[Count])\n\t\t\t\tRefLenAry[PrevLenAry[Count]]=MAX_PREV_INSTR_LEN+1;\n\t\t\telse\n\t\t\t\tRefLenAry[PrevLenAry[Count]]++;\n\t\t}\n\t}\n\telse\n\t{\n\t\tfor(Count=0;Count<PrevLenCount;Count++)\n\t\t\tRefLenAry[PrevLenAry[Count]]++;\n\t}\n\tMaxRefIdx = MaxRef = 0;\n\tfor(Count=0;Count<MAX_PREV_INSTR_LEN;Count++)\n\t{\n\t\tif(MaxRef<RefLenAry[Count])\n\t\t{\n\t\t\tMaxRefIdx = Count;\n\t\t\tMaxRef = RefLenAry[Count];\n\t\t}\n\t}\n\treturn MaxRefIdx;\n}\n\nULPOS CInstrSym::InstrCount(BYTE*CodeBuffer,ULSIZE CodeSize,BYTE*LenAry)\n{\n\tULPOS CodeLen,Off=0,Count=0;\n\twhile(Off<CodeSize)\n\t{\n\t\tCodeLen=InstrLen(&CodeBuffer[Off]);\n\t\tif(CodeLen==0)\n\t\t\treturn 0;\n\t\tOff+=CodeLen;\n\t\tif(LenAry)\n\t\t\tLenAry[Count]=(BYTE)CodeLen;\n\t\tCount++;\n\t}\n\tif(Off==CodeSize)\n\t\treturn Count;\n\treturn 0;\n}\n\nbool CInstrSym::IsProcessCode(ULPOS Address)\n{\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tULPOS CodeLen;\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip=Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tCodeLen=Dasm(&DasmInstr);\n\tif(CodeLen<2)\n\t\treturn false;\n\tif(TStrICmp(DasmInstr.Name,\"CALL\")==0)\n\t\treturn true;\n\telse if(DasmInstr.Repeat!=-1)\n\t\treturn true;\n\treturn false;\n}\n\n//ȡתָĿĵַCodeViewEnterAddr\nbool CInstrSym::GetTransferAddress(ULPOS Address,ULPOS*pDesAddr)\n{\n\tint n;\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip = Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tULSIZE CodeLen,RDSize;\n\tRDSize = ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\tif(RDSize==0)\n\t\treturn false;\n\tCodeLen=Disassembler(&DasmInstr,NULL);\n\tif(CodeLen==0 || CodeLen>RDSize || CodeLen<2)\n\t\treturn false;\n\tif(DasmInstr.op[0].mode==mode_invalid||DasmInstr.op[1].mode!=mode_invalid)\n\t\treturn false;\n\tif(GetNearJmpDes(Buffer)==false)\n\t{\n\t\tn=0;\n\t\twhile(m_TransDesInst[n])\n\t\t{\n\t\t\tif(TStrICmp(DasmInstr.Name,m_TransDesInst[n])==0)\n\t\t\t\tbreak;\n\t\t\tn++;\n\t\t}\n\t\tif(m_TransDesInst[n]==NULL)\n\t\t\treturn false;\n\t}\n\tswitch(DasmInstr.op->mode)\n\t{\n\tcase mode_near:\n\t\t*pDesAddr = (ULPOS)DasmInstr.op->nearptr.label;\n\t\treturn true;\n\tcase mode_immed:\n\t\t*pDesAddr=(ULPOS)DasmInstr.op->immed.immed_value;\n\t\treturn true;\n\tcase mode_address:\n\t\tif(DasmInstr.SegmentPrefix==-1&&DasmInstr.op->addr.base==-1&&DasmInstr.op->addr.index==-1&&DasmInstr.op->addr.displacement_size==4)\n\t\t{\n\t\t\t*pDesAddr=0;\n\t\t\tif(ReadMemory((ULPOS)DasmInstr.op->addr.effect_address,pDesAddr,sizeof(*pDesAddr))!=sizeof(*pDesAddr))\n\t\t\t\treturn false;\n\t\t\treturn true;\n\t\t}\n\t\tbreak;\n\t}\n\treturn false;\t\n}\n\nbool CInstrSym::GetInstrDesAddress(ULPOS Address,ULPOS*pDesAddr)\n{\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip = Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tULSIZE CodeLen,RDSize;\n\tRDSize = ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\tif(RDSize==0)\n\t\treturn false;\n\tCodeLen=Disassembler(&DasmInstr,NULL);\n\tif(CodeLen==0 || CodeLen>RDSize || CodeLen<2)\n\t\treturn false;\n\tfor(int n=0;n<3;n++)\n\t{\n\t\tif(DasmInstr.op[n].mode == mode_near)\n\t\t{\n\t\t\t*pDesAddr = DasmInstr.eip + (ULPOS)DasmInstr.op[n].nearptr.offset + CodeLen;\n\t\t\treturn true;\n\t\t}\n\t\telse if(DasmInstr.op[n].mode==mode_address)\n\t\t{\n\t\t\tif(DasmInstr.SegmentPrefix==-1&&DasmInstr.op[n].addr.base==-1&&DasmInstr.op[n].addr.index==-1&&DasmInstr.op[n].addr.displacement_size==4)\n\t\t\t{\n\t\t\t\t*pDesAddr=0;\n\t\t\t\tif(ReadMemory((ULPOS)DasmInstr.op[n].addr.effect_address,pDesAddr,sizeof(*pDesAddr))!=sizeof(*pDesAddr))\n\t\t\t\t\treturn false;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}else if(DasmInstr.op[n].mode == mode_immed)\n\t\t{\n\t\t\t*pDesAddr=(ULPOS)DasmInstr.op[n].immed.immed_value;\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\nint CInstrSym::GetInstrImmediateAndDesAddress(ULPOS Address,ULPOS*pDesAddr,ULPOS* pImmediate)\n{\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tDWORD dwValue[3];\n\tint retvalue=0;\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip = Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tULSIZE CodeLen,RDSize;\n\tRDSize = ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\t*pDesAddr=0-1;\n\t*pImmediate=0-1;\n\tif(RDSize==0)\n\t\treturn retvalue;\n\tCodeLen=Disassembler(&DasmInstr,NULL);\n\tif(CodeLen==0 || CodeLen>RDSize || CodeLen<2)\n\t\treturn retvalue;\n\tfor(int n=0;n<3;n++)\n\t{\n\t\t//if(DasmInstr.op[n].mode == mode_near)\n\t\t//{\t\t\t\n\t\t//\tdwValue[retvalue]=DasmInstr.eip + DasmInstr.op[n].nearptr.offset + CodeLen;\n\t\t//\t*pDesAddr=dwValue[retvalue];\n\t\t//\tretvalue++;\t\t\t\n\t\t//}\n\t\t//else\n\t\t\tif(DasmInstr.op[n].mode==mode_address)\n\t\t{\n\t\t\tif(DasmInstr.SegmentPrefix==-1&&DasmInstr.op[n].addr.base==-1&&DasmInstr.op[n].addr.index==-1&&DasmInstr.op[n].addr.displacement_size==4)\n\t\t\t{\n\t\t\t\t*pDesAddr=0-1;\n\t\t\t\tif(ReadMemory((ULPOS)DasmInstr.op[n].addr.effect_address,&RDSize,sizeof(RDSize))==sizeof(RDSize))\t\t\t\t\t\n\t\t\t\t{\n\t\t\t\t\tdwValue[retvalue]=(DWORD)DasmInstr.op[n].addr.effect_address;\n\t\t\t\t\tretvalue++;\n\t\t\t\t\t*pDesAddr=(ULPOS)DasmInstr.op[n].addr.effect_address;\n\t\t\t\t}\n\t\t\t}\n\t\t}else if(DasmInstr.op[n].mode == mode_immed)\n\t\t{\n\t\t\tif(ReadMemory((ULPOS)DasmInstr.op[n].immed.immed_value,&RDSize,sizeof(RDSize))==sizeof(RDSize))\t\n\t\t\t{\n\t\t\t\tdwValue[retvalue]=(DWORD)DasmInstr.op[n].immed.immed_value;\t\n\t\t\t\t*pImmediate=(ULPOS)DasmInstr.op[n].immed.immed_value;\t\n\t\t\t\tretvalue++;\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\treturn retvalue;\n}\n\nbool CInstrSym::GetVariableDesAddress(ULPOS Address,ULPOS*pDesAddr)\n{\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip=Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tULSIZE CodeLen,RDSize;\n\tRDSize = ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\tif(RDSize==0)\n\t\treturn false;\n\tCodeLen=Disassembler(&DasmInstr,NULL);\n\tif(CodeLen==0 || CodeLen>RDSize || CodeLen<2)\n\t\treturn false;\n\tfor(int n=0;n<3;n++)\n\t{\n\t\tif(DasmInstr.op[n].mode==mode_address)\n\t\t{\n\t\t\tif(DasmInstr.SegmentPrefix==-1&&DasmInstr.op[n].addr.base==-1&&DasmInstr.op[n].addr.index==-1)\n\t\t\t{\n\t\t\t\t*pDesAddr = (ULPOS)DasmInstr.op[n].addr.effect_address;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\tif(DasmInstr.CodeBuff[0]==0x68)\n\t{\n\t\t*pDesAddr=(ULPOS)DasmInstr.op[0].immed.immed_value;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nint CInstrSym::IsPrevCodeCallInstr(ULPOS Address,PSTR szFunc,ULPOS*pDesAddr)\n{\n\tstatic ULSIZE TestSize[]={6,5,4,3,2};\n\tULSIZE CodeLen;\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tfor(int n=0;n<sizeof(TestSize)/sizeof(ULSIZE);n++)\n\t{\n\t\tDasmInstr.eip=Address-TestSize[n];\n\t\tDasmInstr.pasm = NULL;\n\t\tDasmInstr.CodeBuff=Buffer;\n\t\tCodeLen=Dasm(&DasmInstr);\n\t\tif(CodeLen!=TestSize[n])\n\t\t\tcontinue;\n\t\tif(TStrICmp(DasmInstr.Name,\"CALL\")==0)\n\t\t{\n\t\t\tswitch(DasmInstr.op->mode)\n\t\t\t{\n\t\t\tcase mode_symbol:\n\t\t\t\tif(szFunc)\n\t\t\t\t\tTStrCpy(szFunc,DasmInstr.op->symbol.string);\n\t\t\t\tif(pDesAddr)\n\t\t\t\t\t*pDesAddr=DasmInstr.op->symbol.addr;\n\t\t\t\tbreak;\n\t\t\tcase mode_near:\n\t\t\t\tif(szFunc)\n\t\t\t\t\t*szFunc=0;\n\t\t\t\tif(pDesAddr)\n\t\t\t\t\t*pDesAddr = (ULPOS)DasmInstr.op->nearptr.label;\n\t\t\t\tbreak;\n\t\t\tcase mode_address:\n\t\t\t\tif(szFunc)\n\t\t\t\t\t*szFunc=0;\n\t\t\t\tif(pDesAddr)\n\t\t\t\t\t*pDesAddr = 0;\n\t\t\t\tif(DasmInstr.SegmentPrefix==-1&&DasmInstr.op->addr.base==-1&&DasmInstr.op->addr.index==-1)\n\t\t\t\t{\n\t\t\t\t\tif(pDesAddr)\n\t\t\t\t\t\tReadMemory((ULPOS)DasmInstr.op->addr.effect_address,pDesAddr,sizeof(*pDesAddr));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif(szFunc)\n\t\t\t\t\t*szFunc=0;\n\t\t\t\tif(pDesAddr)\n\t\t\t\t\t*pDesAddr=0;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn CodeLen;\n\t\t}\n\t}\n\treturn 0;\n}\n\nbool CInstrSym::IsCallInstruction(ULPOS Address,PSTR szFunc)\n{\n\tULPOS CodeLen;\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.eip=Address;\n\tDasmInstr.pasm = NULL;\n\tDasmInstr.CodeBuff=Buffer;\n\tCodeLen=Dasm(&DasmInstr);\n\tif(CodeLen<2)\n\t\treturn false;\n\tif(TStrICmp(DasmInstr.Name,\"CALL\")==0)\n\t{\n\t\tif(szFunc)\n\t\t{\n\t\t\t*szFunc=0;\n\t\t\tif(DasmInstr.op[0].mode==mode_symbol)\n\t\t\t\tTStrCpy(szFunc,DasmInstr.op[0].symbol.string);\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nULSIZE CInstrSym::InstrLen(ULPOS Address,ULSIZE MaxSize)\n{\n\tULSIZE CodeLen,Size;\n\tBYTE Buffer[MAX_INSTR_LEN];\n\tSize = ReadMemory(Address,Buffer,MaxSize);\n\tif(Size==0)\n\t\treturn 0;\n\tCodeLen=InstrLen(Buffer,Size);\n\tif(CodeLen>Size)\n\t\tCodeLen=Size;\n\treturn CodeLen;\n}\n\nULSIZE CInstrSym::InstrLen(BYTE*Buffer,ULSIZE BufSize)\n{\n\tULSIZE CodeLen=::Disassembler(NULL,Buffer,0,BIT32);\n\tif(CodeLen>BufSize)\n\t\treturn 0;\n\treturn CodeLen;\n}\n\nULSIZE CInstrSym::InstrLen16(BYTE*Buffer,ULSIZE BufSize)\n{\n\tULSIZE CodeLen=::Disassembler(NULL,Buffer,0,BIT16);\n\tif(CodeLen>BufSize)\n\t\treturn 0;\n\treturn CodeLen;\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/InstrSym.h",
    "content": "#ifndef _INSTR_SYM_H_\n#define _INSTR_SYM_H_\n\n#include \"IntelDis.h\"\n#include \"PEFile.h\"\n\n#define MAX_INSTR_LEN\t\t\t0x10\n#define MAX_LINES_PER_PAGE\t\t0x80\n#define MAX_STR_PER_LINE\t\t0x40\n\n//\n#define DS_USE_SYM\t\t\t\t0x00000001\n#define DS_JMP_API\t\t\t\t0x00000002\n#define\tMAX_LINE_BYTES\t\t\t0x10\n\n\n\n\nclass CInstrSym : public CIntelDisassembler\n{\npublic:\n\tBYTE\tm_CodeBuffer[MAX_INSTR_LEN];\n\tbool\tm_bUseSym;\n\tULPOS\tm_ImageBase;\n\tULPOS\tm_ImageHighBase;\n\tUINT\tm_UxAlign;\n\tUINT\tm_Style;\npublic:\n\tvirtual bool\tAddrToSym(ULPOS Address,PSTR szSym,int BufSize);\n\tvirtual ULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tvirtual\tbool\tGetInstrRefPoint(ULPOS*pAddress){return false;}\npublic:\n\tCInstrSym();\n\tvirtual ~CInstrSym();\npublic:\n\tvoid\tSetDasmStyle(UINT Style){m_Style = Style;}\n\tULPOS\tGetDasmStyle(){return m_Style;}\n\tvoid\tHandleAddressOp(OPERAND_ITEM*pOp,WCHAR* szInfo,INSTRUCTION_INFORMATION*pInstrInfo);\n\t\npublic://\n\n\tULSIZE\tDasm(IN OUT INSTRUCTION_INFORMATION*pDasmInstr,DIS_CPU*pDisCPU = NULL,ULSIZE MaxSize = MAX_INSTR_LEN);\n\tULSIZE\tAsm(PSTR InstString,PBYTE OutPutCode,ULPOS EIP);\npublic://ָ\n\tULSIZE\tPrevInstrLen(ULPOS Address);\n\tULSIZE\tInstrCount(BYTE*CodeBuffer,ULSIZE CodeSize,BYTE*LenAry);\n\tbool\tIsProcessCode(ULPOS Address);\n\tbool\tIsCallInstruction(ULPOS Address,PSTR szFunc=NULL);\n\tint\t\tIsPrevCodeCallInstr(ULPOS Address,PSTR szFunc,ULPOS*pDesAddr);\n\tULSIZE\tInstrLen(ULPOS Address,ULSIZE MaxSize = MAX_INSTR_LEN);\n\tbool\tGetInstrDesAddress(ULPOS Address,ULPOS*pDesAddr);\n\tbool\tGetTransferAddress(ULPOS Address,ULPOS*pDesAddr);\n\tint\t\tGetInstrImmediateAndDesAddress(ULPOS Address,ULPOS*pDesAddr,ULPOS* pImmediate);//Ҫ code view е enter ת\n\tbool\tGetVariableDesAddress(ULPOS Address,ULPOS*pDesAddr);\n\tstatic\tbool\tGetNearJmpDes(BYTE*CodeBuffer,ULPOS EIP=0,ULPOS*pDes=NULL);\n\tstatic\tbool\tIsActiveNearJmp(BYTE*CodeBuffer,DWORD Eflags);\n\tstatic\tULSIZE\tInstrLen(BYTE*Buffer,ULSIZE BufSize = MAX_INSTR_LEN);\n\tstatic\tULSIZE\tInstrLen16(BYTE*Buffer,ULSIZE BufSize = MAX_INSTR_LEN);\n\tstatic\tPCWSTR\tm_RegStr[3][16];\n\tstatic\tPCWSTR\tm_ScaleStr[4];\n\tstatic\tPCWSTR\tm_SizePtr[9];\n\tstatic\tPCWSTR\tm_SizeSym[11];\n\tstatic\tPCWSTR\tm_SegStr[6];\n\tstatic\tPCWSTR\tm_LengthStr[5];\n\tstatic\tPCWSTR\tm_DefaultOPSize[2];\n\tstatic\tPCSTR\tm_TransDesInst[];\n\tstatic\tPCWSTR\tm_UnReaded;\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/IntelDef.h",
    "content": "#ifndef _INTEL_DEFINE_H_\n#define _INTEL_DEFINE_H_\n\n#define BIT16\t\t\t\t0\n#define BIT32\t\t\t\t1\n#define BIT64\t\t\t\t2\n#define INTEL_MAX_LENGTH\t0x10\n\n\n#define sign_BYTE\t\t0x80\n#define sign_WORD\t\t0x8000\n#define sign_DWORD\t\t0x80000000\n#define sign_QWORD\t\t0x8000000000000000ll\n\n#define shift_BYTE\t\t0x07\n#define shift_WORD\t\t0x0f\n#define shift_DWORD\t\t0x1f\n#define max_BYTE\t\t0xff\n#define max_WORD\t\t0xffff\n#define max_DWORD\t\t0xffffffff\n#define min_BYTE\t\t0x7f\n#define min_WORD\t\t0x7fff\n#define min_DWORD\t\t0x7fffffff\n\n#define OP_R 1\n#define OP_W 2\n#define OP_RW 3\n#define MAKE_OP_RW_FLAG(f1,f2,f3) ((f1)|((f2)<<2)|((f3)<<4)) \n\n#ifndef BYTE\ntypedef unsigned char\tBYTE;\ntypedef unsigned short\tWORD;\ntypedef unsigned long\tDWORD;\ntypedef int\t\t\t\tBOOL;\n\n#endif\n\n#ifndef BIT8U\n\ntypedef unsigned char\tBIT8U;\ntypedef unsigned short\tBIT16U;\ntypedef unsigned long\tBIT32U;\ntypedef ULONGLONG\t\tBIT64U;\n\n#endif\n\n#ifndef BIT8S\ntypedef char\tBIT8S;\ntypedef short\tBIT16S;\ntypedef int\t\tBIT32S;\n\n#endif\n\n\n\n\n\n#ifndef BX_BIG_ENDIAN\n\t\n#define GetValue_b(p) (*(BYTE*)(p))\n#define GetValue_w(p) (*(WORD*)(p))\n#define GetValue_d(p) (*(DWORD*)(p))\n#define GetValue_q(p) (*(QWORD*)(p))\n\n#define SetValue_b(p,value) (*(BYTE*)(p) = (value)) \n#define SetValue_w(p,value) (*(WORD*)(p) = (value)) \n#define SetValue_d(p,value) (*(DWORD*)(p) = (value)) \n\n#else\n\n#define GetValue_b(p)\t(*(BYTE*)(p))\n#define GetValue_w(p)\t((*(BYTE*)(p)) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+1)<<0x08))\n\n#define GetValue_d(p)\t((*(BYTE*)(p)) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+1)<<0x08) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+2)<<0x10) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+3)<<0x18))\n\n#define GetValue_q(p)\t((*(BYTE*)(p)) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+1)<<0x08) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+2)<<0x10) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+3)<<0x18) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+4)<<0x20) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+5)<<0x28) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+6)<<0x30) +\\\n\t\t\t\t\t\t(*(BYTE*)(p+7)<<0x38) +\\\n\t\t\t\t\t\t)\n\n#define SetValue_b(p,value)\t(*(BYTE*)(p) = (value));\n#define SetValue_w(p,value)\t(*(BYTE*)(p) = (value));\\\n\t\t\t\t\t\t\t(*(BYTE*)(p+1) = (value)>>0x08);\n\n#define SetValue_d(p,value)\t(*(BYTE*)(p) = (value));\\\n\t\t\t\t\t\t\t(*(BYTE*)(p+1) = (value)>>0x08);\\\n\t\t\t\t\t\t\t(*(BYTE*)(p+2) = (value)>>0x10);\\\n\t\t\t\t\t\t\t(*(BYTE*)(p+3) = (value)>>0x18);\n\n#endif\n\n#define MOD_NNN_RM_MOD00 0x00\n#define MOD_NNN_RM_MOD01 0x40\n#define MOD_NNN_RM_MOD10 0x80\n#define MOD_NNN_RM_MOD11 0xc0\n\n\n\n//\t\t\t\t\t\t\tʽµж쳣\n\t\t\n//\t\tǷ\t\t\t\t\t˵\t\t\t\t\t\tԴ \n#define INTEL_DE_EXCEPTION   0 // Divide Error (fault)\n#define INTEL_DB_EXCEPTION   1 // Debug (fault/trap)\n#define INTEL_BP_EXCEPTION   3 // Breakpoint (trap)\n#define INTEL_OF_EXCEPTION   4 // Overflow (trap)\n#define INTEL_BR_EXCEPTION   5 // BOUND (fault)\n#define INTEL_UD_EXCEPTION   6\n#define INTEL_NM_EXCEPTION   7\n#define INTEL_DF_EXCEPTION   8\n#define INTEL_TS_EXCEPTION  10\n#define INTEL_NP_EXCEPTION  11\n#define INTEL_SS_EXCEPTION  12\n#define INTEL_GP_EXCEPTION  13\n#define INTEL_PF_EXCEPTION  14\n#define INTEL_MF_EXCEPTION  16\n#define INTEL_AC_EXCEPTION  17\n#define INTEL_MC_EXCEPTION\t0x12\n#define INTEL_XF_EXCEPTION\t0x13\n\n\n#define BX_DE_EXCEPTION   0 // Divide Error (fault)\n#define BX_DB_EXCEPTION   1 // Debug (fault/trap)\n#define BX_BP_EXCEPTION   3 // Breakpoint (trap)\n#define BX_OF_EXCEPTION   4 // Overflow (trap)\n#define BX_BR_EXCEPTION   5 // BOUND (fault)\n#define BX_UD_EXCEPTION   6\n#define BX_NM_EXCEPTION   7\n#define BX_DF_EXCEPTION   8\n#define BX_TS_EXCEPTION  10\n#define BX_NP_EXCEPTION  11\n#define BX_SS_EXCEPTION  12\n#define BX_GP_EXCEPTION  13\n#define BX_PF_EXCEPTION  14\n#define BX_MF_EXCEPTION  16\n#define BX_AC_EXCEPTION  17\n\n\n//INTEL_DE_EXCEPTION //(\\) int 0x00 ޴ #DE\n//INTEL_DB_EXCEPTION //߽(BOUNDָ) int 0x05 ޴ #BR\n//INTEL_BP_EXCEPTION \n//INTEL_OF_EXCEPTION \n//INTEL_BR_EXCEPTION \n//INTEL_UD_EXCEPTION //Ƿָ int 0x06 ޴ #UD\n//INTEL_NM_EXCEPTION //Э int 0x07 ޴ #NM\n//INTEL_DF_EXCEPTION //˫ع int 0x08 errorcode #DF()\n//\t\t\t\t\t//ϵͳس:ҳж\n\n//INTEL_TS_EXCEPTION //ǷTSS int 0x0a errorcode #TS()\n//INTEL_NP_EXCEPTION //βڹ int 0x0b errorcode #NP\n//INTEL_SS_EXCEPTION //ջι int 0x0c errorcode #SS\n//INTEL_GP_EXCEPTION //һ㱣 int 0x0d errorcode #GP()\n//\t\t\t\t\t//вһ쳣ıΥ\n//\t\t\t\t\t//һһ㱣쳣\n//INTEL_PF_EXCEPTION //ҳ int 0x0e errorcode #PF(fault-code)\n// \t\t\t\t\t//CR2Ĵд\n//\t\t\t\t\t//쳣ķеԵַ\n//INTEL_MF_EXCEPTION //Э int 0x10 ޴ #MF\n//INTEL_AC_EXCEPTION //Any data reference in memory\tint 0x11 ޴ #AC\n//INTEL_MC_EXCEPTION //Model dependent machine check errors int 0x12 #MC\n//INTEL_XF_EXCEPTION //Floating-Point\tNumeric ErrorSSE and SSE2 floating-point\n//\t\t\t\t\t//instructions. int 0x13 #XF\n//INTEL_HF_EXCEPTION //ش󣬴ֹͣ\n//\t\t\t\t\t//ϵͳس:ҳж\n\n\n//CODE SEGMENT and DATA SEGMENT type define // ֻ;/д;չ;ִֻ;ִ/;;ѷ;\n#define CODE_DATA_SEGMENT_R\t\t\t0x0\t\t// ֻ;\n#define CODE_DATA_SEGMENT_RA\t\t0x1\t\t// ֻ;ѷ;\n#define CODE_DATA_SEGMENT_RW\t\t0x2\t\t// /д;\n#define CODE_DATA_SEGMENT_RWA\t\t0x3\t\t// /д;ѷ;\n#define CODE_DATA_SEGMENT_RD\t\t0x4\t\t// ֻ;չ;\n#define CODE_DATA_SEGMENT_RDA\t\t0x5\t\t// ֻ;չ;ѷ;\n#define CODE_DATA_SEGMENT_RWD\t\t0x6\t\t// /д;չ;\n#define CODE_DATA_SEGMENT_RWDA\t\t0x7\t\t// /д;չ;ѷ;\n#define CODE_DATA_SEGMENT_E\t\t\t0x8\t\t// ִֻ;\n#define CODE_DATA_SEGMENT_EA\t\t0x9\t\t// ִֻ;ѷ;\n#define CODE_DATA_SEGMENT_ER\t\t0xa\t\t// ִ/;\n#define CODE_DATA_SEGMENT_ERA\t\t0xb\t\t// ִ/;ѷ;\n#define CODE_DATA_SEGMENT_EC\t\t0xc\t\t// ִֻ;;\n#define CODE_DATA_SEGMENT_ECA\t\t0xd\t\t// ִֻ;;ѷ;\n#define CODE_DATA_SEGMENT_ERC\t\t0xe\t\t// ִ/;;\n#define CODE_DATA_SEGMENT_ERCA\t\t0xf\t\t// ִ/;;ѷ;\n\n//SYSTEM SEGMENT and SYSTEM GATE type define\t// ;16λ;32λ;TSS();LDT;TSS(æ);;;ж;;\n#define SYSTEM_SEGMENT_UNDEFINE0x0\t\t0x0\t\t// ;\n#define SYSTEM_SEGMENT_286TSS\t\t\t0x1\t\t// 16λTSS();\n#define SYSTEM_SEGMENT_LDT\t\t\t\t0x2\t\t// LDT;\n#define SYSTEM_SEGMENT_286TSS_BUSY\t\t0x3\t\t// 16λTSS(æ);\n#define SYSTEM_GATE_286CALL\t\t\t\t0x4\t\t// 16λ;\n#define SYSTEM_GATE_TASK\t\t\t\t0x5\t\t// ;\n#define SYSTEM_GATE_286INT\t\t\t\t0x6\t\t// 16λж;\n#define SYSTEM_GATE_286TRAP\t\t\t\t0x7\t\t// 16λ;\n#define SYSTEM_SEGMENT_UNDEFINE0x8\t\t0x8\t\t// ;\n#define SYSTEM_SEGMENT_386TSS\t\t\t0x9\t\t// 32λTSS();\n#define SYSTEM_SEGMENT_UNDEFINE0xA\t\t0xA\t\t// ;\n#define SYSTEM_SEGMENT_386TSS_BUSY\t\t0xB\t\t// 32λTSS(æ);\n#define SYSTEM_GATE_386CALL\t\t\t\t0xC\t\t// 32λ;\n#define SYSTEM_SEGMENT_UNDEFINE0xD\t\t0xD\t\t// ;\n#define SYSTEM_GATE_386INT\t\t\t\t0xE\t\t// 32λж;\n#define SYSTEM_GATE_386TRAP\t\t\t\t0xF\t\t// 32λ;\n\n#define I_EAX\t0\n#define I_ECX\t1\n#define I_EDX\t2\n#define I_EBX\t3\n#define I_ESP\t4\n#define I_EBP\t5\n#define I_ESI\t6\n#define I_EDI\t7\n#define I_NUL\t8\n\n#define I_ES\t0\n#define I_CS\t1\n#define I_SS\t2\n#define I_DS\t3\n#define I_FS\t4\n#define I_GS\t5\n#define I_6S\t6\n#define I_7S\t7\n\n#define I_TR\t8\n#define I_LDTR\t9\n\n\n#define INTEL_GEG_REG_EAX\t0\n#define INTEL_GEG_REG_ECX\t1\n#define INTEL_GEG_REG_EDX\t2\n#define INTEL_GEG_REG_EBX\t3\n#define INTEL_GEG_REG_ESP\t4\n#define INTEL_GEG_REG_EBP\t5\n#define INTEL_GEG_REG_ESI\t6\n#define INTEL_GEG_REG_EDI\t7\n\n#define INTEL_SEG_REG_ES\t0\n#define INTEL_SEG_REG_CS\t1\n#define INTEL_SEG_REG_SS\t2\n#define INTEL_SEG_REG_DS\t3\n#define INTEL_SEG_REG_FS\t4\n#define INTEL_SEG_REG_GS\t5\n#define INTEL_SEG_REG_6S\t6\n#define INTEL_SEG_REG_7S\t7\n\n#define INTEL_SEG_REG_TR\t8\n#define INTEL_SEG_REG_LDTR\t9\n\n#define INTEL_SEG_REG_NULL\t0x0f\n\n#define R_M\t\t0x0200\n#define D_64 0x8000000\n#define F_64 0x4000000\n#define O_64 0x10000000\n#define I_64 0x20000000\n\n#define  C_ESC_GROUP_TYPE   (0x100)\n#define  C_GROUP_0_TYPE   (0x200)\n#define  C_GROUP_1_TYPE   (0x400)\n#define  C_GROUP_2_TYPE   (0x800)\n#define  C_GROUP_3_TYPE   (0x1000)\n#define  C_GROUP_4_TYPE   (0x2000)\n#define  C_GROUP_5_TYPE   (0x4000)\n#define  C_GROUP_3DNOW_TYPE   (0x8000)\n\n#define Immediate___      0x00ff // bits 3..0: any immediate\n\ntypedef enum _IMMEDIATE___\n{\n\tImmediate_,\t\t\t// 8 bits regardless\n\tImmediate_1,\t\t// shl eax,1\n\tImmediate_CL,\t\t// shl eax,cl\n\tImmediate_Ib,       // 8 bits regardless\n\tImmediate_sIb,\t\t// sign extend to OS size\n\tImmediate_zIb,\t\t// zero extend to OS size\n\tImmediate_Iv,       // 16 or 32 depending on OS size\n\tImmediate_Iw,       // 16 bits regardless\n\tImmediate_Iz,       // Word for 16-bit operand-size or doubleword for 32 or 64-bit operand-size\n\tImmediate_IvIw,     // call_Ap\n\tImmediate_IwIb,     // enter_IwIb\n\tImmediate_O,        // mov_ALOb, mov_ObAL, mov_eAXOv, mov_OveAX\n\tImmediate_BrOff8,   // Relative branch offset byte\n\tImmediate_BrOff16,  // Relative branch offset word\n\tImmediate_BrOff32,  // Relative branch offset dword\n\tImmediate_Jb,\t    // Relative branch offset byte\n\tImmediate_Jv,\t    // Relative branch offset word/dword\n\t\n\n\t//PREFIX_ES,\t\t// 0x26 segment override prefix.\n\t//PREFIX_CS,\t\t// 0x2e segment override prefix.\n\t//PREFIX_SS,\t\t// 0x36 segment override prefix.\n\t//PREFIX_DS,\t\t// 0x3e segment override prefix.\n\t//PREFIX_FS,\t\t// 0x64 segment override prefix.\n\t//PREFIX_GS,\t\t// 0x65 segment override prefix.\n\t//PREFIX_66,\t\t// 0x66 Operand-size override prefix.\n\t//PREFIX_67,\t\t// 0x67 Address-size override prefix.\n\t//PREFIX_F0,\t\t// 0xf0 LOCK\n\t//PREFIX_F2,\t\t// 0xf2 REPNE/REPNZ (used only with string instructions).\n\t//PREFIX_F3,\t\t// 0xf3 REPE/REPZ (use only with string instructions).\n\t//\n\t//STRING_Move,\t// movs stos lods ins outs (use only with string instructions).\n\t//STRING_Comp,\t// cmps scan (use only with string instructions).\n\n\t//Extended_2byte, // pop cs (use only with two byte instructions).\n\t//Extended_Group, // mov al,0x80 (use only with extent opcode byte instructions).\n\t//Extended_Float, // fld [bx]  (use only with float exten byte instructions).\n\t//Extended_Group1,// prefetch (use only with extent opcode byte instructions).\n\n\t//OPCODE_UD,\n};\n\n\ntypedef enum _OPCODETYPE\n{\n\t//----------------------------------------------\n\t//----------------------------------------------\n\tC_NULL,\n\tC_ES,C_CS,C_SS,C_DS,C_FS,C_GS, // 0x26 0x2e 0x36 0x3e 0x64 0x65 segment override\n\t\t\t\t\t\t\t\t   // 0x2e 0x3e branch hint prefixes\n\t\t\t\t\t\t\t\t   // 0x2e Branch not taken (used only with Jcc instructions).\n\t\t\t\t\t\t\t\t   // 0x3e Branch taken (used only with Jcc instructions).\n\tC_REX_PREFIX,\n   //----------------------------------------------\n    C_OPER, // 0x66 Operand-size override prefix.\n\tC_ADDR, // 0x67 Address-size override prefix.\n\tC_LOCK, // 0xf0 LOCK\n\tC_REPN, // 0xf2 REPNE/REPNZ (used only with string instructions).\n\tC_REPZ, // 0xf3 REPE/REPZ (use only with string instructions).\n\n\t//----------------------------------------------\n\t\n\tC_GRP,C_ESC,C_2BYTE,C_GRP1,C_GRP2,C_3BYTE_0X38,C_3BYTE_0X3A,C_GRP3,C_GRP4,C_GRP5,C_3DNOW_GRP,C_GRP6,\n\t//----------------------------------------------\n\n\tC_MOVS,C_STOS,C_LODS,C_INS,C_OUTS,\n\tC_CMPS,C_SCAS,\n\tC_IN,C_OUT,\n\n\t//----------------------------------------------\n\tC_LES,C_LCS,C_LSS,C_LDS,C_LFS,C_LGS,C_POPCNT,C_LZCNT,\n\t//----------------------------------------------\n\tC_LOOPNZ,C_LOOPZ,C_LOOP,C_JCXZ,C_JMP,\n\t//----------------------------------------------\n\t\n\tC_MOVUPS,C_MOVUSS,C_MOVLPS,C_UNPCKLPS,C_UNPCKHPS,C_MOVHLPS,C_MOVHPS,\n\n\tC_CVTPS2PS,\tC_CVTPS2SS,\tC_CVTTPS2PI,\n\tC_CVTTPS2SI,C_CVTPS2PI,\tC_CVTPS2SI,\n\tC_SQRTPS,\tC_SQRTSS,\n\tC_RSQRTPS,\tC_RSQRTSS,\n\tC_RCPPS,\tC_RCPSS,\n\tC_ADDPS,\tC_ADDSS,\n\tC_MULPS,\tC_MULSS,\n\tC_SUBPS,\tC_SUBSS,\n\tC_MINPS,\tC_MINSS,\n\tC_DIVPS,\tC_DIVSS,\n\tC_MAXPS,\tC_MAXSS,\n\tC_CMPPS,\tC_CMPSS,\n\t//----------------------------------------------\n\t//----------------------------------------------\n\tC_ADD,C_OR,C_ADC,C_SBB,C_AND,C_SUB,C_XOR,C_CMP,\n\tC_ROL,C_ROR,C_RCL,C_RCR,C_SHL,C_SHR,C_SAL,C_SAR,\n\t//----------------------------------------------\n\t//----------------------------------------------\n\n\tC_DAA,C_DAS,C_AAA,C_AAS,\n\tC_INC,C_DEC,C_PUSH,C_POP,C_PUSHA,C_POPA,\n\tC_BOUND,C_ARPL,C_IMUL,C_MOVSXD,\n\t\n\t//----------------------------------------------\n\t//----------------------------------------------\n\n\tC_JtO,\n\tC_JfO,\n\tC_JtC,\n\tC_JfC,\n\tC_JtZ,\n\tC_JfZ,\n\tC_JfA,\n\tC_JtA,\n\tC_JtS,\n\tC_JfS,\n\tC_JtP,\n\tC_JfP,\n\tC_JtL,\n\tC_JfL,\n\tC_JfG,\n\tC_JtG,\n\n\tC_SETtO,\n\tC_SETfO,\n\tC_SETtC,\n\tC_SETfC,\n\tC_SETtZ,\n\tC_SETfZ,\n\tC_SETfA,\n\tC_SETtA,\n\tC_SETtS,\n\tC_SETfS,\n\tC_SETtP,\n\tC_SETfP,\n\tC_SETtL,\n\tC_SETfL,\n\tC_SETfG,\n\tC_SETtG,\n\tC_CMOVtO,\n\tC_CMOVfO,\n\tC_CMOVtC,\n\tC_CMOVfC,\n\tC_CMOVtZ,\n\tC_CMOVfZ,\n\tC_CMOVfA,\n\tC_CMOVtA,\n\tC_CMOVtS,\n\tC_CMOVfS,\n\tC_CMOVtP,\n\tC_CMOVfP,\n\tC_CMOVtL,\n\tC_CMOVfL,\n\tC_CMOVfG,\n\tC_CMOVtG,\n\n\t//----------------------------------------------\n\t//----------------------------------------------\n\n\tC_TEST,C_NOP,C_XCHG,C_MOV,C_LEA,C_CBW,C_CWD,C_CALL,C_WAIT,C_XCHG_NOP,\n\n\tC_PUSHF,C_POPF,C_SAHF,C_LAHF,\n\n\tC_RET,C_ENTER,C_LEAVE,C_RETF,C_INT1,C_INT3,C_INT,C_INTO,C_IRET,\n\n\tC_AAM,C_AAD,\n\n\tC_SALC,C_XLAT,\n\n\tC_HLT,C_CMC,C_CLC,C_STC,C_CLI,C_STI,C_CLD,C_STD,\n\n\tC_NOT,C_NEG,C_MUL,C_DIV,C_IDIV,\n\t// One-byte opcode table completed.\n\n\n\t//FPU Instruction\n    C_FSTCW,C_FSTENV,C_FCLEX,C_FINIT,C_FSAVE,C_FSTSW,C_FWAIT,\n\n\n\tC_FADD,C_FMUL,C_FCOM,C_FCOMP,C_FSUB,C_FSUBR,C_FDIV,C_FDIVR,\n\n    C_FLD,C_FXCH,C_FNOP,C_FCHS,C_FABS,C_FTST,\n\tC_FLD1,C_FLDL2T,C_FLDL2E,C_FLDPI,C_FLDLG2, C_FLDLN2,\n\n    C_FLDZ,\n    C_F2XM1,\n    C_FPTAN,\n    C_FPATAN, \n    C_FXTRACT,\n    C_FPREM1,\n    C_FDECSTP,\n    \n    C_FINCSTP,\n    C_FYL2XP1,\n    C_FSQRT,\n\n\tC_FSINCOS,\n\tC_FRNDINT,\n\tC_FSCALE,\n\tC_FSIN,\n\tC_FCOS,\n\n\tC_FLDCW, \n\tC_FLDENV,\n\tC_FNSTCW,\n\tC_FNSTENV,\n\tC_FST,\n\tC_FSTP,\n\tC_FCMOVB,\n\tC_FCMOVE,\n\tC_FCMOVBE,\n\tC_FCMOVU,\n\tC_FUCOMPP,\n\t\n\tC_FIADD,C_FICOM,C_FICOMP,C_FIDIV,C_FIDIVR,C_FIMUL,C_FISUB,C_FISUBR,\n\n\tC_FCMOVNB,\n\tC_FCMOVNE,\n\tC_FCMOVNBE,\n\tC_FCMOVNU,\n\tC_FNCLEX,\n\tC_FNINIT,\n\tC_FUCOMI,\n\tC_FCOMI,\n\tC_FILD,\n\tC_FISTTP,\n\tC_FIST,\n\tC_FISTP,\n\t\n\tC_FFREE,\n\tC_FUCOM,\n\tC_FUCOMP,\n\n\tC_FNSAVE,\n\tC_FNSTSW,\n\tC_FRSTOR,\n\tC_FADDP,\n\tC_FMULP,\n\tC_FCOMPP,\n\tC_FSUBRP,\n\tC_FSUBP,\n\tC_FDIVRP,\n\tC_FDIVP,\n\n\tC_FUCOMIP,\n\tC_FCOMIP,\n\tC_FBLD,\n\tC_FBSTP,\n\n\tC_FXAM,\n\tC_FLD2T,\n\tC_FYL2X,\n\tC_FPREM,\n\n\t//386 CPU Instruction\n\t//----------------------------------------------\n\t//----------------------------------------------\n\tC_SLDT,C_STR,C_LLDT,C_LTR,C_VERR,C_VERW,\n\tC_SGDT,C_SIDT,C_LGDT,C_LIDT,C_SMSW,C_LMSW,\n\t//----------------------------------------------\n\t//----------------------------------------------\n\n \tC_LAR,\n\tC_LSL,\n\tC_MOVZX,\n\tC_MOVSX,\n\n\tC_RSM,//0F AA RSM Resume operation of interrupted program\n\t\t  //Resume from System Management Mode\n\tC_BT,\n\tC_BTR,\n\tC_BTS,\n\tC_BTC,\n\tC_BSF,\n\tC_BSR,\n\tC_SHLD,\n\tC_SHRD,\n\tC_CMPXCHG_XBTS,\n\tC_CMPXCHG_IBTS,\n\n\tC_CMPXCHG,\n\tC_XADD,\n\tC_BSWAP,//Byte Swap\n\tC_CLTS,\n\tC_CPUID, //0F A2 CPUID Returns processor identification and feature information\n\t\t\t//\tto the EAX, EBX, ECX, and EDX registers, according to\n\t\t\t//\tthe input value entered initially in the EAX register\n\n\tC_MOVAPS,\t\t\t\t\n\tC_CVTPI2PS,\n\tC_MOVNTPS,\t\n\tC_UCOMISS,\t\n\tC_COMISS,\t\n\t\n\tC_MOVMSKPS,\n\tC_ANDPS,\t\n\tC_ANDNPS,\t\n\tC_ORPS,\t\n\tC_XORPS,\t\n\tC_XORPD,\n\tC_MOVNTI,\n\tC_PINSRW,\n\tC_PEXTRW,\n\tC_SHUFPS,\n\n\tC_PSRLW,\t\n\tC_PSRLD,\t\n\tC_PSRLQ,\t\n\tC_PADDQ,\t\n\tC_PMULLW,\t\n\tC_MOVQ,\t\n\tC_PMOVMSKB,\n\n\tC_CVTPS2PD,\n\tC_CVTDQ2PS,\n\n\tC_PSHUFW,\t\n\tC_PCMPEQB,\t\n\tC_PCMPEQW,\t\n\tC_PCMPEQD,\t\t\t\t\n\tC_EMMS,\t\t\n\n\n\tC_PREFETCH,\n\tC_FXSAVE,\n\tC_FXRSTOR,\n\tC_LDMXCSR,\n\tC_STMXCSR,\n\tC_XSAVE,\n\tC_XRSTOR,\n\n\tC_WRMSR, //0F 30 WRMSR Write the value in EDX:EAX to MSR specified by ECX\n\tC_RDTSC, //0F 31 RDTSC Read time-stamp counter into EDX:EAX\n\tC_RDMSR, //0F 32 RDMSR Load MSR specified by ECX into EDX:EAX\n\tC_RDPMC, //0F 33 RDPMC Read performance-monitoring counter specified by ECX\tinto EDX:EAX\n\tC_SYSCALL,\n\tC_SYSRET,\n\tC_SYSENTER, //0F 34 Fast call to privilege level 0 system procedures\n\tC_SYSEXIT, //0F 35 Fast return to privilege level 3 user code\n\tC_GETSEC,\n\tC_INVD, //0F 08 INVD Flush internal caches; initiate flushing of external caches.\n\tC_WBINVD, //0F 09 WBINVD Write back and flush Internal caches; initiate writing-back\n\t\t\t  //and flushing of external caches\n\n\tC_INVLPG,\n\tC_CMPXCHG8B,\n\tC_CMPXCHG16B,\n\n\n\tC_PUNPCKLBW,\t\n\tC_PUNPCKLWD,\t\n\tC_PUNPCKLDQ,\t\n\tC_PACKSSWB,\t\n\tC_PCMPGTB,\t\t\n\tC_PCMPGTW,\t\t\n\tC_PCMPGTD,\t\t\n\tC_PACKUSWB,\t\n\n\tC_PUNPCKHBW,\t\n\tC_PUNPCKHWD,\t\n\tC_PUNPCKHDQ,\t\n\tC_PACKSSDW,\t\n\tC_PUNPCKLQDQ,\t\n\tC_PUNPCKHQDQ,\t\n\tC_MOVD,\t\t\n\n\tC_PSUBB,\n\tC_PSUBW,\n\tC_PSUBD,\n\tC_PSUBQ,\n\tC_PADDB,\n\tC_PADDW,\n\tC_PADDD,\n\n\tC_PSUBUSB,\t\n\tC_PSUNUSW,\t\n\tC_PMINUB,\t\n\tC_PAND,\t\n\tC_PADDUSB,\t\n\tC_PADDUSW,\t\n\tC_PMAXUB,\t\n\tC_PANDN,\t\n\n\tC_PAVGB,\t\n\tC_PSRAW,\t\n\tC_PSRAD,\t\n\tC_PAVGW,\t\n\tC_PMULHUW,\t\n\tC_PMULHW,\t\n\tC_CVTPD2DQ,\n\tC_MOVNTQ,\t\n\n\tC_PSUBSB,\t\n\tC_PSUBSW,\t\n\tC_PMINSW,\t\n\tC_POR,\t\t\n\tC_PADDSB,\t\n\tC_PADDSW,\t\n\tC_PMAXSW,\t\n\tC_PXOR,\t\n\n\tC_PSLLW,\t\n\tC_PSLLD,\t\n\tC_PSLLQ,\t\n\tC_PMULUDQ,\t\n\tC_PMADDWD,\t\n\tC_PSADBW,\t\n\tC_MASKMOVQ,\n\n\tC_CLFLUSH,\n\tC_LFENCE, \n\tC_MFENCE, \n\tC_SFENCE, \n\tC_UD2,\n\tC_VMPTRLD,\n\tC_VMCLEAR,\n\tC_VMXON,\n\tC_VMPTRST,\n\tC_VMCALL,\n\tC_VMLAUNCH,\n\tC_VMRESUME,\n\tC_VMXOFF,\n\tC_VMREAD,\n\tC_VMWRITE,\n\tC_MONITOR,\n\tC_MWAIT,\n\tC_SWAPGS,\n\tC_PSHUFB,\n\tC_PHADDW,\n\tC_PHADDD,\n\tC_PHADDSW,\n\tC_PMADDUDSW,\n\tC_PHSUBW,\n\tC_PHSUBD,\n\tC_PHSUBSW,\n\tC_PSIGNB,\n\tC_PSIGNW,\n\tC_PSIGND,\n\tC_PMULHRSW,\n\tC_PABSB,\n\tC_PABSW,\n\tC_PABSD,\n\tC_PALIGNR,\n\tC_PSHUFD,\t\n\tC_PSHUFHW,\n\tC_PSHUFLW,\n\tC_HADDPD,\t\n\tC_HADDPS,\t\n\tC_HSUBPD,\t\n\tC_HSUBPS,\t\n\tC_MOVDQA,\t\n\tC_MOVDQU,\t\n\tC_MOVMSKPD,\n\tC_SQRTPD,\n\tC_SQRTSD,\n\tC_ANDPD,\n\tC_ANDNPD,\n\tC_ORPD,\n\tC_ADDPD,\n\tC_ADDSD,\n\tC_MULPD,\n\tC_MULSD,\n\tC_CVTPD2PS,\n\tC_CVTSD2SS,\n\tC_CVTSS2SD,\n\tC_CVTPS2DQ,\n\tC_CVTTPS2DQ,\n\tC_SUBPD,\n\tC_SUBSD,\n\tC_MINPD,\n\tC_MINSD,\n\tC_DIVPD,\n\tC_DIVSD,\n\tC_MAXPD,\n\tC_MAXSD,\n\tC_MOVUPD,\t\n\tC_MOVSD,\t\n\tC_MOVSS,\t\n\tC_MOVLPD,\t\n\tC_MOVDDUP,\n\tC_MOVSLDUP,\n\tC_UNPCKLPD,\n\tC_UNPCKHPD,\n\tC_MOVHPD,\n\tC_MOVSHDUP,\n\tC_MOVLHPS,\n\tC_MOVAPD,\n\tC_CVTPI2PD,\n\tC_CVTSI2SD,\n\tC_CVTSI2SS,\n\tC_MOVNTPD,\n\tC_MOVNTSD,\n\tC_MOVNTSS,\n\tC_CVTTPD2PI,\n\tC_CVTTSD2SI,\n\tC_CVTTSS2SI,\n\tC_CVTPD2PI,\n\tC_CVTSD2SI,\n\tC_CVTSS2SI,\n\tC_UCOMISD,\n\tC_COMISD,\n\tC_ADDSUBPD,\n\tC_ADDSUBPS,\n\tC_MOVDQ2Q,\n\tC_MOVQ2DQ,\n\tC_PSUBUSW,\n\n\tC_CVTTPD2DQ,\n\tC_CVTDQ2PD,\n\tC_MOVNTDQ,\n\tC_LDDQU,\n\tC_MASKMOVDQU,\t\n\tC_PMADDUBSW,\n\tC_PMOVSXBW,\n\tC_PMOVSXBD,\n\tC_PMOVSXBQ,\n\tC_PMOVSXWD,\n\tC_PMOVSXWQ,\n\tC_PMOVSXDQ,\n\tC_PMULDQ,\n\tC_PCMPEQQ,\n\tC_MOVNTDQA,\n\tC_PACKUSDW,\n\tC_PMOVZXBW,\n\tC_PMOVZXBD,\n\tC_PMOVZXBQ,\n\tC_PMOVZXWD,\n\tC_PMOVZXWQ,\n\tC_PMOVZXDQ,\n\tC_PCMPGTQ,\n\tC_PMINSB,\n\tC_PMINSD,\n\tC_PMINUW,\n\tC_PMINUD,\n\tC_PMAXSB,\n\tC_PMAXSD,\n\tC_PMAXUW,\n\tC_PMAXUD,\n\tC_PMULLD,\n\tC_PHMINPOSUW,\t\n\tC_CRC32,\n\tC_PBLENDVB,\n\tC_BLENDVPS,\n\tC_BLENDVPD,\n\tC_PTEST,\n\tC_ROUNDPS,\n\tC_ROUNDPD,\n\tC_ROUNDSS,\n\tC_ROUNDSD,\n\tC_BLENDPS,\n\tC_BLENDPD,\n\tC_PBLENDW,\n\tC_PEXTRB,\n\tC_PEXTRD,\n\tC_PEXTRQ,\n\tC_EXTRACTPS,\n\tC_PINSRB,\n\tC_INSERTPS,\n\tC_PINSRD,\n\tC_DPPS,\n\tC_DPPD,\n\tC_MPSADBW,\n\tC_PCLMULQDQ,\n\tC_PCMPESTRM,\n\tC_PCMPESTRI,\n\tC_PCMPISTRM,\n\tC_PCMPISTRI,\n\tC_SHUFPD,\n\tC_INVEPT,\n\tC_INVVPID,\n\tC_MOVBE,\n\tC_AESKEYGENASSIST,\n\tC_AESIMC,\n\tC_AESENC,\n\tC_AESENCLAST,\n\tC_AESDEC,\n\tC_AESDECLAST,\nC_XGETBV,\nC_XSETBV,\nC_RDTSCP,\nC_PAUSE,\nC_CMPPD,\nC_CMPSD,\nC_PSRLDQ,\nC_PSLLDQ,\n\n\n//AMD CPU INSTRUCTION\n\nC_VMRUN,\t\nC_VMMCALL,\nC_VMLOAD,\t\nC_VMSAVE,\t\nC_STGI,\t\nC_CLGI,\t\nC_SKINIT,\t\nC_INVLPGA,\nC_EXTRQ,\n\n\n//AMD 3DNOW! INSTRUCTION\nC_PI2FW,\nC_PI2FD,\nC_PF2IW,\nC_PF2ID,\nC_PFNACC,\nC_PFPNACC,\nC_PFCMPGE,\nC_PFMIN,\nC_PFRCP,\nC_PFRSQRT,\nC_PFSUB,\nC_PFADD,\nC_PFCMPGT,\nC_PFMAX,\nC_PFRCPIT1,\nC_PFRSQIT1,\nC_PFSUBR,\nC_PFACC,\nC_PFCMPEQ,\nC_PFMUL,\nC_PFRCPIT2,\nC_PMULHRW,\nC_PSWAPD,\nC_PAVGUSB,\nC_3DNOW,\n// Two-byte opcode table completed.\n//---------------------------------------\n\tC_DBYTE,\n\tC_DWORD,\n\tC_DDWORD,\n\tC_TAIL\n\n};\n\n\t\n/*\n\nA.1. KEY TO ABBREVIATIONS\n\nOperands are identified by a two-character code of the form Zz. The first character, an uppercase\nletter, specifies the addressing method; the second character, a lowercase letter, specifies the\ntype of operand.\n\nA.1.1. Codes for Addressing Method\n\nThe following abbreviations are used for addressing methods:\n\nA\tDirect address. The instruction has no ModR/M byte; the address of the operand is en-coded\n\tin the instruction; and no base register, index register, or scaling factor can be\n\tapplied (for example, far JMP (EA)).\n\nC\tThe reg field of the ModR/M byte selects a control register (for example,\n\tMOV (0F20, 0F22)).\n\nD\tThe reg field of the ModR/M byte selects a debug register (for example,\n\tMOV (0F21,0F23)).\n\nE\tA ModR/M byte follows the opcode and specifies the operand. The operand is either a\n\tgeneral-purpose register or a memory address. If it is a memory address, the address is\n\tcomputed from a segment register and any of the following values: a base register, an\n\tindex register, a scaling factor, a displacement.\n\nF\tEFLAGS Register.\n\nG\tThe reg field of the ModR/M byte selects a general register (for example, AX (000)).\n\nI\tImmediate data. The operand value is encoded in subsequent bytes of the instruction.\n\nJ\tThe instruction contains a relative offset to be added to the instruction pointer register\n\t(for example, JMP (0E9), LOOP).\n\nM\tThe ModR/M byte may refer only to memory (for example, BOUND, LES, LDS, LSS,\n\tLFS, LGS, CMPXCHG8B).\n\nO\tThe instruction has no ModR/M byte; the offset of the operand is coded as a word or\n\tdouble word (depending on address size attribute) in the instruction. No base register,\n\tindex register, or scaling factor can be applied (for example, MOV (A0A3)).\n\nP\tThe reg field of the ModR/M byte selects a packed quadword MMX?technology reg-ister.\n\nQ\tA ModR/M byte follows the opcode and specifies the operand. The operand is either\n\tan MMX?technology register or a memory address. If it is a memory address, the ad-dress\n\tis computed from a segment register and any of the following values: a base reg-ister,\n\tan index register, a scaling factor, and a displacement.\n\nR\tThe mod field of the ModR/M byte may refer only to a general register (for example,\n\tMOV (0F20-0F24, 0F26)).\n\nS\tThe reg field of the ModR/M byte selects a segment register (for example, MOV\n\t(8C,8E)).\n\nT\tThe reg field of the ModR/M byte selects a test register (for example, MOV\n\t(0F24,0F26)).\n\nV\tThe reg field of the ModR/M byte selects a packed SIMD floating-point register.\n\nW\tAn ModR/M byte follows the opcode and specifies the operand. The operand is either\n\ta SIMD floating-point register or a memory address. If it is a memory address, the ad-dress\n\tis computed from a segment register and any of the following values: a base reg-ister,\n\tan index register, a scaling factor, and a displacement\n\nX\tMemory addressed by the DS:SI register pair (for example, MOVS, CMPS, OUTS, or\n\tLODS).\n\nY\tMemory addressed by the ES:DI register pair (for example, MOVS, CMPS, INS,\n\tSTOS, or SCAS).\n\n  \nA.1.2. Codes for Operand Type\n\nThe following abbreviations are used for operand types:\n\na\tTwo one-word operands in memory or two double-word operands in memory, depend-ing\n\ton operand-size attribute (used only by the BOUND instruction).\n\nb\tByte, regardless of operand-size attribute.\n\nc\tByte or word, depending on operand-size attribute.\n\nd\tDoubleword, regardless of operand-size attribute.\n\ndq\tDouble-quadword, regardless of operand-size attribute.\n\np\t32-bit or 48-bit pointer, depending on operand-size attribute.\n\npi\tQuadword MMX?technology register (e.g. mm0)\n\nps\t128-bit packed FP single-precision data.\n\nq\tQuadword, regardless of operand-size attribute.\n\ns\t6-byte pseudo-descriptor.\n\nss\tScalar element of a 128-bit packed FP single-precision data.\n\nsi\tDoubleword integer register (e.g., eax)\n\nv\tWord or doubleword, depending on operand-size attribute.\n\nw\tWord, regardless of operand-size attribute.\n\nA.1.3. Register Codes\n\nWhen an operand is a specific register encoded in the opcode, the register is identified by its\nname (for example, AX, CL, or ESI). The name of the register indicates whether the register is\n32, 16, or 8 bits wide. A register identifier of the form eXX is used when the width of the register\ndepends on the operand-size attribute. For example, eAX indicates that the AX register is used\nwhen the operand-size attribute is 16, and the EAX register is used when the operand-size at-tribute\nis 32.\n\n*/\n\ntypedef enum _OPERATOR_DATA_TYPE\n{\n\tD__NONE,\n\t\n\t// The reg field of the ModR/M byte selects a control register (for example,\n\t// MOV (0F20, 0F22)).\n\tD__Cd,\n\n\t// The reg field of the ModR/M byte selects a debug register (for example,\n\t// MOV (0F21,0F23)).\n\tD__Dd,\n\n\t// The reg field of the ModR/M byte selects a test register (for example,\n\t// MOV (0F24,0F26)).\n\tD__Td,\n\t\n\t// EFLAGS Register.\n\tD__Fv,\n\t\n\t// The reg field of the ModR/M byte selects a general register (for example, AX (000)).\t\n\tD__Gb,D__rGb,D__wGb,D__rwGb,\n\tD__Gw,D__rGw,D__wGw,D__rwGw,\n\tD__Gv,D__rGv,D__wGv,D__rwGv,\n\tD__Gd,D__rGd,D__wGd,D__rwGd,\n\tD__Gy,D__rGy,D__wGy,D__rwGy,\n\t// Immediate data. The operand value is encoded in subsequent bytes of the instruction.\n\tD__Ib,D__Ib2,D__sIb,D__Iw,D__Id,D__Iv,D__1,D__Iz,\n\t// The instruction contains a relative offset to be added to the instruction pointer register\n\t// (for example, JMP (0E9), LOOP).\n\tD__Jb,D__Jz,\n\n\t// The instruction has no ModR/M byte; the offset of the operand is coded as a word or\n\t// double word (depending on address size attribute) in the instruction. No base register,\n\t// index register, or scaling factor can be applied (for example, MOV (A0-A3)).\n\tD__Ob,D__rOb,D__wOb,D__rwOb,\n\tD__Ov,D__rOv,D__wOv,D__rwOv,\n\n\t// Direct address. The instruction has no ModR/M byte; the address of the operand is en-coded\n\t// in the instruction; and no base register, index register, or scaling factor can be\n\t// applied (for example, far JMP (EA)).\t\n\tD__Ap,\n\n\t\n\t// The reg field of the ModR/M byte selects a packed quadword MMX?technology reg-ister.\n\tD__Pd,D__rPd,D__wPd,D__rwPd,\n\tD__Pq,D__rPq,D__wPq,D__rwPq,\n\tD__Ppi,D__rPpi,D__wPpi,D__rwPpi,\n\n\t// The mod field of the ModR/M byte may refer only to a general register (for example,\n\t// MOV (0F20-0F24, 0F26)).\n\tD__Rd,\n\tD__Ry,\n\t// The reg field of the ModR/M byte selects a segment register (for example, MOV\n\t//(8C,8E)).\n\tD__Sw,\n\n\t//unkown opdata\n\tD__NTA,\n\n\t// The reg field of the ModR/M byte selects a test register (for example, MOV\n\t// (0F24,0F26)).\n\tD__T0,D__T1,D__T2,D__T3,D__T4,D__T5,D__T6,D__T7,\n\n\t// The reg field of the ModR/M byte selects a packed SIMD floating-point register.\n\n\n\t// Memory addressed by the DS:SI register pair (for example, MOVS, CMPS, OUTS, or\n    // LODS).\n\tD__Xb,D_rXb,D_wXb,\n\tD__Xw,D_rXw,D_wXw,\n\tD__Xv,D_rXv,D_wXv,\n\tD__Xd,D_rXd,D_wXd,\n\tD__Xz,D_rXz,D_wXz,\n\t\n\t// Memory addressed by the ES:DI register pair (for example, MOVS, CMPS, INS,\n\t//STOS, or SCAS).\n\tD__Yb,D__rYb,D__wYb,\n\tD__Yw,D__rYw,D__wYw,\n\tD__Yv,D__rYv,D__wYv,\n\tD__Yd,D__rYd,D__wYd,\n\tD__Yz,D__rYz,D__wYz,\n\t\n\t\n\t// When an operand is a specific register encoded in the opcode, the register is identified by its\n\t// name (for example, AX, CL, or ESI). The name of the register indicates whether the register is\n\t// 32, 16, or 8 bits wide. A register identifier of the form eXX is used when the width of the register\n\t// depends on the operand-size attribute. For example, eAX indicates that the AX register is used\n\t// when the operand-size attribute is 16, and the EAX register is used when the operand-size at-tribute\n\t// is 32.\t\n\n\tD__AL,D__CL,D__DL,D__BL,D__AH,D__CH,D__DH,D__BH,\n\tD__AL_r8L,D__CL_r9L,D__DL_r10L,D__BL_r11L,D__AH_r12L,D__CH_r13L,D__DH_r14L,D__BH_r15L,\n\tD__AX,D__CX,D__DX,D__BX,D__SP,D__BP,D__SI,D__DI,\n\n\tD__eAX,D__eCX,D__eDX,D__eBX,D__eSP,D__eBP,D__eSI,D__eDI,\n\n\tD__rAX_r8,D__rCX_r9,D__rDX_r10,D__rBX_r11,D__rSP_r12,D__rBP_r13,D__rSI_r14,D__rDI_r15,\n\n\tD__rAX,D__rCX,D__rDX,D__rBX,D__rSP,D__rBP,D__rSI,D__rDI,\n#define D__eX\tD__eAX\n\n\tD__EAX,D__ECX,D__EDX,D__EBX,D__ESP,D__EBP,D__ESI,D__EDI,\n\tD__RAX_EAX_R8_R8D,D__RCX_ECX_R9_R9D,D__RDX_EDX_R10_R10D,D__RBX_EBX_R11_R11D,D__RSP_ESP_R12_R12D,D__RBP_EBP_R13_R13D,D__RSI_ESI_R14_R14D,D__RDI_EDI_R15_R15D,\n\tD__ES,D__CS,D__SS,D__DS,D__FS,D__GS,\n\n\tD__st,\n\tD__st0,D__st1,D__st2,D__st3,D__st4,D__st5,D__st6,D__st7,\n\n\t\n\t// A ModR/M byte follows the opcode and specifies the operand. The operand is either a\n\t// general-purpose register or a memory address. If it is a memory address, the address is\n\t// computed from a segment register and any of the following values: a base register, an\n\t// index register, a scaling factor, a displacement.\t\t\n\tD__Eb,D__rEb,D__wEb,D__rwEb,\n\tD__Ew,D__rEw,D__wEw,D__rwEw,\n\tD__Ev,D__rEv,D__wEv,D__rwEv,\n\tD__Ed,D__rEd,D__wEd,D__rwEd,\n\tD__Ep,D__rEp,D__wEp,D__rwEp,\n\tD__Ey,D__rEy,D__wEy,D__rwEy,\n\t// The ModR/M byte may refer only to memory (for example, LEA,BOUND, LES, LDS, LSS,\n\t// LFS, LGS, CMPXCHG8B).\n\tD__M,D__rM,D__wM,D__rwM,\n\tD__Ma,D__rMa,D__wMa,D__rwMa,\n\tD__Mb,D__rMb,D__wMb,D__rwMb,\n\tD__Mp,D__rMp,D__wMp,D__rwMp,\n\tD__Ms,D__rMs,D__wMs,D__rwMs,\n\tD__Mq,D__wMq,D__rMq,D__rwMq,\n\tD__MqMdq,D__wMqMdq,D__rMqMdq,D__rwMqMdq,\n\n\tD__Mps,D__wMps,D__rMps,D__rwMps,\n\tD__Mpd,D__wMpd,D__rMpd,D__rwMpd,\n\tD__Mdq,D__wMdq,D__rMdq,D__rwMdq,\t\n\tD__Md,D__rMd,D__wMd,D__rwMd,\n\tD__Mw,D__rMw,D__wMw,D__rwMw,\n\t//D__MwRv,D__rMwRv,D__wMwRv,D__rwMwRv,\n\tD__wMwRv,\n\tD__Mv,D__rMv,D__wMv,D__rwMv,\n\tD__My,D__rMy,D__wMy,D__rwMy,\n\t\n\t// A ModR/M byte follows the opcode and specifies the operand. The operand is either\n\t// an MMX?technology register or a memory address. If it is a memory address, the ad-dress\n\t// is computed from a segment register and any of the following values: a base reg-ister,\n\t// an index register, a scaling factor, and a displacement.\n\tD__Qd,D__wQd,D__rQd,D__rwQd,\n\tD__Qq,D__wQq,D__rQq,D__rwQq,\n\tD__Qpi,D__wQpi,D__rQpi,D__rwQpi,\n\tD__Qdq,D__wQdq,D__rQdq,D__rwQdq,\n\n\t// An ModR/M byte follows the opcode and specifies the operand. The operand is either\n\t// a SIMD floating-point register or a memory address. If it is a memory address, the ad-dress\n\t// is computed from a segment register and any of the following values: a base reg-ister,\n\t// an index register, a scaling factor, and a displacement\n\n\n\tD__Vpd,D__rVpd,D__wVpd,D__rwVpd,\n\tD__Vdq,D__rVdq,D__wVdq,D__rwVdq,\n\tD__Vsd,D__wVsd,D__rVsd,D__rwVsd,\n\tD__Vq,D__wVq,D__rVq,D__rwVq,\n\tD__Vps,D__wVps,D__rVps,D__rwVps,\n\tD__Vss,D__wVss,D__rVss,D__rwVss,\n\tD__Vy,D__wVy,D__rVy,D__rwVy,\n\n\tD__Wsd,D__wWsd,D__rWsd,D__rwWsd,\n\tD__Wdq,D__rWdq,D__wWdq,D__rwWdq,\n\tD__Wpd,D__wWpd,D__rWpd,D__rwWpd,\n\tD__Wq,D__wWq,D__rWq,D__rwWq,\n\tD__Wps,D__wWps,D__rWps,D__rwWps,\n\tD__Wss,D__wWss,D__rWss,D__rwWss,\n\n\tD__Ups,D__wUps,D__rUps,D__rwUps,\n\tD__Upd,D__wUpd,D__rUpd,D__rwUpd,\n\tD__Uq,D__wUq,D__rUq,D__rwUq,\n\tD__Udq,D__wUdq,D__rUdq,D__rwUdq,\n\n\tD__Nq,D__wNq,D__rNq,D__rwNq,\n\n\t//\n\tD__word_int,\n\tD__dword_int,\n\tD__qword_int,\n\tD__single_real,\n\tD__double_real,\n\tD__extend_real,\n\tD__packed_BCD,\n\tD__2b,\n\tD__14_28b,\n\tD__98_108b,\n\n\t//ΪִжĲ\n\tD__tO,D__fO,D__tC,D__fC,D__tZ,D__fZ,D__fA,D__tA,\n\tD__tS,D__fS,D__tP,D__fP,D__tL,D__fL,D__fG,D__tG,\n\tD__LOOPNZ,\tD__LOOPZ,\tD__LOOP,\tD__JCXZ,\tD__JMP,\n\n\t//ΪĲ\n\tD_NEAR,D_MFAR,  // The ModR/M byte may refer only to memory or word register for call and jmp\n\tD_DBYTE, // db\n\tD_DWORD, // dw \n\tD_DDWORD,// dd \n\tD_STRING,// db \"string\" \n}OPCODETYPE;\n\n\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/IntelDis.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"IntelDef.h\"\n#include \"IntelDis.h\"\n\nLOCKREPXX LockRepxx[]=\n{\n\t{\"LOCK \"\t,0xf0},\n\t{\"REP \"\t\t,0xf3},\n\t{\"REPZ \"\t,0xf3},\n\t{\"REPE \"\t,0xf3},\n\t{\"REPNE \"\t,0xf2},\n\t{\"REPNZ \"\t,0xf2}\n};\n\nOPDATAWIDE OpDataWide[]=\n{\n\t{1,\t\t\"SHORT PTR\"\t\t},\n\t{2,\t\t\"NEAR PTR\"\t\t},\n\t{4,\t\t\"FAR PTR\"\t\t},\n\t{1,\t\t\"BYTE PTR\"\t\t},\n\t{2,\t\t\"WORD PTR\"\t\t},\n\t{4,\t\t\"DWORD PTR\"\t\t},\n\t{6,\t\t\"FWORD PTR\"\t\t},\n\t{8,\t\t\"QWORD PTR\"\t\t},\n\t{10,\t\"TBYTE PTR\"\t\t},\n\t{16,\t\"OWORD PTR\"\t\t},\n};\n\n\nchar *RegAddr16[]=\n{ \n\n\t\"[BX+SI]\"\t,\t\"[SI+BX]\"\t\t,\t\"[BX][SI]\"\t\t,\t\"[SI][BX]\",\n\t\"[BX+DI]\"\t,\t\"[DI+BX]\"\t\t,\t\"[BX][DI]\"\t\t,\t\"[DI][BX]\",\n\t\"[BP+SI]\"\t,\t\"[SI+BP]\"\t\t,\t\"[BP][SI]\"\t\t,\t\"[SI][BP]\",\n\t\"[BP+DI]\"\t,\t\"[DI+BP]\"\t\t,\t\"[BP][DI]\"\t\t,\t\"[DI][BP]\",\n\t\"[SI]\"\t\t,\t\"[SI]\"\t\t\t,\t\"[SI]\"\t\t\t,\t\"[SI]\",\n\t\"[DI]\"\t\t,\t\"[DI]\"\t\t\t,\t\"[DI]\"\t\t\t,\t\"[DI]\",\n\t\"[BP]\"\t\t,\t\"[BP]\"\t\t\t,\t\"[BP]\"\t\t\t,\t\"[BP]\",\n\t\"[BX]\"\t\t,\t\"[BX]\"\t\t\t,\t\"[BX]\"\t\t\t,\t\"[BX]\"\n\n};\n\nchar *xxxxptr[] =\n{\n\tNULL,\n\t\"BYTE\",\n\t\"WORD\",\n\tNULL,\n\t\"DWORD\",\n\tNULL,\n\t\"FWORD\",\n\tNULL,\n\t\"QWORD\",\t\n\tNULL,\n\t\"TBYTE\",\n\tNULL,\n\tNULL,\n\tNULL,\n\tNULL,\n\tNULL,\n\t\"OWORD\"\n};\n\nBYTE SegmentValue[8] =\n{\n\t0x26,0x2e,0x36,0x3e,0x64,0x65,0x00,0x00\n};\n\nchar *SegReg[8] =\n{\n\t\"ES\",\"CS\",\"SS\",\"DS\",\"FS\",\"GS\",\"??\",\"??\"\n};\n\nchar *RegByte[8] =\n{\n\t\"AL\",\"CL\",\"DL\",\"BL\",\"AH\",\"CH\",\"DH\",\"BH\"\n};\n\nchar *RegByteFor64bit[16] =\n{\n\t\"AL\",\"CL\",\"DL\",\"BL\",\"SPL\",\"BPL\",\"SIL\",\"DIL\",\n\t//\"R8L\",\"R9L\",\"R10L\",\"R11L\",\"R12L\",\"R13L\",\"R14L\",\"R15L\",\n\t\"R8B\",\"R9B\",\"R10B\",\"R11B\",\"R12B\",\"R13B\",\"R14B\",\"R15B\",\n};\n\nchar *RegWord[16] = \n{\n\t\"AX\",\"CX\",\"DX\",\"BX\",\"SP\",\"BP\",\"SI\",\"DI\",\n\t\"R8W\",\"R9W\",\"R10W\",\"R11W\",\"R12W\",\"R13W\",\"R14W\",\"R15W\",\n};\nchar *RegQWord[16] = \n{\n\t\"RAX\",\"RCX\",\"RDX\",\"RBX\",\"RSP\",\"RBP\",\"RSI\",\"RDI\",\n\t\"R8\",\"R9\",\"R10\",\"R11\",\"R12\",\"R13\",\"R14\",\"R15\",\n};\nchar *RegDWord[16] = \n{\n\t\"EAX\",\"ECX\",\"EDX\",\"EBX\",\"ESP\",\"EBP\",\"ESI\",\"EDI\",\n\t\"R8D\",\"R9D\",\"R10D\",\"R11D\",\"R12D\",\"R13D\",\"R14D\",\"R15D\",\n};\nchar *RegMMXQWord[8] = \n{\n\t\"MM0\",\"MM1\",\"MM2\",\"MM3\",\"MM4\",\"MM5\",\"MM6\",\"MM7\",\n};\nchar *RegCR[16] = \n{\n\t\"CR0\",\"CR1\",\"CR2\",\"CR3\",\"CR4\",\"CR5\",\"CR6\",\"CR7\",\n\t\"CR8\",\"CR9\",\"CR10\",\"CR11\",\"CR12\",\"CR13\",\"CR14\",\"CR15\",\n};\n\nchar *RegTR[16] = \n{\n\t\"TR0\",\"TR1\",\"TR2\",\"TR3\",\"TR4\",\"TR5\",\"TR6\",\"TR7\",\n\t\"TR8\",\"TR9\",\"TR10\",\"TR11\",\"TR12\",\"TR13\",\"TR14\",\"TR15\",\n};\n\nchar *RegDR[16] = \n{\n\t\"DR0\",\"DR1\",\"DR2\",\"DR3\",\"DR4\",\"DR5\",\"DR6\",\"DR7\",\n\t\"DR8\",\"DR9\",\"DR10\",\"DR11\",\"DR12\",\"DR13\",\"DR14\",\"DR15\",\n};\nchar *RegXMMOWord[16] = \n{\n\t\"XMM0\",\"XMM1\",\"XMM2\",\"XMM3\",\"XMM4\",\"XMM5\",\"XMM6\",\"XMM7\",\n\t\"XMM8\",\"XMM9\",\"XMM10\",\"XMM11\",\"XMM12\",\"XMM13\",\"XMM14\",\"XMM15\",\n};\nchar *RegFPU[9] = \n{\n\t\"ST(0)\",\"ST(1)\",\"ST(2)\",\"ST(3)\",\"ST(4)\",\"ST(5)\",\"ST(6)\",\"ST(7)\",\"ST\"\n\t\n};\n\nchar *FlagS[2][8]=\n{\n\t{\"NV\",\"UP\",\"DI\",\"PL\",\"NZ\",\"NA\",\"PO\",\"NC\"},\n\t{\"OV\",\"DN\",\"EI\",\"NG\",\"ZR\",\"AC\",\"PE\",\"CY\"}\n};\n\nchar *FlagICE[2][8]=\n{\n\t{\"o\",\"d\",\"i\",\"s\",\"z\",\"a\",\"p\",\"c\"},\n\t{\"O\",\"D\",\"I\",\"S\",\"Z\",\"A\",\"P\",\"C\"}\n};\n\nBYTE Segment[8] =\n{\n\t0x26,0x2e,0x36,0x3e,0x64,0x65,0x00,0x00\n};\n\nchar *CtrReg[8] =\n{\n\t\"IP\",\"EIP\",\"FLAGS\",\"FLAG\",\"FL\",\"EFLAGS\",\"EFLAG\",\"EFL\"\n};\n\nchar *RegName[][8] =\n{\n\t{\"ES\",\"CS\",\"SS\",\"DS\",\"FS\",\"GS\",\"??\",\"??\"},\n\t{\"AL\",\"CL\",\"DL\",\"BL\",\"AH\",\"CH\",\"DH\",\"BH\"},\n\t{\"AX\",\"CX\",\"DX\",\"BX\",\"SP\",\"BP\",\"SI\",\"DI\"},\n\t{\"EAX\",\"ECX\",\"EDX\",\"EBX\",\"ESP\",\"EBP\",\"ESI\",\"EDI\"}\n};\n\nchar *Emblem[0x200] =\n{\n\t\"ES\",\"CS\",\"SS\",\"DS\",\"FS\",\"GS\",\n\t\"AL\",\"CL\",\"DL\",\"BL\",\"AH\",\"CH\",\"DH\",\"BH\",\n\t\"AX\",\"CX\",\"DX\",\"BX\",\"SP\",\"BP\",\"SI\",\"DI\",\n\t\"EAX\",\"ECX\",\"EDX\",\"EBX\",\"ESP\",\"EBP\",\"ESI\",\"EDI\",\n\t//----------------------------------\n\t\t\n\t\"IP\",\"EIP\",\"FLAGS\",\"EFLAGS\",\n\t//----------------------------------\n\t\n\t\"BYTE\",\"WORD\",\"DWORD\",\"FWORD\",\"QWORD\",\"TWORD\",\n\t\n\t//----------------------------------\n\t\"SHORT\",\"NEAR\",\"FAR\",\"PTR\",\n\t\t\n\t//----------------------------------\n\t\"ADD\",\"ADC\",\"SUB\",\"SBB\",\"MUL\",\"IDIV\",\n\t\"XOR\",\"AND\",\"OR\" ,\"NOT\",\"NEG\",\"TEST\"\n};\n\n\nDIS_OPCODE_T Group0x0f00[] = //CPUģʽָ\n{\n\t{R_M, C_SLDT,\tD__wMwRv,\tD__NONE,\tD__NONE,\t\"SLDT\" \t,0x000f,2|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x0\n\t{R_M, C_STR,\tD__wMwRv,\tD__NONE,\tD__NONE,\t\"STR\" \t,0x000f,2|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x1\n\t{R_M, C_LLDT,\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LLDT\" \t,0x000f,2|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_LTR,\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LTR\" \t,0x000f,2|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_VERR,\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"VERR\" \t,0x000f,2|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_VERW,\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"VERW\" \t,0x000f,2|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t} //0x7\n\n};\n\n\nDIS_OPCODE_T Group0x0fba[] =  //80386\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x0\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M |Immediate_Ib, C_BT,\tD__rEv,\t\tD__Ib,\t\tD__NONE,\t\"BT\" \t,0xba0f,2|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x4\n\t{R_M |Immediate_Ib, C_BTS,\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"BTS\" \t,0xba0f,2|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x5\n\t{R_M |Immediate_Ib, C_BTR,\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"BTR\" \t,0xba0f,2|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x6\n\t{R_M |Immediate_Ib, C_BTC,\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"BTC\" \t,0xba0f,2|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)} //0x7\n\n};\n\n//---------------------------------------------------------------\n//intel ָ\n//----------------------------------------------------------------\nDIS_OPCODE_T Group0x80[] = //immediate group\n{\n\t{R_M |Immediate_Ib, C_ADD,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ADD\" \t,0x80,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_Ib, C_OR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"OR\" \t,0x80,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_Ib, C_ADC,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ADC\" \t,0x80,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_Ib, C_SBB,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SBB\" \t,0x80,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_Ib, C_AND,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"AND\" \t,0x80,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_Ib, C_SUB,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SUB\" \t,0x80,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_Ib, C_XOR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"XOR\" \t,0x80,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_Ib, C_CMP,\t\tD__rEb,\t\tD__Ib,\t\tD__NONE,\t\"CMP\" \t,0x80,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)} //0x7\n};\n\nDIS_OPCODE_T Group0x81[] = //immediate group\n{\n\t{R_M |Immediate_Iz, \tC_ADD,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"ADD\" \t,0x81,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_Iz, \tC_OR,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"OR\" \t,0x81,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_Iz, \tC_ADC,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"ADC\" \t,0x81,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_Iz, \tC_SBB,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"SBB\" \t,0x81,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_Iz, \tC_AND,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"AND\" \t,0x81,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_Iz, \tC_SUB,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"SUB\" \t,0x81,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_Iz, \tC_XOR,\t\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t\"XOR\" \t,0x81,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_Iz, \tC_CMP,\t\tD__rEv,\t\tD__Iz,\t\tD__NONE,\t\"CMP\" \t,0x81,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0x82[] = //immediate group\n{\n\t{R_M |Immediate_Ib|I_64, \tC_ADD,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ADD\" \t,0x82,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_Ib|I_64, \tC_OR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"OR\" \t,0x82,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_Ib|I_64, \tC_ADC,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ADC\" \t,0x82,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_Ib|I_64, \tC_SBB,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SBB\" \t,0x82,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_Ib|I_64, \tC_AND,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"AND\" \t,0x82,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_Ib|I_64, \tC_SUB,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SUB\" \t,0x82,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_Ib|I_64, \tC_XOR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"XOR\" \t,0x82,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_Ib|I_64, \tC_CMP,\t\tD__rEb,\t\tD__Ib,\t\tD__NONE,\t\"CMP\" \t,0x82,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0x83[] = //immediate group\n{\n\t{R_M |Immediate_sIb, \tC_ADD,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"ADD\" \t,0x83,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_sIb, \tC_OR,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"OR\" \t,0x83,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_sIb, \tC_ADC,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"ADC\" \t,0x83,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_sIb, \tC_SBB,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"SBB\" \t,0x83,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_sIb, \tC_AND,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"AND\" \t,0x83,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_sIb, \tC_SUB,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"SUB\" \t,0x83,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_sIb, \tC_XOR,\t\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t\"XOR\" \t,0x83,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_sIb, \tC_CMP,\t\tD__rEv,\t\tD__sIb,\t\tD__NONE,\t\"CMP\" \t,0x83,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xc0[] = //shift group\n{\n\t{R_M |Immediate_Ib, \tC_ROL,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ROL\" \t,0xc0,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_Ib, \tC_ROR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"ROR\" \t,0xc0,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_Ib, \tC_RCL,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"RCL\" \t,0xc0,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_Ib, \tC_RCR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"RCR\" \t,0xc0,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_Ib, \tC_SHL,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SHL\" \t,0xc0,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_Ib, \tC_SHR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SHR\" \t,0xc0,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_Ib, \tC_SAL,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SAL\" \t,0xc0,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_Ib, \tC_SAR,\t\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t\"SAR\" \t,0xc0,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xc1[] = //shift group\n{\n\t{R_M |Immediate_Ib, \tC_ROL,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"ROL\" \t,0xc1,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_Ib, \tC_ROR,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"ROR\" \t,0xc1,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_Ib, \tC_RCL,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"RCL\" \t,0xc1,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_Ib, \tC_RCR,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"RCR\" \t,0xc1,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_Ib, \tC_SHL,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"SHL\" \t,0xc1,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_Ib, \tC_SHR,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"SHR\" \t,0xc1,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_Ib, \tC_SAL,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"SAL\" \t,0xc1,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_Ib, \tC_SAR,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t\"SAR\" \t,0xc1,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xc6[] = //mov group\n{\n\t{R_M |Immediate_Ib,\tC_MOV,\t\tD__wEb,\t\tD__Ib,\t\tD__NONE,\t\"MOV\" \t,0xc6,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x0\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x7\n\n};\n\nDIS_OPCODE_T Group0xc7[] = //mov group\n{\n\t{R_M |Immediate_Iz,\tC_MOV,\t\tD__wEv,\t\tD__Iz,\t\tD__NONE,\t\"MOV\" \t,0xc7,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x0\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M,\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x7\n\n};\n\nDIS_OPCODE_T Group0xd0[] = //shift group\n{\n\t{R_M |Immediate_1, C_ROL,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"ROL\" \t,0xd0,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_1, C_ROR,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"ROR\" \t,0xd0,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_1, C_RCL,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"RCL\" \t,0xd0,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_1, C_RCR,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"RCR\" \t,0xd0,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_1, C_SHL,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"SHL\" \t,0xd0,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_1, C_SHR,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"SHR\" \t,0xd0,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_1, C_SAL,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"SAL\" \t,0xd0,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_1, C_SAR,\t\tD__Eb,\t\tD__1,\t\tD__NONE,\t\"SAR\" \t,0xd0,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xd1[] = //shift group\n{\n\t{R_M |Immediate_1, C_ROL,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"ROL\" \t,0xd1,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M |Immediate_1, C_ROR,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"ROR\" \t,0xd1,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M |Immediate_1, C_RCL,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"RCL\" \t,0xd1,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M |Immediate_1, C_RCR,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"RCR\" \t,0xd1,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M |Immediate_1, C_SHL,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"SHL\" \t,0xd1,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M |Immediate_1, C_SHR,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"SHR\" \t,0xd1,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M |Immediate_1, C_SAL,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"SAL\" \t,0xd1,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M |Immediate_1, C_SAR,\t\tD__Ev,\t\tD__1,\t\tD__NONE,\t\"SAR\" \t,0xd1,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xd2[] = //shift group\n{\n\t{R_M, C_ROL,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"ROL\" \t,0xd2,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M, C_ROR,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"ROR\" \t,0xd2,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M, C_RCL,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"RCL\" \t,0xd2,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M, C_RCR,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"RCR\" \t,0xd2,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M, C_SHL,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"SHL\" \t,0xd2,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M, C_SHR,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"SHR\" \t,0xd2,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M, C_SAL,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"SAL\" \t,0xd2,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M, C_SAR,\t\tD__Eb,\t\tD__CL,\tD__NONE,\t\"SAR\" \t,0xd2,1|C_GROUP_0_TYPE|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xd3[] = //shift group\n{\n\t{R_M, C_ROL,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"ROL\" \t,0xd3,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M, C_ROR,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"ROR\" \t,0xd3,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M, C_RCL,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"RCL\" \t,0xd3,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2\n\t{R_M, C_RCR,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"RCR\" \t,0xd3,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x3\n\t{R_M, C_SHL,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"SHL\" \t,0xd3,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M, C_SHR,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"SHR\" \t,0xd3,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M, C_SAL,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"SAL\" \t,0xd3,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M, C_SAR,\t\tD__Ev,\t\tD__CL,\tD__NONE,\t\"SAR\" \t,0xd3,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0x7\n\n};\n\nDIS_OPCODE_T Group0xf6[] = //test/not/neg/mul/div group\n{\n\t{R_M |Immediate_Ib, C_TEST,\tD__rEb,\t\tD__Ib,\t\tD__NONE,\t\"TEST\" \t,0xf6,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x0\n\t{0, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL \t,0xf6,1|C_GROUP_0_TYPE|(1<<16)}, //0x1\n\t{R_M, C_NOT,\tD__Eb,\t\tD__NONE,\tD__NONE,\t\"NOT\" \t,0xf6,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x2\n\t{R_M, C_NEG,\tD__Eb,\t\tD__NONE,\tD__NONE,\t\"NEG\" \t,0xf6,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x3\n\t{R_M, C_MUL,\tD__rEb,\t\tD__NONE,\tD__NONE,\t\"MUL\" \t,0xf6,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_IMUL,\tD__rEb,\t\tD__NONE,\tD__NONE,\t\"IMUL\" \t,0xf6,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_DIV,\tD__rEb,\t\tD__NONE,\tD__NONE,\t\"DIV\" \t,0xf6,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_IDIV,\tD__rEb,\t\tD__NONE,\tD__NONE,\t\"IDIV\" \t,0xf6,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x7\n\n};\n\nDIS_OPCODE_T Group0xf7[] = //test/not/neg/mul/div group\n{\n\t{R_M |Immediate_Iz,\tC_TEST,\tD__rEv,\t\tD__Iz,\t\tD__NONE,\t\"TEST\" \t,0xf7,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x0\n\t{0,C_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\tNULL \t,0xf7,1|C_GROUP_0_TYPE|(1<<16)}, //0x1\n\t{R_M, C_NOT,\tD__Ev,\t\tD__NONE,\tD__NONE,\t\"NOT\" \t,0xf7,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x2\n\t{R_M, C_NEG,\tD__Ev,\t\tD__NONE,\tD__NONE,\t\"NEG\" \t,0xf7,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x3\n\t{R_M, C_MUL,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"MUL\" \t,0xf7,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_IMUL,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"IMUL\" \t,0xf7,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_DIV,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"DIV\" \t,0xf7,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_IDIV,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"IDIV\" \t,0xf7,1|C_GROUP_0_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)} //0x7\n};\n\nDIS_OPCODE_T Group0xfe[] = //inc/dec group\n{\n\t{R_M, C_INC,\tD__Eb,\t\tD__NONE,\tD__NONE,\t\"INC\" \t,0xfe,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x0\n\t{R_M, C_DEC,\tD__Eb,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t,0xfe,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x1\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //0x7\n\n};\n\nDIS_OPCODE_T Group0xff[] = //inc/dec/תָ/push group\n{\n\t{R_M, \t\tC_INC,\tD__rwEv,\tD__NONE,\tD__NONE,\t\"INC\" \t,0xff,1|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x0\n\t{R_M, \t\tC_DEC,\tD__rwEv,\tD__NONE,\tD__NONE,\t\"DEC\" \t,0xff,1|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x1\n\t{R_M|F_64,\tC_CALL,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"CALL\" \t,0xff,1|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M,\t\tC_CALL,\tD__rEp,\t\tD__NONE,\tD__NONE,\t\"CALL\" \t,0xff,1|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M|F_64,\tC_JMP,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"JMP\" \t,0xff,1|C_GROUP_0_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M,\t\tC_JMP,\tD__rEp,\t\tD__NONE,\tD__NONE,\t\"JMP\" \t,0xff,1|C_GROUP_0_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M|D_64, \tC_PUSH,\tD__rEv,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0xff,1|C_GROUP_0_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M,\t\tC_NULL\t\t\t\t\t\t\t\t\t\t\t\t} //0x7\n\n};\n\n\nDIS_OPCODE_T Group0x8f[] = //pop group\n{\n\t{R_M | D_64, C_POP,\tD__wEv,\t\tD__NONE,\tD__NONE,\t\"POP\" \t,0x8f,1|C_GROUP_0_TYPE,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x0\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x7\n\n};\n\n\nDIS_OPCODE_T Group0xd8[] = //fpu group\n{\n\t{R_M, C_FADD,\tD__single_real,\tD__NONE,D__NONE,\t\"FADD\" \t\t,0xd8,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FMUL,\tD__single_real,\tD__NONE,D__NONE,\t\"FMUL\" \t\t,0xd8,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_FCOM,\tD__single_real,\tD__NONE,D__NONE,\t\"FCOM\" \t\t,0xd8,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_FCOMP,\tD__single_real,\tD__NONE,D__NONE,\t\"FCOMP\" \t,0xd8,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_FSUB,\tD__single_real,\tD__NONE,D__NONE,\t\"FSUB\" \t\t,0xd8,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_FSUBR,\tD__single_real,\tD__NONE,D__NONE,\t\"FSUBR\" \t,0xd8,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_FDIV,\tD__single_real,\tD__NONE,D__NONE,\t\"FDIV\" \t\t,0xd8,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_FDIVR,\tD__single_real,\tD__NONE,D__NONE,\t\"FDIVR\" \t,0xd8,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FADD,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FADD\" \t\t,0xc0d8,2|C_ESC_GROUP_TYPE|(8<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc0   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FADD\" \t\t,0xc1d8,2|C_ESC_GROUP_TYPE|(9<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc1   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FADD\" \t\t,0xc2d8,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc2   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FADD\" \t\t,0xc3d8,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc3   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FADD\" \t\t,0xc4d8,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc4   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FADD\" \t\t,0xc5d8,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc5   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FADD\" \t\t,0xc6d8,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc6   \n\t{ 0 , C_FADD,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FADD\" \t\t,0xc7d8,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc7   \n\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FMUL\" \t\t,0xc8d8,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc8\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FMUL\" \t\t,0xc9d8,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc9\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FMUL\" \t\t,0xcad8,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xca\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FMUL\" \t\t,0xcbd8,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcb\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FMUL\" \t\t,0xccd8,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcc\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FMUL\" \t\t,0xcdd8,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcd\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FMUL\" \t\t,0xced8,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xce\n\t{ 0 , C_FMUL,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FMUL\" \t\t,0xcfd8,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcf\n\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCOM\" \t\t,0xd0d8,2|C_ESC_GROUP_TYPE|(24<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd0\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCOM\" \t\t,0xd1d8,2|C_ESC_GROUP_TYPE|(25<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd1\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCOM\" \t\t,0xd2d8,2|C_ESC_GROUP_TYPE|(26<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd2\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCOM\" \t\t,0xd3d8,2|C_ESC_GROUP_TYPE|(27<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd3\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCOM\" \t\t,0xd4d8,2|C_ESC_GROUP_TYPE|(28<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd4\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCOM\" \t\t,0xd5d8,2|C_ESC_GROUP_TYPE|(29<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd5\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCOM\" \t\t,0xd6d8,2|C_ESC_GROUP_TYPE|(30<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd6\n\t{ 0 , C_FCOM,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCOM\" \t\t,0xd7d8,2|C_ESC_GROUP_TYPE|(31<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd7\n\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCOMP\" \t,0xd8d8,2|C_ESC_GROUP_TYPE|(32<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd8\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCOMP\" \t,0xd9d8,2|C_ESC_GROUP_TYPE|(33<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd9\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCOMP\" \t,0xdad8,2|C_ESC_GROUP_TYPE|(34<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xda\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCOMP\" \t,0xdbd8,2|C_ESC_GROUP_TYPE|(35<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdb\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCOMP\" \t,0xdcd8,2|C_ESC_GROUP_TYPE|(36<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdc\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCOMP\" \t,0xddd8,2|C_ESC_GROUP_TYPE|(37<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdd\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCOMP\" \t,0xded8,2|C_ESC_GROUP_TYPE|(38<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xde\n\t{ 0 , C_FCOMP,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCOMP\" \t,0xdfd8,2|C_ESC_GROUP_TYPE|(39<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdf\n\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FSUB\" \t\t,0xe0d8,2|C_ESC_GROUP_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe0\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FSUB\" \t\t,0xe1d8,2|C_ESC_GROUP_TYPE|(41<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe1\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FSUB\" \t\t,0xe2d8,2|C_ESC_GROUP_TYPE|(42<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe2\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FSUB\" \t\t,0xe3d8,2|C_ESC_GROUP_TYPE|(43<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe3\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FSUB\" \t\t,0xe4d8,2|C_ESC_GROUP_TYPE|(44<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe4\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FSUB\" \t\t,0xe5d8,2|C_ESC_GROUP_TYPE|(45<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe5\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FSUB\" \t\t,0xe6d8,2|C_ESC_GROUP_TYPE|(46<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe6\n\t{ 0 , C_FSUB,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FSUB\" \t\t,0xe7d8,2|C_ESC_GROUP_TYPE|(47<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe7\n\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FSUBR\" \t,0xe8d8,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe8\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FSUBR\" \t,0xe9d8,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe9\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FSUBR\" \t,0xead8,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xea\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FSUBR\" \t,0xebd8,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xeb\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FSUBR\" \t,0xecd8,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xec\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FSUBR\" \t,0xedd8,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xed\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FSUBR\" \t,0xeed8,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xee\n\t{ 0 , C_FSUBR,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FSUBR\" \t,0xefd8,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xef\n\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FDIV\" \t\t,0xf0d8,2|C_ESC_GROUP_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf0\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FDIV\" \t\t,0xf1d8,2|C_ESC_GROUP_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf1\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FDIV\" \t\t,0xf2d8,2|C_ESC_GROUP_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FDIV\" \t\t,0xf3d8,2|C_ESC_GROUP_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FDIV\" \t\t,0xf4d8,2|C_ESC_GROUP_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf4\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FDIV\" \t\t,0xf5d8,2|C_ESC_GROUP_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf5\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FDIV\" \t\t,0xf6d8,2|C_ESC_GROUP_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf6\n\t{ 0 , C_FDIV,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FDIV\" \t\t,0xf7d8,2|C_ESC_GROUP_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf7\n\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FDIVR\" \t,0xf8d8,2|C_ESC_GROUP_TYPE|(64<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf8\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FDIVR\" \t,0xf9d8,2|C_ESC_GROUP_TYPE|(65<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf9\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FDIVR\" \t,0xfad8,2|C_ESC_GROUP_TYPE|(66<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfa\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FDIVR\" \t,0xfbd8,2|C_ESC_GROUP_TYPE|(67<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfb\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FDIVR\" \t,0xfcd8,2|C_ESC_GROUP_TYPE|(68<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfc\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FDIVR\" \t,0xfdd8,2|C_ESC_GROUP_TYPE|(69<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfd\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FDIVR\" \t,0xfed8,2|C_ESC_GROUP_TYPE|(70<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfe\n\t{ 0 , C_FDIVR,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FDIVR\" \t,0xffd8,2|C_ESC_GROUP_TYPE|(71<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0xff\n\n};\n\n\nDIS_OPCODE_T Group0xd9[] = //fpu group\n{\n\t{R_M, C_FLD,\t\tD__single_real,\tD__NONE,D__NONE,\t\"FLD\" \t\t,0xd9,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{0, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M, C_FST,\t\tD__single_real,\tD__NONE,D__NONE,\t\"FST\" \t\t,0xd9,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x2\n\t{R_M, C_FSTP,\t\tD__single_real,\tD__NONE,D__NONE,\t\"FSTP\" \t\t,0xd9,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x3\n\t{R_M, C_FLDENV,\t\tD__14_28b,\t\tD__NONE,D__NONE,\t\"FLDENV\" \t,0xd9,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_FLDCW,\t\tD__2b,\t\t\tD__NONE,D__NONE,\t\"FLDCW\" \t,0xd9,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_FSTENV,\t\tD__14_28b,\t\tD__NONE,D__NONE,\t\"FSTENV\" \t,0xd9,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x6\n\t{R_M, C_FSTCW,\t\tD__2b,\t\t\tD__NONE,D__NONE,\t\"FSTCW\" \t,0xd9,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FLD\" \t\t,0xc0d9,2|C_ESC_GROUP_TYPE|(8<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc0\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FLD\" \t\t,0xc1d9,2|C_ESC_GROUP_TYPE|(9<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc1\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FLD\" \t\t,0xc2d9,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc2\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FLD\" \t\t,0xc3d9,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc3\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FLD\" \t\t,0xc4d9,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc4\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FLD\" \t\t,0xc5d9,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc5\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FLD\" \t\t,0xc6d9,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc6\n\t{ 0 , C_FLD,\t\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FLD\" \t\t,0xc7d9,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc7\n\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FXCH\" \t\t,0xc8d9,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xc8\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FXCH\" \t\t,0xc9d9,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xc9\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FXCH\" \t\t,0xcad9,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xca\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FXCH\" \t\t,0xcbd9,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xcb\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FXCH\" \t\t,0xccd9,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xcc\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FXCH\" \t\t,0xcdd9,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xcd\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FXCH\" \t\t,0xced9,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xce\n\t{ 0 , C_FXCH,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FXCH\" \t\t,0xcfd9,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xcf\n\n\t{ 0 , C_FNOP,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FNOP\" \t\t,0xd0d9,2|C_ESC_GROUP_TYPE|(24<<16)}, //0xd0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xda\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xde\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdf\n\n\t{ 0 , C_FCHS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FCHS\" \t\t,0xe0d9,2|C_ESC_GROUP_TYPE|(40<<16)}, //0xe0\n\t{ 0 , C_FABS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FABS\" \t\t,0xe1d9,2|C_ESC_GROUP_TYPE|(41<<16)}, //0xe1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe3\n\t{ 0 , C_FTST,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FTST\" \t\t,0xe4d9,2|C_ESC_GROUP_TYPE|(44<<16)}, //0xe4\n\t{ 0 , C_FXAM,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FXAM\" \t\t,0xe5d9,2|C_ESC_GROUP_TYPE|(45<<16)}, //0xe5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe7\n\n\t{ 0 , C_FLD1,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLD1\" \t\t,0xe8d9,2|C_ESC_GROUP_TYPE|(48<<16)}, //0xe8\n\t{ 0 , C_FLDL2T,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDL2T\" \t,0xe9d9,2|C_ESC_GROUP_TYPE|(49<<16)}, //0xe9\n\t{ 0 , C_FLDL2E,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDL2E\" \t,0xead9,2|C_ESC_GROUP_TYPE|(50<<16)}, //0xea\n\t{ 0 , C_FLDPI,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDPI\" \t,0xebd9,2|C_ESC_GROUP_TYPE|(51<<16)}, //0xeb\n\t{ 0 , C_FLDLG2,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDLG2\" \t,0xecd9,2|C_ESC_GROUP_TYPE|(52<<16)}, //0xec\n\t{ 0 , C_FLDLN2,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDLN2\" \t,0xedd9,2|C_ESC_GROUP_TYPE|(53<<16)}, //0xed\n\t{ 0 , C_FLDZ,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FLDZ\" \t\t,0xeed9,2|C_ESC_GROUP_TYPE|(54<<16)}, //0xee\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xef\n\n\t{ 0 , C_F2XM1,\tD__NONE,\tD__NONE,\tD__NONE,\t\"F2XM1\" \t,0xf0d9,2|C_ESC_GROUP_TYPE|(56<<16)}, //0xf0\n\t{ 0 , C_FYL2X,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FYL2X\" \t,0xf1d9,2|C_ESC_GROUP_TYPE|(57<<16)}, //0xf1\n\t{ 0 , C_FPTAN,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FPTAN\" \t,0xf2d9,2|C_ESC_GROUP_TYPE|(58<<16)}, //0xf2\n\t{ 0 , C_FPATAN,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FPATAN\" \t,0xf3d9,2|C_ESC_GROUP_TYPE|(59<<16)}, //0xf3\n\t{ 0 , C_FXTRACT,D__NONE,\tD__NONE,\tD__NONE,\t\"FXTRACT\" \t,0xf4d9,2|C_ESC_GROUP_TYPE|(60<<16)}, //0xf4\n\t{ 0 , C_FPREM1,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FPREM1\" \t,0xf5d9,2|C_ESC_GROUP_TYPE|(61<<16)}, //0xf5\n\t{ 0 , C_FDECSTP,D__NONE,\tD__NONE,\tD__NONE,\t\"FDECSTP\" \t,0xf6d9,2|C_ESC_GROUP_TYPE|(62<<16)}, //0xf6\n\t{ 0 , C_FINCSTP,D__NONE,\tD__NONE,\tD__NONE,\t\"FINCSTP\" \t,0xf7d9,2|C_ESC_GROUP_TYPE|(63<<16)}, //0xf7\n\n\t{ 0 , C_FPREM,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FPREM\" \t,0xf8d9,2|C_ESC_GROUP_TYPE|(64<<16)}, //0xf8\n\t{ 0 , C_FYL2XP1,D__NONE,\tD__NONE,\tD__NONE,\t\"FYL2XP1\" \t,0xf9d9,2|C_ESC_GROUP_TYPE|(65<<16)}, //0xf9\n\t{ 0 , C_FSQRT,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FSQRT\" \t,0xfad9,2|C_ESC_GROUP_TYPE|(66<<16)}, //0xfa\n\t{ 0 , C_FSINCOS,D__NONE,\tD__NONE,\tD__NONE,\t\"FSINCOS\" \t,0xfbd9,2|C_ESC_GROUP_TYPE|(67<<16)}, //0xfb\n\t{ 0 , C_FRNDINT,D__NONE,\tD__NONE,\tD__NONE,\t\"FRNDINT\" \t,0xfcd9,2|C_ESC_GROUP_TYPE|(68<<16)}, //0xfc\n\t{ 0 , C_FSCALE,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FSCALE\" \t,0xfdd9,2|C_ESC_GROUP_TYPE|(69<<16)}, //0xfd\n\t{ 0 , C_FSIN,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FSIN\" \t\t,0xfed9,2|C_ESC_GROUP_TYPE|(70<<16)}, //0xfe\n\t{ 0 , C_FCOS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FCOS\" \t\t,0xffd9,2|C_ESC_GROUP_TYPE|(71<<16)} //0xff\n\n};\n\n\nDIS_OPCODE_T Group0xda[] = //fpu group\n{\n\t{R_M, C_FIADD,\tD__dword_int,D__NONE,D__NONE,\t\"FIADD\" \t,0xda,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FIMUL,\tD__dword_int,D__NONE,D__NONE,\t\"FIMUL\" \t,0xda,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_FICOM,\tD__dword_int,D__NONE,D__NONE,\t\"FICOM\" \t,0xda,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_FICOMP,\tD__dword_int,D__NONE,D__NONE,\t\"FICOMP\" \t,0xda,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_FISUB,\tD__dword_int,D__NONE,D__NONE,\t\"FISUB\" \t,0xda,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_FISUBR,\tD__dword_int,D__NONE,D__NONE,\t\"FISUBR\" \t,0xda,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_FIDIV,\tD__dword_int,D__NONE,D__NONE,\t\"FIDIV\" \t,0xda,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_FIDIVR,\tD__dword_int,D__NONE,D__NONE,\t\"FIDIVR\" \t,0xda,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVB\" \t,0xc0da,2|C_ESC_GROUP_TYPE|(8<<16) ,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc0\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVB\" \t,0xc1da,2|C_ESC_GROUP_TYPE|(9<<16) ,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc1\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVB\" \t,0xc2da,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc2\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVB\" \t,0xc3da,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc3\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVB\" \t,0xc4da,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc4\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVB\" \t,0xc5da,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc5\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVB\" \t,0xc6da,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc6\n\t{ 0 , C_FCMOVB,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVB\" \t,0xc7da,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc7\n\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVE\" \t,0xc8da,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc8\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVE\" \t,0xc9da,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc9\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVE\" \t,0xcada,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xca\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVE\" \t,0xcbda,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xcb\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVE\" \t,0xccda,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xcc\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVE\" \t,0xcdda,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xcd\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVE\" \t,0xceda,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xce\n\t{ 0 , C_FCMOVE,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVE\" \t,0xcfda,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xcf\n\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd0da,2|C_ESC_GROUP_TYPE|(24<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd0\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd1da,2|C_ESC_GROUP_TYPE|(25<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd1\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd2da,2|C_ESC_GROUP_TYPE|(26<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd2\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd3da,2|C_ESC_GROUP_TYPE|(27<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd3\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd4da,2|C_ESC_GROUP_TYPE|(28<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd4\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd5da,2|C_ESC_GROUP_TYPE|(29<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd5\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd6da,2|C_ESC_GROUP_TYPE|(30<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd6\n\t{ 0 , C_FCMOVBE,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVBE\" \t,0xd7da,2|C_ESC_GROUP_TYPE|(31<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd7\n\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVU\" \t,0xd8da,2|C_ESC_GROUP_TYPE|(32<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd8\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVU\" \t,0xd9da,2|C_ESC_GROUP_TYPE|(33<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd9\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVU\" \t,0xdada,2|C_ESC_GROUP_TYPE|(34<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xda\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVU\" \t,0xdbda,2|C_ESC_GROUP_TYPE|(35<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdb\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVU\" \t,0xdcda,2|C_ESC_GROUP_TYPE|(36<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdc\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVU\" \t,0xddda,2|C_ESC_GROUP_TYPE|(37<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdd\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVU\" \t,0xdeda,2|C_ESC_GROUP_TYPE|(38<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xde\n\t{ 0 , C_FCMOVU,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVU\" \t,0xdfda,2|C_ESC_GROUP_TYPE|(39<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xdf\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe8\n\t{ 0 , C_FUCOMPP,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FUCOMPP\" \t,0xe9da,2|C_ESC_GROUP_TYPE|(49<<16)}, //0xe9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xea\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xeb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xec\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xed\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xee\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xef\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfa\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfe\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t} //0xff\n\n};\n\n\nDIS_OPCODE_T Group0xdb[] = //fpu group\n{\n\t{R_M, C_FILD,\tD__dword_int,\tD__NONE,D__NONE,\t\"FILD\" \t\t,0xdb,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FISTTP, D__dword_int,\tD__NONE,D__NONE,\t\"FISTTP\" \t,0xdb,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x1\n\t{R_M, C_FIST,\tD__dword_int,\tD__NONE,D__NONE,\t\"FIST\" \t\t,0xdb,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x2\n\t{R_M, C_FISTP,\tD__dword_int,\tD__NONE,D__NONE,\t\"FISTP\" \t,0xdb,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_FLD,\tD__extend_real,\tD__NONE,D__NONE,\t\"FLD\" \t\t,0xdb,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_FSTP,\tD__extend_real,\tD__NONE,D__NONE,\t\"FSTP\" \t\t,0xdb,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc0db,2|C_ESC_GROUP_TYPE|(8<<16) ,MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc0\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc1db,2|C_ESC_GROUP_TYPE|(9<<16) ,MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc1\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc2db,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc2\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc3db,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc3\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc4db,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc4\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc5db,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc5\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc6db,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc6\n\t{ 0 , C_FCMOVNB,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVNB\" \t,0xc7db,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc7\n\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVNE\" \t,0xc8db,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc8\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVNE\" \t,0xc9db,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xc9\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVNE\" \t,0xcadb,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xca\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVNE\" \t,0xcbdb,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xcb\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVNE\" \t,0xccdb,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xcc\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVNE\" \t,0xcddb,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xcd\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVNE\" \t,0xcedb,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xce\n\t{ 0 , C_FCMOVNE,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVNE\" \t,0xcfdb,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xcf\n\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd0db,2|C_ESC_GROUP_TYPE|(24<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd0\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd1db,2|C_ESC_GROUP_TYPE|(25<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd1\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd2db,2|C_ESC_GROUP_TYPE|(26<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd2\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd3db,2|C_ESC_GROUP_TYPE|(27<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd3\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd4db,2|C_ESC_GROUP_TYPE|(28<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd4\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd5db,2|C_ESC_GROUP_TYPE|(29<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd5\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd6db,2|C_ESC_GROUP_TYPE|(30<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd6\n\t{ 0 , C_FCMOVNBE,D__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVNBE\" \t,0xd7db,2|C_ESC_GROUP_TYPE|(31<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd7\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCMOVNU\" \t,0xd8db,2|C_ESC_GROUP_TYPE|(32<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd8\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCMOVNU\" \t,0xd9db,2|C_ESC_GROUP_TYPE|(33<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xd9\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdadb,2|C_ESC_GROUP_TYPE|(34<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xda\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdbdb,2|C_ESC_GROUP_TYPE|(35<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xdb\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdcdb,2|C_ESC_GROUP_TYPE|(36<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xdc\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdddb,2|C_ESC_GROUP_TYPE|(37<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xdd\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdedb,2|C_ESC_GROUP_TYPE|(38<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xde\n\t{ 0 , C_FCMOVNU,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCMOVNU\" \t,0xdfdb,2|C_ESC_GROUP_TYPE|(39<<16),MAKE_OP_RW_FLAG(0,OP_R,0)}, //0xdf\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe1\n\t{ 0 , C_FCLEX,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FCLEX\" \t,0xe2db,2|C_ESC_GROUP_TYPE|(42<<16)}, //0xe2\n\t{ 0 , C_FINIT,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FINIT\" \t,0xe3db,2|C_ESC_GROUP_TYPE|(43<<16)}, //0xe3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe7\n\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FUCOMI\" \t,0xe8db,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe8\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FUCOMI\" \t,0xe9db,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe9\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FUCOMI\" \t,0xeadb,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xea\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FUCOMI\" \t,0xebdb,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xeb\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FUCOMI\" \t,0xecdb,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xec\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FUCOMI\" \t,0xeddb,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xed\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FUCOMI\" \t,0xeedb,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xee\n\t{ 0 , C_FUCOMI,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FUCOMI\" \t,0xefdb,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xef\n\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st0,\t\tD__NONE,\t\"FCOMI\" \t,0xf0db,2|C_ESC_GROUP_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf0\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st1,\t\tD__NONE,\t\"FCOMI\" \t,0xf1db,2|C_ESC_GROUP_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf1\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st2,\t\tD__NONE,\t\"FCOMI\" \t,0xf2db,2|C_ESC_GROUP_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf2\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st3,\t\tD__NONE,\t\"FCOMI\" \t,0xf3db,2|C_ESC_GROUP_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf3\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st4,\t\tD__NONE,\t\"FCOMI\" \t,0xf4db,2|C_ESC_GROUP_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf4\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st5,\t\tD__NONE,\t\"FCOMI\" \t,0xf5db,2|C_ESC_GROUP_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf5\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st6,\t\tD__NONE,\t\"FCOMI\" \t,0xf6db,2|C_ESC_GROUP_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf6\n\t{ 0 , C_FCOMI,\tD__st,\t\tD__st7,\t\tD__NONE,\t\"FCOMI\" \t,0xf7db,2|C_ESC_GROUP_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfa\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfe\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t} //0xff\n\n};\n\nDIS_OPCODE_T Group0xdc[] = //fpu group\n{\n\t{R_M, C_FADD,\tD__double_real,\tD__NONE,D__NONE,\t\"FADD\" \t\t,0xdc,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FMUL,\tD__double_real,\tD__NONE,D__NONE,\t\"FMUL\" \t\t,0xdc,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_FCOM,\tD__double_real,\tD__NONE,D__NONE,\t\"FCOM\" \t\t,0xdc,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_FCOMP,\tD__double_real,\tD__NONE,D__NONE,\t\"FCOMP\" \t,0xdc,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_FSUB,\tD__double_real,\tD__NONE,D__NONE,\t\"FSUB\" \t\t,0xdc,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_FSUBR,\tD__double_real,\tD__NONE,D__NONE,\t\"FSUBR\" \t,0xdc,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_FDIV,\tD__double_real,\tD__NONE,D__NONE,\t\"FDIV\" \t\t,0xdc,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_FDIVR,\tD__double_real,\tD__NONE,D__NONE,\t\"FDIVR\" \t,0xdc,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FADD,\tD__st0,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc0dc,2|C_ESC_GROUP_TYPE|(8<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc0\n\t{ 0 , C_FADD,\tD__st1,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc1dc,2|C_ESC_GROUP_TYPE|(9<<16) ,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc1\n\t{ 0 , C_FADD,\tD__st2,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc2dc,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc2\n\t{ 0 , C_FADD,\tD__st3,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc3dc,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc3\n\t{ 0 , C_FADD,\tD__st4,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc4dc,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc4\n\t{ 0 , C_FADD,\tD__st5,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc5dc,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc5\n\t{ 0 , C_FADD,\tD__st6,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc6dc,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc6\n\t{ 0 , C_FADD,\tD__st7,\t\tD__st,\t\t\t\tD__NONE,\t\"FADD\" \t\t,0xc7dc,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc7\n\n\t{ 0 , C_FMUL,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xc8dc,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc8\n\t{ 0 , C_FMUL,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xc9dc,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc9\n\t{ 0 , C_FMUL,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xcadc,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xca\n\t{ 0 , C_FMUL,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xcbdc,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcb\n\t{ 0 , C_FMUL,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xccdc,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcc\n\t{ 0 , C_FMUL,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xcddc,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcd\n\t{ 0 , C_FMUL,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xcedc,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xce\n\t{ 0 , C_FMUL,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FMUL\" \t\t,0xcfdc,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcf\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xda\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xde\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdf\n\n\t{ 0 , C_FSUBR,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe0dc,2|C_ESC_GROUP_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe0\n\t{ 0 , C_FSUBR,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe1dc,2|C_ESC_GROUP_TYPE|(41<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe1\n\t{ 0 , C_FSUBR,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe2dc,2|C_ESC_GROUP_TYPE|(42<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe2\n\t{ 0 , C_FSUBR,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe3dc,2|C_ESC_GROUP_TYPE|(43<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe3\n\t{ 0 , C_FSUBR,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe4dc,2|C_ESC_GROUP_TYPE|(44<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe4\n\t{ 0 , C_FSUBR,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe5dc,2|C_ESC_GROUP_TYPE|(45<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe5\n\t{ 0 , C_FSUBR,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe6dc,2|C_ESC_GROUP_TYPE|(46<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe6\n\t{ 0 , C_FSUBR,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FSUBR\" \t,0xe7dc,2|C_ESC_GROUP_TYPE|(47<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe7\n\t\t\t\t\t\n\t{ 0 , C_FSUB,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xe8dc,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe8\n\t{ 0 , C_FSUB,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xe9dc,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe9\n\t{ 0 , C_FSUB,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xeadc,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xea\n\t{ 0 , C_FSUB,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xebdc,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xeb\n\t{ 0 , C_FSUB,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xecdc,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xec\n\t{ 0 , C_FSUB,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xeddc,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xed\n\t{ 0 , C_FSUB,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xeedc,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xee\n\t{ 0 , C_FSUB,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FSUB\" \t\t,0xefdc,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xef\n\n\t{ 0 , C_FDIVR,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf0dc,2|C_ESC_GROUP_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf0\n\t{ 0 , C_FDIVR,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf1dc,2|C_ESC_GROUP_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf1\n\t{ 0 , C_FDIVR,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf2dc,2|C_ESC_GROUP_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2\n\t{ 0 , C_FDIVR,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf3dc,2|C_ESC_GROUP_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3\n\t{ 0 , C_FDIVR,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf4dc,2|C_ESC_GROUP_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf4\n\t{ 0 , C_FDIVR,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf5dc,2|C_ESC_GROUP_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf5\n\t{ 0 , C_FDIVR,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf6dc,2|C_ESC_GROUP_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf6\n\t{ 0 , C_FDIVR,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FDIVR\" \t,0xf7dc,2|C_ESC_GROUP_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf7\n\t\t\t\t\t\n\t{ 0 , C_FDIV,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xf8dc,2|C_ESC_GROUP_TYPE|(64<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf8\n\t{ 0 , C_FDIV,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xf9dc,2|C_ESC_GROUP_TYPE|(65<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf9\n\t{ 0 , C_FDIV,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xfadc,2|C_ESC_GROUP_TYPE|(66<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfa\n\t{ 0 , C_FDIV,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xfbdc,2|C_ESC_GROUP_TYPE|(67<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfb\n\t{ 0 , C_FDIV,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xfcdc,2|C_ESC_GROUP_TYPE|(68<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfc\n\t{ 0 , C_FDIV,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xfddc,2|C_ESC_GROUP_TYPE|(69<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfd\n\t{ 0 , C_FDIV,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xfedc,2|C_ESC_GROUP_TYPE|(70<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfe\n\t{ 0 , C_FDIV,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FDIV\" \t\t,0xffdc,2|C_ESC_GROUP_TYPE|(71<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0xff\n};\n\n\nDIS_OPCODE_T Group0xdd[] = //fpu group\n{\n\t{R_M, C_FLD,\tD__double_real,\tD__NONE,D__NONE,\t\"FLD\" \t\t,0xdd,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FISTTP,\tD__double_real,\tD__NONE,D__NONE,\t\"FISTTP\" \t,0xdd,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x1\n\t{R_M, C_FST,\tD__double_real,\tD__NONE,D__NONE,\t\"FST\" \t\t,0xdd,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x2\n\t{R_M, C_FSTP,\tD__double_real,\tD__NONE,D__NONE,\t\"FSTP\" \t\t,0xdd,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x3\n\t{R_M, C_FRSTOR,\tD__98_108b,\t\tD__NONE,D__NONE,\t\"FRSTOR\" \t,0xdd,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_FSAVE,\tD__98_108b,\t\tD__NONE,D__NONE,\t\"FSAVE\" \t,0xdd,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x6\n\t{R_M, C_FSTSW,\tD__2b,\t\t\tD__NONE,D__NONE,\t\"FSTSW\" \t,0xdd,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FFREE,\tD__st0,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc0dd,2|C_ESC_GROUP_TYPE|(8<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc0\n\t{ 0 , C_FFREE,\tD__st1,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc1dd,2|C_ESC_GROUP_TYPE|(9<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc1\n\t{ 0 , C_FFREE,\tD__st2,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc2dd,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc2\n\t{ 0 , C_FFREE,\tD__st3,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc3dd,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc3\n\t{ 0 , C_FFREE,\tD__st4,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc4dd,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc4\n\t{ 0 , C_FFREE,\tD__st5,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc5dd,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc5\n\t{ 0 , C_FFREE,\tD__st6,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc6dd,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc6\n\t{ 0 , C_FFREE,\tD__st7,\t\tD__NONE,\tD__NONE,\t\"FFREE\" \t,0xc7dd,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(0,0,0)}, //0xc7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xca\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xce\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcf\n\n\t{ 0 , C_FST,\tD__st0,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd0dd,2|C_ESC_GROUP_TYPE|(24<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd0\n\t{ 0 , C_FST,\tD__st1,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd1dd,2|C_ESC_GROUP_TYPE|(25<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd1\n\t{ 0 , C_FST,\tD__st2,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd2dd,2|C_ESC_GROUP_TYPE|(26<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd2\n\t{ 0 , C_FST,\tD__st3,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd3dd,2|C_ESC_GROUP_TYPE|(27<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd3\n\t{ 0 , C_FST,\tD__st4,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd4dd,2|C_ESC_GROUP_TYPE|(28<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd4\n\t{ 0 , C_FST,\tD__st5,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd5dd,2|C_ESC_GROUP_TYPE|(29<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd5\n\t{ 0 , C_FST,\tD__st6,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd6dd,2|C_ESC_GROUP_TYPE|(30<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd6\n\t{ 0 , C_FST,\tD__st7,\t\tD__NONE,\tD__NONE,\t\"FST\" \t\t,0xd7dd,2|C_ESC_GROUP_TYPE|(31<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd7\n\n\t{ 0 , C_FSTP,\tD__st0,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xd8dd,2|C_ESC_GROUP_TYPE|(32<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd8\n\t{ 0 , C_FSTP,\tD__st1,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xd9dd,2|C_ESC_GROUP_TYPE|(33<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd9\n\t{ 0 , C_FSTP,\tD__st2,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdadd,2|C_ESC_GROUP_TYPE|(34<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xda\n\t{ 0 , C_FSTP,\tD__st3,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdbdd,2|C_ESC_GROUP_TYPE|(35<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xdb\n\t{ 0 , C_FSTP,\tD__st4,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdcdd,2|C_ESC_GROUP_TYPE|(36<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xdc\n\t{ 0 , C_FSTP,\tD__st5,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdddd,2|C_ESC_GROUP_TYPE|(37<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xdd\n\t{ 0 , C_FSTP,\tD__st6,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdedd,2|C_ESC_GROUP_TYPE|(38<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xde\n\t{ 0 , C_FSTP,\tD__st7,\t\tD__NONE,\tD__NONE,\t\"FSTP\" \t\t,0xdfdd,2|C_ESC_GROUP_TYPE|(39<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xdf\n\n\t{ 0 , C_FUCOM,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe0dd,2|C_ESC_GROUP_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe0\n\t{ 0 , C_FUCOM,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe1dd,2|C_ESC_GROUP_TYPE|(41<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe1\n\t{ 0 , C_FUCOM,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe2dd,2|C_ESC_GROUP_TYPE|(42<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe2\n\t{ 0 , C_FUCOM,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe3dd,2|C_ESC_GROUP_TYPE|(43<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe3\n\t{ 0 , C_FUCOM,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe4dd,2|C_ESC_GROUP_TYPE|(44<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe4\n\t{ 0 , C_FUCOM,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe5dd,2|C_ESC_GROUP_TYPE|(45<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe5\n\t{ 0 , C_FUCOM,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe6dd,2|C_ESC_GROUP_TYPE|(46<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe6\n\t{ 0 , C_FUCOM,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FUCOM\" \t,0xe7dd,2|C_ESC_GROUP_TYPE|(47<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe7\n\n\t{ 0 , C_FUCOMP,\tD__st0,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xe8dd,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe8\n\t{ 0 , C_FUCOMP,\tD__st1,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xe9dd,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe9\n\t{ 0 , C_FUCOMP,\tD__st2,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xeadd,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xea\n\t{ 0 , C_FUCOMP,\tD__st3,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xebdd,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xeb\n\t{ 0 , C_FUCOMP,\tD__st4,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xecdd,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xec\n\t{ 0 , C_FUCOMP,\tD__st5,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xeddd,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xed\n\t{ 0 , C_FUCOMP,\tD__st6,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xeedd,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xee\n\t{ 0 , C_FUCOMP,\tD__st7,\t\tD__NONE,\tD__NONE,\t\"FUCOMP\" \t,0xefdd,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xef\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfa\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfe\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t} //0xff\n\n};\n\nDIS_OPCODE_T Group0xde[] = //fpu group\n{\n\t{R_M, C_FIADD,\tD__word_int,D__NONE,D__NONE,\t\"FIADD\" \t,0xde,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0\n\t{R_M, C_FIMUL,\tD__word_int,D__NONE,D__NONE,\t\"FIMUL\" \t,0xde,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1\n\t{R_M, C_FICOM,\tD__word_int,D__NONE,D__NONE,\t\"FICOM\" \t,0xde,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x2\n\t{R_M, C_FICOMP,\tD__word_int,D__NONE,D__NONE,\t\"FICOMP\" \t,0xde,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x3\n\t{R_M, C_FISUB,\tD__word_int,D__NONE,D__NONE,\t\"FISUB\" \t,0xde,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4\n\t{R_M, C_FISUBR,\tD__word_int,D__NONE,D__NONE,\t\"FISUBR\" \t,0xde,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x5\n\t{R_M, C_FIDIV,\tD__word_int,D__NONE,D__NONE,\t\"FIDIV\" \t,0xde,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x6\n\t{R_M, C_FIDIVR,\tD__word_int,D__NONE,D__NONE,\t\"FIDIVR\" \t,0xde,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_FADDP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc0de,2|C_ESC_GROUP_TYPE|(8<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc0\n\t{ 0 , C_FADDP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc1de,2|C_ESC_GROUP_TYPE|(9<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc1\n\t{ 0 , C_FADDP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc2de,2|C_ESC_GROUP_TYPE|(10<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc2\n\t{ 0 , C_FADDP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc3de,2|C_ESC_GROUP_TYPE|(11<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc3\n\t{ 0 , C_FADDP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc4de,2|C_ESC_GROUP_TYPE|(12<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc4\n\t{ 0 , C_FADDP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc5de,2|C_ESC_GROUP_TYPE|(13<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc5\n\t{ 0 , C_FADDP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc6de,2|C_ESC_GROUP_TYPE|(14<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc6\n\t{ 0 , C_FADDP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FADDP\" \t,0xc7de,2|C_ESC_GROUP_TYPE|(15<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc7\n\n\t{ 0 , C_FMULP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xc8de,2|C_ESC_GROUP_TYPE|(16<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc8\n\t{ 0 , C_FMULP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xc9de,2|C_ESC_GROUP_TYPE|(17<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc9\n\t{ 0 , C_FMULP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xcade,2|C_ESC_GROUP_TYPE|(18<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xca\n\t{ 0 , C_FMULP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xcbde,2|C_ESC_GROUP_TYPE|(19<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcb\n\t{ 0 , C_FMULP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xccde,2|C_ESC_GROUP_TYPE|(20<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcc\n\t{ 0 , C_FMULP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xcdde,2|C_ESC_GROUP_TYPE|(21<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcd\n\t{ 0 , C_FMULP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xcede,2|C_ESC_GROUP_TYPE|(22<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xce\n\t{ 0 , C_FMULP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FMULP\" \t,0xcfde,2|C_ESC_GROUP_TYPE|(23<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xcf\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd8\n\t{ 0 , C_FCOMPP,\tD__NONE,\tD__NONE,\tD__NONE,\t\"FCOMPP\" \t,0xd9de,2|C_ESC_GROUP_TYPE|(33<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xd9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xda\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xde\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdf\n\n\t{ 0 , C_FSUBRP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe0de,2|C_ESC_GROUP_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe0\n\t{ 0 , C_FSUBRP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe1de,2|C_ESC_GROUP_TYPE|(41<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe1\n\t{ 0 , C_FSUBRP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe2de,2|C_ESC_GROUP_TYPE|(42<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe2\n\t{ 0 , C_FSUBRP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe3de,2|C_ESC_GROUP_TYPE|(43<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe3\n\t{ 0 , C_FSUBRP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe4de,2|C_ESC_GROUP_TYPE|(44<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe4\n\t{ 0 , C_FSUBRP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe5de,2|C_ESC_GROUP_TYPE|(45<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe5\n\t{ 0 , C_FSUBRP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe6de,2|C_ESC_GROUP_TYPE|(46<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe6\n\t{ 0 , C_FSUBRP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FSUBRP\" \t,0xe7de,2|C_ESC_GROUP_TYPE|(47<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe7\n\n\t{ 0 , C_FSUBP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xe8de,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe8\n\t{ 0 , C_FSUBP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xe9de,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xe9\n\t{ 0 , C_FSUBP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xeade,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xea\n\t{ 0 , C_FSUBP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xebde,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xeb\n\t{ 0 , C_FSUBP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xecde,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xec\n\t{ 0 , C_FSUBP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xedde,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xed\n\t{ 0 , C_FSUBP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xeede,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xee\n\t{ 0 , C_FSUBP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FSUBP\" \t,0xefde,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xef\n\n\t{ 0 , C_FDIVRP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf0de,2|C_ESC_GROUP_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf0\n\t{ 0 , C_FDIVRP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf1de,2|C_ESC_GROUP_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf1\n\t{ 0 , C_FDIVRP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf2de,2|C_ESC_GROUP_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2\n\t{ 0 , C_FDIVRP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf3de,2|C_ESC_GROUP_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3\n\t{ 0 , C_FDIVRP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf4de,2|C_ESC_GROUP_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf4\n\t{ 0 , C_FDIVRP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf5de,2|C_ESC_GROUP_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf5\n\t{ 0 , C_FDIVRP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf6de,2|C_ESC_GROUP_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf6\n\t{ 0 , C_FDIVRP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FDIVRP\" \t,0xf7de,2|C_ESC_GROUP_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf7\n\n\t{ 0 , C_FDIVP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xf8de,2|C_ESC_GROUP_TYPE|(64<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf8\n\t{ 0 , C_FDIVP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xf9de,2|C_ESC_GROUP_TYPE|(65<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf9\n\t{ 0 , C_FDIVP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xfade,2|C_ESC_GROUP_TYPE|(66<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfa\n\t{ 0 , C_FDIVP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xfbde,2|C_ESC_GROUP_TYPE|(67<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfb\n\t{ 0 , C_FDIVP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xfcde,2|C_ESC_GROUP_TYPE|(68<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfc\n\t{ 0 , C_FDIVP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xfdde,2|C_ESC_GROUP_TYPE|(69<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfd\n\t{ 0 , C_FDIVP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xfede,2|C_ESC_GROUP_TYPE|(70<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xfe\n\t{ 0 , C_FDIVP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FDIVP\" \t,0xffde,2|C_ESC_GROUP_TYPE|(71<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)} //0xff\n};\n\n\nDIS_OPCODE_T Group0xdf[] = //fpu group\n{\n\t//ڴйصĸָ ȸָ(add D__Gb,D__Eb)һ\n\t{R_M, C_FILD,\tD__word_int,\tD__NONE,D__NONE,\t\"FILD\" \t\t,0xdf,1|C_ESC_GROUP_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FISTTP,\tD__word_int,\tD__NONE,D__NONE,\t\"FISTTP\" \t,0xdf,1|C_ESC_GROUP_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_FIST,\tD__word_int,\tD__NONE,D__NONE,\t\"FIST\" \t\t,0xdf,1|C_ESC_GROUP_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x2\n\t{R_M, C_FISTP,\tD__word_int,\tD__NONE,D__NONE,\t\"FISTP\" \t,0xdf,1|C_ESC_GROUP_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x3\n\t{R_M, C_FBLD,\tD__packed_BCD,\tD__NONE,D__NONE,\t\"FBLD\" \t\t,0xdf,1|C_ESC_GROUP_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x4\n\t{R_M, C_FILD,\tD__qword_int,\tD__NONE,D__NONE,\t\"FILD\" \t\t,0xdf,1|C_ESC_GROUP_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_FBSTP,\tD__packed_BCD,\tD__NONE,D__NONE,\t\"FBSTP\" \t,0xdf,1|C_ESC_GROUP_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x6\n\t{R_M, C_FISTP,\tD__qword_int,\tD__NONE,D__NONE,\t\"FISTP\" \t,0xdf,1|C_ESC_GROUP_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x7\n\n\t//˫ֽڸָ\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xc9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xca\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xce\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xcf\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xd9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xda\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xde\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xdf\n\n\t{ 0 , C_FSTSW,\t\tD__AX,\t\tD__NONE,\tD__NONE,\t\"FSTSW\"\t\t\t\t\t,0xe0df,2|C_ESC_GROUP_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0xe0\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe1\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe2\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe3\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe4\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xe7\n\n\t{ 0 , C_FUCOMIP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xe8df,2|C_ESC_GROUP_TYPE|(48<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe8\n\t{ 0 , C_FUCOMIP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xe9df,2|C_ESC_GROUP_TYPE|(49<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe9\n\t{ 0 , C_FUCOMIP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xeadf,2|C_ESC_GROUP_TYPE|(50<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xea\n\t{ 0 , C_FUCOMIP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xebdf,2|C_ESC_GROUP_TYPE|(51<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xeb\n\t{ 0 , C_FUCOMIP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xecdf,2|C_ESC_GROUP_TYPE|(52<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xec\n\t{ 0 , C_FUCOMIP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xeddf,2|C_ESC_GROUP_TYPE|(53<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xed\n\t{ 0 , C_FUCOMIP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xeedf,2|C_ESC_GROUP_TYPE|(54<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xee\n\t{ 0 , C_FUCOMIP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FUCOMIP\" \t,0xefdf,2|C_ESC_GROUP_TYPE|(55<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xef\n\n\t{ 0 , C_FCOMIP,\tD__st0,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf0df,2|C_ESC_GROUP_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf0\n\t{ 0 , C_FCOMIP,\tD__st1,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf1df,2|C_ESC_GROUP_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf1\n\t{ 0 , C_FCOMIP,\tD__st2,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf2df,2|C_ESC_GROUP_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf2\n\t{ 0 , C_FCOMIP,\tD__st3,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf3df,2|C_ESC_GROUP_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf3\n\t{ 0 , C_FCOMIP,\tD__st4,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf4df,2|C_ESC_GROUP_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf4\n\t{ 0 , C_FCOMIP,\tD__st5,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf5df,2|C_ESC_GROUP_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf5\n\t{ 0 , C_FCOMIP,\tD__st6,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf6df,2|C_ESC_GROUP_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf6\n\t{ 0 , C_FCOMIP,\tD__st7,\t\tD__st,\t\tD__NONE,\t\"FCOMIP\" \t,0xf7df,2|C_ESC_GROUP_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xf7\n\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf8\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xf9\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfa\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfb\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfc\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfd\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xfe\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t} //0xff\n\n};\n\nDIS_OPCODE_T Group0x0f01[] = //CPUģʽָ\n{\n\t{R_M, C_SGDT,\t\tD__wMs,\t\tD__NONE,\tD__NONE,\t\"SGDT\" \t,0x010f,2|C_GROUP_2_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x0\n\t{R_M, C_SIDT,\t\tD__wMs,\t\tD__NONE,\tD__NONE,\t\"SIDT\" \t,0x010f,2|C_GROUP_2_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x1\n\t{R_M, C_LGDT,\t\tD__rMs,\t\tD__NONE,\tD__NONE,\t\"LGDT\" \t,0x010f,2|C_GROUP_2_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_LIDT,\t\tD__rMs,\t\tD__NONE,\tD__NONE,\t\"LIDT\" \t,0x010f,2|C_GROUP_2_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_SMSW,\t\tD__wMwRv,\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x4\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6\n\t{R_M, C_INVLPG,\t\tD__Mb,\t\tD__NONE,\tD__NONE,\t\"INVLPG\",0x010f,2|C_GROUP_2_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=000\t\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x0\n\t{R_M, C_VMCALL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"VMCALL\",0x010f,2|C_GROUP_2_TYPE|(9<<16)}, //RM=0x1\n\t{R_M, C_VMLAUNCH,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"VMLAUNCH\",0x010f,2|C_GROUP_2_TYPE|(10<<16)}, //RM=0x2\n\t{R_M, C_VMRESUME,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"VMRESUME\",0x010f,2|C_GROUP_2_TYPE|(11<<16)}, //RM=0x3\n\t{R_M, C_VMXOFF,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"VMXOFF\",0x010f,2|C_GROUP_2_TYPE|(12<<16)}, //RM=0X4\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x5\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x6\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=001\t\n\n\t{R_M, C_MONITOR,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"monitor\",0x010f,2|C_GROUP_2_TYPE|(16<<16)}, //RM=0x0\n\t{R_M, C_MWAIT,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t\"mwait\",0x010f,2|C_GROUP_2_TYPE|(17<<16)}, //RM=0x1\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x2\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x3\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x4\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x5\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x6\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=002\t\n\n\t{R_M, C_XGETBV,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\"xgetbv\"\t,0x010f,2|C_GROUP_2_TYPE|(24<<16)}, //RM=0x0\n\t{R_M, C_XSETBV,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\"xsetbv\"\t,0x010f,2|C_GROUP_2_TYPE|(25<<16)}, //RM=0x1\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x2\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x3\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x4\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x5\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x6\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=003\t\n\n\t{R_M, C_VMRUN,\t\tD__EAX,\t\tD__NONE,\tD__NONE,\"VMRUN\"   ,0x010f,2|C_GROUP_2_TYPE|(32<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x0\n\t{R_M, C_VMMCALL,\tD__NONE,\tD__NONE,\tD__NONE,\"VMMCALL\" ,0x010f,2|C_GROUP_2_TYPE|(33<<16)\t}, //RM=0x1\n\t{R_M, C_VMLOAD,\t\tD__EAX,\t\tD__NONE,\tD__NONE,\"VMLOAD\"  ,0x010f,2|C_GROUP_2_TYPE|(34<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x2\n\t{R_M, C_VMSAVE,\t\tD__EAX,\t\tD__NONE,\tD__NONE,\"VMSAVE\"  ,0x010f,2|C_GROUP_2_TYPE|(35<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x3\n\t{R_M, C_STGI,\t\tD__NONE,\tD__NONE,\tD__NONE,\"STGI\"\t  ,0x010f,2|C_GROUP_2_TYPE|(36<<16)}, //RM=0x4\n\t{R_M, C_CLGI,\t\tD__NONE,\tD__NONE,\tD__NONE,\"CLGI\"\t  ,0x010f,2|C_GROUP_2_TYPE|(37<<16)}, //RM=0x5\n\t{R_M, C_SKINIT,\t\tD__EAX,\t\tD__NONE,\tD__NONE,\"SKINIT\"  ,0x010f,2|C_GROUP_2_TYPE|(38<<16)\t}, //RM=0x6\n\t{R_M, C_INVLPGA,\tD__EAX,\t\tD__ECX,\t\tD__NONE,\"INVLPGA\" ,0x010f,2|C_GROUP_2_TYPE|(39<<16)\t}, //RM=0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=004\t\n\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(40<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x0\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(41<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x1\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(42<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x2\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(43<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x3\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(44<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x4\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(45<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x5\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(46<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x6\n\t{R_M, C_SMSW,\t\tD__wMwRv,\t\tD__NONE,\tD__NONE,\t\"SMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(47<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //RM=0x7\n\n\n\t//Group0x0f01_11_000[] =  //80386 reg=005\t\n\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x0\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t},//RM=0x1\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x2\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x3\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x4\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x5\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x6\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x7\n\n\t//Group0x0f01_11_000[] =  //80386 reg=006\t\n\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(56<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x0\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(57<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x1\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(58<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x2\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(59<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x3\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(60<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x4\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(61<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x5\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(62<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x6\n\t{R_M, C_LMSW,\t\tD__rEw,\t\tD__NONE,\tD__NONE,\t\"LMSW\" \t,0x010f,2|C_GROUP_2_TYPE|(63<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //RM=0x7\n\n\n\t//Group0x0f01_11_000[] =  //80386 reg=007\t\n\n\t{R_M, C_SWAPGS,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\"SWAPGS\"\t,0x010f,2|C_GROUP_2_TYPE|(64<<16)}, //RM=0x0\n\t{R_M, C_RDTSCP,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\"RDTSCP\"\t,0x010f,2|C_GROUP_2_TYPE|(65<<16)}, //RM=0x1\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x2\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x3\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x4\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x5\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x6\n\t{R_M, C_NULL,\t\tD__NONE,\t\tD__NONE,\tD__NONE,\t}, //RM=0x7\n\n};\n\n\nDIS_OPCODE_T Group0x0f18[] =  //80386\n{\n\t{R_M, C_PREFETCH,\tD__Mb,\t\tD__NONE,\tD__NONE,\t\"prefetchnta\"\t\t\t\t,0x180f,2|C_GROUP_0_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_PREFETCH,\tD__Mb,\t\tD__NONE,\tD__NONE,\t\"prefetcht0\"\t\t\t\t,0x180f,2|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_PREFETCH,\tD__Mb,\t\tD__NONE,\tD__NONE,\t\"prefetcht1\"\t\t\t\t,0x180f,2|C_GROUP_0_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_PREFETCH,\tD__Mb,\t\tD__NONE,\tD__NONE,\t\"prefetcht2\"\t\t\t\t,0x180f,2|C_GROUP_0_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x3\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x7\n};\n\nDIS_OPCODE_T Group0x0f71_reg_010[] =\n{\n\t{R_M |Immediate_Ib, C_PSRLW,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psrlw\"\t,0x710f,2|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRLW,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psrlw\"\t,0x710f66,3|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f71_reg_100[] =\n{\n\t{R_M |Immediate_Ib, C_PSRAW,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psraw\"\t,0x710f,2|C_GROUP_5_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRAW,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psraw\"\t,0x710f66,3|C_GROUP_5_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f71_reg_110[] =\n{\n\t{R_M |Immediate_Ib, C_PSLLW,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psllw\"\t,0x710f,2|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSLLW,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psllw\"\t,0x710f66,3|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f71[] =  //80386\n{\n\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x0\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f71_reg_010 \t,0x710f,2|C_GROUP_0_TYPE|(10<<16)}, //0x2\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f71_reg_100  ,0x710f,2|C_GROUP_0_TYPE|(12<<16)}, //0x4\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f71_reg_110  ,0x710f,2|C_GROUP_0_TYPE|(14<<16)}, //0x6\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t} //0x7\n\n};\n\nDIS_OPCODE_T Group0x0f72_reg_010[] =\n{\n\t{R_M |Immediate_Ib, C_PSRLD,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psrld\"\t,0x720f,2|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRLD,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psrld\"\t,0x720f66,3|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f72_reg_100[] =\n{\n\t{R_M |Immediate_Ib, C_PSRAD,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psrad\"\t,0x720f,2|C_GROUP_5_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRAD,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psrad\"\t,0x720f66,3|C_GROUP_5_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f72_reg_110[] =\n{\n\t{R_M |Immediate_Ib, C_PSLLD,\tD__Nq,\tD__Ib,\t\tD__NONE,\"pslld\"\t,0x720f,2|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSLLD,\tD__Udq,\tD__Ib,\t\tD__NONE,\"pslld\"\t,0x720f66,3|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f72[] =  //80386\n{\n\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x0\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M |Immediate_Ib, C_GRP3,\tD__Pq,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x0f72_reg_010\t,0x720f,2|C_GROUP_1_TYPE|(10<<16)}, //0x2\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M |Immediate_Ib, C_GRP3,\tD__Pq,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x0f72_reg_100\t,0x720f,2|C_GROUP_1_TYPE|(12<<16)}, //0x4\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M |Immediate_Ib, C_GRP3,\tD__Pq,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x0f72_reg_110\t,0x720f,2|C_GROUP_1_TYPE|(14<<16)}, //0x6\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t} //0x7\n\n};\n\n\nDIS_OPCODE_T Group0x0f73_reg_010[] =\n{\n\t{R_M |Immediate_Ib, C_PSRLQ,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psrlq\"\t,0x730f,2|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRLQ,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psrlq\"\t,0x730f66,3|C_GROUP_5_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f73_reg_011[] =\n{\n\t{R_M |Immediate_Ib, C_NULL,\t}, //no prefix \n\t{R_M |Immediate_Ib, C_PSRLDQ,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psrldq\"\t,0x730f66,3|C_GROUP_5_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f73_reg_110[] =\n{\n\t{R_M |Immediate_Ib, C_PSLLQ,\tD__Nq,\tD__Ib,\t\tD__NONE,\"psllq\"\t,0x730f,2|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M |Immediate_Ib, C_PSLLQ,\tD__Udq,\tD__Ib,\t\tD__NONE,\"psllq\"\t,0x730f66,3|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f73_reg_111[] =\n{\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,},  \n\t{R_M |Immediate_Ib, C_PSLLDQ,\tD__Udq,\tD__Ib,\t\tD__NONE,\"pslldq\"\t,0x730f66,3|C_GROUP_5_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f73[] =  //80386\n{\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x0\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M |Immediate_Ib, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f73_reg_010\t,0x730f,2|C_GROUP_5_TYPE|(10<<16)}, //0x2\n\t{R_M |Immediate_Ib, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f73_reg_011\t,0x730f,2|C_GROUP_5_TYPE|(10<<16)}, //0x2\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M |Immediate_Ib, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f73_reg_110\t,0x730f,2|C_GROUP_5_TYPE|(14<<16)}, //0x6\n\t{R_M |Immediate_Ib, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f73_reg_111\t,0x730f,2|C_GROUP_5_TYPE|(14<<16)}, //0x6\n};\n\nDIS_OPCODE_T Group0x0fae[] =  //80386\n{\n\t{R_M, C_FXSAVE, D__M,\tD__NONE,\tD__NONE,\t\"fxsave\" \t\t,0xae0f,2|C_GROUP_1_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0\n\t{R_M, C_FXRSTOR,D__M,\tD__NONE,\tD__NONE,\t\"fxrstor\" \t\t,0xae0f,2|C_GROUP_1_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1\n\t{R_M, C_LDMXCSR,D__Ed,\tD__NONE,\tD__NONE,\t\"ldmxcsr\" \t\t,0xae0f,2|C_GROUP_1_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x2\n\t{R_M, C_STMXCSR,D__Ed,\tD__NONE,\tD__NONE,\t\"stmxcsr\" \t\t,0xae0f,2|C_GROUP_1_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x3\n\t{R_M, C_XSAVE,D__M,\t\tD__NONE,\tD__NONE,\t\"XSAVE\"\t\t\t,0xae0f,2|C_GROUP_1_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x4\n\t{R_M, C_XRSTOR,D__M,\tD__NONE,\tD__NONE,\t\"XRSTOR\"\t\t,0xae0f,2|C_GROUP_1_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x5\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x6\n\t{R_M, C_CLFLUSH,D__Eb,\tD__NONE,\tD__NONE,\t\"clflush\"\t\t\t\t\t,0xae0f,2|C_GROUP_1_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x7\n\n\t//Group0x0fae_11b[] =  //80386\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x0\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_LFENCE,\tD__NONE,\tD__NONE,\tD__NONE,\t\"lfence\"\t\t\t\t\t,0xae0f,2|C_GROUP_1_TYPE|(13<<16)}, //0x5\n\t{R_M, C_MFENCE,\tD__NONE,\tD__NONE,\tD__NONE,\t\"mfence\"\t\t\t\t\t,0xae0f,2|C_GROUP_1_TYPE|(14<<16)}, //0x6\n\t{R_M, C_SFENCE,\tD__NONE,\tD__NONE,\tD__NONE,\t\"sfence\"\t\t\t\t\t,0xae0f,2|C_GROUP_1_TYPE|(15<<16)} //0x7\n\n};\n\n\n\nDIS_OPCODE_T Group0x0fc7_reg_001[] =\n{\n\t{R_M|F_64 , C_CMPXCHG8B,\tD__MqMdq,\tD__NONE,\t\tD__NONE,\"CMPXCHG8B\"\t,0xc70f,2|C_GROUP_5_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x63\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0fc7_reg_110[] =\n{\n\t{R_M , C_VMPTRLD,\tD__Mq,\tD__NONE,\t\tD__NONE,\"VMPTRLD\"\t,0xc70f,2|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //no prefix \n\t{R_M , C_VMCLEAR,\tD__Mq,\tD__NONE,\t\tD__NONE,\"VMCLEAR\"\t,0xc70f66,3|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{R_M, C_VMXON,\tD__Mq,\tD__NONE,\t\tD__NONE,\"VMXON\",0xc70ff3,3|C_GROUP_5_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0fc7_reg_111[] =\n{\n\t{R_M|F_64 , C_VMPTRST,\tD__Mq,\tD__NONE,\t\tD__NONE,\"VMPTRST\"\t,0xc70f,2|C_GROUP_5_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_R,0,0)}, //no prefix \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0x66\n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf2 \n\t{0, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0fc7[] =  //80386\n{\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t\t\t}, //0x00\n\t{R_M|F_64 , C_CMPXCHG8B,\tD__MqMdq,\tD__NONE,\t\tD__NONE,\"CMPXCHG8B\"\t,0xc70f,2|C_GROUP_0_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x63\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t\t}, //0x2\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t\t\t}, //0x3\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t\t\t}, //0x4\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\t\t\t\t\t\t\t\t\t}, //0x5\n\t{R_M, C_GRP3,D__NONE,\t\tD__NONE,\tD__NONE,\t(char*)Group0x0fc7_reg_110\t,0xc70f,2|C_GROUP_0_TYPE|(6<<16)}, //0x6\n\t{R_M, C_GRP3,D__NONE,\t\tD__NONE,\tD__NONE,\t(char*)Group0x0fc7_reg_111\t,0xc70f,2|C_GROUP_0_TYPE|(7<<16)}, //0x7\n};\n\n\n\nDIS_OPCODE_T Group0x0f3800[] =\n{\n\t{R_M, C_PSHUFB,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pshufb\",\t0x00380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSHUFB,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pshufb\"\t\t\t,0x00380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3801[] =\n{\n\t{R_M, C_PHADDW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phaddw\",0x01380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHADDW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phaddw\",0x01380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3802[] =\n{\n\t{R_M, C_PHADDD,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phaddd\",0x02380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHADDD,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phaddd\",0x02380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3803[] =\n{\n\t{R_M, C_PHADDSW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phaddsw\",0x03380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHADDSW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phaddsw\",0x03380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3804[] =\n{\n\t{R_M, C_PMADDUBSW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pmaddubsw\",0x04380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMADDUBSW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pmaddubsw\",0x04380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3805[] =\n{\n\t{R_M, C_PHSUBW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phsubw\",0x05380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHSUBW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phsubw\",0x05380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3806[] =\n{\n\t{R_M, C_PHSUBD,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phsubd\",0x06380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHSUBD,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phsubd\",0x06380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3807[] =\n{\n\t{R_M, C_PHSUBSW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"phsubsw\",0x07380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PHSUBSW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"phsubsw\",0x07380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3808[] =\n{\n\t{R_M, C_PSIGNB,\tD__Pq,\tD__Qq,\tD__NONE\t,\"psignb\",0x08380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSIGNB,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"psignb\",0x08380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3809[] =\n{\n\t{R_M, C_PSIGNW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"psignw\"\t\t\t,0x09380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSIGNW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"psignw\"\t\t\t,0x09380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f380a[] =\n{\n\t{R_M, C_PSIGND,\tD__Pq,\tD__Qq,\tD__NONE\t,\"psignd\",0x0a380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSIGND,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"psignd\",0x0a380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f380b[] =\n{\n\t{R_M, C_PMULHRSW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pmulhrsw\",0x0b380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMULHRSW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pmulhrsw\"\t,0x0b380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3810[] =\n{\n\t{R_M, C_NULL}, //no prefix \n\t{R_M, C_PBLENDVB,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pblendvb\"\t\t\t,0x10380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3814[] =\n{\n\t{R_M, C_NULL}, //no prefix \n\t{R_M, C_BLENDVPS,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"blendvps\"\t\t\t,0x14380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3815[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_BLENDVPD,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"blendvpd\"\t\t\t,0x15380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3817[] =\n{\n\t{R_M, C_NULL,\t\t}, //no prefix \n\t{R_M, C_PTEST,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"ptest\"\t\t\t,0x17380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f381c[] =\n{\n\t{R_M, C_PABSB,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pabsb\",0x1c380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_PABSB,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pabsb\",0x1c380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f381d[] =\n{\n\t{R_M, C_PABSW,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pabsw\",0x1d380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_PABSW,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pabsw\",0x1d380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f381e[] =\n{\n\t{R_M, C_PABSD,\tD__Pq,\tD__Qq,\tD__NONE\t,\"pabsd\",0x1e380f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_PABSD,\tD__Vdq,\tD__Wdq,\tD__NONE\t,\"pabsd\",0x1e380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0f3820[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBW,D__Vdq,D__Mq,\tD__NONE\t,\"pmovsxbw\"\t\t\t,0x20380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBW,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxbw\"\t\t\t,0x20380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3821[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBD,D__Vdq,D__Md,\tD__NONE\t,\"pmovsxbd\"\t\t\t,0x21380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBW,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxbd\"\t\t\t,0x21380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3822[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBQ,D__Vdq,D__Mw,\tD__NONE\t,\"pmovsxbq\"\t\t\t,0x22380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxbq\"\t\t\t,0x22380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3823[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXWD,D__Vdq,D__Mq,\tD__NONE\t,\"pmovsxwd\"\t\t\t,0x23380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXWD,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxwd\"\t\t\t,0x23380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3824[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXWQ,D__Vdq,D__Md,\tD__NONE\t,\"pmovsxwq\"\t\t\t,0x24380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXBQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxwq\"\t\t\t,0x24380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3825[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXDQ,D__Vdq,D__Mq,\tD__NONE\t,\"pmovsxdq\"\t\t\t,0x25380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVSXDQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovsxdq\"\t\t\t,0x25380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3828[]=\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMULDQ,D__Vdq,D__Wdq,\tD__NONE\t,\"pmuldq\"\t\t\t,0x28380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3829[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PCMPEQQ,D__Vdq,D__Wdq,\tD__NONE\t,\"pcmpeqq\"\t\t\t,0x29380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f382a[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_MOVNTDQA,D__Vdq,D__Mdq,\tD__NONE\t,\"movntdqa\"\t\t\t,0x2a380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f382b[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PACKUSDW,D__Vdq,D__Wdq,\tD__NONE\t,\"packusdw\"\t\t\t,0x2b380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0f3830[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBW,D__Vdq,D__Mq,\tD__NONE\t,\"pmovzxbw\"\t\t\t,0x30380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBW,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxbw\"\t\t\t,0x30380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3831[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBD,D__Vdq,D__Md,\tD__NONE\t,\"pmovzxbd\"\t\t\t,0x31380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBW,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxbd\"\t\t\t,0x31380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3832[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBQ,D__Vdq,D__Mw,\tD__NONE\t,\"pmovzxbq\"\t\t\t,0x32380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxbq\"\t\t\t,0x32380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3833[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXWD,D__Vdq,D__Mq,\tD__NONE\t,\"pmovzxwd\"\t\t\t,0x33380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXWD,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxwd\"\t\t\t,0x33380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3834[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXWQ,D__Vdq,D__Md,\tD__NONE\t,\"pmovzxwq\"\t\t\t,0x34380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXBQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxwq\"\t\t\t,0x34380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3835[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXDQ,D__Vdq,D__Mq,\tD__NONE\t,\"pmovzxdq\"\t\t\t,0x35380f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMOVZXDQ,D__Vdq,D__Udq,\tD__NONE\t,\"pmovzxdq\"\t\t\t,0x35380f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3837[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PCMPGTQ,D__Vdq,D__Wdq,\tD__NONE\t,\"pcmpgtq\"\t\t\t,0x37380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix \n};\n\nDIS_OPCODE_T Group0x0f3838[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMINSB,D__Vdq,D__Wdq,\tD__NONE\t,\"pminsb\"\t\t\t,0x38380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3839[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMINSD,D__Vdq,D__Wdq,\tD__NONE\t,\"pminsd\"\t\t\t,0x39380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383a[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMINUW,D__Vdq,D__Wdq,\tD__NONE\t,\"pminuw\"\t\t\t,0x3a380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383b[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMINUD,D__Vdq,D__Wdq,\tD__NONE\t,\"pminud\"\t\t\t,0x3b380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383c[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMAXSB,D__Vdq,D__Wdq,\tD__NONE\t,\"pmaxsb\"\t\t\t,0x3c380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383d[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMAXSD,D__Vdq,D__Wdq,\tD__NONE\t,\"pmaxsd\"\t\t\t\t\t\t,0x3d380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383e[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMAXUW,D__Vdq,D__Wdq,\tD__NONE\t,\"pmaxuw\"\t\t\t,0x3e380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f383f[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMAXUD,D__Vdq,D__Wdq,\tD__NONE\t,\"pmaxud\"\t\t\t,0x3f380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3840[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PMULLD,D__Vdq,D__Wdq,\tD__NONE\t,\"pmulld\"\t\t\t,0x40380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3841[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_PHMINPOSUW,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"phminposuw\"\t\t\t,0x41380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3880[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_INVEPT,D__Gy,D__Mdq,\tD__NONE\t,\"invept\"\t\t\t,0x80380f66,4|C_GROUP_4_TYPE|(1<<16)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_NULL,\t}, //prefix 0x66\n\t{R_M, C_NULL,\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3881[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_INVVPID,\tD__Gy,\tD__Mdq,\tD__NONE,\t\"invvpid\"\t\t\t,0x81380f66,4|C_GROUP_4_TYPE|(1<<16)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_NULL,\t}, //prefix 0x66\n\t{R_M, C_NULL,\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38db[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_AESIMC,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"aesimc\"\t,0xdb380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38dc[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_AESENC,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"aesenc\"\t,0xdc380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38dd[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_AESENCLAST,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"aesenclast\",0xdd380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38de[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_AESDEC,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"aesdec\"\t,0xde380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38df[] =\n{\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_AESDECLAST,\tD__Vdq,\tD__Wdq,\tD__NONE,\t\"aesdeclast\",0xdf380f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38f0[] =\n{\n\t{R_M, C_MOVBE,D__Gy,D__My,D__NONE,\"movbe\"\t\t\t\t,0xf0380f,3|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVBE,D__Gw,D__Mw,D__NONE,\"movbe\"\t\t\t\t,0xf0380f,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CRC32,D__Gy,D__Eb,\tD__NONE\t,\"crc32\"\t\t\t,0xf0380ff2,4|C_GROUP_4_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t}, //no prefix \n\t{R_M, C_NULL,\t}, //prefix 0x66\n\t{R_M, C_CRC32,D__Gy,D__Eb,\tD__NONE\t,\"crc32\"\t\t\t,0xf0380ff2,4|C_GROUP_4_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f38f1[] =\n{\n\t{R_M, C_MOVBE,D__My,D__Gy,D__NONE,\"movbe\",0xf1380f,3|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVBE,D__Mw,D__Gw,D__NONE,\"movbe\"\t\t\t\t,0xf1380f,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CRC32,\tD__Gy,\tD__Ey,\tD__NONE\t,\"crc32\"\t\t\t,0xf1380ff2,4|C_GROUP_4_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t//mod=11\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0x66\n\t{R_M, C_CRC32,\tD__Gy,\tD__Ev,\tD__NONE\t,\"crc32\"\t\t\t,0xf1380ff2,4|C_GROUP_4_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0f38[] =\n{\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3800,0x00380f,3},//0f 38 00\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3801,0x01380f,3},//0f 38 01\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3802,0x02380f,3},//0f 38 02\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3803,0x03380f,3},//0f 38 03\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3804,0x04380f,3},//0f 38 04\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3805,0x05380f,3},//0f 38 05\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3806,0x06380f,3},//0f 38 06\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3807,0x07380f,3},//0f 38 07\n\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3808,0x08380f,3},//0f 38 08\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f3809,0x09380f,3},//0f 38 09\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f380a,0x0a380f,3},//0f 38 0a\n\t{R_M,\tC_GRP3,D__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f380b,0x0b380f,3},//0f 38 0b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 0c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 0d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 0e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 0f\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3810,0x10380f,3},//0f 38 10\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 11\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 12\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 13\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3814,0x14380f,3},//0f 38 14\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3815,0x15380f,3},//0f 38 15\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 16\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3817,0x17380f,3},//0f 38 17\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 18\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 19\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 1a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 1b\n\t{R_M,\tC_GRP3,\tD__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f381c,0x1c380f,3},//0f 38 1c\n\t{R_M,\tC_GRP3,\tD__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f381d,0x1d380f,3},//0f 38 1d\n\t{R_M,\tC_GRP3,\tD__Pq,\t\t\tD__Qq,\t\tD__NONE,(char*)Group0x0f381e,0x1e380f,3},//0f 38 1e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 1f\n\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3820,0x20380f,3},//0f 38 20\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3821,0x21380f,3},//0f 38 21\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3822,0x22380f,3},//0f 38 22\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3823,0x23380f,3},//0f 38 23\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3824,0x24380f,3},//0f 38 24\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3825,0x25380f,3},//0f 38 25\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 26\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 27\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3828,0x28380f,3},//0f 38 28\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3829,0x29380f,3},//0f 38 29\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f382a,0x2a380f,3},//0f 38 2a\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f382b,0x2b380f,3},//0f 38 2b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 2c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 2d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 2e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 2f\n\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3830,0x30380f,3},//0f 38 30\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3831,0x31380f,3},//0f 38 31\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3832,0x32380f,3},//0f 38 32\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3833,0x33380f,3},//0f 38 33\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3834,0x34380f,3},//0f 38 34\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3835,0x35380f,3},//0f 38 35\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 36\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3837,0x37380f,3},//0f 38 37\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3838,0x38380f,3},//0f 38 38\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3839,0x39380f,3},//0f 38 39\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383a,0x3a380f,3},//0f 38 3a\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383b,0x3b380f,3},//0f 38 3b\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383c,0x3c380f,3},//0f 38 3c\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383d,0x3d380f,3},//0f 38 3d\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383e,0x3e380f,3},//0f 38 3e\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f383f,0x3f380f,3},//0f 38 3f\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3840,0x40380f,3},//0f 38 40\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3841,0x41380f,3},//0f 38 41\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 42\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 43\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 44\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 45\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 46\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 47\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 48\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 49\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 4f\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 50\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 51\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 52\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 53\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 54\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 55\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 56\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 57\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 58\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 59\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 5f\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 60\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 61\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 62\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 63\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 64\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 65\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 66\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 67\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 68\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 69\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 6f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 70\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 71\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 72\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 73\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 74\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 75\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 76\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 77\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 78\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 79\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 7f\n\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3880\t\t\t\t\t,0x80380f,3},//0f 38 80\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3881\t\t\t\t\t,0x81380f,3},//0f 38 81\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 82\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 83\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 84\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 85\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 86\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 87\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 88\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 89\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 8f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 90\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 91\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 92\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 93\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 94\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 95\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 96\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 97\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 98\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 99\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 9f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 a9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 aa\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ab\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ac\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ad\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ae\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 af\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 b9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ba\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 bb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 bc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 bd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 be\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 bf\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 c9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ca\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 cb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 cc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 cd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ce\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 cf\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 d9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 da\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38db,0xdb380f,3},//0f 38 db\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38dc,0xdc380f,3},//0f 38 dc\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38dd,0xdd380f,3},//0f 38 dd\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38de,0xde380f,3},//0f 38 de\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38df,0xdf380f,3},//0f 38 df\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e7\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 e9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ea\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 eb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ec\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ed\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ee\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ef\n\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38f0,0xf0380f,3},//0f 38 f0\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f38f1,0xf1380f,3},//0f 38 f1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f7\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 f9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 fa\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 fb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 fc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 fd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 fe\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 38 ff\n\n};\n\nDIS_OPCODE_T Group0x0f3a08[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_ROUNDPS,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"roundps\"\t,0x083a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a09[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_ROUNDPD,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"roundpd\"\t,0x093a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0a[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_ROUNDSS,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"roundss\"\t,0x0a3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0b[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_ROUNDSD,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"roundsd\"\t,0x0b3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0c[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_BLENDPS,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"blendps\"\t,0x0c3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0d[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_BLENDPD,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"blendpd\"\t,0x0d3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0e[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PBLENDW,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pblendw\"\t,0x0e3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f3a0f[] =\n{\n\t{R_M | Immediate_Ib, C_PALIGNR,\tD__Pq,\tD__Qq,\tD__Ib,\t\t\"palignr\"\t,0x0f3a0f,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_PALIGNR,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"palignr\"\t,0x0f3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a14[] =\n{\n\t{R_M, C_NULL,                                             \t}, //no prefix \n\t{R_M | Immediate_Ib, C_PEXTRB,\tD__Mb,\tD__Vdq,\tD__Ib,\t\t\t\"pextrb\"\t,0x143a0f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t//mod = 0x11\n\t{R_M, C_NULL,                                             \t}, //no prefix \n\t{R_M | Immediate_Ib|D_64, C_PEXTRB,\tD__Ry,\tD__Vdq,\tD__Ib,\t\t\t\"pextrb\"\t,0x143a0f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a15[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PEXTRW,\tD__Mw,\tD__Vdq,\tD__Ib,\t\t\t\"pextrw\"\t,0x153a0f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib|D_64, C_PEXTRW,\tD__Ry,\tD__Vdq,\tD__Ib,\t\"pextrw\"\t,0x153a0f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a16[] =\n{\n\t{R_M, C_NULL\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PEXTRD,\tD__Ey,\tD__Vdq,\tD__Ib,\t\t\"pextrd\"\t\t,0x163a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a17[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_EXTRACTPS,\tD__Ed,\tD__Vdq,\tD__Ib,\t\t\"extractps\"\t,0x173a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a20[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PINSRB,\tD__Vdq,\tD__Mb,\tD__Ib,\t\t\"pinsrb\"\t,0x203a0f66,4|C_GROUP_3_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PINSRB,\tD__Vdq,\tD__Ry,\tD__Ib,\t\t\"pinsrb\"\t,0x203a0f66,4|C_GROUP_3_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\n};\n\nDIS_OPCODE_T Group0x0f3a21[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_INSERTPS,\tD__Vdq,\tD__Md,\tD__Ib,\t\t\"insertps\"\t,0x213a0f66,4|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_INSERTPS,\tD__Vdq,\tD__Udq,\tD__Ib,\t\t\"insertps\"\t,0x213a0f66,4|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a22[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PINSRD,\tD__Vdq,\tD__Ey,\tD__Ib,\t\t\"pinsrd\"\t,0x223a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a40[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_DPPS,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"dpps\"\t,0x403a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a41[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_DPPD,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"dppd\"\t,0x413a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a42[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_MPSADBW,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"mpsadbw\"\t,0x423a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a44[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PCLMULQDQ,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pclmulqdq\"\t,0x443a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\n\n\nDIS_OPCODE_T Group0x0f3a60[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PCMPESTRM,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pcmpestrm\"\t,0x603a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a61[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PCMPESTRI,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pcmpestri\"\t,0x613a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a62[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PCMPISTRM,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pcmpistrm\"\t,0x623a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a63[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_PCMPISTRI,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"pcmpistri\"\t,0x633a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3adf[] =\n{\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix \n\t{R_M | Immediate_Ib, C_AESKEYGENASSIST,\tD__Vdq,\tD__Wdq,\tD__Ib,\t\t\"aeskeygenassist\"\t,0xdf3a0f66,4|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f3a[] =\n{\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 00\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 01\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 02\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 03\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 04\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 05\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 06\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 07\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a08,0x083a0f,3},//0f 3a 08\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a09,0x093a0f,3},//0f 3a 09\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0a,0x0a3a0f,3},//0f 3a 0a\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0b,0x0b3a0f,3},//0f 3a 0b\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0c,0x0c3a0f,3},//0f 3a 0c\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0d,0x0d3a0f,3},//0f 3a 0d\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0e,0x0e3a0f,3},//0f 3a 0e\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a0f,0x0f3a0f,3},//0f 3a 0f\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 10\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 11\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 12\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 13\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a14,0x143a0f,3},//0f 3a 14\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a15,0x153a0f,3},//0f 3a 15\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a16,0x163a0f,3},//0f 3a 16\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a17,0x173a0f,3},//0f 3a 17\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 18\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 19\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 1f\n\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a20,0x203a0f,3},//0f 3a 20\n\t{R_M,\tC_GRP4,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a21,0x213a0f,3},//0f 3a 21\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a22,0x223a0f,3},//0f 3a 22\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 23\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 24\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 25\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 26\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 27\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 28\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 29\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 2f\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 30\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 31\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 32\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 33\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 34\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 35\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 36\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 37\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 38\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 39\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 3f\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a40,0x403a0f,3},//0f 3a 40\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a41,0x413a0f,3},//0f 3a 41\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a42,0x423a0f,3},//0f 3a 42\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 43\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a44,0x443a0f,3},//0f 3a 44\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 45\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 46\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 47\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 48\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 49\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 4f\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 50\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 51\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 52\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 53\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 54\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 55\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 56\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 57\n\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 58\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 59\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 5f\n\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a60,0x603a0f,3},//0f 3a 60\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a61,0x613a0f,3},//0f 3a 61\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a62,0x623a0f,3},//0f 3a 62\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3a63,0x633a0f,3},//0f 3a 63\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 64\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 65\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 66\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 67\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 68\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 69\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 6f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 70\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 71\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 72\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 73\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 74\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 75\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 76\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 77\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 78\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 79\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 7f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 80\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 81\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 82\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 83\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 84\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 85\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 86\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 87\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 88\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 89\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 8f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 90\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 91\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 92\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 93\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 94\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 95\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 96\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 97\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 98\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 99\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9a\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9b\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9c\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9d\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9e\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a 9f\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a a9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a aa\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ab\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ac\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ad\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ae\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a af\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a b9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ba\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a bb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a bc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a bd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a be\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a bf\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a c9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ca\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a cb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a cc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a cd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ce\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a cf\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a d9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a da\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a db\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a dc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a dd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a de\n\t{R_M,\tC_GRP3,\tD__NONE,\t\tD__NONE,\tD__NONE,(char*)Group0x0f3adf,0xdf3a0f,3},//0f 3a df\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a e9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ea\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a eb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ec\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ed\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ee\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ef\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f0\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f1\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f2\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f3\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f4\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f5\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f6\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f7\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f8\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a f9\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a fa\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a fb\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a fc\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a fd\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a fe\n\t{R_M,\tC_NULL,\tD__NONE,\t\tD__NONE,\tD__NONE,\t\t\t\t\t},//0f 3a ff\n};\n\nDIS_OPCODE_T Group0x0f70[] =\n{\n\t{R_M | Immediate_Ib, C_PSHUFW,\t\tD__Pq,\t\tD__Qq,\t\tD__Ib,\t\t\"pshufw\"\t\t\t,0x700f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //no prefix\n\t{R_M | Immediate_Ib, C_PSHUFD,\t\tD__Vdq,\t\tD__Wdq,\t\tD__Ib,\t\t\"pshufd\"\t\t\t,0x700f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0x66\n\t{R_M | Immediate_Ib, C_PSHUFLW,\tD__Vdq,\t\tD__Wdq,\t\tD__Ib,\t\t\"pshuflw\"\t\t\t\t,0x700ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xf2 \n\t{R_M | Immediate_Ib, C_PSHUFHW,\tD__Vdq,\t\tD__Wdq,\t\tD__Ib,\t\t\"pshufhw\"\t\t\t\t,0x700ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xf3 \t\n};\n\nDIS_OPCODE_T Group0x0f74[] =\n{\n\t{R_M, C_PCMPEQB,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\t\"pcmpeqb\"\t\t\t\t,0x740f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix\n\t{R_M, C_PCMPEQB,\t\tD__Vdq,\t\tD__Wdq,\t\tD__NONE,\t\t\"pcmpeqb\"\t\t\t\t,0x740f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf2 \n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf3 \t\n};\nDIS_OPCODE_T Group0x0f75[] =\n{\n\t{R_M, C_PCMPEQW,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\t\"pcmpeqw\"\t\t\t\t,0x750f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix\n\t{R_M, C_PCMPEQW,\t\tD__Vdq,\t\tD__Wdq,\t\tD__NONE,\t\t\"pcmpeqw\"\t\t\t\t,0x750f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf2 \n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf3 \t\n};\nDIS_OPCODE_T Group0x0f76[] =\n{\n\t{R_M, C_PCMPEQD,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\t\"pcmpeqd\"\t\t\t,0x760f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix\n\t{R_M, C_PCMPEQD,\t\tD__Vdq,\t\tD__Wdq,\t\tD__NONE,\t\t\"pcmpeqd\"\t\t\t,0x760f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf2 \n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf3 \t\n};\n\nDIS_OPCODE_T Group0x0f78[] =\n{\n\t{R_M|F_64, C_VMREAD,\tD__Ey,\tD__Gy,\tD__NONE,\t\"VMREAD\"\t,0x780f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M| Immediate_Ib, C_EXTRQ,\tD__Vdq,\tD__Ib,\t\tD__Ib2,\"extrq\"\t\t,0x780f66,3|C_GROUP_3_TYPE}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f79[] =\n{\n\t{R_M|F_64, C_VMWRITE,D__Gy,\tD__Ey,\t\tD__NONE,\t\"VMWRITE\"\t,0x790f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x79\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0x66 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f7c[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t}, //no prefix\n\t{R_M, C_HADDPD,\t\tD__Vdq,\t\tD__Wdq,\t\tD__NONE,\t\t\"haddpd\"\t\t\t,0x7c0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_HADDPS,\t\tD__Vps,\t\tD__Wps,\t\tD__NONE,\t\t\"haddps\"\t\t\t\t,0x7c0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf3 \t\n};\n\nDIS_OPCODE_T Group0x0f7d[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t}, //no prefix\n\t{R_M, C_HSUBPD,\t\tD__Vdq,\t\tD__Wdq,\t\tD__NONE,\t\t\"hsubpd\"\t\t\t,0x7d0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_HSUBPS,\t\tD__Vps,\t\tD__Wps,\t\tD__NONE,\t\t\"hsubps\"\t\t\t\t,0x7d0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf3 \t\n};\n\nDIS_OPCODE_T Group0x0f7e[] =\n{\n\t{R_M, C_MOVD,\t\tD__Ey,\t\tD__Pd,\t\tD__NONE,\t\"movd\"\t,0x7e0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix\n\t{R_M, C_MOVD,\t\tD__Ey,\t\tD__Vdq,\t\tD__NONE,\t\"movd\"\t,0x7e0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf2 \n\t{R_M, C_MOVQ,\t\tD__Vq,\t\tD__Wq,D__NONE,\"movq\"\t\t\t,0x7e0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \t\n};\n\nDIS_OPCODE_T Group0x0f7f[] =\n{\n\t{R_M, C_MOVQ,\t\tD__Qq,\t\tD__Pq,\t\tD__NONE,\t\t\t\"movq\"\t\t\t\t,0x7f0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix\n\t{R_M, C_MOVDQA,\t\tD__Wdq,\t\tD__Vdq,\t\tD__NONE,\t\t\t\"movdqa\"\t\t\t,0x7f0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\t\t\t\t}, //0xf2 \n\t{R_M, C_MOVDQU,\t\tD__Wdq,\t\tD__Vdq,\t\tD__NONE,\t\t\t\"movdqu\"\t\t\t,0x7f0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \t\n};\n\n\nDIS_OPCODE_T Group0x0f60[] =\n{\n\t{R_M, C_PUNPCKLBW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpcklbw\"\t\t\t\t,0x600f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKLBW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpcklbw\"\t\t\t\t,0x600f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f61[] =\n{\n\t{R_M, C_PUNPCKLWD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpcklwd\"\t\t\t\t,0x610f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKLWD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpcklwd\"\t\t\t\t,0x610f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f62[] =\n{\n\t{R_M, C_PUNPCKLDQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpckldq\"\t\t\t\t,0x620f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKLDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpckldq\"\t\t\t\t,0x620f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f63[] =\n{\n\t{R_M, C_PACKSSWB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"packsswb\"\t\t\t\t,0x630f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PACKSSWB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"packsswb\"\t\t\t\t,0x630f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f64[] =\n{\n\t{R_M, C_PCMPGTB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pcmpgtb\"\t\t\t\t,0x640f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PCMPGTB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pcmpgtb\"\t\t\t\t,0x640f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f65[] =\n{\n\t{R_M, C_PCMPGTW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pcmpgtw\"\t\t\t\t,0x650f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PCMPGTW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pcmpgtw\"\t\t\t\t,0x650f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f66[] =\n{\n\t{R_M, C_PCMPGTD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pcmpgtd\"\t\t\t\t,0x660f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PCMPGTD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pcmpgtd\"\t\t\t\t,0x660f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f67[] =\n{\n\t{R_M, C_PACKUSWB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"packuswb\"\t\t\t\t,0x670f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PACKUSWB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"packuswb\"\t\t\t\t,0x670f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f68[] =\n{\n\t{R_M, C_PUNPCKHBW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpckhbw\"\t\t\t\t,0x680f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKHBW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpckhbw\"\t\t\t\t,0x680f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f69[] =\n{\n\t{R_M, C_PUNPCKHWD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpckhwd\"\t\t\t\t,0x690f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKHWD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpckhwd\"\t\t\t\t,0x690f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6a[] =\n{\n\t{R_M, C_PUNPCKHDQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"punpckhdq\"\t\t\t\t,0x6a0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PUNPCKHDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpckhdq\"\t\t\t\t,0x6a0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6b[] =\n{\n\t{R_M, C_PACKSSDW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"packssdw\"\t\t\t\t,0x6b0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PACKSSDW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"packssdw\"\t\t\t\t,0x6b0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6c[] =\n{\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE\t\t\t\t}, //no prefix \n\t{R_M, C_PUNPCKLQDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpcklqdq\"\t\t\t\t,0x6c0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6d[] =\n{\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE\t\t\t}, //no prefix \n\t{R_M, C_PUNPCKHQDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"punpckhqdq\"\t\t\t\t,0x6d0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6e[] =\n{\n\t{R_M, C_MOVD,\tD__Pq,\tD__Ey,\t\tD__NONE,\"movd\"\t\t\t\t,0x6e0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVD,\tD__Vdq,\tD__Ey,\t\tD__NONE,\"movd\"\t\t\t\t,0x6e0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f6f[] =\n{\n\t{R_M, C_MOVQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"movq\"\t\t\t\t,0x6f0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVDQA,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"movdqa\"\t\t\t\t,0x6f0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_MOVDQU,D__Vdq,\tD__Wdq,\tD__NONE,\"movdqu\",0x6f0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f50[] =\n{\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,}, //no prefix \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,}, //0x66\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n\t//mod=0x11\n\t{R_M, C_MOVMSKPS,\tD__Gy,\tD__Ups,\t\tD__NONE,\"movmskps\"\t\t\t\t,0x500f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVMSKPD,\tD__Gy,\tD__Upd,\t\tD__NONE,\"movmskpd\"\t\t\t\t,0x500f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f51[] =\n{\n\t{R_M, C_SQRTPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"sqrtps\"\t\t\t\t,0x510f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_SQRTPD,\tD__Vpd,\tD__Wpd,\t\tD__NONE,\"sqrtpd\"\t\t\t\t,0x510f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_SQRTSD,\tD__Vsd,\tD__Wsd,\tD__NONE,\"sqrtsd\",0x510ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M,  C_SQRTSS,D__Vss,\tD__Wss,\tD__NONE,\"sqrtss\",0x510ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f52[] =\n{\n\t{R_M, C_RSQRTPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"rsqrtps\"\t\t\t\t,0x520f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M,  C_RSQRTSS,D__Vss,\tD__Wss,\tD__NONE,\"rsqrtss\",0x520ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f53[] =\n{\n\t{R_M, C_RCPPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"rcpps\"\t\t\t\t,0x530f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0x66\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf2 \n\t{R_M,  C_RCPSS,D__Vss,\tD__Wss,\tD__NONE,\"rcpss\",0x530ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f54[] =\n{\n\t{R_M, C_ANDPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"andps\"\t\t\t\t,0x540f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M,  C_ANDPD,D__Vpd,\tD__Wpd,\tD__NONE,\"andpd\",0x540f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf6\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0xf2\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n\t\n};\nDIS_OPCODE_T Group0x0f55[] =\n{\n\t{R_M, C_ANDNPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"andnps\"\t\t\t\t,0x550f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M,  C_ANDNPD,D__Vpd,\tD__Wpd,\tD__NONE,\"andnpd\",0x550f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0xf2\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3\n\t\n};\nDIS_OPCODE_T Group0x0f56[] =\n{\n\t{R_M, C_ORPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"orps\"\t\t\t\t,0x560f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M,  C_ORPD,D__Vpd,\tD__Wpd,\tD__NONE,\"orpd\",0x560f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0xf2\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n\t\n};\nDIS_OPCODE_T Group0x0f57[] =\n{\n\t{R_M, C_XORPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"xorps\"\t\t\t\t,0x570f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M,  C_XORPD,D__Vpd,\tD__Wpd,\tD__NONE,\"xorpd\",0x570f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t\t\t}, //0xf2\n\t{R_M, C_NULL,D__NONE,\tD__NONE,\tD__NONE}, //0xf3 \n\t\n};\n\nDIS_OPCODE_T Group0x0f58[] =\n{\n\t{R_M, C_ADDPS,\tD__rwVps,\tD__rWps,D__NONE,\"addps\"\t\t,0x580f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_ADDPD,\tD__rwVpd,\tD__rWpd,D__NONE,\"addpd\"\t\t,0x580f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_ADDSD,\tD__rwVsd,\tD__rWsd,D__NONE,\"addsd\"\t\t,0x580ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_ADDSS,\tD__rwVss,\tD__rWss,D__NONE,\"addss\"\t\t,0x580ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f59[] =\n{\n\t{R_M, C_MULPS,\tD__rwVps,\tD__rWps,\t\tD__NONE,\"mulps\"\t\t,0x590f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_MULPD,\tD__rwVpd,\tD__rWpd,\t\tD__NONE,\"mulpd\"\t\t,0x590f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_MULSD,\tD__rwVsd,\tD__rWsd,\t\tD__NONE,\"mulsd\"\t\t,0x590ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_MULSS,\tD__rwVss,\tD__rWss,\t\tD__NONE,\"mulss\"\t\t,0x590ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5a[] =\n{\n\t{R_M, C_CVTPS2PD,\tD__wVpd,\tD__rWps,\t\tD__NONE,\"cvtps2pd\"\t\t,0x5a0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_CVTPD2PS,\tD__wVps,\tD__rWpd,\t\tD__NONE,\"cvtpd2ps\"\t\t,0x5a0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_CVTSD2SS,\tD__wVsd,\tD__rWsd,\t\tD__NONE,\"cvtsd2ss\"\t\t,0x5a0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M, C_CVTSS2SD,\tD__wVss,\tD__rWss,\t\tD__NONE,\"cvtss2sd\"\t\t,0x5a0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5b[] =\n{\n\t{R_M, C_CVTDQ2PS,\tD__wVps,\tD__rWdq,\t\tD__NONE,\"cvtdq2ps\"\t\t,0x5b0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_CVTPS2DQ,\tD__wVdq,\tD__rWps,\t\tD__NONE,\"cvtps2dq\"\t\t,0x5b0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf2 \n\t{R_M, C_CVTTPS2DQ,\tD__wVss,\tD__rWss,\t\tD__NONE,\"cvttps2dq\"\t\t,0x5b0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5c[] =\n{\n\t{R_M, C_SUBPS,\tD__rwVps,\tD__rWps,\t\tD__NONE,\"subps\"\t\t,0x5c0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_SUBPD,\tD__rwVpd,\tD__rWpd,\t\tD__NONE,\"subpd\"\t\t,0x5c0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_SUBSD,\tD__rwVsd,\tD__rWsd,\t\tD__NONE,\"subsd\"\t\t,0x5c0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_SUBSS,\tD__rwVss,\tD__rWss,\t\tD__NONE,\"subss\"\t\t,0x5c0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5d[] =\n{\n\t{R_M, C_MINPS,\tD__rwVps,\tD__rWps,\t\tD__NONE,\"minps\"\t\t,0x5d0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_MINPD,\tD__rwVpd,\tD__rWpd,\t\tD__NONE,\"minpd\"\t\t,0x5d0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_MINSD,\tD__rwVsd,\tD__rWsd,\t\tD__NONE,\"minsd\"\t\t,0x5d0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_MINSS,\tD__rwVss,\tD__rWss,\t\tD__NONE,\"minss\"\t\t,0x5d0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5e[] =\n{\n\t{R_M, C_DIVPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"divps\"\t\t,0x5e0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_DIVPD,\tD__Vpd,\tD__Wpd,\t\tD__NONE,\"divpd\"\t\t,0x5e0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_DIVSD,\tD__Vsd,\tD__Wsd,\t\tD__NONE,\"divsd\"\t\t,0x5e0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_DIVSS,\tD__Vss,\tD__Wss,\t\tD__NONE,\"divss\"\t\t,0x5e0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f5f[] =\n{\n\t{R_M, C_MAXPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"maxps\"\t\t,0x5f0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_MAXPD,\tD__Vpd,\tD__Wpd,\t\tD__NONE,\"maxpd\"\t\t,0x5f0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_MAXSD,\tD__Vsd,\tD__Wsd,\t\tD__NONE,\"maxsd\"\t\t,0x5f0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf2 \n\t{R_M, C_MAXSS,\tD__Vss,\tD__Wss,\t\tD__NONE,\"maxss\"\t\t,0x5f0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f10[] =\n{\n\t{R_M, C_MOVUPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"movups\"\t,0x100f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVUPD,\tD__Vpd,\tD__Wpd,\t\tD__NONE,\"movupd\"\t,0x100f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_MOVSD,\tD__Vsd,\tD__Wsd,\t\tD__NONE,\"movsd\"\t\t,0x100ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M, C_MOVSS,\tD__Vss,\tD__Wss,\t\tD__NONE,\"movss\"\t\t,0x100ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\n\nDIS_OPCODE_T Group0x0f11[] =\n{\n\t{R_M, C_MOVUPS,\tD__Wps,\tD__Vps,\t\tD__NONE,\"movups\"\t\t,0x110f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVUPD,\tD__Wpd,\tD__Vpd,\t\tD__NONE,\"movupd\"\t\t,0x110f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_MOVSD,\tD__Wsd,\tD__Vsd,\t\tD__NONE,\"movsd\"\t\t,0x110ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M, C_MOVSS,\tD__Wss,\tD__Vss,\t\tD__NONE,\"movss\"\t\t,0x110ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f12[] =\n{\n\t// mod=mem (eg. 00 01 10)\n\t{R_M, C_MOVLPS,\tD__Vq,\tD__Mq,\t\tD__NONE,\"movlps\"\t\t,0x120f,2|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_MOVLPD,\tD__Vq,\tD__Mq,\t\tD__NONE,\"movlpd\"\t\t,0x120f66,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_MOVDDUP,\tD__Vq,\tD__Wq,\t\tD__NONE,\"movddup\"\t\t,0x120ff2,3|C_GROUP_4_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M, C_MOVSLDUP,\tD__Vq,\tD__Wq,\t\tD__NONE,\"movsldup\"\t\t,0x120ff3,3|C_GROUP_4_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n\n\t// mod=11\n\t{R_M, C_MOVHLPS,\tD__Vq,\t\tD__Uq,\tD__NONE,\"movhlps\"\t\t,0x120f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,D__NONE,\t\t}, //0x66\n\t{R_M, C_MOVDDUP,\tD__Vq,\tD__Wq,\t\tD__NONE,\"movddup\"\t\t,0x120ff2,3|C_GROUP_4_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf2 \n\t{R_M, C_MOVSLDUP,\tD__Vq,\tD__Wq,\t\tD__NONE,\"movsldup\"\t\t,0x120ff3,3|C_GROUP_4_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n\n};\nDIS_OPCODE_T Group0x0f13[] =\n{\n\t{R_M, C_MOVLPS,\tD__Mq,\tD__Vq,\t\tD__NONE,\"movlps\"\t\t,0x130f,2|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVLPD,\tD__Mq,\tD__Vq,\t\tD__NONE,\"movlpd\"\t\t,0x130f66,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf2 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f14[] =\n{\n\t{R_M, C_UNPCKLPS,\tD__Vps,\tD__Wq,\t\tD__NONE,\"unpcklps\"\t\t,0x140f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_UNPCKLPD,\tD__Vpd,\tD__Wq,\t\tD__NONE,\"unpcklpd\"\t\t,0x140f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf2 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f15[] =\n{\n\t{R_M, C_UNPCKHPS,\tD__Vps,\tD__Wq,\t\tD__NONE,\"unpckhps\"\t\t,0x150f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_UNPCKHPD,\tD__Vpd,\tD__Wq,\t\tD__NONE,\"unpckhpd\"\t\t,0x150f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\tD__Vq,\tD__Mq,\t\tD__NONE,\t\t}, //0xf2 \n\t{R_M, C_NULL,\tD__Vq,\tD__Mq,\t\tD__NONE,\t\t}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f16[] =\n{\n\t// mod=mem (eg: 00 01 10)\n\t{R_M, C_MOVHPS,\t\tD__Vq,\t\tD__Mq,\t\tD__NONE,\"movhps\"\t\t,0x160f,2|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_MOVHPD,\t\tD__Vpd,\t\tD__Mq,\t\tD__NONE,\"movhpd\"\t\t,0x160f66,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\t}, //0xf2       this opcode need to fixed. there is one bugs.\n\t{R_M, C_MOVSHDUP,\tD__Vq,\t\tD__Wq,\t\tD__NONE,\"movshdup\"\t,0x160ff3,3|C_GROUP_4_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n\n\t// mod=11\n\t{R_M, C_MOVLHPS,\tD__Vq,\t\tD__Uq,\t\tD__NONE,\"movlhps\"\t\t,0x160f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\t}, //0x66\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\t}, //0xf2       this opcode need to fixed. there is one bugs.\n\t{R_M, C_MOVSHDUP,\tD__Vq,\t\tD__Wq,\t\tD__NONE,\"movshdup\"\t,0x160ff3,3|C_GROUP_4_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xf3 \n\n};\nDIS_OPCODE_T Group0x0f17[] =\n{\n\t{R_M, C_MOVHPS,\tD__Mq,\tD__Vq,\t\tD__NONE,\"movhps\"\t\t,0x170f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVHPD,\tD__Mq,\tD__Vq,\t\tD__NONE,\"movhpd\"\t\t,0x170f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x66\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf2 \n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //0xf3 \n};\nDIS_OPCODE_T Group0x0f28[] =\n{\n\t{R_M, C_MOVAPS,\tD__Vps,\tD__Wps,\t\tD__NONE,\"movaps\"\t\t,0x280f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVAPD,\tD__Vpd,\tD__Wpd,\t\tD__NONE,\"movapd\"\t\t,0x280f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{0, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{0, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f29[] =\n{\n\t{R_M, C_MOVAPS,\tD__Wps,D__Vps,\t\t\tD__NONE,\"movaps\"\t\t,0x290f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVAPD,\tD__Wpd,D__Vpd,\t\t\tD__NONE,\"movapd\"\t\t,0x290f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{0, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{0, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0f2a[] =\n{\n\t{R_M, C_CVTPI2PS,\tD__Vps,\tD__Qpi,\t\tD__NONE,\"cvtpi2ps\"\t\t,0x2a0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_CVTPI2PD,\tD__Vpd,\tD__Qpi,\t\tD__NONE,\"cvtpi2pd\"\t\t,0x2a0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CVTSI2SD,\tD__Vsd,\tD__Ey,\t\tD__NONE,\"cvtsi2sd\"\t\t,0x2a0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_CVTSI2SS,\tD__Vss,\tD__Ey,\t\tD__NONE,\"cvtsi2ss\"\t\t,0x2a0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f2b[] =\n{\n\t{R_M, C_MOVNTPS,\tD__Mps,\tD__Vps,\t\tD__NONE,\"movntps\"\t\t,0x2b0f,2|C_GROUP_3_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVNTPD,\tD__Mpd,\tD__Vpd,\t\tD__NONE,\"movntpd\"\t\t,0x2b0f66,3|C_GROUP_3_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_MOVNTSD,\tD__Mq,\tD__Vsd,\t\tD__NONE,\"movntsd\"\t\t,0x2b0ff2,3|C_GROUP_3_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//prefix 0xf2\n\t{R_M, C_MOVNTSS,\tD__Md,\tD__Vss,\t\tD__NONE,\"movntss\"\t\t,0x2b0ff3,3|C_GROUP_3_TYPE|(3<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)} //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f2c[] =\n{\n\t{R_M, C_CVTTPS2PI,\tD__Ppi,\tD__Wps,\t\tD__NONE,\"cvttps2pi\"\t\t,0x2c0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_CVTTPD2PI,\tD__Ppi,\tD__Wpd,\t\tD__NONE,\"cvttpd2pi\"\t\t,0x2c0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CVTTSD2SI,\tD__Gy,\tD__Wsd,\t\tD__NONE,\"cvttsd2si\"\t\t,0x2c0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_CVTTSS2SI,\tD__Gy,\tD__Wss,\t\tD__NONE,\"cvttss2si\"\t\t,0x2c0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f2d[] =\n{\n\t{R_M, C_CVTPS2PI,\tD__Ppi,\tD__Wps,\t\tD__NONE,\"cvtps2pi\"\t,0x2d0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_CVTPD2PI,\tD__Ppi,\tD__Wpd,\t\tD__NONE,\"cvtpd2pi\"\t,0x2d0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CVTSD2SI,\tD__Gy,\tD__Wsd,\t\tD__NONE,\"cvtsd2si\"\t,0x2d0ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_CVTSS2SI,\tD__Gy,\tD__Wss,\t\tD__NONE,\"cvtss2si\"\t,0x2d0ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f2e[] =\n{\n\t{R_M, C_UCOMISS,\tD__Vss,\tD__Wss,\t\tD__NONE,\"ucomiss\"\t\t,0x2e0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //no prefix \n\t{R_M, C_UCOMISD,\tD__Vsd,\tD__Wsd,\t\tD__NONE,\"ucomisd\"\t\t,0x2e0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0f2f[] =\n{\n\t{R_M, C_COMISS,\tD__Vss,\tD__Wss,\t\tD__NONE,\"comiss\"\t\t,0x2f0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //no prefix \n\t{R_M, C_COMISD,\tD__Vsd,\tD__Wsd,\t\tD__NONE,\"comisd\"\t\t,0x2f0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0fd0[] =\n{\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\t\tD__NONE,\t\t}, //no prefix \n\t{R_M, C_ADDSUBPD,D__rwVpd,\tD__rWpd,\t\tD__NONE,\"addsubpd\"\t\t,0xd00f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_ADDSUBPS,D__rwVps,\tD__rWps,\t\tD__NONE,\"addsubps\"\t\t,0xd00ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd1[] =\n{\n\t{R_M, C_PSRLW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psrlw\"\t\t,0xd10f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSRLW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psrlw\"\t\t,0xd10f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd2[] =\n{\n\t{R_M, C_PSRLD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psrld\"\t\t,0xd20f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSRLD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psrld\"\t\t,0xd20f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd3[] =\n{\n\t{R_M, C_PSRLQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psrlq\"\t\t,0xd30f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSRLQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psrlq\"\t\t,0xd30f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd4[] =\n{\n\t{R_M, C_PADDQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddq\"\t\t,0xd40f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddq\"\t\t,0xd40f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd5[] =\n{\n\t{R_M, C_PMULLW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmullw\"\t\t,0xd50f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMULLW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmullw\"\t\t,0xd50f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd6[] =\n{\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\t}, //no prefix \n\t{R_M, C_MOVQ,\t\tD__Wq,\t\tD__Vq,\t\tD__NONE,\"movq\"\t\t,0xd60f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix 0x66\n\t{R_M, C_MOVDQ2Q,\tD__Pq,\t\tD__Uq,\t\tD__NONE,\"movdq2q\"\t,0xd60ff2,3|C_GROUP_4_TYPE|(6<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_MOVQ2DQ,\tD__Vdq,\t\tD__Nq,\t\tD__NONE,\"movq2dq\"\t,0xd60ff3,3|C_GROUP_4_TYPE|(7<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd7[] =\n{\n\t{R_M, C_PMOVMSKB,\tD__Gy,\tD__Nq,\t\tD__NONE,\"pmovmskb\"\t\t,0xd70f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_PMOVMSKB,\tD__Gy,\tD__Udq,\t\tD__NONE,\"pmovmskb\"\t\t,0xd70f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd8[] =\n{\n\t{R_M, C_PSUBUSB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubusb\"\t\t,0xd80f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBUSB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubusb\"\t\t,0xd80f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fd9[] =\n{\n\t{R_M, C_PSUBUSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubusw\"\t\t,0xd90f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBUSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubusw\"\t\t,0xd90f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fda[] =\n{\n\t{R_M, C_PMINUB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pminub\"\t\t,0xda0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMINUB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pminub\"\t\t,0xda0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fdb[] =\n{\n\t{R_M, C_PAND,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pand\"\t\t,0xdb0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PAND,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pand\"\t\t,0xdb0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fdc[] =\n{\n\t{R_M, C_PADDUSB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddusb\"\t\t,0xdc0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDUSB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddusb\"\t\t,0xdc0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fdd[] =\n{\n\t{R_M, C_PADDUSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddusw\"\t\t,0xdd0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDUSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddusw\"\t\t,0xdd0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fde[] =\n{\n\t{R_M, C_PMAXUB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmaxub\"\t\t,0xde0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMAXUB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmaxub\"\t\t,0xde0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fdf[] =\n{\n\t{R_M, C_PANDN,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pandn\"\t\t,0xdf0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PANDN,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pandn\"\t\t,0xdf0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0fe0[] =\n{\n\t{R_M, C_PAVGB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pavgb\"\t\t,0xe00f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PAVGB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pavgb\"\t\t,0xe00f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe1[] =\n{\n\t{R_M, C_PSRAW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psraw\"\t\t,0xe10f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSRAW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psraw\"\t\t,0xe10f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe2[] =\n{\n\t{R_M, C_PSRAD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psrad\"\t\t,0xe20f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSRAD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psrad\"\t\t,0xe20f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe3[] =\n{\n\t{R_M, C_PAVGW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pavgw\"\t\t,0xe30f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PAVGW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pavgw\"\t\t,0xe30f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe4[] =\n{\n\t{R_M, C_PMULHUW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmulhuw\"\t\t,0xe40f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMULHUW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmulhuw\"\t\t,0xe40f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe5[] =\n{\n\t{R_M, C_PMULHW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmulhw\"\t\t,0xe50f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMULHW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmulhw\"\t\t,0xe50f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe6[] =\n{\n\t{R_M, C_NULL,\t\t\t}, //no prefix \n\t{R_M, C_CVTTPD2DQ,\tD__Vdq,\tD__Wpd,\t\tD__NONE,\"cvttpd2dq\"\t\t,0xe60f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_CVTPD2DQ,\tD__Vdq,\tD__Wpd,\t\tD__NONE,\"cvtpd2dq\"\t\t,0xe60ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_CVTDQ2PD,\tD__Vpd,\tD__Wdq,\t\tD__NONE,\"cvtdq2pd\" \t\t,0xe60ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe7[] =\n{\n\t{R_M, C_MOVNTQ,\t\tD__Mq,\tD__Pq,\t\tD__NONE,\"movntq\"\t\t,0xe70f,2|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_MOVNTDQ,\tD__Mdq,\tD__Vdq,\t\tD__NONE,\"movntdq\"\t\t,0xe70f66,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe8[] =\n{\n\t{R_M, C_PSUBSB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubsb\"\t\t,0xe80f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBSB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubsb\"\t\t,0xe80f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fe9[] =\n{\n\t{R_M, C_PSUBSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubsw\"\t\t,0xe90f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubsw\"\t\t,0xe90f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fea[] =\n{\n\t{R_M, C_PMINSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pminsw\"\t\t,0xea0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMINSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pminsw\"\t\t,0xea0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0feb[] =\n{\n\t{R_M, C_POR,\tD__Pq,\tD__Qq,\t\tD__NONE,\"por\"\t\t,0xeb0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_POR,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"por\"\t\t,0xeb0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fec[] =\n{\n\t{R_M, C_PADDSB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddsb\"\t\t,0xec0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDSB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddsb\"\t\t,0xec0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fed[] =\n{\n\t{R_M, C_PADDSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddsw\"\t\t,0xed0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddsw\"\t\t,0xed0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fee[] =\n{\n\t{R_M, C_PMAXSW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmaxsw\"\t\t,0xee0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMAXSW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmaxsw\"\t\t,0xee0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fef[] =\n{\n\t{R_M, C_PXOR,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pxor\"\t\t,0xef0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PXOR,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pxor\"\t\t,0xef0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0ff0[] =\n{\n\t{R_M, C_NULL,\t\t\t}, //no prefix \n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0x66\n\t{R_M, C_LDDQU,\tD__Vdq,\tD__Mdq,\t\tD__NONE,\"lddqu\"\t\t,0xf00ff2,3|C_GROUP_4_TYPE|(2<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\n};\nDIS_OPCODE_T Group0x0ff1[] =\n{\n\t{R_M, C_PSLLW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psllw\"\t\t,0xf10f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSLLW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psllw\"\t\t,0xf10f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff2[] =\n{\n\t{R_M, C_PSLLD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pslld\"\t\t,0xf20f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSLLD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pslld\"\t\t,0xf20f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff3[] =\n{\n\t{R_M, C_PSLLQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psllq\"\t\t,0xf30f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSLLQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psllq\"\t\t,0xf30f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff4[] =\n{\n\t{R_M, C_PMULUDQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmuludq\"\t\t,0xf40f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMULUDQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmuludq\"\t\t,0xf40f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff5[] =\n{\n\t{R_M, C_PMADDWD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"pmaddwd\"\t\t,0xf50f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PMADDWD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"pmaddwd\"\t\t,0xf50f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff6[] =\n{\n\t{R_M, C_PSADBW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psadbw\"\t\t,0xf60f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSADBW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psadbw\"\t\t,0xf60f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff7[] =\n{\n\t{R_M, C_MASKMOVQ,\tD__Pq,\tD__Nq,\t\tD__NONE,\"maskmovq\"\t\t,0xf70f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //no prefix \n\t{R_M, C_MASKMOVDQU,\tD__Vdq,\tD__Udq,\t\tD__NONE,\"maskmovdqu\"\t\t,0xf70f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff8[] =\n{\n\t{R_M, C_PSUBB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubb\"\t\t,0xf80f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubb\"\t\t,0xf80f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ff9[] =\n{\n\t{R_M, C_PSUBW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubw\"\t\t,0xf90f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubw\"\t\t,0xf90f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ffa[] =\n{\n\t{R_M, C_PSUBD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubd\"\t\t,0xfa0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubd\"\t\t,0xfa0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ffb[] =\n{\n\t{R_M, C_PSUBQ,\tD__Pq,\tD__Qq,\t\tD__NONE,\"psubq\"\t\t,0xfb0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PSUBQ,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"psubq\"\t\t,0xfb0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ffc[] =\n{\n\t{R_M, C_PADDB,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddb\"\t\t,0xfc0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDB,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddb\"\t\t,0xfc0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ffd[] =\n{\n\t{R_M, C_PADDW,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddw\"\t\t,0xfd0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDW,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddw\"\t\t,0xfd0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0ffe[] =\n{\n\t{R_M, C_PADDD,\tD__Pq,\tD__Qq,\t\tD__NONE,\"paddd\"\t\t,0xfe0f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //no prefix \n\t{R_M, C_PADDD,\tD__Vdq,\tD__Wdq,\t\tD__NONE,\"paddd\"\t\t,0xfe0f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0fc2[] =\n{\n\t{R_M | Immediate_Ib, C_CMPPS,\tD__Vps, D__Wps,\tD__Ib,\"cmpps\"\t\t,0xc20f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_CMPPD,\tD__Vpd,\tD__Wpd,\tD__Ib,\"cmppd\"\t\t,0xc20f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M | Immediate_Ib, C_CMPSD,\tD__Vsd,\tD__Wsd,\tD__Ib,\"cmpsd\"\t,0xc20ff2,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0xf2\n\t{R_M | Immediate_Ib, C_CMPSS,\tD__Vss,\tD__Wss,\tD__Ib,\"cmpss\",0xc20ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0xf3\n};\nDIS_OPCODE_T Group0x0fb8[] =\n{\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //no prefix\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_POPCNT,\tD__Gv,\tD__Ev,\tD__NONE,\t\t\"popcnt\",0xb80ff3,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //prefix 0xf3\n};\n\n\nDIS_OPCODE_T Group0x0fc4[] =\n{\n\t{R_M | Immediate_Ib, C_PINSRW,\tD__Pq,\tD__Mw,\t\tD__Ib,\"pinsrw\"\t\t,0xc40f,2|C_GROUP_4_TYPE|(0<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_PINSRW,\tD__Vdq,\tD__Mw,\t\tD__Ib,\"pinsrw\"\t\t,0xc40f66,3|C_GROUP_4_TYPE|(1<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\t//mod = 0x11\n\t{R_M | Immediate_Ib, C_PINSRW,\tD__Pq,\tD__Rd,\t\tD__Ib,\"pinsrw\"\t\t,0xc40f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_PINSRW,\tD__Vdq,\tD__Rd,\t\tD__Ib,\"pinsrw\"\t\t,0xc40f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\n};\n\nDIS_OPCODE_T Group0x0fc5[] =\n{\n\t{R_M | Immediate_Ib, C_PEXTRW,D__Gy,D__Nq,D__Ib,\"pextrw\"\t,0xc50f,2|C_GROUP_4_TYPE|(4<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_PEXTRW,D__Gy,D__Udq,D__Ib,\"pextrw\"\t,0xc50f66,3|C_GROUP_4_TYPE|(5<<16),MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n\n};\n\nDIS_OPCODE_T Group0x0fc6[] =\n{\n\t{R_M | Immediate_Ib, C_SHUFPS,\tD__Vps,\tD__Wps,\t\tD__Ib,\"shufps\"\t\t,0xc60f,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //no prefix \n\t{R_M | Immediate_Ib, C_SHUFPD,\tD__Vpd,\tD__Wpd,\t\tD__Ib,\"shufpd\"\t\t,0xc60f66,3|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x90[] =\n{\n\t{0, C_XCHG_NOP,\t\tD__rAX,D__rAX_r8,\t\t\tD__NONE,\"XCHG\"\t,\t0x90,1|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //no prefix \n\t{0, C_XCHG_NOP,\t\tD__rAX,D__rAX_r8,\t\t\tD__NONE,\"XCHG\"\t,\t0x9066,2|C_GROUP_3_TYPE,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //prefix 0x66\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //prefix 0xf2\n\t{0, C_PAUSE,D__NONE,\tD__NONE,\t\tD__NONE,\"PAUSE\",0x90f3,2|C_GROUP_3_TYPE}, //prefix 0xf3\n};\n\nDIS_OPCODE_T Group0x0f0f[]=\n{\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x00\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x01\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x02\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x03\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x04\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x05\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x06\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x07\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x08\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x09\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x0a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x0b\n\t{R_M, C_PI2FW,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PI2FW\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x0c<<16)}, //0x0c\n\t{R_M, C_PI2FD,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PI2FD\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x0d<<16)}, //0x0d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x0e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x0f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x10\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x11\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x12\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x13\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x14\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x15\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x16\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x17\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x18\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x19\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x1a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x1b\n\t{R_M, C_PF2IW,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PF2IW\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x1c<<16)}, //0x1c\n\t{R_M, C_PF2ID,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PF2ID\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x1d<<16)}, //0x1d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x1e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x1f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x20\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x21\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x22\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x23\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x24\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x25\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x26\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x27\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x28\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x29\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x2f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x30\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x31\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x32\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x33\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x34\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x35\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x36\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x37\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x38\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x39\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x3f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x40\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x41\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x42\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x43\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x44\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x45\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x46\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x47\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x48\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x49\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x4f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x50\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x51\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x52\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x53\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x54\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x55\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x56\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x57\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x58\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x59\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x5f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x60\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x61\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x62\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x63\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x64\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x65\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x66\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x67\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x68\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x69\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x6f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x70\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x71\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x72\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x73\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x74\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x75\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x76\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x77\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x78\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x79\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7d\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x7f\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x80\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x81\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x82\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x83\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x84\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x85\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x86\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x87\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x88\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x89\n\t{R_M, C_PFNACC,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFNACC\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x8a<<16)}, //0x8a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x8b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x8c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x8d\n\t{R_M, C_PFPNACC,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFPNACC\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x8e<<16)}, //0x8e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x8f\n\n\t{R_M, C_PFCMPGE,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFCMPGE\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x90<<16)}, //0x90\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x91\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x92\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x93\n\t{R_M, C_PFMIN,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFMIN\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x94<<16)}, //0x94\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x95\n\t{R_M, C_PFRCP,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFRCP\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x96<<16)}, //0x96\n\t{R_M, C_PFRSQRT,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFRSQRT\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x97<<16)}, //0x97\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x98\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x99\n\t{R_M, C_PFSUB,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFSUB\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x9a<<16)}, //0x9a\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x9b\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x9c\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x9d\n\t{R_M, C_PFADD,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFADD\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0x9e<<16)}, //0x9e\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0x9f\n\n\t{R_M, C_PFCMPGT,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFCMPGT\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xa0<<16)}, //0xa0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa3\n\t{R_M, C_PFMAX,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFMAX\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xa4<<16)}, //0xa4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa5\n\t{R_M, C_PFRCPIT1,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFRCPIT1\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xa6<<16)}, //0xa6\n\t{R_M, C_PFRSQIT1,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFRSQIT1\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xa7<<16)}, //0xa7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xa9\n\t{R_M, C_PFSUBR,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFSUBR\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xaa<<16)}, //0xaa\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xab\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xac\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xad\n\t{R_M, C_PFACC,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFACC\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xae<<16)}, //0xae\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xaf\n\n\t{R_M, C_PFCMPEQ,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFCMPEQ\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xb0<<16)}, //0xb0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb3\n\t{R_M, C_PFMUL,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFMUL\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xb4<<16)}, //0xb4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb5\n\t{R_M, C_PFRCPIT2,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PFRCPIT2\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xb6<<16)}, //0xb6\n\t{R_M, C_PMULHRW,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PMULHRW\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xb7<<16)}, //0xb7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xb9\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xba\n\t{R_M, C_PSWAPD,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PSWAPD\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xbb<<16)}, //0xbb\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xbc\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xbd\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xbe\n\t{R_M, C_PAVGUSB,\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t\"PAVGUSB\"\t,0x0f0f,2|C_GROUP_3DNOW_TYPE|(0xbf<<16)}, //0xbf\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc3\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc5\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc6\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xc9\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xca\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xcb\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xcc\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xcd\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xce\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xcf\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd3\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd5\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd6\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xd9\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xda\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xdb\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xdc\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xdd\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xde\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xdf\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe3\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe5\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe6\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xe9\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xea\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xeb\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xec\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xed\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xee\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xef\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf0\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf1\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf2\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf3\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf4\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf5\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf6\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf7\n\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf8\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xf9\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xfa\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xfb\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xfc\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xfd\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xfe\n\t{R_M, C_NULL,\t\tD__NONE,\tD__NONE,\tD__NONE,\tNULL\t,0x0f0f,2|C_GROUP_3DNOW_TYPE}, //0xff\n\n};\n\nDIS_OPCODE_T Group0x0f[] =\n{\n\t{R_M, C_GRP,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f00\t\t\t,0x000f,2}, //0x00\n\t{R_M, C_GRP2,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f01\t\t\t,0x010f,2}, //0x01\n\t{R_M, C_LAR,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"LAR\" \t\t\t\t\t\t,0x020f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x02\n\t{R_M, C_LSL,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"LSL\" \t\t\t\t\t\t,0x030f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x03\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x04\n\t{ 0 | O_64, C_SYSCALL,D__NONE,\tD__NONE,\tD__NONE,\t\"SYSCALL\"\t\t\t\t,0x050f,2}, //0x05\t\n\t{ 0 , C_CLTS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"CLTS\" \t\t\t\t\t\t,0x060f,2}, //0x06\n\t{ 0 | O_64, C_SYSRET,\tD__NONE,\tD__NONE,\tD__NONE,\t\"SYSRET\"\t\t\t\t\t,0x070f,2}, //0x07\t\n\n\t{ 0 , C_INVD,\tD__NONE,\tD__NONE,\tD__NONE,\t\"INVD\" \t\t\t\t\t\t,0x080f,2}, //0x08\n\t{ 0 , C_WBINVD,\tD__NONE,\tD__NONE,\tD__NONE,\t\"WBINVD\" \t\t\t\t\t,0x090f,2}, //0x09\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x0a\n\t{ 0 , C_UD2,\tD__NONE,\tD__NONE,\tD__NONE,\t\"UD2\",0x0b0f,2}, //0x0b\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x0c\n\t{R_M, C_NOP,D__Ev,D__NONE,D__NONE,\"NOP\",0x0d0f,2\t\t\t}, //0x0d\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x0e\n\t{R_M, C_3DNOW,\tD__Pq,\t\tD__Qq,\t\tD__NONE,(char*)\t\"\"\t\t\t\t\t\t,0x0f0f,2}, //0x0f\n\n\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f10\t\t\t,0x100f,2}, //0x10\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f11\t\t\t,0x110f,2}, //0x11\n\t{R_M, C_GRP4,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f12\t\t\t,0x120f,2}, //0x12\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f13\t\t\t,0x130f,2}, //0x13\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f14\t\t\t,0x140f,2}, //0x14\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f15\t\t\t,0x150f,2}, //0x15\n\t{R_M, C_GRP4,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f16\t\t\t,0x160f,2}, //0x16 \n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f17\t\t\t,0x170f,2}, //0x17\n\n\t{R_M, C_GRP,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f18,0x180f,2}, //0x18\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x19\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1a\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1b\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1c\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1d\n\t{ 0\t, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x1e\n\t{R_M, C_NOP,D__Ev,D__NONE,D__NONE,\"NOP\",0x1f0f,2\t\t\t}, //0x1f\n\n\t{R_M|F_64, C_MOV,\t\tD__Ry,\t\tD__Cd,\t\tD__NONE,\t\"MOV\"\t,0x200f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x20\n\t{R_M|F_64, C_MOV,\t\tD__Ry,\t\tD__Dd,\t\tD__NONE,\t\"MOV\"\t,0x210f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x21\n\t{R_M|F_64, C_MOV,\t\tD__Cd,\t\tD__Ry,\t\tD__NONE,\t\"MOV\"\t,0x220f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x22\n\t{R_M|F_64, C_MOV,\t\tD__Dd,\t\tD__Ry,\t\tD__NONE,\t\"MOV\"\t,0x230f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x23\n\t{R_M|F_64, C_MOV,\t\tD__Ry,\t\tD__Td,\t\tD__NONE,\t\"MOV\"\t,0x240f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x24\n\t{ 0 , C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x25\n\t{R_M|F_64, C_MOV,\t\tD__Td,\t\tD__Ry,\t\tD__NONE,\t\"MOV\"\t,0x260f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x26\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x27\n\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f28\t,0x280f,2}, //0x28\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f29\t,0x290f,2}, //0x29\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2a\t,0x2a0f,2}, //0x2a\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2b\t,0x2b0f,2}, //0x2b\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2c\t,0x2c0f,2}, //0x2c\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2d\t,0x2d0f,2}, //0x2d\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2e\t,0x2e0f,2}, //0x2e\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f2f\t,0x2f0f,2}, //0x2f\n\n\t{ 0 , C_WRMSR,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"WRMSR\"\t\t\t\t,0x300f,2}, //0x30\n\t{ 0 , C_RDTSC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"RDTSC\"\t \t\t\t,0x310f,2}, //0x31\n\t{ 0 , C_RDMSR,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"RDMSR\"\t\t\t\t,0x320f,2}, //0x32\n\t{ 0 , C_RDPMC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"RDPMC\"\t\t\t\t,0x330f,2}, //0x33\n\t{ 0 , C_SYSENTER,\tD__NONE,\tD__NONE,\tD__NONE,\t\"SYSENTER\"\t\t\t,0x340f,2}, //0x34\n\t{ 0 , C_SYSEXIT,\tD__NONE,\tD__NONE,\tD__NONE,\t\"SYSEXIT\"\t\t\t,0x350f,2}, //0x35\n\t{ 0 , C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0x36\n\t{ 0 , C_GETSEC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"GETSEC\"\t\t,0x370f,2}, //0x37\n\n\t{R_M, C_3BYTE_0X38,D__NONE,\tD__NONE,\tD__NONE,\t\t(char*)Group0x0f38\t,0x380f,2}, //0x38\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x39\n\t{R_M, C_3BYTE_0X3A,D__NONE,\tD__NONE,\tD__NONE,\t\t(char*)Group0x0f3a\t,0x3a0f,2}, //0x3a\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3b\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3c\n\t{R_M, C_NULL,\t\t\t\t \t\t\t\t\t\t\t\t}, //0x3d\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3e\n\t{R_M, C_NULL,\t\t\t\t\t\t\t\t\t\t\t\t}, //0x3f\n\n\t{R_M, C_CMOVtO,\tD__Gv,\t\tD__rEv,\t\tD__tO,\t\"CMOVO\" \t,0x400f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x40\n\t{R_M, C_CMOVfO,\tD__Gv,\t\tD__rEv,\t\tD__fO,\t\"CMOVNO\" \t,0x410f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x41\n\t{R_M, C_CMOVtC,\tD__Gv,\t\tD__rEv,\t\tD__tC,\t\"CMOVB\" \t,0x420f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x42\n\t{R_M, C_CMOVfC,\tD__Gv,\t\tD__rEv,\t\tD__fC,\t\"CMOVNB\" \t,0x430f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x43\n\t{R_M, C_CMOVtZ,\tD__Gv,\t\tD__rEv,\t\tD__tZ,\t\"CMOVZ\" \t,0x440f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x44\n\t{R_M, C_CMOVfZ,\tD__Gv,\t\tD__rEv,\t\tD__fZ,\t\"CMOVNZ\" \t,0x450f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x45\n\t{R_M, C_CMOVfA,\tD__Gv,\t\tD__rEv,\t\tD__fA,\t\"CMOVBE\" \t,0x460f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x46\n\t{R_M, C_CMOVtA,\tD__Gv,\t\tD__rEv,\t\tD__tA,\t\"CMOVA\" \t,0x470f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x47\n\t{R_M, C_CMOVtS,\tD__Gv,\t\tD__rEv,\t\tD__tS,\t\"CMOVS\" \t,0x480f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x48\n\t{R_M, C_CMOVfS,\tD__Gv,\t\tD__rEv,\t\tD__fS,\t\"CMOVNS\" \t,0x490f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x49\n\t{R_M, C_CMOVtP,\tD__Gv,\t\tD__rEv,\t\tD__tP,\t\"CMOVP\" \t,0x4a0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4a\n\t{R_M, C_CMOVfP,\tD__Gv,\t\tD__rEv,\t\tD__fP,\t\"CMOVNP\" \t,0x4b0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4b\n\t{R_M, C_CMOVtL,\tD__Gv,\t\tD__rEv,\t\tD__tL,\t\"CMOVL\" \t,0x4c0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4c\n\t{R_M, C_CMOVfL,\tD__Gv,\t\tD__rEv,\t\tD__fL,\t\"CMOVGE\" \t,0x4d0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4d\n\t{R_M, C_CMOVfG,\tD__Gv,\t\tD__rEv,\t\tD__fG,\t\"CMOVLE\" \t,0x4e0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4e\n\t{R_M, C_CMOVtG,\tD__Gv,\t\tD__rEv,\t\tD__tG,\t\"CMOVG\" \t,0x4f0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4f\n\n\t{R_M, C_GRP4,D__Ed,\t\t\tD__Vps,\t\tD__NONE,\t(char*)Group0x0f50\t,0x500f,2}, //0x50\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f51\t,0x510f,2}, //0x51\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f52\t,0x520f,2}, //0x52\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f53\t,0x530f,2}, //0x53\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f54\t,0x540f,2}, //0x54\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f55\t,0x550f,2}, //0x55\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f56\t,0x560f,2}, //0x56\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f57\t,0x570f,2}, //0x57\n\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f58\t,0x580f,2}, //0x58\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f59\t,0x590f,2}, //0x59\n\t{R_M, C_GRP3,D__Vpd,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f5a\t,0x5a0f,2}, //0x5a\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wdq,\t\tD__NONE,\t(char*)Group0x0f5b\t,0x5b0f,2}, //0x5b\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f5c\t,0x5c0f,2}, //0x5c\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f5d\t,0x5d0f,2}, //0x5d\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f5e\t,0x5e0f,2}, //0x5e\n\t{R_M, C_GRP3,D__Vps,\t\tD__Wps,\t\tD__NONE,\t(char*)Group0x0f5f\t,0x5f0f,2}, //0x5f\n\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f60,0x600f,2}, //0x60\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f61,0x610f,2}, //0x61\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f62,0x620f,2}, //0x62\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f63,0x630f,2}, //0x63\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f64,0x640f,2}, //0x64\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f65,0x650f,2}, //0x65\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f66,0x660f,2}, //0x66\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f67,0x670f,2}, //0x67\n\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f68,0x680f,2}, //0x68\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f69,0x690f,2}, //0x69\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6a,0x6a0f,2}, //0x6a\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6b,0x6b0f,2}, //0x6b\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6c,0x6c0f,2}, //0x6c\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6d,0x6d0f,2}, //0x6d\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6e,0x6e0f,2}, //0x6e\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f6f,0x6f0f,2}, //0x6f\n\n\n\t{R_M, C_GRP3,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f70\t\t,0x700f,2}, //0x70 \n\t{R_M, C_GRP5,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f71\t\t,0x710f,2}, //0x71\n\t{R_M, C_GRP5,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f72\t\t,0x720f,2}, //0x72\n\t{R_M, C_GRP5,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f73\t\t,0x730f,2}, //0x73\n\t{R_M, C_GRP3,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f74\t\t,0x740f,2}, //0x74\n\t{R_M, C_GRP3,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f75\t\t,0x750f,2}, //0x75\n\t{R_M, C_GRP3,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t(char*)Group0x0f76\t\t,0x760f,2}, //0x76\n\t{ 0 , C_EMMS,\t\tD__NONE,\t\tD__NONE,\t\tD__NONE,\t\"emms\",0x770f,2}, //0x77\n\n\n\n\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f78\t,0x780f,2}, //0x78\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f79\t,0x790f,2}, //0x79\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\"MMX UD\"\t}, //0x7a\n\t{R_M, C_NULL,\tD__NONE,\tD__NONE,\tD__NONE,\t\"MMX UD\"\t}, //0x7b\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f7c\t,0x7c0f,2}, //0x7c\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f7d\t,0x7d0f,2}, //0x7d\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f7e\t\t,0x7e0f,2}, //0x7e\n\t{R_M, C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0f7f\t\t,0x7f0f,2}, //0x7f\n\n\t{ 0 |Immediate_Jv|F_64, C_JtO,\t\tD__Jz,\t\tD__tO,\tD__NONE,\t\"JO\" \t\t,0x800f,2}, //0x80\n\t{ 0 |Immediate_Jv|F_64, C_JfO,\t\tD__Jz,\t\tD__fO,\tD__NONE,\t\"JNO\" \t\t,0x810f,2}, //0x81\n\t{ 0 |Immediate_Jv|F_64, C_JtC,\t\tD__Jz,\t\tD__tC,\tD__NONE,\t\"JC\" \t\t,0x820f,2}, //0x82\n\t{ 0 |Immediate_Jv|F_64, C_JfC,\t\tD__Jz,\t\tD__fC,\tD__NONE,\t\"JNC\" \t\t,0x830f,2}, //0x83\n\t{ 0 |Immediate_Jv|F_64, C_JtZ,\t\tD__Jz,\t\tD__tZ,\tD__NONE,\t\"JZ\" \t\t,0x840f,2}, //0x84\n\t{ 0 |Immediate_Jv|F_64, C_JfZ,\t\tD__Jz,\t\tD__fZ,\tD__NONE,\t\"JNZ\" \t\t,0x850f,2}, //0x85\n\t{ 0 |Immediate_Jv|F_64, C_JfA,\t\tD__Jz,\t\tD__fA,\tD__NONE,\t\"JNA\" \t\t,0x860f,2}, //0x86\n\t{ 0 |Immediate_Jv|F_64, C_JtA,\t\tD__Jz,\t\tD__tA,\tD__NONE,\t\"JA\" \t\t,0x870f,2}, //0x87\n\t{ 0 |Immediate_Jv|F_64, C_JtS,\t\tD__Jz,\t\tD__tS,\tD__NONE,\t\"JS\" \t\t,0x880f,2}, //0x88\n\t{ 0 |Immediate_Jv|F_64, C_JfS,\t\tD__Jz,\t\tD__fS,\tD__NONE,\t\"JNS\" \t\t,0x890f,2}, //0x89\n\t{ 0 |Immediate_Jv|F_64, C_JtP,\t\tD__Jz,\t\tD__tP,\tD__NONE,\t\"JP\" \t\t,0x8a0f,2}, //0x8a\n\t{ 0 |Immediate_Jv|F_64, C_JfP,\t\tD__Jz,\t\tD__fP,\tD__NONE,\t\"JNP\" \t\t,0x8b0f,2}, //0x8b\n\t{ 0 |Immediate_Jv|F_64, C_JtL,\t\tD__Jz,\t\tD__tL,\tD__NONE,\t\"JL\" \t\t,0x8c0f,2}, //0x8c\n\t{ 0 |Immediate_Jv|F_64, C_JfL,\t\tD__Jz,\t\tD__fL,\tD__NONE,\t\"JNL\" \t\t,0x8d0f,2}, //0x8d\n\t{ 0 |Immediate_Jv|F_64, C_JfG,\t\tD__Jz,\t\tD__fG,\tD__NONE,\t\"JNG\" \t\t,0x8e0f,2}, //0x8e\n\t{ 0 |Immediate_Jv|F_64, C_JtG,\t\tD__Jz,\t\tD__tG,\tD__NONE,\t\"JG\" \t\t,0x8f0f,2}, //0x8f\n\n\t{R_M, C_SETtO,\tD__wEb,\t\tD__tO,\tD__NONE,\t\"SETO\" \t,0x900f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x90\n\t{R_M, C_SETfO,\tD__wEb,\t\tD__fO,\tD__NONE,\t\"SETNO\" ,0x910f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x91\n\t{R_M, C_SETtC,\tD__wEb,\t\tD__tC,\tD__NONE,\t\"SETC\" \t,0x920f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x92\n\t{R_M, C_SETfC,\tD__wEb,\t\tD__fC,\tD__NONE,\t\"SETNC\" ,0x930f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x93\n\t{R_M, C_SETtZ,\tD__wEb,\t\tD__tZ,\tD__NONE,\t\"SETZ\" \t,0x940f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x94\n\t{R_M, C_SETfZ,\tD__wEb,\t\tD__fZ,\tD__NONE,\t\"SETNZ\" ,0x950f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x95\n\t{R_M, C_SETfA,\tD__wEb,\t\tD__fA,\tD__NONE,\t\"SETNA\" ,0x960f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x96\n\t{R_M, C_SETtA,\tD__wEb,\t\tD__tA,\tD__NONE,\t\"SETA\" \t,0x970f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x97\n\t{R_M, C_SETtS,\tD__wEb,\t\tD__tS,\tD__NONE,\t\"SETS\" \t,0x980f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x98\n\t{R_M, C_SETfS,\tD__wEb,\t\tD__fS,\tD__NONE,\t\"SETNS\" ,0x990f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x99\n\t{R_M, C_SETtP,\tD__wEb,\t\tD__tP,\tD__NONE,\t\"SETP\" \t,0x9a0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9a\n\t{R_M, C_SETfP,\tD__wEb,\t\tD__fP,\tD__NONE,\t\"SETNP\" ,0x9b0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9b\n\t{R_M, C_SETtL,\tD__wEb,\t\tD__tL,\tD__NONE,\t\"SETL\" \t,0x9c0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9c\n\t{R_M, C_SETfL,\tD__wEb,\t\tD__fL,\tD__NONE,\t\"SETNL\" ,0x9d0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9d\n\t{R_M, C_SETfG,\tD__wEb,\t\tD__fG,\tD__NONE,\t\"SETNG\" ,0x9e0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9e\n\t{R_M, C_SETtG,\tD__wEb,\t\tD__tG,\tD__NONE,\t\"SETG\" \t,0x9f0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9f\n\n\t{ 0 | D_64 , C_PUSH,\tD__FS,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0xa00f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xa0\n\t{ 0 | D_64 , C_POP,\tD__FS,\t\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0xa10f,2,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0xa1\n\t{ 0 , C_CPUID,\tD__NONE,\tD__NONE,\tD__NONE,\t\"CPUID\" \t,0xa20f,2}, //0xa2\n\t{R_M, C_BT,\t\tD__rEv,\t\tD__Gv,\t\tD__NONE,\t\"BT\" \t\t,0xa30f,2,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xa3\n\t{R_M |Immediate_Ib, C_SHLD,\tD__Ev,\t\tD__Gv,\t\tD__Ib,\t\"SHLD\" \t\t,0xa40f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xa4\n\t{R_M |Immediate_Ib, C_SHLD,\tD__Ev,\t\tD__Gv,\t\tD__CL,\t\"SHLD\" \t\t,0xa50f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xa5\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xa6\n\t{ 0 , C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xa7\n\n\t{ 0 | D_64 , C_PUSH,\tD__GS,\t\tD__NONE,\tD__NONE,\t\"PUSP\" \t\t\t\t,0xa80f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xa8\n\t{ 0 | D_64 , C_POP,\t\tD__GS,\t\tD__NONE,\tD__NONE,\t\"POP\" \t\t\t\t,0xa90f,2,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0xa9\n\t{ 0 , C_RSM,\tD__NONE,\tD__NONE,\tD__NONE,\t\"RSM\" \t\t\t\t\t\t,0xaa0f,2}, //0xaa\n\t{R_M, C_BTS,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"BTS\" \t\t\t\t\t\t,0xab0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xab\n\t{R_M |Immediate_Ib, C_SHRD,\tD__Ev,\t\tD__Gv,\t\tD__Ib,\t\t\"SHRD\" \t\t\t,0xac0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xac\n\t{R_M, C_SHRD,\tD__Ev,\t\tD__Gv,\t\tD__CL,\t\t\"SHRD\" \t\t\t\t\t\t,0xad0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,OP_R)}, //0xad\n\t{R_M, C_GRP1,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fae\t\t\t,0xae0f,2}, //0xae\n\t{R_M, C_IMUL,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"IMUL\" \t\t\t\t\t\t,0xaf0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xaf\n\n\t{R_M, C_CMPXCHG,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"CMPXCHG\" \t\t\t\t,0xb00f,2,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xb0\n\t{R_M, C_CMPXCHG,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"CMPXCHG\" \t\t\t\t,0xb10f,2,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0xb1\n\t{R_M, C_LSS,\t\tD__Gv,\t\tD__rMp,\t\tD__NONE,\t\"LSS\" \t\t\t\t\t,0xb20f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb2\n\t{R_M, C_BTR,\t\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"BTR\" \t\t\t\t\t,0xb30f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb3\n\t{R_M, C_LFS,\t\tD__Gv,\t\tD__rMp,\t\tD__NONE,\t\"LFS\" \t\t\t\t\t,0xb40f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb4\n\t{R_M, C_LGS,\t\tD__Gv,\t\tD__rMp,\t\tD__NONE,\t\"LGS\" \t\t\t\t\t,0xb50f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb5\n\t{R_M, C_MOVZX,\t\tD__Gv,\t\tD__rEb,\t\tD__NONE,\t\"MOVZX\" \t\t\t\t,0xb60f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb6\n\t{R_M, C_MOVZX,\t\tD__Gv,\t\tD__rEw,\t\tD__NONE,\t\"MOVZX\" \t\t\t\t,0xb70f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb7\n\n\n\n\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fb8\t\t\t\t,0xb80f,2}, //0xb8\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}, //0xb9\n\t{R_M |Immediate_Ib, C_GRP,\t\tD__Ev,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x0fba\t\t,0xba0f,2}, //0xba\n\t{R_M, C_BTC,\t\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"BTC\" \t\t\t\t\t,0xbb0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xbb\n\t{R_M, C_BSF,\t\tD__Gv,\t\tD__Ev,\t\tD__NONE,\t\"BSF\" \t\t\t\t\t,0xbc0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbc\n\t{R_M, C_BSR,\t\tD__Gv,\t\tD__Ev,\t\tD__NONE,\t\"BSR\"\t\t\t\t\t,0xbd0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbd\n\t{R_M, C_MOVSX,\t\tD__Gv,\t\tD__rEb,\t\tD__NONE,\t\"MOVSX\" \t\t\t\t,0xbe0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbe\n\t{R_M, C_MOVSX,\t\tD__Gv,\t\tD__rEw,\t\tD__NONE,\t\"MOVSX\" \t\t\t\t,0xbf0f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbf\n\n\t{R_M, C_XADD,\t\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"XADD\" \t\t\t\t\t\t,0xc00f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc0\n\t{R_M, C_XADD,\t\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"XADD\" \t\t\t\t\t\t,0xc10f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0xc1\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fc2\t\t\t,0xc20f,2}, //0xc2\n\t{R_M, C_MOVNTI,\t\tD__My,\t\tD__Gy,\t\tD__NONE,\t\"movnti\"\t\t\t\t\t,0xc30f,2,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //no prefix \n\t{R_M, C_GRP4,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fc4,0xc40f,2}, //0xc4\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fc5,0xc50f,2}, //0xc5\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fc6,0xc60f,2}, //0xc6\n\t{R_M, C_GRP5,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fc7,0xc70f,2}, //0xc7\n\n\t//D__RAX_EAX_R8_R8D,D__RCX_ECX_R9_R9D,D__RDX_EDX_R10_R10D,D__RBX_EBX_R11_R11D,D__RSP_ESP_R12_R12D,D__RBP_EBP_R13_R13D,D__RSI_ESI_R14_R14D,D__RDI_EDI_R15_R15D,\n\n\t{ 0 , C_BSWAP,\t\tD__RAX_EAX_R8_R8D,\t\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xc80f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xc8\n\t{ 0 , C_BSWAP,\t\tD__RCX_ECX_R9_R9D,\t\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xc90f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xc9\n\t{ 0 , C_BSWAP,\t\tD__RDX_EDX_R10_R10D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xca0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xca\n\t{ 0 , C_BSWAP,\t\tD__RBX_EBX_R11_R11D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xcb0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xcb\n\t{ 0 , C_BSWAP,\t\tD__RSP_ESP_R12_R12D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xcc0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xcc\n\t{ 0 , C_BSWAP,\t\tD__RBP_EBP_R13_R13D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xcd0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xcd\n\t{ 0 , C_BSWAP,\t\tD__RSI_ESI_R14_R14D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xce0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xce\n\t{ 0 , C_BSWAP,\t\tD__RDI_EDI_R15_R15D,\t\tD__NONE,\tD__NONE,\t\"BSWAP\"\t ,0xcf0f,2,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0xcf\n\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Pq,\t\tD__NONE,\t(char*)Group0x0fd0\t\t,0xd00f,2}, //0xd0\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd1\t\t,0xd10f,2}, //0xd1\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd2\t\t,0xd20f,2}, //0xd2\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd3\t\t,0xd30f,2}, //0xd3\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd4\t\t,0xd40f,2}, //0xd4\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd5\t\t,0xd50f,2}, //0xd5\n\t{R_M, C_GRP3,\t\tD__Wq,\t\tD__Vq,\t\tD__NONE,\t(char*)Group0x0fd6\t\t,0xd60f,2}, //0xd6\n\t{R_M, C_GRP3,\t\tD__Gd,\t\tD__Pq,\t\tD__NONE,\t(char*)Group0x0fd7\t\t,0xd70f,2}, //0xd7\n\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd8,0xd80f,2}, //0xd8\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fd9,0xd90f,2}, //0xd9\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fda,0xda0f,2}, //0xda\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fdb,0xdb0f,2}, //0xdb\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fdc,0xdc0f,2}, //0xdc\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fdd,0xdd0f,2}, //0xdd\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fde,0xde0f,2}, //0xde\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fdf,0xdf0f,2} , //0xdf\n\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe0\t\t\t,0xe00f,2}, //0xe0\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe1\t\t\t,0xe10f,2}, //0xe1\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe2\t\t\t,0xe20f,2}, //0xe2\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe3\t\t\t,0xe30f,2}, //0xe3\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe4\t\t\t,0xe40f,2}, //0xe4\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe5\t\t\t,0xe50f,2}, //0xe5\n\t{R_M, C_GRP3,\t\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x0fe6\t\t\t,0xe60f,2}, //0xe6\n\t{R_M, C_GRP3,\t\tD__Wq,\t\tD__Vq,\t\tD__NONE,\t(char*)Group0x0fe7\t\t\t,0xe70f,2}, //0xe7\n\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe8\t\t\t,0xe80f,2}, //0xe8\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fe9\t\t\t,0xe90f,2}, //0xe9\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fea\t\t\t,0xea0f,2}, //0xea\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0feb\t\t\t,0xeb0f,2}, //0xeb\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fec\t\t\t,0xec0f,2}, //0xec\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fed\t\t\t,0xed0f,2}, //0xed\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fee\t\t\t,0xee0f,2}, //0xee\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0fef\t\t\t,0xef0f,2}, //0xef\n\n\t{R_M, C_GRP4,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff0\t\t\t,0xf00f,2}, //0xf0\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff1\t\t\t,0xf10f,2}, //0xf1\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff2\t\t\t,0xf20f,2}, //0xf2\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff3\t\t\t,0xf30f,2}, //0xf3\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff4\t\t\t,0xf40f,2}, //0xf4\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff5\t\t\t,0xf50f,2}, //0xf5\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff6\t\t\t,0xf60f,2}, //0xf6\n\t{R_M, C_GRP3,\t\tD__Ppi,\t\tD__Qpi,\t\tD__NONE,\t(char*)Group0x0ff7\t\t\t,0xf70f,2}, //0xf7\n\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff8\t\t\t,0xf80f,2}, //0xf8\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ff9\t\t\t,0xf90f,2}, //0xf9\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ffa\t\t\t,0xfa0f,2}, //0xfa\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ffb\t\t\t,0xfb0f,2}, //0xfb\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ffc\t\t\t,0xfc0f,2}, //0xfc\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ffd\t\t\t,0xfd0f,2}, //0xfd\n\t{R_M, C_GRP3,\t\tD__Pq,\t\tD__Qq,\t\tD__NONE,\t(char*)Group0x0ffe\t\t\t,0xfe0f,2}, //0xfe\n\t{R_M, C_NULL\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t }, //0xff\n\n};\nDIS_OPCODE_T Group0x63[]=\n{\n\t{R_M|I_64, C_ARPL,\tD__Ew,\tD__Gw,\t\tD__NONE,\t\"ARPL\" \t\t,0x63,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x63\n\t{R_M|O_64, C_MOVSXD,D__Gv,\tD__Ev,\t\tD__NONE,\t\"MOVSXD\" \t,0x63,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x63\n};\nDIS_OPCODE_T Group_main[] =\n{\n\t{R_M, \tC_ADD,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"ADD\" \t,0x00,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x00\n\t{R_M, \tC_ADD,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"ADD\" \t,0x01,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x01\n\t{R_M, \tC_ADD,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"ADD\" \t,0x02,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x02\n\t{R_M, \tC_ADD,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"ADD\" \t,0x03,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x03\n\t{ 0 |Immediate_Ib, \tC_ADD,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"ADD\" \t,0x04,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x04\n\t{ 0 |Immediate_Iz, \tC_ADD,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"ADD\" \t,0x05,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x05\n\t{ 0 |I_64, \tC_PUSH,\tD__ES,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0x06,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x06\n\t{ 0 |I_64, \tC_POP,\tD__ES,\t\tD__NONE,\tD__NONE,\t\"POP\" \t,0x07,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x07\n\n\t{R_M, \tC_OR,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"OR\" \t,0x08,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x08\n\t{R_M, \tC_OR,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"OR\" \t,0x09,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x09\n\t{R_M, \tC_OR,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"OR\" \t,0x0a,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0a\n\t{R_M, \tC_OR,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"OR\" \t,0x0b,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0b\n\t{ 0 |Immediate_Ib, \tC_OR,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"OR\" \t,0x0c,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0c\n\t{ 0 |Immediate_Iz, \tC_OR,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"OR\" \t,0x0d,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x0d\n\t{ 0 |I_64, \tC_PUSH,\tD__CS,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0x0e,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x0e\n\t{ 0 , \tC_2BYTE,\tD__CS,\t\tD__NONE,\tD__NONE,\t(char*)Group0x0f,0x0f,1}, //0x0f\n\n\t{R_M, \tC_ADC,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"ADC\" \t,0x10,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x10\n\t{R_M, \tC_ADC,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"ADC\" \t,0x11,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x11\n\t{R_M, \tC_ADC,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"ADC\" \t,0x12,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x12\n\t{R_M, \tC_ADC,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"ADC\" \t,0x13,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x13\n\t{ 0 |Immediate_Ib, \tC_ADC,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"ADC\" \t,0x14,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x14\n\t{ 0 |Immediate_Iz, \tC_ADC,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"ADC\" \t,0x15,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x15\n\t{ 0 |I_64, \tC_PUSH,\tD__SS,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0x16,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x16\n\t{ 0 |I_64, \tC_POP,\tD__SS,\t\tD__NONE,\tD__NONE,\t\"POP\" \t,0x17,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x17\n\n\t{R_M, \tC_SBB,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"SBB\" \t,0x18,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x18\n\t{R_M, \tC_SBB,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"SBB\" \t,0x19,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x19\n\t{R_M, \tC_SBB,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"SBB\" \t,0x1a,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1a\n\t{R_M, \tC_SBB,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"SBB\" \t,0x1b,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1b\n\t{ 0 |Immediate_Ib, \tC_SBB,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"SBB\" \t,0x1c,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1c\n\t{ 0 |Immediate_Iz, \tC_SBB,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"SBB\" \t,0x1d,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x1d\n\t{ 0 |I_64, \tC_PUSH,\tD__DS,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0x1e,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x1e\n\t{ 0 |I_64, \tC_POP,\tD__DS,\t\tD__NONE,\tD__NONE,\t\"POP\" \t,0x1f,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x1f\n\n\t{R_M, \tC_AND,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"AND\" \t\t,0x20,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x20\n\t{R_M, \tC_AND,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"AND\" \t\t,0x21,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x21\n\t{R_M, \tC_AND,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"AND\" \t\t,0x22,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x22\n\t{R_M, \tC_AND,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"AND\" \t\t,0x23,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x23\n\t{ 0 |Immediate_Ib, \tC_AND,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"AND\" \t\t,0x24,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x24\n\t{ 0 |Immediate_Iz, \tC_AND,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"AND\" \t\t,0x25,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x25\n\t{ 0 , \tC_ES,\tD__NONE,\tD__NONE,\tD__NONE,\t\"ES:\"\t\t,0x26,1}, //0x26\n\t{ 0 |I_64, \tC_DAA,\tD__NONE,\tD__NONE,\tD__NONE,\t\"DAA\" \t\t,0x27,1}, //0x27\n\n\t{R_M, \tC_SUB,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"SUB\" \t,0x28,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x28\n\t{R_M, \tC_SUB,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"SUB\" \t,0x29,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x29\n\t{R_M, \tC_SUB,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"SUB\" \t,0x2a,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2a\n\t{R_M, \tC_SUB,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"SUB\" \t,0x2b,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2b\n\t{ 0 |Immediate_Ib, \tC_SUB,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"SUB\" \t,0x2c,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2c\n\t{ 0 |Immediate_Iz, \tC_SUB,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"SUB\" \t,0x2d,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x2d\n\t{ 0 , \tC_CS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"CS:\"\t,0x2e,1}, //0x2e\n\t{ 0 |I_64, \tC_DAS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"DAS\" \t,0x2f,1}, //0x2f\n\n\t{R_M, \tC_XOR,\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"XOR\" \t,0x30,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x30\n\t{R_M, \tC_XOR,\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"XOR\" \t,0x31,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x31\n\t{R_M, \tC_XOR,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"XOR\" \t,0x32,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x32\n\t{R_M, \tC_XOR,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"XOR\" \t,0x33,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x33\n\t{ 0 |Immediate_Ib, \tC_XOR,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"XOR\" \t,0x34,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x34\n\t{ 0 |Immediate_Iz, \tC_XOR,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"XOR\" \t,0x35,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x35\n\t{ 0 , \tC_SS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"SS:\"\t,0x36,1}, //0x36\n\t{ 0 |I_64, \tC_AAA,\tD__NONE,\tD__NONE,\tD__NONE,\t\"AAA\" \t,0x37,1}, //0x37\n\n\t{R_M, \tC_CMP,\tD__rEb,\t\tD__Gb,\t\tD__NONE,\t\"CMP\" \t\t,0x38,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x38\n\t{R_M, \tC_CMP,\tD__rEv,\t\tD__Gv,\t\tD__NONE,\t\"CMP\" \t\t,0x39,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x39\n\t{R_M, \tC_CMP,\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"CMP\" \t\t,0x3a,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x3a\n\t{R_M, \tC_CMP,\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"CMP\" \t\t,0x3b,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x3b\n\t{ 0 |Immediate_Ib, \tC_CMP,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"CMP\" ,0x3c,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x3c\n\t{ 0 |Immediate_Iz, \tC_CMP,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"CMP\" ,0x3d,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x3d\n\t{ 0 , \tC_DS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"DS:\"\t\t,0x3e,1}, //0x3e\n\t{ 0 |I_64, \tC_AAS,\tD__NONE,\tD__NONE,\tD__NONE,\t\"AAS\" \t\t,0x3f,1}, //0x3f\n\n\t{ 0 |I_64, C_INC,\tD__eAX,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x40,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x40\n\t{ 0 |I_64, C_INC,\tD__eCX,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x41,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x41\n\t{ 0 |I_64, C_INC,\tD__eDX,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x42,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x42\n\t{ 0 |I_64, C_INC,\tD__eBX,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x43,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x43\n\t{ 0 |I_64, C_INC,\tD__eSP,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x44,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x44\n\t{ 0 |I_64, C_INC,\tD__eBP,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x45,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x45\n\t{ 0 |I_64, C_INC,\tD__eSI,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x46,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x46\n\t{ 0 |I_64, C_INC,\tD__eDI,\t\tD__NONE,\tD__NONE,\t\"INC\" \t\t,0x47,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x47\n\n\t{ 0 |I_64, C_DEC,\tD__eAX,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x48,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x48\n\t{ 0 |I_64, C_DEC,\tD__eCX,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x49,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x49\n\t{ 0 |I_64, C_DEC,\tD__eDX,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4a,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4a\n\t{ 0 |I_64, C_DEC,\tD__eBX,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4b,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4b\n\t{ 0 |I_64, C_DEC,\tD__eSP,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4c,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4c\n\t{ 0 |I_64, C_DEC,\tD__eBP,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4d,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4d\n\t{ 0 |I_64, C_DEC,\tD__eSI,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4e,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4e\n\t{ 0 |I_64, C_DEC,\tD__eDI,\t\tD__NONE,\tD__NONE,\t\"DEC\" \t\t,0x4f,1,MAKE_OP_RW_FLAG(OP_RW,0,0)}, //0x4f\n\n\t{ 0 | D_64 , C_PUSH,\tD__rAX_r8,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x50,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x50\n\t{ 0 | D_64 , C_PUSH,\tD__rCX_r9,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x51,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x51\n\t{ 0 | D_64 , C_PUSH,\tD__rDX_r10,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x52,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x52\n\t{ 0 | D_64 , C_PUSH,\tD__rBX_r11,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x53,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x53\n\t{ 0 | D_64 , C_PUSH,\tD__rSP_r12,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x54,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x54\n\t{ 0 | D_64 , C_PUSH,\tD__rBP_r13,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x55,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x55\n\t{ 0 | D_64 , C_PUSH,\tD__rSI_r14,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x56,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x56\n\t{ 0 | D_64 , C_PUSH,\tD__rDI_r15,\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x57,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x57\n\n\t{ 0 | D_64 , C_POP,\tD__rAX_r8,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x58,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x58\n\t{ 0 | D_64 , C_POP,\tD__rCX_r9,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x59,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x59\n\t{ 0 | D_64 , C_POP,\tD__rDX_r10,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5a,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5a\n\t{ 0 | D_64 , C_POP,\tD__rBX_r11,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5b,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5b\n\t{ 0 | D_64 , C_POP,\tD__rSP_r12,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5c,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5c\n\t{ 0 | D_64 , C_POP,\tD__rBP_r13,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5d,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5d\n\t{ 0 | D_64 , C_POP,\tD__rSI_r14,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5e,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5e\n\t{ 0 | D_64 , C_POP,\tD__rDI_r15,\tD__NONE,\tD__NONE,\t\"POP\" \t\t,0x5f,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x5f\n\n\t{ 0 |I_64, C_PUSHA,\tD__NONE,\tD__NONE,\tD__NONE,\t\"PUSHA\" \t,0x60,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x60\n\t{ 0 |I_64, C_POPA,\tD__NONE,\tD__NONE,\tD__NONE,\t\"POPA\" \t\t,0x61,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x61\n\t{R_M|I_64, C_BOUND,\tD__Gv,\t\tD__rMa,\t\tD__NONE,\t\"BOUND\" \t,0x62,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x62\n\t{R_M, C_GRP6,\tD__NONE,\tD__NONE,\t\tD__NONE,\t(char*)Group0x63 \t\t,0x63,1}, //0x63\n\t{ 0 , C_FS,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"FS:\"\t\t,0x64,1}, //0x64\n\t{ 0 , C_GS,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"GS:\"\t\t,0x65,1}, //0x65\n\t{ 0 , C_OPER\t\t\t\t\t\t\t\t\t\t\t\t,0x66,1}, //0x66\n\t{ 0 , C_ADDR\t\t\t\t\t\t\t\t\t\t\t\t,0x67,1}, //0x67\n\n\t{ 0  |Immediate_Iz | D_64, C_PUSH,\tD__Iz,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t,0x68,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x68\n\t{R_M |Immediate_Iz, C_IMUL,\tD__Gv,\tD__rEv,\t\tD__Iz,\t\t\"IMUL\" \t\t,0x69,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x69\n\t{ 0  |Immediate_sIb | D_64, C_PUSH,\tD__sIb,\t\tD__NONE,\tD__NONE,\t\"PUSH\" \t\t,0x6a,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x6a\n\t{R_M |Immediate_sIb, C_IMUL,\tD__Gv,\t\tD__rEv,\t\tD__sIb,\t\t\"IMUL\" \t\t,0x6b,1,MAKE_OP_RW_FLAG(OP_RW,OP_R,OP_R)}, //0x6b\n\t{ 0 , C_INS,\tD__Yb,\t\tD__DX,\t\tD__NONE,\t\"INS\" \t\t,0x6c,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x6c\n\t{ 0 , C_INS,\tD__Yz,\t\tD__DX,\t\tD__NONE,\t\"INS\" \t\t,0x6d,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x6d\n\t{ 0 , C_OUTS,\tD__DX,\t\tD__Xb,\t\tD__NONE,\t\"OUTS\" \t\t,0x6e,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x6e\n\t{ 0 , C_OUTS,\tD__DX,\t\tD__Xz,\t\tD__NONE,\t\"OUTS\" \t\t,0x6f,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x6f\n\n\t{ 0 |Immediate_Jb|F_64, C_JtO,\tD__Jb,\t\tD__tO,\tD__NONE,\t\"JO\" \t\t,0x70,1}, //0x70\n\t{ 0 |Immediate_Jb|F_64, C_JfO,\tD__Jb,\t\tD__fO,\tD__NONE,\t\"JNO\" \t\t,0x71,1}, //0x71\n\t{ 0 |Immediate_Jb|F_64, C_JtC,\tD__Jb,\t\tD__tC,\tD__NONE,\t\"JC\" \t\t,0x72,1}, //0x72\n\t{ 0 |Immediate_Jb|F_64, C_JfC,\tD__Jb,\t\tD__fC,\tD__NONE,\t\"JNC\" \t\t,0x73,1}, //0x73\n\t{ 0 |Immediate_Jb|F_64, C_JtZ,\tD__Jb,\t\tD__tZ,\tD__NONE,\t\"JZ\" \t\t,0x74,1}, //0x74\n\t{ 0 |Immediate_Jb|F_64, C_JfZ,\tD__Jb,\t\tD__fZ,\tD__NONE,\t\"JNZ\" \t\t,0x75,1}, //0x75\n\t{ 0 |Immediate_Jb|F_64, C_JfA,\tD__Jb,\t\tD__fA,\tD__NONE,\t\"JNA\" \t\t,0x76,1}, //0x76\n\t{ 0 |Immediate_Jb|F_64, C_JtA,\tD__Jb,\t\tD__tA,\tD__NONE,\t\"JA\" \t\t,0x77,1}, //0x77\n\t{ 0 |Immediate_Jb|F_64, C_JfS,\tD__Jb,\t\tD__fP,\tD__NONE,\t\"JS\" \t\t,0x78,1}, //0x78\n\t{ 0 |Immediate_Jb|F_64, C_JtS,\tD__Jb,\t\tD__tS,\tD__NONE,\t\"JNS\" \t\t,0x79,1}, //0x79\n\t{ 0 |Immediate_Jb|F_64, C_JtP,\tD__Jb,\t\tD__tP,\tD__NONE,\t\"JP\" \t\t,0x7a,1}, //0x7a\n\t{ 0 |Immediate_Jb|F_64, C_JfP,\tD__Jb,\t\tD__fS,\tD__NONE,\t\"JNP\" \t\t,0x7b,1}, //0x7b\n\t{ 0 |Immediate_Jb|F_64, C_JtL,\tD__Jb,\t\tD__tL,\tD__NONE,\t\"JL\" \t\t,0x7c,1}, //0x7c\n\t{ 0 |Immediate_Jb|F_64, C_JfL,\tD__Jb,\t\tD__fL,\tD__NONE,\t\"JNL\" \t\t,0x7d,1}, //0x7d\n\t{ 0 |Immediate_Jb|F_64, C_JfG,\tD__Jb,\t\tD__fG,\tD__NONE,\t\"JNG\" \t\t,0x7e,1}, //0x7e\n\t{ 0 |Immediate_Jb|F_64, C_JtG,\tD__Jb,\t\tD__tG,\tD__NONE,\t\"JG\" \t\t,0x7f,1}, //0x7f\n\n\t{R_M|Immediate_Ib, \tC_GRP,\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x80\t\t,0x80,1}, //0x80\n\t{R_M|Immediate_Iz, \tC_GRP,\tD__Ev,\t\tD__Iz,\t\tD__NONE,\t(char*)Group0x81\t\t,0x81,1}, //0x81\n\t{R_M|Immediate_Ib, \tC_GRP,\tD__Eb,\t\tD__Ib,\t\tD__NONE,\t(char*)Group0x82\t\t,0x82,1}, //0x82\n\t{R_M|Immediate_sIb, C_GRP,\tD__Ev,\t\tD__sIb,\t\tD__NONE,\t(char*)Group0x83\t\t,0x83,1}, //0x83\n\t{R_M, \tC_TEST,\t\tD__rEb,\t\tD__Gb,\t\tD__NONE,\t\"TEST\" \t\t,0x84,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x84\n\t{R_M, \tC_TEST,\t\tD__rEv,\t\tD__Gv,\t\tD__NONE,\t\"TEST\" \t\t,0x85,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0x85\n//\t{R_M, \tC_XCHG,\t\tD__Eb,\t\tD__Gb,\t\tD__NONE,\t\"XCHG\" \t\t,0x86,1}, //0x86\n//\t{R_M, \tC_XCHG,\t\tD__Ev,\t\tD__Gv,\t\tD__NONE,\t\"XCHG\" \t\t,0x87,1}, //0x87\n\t{R_M, \tC_XCHG,\t\tD__Gb,\t\tD__Eb,\t\tD__NONE,\t\"XCHG\" \t\t,0x86,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x86\n\t{R_M, \tC_XCHG,\t\tD__Gv,\t\tD__Ev,\t\tD__NONE,\t\"XCHG\" \t\t,0x87,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x87\n\n\t{R_M, \tC_MOV,\t\tD__wEb,\t\tD__Gb,\t\tD__NONE,\t\"MOV\" \t\t,0x88,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x88\n\t{R_M, \tC_MOV,\t\tD__wEv,\t\tD__Gv,\t\tD__NONE,\t\"MOV\" \t\t,0x89,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x89\n\t{R_M, \tC_MOV,\t\tD__Gb,\t\tD__rEb,\t\tD__NONE,\t\"MOV\" \t\t,0x8a,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x8a\n\t{R_M, \tC_MOV,\t\tD__Gv,\t\tD__rEv,\t\tD__NONE,\t\"MOV\" \t\t,0x8b,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x8b\n\t{R_M, \tC_MOV,\t\tD__wEw,\t\tD__Sw, \t\tD__NONE,\t\"MOV\" \t\t,0x8c,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x8c\n\t{R_M, \tC_LEA,\t\tD__Gv,\t\tD__M,\t\tD__NONE,\t\"LEA\" \t\t,0x8d,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x8d\n\t{R_M, \tC_MOV,\t\tD__Sw,\t\tD__rEw,\t\tD__NONE,\t\"MOV\" \t\t,0x8e,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0x8e\n\t{R_M, \tC_GRP,\t\tD__Ev,\t\tD__NONE,\tD__NONE,\t(char*)Group0x8f,0x8f,1}, //0x8f\n\n\t{ 0 , C_XCHG_NOP,\t\tD__rAX,D__rAX_r8,\t\t\tD__NONE,\"XCHG\"\t,\t0x90,1},\n\t//{ 0 , C_GRP3,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0x90 \t\t,0x90,1}, //0x90\n\t{ 0 , C_XCHG,\tD__rAX,D__rCX_r9,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x91,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x91\n\t{ 0 , C_XCHG,\tD__rAX,D__rDX_r10,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x92,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x92\n\t{ 0 , C_XCHG,\tD__rAX,D__rBX_r11,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x93,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x93\n\t{ 0 , C_XCHG,\tD__rAX,D__rSP_r12,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x94,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x94\n\t{ 0 , C_XCHG,\tD__rAX,D__rBP_r13,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x95,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x95\n\t{ 0 , C_XCHG,\tD__rAX,D__rSI_r14,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x96,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x96\n\t{ 0 , C_XCHG,\tD__rAX,D__rDI_r15,\t\t\t\tD__NONE,\t\"XCHG\" \t\t,0x97,1,MAKE_OP_RW_FLAG(OP_RW,OP_RW,0)}, //0x97\n\n\t{ 0 , C_CBW,\tD__NONE,\tD__NONE,\tD__NONE,\t\"CBW\" \t\t,0x98,1}, //0x98\n\t{ 0 , C_CWD,\tD__NONE,\tD__NONE,\tD__NONE,\t\"CWD\" \t\t,0x99,1}, //0x99\n\t{ 0 |Immediate_IvIw|I_64, C_CALL,\tD__Ap,\tD__NONE,\tD__NONE,\t\"CALL\" \t,0x9a,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9a\n\t{ 0 , C_WAIT,\tD__NONE,\tD__NONE,\tD__NONE,\t\"WAIT\" \t\t,0x9b,1}, //0x9b\n\t{ 0 | D_64 , C_PUSHF,\tD__Fv,\t\tD__NONE,\tD__NONE,\t\"PUSHF\" \t,0x9c,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9c\n\t{ 0 | D_64 , C_POPF,\tD__Fv,\t\tD__NONE,\tD__NONE,\t\"POPF\" \t\t,0x9d,1,MAKE_OP_RW_FLAG(OP_W,0,0)}, //0x9d\n\t{ 0 , C_SAHF,\tD__NONE,\tD__NONE,\tD__NONE,\t\"SAHF\" \t\t,0x9e,1}, //0x9e\n\t{ 0 , C_LAHF,\tD__NONE,\tD__NONE,\tD__NONE,\t\"LAHF\" \t\t,0x9f,1}, //0x9f\n\n\t{ 0 , C_MOV,\tD__AL,\t\tD__rOb,\t\tD__NONE,\t\"MOV\" \t\t,0xa0,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa0\n\t{ 0 , C_MOV,\tD__rAX,\t\tD__rOv,\t\tD__NONE,\t\"MOV\" \t\t,0xa1,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa1\n\t{ 0 , C_MOV,\tD__wOb,\t\tD__AL,\t\tD__NONE,\t\"MOV\" \t\t,0xa2,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa2\n\t{ 0 , C_MOV,\tD__wOv,\t\tD__rAX,\t\tD__NONE,\t\"MOV\" \t\t,0xa3,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa3\n\t{ 0 , C_MOVS,\tD__wYb,\t\tD_rXb,\t\tD__NONE,\t\"MOVS\" \t\t,0xa4,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa4\n\t{ 0 , C_MOVS,\tD__wYv,\t\tD_rXv,\t\tD__NONE,\t\"MOVS\" \t\t,0xa5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xa5\n\t{ 0 , C_CMPS,\tD_rXb,\t\tD__rYb,\t\tD__NONE,\t\"CMPS\" \t\t,0xa6,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xa6\n\t{ 0 , C_CMPS,\tD_rXv,\t\tD__rYv,\t\tD__NONE,\t\"CMPS\" \t\t,0xa7,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xa7\n\n\t{ 0 | Immediate_Ib, \tC_TEST,\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"TEST\" \t\t,0xa8,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xa8\n\t{ 0 | Immediate_Iz, \tC_TEST,\tD__rAX,\t\tD__Iz,\t\tD__NONE,\t\"TEST\" \t\t,0xa9,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xa9\n\t{ 0 , \tC_STOS,\tD__wYb,\t\tD__AL,\t\tD__NONE,\t\"STOS\" \t\t,0xaa,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xaa\n\t{ 0 , \tC_STOS,\tD__wYv,\t\tD__rAX,\t\tD__NONE,\t\"STOS\" \t\t,0xab,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xab\n\t{ 0 , \tC_LODS,\tD__AL,\t\tD_rXb,\t\tD__NONE,\t\"LODS\" \t\t,0xac,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xac\n\t{ 0 , \tC_LODS,\tD__rAX,\t\tD_rXv,\t\tD__NONE,\t\"LODS\" \t\t,0xad,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xad\n\t{ 0 , \tC_SCAS,\tD__rYb,\t\tD__AL,\t\tD__NONE,\t\"SCAS\" \t\t,0xae,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xae\n\t{ 0 , \tC_SCAS,\tD__rYv,\t\tD__rAX,\t\tD__NONE,\t\"SCAS\" \t\t,0xaf,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xaf\n\n\t{ 0 |Immediate_Ib, C_MOV,\tD__AL_r8L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb0,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb0\n\t{ 0 |Immediate_Ib, C_MOV,\tD__CL_r9L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb1,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb1\n\t{ 0 |Immediate_Ib, C_MOV,\tD__DL_r10L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb2,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb2\n\t{ 0 |Immediate_Ib, C_MOV,\tD__BL_r11L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb3,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb3\n\t{ 0 |Immediate_Ib, C_MOV,\tD__AH_r12L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb4,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb4\n\t{ 0 |Immediate_Ib, C_MOV,\tD__CH_r13L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb5\n\t{ 0 |Immediate_Ib, C_MOV,\tD__DH_r14L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb6,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb6\n\t{ 0 |Immediate_Ib, C_MOV,\tD__BH_r15L,\t\tD__Ib,\tD__NONE,\t\"MOV\" \t,0xb7,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb7\n\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rAX_r8,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xb8,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb8\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rCX_r9,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xb9,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xb9\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rDX_r10,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xba,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xba\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rBX_r11,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xbb,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbb\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rSP_r12,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xbc,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbc\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rBP_r13,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xbd,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbd\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rSI_r14,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xbe,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbe\n\t{ 0 |Immediate_Iv, C_MOV,\tD__rDI_r15,\tD__Iv,\tD__NONE,\t\"MOV\" \t,0xbf,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xbf \n\n\t{R_M|Immediate_Ib, C_GRP,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xc0\t\t\t,0xc0,1}, //0xc0\n\t{R_M|Immediate_Ib, C_GRP,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xc1\t\t\t,0xc1,1}, //0xc1\n\t{ 0 |Immediate_Iw|F_64, C_RET,\tD__Iw,\t\tD__NONE,\tD__NONE,\t\"RET\" \t,0xc2,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xc2\n\t{ 0 |F_64, C_RET,\tD__NONE,\tD__NONE,\tD__NONE,\t\"RET\" \t\t\t\t,0xc3,1}, //0xc3\n\t{R_M|I_64, C_LES,\tD__Gv,\t\tD__rMp,\t\tD__NONE,\t\"LES\" \t\t\t\t,0xc4,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xc4\n\t{R_M|I_64, C_LDS,\tD__Gv,\t\tD__rMp,\t\tD__NONE,\t\"LDS\" \t\t\t\t,0xc5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xc5\n\t{R_M, C_GRP,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xc6\t\t\t\t\t\t,0xc6,1}, //0xc6\n\t{R_M, C_GRP,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xc7\t\t\t\t\t\t,0xc7,1}, //0xc7\n\n\t{ 0 |Immediate_IwIb, C_ENTER,\tD__Iw,\t\tD__Ib,\tD__NONE,\t\"ENTER\" \t,0xc8,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xc8\n\t{ 0 | D_64 , C_LEAVE,\tD__NONE,\tD__NONE,\tD__NONE,\t\"LEAVE\" \t,0xc9,1}, //0xc9\n\t{ 0 |Immediate_Iw, C_RETF,\tD__Iw,\t\tD__NONE,\tD__NONE,\t\"RETF\" \t\t,0xca,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xca\n\t{ 0 , C_RETF,\tD__NONE,\tD__NONE,\tD__NONE,\t\"RETF\" \t\t,0xcb,1}, //0xcb\n\t{ 0 , C_INT3,\tD__NONE,\tD__NONE,\tD__NONE,\t\"INT3\" \t\t,0xcc,1}, //0xcc\n\t{ 0 |Immediate_Ib, C_INT,\tD__Ib,\t\tD__NONE,\tD__NONE,\t\"INT\" \t\t,0xcd,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xcd\n\t{ 0 |I_64, C_INTO,\tD__NONE,\tD__NONE,\tD__NONE,\t\"INTO\" \t\t,0xce,1}, //0xce\n\t{ 0 , C_IRET,\tD__NONE,\tD__NONE,\tD__NONE,\t\"IRET\" \t\t,0xcf,1}, //0xcf\n\n\t{R_M, \tC_GRP,\tD__Eb,\t\tD__1,\t\tD__NONE,\t(char*)Group0xd0\t\t\t,0xd0,1}, //0xd0\n\t{R_M, \tC_GRP,\tD__Ev,\t\tD__1,\t\tD__NONE,\t(char*)Group0xd1\t\t\t,0xd1,1}, //0xd1\n\t{R_M, \tC_GRP,\tD__Eb,\t\tD__CL,\tD__NONE,\t\t(char*)Group0xd2\t\t\t,0xd2,1}, //0xd2\n\t{R_M, \tC_GRP,\tD__Ev,\t\tD__CL,\tD__NONE,\t\t(char*)Group0xd3\t\t\t,0xd3,1}, //0xd3\n\t{ 0 |Immediate_Ib|I_64, \tC_AAM,\tD__Ib,\tD__NONE,\tD__NONE,\"AAM\" ,0xd4,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd4\n\t{ 0 |Immediate_Ib|I_64, \tC_AAD,\tD__Ib,\tD__NONE,\tD__NONE,\"AAD\" ,0xd5,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xd5\n\t{ 0 , \tC_SALC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"SALC\" \t\t,0xd6,1}, //0xd6\n\t{ 0 , \tC_XLAT,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"XLAT\" \t\t,0xd7,1}, //0xd7\n\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xd8 \t,0xd8,1}, //0xd8\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xd9 \t,0xd9,1}, //0xd9\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xda \t,0xda,1}, //0xda\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xdb \t,0xdb,1}, //0xdb\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xdc \t,0xdc,1}, //0xdc\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xdd \t,0xdd,1}, //0xdd\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xde \t,0xde,1}, //0xde\n\t{R_M, \tC_ESC,\tD__NONE,\tD__NONE,\tD__NONE,\t(char*)Group0xdf \t,0xdf,1}, //0xdf\n\n\n\t{ 0 |Immediate_Jb, \tC_LOOPNZ,\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"LOOPNZ\" \t\t,0xe0,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe0\n\t{ 0 |Immediate_Jb, \tC_LOOPZ,\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"LOOPZ\" \t\t,0xe1,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe1\n\t{ 0 |Immediate_Jb, \tC_LOOP,\t\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"LOOP\" \t\t\t,0xe2,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe2\n\t{ 0 |Immediate_Jb, \tC_JCXZ,\t\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"JCXZ\" \t\t\t,0xe3,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe3\n\t{ 0 |Immediate_Ib, \tC_IN,\t\tD__AL,\t\tD__Ib,\t\tD__NONE,\t\"IN\" \t\t\t,0xe4,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xe4\n\t{ 0 |Immediate_Ib, \tC_IN,\t\tD__eX,\t\tD__Ib,\t\tD__NONE,\t\"IN\" \t\t\t,0xe5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xe5\n\t{ 0 |Immediate_Ib, \tC_OUT,\t\tD__Ib,\t\tD__AL,\t\tD__NONE,\t\"OUT\" \t\t\t,0xe6,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe6\n\t{ 0 |Immediate_Ib, \tC_OUT,\t\tD__Ib,\t\tD__eX,\t\tD__NONE,\t\"OUT\" \t\t\t,0xe7,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xe7\n\n\t{ 0 |Immediate_Jv|F_64, \tC_CALL,\tD__Jz,\t\tD__NONE,\tD__NONE,\t\"CALL\" \t\t,0xe8,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe8\n\t{ 0 |Immediate_Jv|F_64, \tC_JMP,\tD__Jz,\t\tD__NONE,\tD__NONE,\t\"JMP\" \t\t,0xe9,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xe9\n\t{ 0 |Immediate_IvIw|I_64, \tC_JMP,\tD__Ap,\t\tD__NONE,\tD__NONE,\t\"JMP\" \t\t,0xea,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xea\n\t{ 0 |Immediate_Jb|F_64, \tC_JMP,\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"JMP\" \t\t,0xeb,1,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0xeb\n\t{ 0 , \tC_IN,\tD__AL,\t\tD__DX,\t\tD__NONE,\t\"IN\" \t\t,0xec,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xec\n\t{ 0 , \tC_IN,\tD__eX,\t\tD__DX,\t\tD__NONE,\t\"IN\" \t\t,0xed,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)}, //0xed\n\t{ 0 , \tC_OUT,\tD__DX,\t\tD__AL,\t\tD__NONE,\t\"OUT\" \t\t,0xee,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xee\n\t{ 0 , \tC_OUT,\tD__DX,\t\tD__eX,\t\tD__NONE,\t\"OUT\" \t\t,0xef,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)}, //0xef\n\n\t{ 0 , \tC_LOCK,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"LOCK\"\t,0xf0,1}, //0xf0\n\t{ 0 , \tC_INT1,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"INT1\" \t,0xf1,1}, //0xf1\n\t{ 0 , \tC_REPN,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"REPNE\"\t,0xf2,1}, //0xf2\n\t{ 0 , \tC_REPZ,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"REP\"\t,0xf3,1}, //0xf3\n\t{ 0 , \tC_HLT,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"HLT\" \t,0xf4,1}, //0xf4\n\t{ 0 , \tC_CMC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"CMC\" \t,0xf5,1}, //0xf5\n\t{R_M, \tC_GRP,\t\tD__Eb,\t\tD__NONE,\tD__NONE,\t(char*)Group0xf6\t\t\t,0xf6,1}, //0xf6\n\t{R_M, \tC_GRP,\t\tD__Ev,\t\tD__NONE,\tD__NONE,\t(char*)Group0xf7\t\t\t,0xf7,1}, //0xf7\n\t{ 0 , \tC_CLC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"CLC\" \t\t,0xf8,1}, //0xf8\n\t{ 0 , \tC_STC,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"STC\" \t\t,0xf9,1}, //0xf9\n\t{ 0 , \tC_CLI,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"CLI\" \t\t,0xfa,1}, //0xfa\n\t{ 0 , \tC_STI,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"STI\" \t\t,0xfb,1}, //0xfb\n\t{ 0 , \tC_CLD,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"CLD\" \t\t,0xfc,1}, //0xfc\n\t{ 0 , \tC_STD,\t\tD__NONE,\tD__NONE,\tD__NONE,\t\"STD\" \t\t,0xfd,1}, //0xfd\n\t{R_M, \tC_GRP,\t\tD__Eb,\t\tD__NONE,\tD__NONE,\t(char*)Group0xfe\t\t\t,0xfe,1}, //0xfe\n\t{R_M, \tC_GRP,\t\tD__Ev,\t\tD__NONE,\tD__NONE,\t(char*)Group0xff\t\t\t,0xff,1},  //0xff\n//________________________________________________________________________________________\n//________________________________________________________________________________________\n\t{R_M ,   C_INS,\t\tD__Yb,\t D__DX,\tD__NONE, \t\"INSB\"   ,0x6c,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0x6c,\n\t{R_M ,   C_INS,\t\tD__Yw,\t D__DX,\tD__NONE, \t\"INSW\"   ,0x6d,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0x6d,\n\t{R_M ,   C_INS,\t\tD__Yd,\t D__DX,\tD__NONE, \t\"INSD\"   ,0x6d,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0x6d,\n\t{R_M ,   C_OUTS,\tD__DX,\t D__Xb,\tD__NONE, \t\"OUTSB\"  ,0x6e,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0x6e,\n\t{R_M ,   C_OUTS,\tD__DX,\t D__Xw,\tD__NONE, \t\"OUTSW\"  ,0x6f,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0x6f,\n\t{R_M ,   C_OUTS,\tD__DX,\t D__Xd,\tD__NONE, \t\"OUTSD\"  ,0x6f,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0x6f,\n//______________________________________________\n//______________________________________________\n\n\n\t{0 |D_64,     C_PUSHF,\tD__NONE,\t D__NONE,D__NONE,  \"PUSHFD\" ,0x9c,1,MAKE_OP_RW_FLAG(OP_R,0,0)},//0x9c,\n\t{0 |D_64,     C_POPF,\tD__NONE,\t D__NONE,D__NONE,  \"POPFD\"  ,0x9d,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0x9d,\n\t{0 ,\t\t\tC_PUSHA,\tD__NONE,\t D__NONE,D__NONE,  \"PUSHAD\" ,0x60,1,MAKE_OP_RW_FLAG(OP_R,0,0)},//0x60,\n\t{0 ,\t\tC_POPA,\t\tD__NONE,\t D__NONE,D__NONE,  \"POPAD\"  ,0x61,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0x61,\n//____________________________________\n//____________________________________\n\t{R_M ,     C_MOVS,\tD__Yb,\t D__NONE,D__NONE, \t\"MOVSB\" ,0xa4,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xa4,\n\t{R_M ,     C_MOVS,\tD__Yw,\t D__NONE,D__NONE, \t\"MOVSW\" ,0xa5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xa5,\n\t{R_M ,     C_MOVS,\tD__Yd,\t D__NONE,D__NONE, \t\"MOVSD\" ,0xa5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xa5,\n\t{R_M ,     C_MOVS,\tD__Yd,\t D__NONE,D__NONE, \t\"MOVSQ\" ,0xa5,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xa5,\n\t{R_M ,     C_CMPS,\tD__Yb,\t D__NONE,D__NONE, \t\"CMPSB\" ,0xa6,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xa6,\n\t{R_M ,     C_CMPS,\tD__Yw,\t D__NONE,D__NONE, \t\"CMPSW\" ,0xa7,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xa7,\n\t{R_M ,     C_CMPS,\tD__Yd,\t D__NONE,D__NONE, \t\"CMPSD\" ,0xa7,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xa7,\n\t{R_M ,     C_CMPS,\tD__Yd,\t D__NONE,D__NONE, \t\"CMPSQ\" ,0xa7,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xa7,\n\t{R_M ,     C_STOS,\tD__Yb,\t D__NONE,D__NONE, \t\"STOSB\" ,0xaa,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0xaa,\n\t{R_M ,     C_STOS,\tD__Yw,\t D__NONE,D__NONE, \t\"STOSW\" ,0xab,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0xab,\n\t{R_M ,     C_STOS,\tD__Yd,\t D__NONE,D__NONE, \t\"STOSD\" ,0xab,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0xab,\n\t{R_M ,     C_STOS,\tD__Yd,\t D__NONE,D__NONE, \t\"STOSQ\" ,0xab,1,MAKE_OP_RW_FLAG(OP_W,0,0)},//0xab,\n\t{R_M ,     C_LODS,\tD__AL,\t D__Xb,\tD__NONE, \t\"LODSB\" ,0xac,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xac,\n\t{R_M ,     C_LODS,\tD__AX,\t D__Xw,\tD__NONE, \t\"LODSW\" ,0xad,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xad,\n\t{R_M ,     C_LODS,\tD__EAX,\t D__Xd,\tD__NONE, \t\"LODSD\" ,0xad,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xad,\n\t{R_M ,     C_LODS,\tD__EAX,\t D__Xd,\tD__NONE, \t\"LODSQ\" ,0xad,1,MAKE_OP_RW_FLAG(OP_W,OP_R,0)},//0xad,\n\t{R_M ,     C_SCAS,\tD__Yb,\t D__NONE,D__NONE, \t\"SCASB\" ,0xae,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xae,\n\t{R_M ,     C_SCAS,\tD__Yw,\t D__NONE,D__NONE, \t\"SCASW\" ,0xaf,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xaf,\n\t{R_M ,     C_SCAS,\tD__Yd,\t D__NONE,D__NONE, \t\"SCASD\" ,0xaf,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xaf,\n\t{R_M ,     C_SCAS,\tD__Yd,\t D__NONE,D__NONE, \t\"SCASQ\" ,0xaf,1,MAKE_OP_RW_FLAG(OP_R,OP_R,0)},//0xaf,\n//____________________________________\t\t\t\t\t\t\t  \n//____________________________________\n\t{0 ,     C_XLAT,\tD__NONE, D__NONE,D__NONE, \t\"XLATB\" ,0xd7,1},//0xd7,\n//____________________________________\n//____________________________________\n\t{0 ,     C_REPN,\tD__NONE, D__NONE,D__NONE,   \"REPNZ\" ,0xf2,1},//0xf2\n\t{0 ,     C_REPZ,\tD__NONE, D__NONE,D__NONE, \t\"REPZ\"  ,0xf3,1},//0xf3\n\t{0 ,     C_REPZ,\tD__NONE, D__NONE,D__NONE, \t\"REPE\"  ,0xf3,1},//0xf3\n//____________________________________\n//____________________________________\n\n\t{0 |Immediate_Jb,     C_JtC,\tD__Jb,\t D__NONE, D__NONE, \t\"JB\"    ,0x72,1},//0x72,\n\t{0 |Immediate_Jb,     C_JtC,\tD__Jb,\t D__NONE, D__NONE, \t\"JNAE\"  ,0x72,1},//0x72,\n\t{0 |Immediate_Jb,     C_JfC,\tD__Jb,\t D__NONE, D__NONE, \t\"JAE\"   ,0x73,1},//0x73,\n\t{0 |Immediate_Ib,     C_JfC,\tD__Jb,\t D__NONE, D__NONE, \t\"JNB\"   ,0x73,1},//0x73,\n\t{0 |Immediate_Ib,     C_JtZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JE\"    ,0x74,1},//0x74,\n\t{0 |Immediate_Ib,     C_JfZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JNE\"   ,0x75,1},//0x75,\n\t{0 |Immediate_Ib,     C_JfA,\tD__Jb,\t D__NONE, D__NONE, \t\"JBE\"   ,0x76,1},//0x76,\n\t{0 |Immediate_Jb,     C_JtA,\tD__Jb,\t D__NONE, D__NONE, \t\"JNBE\"  ,0x77,1},//0x77,\n\t{0 |Immediate_Jb,     C_JtP,\tD__Jb,\t D__NONE, D__NONE, \t\"JPE\"   ,0x7a,1},//0x7a,\n\t{0 |Immediate_Jb,     C_JfP,\tD__Jb,\t D__NONE, D__NONE, \t\"JPO\"   ,0x7b,1},//0x7b,\n\t{0 |Immediate_Jb,     C_JtL,\tD__Jb,\t D__NONE, D__NONE, \t\"JNGE\"  ,0x7c,1},//0x7c,\n\t{0 |Immediate_Ib,     C_JfL,\tD__Jb,\t D__NONE, D__NONE, \t\"JGE\"   ,0x7d,1},//0x7d,\n\t{0 |Immediate_Ib,     C_JfG,\tD__Jb,\t D__NONE, D__NONE, \t\"JLE\"   ,0x7e,1},//0x7e,\n\t{0 |Immediate_Ib,     C_JtG,\tD__Jb,\t D__NONE, D__NONE, \t\"JNLE\"  ,0x7f,1},//0x7f,\n\n\t{ 0 |Immediate_Jv|F_64, C_JtC,\t\tD__Jz,\t\tD__tC,\tD__NONE,\t\"JB\" \t\t,0x820f,2}, //0x82\n\t{ 0 |Immediate_Jv|F_64, C_JtC,\t\tD__Jz,\t\tD__tC,\tD__NONE,\t\"JNAE\" \t\t,0x820f,2}, //0x82\n\t{ 0 |Immediate_Jv|F_64, C_JfC,\t\tD__Jz,\t\tD__fC,\tD__NONE,\t\"JNB\" \t\t,0x830f,2}, //0x83\n\t{ 0 |Immediate_Jv|F_64, C_JfC,\t\tD__Jz,\t\tD__fC,\tD__NONE,\t\"JAE\" \t\t,0x830f,2}, //0x83\n\t{ 0 |Immediate_Jv|F_64, C_JtZ,\t\tD__Jz,\t\tD__tZ,\tD__NONE,\t\"JE\" \t\t,0x840f,2}, //0x84\n\t{ 0 |Immediate_Jv|F_64, C_JfZ,\t\tD__Jz,\t\tD__fZ,\tD__NONE,\t\"JNE\" \t\t,0x850f,2}, //0x85\n\t{ 0 |Immediate_Jv|F_64, C_JfA,\t\tD__Jz,\t\tD__fA,\tD__NONE,\t\"JBE\" \t\t,0x860f,2}, //0x86\n\t{ 0 |Immediate_Jv|F_64, C_JtA,\t\tD__Jz,\t\tD__tA,\tD__NONE,\t\"JNBE\" \t\t,0x870f,2}, //0x87\n\t{ 0 |Immediate_Jv|F_64, C_JtP,\t\tD__Jz,\t\tD__tP,\tD__NONE,\t\"JPE\" \t\t,0x8a0f,2}, //0x8a\n\t{ 0 |Immediate_Jv|F_64, C_JfP,\t\tD__Jz,\t\tD__fP,\tD__NONE,\t\"JPO\" \t\t,0x8b0f,2}, //0x8b\n\t{ 0 |Immediate_Jv|F_64, C_JtL,\t\tD__Jz,\t\tD__tL,\tD__NONE,\t\"JNGE\" \t\t,0x8c0f,2}, //0x8c\n\t{ 0 |Immediate_Jv|F_64, C_JfL,\t\tD__Jz,\t\tD__fL,\tD__NONE,\t\"JGE\" \t\t,0x8d0f,2}, //0x8d\n\t{ 0 |Immediate_Jv|F_64, C_JfG,\t\tD__Jz,\t\tD__fG,\tD__NONE,\t\"JLE\" \t\t,0x8e0f,2}, //0x8e\n\t{ 0 |Immediate_Jv|F_64, C_JtG,\t\tD__Jz,\t\tD__tG,\tD__NONE,\t\"JNLE\" \t\t,0x8f0f,2}, //0x8f\n\t{R_M, C_SETtC,\tD__wEb,\t\tD__tC,\tD__NONE,\t\"SETB\" \t,0x920f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x92\n\t{R_M, C_SETtC,\tD__wEb,\t\tD__tC,\tD__NONE,\t\"SETNAE\",0x920f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x92\n\t{R_M, C_SETfC,\tD__wEb,\t\tD__fC,\tD__NONE,\t\"SETNB\" ,0x930f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x93\n\t{R_M, C_SETfC,\tD__wEb,\t\tD__fC,\tD__NONE,\t\"SETAE\" ,0x930f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x93\n\t{R_M, C_SETtZ,\tD__wEb,\t\tD__tZ,\tD__NONE,\t\"SETE\" \t,0x940f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x94\n\t{R_M, C_SETfZ,\tD__wEb,\t\tD__fZ,\tD__NONE,\t\"SETNE\" ,0x950f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x95\n\t{R_M, C_SETfA,\tD__wEb,\t\tD__fA,\tD__NONE,\t\"SETBE\" ,0x960f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x96\n\t{R_M, C_SETtA,\tD__wEb,\t\tD__tA,\tD__NONE,\t\"SETNBE\",0x970f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x97\n\t{R_M, C_SETtP,\tD__wEb,\t\tD__tP,\tD__NONE,\t\"SETPE\" ,0x9a0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9a\n\t{R_M, C_SETfP,\tD__wEb,\t\tD__fP,\tD__NONE,\t\"SETPO\" ,0x9b0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9b\n\t{R_M, C_SETtL,\tD__wEb,\t\tD__tL,\tD__NONE,\t\"SETNGE\",0x9c0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9c\n\t{R_M, C_SETfL,\tD__wEb,\t\tD__fL,\tD__NONE,\t\"SETGE\" ,0x9d0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9d\n\t{R_M, C_SETfG,\tD__wEb,\t\tD__fG,\tD__NONE,\t\"SETLE\" ,0x9e0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9e\n\t{R_M, C_SETtG,\tD__wEb,\t\tD__tG,\tD__NONE,\t\"SETNLE\",0x9f0f,2,MAKE_OP_RW_FLAG(OP_R,0,0)}, //0x9f\n\n\n\t//____________________________________\t\n\t{R_M, C_CMOVtC,\tD__Gv,\t\tD__rEv,\t\tD__tC,\t\"CMOVNAE\" \t,0x420f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x42\n\t{R_M, C_CMOVtC,\tD__Gv,\t\tD__rEv,\t\tD__tC,\t\"CMOVC\" \t,0x420f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x42\n\t{R_M, C_CMOVfC,\tD__Gv,\t\tD__rEv,\t\tD__fC,\t\"CMOVNC\" \t,0x430f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x43\n\t{R_M, C_CMOVfC,\tD__Gv,\t\tD__rEv,\t\tD__fC,\t\"CMOVAE\" \t,0x430f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x43\n\t{R_M, C_CMOVtZ,\tD__Gv,\t\tD__rEv,\t\tD__tZ,\t\"CMOVE\" \t,0x440f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x44\n\t{R_M, C_CMOVfZ,\tD__Gv,\t\tD__rEv,\t\tD__fZ,\t\"CMOVNE\" \t,0x450f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x45\n\t{R_M, C_CMOVfA,\tD__Gv,\t\tD__rEv,\t\tD__fA,\t\"CMOVNA\" \t,0x460f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x46\n\t{R_M, C_CMOVtA,\tD__Gv,\t\tD__rEv,\t\tD__tA,\t\"CMOVNBE\" \t,0x470f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x47\n\t{R_M, C_CMOVtP,\tD__Gv,\t\tD__rEv,\t\tD__tP,\t\"CMOVPE\" \t,0x4a0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4a\n\t{R_M, C_CMOVfP,\tD__Gv,\t\tD__rEv,\t\tD__fP,\t\"CMOVPO\" \t,0x4b0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4b\n\t{R_M, C_CMOVtL,\tD__Gv,\t\tD__rEv,\t\tD__tL,\t\"CMOVNGE\" \t,0x4c0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4c\n\t{R_M, C_CMOVfL,\tD__Gv,\t\tD__rEv,\t\tD__fL,\t\"CMOVNL\" \t,0x4d0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4d\n\t{R_M, C_CMOVfG,\tD__Gv,\t\tD__rEv,\t\tD__fG,\t\"CMOVNG\" \t,0x4e0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4e\n\t{R_M, C_CMOVtG,\tD__Gv,\t\tD__rEv,\t\tD__tG,\t\"CMOVNLE\" \t,0x4f0f,2,MAKE_OP_RW_FLAG(OP_RW,OP_R,0)}, //0x4f\n\t{ 0 |Immediate_Jb, \tC_LOOPNZ,\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"LOOPNE\" \t\t,0xe0,1}, //0xe0\n\t{ 0 |Immediate_Jb, \tC_LOOPZ,\tD__Jb,\t\tD__NONE,\tD__NONE,\t\"LOOPE\" \t\t,0xe1,1}, //0xe1\n\t{ 0 , C_NOP,\t\tD__NONE,D__NONE,\t\t\tD__NONE,\"NOP\"\t,\t0x90,1},\n//____________________________________\t\n\t{R_M ,     C_DBYTE,\tD_DBYTE,\tD__NONE,\tD__NONE, \"DB\"\t}, //db xx\n\t{R_M ,     C_DWORD,\tD_DWORD,\tD__NONE,\tD__NONE, \"DW\"\t}, //dw xx\n\t{R_M ,     C_DDWORD,D_DDWORD,\tD__NONE,\tD__NONE, \"DD\"\t}, //dd xx\n\t{R_M ,     C_DBYTE,\tD_STRING,\tD__NONE,\tD__NONE, \"DB\"\t}, //db xx\n//____________________________________\t\n\n};\n\nDIS_OPCODE_T RexPrefixFor64Bit[]=\n{\n\t{0 ,     C_REX_PREFIX,\tD__NONE,\tD__NONE,\tD__NONE, \"\"\t}, //Rex prefix only for 64 bit\n};\n\n//______________________________________________________\t\n//______________________________________________________\t\n\nint GetEffectAddress32Dis(DIS_CPU * pDisCPU,BYTE *pbuff,DISP_INSTRUCTION_T *disp_i)\n{\n\tint r_m,reg,mod,base,index,scale;\n\tint length;\n\tQWORD base_index;\n\tQWORD base_register_val;\n\tr_m = ((DIS_MODR_M*)pbuff)->r_m;\n\treg = ((DIS_MODR_M*)pbuff)->reg;\n\tmod = ((DIS_MODR_M*)pbuff)->mod;\n\treg |= ((disp_i->rex_prefix & 0x4)<<1);\n\tif(disp_i->rex_prefix & 0x8)  // if ture then ignore 0x66 prefix\n\t{\n\t\tdisp_i->os_32=BIT64;\n\t}\n\tdisp_i->rm = r_m;\n\tdisp_i->nnn = reg;\n\tdisp_i->mod = mod;\n\t\n\tdisp_i->have_regrm=1;\n\tdisp_i->have_sib=-1;\n\tif (r_m==4)// ָ SIB ֽ\n\t{\n\t\tbase = ((DIS_MODR_M*)pbuff)->base;\n\t\tindex = ((DIS_MODR_M*)pbuff)->index;\n\t\tscale = ((DIS_MODR_M*)pbuff)->scale;\n\t\tif(disp_i->mode==BIT64)\n\t\t{\n\t\t\tindex |= ((disp_i->rex_prefix & 0x2)<<2);\n\t\t\tbase |= ((disp_i->rex_prefix & 0x1)<<3);\n\t\t\tdisp_i->rm |= ((disp_i->rex_prefix & 0x1)<<3);\n\t\t}\n\t\tdisp_i->have_sib=1;\n\t\tpbuff += 2;    //skip modrm and sib byte\n\n\t\tdisp_i->base = base;\n\t\tif((disp_i->base&0x7)==5 && mod==0)   //only ebp as base register is not used\n\t\t\tdisp_i->base=0-1;\n\t\tdisp_i->index = index;\n\t\tdisp_i->scale = scale;\n\t\tif(disp_i->base==-1)\n\t\t\tbase_register_val=0;\n\t\telse\n\t\t\tbase_register_val=pDisCPU->gen_reg[base].erx;\n\t\tif (index==4)  //rsp must not be index register\n\t\t{\n\t\t\tbase_index = base_register_val;\n\t\t\tdisp_i->index = 0-1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbase_index = base_register_val + (pDisCPU->gen_reg[index].erx<<scale);\n\t\t}\n\n\t\tif (disp_i->base==4 || disp_i->base==5) \n\t\t\tdisp_i->seg = I_SS;\n\t\telse \n\t\t\tdisp_i->seg = I_DS;\n\n\t\tswitch(mod)\n\t\t{\n\t\tcase 0:\n\n\t\t\tif ((base&0x7)==5)\n\t\t\t{   // address form [xxxxxxxx] there is a modrm and a sib byte\n\t\t\t\tdisp_i->addr_displacement = (__int64)(int)GetValue_d(pbuff);\n\t\t\t\tdisp_i->displacement_size = sizeof(DWORD);\n\t\t\t\tlength = 0x06;\n\t\t\t\t\n\t\t\t\tif (index==4) \n\t\t\t\t\tbase_index = 0;\n\t\t\t\telse\n\t\t\t\t\tbase_index = (pDisCPU->gen_reg[index].erx<<scale);\n\n\t\t\t\tdisp_i->seg = I_DS;\n\t\t\t}\n\t\t\telse\n\t\t\t{  // address form [register]\n\t\t\t\tdisp_i->addr_displacement = 0;\n\t\t\t\tdisp_i->displacement_size = 0;\n\t\t\t\tlength = 0x02;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tdisp_i->addr_displacement = (long)(*(char*)pbuff);\n\t\t\tdisp_i->displacement_size = sizeof(BYTE);\n\t\t\tlength = 0x03;\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tdisp_i->addr_displacement = (__int64)(int)GetValue_d(pbuff);\n\t\t\tdisp_i->displacement_size = sizeof(DWORD);\n\t\t\tlength = 0x06;\n\t\t\tbreak;\n\n\t\tcase 3: //mod == 3\n\t\t\tdisp_i->displacement_size = 0;\n\t\t\tlength = 0x01;\n\t\t\tdisp_i->have_sib=-1;\n\t\t\tbreak;\n\t\t}\n\t}\n\telse\n\t{\n\t\tpbuff++;//skip modrm byte\n\t\tr_m |= ((disp_i->rex_prefix & 0x1)<<3);\n\t\tdisp_i->base = r_m;\n\t\tdisp_i->index = 0-1;\n\t\tdisp_i->scale = 0;\n\t\tdisp_i->rm = r_m;\n\t\tbase_index = pDisCPU->gen_reg[r_m].erx;\n\n\t\tif (r_m==4 || r_m==5) \n\t\t\tdisp_i->seg = I_SS;\n\t\telse \n\t\t\tdisp_i->seg = I_DS;\n\n\t\tswitch(mod)\n\t\t{\n\t\tcase 0:\n\n\t\t\tif ((r_m&7)==5)\n\t\t\t{\n\t\t\t\tdisp_i->addr_displacement = (__int64)(int)GetValue_d(pbuff);\n\t\t\t\tdisp_i->displacement_size = sizeof(DWORD);\n\t\t\t\tif(disp_i->mode==BIT64)\n\t\t\t\t{\n\t\t\t\t\tdisp_i->seg = I_CS;\n\t\t\t\t\tdisp_i->RIP_Relative=1;\n\t\t\t\t\t//disp_i->displacement_size=sizeof(QWORD);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tdisp_i->seg = I_DS;\n\t\t\t\tbase_index = 0;\n\t\t\t\tdisp_i->base = 0-1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdisp_i->addr_displacement = 0;\n\t\t\t\tdisp_i->displacement_size = 0;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase 1:\n\n\t\t\tdisp_i->addr_displacement = (__int64)(*(char*)pbuff);\n\t\t\tdisp_i->displacement_size = sizeof(BYTE);\n\t\t\tbreak;\n\n\t\tcase 2:\n\n\t\t\tdisp_i->addr_displacement = (__int64)GetValue_d(pbuff);\n\t\t\tdisp_i->displacement_size = sizeof(DWORD);\n\t\t\t\n\t\t\tbreak;\n\n\t\tdefault: //mod == 3\n\t\t\t\n\t\t\tdisp_i->displacement_size = 0;\n\t\t}\n\n\t\tlength = disp_i->displacement_size + 1;\n\t}\n\n\tdisp_i->rm_addr = base_index + disp_i->addr_displacement;\n\t//ЧַΪʮλ\n\n\treturn length;\n}\n\nint GetEffectAddress16Dis(DIS_CPU * pDisCPU,BYTE *pbuff,DISP_INSTRUCTION_T *disp_i)\n{\n\tint r_m,reg,mod;\n\tint length;\n\tDWORD base_index;\n\t\n\tr_m = ((DIS_MODR_M*)pbuff)->r_m;\n\treg = ((DIS_MODR_M*)pbuff)->reg;\n\tmod = ((DIS_MODR_M*)pbuff)->mod;\n\t\n\tdisp_i->rm = r_m;\n\tdisp_i->nnn = reg;\n\tdisp_i->mod = mod;\n\tdisp_i->have_regrm=1;\n\tdisp_i->have_sib=-1;\n\tpbuff++;\n\n\tdisp_i->as_32 = BIT16;\n\tdisp_i->scale = 0;\n\n\tswitch(r_m)\n\t{\n\tcase 0:\n\n\t\tbase_index = pDisCPU->gen_reg[I_EBX].word.u_word.rx + pDisCPU->gen_reg[I_ESI].word.u_word.rx;\n\t\tdisp_i->seg = I_DS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBX;\n\t\tdisp_i->index = INTEL_GEG_REG_ESI;\n\t\tbreak;\n\n\tcase 1:\n\n\t\tbase_index = pDisCPU->gen_reg[I_EBX].word.u_word.rx + pDisCPU->gen_reg[I_EDI].word.u_word.rx;\n\t\tdisp_i->seg = I_DS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBX;\n\t\tdisp_i->index = INTEL_GEG_REG_EDI;\n\t\tbreak;\n\n\tcase 2:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_EBP].word.u_word.rx + pDisCPU->gen_reg[I_ESI].word.u_word.rx;\n\t\tdisp_i->seg = I_SS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBP;\n\t\tdisp_i->index = INTEL_GEG_REG_ESI;\n\t\tbreak;\n\n\tcase 3:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_EBP].word.u_word.rx + pDisCPU->gen_reg[I_EDI].word.u_word.rx;\n\t\tdisp_i->seg = I_SS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBP;\n\t\tdisp_i->index = INTEL_GEG_REG_EDI;\n\t\tbreak;\n\n\tcase 4:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_ESI].word.u_word.rx;\n\t\tdisp_i->seg = I_DS;\n\t\tdisp_i->base = INTEL_GEG_REG_ESI;\n\t\tdisp_i->index = 0-1;\n\t\tbreak;\n\n\tcase 5:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_EDI].word.u_word.rx;\n\t\tdisp_i->seg = I_DS;\n\t\tdisp_i->base = INTEL_GEG_REG_EDI;\n\t\tdisp_i->index = 0-1;\n\t\tbreak;\n\n\tcase 6:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_EBP].word.u_word.rx;\n\t\tdisp_i->seg = I_SS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBP;\n\t\tdisp_i->index = 0-1;\n\t\tbreak;\n \n\tcase 7:\n\t\t\n\t\tbase_index = pDisCPU->gen_reg[I_EBX].word.u_word.rx;\n\t\tdisp_i->seg = I_DS;\n\t\tdisp_i->base = INTEL_GEG_REG_EBX;\n\t\tdisp_i->index = 0-1;\n\t\tbreak;\n\t};\n\n\tswitch(mod)\n\t{\n\tcase 0:\n\n\t\tif (r_m==6)\n\t\t{\n\t\t\tdisp_i->addr_displacement = GetValue_w(pbuff);\n\t\t\tdisp_i->displacement_size = sizeof(WORD);\n\n\t\t\t\n\t\t\tbase_index = 0;\n\t\t\tdisp_i->seg = I_DS;\n\t\t\tdisp_i->base = 0-1;\n\t\t\tdisp_i->index = 0-1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdisp_i->addr_displacement = 0x00;\n\t\t\tdisp_i->displacement_size = 0;\n\t\t}\n\t\tbreak;\n\n\tcase 1:\n\n\t\tdisp_i->addr_displacement = (long)(*(char*)pbuff);\n\t\tdisp_i->displacement_size = sizeof(BYTE);\n\t\tbreak;\n\n\tcase 2:\n\n\t\tdisp_i->addr_displacement = GetValue_w(pbuff);\n\t\tdisp_i->displacement_size = sizeof(WORD);\n\t\tbreak;\n\n\tdefault: //mod == 3\n\n\t\tdisp_i->displacement_size = 0;\n\t}\n\n\tdisp_i->rm_addr = (unsigned short)(base_index + disp_i->addr_displacement);\n\t//ЧַΪʮλ\n\n\tlength = disp_i->displacement_size + 1;\n\n\treturn length;\n}\n\n\nvoid DispTranDis(DIS_ADDRESS * dis_a,DISP_INSTRUCTION_T *disp_i,QWORD eip)\n{\n\tdis_a->mod = disp_i->mod;\n\tdis_a->reg = disp_i->nnn;\n\tdis_a->r_m = disp_i->rm;\n\tdis_a->base = disp_i->base;\n\tdis_a->index = disp_i->index;\n\tdis_a->scale = disp_i->scale;\n\tdis_a->segment = disp_i->seg;\n\tdis_a->address_size = disp_i->as_32;\n\tdis_a->displacement_size = disp_i->displacement_size;\n\tif(disp_i->RIP_Relative)\n\t{\n\t\tdisp_i->addr_displacement+=eip+disp_i->ilen;\n\t\tdis_a->displacement_size = 8;\n\t}\n\tdis_a->displacement = disp_i->addr_displacement;\n\tdis_a->effect_address = disp_i->rm_addr;\n\n\treturn ;\n}\n\n//ģ顪\n\nbool ProcessName_dis(INSTRUCTION_INFORMATION* pInstInfo,DIS_OPCODE_T *pIntelOpcode,int OperandSize,int AddressSize)\n{\n\tint opcodetype,Opdata1,Opdata2;\n\n\topcodetype = pIntelOpcode->OpcodeType;\n\tOpdata1 = pIntelOpcode->Opdata1;\n\tOpdata2 = pIntelOpcode->Opdata2;\n\n\tif (pInstInfo->Lock==0xf0)\n\t\tstrcpy(pInstInfo->LockName,\"LOCK\");\n\telse\n\t\tpInstInfo->LockName[0] = '\\0';\n\n\tif (pInstInfo->Repeat==0xf2)\n\t\tstrcpy(pInstInfo->RepeatName,\"REPNE\");\n\telse if\t(pInstInfo->Repeat==0xf3) \n\t\tstrcpy(pInstInfo->RepeatName,\"REP\");\n\telse\n\t\tpInstInfo->RepeatName[0] = '\\0';\n\t\n\tif (opcodetype==C_NULL)\n\t\treturn false;\n\n\tstrcpy(pInstInfo->Name,pIntelOpcode->name);\n\n\tif (Opdata1>=D__Xb&&Opdata1<=D_wXb||Opdata1>=D__Yb&&Opdata1<=D__wYb||\n\t\tOpdata2>=D__Xb&&Opdata2<=D_wXb||Opdata2>=D__Yb&&Opdata2<=D__wYb)\n\t\tsprintf(pInstInfo->Name,\"%sB\",pIntelOpcode->name);\n\tif (Opdata1>=D__Xv&&Opdata1<=D_wXv||Opdata1>=D__Yv&&Opdata1<=D__wYv||\n\t\tOpdata2>=D__Xv&&Opdata2<=D_wXv||Opdata2>=D__Yv&&Opdata2<=D__wYv)\n\t{\n\t\tswitch(OperandSize)\n\t\t{\n\t\tcase BIT16:\n\t\t\tsprintf(pInstInfo->Name,\"%sW\",pIntelOpcode->name);\n\t\t\tbreak;\n\t\tcase BIT32:\n\t\t\tsprintf(pInstInfo->Name,\"%sD\",pIntelOpcode->name);\n\t\t\tbreak;\n\t\tcase BIT64:\n\t\t\tsprintf(pInstInfo->Name,\"%sQ\",pIntelOpcode->name);\n\t\t\tbreak;\n\t\t}\n\t}\n\tswitch(OperandSize)\n\t{\n\tcase BIT16:\n\t\tbreak;\n\tcase BIT32:\n\t\tswitch(opcodetype)\n\t\t{\n\t\tcase C_CBW:\n\t\t\tstrcpy(pInstInfo->Name,\"CWDE\");\n\t\t\tbreak;\n\n\t\tcase C_CWD:\n\t\t\tstrcpy(pInstInfo->Name,\"CDQ\");\n\t\t\tbreak;\n\n\t\tcase C_PUSHA:\n\t\t\tstrcpy(pInstInfo->Name,\"PUSHAD\");\n\t\t\tbreak;\n\n\t\tcase C_POPA:\n\t\t\tstrcpy(pInstInfo->Name,\"POPAD\");\n\t\t\tbreak;\n\n\t\tcase C_PUSHF:\n\t\t\tstrcpy(pInstInfo->Name,\"PUSHFD\");\n\t\t\tbreak;\n\n\t\tcase C_POPF:\n\t\t\tstrcpy(pInstInfo->Name,\"POPFD\");\n\t\t\tbreak;\n\n\t\tcase C_JCXZ:\n\t\t\tstrcpy(pInstInfo->Name,\"JECXZ\");\n\t\t\tbreak;\n\n\t\tcase C_IRET:\n\t\t\tstrcpy(pInstInfo->Name,\"IRETD\");\n\t\t\tbreak;\n\t\tcase C_MOVD:\n\t\t\tstrcpy(pInstInfo->Name,\"MOVD\");\n\t\t\tbreak;\n\t\tcase C_PEXTRD:\n\t\t\tstrcpy(pInstInfo->Name,\"pextrd\");\n\t\t\tbreak;\n\t\tcase C_PINSRD:\n\t\t\tstrcpy(pInstInfo->Name,\"pinsrd\");\n\t\t\tbreak;\n\t\t};\n\t\tbreak;\n\tcase BIT64:\n\t\tswitch(opcodetype)\n\t\t{\n\t\tcase C_CMPXCHG8B:\n\t\t\tif(pInstInfo->Rex_Prefix&0x8)\n\t\t\t\tstrcpy(pInstInfo->Name,\"CMPXCHG16B\");\n\t\t\tbreak;\n\t\tcase C_CBW:\n\t\t\tstrcpy(pInstInfo->Name,\"CDQE\");\n\t\t\tbreak;\n\n\t\tcase C_CWD:\n\t\t\tstrcpy(pInstInfo->Name,\"CQO\");\n\t\t\tbreak;\n\n\t\tcase C_PUSHA:\n\t\t\tstrcpy(pInstInfo->Name,\"\");\n\t\t\tbreak;\n\n\t\tcase C_POPA:\n\t\t\tstrcpy(pInstInfo->Name,\"\");\n\t\t\tbreak;\n\n\t\tcase C_PUSHF:\n\t\t\tstrcpy(pInstInfo->Name,\"PUSHFQ\");\n\t\t\tbreak;\n\n\t\tcase C_POPF:\n\t\t\tstrcpy(pInstInfo->Name,\"POPFQ\");\n\t\t\tbreak;\n\n\t\tcase C_JCXZ:\n\t\t\tstrcpy(pInstInfo->Name,\"JRCXZ\");\n\t\t\tbreak;\n\n\t\tcase C_IRET:\n\t\t\tstrcpy(pInstInfo->Name,\"IRETQ\");\n\t\t\tbreak;\n\t\tcase C_MOVD:\n\t\t\tstrcpy(pInstInfo->Name,\"MOVQ\");\n\t\t\tbreak;\n\t\tcase C_PEXTRD:\n\t\t\tstrcpy(pInstInfo->Name,\"pextrq\");\n\t\t\tbreak;\n\t\tcase C_PINSRD:\n\t\t\tstrcpy(pInstInfo->Name,\"pinsrq\");\n\t\t\tbreak;\n\t\t};\n\t\tbreak;\n\t}\n\n\treturn true;\n}\n\nint ProcessOpdata_dis(int opdata,POPERAND_ITEM op,QWORD eip,DISP_INSTRUCTION_T *disp_i,DIS_CPU *pDisCPU)\n{\n\tint OperandSize = disp_i->os_32;\n\tint AddressSize = disp_i->as_32;\n\t__int64 k;\n\tint opimmedlength;\n\n\tint SIZE_c,SIZE_v,SIZE_p,SIZE_z,SIZE_s1,SIZE_y;\n\n\tswitch(OperandSize)\n\t{\n\tcase BIT32:\n\t\tSIZE_v = 4;\n\t\tSIZE_c = 2;\n\t\tSIZE_p = 6;\n\t\tSIZE_z=4;\n\t\tSIZE_s1=6;\n\t\tSIZE_y=4;\n\t\tbreak;\n\tcase BIT16:\n\t\tSIZE_v = 2;\n\t\tSIZE_c = 1;\n\t\tSIZE_p = 4;\n\t\tSIZE_z=2;\n\t\tSIZE_s1=6;\n\t\tSIZE_y=4;\n\t\tbreak;\n\tcase BIT64:\n\t\tSIZE_v = 8;\n\t\tSIZE_c = 2;\n\t\tSIZE_p = 10;\t\t\t\n\t\tSIZE_z=4;\n\t\tSIZE_s1=10;\n\t\tSIZE_y=8;\n\n\t\tbreak;\n\t}\n\t\n\n\topimmedlength = 0;\n\top->mode = mode_invalid;\n\top->opersize = 0;\n\t\n\tswitch(opdata)\n\t{\n\tcase D__NONE:\n\t\tbreak;\n\n\tcase D__1:\n\t\top->mode = mode_immed;\n\t\top->opersize = 1;\n\t\top->immed.immed_value = 1;\n\t\tstrcpy(op->string,\"1\");\n\t\tbreak;\n\n\t// Immediate data. The operand value is encoded in subsequent bytes of the instruction.\n\tcase D__Ib:\n\t\top->mode = mode_immed;\n\t\top->opersize = SIZE_b;\n\t\topimmedlength = SIZE_b;\n\t\top->immed.immed_value = disp_i->Ib;\n\t\tif(disp_i->Ib>=0xa0)\n\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\telse\n\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\n\t\tbreak;\n\tcase D__Ib2:\n\t\top->mode = mode_immed;\n\t\top->opersize = SIZE_b;\n\t\topimmedlength = SIZE_b;\n\t\top->immed.immed_value = disp_i->Ib2;\n\t\t//sprintf(op->string,\"%02X\",op->immed.immed_value);\n\t\tif(disp_i->Ib2>=0xa0)\n\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\telse\n\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\t\tbreak;\n\n\tcase D__sIb:\n\t\t{\n\t\t\t__int64 value;\n\t\t\top->mode = mode_immed;\n\t\t\top->opersize = SIZE_b;\n\t\t\topimmedlength = SIZE_b;\n\t\t\tvalue=(int)disp_i->Ib;\n\t\t\top->immed.immed_value = value;\n\t\t\tk = op->immed.immed_value;\n\t\t\tif (k>=sign_BYTE) \n\t\t\t\tsprintf(op->string,\"-%X\",(BYTE)(0-k));\n\t\t\telse \n\t\t\t\tsprintf(op->string,\"%X\",(BYTE)k);\n\t\t\tbreak;\n\t\t}\n\tcase D__Iw:\n\t\top->mode = mode_immed;\n\t\top->opersize = SIZE_w;\n\t\topimmedlength = SIZE_w;\n\t\top->immed.immed_value = disp_i->Iw;\n\t\t\n\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\n\t\tbreak;\n\tcase D__Iv:\n\t\top->mode = mode_immed;\n\t\top->opersize = SIZE_v;\n\t\topimmedlength = SIZE_v;\n\t\tif (SIZE_v==SIZE_w)\n\t\t{\n\t\t\top->immed.immed_value = disp_i->Iw;\n\t\t\tif(disp_i->Iw>=0xa000)\n\t\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\t\telse\n\t\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\t\t}\n\t\telse if (SIZE_v==SIZE_d)\n\t\t{\n\t\t\top->immed.immed_value = disp_i->Id;\n\t\t\tif(disp_i->Id>=0xa0000000)\n\t\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\t\telse\n\t\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\t\t}\n\t\telse if(SIZE_v==SIZE_q)\n\t\t{\n\t\t\top->immed.immed_value = disp_i->Iq;\n\t\t\tif(disp_i->Iq>=0xa000000000000000I64)\n\t\t\t\tsprintf(op->string,\"0%I64X\",op->immed.immed_value);\n\t\t\telse\n\t\t\t\tsprintf(op->string,\"%I64X\",op->immed.immed_value);\n\t\t}\n\t\tbreak;\n\tcase D__Iz:\n\t\top->mode = mode_immed;\n\t\top->opersize = SIZE_z;\n\t\topimmedlength = SIZE_z;\n\t\tif (SIZE_z==SIZE_w)\n\t\t{\n\t\t\top->immed.immed_value = disp_i->Iw;\n\t\t\tif(disp_i->Iw>=0xa000)\n\t\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\t\telse\n\t\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\t\t}\n\t\telse \n\t\t{\n\t\t\tif(OperandSize==BIT64)\n\t\t\t{\n\t\t\t\t__int64 value=(int)disp_i->Id;\n\t\t\t\tif(value<0)\n\t\t\t\t{\n\t\t\t\t\tsprintf(op->string,\"0%I64X\",value);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tsprintf(op->string,\"%I64X\",value);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\top->immed.immed_value = disp_i->Id;\n\t\t\t\tif(disp_i->Id>=0xa0000000)\n\t\t\t\t\tsprintf(op->string,\"0%X\",op->immed.immed_value);\n\t\t\t\telse\n\t\t\t\t\tsprintf(op->string,\"%X\",op->immed.immed_value);\n\t\t\t}\n\t\t}\n\t\t\n\t\tbreak;\n\n\t// The instruction contains a relative offset to be added to the instruction pointer register\n\t// (for example, JMP (0E9), LOOP).\n\tcase D__Jb:\n\t\top->mode = mode_near;\n\t\top->opersize = SIZE_b;\n\t\top->nearptr.offset = (__int64)(char)disp_i->Ib;\n\t\topimmedlength = 1;\n\n\t\tk = eip+disp_i->ilen+op->nearptr.offset;\n\n\t\top->nearptr.label = k;\n\n\t\tswitch(OperandSize)\n\t\t{\n\t\t\tcase BIT32:sprintf(op->string,\"%08X\",k);break;\n\t\t\tcase BIT16:sprintf(op->string,\"%04X\",k);break;\n\t\t\tcase BIT64:sprintf(op->string,\"%016I64X\",k);break;\n\t\t}\n\t\tbreak;\n\n\tcase D__Jz:\n\t\top->mode = mode_near;\n\t\top->opersize = SIZE_z;\n\n\t\tswitch(SIZE_z)\n\t\t{\n\t\tcase SIZE_w:\n\t\t\top->nearptr.offset = (int)(short)disp_i->Iw;\n\t\t\tbreak;\n\t\tcase SIZE_d:\n\t\t\top->nearptr.offset = (__int64)(int)disp_i->Id;\n\t\t\tbreak;\n\t\t}\n\t\topimmedlength = SIZE_z;\n\n\t\tk = eip+disp_i->ilen+op->nearptr.offset;\n\n\t\top->nearptr.label = k;\n\t\t\n\t\tswitch(OperandSize)\n\t\t{\n\t\tcase BIT32:sprintf(op->string,\"%08X\",k);break;\n\t\tcase BIT16:sprintf(op->string,\"%04X\",k);break;\n\t\tcase BIT64:sprintf(op->string,\"%016I64X\",k);break;\n\t\t}\n\t\tbreak;\n\n\t// The instruction has no ModR/M byte; the offset of the operand is coded as a word or\n\t// double word (depending on address size attribute) in the instruction. No base register,\n\t// index register, or scaling factor can be applied (for example, MOV (A0-A3)).\n\tcase D__Ob:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\t\n\tcase D__rOb:if (op->opersize==0)op->opersize = SIZE_b,\top->rwflag = RWFLG_READ;;\n\tcase D__wOb:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_WRITE;;\n\tcase D__rwOb:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Ov:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rOv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ;\n\tcase D__wOv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_WRITE;\n\tcase D__rwOv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\t\tdisp_i->base = 0-1;\n\t\tdisp_i->index = 0-1;\n\t\tdisp_i->scale = 0;\n\t\tdisp_i->seg = I_DS;\n\t\tif (AddressSize==BIT64)\n\t\t{\n\t\t\tdisp_i->as_32 = BIT64;\n\t\t\tdisp_i->displacement_size = 8;\n\t\t\tdisp_i->addr_displacement = disp_i->Iq;\n\t\t\topimmedlength = 8;\n\t\t\tsprintf(op->string,\"%016I64X\",disp_i->addr_displacement);\n\t\t} \n\t\telse if (AddressSize==BIT32)\n\t\t{\n\t\t\tdisp_i->as_32 = BIT32;\n\t\t\tdisp_i->displacement_size = 4;\n\t\t\tdisp_i->addr_displacement = disp_i->Id;\n\t\t\topimmedlength = 4;\n\t\t\tsprintf(op->string,\"%08X\",disp_i->Id);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdisp_i->as_32 = BIT16;\n\t\t\tdisp_i->displacement_size = 2;\n\t\t\tdisp_i->addr_displacement = disp_i->Iw;\n\t\t\topimmedlength = 2;\n\t\t\tsprintf(op->string,\"%04X\",disp_i->Iw);\n\t\t}\n\n\t\tdisp_i->rm_addr = disp_i->addr_displacement;\n\n\t\top->mode = mode_address;\n\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\tbreak;\n\n\tcase D__Ap:\n\n\t\top->mode = mode_far;\n\t\tif (OperandSize==BIT32)\n\t\t{\n\t\t\top->farptr.offset = disp_i->Id;\n\t\t\top->farptr.segment = disp_i->Iw2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\top->farptr.offset = disp_i->Iw;\n\t\t\top->farptr.segment = disp_i->Iw2;\n\t\t}\n\n\t\top->opersize = SIZE_p;\n\t\topimmedlength = SIZE_p;\n\n\t\tif (OperandSize==BIT32)\n\t\t\tsprintf(op->string,\"%04X:%08X\",op->farptr.segment,op->farptr.offset);\n\t\telse\n\t\t\tsprintf(op->string,\"%04X:%04X\",op->farptr.segment,op->farptr.offset);\n\n\t\tbreak;\n\t\n\t// Direct address. The instruction has no ModR/M byte; the address of the operand is en-coded\n\t// in the instruction; and no base register, index register, or scaling factor can be\n\t// applied (for example, far JMP (EA)).\t\n\n\t// The reg field of the ModR/M byte selects a control register (for example,\n\t// MOV (0F20, 0F22)).\n\tcase D__Cd:\n\t\tif(disp_i->mode == BIT64)\n\t\t\top->opersize = SIZE_q;\n\t\telse\n\t\t\top->opersize = SIZE_d;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegCR[disp_i->nnn]);\n\t\tbreak;\n\n\t// The reg field of the ModR/M byte selects a debug register (for example,\n\t// MOV (0F21,0F23)).\n\tcase D__Dd:\n\t\tif(disp_i->mode == BIT64)\n\t\t\top->opersize = SIZE_q;\n\t\telse\n\t\t\top->opersize = SIZE_d;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegDR[disp_i->nnn]);\n\t\tbreak;\n\tcase D__Td:\n\t\tif(disp_i->mode == BIT64)\n\t\t\top->opersize = SIZE_q;\n\t\telse\n\t\t\top->opersize = SIZE_d;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegTR[disp_i->nnn]);\n\t\tbreak;\n\t// EFLAGS Register.\n\tcase D__Fv:\n\t\t\t\t\tbreak;\n\n\t// The reg field of the ModR/M byte selects a general register (for example, AX (000)).\t\n\tcase D__Gb:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\tcase D__rGb:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ;;\n\tcase D__wGb:if (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_WRITE;;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tif(disp_i->mode==BIT64 && disp_i->rex_prefix)\n\t\t\tstrcpy(op->string,RegByteFor64bit[disp_i->nnn]);\n\t\telse\n\t\t\tstrcpy(op->string,RegByte[disp_i->nnn]);\n\t\tbreak;\n\tcase D__Gw:\t\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rGw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ;\t\t\t\t\t\n\tcase D__wGw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_WRITE;;\n\t\t\t\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegWord[disp_i->nnn]);\n\t\tbreak;\n\n\tcase D__Gv:\t\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rGv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ;;\n\tcase D__wGv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_WRITE;;\n\tcase D__rwGv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\t\t\t\t\t\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tif (op->opersize ==SIZE_w) \n\t\t\tstrcpy(op->string,RegWord[disp_i->nnn]);\n\t\telse if(op->opersize == SIZE_d)\n\t\t\tstrcpy(op->string,RegDWord[disp_i->nnn]);\n\t\telse if(op->opersize == SIZE_q)\n\t\t\tstrcpy(op->string,RegQWord[disp_i->nnn]);\n\t\tbreak;\n\n\tcase D__Gd:\t\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\tcase D__rGd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ;\t\n\tcase D__wGd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_WRITE;;\n\tcase D__rwGd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegDWord[disp_i->nnn]);\n\t\tbreak;\n\tcase D__Gy:\t\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\tcase D__rGy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ;\t\n\tcase D__wGy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_WRITE;;\n\tcase D__rwGy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;;\n\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tif(op->opersize!=SIZE_d)\n\t\t{\n\t\t\tstrcpy(op->string,RegQWord[disp_i->nnn]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstrcpy(op->string,RegDWord[disp_i->nnn]);\n\t\t}\n\t\tbreak;\n\n\n\t// The reg field of the ModR/M byte selects a packed quadword MMX?technology reg-ister.\n\tcase D__Pd:\t\tif (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__rPd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_READ;;\n\tcase D__wPd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwPd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Pq:\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rPq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;;\n\tcase D__wPq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwPq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Ppi:\tif (op->opersize==0) op->opersize = SIZE_pi;\n\tcase D__rPpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_READ;;\n\tcase D__wPpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwPpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegMMXQWord[disp_i->nnn&7]);\n\t\tbreak;\n\n\tcase D__Uq:\t\tif(op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rUq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;\n\tcase D__wUq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;\n\tcase D__rwUq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\t\tif(disp_i->mod!=3)\n\t\t\treturn 0-1;\n\t\top->mode = mode_register;\n\t\top->opersize=SIZE_q;\n\t\top->reg.reg_index = disp_i->rm;\n\t\tstrcpy(op->string,RegXMMOWord[disp_i->rm]);\n\t\tbreak;\n\tcase D__Nq:\t\tif(op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rNq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;\n\tcase D__wNq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;\n\tcase D__rwNq:\tif(op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\t\tif(disp_i->mod!=3)\n\t\t{\n\t\t\treturn 0-1;\n\t\t}\n\t\top->mode = mode_register;\n\t\top->opersize=SIZE_q;\n\t\top->reg.reg_index = disp_i->rm;\n\t\tstrcpy(op->string,RegMMXQWord[disp_i->rm&7]);\n\n\t\tbreak;\n\t\t\t\t\t\n\t// The mod field of the ModR/M byte may refer only to a general register (for example,\n\t// MOV (0F20-0F24, 0F26)).\n\tcase D__Rd:\n\t\tif (disp_i->mod!=3)\n\t\t\treturn 0-1;\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_d;\n\t\top->reg.reg_index = disp_i->rm;\n\t\tstrcpy(op->string,RegDWord[disp_i->rm]);\n\t\tbreak;\n\tcase D__Ry:\n\t\tif (disp_i->mod!=3)\n\t\t\treturn 0-1;\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_y;\n\t\top->reg.reg_index = disp_i->rm;\n\t\tif(op->opersize==SIZE_d)\n\t\t\tstrcpy(op->string,RegDWord[disp_i->rm]);\n\t\telse\n\t\t\tstrcpy(op->string,RegQWord[disp_i->rm]);\n\t\tbreak;\n\t// The reg field of the ModR/M byte selects a segment register (for example, MOV\n\t//(8C,8E)).\n\tcase D__Sw:\n\t\top->mode = mode_segment;\n\t\top->opersize = SIZE_w;\n\t\top->seg.seg_index = (disp_i->nnn&7);\n\t\tstrcpy(op->string,SegReg[(disp_i->nnn&7)]);\n\t\tbreak;\n\n\t// The reg field of the ModR/M byte selects a test register (for example, MOV\n\t// (0F24,0F26)).\n\n\tcase D__NTA:\n\t\tbreak;\n\tcase D__T0:\n\tcase D__T1:\n\tcase D__T2:\n\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_d;\n\t\top->reg.reg_index = opdata - D__T0;\n\t\tsprintf(op->string,\"T%x\",opdata-D__T0);\n\t\tbreak;\n\n\t// The reg field of the ModR/M byte selects a packed SIMD floating-point register.\n\tcase D__Vq:\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rVq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;;\n\tcase D__wVq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Vdq:\tif (op->opersize==0) op->opersize = SIZE_dq;\n\tcase D__rVdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ;;\n\tcase D__wVdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Vps:\tif (op->opersize==0) op->opersize = SIZE_ps;\n\tcase D__rVps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ;;\n\tcase D__wVps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Vss:\tif (op->opersize==0) op->opersize = SIZE_ss;\n\tcase D__rVss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_READ;;\n\tcase D__wVss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Vsd:\tif (op->opersize==0) op->opersize = SIZE_sd;\n\tcase D__rVsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_READ;;\n\tcase D__wVsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Vpd:\tif (op->opersize==0) op->opersize = SIZE_pd;\n\tcase D__rVpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ;;\n\tcase D__wVpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegXMMOWord[disp_i->nnn]);\n\t\tbreak;\n\tcase D__Vy:\t\tif (op->opersize==0) op->opersize = SIZE_y;\n\tcase D__rVy:\tif (op->opersize==0) op->opersize = SIZE_y,op->rwflag=RWFLG_READ;;\n\tcase D__wVy:\tif (op->opersize==0) op->opersize = SIZE_y,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwVy:\tif (op->opersize==0) op->opersize = SIZE_y,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\t\tif(op->opersize!=SIZE_d)\n\t\t\top->opersize = SIZE_q;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->nnn;\n\t\tstrcpy(op->string,RegXMMOWord[disp_i->nnn]);\n\t\tbreak;\n\t// Memory addressed by the DS:SI register pair (for example, MOVS, CMPS, OUTS, or\n    // LODS).\n\tcase D__Xb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D_rXb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D_wXb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D__Xw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D_rXw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D_wXw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__Xv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D_rXv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D_wXv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D__Xd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D_rXd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D_wXd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__Xz:if (op->opersize==0) op->opersize = SIZE_z;\n\tcase D_rXz:if (op->opersize==0) op->opersize = SIZE_z;\n\tcase D_wXz:if (op->opersize==0) op->opersize = SIZE_z;\n\t\topimmedlength = 0;\n\t\top->mode=mode_address;\n\t\tdisp_i->seg=I_DS;\n\t\tdisp_i->addr_displacement=0;\n\t\tdisp_i->displacement_size=0;\n\t\tdisp_i->index=-1;\n\t\tdisp_i->base=6;\n\t\tdisp_i->scale=0;\n\t\tdisp_i->rm_addr=pDisCPU->gen_reg[disp_i->base].erx;\n\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\tbreak;\n\n\t// Memory addressed by the ES:DI register pair (for example, MOVS, CMPS, INS,\n\t//STOS, or SCAS).\n\tcase D__Yb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D__rYb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D__wYb:if (op->opersize==0) op->opersize = SIZE_b;\n\tcase D__Yw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__rYw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__wYw:if (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__Yv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D__rYv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D__wYv:if (op->opersize==0) op->opersize = SIZE_v;\n\tcase D__Yd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__rYd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__wYd:if (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__Yz:if (op->opersize==0) op->opersize = SIZE_z;\n\tcase D__rYz:if (op->opersize==0) op->opersize = SIZE_z;\n\tcase D__wYz:if (op->opersize==0) op->opersize = SIZE_z;\n\t\topimmedlength = 0;\n\t\top->mode=mode_address;\n\t\tdisp_i->seg=I_ES;\n\t\tdisp_i->addr_displacement=0;\n\t\tdisp_i->displacement_size=0;\n\t\tdisp_i->index=-1;\n\t\tdisp_i->base=7;\n\t\tdisp_i->scale=0;\n\t\tdisp_i->rm_addr=pDisCPU->gen_reg[disp_i->base].erx;\n\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\tbreak;\n\t\n\t// When an operand is a specific register encoded in the opcode, the register is identified by its\n\t// name (for example, AX, CL, or ESI). The name of the register indicates whether the register is\n\t// 32, 16, or 8 bits wide. A register identifier of the form eXX is used when the width of the register\n\t// depends on the operand-size attribute. For example, eAX indicates that the AX register is used\n\t// when the operand-size attribute is 16, and the EAX register is used when the operand-size at-tribute\n\t// is 32.\t\n\t\n\tcase D__AL:\n\tcase D__CL:\n\tcase D__DL:\n\tcase D__BL:\n\tcase D__AH:\n\tcase D__CH:\n\tcase D__DH:\n\tcase D__BH:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_b;\n\t\top->reg.reg_index = opdata - D__AL;\n\t\tstrcpy(op->string,RegByte[opdata-D__AL]);\n\t\tbreak;\n\tcase D__AL_r8L:\n\tcase D__CL_r9L:\n\tcase D__DL_r10L:\n\tcase D__BL_r11L:\n\tcase D__AH_r12L:\n\tcase D__CH_r13L:\n\tcase D__DH_r14L:\n\tcase D__BH_r15L:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_b;\n\t\top->reg.reg_index = (opdata - D__AL_r8L)|((disp_i->rex_prefix & 1) << 3) ;\n\t\tif(disp_i->mode==BIT64)\n\t\t\tstrcpy(op->string,RegByteFor64bit[op->reg.reg_index]);\n\t\telse\n\t\t\tstrcpy(op->string,RegByte[op->reg.reg_index]);\n\t\tbreak;\n\tcase D__AX:\n\tcase D__CX:\n\tcase D__DX:\n\tcase D__BX:\n\tcase D__SP:\n\tcase D__BP:\n\tcase D__SI:\n\tcase D__DI:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_w;\n\t\top->reg.reg_index = opdata - D__AX;\n\t\tstrcpy(op->string,RegWord[op->reg.reg_index]);\n\t\tbreak;\n\n\tcase D__eAX:\n\tcase D__eCX:\n\tcase D__eDX:\n\tcase D__eBX:\n\tcase D__eSP:\n\tcase D__eBP:\n\tcase D__eSI:\n\tcase D__eDI:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_v;\n\t\top->reg.reg_index = opdata - D__eAX;\n\n\t\tif (op->opersize==SIZE_w) \n\t\t\tstrcpy(op->string,RegWord[opdata-D__eAX]);\n\t\telse \n\t\t\tstrcpy(op->string,RegDWord[opdata-D__eAX]);\n\n\t\tbreak;\n\tcase D__rAX_r8:\n\tcase D__rCX_r9:\n\tcase D__rDX_r10:\n\tcase D__rBX_r11:\n\tcase D__rSP_r12:\n\tcase D__rBP_r13:\n\tcase D__rSI_r14:\n\tcase D__rDI_r15:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_v;\n\t\top->reg.reg_index = opdata - D__rAX_r8 | ((disp_i->rex_prefix & 1) << 3);\n\t\tif (op->opersize==SIZE_w) \n\t\t\tstrcpy(op->string,RegWord[op->reg.reg_index]);\n\t\telse if (op->opersize==SIZE_d) \n\t\t\tstrcpy(op->string,RegDWord[op->reg.reg_index]);\n\t\telse if (op->opersize == SIZE_q)\n\t\t\tstrcpy(op->string,RegQWord[op->reg.reg_index]);\n\t\tbreak;\n\tcase D__rAX:\n\tcase D__rCX:\n\tcase D__rDX:\n\tcase D__rBX:\n\tcase D__rSP:\n\tcase D__rBP:\n\tcase D__rSI:\n\tcase D__rDI:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_v;\n\t\top->reg.reg_index = opdata - D__rAX;\n\n\t\tif (op->opersize==SIZE_w) \n\t\t\tstrcpy(op->string,RegWord[opdata-D__rAX]);\n\t\telse if(op->opersize == SIZE_d) \n\t\t\tstrcpy(op->string,RegDWord[opdata-D__rAX]);\n\t\telse if(op->opersize == SIZE_q)\n\t\t\tstrcpy(op->string,RegQWord[opdata-D__rAX]);\n\t\tbreak;\n\tcase D__EAX:\n\tcase D__ECX:\n\tcase D__EDX:\n\tcase D__EBX:\n\tcase D__ESP:\n\tcase D__EBP:\n\tcase D__ESI:\n\tcase D__EDI:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_d;\n\t\top->reg.reg_index = opdata - D__EAX;\n\t\tstrcpy(op->string,RegDWord[opdata-D__EAX]);\n\t\t\t\t\tbreak;\n\tcase D__RAX_EAX_R8_R8D:\t\n\tcase D__RCX_ECX_R9_R9D:\t\t\n\tcase D__RDX_EDX_R10_R10D:\t\n\tcase D__RBX_EBX_R11_R11D:\t\n\tcase D__RSP_ESP_R12_R12D:\n\tcase D__RBP_EBP_R13_R13D:\n\tcase D__RSI_ESI_R14_R14D:\n\tcase D__RDI_EDI_R15_R15D:\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = (opdata - D__RAX_EAX_R8_R8D) | ((disp_i->rex_prefix & 1) << 3)  ;\n\t\tif(disp_i->os_32==BIT64)\n\t\t{\n\t\t\top->opersize=SIZE_q;\n\t\t\tstrcpy(op->string,RegQWord[op->reg.reg_index]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\top->opersize=SIZE_d;\n\t\t\tstrcpy(op->string,RegDWord[op->reg.reg_index]);\n\t\t}\n\t\tbreak;\n\tcase D__ES:\n\tcase D__CS:\n\tcase D__SS:\n\tcase D__DS:\n\tcase D__FS:\n\tcase D__GS:\n\t\top->mode = mode_segment;\n\t\top->opersize = SIZE_w;\n\t\top->reg.reg_index = opdata - D__ES;\n\t\tstrcpy(op->string,SegReg[opdata-D__ES]);\n\t\tbreak;\n\n\tcase D__st:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_t;\n\t\top->reg.reg_index = 0;\n\t\tstrcpy(op->string,\"ST\");\n\t\tbreak;\n\tcase D__st0:\n\tcase D__st1:\n\tcase D__st2:\n\tcase D__st3:\n\tcase D__st4:\n\tcase D__st5:\n\tcase D__st6:\n\tcase D__st7:\n\t\top->mode = mode_register;\n\t\top->opersize = SIZE_t;\n\t\top->reg.reg_index = opdata - D__st0;\n\t\tsprintf(op->string,\"ST(%x)\",opdata-D__st0);\n\t\tbreak;\n\n\n\t// A ModR/M byte follows the opcode and specifies the operand. The operand is either a\n\t// general-purpose register or a memory address. If it is a memory address, the address is\n\t// computed from a segment register and any of the following values: a base register, an\n\t// index register, a scaling factor, a displacement.\n\t\t\n\tcase D__Eb:\t\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\t\n\tcase D__rEb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ;\t\t\t\n\tcase D__wEb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_WRITE;\t\t\t\n\tcase D__rwEb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_WRITE;\t\t\t\n\n\tcase D__Ew:\t\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\t\n\tcase D__rEw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ;\t\t\t\t\n\tcase D__wEw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_WRITE;\t\t\t\n\tcase D__rwEw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_WRITE|RWFLG_WRITE;\t\t\n\n\tcase D__Ev:\t\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\n\tcase D__rEv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ;\t\t\t\t\n\tcase D__wEv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_WRITE;\t\t\t\t\n\tcase D__rwEv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_WRITE|RWFLG_WRITE;\t\t\t\n\n\tcase D__Ed:\t\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\t\t\n\tcase D__rEd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ;\n\tcase D__wEd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_WRITE;\n\tcase D__rwEd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Ep:\t\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rEp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ;\n\tcase D__wEp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_WRITE;\n\tcase D__rwEp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\tif (opdata==D__Ep||opdata==D__rEp)\n\t\t\t{\n\t\t\t\treturn 0-1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\top->mode = mode_register;\n\t\t\t}\n\t\t\tk = disp_i->rm;\n\t\t\top->reg.reg_index = (int)k; \n\t\t\tif (op->opersize==SIZE_b) \n\t\t\t{\n\t\t\t\tif(disp_i->mode==BIT64&&disp_i->rex_prefix)\n\t\t\t\t\tstrcpy(op->string,RegByteFor64bit[k]);\n\t\t\t\telse\n\t\t\t\t\tstrcpy(op->string,RegByte[k]);\n\t\t\t}\n\t\t\telse if (op->opersize==SIZE_w) \n\t\t\t\tstrcpy(op->string,RegWord[k]);\n\t\t\telse if (op->opersize==SIZE_d) \n\t\t\t\tstrcpy(op->string,RegDWord[k]);\n\t\t\telse if (op->opersize==SIZE_q) \n\t\t\t\tstrcpy(op->string,RegQWord[k]);\n\t\t}\n\t\telse \n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\t\tbreak;\n\n\tcase D__Ey:\t\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rEy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ;\n\tcase D__wEy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_WRITE;\n\tcase D__rwEy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\top->mode = mode_register;\n\t\t\tk = disp_i->rm;\n\t\t\top->reg.reg_index = (int)k; \n\t\t\t//if(disp_i->mode==BIT64)\n\t\t\t//\top->opersize=SIZE_q;\n\t\t\tif (op->opersize==SIZE_d) \n\t\t\t\tstrcpy(op->string,RegDWord[k]);\n\t\t\telse \n\t\t\t\t//if (op->opersize==SIZE_q) \n\t\t\t\tstrcpy(op->string,RegQWord[k]);\n\t\t}\n\t\telse \n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\t\tbreak;\n\n\t// The ModR/M byte may refer only to memory (for example, BOUND, LES, LDS, LSS,\n\t// LFS, LGS, CMPXCHG8B).\n\tcase D__M:\t\tif (op->opersize==0)op->opersize = 0-1,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rM:\t\tif (op->opersize==0)op->opersize = 0-1,op->rwflag = RWFLG_READ;\n\tcase D__wM:\t\tif (op->opersize==0)op->opersize = 0-1,op->rwflag = RWFLG_WRITE;\n\tcase D__rwM:\tif (op->opersize==0)op->opersize = 0-1,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Ma:\t\tif (op->opersize==0)op->opersize = SIZE_a,op->rwflag = RWFLG_READ|RWFLG_WRITE; //read|write\n\tcase D__rMa:\tif (op->opersize==0)op->opersize = SIZE_a,op->rwflag = RWFLG_READ;\n\tcase D__wMa:\tif (op->opersize==0)op->opersize = SIZE_a,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMa:\tif (op->opersize==0)op->opersize = SIZE_a,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\t\n\tcase D__Mb:\t\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ;\n\tcase D__wMb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMb:\tif (op->opersize==0)op->opersize = SIZE_b,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mp:\t\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ;\n\tcase D__wMp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMp:\tif (op->opersize==0)op->opersize = SIZE_p,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Ms:\t\tif (op->opersize==0)op->opersize = SIZE_s,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMs:\tif (op->opersize==0)op->opersize = SIZE_s,op->rwflag = RWFLG_READ;\t\n\tcase D__wMs:\tif (op->opersize==0)op->opersize = SIZE_s,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMs:\tif (op->opersize==0)op->opersize = SIZE_s,op->rwflag = RWFLG_WRITE;\n\n\tcase D__Mq:\t\tif (op->opersize==0)op->opersize = SIZE_q,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMq:\tif (op->opersize==0)op->opersize = SIZE_q,op->rwflag = RWFLG_READ;\n\tcase D__wMq:\tif (op->opersize==0)op->opersize = SIZE_q,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMq:\tif (op->opersize==0)op->opersize = SIZE_q,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mw:\t\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\n\tcase D__rMw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ;\t\t\n\tcase D__wMw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_WRITE;\t\t\n\tcase D__rwMw:\tif (op->opersize==0)op->opersize = SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\n\n\tcase D__Md:\t\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ;\n\tcase D__wMd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMd:\tif (op->opersize==0)op->opersize = SIZE_d,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__My:\t\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ;\n\tcase D__wMy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMy:\tif (op->opersize==0)op->opersize = SIZE_y,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mv:\t\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ;\n\tcase D__wMv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMv:\tif (op->opersize==0)op->opersize = SIZE_v,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mdq:\tif (op->opersize==0) op->opersize = SIZE_dq;\n\tcase D__rMdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ;\n\tcase D__wMdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_WRITE;\n\tcase D__rwMdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ;\n\tcase D__wMpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_WRITE;\n\tcase D__rwMpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Mps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ;\n\tcase D__wMps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_WRITE;\n\tcase D__rwMps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\treturn 0-1;\n\t\t}\n\t\top->mode = mode_address;\n\t\tDispTranDis(&op->addr,disp_i,eip);\t\t\t\t\t\n\t\tbreak;\n\tcase D__MqMdq:\tif (op->opersize==0)op->opersize = (disp_i->rex_prefix &0x8)?SIZE_dq:SIZE_q,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\tcase D__rMqMdq:\tif (op->opersize==0)op->opersize = (disp_i->rex_prefix &0x8)?SIZE_dq:SIZE_q,op->rwflag = RWFLG_READ;\n\tcase D__wMqMdq:\tif (op->opersize==0)op->opersize = (disp_i->rex_prefix &0x8)?SIZE_dq:SIZE_q,op->rwflag = RWFLG_WRITE;\n\tcase D__rwMqMdq:\tif (op->opersize==0)op->opersize = (disp_i->rex_prefix &0x8)?SIZE_dq:SIZE_q,op->rwflag = RWFLG_READ|RWFLG_WRITE;\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\treturn 0-1;\n\t\t}\n\t\top->mode = mode_address;\n\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\tbreak;\n\t//case D__MwRv:\tif (op->opersize==0)op->opersize = (disp_i->mod==3)?SIZE_v:SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\t\n\t//case D__rMwRv:\tif (op->opersize==0)op->opersize = (disp_i->mod==3)?SIZE_v:SIZE_w,op->rwflag = RWFLG_READ;\t\t\n\tcase D__wMwRv:\tif (op->opersize==0)op->opersize = (disp_i->mod==3)?SIZE_v:SIZE_w,op->rwflag = RWFLG_WRITE;\t\t\n\t//case D__rwMwRv:\tif (op->opersize==0)op->opersize = (disp_i->mod==3)?SIZE_v:SIZE_w,op->rwflag = RWFLG_READ|RWFLG_WRITE;\t\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\top->mode = mode_register;\n\t\t\tk = disp_i->rm;\n\t\t\top->reg.reg_index = (int)k; \n\t\t\tif (op->opersize==SIZE_w) \n\t\t\t\tstrcpy(op->string,RegWord[k]);\n\t\t\telse if (op->opersize==SIZE_d) \n\t\t\t\tstrcpy(op->string,RegDWord[k]);\n\t\t\telse if (op->opersize==SIZE_q) \n\t\t\t\tstrcpy(op->string,RegQWord[k]);\n\t\t}\n\t\telse \n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\t\tbreak;\n\n\t// A ModR/M byte follows the opcode and specifies the operand. The operand is either\n\t// an MMX?technology register or a memory address. If it is a memory address, the ad-dress\n\t// is computed from a segment register and any of the following values: a base reg-ister,\n\t// an index register, a scaling factor, and a displacement.\n\tcase D__Qd:\t\tif (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__rQd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_READ;;\n\tcase D__wQd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwQd:\tif (op->opersize==0) op->opersize = SIZE_d,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Qq:\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rQq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;;\n\tcase D__wQq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwQq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Qpi:\tif (op->opersize==0) op->opersize = SIZE_pi;\n\tcase D__rQpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_READ;;\n\tcase D__wQpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwQpi:\tif (op->opersize==0) op->opersize = SIZE_pi,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\top->mode = mode_register;\n\t\t\top->reg.reg_index = disp_i->rm;\n\t\t\tstrcpy(op->string,RegMMXQWord[(disp_i->rm)&0x7]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\t\t\t\t\t\n\t\tbreak;\n\tcase D__Ups:\tif (op->opersize==0) op->opersize = SIZE_ps;\n\tcase D__rUps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ;;\n\tcase D__wUps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwUps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Upd:\tif (op->opersize==0) op->opersize = SIZE_pd;\n\tcase D__rUpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ;;\n\tcase D__wUpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwUpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Udq:\tif (op->opersize==0) op->opersize = SIZE_dq;\n\tcase D__rUdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ;;\n\tcase D__wUdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwUdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\t\tif (disp_i->mod!=3)\n\t\t\treturn 0-1;\n\t\top->mode = mode_register;\n\t\top->reg.reg_index = disp_i->rm;\n\t\tsprintf(op->string,RegXMMOWord[disp_i->rm]);\n\t\t\n\t\tbreak;\n\t// An ModR/M byte follows the opcode and specifies the operand. The operand is either\n\t// a SIMD floating-point register or a memory address. If it is a memory address, the ad-dress\n\t// is computed from a segment register and any of the following values: a base reg-ister,\n\t// an index register, a scaling factor, and a displacement\n\n\tcase D__Wq:\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\tcase D__rWq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ;\n\tcase D__wWq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_WRITE;\n\tcase D__rwWq:\tif (op->opersize==0) op->opersize = SIZE_q,op->rwflag=RWFLG_READ|RWFLG_WRITE;\n\n\tcase D__Wdq:\tif (op->opersize==0) op->opersize = SIZE_dq;\n\tcase D__rWdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ;;\n\tcase D__wWdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwWdq:\tif (op->opersize==0) op->opersize = SIZE_dq,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Wps:\tif (op->opersize==0) op->opersize = SIZE_ps;\n\tcase D__rWps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ;;\n\tcase D__wWps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwWps:\tif (op->opersize==0) op->opersize = SIZE_ps,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Wss:\tif (op->opersize==0) op->opersize = SIZE_ss;\n\tcase D__rWss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_READ;;\n\tcase D__wWss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwWss:\tif (op->opersize==0) op->opersize = SIZE_ss,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Wpd:\tif (op->opersize==0) op->opersize = SIZE_pd;\n\tcase D__rWpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ;;\n\tcase D__wWpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwWpd:\tif (op->opersize==0) op->opersize = SIZE_pd,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\n\tcase D__Wsd:\tif (op->opersize==0) op->opersize = SIZE_sd;\n\tcase D__rWsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_READ;;\n\tcase D__wWsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_WRITE;;\n\tcase D__rwWsd:\tif (op->opersize==0) op->opersize = SIZE_sd,op->rwflag=RWFLG_READ|RWFLG_WRITE;;\n\t\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\top->mode = mode_register;\n\t\t\top->reg.reg_index = disp_i->rm;\n\t\t\tstrcpy(op->string,RegXMMOWord[disp_i->rm]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\n\t\tbreak;\n\n\tcase D__word_int:\n\t\tif (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__dword_int:\n\t\tif (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__qword_int:\n\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\n\tcase D__single_real:\n\t\tif (op->opersize==0) op->opersize = SIZE_d;\n\tcase D__double_real:\n\t\tif (op->opersize==0) op->opersize = SIZE_q;\n\tcase D__extend_real:\n\t\tif (op->opersize==0) op->opersize = SIZE_t;\n\tcase D__packed_BCD:\n\t\tif (op->opersize==0) op->opersize = SIZE_t;\n\n\tcase D__2b:\n\t\tif (op->opersize==0) op->opersize = SIZE_w;\n\tcase D__14_28b:\n\t\tif (op->opersize==0) op->opersize = SIZE_t;\n\tcase D__98_108b:\n\t\tif (op->opersize==0) op->opersize = SIZE_t;\n\n\t\tif (disp_i->mod==3)\n\t\t{\n\t\t\treturn 0-1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\top->mode = mode_address;\n\t\t\tDispTranDis(&op->addr,disp_i,eip);\n\t\t}\n\n\t\tbreak;\n\n\tdefault:\n\t\topimmedlength = 0;\n\t\top->mode = mode_invalid;\n\t\top->opersize = 0;\n\n\t}\n\n\treturn opimmedlength;\n}\n\nint ProcessOpdata_immde(int opdata,BYTE *inbuff,DISP_INSTRUCTION_T *disp_i)\n{\n\tint opimmedlength;\n\n\tint SIZE_c,SIZE_v,SIZE_p,SIZE_z;\n\tswitch(disp_i->os_32)\n\t{\n\tcase BIT32:\n\t\tSIZE_v = 4;\n\t\tSIZE_c = 2;\n\t\tSIZE_p = 6;\n\t\tSIZE_z = 4;\n\t\tbreak;\n\tcase BIT16:\n\t\tSIZE_v = 2;\n\t\tSIZE_c = 1;\n\t\tSIZE_p = 4;\n\t\tSIZE_z = 2;\n\t\tbreak;\n\tcase BIT64:\n\t\tSIZE_v = 8;\n\t\tSIZE_c = 2;\n\t\tSIZE_p = 10;\n\t\tSIZE_z = 4;\n\t\tbreak;\n\t}\n\n\topimmedlength = 0;\n\t\n\tswitch(opdata)\n\t{\n\tcase D__1:\n\t\tdisp_i->Ib = 1;\n\t\tbreak;\n\n\t// Immediate data. The operand value is encoded in subsequent bytes of the instruction.\n\t// The instruction contains a relative offset to be added to the instruction pointer register\n\t// (for example, JMP (0E9), LOOP).\n\tcase D__Jb:\n\tcase D__Ib:\n\tcase D__sIb:\n\t\topimmedlength = SIZE_b;\n\t\tdisp_i->Ib = GetValue_b(inbuff);\n\t\tbreak;\n\tcase D__Ib2:\n\t\topimmedlength = SIZE_b;\n\t\tdisp_i->Ib2 = GetValue_b(inbuff);\n\n\t\tbreak;\n\tcase D__Iw:\n\t\topimmedlength = SIZE_w;\n\t\tdisp_i->Iw = GetValue_w(inbuff);\n\t\tbreak;\n\tcase D__Iv:\n\t\n\t\topimmedlength = SIZE_v;\n\n\t\tswitch(SIZE_v)\n\t\t{\n\t\tcase SIZE_w:\n\t\t\tdisp_i->Iw = GetValue_w(inbuff);\n\t\t\tbreak;\n\t\tcase SIZE_d:\n\t\t\tdisp_i->Id = GetValue_d(inbuff);\n\t\t\tbreak;\n\t\tcase SIZE_q:\n\t\t\tdisp_i->Iq = GetValue_q(inbuff);\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\n\tcase D__Jz:\n\tcase D__Iz:\n\t\topimmedlength = SIZE_z;\n\n\t\tif (SIZE_z==SIZE_w)\n\t\t{\n\t\t\tdisp_i->Iw = GetValue_w(inbuff);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdisp_i->Id = GetValue_d(inbuff);\n\t\t}\n\n\t\tbreak;\n\n\t// The instruction has no ModR/M byte; the offset of the operand is coded as a word or\n\t// double word (depending on address size attribute) in the instruction. No base register,\n\t// index register, or scaling factor can be applied (for example, MOV (A0-A3)).\n\tcase D__Ob:\n\tcase D__rOb:\n\tcase D__wOb:\n\tcase D__rwOb:\n\n\tcase D__Ov:\t\t\n\tcase D__rOv:\t\t\n\tcase D__wOv:\t\t\n\tcase D__rwOv:\t\t\n\t\tif (disp_i->as_32==BIT64)\n\t\t{\n\t\t\topimmedlength = 8;\n\t\t\tdisp_i->Iq = GetValue_q(inbuff);\n\t\t} \n\t\telse if (disp_i->as_32==BIT32)\n\t\t{\n\t\t\topimmedlength = 4;\n\t\t\tdisp_i->Id = GetValue_d(inbuff);\n\t\t}\n\t\telse\n\t\t{\n\t\t\topimmedlength = 2;\n\t\t\tdisp_i->Iw = GetValue_w(inbuff);\n\t\t}\n\t\tbreak;\n\n\tcase D__Ap:\n\t\topimmedlength = SIZE_v+2;\n\n\t\tif (SIZE_v==SIZE_w)\n\t\t{\n\t\t\tdisp_i->Iw = GetValue_w(inbuff);\n\t\t\tdisp_i->Iw2 = GetValue_w(inbuff+2);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdisp_i->Id = GetValue_d(inbuff);\n\t\t\tdisp_i->Iw2 = GetValue_w(inbuff+4);\n\t\t}\n\t\t\n\t\tbreak;\n\t}\n\n\treturn opimmedlength;\n}\n\nint PutStr(char *buff,char *s)\n{\n\tint i;\n\tfor (i=0;s[i]!='\\0';i++) \n\t\tbuff[i] = s[i];\n\treturn i;\n}\nint PrintPasm(INSTRUCTION_INFORMATION *pInstInfo,char *pasm,int u_x1,int u_x2)\n{\n\tint i,length;\n\tchar buff[0x20];\n\n\tchar **preg;\n\n\tfor (i=0;i<=0x50;i++)\n\t\tpasm[i]=' ';\n\n\tpasm[i]='\\0';\n\n\tlength = u_x1;\n\n\tif (pInstInfo->Lock!=-1)\n\t{\n\t\ti = PutStr(pasm+length,pInstInfo->LockName);\n\t\tif (i) length += i+1;\n\t}\n\n\tif (pInstInfo->Repeat!=-1)\n\t{\n\t\ti = PutStr(pasm+length,pInstInfo->RepeatName);\n\t\tif (i) length += i+1;\n\t}\n\n\tlength += PutStr(pasm+length,pInstInfo->Name);\n\n\tOPERAND_ITEM *op = \tpInstInfo->op;\n\tbool brsp=false;\n\tfor(int ii=0;ii<3;ii++)\n\t{\n\t\tif(op[ii].mode==mode_register && (op[ii].opersize==4 || op[ii].opersize==8))\n\t\t{\n\t\t\tif(op[ii].reg.reg_index==4)\n\t\t\t{\n\t\t\t\tbrsp=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tfor (i=0;i<3&&op->mode!=mode_invalid;i++,op++)\n\t{\n\t\tif (i==0)\n\t\t{\n\t\t\tif (length<u_x2)\n\t\t\t\tlength = u_x2;\n\t\t\telse length++;\n\t\t}\n\n\t\tif (i>0)\n\t\t\tlength +=PutStr(pasm+length,\",\");\n\n\t\tif (op->mode==mode_address)\n\t\t{\n\t\t\tif (pInstInfo->xxxxptr!=-1&&pInstInfo->xxxxptr!=0)\n\t\t\t{\n\t\t\t\tlength += PutStr(pasm+length,xxxxptr[pInstInfo->xxxxptr]);\n\t\t\t\tlength += PutStr(pasm+length,\" PTR \");\n\t\t\t}\n\n\t\t\tif (pInstInfo->SegmentPrefix!=-1)\n\t\t\t{\n\t\t\t\tlength += PutStr(pasm+length,SegReg[pInstInfo->SegmentPrefix]);\n\t\t\t\tlength += PutStr(pasm+length,\":\");\n\t\t\t}\n\n\t\t\tif (op->addr.address_size==BIT32) \n\t\t\t\tpreg = RegDWord;\n\t\t\telse if(op->addr.address_size==BIT64)\n\t\t\t\tpreg = RegQWord;\n\t\t\telse \n\t\t\t\tpreg = RegWord;\n\t\t\t\n\n\t\t\t//if(!(op->addr.base==-1 && op->addr.index==-1 && brsp))\n\t\t\t\tlength += PutStr(pasm+length,\"[\");\n\t\t\tif (op->addr.base!=-1)\n\t\t\t\tlength += PutStr(pasm+length,preg[op->addr.base]);\n\n\t\t\tif (op->addr.index!=-1)\n\t\t\t{\n\t\t\t\tif (op->addr.base!=-1) length += PutStr(pasm+length,\"+\");\n\t\t\t\tlength += PutStr(pasm+length,preg[op->addr.index]);\n\t\t\t\tif (op->addr.scale>0)\n\t\t\t\t{\n\t\t\t\t\tsprintf(buff,\"*%1x\",1<<op->addr.scale);\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (op->addr.displacement_size>=1&&(op->addr.base!=-1||op->addr.index!=-1))\n\t\t\t\tif(!(op->addr.displacement_size==1 && op->addr.displacement==0))\n\t\t\t\t\tlength += PutStr(pasm+length,\"+\");\n\n\t\t\tif (op->addr.displacement_size==1)\n\t\t\t{\n\t\t\t\t \n\t\t\t\tif(op->addr.displacement)\n\t\t\t\t\tif (op->addr.displacement>=sign_BYTE)\n\t\t\t\t\t{\n\t\t\t\t\t\tlength--;\n\t\t\t\t\t\tsprintf(buff,\"-%X\",(BYTE)(0-op->addr.displacement));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tsprintf(buff,\"%X\",(BYTE)op->addr.displacement);\n\t\t\t\telse\n\t\t\t\t\tbuff[0]=0;\n\n\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t}\n\t\t\telse if (op->addr.displacement_size==2)\n\t\t\t{\n\t\t\t\tsprintf(buff,\"%04X\",op->addr.displacement);\n\n\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t}\n\t\t\telse if (op->addr.displacement_size==4)\n\t\t\t{\n\t\t\t\tsprintf(buff,\"%08X\",(DWORD)op->addr.displacement);\n\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t}\n\t\t\telse if (op->addr.displacement_size==8)\n\t\t\t{\n\t\t\t\tsprintf(buff,\"%08X\",(DWORD)op->addr.displacement);\n\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t//sprintf(buff,\"%llX\",(QWORD)op->addr.displacement);\n\t\t\t\t//length += PutStr(pasm+length,buff);\n\t\t\t}\n\n\t\t\tlength += PutStr(pasm+length,\"]\");\n\t\t}\n\t\telse length +=PutStr(pasm+length,op->string);\n\t}\n\n\tpasm[length] = '\\0';\n\tfor(int m=0;m<length;m++)\n\t\tif(pasm[m]>='A' && pasm[m]<='Z')\n\t\t\tpasm[m]+=0x20;\n\n\treturn length;\n}\nint PrintPasmForIDA(INSTRUCTION_INFORMATION *pInstInfo,char *pasm,int u_x1,int u_x2)\n{\n\tint i,length;\n\tchar buff[0x20];\n\n\tchar **preg;\n\n\tfor (i=0;i<=0x50;i++)\n\t\tpasm[i]=' ';\n\n\tpasm[i]='\\0';\n\n\tlength = u_x1;\n\n\tif (pInstInfo->Lock!=-1)\n\t{\n\t\ti = PutStr(pasm+length,pInstInfo->LockName);\n\t\tif (i) length += i+1;\n\t}\n\n\tif (pInstInfo->Repeat!=-1)\n\t{\n\t\ti = PutStr(pasm+length,pInstInfo->RepeatName);\n\t\tif (i) length += i+1;\n\t}\n\n\tlength += PutStr(pasm+length,pInstInfo->Name);\n\t\n\tOPERAND_ITEM *op = \tpInstInfo->op;\n\tbool brsp=false;\n\tfor(int ii=0;ii<3;ii++)\n\t{\n\t\tif(op[ii].mode==mode_register && (op[ii].opersize==4 || op[ii].opersize==8))\n\t\t{\n\t\t\tif(op[ii].reg.reg_index==4)\n\t\t\t{\n\t\t\t\tbrsp=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tfor (i=0;i<3&&op->mode!=mode_invalid;i++,op++)\n\t{\n\t\tif (i==0)\n\t\t{\n\t\t\tif (length<u_x2)\n\t\t\t\tlength = u_x2;\n\t\t\telse length++;\n\t\t}\n\t\n\t\tif (i>0)\n\t\t\tlength +=PutStr(pasm+length,\", \");\n\n\t\tif (op->mode==mode_address)\n\t\t{\n\t\t\tif (pInstInfo->xxxxptr!=-1&&pInstInfo->xxxxptr!=0)\n\t\t\t{\n\t\t\t\tlength += PutStr(pasm+length,xxxxptr[pInstInfo->xxxxptr]);\n\t\t\t\tlength += PutStr(pasm+length,\" PTR \");\n\t\t\t}\n\t\t\n\t\t\tif (pInstInfo->SegmentPrefix!=-1)\n\t\t\t{\n\t\t\t\tlength += PutStr(pasm+length,SegReg[pInstInfo->SegmentPrefix]);\n\t\t\t\tlength += PutStr(pasm+length,\":\");\n\t\t\t}\n\t\t\t\n\t\t\tif (op->addr.address_size==BIT32) \n\t\t\t\tpreg = RegDWord;\n\t\t\telse if(op->addr.address_size==BIT64)\n\t\t\t\tpreg = RegQWord;\n\t\t\telse \n\t\t\t\tpreg = RegWord;\n\t\t\t//if(!brsp && op->addr.base==-1 && op->addr.displacement_size)\n\t\t\tif(op->addr.base==-1 && op->addr.displacement_size)\n\t\t\t{\n\t\t\t\tif (op->addr.displacement_size==1)\n\t\t\t\t{\n\t\t\t\t\tif (op->addr.displacement>=sign_BYTE) \n\t\t\t\t\t\tsprintf(buff,\"-%X\",(BYTE)(0-op->addr.displacement));\n\t\t\t\t\telse \n\t\t\t\t\t\tsprintf(buff,\"+%X\",(BYTE)op->addr.displacement);\n\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\telse if (op->addr.displacement_size==2)\n\t\t\t\t{\n\t\t\t\t\tsprintf(buff,\"%04X\",op->addr.displacement);\n\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\telse if (op->addr.displacement_size==4)\n\t\t\t\t{\n\t\t\t\t\tif(op->addr.address_size==BIT64)\n\t\t\t\t\t{\n\t\t\t\t\t\tsprintf(buff,\"0%I64X\",(QWORD)op->addr.displacement);\n\t\t\t\t\t\tif(buff[1]>='A' && buff[1]<='F')\n\t\t\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tlength += PutStr(pasm+length,buff+1);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tsprintf(buff,\"0%X\",(DWORD)op->addr.displacement);\n\t\t\t\t\t\tif(buff[1]>='A' && buff[1]<='F')\n\t\t\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tlength += PutStr(pasm+length,buff+1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if(op->addr.displacement_size==8)\n\t\t\t\t{\n\t\t\t\t\tsprintf(buff,\"0%llX\",(QWORD)op->addr.displacement);\n\t\t\t\t\tif(buff[1]>='A' && buff[1]<='F')\n\t\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t\telse\n\t\t\t\t\t\tlength += PutStr(pasm+length,buff+1);\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tif(op->addr.index!=-1)\n\t\t\t\t{\n\t\t\t\t\tlength += PutStr(pasm+length,\"[\");\n\t\t\t\t\t\n\t\t\t\t\tif (op->addr.base!=-1) length += PutStr(pasm+length,\"+\");\n\t\t\t\t\tlength += PutStr(pasm+length,preg[op->addr.index]);\n\t\t\t\t\tif (op->addr.scale>0)\n\t\t\t\t\t{\n\t\t\t\t\t\tsprintf(buff,\"*%1x\",1<<op->addr.scale);\n\t\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tlength += PutStr(pasm+length,\"]\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(!(op->addr.base==-1 && op->addr.index==-1 && brsp))\n\t\t\t\t\tlength += PutStr(pasm+length,\"[\");\n\t\t\t\tif (op->addr.base!=-1)\n\t\t\t\t\tlength += PutStr(pasm+length,preg[op->addr.base]);\n\n\t\t\t\tif (op->addr.index!=-1)\n\t\t\t\t{\n\t\t\t\t\tif (op->addr.base!=-1) length += PutStr(pasm+length,\"+\");\n\t\t\t\t\tlength += PutStr(pasm+length,preg[op->addr.index]);\n\t\t\t\t\tif (op->addr.scale>0)\n\t\t\t\t\t{\n\t\t\t\t\t\tsprintf(buff,\"*%1x\",1<<op->addr.scale);\n\t\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//if (op->addr.displacement_size>=2&&(op->addr.base!=-1||op->addr.index!=-1))\n\t\t\t\t//\tlength += PutStr(pasm+length,\"+\");\n\t\t\t\n\t\t\t\tif (op->addr.displacement_size==1)\n\t\t\t\t{\n\t\t\t\t\tif (op->addr.displacement>=sign_BYTE) \n\t\t\t\t\t\tsprintf(buff,\"-%X\",(BYTE)(0-op->addr.displacement));\n\t\t\t\t\telse \n\t\t\t\t\t\tsprintf(buff,\"+%X\",(BYTE)op->addr.displacement);\n\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\telse if (op->addr.displacement_size==2)\n\t\t\t\t{\n\t\t\t\t\tsprintf(buff,\"%04X\",op->addr.displacement);\n\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\telse if (op->addr.displacement_size==4)\n\t\t\t\t{\n\n\t\t\t\t\tif (op->addr.displacement>=sign_DWORD) \n\t\t\t\t\t\tsprintf(buff,\"-%X\",(DWORD)(0-op->addr.displacement));\n\t\t\t\t\telse \n\t\t\t\t\t\tsprintf(buff,\"+%X\",(DWORD)op->addr.displacement);\n\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\telse if (op->addr.displacement_size==8)\n\t\t\t\t{\n\t\t\t\t\tsprintf(buff,\"%llX\",(QWORD)op->addr.displacement);\n\t\t\t\t\tlength += PutStr(pasm+length,buff);\n\t\t\t\t}\n\t\t\t\n\t\t\t\tlength += PutStr(pasm+length,\"]\");\n\t\t\t}\n\t\t}\n \t\telse length +=PutStr(pasm+length,op->string);\n\t}\n\n\tpasm[length] = '\\0';\n\tfor(int m=0;m<length;m++)\n\t\tif(pasm[m]>='A' && pasm[m]<='Z')\n\t\t\tpasm[m]+=0x20;\n\n\treturn length;\n}\n\nvoid WriteEmblem(char *s)\n{\n\tint i;\n\n\tif (s==NULL) return;\n\n\tfor (i=0;Emblem[i]!=NULL;i++)\n\t{\n\t\tif (strcmp(s,Emblem[i])==0) break;\n\t}\n\n\tif (Emblem[i]==NULL) Emblem[i] = s;\n\n\tif (i>=0x200)\n\t{\n\t\t//tang add MessageBox(NULL,\"Emblem\",\"洢ռ̫С\",MB_OK);\n\t}\n}\n\nvoid ReadIntelName(char *s,int num)\n{\n\tint i;\n\tDIS_OPCODE_T *p = (DIS_OPCODE_T*)s;\n\n \tfor (i=0;i<num;i++)\n\t{\n\t\tif (p[i].OpcodeType==C_GRP)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x08);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (p[i].OpcodeType==C_ESC)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x08+0x40);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (p[i].OpcodeType==C_GRP1)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x08+0x08);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (p[i].OpcodeType==C_2BYTE)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x100);\n\t\t\tcontinue;\n\t\t}\n\t\tif (p[i].OpcodeType==C_GRP2)\n\t\t{\n\t\t\tReadIntelName(p[i].name,72);\n\t\t\tcontinue;\n\t\t}\n\t\tif (p[i].OpcodeType==C_GRP3)\n\t\t{\n\t\t\tReadIntelName(p[i].name,4);\n\t\t\tcontinue;\n\t\t}\n\t\tif (p[i].OpcodeType==C_GRP4)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x08);\n\t\t\tcontinue;\n\t\t}\n\t\tif (p[i].OpcodeType==C_3BYTE_0X3A)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x100);\n\t\t\tcontinue;\n\t\t}\n\t\tif (p[i].OpcodeType==C_3BYTE_0X38)\n\t\t{\n\t\t\tReadIntelName(p[i].name,0x100);\n\t\t\tcontinue;\n\t\t}\n\t\tWriteEmblem(p[i].name);\n\t}\n}\n\nint Disassembly(INSTRUCTION_INFORMATION *pInstInfo,BYTE *inbuff,QWORD eip,int mode,DIS_CPU *DisCPU)\n{\n\tDIS_OPCODE_T *pIntelOpcode;\n\tDISP_INSTRUCTION_T disp_i;\n\tDIS_CPU DisCPU_T;\n\tint OperatorSize;\n\t\n\tif (DisCPU==NULL)\n\t\tDisCPU = &DisCPU_T;\n\tunsigned ByteCount =0;\n\tunsigned Segment = 0-1;\n\tunsigned OpcodeType;\n\tdisp_i.opcode_len=1;\t\n\tdisp_i.mode=disp_i.os_32 = disp_i.as_32 = mode; //BIT16,BIT32\n\tif(mode==BIT64)\n\t\tdisp_i.os_32=BIT32;\n\tOperatorSize=disp_i.os_32;\n\tdisp_i.lock = disp_i.rep_used = 0-1;\n\tdisp_i.RIP_Relative=0;\n\tdisp_i.mandatory_used=0;\n\tdisp_i.perfix_len=0;\n\tdisp_i.have_regrm=-1;\n\tdisp_i.have_sib=-1;\t\n\tdisp_i.rex_prefix=0;\n\tpInstInfo->Is3DNow=-1;\n\nGET_OPCODE:\n\t\n\n\tif (ByteCount>=0x0f)\n\t\treturn 0;\n\n\tdisp_i.b1 = inbuff[ByteCount++];\n\n\tpIntelOpcode = Group_main + disp_i.b1;\n\tif(BIT64 == mode && (disp_i.b1 >=0x40 && disp_i.b1 <=0x4f))\n\t{\n\t\tdisp_i.rex_prefix = disp_i.b1;\n\t\tpIntelOpcode=RexPrefixFor64Bit+0;\n\t}\nGET_OPATTR:\n\n\tOpcodeType = pIntelOpcode->OpcodeType;\n\t\n\tswitch(OpcodeType)\n\t{\n\tcase C_REX_PREFIX:\n\t\tdisp_i.perfix_len++;\n\t\tif(disp_i.rex_prefix & 0x8)\n\t\t{\n\t\t\tdisp_i.os_32 = BIT64;\n\t\t\tOperatorSize=disp_i.os_32;\n\t\t}\n\t\tgoto GET_OPCODE;\n\tcase C_ES:case C_CS:case C_SS:\n\tcase C_DS:case C_FS:case C_GS:\n\t\tdisp_i.perfix_len++;\n\t\tSegment = OpcodeType-C_ES;\n\t\tdisp_i.rex_prefix=0;\t\n\t\tdisp_i.mandatory_used=0;\n\t\tgoto GET_OPCODE;\n\tcase C_OPER:\n\t\tswitch(mode)\n\t\t{\n\t\tcase BIT16:\n\t\t\tdisp_i.os_32 = BIT32;\n\t\t\tbreak;\n\t\tcase BIT32:\n\t\tcase BIT64:\n\t\t\tdisp_i.os_32 = BIT16;\n\t\t\tbreak;\n\t\t}\t\t\n\t\tdisp_i.perfix_len++;\n\t\tdisp_i.mandatory_used=1;\n\t\tdisp_i.rex_prefix=0;\n\t\tgoto GET_OPCODE;\n\n\tcase C_ADDR:\n\n\t\tswitch(mode)\n\t\t{\n\t\tcase BIT32:\n\t\t\tdisp_i.as_32 = BIT16;\n\t\t\tbreak;\n\t\tcase BIT16:\t\t\t\n\t\tcase BIT64:\n\t\t\tdisp_i.as_32 = BIT32;\n\t\t\tbreak;\n\t\t}\n\t\tdisp_i.perfix_len++;\n\t\tdisp_i.mandatory_used=0;\n\t\tdisp_i.rex_prefix=0;\n\t\tgoto GET_OPCODE;\n\tcase C_LOCK:\n\t\tdisp_i.lock = 0xf0;\n\t\tdisp_i.perfix_len++;\n\t\tdisp_i.mandatory_used=0;\n\t\tdisp_i.rex_prefix=0;\n\t\tgoto GET_OPCODE;\n\tcase C_REPN:\n\t\tdisp_i.perfix_len++;\n\t\tdisp_i.rep_used = 0xf2;\n\t\tdisp_i.mandatory_used=2;\n\t\tdisp_i.rex_prefix=0;\n\t\tgoto GET_OPCODE;\n\tcase C_REPZ:\n\t\tdisp_i.rep_used = 0xf3;\n\t\tdisp_i.mandatory_used=3;\n\t\tdisp_i.perfix_len++;\n\t\tdisp_i.rex_prefix=0;\n\t\tgoto GET_OPCODE;\n\tcase C_ESC:\n\t\tdisp_i.opcode_len=2;\n\t\tif (inbuff[ByteCount]<0xc0)\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name +\n\t\t\t\t\t\t\t\t((inbuff[ByteCount]>>3)&0x07);\n\t\telse\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+0x08 +\n\t\t\t\t\t\t\t\tinbuff[ByteCount++] - 0xc0;\n\t\tbreak;\n\n\tcase C_3BYTE_0X38:\t\n\t\tdisp_i.opcode_len=3;\n\t\tdisp_i.b1 = inbuff[ByteCount++];\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + disp_i.b1;\n\t\tgoto GET_OPATTR;\n\tcase C_3BYTE_0X3A:\t\n\t\tdisp_i.opcode_len=3;\n\t\tdisp_i.b1 = inbuff[ByteCount++];\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + disp_i.b1;\n\t\tgoto GET_OPATTR;\n\tcase C_2BYTE:\t\t\n\t\tdisp_i.opcode_len=2;\n\t\tdisp_i.b1 = inbuff[ByteCount++];\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + disp_i.b1;\n\t\tgoto GET_OPATTR;\n\t\n\tcase C_GRP:\t\t\t\t\t\t\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name +((inbuff[ByteCount]>>3)&0x07);\n\t\tbreak;\n\tcase C_GRP5:\n\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name +((inbuff[ByteCount]>>3)&0x07);\n\t\tif(pIntelOpcode->OpcodeType==C_GRP3)\n\t\t{\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+disp_i.mandatory_used;\n\t\t\tif(disp_i.mandatory_used==2 || disp_i.mandatory_used==3)\n\t\t\t\tdisp_i.rep_used=0-1;\n\t\t\telse if(disp_i.mandatory_used==1)\n\t\t\t\tdisp_i.os_32=OperatorSize;\n\t\t}\n\t\tbreak;\n\tcase C_GRP1:\n\t\tif (inbuff[ByteCount]<0xc0)\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + \n\t\t\t\t\t\t\t\t((inbuff[ByteCount]>>3)&0x07);\n\t\telse\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + 0x8 +\n\t\t\t\t\t\t\t\t((inbuff[ByteCount]>>3)&0x07);\n\t\tbreak;\n\tcase C_GRP2:\n\t\tif (inbuff[ByteCount]<0xc0)\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + \n\t\t\t((inbuff[ByteCount]>>3)&0x07);\n\t\telse\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name + 0x8 + (((inbuff[ByteCount]>>3)&0x07)*8)+\n\t\t\t((inbuff[ByteCount])&0x07);\n\t\tbreak;\n\tcase C_GRP3:\t\n\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+disp_i.mandatory_used;\n\t\tif(disp_i.mandatory_used==2 || disp_i.mandatory_used==3)\n\t\t\tdisp_i.rep_used=0-1;\n\t\telse if(disp_i.mandatory_used==1)\n\t\t\tdisp_i.os_32=OperatorSize;\n\t\tbreak;\n\tcase C_GRP4:\n\t\tif (inbuff[ByteCount]<0xc0)//mod  = 0x00 0x01 0x10\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+disp_i.mandatory_used;\n\t\telse//mod=0x11\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+4+disp_i.mandatory_used;\n\t\tif(disp_i.mandatory_used==2 || disp_i.mandatory_used==3)\n\t\t\tdisp_i.rep_used=0-1;\n\t\telse if(disp_i.mandatory_used==1)\n\t\t\tdisp_i.os_32=OperatorSize;\n\t\tbreak;\n\tcase C_GRP6:\n\t\tif(mode == BIT64)\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name+1;\n\t\telse\n\t\t\tpIntelOpcode = (DIS_OPCODE_T*)pIntelOpcode->name;\n\t\tbreak;\n\n\t}\n\n\tif (pIntelOpcode->name==NULL)\n\t{\n\t\treturn 0;\n\t}\n\tif(BIT64 == mode && pIntelOpcode->Attr & I_64)\n\t\treturn 0;\n\tif(pIntelOpcode->Attr & O_64 && BIT64 != mode)\n\t\treturn 0;\n\tif(( pIntelOpcode->Attr & D_64) && BIT64 == mode && disp_i.os_32 == BIT32)//there are some instruction default operator size is fouce 64bit \n\t{\n\t\tdisp_i.os_32 = BIT64;\n\t}\n\tif(( pIntelOpcode->Attr & F_64) && BIT64 == mode)//there are some instruction default operator size is fouce 64bit \n\t{\n\t\tdisp_i.os_32 = BIT64;\n\t}\n\tdisp_i.attr = pIntelOpcode->Attr;\n\tdisp_i.destination = pIntelOpcode->Opdata1;\n\tdisp_i.source = pIntelOpcode->Opdata2;\n\tdisp_i.other = pIntelOpcode->Opdata3;\n\tif ((disp_i.attr&R_M)==R_M)\n\t{\n\t\tif (disp_i.as_32==BIT16)\n\t\t\tByteCount += GetEffectAddress16Dis(DisCPU,inbuff+ByteCount,&disp_i);\n\t\telse\n\t\t\tByteCount += GetEffectAddress32Dis(DisCPU,inbuff+ByteCount,&disp_i);\t\n\t}\n\n\tByteCount += ProcessOpdata_immde(disp_i.destination,inbuff+ByteCount,&disp_i);\n\tByteCount += ProcessOpdata_immde(disp_i.source,inbuff+ByteCount,&disp_i);\n\tByteCount += ProcessOpdata_immde(disp_i.other,inbuff+ByteCount,&disp_i);\n\n\tif (ByteCount>=0x0f)\n\t\treturn 0;\n\n\tdisp_i.ilen = ByteCount;\n\n\t//--------------------------------------------------------------------\n\n\tpInstInfo->OpCode = pIntelOpcode->OpcodeType;\n\tpInstInfo->OpType = 0;\n\tpInstInfo->CodeType = 0;\n\tpInstInfo->Length = disp_i.ilen;\n\tpInstInfo->Repeat = disp_i.rep_used;\n\tpInstInfo->Lock = disp_i.lock;\n\tpInstInfo->OpcodeLen=disp_i.opcode_len;\n\tpInstInfo->PrefixLen=disp_i.perfix_len;\n\tpInstInfo->Have_RegRM=disp_i.have_regrm;\n\tpInstInfo->Have_SIB=disp_i.have_sib;\n\tpInstInfo->Rex_Prefix=disp_i.rex_prefix;\n\tif (!ProcessName_dis(pInstInfo,pIntelOpcode,disp_i.os_32,disp_i.as_32))\n\t\treturn 0;\n\n\tint temp;\n\n\ttemp = ProcessOpdata_dis(pIntelOpcode->Opdata1,&pInstInfo->op[0],eip,&disp_i,DisCPU);\n\tif (temp==-1)\n\t\treturn 0;\n\n\ttemp = ProcessOpdata_dis(pIntelOpcode->Opdata2,&pInstInfo->op[1],eip,&disp_i,DisCPU);\n\tif (temp==-1)\n\t\treturn 0;\n\n\ttemp = ProcessOpdata_dis(pIntelOpcode->Opdata3,&pInstInfo->op[2],eip,&disp_i,DisCPU);\n\tif (temp==-1)\n\t\treturn 0;\n\n\tif (disp_i.seg!=Segment&&Segment!=-1)\n\t{\n\t\tpInstInfo->SegmentPrefix = Segment;\n\t\tfor (int i=0;i<3;i++)\n\t\t{\n\t\t\tif (pInstInfo->op[i].mode==mode_address)\n\t\t\t{\n\t\t\t\tpInstInfo->op[i].addr.line_address = \n\t\t\t\t\tpInstInfo->op[i].addr.effect_address + DisCPU->SEG_BASE[Segment];\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tpInstInfo->SegmentPrefix = 0-1;\n\t\tfor (int i=0;i<3;i++)\n\t\t{\n\t\t\tif (pInstInfo->op[i].mode==mode_address)\n\t\t\t{\n\t\t\t\tpInstInfo->op[i].addr.line_address = \n\t\t\t\t\tpInstInfo->op[i].addr.effect_address + DisCPU->SEG_BASE[disp_i.seg];\n\t\t\t}\n\t\t}\n\t}\n\n\t\n/*\n\tif (pInstInfo->op[0].mode==mode_address&&pInstInfo->op[0].opersize!=0&&\n\t\t(pInstInfo->op[1].mode==mode_immed||pInstInfo->op[1].mode==mode_invalid)\n\t\t)\n\t{\n\t\tpInstInfo->xxxxptr = pInstInfo->op[0].opersize;\n\t}\n\telse\n\t{\n\t\tpInstInfo->xxxxptr = 0-1;\n\t}\n\n\tif (pInstInfo->op[1].mode==mode_address&&pInstInfo->op[1].opersize!=0&&pInstInfo->op[1].opersize < pInstInfo->op[0].opersize)\n\t{\n\t\tpInstInfo->xxxxptr = pInstInfo->op[1].opersize;\n\t}\n\telse\n\t{\n\t\tif(pInstInfo->op[1].mode!=mode_invalid)\n\t\t\tpInstInfo->xxxxptr = 0-1;\n\t}\n*/\n\tpInstInfo->xxxxptr=-1;\n\tif(pInstInfo->OpCode==C_3DNOW)\n\t{\n\t\ttemp = GetValue_b(inbuff+ByteCount);\n\t\tif(Group0x0f0f[(temp&0xff)].OpcodeType==C_NULL||Group0x0f0f[(temp&0xff)].name==NULL)\n\t\t\treturn 0;\n\t\tstrcpy(pInstInfo->Name,Group0x0f0f[(temp&0xff)].name);\n\t\tpInstInfo->Length++;\n\t\tByteCount++;\n\t\tpInstInfo->OpCode=Group0x0f0f[(temp&0xff)].OpcodeType;\n\t\tpInstInfo->Is3DNow=1;\n\t}\n\tif(pInstInfo->OpCode==C_XCHG_NOP)\n\t{\n\t\tif(pInstInfo->op[1].reg.reg_index==0)\n\t\t{\n\t\t\tif(disp_i.mandatory_used==3&&disp_i.rex_prefix==0)\n\t\t\t{\n\t\t\t\tpInstInfo->OpCode=C_PAUSE;\n\t\t\t\tpInstInfo->Repeat=-1;\n\t\t\t\tstrcpy(pInstInfo->Name,\"PAUSE\");\n\t\t\t\tpInstInfo->op[0].mode=mode_invalid;\n\t\t\t\tpInstInfo->op[1].mode=mode_invalid;\n\t\t\t}\n\t\t\telse if(pInstInfo->PrefixLen==0)\n\t\t\t{\n\t\t\t\tpInstInfo->OpCode=C_NOP;\n\t\t\t\tstrcpy(pInstInfo->Name,\"NOP\");\n\t\t\t\tpInstInfo->op[0].mode=mode_invalid;\n\t\t\t\tpInstInfo->op[1].mode=mode_invalid;\n\t\t\t}\n\t\t\telse\n\t\t\t\tpInstInfo->OpCode=C_XCHG;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpInstInfo->OpCode=C_XCHG;\n\t\t}\n\t}\n\tif (pInstInfo->pasm!=NULL)\n\t{\n\t\tpInstInfo->U_x3 = PrintPasm(pInstInfo,pInstInfo->pasm,\n\t\t\tpInstInfo->U_x1,pInstInfo->U_x2);\n\t}\n\treturn ByteCount;\n}\n\n//ģ顪\n\n//----------------------------------------------------------------------\n//----------------------------------------------------------------------\n//----------------------------------------------------------------------\n\n//ģ顪\n\nvoid PutCode_b(ASSEMBLY_INFOMATION *pasm_info,BYTE value)\n{\n\tSetValue_b(pasm_info->CodeBuff+pasm_info->InstLength,value);\n\tpasm_info->InstLength += 1;\n}\n\nvoid PutCode_w(ASSEMBLY_INFOMATION *pasm_info,WORD value)\n{\n\tSetValue_w(pasm_info->CodeBuff+pasm_info->InstLength,value);\n\tpasm_info->InstLength += 2;\n}\n\nvoid PutCode_d(ASSEMBLY_INFOMATION *pasm_info,DWORD value)\n{\n\tSetValue_d(pasm_info->CodeBuff+pasm_info->InstLength,value);\n\tpasm_info->InstLength += 4;\n}\n\nDWORD ProcessParameter(char * px,POPER_ITEM op)\n{\t\n\tint i,j,k,ii;\n\tDWORD v1,v2;\n\tv1=v2=0;\n\tchar s1[0x80];\n\n\top->mode=OP_Invalid;\n\top->opersize=0;\n\top->prefix_size=-1;\n\top->addr.seg_index=0xff;\n\top->addr.off_value=0;\n\n\tif (px[0]=='\\0') \n\t{\n\t\top->mode=OP_Invalid;\n\t\treturn 0;\n\t}\n//Get string\n\ti = 0;\n\tif (px[i]=='\\''||px[i]=='\"')\n\t{\n\t\tfor (i++,j=0;px[i]!=px[0]&&px[i]!='\\0';j++,i++)\n\t\t\top->string[j] = px[i];\n\t\tif (px[i]==px[0])\n\t\t{\n\t\t\top->string[j]='\\0';\n\t\t\ti++;\n\t\t\top->mode = OP_String;\n\t\t\treturn 0;\n\t\t}\n\t}\n\t\n//Get ES: CS: SS: DS: FS: GS: \t\n\tfor (j=0;j<6;j++)\n\t{\n\t\tfor (i=0;px[i]==SegReg[j][i];i++);\n\t\tif (i==2&&px[i]==':') \n\t\t{\n\t\t\top->addr.seg_index=j;\n\t\t\tpx=px+i+1;\n\t\t\tbreak;\n\t\t}\n\n\t}\n\t\n// Get ... Xptr \t\n\tfor (j=0;j<sizeof(OpDataWide)/sizeof(OpDataWide[0]);j++)\n\t{\n\t\tfor (i=0;px[i]==OpDataWide[j].Xptr[i];i++);\n\t\t\t\t\t\n\t\tif (i>2||OpDataWide[j].Xptr[0]!='F'&&i>1) \n\t\t{\n\t\t\tfor (;px[i]!='[' && px[i]!=' '&& px[i]!='\\0' && (px[i]<'0'&&  px[i]>'9');i++);\n\t\t\tif (px[i]==' ') \n\t\t\t\ti++;\n\t\t\top->opersize=OpDataWide[j].Size;\n\t\t\top->prefix_size=OpDataWide[j].Size;\n\t\t\tpx=px+i;\n\t\t\tbreak;\n\t\t}\n\t}\n\n//ES: CS: SS: DS: FS: GS: \t\n\tfor (j=0;j<sizeof(SegReg)/sizeof(SegReg[0]);j++)\n\t{\n\t\tfor (i=0;px[i]==SegReg[j][i];i++);\n\t\tif (i==2&&px[i]==':') \n\t\t{\n\t\t\top->addr.seg_index=j;\n\t\t\tpx=px+i+1;\n\t\t\tbreak;\n\t\t}\n\t}\n\n//OP_Invalid\n\tif (px[0]=='\\0') \n\t{\n\t\top->mode=OP_Invalid;\n\t\treturn 0;\n\t}\n\t\n//Register\t\n\tfor (i=0;i<8;i++)\n\t{\n\t\tif (TStrICmp(px,RegByte[i])==0)\n\t\t{\n\t\t\top->opersize=1;\n\t\t\top->reg_type=OP_ByteRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif (TStrICmp(px,RegWord[i])==0)\n\t\t{\n\t\t\top->opersize=2;\n\t\t\top->reg_type=OP_WordRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif (TStrICmp(px,RegDWord[i])==0)\n\t\t{\n\t\t\top->opersize=4;\n\t\t\top->reg_type=OP_DwordRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif(TStrICmp(px,RegMMXQWord[i])==0)\n\t\t{\n\t\t\top->opersize=8;\n\t\t\top->reg_type=OP_MMXRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif(TStrICmp(px,RegXMMOWord[i])==0)\n\t\t{\n\t\t\top->opersize=16;\n\t\t\top->reg_type=OP_XMMRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif(TStrICmp(px,RegCR[i])==0)\n\t\t{\n\t\t\top->opersize=4;\n\t\t\top->reg_type=OP_ControlRegister;\n\t\t\tbreak;\n\t\t}\n\t\tif(TStrICmp(px,RegDR[i])==0)\n\t\t{\n\t\t\top->reg_type=OP_DebugRegister;\n\t\t\top->opersize=4;\n\t\t\tbreak;\n\t\t}\n\t\tif(TStrICmp(px,RegFPU[i])==0)\n\t\t{\n\t\t\top->reg_type=OP_FPURegister;\n\t\t\top->opersize=10;\n\t\t\tbreak;\n\t\t}\n\t\t\n\t}\n\n\tif (i<8)\n\t{\n\t\top->mode=OP_Register;\n\t\top->reg.reg_index=i;\n\t\treturn 0;\n\t}\n\tif(TStrICmp(px,RegFPU[8])==0)\n\t{\n\t\top->reg_type=OP_FPURegister;\n\t\top->mode=OP_Register;\n\t\top->reg.reg_index=8;\n\t\top->opersize=10;\n\t\treturn 0;\n\t}\n//Segment register\n\tfor (i=0;i<sizeof(SegReg)/sizeof(SegReg[0]);i++)\n\t{\n\t\tif (TStrICmp(px,SegReg[i])==0)\n\t\t{\n\t\t\top->mode=OP_Segment;\n\t\t\top->opersize=2;\n\t\t\top->sreg.sreg_index=i;\n\t\t\top->reg_type=OP_SegmentRegister;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (i<6) \n\t\treturn 0;\n\t\n\t\n\ti=0;\n\tj=0;\n\tk=0;\n\n\tif (px[i]=='+'||px[i]=='-') i++;\n\n\tif (px[i]>='0'&&px[i]<='9'||px[i]>='A'&&px[i]<='F')\n\t{\n\t\tfor ( ;px[i]=='0';i++);\n\n\t\tfor (ii=0;px[i+ii]>='0'&&px[i+ii]<='9'||\n\t\t\t\t px[i+ii]>='A'&&px[i+ii]<='F';ii++);\n\t\tif (px[i+ii]=='\\0'&&ii<=0x8)\n\t\t{\n\t\t\tSHexStrToNum(px,&op->immed.immed_value);\n\t\t\t//sscanf(px,\"%x\",&(op->immed.immed_value));\n\t\t\top->mode=OP_Immed;\n\t\t\treturn 0;\n\t\t}\n\t\t\n\t\tif (px[i+ii]==':'&&ii<=0x4)\n\t\t{\n\t\t\tfor (k=i+ii+1;px[k]>='0'&&px[k]<='9'||\n\t\t\t\tpx[k]>='A'&&px[k]<='F';k++);\n\n\t\t\tif (px[k]=='\\0')\n\t\t\t{\n\t\t\t\top->mode=OP_Far;\n\t\t\t\top->opersize=4;\n\t\t\t\t//sscanf(px,\"%x:%x\",&(op->farptr.segment),&(op->farptr.offset));\n\t\t\t\tchar szBuffer[256],*pStr;\n\t\t\t\tstrcpy(szBuffer,px);\n\t\t\t\tpStr=TStrChr(szBuffer,':');\n\t\t\t\tif(pStr==NULL)\n\t\t\t\t\treturn 0;\n\t\t\t\t*pStr=0;\n\t\t\t\tpStr++;\n\t\t\t\tSHexStrToNum(szBuffer,&op->farptr.segment);\n\t\t\t\tSHexStrToNum(pStr,&op->farptr.offset);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\n\t\tif (px[i+ii]=='['&&ii<=0x8)  //   4010ac[ebx+ecx]\n\t\t{\n\t\t\t//sscanf(px,\"%x\",&(op->addr.off_value));\n\t\t\tpx[i+ii]=0;\n\t\t\tSHexStrToNum(px,&(op->addr.off_value));\n\t\t\tpx[i+ii]='[';\n\t\t\ti=i+ii;\n\t\t}\n\t\telse \n\t\t\ti=0;\n\t}\n\telse \n\t\ti=0;\n\t\t\n\n//Get address\t\n\tif (px[i]=='[')\n\t{\t\n\t\tfor (ii=1;px[i+ii]!='\\0';ii++);\n\n\t\tii--;\n\t\t\n\t\tif (px[i+ii]==']') ii--;\n\n\t\tif (px[i+ii]>='0'&&px[i+ii]<='9'||\n\t\t   px[i+ii]>='A'&&px[i+ii]<='F')\n\t\t{\n\t\t\tfor (;px[i+ii]>='0'&&px[i+ii]<='9'||\n\t\t\t\tpx[i+ii]>='A'&&px[i+ii]<='F';ii--);\n\t\t\t\n\t\t\tif  (px[i+ii]=='*') ii++;\n\t\t\n\t\t\tif  (px[i+ii]=='+'||px[i+ii]=='-') ii--;\n\t\t\tint oo=0;\n\t\t\tchar tmpchr=0;\n\t\t\too=i+ii+1;\n\t\t\tfor(;px[oo]!=']'&& px[oo];oo++);\n\t\t\ttmpchr=px[oo];\n\t\t\tpx[oo]=0;\n\t\t\tSHexStrToNum(&px[i+ii+1],&v1);\n\t\t\tpx[oo]=tmpchr;\n\t\t\top->addr.off_value=op->addr.off_value+v1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t//if (ii==0) return 1;\n\t\t}\n\n\t\t\n\t\tpx[i+ii+1]=']';\n\t\tpx[i+ii+2]='\\0';\n\t\t\n\t\tpx=px+i;\n\t\t\n//offset16  or offset32 \n\t\tif (TStrICmp(px,\"[]\")==0)\n\t\t{\n\t\t\top->addr.reg_size=0;\n\t\t\top->mode=OP_Address;\n\t\t\treturn 0;\n\t\t}\n\t\t\n//RegAddr16\n\t\tfor (j=0;j<sizeof(RegAddr16)/sizeof(RegAddr16[0]);j++)\n\t\t{\n\t\t\t\n\t\t\tif (TStrICmp(px,RegAddr16[j])==0)\n\t\t\t{\n\t\t\t\top->addr.reg_size=2;\n\t\t\t\top->addr.base_reg_index=j>>2;\n\t\t\t\top->mode=OP_Address;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\n//RegAddr32 [eax]\n\t\tfor (j=0;j<sizeof(RegDWord)/sizeof(RegDWord[0]);j++)\n\t\t{\n\t\t\tif (j==4) j++;\n\n\t\t    sprintf(s1,\"%s%s%s\",\"[\",RegDWord[j],\"]\");\n\n\t\t\tif (TStrICmp(px,s1)==0)\n\t\t\t{\n\t\t\t\top->addr.reg_size=4;\n\t\t\t\top->addr.base_reg_index=j;\n\t\t\t\top->mode=OP_Address;\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t}\n\n//Regaddr32 [esp] or [esp+12] or [esp+12345678]\n\n\t\tif (TStrICmp(px,\"[ESP]\") == 0)\n\t\t{\n\t\t\top->addr.reg_size=6;\n  \t\t    op->addr.base_reg_index=4;\n\t\t    op->addr.off_reg_index=4;\n\t\t    op->addr.off_reg_scale=0;\n\t\t\top->mode=OP_Address;\n\t\t\treturn 0;\n\t\t}\n\t\t\n//RegAddr32\t[eax+eax*1]\n\t\tfor (i=0;i<8;i++)\n\t\t\tfor (j=0;j<8;j++)\n\t\t\t\tfor (k=0;k<4;k++)\n\t\t\t\t{\n\t\t\t\t\tif (j==4) j++;\n\t\t\t\t\t\n\t\t\t\t\tsprintf(s1,\"%s%s%s%s%s%c%s\",\"[\",RegDWord[i],\"+\",\n\t\t\t\t\t\t\tRegDWord[j],\"*\",(1<<k)+0x30,\"]\");\n\n\t\t\t\t\tif (TStrICmp(px,s1)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\top->addr.reg_size=6;\n\t\t    \t\t    op->addr.base_reg_index=i;\n\t\t\t\t\t    op->addr.off_reg_index=j;\n\t\t\t\t\t    op->addr.off_reg_scale=k;\n\t\t\t\t\t\top->mode=OP_Address;\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\n\t\t\t\t\tif (k==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tsprintf(s1,\"%s%s%s%s%s\",\"[\",RegDWord[i],\"+\",\n\t\t\t\t\t\t\t\t\t\tRegDWord[j],\"]\");\n\t\t\t\t\t\tif (TStrICmp(px,s1)==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\top->addr.reg_size=6;\n\t\t    \t\t\t    op->addr.base_reg_index=i;\n\t\t\t\t\t\t    op->addr.off_reg_index=j;\n\t\t\t\t\t\t    op->addr.off_reg_scale=0;\n\t\t\t\t\t\t\top->mode=OP_Address;\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 1;\n\t}\t\t\n\t\n//Get Invalid\n\top->mode = OP_Invalid;\n\treturn 1;\n}\n\nDWORD ModeAddress(ASSEMBLY_INFOMATION *pasm_info,POPER_ITEM op,int opsize)\n{\n\tif (op->addr.seg_index!=0xff) \n\t\tpasm_info->SegmentPrefix=SegmentValue[op->addr.seg_index];\n\tif(opsize!=-1 && op->prefix_size!=-1)\n\t{\n\t\tif(opsize!=op->opersize)\n\t\t\treturn 1;\n\t}\n\tif (op->addr.reg_size==0)\n\t{\n\t\tpasm_info->pmodr_m->mod = 0;\n\n\t\tif (pasm_info->CodeMode==BIT32)\n\t\t{  \n\t\t\tpasm_info->AddressSize = 4;\n\t\t\tpasm_info->pmodr_m->r_m = 5;\n\t\t\tPutCode_d(pasm_info,(DWORD)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t\tif (op->addr.off_value<=0xffff)\n\t\t{\n\t\t\tpasm_info->AddressSize=2;\n\t\t\tpasm_info->pmodr_m->r_m=6;\n\t\t\tPutCode_w(pasm_info,(WORD)(op->addr.off_value));\n\t\t}\n\t\telse \n\t\t{\n\t\t\tpasm_info->AddressSize=4;\n\t\t\tpasm_info->pmodr_m->r_m=5;\n\t\t\tPutCode_d(pasm_info,(DWORD)(op->addr.off_value));\n\t\t}\n\t\treturn 0;\n\t}\n\t\t\n\tif (op->addr.reg_size==2)\n\t{\n\t\tpasm_info->AddressSize=2;\n\t\tpasm_info->pmodr_m->r_m=op->addr.base_reg_index;\n\t\tpasm_info->InstLength=pasm_info->InstLength;\n\t\tif (op->addr.off_value==0)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=0;\n\t\t\tif (op->addr.base_reg_index==6)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\t\t\n\t\tif (op->addr.off_value<=0xff||op->addr.off_value>=0xffffff80)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t\tif (op->addr.off_value<=0xffff)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=2;\n\t\t\tPutCode_w(pasm_info,(WORD)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t\tif (op->addr.off_value>0xffff) return 1;\n\n\t}\n\t\n\tif (op->addr.reg_size==4)\n\t{\n\t\tpasm_info->AddressSize=4;\n\t\tpasm_info->pmodr_m->r_m=op->addr.base_reg_index;\n\t\n\t\tif (op->addr.off_value==0)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=0;\n\n\t\t\tif (op->addr.base_reg_index==5)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\t\t\n\t\tif (op->addr.off_value<=0xff||op->addr.off_value>=0xffffff80)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=2;\n\t\t\tPutCode_d(pasm_info,(DWORD)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\tif (op->addr.reg_size==6)\n\t{\n\t\t\n\t\tpasm_info->AddressSize=4;\n\t\tpasm_info->pmodr_m->r_m=4;\n\t\tpasm_info->pmodr_m->base=op->addr.base_reg_index;\n\t\tpasm_info->pmodr_m->index=op->addr.off_reg_index;\n\t\tpasm_info->pmodr_m->scale=op->addr.off_reg_scale;\n\t\tpasm_info->InstLength=pasm_info->InstLength+1;\n\n\t\tif (op->addr.off_value==0)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=0;\n\t\t\tif (op->addr.base_reg_index==5)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\t\t\n\t\tif (op->addr.off_value<=0xff)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=1;\n\t\t\tPutCode_b(pasm_info,(BYTE)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=2;\n\t\t\tPutCode_d(pasm_info,(DWORD)(op->addr.off_value));\n\t\t\treturn 0;\n\t\t}\n\t}\n\t\n\treturn 1;\n}\n\nint ProcessName_asm(ASSEMBLY_INFOMATION *pasm_info,DIS_OPCODE_T *inst)\n{\n\tint i,codesize;\n\tint opdata;\n\n\tif (inst==NULL) return 0-1;\n\n\tif (inst->name==NULL) return 0-1;\n\t\n\tif (strcmp(pasm_info->Name,inst->name)==0)\n\t{\n\t\tif (pasm_info->CodeMode==BIT32) codesize = 4;\n\t\telse codesize = 2;\n\t\t\n\t\tfor (i=0;i<3;i++)\n\t\t{\n\t\t\tif (i==0) opdata = inst->Opdata1;\n\t\t\telse if (i==1) opdata = inst->Opdata2;\n\t\t\t     else  opdata = inst->Opdata3;\n\t\t\t\n\t\t\tswitch(opdata)\n\t\t\t{\n\t\t\tcase D__Xb:\n\t\t\t\t\t\tpasm_info->NameSize = SIZE_b;\n\t\t\t\t\t\tbreak;\n\t\t\tcase D__Xv:\t\t// Used for ( MOVS: LODS: OUTS: ... )\n\t\t\t\t\t\tpasm_info->NameSize = codesize;\n\t\t\t\t\t\tbreak;\n\t\t\tcase D__Fv:\n\t\t\t\t\t// Used for PUSHA/POPA, PUSHF/POPF, SHAF/LAHF\n\t\t\t\t\t\tpasm_info->NameSize = codesize;\n\t\t\t\t\t\tbreak;\n\t\t\t};\n\t\t}\n\n\t\treturn \tinst->OpcodeType;\n\t}\n\telse return 0-1;\n}\n\nint ProcessOpdata_asm(ASSEMBLY_INFOMATION *pasm_info,int OpCodeDataType,POPER_ITEM op)\n{\n\tint i;\n\tint codesize;\n\tint optsize=-1;\n\tOPCODETYPE opdata=(OPCODETYPE)OpCodeDataType;\n\n\tif (pasm_info->CodeMode==BIT32) \n\t\tcodesize = 4;\n\telse \n\t\tcodesize = 2;\n\n\tswitch(opdata)\n\t{\n\tcase D__NONE:\t\t\t// No any types\n\t\t\t\tif (op->mode==OP_Invalid) \n\t\t\t\t\treturn 0;\t\t\t\n\t\t\t\tbreak;\n\tcase D__Eb:case D__rEb:case D__wEb:case D__rwEb:\n\tcase D__Ew:case D__rEw:case D__wEw:case D__rwEw:\n\tcase D__Ed:case D__rEd:case D__wEd:case D__rwEd:\n\tcase D__Ev:case D__rEv:case D__wEv:case D__rwEv:\n\t\t\t// A ModR/M bytes: specifies the operand size.\n\n\t\t\tif (opdata>=D__Eb&&opdata<=D__rwEb&&op->opersize!=SIZE_b)\n\t\t\t\tbreak;\n\t\t\tif (opdata>=D__Ew&&opdata<=D__rwEw&&op->opersize!=SIZE_w)\n\t\t\t\tbreak;\n\t\t\tif (opdata>=D__Ed&&opdata<=D__rwEd&&op->opersize!=SIZE_d)\n\t\t\t\tbreak;\n\t\t\tif (opdata>=D__Ev&&opdata<=D__rwEv&&op->opersize!=SIZE_w&&op->opersize!=SIZE_d)\n\t\t\t\tbreak;\n\n\t\t\tif (opdata==D__Ev)\n\t\t\t\tpasm_info->OperandSize = op->opersize;\n\n\t\t\tif (op->mode==OP_Register)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\t\n\t\t\tif (op->mode==OP_Address) \n\t\t\t\treturn ModeAddress(pasm_info,op,-1);\n\n\t\t\tbreak;\n\n\tcase D__word_int:\n\t\tif (optsize==-1) optsize = SIZE_w;\n\tcase D__dword_int:\n\t\tif (optsize==-1) optsize = SIZE_d;\n\tcase D__qword_int:\n\t\tif (optsize==-1) optsize = SIZE_q;\n\n\tcase D__single_real:\n\t\tif (optsize==-1) optsize = SIZE_d;\n\tcase D__double_real:\n\t\tif (optsize==-1) optsize = SIZE_q;\n\tcase D__extend_real:\n\t\tif (optsize==-1) optsize = SIZE_t;\n\tcase D__packed_BCD:\n\t\tif (optsize==-1) optsize = SIZE_t;\n\n\tcase D__2b:\n\t\tif (optsize==-1) optsize = SIZE_w;\n\tcase D__14_28b:\n\t\tif (optsize==-1) optsize = SIZE_t;\n\tcase D__98_108b:\n\t\tif (optsize==-1) optsize = SIZE_t;\n\t\tif (op->mode==OP_Address) \n\t\t\treturn ModeAddress(pasm_info,op,optsize);\n\n\t\tbreak;\n\n\tcase D__Gb:case D__rGb:case D__wGb:case D__rwGb:\n\tcase D__Gd:case D__rGd:case D__wGd:case D__rwGd:\n\tcase D__Gw:case D__rGw:case D__wGw:case D__rwGw:\n\tcase D__Gv:case D__rGv:case D__wGv:case D__rwGv:// The reg field of the ModR/M byte selects a normal register.\n\n\t\t\tif (opdata==D__Gb&&op->opersize!=SIZE_b) \n\t\t\t\tbreak;\n\n\t\t\tif (opdata==D__Gw&&op->opersize!=SIZE_w) \n\t\t\t\tbreak;\n\n\t\t\tif (opdata==D__Gd&&op->opersize!=SIZE_d) \n\t\t\t\tbreak;\n\n\t\t\tif (opdata==D__Gv&&op->opersize!=SIZE_w&&op->opersize!=SIZE_d) \n\t\t\t\tbreak;\n\n\t\t\tif (opdata==D__Gv)\n\t\t\t\tpasm_info->OperandSize = op->opersize;\n\t\n\t\t\tif (op->mode==OP_Register)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->reg=op->reg.reg_index;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\n\tcase D__Ib2:\ncase D__Ib:\n\t\t\tif (op->mode==OP_Immed&&(op->immed.immed_value<=0xff||op->immed.immed_value>=0xffffff80))\n\t\t\t{\n\t\t\t\tPutCode_b(pasm_info,(BYTE)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\t\n\ncase D__Iw:\n\t\t\tif (op->mode==OP_Immed&&(op->immed.immed_value<=0xffff||op->immed.immed_value>=0xffff8000))\n\t\t\t{\n\t\t\t\tPutCode_w(pasm_info,(WORD)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\t\n\ncase D__Iv:\t// Immediate data.\n\t\t\tif (op->mode==OP_Immed&&(pasm_info->OperandSize==SIZE_w&&(op->immed.immed_value<=0xffff||op->immed.immed_value>=0xffff8000)||pasm_info->OperandSize==SIZE_d))\n\t\t\t{\n\t\t\t\tif (pasm_info->OperandSize==SIZE_d) \n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)op->immed.immed_value);\n\t\t\t\telse \n\t\t\t\t\tPutCode_w(pasm_info,(WORD)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D__sIb:\n\t\t\tif (op->mode==OP_Immed&&(op->immed.immed_value<0x80||op->immed.immed_value>=0xffffff80))\n\t\t\t{\n\t\t\t\tPutCode_b(pasm_info,(BYTE)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\t\t\t\t\t\t\t// Signed Immediate data.\n\ncase D__Sw:\t\t\t// The reg field of the ModR/M byte selects a segment register.\n\t\t\tif  (op->mode==OP_Segment&&\top->opersize==SIZE_w)\n\t\t\t{\n\t\t\t\tpasm_info->pmodr_m->reg=op->sreg.sreg_index;\n\t\t\t\tpasm_info->OperandSize = op->opersize;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\n\ncase D__M:case D__rM:case D__wM:case D__rwM:\ncase D__Ma:case D__rMa:case D__wMa:case D__rwMa:\ncase D__Mb:case D__rMb:case D__wMb:case D__rwMb:\ncase D__Mp:case D__rMp:case D__wMp:case D__rwMp:\ncase D__Ms:case D__rMs:case D__wMs:case D__rwMs:\ncase D__Mq:case D__wMq:case D__rMq:case D__rwMq:\ncase D__Mps:case D__wMps:case D__rMps:case D__rwMps:\ncase D__Mpd:case D__wMpd:case D__rMpd:case D__rwMpd:\ncase D__Mdq:case D__wMdq:case D__rMdq:case D__rwMdq:\t\ncase D__Md:case D__rMd:case D__wMd:case D__rwMd:\ncase D__Mw:case D__rMw:case D__wMw:case D__rwMw:\ncase D__Mv:case D__rMv:case D__wMv:case D__rwMv:\n\n\n\t\t\tif (op->mode==OP_Address)\n\t\t\t\treturn ModeAddress(pasm_info,op,-1);\n\t\t\t\n\t\t\tbreak;\n\ncase D__st:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && (op->reg.reg_index==8||op->reg.reg_index==0))\n\n\t\treturn 0;\n\tbreak;\ncase D__st0:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && (op->reg.reg_index==0|| op->reg.reg_index==8))\n\t\treturn 0;\n\tbreak;\ncase D__st1:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==1)\n\t\treturn 0;\n\tbreak;\ncase D__st2:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==2)\n\t\treturn 0;\n\tbreak;\ncase D__st3:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==3)\n\t\treturn 0;\n\tbreak;\ncase D__st4:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==4)\n\t\treturn 0;\n\tbreak;\ncase D__st5:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==5)\n\t\treturn 0;\n\tbreak;\ncase D__st6:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==6)\n\t\treturn 0;\n\tbreak;\ncase D__st7:\n\tif(op->mode==OP_Register && op->reg_type==OP_FPURegister && op->reg.reg_index==7)\n\t\treturn 0;\n\tbreak;\n\n\ncase D_NEAR:\n\t\t\tif (op->mode==OP_Register&&\t(op->opersize==SIZE_w|| op->opersize==SIZE_d))\n\t\t\t{\n\t\t\t\tpasm_info->OperandSize=op->opersize;\n\t\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\t\t\tpasm_info->InstLength=pasm_info->InstLength+1;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\n\t\t\tif (op->mode==OP_Address&&op->opersize==codesize)\n\t\t\t{\n\t\t\t\tpasm_info->OperandSize=op->opersize;\n\t\t\t\treturn ModeAddress(pasm_info,op,-1);\n\t\t\t}\n\t\t\n\t\t\tbreak;\n\ncase D_MFAR:\n\n\t\t\tif (op->mode==OP_Address&&(op->opersize==SIZE_w+SIZE_w|| op->opersize==SIZE_d+SIZE_w))\n\t\t\t{\n\t\t\t\tpasm_info->OperandSize=op->opersize-SIZE_w;\n\t\t\t\treturn ModeAddress(pasm_info,op,-1);\n\t\t\t}\n\t\t\tbreak;\n\ncase D__Ob:case D__rOb:case D__wOb:case D__rwOb:\ncase D__Ov:case D__rOv:case D__wOv:case D__rwOv:\n\n\t\t\t// The offset of the operand is coded as a word or d-word ( no ModR/M )\n\t\t\tif (op->mode==OP_Address&&\top->addr.reg_size==0)\n\t\t\t{\n\t\t\t\t\n\t\t\t\tif (op->addr.seg_index!=0xff) \n\t\t\t\t\tpasm_info->SegmentPrefix=SegmentValue[op->addr.seg_index];\n\t\t\t\t\n\t\t\t\tif (pasm_info->CodeMode==BIT32)\n\t\t\t\t{  \n\t\t\t\t\tpasm_info->AddressSize= codesize;\n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)(op->addr.off_value));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (op->addr.off_value<=0xffff)\n\t\t\t\t{\n\t\t\t\t\tpasm_info->AddressSize=SIZE_w;\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->addr.off_value));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\tbreak;\n\ncase D__Jb:\n\t\t\tif (op->mode==OP_Immed&& (op->immed.immed_value-pasm_info->eip-2<0x80||  op->immed.immed_value-pasm_info->eip-2>=0xffffff80))\n\t\t\t\t{\n\t\t\t\t\tPutCode_b(pasm_info,(BYTE)(op->immed.immed_value-pasm_info->eip-2));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D__Jz:\n\t\n\t\t\tif (op->mode==OP_Immed)\n\t\t\t{\n\t\t\t\tif (pasm_info->CodeMode==BIT32)\n\t\t\t\t{\n\t\t\t\t\tint deta=5;\n\t\t\t\t\tif(pasm_info->OpcodeType >= C_JtO && pasm_info->OpcodeType <= C_JtG)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (op->mode==OP_Immed&& (op->immed.immed_value-pasm_info->eip-2<0x80||  op->immed.immed_value-pasm_info->eip-2>=0xffffff80))\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdeta=6;\t\n\t\t\t\t\t}\n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)(op->immed.immed_value-pasm_info->eip-deta));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\n\t\t\t\tif  (op->immed.immed_value-pasm_info->eip-3<0x8000|| op->immed.immed_value-pasm_info->eip-3>=0xffff8000)\n\t\t\t\t{\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->immed.immed_value-pasm_info->eip-3));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpasm_info->OperandSize = SIZE_d;\n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)(op->immed.immed_value-pasm_info->eip-5));\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tbreak;\n\ncase D__Ap:\t// The instruction contains a relative offset to be added to EIP.\n\t\t\tif (op->mode==OP_Far)\n\t\t\t{\n\t\t\t\tif (pasm_info->CodeMode==BIT32)\n\t\t\t\t{\n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)(op->farptr.offset));\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->farptr.segment));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\tif (op->farptr.offset<=0xffff)\n\t\t\t\t{\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->farptr.offset));\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->farptr.segment));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpasm_info->OperandSize = SIZE_d;\n\t\t\t\t\tPutCode_d(pasm_info,(DWORD)(op->farptr.offset));\n\t\t\t\t\tPutCode_w(pasm_info,(WORD)(op->farptr.segment));\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tbreak;\n\ncase D__Rd:\t\t\t// The mod field of the ModR/M byte may refer only to a general register.\n\tif(op->reg_type==OP_DwordRegister && op->mode==OP_Register)\n\t{\n\t\tpasm_info->pmodr_m->mod=3;\n\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\treturn 0;\n\t}\n\tbreak;\ncase D__Cd:\t\t\t// The reg field of the ModR/M byte selects a control register.\n\tif(op->reg_type==OP_ControlRegister && op->mode==OP_Register)\n\t{\n\t\tpasm_info->pmodr_m->reg=op->reg.reg_index;\n\t\treturn 0;\n\t}\n\tbreak;\ncase D__Dd:\t\t\t// The reg field of the ModR/M byte selects a debug register.\n\tif(op->reg_type==OP_DebugRegister && op->mode==OP_Register)\n\t{\n\t\tpasm_info->pmodr_m->reg=op->reg.reg_index;\n\t\treturn 0;\t\t\t\t\n\t}\n\tbreak;\t\ncase D__1:\t\t\t// Only used for ( Group2 SHL/SHR... instruction )\n\t\t\tif  (op->mode==OP_Immed&&op->immed.immed_value==1) \n\t\t\t\treturn 0;\n\t\t\t\n\t\t\tbreak;\ncase D__Pd:case D__rPd:case D__wPd:case D__rwPd:\ncase D__Pq:case D__rPq:case D__wPq:case D__rwPq:\ncase D__Ppi:case D__rPpi:case D__wPpi:case D__rwPpi:\n\tif(op->mode==OP_Register)\n\t{\n\t\tif(op->reg_type==OP_MMXRegister)\n\t\t{\n\t\t\tpasm_info->pmodr_m->reg=op->reg.reg_index;\n\t\t\treturn 0;\n\t\t}\n\t}\n\tbreak;\ncase D__Qd:case D__wQd:case D__rQd:case D__rwQd:\ncase D__Qq:case D__wQq:case D__rQq:case D__rwQq:\ncase D__Qpi:case D__wQpi:case D__rQpi:case D__rwQpi:\ncase D__Qdq:case D__wQdq:case D__rQdq:case D__rwQdq:\n\tif(op->mode==OP_Register)\n\t{\n\t\tif(op->reg_type==OP_MMXRegister)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse if(op->mode==OP_Address)\n\t{\n\t\treturn ModeAddress(pasm_info,op,-1);\n\t}\n\tbreak;\ncase D__Wq:case  D__wWq:case  D__rWq:case  D__rwWq:\ncase D__Wsd:case D__wWsd:case D__rWsd:case D__rwWsd:\ncase D__Wdq:case D__rWdq:case D__wWdq:case D__rwWdq:\ncase D__Wpd:case D__wWpd:case D__rWpd:case D__rwWpd:\ncase D__Wps:case D__wWps:case D__rWps:case D__rwWps:\ncase D__Wss:case D__wWss:case D__rWss:case D__rwWss:\n\tif(op->mode==OP_Register)\n\t{\n\t\tif(op->reg_type==OP_XMMRegister)\n\t\t{\n\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse if(op->mode==OP_Address)\n\t{\n\t\treturn ModeAddress(pasm_info,op,-1);\n\t}\n\t\n\tbreak;\n\ncase D__Vq:case  D__wVq: case D__rVq: case D__rwVq:\ncase D__Vpd:case D__rVpd:case D__wVpd:case D__rwVpd:\ncase D__Vdq:case D__rVdq:case D__wVdq:case D__rwVdq:\ncase D__Vsd:case D__wVsd:case D__rVsd:case D__rwVsd:\ncase D__Vps:case D__wVps:case D__rVps:case D__rwVps:\ncase D__Vss:case D__wVss:case D__rVss:case D__rwVss:\n\tif(op->mode==OP_Register && op->reg_type==OP_XMMRegister)\n\t{\n\t\tpasm_info->pmodr_m->reg=op->reg.reg_index;\n\t\treturn 0;\n\t}\t\n\tbreak;\ncase D__Ups:case D__wUps:case D__rUps:case D__rwUps:\ncase D__Upd:case D__wUpd:case D__rUpd:case D__rwUpd:\ncase D__Uq: case D__wUq: case D__rUq: case D__rwUq:\ncase D__Udq:case D__wUdq:case D__rUdq:case D__rwUdq:\n\tif(op->mode==OP_Register && op->reg_type==OP_XMMRegister)\n\t{\n\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\tpasm_info->pmodr_m->mod=3;\n\t\treturn 0;\n\t}\t\n\tbreak;\ncase D__Nq:case D__wNq:case D__rNq:case D__rwNq:\n\tif(op->mode==OP_Register && op->reg_type==OP_MMXRegister)\n\t{\n\t\tpasm_info->pmodr_m->r_m=op->reg.reg_index;\n\t\tpasm_info->pmodr_m->mod=3;\n\t\treturn 0;\n\t}\n\tbreak;\n\ncase D__AL:\t\t\t// Specifying AL register\ncase D__CL:\t\t\t// Specifying CL register\ncase D__DL:\t\t\t// Specifying DL register\ncase D__BL:\t\t\t// Specifying BL register\ncase D__AH:\t\t\t// Specifying AH register\ncase D__CH:\t\t\t// Specifying CH register\ncase D__DH:\t\t\t// Specifying DH register\ncase D__BH:\t\t\t// Specifying BH register\n\t\t\tif  (op->mode==OP_Register&& op->opersize==SIZE_b&& op->reg.reg_index==opdata-D__AL) \n\t\t\t\treturn 0;\n\t\t\t\n\t\t\tbreak;\n\ncase D__AX:\t\t\t// Specifying AX register\ncase D__CX:\t\t\t// Specifying CX register\ncase D__DX:\t\t\t// Specifying DX register\ncase D__BX:\t\t\t// Specifying BX register\ncase D__SP:\t\t\t// Specifying SP register\ncase D__BP:\t\t\t// Specifying BP register\ncase D__SI:\t\t\t// Specifying SI register\ncase D__DI:\t\t\t// Specifying DI register\n\t\t\tif  (op->mode==OP_Register&& op->opersize==SIZE_w&& op->reg.reg_index==opdata-D__AX) \n\t\t\t\t return 0;\n\t\t\t\n\t\t\tbreak;\n\ncase D__eAX:\t\t\t// Specifying eAX register\ncase D__eCX:\t\t\t// Specifying eCX register\ncase D__eDX:\t\t\t// Specifying eDX register\ncase D__eBX:\t\t\t// Specifying eBX register\ncase D__eSP:\t\t\t// Specifying eSP register\ncase D__eBP:\t\t\t// Specifying eBP register\ncase D__eSI:\t\t\t// Specifying eSI register\ncase D__eDI:\t\t\t// Specifying eDI register\n\t\t\tif  (op->mode==OP_Register&&(op->opersize==SIZE_w||op->opersize==SIZE_d)&&op->reg.reg_index==opdata-D__eAX)\n\t\t\t{\n\t\t\t\tpasm_info->OperandSize = op->opersize;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D__ES:\t\t\t// Specifying ES register\ncase D__CS:\t\t\t// Specifying CS register\ncase D__SS:\t\t\t// Specifying SS register\ncase D__DS:\t\t\t// Specifying DS register\ncase D__FS:\t\t\t// Specifying FS register\ncase D__GS:\t\t\t// Specifying GS register\n\t\t\tif  (op->mode==OP_Segment&&\top->opersize==SIZE_w&&op->sreg.sreg_index==opdata-D__ES) \n\t\t\t\treturn 0;\n\t\t\t\n\t\t\tbreak;\ncase D__Xb:\n\t\t\tif (op->mode==OP_Invalid&&\tpasm_info->NameSize==SIZE_b) \n\t\t\t\treturn 0;\n\t\t\t\n\t\t\tbreak;\n\ncase D__Xv:\t\t// Used for ( MOVS: LODS: OUTS: ... )\n\t\t\tif (op->mode==OP_Invalid&&\t(pasm_info->NameSize ==SIZE_w||\tpasm_info->NameSize ==SIZE_d))\n\t\t\t{\n\t\t\t\tpasm_info->OperandSize = pasm_info->NameSize;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D_DBYTE:\n\t\t\tif (op->mode==OP_Immed&&(op->immed.immed_value<=0xff||\top->immed.immed_value>=0xffffff80))\n\t\t\t{\n\t\t\t\tpasm_info->InstLength --;\n\t\t\t\tPutCode_b(pasm_info,(BYTE)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D_DWORD:\n\t\t\tif (op->mode==OP_Immed&&(op->immed.immed_value<=0xffff||op->immed.immed_value>=0xffff8000))\n\t\t\t{\n\t\t\t\tpasm_info->InstLength --;\n\t\t\t\tPutCode_w(pasm_info,(WORD)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D_DDWORD:\n\t\t\tif (op->mode==OP_Immed)\n\t\t\t{\n\t\t\t\tpasm_info->InstLength --;\n\t\t\t\tPutCode_d(pasm_info,(DWORD)op->immed.immed_value);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\ncase D_STRING:\n\t\t\tif (op->mode==OP_String)\n\t\t\t{\n\t\t\t\tpasm_info->InstLength --;\n\t\t\t\tfor (i=0;op->string[i]!='\\0';i++,pasm_info->InstLength++)\n\t\t\t\t\t*(BYTE*)&pasm_info->CodeBuff[pasm_info->InstLength]=(BYTE)(op->string[i]);\n\t\t\t\treturn 0;\n\t\t\t}\n\ndefault:\n\t\t\tif  (op->mode==OP_Invalid) \n\t\t\t\treturn 0;\n\t\t\t\n\t\t\tbreak;\n};\n\n\treturn 1;\n}\n\nDWORD ProcessAsmInfo(ASSEMBLY_INFOMATION *pasm_info,\n\t\t\t\t\t\t\tint OpcodeType,\n\t\t\t\t\t\t\tchar *name,\n\t\t\t\t\t\t\tint Opdata1,\n\t\t\t\t\t\t\tint Opdata2,\n\t\t\t\t\t\t\tint Opdata3)\n\n{\n\tif (pasm_info->CodeMode==BIT32)\n\t{\n\t\tpasm_info->OperandSize = 4;\n\t\tpasm_info->AddressSize = 4;\n\t}\n\telse\n\t{\n\t\tpasm_info->OperandSize = 2;\n\t\tpasm_info->AddressSize = 2;\n\t}\n\n\tif (OpcodeType != pasm_info->OpcodeType) \n\t\treturn 1;\n\t\n\tif (ProcessOpdata_asm(pasm_info,Opdata1,&pasm_info->op[0])!=0) \n\t\treturn 1;\n\n\tif (ProcessOpdata_asm(pasm_info,Opdata2,&pasm_info->op[1])!=0) \n\t\treturn 1;\n\t\n\tif (ProcessOpdata_asm(pasm_info,Opdata3,&pasm_info->op[2])!=0) \n\t\treturn 1;\n\n\tif (pasm_info->OpcodeType == C_INT&&pasm_info->op[0].immed.immed_value==0x03)\n\t{\n\t\tpasm_info->InstLength -= 2;\n\t\tPutCode_b(pasm_info,0xcc);\n\t}\n\treturn 0;\n}\n\n\nint ProcessGroup(ASSEMBLY_INFOMATION *pasm_info,DIS_OPCODE_T * pG,DIS_OPCODE_T * inst)\n{\n\tint i,j;\n\tDWORD value;\n\tint  OldInstSize;\n\tj=C_CALL;\n\t\n\tOldInstSize = pasm_info->InstLength;\n\n\tfor (i=0;i<0x08;i++)\n\t{\n\t\tpasm_info->InstLength = OldInstSize;\n\t\tpasm_info->pmodr_m->reg = (BYTE)i;\n\t\tDWORD\tOpdata1 = inst->Opdata1;\n\t\tDWORD\tOpdata2 = inst->Opdata2;\n\t\tDWORD\tOpdata3 = inst->Opdata3;\n\t\tif (pG[i].Opdata1 != D__NONE)\n\t\t\tOpdata1 = pG[i].Opdata1;\n\t\tif (pG[i].Opdata2 != D__NONE)\n\t\t\tOpdata2 = pG[i].Opdata2;\n\t\tif (pG[i].Opdata3 != D__NONE)\n\t\t\tOpdata3 = pG[i].Opdata3;\n\t\tvalue =\tProcessAsmInfo(pasm_info,\n\t\t\t\t\t\t\t\t\t\t\tpG[i].OpcodeType,\n\t\t\t\t\t\t\t\t\t\t\tpG[i].name,\n\t\t\t\t\t\t\t\t\t\t\tOpdata1,\n\t\t\t\t\t\t\t\t\t\t\tOpdata2,\n\t\t\t\t\t\t\t\t\t\t\tOpdata3);\n        if (value == 0) \n\t\t\treturn 0;\n\n\t}\n\n\treturn 1;\n}\n\n\ntypedef TList<unsigned char*> ASSEMBLE_LIST;\nint AssemblerInstruction(ASSEMBLY_INFOMATION *pasm_info,NAME_OPCODE_MAP& pmap,int prefixlength,ASSEMBLE_LIST* plist)\n{\n\tint i,value;\n\tint OldInstSize;\n\tCIStrA strname;\n\tNAME_OPCODE_MAP::IT FindIT;\n\tDIS_OPCODE_T * pOpcode;\n\tpasm_info->InstLength = prefixlength;\n\tOldInstSize=pasm_info->InstLength;\n\tstrname=pasm_info->Name;\n\tFindIT = pmap.Find(strname);\n\t\n\tfor(;FindIT!=pmap.End();FindIT++)\n\t{\n\t\tpOpcode=*FindIT;\n\t\tif(pOpcode->OpcodeType!=pasm_info->OpcodeType)\n\t\t\tcontinue;\n\t\tpasm_info->InstLength=OldInstSize;\n\t\tBYTE*opbyte = (BYTE*)&pOpcode->opbyte;\n\n\t\tfor(i=0;i<((pOpcode->opbytelen)&0xff);i++)\n\t\t{\n\t\t\tPutCode_b(pasm_info,opbyte[i]);\n\n\t\t}\n\t\tpasm_info->pmodr_m=(DIS_MODR_M*)&pasm_info->CodeBuff[pasm_info->InstLength];\n\t\tif(pOpcode->Attr&R_M)\n\t\t\tpasm_info->InstLength+=1;\n\t\tswitch(pOpcode->opbytelen & 0xff00)\n\t\t{\n\t\tcase C_GROUP_0_TYPE:\n\t\t\tpasm_info->pmodr_m->reg=((pOpcode->opbytelen>>16)&7);\n\t\t\tbreak;\n\t\tcase C_GROUP_1_TYPE:\n\t\t\tpasm_info->pmodr_m->reg=((pOpcode->opbytelen>>16)&7);\n\t\t\tif((pOpcode->opbytelen>>16)&8)\n\t\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\tbreak;\n\t\tcase C_GROUP_2_TYPE:\n\t\t\tpasm_info->pmodr_m->reg=((pOpcode->opbytelen>>16)&7);\n\t\t\tif((pOpcode->opbytelen>>16)>=8)\n\t\t\t{\n\t\t\t\tint opbytelen=(pOpcode->opbytelen>>16)-8;\n\t\t\t\tpasm_info->pmodr_m->mod=3;\n\t\t\t\tpasm_info->pmodr_m->reg=((opbytelen>>3)&7);\n\t\t\t\tpasm_info->pmodr_m->r_m=(opbytelen&7);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase C_GROUP_3_TYPE:\n\t\t\tbreak;\n\t\tcase C_GROUP_4_TYPE:\n\t\t\tbreak;\n\t\tcase C_GROUP_5_TYPE:\n\t\t\tpasm_info->pmodr_m->reg=((pOpcode->opbytelen>>16)&7);\n\t\t\tbreak;\n\t\tcase C_ESC_GROUP_TYPE:\n\t\t\tpasm_info->pmodr_m->reg=((pOpcode->opbytelen>>16)&7);\n\t\t\tbreak;\n\t\t}\n\t\t\n\t\tvalue = ProcessAsmInfo(pasm_info,\n\t\t\tpOpcode->OpcodeType,\n\t\t\tpOpcode->name,\n\t\t\tpOpcode->Opdata1,\n\t\t\tpOpcode->Opdata2,\n\t\t\tpOpcode->Opdata3);\n\t\tif (value == 0) \n\t\t{\n\t\t\tif((pOpcode->opbytelen & 0xff00)==C_GROUP_3DNOW_TYPE)\n\t\t\t{\n\t\t\t\tPutCode_b(pasm_info,(pOpcode->opbytelen>>16));\n\t\t\t}\n\t\t\tif(plist)\n\t\t\t{\n\t\t\t\tunsigned char * pcode = new unsigned char[pasm_info->InstLength+1];\n\t\t\t\tif(pcode)\n\t\t\t\t{\n\t\t\t\t\tpcode[0]=(unsigned char)pasm_info->InstLength;\n\t\t\t\t\tmemcpy(pcode+1,pasm_info->CodeBuff,pasm_info->InstLength);\n\t\t\t\t\tplist->Append(pcode);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn 0;\n\t\t}\n\t}\n\tif(plist)\n\t\treturn plist->Count()?0:1;\n\treturn 1;\n}\n\n\nint ProcessAssemberLanguage(const char *pasm,char *OutBuff)//ԤȴĿոTABַ\n{\t\n\tint i,j;\n\n\tchar tempbuff[0x200];\n\n\tstrcpy(tempbuff,pasm);\n\n\tfor (i=0;tempbuff[i]!='\\0';i++) tempbuff[i]=UPPER_CHAR(tempbuff[i]);//ַ дַ\n\n\tfor (i--;i>=0 && (tempbuff[i]==' ' || tempbuff[i]=='\\t');i--) \n\t\ttempbuff[i] = '\\0';//ȥβĿոTABַ\n\t\n\tfor (i=0;(tempbuff[i]==' '|| tempbuff[i]=='\\t');i++);//ȥ׵ĿոTABַ\n\n\tfor (j=0;tempbuff[i]!='\\0';i++,j++)\n\t{\n\t\tif (tempbuff[i]==' '||tempbuff[i]=='\\t')\n\t\t\tfor ( ;tempbuff[i+1]==' '||tempbuff[i+1]=='\\t';i++);//Ŀո ֻһĶȥ\n\t\t\n\t\tif (tempbuff[i]==' '||tempbuff[i]=='\\t')  \n\t\t{\n\t\t\tswitch (tempbuff[i+1])// ոַѿո TAB ַҲȥ\n\t\t\t{\n\t\t\tcase '+':\n\t\t\tcase '-':\n\t\t\tcase '*':\n\t\t\tcase ',':\n\t\t\tcase ']':\n\t\t\t\ti++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tswitch(tempbuff[i])\n\t\t{\n\t\tcase '[':\n\t\tcase ']':\n\t\tcase '+':\n\t\tcase '-':\n\t\tcase '*':\n\t\tcase ',':\n\t\tcase ':':\n\t\t\tOutBuff[j]=tempbuff[i];\n\t\t\tfor ( ;tempbuff[i+1]==' '||tempbuff[i+1]=='\\t';i++);//ȥַĿո TAB ַ\n\t\t\tbreak;\n\t\tdefault :\n\t\t\tOutBuff[j]=tempbuff[i];\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tOutBuff[j]='\\0';\n\n\treturn j;\n}\t\n\nint InsertGroupMap(DIS_OPCODE_T* pOpcodeTable,int num,NAME_OPCODE_MAP& NameOpcodeMap)\n{\n\tDIS_OPCODE_T* pOpcode;\n\tint i = 0;\n\tfor(i=0;i<num;i++)\n\t{\n\t\tswitch(pOpcodeTable[i].OpcodeType)\n\t\t{\n\t\tcase C_NULL:\n\t\t\tbreak;\n\t\tcase C_ESC:\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,72,NameOpcodeMap);\n\n\t\t\tbreak;\n\t\tcase C_GRP:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,8,NameOpcodeMap);\n\t\t\tfor(int j=0;j<8;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif((pOpcode[j].opbytelen&0xff00)!=C_GROUP_0_TYPE)\n\t\t\t\t\tbreak;\n\t\t\t\tif((pOpcode[j].opbytelen>>16)!=j)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase C_GRP1:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,16,NameOpcodeMap);\n\t\t\tfor(int j=0;j<16;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif((pOpcode[j].opbytelen&0xff00)!=C_GROUP_1_TYPE)\n\t\t\t\t\tbreak;\n\t\t\t\tif((pOpcode[j].opbytelen>>16)!=j)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tbreak;;\n\t\tcase C_GRP2:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,72,NameOpcodeMap);\n\n\t\t\tfor(int j=0;j<72;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif((pOpcode[j].opbytelen&0xff00)!=C_GROUP_2_TYPE)\n\t\t\t\t\tbreak;\n\t\t\t\tif((pOpcode[j].opbytelen>>16)!=j)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase C_GRP3:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,4,NameOpcodeMap);\n\n\t\t\tfor(int j=0;j<4;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif((pOpcode[j].opbytelen&0xff00)!=C_GROUP_3_TYPE)\n\t\t\t\t\tbreak;\n\t\t\t\t\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase C_GRP4:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,8,NameOpcodeMap);\n\n\t\t\tfor(int j=0;j<8;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif((pOpcode[j].opbytelen&0xff00)!=C_GROUP_4_TYPE)\n\t\t\t\t\tbreak;\n\t\t\t\tif((pOpcode[j].opbytelen>>16)!=j)\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase C_GRP5:\n\t\t\tpOpcode=(DIS_OPCODE_T*)pOpcodeTable[i].name;\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,8,NameOpcodeMap);\n\t\t\tfor(int j=0;j<8;j++)\n\t\t\t{\n\t\t\t\tif(pOpcode[j].OpcodeType==C_NULL)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(pOpcode[j].OpcodeType==C_GRP3)\n\t\t\t\t{\n\t\t\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,4,NameOpcodeMap);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase C_2BYTE:\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,256,NameOpcodeMap);\n\t\t\tbreak;\n\t\tcase C_3BYTE_0X3A:\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,256,NameOpcodeMap);\n\t\t\tbreak;\n\t\tcase C_3BYTE_0X38:\n\t\t\tInsertGroupMap((DIS_OPCODE_T*)pOpcodeTable[i].name,256,NameOpcodeMap);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif(pOpcodeTable[i].name==NULL || pOpcodeTable[i].name[0]==0)\n\t\t\t\tbreak;\n\t\t\tif(TStrICmp(\"cvtsi2sd\",pOpcodeTable[i].name)==0)\n\t\t\t\tif(pOpcodeTable[i].name==NULL || pOpcodeTable[i].name[0]==0)\n\t\t\t\t\tbreak;\n\t\t\tNameOpcodeMap.InsertEqual(pOpcodeTable[i].name,pOpcodeTable+i);\n\t\t}\n\t}\n\treturn 0;\n}\nint InitAssembler(NAME_OPCODE_MAP& NameOpcodeMap)\n{\n\tInsertGroupMap(Group_main,sizeof(Group_main)/sizeof(Group_main[0]),NameOpcodeMap);\n\tInsertGroupMap(Group0x0f0f,sizeof(Group0x0f0f)/sizeof(Group0x0f0f[0]),NameOpcodeMap);\n\n\treturn 0;\n}\nNAME_OPCODE_MAP* gpNameOpcodeMap=NULL;\nint Assembler(const char *pasm,BYTE *outcode,DWORD eip,int mode)\n{\n\tint i,j,k;\n\tchar tempbuffer[0x80];\n\tunsigned char MachineCodeBuffer[0x20];\n\tchar InstructionName[0x80];\n\tchar PX[4][0x80];\n\tASSEMBLY_INFOMATION asm_info,*pasm_info;\n\tNAME_OPCODE_MAP::IT bit;\n\tif(gpNameOpcodeMap==NULL)\n\t{\n\t\tgpNameOpcodeMap=new NAME_OPCODE_MAP;\n\t}\n\tif(gpNameOpcodeMap==NULL)\n\t\treturn 0;\n\tNAME_OPCODE_MAP &NameOpcodeMap=*gpNameOpcodeMap;\n\tif(NameOpcodeMap.Count()==0)\n\t\tInitAssembler(NameOpcodeMap);\n\tk=NameOpcodeMap.Count();\n\tpasm_info = &asm_info;\n\tmemset(pasm_info,0x00,sizeof(ASSEMBLY_INFOMATION));\n\tmemset(MachineCodeBuffer,0,sizeof(MachineCodeBuffer));\n\tpasm_info->CodeBuff = &MachineCodeBuffer[0x10];\n\tpasm_info->eip = eip;\n\tpasm_info->CodeMode = mode;\n\ti = ProcessAssemberLanguage(pasm,tempbuffer);//ԤȴոTABַ\n\tif(i<2)\n\t{\n\t\tpasm_info->error.name = 1;\n\t\treturn 0; \n\t}\n\ti=0;\n\n\tfor (k=0;k<sizeof(LockRepxx)/sizeof(LockRepxx[0]);k++)//ǰ׺\n\t{\n\t\tfor (j=0;tempbuffer[i+j] == LockRepxx[k].Name[j];j++);\n\t\t\n\t\tif (LockRepxx[k].Name[j] == 0) \n\t\t{\n\t\t\tif (LockRepxx[k].Code == 0xf0) \n\t\t\t\tpasm_info->Lock = LockRepxx[k].Code;\n\t\t\telse \n\t\t\t\tpasm_info->Repeat = LockRepxx[k].Code;\n\t\t\ti=i+j;\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tfor(j=0;(tempbuffer[i]>='A' && tempbuffer[i] <='Z') || (tempbuffer[i]>='0' && tempbuffer[i] <='9') || tempbuffer[i]=='_';j++,i++)\n\t\tInstructionName[j]=tempbuffer[i];\n\tInstructionName[j]='\\0';\n\tpasm_info->Name = InstructionName;\n\tbit = NameOpcodeMap.Find(InstructionName);\n\tif(bit==NameOpcodeMap.End())\n\t{\n\t\tpasm_info->error.name = 1;\n\t\treturn 0;\n\t}\n\tpasm_info->OpcodeType = (*bit)->OpcodeType;\n\tDIS_OPCODE_T* pTmp=(*bit);\n\tfor ( ;tempbuffer[i]==' '||tempbuffer[i]==',';i++ );\n\n\tfor (k=0;k<=3;k++)\n\t{\n\t\tfor (j=0;tempbuffer[i]!=','&&tempbuffer[i]!='\\0';i++,j++)\t//3\n\t\t\tPX[k][j]=tempbuffer[i];\n\t\tPX[k][j]='\\0';\n\t\tif (tempbuffer[i]==',') \n\t\t\ti++;\n\t}\n\tpTmp=NULL;\n\tif (PX[3][0]!='\\0') \n\t{\n\t\tpasm_info->error.P4 = 1;\n\t\treturn 0;\n\t}\n\n\tfor (k=0;k<3;k++)\n\t{\n\t\tif (ProcessParameter(PX[k],&pasm_info->op[k]))\n\t\t{\n\t\t\tswitch(k)\n\t\t\t{\n\t\t\tcase 0:\n\t\t\t\tpasm_info->error.P1=1;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tpasm_info->error.P1=1;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tpasm_info->error.P1=1;\n\t\t\t\tbreak;\n\t\t\tdefault :\n\t\t\t\tbreak;\n\t\t\t};\n\t\t\treturn 0;\n\t\t}\n\t}\n\n\ti=0;\n\tfor (k=0;k<3;k++)\n\t\tif (pasm_info->op[k].mode==OP_Register||pasm_info->op[k].mode==OP_Segment)\n\t\t\ti=pasm_info->op[k].opersize;\n\n\tfor (k=0;k<3;k++)\n\t\tif (pasm_info->op[k].mode==OP_Address&&\tpasm_info->op[k].opersize!=0)\n\t\t\ti=pasm_info->op[k].opersize;\n\n\tfor (k=0;k<3;k++)\n\t\tif (pasm_info->op[k].mode==OP_Immed&&pasm_info->op[k].opersize!=0)\n\t\t\ti=pasm_info->op[k].opersize;\n\t\t\n\tfor (k=0;k<3;k++)\n\t\tif (pasm_info->op[k].mode==OP_Address&&\tpasm_info->op[k].opersize==0)\n\t\t\tpasm_info->op[k].opersize=i;\n\n\tfor (k=0;k<3;k++)\n\t\tif (pasm_info->op[k].mode==OP_Immed&&pasm_info->op[k].opersize==0)\n\t\t\tpasm_info->op[k].opersize=i;\n\n\ti=0;\t\n\tASSEMBLE_LIST pList;\n\tif (AssemblerInstruction(pasm_info,NameOpcodeMap,0,NULL)!=0) \n\t{\n\t\tpasm_info->error.PX = 1;\n\t\treturn 0;\n\t}\n\tASSEMBLE_LIST::IT lbit,leit;\n\tfor(lbit=pList.Begin();lbit!=pList.End();lbit++)\n\t{\n\t\tunsigned char* pstr=*lbit;\n\t\t//for(int i =0;i<pstr[0];i++)\n\t\t//\tprintf(\"%02x \",pstr[1+i]);\n\t\tdelete []pstr;\n\t}\n\tpList.Clear();\n\tpasm_info->PrefixLength = 0;\n\t\n\tif (pasm_info->Lock == 0xf0 )\n\t{\n\t\tpasm_info->CodeBuff--;\n\t\tpasm_info->PrefixLength++;\n\t\t*pasm_info->CodeBuff=0xf0;\n\t}\n\n\tif (pasm_info->Repeat != 0)\n\t{\n\t\tpasm_info->CodeBuff--;\n\t\tpasm_info->PrefixLength++;\n\t\t*pasm_info->CodeBuff = pasm_info->Repeat;\n\t}\n\n\tint codesize;\n\n\tif (pasm_info->CodeMode==BIT32) codesize = 4;\n\telse codesize = 2;\n\n\tif (pasm_info->AddressSize!=codesize) \n\t{\n\t\tpasm_info->CodeBuff--;\n\t\tpasm_info->PrefixLength++;\n\t\t*pasm_info->CodeBuff=0x67;\n\t}\n\t\n\tif (pasm_info->OperandSize!=codesize) \n\t{\n\t\tpasm_info->CodeBuff--;\n\t\tpasm_info->PrefixLength++;\n\t\t*pasm_info->CodeBuff=0x66;\n\t}\n\t\n\tif (pasm_info->SegmentPrefix != 0) \n\t{\n\t\tpasm_info->CodeBuff--;\n\t\tpasm_info->PrefixLength++;\n\t\t*pasm_info->CodeBuff=pasm_info->SegmentPrefix;\n\t}\n\t\n\tk = pasm_info->InstLength+pasm_info->PrefixLength;\n\n\tfor (i=0;i<k;i++)\n\t\toutcode[i]=pasm_info->CodeBuff[i];\n\t \n\treturn k;\n}\n\n//ģ顪\n//\n\nint Disassembler(char *OutBuff,BYTE *InBuff,DWORD EIP,int Mode,int U_x1,int U_x2)\n{\n\tINSTRUCTION_INFORMATION InstInfo;\n\n\tInstInfo.pasm = OutBuff;\n\tInstInfo.U_x1 = U_x1;\n\tInstInfo.U_x2 = U_x2;\n\tDIS_CPU DispCpu;\n\n\treturn Disassembly(&InstInfo,InBuff,EIP,Mode,&DispCpu);\n}\n\nchar ** GetIntelConstName(int *pNumb)\n{\n\tint i;\n\n\tstatic int NameNumb=0;\n\n\tif (NameNumb==0)\n\t{\n\t\ti=sizeof(Group_main)/sizeof(Group_main[0]);\n\t\tReadIntelName((char*)Group_main,i);\n\t\tfor (i=0;Emblem[i]!=NULL;i++)\n\t\t\tNameNumb = i;\n\t}\n\n\tif (pNumb!=NULL)\n\t{\n\t\t*pNumb = NameNumb;\n\t}\n\treturn Emblem;\n}\n\nbool IsJmp(unsigned short pCode,DWORD Eflags)\n{\n\tswitch(pCode)\n\t{\n\tcase 0xf80:\n\tcase 0x70:\n\t\treturn (Eflags&EFLAGS_OF_MASK) != 0;\n\tcase 0xf81:\n\tcase 0x71:\n\t\treturn (Eflags&EFLAGS_OF_MASK) == 0;\n\tcase 0xf82:\n\tcase 0x72:\n\t\treturn (Eflags&EFLAGS_CF_MASK) != 0;\n\tcase 0xf83:\n\tcase 0x73:\n\t\treturn (Eflags&EFLAGS_CF_MASK) == 0;\n\tcase 0xf84:\n\tcase 0x74:\n\t\treturn (Eflags&EFLAGS_ZF_MASK) != 0;\n\tcase 0xf85:\n\tcase 0x75:\n\t\treturn (Eflags&EFLAGS_ZF_MASK) == 0;\n\tcase 0xf86:\n\tcase 0x76:\n\t\treturn ((Eflags&EFLAGS_ZF_MASK) != 0)&&((Eflags&EFLAGS_CF_MASK) != 0);\n\tcase 0xf87:\n\tcase 0x77:\n\t\treturn ((Eflags&EFLAGS_ZF_MASK) == 0)&&((Eflags&EFLAGS_CF_MASK) == 0);\n\tcase 0xf88:\n\tcase 0x78:\n\t\treturn (Eflags&EFLAGS_SF_MASK) != 0;\n\tcase 0xf89:\n\tcase 0x79:\n\t\treturn (Eflags&EFLAGS_SF_MASK) == 0;\n\tcase 0xf8a:\n\tcase 0x7a:\n\t\treturn (Eflags&EFLAGS_PF_MASK) != 0;\n\tcase 0xf8b:\n\tcase 0x7b:\n\t\treturn (Eflags&EFLAGS_PF_MASK) == 0;\n\tcase 0xf8c:\n\tcase 0x7c:\n\t\treturn (Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT != (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT;\n\tcase 0xf8d:\n\tcase 0x7d:\n\t\treturn (Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT == (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT;\n\tcase 0xf8e:\n\tcase 0x7e:\n\t\treturn ((Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT != (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT) && (Eflags&EFLAGS_ZF_MASK) != 0;\n\tcase 0xf8f:\n\tcase 0x7f:\n\t\treturn ((Eflags & EFLAGS_OF_MASK)>>EFLAGS_OF_SHIFT == (Eflags & EFLAGS_SF_MASK)>>EFLAGS_SF_SHIFT) && (Eflags&EFLAGS_ZF_MASK) == 0;\n\t}\n\treturn false;\n}\nint CIntelDisassembler::GetLength(BYTE *InBuff,int Mode)\n{\n\treturn ::Disassembler(NULL,InBuff,0x100,Mode);\n}\n\nchar ** CIntelDisassembler::GetIntelConstName(int *pNumb)\n{\n\treturn ::GetIntelConstName(pNumb);\n}\n\nint CIntelDisassembler::Disassembler(INSTRUCTION_INFORMATION *pInstInfo,DIS_CPU *dis_cpu)\n{\n\tint mode;\n\tDWORD eip;\n\tBYTE *inbuff;\n\n\tmode = m_Mode;\n\n\tpInstInfo->CodeMode = mode;\n\teip = pInstInfo->eip;\n\tinbuff = pInstInfo->CodeBuff;\n\n\tpInstInfo->U_x1 = m_U_x1;\n\tpInstInfo->U_x2 = m_U_x2;\n\n\treturn ::Disassembly(pInstInfo,inbuff,eip,mode,dis_cpu);\n}\n\nint CIntelDisassembler::Assembler(const char *InBuff,BYTE *OutCode,DWORD EIP,int Mode)\n{\n\treturn ::Assembler(InBuff,OutCode,EIP,Mode);\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/IntelDis.h",
    "content": "#ifndef _INTEL_DISASSEMBLER_H_\n#define _INTEL_DISASSEMBLER_H_\n\n#include \"IntelDef.h\"\n#include \"../../Code/Source/Code.h\"\n#define EFLAGS_OF_MASK 0x800\n#define EFLAGS_SF_MASK 0x80\n#define EFLAGS_ZF_MASK 0x40\n#define EFLAGS_AF_MASK 0x10\n#define EFLAGS_PF_MASK 0x4\n#define EFLAGS_CF_MASK 0x1\n#define EFLAGS_OF_SHIFT 11\n#define EFLAGS_SF_SHIFT 7\n#define EFLAGS_ZF_SHIFT 6\n#define EFLAGS_AF_SHIFT 4\n#define EFLAGS_PF_SHIFT 2\n#define EFLAGS_CF_SHIFT 0\n\n#if 0\nunion DIS_GEN_REG_T\n{\n\tDWORD erx;\n\tstruct\n\t{\n\t\tWORD word_filler;\n\t\tunion\n\t\t{\n\t\t\tWORD rx;\n\t\t\tstruct\n\t\t\t{\n\t\t\t\tBYTE rh;\n\t\t\t\tBYTE rl;\n\t\t\t} byte;\n\t\t} u_word;\n\t} word;\n};\n#else\n\nunion DIS_GEN_REG_T\n{\n\tQWORD erx;\n\tstruct\n\t{\n\t\tunion\n\t\t{\n\t\t\tWORD rx;\n\t\t\tstruct\n\t\t\t{\n\t\t\t\tBYTE rl;\n\t\t\t\tBYTE rh;\n\t\t\t} byte;\n\t    } u_word;\n\n\t\tWORD word_filler;\n\t} word;\n};\n\n#endif\n\nstruct DIS_CPU\n{\n\tDIS_GEN_REG_T gen_reg[0x16];\n\tDWORD SEG_BASE[0x06];\n\tDWORD Eflags;\n\tchar* gen_regsymbolname[0x8];\n};\n\ntypedef struct _DIS_MODR_M\n{\n\tunsigned int r_m:3;\n\tunsigned int reg:3; // Ĵ / չ\n\tunsigned int mod:2;\n\tunsigned int base:3;\n\tunsigned int index:3;\n\tunsigned int scale:2;\n\tunsigned int disp0:8;\n\tunsigned int disp1:8;\n\tunsigned int disp2:8;\n\tunsigned int disp3:8;\n\n} DIS_MODR_M,*PDIS_MODR_M;\n\ntypedef struct _DIS_OPCODE_T\n{\n\tint Attr;\t\t\t//Ѱַʽֶ\n\tint OpcodeType;\t\t//\n\tint Opdata1;\t\t//\n\tint Opdata2;\n\tint Opdata3;\n\tchar *name;\t\t\t//ָ(ָ)\t\"PUSHF\",\"IRET\",\t\"MOVSW\",...\n\t//char *name32;\t\t//ָ(ָ)\t\"PUSHFD\",\"IRETD\",\"MOVSD\",...\n\tint opbyte;\n\tint opbytelen;\n\tint rwflags;\n} DIS_OPCODE_T,*PDIS_OPCODE_T;\n\n//ڴѰַṹ\ntypedef struct _DIS_ADDRESS\n{\n\tunsigned int address_size;\t// ַָߴ BIT16/BIT32 : [bx+si]/[ebx+edi]\n\t//--------------\n\tunsigned int r_m;\n\tunsigned int reg;\t\t\t// Ĵ / չ\n\tunsigned int mod;\n\tunsigned int base;\t\t\t//ַĴĺ  [EBX + ESI*2 +99] е base = 3 \n\tunsigned int index;\t\t\t//Ĵĺ  [EBX + ESI*8 +69] е index = 6\n\tunsigned int scale;\t\t\t//    [EBX + ESI*4 +96] е scale = 2\n\tunsigned int segment;\t\t//ModR/Mֶξ  μĴindex  [EBX+ESI*4+96] Ϊ I_DS\n\tunsigned int displacement_size;\t//ModR/Mֶξ ƫֽ1/2/4\n\t//--------------\n\tQWORD displacement;\t\t//: mov eax,[ebx+esi*4+8f]  displacement = 8f\n\tQWORD effect_address;\t//Чַ\n\tQWORD line_address;\n\t//--------------\n\n} DIS_ADDRESS,*PDIS_ADDRESS;\n\n//intel ָĲ͡\n#define mode_invalid\t0\n#define mode_address\t1\n#define mode_register\t2\n#define mode_segment\t3\n#define mode_immed\t\t4\n#define mode_near\t\t5\n#define mode_far\t\t6\n//intel assembler language ָĲ͡\n#define mode_datadup\t20\n#define mode_symbol\t\t21\n#define mode_align\t\t22\n\n\n#define\tRWFLG_UNKNOWN\t\t0\n#define RWFLG_READ\t\t\t1\n#define RWFLG_WRITE\t\t\t2\n#define\tRWFLG_ACCESS\t\t3\n\n#define MAX_SYMBOL_LEN\t\t0x40\n\n//intel ṹ\ntypedef struct _OPERAND_ITEM\n{\n\tint mode;\t\t\t\t\t//0:Invalid 1:Address 2:Register 3:Segment \n\t\t\t\t\t\t\t\t//4:Immed 5:Near Pointer 6:Far Pointer 7:STRING\n\tint rwflag;\t\t\t\t\t//0:Unknown\t1:Read 2:Write 3:Access\n\tint opersize;\t\t\t\t//1:byte, 2:word, 4:dword, 8:double dword\n\n\tchar string[0x20];\t\t\t// \"[eax+ebx]\",\"ecx\",\"ES\",\"0x0123\" \t\n\n\tunion\n\t{\n\t\tDIS_ADDRESS addr;\t//for Mode 1:Address\n\n\t\tstruct\t\t\t\t//example mov fs,cx\n\t\t{\n\t\t\tint  reg_index; //reg_index = I_ECX (0x01)\n\n\t\t} reg;\t\t\t\t//for Mode 2:Register\t\n\n\t\tstruct\t\t\t\t//example mov fs,ax\n\t\t{\n\t\t\tint seg_index;\t// seg_index = I_FS (0x04)\n\n\t\t} seg;\t\t\t\t//for Mode 3:Segment Register\t\n\n\t\tstruct\n\t\t{\n\t\t\tQWORD immed_value;\n\n\t\t} immed;\t\t\t//for Mode 4:Immed\n\n\t\tstruct\t\t\t\t//example 0x100:jmp 120\n\t\t{\n\t\t\t__int64 offset;\t// offset = 0x1e\n\t\t\tQWORD label;\t// label = 0x120\n\n\t\t} nearptr;\t\t\t//for Mode 5:Near Pointer\n\n\t\tstruct\t\t\t\t//example jmp 0x28:0x100\n\t\t{\n\t\t\tDWORD   offset;\t //offset = 0x100\n\t\t\tDWORD   segment; //segment = 0x28\n\n\t\t} farptr;\t\t\t//for Mode 6:Far Pointer\n\n\n\t\tstruct\n\t\t{\n\t\t\tint count;\n\t\t\tBYTE buffer[0x20];\n\n\t\t} datadup;\t\t\t//for Mode 20:mode_datadup\n\n\t\tstruct\n\t\t{\n\t\t\tchar string[MAX_SYMBOL_LEN];\n\t\t\tBOOL offset;\n\t\t\tint\t mode;\n\t\t\tDWORD addr;\n\t\t} symbol;\t\t\t//for Mode 20:mode_symble\n\n\t\tstruct\n\t\t{\n\t\t\tDWORD nBytes;\n\t\t} align;\t\t\t//for Mode 20:mode_align\n\t};\n\n} OPERAND_ITEM,*POPERAND_ITEM;\n\ntypedef struct _DISP_INSTRUCTION_T\n{\n\t// prefix stuff here...\n\tunsigned int attr;\t\t\t\t// attribute from fetchdecode\n\tunsigned int b1;\t\t\t\t// opcode1 byte\n\tunsigned int mandatory_used;\t// ǿǰ׺ 0x66 0xf2 0xf3 \n\tunsigned int rep_used;\n\tunsigned int lock;\t\t\t\t// tang add\n\tunsigned int rex_prefix;\t\t// for 64 bit \n\tunsigned int modrm;\t\t\t\t// mod-nnn-r/m byte\n\tunsigned int mod;\n\tunsigned int nnn;\t\t\t\t// Ĵ / չ\n    unsigned int rm;\n\tWORD displ16u;\t\t\t\t// for 16-bit modrm forms\n\tDWORD displ32u;\t\t\t\t// for 32-bit modrm forms\n\tunsigned int seg;\n\tunsigned int sib;\t\t\t\t// scale-index-base (2nd modrm byte)\n    unsigned int scale;\n    unsigned int index;\n    unsigned int base;\n\tQWORD   addr_displacement;\t// address displacement\n\tQWORD   rm_addr;\n\tQWORD\tIq;\n\tDWORD   Id;\n\tWORD\tIw;\n\tBYTE    Ib;\n\tBYTE    Ib2;\t\t\t\t\t// for ENTER_IwIb  EXTRQ Vdq,Ib,Ib2\n\tWORD\tIw2;\t\t\t\t\t// for JMP_Ap\n\tunsigned int ilen;\t\t\t\t\t// instruction length\n\tunsigned int modrm_length;\t\t\t// ModR/Mֶξ ָ\n\tunsigned int displacement_size;\t\t//ModR/Mֶξ ƫֽ1/2/4\n\tunsigned int os_32, as_32;\t\t\t// OperandSize/AddressSize is 32bit\n\tunsigned int flags_in, flags_out;\t// flags needed, flags modified\n\tunsigned int destination,source,other; //tang add\n\tunsigned int opcode_len;\n\tunsigned int perfix_len;\n\tunsigned int have_regrm;\n\tunsigned int have_sib;\n\tunsigned int mode;\n\tunsigned int RIP_Relative;\n\n} DISP_INSTRUCTION_T;\n\n\n//intel ָṹ\ntypedef struct  _INSTRUCTION_INFORMATION\n{\n\tDWORD eip;\t\t//ָλ \n\tint CodeMode;\t//ģʽ---ʮλ(BIT16)ʮλ(BIT32)\n\tint Length;\t\t//ָ example: nop -- Length = 0x01\n\n\tint\tOpCode;\t\t//example: mov eax,ebx ָСOpCode = C_MOV\n\t\t\t\t\t//C_MOV,C_ADD,C_ADC,C_SUB,C_SBB,C_CMP...\n\tint OpcodeLen;\t//\n\tint OpType;\t\t//Ŀǰ\n\tint CodeType;\t//Ŀǰ\n\n\t//======================\n\t\n\n\tchar Name[0x10];\t\t\t//\"ADD\",\"ADC\",\"SUB\",\"MOV\",\"INC\",\"DEC\"\n\tint\t Lock;\t\t\t\t\t// for LOCK prefix value = 0xf0  -1\n\tchar LockName[0x08];\t\t// \"LOCK\"\n\tint\t Repeat;\t\t\t\t// for REPZ/REPNZ prefix vlaue = 0xf2 /0xf3 / -1\n\tchar RepeatName[0x08];\t\t// \"REP\",\"REPZ\",\"REPNZ\",\"REPE\",\"REPNE\"\n\n\t//I_ES,I_CS,I_SS,I_DS,I_FS,I_GS\n\tint SegmentPrefix;\t\t\t\t//οԽǰ׺  mov es:[eax+ebx],ecx е segprefix = I_ES (0x00)\n\tint xxxxptr;\t\t\t\t//ָʾ  mov dword ptr [ebx],0x01234567 е xxxxptr = sizeof(DWORD)  (0x04)\n\t\t\t\t\t\t\t\t//(BYTE PTR) (WORD PTR) (DWORD PTR)\n\t\t\t\t\t\t\t\t//(FDWORD PTR) (NEAR) (FAR)\n\n\t//=======================\n\tOPERAND_ITEM op[3];\t\t\t//intel ָ  \n\t//=======================\n\n\tBYTE *CodeBuff;\t\t\t// ƵĴ example: '0xB8 0x01 0x23 0x45 0x67'\n\t\t\t\t\t\t\t// CodeBuff Ϊ NULL\n\t//=======================\n\n\tchar *pasm;\t\t\t\t// ַ example: \"mov eax,67543210\"\n\t\t\t\t\t\t\t// pasm Ϊ NULL\n\t//char hexcode[0x20];\t\t//ʮƵĴ봮 example: \"B801234567\"\n\n\tint U_x1,U_x2,U_x3;\n\t//Uasm Output Format Contral,\n\t//example:\n\t//\t\tMOV   EAX,WORD PTR ES:[EAX]\n\t//0\t\tx1    x2                   x3\n\t//ƷڻеĴʽ.\n\t//ûU_x1,U_x2; U_x3ֻд.\n\tint PrefixLen;\t\t\t//ָǰ׺ĳ\n\tint Have_RegRM;\n\tint Have_SIB;\n\tint Is3DNow;\n\tint Rex_Prefix;\n\n} INSTRUCTION_INFORMATION,*PINSTRUCTION_INFORMATION;\n\n#define SIZE_a\t\t8\n#define SIZE_b\t\t1\n#define SIZE_d\t\t4\n#define SIZE_dq\t\t16\n#define SIZE_pi\t\t8\n#define SIZE_ps\t\t8\n#define SIZE_q\t\t8\n#define SIZE_s\t\t6\n#define SIZE_ss\t\t16\n#define SIZE_sd\t\t16\n#define SIZE_t\t\t10\n#define SIZE_w\t\t2\n#define SIZE_pd\t\t16\n\n\n#define\tOPER_UNKNOWN\t0\n#define OPER_READ\t\t1\n#define\tOPER_WRITE\t\t2\n#define\tOPER_ACCESS\t\t3\n\ntypedef enum _OP_TYPE_ENUM\n{\n\tOP_Invalid,\n\tOP_Address,\n\tOP_Register,\n\tOP_Segment,\n\tOP_Immed,\n\tOP_Near,\n\tOP_Far,\n    OP_String,\n\tOP_ControlRegister,\n\tOP_DebugRegister,\n\tOP_MMXRegister,\n\tOP_XMMRegister,\n\tOP_ByteRegister,\n\tOP_WordRegister,\n\tOP_DwordRegister,\n\tOP_SegmentRegister,\n\tOP_FPURegister,\n}OP_TYPE_ENUM,*POP_TYPE_ENUM;\n\n// The list of the types of Opdata1, Opdata2, Opdata3\n\ntypedef struct _tagLOCKREPXX\n{\n\tchar* Name;\n\tBYTE  Code;\n\n} LOCKREPXX,PLOCKREPXX;\n\ntypedef struct _OPDATAWIDE \n{\n   int Size;\n   char *Xptr;\n\n}  OPDATAWIDE,POPDATAWIDE;\n\ntypedef struct _OPER_ITEM\n{\n\tOP_TYPE_ENUM    mode;\t\t//0:Invalid 1:Address 2:Regsiter 3:Segment 4:Immed\n\t\t\t\t\t\t//5:Near Pointer 6:Far Pointer 7:STRING\n\tBYTE    rwflag;\t\t//0:Unknown\t1:Read 2:Write 3:Access\n\tint    opersize;\t//1:byte, 2:word, 4:dword, 8:double dword\n\tOP_TYPE_ENUM\treg_type;\n\tint\t\tprefix_size;// dword ptr, word ptr,byte ptr,qword ptr ,tbyte ptr.if assembly instruction includes \n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tint seg_index;\t//SegReg Index!!!\n\t\t\tint reg_size;\t//2:WORD 4:DWORD\n\t\t\tint base_reg_index;\n\t\t\tint off_reg_index;\n\t\t\tint off_reg_scale;\n\t\t\tDWORD   off_value;\n\t\t}   addr;\t\t//for Mode 1:Address\n\n\t\tstruct\n\t\t{\n\t\t\tint reg_index;\n\t\t}   reg;\t\t//for Mode 2:Register\t\n\t\tstruct\n\t\t{\n\t\t\tint sreg_index;\n\t\t}   sreg;\t\t//for Mode 3:Segment Register\t\n\t\tstruct\n\t\t{\n\t\t\tQWORD   immed_value;\n\t\t}   immed;\t\t//for Mode 4:Immed\n\t\tstruct\n\t\t{\n\t\t\tDWORD   offset;\n\t\t}   nearptr;\t//for Mode 5:Near Pointer\n\t\tstruct\n\t\t{\n\t\t\tDWORD   segment;\n\t\t\tDWORD   offset;\n\t\t}   farptr;\t\t//for Mode 6:Far Pointer\n\t\t\n\t\tchar string[0x80];\t\t\n\t\n\t};\n\n} OPER_ITEM,*POPER_ITEM;\n\n\n\n\nstruct ASSEMBLY_ERROR\n{\t\n\tunsigned\tint name:1;\t\t//ָǷûҵ\n\tunsigned\tint Type:1;\t\t//ָûҵ\n\tunsigned\tint P1:1;\t\t//һ\n\tunsigned\tint P2:1;\t\t//\n\tunsigned\tint P3:1;\t\t//\n\tunsigned\tint P4:1;\t\t//Ĵ\n\tunsigned  \tint PX:1;\t\t//ì\n\tunsigned\tint Size:1;\t\t//޿ȴ\n};\n \ntypedef struct  _ASSEMBLY_INFOMATION\n{\n\tint NameSize;\n\n\tBYTE Lock;\t// for LOCK prefix\n\tBYTE Repeat;\t// for REPZ/REPNZ prefix\n\tint OperandSize;\n\tint AddressSize;\n\tBYTE SegmentPrefix; // for ES: CS: SS: DS: FS: GS:\n\n\tint OpcodeType;\n\tchar *Name;\n\t\n\tOPER_ITEM op[3];\n\tDWORD\teip; \n\tDIS_MODR_M * pmodr_m;\n\tint InstLength;\n\tint PrefixLength;\n\tDIS_MODR_M RegRM_SIB;\n\t//=======================================================\n\n\tint CodeMode;\t\t\t\t//ģʽ---ʮλ(BIT16)ʮλ(BIT32)\n\tint ByteCount;\t\t\t\t //ڲ\n\tBYTE *CodeBuff;\t\t\t\t//ڲ\n\n\tASSEMBLY_ERROR error;\n\n} ASSEMBLY_INFOMATION,*PASSEMBLY_INFOMATION;\n\n\n//========================================\n\n\n//========================================\n\n//ຯ\n//Disassembly: ֵΪ ָ\n//InBuff: buffer Ϊ 1 -- 16 ֽ\n//EIP: ָĵǰλã jmp call jz jnz ָʱõ\n//Mode: òֵΪ BIT16 BIT32 ֱ 16λ/32λ\nint Disassembly(INSTRUCTION_INFORMATION *pInstInfo,BYTE *InBuff,QWORD EIP,int Mode,DIS_CPU *dis_cpu=NULL);\nint Disassembler(char *OutBuff,BYTE *InBuff,DWORD EIP,int Mode = BIT32,int U_x1=0,int U_x2=0x08);\nint Assembler(const char *InBuff,BYTE *OutBuff,DWORD EIP,int Mode = BIT32);\nint PrintPasm(INSTRUCTION_INFORMATION *pInstInfo,char *pasm,int u_x1,int u_x2);\nint PrintPasmForIDA(INSTRUCTION_INFORMATION *pInstInfo,char *pasm,int u_x1,int u_x2);\n//=================================\n\nclass CIntelDisassembler\n{\npublic:\n\n\tint m_U_x1;\n\tint m_U_x2;\n\tint m_U_x3;\n\tint m_Mode;\npublic:\n\tCIntelDisassembler()\n\t{\n\t\tm_U_x1 = 6;\n\t\tm_U_x2 = 12;\n\t\tm_U_x3 = 20;\n\t}\n\t\n\t~CIntelDisassembler()\n\t{\t\t\n\t}\n\npublic:\n\n\tvoid SetStyle(int U_x1,int U_x2,int U_x3)\n\t{\n\t\tm_U_x1 = U_x1;\n\t\tm_U_x2 = U_x2;\n\t\tm_U_x3 = U_x3;\n\t}\n\n\tvoid SetMode(int Mode)\n\t{\n\t\tm_Mode = Mode;\n\t}\n\n\tstatic int GetLength(BYTE *InBuff,int Mode);\n\tstatic char ** GetIntelConstName(int *pNumb=(int*)(0));\n\tint Disassembler(INSTRUCTION_INFORMATION *pInstInfo,DIS_CPU *dis_cpu=NULL);\n\tint Assembler(const char *InBuff,BYTE *OutCode,DWORD EIP,int Mode);\n};\nbool IsJmp(unsigned short pCode,DWORD Eflags);\n\n\nextern DIS_OPCODE_T Group0x80[8];\nextern DIS_OPCODE_T Group0x81[8];\nextern DIS_OPCODE_T Group0x82[8];\nextern DIS_OPCODE_T Group0x83[8];\nextern DIS_OPCODE_T Group0xc0[8];\nextern DIS_OPCODE_T Group0xc1[8];\nextern DIS_OPCODE_T Group0xc6[8];\nextern DIS_OPCODE_T Group0xc7[8];\nextern DIS_OPCODE_T Group0xd0[8];\nextern DIS_OPCODE_T Group0xd1[8];\nextern DIS_OPCODE_T Group0xd2[8];\nextern DIS_OPCODE_T Group0xd3[8];\nextern DIS_OPCODE_T Group0xf6[8];\nextern DIS_OPCODE_T Group0xf7[8];\nextern DIS_OPCODE_T Group0xfe[8];\nextern DIS_OPCODE_T Group0xff[8];\nextern DIS_OPCODE_T Group0x8f[8];\nextern DIS_OPCODE_T Group0xd8[72];\nextern DIS_OPCODE_T Group0xd9[72];\nextern DIS_OPCODE_T Group0xda[72];\nextern DIS_OPCODE_T Group0xdb[72];\nextern DIS_OPCODE_T Group0xdc[72];\nextern DIS_OPCODE_T Group0xdd[72];\nextern DIS_OPCODE_T Group0xde[72];\nextern DIS_OPCODE_T Group0xdf[72];\nextern DIS_OPCODE_T Group0x0f00[8];\n\nextern DIS_OPCODE_T Group0x0f01[72];\nextern DIS_OPCODE_T Group0x0f18[8];\nextern DIS_OPCODE_T Group0x0f71[8];\nextern DIS_OPCODE_T Group0x0f72[8];\nextern DIS_OPCODE_T Group0x0f73[8];\nextern DIS_OPCODE_T Group0x0fae[16];\nextern DIS_OPCODE_T Group0x0fba[8];\nextern DIS_OPCODE_T Group0x0fc7[8];\nextern DIS_OPCODE_T Group0x0f3800[4];\nextern DIS_OPCODE_T Group0x0f3801[4];\nextern DIS_OPCODE_T Group0x0f3802[4];\nextern DIS_OPCODE_T Group0x0f3803[4];\nextern DIS_OPCODE_T Group0x0f3804[4];\nextern DIS_OPCODE_T Group0x0f3805[4];\nextern DIS_OPCODE_T Group0x0f3806[4];\nextern DIS_OPCODE_T Group0x0f3807[4];\nextern DIS_OPCODE_T Group0x0f3808[4];\nextern DIS_OPCODE_T Group0x0f3809[4];\nextern DIS_OPCODE_T Group0x0f380a[4];\nextern DIS_OPCODE_T Group0x0f380b[4];\nextern DIS_OPCODE_T Group0x0f3810[4];\nextern DIS_OPCODE_T Group0x0f3814[4];\nextern DIS_OPCODE_T Group0x0f3815[4];\nextern DIS_OPCODE_T Group0x0f3817[4];\nextern DIS_OPCODE_T Group0x0f381c[4];\nextern DIS_OPCODE_T Group0x0f381d[4];\nextern DIS_OPCODE_T Group0x0f381e[4];\nextern DIS_OPCODE_T Group0x0f3820[8];\nextern DIS_OPCODE_T Group0x0f3821[8];\nextern DIS_OPCODE_T Group0x0f3822[8];\nextern DIS_OPCODE_T Group0x0f3823[8];\nextern DIS_OPCODE_T Group0x0f3824[8];\nextern DIS_OPCODE_T Group0x0f3825[8];\nextern DIS_OPCODE_T Group0x0f3828[4];\nextern DIS_OPCODE_T Group0x0f3829[4];\nextern DIS_OPCODE_T Group0x0f382a[4];\nextern DIS_OPCODE_T Group0x0f382b[4];\nextern DIS_OPCODE_T Group0x0f3830[8];\nextern DIS_OPCODE_T Group0x0f3831[8];\nextern DIS_OPCODE_T Group0x0f3832[8];\nextern DIS_OPCODE_T Group0x0f3833[8];\nextern DIS_OPCODE_T Group0x0f3834[8];\nextern DIS_OPCODE_T Group0x0f3835[8];\nextern DIS_OPCODE_T Group0x0f3837[4];\nextern DIS_OPCODE_T Group0x0f3838[4];\nextern DIS_OPCODE_T Group0x0f3839[4];\nextern DIS_OPCODE_T Group0x0f383a[4];\nextern DIS_OPCODE_T Group0x0f383b[4];\nextern DIS_OPCODE_T Group0x0f383c[4];\nextern DIS_OPCODE_T Group0x0f383d[4];\nextern DIS_OPCODE_T Group0x0f383e[4];\nextern DIS_OPCODE_T Group0x0f383f[4];\nextern DIS_OPCODE_T Group0x0f3840[4];\nextern DIS_OPCODE_T Group0x0f3841[4];\nextern DIS_OPCODE_T Group0x0f3880[8];\nextern DIS_OPCODE_T Group0x0f3881[8];\nextern DIS_OPCODE_T Group0x0f38f0[8];\nextern DIS_OPCODE_T Group0x0f38f1[8];\nextern DIS_OPCODE_T Group0x0f38[256];\nextern DIS_OPCODE_T Group0x0f3a08[4];\nextern DIS_OPCODE_T Group0x0f3a09[4];\nextern DIS_OPCODE_T Group0x0f3a0a[4];\nextern DIS_OPCODE_T Group0x0f3a0b[4];\nextern DIS_OPCODE_T Group0x0f3a0c[4];\nextern DIS_OPCODE_T Group0x0f3a0d[4];\nextern DIS_OPCODE_T Group0x0f3a0e[4];\nextern DIS_OPCODE_T Group0x0f3a0f[4];\nextern DIS_OPCODE_T Group0x0f3a14[8];\nextern DIS_OPCODE_T Group0x0f3a15[8];\nextern DIS_OPCODE_T Group0x0f3a16[4];\nextern DIS_OPCODE_T Group0x0f3a17[4];\nextern DIS_OPCODE_T Group0x0f3a20[8];\nextern DIS_OPCODE_T Group0x0f3a21[8];\nextern DIS_OPCODE_T Group0x0f3a22[4];\nextern DIS_OPCODE_T Group0x0f3a40[4];\nextern DIS_OPCODE_T Group0x0f3a41[4];\nextern DIS_OPCODE_T Group0x0f3a42[4];\nextern DIS_OPCODE_T Group0x0f3a60[4];\nextern DIS_OPCODE_T Group0x0f3a61[4];\nextern DIS_OPCODE_T Group0x0f3a62[4];\nextern DIS_OPCODE_T Group0x0f3a63[4];\nextern DIS_OPCODE_T Group0x0f3a[256];\nextern DIS_OPCODE_T Group0x0f70[4];\nextern DIS_OPCODE_T Group0x0f74[4];\nextern DIS_OPCODE_T Group0x0f75[4];\nextern DIS_OPCODE_T Group0x0f76[4];\nextern DIS_OPCODE_T Group0x0f7c[4];\nextern DIS_OPCODE_T Group0x0f7d[4];\nextern DIS_OPCODE_T Group0x0f7e[4];\nextern DIS_OPCODE_T Group0x0f7f[4];\nextern DIS_OPCODE_T Group0x0f60[4];\nextern DIS_OPCODE_T Group0x0f61[4];\nextern DIS_OPCODE_T Group0x0f62[4];\nextern DIS_OPCODE_T Group0x0f63[4];\nextern DIS_OPCODE_T Group0x0f64[4];\nextern DIS_OPCODE_T Group0x0f65[4];\nextern DIS_OPCODE_T Group0x0f66[4];\nextern DIS_OPCODE_T Group0x0f67[4];\nextern DIS_OPCODE_T Group0x0f68[4];\nextern DIS_OPCODE_T Group0x0f69[4];\nextern DIS_OPCODE_T Group0x0f6a[4];\nextern DIS_OPCODE_T Group0x0f6b[4];\nextern DIS_OPCODE_T Group0x0f6c[4];\nextern DIS_OPCODE_T Group0x0f6d[4];\nextern DIS_OPCODE_T Group0x0f6e[4];\nextern DIS_OPCODE_T Group0x0f6f[4];\nextern DIS_OPCODE_T Group0x0f50[8];\nextern DIS_OPCODE_T Group0x0f51[4];\nextern DIS_OPCODE_T Group0x0f52[4];\nextern DIS_OPCODE_T Group0x0f53[4];\nextern DIS_OPCODE_T Group0x0f54[4];\nextern DIS_OPCODE_T Group0x0f55[4];\nextern DIS_OPCODE_T Group0x0f56[4];\nextern DIS_OPCODE_T Group0x0f57[4];\nextern DIS_OPCODE_T Group0x0f58[4];\nextern DIS_OPCODE_T Group0x0f59[4];\nextern DIS_OPCODE_T Group0x0f5a[4];\nextern DIS_OPCODE_T Group0x0f5b[4];\nextern DIS_OPCODE_T Group0x0f5c[4];\nextern DIS_OPCODE_T Group0x0f5d[4];\nextern DIS_OPCODE_T Group0x0f5e[4];\nextern DIS_OPCODE_T Group0x0f5f[4];\nextern DIS_OPCODE_T Group0x0f10[4];\nextern DIS_OPCODE_T Group0x0f11[4];\nextern DIS_OPCODE_T Group0x0f12[8];\nextern DIS_OPCODE_T Group0x0f13[4];\nextern DIS_OPCODE_T Group0x0f14[4];\nextern DIS_OPCODE_T Group0x0f15[4];\nextern DIS_OPCODE_T Group0x0f16[8];\nextern DIS_OPCODE_T Group0x0f17[4];\nextern DIS_OPCODE_T Group0x0f28[4];\nextern DIS_OPCODE_T Group0x0f29[4];\nextern DIS_OPCODE_T Group0x0f2a[4];\nextern DIS_OPCODE_T Group0x0f2b[4];\nextern DIS_OPCODE_T Group0x0f2c[4];\nextern DIS_OPCODE_T Group0x0f2d[4];\nextern DIS_OPCODE_T Group0x0f2e[4];\nextern DIS_OPCODE_T Group0x0f2f[4];\nextern DIS_OPCODE_T Group0x0fd0[4];\nextern DIS_OPCODE_T Group0x0fd1[4];\nextern DIS_OPCODE_T Group0x0fd2[4];\nextern DIS_OPCODE_T Group0x0fd3[4];\nextern DIS_OPCODE_T Group0x0fd4[4];\nextern DIS_OPCODE_T Group0x0fd5[4];\nextern DIS_OPCODE_T Group0x0fd6[4];\nextern DIS_OPCODE_T Group0x0fd7[4];\nextern DIS_OPCODE_T Group0x0fd8[4];\nextern DIS_OPCODE_T Group0x0fd9[4];\nextern DIS_OPCODE_T Group0x0fda[4];\nextern DIS_OPCODE_T Group0x0fdb[4];\nextern DIS_OPCODE_T Group0x0fdc[4];\nextern DIS_OPCODE_T Group0x0fdd[4];\nextern DIS_OPCODE_T Group0x0fde[4];\nextern DIS_OPCODE_T Group0x0fdf[4];\nextern DIS_OPCODE_T Group0x0fe0[4];\nextern DIS_OPCODE_T Group0x0fe1[4];\nextern DIS_OPCODE_T Group0x0fe2[4];\nextern DIS_OPCODE_T Group0x0fe3[4];\nextern DIS_OPCODE_T Group0x0fe4[4];\nextern DIS_OPCODE_T Group0x0fe5[4];\nextern DIS_OPCODE_T Group0x0fe6[4];\nextern DIS_OPCODE_T Group0x0fe7[4];\nextern DIS_OPCODE_T Group0x0fe8[4];\nextern DIS_OPCODE_T Group0x0fe9[4];\nextern DIS_OPCODE_T Group0x0fea[4];\nextern DIS_OPCODE_T Group0x0feb[4];\nextern DIS_OPCODE_T Group0x0fec[4];\nextern DIS_OPCODE_T Group0x0fed[4];\nextern DIS_OPCODE_T Group0x0fee[4];\nextern DIS_OPCODE_T Group0x0fef[4];\nextern DIS_OPCODE_T Group0x0ff0[4];\nextern DIS_OPCODE_T Group0x0ff1[4];\nextern DIS_OPCODE_T Group0x0ff2[4];\nextern DIS_OPCODE_T Group0x0ff3[4];\nextern DIS_OPCODE_T Group0x0ff4[4];\nextern DIS_OPCODE_T Group0x0ff5[4];\nextern DIS_OPCODE_T Group0x0ff6[4];\nextern DIS_OPCODE_T Group0x0ff7[4];\nextern DIS_OPCODE_T Group0x0ff8[4];\nextern DIS_OPCODE_T Group0x0ff9[4];\nextern DIS_OPCODE_T Group0x0ffa[4];\nextern DIS_OPCODE_T Group0x0ffb[4];\nextern DIS_OPCODE_T Group0x0ffc[4];\nextern DIS_OPCODE_T Group0x0ffd[4];\nextern DIS_OPCODE_T Group0x0ffe[4];\nextern DIS_OPCODE_T Group0x0fc4[8];\nextern DIS_OPCODE_T Group0x0fc5[4];\nextern DIS_OPCODE_T Group0x0fc6[4];\nextern DIS_OPCODE_T Group0x0f[256];\n//extern DIS_OPCODE_T Group_main[398];\nextern DIS_OPCODE_T RexPrefixFor64Bit[1];\ntypedef TMap<CIStrA,DIS_OPCODE_T*> NAME_OPCODE_MAP;\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/MZFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"MZFile.h\"\n\nCMZFile::CMZFile()\n{\n\t\n}\n\nvoid CMZFile::Close()\n{\n\tCImageFile::Close();\n}\n\nbool CMZFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tif(CImageFile::Open(FileName,pHandleOpen)==FALSE)\n\t\treturn FALSE;\n\t////ǷMZļ//////////////////////\n\tif(!ReadFile(0,&m_MZHead,sizeof(m_MZHead)))\n\t\treturn FALSE;\n\tif(m_MZHead.Signature!=0x4D5A && m_MZHead.Signature!=0x5A4D)\n\t{\n\t\tCImageFile::Close();\n\t\treturn FALSE;\n\t}\n\tm_ImageBase=0x10000;\n\tm_ImageSize=m_MZHead.nPage*512+m_MZHead.cbLastPage-m_MZHead.cpHead*16;\n\tm_EntryPoint=m_MZHead.CS*16+m_MZHead.IP;\n\treturn TRUE;\n}\n\nULSIZE CMZFile::ReadImageMemory(IN ULPOS Address,OUT void* Buffer,IN ULSIZE Size)\n{\n\tMZRELOC Reloc;\n\tULPOS Pos=m_MZHead.cpHead*16;\n\tULPOS ImageHighBase=m_ImageBase+m_ImageSize;\n\tif(Size>(int)(ImageHighBase-Address))\n\t\tSize=ImageHighBase-Address;\n\tif(!ReadFile(Pos+Address-m_ImageBase,Buffer,Size))\n\t\treturn 0;\n\tif((DWORD)(m_MZHead.fpReloc+m_MZHead.nReloc*4)>m_FileSize)\n\t\treturn 0;\n\tfor(WORD n=0;n<m_MZHead.nReloc;n++)\n\t{\n\t\tif(!ReadFile(m_MZHead.fpReloc+n*sizeof(Reloc),&Reloc,sizeof(Reloc)))\n\t\tPos=Reloc.Segment*16+Reloc.Offset;\n\t\tif(Pos>=Address && Pos<Address+Size)\n\t\t\tPUT_WORD(Buffer,Pos-Address,GET_WORD(Buffer,Pos-Address)+(WORD)(m_ImageBase/16));\n\t}\n\treturn Size;\n}\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/MZFile.h",
    "content": "#ifndef _MZFILE_H_\n#define _MZFILE_H_\n\n#define MZFILE_SIGNATURE (('M'<<8)+'Z')\n#define MZFILE_SIGNATURE1 (('Z'<<8)+'M')\n\ntypedef struct\t_MZHEAD\n{\n\tWORD Signature;\t\t//00  \"MZ\"\n\tWORD cbLastPage;\t//02  Bytes on last page of file\n\tWORD nPage;\t\t\t//04  Pages in file\n\tWORD nReloc;\t\t//06  Relocations\n\tWORD cpHead;\t\t//08  Size of header in paragraphs\n\tWORD Minalloc;\t\t//0A  Minimum extra paragraphs needed\n\tWORD Maxalloc;\t\t//0C  Maximum extra paragraphs needed\n\tWORD SS;\t\t\t//0E  Initial (relative) SS value\n\tWORD SP;\t\t\t//10  Initial SP value\n\tWORD CheckSum;\t\t//12  Checksum\n\tWORD IP;\t\t\t//14  Initial IP value\n\tWORD CS;\t\t\t//16  Initial (relative) CS value\n\tWORD fpReloc;\t\t//18  File address of relocation table\n\tWORD nOverlay;\t\t//1A  Overlay number\n\tWORD Reserved[4];\t//1C  Reserved words\n\tWORD OemID;\t\t\t//24  OEM identifier (for e_oeminfo)\n\tWORD OemInfo;\t\t//26  OEM information; e_oemid specific\n\tWORD Reserved2[10];\t//28  Reserved words\n\tLONG pfNewHead;\t\t//3C  File address of new exe header\n}MZHEAD,*PMZHEAD;\n\ntypedef struct\t_MZRELOC\n{\n\tWORD Offset;\n\tWORD Segment;\n}MZRELOC;\n\nclass CMZFile : public CImageFile\n{\npublic:\n\tCMZFile();\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tvoid\tClose();\n\tULSIZE\tReadImageMemory(IN ULPOS Address,OUT void* Buffer,IN ULSIZE Size);\npublic:\n\tMZHEAD\tm_MZHead;\n\tDWORD\tm_ImageBase;\n\tDWORD\tm_ImageSize;\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/Makefile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/ObjFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ObjFile.h\"\n\n#define IsFunction(s)\t(s.Type == 0x20 && s.StorageClass == IMAGE_SYM_CLASS_EXTERNAL && s.SectionNumber>0)\n\n\nCObjFile::CObjFile()\n{\n\tm_StrTabBuf = NULL;\n\tm_Section = NULL;\n\tm_FuncCount = m_SectCount = 0;\n\tm_ObjSymAry = NULL;\n\tm_FileBody = NULL;\n}\n\nCObjFile::~CObjFile()\n{\n}\n\nbool CObjFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tDWORD StrTabSize;\n\tint Offset,n;\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t\treturn false;\n\tif(m_FileSize<=0x100)\n\t{\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tm_FileBody = new BYTE[m_FileSize];\n\tif(ReadFile(0,m_FileBody,m_FileSize)==false)\n\t{\n\t\tdelete []m_FileBody;\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tif(ReadFile(0,&m_ObjHead,sizeof(OBJ_IMAGE_FILE_HEADER))==false)\n\t{\n\t\tdelete []m_FileBody;\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tfor(n=0;m_ObjMachineSign[n];n++)\n\t{\n\t\tif(m_ObjHead.Machine==m_ObjMachineSign[n])\n\t\t\tbreak;\n\t}\n\tif(m_ObjMachineSign[n]==IMAGE_FILE_MACHINE_UNKNOWN)\n\t{\n\t\tdelete []m_FileBody;\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tm_SectCount = m_ObjHead.NumberOfSections;\n\tm_Section = (OBJ_SECTION*)&m_FileBody[sizeof(m_ObjHead)];\n\t//m_Section = new OBJ_SECTION[m_SectCount];\n\t//ReadFile(sizeof(m_ObjHead),m_Section,sizeof(OBJ_SECTION)*m_SectCount);\n\t//Read String Table\n\tOffset = m_ObjHead.PointerToSymbolTable + IMAGE_SIZEOF_SYMBOL*m_ObjHead.NumberOfSymbols;\n\tm_StrTabBuf =(char*) &m_FileBody[Offset];\n\t//StrTabSize = 0;\n\tStrTabSize = *(DWORD*)&m_FileBody[Offset];\n\t//ReadFile(Offset,&StrTabSize,4);\n\t//m_StrTabBuf = new char[StrTabSize+6];\n\t//m_StrTabBuf[StrTabSize+4]=m_StrTabBuf[StrTabSize+5]=0;\n\t//ReadFile(Offset,m_StrTabBuf,StrTabSize);\n\t//Read Symbol Table\n\tm_ObjSymAry = (OBJ_IMAGE_SYMBOL*)&m_FileBody[m_ObjHead.PointerToSymbolTable];\n\t//m_ObjSymAry = new OBJ_IMAGE_SYMBOL[m_ObjHead.NumberOfSymbols];\n\t/*\n\tOffset = m_ObjHead.PointerToSymbolTable;\n\tfor(n=0;n<(int)m_ObjHead.NumberOfSymbols;n++)\n\t{\n\t\tReadFile(Offset,&m_ObjSymAry[n],IMAGE_SIZEOF_SYMBOL);\n\t\tOffset+=IMAGE_SIZEOF_SYMBOL;\n\t}\n\t*/\n\tn=0;\n\t//Read Data\n\twhile(n<(int)m_ObjHead.NumberOfSymbols)\n\t{\n\t\tif(IsFunction(m_ObjSymAry[n]))\n\t\t{\n\t\t\tAddFunction(&m_ObjSymAry[n]);\n\t\t}\n\t\tn+=m_ObjSymAry[n].NumberOfAuxSymbols+1;\n\t}\n\treturn true;\n}\n\nvoid CObjFile::Close()\n{\n\t//SafeDelete(m_Section);\n\t//SafeDelete(m_ObjSymAry);\n\t//SafeDelete(m_StrTabBuf);\n\tSafeDelete(m_FileBody);\n\tm_FuncList.Clear();\n\tCImageFile::Close();\n}\nchar* CObjFile::GetSectionName(int SectionIndex)\n{\n\tchar TmpName[9];\n\tDWORD StrIndex;\n\tif(SectionIndex<m_SectCount)\n\t{\n\t\tif(m_Section[SectionIndex].Name[0]!='/')\n\t\t{\n\t\t\treturn (char*) &m_Section[SectionIndex].Name[0];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrNCpy(TmpName,&m_Section[SectionIndex].Name[1],7);\n\t\t\tif(SDecStrToNum(TmpName,&StrIndex)==false)\n\t\t\t{\n\t\t\t\treturn NULL;\n\t\t\t}\n\t\t\treturn &m_StrTabBuf[StrIndex];\n\t\t}\n\t}\n\treturn 0;\n}\nchar* CObjFile::GetSymbolNameByIndex(DWORD Index)\n{\n\tif(Index>m_ObjHead.NumberOfSymbols)\n\t\treturn NULL;\n\treturn GetSymbolName(&m_ObjSymAry[Index]);\n}\nchar* CObjFile::GetSymbolName(OBJ_IMAGE_SYMBOL* Sym)\n{\n\tchar* szName;\n\tif(Sym->N.Name.Short)\n\t{\n\t\tszName = new char[9];\n\t\tTStrCpyLimit(szName,Sym->N.ShortName,9);\n\t\treturn szName;\n\t}\n\telse\n\t{\n\t\tszName = new char [TStrLen(&m_StrTabBuf[Sym->N.Name.Long])+1];\n\t\tTStrCpy(szName,&m_StrTabBuf[Sym->N.Name.Long]);\n\t\treturn szName;\n\t}\n\treturn 0;\n}\nvoid CObjFile::AddFunction(OBJ_IMAGE_SYMBOL*ObjSym)\n{\n\tchar szName[9];\n\tint nSec;\n\tOBJ_IMAGE_AUX_SYMBOL*ObjAuxSym;\n\tObjAuxSym=(OBJ_IMAGE_AUX_SYMBOL*)&ObjSym[1];\n\tnSec = (int)(ObjSym->SectionNumber-1);\n\tTObjFuncList::IT Iter = m_FuncList.Append();\n\tIter->FilePos = m_Section[nSec].PointerToRawData;\n\tIter->Size = m_Section[nSec].SizeOfRawData;\n\tif(ObjSym->N.Name.Short)\n\t{\n\t\tTStrCpyLimit(szName,ObjSym->N.ShortName,9);\n\t\tIter->FuncName = szName;\n\t}\n\telse\n\t{\n\t\tIter->FuncName = &m_StrTabBuf[ObjSym->N.Name.Long];\n\t}\n}\n\nDWORD CObjFile::m_ObjMachineSign[] =\n{\n\tIMAGE_FILE_MACHINE_I386,\n\tIMAGE_FILE_MACHINE_R3000,\n\tIMAGE_FILE_MACHINE_R4000,\n\tIMAGE_FILE_MACHINE_R10000,\n\tIMAGE_FILE_MACHINE_WCEMIPSV2,\n\tIMAGE_FILE_MACHINE_ALPHA,\n\tIMAGE_FILE_MACHINE_POWERPC,\n\tIMAGE_FILE_MACHINE_SH3,\n\tIMAGE_FILE_MACHINE_SH3E,\n\tIMAGE_FILE_MACHINE_SH4,\n\tIMAGE_FILE_MACHINE_ARM,\n\tIMAGE_FILE_MACHINE_THUMB,\n\tIMAGE_FILE_MACHINE_IA64,\n\tIMAGE_FILE_MACHINE_MIPS16,\n\tIMAGE_FILE_MACHINE_MIPSFPU,\n\tIMAGE_FILE_MACHINE_MIPSFPU16,\n\tIMAGE_FILE_MACHINE_ALPHA64,\n\tIMAGE_FILE_MACHINE_UNKNOWN\n};\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/ObjFile.h",
    "content": "#ifndef _OBJ_FILE_H_\n#define _OBJ_FILE_H_\n\n#define IMAGE_FILE_MACHINE_UNKNOWN           0\n#define IMAGE_FILE_MACHINE_I386              0x014c  // Intel 386.\n#define IMAGE_FILE_MACHINE_R3000             0x0162  // MIPS little-endian, 0x160 big-endian\n#define IMAGE_FILE_MACHINE_R4000             0x0166  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_R10000            0x0168  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_WCEMIPSV2         0x0169  // MIPS little-endian WCE v2\n#define IMAGE_FILE_MACHINE_ALPHA             0x0184  // Alpha_AXP\n#define IMAGE_FILE_MACHINE_POWERPC           0x01F0  // IBM PowerPC Little-Endian\n#define IMAGE_FILE_MACHINE_SH3               0x01a2  // SH3 little-endian\n#define IMAGE_FILE_MACHINE_SH3E              0x01a4  // SH3E little-endian\n#define IMAGE_FILE_MACHINE_SH4               0x01a6  // SH4 little-endian\n#define IMAGE_FILE_MACHINE_ARM               0x01c0  // ARM Little-Endian\n#define IMAGE_FILE_MACHINE_THUMB             0x01c2\n#define IMAGE_FILE_MACHINE_IA64              0x0200  // Intel 64\n#define IMAGE_FILE_MACHINE_MIPS16            0x0266  // MIPS\n#define IMAGE_FILE_MACHINE_MIPSFPU           0x0366  // MIPS\n#define IMAGE_FILE_MACHINE_MIPSFPU16         0x0466  // MIPS\n#define IMAGE_FILE_MACHINE_ALPHA64           0x0284  // ALPHA64\n#define IMAGE_FILE_MACHINE_AXP64             IMAGE_FILE_MACHINE_ALPHA64\n//////////////////////////////////////////////////////////////\n//Sym type\n//////////////////////////////////////////////////////////////\n#define IMAGE_SYM_TYPE_NULL                 0x0000  // no type.\n#define IMAGE_SYM_TYPE_VOID                 0x0001  //\n#define IMAGE_SYM_TYPE_CHAR                 0x0002  // type character.\n#define IMAGE_SYM_TYPE_SHORT                0x0003  // type short integer.\n#define IMAGE_SYM_TYPE_INT                  0x0004  //\n#define IMAGE_SYM_TYPE_LONG                 0x0005  //\n#define IMAGE_SYM_TYPE_FLOAT                0x0006  //\n#define IMAGE_SYM_TYPE_DOUBLE               0x0007  //\n#define IMAGE_SYM_TYPE_STRUCT               0x0008  //\n#define IMAGE_SYM_TYPE_UNION                0x0009  //\n#define IMAGE_SYM_TYPE_ENUM                 0x000A  // enumeration.\n#define IMAGE_SYM_TYPE_MOE                  0x000B  // member of enumeration.\n#define IMAGE_SYM_TYPE_BYTE                 0x000C  //\n#define IMAGE_SYM_TYPE_WORD                 0x000D  //\n#define IMAGE_SYM_TYPE_UINT                 0x000E  //\n#define IMAGE_SYM_TYPE_DWORD                0x000F  //\n#define IMAGE_SYM_TYPE_PCODE                0x8000  //\n\n#define IMAGE_SYM_DTYPE_NULL                0       // no derived type.\n#define IMAGE_SYM_DTYPE_POINTER             1       // pointer.\n#define IMAGE_SYM_DTYPE_FUNCTION            2       // function.\n#define IMAGE_SYM_DTYPE_ARRAY               3       // array.\n//////////////////////////////////////////////////////////////\n// Storage classes.\n//////////////////////////////////////////////////////////////\n#define IMAGE_SYM_CLASS_END_OF_FUNCTION     (BYTE )-1\n#define IMAGE_SYM_CLASS_NULL                0x0000\n#define IMAGE_SYM_CLASS_AUTOMATIC           0x0001\n#define IMAGE_SYM_CLASS_EXTERNAL            0x0002\n#define IMAGE_SYM_CLASS_STATIC              0x0003\n#define IMAGE_SYM_CLASS_REGISTER            0x0004\n#define IMAGE_SYM_CLASS_EXTERNAL_DEF        0x0005\n#define IMAGE_SYM_CLASS_LABEL               0x0006\n#define IMAGE_SYM_CLASS_UNDEFINED_LABEL     0x0007\n#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT    0x0008\n#define IMAGE_SYM_CLASS_ARGUMENT            0x0009\n#define IMAGE_SYM_CLASS_STRUCT_TAG          0x000A\n#define IMAGE_SYM_CLASS_MEMBER_OF_UNION     0x000B\n#define IMAGE_SYM_CLASS_UNION_TAG           0x000C\n#define IMAGE_SYM_CLASS_TYPE_DEFINITION     0x000D\n#define IMAGE_SYM_CLASS_UNDEFINED_STATIC    0x000E\n#define IMAGE_SYM_CLASS_ENUM_TAG            0x000F\n#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM      0x0010\n#define IMAGE_SYM_CLASS_REGISTER_PARAM      0x0011\n#define IMAGE_SYM_CLASS_BIT_FIELD           0x0012\n#define IMAGE_SYM_CLASS_FAR_EXTERNAL        0x0044  //\n#define IMAGE_SYM_CLASS_BLOCK               0x0064\n#define IMAGE_SYM_CLASS_FUNCTION            0x0065\n#define IMAGE_SYM_CLASS_END_OF_STRUCT       0x0066\n#define IMAGE_SYM_CLASS_FILE                0x0067\n#define IMAGE_SYM_CLASS_SECTION             0x0068\n#define IMAGE_SYM_CLASS_WEAK_EXTERNAL       0x0069\n#define IMAGE_SYM_CLASS_CLR_TOKEN           0x006B\n//////////////////////////////////////////////////////////////\n// Section Number Values\n//////////////////////////////////////////////////////////////\n/*\n#define IMAGE_SYM_UNDEFINED\t\t\t\t\t0\n#define IMAGE_SYM_ABSOLUTE\t\t\t\t\t-1\n#define IMAGE_SYM_DEBUG\t\t\t\t\t\t-2\n*/\n#include <pshpack1.h>\nstruct OBJ_IMAGE_FILE_HEADER\n{\n\tWORD    Machine;\n\tWORD    NumberOfSections;\n\tDWORD   TimeDateStamp;\n\tDWORD   PointerToSymbolTable;\n\tDWORD   NumberOfSymbols;\n\tWORD    SizeOfOptionalHeader;\n\tWORD    Characteristics;\n};\n\ntypedef struct _OBJ_LINENUMBER\n{\n\tunion\n\t{\n\t\tDWORD SymbolTableIndex;\n\t\tDWORD VirtualAddress;\n\t}Type;\n\tWORD Linenumber;\n}OBJ_LINENUMBER,*POBJ_LINENUMBER;\ntypedef struct _OBJ_RELOCATION_ITEM\n{\n\t DWORD VirtualAddress;\n\t DWORD SymbolTableIndex;\n\t WORD  Type;\n}OBJ_RELOCATION_ITEM,*POBJ_RELOCATION_ITEM;\nstruct OBJ_IMAGE_SYMBOL\n{\n\tunion\n\t{\n\t\tBYTE    ShortName[8];\n\t\tstruct\n\t\t{\n\t\t\tDWORD   Short;     // if 0, use LongName\n\t\t\tDWORD   Long;      // offset into string table\n\t\t} Name;\n\t\tDWORD   LongName[2];    // PBYTE [2]\n\t} N;\n\tDWORD   Value;\n\tshort\tSectionNumber;\n\tWORD    Type;\n\tBYTE    StorageClass;\n\tBYTE    NumberOfAuxSymbols;\n};\n\n#define IMAGE_SIZEOF_SHORT_NAME 8\n\nstruct OBJ_SECTION\n{\n\tBYTE    Name[IMAGE_SIZEOF_SHORT_NAME];\n\tunion\n\t{\n\t\tDWORD   PhysicalAddress;\n\t\tDWORD   VirtualSize;\n\t}Misc;\n\tDWORD   VirtualAddress;\n\tDWORD   SizeOfRawData;\n\tDWORD   PointerToRawData;\n\tDWORD   PointerToRelocations;\n\tDWORD   PointerToLinenumbers;\n\tWORD    NumberOfRelocations;\n\tWORD    NumberOfLinenumbers;\n\tDWORD   Characteristics;\n};\n\n\n\n#define IMAGE_SIZEOF_SYMBOL 18\n\nunion OBJ_IMAGE_AUX_SYMBOL\n{\n\tstruct \n\t{\n\t\tDWORD  TagIndex;                      // struct, union, or enum tag index\n\t\tunion\n\t\t{\n\t\t\tstruct\n\t\t\t{\n\t\t\t\tWORD    Linenumber;             // declaration line number\n\t\t\t\tWORD    Size;                   // size of struct, union, or enum\n\t\t\t} LnSz;\n\t\t\tDWORD    TotalSize;\n\t\t} Misc;\n\t\tunion\n\t\t{\n\t\t\tstruct \n\t\t\t{                            // if ISFCN, tag, or .bb\n\t\t\t\tDWORD    PointerToLinenumber;\n\t\t\t\tDWORD    PointerToNextFunction;\n\t\t\t} Function;\n\t\t\tstruct\n\t\t\t{                            // if ISARY, up to 4 dimen.\n\t\t\t\tWORD     Dimension[4];\n\t\t\t} Array;\n\t\t} FcnAry;\n\t\tWORD    TvIndex;                        // tv index\n\t} Sym;\n\tstruct \n\t{\n\t\tDWORD Unused;\n\t\tWORD Linenumber;\n\t\tBYTE Unused1[6];\n\t\tDWORD PointerToNextFunction;\n\t\tWORD Unused2;\n\t}bf;\n\tstruct \n\t{\n\t\tDWORD Unused;\n\t\tWORD Linenumber;\n\t\tBYTE Unused1[6];\n\t\tDWORD Unused3;\n\t\tWORD Unused2;\n\t}ef;\n\tstruct \n\t{\n\t\tDWORD Unused;\n\t\tWORD Linenumber;\n\t\tBYTE Unused1[6];\n\t\tDWORD PointerToNextFunction;\n\t\tWORD Unused2;\n\t}lf;\n\tstruct {\n\t\tDWORD TagIndex;\n\t\tDWORD Characteristics;\n\t\tBYTE Unused[10];\n\t}WeakExternals;\n\tstruct \n\t{\n\t\tBYTE    Name[IMAGE_SIZEOF_SYMBOL];\n\t} File;\n\tstruct\n\t{\n\t\tDWORD   Length;                         // section length\n\t\tWORD    NumberOfRelocations;            // number of relocation entries\n\t\tWORD    NumberOfLinenumbers;            // number of line numbers\n\t\tDWORD   CheckSum;                       // checksum for communal\n\t\tSHORT   Number;                         // section number to associate with\n\t\tBYTE    Selection;                      // communal selection type\n\t}Section;\n};\n\nstruct OBJ_IMAGE_LINENUMBER\n{\n\tunion\n\t{\n\t\tDWORD   SymbolTableIndex;               // Symbol table index of function name if Linenumber is 0.\n\t\tDWORD   VirtualAddress;                 // Virtual address of line number.\n\t} Type;\n\tWORD    Linenumber;                         // Line number.\n};\n\n#define IMAGE_SIZEOF_SYMBOL                 18\n#define IMAGE_SIZEOF_AUX_SYMBOL             18\n#define IMAGE_SIZEOF_LINENUMBER              6\n\nstruct OBJ_FUNC\n{\n\tCStrA\tFuncName;\n\tDWORD\t\tFilePos;\n\tDWORD\t\tSize;\n};\n#include <poppack.h>\n\ntypedef TList<OBJ_FUNC>\tTObjFuncList;\n\nclass CObjFile : public CImageFile\n{\npublic:\n\tCObjFile();\n\t~CObjFile();\npublic:\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tvoid\tClose();\n\tvoid\tAddFunction(OBJ_IMAGE_SYMBOL*ObjSym);\npublic:\n\tBYTE* m_FileBody;\n\tOBJ_IMAGE_FILE_HEADER\tm_ObjHead;\n\tOBJ_SECTION*m_Section;\n\tint\tm_SectCount;\n\tint\tm_FuncCount;\n\tTObjFuncList\tm_FuncList;\n\tOBJ_IMAGE_SYMBOL*m_ObjSymAry;\n\tchar*m_StrTabBuf;\n\tstatic DWORD m_ObjMachineSign[];\n\tchar* GetSectionName(int SectionIndex);\n\tchar* GetSymbolName(OBJ_IMAGE_SYMBOL* Sym);\n\tchar* GetSymbolNameByIndex(DWORD Index);\n\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/PEFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PEFile.h\"\n\nCPEFile::CPEFile()\n{\n\tm_PEOff = 0;\n\tm_Section = NULL;\n\tm_ExportFunc = NULL;\n\tm_ImportModule = NULL;\n\tm_ResDir = NULL;\n\tm_BaseReloc = NULL;\n\tm_TLSCallBackFuncs = NULL;\n\tm_TLSData = NULL;\n\tm_SectCount=0;\n\tm_ImportModuleCount=m_ResDirCount=m_BaseRelocCount=m_AddressOfTLSIndex=\n\tm_TLSCallBackCount=m_TLSDataSize=m_ExportFuncCount=0;\n\tm_OpenMode = PE_OPEN_ALL;\n}\n\nbool CPEFile::MapToMemory(IN DWORD PhyOff,OUT DWORD*pMemAddr,IN bool bImageBase)\n{\n\tfor(int n=0;n<=m_SectCount;n++)\n\t{\n\t\tif(PhyOff>=m_Section[n].PointerToRawData&&PhyOff<m_Section[n].PointerToRawData+m_Section[n].SizeOfRawData)\n\t\t{\n            if(pMemAddr)\n            {\n                *pMemAddr=PhyOff-m_Section[n].PointerToRawData+m_Section[n].VirtualAddress;\n                if(bImageBase)\n                    *pMemAddr+=m_PEHead.ImageBase;\n            }\n            return true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CPEFile::MapToFile(IN DWORD MemAddr,OUT DWORD*pPhysAddr,IN bool bImageBase)\n{\n\tDWORD BaseAddr = 0;\n\tif(bImageBase)\n\t\tMemAddr-=m_PEHead.ImageBase;\n\tfor(int n=0;n<=m_SectCount;n++)\n\t{\n\t\tif( MemAddr>=m_Section[n].VirtualAddress && MemAddr< m_Section[n].VirtualAddress + m_Section[n].VirtualSize && \n\t\t\tMemAddr-m_Section[n].VirtualAddress<=m_Section[n].SizeOfRawData )\n\t\t{\n            if(pPhysAddr)\n                *pPhysAddr=MemAddr-m_Section[n].VirtualAddress+m_Section[n].PointerToRawData;\n            return true;\n        }\n\t}\n    return false;\n}\n\nDWORD CPEFile::GetPageAttribute(DWORD Address)\n{\n\tDWORD Result=MP_READ | MP_WRITE;\n\tif(Address<m_ImageBase || Address>=m_ImageHighBase)\n\t\treturn 0;\n\tAddress-=m_ImageBase;\n\tfor(int n=0;n<=m_SectCount;n++)\n\t{\n\t\tif(Address>=m_Section[n].VirtualAddress && Address< m_Section[n].VirtualAddress+m_Section[n].VirtualSize)\n\t\t{\n\t\t\tResult=0;\n\t\t\tif(m_Section[n].Characteristics & IMAGE_SCN_MEM_EXECUTE)\n\t\t\t\tResult|=MP_READ;\n\t\t\tif(m_Section[n].Characteristics & IMAGE_SCN_MEM_READ)\n\t\t\t\tResult|=MP_READ;\n\t\t\tif(m_Section[n].Characteristics & IMAGE_SCN_MEM_WRITE)\n\t\t\t\tResult|=MP_READ | MP_WRITE;\n\t\t\t//0ҳλɶдWin95ݣ\n\t\t\tif(m_Section[n].Characteristics==0)\n\t\t\t\tResult=MP_READ | MP_WRITE;\n\t\t\treturn Result;\n\t\t}\n\t}\n\treturn Result;\n}\n\nULSIZE CPEFile::ReadImageMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tPE_SECTION* pCurSec;\n\tDWORD dwSize,ReadSize,Pos=0;\n\tDWORD LeftSize;\n\tDWORD RangeStart,RangeEnd;\n////ü///////////////////////////////////\n\tif(Address < m_ImageBase || Address>= m_ImageHighBase)\n\t\treturn 0;\n\tif(Address< m_ImageHighBase && Address+Size >m_ImageHighBase)\n\t{\n\t\tSize=m_ImageHighBase-Address;\n\t}\n\tif(m_SectCount==0)\n\t\treturn ReadFile(Address-m_ImageBase,Buffer,Size);\n////ü///////////////////////////////////\n\tLeftSize=Size;\n\tAddress-=m_ImageBase;\n\tZeroMemory(Buffer,Size);\n\tfor(int n=0;n<=m_SectCount&&LeftSize;n++)\n\t{\n \t\tpCurSec=&m_Section[n];\n\t\tRangeStart=pCurSec->VirtualAddress;\n\t\tRangeEnd=pCurSec->VirtualAddress+pCurSec->VirtualSize;\n\t\tif(Address>=RangeStart && Address < RangeEnd)\n\t\t{\n\t\t\tif(Address<pCurSec->SizeOfRawData+pCurSec->VirtualAddress)\n\t\t\t{\n\t\t\t\tdwSize=pCurSec->SizeOfRawData+pCurSec->VirtualAddress-Address;\n\t\t\t\tif(LeftSize > dwSize)\n\t\t\t\t{\n\t\t\t\t\tLeftSize=LeftSize-dwSize;\n\t\t\t\t\tReadSize=dwSize;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tReadSize=LeftSize;\n\t\t\t\t\tLeftSize=0;\n\t\t\t\t}\n\t\t\t\tReadFile(Address-pCurSec->VirtualAddress+pCurSec->PointerToRawData,RT_PBYTE(Buffer,Pos),ReadSize);\n\t\t\t\tPos+=ReadSize;\n\t\t\t\tAddress+=ReadSize;\n\t\t\t}\n\t\t\telse if(Address<RangeEnd)\n\t\t\t{\n\t\t\t\tdwSize=RangeEnd-Address;\n\t\t\t\tif(LeftSize > dwSize)\n\t\t\t\t{\n\t\t\t\t\tLeftSize=LeftSize-dwSize;\n\t\t\t\t\tReadSize=dwSize;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tReadSize=LeftSize;\n\t\t\t\t\tLeftSize=0;\n\t\t\t\t}\n\t\t\t\tPos+=ReadSize;\n\t\t\t\tAddress+=ReadSize;\n\t\t\t}\n\t\t}\n\t}\n\treturn Size;\n}\n\nULSIZE CPEFile::WriteImageMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nbool CPEFile::LoadPage(ULPOS OldAddress,void*Buffer)\n{\n\tDWORD Delta;\n\tULPOS Address;\n\tLONG Size;\n\tWORD TypeOffset,Offset,Type;\n\tif(m_SectCount==0 || m_Section==NULL)\n\t\treturn false;\n\tAddress = OldAddress;\n\tAddress &= ~(0xfff);\n\t/*\n\tif(m_PEHead.SectionAlignment!=MP_SIZE)\n\t{\n\t\tReadImageMemory(Address,Buffer,MP_SIZE);\n\t\treturn true;\n\t}\n\t*/\n\tZeroMemory(Buffer,MP_SIZE);\n\tAddress-=m_ImageBase;\n\tfor(int n=0;n<=m_SectCount;n++)\n\t{\n\t\tif(Address>=m_Section[n].VirtualAddress && Address < m_Section[n].VirtualAddress+m_Section[n].VirtualSize)\n\t\t{\n\t\t\tSize=m_Section[n].VirtualAddress+m_Section[n].SizeOfRawData-Address;\n\t\t\tif(Size>0)\n\t\t\t{\n\t\t\t\tif(Size>MP_SIZE)\n\t\t\t\t\tSize=MP_SIZE;\n\t\t\t\tReadFile(Address-m_Section[n].VirtualAddress+m_Section[n].PointerToRawData,Buffer,Size);\n\t\t\t\tif(m_ImageBase==m_PEHead.ImageBase)\n\t\t\t\t\treturn true;\n\t\t\t\tfor(int i=0;i<m_BaseRelocCount;i++)\n\t\t\t\t{//ضλ\n\t\t\t\t\tif(Address==m_BaseReloc[i].VirtualAddr+MP_SIZE && m_BaseReloc[i].Count)\n\t\t\t\t\t{\n\t\t\t\t\t\tTypeOffset=m_BaseReloc[i].TypeOffset[m_BaseReloc[i].Count-1];\n\t\t\t\t\t\tType=TypeOffset>>12;\n\t\t\t\t\t\tOffset=TypeOffset&0x0FFF;/*@@*/\n\t\t\t\t\t\tif(Type==3 && Offset>0x0FFC)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tDelta=m_ImageBase-m_PEHead.ImageBase;\n\t\t\t\t\t\t\tswitch(Offset)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcase 0xFFD: PUT_3BYTES(Buffer,Offset,GET_3BYTES(Buffer,Offset)+Delta);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 0xFFE: PUT_WORD(Buffer,Offset,GET_WORD(Buffer,Offset)+(WORD)Delta);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 0xFFF: PUT_BYTE(Buffer,Offset,GET_BYTE(Buffer,Offset)+(WORD)Delta);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(Address==m_BaseReloc[i].VirtualAddr)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor(DWORD r=0;r<m_BaseReloc[i].Count;r++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTypeOffset=m_BaseReloc[i].TypeOffset[r];\n\t\t\t\t\t\t\tType=TypeOffset>>12;\n\t\t\t\t\t\t\tOffset=TypeOffset&0x0FFF;/*@@*/\n\t\t\t\t\t\t\tif(Type==3 && Offset<=0x0FFC)\n\t\t\t\t\t\t\t\tPUT_DWORD(Buffer,Offset,GET_DWORD(Buffer,Offset)+m_ImageBase-m_PEHead.ImageBase);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CPEFile::Open(PCSTR FileName,HANDLE*pHandleOpen)\n{\n\tDWORD MaxHighSectAddr,MinLowSectAddr,MinLowSectAddrFilePos,SafeSectionAlign,SafeFileAlign,NewSize;\n\tBYTE HeadBuffer[0x40];\n\tint i;\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t{\n\t\treturn false;\n\t}\n\t//////////////////////////////////////////////////////////////\n\t//ǷMZļ\n\t//////////////////////////////////////////////////////////////\n\tif(ReadMemory(m_ImageBase,HeadBuffer,sizeof(HeadBuffer))==false)\n\t{\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tif(_GET_WORD(HeadBuffer)!=0x4D5A && _GET_WORD(HeadBuffer)!=0x5A4D)\n\t{\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\t//////////////////////////////////////////////////////////////\n\t//ǷPEļPEͷ\n\t//////////////////////////////////////////////////////////////\n\tm_PEOff=GET_DWORD(HeadBuffer,0x3C);\n\tif(m_PEOff >=m_FileSize-sizeof(PE_HEAD))\n\t{\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n    if(ReadMemory(m_ImageBase+m_PEOff,&m_PEHead,sizeof(PE_HEAD))==false)\n\t{\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tm_FileType = FILE_TYPE_PE_EXE;\n\t//PEͷֽ\n\tBIG_ENDIAN_DWORD(m_PEHead.Signature);\n\tBIG_ENDIAN_WORD(m_PEHead.Machine);\n\tBIG_ENDIAN_WORD(m_PEHead.NumberOfSections);\n\tBIG_ENDIAN_DWORD(m_PEHead.TimeDateStamp);\n\tBIG_ENDIAN_DWORD(m_PEHead.PointerToSymbolTable);\n\tBIG_ENDIAN_DWORD(m_PEHead.NumberOfSymbols);\n\tBIG_ENDIAN_WORD(m_PEHead.SizeOfOptionalHeader);\n\tBIG_ENDIAN_WORD(m_PEHead.Characteristics);\n\tBIG_ENDIAN_WORD(m_PEHead.Magic);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfCode);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfInitializedData);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfUninitializedData);\n\tBIG_ENDIAN_DWORD(m_PEHead.AddressOfEntryPoint);\n\tBIG_ENDIAN_DWORD(m_PEHead.BaseOfCode);\n\tBIG_ENDIAN_DWORD(m_PEHead.BaseOfData);\n\tBIG_ENDIAN_DWORD(m_PEHead.ImageBase);\n\tBIG_ENDIAN_DWORD(m_PEHead.SectionAlignment);\n\tBIG_ENDIAN_DWORD(m_PEHead.FileAlignment);\n\tBIG_ENDIAN_WORD(m_PEHead.MajorOperatingSystemVersion);\n\tBIG_ENDIAN_WORD(m_PEHead.MinorOperatingSystemVersion);\n\tBIG_ENDIAN_WORD(m_PEHead.MajorImageVersion);\n\tBIG_ENDIAN_WORD(m_PEHead.MinorImageVersion);\n\tBIG_ENDIAN_WORD(m_PEHead.MajorSubsystemVersion);\n\tBIG_ENDIAN_WORD(m_PEHead.MinorSubsystemVersion);\n\tBIG_ENDIAN_DWORD(m_PEHead.Win32VersionValue);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfImage);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfHeaders);\n\tBIG_ENDIAN_DWORD(m_PEHead.CheckSum);\n\tBIG_ENDIAN_WORD(m_PEHead.Subsystem);\n\tBIG_ENDIAN_WORD(m_PEHead.DllCharacteristics);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfStackReserve);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfStackCommit);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfHeapReserve);\n\tBIG_ENDIAN_DWORD(m_PEHead.SizeOfHeapCommit);\n\tBIG_ENDIAN_DWORD(m_PEHead.LoaderFlags);\n\tBIG_ENDIAN_DWORD(m_PEHead.NumberOfRvaAndSizes);\n\tfor(int n=0;n<MAX_PE_DATA_DIR;n++)\n\t{\n\t\tBIG_ENDIAN_DWORD(m_PEHead.DataDirectory[n].VirtualAddress);\n\t\tBIG_ENDIAN_DWORD(m_PEHead.DataDirectory[n].Size);\n\t}\n\tif(m_PEHead.Signature!=0x4550)\n\t{\n\t\tCImageFile::Close();\n\t\tm_ErrorCode = PE_ERROR_SIGN;\n\t\treturn false;\n\t}\n\tif(m_PEHead.Characteristics & IMAGE_FILE_DLL)\n\t{\n\t\tif((m_OpenMode & PE_OPEN_DLL)==0)\n\t\t{\n\t\t\tCImageFile::Close();\n\t\t\tm_ErrorCode=PE_ERROR_MODULE_TYPE;\n\t\t\treturn false;\n\t\t}\n\t\tm_FileType = FILE_TYPE_PE_DLL;\n\t}\n\tif(m_PEHead.Subsystem==IMAGE_SUBSYSTEM_NATIVE)\n\t{\n\t\tif((m_OpenMode & PE_OPEN_SYS)==0)\n\t\t{\n\t\t\tCImageFile::Close();\n\t\t\tm_ErrorCode = PE_ERROR_MODULE_TYPE;\n\t\t\treturn false;\n\t\t}\n\t\tm_FileType = FILE_TYPE_PE_SYS;\n\t}\n\tif(m_PEHead.Machine!=IMAGE_FILE_MACHINE_I386)\n\t{\n\t\tif(m_OpenMode & PE_OPEN_NON_I386)\n\t\t{\n\t\t\tCImageFile::Close();\n\t\t\tm_ErrorCode = PE_ERROR_MODULE_TYPE;\n\t\t\treturn false;\n\t\t}\n\t\tm_FileType |= FILE_TYPE_NON_I386;\n\t}\n\tSafeSectionAlign = m_PEHead.SectionAlignment;\n\tSafeFileAlign = m_PEHead.FileAlignment;\n\tif(SafeSectionAlign>PE_MAX_SECTION_ALIGN || SafeSectionAlign==0)\n\t\tSafeSectionAlign = PE_DEFAULT_SECTION_ALIGN;\n\tif(SafeFileAlign>PE_MAX_FILE_ALIGN || SafeFileAlign==0)\n\t\tSafeFileAlign = PE_DEFAULT_FILE_ALIGN;\n\tif(m_PEHead.NumberOfSections <= 0 || m_PEHead.NumberOfSections>MAX_PE_SECTION)\n\t{\n\t\tCImageFile::Close();\n\t\tm_ErrorCode = PE_ERROR_SECTION;\n\t\treturn false;\n\t}\n\tm_Section=new PE_SECTION[m_PEHead.NumberOfSections+1];\n\tif(m_Section==NULL)\n\t{\n\t\tSafeDelete(m_Section);\n\t\tCImageFile::Close();\n\t\tm_ErrorCode = PE_ERROR_SECTION;\n\t\treturn false;\n\t}\n\tif(ReadMemory(m_ImageBase+m_PEHead.SizeOfOptionalHeader+m_PEOff+0x18,&m_Section[1],sizeof(PE_SECTION)*m_PEHead.NumberOfSections)==0)\n\t{\n\t\tSafeDelete(m_Section);\n\t\tCImageFile::Close();\n\t\tm_ErrorCode = PE_ERROR_SECTION;\n\t\treturn false;\n\t}\n\tm_SectCount = m_PEHead.NumberOfSections;\n\tfor(int n=1;n<=m_SectCount;n++)\n\t{\n\t\tBIG_ENDIAN_DWORD(m_Section[n].VirtualSize);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].VirtualAddress);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].SizeOfRawData);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].PointerToRawData);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].PointerToRelocations);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].PointerToLinenumbers);\n\t\tBIG_ENDIAN_WORD(m_Section[n].NumberOfRelocations);\n\t\tBIG_ENDIAN_WORD(m_Section[n].NumberOfLinenumbers);\n\t\tBIG_ENDIAN_DWORD(m_Section[n].Characteristics);\n\t}\n\tZeroMemory(m_Section,sizeof(PE_SECTION));\n\tm_Section->PointerToRawData=m_Section->VirtualAddress=0;\n\tm_Section->SizeOfRawData=m_Section->VirtualSize=m_PEHead.SizeOfHeaders;\n\tm_Section->Characteristics = IMAGE_SCN_MEM_WRITE | IMAGE_SCN_MEM_READ;\n\tMaxHighSectAddr = 0;\n\tMinLowSectAddr = 0xFFFFFFFF;\n\tfor(i=1;i<=m_SectCount;i++)\n\t{\n\t\tif(m_Section[i].VirtualSize == 0)\n\t\t\tm_Section[i].VirtualSize = m_Section[i].SizeOfRawData;\n\t\tif(m_Section[i].SizeOfRawData%SafeFileAlign)\n\t\t\tm_Section[i].SizeOfRawData = ALIGN_SIZE(m_Section[i].SizeOfRawData,SafeFileAlign);\n\t\tif(m_Section[i].VirtualSize%SafeSectionAlign)\n\t\t\tm_Section[i].VirtualSize = ALIGN_SIZE(m_Section[i].VirtualSize,SafeSectionAlign);\n\t\tif(i == m_SectCount)\n\t\t{//⴦һ\n\t\t\tif(m_Section[i].VirtualSize < m_Section[i].SizeOfRawData)\n\t\t\t{\n\t\t\t\tNewSize = ALIGN_SIZE(m_Section[i].SizeOfRawData,SafeSectionAlign);\n\t\t\t\tif(m_Section[i].VirtualAddress+NewSize <= ALIGN_SIZE(m_PEHead.SizeOfImage,MP_SIZE))\n\t\t\t\t\tm_Section[i].VirtualSize = NewSize;\n\t\t\t}\n\t\t}\n\t\tif(m_Section[i].VirtualAddress<m_Section[i-1].VirtualAddress+m_Section[i-1].VirtualSize && m_Section[i-1].VirtualAddress<m_Section[i].VirtualAddress)\n\t\t\tm_Section[i-1].VirtualSize = m_Section[i].VirtualAddress-m_Section[i-1].VirtualAddress;\n\t\tif(i < m_SectCount && m_Section[i].VirtualAddress == m_Section[i+1].VirtualAddress)\n\t\t\tm_Section[i].VirtualSize = 0;\n\t\t//ֹǷݴС\n\t\tif(m_Section[i].PointerToRawData>m_FileSize)\n\t\t\tm_Section[i].SizeOfRawData = 0;\n\t\tif(m_Section[i].SizeOfRawData>MAX_PE_IMAGESIZE)\n\t\t\tm_Section[i].SizeOfRawData = m_Section[i].VirtualSize;\n\t\tif(m_Section[i].SizeOfRawData + m_Section[i].PointerToRawData > m_FileSize)\n\t\t\tm_Section[i].SizeOfRawData = m_FileSize - m_Section[i].PointerToRawData;\n\t\tif(m_Section[i].VirtualSize > MAX_PE_IMAGESIZE)\n\t\t\tm_Section[i].VirtualSize = m_Section[i].SizeOfRawData;\n\t\tif(m_Section[i].VirtualAddress+m_Section[i].VirtualSize >MaxHighSectAddr)\n\t\t\tMaxHighSectAddr = m_Section[i].VirtualAddress+m_Section[i].VirtualSize;\n\t\tif(m_Section[i].VirtualAddress<MinLowSectAddr)\n\t\t{\n\t\t\tMinLowSectAddr = m_Section[i].VirtualAddress;\n\t\t\tMinLowSectAddrFilePos = m_Section[i].PointerToRawData;\n\t\t}\n\t}\n\tif(m_Section->SizeOfRawData < MinLowSectAddr && MinLowSectAddr!=0xFFFFFFFF)\n\t{\n\t\tm_Section->VirtualSize = MinLowSectAddr;\n\t\tif(MinLowSectAddrFilePos)\n\t\t\tm_Section->SizeOfRawData = MinLowSectAddrFilePos;\n\t}\n\tif(m_SectCount>0 && m_PEHead.AddressOfEntryPoint>=m_Section[m_SectCount].VirtualAddress+m_Section[m_SectCount].VirtualSize)\n\t{\n\t\tif(m_PEHead.AddressOfEntryPoint<m_PEHead.SizeOfImage)\n\t\t{\n\t\t\tm_Section[m_SectCount].VirtualSize = m_PEHead.SizeOfImage - m_Section[m_SectCount].VirtualAddress;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_FileSize>=m_Section[m_SectCount].PointerToRawData)\n\t\t\t\tm_Section[m_SectCount].SizeOfRawData = m_FileSize - m_Section[m_SectCount].PointerToRawData;\n\t\t}\n\t}\n\tm_FileType=FILE_TYPE_PE;\n\tif((m_FileObjType&FILE_OBJ_TYPE_OS_MEMORY_IMAGE)==0)\n\t\tm_ImageBase=m_PEHead.ImageBase;\n\tm_ImageSize=ALIGN_SIZE(m_PEHead.SizeOfImage,MP_SIZE);\n\tif(\tm_SectCount > 0 && m_Section[m_SectCount].VirtualAddress + m_Section[m_SectCount].SizeOfRawData >  m_ImageSize)\n\t{\n\t\tm_ImageSize = m_Section[m_SectCount].VirtualAddress + m_Section[m_SectCount].SizeOfRawData;\n\t\tif(m_Section[m_SectCount].VirtualSize<m_Section[m_SectCount].SizeOfRawData)\n\t\t\tm_Section[m_SectCount].VirtualSize=m_Section[m_SectCount].SizeOfRawData;\n\t}\n\tm_EntryPoint=m_PEHead.AddressOfEntryPoint+m_ImageBase;\n\tif(m_ImageSize<MaxHighSectAddr && MaxHighSectAddr<MAX_PE_IMAGESIZE)\n\t\tm_ImageSize = MaxHighSectAddr;\n\tif(m_ImageSize > MAX_PE_IMAGESIZE && MaxHighSectAddr<MAX_PE_IMAGESIZE)\n\t\tm_ImageSize = MaxHighSectAddr;\n\tm_ImageHighBase=m_ImageBase+m_ImageSize;\n\tif(Check()==false)\n\t{\n\t\tSafeDelete(m_Section);\n\t\tm_SectCount=0;\n\t\tCImageFile::Close();\n\t\treturn false;\n\t}\n\tGetTLS();\n\tm_ImportModuleCount = 0;\n\tm_ImportModule = NULL;\n\tif((m_OpenMode & PE_OPEN_NO_IMPORT)==0)\n\t\tGetImportModule();\n\tm_ExportFuncCount = 0;\n\tm_ExportFunc = NULL;\n\tif((m_OpenMode & PE_OPEN_NO_EXPORT)==0)\n\t\tGetExportFunc();\n\tm_ErrorCode = PE_ERROR_SUCCESS;\n\treturn true;\n}\n\nvoid CPEFile::Close()\n{\n\tint n;\n\tfor(n=0;n<m_ImportModuleCount;n++)\n\t\tSafeDelete(m_ImportModule[n].FuncList)\n\tSafeDelete(m_ImportModule)\n\tfor(n=0;n<m_ResDirCount;n++)\n\t{\n\t\tif(m_ResDir[n].ResDataDir)\n\t\t\tdelete m_ResDir[n].ResDataDir;\n\t}\n\tSafeDelete(m_ResDir)\n\tfor(n=0;n<m_BaseRelocCount;n++)\n\t{\n\t\tif(m_BaseReloc[n].TypeOffset)\n\t\t\tdelete m_BaseReloc[n].TypeOffset;\n\t}\n\tSafeDelete(m_BaseReloc);\n\tSafeDelete(m_TLSCallBackFuncs);\n\tSafeDelete(m_TLSData);\n\tSafeDelete(m_ExportFunc);\n\tSafeDelete(m_Section);\n\tm_SectCount=m_ImportModuleCount=m_ResDirCount=m_BaseRelocCount=m_AddressOfTLSIndex=\n\tm_TLSCallBackCount=m_TLSDataSize=m_ExportFuncCount=0;\n\tCImageFile::Close();\n}\n\nvoid  CPEFile::RelocLoad(ULPOS BaseAddr)\n{\n\tIMPORT_FUNC*pImportFunc;\n\tint n;\n\tULPOS Delta;\n\tDelta = BaseAddr-m_ImageBase;\n\tif(Delta==0 || BaseAddr==0)\n\t\treturn;\n\tCImageFile::RelocLoad(BaseAddr);\n\tif(m_TLSCallBackFuncs)\n\t{\n\t\tfor(n=0;n<m_TLSCallBackCount;n++)\n\t\t\tm_TLSCallBackFuncs[n]+=Delta;\n\t}\n\tGetBaseReloc();\n\tfor(n=0;n<m_ImportModuleCount;n++)\n\t{\n\t\tpImportFunc=m_ImportModule[n].FuncList;\n\t\tfor(int m=0;m<m_ImportModule[n].FuncCount;m++)\n\t\t{\n\t\t\tpImportFunc->NameAddr+=Delta;\n\t\t\tpImportFunc->ThunkAddr+=Delta;\n\t\t\tpImportFunc++;\n\t\t}\n\t}\n\tfor(n=0;n<m_ExportFuncCount;n++)\n\t{\n\t\tif(m_ExportFunc[n].Address)\n\t\t\tm_ExportFunc[n].Address+=Delta;\n\t\tif(m_ExportFunc[n].ThunkAddr)\n\t\t\tm_ExportFunc[n].ThunkAddr+=Delta;\n\t}\n}\n\n\n\nbool CPEFile::IsRelocArea(ULPOS RVALow,ULPOS RVAHigh)\n{\n\tULPOS Low,High;\n\tif(m_BaseRelocCount==0)\n\t\treturn false;\n\tfor(int n=0;n<m_BaseRelocCount;n++)\n\t{\n\t\tLow=m_BaseReloc[n].VirtualAddr;\n\t\tHigh=m_BaseReloc[n].VirtualAddr+MP_SIZE;\n\t\tif(RVALow>=Low && RVALow<High)\n\t\t\treturn true;\n\t\tif(RVAHigh>Low && RVAHigh<=High)\n\t\t\treturn true;\n\t\tif(RVALow<=Low && RVAHigh>=High)\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CPEFile::IsImportThunkArea(ULPOS RVALow,ULPOS RVAHigh)\n{\n\tULPOS ThunkRVALow,ThunkRVAHigh;\n\tif(GetImportThunkArea(&ThunkRVALow,&ThunkRVAHigh)==false)\n\t\treturn false;\n\tif(RVALow>=ThunkRVALow && RVALow<ThunkRVAHigh)\n\t\treturn true;\n\tif(RVAHigh>ThunkRVALow && RVAHigh<=ThunkRVAHigh)\n\t\treturn true;\n\tif(RVALow<=ThunkRVALow && RVAHigh>=ThunkRVAHigh)\n\t\treturn true;\n\treturn false;\n}\n\nbool CPEFile::GetImportThunkArea(ULPOS*pRVALow,ULPOS*pRVAHigh)\n{\n\tIMPORT_MODULE*pModule;\n\tIMPORT_FUNC*pFunc;\n\tULPOS RVALow,RVAHigh;\n\tif(m_ImportModuleCount==0)\n\t\treturn false;\n\tRVALow=0xFFFFFFFF;\n\tRVAHigh=0;\n\tpModule=m_ImportModule;\n\tfor(int m=0;m<m_ImportModuleCount;m++)\n\t{\n\t\tpFunc=pModule->FuncList;\n\t\tfor(int f=0;f<pModule->FuncCount;f++)\n\t\t{\n\t\t\tif(RVALow>pFunc->ThunkAddr)\n\t\t\t\tRVALow=pFunc->ThunkAddr;\n\t\t\tif(RVAHigh<pFunc->ThunkAddr)\n\t\t\t\tRVAHigh=pFunc->ThunkAddr;\n\t\t\tpFunc++;\n\t\t}\n\t\tpModule++;\n\t}\n\tif(RVALow>=RVAHigh)\n\t\treturn false;\n\t*pRVALow=RVALow-m_ImageBase;\n\t*pRVAHigh=RVAHigh-m_ImageBase;\n\treturn true;\n}\n\nvoid CPEFile::GetTLS()\n{\n\tULPOS Pos,Address;\n\tTLS_DIRECTORY32 TLSDir;\n\tif(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS].VirtualAddress==0)\n\t\treturn;\n    if(false==MapToFile(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS].VirtualAddress,&Pos,false))\n\t\treturn;\n\tReadFile(Pos,&TLSDir,sizeof(TLS_DIRECTORY32));\n\tBIG_ENDIAN_DWORD(TLSDir.StartAddressOfRawData);\n    BIG_ENDIAN_DWORD(TLSDir.EndAddressOfRawData);\n    BIG_ENDIAN_DWORD(TLSDir.AddressOfIndex);\n    BIG_ENDIAN_DWORD(TLSDir.AddressOfCallBacks);\n    BIG_ENDIAN_DWORD(TLSDir.SizeOfZeroFill);\n    BIG_ENDIAN_DWORD(TLSDir.Characteristics);\n\tif(TLSDir.AddressOfCallBacks==0)\n\t\treturn;\n    if(false==MapToFile(TLSDir.AddressOfCallBacks,&Pos,true))\n\t\treturn;\n\tm_TLSCallBackCount=0;\n\tm_TLSCallBackFuncs=NULL;\n\twhile(ReadFile(Pos+m_TLSCallBackCount*4,&Address,4) && m_TLSCallBackCount<MAX_PE_TLS_CALLBACK)\n\t{\n\t\tBIG_ENDIAN_DWORD(Address);\n\t\tif(Address==0)\n\t\t\tbreak;\n\t\tm_TLSCallBackCount++;\n\t}\n\tif(m_TLSCallBackCount>0)\n\t{\n\t\tif(m_TLSCallBackCount>=MAX_PE_TLS_CALLBACK)\n\t\t{\n\t\t\tm_TLSCallBackCount=0;\n\t\t\treturn;\n\t\t}\n\t\tm_TLSCallBackFuncs = new DWORD[m_TLSCallBackCount];\n\t\tif(m_TLSCallBackFuncs==NULL)\n\t\t\treturn;\n\t\tReadFile(Pos,m_TLSCallBackFuncs,m_TLSCallBackCount*4);\n#ifdef CODE_BIG_ENDIAN\n\t\tfor(int n=0;n<m_TLSCallBackCount;n++)\n\t\t\tBIG_ENDIAN_DWORD(m_TLSCallBackFuncs[n]);\n#endif\n\t}\n\tm_TLSDataSize = 0;\n\tif(TLSDir.AddressOfIndex)\n\t{\n\t\tm_TLSDataSize = TLSDir.EndAddressOfRawData -  TLSDir.StartAddressOfRawData;\n\t\tif(m_TLSDataSize>0 && m_TLSDataSize<MAX_PE_TLS_DATA_SIZE)\n\t\t{\n\t\t\tm_TLSData = new BYTE[m_TLSDataSize];\n\t\t\tif(m_TLSData==NULL)\n\t\t\t{\n\t\t\t\tSafeDelete(m_TLSCallBackFuncs);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tReadMemory(TLSDir.StartAddressOfRawData,m_TLSData,m_TLSDataSize);\n\t\t\tm_AddressOfTLSIndex = TLSDir.AddressOfIndex;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_AddressOfTLSIndex = 0;\n\t\t\tm_TLSDataSize = 0;\n\t\t}\n\t}\n}\n\nvoid CPEFile::GetBaseReloc()\n{\n\tULPOS ImageRelocPos,ImageRelocBasePos;\n\tIMAGE_BASE_RELOC ImageReloc;\n\tif(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress==0)\n\t\treturn;\n    \n    if(false==MapToFile(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress,&ImageRelocBasePos,false))\n\t\treturn;\n\n\tm_BaseRelocCount=0;\n\tImageRelocPos=ImageRelocBasePos;\n\twhile(ReadFile(ImageRelocPos,&ImageReloc,sizeof(IMAGE_BASE_RELOC)))\n\t{\n\t\tBIG_ENDIAN_DWORD(ImageReloc.VirtualAddress);\n\t\tBIG_ENDIAN_DWORD(ImageReloc.BlockSize);\n\t\tif( ImageReloc.BlockSize ==0 ||\n            ImageReloc.BlockSize>MAX_PE_TLS_BLOCK+sizeof(IMAGE_BASE_RELOC) ||\n            ImageReloc.BlockSize<=sizeof(IMAGE_BASE_RELOC))\n\t\t\tbreak;\n\t\tm_BaseRelocCount++;\n\t\tImageRelocPos+=ImageReloc.BlockSize;\n\t}\n\tif(m_BaseRelocCount<=0 || m_BaseRelocCount>MAX_PE_BASE_RELOC_PAGE)\n\t{\n\t\tm_BaseRelocCount = 0;\n\t\treturn;\n\t}\n\tm_BaseReloc=new BASE_RELOC[m_BaseRelocCount];\n\tif(m_BaseReloc==NULL)\n\t\treturn;\n\tZeroMemory(m_BaseReloc,sizeof(BASE_RELOC)*m_BaseRelocCount);\n\tImageRelocPos=ImageRelocBasePos;\n\tfor(int n=0;n<m_BaseRelocCount;n++)\n\t{\n\t\tReadFile(ImageRelocPos,&ImageReloc,sizeof(IMAGE_BASE_RELOC));\n\t\tBIG_ENDIAN_DWORD(ImageReloc.VirtualAddress);\n\t\tBIG_ENDIAN_DWORD(ImageReloc.BlockSize);\n\t\tm_BaseReloc[n].VirtualAddr=ImageReloc.VirtualAddress;\n\t\tm_BaseReloc[n].Count=(ImageReloc.BlockSize-sizeof(IMAGE_BASE_RELOC))/sizeof(WORD);\n\t\tif(m_BaseReloc[n].Count>MAX_PE_BASE_RELOC_PER_PAGE)\n\t\t{\n\t\t\tm_BaseReloc[n].Count=0;\n\t\t\tcontinue;\n\t\t}\n\t\tif(m_BaseReloc[n].Count>0)\n\t\t\tm_BaseReloc[n].TypeOffset=new WORD[m_BaseReloc[n].Count];\n\t\tif(m_BaseReloc[n].TypeOffset==NULL)\n\t\t{\n\t\t\tm_BaseRelocCount=n;\n\t\t\tbreak;\n\t\t}\n\t\tif(!ReadFile(ImageRelocPos+sizeof(IMAGE_BASE_RELOC),m_BaseReloc[n].TypeOffset,sizeof(WORD)*m_BaseReloc[n].Count))\n\t\t{\n\t\t\tdelete m_BaseReloc[n].TypeOffset;\n\t\t\tm_BaseRelocCount=n;\n\t\t\tbreak;\n\t\t}\n#ifdef CODE_BIG_ENDIAN\n\t\tfor(int m=0;m<(int)m_BaseReloc[n].Count;m++)\n\t\t\tBIG_ENDIAN_WORD(m_BaseReloc[n].TypeOffset[m]);\n#endif\n\t\tImageRelocPos+=ImageReloc.BlockSize;\n\t}\n}\n\nvoid CPEFile::GetImportModule()\n{\n\tULPOS\tAddress;\n \tint\t\tModuleCount,FuncCount;\n\tDWORD\tImportDescrPos,FuncCallAddr;\n\tDWORD*\tTestFuncThunk;\n\tIMPORT_DESCR*\tpImportDescr,*TestImportDescr;\n\tIMPORT_MODULE*\tpImportModule;\n\tIMPORT_FUNC*\tpImportFunc;\n\tif(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress==0)\n\t\treturn;\n\n\t/////////////////////////////////////////////////////////\n\t//ȡģڴ\n\t/////////////////////////////////////////////////////////\t\n\tm_ImportModuleCount=ModuleCount=0;\n\tImportDescrPos = m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress+m_ImageBase;\n\tTestImportDescr = new IMPORT_DESCR[MAX_PE_IMPORT_MODULE];\n\tif(TestImportDescr==NULL)\n\t\treturn;\n\twhile(ModuleCount<MAX_PE_IMPORT_MODULE)\n\t{\n\t\tif(ReadMemory(ImportDescrPos,&TestImportDescr[ModuleCount],sizeof(IMPORT_DESCR))!=sizeof(IMPORT_DESCR))\n\t\t\tbreak;\n\t\tBIG_ENDIAN_DWORD(TestImportDescr[ModuleCount].Characteristics);\n\t\tBIG_ENDIAN_DWORD(TestImportDescr[ModuleCount].TimeDateStamp);\n\t\tBIG_ENDIAN_DWORD(TestImportDescr[ModuleCount].ForwarderChain);\n\t\tBIG_ENDIAN_DWORD(TestImportDescr[ModuleCount].Name);\n\t\tBIG_ENDIAN_DWORD(TestImportDescr[ModuleCount].FirstThunk);\n\t\tif(TestImportDescr[ModuleCount].FirstThunk==0)\n\t\t\tbreak;\n\t\tModuleCount++;\n\t\tImportDescrPos+=sizeof(IMPORT_DESCR);\n\t}\n\tif(ModuleCount>=MAX_PE_IMPORT_MODULE || ModuleCount<=0)\n\t\treturn;\n\n\tTestFuncThunk = new DWORD[MAX_PE_FUNC_PER_IMPORT_MODULE];\n\tif(TestFuncThunk==NULL)\n\t{\n\t\tdelete TestImportDescr;\n\t\treturn;\n\t}\n\tm_ImportModuleCount = ModuleCount;\n\tm_ImportModule=new IMPORT_MODULE[ModuleCount];\n\tif(m_ImportModule==NULL)\n\t{\n\t\tdelete TestFuncThunk;\n\t\tdelete TestImportDescr;\n\t\treturn;\n\t}\n\tZeroMemory(m_ImportModule,sizeof(IMPORT_MODULE)*ModuleCount);\n\t//ģ,Ϣ\n\tModuleCount=0;\n\tpImportModule = m_ImportModule;\n\tpImportDescr = TestImportDescr;\n\twhile(ModuleCount<m_ImportModuleCount)\n\t{\n\t\tif(pImportDescr->FirstThunk==0)\n\t\t\tbreak;\n\t\tif(0==ReadString(pImportDescr->Name+m_ImageBase,pImportModule->FileName,sizeof(pImportModule->FileName)))\n\t\t\tbreak;\n\t\tpImportModule->Address=pImportDescr->Name+m_ImageBase;\n\t\tTGetFileTitle(pImportModule->FileName,pImportModule->ModuleName);\n\t\t//ȡ뺯\n\t\tFuncCount = 0;\n\t\tif(pImportDescr->OriginalFirstThunk)\n\t\t{\n\t\t\tFuncCount=ReadString(pImportDescr->OriginalFirstThunk+m_ImageBase,TestFuncThunk,MAX_PE_FUNC_PER_IMPORT_MODULE);\n\t\t}\n\t\tif(FuncCount==0)\n\t\t{\n\t\t\tFuncCount=ReadString(pImportDescr->FirstThunk+m_ImageBase,TestFuncThunk,MAX_PE_FUNC_PER_IMPORT_MODULE);\n\t\t}\n\t\tif(FuncCount==0)\n\t\t\tbreak;\n\t\tif(FuncCount<MAX_PE_FUNC_PER_IMPORT_MODULE)\n\t\t{\n\t\t\tpImportModule->FuncCount = FuncCount;\n\t\t\tpImportFunc=pImportModule->FuncList = new IMPORT_FUNC[FuncCount];\n\t\t\tif(pImportFunc==NULL)\n\t\t\t{\n\t\t\t\tif(m_ImportModule)\n\t\t\t\t{\n\t\t\t\t\tdelete m_ImportModule;\n\t\t\t\t\tm_ImportModule = NULL;\n\t\t\t\t\tdelete TestFuncThunk;\n\t\t\t\t\tdelete TestImportDescr;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tZeroMemory(pImportFunc,sizeof(IMPORT_FUNC)*FuncCount);\n\t\t\tFuncCount=0;\n\t\t\tFuncCallAddr=pImportDescr->FirstThunk;\n\t\t\twhile(FuncCount<pImportModule->FuncCount)\n\t\t\t{\n\t\t\t\tBIG_ENDIAN_DWORD(TestFuncThunk[FuncCount]);\n\t\t\t\tAddress = TestFuncThunk[FuncCount];\n\t\t\t\tpImportFunc->bUseOrd = (Address&0x80000000) && (Address<m_ImageBase || Address>=m_ImageHighBase);\n\t\t\t\tif(pImportFunc->bUseOrd)\n\t\t\t\t{\n\t\t\t\t\tpImportFunc->FuncOrd=LOW_WORD(TestFuncThunk[FuncCount]);\n\t\t\t\t\tTSPrintf(pImportFunc->FuncName,\"Function_ORD_%04X\",pImportFunc->FuncOrd);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpImportFunc->NameAddr = Address;\n\t\t\t\t\tif((m_FileObjType&FILE_OBJ_TYPE_OS_MEMORY_IMAGE)==0)\n\t\t\t\t\t\tpImportFunc->NameAddr+=m_ImageBase;\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(Address<m_ImageBase)\n\t\t\t\t\t\t\tpImportFunc->NameAddr+=m_ImageBase;\n\t\t\t\t\t}\n\t\t\t\t\tif(ReadString(pImportFunc->NameAddr + 2,pImportFunc->FuncName,sizeof(pImportFunc->FuncName))==0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tpImportFunc->ThunkAddr=FuncCallAddr+m_ImageBase;\n\t\t\t\tFuncCount++;\n\t\t\t\tFuncCallAddr+=4;\n\t\t\t\tpImportFunc++;\n\t\t\t}//뺯\n\t\t\tpImportModule->FuncCount=FuncCount;\n\t\t}\n\t\tModuleCount++;\n\t\tpImportModule++;\n\t\tpImportDescr++;\n\t}\n\tm_ImportModuleCount=ModuleCount;\n\tdelete TestFuncThunk;\n\tdelete TestImportDescr;\n}\n\nvoid CPEFile::GetExportFunc()\n{\n\tEXPORT_DESCR Export;\n\tDWORD\tFuncSize,NameSize;\n\tDWORD\tFuncAddrPos,FuncNameAddrPos,FuncOrdPos;\n\tDWORD\tFuncAddr,FuncNameAddr;\n\tWORD\tFuncOrd;\n\tDWORD\tn;\n\tm_ExportFuncCount = 0;\n\tif(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress==0)\n\t\treturn;\n\tif(ReadMemory(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress+m_ImageBase,&Export,sizeof(EXPORT_DESCR))!=sizeof(EXPORT_DESCR))\n\t\treturn;\n    BIG_ENDIAN_DWORD(Export.Characteristics);\n    BIG_ENDIAN_DWORD(Export.TimeDateStamp);\n    BIG_ENDIAN_WORD(Export.MajorVersion);\n    BIG_ENDIAN_WORD(Export.MinorVersion);\n    BIG_ENDIAN_DWORD(Export.Name);\n    BIG_ENDIAN_DWORD(Export.Base);\n    BIG_ENDIAN_DWORD(Export.NumberOfFunctions);\n    BIG_ENDIAN_DWORD(Export.NumberOfNames);\n    BIG_ENDIAN_DWORD(Export.AddressOfFunctions);\n    BIG_ENDIAN_DWORD(Export.AddressOfNames);\n    BIG_ENDIAN_DWORD(Export.AddressOfNameOrdinals);\n\tFuncSize=Export.NumberOfFunctions;\n\tNameSize=Export.NumberOfNames;\n\tif(FuncSize>MAX_PE_FUNC_SIZE || FuncSize == 0|| NameSize>MAX_PE_SIZE_SIZE)\n\t\treturn;\n\tm_ExportFunc=new EXPORT_FUNC[FuncSize];\n\tif(m_ExportFunc==NULL)\n\t\treturn;\n\tZeroMemory(m_ExportFunc,sizeof(EXPORT_FUNC)*(FuncSize));\n\tFuncNameAddrPos = Export.AddressOfNames;\n\tFuncOrdPos = Export.AddressOfNameOrdinals;\n\tFuncAddrPos = Export.AddressOfFunctions,&FuncAddrPos;\n\tfor( n=0;n<FuncSize;n++)\n\t{\n\t\tif(ReadMemory(FuncNameAddrPos+m_ImageBase,&FuncNameAddr,sizeof(FuncNameAddr))==false)\n\t\t\tbreak;\n\t\tBIG_ENDIAN_DWORD(FuncNameAddr);\n\t\tif(n >= NameSize)\n\t\t{\n\t\t\tFuncOrd=(WORD)(n+Export.Base);\n\t\t\tTStrCpy(m_ExportFunc[n].FuncName,\"Export_by_Ord_\");\n\t\t\tuNumToStr(FuncOrd,&m_ExportFunc[n].FuncName[sizeof(\"Export_by_Ord_\")-1],16);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tReadString(FuncNameAddr+m_ImageBase,m_ExportFunc[n].FuncName,sizeof(m_ExportFunc[n].FuncName));\n\t\t\tReadMemory(FuncOrdPos+n*2+m_ImageBase,&FuncOrd,2);\n\t\t\tBIG_ENDIAN_WORD(FuncOrd);\n\t\t}\n\t\tif(FuncOrd<FuncSize)\n\t\t{\n\t\t\tif(ReadMemory(FuncAddrPos+FuncOrd*4+m_ImageBase,&FuncAddr,sizeof(FuncAddr))==false)\n\t\t\t\tbreak;\n\t\t\tBIG_ENDIAN_DWORD(FuncAddr);\n\t\t\tif(FuncAddr)\n\t\t\t{\n\t\t\t\tm_ExportFunc[n].Address=FuncAddr;\n\t\t\t\tm_ExportFunc[n].Address+=m_ImageBase;\n\t\t\t}\n\t\t\tm_ExportFunc[n].ThunkAddr = FuncAddrPos+FuncOrd*4+m_ImageBase;\n\t\t\tm_ExportFunc[n].FuncOrd=FuncOrd+Export.Base;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_ExportFunc[n].Address=0;\n\t\t\tm_ExportFunc[n].ThunkAddr=0;\n\t\t}\n\t\tFuncNameAddrPos+=sizeof(DWORD);\n\t}\n\tm_ExportFuncCount=n;\n}\n\nvoid CPEFile::GetResource()\n{\n\tDWORD RDSize;\n\tWORD  NameLength;\n\tDWORD Addr,ResBaseAddr,ResDirAddr;\n\tRESOURCE_DIRECTORY ResDir;\n\tRESOURCE_DIRECTORY_ENTRY ResDirEntry;\n\tRESOURCE_DATA_ENTRY\tResDataEntry;\n\tif(m_ResDir)\n\t\treturn;\n\tif(m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress==0)\n\t\treturn;\n\tResBaseAddr = m_PEHead.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress+m_ImageBase;\n\tif(ReadMemory(ResBaseAddr,&ResDir,sizeof(RESOURCE_DIRECTORY))!=sizeof(RESOURCE_DIRECTORY))\n\t\treturn;\n    BIG_ENDIAN_DWORD(ResDir.Characteristics);\n    BIG_ENDIAN_DWORD(ResDir.TimeDateStamp);\n    BIG_ENDIAN_WORD(ResDir.MajorVersion);\n    BIG_ENDIAN_WORD(ResDir.MinorVersion);\n    BIG_ENDIAN_WORD(ResDir.NumberOfNamedEntries);\n    BIG_ENDIAN_WORD(ResDir.NumberOfIdEntries);\n\tm_ResDirCount=ResDir.NumberOfIdEntries+ResDir.NumberOfNamedEntries;\n\tif(m_ResDirCount<=0 || m_ResDirCount>MAX_PE_RES_DIR)\n\t{\n\t\tm_ResDirCount=0;\n\t\treturn;\n\t}\n\tm_ResDir=new RES_DIR[m_ResDirCount];\n\tif(m_ResDir==NULL)\n\t\treturn;\n\tZeroMemory(m_ResDir,m_ResDirCount*sizeof(RES_DIR));\n\tfor(int nType=0;nType<m_ResDirCount;nType++)\n\t{//Ŀ¼\n\t\tAddr = ResBaseAddr + sizeof(RESOURCE_DIRECTORY) + nType*sizeof(RESOURCE_DIRECTORY_ENTRY);\n\t\tif(ReadMemory(Addr,&ResDirEntry,sizeof(RESOURCE_DIRECTORY_ENTRY)) != sizeof(RESOURCE_DIRECTORY_ENTRY))\n\t\t\tcontinue;\n\t\tBIG_ENDIAN_DWORD(ResDirEntry.Name);\n\t\tBIG_ENDIAN_DWORD(ResDirEntry.OffsetToData);\n\t\tif((ResDirEntry.OffsetToData&0x80000000)==0)\n\t\t\tcontinue;\n\t\tif(ResDirEntry.Name&0x80000000)\n\t\t{\n\t\t\tAddr = ResBaseAddr + ResDirEntry.Name&0xEFFFFFFF;\n\t\t\tif(ReadMemory(Addr,&NameLength,2) != 2)\n\t\t\t\tcontinue;\n\t\t\tBIG_ENDIAN_WORD(NameLength);\n\t\t\tRDSize = NameLength*2;\n\t\t\tif(RDSize>=MAX_NAME_LEN)\n\t\t\t\tcontinue;\n\t\t\tif(ReadMemory(Addr+2,m_ResDir[nType].TypeName,RDSize) != RDSize)\n\t\t\t\tcontinue;\n\t\t\tm_ResDir[nType].Type=INVALID_RES_TYPE;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_ResDir[nType].Type=LOW_WORD(ResDirEntry.Name);\n\t\t}\n\t\tResDirAddr=Addr=ResBaseAddr+ResDirEntry.OffsetToData&0x7FFFFFFF;\n\t\tif(ReadMemory(Addr,&ResDir,sizeof(RESOURCE_DIRECTORY)) != sizeof(RESOURCE_DIRECTORY))\n\t\t\tcontinue;\n\t\tBIG_ENDIAN_DWORD(ResDir.Characteristics);\n\t\tBIG_ENDIAN_DWORD(ResDir.TimeDateStamp);\n\t\tBIG_ENDIAN_WORD(ResDir.MajorVersion);\n\t\tBIG_ENDIAN_WORD(ResDir.MinorVersion);\n\t\tBIG_ENDIAN_WORD(ResDir.NumberOfNamedEntries);\n\t\tBIG_ENDIAN_WORD(ResDir.NumberOfIdEntries);\n\t\tm_ResDir[nType].ResCount=ResDir.NumberOfIdEntries+ResDir.NumberOfNamedEntries;\n\t\tif(m_ResDir[nType].ResCount<=0 || m_ResDir[nType].ResCount>MAX_PE_RES_PER_TYPE)\n\t\t{\n\t\t\tm_ResDir[nType].ResCount=0;\n\t\t\tcontinue;\n\t\t}\n\t\tif(m_ResDir[nType].ResCount)\n\t\t\tm_ResDir[nType].ResDataDir=new RES_DATA[m_ResDir[nType].ResCount];\n\t\tif(m_ResDir[nType].ResDataDir==NULL)\n\t\t\tcontinue;\n\t\tZeroMemory(m_ResDir[nType].ResDataDir,sizeof(RES_DATA)*m_ResDir[nType].ResCount);\n\t\tif(m_ResDir[nType].ResDataDir==NULL)\n\t\t\tcontinue;\n\t\tfor(int nRes=0;nRes<m_ResDir[nType].ResCount;nRes++)\n\t\t{\n\t\t\tAddr=ResDirAddr+sizeof(RESOURCE_DIRECTORY)+nRes*sizeof(RESOURCE_DIRECTORY_ENTRY);\n\t\t\tif(ReadMemory(Addr,&ResDirEntry,sizeof(RESOURCE_DIRECTORY_ENTRY)) != sizeof(RESOURCE_DIRECTORY_ENTRY))\n\t\t\t\tcontinue;\n\t\t\tBIG_ENDIAN_DWORD(ResDirEntry.Name);\n\t\t\tBIG_ENDIAN_DWORD(ResDirEntry.OffsetToData);\n\t\t\tif((ResDirEntry.OffsetToData&0x80000000)==0)\n\t\t\t\tcontinue;\n\t\t\tif(ResDirEntry.Name&0x80000000)\n\t\t\t{\n\t\t\t\tAddr=ResBaseAddr+ResDirEntry.Name&0x7FFFFFFF;\n\t\t\t\tif(ReadMemory(Addr,&NameLength,2) != 2)\n\t\t\t\t\tcontinue;\t\t\t\t\n\t\t\t\tBIG_ENDIAN_WORD(NameLength);\n\t\t\t\tif(NameLength>sizeof(m_ResDir[nType].ResDataDir[nRes].IDName)/2)\n\t\t\t\t\tNameLength=sizeof(m_ResDir[nType].ResDataDir[nRes].IDName)/2;\n\t\t\t\tRDSize = NameLength*2;\n\t\t\t\tif(ReadMemory(Addr+2,m_ResDir[nType].ResDataDir[nRes].IDName,RDSize) != RDSize)\n\t\t\t\t\tcontinue;\n\t\t\t\tm_ResDir[nType].ResDataDir[nRes].IDName[RDSize/2]=0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_ResDir[nType].ResDataDir[nRes].ID=LOW_WORD(ResDirEntry.Name);\n\t\t\t}\n\t\t\tAddr=ResBaseAddr+ResDirEntry.OffsetToData&0x7FFFFFFF;\n\t\t\tif(ReadMemory(Addr,&ResDir,sizeof(RESOURCE_DIRECTORY)) != sizeof(RESOURCE_DIRECTORY))\n\t\t\t\tcontinue;\n\t\t\tBIG_ENDIAN_DWORD(ResDir.Characteristics);\n\t\t\tBIG_ENDIAN_DWORD(ResDir.TimeDateStamp);\n\t\t\tBIG_ENDIAN_WORD(ResDir.MajorVersion);\n\t\t\tBIG_ENDIAN_WORD(ResDir.MinorVersion);\n\t\t\tBIG_ENDIAN_WORD(ResDir.NumberOfNamedEntries);\n\t\t\tBIG_ENDIAN_WORD(ResDir.NumberOfIdEntries);\n\t\t\tif(ResDir.NumberOfIdEntries!=1)\n\t\t\t\tcontinue;\n\t\t\tAddr=Addr+sizeof(RESOURCE_DIRECTORY);\n\t\t\tif(ReadMemory(Addr,&ResDirEntry,sizeof(RESOURCE_DIRECTORY_ENTRY)) != sizeof(RESOURCE_DIRECTORY_ENTRY))\n\t\t\t\tcontinue;\n\t\t\tBIG_ENDIAN_DWORD(ResDirEntry.Name);\n\t\t\tBIG_ENDIAN_DWORD(ResDirEntry.OffsetToData);\n\t\t\tif(ResDirEntry.OffsetToData&0x80000000)\n\t\t\t\tcontinue;\n\t\t\tAddr = ResBaseAddr + ResDirEntry.OffsetToData&0x7FFFFFFF;\n\t\t\tif(ReadMemory(Addr,&ResDataEntry,sizeof(RESOURCE_DATA_ENTRY)) != sizeof(RESOURCE_DATA_ENTRY))\n\t\t\t\tcontinue;\n\t\t\tBIG_ENDIAN_DWORD(ResDataEntry.OffsetToData);\n\t\t\tBIG_ENDIAN_DWORD(ResDataEntry.Size);\n\t\t\tBIG_ENDIAN_DWORD(ResDataEntry.CodePage);\n\t\t\tBIG_ENDIAN_DWORD(ResDataEntry.Reserved);\n\t\t\tm_ResDir[nType].ResDataDir[nRes].CodePage=ResDataEntry.CodePage;\n\t\t\tm_ResDir[nType].ResDataDir[nRes].Size=ResDataEntry.Size;\n\t\t\tm_ResDir[nType].ResDataDir[nRes].BufferAddr = ResDataEntry.OffsetToData + m_ImageBase;\n\t\t}\n\t}\n}\n\nint CPEFile::GetLastPhyPosSection()\n{\n\tDWORD LastPos;\n\tint  Index;\n    LastPos=0;\n    Index=0;\n\tfor(int i=1;i<m_SectCount;i++)\n\t{\n\t\tif(m_Section[i].PointerToRawData>LastPos)\n\t\t{\n\t\t\tLastPos=m_Section[i].PointerToRawData;\n \t\t\tIndex=i;\n\t\t}\n\t}\n\treturn Index;\n}\n\nint CPEFile::GetLastMemAddrSection()\n{\n\tDWORD LastPos;\n\tint Index;\n    LastPos=0;\n    Index=0;\n\tfor(int i=1;i<=m_SectCount;i++)\n\t{\n\t\tif(m_Section[i].VirtualAddress>LastPos)\n\t\t{\n\t\t\tLastPos=m_Section[i].VirtualAddress;\n\t\t\tIndex=i;\n\t\t}\n\t}\n\treturn Index;\n}\n\nint CPEFile::GetFirstPhyPosSection()\n{\n\tint Index;\n\tDWORD LastPos;\n    Index=0;\n    LastPos=0;\n\tfor(int i=1;i<=m_SectCount;i++)\n\t{\n\t\tif(m_Section[i].PointerToRawData<=LastPos)\n\t\t{\n\t\t\tLastPos=m_Section[i].PointerToRawData;\n \t\t\tIndex=i;\n\t\t}\n\t}\n\treturn Index;\n}\n\nint CPEFile::GetFirstMemAddrSection()\n{\n\tint Index;\n\tDWORD LastPos;\n    Index=0;\n    LastPos=0;\n\tfor(int i=1;i<=m_SectCount;i++)\n\t{\n\t\tif(m_Section[i].VirtualAddress<=LastPos)\n\t\t{\n\t\t\tLastPos=m_Section[i].VirtualAddress;\n\t\t\tIndex=i;\n\t\t}\n\t}\n\treturn Index;\n}\n\nDWORD CPEFile::GetExportFunc(PCSTR FuncName,int*pIndex)\n{\n\tfor(int n=0;n<m_ExportFuncCount;n++)\n\t{\n\t\tif(!TStrCmp(m_ExportFunc[n].FuncName,FuncName))\n\t\t{\n\t\t\tif(pIndex)\n\t\t\t\t*pIndex = n;\n\t\t\treturn m_ExportFunc[n].Address;\n\t\t}\n\t}\n\treturn 0;\n}\n\nDWORD CPEFile::GetExportFunc(DWORD FuncOrd)\n{\n\tfor(int n=0;n<m_ExportFuncCount;n++)\n\t{\n\t\tif(m_ExportFunc[n].FuncOrd==FuncOrd)\n\t\t\treturn m_ExportFunc[n].Address;\n\t}\n\treturn 0;\n}\n\nint CPEFile::LoadStringW(DWORD StrID,PWORD szBuffer,int MaxLen)\n{\n\tDWORD Offset,Length,Addr;\n\tRES_DIR*ResDir;\n\tDWORD StringTableID,StringID;\n\tint StrLen;\n\tBYTE* pData;\n\tint nStrTab;\n\tif(MaxLen<2)\n\t{\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tGetResource();\n\tResDir=NULL;\n\tfor(int nType=0;nType<m_ResDirCount;nType++)\n\t{\n\t\tif(m_ResDir[nType].Type==RES_TYPE_STRING)\n\t\t{\n\t\t\tResDir=&m_ResDir[nType];\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(ResDir==NULL)\n\t\treturn 0;\n\tStringTableID=StrID/16+1;\n\tfor( nStrTab=0;nStrTab<ResDir->ResCount;nStrTab++)\n\t{\n\t\tif(StringTableID==ResDir->ResDataDir[nStrTab].ID)\n\t\t{\n\t\t\tAddr=ResDir->ResDataDir[nStrTab].BufferAddr;\n\t\t\tLength=ResDir->ResDataDir[nStrTab].Size;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(nStrTab>=ResDir->ResCount || Addr==0)\n\t{\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tStringID=StrID%16;\n\tif(Length>=MAX_PE_BUFFER_SIZE)\n\t{\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tpData=new BYTE[Length];\n\tif(pData==NULL)\n\t{\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tif(ReadMemory(Addr,pData,Length) == 0)\n\t{\n\t\tdelete pData;\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tOffset=0;\n\twhile(Offset<Length && StringID)\n\t{\n\t\tStrLen=GET_WORD(pData,Offset);\n\t\tOffset+=2;\n\t\tif(StrLen)\n\t\t\tOffset+=StrLen*2;\n\t\tStringID--;\n\t}\n\tif(StringID>0 || Offset>=Length)\n\t{\n\t\tdelete pData;\n\t\t*szBuffer=0;\n\t\treturn 0;\n\t}\n\tStrLen=GET_WORD(pData,Offset);\n\tOffset+=2;\n\tMAX_LIMIT(StrLen,(MaxLen-2)/2);\n\tif(Offset+StrLen*2<=Length)\n\t\tmemcpy(szBuffer,RT_PWORD(pData,Offset),StrLen*2);\n\telse\n\t\tStrLen=0;\n\tszBuffer[StrLen]=0;\n\tdelete pData;\n\treturn StrLen;\n}\n\nint CPEFile::LoadStringA(DWORD StrID,PSTR szBuffer,int MaxLen)\n{\n\tint StrLen;\n\tPWORD pWStr=new WORD[MaxLen];\n\tif(pWStr==NULL)\n\t\treturn false;\n\t*pWStr=0;\n\tLoadStringW(StrID,pWStr,MaxLen*2);\n\tStrLen=0;\n\twhile(pWStr[StrLen])\n\t{\n\t\tszBuffer[StrLen]=(CHAR)pWStr[StrLen];\n\t\tStrLen++;\n\t}\n\tszBuffer[StrLen]=0;\n\tdelete pWStr;\n\treturn StrLen;\n}\n\nRES_DATA* CPEFile::FindResource(const PWORD szResID,DWORD ResID,const PWORD szType,DWORD Type)\n{\n\tDWORD Length,Addr;\n\tRES_DIR*ResDir;\n\tGetResource();\n\tResDir=NULL;\n\tfor(int nType=0;nType<m_ResDirCount;nType++)\n\t{\n\t\tif(szType)\n\t\t{\n\t\t\tif(TStrICmp(m_ResDir[nType].TypeName,szType)==0)\n\t\t\t{\n\t\t\t\tResDir=&m_ResDir[nType];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_ResDir[nType].Type==Type)\n\t\t\t{\n\t\t\t\tResDir=&m_ResDir[nType];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(ResDir==NULL)\n\t\treturn NULL;\n\tfor(int nStrTab=0;nStrTab<ResDir->ResCount;nStrTab++)\n\t{\n\t\tif(szResID)\t\t\t\n\t\t{\n\t\t\tif(TStrICmp(ResDir->ResDataDir[nStrTab].IDName,szResID)==0)\n\t\t\t{\n\t\t\t\tAddr=ResDir->ResDataDir[nStrTab].BufferAddr;\n\t\t\t\tLength=ResDir->ResDataDir[nStrTab].Size;\n\t\t\t\treturn &ResDir->ResDataDir[nStrTab];\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(ResID==ResDir->ResDataDir[nStrTab].ID)\n\t\t\t{\n\t\t\t\tAddr=ResDir->ResDataDir[nStrTab].BufferAddr;\n\t\t\t\tLength=ResDir->ResDataDir[nStrTab].Size;\n\t\t\t\treturn &ResDir->ResDataDir[nStrTab];\n\t\t\t}\n\t\t}\n\t}\n\treturn NULL;\n}\n\nbool  CPEFile::GetSectionIndex(IN DWORD Address,OUT int*pIndex)\n{\n\tAddress-=m_ImageBase;\n\tfor(int n=0;n<m_SectCount;n++)\n\t{\n\t\tif(Address>=m_Section[n].VirtualAddress && Address<m_Section[n].VirtualAddress + m_Section[n].VirtualSize)\n        {\n            if(pIndex)\n                *pIndex=n;\n            return true;\n        }\n\t}\n\treturn false;\n}\n\nbool CPEFile::Check()\n{\n\tif(m_ImageBase==0 || m_ImageSize==0)\n\t{\n\t\tm_ErrorCode = PE_ERROR_HEAD;\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nIMPORT_MODULE* CPEFile::GetImportModule(PCSTR ModuleName)\n{\n\tfor(int n=0;n<m_ImportModuleCount;n++)\n\t{\n\t\tif( TStrICmp(m_ImportModule[n].FileName,ModuleName)==0 ||\n\t\t\tTStrICmp(m_ImportModule[n].ModuleName,ModuleName)==0)\n\t\t\treturn &m_ImportModule[n];\n\t}\n\treturn NULL;\n}\n\nIMPORT_FUNC* CPEFile::GetImportFunc(IMPORT_MODULE*pModule,PCSTR FuncName)\n{\n\tfor(int n=0;n<pModule->FuncCount;n++)\n\t{\n\t\tif( TStrICmp(pModule->FuncList[n].FuncName,FuncName)==0)\n\t\t\treturn &pModule->FuncList[n];\n\t}\n\treturn NULL;\n}\n\nIMPORT_FUNC* CPEFile::GetImportModuleFunc(PCSTR ModuleName,PCSTR FuncName)\n{\n\tIMPORT_MODULE*pModule = GetImportModule(ModuleName);\n\tif(pModule==NULL)\n\t{\n\t\treturn NULL;\n\t}\n\treturn GetImportFunc(pModule,FuncName);\n}\nbool CPEFile::GetDataDirectory(IN int Index,OUT PPE_DATA_DIR DataDirectory)const\n{\n\tif(Index>=MAX_PE_DATA_DIR)\n\t\treturn false;\n\tif(DataDirectory)\n\t\t*DataDirectory=m_PEHead.DataDirectory[Index];\n\treturn true;\n}\n\nbool CMemPEFile::Open(ULPOS ModuleBase,UINT OpenMode,IN RWProc RMFunc,IN void*RMObj)\n{\n\tif(OpenMode)\n\t\tm_OpenMode|=OpenMode;\n\tSetRMProc(RMFunc,RMObj);\n\tm_ImageBase = ModuleBase;\n\tm_FileObjType = FILE_OBJ_TYPE_OS_MEMORY_IMAGE;\n\treturn CPEFile::Open(NULL);\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/PEFile.h",
    "content": "#ifndef\t_PEFILE_H_\n#define _PEFILE_H_\n\n//////////////////////////////////////////////////////////////////\n//ȫ\n//////////////////////////////////////////////////////////////////\n#define MAX_PE_DATA_DIR\t\t\t\t\t0x10\n#define MAX_PE_SECTION\t\t\t\t\t0x80\n#define MAX_PE_IMAGESIZE\t\t\t\t0x1000000\n#define MAX_PE_BUFFER_SIZE\t\t\t\t0xFFFF\n#define MAX_PE_TLS_DATA_SIZE\t\t\t0x10000\n#define MAX_PE_IMPORT_MODULE\t\t\t0x100\n#define MAX_PE_FUNC_PER_IMPORT_MODULE\t0x1000\n#define MAX_PE_RES_DIR\t\t\t\t\t0x400\n#define MAX_PE_RES_PER_TYPE\t\t\t\t0x1000\n#define MAX_PE_FUNC_SIZE\t\t\t\t0xFFFF\n#define MAX_PE_SIZE_SIZE\t\t\t\t0x1000\n\n#define MAX_PE_TLS_BLOCK\t\t\t\t0x1000\n#define MAX_PE_TLS_CALLBACK\t\t\t\t0x200\n#define MAX_PE_BASE_RELOC_PAGE\t\t\t0x1000\n#define MAX_PE_BASE_RELOC_PER_PAGE\t\t0x400\n\n#define PE_MAX_SECTION_ALIGN\t\t\t0x10000\n#define PE_MAX_FILE_ALIGN\t\t\t\t0x2000\n\n#define PE_DEFAULT_SECTION_ALIGN\t\t0x1000\n#define PE_DEFAULT_FILE_ALIGN\t\t\t0x200\n\n#define INVALID_RES_TYPE\t\t\t\t0xFFFFFFFF\n\n#define PE_OPEN_EXE\t\t\t\t\t\t0x00000001\n#define PE_OPEN_DLL\t\t\t\t\t\t0x00000002\n#define PE_OPEN_SYS\t\t\t\t\t\t0x00000004\n#define PE_OPEN_NON_I386\t\t\t\t0x00000008\n#define PE_OPEN_NO_IMPORT\t\t\t\t0x00000010\n#define PE_OPEN_NO_EXPORT\t\t\t\t0x00000020\n#define PE_OPEN_NO_IMPORT_STRING\t\t0x00000040\n\n#define PE_OPEN_ALL\t\t\t\t\t\t(PE_OPEN_EXE|PE_OPEN_DLL|PE_OPEN_SYS)\n\nenum\n{\n\tPE_ERROR_SUCCESS = 0,\n\tPE_ERROR_SIGN,\n\tPE_ERROR_SECTION,\n\tPE_ERROR_MODULE_TYPE,\n\tPE_ERROR_HEAD\n};\n\n#define IMAGE_SCN_CNT_CODE\t\t\t\t\t\t0x00000020  // Section contains code.\n#define IMAGE_SCN_CNT_INITIALIZED_DATA\t\t\t0x00000040  // Section contains initialized data.\n#define IMAGE_SCN_CNT_UNINITIALIZED_DATA\t\t0x00000080  // Section contains uninitialized data.\n#define IMAGE_SCN_MEM_EXECUTE\t\t\t\t\t0x20000000  // Section is executable.\n#define IMAGE_SCN_MEM_READ\t\t\t\t\t\t0x40000000  // Section is readable.\n#define IMAGE_SCN_MEM_WRITE\t\t\t\t\t\t0x80000000  // Section is writeable.\n#define IMAGE_SCN_ALL_ATTRIB\t\t\t\t\t0xE0000060\n//\n// I386 relocation types.\n//\n#define IMAGE_REL_I386_ABSOLUTE         0x0000  // Reference is absolute, no relocation is necessary\n#define IMAGE_REL_I386_DIR16            0x0001  // Direct 16-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_REL16            0x0002  // PC-relative 16-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_DIR32            0x0006  // Direct 32-bit reference to the symbols virtual address\n#define IMAGE_REL_I386_DIR32NB          0x0007  // Direct 32-bit reference to the symbols virtual address, base not included\n#define IMAGE_REL_I386_SEG12            0x0009  // Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address\n#define IMAGE_REL_I386_SECTION          0x000A\n#define IMAGE_REL_I386_SECREL           0x000B\n#define IMAGE_REL_I386_REL32            0x0014  // PC-relative 32-bit reference to the symbols virtual address\n\nstruct PE_SECTION\n{\n\tCHAR   Name[8];                   //0x00\n\tDWORD  VirtualSize;               //0x08\n\tDWORD  VirtualAddress;            //0x0C\n\tDWORD  SizeOfRawData;             //0x10\n\tDWORD  PointerToRawData;          //0x14\n\tDWORD  PointerToRelocations;      //0x18\n\tDWORD  PointerToLinenumbers;      //0x1C\n\tWORD   NumberOfRelocations;       //0x20\n\tWORD   NumberOfLinenumbers;\t      //0x22\n\tDWORD  Characteristics;           //0x24\n}ST_PACK_ONE_BYTE;\n\ntypedef struct _PE_DATA_DIR\n{\n    DWORD   VirtualAddress;\n    DWORD   Size;\n}PE_DATA_DIR,*PPE_DATA_DIR;\n\ntypedef struct _PE_DEBUG_DIRECTORY \n{  \n\tDWORD Characteristics;  \n\tDWORD TimeDateStamp; \n\tWORD MajorVersion;  \n\tWORD MinorVersion;  \n\tDWORD Type;  \n\tDWORD SizeOfData;  \n\tDWORD AddressOfRawData;  \n\tDWORD PointerToRawData;\n} PE_DEBUG_DIRECTORY, *PPE_DEBUG_DIRECTORY;\n\n#define IMAGE_DEBUG_MISC_EXENAME    1\n\ntypedef struct _PE_DEBUG_MISC\n{\n\tDWORD\tDataType;               // type of misc data, see defines\n\tDWORD\tLength;                 // total length of record, rounded to four\n\t// byte multiple.\n\tBYTE\tUnicode;                // TRUE if data is unicode string\n\tBYTE\tReserved[ 3 ];\n\tBYTE\tData[ 260 ];            // Actual data\n} PE_DEBUG_MISC, *PPE_DEBUG_MISC;\n\ntypedef struct _PE_DEBUG_CODEVIEW\n{\n\tDWORD  Signature;                  //0x00  NB10־0x3031\n\tDWORD  Reserved;                 // total length of record, rounded to four\n\t// byte multiple.\n\tDWORD  TimeDateStamp;              //0x08\n\tDWORD  Age;\n\tBYTE   Name[ 260 ];              // Actual data\n} PE_DEBUG_CODEVIEW, *PPE_DEBUG_CODEVIEW;\n\ntypedef struct _PD_DEBUG_PDB\n{\n\tDWORD  Signature;\n    union\n\t{\n        ULONG   Data1;\n        USHORT  Data2;\n        USHORT  Data3;\n        UCHAR   Data4[8];\n    }Guid;\n\tDWORD Reserved;\n\tDWORD Reserved1;\n\tDWORD Age;\n\tBYTE Name[780];\n}PE_DEBUG_PDB,*PPE_DEBUG_PDB;\n\nstruct EXPORT_DESCR\n{\n    DWORD   Characteristics;\t\t//0x00\n    DWORD   TimeDateStamp;\t\t\t//0x04\n    WORD    MajorVersion;\t\t\t//0x08\n    WORD    MinorVersion;\t\t\t//0x0A\n    DWORD   Name;\t\t\t\t\t//0x0C\n    DWORD   Base;\t\t\t\t\t//0x10\n    DWORD   NumberOfFunctions;\t\t//0x14\n    DWORD   NumberOfNames;\t\t\t//0x18\n    DWORD   AddressOfFunctions;     //0x1C\t RVA from base of image\n    DWORD   AddressOfNames;         //0x20\t RVA from base of image\n    DWORD   AddressOfNameOrdinals;  //0x24\t RVA from base of image\n}ST_PACK_ONE_BYTE;\n\nstruct IMPORT_DESCR\n{\n    union\n\t{\n        DWORD   Characteristics;\n        DWORD   OriginalFirstThunk;\n    };\n    DWORD   TimeDateStamp;\n    DWORD   ForwarderChain;\n    DWORD   Name;\n    DWORD   FirstThunk;\n};\n\nstruct EXPORT_FUNC\n{\n    char\tFuncName[MAX_NAME_LEN];\n\tDWORD\tAddress;\n\tDWORD\tFuncOrd;\n\tDWORD\tThunkAddr;\n};\n\nstruct IMPORT_FUNC\n{\n    char\tFuncName[MAX_NAME_LEN];\n\tDWORD\tNameAddr;\n\tDWORD\tThunkAddr;\n\tDWORD\tAddress;\n\tDWORD\tFuncOrd;\n\tbool\tbUseOrd;\n};\n\nstruct IMPORT_MODULE\n{\n    CHAR\tModuleName[MAX_NAME_LEN];\n\tCHAR\tFileName[MAX_NAME_LEN];\n\tIMPORT_FUNC*FuncList;\n\tint\t\tFuncCount;\n\tDWORD\tAddress;\n};\n\n// Subsystem Values\n#define IMAGE_SUBSYSTEM_UNKNOWN              0   // Unknown subsystem.\n#define IMAGE_SUBSYSTEM_NATIVE               1   // Image doesn't require a subsystem.\n#define IMAGE_SUBSYSTEM_WINDOWS_GUI          2   // Image runs in the Windows GUI subsystem.\n#define IMAGE_SUBSYSTEM_WINDOWS_CUI          3   // Image runs in the Windows character subsystem.\n#define IMAGE_SUBSYSTEM_OS2_CUI              5   // image runs in the OS/2 character subsystem.\n#define IMAGE_SUBSYSTEM_POSIX_CUI            7   // image runs in the Posix character subsystem.\n#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS       8   // image is a native Win9x driver.\n#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI       9   // Image runs in the Windows CE subsystem.\n#define IMAGE_FILE_MACHINE_UNKNOWN           0\n#define IMAGE_FILE_MACHINE_I386              0x014c  // Intel 386.\n#define IMAGE_FILE_MACHINE_R3000             0x0162  // MIPS little-endian, 0x160 big-endian\n#define IMAGE_FILE_MACHINE_R4000             0x0166  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_R10000            0x0168  // MIPS little-endian\n#define IMAGE_FILE_MACHINE_WCEMIPSV2         0x0169  // MIPS little-endian WCE v2\n#define IMAGE_FILE_MACHINE_ALPHA             0x0184  // Alpha_AXP\n#define IMAGE_FILE_MACHINE_POWERPC           0x01F0  // IBM PowerPC Little-Endian\n#define IMAGE_FILE_MACHINE_SH3               0x01a2  // SH3 little-endian\n#define IMAGE_FILE_MACHINE_SH3E              0x01a4  // SH3E little-endian\n#define IMAGE_FILE_MACHINE_SH4               0x01a6  // SH4 little-endian\n#define IMAGE_FILE_MACHINE_ARM               0x01c0  // ARM Little-Endian\n#define IMAGE_FILE_MACHINE_THUMB             0x01c2\n#define IMAGE_FILE_MACHINE_IA64              0x0200  // Intel 64\n#define IMAGE_FILE_MACHINE_MIPS16            0x0266  // MIPS\n#define IMAGE_FILE_MACHINE_MIPSFPU           0x0366  // MIPS\n#define IMAGE_FILE_MACHINE_MIPSFPU16         0x0466  // MIPS\n#define IMAGE_FILE_MACHINE_ALPHA64           0x0284  // ALPHA64\n#define IMAGE_FILE_MACHINE_AXP64             IMAGE_FILE_MACHINE_ALPHA64\n\n#define PE_HEAD_SIGNATURE\t\t\t((0<<24)+(0<<16)+('E'<<8)+('P'))\nstruct PE_HEAD\n{\n\tDWORD  Signature;                  //0x00  PE־0x00004550\n\tWORD   Machine;                    //0x04\n\tWORD   NumberOfSections;           //0x06\n\tDWORD  TimeDateStamp;              //0x08\n\tDWORD  PointerToSymbolTable;       //0x0C\n\tDWORD  NumberOfSymbols;            //0x10\n\tWORD   SizeOfOptionalHeader;       //0x14\n\tWORD   Characteristics;            //0x16\n\tWORD   Magic;                      //0x18\n\tBYTE   MajorLinkerVersion;         //0x1A\n\tBYTE   MinorLinkerVersion;         //0x1B\n\tDWORD  SizeOfCode;                 //0x1C\n\tDWORD  SizeOfInitializedData;      //0x20\n\tDWORD  SizeOfUninitializedData;    //0x24\n\tDWORD  AddressOfEntryPoint;        //0x28\n\tDWORD  BaseOfCode;                 //0x2C\n\tDWORD  BaseOfData;                 //0x30\n\tDWORD  ImageBase;                  //0x34\n\tDWORD  SectionAlignment;           //0x38\n\tDWORD  FileAlignment;              //0x3C\n\tWORD   MajorOperatingSystemVersion;//0x40\n\tWORD   MinorOperatingSystemVersion;//0x42\n\tWORD   MajorImageVersion;          //0x44\n\tWORD   MinorImageVersion;          //0x46\n\tWORD   MajorSubsystemVersion;      //0x48\n\tWORD   MinorSubsystemVersion;      //0x4A\n\tDWORD  Win32VersionValue;          //0x4C\n\tDWORD  SizeOfImage;                //0x50\n\tDWORD  SizeOfHeaders;              //0x54\n\tDWORD  CheckSum;                   //0x58\n\tWORD   Subsystem;                  //0x5C\n\tWORD   DllCharacteristics;         //0x5E\n\tDWORD  SizeOfStackReserve;         //0x60\n\tDWORD  SizeOfStackCommit;          //0x64\n\tDWORD  SizeOfHeapReserve;          //0x68\n\tDWORD  SizeOfHeapCommit;           //0x6C\n\tDWORD  LoaderFlags;                //0x70\n\tDWORD  NumberOfRvaAndSizes;        //0x74\n\tPE_DATA_DIR DataDirectory[MAX_PE_DATA_DIR];//0x78\n}ST_PACK_ONE_BYTE;\n\nstruct IMAGE_BASE_RELOC\n{\n    DWORD   VirtualAddress;\n    DWORD   BlockSize;\n};\n\nstruct RESOURCE_DIRECTORY\n{\n    DWORD   Characteristics;\n    DWORD   TimeDateStamp;\n    WORD    MajorVersion;\n    WORD    MinorVersion;\n    WORD    NumberOfNamedEntries;\n    WORD    NumberOfIdEntries;\n\t//IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[];\n}ST_PACK_ONE_BYTE;\n\nstruct TLS_DIRECTORY32\n{\n    DWORD   StartAddressOfRawData;\n    DWORD   EndAddressOfRawData;\n    DWORD   AddressOfIndex;             // PDWORD\n    DWORD   AddressOfCallBacks;         // PIMAGE_TLS_CALLBACK *\n    DWORD   SizeOfZeroFill;\n    DWORD   Characteristics;\n};\n\n#define IMAGE_RESOURCE_NAME_IS_STRING        0x80000000\n#define IMAGE_RESOURCE_DATA_IS_DIRECTORY     0x80000000\n\nstruct RESOURCE_DIRECTORY_ENTRY\n{\n    DWORD   Name;\n\tDWORD   OffsetToData;\n};\n\nstruct RESOURCE_DIRECTORY_STRING\n{\n    WORD    Length;\n    CHAR    NameString[1];\n};\n\nstruct RESOURCE_DATA_ENTRY\n{\n    DWORD   OffsetToData;\n    DWORD   Size;\n    DWORD   CodePage;\n    DWORD   Reserved;\n};\n\nstruct RES_DATA\n{\n\tDWORD CodePage;\n\tDWORD ID;\n\tWORD IDName[MAX_NAME_LEN];\n\tDWORD BufferAddr;\n\tDWORD Size;\n};\n\nstruct RES_DIR\n{\n\tDWORD Type;\n\tWORD TypeName[MAX_NAME_LEN];\n\tint   ResCount;\n\tRES_DATA* ResDataDir;\n};\n\nstruct BASE_RELOC\n{\n\tDWORD VirtualAddr;\n\tDWORD Count;\n\tWORD* TypeOffset;\n};\n\n#define IMAGE_DIRECTORY_ENTRY_EXPORT\t\t\t0   // Export Directory\n#define IMAGE_DIRECTORY_ENTRY_IMPORT\t\t\t1   // Import Directory\n#define IMAGE_DIRECTORY_ENTRY_RESOURCE\t\t\t2   // Resource Directory\n#define IMAGE_DIRECTORY_ENTRY_EXCEPTION\t\t\t3   // Exception Directory\n#define IMAGE_DIRECTORY_ENTRY_SECURITY\t\t\t4   // Security Directory\n#define IMAGE_DIRECTORY_ENTRY_BASERELOC\t\t\t5   // Base Relocation Table\n#define IMAGE_DIRECTORY_ENTRY_DEBUG\t\t\t\t6   // Debug Directory\n#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT\t\t\t7   // (X86 usage)\n#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE\t\t7   // Architecture Specific Data\n#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR\t\t\t8   // RVA of GP\n#define IMAGE_DIRECTORY_ENTRY_TLS\t\t\t\t9   // TLS Directory\n#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG\t\t10   // Load Configuration Directory\n#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT\t\t11   // Bound Import Directory in headers\n#define IMAGE_DIRECTORY_ENTRY_IAT\t\t\t\t12   // Import Address Table\n#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT\t\t13   // Delay Load Import Descriptors\n#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR\t14   // COM Runtime descriptor\n\n#define IMAGE_FILE_RELOCS_STRIPPED\t\t\t\t0x0001  // Relocation info stripped from file.\n#define IMAGE_FILE_EXECUTABLE_IMAGE\t\t\t\t0x0002  // File is executable  (i.e. no unresolved externel references).\n#define IMAGE_FILE_LINE_NUMS_STRIPPED\t\t\t0x0004  // Line nunbers stripped from file.\n#define IMAGE_FILE_LOCAL_SYMS_STRIPPED\t\t\t0x0008  // Local symbols stripped from file.\n#define IMAGE_FILE_AGGRESIVE_WS_TRIM\t\t\t0x0010  // Agressively trim working set\n#define IMAGE_FILE_LARGE_ADDRESS_AWARE\t\t\t0x0020  // App can handle >2gb addresses\n#define IMAGE_FILE_BYTES_REVERSED_LO\t\t\t0x0080  // Bytes of machine word are reversed.\n#define IMAGE_FILE_32BIT_MACHINE\t\t\t\t0x0100  // 32 bit word machine.\n#define IMAGE_FILE_DEBUG_STRIPPED\t\t\t\t0x0200  // Debugging info stripped from file in .DBG file\n#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP\t\t0x0400  // If Image is on removable media, copy and run from the swap file.\n#define IMAGE_FILE_NET_RUN_FROM_SWAP\t\t\t0x0800  // If Image is on Net, copy and run from the swap file.\n#define IMAGE_FILE_SYSTEM\t\t\t\t\t\t0x1000  // System File.\n#define IMAGE_FILE_DLL\t\t\t\t\t\t\t0x2000  // File is a DLL.\n#define IMAGE_FILE_UP_SYSTEM_ONLY\t\t\t\t0x4000  // File should only be run on a UP machine\n#define IMAGE_FILE_BYTES_REVERSED_HI\t\t\t0x8000  // Bytes of machine word are reversed.\n#define RES_TYPE_CURSOR\t\t\t\t\t\t\t1\n#define RES_TYPE_BITMAP\t\t\t\t\t\t\t2\n#define RES_TYPE_ICON\t\t\t\t\t\t\t3\n#define RES_TYPE_MENU\t\t\t\t\t\t\t4\n#define RES_TYPE_DIALOG\t\t\t\t\t\t\t5\n#define RES_TYPE_STRING\t\t\t\t\t\t\t6\n#define RES_TYPE_FONTDIR\t\t\t\t\t\t7\n#define RES_TYPE_FONT\t\t\t\t\t\t\t8\n#define RES_TYPE_ACCELERATOR\t\t\t\t\t9\n#define RES_TYPE_RCDATA\t\t\t\t\t\t\t10\n#define RES_TYPE_MESSAGETABLE\t\t\t\t\t11\n#define RES_TYPE_GROUP_CURSOR\t\t\t\t\tRES_TYPE_CURSOR + DIFFERENCE\n#define RES_TYPE_GROUP_ICON\t\t\t\t\t\tRES_TYPE_ICON + DIFFERENCE\n#define RES_TYPE_VERSION\t\t\t\t\t\t16\n#define RES_TYPE_DLGINCLUDE\t\t\t\t\t\t17\n#define RES_TYPE_HTML\t\t\t\t\t\t\t23\n\nclass CPEFile : public CImageFile\n{\npublic:\n\tCPEFile();\n////ļغ//////////////////////////////////////////////////////\n    bool    MapToFile(IN DWORD MemAddr,OUT DWORD*pPhysAddr = NULL,IN bool bImageBase = TRUE);\n    bool    MapToMemory(IN DWORD PhyOff,OUT DWORD*pMemAddr = NULL,IN bool bImageBase = TRUE);\npublic:\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL);\n\tvoid\tClose();\n\tULSIZE\tReadImageMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULSIZE\tWriteImageMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tbool\tLoadPage(ULPOS Address,void*Buffer);\n\tDWORD\tGetPageAttribute(ULPOS Address);\npublic:\n\t////////////////////////////////////////////////////////\n\t//PE\n\t////////////////////////////////////////////////////////\n\tbool\tCheck();\n\tvoid\tRelocLoad(IN ULPOS BaseAddr = 0);\n\tbool\tIsRelocArea(ULPOS RVALow,ULPOS RVAHigh);\n\tbool\tIsImportThunkArea(ULPOS RVALow,ULPOS RVAHigh);\n\tbool\tGetImportThunkArea(ULPOS*pRVALow,ULPOS*pRVAHigh);\n\tvoid\tGetBaseReloc();\n\tvoid\tGetImportModule();\n\tIMPORT_MODULE*GetImportModule(PCSTR ModuleName);\n\tIMPORT_FUNC*GetImportFunc(IMPORT_MODULE*pModule,PCSTR FuncName);\n\tIMPORT_FUNC*GetImportModuleFunc(PCSTR ModuleName,PCSTR FuncName);\n\tbool\tGetDataDirectory(IN int Index,OUT PPE_DATA_DIR DataDirectory)const;\n\tvoid\tGetExportFunc();\n\tvoid\tGetTLS();\n\tvoid\tGetResource();\n\tDWORD\tGetExportFunc(IN PCSTR FuncName,int*pIndex=NULL);\n\tDWORD\tGetExportFunc(IN DWORD FuncOrd);\n\tint\t\tGetLastPhyPosSection();\t\t//õַǸ\n\tint\t\tGetLastMemAddrSection();\t//õַǸ\n\tint\t\tGetFirstPhyPosSection();\t//õַСǸ\n\tint\t\tGetFirstMemAddrSection();\t//õַСǸ\n    bool\tGetSectionIndex(IN DWORD Address,OUT int*pIndex);\n\t/////////////////////////////////////////////////////////////\n\t//Դ\n\t/////////////////////////////////////////////////////////////\n\tint\t\tLoadStringW(DWORD StrID,PWORD szBuffer,int MaxLen);\n\tint\t\tLoadStringA(DWORD StrID,PSTR szBuffer,int MaxLen);\n\tRES_DATA*FindResource(const PWORD szResID,DWORD ResID,const PWORD szType,DWORD Type);\npublic:\n\tUINT\tm_OpenMode;\n\tUINT\tm_ErrorCode;\n\tULPOS\tm_PEOff;\n\tPE_SECTION*m_Section;\n\tint\t\tm_SectCount;\n\tPE_HEAD\tm_PEHead;\n\tIMPORT_MODULE*\tm_ImportModule;\t//ģ\n\tint\t\t\tm_ImportModuleCount;//ģ\n\tEXPORT_FUNC*m_ExportFunc;\t\t//\n\tint\t\t\tm_ExportFuncCount;\t//\n\tRES_DIR*\tm_ResDir;\t\t\t//ԴĿ¼\n\tint\t\t\tm_ResDirCount;\t\t//ԴĿ¼\n\tBASE_RELOC*\tm_BaseReloc;\t\t//ضλĿ¼\n\tint\t\t\tm_BaseRelocCount;\t//ضλĿ¼\n\t/////////////////////////////////////////////////////\n\t//ֲԴ洢\n\t/////////////////////////////////////////////////////\n\tBYTE*\t\tm_TLSData;\t\t\t//TLSʼ\n\tint\t\t\tm_TLSDataSize;\t\t//TLS\n\tDWORD\t\tm_AddressOfTLSIndex;//TLSַ\n\tDWORD*\t\tm_TLSCallBackFuncs; //TLSص\n\tint\t\t\tm_TLSCallBackCount; //TLSص\n};\n\n\nclass  CMemPEFile : public CPEFile\n{\npublic:\n\tbool\tOpen(ULPOS ModuleBase,UINT OpenMode,IN RWProc RMFunc,IN void*RMObj);\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/Sources",
    "content": "TARGETNAME=EXEAnalyzer\nTARGETPATH=Obj\nTARGETTYPE=DRIVER_LIBRARY\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nSOURCES=FileType.cpp\t\t\\\n\t\tInstrSym.cpp\t\t\\\n\t\tIntelDis.cpp\t\t\\\n\t\tMZFile.cpp\t\t\t\\\n\t\tPEFile.cpp\t\t\t\\\n\t\tDbgModule.cpp\t\t\\\n\t\tDebugger.cpp\t\t\\\n\t\tX86Debugger.cpp\t\t\\\n\t\tCodeDoc.cpp\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"EXEAnalyzer.h\"\n\n#endif\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/X86Debugger.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"X86Debugger.h\"\n\nCX86Debugger::CX86Debugger()\n{\n\tm_CodeMode = CODE_MODE_32;\n}\n\nCX86Debugger::~CX86Debugger()\n{\n}\n\nvoid CX86Debugger::GetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr)\n{\n}\nvoid CX86Debugger::GetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID)\n{\n}\n\nbool CX86Debugger::GetSegRegBase(int SegIndex,DWORD*pAddress,DWORD *pSize)\n{\n\treturn false;\n}\n\nbool CX86Debugger::SetCCBP(BREAK_POINT&BP)\n{\n\tif(BP.State == BP_STATE_ENABLE)\n\t\treturn true;\n\tif(ReadMemory(BP.Address,&BP.CodeBackup,1)==0)\n\t\treturn false;\n\tif(BP.CodeBackup==0xCC)\n\t\treturn false;\n\tif(WriteMemory(BP.Address,\"\\xCC\",1)==0)\n\t\treturn false;\n\treturn true;\n}\n\nbool CX86Debugger::ClearCCBP(BREAK_POINT&BP)\n{\n\tif(BP.State == BP_STATE_RECOV || BP.State == BP_STATE_DISABLE)\n\t\treturn true;\n\tif(WriteMemory(BP.Address,&BP.CodeBackup,1)==0)\n\t\treturn false;\n\treturn true;\n}\n\nbool CX86Debugger::RecoverCCBP(BREAK_POINT&BP)\n{\n\tBYTE Data;\n\tif(BP.State != BP_STATE_RECOV)\n\t\treturn false;\n\tif(ReadMemory(BP.Address,&Data,1)==0)\n\t\treturn false;\n\tif(Data!=BP.CodeBackup)\n\t\treturn false;\n\tif(WriteMemory(BP.Address,\"\\xCC\",1)==0)\n\t\treturn false;\n\treturn true;\n}\n\nbool CX86Debugger::SetX86HDBP(BREAK_POINT&BP,DWORD*pDR,DWORD*pDR7)\n{\n\tint Index;\n\tDWORD GnLn,RWLen,Mask;\n\t////////////////////////////////////////////////////////\n\t//Dr7Ƿп\n\tGnLn = 0x3;//11B\n\tIndex=0;\n\twhile(Index<4)\n\t{\n\t\tif((*pDR7&GnLn)==0)\n\t\t\tbreak;\n\t\tGnLn<<=2;\n\t\tIndex++;\n\t}\n\tif(Index>=4)\n\t\treturn false;\n\t//Dr7Ƿп\n\t////////////////////////////////////////////////////////\n\tRWLen = 0;\n\tif(BP.Type&BP_TYPE_IO_READWRITE)\n\t{\n\t\tRWLen=0x2;\n\t\tBP.Description = \"IO\";\n\t}\n\tif(BP.Type&BP_TYPE_EXECUTE)\n\t{\n\t\tRWLen=0x0;\n\t\tBP.Description = \"X\";\n\t}\n\tif(BP.Type&BP_TYPE_WRITE&&(BP.Type&BP_TYPE_READ)==0)\n\t{\n\t\tBP.Description = \"W\";\n\t\tRWLen=0x1;\n\t}\n\telse if(BP.Type&BP_TYPE_READWRITE)\n\t{\n\t\tBP.Description = \"RW\";\n\t\tRWLen=0x3;\n\t}\n\tswitch(BP.Length)\n\t{\n\tcase 1:\n\t\tbreak;\n\tcase 2:\n\t\tRWLen |= 0x04;\n\t\tbreak;\n\tcase 4:\n\t\tRWLen |= 0x0C;\n\t\tbreak;\n\tdefault:\n\t\tif((BP.Type&BP_TYPE_EXECUTE)==0)\n\t\t\tRWLen |= 0x08;//Undefine or 8 byte\n\t\tbreak;\n\t}\n\tMask = (0xF<<(Index*4+16))|GnLn|0xDF00;//0x2000 GD GDλ\n\tMask=~Mask;\n\t*pDR7&=Mask;//ʹϵ\n\t*pDR7|=(RWLen<<(Index*4+16))|GnLn|0x700;//0x700 set GE and LE bit\n\tpDR[Index] = BP.Address;\n\tBP.CodeBackup = (BYTE)Index;\n\tSaveRegister();\n\treturn true;\n}\n\nbool CX86Debugger::ClearX86HDBP(BREAK_POINT&BP,DWORD*pDR,DWORD*pDR7)\n{\n\tDWORD Mask;\n\tint Index=0;\n\twhile(Index<4)\n\t{\n\t\tif(pDR[Index]==BP.Address)\n\t\t\tbreak;\n\t\tIndex++;\n\t}\n\tif(Index>=4)\n\t\treturn true;\n\tMask = (0xF<<(Index*4+16))|(0x3<<(Index*2))|0xDF00;//0x2000 GD GDλ \n\tMask=~Mask;\n\t*pDR7&=Mask;\n\tif(*pDR7 & 0xFF)\n\t\t*pDR7 |= 0x700;\n\tpDR[Index] = 0;\n\treturn true;\n}\n\n\n#define DR6_BD\t\t\t0x2000\n#define DR6_BS\t\t\t0x4000\n#define DR6_BT\t\t\t0x8000\n\nBREAK_POINT*CX86Debugger::IsHanldeHDBP(DWORD DR6)\n{\n\tDWORD Bn;\n\tint Index;\n\tif(DR6&(DR6_BD|DR6_BS|DR6_BT))\n\t\treturn NULL;\n\tBn = 1;\n\tIndex=0;\n\twhile(Index<4)\n\t{\n\t\tBn<<=1;\n\t}\n\treturn NULL;\n}\n\nbool CX86Debugger::IsRecoverBPExist()\n{\n\tCCodeBPMap::IT Iter = m_pCodeBPMap->Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->State == BP_STATE_RECOV)\n\t\t\treturn true;\n\t\tIter++;\n\t}\n\treturn false;\n}\n\nint CX86Debugger::RecoverBreakPoint()\n{\n\tint Count=0;\n\tfor(CCodeBPMap::IT Iter=m_pCodeBPMap->Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(Iter->State == BP_STATE_RECOV)\n\t\t{\n\t\t\tif(SwitchProcessSpace(Iter->PID))\n\t\t\t{\n\t\t\t\tif(RecoverCCBP(*Iter))\n\t\t\t\t\tIter->State = BP_STATE_ENABLE;\n\t\t\t\tRestoreProcessSpace();\n\t\t\t}\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/X86Debugger.h",
    "content": "#ifndef _X86_DEBUGGER_H_\n#define _X86_DEBUGGER_H_\n\n#include \"Debugger.h\"\n\nstruct EFL_REG\n{//־Ĵλζ\n\tint\tCF:1;\t\t//0\n\tint\tb1:1;\t\t//1\n\tint\tPF:1;\t\t//2\n\tint\tb3:1;\t\t//3\n\tint\tAF:1;\t\t//4\n\tint\tb5:1;\t\t//5\n\tint\tZF:1;\t\t//6\n\tint\tSF:1;\t\t//7\n\tint\tTF:1;\t\t//8\n\tint\tIF:1;\t\t//9\n\tint\tDF:1;\t\t//10\n\tint\tOF:1;\t\t//11\n\tint\tIOPL:2;\t//12--13\n\tint\tNT:1;\t\t//14\n\tint\tbf:1;\t\t//15\n\tint\tRF:1;\t\t//16\n\tint\tVM:1;\t\t//17\n\tint\tAC:1;\t\t//18\n\tint\tVIF:1;\t\t//19\n\tint\tVIP:1;\t\t//20\n\tint\tID:1;\t\t//21\n\tint\t_22_23:2;\t//22--23\n\tint\t_24_31:8;\t//24--31\n};\n\nstruct X86_CPU_REG_PTR\n{\n\tDWORD*pEAX;\n\tDWORD*pEBX;\n\tDWORD*pECX;\n\tDWORD*pEDX;\n\tDWORD*pEDI;\n\tDWORD*pESI;\n\tDWORD*pEBP;\n\tDWORD*pESP;\n\tDWORD*pEIP;\n\tEFL_REG*pEFL;\n\tWORD*pCS;\n\tWORD*pDS;\n\tWORD*pES;\n\tWORD*pFS;\n\tWORD*pGS;\n\tWORD*pSS;\n\tDWORD*pDR[8];\n\tDWORD*pGDTRBase;\n\tWORD*pGDTRLimit;\n\tDWORD*pIDTRBase;\n\tWORD*pIDTRLimit;\n\tWORD*pLDTR;\n\tWORD*pTR;\n\tDWORD* pCR2;\n\tWORD* pFPUControlWord;\n\tWORD* pFPUStatusWord;\n\tWORD* pFPUTagWord;\n\tBYTE* pFPURegisterArea;\n};\n\nstruct X86_CPU_REG\n{\n\tDWORD EAX;\n\tDWORD EBX;\n\tDWORD ECX;\n\tDWORD EDX;\n\tDWORD EDI;\n\tDWORD ESI;\n\tDWORD EBP;\n\tDWORD ESP;\n\tDWORD EIP;\n\tDWORD EFL;\n\tWORD CS;\n\tWORD DS;\n\tWORD ES;\n\tWORD FS;\n\tWORD GS;\n\tWORD SS;\n\tDWORD DR[8];\n};\n\nenum\n{\n\tCODE_MODE_16 = 0,\n\tCODE_MODE_32,\n};\n\nclass CX86Debugger : public CDebugger\n{\npublic:\n\tCX86Debugger();\n\tvirtual ~CX86Debugger();\n\tUINT\tm_CodeMode;\npublic:\n\tvirtual void\tGetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr);\t\t\t\t\t\t//ⲿȡüĴָ\n\tvirtual void\tGetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID);\n\tvirtual bool\tGetSegRegBase(int SegIndex,DWORD*pAddress,DWORD* pSize=NULL);\t//ȡλַ\t\n\tvirtual bool\tSetCCBP(BREAK_POINT&BP);\n\tvirtual bool\tClearCCBP(BREAK_POINT&BP);\n\tvirtual\tbool\tRecoverCCBP(BREAK_POINT&BP);\n\tvirtual\tbool\tSetX86HDBP(BREAK_POINT&BP,DWORD*pDR,DWORD*pDR7);\n\tvirtual\tbool\tClearX86HDBP(BREAK_POINT&BP,DWORD*pDR,DWORD*pDR7);\n\tvirtual\tBREAK_POINT*IsHanldeHDBP(DWORD DR6);\n\tvirtual\tbool\tIsRecoverBPExist();\n\tvirtual int\t\tRecoverBreakPoint();\n\t\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/buildchk_win7_x86.log",
    "content": "BUILD: Examining d:\\syserdbg\\project\\exeana~1\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling d:\\syserdbg\\project\\exeana~1\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\syserdbg\\project\\exeana~1\\source: TARGETPATH is Obj\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /Id:\\syserdbg\\project\\exeana~1\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x06010000 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlEXEAnalyzer /YcStdAfx.h /Fpd:\\syserdbg\\project\\exeana~1\\source\\objchk_win7_x86\\i386\\StdAfx.pch /Fo\"d:\\syserdbg\\project\\exeana~1\\source\\objchk_win7_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @d:\\syserdbg\\project\\exeana~1\\source\\objchk_win7_x86\\i386\\cl.rsp\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\EXEAnalyzer.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @d:\\syserdbg\\project\\exeana~1\\source\\objchk_win7_x86\\i386\\lib.rsp\n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/buildchk_wnet_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\exeanalyzer\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\exeanalyzer\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\exeanalyzer\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WS03\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0502 /DWINVER=0x0502 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05020100 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlEXEAnalyzer /YcStdAfx.h /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlEXEAnalyzer /Ycstdafx.h /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.pch\n1> .\\filetype.cpp .\\instrsym.cpp .\\inteldis.cpp .\\mzfile.cpp .\\pefile.cpp .\\dbgmodule.cpp .\\debugger.cpp .\\x86debugger.cpp .\\codedoc.cpp \n1>filetype.cpp\n1>instrsym.cpp\n1>inteldis.cpp\n1>mzfile.cpp\n1>pefile.cpp\n1>dbgmodule.cpp\n1>debugger.cpp\n1>x86debugger.cpp\n1>codedoc.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\EXEAnalyzer.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\filetype.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\instrsym.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\inteldis.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\mzfile.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\pefile.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\dbgmodule.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\debugger.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\x86debugger.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wnet_x86\\i386\\codedoc.obj \n"
  },
  {
    "path": "Project/EXEAnalyzer/Source/buildchk_wxp_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\exeanalyzer\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\exeanalyzer\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\exeanalyzer\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WINXP\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0501 /DWINVER=0x0501 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05010200 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlEXEAnalyzer /YcStdAfx.h /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlEXEAnalyzer /Ycstdafx.h /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.pch\n1> .\\filetype.cpp .\\instrsym.cpp .\\inteldis.cpp .\\mzfile.cpp .\\pefile.cpp .\\dbgmodule.cpp .\\debugger.cpp .\\x86debugger.cpp .\\codedoc.cpp \n1>filetype.cpp\n1>instrsym.cpp\n1>inteldis.cpp\n1>mzfile.cpp\n1>pefile.cpp\n1>dbgmodule.cpp\n1>debugger.cpp\n1>x86debugger.cpp\n1>codedoc.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\EXEAnalyzer.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\filetype.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\instrsym.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\inteldis.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\mzfile.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\pefile.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\dbgmodule.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\debugger.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\x86debugger.obj \n1>f:\\syserdbg\\project\\exeanalyzer\\source\\objchk_wxp_x86\\i386\\codedoc.obj \n"
  },
  {
    "path": "Project/EXEAnalyzer/Win32/EXEAnalyzer.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/EXEAnalyzer/Win32/EXEAnalyzer.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"EXEAnalyzer\"\n\tProjectGUID=\"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/EXEAnalyzer.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/EXEAnalyzer.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/EXEAnalyzer.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgModule.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ELFFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgModule.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ELFFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\EXEAnalyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDef.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/EXEAnalyzer/Win32/EXEAnalyzer.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Trial|Win32\">\n      <Configuration>Trial</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{094FA380-E96B-4CCB-8F40-D58F53823984}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <OutDir>$(Configuration)\\</OutDir>\n    <IntDir>$(Configuration)\\</IntDir>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)EXEAnalyzer.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>\n      <OmitFramePointers>true</OmitFramePointers>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>false</FunctionLevelLinking>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)EXEAnalyzer.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <ClCompile>\n      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>\n      <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed>\n      <OmitFramePointers>true</OmitFramePointers>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <FunctionLevelLinking>false</FunctionLevelLinking>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)EXEAnalyzer.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\Source\\CodeDoc.cpp\" />\n    <ClCompile Include=\"..\\Source\\DbgModule.cpp\" />\n    <ClCompile Include=\"..\\Source\\Debugger.cpp\" />\n    <ClCompile Include=\"..\\Source\\ELFFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\FileType.cpp\" />\n    <ClCompile Include=\"..\\Source\\InstrSym.cpp\" />\n    <ClCompile Include=\"..\\Source\\IntelDis.cpp\" />\n    <ClCompile Include=\"..\\Source\\MZFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\ObjFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\PEFile.cpp\" />\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"..\\Source\\X86Debugger.cpp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\Source\\CodeDoc.h\" />\n    <ClInclude Include=\"..\\Source\\DbgModule.h\" />\n    <ClInclude Include=\"..\\Source\\Debugger.h\" />\n    <ClInclude Include=\"..\\Source\\ELFFile.h\" />\n    <ClInclude Include=\"..\\Source\\EXEAnalyzer.h\" />\n    <ClInclude Include=\"..\\Source\\FileType.h\" />\n    <ClInclude Include=\"..\\Source\\InstrSym.h\" />\n    <ClInclude Include=\"..\\Source\\IntelDef.h\" />\n    <ClInclude Include=\"..\\Source\\IntelDis.h\" />\n    <ClInclude Include=\"..\\Source\\MZFile.h\" />\n    <ClInclude Include=\"..\\Source\\ObjFile.h\" />\n    <ClInclude Include=\"..\\Source\\PEFile.h\" />\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n    <ClInclude Include=\"..\\Source\\X86Debugger.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"..\\Source\\Makefile\" />\n    <None Include=\"..\\Source\\Sources\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/EXEAnalyzer/Win32/EXEAnalyzerTest.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzerTest\", \"EXEAnalyzerTest.vcproj\", \"{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}.Debug.ActiveCfg = Debug|Win32\n\t\t{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}.Debug.Build.0 = Debug|Win32\n\t\t{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}.Release.ActiveCfg = Release|Win32\n\t\t{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}.Release.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/EXEAnalyzer/Win32/EXEAnalyzerTest.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"7.10\"\n\tName=\"EXEAnalyzerTest\"\n\tProjectGUID=\"{EE3803C0-88D2-4ECD-8CBB-9520809B64F1}\"\n\tKeyword=\"Win32Proj\">\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"/>\n\t</Platforms>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tCharacterSet=\"2\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"TRUE\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"5\"\n\t\t\t\tUsePrecompiledHeader=\"3\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"TRUE\"\n\t\t\t\tDebugInformationFormat=\"4\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/EXEAnalyzerTestD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"TRUE\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/EXEAnalyzerTest.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tTargetMachine=\"1\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebDeploymentTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedWrapperGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAuxiliaryManagedWrapperGeneratorTool\"/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tCharacterSet=\"2\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tRuntimeLibrary=\"4\"\n\t\t\t\tUsePrecompiledHeader=\"3\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"TRUE\"\n\t\t\t\tDebugInformationFormat=\"3\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/EXEAnalyzerTest.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"TRUE\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tTargetMachine=\"1\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebDeploymentTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedWrapperGeneratorTool\"/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAuxiliaryManagedWrapperGeneratorTool\"/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\EXEAnalyzerTest.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\">\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\">\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\">\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\">\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinDrv32/EXEAnalyzer.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"EXEAnalyzer.vcproj\", \"{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinDrv32/EXEAnalyzer.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"EXEAnalyzer\"\n\tProjectGUID=\"{0D179212-76E2-4D00-ABC1-40B3A0D7DBE0}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"_X86_=1;i386=1;STD_CALL;CONDITION_HANDLING=1;NT_INST=0;WIN32=100;_NT1X_=100;WINNT=1;_WIN32_WINNT=0x0502;WINVER=0x0502;_WIN32_IE=0x0600;WIN32_LEAN_AND_MEAN=1;DEVL=1;DBG=1;__BUILDMACHINE__=WinDDK;FPO=0;NDEBUG;_DLL=1;CODE_OS_NT_DRV;CODE_ALLOC_USER_HEAP;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/EXEAnalyzer.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"1\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/EXEAnalyzer.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ELFFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ia32asm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Symbol.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ELFFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\EXEAnalyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ia32asm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDef.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Symbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/EXEAnalyzer.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"EXEAnalyzer.vcproj\", \"{75EBA530-480B-4CB3-A1A5-5887AE6C0252}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release|Win32.Build.0 = Release|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/EXEAnalyzer.sln.old",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"EXEAnalyzer.vcproj\", \"{75EBA530-480B-4CB3-A1A5-5887AE6C0252}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug.ActiveCfg = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug.Build.0 = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release.ActiveCfg = Release|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/EXEAnalyzer.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"EXEAnalyzer\"\n\tProjectGUID=\"{75EBA530-480B-4CB3-A1A5-5887AE6C0252}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgModule.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\EXEAnalyzerTest.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeDoc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgModule.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\EXEAnalyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FileType.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InstrSym.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDef.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IntelDis.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MZFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Debugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\EXEAnalyzer.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/UpgradeLog.XML",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>\n<Properties><Property Name=\"Solution\" Value=\"EXEAnalyzer\">\n</Property><Property Name=\"解决方案文件\" Value=\"F:\\syserdbg\\Project\\EXEAnalyzer\\WinXPDrv32\\EXEAnalyzer.sln\">\n</Property><Property Name=\"Date\" Value=\"2015年11月11日\">\n</Property><Property Name=\"Time\" Value=\"13:33\">\n</Property></Properties><Event ErrorLevel=\"0\" Project=\"\" Source=\"EXEAnalyzer.sln\" Description=\"文件已成功备份为 F:\\syserdbg\\Project\\EXEAnalyzer\\WinXPDrv32\\EXEAnalyzer.sln.old\">\n</Event><Event ErrorLevel=\"0\" Project=\"EXEAnalyzer\" Source=\"EXEAnalyzer.vcproj\" Description=\"项目升级成功。\">\n</Event><Event ErrorLevel=\"3\" Project=\"EXEAnalyzer\" Source=\"EXEAnalyzer.vcproj\" Description=\"Converted\">\n</Event><Event ErrorLevel=\"0\" Project=\"\" Source=\"EXEAnalyzer.sln\" Description=\"成功转换解决方案\">\n</Event><Event ErrorLevel=\"3\" Project=\"\" Source=\"EXEAnalyzer.sln\" Description=\"Converted\">\n</Event></UpgradeLog>"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/_UpgradeReport_Files/UpgradeReport.css",
    "content": "﻿BODY\n{\n\tBACKGROUND-COLOR: white;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px\n}\nP\n{\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 70%;\n\tLINE-HEIGHT: 12pt;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 10px\n}\n.note\n{\n\tBACKGROUND-COLOR:  #ffffff;\n\tCOLOR: #336699;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px;\n\tPADDING-RIGHT: 10px\n}\n.infotable\n{\n\tBACKGROUND-COLOR: #f0f0e0;\n\tBORDER-BOTTOM: #ffffff 0px solid;\n\tBORDER-COLLAPSE: collapse;\n\tBORDER-LEFT: #ffffff 0px solid;\n\tBORDER-RIGHT: #ffffff 0px solid;\n\tBORDER-TOP: #ffffff 0px solid;\n\tFONT-SIZE: 70%;\n\tMARGIN-LEFT: 10px\n}\n.issuetable\n{\n\tBACKGROUND-COLOR: #ffffe8;\n\tBORDER-COLLAPSE: collapse;\n\tCOLOR: #000000;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 10px;\n\tMARGIN-LEFT: 13px;\n\tMARGIN-TOP: 0px\n}\n.issuetitle\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px;\n\tCOLOR: #003366;\n\tFONT-WEIGHT: normal\n}\n.header\n{\n\tBACKGROUND-COLOR: #cecf9c;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: bold\n}\n.issuehdr\n{\n\tBACKGROUND-COLOR: #E0EBF5;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.issuenone\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: 0px;\n\tBORDER-LEFT: 0px;\n\tBORDER-RIGHT: 0px;\n\tBORDER-TOP: 0px;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.content\n{\n\tBACKGROUND-COLOR: #e7e7ce;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tPADDING-LEFT: 3px\n}\n.issuecontent\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tPADDING-LEFT: 3px\n}\nA:link\n{\n\tCOLOR: #cc6633;\n\tTEXT-DECORATION: underline\n}\nA:visited\n{\n\tCOLOR: #cc6633;\n}\nA:active\n{\n\tCOLOR: #cc6633;\n}\nA:hover\n{\n\tCOLOR: #cc3300;\n\tTEXT-DECORATION: underline\n}\nH1\n{\n\tBACKGROUND-COLOR: #003366;\n\tBORDER-BOTTOM: #336699 6px solid;\n\tCOLOR: #ffffff;\n\tFONT-SIZE: 130%;\n\tFONT-WEIGHT: normal;\n\tMARGIN: 0em 0em 0em -20px;\n\tPADDING-BOTTOM: 8px;\n\tPADDING-LEFT: 30px;\n\tPADDING-TOP: 16px\n}\nH2\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 3px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px;\n\tPADDING-LEFT: 0px\n}\nH3\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: -5px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px\n}\nH4\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-TOP: 15px;\n\tPADDING-BOTTOM: 0px\n}\nUL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nOL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nLI\n{\n\tLIST-STYLE: square;\n\tMARGIN-LEFT: 0px\n}\n.expandable\n{\n\tCURSOR: hand\n}\n.expanded\n{\n\tcolor: black\n}\n.collapsed\n{\n\tDISPLAY: none\n}\n.foot\n{\nBACKGROUND-COLOR: #ffffff;\nBORDER-BOTTOM: #cecf9c 1px solid;\nBORDER-TOP: #cecf9c 2px solid\n}\n.settings\n{\nMARGIN-LEFT: 25PX;\n}\n.help\n{\nTEXT-ALIGN: right;\nmargin-right: 10px;\n}\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/_UpgradeReport_Files/UpgradeReport.xslt",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\">\n\n    <xsl:key name=\"ProjectKey\" match=\"Event\" use=\"@Project\"/>\n\n    <xsl:template match=\"Events\" mode=\"createProjects\">\n        <projects>\n            <xsl:for-each select=\"Event\">\n                <!--xsl:sort select=\"@Project\" order=\"descending\"/-->\n                <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Project != @Project)\">\n\n                    <xsl:variable name=\"ProjectName\" select=\"@Project\"/>\n\n                    <project>\n                        <xsl:attribute name=\"name\">\n                            <xsl:value-of select=\"@Project\"/>\n                        </xsl:attribute> \n\n                        <xsl:if test=\"@Project=''\">\n                        <xsl:attribute name=\"solution\">\n                            <xsl:value-of select=\"@Solution\"/>\n                        </xsl:attribute> \n                        </xsl:if>\n\n                        <xsl:for-each select=\"key('ProjectKey', $ProjectName)\">\n                            <!--xsl:sort select=\"@Source\" /-->\n                            <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Source != @Source)\">\n\n                                <source>\n                                    <xsl:attribute name=\"name\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:attribute>\n\n                                    <xsl:variable name=\"Source\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:variable>\n\n                                    <xsl:for-each select=\"key('ProjectKey', $ProjectName)[ @Source = $Source ]\">\n\n                                        <event>\n                                            <xsl:attribute name=\"error-level\">\n                                                <xsl:value-of select=\"@ErrorLevel\"/>\n                                            </xsl:attribute> \n                                            <xsl:attribute name=\"description\">\n                                                <xsl:value-of select=\"@Description\"/>\n                                            </xsl:attribute> \n                                        </event>\n                                    </xsl:for-each>\n                                </source>\n                            </xsl:if>\n                        </xsl:for-each>\n\n                    </project>\n                </xsl:if>\n            </xsl:for-each>\n        </projects>\n    </xsl:template>\n\n    <xsl:template match=\"projects\">\n    <xsl:for-each select=\"project\">\n    <xsl:sort select=\"@Name\" order=\"ascending\"/>\n        <h2>\n        <xsl:if test=\"@solution\"><a _locID=\"Solution\">解决方案</a>: <xsl:value-of select=\"@solution\"/></xsl:if>\n        <xsl:if test=\"not(@solution)\"><a _locID=\"Project\">项目</a>: <xsl:value-of select=\"@name\"/>\n            <xsl:for-each select=\"source\">\n                <xsl:variable name=\"Hyperlink\" select=\"@name\"/>\n            <xsl:for-each select=\"event[@error-level='4']\">\n             <A class=\"note\"><xsl:attribute name=\"HREF\"><xsl:value-of select=\"$Hyperlink\"/></xsl:attribute><xsl:value-of select=\"@description\"/></A>\n                </xsl:for-each>\n            </xsl:for-each>\n        </xsl:if>\n        </h2>\n\n        <table cellpadding=\"2\" cellspacing=\"0\" width=\"98%\" border=\"1\" bordercolor=\"white\" class=\"infotable\">\n            <tr>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Filename\">文件名</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Status\">状态</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Errors\">错误</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Warnings\">警告</td>\n            </tr>\n\n            <xsl:for-each select=\"source\">\n                <xsl:sort select=\"@name\" order=\"ascending\"/>\n                <xsl:variable name=\"source-id\" select=\"generate-id(.)\"/>\n\n                <xsl:if test=\"count(event)!=count(event[@error-level='4'])\">\n\n                <tr class=\"row\">\n                    <td class=\"content\">\n                        <A HREF=\"javascript:\"><xsl:attribute name=\"onClick\">javascript:document.images['<xsl:value-of select=\"$source-id\"/>'].click()</xsl:attribute><IMG border=\"0\" _locID=\"IMG.alt\" _locAttrData=\"alt\" alt=\"展开/折叠节\" class=\"expandable\" height=\"11\" onclick=\"changepic()\" src=\"_UpgradeReport_Files/UpgradeReport_Plus.gif\" width=\"9\"><xsl:attribute name=\"name\"><xsl:value-of select=\"$source-id\"/></xsl:attribute><xsl:attribute name=\"child\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute></IMG></A> <xsl:value-of select=\"@name\"/> \n                    </td>\n                    <td class=\"content\">\n                        <xsl:if test=\"count(event[@error-level='3'])=1\">\n                            <xsl:for-each select=\"event[@error-level='3']\">\n                            <xsl:if test=\"@description='Converted'\"><a _locID=\"Converted1\">已转换</a></xsl:if>\n                            <xsl:if test=\"@description!='Converted'\"><xsl:value-of select=\"@description\"/></xsl:if>\n                            </xsl:for-each>\n                        </xsl:if>\n                        <xsl:if test=\"count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0\"><a _locID=\"Converted2\">已转换</a>\n                        </xsl:if>\n                    </td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='2'])\"/></td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='1'])\"/></td>\n                </tr>\n\n                <tr class=\"collapsed\" bgcolor=\"#ffffff\">\n                    <xsl:attribute name=\"id\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute>\n\n                    <td colspan=\"7\">\n                        <table width=\"97%\" border=\"1\" bordercolor=\"#dcdcdc\" rules=\"cols\" class=\"issuetable\">\n                            <tr>\n                                <td colspan=\"7\" class=\"issuetitle\" _locID=\"ConversionIssues\">转换问题 - <xsl:value-of select=\"@name\"/>:</td>\n                            </tr>\n\n                            <xsl:for-each select=\"event[@error-level!='3']\">\n                                <xsl:if test=\"@error-level!='4'\">\n                                <tr>\n                                    <td class=\"issuenone\" style=\"border-bottom:solid 1 lightgray\">\n                                        <xsl:value-of select=\"@description\"/>\n                                    </td>\n                                </tr>\n                                </xsl:if>\n                            </xsl:for-each>\n                        </table>\n                    </td>\n                </tr>\n                </xsl:if>\n            </xsl:for-each>\n\n            <tr valign=\"top\">\n                <td class=\"foot\">\n                    <xsl:if test=\"count(source)!=1\">\n                        <xsl:value-of select=\"count(source)\"/><a _locID=\"file1\"> 个文件</a>\n                    </xsl:if>\n                    <xsl:if test=\"count(source)=1\">\n                        <a _locID=\"file2\">1 个文件</a>\n                    </xsl:if>\n                </td>\n                <td class=\"foot\">\n\t\t\t\t\t<a _locID=\"Converted3\">已转换</a>: <xsl:value-of select=\"count(source/event[@error-level='3' and @description='Converted'])\"/><BR/>\n\t\t\t\t\t<a _locID=\"NotConverted\">未转换</a>: <xsl:value-of select=\"count(source) - count(source/event[@error-level='3' and @description='Converted'])\"/>\n                </td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='2'])\"/></td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='1'])\"/></td>\n            </tr>\n        </table>\n    </xsl:for-each>\n    </xsl:template>\n\n    <xsl:template match=\"Property\">\n        <xsl:if test=\"@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'\">\n        <tr><td nowrap=\"1\"><b><xsl:value-of select=\"@Name\"/>: </b><xsl:value-of select=\"@Value\"/></td></tr>\n        </xsl:if>\n    </xsl:template>\n\n    <xsl:template match=\"UpgradeLog\">\n        <html>\n            <head>\n                <META HTTP-EQUIV=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n                <link rel=\"stylesheet\" href=\"_UpgradeReport_Files\\UpgradeReport.css\"/>\n                <title _locID=\"ConversionReport0\">转换报告 \n                    <xsl:if test=\"Properties/Property[@Name='LogNumber']\">\n                        <xsl:value-of select=\"Properties/Property[@Name='LogNumber']/@Value\"/>\n                    </xsl:if>\n                </title>\n                <script language=\"javascript\">\n                    function outliner () {\n                        oMe = window.event.srcElement\n                        //get child element\n                        var child = document.all[event.srcElement.getAttribute(\"child\",false)];\n                        //if child element exists, expand or collapse it.\n                        if (null != child)\n                            child.className = child.className == \"collapsed\" ? \"expanded\" : \"collapsed\";\n                    }\n\n                    function changepic() {\n                        uMe = window.event.srcElement;\n                        var check = uMe.src.toLowerCase();\n                        if (check.lastIndexOf(\"upgradereport_plus.gif\") != -1)\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Minus.gif\"\n                        }\n                        else\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Plus.gif\"\n                        }\n                    }\n                </script>\n            </head>\n            <body topmargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" onclick=\"outliner();\">\n                <h1 _locID=\"ConversionReport\">转换报告 - <xsl:value-of select=\"Properties/Property[@Name='Solution']/@Value\"/></h1>\n\n                <p><span class=\"note\">\n                <b _locID=\"TimeOfConversion\">转换时间:</b>  <xsl:value-of select=\"Properties/Property[@Name='Date']/@Value\"/>  <xsl:value-of select=\"Properties/Property[@Name='Time']/@Value\"/><br/>\n                </span></p>\n\n                <xsl:variable name=\"SortedEvents\">\n                    <Events>\n                        <xsl:for-each select=\"Event\">\n                            <xsl:sort select=\"@Project\" order=\"ascending\"/>\n                            <xsl:sort select=\"@Source\" order=\"ascending\"/>\n                            <xsl:sort select=\"@ErrorLevel\" order=\"ascending\"/>\n                            <Event>\n                                <xsl:attribute name=\"Project\"><xsl:value-of select=\"@Project\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Solution\"><xsl:value-of select=\"/UpgradeLog/Properties/Property[@Name='Solution']/@Value\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Source\"><xsl:value-of select=\"@Source\"/> </xsl:attribute> \n                                <xsl:attribute name=\"ErrorLevel\"><xsl:value-of select=\"@ErrorLevel\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Description\"><xsl:value-of select=\"@Description\"/> </xsl:attribute> \n                            </Event>\n                        </xsl:for-each>     \n                    </Events>\n                </xsl:variable>\n                \n                <xsl:variable name=\"Projects\">\n                    <xsl:apply-templates select=\"msxsl:node-set($SortedEvents)/*\" mode=\"createProjects\"/>\n                </xsl:variable>\n\n                <xsl:apply-templates select=\"msxsl:node-set($Projects)/*\"/>\n\n                <p></p><p>\n                <table class=\"note\">\n                    <tr>\n                        <td nowrap=\"1\">\n                            <b _locID=\"ConversionSettings\">转换设置</b>\n                        </td>\n                    </tr>\n                    <xsl:apply-templates select=\"Properties\"/>\n                </table></p>\n            </body>\n        </html>\n    </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "Project/EXEAnalyzer/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/EXEAnalyzer/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/EXEAnalyzer/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/EXEAnalyzer/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/access.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: access.cc,v 1.12 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::write_virtual_checks(bx_segment_reg_t *seg, Bit32u offset,\n                               unsigned length)\n{\n\tBit32u upper_limit;\n\n    if ( seg->cache.valid==0 )\n\t{\n\t\tBX_ERROR((\"seg = %s\", BX_CPU_THIS_PTR strseg(seg)));\n\t\tBX_ERROR((\"seg->selector.value = %04x\", (unsigned) seg->selector.value));\n\t\tBX_ERROR((\"write_virtual_checks: valid bit = 0\"));\n\t\tBX_ERROR((\"CS: %04x\", (unsigned) BX_CPU_THIS_PTR program_visible_sregs[1].selector.value));\n\t\tBX_ERROR((\"IP: %04x\", (unsigned) BX_CPU_THIS_PTR prev_eip));\n\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n\t}\n\n    if (seg->cache.p == 0)\n\t{ /* not present */\n\t\tBX_INFO((\"write_virtual_checks(): segment not present\"));\n\t\texception(int_number(seg), 0, 0);\n\t\treturn;\n\t}\n\n    switch ( seg->cache.type )\n\t{\n    case 0: case 1:   // read only\n    case 4: case 5:   // read only, expand down\n    case 8: case 9:   // execute only\n    case 10: case 11: // execute/read\n    case 12: case 13: // execute only, conforming\n    case 14: case 15: // execute/read-only, conforming\n\t\tBX_INFO((\"write_virtual_checks(): no write access to seg\"));\n        exception(int_number(seg), 0, 0);\n        return;\n\n\tcase 2: case 3: /* read/write */\n\t\tif (offset > (seg->cache.u.segment.limit_scaled - length + 1)\n\t\t\t|| (length-1 > seg->cache.u.segment.limit_scaled))\n\t\t{\n\t\t\tBX_INFO((\"write_virtual_checks(): write beyond limit, r/w\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n\t\t}\n        break;\n\n    case 6: case 7: /* read write, expand down */\n        if (seg->cache.u.segment.d_b)\n\t\t\tupper_limit = 0xffffffff;\n        else\n\t\t\tupper_limit = 0x0000ffff;\n        if ( (offset <= seg->cache.u.segment.limit_scaled) ||\n             (offset > upper_limit) ||\n             ((upper_limit - offset) < (length - 1)) )\n\t\t{\n\t\t\tBX_INFO((\"write_virtual_checks(): write beyond limit, r/w ED\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n\t\t}\n        break;\n\t}\n\n    return;\n}\n\n\tvoid\nBX_CPU_C::read_virtual_checks(bx_segment_reg_t *seg, Bit32u offset,\n                              unsigned length)\n{\n\tBit32u upper_limit;\n\t\n    if ( seg->cache.valid==0 )\n\t{\n\t\tBX_ERROR((\"seg = %s\", BX_CPU_THIS_PTR strseg(seg)));\n\t\tBX_ERROR((\"seg->selector.value = %04x\", (unsigned) seg->selector.value));\n\t\t//BX_ERROR((\"read_virtual_checks: valid bit = 0\"));\n\t\t//BX_ERROR((\"CS: %04x\", (unsigned)\n\t\t//   BX_CPU_THIS_PTR program_visible_sregs[1].selector.value));\n\t\t//BX_ERROR((\"IP: %04x\", (unsigned) BX_CPU_THIS_PTR prev_eip));\n\t\t//debug(BX_CPU_THIS_PTR eip);\n\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n\t}\n\n    if (seg->cache.p == 0)\n\t{\t/* not present */\n\t\tBX_INFO((\"read_virtual_checks(): segment not present\"));\n\t\texception(int_number(seg), 0, 0);\n\t\treturn;\n\t}\n\n    switch ( seg->cache.type )\n\t{\n    case 0: case 1: /* read only */\n    case 10: case 11: /* execute/read */\n    case 14: case 15: /* execute/read-only, conforming */\n\t\tif (offset > (seg->cache.u.segment.limit_scaled - length + 1) \n\t\t\t|| (length-1 > seg->cache.u.segment.limit_scaled))\n\t\t{\n\t\t\tBX_INFO((\"read_virtual_checks(): write beyond limit\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n        }\n        break;\n\n\tcase 2: case 3: /* read/write */\n\t\tif (offset > (seg->cache.u.segment.limit_scaled - length + 1) \n\t\t\t|| (length-1 > seg->cache.u.segment.limit_scaled))\n\t\t{\n\t\t\tBX_INFO((\"read_virtual_checks(): write beyond limit\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n\t\t}\n        break;\n\n\tcase 4: case 5: /* read only, expand down */\n        if (seg->cache.u.segment.d_b)\n\t\t\tupper_limit = 0xffffffff;\n        else\n\t\t\tupper_limit = 0x0000ffff;\n\n        if ( (offset <= seg->cache.u.segment.limit_scaled) ||\n             (offset > upper_limit) ||\n             ((upper_limit - offset) < (length - 1)) )\n\t\t{\n\t\t\tBX_INFO((\"read_virtual_checks(): write beyond limit\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n\t\t}\n        break;\n\n\tcase 6: case 7: /* read write, expand down */\n\t\tif (seg->cache.u.segment.d_b)\n\t\t\tupper_limit = 0xffffffff;\n        else\n\t\t\tupper_limit = 0x0000ffff;\n\n        if ( (offset <= seg->cache.u.segment.limit_scaled) ||\n             (offset > upper_limit) ||\n             ((upper_limit - offset) < (length - 1)) )\n\t\t{\n\t\t\tBX_INFO((\"read_virtual_checks(): write beyond limit\"));\n\t\t\texception(int_number(seg), 0, 0);\n\t\t\treturn;\n\t\t}\n        break;\n\n\tcase 8: case 9: /* execute only */\n\tcase 12: case 13: /* execute only, conforming */\n        /* can't read or write an execute-only segment */\n\t\tBX_INFO((\"read_virtual_checks(): execute only\"));\n        exception(int_number(seg), 0, 0);\n        return;\n        break;\n    }\n\n    return;\n}\n\n\tchar *\nBX_CPU_C::strseg(bx_segment_reg_t *seg)\n{\n\treturn(seg->strseg);\n}\n\n\tvoid\nBX_CPU_C::write_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nBX_CPU_C::write_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nBX_CPU_C::write_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nBX_CPU_C::read_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_READ, (void *) data);\n}\n\n\n\tvoid\nBX_CPU_C::read_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_READ, (void *) data);\n}\n\n\tvoid\nBX_CPU_C::read_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_READ, (void *) data);\n}\n\n//////////////////////////////////////////////////////////////\n// special Read-Modify-Write operations                     //\n// address translation info is kept across read/write calls //\n//////////////////////////////////////////////////////////////\n\n\tvoid\nBX_CPU_C::read_RMW_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t\taccess_linear(laddr, 1, CPL==3, BX_RW, (void *) data);\n\telse\n#endif\n    {\n\t\tBX_CPU_THIS_PTR address_xlation.paddress1 = laddr;\n\t\tBX_INSTR_LIN_READ(laddr, laddr, 1);\n\t\tBX_INSTR_LIN_WRITE(laddr, laddr, 1);\n\t\tBX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, laddr, 1, (void *) data);\n    }\n}\n\n\n\tvoid\nBX_CPU_C::read_RMW_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t\taccess_linear(laddr, 2, CPL==3, BX_RW, (void *) data);\n\telse\n#endif\n    {\n\t\tBX_CPU_THIS_PTR address_xlation.paddress1 = laddr;\n\t\tBX_INSTR_LIN_READ(laddr, laddr, 2);\n\t\tBX_INSTR_LIN_WRITE(laddr, laddr, 2);\n\t\tBX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, laddr, 2, data);\n    }\n}\n\n\tvoid\nBX_CPU_C::read_RMW_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t\taccess_linear(laddr, 4, CPL==3, BX_RW, (void *) data);\n\telse\n#endif\n    {\n\t\tBX_CPU_THIS_PTR address_xlation.paddress1 = laddr;\n\t\tBX_INSTR_LIN_READ(laddr, laddr, 4);\n\t\tBX_INSTR_LIN_WRITE(laddr, laddr, 4);\n\t\tBX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, laddr, 4, data);\n    }\n}\n\n\tvoid\nBX_CPU_C::write_RMW_virtual_byte(Bit8u val8)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 1, BX_WRITE);\n\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t{\n\t\t// BX_CPU_THIS_PTR address_xlation.pages must be 1\n\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 1, &val8);\n    }\n\telse\n#endif\n    {\n\t    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 1, &val8);\n    }\n}\n\n\tvoid\nBX_CPU_C::write_RMW_virtual_word(Bit16u val16)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 2, BX_WRITE);\n\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t{\n\t\tif (BX_CPU_THIS_PTR address_xlation.pages == 1)\n\t\t{\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 2, &val16);\n\t\t}\n\t\telse\n\t\t{\n#ifdef BX_LITTLE_ENDIAN\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 1,\n\t\t\t\t&val16);\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2, 1,\n\t\t\t\t((Bit8u *) &val16) + 1);\n#else\n\t\t    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 1,\n\t\t\t\t((Bit8u *) &val16) + 1);\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2, 1,\n\t\t\t\t&val16);\n#endif\n\t\t}\n\t}\n\telse\n#endif\n    {\n\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 2, &val16);\n    }\n}\n\n  void\nBX_CPU_C::write_RMW_virtual_dword(Bit32u val32)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 4, BX_WRITE);\n\n#if BX_CPU_LEVEL >= 3\n\tif (BX_CPU_THIS_PTR cr0.pg)\n\t{\n\t\tif (BX_CPU_THIS_PTR address_xlation.pages == 1)\n\t\t{\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 4, &val32);\n\t\t}\n\t\telse\n\t\t{\n#ifdef BX_LITTLE_ENDIAN\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n\t\t\t\t            BX_CPU_THIS_PTR address_xlation.len1,\n                            &val32);\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                            BX_CPU_THIS_PTR address_xlation.len2,\n                            ((Bit8u *) &val32) + BX_CPU_THIS_PTR address_xlation.len1);\n#else\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n                            BX_CPU_THIS_PTR address_xlation.len1,\n                            ((Bit8u *) &val32) + (4 - BX_CPU_THIS_PTR address_xlation.len1));\n\t\t\tBX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                            BX_CPU_THIS_PTR address_xlation.len2,\n                            &val32);\n#endif\n\t\t}\n\t}\n\telse\n#endif\n    {\n\t    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, 4, &val32);\n    }\n}\n\n\tvoid\nBX_CPU_C::write_push_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nBX_CPU_C::write_push_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n}\n\n  int\nBX_CPU_C::get_physical_host_memory(void **physical_address_base)\n{\n\treturn 0;\n}\n\n  Bit8u *\nBX_CPU_C::getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp)\n{\n\treturn NULL;\n}\n\n  void\nBX_CPU_C::access_io(Bit16u addr, unsigned length,unsigned pl, unsigned rw,void *data)\n{\n\treturn ;\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/arith.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: arith.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  ָ\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::INC_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum =  op1 +  1;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC8;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum =  op1 +  1;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum =  op1 +  1;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_RX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(OPCODEb1(i)&7);\n\n\tsum =  op1 +  1;\n\n\tWRITE_VIRTUAL_16BIT_REG(OPCODEb1(i)&7, sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_ERX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(OPCODEb1(i)&7);\n\n\tsum =  op1 +  1;\n\n\tWRITE_VIRTUAL_32BIT_REG(OPCODEb1(i)&7, sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum =  op1 -  1;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC8;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum =  op1 -  1;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum =  op1 -  1;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_RX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(OPCODEb1(i)&7);\n\n\tsum =  op1 -  1;\n\n\tWRITE_VIRTUAL_16BIT_REG(OPCODEb1(i)&7, sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_ERX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(OPCODEb1(i)&7);\n\n\tsum =  op1 -  1;\n\n\tWRITE_VIRTUAL_32BIT_REG(OPCODEb1(i)&7, sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum =  0- op1;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum =  0- op1;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum =  0- op1;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum =  ~  op1;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum =  ~  op1;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum =  ~  op1;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 +  1;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC8;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 +  1;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::INC_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 +  1;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_INC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tINC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 -  1;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC8;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 -  1;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC16;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::DEC_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  op1 -  1;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = BX_INSTR_DEC32;\n\tBX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tDEC op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  0- op1;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  0- op1;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NEG_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  0- op1;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_NEG32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tNEG op1\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  ~  op1;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  ~  op1;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::NOT_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tsum =  ~  op1;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1) \n#endif //#if (HOST_CPU_IS_I80386==1) \n}\n\n\tvoid\nBX_CPU_C::ADD_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_ADD8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_ADD16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADD_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_ADD32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_SUB8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tSUB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_SUB16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tSUB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SUB_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_SUB32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tSUB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tAND op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tAND op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::AND_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_AND32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tAND op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XOR_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 ^ op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_XOR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 | op2;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tOR op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tOR op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C:: OR_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 | op2;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_OR32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tOR op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_ADC8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tADC op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_ADC16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tADC op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::ADC_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 + op2 + prev_cf;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_ADC32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tADC op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8_CF(op1,op2,sum,BX_INSTR_SBB8,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dl,op2\n\t\tSBB op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16_CF(op1,op2,sum,BX_INSTR_SBB16,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov dx,op2\n\t\tSBB op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::SBB_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\tBoolean prev_cf;\n\tprev_cf = (BX_CPU_CLASS_PTR get_CF());\n\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2 - prev_cf;\n\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32_CF(op1,op2,sum,BX_INSTR_SBB32,prev_cf);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tsahf\n\t\tmov edx,op2\n\t\tSBB op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_CMP8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tCMP op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_CMP16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tCMP op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::CMP_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 - op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_CMP32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tCMP op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_AXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EAXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1, op2, sum;\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIb(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST8;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tTEST op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1, op2, sum;\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEIw(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST16;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tTEST op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::TEST_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1, op2, sum;\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = IMMEDIATEId(i);\n\n\tsum = op1 & op2;\n\n\n#if (HOST_CPU_IS_I80386==0)\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = sum;\n\tBX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = BX_INSTR_TEST32;\n\tBX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC;\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1) \n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tTEST op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n}\n\n\tvoid\nBX_CPU_C::XADD_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit8u op2, op1, sum;\n\t/* XADD dst(r/m8), src(r8)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\t// and write destination into source\n\t// Note: if both op1 & op2 are registers, the last one written\n\t//       should be the sum, as op1 & op2 may be the same register.\n\t//       For example:  XADD AL, AL\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i), op1);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_XADD8);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EGbGb: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::XADD_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit16u op2, op1, sum;\n\t/* XADD dst(r/m16), src(r16)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\t// and write destination into source\n\t// Note: if both op1 & op2 are registers, the last one written\n\t//       should be the sum, as op1 & op2 may be the same register.\n\t//       For example:  XADD AL, AL\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op1);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_XADD16);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EGwGw: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::XADD_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit32u op2, op1, sum;\n\t/* XADD dst(r/m32), src(r32)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\t// and write destination into source\n\t// Note: if both op1 & op2 are registers, the last one written\n\t//       should be the sum, as op1 & op2 may be the same register.\n\t//       For example:  XADD AL, AL\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op1);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_XADD32);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EGdGd: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::XADD_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit8u op2, op1, sum;\n\t/* XADD dst(r/m8), src(r8)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\tWRITE_RMW_VIRTUAL_BYTE(sum);\n\t/* and write destination into source */\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i), op1);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,sum,BX_INSTR_XADD8);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tXADD op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EEbGb: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::XADD_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit16u op2, op1, sum;\n\t/* XADD dst(r/m16), src(r16)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\tWRITE_RMW_VIRTUAL_WORD(sum);\n\t/* and write destination into source */\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op1);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,sum,BX_INSTR_XADD16);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tXADD op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EEwGw: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::XADD_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit32u op2, op1, sum;\n\t/* XADD dst(r/m32), src(r32)\n\t * temp <-- src + dst         | sum = op2 + op1\n\t * src  <-- dst               | op2 = op1\n\t * dst  <-- tmp               | op1 = sum\n\t */\n\t/* op2 is a register, RMAddr(i) is an index of a register */\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\t/* op1 is a register or memory reference */\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\tsum = op1 + op2;\n\n\t/* now write sum back to destination */\n\tWRITE_RMW_VIRTUAL_DWORD(sum);\n\t/* and write destination into source */\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op1);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,sum,BX_INSTR_XADD32);\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tXADD op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n#else\n\tBX_PANIC((\"XADD_EEdGd: not supported on < 80486\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit8u op1, op2, diff;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tdiff = READ_VIRTUAL_8BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_8(READ_VIRTUAL_8BIT_REG(0),op1,diff,BX_INSTR_CMP8)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit8u temp;\n\ttemp = READ_VIRTUAL_8BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op1\n\t\tcmp temp,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\t\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_8BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EGbGb:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit16u op1, op2, diff;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tdiff = READ_VIRTUAL_16BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_16(READ_VIRTUAL_16BIT_REG(0),op1,diff,BX_INSTR_CMP16)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit16u temp;\n\ttemp = READ_VIRTUAL_16BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op1\n\t\tcmp temp,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_16BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EGwGw:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit32u op1, op2, diff;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tdiff = READ_VIRTUAL_32BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_32(READ_VIRTUAL_32BIT_REG(0),op1,diff,BX_INSTR_CMP32)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit32u temp;\n\ttemp = READ_VIRTUAL_32BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op1\n\t\tcmp temp,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_32BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EGdGd:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit8u op1, op2, diff;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\tdiff = READ_VIRTUAL_8BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_8(READ_VIRTUAL_8BIT_REG(0),op1,diff,BX_INSTR_CMP8)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit8u temp;\n\ttemp = READ_VIRTUAL_8BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dl,op1\n\t\tcmp temp,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\t\tWRITE_RMW_VIRTUAL_BYTE(op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_8BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EEbGb:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit16u op1, op2, diff;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\tdiff = READ_VIRTUAL_16BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_16(READ_VIRTUAL_16BIT_REG(0),op1,diff,BX_INSTR_CMP16)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit16u temp;\n\ttemp = READ_VIRTUAL_16BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov dx,op1\n\t\tcmp temp,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\t\tWRITE_RMW_VIRTUAL_WORD(op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_16BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EEwGw:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\tBit32u op1, op2, diff;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\tdiff = READ_VIRTUAL_32BIT_REG(0) - op1;\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tSET_FLAGS_OSZAPC_32(READ_VIRTUAL_32BIT_REG(0),op1,diff,BX_INSTR_CMP32)\n\n#endif //#if (HOST_CPU_IS_I80386==0) \n\n#if (HOST_CPU_IS_I80386==1)\n\n\tBit32u temp;\n\ttemp = READ_VIRTUAL_32BIT_REG(0);\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\t__asm\n\t{\n\t\tmov edx,op1\n\t\tcmp temp,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1) \n\n\tif (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\t\tWRITE_RMW_VIRTUAL_DWORD(op2);\n\t}\n\telse\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tREAD_VIRTUAL_32BIT_REG(0) = op1;\n\t}\n#else\n\tBX_PANIC((\"CMPXCHG_EEdGd:\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tsum = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EGbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EGbIb: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEIb(i);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EGwIw: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEIw(i);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EGdId: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEId(i);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GbEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tsum = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tsum = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\tWRITE_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEbIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EEbIb: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEIb(i);\n\tWRITE_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EEwIw: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEIw(i);\n\tWRITE_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"MOV_EEdId: incomplete MODRMnnn(i) !=0\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\tsum = IMMEDIATEId(i);\n\tWRITE_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GbEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),sum);\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GwEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GwEGb: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GwEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GwEGb: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit8s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GwEGw: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GwEGw: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GdEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GdEGb: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit32u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GdEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GdEGb: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit8s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GdEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GdEGw: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit32u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GdEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GdEGw: not supported on < 386\"));\n#else\n\tsum = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit16s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GwEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GwEEb: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GwEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GwEEb: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit8s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GwEEw: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GwEEw: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GdEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GdEEb: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit32u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GdEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GdEEb: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit8s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVZX_GdEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVZX_GdEEw: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit32u)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOVSX_GdEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOVSX_GdEEw: not supported on < 386\"));\n#else\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit16s)sum);\n#endif\n}\n\n\tvoid\nBX_CPU_C::LEA_GwM(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"LEA_GvM: op2 is a register\"));\n\t\tUndefinedOpcode(icpu,i);\n\t\treturn;\n\t}\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),(Bit16u)RMAddr(i));\n}\n\n\tvoid\nBX_CPU_C::LEA_GdM(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"LEA_GvM: op2 is a register\"));\n\t\tUndefinedOpcode(icpu,i);\n\t\treturn;\n\t}\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),(Bit32u)RMAddr(i));\n}\n\n\tvoid\nBX_CPU_C::MOV_ALOb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_8BIT_REG(0,sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_ObAL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tsum = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_AXOw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_16BIT_REG(0,sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_OwAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tsum = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_EAXOd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&sum);\n\tWRITE_VIRTUAL_32BIT_REG(0,sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_OdEAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tRMAddr(i) = IMMEDIATEId(i);\n\tsum = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_RLIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tsum = IMMEDIATEIb(i);\n\tBX_CPU_CLASS_PTR program_visible_gen_reg[(OPCODEb1(i)&0x3)].word.byte.rl = sum;\n}\n\n\tvoid\nBX_CPU_C::MOV_RHIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u sum;\n\n\tsum = IMMEDIATEIb(i);\n\tBX_CPU_CLASS_PTR program_visible_gen_reg[(OPCODEb1(i)&0x3)].word.byte.rh = sum;\n}\n\n\tvoid\nBX_CPU_C::MOV_RXIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u sum;\n\n\tsum = IMMEDIATEIw(i);\n\tWRITE_VIRTUAL_16BIT_REG((OPCODEb1(i)&0x7),sum);\n}\n\n\tvoid\nBX_CPU_C::MOV_ERXId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u sum;\n\n\tsum = IMMEDIATEId(i);\n\tWRITE_VIRTUAL_32BIT_REG((OPCODEb1(i)&0x7),sum);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EGbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2;\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), op2);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i), op1);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), op2);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op1);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), op2);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op1);\n}\n\n\tvoid\nBX_CPU_C::XCHG_RXAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2;\n\n\top2 = READ_VIRTUAL_16BIT_REG(0);\n\top1 = READ_VIRTUAL_16BIT_REG((OPCODEb1(i) & 0x07));\n\tWRITE_VIRTUAL_16BIT_REG(0, op1);\n\tWRITE_VIRTUAL_16BIT_REG((OPCODEb1(i) & 0x07), op2);\n}\n\n\tvoid\nBX_CPU_C::XCHG_ERXEAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2;\n\n\top2 = READ_VIRTUAL_32BIT_REG(0);\n\top1 = READ_VIRTUAL_32BIT_REG((OPCODEb1(i) & 0x07));\n\tWRITE_VIRTUAL_32BIT_REG(0, op1);\n\tWRITE_VIRTUAL_32BIT_REG((OPCODEb1(i) & 0x07), op2);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EEbGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2;\n\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMnnn(i));\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i), RMAddr(i), &op1);\n\tWRITE_RMW_VIRTUAL_BYTE(op2);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMnnn(i), op1);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i), RMAddr(i), &op1);\n\tWRITE_RMW_VIRTUAL_WORD(op2);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op1);\n}\n\n\tvoid\nBX_CPU_C::XCHG_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i), RMAddr(i), &op1);\n\tWRITE_RMW_VIRTUAL_DWORD(op2);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op1);\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/bcd.cpp",
    "content": "\n/////////////////////////////////////////////////////////////////////////\n// $Id: bcd.cc,v 1.5 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n  void\nBX_CPU_C::DAS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u tmpCF, tmpAL;\n\n  /* ??? */\n  /* the algorithm for DAS is fashioned after the pseudo code in the\n   * Pentium Processor Family Developer's Manual, volume 3.  It seems\n   * to have changed from earlier processor's manuals.  I'm not sure\n   * if this is a correction in the algorithm printed, or Intel has\n   * changed the handling of instruction.  It might not even be\n   * correct yet...\n   */\n\n//IF (AL AND 0FH) > 9 OR AF =1\n//THEN\n//AL AL - 6;\n//CF CF OR BorrowFromLastSubtraction; (* CF OR borrow from AL AL - 6 *)\n//AF 1;\n//ELSE AF 0;\n//FI;\n//IF ((AL >9FH) or CF =1)\n//THEN\n//AL AL - 60H;\n//CF 1;\n//ELSE CF 0;\n//FI;\n\n\ttmpCF = 0;\n\ttmpAL = RW_AL;\n\n\t/* DAS effect the following flags: A,C,S,Z,P */\n\tif (((tmpAL & 0x0F) > 0x09) || BX_CPU_CLASS_PTR get_AF())\n\t{\n\t\tBX_CPU_CLASS_PTR set_AF(1);\n\t\ttmpCF = (RW_AL < 0x06) || BX_CPU_CLASS_PTR get_CF();\n\t\tRW_AL = RW_AL - 0x06;\n\t\t/*tmpCF = (AL < 0) || CF;*/\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR set_AF(0);\n\t}\n\n\tif ( (tmpAL > 0x9f) || tmpCF )\n\t{\n\t\tRW_AL = RW_AL - 0x60;\n\t\ttmpCF = 1;\n    }\n\n\tBX_CPU_CLASS_PTR set_CF(tmpCF);\n\tBX_CPU_CLASS_PTR set_SF(RW_AL >> 7);\n\tBX_CPU_CLASS_PTR set_ZF(RW_AL==0);\n\tBX_CPU_CLASS_PTR set_PF_base(RW_AL);\n}\n\n\tvoid\nBX_CPU_C::AAA(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n//IF ((AL AND 0FH) > 9) OR (AF =1)\n//THEN\n//AL (AL + 6);\n//AH AH + 1;\n//AF 1;\n//CF 1;\n//ELSE\n//AF 0;\n//CF 0;\n//FI;\n//AL AL AND 0FH;\n\n\t/* AAA effects the following flags: A,C */\n\tif ( ((RW_AL & 0x0f) > 9) || BX_CPU_CLASS_PTR get_AF() )\n\t{\n\t\tRW_AL = (RW_AL + 6);\n\t\tRW_AH = RW_AH + 1;\n\t\tBX_CPU_CLASS_PTR set_AF(1);\n\t\tBX_CPU_CLASS_PTR set_CF(1);\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR set_AF(0);\n\t\tBX_CPU_CLASS_PTR set_CF(0);\n    }\n\n\tRW_AL = RW_AL & 0x0f;\n}\n\n  void\nBX_CPU_C::AAS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n//IF ((AL AND 0FH) > 9) OR (AF =1)\n//THEN\n//AL AL C 6;\n//AH AH C 1;\n//AF 1;\n//CF 1;\n//ELSE\n//CF 0;\n//AF 0;\n//FI;\n//AL AL AND 0FH;\n\n\t/* AAS affects the following flags: A,C */\n\tif ( ((RW_AL & 0x0F) > 0x09) || BX_CPU_CLASS_PTR get_AF() )\n\t{\n\t\tRW_AL = (RW_AL - 6);\n\t    RW_AH = RW_AH - 1;\n\t    BX_CPU_CLASS_PTR set_AF(1);\n\t\tBX_CPU_CLASS_PTR set_CF(1);\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR set_CF(0);\n\t\tBX_CPU_CLASS_PTR set_AF(0);\n    }\n\n    RW_AL = RW_AL & 0x0f;\n}\n\n\tvoid\nBX_CPU_C::AAM(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n//tempAL AL;\n//AH tempAL / imm8; (* imm8 is set to 0AH for the AAD mnemonic *)\n//AL tempAL MOD imm8;\n//The immediate value (imm8) is taken from the second byte of the instruction.\n//Flags Affected\n//The SF, ZF, and PF flags are set according to the resulting binary value in the AL register. The\n//OF, AF, and CF flags are undefined.\n\n\tBit8u al, imm8;\n\n\timm8 = IMMEDIATEIb(i);\n\n\tif (imm8==0)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\n\tal = RW_AL;\n\tRW_AH = al / imm8;\n\tRW_AL = al % imm8;\n\n\t/* AAM affects the following flags: S,Z,P */\n\tBX_CPU_CLASS_PTR set_SF(al>>7);\n\tBX_CPU_CLASS_PTR set_ZF(al==0);\n\tBX_CPU_CLASS_PTR set_PF_base(al); /* ??? */\n}\n\n\tvoid\nBX_CPU_C::AAD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n//tempAL AL;\n//tempAH AH;\n//AL (tempAL + (tempAH imm8)) AND FFH; (* imm8 is set to 0AH for the AAD mnemonic *)\n//AH 0\n//The immediate value (imm8) is taken from the second byte of the instruction.\n//Flags Affected\n//The SF, ZF, and PF flags are set according to the resulting binary value in the AL register; the\n//OF, AF, and CF flags are undefined.\n\t\t\n\tBit8u imm8;\n\n\timm8 = IMMEDIATEIb(i);\n\n\tRW_AL = RW_AH * imm8 + RW_AL;\n\tRW_AH = 0;\n\n\t/* AAD effects the following flags: S,Z,P */\n\tBX_CPU_CLASS_PTR set_SF(RW_AL >> 7);\n\tBX_CPU_CLASS_PTR set_ZF(RW_AL == 0);\n\tBX_CPU_CLASS_PTR set_PF_base(RW_AL);\n}\n\n\tvoid\nBX_CPU_C::DAA(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u al;\n\n//IF (((AL AND 0FH) > 9) or AF =1)\n//THEN\n//AL AL + 6;\n//CF CF OR CarryFromLastAddition; (* CF OR carry from AL AL + 6 *)\n//AF 1;\n//ELSE\n//AF 0;\n//FI;\n//IF ((AL AND F0H) >90H) or CF =1)\n//THEN\n//AL AL + 60H;\n//CF 1;\n//ELSE\n//CF 0;\n//FI;\n\n\tal = RW_AL;\n\n\t// DAA affects the following flags: S,Z,A,P,C\n\t// ???\n\tif (((al & 0x0F) > 0x09) || BX_CPU_CLASS_PTR get_AF())\n\t{\n\t\tBX_CPU_CLASS_PTR set_CF(BX_CPU_CLASS_PTR get_CF() || (Bit8u)(al +6) <6 );\n\t\tal = al + 0x06;\n\t\tBX_CPU_CLASS_PTR set_AF(1);\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR set_AF(0);\n\t}\n\n\tif ((al > 0x9F) || BX_CPU_CLASS_PTR get_CF())\n\t{\n\t\tal = al + 0x60;\n\t\tBX_CPU_CLASS_PTR set_CF(1);\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR set_CF(0);\n\t}\n\n\tRW_AL = al;\n\n\tBX_CPU_CLASS_PTR set_SF(al >> 7);\n\tBX_CPU_CLASS_PTR set_ZF(al == 0);\n\tBX_CPU_CLASS_PTR set_PF_base(al);\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/bit.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: bit.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  λָ\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::BSF_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSF_GwEGw(): not supported on < 386\"))\n#else\n\tBit16u op1,op2;\n\n    op2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = 0;\n\twhile ( (op2 & 0x01) == 0 )\n\t{\n\t\top1++;\n\t\top2 >>= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSF_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSF_GdEGd(): not supported on < 386\"))\n#else\n\tBit32u op1,op2;\n\n    op2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = 0;\n\twhile ( (op2 & 0x01) == 0 )\n\t{\n\t\top1++;\n\t\top2 >>= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSR_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSR_GwEGw(): not supported on < 386\"))\n#else\n\tBit16u op1,op2;\n\n    op2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = (16-1);\n\twhile ( (op2 & (1<<(16-1)))== 0 )\n\t{\n\t\top1--;\n\t\top2 <<= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSR_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSR_GdEGd(): not supported on < 386\"))\n#else\n\tBit32u op1,op2;\n\n    op2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = (32-1);\n\twhile ( (op2 & (1<<(32-1)))== 0 )\n\t{\n\t\top1--;\n\t\top2 <<= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSF_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSF_GwEEw(): not supported on < 386\"))\n#else\n\tBit16u op1,op2;\n\n    READ_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = 0;\n\twhile ( (op2 & 0x01) == 0 )\n\t{\n\t\top1++;\n\t\top2 >>= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSF_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSF_GdEEd(): not supported on < 386\"))\n#else\n\tBit32u op1,op2;\n\n    READ_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = 0;\n\twhile ( (op2 & 0x01) == 0 )\n\t{\n\t\top1++;\n\t\top2 >>= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSR_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSR_GwEEw(): not supported on < 386\"))\n#else\n\tBit16u op1,op2;\n\n    READ_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = (16-1);\n\twhile ( (op2 & (1<<(16-1)))== 0 )\n\t{\n\t\top1--;\n\t\top2 <<= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSR_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BSR_GdEEd(): not supported on < 386\"))\n#else\n\tBit32u op1,op2;\n\n    READ_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\n\tif (op2 == 0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t/* op1 undefined */\n\t    return;\n\t}\n\top1 = (32-1);\n\twhile ( (op2 & (1<<(32-1)))== 0 )\n\t{\n\t\top1--;\n\t\top2 <<= 1;\n\t}\n\n\tBX_CPU_CLASS_PTR set_ZF(0);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),op1);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EGwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EGdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EGwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EGwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EGdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EGdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EEwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    RMAddr(i) += 2 * (((Bit16s) (op2 & (0-16))) / 16);\n    READ_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EEdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    RMAddr(i) += 4 * (((Bit32s) (op2 & (0-32))) / 32);\n    READ_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EEwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EEwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    READ_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BT_EEdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BT_EEdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    READ_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EGwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit16u) 1) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EGdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit32u) 1) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EGwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EGwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit16u) 1) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EGdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EGdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit32u) 1) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EEwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    RMAddr(i) += 2 * (((Bit16s) (op2 & (0-16))) / 16);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit16u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EEdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    RMAddr(i) += 4 * (((Bit32s) (op2 & (0-32))) / 32);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit32u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EEwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EEwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit16u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTS_EEdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTS_EEdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 |= (((Bit32u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EGwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EGdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EGwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EGwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EGdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EGdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EEwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    RMAddr(i) += 2 * (((Bit16s) (op2 & (0-16))) / 16);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EEdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    RMAddr(i) += 4 * (((Bit32s) (op2 & (0-32))) / 32);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EEwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EEwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTR_EEdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTR_EEdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EGwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n    op1 |= (((Bit16u) !temp_cf) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EGdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n    op1 |= (((Bit32u) !temp_cf) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EGwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EGwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    op1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n    op1 |= (((Bit16u) !temp_cf) << index);\n\n    WRITE_VIRTUAL_16BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EGdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EGdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    op1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n    op1 |= (((Bit32u) !temp_cf) << index);\n\n    WRITE_VIRTUAL_32BIT_REG(MODRMrm(i),op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EEwGw: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n    index = op2 & (16-1);\n    RMAddr(i) += 2 * (((Bit16s) (op2 & (0-16))) / 16);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n    op1 |= (((Bit16u) !temp_cf) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EEdGd: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n    index = op2 & (32-1);\n    RMAddr(i) += 4 * (((Bit32s) (op2 & (0-32))) / 32);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n    op1 |= (((Bit32u) !temp_cf) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EEwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EEwIb: not available on <386\"));\n#else\n\tBit16u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (16-1);\n    index = op2 & (16-1);\n    READ_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit16u) 1) << index);\n    op1 |= (((Bit16u) !temp_cf) << index);\n\n    WRITE_RMW_VIRTUAL_WORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BTC_EEdIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"BTC_EEdIb: not available on <386\"));\n#else\n\tBit32u op1,op2,index,temp_cf;\n\n\top2 = IMMEDIATEIb(i) & (32-1);\n    index = op2 & (32-1);\n    READ_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n    temp_cf = (op1 >> index) & 0x01;\n    op1 &= ~(((Bit32u) 1) << index);\n    op1 |= (((Bit32u) !temp_cf) << index);\n\n    WRITE_RMW_VIRTUAL_DWORD(op1);\n    BX_CPU_CLASS_PTR set_CF(temp_cf);\n#endif\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/cpu.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: cpu.cc,v 1.25 2002/03/20 23:50:23 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n/*\n__declspec(naked)int mysetjump(MY_JUMP_BUFFER *jump_buff)\n{\n\tunsigned int *p;\n\tunsigned int save_Eax;\n\tunsigned int save_Edx;\n\tunsigned int save_Ecx;\n\tunsigned int save_Ebx;\n\tunsigned int save_Esp;\n\tunsigned int save_Ebp;\n\tunsigned int save_Esi;\n\tunsigned int save_Edi;\n\tunsigned int save_Eip;\n\n\t__asm\n\t{\n\t\tpush   ebp\n\t\tmov      ebp, esp\n\t\tsub      esp, __LOCAL_SIZE\n\t}\n\n\t__asm\n\t{\n\t\tmov save_Eax,Eax \n\t\tmov save_Edx,Edx \n\t\tmov save_Ecx,Ecx \n\t\tmov save_Ebx,Ebx \n\t\tmov save_Esp,Esp \n\t\tmov save_Ebp,Ebp \n\t\tmov save_Esi,Esi \n\t\tmov save_Edi,Edi \n\t}\n\tjump_buff->Eax = save_Eax;\n\tjump_buff->Edx = save_Edx;\n\tjump_buff->Ecx = save_Ecx;\n\tjump_buff->Ebx = save_Ebx;\n\tjump_buff->Esp = save_Esp;\n\tjump_buff->Ebp = save_Ebp;\n\tjump_buff->Esi = save_Esi;\n\tjump_buff->Edi = save_Edi;\n\tjump_buff->Eip = save_Eip;\n\n\tjump_buff->Esp = save_Ebp;\n\tp = (unsigned int *)(save_Ebp);\n\tjump_buff->Ebp = *(p+0);\n\tjump_buff->Eip = *(p+1);\n\n\tjump_buff->check_s = 0x55aaaa55;\n\tjump_buff->check_e = 0x55aaaa55;\n\n\t__asm  \n\t{\n\t\txor      eax,eax\n\t\tmov      esp, ebp\n\t\tpop      ebp\n\t\tret\n\t}\n\n}\n\nvoid mylongjump(MY_JUMP_BUFFER *jump_buff,unsigned int code)\n{\n\tif (jump_buff->check_s != 0x55aaaa55 ||\n        jump_buff->check_e != 0x55aaaa55)\n\t{\n\t\t__asm int 3;\n\t}\n\n\t__asm\n\t{\n\t\t\tmov eax,code\n\t\t\tmov ebx,jump_buff\n\n\t\t\t//\t\tmov Eax,[ebx]MY_JUMP_BUFFER.Eax\n\t\t\t//\t\tmov Edx,[ebx]MY_JUMP_BUFFER.Edx\n\t\t\t//\t\tmov Ecx,[ebx]MY_JUMP_BUFFER.Ecx\n\t\t\t//\t\tmov Ebx,[ebx]MY_JUMP_BUFFER.Ebx\n\t\t\tmov Esp,[ebx]MY_JUMP_BUFFER.Esp\n\t\t\tmov Ebp,[ebx]MY_JUMP_BUFFER.Ebp\n\t\t\tmov Esi,[ebx]MY_JUMP_BUFFER.Esi\n\t\t\tmov Edi,[ebx]MY_JUMP_BUFFER.Edi\n\n\t\t\tmov ecx,[ebx]MY_JUMP_BUFFER.Ebp\n\t\t\tmov edx,[ebx]MY_JUMP_BUFFER.Eip\n\n\t\t\tmov dword ptr [esp+0],ecx\n\t\t\tmov dword ptr [esp+4],edx \n\n\t\t\tmov Edx,[ebx]MY_JUMP_BUFFER.Edx\n\t\t\tmov Ecx,[ebx]MY_JUMP_BUFFER.Ecx\n\t\t\tmov Ebx,[ebx]MY_JUMP_BUFFER.Ebx\n\t\t\tpop Ebp \n\t\t\tret\n\t}\n\n\treturn ;\n}\n*/\n#define BX_INSTR_SPY 0\n\n//unsigned counter[2] = { 0, 0 };\n\n\n\n#if BX_SIM_ID == 0   // only need to define once\n// This array defines a look-up table for the even parity-ness\n// of an 8bit quantity, for optimal assignment of the parity bit\n// in the EFLAGS register\nconst Boolean bx_parity_lookup[256] = {\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0,\n  1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1\n  };\n#endif\n\n\n#if (X86CPU_MSWIN_MSDOS==1)\nbx_debug_t bx_dbg;\n#endif\n\n#if BX_SMP_PROCESSORS==1\n// single processor simulation, so there's one of everything\nBX_CPU_C    bx_cpu;\nBX_MEM_C    bx_mem;\n#else\n// multiprocessor simulation, we need an array of cpus and memories\nBX_CPU_C    *bx_cpu_array[BX_SMP_PROCESSORS+1];\nBX_MEM_C    *bx_mem_array[BX_ADDRESS_SPACES+1];\n#endif\n\n// notes:\n//\n// check limit of CS?\n\n#ifdef REGISTER_IADDR\nextern void REGISTER_IADDR(Bit32u addr);\n#endif\n\n// The CHECK_MAX_INSTRUCTIONS macro allows cpu_loop to execute a few\n// instructions and then return so that the other processors have a chance to\n// run.  This is used only when simulating multiple processors.\n// \n// If maximum instructions have been executed, return.  A count less\n// than zero means run forever.\n#define CHECK_MAX_INSTRUCTIONS(count) if (count >= 0) { count--; if (count == 0) return; }\n\n#if BX_SMP_PROCESSORS==1\n#  define BX_TICK1_IF_SINGLE_PROCESSOR() BX_TICK1()\n#else\n#  define BX_TICK1_IF_SINGLE_PROCESSOR()\n#endif\n\n#if BX_DYNAMIC_TRANSLATION == 0\n\n\tvoid\nBX_CPU_C::cpu_loop(Bit32s max_instr_count)\n{\n\tunsigned ilength;\n\tbxInstruction_c i;\n\tBit8u *fetch_ptr;\n\tBoolean is_32;\n\n#if BX_DEBUGGER\n\tBX_CPU_THIS_PTR break_point = 0;\n#ifdef MAGIC_BREAKPOINT\n\tBX_CPU_THIS_PTR magic_break = 0;\n#endif\n\tBX_CPU_THIS_PTR stop_reason = STOP_NO_REASON;\n#endif\n\n\t(void) setjmp( BX_CPU_THIS_PTR jmp_buf_env );\n\n\t// not sure if these two are used during the async handling... --bbd\n\tBX_CPU_THIS_PTR prev_eip = X86_EIP; // commit new EIP\n\tBX_CPU_THIS_PTR prev_esp = X86_ESP; // commit new ESP\n\nmain_cpu_loop:\n\t\n\t// ???\n\tBX_CPU_THIS_PTR EXT = 0;\n\tBX_CPU_THIS_PTR errorno = 0;\n\n\t// First check on events which occurred for previous instructions\n\t// (traps) and ones which are asynchronous to the CPU\n\t// (hardware interrupts).\n\tif (BX_CPU_THIS_PTR async_event)\n\t\tgoto handle_async_event;\n\nasync_events_processed:\n  // added so that all debugging/tracing code uses the correct EIP even in the\n  // instruction just after a trap/intel_interrupt.  If you use the prev_eip that was\n  // set before handle_async_event, traces and breakpoints fail to show the\n  // first instruction of int/trap handlers.\n  BX_CPU_THIS_PTR prev_eip = X86_EIP; // commit new EIP\n  BX_CPU_THIS_PTR prev_esp = X86_ESP; // commit new ESP\n  \n  // Now we can handle things which are synchronous to instruction\n  // execution.\n  if (BX_CPU_THIS_PTR eflags.rf) {\n    BX_CPU_THIS_PTR eflags.rf = 0;\n    }\n#if BX_X86_DEBUGGER\n  else {\n    // only bother comparing if any breakpoints enabled\n    if ( BX_CPU_THIS_PTR dr7 & 0x000000ff ) {\n      Bit32u iaddr =\n        BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base +\n        BX_CPU_THIS_PTR prev_eip;\n      Bit32u dr6_bits;\n      if ( (dr6_bits = hwdebug_compare(iaddr, 1, BX_HWDebugInstruction,\n                                       BX_HWDebugInstruction)) ) {\n        // Add to the list of debug events thus far.\n        BX_CPU_THIS_PTR debug_trap |= dr6_bits;\n        BX_CPU_THIS_PTR async_event = 1;\n        // If debug events are not inhibited on this boundary,\n        // fire off a debug fault.  Otherwise handle it on the next\n        // boundary. (becomes a trap)\n        if ( !(BX_CPU_THIS_PTR inhibit_mask & BX_INHIBIT_DEBUG) ) {\n          // Commit debug events to DR6\n          BX_CPU_THIS_PTR dr6 = BX_CPU_THIS_PTR debug_trap;\n          exception(BX_DB_EXCEPTION, 0, 0); // no error, not intel_interrupt\n          }\n        }\n      }\n    }\n#endif\n\n  // We have ignored processing of external interrupts and\n  // debug events on this boundary.  Reset the mask so they\n  // will be processed on the next boundary.\n  BX_CPU_THIS_PTR inhibit_mask = 0;\n\n\n#if BX_DEBUGGER\n  {\n  Bit32u debug_eip = BX_CPU_THIS_PTR prev_eip;\n  if ( dbg_is_begin_instr_bpoint(\n         BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n         debug_eip,\n         BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base + debug_eip,\n         BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b) ) {\n    return;\n    }\n  }\n#endif  // #if BX_DEBUGGER\n  \n#if BX_INSTR_SPY\n  {\n    int n=0;\n    if ((n & 0xffffff) == 0) {\n      Bit32u cs = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n      Bit32u eip = BX_CPU_THIS_PTR prev_eip;\n      fprintf (stdout, \"instr %d, time %lld, pc %04x:%08x, fetch_ptr=%p\\n\", n, bx_pc_system.time_ticks (), cs, eip, fetch_ptr);\n    }\n    n++;\n  }\n#endif\n\n\tis_32 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b;\n\n\tif (BX_CPU_THIS_PTR bytesleft == 0)\n\t{\n\t\tprefetch();\n    }\n\n\tfetch_ptr = BX_CPU_THIS_PTR fetch_ptr;\n\tilength = fetchDecode(fetch_ptr, &i,MIN(BX_CPU_THIS_PTR bytesleft,0x0f));\n\n\tif (ilength)\n\t{\n\t\tif (i.ResolveModrm)\n\t\t{\n\t\t\t// call method on BX_CPU_C object\n\t\t\tBX_CPU_CALL_METHOD(i.ResolveModrm, (BX_CPU_THIS,&i));\n\t\t}\n\n\t\tBX_CPU_THIS_PTR fetch_ptr += ilength;\n\t\tBX_CPU_THIS_PTR bytesleft -= ilength;\n\nfetch_decode_OK:\n\n#if BX_DEBUGGER\n\t    if (BX_CPU_THIS_PTR trace)\n\t\t{\n\t\t\t// print the instruction that is about to be executed.\n#if (BX_SMP_PROCESSORS==1)\n\t\t\tbx_dbg_disassemble_current (0, 1);  // only one cpu, print time stamp\n#else\n\t\t\tbx_dbg_disassemble_current (local_apic.get_id (), 1); // this cpu only\n#endif\n\t\t}\n#endif\n\n\t{\n\t\t// non repeating instruction\n\t\tBX_CPU_THIS_PTR program_visible_eip += ilength;\n\t\tBX_CPU_CALL_METHOD(i.execute, (BX_CPU_THIS,&i));\n\t}\n\n    BX_CPU_THIS_PTR prev_eip = X86_EIP; // commit new EIP\n    BX_CPU_THIS_PTR prev_esp = X86_ESP; // commit new ESP\n#ifdef REGISTER_IADDR\n    REGISTER_IADDR(BX_CPU_THIS_PTR program_visible_eip + BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.base);\n#endif\n\n#ifndef DEBUG_GUEST_MACHINE\n    BX_TICK1_IF_SINGLE_PROCESSOR();\n#endif\n\n//debugger_check:\n\n#ifdef DEBUG_GUEST_MACHINE\n\n    CHECK_MAX_INSTRUCTIONS(max_instr_count);\n\n#endif\n\n\n#if (BX_SMP_PROCESSORS>1 && BX_DEBUGGER==0)\n    // The CHECK_MAX_INSTRUCTIONS macro allows cpu_loop to execute a few\n    // instructions and then return so that the other processors have a chance\n    // to run.  This is used only when simulating multiple processors.  If only\n    // one processor, don't waste any cycles on it!  Also, it is not needed\n    // with the debugger because its guard mechanism provides the same\n    // functionality.\n    CHECK_MAX_INSTRUCTIONS(max_instr_count);\n#endif\n\n#if BX_DEBUGGER\n\n    // BW vm mode switch support is in dbg_is_begin_instr_bpoint\n    // note instr generating exceptions never reach this point.\n\n    // (mch) Read/write, time break point support\n    if (BX_CPU_THIS_PTR break_point) {\n\t  switch (BX_CPU_THIS_PTR break_point) {\n\t\tcase BREAK_POINT_TIME:\n\t\t      BX_INFO((\"[%lld] Caught time breakpoint\", bx_pc_system.time_ticks()));\n\t\t      BX_CPU_THIS_PTR stop_reason = STOP_TIME_BREAK_POINT;\n\t\t      return;\n\t\tcase BREAK_POINT_READ:\n\t\t      BX_INFO((\"[%lld] Caught read watch point\", bx_pc_system.time_ticks()));\n\t\t      BX_CPU_THIS_PTR stop_reason = STOP_READ_WATCH_POINT;\n\t\t      return;\n\t\tcase BREAK_POINT_WRITE:\n\t\t      BX_INFO((\"[%lld] Caught write watch point\", bx_pc_system.time_ticks()));\n\t\t      BX_CPU_THIS_PTR stop_reason = STOP_WRITE_WATCH_POINT;\n\t\t      return;\n\t\tdefault:\n\t\t      BX_PANIC((\"Weird break point condition\"));\n\t  }\n    }\n#ifdef MAGIC_BREAKPOINT\n    // (mch) Magic break point support\n    if (BX_CPU_THIS_PTR magic_break) {\n\t  if (bx_dbg.magic_break_enabled) {\n\t\tBX_DEBUG((\"Stopped on MAGIC BREAKPOINT\"));\n\t\tBX_CPU_THIS_PTR stop_reason = STOP_MAGIC_BREAK_POINT;\n\t\treturn;\n\t  } else {\n\t\tBX_CPU_THIS_PTR magic_break = 0;\n\t\tBX_CPU_THIS_PTR stop_reason = STOP_NO_REASON;\n\t\tBX_DEBUG((\"Ignoring MAGIC BREAKPOINT\"));\n\t  }\n    }\n#endif\n\n    {\n      // check for icount or control-C.  If found, set guard reg and return.\n    Bit32u debug_eip = BX_CPU_THIS_PTR prev_eip;\n    if ( dbg_is_end_instr_bpoint(\n           BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n           debug_eip,\n           BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base + debug_eip,\n           BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b) ) {\n      return;\n      }\n    }\n\n#endif  // #if BX_DEBUGGER\n    goto main_cpu_loop;\n    }\n\n\n\n\telse\n\t{\n            unsigned remain,j;\n            Bit8u FetchBuffer[16];\n\t\t\tBit8u *temp_ptr;\n\n\t\t\tremain = BX_CPU_THIS_PTR bytesleft;\n\n\t\t\tif (remain>=0x0f)\n\t\t\t{\n\t\t\t\tBX_PANIC((\"fetchdecode: opcode length >= 0x0f\"));\n\t\t\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\t\t}\n\n\t\t\t// read all leftover bytes in current page\n\t\t\tfor (j=0;j<remain;j++)\n\t\t\t{\n\t\t\t\tFetchBuffer[j] = *fetch_ptr++;\n\t\t\t}\n\n\t\t\t// get remaining bytes for prefetch in next page\n\t\t\t// prefetch() needs eip current\n\t\t\tBX_CPU_THIS_PTR program_visible_eip += BX_CPU_THIS_PTR bytesleft;\n\t\t\tprefetch();\n\t\t\ttemp_ptr = fetch_ptr = BX_CPU_THIS_PTR fetch_ptr;\n\n\t\t\t// read leftover bytes in next page\n\t\t\tfor (; j<0x0f; j++)\n\t\t\t{\n\t\t\t\tFetchBuffer[j] = *temp_ptr++;\n\t\t\t}\n\n\t\t\tilength = fetchDecode(FetchBuffer, &i, 0x0f);\n\n\t\t\tif (ilength==0||ilength>(remain+BX_CPU_THIS_PTR bytesleft))\n\t\t\t{\n\t\t\t\tBX_PANIC((\"fetchdecode: cross boundary: opcode length >= bytesleft\"));\n\t\t\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\t\t}\n\n\t\t\tif (i.ResolveModrm)\n\t\t\t{\n\t\t\t\tBX_CPU_CALL_METHOD(i.ResolveModrm, (BX_CPU_THIS,&i));\n\t\t\t}\n\n\t\t\tremain = ilength - remain;\n\n\t\t\t// note: eip has already been advanced to beginning of page\n\t\t\tBX_CPU_THIS_PTR fetch_ptr = fetch_ptr + remain;\n\t\t\tBX_CPU_THIS_PTR bytesleft -= remain;\n\t\t\t//BX_CPU_THIS_PTR program_visible_eip += remain;\n\n\n\t\tBX_CPU_THIS_PTR program_visible_eip = BX_CPU_THIS_PTR prev_eip;\n\t\tgoto fetch_decode_OK;\n    }\n\n\n  //\n  // This area is where we process special conditions and events.\n  //\n\nhandle_async_event:\n\n\tif (BX_CPU_THIS_PTR debug_trap & 0x80000000)\n\t{\n\t\t// I made up the bitmask above to mean HALT state.\n#if BX_SMP_PROCESSORS==1\n\t\tBX_CPU_THIS_PTR debug_trap = 0; // clear traps for after resume\n\t\tBX_CPU_THIS_PTR inhibit_mask = 0; // clear inhibits for after resume\n\t\t// for one processor, pass the time as quickly as possible until\n\t\t// an intel_interrupt wakes up the CPU.\n\t\twhile (1)\n\t\t{\n\t\t\tif (BX_CPU_THIS_PTR INTR && BX_CPU_THIS_PTR eflags.if_)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tBX_TICK1();\n\t    }\n#else      /* BX_SMP_PROCESSORS != 1 */\n\t    // for multiprocessor simulation, even if this CPU is halted we still\n\t\t// must give the others a chance to simulate.  If an intel_interrupt has \n\t\t// arrived, then clear the HALT condition; otherwise just return from\n\t\t// the CPU loop with stop_reason STOP_CPU_HALTED.\n\t\tif (BX_CPU_THIS_PTR INTR && BX_CPU_THIS_PTR eflags.if_)\n\t\t{\n\t\t\t// intel_interrupt ends the HALT condition\n\t\t\tBX_CPU_THIS_PTR debug_trap = 0; // clear traps for after resume\n\t\t\tBX_CPU_THIS_PTR inhibit_mask = 0; // clear inhibits for after resume\n\t\t\t//bx_printf (\"halt condition has been cleared in %s\", name);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// HALT condition remains, return so other CPUs have a chance\n#if BX_DEBUGGER\n\t\t\tBX_CPU_THIS_PTR stop_reason = STOP_CPU_HALTED;\n#endif\n\t\t\treturn;\n\t\t}\n#endif\n\n\t}\n\n\n  // Priority 1: Hardware Reset and Machine Checks\n  //   RESET\n  //   Machine Check\n  // (bochs doesn't support these)\n\n  // Priority 2: Trap on Task Switch\n  //   T flag in TSS is set\n\tif (BX_CPU_THIS_PTR debug_trap & 0x00008000)\n\t{\n\t\tBX_CPU_THIS_PTR dr6 |= BX_CPU_THIS_PTR debug_trap;\n\t\texception(BX_DB_EXCEPTION, 0, 0); // no error, not intel_interrupt\n    }\n\n  // Priority 3: External Hardware Interventions\n  //   FLUSH\n  //   STOPCLK\n  //   SMI\n  //   INIT\n  // (bochs doesn't support these)\n\n  // Priority 4: Traps on Previous Instruction\n  //   Breakpoints\n  //   Debug Trap Exceptions (TF flag set or data/IO breakpoint)\n\tif ( BX_CPU_THIS_PTR debug_trap &&\n\t\t!(BX_CPU_THIS_PTR inhibit_mask & BX_INHIBIT_DEBUG) )\n\t{\n    // A trap may be inhibited on this boundary due to an instruction\n    // which loaded SS.  If so we clear the inhibit_mask below\n    // and don't execute this code until the next boundary.\n    // Commit debug events to DR6\n\t\tBX_CPU_THIS_PTR dr6 |= BX_CPU_THIS_PTR debug_trap;\n\t\texception(BX_DB_EXCEPTION, 0, 0); // no error, not intel_interrupt\n    }\n\n  // Priority 5: External Interrupts\n  //   NMI Interrupts\n  //   Maskable Hardware Interrupts\n\tif (BX_CPU_THIS_PTR inhibit_mask & BX_INHIBIT_INTERRUPTS)\n\t{\n    // Processing external interrupts is inhibited on this\n    // boundary because of certain instructions like STI.\n    // inhibit_mask is cleared below, in which case we will have\n    // an opportunity to check interrupts on the next instruction\n    // boundary.\n    }\n\telse if (BX_CPU_THIS_PTR INTR && BX_CPU_THIS_PTR eflags.if_ && BX_DBG_ASYNC_INTR)\n\t{\n\t\tBit8u _vector;\n\n\t\t// NOTE: similar code in ::take_irq()\n#if BX_SUPPORT_APIC\n\t\tif (BX_CPU_THIS_PTR int_from_local_apic)\n\t\t\t_vector = BX_CPU_THIS_PTR local_apic.acknowledge_int ();\n\t\telse\n\t\t\t_vector = BX_IAC(); // may set INTR with next intel_interrupt\n#else\n\t\t// if no local APIC, always acknowledge the PIC.\n\t\t_vector = BX_IAC(); // may set INTR with next intel_interrupt\n\n#endif\n\t\t//BX_DEBUG((\"decode: intel_interrupt %u\",\n\t\t//                                   (unsigned) _vector));\n\t\tBX_CPU_THIS_PTR errorno = 0;\n\t\tBX_CPU_THIS_PTR EXT   = 1; /* external event */\n\t\tintel_interrupt(_vector, 0, 0, 0);\n\t\tBX_INSTR_HWINTERRUPT(_vector, BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value, BX_CPU_THIS_PTR program_visible_eip);\n    }\n\telse if (BX_HRQ && BX_DBG_ASYNC_DMA)\n\t{\n\t\t// NOTE: similar code in ::take_dma()\n\t\t// assert Hold Acknowledge (HLDA) and go into a bus hold state\n\t\tBX_RAISE_HLDA();\n\t}\n\n  // Priority 6: Faults from fetching next instruction\n  //   Code breakpoint fault\n  //   Code segment limit violation (priority 7 on 486/Pentium)\n  //   Code page fault (priority 7 on 486/Pentium)\n  // (handled in main decode loop)\n\n  // Priority 7: Faults from decoding next instruction\n  //   Instruction length > 15 bytes\n  //   Illegal opcode\n  //   Coprocessor not available\n  // (handled in main decode loop etc)\n\n  // Priority 8: Faults on executing an instruction\n  //   Floating point execution\n  //   Overflow\n  //   Bound error\n  //   Invalid TSS\n  //   Segment not present\n  //   Stack fault\n  //   General protection\n  //   Data page fault\n  //   Alignment check\n  // (handled by rest of the code)\n\n\n\tif (BX_CPU_THIS_PTR eflags.tf)\n\t{\n\t\t// TF is set before execution of next instruction.  Schedule\n\t\t// a debug trap (#DB) after execution.  After completion of\n\t\t// next instruction, the code above will invoke the trap.\n\t\tBX_CPU_THIS_PTR debug_trap |= 0x00004000; // BS flag in DR6\n    }\n\n\tif ( !(BX_CPU_THIS_PTR INTR ||\n\t\t\tBX_CPU_THIS_PTR debug_trap ||\n\t\t\tBX_HRQ ||\n\t\t\tBX_CPU_THIS_PTR eflags.tf)\n\t\t)\n\t{\n\t\t BX_CPU_THIS_PTR async_event = 0;\n\t}\n\n\tgoto async_events_processed;\n}\n\n#endif  // #if BX_DYNAMIC_TRANSLATION == 0\n\n\n\n\n// boundaries of consideration:\n//\n//  * physical memory boundary: 1024k (1Megabyte) (increments of...)\n//  * A20 boundary:             1024k (1Megabyte)\n//  * page boundary:            4k\n//  * ROM boundary:             2k (dont care since we are only reading)\n//  * segment boundary:         any\n\n\n  void\nBX_CPU_C::prefetch(void)\n{\n  // cs:eIP\n  // prefetch QSIZE byte quantity aligned on corresponding boundary\n  Bit32u new_linear_addr;\n  Bit32u new_phy_addr;\n  Bit32u temp_eip, temp_limit;\n\n  temp_eip   = BX_CPU_THIS_PTR program_visible_eip;\n  temp_limit = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled;\n\n  new_linear_addr = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base + temp_eip;\n  BX_CPU_THIS_PTR prev_linear_page = new_linear_addr & 0xfffff000;\n  if (temp_eip > temp_limit) {\n    BX_PANIC((\"prefetch: EIP > CS.limit\"));\n\texception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n#if BX_SUPPORT_PAGING\n  if (BX_CPU_THIS_PTR cr0.pg) {\n    // aligned block guaranteed to be all in one page, same A20 address\n    new_phy_addr = itranslate_linear(new_linear_addr, CPL==3);\n    new_phy_addr = A20ADDR(new_phy_addr);\n    }\n  else\n#endif // BX_SUPPORT_PAGING\n    {\n    new_phy_addr = A20ADDR(new_linear_addr);\n    }\n\n  if ( new_phy_addr >= BX_CPU_THIS_PTR mem->len ) {\n    // don't take this out if dynamic translation enabled,\n    // otherwise you must make a check to see if bytesleft is 0 after\n    // a call to prefetch() in the dynamic code.\n    BX_ERROR((\"prefetch: running in bogus memory\"));\n    }\n\n  // max physical address as confined by page boundary\n  BX_CPU_THIS_PTR prev_phy_page = new_phy_addr & 0xfffff000;\n  BX_CPU_THIS_PTR max_phy_addr = BX_CPU_THIS_PTR prev_phy_page | 0x00000fff;\n\n  // check if segment boundary comes into play\n  //if ((temp_limit - temp_eip) < 4096) {\n  //  }\n\n#if BX_PCI_SUPPORT\n  if ((new_phy_addr >= 0x000C0000) && (new_phy_addr <= 0x000FFFFF)) {\n    BX_CPU_THIS_PTR bytesleft = 0x4000 - (new_phy_addr & 0x3FFF);\n    BX_CPU_THIS_PTR fetch_ptr = bx_devices.pci->i440fx_fetch_ptr(new_phy_addr);\n  } else {\n    BX_CPU_THIS_PTR bytesleft = (BX_CPU_THIS_PTR max_phy_addr - new_phy_addr) + 1;\n    BX_CPU_THIS_PTR fetch_ptr = &BX_CPU_THIS_PTR mem->_vector[new_phy_addr];\n  }\n#else\n  BX_CPU_THIS_PTR bytesleft = (BX_CPU_THIS_PTR max_phy_addr - new_phy_addr) + 1;\n  BX_CPU_THIS_PTR fetch_ptr = &BX_CPU_THIS_PTR mem->_vector[new_phy_addr];\n#endif\n}\n\n\n  // If control has transfered locally, it is possible the prefetch Q is\n  // still valid.  This would happen for repeat instructions, and small\n  // branches.\n\tvoid\nBX_CPU_C::revalidate_prefetch_q(void)\n{\n\tBit32u new_linear_addr, new_linear_page, new_linear_offset;\n\tBit32u new_phy_addr;\n\n#if (X86CPU_MSWIN_MSDOS==1)\n\tBX_CPU_THIS_PTR LBR.LastBranchToCS_EIP =\n\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base +\n\t\tBX_CPU_THIS_PTR program_visible_eip;\n\n\tBX_CPU_THIS_PTR LBR.LastBranchFromCS_EIP =\n\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base +\n\t\tBX_CPU_THIS_PTR prev_eip;\n\n\treturn ;\n\n#endif\n\n\tnew_linear_addr = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base + BX_CPU_THIS_PTR program_visible_eip;\n\tnew_linear_page = new_linear_addr & 0xfffff000;\n\n\tif (new_linear_page == BX_CPU_THIS_PTR prev_linear_page){\n    // same linear address, old linear->physical translation valid\n    new_linear_offset = new_linear_addr & 0x00000fff;\n    new_phy_addr = BX_CPU_THIS_PTR prev_phy_page | new_linear_offset;\n\n#if BX_PCI_SUPPORT\n    if ((new_phy_addr >= 0x000C0000) && (new_phy_addr <= 0x000FFFFF)) {\n      BX_CPU_THIS_PTR bytesleft = 0x4000 - (new_phy_addr & 0x3FFF);\n      BX_CPU_THIS_PTR fetch_ptr = bx_devices.pci->i440fx_fetch_ptr(new_phy_addr);\n      }\n    else {\n      BX_CPU_THIS_PTR bytesleft = (BX_CPU_THIS_PTR max_phy_addr - new_phy_addr) + 1;\n      BX_CPU_THIS_PTR fetch_ptr = &BX_CPU_THIS_PTR mem->_vector[new_phy_addr];\n      }\n#else\n    BX_CPU_THIS_PTR bytesleft = (BX_CPU_THIS_PTR max_phy_addr - new_phy_addr) + 1;\n    BX_CPU_THIS_PTR fetch_ptr = &BX_CPU_THIS_PTR mem->_vector[new_phy_addr];\n#endif\n    }\n\telse\n\t{\n\t\tBX_CPU_THIS_PTR bytesleft = 0; // invalidate prefetch Q\n\t}\n}\n\n\tvoid\nBX_CPU_C::invalidate_prefetch_q(void)\n{\n\tBX_CPU_THIS_PTR eipPageWindowSize = 0;\n\tBX_CPU_THIS_PTR bytesleft = 0;\n}\n\n#if BX_DEBUGGER\nextern unsigned int dbg_show_mask;\n\n  Boolean\nBX_CPU_C::dbg_is_begin_instr_bpoint(Bit32u cs, Bit32u eip, Bit32u laddr,\n                                    Bit32u is_32)\n{\n  //fprintf (stderr, \"begin_instr_bp: checking cs:eip %04x:%08x\\n\", cs, eip);\n  BX_CPU_THIS_PTR guard_found.cs  = cs;\n  BX_CPU_THIS_PTR guard_found.eip = eip;\n  BX_CPU_THIS_PTR guard_found.laddr = laddr;\n  BX_CPU_THIS_PTR guard_found.is_32bit_code = is_32;\n\n  // BW mode switch breakpoint\n  // instruction which generate exceptions never reach the end of the\n  // loop due to a long jump. Thats why we check at start of instr.\n  // Downside is that we show the instruction about to be executed\n  // (not the one generating the mode switch).\n  if (BX_CPU_THIS_PTR mode_break && \n      (BX_CPU_THIS_PTR debug_vm != BX_CPU_THIS_PTR eflags.vm)) {\n    BX_INFO((\"Caught vm mode switch breakpoint\"));\n    BX_CPU_THIS_PTR debug_vm = BX_CPU_THIS_PTR eflags.vm;\n    BX_CPU_THIS_PTR stop_reason = STOP_MODE_BREAK_POINT;\n    return 1;\n  }\n\n  if( (BX_CPU_THIS_PTR show_flag) & (dbg_show_mask)) {\n    int rv;\n    if((rv = bx_dbg_symbolic_output()))\n      return rv;\n  }\n\n  // see if debugger is looking for iaddr breakpoint of any type\n  if (bx_guard.guard_for & BX_DBG_GUARD_IADDR_ALL) {\n#if BX_DBG_SUPPORT_VIR_BPOINT\n    if (bx_guard.guard_for & BX_DBG_GUARD_IADDR_VIR) {\n      if (BX_CPU_THIS_PTR guard_found.icount!=0) {\n        for (unsigned i=0; i<bx_guard.iaddr.num_virtual; i++) {\n          if ( (bx_guard.iaddr.vir[i].cs  == cs) &&\n               (bx_guard.iaddr.vir[i].eip == eip) ) {\n            BX_CPU_THIS_PTR guard_found.guard_found = BX_DBG_GUARD_IADDR_VIR;\n            BX_CPU_THIS_PTR guard_found.iaddr_index = i;\n            return(1); // on a breakpoint\n            }\n          }\n        }\n      }\n#endif\n#if BX_DBG_SUPPORT_LIN_BPOINT\n    if (bx_guard.guard_for & BX_DBG_GUARD_IADDR_LIN) {\n      if (BX_CPU_THIS_PTR guard_found.icount!=0) {\n        for (unsigned i=0; i<bx_guard.iaddr.num_linear; i++) {\n          if ( bx_guard.iaddr.lin[i].addr == BX_CPU_THIS_PTR guard_found.laddr ) {\n            BX_CPU_THIS_PTR guard_found.guard_found = BX_DBG_GUARD_IADDR_LIN;\n            BX_CPU_THIS_PTR guard_found.iaddr_index = i;\n            return(1); // on a breakpoint\n            }\n          }\n        }\n      }\n#endif\n#if BX_DBG_SUPPORT_PHY_BPOINT\n    if (bx_guard.guard_for & BX_DBG_GUARD_IADDR_PHY) {\n      Bit32u phy;\n      Boolean valid;\n      dbg_xlate_linear2phy(BX_CPU_THIS_PTR guard_found.laddr,\n                              &phy, &valid);\n      // The \"guard_found.icount!=0\" condition allows you to step or\n      // continue beyond a breakpoint.  Bryce tried removing it once,\n      // and once you get to a breakpoint you are stuck there forever.\n      // Not pretty.\n      if (valid && (BX_CPU_THIS_PTR guard_found.icount!=0)) {\n        for (unsigned i=0; i<bx_guard.iaddr.num_physical; i++) {\n          if ( bx_guard.iaddr.phy[i].addr == phy ) {\n            BX_CPU_THIS_PTR guard_found.guard_found = BX_DBG_GUARD_IADDR_PHY;\n            BX_CPU_THIS_PTR guard_found.iaddr_index = i;\n            return(1); // on a breakpoint\n            }\n          }\n        }\n      }\n#endif\n    }\n  return(0); // not on a breakpoint\n}\n\n\n  Boolean\nBX_CPU_C::dbg_is_end_instr_bpoint(Bit32u cs, Bit32u eip, Bit32u laddr,\n                                  Bit32u is_32)\n{\n  //fprintf (stderr, \"end_instr_bp: checking for icount or ^C\\n\");\n  BX_CPU_THIS_PTR guard_found.icount++;\n\n  // convenient point to see if user typed Ctrl-C\n  if (bx_guard.interrupt_requested &&\n      (bx_guard.guard_for & BX_DBG_GUARD_CTRL_C)) {\n    BX_CPU_THIS_PTR guard_found.guard_found = BX_DBG_GUARD_CTRL_C;\n    return(1);\n    }\n\n  // see if debugger requesting icount guard\n  if (bx_guard.guard_for & BX_DBG_GUARD_ICOUNT) {\n    if (BX_CPU_THIS_PTR guard_found.icount >= bx_guard.icount) {\n      BX_CPU_THIS_PTR guard_found.cs  = cs;\n      BX_CPU_THIS_PTR guard_found.eip = eip;\n      BX_CPU_THIS_PTR guard_found.laddr = laddr;\n      BX_CPU_THIS_PTR guard_found.is_32bit_code = is_32;\n      BX_CPU_THIS_PTR guard_found.guard_found = BX_DBG_GUARD_ICOUNT;\n      return(1);\n      }\n    }\n\n#if (BX_NUM_SIMULATORS >= 2)\n  // if async event pending, acknowlege them\n  if (bx_guard.async_changes_pending.which) {\n    if (bx_guard.async_changes_pending.which & BX_DBG_ASYNC_PENDING_A20)\n      bx_dbg_async_pin_ack(BX_DBG_ASYNC_PENDING_A20,\n                           bx_guard.async_changes_pending.a20);\n    if (bx_guard.async_changes_pending.which) {\n      BX_PANIC((\"decode: async pending unrecognized.\"));\n      }\n    }\n#endif\n  return(0); // no breakpoint\n}\n\n\n  void\nBX_CPU_C::dbg_take_irq(void)\n{\n  unsigned _vector;\n\n  // NOTE: similar code in ::cpu_loop()\n\n  if ( BX_CPU_THIS_PTR INTR && BX_CPU_THIS_PTR eflags.if_ ) {\n    if ( setjmp(BX_CPU_THIS_PTR jmp_buf_env) == 0 ) {\n      // normal return from setjmp setup\n      _vector = BX_IAC(); // may set INTR with next intel_interrupt\n      BX_CPU_THIS_PTR errorno = 0;\n      BX_CPU_THIS_PTR EXT   = 1; // external event\n      BX_CPU_THIS_PTR async_event = 1; // set in case INTR is triggered\n      intel_interrupt(_vector, 0, 0, 0);\n      }\n    }\n}\n\n  void\nBX_CPU_C::dbg_force_interrupt(unsigned _vector)\n{\n  // Used to force slave simulator to take an intel_interrupt, without\n  // regard to IF\n\n  if ( setjmp(BX_CPU_THIS_PTR jmp_buf_env) == 0 ) {\n    // normal return from setjmp setup\n    BX_CPU_THIS_PTR errorno = 0;\n    BX_CPU_THIS_PTR EXT   = 1; // external event\n    BX_CPU_THIS_PTR async_event = 1; // probably don't need this\n    intel_interrupt(_vector, 0, 0, 0);\n    }\n}\n\n  void\nBX_CPU_C::dbg_take_dma(void)\n{\n  // NOTE: similar code in ::cpu_loop()\n  if ( BX_HRQ ) {\n    BX_CPU_THIS_PTR async_event = 1; // set in case INTR is triggered\n    BX_RAISE_HLDA();\n    }\n}\n#endif  // #if BX_DEBUGGER\n\n#if BX_SUPPORT_FPU==0\n\n#undef LOG_THIS\n#define LOG_THIS genlog->\n\n// Nomenclature used to signify argument types\n//\n// Es = single real\n// El = double real\n// Ea = 14/28 bytes    98/108b bytes (FRSTOR,FSAVE)???\n// Ew = word integer (2 bytes)\n// Ed = dword integer (4 bytes) (short int)\n// Et = extended real\n// Eb = packed BCD\n// Eq = quadword integer (8 bytes) (long integer)\n\nvoid\nBX_CPU_C::ESC0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC0 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC1 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC2 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n\n\t//BX_DEBUG(( \"CS:EIP = %04x:%08x\",\n\t//  BX_CPU.sregs[BX_SEG_REG_CS].selector.value, BX_CPU.prev_eip));\n\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC3 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC4 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC5 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC6 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::ESC7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"ESC7 not implemented\"));\n#endif\n}\n\nvoid\nBX_CPU_C::FWAIT(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\t// WAIT doesn't generate single steps on 8086.\n\t// The same goes for prefix instructions, and instructions which\n\t// modify segment registers. (pg4-16)\n\t// single_step_event = 0;\n\tBX_PANIC((\"WAIT: not implemented for < 386\"));\n#else // BX_CPU_LEVEL >= 3\n\n\tif ( BX_CPU_CLASS_PTR cr0.ts && BX_CPU_CLASS_PTR cr0.mp ) {\n\t\tBX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0); // no error\n\t}\n#if BX_SUPPORT_FPU\n\tBX_CPU_CLASS_PTR fpu_execute(i);\n#else\n\tBX_INFO((\"FWAIT: no FPU\"));\n#endif\n\n#endif\n}\n\n#if BX_SUPPORT_FPU==0\n\n  // if supporting FPU, this function in glue logic file\n  void\nBX_CPU_C::fpu_init(void)\n{\n}\n\n#endif\n\n#endif\n\n\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/cpu.h",
    "content": "\n/////////////////////////////////////////////////////////////////////////\n// $Id: cpu.h,v 1.17 2002/03/27 16:04:04 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef BX_CPU_H\n#define BX_CPU_H 1\n\n#define X86CPU_MSWIN_MSDOS 1\n\n#include <setjmp.h>\n/*\ntypedef struct MY__JUMP_BUFFER {\n\n\tunsigned long check_s;\n\tunsigned long Eax;\n\tunsigned long Edx;\n\tunsigned long Ecx;\n\tunsigned long Ebx;\n\tunsigned long Esp;\n\tunsigned long Ebp;\n\tunsigned long Esi;\n\tunsigned long Edi;\n\n\tunsigned long Eip;\n\tunsigned long Registration;\n\tunsigned long TryLevel;\n\tunsigned long Cookie;\n\tunsigned long UnwindFunc;\n\tunsigned long UnwindData[6];\n\tunsigned long check_e;\n\n} MY_JUMP_BUFFER;\n\n\nint mysetjump(MY_JUMP_BUFFER *jump_buff);\nvoid mylongjump(MY_JUMP_BUFFER *jump_buff,unsigned int code);\n\n#define setjmp(a)\t\t\tmysetjump(&a)\n#define longjmp(a,b)\t\tmylongjump(&a,b)\ntypedef MY_JUMP_BUFFER* jmp_buf;\n*/\n#include \"lazy_flg.h\"\n\n#define BX_SREG_ES    0\n#define BX_SREG_CS    1\n#define BX_SREG_SS    2\n#define BX_SREG_DS    3\n#define BX_SREG_FS    4\n#define BX_SREG_GS    5\n\n// segment register encoding\n#define BX_SEG_REG_ES    0\n#define BX_SEG_REG_CS    1\n#define BX_SEG_REG_SS    2\n#define BX_SEG_REG_DS    3\n#define BX_SEG_REG_FS    4\n#define BX_SEG_REG_GS    5\n#define BX_SEG_REG_NULL  8\n#define BX_NULL_SEG_REG(seg) ((seg) & BX_SEG_REG_NULL)\n\n\n#ifdef BX_LITTLE_ENDIAN\n#define BX_REG8L_OFFSET 0\n#define BX_REG8H_OFFSET 1\n#define BX_REG16_OFFSET 0\n#else // BX_BIG_ENDIAN\n#define BX_REG8L_OFFSET 3\n#define BX_REG8H_OFFSET 2\n#define BX_REG16_OFFSET 2\n#endif // ifdef BX_LITTLE_ENDIAN\n\n#define BX_8BIT_REG_AL  0\n#define BX_8BIT_REG_CL  1\n#define BX_8BIT_REG_DL  2\n#define BX_8BIT_REG_BL  3\n#define BX_8BIT_REG_AH  4\n#define BX_8BIT_REG_CH  5\n#define BX_8BIT_REG_DH  6\n#define BX_8BIT_REG_BH  7\n\n#define BX_16BIT_REG_AX 0\n#define BX_16BIT_REG_CX 1\n#define BX_16BIT_REG_DX 2\n#define BX_16BIT_REG_BX 3\n#define BX_16BIT_REG_SP 4\n#define BX_16BIT_REG_BP 5\n#define BX_16BIT_REG_SI 6\n#define BX_16BIT_REG_DI 7\n\n#define BX_32BIT_REG_EAX 0\n#define BX_32BIT_REG_ECX 1\n#define BX_32BIT_REG_EDX 2\n#define BX_32BIT_REG_EBX 3\n#define BX_32BIT_REG_ESP 4\n#define BX_32BIT_REG_EBP 5\n#define BX_32BIT_REG_ESI 6\n#define BX_32BIT_REG_EDI 7\n\n#if (X86CPU_MSWIN_MSDOS==1)\n#define program_visible_gen_reg\t\t\tprogram_visible_register.gen_reg\n#define program_visible_sregs\t\t\tprogram_visible_register.sregs\n#define program_visible_eip\t\t\t\tprogram_visible_register.eip\n#define program_visible_eflags\t\t\tprogram_visible_register.eflags\n#endif\n\n#if defined(NEED_CPU_REG_SHORTCUTS)\n\n/* WARNING: \n   Only BX_CPU_C member functions can use these shortcuts safely!\n   Functions that use the shortcuts outside of BX_CPU_C might work \n   when BX_USE_CPU_SMF=1 but will fail when BX_USE_CPU_SMF=0\n   (for example in SMP mode).\n*/\n\n// access to 8 bit general registers\n#define X86_AL (BX_CPU_THIS_PTR program_visible_gen_reg[0].word.byte.rl)\n#define X86_CL (BX_CPU_THIS_PTR program_visible_gen_reg[1].word.byte.rl)\n#define X86_DL (BX_CPU_THIS_PTR program_visible_gen_reg[2].word.byte.rl)\n#define X86_BL (BX_CPU_THIS_PTR program_visible_gen_reg[3].word.byte.rl)\n#define X86_AH (BX_CPU_THIS_PTR program_visible_gen_reg[0].word.byte.rh)\n#define X86_CH (BX_CPU_THIS_PTR program_visible_gen_reg[1].word.byte.rh)\n#define X86_DH (BX_CPU_THIS_PTR program_visible_gen_reg[2].word.byte.rh)\n#define X86_BH (BX_CPU_THIS_PTR program_visible_gen_reg[3].word.byte.rh)\n\n\n// access to 16 bit general registers\n#define X86_AX (BX_CPU_THIS_PTR program_visible_gen_reg[0].word.rx)\n#define X86_CX (BX_CPU_THIS_PTR program_visible_gen_reg[1].word.rx)\n#define X86_DX (BX_CPU_THIS_PTR program_visible_gen_reg[2].word.rx)\n#define X86_BX (BX_CPU_THIS_PTR program_visible_gen_reg[3].word.rx)\n#define X86_SP (BX_CPU_THIS_PTR program_visible_gen_reg[4].word.rx)\n#define X86_BP (BX_CPU_THIS_PTR program_visible_gen_reg[5].word.rx)\n#define X86_SI (BX_CPU_THIS_PTR program_visible_gen_reg[6].word.rx)\n#define X86_DI (BX_CPU_THIS_PTR program_visible_gen_reg[7].word.rx)\n\n// access to 16 bit instruction pointer\n#define X86_IP (* (Bit16u *) (((Bit8u *) &BX_CPU_THIS_PTR program_visible_eip) + BX_REG16_OFFSET))\n\n// accesss to 32 bit general registers\n#define X86_EAX BX_CPU_THIS_PTR program_visible_gen_reg[0].erx\n#define X86_ECX BX_CPU_THIS_PTR program_visible_gen_reg[1].erx\n#define X86_EDX BX_CPU_THIS_PTR program_visible_gen_reg[2].erx\n#define X86_EBX BX_CPU_THIS_PTR program_visible_gen_reg[3].erx\n#define X86_ESP BX_CPU_THIS_PTR program_visible_gen_reg[4].erx\n#define X86_EBP BX_CPU_THIS_PTR program_visible_gen_reg[5].erx\n#define X86_ESI BX_CPU_THIS_PTR program_visible_gen_reg[6].erx\n#define X86_EDI BX_CPU_THIS_PTR program_visible_gen_reg[7].erx\n\n// access to 32 bit instruction pointer\n#define X86_EIP BX_CPU_THIS_PTR program_visible_eip\n\n// access to 64 bit instruction pointer\n#if BX_SUPPORT_X86_64==1\n#define X86_RIP BX_CPU_THIS_PTR program_visible_eip\n#define RIP\t\tBX_CPU_THIS_PTR program_visible_eip\n#endif\n\n\n#define BX_READ_8BIT_REG(index)  (*(BX_CPU_THIS_PTR bytes_ptr[index]))\n#define BX_READ_16BIT_REG(index) (BX_CPU_THIS_PTR program_visible_gen_reg[index].word.rx)\n#define BX_READ_32BIT_REG(index) (BX_CPU_THIS_PTR program_visible_gen_reg[index].erx)\n\n#define BX_READ_16BIT_BASE_REG(var, index) { var = *BX_CPU_THIS_PTR _16bit_base_reg[index]; }\n\n#define BX_READ_16BIT_INDEX_REG(var, index) { var = *BX_CPU_THIS_PTR _16bit_index_reg[index]; }\n\n#define BX_WRITE_8BIT_REG(index, val) {*(BX_CPU_THIS_PTR bytes_ptr[index]) = val; }\n\n#define BX_WRITE_16BIT_REG(index, val) { BX_CPU_THIS_PTR program_visible_gen_reg[index].word.rx = val; }\n#define BX_WRITE_32BIT_REG(index, val) { BX_CPU_THIS_PTR program_visible_gen_reg[index].erx = val; }\n\n\n\n//===========================================================================\n#define BX_CPU_CLASS_PTR\ticpu->\n#define BX_CPU_CLASS\t\ticpu\n\n// access to 8 bit general registers\n#define RW_AL (BX_CPU_CLASS_PTR program_visible_gen_reg[0].word.byte.rl)\n#define RW_CL (BX_CPU_CLASS_PTR program_visible_gen_reg[1].word.byte.rl)\n#define RW_DL (BX_CPU_CLASS_PTR program_visible_gen_reg[2].word.byte.rl)\n#define RW_BL (BX_CPU_CLASS_PTR program_visible_gen_reg[3].word.byte.rl)\n#define RW_AH (BX_CPU_CLASS_PTR program_visible_gen_reg[0].word.byte.rh)\n#define RW_CH (BX_CPU_CLASS_PTR program_visible_gen_reg[1].word.byte.rh)\n#define RW_DH (BX_CPU_CLASS_PTR program_visible_gen_reg[2].word.byte.rh)\n#define RW_BH (BX_CPU_CLASS_PTR program_visible_gen_reg[3].word.byte.rh)\n\n\n// access to 16 bit general registers\n#define RW_AX (BX_CPU_CLASS_PTR program_visible_gen_reg[0].word.rx)\n#define RW_CX (BX_CPU_CLASS_PTR program_visible_gen_reg[1].word.rx)\n#define RW_DX (BX_CPU_CLASS_PTR program_visible_gen_reg[2].word.rx)\n#define RW_BX (BX_CPU_CLASS_PTR program_visible_gen_reg[3].word.rx)\n#define RW_SP (BX_CPU_CLASS_PTR program_visible_gen_reg[4].word.rx)\n#define RW_BP (BX_CPU_CLASS_PTR program_visible_gen_reg[5].word.rx)\n#define RW_SI (BX_CPU_CLASS_PTR program_visible_gen_reg[6].word.rx)\n#define RW_DI (BX_CPU_CLASS_PTR program_visible_gen_reg[7].word.rx)\n\n// access to 16 bit instruction pointer\n#define RW_IP (* (Bit16u *) (((Bit8u *) &BX_CPU_CLASS_PTR program_visible_eip) + BX_REG16_OFFSET))\n\n// accesss to 32 bit general registers\n#define RW_EAX BX_CPU_CLASS_PTR program_visible_gen_reg[0].erx\n#define RW_ECX BX_CPU_CLASS_PTR program_visible_gen_reg[1].erx\n#define RW_EDX BX_CPU_CLASS_PTR program_visible_gen_reg[2].erx\n#define RW_EBX BX_CPU_CLASS_PTR program_visible_gen_reg[3].erx\n#define RW_ESP BX_CPU_CLASS_PTR program_visible_gen_reg[4].erx\n#define RW_EBP BX_CPU_CLASS_PTR program_visible_gen_reg[5].erx\n#define RW_ESI BX_CPU_CLASS_PTR program_visible_gen_reg[6].erx\n#define RW_EDI BX_CPU_CLASS_PTR program_visible_gen_reg[7].erx\n\n// access to 32 bit instruction pointer\n#define RW_EIP BX_CPU_CLASS_PTR program_visible_eip\n\n\n#define READ_VIRTUAL_8BIT_REG(index)  (*(BX_CPU_CLASS_PTR bytes_ptr[index]))\n#define READ_VIRTUAL_16BIT_REG(index) (BX_CPU_CLASS_PTR program_visible_gen_reg[index].word.rx)\n#define READ_VIRTUAL_32BIT_REG(index) (BX_CPU_CLASS_PTR program_visible_gen_reg[index].erx)\n\n#define WRITE_VIRTUAL_8BIT_REG(index, val) { *(BX_CPU_CLASS_PTR bytes_ptr[index]) = val; }\n\n#define WRITE_VIRTUAL_16BIT_REG(index, val) { BX_CPU_CLASS_PTR program_visible_gen_reg[index].word.rx = val; }\n#define WRITE_VIRTUAL_32BIT_REG(index, val) { BX_CPU_CLASS_PTR program_visible_gen_reg[index].erx = val; }\n\n//#define WRITE_VIRTUAL_BYTE(seg,offset,data)\t\tBX_CPU_THIS_PTR write_virtual_byte(seg,offset,data)\n#define WRITE_VIRTUAL_BYTE\t\tBX_CPU_CLASS_PTR write_virtual_byte\n#define WRITE_VIRTUAL_WORD\t\tBX_CPU_CLASS_PTR write_virtual_word\n#define WRITE_VIRTUAL_DWORD\t\tBX_CPU_CLASS_PTR write_virtual_dword\n#define READ_VIRTUAL_BYTE\t\tBX_CPU_CLASS_PTR read_virtual_byte\n#define READ_VIRTUAL_WORD\t\tBX_CPU_CLASS_PTR read_virtual_word\n#define READ_VIRTUAL_DWORD\t\tBX_CPU_CLASS_PTR read_virtual_dword\n\n#define READ_RMW_VIRTUAL_BYTE\t\tBX_CPU_CLASS_PTR read_RMW_virtual_byte\n#define READ_RMW_VIRTUAL_WORD\t\tBX_CPU_CLASS_PTR read_RMW_virtual_word\n#define READ_RMW_VIRTUAL_DWORD\t\tBX_CPU_CLASS_PTR read_RMW_virtual_dword\n#define WRITE_RMW_VIRTUAL_BYTE\t\tBX_CPU_CLASS_PTR write_RMW_virtual_byte\n#define WRITE_RMW_VIRTUAL_WORD\t\tBX_CPU_CLASS_PTR write_RMW_virtual_word\n#define WRITE_RMW_VIRTUAL_DWORD\t\tBX_CPU_CLASS_PTR write_RMW_virtual_dword\n\n\n#define RW_IOPL\t\t\tBX_CPU_CLASS_PTR eflags.iopl\n\n#ifndef RW_CPL\n#define RW_CPL  (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl)\n#endif\n\n\n//===========================================================================\n\n#define X86_IOPL\t\t\tBX_CPU_THIS_PTR eflags.iopl\n\n#ifndef CPL\n#define CPL  (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl)\n#endif\n\n\n#endif  // defined(NEED_CPU_REG_SHORTCUTS)\n\n\n//\t\t\t\t\t\t\tʽµж쳣\n\t\t\n//\t\tǷ\t\t\t\t\t˵\t\t\t\t\t\tԴ \n#define BX_DE_EXCEPTION   0 // Divide Error (fault)\n#define BX_DB_EXCEPTION   1 // Debug (fault/trap)\n#define BX_BP_EXCEPTION   3 // Breakpoint (trap)\n#define BX_OF_EXCEPTION   4 // Overflow (trap)\n#define BX_BR_EXCEPTION   5 // BOUND (fault)\n#define BX_UD_EXCEPTION   6\n#define BX_NM_EXCEPTION   7\n#define BX_DF_EXCEPTION   8\n#define BX_TS_EXCEPTION  10\n#define BX_NP_EXCEPTION  11\n#define BX_SS_EXCEPTION  12\n#define BX_GP_EXCEPTION  13\n#define BX_PF_EXCEPTION  14\n#define BX_MF_EXCEPTION  16\n#define BX_AC_EXCEPTION  17\n\n/*\n#define X86_DE_EXCEPTION //(\\) int 0x00 ޴ #DE\n#define X86_DB_EXCEPTION //߽(BOUNDָ) int 0x05 ޴ #BR\n#define X86_BP_EXCEPTION \n#define X86_OF_EXCEPTION \n#define X86_BR_EXCEPTION \n#define X86_UD_EXCEPTION //Ƿָ int 0x06 ޴ #UD\n#define X86_NM_EXCEPTION //Э int 0x07 ޴ #NM\n#define X86_DF_EXCEPTION //˫ع int 0x08 errorcode #DF()\n//\t\t\t\t\t\t//ϵͳس:ҳж\n\n#define X86_TS_EXCEPTION //ǷTSS int 0x0a errorcode #TS()\n#define X86_NP_EXCEPTION //βڹ int 0x0b errorcode #NP\n#define X86_SS_EXCEPTION //ջι int 0x0c errorcode #SS\n#define X86_GP_EXCEPTION //һ㱣 int 0x0d errorcode #GP()\n//\t\t\t\t\t\t//вһ쳣ıΥ\n//\t\t\t\t\t\t//һһ㱣쳣\n#define X86_PF_EXCEPTION //ҳ int 0x0e errorcode #PF(fault-code)\n// \t\t\t\t\t\t//CR2Ĵд\n//\t\t\t\t\t\t//쳣ķеԵַ\n#define X86_MF_EXCEPTION //Э int 0x10 ޴ #MF\n#define X86_AC_EXCEPTION //Any data reference in memory\tint 0x11 ޴ #AC\n#define X86_MC_EXCEPTION //Model dependent machine check errors int 0x12 #MC\n#define X86_XF_EXCEPTION //Floating-Point\tNumeric ErrorSSE and SSE2 floating-point\n//\t\t\t\t\t\t\t//instructions. int 0x13 #XF\n#define X86_HF_EXCEPTION //ش󣬴ֹͣ\n//\t\t\t\t\t\t//ϵͳس:ҳж\n\n\n//CODE SEGMENT and DATA SEGMENT type define // ֻ;/д;չ;ִֻ;ִ/;;ѷ;\n#define CODE_DATA_SEGMENT_R\t\t\t0x0\t\t// ֻ;\n#define CODE_DATA_SEGMENT_RA\t\t0x1\t\t// ֻ;ѷ;\n#define CODE_DATA_SEGMENT_RW\t\t0x2\t\t// /д;\n#define CODE_DATA_SEGMENT_RWA\t\t0x3\t\t// /д;ѷ;\n#define CODE_DATA_SEGMENT_RD\t\t0x4\t\t// ֻ;չ;\n#define CODE_DATA_SEGMENT_RDA\t\t0x5\t\t// ֻ;չ;ѷ;\n#define CODE_DATA_SEGMENT_RWD\t\t0x6\t\t// /д;չ;\n#define CODE_DATA_SEGMENT_RWDA\t\t0x7\t\t// /д;չ;ѷ;\n#define CODE_DATA_SEGMENT_E\t\t\t0x8\t\t// ִֻ;\n#define CODE_DATA_SEGMENT_EA\t\t0x9\t\t// ִֻ;ѷ;\n#define CODE_DATA_SEGMENT_ER\t\t0xa\t\t// ִ/;\n#define CODE_DATA_SEGMENT_ERA\t\t0xb\t\t// ִ/;ѷ;\n#define CODE_DATA_SEGMENT_EC\t\t0xc\t\t// ִֻ;;\n#define CODE_DATA_SEGMENT_ECA\t\t0xd\t\t// ִֻ;;ѷ;\n#define CODE_DATA_SEGMENT_ERC\t\t0xe\t\t// ִ/;;\n#define CODE_DATA_SEGMENT_ERCA\t\t0xf\t\t// ִ/;;ѷ;\n\n//SYSTEM SEGMENT and SYSTEM GATE type define\t// ;16λ;32λ;TSS();LDT;TSS(æ);;;ж;;\n#define SYSTEM_SEGMENT_UNDEFINE0x0\t\t0x0\t\t// ;\n#define SYSTEM_SEGMENT_286TSS\t\t\t0x1\t\t// 16λTSS();\n#define SYSTEM_SEGMENT_LDT\t\t\t\t0x2\t\t// LDT;\n#define SYSTEM_SEGMENT_286TSS_BUSY\t\t0x3\t\t// 16λTSS(æ);\n#define SYSTEM_GATE_286CALL\t\t\t\t0x4\t\t// 16λ;\n#define SYSTEM_GATE_TASK\t\t\t\t0x5\t\t// ;\n#define SYSTEM_GATE_286INT\t\t\t\t0x6\t\t// 16λж;\n#define SYSTEM_GATE_286TRAP\t\t\t\t0x7\t\t// 16λ;\n#define SYSTEM_SEGMENT_UNDEFINE0x8\t\t0x8\t\t// ;\n#define SYSTEM_SEGMENT_386TSS\t\t\t0x9\t\t// 32λTSS();\n#define SYSTEM_SEGMENT_UNDEFINE0xA\t\t0xA\t\t// ;\n#define SYSTEM_SEGMENT_386TSS_BUSY\t\t0xB\t\t// 32λTSS(æ);\n#define SYSTEM_GATE_386CALL\t\t\t\t0xC\t\t// 32λ;\n#define SYSTEM_SEGMENT_UNDEFINE0xD\t\t0xD\t\t// ;\n#define SYSTEM_GATE_386INT\t\t\t\t0xE\t\t// 32λж;\n#define SYSTEM_GATE_386TRAP\t\t\t\t0xF\t\t// 32λ;\n\n\t{M_E, C_JtO,\tD__Jb,\t D__NONE, D__NONE, \t\"JO\"    },//0x70,\n\t{M_E, C_JfO,\tD__Jb,\t D__NONE, D__NONE, \t\"JNO\"   },//0x71,\n\t{M_E, C_JtC,\tD__Jb,\t D__NONE, D__NONE, \t\"JB\"    },//0x72,\n\t{M_E, C_JtC,\tD__Jb,\t D__NONE, D__NONE, \t\"JC\"    },//0x72,\n\t{M_E, C_JtC,\tD__Jb,\t D__NONE, D__NONE, \t\"JNAE\"  },//0x72,\n\t{M_E, C_JfC,\tD__Jb,\t D__NONE, D__NONE, \t\"JAE\"   },//0x73,\n\t{M_E, C_JfC,\tD__Jb,\t D__NONE, D__NONE, \t\"JNB\"   },//0x73,\n\t{M_E, C_JfC,\tD__Jb,\t D__NONE, D__NONE, \t\"JNC\"   },//0x73,\n\t{M_E, C_JtZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JE\"    },//0x74,\n\t{M_E, C_JtZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JZ\"    },//0x74,\n\t{M_E, C_JfZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JNE\"   },//0x75,\n\t{M_E, C_JfZ,\tD__Jb,\t D__NONE, D__NONE, \t\"JNZ\"   },//0x75,\n\t{M_E, C_JfA,\tD__Jb,\t D__NONE, D__NONE, \t\"JBE\"   },//0x76,\n\t{M_E, C_JfA,\tD__Jb,\t D__NONE, D__NONE, \t\"JNA\"   },//0x76,\n\t{M_E, C_JtA,\tD__Jb,\t D__NONE, D__NONE, \t\"JA\"    },//0x77,\n\t{M_E, C_JtA,\tD__Jb,\t D__NONE, D__NONE, \t\"JNBE\"  },//0x77,\n\t{M_E, C_JtS,\tD__Jb,\t D__NONE, D__NONE, \t\"JS\"    },//0x78,\n\t{M_E, C_JfS,\tD__Jb,\t D__NONE, D__NONE, \t\"JNS\"   },//0x79,\n\t{M_E, C_JtP,\tD__Jb,\t D__NONE, D__NONE, \t\"JP\"    },//0x7a,\n\t{M_E, C_JtP,\tD__Jb,\t D__NONE, D__NONE, \t\"JPE\"   },//0x7a,\n\t{M_E, C_JfP,\tD__Jb,\t D__NONE, D__NONE, \t\"JNP\"   },//0x7b,\n\t{M_E, C_JfP,\tD__Jb,\t D__NONE, D__NONE, \t\"JPO\"   },//0x7b,\n\t{M_E, C_JtL,\tD__Jb,\t D__NONE, D__NONE, \t\"JL\"    },//0x7c,\n\t{M_E, C_JtL,\tD__Jb,\t D__NONE, D__NONE, \t\"JNGE\"  },//0x7c,\n\t{M_E, C_JfL,\tD__Jb,\t D__NONE, D__NONE, \t\"JGE\"   },//0x7d,\n\t{M_E, C_JfL,\tD__Jb,\t D__NONE, D__NONE, \t\"JNL\"   },//0x7d,\n\t{M_E, C_JfG,\tD__Jb,\t D__NONE, D__NONE, \t\"JLE\"   },//0x7e,\n\t{M_E, C_JfG,\tD__Jb,\t D__NONE, D__NONE, \t\"JNG\"   },//0x7e,\n\t{M_E, C_JtG,\tD__Jb,\t D__NONE, D__NONE, \t\"JG\"\t},//0x7f,\n\t{M_E, C_JtG,\tD__Jb,\t D__NONE, D__NONE, \t\"JNLE\"  },//0x7f,\n*/\n\n\n/* MSR registers */\n#define BX_MSR_P5_MC_ADDR\t0x0000\n#define BX_MSR_MC_TYPE\t\t0x0001\n#define BX_MSR_TSC\t\t\t0x0010\n#define BX_MSR_CESR\t\t\t0x0011\n#define BX_MSR_CTR0\t\t\t0x0012\n#define BX_MSR_CTR1\t\t\t0x0013\n#define BX_MSR_APICBASE\t\t0x001b\n#define BX_MSR_EBL_CR_POWERON\t0x002a\n#define BX_MSR_TEST_CTL\t\t\t0x0033\n#define BX_MSR_BIOS_UPDT_TRIG\t0x0079\n#define BX_MSR_BBL_CR_D0\t0x0088\n#define BX_MSR_BBL_CR_D1\t0x0089\n#define BX_MSR_BBL_CR_D2\t0x008a\n#define BX_MSR_BBL_CR_D3\t0x008b\t/* = BIOS_SIGN */\n#define BX_MSR_PERFCTR0\t\t0x00c1\n#define BX_MSR_PERFCTR1\t\t0x00c2\n#define BX_MSR_MTRRCAP\t\t0x00fe\n#define BX_MSR_BBL_CR_ADDR\t0x0116\n#define BX_MSR_BBL_DECC\t\t0x0118\n#define BX_MSR_BBL_CR_CTL\t0x0119\n#define BX_MSR_BBL_CR_TRIG\t0x011a\n#define BX_MSR_BBL_CR_BUSY\t0x011b\n#define BX_MSR_BBL_CR_CTL3\t0x011e\n#define BX_MSR_MCG_CAP\t\t0x0179\n#define BX_MSR_MCG_STATUS\t0x017a\n#define BX_MSR_MCG_CTL\t\t0x017b\n#define BX_MSR_EVNTSEL0\t\t0x0186\n#define BX_MSR_EVNTSEL1\t\t0x0187\n#define BX_MSR_DEBUGCTLMSR\t0x01d9\n#define BX_MSR_LASTBRANCHFROMIP\t0x01db\n#define BX_MSR_LASTBRANCHTOIP\t0x01dc\n#define BX_MSR_LASTINTOIP\t\t0x01dd\n#define BX_MSR_ROB_CR_BKUPTMPDR6\t0x01e0\n#define BX_MSR_MTRRPHYSBASE0\t0x0200\n#define BX_MSR_MTRRPHYSMASK0\t0x0201\n#define BX_MSR_MTRRPHYSBASE1\t0x0202\n\ntypedef struct\n{\n  /* 31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16\n   * ==|==|=====|==|==|==|==|==|==|==|==|==|==|==|==\n   *  0| 0| 0| 0| 0| 0| 0| 0| 0| 0|ID|VP|VF|AC|VM|RF\n   *\n   * 15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1| 0\n   * ==|==|=====|==|==|==|==|==|==|==|==|==|==|==|==\n   *  0|NT| IOPL|OF|DF|IF|TF|SF|ZF| 0|AF| 0|PF| 1|CF\n   */\n\n\t// In order to get access to these fields from the Dynamic Translation\n\t// code, using only 8bit offsets, I needed to move these fields\n\t// together.\n\tunsigned cf;\n\tunsigned pf;\n\tunsigned af;\n\tunsigned zf;\n\tunsigned sf;\n\tunsigned of;\n\n\tBoolean bit1;\n\tBoolean bit3;\n\tBoolean bit5;\n\tBoolean tf;\n\tBoolean if_;\n\tBoolean df;\n\n#if BX_CPU_LEVEL >= 2\n\tBit8u   iopl;\n\tBoolean nt;\n#endif\n\tBoolean bit15;\n#if BX_CPU_LEVEL >= 3\n\tBoolean rf;\n\tBoolean vm;\n#endif\n#if BX_CPU_LEVEL >= 4\n\tBoolean ac;  // alignment check\n\t// Boolean vif; // Virtual Interrupt Flag\n\t// Boolean vip; // Virtual Interrupt Pending\n\tBoolean id;  // late model 486 and beyond had CPUID\n#endif\n\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tunsigned of:8;\n\t\t\tunsigned cf:1; //0\n\t\t\tunsigned b1:1; //1\n\t\t\tunsigned pf:1; //2\n\t\t\tunsigned b3:1; //3\n\t\t\tunsigned af:1; //4\n\t\t\tunsigned b5:1; //5\n\t\t\tunsigned zf:1; //6\n\t\t\tunsigned sf:1; //7\n\t\t}Descr;\n\n\t\tstruct\n\t\t{\n\t\t\tBit8u seto;\n\t\t\tBit8u lahf;\n\t\t}Word;\n\n\t\tBit32u\teax;\n\n\t} x86;\n\t\n} bx_flags_reg_t;\n\n\n#if BX_CPU_LEVEL >= 2\ntypedef struct\n{\n\tBit32u  val32; // 32bit value of register\n\n\t// bitfields broken out for efficient access\n#if BX_CPU_LEVEL >= 3\n\tBoolean pg; // paging\n#endif\n\n// CR0 notes:\n//   Each x86 level has its own quirks regarding how it handles\n//   reserved bits.  I used DOS DEBUG.EXE in real mode on the\n//   following processors, tried to clear bits 1..30, then tried\n//   to set bits 1..30, to see how these bits are handled.\n//   I found the following:\n//\n//   Processor    try to clear bits 1..30    try to set bits 1..30\n//   386          7FFFFFF0                   7FFFFFFE\n//   486DX2       00000010                   6005003E\n//   Pentium      00000010                   7FFFFFFE\n//   Pentium-II   00000010                   6005003E\n//\n// My assumptions:\n//   All processors: bit 4 is hardwired to 1 (not true on all clones)\n//   386: bits 5..30 of CR0 are also hardwired to 1\n//   Pentium: reserved bits retain value set using mov cr0, reg32\n//   486DX2/Pentium-II: reserved bits are hardwired to 0\n\n#if BX_CPU_LEVEL >= 4\n\tBoolean cd; // cache disable\n\tBoolean nw; // no write-through\n\tBoolean am; // alignment mask\n\tBoolean wp; // write-protect\n\tBoolean ne; // numerics exception\n#endif\n\n\tBoolean ts; // task switched\n\tBoolean em; // emulate math coprocessor\n\tBoolean mp; // monitor coprocessor\n\tBoolean pe; // protected mode enable\n} bx_cr0_t;\n#endif\n\n#if BX_CPU_LEVEL >= 5\ntypedef struct\n{\n\tBit8u p5_mc_addr;\n\tBit8u p5_mc_type;\n\tBit8u tsc;\n\tBit8u cesr;\n\tBit8u ctr0;\n\tBit8u ctr1;\n\tBit64u apicbase;\n\t/* TODO finish of the others */\n} bx_regs_msr_t;\n#endif\n\ntypedef struct\n{\t/* bx_selector_t */\n\tBit16u value;   /* the 16bit value of the selector */\n#if BX_CPU_LEVEL >= 2\n    /* the following fields are extracted from the value field in protected\n       mode only.  They're used for sake of efficiency */\n\tBit16u index;   /* 13bit index extracted from value in protected mode */\n\tBit8u  ti;      /* table indicator bit extracted from value */\n\tBit8u  rpl;     /* RPL extracted from value */\n\tBoolean cpl__3; // system status or user status\n#endif\n} bx_selector_t;\n\ntypedef struct\n{\n\tBoolean valid;         /* 0 = invalid, 1 = valid */\n\tBoolean p;             /* present */\n\tBit8u   dpl;           /* descriptor privilege level 0..3 */\n\tBoolean segment;       /* 0 = system/gate, 1 = data/code segment */\n\tBit8u   type;          /* For system & gate descriptors, only\n\t                      *  0 = invalid descriptor (reserved)\n                          *  1 = 286 available Task State Segment (TSS)\n                          *  2 = LDT descriptor\n                          *  3 = 286 busy Task State Segment (TSS)\n                          *  4 = 286 call gate\n                          *  5 = task gate\n                          *  6 = 286 intel_interrupt gate\n                          *  7 = 286 trap gate\n                          *  8 = (reserved)\n                          *  9 = 386 available TSS\n                          * 10 = (reserved)\n                          * 11 = 386 busy TSS\n                          * 12 = 386 call gate\n                          * 13 = (reserved)\n                          * 14 = 386 intel_interrupt gate\n                          * 15 = 386 trap gate */\n\tBit8u AR_byte;\n\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tBoolean executable;    /* 1=code, 0=data or stack segment */\n\t\t\tBoolean c_ed;          /* for code: 1=conforming,\n\t\t\t\t\t\t\t\t\t  for data/stack: 1=expand down */\n\t\t\tBoolean r_w;           /* for code: readable?, for data/stack: writeable? */\n\t\t\tBoolean a;             /* accessed? */\n\t\t\tBit32u  base;          /* base address: 286=24bits, 386=32bits */\n\t\t\tBit32u  limit;         /* limit: 286=16bits, 386=20bits */\n\t\t\tBit32u  limit_scaled;  /* for efficiency, this contrived field is set to\n\t\t\t\t\t\t\t        * limit for byte granular, and\n\t\t\t\t\t\t\t\t\t* (limit << 12) | 0xfff for page granular seg's\n\t\t\t\t\t\t\t\t\t*/\n#if BX_CPU_LEVEL >= 3\n\t\t    Boolean g;             /* granularity: 0=byte, 1=4K (page) */\n\t\t\tBoolean d_b;           /* default size: 0=16bit, 1=32bit */\n\t\t\tBoolean avl;           /* available for use by system */\n#endif\n\t\t} segment;\n\n\t\tstruct\n\t\t{\n\t\t\tBit8u   word_count;    /* 5bits (0..31) #words to copy from caller's stack\n\t\t\t\t\t                * to called procedure's stack.  (call gates only)*/\n\t\t    Bit16u  dest_selector;\n\t\t\tBit16u  dest_offset;\n\t\t} gate286;\n\n\t\tstruct\n\t\t{\t\t\t               // type 5: Task Gate Descriptor\n\t\t\tBit16u  tss_selector;  // TSS segment selector\n\t\t} taskgate;\n\n#if BX_CPU_LEVEL >= 3\n\t\tstruct\n\t\t{\n\t\t\tBit8u   dword_count;   /* 5bits (0..31) #dwords to copy from caller's stack\n\t\t\t\t\t                * to called procedure's stack.  (call gates only)*/\n\t\t\tBit16u  dest_selector;\n\t\t\tBit32u  dest_offset;\n\t\t} gate386;\n#endif\n\t\tstruct\n\t\t{\n\t\t\tBit32u  base;          /* 24 bit 286 TSS base  */\n\t\t\tBit16u  limit;         /* 16 bit 286 TSS limit */\n\t\t} tss286;\n#if BX_CPU_LEVEL >= 3\n\t\tstruct\n\t\t{\n\t\t\tBit32u  base;          /* 32 bit 386 TSS base  */\n\t\t\tBit32u  limit;         /* 20 bit 386 TSS limit */\n\t\t\tBit32u  limit_scaled;  // Same notes as for 'segment' field\n\t\t\tBoolean g;             /* granularity: 0=byte, 1=4K (page) */\n\t\t\tBoolean avl;           /* available for use by system */\n\t\t} tss386;\n#endif\n\t\tstruct\n\t\t{\n\t\t\tBit32u  base;  /* 286=24 386+ =32 bit LDT base */\n\t\t\tBit16u  limit; /* 286+ =16 bit LDT limit */\n\t\t} ldt;\n\t} u;\n\n} bx_descriptor_t;\n\ntypedef struct\n{\n\tbx_selector_t  selector;\n\tbx_descriptor_t  cache;\n\tchar strseg[4];\n\tint exception_number;\n\n} bx_segment_reg_t;\n\n#if BX_USE_CPU_SMF == 0\n// normal member functions.  This can ONLY be used within BX_CPU_C classes.\n// Anyone on the outside should use the BX_CPU macro (defined in bochs.h) \n// instead.\n#  define BX_CPU_THIS_PTR\tthis->\n#  define BX_CPU_THIS\t\tthis\n#  define BX_SMF\n#  define BX_CPU_C_PREFIX\tBX_CPU_C::\n// with normal member functions, calling a member fn pointer looks like\n// object->*(fnptr)(arg, ...);\n// Since this is different from when SMF=1, encapsulate it in a macro.\n#  define BX_CPU_CALL_METHOD(func, args) BX_INSTR_OPCODE_BEGIN(BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.base + BX_CPU_THIS_PTR prev_eip); (((BxExecutePtr_t) (func))) args BX_INSTR_OPCODE_END(BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.base + BX_CPU_THIS_PTR prev_eip);\n#else\n// static member functions.  With SMF, there is only one CPU by definition.\n//#  define BX_CPU_THIS_PTR  BX_CPU(0)->\n\n#  define BX_CPU_THIS_PTR\tbx_cpu.\n#  define BX_CPU_THIS\t\t&bx_cpu\n#  define BX_SMF\t\t\tstatic\n#  define BX_CPU_C_PREFIX\n#  define BX_CPU_CALL_METHOD(func, args)   BX_INSTR_OPCODE_BEGIN(BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.base + BX_CPU_THIS_PTR prev_eip); ((BxExecutePtr_t) (func)) args; BX_INSTR_OPCODE_END (BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.base + BX_CPU_THIS_PTR prev_eip);\n#endif\n\n\ntypedef void * (*BxVoidFPtr_t)(void);\nclass BX_CPU_C;\nclass bxInstruction_c;\n\n#define OPCODEb1(i)\t\t\ti->i_b1\n#define OPCODEb2(i)\t\t\ti->i_b2\n#define MODRMrm(i)\t\t\ti->i_rm\n#define MODRMnnn(i)\t\t\ti->i_nnn\n#define MODRMSeg(i)\t\t\ti->i_seg\n#define IMMEDIATEIb(i)\t\ti->Word.i_Ib\n#define IMMEDIATEIw(i)\t\ti->i_Iw\n#define IMMEDIATEId(i)\t\ti->i_Id\n#define IMMEDIATEIb2(i)\t\ti->i_Ib2\n#define IMMEDIATEIw2(i)\t\ti->i_Iw2\n\nstruct bxReadWriteGuess\n{\n\tBit32u linear_address;\n\tBit32u remain_bytes;\n\tBit8u *host_page_ptr,*host_page_ptr1;\n\tBit32u *stamp_ptr,*stamp_ptr1;\n};\n\nclass bxInstruction_c\n{\npublic:\n\t// Function pointers; a function to resolve the modRM address\n\t// given the current state of the CPU and the instruction data,\n\t// and a function to execute the instruction after resolving\n\t// the memory address (if any).\n\n#if BX_USE_CPU_SMF\n//\tvoid (*ResolveModrm)(BX_CPU_C * , bxInstruction_c * );\n//\tvoid (*execute)(BX_CPU_C * , bxInstruction_c * );\n#else\n//\tvoid (BX_CPU_C::*ResolveModrm)(BX_CPU_C * , bxInstruction_c * );\n//\tvoid (BX_CPU_C::*execute)(BX_CPU_C * , bxInstruction_c * );\n#endif\n\n\tvoid (*ResolveModrm)(BX_CPU_C * , bxInstruction_c * );\n\tvoid (*execute)(BX_CPU_C * , bxInstruction_c * );\n\n\n#if BX_DYNAMIC_TRANSLATION\n\tBxVoidFPtr_t DTResolveModrm;\n#endif\n#if BX_DYNAMIC_TRANSLATION\n\tunsigned DTAttr;\n\tBit8u *   (*DTFPtr)(Bit8u *, bxInstruction_c *);\n\tunsigned DTMemRegsUsed;\n#endif\n\n\tBit8u i_b1;\t// opcode1 byte\n\tBit8u i_b2;\t// mod-nnn-r/m byte\n    Bit8u i_nnn;\n    Bit8u i_rm;\n\tBit8u i_bytes;\t// instruction bytes\n\tBit8u i_seg;\n\n\tshort ReadWriteGuess; //ָڴд²\n\n\tstruct\n\t{\n\t\tunsigned char os_32:1;\t// operand size is 32bit\n\t\tunsigned char as_32:1;\t// address size is 32bit\n\t}size_mode;\n\n\tunion\n\t{\n\t\tBit32u   i_Id;\n\t\tBit16u   i_Iw;\n\t\tstruct\n\t\t{\n\t\t\tBit8u\ti_Ib;\n\t\t\tBit8u\tshift;\n\t\t}Word;\n\t};\n\n\n\tunion\n\t{\n\t\tBit16u displ16u; // for 16-bit modrm forms\n\t\tBit32u displ32u; // for 32-bit modrm forms\n        Bit8u    i_Ib2; // for ENTER_IwIb\n        Bit16u   i_Iw2; // for JMP_Ap\n\t};\n\npublic:\n\n  BX_CPP_INLINE unsigned  as32B(void) {\n\t\treturn size_mode.as_32;\n\t}\n  BX_CPP_INLINE unsigned  os32B(void) {\n\t\treturn size_mode.os_32;\n\t}\n  BX_CPP_INLINE unsigned seg(void) {\n\t\treturn i_seg;\n  }\n  BX_CPP_INLINE unsigned b1(void) {\n\t\treturn i_b1;\n  }\n\n  // Note this is the highest field, and thus needs no masking.\n  // DON'T PUT ANY FIELDS HIGHER THAN THIS ONE WITHOUT ADDING A MASK.\n  BX_CPP_INLINE unsigned ilen(void) {\n      return i_bytes;\n      }\n\n  BX_CPP_INLINE unsigned modrm() { return i_b2; }\n  BX_CPP_INLINE unsigned mod() { return i_b2 & 0xc0; }\n  BX_CPP_INLINE unsigned modC0()\n    {\n    // This is a cheaper way to test for modRM instructions where\n    // the mod field is 0xc0.  FetchDecode flags this condition since\n    // it is quite common to be tested for.\n    return (i_b2>=0xc0);\n    }\n//  BX_CPP_INLINE unsigned nnn() {\n//      return nnn;\n//      }\n//  BX_CPP_INLINE unsigned rm()  { return rm; }\n\n};\n\ntypedef void (*BxVirtualToRealityPtr_t)(void);\n\n#if BX_USE_CPU_SMF\n//typedef void (*BxExecutePtr_t)(BX_CPU_C *,bxInstruction_c *);\ntypedef int  (*BxTranslatePtr_t)(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n#else\n//typedef void (BX_CPU_C::*BxExecutePtr_t)(BX_CPU_C *,bxInstruction_c *);\ntypedef int  (BX_CPU_C::*BxTranslatePtr_t)(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n#endif\n\ntypedef void (*BxExecutePtr_t)(BX_CPU_C *,bxInstruction_c *);\n\n\n// ========== iCache =============================================\n#define BX_SupportICache 0\n// ========== iCache =============================================\n\n#if BX_SupportICache\n\n#define BxICacheEntries (16*(4096))  // Must be a power of 2.\n  // bit31: 1=CS is 32/64-bit, 0=CS is 16-bit.\n  // bit30: 1=Long Mode, 0=not Long Mode.\n  // bit29: 1=iCache page, 0=Data.\n#define ICacheWriteStampInvalid   0x1fffffff\n#define ICacheWriteStampMax       0x1fffffff // Decrements from here.\n#define ICacheWriteStampMask      0x1fffffff\n\nclass bxICacheEntry_c {\n  public:\n\n  Bit32u pAddr;       // Physical address of the instruction.\n  Bit32u writeStamp;  // Generation ID.  Each write to a physical page\n                      // decrements this value.\n  bxInstruction_c i;  // The instruction decode information.\n  };\n\n#define BXREADWRITEMEMORYHOLES 16\n\nstruct bxReadWriteMemoryHole {\n  Bit32u front_dummy;\n  Bit8u bitMap[512];\t//512 * 8 = 4096\n  Bit32u dummy;\n  Bit32u LinearAddress;\n  Bit32u page;\n  int busy;\n};\n\nstruct bxPageHoleEntry {\n  Bit32u laddr;\n  Bit32u paddr;\n  Bit32u bitLen;\n  Bit8u bitMap[32];\n  Bit8u *pMaping;\n};\n\nclass bxICache_c {\n  public:\n\n  bxICacheEntry_c entry[BxICacheEntries/8];\n  bxReadWriteGuess guess[BxICacheEntries/8/4];\n  bxReadWriteGuess PushPop[32];\n\n  short iAllocStampEntry[BxICacheEntries];\n  short iAllocStamp;\n\n  bxReadWriteMemoryHole hole[BXREADWRITEMEMORYHOLES];\n  bxPageHoleEntry writeHoleEntries[128];\n\n  int iAllocHoleEntry;\n  int iAllocHole;\n  int iAllocGuess;\n\n  // A table (dynamically allocated) to store write-stamp\n  // generation IDs.  Each time a write occurs to a physical page,\n  // a generation ID is decremented.  Only iCache entries which have\n  // write stamps matching the physical page write stamp are valid.\n  Bit32u *pageWriteStampTable; // Allocated later.\n  Bit8u *pageWriteHoleTable; // Allocated later.\n  Bit8u *pageWriteHoleMaping; // Allocated later.\n\n  Bit32u  fetchModeMask;\n\n  bxICache_c()\n  {\n  }\n\n  ~bxICache_c()\n  {\n  }\n\n  BX_CPP_INLINE void  init(void) {\n    // Initially clear the iCache;\n    memset(this, 0, sizeof(*this));\n    pageWriteStampTable = NULL;\n    pageWriteHoleTable = NULL;\n\tiAllocHoleEntry = 0;\n\tunsigned i;\n    for (i=0; i<BxICacheEntries; i++) {\n      //entry[i].writeStamp = ICacheWriteStampInvalid;\n      iAllocStampEntry[i] = 0;\n      }\n    for (i=0; i<BXREADWRITEMEMORYHOLES; i++) {\n\t  hole[i].busy = 0;\n      }\n    }\n\n\tBX_CPP_INLINE void  exit(void)\n\t{\n\t\tif (pageWriteStampTable)\n\t\t{\n\t\t\tfree(pageWriteStampTable);\n\t\t\tpageWriteStampTable = NULL;\n\t\t}\n\n\t\tif (pageWriteHoleTable)\n\t\t{\n\t\t\tfree(pageWriteHoleTable);\n\t\t\tpageWriteHoleTable = NULL;\n\t\t}\n\t}\n\n  BX_CPP_INLINE void alloc(unsigned memSizeInBytes) {\n    unsigned i;\n\tpageWriteStampTable = (Bit32u*) malloc(sizeof(Bit32u) * (memSizeInBytes>>12));\n    for (i=0; i<(memSizeInBytes>>12); i++) {\n      pageWriteStampTable[i] = ICacheWriteStampInvalid;\n      }\n\n\tpageWriteHoleTable = (Bit8u*) malloc((memSizeInBytes>>12) + (memSizeInBytes>>12)/8);\n\tpageWriteHoleMaping = pageWriteHoleTable + (memSizeInBytes>>12);\n\tfor (i=0; i<(memSizeInBytes>>12) + (memSizeInBytes>>12)/8; i++) {\n      pageWriteHoleTable[i] = 0;\n      }\n    }\n\n  int gatherWriteHole(bxReadWriteMemoryHole *h);\n  bxReadWriteMemoryHole *allocWriteHole(Bit32u a20Addr);\n\n  BX_CPP_INLINE void decWriteHole(BX_CPU_C *cpu,Bit32u a20Addr,int bits = 15)\n  {\n\t  bxReadWriteMemoryHole *h;\n\n\t  h = hole + pageWriteHoleTable[a20Addr>>12];\n\n\t  if (h->page!=(a20Addr&0xffff000))\n\t  {\n\t\t h = allocWriteHole(a20Addr);\n\t  }\n\n#ifdef BX_BIG_ENDIAN\n\t  h->bitMap[((a20Addr&0xfff)>>3)] |= (bits<<(a20Addr&7));\n\t  h->bitMap[((a20Addr&0xfff)>>3)+1] |= (bits<<(a20Addr&7))>>8;\n#else\n\t  *(Bit16u*)&h->bitMap[((a20Addr&0xfff)>>3)] |= (bits<<(a20Addr&7));\n#endif\n  }\n\n  BX_CPP_INLINE void decWriteStamp(BX_CPU_C *cpu, Bit32u a20Addr);\n\n  BX_CPP_INLINE void clear(void) {\n    memset(this, 0, sizeof(*this));\n    }\n  BX_CPP_INLINE unsigned hash(Bit32u pAddr) {\n    // A pretty dumb hash function for now.\n    return pAddr & (BxICacheEntries-1);\n    }\n  BX_CPP_INLINE Bit32u createFetchModeMask(BX_CPU_C *cpu);\n  };\n#endif\n// ===============================================================\n\n\n#if BX_DYNAMIC_TRANSLATION\ntypedef Bit8u * (*BxDTASResolveModrm_t)(Bit8u *, bxInstruction_c *,\n  unsigned, unsigned);\n#endif\n\n//extern BxExecutePtr_t BxResolve32Mod1or2EffectAddressBaseIndexScaled[0x100];\n//extern BxExecutePtr_t BxResolve32Mod0EffectAddressBaseIndexScaled[0x100];\n\n#if BX_DYNAMIC_TRANSLATION\n// Arrays of function pointers which handle a specific\n// mod-rm address format\nextern BxDTASResolveModrm_t  BxDTResolve32Mod0[];\nextern BxDTASResolveModrm_t  BxDTResolve32Mod1or2[];\nextern BxDTASResolveModrm_t  BxDTResolve32Mod0Base[];\nextern BxDTASResolveModrm_t  BxDTResolve32Mod1or2Base[];\nextern BxDTASResolveModrm_t  BxDTResolve16Mod1or2[];\nextern BxDTASResolveModrm_t  BxDTResolve16Mod0[];\n#endif\n\n\n#if BX_CPU_LEVEL < 2\n  /* no GDTR or IDTR register in an 8086 */\n#else\ntypedef struct\n{\n\tBit32u                 base;      /* base address: 24bits=286,32bits=386 */\n\tBit16u                 limit;     /* limit, 16bits */\n} bx_global_segment_reg_t;\n#endif\n\n\n#if BX_USE_TLB\n\ntypedef struct\n{\n    Bit32u lpf; // linear page frame\n    Bit32u ppf; // physical page frame\n    Bit32u pte_addr; // Page Table Address for updating A & D bits\n    Bit32u combined_access;\n} bx_TLB_entry;\n\n#endif  // #if BX_USE_TLB\n\n\n#ifdef BX_BIG_ENDIAN\ntypedef struct\n{\n\tunion\n\t{\n\t\tBit32u erx;\n\t\tstruct\n\t\t{\n\t\t\tBit16u word_filler;\n\t\t\tunion\n\t\t\t{\n\t\t\t\tBit16u rx;\n\t\t\t\tstruct\n\t\t\t\t{\n\t\t\t\t\tBit8u rh;\n\t\t\t\t\tBit8u rl;\n\t\t\t\t} byte;\n\t\t\t};\n\t\t} word;\n\t};\n\n} bx_gen_reg_t;\n\n#else\ntypedef struct\n{\n\tunion\n\t{\n\t\tBit32u erx;\n\t\tstruct\n\t\t{\n\t\t\tunion\n\t\t\t{\n\t\t\t\tBit16u rx;\n\t\t\t\tstruct\n\t\t\t\t{\n\t\t\t\t\tBit8u rl;\n\t\t\t\t\tBit8u rh;\n\t\t\t\t} byte;\n\t\t\t};\n\t\t\tBit16u word_filler;\n\t\t} word;\n\t};\n\n} bx_gen_reg_t;\n\n#endif\n\ntypedef enum\n{\n\tAPIC_TYPE_NONE,\n\tAPIC_TYPE_IOAPIC,\n\tAPIC_TYPE_LOCAL_APIC\n} bx_apic_type_t;\n\n#define APIC_BASE_ADDR\t0xfee00000\t// default APIC address\n\n#if BX_SUPPORT_APIC\nclass bx_generic_apic_c //: public logfunctions\n{\nprotected:\n\tBit32u base_addr;\n\tBit8u id;\n#define APIC_UNKNOWN_ID 0xff\n#define APIC_VERSION_ID 0x00170011  // same version as 82093 IOAPIC\npublic:\n\tbx_generic_apic_c ();\n\tvirtual ~bx_generic_apic_c ();\n\tvirtual void init ();\n\tvirtual void hwreset () { }\n\tBit32u get_base (void) { return base_addr; }\n\tvoid set_base (Bit32u newbase);\n\tvoid set_id (Bit8u newid);\n\tBit8u get_id () { return id; }\n\tvirtual char *get_name();\n\tBoolean is_selected (Bit32u addr, Bit32u len);\n\tvoid read (Bit32u addr, void *data, unsigned len);\n\tvirtual void read_aligned(Bit32u address, Bit32u *data, unsigned len);\n\tvirtual void write(Bit32u address, Bit32u *value, unsigned len);\n\tvirtual void startup_msg (Bit32u _vector);\n\t// on local APIC, trigger means deliver to the CPU.\n\t// on I/O APIC, trigger means direct to another APIC according to table.\n\tvirtual void trigger_irq (unsigned num, unsigned from);\n\tvirtual void untrigger_irq (unsigned num, unsigned from);\n\tvirtual Bit32u get_delivery_bitmask (Bit8u dest, Bit8u dest_mode);\n\tvirtual Boolean deliver (Bit8u destination, Bit8u dest_mode, Bit8u delivery_mode, Bit8u _vector, Bit8u polarity, Bit8u trig_mode);\n\tvirtual Boolean match_logical_addr (Bit8u address);\n\tvirtual bx_apic_type_t get_type ();\n\tvirtual void set_arb_id (int newid);  // only implemented on local apics\n};\n\nclass bx_local_apic_c : public bx_generic_apic_c\n{\n#define BX_LOCAL_APIC_MAX_INTS 256\n\t// TMR=trigger mode register.  Cleared for edge-triggered interrupts\n\t// and set for level-triggered interrupts.  If set, local APIC must send\n\t// EOI message to all other APICs.  EOI's are not implemented.\n\tBit8u tmr[BX_LOCAL_APIC_MAX_INTS];\n\t// IRR=intel_interrupt request register.  When an intel_interrupt is triggered by\n\t// the I/O APIC or another processor, it sets a bit in irr.  The bit is\n\t// cleared when the intel_interrupt is acknowledged by the processor.\n\tBit8u irr[BX_LOCAL_APIC_MAX_INTS];\n\t// ISR=in-service register.  When an IRR bit is cleared, the corresponding\n\t// bit in ISR is set.  The ISR bit is cleared when \n\tBit8u isr[BX_LOCAL_APIC_MAX_INTS];\n\tBit32u arb_id, arb_priority, task_priority, log_dest, dest_format, spurious_vec;\n\tBit32u lvt[6];\n#define APIC_LVT_TIMER   0\n#define APIC_LVT_THERMAL 1\n#define APIC_LVT_PERFORM 2\n#define APIC_LVT_LINT0   3\n#define APIC_LVT_LINT1   4\n#define APIC_LVT_ERROR   5\n\tBit32u timer_initial, timer_current, timer_divconf;\n\tBoolean timer_active;  // internal state, not accessible from bus\n\tBit32u timer_divide_counter, timer_divide_factor;\n\tBit32u icr_high, icr_low;\n\tBit32u err_status;\n#define APIC_ERR_ILLEGAL_ADDR    0x80\n#define APIC_ERR_RX_ILLEGAL_VEC  0x40\n#define APIC_ERR_TX_ILLEGAL_VEC  0x20\n#define APIC_ERR_RX_ACCEPT_ERR   0x08\n#define APIC_ERR_TX_ACCEPT_ERR   0x04\n#define APIC_ERR_RX_CHECKSUM     0x02\n#define APIC_ERR_TX_CHECKSUM     0x01\npublic:\n\tbx_local_apic_c(BX_CPU_C *mycpu);\n\tvirtual ~bx_local_apic_c(void);\n\tBX_CPU_C *cpu;\n\tvirtual void hwreset ();\n\tvirtual void init ();\n\tBX_CPU_C *get_cpu (Bit8u id);\n\tvoid set_id (Bit8u newid);   // redefine to set cpu->name\n\tvirtual char *get_name();\n\tvirtual void write (Bit32u addr, Bit32u *data, unsigned len);\n\tvirtual void read_aligned(Bit32u address, Bit32u *data, unsigned len);\n\tvirtual void startup_msg (Bit32u _vector);\n\t// on local APIC, trigger means raise the CPU's INTR line.  For now\n\t// I also have to raise pc_system.INTR but that should be replaced\n\t// with the cpu-specific INTR signals.\n\tvirtual void trigger_irq (unsigned num, unsigned from);\n\tvirtual void untrigger_irq (unsigned num, unsigned from);\n\tBit8u acknowledge_int ();  // only the local CPU should call this\n\tint highest_priority_int (Bit8u *array);\n\tvoid service_local_apic ();\n\tvoid print_status ();\n\tvirtual Boolean match_logical_addr (Bit8u address);\n\tvirtual Boolean is_local_apic () { return true; }\n\tvirtual bx_apic_type_t get_type () { return APIC_TYPE_LOCAL_APIC; }\n\tvirtual Bit32u get_delivery_bitmask (Bit8u dest, Bit8u dest_mode);\n\tvirtual Boolean deliver (Bit8u destination, Bit8u dest_mode, Bit8u delivery_mode, Bit8u _vector, Bit8u polarity, Bit8u trig_mode);\n\tBit8u get_ppr ();\n\tBit8u get_apr ();\n\tvoid periodic (Bit32u usec_delta);\n\tvoid set_divide_configuration (Bit32u value);\n\tvirtual void update_msr_apicbase(Bit32u newaddr);\n\tvirtual void set_arb_id (int newid);\n};\n\n#define APIC_MAX_ID 16\nextern bx_generic_apic_c *apic_index[APIC_MAX_ID];\n#endif // if BX_SUPPORT_APIC\n\ntypedef void (*BxDTShim_t)(void);\n\n//====================================================\ntypedef struct _X86_SEGMENT_DESCRIPTOR  //descriptor\n{\n\tunsigned limit_L0:8;\n\tunsigned limit_L1:8;\n\tunsigned base_L0:8;\n\tunsigned base_L1:8;\n\tunsigned base_H0:8;\n\tunsigned TYPE:4;\t\t//type\n\tunsigned DT:1;\t\t\t//storage segment (value=1) system segment and system gate (value=0)\n\tunsigned DPL:2;\t\t\t//Descriptor Privilege Level\n\tunsigned P:1;\t\t\t//Present\n\tunsigned limit_H:4;\n\tunsigned AVL:1;\t//soft accessed\n\tunsigned    :1; //reseved (value=0)\n\tunsigned D:1; // segment size BIT31(1) BIT16(0) (storage segment)\n\tunsigned G:1; //Granularity\n\tunsigned base_H1:8;\n\t\n} X86_SEGMENT_DESCRIPTOR;\n\ntypedef struct _X86_GATE_DESCRIPTOR  //system  gate\n{\n\tunsigned offset_L0:8;\n\tunsigned offset_L1:8;\n\tunsigned select_L0:8;\n\tunsigned select_L1:8;\n\tunsigned dwordcount:5;\n\tunsigned\t  :3; // reseved (value=0)\n\tunsigned TYPE:4; //type\n\tunsigned DT:1;\t\t\t//storage segment (value=1) system segment and system gate (value=0)\n\tunsigned DPL:2;\t\t\t//Descriptor Privilege Level\n\tunsigned P:1;\t\t\t//Present\n\tunsigned offset_H0:8;\n\tunsigned offset_H1:8;\n\t\n} X86_GATE_DESCRIPTOR;\n\ntypedef struct _TASK16SEGMENT\n{\n\tBit16u TaskLink;\n\t//-------------\n\tBit16u SP0;\n\tBit16u SS0;\n\tBit16u SP1;\n\tBit16u SS1;\n\tBit16u SP2;\n\tBit16u SS2;\n\t//-------------\n\tBit16u ip;\n\tBit16u fl;\n\tBit16u ax;\n\tBit16u cx;\n\tBit16u dx;\n\tBit16u bx;\n\tBit16u sp;\n\tBit16u bp;\n\tBit16u si;\n\tBit16u di;\n\t//-------------\n\tBit16u ES;\n\tBit16u CS;\n\tBit16u SS;\n\tBit16u DS;\n\t//-------------\n\tBit16u LDT;\n\n} TASK16SEGMENT;\n\ntypedef struct _LOADALL286_DESCRIPTOR_T\n{\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tunsigned Base:24;\t//\t24bit segment line base address\n\t\t}All;\n\n\t\tstruct\n\t\t{\n\t\t\tunsigned byte0:8;\t\t// base0\n\t\t\tunsigned byte1:8;\t\t// base1\n\t\t\tunsigned byte2:8;\t\t// base2\n\t\t\tunsigned TYPE:4;\t\t//type\n\t\t\tunsigned DT:1;\t\t\t//storage segment (value=1) system segment and system gate (value=0)\n\t\t\tunsigned DPL:2;\t\t\t//Descriptor Privilege Level\n\t\t\tunsigned P:1;\t\t\t//Present\n\t\t}Descr;\n\n\t\tstruct\n\t\t{\n\t\t\tBit16u word0;\n\t\t\tBit16u word1;\n\t\t\tBit16u Limit; // segment limit\n\t\t}Dword;\n\t};\n\n} LOADALL286_DESCRIPTOR_T;\n\ntypedef struct _LOADALL286\n{\n\tBit16u _[3];\n\tBit16u MSW;\n\tBit16u __[7];\n\tBit16u TR;\n\tBit16u fl;\n\tBit16u ip;\n\tBit16u LDTR;\n\tBit16u DS;\n\tBit16u SS;\n\tBit16u CS;\n\tBit16u ES;\n\n\tBit16u di;\n\tBit16u si;\n\tBit16u bp;\n\tBit16u sp;\n\tBit16u bx;\n\tBit16u dx;\n\tBit16u cx;\n\tBit16u ax;\n\n\tLOADALL286_DESCRIPTOR_T ES_D;\n\tLOADALL286_DESCRIPTOR_T CS_D;\n\tLOADALL286_DESCRIPTOR_T SS_D;\n\tLOADALL286_DESCRIPTOR_T DS_D;\n\n\tLOADALL286_DESCRIPTOR_T GDT;\n\tLOADALL286_DESCRIPTOR_T LDT;\n\n\tLOADALL286_DESCRIPTOR_T IDT;\n\tLOADALL286_DESCRIPTOR_T TSS;\n\n} LOADALL286;\n\ntypedef struct _TASK32SEGMENT\n{\n\tBit16u TaskLink;\n\tBit16u TaskLink_word_filler;\n\t//-------------\n\tBit32u ESP0;\n\tBit16u SS0;\n\tBit16u SS0_word_filler;\n\tBit32u ESP1;\n\tBit16u SS1;\n\tBit16u SS1_word_filler;\n\tBit32u ESP2;\n\tBit16u SS2;\n\tBit16u SS2_word_filler;\n\t//-------------\n\tBit32u CR3;\n\tBit32u eip;\n\tBit32u efl;\n\tBit32u eax;\n\tBit32u ecx;\n\tBit32u edx;\n\tBit32u ebx;\n\tBit32u esp;\n\tBit32u ebp;\n\tBit32u esi;\n\tBit32u edi;\n\t//-------------\n\tBit16u ES;\n\tBit16u ES_word_filler;\n\tBit16u CS;\n\tBit16u CS_word_filler;\n\tBit16u SS;\n\tBit16u SS_word_filler;\n\tBit16u DS;\n\tBit16u DS_word_filler;\n\tBit16u FS;\n\tBit16u FS_word_filler;\n\tBit16u GS;\n\tBit16u GS_word_filler;\n\t//-------------\n\tBit16u LDT;\n\tBit16u LDT_word_filler;\n\t//-------------\n\tBit16u Trap;\n\tBit16u io_map_base;\n\tBit8u io_map;\n\t\t\n} TASK32SEGMENT;\n\ntypedef struct _LOADALL386_DESCRIPTOR_T\n{\n\tstruct\n\t{\n\t\tunsigned _:8;\t\t\t// Ϊ 0\n\t\tunsigned TYPE:4;\t\t//type\n\t\tunsigned DT:1;\t\t\t//storage segment (value=1);system segment and system gate (value=0)\n\t\tunsigned DPL:2;\t\t\t//Descriptor Privilege Level\n\t\tunsigned P:1;\t\t\t//Present\n\t\tunsigned __:8;\t\t\t// Ϊ 0\n\t\tunsigned ____:8;\t\t// Ϊ 0\n\t}Descr;\n\tstruct\n\t{\n\t\tBit32u Base;\t\t//\tsegment line base address\n\t\tBit32u Limit;\t//  segment limit\n\t}QWord;\n\n} LOADALL386_DESCRIPTOR_T;\n\ntypedef struct _LOADALL386\n{\n\tBit32u CR0;\n\tBit32u efl;\n\tBit32u eip;\n\tBit32u edi;\n\tBit32u esi;\n\tBit32u ebp;\n\tBit32u esp;\n\tBit32u ebx;\n\tBit32u edx;\n\tBit32u ecx;\n\tBit32u eax;\n\tBit32u DR6;\n\tBit32u DR7;\n\tBit32u TR;\n\tBit32u LDTR;\n\tBit32u GS;\n\tBit32u FS;\n\tBit32u DS;\n\tBit32u SS;\n\tBit32u CS;\n\tBit32u ES;\n\tLOADALL386_DESCRIPTOR_T TSS;\n\tLOADALL386_DESCRIPTOR_T IDT;\n\tLOADALL386_DESCRIPTOR_T GDT;\n\tLOADALL386_DESCRIPTOR_T LDT;\n\tLOADALL386_DESCRIPTOR_T GS_D;\n\tLOADALL386_DESCRIPTOR_T FS_D;\n\tLOADALL386_DESCRIPTOR_T DS_D;\n\tLOADALL386_DESCRIPTOR_T SS_D;\n\tLOADALL386_DESCRIPTOR_T CS_D;\n\tLOADALL386_DESCRIPTOR_T ES_D;\n\tBit32u Length;\n\tBit32u _[12];\n\tBit32u TST;\n\tBit32u IDX;\n\tBit32u TempH;\n\tBit32u TempG;\n\tBit32u TempF;\n\tBit32u TempE;\n\tBit32u TempD;\n\tBit32u TempC;\n\tBit32u TempB;\n\tBit32u TempA;\n\tBit32u CR2;\n\tBit32u CR3;\n\tBit32u MSR0x1001L;\n\tBit32u MSR0x1001H;\n\tBit32u MSR0x1000L;\n\tBit32u DR0;\n\tBit32u DR1;\n\tBit32u DR2;\n\tBit32u DR3;\n\tBit32u PEIP;\n\n} LOADALL386;\n\ntypedef union //־Ĵλζ\n{\n\tBit32u eflags;\n\n\tstruct  //־Ĵλζ\n\t{\n\t\tunsigned cf:1; //0\n\t\tunsigned b1:1; //1\n\t\tunsigned pf:1; //2\n\t\tunsigned b3:1; //3\n\t\tunsigned af:1; //4\n\t\tunsigned b5:1; //5\n\t\tunsigned zf:1; //6\n\t\tunsigned sf:1; //7\n\t\t\n\t\tunsigned tf:1; //8\n\t\tunsigned _if:1; //9\n\t\tunsigned df:1; //10\n\t\tunsigned of:1; //11\n\t\tunsigned iopl:2; //12--13\n\t\tunsigned nt:1; //14\n\t\tunsigned bf:1; //15\n\t\t\n\t\tunsigned rf:1; //16\n\t\tunsigned vm:1; //17\n\t\tunsigned ac:1; //18\n\t\tunsigned vif:1; //19\n\t\tunsigned _vip:1; //20\n\t\tunsigned id:1; //21\n\t\tunsigned\t:2; //22--23\n\n\t\tunsigned\t:8; //24--31\n\t\t\n\t}Descr;\n\n} X86_CPU_EFLAGS;\n\ntypedef struct //mul64 div64 ͨݼĴ\n{\n\tBit32u l32;\n\tBit32u h32;\n} X86_CPU_INT64;\n\nvoid DivideBit64(X86_CPU_INT64 *source,Bit32u dst,X86_CPU_INT64 *result);\nvoid MultiplyBit64(X86_CPU_INT64 *result,Bit32u src,Bit32u dst);\n\n//============================================\n\nclass BX_MEM_C;\n\n#include \"i387.h\"\n\nstruct BxOpcodeShiftFun_t\n{\n\tBxExecutePtr_t shiftL_EG;\n\tBxExecutePtr_t shiftR_EG;\n\tBxExecutePtr_t shiftL_EE;\n\tBxExecutePtr_t shiftR_EE;\n\n};\n\nstruct BxOpcodeShiftTable_t\n{\n\tunsigned count;\n\tconst BxOpcodeShiftFun_t *shift_fun;\n};\n\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Eb[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Ew[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Ed[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Eb[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Ew[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Ed[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Eb[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Ew[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Ed[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Eb[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Ew[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Ed[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH_D_EwGw[];\nextern const BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH_D_EdGd[];\n\nstruct BxOpcodeInfo_t\n{\n\tunsigned Attr;\n\n\tBxExecutePtr_t ExecutePtr;\n\n\tconst struct BxOpcodeInfo_t *OpcodeInfoPtr;\n\n\tBxTranslatePtr_t TranslatePtr;\n};\n\nextern const BxOpcodeInfo_t BxOpcodeInfoG_INSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_INSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_OUTSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_OUTSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_MOVSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_MOVSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_CMPSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_CMPSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_STOSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_STOSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_LODSB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_LODSW[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_SCASB[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_SCASW[];\n\nextern const BxOpcodeInfo_t BxOpcodeInfoG_INSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_OUTSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_MOVSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_CMPSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_STOSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_LODSD[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG_SCASD[];\n\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EGbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EGwIw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EGwIsb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0x8fEGw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGwIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc6EGbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc7EGwIw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGb_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGw_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGbCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGwCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EGb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EGw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG4EGb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG5EGw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG6[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG7[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG8EGwIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG9[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EGdId[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EGdIsb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0x8fEGd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGdIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc7EGdId[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGd_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EGdCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG5EGd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG8EGdIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EEbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EEwIw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EEwIsb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0x8fEEw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEwIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc6EEbIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc7EEwIw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEb_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEw_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEbCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEwCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EEb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EEw[];\n\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EGd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG4EEb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG5EEw[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG8EEwIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EEdId[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG1EEdIsb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0x8fEEd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEdIb[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG0xc7EEdId[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEd_1[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG2EEdCL[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG3EEd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG5EEd[];\nextern const BxOpcodeInfo_t BxOpcodeInfoG8EEdIb[];\n\nextern const BxOpcodeInfo_t BxOpcodeInfo[]; //512*2*2\n\ntypedef struct _X86_CPU_PROGRAM_VISIBLE_REGISTER\n{\n\tbx_gen_reg_t gen_reg[8];\n\tbx_segment_reg_t sregs[8];\n\tBit32u eip;\n\tBit32u eflags;\n} X86_CPU_PROGRAM_VISIBLE_REGISTER;\n\nstruct __LAST_READ_WRITE\n{\n\tBit32u read_address,write_address;\n\tint read_bytes,write_bytes;\n\tint i_bytes;\n};\n\n#if (X86CPU_MSWIN_MSDOS==0)\nclass BX_CPU_C : public logfunctions\n#else\nclass BX_CPU_C //: public logfunctions\n#endif\n{\npublic: // for now...\n\n\tstruct {\n\t\tBit64u popCounter;\n\t\tBit64u pushCounter;\n\t\tBit64u ReadMemoryCounter;\n\t\tBit64u WriteMemoryCounter;\n\t\tBit64u cahceLoop;\n\t\tBit64u fetchdecode;\n\t} stamp;\n\n\tbxInstruction_c *instr;\n\n\tint intNumber;\n\tint lastInstr;\n\tBxExecutePtr_t lastInstructionListTable[0x100];\n\n\tchar name[64];\n\n\t// General register set\n\t// eax: accumulator\n\t// ebx: base\n\t// ecx: count\n\t// edx: data\n\t// ebp: base pointer\n\t// esi: source index\n\t// edi: destination index\n\t// esp: stack pointer\n#if (X86CPU_MSWIN_MSDOS==0)\n\tbx_gen_reg_t program_visible_gen_reg[8];\n\t/* user segment register set */\n\tbx_segment_reg_t  program_visible_sregs[8];\n    // instruction pointer\n\tBit32u program_visible_eip;\n\tBit32u program_visible_eflags;\n#else\n\tX86_CPU_PROGRAM_VISIBLE_REGISTER program_visible_register;\n#endif\n\n\tstruct __LAST_READ_WRITE last_read_write;\n\tBit8u *\tbytes_ptr[8];\n\n\t/* system segment registers */\n#if BX_CPU_LEVEL >= 2\n\tbx_global_segment_reg_t gdtr; /* global descriptor table register */\n\tbx_global_segment_reg_t idtr; /* intel_interrupt descriptor table register */\n#endif\n\tbx_segment_reg_t        ldtr; /* intel_interrupt descriptor table register */\n\tbx_segment_reg_t        tr;   /* task register */\n\t\n#if BX_CPU_LEVEL > 0\n\t// so that we can back up when handling faults, exceptions, etc.\n\t// we need to store the value of the instruction pointer, before\n\t// each fetch/execute cycle.\n\tBit32u prev_eip;\n\tBit32u prev_esp;\n#endif\n\n  // A few pointer to functions for use by the dynamic translation\n  // code.  Keep them close to the program_visible_gen_reg declaration, so I can\n  // use an 8bit offset to access them.\n\n#if BX_DYNAMIC_TRANSLATION\n  BxDTShim_t DTWrite8vShim;\n  BxDTShim_t DTWrite16vShim;\n  BxDTShim_t DTWrite32vShim;\n  BxDTShim_t DTRead8vShim;\n  BxDTShim_t DTRead16vShim;\n  BxDTShim_t DTRead32vShim;\n  BxDTShim_t DTReadRMW8vShim;\n  BxDTShim_t DTReadRMW16vShim;\n  BxDTShim_t DTReadRMW32vShim;\n  BxDTShim_t DTWriteRMW8vShim;\n  BxDTShim_t DTWriteRMW16vShim;\n  BxDTShim_t DTWriteRMW32vShim;\n  BxDTShim_t DTSetFlagsOSZAPCPtr;\n  BxDTShim_t DTIndBrHandler;\n  BxDTShim_t DTDirBrHandler;\n#endif\n\n\t// status and control flags register set\n\tBit32u jcc;\n\tBit32u jcc_steps;\n\tBit32u  lf_flags_status;\n\tbx_flags_reg_t eflags;\n\tbx_lf_flags_entry lf_entrys[BX_LF_INDEX_SIZE];\n\tBX_SMF int PRINTFLAGSINFO(int ,char *,int ,int);\n\n#define BX_INHIBIT_INTERRUPTS 0x01\n#define BX_INHIBIT_DEBUG      0x02\n\t// What events to inhibit at any given time.  Certain instructions\n\t// inhibit interrupts, some debug exceptions and single-step traps.\n\tunsigned inhibit_mask;\n\n\t/* debug registers 0-7 (unimplemented) */\n#if BX_CPU_LEVEL >= 3\n\tBit32u dr0;\n\tBit32u dr1;\n\tBit32u dr2;\n\tBit32u dr3;\n\tBit32u dr6;\n\tBit32u dr7;\n#endif\n\n\t/* TR3 - TR7 (Test Register 3-7), unimplemented */\n\n\t/* Control registers */\n#if BX_CPU_LEVEL >= 2\n\tbx_cr0_t  cr0;\n\n\tBit32u    cr1;\n\tBit32u    cr2;\n\tBit32u    cr3;\n#endif\n#if BX_CPU_LEVEL >= 4\n\tBit32u    cr4;\n#endif\n\n#if BX_CPU_LEVEL >= 5\n\tbx_regs_msr_t\tmsr;  \n#endif\n\n\ti387_t the_i387;\n\t// pointer to the address space that this processor uses.\n\tBX_MEM_C *mem;\n\n\tBoolean EXT; /* 1 if processing external intel_interrupt or exception\n                * or if not related to current instruction,\n                * 0 if current CS:IP caused exception */\n\tunsigned errorno;   /* signal exception during instruction emulation */\n\n\tBit32u   debug_trap; // holds DR6 value to be set as well\n\tvolatile Boolean async_event;\n\tvolatile Boolean INTR;\n\n\t/* wether this CPU is the BSP always set for UP */\n\tBoolean bsp;\n\t// for accessing registers by index number\n\tBit16u *_16bit_base_reg[8];\n\tBit16u *_16bit_index_reg[8];\n\tBit32u empty_register;\n\n\t// for decoding instructions; accessing seg reg's by index\n\tunsigned sreg_mod00_rm16[8];\n\tunsigned sreg_mod01_rm16[8];\n\tunsigned sreg_mod10_rm16[8];\n\tunsigned sreg_mod01_rm32[8];\n\tunsigned sreg_mod10_rm32[8];\n\tunsigned sreg_mod0_base32[8];\n\tunsigned sreg_mod1or2_base32[8];\n\t// for exceptions\n\tjmp_buf jmp_buf_env;\n\tBit8u curr_exception[2];\n\tstatic const Boolean is_exception_OK[3][3];\n\tbx_flags_reg_t save_eflags;\n\tbx_segment_reg_t save_cs;\n\tbx_segment_reg_t save_ss;\n\tBit32u           save_eip;\n\tBit32u           save_esp;\n\n\n\n  // Boundaries of current page, based on EIP\n  bx_address eipPageBias;\n  bx_address eipPageWindowSize;\n  Bit8u     *eipFetchPtr;\n  Bit32u     pAddrA20Page; // Guest physical address of current instruction\n                           // page with A20() already applied.\n\n\n\t// For prefetch'ing instructions\n\tint bytesleft;\n\tBit8u *fetch_ptr;\n\tBit32u prev_linear_page;\n\tBit32u prev_phy_page;\n\tBit32u max_phy_addr;\n\n#if BX_DEBUGGER\n\tBit8u break_point;\n#ifdef MAGIC_BREAKPOINT\n\tBit8u magic_break;\n#endif\n\tBit8u stop_reason;\n\tBit8u trace;\n\tBit8u trace_reg;\n\tBit8u mode_break;\t\t/* BW */\n\tBoolean debug_vm;\t\t/* BW contains current mode*/\n\tBit8u show_eip;\t\t\t/* BW record eip at special instr f.ex eip */\n\tBit8u show_flag;\t\t/* BW shows instr class executed */\n\tbx_guard_found_t guard_found;\n#endif\n\n\t// for paging\n#if BX_USE_TLB\n\tstruct\n\t{\n\t\tbx_TLB_entry entry[BX_TLB_SIZE];\n    } TLB;\n#endif\n\n  // An instruction cache.  Each entry should be exactly 32 bytes, and\n  // this structure should be aligned on a 32-byte boundary to be friendly\n  // with the host cache lines.\n#if BX_SupportICache\n  bxICache_c iCache; //  BX_CPP_AlignN(32);\n#endif\n\n\n  struct {\n    bx_address  rm_addr; // The address offset after resolution.\n    Bit32u  paddress1;  // physical address after translation of 1st len1 bytes of data\n    Bit32u  paddress2;  // physical address after translation of 2nd len2 bytes of data\n    Bit32u  len1;       // Number of bytes in page 1\n    Bit32u  len2;       // Number of bytes in page 2\n    Bit32u  pages;      // Number of pages access spans (1 or 2).  Also used\n                        //   for the case when a native host pointer is\n                        //   available for the R-M-W instructions.  The host\n                        //   pointer is stuffed here.  Since this field has\n                        //   to be checked anyways (and thus cached), if it\n                        //   is greated than 2 (the maximum possible for\n                        //   normal cases) it is a native pointer and is used\n                        //   for a direct write access.\n    } address_xlation;\n\n  struct {\n\tBit32u LastBranchToCS_EIP;\n\tBit32u LastBranchFromCS_EIP;\n\tBit32u LastExceptionToCS_EIP;\n\tBit32u LastExceptionFromCS_EIP;\n  } LBR;\n\n\t// for lazy flags processing\n\tBX_SMF Boolean get_OF(void);\n\tBX_SMF Boolean get_SF(void);\n\tBX_SMF Boolean get_ZF(void);\n\tBX_SMF Boolean get_AF(void);\n\tBX_SMF Boolean get_PF(void);\n\tBX_SMF Boolean get_CF(void);\n\t// constructors & destructors...\n\tBX_CPU_C();\n\t~BX_CPU_C(void);\n\tvoid init (BX_MEM_C *addrspace);\n\tvoid exit (void);\n\n\tint x86_cpu_loop(Bit32s max_instr_count);\n\tunsigned x86_handleAsyncEvent(void);\n\tvoid x86_boundaryFetch(bxInstruction_c *i);\n\tvoid x86_prefetch(void);\n\n\tinline Bit16u READ_SEGMENT_SELECTOR(int i)\n\t{\n\t\treturn program_visible_sregs[(i)].selector.value;\n\t}\n\n\tinline void WRITE_SEGMENT_SELECTOR(int i,Bit16u selector)\n\t{\n\t\tprogram_visible_sregs[(i)].selector.value = selector;\n\t\tprogram_visible_sregs[(i)].cache.u.segment.base = selector<<4;\n\t\tinvalidate_prefetch_q();\n\t}\n\n\tinline Bit16u READ_FLAGS_REGISTER(void) { return read_flags();}\n\tinline Bit32u READ_EFLAGS_REGISTER(void) { return read_eflags();}\n\n\tinline void WRITE_FLAGS_REGISTER(Bit16u flags)\n\t{\n\t\twrite_flags(flags,true,true);\n\t}\n\tinline void WRITE_EFLAGS_REGISTER(Bit32u eflags)\n\t{\n\t\twrite_eflags(eflags,true,true,true,true);\n\t}\n\n\tBit32u mem_len;\n\tBit32u *page_access_stamp_ptr;\n\n\t//ִ--ָ΢\n\n#define HOST_CPU_IS_I80386  0\n\n#define BIT16 0\n#define BIT32 1\n#define BIT64 2\n\n#define PREV_EIP\t\t\t\tprev_eip\n#define REG_EIP\t\t\t\t\tprogram_visible_eip\n#define REG_EFLAGS\t\t\t\tprogram_visible_eflags\n#define LAST_INSTRUCTION_BYTES  last_read_write.i_bytes\n\n#define GENERAL_REG_DWORD(x)\tprogram_visible_gen_reg[(x)].erx\n#define GENERAL_REG_WORD(x)\t\tprogram_visible_gen_reg[(x)].word.rx\n#define GENERAL_REG_BYTE_L(x)\tprogram_visible_gen_reg[(x)].word.byte.rl\n#define GENERAL_REG_BYTE_H(x)\tprogram_visible_gen_reg[(x)].word.byte.rh\n#define SEGMENT_REG(x)\t\t\tprogram_visible_sregs[(x)]\n#define SEGMENT_MODE(x)\t\t\tprogram_visible_sregs[(x)].cache.u.segment.d_b\n#define SEGMENT_SELECTOR(x)\t\tprogram_visible_sregs[(x)].selector.value\n#define SEGMENT_BASE_ADDRESS(x)\tprogram_visible_sregs[(x)].cache.u.segment.base\n\n#define PROGRAM_REG_EIP\t\t\t\t\teip\n#define PROGRAM_REG_EFLAGS\t\t\t\teflags\n\n#define PROGRAM_GENERAL_REG_DWORD(x)\tgen_reg[(x)].erx\n#define PROGRAM_GENERAL_REG_WORD(x)\t\tgen_reg[(x)].word.rx\n#define PROGRAM_GENERAL_REG_BYTE_L(x)\tgen_reg[(x)].word.byte.rl\n#define PROGRAM_GENERAL_REG_BYTE_H(x)\tgen_reg[(x)].word.byte.rh\n#define PROGRAM_SEGMENT_REG(x)\t\t\tsregs[(x)]\n#define PROGRAM_SEGMENT_MODE(x)\t\t\tsregs[(x)].cache.u.segment.d_b\n#define PROGRAM_SEGMENT_SELECTOR(x)\t\tsregs[(x)].selector.value\n#define PROGRAM_SEGMENT_BASE_ADDRESS(x)\tsregs[(x)].cache.u.segment.base\n\n#ifndef I_EAX\n#define I_EAX\t0\n#define I_ECX\t1\n#define I_EDX\t2\n#define I_EBX\t3\n#define I_ESP\t4\n#define I_EBP\t5\n#define I_ESI\t6\n#define I_EDI\t7\n#endif\n#ifndef I_ES\n#define I_ES\t0\n#define I_CS\t1\n#define I_SS\t2\n#define I_DS\t3\n#define I_FS\t4\n#define I_GS\t5\n#endif\n\n\t//-------------------------------------------------------------------\n\t//-------------------------------------------------------------------\n\t//ִ--ָ΢\n\tBX_SMF int Translate_ADD_ALIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_AXIw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EAXId(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_MOV_RLIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_RHIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_RXIw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_ERXId(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_MOV_ALOb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_AXOw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_ObAL(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_OwAX(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_MOV_EAXOd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MOV_OdEAX(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_ADD_EGbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_ADD_EGbIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGwIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGwIw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGdIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EGdId(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_ADD_EEbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_ADD_EEbIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEwIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEwIw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEdIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_ADD_EEdId(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_SHIFT_EGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_SHIFT_EGbIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EGwIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EGdIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEbIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEwIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_SHIFT_EEdIb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_1byte_b(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_w(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_d(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_EGbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_EGwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_EGdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_1byte_EEbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_EEwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_1byte_EEdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_2byte_b(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_w(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_d(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_EGbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_EGwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_EGdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_2byte_EEbGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_EEwGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_2byte_EEdGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_INCDEC_EGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_INCDEC_EGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_INCDEC_EGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_INCDEC_EEb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_INCDEC_EEw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_INCDEC_EEd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_NOT_EGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NOT_EGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NOT_EGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NOT_EEb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NOT_EEw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NOT_EEd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_NEG_EGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NEG_EGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NEG_EGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_NEG_EEb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NEG_EEw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_NEG_EEd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_MULT_EGb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MULT_EGw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MULT_EGd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_MULT_EEb(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MULT_EEw(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_MULT_EEd(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\n\tBX_SMF int Translate_AAM_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_AAD_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_XLAT_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_virtual_run(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_virtual_run_m(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_JCC_J_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_JMP_J_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_LOOP_J_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_JCXZ_J_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\tBX_SMF int Translate_JMP_(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\tBX_SMF int Translate_JMP_m(bxInstruction_c *instr,int addrsize,int modrmlength,Bit8u *iptr,Bit8u *tptr);\n\n\n\t//ִ--ָ΢\n#if 0\n\tADD SUB AND XOR OR ADC SBB CMP TEST\n#endif\n\n#define BX_SMF_FORCE static\n\n\tBX_SMF_FORCE void ADD_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ADD_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ADD_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADD_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void SUB_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SUB_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SUB_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SUB_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void AND_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void AND_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void AND_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void AND_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void XOR_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XOR_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XOR_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XOR_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void  OR_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void  OR_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void  OR_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void  OR_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void ADC_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EGdId( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EAXId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ADC_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ADC_EEdId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void SBB_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SBB_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SBB_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SBB_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void CMP_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void CMP_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void CMP_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMP_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\tBX_SMF_FORCE void TEST_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void TEST_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void TEST_ALIb ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_AXIw ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void TEST_EAXId( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------\n\n\t//-------------------------------------------\n\n\tBX_SMF_FORCE void INC_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_RX ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_ERX( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_RX ( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_ERX( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void NEG_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NEG_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NEG_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void INC_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void INC_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DEC_EEd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void NEG_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NEG_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NEG_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void NOT_EEd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XADD_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XADD_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XADD_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XADD_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XADD_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XADD_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void CMPXCHG_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMPXCHG_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMPXCHG_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void CMPXCHG_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMPXCHG_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void CMPXCHG_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\n\n\tBX_SMF_FORCE void MOV_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GbEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EGbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MOV_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GbEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EEbIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EEdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MOVZX_GwEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GwEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GdEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GdEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GdEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GdEGw( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MOVZX_GwEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GwEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GdEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GdEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVZX_GdEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOVSX_GdEEw( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MOV_ALOb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_ObAL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_AXOw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_OwAX( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_EAXOd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_OdEAX( BX_CPU_C *,bxInstruction_c *);\n\n\n\tBX_SMF_FORCE void MOV_RLIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_RHIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_RXIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MOV_ERXId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XCHG_EGbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XCHG_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XCHG_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XCHG_EEbGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XCHG_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XCHG_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void XCHG_RXAX( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void XCHG_ERXEAX( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BSF_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSF_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSR_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSR_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BSF_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSF_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSR_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BSR_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BT_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EGwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EGdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BT_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EEwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BT_EEdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTS_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EGwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EGdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTS_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EEwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTS_EEdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTR_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EGwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EGdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTR_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EEwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTR_EEdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTC_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EGwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EGdIb( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void BTC_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EEwIb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void BTC_EEdIb( BX_CPU_C *,bxInstruction_c *);\n\t//---------------------------------------------------------------\n\n\tBX_SMF_FORCE void ROL_EGb_0( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGw_0( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGd_0( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEb_0( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEw_0( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEd_0( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ROL_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGd_1( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ROL_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGd_n( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SHLD_EGwGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EGdGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGwGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGdGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EGwGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EGdGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGwGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGdGd_n( BX_CPU_C *,bxInstruction_c *);\n\t//-------------------------------------------\n\n\n\tBX_SMF_FORCE void ROL_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEb_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEd_1( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ROL_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEb_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEd_n( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SHLD_EEwGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EEdGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEwGw_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEdGd_1( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EEwGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EEdGd_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEwGw_n( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEdGd_n( BX_CPU_C *,bxInstruction_c *);\n\t//--------------------------------------------\n\n\tBX_SMF_FORCE void ROL_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGd( BX_CPU_C *,bxInstruction_c *);\n\t//-------------------------------------------\n\n\tBX_SMF_FORCE void ROL_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEd( BX_CPU_C *,bxInstruction_c *);\n\t//-------------------------------------------\n\t//-------------------------------------------\n\tBX_SMF_FORCE void ROL_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EGdCL( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void ROL_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROL_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void ROR_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCL_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void RCR_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHL_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHR_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEbCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SAR_EEdCL( BX_CPU_C *,bxInstruction_c *);\n\n\t//-------------------------------------------\n\t//-------------------------------------------\n\tBX_SMF_FORCE void SHLD_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SHLD_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEwGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEdGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SHLD_EGwGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EGdGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGwGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EGdGdCL( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void SHLD_EEwGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHLD_EEdGdCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEwGwCL( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void SHRD_EEdGdCL( BX_CPU_C *,bxInstruction_c *);\n\t//-------------------------------------------\n\t//-------------------------------------------\n\tBX_SMF_FORCE void DIV_ALEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DIV_AXEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DIV_EAXEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_ALEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_AXEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_EAXEGd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void DIV_ALEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DIV_AXEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void DIV_EAXEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_ALEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_AXEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IDIV_EAXEEd( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MUL_ALEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MUL_AXEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MUL_EAXEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_ALEGb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_AXEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_EAXEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GwEGw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GdEGd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GwEGwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GdEGdId( BX_CPU_C *,bxInstruction_c *);\n\n\tBX_SMF_FORCE void MUL_ALEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MUL_AXEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void MUL_EAXEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_ALEEb( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_AXEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_EAXEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GwEEw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GwEEwIw( BX_CPU_C *,bxInstruction_c *);\n\tBX_SMF_FORCE void IMUL_GdEEdId( BX_CPU_C *,bxInstruction_c *);\n\n  // prototypes for CPU instructions...\n\n  BX_SMF_FORCE void PUSH_ES( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_CS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_SS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_DS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_FS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_GS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_ES( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_SS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_DS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_FS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_GS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_EwSw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_SwEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LES_GvMp( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LDS_GvMp( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LSS_GvMp( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LFS_GvMp( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LGS_GvMp( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void DAA( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void DAS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void AAA( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void AAS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void AAM( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void AAD( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void CBW( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CWD( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CDQ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CWDE( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void SALC( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void XLAT( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void PUSHAD32( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSHAD16( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POPAD32( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POPAD16( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_Id( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_Iw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_Ev( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void BOUND_GvMa( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ARPL_EwGw( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void INSB_YbDX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void LEA_GdM( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LEA_GwM( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void FWAIT( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSHF( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POPF( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SAHF( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LAHF( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void MOVSB_XbYb_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSB_XbYb_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSB_XbYb_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSB_XbYb_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSB_XbYb_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSB_XbYb_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void MOVSW_XvYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSW_XvYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSW_XvYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSW_XvYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSW_XvYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSW_XvYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void MOVSD_XvYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSD_XvYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSD_XvYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSD_XvYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSD_XvYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOVSD_XvYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void CMPSB_XbYb_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSB_XbYb_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSB_XbYb_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSB_XbYb_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSB_XbYb_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSB_XbYb_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t   \n  BX_SMF_FORCE void CMPSW_XvYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSW_XvYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSW_XvYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSW_XvYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSW_XvYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSW_XvYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t   \n  BX_SMF_FORCE void CMPSD_XvYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSD_XvYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSD_XvYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSD_XvYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSD_XvYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPSD_XvYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void SCASB_ALYb_E16_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASB_ALYb_E16_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASB_ALYb_E16_repf3 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASB_ALYb_E32_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASB_ALYb_E32_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASB_ALYb_E32_repf3 ( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void SCASW_eAXYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASW_eAXYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASW_eAXYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASW_eAXYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASW_eAXYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASW_eAXYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void SCASD_eAXYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASD_eAXYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASD_eAXYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASD_eAXYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASD_eAXYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SCASD_eAXYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void STOSB_ALYb_E16_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSB_ALYb_E16_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSB_ALYb_E16_repf3 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSB_ALYb_E32_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSB_ALYb_E32_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSB_ALYb_E32_repf3 ( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void STOSW_eAXYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSW_eAXYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSW_eAXYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSW_eAXYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSW_eAXYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSW_eAXYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void STOSD_eAXYv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSD_eAXYv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSD_eAXYv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSD_eAXYv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSD_eAXYv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STOSD_eAXYv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void LODSB_ALXb_E16_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSB_ALXb_E16_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSB_ALXb_E16_repf3 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSB_ALXb_E32_rep__ ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSB_ALXb_E32_repf2 ( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSB_ALXb_E32_repf3 ( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void LODSW_eAXXv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSW_eAXXv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSW_eAXXv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSW_eAXXv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSW_eAXXv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSW_eAXXv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\t\t\t\t\t\t\n  BX_SMF_FORCE void LODSD_eAXXv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSD_eAXXv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSD_eAXXv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSD_eAXXv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSD_eAXXv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LODSD_eAXXv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void OUTSB_DXXb_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSB_DXXb_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\n  BX_SMF_FORCE void OUTSW_DXXv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSW_DXXv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\n  BX_SMF_FORCE void OUTSD_DXXv_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSD_DXXv_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSD_DXXv_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSD_DXXv_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSD_DXXv_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUTSD_DXXv_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void INSB_YbDX_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSB_YbDX_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSB_YbDX_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSB_YbDX_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSB_YbDX_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSB_YbDX_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\n  BX_SMF_FORCE void INSW_YvDX_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSW_YvDX_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\t\t\t\n  BX_SMF_FORCE void INSD_YvDX_E16_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSD_YvDX_E16_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSD_YvDX_E16_repf3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSD_YvDX_E32_rep__( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSD_YvDX_E32_repf2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INSD_YvDX_E32_repf3( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void ENTER_IwIb( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LEAVE( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void INT1( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INT3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INT_Ib( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INTO( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void IRET32( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void IRET16( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void IN_ALIb( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void IN_eAXIb( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUT_IbAL( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUT_IbeAX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void IN_ALDX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void IN_eAXDX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUT_DXAL( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void OUT_DXeAX( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void HLT( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMC( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CLC( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STC( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CLI( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STI( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CLD( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STD( BX_CPU_C *,bxInstruction_c *);\n\n\n  BX_SMF_FORCE void LAR_GvEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LSL_GvEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CLTS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void INVD( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void WBINVD( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void MOV_CdRd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_DdRd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_RdCd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_RdDd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_TdRd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void MOV_RdTd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void SETcc_EGb( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SETcc_EEb( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void Jcc0_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc1_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc2_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc3_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc4_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc5_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc6_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc7_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc8_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc9_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcca_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccb_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccc_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccd_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcce_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccf_Jw( BX_CPU_C *,bxInstruction_c *);\n                \n  BX_SMF_FORCE void Jcc0_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc1_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc2_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc3_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc4_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc5_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc6_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc7_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc8_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcc9_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcca_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccb_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccc_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccd_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jcce_Jd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void Jccf_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void JCXZ_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JCXZ_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void LOOP_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LOOP_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void LOOPE_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LOOPE_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void LOOPNE_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LOOPNE_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void JMP_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void CALL_Jw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL_Jd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void JMP_EGw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP_EGd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP_EEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP_EEd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL_EGw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL_EGd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL_EEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL_EEd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void JMP16_Ap( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP16_Ep( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP32_Ap( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void JMP32_Ep( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void CALL16_Ap( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL16_Ep( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL32_Ap( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CALL32_Ep( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void RETnear32( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETnear16( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETnear32_Iw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETnear16_Iw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETfar32( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETfar16( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETfar32_Iw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RETfar16_Iw( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void BSWAP_ERX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_EAX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_ECX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_EDX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_EBX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_ESP( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_EBP( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_ESI( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BSWAP_EDI( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void SLDT_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void STR_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LLDT_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LTR_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void VERR_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void VERW_Ew( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void SGDT_Ms( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SIDT_Ms( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LGDT_Ms( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LIDT_Ms( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void SMSW_Ew( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LMSW_Ew( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void ESC0( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC1( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC2( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC3( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC4( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC5( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC6( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void ESC7( BX_CPU_C *,bxInstruction_c *);\n\n\n  BX_SMF void fpu_execute(bxInstruction_c *i);\n  BX_SMF void fpu_init(void);\n  BX_SMF void fpu_print_regs (void);\n\n  BX_SMF_FORCE void CMPXCHG_XBTS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPXCHG_IBTS( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMPXCHG8B( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void CPUID( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void LOADALL( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMOV_GwEGw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMOV_GwEEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMOV_GdEGd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void CMOV_GdEEd( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void NOP( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_RX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_RX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_ERX( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_ERX( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void PUSH_EGw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_EEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_EGd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void PUSH_EEd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_EGw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_EEw( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_EGd( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void POP_EEd( BX_CPU_C *,bxInstruction_c *);\n\n  // mch added\n  BX_SMF_FORCE void INVLPG( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF void wait_for_interrupt();\n  BX_SMF_FORCE void RSM( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void WRMSR( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RDTSC( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void RDMSR( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF void SetCR0(Bit32u val_32);\n  BX_SMF void dynamic_translate(void);\n  BX_SMF void dynamic_init(void);\n\n  /////////// FetchDecode\n  BX_SMF unsigned fetchDecode(Bit8u *, bxInstruction_c *, unsigned);\n  BX_SMF_FORCE void UndefinedOpcode( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BxError( BX_CPU_C *,bxInstruction_c *);\n  BX_SMF_FORCE void BxResolveError( BX_CPU_C *,bxInstruction_c *);\n\n  BX_SMF_FORCE void Resolve16Mod0Rm0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod0Rm7(BX_CPU_C * , bxInstruction_c * );\n\n  BX_SMF_FORCE void Resolve16Mod1or2Rm0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve16Mod1or2Rm7(BX_CPU_C * , bxInstruction_c * );\n\n  BX_SMF_FORCE void Resolve32Mod0Rm0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0Rm7(BX_CPU_C * , bxInstruction_c * );\n\n  BX_SMF_FORCE void Resolve32Mod1or2Rm0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2Rm7(BX_CPU_C * , bxInstruction_c * );\n\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x00(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x01(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x02(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x03(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x04(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x05(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x06(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x07(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x08(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x09(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x0f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x10(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x11(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x12(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x13(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x14(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x15(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x16(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x17(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x18(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x19(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x1f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x20(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x21(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x22(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x23(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x24(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x25(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x26(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x27(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x28(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x29(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x2f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x30(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x31(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x32(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x33(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x34(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x35(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x36(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x37(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x38(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x39(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x3f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x40(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x41(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x42(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x43(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x44(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x45(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x46(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x47(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x48(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x49(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x4f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x50(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x51(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x52(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x53(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x54(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x55(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x56(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x57(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x58(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x59(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x5f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x60(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x61(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x62(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x63(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x64(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x65(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x66(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x67(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x68(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x69(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x6f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x70(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x71(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x72(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x73(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x74(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x75(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x76(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x77(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x78(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x79(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x7f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x80(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x81(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x82(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x83(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x84(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x85(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x86(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x87(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x88(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x89(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x8f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x90(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x91(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x92(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x93(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x94(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x95(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x96(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x97(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x98(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x99(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0x9f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xa9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xaa(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xab(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xac(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xad(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xae(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xaf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xb9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xba(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xbb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xbc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xbd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xbe(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xbf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xc9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xca(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xcb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xcc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xcd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xce(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xcf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xd9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xda(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xdb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xdc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xdd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xde(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xdf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xe9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xea(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xeb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xec(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xed(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xee(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xef(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xf9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xfa(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xfb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xfc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xfd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xfe(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod1or2EffectAddress_sib0xff(BX_CPU_C * , bxInstruction_c * );\n\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x00(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x01(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x02(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x03(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x04(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x05(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x06(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x07(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x08(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x09(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x0f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x10(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x11(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x12(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x13(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x14(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x15(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x16(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x17(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x18(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x19(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x1f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x20(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x21(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x22(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x23(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x24(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x25(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x26(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x27(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x28(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x29(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x2f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x30(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x31(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x32(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x33(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x34(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x35(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x36(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x37(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x38(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x39(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x3f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x40(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x41(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x42(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x43(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x44(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x45(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x46(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x47(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x48(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x49(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x4f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x50(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x51(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x52(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x53(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x54(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x55(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x56(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x57(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x58(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x59(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x5f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x60(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x61(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x62(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x63(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x64(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x65(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x66(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x67(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x68(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x69(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x6f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x70(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x71(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x72(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x73(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x74(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x75(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x76(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x77(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x78(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x79(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x7f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x80(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x81(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x82(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x83(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x84(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x85(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x86(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x87(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x88(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x89(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x8f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x90(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x91(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x92(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x93(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x94(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x95(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x96(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x97(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x98(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x99(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9a(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9b(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9c(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9d(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9e(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0x9f(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xa9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xaa(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xab(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xac(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xad(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xae(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xaf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xb9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xba(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xbb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xbc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xbd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xbe(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xbf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xc9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xca(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xcb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xcc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xcd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xce(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xcf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xd9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xda(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xdb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xdc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xdd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xde(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xdf(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xe9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xea(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xeb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xec(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xed(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xee(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xef(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf0(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf1(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf2(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf3(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf4(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf5(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf6(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf7(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf8(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xf9(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xfa(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xfb(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xfc(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xfd(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xfe(BX_CPU_C * , bxInstruction_c * );\n  BX_SMF_FORCE void Resolve32Mod0EffectAddress_sib0xff(BX_CPU_C * , bxInstruction_c * );\n\n\n  BX_SMF void REP(void (*)(void));\n  BX_SMF void REP_ZF(void (*)(void), unsigned rep_prefix);\n#if BX_DEBUGGER\n  BX_SMF void     dbg_take_irq(void);\n  BX_SMF void     dbg_force_interrupt(unsigned _vector);\n  BX_SMF void     dbg_take_dma(void);\n  BX_SMF Boolean  dbg_get_cpu(bx_dbg_cpu_t *cpu);\n  BX_SMF Boolean  dbg_set_cpu(bx_dbg_cpu_t *cpu);\n  BX_SMF Boolean  dbg_set_reg(unsigned reg, Bit32u val);\n  BX_SMF Bit32u   dbg_get_reg(unsigned reg);\n  BX_SMF Boolean  dbg_get_sreg(bx_dbg_sreg_t *sreg, unsigned sreg_no);\n  BX_SMF unsigned dbg_query_pending(void);\n  BX_SMF Bit32u   dbg_get_descriptor_l(bx_descriptor_t *);\n  BX_SMF Bit32u   dbg_get_descriptor_h(bx_descriptor_t *);\n  BX_SMF Bit32u   dbg_get_eflags(void);\n  BX_SMF Boolean  dbg_is_begin_instr_bpoint(Bit32u cs, Bit32u eip, Bit32u laddr,\n                                            Bit32u is_32);\n  BX_SMF Boolean  dbg_is_end_instr_bpoint(Bit32u cs, Bit32u eip,\n                                          Bit32u laddr, Bit32u is_32);\n#endif\n#if BX_DEBUGGER || BX_DISASM || BX_INSTRUMENTATION\n  BX_SMF void     dbg_xlate_linear2phy(Bit32u linear, Bit32u *phy, Boolean *valid);\n#endif\n  BX_SMF void     atexit(void);\n\n  // now for some ancillary functions...\n  BX_SMF void cpu_loop(Bit32s max_instr_count);\n  BX_SMF void decode_exgx16(unsigned need_fetch);\n  BX_SMF void decode_exgx32(unsigned need_fetch);\n\n  BX_SMF void prefetch(void);\n  BX_SMF void revalidate_prefetch_q(void);\n  BX_SMF void invalidate_prefetch_q(void);\n\n  BX_SMF void write_virtual_checks(bx_segment_reg_t *seg, Bit32u offset, unsigned length);\n  BX_SMF void read_virtual_checks(bx_segment_reg_t *seg, Bit32u offset, unsigned length);\n\n#define BX_IO_READ\t\t0\n#define BX_IO_WRITE\t\t1\n\n  BX_SMF Bit32u read_io_(Bit16u addr,unsigned len)\n  {\n\t\tBit32u temp = 0;\n\t\tBX_CPU_THIS_PTR access_io(addr,len,0,BX_IO_READ,&temp);\n\t\treturn temp;\n  }\n\n  BX_SMF void write_io_(Bit16u addr,unsigned len,Bit32u value)\n  {\n\t\tBX_CPU_THIS_PTR access_io(addr,len,0,BX_IO_WRITE,&value);\n  }\n\n#if (X86CPU_MSWIN_MSDOS==0)\n#define BX_LINEAR_MEMORY_READ_WRITE BX_SMF\n#else\n#define BX_LINEAR_MEMORY_READ_WRITE virtual\n#endif\n\n  BX_LINEAR_MEMORY_READ_WRITE void write_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void write_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void write_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void read_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void read_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void read_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\n  BX_LINEAR_MEMORY_READ_WRITE void read_RMW_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void read_RMW_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void read_RMW_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void write_RMW_virtual_byte(Bit8u val8);\n  BX_LINEAR_MEMORY_READ_WRITE void write_RMW_virtual_word(Bit16u val16);\n  BX_LINEAR_MEMORY_READ_WRITE void write_RMW_virtual_dword(Bit32u val32);\n\n  BX_LINEAR_MEMORY_READ_WRITE void access_io(Bit16u addr, unsigned length,unsigned pl,\n\t\t\t\t\t  unsigned rw,void *data);\n  BX_LINEAR_MEMORY_READ_WRITE void access_linear(Bit32u address, unsigned length, unsigned pl,\n                     unsigned rw, void *data);\n  BX_SMF Bit32u itranslate_linear(Bit32u laddress, unsigned pl);\n  BX_SMF Bit32u dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw);\n\n  BX_LINEAR_MEMORY_READ_WRITE void write_push_word(unsigned seg, Bit32u offset, Bit16u *data);\n  BX_LINEAR_MEMORY_READ_WRITE void write_push_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\n  // :physical page number physical_address_base:С physical page ıַ\n  BX_LINEAR_MEMORY_READ_WRITE int get_physical_host_memory(void **physical_address_base);\n  BX_LINEAR_MEMORY_READ_WRITE Bit8u *getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp);\n\n  BX_SMF void TLB_flush(void);\n  BX_SMF void TLB_clear(void);\n  BX_SMF void TLB_init(void);\n  BX_SMF void set_INTR(Boolean value);\n  BX_SMF char *strseg(bx_segment_reg_t *seg);\n  BX_SMF void intel_interrupt(Bit8u _vector, Boolean is_INT, Boolean is_error_code,\n                 Bit16u error_code);\n#if BX_CPU_LEVEL >= 2\n  BX_SMF void exception(unsigned _vector, Bit16u error_code, Boolean is_INT);\n#endif\n  BX_SMF int  int_number(bx_segment_reg_t *seg);\n  BX_SMF void shutdown_cpu(void);\n  BX_SMF void enable_paging(void);\n  BX_SMF void disable_paging(void);\n  BX_SMF void CR3_change(Bit32u value32);\n  BX_SMF void reset(unsigned source);\n\n  BX_SMF void jump_protected(bxInstruction_c *, Bit16u cs, Bit32u disp32);\n  BX_SMF void call_protected(bxInstruction_c *, Bit16u cs, Bit32u disp32);\n  BX_SMF void return_protected(bxInstruction_c *, Bit16u pop_bytes);\n  BX_SMF void iret_protected(bxInstruction_c *);\n  BX_SMF void validate_seg_regs(void);\n  BX_SMF void stack_return_to_v86(Bit32u new_eip, Bit32u raw_cs_selector,\n                                     Bit32u flags32);\n  BX_SMF void stack_return_from_v86(bxInstruction_c *);\n  BX_SMF void init_v8086_mode(void);\n  BX_SMF void v8086_message(void);\n  BX_SMF void task_switch(bx_selector_t *selector,\n                     bx_descriptor_t *descriptor,\n                     unsigned source,\n                     Bit32u dword1, Bit32u dword2);\n  BX_SMF void get_SS_ESP_from_TSS(unsigned pl, Bit16u *ss, Bit32u *esp);\n  BX_SMF void write_flags(Bit16u flags, Boolean change_IOPL, Boolean change_IF);\n  BX_SMF void write_eflags(Bit32u eflags, Boolean change_IOPL, Boolean change_IF,\n                    Boolean change_VM, Boolean change_RF);\n  BX_SMF Bit16u read_flags(void);\n  BX_SMF Bit32u read_eflags(void);\n\n  BX_SMF Bit8u   inp8(Bit16u addr);\n  BX_SMF void    outp8(Bit16u addr, Bit8u value);\n  BX_SMF Bit16u  inp16(Bit16u addr);\n  BX_SMF void    outp16(Bit16u addr, Bit16u value);\n  BX_SMF Bit32u  inp32(Bit16u addr);\n  BX_SMF void    outp32(Bit16u addr, Bit32u value);\n  BX_SMF Boolean allow_io(Bit16u addr, unsigned len);\n  BX_SMF void    enter_protected_mode(void);\n  BX_SMF void    enter_real_mode(void);\n  BX_SMF void    parse_selector(Bit16u raw_selector, bx_selector_t *selector);\n  BX_SMF void    parse_descriptor(Bit32u dword1, Bit32u dword2, bx_descriptor_t *temp);\n  BX_SMF void    load_ldtr(bx_selector_t *selector, bx_descriptor_t *descriptor);\n  BX_SMF void    load_cs(bx_selector_t *selector, bx_descriptor_t *descriptor, Bit8u cpl);\n  BX_SMF void    load_ss(bx_selector_t *selector, bx_descriptor_t *descriptor, Bit8u cpl);\n  BX_SMF void    fetch_raw_descriptor(bx_selector_t *selector,\n                               Bit32u *dword1, Bit32u *dword2, Bit8u exception);\n\n  BX_SMF void    load_seg_reg(bx_segment_reg_t *seg, Bit16u new_value);\n\n  BX_SMF Boolean fetch_raw_descriptor2(bx_selector_t *selector,\n                                Bit32u *dword1, Bit32u *dword2);\n  BX_SMF void    push_16(Bit16u value16);\n  BX_SMF void    push_32(Bit32u value32);\n  BX_SMF void    call_push_16(Bit16u value16);\n  BX_SMF void    call_push_32(Bit32u value32);\n  BX_SMF void    pop_16(Bit16u *value16_ptr);\n  BX_SMF void    pop_32(Bit32u *value32_ptr);\n  BX_SMF Boolean can_push(bx_descriptor_t *descriptor, Bit32u esp, Bit32u bytes);\n  BX_SMF Boolean can_pop(Bit32u bytes);\n  BX_SMF void    sanity_checks(void);\n\n  BX_SMF void    debug(Bit32u offset);\n\n#if BX_X86_DEBUGGER\n  // x86 hardware debug support\n  BX_SMF Bit32u  hwdebug_compare(Bit32u laddr, unsigned size,\n                                 unsigned opa, unsigned opb);\n#endif\n\n  BX_SMF BX_CPP_INLINE void set_CF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_AF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_ZF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_SF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_OF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_PF(Boolean val);\n  BX_SMF BX_CPP_INLINE void set_PF_base(Bit8u val);\n\n  BX_SMF BX_CPP_INLINE void set_AX(Bit16u ax);\n  BX_SMF BX_CPP_INLINE void set_BX(Bit16u bx);\n  BX_SMF BX_CPP_INLINE void set_CX(Bit16u cx);\n  BX_SMF BX_CPP_INLINE void set_DX(Bit16u dx);\n  BX_SMF BX_CPP_INLINE void set_AL(Bit8u  al);\n  BX_SMF BX_CPP_INLINE void set_AH(Bit8u  ah);\n  BX_SMF BX_CPP_INLINE void set_BL(Bit8u  bl);\n  BX_SMF BX_CPP_INLINE void set_BH(Bit8u  bh);\n  BX_SMF BX_CPP_INLINE void set_CL(Bit8u  cl);\n  BX_SMF BX_CPP_INLINE void set_CH(Bit8u  ch);\n  BX_SMF BX_CPP_INLINE void set_DL(Bit8u  dl);\n  BX_SMF BX_CPP_INLINE void set_DH(Bit8u  dh);\n\n  BX_SMF BX_CPP_INLINE Bit8u get_AL(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_AH(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_BL(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_BH(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_CL(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_CH(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_DL(void);\n  BX_SMF BX_CPP_INLINE Bit8u get_DH(void);\n\n  BX_SMF BX_CPP_INLINE Bit16u get_AX(void);\n  BX_SMF BX_CPP_INLINE Bit16u get_BX(void);\n  BX_SMF BX_CPP_INLINE Bit16u get_CX(void);\n  BX_SMF BX_CPP_INLINE Bit16u get_DX(void);\n\n  BX_SMF BX_CPP_INLINE unsigned int get_DF(void);\n  BX_SMF BX_CPP_INLINE unsigned int get_IF(void);\n  BX_SMF BX_CPP_INLINE unsigned int get_VM(void);\n  BX_SMF BX_CPP_INLINE unsigned int get_IOPL(void);\n\n  BX_SMF BX_CPP_INLINE void set_IF(int _bit);\n\n#if BX_CPU_LEVEL >= 2\n  BX_SMF BX_CPP_INLINE Boolean real_mode(void);\n#endif\n#if BX_CPU_LEVEL >= 3\n  BX_SMF BX_CPP_INLINE Boolean protected_mode(void);\n  BX_SMF BX_CPP_INLINE Boolean v8086_mode(void);\n#endif\n#if BX_SUPPORT_APIC\n  bx_local_apic_c local_apic;\n  Boolean int_from_local_apic;\n#endif\n  };\n\n\n#if BX_SupportICache\n\nBX_CPP_INLINE void bxICache_c::decWriteStamp(BX_CPU_C *cpu, Bit32u a20Addr) {\n  // Increment page write stamp, so iCache entries with older stamps\n  // are effectively invalidated.\n  Bit32u pageIndex = a20Addr >> 12;\n  Bit32u writeStamp = cpu->iCache.pageWriteStampTable[pageIndex];\n  if ( writeStamp & 0x20000000 ) {\n    // Page possibly contains iCache code.\n    if ( writeStamp & ICacheWriteStampMask ) {\n      // Short case: there is room to decrement the generation counter.\n      cpu->iCache.pageWriteStampTable[pageIndex]--;\n      }\n    else {\n      // Long case: there is no more room to decrement.  We have dump\n      // all iCache entries which can possibly hash to this page since\n      // we don't keep track of individual entries.\n\n      // Take the hash of the 0th page offset.\n      unsigned iCacheHash = cpu->iCache.hash(a20Addr & 0xfffff000);\n      for (unsigned o=0; o<4096; o++) {\n        cpu->iCache.entry[iCacheHash].writeStamp = ICacheWriteStampInvalid;\n        iCacheHash = (iCacheHash + 1) % BxICacheEntries;\n        }\n      // Reset write stamp to highest value to begin the decrementing process\n      // again.\n      cpu->iCache.pageWriteStampTable[pageIndex] = ICacheWriteStampInvalid;\n      }\n    }\n  }\n\nBX_CPP_INLINE Bit32u bxICache_c::createFetchModeMask(BX_CPU_C *cpu) {\n  return (cpu->program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b << 31)\n#if BX_SUPPORT_X86_64\n         | ((cpu->cpu_mode == BX_MODE_LONG_64)<<30)\n#endif\n         | (1<<29) // iCache code.\n         ;\n  }\n\n#endif\n\n#if BX_X86_DEBUGGER\n#define BX_HWDebugInstruction   0x00\n#define BX_HWDebugMemW          0x01\n#define BX_HWDebugIO            0x02\n#define BX_HWDebugMemRW         0x03\n#endif\n\n\n#if BX_SMP_PROCESSORS==1\n// single processor simulation, so there's one of everything\nextern BX_CPU_C       bx_cpu;\n#else\n// multiprocessor simulation, we need an array of cpus and memories\nextern BX_CPU_C       *bx_cpu_array[BX_SMP_PROCESSORS+1];\n#endif\n\n#if defined(NEED_CPU_REG_SHORTCUTS)\n\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_AX(Bit16u ax) { X86_AX = ax; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_BX(Bit16u bx) { X86_BX = bx; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_CX(Bit16u cx) { X86_CX = cx; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_DX(Bit16u dx) { X86_DX = dx; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_AL(Bit8u  al) { X86_AL = al; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_AH(Bit8u  ah) { X86_AH = ah; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_BL(Bit8u  bl) { X86_BL = bl; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_BH(Bit8u  bh) { X86_BH = bh; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_CL(Bit8u  cl) { X86_CL = cl; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_CH(Bit8u  ch) { X86_CH = ch; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_DL(Bit8u  dl) { X86_DL = dl; };\nBX_SMF BX_CPP_INLINE void BX_CPU_C_PREFIX set_DH(Bit8u  dh) { X86_DH = dh; };\n\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_AL(void) { return(X86_AL); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_AH(void) { return(X86_AH); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_BL(void) { return(X86_BL); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_BH(void) { return(X86_BH); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_CL(void) { return(X86_CL); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_CH(void) { return(X86_CH); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_DL(void) { return(X86_DL); };\nBX_SMF BX_CPP_INLINE Bit8u BX_CPU_C_PREFIX get_DH(void) { return(X86_DH); };\n\nBX_SMF BX_CPP_INLINE Bit16u BX_CPU_C_PREFIX get_AX(void) { return(X86_AX); };\nBX_SMF BX_CPP_INLINE Bit16u BX_CPU_C_PREFIX get_BX(void) { return(X86_BX); };\nBX_SMF BX_CPP_INLINE Bit16u BX_CPU_C_PREFIX get_CX(void) { return(X86_CX); };\nBX_SMF BX_CPP_INLINE Bit16u BX_CPU_C_PREFIX get_DX(void) { return(X86_DX); };\n\n#endif\n\n  BX_CPP_INLINE unsigned int BX_CPU_C::get_DF(void) { return(BX_CPU_THIS_PTR eflags.df); };\n  BX_CPP_INLINE unsigned int BX_CPU_C::get_IF(void) { return(BX_CPU_THIS_PTR eflags.if_); };\n  BX_CPP_INLINE unsigned int BX_CPU_C::get_VM(void) { return(BX_CPU_THIS_PTR eflags.vm); };\n  BX_CPP_INLINE unsigned int BX_CPU_C::get_IOPL(void) { return(BX_CPU_THIS_PTR eflags.iopl); };\n\n  BX_CPP_INLINE void BX_CPU_C::set_IF(int _bit) { BX_CPU_THIS_PTR eflags.if_ = _bit; };\n\n\n#if BX_CPU_LEVEL >= 2\n  BX_CPP_INLINE Boolean BX_CPU_C::real_mode(void) { return( !BX_CPU_THIS_PTR cr0.pe ); };\n#endif\n\n#if BX_CPU_LEVEL == 2\n  BX_CPP_INLINE Boolean BX_CPU_C::protected_mode(void) { return( BX_CPU_THIS_PTR cr0.pe ); };\n#endif\n\n\n#if BX_CPU_LEVEL >= 3\n#  if BX_SUPPORT_V8086_MODE\n  BX_CPP_INLINE Boolean\nBX_CPU_C::v8086_mode(void) {\n  return(BX_CPU_THIS_PTR eflags.vm);\n  }\n\n  BX_CPP_INLINE Boolean\nBX_CPU_C::protected_mode(void) {\n  return(BX_CPU_THIS_PTR cr0.pe && !BX_CPU_THIS_PTR eflags.vm);\n  }\n#  else\n  BX_CPP_INLINE Boolean\nBX_CPU_C::v8086_mode(void) {\n  return(0);\n  }\n\n  BX_CPP_INLINE Boolean\nBX_CPU_C::protected_mode(void) {\n  return(BX_CPU_THIS_PTR cr0.pe);\n  }\n#  endif\n#endif\n\n\nextern const Boolean bx_parity_lookup[256];\n\nextern const char Translate_modrm32_length[1<<(\t2\t\t+3\t\t+3)];\nextern const char Translate_modrm16_length[1<<(\t2\t\t+3\t\t+3)];\nextern const unsigned Translate_modrm_to_rrr[0x100];\nextern const Bit8u Translate_modrm_to_lea_modrm[0x100];\nextern const Bit8u Translate_modrm_to_new_modrm[0x100];\nextern const Bit8u Translate_jmp_codebuff[];\nextern const Bit32u Translate_jmp_codeoffset[];\nextern const Bit32u Translate_jmp_codeparam[];\n\n#if (HOST_CPU_IS_I80386==0)\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_CF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xfffff0;\n    BX_CPU_THIS_PTR eflags.cf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_AF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xfff0ff;\n    BX_CPU_THIS_PTR eflags.af = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_ZF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xff0fff;\n    BX_CPU_THIS_PTR eflags.zf = val;\n   }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_SF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xf0ffff;\n    BX_CPU_THIS_PTR eflags.sf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_OF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0x0fffff;\n    BX_CPU_THIS_PTR eflags.of = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_PF(Boolean val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xffff0f;\n    BX_CPU_THIS_PTR eflags.pf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_PF_base(Bit8u val) {\n    BX_CPU_THIS_PTR lf_flags_status &= 0xffff0f;\n    BX_CPU_THIS_PTR eflags.pf = bx_parity_lookup[val]; // Always returns 0 or 1.\n    }\n\n#endif //#if (HOST_CPU_IS_I80386==0)\n\n\n#if (HOST_CPU_IS_I80386==1)\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_CF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.cf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_AF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.af = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_ZF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.zf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_SF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.sf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_OF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.of = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_PF(Boolean val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.pf = val;\n    }\n\n    BX_CPP_INLINE void\nBX_CPU_C::set_PF_base(Bit8u val) {\n\tBX_CPU_THIS_PTR eflags.x86.Descr.pf = bx_parity_lookup[val];\n    }\n\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n#if (HOST_CPU_IS_I80386==0)\n\n#define SET_FLAGS_OSZAPC_8(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_8 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_8 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n#define SET_FLAGS_OSZAPC_8_CF(op1, op2, result, ins, last_cf) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_8 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_8 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_8 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].prev_cf = last_cf; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n#define SET_FLAGS_OSZAPC_16(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_16 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_16 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n#define SET_FLAGS_OSZAPC_16_CF(op1, op2, result, ins, last_cf) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_16 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_16 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_16 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].prev_cf = last_cf; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n#define SET_FLAGS_OSZAPC_32(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_32 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_32 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n#define SET_FLAGS_OSZAPC_32_CF(op1, op2, result, ins, last_cf) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op1_32 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].op2_32 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].result_32 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].instr = ins; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAPC].prev_cf = last_cf; BX_CPU_CLASS_PTR lf_flags_status = BX_LF_MASK_OSZAPC; }\n\n\n#define SET_FLAGS_OSZAP_8(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op1_8 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op2_8 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_8 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP; }\n\n#define SET_FLAGS_OSZAP_16(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op1_16 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op2_16 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_16 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP; }\n\n#define SET_FLAGS_OSZAP_32(op1, op2, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op1_32 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].op2_32 = op2; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].result_32 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZAP].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x00000f) | BX_LF_MASK_OSZAP; }\n\n#define SET_FLAGS_OxxxxC(new_of, new_cf) { BX_CPU_CLASS_PTR eflags.of = (Boolean) (new_of); BX_CPU_CLASS_PTR eflags.cf = (Boolean) (new_cf); BX_CPU_CLASS_PTR lf_flags_status &= 0x0ffff0; /* ??? could also mark other bits undefined here */ }\n\n//-----------------------------------------------------------------------\n\n#define SET_FLAGS_OSZPC_8(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op1_8 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].shift_counter = count; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].result_8 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0x000f00) | BX_LF_MASK_OSZPC; }\n\n#define SET_FLAGS_OSZPC_16(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op1_16 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].result_16 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x000f00) | BX_LF_MASK_OSZPC;     }\n\n#define SET_FLAGS_OSZPC_32(op1, count, result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op1_32 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].result_32 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x000f00) | BX_LF_MASK_OSZPC;     }\n\n#define SET3_FLAGS_OSZPC_16(op1, op2, count,result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op1_16 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op2_16 = op2;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].result_16 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x000f00) | BX_LF_MASK_OSZPC;     }\n\n#define SET3_FLAGS_OSZPC_32(op1, op2, count,result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op1_32 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].op2_32 = op2;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x000f00) | BX_LF_MASK_OSZPC;     }\n\n\n#define SET_FLAGS_XSZPC_8(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op1_8 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].result_8 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0xf00f00) | BX_LF_MASK_XSZPC;     }\n\n#define SET_FLAGS_XSZPC_16(op1, count, result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op1_16 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].result_16 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0xf00f00) | BX_LF_MASK_XSZPC;     }\n\n#define SET_FLAGS_XSZPC_32(op1, count, result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op1_32 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].result_32 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0xf00f00) | BX_LF_MASK_XSZPC;     }\n\n#define SET3_FLAGS_XSZPC_16(op1, op2, count,result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op1_16 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op2_16 = op2;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].result_16 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0xf00f00) | BX_LF_MASK_XSZPC;     }\n\n#define SET3_FLAGS_XSZPC_32(op1, op2, count,result, ins) {     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op1_32 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].op2_32 = op2;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].result_32 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XSZPC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0xf00f00) | BX_LF_MASK_XSZPC;     }\n\n#define SET_FLAGS_OC_8(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].op1_8 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].result_8 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x0ffff0) | BX_LF_MASK_OC; }\n\n#define SET_FLAGS_OC_16(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].op1_16 = op1;   BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].result_16 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x0ffff0) | BX_LF_MASK_OC;  }\n\n#define SET_FLAGS_OC_32(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].op1_32 = op1;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].shift_counter = count;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].result_32 = result;     BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_OC].instr = ins;     BX_CPU_CLASS_PTR lf_flags_status = \t(BX_CPU_CLASS_PTR lf_flags_status & 0x0ffff0) | BX_LF_MASK_OC; }\n\n#define SET_FLAGS_XC_8(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].op1_8 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].shift_counter = count; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].result_8 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0xfffff0) | BX_LF_MASK_XC; }\n\n#define SET_FLAGS_XC_16(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].op1_16 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].shift_counter = count; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].result_16 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0xfffff0) | BX_LF_MASK_XC; }\n\n#define SET_FLAGS_XC_32(op1, count, result, ins) { BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].op1_32 = op1; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].shift_counter = count; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].result_32 = result; BX_CPU_CLASS_PTR lf_entrys[BX_LF_INDEX_XC].instr = ins; BX_CPU_CLASS_PTR lf_flags_status = (BX_CPU_CLASS_PTR lf_flags_status & 0xfffff0) | BX_LF_MASK_XC;  }\n\n#endif //#if (HOST_CPU_IS_I80386==0)\n\n#if (HOST_CPU_IS_I80386==1)\n\n#define SET_FLAGS_OxxxxC(new_of, new_cf) { BX_CPU_CLASS_PTR eflags.x86.Word.seto = (Boolean)(new_of); BX_CPU_CLASS_PTR eflags.x86.Word.lahf &= 0xfe; BX_CPU_CLASS_PTR eflags.x86.Word.lahf |= (Boolean)(new_cf); /* ??? could also mark other bits undefined here */ }\n\n#endif //#if (HOST_CPU_IS_I80386==1)\n\nextern const Boolean bx_parity_lookup[256];\n\n#define BX_REPE_PREFIX  10\n#define BX_REPNE_PREFIX 11\n\n#define BX_TASK_FROM_JUMP         10\n#define BX_TASK_FROM_CALL_OR_INT  11\n#define BX_TASK_FROM_IRET         12\n\n//\n// For decoding...\n//\n\n// If the Immediate bit is set, the lowest 3 bits of the attribute\n// specify which kinds of immediate data a required by instruction.\n\n#define BxImmediate         0x000f // bits 3..0: any immediate\n#define BxImmediate_Ib      0x0001 // 8 bits regardless\n#define BxImmediate_Ib_SE   0x0002 // sign extend to OS size\n#define BxImmediate_Iv      0x0003 // 16 or 32 depending on OS size\n#define BxImmediate_Iw      0x0004 // 16 bits regardless\n#define BxImmediate_IvIw    0x0005 // call_Ap\n#define BxImmediate_IwIb    0x0006 // enter_IwIb\n#define BxImmediate_O       0x0007 // mov_ALOb, mov_ObAL, mov_eAXOv, mov_OveAX\n#define BxImmediate_BrOff8  0x0008 // Relative branch offset byte\n#define BxImmediate_BrOff16 0x0009 // Relative branch offset word\n#define BxImmediate_BrOff32 0x000a // Relative branch offset dword\n#define BxImmediate_1       0x000b // shift counter 1\n#define BxImmediate_CL      0x000c // shift counter cl\n\n\n#define BxPrefix          0x0010 // bit  4\n#define BxAnother         0x0020 // bit  5\n#define BxRepeatable      0x0040 // bit  6\n#define BxRepeatableZF    0x0080 // bit  7\n#define BxGroupN          0x0100 // bits 8\n#define BxGroup1          BxGroupN\n#define BxGroup2          BxGroupN\n#define BxGroup3          BxGroupN\n#define BxGroup4          BxGroupN\n#define BxGroup5          BxGroupN\n#define BxGroup6          BxGroupN\n#define BxGroup7          BxGroupN\n#define BxGroup8          BxGroupN\n#define BxGroup9          BxGroupN\n#define BxGroupa          BxGroupN\n\n\n#define BxBranch\t\t   0x000f0000 // // bits 19..16: any branch\n#define BxBranch_relative  0x00010000 // // bits 19..16: any branch\n#define BxBranch_absolute  0x00020000 // // bits 19..16: any branch\n\n#if BX_DEBUGGER\ntypedef enum _show_flags {\n      Flag_call = 0x1,\n      Flag_ret = 0x2,\n      Flag_int = 0x4,\n      Flag_iret = 0x8,\n      Flag_intsig = 0x10\n} show_flags_t;\n#endif\n\n// Can be used as LHS or RHS.\n#define RMAddr(i)  (BX_CPU_CLASS_PTR address_xlation.rm_addr)\n\n#endif  // #ifndef BX_CPU_H\n"
  },
  {
    "path": "Project/IntelCPU/Source/ctrl.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: ctrl_xfer.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  תָ\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::CALL16_Ap(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tnew_eip = IMMEDIATEIw(i);\n\tnew_cs = IMMEDIATEIw2(i);\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR call_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR call_push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n\tBX_CPU_CLASS_PTR call_push_16((Bit16u) BX_CPU_CLASS_PTR program_visible_eip);\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_CALL,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::CALL32_Ap(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tnew_eip = IMMEDIATEId(i);\n\tnew_cs = IMMEDIATEIw2(i);\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR call_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR call_push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n\tBX_CPU_CLASS_PTR call_push_32((Bit16u) BX_CPU_CLASS_PTR program_visible_eip);\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_CALL,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::JMP16_Ap(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tnew_eip = IMMEDIATEIw(i);\n\tnew_cs = IMMEDIATEIw2(i);\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR jump_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_JMP,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::JMP32_Ap(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tnew_eip = IMMEDIATEId(i);\n\tnew_cs = IMMEDIATEIw2(i);\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR jump_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_JMP,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::CALL16_Ep(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tBit16u aim_ip;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&aim_ip);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i)+2,&new_cs);\n\tnew_eip = aim_ip;\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR call_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR call_push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n\tBX_CPU_CLASS_PTR call_push_16((Bit16u) BX_CPU_CLASS_PTR program_visible_eip);\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_CALL,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::CALL32_Ep(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tBit32u aim_eip;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&aim_eip);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i)+4,&new_cs);\n\tnew_eip = aim_eip;\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR call_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR call_push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n\tBX_CPU_CLASS_PTR call_push_32((Bit16u) BX_CPU_CLASS_PTR program_visible_eip);\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_CALL,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::JMP16_Ep(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tBit16u aim_ip;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&aim_ip);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i)+2,&new_cs);\n\tnew_eip = aim_ip;\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR jump_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_JMP,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::JMP32_Ep(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u new_cs;\n\tBit32u aim_eip;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&aim_eip);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i)+4,&new_cs);\n\tnew_eip = aim_eip;\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR jump_protected(i,new_cs,new_eip);\n\t\tgoto done;\n\t}\n\tBX_CPU_CLASS_PTR program_visible_eip = (Bit32u) new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_JMP,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::JMP_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tnew_eip = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"JMP_EGw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::JMP_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u op1;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\tnew_eip = op1;\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"JMP_EEw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::JMP_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tnew_eip = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"JMP_EGd_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::JMP_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u op1;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\tnew_eip = op1;\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"JMP_EEd_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::CALL_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tnew_eip = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tBX_CPU_CLASS_PTR call_push_16((Bit16u)BX_CPU_CLASS_PTR program_visible_eip);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"CALL_EGw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::CALL_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u op1;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\tnew_eip = op1;\n\tBX_CPU_CLASS_PTR call_push_16((Bit16u)BX_CPU_CLASS_PTR program_visible_eip);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"CALL_EEw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::CALL_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tnew_eip = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tBX_CPU_CLASS_PTR call_push_32(BX_CPU_CLASS_PTR program_visible_eip);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"CALL_EGd_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::CALL_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u op1;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\tnew_eip = op1;\n\tBX_CPU_CLASS_PTR call_push_32(BX_CPU_CLASS_PTR program_visible_eip);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"CALL_EEd_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::RETnear16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u aim_ip;\n\tBX_CPU_CLASS_PTR pop_16(&aim_ip);\n\tnew_eip = aim_ip;\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"RETnear16_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::RETnear32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u aim_eip;\n\tBX_CPU_CLASS_PTR pop_32(&aim_eip);\n\tnew_eip = aim_eip;\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"RETnear32_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::RETnear16_Iw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u aim_ip;\n\tBX_CPU_CLASS_PTR pop_16(&aim_ip);\n\tnew_eip = aim_ip;\n\tif (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n\t\tRW_ESP += IMMEDIATEIw(i);\n\telse\n\t\tRW_SP  += IMMEDIATEIw(i);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"RETnear16_Iw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::RETnear32_Iw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u aim_eip;\n\tBX_CPU_CLASS_PTR pop_32(&aim_eip);\n\tnew_eip = aim_eip;\n\tif (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n\t\tRW_ESP += IMMEDIATEIw(i);\n\telse\n\t\tRW_SP  += IMMEDIATEIw(i);\n#if BX_CPU_LEVEL >= 2\n\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t{\n\t\tBX_PANIC((\"RETnear32_Iw_routine: offset outside of CS limits\"));\n\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n#endif\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\n\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n}\n\n\tvoid\nBX_CPU_C::RETfar16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR return_protected(i,0);\n\t\tgoto done;\n\t}\n\tBit16u aim_ip,new_cs;\n\tBX_CPU_CLASS_PTR pop_16(&aim_ip);\n\tBX_CPU_CLASS_PTR pop_16(&new_cs);\n\tnew_eip = aim_ip;\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_RET,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::RETfar32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR return_protected(i,0);\n\t\tgoto done;\n\t}\n\tBit32u aim_eip,new_cs;\n\tBX_CPU_CLASS_PTR pop_32(&aim_eip);\n\tBX_CPU_CLASS_PTR pop_32(&new_cs);\n\tnew_eip = aim_eip;\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_RET,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::RETfar16_Iw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR return_protected(i,IMMEDIATEIw(i));\n\t\tgoto done;\n\t}\n\tBit16u aim_ip,new_cs;\n\tBX_CPU_CLASS_PTR pop_16(&aim_ip);\n\tBX_CPU_CLASS_PTR pop_16(&new_cs);\n\tnew_eip = aim_ip;\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\n\tif (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n\t\tRW_ESP += IMMEDIATEIw(i);\n\telse\n\t\tRW_SP  += IMMEDIATEIw(i);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_RET,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::RETfar32_Iw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tBX_CPU_CLASS_PTR return_protected(i,IMMEDIATEIw(i));\n\t\tgoto done;\n\t}\n\tBit32u aim_eip,new_cs;\n\tBX_CPU_CLASS_PTR pop_32(&aim_eip);\n\tBX_CPU_CLASS_PTR pop_32(&new_cs);\n\tnew_eip = aim_eip;\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\n\tif (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n\t\tRW_ESP += IMMEDIATEIw(i);\n\telse\n\t\tRW_SP  += IMMEDIATEIw(i);\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_RET,\n\t\t\tBX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::IRET16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit16u aim_ip, new_cs,flags;\n#if BX_DEBUGGER\n\tBX_CPU_CLASS_PTR show_flag |= Flag_iret;\n\tBX_CPU_CLASS_PTR show_eip = BX_CPU_CLASS_PTR program_visible_eip;\n#endif\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t{\n\t\t// IOPL check in stack_return_from_v86()\n\t\tBX_CPU_CLASS_PTR stack_return_from_v86(i);\n\t\tgoto done;\n\t}\n#if BX_CPU_LEVEL >= 2\n\tif (BX_CPU_CLASS_PTR cr0.pe)\n\t{\n\t\tBX_CPU_CLASS_PTR iret_protected(i);\n\t\tgoto done;\n\t}\n#endif\n\tBX_CPU_CLASS_PTR pop_16(&aim_ip);\n\tBX_CPU_CLASS_PTR pop_16(&new_cs);\n\tBX_CPU_CLASS_PTR pop_16(&flags);\n\tnew_eip = aim_ip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS],new_cs);\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\tBX_CPU_CLASS_PTR write_flags(flags, /* change IOPL? */ 1, /* change IF? */ 1);\n\tBX_CPU_CLASS_PTR inhibit_mask |= BX_INHIBIT_INTERRUPTS | BX_INHIBIT_DEBUG;\n\tBX_CPU_CLASS_PTR async_event = 1;\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_IRET,\n\t\t\t        BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::IRET32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u aim_eip,new_cs,eflags;\n#if BX_DEBUGGER\n\tBX_CPU_CLASS_PTR show_flag |= Flag_iret;\n\tBX_CPU_CLASS_PTR show_eip = BX_CPU_CLASS_PTR program_visible_eip;\n#endif\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t{\n\t\t// IOPL check in stack_return_from_v86()\n\t\tBX_CPU_CLASS_PTR stack_return_from_v86(i);\n\t\tgoto done;\n\t}\n#if BX_CPU_LEVEL >= 2\n\tif (BX_CPU_CLASS_PTR cr0.pe)\n\t{\n\t\tBX_CPU_CLASS_PTR iret_protected(i);\n\t\tgoto done;\n\t}\n#endif\n\tBX_ERROR((\"IRET32 called when you're not in vm8086 mode or protected mode.\"));\n\tBX_ERROR((\"IRET32 may not be implemented right, since it doesn't check anything.\"));\n\tBX_PANIC((\"Please report that you have found a test case for BX_CPU_C::IRET32.\"));\n\tBX_CPU_CLASS_PTR pop_32(&aim_eip);\n\tBX_CPU_CLASS_PTR pop_32(&new_cs);\n\tBX_CPU_CLASS_PTR pop_32(&eflags);\n\tnew_eip = aim_eip;\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS], (Bit16u)new_cs);\n\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t//FIXME: this should do (eflags & 0x257FD5) | (EFLAGS | 0x1A0000)\n\tBX_CPU_CLASS_PTR write_eflags(eflags, /* change IOPL? */ 1, /* change IF? */ 1, 0, 1);\n\tBX_CPU_CLASS_PTR inhibit_mask |= BX_INHIBIT_INTERRUPTS | BX_INHIBIT_DEBUG;\n\tBX_CPU_CLASS_PTR async_event = 1;\ndone:\n\tBX_INSTR_FAR_BRANCH(BX_INSTR_IS_IRET,\n\t\t\t        BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\t\t\tBX_CPU_CLASS_PTR program_visible_eip);\n\treturn ;\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/ctrl_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: ctrl_xfer_pro.cc,v 1.10 2001/11/10 23:00:55 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n#if BX_CPU_LEVEL >= 2\n  void\nBX_CPU_C::jump_protected(bxInstruction_c *i, Bit16u cs_raw, Bit32u disp32)\n{\n  bx_descriptor_t  descriptor;\n  bx_selector_t    selector;\n  Bit32u dword1, dword2;\n\n\n  /* destination selector is not null else #GP(0) */\n  if ((cs_raw & 0xfffc) == 0) {\n    BX_PANIC((\"jump_protected: cs == 0\"));\n    exception(BX_GP_EXCEPTION, 0, 0);\n    return;\n    }\n\n  parse_selector(cs_raw, &selector);\n\n  /* destination selector index is whithin its descriptor table\n     limits else #GP(selector) */\n  fetch_raw_descriptor(&selector, &dword1, &dword2,\n    BX_GP_EXCEPTION);\n\n  /* examine AR byte of destination selector for legal values: */\n  parse_descriptor(dword1, dword2, &descriptor);\n\n  if ( descriptor.segment ) {\n    if ( descriptor.u.segment.executable==0 ) {\n      BX_ERROR((\"jump_protected: S=1: descriptor not executable\"));\n      exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n      return;\n      }\n    // CASE: JUMP CONFORMING CODE SEGMENT:\n    if ( descriptor.u.segment.c_ed ) {\n      // descripor DPL must be <= CPL else #GP(selector)\n      if (descriptor.dpl > CPL) {\n        BX_ERROR((\"jump_protected: dpl > CPL\"));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n\n      /* segment must be PRESENT else #NP(selector) */\n      if (descriptor.p == 0) {\n        BX_ERROR((\"jump_protected: p == 0\"));\n        exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n\n      /* instruction pointer must be in code segment limit else #GP(0) */\n      if (disp32 > descriptor.u.segment.limit_scaled) {\n        BX_PANIC((\"jump_protected: IP > limit\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        return;\n        }\n\n      /* Load CS:IP from destination pointer */\n      /* Load CS-cache with new segment descriptor */\n      /* CPL does not change for conforming code segment */\n      load_cs(&selector, &descriptor, CPL);\n      BX_CPU_THIS_PTR program_visible_eip = disp32;\n      return;\n      }\n\n    // CASE: jump nonconforming code segment:\n    else {\n      /* RPL of destination selector must be <= CPL else #GP(selector) */\n      if (selector.rpl > CPL) {\n        BX_PANIC((\"jump_protected: rpl > CPL\"));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n\n      // descriptor DPL must = CPL else #GP(selector)\n      if (descriptor.dpl != CPL) {\n        BX_ERROR((\"jump_protected: dpl != CPL\"));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n\n      /* segment must be PRESENT else #NP(selector) */\n      if (descriptor.p == 0) {\n        BX_ERROR((\"jump_protected: p == 0\"));\n        exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n\n      /* IP must be in code segment limit else #GP(0) */\n      if (disp32 > descriptor.u.segment.limit_scaled) {\n        BX_PANIC((\"jump_protected: IP > limit\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        return;\n        }\n\n      /* load CS:IP from destination pointer */\n      /* load CS-cache with new segment descriptor */\n      /* set RPL field of CS register to CPL */\n      load_cs(&selector, &descriptor, CPL);\n      BX_CPU_THIS_PTR program_visible_eip = disp32;\n      return;\n      }\n    BX_PANIC((\"jump_protected: segment=1\"));\n    }\n\n  else {\n    Bit16u          raw_tss_selector;\n    bx_selector_t   tss_selector, gate_cs_selector;\n    bx_descriptor_t tss_descriptor, gate_cs_descriptor;\n    Bit16u gate_cs_raw;\n    Bit32u temp_eIP;\n\n\n    switch ( descriptor.type ) {\n      case  1: // 286 available TSS\n      case  9: // 386 available TSS\n        //if ( descriptor.type==1 )\n        //  BX_INFO((\"jump to 286 TSS\"));\n        //else\n        //  BX_INFO((\"jump to 386 TSS\"));\n\n        // TSS DPL must be >= CPL, else #GP(TSS selector)\n        if (descriptor.dpl < CPL) {\n          BX_PANIC((\"jump_protected: TSS.dpl < CPL\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // TSS DPL must be >= TSS selector RPL, else #GP(TSS selector)\n        if (descriptor.dpl < selector.rpl) {\n          BX_PANIC((\"jump_protected: TSS.dpl < selector.rpl\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // descriptor AR byte must specify available TSS,\n        //   else #GP(TSS selector) */\n        // this is taken care of by the 'default' case of switch statement */\n\n        // Task State Seg must be present, else #NP(TSS selector)\n        // checked in task_switch()\n\n        // SWITCH_TASKS _without_ nesting to TSS\n        task_switch(&selector, &descriptor,\n          BX_TASK_FROM_JUMP, dword1, dword2);\n\n        // IP must be in code seg limit, else #GP(0)\n        if (X86_EIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n          BX_ERROR((\"jump_protected: TSS.p == 0\"));\n          exception(BX_GP_EXCEPTION, 0, 0);\n          return;\n          }\n        return;\n        break;\n\n      case  3: // Busy 286 TSS\n        BX_PANIC((\"jump_protected: JUMP to busy 286 TSS unsupported.\"));\n        return;\n        break;\n\n      case  4: // 286 call gate\n        BX_ERROR((\"jump_protected: JUMP TO 286 CALL GATE:\"));\n\n        // descriptor DPL must be >= CPL else #GP(gate selector)\n        if (descriptor.dpl < CPL) {\n          BX_ERROR((\"jump_protected: gate.dpl < CPL\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // descriptor DPL must be >= gate selector RPL else #GP(gate selector)\n        if (descriptor.dpl < selector.rpl) {\n          BX_ERROR((\"jump_protected: gate.dpl < selector.rpl\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // gate must be present else #NP(gate selector)\n        if (descriptor.p==0) {\n          BX_PANIC((\"jump_protected: task gate.p == 0\"));\n          exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // examine selector to code segment given in call gate descriptor\n        // selector must not be null, else #GP(0)\n        gate_cs_raw = descriptor.u.gate286.dest_selector;\n        if ( (gate_cs_raw & 0xfffc) == 0 ) {\n          BX_PANIC((\"jump_protected: CS selector null\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n        parse_selector(gate_cs_raw, &gate_cs_selector);\n\n        // selector must be within its descriptor table limits else #GP(CS selector)\n        fetch_raw_descriptor(&gate_cs_selector, &dword1, &dword2,\n          BX_GP_EXCEPTION);\n        parse_descriptor(dword1, dword2, &gate_cs_descriptor);\n        // descriptor AR byte must indicate code segment else #GP(CS selector)\n        if ( (gate_cs_descriptor.valid==0) ||\n             (gate_cs_descriptor.segment==0) ||\n             (gate_cs_descriptor.u.segment.executable==0) ) {\n          BX_ERROR((\"jump_protected: AR byte: not code segment.\"));\n          exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n          }\n\n        // if non-conforming, code segment descriptor DPL must = CPL else #GP(CS selector)\n        if (gate_cs_descriptor.u.segment.c_ed==0) {\n          if (gate_cs_descriptor.dpl != CPL) {\n            BX_ERROR((\"jump_protected: non-conform: code seg des DPL != CPL.\"));\n            exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n            }\n          }\n        // if conforming, then code segment descriptor DPL must <= CPL else #GP(CS selector)\n        else {\n          if (gate_cs_descriptor.dpl > CPL) {\n            BX_ERROR((\"jump_protected: conform: code seg des DPL > CPL.\"));\n            exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n            }\n          }\n\n        // code segment must be present else #NP(CS selector)\n        if (gate_cs_descriptor.p==0) {\n          BX_ERROR((\"jump_protected: code seg not present.\"));\n          exception(BX_NP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n          }\n\n        // IP must be in code segment limit else #GP(0)\n        if ( descriptor.u.gate286.dest_offset >\n             gate_cs_descriptor.u.segment.limit_scaled ) {\n          BX_PANIC((\"jump_protected: IP > limit\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n\n        // load CS:IP from call gate\n        // load CS cache with new code segment\n        // set rpl of CS to CPL\n        load_cs(&gate_cs_selector, &gate_cs_descriptor, CPL);\n        X86_EIP = descriptor.u.gate286.dest_offset;\n        return;\n        break;\n\n\n      case  5: // task gate\n//BX_INFO((\"jump_pro: task gate\"));\n\n        // gate descriptor DPL must be >= CPL else #GP(gate selector)\n        if (descriptor.dpl < CPL) {\n          BX_PANIC((\"jump_protected: gate.dpl < CPL\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // gate descriptor DPL must be >= gate selector RPL\n        //   else #GP(gate selector)\n        if (descriptor.dpl < selector.rpl) {\n          BX_PANIC((\"jump_protected: gate.dpl < selector.rpl\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // task gate must be present else #NP(gate selector)\n        if (descriptor.p==0) {\n          BX_PANIC((\"jump_protected: task gate.p == 0\"));\n          exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // examine selector to TSS, given in Task Gate descriptor\n        // must specify global in the local/global bit else #GP(TSS selector)\n\n        raw_tss_selector = descriptor.u.taskgate.tss_selector;\n        parse_selector(raw_tss_selector, &tss_selector);\n        if (tss_selector.ti) {\n          BX_PANIC((\"jump_protected: tss_selector.ti=1\"));\n          exception(BX_GP_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          return;\n          }\n\n        // index must be within GDT limits else #GP(TSS selector)\n        fetch_raw_descriptor(&tss_selector, &dword1, &dword2,\n          BX_GP_EXCEPTION);\n\n        // descriptor AR byte must specify available TSS\n        //   else #GP(TSS selector)\n        parse_descriptor(dword1, dword2, &tss_descriptor);\n        if (tss_descriptor.valid==0 || tss_descriptor.segment) {\n          BX_ERROR((\"jump_protected: TSS selector points to bad TSS\"));\n          exception(BX_GP_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n        if (tss_descriptor.type!=9 && tss_descriptor.type!=1) {\n          BX_ERROR((\"jump_protected: TSS selector points to bad TSS\"));\n          exception(BX_GP_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n\n\n        // task state segment must be present, else #NP(tss selector)\n        if (tss_descriptor.p==0) {\n          BX_PANIC((\"jump_protected: task descriptor.p == 0\"));\n          exception(BX_NP_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n\n        // SWITCH_TASKS _without_ nesting to TSS\n        task_switch(&tss_selector, &tss_descriptor,\n                    BX_TASK_FROM_JUMP, dword1, dword2);\n\n        // eIP must be within code segment limit, else #GP(0)\n        if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b)\n          temp_eIP = X86_EIP;\n        else\n          temp_eIP =  X86_IP;\n        if (temp_eIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n          BX_PANIC((\"jump_protected: eIP > cs.limit\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n\n        break;\n\n      case 11: // Busy 386 TSS\n        BX_PANIC((\"jump_protected: JUMP to busy 386 TSS unsupported.\"));\n        return;\n        break;\n\n      case 12: // 386 call gate\n        //BX_ERROR((\"jump_protected: JUMP TO 386 CALL GATE:\"));\n\n        // descriptor DPL must be >= CPL else #GP(gate selector)\n        if (descriptor.dpl < CPL) {\n          BX_PANIC((\"jump_protected: gate.dpl < CPL\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // descriptor DPL must be >= gate selector RPL else #GP(gate selector)\n        if (descriptor.dpl < selector.rpl) {\n          BX_PANIC((\"jump_protected: gate.dpl < selector.rpl\"));\n          exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // gate must be present else #NP(gate selector)\n        if (descriptor.p==0) {\n          BX_PANIC((\"jump_protected: task gate.p == 0\"));\n          exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // examine selector to code segment given in call gate descriptor\n        // selector must not be null, else #GP(0)\n        gate_cs_raw = descriptor.u.gate386.dest_selector;\n        if ( (gate_cs_raw & 0xfffc) == 0 ) {\n          BX_PANIC((\"jump_protected: CS selector null\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n        parse_selector(gate_cs_raw, &gate_cs_selector);\n\n        // selector must be within its descriptor table limits else #GP(CS selector)\n        fetch_raw_descriptor(&gate_cs_selector, &dword1, &dword2,\n          BX_GP_EXCEPTION);\n        parse_descriptor(dword1, dword2, &gate_cs_descriptor);\n        // descriptor AR byte must indicate code segment else #GP(CS selector)\n        if ( (gate_cs_descriptor.valid==0) ||\n             (gate_cs_descriptor.segment==0) ||\n             (gate_cs_descriptor.u.segment.executable==0) ) {\n          BX_PANIC((\"jump_protected: AR byte: not code segment.\"));\n          exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n          }\n\n        // if non-conforming, code segment descriptor DPL must = CPL else #GP(CS selector)\n        if (gate_cs_descriptor.u.segment.c_ed==0) {\n          if (gate_cs_descriptor.dpl != CPL) {\n            BX_PANIC((\"jump_protected: non-conform: code seg des DPL != CPL.\"));\n            exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n            }\n          }\n        // if conforming, then code segment descriptor DPL must <= CPL else #GP(CS selector)\n        else {\n          if (gate_cs_descriptor.dpl > CPL) {\n            BX_PANIC((\"jump_protected: conform: code seg des DPL > CPL.\"));\n            exception(BX_GP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n            }\n          }\n\n        // code segment must be present else #NP(CS selector)\n        if (gate_cs_descriptor.p==0) {\n          BX_PANIC((\"jump_protected: code seg not present.\"));\n          exception(BX_NP_EXCEPTION, gate_cs_raw & 0xfffc, 0);\n          }\n\n        // IP must be in code segment limit else #GP(0)\n        if ( descriptor.u.gate386.dest_offset >\n             gate_cs_descriptor.u.segment.limit_scaled ) {\n          BX_PANIC((\"jump_protected: IP > limit\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n\n        // load CS:IP from call gate\n        // load CS cache with new code segment\n        // set rpl of CS to CPL\n        load_cs(&gate_cs_selector, &gate_cs_descriptor, CPL);\n        X86_EIP = descriptor.u.gate386.dest_offset;\n        return;\n        break;\n\n      default:\n        BX_ERROR((\"jump_protected: gate type %u unsupported\",\n          (unsigned) descriptor.type));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        break;\n      }\n    }\n    return;\n}\n#endif /* if BX_CPU_LEVEL >= 2 */\n\n\n#if BX_CPU_LEVEL >= 2\n  void\nBX_CPU_C::call_protected(bxInstruction_c *i, Bit16u cs_raw, Bit32u disp32)\n{\n  bx_selector_t cs_selector;\n  Bit32u dword1, dword2;\n  bx_descriptor_t cs_descriptor;\n\n  /* Opsize in effect for CALL is specified by the D bit for the\n   * segment containing dest & by any opsize prefix.\n   * For gate descriptor, deterermined by type of call gate:\n   * 4=16bit, 12=32bit\n   * count field: 16bit specifies #words, 32bit specifies #dwords\n   */\n\n  /* new cs selector must not be null, else #GP(0) */\n  if ( (cs_raw & 0xfffc) == 0 ) {\n    BX_PANIC((\"call_protected: CS selector null\"));\n    exception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n  parse_selector(cs_raw, &cs_selector);\n\n  // check new CS selector index within its descriptor limits,\n  // else #GP(new CS selector)\n  fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n    BX_GP_EXCEPTION);\n\n  parse_descriptor(dword1, dword2, &cs_descriptor);\n\n  // examine AR byte of selected descriptor for various legal values\n  if (cs_descriptor.valid==0) {\n    BX_PANIC((\"call_protected: invalid CS descriptor\"));\n    exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n    }\n\n  if (cs_descriptor.segment) { // normal segment\n    Bit32u temp_ESP;\n\n    if (cs_descriptor.u.segment.executable==0) {\n      BX_PANIC((\"call_protected: non executable segment\"));\n      exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n      return;\n      }\n\n    if (cs_descriptor.u.segment.c_ed) { // conforming code segment\n      // DPL must be <= CPL, else #GP(code seg selector)\n      if (cs_descriptor.dpl > CPL) {\n        BX_PANIC((\"call_protected: cs.dpl > CPL\"));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        return;\n        }\n      }\n    else { // non-conforming code segment\n      // RPL must be <= CPL, else #GP(code seg selector)\n      // DPL must be = CPL, else #GP(code seg selector)\n      if ( (cs_selector.rpl > CPL) ||\n           (cs_descriptor.dpl != CPL) ) {\n        BX_PANIC((\"call_protected: cs.rpl > CPL\"));\n        exception(BX_GP_EXCEPTION, cs_raw & 0xfffc, 0);\n        }\n      }\n\n    // segment must be present, else #NP(code seg selector)\n    if (cs_descriptor.p == 0) {\n      BX_ERROR((\"call_protected: cs.p = 0\"));\n      exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n      }\n\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      temp_ESP = X86_ESP;\n    else\n      temp_ESP = X86_SP;\n\n    // stack must be big enough for return addr, else #SS(0)\n    if (i->size_mode.os_32) {\n      if ( !can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 8) ) {\n        BX_PANIC((\"call_protected: stack doesn't have room for ret addr\"));\n        exception(BX_SS_EXCEPTION, 0, 0);\n        }\n\n      // IP must be in code seg limit, else #GP(0)\n      if (disp32 > cs_descriptor.u.segment.limit_scaled) {\n        BX_PANIC((\"call_protected: IP not in code seg limit\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        }\n\n      // push return address onto stack (CS padded to 32bits)\n      call_push_32((Bit32u) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n      call_push_32(X86_EIP);\n      }\n    else { // 16bit opsize\n      if ( !can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 4) ) {\n        BX_PANIC((\"call_protected: stack doesn't have room for ret addr\"));\n        exception(BX_SS_EXCEPTION, 0, 0);\n        }\n\n      // IP must be in code seg limit, else #GP(0)\n      if (disp32 > cs_descriptor.u.segment.limit_scaled) {\n        BX_PANIC((\"call_protected: IP not in code seg limit\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        }\n\n      call_push_16(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n      call_push_16(X86_IP);\n      }\n\n    // load code segment descriptor into CS cache\n    // load CS with new code segment selector\n    // set RPL of CS to CPL\n    // load eIP with new offset\n    load_cs(&cs_selector, &cs_descriptor, CPL);\n    BX_CPU_THIS_PTR program_visible_eip = disp32;\n    if (cs_descriptor.u.segment.d_b==0)\n      BX_CPU_THIS_PTR program_visible_eip &= 0x0000ffff;\n    return;\n    }\n  else { // gate & special segment\n    bx_descriptor_t  gate_descriptor;\n    bx_selector_t    gate_selector;\n    Bit32u new_EIP;\n    Bit16u dest_selector;\n    Bit16u          raw_tss_selector;\n    bx_selector_t   tss_selector;\n    bx_descriptor_t tss_descriptor;\n    Bit32u temp_eIP;\n\n    /* 1 level of indirection via gate, switch gate & cs */\n    gate_descriptor = cs_descriptor;\n    gate_selector   = cs_selector;\n\n    switch (gate_descriptor.type) {\n      case 1: // available 16bit TSS\n      case 9: // available 32bit TSS\n        //if (gate_descriptor.type==1)\n        //  BX_INFO((\"call_protected: 16bit available TSS\"));\n        //else\n        //  BX_INFO((\"call_protected: 32bit available TSS\"));\n\n        // TSS DPL must be >= CPL, else #TS(TSS selector)\n        if (gate_descriptor.dpl < CPL) {\n          BX_PANIC((\"call_protected: TSS.dpl < CPL\"));\n          exception(BX_TS_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // TSS DPL must be >= TSS selector RPL, else #TS(TSS selector)\n        if (gate_descriptor.dpl < gate_selector.rpl) {\n          BX_PANIC((\"call_protected: TSS.dpl < selector.rpl\"));\n          exception(BX_TS_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // descriptor AR byte must specify available TSS,\n        //   else #TS(TSS selector) */\n        // this is taken care of by the 'default' case of switch statement */\n\n        // Task State Seg must be present, else #NP(TSS selector)\n        // checked in task_switch()\n\n        // SWITCH_TASKS _without_ nesting to TSS\n        task_switch(&gate_selector, &gate_descriptor,\n          BX_TASK_FROM_CALL_OR_INT, dword1, dword2);\n\n        // IP must be in code seg limit, else #TS(0)\n        if (X86_EIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n          BX_INFO((\"call_protected: TSS.p == 0\"));\n          exception(BX_TS_EXCEPTION, 0, 0);\n          return;\n          }\n        return;\n        break;\n\n      case 5: // TASK GATE\n        //BX_INFO((\"call_protected: task gate\"));\n        // gate descriptor DPL must be >= CPL else #TS(gate selector)\n        if (gate_descriptor.dpl < CPL) {\n          BX_PANIC((\"call_protected: gate.dpl < CPL\"));\n          exception(BX_TS_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // gate descriptor DPL must be >= gate selector RPL\n        //   else #TS(gate selector)\n        if (gate_descriptor.dpl < gate_selector.rpl) {\n          BX_PANIC((\"call_protected: gate.dpl < selector.rpl\"));\n          exception(BX_TS_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // task gate must be present else #NP(gate selector)\n        if (gate_descriptor.p==0) {\n          BX_PANIC((\"call_protected: task gate.p == 0\"));\n          exception(BX_NP_EXCEPTION, cs_raw & 0xfffc, 0);\n          return;\n          }\n\n        // examine selector to TSS, given in Task Gate descriptor\n        // must specify global in the local/global bit else #TS(TSS selector)\n\n        raw_tss_selector = gate_descriptor.u.taskgate.tss_selector;\n        parse_selector(raw_tss_selector, &tss_selector);\n        if (tss_selector.ti) {\n          BX_PANIC((\"call_protected: tss_selector.ti=1\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          return;\n          }\n\n        // index must be within GDT limits else #TS(TSS selector)\n        fetch_raw_descriptor(&tss_selector, &dword1, &dword2,\n          BX_TS_EXCEPTION);\n\n        // descriptor AR byte must specify available TSS\n        //   else #TS(TSS selector)\n        parse_descriptor(dword1, dword2, &tss_descriptor);\n        if (tss_descriptor.valid==0 || tss_descriptor.segment) {\n          BX_PANIC((\"call_protected: TSS selector points to bad TSS\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n        if (tss_descriptor.type!=9 && tss_descriptor.type!=1) {\n          BX_PANIC((\"call_protected: TSS selector points to bad TSS\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n\n\n        // task state segment must be present, else #NP(tss selector)\n        if (tss_descriptor.p==0) {\n          BX_PANIC((\"call_protected: task descriptor.p == 0\"));\n          exception(BX_NP_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          }\n\n        // SWITCH_TASKS without nesting to TSS\n        task_switch(&tss_selector, &tss_descriptor,\n                    BX_TASK_FROM_CALL_OR_INT, dword1, dword2);\n\n        // eIP must be within code segment limit, else #TS(0)\n        if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b)\n          temp_eIP = X86_EIP;\n        else\n          temp_eIP =  X86_IP;\n        if (temp_eIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n          BX_PANIC((\"call_protected: eIP > cs.limit\"));\n          exception(BX_TS_EXCEPTION, 0x0000, 0);\n          }\n\n        return;\n        break;\n\n      case  4: // 16bit CALL GATE\n      case 12: // 32bit CALL GATE\n//if (gate_descriptor.type==4)\n//  BX_INFO((\"CALL: 16bit call gate\"));\n//else\n//  BX_INFO((\"CALL: 32bit call gate\"));\n\n        // call gate DPL must be >= CPL, else #GP(call gate selector)\n        // call gate DPL must be >= RPL, else #GP(call gate selector)\n        if ( (gate_descriptor.dpl < CPL) ||\n             (gate_descriptor.dpl < gate_selector.rpl) ) {\n          BX_PANIC((\"call_protected: DPL < CPL or RPL\"));\n          exception(BX_GP_EXCEPTION, gate_selector.value & 0xfffc, 0);\n          }\n\n        // call gate must be present, else #NP(call gate selector)\n        if (gate_descriptor.p==0) {\n          BX_PANIC((\"call_protected: not present\"));\n          exception(BX_NP_EXCEPTION, gate_selector.value & 0xfffc, 0);\n          }\n\n        // examine code segment selector in call gate descriptor\n\n        if (gate_descriptor.type==4) {\n          dest_selector = gate_descriptor.u.gate286.dest_selector;\n          new_EIP = gate_descriptor.u.gate286.dest_offset;\n          }\n        else {\n          dest_selector = gate_descriptor.u.gate386.dest_selector;\n          new_EIP = gate_descriptor.u.gate386.dest_offset;\n          }\n\n        // selector must not be null else #GP(0)\n        if ( (dest_selector & 0xfffc) == 0 ) {\n          BX_PANIC((\"call_protected: selector in gate null\"));\n          exception(BX_GP_EXCEPTION, 0, 0);\n          }\n\n        parse_selector(dest_selector, &cs_selector);\n\n        // selector must be within its descriptor table limits,\n        //   else #GP(code segment selector)\n        fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n          BX_GP_EXCEPTION);\n        parse_descriptor(dword1, dword2, &cs_descriptor);\n\n        // AR byte of selected descriptor must indicate code segment,\n        //   else #GP(code segment selector)\n        // DPL of selected descriptor must be <= CPL,\n        // else #GP(code segment selector)\n        if (cs_descriptor.valid==0 ||\n            cs_descriptor.segment==0 ||\n            cs_descriptor.u.segment.executable==0 ||\n            cs_descriptor.dpl > CPL) {\n          BX_PANIC((\"call_protected: selected desciptor not code\"));\n          exception(BX_GP_EXCEPTION, cs_selector.value & 0xfffc, 0);\n          }\n\n        // CALL GATE TO MORE PRIVILEGE\n        // if non-conforming code segment and DPL < CPL then\n        // ??? use gate_descriptor.dpl or cs_descriptor.dpl ???\n        if ( (cs_descriptor.u.segment.c_ed==0)  &&\n             (cs_descriptor.dpl < CPL) ) {\n\n          Bit16u SS_for_cpl_x;\n          Bit32u ESP_for_cpl_x;\n          bx_selector_t   ss_selector;\n          bx_descriptor_t ss_descriptor;\n          unsigned room_needed;\n          Bit8u    param_count;\n          Bit16u   return_SS, return_CS;\n          Bit32u   return_ESP, return_EIP;\n          Bit32u   return_ss_base;\n          unsigned i;\n          Bit16u   parameter_word[32];\n          Bit32u   parameter_dword[32];\n          Bit32u   temp_ESP;\n\n//BX_INFO((\"CALL: Call Gate: to more priviliged level\"));\n\n          // get new SS selector for new privilege level from TSS\n          get_SS_ESP_from_TSS(cs_descriptor.dpl,\n                              &SS_for_cpl_x, &ESP_for_cpl_x);\n\n/* ??? use dpl or rpl ??? */\n\n          // check selector & descriptor for new SS:\n          // selector must not be null, else #TS(0)\n          if ( (SS_for_cpl_x & 0xfffc) == 0 ) {\n            BX_PANIC((\"call_protected: new SS null\"));\n            exception(BX_TS_EXCEPTION, 0, 0);\n            return;\n            }\n\n          // selector index must be within its descriptor table limits,\n          //   else #TS(SS selector)\n          parse_selector(SS_for_cpl_x, &ss_selector);\n          fetch_raw_descriptor(&ss_selector, &dword1, &dword2,\n            BX_TS_EXCEPTION);\n\n          parse_descriptor(dword1, dword2, &ss_descriptor);\n\n          // selector's RPL must equal DPL of code segment,\n          //   else #TS(SS selector)\n          if (ss_selector.rpl != cs_descriptor.dpl) {\n            BX_PANIC((\"call_protected: SS selector.rpl != CS descr.dpl\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            return;\n            }\n\n          // stack segment DPL must equal DPL of code segment,\n          //   else #TS(SS selector)\n          if (ss_descriptor.dpl != cs_descriptor.dpl) {\n            BX_PANIC((\"call_protected: SS descr.rpl != CS descr.dpl\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            return;\n            }\n\n          // descriptor must indicate writable data segment,\n          //   else #TS(SS selector)\n          if (ss_descriptor.valid==0 ||\n              ss_descriptor.segment==0  ||\n              ss_descriptor.u.segment.executable ||\n              ss_descriptor.u.segment.r_w==0) {\n            BX_INFO((\"call_protected: ss descriptor not writable data seg\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            return;\n            }\n\n          // segment must be present, else #SS(SS selector)\n          if (ss_descriptor.p==0) {\n            BX_PANIC((\"call_protected: ss descriptor not present.\"));\n            exception(BX_SS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            return;\n            }\n\n          if ( cs_descriptor.u.segment.d_b )\n            // new stack must have room for parameters plus 16 bytes\n            room_needed = 16;\n          else\n            // new stack must have room for parameters plus 8 bytes\n            room_needed =  8;\n\n          if (gate_descriptor.type==4) {\n            // get word count from call gate, mask to 5 bits\n            param_count = gate_descriptor.u.gate286.word_count & 0x1f;\n            room_needed += param_count*2;\n            }\n          else {\n            // get word count from call gate, mask to 5 bits\n            param_count = gate_descriptor.u.gate386.dword_count & 0x1f;\n            room_needed += param_count*4;\n            }\n\n          // new stack must have room for parameters plus return info\n          //   else #SS(SS selector)\n\n          if ( !can_push(&ss_descriptor, ESP_for_cpl_x, room_needed) ) {\n            BX_INFO((\"call_protected: stack doesn't have room\"));\n            exception(BX_SS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            return;\n            }\n\n          // new eIP must be in code segment limit else #GP(0)\n          if ( new_EIP > cs_descriptor.u.segment.limit_scaled ) {\n            BX_PANIC((\"call_protected: IP not within CS limits\"));\n            exception(BX_GP_EXCEPTION, 0, 0);\n            return;\n            }\n\n\n          // save return SS:eSP to be pushed on new stack\n          return_SS = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value;\n          if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n            return_ESP = X86_ESP;\n          else\n            return_ESP = X86_SP;\n          return_ss_base = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base;\n\n          // save return CS:eIP to be pushed on new stack\n          return_CS = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n          if ( cs_descriptor.u.segment.d_b )\n            return_EIP = X86_EIP;\n          else\n            return_EIP =  X86_IP;\n\n\n          if (gate_descriptor.type==4) {\n            for (i=0; i<param_count; i++) {\n              BX_CPU_THIS_PTR access_linear(return_ss_base + return_ESP + i*2,\n                2, 0, BX_READ, &parameter_word[i]);\n              }\n            }\n          else {\n            for (i=0; i<param_count; i++) {\n              BX_CPU_THIS_PTR access_linear(return_ss_base + return_ESP + i*4,\n                4, 0, BX_READ, &parameter_dword[i]);\n              }\n            }\n\n          /* load new SS:SP value from TSS */\n          /* load SS descriptor */\n          load_ss(&ss_selector, &ss_descriptor, ss_descriptor.dpl);\n          if (ss_descriptor.u.segment.d_b)\n           X86_ESP = ESP_for_cpl_x;\n          else\n           X86_SP =  (Bit16u) ESP_for_cpl_x;\n\n          /* load new CS:IP value from gate */\n          /* load CS descriptor */\n          /* set CPL to stack segment DPL */\n          /* set RPL of CS to CPL */\n          load_cs(&cs_selector, &cs_descriptor, cs_descriptor.dpl);\n          X86_EIP = new_EIP;\n\n          // push pointer of old stack onto new stack\n          if (gate_descriptor.type==4) {\n            call_push_16(return_SS);\n            call_push_16((Bit16u) return_ESP);\n            }\n          else {\n            call_push_32(return_SS);\n            call_push_32(return_ESP);\n            }\n\n          /* get word count from call gate, mask to 5 bits */\n          /* copy parameters from old stack onto new stack */\n          if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n            temp_ESP = X86_ESP;\n          else\n            temp_ESP = X86_SP;\n\n          if (gate_descriptor.type==4) {\n            for (i=param_count; i>0; i--) {\n              call_push_16(parameter_word[i-1]);\n              //BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + i*2,\n              //  2, 0, BX_WRITE, &parameter_word[i]);\n              }\n            }\n          else {\n            for (i=param_count; i>0; i--) {\n              call_push_32(parameter_dword[i-1]);\n              //BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + i*4,\n              //  4, 0, BX_WRITE, &parameter_dword[i]);\n              }\n            }\n\n          // push return address onto new stack\n          if (gate_descriptor.type==4) {\n            call_push_16(return_CS);\n            call_push_16((Bit16u) return_EIP);\n            }\n          else {\n            call_push_32(return_CS);\n            call_push_32(return_EIP);\n            }\n\n          return;\n          }\n\n        // CALL GATE TO SAME PRIVILEGE\n        else {\n          Bit32u temp_ESP;\n\n//BX_INFO((\"CALL: Call Gate: to same priviliged level\"));\n          if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n            temp_ESP = X86_ESP;\n          else\n            temp_ESP = X86_SP;\n\n          if (gate_descriptor.type==12) {\n          //if (i->size_mode.os_32) {}\n            // stack must room for 8-byte return address (2 are padding)\n            //   else #SS(0)\n            if ( !can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 8) ) {\n              BX_PANIC((\"call_protected: stack doesn't have room for 8 bytes\"));\n              exception(BX_SS_EXCEPTION, 0, 0);\n              }\n            }\n          else {\n            // stack must room for 4-byte return address\n            //   else #SS(0)\n            if ( !can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 4) ) {\n              BX_PANIC((\"call_protected: stack doesn't have room for 4 bytes\"));\n              exception(BX_SS_EXCEPTION, 0, 0);\n              }\n            }\n\n          // EIP must be within code segment limit, else #GP(0)\n          if ( new_EIP > cs_descriptor.u.segment.limit_scaled ) {\n            BX_PANIC((\"call_protected: IP not within code segment limits\"));\n            exception(BX_GP_EXCEPTION, 0, 0);\n            }\n\n          if (gate_descriptor.type==12) {\n            // push return address onto stack\n            call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n            call_push_32(X86_EIP);\n            }\n          else {\n            // push return address onto stack\n            call_push_16(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n            call_push_16(X86_IP);\n            }\n\n          // load CS:EIP from gate\n          // load code segment descriptor into CS register\n          // set RPL of CS to CPL\n          load_cs(&cs_selector, &cs_descriptor, CPL);\n          X86_EIP = new_EIP;\n\n          return;\n          }\n\n        BX_PANIC((\"call_protected: call gate: should not get here\"));\n        return;\n\n      default:\n        BX_PANIC((\"call_protected: type = %d\",\n          (unsigned) cs_descriptor.type));\n        return;\n      }\n    BX_PANIC((\"call_protected: gate segment unfinished\"));\n    }\n\n  BX_PANIC((\"call_protected: shouldn't get here!\"));\n  return;\n}\n#endif /* 286+ */\n\n\n#if BX_CPU_LEVEL >= 2\n  void\nBX_CPU_C::return_protected(bxInstruction_c *i, Bit16u pop_bytes)\n{\n  Bit16u raw_cs_selector, raw_ss_selector;\n  bx_selector_t cs_selector, ss_selector;\n  bx_descriptor_t cs_descriptor, ss_descriptor;\n  Bit32u stack_cs_offset, stack_param_offset;\n  Bit32u return_EIP, return_ESP, temp_ESP;\n  Bit32u dword1, dword2;\n  Bit16u return_IP;\n\n\n  /* + 6+N*2: SS      | +12+N*4:     SS */\n  /* + 4+N*2: SP      | + 8+N*4:    ESP */\n  /*          parm N  | +        parm N */\n  /*          parm 3  | +        parm 3 */\n  /*          parm 2  | +        parm 2 */\n  /*          parm 1  | + 8:     parm 1 */\n  /* + 2:     CS      | + 4:         CS */\n  /* + 0:     IP      | + 0:        EIP */\n\n#if BX_CPU_LEVEL >= 3\n  if ( i->size_mode.os_32 ) {\n    /* operand size=32: third word on stack must be within stack limits,\n     *   else #SS(0); */\n    if (!can_pop(6)) {\n      BX_PANIC((\"return_protected: 3rd word not in stack limits\"));\n      /* #SS(0) */\n      return;\n      }\n    stack_cs_offset = 4;\n    stack_param_offset = 8;\n    }\n  else\n#endif\n    {\n    /* operand size=16: second word on stack must be within stack limits,\n     *   else #SS(0);\n     */\n    if ( !can_pop(4) ) {\n      BX_PANIC((\"return_protected: 2nd word not in stack limits\"));\n      /* #SS(0) */\n      return;\n      }\n    stack_cs_offset = 2;\n    stack_param_offset = 4;\n    }\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) temp_ESP = X86_ESP;\n  else temp_ESP = X86_SP;\n\n  // return selector RPL must be >= CPL, else #GP(return selector)\n  BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP +\n                       stack_cs_offset, 2, CPL==3, BX_READ, &raw_cs_selector);\n  parse_selector(raw_cs_selector, &cs_selector);\n  if ( cs_selector.rpl < CPL ) {\n    BX_ERROR((\"return_protected: CS.rpl < CPL\"));\n    BX_ERROR((\"  CS.rpl=%u CPL=%u\", (unsigned) cs_selector.rpl,\n      (unsigned) CPL));\n    exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n    return;\n    }\n\n  // if return selector RPL == CPL then\n  // RETURN TO SAME LEVEL\n  if ( cs_selector.rpl == CPL ) {\n    //BX_INFO((\"return: to same level %04x:%08x\",\n    //   BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n    //   BX_CPU_THIS_PTR prev_eip));\n    // return selector must be non-null, else #GP(0)\n    if ( (raw_cs_selector & 0xfffc) == 0 ) {\n      BX_PANIC((\"return_protected: CS null\"));\n      /* #GP(0) */\n      return;\n      }\n\n    // selector index must be within its descriptor table limits,\n    // else #GP(selector)\n    fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n      BX_GP_EXCEPTION);\n\n    // descriptor AR byte must indicate code segment, else #GP(selector)\n    parse_descriptor(dword1, dword2, &cs_descriptor);\n    if (cs_descriptor.valid==0 ||\n        cs_descriptor.segment==0 ||\n        cs_descriptor.u.segment.executable==0) {\n      BX_INFO((\"return_protected: same: AR byte not code\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      }\n\n    // if non-conforming then code segment DPL must = CPL,\n    // else #GP(selector)\n    if ((cs_descriptor.u.segment.c_ed==0)  && (cs_descriptor.dpl!=CPL)) {\n      BX_PANIC((\"return_protected: non-conforming, DPL!=CPL\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    // if conforming then code segment DPL must be <= CPL,\n    // else #GP(selector)\n    if (cs_descriptor.u.segment.c_ed  && (cs_descriptor.dpl>CPL)) {\n      BX_INFO((\"return_protected: conforming, DPL>CPL\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      }\n\n    // code segment must be present, else #NP(selector)\n    if (cs_descriptor.p==0) {\n      BX_ERROR((\"return_protected: not present\"));\n      exception(BX_NP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    // top word on stack must be within stack limits, else #SS(0)\n    if ( !can_pop(stack_param_offset + pop_bytes) ) {\n      BX_PANIC((\"return_protected: top word not in stack limits\"));\n      /* #SS(0) */\n      return;\n      }\n\n    // eIP must be in code segment limit, else #GP(0)\n#if BX_CPU_LEVEL >= 3\n    if (i->size_mode.os_32) {\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        4, CPL==3, BX_READ, &return_EIP);\n      }\n    else\n#endif\n      {\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        2, CPL==3, BX_READ, &return_IP);\n      return_EIP = return_IP;\n      }\n\n    if ( return_EIP > cs_descriptor.u.segment.limit_scaled ) {\n      BX_PANIC((\"return_protected: return IP > CS.limit\"));\n      /* #GP(0) */\n      return;\n      }\n\n    // load CS:eIP from stack\n    // load CS register with descriptor\n    // increment eSP\n    load_cs(&cs_selector, &cs_descriptor, CPL);\n    BX_CPU_THIS_PTR program_visible_eip = return_EIP;\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      X86_ESP += stack_param_offset + pop_bytes;\n    else\n      X86_SP += stack_param_offset + pop_bytes;\n\n    return;\n    }\n\n  /* RETURN TO OUTER PRIVILEGE LEVEL */\n  else {\n    /* + 6+N*2: SS      | +12+N*4:     SS */\n    /* + 4+N*2: SP      | + 8+N*4:    ESP */\n    /*          parm N  | +        parm N */\n    /*          parm 3  | +        parm 3 */\n    /*          parm 2  | +        parm 2 */\n    /*          parm 1  | + 8:     parm 1 */\n    /* + 2:     CS      | + 4:         CS */\n    /* + 0:     IP      | + 0:        EIP */\n\n//BX_INFO((\"return: to outer level %04x:%08x\",\n//  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n//  BX_CPU_THIS_PTR prev_eip));\n\n    if (i->size_mode.os_32) {\n      /* top 16+immediate bytes on stack must be within stack limits, else #SS(0) */\n      if ( !can_pop(16 + pop_bytes) ) {\n        BX_PANIC((\"return_protected: 8 bytes not within stack limits\"));\n        /* #SS(0) */\n        return;\n        }\n      }\n    else {\n      /* top 8+immediate bytes on stack must be within stack limits, else #SS(0) */\n      if ( !can_pop(8 + pop_bytes) ) {\n        BX_PANIC((\"return_protected: 8 bytes not within stack limits\"));\n        /* #SS(0) */\n        return;\n        }\n      }\n\n    /* examine return CS selector and associated descriptor */\n\n    /* selector must be non-null else #GP(0) */\n    if ( (raw_cs_selector & 0xfffc) == 0 ) {\n      BX_PANIC((\"return_protected: CS selector null\"));\n      /* #GP(0) */\n      return;\n      }\n\n    /* selector index must be within its descriptor table limits,\n     * else #GP(selector) */\n    fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n      BX_GP_EXCEPTION);\n    parse_descriptor(dword1, dword2, &cs_descriptor);\n\n    /* descriptor AR byte must indicate code segment else #GP(selector) */\n    if (cs_descriptor.valid==0 ||\n        cs_descriptor.segment==0  ||\n        cs_descriptor.u.segment.executable==0) {\n      BX_PANIC((\"return_protected: AR byte not code\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    /* if non-conforming code then code seg DPL must equal return selector RPL\n     * else #GP(selector) */\n    if (cs_descriptor.u.segment.c_ed==0 &&\n        cs_descriptor.dpl!=cs_selector.rpl) {\n      BX_PANIC((\"return_protected: non-conforming seg DPL != selector.rpl\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    /* if conforming then code segment DPL must be <= return selector RPL\n     * else #GP(selector) */\n    if (cs_descriptor.u.segment.c_ed &&\n        cs_descriptor.dpl>cs_selector.rpl) {\n      BX_PANIC((\"return_protected: conforming seg DPL > selector.rpl\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    /* segment must be present else #NP(selector) */\n    if (cs_descriptor.p==0) {\n      BX_PANIC((\"return_protected: segment not present\"));\n      /* #NP(selector) */\n      return;\n      }\n\n    /* examine return SS selector and associated descriptor: */\n    if (i->size_mode.os_32) {\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 12 + pop_bytes,\n        2, 0, BX_READ, &raw_ss_selector);\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 8 + pop_bytes,\n        4, 0, BX_READ, &return_ESP);\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        4, 0, BX_READ, &return_EIP);\n      }\n    else {\n      Bit16u return_SP;\n\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 6 + pop_bytes,\n        2, 0, BX_READ, &raw_ss_selector);\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 4 + pop_bytes,\n        2, 0, BX_READ, &return_SP);\n      return_ESP = return_SP;\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        2, 0, BX_READ, &return_IP);\n      return_EIP = return_IP;\n      }\n\n    /* selector must be non-null else #GP(0) */\n    if ( (raw_ss_selector & 0xfffc) == 0 ) {\n      BX_PANIC((\"return_protected: SS selector null\"));\n      /* #GP(0) */\n      return;\n      }\n\n    /* selector index must be within its descriptor table limits,\n     * else #GP(selector) */\n    parse_selector(raw_ss_selector, &ss_selector);\n    fetch_raw_descriptor(&ss_selector, &dword1, &dword2,\n      BX_GP_EXCEPTION);\n    parse_descriptor(dword1, dword2, &ss_descriptor);\n\n    /* selector RPL must = RPL of the return CS selector,\n     * else #GP(selector) */\n    if (ss_selector.rpl != cs_selector.rpl) {\n      BX_INFO((\"return_protected: ss.rpl != cs.rpl\"));\n      exception(BX_GP_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n      return;\n      }\n\n    /* descriptor AR byte must indicate a writable data segment,\n     * else #GP(selector) */\n    if (ss_descriptor.valid==0 ||\n        ss_descriptor.segment==0 ||\n        ss_descriptor.u.segment.executable ||\n        ss_descriptor.u.segment.r_w==0) {\n      BX_PANIC((\"return_protected: SS.AR byte not writable data\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    /* descriptor dpl must = RPL of the return CS selector,\n     * else #GP(selector) */\n    if (ss_descriptor.dpl != cs_selector.rpl) {\n      BX_PANIC((\"return_protected: SS.dpl != cs.rpl\"));\n      /* #GP(selector) */\n      return;\n      }\n\n    /* segment must be present else #SS(selector) */\n    if (ss_descriptor.p==0) {\n      BX_PANIC((\"ss.p == 0\"));\n      /* #NP(selector) */\n      return;\n      }\n\n    /* eIP must be in code segment limit, else #GP(0) */\n    if (return_EIP > cs_descriptor.u.segment.limit_scaled) {\n      BX_PANIC((\"return_protected: eIP > cs.limit\"));\n      /* #GP(0) */\n      return;\n      }\n\n    /* set CPL to RPL of return CS selector */\n    /* load CS:IP from stack */\n    /* set CS RPL to CPL */\n    /* load the CS-cache with return CS descriptor */\n    load_cs(&cs_selector, &cs_descriptor, cs_selector.rpl);\n    BX_CPU_THIS_PTR program_visible_eip = return_EIP;\n\n    /* load SS:SP from stack */\n    /* load SS-cache with return SS descriptor */\n    load_ss(&ss_selector, &ss_descriptor, cs_selector.rpl);\n    if (ss_descriptor.u.segment.d_b)\n      X86_ESP = return_ESP + pop_bytes;\n    else\n      X86_SP  = (Bit16u) return_ESP + pop_bytes;\n\n    /* check ES, DS, FS, GS for validity */\n    validate_seg_regs();\n\n    return;\n    }\n\n  return;\n}\n#endif\n\n\n\n#if BX_CPU_LEVEL >= 2\n  void\nBX_CPU_C::iret_protected(bxInstruction_c *i)\n{\n  Bit16u raw_cs_selector, raw_ss_selector;\n  bx_selector_t cs_selector, ss_selector;\n  Bit32u dword1, dword2;\n  bx_descriptor_t cs_descriptor, ss_descriptor;\n\n  if (BX_CPU_THIS_PTR eflags.nt) { /* NT = 1: RETURN FROM NESTED TASK */\n    /* what's the deal with NT & VM ? */\n    Bit32u base32;\n    Bit16u raw_link_selector;\n    bx_selector_t   link_selector;\n    bx_descriptor_t tss_descriptor;\n\n    if (BX_CPU_THIS_PTR eflags.vm)\n      BX_PANIC((\"IRET: vm set?\"));\n\n    // TASK_RETURN:\n\n    //BX_INFO((\"IRET: nested task return\"));\n\n    if (BX_CPU_THIS_PTR tr.cache.valid==0)\n      BX_PANIC((\"IRET: TR not valid\"));\n    if (BX_CPU_THIS_PTR tr.cache.type == 1)\n      base32 = BX_CPU_THIS_PTR tr.cache.u.tss286.base;\n    else if (BX_CPU_THIS_PTR tr.cache.type == 9)\n      base32 = BX_CPU_THIS_PTR tr.cache.u.tss386.base;\n    else {\n      BX_PANIC((\"IRET: TR not valid\"));\n      base32 = 0; // keep compiler happy\n      }\n\n    // examine back link selector in TSS addressed by current TR:\n    BX_CPU_THIS_PTR access_linear(base32 + 0, 2, 0, BX_READ, &raw_link_selector);\n\n    // must specify global, else #TS(new TSS selector)\n    parse_selector(raw_link_selector, &link_selector);\n    if (link_selector.ti) {\n      BX_PANIC((\"iret: link selector.ti=1\"));\n      exception(BX_TS_EXCEPTION, raw_link_selector & 0xfffc, 0);\n      }\n\n    // index must be within GDT limits, else #TS(new TSS selector)\n    fetch_raw_descriptor(&link_selector, &dword1, &dword2, BX_TS_EXCEPTION);\n\n    // AR byte must specify TSS, else #TS(new TSS selector)\n    // new TSS must be busy, else #TS(new TSS selector)\n    parse_descriptor(dword1, dword2, &tss_descriptor);\n    if (tss_descriptor.valid==0 || tss_descriptor.segment) {\n      BX_INFO((\"iret: TSS selector points to bad TSS\"));\n      exception(BX_TS_EXCEPTION, raw_link_selector & 0xfffc, 0);\n      }\n    if ((tss_descriptor.type!=11) && (tss_descriptor.type!=3)) {\n      BX_INFO((\"iret: TSS selector points to bad TSS\"));\n      exception(BX_TS_EXCEPTION, raw_link_selector & 0xfffc, 0);\n      }\n\n\n    // TSS must be present, else #NP(new TSS selector)\n    if (tss_descriptor.p==0) {\n      BX_INFO((\"iret: task descriptor.p == 0\"));\n      exception(BX_NP_EXCEPTION, raw_link_selector & 0xfffc, 0);\n      }\n\n    // switch tasks (without nesting) to TSS specified by back link selector\n    task_switch(&link_selector, &tss_descriptor,\n                BX_TASK_FROM_IRET, dword1, dword2);\n\n    // mark the task just abandoned as not busy\n\n    // eIP must be within code seg limit, else #GP(0)\n    if (X86_EIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n      BX_PANIC((\"iret: eIP > cs.limit\"));\n      exception(BX_GP_EXCEPTION, 0x0000, 0);\n      }\n    return;\n    }\n\n  else { /* NT = 0: INTERRUPT RETURN ON STACK -or STACK_RETURN_TO_V86 */\n    Bit16u top_nbytes_same, top_nbytes_outer;\n    Bit32u cs_offset, ss_offset;\n    Bit32u new_eip, new_esp, temp_ESP, new_eflags;\n    Bit16u new_ip, new_sp, new_flags;\n    Bit8u prev_cpl;\n\n    /* 16bit opsize  |   32bit opsize\n     * ==============================\n     * SS     eSP+8  |   SS     eSP+16\n     * SP     eSP+6  |   ESP    eSP+12\n     * -------------------------------\n     * FLAGS  eSP+4  |   EFLAGS eSP+8\n     * CS     eSP+2  |   CS     eSP+4\n     * IP     eSP+0  |   EIP    eSP+0\n     */\n\n    if (i->size_mode.os_32) {\n      top_nbytes_same    = 12;\n      top_nbytes_outer   = 20;\n      cs_offset = 4;\n      ss_offset = 16;\n      }\n    else {\n      top_nbytes_same    = 6;\n      top_nbytes_outer   = 10;\n      cs_offset = 2;\n      ss_offset = 8;\n      }\n\n    /* CS on stack must be within stack limits, else #SS(0) */\n    if ( !can_pop(top_nbytes_same) ) {\n      BX_PANIC((\"iret: CS not within stack limits\"));\n      exception(BX_SS_EXCEPTION, 0, 0);\n      return;\n      }\n\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      temp_ESP = X86_ESP;\n    else\n      temp_ESP = X86_SP;\n\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + cs_offset,\n      2, CPL==3, BX_READ, &raw_cs_selector);\n\n    if (i->size_mode.os_32) {\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        4, CPL==3, BX_READ, &new_eip);\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 8,\n        4, CPL==3, BX_READ, &new_eflags);\n\n      // if VM=1 in flags image on stack then STACK_RETURN_TO_V86\n      if (new_eflags & 0x00020000) {\n        if (CPL != 0)\n          BX_PANIC((\"iret: VM set on stack, CPL!=0\"));\n        BX_CPU_THIS_PTR stack_return_to_v86(new_eip, raw_cs_selector, new_eflags);\n        return;\n        }\n      }\n    else {\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n        2, CPL==3, BX_READ, &new_ip);\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 4,\n        2, CPL==3, BX_READ, &new_flags);\n      }\n\n    parse_selector(raw_cs_selector, &cs_selector);\n\n    // return CS selector must be non-null, else #GP(0)\n    if ( (raw_cs_selector & 0xfffc) == 0 ) {\n      BX_PANIC((\"iret: return CS selector null\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n\n    // selector index must be within descriptor table limits,\n    // else #GP(return selector)\n    fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n      BX_GP_EXCEPTION);\n\n    parse_descriptor(dword1, dword2, &cs_descriptor);\n\n    // AR byte must indicate code segment else #GP(return selector)\n    if ( cs_descriptor.valid==0 ||\n         cs_descriptor.segment==0  ||\n         cs_descriptor.u.segment.executable==0 ) {\n      BX_PANIC((\"iret: AR byte indicated non code segment\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    // return CS selector RPL must be >= CPL, else #GP(return selector)\n    if (cs_selector.rpl < CPL) {\n      BX_PANIC((\"iret: return selector RPL < CPL\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    // if return code seg descriptor is conforming\n    //   and return code seg DPL > return code seg selector RPL\n    //     then #GP(return selector)\n    if ( cs_descriptor.u.segment.c_ed  &&\n         cs_descriptor.dpl > cs_selector.rpl ) {\n      BX_PANIC((\"iret: conforming, DPL > cs_selector.RPL\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    // if return code seg descriptor is non-conforming\n    //   and return code seg DPL != return code seg selector RPL\n    //     then #GP(return selector)\n    if ( cs_descriptor.u.segment.c_ed==0 &&\n         cs_descriptor.dpl != cs_selector.rpl ) {\n      BX_INFO((\"(mch) iret: Return with DPL != RPL. #GP(selector)\"));\n      exception(BX_GP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    // segment must be present else #NP(return selector)\n    if ( cs_descriptor.p==0 ) {\n      BX_PANIC((\"iret: not present\"));\n      exception(BX_NP_EXCEPTION, raw_cs_selector & 0xfffc, 0);\n      return;\n      }\n\n    if (cs_selector.rpl == CPL) { /* INTERRUPT RETURN TO SAME LEVEL */\n      /* top 6/12 bytes on stack must be within limits, else #SS(0) */\n      /* satisfied above */\n\n      if (i->size_mode.os_32) {\n        /* return EIP must be in code segment limit else #GP(0) */\n        if ( new_eip > cs_descriptor.u.segment.limit_scaled ) {\n          BX_PANIC((\"iret: IP > descriptor limit\"));\n          exception(BX_GP_EXCEPTION, 0, 0);\n          return;\n          }\n        /* load CS:EIP from stack */\n        /* load CS-cache with new code segment descriptor */\n        load_cs(&cs_selector, &cs_descriptor, CPL);\n        X86_EIP = new_eip;\n\n        /* load EFLAGS with 3rd doubleword from stack */\n        write_eflags(new_eflags, CPL==0, CPL<=X86_IOPL, 0, 1);\n        }\n      else {\n        /* return IP must be in code segment limit else #GP(0) */\n        if ( new_ip > cs_descriptor.u.segment.limit_scaled ) {\n          BX_PANIC((\"iret: IP > descriptor limit\"));\n          exception(BX_GP_EXCEPTION, 0, 0);\n          return;\n          }\n        /* load CS:IP from stack */\n        /* load CS-cache with new code segment descriptor */\n        load_cs(&cs_selector, &cs_descriptor, CPL);\n        X86_EIP = new_ip;\n\n        /* load flags with third word on stack */\n        write_flags(new_flags, CPL==0, CPL<=X86_IOPL);\n        }\n\n      /* increment stack by 6/12 */\n      if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n        X86_ESP += top_nbytes_same;\n      else\n        X86_SP += top_nbytes_same;\n      return;\n      }\n    else { /* INTERRUPT RETURN TO OUTER PRIVILEGE LEVEL */\n      /* 16bit opsize  |   32bit opsize\n       * ==============================\n       * SS     eSP+8  |   SS     eSP+16\n       * SP     eSP+6  |   ESP    eSP+12\n       * FLAGS  eSP+4  |   EFLAGS eSP+8\n       * CS     eSP+2  |   CS     eSP+4\n       * IP     eSP+0  |   EIP    eSP+0\n       */\n\n      /* top 10/20 bytes on stack must be within limits else #SS(0) */\n      if ( !can_pop(top_nbytes_outer) ) {\n        BX_PANIC((\"iret: top 10/20 bytes not within stack limits\"));\n        exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n\n      /* examine return SS selector and associated descriptor */\n      BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + ss_offset,\n        2, 0, BX_READ, &raw_ss_selector);\n\n      /* selector must be non-null, else #GP(0) */\n      if ( (raw_ss_selector & 0xfffc) == 0 ) {\n        BX_PANIC((\"iret: SS selector null\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        return;\n        }\n\n      parse_selector(raw_ss_selector, &ss_selector);\n\n      /* selector RPL must = RPL of return CS selector,\n       * else #GP(SS selector) */\n      if ( ss_selector.rpl != cs_selector.rpl) {\n        BX_PANIC((\"iret: SS.rpl != CS.rpl\"));\n        exception(BX_GP_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n        return;\n        }\n\n      /* selector index must be within its descriptor table limits,\n       * else #GP(SS selector) */\n      fetch_raw_descriptor(&ss_selector, &dword1, &dword2,\n        BX_GP_EXCEPTION);\n\n      parse_descriptor(dword1, dword2, &ss_descriptor);\n\n      /* AR byte must indicate a writable data segment,\n       * else #GP(SS selector) */\n      if ( ss_descriptor.valid==0 ||\n           ss_descriptor.segment==0  ||\n           ss_descriptor.u.segment.executable  ||\n           ss_descriptor.u.segment.r_w==0 ) {\n        BX_PANIC((\"iret: SS AR byte not writable code segment\"));\n        exception(BX_GP_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n        return;\n        }\n\n      /* stack segment DPL must equal the RPL of the return CS selector,\n       * else #GP(SS selector) */\n      if ( ss_descriptor.dpl != cs_selector.rpl ) {\n        BX_PANIC((\"iret: SS.dpl != CS selector RPL\"));\n        exception(BX_GP_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n        return;\n        }\n\n      /* SS must be present, else #NP(SS selector) */\n      if ( ss_descriptor.p==0 ) {\n        BX_PANIC((\"iret: SS not present!\"));\n        exception(BX_NP_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n        return;\n        }\n\n\n      if (i->size_mode.os_32) {\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n          4, 0, BX_READ, &new_eip);\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 8,\n          4, 0, BX_READ, &new_eflags);\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 12,\n          4, 0, BX_READ, &new_esp);\n        }\n      else {\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 0,\n          2, 0, BX_READ, &new_ip);\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 4,\n          2, 0, BX_READ, &new_flags);\n        BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base + temp_ESP + 6,\n          2, 0, BX_READ, &new_sp);\n        new_eip = new_ip;\n        new_esp = new_sp;\n        new_eflags = new_flags;\n        }\n\n      /* EIP must be in code segment limit, else #GP(0) */\n      if ( new_eip > cs_descriptor.u.segment.limit_scaled ) {\n        BX_PANIC((\"iret: IP > descriptor limit\"));\n        exception(BX_GP_EXCEPTION, 0, 0);\n        return;\n        }\n\n      /* load CS:EIP from stack */\n      /* load the CS-cache with CS descriptor */\n      /* set CPL to the RPL of the return CS selector */\n      prev_cpl = CPL; /* previous CPL */\n      load_cs(&cs_selector, &cs_descriptor, cs_selector.rpl);\n      BX_CPU_THIS_PTR program_visible_eip = new_eip;\n\n      /* load flags from stack */\n      // perhaps I should always write_eflags(), thus zeroing\n      // out the upper 16bits of eflags for CS.D_B==0 ???\n      if (cs_descriptor.u.segment.d_b)\n        write_eflags(new_eflags, prev_cpl==0, prev_cpl<=X86_IOPL, 0, 1);\n      else\n        write_flags((Bit16u) new_eflags, prev_cpl==0, prev_cpl<=X86_IOPL);\n\n      // load SS:eSP from stack\n      // load the SS-cache with SS descriptor\n      load_ss(&ss_selector, &ss_descriptor, cs_selector.rpl);\n      if (ss_descriptor.u.segment.d_b)\n        X86_ESP = new_esp;\n      else\n        X86_SP  = new_esp;\n\n      validate_seg_regs();\n\n      return;\n      }\n    }\n  BX_PANIC((\"IRET: shouldn't get here!\"));\n}\n#endif\n\n\n#if BX_CPU_LEVEL >= 2\n  void\nBX_CPU_C::validate_seg_regs(void)\n{\n  if ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.dpl<CPL ) {\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid = 0;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = 0;\n    }\n  if ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.dpl<CPL ) {\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid = 0;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = 0;\n    }\n  if ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.dpl<CPL ) {\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid = 0;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = 0;\n    }\n  if ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.dpl<CPL ) {\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid = 0;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = 0;\n    }\n}\n#endif\n"
  },
  {
    "path": "Project/IntelCPU/Source/data.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: data_xfer32.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::XLAT(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u offset_32;\n\tBit8u  al;\n\n#if BX_CPU_LEVEL >= 3\n\tif (i->size_mode.as_32)\n\t{\n\t\toffset_32 = RW_EBX + RW_AL;\n    }\n\telse\n#endif /* BX_CPU_LEVEL >= 3 */\n    {\n\t\toffset_32 = RW_BX + RW_AL;\n    }\n\n\tif (!BX_NULL_SEG_REG(MODRMSeg(i)))\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_byte(MODRMSeg(i), offset_32, &al);\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_byte(BX_SEG_REG_DS, offset_32, &al);\n    }\n\n\tRW_AL = al;\n}\n\n\tvoid\nBX_CPU_C::CBW(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRW_AX = (Bit8s)RW_AL;\n}\n\tvoid\nBX_CPU_C::CWDE(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n    RW_EAX = (Bit16s)RW_AX;\n}\n\tvoid\nBX_CPU_C::CWD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRW_DX = (0-(RW_AX>>15));\n}\n\n\tvoid\nBX_CPU_C::CDQ(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRW_EDX = (0-(RW_EAX>>31));\n}\n\tvoid\nBX_CPU_C::CMOV_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 6) || (BX_CPU_LEVEL_HACKED >= 6)\n\t// Note: CMOV accesses a memory source operand (read), regardless\n\t//       of whether condition is true or not.  Thus, exceptions may\n\t//       occur even if the MOV does not take place.\n\n\tBoolean condition;\n\tBit16u op2_16;\n\n\tswitch (OPCODEb1(i)) {\n    // CMOV opcodes:\n    case 0x140: condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x141: condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x142: condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x143: condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x144: condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x145: condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x146: condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x147: condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x148: condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x149: condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x14A: condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14B: condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14C: condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14D: condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14E: condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()); break;\n    case 0x14F: condition = !BX_CPU_CLASS_PTR get_ZF() && (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()); break;\n    default:\n      condition = 0;\n      BX_PANIC((\"CMOV_GwEw: default case\"));\n    }\n\n\tif (i->modC0()) {\n    op2_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse {\n    /* pointer, segment address pair */\n    BX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &op2_16);\n    }\n\n\tif (condition)\n\t{\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op2_16);\n    }\n\n#else\n\tBX_PANIC((\"cmov_gwew called\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMOV_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 6) || (BX_CPU_LEVEL_HACKED >= 6)\n\t// Note: CMOV accesses a memory source operand (read), regardless\n\t//       of whether condition is true or not.  Thus, exceptions may\n\t//       occur even if the MOV does not take place.\n\n\tBoolean condition;\n\tBit16u op2_16;\n\n\tswitch (OPCODEb1(i)) {\n    // CMOV opcodes:\n    case 0x140: condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x141: condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x142: condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x143: condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x144: condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x145: condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x146: condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x147: condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x148: condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x149: condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x14A: condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14B: condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14C: condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14D: condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14E: condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()); break;\n    case 0x14F: condition = !BX_CPU_CLASS_PTR get_ZF() && (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()); break;\n    default:\n      condition = 0;\n      BX_PANIC((\"CMOV_GwEw: default case\"));\n    }\n\n\tif (i->modC0()) {\n    op2_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse {\n    /* pointer, segment address pair */\n    BX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &op2_16);\n    }\n\n\tif (condition)\n\t{\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), op2_16);\n    }\n\n#else\n\tBX_PANIC((\"cmov_gwew called\"));\n#endif\n}\n\n\n\tvoid\nBX_CPU_C::CMOV_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 6) || (BX_CPU_LEVEL_HACKED >= 6||1)\n\t// Note: CMOV accesses a memory source operand (read), regardless\n\t//       of whether condition is true or not.  Thus, exceptions may\n\t//       occur even if the MOV does not take place.\n\n\tBoolean condition;\n\tBit32u op2_32;\n\n\n\tswitch (OPCODEb1(i)) {\n    // CMOV opcodes:\n    case 0x140: condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x141: condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x142: condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x143: condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x144: condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x145: condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x146: condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x147: condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x148: condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x149: condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x14A: condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14B: condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14C: condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14D: condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14E: condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()); break;\n    case 0x14F: condition = !BX_CPU_CLASS_PTR get_ZF() && (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()); break;\n    default:\n      condition = 0;\n      BX_PANIC((\"CMOV_GdEd: default case\"));\n    }\n\n\tif (i->modC0()) {\n    op2_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n    }\n\telse {\n    /* pointer, segment address pair */\n    BX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &op2_32);\n    }\n\n\tif (condition) {\n    WRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op2_32);\n    }\n\t\n#else\n\tBX_PANIC((\"cmov_gded called\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::CMOV_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 6) || (BX_CPU_LEVEL_HACKED >= 6||1)\n\t// Note: CMOV accesses a memory source operand (read), regardless\n\t//       of whether condition is true or not.  Thus, exceptions may\n\t//       occur even if the MOV does not take place.\n\n\tBoolean condition;\n\tBit32u op2_32;\n\n\n\tswitch (OPCODEb1(i)) {\n    // CMOV opcodes:\n    case 0x140: condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x141: condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x142: condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x143: condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x144: condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x145: condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x146: condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x147: condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x148: condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x149: condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x14A: condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14B: condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x14C: condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14D: condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x14E: condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()); break;\n    case 0x14F: condition = !BX_CPU_CLASS_PTR get_ZF() && (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()); break;\n    default:\n      condition = 0;\n      BX_PANIC((\"CMOV_GdEd: default case\"));\n    }\n\n\tif (i->modC0()) {\n    op2_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n    }\n\telse {\n    /* pointer, segment address pair */\n    BX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &op2_32);\n    }\n\n\tif (condition) {\n    WRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), op2_32);\n    }\n\t\n#else\n\tBX_PANIC((\"cmov_gded called\"));\n#endif\n}\n\n\n\tvoid\nBX_CPU_C::SETcc_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"SETO: not available on < 386\"));\n#else\n\tBit8u result_8;\n\n\tBoolean condition = 0;\n\n\tswitch (OPCODEb1(i) & 0x0f) {\n    case 0x00: /* JO */ condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x01: /* JNO */ condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x02: /* JB */ condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x03: /* JNB */ condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x04: /* JZ */ condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x05: /* JNZ */ condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x06: /* JBE */ condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x07: /* JNBE */ condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x08: /* JS */ condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x09: /* JNS */ condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x0A: /* JP */ condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x0B: /* JNP */ condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x0C: /* JL */ condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x0D: /* JNL */ condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x0E: /* JLE */ condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF());\n      break;\n    case 0x0F: /* JNLE */ condition = (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()) &&\n                            !BX_CPU_CLASS_PTR get_ZF();\n      break;\n    }\n  \n\tresult_8 = condition;\n\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i), result_8);\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::SETcc_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"SETO: not available on < 386\"));\n#else\n\tBit8u result_8;\n\n\tBoolean condition = 0;\n\n\tswitch (OPCODEb1(i) & 0x0f) {\n    case 0x00: /* JO */ condition = BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x01: /* JNO */ condition = !BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x02: /* JB */ condition = BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x03: /* JNB */ condition = !BX_CPU_CLASS_PTR get_CF(); break;\n    case 0x04: /* JZ */ condition = BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x05: /* JNZ */ condition = !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x06: /* JBE */ condition = BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x07: /* JNBE */ condition = !BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF(); break;\n    case 0x08: /* JS */ condition = BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x09: /* JNS */ condition = !BX_CPU_CLASS_PTR get_SF(); break;\n    case 0x0A: /* JP */ condition = BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x0B: /* JNP */ condition = !BX_CPU_CLASS_PTR get_PF(); break;\n    case 0x0C: /* JL */ condition = BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x0D: /* JNL */ condition = BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF(); break;\n    case 0x0E: /* JLE */ condition = BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF());\n      break;\n    case 0x0F: /* JNLE */ condition = (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()) &&\n                            !BX_CPU_CLASS_PTR get_ZF();\n      break;\n    }\n  \n\tresult_8 = condition;\n\tBX_CPU_CLASS_PTR write_virtual_byte(MODRMSeg(i), RMAddr(i), &result_8);\n#endif\n}\n\n\tvoid\nBX_CPU_C::BSWAP_ERX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 4) || (BX_CPU_LEVEL_HACKED >= 4)\n\n\tBit32u erx, b0, b1, b2, b3;\n\n\terx = READ_VIRTUAL_32BIT_REG(OPCODEb1(i)&0x07);\n\n\tb0  = erx & 0xff; erx >>= 8;\n\tb1  = erx & 0xff; erx >>= 8;\n\tb2  = erx & 0xff; erx >>= 8;\n\tb3  = erx;\n\terx = (b0<<24) | (b1<<16) | (b2<<8) | b3;\n\n\tWRITE_VIRTUAL_32BIT_REG(OPCODEb1(i)&0x07,erx);\n\n#else\n\n\tBX_PANIC((\"BSWAP_ERX: not implemented CPU <= 3\"));\n\n#endif\n}\n\n// Some info on the opcodes at {0F,A6} and {0F,A7}\n// On 386 steps A0-B0:\n//   {OF,A6} = XBTS\n//   {OF,A7} = IBTS\n// On 486 steps A0-B0:\n//   {OF,A6} = CMPXCHG 8\n//   {OF,A7} = CMPXCHG 16|32\n//\n// On 486 >= B steps, and further processors, the\n// CMPXCHG instructions were moved to opcodes:\n//   {OF,B0} = CMPXCHG 8\n//   {OF,B1} = CMPXCHG 16|32\n\n\tvoid\nBX_CPU_C::CMPXCHG_XBTS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_INFO((\"CMPXCHG_XBTS:\"));\n\tUndefinedOpcode(icpu,i);\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG_IBTS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_INFO((\"CMPXCHG_IBTS:\"));\n\tUndefinedOpcode(icpu,i);\n}\n\n\tvoid\nBX_CPU_C::CMPXCHG8B(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (BX_CPU_LEVEL >= 5) || (BX_CPU_LEVEL_HACKED >= 5)\n\n    Bit32u op1_64_lo, op1_64_hi, diff;\n\n\tif (i->modC0())\n\t{\n\t\tBX_INFO((\"CMPXCHG8B: dest is reg: #UD\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\n    /* pointer, segment address pair */\n    BX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &op1_64_lo);\n    BX_CPU_CLASS_PTR read_RMW_virtual_dword(MODRMSeg(i), RMAddr(i) + 4, &op1_64_hi);\n\n    diff = RW_EAX - op1_64_lo;\n    diff |= RW_EDX - op1_64_hi;\n\n//\tSET_FLAGS_OSZAPC_32(RW_EAX, op1_32, diff_32, BX_INSTR_CMP32);\n\n    if (diff == 0)\n\t{\t// if accumulator == dest\n\t\t// ZF = 1\n\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t// dest <-- src\n\t\tBX_CPU_CLASS_PTR write_RMW_virtual_dword(RW_ECX);\n\t\tBX_CPU_CLASS_PTR write_virtual_dword(MODRMSeg(i), RMAddr(i), &RW_EBX);\n\t}\n    else\n\t{\n\t\t// ZF = 0\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t// accumulator <-- dest\n\t\tRW_EAX = op1_64_lo;\n\t\tRW_EDX = op1_64_hi;\n\t}\n  \n#else\n\tBX_INFO((\"CMPXCHG8B: not implemented yet\"));\n\tUndefinedOpcode(icpu,i);\n#endif\n}\n\n\n\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/debugstu.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: debugstuff.cc,v 1.11 2001/10/09 21:15:14 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n  void\nBX_CPU_C::debug(Bit32u offset)\n{\n  BX_INFO((\"| EAX=%08x  EBX=%08x  ECX=%08x  EDX=%08x\",\n          (unsigned) X86_EAX, (unsigned) X86_EBX, (unsigned) X86_ECX, (unsigned) X86_EDX));\n  BX_INFO((\"| BX_ESP=%08x  EBP=%08x  ESI=%08x  EDI=%08x\",\n          (unsigned) X86_ESP, (unsigned) X86_EBP, (unsigned) X86_ESI, (unsigned) X86_EDI));\n  BX_INFO((\"| IOPL=%1u %s %s %s %s %s %s %s %s\",\n    BX_CPU_THIS_PTR eflags.iopl,\n    BX_CPU_THIS_PTR get_OF()       ? \"OV\" : \"NV\",\n    BX_CPU_THIS_PTR eflags.df  ? \"DW\" : \"UP\",\n    BX_CPU_THIS_PTR eflags.if_ ? \"EI\" : \"DI\",\n    BX_CPU_THIS_PTR get_SF()       ? \"NG\" : \"PL\",\n    BX_CPU_THIS_PTR get_ZF()       ? \"ZR\" : \"NZ\",\n    BX_CPU_THIS_PTR get_AF()       ? \"AC\" : \"NA\",\n    BX_CPU_THIS_PTR get_PF()       ? \"PE\" : \"PO\",\n    BX_CPU_THIS_PTR get_CF()       ? \"CY\" : \"NC\"));\n  BX_INFO((\"| SEG selector     base    limit G D\"));\n  BX_INFO((\"| SEG sltr(index|ti|rpl)     base    limit G D\"));\n  BX_INFO((\"|  DS:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.d_b));\n  BX_INFO((\"|  ES:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.d_b));\n  BX_INFO((\"|  FS:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.d_b));\n  BX_INFO((\"|  GS:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.d_b));\n  BX_INFO((\"|  SS:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b));\n  BX_INFO((\"|  CS:%04x( %04x| %01u|  %1u) %08x %08x %1u %1u\",\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.index,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.ti,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.g,\n    (unsigned) BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b));\n  BX_INFO((\"| EIP=%08x (%08x)\", (unsigned) BX_CPU_THIS_PTR program_visible_eip,\n    (unsigned) BX_CPU_THIS_PTR prev_eip));\n\n#if 0\n  /* (mch) Hack to display the area round EIP and prev_EIP */\n  char buf[100];\n  sprintf(buf, \"%04x:%08x  \", BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].selector.value, BX_CPU_THIS_PTR program_visible_eip);\n  for (int i = 0; i < 8; i++) {\n    Bit8u data;\n    BX_CPU_THIS_PTR read_virtual_byte(BX_SREG_CS, BX_CPU_THIS_PTR program_visible_eip + i, &data);\n    sprintf(buf+strlen(buf), \"%02x \", data);\n    }\n  BX_INFO((buf));\n\n  sprintf(buf, \"%04x:%08x  \", BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].selector.value, BX_CPU_THIS_PTR prev_eip);\n  for (int i = 0; i < 8; i++) {\n    Bit8u data;\n    BX_CPU_THIS_PTR read_virtual_byte(BX_SREG_CS, BX_CPU_THIS_PTR prev_eip + i, &data);\n    sprintf(buf+strlen(buf), \"%02x \", data);\n    }\n  BX_INFO((buf));\n#endif\n\n\n#if BX_DISASM\n  Boolean valid;\n  Bit32u  phy_addr;\n  Bit8u   instr_buf[32];\n  char    char_buf[256];\n  unsigned isize;\n\n  dbg_xlate_linear2phy(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base + offset,\n                       &phy_addr, &valid);\n  if (valid) {\n    BX_CPU_THIS_PTR mem->dbg_fetch_mem(phy_addr, 16, instr_buf);\n    isize = bx_disassemble.disasm(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b,\n                        instr_buf, char_buf);\n    for (unsigned j=0; j<isize; j++)\n      BX_INFO((\">> %02x\", (unsigned) instr_buf[j]));\n    BX_INFO((\">> : %s\", char_buf));\n    }\n  else {\n    BX_INFO((\"(instruction unavailable) page not present\"));\n    }\n#else\n  UNUSED(offset);\n#endif  // #if BX_DISASM\n}\n\n\n#if BX_DEBUGGER\n  Bit32u\nBX_CPU_C::dbg_get_reg(unsigned reg)\n{\n  Bit32u return_val32;\n\n  switch (reg) {\n    case BX_DBG_REG_EAX: return(EAX);\n    case BX_DBG_REG_ECX: return(ECX);\n    case BX_DBG_REG_EDX: return(EDX);\n    case BX_DBG_REG_EBX: return(EBX);\n    case BX_DBG_REG_ESP: return(BX_ESP);\n    case BX_DBG_REG_EBP: return(EBP);\n    case BX_DBG_REG_ESI: return(ESI);\n    case BX_DBG_REG_EDI: return(EDI);\n    case BX_DBG_REG_EIP: return(EIP);\n    case BX_DBG_REG_EFLAGS:\n      return_val32 = dbg_get_eflags();\n      return(return_val32);\n    case BX_DBG_REG_CS: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n    case BX_DBG_REG_SS: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value);\n    case BX_DBG_REG_DS: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value);\n    case BX_DBG_REG_ES: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value);\n    case BX_DBG_REG_FS: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value);\n    case BX_DBG_REG_GS: return(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value);\n    default:\n      BX_PANIC((\"get_reg: request for unknown register\"));\n      return(0);\n    }\n}\n\n  Boolean\nBX_CPU_C::dbg_set_reg(unsigned reg, Bit32u val)\n{\n  // returns 1=OK, 0=can't change\n  bx_segment_reg_t *seg;\n  Bit32u current_sys_bits;\n\n  switch (reg) {\n    case BX_DBG_REG_EAX: EAX = val; return(1);\n    case BX_DBG_REG_ECX: ECX = val; return(1);\n    case BX_DBG_REG_EDX: EDX = val; return(1);\n    case BX_DBG_REG_EBX: EBX = val; return(1);\n    case BX_DBG_REG_ESP: BX_ESP = val; return(1);\n    case BX_DBG_REG_EBP: EBP = val; return(1);\n    case BX_DBG_REG_ESI: ESI = val; return(1);\n    case BX_DBG_REG_EDI: EDI = val; return(1);\n    case BX_DBG_REG_EIP: EIP = val; return(1);\n    case BX_DBG_REG_EFLAGS:\n      BX_INFO((\"dbg_set_reg: can not handle eflags yet.\"));\n      if ( val & 0xffff0000 ) {\n        BX_INFO((\"dbg_set_reg: can not set upper 16 bits of eflags.\"));\n        return(0);\n        }\n      // make sure none of the system bits are being changed\n      current_sys_bits = (BX_CPU_THIS_PTR eflags.nt << 14) |\n                         (BX_CPU_THIS_PTR eflags.iopl << 12) |\n                         (BX_CPU_THIS_PTR eflags.tf << 8);\n      if ( current_sys_bits != (val & 0x0000f100) ) {\n        BX_INFO((\"dbg_set_reg: can not modify NT, IOPL, or TF.\"));\n        return(0);\n        }\n      BX_CPU_THIS_PTR set_CF(val & 0x01); val >>= 2;\n      BX_CPU_THIS_PTR set_PF(val & 0x01); val >>= 2;\n      BX_CPU_THIS_PTR set_AF(val & 0x01); val >>= 2;\n      BX_CPU_THIS_PTR set_ZF(val & 0x01); val >>= 1;\n      BX_CPU_THIS_PTR set_SF(val & 0x01); val >>= 2;\n      BX_CPU_THIS_PTR eflags.if_ = val & 0x01; val >>= 1;\n      BX_CPU_THIS_PTR eflags.df  = val & 0x01; val >>= 1;\n      BX_CPU_THIS_PTR set_OF(val & 0x01);\n      if (BX_CPU_THIS_PTR eflags.if_)\n        BX_CPU_THIS_PTR async_event = 1;\n      return(1);\n    case BX_DBG_REG_CS:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS];\n      break;\n    case BX_DBG_REG_SS:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS];\n      break;\n    case BX_DBG_REG_DS:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS];\n      break;\n    case BX_DBG_REG_ES:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES];\n      break;\n    case BX_DBG_REG_FS:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS];\n      break;\n    case BX_DBG_REG_GS:\n      seg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS];\n      break;\n    default:\n      BX_PANIC((\"dbg_set_reg: unrecognized register ID (%u)\", reg));\n      return(0);\n    }\n\n  if (BX_CPU_THIS_PTR real_mode()) {\n    seg->selector.value = val;\n    seg->cache.valid = 1;\n    seg->cache.p = 1;\n    seg->cache.dpl = 0;\n    seg->cache.segment = 1; // regular segment\n    if (reg == BX_DBG_REG_CS) {\n      seg->cache.u.segment.executable = 1; // code segment\n      }\n    else {\n      seg->cache.u.segment.executable = 0; // data segment\n      }\n    seg->cache.u.segment.c_ed = 0;       // expand up/non-conforming\n    seg->cache.u.segment.r_w = 1;        // writeable\n    seg->cache.u.segment.a = 1;          // accessed\n    seg->cache.u.segment.base = val << 4;\n    seg->cache.u.segment.limit        = 0xffff;\n    seg->cache.u.segment.limit_scaled = 0xffff;\n    seg->cache.u.segment.g     = 0;      // byte granular\n    seg->cache.u.segment.d_b   = 0;      // default 16bit size\n    seg->cache.u.segment.avl   = 0;\n    return(1); // ok\n    }\n\n  return(0); // can't change when not in real mode\n}\n\n  unsigned\nBX_CPU_C::dbg_query_pending(void)\n{\n  unsigned ret = 0;\n\n  if ( BX_HRQ ) {  // DMA Hold Request\n    ret |= BX_DBG_PENDING_DMA;\n    }\n\n  if ( BX_CPU_THIS_PTR INTR && BX_CPU_THIS_PTR eflags.if_ ) {\n    ret |= BX_DBG_PENDING_IRQ;\n    }\n\n  return(ret);\n}\n\n\n\n  Bit32u\nBX_CPU_C::dbg_get_eflags(void)\n{\n  Bit32u val32;\n\n  val32 =\n    (BX_CPU_THIS_PTR get_CF()) |\n    (BX_CPU_THIS_PTR eflags.bit1 << 1) |\n    ((BX_CPU_THIS_PTR get_PF()) << 2) |\n    (BX_CPU_THIS_PTR eflags.bit3 << 3) |\n    ((BX_CPU_THIS_PTR get_AF()>0) << 4) |\n    (BX_CPU_THIS_PTR eflags.bit5 << 5) |\n    ((BX_CPU_THIS_PTR get_ZF()>0) << 6) |\n    ((BX_CPU_THIS_PTR get_SF()>0) << 7) |\n    (BX_CPU_THIS_PTR eflags.tf << 8) |\n    (BX_CPU_THIS_PTR eflags.if_ << 9) |\n    (BX_CPU_THIS_PTR eflags.df << 10) |\n    ((BX_CPU_THIS_PTR get_OF()>0) << 11) |\n    (BX_CPU_THIS_PTR eflags.iopl << 12) |\n    (BX_CPU_THIS_PTR eflags.nt << 14) |\n    (BX_CPU_THIS_PTR eflags.bit15 << 15) |\n    (BX_CPU_THIS_PTR eflags.rf << 16) |\n    (BX_CPU_THIS_PTR eflags.vm << 17);\n#if BX_CPU_LEVEL >= 4\n  val32 |= (BX_CPU_THIS_PTR eflags.ac << 18);\n  //val32 |= (BX_CPU_THIS_PTR eflags.vif << 19);\n  //val32 |= (BX_CPU_THIS_PTR eflags.vip << 20);\n  val32 |= (BX_CPU_THIS_PTR eflags.id << 21);\n#endif\n  return(val32);\n}\n\n\n  Bit32u\nBX_CPU_C::dbg_get_descriptor_l(bx_descriptor_t *d)\n{\n  Bit32u val;\n\n  if (d->valid == 0) {\n    return(0);\n    }\n\n  if (d->segment) {\n    val = ((d->u.segment.base & 0xffff) << 16) |\n          (d->u.segment.limit & 0xffff);\n    return(val);\n    }\n  else {\n    switch (d->type) {\n      case 0: // Reserved (not yet defined)\n        BX_ERROR(( \"#get_descriptor_l(): type %d not finished\", d->type ));\n        return(0);\n\n      case 1: // available 16bit TSS\n        val = ((d->u.tss286.base & 0xffff) << 16) |\n               (d->u.tss286.limit & 0xffff);\n        return(val);\n\n      case 2: // LDT\n        val = ((d->u.ldt.base & 0xffff) << 16) |\n              d->u.ldt.limit;\n        return(val);\n\n      case 9: // available 32bit TSS\n        val = ((d->u.tss386.base & 0xffff) << 16) |\n               (d->u.tss386.limit & 0xffff);\n        return(val);\n\n      default:\n        BX_ERROR(( \"#get_descriptor_l(): type %d not finished\", d->type ));\n        return(0);\n      }\n    }\n}\n\n  Bit32u\nBX_CPU_C::dbg_get_descriptor_h(bx_descriptor_t *d)\n{\n  Bit32u val;\n\n  if (d->valid == 0) {\n    return(0);\n    }\n\n  if (d->segment) {\n    val = (d->u.segment.base & 0xff000000) |\n          ((d->u.segment.base >> 16) & 0x000000ff) |\n          (d->u.segment.executable << 11) |\n          (d->u.segment.c_ed << 10) |\n          (d->u.segment.r_w << 9) |\n          (d->u.segment.a << 8) |\n          (d->segment << 12) |\n          (d->dpl << 13) |\n          (d->p << 15) |\n          (d->u.segment.limit & 0xf0000) |\n          (d->u.segment.avl << 20) |\n          (d->u.segment.d_b << 22) |\n          (d->u.segment.g << 23);\n    return(val);\n    }\n  else {\n    switch (d->type) {\n      case 0: // Reserved (not yet defined)\n        BX_ERROR(( \"#get_descriptor_h(): type %d not finished\", d->type ));\n        return(0);\n\n      case 1: // available 16bit TSS\n        val = ((d->u.tss286.base >> 16) & 0xff) |\n              (d->type << 8) |\n              (d->dpl << 13) |\n              (d->p << 15);\n        return(val);\n\n      case 2: // LDT\n        val = ((d->u.ldt.base >> 16) & 0xff) |\n              (d->type << 8) |\n              (d->dpl << 13) |\n              (d->p << 15) |\n              (d->u.ldt.base & 0xff000000);\n        return(val);\n\n      case 9: // available 32bit TSS\n        val = ((d->u.tss386.base >> 16) & 0xff) |\n              (d->type << 8) |\n              (d->dpl << 13) |\n              (d->p << 15) |\n              (d->u.tss386.limit & 0xf0000) |\n              (d->u.tss386.avl << 20) |\n              (d->u.tss386.g << 23) |\n              (d->u.tss386.base & 0xff000000);\n        return(val);\n\n      default:\n        BX_ERROR(( \"#get_descriptor_h(): type %d not finished\", d->type ));\n        return(0);\n      }\n    }\n}\n\n  Boolean\nBX_CPU_C::dbg_get_sreg(bx_dbg_sreg_t *sreg, unsigned sreg_no)\n{\n  if (sreg_no > 5)\n    return(0);\n  sreg->sel   = BX_CPU_THIS_PTR program_visible_sregs[sreg_no].selector.value;\n  sreg->des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[sreg_no].cache);\n  sreg->des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[sreg_no].cache);\n  sreg->valid = BX_CPU_THIS_PTR program_visible_sregs[sreg_no].cache.valid;\n  return(1);\n}\n\n  Boolean\nBX_CPU_C::dbg_get_cpu(bx_dbg_cpu_t *cpu)\n{\n  cpu->eax = EAX;\n  cpu->ebx = EBX;\n  cpu->ecx = ECX;\n  cpu->edx = EDX;\n\n  cpu->ebp = EBP;\n  cpu->esi = ESI;\n  cpu->edi = EDI;\n  cpu->esp = BX_ESP;\n\n  cpu->eflags = dbg_get_eflags();\n  cpu->eip    = BX_CPU_THIS_PTR program_visible_eip;\n\n  cpu->cs.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n  cpu->cs.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache);\n  cpu->cs.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache);\n  cpu->cs.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid;\n\n  cpu->ss.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value;\n  cpu->ss.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache);\n  cpu->ss.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache);\n  cpu->ss.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid;\n\n  cpu->ds.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value;\n  cpu->ds.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache);\n  cpu->ds.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache);\n  cpu->ds.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid;\n\n  cpu->es.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value;\n  cpu->es.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache);\n  cpu->es.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache);\n  cpu->es.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid;\n\n  cpu->fs.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value;\n  cpu->fs.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache);\n  cpu->fs.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache);\n  cpu->fs.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid;\n\n  cpu->gs.sel   = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value;\n  cpu->gs.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache);\n  cpu->gs.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache);\n  cpu->gs.valid = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid;\n\n\n  cpu->ldtr.sel   = BX_CPU_THIS_PTR ldtr.selector.value;\n  cpu->ldtr.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR ldtr.cache);\n  cpu->ldtr.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR ldtr.cache);\n  cpu->ldtr.valid = BX_CPU_THIS_PTR ldtr.cache.valid;\n\n  cpu->tr.sel   = BX_CPU_THIS_PTR tr.selector.value;\n  cpu->tr.des_l = dbg_get_descriptor_l(&BX_CPU_THIS_PTR tr.cache);\n  cpu->tr.des_h = dbg_get_descriptor_h(&BX_CPU_THIS_PTR tr.cache);\n  cpu->tr.valid = BX_CPU_THIS_PTR tr.cache.valid;\n\n  cpu->gdtr.base  = BX_CPU_THIS_PTR gdtr.base;\n  cpu->gdtr.limit = BX_CPU_THIS_PTR gdtr.limit;\n\n  cpu->idtr.base  = BX_CPU_THIS_PTR idtr.base;\n  cpu->idtr.limit = BX_CPU_THIS_PTR idtr.limit;\n\n  cpu->dr0 = BX_CPU_THIS_PTR dr0;\n  cpu->dr1 = BX_CPU_THIS_PTR dr1;\n  cpu->dr2 = BX_CPU_THIS_PTR dr2;\n  cpu->dr3 = BX_CPU_THIS_PTR dr3;\n  cpu->dr6 = BX_CPU_THIS_PTR dr6;\n  cpu->dr7 = BX_CPU_THIS_PTR dr7;\n\n  cpu->tr3 = 0;\n  cpu->tr4 = 0;\n  cpu->tr5 = 0;\n  cpu->tr6 = 0;\n  cpu->tr7 = 0;\n\n  // cr0:32=pg,cd,nw,am,wp,ne,ts,em,mp,pe\n  cpu->cr0 = BX_CPU_THIS_PTR cr0.val32;\n  cpu->cr1 = 0;\n  cpu->cr2 = BX_CPU_THIS_PTR cr2;\n  cpu->cr3 = BX_CPU_THIS_PTR cr3;\n  cpu->cr4 = 0;\n\n  cpu->inhibit_mask = BX_CPU_THIS_PTR inhibit_mask;\n\n  return(1);\n}\n\n  Boolean\nBX_CPU_C::dbg_set_cpu(bx_dbg_cpu_t *cpu)\n{\n  // returns 1=OK, 0=Error\n  Bit32u val;\n  Bit32u type;\n\n  // =================================================\n  // Do checks first, before setting any CPU registers\n  // =================================================\n\n  // CS, SS, DS, ES, FS, GS descriptor checks\n  if (!cpu->cs.valid) {\n    BX_ERROR(( \"Error: CS not valid\" ));\n    return(0); // error\n    }\n  if ( (cpu->cs.des_h & 0x1000) == 0 ) {\n    BX_ERROR(( \"Error: CS not application type\" ));\n    return(0); // error\n    }\n  if ( (cpu->cs.des_h & 0x0800) == 0 ) {\n    BX_ERROR(( \"Error: CS not executable\" ));\n    return(0); // error\n    }\n\n  if (!cpu->ss.valid) {\n    BX_ERROR(( \"Error: SS not valid\" ));\n    return(0); // error\n    }\n  if ( (cpu->ss.des_h & 0x1000) == 0 ) {\n    BX_ERROR(( \"Error: SS not application type\" ));\n    return(0); // error\n    }\n\n  if (cpu->ds.valid) {\n    if ( (cpu->ds.des_h & 0x1000) == 0 ) {\n      BX_ERROR(( \"Error: DS not application type\" ));\n      return(0); // error\n      }\n    }\n\n  if (cpu->es.valid) {\n    if ( (cpu->es.des_h & 0x1000) == 0 ) {\n      BX_ERROR(( \"Error: ES not application type\" ));\n      return(0); // error\n      }\n    }\n\n  if (cpu->fs.valid) {\n    if ( (cpu->fs.des_h & 0x1000) == 0 ) {\n      BX_ERROR(( \"Error: FS not application type\" ));\n      return(0); // error\n      }\n    }\n\n  if (cpu->gs.valid) {\n    if ( (cpu->gs.des_h & 0x1000) == 0 ) {\n      BX_ERROR(( \"Error: GS not application type\" ));\n      return(0); // error\n      }\n    }\n\n  if (cpu->ldtr.valid) {\n    if ( cpu->ldtr.des_h & 0x1000 ) {\n      BX_ERROR(( \"Error: LDTR not system type\" ));\n      return(0); // error\n      }\n    if ( ((cpu->ldtr.des_h >> 8) & 0x0f) != 2 ) {\n      BX_ERROR(( \"Error: LDTR descriptor type not LDT\" ));\n      return(0); // error\n      }\n    }\n\n  if (cpu->tr.valid) {\n    if ( cpu->tr.des_h & 0x1000 ) {\n      BX_ERROR(( \"Error: TR not system type\"));\n      return(0); // error\n      }\n    type = (cpu->tr.des_h >> 8) & 0x0f;\n\n    if ( (type != 1) && (type != 9) ) {\n      BX_ERROR(( \"Error: TR descriptor type not TSS\" ));\n      return(0); // error\n      }\n    }\n\n  // =============\n  // end of checks\n  // =============\n\n  EAX = cpu->eax;\n  EBX = cpu->ebx;\n  ECX = cpu->ecx;\n  EDX = cpu->edx;\n  EBP = cpu->ebp;\n  ESI = cpu->esi;\n  EDI = cpu->edi;\n  BX_ESP = cpu->esp;\n\n  // eflags\n  val = cpu->eflags;\n  BX_CPU_THIS_PTR set_CF(val & 0x01); val >>= 2;\n  BX_CPU_THIS_PTR set_PF(val & 0x01); val >>= 2;\n  BX_CPU_THIS_PTR set_AF(val & 0x01); val >>= 2;\n  BX_CPU_THIS_PTR set_ZF(val & 0x01); val >>= 1;\n  BX_CPU_THIS_PTR set_SF(val & 0x01); val >>= 1;\n  BX_CPU_THIS_PTR eflags.tf  = val & 0x01; val >>= 1;\n  BX_CPU_THIS_PTR eflags.if_ = val & 0x01; val >>= 1;\n  BX_CPU_THIS_PTR eflags.df  = val & 0x01; val >>= 1;\n  BX_CPU_THIS_PTR set_OF(val & 0x01); val >>= 1;\n  BX_CPU_THIS_PTR eflags.iopl = val & 0x03; val >>= 2;\n  BX_CPU_THIS_PTR eflags.nt   = val & 0x01; val >>= 2;\n  BX_CPU_THIS_PTR eflags.rf   = val & 0x01; val >>= 1;\n  BX_CPU_THIS_PTR eflags.vm   = val & 0x01; val >>= 1;\n#if BX_CPU_LEVEL >= 4\n  BX_CPU_THIS_PTR eflags.ac   = val & 0x01; val >>= 1;\n  //BX_CPU_THIS_PTR eflags.vif  = val & 0x01;\n  val >>= 1;\n  //BX_CPU_THIS_PTR eflags.vip  = val & 0x01;\n  val >>= 1;\n  BX_CPU_THIS_PTR eflags.id   = val & 0x01;\n#endif\n\n  BX_CPU_THIS_PTR program_visible_eip = cpu->eip;\n\n\n\n  // CS:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value = cpu->cs.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.index = cpu->cs.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.ti    = (cpu->cs.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl   = cpu->cs.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid            = cpu->cs.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.p                = (cpu->cs.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.dpl              = (cpu->cs.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.segment          = (cpu->cs.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.type             = (cpu->cs.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.executable = (cpu->cs.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.c_ed   = (cpu->cs.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.r_w    = (cpu->cs.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.a      = (cpu->cs.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base   = (cpu->cs.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base  |= (cpu->cs.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base  |= (cpu->cs.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit  = (cpu->cs.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit |= (cpu->cs.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.g      = (cpu->cs.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b    = (cpu->cs.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.avl    = (cpu->cs.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit;\n\n\n  // SS:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value = cpu->ss.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.index = cpu->ss.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.ti    = (cpu->ss.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl   = cpu->ss.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid            = cpu->ss.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.p                = (cpu->ss.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.dpl              = (cpu->ss.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.segment          = (cpu->ss.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.type             = (cpu->ss.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.executable = (cpu->ss.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed   = (cpu->ss.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.r_w    = (cpu->ss.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.a      = (cpu->ss.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base   = (cpu->ss.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base  |= (cpu->ss.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base  |= (cpu->ss.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit  = (cpu->ss.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit |= (cpu->ss.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.g      = (cpu->ss.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b    = (cpu->ss.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.avl    = (cpu->ss.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit;\n\n\n  // DS:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = cpu->ds.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.index = cpu->ds.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.ti    = (cpu->ds.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl   = cpu->ds.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid            = cpu->ds.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.p                = (cpu->ds.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.dpl              = (cpu->ds.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.segment          = (cpu->ds.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.type             = (cpu->ds.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.executable = (cpu->ds.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.c_ed   = (cpu->ds.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.r_w    = (cpu->ds.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.a      = (cpu->ds.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base   = (cpu->ds.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base  |= (cpu->ds.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base  |= (cpu->ds.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit  = (cpu->ds.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit |= (cpu->ds.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.g      = (cpu->ds.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.d_b    = (cpu->ds.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.avl    = (cpu->ds.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit;\n\n\n\n  // ES:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = cpu->es.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.index = cpu->es.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.ti    = (cpu->es.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl   = cpu->es.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid            = cpu->es.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.p                = (cpu->es.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.dpl              = (cpu->es.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.segment          = (cpu->es.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.type             = (cpu->es.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.executable = (cpu->es.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.c_ed   = (cpu->es.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.r_w    = (cpu->es.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.a      = (cpu->es.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base   = (cpu->es.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base  |= (cpu->es.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base  |= (cpu->es.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit  = (cpu->es.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit |= (cpu->es.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.g      = (cpu->es.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.d_b    = (cpu->es.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.avl    = (cpu->es.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit;\n\n\n  // FS:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = cpu->fs.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.index = cpu->fs.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.ti    = (cpu->fs.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.rpl   = cpu->fs.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid            = cpu->fs.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.p                = (cpu->fs.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.dpl              = (cpu->fs.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.segment          = (cpu->fs.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.type             = (cpu->fs.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.executable = (cpu->fs.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.c_ed   = (cpu->fs.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.r_w    = (cpu->fs.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.a      = (cpu->fs.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base   = (cpu->fs.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base  |= (cpu->fs.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base  |= (cpu->fs.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit  = (cpu->fs.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit |= (cpu->fs.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.g      = (cpu->fs.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.d_b    = (cpu->fs.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.avl    = (cpu->fs.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit;\n\n\n  // GS:\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = cpu->gs.sel;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.index = cpu->gs.sel >> 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.ti    = (cpu->gs.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.rpl   = cpu->gs.sel & 0x03;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid            = cpu->gs.valid;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.p                = (cpu->gs.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.dpl              = (cpu->gs.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.segment          = (cpu->gs.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.type             = (cpu->gs.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.executable = (cpu->gs.des_h >> 11) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.c_ed   = (cpu->gs.des_h >> 10) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.r_w    = (cpu->gs.des_h >> 9) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.a      = (cpu->gs.des_h >> 8) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base   = (cpu->gs.des_l >> 16);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base  |= (cpu->gs.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base  |= (cpu->gs.des_h & 0xff000000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit  = (cpu->gs.des_l & 0xffff);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit |= (cpu->gs.des_h & 0x000f0000);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.g      = (cpu->gs.des_h >> 23) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.d_b    = (cpu->gs.des_h >> 22) & 0x01;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.avl    = (cpu->gs.des_h >> 20) & 0x01;\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.g)\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit_scaled =\n      (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit << 12) | 0x0fff;\n  else\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit_scaled =\n      BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit;\n\n  // LDTR:\n  BX_CPU_THIS_PTR ldtr.selector.value = cpu->ldtr.sel;\n  BX_CPU_THIS_PTR ldtr.selector.index = cpu->ldtr.sel >> 3;\n  BX_CPU_THIS_PTR ldtr.selector.ti    = (cpu->ldtr.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR ldtr.selector.rpl   = cpu->ldtr.sel & 0x03;\n\n  BX_CPU_THIS_PTR ldtr.cache.valid            = cpu->ldtr.valid;\n  BX_CPU_THIS_PTR ldtr.cache.p                = (cpu->ldtr.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR ldtr.cache.dpl              = (cpu->ldtr.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR ldtr.cache.segment          = (cpu->ldtr.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR ldtr.cache.type             = (cpu->ldtr.des_h >> 8) & 0x0f;\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.base       = (cpu->ldtr.des_l >> 16);\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.base      |= (cpu->ldtr.des_h & 0xff) << 16;\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.base      |= (cpu->ldtr.des_h & 0xff000000);\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit      = (cpu->ldtr.des_l & 0xffff);\n\n  // TR\n  type = (cpu->tr.des_h >> 8) & 0x0f;\n  type &= ~2; // never allow busy bit in tr.cache.type\n  BX_CPU_THIS_PTR tr.selector.value = cpu->tr.sel;\n  BX_CPU_THIS_PTR tr.selector.index = cpu->tr.sel >> 3;\n  BX_CPU_THIS_PTR tr.selector.ti    = (cpu->tr.sel >> 2) & 0x01;\n  BX_CPU_THIS_PTR tr.selector.rpl   = cpu->tr.sel & 0x03;\n\n  BX_CPU_THIS_PTR tr.cache.valid            = cpu->tr.valid;\n  BX_CPU_THIS_PTR tr.cache.p                = (cpu->tr.des_h >> 15) & 0x01;\n  BX_CPU_THIS_PTR tr.cache.dpl              = (cpu->tr.des_h >> 13) & 0x03;\n  BX_CPU_THIS_PTR tr.cache.segment          = (cpu->tr.des_h >> 12) & 0x01;\n  BX_CPU_THIS_PTR tr.cache.type             = type;\n  if (type == 1) { // 286 TSS\n    BX_CPU_THIS_PTR tr.cache.u.tss286.base   = (cpu->tr.des_l >> 16);\n    BX_CPU_THIS_PTR tr.cache.u.tss286.base  |= (cpu->tr.des_h & 0xff) << 16;\n    BX_CPU_THIS_PTR tr.cache.u.tss286.limit  = (cpu->tr.des_l & 0xffff);\n    }\n  else { // type == 9, 386 TSS\n    BX_CPU_THIS_PTR tr.cache.u.tss386.base   = (cpu->tr.des_l >> 16);\n    BX_CPU_THIS_PTR tr.cache.u.tss386.base  |= (cpu->tr.des_h & 0xff) << 16;\n    BX_CPU_THIS_PTR tr.cache.u.tss386.base  |= (cpu->tr.des_h & 0xff000000);\n    BX_CPU_THIS_PTR tr.cache.u.tss386.limit  = (cpu->tr.des_l & 0xffff);\n    BX_CPU_THIS_PTR tr.cache.u.tss386.limit |= (cpu->tr.des_h & 0x000f0000);\n    BX_CPU_THIS_PTR tr.cache.u.tss386.g      = (cpu->tr.des_h >> 23) & 0x01;\n    BX_CPU_THIS_PTR tr.cache.u.tss386.avl    = (cpu->tr.des_h >> 20) & 0x01;\n    }\n\n\n  // gdtr\n  BX_CPU_THIS_PTR gdtr.base  = cpu->gdtr.base;\n  BX_CPU_THIS_PTR gdtr.limit = cpu->gdtr.limit;\n\n  // idtr\n  BX_CPU_THIS_PTR idtr.base  = cpu->idtr.base;\n  BX_CPU_THIS_PTR idtr.limit = cpu->idtr.limit;\n\n\n  BX_CPU_THIS_PTR dr0 = cpu->dr0;\n  BX_CPU_THIS_PTR dr1 = cpu->dr1;\n  BX_CPU_THIS_PTR dr2 = cpu->dr2;\n  BX_CPU_THIS_PTR dr3 = cpu->dr3;\n  BX_CPU_THIS_PTR dr6 = cpu->dr6;\n  BX_CPU_THIS_PTR dr7 = cpu->dr7;\n\n  // BX_CPU_THIS_PTR tr3 = cpu->tr3;\n  // BX_CPU_THIS_PTR tr4 = cpu->tr4;\n  // BX_CPU_THIS_PTR tr5 = cpu->tr5;\n  // BX_CPU_THIS_PTR tr6 = cpu->tr6;\n  // BX_CPU_THIS_PTR tr7 = cpu->tr7;\n\n\n  // cr0, cr1, cr2, cr3, cr4\n  SetCR0(cpu->cr0);\n  BX_CPU_THIS_PTR cr1 = cpu->cr1;\n  BX_CPU_THIS_PTR cr2 = cpu->cr2;\n  BX_CPU_THIS_PTR cr3 = cpu->cr3;\n#if BX_CPU_LEVEL >= 5\n  BX_CPU_THIS_PTR cr4 = cpu->cr4;\n#endif\n\n  BX_CPU_THIS_PTR inhibit_mask = cpu->inhibit_mask;\n\n  //\n  // flush cached items, prefetch, paging, etc\n  //\n  BX_CPU_THIS_PTR CR3_change(cpu->cr3);\n  BX_CPU_THIS_PTR invalidate_prefetch_q();\n  BX_CPU_THIS_PTR async_event = 1;\n\n  return(1);\n}\n\n#if BX_SIM_ID == 0\n#  define BX_DBG_NULL_CALLBACK bx_dbg_null_callback0\n#else\n#  define BX_DBG_NULL_CALLBACK bx_dbg_null_callback1\n#endif\n  void\nBX_DBG_NULL_CALLBACK(unsigned val)\n{\n  // bochs uses the pc_system variables, so this function is\n  // a stub for notification by the debugger, that a change\n  // occurred.\n  UNUSED(val);\n}\n\n  void\n#if BX_SIM_ID == 0\nbx_dbg_init_cpu_mem_env0(bx_dbg_callback_t *callback, int argc, char *argv[])\n#else\nbx_dbg_init_cpu_mem_env1(bx_dbg_callback_t *callback, int argc, char *argv[])\n#endif\n{\n  UNUSED(argc);\n  UNUSED(argv);\n\n#if 0\n#warning hardcoding BX_CPU_THIS_PTR mem[0] and cpu[0]\n  callback->setphymem           = BX_MEM(0)->dbg_set_mem;\n  callback->getphymem           = BX_MEM(0)->dbg_fetch_mem;\n  callback->xlate_linear2phy    = BX_CPU(0)->dbg_xlate_linear2phy;\n  callback->set_reg             = BX_CPU(0)->dbg_set_reg;\n  callback->get_reg             = BX_CPU(0)->dbg_get_reg;\n  callback->get_sreg            = BX_CPU(0)->dbg_get_sreg;\n  callback->get_cpu             = BX_CPU(0)->dbg_get_cpu;\n  callback->set_cpu             = BX_CPU(0)->dbg_set_cpu;\n  callback->dirty_page_tbl_size = sizeof(BX_MEM(0)->dbg_dirty_pages);\n  callback->dirty_page_tbl      = BX_MEM(0)->dbg_dirty_pages;\n  callback->atexit              = BX_CPU(0)->atexit;\n  callback->query_pending       = BX_CPU(0)->dbg_query_pending;\n  callback->execute             = BX_CPU(0)->cpu_loop;\n  callback->take_irq            = BX_CPU(0)->dbg_take_irq;\n  callback->take_dma            = BX_CPU(0)->dbg_take_dma;\n  callback->reset_cpu           = BX_CPU(0)->reset;\n  callback->init_mem            = BX_MEM(0)->init_memory;\n  callback->load_ROM            = BX_MEM(0)->load_ROM;\n  callback->set_A20             = NULL;\n  callback->set_NMI             = BX_DBG_NULL_CALLBACK;\n  callback->set_RESET           = BX_DBG_NULL_CALLBACK;\n  callback->set_INTR            = BX_CPU(0)->set_INTR;\n  callback->force_interrupt     = BX_CPU(0)->dbg_force_interrupt;\n\n#if BX_INSTRUMENTATION\n  callback->instr_start         = bx_instr_start;\n  callback->instr_stop          = bx_instr_stop;\n  callback->instr_reset         = bx_instr_reset;\n  callback->instr_print         = bx_instr_print;\n#endif\n#if BX_USE_LOADER\n  callback->loader              = bx_dbg_loader;\n#endif\n  callback->crc32               = BX_MEM(0)->dbg_crc32;\n#endif\n}\n\n#endif  // #if BX_DEBUGGER\n\n  void\nBX_CPU_C::atexit(void)\n{\n  if (protected_mode()) BX_INFO((\"protected mode\"));\n  else if (v8086_mode()) BX_INFO((\"v8086 mode\"));\n  else BX_INFO((\"real mode\"));\n  BX_INFO((\"CS.d_b = %u bit\",\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS].cache.u.segment.d_b ? 32 : 16));\n  BX_INFO((\"SS.d_b = %u bit\",\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_SS].cache.u.segment.d_b ? 32 : 16));\n\n  debug(BX_CPU_THIS_PTR prev_eip);\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/except.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: exception.cc,v 1.12 2002/03/12 19:00:44 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n/* Exception classes.  These are used as indexes into the 'is_exception_OK'\n * array below, and are stored in the 'exception' array also\n */\n#define BX_ET_BENIGN       0\n#define BX_ET_CONTRIBUTORY 1\n#define BX_ET_PAGE_FAULT   2\n\n#define BX_ET_DOUBLE_FAULT 10\n\n\nconst Boolean BX_CPU_C::is_exception_OK[3][3] = {\n    { 1, 1, 1 }, /* 1st exception is BENIGN */\n    { 1, 0, 1 }, /* 1st exception is CONTRIBUTORY */\n    { 1, 0, 0 }  /* 1st exception is PAGE_FAULT */\n    };\n\n\n  void\nBX_CPU_C::intel_interrupt(Bit8u _vector, Boolean is_INT, Boolean is_error_code,\n                    Bit16u error_code)\n{\n#if BX_DEBUGGER\n  if (bx_guard.special_unwind_stack) {\n    BX_INFO ((\"intel_interrupt() returning early because special_unwind_stack is set\"));\n    return;\n  }\n  BX_CPU_THIS_PTR show_flag |= Flag_intsig;\n#if BX_DEBUG_LINUX\n  if (bx_dbg.linux_syscall) {\n    if (_vector == 0x80) bx_dbg_linux_syscall ();\n  }\n#endif\n#endif\n\n//BX_DEBUG(( \"::intel_interrupt(%u)\", _vector ));\n\n  BX_INSTR_INTERRUPT(_vector);\n  invalidate_prefetch_q();\n\n  // Discard any traps and inhibits for new context; traps will\n  // resume upon return.\n  BX_CPU_THIS_PTR debug_trap = 0;\n  BX_CPU_THIS_PTR inhibit_mask = 0;\n\n#if BX_CPU_LEVEL >= 2\n//  unsigned prev_errno;\n\n  BX_DEBUG((\"intel_interrupt(): _vector = %u, INT = %u, EXT = %u\",\n      (unsigned) _vector, (unsigned) is_INT, (unsigned) BX_CPU_THIS_PTR EXT));\n\n#if (X86CPU_MSWIN_MSDOS==1)\nBX_CPU_THIS_PTR save_eflags = BX_CPU_THIS_PTR eflags;\n#endif\nBX_CPU_THIS_PTR save_cs  = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS];\nBX_CPU_THIS_PTR save_ss  = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS];\nBX_CPU_THIS_PTR save_eip = X86_EIP;\nBX_CPU_THIS_PTR save_esp = X86_ESP;\n\n\n//  prev_errno = BX_CPU_THIS_PTR errorno;\n\n  if(!real_mode()) {\n    Bit32u  dword1, dword2;\n    bx_descriptor_t gate_descriptor, cs_descriptor;\n    bx_selector_t cs_selector;\n\n    Bit16u raw_tss_selector;\n    bx_selector_t   tss_selector;\n    bx_descriptor_t tss_descriptor;\n\n    Bit16u gate_dest_selector;\n    Bit32u gate_dest_offset;\n\n\n    // intel_interrupt _vector must be within IDT table limits,\n    // else #GP(_vector number*8 + 2 + EXT)\n    if ( (_vector*8 + 7) > BX_CPU_THIS_PTR idtr.limit) {\n      BX_DEBUG((\"IDT.limit = %04x\", (unsigned) BX_CPU_THIS_PTR idtr.limit));\n      BX_DEBUG((\"IDT.base  = %06x\", (unsigned) BX_CPU_THIS_PTR idtr.base));\n      BX_DEBUG((\"intel_interrupt _vector must be within IDT table limits\"));\n      BX_DEBUG((\"bailing\"));\n      BX_DEBUG((\"intel_interrupt(): _vector > idtr.limit\"));\n\n      exception(BX_GP_EXCEPTION, _vector*8 + 2, 0);\n      }\n\n    // descriptor AR byte must indicate intel_interrupt gate, trap gate,\n    // or task gate, else #GP(_vector*8 + 2 + EXT)\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR idtr.base + _vector*8,     4, 0,\n      BX_READ, &dword1);\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR idtr.base + _vector*8 + 4, 4, 0,\n      BX_READ, &dword2);\n\n    parse_descriptor(dword1, dword2, &gate_descriptor);\n\n    if ( (gate_descriptor.valid==0) || gate_descriptor.segment) {\n      BX_DEBUG((\"intel_interrupt(): gate descriptor is not valid sys seg\"));\n      exception(BX_GP_EXCEPTION, _vector*8 + 2, 0);\n      }\n\n    switch (gate_descriptor.type) {\n      case 5: // task gate\n      case 6: // 286 intel_interrupt gate\n      case 7: // 286 trap gate\n      case 14: // 386 intel_interrupt gate\n      case 15: // 386 trap gate\n        break;\n      default:\n        BX_DEBUG((\"intel_interrupt(): gate.type(%u) != {5,6,7,14,15}\",\n          (unsigned) gate_descriptor.type));\n        exception(BX_GP_EXCEPTION, _vector*8 + 2, 0);\n        return;\n      }\n\n    // if software intel_interrupt, then gate descripor DPL must be >= CPL,\n    // else #GP(_vector * 8 + 2 + EXT)\n    if (is_INT  &&  (gate_descriptor.dpl < CPL)) {\n/* ??? */\n      BX_DEBUG((\"intel_interrupt(): is_INT && (dpl < CPL)\"));\n      exception(BX_GP_EXCEPTION, _vector*8 + 2, 0);\n      return;\n      }\n\n    // Gate must be present, else #NP(_vector * 8 + 2 + EXT)\n    if (gate_descriptor.p == 0) {\n      BX_DEBUG((\"intel_interrupt(): p == 0\"));\n      exception(BX_NP_EXCEPTION, _vector*8 + 2, 0);\n      }\n\n    switch (gate_descriptor.type) {\n      case 5: // 286/386 task gate\n        // examine selector to TSS, given in task gate descriptor\n        raw_tss_selector = gate_descriptor.u.taskgate.tss_selector;\n        parse_selector(raw_tss_selector, &tss_selector);\n\n        // must specify global in the local/global bit,\n        //      else #TS(TSS selector)\n// +++\n// 486/Pent books say #TSS(selector)\n// PPro+ says #GP(selector)\n        if (tss_selector.ti) {\n          BX_PANIC((\"intel_interrupt: tss_selector.ti=1\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          return;\n          }\n\n        // index must be within GDT limits, else #TS(TSS selector)\n        fetch_raw_descriptor(&tss_selector, &dword1, &dword2,\n          BX_TS_EXCEPTION);\n\n        // AR byte must specify available TSS,\n        //   else #TS(TSS selector)\n        parse_descriptor(dword1, dword2, &tss_descriptor);\n        if (tss_descriptor.valid==0 || tss_descriptor.segment) {\n          BX_PANIC((\"exception: TSS selector points to bad TSS\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          return;\n          }\n        if (tss_descriptor.type!=9 && tss_descriptor.type!=1) {\n          BX_PANIC((\"exception: TSS selector points to bad TSS\"));\n          exception(BX_TS_EXCEPTION, raw_tss_selector & 0xfffc, 0);\n          return;\n          }\n\n\n        // TSS must be present, else #NP(TSS selector)\n        // done in task_switch()\n\n        // switch tasks with nesting to TSS\n        task_switch(&tss_selector, &tss_descriptor,\n                    BX_TASK_FROM_CALL_OR_INT, dword1, dword2);\n\n        // if intel_interrupt was caused by fault with error code\n        //   stack limits must allow push of 2 more bytes, else #SS(0)\n        // push error code onto stack\n\n        //??? push_16 vs push_32\n        if ( is_error_code ) {\n          //if (tss_descriptor.type==9)\n          if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b)\n            call_push_32(error_code);\n          else\n            call_push_16(error_code);\n          }\n\n        // instruction pointer must be in CS limit, else #GP(0)\n        //if (BX_EIP > cs_descriptor.u.segment.limit_scaled) {}\n        if (X86_EIP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled) {\n          BX_PANIC((\"exception(): eIP > CS.limit\"));\n          exception(BX_GP_EXCEPTION, 0x0000, 0);\n          }\n        return;\n        break;\n\n      case 6: // 286 intel_interrupt gate\n      case 7: // 286 trap gate\n      case 14: // 386 intel_interrupt gate\n      case 15: // 386 trap gate\n        if ( gate_descriptor.type >= 14 ) { // 386 gate\n          gate_dest_selector = gate_descriptor.u.gate386.dest_selector;\n          gate_dest_offset   = gate_descriptor.u.gate386.dest_offset;\n          }\n        else { // 286 gate\n          gate_dest_selector = gate_descriptor.u.gate286.dest_selector;\n          gate_dest_offset   = gate_descriptor.u.gate286.dest_offset;\n          }\n\n        // examine CS selector and descriptor given in gate descriptor\n        // selector must be non-null else #GP(EXT)\n        if ( (gate_dest_selector & 0xfffc) == 0 ) {\n          BX_PANIC((\"int_trap_gate(): selector null\"));\n          exception(BX_GP_EXCEPTION, 0, 0);\n          }\n\n        parse_selector(gate_dest_selector, &cs_selector);\n\n        // selector must be within its descriptor table limits\n        // else #GP(selector+EXT)\n        fetch_raw_descriptor(&cs_selector, &dword1, &dword2,\n                                BX_GP_EXCEPTION);\n        parse_descriptor(dword1, dword2, &cs_descriptor);\n\n        // descriptor AR byte must indicate code seg\n        // and code segment descriptor DPL<=CPL, else #GP(selector+EXT)\n        if ( cs_descriptor.valid==0 ||\n             cs_descriptor.segment==0 ||\n             cs_descriptor.u.segment.executable==0 ||\n             cs_descriptor.dpl>CPL ) {\n          BX_DEBUG((\"intel_interrupt(): not code segment\"));\n          exception(BX_GP_EXCEPTION, cs_selector.value & 0xfffc, 0);\n          }\n\n        // segment must be present, else #NP(selector + EXT)\n        if ( cs_descriptor.p==0 ) {\n          BX_DEBUG((\"intel_interrupt(): segment not present\"));\n          exception(BX_NP_EXCEPTION, cs_selector.value & 0xfffc, 0);\n          }\n\n        // if code segment is non-conforming and DPL < CPL then\n        // INTERRUPT TO INNER PRIVILEGE:\n        if ( cs_descriptor.u.segment.c_ed==0 && cs_descriptor.dpl<CPL ) {\n          Bit16u old_SS, old_CS, SS_for_cpl_x;\n          Bit32u ESP_for_cpl_x, old_EIP, old_ESP;\n          bx_descriptor_t ss_descriptor;\n          bx_selector_t   ss_selector;\n          int bytes;\n\n          BX_DEBUG((\"intel_interrupt(): INTERRUPT TO INNER PRIVILEGE\"));\n\n          // check selector and descriptor for new stack in current TSS\n          get_SS_ESP_from_TSS(cs_descriptor.dpl,\n                              &SS_for_cpl_x, &ESP_for_cpl_x);\n\n          // Selector must be non-null else #TS(EXT)\n          if ( (SS_for_cpl_x & 0xfffc) == 0 ) {\n            BX_PANIC((\"intel_interrupt(): SS selector null\"));\n            /* TS(ext) */\n            exception(BX_TS_EXCEPTION, 0, 0);\n            }\n\n          // selector index must be within its descriptor table limits\n          // else #TS(SS selector + EXT)\n          parse_selector(SS_for_cpl_x, &ss_selector);\n          // fetch 2 dwords of descriptor; call handles out of limits checks\n          fetch_raw_descriptor(&ss_selector, &dword1, &dword2,\n                                  BX_TS_EXCEPTION);\n          parse_descriptor(dword1, dword2, &ss_descriptor);\n\n          // selector rpl must = dpl of code segment,\n          // else #TS(SS selector + ext)\n          if (ss_selector.rpl != cs_descriptor.dpl) {\n            BX_PANIC((\"intel_interrupt(): SS.rpl != CS.dpl\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            }\n\n          // stack seg DPL must = DPL of code segment,\n          // else #TS(SS selector + ext)\n          if (ss_descriptor.dpl != cs_descriptor.dpl) {\n            BX_PANIC((\"intel_interrupt(): SS.dpl != CS.dpl\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            }\n\n          // descriptor must indicate writable data segment,\n          // else #TS(SS selector + EXT)\n          if (ss_descriptor.valid==0 ||\n              ss_descriptor.segment==0  ||\n              ss_descriptor.u.segment.executable==1  ||\n              ss_descriptor.u.segment.r_w==0) {\n            BX_PANIC((\"intel_interrupt(): SS not writable data segment\"));\n            exception(BX_TS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            }\n\n          // seg must be present, else #SS(SS selector + ext)\n          if (ss_descriptor.p==0) {\n            BX_PANIC((\"intel_interrupt(): SS not present\"));\n            exception(BX_SS_EXCEPTION, SS_for_cpl_x & 0xfffc, 0);\n            }\n\n          if (gate_descriptor.type>=14) {\n            // 386 int/trap gate\n            // new stack must have room for 20|24 bytes, else #SS(0)\n            if ( is_error_code )\n              bytes = 24;\n            else\n              bytes = 20;\n            if (v8086_mode())\n              bytes += 16;\n            }\n          else {\n            // new stack must have room for 10|12 bytes, else #SS(0)\n            if ( is_error_code )\n              bytes = 12;\n            else\n              bytes = 10;\n            if (v8086_mode()) {\n              bytes += 8;\n              BX_PANIC((\"intel_interrupt: int/trap gate VM\"));\n              }\n            }\n\n// 486,Pentium books\n// new stack must have room for 10/12 bytes, else #SS(0) 486 book\n// PPro+\n// new stack must have room for 10/12 bytes, else #SS(seg selector)\n          if ( !can_push(&ss_descriptor, ESP_for_cpl_x, bytes) ) {\n            BX_PANIC((\"intel_interrupt(): new stack doesn't have room for %u bytes\",\n               (unsigned) bytes));\n            // SS(???)\n            }\n\n          // IP must be within CS segment boundaries, else #GP(0)\n          if (gate_dest_offset > cs_descriptor.u.segment.limit_scaled) {\n            BX_PANIC((\"intel_interrupt(): gate eIP > CS.limit\"));\n            exception(BX_GP_EXCEPTION, 0, 0);\n            }\n\n          old_ESP = X86_ESP;\n          old_SS  = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value;\n          old_EIP = X86_EIP;\n          old_CS  = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n\n          // load new SS:SP values from TSS\n          load_ss(&ss_selector, &ss_descriptor, cs_descriptor.dpl);\n\n          if (ss_descriptor.u.segment.d_b)\n            X86_ESP = ESP_for_cpl_x;\n          else\n            X86_SP = ESP_for_cpl_x; // leave upper 16bits\n\n          // load new CS:IP values from gate\n          // set CPL to new code segment DPL\n          // set RPL of CS to CPL\n          load_cs(&cs_selector, &cs_descriptor, cs_descriptor.dpl);\n          X86_EIP = gate_dest_offset;\n\n          if (gate_descriptor.type>=14) { // 386 int/trap gate\n            if (v8086_mode()) {\n              call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value);\n              call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value);\n              call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value);\n              call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value);\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid = 0;\n              BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = 0;\n              }\n            // push long pointer to old stack onto new stack\n            call_push_32(old_SS);\n            call_push_32(old_ESP);\n\n            // push EFLAGS\n            call_push_32(read_eflags());\n\n            // push long pointer to return address onto new stack\n            call_push_32(old_CS);\n            call_push_32(old_EIP);\n\n            if ( is_error_code )\n              call_push_32(error_code);\n            }\n          else { // 286 int/trap gate\n            if (v8086_mode()) {\n              BX_PANIC((\"286 int/trap gate, VM\"));\n              }\n            // push long pointer to old stack onto new stack\n            call_push_16(old_SS);\n            call_push_16(old_ESP); // ignores upper 16bits\n\n            // push FLAGS\n            call_push_16(read_flags());\n\n            // push return address onto new stack\n            call_push_16(old_CS);\n            call_push_16(old_EIP); // ignores upper 16bits\n\n            if ( is_error_code )\n              call_push_16(error_code);\n            }\n\n          // if INTERRUPT GATE set IF to 0\n          if ( !(gate_descriptor.type & 1) ) // even is int-gate\n            BX_CPU_THIS_PTR eflags.if_ = 0;\n          BX_CPU_THIS_PTR eflags.tf = 0;\n          BX_CPU_THIS_PTR eflags.vm = 0;\n          BX_CPU_THIS_PTR eflags.rf = 0;\n          BX_CPU_THIS_PTR eflags.nt = 0;\n          return;\n          }\n\n        if (v8086_mode()) {\n          exception(BX_GP_EXCEPTION, cs_selector.value & 0xfffc, 0);\n          }\n\n        // if code segment is conforming OR code segment DPL = CPL then\n        // INTERRUPT TO SAME PRIVILEGE LEVEL:\n        if ( cs_descriptor.u.segment.c_ed==1 || cs_descriptor.dpl==CPL ) {\n          int bytes;\n          Bit32u temp_ESP;\n\n          if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n            temp_ESP = X86_ESP;\n          else\n            temp_ESP = X86_SP;\n\n          BX_DEBUG((\"int_trap_gate286(): INTERRUPT TO SAME PRIVILEGE\"));\n\n          // Current stack limits must allow pushing 6|8 bytes, else #SS(0)\n          if (gate_descriptor.type >= 14) { // 386 gate\n            if ( is_error_code )\n              bytes = 16;\n            else\n              bytes = 12;\n            }\n          else { // 286 gate\n            if ( is_error_code )\n              bytes = 8;\n            else\n              bytes = 6;\n            }\n\n          if ( !can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache,\n                         temp_ESP, bytes) ) {\n            BX_DEBUG((\"intel_interrupt(): stack doesn't have room\"));\n            exception(BX_SS_EXCEPTION, 0, 0);\n            }\n\n          // eIP must be in CS limit else #GP(0)\n          if (gate_dest_offset > cs_descriptor.u.segment.limit_scaled) {\n            BX_PANIC((\"intel_interrupt(): IP > cs descriptor limit\"));\n            exception(BX_GP_EXCEPTION, 0, 0);\n            }\n\n          // push flags onto stack\n          // push current CS selector onto stack\n          // push return offset onto stack\n          if (gate_descriptor.type >= 14) { // 386 gate\n            call_push_32(read_eflags());\n            call_push_32(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n            call_push_32(X86_EIP);\n            if ( is_error_code )\n              call_push_32(error_code);\n            }\n          else { // 286 gate\n            call_push_16(read_flags());\n            call_push_16(BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n            call_push_16(X86_IP);\n            if ( is_error_code )\n              call_push_16(error_code);\n            }\n\n          // load CS:IP from gate\n          // load CS descriptor\n          // set the RPL field of CS to CPL\n          load_cs(&cs_selector, &cs_descriptor, CPL);\n          X86_EIP = gate_dest_offset;\n\n          // if intel_interrupt gate then set IF to 0\n          if ( !(gate_descriptor.type & 1) ) // even is int-gate\n            BX_CPU_THIS_PTR eflags.if_ = 0;\n          BX_CPU_THIS_PTR eflags.tf = 0;\n          BX_CPU_THIS_PTR eflags.nt = 0;\n          BX_CPU_THIS_PTR eflags.vm = 0;\n          BX_CPU_THIS_PTR eflags.rf = 0;\n          return;\n          }\n\n        // else #GP(CS selector + ext)\n        BX_DEBUG((\"intel_interrupt: bad descriptor\"));\n        BX_DEBUG((\"c_ed=%u, descriptor.dpl=%u, CPL=%u\",\n          (unsigned) cs_descriptor.u.segment.c_ed,\n          (unsigned) cs_descriptor.dpl,\n          (unsigned) CPL));\n        BX_DEBUG((\"cs.segment = %u\", (unsigned) cs_descriptor.segment));\n        exception(BX_GP_EXCEPTION, cs_selector.value & 0xfffc, 0);\n        break;\n\n      default:\n        BX_PANIC((\"bad descriptor type in intel_interrupt()!\"));\n        break;\n      }\n    }\n  else\n#endif\n    { /* real mode */\n    Bit16u cs_selector, ip;\n\n#define _T_DEBUG_ 0\n\n#if _T_DEBUG_\t\n\tbx_segment_reg_t *tempseg;\n#endif\n\n    if ( (_vector*4+3) > BX_CPU_THIS_PTR idtr.limit )\n      BX_PANIC((\"intel_interrupt(real mode) _vector > limit\"));\n\n    call_push_16(read_flags());\n\n    cs_selector = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n    call_push_16(cs_selector);\n    ip = BX_CPU_THIS_PTR program_visible_eip;\n    call_push_16(ip);\n\n#if _T_DEBUG_\t\n\ttempseg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS];\n\tprintf(\"_vector==%02x, ip == %04x,cs_selector == %04x\\n\",_vector,ip,cs_selector);\n\tprintf(\"base ==%08x, cs_selector == %04x,eip == %08x\\n\",tempseg->cache.u.segment.base,tempseg->selector.value,X86_EIP);\n#endif\n\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR idtr.base + 4 * _vector,     2, 0, BX_READ, &ip);\n    X86_EIP = ip;\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR idtr.base + 4 * _vector + 2, 2, 0, BX_READ, &cs_selector);\n    load_seg_reg(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS], cs_selector);\n\n#if _T_DEBUG_\t\n\ttempseg = &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS];\n\tprintf(\"=_vector==%02x, ip == %04x,cs_selector == %04x\\n\",_vector,ip,cs_selector);\n\tprintf(\"=base ==%08x, cs_selector == %04x,eip == %08x\\n\",tempseg->cache.u.segment.base,tempseg->selector.value,X86_EIP);\n#endif\n\n    /* INT affects the following flags: I,T */\n    BX_CPU_THIS_PTR eflags.if_ = 0;\n    BX_CPU_THIS_PTR eflags.tf  = 0;\n#if BX_CPU_LEVEL >= 4\n    BX_CPU_THIS_PTR eflags.ac  = 0;\n#endif\n    BX_CPU_THIS_PTR eflags.rf = 0;\n    }\n}\n\n  void\nBX_CPU_C::exception(unsigned _vector, Bit16u error_code, Boolean is_INT)\n  // _vector:     0..255: _vector in IDT\n  // error_code: if exception generates and error, push this error code\n{\n  Boolean  push_error;\n  Bit8u    exception_type;\n  unsigned prev_errno;\n\n#if BX_DEBUGGER\n  if (bx_guard.special_unwind_stack) {\n    BX_INFO ((\"exception() returning early because special_unwind_stack is set\"));\n    return;\n  }\n#endif\n\n//BX_DEBUG(( \"::exception(%u)\", _vector ));\n\n  BX_INSTR_EXCEPTION(_vector);\n  invalidate_prefetch_q();\n\n  BX_CPU_THIS_PTR intNumber = _vector;\n\n  UNUSED(is_INT);\n\n  BX_DEBUG((\"exception(%02x h)\", (unsigned) _vector));\n\n  // if not initial error, restore previous register values from\n  // previous attempt to handle exception\n  if (BX_CPU_THIS_PTR errorno) {\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS]  = BX_CPU_THIS_PTR save_cs;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS]  = BX_CPU_THIS_PTR save_ss;\n    X86_EIP = BX_CPU_THIS_PTR save_eip;\n    X86_ESP = BX_CPU_THIS_PTR save_esp;\n    }\n\n  BX_CPU_THIS_PTR errorno++;\n  if (BX_CPU_THIS_PTR errorno >= 3) {\n    BX_PANIC((\"exception(): 3rd exception with no resolution\"));\n    BX_ERROR((\"WARNING: Any simulation after this point is completely bogus.\"));\n#if BX_DEBUGGER\n    bx_guard.special_unwind_stack = true;\n#endif\n\tshutdown_cpu();\n    return;\n    }\n\n  /* careful not to get here with curr_exception[1]==DOUBLE_FAULT */\n  /* ...index on DOUBLE_FAULT below, will be out of bounds */\n\n  /* if 1st was a double fault (software INT?), then shutdown */\n  if ( (BX_CPU_THIS_PTR errorno==2) && (BX_CPU_THIS_PTR curr_exception[0]==BX_ET_DOUBLE_FAULT) ) {\n    BX_PANIC((\"exception(): triple fault encountered\"));\n    BX_ERROR((\"WARNING: Any simulation after this point is completely bogus.\"));\n#if BX_DEBUGGER\n    bx_guard.special_unwind_stack = true;\n#endif\n\tshutdown_cpu();\n    return;\n    }\n\n  /* ??? this is not totally correct, should be done depending on\n   * _vector */\n  /* backup IP to value before error occurred */\n  X86_EIP = BX_CPU_THIS_PTR prev_eip;\n  X86_ESP = BX_CPU_THIS_PTR prev_esp;\n\n  // note: fault-class exceptions _except_ #DB set RF in\n  //       eflags image.\n\n  switch (_vector) {\n    case  0: // DIV by 0\n      push_error = 0;\n      exception_type = BX_ET_CONTRIBUTORY;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case  1: // debug exceptions\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      break;\n    case  2: // NMI\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      break;\n    case  3: // breakpoint\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      break;\n    case  4: // overflow\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      break;\n    case  5: // bounds check\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case  6: // invalid opcode\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case  7: // device not available\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case  8: // double fault\n      push_error = 1;\n      exception_type = BX_ET_DOUBLE_FAULT;\n      break;\n    case  9: // coprocessor segment overrun (286,386 only)\n      push_error = 0;\n      exception_type = BX_ET_CONTRIBUTORY;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      BX_PANIC((\"exception(9): unfinished\"));\n      break;\n    case 10: // invalid TSS\n      push_error = 1;\n      exception_type = BX_ET_CONTRIBUTORY;\n      error_code = (error_code & 0xfffe) | BX_CPU_THIS_PTR EXT;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case 11: // segment not present\n      push_error = 1;\n      exception_type = BX_ET_CONTRIBUTORY;\n      error_code = (error_code & 0xfffe) | BX_CPU_THIS_PTR EXT;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case 12: // stack fault\n      push_error = 1;\n      exception_type = BX_ET_CONTRIBUTORY;\n      error_code = (error_code & 0xfffe) | BX_CPU_THIS_PTR EXT;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case 13: // general protection\n      push_error = 1;\n      exception_type = BX_ET_CONTRIBUTORY;\n      error_code = (error_code & 0xfffe) | BX_CPU_THIS_PTR EXT;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case 14: // page fault\n      push_error = 1;\n      exception_type = BX_ET_PAGE_FAULT;\n      // ??? special format error returned\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n    case 15: // reserved\n      BX_PANIC((\"exception(15): reserved\"));\n      push_error = 0;     // keep compiler happy for now\n      exception_type = 0; // keep compiler happy for now\n      break;\n    case 16: // floating-point error\n      push_error = 0;\n      exception_type = BX_ET_BENIGN;\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n#if BX_CPU_LEVEL >= 4\n    case 17: // alignment check\n      BX_PANIC((\"exception(): alignment-check, _vector 17 unimplemented\"));\n      push_error = 0;     // keep compiler happy for now\n      exception_type = 0; // keep compiler happy for now\n      BX_CPU_THIS_PTR eflags.rf = 1;\n      break;\n#endif\n#if BX_CPU_LEVEL >= 5\n    case 18: // machine check\n      BX_PANIC((\"exception(): machine-check, _vector 18 unimplemented\"));\n      push_error = 0;     // keep compiler happy for now\n      exception_type = 0; // keep compiler happy for now\n      break;\n#endif\n    default:\n      BX_PANIC((\"exception(%u): bad _vector\", (unsigned) _vector));\n      push_error = 0;     // keep compiler happy for now\n      exception_type = 0; // keep compiler happy for now\n      break;\n    }\n\n  if (exception_type != BX_ET_PAGE_FAULT) {\n    // Page faults have different format\n    error_code = (error_code & 0xfffe) | BX_CPU_THIS_PTR EXT;\n    }\n  BX_CPU_THIS_PTR EXT = 1;\n\n  /* if we've already had 1st exception, see if 2nd causes a\n   * Double Fault instead.  Otherwise, just record 1st exception\n   */\n  if (BX_CPU_THIS_PTR errorno >= 2) {\n    if (is_exception_OK[BX_CPU_THIS_PTR curr_exception[0]][exception_type])\n      BX_CPU_THIS_PTR curr_exception[1] = exception_type;\n    else {\n      BX_CPU_THIS_PTR curr_exception[1] = BX_ET_DOUBLE_FAULT;\n      _vector = 8;\n    }\n  }\n  else {\n    BX_CPU_THIS_PTR curr_exception[0] = exception_type;\n  }\n\n\n#if BX_CPU_LEVEL >= 2\n  if (!real_mode()) {\n    prev_errno = BX_CPU_THIS_PTR errorno;\n    BX_CPU_THIS_PTR intel_interrupt(_vector, 0, push_error, error_code);\n//    if (BX_CPU_THIS_PTR errorno > prev_errno) {\n//      BX_INFO((\"segment_exception(): errorno changed\"));\n//      longjmp(jmp_buf_env, 1); // go back to main decode loop\n//      return;\n//      }\n\n//    if (push_error) {\n//      /* push error code on stack, after handling intel_interrupt */\n//      /* pushed as a word or dword depending upon default size ??? */\n//      if (ss.cache.u.segment.d_b)\n//        call_push_32((Bit32u) error_code); /* upper bits reserved */\n//      else\n//        call_push_16(error_code);\n//      if (BX_CPU_THIS_PTR errorno > prev_errno) {\n//        BX_PANIC((\"segment_exception(): errorno changed\"));\n//        return;\n//        }\n//      }\n    BX_CPU_THIS_PTR errorno = 0; // error resolved\n    longjmp(BX_CPU_THIS_PTR jmp_buf_env, 1); // go back to main decode loop\n    }\n  else // real mode\n#endif\n    {\n    // not INT, no error code pushed\n    BX_CPU_THIS_PTR intel_interrupt(_vector, 0, 0, 0);\n    BX_CPU_THIS_PTR errorno = 0; // error resolved\n    longjmp(BX_CPU_THIS_PTR jmp_buf_env, 1); // go back to main decode loop\n    }\n}\n\n\n  int\nBX_CPU_C::int_number(bx_segment_reg_t *seg)\n{\n  if (seg == &BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS])\n    return(BX_SS_EXCEPTION);\n  else\n    return(BX_GP_EXCEPTION);\n}\n\n  void\nBX_CPU_C::shutdown_cpu(void)\n{\n\n#if BX_CPU_LEVEL > 2\n  BX_PANIC((\"shutdown_cpu(): not implemented for 386\"));\n#endif\n\n  invalidate_prefetch_q();\n  BX_PANIC((\"shutdown_cpu(): not finished\"));\n\n  longjmp(BX_CPU_THIS_PTR jmp_buf_env, 2); // go back to main decode loop\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/fetch.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: fetchdecode.cc,v 1.7 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n///////////////////////////\n// prefix bytes\n// opcode bytes\n// modrm/sib\n// address displacement\n// immediate constant\n///////////////////////////\n\n// sign extended to osize:\n//   6a push ib\n//   6b imul gvevib\n//   70..7f jo..jnle\n//   83 G1 0..7 ADD..CMP EvIb\n\n// is 6b imul_gvevib sign extended?  don't think\n//   I'm sign extending it properly in old decode/execute\n\n//check all the groups.  Make sure to add duplicates rather\n// than error.\n\n// mark instructions as changing control transfer, then\n// don't always load from fetch_ptr, etc.\n\n// cant use immediate as another because of Group3 where\n// some have immediate and some don't, and those won't\n// be picked up by logic until indirection.\n\n// get attr and execute ptr at same time\n\n// maybe move 16bit only i's like  MOV_EwSw, MOV_SwEw\n// to 32 bit modules.\n\n// use 0F as a prefix too?\n\nvoid BxResolveError(bxInstruction_c *);\n\n#if BX_DYNAMIC_TRANSLATION\n// For 16-bit address mode, this matrix describes the registers\n// used to formulate the offset, indexed by the RM field.\n// This info is needed by the dynamic translation code for dataflow.\nstatic unsigned BxMemRegsUsed16[8] =\n{\n\t(1<<3) | (1<<6), // BX + SI\n\t(1<<3) | (1<<7), // BX + DI\n\t(1<<5) | (1<<6), // BP + SI\n\t(1<<5) | (1<<7), // BP + DI\n\t(1<<6),          // SI\n\t(1<<7),          // DI\n\t(1<<5),          // BP\n\t(1<<3)           // BX\n};\n\n#endif\n\nstatic BxExecutePtr_t BxResolve16Mod0[8] =\n{\n\t&BX_CPU_C::Resolve16Mod0Rm0,\n\t&BX_CPU_C::Resolve16Mod0Rm1,\n\t&BX_CPU_C::Resolve16Mod0Rm2,\n\t&BX_CPU_C::Resolve16Mod0Rm3,\n\t&BX_CPU_C::Resolve16Mod0Rm4,\n\t&BX_CPU_C::Resolve16Mod0Rm5,\n\t&BX_CPU_C::Resolve16Mod0Rm6, // d16, no registers used\n\t&BX_CPU_C::Resolve16Mod0Rm7\n};\n\nstatic BxExecutePtr_t BxResolve16Mod1or2[8] =\n{\n\t&BX_CPU_C::Resolve16Mod1or2Rm0,\n\t&BX_CPU_C::Resolve16Mod1or2Rm1,\n\t&BX_CPU_C::Resolve16Mod1or2Rm2,\n\t&BX_CPU_C::Resolve16Mod1or2Rm3,\n\t&BX_CPU_C::Resolve16Mod1or2Rm4,\n\t&BX_CPU_C::Resolve16Mod1or2Rm5,\n\t&BX_CPU_C::Resolve16Mod1or2Rm6,\n\t&BX_CPU_C::Resolve16Mod1or2Rm7\n};\n\nstatic BxExecutePtr_t BxResolve32Mod0[8] =\n{\n\t&BX_CPU_C::Resolve32Mod0Rm0,\n\t&BX_CPU_C::Resolve32Mod0Rm1,\n\t&BX_CPU_C::Resolve32Mod0Rm2,\n\t&BX_CPU_C::Resolve32Mod0Rm3,\n\t&BX_CPU_C::Resolve32Mod0Rm4, // escape to 2-byte\n\t&BX_CPU_C::Resolve32Mod0Rm5, // d32, no registers used\n\t&BX_CPU_C::Resolve32Mod0Rm6,\n\t&BX_CPU_C::Resolve32Mod0Rm7\n};\n\nstatic BxExecutePtr_t BxResolve32Mod1or2[8] =\n{\n\t&BX_CPU_C::Resolve32Mod1or2Rm0,\n\t&BX_CPU_C::Resolve32Mod1or2Rm1,\n\t&BX_CPU_C::Resolve32Mod1or2Rm2,\n\t&BX_CPU_C::Resolve32Mod1or2Rm3,\n\t&BX_CPU_C::Resolve32Mod1or2Rm4, // escape to 2-byte\n\t&BX_CPU_C::Resolve32Mod1or2Rm5,\n\t&BX_CPU_C::Resolve32Mod1or2Rm6,\n\t&BX_CPU_C::Resolve32Mod1or2Rm7\n};\n\nstatic BxExecutePtr_t BxResolve32Mod1or2EffectAddressBaseIndexScaled[0x100] =\n{\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x00,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x01,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x02,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x03,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x04,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x05,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x06,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x07,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x08,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x09,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x10,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x11,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x12,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x13,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x14,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x15,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x16,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x17,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x18,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x19,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x20,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x21,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x22,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x23,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x24,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x25,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x26,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x27,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x28,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x29,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x30,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x31,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x32,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x33,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x34,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x35,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x36,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x37,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x38,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x39,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x40,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x41,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x42,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x43,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x44,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x45,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x46,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x47,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x48,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x49,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x50,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x51,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x52,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x53,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x54,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x55,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x56,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x57,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x58,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x59,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x60,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x61,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x62,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x63,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x64,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x65,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x66,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x67,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x68,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x69,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x70,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x71,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x72,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x73,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x74,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x75,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x76,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x77,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x78,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x79,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x80,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x81,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x82,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x83,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x84,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x85,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x86,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x87,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x88,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x89,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x90,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x91,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x92,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x93,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x94,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x95,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x96,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x97,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x98,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x99,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9a,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9b,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9c,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9d,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9e,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9f,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xaa,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xab,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xac,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xad,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xae,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xaf,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xba,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbb,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbc,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbd,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbe,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbf,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xca,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcb,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcc,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcd,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xce,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcf,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xda,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdb,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdc,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdd,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xde,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdf,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xea,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xeb,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xec,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xed,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xee,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xef,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf0,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf1,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf2,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf3,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf4,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf5,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf6,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf7,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf8,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf9,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfa,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfb,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfc,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfd,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfe,\n\t&BX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xff\n\n};\n\nstatic BxExecutePtr_t BxResolve32Mod0EffectAddressBaseIndexScaled[0x100] =\n{\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x00,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x01,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x02,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x03,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x04,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x05,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x06,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x07,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x08,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x09,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x0f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x10,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x11,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x12,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x13,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x14,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x15,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x16,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x17,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x18,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x19,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x1f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x20,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x21,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x22,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x23,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x24,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x25,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x26,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x27,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x28,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x29,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x2f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x30,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x31,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x32,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x33,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x34,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x35,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x36,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x37,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x38,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x39,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x3f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x40,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x41,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x42,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x43,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x44,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x45,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x46,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x47,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x48,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x49,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x4f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x50,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x51,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x52,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x53,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x54,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x55,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x56,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x57,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x58,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x59,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x5f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x60,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x61,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x62,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x63,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x64,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x65,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x66,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x67,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x68,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x69,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x6f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x70,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x71,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x72,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x73,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x74,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x75,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x76,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x77,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x78,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x79,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x7f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x80,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x81,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x82,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x83,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x84,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x85,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x86,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x87,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x88,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x89,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x8f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x90,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x91,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x92,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x93,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x94,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x95,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x96,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x97,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x98,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x99,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9a,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9b,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9c,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9d,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9e,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0x9f,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xa9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xaa,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xab,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xac,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xad,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xae,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xaf,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xb9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xba,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xbb,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xbc,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xbd,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xbe,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xbf,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xc9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xca,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xcb,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xcc,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xcd,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xce,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xcf,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xd9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xda,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xdb,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xdc,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xdd,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xde,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xdf,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xe9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xea,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xeb,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xec,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xed,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xee,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xef,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf0,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf1,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf2,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf3,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf4,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf5,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf6,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf7,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf8,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xf9,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xfa,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xfb,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xfc,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xfd,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xfe,\n\t&BX_CPU_C::Resolve32Mod0EffectAddress_sib0xff\n\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG_MOVSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::MOVSB_XbYb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_MOVSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::MOVSW_XvYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_MOVSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::MOVSD_XvYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_CMPSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::CMPSB_XbYb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_CMPSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::CMPSW_XvYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_CMPSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::CMPSD_XvYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_SCASB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SCASB_ALYb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_SCASW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SCASW_eAXYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_SCASD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SCASD_eAXYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_STOSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::STOSB_ALYb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_STOSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::STOSW_eAXYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_STOSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::STOSD_eAXYv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_LODSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::LODSB_ALXb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_LODSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::LODSW_eAXXv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_LODSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::LODSD_eAXXv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_OUTSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::OUTSB_DXXb_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_OUTSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::OUTSW_DXXv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_OUTSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::OUTSD_DXXv_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_INSB[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::INSB_YbDX_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::INSB_YbDX_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::INSB_YbDX_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::INSB_YbDX_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::INSB_YbDX_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::INSB_YbDX_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::INSB_YbDX_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::INSB_YbDX_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_INSW[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::INSW_YvDX_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::INSW_YvDX_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::INSW_YvDX_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::INSW_YvDX_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::INSW_YvDX_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::INSW_YvDX_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::INSW_YvDX_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::INSW_YvDX_E32_repf3, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG_INSD[8] =\n{\n\t// attributes defined in main area\n\t/* 0 */  { 0,\t&BX_CPU_C::INSD_YvDX_E16_rep__, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::INSD_YvDX_E16_rep__, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::INSD_YvDX_E16_repf2, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::INSD_YvDX_E16_repf3, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::INSD_YvDX_E32_rep__, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::INSD_YvDX_E32_rep__, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::INSD_YvDX_E32_repf2, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::INSD_YvDX_E32_repf3, NULL, NULL }\n}; \n\n\n//+===================================================\nconst BxOpcodeInfo_t BxOpcodeInfoG1EGbIb[] =\n{\n\t/* 0 */  { BxImmediate_Ib,  &BX_CPU_C::ADD_EGbIb, NULL, NULL },\n\t/* 1 */  { BxImmediate_Ib,  &BX_CPU_C:: OR_EGbIb, NULL, NULL },\n\t/* 2 */  { BxImmediate_Ib,  &BX_CPU_C::ADC_EGbIb, NULL, NULL },\n\t/* 3 */  { BxImmediate_Ib,  &BX_CPU_C::SBB_EGbIb, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,  &BX_CPU_C::AND_EGbIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,  &BX_CPU_C::SUB_EGbIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,  &BX_CPU_C::XOR_EGbIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,  &BX_CPU_C::CMP_EGbIb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EEbIb[] =\n{\n\t/* 0 */  { BxImmediate_Ib,  &BX_CPU_C::ADD_EEbIb, NULL, NULL },\n\t/* 1 */  { BxImmediate_Ib,  &BX_CPU_C:: OR_EEbIb, NULL, NULL },\n\t/* 2 */  { BxImmediate_Ib,  &BX_CPU_C::ADC_EEbIb, NULL, NULL },\n\t/* 3 */  { BxImmediate_Ib,  &BX_CPU_C::SBB_EEbIb, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,  &BX_CPU_C::AND_EEbIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,  &BX_CPU_C::SUB_EEbIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,  &BX_CPU_C::XOR_EEbIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,  &BX_CPU_C::CMP_EEbIb, NULL, NULL },\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EGwIsb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EGwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EGwIw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EGwIw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EGwIw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EGwIw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EGwIw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EGwIw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EGwIw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EEwIsb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EEwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EEwIw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EEwIw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EEwIw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EEwIw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EEwIw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EEwIw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EEwIw, NULL, NULL }\n}; \n\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EGwIw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EGwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EGwIw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EGwIw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EGwIw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EGwIw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EGwIw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EGwIw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EGwIw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EEwIw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EEwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EEwIw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EEwIw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EEwIw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EEwIw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EEwIw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EEwIw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EEwIw, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EGdIsb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EGdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EGdId, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EGdId, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EGdId, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EGdId, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EGdId, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EGdId, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EGdId, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EEdIsb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EEdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EEdId, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EEdId, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EEdId, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EEdId, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EEdId, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EEdId, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EEdId, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EGdId[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EGdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EGdId, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EGdId, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EGdId, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EGdId, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EGdId, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EGdId, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EGdId, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG1EEdId[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ADD_EEdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C:: OR_EEdId, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::ADC_EEdId, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::SBB_EEdId, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::AND_EEdId, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SUB_EEdId, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::XOR_EEdId, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::CMP_EEdId, NULL, NULL }\n}; \n\n//-----------------------------------------------------------\n//-----------------------------------------------------------\nconst BxOpcodeInfo_t BxOpcodeInfoG0x8fEGw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::POP_EGw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG0x8fEEw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::POP_EEw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG0x8fEGd[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::POP_EGd, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG0x8fEEd[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::POP_EEd, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc6EGbIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EGbIb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc6EEbIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EEbIb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc7EGwIw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EGwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc7EEwIw[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EEwIw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc7EGdId[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EGdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG0xc7EEdId[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::MOV_EEdId, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::BxError, NULL, NULL }\n}; \n//-----------------------------------------------------------\n//ƼΪ ֽĵ5λ\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGbIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGb, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGb, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGb, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGb, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGb, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGb, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEbIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEb, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEb, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEb, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEb, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEb, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEb, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEb, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGwIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEwIb[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGdIb[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EGd, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EGd, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EGd, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EGd, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EGd, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EGd, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EGd, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EGd, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEdIb[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EEd, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EEd, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EEd, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EEd, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EEd, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EEd, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EEd, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EEd, NULL, NULL }\n};\n\n//-----------------------------------------------------------\n//ƼĬΪ 1\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGb_1[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGb, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGb, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGb, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGb, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGb, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGb, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEb_1[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEb, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEb, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEb, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEb, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEb, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEb, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEb, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEb, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGw_1[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEw_1[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEw, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEw, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEw, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEw, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEw, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEw, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEw, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGd_1[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EGd, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EGd, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EGd, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EGd, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EGd, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EGd, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EGd, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EGd, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEd_1[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EEd, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EEd, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EEd, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EEd, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EEd, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EEd, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EEd, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EEd, NULL, NULL }\n};\n\n//-----------------------------------------------------------\n//ƼΪ cl Ĵĵ5λ\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGbCL[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGbCL, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGbCL, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGbCL, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGbCL, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGbCL, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGbCL, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGbCL, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGbCL, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEbCL[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEbCL, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEbCL, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEbCL, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEbCL, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEbCL, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEbCL, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEbCL, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEbCL, NULL, NULL }\n}; \n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGwCL[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EGwCL, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EGwCL, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EGwCL, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EGwCL, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EGwCL, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EGwCL, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EGwCL, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EGwCL, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEwCL[] =\n{\n\t/* 0 */  { 0,  &BX_CPU_C::ROL_EEwCL, NULL, NULL },\n\t/* 1 */  { 0,  &BX_CPU_C::ROR_EEwCL, NULL, NULL },\n\t/* 2 */  { 0,  &BX_CPU_C::RCL_EEwCL, NULL, NULL },\n\t/* 3 */  { 0,  &BX_CPU_C::RCR_EEwCL, NULL, NULL },\n\t/* 4 */  { 0,  &BX_CPU_C::SHL_EEwCL, NULL, NULL },\n\t/* 5 */  { 0,  &BX_CPU_C::SHR_EEwCL, NULL, NULL },\n\t/* 6 */  { 0,  &BX_CPU_C::SHL_EEwCL, NULL, NULL },\n\t/* 7 */  { 0,  &BX_CPU_C::SAR_EEwCL, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EGdCL[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EGdCL, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EGdCL, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EGdCL, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EGdCL, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EGdCL, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EGdCL, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EGdCL, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EGdCL, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG2EEdCL[] =\n{\n\t/* 0 */  { 0,\t&BX_CPU_C::ROL_EEdCL, NULL, NULL },\n\t/* 1 */  { 0,\t&BX_CPU_C::ROR_EEdCL, NULL, NULL },\n\t/* 2 */  { 0,\t&BX_CPU_C::RCL_EEdCL, NULL, NULL },\n\t/* 3 */  { 0,\t&BX_CPU_C::RCR_EEdCL, NULL, NULL },\n\t/* 4 */  { 0,\t&BX_CPU_C::SHL_EEdCL, NULL, NULL },\n\t/* 5 */  { 0,\t&BX_CPU_C::SHR_EEdCL, NULL, NULL },\n\t/* 6 */  { 0,\t&BX_CPU_C::SHL_EEdCL, NULL, NULL },\n\t/* 7 */  { 0,\t&BX_CPU_C::SAR_EEdCL, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EGb[] =\n{\n\t/* 0 */  { BxImmediate_Ib, &BX_CPU_C::TEST_EGbIb, NULL, NULL },\n\t/* 1 */  { BxImmediate_Ib, &BX_CPU_C::TEST_EGbIb, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EGb,\t NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EGb,    NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_ALEGb,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_ALEGb, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_ALEGb,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_ALEGb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EEb[] =\n{\n\t/* 0 */  { BxImmediate_Ib, &BX_CPU_C::TEST_EEbIb, NULL, NULL },\n\t/* 1 */  { BxImmediate_Ib, &BX_CPU_C::TEST_EEbIb, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EEb,    NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EEb,    NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_ALEEb,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_ALEEb, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_ALEEb,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_ALEEb, NULL, NULL }\n};  \n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EGw[] =\n{\n\t/* 0 */  { BxImmediate_Iw, &BX_CPU_C::TEST_EGwIw, NULL, NULL },\n\t/* 1 */  { BxImmediate_Iw, &BX_CPU_C::TEST_EGwIw, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EGw,    NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EGw,    NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_AXEGw,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_AXEGw, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_AXEGw,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_AXEGw, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EEw[] =\n{\n\t/* 0 */  { BxImmediate_Iw, &BX_CPU_C::TEST_EEwIw, NULL, NULL },\n\t/* 1 */  { BxImmediate_Iw, &BX_CPU_C::TEST_EEwIw, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EEw,    NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EEw,    NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_AXEEw,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_AXEEw, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_AXEEw,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_AXEEw, NULL, NULL }\n};  \n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EGd[] =\n{\n\t/* 0 */  { BxImmediate_Iv, &BX_CPU_C::TEST_EGdId, NULL, NULL },\n\t/* 1 */  { BxImmediate_Iv, &BX_CPU_C::TEST_EGdId, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EGd,     NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EGd,     NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_EAXEGd,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_EAXEGd, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_EAXEGd,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_EAXEGd, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG3EEd[] =\n{\n\t/* 0 */  { BxImmediate_Iv, &BX_CPU_C::TEST_EEdId, NULL, NULL },\n\t/* 1 */  { BxImmediate_Iv, &BX_CPU_C::TEST_EEdId, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::NOT_EEd,     NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::NEG_EEd,     NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::MUL_EAXEEd,  NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::IMUL_EAXEEd, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::DIV_EAXEEd,  NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::IDIV_EAXEEd, NULL, NULL }\n};  \n\nconst BxOpcodeInfo_t BxOpcodeInfoG4EGb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EGb, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EGb, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG4EEb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EEb, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EEb, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};  \n\nconst BxOpcodeInfo_t BxOpcodeInfoG5EGw[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EGw, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EGw, NULL, NULL },\n\t/* 2 */  { BxBranch_absolute, &BX_CPU_C::CALL_EGw,NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxBranch_absolute, &BX_CPU_C::JMP_EGw, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::PUSH_EGw,NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG5EEw[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EEw, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EEw, NULL, NULL },\n\t/* 2 */  { BxBranch_absolute, &BX_CPU_C::CALL_EEw,NULL, NULL },\n\t/* 3 */  { BxBranch_absolute, &BX_CPU_C::CALL16_Ep,NULL, NULL },\n\t/* 4 */  { BxBranch_absolute, &BX_CPU_C::JMP_EEw, NULL, NULL },\n\t/* 5 */  { BxBranch_absolute, &BX_CPU_C::JMP16_Ep,NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::PUSH_EEw,NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};  \n\nconst BxOpcodeInfo_t BxOpcodeInfoG5EGd[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EGd, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EGd, NULL, NULL },\n\t/* 2 */  { BxBranch_absolute, &BX_CPU_C::CALL_EGd, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxBranch_absolute, &BX_CPU_C::JMP_EGd, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::PUSH_EGd, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG5EEd[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::INC_EEd, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::DEC_EEd, NULL, NULL },\n\t/* 2 */  { BxBranch_absolute, &BX_CPU_C::CALL_EEd, NULL, NULL },\n\t/* 3 */  { BxBranch_absolute, &BX_CPU_C::CALL32_Ep, NULL, NULL },\n\t/* 4 */  { BxBranch_absolute, &BX_CPU_C::JMP_EEd, NULL, NULL },\n\t/* 5 */  { BxBranch_absolute, &BX_CPU_C::JMP32_Ep, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::PUSH_EEd, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};   \n\nconst BxOpcodeInfo_t BxOpcodeInfoG6[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::SLDT_Ew, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::STR_Ew, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::LLDT_Ew, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::LTR_Ew, NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::VERR_Ew, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::VERW_Ew, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};   \n\nconst BxOpcodeInfo_t BxOpcodeInfoG7[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::SGDT_Ms, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::SIDT_Ms, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::LGDT_Ms, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::LIDT_Ms, NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::SMSW_Ew, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::LMSW_Ew, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::INVLPG, NULL, NULL }\n};    \n\nconst BxOpcodeInfo_t BxOpcodeInfoG8EGwIb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,\t&BX_CPU_C::BT_EGwIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,\t&BX_CPU_C::BTS_EGwIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,\t&BX_CPU_C::BTR_EGwIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,\t&BX_CPU_C::BTC_EGwIb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG8EEwIb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,\t&BX_CPU_C::BT_EEwIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,\t&BX_CPU_C::BTS_EEwIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,\t&BX_CPU_C::BTR_EEwIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,\t&BX_CPU_C::BTC_EEwIb, NULL, NULL }\n};    \n\nconst BxOpcodeInfo_t BxOpcodeInfoG8EGdIb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,\t&BX_CPU_C::BT_EGdIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,\t&BX_CPU_C::BTS_EGdIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,\t&BX_CPU_C::BTR_EGdIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,\t&BX_CPU_C::BTC_EGdIb, NULL, NULL }\n};\n\nconst BxOpcodeInfo_t BxOpcodeInfoG8EEdIb[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { BxImmediate_Ib,\t&BX_CPU_C::BT_EEdIb, NULL, NULL },\n\t/* 5 */  { BxImmediate_Ib,\t&BX_CPU_C::BTS_EEdIb, NULL, NULL },\n\t/* 6 */  { BxImmediate_Ib,\t&BX_CPU_C::BTR_EEdIb, NULL, NULL },\n\t/* 7 */  { BxImmediate_Ib,\t&BX_CPU_C::BTC_EEdIb, NULL, NULL }\n};    \n\nconst BxOpcodeInfo_t BxOpcodeInfoG9[] =\n{\n\t/* 0 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 1 */  { 0, &BX_CPU_C::CMPXCHG8B, NULL, NULL },\n\t/* 2 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 3 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 4 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 5 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 6 */  { 0, &BX_CPU_C::BxError, NULL, NULL },\n\t/* 7 */  { 0, &BX_CPU_C::BxError, NULL, NULL }\n};\n\n//const BxOpcodeInfo_t BxOpcodeInfo[512*2*2] =\n//{\n//};\n\n\tunsigned\nBX_CPU_C::fetchDecode(Bit8u *iptr, bxInstruction_c *instruction,\n                      unsigned remain)\n{\n\t// remain must be at least 1\n\tbx_bool is_32;\n\tunsigned b1, b2, i_bytes=1;\n\tunsigned attr;\n\tunsigned immed_mode,offset;\n\tunsigned fetch_rep;\n\tunsigned fetch_os32;\n\tunsigned fetch_as32;\n\tunsigned fetch_seg;\n\tunsigned fetch_mod;\n\tunsigned fetch_rm;\n\n\tis_32 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b;\n\n\tfetch_rep = 0xf0;\n\tfetch_os32 = is_32;\n\tfetch_as32 = is_32;\n\tfetch_seg = BX_SEG_REG_NULL;\n\tinstruction->ResolveModrm = NULL;\n\nfetch_b1:\n\n\tb1 = *iptr++;\n\nanother_byte:\n\n//\tBX_CPU_THIS_PTR iptr = iptr-1;\n\n\toffset = fetch_os32 << 9; // * 512\n\tattr = BxOpcodeInfo[b1+offset].Attr;\n\n\tif (attr & BxAnother)\n\t{\n\t\tif (attr & BxPrefix)\n\t\t{\n\t\t\tswitch (b1)\n\t\t\t{\n\t\t\tcase 0x66: // OperSize\n\t\t\t\tfetch_os32 = !is_32;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x67: // AddrSize\n\t\t\t\tfetch_as32 = !is_32;\n\t\t\t\tbreak;\n\n\t\t\tcase 0xf2: // REPNE/REPNZ\n\t\t\t\tfetch_rep = 0xf2;\n\t\t\t\tbreak;\n\t\t\tcase 0xf3: // REP/REPE/REPZ\n\t\t\t\tfetch_rep = 0xf3;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x2e: // CS:\n\t\t\t\tfetch_seg = BX_SEG_REG_CS;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x26: // ES:\n\t\t\t\tfetch_seg = BX_SEG_REG_ES;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x36: // SS:\n\t\t\t\tfetch_seg = BX_SEG_REG_SS;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x3e: // DS:\n\t\t\t\tfetch_seg = BX_SEG_REG_DS;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x64: // FS:\n\t\t\t\tfetch_seg = BX_SEG_REG_FS;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x65: // GS:\n\t\t\t\tfetch_seg = BX_SEG_REG_GS;\n\t\t\t\tbreak;\n\n\t\t\tcase 0xf0: // LOCK:\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tBX_PANIC((\"fetch_decode: prefix default = 0x%02x\", b1));\n\t\t\t}\n\n\t\t\tif (i_bytes < remain)\n\t\t\t{\n\t\t\t\ti_bytes++;\n\t\t\t\tgoto fetch_b1;\n\t\t\t}\n\n\t\t\treturn(0);\n\t\t}\n\n\t\t// opcode requires another byte\n\t\tif (i_bytes < remain)\n\t\t{\n\t\t\ti_bytes++;\n\t\t\tb2 = *iptr++;\n\t\t\tif (b1 == 0x0f)\n\t\t\t{\n\t\t\t\t// 2-byte prefix\n\t\t\t\tb1 = 0x100 | b2;\n\t\t\t\tgoto another_byte;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t\treturn(0);\n\t    // Parse mod-nnn-rm and related bytes\n\t\tOPCODEb2(instruction) = b2;\n\t\tfetch_mod = b2 & 0xc0; // leave unshifted\n\t\tfetch_rm =\n\t\tMODRMrm(instruction)    = b2 & 0x07;\n\t\tMODRMnnn(instruction)   = (b2 >> 3) & 0x07;\n\n\t\tif (fetch_mod == 0xc0)\n\t\t{\t// mod == 11b\n\t\t\tgoto modrm_done;\n\t\t}\n\n\t\toffset += 512*2;\n\n\t\tif (fetch_as32)\n\t\t{\n\t\t\t//BX_CPU_THIS_PTR modrm_len = ::Translate_modrm32_length[(b2&0xc7)|((*iptr&0x7)<<3)];\n\n\t\t\t// 32-bit addressing modes; note that mod==11b handled above\n\t\t\tif (fetch_rm != 4)\n\t\t\t{ // no s-i-b byte\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTMemRegsUsed = 1<<fetch_rm; // except for mod=00b rm=100b\n#endif\n\t\t\t\tif (fetch_mod == 0x00)\n\t\t\t\t{ // mod == 00b\n\t\t\t\t\tinstruction->ResolveModrm = BxResolve32Mod0[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod0[fetch_rm];\n#endif\n\t\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\t\tfetch_seg = BX_SEG_REG_DS;\n\t\t\t\t\tif (fetch_rm == 5)\n\t\t\t\t\t{\n\t\t\t\t\t\tif ((i_bytes+3) < remain)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBit32u imm32u;\n\t\t\t\t\t\t\timm32u = *iptr++;\n\t\t\t\t\t\t\timm32u |= (*iptr++) << 8;\n\t\t\t\t\t\t\timm32u |= (*iptr++) << 16;\n\t\t\t\t\t\t\timm32u |= (*iptr++) << 24;\n\t\t\t\t\t\t\tinstruction->displ32u = imm32u;\n\t\t\t\t\t\t\t//RMAddr(instruction) = imm32u;\n\t\t\t\t\t\t\ti_bytes += 4;\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\t\t\tinstruction->DTMemRegsUsed = 0;\n#endif\n\t\t\t\t\t\t\tgoto modrm_done;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// mod==00b, rm!=4, rm!=5\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n\n\t\t\t\tif (fetch_mod == 0x40)\n\t\t\t\t{ // mod == 01b\n\t\t\t\t\tinstruction->ResolveModrm = BxResolve32Mod1or2[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod1or2[fetch_rm];\n#endif\n\t\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod01_rm32[fetch_rm];\nget_8bit_displ:\n\t\t\t\t\tif (i_bytes < remain)\n\t\t\t\t\t{\n\t\t\t\t\t\t// 8 sign extended to 32\n\t\t\t\t\t\tinstruction->displ32u = (Bit8s) *iptr++;\n\t\t\t\t\t\ti_bytes++;\n\t\t\t\t\t\tgoto modrm_done;\n\t\t\t\t\t}\n\t\t\t        else\n\t\t\t\t\t{\n\t\t\t\t\t\treturn(0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// (mod == 0x80) mod == 10b\n\t\t\t\tinstruction->ResolveModrm = BxResolve32Mod1or2[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod1or2[fetch_rm];\n#endif\n\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod10_rm32[fetch_rm];\nget_32bit_displ:\n\t\t\t\tif ((i_bytes+3) < remain)\n\t\t\t\t{\n\t\t\t\t\tBit32u imm32u;\n\t\t\t\t\timm32u = *iptr++;\n\t\t\t\t\timm32u |= (*iptr++) << 8;\n\t\t\t\t\timm32u |= (*iptr++) << 16;\n\t\t\t\t\timm32u |= (*iptr++) << 24;\n\t\t\t\t\tinstruction->displ32u = imm32u;\n\t\t\t        i_bytes += 4;\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn(0);\n\t\t\t\t}\n\t\t\t}\t\n\t\t\telse\n\t\t\t{ // mod!=11b, rm==4, s-i-b byte follows\n\t\t\t\tunsigned sib, base;\n\t\t\t\tif (i_bytes < remain)\n\t\t\t\t{\n\t\t\t\t\tsib = *iptr++;\n\t\t\t\t\ti_bytes++;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn(0);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbase = sib & 0x07;\n\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tif (instruction->index == 0x04) // 100b\n\t\t\t\t\tinstruction->DTMemRegsUsed = 0;\n\t\t\t\telse\n\t\t\t\t\tinstruction->DTMemRegsUsed = 1<<instruction->index;\n#endif\n\t\t\t\tif (fetch_mod == 0x00)\n\t\t\t\t{ // mod==00b, rm==4\n\t\t\t\t\tinstruction->ResolveModrm =\n\t\t\t\t\t\tBxResolve32Mod0EffectAddressBaseIndexScaled[sib];//effect_address\n\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod0Base[base];\n#endif\n\t\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod0_base32[base];\n\t\t\t\t\tif (base == 0x05)\n\t\t\t\t\t{\n\t\t\t\t\t\tgoto get_32bit_displ;\n\t\t\t\t\t}\n\t\t\t\t\t// mod==00b, rm==4, base!=5\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\tinstruction->DTMemRegsUsed |= 1<<base;\n#endif\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t// for remaining 32bit cases\n\t\t        instruction->DTMemRegsUsed |= 1<<base;\n#endif\n\t\t\t\tif (fetch_mod == 0x40)\n\t\t\t\t{ // mod==01b, rm==4\n\t\t\t\t\tinstruction->ResolveModrm =\n\t\t\t\t\t\tBxResolve32Mod1or2EffectAddressBaseIndexScaled[sib];//effect_address\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod1or2Base[base];\n#endif\n\t\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod1or2_base32[base];\n\t\t\t\t\tgoto get_8bit_displ;\n\t\t\t\t}\n\n\t\t\t\t// (fetch_mod == 0x80),  mod==10b, rm==4\n\t\t\t\tinstruction->ResolveModrm =\n                    BxResolve32Mod1or2EffectAddressBaseIndexScaled[sib];//effect_address\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve32Mod1or2Base[base];\n#endif\n\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod1or2_base32[base];\n\n\t\t\t\tgoto get_32bit_displ;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\t//BX_CPU_THIS_PTR modrm_len = ::Translate_modrm16_length[b2];\n\t\t\n\t\t\t// 16-bit addressing modes, mod==11b handled above\n\t\t\tif (fetch_mod == 0x40)\n\t\t\t{ // mod == 01b\n\t\t\t\tinstruction->ResolveModrm = BxResolve16Mod1or2[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve16Mod1or2[fetch_rm];\n#endif\n\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod01_rm16[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTMemRegsUsed = BxMemRegsUsed16[fetch_rm];\n#endif\n\t\t\t\tif (i_bytes < remain)\n\t\t\t\t{\n\t\t\t\t\t// 8 sign extended to 16\n\t\t\t\t\tinstruction->displ16u = (Bit8s) *iptr++;\n\t\t\t\t\ti_bytes++;\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn(0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fetch_mod == 0x80)\n\t\t\t{ // mod == 10b\n\t\t\t\tinstruction->ResolveModrm = BxResolve16Mod1or2[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t        instruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve16Mod1or2[fetch_rm];\n#endif\n\t\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod10_rm16[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\t\tinstruction->DTMemRegsUsed = BxMemRegsUsed16[fetch_rm];\n#endif\n\t\t\t\tif ((i_bytes+1) < remain)\n\t\t\t\t{\n\t\t\t\t\tBit16u displ16u;\n\t\t\t\t\tdispl16u = *iptr++;\n\t\t\t\t\tdispl16u |= (*iptr++) << 8;\n\t\t\t\t\tinstruction->displ16u = displ16u;\n\t\t\t\t\ti_bytes += 2;\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\treturn(0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// mod must be 00b at this point\n\t\t\tinstruction->ResolveModrm = BxResolve16Mod0[fetch_rm];\n#if BX_DYNAMIC_TRANSLATION\n\t\t\tinstruction->DTResolveModrm = (BxVoidFPtr_t) BxDTResolve16Mod0[fetch_rm];\n#endif\n\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\tfetch_seg = BX_CPU_THIS_PTR sreg_mod00_rm16[fetch_rm];\n\n\t\t\tif (fetch_rm == 0x06)\n\t\t\t{\n\t\t\t\tif ((i_bytes+1) < remain)\n\t\t\t\t{\n\t\t\t\t\tBit16u displ16u;\n\t\t\t\t\tdispl16u = *iptr++;\n\t\t\t\t\tdispl16u |= (*iptr++) << 8;\n\t\t\t\t\tinstruction->displ16u = displ16u;\n\t\t\t\t\t//RMAddr(instruction) = displ16u;\n\t\t\t\t\ti_bytes += 2;\n\t\t\t\t\tgoto modrm_done;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn(0);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// mod=00b rm!=6\n#if BX_DYNAMIC_TRANSLATION\n\t\t\tinstruction->DTMemRegsUsed = BxMemRegsUsed16[fetch_rm];\n#endif\n\t\t}\n\nmodrm_done:\n\n//\t\tBX_CPU_THIS_PTR modrm_len = iptr - BX_CPU_THIS_PTR iptr-1;\n\n\t\tif (attr & BxGroupN)\n\t\t{\n\t\t\tBxOpcodeInfo_t *OpcodeInfoPtr;\n\n\t\t\tOpcodeInfoPtr = (BxOpcodeInfo_t *)BxOpcodeInfo[b1+offset].OpcodeInfoPtr;\n\n\t\t\tinstruction->execute =\n\t\t\t\tOpcodeInfoPtr[MODRMnnn(instruction)].ExecutePtr;\n//\t\t\tBX_CPU_THIS_PTR translateptr =\n//\t\t\t\tOpcodeInfoPtr[MODRMnnn(instruction)].TranslatePtr;\n\t\t\t\n\t\t\t// get additional attributes from group table\n\t\t\tattr |= OpcodeInfoPtr[MODRMnnn(instruction)].Attr;\n#if BX_DYNAMIC_TRANSLATION\n\t\t\tinstruction->DTAttr = 0; // for now\n#endif\n\t\t}\n\t\telse\n\t\t{\n\t\t\tinstruction->execute =\n\t\t\t\tBxOpcodeInfo[b1+offset].ExecutePtr;\n//\t\t\tBX_CPU_THIS_PTR translateptr =\n//\t\t\t\tBxOpcodeInfo[b1+offset].TranslatePtr;\n\n#if BX_DYNAMIC_TRANSLATION\n\t\t\tinstruction->DTAttr = BxDTOpcodeInfo[b1+offset].DTAttr;\n\t\t\tinstruction->DTFPtr = BxDTOpcodeInfo[b1+offset].DTASFPtr;\n#endif\n\t\t}\n\t}\n\telse\n\t{\n\t\t// Opcode does not require a MODRM byte.\n\t\t// Note that a 2-byte opcode (0F XX) will jump to before\n\t\t// the if() above after fetching the 2nd byte, so this path is\n\t\t// taken in all cases if a modrm byte is NOT required.\n\t\tinstruction->execute = BxOpcodeInfo[b1+offset].ExecutePtr;\n//\t\tBX_CPU_THIS_PTR translateptr = BxOpcodeInfo[b1+offset].TranslatePtr;\n\n#if BX_DYNAMIC_TRANSLATION\n\t    instruction->DTAttr = BxDTOpcodeInfo[b1+offset].DTAttr;\n\t    instruction->DTFPtr = BxDTOpcodeInfo[b1+offset].DTASFPtr;\n#endif\n    }\n\n\timmed_mode = attr & BxImmediate;\n\tif (immed_mode)\n\t{\n\t\tBit8s temp8s;\n\t\tBit32u imm32u;\n\t\tBit16u imm16u;\n\n\t\tswitch (immed_mode)\n\t\t{\n\t\tcase BxImmediate_1:\n\t\t\tIMMEDIATEIb(instruction) = 1;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_CL:\n\t\t\tIMMEDIATEIb(instruction) = X86_CL;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_Ib:\n\t\t\tif(i_bytes>=remain)\n\t\t\t\treturn 0;\n\t\t\tIMMEDIATEIb(instruction) = *iptr;\n\t\t\ti_bytes++;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_Ib_SE: // Sign extend to OS size\n\t\t\tif(i_bytes>=remain)\n\t\t\t\treturn 0;\n\t\t\ttemp8s = *iptr;\n\t\t\tif (fetch_os32)\n\t\t\t\tIMMEDIATEId(instruction) = (Bit32s) temp8s;\n\t\t\telse\n\t\t\t\tIMMEDIATEIw(instruction) = (Bit16s) temp8s;\n\t\t\ti_bytes++;\n\t\t\tbreak;\n\t\tcase BxImmediate_Iv: // same as BxImmediate_BrOff32\n\t\tcase BxImmediate_IvIw: // CALL_Ap JMP_Ap\n\t\t\tif (fetch_os32)\n\t\t\t{\n\t\t\t\tif ((i_bytes+4) > remain)\n\t\t\t\t\treturn 0;\n\t\t\t\timm32u = *iptr++;\n\t\t\t\timm32u |= (*iptr++) << 8;\n\t\t\t\timm32u |= (*iptr++) << 16;\n\t\t\t\timm32u |= (*iptr) << 24;\n\t\t\t\tIMMEDIATEId(instruction) = imm32u;\n\t\t\t\ti_bytes += 4;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(i_bytes+2>remain)\n\t\t\t\t\treturn 0;\n\t\t\t\timm16u = *iptr++;\n\t\t\t\timm16u |= (*iptr) << 8;\n\t\t\t\tIMMEDIATEIw(instruction) = imm16u;\n\t\t\t\ti_bytes += 2;\n\t\t\t}\n\n\t\t\tif (immed_mode != BxImmediate_IvIw)\n\t\t\t\tbreak;\n\n\t\t\tiptr++;\n\t\t\t// Get Iw for BxImmediate_IvIw\n\t\t\tif(i_bytes+2>remain)\n\t\t\t\treturn 0;\n\t\t\timm16u = *iptr++;\n\t\t\timm16u |= (*iptr) << 8;\n\t\t\tIMMEDIATEIw2(instruction) = imm16u;\n\t\t\ti_bytes += 2;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_O:\n\t\t\tif (fetch_as32)\n\t\t\t{\n\t\t\t\tif ((i_bytes+4) > remain)\n\t\t\t\t\treturn 0;\n\t\t\t\t// fetch 32bit address into Id\n\t\t\t\timm32u = *iptr++;\n\t\t\t\timm32u |= (*iptr++) << 8;\n\t\t\t\timm32u |= (*iptr++) << 16;\n\t\t\t\timm32u |= (*iptr) << 24;\n\t\t\t\tIMMEDIATEId(instruction) = imm32u;\n\t\t\t\ti_bytes += 4;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(i_bytes+2>remain)\n\t\t\t\t\treturn 0;\n\t\t\t\t// fetch 16bit address into Id\n\t\t\t\timm32u = *iptr++;\n\t\t\t\timm32u |= (*iptr) << 8;\n\t\t\t\tIMMEDIATEId(instruction) = imm32u;\n\t\t\t\ti_bytes += 2;\n\t\t\t}\n\n\t\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\t\tfetch_seg = BX_SEG_REG_DS;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_Iw:\n\t\tcase BxImmediate_IwIb:\n\t\t\tif(i_bytes+2>remain)\n\t\t\t\treturn 0;\n\t\t\timm16u = *iptr++;\n\t\t\timm16u |= (*iptr) << 8;\n\t\t\tIMMEDIATEIw(instruction) = imm16u;\n\t\t\ti_bytes += 2;\n\t\t\tif (immed_mode == BxImmediate_Iw)\n\t\t\t\tbreak;\n\t\t\tif(i_bytes>=remain)\n\t\t\t\treturn 0;\n\t\t\tiptr++;\n\t\t\tIMMEDIATEIb2(instruction) = *iptr;\n\t\t\ti_bytes++;\n\t\t\tbreak;\n\n\t\tcase BxImmediate_BrOff8:\n\t\t\tif(i_bytes>=remain)\n\t\t\t\treturn 0;\n\t\t\ttemp8s = *iptr;\n\t\t\tIMMEDIATEId(instruction) = temp8s;\n\t\t\ti_bytes++;\n\t\t\tbreak;\n\n      case BxImmediate_BrOff16:\n\t\t\tif(i_bytes+2>remain)\n\t\t\t\treturn 0;\n\t\t\timm16u = *iptr++;\n\t\t\timm16u |= (*iptr) << 8;\n\t\t\tIMMEDIATEId(instruction) = (Bit16s) imm16u;\n\t\t\ti_bytes += 2;\n\t\t\tbreak;\n\n      case BxImmediate_BrOff32:\n\t\t\tif ((i_bytes+4) > remain)\n\t\t\t\treturn 0;\n\t\t\timm32u = *iptr++;\n\t\t\timm32u |= (*iptr++) << 8;\n\t\t\timm32u |= (*iptr++) << 16;\n\t\t\timm32u |= (*iptr) << 24;\n\t\t\tIMMEDIATEId(instruction) = imm32u;\n\t\t\ti_bytes += 4;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tBX_INFO((\"b1 was %x\", b1));\n\t\t\tBX_PANIC((\"fetchdecode: immed_mode = %u\", immed_mode));\n\t\t}\n\t\tif (i_bytes>remain)\n\t\t\treturn(0);\n\t}\n\n\tif ((attr & BxRepeatable))\n\t{\n\t\t//\tb1==0x6c||b1==0x6d||\t\t//ins\n\t\t//\tb1==0x6e||b1==0x6f||\t\t//outs\n\t\t//\tb1==0xa4||b1==0xa5||\t\t//movs\n\t\t//\tb1==0xa6||b1==0xa7||\t\t//cmps\n\t\t//\tb1==0xaa||b1==0xab||\t\t//stos\t\t\n\t\t//\tb1==0xac||b1==0xad||\t\t//lods\n\t\t//\tb1==0xae||b1==0xaf||\t\t//scas\n\n\t\tBxOpcodeInfo_t *OpcodeInfoPtr;\n\t\tint string_num;\n\n\t\tif (BX_NULL_SEG_REG(fetch_seg))\n\t\t\tfetch_seg = BX_SEG_REG_DS;\n\n\t\tstring_num = fetch_rep-0xf0 + (fetch_as32<<2);\n\n\t\tOpcodeInfoPtr = (BxOpcodeInfo_t *)BxOpcodeInfo[b1+offset].OpcodeInfoPtr;\n\n\t\tinstruction->execute = OpcodeInfoPtr[string_num].ExecutePtr;\n//\t\tBX_CPU_THIS_PTR translateptr = OpcodeInfoPtr[string_num].TranslatePtr;\n\t\t// get additional attributes from group table\n\t\tattr |= OpcodeInfoPtr[string_num].Attr;\n\t}\n\n\tOPCODEb1(instruction) = b1;\n\tMODRMSeg(instruction) = fetch_seg;\n\tinstruction->size_mode.os_32 = fetch_os32;\n\tinstruction->size_mode.as_32 = fetch_as32;\n\tinstruction->i_bytes = (Bit8u)i_bytes;\n//\tBX_CPU_THIS_PTR attr = attr;\n\n\treturn(i_bytes);\n}\n\n\tvoid\nBX_CPU_C::BxError(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// extern void dump_core();\n\tBX_INFO((\"BxError: instruction with op1=0x%x\", i->b1));\n\tBX_INFO((\"nnn was %u\", i->nnn));\n\n\tBX_INFO((\"WARNING: Encountered an unknown instruction (signalling illegal instruction):\"));\n\t// dump_core();\n\tBX_PANIC((\"BxError:inst with op1=0x%x nnn was %u\", i->b1,i->nnn));\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n}\n\n\tvoid\nBX_CPU_C::BxResolveError(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_PANIC((\"BxResolveError: instruction with op1=0x%x\", i->b1));\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/fetch_pr.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: fetchdecode_pro.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ָ\n//---------------------------------------------------------\n\n\n#define BxOS16 0\n#define BxOS32 0\n#define BxSplitMod11b 0\nconst BxOpcodeInfo_t BxOpcodeInfo[512*2*2] =\n{\n\t/* 00 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EGbGb,  NULL },\n\t/* 01 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EGwGw,  NULL },\n\t/* 02 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GbEGb,  NULL },\n\t/* 03 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GwEGw,  NULL },\n\t/* 04 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: ADD_ALIb,  NULL },\n\t/* 05 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: ADD_AXIw,  NULL },\n\t/* 06 */ { 0, &BX_CPU_C:: PUSH_ES ,  NULL },\n\t/* 07 */ { 0, &BX_CPU_C:: POP_ES ,  NULL },\n\t/* 08 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EGbGb,  NULL },\n\t/* 09 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EGwGw,  NULL },\n\t/* 0a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GbEGb,  NULL },\n\t/* 0b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GwEGw,  NULL },\n\t/* 0c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: OR_ALIb,  NULL },\n\t/* 0d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: OR_AXIw,  NULL },\n\t/* 0e */ { 0, &BX_CPU_C:: PUSH_CS ,  NULL },\n\t/* 0f */ { BxAnother, &BX_CPU_C:: BxError ,  NULL },// 2-byte escape\n\t/* 10 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EGbGb,  NULL },\n\t/* 11 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EGwGw,  NULL },\n\t/* 12 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GbEGb,  NULL },\n\t/* 13 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GwEGw,  NULL },\n\t/* 14 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: ADC_ALIb,  NULL },\n\t/* 15 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: ADC_AXIw,  NULL },\n\t/* 16 */ { 0, &BX_CPU_C:: PUSH_SS ,  NULL },\n\t/* 17 */ { 0, &BX_CPU_C:: POP_SS ,  NULL },\n\t/* 18 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EGbGb,  NULL },\n\t/* 19 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EGwGw,  NULL },\n\t/* 1a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GbEGb,  NULL },\n\t/* 1b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GwEGw,  NULL },\n\t/* 1c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: SBB_ALIb,  NULL },\n\t/* 1d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: SBB_AXIw,  NULL },\n\t/* 1e */ { 0, &BX_CPU_C:: PUSH_DS ,  NULL },\n\t/* 1f */ { 0, &BX_CPU_C:: POP_DS ,  NULL },\n\t/* 20 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EGbGb,  NULL },\n\t/* 21 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EGwGw,  NULL },\n\t/* 22 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GbEGb,  NULL },\n\t/* 23 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GwEGw,  NULL },\n\t/* 24 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: AND_ALIb,  NULL },\n\t/* 25 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: AND_AXIw,  NULL },\n\t/* 26 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 27 */ { 0, &BX_CPU_C:: DAA,  NULL },\n\t/* 28 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EGbGb,  NULL },\n\t/* 29 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EGwGw,  NULL },\n\t/* 2a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GbEGb,  NULL },\n\t/* 2b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GwEGw,  NULL },\n\t/* 2c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: SUB_ALIb,  NULL },\n\t/* 2d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: SUB_AXIw,  NULL },\n\t/* 2e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 2f */ { 0, &BX_CPU_C:: DAS,  NULL },\n\t/* 30 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EGbGb,  NULL },\n\t/* 31 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EGwGw,  NULL },\n\t/* 32 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GbEGb,  NULL },\n\t/* 33 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GwEGw,  NULL },\n\t/* 34 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: XOR_ALIb,  NULL },\n\t/* 35 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: XOR_AXIw,  NULL },\n\t/* 36 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 37 */ { 0, &BX_CPU_C:: AAA,  NULL },\n\t/* 38 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EGbGb,  NULL },\n\t/* 39 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EGwGw,  NULL },\n\t/* 3a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GbEGb,  NULL },\n\t/* 3b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GwEGw,  NULL },\n\t/* 3c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: CMP_ALIb,  NULL },\n\t/* 3d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: CMP_AXIw,  NULL },\n\t/* 3e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 3f */ { 0, &BX_CPU_C:: AAS,  NULL },\n\t/* 40 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 41 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 42 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 43 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 44 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 45 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 46 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 47 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 48 */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 49 */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4a */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4b */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4c */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4d */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4e */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4f */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 50 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 51 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 52 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 53 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 54 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 55 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 56 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 57 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 58 */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 59 */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5a */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5b */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5c */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5d */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5e */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5f */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 60 */ { BxOS16 | 0, &BX_CPU_C:: PUSHAD16 ,  NULL },\n\t/* 61 */ { BxOS16 | 0, &BX_CPU_C:: POPAD16  ,  NULL },\n\t/* 62 */ { BxAnother, &BX_CPU_C:: BOUND_GvMa ,  NULL },\n\t/* 63 */ { BxAnother, &BX_CPU_C:: ARPL_EwGw ,  NULL },\n\t/* 64 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 65 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 66 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 67 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 68 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: PUSH_Iw ,  NULL },\n\t/* 69 */ { BxOS16 | BxAnother | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEGwIw ,  NULL },\n\t/* 6a */ { BxOS16 | BxImmediate_Ib_SE, &BX_CPU_C:: PUSH_Iw ,  NULL },\n\t/* 6b */ { BxOS16 | BxAnother | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEGwIw ,  NULL },\n\t/* 6c */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSB  },\n\t/* 6d */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSW  },\n\t/* 6e */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSB  },\n\t/* 6f */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSW  },\n\t/* 70 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc0_Jw,  NULL },\n\t/* 71 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc1_Jw,  NULL },\n\t/* 72 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc2_Jw,  NULL },\n\t/* 73 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc3_Jw,  NULL },\n\t/* 74 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc4_Jw,  NULL },\n\t/* 75 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc5_Jw,  NULL },\n\t/* 76 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc6_Jw,  NULL },\n\t/* 77 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc7_Jw,  NULL },\n\t/* 78 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc8_Jw,  NULL },\n\t/* 79 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc9_Jw,  NULL },\n\t/* 7a */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcca_Jw,  NULL },\n\t/* 7b */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccb_Jw,  NULL },\n\t/* 7c */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccc_Jw,  NULL },\n\t/* 7d */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccd_Jw,  NULL },\n\t/* 7e */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcce_Jw,  NULL },\n\t/* 7f */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccf_Jw,  NULL },\n\t/* 80 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGbIb  },\n\t/* 81 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGwIw  },\n\t/* 82 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGbIb  },\n\t/* 83 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGwIsb  },\n\t/* 84 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EGbGb,  NULL },\n\t/* 85 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EGwGw,  NULL },\n\t/* 86 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EGbGb,  NULL },\n\t/* 87 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EGwGw,  NULL },\n\t/* 88 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EGbGb,  NULL },\n\t/* 89 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EGwGw,  NULL },\n\t/* 8a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GbEGb,  NULL },\n\t/* 8b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GwEGw,  NULL },\n\t/* 8c */ { BxAnother, &BX_CPU_C:: MOV_EwSw ,  NULL },\n\t/* 8d */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BxError ,  NULL },\n\t/* 8e */ { BxAnother, &BX_CPU_C:: MOV_SwEw ,  NULL },\n\t/* 8f */ { BxOS16 | BxAnother | BxGroupN | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0x8fEGw  },\n\t/* 90 */ { BxOS16 | 0, &BX_CPU_C:: NOP,  NULL },\n\t/* 91 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 92 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 93 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 94 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 95 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 96 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 97 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 98 */ { BxOS16 | 0, &BX_CPU_C:: CBW,  NULL },\n\t/* 99 */ { BxOS16 | 0, &BX_CPU_C:: CWD,  NULL },\n\t/* 9a */ { BxOS16 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::\tCALL16_Ap,  NULL },\n\t/* 9b */ { 0, &BX_CPU_C:: FWAIT ,  NULL },\n\t/* 9c */ { 0, &BX_CPU_C:: PUSHF ,  NULL },\n\t/* 9d */ { 0, &BX_CPU_C:: POPF ,  NULL },\n\t/* 9e */ { 0, &BX_CPU_C:: SAHF,  NULL },\n\t/* 9f */ { 0, &BX_CPU_C:: LAHF,  NULL },\n\t/* a0 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_ALOb,  NULL },\n\t/* a1 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_AXOw,  NULL },\n\t/* a2 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_ObAL,  NULL },\n\t/* a3 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_OwAX,  NULL },\n\t/* a4 */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSB },\n\t/* a5 */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSW },\n\t/* a6 */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSB  },\n\t/* a7 */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSW  },\n\t/* a8 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: TEST_ALIb,  NULL },\n\t/* a9 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: TEST_AXIw,  NULL },\n\t/* aa */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSB },\n\t/* ab */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSW },\n\t/* ac */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSB },\n\t/* ad */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSW },\n\t/* ae */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASB },\n\t/* af */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASW },\n\t/* b0 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b1 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b2 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b3 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b4 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b5 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b6 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b7 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b8 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* b9 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* ba */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bb */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bc */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bd */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* be */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bf */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* c0 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGbIb  },\n\t/* c1 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGwIb  },\n\t/* c2 */ { BxOS16 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C::\tRETnear16_Iw,  NULL },\n\t/* c3 */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t\tRETnear16,  NULL },\n\t/* c4 */ { BxAnother, &BX_CPU_C:: LES_GvMp ,  NULL },\n\t/* c5 */ { BxAnother, &BX_CPU_C:: LDS_GvMp ,  NULL },\n\t/* c6 */ { BxOS16 | BxAnother | BxGroupN | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc6EGbIb  },\n\t/* c7 */ { BxOS16 | BxAnother | BxGroupN | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc7EGwIw  },\n\t/* c8 */ { BxImmediate_IwIb, &BX_CPU_C::\tENTER_IwIb ,  NULL },\n\t/* c9 */ { 0, &BX_CPU_C::\t\t\t\t\tLEAVE ,  NULL },\n\t/* ca */ { BxOS16 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C:: RETfar16_Iw,  NULL },\n\t/* cb */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t RETfar16,  NULL },\n\t/* cc */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INT3,  NULL },\n\t/* cd */ { BxBranch_absolute | BxImmediate_Ib, &BX_CPU_C:: INT_Ib,  NULL },\n\t/* ce */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INTO,  NULL },\n\t/* cf */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t IRET16,  NULL },\n\t/* d0 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGb_1  },\n\t/* d1 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGw_1  },\n\t/* d2 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGbCL  },\n\t/* d3 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGwCL  },\n\t/* d4 */ { BxImmediate_Ib, &BX_CPU_C:: AAM,  NULL },\n\t/* d5 */ { BxImmediate_Ib, &BX_CPU_C:: AAD,  NULL },\n\t/* d6 */ { 0, &BX_CPU_C:: SALC,  NULL },\n\t/* d7 */ { 0, &BX_CPU_C:: XLAT,  NULL },\n\t/* d8 */ { BxAnother, &BX_CPU_C:: ESC0 ,  NULL },\n\t/* d9 */ { BxAnother, &BX_CPU_C:: ESC1 ,  NULL },\n\t/* da */ { BxAnother, &BX_CPU_C:: ESC2 ,  NULL },\n\t/* db */ { BxAnother, &BX_CPU_C:: ESC3 ,  NULL },\n\t/* dc */ { BxAnother, &BX_CPU_C:: ESC4 ,  NULL },\n\t/* dd */ { BxAnother, &BX_CPU_C:: ESC5 ,  NULL },\n\t/* de */ { BxAnother, &BX_CPU_C:: ESC6 ,  NULL },\n\t/* df */ { BxAnother, &BX_CPU_C:: ESC7 ,  NULL },\n\t/* e0 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPNE_Jw,  NULL },\n\t/* e1 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPE_Jw,  NULL },\n\t/* e2 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOP_Jw,  NULL },\n\t/* e3 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JCXZ_Jw,  NULL },\n\t/* e4 */ { BxImmediate_Ib, &BX_CPU_C:: IN_ALIb ,  NULL },\n\t/* e5 */ { BxImmediate_Ib, &BX_CPU_C:: IN_eAXIb ,  NULL },\n\t/* e6 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbAL ,  NULL },\n\t/* e7 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbeAX ,  NULL },\n\t/* e8 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C:: CALL_Jw,  NULL },\n\t/* e9 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C:: JMP_Jw,  NULL },\n\t/* ea */ { BxOS16 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::   JMP16_Ap,  NULL },\n\t/* eb */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JMP_Jw,  NULL },\n\t/* ec */ { 0, &BX_CPU_C:: IN_ALDX ,  NULL },\n\t/* ed */ { 0, &BX_CPU_C:: IN_eAXDX ,  NULL },\n\t/* ee */ { 0, &BX_CPU_C:: OUT_DXAL ,  NULL },\n\t/* ef */ { 0, &BX_CPU_C:: OUT_DXeAX ,  NULL },\n\t/* f0 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f1 */ { BxBranch_absolute, &BX_CPU_C:: INT1,  NULL },\n\t/* f2 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f3 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f4 */ { 0, &BX_CPU_C:: HLT ,  NULL },\n\t/* f5 */ { 0, &BX_CPU_C:: CMC,  NULL },\n\t/* f6 */ { BxOS16 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EGb  },\n\t/* f7 */ { BxOS16 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EGw  },\n\t/* f8 */ { 0, &BX_CPU_C:: CLC,  NULL },\n\t/* f9 */ { 0, &BX_CPU_C:: STC,  NULL },\n\t/* fa */ { 0, &BX_CPU_C:: CLI ,  NULL },\n\t/* fb */ { 0, &BX_CPU_C:: STI ,  NULL },\n\t/* fc */ { 0, &BX_CPU_C:: CLD ,  NULL },\n\t/* fd */ { 0, &BX_CPU_C:: STD ,  NULL },\n\t/* fe */ { BxOS16 | BxAnother | BxGroup4 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG4EGb   },\n\t/* ff */ { BxOS16 | BxAnother | BxGroup5 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG5EGw  },\n\t//---------------------------------------------------------\n\t/* 100 */ { BxAnother | BxGroup6, &BX_CPU_C:: BxError,  BxOpcodeInfoG6  },\n\t/* 101 */ { BxAnother | BxGroup7, &BX_CPU_C:: BxError,  BxOpcodeInfoG7  },\n\t/* 102 */ { BxAnother, &BX_CPU_C::  LAR_GvEw ,  NULL },\n\t/* 103 */ { BxAnother, &BX_CPU_C::  LSL_GvEw ,  NULL },\n\t/* 104 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 105 */ { 0, &BX_CPU_C:: LOADALL ,  NULL },\n\t/* 106 */ { 0, &BX_CPU_C:: CLTS ,  NULL },\n\t/* 107 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 108 */ { 0, &BX_CPU_C:: INVD ,  NULL },\n\t/* 109 */ { 0, &BX_CPU_C:: WBINVD ,  NULL },\n\t/* 10a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 110 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 111 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 112 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 113 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 114 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 115 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 116 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 117 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 118 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 119 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 120 */ { BxAnother, &BX_CPU_C:: MOV_RdCd ,  NULL },\n\t/* 121 */ { BxAnother, &BX_CPU_C:: MOV_RdDd ,  NULL },\n\t/* 122 */ { BxAnother, &BX_CPU_C:: MOV_CdRd ,  NULL },\n\t/* 123 */ { BxAnother, &BX_CPU_C:: MOV_DdRd ,  NULL },\n\t/* 124 */ { BxAnother, &BX_CPU_C:: MOV_RdTd ,  NULL },\n\t/* 125 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 126 */ { BxAnother, &BX_CPU_C:: MOV_TdRd ,  NULL },\n\t/* 127 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 128 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 129 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 130 */ { 0, &BX_CPU_C:: WRMSR ,  NULL },\n\t/* 131 */ { 0, &BX_CPU_C:: RDTSC ,  NULL },\n\t/* 132 */ { 0, &BX_CPU_C:: RDMSR ,  NULL },\n\t/* 133 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 134 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 135 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 136 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 137 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 138 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 139 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 140 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 141 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 142 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 143 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 144 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 145 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 146 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 147 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 148 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 149 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14c */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14d */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14e */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 14f */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEGw,  NULL },\n\t/* 150 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 151 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 152 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 153 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 154 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 155 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 156 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 157 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 158 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 159 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 160 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 161 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 162 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 163 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 164 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 165 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 166 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 167 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 168 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 169 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 170 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 171 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 172 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 173 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 174 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 175 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 176 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 177 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 178 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 179 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 180 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc0_Jw,  NULL },\n\t/* 181 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc1_Jw,  NULL },\n\t/* 182 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc2_Jw,  NULL },\n\t/* 183 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc3_Jw,  NULL },\n\t/* 184 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc4_Jw,  NULL },\n\t/* 185 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc5_Jw,  NULL },\n\t/* 186 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc6_Jw,  NULL },\n\t/* 187 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc7_Jw,  NULL },\n\t/* 188 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc8_Jw,  NULL },\n\t/* 189 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc9_Jw,  NULL },\n\t/* 18a */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcca_Jw,  NULL },\n\t/* 18b */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccb_Jw,  NULL },\n\t/* 18c */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccc_Jw,  NULL },\n\t/* 18d */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccd_Jw,  NULL },\n\t/* 18e */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcce_Jw,  NULL },\n\t/* 18f */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccf_Jw,  NULL },\n\t/* 190 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 191 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 192 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 193 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 194 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 195 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 196 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 197 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 198 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 199 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19a */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19b */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19c */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19d */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19e */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19f */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 1a0 */ { 0, &BX_CPU_C:: PUSH_FS ,  NULL },\n\t/* 1a1 */ { 0, &BX_CPU_C:: POP_FS ,  NULL },\n\t/* 1a2 */ { 0, &BX_CPU_C:: CPUID ,  NULL },\n\t/* 1a3 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BT_EGwGw ,  NULL },\n\t/* 1a4 */ { BxOS16 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHLD_EGwGw,  NULL },\n\t/* 1a5 */ { BxOS16 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHLD_EGwGwCL,  NULL },\n\t/* 1a6 */ { 0, &BX_CPU_C:: CMPXCHG_XBTS ,  NULL },\n\t/* 1a7 */ { 0, &BX_CPU_C:: CMPXCHG_IBTS ,  NULL },\n\t/* 1a8 */ { 0, &BX_CPU_C:: PUSH_GS ,  NULL },\n\t/* 1a9 */ { 0, &BX_CPU_C:: POP_GS ,  NULL },\n\t/* 1aa */ { 0, &BX_CPU_C:: RSM ,  NULL },\n\t/* 1ab */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTS_EGwGw ,  NULL },\n\t/* 1ac */ { BxOS16 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHRD_EGwGw,  NULL },\n\t/* 1ad */ { BxOS16 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHRD_EGwGwCL,  NULL },\n\t/* 1ae */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1af */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEGw,  NULL },\n\t/* 1b0 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EGbGb,  NULL },\n\t/* 1b1 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EGwGw,  NULL },\n\t/* 1b2 */ { BxAnother, &BX_CPU_C:: LSS_GvMp ,  NULL },\n\t/* 1b3 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTR_EGwGw ,  NULL },\n\t/* 1b4 */ { BxAnother, &BX_CPU_C:: LFS_GvMp ,  NULL },\n\t/* 1b5 */ { BxAnother, &BX_CPU_C:: LGS_GvMp ,  NULL },\n\t/* 1b6 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GwEGb,  NULL },\n\t/* 1b7 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GwEGw,  NULL },\n\t/* 1b8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1b9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ba */ { BxOS16 | BxAnother | BxGroup8 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG8EGwIb  },\n\t/* 1bb */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTC_EGwGw ,  NULL },\n\t/* 1bc */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSF_GwEGw ,  NULL },\n\t/* 1bd */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSR_GwEGw ,  NULL },\n\t/* 1be */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GwEGb,  NULL },\n\t/* 1bf */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GwEGw,  NULL },\n\t/* 1c0 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EGbGb,  NULL },\n\t/* 1c1 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EGwGw,  NULL },\n\t/* 1c2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c7 */ { BxAnother | BxGroup9, &BX_CPU_C:: BxError,  BxOpcodeInfoG9  },\n\t/* 1c8 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1c9 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ca */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cb */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cc */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cd */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ce */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cf */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1d0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1da */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1db */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dc */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dd */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1de */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1df */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ea */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1eb */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ec */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ed */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ee */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ef */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1f0 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f1 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f2 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f3 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f4 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f5 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f6 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f7 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f8 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f9 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fa */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fb */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fc */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fd */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fe */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1ff */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t//---------------------------------------------------------\n\t//---------------------------------------------------------\n\t/* 00 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EGbGb,  NULL },\n\t/* 01 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EGdGd,  NULL },\n\t/* 02 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GbEGb,  NULL },\n\t/* 03 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GdEGd,  NULL },\n\t/* 04 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: ADD_ALIb,  NULL },\n\t/* 05 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: ADD_EAXId,  NULL },\n\t/* 06 */ { 0, &BX_CPU_C:: PUSH_ES ,  NULL },\n\t/* 07 */ { 0, &BX_CPU_C:: POP_ES ,  NULL },\n\t/* 08 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EGbGb,  NULL },\n\t/* 09 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EGdGd,  NULL },\n\t/* 0a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GbEGb,  NULL },\n\t/* 0b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GdEGd,  NULL },\n\t/* 0c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: OR_ALIb,  NULL },\n\t/* 0d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: OR_EAXId,  NULL },\n\t/* 0e */ { 0, &BX_CPU_C:: PUSH_CS ,  NULL },\n\t/* 0f */ { BxAnother, &BX_CPU_C:: BxError ,  NULL },// 2-byte escape\n\t/* 10 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EGbGb,  NULL },\n\t/* 11 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EGdGd,  NULL },\n\t/* 12 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GbEGb,  NULL },\n\t/* 13 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GdEGd,  NULL },\n\t/* 14 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: ADC_ALIb,  NULL },\n\t/* 15 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: ADC_EAXId,  NULL },\n\t/* 16 */ { 0, &BX_CPU_C:: PUSH_SS ,  NULL },\n\t/* 17 */ { 0, &BX_CPU_C:: POP_SS ,  NULL },\n\t/* 18 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EGbGb,  NULL },\n\t/* 19 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EGdGd,  NULL },\n\t/* 1a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GbEGb,  NULL },\n\t/* 1b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GdEGd,  NULL },\n\t/* 1c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: SBB_ALIb,  NULL },\n\t/* 1d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: SBB_EAXId,  NULL },\n\t/* 1e */ { 0, &BX_CPU_C:: PUSH_DS ,  NULL },\n\t/* 1f */ { 0, &BX_CPU_C:: POP_DS ,  NULL },\n\t/* 20 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EGbGb,  NULL },\n\t/* 21 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EGdGd,  NULL },\n\t/* 22 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GbEGb,  NULL },\n\t/* 23 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GdEGd,  NULL },\n\t/* 24 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: AND_ALIb,  NULL },\n\t/* 25 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: AND_EAXId,  NULL },\n\t/* 26 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 27 */ { 0, &BX_CPU_C:: DAA,  NULL },\n\t/* 28 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EGbGb,  NULL },\n\t/* 29 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EGdGd,  NULL },\n\t/* 2a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GbEGb,  NULL },\n\t/* 2b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GdEGd,  NULL },\n\t/* 2c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: SUB_ALIb,  NULL },\n\t/* 2d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: SUB_EAXId,  NULL },\n\t/* 2e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 2f */ { 0, &BX_CPU_C:: DAS,  NULL },\n\t/* 30 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EGbGb,  NULL },\n\t/* 31 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EGdGd,  NULL },\n\t/* 32 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GbEGb,  NULL },\n\t/* 33 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GdEGd,  NULL },\n\t/* 34 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: XOR_ALIb,  NULL },\n\t/* 35 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: XOR_EAXId,  NULL },\n\t/* 36 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 37 */ { 0, &BX_CPU_C:: AAA,  NULL },\n\t/* 38 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EGbGb,  NULL },\n\t/* 39 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EGdGd,  NULL },\n\t/* 3a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GbEGb,  NULL },\n\t/* 3b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GdEGd,  NULL },\n\t/* 3c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: CMP_ALIb,  NULL },\n\t/* 3d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: CMP_EAXId,  NULL },\n\t/* 3e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 3f */ { 0, &BX_CPU_C:: AAS,  NULL },\n\t/* 40 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 41 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 42 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 43 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 44 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 45 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 46 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 47 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 48 */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 49 */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4a */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4b */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4c */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4d */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4e */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4f */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 50 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 51 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 52 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 53 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 54 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 55 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 56 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 57 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 58 */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 59 */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5a */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5b */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5c */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5d */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5e */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5f */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 60 */ { BxOS32 | 0, &BX_CPU_C:: PUSHAD32 ,  NULL },\n\t/* 61 */ { BxOS32 | 0, &BX_CPU_C:: POPAD32  ,  NULL },\n\t/* 62 */ { BxAnother, &BX_CPU_C:: BOUND_GvMa ,  NULL },\n\t/* 63 */ { BxAnother, &BX_CPU_C:: ARPL_EwGw ,  NULL },\n\t/* 64 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 65 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 66 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 67 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 68 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: PUSH_Id ,  NULL },\n\t/* 69 */ { BxOS32 | BxAnother | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEGdId ,  NULL },\n\t/* 6a */ { BxOS32 | BxImmediate_Ib_SE, &BX_CPU_C:: PUSH_Id ,  NULL },\n\t/* 6b */ { BxOS32 | BxAnother | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEGdId ,  NULL },\n\t/* 6c */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSB  },\n\t/* 6d */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSD  },\n\t/* 6e */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSB  },\n\t/* 6f */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSD  },\n\t/* 70 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc0_Jd,  NULL },\n\t/* 71 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc1_Jd,  NULL },\n\t/* 72 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc2_Jd,  NULL },\n\t/* 73 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc3_Jd,  NULL },\n\t/* 74 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc4_Jd,  NULL },\n\t/* 75 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc5_Jd,  NULL },\n\t/* 76 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc6_Jd,  NULL },\n\t/* 77 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc7_Jd,  NULL },\n\t/* 78 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc8_Jd,  NULL },\n\t/* 79 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc9_Jd,  NULL },\n\t/* 7a */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcca_Jd,  NULL },\n\t/* 7b */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccb_Jd,  NULL },\n\t/* 7c */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccc_Jd,  NULL },\n\t/* 7d */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccd_Jd,  NULL },\n\t/* 7e */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcce_Jd,  NULL },\n\t/* 7f */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccf_Jd,  NULL },\n\t/* 80 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGbIb  },\n\t/* 81 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGdId  },\n\t/* 82 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGbIb  },\n\t/* 83 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EGdIsb  },\n\t/* 84 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EGbGb,  NULL },\n\t/* 85 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EGdGd,  NULL },\n\t/* 86 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EGbGb,  NULL },\n\t/* 87 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EGdGd,  NULL },\n\t/* 88 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EGbGb,  NULL },\n\t/* 89 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EGdGd,  NULL },\n\t/* 8a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GbEGb,  NULL },\n\t/* 8b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GdEGd,  NULL },\n\t/* 8c */ { BxAnother, &BX_CPU_C:: MOV_EwSw ,  NULL },\n\t/* 8d */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BxError ,  NULL },\n\t/* 8e */ { BxAnother, &BX_CPU_C:: MOV_SwEw ,  NULL },\n\t/* 8f */ { BxOS32 | BxAnother | BxGroupN | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0x8fEGd  },\n\t/* 90 */ { BxOS32 | 0, &BX_CPU_C:: NOP,  NULL },\n\t/* 91 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 92 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 93 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 94 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 95 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 96 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 97 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 98 */ { BxOS32 | 0, &BX_CPU_C:: CWDE,  NULL },\n\t/* 99 */ { BxOS32 | 0, &BX_CPU_C:: CDQ,  NULL },\n\t/* 9a */ { BxOS32 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::\tCALL32_Ap,  NULL },\n\t/* 9b */ { 0, &BX_CPU_C:: FWAIT ,  NULL },\n\t/* 9c */ { 0, &BX_CPU_C:: PUSHF ,  NULL },\n\t/* 9d */ { 0, &BX_CPU_C:: POPF ,  NULL },\n\t/* 9e */ { 0, &BX_CPU_C:: SAHF,  NULL },\n\t/* 9f */ { 0, &BX_CPU_C:: LAHF,  NULL },\n\t/* a0 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_ALOb,  NULL },\n\t/* a1 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_EAXOd,  NULL },\n\t/* a2 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_ObAL,  NULL },\n\t/* a3 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_OdEAX,  NULL },\n\t/* a4 */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSB },\n\t/* a5 */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSD },\n\t/* a6 */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSB  },\n\t/* a7 */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSD  },\n\t/* a8 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: TEST_ALIb,  NULL },\n\t/* a9 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: TEST_EAXId,  NULL },\n\t/* aa */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSB },\n\t/* ab */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSD },\n\t/* ac */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSB },\n\t/* ad */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSD },\n\t/* ae */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASB },\n\t/* af */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASD },\n\t/* b0 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b1 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b2 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b3 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b4 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b5 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b6 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b7 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b8 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* b9 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* ba */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bb */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bc */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bd */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* be */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bf */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* c0 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGbIb  },\n\t/* c1 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGdIb  },\n\t/* c2 */ { BxOS32 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C::\tRETnear32_Iw,  NULL },\n\t/* c3 */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t\tRETnear32,  NULL },\n\t/* c4 */ { BxAnother, &BX_CPU_C:: LES_GvMp ,  NULL },\n\t/* c5 */ { BxAnother, &BX_CPU_C:: LDS_GvMp ,  NULL },\n\t/* c6 */ { BxOS32 | BxAnother | BxGroupN | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc6EGbIb  },\n\t/* c7 */ { BxOS32 | BxAnother | BxGroupN | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc7EGdId  },\n\t/* c8 */ { BxImmediate_IwIb, &BX_CPU_C::\tENTER_IwIb ,  NULL },\n\t/* c9 */ { 0, &BX_CPU_C::\t\t\t\t\tLEAVE ,  NULL },\n\t/* ca */ { BxOS32 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C:: RETfar32_Iw,  NULL },\n\t/* cb */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t RETfar32,  NULL },\n\t/* cc */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INT3,  NULL },\n\t/* cd */ { BxBranch_absolute | BxImmediate_Ib, &BX_CPU_C:: INT_Ib,  NULL },\n\t/* ce */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INTO,  NULL },\n\t/* cf */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t IRET32,  NULL },\n\t/* d0 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGb_1  },\n\t/* d1 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGd_1  },\n\t/* d2 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGbCL  },\n\t/* d3 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EGdCL  },\n\t/* d4 */ { BxImmediate_Ib, &BX_CPU_C:: AAM,  NULL },\n\t/* d5 */ { BxImmediate_Ib, &BX_CPU_C:: AAD,  NULL },\n\t/* d6 */ { 0, &BX_CPU_C:: SALC,  NULL },\n\t/* d7 */ { 0, &BX_CPU_C:: XLAT,  NULL },\n\t/* d8 */ { BxAnother, &BX_CPU_C:: ESC0 ,  NULL },\n\t/* d9 */ { BxAnother, &BX_CPU_C:: ESC1 ,  NULL },\n\t/* da */ { BxAnother, &BX_CPU_C:: ESC2 ,  NULL },\n\t/* db */ { BxAnother, &BX_CPU_C:: ESC3 ,  NULL },\n\t/* dc */ { BxAnother, &BX_CPU_C:: ESC4 ,  NULL },\n\t/* dd */ { BxAnother, &BX_CPU_C:: ESC5 ,  NULL },\n\t/* de */ { BxAnother, &BX_CPU_C:: ESC6 ,  NULL },\n\t/* df */ { BxAnother, &BX_CPU_C:: ESC7 ,  NULL },\n\t/* e0 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPNE_Jd,  NULL },\n\t/* e1 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPE_Jd,  NULL },\n\t/* e2 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOP_Jd,  NULL },\n\t/* e3 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JCXZ_Jd,  NULL },\n\t/* e4 */ { BxImmediate_Ib, &BX_CPU_C:: IN_ALIb ,  NULL },\n\t/* e5 */ { BxImmediate_Ib, &BX_CPU_C:: IN_eAXIb ,  NULL },\n\t/* e6 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbAL ,  NULL },\n\t/* e7 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbeAX ,  NULL },\n\t/* e8 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C:: CALL_Jd,  NULL },\n\t/* e9 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C:: JMP_Jd,  NULL },\n\t/* ea */ { BxOS32 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::   JMP32_Ap,  NULL },\n\t/* eb */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JMP_Jd,  NULL },\n\t/* ec */ { 0, &BX_CPU_C:: IN_ALDX ,  NULL },\n\t/* ed */ { 0, &BX_CPU_C:: IN_eAXDX ,  NULL },\n\t/* ee */ { 0, &BX_CPU_C:: OUT_DXAL ,  NULL },\n\t/* ef */ { 0, &BX_CPU_C:: OUT_DXeAX ,  NULL },\n\t/* f0 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f1 */ { BxBranch_absolute, &BX_CPU_C:: INT1,  NULL },\n\t/* f2 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f3 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f4 */ { 0, &BX_CPU_C:: HLT ,  NULL },\n\t/* f5 */ { 0, &BX_CPU_C:: CMC,  NULL },\n\t/* f6 */ { BxOS32 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EGb  },\n\t/* f7 */ { BxOS32 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EGd  },\n\t/* f8 */ { 0, &BX_CPU_C:: CLC,  NULL },\n\t/* f9 */ { 0, &BX_CPU_C:: STC,  NULL },\n\t/* fa */ { 0, &BX_CPU_C:: CLI ,  NULL },\n\t/* fb */ { 0, &BX_CPU_C:: STI ,  NULL },\n\t/* fc */ { 0, &BX_CPU_C:: CLD ,  NULL },\n\t/* fd */ { 0, &BX_CPU_C:: STD ,  NULL },\n\t/* fe */ { BxOS32 | BxAnother | BxGroup4 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG4EGb   },\n\t/* ff */ { BxOS32 | BxAnother | BxGroup5 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG5EGd  },\n\t//---------------------------------------------------------\n\t/* 100 */ { BxAnother | BxGroup6, &BX_CPU_C:: BxError,  BxOpcodeInfoG6  },\n\t/* 101 */ { BxAnother | BxGroup7, &BX_CPU_C:: BxError,  BxOpcodeInfoG7  },\n\t/* 102 */ { BxAnother, &BX_CPU_C::  LAR_GvEw ,  NULL },\n\t/* 103 */ { BxAnother, &BX_CPU_C::  LSL_GvEw ,  NULL },\n\t/* 104 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 105 */ { 0, &BX_CPU_C:: LOADALL ,  NULL },\n\t/* 106 */ { 0, &BX_CPU_C:: CLTS ,  NULL },\n\t/* 107 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 108 */ { 0, &BX_CPU_C:: INVD ,  NULL },\n\t/* 109 */ { 0, &BX_CPU_C:: WBINVD ,  NULL },\n\t/* 10a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 110 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 111 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 112 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 113 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 114 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 115 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 116 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 117 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 118 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 119 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 120 */ { BxAnother, &BX_CPU_C:: MOV_RdCd ,  NULL },\n\t/* 121 */ { BxAnother, &BX_CPU_C:: MOV_RdDd ,  NULL },\n\t/* 122 */ { BxAnother, &BX_CPU_C:: MOV_CdRd ,  NULL },\n\t/* 123 */ { BxAnother, &BX_CPU_C:: MOV_DdRd ,  NULL },\n\t/* 124 */ { BxAnother, &BX_CPU_C:: MOV_RdTd ,  NULL },\n\t/* 125 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 126 */ { BxAnother, &BX_CPU_C:: MOV_TdRd ,  NULL },\n\t/* 127 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 128 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 129 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 130 */ { 0, &BX_CPU_C:: WRMSR ,  NULL },\n\t/* 131 */ { 0, &BX_CPU_C:: RDTSC ,  NULL },\n\t/* 132 */ { 0, &BX_CPU_C:: RDMSR ,  NULL },\n\t/* 133 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 134 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 135 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 136 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 137 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 138 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 139 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 140 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 141 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 142 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 143 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 144 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 145 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 146 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 147 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 148 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 149 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14c */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14d */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14e */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 14f */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEGd,  NULL },\n\t/* 150 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 151 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 152 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 153 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 154 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 155 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 156 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 157 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 158 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 159 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 160 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 161 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 162 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 163 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 164 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 165 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 166 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 167 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 168 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 169 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 170 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 171 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 172 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 173 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 174 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 175 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 176 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 177 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 178 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 179 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 180 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc0_Jd,  NULL },\n\t/* 181 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc1_Jd,  NULL },\n\t/* 182 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc2_Jd,  NULL },\n\t/* 183 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc3_Jd,  NULL },\n\t/* 184 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc4_Jd,  NULL },\n\t/* 185 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc5_Jd,  NULL },\n\t/* 186 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc6_Jd,  NULL },\n\t/* 187 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc7_Jd,  NULL },\n\t/* 188 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc8_Jd,  NULL },\n\t/* 189 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc9_Jd,  NULL },\n\t/* 18a */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcca_Jd,  NULL },\n\t/* 18b */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccb_Jd,  NULL },\n\t/* 18c */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccc_Jd,  NULL },\n\t/* 18d */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccd_Jd,  NULL },\n\t/* 18e */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcce_Jd,  NULL },\n\t/* 18f */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccf_Jd,  NULL },\n\t/* 190 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 191 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 192 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 193 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 194 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 195 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 196 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 197 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 198 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 199 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19a */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19b */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19c */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19d */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19e */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 19f */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EGb,  NULL },\n\t/* 1a0 */ { 0, &BX_CPU_C:: PUSH_FS ,  NULL },\n\t/* 1a1 */ { 0, &BX_CPU_C:: POP_FS ,  NULL },\n\t/* 1a2 */ { 0, &BX_CPU_C:: CPUID ,  NULL },\n\t/* 1a3 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BT_EGdGd ,  NULL },\n\t/* 1a4 */ { BxOS32 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHLD_EGdGd,  NULL },\n\t/* 1a5 */ { BxOS32 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHLD_EGdGdCL,  NULL },\n\t/* 1a6 */ { 0, &BX_CPU_C:: CMPXCHG_XBTS ,  NULL },\n\t/* 1a7 */ { 0, &BX_CPU_C:: CMPXCHG_IBTS ,  NULL },\n\t/* 1a8 */ { 0, &BX_CPU_C:: PUSH_GS ,  NULL },\n\t/* 1a9 */ { 0, &BX_CPU_C:: POP_GS ,  NULL },\n\t/* 1aa */ { 0, &BX_CPU_C:: RSM ,  NULL },\n\t/* 1ab */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTS_EGdGd ,  NULL },\n\t/* 1ac */ { BxOS32 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHRD_EGdGd,  NULL },\n\t/* 1ad */ { BxOS32 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHRD_EGdGdCL,  NULL },\n\t/* 1ae */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1af */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEGd,  NULL },\n\t/* 1b0 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EGbGb,  NULL },\n\t/* 1b1 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EGdGd,  NULL },\n\t/* 1b2 */ { BxAnother, &BX_CPU_C:: LSS_GvMp ,  NULL },\n\t/* 1b3 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTR_EGdGd ,  NULL },\n\t/* 1b4 */ { BxAnother, &BX_CPU_C:: LFS_GvMp ,  NULL },\n\t/* 1b5 */ { BxAnother, &BX_CPU_C:: LGS_GvMp ,  NULL },\n\t/* 1b6 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GdEGb,  NULL },\n\t/* 1b7 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GdEGw,  NULL },\n\t/* 1b8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1b9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ba */ { BxOS32 | BxAnother | BxGroup8 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG8EGdIb  },\n\t/* 1bb */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTC_EGdGd ,  NULL },\n\t/* 1bc */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSF_GdEGd ,  NULL },\n\t/* 1bd */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSR_GdEGd ,  NULL },\n\t/* 1be */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GdEGb,  NULL },\n\t/* 1bf */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GdEGw,  NULL },\n\t/* 1c0 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EGbGb,  NULL },\n\t/* 1c1 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EGdGd,  NULL },\n\t/* 1c2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c7 */ { BxAnother | BxGroup9, &BX_CPU_C:: BxError,  BxOpcodeInfoG9  },\n\t/* 1c8 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1c9 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ca */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cb */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cc */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cd */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ce */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cf */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1d0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1da */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1db */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dc */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dd */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1de */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1df */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ea */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1eb */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ec */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ed */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ee */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ef */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1f0 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f1 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f2 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f3 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f4 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f5 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f6 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f7 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f8 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f9 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fa */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fb */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fc */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fd */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fe */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1ff */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t//---------------------------------------------------------\n\t//---------------------------------------------------------\n\n\n\t///////////////////////////////////////////////////////////\n\n\n\t//---------------------------------------------------------\n\t//---------------------------------------------------------\n\t/* 00 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EEbGb,  NULL },\n\t/* 01 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EEwGw,  NULL },\n\t/* 02 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GbEEb,  NULL },\n\t/* 03 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GwEEw,  NULL },\n\t/* 04 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: ADD_ALIb,  NULL },\n\t/* 05 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: ADD_AXIw,  NULL },\n\t/* 06 */ { 0, &BX_CPU_C:: PUSH_ES ,  NULL },\n\t/* 07 */ { 0, &BX_CPU_C:: POP_ES ,  NULL },\n\t/* 08 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EEbGb,  NULL },\n\t/* 09 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EEwGw,  NULL },\n\t/* 0a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GbEEb,  NULL },\n\t/* 0b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GwEEw,  NULL },\n\t/* 0c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: OR_ALIb,  NULL },\n\t/* 0d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: OR_AXIw,  NULL },\n\t/* 0e */ { 0, &BX_CPU_C:: PUSH_CS ,  NULL },\n\t/* 0f */ { BxAnother, &BX_CPU_C:: BxError ,  NULL },// 2-byte escape\n\t/* 10 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EEbGb,  NULL },\n\t/* 11 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EEwGw,  NULL },\n\t/* 12 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GbEEb,  NULL },\n\t/* 13 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GwEEw,  NULL },\n\t/* 14 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: ADC_ALIb,  NULL },\n\t/* 15 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: ADC_AXIw,  NULL },\n\t/* 16 */ { 0, &BX_CPU_C:: PUSH_SS ,  NULL },\n\t/* 17 */ { 0, &BX_CPU_C:: POP_SS ,  NULL },\n\t/* 18 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EEbGb,  NULL },\n\t/* 19 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EEwGw,  NULL },\n\t/* 1a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GbEEb,  NULL },\n\t/* 1b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GwEEw,  NULL },\n\t/* 1c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: SBB_ALIb,  NULL },\n\t/* 1d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: SBB_AXIw,  NULL },\n\t/* 1e */ { 0, &BX_CPU_C:: PUSH_DS ,  NULL },\n\t/* 1f */ { 0, &BX_CPU_C:: POP_DS ,  NULL },\n\t/* 20 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EEbGb,  NULL },\n\t/* 21 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EEwGw,  NULL },\n\t/* 22 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GbEEb,  NULL },\n\t/* 23 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GwEEw,  NULL },\n\t/* 24 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: AND_ALIb,  NULL },\n\t/* 25 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: AND_AXIw,  NULL },\n\t/* 26 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 27 */ { 0, &BX_CPU_C:: DAA,  NULL },\n\t/* 28 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EEbGb,  NULL },\n\t/* 29 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EEwGw,  NULL },\n\t/* 2a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GbEEb,  NULL },\n\t/* 2b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GwEEw,  NULL },\n\t/* 2c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: SUB_ALIb,  NULL },\n\t/* 2d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: SUB_AXIw,  NULL },\n\t/* 2e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 2f */ { 0, &BX_CPU_C:: DAS,  NULL },\n\t/* 30 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EEbGb,  NULL },\n\t/* 31 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EEwGw,  NULL },\n\t/* 32 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GbEEb,  NULL },\n\t/* 33 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GwEEw,  NULL },\n\t/* 34 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: XOR_ALIb,  NULL },\n\t/* 35 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: XOR_AXIw,  NULL },\n\t/* 36 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 37 */ { 0, &BX_CPU_C:: AAA,  NULL },\n\t/* 38 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EEbGb,  NULL },\n\t/* 39 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EEwGw,  NULL },\n\t/* 3a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GbEEb,  NULL },\n\t/* 3b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GwEEw,  NULL },\n\t/* 3c */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: CMP_ALIb,  NULL },\n\t/* 3d */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: CMP_AXIw,  NULL },\n\t/* 3e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 3f */ { 0, &BX_CPU_C:: AAS,  NULL },\n\t/* 40 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 41 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 42 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 43 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 44 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 45 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 46 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 47 */ { BxOS16 | 0, &BX_CPU_C:: INC_RX,  NULL },\n\t/* 48 */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 49 */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4a */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4b */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4c */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4d */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4e */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 4f */ { BxOS16 | 0, &BX_CPU_C:: DEC_RX,  NULL },\n\t/* 50 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 51 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 52 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 53 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 54 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 55 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 56 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 57 */ { BxOS16 | 0, &BX_CPU_C:: PUSH_RX ,  NULL },\n\t/* 58 */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 59 */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5a */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5b */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5c */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5d */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5e */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 5f */ { BxOS16 | 0, &BX_CPU_C:: POP_RX ,  NULL },\n\t/* 60 */ { BxOS16 | 0, &BX_CPU_C:: PUSHAD16 ,  NULL },\n\t/* 61 */ { BxOS16 | 0, &BX_CPU_C:: POPAD16  ,  NULL },\n\t/* 62 */ { BxAnother, &BX_CPU_C:: BOUND_GvMa ,  NULL },\n\t/* 63 */ { BxAnother, &BX_CPU_C:: ARPL_EwGw ,  NULL },\n\t/* 64 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 65 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 66 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 67 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 68 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: PUSH_Iw ,  NULL },\n\t/* 69 */ { BxOS16 | BxAnother | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEEwIw ,  NULL },\n\t/* 6a */ { BxOS16 | BxImmediate_Ib_SE, &BX_CPU_C:: PUSH_Iw ,  NULL },\n\t/* 6b */ { BxOS16 | BxAnother | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEEwIw ,  NULL },\n\t/* 6c */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSB  },\n\t/* 6d */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSW  },\n\t/* 6e */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSB  },\n\t/* 6f */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSW  },\n\t/* 70 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc0_Jw,  NULL },\n\t/* 71 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc1_Jw,  NULL },\n\t/* 72 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc2_Jw,  NULL },\n\t/* 73 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc3_Jw,  NULL },\n\t/* 74 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc4_Jw,  NULL },\n\t/* 75 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc5_Jw,  NULL },\n\t/* 76 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc6_Jw,  NULL },\n\t/* 77 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc7_Jw,  NULL },\n\t/* 78 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc8_Jw,  NULL },\n\t/* 79 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc9_Jw,  NULL },\n\t/* 7a */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcca_Jw,  NULL },\n\t/* 7b */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccb_Jw,  NULL },\n\t/* 7c */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccc_Jw,  NULL },\n\t/* 7d */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccd_Jw,  NULL },\n\t/* 7e */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcce_Jw,  NULL },\n\t/* 7f */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccf_Jw,  NULL },\n\t/* 80 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEbIb  },\n\t/* 81 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEwIw  },\n\t/* 82 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEbIb  },\n\t/* 83 */ { BxOS16 | BxAnother | BxGroup1 | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEwIsb  },\n\t/* 84 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EEbGb,  NULL },\n\t/* 85 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EEwGw,  NULL },\n\t/* 86 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EEbGb,  NULL },\n\t/* 87 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EEwGw,  NULL },\n\t/* 88 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EEbGb,  NULL },\n\t/* 89 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EEwGw,  NULL },\n\t/* 8a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GbEEb,  NULL },\n\t/* 8b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GwEEw,  NULL },\n\t/* 8c */ { BxAnother, &BX_CPU_C:: MOV_EwSw ,  NULL },\n\t/* 8d */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: LEA_GwM ,  NULL },\n\t/* 8e */ { BxAnother, &BX_CPU_C:: MOV_SwEw ,  NULL },\n\t/* 8f */ { BxOS16 | BxAnother | BxGroupN | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0x8fEEw  },\n\t/* 90 */ { BxOS16 | 0, &BX_CPU_C:: NOP,  NULL },\n\t/* 91 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 92 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 93 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 94 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 95 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 96 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 97 */ { BxOS16 | 0, &BX_CPU_C:: XCHG_RXAX,  NULL },\n\t/* 98 */ { BxOS16 | 0, &BX_CPU_C:: CBW,  NULL },\n\t/* 99 */ { BxOS16 | 0, &BX_CPU_C:: CWD,  NULL },\n\t/* 9a */ { BxOS16 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::\tCALL16_Ap,  NULL },\n\t/* 9b */ { 0, &BX_CPU_C:: FWAIT ,  NULL },\n\t/* 9c */ { 0, &BX_CPU_C:: PUSHF ,  NULL },\n\t/* 9d */ { 0, &BX_CPU_C:: POPF ,  NULL },\n\t/* 9e */ { 0, &BX_CPU_C:: SAHF,  NULL },\n\t/* 9f */ { 0, &BX_CPU_C:: LAHF,  NULL },\n\t/* a0 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_ALOb,  NULL },\n\t/* a1 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_AXOw,  NULL },\n\t/* a2 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_ObAL,  NULL },\n\t/* a3 */ { BxOS16 | BxImmediate_O, &BX_CPU_C:: MOV_OwAX,  NULL },\n\t/* a4 */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSB },\n\t/* a5 */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSW },\n\t/* a6 */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSB  },\n\t/* a7 */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSW  },\n\t/* a8 */ { BxOS16 | BxImmediate_Ib, &BX_CPU_C:: TEST_ALIb,  NULL },\n\t/* a9 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: TEST_AXIw,  NULL },\n\t/* aa */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSB },\n\t/* ab */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSW },\n\t/* ac */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSB },\n\t/* ad */ { BxOS16 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSW },\n\t/* ae */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASB },\n\t/* af */ { BxOS16 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASW },\n\t/* b0 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b1 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b2 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b3 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b4 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b5 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b6 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b7 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b8 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* b9 */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* ba */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bb */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bc */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bd */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* be */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* bf */ { BxOS16 | BxImmediate_Iv, &BX_CPU_C:: MOV_RXIw,  NULL },\n\t/* c0 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEbIb  },\n\t/* c1 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEwIb  },\n\t/* c2 */ { BxOS16 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C::\tRETnear16_Iw,  NULL },\n\t/* c3 */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t\tRETnear16,  NULL },\n\t/* c4 */ { BxAnother, &BX_CPU_C:: LES_GvMp ,  NULL },\n\t/* c5 */ { BxAnother, &BX_CPU_C:: LDS_GvMp ,  NULL },\n\t/* c6 */ { BxOS16 | BxAnother | BxGroupN | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc6EEbIb  },\n\t/* c7 */ { BxOS16 | BxAnother | BxGroupN | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc7EEwIw  },\n\t/* c8 */ { BxImmediate_IwIb, &BX_CPU_C::\tENTER_IwIb ,  NULL },\n\t/* c9 */ { 0, &BX_CPU_C::\t\t\t\t\tLEAVE ,  NULL },\n\t/* ca */ { BxOS16 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C:: RETfar16_Iw,  NULL },\n\t/* cb */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t RETfar16,  NULL },\n\t/* cc */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INT3,  NULL },\n\t/* cd */ { BxBranch_absolute | BxImmediate_Ib, &BX_CPU_C:: INT_Ib,  NULL },\n\t/* ce */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INTO,  NULL },\n\t/* cf */ { BxOS16 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t IRET16,  NULL },\n\t/* d0 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEb_1  },\n\t/* d1 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEw_1  },\n\t/* d2 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEbCL  },\n\t/* d3 */ { BxOS16 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEwCL  },\n\t/* d4 */ { BxImmediate_Ib, &BX_CPU_C:: AAM,  NULL },\n\t/* d5 */ { BxImmediate_Ib, &BX_CPU_C:: AAD,  NULL },\n\t/* d6 */ { 0, &BX_CPU_C:: SALC,  NULL },\n\t/* d7 */ { 0, &BX_CPU_C:: XLAT,  NULL },\n\t/* d8 */ { BxAnother, &BX_CPU_C:: ESC0 ,  NULL },\n\t/* d9 */ { BxAnother, &BX_CPU_C:: ESC1 ,  NULL },\n\t/* da */ { BxAnother, &BX_CPU_C:: ESC2 ,  NULL },\n\t/* db */ { BxAnother, &BX_CPU_C:: ESC3 ,  NULL },\n\t/* dc */ { BxAnother, &BX_CPU_C:: ESC4 ,  NULL },\n\t/* dd */ { BxAnother, &BX_CPU_C:: ESC5 ,  NULL },\n\t/* de */ { BxAnother, &BX_CPU_C:: ESC6 ,  NULL },\n\t/* df */ { BxAnother, &BX_CPU_C:: ESC7 ,  NULL },\n\t/* e0 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPNE_Jw,  NULL },\n\t/* e1 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPE_Jw,  NULL },\n\t/* e2 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOP_Jw,  NULL },\n\t/* e3 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JCXZ_Jw,  NULL },\n\t/* e4 */ { BxImmediate_Ib, &BX_CPU_C:: IN_ALIb ,  NULL },\n\t/* e5 */ { BxImmediate_Ib, &BX_CPU_C:: IN_eAXIb ,  NULL },\n\t/* e6 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbAL ,  NULL },\n\t/* e7 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbeAX ,  NULL },\n\t/* e8 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C:: CALL_Jw,  NULL },\n\t/* e9 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C:: JMP_Jw,  NULL },\n\t/* ea */ { BxOS16 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::   JMP16_Ap,  NULL },\n\t/* eb */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JMP_Jw,  NULL },\n\t/* ec */ { 0, &BX_CPU_C:: IN_ALDX ,  NULL },\n\t/* ed */ { 0, &BX_CPU_C:: IN_eAXDX ,  NULL },\n\t/* ee */ { 0, &BX_CPU_C:: OUT_DXAL ,  NULL },\n\t/* ef */ { 0, &BX_CPU_C:: OUT_DXeAX ,  NULL },\n\t/* f0 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f1 */ { BxBranch_absolute, &BX_CPU_C:: INT1,  NULL },\n\t/* f2 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f3 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f4 */ { 0, &BX_CPU_C:: HLT ,  NULL },\n\t/* f5 */ { 0, &BX_CPU_C:: CMC,  NULL },\n\t/* f6 */ { BxOS16 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EEb  },\n\t/* f7 */ { BxOS16 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EEw  },\n\t/* f8 */ { 0, &BX_CPU_C:: CLC,  NULL },\n\t/* f9 */ { 0, &BX_CPU_C:: STC,  NULL },\n\t/* fa */ { 0, &BX_CPU_C:: CLI ,  NULL },\n\t/* fb */ { 0, &BX_CPU_C:: STI ,  NULL },\n\t/* fc */ { 0, &BX_CPU_C:: CLD ,  NULL },\n\t/* fd */ { 0, &BX_CPU_C:: STD ,  NULL },\n\t/* fe */ { BxOS16 | BxAnother | BxGroup4 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG4EEb   },\n\t/* ff */ { BxOS16 | BxAnother | BxGroup5 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG5EEw  },\n\t//---------------------------------------------------------\n\t/* 100 */ { BxAnother | BxGroup6, &BX_CPU_C:: BxError,  BxOpcodeInfoG6  },\n\t/* 101 */ { BxAnother | BxGroup7, &BX_CPU_C:: BxError,  BxOpcodeInfoG7  },\n\t/* 102 */ { BxAnother, &BX_CPU_C::  LAR_GvEw ,  NULL },\n\t/* 103 */ { BxAnother, &BX_CPU_C::  LSL_GvEw ,  NULL },\n\t/* 104 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 105 */ { 0, &BX_CPU_C:: LOADALL ,  NULL },\n\t/* 106 */ { 0, &BX_CPU_C:: CLTS ,  NULL },\n\t/* 107 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 108 */ { 0, &BX_CPU_C:: INVD ,  NULL },\n\t/* 109 */ { 0, &BX_CPU_C:: WBINVD ,  NULL },\n\t/* 10a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 110 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 111 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 112 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 113 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 114 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 115 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 116 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 117 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 118 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 119 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 120 */ { BxAnother, &BX_CPU_C:: MOV_RdCd ,  NULL },\n\t/* 121 */ { BxAnother, &BX_CPU_C:: MOV_RdDd ,  NULL },\n\t/* 122 */ { BxAnother, &BX_CPU_C:: MOV_CdRd ,  NULL },\n\t/* 123 */ { BxAnother, &BX_CPU_C:: MOV_DdRd ,  NULL },\n\t/* 124 */ { BxAnother, &BX_CPU_C:: MOV_RdTd ,  NULL },\n\t/* 125 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 126 */ { BxAnother, &BX_CPU_C:: MOV_TdRd ,  NULL },\n\t/* 127 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 128 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 129 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 130 */ { 0, &BX_CPU_C:: WRMSR ,  NULL },\n\t/* 131 */ { 0, &BX_CPU_C:: RDTSC ,  NULL },\n\t/* 132 */ { 0, &BX_CPU_C:: RDMSR ,  NULL },\n\t/* 133 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 134 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 135 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 136 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 137 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 138 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 139 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 140 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 141 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 142 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 143 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 144 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 145 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 146 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 147 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 148 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 149 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14a */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14b */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14c */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14d */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14e */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 14f */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GwEEw,  NULL },\n\t/* 150 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 151 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 152 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 153 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 154 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 155 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 156 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 157 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 158 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 159 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 160 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 161 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 162 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 163 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 164 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 165 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 166 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 167 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 168 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 169 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 170 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 171 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 172 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 173 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 174 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 175 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 176 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 177 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 178 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 179 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 180 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc0_Jw,  NULL },\n\t/* 181 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc1_Jw,  NULL },\n\t/* 182 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc2_Jw,  NULL },\n\t/* 183 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc3_Jw,  NULL },\n\t/* 184 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc4_Jw,  NULL },\n\t/* 185 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc5_Jw,  NULL },\n\t/* 186 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc6_Jw,  NULL },\n\t/* 187 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc7_Jw,  NULL },\n\t/* 188 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc8_Jw,  NULL },\n\t/* 189 */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcc9_Jw,  NULL },\n\t/* 18a */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcca_Jw,  NULL },\n\t/* 18b */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccb_Jw,  NULL },\n\t/* 18c */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccc_Jw,  NULL },\n\t/* 18d */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccd_Jw,  NULL },\n\t/* 18e */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jcce_Jw,  NULL },\n\t/* 18f */ { BxOS16 | BxBranch_relative | BxImmediate_BrOff16, &BX_CPU_C::  Jccf_Jw,  NULL },\n\t/* 190 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 191 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 192 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 193 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 194 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 195 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 196 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 197 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 198 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 199 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19a */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19b */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19c */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19d */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19e */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19f */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 1a0 */ { 0, &BX_CPU_C:: PUSH_FS ,  NULL },\n\t/* 1a1 */ { 0, &BX_CPU_C:: POP_FS ,  NULL },\n\t/* 1a2 */ { 0, &BX_CPU_C:: CPUID ,  NULL },\n\t/* 1a3 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BT_EEwGw ,  NULL },\n\t/* 1a4 */ { BxOS16 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHLD_EEwGw,  NULL },\n\t/* 1a5 */ { BxOS16 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHLD_EEwGwCL,  NULL },\n\t/* 1a6 */ { 0, &BX_CPU_C:: CMPXCHG_XBTS ,  NULL },\n\t/* 1a7 */ { 0, &BX_CPU_C:: CMPXCHG_IBTS ,  NULL },\n\t/* 1a8 */ { 0, &BX_CPU_C:: PUSH_GS ,  NULL },\n\t/* 1a9 */ { 0, &BX_CPU_C:: POP_GS ,  NULL },\n\t/* 1aa */ { 0, &BX_CPU_C:: RSM ,  NULL },\n\t/* 1ab */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTS_EEwGw ,  NULL },\n\t/* 1ac */ { BxOS16 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHRD_EEwGw,  NULL },\n\t/* 1ad */ { BxOS16 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHRD_EEwGwCL,  NULL },\n\t/* 1ae */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1af */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: IMUL_GwEEw,  NULL },\n\t/* 1b0 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EEbGb,  NULL },\n\t/* 1b1 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EEwGw,  NULL },\n\t/* 1b2 */ { BxAnother, &BX_CPU_C:: LSS_GvMp ,  NULL },\n\t/* 1b3 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTR_EEwGw ,  NULL },\n\t/* 1b4 */ { BxAnother, &BX_CPU_C:: LFS_GvMp ,  NULL },\n\t/* 1b5 */ { BxAnother, &BX_CPU_C:: LGS_GvMp ,  NULL },\n\t/* 1b6 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GwEEb,  NULL },\n\t/* 1b7 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GwEEw,  NULL },\n\t/* 1b8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1b9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ba */ { BxOS16 | BxAnother | BxGroup8 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG8EEwIb  },\n\t/* 1bb */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTC_EEwGw ,  NULL },\n\t/* 1bc */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSF_GwEEw ,  NULL },\n\t/* 1bd */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSR_GwEEw ,  NULL },\n\t/* 1be */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GwEEb,  NULL },\n\t/* 1bf */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GwEEw,  NULL },\n\t/* 1c0 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EEbGb,  NULL },\n\t/* 1c1 */ { BxOS16 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EEwGw,  NULL },\n\t/* 1c2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c7 */ { BxAnother | BxGroup9, &BX_CPU_C:: BxError,  BxOpcodeInfoG9  },\n\t/* 1c8 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1c9 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ca */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cb */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cc */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cd */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ce */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cf */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1d0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1da */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1db */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dc */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dd */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1de */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1df */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ea */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1eb */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ec */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ed */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ee */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ef */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1f0 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f1 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f2 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f3 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f4 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f5 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f6 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f7 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f8 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f9 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fa */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fb */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fc */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fd */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fe */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1ff */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t//---------------------------------------------------------\n\t//---------------------------------------------------------\n\t/* 00 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EEbGb,  NULL },\n\t/* 01 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_EEdGd,  NULL },\n\t/* 02 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GbEEb,  NULL },\n\t/* 03 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADD_GdEEd,  NULL },\n\t/* 04 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: ADD_ALIb,  NULL },\n\t/* 05 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: ADD_EAXId,  NULL },\n\t/* 06 */ { 0, &BX_CPU_C:: PUSH_ES ,  NULL },\n\t/* 07 */ { 0, &BX_CPU_C:: POP_ES ,  NULL },\n\t/* 08 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EEbGb,  NULL },\n\t/* 09 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_EEdGd,  NULL },\n\t/* 0a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GbEEb,  NULL },\n\t/* 0b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: OR_GdEEd,  NULL },\n\t/* 0c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: OR_ALIb,  NULL },\n\t/* 0d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: OR_EAXId,  NULL },\n\t/* 0e */ { 0, &BX_CPU_C:: PUSH_CS ,  NULL },\n\t/* 0f */ { BxAnother, &BX_CPU_C:: BxError ,  NULL },// 2-byte escape\n\t/* 10 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EEbGb,  NULL },\n\t/* 11 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_EEdGd,  NULL },\n\t/* 12 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GbEEb,  NULL },\n\t/* 13 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: ADC_GdEEd,  NULL },\n\t/* 14 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: ADC_ALIb,  NULL },\n\t/* 15 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: ADC_EAXId,  NULL },\n\t/* 16 */ { 0, &BX_CPU_C:: PUSH_SS ,  NULL },\n\t/* 17 */ { 0, &BX_CPU_C:: POP_SS ,  NULL },\n\t/* 18 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EEbGb,  NULL },\n\t/* 19 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_EEdGd,  NULL },\n\t/* 1a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GbEEb,  NULL },\n\t/* 1b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SBB_GdEEd,  NULL },\n\t/* 1c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: SBB_ALIb,  NULL },\n\t/* 1d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: SBB_EAXId,  NULL },\n\t/* 1e */ { 0, &BX_CPU_C:: PUSH_DS ,  NULL },\n\t/* 1f */ { 0, &BX_CPU_C:: POP_DS ,  NULL },\n\t/* 20 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EEbGb,  NULL },\n\t/* 21 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_EEdGd,  NULL },\n\t/* 22 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GbEEb,  NULL },\n\t/* 23 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: AND_GdEEd,  NULL },\n\t/* 24 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: AND_ALIb,  NULL },\n\t/* 25 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: AND_EAXId,  NULL },\n\t/* 26 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 27 */ { 0, &BX_CPU_C:: DAA,  NULL },\n\t/* 28 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EEbGb,  NULL },\n\t/* 29 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_EEdGd,  NULL },\n\t/* 2a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GbEEb,  NULL },\n\t/* 2b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: SUB_GdEEd,  NULL },\n\t/* 2c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: SUB_ALIb,  NULL },\n\t/* 2d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: SUB_EAXId,  NULL },\n\t/* 2e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 2f */ { 0, &BX_CPU_C:: DAS,  NULL },\n\t/* 30 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EEbGb,  NULL },\n\t/* 31 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_EEdGd,  NULL },\n\t/* 32 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GbEEb,  NULL },\n\t/* 33 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XOR_GdEEd,  NULL },\n\t/* 34 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: XOR_ALIb,  NULL },\n\t/* 35 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: XOR_EAXId,  NULL },\n\t/* 36 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 37 */ { 0, &BX_CPU_C:: AAA,  NULL },\n\t/* 38 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EEbGb,  NULL },\n\t/* 39 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_EEdGd,  NULL },\n\t/* 3a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GbEEb,  NULL },\n\t/* 3b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMP_GdEEd,  NULL },\n\t/* 3c */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: CMP_ALIb,  NULL },\n\t/* 3d */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: CMP_EAXId,  NULL },\n\t/* 3e */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 3f */ { 0, &BX_CPU_C:: AAS,  NULL },\n\t/* 40 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 41 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 42 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 43 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 44 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 45 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 46 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 47 */ { BxOS32 | 0, &BX_CPU_C:: INC_ERX,  NULL },\n\t/* 48 */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 49 */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4a */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4b */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4c */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4d */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4e */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 4f */ { BxOS32 | 0, &BX_CPU_C:: DEC_ERX,  NULL },\n\t/* 50 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 51 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 52 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 53 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 54 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 55 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 56 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 57 */ { BxOS32 | 0, &BX_CPU_C:: PUSH_ERX ,  NULL },\n\t/* 58 */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 59 */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5a */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5b */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5c */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5d */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5e */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 5f */ { BxOS32 | 0, &BX_CPU_C:: POP_ERX ,  NULL },\n\t/* 60 */ { BxOS32 | 0, &BX_CPU_C:: PUSHAD32 ,  NULL },\n\t/* 61 */ { BxOS32 | 0, &BX_CPU_C:: POPAD32  ,  NULL },\n\t/* 62 */ { BxAnother, &BX_CPU_C:: BOUND_GvMa ,  NULL },\n\t/* 63 */ { BxAnother, &BX_CPU_C:: ARPL_EwGw ,  NULL },\n\t/* 64 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 65 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 66 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 67 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* 68 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: PUSH_Id ,  NULL },\n\t/* 69 */ { BxOS32 | BxAnother | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEEdId ,  NULL },\n\t/* 6a */ { BxOS32 | BxImmediate_Ib_SE, &BX_CPU_C:: PUSH_Id ,  NULL },\n\t/* 6b */ { BxOS32 | BxAnother | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEEdId ,  NULL },\n\t/* 6c */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSB  },\n\t/* 6d */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_INSD  },\n\t/* 6e */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSB  },\n\t/* 6f */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_OUTSD  },\n\t/* 70 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc0_Jd,  NULL },\n\t/* 71 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc1_Jd,  NULL },\n\t/* 72 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc2_Jd,  NULL },\n\t/* 73 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc3_Jd,  NULL },\n\t/* 74 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc4_Jd,  NULL },\n\t/* 75 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc5_Jd,  NULL },\n\t/* 76 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc6_Jd,  NULL },\n\t/* 77 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc7_Jd,  NULL },\n\t/* 78 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc8_Jd,  NULL },\n\t/* 79 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcc9_Jd,  NULL },\n\t/* 7a */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcca_Jd,  NULL },\n\t/* 7b */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccb_Jd,  NULL },\n\t/* 7c */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccc_Jd,  NULL },\n\t/* 7d */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccd_Jd,  NULL },\n\t/* 7e */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jcce_Jd,  NULL },\n\t/* 7f */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: Jccf_Jd,  NULL },\n\t/* 80 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEbIb  },\n\t/* 81 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEdId  },\n\t/* 82 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEbIb  },\n\t/* 83 */ { BxOS32 | BxAnother | BxGroup1 | BxImmediate_Ib_SE | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG1EEdIsb  },\n\t/* 84 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EEbGb,  NULL },\n\t/* 85 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: TEST_EEdGd,  NULL },\n\t/* 86 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EEbGb,  NULL },\n\t/* 87 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XCHG_EEdGd,  NULL },\n\t/* 88 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EEbGb,  NULL },\n\t/* 89 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_EEdGd,  NULL },\n\t/* 8a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GbEEb,  NULL },\n\t/* 8b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOV_GdEEd,  NULL },\n\t/* 8c */ { BxAnother, &BX_CPU_C:: MOV_EwSw ,  NULL },\n\t/* 8d */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: LEA_GdM ,  NULL },\n\t/* 8e */ { BxAnother, &BX_CPU_C:: MOV_SwEw ,  NULL },\n\t/* 8f */ { BxOS32 | BxAnother | BxGroupN | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0x8fEEd  },\n\t/* 90 */ { BxOS32 | 0, &BX_CPU_C:: NOP,  NULL },\n\t/* 91 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 92 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 93 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 94 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 95 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 96 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 97 */ { BxOS32 | 0, &BX_CPU_C:: XCHG_ERXEAX,  NULL },\n\t/* 98 */ { BxOS32 | 0, &BX_CPU_C:: CWDE,  NULL },\n\t/* 99 */ { BxOS32 | 0, &BX_CPU_C:: CDQ,  NULL },\n\t/* 9a */ { BxOS32 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::\tCALL32_Ap,  NULL },\n\t/* 9b */ { 0, &BX_CPU_C:: FWAIT ,  NULL },\n\t/* 9c */ { 0, &BX_CPU_C:: PUSHF ,  NULL },\n\t/* 9d */ { 0, &BX_CPU_C:: POPF ,  NULL },\n\t/* 9e */ { 0, &BX_CPU_C:: SAHF,  NULL },\n\t/* 9f */ { 0, &BX_CPU_C:: LAHF,  NULL },\n\t/* a0 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_ALOb,  NULL },\n\t/* a1 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_EAXOd,  NULL },\n\t/* a2 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_ObAL,  NULL },\n\t/* a3 */ { BxOS32 | BxImmediate_O, &BX_CPU_C:: MOV_OdEAX,  NULL },\n\t/* a4 */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSB },\n\t/* a5 */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError, \tBxOpcodeInfoG_MOVSD },\n\t/* a6 */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSB  },\n\t/* a7 */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_CMPSD  },\n\t/* a8 */ { BxOS32 | BxImmediate_Ib, &BX_CPU_C:: TEST_ALIb,  NULL },\n\t/* a9 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: TEST_EAXId,  NULL },\n\t/* aa */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSB },\n\t/* ab */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_STOSD },\n\t/* ac */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSB },\n\t/* ad */ { BxOS32 | BxRepeatable, &BX_CPU_C:: BxError,  BxOpcodeInfoG_LODSD },\n\t/* ae */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASB },\n\t/* af */ { BxOS32 | BxRepeatable | BxRepeatableZF, &BX_CPU_C:: BxError,  BxOpcodeInfoG_SCASD },\n\t/* b0 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b1 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b2 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b3 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RLIb,  NULL },\n\t/* b4 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b5 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b6 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b7 */ { BxImmediate_Ib, &BX_CPU_C:: MOV_RHIb,  NULL },\n\t/* b8 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* b9 */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* ba */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bb */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bc */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bd */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* be */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* bf */ { BxOS32 | BxImmediate_Iv, &BX_CPU_C:: MOV_ERXId,  NULL },\n\t/* c0 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEbIb  },\n\t/* c1 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEdIb  },\n\t/* c2 */ { BxOS32 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C::\tRETnear32_Iw,  NULL },\n\t/* c3 */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t\tRETnear32,  NULL },\n\t/* c4 */ { BxAnother, &BX_CPU_C:: LES_GvMp ,  NULL },\n\t/* c5 */ { BxAnother, &BX_CPU_C:: LDS_GvMp ,  NULL },\n\t/* c6 */ { BxOS32 | BxAnother | BxGroupN | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc6EEbIb  },\n\t/* c7 */ { BxOS32 | BxAnother | BxGroupN | BxImmediate_Iv | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG0xc7EEdId  },\n\t/* c8 */ { BxImmediate_IwIb, &BX_CPU_C::\tENTER_IwIb ,  NULL },\n\t/* c9 */ { 0, &BX_CPU_C::\t\t\t\t\tLEAVE ,  NULL },\n\t/* ca */ { BxOS32 | BxBranch_absolute | BxImmediate_Iw, &BX_CPU_C:: RETfar32_Iw,  NULL },\n\t/* cb */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t RETfar32,  NULL },\n\t/* cc */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INT3,  NULL },\n\t/* cd */ { BxBranch_absolute | BxImmediate_Ib, &BX_CPU_C:: INT_Ib,  NULL },\n\t/* ce */ { BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t INTO,  NULL },\n\t/* cf */ { BxOS32 | BxBranch_absolute, &BX_CPU_C::\t\t\t\t\t IRET32,  NULL },\n\t/* d0 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEb_1  },\n\t/* d1 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_1 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEd_1  },\n\t/* d2 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEbCL  },\n\t/* d3 */ { BxOS32 | BxAnother | BxGroup2 | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG2EEdCL  },\n\t/* d4 */ { BxImmediate_Ib, &BX_CPU_C:: AAM,  NULL },\n\t/* d5 */ { BxImmediate_Ib, &BX_CPU_C:: AAD,  NULL },\n\t/* d6 */ { 0, &BX_CPU_C:: SALC,  NULL },\n\t/* d7 */ { 0, &BX_CPU_C:: XLAT,  NULL },\n\t/* d8 */ { BxAnother, &BX_CPU_C:: ESC0 ,  NULL },\n\t/* d9 */ { BxAnother, &BX_CPU_C:: ESC1 ,  NULL },\n\t/* da */ { BxAnother, &BX_CPU_C:: ESC2 ,  NULL },\n\t/* db */ { BxAnother, &BX_CPU_C:: ESC3 ,  NULL },\n\t/* dc */ { BxAnother, &BX_CPU_C:: ESC4 ,  NULL },\n\t/* dd */ { BxAnother, &BX_CPU_C:: ESC5 ,  NULL },\n\t/* de */ { BxAnother, &BX_CPU_C:: ESC6 ,  NULL },\n\t/* df */ { BxAnother, &BX_CPU_C:: ESC7 ,  NULL },\n\t/* e0 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPNE_Jd,  NULL },\n\t/* e1 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOPE_Jd,  NULL },\n\t/* e2 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: LOOP_Jd,  NULL },\n\t/* e3 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JCXZ_Jd,  NULL },\n\t/* e4 */ { BxImmediate_Ib, &BX_CPU_C:: IN_ALIb ,  NULL },\n\t/* e5 */ { BxImmediate_Ib, &BX_CPU_C:: IN_eAXIb ,  NULL },\n\t/* e6 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbAL ,  NULL },\n\t/* e7 */ { BxImmediate_Ib, &BX_CPU_C:: OUT_IbeAX ,  NULL },\n\t/* e8 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C:: CALL_Jd,  NULL },\n\t/* e9 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C:: JMP_Jd,  NULL },\n\t/* ea */ { BxOS32 | BxBranch_absolute | BxImmediate_IvIw, &BX_CPU_C::   JMP32_Ap,  NULL },\n\t/* eb */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff8, &BX_CPU_C:: JMP_Jd,  NULL },\n\t/* ec */ { 0, &BX_CPU_C:: IN_ALDX ,  NULL },\n\t/* ed */ { 0, &BX_CPU_C:: IN_eAXDX ,  NULL },\n\t/* ee */ { 0, &BX_CPU_C:: OUT_DXAL ,  NULL },\n\t/* ef */ { 0, &BX_CPU_C:: OUT_DXeAX ,  NULL },\n\t/* f0 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f1 */ { BxBranch_absolute, &BX_CPU_C:: INT1,  NULL },\n\t/* f2 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f3 */ { BxPrefix | BxAnother, &BX_CPU_C:: BxError ,  NULL },\n\t/* f4 */ { 0, &BX_CPU_C:: HLT ,  NULL },\n\t/* f5 */ { 0, &BX_CPU_C:: CMC,  NULL },\n\t/* f6 */ { BxOS32 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EEb  },\n\t/* f7 */ { BxOS32 | BxAnother | BxGroup3 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG3EEd  },\n\t/* f8 */ { 0, &BX_CPU_C:: CLC,  NULL },\n\t/* f9 */ { 0, &BX_CPU_C:: STC,  NULL },\n\t/* fa */ { 0, &BX_CPU_C:: CLI ,  NULL },\n\t/* fb */ { 0, &BX_CPU_C:: STI ,  NULL },\n\t/* fc */ { 0, &BX_CPU_C:: CLD ,  NULL },\n\t/* fd */ { 0, &BX_CPU_C:: STD ,  NULL },\n\t/* fe */ { BxOS32 | BxAnother | BxGroup4 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG4EEb   },\n\t/* ff */ { BxOS32 | BxAnother | BxGroup5 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG5EEd  },\n\t//---------------------------------------------------------\n\t/* 100 */ { BxAnother | BxGroup6, &BX_CPU_C:: BxError,  BxOpcodeInfoG6  },\n\t/* 101 */ { BxAnother | BxGroup7, &BX_CPU_C:: BxError,  BxOpcodeInfoG7  },\n\t/* 102 */ { BxAnother, &BX_CPU_C::  LAR_GvEw ,  NULL },\n\t/* 103 */ { BxAnother, &BX_CPU_C::  LSL_GvEw ,  NULL },\n\t/* 104 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 105 */ { 0, &BX_CPU_C:: LOADALL ,  NULL },\n\t/* 106 */ { 0, &BX_CPU_C:: CLTS ,  NULL },\n\t/* 107 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 108 */ { 0, &BX_CPU_C:: INVD ,  NULL },\n\t/* 109 */ { 0, &BX_CPU_C:: WBINVD ,  NULL },\n\t/* 10a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 10f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 110 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 111 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 112 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 113 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 114 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 115 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 116 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 117 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 118 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 119 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 11f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 120 */ { BxAnother, &BX_CPU_C:: MOV_RdCd ,  NULL },\n\t/* 121 */ { BxAnother, &BX_CPU_C:: MOV_RdDd ,  NULL },\n\t/* 122 */ { BxAnother, &BX_CPU_C:: MOV_CdRd ,  NULL },\n\t/* 123 */ { BxAnother, &BX_CPU_C:: MOV_DdRd ,  NULL },\n\t/* 124 */ { BxAnother, &BX_CPU_C:: MOV_RdTd ,  NULL },\n\t/* 125 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 126 */ { BxAnother, &BX_CPU_C:: MOV_TdRd ,  NULL },\n\t/* 127 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 128 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 129 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 12f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 130 */ { 0, &BX_CPU_C:: WRMSR ,  NULL },\n\t/* 131 */ { 0, &BX_CPU_C:: RDTSC ,  NULL },\n\t/* 132 */ { 0, &BX_CPU_C:: RDMSR ,  NULL },\n\t/* 133 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 134 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 135 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 136 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 137 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 138 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 139 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 13f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 140 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 141 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 142 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 143 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 144 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 145 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 146 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 147 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 148 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 149 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14a */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14b */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14c */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14d */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14e */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 14f */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMOV_GdEEd,  NULL },\n\t/* 150 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 151 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 152 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 153 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 154 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 155 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 156 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 157 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 158 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 159 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 15f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 160 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 161 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 162 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 163 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 164 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 165 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 166 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 167 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 168 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 169 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 16f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 170 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 171 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 172 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 173 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 174 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 175 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 176 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 177 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 178 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 179 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17a */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17b */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17c */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17d */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17e */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 17f */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 180 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc0_Jd,  NULL },\n\t/* 181 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc1_Jd,  NULL },\n\t/* 182 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc2_Jd,  NULL },\n\t/* 183 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc3_Jd,  NULL },\n\t/* 184 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc4_Jd,  NULL },\n\t/* 185 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc5_Jd,  NULL },\n\t/* 186 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc6_Jd,  NULL },\n\t/* 187 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc7_Jd,  NULL },\n\t/* 188 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc8_Jd,  NULL },\n\t/* 189 */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcc9_Jd,  NULL },\n\t/* 18a */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcca_Jd,  NULL },\n\t/* 18b */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccb_Jd,  NULL },\n\t/* 18c */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccc_Jd,  NULL },\n\t/* 18d */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccd_Jd,  NULL },\n\t/* 18e */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jcce_Jd,  NULL },\n\t/* 18f */ { BxOS32 | BxBranch_relative | BxImmediate_BrOff32, &BX_CPU_C::  Jccf_Jd,  NULL },\n\t/* 190 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 191 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 192 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 193 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 194 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 195 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 196 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 197 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 198 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 199 */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19a */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19b */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19c */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19d */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19e */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 19f */ { BxAnother | BxSplitMod11b, &BX_CPU_C:: SETcc_EEb,  NULL },\n\t/* 1a0 */ { 0, &BX_CPU_C:: PUSH_FS ,  NULL },\n\t/* 1a1 */ { 0, &BX_CPU_C:: POP_FS ,  NULL },\n\t/* 1a2 */ { 0, &BX_CPU_C:: CPUID ,  NULL },\n\t/* 1a3 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BT_EEdGd ,  NULL },\n\t/* 1a4 */ { BxOS32 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHLD_EEdGd,  NULL },\n\t/* 1a5 */ { BxOS32 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHLD_EEdGdCL,  NULL },\n\t/* 1a6 */ { 0, &BX_CPU_C:: CMPXCHG_XBTS ,  NULL },\n\t/* 1a7 */ { 0, &BX_CPU_C:: CMPXCHG_IBTS ,  NULL },\n\t/* 1a8 */ { 0, &BX_CPU_C:: PUSH_GS ,  NULL },\n\t/* 1a9 */ { 0, &BX_CPU_C:: POP_GS ,  NULL },\n\t/* 1aa */ { 0, &BX_CPU_C:: RSM ,  NULL },\n\t/* 1ab */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTS_EEdGd ,  NULL },\n\t/* 1ac */ { BxOS32 | BxAnother | BxImmediate_Ib | BxSplitMod11b, &BX_CPU_C:: SHRD_EEdGd,  NULL },\n\t/* 1ad */ { BxOS32 | BxAnother | BxImmediate_CL | BxSplitMod11b, &BX_CPU_C:: SHRD_EEdGdCL,  NULL },\n\t/* 1ae */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1af */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: IMUL_GdEEd,  NULL },\n\t/* 1b0 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EEbGb,  NULL },\n\t/* 1b1 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: CMPXCHG_EEdGd,  NULL },\n\t/* 1b2 */ { BxAnother, &BX_CPU_C:: LSS_GvMp ,  NULL },\n\t/* 1b3 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTR_EEdGd ,  NULL },\n\t/* 1b4 */ { BxAnother, &BX_CPU_C:: LFS_GvMp ,  NULL },\n\t/* 1b5 */ { BxAnother, &BX_CPU_C:: LGS_GvMp ,  NULL },\n\t/* 1b6 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GdEEb,  NULL },\n\t/* 1b7 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVZX_GdEEw,  NULL },\n\t/* 1b8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1b9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ba */ { BxOS32 | BxAnother | BxGroup8 | BxSplitMod11b, &BX_CPU_C:: BxError,  BxOpcodeInfoG8EEdIb  },\n\t/* 1bb */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BTC_EEdGd ,  NULL },\n\t/* 1bc */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSF_GdEEd ,  NULL },\n\t/* 1bd */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: BSR_GdEEd ,  NULL },\n\t/* 1be */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GdEEb,  NULL },\n\t/* 1bf */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: MOVSX_GdEEw,  NULL },\n\t/* 1c0 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EEbGb,  NULL },\n\t/* 1c1 */ { BxOS32 | BxAnother | BxSplitMod11b, &BX_CPU_C:: XADD_EEdGd,  NULL },\n\t/* 1c2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1c7 */ { BxAnother | BxGroup9, &BX_CPU_C:: BxError,  BxOpcodeInfoG9  },\n\t/* 1c8 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1c9 */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ca */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cb */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cc */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cd */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1ce */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1cf */ { 0, &BX_CPU_C:: BSWAP_ERX,  NULL },\n\t/* 1d0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1d9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1da */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1db */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dc */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1dd */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1de */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1df */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e0 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e1 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e2 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e3 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e4 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e5 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e6 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e7 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e8 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1e9 */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ea */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1eb */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ec */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ed */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ee */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1ef */ { 0, &BX_CPU_C:: BxError ,  NULL },\n\t/* 1f0 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f1 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f2 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f3 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f4 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f5 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f6 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f7 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f8 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1f9 */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fa */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fb */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fc */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fd */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1fe */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n\t/* 1ff */ { 0, &BX_CPU_C:: UndefinedOpcode ,  NULL },\n};\n"
  },
  {
    "path": "Project/IntelCPU/Source/flag.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: flag_ctrl.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n  void\nBX_CPU_C::SAHF(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR set_SF((RW_AH & 0x80) >> 7);\n  BX_CPU_CLASS_PTR set_ZF((RW_AH & 0x40) >> 6);\n  BX_CPU_CLASS_PTR set_AF((RW_AH & 0x10) >> 4);\n  BX_CPU_CLASS_PTR set_CF(RW_AH & 0x01);\n  BX_CPU_CLASS_PTR set_PF((RW_AH & 0x04) >> 2);\n}\n\n  void\nBX_CPU_C::LAHF(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  RW_AH = (BX_CPU_CLASS_PTR get_SF() ? 0x80 : 0) |\n       (BX_CPU_CLASS_PTR get_ZF() ? 0x40 : 0) |\n       (BX_CPU_CLASS_PTR get_AF() ? 0x10 : 0) |\n       (BX_CPU_CLASS_PTR get_PF() ? 0x04 : 0) |\n       (0x02) |\n       (BX_CPU_CLASS_PTR get_CF() ? 0x01 : 0);\n}\n\n  void\nBX_CPU_C::CLC(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR set_CF(0);\n}\n\n  void\nBX_CPU_C::STC(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR set_CF(1);\n}\n\n  void\nBX_CPU_C::CLI(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (X86CPU_MSWIN_MSDOS==1)\n\tBX_CPU_CLASS_PTR  eflags.if_ = 0;\n\treturn ;\n#endif\n\n#if BX_CPU_LEVEL >= 2\n  if (BX_CPU_CLASS_PTR protected_mode()) {\n    if (RW_CPL > RW_IOPL) {\n      //BX_INFO((\"CLI: RW_CPL > IOPL\")); /* ??? */\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n#if BX_CPU_LEVEL >= 3\n  else if (BX_CPU_CLASS_PTR v8086_mode()) {\n    if (RW_IOPL != 3) {\n      //BX_INFO((\"CLI: IOPL != 3\")); /* ??? */\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n#endif\n#endif\n\n  BX_CPU_CLASS_PTR  eflags.if_ = 0;\n}\n\n  void\nBX_CPU_C::STI(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (X86CPU_MSWIN_MSDOS==1)\n\n\tBX_CPU_CLASS_PTR  eflags.if_ = 1;\n\treturn ;\n#endif\n\n#if BX_CPU_LEVEL >= 2\n  if (BX_CPU_CLASS_PTR protected_mode()) {\n    if (RW_CPL > RW_IOPL) {\n      //BX_INFO((\"STI: RW_CPL > IOPL\")); /* ??? */\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n#if BX_CPU_LEVEL >= 3\n  else if (BX_CPU_CLASS_PTR v8086_mode()) {\n    if (RW_IOPL != 3) {\n      //BX_INFO((\"STI: IOPL != 3\")); /* ??? */\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n#endif\n#endif\n\n  if (!BX_CPU_CLASS_PTR  eflags.if_) {\n    BX_CPU_CLASS_PTR  eflags.if_ = 1;\n    BX_CPU_CLASS_PTR  inhibit_mask |= BX_INHIBIT_INTERRUPTS;\n    BX_CPU_CLASS_PTR  async_event = 1;\n    }\n}\n\n  void\nBX_CPU_C::CLD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR  eflags.df = 0;\n}\n\n  void\nBX_CPU_C::STD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR  eflags.df = 1;\n}\n\n  void\nBX_CPU_C::CMC(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  BX_CPU_CLASS_PTR set_CF( !BX_CPU_CLASS_PTR get_CF() );\n}\n\n  void\nBX_CPU_C::PUSHF(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if (BX_CPU_CLASS_PTR v8086_mode() && (RW_IOPL<3)) {\n    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n    return;\n    }\n\n#if BX_CPU_LEVEL >= 3\n  if (i->size_mode.os_32) {\n    BX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR read_eflags() & 0x00fcffff);\n    }\n  else\n#endif\n    {\n    BX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR read_flags());\n    }\n}\n\n\n  void\nBX_CPU_C::POPF(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 3\n  if (BX_CPU_CLASS_PTR v8086_mode()) {\n    if (RW_IOPL < 3) {\n      //BX_INFO((\"popf_fv: IOPL < 3\"));\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    if (i->size_mode.os_32) {\n      BX_PANIC((\"POPFD(): not supported in virtual mode\"));\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n\n  if (i->size_mode.os_32) {\n    Bit32u eflags;\n\n    BX_CPU_CLASS_PTR pop_32(&eflags);\n\n    eflags &= 0x00277fd7;\n    if (!BX_CPU_CLASS_PTR real_mode()) {\n      BX_CPU_CLASS_PTR write_eflags(eflags, /* change IOPL? */ RW_CPL==0, /* change IF? */ RW_CPL<=RW_IOPL, 0, 0);\n      }\n    else { /* real mode */\n      BX_CPU_CLASS_PTR write_eflags(eflags, /* change IOPL? */ 1, /* change IF? */ 1, 0, 0);\n      }\n    }\n  else\n#endif /* BX_CPU_LEVEL >= 3 */\n    { /* 16 bit opsize */\n    Bit16u flags;\n\n    BX_CPU_CLASS_PTR pop_16(&flags);\n\n    if (!BX_CPU_CLASS_PTR real_mode()) {\n      BX_CPU_CLASS_PTR write_flags(flags, /* change IOPL? */ RW_CPL==0, /* change IF? */ RW_CPL<=RW_IOPL);\n      }\n    else { /* real mode */\n      BX_CPU_CLASS_PTR write_flags(flags, /* change IOPL? */ 1, /* change IF? */ 1);\n      }\n    }\n}\n\n\n  void\nBX_CPU_C::SALC(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR get_CF() ) {\n    RW_AL = 0xff;\n    }\n  else {\n    RW_AL = 0x00;\n    }\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/flag_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: flag_ctrl_pro.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n  void\nBX_CPU_C::write_flags(Bit16u flags, Boolean change_IOPL, Boolean change_IF)\n{\n  BX_CPU_THIS_PTR set_CF(flags & 0x01);\n  BX_CPU_THIS_PTR set_PF((flags >> 2) & 0x01);\n  BX_CPU_THIS_PTR set_AF((flags >> 4) & 0x01);\n  BX_CPU_THIS_PTR set_ZF((flags >> 6) & 0x01);\n  BX_CPU_THIS_PTR set_SF((flags >> 7) & 0x01);\n\n#if 0\n// +++\nif (BX_CPU_THIS_PTR eflags.tf==0 && (flags&0x0100))\n  BX_DEBUG(( \"TF 0->1\" ));\nelse if (BX_CPU_THIS_PTR eflags.tf && !(flags&0x0100))\n  BX_DEBUG(( \"TF 1->0\" ));\nelse if (BX_CPU_THIS_PTR eflags.tf && (flags&0x0100))\n  BX_DEBUG(( \"TF 1->1\" ));\n#endif\n\n  BX_CPU_THIS_PTR eflags.tf = (flags >> 8) & 0x01;\n  if (BX_CPU_THIS_PTR eflags.tf) {\n    BX_CPU_THIS_PTR async_event = 1;\n    }\n\n\tif (change_IF)\n\t{\n\t\tif (!BX_CPU_THIS_PTR eflags.if_&&((flags >> 9) & 0x01))\n\t\t{\n\t\t\tBX_CPU_THIS_PTR eflags.if_ = 1;\n\t\t\tBX_CPU_THIS_PTR inhibit_mask |= BX_INHIBIT_INTERRUPTS;\n\t\t\tBX_CPU_THIS_PTR async_event = 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_THIS_PTR eflags.if_ = (flags >> 9) & 0x01;\n\t\t}\n\t}\n\n  BX_CPU_THIS_PTR eflags.df = (flags >> 10) & 0x01;\n  BX_CPU_THIS_PTR set_OF((flags >> 11) & 0x01);\n\n\n#if BX_CPU_LEVEL == 2\n  BX_CPU_THIS_PTR eflags.iopl = 0;\n  BX_CPU_THIS_PTR eflags.nt = 0;\n#else\n  if (change_IOPL)\n    BX_CPU_THIS_PTR eflags.iopl = (flags >> 12) & 0x03;\n  BX_CPU_THIS_PTR eflags.nt = (flags >> 14) & 0x01;\n#endif\n}\n\n\n#if BX_CPU_LEVEL >= 3\n  void\nBX_CPU_C::write_eflags(Bit32u eflags_raw, Boolean change_IOPL, Boolean change_IF,\n                Boolean change_VM, Boolean change_RF)\n{\n  BX_CPU_THIS_PTR set_CF(eflags_raw & 0x01);\n  BX_CPU_THIS_PTR set_PF((eflags_raw >> 2) & 0x01);\n  BX_CPU_THIS_PTR set_AF((eflags_raw >> 4) & 0x01);\n  BX_CPU_THIS_PTR set_ZF((eflags_raw >> 6) & 0x01);\n  BX_CPU_THIS_PTR set_SF((eflags_raw >> 7) & 0x01);\n\n#if 0\n// +++\nif (BX_CPU_THIS_PTR eflags.tf==0 && (eflags_raw&0x0100))\n  BX_DEBUG(( \"TF 0->1\" ));\nelse if (BX_CPU_THIS_PTR eflags.tf && !(eflags_raw&0x0100))\n  BX_DEBUG(( \"TF 1->0\" ));\nelse if (BX_CPU_THIS_PTR eflags.tf && (eflags_raw&0x0100))\n  BX_DEBUG(( \"TF 1->1\" ));\n#endif\n\n  BX_CPU_THIS_PTR eflags.tf = (eflags_raw >> 8) & 0x01;\n  if (BX_CPU_THIS_PTR eflags.tf) {\n    BX_CPU_THIS_PTR async_event = 1;\n    }\n\n\tif (change_IF)\n\t{\n\t\tif (!BX_CPU_THIS_PTR eflags.if_&&((eflags_raw >> 9) & 0x01))\n\t\t{\n\t\t\tBX_CPU_THIS_PTR eflags.if_ = 1;\n\t\t\tBX_CPU_THIS_PTR inhibit_mask |= BX_INHIBIT_INTERRUPTS;\n\t\t\tBX_CPU_THIS_PTR async_event = 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_THIS_PTR eflags.if_ = (eflags_raw >> 9) & 0x01;\n\t\t}\n\t}\n\n  BX_CPU_THIS_PTR eflags.df = (eflags_raw >> 10) & 0x01;\n  BX_CPU_THIS_PTR set_OF((eflags_raw >> 11) & 0x01);\n\n  if (change_IOPL)\n    BX_CPU_THIS_PTR eflags.iopl = (eflags_raw >> 12) & 0x03;\n  BX_CPU_THIS_PTR eflags.nt = (eflags_raw >> 14) & 0x01;\n\n  if (change_VM) {\n    BX_CPU_THIS_PTR eflags.vm = (eflags_raw >> 17) & 0x01;\n#if BX_SUPPORT_V8086_MODE == 0\n    if (BX_CPU_THIS_PTR eflags.vm)\n      BX_PANIC((\"write_eflags: VM bit set: BX_SUPPORT_V8086_MODE==0\"));\n#endif\n    }\n  if (change_RF) {\n    BX_CPU_THIS_PTR eflags.rf = (eflags_raw >> 16) & 0x01;\n    }\n\n#if BX_CPU_LEVEL >= 4\n  BX_CPU_THIS_PTR eflags.ac = (eflags_raw >> 18) & 0x01;\n  BX_CPU_THIS_PTR eflags.id = (eflags_raw >> 21) & 0x01;\n#endif\n\n}\n#endif /* BX_CPU_LEVEL >= 3 */\n\n\n  Bit16u\nBX_CPU_C::read_flags(void)\n{\n  Bit16u flags;\n\n  flags = (get_CF()) |\n          (BX_CPU_THIS_PTR eflags.bit1 << 1) |\n          ((get_PF()) << 2) |\n          (BX_CPU_THIS_PTR eflags.bit3 << 3) |\n          ((get_AF()>0) << 4) |\n          (BX_CPU_THIS_PTR eflags.bit5 << 5) |\n          ((get_ZF()>0) << 6) |\n          ((get_SF()>0) << 7) |\n          (BX_CPU_THIS_PTR eflags.tf << 8) |\n          (BX_CPU_THIS_PTR eflags.if_ << 9) |\n          (BX_CPU_THIS_PTR eflags.df << 10) |\n          ((get_OF()>0) << 11) |\n          (BX_CPU_THIS_PTR eflags.iopl << 12) |\n          (BX_CPU_THIS_PTR eflags.nt << 14) |\n          (BX_CPU_THIS_PTR eflags.bit15 << 15);\n\n  /* 8086: bits 12-15 always set to 1.\n   * 286: in real mode, bits 12-15 always cleared.\n   * 386+: real-mode: bit15 cleared, bits 14..12 are last loaded value\n   *       protected-mode: bit 15 clear, bit 14 = last loaded, IOPL?\n   */\n#if BX_CPU_LEVEL < 2\n  flags |= 0xF000;  /* 8086 nature */\n#elif BX_CPU_LEVEL == 2\n  if (real_mode()) {\n    flags &= 0x0FFF;  /* 80286 in real mode nature */\n    }\n#else /* 386+ */\n#endif\n\n  return(flags);\n}\n\n\n#if BX_CPU_LEVEL >= 3\n  Bit32u\nBX_CPU_C::read_eflags(void)\n{\n  Bit32u eflags_raw;\n\n  eflags_raw =\n          (get_CF()) |\n          (BX_CPU_THIS_PTR eflags.bit1 << 1) |\n          ((get_PF()) << 2) |\n          (BX_CPU_THIS_PTR eflags.bit3 << 3) |\n          ((get_AF()>0) << 4) |\n          (BX_CPU_THIS_PTR eflags.bit5 << 5) |\n          ((get_ZF()>0) << 6) |\n          ((get_SF()>0) << 7) |\n          (BX_CPU_THIS_PTR eflags.tf << 8) |\n          (BX_CPU_THIS_PTR eflags.if_ << 9) |\n          (BX_CPU_THIS_PTR eflags.df << 10) |\n          ((get_OF()>0) << 11) |\n          (BX_CPU_THIS_PTR eflags.iopl << 12) |\n          (BX_CPU_THIS_PTR eflags.nt << 14) |\n          (BX_CPU_THIS_PTR eflags.bit15 << 15) |\n          (BX_CPU_THIS_PTR eflags.rf << 16) |\n          (BX_CPU_THIS_PTR eflags.vm << 17)\n#if BX_CPU_LEVEL >= 4\n          | (BX_CPU_THIS_PTR eflags.ac << 18)\n          | (BX_CPU_THIS_PTR eflags.id << 21)\n#endif\n           ;\n\n#if 0\n  /*\n   * 386+: real-mode: bit15 cleared, bits 14..12 are last loaded value\n   *       protected-mode: bit 15 clear, bit 14 = last loaded, IOPL?\n   */\n#endif\n\n  return(eflags_raw);\n}\n#endif /* BX_CPU_LEVEL >= 3 */\n"
  },
  {
    "path": "Project/IntelCPU/Source/i387.h",
    "content": "#ifndef BX_I387_RELATED_EXTENSIONS_H\n#define BX_I387_RELATED_EXTENSIONS_H\n\n\n//PARANOID,NO_ASSEMBLER,USE_WITH_CPU_SIM\n//fpu/stubs\n\n/* Get data sizes from config.h generated from simulator's\n * configure script\n */\n#include \"iconfig.h\"\ntypedef Bit8u  u8;\t/* for FPU only */\ntypedef Bit8s  s8;\ntypedef Bit16u u16;\ntypedef Bit16s s16;\ntypedef Bit32u u32;\ntypedef Bit32s s32;\ntypedef Bit64u u64;\ntypedef Bit64s s64;\n\n//\n// Minimal i387 structure, pruned from the linux headers.  Only\n// the fields which were necessary are included.\n//\nstruct BxFpuRegisters {\n    s32      cwd;\n    s32      swd;\n    s32      twd;\n    s32      fip;\n    s32      fcs;\n    s32      foo;\n    s32      fos;\n    u32      fill0; /* to make sure the following aligns on an 8byte boundary */\n    u64      st_space[16];   /* 8*16 bytes per FP-reg (aligned) = 128 bytes */\n    unsigned char   ftop;\n    unsigned char   no_update;\n    unsigned char   rm;\n    unsigned char   alimit;\n};\n\n#if BX_SUPPORT_MMX\ntypedef union {\n  Bit8u u8;\n  Bit8s s8;\n} MMX_BYTE;\n\ntypedef union {\n  Bit16u u16;\n  Bit16s s16;\n  struct {\n#ifdef BX_BIG_ENDIAN\n    MMX_BYTE hi;\n    MMX_BYTE lo;\n#else\n    MMX_BYTE lo;\n    MMX_BYTE hi;\n#endif\n  } bytes;\n} MMX_WORD;\n\ntypedef union {\n  Bit32u u32;\n  Bit32s s32;\n  struct {\n#ifdef BX_BIG_ENDIAN\n    MMX_WORD hi;\n    MMX_WORD lo;\n#else\n    MMX_WORD lo;\n    MMX_WORD hi;\n#endif\n  } words;\n} MMX_DWORD;\n\ntypedef union {\n  Bit64u u64;\n  Bit64s s64;\n  struct {\n#ifdef BX_BIG_ENDIAN\n    MMX_DWORD hi;\n    MMX_DWORD lo;\n#else\n    MMX_DWORD lo;\n    MMX_DWORD hi;\n#endif\n  } dwords;\n} MMX_QWORD, BxPackedMmxRegister;\n\n#define MMXSB0(reg) (reg.dwords.lo.words.lo.bytes.lo.s8)\n#define MMXSB1(reg) (reg.dwords.lo.words.lo.bytes.hi.s8)\n#define MMXSB2(reg) (reg.dwords.lo.words.hi.bytes.lo.s8)\n#define MMXSB3(reg) (reg.dwords.lo.words.hi.bytes.hi.s8)\n#define MMXSB4(reg) (reg.dwords.hi.words.lo.bytes.lo.s8)\n#define MMXSB5(reg) (reg.dwords.hi.words.lo.bytes.hi.s8)\n#define MMXSB6(reg) (reg.dwords.hi.words.hi.bytes.lo.s8)\n#define MMXSB7(reg) (reg.dwords.hi.words.hi.bytes.hi.s8)\n\n#define MMXUB0(reg) (reg.dwords.lo.words.lo.bytes.lo.u8)\n#define MMXUB1(reg) (reg.dwords.lo.words.lo.bytes.hi.u8)\n#define MMXUB2(reg) (reg.dwords.lo.words.hi.bytes.lo.u8)\n#define MMXUB3(reg) (reg.dwords.lo.words.hi.bytes.hi.u8)\n#define MMXUB4(reg) (reg.dwords.hi.words.lo.bytes.lo.u8)\n#define MMXUB5(reg) (reg.dwords.hi.words.lo.bytes.hi.u8)\n#define MMXUB6(reg) (reg.dwords.hi.words.hi.bytes.lo.u8)\n#define MMXUB7(reg) (reg.dwords.hi.words.hi.bytes.hi.u8)\n\n#define MMXSW0(reg) (reg.dwords.lo.words.lo.s16)\n#define MMXSW1(reg) (reg.dwords.lo.words.hi.s16)\n#define MMXSW2(reg) (reg.dwords.hi.words.lo.s16)\n#define MMXSW3(reg) (reg.dwords.hi.words.hi.s16)\n\n#define MMXUW0(reg) (reg.dwords.lo.words.lo.u16)\n#define MMXUW1(reg) (reg.dwords.lo.words.hi.u16)\n#define MMXUW2(reg) (reg.dwords.hi.words.lo.u16)\n#define MMXUW3(reg) (reg.dwords.hi.words.hi.u16)\n                                \n#define MMXSD0(reg) (reg.dwords.lo.s32)\n#define MMXSD1(reg) (reg.dwords.hi.s32)\n\n#define MMXUD0(reg) (reg.dwords.lo.u32)\n#define MMXUD1(reg) (reg.dwords.hi.u32)\n\n#define MMXSQ(reg)  (reg.s64)\n#define MMXUQ(reg)  (reg.u64)\n\ntypedef struct mmx_physical_reg_t\n{\n   BxPackedMmxRegister packed_mmx_register;\n   Bit16u exp;\t\t/* 4 bytes: exponent of fp register, \n                                    set to 0xFFFF by all mmx commands */\n   Bit32u aligment;\t/* 4 bytes: aligment */\n} BxMmxRegister;\n\n/* to be compatible with fpu register file */\nstruct BxMmxRegisters\n{\n   Bit32u      cwd;\t\t/* fpu control word */\n   Bit32u      swd;\t\t/* fpu status  word */\n   Bit32u      twd;    \t\t/* fpu tag     word */\n   Bit32u      fip;\n   Bit32u      fcs;\n   Bit32u      foo;\n   Bit32u      fos;\n   Bit32u      alignment;\n   BxMmxRegister mmx[8];   \n   unsigned char tos;\t\t/* top-of-stack */\n   unsigned char no_update;\n   unsigned char rm;\n   unsigned char alimit;\n};\n#endif /* BX_SUPPORT_MMX */\n\ntypedef union FpuMmxRegisters\n{\n    struct BxFpuRegisters soft;\n#if BX_SUPPORT_MMX\n    struct BxMmxRegisters mmx;\n#endif\n} i387_t;\n\n#endif\n"
  },
  {
    "path": "Project/IntelCPU/Source/iconfig.h",
    "content": "\n/////////////////////////////////////////////////////////////////////////\n// $Id: config.h,v 1.17 2002/03/27 16:04:04 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n/* config.h.  Generated automatically by configure.  */\n//\n//\n// config.h.in is distributed in the source TAR file.  When you run\n// the configure script, it generates config.h with some changes\n// according to your build environment.  For example, in config.h.in,\n// SIZEOF_UNSIGNED_CHAR is set to 0.  When configure produces config.h\n// it will change \"0\" to the detected value for your system.\n//\n// config.h contains ONLY preprocessor #defines and a few typedefs.\n// It must be included by both C and C++ files, so it must not\n// contain anything language dependent such as a class declaration.\n//\n\n#ifdef _BX_CONFIG_H_\n#else\n#define _BX_CONFIG_H_ 1\n\n///////////////////////////////////////////////////////////////////\n// USER CONFIGURABLE OPTIONS : EDIT ONLY OPTIONS IN THIS SECTION //\n///////////////////////////////////////////////////////////////////\n#include \"../../Code/Source/CodeConfig.h\"\n#define BX_USE_CONTROL_PANEL 1\n\n// I have tested the following combinations:\n//  * processors=1, bootstrap=0, ioapic_id=1   (uniprocessor system)\n//  * processors=2, bootstrap=0, ioapic_id=2\n//  * processors=4, bootstrap=2, ioapic_id=4\n#define BX_SMP_PROCESSORS 1\n#define BX_BOOTSTRAP_PROCESSOR 0\n// choose IOAPIC id to be equal to the number of processors.  This leaves\n// one space for each processor to have an ID, starting with 0.\n#define BX_IOAPIC_DEFAULT_ID 1\n\n#define BX_ADDRESS_SPACES 1\n// controls how many instances of BX_MEM_C are created.  For\n// SMP, use several processors with one shared memory space.\n// For cosimulation, you could use two processors and two address\n// spaces.\n\n#define BX_SUPPORT_APIC 0\n// include in APIC models, required for a multiprocessor system.\n\n#if (BX_SMP_PROCESSORS>1 && !BX_SUPPORT_APIC)\n#error For multiprocessor simulation, BX_SUPPORT_APIC is required.\n#endif\n\n#define BX_DEBUG_LINUX 0\n// if simulating Linux, this provides a few more debugging options\n// such as tracing all system calls.\n\n#define HAVE_LIBREADLINE 0\n#define HAVE_READLINE_HISTORY_H 1\n// adds support for the GNU readline library in the debugger command\n// prompt.\n\n// if NE2K is enabled, this enables the ethertap device.\n#define HAVE_ETHERTAP 0\n\n// I rebuilt the code which provides timers to IO devices.\n// Setting this to 1 will introduce a little code which\n// will panic out if cases which shouldn't happen occur.\n// Set this to 0 for optimal performance.\n#define BX_TIMER_DEBUG 1\n\n// Settable A20 line.  For efficiency, you can disable\n// having a settable A20 line, eliminating conditional\n// code for every physical memory access.  You'll have\n// to tell your software not to mess with the A20 line,\n// and accept it as always being on if you change this.\n//   1 = use settable A20 line. (normal)\n//   0 = A20 is like the rest of the address lines\n\n#define BX_SUPPORT_A20 1\n\n// Processor Instructions Per Second\n// To find out what value to use for the 'ips' directive\n// in your '.bochsrc' file, set BX_SHOW_IPS to 1, and\n// run the software in bochs you plan to use most.  Bochs\n// will print out periodic IPS ratings.  This will change\n// based on the processor mode at the time, and various\n// other factors.  You'll get a reasonable estimate though.\n// When you're done, reset BX_SHOW_IPS to 0, do a\n// 'make all-clean', then 'make' again.\n\n#define BX_SHOW_IPS         0\n\n\n#if (BX_SHOW_IPS) && defined(__MINGW32__)\n#define        SIGALRM         14\n#endif\n\n// Paging Options:\n// ---------------\n// Support Paging mechanism.\n//   0 = don't support paging at all (DOS & Minix don't require it)\n//   1 = support paging.  (Most other OS's require paging)\n// Use Translation Lookaside Buffer (TLB) for caching\n// paging translations.  This will make paging mode\n// more efficient.  If you're OS doesn't use paging,\n// then you won't need either.\n//   1 = Use a TLB for effiency\n//   0 = don't use a TLB, walk the page tables for every access\n// BX_TLB_SIZE: Number of entries in TLB\n// BX_TLB_INDEX_OF(lpf): This macro is passed the linear page frame\n//   (top 20 bits of the linear address.  It must map these bits to\n//   one of the TLB cache slots, given the size of BX_TLB_SIZE.\n//   There will be a many-to-one mapping to each TLB cache slot.\n//   When there are collisions, the old entry is overwritten with\n//   one for the newest access.\n\n#define BX_SUPPORT_PAGING     1\n#define BX_USE_TLB 1\n\n#define BX_TLB_SIZE 1024\n#define BX_TLB_INDEX_OF(lpf) (((lpf) & 0x003ff000) >> 12)\n\n\n// Compile in support for DMA & FLOPPY IO.  You'll need this\n// if you plan to use the floppy drive emulation.  But if\n// you're environment doesn't require it, you can change\n// it to 0.\n\n#define BX_DMA_FLOPPY_IO 1\n\n\n// Default number of Megs of memory to emulate.  The\n// 'megs:' directive in the '.bochsrc' file overrides this,\n// allowing per-run settings.\n\n#define BX_DEFAULT_MEM_MEGS 4\n\n\n//\n// x86 hardware tasking.  There is some tasking support now.\n// I'm trying to get Linux to boot.  The default for this\n// is now 1, but if you don't need x86 tasking (DOS, Win'95),\n// then set this to 0.\n//\n\n#define BX_SUPPORT_TASKING    1\n\n\n// CPU level emulation.  Default level is set in\n// the configure script.  BX_CPU_LEVEL defines the CPU level\n// to emulate.  BX_CPU_LEVEL_HACKED is a hack to define the\n// level of some integer instructions, so they can be tested\n// before the rest of the emulation is up to that level.\n\n#define BX_CPU_LEVEL 5\n#define BX_CPU_LEVEL_HACKED 5\n\n\n// Virtual 8086 mode emulation.\n//   1 = compile in support for v8086 mode.\n//   0 = don't compile in support for v8086 mode.\n\n#define BX_SUPPORT_V8086_MODE 1\n\n// Support shadowing of ROM from C0000 to FFFFF.\n// This allows that region to be written to.\n#define BX_SHADOW_RAM 0\n\n// Number of CMOS registers\n#define BX_NUM_CMOS_REGS 64\n//#define BX_NUM_CMOS_REGS 128\n\n// Use Greg Alexander's new PIT model (summer 2001) instead of the original.\n#define BX_USE_NEW_PIT 1\n#define BX_USE_REALTIME_PIT 0\n\n#define BX_USE_SLOWDOWN_TIMER 0\n#define BX_HAVE_SLEEP 1\n#define BX_HAVE_USLEEP 1\n#define BX_HAVE_NANOSLEEP 0\n#define BX_HAVE_ABORT 1\n#define BX_HAVE_SOCKLEN_T 1\n\n// This turns on Roland Mainz's idle hack.  Presently it is specific to the X11\n// gui. If people try to enable it elsewhere, give a compile error after the\n// gui definition so that they don't waste their time trying.\n#define BX_USE_IDLE_HACK 0\n\n// Use Static Member Funtions to eliminate 'this' pointer passing\n// If you want the efficiency of 'C', you can make all the\n// members of the C++ CPU class to be static.\n// This defaults to 1 since it should improve performance, but when\n// SMP mode is enabled, it will be turned off by configure.\n\n#define BX_USE_CPU_SMF 0\n\n// Use static member functions in IO DEVice emulation modules.\n// For efficiency, use C like functions for IO handling,\n// and declare a device instance at compile time,\n// instead of using 'new' and storing the pointer.  This\n// eliminates some overhead, especially for high-use IO\n// devices like the disk drive.\n//   1 = Use static member efficiency (normal)\n//   0 = Use nonstatic member functions (use only if you need\n//       multiple instances of a device class\n\n#define BX_USE_HD_SMF   1  // Hard drive\n#define BX_USE_CMOS_SMF 1  // CMOS\n#define BX_USE_DMA_SMF  1  // DMA\n#define BX_USE_FD_SMF   1  // Floppy\n#define BX_USE_KEY_SMF  1  // Keyboard\n#define BX_USE_PAR_SMF  1  // Parallel\n#define BX_USE_PIC_SMF  1  // PIC\n#define BX_USE_PIT_SMF  1  // PIT\n#define BX_USE_SER_SMF  1  // Serial\n#define BX_USE_UM_SMF   1  // Unmapped\n#define BX_USE_VGA_SMF  1  // VGA\n#define BX_USE_SB16_SMF 1  // Sound (SB 16)\n#define BX_USE_DEV_SMF  1  // System Devices (port92)\n#define BX_USE_PCI_SMF  1  // PCI\n#define BX_USE_NE2K_SMF 1  // NE2K\n\n#define BX_SUPPORT_SB16 1\n\n#if BX_SUPPORT_SB16\n// Use virtual methods for the sound output functions\n#define BX_USE_SOUND_VIRTUAL  1\n// Determines which sound output class is to be used.\n// Currently the following are available:\n//    bx_sound_linux_c      Output for Linux, to /dev/dsp and /dev/midi00\n//    bx_sound_windows_c    Output for Windows midi and wave mappers\n//    bx_sound_output_c     Dummy functions, no output\n#define BX_SOUND_OUTPUT_C bx_sound_windows_c\n#endif\n\n#define USE_RAW_SERIAL 0\n\n#define BX_USE_SPECIFIED_TIME0 0\n\n// This enables writing to port 0xe9 and the output\n// is sent to the console.  Reading from port 0xe9\n// will return 0xe9 to let you know this is available.\n// Leave this 0 unless you have a reason to use it.\n#define BX_PORT_E9_HACK 1\n\n// This option enables \"split hard drive\" support, which means\n// that a series of partial hard disk images can be treated\n// as a single large image.  If you set up the partition sizes and\n// file sizes correctly, this allows you to store each partition\n// in a separate file, which is very convenient if you want to operate\n// on a single partition (e.g. mount with loopback, create filesystem,\n// fsck, etc.).\n// [[Provide example of partitioning]]\n#define BX_SPLIT_HD_SUPPORT 1\n\n\n// =================================================================\n// BEGIN: OPTIONAL DEBUGGER SECTION\n//\n// These options are only used if you compile in support for the\n// native command line debugging environment.  Typically, the debugger\n// is not used, and this section can be ignored.\n// =================================================================\n\n#define BX_MAX_DIRTY_PAGE_TABLE_MEGS 64\n\n// Compile in support for virtual/linear/physical breakpoints.\n// Set to 1, only those you need.  Recommend using only linear\n// breakpoints, unless you need others.  Less supported means\n// slightly faster execution time.\n#define BX_DBG_SUPPORT_VIR_BPOINT 1\n#define BX_DBG_SUPPORT_LIN_BPOINT 1\n#define BX_DBG_SUPPORT_PHY_BPOINT 1\n\n// You need only define one initial breakpoint into each\n// cpu simulator (emulator) here.  Each simulator sets callbacks\n// and variables which the debugger uses from then on.\n#define BX_SIM1_INIT bx_dbg_init_cpu_mem_env0\n#ifndef BX_SIM2_INIT\n#define BX_SIM2_INIT bx_dbg_init_cpu_mem_env1\n#endif\n//#define BX_SIM2_INIT sim2_init\n\n// max number of virtual/linear/physical breakpoints handled\n#define BX_DBG_MAX_VIR_BPOINTS 10\n#define BX_DBG_MAX_LIN_BPOINTS 10\n#define BX_DBG_MAX_PHY_BPOINTS 10\n\n// max file pathname size for debugger commands\n#define BX_MAX_PATH     256\n// max nesting level for debug scripts including other scripts\n#define BX_INFILE_DEPTH  10\n// use this command to include (nest) debug scripts\n#define BX_INCLUDE_CMD   \"source\"\n\n// Use either 32 or 64 bit instruction counter for\n// debugger purposes.  Uncomment one of these.\n//#define BX_DBG_ICOUNT_SIZE   32\n#define BX_DBG_ICOUNT_SIZE   64\n\n// Make a call to command line debugger extensions.  If set to 1,\n// a call is made.  An external routine has a chance to process\n// the command.  If it does, than the debugger ignores the command.\n#define BX_DBG_EXTENSIONS 0\n\n// =================================================================\n// END: OPTIONAL DEBUGGER SECTION\n// =================================================================\n\n\n//////////////////////////////////////////////////////////////////////\n// END OF USER CONFIGURABLE OPTIONS : DON'T EDIT ANYTHING BELOW !!! //\n// THIS IS GENERATED BY THE ./configure SCRIPT                      //\n//////////////////////////////////////////////////////////////////////\n\n\n#define BX_WITH_X11 0\n#define BX_WITH_BEOS 0\n#define BX_WITH_WIN32 1\n#define BX_WITH_MACOS 0\n#define BX_WITH_CARBON 0\n#define BX_WITH_NOGUI 0\n#define BX_WITH_TERM 0\n#define BX_WITH_RFB 0\n#define BX_WITH_AMIGAOS 0\n#define BX_WITH_SDL 0\n\n\n// Roland Mainz's idle hack is presently specific to X11. If people try to\n// enable it elsewhere, give a compile error so that they don't waste their\n// time trying.\n#if (BX_USE_IDLE_HACK && !BX_WITH_X11)\n#  error IDLE_HACK will only work with the X11 gui. Correct configure args and retry.\n#endif\n\n#ifdef CODE_BIG_ENDIAN\n#define WORDS_BIGENDIAN 1\n#else\n#define WORDS_BIGENDIAN 0\n#endif\n\n#define SIZEOF_UNSIGNED_CHAR 1\n#define SIZEOF_UNSIGNED_SHORT 2\n#define SIZEOF_UNSIGNED_INT 4\n#define SIZEOF_UNSIGNED_LONG 4\n#define SIZEOF_UNSIGNED_LONG_LONG 8\n#define SIZEOF_INT_P 4\n\n#ifdef _MSC_VER\n#define BX_64BIT_CONSTANTS_USE_LL 0\n#else\n#define BX_64BIT_CONSTANTS_USE_LL 1\n#endif\n\n#if BX_64BIT_CONSTANTS_USE_LL\n// doesn't work on Microsoft Visual C++, maybe others\n#define BX_CONST64(x)  (x##LL)\n#else\n#define BX_CONST64(x)  (x)\n#endif\n\n#if defined(WIN32)\n  typedef unsigned char      Bit8u;\n  typedef   signed char      Bit8s;\n  typedef unsigned short     Bit16u;\n  typedef   signed short     Bit16s;\n  typedef unsigned int       Bit32u;\n  typedef   signed int       Bit32s;\n#ifdef __MINGW32__\n  typedef unsigned long long Bit64u;\n  typedef   signed long long Bit64s;\n  typedef             Bit32s ssize_t;\n#else\n  typedef unsigned __int64   Bit64u;\n  typedef   signed __int64   Bit64s;\n#endif\n#elif BX_WITH_MACOS\n  typedef unsigned char      Bit8u;\n  typedef   signed char      Bit8s;\n  typedef unsigned short     Bit16u;\n  typedef   signed short     Bit16s;\n  typedef unsigned int       Bit32u;\n  typedef   signed int       Bit32s;\n  typedef unsigned long long Bit64u;\n  typedef   signed long long Bit64s;\n#else\n\n// Unix like platforms\n\n#if SIZEOF_UNSIGNED_CHAR != 1\n#  error \"sizeof (unsigned char) != 1\"\n#else\n  typedef unsigned char Bit8u;\n  typedef   signed char Bit8s;\n#endif\n\n#if SIZEOF_UNSIGNED_SHORT != 2\n#  error \"sizeof (unsigned short) != 2\"\n#else\n  typedef unsigned short Bit16u;\n  typedef   signed short Bit16s;\n#endif\n\n#if SIZEOF_UNSIGNED_INT == 4\n  typedef unsigned int Bit32u;\n  typedef   signed int Bit32s;\n#elif SIZEOF_UNSIGNED_LONG == 4\n  typedef unsigned long Bit32u;\n  typedef   signed long Bit32s;\n#else\n#  error \"can't find sizeof(type) of 4 bytes!\"\n#endif\n\n#if SIZEOF_UNSIGNED_LONG == 8\n  typedef unsigned long Bit64u;\n  typedef   signed long Bit64s;\n#elif SIZEOF_UNSIGNED_LONG_LONG == 8\n  typedef unsigned long long Bit64u;\n  typedef   signed long long Bit64s;\n#else\n#  error \"can't find data type of 8 bytes\"\n#endif\n\n#endif\n\n// now that Bit32u and Bit64u exist, defined bx_address\n#if BX_SUPPORT_X86_64\ntypedef Bit64u bx_address;\n#else\ntypedef Bit32u bx_address;\n#endif\n\n#define BX_MAX_UINT 4294967295\n#define BX_MAX_INT 2147483647\n\n\n// create an unsigned integer type that is the same size as a pointer.\n// You can typecast a pointer to a bx_pr_equiv_t without losing any\n// bits (and without getting the compiler excited).  This is used in\n// the FPU emulation code, where pointers and integers are often\n// used interchangeably.\n#if SIZEOF_INT_P == 4\n  typedef Bit32u bx_ptr_equiv_t;\n#elif SIZEOF_INT_P == 8\n  typedef Bit64u bx_ptr_equiv_t;\n#else\n#  error \"could not define bx_ptr_equiv_t to size of int*\"\n#endif\n\n#if BX_WITH_CARBON\ntypedef unsigned char Boolean;\n#elif BX_WITH_MACOS\n// don't define Boolean at all\n#else\ntypedef unsigned int Boolean;\n#endif\n\n// Use a boolean type that will not conflict with the builtin type\n// on any system.\ntypedef Bit32u bx_bool;\n\n#if BX_WITH_MACOS\n#  define bx_ptr_t char *\n#else\n#  define bx_ptr_t void *\n#endif\n\n#if defined(WIN32)\n#  define BX_LITTLE_ENDIAN\n#elif BX_WITH_MACOS\n#  define BX_BIG_ENDIAN\n#else\n#if WORDS_BIGENDIAN\n#  define BX_BIG_ENDIAN\n#else\n#  define BX_LITTLE_ENDIAN\n#endif\n#endif // defined(WIN32)\n\n\n//+++++++++++++++++++++++++++\n//#\tundef BX_BIG_ENDIAN\n#\tdefine BX_LITTLE_ENDIAN\n//+++++++++++++++++++++++++++\n#ifdef CODE_BIG_ENDIAN\n#undef BX_LITTLE_ENDIAN\n#define BX_BIG_ENDIAN\n#endif\n// for now only term.cc requires a GUI sighandler.\n#define BX_GUI_SIGHANDLER (BX_WITH_TERM)\n\n#define HAVE_SIGACTION 1\n\n// configure will change the definition of \"inline\" to the value\n// that the C compiler allows.  It tests the following keywords to\n// see if any is permitted: inline, __inline__, __inline.  If none\n// is permitted, it defines inline to be empty.\n#define inline __inline\n\n// inline functions in headers that are compiled with C compiler\n// (e.g. fpu code) are declared with BX_C_INLINE macro.  Note that\n// the word \"inline\" itself may now be redefined by the above #define.\n// Many compilers are known to work with \"static inline\".  If the\n// compiler can put the function inline, it does so and never creates\n// a symbol for the function.  If optimization is off, or inline is\n// defined to be empty, the static keyword causes the function to create\n// a symbol that's visible only to that .c file.  Each .c file that\n// includes the header will produde another local version of the\n// BX_C_INLINE function (not ideal).  However without \"static\" you can\n// duplicate symbol problems which are even worse.\n#define BX_C_INLINE static inline\n\n// Use BX_CPP_INLINE for all C++ inline functions.  Note that the\n// word \"inline\" itself may now be redefined by the above #define.\n#define BX_CPP_INLINE inline\n\n#define BX_DEBUGGER 0\n#define BX_DISASM 0\n\n#define BX_PROVIDE_CPU_MEMORY 1\n#define BX_PROVIDE_DEVICE_MODELS 1\n#define BX_PROVIDE_BIOS_HOOKS    1\n\n#define BX_EMULATE_HGA_DUMPS 0\n\n#define BX_SUPPORT_VGA 1\n#define BX_SUPPORT_VBE 1\n\n#define BX_PROVIDE_MAIN       1\n\n#define BX_INSTRUMENTATION 0\n\n#define BX_USE_LOADER 0\n\n// for debugger, CPU simulator handle ID\n//   0 is the default, for using only one CPU simulator\n//   1 is for the 2nd CPU simulator\n#define BX_SIM_ID 0\n#define BX_NUM_SIMULATORS 1\n\n// limited i440FX PCI support\n#define BX_PCI_SUPPORT 0\n\n// dynamic translation (future: not supported yet)\n#define BX_DYNAMIC_TRANSLATION 0\n#define BX_DYNAMIC_CPU_I386    0\n#define BX_DYNAMIC_CPU_SPARC   0\n\n#define BX_SUPPORT_FPU 1\n\n#define BX_HAVE_GETENV 1\n#define BX_HAVE_SELECT 1\n#define BX_HAVE_SNPRINTF 1\n#define BX_HAVE_STRTOULL 0\n#define BX_HAVE_STRTOUQ 0\n#define BX_HAVE_STRDUP 1\n#define BX_HAVE_STRUCT_TIMEVAL 1\n\n// set if your compiler does not permit an empty struct\n#define BX_NO_EMPTY_STRUCTS 1\n\n// set if your compiler does not understand __attribute__ after a struct\n#define BX_NO_ATTRIBUTES 1\n#if BX_NO_ATTRIBUTES\n#define GCC_ATTRIBUTE(x) /* attribute not supported */\n#else\n#define GCC_ATTRIBUTE __attribute__\n#endif\n\n// set if your compiler does not allow label at the end of a {} block\n#define BX_NO_BLANK_LABELS 0\n\n// set if you don't have <hash_map.h>, used in debug/dbg_main.c\n#define BX_HAVE_HASH_MAP 0\n\n// Support x86 hardware debugger registers and facilites.\n// These are the debug facilites offered by the x86 architecture,\n// not the optional built-in debugger.\n#define BX_X86_DEBUGGER 0\n\n#define BX_SUPPORT_CDROM 1\n\n#if BX_SUPPORT_CDROM\n   // This is the C++ class name to use if we are supporting\n   // low-level CDROM.\n#  define LOWLEVEL_CDROM cdrom_interface\n#endif\n\n// NE2K network emulation\n#define BX_NE2K_SUPPORT 1\n#define BX_ETH_NULL_LOGGING 1\n#define BX_ETH_FBSD_LOGGING 1\n\n// I/O Interface to debug\n#define BX_IODEBUG_SUPPORT 0\n\n#endif  // _BX_CONFIG_H\n"
  },
  {
    "path": "Project/IntelCPU/Source/icpu_dos.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: inteli16.cpp,v 1.0 2002/10/08 16:04:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n#include \"icpu_dos.h\"\n\nvoid PrintfCPU(BX_CPU_C *cpu,char *s,int i=0);\n\n\tvoid\nCMSDOS_X86_CPU::write_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_push_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n\n\tlast_read_write.write_bytes = 0;\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_push_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n\n\tlast_read_write.write_bytes = 0;\n}\n\n\tvoid\nCMSDOS_X86_CPU::read_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//read_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_READ, (void *) data);\n}\n\n\n\tvoid\nCMSDOS_X86_CPU::read_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//read_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_READ, (void *) data);\n}\n\n\tvoid\nCMSDOS_X86_CPU::read_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//read_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_READ, (void *) data);\n}\n\n//////////////////////////////////////////////////////////////\n// special Read-Modify-Write operations                     //\n// address translation info is kept across read/write calls //\n//////////////////////////////////////////////////////////////\n\n\tvoid\nCMSDOS_X86_CPU::read_RMW_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_READ, (void *) data);\n\n\tReadModifyWriteLinearAddress = laddr;\n\treturn ;\n}\n\n\n\tvoid\nCMSDOS_X86_CPU::read_RMW_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_READ, (void *) data);\n\n\tReadModifyWriteLinearAddress = laddr;\n\treturn ;\n}\n\n\tvoid\nCMSDOS_X86_CPU::read_RMW_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\t//write_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_READ, (void *) data);\n\n\tReadModifyWriteLinearAddress = laddr;\n\treturn ;\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_RMW_virtual_byte(Bit8u val8)\n{\n\tBit32u laddr;\n\tladdr = ReadModifyWriteLinearAddress;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\t// all checks OK\n\taccess_linear(laddr, 1, CPL==3, BX_WRITE, (void *)&val8);\n\treturn ;\n}\n\n\tvoid\nCMSDOS_X86_CPU::write_RMW_virtual_word(Bit16u val16)\n{\n\tBit32u laddr;\n\tladdr = ReadModifyWriteLinearAddress;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\t// all checks OK\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *)&val16);\n\treturn ;\n}\n\n  void\nCMSDOS_X86_CPU::write_RMW_virtual_dword(Bit32u val32)\n{\n\tBit32u laddr;\n\tladdr = ReadModifyWriteLinearAddress;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\t// all checks OK\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *)&val32);\n\treturn ;\n}\n\nvoid CMSDOS_X86_CPU::access_linear(Bit32u address, unsigned length, unsigned pl,\n\t\t\t\t unsigned rw, void *data)\n{\n\tif (address>(0x100000+0x10000))\n\t\texception(BX_PF_EXCEPTION, 0, 0);\n\n\tif (rw==BX_WRITE)\n\t{\n\t\tlast_read_write.write_address = address;\n\t\tlast_read_write.write_bytes = length;\n\t\tif (length==4)\n\t\t{\n#ifdef BX_BIG_ENDIAN\n\t\t\t(*(LinearMemory+address)) = (*(Bit32u*)data);\n\t\t\t(*(LinearMemory+address+1))  = (*(Bit32u*)data)>>8;\n\t\t\t(*(LinearMemory+address+2))  = (*(Bit32u*)data)>>16;\n\t\t\t(*(LinearMemory+address+3))  = (*(Bit32u*)data)>>24;\n#else\n\t\t\t(*(Bit32u*)(LinearMemory+address)) = (*(Bit32u*)data);\n#endif\n\n#if BX_SupportICache\n\t\t\tiCache.decWriteStamp(this,address);\n\t\t\tiCache.decWriteStamp(this,address + 3);\n\t\t\tiCache.decWriteHole(this,address,0x000f);\n#endif\n\t\t\treturn ;\n\t\t}\n\t\tif (length==2)\n\t\t{\n#ifdef BX_BIG_ENDIAN\n\t\t\t(*(LinearMemory+address)) = (*(Bit16u*)data);\n\t\t\t(*(LinearMemory+address+1))  = (*(Bit16u*)data)>>8;\n#else\n\t\t\t(*(Bit16u*)(LinearMemory+address)) = (*(Bit16u*)data);\n#endif\n\n#if BX_SupportICache\n\t\t\tiCache.decWriteStamp(this,address);\n\t\t\tiCache.decWriteStamp(this,address + 2);\n\t\t\tiCache.decWriteHole(this,address,0x0003);\n#endif\n\t\t\treturn ;\n\t\t}\n\t\tif (length==1)\n\t\t{\n\t\t\t(*(LinearMemory+address)) = (*(Bit8u*)data);\n#if BX_SupportICache\n\t\t\tiCache.decWriteStamp(this,address);\n\t\t\tiCache.decWriteHole(this,address,0x0001);\n#endif\n\t\t\treturn ;\n\t\t}\n\t}\n\telse\n\t{\n\t\tlast_read_write.read_address = address;\n\t\tlast_read_write.read_bytes = length;\n\t\tif (length==4)\n\t\t{\n#ifdef BX_BIG_ENDIAN\n\t\t\t*(Bit32u*)data = (*(LinearMemory+address)) +\n\t\t\t\t\t\t\t(*(LinearMemory+address+1)<<8) +\n\t\t\t\t\t\t\t(*(LinearMemory+address+2)<<16) +\n\t\t\t\t\t\t\t(*(LinearMemory+address+3)<<24);\n#else\n\t\t\t*(Bit32u*)data = (*(Bit32u*)(LinearMemory+address));\n#endif\n\t\t\treturn ;\n\t\t}\n\t\tif (length==2)\n\t\t{\n#ifdef BX_BIG_ENDIAN\n\t\t\t*(Bit16u*)data = (*(LinearMemory+address)) +\n\t\t\t\t\t\t\t(*(LinearMemory+address+1)<<8);\n#else\n\t\t\t*(Bit16u*)data = (*(Bit16u*)(LinearMemory+address));\n#endif\n\t\t\treturn ;\n\t\t}\n\t\tif (length==1)\n\t\t{\n\t\t\t*(Bit8u*)data = (*(LinearMemory+address));\n\t\t\treturn ;\n\t\t}\n\t}\n\treturn;\n}\n\nBit32u CMSDOS_X86_CPU::itranslate_linear(Bit32u laddress, unsigned pl)\n{\n\treturn laddress;\n}\n\nBit32u CMSDOS_X86_CPU::dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw)\n{\n\treturn laddress;\n}\n\nint CMSDOS_X86_CPU::get_physical_host_memory(void **physical_address_base)\n{\n\t*physical_address_base = LinearMemory;\n\treturn ((0x100000+0x10000)/0x1000);\n}\n\nBit32u temp_access_stamp_ptr;\n\n\tBit8u *\nCMSDOS_X86_CPU::getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp_ptr)\n{\n\tBit8u *fetch_ptr;\n\tfetch_ptr = LinearMemory + (linear_addr&(0-1-0x0fff));\n\n\tif (access_stamp_ptr)\n\t\t*access_stamp_ptr = &temp_access_stamp_ptr;\n\tif (linear_addr>(0x100000+0x10000))\n\t{\n\t\tfetch_ptr = NULL;\n\t}\n\tif (fetch_ptr == NULL)\n\t\texception(BX_PF_EXCEPTION, 0, 0);\n\n\treturn fetch_ptr;\n}\n\n\tvoid \nCMSDOS_X86_CPU::Init(unsigned char *addrspace)\n{\n\tLinearMemory = addrspace;\n\tinit(mem);\n\n\tstrcpy(program_visible_sregs[BX_SEG_REG_ES].strseg,\"ES\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_CS].strseg,\"CS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_SS].strseg,\"SS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_DS].strseg,\"DS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_FS].strseg,\"FS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_GS].strseg,\"GS\");\n\n\tprogram_visible_sregs[BX_SEG_REG_ES].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_CS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_SS].exception_number = BX_SS_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_DS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_FS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_GS].exception_number = BX_GP_EXCEPTION;\n\n\treturn ;\n}\n\n\tvoid \nCMSDOS_X86_CPU::Exit(void)\n{\n\tthis->exit();\n}\n\n\tvoid\nCMSDOS_X86_CPU::Reset(void)\n{\n\treset(1);\n\tBX_CPU_THIS_PTR lf_entrys[0].instr = 0;\n\tmemset(&last_read_write,0,sizeof(last_read_write));\n#if (HOST_CPU_IS_I80386==1)\n\tBX_CPU_THIS_PTR eflags.x86.Word.lahf = 0x02;\n\tBX_CPU_THIS_PTR eflags.x86.Word.seto = 0x00;\n#endif\n\n    BX_CPU_THIS_PTR async_event = 0;\n\tBX_CPU_THIS_PTR program_visible_eflags = 0x02;\n\t//-----------------------------------------\n\treturn;\n}\n\n\tint\nCMSDOS_X86_CPU::Steps(int steps)\n{\n\treturn x86_cpu_loop(steps);\n}\n\n\tvoid\nCMSDOS_X86_CPU::UpdateContext(Boolean b)\n{\n\tif (b)\n\t{\n\t\twrite_eflags(BX_CPU_THIS_PTR program_visible_eflags,true,true,true,true);\n\t\tbytesleft = 0;\n\t}\n\telse\n\t{\n\t\tBX_CPU_THIS_PTR program_visible_eflags = read_eflags();\n\t}\n}\n\n\n\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/icpu_dos.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.h,v 1.0 2002/10/08 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef MSDOS_X86_CPU_H\n#define MSDOS_X86_CPU_H\n#include \"x86cpu.h\"\n\nclass CMSDOS_X86_CPU :public BX_CPU_C\n{\n\tunsigned char *LinearMemory;\n\n\tunsigned int ReadModifyWriteLinearAddress;\n\npublic:\n\npublic:\n\tvoid write_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid write_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid read_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\n\tvoid read_RMW_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_RMW_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_RMW_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid write_RMW_virtual_byte(Bit8u val8);\n\tvoid write_RMW_virtual_word(Bit16u val16);\n\tvoid write_RMW_virtual_dword(Bit32u val32);\n\n\tvoid access_linear(Bit32u address, unsigned length, unsigned pl,\n\t\t\t\t unsigned rw, void *data);\n\tBit32u itranslate_linear(Bit32u laddress, unsigned pl);\n\tBit32u dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw);\n\n\tvoid write_push_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_push_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\t// :physical page number physical_address_base:С physical page ıַ\n\tint get_physical_host_memory(void **physical_address_base);\n\tBit8u *getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp);\n\n\t// CPU ʼ \n\tvoid Init(unsigned char *addrspace);\n\t// CPU ʼ \n\tvoid Exit(void);\n\t// CPU λ\n\tvoid Reset(void);\n\t//ÿһαִָִеָ -1ִʧ.\n\tint Steps(int steps=1);\n\n\tvoid UpdateContext(Boolean b);\n};\n\n#endif //#ifndef MSDOS_X86_CPU_H\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/icpu_pc.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.h,v 1.0 2002/10/08 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef BIOS_X86_CPU_H\n#define BIOS_X86_CPU_H\n#include \"x86cpu.h\"\n\n\n#define BIOS_MEMORY_READ 1\n#define BIOS_MEMORY_WRITE 2\n#define BIOS_MEMORY_READWRITE 3\n\nclass CBIOS_X86_CPU :public BX_CPU_C\n{\n\tBit8u *(*GetPageAddress)(unsigned int addr,int rw,void *user);\n\tvoid *user;\n\tunsigned int ReadModifyWriteLinearAddress;\n\npublic:\n\npublic:\n\tvoid write_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid write_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid read_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\n\tvoid read_RMW_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_RMW_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_RMW_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid write_RMW_virtual_byte(Bit8u val8);\n\tvoid write_RMW_virtual_word(Bit16u val16);\n\tvoid write_RMW_virtual_dword(Bit32u val32);\n\n\n\tvoid access_io(Bit16u addr, unsigned length,unsigned pl,\n\t\t\t\t\t  unsigned rw,void *data);\n\n\tvoid access_linear(Bit32u address, unsigned length, unsigned pl,\n\t\t\t\t unsigned rw, void *data);\n\tBit32u itranslate_linear(Bit32u laddress, unsigned pl);\n\tBit32u dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw);\n\n\tvoid write_push_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_push_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\t// :physical page number physical_address_base:С physical page ıַ\n\tint get_physical_host_memory(void **physical_address_base);\n\tBit8u *getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp);\n\n\t// CPU ʼ (rw == 2 Ϊ write) (rw == 1 Ϊ read) (rw == 3 Ϊ read write)\n\tvoid Init(Bit8u *(*GetPageAddress)(unsigned int addr,int rw,void *user),void *user);\n\t// CPU ʼ \n\tvoid Exit(void);\n\t// CPU λ\n\tvoid Reset(void);\n\t//ÿһαִָִеָ -1ִʧ.\n\tint Steps(int steps=1);\n};\n\n#endif //#ifndef MSDOS_X86_CPU_H\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/icpu_win.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: inteli32.cpp,v 1.0 2002/10/08 16:04:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n#include \"icpu_win.h\"\n#include \"../../vex86/Source/VEMemory.h\"\n\nvoid PrintfCPU(BX_CPU_C *cpu,char *s,int i=0);\n\n\n#define T_READ_WRITE_BYTES 1 \n\n\tvoid\nCMSWIN_X86_CPU::write_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_WRITE);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->WriteMemByte(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn ;\n\n#endif\n\n\taccess_linear(laddr, 1, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->WriteMemWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->WriteMemDWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_push_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_WRITE);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->WriteMemWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\tLinearMemory->m_LastWriteMemSize = 0;\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_push_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_WRITE);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->WriteMemDWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\tLinearMemory->m_LastWriteMemSize = 0;\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::read_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadMemByte(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 1, CPL==3, BX_READ, (void *) data);\n}\n\n\n\tvoid\nCMSWIN_X86_CPU::read_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadMemWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 2, CPL==3, BX_READ, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::read_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\tread_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadMemDWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\taccess_linear(laddr, 4, CPL==3, BX_READ, (void *) data);\n}\n\n//////////////////////////////////////////////////////////////\n// special Read-Modify-Write operations                     //\n// address translation info is kept across read/write calls //\n//////////////////////////////////////////////////////////////\n\n\tvoid\nCMSWIN_X86_CPU::read_RMW_virtual_byte(unsigned s, Bit32u offset, Bit8u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 1);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 1, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadModifyMemByte(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\tReadModifyWriteLinearAddress = laddr;\n\n\taccess_linear(laddr, 1, CPL==3, BX_RW, (void *) data);\n}\n\n\n\tvoid\nCMSWIN_X86_CPU::read_RMW_virtual_word(unsigned s, Bit32u offset, Bit16u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 2);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 2, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadModifyMemWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\tReadModifyWriteLinearAddress = laddr;\n\n\taccess_linear(laddr, 2, CPL==3, BX_RW, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::read_RMW_virtual_dword(unsigned s, Bit32u offset, Bit32u *data)\n{\n\tBit32u laddr;\n\tbx_segment_reg_t *seg;\n\n\tseg = &BX_CPU_THIS_PTR program_visible_sregs[s];\n\twrite_virtual_checks(seg, offset, 4);\n\n\tladdr = seg->cache.u.segment.base + offset;\n\tBX_INSTR_MEM_DATA(laddr, 4, BX_READ);\n\n\t// all checks OK\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tif (!(LinearMemory->ReadModifyMemDWord(laddr,(void *) data, CPL==3)))\n\t{\n\t\tBit16u error_code;\n\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\tBX_CPU_THIS_PTR cr2 = laddr;\n\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t// if we don't maintain TLB entries without it set.\n\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t}\n\treturn;\n\n#endif\n\n\tReadModifyWriteLinearAddress = laddr;\n\n\taccess_linear(laddr, 4, CPL==3, BX_RW, (void *) data);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_RMW_virtual_byte(Bit8u val8)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 1, BX_WRITE);\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tLinearMemory->WriteModifyMemByte((void *)&val8);\n\treturn;\n\n#endif\n\n\tBit32u laddr = ReadModifyWriteLinearAddress;\n\n\taccess_linear(laddr, 1, CPL==3, BX_WRITE, (void *)&val8);\n}\n\n\tvoid\nCMSWIN_X86_CPU::write_RMW_virtual_word(Bit16u val16)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 2, BX_WRITE);\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tLinearMemory->WriteModifyMemWord((void *)&val16);\n\treturn;\n\n#endif\n\n\tBit32u laddr = ReadModifyWriteLinearAddress;\n\n\taccess_linear(laddr, 2, CPL==3, BX_WRITE, (void *)&val16);\n}\n\n  void\nCMSWIN_X86_CPU::write_RMW_virtual_dword(Bit32u val32)\n{\n\tBX_INSTR_MEM_DATA(BX_CPU_THIS_PTR address_xlation.paddress1, 4, BX_WRITE);\n\n#if (T_READ_WRITE_BYTES==1)\n\n\tLinearMemory->WriteModifyMemDWord((void *)&val32);\n\treturn;\n\n#endif\n\n\tBit32u laddr = ReadModifyWriteLinearAddress;\n\n\taccess_linear(laddr, 4, CPL==3, BX_WRITE, (void *)&val32);\n}\n\nvoid CMSWIN_X86_CPU::access_linear(Bit32u address, unsigned length, unsigned pl,\n\t\t\t\t unsigned rw, void *data)\n{\n\tbool ret_code;\n\n\tBit8u buff[16];\n\n\tif (rw==BX_WRITE)\n\t{\n\t\tif (length==4)\n\t\t{\n\t\t\tBit32u temp = *(Bit32u*)data;\n\t\t\tbuff[0] = (Bit8u)temp;\n\t\t\tbuff[1] = (Bit8u)(temp>>8);\n\t\t\tbuff[2] = (Bit8u)(temp>>16);\n\t\t\tbuff[3] = (Bit8u)(temp>>24);\n\t\t}\n\t\tif (length==2)\n\t\t{\n\t\t\tBit16u temp = *(Bit16u*)data;\n\t\t\tbuff[0] = (Bit8u)temp;\n\t\t\tbuff[1] = (Bit8u)(temp>>8);\n\t\t}\n\t\tif (length==1)\n\t\t{\n\t\t\tBit8u temp = *(Bit8u*)data;\n\t\t\tbuff[0] = (Bit8u)temp;\n\t\t}\n\n\t\tret_code = LinearMemory->WriteMemXBytes(address,length,buff,pl);\n\n\t\tif (!ret_code)\n\t\t{\n\t\t\tBit16u error_code;\n\t\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\t\tBX_CPU_THIS_PTR cr2 = address;\n\t\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t\t// if we don't maintain TLB entries without it set.\n\t\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t\t}\n\t}\n\telse\n\t{\n\t\tret_code = LinearMemory->ReadMemXBytes(address,length,buff,pl);\n\n\t\tif (!ret_code)\n\t\t{\n\t\t\tBit16u error_code;\n\t\t\terror_code |= ((CPL==3) << 2) | (1 << 1);\n\t\t\tBX_CPU_THIS_PTR cr2 = address;\n\t\t\t// invalidate entry - we can get away without maintaining A bit in PTE\n\t\t\t// if we don't maintain TLB entries without it set.\n\t\t\texception(BX_PF_EXCEPTION, error_code, 0);\n\t\t}\n\n\t\tif (length==4)\n\t\t{\n\t\t\t*(Bit32u*)data = buff[0] + (buff[1]<<8) + (buff[2]<<16) + (buff[3]<<24);\n\t\t}\n\t\tif (length==2)\n\t\t{\n\t\t\t*(Bit16u*)data = buff[0] + (buff[1]<<8) ;\n\t\t}\n\t\tif (length==1)\n\t\t{\n\t\t\t*(Bit8u*)data = buff[0];\n\t\t}\n\t}\n\n\treturn;\n}\n\nBit32u CMSWIN_X86_CPU::itranslate_linear(Bit32u laddress, unsigned pl)\n{\n\treturn 0;\n}\n\nBit32u CMSWIN_X86_CPU::dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw)\n{\n\treturn 0;\n}\n\nint CMSWIN_X86_CPU::get_physical_host_memory(void **physical_address_base)\n{\n\treturn LinearMemory->GetPhysicalHostMemory((Bit8u**)physical_address_base);\n}\n\n\tBit8u *\nCMSWIN_X86_CPU::getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp_ptr)\n{\n\tMEMORY_PAGE *mem_page;\n\tBit8u *fetch_ptr;\n\n\tmem_page = LinearMemory->GetCodePage(linear_addr);\n\n\tif( mem_page==NULL || ((mem_page->Attribute & MP_KERNEL) && CPL==3))\n\t{\n\t\tfetch_ptr = NULL;\n\t}\t\t\n\telse\n\t{\n\t\tfetch_ptr = (Bit8u*)mem_page->PhysAddr;\n\t\tif (access_stamp_ptr)\n\t\t{\n            *access_stamp_ptr = \n\t\t\t\t(Bit32u*)&mem_page->AccessExecuteCount;\n\t\t}\n\t}\n\n\tif (fetch_ptr == NULL)\n\t\texception(BX_PF_EXCEPTION, 0, 0);\n\n\treturn fetch_ptr;\n}\n\n\tvoid \nCMSWIN_X86_CPU::Init(CVEMemory *addrspace)\n{\n\tLinearMemory = addrspace;\n\tinit(mem);\n\n\tmemset(&last_read_write,0,sizeof(last_read_write));\n\tstrcpy(program_visible_sregs[BX_SEG_REG_ES].strseg,\"ES\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_CS].strseg,\"CS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_SS].strseg,\"SS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_DS].strseg,\"DS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_FS].strseg,\"FS\");\n\tstrcpy(program_visible_sregs[BX_SEG_REG_GS].strseg,\"GS\");\n\n\tprogram_visible_sregs[BX_SEG_REG_ES].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_CS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_SS].exception_number = BX_SS_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_DS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_FS].exception_number = BX_GP_EXCEPTION;\n\tprogram_visible_sregs[BX_SEG_REG_GS].exception_number = BX_GP_EXCEPTION;\n\n\treturn ;\n}\n\n\tvoid \nCMSWIN_X86_CPU::Exit(void)\n{\n\tthis->exit();\n}\n\n\tvoid\nCMSWIN_X86_CPU::Reset(void)\n{\n\treset(1);\n\tBX_CPU_THIS_PTR lf_entrys[0].instr = 0;\n\n#if (HOST_CPU_IS_I80386==1)\n\tBX_CPU_THIS_PTR eflags.x86.Word.lahf = 0x02;\n\tBX_CPU_THIS_PTR eflags.x86.Word.seto = 0x00;\n#endif\n\n    BX_CPU_THIS_PTR async_event = 0;\n\tBX_CPU_THIS_PTR program_visible_eflags = 0x02;\n\t//-----------------------------------------\n\treturn;\n}\n\n\tint\nCMSWIN_X86_CPU::Execute(int steps)\n{\n\treturn x86_cpu_loop(steps);\n}\n\n\tint\nCMSWIN_X86_CPU::LoadAll286(LOADALL286 *pLoadAll)\n{\n\tif (pLoadAll->MSW&0x01)\n\t{\n\t\tBX_CPU_THIS_PTR cr0.pe = 1;\n\t}\n\telse\n\t{\n\t\tBX_CPU_THIS_PTR cr0.pe = 0;\n\t}\n\n\tBX_CPU_THIS_PTR  write_flags(pLoadAll->fl,true,true);\n\tBX_CPU_THIS_PTR  REG_EIP = pLoadAll->ip;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_EAX) = pLoadAll->ax;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_ECX) = pLoadAll->cx;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_EDX) = pLoadAll->dx;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_EBX) = pLoadAll->bx;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_ESP) = pLoadAll->sp;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_EBP) = pLoadAll->bp;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_ESI) = pLoadAll->si;\n\tBX_CPU_THIS_PTR  GENERAL_REG_WORD(I_EDI) = pLoadAll->di;\n\n\tBX_CPU_THIS_PTR  gdtr.base = (Bit32u)pLoadAll->GDT.All.Base;\n\tBX_CPU_THIS_PTR  gdtr.limit = (Bit16u)pLoadAll->GDT.Dword.Limit;\n\tBX_CPU_THIS_PTR  idtr.base = (Bit32u)pLoadAll->GDT.All.Base;\n\tBX_CPU_THIS_PTR  idtr.limit = (Bit16u)pLoadAll->GDT.Dword.Limit;\n\n\tBX_CPU_THIS_PTR  tr.selector.value =  (Bit16u)pLoadAll->TR;\n\tBX_CPU_THIS_PTR  ldtr.selector.value =  (Bit16u)pLoadAll->LDTR;\n\tBX_CPU_THIS_PTR  program_visible_sregs[BX_SEG_REG_ES].selector.value = (Bit16u)pLoadAll->ES;\n\tBX_CPU_THIS_PTR  program_visible_sregs[BX_SEG_REG_CS].selector.value = (Bit16u)pLoadAll->CS;\n\tBX_CPU_THIS_PTR  program_visible_sregs[BX_SEG_REG_SS].selector.value = (Bit16u)pLoadAll->SS;\n\tBX_CPU_THIS_PTR  program_visible_sregs[BX_SEG_REG_DS].selector.value = (Bit16u)pLoadAll->DS;\n\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR tr,&pLoadAll->TSS);\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR ldtr,&pLoadAll->LDT);\n\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES],&pLoadAll->ES_D);\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS],&pLoadAll->CS_D);\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS],&pLoadAll->SS_D);\n\tWriteSegmentCache286(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS],&pLoadAll->DS_D);\n\tBX_CPU_THIS_PTR async_event = 0;\n\treturn 1;\n}\n\n\tint\nCMSWIN_X86_CPU::LoadAll386(LOADALL386 *pLoadAll)\n{\n\tif (pLoadAll->CR0&0x01)\n\t{\n\t\tBX_CPU_THIS_PTR cr0.pe = 1;\n\t}\n\telse\n\t{\n\t\tBX_CPU_THIS_PTR cr0.pe = 0;\n\t}\n\n\tBX_CPU_THIS_PTR write_eflags(pLoadAll->efl,true,true,true,true);\n\tBX_CPU_THIS_PTR REG_EIP = pLoadAll->eip;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_EAX) = pLoadAll->eax;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_ECX) = pLoadAll->ecx;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_EDX) = pLoadAll->edx;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_EBX) = pLoadAll->ebx;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_ESP) = pLoadAll->esp;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_EBP) = pLoadAll->ebp;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_ESI) = pLoadAll->esi;\n\tBX_CPU_THIS_PTR GENERAL_REG_DWORD(I_EDI) = pLoadAll->edi;\n\n\tBX_CPU_THIS_PTR gdtr.base = (Bit32u)pLoadAll->GDT.QWord.Base;\n\tBX_CPU_THIS_PTR gdtr.limit = (Bit16u)pLoadAll->GDT.QWord.Limit;\n\tBX_CPU_THIS_PTR idtr.base = (Bit32u)pLoadAll->IDT.QWord.Base;\n\tBX_CPU_THIS_PTR idtr.limit = (Bit16u)pLoadAll->IDT.QWord.Limit;\n\n\tBX_CPU_THIS_PTR tr.selector.value =  (Bit16u)pLoadAll->TR;\n\tBX_CPU_THIS_PTR ldtr.selector.value =  (Bit16u)pLoadAll->LDTR;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = (Bit16u)pLoadAll->ES;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value = (Bit16u)pLoadAll->CS;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value = (Bit16u)pLoadAll->SS;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = (Bit16u)pLoadAll->DS;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = (Bit16u)pLoadAll->FS;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = (Bit16u)pLoadAll->GS;\n\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR tr,&pLoadAll->TSS);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR ldtr,&pLoadAll->LDT);\n\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES],&pLoadAll->ES_D);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS],&pLoadAll->CS_D);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS],&pLoadAll->SS_D);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS],&pLoadAll->DS_D);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS],&pLoadAll->FS_D);\n\tWriteSegmentCache386(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS],&pLoadAll->GS_D);\n\tBX_CPU_THIS_PTR async_event = 0;\n\treturn 1;\n}\n\n\tBoolean\nCMSWIN_X86_CPU::WriteSegmentCache286(bx_segment_reg_t *pSegment,LOADALL286_DESCRIPTOR_T *pLoadDescriptor)\n{\n\tpSegment->selector.rpl = (Bit8u)(pSegment->selector.value&0x03);\n\tpSegment->selector.ti = ((pSegment->selector.value>>2)&0x01);\n\tpSegment->selector.index = (pSegment->selector.value>>3);\n\n\tpSegment->cache.valid = 1;\t\t\t\t\t\t\t// 0 = invalid, 1 = valid\n\tpSegment->cache.p = 1; //pLoadDescriptor->P;\t\t\t\t// present\n\tpSegment->cache.dpl = pLoadDescriptor->Descr.DPL;\t\t\t// descriptor privilege level 0..3\n\tpSegment->cache.segment = pLoadDescriptor->Descr.DT;\t\t// 0 = system/gate, 1 = data/code segment\n\tpSegment->cache.type = pLoadDescriptor->Descr.TYPE;       // For system & gate descriptors, only\n\n\tif (pSegment==&BX_CPU_THIS_PTR tr)\n\t{\n\t\tpSegment->cache.u.tss286.base = pLoadDescriptor->All.Base;\n\t\tpSegment->cache.u.tss286.limit = pLoadDescriptor->Dword.Limit;\n\t\treturn true;\n\t}\n\n\tif (pSegment==&BX_CPU_THIS_PTR ldtr)\n\t{\n\t\tpSegment->cache.u.ldt.base = pLoadDescriptor->All.Base;\n\t\tpSegment->cache.u.ldt.limit = (Bit16u)pLoadDescriptor->Dword.Limit;\n\t\treturn true;\n\t}\n\n\tpSegment->cache.u.segment.base = pLoadDescriptor->All.Base;\n\tpSegment->cache.u.segment.limit_scaled = pLoadDescriptor->Dword.Limit;\n\tpSegment->cache.u.segment.d_b = BIT16;\n\tpSegment->cache.u.segment.g = 0;\n\n\tpSegment->cache.u.segment.executable = ((pSegment->cache.type>>0x03)&0x01);\n\tpSegment->cache.u.segment.c_ed = ((pSegment->cache.type>>0x02)&0x01);\n\tpSegment->cache.u.segment.r_w = ((pSegment->cache.type>>0x01)&0x01);\n\tpSegment->cache.u.segment.a = 1;\n\n\tif ((pSegment->cache.type&0x08)==0x08)\n\t{\n\t\tpSegment->cache.u.segment.c_ed = (pSegment->cache.type>>2)&0x01;\n\t\tpSegment->cache.u.segment.executable = 1;\n\t}\n\telse\n\t{\n\t\tpSegment->cache.u.segment.c_ed = (pSegment->cache.type>>2)&0x01;\n\t\tpSegment->cache.u.segment.executable = 0;\n\t}\n\n\treturn true;\n}\n\n\tBoolean\nCMSWIN_X86_CPU::WriteSegmentCache386(bx_segment_reg_t *pSegment,LOADALL386_DESCRIPTOR_T *pLoadDescriptor)\n{\n\tpSegment->selector.rpl = (Bit8u)(pSegment->selector.value&0x03);\n\tpSegment->selector.ti = ((pSegment->selector.value>>2)&0x01);\n\tpSegment->selector.index = (pSegment->selector.value>>3);\n\n\tpSegment->cache.valid = 1;\t\t\t\t\t\t\t// 0 = invalid, 1 = valid\n\tpSegment->cache.p = 1; //pLoadDescriptor->P;\t\t// present\n\tpSegment->cache.dpl = pLoadDescriptor->Descr.DPL;\t\t\t// descriptor privilege level 0..3\n\tpSegment->cache.segment = pLoadDescriptor->Descr.DT;\t\t// 0 = system/gate, 1 = data/code segment\n\tpSegment->cache.type = pLoadDescriptor->Descr.TYPE;       // For system & gate descriptors, only\n\n\tif (pSegment==&BX_CPU_THIS_PTR tr)\n\t{\n\t\tpSegment->cache.u.tss386.base = pLoadDescriptor->QWord.Base;\n\t\tpSegment->cache.u.tss386.limit = pLoadDescriptor->QWord.Limit;\n\t\tpSegment->cache.u.tss386.limit_scaled = pLoadDescriptor->QWord.Limit;\n\t\treturn true;\n\t}\n\n\tif (pSegment==&BX_CPU_THIS_PTR ldtr)\n\t{\n\t\tpSegment->cache.u.ldt.base = pLoadDescriptor->QWord.Base;\n\t\tpSegment->cache.u.ldt.limit = (Bit16u)pLoadDescriptor->QWord.Limit;\n\t\treturn true;\n\t}\n\n\tpSegment->cache.u.segment.base = pLoadDescriptor->QWord.Base;\n\tpSegment->cache.u.segment.limit_scaled = pLoadDescriptor->QWord.Limit;\n\tpSegment->cache.u.segment.d_b = BIT32;\n\tpSegment->cache.u.segment.g = 1;\n\n\tpSegment->cache.u.segment.executable = ((pSegment->cache.type>>0x03)&0x01);\n\tpSegment->cache.u.segment.c_ed = ((pSegment->cache.type>>0x02)&0x01);\n\tpSegment->cache.u.segment.r_w = ((pSegment->cache.type>>0x01)&0x01);\n\tpSegment->cache.u.segment.a = 1;\n\n\n\tif ((pSegment->cache.type&0x08)==0x08)\n\t{\n\t\tpSegment->cache.u.segment.c_ed = (pSegment->cache.type>>2)&0x01;\n\t\tpSegment->cache.u.segment.executable = 1;\n\t}\n\telse\n\t{\n\t\tpSegment->cache.u.segment.c_ed = (pSegment->cache.type>>2)&0x01;\n\t\tpSegment->cache.u.segment.executable = 0;\n\t}\n\n\treturn true;\n}\n\n\tBoolean\nCMSWIN_X86_CPU::IntelIntFault(int _vector)\n{\n\tstatic int errorCode[0x20+0x08] =\n\t{\n\t\t0,0,0,0,\t0,0,0,0,\n\t\t1,0,1,1,\t1,1,1,0,\n\t\t0,0,0,0,\t0,0,0,0,\n\t\t0,0,0,0,\t0,0,0,0,\n\t\t0,0,0,0,\t0,0,0,0,\n\t};\n\n\tif (_vector>0x20)\n\t\t_vector= 0x20;\n\n\tif (errorCode[_vector]==1)\n\t{\n\t\tX86_ESP += 4;\n\t}\n\n\treturn true;\n}\n\n\tBoolean\nCMSWIN_X86_CPU::IntelIntIret(int _vector)\n{\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS] = BX_CPU_THIS_PTR save_cs;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS] = BX_CPU_THIS_PTR save_ss;\n\tX86_EIP = BX_CPU_THIS_PTR save_eip;\n\tX86_ESP = BX_CPU_THIS_PTR save_esp;\n\tBX_CPU_THIS_PTR eflags = BX_CPU_THIS_PTR save_eflags;\n\n\treturn true;\n}\n\tvoid\nCMSWIN_X86_CPU::UpdateContext(Boolean b)\n{\n\tif (b)\n\t{\n\t\twrite_eflags(BX_CPU_THIS_PTR program_visible_eflags,true,true,true,true);\n\t\tbytesleft = 0;\n\t}\n\telse\n\t{\n\t\tBX_CPU_THIS_PTR program_visible_eflags = read_eflags();\n\t}\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/icpu_win.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.h,v 1.0 2002/10/08 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef MSWIN_X86_CPU_H\n#define MSWIN_X86_CPU_H\n#include \"x86cpu.h\"\n\nclass CVEMemory;\n\nclass CMSWIN_X86_CPU :public BX_CPU_C\n{\npublic:\n\tvoid write_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid write_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid read_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\n\tvoid read_RMW_virtual_byte(unsigned seg, Bit32u offset, Bit8u *data);\n\tvoid read_RMW_virtual_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid read_RMW_virtual_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\tvoid write_RMW_virtual_byte(Bit8u val8);\n\tvoid write_RMW_virtual_word(Bit16u val16);\n\tvoid write_RMW_virtual_dword(Bit32u val32);\n\n\tvoid access_linear(Bit32u address, unsigned length, unsigned pl,\n\t\t\t\t unsigned rw, void *data);\n\tBit32u itranslate_linear(Bit32u laddress, unsigned pl);\n\tBit32u dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw);\n\n\tvoid write_push_word(unsigned seg, Bit32u offset, Bit16u *data);\n\tvoid write_push_dword(unsigned seg, Bit32u offset, Bit32u *data);\n\t// :physical page number physical_address_base:С physical page ıַ\n\tint get_physical_host_memory(void **physical_address_base);\n\tBit8u *getHostMemPtr(Bit32u linear_addr,unsigned op,Bit32u **access_stamp);\n\n\t//X86 CPU ʼ \n\tvoid Init(CVEMemory *addrspace);\n\t//X86 CPU ʼ \n\tvoid Exit(void);\n\t//X86 CPU λ\n\tvoid Reset(void);\n\t//ÿһαִָִеָ -1ִʧ.\n\tint Execute(int steps=1);\n\t//һβװе CPU Ĵ\n\tint LoadAll286(LOADALL286 *pLoadAll);\n\tint LoadAll386(LOADALL386 *pLoadAll);\n\tBoolean WriteSegmentCache286(bx_segment_reg_t *pSegment,LOADALL286_DESCRIPTOR_T *pLoadDescriptor);\n\tBoolean WriteSegmentCache386(bx_segment_reg_t *pSegment,LOADALL386_DESCRIPTOR_T *pLoadDescriptor);\n\t//쳣º\n\tBoolean IntelIntFault(int _vector);\n\tBoolean IntelIntIret(int _vector);\n\tvoid UpdateContext(Boolean b);\n\tCVEMemory *LinearMemory;\n\tunsigned int ReadModifyWriteLinearAddress;\n};\n\n#endif //#ifndef MSWIN_X86_CPU_H\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/init.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: init.cc,v 1.15 2002/03/27 16:04:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n/* the device id and stepping id are loaded into DH & DL upon processor\n   startup.  for device id: 3 = 80386, 4 = 80486.  just make up a\n   number for the stepping (revision) id. */\n#define BX_DEVICE_ID     3\n#define BX_STEPPING_ID   0\n\nBX_CPU_C::BX_CPU_C()\n#if BX_SUPPORT_APIC\n   : local_apic (this)\n#endif\n{\n  // in case of SMF, you cannot reference any member data\n  // in the constructor because the only access to it is via\n  // global variables which aren't initialized quite yet.\n  put(\"CPU\");\n  settype (CPU0LOG);\n}\n\nvoid BX_CPU_C::init(BX_MEM_C *addrspace)\n{\n  mem = addrspace;\n\n  sanity_checks();\n\n  BX_DEBUG(( \"Init $Id: init.cc,v 1.15 2002/03/27 16:04:05 bdenney Exp $\"));\n  // BX_CPU_C constructor\n  BX_CPU_THIS_PTR set_INTR (0);\n#if BX_SUPPORT_APIC\n  local_apic.init ();\n#endif\n  // in SMP mode, the prefix of the CPU will be changed to [CPUn] in \n  // bx_local_apic_c::set_id as soon as the apic ID is assigned.\n\n  /* hack for the following fields.  Its easier to decode mod-rm bytes if\n     you can assume there's always a base & index register used.  For\n     modes which don't really use them, point to an empty (zeroed) register.\n   */\n  empty_register = 0;\n\n  bytes_ptr[0] = &program_visible_gen_reg[0].word.byte.rl;\n  bytes_ptr[1] = &program_visible_gen_reg[1].word.byte.rl;\n  bytes_ptr[2] = &program_visible_gen_reg[2].word.byte.rl;\n  bytes_ptr[3] = &program_visible_gen_reg[3].word.byte.rl;\n  bytes_ptr[4] = &program_visible_gen_reg[0].word.byte.rh;\n  bytes_ptr[5] = &program_visible_gen_reg[1].word.byte.rh;\n  bytes_ptr[6] = &program_visible_gen_reg[2].word.byte.rh;\n  bytes_ptr[7] = &program_visible_gen_reg[3].word.byte.rh;\n\n  // 16bit address mode base register, used for mod-rm decoding\n\n  _16bit_base_reg[0] = &program_visible_gen_reg[BX_16BIT_REG_BX].word.rx;\n  _16bit_base_reg[1] = &program_visible_gen_reg[BX_16BIT_REG_BX].word.rx;\n  _16bit_base_reg[2] = &program_visible_gen_reg[BX_16BIT_REG_BP].word.rx;\n  _16bit_base_reg[3] = &program_visible_gen_reg[BX_16BIT_REG_BP].word.rx;\n  _16bit_base_reg[4] = (Bit16u*) &empty_register;\n  _16bit_base_reg[5] = (Bit16u*) &empty_register;\n  _16bit_base_reg[6] = &program_visible_gen_reg[BX_16BIT_REG_BP].word.rx;\n  _16bit_base_reg[7] = &program_visible_gen_reg[BX_16BIT_REG_BX].word.rx;\n\n  // 16bit address mode index register, used for mod-rm decoding\n  _16bit_index_reg[0] = &program_visible_gen_reg[BX_16BIT_REG_SI].word.rx;\n  _16bit_index_reg[1] = &program_visible_gen_reg[BX_16BIT_REG_DI].word.rx;\n  _16bit_index_reg[2] = &program_visible_gen_reg[BX_16BIT_REG_SI].word.rx;\n  _16bit_index_reg[3] = &program_visible_gen_reg[BX_16BIT_REG_DI].word.rx;\n  _16bit_index_reg[4] = &program_visible_gen_reg[BX_16BIT_REG_SI].word.rx;\n  _16bit_index_reg[5] = &program_visible_gen_reg[BX_16BIT_REG_DI].word.rx;\n  _16bit_index_reg[6] = (Bit16u*) &empty_register;\n  _16bit_index_reg[7] = (Bit16u*) &empty_register;\n\n  // for decoding instructions: access to seg reg's via index number\n  sreg_mod00_rm16[0] = BX_SEG_REG_DS;\n  sreg_mod00_rm16[1] = BX_SEG_REG_DS;\n  sreg_mod00_rm16[2] = BX_SEG_REG_SS;\n  sreg_mod00_rm16[3] = BX_SEG_REG_SS;\n  sreg_mod00_rm16[4] = BX_SEG_REG_DS;\n  sreg_mod00_rm16[5] = BX_SEG_REG_DS;\n  sreg_mod00_rm16[6] = BX_SEG_REG_DS;\n  sreg_mod00_rm16[7] = BX_SEG_REG_DS;\n\n  sreg_mod01_rm16[0] = BX_SEG_REG_DS;\n  sreg_mod01_rm16[1] = BX_SEG_REG_DS;\n  sreg_mod01_rm16[2] = BX_SEG_REG_SS;\n  sreg_mod01_rm16[3] = BX_SEG_REG_SS;\n  sreg_mod01_rm16[4] = BX_SEG_REG_DS;\n  sreg_mod01_rm16[5] = BX_SEG_REG_DS;\n  sreg_mod01_rm16[6] = BX_SEG_REG_SS;\n  sreg_mod01_rm16[7] = BX_SEG_REG_DS;\n\n  sreg_mod10_rm16[0] = BX_SEG_REG_DS;\n  sreg_mod10_rm16[1] = BX_SEG_REG_DS;\n  sreg_mod10_rm16[2] = BX_SEG_REG_SS;\n  sreg_mod10_rm16[3] = BX_SEG_REG_SS;\n  sreg_mod10_rm16[4] = BX_SEG_REG_DS;\n  sreg_mod10_rm16[5] = BX_SEG_REG_DS;\n  sreg_mod10_rm16[6] = BX_SEG_REG_SS;\n  sreg_mod10_rm16[7] = BX_SEG_REG_DS;\n\n  // the default segment to use for a one-byte modrm with mod==01b\n  // and rm==i\n  //\n  sreg_mod01_rm32[0] = BX_SEG_REG_DS;\n  sreg_mod01_rm32[1] = BX_SEG_REG_DS;\n  sreg_mod01_rm32[2] = BX_SEG_REG_DS;\n  sreg_mod01_rm32[3] = BX_SEG_REG_DS;\n  sreg_mod01_rm32[4] = BX_SEG_REG_NULL;\n    // this entry should never be accessed\n    // (escape to 2-byte)\n  sreg_mod01_rm32[5] = BX_SEG_REG_SS;\n  sreg_mod01_rm32[6] = BX_SEG_REG_DS;\n  sreg_mod01_rm32[7] = BX_SEG_REG_DS;\n\n  // the default segment to use for a one-byte modrm with mod==10b\n  // and rm==i\n  //\n  sreg_mod10_rm32[0] = BX_SEG_REG_DS;\n  sreg_mod10_rm32[1] = BX_SEG_REG_DS;\n  sreg_mod10_rm32[2] = BX_SEG_REG_DS;\n  sreg_mod10_rm32[3] = BX_SEG_REG_DS;\n  sreg_mod10_rm32[4] = BX_SEG_REG_NULL;\n    // this entry should never be accessed\n    // (escape to 2-byte)\n  sreg_mod10_rm32[5] = BX_SEG_REG_SS;\n  sreg_mod10_rm32[6] = BX_SEG_REG_DS;\n  sreg_mod10_rm32[7] = BX_SEG_REG_DS;\n\n\n  // the default segment to use for a two-byte modrm with mod==00b\n  // and base==i\n  //\n  sreg_mod0_base32[0] = BX_SEG_REG_DS;\n  sreg_mod0_base32[1] = BX_SEG_REG_DS;\n  sreg_mod0_base32[2] = BX_SEG_REG_DS;\n  sreg_mod0_base32[3] = BX_SEG_REG_DS;\n  sreg_mod0_base32[4] = BX_SEG_REG_SS;\n  sreg_mod0_base32[5] = BX_SEG_REG_DS;\n  sreg_mod0_base32[6] = BX_SEG_REG_DS;\n  sreg_mod0_base32[7] = BX_SEG_REG_DS;\n\n  // the default segment to use for a two-byte modrm with\n  // mod==01b or mod==10b and base==i\n  sreg_mod1or2_base32[0] = BX_SEG_REG_DS;\n  sreg_mod1or2_base32[1] = BX_SEG_REG_DS;\n  sreg_mod1or2_base32[2] = BX_SEG_REG_DS;\n  sreg_mod1or2_base32[3] = BX_SEG_REG_DS;\n  sreg_mod1or2_base32[4] = BX_SEG_REG_SS;\n  sreg_mod1or2_base32[5] = BX_SEG_REG_SS;\n  sreg_mod1or2_base32[6] = BX_SEG_REG_DS;\n  sreg_mod1or2_base32[7] = BX_SEG_REG_DS;\n\n#if BX_DYNAMIC_TRANSLATION\n  DTWrite8vShim = NULL;\n  DTWrite16vShim = NULL;\n  DTWrite32vShim = NULL;\n  DTRead8vShim = NULL;\n  DTRead16vShim = NULL;\n  DTRead32vShim = NULL;\n  DTReadRMW8vShim = (BxDTShim_t) DTASReadRMW8vShim;\n  BX_DEBUG(( \"DTReadRMW8vShim is %x\", (unsigned) DTReadRMW8vShim ));\n  BX_DEBUG(( \"&DTReadRMW8vShim is %x\", (unsigned) &DTReadRMW8vShim ));\n  DTReadRMW16vShim = NULL;\n  DTReadRMW32vShim = NULL;\n  DTWriteRMW8vShim = (BxDTShim_t) DTASWriteRMW8vShim;\n  DTWriteRMW16vShim = NULL;\n  DTWriteRMW32vShim = NULL;\n  DTSetFlagsOSZAPCPtr = (BxDTShim_t) DTASSetFlagsOSZAPC;\n  DTIndBrHandler = (BxDTShim_t) DTASIndBrHandler;\n  DTDirBrHandler = (BxDTShim_t) DTASDirBrHandler;\n#endif\n\n  sprintf (name, \"CPU %p\", this);\n\n  BX_INSTR_INIT();\n\n#if BX_SupportICache\n  void *physical_address_base;\n  int physical_pages;\n  physical_pages = get_physical_host_memory(&physical_address_base);\n  mem_len = (physical_pages<<12);\n  //=============================\n  iCache.init();\n  iCache.alloc(mem_len);\n  iCache.fetchModeMask = 0; // KPL: fixme!!!\n#endif\n\n}\n\n  void \nBX_CPU_C::exit(void)\n{\n#if BX_SupportICache\n\tiCache.exit();\n#endif\n\treturn ;\n}\n\nBX_CPU_C::~BX_CPU_C(void)\n{\n  BX_INSTR_SHUTDOWN();\n  BX_DEBUG(( \"Exit.\"));\n}\n\n  void\nBX_CPU_C::reset(unsigned source)\n{\n#if BX_SupportICache\n  memset(&BX_CPU_THIS_PTR stamp,0,sizeof(BX_CPU_THIS_PTR stamp));\n  BX_CPU_THIS_PTR iCache.iAllocStamp = 0;\n#endif\n  UNUSED(source); // either BX_RESET_HARDWARE or BX_RESET_SOFTWARE\n\n  // general registers\n  X86_EAX = 0; // processor passed test :-)\n  X86_EBX = 0; // undefined\n  X86_ECX = 0; // undefined\n  X86_EDX = (BX_DEVICE_ID << 8) | BX_STEPPING_ID; // ???\n  X86_EBP = 0; // undefined\n  X86_ESI = 0; // undefined\n  X86_EDI = 0; // undefined\n  X86_ESP = 0; // undefined\n\n  // all status flags at known values, use BX_CPU_THIS_PTR eflags structure\n  BX_CPU_THIS_PTR lf_flags_status = 0;\n\n  // status and control flags register set\n  BX_CPU_THIS_PTR set_CF(0);\n  BX_CPU_THIS_PTR eflags.bit1 = 1;\n  BX_CPU_THIS_PTR set_PF(0);\n  BX_CPU_THIS_PTR eflags.bit3 = 0;\n  BX_CPU_THIS_PTR set_AF(0);\n  BX_CPU_THIS_PTR eflags.bit5 = 0;\n  BX_CPU_THIS_PTR set_ZF(0);\n  BX_CPU_THIS_PTR set_SF(0);\n  BX_CPU_THIS_PTR eflags.tf = 0;\n  BX_CPU_THIS_PTR eflags.if_ = 0;\n  BX_CPU_THIS_PTR eflags.df = 0;\n  BX_CPU_THIS_PTR set_OF(0);\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR eflags.iopl = 0;\n  BX_CPU_THIS_PTR eflags.nt = 0;\n#endif\n  BX_CPU_THIS_PTR eflags.bit15 = 0;\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR eflags.rf = 0;\n  BX_CPU_THIS_PTR eflags.vm = 0;\n#endif\n#if BX_CPU_LEVEL >= 4\n  BX_CPU_THIS_PTR eflags.ac = 0;\n#endif\n\n  BX_CPU_THIS_PTR inhibit_mask = 0;\n  BX_CPU_THIS_PTR debug_trap = 0;\n\n  /* instruction pointer */\n#if BX_CPU_LEVEL < 2\n  BX_CPU_THIS_PTR prev_eip =\n  BX_CPU_THIS_PTR program_visible_eip = 0x00000000;\n#else /* from 286 up */\n  BX_CPU_THIS_PTR prev_eip =\n  BX_CPU_THIS_PTR program_visible_eip = 0x0000FFF0;\n#endif\n\n\n  /* CS (Code Segment) and descriptor cache */\n  /* Note: on a real cpu, CS initially points to upper memory.  After\n   * the 1st jump, the descriptor base is zero'd out.  Since I'm just\n   * going to jump to my BIOS, I don't need to do this.\n   * For future reference:\n   *   processor  cs.selector   cs.base    cs.limit    EIP\n   *        8086    FFFF          FFFF0        FFFF   0000\n   *        286     F000         FF0000        FFFF   FFF0\n   *        386+    F000       FFFF0000        FFFF   FFF0\n   */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value =     0xf000;\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.executable   = 1; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base         = 0x000F0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled =     0xFFFF;\n#endif\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.avl = 0;\n#endif\n\n\n  /* SS (Stack Segment) and descriptor cache */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value =     0x0000;\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.executable   = 0; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base         = 0x00000000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled =     0xFFFF;\n#endif\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.avl = 0;\n#endif\n\n\n  /* DS (Data Segment) and descriptor cache */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value =     0x0000;\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.executable   = 0; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base         = 0x00000000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit_scaled =     0xFFFF;\n#endif\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.avl = 0;\n#endif\n\n\n  /* ES (Extra Segment) and descriptor cache */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value =     0x0000;\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.executable   = 0; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base         = 0x00000000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit_scaled =     0xFFFF;\n#endif\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.avl = 0;\n#endif\n\n\n  /* FS and descriptor cache */\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.executable   = 0; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base         = 0x00000000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit_scaled =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.avl = 0;\n#endif\n\n\n  /* GS and descriptor cache */\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.index =     0x0000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.ti = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.rpl = 0;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid =     1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.p = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.dpl = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.segment = 1; /* data/code segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.type = 3; /* read/write access */\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.executable   = 0; /* data/stack segment */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.c_ed         = 0; /* normal expand up */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.r_w          = 1; /* writeable */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.a            = 1; /* accessed */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base         = 0x00000000;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit        =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit_scaled =     0xFFFF;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.g   = 0; /* byte granular */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.d_b = 0; /* 16bit default size */\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.avl = 0;\n#endif\n\n\n\n  /* GDTR (Global Descriptor Table Register) */\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR gdtr.base         = 0x00000000;  /* undefined */\n  BX_CPU_THIS_PTR gdtr.limit        =     0x0000;  /* undefined */\n  /* ??? AR=Present, Read/Write */\n#endif\n\n  /* IDTR (Interrupt Descriptor Table Register) */\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR idtr.base         = 0x00000000;\n  BX_CPU_THIS_PTR idtr.limit        =     0x03FF; /* always byte granular */ /* ??? */\n  /* ??? AR=Present, Read/Write */\n#endif\n\n  /* LDTR (Local Descriptor Table Register) */\n#if BX_CPU_LEVEL >= 2\n  BX_CPU_THIS_PTR ldtr.selector.value =     0x0000;\n  BX_CPU_THIS_PTR ldtr.selector.index =     0x0000;\n  BX_CPU_THIS_PTR ldtr.selector.ti = 0;\n  BX_CPU_THIS_PTR ldtr.selector.rpl = 0;\n\n  BX_CPU_THIS_PTR ldtr.cache.valid   = 0; /* not valid */\n  BX_CPU_THIS_PTR ldtr.cache.p       = 0; /* not present */\n  BX_CPU_THIS_PTR ldtr.cache.dpl     = 0; /* field not used */\n  BX_CPU_THIS_PTR ldtr.cache.segment = 0; /* system segment */\n  BX_CPU_THIS_PTR ldtr.cache.type    = 2; /* LDT descriptor */\n\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.base      = 0x00000000;\n  BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit     =     0xFFFF;\n#endif\n\n  /* TR (Task Register) */\n#if BX_CPU_LEVEL >= 2\n  /* ??? I don't know what state the TR comes up in */\n  BX_CPU_THIS_PTR tr.selector.value =     0x0000;\n  BX_CPU_THIS_PTR tr.selector.index =     0x0000; /* undefined */\n  BX_CPU_THIS_PTR tr.selector.ti    =     0;\n  BX_CPU_THIS_PTR tr.selector.rpl   =     0;\n\n  BX_CPU_THIS_PTR tr.cache.valid    = 0;\n  BX_CPU_THIS_PTR tr.cache.p        = 0;\n  BX_CPU_THIS_PTR tr.cache.dpl      = 0; /* field not used */\n  BX_CPU_THIS_PTR tr.cache.segment  = 0;\n  BX_CPU_THIS_PTR tr.cache.type     = 0; /* invalid */\n  BX_CPU_THIS_PTR tr.cache.u.tss286.base             = 0x00000000; /* undefined */\n  BX_CPU_THIS_PTR tr.cache.u.tss286.limit            =     0x0000; /* undefined */\n#endif\n\n  // DR0 - DR7 (Debug Registers)\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR dr0 = 0;   /* undefined */\n  BX_CPU_THIS_PTR dr1 = 0;   /* undefined */\n  BX_CPU_THIS_PTR dr2 = 0;   /* undefined */\n  BX_CPU_THIS_PTR dr3 = 0;   /* undefined */\n#endif\n#if   BX_CPU_LEVEL == 3\n  BX_CPU_THIS_PTR dr6 = 0xFFFF1FF0;\n  BX_CPU_THIS_PTR dr7 = 0x00000400;\n#elif BX_CPU_LEVEL == 4\n  BX_CPU_THIS_PTR dr6 = 0xFFFF1FF0;\n  BX_CPU_THIS_PTR dr7 = 0x00000400;\n#elif BX_CPU_LEVEL == 5\n  BX_CPU_THIS_PTR dr6 = 0xFFFF0FF0;\n  BX_CPU_THIS_PTR dr7 = 0x00000400;\n#elif BX_CPU_LEVEL == 6\n  BX_CPU_THIS_PTR dr6 = 0xFFFF0FF0;\n  BX_CPU_THIS_PTR dr7 = 0x00000400;\n#else\n#  error \"DR6,7: CPU > 6\"\n#endif\n\n#if 0\n  /* test registers 3-7 (unimplemented) */\n  BX_CPU_THIS_PTR tr3 = 0;   /* undefined */\n  BX_CPU_THIS_PTR tr4 = 0;   /* undefined */\n  BX_CPU_THIS_PTR tr5 = 0;   /* undefined */\n  BX_CPU_THIS_PTR tr6 = 0;   /* undefined */\n  BX_CPU_THIS_PTR tr7 = 0;   /* undefined */\n#endif\n\n#if BX_CPU_LEVEL >= 2\n  // MSW (Machine Status Word), so called on 286\n  // CR0 (Control Register 0), so called on 386+\n  BX_CPU_THIS_PTR cr0.ts = 0; // no task switch\n  BX_CPU_THIS_PTR cr0.em = 0; // emulate math coprocessor\n  BX_CPU_THIS_PTR cr0.mp = 0; // wait instructions not trapped\n  BX_CPU_THIS_PTR cr0.pe = 0; // real mode\n  BX_CPU_THIS_PTR cr0.val32 = 0;\n\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR cr0.pg = 0; // paging disabled\n  // no change to cr0.val32\n#endif\n\n#if BX_CPU_LEVEL >= 4\n  BX_CPU_THIS_PTR cr0.cd = 1; // caching disabled\n  BX_CPU_THIS_PTR cr0.nw = 1; // not write-through\n  BX_CPU_THIS_PTR cr0.am = 0; // disable alignment check\n  BX_CPU_THIS_PTR cr0.wp = 0; // disable write-protect\n  BX_CPU_THIS_PTR cr0.ne = 0; // ndp exceptions through int 13H, DOS compat\n  BX_CPU_THIS_PTR cr0.val32 |= 0x60000000;\n#endif\n\n  // handle reserved bits\n#if BX_CPU_LEVEL == 3\n  // reserved bits all set to 1 on 386\n  BX_CPU_THIS_PTR cr0.val32 |= 0x7ffffff0;\n#elif BX_CPU_LEVEL >= 4\n  // bit 4 is hardwired to 1 on all x86\n  BX_CPU_THIS_PTR cr0.val32 |= 0x00000010;\n#endif\n#endif // CPU >= 2\n\n\n#if BX_CPU_LEVEL >= 3\n  BX_CPU_THIS_PTR cr2 = 0;\n  BX_CPU_THIS_PTR cr3 = 0;\n#endif\n#if BX_CPU_LEVEL >= 4\n  BX_CPU_THIS_PTR cr4 = 0;\n#endif\n\n/* initialise MSR registers to defaults */\n#if BX_CPU_LEVEL >= 5\n  /* APIC Address, APIC enabled and BSP is default, we'll fill in the rest later */\n  BX_CPU_THIS_PTR msr.apicbase = (APIC_BASE_ADDR << 12) + 0x900;\n#endif\n\n  BX_CPU_THIS_PTR EXT = 0;\n  //BX_INTR = 0;\n\n#if BX_SUPPORT_PAGING\n#if BX_USE_TLB\n  TLB_init();\n#endif // BX_USE_TLB\n#endif // BX_SUPPORT_PAGING\n\n  BX_CPU_THIS_PTR bytesleft = 0;\n  BX_CPU_THIS_PTR fetch_ptr = NULL;\n  BX_CPU_THIS_PTR prev_linear_page = 0;\n  BX_CPU_THIS_PTR prev_phy_page = 0;\n  BX_CPU_THIS_PTR max_phy_addr = 0;\n\n  //===================================\n  BX_CPU_THIS_PTR eipPageBias = 0;\n  BX_CPU_THIS_PTR eipPageWindowSize = 0;\n  BX_CPU_THIS_PTR eipFetchPtr = NULL;\n  //===================================\n\n#if BX_DEBUGGER\n#ifdef MAGIC_BREAKPOINT\n  BX_CPU_THIS_PTR magic_break = 0;\n#endif\n  BX_CPU_THIS_PTR stop_reason = STOP_NO_REASON;\n  BX_CPU_THIS_PTR trace = 0;\n#endif\n\n  // Init the Floating Point Unit\n  fpu_init();\n\n#if BX_DYNAMIC_TRANSLATION\n  dynamic_init();\n#endif\n\n#if (BX_SMP_PROCESSORS > 1)\n  // notice if I'm the bootstrap processor.  If not, do the equivalent of\n  // a HALT instruction.\n  int apic_id = local_apic.get_id ();\n  if (BX_BOOTSTRAP_PROCESSOR == apic_id)\n  {\n    // boot normally\n    BX_CPU_THIS_PTR bsp = 1;\n    BX_CPU_THIS_PTR msr.apicbase |= 0x0100;\t/* set bit 8 BSP */\n    BX_INFO((\"CPU[%d] is the bootstrap processor\", apic_id));\n  } else {\n    // it's an application processor, halt until IPI is heard.\n    BX_CPU_THIS_PTR bsp = 0;\n    BX_CPU_THIS_PTR msr.apicbase &= ~0x0100;\t/* clear bit 8 BSP */\n    BX_INFO((\"CPU[%d] is an application processor. Halting until IPI.\", apic_id));\n    debug_trap |= 0x80000000;\n    async_event = 1;\n  }\n#endif\n}\n\n\n  void\nBX_CPU_C::sanity_checks(void)\n{\n  Bit8u al, cl, dl, bl, ah, ch, dh, bh;\n  Bit16u ax, cx, dx, bx, sp, bp, si, di;\n  Bit32u eax, ecx, edx, ebx, esp, ebp, esi, edi;\n\n  if (sizeof(Bit8u)!=1||\n\t  sizeof(Bit16u)!=2||\n\t  sizeof(Bit32u)!=4)\n  {\n    BX_PANIC((\"problems using Bit8u Bit16u Bit32u!\"));\n  }\n\n  X86_EAX = 0xFFEEDDCC;\n  X86_ECX = 0xBBAA9988;\n  X86_EDX = 0x77665544;\n  X86_EBX = 0x332211FF;\n  X86_ESP = 0xEEDDCCBB;\n  X86_EBP = 0xAA998877;\n  X86_ESI = 0x66554433;\n  X86_EDI = 0x2211FFEE;\n\n  al = X86_AL;\n  cl = X86_CL;\n  dl = X86_DL;\n  bl = X86_BL;\n  ah = X86_AH;\n  ch = X86_CH;\n  dh = X86_DH;\n  bh = X86_BH;\n\n  if ( al != (X86_EAX & 0xFF) ||\n       cl != (X86_ECX & 0xFF) ||\n       dl != (X86_EDX & 0xFF) ||\n       bl != (X86_EBX & 0xFF) ||\n       ah != ((X86_EAX >> 8) & 0xFF) ||\n       ch != ((X86_ECX >> 8) & 0xFF) ||\n       dh != ((X86_EDX >> 8) & 0xFF) ||\n       bh != ((X86_EBX >> 8) & 0xFF) ) {\n    BX_PANIC((\"problems using BX_READ_8BIT_REG()!\"));\n    }\n\n  ax = X86_AX;\n  cx = X86_CX;\n  dx = X86_DX;\n  bx = X86_BX;\n  sp = X86_SP;\n  bp = X86_BP;\n  si = X86_SI;\n  di = X86_DI;\n\n  if ( ax != (X86_EAX & 0xFFFF) ||\n       cx != (X86_ECX & 0xFFFF) ||\n       dx != (X86_EDX & 0xFFFF) ||\n       bx != (X86_EBX & 0xFFFF) ||\n       sp != (X86_ESP & 0xFFFF) ||\n       bp != (X86_EBP & 0xFFFF) ||\n       si != (X86_ESI & 0xFFFF) ||\n       di != (X86_EDI & 0xFFFF) ) {\n    BX_PANIC((\"problems using BX_READ_16BIT_REG()!\"));\n    }\n\n\n  eax = X86_EAX;\n  ecx = X86_ECX;\n  edx = X86_EDX;\n  ebx = X86_EBX;\n  esp = X86_ESP;\n  ebp = X86_EBP;\n  esi = X86_ESI;\n  edi = X86_EDI;\n\n\n  if (sizeof(Bit8u)  != 1  ||  sizeof(Bit8s)  != 1)\n    BX_PANIC((\"data type Bit8u or Bit8s is not of length 1 byte!\"));\n  if (sizeof(Bit16u) != 2  ||  sizeof(Bit16s) != 2)\n    BX_PANIC((\"data type Bit16u or Bit16s is not of length 2 bytes!\"));\n  if (sizeof(Bit32u) != 4  ||  sizeof(Bit32s) != 4)\n    BX_PANIC((\"data type Bit32u or Bit32s is not of length 4 bytes!\"));\n\n  BX_DEBUG(( \"#(%u)all sanity checks passed!\", BX_SIM_ID ));\n}\n\n\n  void\nBX_CPU_C::set_INTR(Boolean value)\n{\n  BX_CPU_THIS_PTR INTR = value;\n  BX_CPU_THIS_PTR async_event = 1;\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/instrume.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: instrument.h,v 1.5 2001/10/03 13:10:38 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n// possible types passed to BX_INSTR_TLB_CNTRL()\n#define BX_INSTR_MOV_CR3     10\n#define BX_INSTR_INVLPG      11\n#define BX_INSTR_TASKSWITCH  12\n\n// possible types passed to BX_INSTR_CACHE_CNTRL()\n#define BX_INSTR_INVD      20\n#define BX_INSTR_WBINVD    21\n\n\n\n#if BX_INSTRUMENTATION\n\n#define BX_INSTR_IS_CALL  10\n#define BX_INSTR_IS_RET   11\n#define BX_INSTR_IS_IRET  12\n#define BX_INSTR_IS_JMP   13\n#define BX_INSTR_IS_INT   14\n\n\n// called from the CPU core\nvoid bx_instr_cnear_branch_taken(Bit32u new_eip);\nvoid bx_instr_cnear_branch_not_taken(void);\nvoid bx_instr_ucnear_branch(unsigned what, Bit32u new_eip);\nvoid bx_instr_far_branch(unsigned what, Bit32u new_cs, Bit32u new_eip);\nvoid bx_instr_opcode_byte1(Bit8u);\nvoid bx_instr_opcode_byte2(Bit8u);\nvoid bx_instr_opcode_g1ebib(unsigned nnn);\nvoid bx_instr_opcode_g1eviv(unsigned nnn);\nvoid bx_instr_opcode_g1evib(unsigned nnn);\nvoid bx_instr_opcode_g2ebib(unsigned nnn);\nvoid bx_instr_opcode_g2evib(unsigned nnn);\nvoid bx_instr_opcode_g2eb1(unsigned nnn);\nvoid bx_instr_opcode_g2ev1(unsigned nnn);\nvoid bx_instr_opcode_g2ebcl(unsigned nnn);\nvoid bx_instr_opcode_g2evcl(unsigned nnn);\nvoid bx_instr_opcode_g3eb(unsigned nnn);\nvoid bx_instr_opcode_g3ev(unsigned nnn);\nvoid bx_instr_opcode_g4(unsigned nnn);\nvoid bx_instr_opcode_g5(unsigned nnn);\nvoid bx_instr_opcode_g6(unsigned nnn);\nvoid bx_instr_opcode_g7(unsigned nnn);\nvoid bx_instr_opcode_g8evib(unsigned nnn);\nvoid bx_instr_mem_code(Bit32u linear, unsigned size);\nvoid bx_instr_mem_data(Bit32u linear, unsigned size, unsigned rw);\nvoid bx_instr_opcode_begin(Bit32u linear);\nvoid bx_instr_opcode_end(Bit32u linear);\nvoid bx_instr_fetch_byte(Bit8u val8);\nvoid bx_instr_fetch_word(Bit16u val16);\nvoid bx_instr_fetch_dword(Bit32u val32);\nvoid bx_instr_phy_write(Bit32u addr, unsigned len);\nvoid bx_instr_phy_read(Bit32u addr, unsigned len);\nvoid bx_instr_interrupt(unsigned _vector);\nvoid bx_instr_exception(unsigned _vector);\nvoid bx_instr_inp(Bit16u addr, unsigned len);\nvoid bx_instr_outp(Bit16u addr, unsigned len);\nvoid bx_instr_inp2(Bit16u addr, unsigned len, unsigned val);\nvoid bx_instr_outp2(Bit16u addr, unsigned len, unsigned val);\nvoid bx_instr_tlb_cntrl(unsigned what, Bit32u newval);\nvoid bx_instr_cache_cntrl(unsigned what);\nvoid bx_instr_hwinterrupt(unsigned _vector, Bit32u cs, Bit32u eip);\nvoid bx_instr_init(void);\nvoid bx_instr_shutdown(void);\nvoid bx_instr_opcode_repeating(void);\nvoid bx_instr_prefix_as(void);\nvoid bx_instr_prefix_os(void);\nvoid bx_instr_prefix_rep(void);\nvoid bx_instr_prefix_repne(void);\nvoid bx_instr_prefix_lock(void);\nvoid bx_instr_prefix_cs(void);\nvoid bx_instr_prefix_ss(void);\nvoid bx_instr_prefix_ds(void);\nvoid bx_instr_prefix_es(void);\nvoid bx_instr_prefix_fs(void);\nvoid bx_instr_prefix_gs(void);\nvoid bx_instr_modrm32(unsigned modrm);\nvoid bx_instr_sib32(unsigned sib);\nvoid bx_instr_modrm16(unsigned modrm);\nvoid bx_instr_iret(void);\nvoid bx_instr_debug_prompt(void);\nvoid bx_instr_lin_read(Bit32u lin, Bit32u phy, unsigned len);\nvoid bx_instr_lin_write(Bit32u lin, Bit32u phy, unsigned len);\n\n// called from the debug prompt\nvoid bx_instr_start(void);\nvoid bx_instr_stop(void);\nvoid bx_instr_reset(void);\nvoid bx_instr_print(void);\n\n#  define BX_INSTR_INIT()                      bx_instr_init()\n#  define BX_INSTR_SHUTDOWN()                  bx_instr_shutdown()\n#  define BX_INSTR_CNEAR_BRANCH_TAKEN(new_eip) bx_instr_cnear_branch_taken(new_eip)\n#  define BX_INSTR_CNEAR_BRANCH_NOT_TAKEN()    bx_instr_cnear_branch_not_taken()\n#  define BX_INSTR_UCNEAR_BRANCH(what, new_eip) bx_instr_ucnear_branch(what, new_eip)\n#  define BX_INSTR_FAR_BRANCH(what, new_cs, new_eip) bx_instr_far_branch(what, new_cs, new_eip)\n#  define BX_INSTR_OPCODE_BEGIN(linear)        bx_instr_opcode_begin(linear)\n#  define BX_INSTR_OPCODE_END(linear)          bx_instr_opcode_end(linear)\n#  define BX_INSTR_OPCODE_BYTE1(b)             bx_instr_opcode_byte1(b)\n#  define BX_INSTR_OPCODE_BYTE2(b)             bx_instr_opcode_byte2(b)\n#  define BX_INSTR_OPCODE_G1EbIb(nnn)          bx_instr_opcode_g1ebib(nnn)\n#  define BX_INSTR_OPCODE_G1EvIv(nnn)          bx_instr_opcode_g1eviv(nnn)\n#  define BX_INSTR_OPCODE_G1EvIb(nnn)          bx_instr_opcode_g1evib(nnn)\n#  define BX_INSTR_OPCODE_G2EbIb(nnn)          bx_instr_opcode_g2ebib(nnn)\n#  define BX_INSTR_OPCODE_G2EvIb(nnn)          bx_instr_opcode_g2evib(nnn)\n#  define BX_INSTR_OPCODE_G2Eb1(nnn)           bx_instr_opcode_g2eb1(nnn)\n#  define BX_INSTR_OPCODE_G2Ev1(nnn)           bx_instr_opcode_g2ev1(nnn)\n#  define BX_INSTR_OPCODE_G2EbCL(nnn)          bx_instr_opcode_g2ebcl(nnn)\n#  define BX_INSTR_OPCODE_G2EvCL(nnn)          bx_instr_opcode_g2evcl(nnn)\n#  define BX_INSTR_OPCODE_G3Eb(nnn)            bx_instr_opcode_g3eb(nnn)\n#  define BX_INSTR_OPCODE_G3Ev(nnn)            bx_instr_opcode_g3ev(nnn)\n#  define BX_INSTR_OPCODE_G4(nnn)              bx_instr_opcode_g4(nnn)\n#  define BX_INSTR_OPCODE_G5(nnn)              bx_instr_opcode_g5(nnn)\n#  define BX_INSTR_OPCODE_G6(nnn)              bx_instr_opcode_g6(nnn)\n#  define BX_INSTR_OPCODE_G7(nnn)              bx_instr_opcode_g7(nnn)\n#  define BX_INSTR_OPCODE_G8EvIb(nnn)          bx_instr_opcode_g8evib(nnn)\n#  define BX_INSTR_MEM_CODE(linear, size)      bx_instr_mem_code(linear, size)\n#  define BX_INSTR_MEM_DATA(linear, size, rw)  bx_instr_mem_data(linear, size, rw)\n#  define BX_INSTR_EXCEPTION(_vector)           bx_instr_exception(_vector)\n#  define BX_INSTR_INP(addr, len)              bx_instr_inp(addr, len)\n#  define BX_INSTR_INP2(addr, len, val)        bx_instr_inp2(addr, len, val)\n#  define BX_INSTR_OUTP(addr, len)             bx_instr_outp(addr, len)\n#  define BX_INSTR_OUTP2(addr, len, val)       bx_instr_outp2(addr, len, val)\n#  define BX_INSTR_FETCH_BYTE(val8)            bx_instr_fetch_byte(val8)\n#  define BX_INSTR_FETCH_WORD(val16)           bx_instr_fetch_word(val16)\n#  define BX_INSTR_FETCH_DWORD(val32)          bx_instr_fetch_dword(val32)\n#  define BX_INSTR_PHY_WRITE(addr, len)        bx_instr_phy_write(addr, len)\n#  define BX_INSTR_PHY_READ(addr, len)         bx_instr_phy_read(addr, len)\n#  define BX_INSTR_INTERRUPT(_vector)           bx_instr_interrupt(_vector)\n\n#  define BX_INSTR_TLB_CNTRL(what, newval)     bx_instr_tlb_cntrl(what, newval)\n#  define BX_INSTR_CACHE_CNTRL(what)           bx_instr_cache_cntrl(what)\n#  define BX_INSTR_HWINTERRUPT(_vector, cs, eip) bx_instr_hwinterrupt(_vector, cs, eip)\n#  define BX_INSTR_OPCODE_REPEATING()           bx_instr_opcode_repeating()\n\n#  define BX_INSTR_PREFIX_AS()                 bx_instr_prefix_as()\n#  define BX_INSTR_PREFIX_OS()                 bx_instr_prefix_os()\n#  define BX_INSTR_PREFIX_REP()                bx_instr_prefix_rep()\n#  define BX_INSTR_PREFIX_REPNE()              bx_instr_prefix_repne()\n#  define BX_INSTR_PREFIX_LOCK()               bx_instr_prefix_lock()\n#  define BX_INSTR_PREFIX_CS()                 bx_instr_prefix_cs()\n#  define BX_INSTR_PREFIX_SS()                 bx_instr_prefix_ss()\n#  define BX_INSTR_PREFIX_DS()                 bx_instr_prefix_ds()\n#  define BX_INSTR_PREFIX_ES()                 bx_instr_prefix_es()\n#  define BX_INSTR_PREFIX_FS()                 bx_instr_prefix_fs()\n#  define BX_INSTR_PREFIX_GS()                 bx_instr_prefix_gs()\n\n#  define BX_INSTR_MODRM32(modrm)              bx_instr_modrm32(modrm)\n#  define BX_INSTR_SIB32(sib)                  bx_instr_sib32(sib)\n#  define BX_INSTR_MODRM16(modrm)              bx_instr_modrm16(modrm)\n#  define BX_INSTR_SIB_mod0_base5(ss)\n#  define BX_INSTR_SIB_MOD0_IND4()\n#  define BX_INSTR_SIB_MOD1_IND4()\n#  define BX_INSTR_SIB_MOD2_IND4()\n\n#  define BX_INSTR_IRET()                      bx_instr_iret()\n#  define BX_INSTR_DEBUG_PROMPT()              bx_instr_debug_prompt()\n\n#  define BX_INSTR_LIN_READ(lin, phy, len)  bx_instr_lin_read(lin, phy, len)\n#  define BX_INSTR_LIN_WRITE(lin, phy, len) bx_instr_lin_write(lin, phy, len)\n#  define BX_INSTR_START()                   bx_instr_start ()\n#  define BX_INSTR_STOP()                    bx_instr_stop ()\n#  define BX_INSTR_RESET()                   bx_instr_reset ()\n#  define BX_INSTR_PRINT()                   bx_instr_print ()\n\n#else  // #if BX_INSTRUMENTATION\n#  define BX_INSTR_INIT()\n#  define BX_INSTR_SHUTDOWN()\n#  define BX_INSTR_CNEAR_BRANCH_TAKEN(new_eip)\n#  define BX_INSTR_CNEAR_BRANCH_NOT_TAKEN()\n#  define BX_INSTR_UCNEAR_BRANCH(what, new_eip)\n#  define BX_INSTR_FAR_BRANCH(what, new_cs, new_eip)\n#  define BX_INSTR_OPCODE_BEGIN(linear)\n#  define BX_INSTR_OPCODE_END(linear)\n#  define BX_INSTR_OPCODE_BYTE1(b)\n#  define BX_INSTR_OPCODE_BYTE2(b)\n#  define BX_INSTR_OPCODE_G1EbIb(nnn)\n#  define BX_INSTR_OPCODE_G1EvIv(nnn)\n#  define BX_INSTR_OPCODE_G1EvIb(nnn)\n#  define BX_INSTR_OPCODE_G2EbIb(nnn)\n#  define BX_INSTR_OPCODE_G2EvIb(nnn)\n#  define BX_INSTR_OPCODE_G2Eb1(nnn)\n#  define BX_INSTR_OPCODE_G2Ev1(nnn)\n#  define BX_INSTR_OPCODE_G2EbCL(nnn)\n#  define BX_INSTR_OPCODE_G2EvCL(nnn)\n#  define BX_INSTR_OPCODE_G3Eb(nnn)\n#  define BX_INSTR_OPCODE_G3Ev(nnn)\n#  define BX_INSTR_OPCODE_G4(nnn)\n#  define BX_INSTR_OPCODE_G5(nnn)\n#  define BX_INSTR_OPCODE_G6(nnn)\n#  define BX_INSTR_OPCODE_G7(nnn)\n#  define BX_INSTR_OPCODE_G8EvIb(nnn)\n#  define BX_INSTR_MEM_CODE(linear, size)\n#  define BX_INSTR_MEM_DATA(linear, size, rw)\n#  define BX_INSTR_EXCEPTION(_vector)\n#  define BX_INSTR_INP(addr, len)\n#  define BX_INSTR_INP2(addr, len, val)\n#  define BX_INSTR_OUTP(addr, len)\n#  define BX_INSTR_OUTP2(addr, len, val)\n#  define BX_INSTR_FETCH_BYTE(val8)\n#  define BX_INSTR_FETCH_WORD(val16)\n#  define BX_INSTR_FETCH_DWORD(val32)\n#  define BX_INSTR_PHY_WRITE(addr, len)\n#  define BX_INSTR_PHY_READ(addr, len)\n#  define BX_INSTR_INTERRUPT(_vector)\n#  define BX_INSTR_TLB_CNTRL(what, newval)\n#  define BX_INSTR_CACHE_CNTRL(what)\n#  define BX_INSTR_HWINTERRUPT(_vector, cs, eip)\n#  define BX_INSTR_OPCODE_REPEATING()\n\n#  define BX_INSTR_PREFIX_AS()\n#  define BX_INSTR_PREFIX_OS()\n#  define BX_INSTR_PREFIX_REP()\n#  define BX_INSTR_PREFIX_REPNE()\n#  define BX_INSTR_PREFIX_LOCK()\n#  define BX_INSTR_PREFIX_CS()\n#  define BX_INSTR_PREFIX_SS()\n#  define BX_INSTR_PREFIX_DS()\n#  define BX_INSTR_PREFIX_ES()\n#  define BX_INSTR_PREFIX_FS()\n#  define BX_INSTR_PREFIX_GS()\n\n#  define BX_INSTR_MODRM32(modrm)\n#  define BX_INSTR_SIB32(sib)\n#  define BX_INSTR_MODRM16(modrm)\n#  define BX_INSTR_SIB_mod0_base5(ss)\n#  define BX_INSTR_SIB_MOD0_IND4()\n#  define BX_INSTR_SIB_MOD1_IND4()\n#  define BX_INSTR_SIB_MOD2_IND4()\n\n#  define BX_INSTR_IRET()\n#  define BX_INSTR_DEBUG_PROMPT()\n\n#  define BX_INSTR_LIN_READ(lin, phy, len)\n#  define BX_INSTR_LIN_WRITE(lin, phy, len)\n#  define BX_INSTR_START()                   \n#  define BX_INSTR_STOP()                    \n#  define BX_INSTR_RESET()                   \n#  define BX_INSTR_PRINT()                   \n\n#endif  // #if BX_INSTRUMENTATION\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/io.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: io.cc,v 1.5 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n  void\nBX_CPU_C::INSB_YbDX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u value8=0;\n\n  if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n    if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) ) {\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      }\n    }\n\n  if (i->size_mode.as_32) {\n    // Write a zero to memory, to trigger any segment or page\n    // faults before reading from IO port.\n    BX_CPU_CLASS_PTR write_virtual_byte(BX_SEG_REG_ES, RW_EDI, &value8);\n\n    value8 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\n    /* no seg override possible */\n    BX_CPU_CLASS_PTR write_virtual_byte(BX_SEG_REG_ES, RW_EDI, &value8);\n\n    if (BX_CPU_CLASS_PTR eflags.df) {\n      RW_EDI = RW_EDI - 1;\n      }\n    else {\n      RW_EDI = RW_EDI + 1;\n      }\n    }\n  else {\n    // Write a zero to memory, to trigger any segment or page\n    // faults before reading from IO port.\n    BX_CPU_CLASS_PTR write_virtual_byte(BX_SEG_REG_ES, RW_DI, &value8);\n\n    value8 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\n    /* no seg override possible */\n    BX_CPU_CLASS_PTR write_virtual_byte(BX_SEG_REG_ES, RW_DI, &value8);\n\n    if (BX_CPU_CLASS_PTR eflags.df) {\n      RW_DI = RW_DI - 1;\n      }\n    else {\n      RW_DI = RW_DI + 1;\n      }\n    }\n}\n\n  void\nBX_CPU_C::INSW_YvDX(BX_CPU_C *icpu,bxInstruction_c *i)\n  // input word/doubleword from port to string\n{\n  Bit32u edi;\n  unsigned int incr;\n\n  if (i->size_mode.as_32)\n    edi = RW_EDI;\n  else\n    edi = RW_DI;\n\n  if (i->size_mode.os_32) {\n    Bit32u value32=0;\n\n    if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n      if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) ) {\n        BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n        }\n      }\n\n    // Write a zero to memory, to trigger any segment or page\n    // faults before reading from IO port.\n    BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_ES, edi, &value32);\n\n    value32 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\n    /* no seg override allowed */\n    BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_ES, edi, &value32);\n    incr = 4;\n    }\n  else {\n    Bit16u value16=0;\n\n    if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n      if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) ) {\n        BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n        }\n      }\n\n    // Write a zero to memory, to trigger any segment or page\n    // faults before reading from IO port.\n    BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_ES, edi, &value16);\n\n    value16 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\n    /* no seg override allowed */\n    BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_ES, edi, &value16);\n    incr = 2;\n    }\n\n  if (i->size_mode.as_32) {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_EDI = RW_EDI - incr;\n    else\n      RW_EDI = RW_EDI + incr;\n    }\n  else {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_DI = RW_DI - incr;\n    else\n      RW_DI = RW_DI + incr;\n    }\n}\n\n  void\nBX_CPU_C::OUTSB_DXXb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  unsigned seg;\n  Bit8u value8;\n  Bit32u esi;\n\n  if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n    if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) ) {\n      BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n      }\n    }\n\n  if (!BX_NULL_SEG_REG(MODRMSeg(i))) {\n    seg = MODRMSeg(i);\n    }\n  else {\n    seg = BX_SEG_REG_DS;\n    }\n\n  if (i->size_mode.as_32)\n    esi = RW_ESI;\n  else\n    esi = RW_SI;\n\n  BX_CPU_CLASS_PTR read_virtual_byte(seg, esi, &value8);\n\n  BX_CPU_CLASS_PTR BX_OUTP(RW_DX, value8, 1);\n\n  if (i->size_mode.as_32) {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_ESI -= 1;\n    else\n      RW_ESI += 1;\n    }\n  else {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_SI -= 1;\n    else\n      RW_SI += 1;\n    }\n}\n\n  void\nBX_CPU_C::OUTSW_DXXv(BX_CPU_C *icpu,bxInstruction_c *i)\n  // output word/doubleword string to port\n{\n  unsigned seg;\n  Bit32u esi;\n  unsigned int incr;\n\n  if (!BX_NULL_SEG_REG(MODRMSeg(i))) {\n    seg = MODRMSeg(i);\n    }\n  else {\n    seg = BX_SEG_REG_DS;\n    }\n\n  if (i->size_mode.as_32)\n    esi = RW_ESI;\n  else\n    esi = RW_SI;\n\n  if (i->size_mode.os_32) {\n    Bit32u value32;\n\n    if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n      if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) ) {\n        BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n        }\n      }\n\n    BX_CPU_CLASS_PTR read_virtual_dword(seg, esi, &value32);\n\n    BX_CPU_CLASS_PTR BX_OUTP(RW_DX, value32, 4);\n    incr = 4;\n    }\n  else {\n    Bit16u value16;\n\n    if (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR eflags.vm || (RW_CPL>RW_IOPL))) {\n      if ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) ) {\n        BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n        }\n      }\n\n    BX_CPU_CLASS_PTR read_virtual_word(seg, esi, &value16);\n\n    BX_CPU_CLASS_PTR BX_OUTP(RW_DX, value16, 2);\n    incr = 2;\n    }\n\n  if (i->size_mode.as_32) {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_ESI = RW_ESI - incr;\n    else\n      RW_ESI = RW_ESI + incr;\n    }\n  else {\n    if (BX_CPU_CLASS_PTR eflags.df)\n      RW_SI = RW_SI - incr;\n    else\n      RW_SI = RW_SI + incr;\n    }\n}\n\n\n  void\nBX_CPU_C::IN_ALIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u al, imm8;\n\n  imm8 = IMMEDIATEIb(i);\n\n  al = BX_CPU_CLASS_PTR inp8(imm8);\n\n  RW_AL = al;\n}\n\n  void\nBX_CPU_C::IN_eAXIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u imm8;\n\n\n  imm8 = IMMEDIATEIb(i);\n\n#if BX_CPU_LEVEL > 2\n  if (i->size_mode.os_32) {\n    Bit32u eax;\n\n    eax = BX_CPU_CLASS_PTR inp32(imm8);\n    RW_EAX = eax;\n    }\n  else\n#endif /* BX_CPU_LEVEL > 2 */\n    {\n    Bit16u ax;\n\n    ax = BX_CPU_CLASS_PTR inp16(imm8);\n    RW_AX = ax;\n    }\n}\n\n  void\nBX_CPU_C::OUT_IbAL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u al, imm8;\n\n  imm8 = IMMEDIATEIb(i);\n\n  al = RW_AL;\n\n  BX_CPU_CLASS_PTR outp8(imm8, al);\n}\n\n  void\nBX_CPU_C::OUT_IbeAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u imm8;\n\n  imm8 = IMMEDIATEIb(i);\n\n#if BX_CPU_LEVEL > 2\n  if (i->size_mode.os_32) {\n    BX_CPU_CLASS_PTR outp32(imm8, RW_EAX);\n    }\n  else\n#endif /* BX_CPU_LEVEL > 2 */\n    {\n    BX_CPU_CLASS_PTR outp16(imm8, RW_AX);\n    }\n}\n\n  void\nBX_CPU_C::IN_ALDX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u al;\n\n  al = BX_CPU_CLASS_PTR inp8(RW_DX);\n\n  RW_AL = al;\n}\n\n  void\nBX_CPU_C::IN_eAXDX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL > 2\n  if (i->size_mode.os_32) {\n    Bit32u eax;\n\n    eax = BX_CPU_CLASS_PTR inp32(RW_DX);\n    RW_EAX = eax;\n    }\n  else\n#endif /* BX_CPU_LEVEL > 2 */\n    {\n    Bit16u ax;\n\n    ax = BX_CPU_CLASS_PTR inp16(RW_DX);\n    RW_AX = ax;\n    }\n}\n\n  void\nBX_CPU_C::OUT_DXAL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit16u dx;\n  Bit8u al;\n\n  dx = RW_DX;\n  al = RW_AL;\n\n  BX_CPU_CLASS_PTR outp8(dx, al);\n}\n\n  void\nBX_CPU_C::OUT_DXeAX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit16u dx;\n\n  dx = RW_DX;\n\n#if BX_CPU_LEVEL > 2\n  if (i->size_mode.os_32) {\n    BX_CPU_CLASS_PTR outp32(dx, RW_EAX);\n    }\n  else\n#endif /* BX_CPU_LEVEL > 2 */\n    {\n    BX_CPU_CLASS_PTR outp16(dx, RW_AX);\n    }\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/io_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: io_pro.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n  Bit16u\nBX_CPU_C::inp16(Bit16u addr)\n{\n  Bit16u ret16;\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 2) ) {\n      // BX_INFO((\"cpu_inp16: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return(0);\n      }\n    }\n\n  ret16 = BX_INP(addr, 2);\n  return( ret16 );\n}\n\n  void\nBX_CPU_C::outp16(Bit16u addr, Bit16u value)\n{\n  /* If CPL <= IOPL, then all IO addresses are accessible.\n   * Otherwise, must check the IO permission map on >286.\n   * On the 286, there is no IO permissions map */\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 2) ) {\n      // BX_INFO((\"cpu_outp16: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n\n  BX_OUTP(addr, value, 2);\n}\n\n  Bit32u\nBX_CPU_C::inp32(Bit16u addr)\n{\n  Bit32u ret32;\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 4) ) {\n      // BX_INFO((\"cpu_inp32: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return(0);\n      }\n    }\n\n  ret32 = BX_INP(addr, 4);\n  return( ret32 );\n}\n\n  void\nBX_CPU_C::outp32(Bit16u addr, Bit32u value)\n{\n  /* If CPL <= IOPL, then all IO addresses are accessible.\n   * Otherwise, must check the IO permission map on >286.\n   * On the 286, there is no IO permissions map */\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 4) ) {\n      // BX_INFO((\"cpu_outp32: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n\n  BX_OUTP(addr, value, 4);\n}\n\n  Bit8u\nBX_CPU_C::inp8(Bit16u addr)\n{\n  Bit8u ret8;\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 1) ) {\n      // BX_INFO((\"cpu_inp8: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return(0);\n      }\n    }\n\n  ret8 = BX_INP(addr, 1);\n  return( ret8 );\n}\n\n\n  void\nBX_CPU_C::outp8(Bit16u addr, Bit8u value)\n{\n  /* If CPL <= IOPL, then all IO addresses are accessible.\n   * Otherwise, must check the IO permission map on >286.\n   * On the 286, there is no IO permissions map */\n\n  if (BX_CPU_THIS_PTR cr0.pe && (BX_CPU_THIS_PTR eflags.vm || (CPL>X86_IOPL))) {\n    if ( !BX_CPU_THIS_PTR allow_io(addr, 1) ) {\n      // BX_INFO((\"cpu_outp8: GP0()!\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n\n  BX_OUTP(addr, value, 1);\n}\n\n  Boolean\nBX_CPU_C::allow_io(Bit16u addr, unsigned len)\n{\n  Bit16u io_base, permission16;\n  unsigned bit_index, i;\n\n  if (BX_CPU_THIS_PTR tr.cache.valid==0 || BX_CPU_THIS_PTR tr.cache.type!=9) {\n    BX_INFO((\"allow_io(): TR doesn't point to a valid 32bit TSS\"));\n    return(0);\n    }\n\n  if (BX_CPU_THIS_PTR tr.cache.u.tss386.limit_scaled < 103) {\n    BX_PANIC((\"allow_io(): TR.limit < 103\"));\n    }\n\n  BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss386.base + 102, 2, 0, BX_READ,\n                         &io_base);\n  if (io_base <= 103) {\nBX_INFO((\"PE is %u\", BX_CPU_THIS_PTR cr0.pe));\nBX_INFO((\"VM is %u\", BX_CPU_THIS_PTR eflags.vm));\nBX_INFO((\"CPL is %u\", CPL));\nBX_INFO((\"X86_IOPL is %u\", X86_IOPL));\nBX_INFO((\"addr is %u\", addr));\nBX_INFO((\"len is %u\", len));\n    BX_PANIC((\"allow_io(): TR:io_base <= 103\"));\n    }\n\n  if (io_base > BX_CPU_THIS_PTR tr.cache.u.tss386.limit_scaled) {\n    BX_INFO((\"allow_io(): CPL > IOPL: no IO bitmap defined #GP(0)\"));\n    return(0);\n    }\n\n  BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss386.base + io_base + addr/8,\n                   2, 0, BX_READ, &permission16);\n\n  bit_index = addr & 0x07;\n  permission16 >>= bit_index;\n  for (i=0; i<len; i++) {\n    if (permission16 & 0x01)\n      return(0);\n    permission16 >>= 1;\n    }\n\n  return(1);\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/jcc.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: jcc.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  תָ\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::Jcc0_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc0_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc1_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc1_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc2_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_CF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc2_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc3_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_CF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc3_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc4_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc4_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc5_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc5_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc6_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc6_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc7_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc7_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc8_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc8_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc9_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_SF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc9_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcca_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_PF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcca_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccb_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_PF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccb_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccc_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccc_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccd_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccd_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcce_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcce_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccf_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif ((BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()) &&!BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccf_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc0_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc0_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc1_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc1_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc2_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_CF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc2_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc3_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_CF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc3_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc4_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc4_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc5_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc5_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc6_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_CF() || BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc6_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc7_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_CF() && !BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc7_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc8_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc8_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcc9_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_SF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcc9_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcca_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_PF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcca_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccb_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (!BX_CPU_CLASS_PTR get_PF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccb_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccc_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccc_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccd_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccd_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jcce_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (BX_CPU_CLASS_PTR get_ZF() || (BX_CPU_CLASS_PTR get_SF() != BX_CPU_CLASS_PTR get_OF()))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jcce_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::Jccf_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif ((BX_CPU_CLASS_PTR get_SF() == BX_CPU_CLASS_PTR get_OF()) &&!BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"Jccf_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::JCXZ_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif ((i->size_mode.as_32 ? RW_ECX : RW_CX)==0)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"JCXZ_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::JCXZ_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif ((i->size_mode.as_32 ? RW_ECX : RW_CX)==0)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"JCXZ_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::LOOP_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOP_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::LOOP_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOP_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::LOOPE_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count) && BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOPE_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::LOOPE_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count) && BX_CPU_CLASS_PTR get_ZF())\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOPE_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::LOOPNE_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count) && (!BX_CPU_CLASS_PTR get_ZF()))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOPNE_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::LOOPNE_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBit32u count;\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tcount = (RW_ECX-1);\n\telse\n#endif // if BX_CPU_LEVEL >= 3\n\t\tcount = (RW_CX-1);\n\tif ((count) && (!BX_CPU_CLASS_PTR get_ZF()))\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"LOOPNE_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n#if BX_CPU_LEVEL>= 3\n\tif (i->size_mode.as_32)\n\t\tRW_ECX = count;\n\telse\n#endif //if BX_CPU_LEVEL >= 3 \n\t\tRW_CX = (Bit16u)count;\n\n}\n\n\tvoid\nBX_CPU_C::JMP_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (1)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"JMP_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\n\t\tBX_CPU_CLASS_PTR eipPageWindowSize = 0;\n\t\tBX_CPU_CLASS_PTR bytesleft = 0;\n\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::JMP_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tif (1)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"JMP_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\n\t\tBX_CPU_CLASS_PTR eipPageWindowSize = 0;\n\t\tBX_CPU_CLASS_PTR bytesleft = 0;\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::CALL_Jw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR call_push_16((Bit16u)(BX_CPU_CLASS_PTR program_visible_eip));\n\tif (1)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i))&0x0000ffff;\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"CALL_Jw_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\n\t\tBX_CPU_CLASS_PTR eipPageWindowSize = 0;\n\t\tBX_CPU_CLASS_PTR bytesleft = 0;\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n\tvoid\nBX_CPU_C::CALL_Jd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u new_eip;\n\n\tBX_CPU_CLASS_PTR call_push_32(BX_CPU_CLASS_PTR program_visible_eip);\n\tif (1)\n\t{\n\t\tnew_eip = (BX_CPU_CLASS_PTR program_visible_eip + IMMEDIATEId(i));\n#if BX_CPU_LEVEL >= 2\n\t\tif ( new_eip > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled )\n\t\t{\n\t\t\tBX_PANIC((\"CALL_Jd_routine: offset outside of CS limits\"));\n\t\t    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n#endif\n\t\tBX_CPU_CLASS_PTR program_visible_eip = new_eip;\n\t\tBX_INSTR_CNEAR_BRANCH_TAKEN(new_eip);\n\t\tBX_CPU_CLASS_PTR revalidate_prefetch_q();\n\n\t\tBX_CPU_CLASS_PTR eipPageWindowSize = 0;\n\t\tBX_CPU_CLASS_PTR bytesleft = 0;\n\t}\n#if BX_INSTRUMENTATION\n\telse\n\t{\n\t\tBX_INSTR_CNEAR_BRANCH_NOT_TAKEN();\n\t}\n#endif\n\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/lazy_flg.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: lazy_flags.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n#if (HOST_CPU_IS_I80386==0)\n\n\tBoolean\nBX_CPU_C::get_CF(void)\n{\n\tBit32u lf_cf;\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = (BX_CPU_THIS_PTR lf_flags_status & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_CF\",BX_CPU_THIS_PTR eflags.x86.cf,BX_CPU_THIS_PTR eflags.cf);\n\t\treturn (BX_CPU_THIS_PTR eflags.cf);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tlf_cf = BX_CPU_THIS_PTR eflags.cf;\n\t\tbreak;\n\n\tcase BX_INSTR_ADD8:\n\tcase BX_INSTR_XADD8:\n\t\tlf_cf = (lf_entry->result_8 <lf_entry->op2_8);\n\t\tbreak;\n\n    case BX_INSTR_ADD16:\n    case BX_INSTR_XADD16:\n\t\tlf_cf = (lf_entry->result_16 <lf_entry->op2_16);\n\t\tbreak;\n\n    case BX_INSTR_ADD32:\n    case BX_INSTR_XADD32:\n\t\tlf_cf = (lf_entry->result_32 < lf_entry->op2_32);\n\t\tbreak;\n\n    case BX_INSTR_ADC8:\n\t\tlf_cf = (lf_entry->result_8 <lf_entry->op2_8) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->result_8 <=lf_entry->op2_8);\n\t\tbreak;\n\n\tcase BX_INSTR_ADC16:\n\t\tlf_cf = (lf_entry->result_16 < lf_entry->op2_16) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->result_16 <=lf_entry->op2_16);\n\t\tbreak;\n\n\n\tcase BX_INSTR_ADC32:\n\t\tlf_cf =\t(lf_entry->result_32 <\tlf_entry->op2_32) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->result_32 <=lf_entry->op2_32);\n\t\tbreak;\n\n    case BX_INSTR_SUB8:\n    case BX_INSTR_CMP8:\n    case BX_INSTR_CMPS8:\n    case BX_INSTR_SCAS8:\n\t\tlf_cf = (lf_entry->op1_8 < lf_entry->op2_8);\n\t\tbreak;\n\n    case BX_INSTR_SUB16:\n    case BX_INSTR_CMP16:\n    case BX_INSTR_CMPS16:\n    case BX_INSTR_SCAS16:\n\t\tlf_cf = (lf_entry->op1_16 < lf_entry->op2_16);\n\t\tbreak;\n\n    case BX_INSTR_SUB32:\n    case BX_INSTR_CMP32:\n    case BX_INSTR_CMPS32:\n    case BX_INSTR_SCAS32:\n\t\tlf_cf = (lf_entry->op1_32 < lf_entry->op2_32);\n\t\tbreak;\n\n    case BX_INSTR_SBB8:\n\t\tlf_cf =\t(lf_entry->op1_8 <\tlf_entry->op2_8) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->op1_8 <=lf_entry->op2_8);\n\t\tbreak;\n\n    case BX_INSTR_SBB16:\n\t\tlf_cf =\t(lf_entry->op1_16 <\tlf_entry->op2_16) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->op1_16 <=lf_entry->op2_16);\n\t\tbreak;\n\n    case BX_INSTR_SBB32:\n\t\tlf_cf =\t(lf_entry->op1_32 <\tlf_entry->op2_32) ||\n\t\t\t\t(lf_entry->prev_cf &&lf_entry->op1_32 <=lf_entry->op2_32);\n\t\tbreak;\n\n    case BX_INSTR_NEG8:\n\t\tlf_cf =\tlf_entry->result_8 != 0;\n\t\tbreak;\n\n    case BX_INSTR_NEG16:\n\t\tlf_cf =\tlf_entry->result_16 != 0;\n\t\tbreak;\n\n    case BX_INSTR_NEG32:\n\t\tlf_cf =\tlf_entry->result_32 != 0;\n\t\tbreak;\n\n    case BX_INSTR_OR8:\n    case BX_INSTR_OR16:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND8:\n    case BX_INSTR_AND16:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_XOR32:\n\t\tlf_cf = 0;\n\t\tbreak;\n\n    case BX_INSTR_SHR8:\n\t\tlf_cf = (lf_entry->op1_8 >>(lf_entry->shift_counter - 1)) & 0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHR16:\n\t\tlf_cf = (lf_entry->op1_16 >>(lf_entry->shift_counter - 1)) & 0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHR32:\n\t\tlf_cf = (lf_entry->op1_32 >>(lf_entry->shift_counter - 1)) & 0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHL8:\n\t\tlf_cf = ((lf_entry->op1_8 <<(lf_entry->shift_counter - 1))>>0x7) & 0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHL16:\n\t\tlf_cf = ((lf_entry->op1_16 <<(lf_entry->shift_counter - 1))>>0xf) & 0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHL32:\n\t\tlf_cf = (lf_entry->op1_32 >>(32 - lf_entry->shift_counter)) & 0x01;\n\t\t\tbreak;\n\n    case BX_INSTR_SAR8:\n\t\tlf_cf = ((lf_entry->op1_8 >> (lf_entry->shift_counter - 1)) |\n\t\t\t((0-(lf_entry->op1_8>>(8-1))) << (8 - ((lf_entry->shift_counter- 1)&0x7))))&0x01;\n\t\tbreak;\n\n    case BX_INSTR_SAR16:\n\t\tlf_cf = ((lf_entry->op1_16 >> (lf_entry->shift_counter - 1)) |\n\t\t\t((0-(lf_entry->op1_16>>(16-1))) << (16 - ((lf_entry->shift_counter- 1)&0xf))))&0x01;\n\t\tbreak;\n\n    case BX_INSTR_SAR32:\n\t\tlf_cf = ((lf_entry->op1_32 >> (lf_entry->shift_counter - 1)))&0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHRD16:\n\t\t{\n\t\t\tBit32u temp_32;\n\n\t\t\ttemp_32 = ((lf_entry->op2_16<<16) | (lf_entry->op1_16));\n\t\t\ttemp_32 = (temp_32>> (lf_entry->shift_counter - 1)) |\n\t\t\t\t\t\t(temp_32<< (32-(lf_entry->shift_counter - 1)));\n\t\t\tlf_cf = temp_32 & 0x01;\n\t\t}\n\n\t\tbreak;\n\n    case BX_INSTR_SHRD32:\n\t\tlf_cf = (lf_entry->op1_32 >> (lf_entry->shift_counter - 1)) & 0x01;\n\n#if 0\n\t\t__asm\n\t\t{\n\t\t\tmov ebx,lf_entry\n\t\t\tmov eax,[ebx]bx_lf_flags_entry.op1_32\n\t\t\tmov edx,[ebx]bx_lf_flags_entry.op2_32\n\t\t\tmov cl,[ebx]bx_lf_flags_entry.shift_counter\n\t\t\tshrd eax,edx,cl\n\t\t\tmov eax,0\n\t\t\tsetc al\n\t\t\tmov lf_cf,eax\n\t\t}\n#endif\n\n\t\tbreak;\n\n    case BX_INSTR_SHLD16:\n\t\t{\n\t\t\tBit32u temp_32;\n\t\t\ttemp_32 = ((lf_entry->op2_16<<16) | (lf_entry->op1_16));\n\t\t\ttemp_32 = (temp_32<< (lf_entry->shift_counter - 1)) |\n\t\t\t\t\t\t(temp_32>> (32-(lf_entry->shift_counter - 1)));\n\t\t\tlf_cf = (temp_32>>15) & 0x01;\n\t\t}\n\t\tbreak;\n\n    case BX_INSTR_SHLD32:\n\t\tlf_cf = (lf_entry->op1_32 << (32 - lf_entry->shift_counter)) & 0x01;\n\n#if 0\n\t\t__asm\n\t\t{\n\t\t\tmov ebx,lf_entry\n\t\t\tmov eax,[ebx]bx_lf_flags_entry.op1_32\n\t\t\tmov edx,[ebx]bx_lf_flags_entry.op2_32\n\t\t\tmov cl,[ebx]bx_lf_flags_entry.shift_counter\n\t\t\tshld eax,edx,cl\n\t\t\tmov eax,0\n\t\t\tsetc al\n\t\t\tmov lf_cf,eax\n\t\t}\n#endif\n\n\t\tbreak;\n\n    case BX_INSTR_ROR8:\n\t\tlf_cf = (lf_entry->result_8>>7);\n\t\tbreak;\n\n    case BX_INSTR_ROR16:\n\t\tlf_cf = (lf_entry->result_16>>15);\n\t\tbreak;\n\n    case BX_INSTR_ROR32:\n\t\tlf_cf = (lf_entry->result_32>>31);\n\t\tbreak;\n\n    case BX_INSTR_ROL8:\n\t\tlf_cf = (lf_entry->result_8&0x01);\n\t\tbreak;\n\n    case BX_INSTR_ROL16:\n\t\tlf_cf = (lf_entry->result_16&0x01);\n\t\tbreak;\n\n    case BX_INSTR_ROL32:\n\t\tlf_cf = (lf_entry->result_32&0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCR8:\n\t\tlf_cf = ((lf_entry->op1_8 >> (lf_entry->shift_counter - 1)) & 0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCR16:\n\t\tlf_cf = ((lf_entry->op1_16 >> (lf_entry->shift_counter - 1)) & 0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCR32:\n\t\tlf_cf = ((lf_entry->op1_32 >> (lf_entry->shift_counter - 1)) & 0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCL8:\n\t\tlf_cf = ((lf_entry->op1_8 >> (8 - lf_entry->shift_counter)) & 0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCL16:\n\t\tlf_cf = ((lf_entry->op1_16 >> (16 - lf_entry->shift_counter)) & 0x01);\n\t\tbreak;\n\n    case BX_INSTR_RCL32:\n\t\tlf_cf = ((lf_entry->op1_32 >> (32 - lf_entry->shift_counter)) & 0x01);\n\t\tbreak;\n\n    default:\n          BX_PANIC((\"get_CF: OSZAPC,OSZPC,XSZPC,OC,XC: unknown instr %u\",\n\t\t\t  (unsigned) lf_entry->instr));\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0xfffff0;\n\tBX_CPU_THIS_PTR eflags.cf = lf_cf;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_CF\",BX_CPU_THIS_PTR eflags.x86.cf,BX_CPU_THIS_PTR eflags.cf);\n\treturn (lf_cf);\n}\n\n\n\tBoolean\nBX_CPU_C::get_AF(void)\n{\n\tBit32u lf_af;\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = ((BX_CPU_THIS_PTR lf_flags_status>>8) & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_AF\",BX_CPU_THIS_PTR eflags.x86.af,BX_CPU_THIS_PTR eflags.af);\n\t\treturn (BX_CPU_THIS_PTR eflags.af);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tlf_af = BX_CPU_THIS_PTR eflags.af;\n\t\tbreak;\n        case BX_INSTR_ADD8:\n        case BX_INSTR_ADC8:\n        case BX_INSTR_SUB8:\n        case BX_INSTR_SBB8:\n        case BX_INSTR_CMP8:\n        case BX_INSTR_XADD8:\n        case BX_INSTR_CMPS8:\n        case BX_INSTR_SCAS8:\n          lf_af = (((lf_entry->op1_8 ^ lf_entry->op2_8) ^lf_entry->result_8) & 0x10)>>4;\n          break;\n\n        case BX_INSTR_ADD16:\n        case BX_INSTR_ADC16:\n        case BX_INSTR_SUB16:\n        case BX_INSTR_SBB16:\n        case BX_INSTR_CMP16:\n        case BX_INSTR_XADD16:\n        case BX_INSTR_CMPS16:\n        case BX_INSTR_SCAS16:\n          lf_af = (((lf_entry->op1_16 ^ lf_entry->op2_16) ^lf_entry->result_16) & 0x10)>>4;\n          break;\n\n        case BX_INSTR_ADD32:\n        case BX_INSTR_ADC32:\n        case BX_INSTR_SUB32:\n        case BX_INSTR_SBB32:\n        case BX_INSTR_CMP32:\n        case BX_INSTR_XADD32:\n        case BX_INSTR_CMPS32:\n        case BX_INSTR_SCAS32:\n          lf_af = (((lf_entry->op1_32 ^ lf_entry->op2_32) ^lf_entry->result_32) & 0x10)>>4;\n          break;\n\n    case BX_INSTR_NEG8:\n\t\tlf_af =\t((0-lf_entry->result_8) & 0x0f) > 0;\n\t\tbreak;\n\n    case BX_INSTR_NEG16:\n\t\tlf_af =\t((0-lf_entry->result_16) & 0x0f) > 0;\n\t\tbreak;\n\n    case BX_INSTR_NEG32:\n\t\tlf_af =\t((0-lf_entry->result_32) & 0x0f) > 0;\n\t\tbreak;\n\n    case BX_INSTR_OR8:\n    case BX_INSTR_OR16:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND8:\n    case BX_INSTR_AND16:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_XOR32:\n\t\tlf_af = 0;\n\t\tbreak;\n\n    case BX_INSTR_SHR8:\n    case BX_INSTR_SHR16:\n    case BX_INSTR_SHR32:\n    case BX_INSTR_SHL8:\n    case BX_INSTR_SHL16:\n    case BX_INSTR_SHL32:\n\t\t/* undefined */\n\t\tBX_PANIC((\"get_AF: OSZAPC,OSZAP: unknown instr %u\",\n\t\t\t(unsigned) lf_entry->instr));\n\t\tbreak;\n\n\tcase BX_INSTR_INC8:\n\t\tlf_af =\t(lf_entry->result_8 & 0x0f) == 0x00;\n\t\tbreak;\n\n    case BX_INSTR_INC16:\n\t\tlf_af =\t(lf_entry->result_16 & 0x0f) == 0x00;\n\t\tbreak;\n\n    case BX_INSTR_INC32:\n\t\tlf_af =\t(lf_entry->result_32 & 0x0f) == 0x00;\n\t\tbreak;\n\n    case BX_INSTR_DEC8:\n\t\tlf_af =\t(lf_entry->result_8 & 0x0f) == 0x0f;\n\t\tbreak;\n\n    case BX_INSTR_DEC16:\n\t\tlf_af =\t(lf_entry->result_16 & 0x0f) == 0x0f;\n\t\tbreak;\n\n    case BX_INSTR_DEC32:\n\t\tlf_af =\t(lf_entry->result_32 & 0x0f) == 0x0f;\n\t\tbreak;\n\n    default:\n\t\tBX_PANIC((\"get_AF: OSZAPC,OSZAP: unknown instr %u\",\n\t\t\t(unsigned) lf_entry->instr));\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0xfff0ff;\n\tBX_CPU_THIS_PTR eflags.af = lf_af;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_AF\",BX_CPU_THIS_PTR eflags.x86.af,BX_CPU_THIS_PTR eflags.af);\n\treturn(lf_af);\n}\n\n\tBoolean\nBX_CPU_C::get_ZF(void)\n{\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = ((BX_CPU_THIS_PTR lf_flags_status>>12) & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_ZF\",BX_CPU_THIS_PTR eflags.x86.zf,BX_CPU_THIS_PTR eflags.zf);\n\t\treturn (BX_CPU_THIS_PTR eflags.zf);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tBX_CPU_THIS_PTR eflags.zf = BX_CPU_THIS_PTR eflags.zf;\n\t\tbreak;\n\n    case BX_INSTR_ADD8:\n    case BX_INSTR_ADC8:\n    case BX_INSTR_SUB8:\n    case BX_INSTR_SBB8:\n    case BX_INSTR_CMP8:\n    case BX_INSTR_NEG8:\n    case BX_INSTR_XADD8:\n    case BX_INSTR_OR8:\n    case BX_INSTR_AND8:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_CMPS8:\n    case BX_INSTR_SCAS8:\n    case BX_INSTR_SHR8:\n    case BX_INSTR_SHL8:\n    case BX_INSTR_SAR8:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_8 == 0);\n\t\tbreak;\n\n    case BX_INSTR_ADD16:\n    case BX_INSTR_ADC16:\n    case BX_INSTR_SUB16:\n    case BX_INSTR_SBB16:\n    case BX_INSTR_CMP16:\n    case BX_INSTR_NEG16:\n    case BX_INSTR_XADD16:\n    case BX_INSTR_OR16:\n    case BX_INSTR_AND16:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_CMPS16:\n    case BX_INSTR_SCAS16:\n    case BX_INSTR_SHR16:\n    case BX_INSTR_SHL16:\n    case BX_INSTR_SAR16:\n    case BX_INSTR_SHLD16:\n    case BX_INSTR_SHRD16:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_16 == 0);\n\t\tbreak;\n\n    case BX_INSTR_ADD32:\n    case BX_INSTR_ADC32:\n    case BX_INSTR_SUB32:\n    case BX_INSTR_SBB32:\n    case BX_INSTR_CMP32:\n    case BX_INSTR_NEG32:\n    case BX_INSTR_XADD32:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR32:\n    case BX_INSTR_CMPS32:\n    case BX_INSTR_SCAS32:\n    case BX_INSTR_SHR32:\n    case BX_INSTR_SHL32:\n    case BX_INSTR_SAR32:\n    case BX_INSTR_SHLD32:\n    case BX_INSTR_SHRD32:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_32 == 0);\n\t\tbreak;\n\n    case BX_INSTR_INC8:\n    case BX_INSTR_DEC8:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_8 == 0);\n\t\tbreak;\n\n    case BX_INSTR_INC16:\n    case BX_INSTR_DEC16:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_16 == 0);\n\t\tbreak;\n\n    case BX_INSTR_INC32:\n    case BX_INSTR_DEC32:\n\t\tBX_CPU_THIS_PTR eflags.zf = (lf_entry->result_32 == 0);\n\t\tbreak;\n\n    default:\n\t\tBX_PANIC((\"get_ZF: OSZAPC,OSZAP,OSZPC,XSZPC: unknown instr\",\n\t\t\tlf_entry->instr));\n\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0xff0fff;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_ZF\",BX_CPU_THIS_PTR eflags.x86.zf,BX_CPU_THIS_PTR eflags.zf);\n\treturn(BX_CPU_THIS_PTR eflags.zf);\n}\n\n\tBoolean\nBX_CPU_C::get_SF(void)\n{\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = ((BX_CPU_THIS_PTR lf_flags_status>>16) & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_SF\",BX_CPU_THIS_PTR eflags.x86.sf,BX_CPU_THIS_PTR eflags.sf);\n\t\treturn (BX_CPU_THIS_PTR eflags.sf);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tBX_CPU_THIS_PTR eflags.sf = BX_CPU_THIS_PTR eflags.sf;\n\t\tbreak;\n\n    case BX_INSTR_ADD8:\n    case BX_INSTR_ADC8:\n    case BX_INSTR_SUB8:\n    case BX_INSTR_SBB8:\n    case BX_INSTR_CMP8:\n    case BX_INSTR_NEG8:\n    case BX_INSTR_XADD8:\n    case BX_INSTR_OR8:\n    case BX_INSTR_AND8:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_CMPS8:\n    case BX_INSTR_SCAS8:\n    case BX_INSTR_SHR8:\n    case BX_INSTR_SHL8:\n    case BX_INSTR_SAR8:\n\t\tBX_CPU_THIS_PTR eflags.sf =\t(lf_entry->result_8 >> 7);\n\t\tbreak;\n\n    case BX_INSTR_ADD16:\n    case BX_INSTR_ADC16:\n    case BX_INSTR_SUB16:\n    case BX_INSTR_SBB16:\n    case BX_INSTR_CMP16:\n    case BX_INSTR_NEG16:\n    case BX_INSTR_XADD16:\n    case BX_INSTR_OR16:\n    case BX_INSTR_AND16:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_CMPS16:\n    case BX_INSTR_SCAS16:\n    case BX_INSTR_SHR16:\n    case BX_INSTR_SHL16:\n    case BX_INSTR_SAR16:\n    case BX_INSTR_SHLD16:\n    case BX_INSTR_SHRD16:\n\t\tBX_CPU_THIS_PTR eflags.sf =\t(lf_entry->result_16 >>15);\n\t\tbreak;\n\n    case BX_INSTR_ADD32:\n    case BX_INSTR_ADC32:\n    case BX_INSTR_SUB32:\n    case BX_INSTR_SBB32:\n    case BX_INSTR_CMP32:\n    case BX_INSTR_NEG32:\n    case BX_INSTR_XADD32:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR32:\n    case BX_INSTR_CMPS32:\n    case BX_INSTR_SCAS32:\n    case BX_INSTR_SHR32:\n    case BX_INSTR_SHL32:\n    case BX_INSTR_SAR32:\n    case BX_INSTR_SHLD32:\n    case BX_INSTR_SHRD32:\n\t\tBX_CPU_THIS_PTR eflags.sf = (lf_entry->result_32 >>31);\n\t\tbreak;\n\n    case BX_INSTR_INC8:\n    case BX_INSTR_DEC8:\n\t\tBX_CPU_THIS_PTR eflags.sf =\t(lf_entry->result_8 >> 7);\n\t\tbreak;\n\n    case BX_INSTR_INC16:\n    case BX_INSTR_DEC16:\n\t\tBX_CPU_THIS_PTR eflags.sf =\t(lf_entry->result_16 >> 15);\n\t\tbreak;\n\n    case BX_INSTR_INC32:\n    case BX_INSTR_DEC32:\n\t\tBX_CPU_THIS_PTR eflags.sf =\t(lf_entry->result_32 >> 31);\n\t\tbreak;\n\n    default:\n\t\tBX_PANIC((\"get_SF: OSZAPC,OSZAP,OSZPC,XSZPC: unknown instr %d\",\n\t\t\tlf_entry->instr));\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0xf0ffff;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_SF\",BX_CPU_THIS_PTR eflags.x86.sf,BX_CPU_THIS_PTR eflags.sf);\n\treturn(BX_CPU_THIS_PTR eflags.sf);\n}\n\n\tBoolean\nBX_CPU_C::get_OF(void)\n{\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = ((BX_CPU_THIS_PTR lf_flags_status>>20) & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_OF\",BX_CPU_THIS_PTR eflags.x86.of,BX_CPU_THIS_PTR eflags.of);\n\t\treturn (BX_CPU_THIS_PTR eflags.of);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tBX_CPU_THIS_PTR eflags.of = BX_CPU_THIS_PTR eflags.of;\n\t\tbreak;\n\n    case BX_INSTR_ADD8:\n    case BX_INSTR_ADC8:\n    case BX_INSTR_XADD8:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_8 ^ lf_entry->result_8) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op2_8 ^ lf_entry->result_8))>>7;\n\t\tbreak;\n\n    case BX_INSTR_ADD16:\n    case BX_INSTR_ADC16:\n    case BX_INSTR_XADD16:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_16 ^ lf_entry->result_16) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op2_16 ^ lf_entry->result_16))>>15;\n\t\tbreak;\n\n    case BX_INSTR_ADD32:\n    case BX_INSTR_ADC32:\n    case BX_INSTR_XADD32:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_32 ^ lf_entry->result_32) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op2_32 ^ lf_entry->result_32))>>31;\n\t\tbreak;\n\n    case BX_INSTR_SUB8:\n    case BX_INSTR_SBB8:\n    case BX_INSTR_CMP8:\n    case BX_INSTR_CMPS8:\n    case BX_INSTR_SCAS8:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_8 ^ lf_entry->op2_8) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op1_8 ^ lf_entry->result_8))>>7;\n\t\tbreak;\n\n    case BX_INSTR_SUB16:\n    case BX_INSTR_SBB16:\n    case BX_INSTR_CMP16:\n    case BX_INSTR_CMPS16:\n    case BX_INSTR_SCAS16:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_16 ^ lf_entry->op2_16) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op1_16 ^ lf_entry->result_16))>>15;\n\t\tbreak;\n\n    case BX_INSTR_SUB32:\n    case BX_INSTR_SBB32:\n    case BX_INSTR_CMP32:\n    case BX_INSTR_CMPS32:\n    case BX_INSTR_SCAS32:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_32 ^ lf_entry->op2_32) &\n\t\t\t\t\t\t\t\t\t(lf_entry->op1_32 ^ lf_entry->result_32))>>31;\n\t\tbreak;\n\n    case BX_INSTR_NEG8:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_8 == 0x80);\n\t\tbreak;\n\n    case BX_INSTR_NEG16:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_16 == 0x8000);\n\t\tbreak;\n\n    case BX_INSTR_NEG32:\n\t\tBX_CPU_THIS_PTR eflags.of = (lf_entry->result_32 == 0x80000000);\n\t\tbreak;\n\n    case BX_INSTR_OR8:\n    case BX_INSTR_OR16:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND8:\n    case BX_INSTR_AND16:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_XOR32:\n\t\tBX_CPU_THIS_PTR eflags.of = 0;\n\t\tbreak;\n\n    case BX_INSTR_INC8:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_8 == 0x80);\n\t\tbreak;\n\n    case BX_INSTR_INC16:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_16 == 0x8000);\n\t\tbreak;\n\n    case BX_INSTR_INC32:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_32 == 0x80000000);\n\t\tbreak;\n\n    case BX_INSTR_DEC8:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_8 == 0x7f);\n\t\tbreak;\n\n    case BX_INSTR_DEC16:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_16 == 0x7fff);\n\t\tbreak;\n\n    case BX_INSTR_DEC32:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->result_32 == 0x7fffffff);\n\t\tbreak;\n\n    case BX_INSTR_SHR8:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->op1_8 >>7);\n\t\tbreak;\n\n    case BX_INSTR_SHR16:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->op1_16 >>15);\n\t\tbreak;\n\n    case BX_INSTR_SHR32:\n\t\tBX_CPU_THIS_PTR eflags.of =\t(lf_entry->op1_32 >>31);\n\t\tbreak;\n\n    case BX_INSTR_SHL8:\n\t\tBX_CPU_THIS_PTR eflags.of =\t((lf_entry->op1_8 ^lf_entry->result_8) >> 7);\n\t\tbreak;\n\n    case BX_INSTR_SHL16:\n\t\tBX_CPU_THIS_PTR eflags.of = ((lf_entry->op1_16 ^lf_entry->result_16) >> 15);\n\t\tbreak;\n\n    case BX_INSTR_SHL32:\n\t\tBX_CPU_THIS_PTR eflags.of =\t((lf_entry->op1_32 ^lf_entry->result_32) >>31);\n\t\tbreak;\n\n    case BX_INSTR_SAR8:\n    case BX_INSTR_SAR16:\n    case BX_INSTR_SAR32:\n\t\tBX_CPU_THIS_PTR eflags.of = 0;\n\t\tbreak;\n\n    case BX_INSTR_SHRD16:\n    case BX_INSTR_SHLD16:\n\t\tBX_CPU_THIS_PTR eflags.of =\t((lf_entry->op1_16 ^lf_entry->result_16) >>15) &0x01;\n\t\tbreak;\n\n    case BX_INSTR_SHRD32:\n    case BX_INSTR_SHLD32:\n\t\tBX_CPU_THIS_PTR eflags.of =\t((lf_entry->op1_32 ^lf_entry->result_32) >>31) \t&0x01;\n\t\tbreak;\n\n    case BX_INSTR_ROR8:\n    case BX_INSTR_ROL8:\n    case BX_INSTR_RCR8:\n    case BX_INSTR_RCL8:\n\t\tBX_CPU_THIS_PTR eflags.of = (((lf_entry->op1_8 ^ lf_entry->result_8)>>7));\n\t\tbreak;\n\n    case BX_INSTR_ROR16:\n    case BX_INSTR_ROL16:\n    case BX_INSTR_RCR16:\n    case BX_INSTR_RCL16:\n\t\tBX_CPU_THIS_PTR eflags.of = (((lf_entry->op1_16 ^ lf_entry->result_16)>>15));\n\t\tbreak;\n\n    case BX_INSTR_ROR32:\n    case BX_INSTR_ROL32:\n    case BX_INSTR_RCR32:\n    case BX_INSTR_RCL32:\n\t\tBX_CPU_THIS_PTR eflags.of = (((lf_entry->op1_32 ^ lf_entry->result_32)>>31));\n\t\tbreak;\n\n\tdefault:\n\t\tBX_PANIC((\"get_OF: OSZAPC,OSZAP,OSZPC,OC: unknown instr %d\",\n\t\t\tlf_entry->instr));\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0x0fffff;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_OF\",BX_CPU_THIS_PTR eflags.x86.of,BX_CPU_THIS_PTR eflags.of);\n\treturn(BX_CPU_THIS_PTR eflags.of);\n}\n\n\tBoolean\nBX_CPU_C::get_PF(void)\n{\n\tbx_lf_flags_entry *lf_entry;\n\tunsigned lf_entry_index;\n\n\tlf_entry_index = ((BX_CPU_THIS_PTR lf_flags_status>>4) & 0x00000f);\n\n\tif (lf_entry_index==0)\n\t{\n\t\t//PRINTFLAGSINFO(lf_entry_index,\"get_PF\",BX_CPU_THIS_PTR eflags.x86.pf,BX_CPU_THIS_PTR eflags.pf);\n\t\treturn (BX_CPU_THIS_PTR eflags.pf);\n\t}\n\n\tlf_entry = &BX_CPU_THIS_PTR lf_entrys[lf_entry_index];\n\n\tswitch (lf_entry->instr)\n\t{\n\tcase BX_INSTR_X86:\n\t\tBX_CPU_THIS_PTR eflags.pf = BX_CPU_THIS_PTR eflags.pf;\n\t\tbreak;\n\n    case BX_INSTR_ADD8:\n    case BX_INSTR_ADC8:\n    case BX_INSTR_SUB8:\n    case BX_INSTR_SBB8:\n    case BX_INSTR_CMP8:\n    case BX_INSTR_NEG8:\n    case BX_INSTR_XADD8:\n    case BX_INSTR_OR8:\n    case BX_INSTR_AND8:\n    case BX_INSTR_TEST8:\n    case BX_INSTR_XOR8:\n    case BX_INSTR_CMPS8:\n    case BX_INSTR_SCAS8:\n    case BX_INSTR_SHR8:\n    case BX_INSTR_SHL8:\n    case BX_INSTR_SAR8:\n\t\tBX_CPU_THIS_PTR eflags.pf = bx_parity_lookup[lf_entry->result_8];\n\t\tbreak;\n\n    case BX_INSTR_ADD16:\n    case BX_INSTR_ADC16:\n    case BX_INSTR_SUB16:\n    case BX_INSTR_SBB16:\n    case BX_INSTR_CMP16:\n    case BX_INSTR_NEG16:\n    case BX_INSTR_XADD16:\n    case BX_INSTR_OR16:\n    case BX_INSTR_AND16:\n    case BX_INSTR_TEST16:\n    case BX_INSTR_XOR16:\n    case BX_INSTR_CMPS16:\n    case BX_INSTR_SCAS16:\n    case BX_INSTR_SHR16:\n    case BX_INSTR_SHL16:\n    case BX_INSTR_SAR16:\n    case BX_INSTR_SHLD16:\n    case BX_INSTR_SHRD16:\n\t\tBX_CPU_THIS_PTR eflags.pf =\tbx_parity_lookup[(Bit8u) lf_entry->result_16];\n\t\tbreak;\n\n    case BX_INSTR_ADD32:\n    case BX_INSTR_ADC32:\n    case BX_INSTR_SUB32:\n    case BX_INSTR_SBB32:\n    case BX_INSTR_CMP32:\n    case BX_INSTR_NEG32:\n    case BX_INSTR_XADD32:\n    case BX_INSTR_OR32:\n    case BX_INSTR_AND32:\n    case BX_INSTR_TEST32:\n    case BX_INSTR_XOR32:\n    case BX_INSTR_CMPS32:\n    case BX_INSTR_SCAS32:\n    case BX_INSTR_SHR32:\n    case BX_INSTR_SHL32:\n    case BX_INSTR_SAR32:\n    case BX_INSTR_SHLD32:\n    case BX_INSTR_SHRD32:\n\t\tBX_CPU_THIS_PTR eflags.pf =\tbx_parity_lookup[(Bit8u) lf_entry->result_32];\n\t\tbreak;\n\n    case BX_INSTR_INC8:\n    case BX_INSTR_DEC8:\n\t\tBX_CPU_THIS_PTR eflags.pf =\tbx_parity_lookup[lf_entry->result_8];\n\t\tbreak;\n\n    case BX_INSTR_INC16:\n    case BX_INSTR_DEC16:\n\t\tBX_CPU_THIS_PTR eflags.pf =\tbx_parity_lookup[(Bit8u) lf_entry->result_16];\n\t\tbreak;\n\n    case BX_INSTR_INC32:\n    case BX_INSTR_DEC32:\n\t\tBX_CPU_THIS_PTR eflags.pf =\tbx_parity_lookup[(Bit8u) lf_entry->result_32];\n\t\tbreak;\n\n    default:\n\t\tBX_PANIC((\"get_PF: OSZAPC,OSZAP,OSZPC,XSZPC: unknown instr %d\",\n\t\t\tlf_entry->instr));\n    }\n\n\tBX_CPU_THIS_PTR lf_flags_status &= 0xffff0f;\n\t//PRINTFLAGSINFO(lf_entry_index,\"get_PF\",BX_CPU_THIS_PTR eflags.x86.pf,BX_CPU_THIS_PTR eflags.pf);\n\treturn(BX_CPU_THIS_PTR eflags.pf);\n}\n\n#else\n\n\tBoolean\nBX_CPU_C::get_CF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.cf));\n}\n\n\tBoolean\nBX_CPU_C::get_AF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.af));\n}\n\tBoolean\nBX_CPU_C::get_ZF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.zf));\n}\n\tBoolean\nBX_CPU_C::get_SF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.sf));\n}\n\tBoolean\nBX_CPU_C::get_OF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.of));\n}\n\tBoolean\nBX_CPU_C::get_PF(void)\n{\n\treturn ((BX_CPU_THIS_PTR eflags.x86.Descr.pf));\n}\n\n#endif\n\n\tint\nBX_CPU_C::PRINTFLAGSINFO(int lf_entry_index,char *name,int m,int c)\n{\n\tif (m==c)\n\t\treturn 0;\n\tBX_PANIC((\"get_flags: instr = %d,index =%d :%s\",\n\t\tBX_CPU_THIS_PTR lf_entrys[lf_entry_index].instr,lf_entry_index,name));\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/lazy_flg.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: lazy_flags.h,v 1.3 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef BX_FLAGS_H\n#define BX_FLAGS_H\n\n#if BX_PROVIDE_CPU_MEMORY==1\n\n#define BX_INSTR_X86\t0\n\n#define BX_INSTR_ADD8   1\n#define BX_INSTR_ADD16  2\n#define BX_INSTR_ADD32  3\n\n#define BX_INSTR_SUB8   4\n#define BX_INSTR_SUB16  5\n#define BX_INSTR_SUB32  6\n\n#define BX_INSTR_ADC8   7\n#define BX_INSTR_ADC16  8\n#define BX_INSTR_ADC32  9\n\n#define BX_INSTR_SBB8   10\n#define BX_INSTR_SBB16  11\n#define BX_INSTR_SBB32  12\n\n#define BX_INSTR_CMP8   13\n#define BX_INSTR_CMP16  14\n#define BX_INSTR_CMP32  15\n\n#define BX_INSTR_INC8   16\n#define BX_INSTR_INC16  17\n#define BX_INSTR_INC32  18\n\n#define BX_INSTR_DEC8   19\n#define BX_INSTR_DEC16  20\n#define BX_INSTR_DEC32  21\n\n#define BX_INSTR_NEG8   22\n#define BX_INSTR_NEG16  23\n#define BX_INSTR_NEG32  24\n\n#define BX_INSTR_XADD8  25\n#define BX_INSTR_XADD16 26\n#define BX_INSTR_XADD32 27\n\n#define BX_INSTR_OR8    28\n#define BX_INSTR_OR16   29\n#define BX_INSTR_OR32   30\n\n#define BX_INSTR_AND8   31\n#define BX_INSTR_AND16  32\n#define BX_INSTR_AND32  33\n\n#define BX_INSTR_TEST8  34\n#define BX_INSTR_TEST16 35\n#define BX_INSTR_TEST32 36\n\n#define BX_INSTR_XOR8   37\n#define BX_INSTR_XOR16  38\n#define BX_INSTR_XOR32  39\n\n#define BX_INSTR_CMPS8  40\n#define BX_INSTR_CMPS16 41\n#define BX_INSTR_CMPS32 42\n\n#define BX_INSTR_SCAS8  43\n#define BX_INSTR_SCAS16 44\n#define BX_INSTR_SCAS32 45\n\n#define BX_INSTR_SHR8   46\n#define BX_INSTR_SHR16  47\n#define BX_INSTR_SHR32  48\n\n#define BX_INSTR_SHL8   49\n#define BX_INSTR_SHL16  50\n#define BX_INSTR_SHL32  51\n\n#define BX_INSTR_SAR8   52\n#define BX_INSTR_SAR16  53\n#define BX_INSTR_SAR32  54\n\n#define BX_INSTR_ROL8   55\n#define BX_INSTR_ROL16  56\n#define BX_INSTR_ROL32  57\n\n#define BX_INSTR_ROR8   58\n#define BX_INSTR_ROR16  59\n#define BX_INSTR_ROR32  60\n\n#define BX_INSTR_RCL8   61\n#define BX_INSTR_RCL16  62\n#define BX_INSTR_RCL32  63\n\n#define BX_INSTR_RCR8   64\n#define BX_INSTR_RCR16  65\n#define BX_INSTR_RCR32  66\n\n#define BX_INSTR_SHRD16\t67\n#define BX_INSTR_SHRD32\t68\n#define BX_INSTR_SHLD16\t69\n#define BX_INSTR_SHLD32\t70\n\n\n#define BX_LF_INDEX_KNOWN   0\n#define BX_LF_INDEX_OSZAPC  1\n#define BX_LF_INDEX_OSZAP   2\n#define BX_LF_INDEX_OSZPC   3\n#define BX_LF_INDEX_XSZPC   4\n#define BX_LF_INDEX_OC\t\t5\n#define BX_LF_INDEX_XC\t\t6\n#define BX_LF_INDEX_SIZE\t7\n\n#define BX_LF_MASK_OSZAPC 0x111111\n#define BX_LF_MASK_OSZAP  0x222220\n#define BX_LF_MASK_OSZPC  0x333033\n#define BX_LF_MASK_XSZPC  0x044044\n#define BX_LF_MASK_OC\t  0x500005\n#define BX_LF_MASK_XC\t  0x000006\n\ntypedef struct\n{\n\tBit8u op1_8;\n\tBit8u op2_8;\n\tBit8u result_8;\n\n\tBit16u op1_16;\n\tBit16u op2_16;\n\tBit16u result_16;\n\n\tBit32u op1_32;\n\tBit32u op2_32;\n\tBit32u result_32;\n\n\n\tunsigned shift_counter;\n\tunsigned prev_cf;\n\tunsigned instr;\n\n} bx_lf_flags_entry;\n\n#endif /* BX_PROVIDE_CPU_MEMORY==1 */\n\n#endif //#ifndef BX_FLAGS_H\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/mult.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: mult.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  ˳ָ\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::DIV_ALEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2;\n\tX86_CPU_INT64 source,result;\n\tBit16u op1;\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\top1 = RW_AX;\n\tsource.h32 = 0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x00ff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_AH = (Bit8u)(source.l32);\n\tRW_AL = (Bit8u)(result.l32);\n\n\t// DIV_ALEGb affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::DIV_ALEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2;\n\tX86_CPU_INT64 source,result;\n\tBit16u op1;\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\top1 = RW_AX;\n\tsource.h32 = 0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x00ff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_AH = (Bit8u)(source.l32);\n\tRW_AL = (Bit8u)(result.l32);\n\n\t// DIV_ALEEb affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::DIV_AXEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2;\n\tX86_CPU_INT64 source,result;\n\tBit32u op1;\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\top1 = ((RW_DX<<16) | RW_AX);\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0000ffff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_DX = (Bit16u)(source.l32);\n\tRW_AX = (Bit16u)(result.l32);\n\n\t// DIV_AXEGw affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::DIV_AXEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2;\n\tX86_CPU_INT64 source,result;\n\tBit32u op1;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\top1 = ((RW_DX<<16) | RW_AX);\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0000ffff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_DX = (Bit16u)(source.l32);\n\tRW_AX = (Bit16u)(result.l32);\n\n\t// DIV_AXEEw affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::DIV_EAXEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2;\n\tX86_CPU_INT64 source,result;\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tsource.h32 = RW_EDX;\n\tsource.l32  = RW_EAX;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.h32>0)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_EDX = source.l32;\n\tRW_EAX = result.l32;\n\n\t// DIV_EAXEGd affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::DIV_EAXEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2;\n\tX86_CPU_INT64 source,result;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\tsource.h32 = RW_EDX;\n\tsource.l32  = RW_EAX;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.h32>0)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tRW_EDX = source.l32;\n\tRW_EAX = result.l32;\n\n\t// DIV_EAXEEd affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_ALEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\tBit16u op1;\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\top1 = RW_AX;\n\ts1 = op1>>15;\n\ts2 = op2>>7;\n\tif (s1)\n\t{\n\t\top1 = 0 -op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0007f)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_AH = (Bit8u)(source.l32);\n\tRW_AL = (Bit8u)(result.l32);\n\n\t// IDIV_ALEGb affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_ALEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\tBit16u op1;\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\top1 = RW_AX;\n\ts1 = op1>>15;\n\ts2 = op2>>7;\n\tif (s1)\n\t{\n\t\top1 = 0 -op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0007f)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_AH = (Bit8u)(source.l32);\n\tRW_AL = (Bit8u)(result.l32);\n\n\t// IDIV_ALEEb affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_AXEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\tBit32u op1;\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\top1 = ((RW_DX<<16) | RW_AX);\n\ts1 = op1>>31;\n\ts2 = op2>>15;\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0007fff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_DX = (Bit16u)(source.l32);\n\tRW_AX = (Bit16u)(result.l32);\n\n\t// IDIV_AXEGw affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_AXEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\tBit32u op1;\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\top1 = ((RW_DX<<16) | RW_AX);\n\ts1 = op1>>31;\n\ts2 = op2>>15;\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\tsource.h32 =0;\n\tsource.l32 = op1;\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.l32>0x0007fff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_DX = (Bit16u)(source.l32);\n\tRW_AX = (Bit16u)(result.l32);\n\n\t// IDIV_AXEEw affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_EAXEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\tsource.h32 = RW_EDX;\n\tsource.l32  = RW_EAX;\n\ts1 = source.h32>>31;\n\ts2 = op2>>31;\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t\tif (!source.l32)\n\t\t{\n\t\t\tsource.h32 = 0 -source.h32 - 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsource.h32 = 0 -source.h32 - 1;\n\t\t}\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.h32>0||result.l32>0x7fffffff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_EDX = source.l32;\n\tRW_EAX = result.l32;\n\n\t// IDIV_EAXEGd affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::IDIV_EAXEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2;\n\tX86_CPU_INT64 source,result;\n\tBoolean s2,s1;\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\tsource.h32 = RW_EDX;\n\tsource.l32  = RW_EAX;\n\ts1 = source.h32>>31;\n\ts2 = op2>>31;\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t\tif (!source.l32)\n\t\t{\n\t\t\tsource.h32 = 0 -source.h32 - 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsource.h32 = 0 -source.h32 - 1;\n\t\t}\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\t\n\tDivideBit64(&source,op2,&result);\n\tif (result.h32>0||result.l32>0x7fffffff)\n\t{\n\t\tBX_CPU_CLASS_PTR exception(BX_DE_EXCEPTION, 0, 0);\n\t}\n\tif (s1)\n\t{\n\t\tsource.l32 = 0 -source.l32;\n\t}\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 -result.l32;\n\t}\n\tRW_EDX = source.l32;\n\tRW_EAX = result.l32;\n\n\t// IDIV_EAXEEd affects the following flags: O,S,Z,A,P,C are undefined \n}\n\n\tvoid\nBX_CPU_C::MUL_ALEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2, op1;\n\tBoolean temp_flag;\n\tBit16u sum;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x00ff);\n\tRW_AX  = sum;\n\t// MUL_ALEGb affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::MUL_ALEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2, op1;\n\tBoolean temp_flag;\n\tBit16u sum;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x00ff);\n\tRW_AX  = sum;\n\t// MUL_ALEEb affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::MUL_AXEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2, op1;\n\tBoolean temp_flag;\n\tBit32u sum;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x0000ffff);\n\tRW_AX  = (Bit16u)sum;\n\tRW_DX  = (Bit16u)(sum>>16);\n\t// MUL_AXEGw affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::MUL_AXEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2, op1;\n\tBoolean temp_flag;\n\tBit32u sum;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x0000ffff);\n\tRW_AX  = (Bit16u)sum;\n\tRW_DX  = (Bit16u)(sum>>16);\n\t// MUL_AXEEw affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::MUL_EAXEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2, op1;\n\tBoolean temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\t\n\tMultiplyBit64(&result,op1,op2);\n\ttemp_flag = (result.h32>0);\n\tRW_EAX  = result.l32;\n\tRW_EDX  = result.h32;\n\t// MUL_EAXEGd affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::MUL_EAXEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2, op1;\n\tBoolean temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\t\n\tMultiplyBit64(&result,op1,op2);\n\ttemp_flag = (result.h32>0);\n\tRW_EAX  = result.l32;\n\tRW_EDX  = result.h32;\n\t// MUL_EAXEEd affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_ALEGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tBit16u sum;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\top2 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\ts1 = op1>>(8-1);\n\ts2 = op2>>(8-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x007f);\n\tif (s1!=s2)\n\t{\n\t\tsum = 0- sum;\n\t}\n\tRW_AX  = sum;\n\t// IMUL_ALEGb affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_ALEEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tBit16u sum;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = op1>>(8-1);\n\ts2 = op2>>(8-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x007f);\n\tif (s1!=s2)\n\t{\n\t\tsum = 0- sum;\n\t}\n\tRW_AX  = sum;\n\t// IMUL_ALEEb affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_AXEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tBit32u sum;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\ts1 = op1>>(16-1);\n\ts2 = op2>>(16-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tsum = 0- sum;\n\t}\n\tRW_AX  = (Bit16u)sum;\n\tRW_DX  = (Bit16u)(sum>>16);\n\t// IMUL_AXEGw affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_AXEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tBit32u sum;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = op1>>(16-1);\n\ts2 = op2>>(16-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\tsum = op1 * op2;\n\ttemp_flag = (sum>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tsum = 0- sum;\n\t}\n\tRW_AX  = (Bit16u)sum;\n\tRW_DX  = (Bit16u)(sum>>16);\n\t// IMUL_AXEEw affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_EAXEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\ts1 = op1>>(32-1);\n\ts2 = op2>>(32-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\t\n\tMultiplyBit64(&result,op1,op2);\n\ttemp_flag = (result.h32>0||result.l32>0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tRW_EAX  = result.l32;\n\tRW_EDX  = result.h32;\n\t// IMUL_EAXEGd affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_EAXEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2, op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = op1>>(32-1);\n\ts2 = op2>>(32-1);\n\tif (s1)\n\t{\n\t\top1 = 0-op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0-op2;\n\t}\n\t\n\tMultiplyBit64(&result,op1,op2);\n\ttemp_flag = (result.h32>0||result.l32>0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tRW_EAX  = result.l32;\n\tRW_EDX  = result.h32;\n\t// IMUL_EAXEEd affects the following flags: C,O \n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GwEGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\ts1 = (op1>>(16-1));\n\ts2 = (op2>>(16-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.l32>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t}\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), ((Bit16u)result.l32));\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GwEEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = (op1>>(16-1));\n\ts2 = (op2>>(16-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.l32>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t}\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), ((Bit16u)result.l32));\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GdEGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\ts1 = (op1>>(32-1));\n\ts2 = (op2>>(32-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.h32 >0 || result.l32 >0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),result.l32);\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GdEEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = (op1>>(32-1));\n\ts2 = (op2>>(32-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.h32 >0 || result.l32 >0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),result.l32);\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GwEGwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = IMMEDIATEIw(i);\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\ts1 = (op1>>(16-1));\n\ts2 = (op2>>(16-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.l32>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t}\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), ((Bit16u)result.l32));\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GwEEwIw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = IMMEDIATEIw(i);\n\tREAD_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = (op1>>(16-1));\n\ts2 = (op2>>(16-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.l32>0x00007fff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t}\n\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), ((Bit16u)result.l32));\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GdEGdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = IMMEDIATEId(i);\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\ts1 = (op1>>(32-1));\n\ts2 = (op2>>(32-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.h32 >0 || result.l32 >0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),result.l32);\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n\tvoid\nBX_CPU_C::IMUL_GdEEdId(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op2,op1;\n\tBoolean s2,s1,temp_flag;\n\tX86_CPU_INT64 result;\n\top1 = IMMEDIATEId(i);\n\tREAD_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op2);\n\ts1 = (op1>>(32-1));\n\ts2 = (op2>>(32-1));\n\tif (s1)\n\t{\n\t\top1 = 0 - op1;\n\t}\n\tif (s2)\n\t{\n\t\top2 = 0 - op2;\n\t}\n\n\tMultiplyBit64(&result,op1,op2);\n\t// Imul r,r/m;Imul r,r/m,immed :affects the following flags CF & OF:\n\t// result exactly fits within r\n\n\ttemp_flag = (result.h32 >0 || result.l32 >0x7fffffff);\n\tif (s1!=s2)\n\t{\n\t\tresult.l32 = 0 - result.l32;\n\t\tif (!result.l32)\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.h32 = 0 - result.h32 -1;\n\t\t}\n\t}\n\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i),result.l32);\n\tSET_FLAGS_OxxxxC(temp_flag, temp_flag);\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/mult_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: mult32.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n//-----------------------------------------------------\n\n#if (HOST_CPU_IS_I80386==0)\n\nvoid MultiplyBit64(X86_CPU_INT64 *result,Bit32u src,Bit32u dst)\n{\n\tBit32u temp0_l,temp0_h;\n\tBit32u temp1_l,temp1_h;\n\tBit32u temp2_l,temp2_h;\n\n\ttemp1_l = src;\n\ttemp2_l = dst;\n\t\n\ttemp0_l=temp0_h=temp1_h=temp2_h=0;\n\t\n\twhile(temp2_l!=0)\n\t{\n\t\tif (temp2_l&0x1) \n\t\t{\n\t\t\tif ((Bit32u)(temp0_l+temp1_l)<temp0_l) \n\t\t\t{\n\t\t\t\ttemp0_l=temp0_l+temp1_l;\n\t\t\t\ttemp0_h=temp0_h+temp1_h+0x1;\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\ttemp0_l=temp0_l+temp1_l;\n\t\t\t\ttemp0_h=temp0_h+temp1_h;\n\t\t\t}\n\t\t}\n\t\ttemp1_h=(temp1_h<<1)+(temp1_l>>0x1f);\n\t\ttemp1_l =(temp1_l<<1);\n\t\ttemp2_l =(temp2_l>>1);\n\t}\n\t\n\tresult->l32 = temp0_l;\n\tresult->h32 = temp0_h;\n}\n\nvoid DivideBit64(X86_CPU_INT64 *source,Bit32u dst,X86_CPU_INT64 *result)\n{\n\tint i;\n\tBit32u temp0_l,temp0_h;\n\tBit32u temp1_l,temp1_h;\n\tBit32u temp2_l,temp2_h;\n\t\n\ttemp0_l = source->l32;\n\ttemp0_h = source->h32;\n\t\n\ttemp1_l = dst;\n\t\n\ttemp1_h=temp1_l;\t\n\ttemp1_l=temp2_l=temp2_h=0;\t\n\t\n\tfor (i=0;temp1_h<0x80000000&&i<0x1f;i++)\n\t\ttemp1_h=temp1_h<<1;\n\t\n\tfor (i=i+0x20;i>=0;i--)\n\t{\n\t\tif (temp0_h>temp1_h)\n\t\t{\n\t\t\tif (temp0_l>=temp1_l)\n\t\t\t{\n\t\t\t\ttemp0_l=temp0_l-temp1_l;\n\t\t\t\ttemp0_h=temp0_h-temp1_h;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttemp0_l=temp0_l-temp1_l;\n\t\t\t\ttemp0_h=temp0_h-temp1_h-0x1;\n\t\t\t}\n\t\t\ttemp2_l=temp2_l+0x1;\n\t\t}\n\t\telse if (temp0_h==temp1_h&&temp0_l>=temp1_l)\n\t\t{\n\t\t\ttemp0_l=temp0_l-temp1_l;\n\t\t\ttemp0_h=temp0_h-temp1_h;\n\t\t\ttemp2_l=temp2_l+0x1;\n\t\t}\n\t\t\n\t\tif (i==0)\n\t\t\tbreak;\n\t\t\n\t\ttemp1_l=(temp1_l>>1)+(temp1_h<<0x1f);\n\t\ttemp1_h=temp1_h>>1;\n\t\ttemp2_h=(temp2_h<<1)+(temp2_l>>0x1f);\n\t\ttemp2_l=(temp2_l<<1);\n\t}\n\t\n\tsource->l32 = temp0_l;\n\tsource->h32 = temp0_h;\n\t\n\tresult->l32 = temp2_l;\n\tresult->h32 = temp2_h;\n}\n\n#endif //#if (HOST_CPU_IS_I80386==0)\n\n#if (HOST_CPU_IS_I80386==1)\n\nvoid MultiplyBit64(X86_CPU_INT64 *result,Bit32u src,Bit32u dst)\n{\n\t__asm\n\t{\n\t\tmov eax,src\n\t\tmul dst\n\t\tmov ebx,result\n\t\tmov [ebx]X86_CPU_INT64.l32,eax\n\t\tmov [ebx]X86_CPU_INT64.h32,edx\n\t}\n}\n\nvoid DivideBit64(X86_CPU_INT64 *source,Bit32u dst,X86_CPU_INT64 *result)\n{\n\tif (source->h32>=dst)\n\t{\n\t\tresult->l32 = (Bit32u)(-1);\n\t\tresult->h32 = (Bit32u)(-1);\n\t\treturn ;\n\t}\n\telse\n\t{\n\t\tresult->l32 = 0;\n\t\tresult->h32 = 0;\n\t}\n\n\t__asm\n\t{\n\t\tmov ebx,source\n\t\tmov eax,[ebx]X86_CPU_INT64.l32\n\t\tmov edx,[ebx]X86_CPU_INT64.h32\n\t\tdiv dst\n\t\tmov [ebx]X86_CPU_INT64.l32,edx\n\t\tmov ebx,result\n\t\tmov [ebx]X86_CPU_INT64.l32,eax\n\t}\n}\n\n#endif //#if (HOST_CPU_IS_I80386==1)\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/paging.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: paging.cc,v 1.8 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#if 0\n  // - what should the reserved bits in the error code be ?\n  // - move CR0.wp bit in lookup table to cache.  Then dump\n  //   cache whenever it is changed.  This eliminates the\n  //   extra calculation and shifting.\n  // - change BX_READ and BX_WRITE to 0,1 ???\n#endif\n\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n#if 0\n// X86 Registers Which Affect Paging:\n// ==================================\n//\n// CR0:\n//   bit 31: PG, Paging (386+)\n//   bit 16: WP, Write Protect (486+)\n//     0: allow   supervisor level writes into user level RO pages\n//     1: inhibit supervisor level writes into user level RO pages\n//\n// CR3:\n//   bit 31..12: PDBR, Page Directory Base Register (386+)\n//   bit      4: PCD, Page level Cache Disable (486+)\n//     Controls caching of current page directory.  Affects only the processor's\n//     internal caches (L1 and L2).\n//     This flag ignored if paging disabled (PG=0) or cache disabled (CD=1).\n//     Values:\n//       0: Page Directory can be cached\n//       1: Page Directory not cached\n//   bit      3: PWT, Page level Writes Transparent (486+)\n//     Controls write-through or write-back caching policy of current page\n//     directory.  Affects only the processor's internal caches (L1 and L2).\n//     This flag ignored if paging disabled (PG=0) or cache disabled (CD=1).\n//     Values:\n//       0: write-back caching enabled\n//       1: write-through caching enabled\n//\n// CR4:\n//   bit 4: PSE, Page Size Extension (Pentium+)\n//     0: 4KByte pages (typical)\n//     1: 4MByte or 2MByte pages\n//   bit 5: PAE, Physical Address Extension (Pentium Pro+)\n//     0: 32bit physical addresses\n//     1: 36bit physical addresses\n//   bit 7: PGE, Page Global Enable (Pentium Pro+)\n//     The global page feature allows frequently used or shared pages\n//     to be marked as global (PDE or PTE bit 8).  Global pages are\n//     not flushed from TLB on a task switch or write to CR3.\n//     Values:\n//       0: disables global page feature\n//       1: enables global page feature\n//\n//     Page size extention and physical address size extention matrix\n//   ====================================================================\n//   CR0.PG  CR4.PAE  CR4.PSE  PDE.PS | page size   physical address size\n//   ====================================================================\n//      0       X        X        X   |    -          paging disabled\n//      1       0        0        X   |   4K              32bits\n//      1       0        1        0   |   4K              32bits\n//      1       0        1        1   |   4M              32bits\n//      1       1        X        0   |   4K              36bits\n//      1       1        X        1   |   2M              36bits\n\n\n\f\n// Page Directory/Table Entry format when P=0:\n// ===========================================\n//\n//   31.. 1: available\n//        0: P=0\n\n// Page Directory Entry format when P=1 (4-Kbyte Page Table):\n// ==========================================================\n//\n//   31..12: page table base address\n//   11.. 9: available\n//        8: G (Pentium Pro+), 0=reserved otherwise\n//        7: PS (Pentium+), 0=reserved otherwise\n//        6: 0=reserved\n//        5: A   (386+)\n//        4: PCD (486+), 0=reserved otherwise\n//        3: PWT (486+), 0=reserved otherwise\n//        2: U/S (386+)\n//        1: R/W (386+)\n//        0: P=1 (386+)\n\n// Page Table Entry format when P=1 (4-Kbyte Page):\n// ================================================\n//\n//   31..12: page base address\n//   11.. 9: available\n//        8: G (Pentium Pro+), 0=reserved otherwise\n//        7: 0=reserved\n//        6: D   (386+)\n//        5: A   (386+)\n//        4: PCD (486+), 0=reserved otherwise\n//        3: PWT (486+), 0=reserved otherwise\n//        2: U/S (386+)\n//        1: R/W (386+)\n//        0: P=1 (386+)\n\n\f\n// Page Directory/Table Entry Fields Defined:\n// ==========================================\n// G: Global flag\n//   Indiciates a global page when set.  When a page is marked\n//   global and the PGE flag in CR4 is set, the page table or\n//   directory entry for the page is not invalidated in the TLB\n//   when CR3 is loaded or a task switch occurs.  Only software\n//   clears and sets this flag.  For page directory entries that\n//   point to page tables, this flag is ignored and the global\n//   characteristics of a page are set in the page table entries.\n//\n// PS: Page Size flag\n//   Only used in page directory entries.  When PS=0, the page\n//   size is 4KBytes and the page directory entry points to a\n//   page table.  When PS=1, the page size is 4MBytes for\n//   normal 32-bit addressing and 2MBytes if extended physical\n//   addressing\n//\n// D: Dirty bit:\n//   Processor sets the Dirty bit in the 2nd-level page table before a\n//   write operation to an address mapped by that page table entry.\n//   Dirty bit in directory entries is undefined.\n//\n// A: Accessed bit:\n//   Processor sets the Accessed bits in both levels of page tables before\n//   a read/write operation to a page.\n//\n// PCD: Page level Cache Disable\n//   Controls caching of individual pages or page tables.\n//   This allows a per-page based mechanism to disable caching, for\n//   those pages which contained memory mapped IO, or otherwise\n//   should not be cached.  Processor ignores this flag if paging\n//   is not used (CR0.PG=0) or the cache disable bit is set (CR0.CD=1).\n//   Values:\n//     0: page or page table can be cached\n//     1: page or page table is not cached (prevented)\n//\n// PWT: Page level Write Through\n//   Controls the write-through or write-back caching policy of individual\n//   pages or page tables.  Processor ignores this flag if paging\n//   is not used (CR0.PG=0) or the cache disable bit is set (CR0.CD=1).\n//   Values:\n//     0: write-back caching\n//     1: write-through caching\n//\n// U/S: User/Supervisor level\n//   0: Supervisor level - for the OS, drivers, etc.\n//   1: User level - application code and data\n//\n// R/W: Read/Write access\n//   0: read-only access\n//   1: read/write access\n//\n// P: Present\n//   0: Not present\n//   1: Present\n// ==========================================\n\n\n\f\n// Combined page directory/page table protection:\n// ==============================================\n// There is one column for the combined effect on a 386\n// and one column for the combined effect on a 486+ CPU.\n//\n// +----------------+-----------------+----------------+----------------+\n// |  Page Directory|     Page Table  |   Combined 386 |  Combined 486+ |\n// |Privilege  Type | Privilege  Type | Privilege  Type| Privilege  Type|\n// |----------------+-----------------+----------------+----------------|\n// |User       R    | User       R    | User       R   | User       R   |\n// |User       R    | User       RW   | User       R   | User       R   |\n// |User       RW   | User       R    | User       R   | User       R   |\n// |User       RW   | User       RW   | User       RW  | User       RW  |\n// |User       R    | Supervisor R    | User       R   | Supervisor RW  |\n// |User       R    | Supervisor RW   | User       R   | Supervisor RW  |\n// |User       RW   | Supervisor R    | User       R   | Supervisor RW  |\n// |User       RW   | Supervisor RW   | User       RW  | Supervisor RW  |\n// |Supervisor R    | User       R    | User       R   | Supervisor RW  |\n// |Supervisor R    | User       RW   | User       R   | Supervisor RW  |\n// |Supervisor RW   | User       R    | User       R   | Supervisor RW  |\n// |Supervisor RW   | User       RW   | User       RW  | Supervisor RW  |\n// |Supervisor R    | Supervisor R    | Supervisor RW  | Supervisor RW  |\n// |Supervisor R    | Supervisor RW   | Supervisor RW  | Supervisor RW  |\n// |Supervisor RW   | Supervisor R    | Supervisor RW  | Supervisor RW  |\n// |Supervisor RW   | Supervisor RW   | Supervisor RW  | Supervisor RW  |\n// +----------------+-----------------+----------------+----------------+\n\n// Page Fault Error Code Format:\n// =============================\n//\n// bits 31..4: Reserved\n// bit  3: RSVD (Pentium Pro+)\n//   0: fault caused by reserved bits set to 1 in a page directory\n//      when the PSE or PAE flags in CR4 are set to 1\n//   1: fault was not caused by reserved bit violation\n// bit  2: U/S (386+)\n//   0: fault originated when in supervior mode\n//   1: fault originated when in user mode\n// bit  1: R/W (386+)\n//   0: access causing the fault was a read\n//   1: access causing the fault was a write\n// bit  0: P (386+)\n//   0: fault caused by a nonpresent page\n//   1: fault caused by a page level protection violation\n\n\n// Some paging related notes:\n// ==========================\n//\n// - When the processor is running in supervisor level, all pages are both\n//   readable and writable (write-protect ignored).  When running at user\n//   level, only pages which belong to the user level are accessible;\n//   read/write & read-only are readable, read/write are writable.\n//\n// - If the Present bit is 0 in either level of page table, an\n//   access which uses these entries will generate a page fault.\n//\n// - (A)ccess bit is used to report read or write access to a page\n//   or 2nd level page table.\n//\n// - (D)irty bit is used to report write access to a page.\n//\n// - Processor running at CPL=0,1,2 maps to U/S=0\n//   Processor running at CPL=3     maps to U/S=1\n//\n// - Pentium+ processors have separate TLB's for data and instruction caches\n// - Pentium Pro+ processors maintain separate 4K and 4M TLBs.\n#endif\n\n\n\n\n#if BX_SUPPORT_PAGING\n\n#define BX_INVALID_TLB_ENTRY 0xffffffff\n\n#if BX_CPU_LEVEL >= 4\n#  define BX_PRIV_CHECK_SIZE 32\n#else\n#  define BX_PRIV_CHECK_SIZE 16\n#endif\n\n// The 'priv_check' array is used to decide if the current access\n// has the proper paging permissions.  An index is formed, based\n// on parameters such as the access type and level, the write protect\n// flag and values cached in the TLB.  The format of the index into this\n// array is:\n//\n//   |4 |3 |2 |1 |0 |\n//   |wp|us|us|rw|rw|\n//    |  |  |  |  |\n//    |  |  |  |  +---> r/w of current access\n//    |  |  +--+------> u/s,r/w combined of page dir & table (cached)\n//    |  +------------> u/s of current access\n//    +---------------> Current CR0.wp value\n//\n// The TLB cache holds the following info, from which the above\n// fields can efficiently be extracted to facilitate a privilege check:\n//\n//   |4 |3 |2 |1 |0 |\n//   |  |  |us|rw|D |\n//          |  |  |\n//          |  |  +---> Dirty bit from PTE (not used for privilege check)\n//          +--+------> u/s,r/w combined of page dir & table\n//\n//\n// The rest of the fields are taken from current access parameters\n// and the write-protect field:\n//\n//   |4 |3 |2 |1 |0 |\n//   |wp|us|  |  |rw|\n//    |  |        |\n//    |  |        +---> r/w of current access\n//    |  |\n//    |  +------------> u/s of current access\n//    +---------------> Current CR0.wp value\n\n\nstatic unsigned priv_check[BX_PRIV_CHECK_SIZE];\n\n\n\n  void\nBX_CPU_C::enable_paging(void)\n{\n  TLB_flush();\n  if (bx_dbg.paging) BX_INFO((\"enable_paging():\"));\n//BX_DEBUG(( \"enable_paging():-------------------------\" ));\n}\n\n  void\nBX_CPU_C::disable_paging(void)\n{\n  TLB_flush();\n  if (bx_dbg.paging) BX_INFO((\"disable_paging():\"));\n}\n\n  void\nBX_CPU_C::CR3_change(Bit32u value32)\n{\n  if (bx_dbg.paging) {\n    BX_INFO((\"CR3_change(): flush TLB cache\"));\n    BX_INFO((\"Page Directory Base %08x\", (unsigned) value32));\n    }\n\n  // flush TLB even if value does not change\n  TLB_flush();\n  BX_CPU_THIS_PTR cr3 = value32;\n}\n\n  void\nBX_CPU_C::TLB_init(void)\n{\n  // Called to initialize the TLB upon startup.\n  // Unconditional initialization of all TLB entries.\n\n#if BX_USE_TLB\n  unsigned i;\n  unsigned wp, us_combined, rw_combined, us_current, rw_current;\n\n  for (i=0; i<BX_TLB_SIZE; i++) {\n    BX_CPU_THIS_PTR TLB.entry[i].lpf = BX_INVALID_TLB_ENTRY;\n    }\n\n  //\n  // Setup privilege check matrix.\n  //\n\n  for (i=0; i<BX_PRIV_CHECK_SIZE; i++) {\n    wp          = (i & 0x10) >> 4;\n    us_current  = (i & 0x08) >> 3;\n    us_combined = (i & 0x04) >> 2;\n    rw_combined = (i & 0x02) >> 1;\n    rw_current  = (i & 0x01) >> 0;\n    if (wp) { // when write protect on\n      if (us_current > us_combined) // user access, supervisor page\n        priv_check[i] = 0;\n      else if (rw_current > rw_combined) // RW access, RO page\n        priv_check[i] = 0;\n      else\n        priv_check[i] = 1;\n      }\n    else { // when write protect off\n      if (us_current == 0) // Supervisor mode access, anything goes\n        priv_check[i] = 1;\n      else {\n        // user mode access\n        if (us_combined == 0) // user access, supervisor Page\n          priv_check[i] = 0;\n        else if (rw_current > rw_combined) // RW access, RO page\n          priv_check[i] = 0;\n        else\n          priv_check[i] = 1;\n        }\n      }\n    }\n\n#endif  // #if BX_USE_TLB\n}\n\n  void\nBX_CPU_C::TLB_flush(void)\n{\n#if BX_USE_TLB\n  for (unsigned i=0; i<BX_TLB_SIZE; i++) {\n    BX_CPU_THIS_PTR TLB.entry[i].lpf = BX_INVALID_TLB_ENTRY;\n    }\n#endif  // #if BX_USE_TLB\n\n  invalidate_prefetch_q();\n}\n\n  void\nBX_CPU_C::TLB_clear(void)\n{\n#if BX_USE_TLB\n  for (unsigned i=0; i<BX_TLB_SIZE; i++) {\n    BX_CPU_THIS_PTR TLB.entry[i].lpf = BX_INVALID_TLB_ENTRY;\n    }\n#endif  // #if BX_USE_TLB\n}\n\n  void\nBX_CPU_C::INVLPG(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 4\n  invalidate_prefetch_q();\n\n  // Operand must not be a register\n  if (i->modC0()) {\n    BX_INFO((\"INVLPG: op is a register\"));\n    UndefinedOpcode(icpu,i);\n    }\n  // Can not be executed in v8086 mode\n  if (v8086_mode())\n    exception(BX_GP_EXCEPTION, 0, 0);\n\n  // Protected instruction: CPL0 only\n  if (BX_CPU_THIS_PTR cr0.pe) {\n    if (CPL!=0) {\n      BX_INFO((\"INVLPG: CPL!=0\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n      }\n    }\n\n#if BX_USE_TLB\n  // Just clear the entire TLB, ugh!\n  TLB_clear();\n#endif // BX_USE_TLB\n  BX_INSTR_TLB_CNTRL(BX_INSTR_INVLPG, 0);\n\n#else\n  // not supported on < 486\n  UndefinedOpcode(icpu,i);\n#endif\n}\n\n\n// Translate a linear address to a physical address, for\n// a data access (D)\n\n  Bit32u\nBX_CPU_C::dtranslate_linear(Bit32u laddress, unsigned pl, unsigned rw)\n{\n  Bit32u   lpf, ppf, poffset, TLB_index, error_code, paddress;\n  Bit32u   pde, pde_addr;\n  Bit32u   pte, pte_addr;\n  unsigned priv_index;\n  Boolean  is_rw;\n  Bit32u   combined_access, new_combined_access;\n\n  lpf       = laddress & 0xfffff000; // linear page frame\n  poffset   = laddress & 0x00000fff; // physical offset\n  TLB_index = BX_TLB_INDEX_OF(lpf);\n\n\n  is_rw = (rw>=BX_WRITE); // write or r-m-w\n\n  if (BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf == lpf) {\n    paddress        = BX_CPU_THIS_PTR TLB.entry[TLB_index].ppf | poffset;\n    combined_access = BX_CPU_THIS_PTR TLB.entry[TLB_index].combined_access;\npriv_check:\n    priv_index =\n#if BX_CPU_LEVEL >= 4\n      (BX_CPU_THIS_PTR cr0.wp<<4) |  // bit 4\n#endif\n      (pl<<3) |                      // bit 3\n      (combined_access & 0x06) |     // bit 2,1\n      is_rw;                         // bit 0\n\n    if (priv_check[priv_index]) {\n      // Operation has proper privilege.\n      // See if A/D bits need updating.\n      //BW !! a read access does not do any updates, patched load\n      new_combined_access = combined_access | is_rw;\n      if (new_combined_access == combined_access) {\n        // A/D bits already up-to-date\n        return(paddress);\n        }\n\n      // A/D bits need updating first\n      BX_CPU_THIS_PTR TLB.entry[TLB_index].combined_access = new_combined_access;\n      pte_addr = BX_CPU_THIS_PTR TLB.entry[TLB_index].pte_addr;\n      BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pte_addr, 4, &pte); // get old PTE\n      pte |= 0x20 | (is_rw << 6);\n      BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, pte_addr, 4, &pte); // write updated PTE\n      return(paddress);\n      }\n\n    // Protection violation\n    error_code = 0xfffffff9; // RSVD=1, P=1\n    goto page_fault_check;\n    }\n\n  // Get page dir entry\n  pde_addr = (BX_CPU_THIS_PTR cr3 & 0xfffff000) |\n             ((laddress & 0xffc00000) >> 20);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pde_addr, 4, &pde);\n  if ( !(pde & 0x01) ) {\n    // Page Directory Entry NOT present\n    error_code = 0xfffffff8; // RSVD=1, P=0\n    goto page_fault_not_present;\n    }\n\n  // Get page table entry\n  pte_addr = (pde & 0xfffff000) |\n             ((laddress & 0x003ff000) >> 10);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pte_addr, 4, &pte);\n\n  // update PDE if A bit was not set before\n  if ( !(pde & 0x20) ) {\n    pde |= 0x20;\n    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, pde_addr, 4, &pde);\n    }\n\n  if ( !(pte & 0x01) ) {\n    // Page Table Entry NOT present\n    error_code = 0xfffffff8; // RSVD=1, P=0\n    goto page_fault_not_present;\n    }\n\n  //BW added: update PTE if A bit was not set before\n  if ( !(pte & 0x20) ) {\n    pte |= 0x20;\n    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, pte_addr, 4, &pte);\n    }\n\n  // 386 and 486+ have different bahaviour for combining\n  // privilege from PDE and PTE.\n#if BX_CPU_LEVEL == 3\n  combined_access  = (pde | pte) & 0x04; // U/S\n  combined_access |= (pde & pte) & 0x02; // R/W\n#else // 486+\n  combined_access  = (pde & pte) & 0x06; // U/S and R/W\n#endif\n\n  ppf = pte & 0xfffff000;\n  paddress = ppf | poffset;\n\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf = lpf;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].ppf = ppf;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].pte_addr = pte_addr;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].combined_access = combined_access;\n  goto priv_check;\n\n\npage_fault_check:\n// (mch) Define RMW_WRITES for old behavior\n#if !defined(RMW_WRITES)\n  /* (mch) Ok, so we know it's a page fault. It the access is a\n     read-modify-write access we check if the read faults, if it\n     does then we (optionally) do not set the write bit */\n  if (rw == BX_RW) {\n          priv_index =\n#if BX_CPU_LEVEL >= 4\n                  (BX_CPU_THIS_PTR cr0.wp<<4) |               // bit 4\n#endif\n                  (pl<<3) |                   // bit 3\n                  (combined_access & 0x06) |  // bit 2,1\n                  0;                      // bit 0 (read)\n          if (!priv_check[priv_index]) {\n                  // Fault on read\n                  is_rw = 0;\n          }\n  }\n#endif /* RMW_WRITES */\n  goto page_fault_proper;\n\npage_fault_not_present:\n#if !defined(RMW_WRITES)\n  if (rw == BX_RW)\n          is_rw = 0;\n#endif /* RMW_WRITES */\n  goto page_fault_proper;\n\n  page_fault_proper:\n  error_code |= (pl << 2) | (is_rw << 1);\n  BX_CPU_THIS_PTR cr2 = laddress;\n  // invalidate entry - we can get away without maintaining A bit in PTE\n  // if we don't maintain TLB entries without it set.\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf = BX_INVALID_TLB_ENTRY;\n  exception(BX_PF_EXCEPTION, error_code, 0);\n  return(0); // keep compiler happy\n}\n\n\n// Translate a linear address to a physical address, for\n// an instruction fetch access (I)\n\n  Bit32u\nBX_CPU_C::itranslate_linear(Bit32u laddress, unsigned pl)\n{\n  Bit32u   lpf, ppf, poffset, TLB_index, error_code, paddress;\n  Bit32u   pde, pde_addr;\n  Bit32u   pte, pte_addr;\n  unsigned priv_index;\n  Bit32u   combined_access;\n\n  lpf       = laddress & 0xfffff000; // linear page frame\n  poffset   = laddress & 0x00000fff; // physical offset\n  TLB_index = BX_TLB_INDEX_OF(lpf);\n\n\n  if (BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf == lpf) {\n    paddress        = BX_CPU_THIS_PTR TLB.entry[TLB_index].ppf | poffset;\n    combined_access = BX_CPU_THIS_PTR TLB.entry[TLB_index].combined_access;\npriv_check:\n    priv_index =\n#if BX_CPU_LEVEL >= 4\n      (BX_CPU_THIS_PTR cr0.wp<<4) |   // bit 4\n#endif\n      (pl<<3) |                       // bit 3\n      (combined_access & 0x06);       // bit 2,1\n                                      // bit 0 == 0\n\n    if (priv_check[priv_index]) {\n      // Operation has proper privilege.\n      return(paddress);\n      }\n\n    // Protection violation\n    error_code = 0xfffffff9; // RSVD=1, P=1\n    goto page_fault;\n    }\n\n  // Get page dir entry\n  pde_addr = (BX_CPU_THIS_PTR cr3 & 0xfffff000) |\n             ((laddress & 0xffc00000) >> 20);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pde_addr, 4, &pde);\n  if ( !(pde & 0x01) ) {\n    // Page Directory Entry NOT present\n    error_code = 0xfffffff8; // RSVD=1, P=0\n    goto page_fault;\n    }\n\n  // Get page table entry\n  pte_addr = (pde & 0xfffff000) |\n             ((laddress & 0x003ff000) >> 10);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pte_addr, 4, &pte);\n\n  // update PDE if A bit was not set before\n  if ( !(pde & 0x20) ) {\n    pde |= 0x20;\n    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, pde_addr, 4, &pde);\n    }\n\n  if ( !(pte & 0x01) ) {\n    // Page Table Entry NOT present\n    error_code = 0xfffffff8; // RSVD=1, P=0\n    goto page_fault;\n    }\n\n  //BW added: update PTE if A bit was not set before\n  if ( !(pte & 0x20) ) {\n    pte |= 0x20;\n    BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, pte_addr, 4, &pte);\n    }\n\n  // 386 and 486+ have different bahaviour for combining\n  // privilege from PDE and PTE.\n#if BX_CPU_LEVEL == 3\n  combined_access  = (pde | pte) & 0x04; // U/S\n  combined_access |= (pde & pte) & 0x02; // R/W\n#else // 486+\n  combined_access  = (pde & pte) & 0x06; // U/S and R/W\n#endif\n\n  ppf = pte & 0xfffff000;\n  paddress = ppf | poffset;\n\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf = lpf;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].ppf = ppf;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].pte_addr = pte_addr;\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].combined_access = combined_access;\n  goto priv_check;\n\n\npage_fault:\n  error_code |= (pl << 2);\n  BX_CPU_THIS_PTR cr2 = laddress;\n  // invalidate entry - we can get away without maintaining A bit in PTE\n  // if we don't maintain TLB entries without it set.\n  BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf = BX_INVALID_TLB_ENTRY;\n  exception(BX_PF_EXCEPTION, error_code, 0);\n  return(0); // keep compiler happy\n}\n\n\n#if BX_DEBUGGER || BX_DISASM || BX_INSTRUMENTATION\n\n  void\nBX_CPU_C::dbg_xlate_linear2phy(Bit32u laddress, Bit32u *phy, Boolean *valid)\n{\n  Bit32u   lpf, ppf, poffset, TLB_index, paddress;\n  Bit32u   pde, pde_addr;\n  Bit32u   pte, pte_addr;\n\n  if (BX_CPU_THIS_PTR cr0.pg == 0) {\n    *phy = laddress;\n    *valid = 1;\n    return;\n    }\n\n  lpf       = laddress & 0xfffff000; // linear page frame\n  poffset   = laddress & 0x00000fff; // physical offset\n  TLB_index = BX_TLB_INDEX_OF(lpf);\n\n  // see if page is in the TLB first\n  if (BX_CPU_THIS_PTR TLB.entry[TLB_index].lpf == lpf) {\n    paddress        = BX_CPU_THIS_PTR TLB.entry[TLB_index].ppf | poffset;\n    *phy = paddress;\n    *valid = 1;\n    return;\n    }\n\n  // Get page dir entry\n  pde_addr = (BX_CPU_THIS_PTR cr3 & 0xfffff000) |\n             ((laddress & 0xffc00000) >> 20);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pde_addr, 4, &pde);\n  if ( !(pde & 0x01) ) {\n    // Page Directory Entry NOT present\n    goto page_fault;\n    }\n\n  // Get page table entry\n  pte_addr = (pde & 0xfffff000) |\n             ((laddress & 0x003ff000) >> 10);\n  BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, pte_addr, 4, &pte);\n  if ( !(pte & 0x01) ) {\n    // Page Table Entry NOT present\n    goto page_fault;\n    }\n\n  ppf = pte & 0xfffff000;\n  paddress = ppf | poffset;\n\n  *phy = paddress;\n  *valid = 1;\n  return;\n\npage_fault:\n  *phy = 0;\n  *valid = 0;\n  return;\n}\n#endif\n\n\n  void\nBX_CPU_C::access_linear(Bit32u laddress, unsigned length, unsigned pl,\n    unsigned rw, void *data)\n{\n  Bit32u mod4096;\n  unsigned xlate_rw;\n\n#if BX_X86_DEBUGGER\n  if ( BX_CPU_THIS_PTR dr7 & 0x000000ff ) {\n    // Only compare debug registers if any breakpoints are enabled\n    Bit32u dr6_bits;\n    unsigned opa, opb;\n    opa = BX_HWDebugMemRW; // Read or Write always compares vs 11b\n    if (rw==BX_READ) // only compares vs 11b\n      opb = opa;\n    else // BX_WRITE or BX_RW; also compare vs 01b\n      opb = BX_HWDebugMemW;\n    dr6_bits = hwdebug_compare(laddress, length, opa, opb);\n    if (dr6_bits) {\n      BX_CPU_THIS_PTR debug_trap |= dr6_bits;\n      BX_CPU_THIS_PTR async_event = 1;\n      }\n    }\n#endif\n\n  if (rw==BX_RW) {\n    xlate_rw = BX_RW;\n    rw = BX_READ;\n    }\n  else {\n    xlate_rw = rw;\n    }\n\n\n  // perhaps put this check before all code which calls this function,\n  // so we don't have to here\n\n  if (BX_CPU_THIS_PTR cr0.pg) {\n    /* check for reference across multiple pages */\n    mod4096 = laddress & 0x00000fff;\n    if ( (mod4096 + length) <= 4096 ) {\n      // Bit32u paddress1;\n\n      /* access within single page */\n      BX_CPU_THIS_PTR address_xlation.paddress1 = dtranslate_linear(laddress, pl, xlate_rw);\n      BX_CPU_THIS_PTR address_xlation.pages     = 1;\n\n      if (rw == BX_READ) {\n        BX_INSTR_LIN_READ(laddress, BX_CPU_THIS_PTR address_xlation.paddress1, length);\n        BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, length, data);\n        }\n      else {\n        BX_INSTR_LIN_WRITE(laddress, BX_CPU_THIS_PTR address_xlation.paddress1, length);\n        BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1, length, data);\n        }\n      return;\n      }\n    else {\n      // access across 2 pages\n      BX_CPU_THIS_PTR address_xlation.paddress1 = dtranslate_linear(laddress, pl, xlate_rw);\n      BX_CPU_THIS_PTR address_xlation.len1      = 4096 - mod4096;\n      BX_CPU_THIS_PTR address_xlation.len2      = length - BX_CPU_THIS_PTR address_xlation.len1;\n      BX_CPU_THIS_PTR address_xlation.pages     = 2;\n\n      BX_CPU_THIS_PTR address_xlation.paddress2 = dtranslate_linear(laddress + BX_CPU_THIS_PTR address_xlation.len1, pl, xlate_rw);\n\n#ifdef BX_LITTLE_ENDIAN\n      if (rw == BX_READ) {\n        BX_INSTR_LIN_READ(laddress,\n                          BX_CPU_THIS_PTR address_xlation.paddress1,\n                          BX_CPU_THIS_PTR address_xlation.len1);\n        BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n                             BX_CPU_THIS_PTR address_xlation.len1, data);\n        BX_INSTR_LIN_READ(laddress + BX_CPU_THIS_PTR address_xlation.len1,\n                          BX_CPU_THIS_PTR address_xlation.paddress2,\n                          BX_CPU_THIS_PTR address_xlation.len2);\n        BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                             BX_CPU_THIS_PTR address_xlation.len2,\n                             ((Bit8u*)data) + BX_CPU_THIS_PTR address_xlation.len1);\n        }\n      else {\n        BX_INSTR_LIN_WRITE(laddress,\n                           BX_CPU_THIS_PTR address_xlation.paddress1,\n                           BX_CPU_THIS_PTR address_xlation.len1);\n        BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n                              BX_CPU_THIS_PTR address_xlation.len1, data);\n        BX_INSTR_LIN_WRITE(laddress + BX_CPU_THIS_PTR address_xlation.len1,\n                          BX_CPU_THIS_PTR address_xlation.paddress2,\n                          BX_CPU_THIS_PTR address_xlation.len2);\n        BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                              BX_CPU_THIS_PTR address_xlation.len2,\n                              ((Bit8u*)data) + BX_CPU_THIS_PTR address_xlation.len1);\n        }\n\n#else // BX_BIG_ENDIAN\n      if (rw == BX_READ) {\n        BX_INSTR_LIN_READ(laddress,\n                          BX_CPU_THIS_PTR address_xlation.paddress1,\n                          BX_CPU_THIS_PTR address_xlation.len1);\n        BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n                             BX_CPU_THIS_PTR address_xlation.len1,\n                             ((Bit8u*)data) + (length - BX_CPU_THIS_PTR address_xlation.len1));\n        BX_INSTR_LIN_READ(laddress + BX_CPU_THIS_PTR address_xlation.len1,\n                          BX_CPU_THIS_PTR address_xlation.paddress2,\n                          BX_CPU_THIS_PTR address_xlation.len2);\n        BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                             BX_CPU_THIS_PTR address_xlation.len2, data);\n        }\n      else {\n        BX_INSTR_LIN_WRITE(laddress,\n                           BX_CPU_THIS_PTR address_xlation.paddress1,\n                           BX_CPU_THIS_PTR address_xlation.len1);\n        BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress1,\n                              BX_CPU_THIS_PTR address_xlation.len1,\n                              ((Bit8u*)data) + (length - BX_CPU_THIS_PTR address_xlation.len1));\n        BX_INSTR_LIN_WRITE(laddress + BX_CPU_THIS_PTR address_xlation.len1,\n                          BX_CPU_THIS_PTR address_xlation.paddress2,\n                          BX_CPU_THIS_PTR address_xlation.len2);\n        BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, BX_CPU_THIS_PTR address_xlation.paddress2,\n                              BX_CPU_THIS_PTR address_xlation.len2, data);\n        }\n#endif\n\n      return;\n      }\n    }\n  else {\n    // paging off, pass linear address thru to physical\n    if (rw == BX_READ) {\n      BX_INSTR_LIN_READ(laddress, laddress, length);\n      BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, laddress, length, data);\n      }\n    else {\n      BX_INSTR_LIN_WRITE(laddress, laddress, length);\n      BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, laddress, length, data);\n      }\n    return;\n    }\n}\n\n#else   // BX_SUPPORT_PAGING\n\n// stub functions for non-support of paging\n  void\nBX_CPU_C::enable_paging(void)\n{\n  BX_PANIC((\"enable_paging(): not implemented\"));\n}\n\n  void\nBX_CPU_C::disable_paging(void)\n{\n  BX_PANIC((\"disable_paging() called\"));\n}\n\n  void\nBX_CPU_C::CR3_change(Bit32u value32)\n{\n  BX_INFO((\"CR3_change(): flush TLB cache\"));\n  BX_INFO((\"Page Directory Base %08x\", (unsigned) value32));\n}\n\n\n  void\nBX_CPU_C::access_linear(Bit32u laddress, unsigned length, unsigned pl,\n    unsigned rw, void *data)\n{\n  /* perhaps put this check before all code which calls this function,\n   * so we don't have to here\n   */\n\n  if (BX_CPU_THIS_PTR cr0.pg == 0) {\n    if (rw == BX_READ)\n      BX_CPU_THIS_PTR mem->read_physical(BX_CPU_THIS, laddress, length, data);\n    else\n      BX_CPU_THIS_PTR mem->write_physical(BX_CPU_THIS, laddress, length, data);\n    return;\n    }\n\n  BX_PANIC((\"access_linear: paging not supported\"));\n}\n\n  void\nBX_CPU_C::INVLPG(BX_CPU_C *icpu,bxInstruction_c *i)\n{}\n\n#endif  // BX_SUPPORT_PAGING\n"
  },
  {
    "path": "Project/IntelCPU/Source/proc.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: proc_ctrl.cc,v 1.18 2002/03/27 16:04:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::UndefinedOpcode(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_DEBUG((\"UndefinedOpcode: %02x causes exception 6\",\n              (unsigned) i->b1));\n\n\t//BX_PANIC((\"#UD %02x %02x instruction encountered in the opertem system\",\n\t//\t\ti->b1,i->modrm));\n\n\tBX_CPU_CLASS_PTR exception(BX_UD_EXCEPTION, 0, 0);\n}\n\n\tvoid\nBX_CPU_C::NOP(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\n}\n\n\tvoid\nBX_CPU_C::HLT(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// hack to panic if HLT comes from BIOS\n\tif ( BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value == 0xf000 )\n\t\tBX_PANIC((\"HALT instruction encountered in the BIOS ROM\"));\n\n\tif (RW_CPL!=0)\n\t{\n\t\tBX_INFO((\"HLT(): CPL!=0\"));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\tif ( ! BX_CPU_CLASS_PTR eflags.if_ )\n\t{\n\t\tBX_INFO((\"WARNING: HLT instruction with IF=0!\"));\n    }\n\n\t// stops instruction execution and places the processor in a\n\t// HALT state.  An enabled interrupt, NMI, or reset will resume\n\t// execution.  If interrupt (including NMI) is used to resume\n\t// execution after HLT, the saved CS:eIP points to instruction\n\t// following HLT.\n\n\t// artificial trap bit, why use another variable.\n\tBX_CPU_CLASS_PTR debug_trap |= 0x80000000; // artificial trap\n\tBX_CPU_CLASS_PTR async_event = 1; // so processor knows to check\n\t// Execution of this instruction completes.  The processor\n\t// will remain in a halt state until one of the above conditions\n\t// is met.\n\n#if BX_USE_IDLE_HACK  \n\tbx_gui.sim_is_idle ();\n#endif /* BX_USE_IDLE_HACK */  \n}\n\n\n\tvoid\nBX_CPU_C::CLTS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"CLTS: not implemented for < 286\"));\n#else\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"clts: v8086 mode unsupported\"));\n\n\t/* read errata file */\n\t// does CLTS also clear NT flag???\n\n\t// #GP(0) if CPL is not 0\n\tif (RW_CPL!=0)\n\t{\n\t\tBX_INFO((\"CLTS(): CPL!=0\"));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR cr0.ts = 0;\n\tBX_CPU_CLASS_PTR cr0.val32 &= ~0x08;\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::INVD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_INFO((\"---------------\"));\n\tBX_INFO((\"- INVD called -\"));\n\tBX_INFO((\"---------------\"));\n\n#if BX_CPU_LEVEL >= 4\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR cr0.pe)\n\t{\n\t\tif (RW_CPL!=0)\n\t\t{\n\t\t\tBX_INFO((\"INVD: CPL!=0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n    }\n\n\tBX_INSTR_CACHE_CNTRL(BX_INSTR_INVD);\n#else\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::WBINVD(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_INFO((\"WBINVD: (ignoring)\"));\n\n#if BX_CPU_LEVEL >= 4\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR cr0.pe)\n\t{\n\t\tif (RW_CPL!=0)\n\t\t{\n\t\t\tBX_INFO((\"WBINVD: CPL!=0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n    }\n\n\tBX_INSTR_CACHE_CNTRL(BX_INSTR_WBINVD);\n#else\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n  void\nBX_CPU_C::MOV_DdRd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_DdRd: not supported on < 386\"));\n#else\n\tBit32u val_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"MOV_DdRd: v8086 mode unsupported\"));\n\n\t/* NOTES:\n\t *   32bit operands always used\n\t *   r/m field specifies general register\n\t *   mod field should always be 11 binary\n\t *   reg field specifies which special register\n\t*/\n\n\tif (!i->modC0())\n\t{\n\t\tBX_PANIC((\"MOV_DdRd(): rm field not a register!\"));\n    }\n\n\t//invalidate_prefetch_q();\n\n#if (X86CPU_MSWIN_MSDOS==0)\n\n\tif (BX_CPU_CLASS_PTR protected_mode() && RW_CPL!=0)\n\t{\n\t\tBX_PANIC((\"MOV_DdRd: CPL!=0\"));\n\t\t/* #GP(0) if CPL is not 0 */\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n#endif\n\n\tval_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tif (bx_dbg.dreg)\n\t\tBX_INFO((\"MOV_DdRd: DR[%u]=%08xh unhandled\",\n\t\t      (unsigned) MODRMnnn(i), (unsigned) val_32));\n\n\tswitch (MODRMnnn(i))\n\t{\n    case 0: // DR0\n\t\tBX_CPU_CLASS_PTR dr0 = val_32;\n\t\tbreak;\n    case 1: // DR1\n\t\tBX_CPU_CLASS_PTR dr1 = val_32;\n\t\tbreak;\n\tcase 2: // DR2\n\t\tBX_CPU_CLASS_PTR dr2 = val_32;\n\t\tbreak;\n    case 3: // DR3\n\t\tBX_CPU_CLASS_PTR dr3 = val_32;\n\t\tbreak;\n\n    case 4: // DR4\n    case 6: // DR6\n\t\t// DR4 aliased to DR6 by default.  With Debug Extensions on,\n\t\t// access to DR4 causes #UD\n#if BX_CPU_LEVEL >= 4\n\t\tif ( (MODRMnnn(i) == 4) && (BX_CPU_CLASS_PTR cr4 & 0x00000008) )\n\t\t{\n\t\t\t// Debug extensions on\n\t\t\tBX_INFO((\"MOV_DdRd: access to DR4 causes #UD\"));\n\t\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n        }\n#endif\n#if BX_CPU_LEVEL <= 4\n\t\t// On 386/486 bit12 is settable\n\t\tBX_CPU_CLASS_PTR dr6 = (BX_CPU_CLASS_PTR dr6 & 0xffff0ff0) |\n\t\t\t                   (val_32 & 0x0000f00f);\n#else\n\t\t// On Pentium+, bit12 is always zero\n\t\tBX_CPU_CLASS_PTR dr6 = (BX_CPU_CLASS_PTR dr6 & 0xffff0ff0) |\n\t\t\t                  (val_32 & 0x0000e00f);\n#endif\n\tbreak;\n\n    case 5: // DR5\n    case 7: // DR7\n\t\t// Note: 486+ ignore GE and LE flags.  On the 386, exact\n\t\t// data breakpoint matching does not occur unless it is enabled\n\t\t// by setting the LE and/or GE flags.\n\n\t\t// DR5 aliased to DR7 by default.  With Debug Extensions on,\n\t\t// access to DR5 causes #UD\n#if BX_CPU_LEVEL >= 4\n\t\tif ( (MODRMnnn(i) == 5) && (BX_CPU_CLASS_PTR cr4 & 0x00000008) )\n\t\t{\n\t\t\t// Debug extensions (CR4.DE) on\n\t\t\tBX_INFO((\"MOV_DdRd: access to DR5 causes #UD\"));\n\t\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n        }\n#endif\n\t\t// Some sanity checks...\n\t\tif ( val_32 & 0x00002000 )\n\t\t{\n\t\t\tBX_PANIC((\"MOV_DdRd: GD bit not supported yet\"));\n\t\t\t// Note: processor clears GD upon entering debug exception\n\t\t\t// handler, to allow access to the debug registers\n        }\n\t\tif ( (((val_32>>16) & 3)==2) ||\n\t\t\t(((val_32>>20) & 3)==2) ||\n\t\t\t(((val_32>>24) & 3)==2) ||\n\t\t\t(((val_32>>28) & 3)==2) )\n\t\t{\n\t\t\t// IO breakpoints (10b) are not yet supported.\n\t\t\tBX_PANIC((\"MOV_DdRd: write of %08x contains IO breakpoint\",\n\t\t\tval_32));\n        }\n\n\t\tif ( (((val_32>>18) & 3)==2) ||\n\t\t\t(((val_32>>22) & 3)==2) ||\n\t\t\t(((val_32>>26) & 3)==2) ||\n\t\t\t(((val_32>>30) & 3)==2) )\n\t\t{\n\t\t\t// LEN0..3 contains undefined length specifier (10b)\n\t\t\tBX_PANIC((\"MOV_DdRd: write of %08x contains undefined LENx\",\n\t\t\tval_32));\n        }\n\t\tif ( ((((val_32>>16) & 3)==0) && (((val_32>>18) & 3)!=0)) ||\n\t\t\t((((val_32>>20) & 3)==0) && (((val_32>>22) & 3)!=0)) ||\n\t\t\t((((val_32>>24) & 3)==0) && (((val_32>>26) & 3)!=0)) ||\n\t\t\t((((val_32>>28) & 3)==0) && (((val_32>>30) & 3)!=0)) )\n\t\t{\n\t\t\t// Instruction breakpoint with LENx not 00b (1-byte length)\n\t\t\tBX_PANIC((\"MOV_DdRd: write of %08x, R/W=00b LEN!=00b\",\n\t\t\tval_32));\n        }\n#if BX_CPU_LEVEL <= 4\n\t\t// 386/486: you can play with all the bits except b10 is always 1\n\t\tBX_CPU_CLASS_PTR dr7 = val_32 | 0x00000400;\n#else\n\t\t// Pentium+: bits15,14,12 are hardwired to 0, rest are settable.\n\t\t// Even bits 11,10 are changeable though reserved.\n\t\tBX_CPU_CLASS_PTR dr7 = (val_32 & 0xffff2fff) | 0x00000400;\n#endif\n\t\tbreak;\n    default:\n\t\tBX_PANIC((\"MOV_DdRd: control register index out of range\"));\n\t\tbreak;\n    }\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_RdDd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_RdDd: not supported on < 386\"));\n#else\n\tBit32u val_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t{\n\t\tBX_INFO((\"MOV_RdDd: v8086 mode causes #GP\"));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n\tif (!i->modC0())\n\t{\n\t\tBX_PANIC((\"MOV_RdDd(): rm field not a register!\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n    }\n\n#if (X86CPU_MSWIN_MSDOS==0)\n\n\tif (BX_CPU_CLASS_PTR protected_mode() && (RW_CPL!=0))\n\t{\n\t\tBX_INFO((\"MOV_RdDd: CPL!=0 causes #GP\"));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n#endif\n\n\tif (bx_dbg.dreg)\n\t\tBX_INFO((\"MOV_RdDd: DR%u not implemented yet\", MODRMnnn(i)));\n\n\tswitch (MODRMnnn(i))\n\t{\n\tcase 0: // DR0\n\t\tval_32 = BX_CPU_CLASS_PTR dr0;\n\t\tbreak;\n    case 1: // DR1\n\t\tval_32 = BX_CPU_CLASS_PTR dr1;\n\t\tbreak;\n    case 2: // DR2\n\t\tval_32 = BX_CPU_CLASS_PTR dr2;\n\t\tbreak;\n    case 3: // DR3\n\t\tval_32 = BX_CPU_CLASS_PTR dr3;\n\t\tbreak;\n\n    case 4: // DR4\n    case 6: // DR6\n\t\t// DR4 aliased to DR6 by default.  With Debug Extensions on,\n\t\t// access to DR4 causes #UD\n#if BX_CPU_LEVEL >= 4\n\t\tif ( (MODRMnnn(i) == 4) && (BX_CPU_CLASS_PTR cr4 & 0x00000008) )\n\t\t{\n\t\t\t// Debug extensions on\n\t\t\tBX_INFO((\"MOV_RdDd: access to DR4 causes #UD\"));\n\t\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n        }\n#endif\n\t\tval_32 = BX_CPU_CLASS_PTR dr6;\n\t\tbreak;\n\n    case 5: // DR5\n    case 7: // DR7\n\t\t// DR5 aliased to DR7 by default.  With Debug Extensions on,\n\t\t// access to DR5 causes #UD\n#if BX_CPU_LEVEL >= 4\n\t\tif ( (MODRMnnn(i) == 5) && (BX_CPU_CLASS_PTR cr4 & 0x00000008) )\n\t\t{\n\t\t\t// Debug extensions on\n\t\t\tBX_INFO((\"MOV_RdDd: access to DR5 causes #UD\"));\n\t\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n        }\n#endif\n\t\tval_32 = BX_CPU_CLASS_PTR dr7;\n\t\tbreak;\n\n    default:\n\t\tBX_PANIC((\"MOV_RdDd: control register index out of range\"));\n\t\tval_32 = 0;\n    }\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), val_32);\n#endif\n}\n\n\n\tvoid\nBX_CPU_C::LMSW_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"LMSW_Ew(): not supported on 8086!\"));\n#else\n\tBit16u msw;\n\tBit32u cr0;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"proc_ctrl: v8086 mode unsupported\"));\n\n\tif ( BX_CPU_CLASS_PTR protected_mode()&& ( RW_CPL != 0 ))\n\t{\n\t\tBX_INFO((\"LMSW: CPL != 0, CPL=%u\", (unsigned) RW_CPL));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\tif (i->modC0())\n\t{\n\t\tmsw = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &msw);\n    }\n\n\t// LMSW does not affect PG,CD,NW,AM,WP,NE,ET bits, and cannot clear PE\n\n\t// LMSW cannot clear PE\n\tif ( ((msw & 0x0001)==0) && BX_CPU_CLASS_PTR cr0.pe )\n\t{\n\t\tmsw |= 0x0001; // adjust PE bit to current value of 1\n    }\n\n\tmsw &= 0x000f; // LMSW only affects last 4 flags\n\tcr0 = (BX_CPU_CLASS_PTR cr0.val32 & 0xfffffff0) | msw;\n\tBX_CPU_CLASS_PTR SetCR0(cr0);\n#endif /* BX_CPU_LEVEL < 2 */\n}\n\n\tvoid\nBX_CPU_C::SMSW_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"SMSW_Ew: not supported yet!\"));\n#else\n\tBit16u msw;\n\n\n#if BX_CPU_LEVEL == 2\n\tmsw = 0xfff0; /* 80286 init value */\n\tmsw |= (BX_CPU_CLASS_PTR cr0.ts << 3) |\n\t\t     (BX_CPU_CLASS_PTR cr0.em << 2) |\n\t\t\t (BX_CPU_CLASS_PTR cr0.mp << 1) |\n\t\t\t BX_CPU_CLASS_PTR cr0.pe;\n#else /* 386+ */\n\t/* reserved bits 0 ??? */\n\t/* should NE bit be included here ??? */\n\t// should ET bit be included here (AW)\n\tmsw =  (BX_CPU_CLASS_PTR cr0.ts << 3) |\n\t\t     (BX_CPU_CLASS_PTR cr0.em << 2) |\n\t\t\t (BX_CPU_CLASS_PTR cr0.mp << 1) |\n\t\t\t BX_CPU_CLASS_PTR cr0.pe;\n#endif\n\n\tif (i->modC0())\n\t{\n\t\tif (i->size_mode.os_32)\n\t\t{\n\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), msw);  // zeros out high 16bits\n\t\t}\n\t\telse\n\t\t{\n\t\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), msw);\n\t\t}\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &msw);\n    }\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_CdRd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// mov general register data to control register\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_CdRd: not supported on < 386\"));\n#else\n\tBit32u val_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"proc_ctrl: v8086 mode unsupported\"));\n\n\t/* NOTES:\n\t *   32bit operands always used\n\t *   r/m field specifies general register\n\t *   mod field should always be 11 binary\n\t *   reg field specifies which special register\n\t*/\n\n\tif (!i->modC0())\n\t{\n\t\tBX_PANIC((\"MOV_CdRd(): rm field not a register!\"));\n    }\n\n\t//invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR protected_mode() && RW_CPL!=0)\n\t{\n\t\tBX_PANIC((\"MOV_CdRd: CPL!=0\"));\n\t\t/* #GP(0) if CPL is not 0 */\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\tval_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tswitch (MODRMnnn(i))\n\t{\n    case 0: // CR0 (MSW)\n\t\t// BX_INFO((\"MOV_CdRd:CR0: R32 = %08x\\n @CS:EIP %04x:%04x \",\n\t\t//   (unsigned) val_32,\n\t\t//   (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t//   (unsigned) BX_CPU_CLASS_PTR eip));\n\t\tBX_CPU_CLASS_PTR SetCR0(val_32);\n\t\tbreak;\n\n    case 1: /* CR1 */\n\t\tBX_PANIC((\"MOV_CdRd: CR1 not implemented yet\"));\n\t\tbreak;\n    case 2: /* CR2 */\n\t\tBX_DEBUG((\"MOV_CdRd: CR2 not implemented yet\"));\n\t\tBX_DEBUG((\"MOV_CdRd: CR2 = reg\"));\n\t\tBX_CPU_CLASS_PTR cr2 = val_32;\n\t\tbreak;\n    case 3: // CR3\n\t\tif (bx_dbg.creg)\n\t\t\tBX_INFO((\"MOV_CdRd:CR3 = %08x\", (unsigned) val_32));\n\t\t// Reserved bits take on value of MOV instruction\n\t\tBX_CPU_CLASS_PTR CR3_change(val_32);\n\t\tBX_INSTR_TLB_CNTRL(BX_INSTR_MOV_CR3, val_32);\n\t\tbreak;\n    case 4: // CR4\n#if BX_CPU_LEVEL == 3\n\t\tBX_PANIC((\"MOV_CdRd: write to CR4 of 0x%08x on 386\",\n\t\t\t\tval_32));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#else\n\t\t//  Protected mode: #GP(0) if attempt to write a 1 to\n\t\t//  any reserved bit of CR4\n\n\t\tBX_INFO((\"MOV_CdRd: ignoring write to CR4 of 0x%08x\",\n\t\t\t\tval_32));\n\t\tif (val_32)\n\t\t{\n\t\t\tBX_INFO((\"MOV_CdRd: (CR4) write of 0x%08x not supported!\",\n\t\t\t\tval_32));\n        }\n\t\t// Only allow writes of 0 to CR4 for now.\n\t\t// Writes to bits in CR4 should not be 1s as CPUID\n\t\t// returns not-supported for all of these features.\n\t\tBX_CPU_CLASS_PTR cr4 = 0;\n#endif\n\t\tbreak;\n\tdefault:\n\t\tBX_PANIC((\"MOV_CdRd: control register index out of range\"));\n\t\tbreak;\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_RdCd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// mov control register data to register\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_RdCd: not supported on < 386\"));\n#else\n\tBit32u val_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"proc_ctrl: v8086 mode unsupported\"));\n\n\t/* NOTES:\n\t *   32bit operands always used\n\t *   r/m field specifies general register\n\t *   mod field should always be 11 binary\n\t *   reg field specifies which special register\n\t*/\n\n\tif (!i->modC0())\n\t{\n\t\tBX_PANIC((\"MOV_RdCd(): rm field not a register!\"));\n    }\n\n\tif (BX_CPU_CLASS_PTR protected_mode() && RW_CPL!=0)\n\t{\n\t\tBX_PANIC((\"MOV_RdCd: CPL!=0\"));\n\t\t/* #GP(0) if CPL is not 0 */\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\tswitch (MODRMnnn(i))\n\t{\n    case 0: // CR0 (MSW)\n\t\tval_32 = BX_CPU_CLASS_PTR cr0.val32;\n#if 0\n\t\tBX_INFO((\"MOV_RdCd:CR0: R32 = %08x\\n @CS:EIP %04x:%04x\",\n\t\t\t(unsigned) val_32,\n\t\t\t(unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value,\n\t\t\t(unsigned) BX_CPU_CLASS_PTR eip));\n#endif\n\t\tbreak;\n    case 1: /* CR1 */\n\t\tBX_PANIC((\"MOV_RdCd: CR1 not implemented yet\"));\n\t\tval_32 = 0;\n\t\tbreak;\n    case 2: /* CR2 */\n\t\tif (bx_dbg.creg)\n\t\t\tBX_INFO((\"MOV_RdCd: CR2\"));\n\t\tval_32 = BX_CPU_CLASS_PTR cr2;\n\t\tbreak;\n    case 3: // CR3\n\t\tif (bx_dbg.creg)\n\t\t\tBX_INFO((\"MOV_RdCd: reading CR3\"));\n\t\tval_32 = BX_CPU_CLASS_PTR cr3;\n\t\tbreak;\n    case 4: // CR4\n#if BX_CPU_LEVEL == 3\n\t\tval_32 = 0;\n\t\tBX_INFO((\"MOV_RdCd: read of CR4 causes #UD\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#else\n\t\tBX_INFO((\"MOV_RdCd: read of CR4\"));\n\t\tval_32 = BX_CPU_CLASS_PTR cr4;\n#endif\n\t\tbreak;\n    default:\n\t\tBX_PANIC((\"MOV_RdCd: control register index out of range\"));\n\t\tval_32 = 0;\n    }\n\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), val_32);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_TdRd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_TdRd:\"));\n#elif BX_CPU_LEVEL <= 4\n\tBX_PANIC((\"MOV_TdRd:\"));\n#else\n\t// Pentium+ does not have TRx.  They were redesigned using the MSRs.\n\tBX_INFO((\"MOV_TdRd: causes #UD\"));\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::MOV_RdTd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_RdTd:\"));\n#elif BX_CPU_LEVEL <= 4\n\tBX_PANIC((\"MOV_RdTd:\"));\n#else\n\t// Pentium+ does not have TRx.  They were redesigned using the MSRs.\n\tBX_INFO((\"MOV_RdTd: causes #UD\"));\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n  void\nBX_CPU_C::LOADALL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if (X86CPU_MSWIN_MSDOS==1)\n\tBX_PANIC((\"undocumented LOADALL instruction not supported on 8086\"));\n\treturn ;\n#endif\n\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"undocumented LOADALL instruction not supported on 8086\"));\n#else\n\tBit16u msw, tr, flags, ip, ldtr;\n\tBit16u ds_raw, ss_raw, cs_raw, es_raw;\n\tBit16u di, si, bp, sp, bx, dx, cx, ax;\n\tBit16u base_15_0, limit;\n\tBit8u  base_23_16, access;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"proc_ctrl: v8086 mode unsupported\"));\n\n#if BX_CPU_LEVEL > 2\n  BX_PANIC((\"loadall: not implemented for 386\"));\n  // ??? need to set G and other bits, and compute .limit_scaled also\n  // for all segments CS,DS,SS,...\n#endif\n\n\n  if (BX_CPU_CLASS_PTR cr0.pe) {\n    BX_PANIC((\n      \"LOADALL not yet supported for protected mode\"));\n    }\n\nBX_PANIC((\"LOADALL: handle CR0.val32\"));\n  // MSW\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x806, 2, &msw);\n  BX_CPU_CLASS_PTR cr0.pe = (msw & 0x01); msw >>= 1;\n  BX_CPU_CLASS_PTR cr0.mp = (msw & 0x01); msw >>= 1;\n  BX_CPU_CLASS_PTR cr0.em = (msw & 0x01); msw >>= 1;\n  BX_CPU_CLASS_PTR cr0.ts = (msw & 0x01);\n\n  //BX_INFO((\"LOADALL: pe=%u, mp=%u, em=%u, ts=%u\",\n  //  (unsigned) BX_CPU_CLASS_PTR cr0.pe, (unsigned) BX_CPU_CLASS_PTR cr0.mp,\n  //  (unsigned) BX_CPU_CLASS_PTR cr0.em, (unsigned) BX_CPU_CLASS_PTR cr0.ts));\n\n  if (BX_CPU_CLASS_PTR cr0.pe || BX_CPU_CLASS_PTR cr0.mp || BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts)\n    BX_PANIC((\"LOADALL set PE, MP, EM or TS bits in MSW!\"));\n\n\n  // TR\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x816, 2, &tr);\n  BX_CPU_CLASS_PTR tr.selector.value = tr;\n  BX_CPU_CLASS_PTR tr.selector.rpl   = (tr & 0x03);  tr >>= 2;\n  BX_CPU_CLASS_PTR tr.selector.ti    = (tr & 0x01);  tr >>= 1;\n  BX_CPU_CLASS_PTR tr.selector.index = tr;\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x860, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x862, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x863, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x864, 2, &limit);\n\n\n  BX_CPU_CLASS_PTR tr.cache.valid =\n  BX_CPU_CLASS_PTR tr.cache.p           = (access & 0x80) >> 7;\n  BX_CPU_CLASS_PTR tr.cache.dpl         = (access & 0x60) >> 5;\n  BX_CPU_CLASS_PTR tr.cache.segment     = (access & 0x10) >> 4;\n  // don't allow busy bit in tr.cache.type, so bit 2 is masked away too.\n  BX_CPU_CLASS_PTR tr.cache.type        = (access & 0x0d);\n  BX_CPU_CLASS_PTR tr.cache.u.tss286.base  = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR tr.cache.u.tss286.limit = limit;\n\n  if ( (BX_CPU_CLASS_PTR tr.selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR tr.cache.valid = 0;\n    }\n  if ( BX_CPU_CLASS_PTR tr.cache.valid == 0 ) {\n    }\n  if ( BX_CPU_CLASS_PTR tr.cache.u.tss286.limit < 43 ) {\n    BX_CPU_CLASS_PTR tr.cache.valid = 0;\n    }\n  if ( BX_CPU_CLASS_PTR tr.cache.type != 1 ) {\n    BX_CPU_CLASS_PTR tr.cache.valid = 0;\n    }\n  if ( BX_CPU_CLASS_PTR tr.cache.segment ) {\n    BX_CPU_CLASS_PTR tr.cache.valid = 0;\n    }\n  if (BX_CPU_CLASS_PTR tr.cache.valid==0) {\n    BX_CPU_CLASS_PTR tr.cache.u.tss286.base   = 0;\n    BX_CPU_CLASS_PTR tr.cache.u.tss286.limit  = 0;\n    BX_CPU_CLASS_PTR tr.cache.p            = 0;\n    BX_CPU_CLASS_PTR tr.selector.value     = 0;\n    BX_CPU_CLASS_PTR tr.selector.index     = 0;\n    BX_CPU_CLASS_PTR tr.selector.ti        = 0;\n    BX_CPU_CLASS_PTR tr.selector.rpl       = 0;\n    }\n\n\n  // FLAGS\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x818, 2, &flags);\n  BX_CPU_CLASS_PTR write_flags(flags, 1, 1);\n\n  // IP\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x81a, 2, &ip);\n  RW_IP = ip;\n\n  // LDTR\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x81c, 2, &ldtr);\n  BX_CPU_CLASS_PTR ldtr.selector.value = ldtr;\n  BX_CPU_CLASS_PTR ldtr.selector.rpl   = (ldtr & 0x03);  ldtr >>= 2;\n  BX_CPU_CLASS_PTR ldtr.selector.ti    = (ldtr & 0x01);  ldtr >>= 1;\n  BX_CPU_CLASS_PTR ldtr.selector.index = ldtr;\n  if ( (BX_CPU_CLASS_PTR ldtr.selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR ldtr.cache.valid   = 0;\n    BX_CPU_CLASS_PTR ldtr.cache.p       = 0;\n    BX_CPU_CLASS_PTR ldtr.cache.segment = 0;\n    BX_CPU_CLASS_PTR ldtr.cache.type    = 0;\n    BX_CPU_CLASS_PTR ldtr.cache.u.ldt.base = 0;\n    BX_CPU_CLASS_PTR ldtr.cache.u.ldt.limit = 0;\n    BX_CPU_CLASS_PTR ldtr.selector.value = 0;\n    BX_CPU_CLASS_PTR ldtr.selector.index = 0;\n    BX_CPU_CLASS_PTR ldtr.selector.ti    = 0;\n    }\n  else {\n    BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x854, 2, &base_15_0);\n    BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x856, 1, &base_23_16);\n    BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x857, 1, &access);\n    BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x858, 2, &limit);\n    BX_CPU_CLASS_PTR ldtr.cache.valid      =\n    BX_CPU_CLASS_PTR ldtr.cache.p          = access >> 7;\n    BX_CPU_CLASS_PTR ldtr.cache.dpl        = (access >> 5) & 0x03;\n    BX_CPU_CLASS_PTR ldtr.cache.segment    = (access >> 4) & 0x01;\n    BX_CPU_CLASS_PTR ldtr.cache.type       = (access & 0x0f);\n    BX_CPU_CLASS_PTR ldtr.cache.u.ldt.base = (base_23_16 << 16) | base_15_0;\n    BX_CPU_CLASS_PTR ldtr.cache.u.ldt.limit = limit;\n\n    if (access == 0) {\n      BX_PANIC((\"loadall: LDTR case access byte=0.\"));\n      }\n    if ( BX_CPU_CLASS_PTR ldtr.cache.valid==0 ) {\n      BX_PANIC((\"loadall: ldtr.valid=0\"));\n      }\n    if (BX_CPU_CLASS_PTR ldtr.cache.segment) { // not a system segment\n      BX_INFO((\"         AR byte = %02x\", (unsigned) access));\n      BX_PANIC((\"loadall: LDTR descriptor cache loaded with non system segment\"));\n      }\n    if ( BX_CPU_CLASS_PTR ldtr.cache.type != 2 ) {\n      BX_PANIC((\"loadall: LDTR.type(%u) != 2\", (unsigned) (access & 0x0f)));\n      }\n    }\n\n  // DS\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x81e, 2, &ds_raw);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = ds_raw;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl   = (ds_raw & 0x03);  ds_raw >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.ti    = (ds_raw & 0x01);  ds_raw >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.index = ds_raw;\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x848, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x84a, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x84b, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x84c, 2, &limit);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit = limit;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.a          = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.r_w        = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.c_ed       = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.executable = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.segment    = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.dpl        = (access & 0x03); access >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid      =\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.p          = (access & 0x01);\n\n  if ( (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid = 0;\n    }\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid==0  ||\n      BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.segment==0) {\n    BX_PANIC((\"loadall: DS invalid\"));\n    }\n\n  // SS\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x820, 2, &ss_raw);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value = ss_raw;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl   = (ss_raw & 0x03); ss_raw >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.ti    = (ss_raw & 0x01); ss_raw >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.index = ss_raw;\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x842, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x844, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x845, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x846, 2, &limit);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit = limit;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.a          = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.r_w        = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed       = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.executable = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.segment    = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.dpl        = (access & 0x03); access >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.p          = (access & 0x01);\n\n  if ( (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid = 0;\n    }\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid==0  ||\n      BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.segment==0) {\n    BX_PANIC((\"loadall: SS invalid\"));\n    }\n\n\n  // CS\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x822, 2, &cs_raw);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value = cs_raw;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl   = (cs_raw & 0x03); cs_raw >>= 2;\n\n  //BX_INFO((\"LOADALL: setting cs.selector.rpl to %u\",\n  //  (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl));\n\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.ti    = (cs_raw & 0x01); cs_raw >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.index = cs_raw;\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x83c, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x83e, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x83f, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x840, 2, &limit);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit = limit;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.a          = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.r_w        = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.c_ed       = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.executable = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.segment    = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.dpl        = (access & 0x03); access >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.p          = (access & 0x01);\n\n  if ( (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid = 0;\n    }\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid==0  ||\n      BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.segment==0) {\n    BX_PANIC((\"loadall: CS invalid\"));\n    }\n\n  // ES\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x824, 2, &es_raw);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = es_raw;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl   = (es_raw & 0x03); es_raw >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.ti    = (es_raw & 0x01); es_raw >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.index = es_raw;\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x836, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x838, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x839, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x83a, 2, &limit);\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit = limit;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.a          = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.r_w        = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.c_ed       = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.executable = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.segment    = (access & 0x01); access >>= 1;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.dpl        = (access & 0x03); access >>= 2;\n  BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.p          = (access & 0x01);\n\n#if 0\n    BX_INFO((\"cs.dpl = %02x\", (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.dpl));\n    BX_INFO((\"ss.dpl = %02x\", (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.dpl));\n    BX_INFO((\"BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].dpl = %02x\", (unsigned) BX_CPU_CLASS_PTR ds.cache.dpl));\n    BX_INFO((\"BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].dpl = %02x\", (unsigned) BX_CPU_CLASS_PTR es.cache.dpl));\n    BX_INFO((\"LOADALL: setting cs.selector.rpl to %u\",\n      (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl));\n    BX_INFO((\"LOADALL: setting ss.selector.rpl to %u\",\n      (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl));\n    BX_INFO((\"LOADALL: setting ds.selector.rpl to %u\",\n      (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl));\n    BX_INFO((\"LOADALL: setting es.selector.rpl to %u\",\n      (unsigned) BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl));\n#endif\n\n  if ( (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value & 0xfffc) == 0 ) {\n    BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid = 0;\n    }\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid==0  ||\n      BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.segment==0) {\n    BX_PANIC((\"loadall: ES invalid\"));\n    }\n\n  // DI\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x826, 2, &di);\n  RW_DI = di;\n\n  // SI\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x828, 2, &si);\n  RW_SI = si;\n\n  // BP\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x82a, 2, &bp);\n  RW_BP = bp;\n\n  // SP\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x82c, 2, &sp);\n  RW_SP = sp;\n\n  // BX\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x82e, 2, &bx);\n  RW_BX = bx;\n\n  // DX\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x830, 2, &dx);\n  RW_DX = dx;\n\n  // CX\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x832, 2, &cx);\n  RW_CX = cx;\n\n  // AX\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x834, 2, &ax);\n  RW_AX = ax;\n\n  // GDTR\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x84e, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x850, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x851, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x852, 2, &limit);\n  BX_CPU_CLASS_PTR gdtr.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR gdtr.limit = limit;\n\n#if 0\n  if (access)\n      BX_INFO((\"LOADALL: GDTR access bits not 0 (%02x).\",\n        (unsigned) access));\n#endif\n\n  // IDTR\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x85a, 2, &base_15_0);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x85c, 1, &base_23_16);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x85d, 1, &access);\n  BX_CPU_CLASS_PTR mem->read_physical(BX_CPU_CLASS, 0x85e, 2, &limit);\n  BX_CPU_CLASS_PTR idtr.base = (base_23_16 << 16) | base_15_0;\n  BX_CPU_CLASS_PTR idtr.limit = limit;\n\n#endif\n}\n\n\n  void\nBX_CPU_C::CPUID(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 4\n\tunsigned type, family, model, stepping, features;\n#endif\n\n\t//invalidate_prefetch_q();\n\n#if BX_CPU_LEVEL >= 4\n\tswitch (RW_EAX)\n\t{\n    case 0:\n      // EAX: highest input value understood by CPUID\n      // EBX: vendor ID string\n      // EDX: vendor ID string\n      // ECX: vendor ID string\n      RW_EAX = 1; // 486 or pentium\n      RW_EBX = 0x756e6547; // \"Genu\"\n      RW_EDX = 0x49656e69; // \"ineI\"\n      RW_ECX = 0x6c65746e; // \"ntel\"\n      break;\n\n    case 1:\n      // EAX[3:0]   Stepping ID\n      // EAX[7:4]   Model: starts at 1\n      // EAX[11:8]  Family: 4=486, 5=Pentium, 6=PPro\n      // EAX[13:12] Type: 0=OEM,1=overdrive,2=dual cpu,3=reserved\n      // EAX[31:14] Reserved\n      // EBX:       Reserved (0)\n      // ECX:       Reserved (0)\n      // EDX:       Feature Flags\n      //   [0:0]   FPU on chip\n      //   [1:1]   VME: Virtual-8086 Mode enhancements\n      //   [2:2]   DE: Debug Extensions (I/O breakpoints)\n      //   [3:3]   PSE: Page Size Extensions\n      //   [4:4]   TSC: Time Stamp Counter\n      //   [5:5]   MSR: RDMSR and WRMSR support\n      //   [6:6]   PAE: Physical Address Extensions\n      //   [7:7]   MCE: Machine Check Exception\n      //   [8:8]   CXS: CMPXCHG8B instruction\n      //   [9:9]   APIC: APIC on Chip\n      //   [11:10] Reserved\n      //   [12:12] MTRR: Memory Type Range Reg\n      //   [13:13] PGE/PTE Global Bit\n      //   [14:14] MCA: Machine Check Architecture\n      //   [15:15] CMOV: Cond Mov/Cmp Instructions\n      //   [22:16] Reserved\n      //   [23:23] MMX Technology\n      //   [31:24] Reserved\n\n      features = 0; // start with none\n      type = 0; // OEM\n\n#if BX_CPU_LEVEL == 4\n      family = 4;\n#  if BX_SUPPORT_FPU\n      // 486dx\n      model = 1;\n      stepping = 3;\n      features |= 0x01;\n#  else\n      // 486sx\n      model = 2;\n      stepping = 3;\n#  endif\n\n#elif BX_CPU_LEVEL == 5\n      family = 5;\n      model = 1; // Pentium (60,66)\n      stepping = 3; // ???\n      features |= (1<<4);   // implement TSC\n#  if BX_SUPPORT_FPU\n      features |= 0x01;\n#  endif\n\n#elif BX_CPU_LEVEL == 6\n      family = 6;\n      model = 1; // Pentium Pro\n      stepping = 3; // ???\n      features |= (1<<4);   // implement TSC\n#  if BX_SUPPORT_APIC\n      features |= (1<<9);   // APIC on chip\n#  endif\n#  if BX_SUPPORT_FPU\n      features |= 0x01;     // has FPU\n#  endif\n#else\n      BX_PANIC((\"CPUID: not implemented for > 6\"));\n#endif\n\n      RW_EAX = (family <<8) | (model<<4) | stepping;\n      RW_EBX = RW_ECX = 0; // reserved\n      RW_EDX = features;\n      break;\n\n    default:\n      RW_EAX = RW_EBX = RW_ECX = RW_EDX = 0; // Reserved, undefined\n      break;\n    }\n#else\n\tBX_PANIC((\"CPUID: not available on < late 486\"));\n#endif\n}\n\n\tvoid\nBX_CPU_C::SetCR0(Bit32u val_32)\n{\n\t// from either MOV_CdRd() or debug functions\n\t// protection checks made already or forcing from debug\n\tBoolean prev_pe, prev_pg;\n\n\tprev_pe = BX_CPU_THIS_PTR cr0.pe;\n\tprev_pg = BX_CPU_THIS_PTR cr0.pg;\n\n\tBX_CPU_THIS_PTR cr0.pe = val_32 & 0x01;\n\tBX_CPU_THIS_PTR cr0.mp = (val_32 >> 1) & 0x01;\n\tBX_CPU_THIS_PTR cr0.em = (val_32 >> 2) & 0x01;\n\tBX_CPU_THIS_PTR cr0.ts = (val_32 >> 3) & 0x01;\n\t// cr0.et is hardwired to 1\n#if BX_CPU_LEVEL >= 4\n\tBX_CPU_THIS_PTR cr0.ne = (val_32 >> 5)  & 0x01;\n\tBX_CPU_THIS_PTR cr0.wp = (val_32 >> 16) & 0x01;\n\tBX_CPU_THIS_PTR cr0.am = (val_32 >> 18) & 0x01;\n\tBX_CPU_THIS_PTR cr0.nw = (val_32 >> 29) & 0x01;\n\tBX_CPU_THIS_PTR cr0.cd = (val_32 >> 30) & 0x01;\n#endif\n\tBX_CPU_THIS_PTR cr0.pg = (val_32 >> 31) & 0x01;\n\n\t// handle reserved bits behaviour\n#if BX_CPU_LEVEL == 3\n\tBX_CPU_THIS_PTR cr0.val32 = val_32 | 0x7ffffff0;\n#elif BX_CPU_LEVEL == 4\n\tBX_CPU_THIS_PTR cr0.val32 = (val_32 | 0x00000010) & 0xe005003f;\n#elif BX_CPU_LEVEL == 5\n\tBX_CPU_THIS_PTR cr0.val32 = val_32 | 0x00000010;\n#elif BX_CPU_LEVEL == 6\n\tBX_CPU_THIS_PTR cr0.val32 = (val_32 | 0x00000010) & 0xe005003f;\n#else\n\t#error \"MOV_CdRd: implement reserved bits behaviour for this CPU_LEVEL\"\n#endif\n\n\t//if (BX_CPU_CLASS_PTR cr0.ts)\n\t//  BX_INFO((\"MOV_CdRd:CR0.TS set 0x%x\", (unsigned) val_32));\n\n\tif (prev_pe==0 && BX_CPU_THIS_PTR cr0.pe)\n\t{\n\t\tenter_protected_mode();\n    }\n\telse if (prev_pe==1 && BX_CPU_THIS_PTR cr0.pe==0)\n\t{\n\t\tenter_real_mode();\n    }\n\n\tif (prev_pg==0 && BX_CPU_THIS_PTR cr0.pg)\n\t\tenable_paging();\n\telse if (prev_pg==1 && BX_CPU_THIS_PTR cr0.pg==0)\n\t\tdisable_paging();\n}\n\n\tvoid\nBX_CPU_C::RSM(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 4\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n\tBX_PANIC((\"RSM: System Management Mode not implemented yet\"));\n#else\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::RDTSC(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tstatic Bit64u time_ticks;\n\ttime_ticks += (Bit64u)BX_CONST64(0x112341234);\n\n#if BX_CPU_LEVEL >= 5\n\tBoolean tsd = (BX_CPU_CLASS_PTR cr4 & 4)? 1 : 0;\n\tBoolean cpl = RW_CPL;\n\tif ((tsd==0) || (tsd==1 && cpl==0))\n\t{\n\t\t// return ticks\n#if (X86CPU_MSWIN_MSDOS==1)\n\t\tBit64u ticks = time_ticks;//bx_pc_system.time_ticks ();\n#else\n\t\tBit64u ticks = bx_pc_system.time_ticks ();\n#endif\n\t\tRW_EAX = (Bit32u) (ticks & 0xffffffff);\n\t\tRW_EDX = (Bit32u) ((ticks >> 32) & 0xffffffff);\n\t\t//BX_INFO((\"RDTSC: returning EDX:EAX = %08x:%08x\", EDX, EAX));\n\t}\n\telse\n\t{\n\t\t// not allowed to use RDTSC!\n\t\tBX_CPU_CLASS_PTR exception (BX_GP_EXCEPTION, 0, 0);\n\t}\n#else\n\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n#endif\n}\n\n\tvoid\nBX_CPU_C::RDMSR(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 5\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\n\tif (BX_CPU_CLASS_PTR v8086_mode()) {\n\t\tBX_INFO((\"RDMSR: Invalid whilst in virtual 8086 mode\"));\n\t\tgoto do_exception;\n\t}\n\n\tif (RW_CPL!= 0) {\n\t\tBX_INFO((\"RDMSR: CPL!= 0\"));\n\t\tgoto do_exception;\n\t}\n\n\t/* We have the requested MSR register in ECX */\n\tswitch(RW_ECX) {\n#if BX_CPU_LEVEL == 5\n\t\t/* The following registers are defined for Pentium only */\n\t\tcase BX_MSR_P5_MC_ADDR:\n\t\tcase BX_MSR_MC_TYPE:\n\t\t\t/* TODO */\n\t\t\treturn;\n\n\t\tcase BX_MSR_TSC:\n\t\t\tBX_CPU_CLASS_PTR RDTSC(icpu,i);\n\t\t\treturn;\n\n\t\tcase BX_MSR_CESR:\n\t\t\t/* TODO */\n\t\t\treturn;\n#else\n\t\t/* These are noops on i686... */\n\t\tcase BX_MSR_P5_MC_ADDR:\n\t\tcase BX_MSR_MC_TYPE:\n\t\t\t/* do nothing */\n\t\t\treturn;\n\n\t\tcase BX_MSR_TSC:\n\t\t\tBX_CPU_CLASS_PTR RDTSC(i);\n\t\t\treturn;\n\n\t\t/* ... And these cause an exception on i686 */\n\t\tcase BX_MSR_CESR:\n\t\tcase BX_MSR_CTR0:\n\t\tcase BX_MSR_CTR1:\n\t\t\tgoto do_exception;\n#endif\t/* BX_CPU_LEVEL == 5 */\n\n\t\t/* MSR_APICBASE\n\t\t   0:7\t\tReserved\n\t\t   8\t\tThis is set if its the BSP\n\t\t   9:10\t\tReserved\n\t\t   11\t\tAPIC Global Enable bit (1=enabled 0=disabled)\n\t\t   12:35\tAPIC Base Address\n\t\t   36:63\tReserved\n\t\t*/\n\t\tcase BX_MSR_APICBASE:\n\t\t\t/* we return low 32 bits in EAX, and high in EDX */\n\t\t\t//RW_EAX = BX_CPU_CLASS_PTR msr.apicbase & 0xff;\n\t\t\t//RW_EDX = BX_CPU_CLASS_PTR msr.apicbase >> 32;\n\t\t\tRW_EAX = (Bit32u)(BX_CPU_CLASS_PTR msr.apicbase);\n\t\t\tRW_EDX = (Bit32u)(BX_CPU_CLASS_PTR msr.apicbase>>32);\n\n\t\t\tBX_INFO((\"RDMSR: Read %08x:%08x from MSR_APICBASE\", RW_EDX, RW_EAX));\n\t\t\treturn;\n\t\t\t\n\t\tdefault:\n\t\t\tBX_INFO((\"RDMSR: Unknown register!\"));\n\t\t\tgoto do_exception;\n\t\t\t\n\t}\n#endif\t/* BX_CPU_LEVEL >= 5 */\n\ndo_exception:\n\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n}\n\n  void\nBX_CPU_C::WRMSR(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL >= 5\n\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR v8086_mode()) {\n\t\tBX_INFO((\"WRMSR: Invalid whilst in virtual 8086 mode\"));\n\t\tgoto do_exception;\n\t}\n\n\tif (RW_CPL!= 0) {\n\t\tBX_INFO((\"WDMSR: CPL!= 0\"));\n\t\tgoto do_exception;\n\t}\n\n\t/* ECX has the MSR to write to */\n\tswitch(RW_ECX) {\n#if BX_CPU_LEVEL == 5\n\t\t/* The following registers are defined for Pentium only */\n\t\tcase BX_MSR_P5_MC_ADDR:\n\t\tcase BX_MSR_MC_TYPE:\n\t\tcase BX_MSR_TSC:\n\t\tcase BX_MSR_CESR:\n\t\t\t/* TODO */\n\t\t\treturn;\n#else\n\t\t/* These are noops on i686... */\n\t\tcase BX_MSR_P5_MC_ADDR:\n\t\tcase BX_MSR_MC_TYPE:\n\t\tcase BX_MSR_TSC:\n\t\t\t/* do nothing */\n\t\t\treturn;\n\n\t\t/* ... And these cause an exception on i686 */\n\t\tcase BX_MSR_CESR:\n\t\tcase BX_MSR_CTR0:\n\t\tcase BX_MSR_CTR1:\n\t\t\tgoto do_exception;\n#endif\t/* BX_CPU_LEVEL == 5 */\n\n\t\t/* MSR_APICBASE\n\t\t   0:7\t\tReserved\n\t\t   8\t\tThis is set if its the BSP\n\t\t   9:10\t\tReserved\n\t\t   11\t\tAPIC Global Enable bit (1=enabled 0=disabled)\n\t\t   12:35\tAPIC Base Address\n\t\t   36:63\tReserved\n\t\t*/\n\n\t\tcase BX_MSR_APICBASE:\n\t\t\tBX_CPU_CLASS_PTR msr.apicbase = (RW_EDX << 32) + RW_EAX;\n\t\t\tBX_INFO((\"WRMSR: wrote %08x:%08x to MSR_APICBASE\", RW_EDX, RW_EAX));\n\t\t\treturn;\n\t\t\t\n\t\tdefault:\n\t\t\tBX_INFO((\"WRMSR: Unknown register!\"));\n\t\t\tgoto do_exception;\n\t\t\t\n\t}\n#endif\t/* BX_CPU_LEVEL >= 5 */\n\ndo_exception:\n\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\n}\n\n#if BX_X86_DEBUGGER\n\tBit32u\nBX_CPU_C::hwdebug_compare(Bit32u laddr_0, unsigned size,\n                          unsigned opa, unsigned opb)\n{\n\t// Support x86 hardware debug facilities (DR0..DR7)\n\tBit32u dr7 = BX_CPU_CLASS_PTR dr7;\n\n\tBoolean ibpoint_found = 0;\n\tBit32u  laddr_n = laddr_0 + (size - 1);\n\tBit32u  dr0, dr1, dr2, dr3;\n\tBit32u  dr0_n, dr1_n, dr2_n, dr3_n;\n\tBit32u  len0, len1, len2, len3;\n\tstatic  unsigned alignment_mask[4] =\n    //    00b=1      01b=2     10b=undef     11b=4\n    { 0xffffffff, 0xfffffffe, 0xffffffff, 0xfffffffc };\n\tBit32u dr0_op, dr1_op, dr2_op, dr3_op;\n\n\tlen0 = (dr7>>18) & 3;\n\tlen1 = (dr7>>22) & 3;\n\tlen2 = (dr7>>26) & 3;\n\tlen3 = (dr7>>30) & 3;\n\n\tdr0 = BX_CPU_CLASS_PTR dr0 & alignment_mask[len0];\n\tdr1 = BX_CPU_CLASS_PTR dr1 & alignment_mask[len1];\n\tdr2 = BX_CPU_CLASS_PTR dr2 & alignment_mask[len2];\n\tdr3 = BX_CPU_CLASS_PTR dr3 & alignment_mask[len3];\n\n\tdr0_n = dr0 + len0;\n\tdr1_n = dr1 + len1;\n\tdr2_n = dr2 + len2;\n\tdr3_n = dr3 + len3;\n\n\tdr0_op = (dr7>>16) & 3;\n\tdr1_op = (dr7>>20) & 3;\n\tdr2_op = (dr7>>24) & 3;\n\tdr3_op = (dr7>>28) & 3;\n\n\t// See if this instruction address matches any breakpoints\n\tif ( (dr7 & 0x00000003) )\n\t{\n\t\tif ( (dr0_op==opa || dr0_op==opb) &&\n\t\t\t (laddr_0 <= dr0_n) &&\n\t\t\t(laddr_n >= dr0) )\n\t\tibpoint_found = 1;\n    }\n\n\tif ( (dr7 & 0x0000000c) )\n\t{\n\t\tif ( (dr1_op==opa || dr1_op==opb) &&\n\t\t\t (laddr_0 <= dr1_n) &&\n\t\t\t(laddr_n >= dr1) )\n\t\tibpoint_found = 1;\n    }\n\n\tif ( (dr7 & 0x00000030) )\n\t{\n\t\tif ( (dr2_op==opa || dr2_op==opb) &&\n\t\t\t (laddr_0 <= dr2_n) &&\n\t\t\t(laddr_n >= dr2) )\n\t\tibpoint_found = 1;\n    }\n\n\tif ( (dr7 & 0x000000c0) )\n\t{\n\t\tif ( (dr3_op==opa || dr3_op==opb) &&\n\t\t\t (laddr_0 <= dr3_n) &&\n\t\t\t(laddr_n >= dr3) )\n\t\tibpoint_found = 1;\n    }\n\n  // If *any* enabled breakpoints matched, then we need to\n  // set status bits for *all* breakpoints, even disabled ones,\n  // as long as they meet the other breakpoint criteria.\n  // This code is similar to that above, only without the\n  // breakpoint enabled check.  Seems weird to duplicate effort,\n  // but its more efficient to do it this way.\n\tif (ibpoint_found)\n\t{\n\t\t// dr6_mask is the return value.  These bits represent the bits to\n\t\t// be OR'd into DR6 as a result of the debug event.\n\t\tBit32u  dr6_mask=0;\n\t\tif ( (dr0_op==opa || dr0_op==opb) &&\n\t\t\t (laddr_0 <= dr0_n) &&\n\t\t\t(laddr_n >= dr0) )\n\t\t\tdr6_mask |= 0x01;\n\n\t\tif ( (dr1_op==opa || dr1_op==opb) &&\n\t\t\t (laddr_0 <= dr1_n) &&\n\t\t\t(laddr_n >= dr1) )\n\t\t\tdr6_mask |= 0x02;\n\n\t\tif ( (dr2_op==opa || dr2_op==opb) &&\n\t\t\t(laddr_0 <= dr2_n) &&\n\t\t\t(laddr_n >= dr2) )\n\t\t\tdr6_mask |= 0x04;\n\n\t\tif ( (dr3_op==opa || dr3_op==opb) &&\n\t\t\t (laddr_0 <= dr3_n) &&\n\t\t\t(laddr_n >= dr3) )\n\t\t\tdr6_mask |= 0x08;\n\n\t\treturn(dr6_mask);\n\t}\n\n\treturn(0);\n}\n\n#endif\n"
  },
  {
    "path": "Project/IntelCPU/Source/prot.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: protect_ctrl.cc,v 1.10 2001/10/09 21:15:14 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n/* 1: available TSS */\n/* 2: LDT */\n/* 3: busy TSS */\n/* 4: 286 call gate */\n/* 5: task gate */\n/* 9: available 32bit TSS */\n/* 11: busy 32bit TSS */\n/* 12: 32bit call gate */\n/* xx: code data segment */\nBit8u AR_BYTE_LAR[0x20] =\n{\n\t0,\t1,\t1,\t1,\t\t1,\t1,\t0,\t0,\n\t0,\t1,\t0,\t1,\t\t1,\t0,\t0,\t0,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n};\n\n// 1: 16bit TSS\n// 3: 16bit TSS\n// 2: LDT\n// 9: 32bit TSS    G00A\n// 11:32bit TSS    G00A\nBit8u AR_BYTE_LSL[0x20] =\n{\n\t0,\t1,\t1,\t1,\t\t0,\t0,\t0,\t0,\n\t0,\t1,\t0,\t1,\t\t0,\t0,\t0,\t0,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n};\n\n\nBit8u AR_BYTE_VERR[0x20] =\n{\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n\t0,\t0,\t1,\t1,\t\t0,\t0,\t1,\t1,\n};\n\nBit8u AR_BYTE_VERW[0x20] =\n{\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t1,\t1,\t\t0,\t0,\t1,\t1,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n};\n\n\n\tvoid\nBX_CPU_C::ARPL_EwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"ARPL_EwRw: not supported on 8086!\"));\n#else /* 286+ */\n\n\tBit16u op2_16, op1_16;\n\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\t/* op1_16 is a register or memory reference */\n\t\tif (i->modC0())\n\t\t{\n\t\t\top1_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\t\t}\n\t\telse\n\t\t{\t/* pointer, segment address pair */\n\t\t\tBX_CPU_CLASS_PTR read_RMW_virtual_word(MODRMSeg(i), RMAddr(i), &op1_16);\n\t\t}\n\n\t\top2_16 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\t\tif ( (op1_16 & 0x03) < (op2_16 & 0x03) )\n\t\t{\n\t\t\top1_16 = (op1_16 & 0xfffc) | (op2_16 & 0x03);\n\n\t\t\t/* now write back to destination */\n\t\t\tif (i->modC0())\n\t\t\t{\n\t\t\t/*\n\t\t\t\tif (i->size_mode.os_32)\n\t\t\t\t{\n\t\t\t\t\t// if 32bit opsize, then 0xff3f is or'd into\n\t\t\t\t\t// upper 16bits of register\n\t\t\t\t\tBit32u op1_32;\n\n\t\t\t\t\top1_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\t\t\t\t\top1_32 = (op1_32 & 0xffff0000) | op1_16;\n\t\t\t\t\top1_32 |= 0xff3f0000;\n\t\t\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), op1_32);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), op1_16);\n\t\t\t\t}\n\t\t\t*/\n\t\t\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), op1_16);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tBX_CPU_CLASS_PTR write_RMW_virtual_word(op1_16);\n\t\t\t}\n\n\t\t\tBX_CPU_CLASS_PTR set_ZF(1);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t}\n\t}\n\telse\n\t{\n\t\t// ARPL not recognized in real or v8086 mode\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::LAR_GvEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t/* for 16 bit operand size mode */\n\tBit16u raw_selector;\n\tbx_descriptor_t descriptor;\n\tbx_selector_t   selector;\n\tBit32u dword1, dword2;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\tBX_PANIC((\"LAR_GvEw: not recognized in real mode\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n\t}\n\n\tif (i->modC0())\n\t{\n\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{ /* pointer, segment address pair */\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n    }\n\n\t/* if selector null, clear ZF and done */\n\tif ( (raw_selector & 0xfffc) == 0 )\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\n\tif ( !BX_CPU_CLASS_PTR fetch_raw_descriptor2(&selector, &dword1, &dword2) )\n\t{ /* not within descriptor table */\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\treturn;\n\t}\n\n\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\n\t/* if source selector is visible at CPL & RPL,\n\t * within the descriptor table, and of type accepted by LAR instruction,\n\t * then load register with segment limit and set ZF\n\t*/\n\n\tif (AR_BYTE_LAR[descriptor.AR_byte&0x1f]==0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t//BX_DEBUG((\"lar(): descriptor valid bit cleared\"));\n\t\treturn;\n    }\n\n\tif ((descriptor.AR_byte&0x1c)!=0x1c)\n\t{\n\t\tif ( (descriptor.dpl<RW_CPL) || (descriptor.dpl<selector.rpl) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t\treturn;\n\t\t}\n\t}\n\t/* ignore DPL for conforming segments */\n\n    BX_CPU_CLASS_PTR set_ZF(1);\n\n    if (i->size_mode.os_32)\n\t{ /* masked by 00FxFF00, where x is undefined */\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), dword2 & 0x00ffff00);\n\t}\n    else\n\t{\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), dword2 & 0xff00);\n\t}\n\n    return;\n}\n\n\tvoid\nBX_CPU_C::LSL_GvEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t/* for 16 bit operand size mode */\n\tBit16u raw_selector;\n\tbx_descriptor_t descriptor;\n\tbx_selector_t   selector;\n\tBit32u dword1, dword2;\n\tBit32u limit32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\tBX_PANIC((\"LSL_GvEw: not recognized in real mode\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tif (i->modC0())\n\t{\n\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{ /* pointer, segment address pair */\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n    }\n\n\n\t/* if selector null, clear ZF and done */\n\tif ( (raw_selector & 0xfffc) == 0 )\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\n\tif ( !BX_CPU_CLASS_PTR fetch_raw_descriptor2(&selector, &dword1, &dword2) )\n\t{\n\t\t/* not within descriptor table */\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\treturn;\n\t}\n\n\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\n\tif (AR_BYTE_LSL[descriptor.AR_byte&0x1f]==0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t//BX_DEBUG((\"lar(): descriptor valid bit cleared\"));\n\t\treturn;\n    }\n\n\tif ((descriptor.AR_byte&0x1c)!=0x1c)\n\t{\n\t\tif ( (descriptor.dpl<RW_CPL) || (descriptor.dpl<selector.rpl) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\t\treturn;\n\t\t}\n\t}\n\t/* ignore DPL for conforming segments */\n\n    BX_CPU_CLASS_PTR set_ZF(1);\n\n\t/* all checks pass, limit32 is now byte granular, write to op1 */\n\tlimit32 = (dword1 & 0x0000ffff) | (dword2 & 0x000f0000);\n\n\tif ( dword2 & 0x00800000 )\n\t\tlimit32 = (limit32 << 12) | 0x00000fff;\n\n\tif (i->size_mode.os_32)\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), limit32)\n\telse // chop off upper 16 bits\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), (Bit16u) limit32)\n\n\treturn ;\n}\n\n\tvoid\nBX_CPU_C::SLDT_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"SLDT_Ew: not supported on 8086!\"));\n#else\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{ /* not recognized in real address mode */\n\t\tBX_ERROR((\"SLDT_Ew: encountered in real mode.\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n    }\n\telse\n\t{\n\t\tBit16u val16;\n\t\t\n\t\tval16 = BX_CPU_CLASS_PTR ldtr.selector.value;\n\t\tif (i->modC0())\n\t\t{\n\t\t\tif (i->size_mode.os_32)\n\t\t\t{\n\t\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), (Bit32u)val16);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),val16);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &val16);\n\t\t}\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::STR_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\t// not recognized in real address mode\n\t\tBX_PANIC((\"STR_Ew: encountered in real mode.\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n    }\n\telse\n\t{\n\t\tBit16u val16;\n\t\t\n\t\tval16 = BX_CPU_CLASS_PTR tr.selector.value;\n\n\t\tif (i->modC0())\n\t\t{\n\t\t\tif (i->size_mode.os_32)\n\t\t\t{\n\t\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),(Bit32u)val16);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), val16);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &val16);\n\t\t}\n    }\n}\n\n\tvoid\nBX_CPU_C::LLDT_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"LLDT_Ew: not supported on 8086!\"));\n#else\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t//invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\tBX_PANIC((\"lldt: not recognized in real mode\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\telse\n\t{ /* protected mode */\n\t\tbx_descriptor_t  descriptor;\n\t\tbx_selector_t    selector;\n\t\tBit16u raw_selector;\n\t\tBit32u dword1, dword2;\n\n\n\t\t/* #GP(0) if the current privilege level is not 0 */\n\t\tif (RW_CPL != 0)\n\t\t{\n\t\t\tBX_PANIC((\"LLDT: CPL != 0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t\treturn;\n\t\t}\n\n\t\tif (i->modC0())\n\t\t{\n\t\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n\t\t}\n\n\t\t/* if selector is NULL, invalidate and done */\n\t\tif ((raw_selector & 0xfffc) == 0)\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR ldtr.selector.value = raw_selector;\n\t\t\tBX_CPU_CLASS_PTR ldtr.cache.valid = 0;\n\t\t\treturn;\n\t\t}\n\n\t\t/* parse fields in selector */\n\t\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\t\t\n\t\t// #GP(selector) if the selector operand does not point into GDT\n\t\tif (selector.ti != 0)\n\t\t{\n\t\t\tBX_ERROR((\"LLDT: selector.ti != 0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, raw_selector & 0xfffc, 0);\n\t\t}\n\n\t\tif ((selector.index*8 + 7) > BX_CPU_CLASS_PTR gdtr.limit)\n\t\t{\n\t\t\tBX_PANIC((\"lldt: GDT: index > limit\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, raw_selector & 0xfffc, 0);\n\t\t\treturn;\n\t\t}\n\n\t\tBX_CPU_CLASS_PTR access_linear(BX_CPU_CLASS_PTR gdtr.base + selector.index*8,     4, 0,\n\t\t\tBX_READ, &dword1);\n\t\tBX_CPU_CLASS_PTR access_linear(BX_CPU_CLASS_PTR gdtr.base + selector.index*8 + 4, 4, 0,\n\t\t\tBX_READ, &dword2);\n\n\t\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\n\t\t/* if selector doesn't point to an LDT descriptor #GP(selector) */\n\t\tif ((descriptor.AR_byte&0x1f)!=0x02)\n\t\t{\n\t\t\tBX_ERROR((\"lldt: doesn't point to an LDT descriptor!\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, raw_selector & 0xfffc, 0);\n\t\t}\n\n\t\t/* #NP(selector) if LDT descriptor is not present */\n\t\tif (descriptor.p==0)\n\t\t{\n\t\t\tBX_ERROR((\"lldt: LDT descriptor not present!\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_NP_EXCEPTION, raw_selector & 0xfffc, 0);\n\t\t}\n\n\t\tif (descriptor.u.ldt.limit < 7)\n\t\t{\n\t\t\tBX_ERROR((\"lldt: ldtr.limit < 7\"));\n\t\t}\n\n\t\tBX_CPU_CLASS_PTR ldtr.selector = selector;\n\t\tBX_CPU_CLASS_PTR ldtr.cache = descriptor;\n\t\tBX_CPU_CLASS_PTR ldtr.cache.valid = 1;\n\t\treturn;\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::LTR_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"LTR_Ew: not supported on 8086!\"));\n#else\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t//invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR protected_mode())\n\t{\n\t\tbx_descriptor_t  descriptor;\n\t\tbx_selector_t    selector;\n\t\tBit16u raw_selector;\n\t\tBit32u dword1, dword2;\n\n\t\t/* #GP(0) if the current privilege level is not 0 */\n\t\tif (RW_CPL != 0)\n\t\t{\n\t\t\tBX_PANIC((\"LTR: CPL != 0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t\treturn;\n\t\t}\n\n\t\tif (i->modC0())\n\t\t{\n\t\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n\t\t}\n\n\t\t/* if selector is NULL, invalidate and done */\n\t\tif ((raw_selector & 0xfffc) == 0)\n\t\t{\n\t\t\tBX_PANIC((\"ltr: loading with NULL selector!\"));\n\t\t\t/* if this is OK, then invalidate and load selector & descriptor cache */\n\t\t\t/* load here */\n\t\t\tBX_CPU_CLASS_PTR tr.selector.value = raw_selector;\n\t\t\tBX_CPU_CLASS_PTR tr.cache.valid = 0;\n\t\t\treturn;\n\t\t}\n\t\t/* parse fields in selector, then check for null selector */\n\t\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\n\t\tif (selector.ti)\n\t\t{\n\t\t\tBX_PANIC((\"ltr: selector.ti != 0\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, raw_selector & 0xfffc, 0);\n\t\t\treturn;\n\t\t}\n\n\t\t/* fetch 2 dwords of descriptor; call handles out of limits checks */\n\t\tBX_CPU_CLASS_PTR fetch_raw_descriptor(&selector, &dword1, &dword2, BX_GP_EXCEPTION);\n\t\t\n\t\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\n\n\t\t/* #GP(selector) if object is not a TSS or is already busy */\n\t\tif ( (descriptor.AR_byte&0x1f) != 1 && (descriptor.AR_byte&0x1f) != 9)\n\t\t{\n\t\t\tBX_PANIC((\"ltr: doesn't point to an available TSS descriptor!\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, raw_selector & 0xfffc, 0); /* 0 ??? */\n\t\t\treturn;\n\t\t}\n\n\t\t/* #NP(selector) if TSS descriptor is not present */\n\t\tif (descriptor.p==0)\n\t\t{\n\t\t\tBX_PANIC((\"ltr: LDT descriptor not present!\"));\n\t\t\tBX_CPU_CLASS_PTR exception(BX_NP_EXCEPTION, raw_selector & 0xfffc, 0); /* 0 ??? */\n\t\t\treturn;\n\t\t}\n\n\t\tif (descriptor.type==1 && descriptor.u.tss286.limit<43)\n\t\t{\n\t\t\tBX_PANIC((\"ltr:286TSS: loading tr.limit < 43\"));\n\t\t}\n\t\telse if (descriptor.type==9 && descriptor.u.tss386.limit_scaled<103)\n\t\t{\n\t\t\tBX_PANIC((\"ltr:386TSS: loading tr.limit < 103\"));\n\t\t}\n\n\t\tBX_CPU_CLASS_PTR tr.selector = selector;\n\t\tBX_CPU_CLASS_PTR tr.cache    = descriptor;\n\t\tBX_CPU_CLASS_PTR tr.cache.valid = 1;\n\t\t// tr.cache.type should not have busy bit, or it would not get \n\t\t// through the conditions above.\n\t\tBX_ASSERT((BX_CPU_CLASS_PTR tr.cache.type & 2) == 0);\n\n\t\t/* mark as busy */\n\t\tdword2 |= 0x00000200; /* set busy bit */\n\t\tBX_CPU_CLASS_PTR access_linear(BX_CPU_CLASS_PTR gdtr.base + selector.index*8 + 4, 4, 0,\n\t\t\tBX_WRITE, &dword2);\n\n\t\treturn;\n    }\n\telse\n\t{\n\t\tBX_PANIC((\"ltr_ew: not recognized in real-mode!\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::VERR_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t/* for 16 bit operand size mode */\n\tBit16u raw_selector;\n\tbx_descriptor_t descriptor;\n\tbx_selector_t   selector;\n\tBit32u dword1, dword2;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\t\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\tBX_PANIC((\"VERR_Ew: not recognized in real mode\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tif (i->modC0())\n\t{\n\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{ /* pointer, segment address pair */\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n    }\n\n\t/* if selector null, clear ZF and done */\n\tif ( (raw_selector & 0xfffc) == 0 )\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\tBX_ERROR((\"VERR: null selector\"));\n\t\treturn;\n    }\n\n\t/* if source selector is visible at CPL & RPL,\n\t * within the descriptor table, and of type accepted by VERR instruction,\n\t * then load register with segment limit and set ZF */\n\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\n\tif ( !BX_CPU_CLASS_PTR fetch_raw_descriptor2(&selector, &dword1, &dword2) )\n\t{\n\t\t/* not within descriptor table */\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\tBX_ERROR((\"VERR: not in table\"));\n\t\treturn;\n    }\n\t\n\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\n\tif (AR_BYTE_VERR[descriptor.AR_byte&0x1f]==0)\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0); /* inaccessible */\n\t\tBX_ERROR((\"VERR: system descriptor\"));\n\t\treturn;\n    }\n\n\tif ((descriptor.AR_byte&0x1c)!=0x1c)\n\t{\n\t\tif ( (descriptor.dpl<RW_CPL) || (descriptor.dpl<selector.rpl) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR set_ZF(0); /* not accessible */\n\t\t\tBX_INFO((\"VERR: data seg not withing priv level\"));\n\t\t\treturn;\n\t\t}\n\t}\n\n    BX_CPU_CLASS_PTR set_ZF(1); /* accessible */\n    BX_ERROR((\"VERR: data segment OK\"));\n    return;\n}\n\n\tvoid\nBX_CPU_C::VERW_Ew(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t/* for 16 bit operand size mode */\n\tBit16u raw_selector;\n\tbx_descriptor_t descriptor;\n\tbx_selector_t   selector;\n\tBit32u dword1, dword2;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\t\n\tif (BX_CPU_CLASS_PTR real_mode())\n\t{\n\t\tBX_PANIC((\"VERW_Ew: not recognized in real mode\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tif (i->modC0())\n\t{\n\t\traw_selector = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{\n\t\t/* pointer, segment address pair */\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &raw_selector);\n    }\n\n\t/* if selector null, clear ZF and done */\n\tif ( (raw_selector & 0xfffc) == 0 )\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\tBX_ERROR((\"VERW: null selector\"));\n\t\treturn;\n    }\n\n\t/* if source selector is visible at CPL & RPL,\n\t * within the descriptor table, and of type accepted by VERW instruction,\n\t * then load register with segment limit and set ZF */\n\tBX_CPU_CLASS_PTR parse_selector(raw_selector, &selector);\n\n\tif ( !BX_CPU_CLASS_PTR fetch_raw_descriptor2(&selector, &dword1, &dword2) )\n\t{\n\t\t/* not within descriptor table */\n\t\tBX_CPU_CLASS_PTR set_ZF(0);\n\t\tBX_ERROR((\"VERW: not in table\"));\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR parse_descriptor(dword1, dword2, &descriptor);\n\t\n\t/* rule out system segments & code segments */\n\tif (AR_BYTE_VERW[descriptor.AR_byte&0x1f]==0)\n\t{\n\t    BX_CPU_CLASS_PTR set_ZF(0);\n\t\tBX_ERROR((\"VERW: system seg or code\"));\n\t\tBX_INFO((\"VERW: data seg not writable\"));\n\t\treturn;\n    }\n\n\t/* data segment */\n    if ( (descriptor.dpl<RW_CPL) || (descriptor.dpl<selector.rpl) )\n\t{\n\t\tBX_CPU_CLASS_PTR set_ZF(0); /* not accessible */\n\t\tBX_INFO((\"VERW: writable data seg not within priv level\"));\n\t\treturn;\n\t}\n\n    BX_CPU_CLASS_PTR set_ZF(1); /* accessible */\n    BX_ERROR((\"VERW: data seg writable\"));\n    return;\n}\n\n\tvoid\nBX_CPU_C::SGDT_Ms(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"SGDT_Ms: not supported on 8086!\"));\n#else\n\tBit16u limit_16;\n\tBit32u base_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t/* op1 is a register or memory reference */\n\tif (i->modC0())\n\t{\n\t\t/* undefined opcode exception */\n\t\tBX_PANIC((\"SGDT_Ms: use of register is undefined opcode.\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tlimit_16 = BX_CPU_CLASS_PTR gdtr.limit;\n\tbase_32  = BX_CPU_CLASS_PTR gdtr.base;\n#if BX_CPU_LEVEL == 2\n\tbase_32 |= 0xff000000; /* ??? */\n#else /* 386+ */\n\t/* 32bit processors always write 32bits of base */\n#endif\n\n\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &limit_16);\n\n\tBX_CPU_CLASS_PTR write_virtual_dword(MODRMSeg(i), RMAddr(i)+2, &base_32);\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::SIDT_Ms(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"SIDT_Ms: not supported on 8086!\"));\n#else\n\tBit16u limit_16;\n\tBit32u base_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t/* op1 is a register or memory reference */\n\tif (i->modC0())\n\t{\n\t\t/* undefined opcode exception */\n\t\tBX_PANIC((\"SIDT: use of register is undefined opcode.\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tlimit_16 = BX_CPU_CLASS_PTR idtr.limit;\n\tbase_32  = BX_CPU_CLASS_PTR idtr.base;\n\n#if BX_CPU_LEVEL == 2\n\tbase_32 |= 0xff000000;\n#else /* 386+ */\n\t/* ??? regardless of operand size, all 32bits of base are stored */\n#endif\n\n\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &limit_16);\n\n\tBX_CPU_CLASS_PTR write_virtual_dword(MODRMSeg(i), RMAddr(i)+2, &base_32);\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::LGDT_Ms(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"LGDT_Ms: not supported on 8086!\"));\n#else\n\tBit16u limit_16;\n\tBit32u base_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t//invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR protected_mode() && (RW_CPL!=0))\n\t{\n\t\tBX_PANIC((\"LGDT: protected mode: CPL!=0\"));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n    }\n\n\t/* op1 is a register or memory reference */\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"LGDT generating exception 6\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &limit_16);\n\n\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i) + 2, &base_32);\n\n\tBX_CPU_CLASS_PTR gdtr.limit = limit_16;\n\n#if BX_CPU_LEVEL >= 3\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR gdtr.base = base_32;\n\telse\n#endif\n\t\tBX_CPU_CLASS_PTR gdtr.base = base_32 & 0x00ffffff; /* ignore upper 8 bits */\n\n#endif\n}\n\n\tvoid\nBX_CPU_C::LIDT_Ms(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"LIDT_Ms: not supported on 8086!\"));\n#else\n\tBit16u limit_16;\n\tBit32u base_32;\n\n\tif (BX_CPU_CLASS_PTR v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\t//invalidate_prefetch_q();\n\n\tif (BX_CPU_CLASS_PTR protected_mode()&&(RW_CPL != 0))\n\t{\n\t\tBX_PANIC((\"LIDT(): CPL(%u) != 0\", (unsigned) RW_CPL));\n\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\treturn;\n\t}\n\n\t/* op1 is a register or memory reference */\n\tif (i->modC0())\n\t{\n\t\t/* undefined opcode exception */\n\t\tBX_PANIC((\"LIDT generating exception 6\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t\treturn;\n    }\n\n\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &limit_16);\n\n\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i) + 2, &base_32);\n\n\tBX_CPU_CLASS_PTR idtr.limit = limit_16;\n\n#if BX_CPU_LEVEL >= 3\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR idtr.base = base_32;\n\telse\n#endif\n\t\tBX_CPU_CLASS_PTR idtr.base = base_32 & 0x00ffffff; /* ignore upper 8 bits */\n\n#endif\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/prot_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: protect_ctrl_pro.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::enter_protected_mode(void)\n{\n// BX_INFO((\"processor switching into PROTECTED mode!!!\"));\n// debug(BX_CPU_THIS_PTR prev_eip);\n\tif (v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (bx_dbg.reset)\n\t\tBX_INFO((\"processor switching into PROTECTED mode!!!\"));\n\n\tif ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl!=0 || BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl!=0 )\n\t\tBX_PANIC((\"enter_protected_mode: CS or SS rpl != 0\"));\n}\n\n\n  void\nBX_CPU_C::enter_real_mode(void)\n{\n// ???\n// BX_INFO((\"processor switching into REAL mode!!!\"));\n// debug(BX_CPU_THIS_PTR prev_eip);\n\tif (v8086_mode())\n\t\tBX_PANIC((\"protect_ctrl: v8086 mode unsupported\"));\n\n\tif (bx_dbg.reset)\n\t\tBX_INFO((\"processor switching into REAL mode!!!\"));\n\n\tif ( BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl!=0 || BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl!=0 )\n\t\tBX_PANIC((\"enter_real_mode: CS or SS rpl != 0\"));\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/resol16.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: resolve16.cc,v 1.5 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BX + RW_SI);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BX + RW_DI);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BP + RW_SI);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BP + RW_DI);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) RW_SI;\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) RW_DI;\n}\n\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d16, no registers used\n\tRMAddr(i) = (Bit16u) i->displ16u;\n}\n\tvoid\nBX_CPU_C::Resolve16Mod0Rm7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) RW_BX;\n}\n\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BX + RW_SI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BX + RW_DI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BP + RW_SI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BP + RW_DI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_SI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_DI + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BP + i->displ16u);\n}\n\tvoid\nBX_CPU_C::Resolve16Mod1or2Rm7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (Bit16u) (RW_BX + i->displ16u);\n}\n\n//------------------------------------------------\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/resol32.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: resolve32.cc,v 1.5 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ʮλЧַ 㺯\n//---------------------------------------------------------\n\n\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00);\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01);\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02);\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03);\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// escape to 2-byte\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d32, no registers used\n\tRMAddr(i) = i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06);\n}\n\tvoid\nBX_CPU_C::Resolve32Mod0Rm7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07);\n}\n//---------------------------------------------------------\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// escape to 2-byte\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) + i->displ32u;\n}\n\tvoid\nBX_CPU_C::Resolve32Mod1or2Rm7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) + i->displ32u;\n}\n//---------------------------------------------------------\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x00(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x01(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x02(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x03(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x04(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x05(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x06(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x07(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x08(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x09(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x0f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x10(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x11(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x12(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x13(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x14(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x15(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x17(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x18(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x19(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x1f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x20(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x21(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x22(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x23(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x24(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x25(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x26(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x27(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x28(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x29(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x2f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x30(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x31(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x33(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x34(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x35(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x36(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x37(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x38(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x39(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x3f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x40(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x41(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x42(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x43(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x44(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x45(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x46(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x47(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x48(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x49(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x4f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x50(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x51(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x52(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x53(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x54(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x55(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x56(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x57(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x58(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x59(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x5f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x60(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x61(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x62(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x63(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x64(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x65(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x66(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x67(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x68(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x69(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x6f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x70(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x71(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x72(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x73(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x74(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x75(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x76(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x77(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x78(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x79(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x7f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x80(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x81(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x82(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x83(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x84(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x85(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x86(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x87(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x88(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x89(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x8f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x90(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x91(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x92(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x93(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x94(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x95(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x96(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x97(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x98(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x99(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0x9f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xa9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xaa(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xab(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xac(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xad(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xae(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xaf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xb9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xba(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbe(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xbf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xc9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xca(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xce(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xcf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xd9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xda(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xde(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xdf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xe9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xea(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xeb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xec(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xed(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xee(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xef(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xf9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfa(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x05) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xfe(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod1or2EffectAddress_sib0xff(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03) + i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x00(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x01(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x02(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x03(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x04(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x05(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x00) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x06(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x07(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x08(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x09(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x01) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x0f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x10(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x11(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x12(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x13(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x14(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x15(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x02) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x17(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x18(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x19(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x03) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x1f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x20(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x21(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x22(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x23(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x24(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x25(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d32, no registers used \n\tRMAddr(i) = i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x26(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x27(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x28(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x29(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x05) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x2f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x30(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x31(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x33(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x34(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x35(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x06) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x36(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x37(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x38(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x39(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x07) <<0x00) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x3f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x40(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x41(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x42(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x43(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x44(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x45(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x00) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x46(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x47(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x48(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x49(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x01) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x4f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x50(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x51(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x52(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x53(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x54(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x55(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x02) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x56(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x57(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x58(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x59(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x03) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x5f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x60(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x61(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x62(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x63(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x64(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x65(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d32, no registers used \n\tRMAddr(i) = i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x66(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x67(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x68(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x69(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x05) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x6f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x70(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x71(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x72(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x73(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x74(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x75(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x06) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x76(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x77(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x78(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x79(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x07) <<0x01) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x7f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x80(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x81(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x82(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x83(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x84(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x85(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x00) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x86(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x87(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x88(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x89(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x01) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x8f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x90(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x91(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x92(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x93(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x94(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x95(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x02) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x96(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x97(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x98(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x99(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9a(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9b(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9c(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9d(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x03) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9e(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0x9f(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d32, no registers used \n\tRMAddr(i) = i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xa9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xaa(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xab(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xac(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xad(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x05) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xae(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xaf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x06) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xb9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xba(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xbb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xbc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xbd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x07) <<0x02) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xbe(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xbf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x00) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x00) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xc9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xca(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xcb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xcc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xcd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x01) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xce(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xcf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x01) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x02) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x02) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xd9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xda(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xdb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xdc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xdd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x03) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xde(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xdf(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x03) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\t// d32, no registers used \n\tRMAddr(i) = i->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xe9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xea(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xeb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xec(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xed(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x05) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xee(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xef(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x05) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x06) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x06) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf8(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x00) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xf9(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x01) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xfa(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x02) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xfb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x03) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xfc(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x04) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xfd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = (READ_VIRTUAL_32BIT_REG(0x07) <<0x03) +\n\t\ti->displ32u;\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xfe(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x06) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n\tvoid\nBX_CPU_C::Resolve32Mod0EffectAddress_sib0xff(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tRMAddr(i) = READ_VIRTUAL_32BIT_REG(0x07) +\n\t\t(READ_VIRTUAL_32BIT_REG(0x07) <<0x03);\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/seg.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: segment_ctrl.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::MOV_EwSw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u seg_reg;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_EwSw: incomplete for CPU < 3\"));\n#endif\n\n\tif (MODRMnnn(i)>=0x06)\n\t{\n\t\tBX_PANIC((\"MOV_EwSw: incomplete MODRMnnn(i) >= 6\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\n\tseg_reg = BX_CPU_CLASS_PTR program_visible_sregs[MODRMnnn(i)].selector.value;\n\n\tif (i->modC0())\n\t{\n\t\t// ??? WRITE_VIRTUAL_16BIT_REG(mem_addr, seg_reg);\n\t\tif ( i->size_mode.os_32 )\n\t\t{\n\t\t\t// mov eax,ds\n\t\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), seg_reg);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t//mov ax,ds\n\t\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), seg_reg);\n\t\t}\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &seg_reg);\n    }\n}\n\n\tvoid\nBX_CPU_C::MOV_SwEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op2_16;\n\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"MOV_SwEw: incomplete for CPU < 3\"));\n#endif\n\n\tif (MODRMnnn(i)>=6||MODRMnnn(i)==1)\n\t{\n\t\tBX_PANIC((\"MOV_EwSw: incomplete MODRMnnn(i) >= 6 or MODRMnnn(i) ==1\"));\n\t\tUndefinedOpcode(icpu,i);\n\t}\n\n\tif (i->modC0())\n\t{\n\t\top2_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n    }\n\telse\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &op2_16);\n    }\n\n\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[MODRMnnn(i)], op2_16);\n\n\tif (MODRMnnn(i) == BX_SEG_REG_SS)\n\t{\n    // MOV SS inhibits interrupts, debug exceptions and single-step\n    // trap exceptions until the execution boundary following the\n    // next instruction is reached.\n    // Same code as POP_SS()\n\t\tBX_CPU_CLASS_PTR inhibit_mask |=\n\t\t\tBX_INHIBIT_INTERRUPTS | BX_INHIBIT_DEBUG;\n\t\tBX_CPU_CLASS_PTR async_event = 1;\n    }\n}\n\n\tvoid\nBX_CPU_C::PUSH_CS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value);\n}\n\tvoid\nBX_CPU_C::PUSH_DS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value);\n}\n\tvoid\nBX_CPU_C::PUSH_ES(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value);\n}\n\tvoid\nBX_CPU_C::PUSH_FS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value);\n}\n\tvoid\nBX_CPU_C::PUSH_GS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value);\n}\n\tvoid\nBX_CPU_C::PUSH_SS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value);\n\telse\n\t\tBX_CPU_CLASS_PTR push_16(BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value);\n}\n\n\tvoid\nBX_CPU_C::POP_DS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u ds;\n\t\tBX_CPU_CLASS_PTR pop_32(&ds);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS], (Bit16u) ds);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u ds;\n\t\tBX_CPU_CLASS_PTR pop_16(&ds);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS], ds);\n    }\n}\n\tvoid\nBX_CPU_C::POP_ES(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u es;\n\t\tBX_CPU_CLASS_PTR pop_32(&es);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES], (Bit16u) es);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u es;\n\t\tBX_CPU_CLASS_PTR pop_16(&es);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES], es);\n    }\n}\n\tvoid\nBX_CPU_C::POP_FS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u fs;\n\t\tBX_CPU_CLASS_PTR pop_32(&fs);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS], (Bit16u) fs);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u fs;\n\t\tBX_CPU_CLASS_PTR pop_16(&fs);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS], fs);\n    }\n}\n\tvoid\nBX_CPU_C::POP_GS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u gs;\n\t\tBX_CPU_CLASS_PTR pop_32(&gs);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS], (Bit16u) gs);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u gs;\n\t\tBX_CPU_CLASS_PTR pop_16(&gs);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS], gs);\n    }\n}\n\n\tvoid\nBX_CPU_C::POP_SS(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u ss;\n\t\tBX_CPU_CLASS_PTR pop_32(&ss);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS], (Bit16u) ss);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u ss;\n\t\tBX_CPU_CLASS_PTR pop_16(&ss);\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS], ss);\n    }\n\n\t// POP SS inhibits interrupts, debug exceptions and single-step\n\t// trap exceptions until the execution boundary following the\n\t// next instruction is reached.\n\t// Same code as MOV_SwEw()\n\tBX_CPU_CLASS_PTR inhibit_mask |=\n\t\tBX_INHIBIT_INTERRUPTS | BX_INHIBIT_DEBUG;\n\tBX_CPU_CLASS_PTR async_event = 1;\n}\n\n\tvoid\nBX_CPU_C::LES_GvMp(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->modC0())\n\t{\n\t\t// (BW) NT seems to use this when booting.\n\t\tBX_INFO((\"invalid use of LES, must use memory reference!\"));\n\t\tUndefinedOpcode(icpu,i);\n    }\n\n#if BX_CPU_LEVEL > 2\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit16u es;\n\t\tBit32u reg_32;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &reg_32);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 4, &es);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES], es);\n\n\t    WRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), reg_32);\n\t}\n\telse\n#endif /* BX_CPU_LEVEL > 2 */\n    {\t/* 16 bit mode */\n\t\tBit16u reg_16, es;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &reg_16);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 2, &es);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_ES], es);\n\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), reg_16);\n    }\n}\n\n\tvoid\nBX_CPU_C::LDS_GvMp(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"invalid use of LDS, must use memory reference!\"));\n\t\tUndefinedOpcode(icpu,i);\n    }\n\n#if BX_CPU_LEVEL > 2\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit16u ds;\n\t\tBit32u reg_32;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &reg_32);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 4, &ds);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS], ds);\n\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), reg_32);\n    }\n\telse\n#endif /* BX_CPU_LEVEL > 2 */\n    {\t/* 16 bit mode */\n\t\tBit16u reg_16, ds;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &reg_16);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 2, &ds);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_DS], ds);\n\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), reg_16);\n    }\n}\n\n\tvoid\nBX_CPU_C::LFS_GvMp(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"lfs_gvmp: not supported on 8086\"));\n#else /* 386+ */\n\n\tif (i->modC0())\n\t\t{\n\t\tBX_PANIC((\"invalid use of LFS, must use memory reference!\"));\n\t\tUndefinedOpcode(icpu,i);\n    }\n\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u reg_32;\n\t\tBit16u fs;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &reg_32);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 4, &fs);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS], fs);\n\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), reg_32);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u reg_16;\n\t\tBit16u fs;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &reg_16);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 2, &fs);\n\n\t    BX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_FS], fs);\n\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), reg_16);\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::LGS_GvMp(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"lgs_gvmp: not supported on 8086\"));\n#else /* 386+ */\n\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"invalid use of LGS, must use memory reference!\"));\n\t\tUndefinedOpcode(icpu,i);\n    }\n\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u reg_32;\n\t\tBit16u gs;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &reg_32);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 4, &gs);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS], gs);\n\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), reg_32);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u reg_16;\n\t\tBit16u gs;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &reg_16);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 2, &gs);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_GS], gs);\n\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), reg_16);\n    }\n#endif\n}\n\n\tvoid\nBX_CPU_C::LSS_GvMp(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n\tBX_PANIC((\"lss_gvmp: not supported on 8086\"));\n#else /* 386+ */\n\n\tif (i->modC0())\n\t{\n\t\tBX_PANIC((\"invalid use of LSS, must use memory reference!\"));\n\t\tUndefinedOpcode(icpu,i);\n    }\n\n\tif (i->size_mode.os_32)\n\t{\t/* 32 bit operand size */\n\t\tBit32u reg_32;\n\t\tBit16u ss_raw;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &reg_32);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 4, &ss_raw);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS], ss_raw);\n\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMnnn(i), reg_32);\n    }\n\telse\n\t{\t/* 16 bit operand size */\n\t\tBit16u reg_16;\n\t\tBit16u ss_raw;\n\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &reg_16);\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i) + 2, &ss_raw);\n\n\t\tBX_CPU_CLASS_PTR load_seg_reg(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS], ss_raw);\n\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMnnn(i), reg_16);\n    }\n#endif\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/seg_pro.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: segment_ctrl_pro.cc,v 1.11 2001/11/13 05:11:41 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\nBit8u AR_BYTE_READ[0x20] = //read\n{\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t1,\t1,\t1,\t1,\t\t1,\t1,\t1,\t1,\n\t0,\t0,\t1,\t1,\t\t0,\t0,\t1,\t1,\n};\n\nBit8u AR_BYTE_READWRITE[0x20] = //read write\n{\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n\t0,\t0,\t1,\t1,\t\t0,\t0,\t1,\t1,\n\t0,\t0,\t0,\t0,\t\t0,\t0,\t0,\t0,\n};\n\n\tvoid\nBX_CPU_C::load_seg_reg(bx_segment_reg_t *seg, Bit16u new_value)\n{\n#if BX_CPU_LEVEL >= 2\n\tif (protected_mode())\n\t{\n\t\tif (seg == &BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_SS])\n\t\t{\n\t\t\tBit16u index;\n\t\t\tBit8u ti;\n\t\t\tBit8u rpl;\n\t\t\tbx_descriptor_t descriptor;\n\t\t\tBit32u dword1, dword2;\n\n\t\t\tif ((new_value & 0xfffc) == 0)\n\t\t\t{ /* null selector */\n\t\t\t\tBX_PANIC((\"load_seg_reg: SS: new_value == 0\"));\n\t\t\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tindex = new_value >> 3;\n\t\t\tti = (new_value >> 2) & 0x01;\n\t\t\trpl = (new_value & 0x03);\n\t\t\t/* examine AR byte of destination selector for legal values: */\n\n\t\t\tif (ti == 0)\n\t\t\t{ /* GDT */\n\t\t\t\tif ((index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit)\n\t\t\t\t{\n\t\t\t\t\tBX_PANIC((\"load_seg_reg: GDT: %s: index(%04x*8+7) > limit(%06x)\",\n\t\t\t\t\tBX_CPU_THIS_PTR strseg(seg), (unsigned) index, (unsigned) BX_CPU_THIS_PTR gdtr.limit));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8,     4, 0,\n\t\t\t\t\tBX_READ, &dword1);\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_READ, &dword2);\n\t\t\t}\n\t\t\telse\n\t\t\t{ /* LDT */\n\t\t\t\tif (BX_CPU_THIS_PTR ldtr.cache.valid==0)\n\t\t\t\t{ /* ??? */\n\t\t\t\t\tBX_ERROR((\"load_seg_reg: LDT invalid\"));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ((index*8 + 7) > BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit)\n\t\t\t\t{\n\t\t\t\t\tBX_ERROR((\"load_seg_reg ss: LDT: index > limit\"));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8,     4, 0,\n\t\t\t\t\tBX_READ, &dword1);\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_READ, &dword2);\n\t\t\t}\n\n\t\t\t/* selector's RPL must = CPL, else #GP(selector) */\n\t\t\tif (rpl != CPL)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg(): rpl != CPL\"));\n\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tparse_descriptor(dword1, dword2, &descriptor);\n\n\t\t\t/* AR byte must indicate a writable data segment else #GP(selector) */\n\t\t\tif (AR_BYTE_READWRITE[descriptor.AR_byte&0x1f]==0)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg(): not writable data segment\"));\n\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\t/* DPL in the AR byte must equal CPL else #GP(selector) */\n\t\t\tif (descriptor.dpl != CPL)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg(): dpl != CPL\"));\n\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t}\n\n\t\t\t/* segment must be marked PRESENT else #SS(selector) */\n\t\t\tif (descriptor.p == 0)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg(): not present\"));\n\t\t\t\texception(BX_SS_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t}\t\n\n\t\t\t/* load SS with selector, load SS cache with descriptor */\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value        = new_value;\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.index        = index;\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.ti           = ti;\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl          = rpl;\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache = descriptor;\n\t\t\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid           = 1;\n\n\t\t\t/* now set accessed bit in descriptor */\n\t\t\tdword2 |= 0x0100;\n\t\t\tif (ti == 0)\n\t\t\t{ /* GDT */\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_WRITE, &dword2);\n\t\t\t}\n\t\t\telse\n\t\t\t{ /* LDT */\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_WRITE, &dword2);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBit16u index;\n\t\t\tBit8u ti;\n\t\t\tBit8u rpl;\n\t\t\tbx_descriptor_t descriptor;\n\t\t\tBit32u dword1, dword2;\n\n\t\t\tif ((new_value & 0xfffc) == 0)\n\t\t\t{ /* null selector */\n\t\t\t\tseg->selector.index = 0;\n\t\t\t\tseg->selector.ti = 0;\n\t\t\t\tseg->selector.rpl = 0;\n\t\t\t\tseg->selector.value = 0;\n\t\t\t\tseg->cache.valid = 0; /* invalidate null selector */\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tindex = new_value >> 3;\n\t\t\tti = (new_value >> 2) & 0x01;\n\t\t\trpl = (new_value & 0x03);\n\n\t\t\t/* selector index must be within descriptor limits, else #GP(selector) */\n\n\t\t\tif (ti == 0)\n\t\t\t{ /* GDT */\n\t\t\t\tif ((index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit)\n\t\t\t\t{\n\t\t\t\t\tBX_ERROR((\"load_seg_reg: GDT: %s: index(%04x) > limit(%06x)\",\n\t\t\t\t\tBX_CPU_THIS_PTR strseg(seg), (unsigned) index, (unsigned) BX_CPU_THIS_PTR gdtr.limit));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8,     4, 0,\n\t\t\t\t\tBX_READ, &dword1);\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_READ, &dword2);\n\t\t\t}\n\t\t\telse\n\t\t\t{ /* LDT */\n\t\t\t\tif (BX_CPU_THIS_PTR ldtr.cache.valid==0)\n\t\t\t\t{\n\t\t\t\t\tBX_ERROR((\"load_seg_reg: LDT invalid\"));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ((index*8 + 7) > BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit)\n\t\t\t\t{\n\t\t\t\t\tBX_ERROR((\"load_seg_reg ds,es: LDT: index > limit\"));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8,     4, 0,\n\t\t\t\t\tBX_READ, &dword1);\n\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8 + 4, 4, 0,\n\t\t\t\t\tBX_READ, &dword2);\n\t\t\t}\n\n\t\t\tparse_descriptor(dword1, dword2, &descriptor);\n\n\t\t\t/* AR byte must indicate data or readable code segment else #GP(selector) */\n\t\t\tif (AR_BYTE_READ[descriptor.AR_byte&0x1f]==0)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg(): not data or readable code\"));\n\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* If data or non-conforming code, then both the RPL and the CPL\n\t\t\t * must be less than or equal to DPL in AR byte else #GP(selector) */\n\t\t\tif ((descriptor.AR_byte&0x0c)!=0x0c)\n\t\t\t{\n\t\t\t\tif ((rpl > descriptor.dpl) || (CPL > descriptor.dpl))\n\t\t\t\t{\n\t\t\t\t\tBX_ERROR((\"load_seg_reg: RPL & CPL must be <= DPL\"));\n\t\t\t\t\texception(BX_GP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/* segment must be marked PRESENT else #NP(selector) */\n\t\t\tif (descriptor.p == 0)\n\t\t\t{\n\t\t\t\tBX_ERROR((\"load_seg_reg: segment not present\"));\n\t\t\t\texception(BX_NP_EXCEPTION, new_value & 0xfffc, 0);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t/* load segment register with selector */\n\t\t\t/* load segment register-cache with descriptor */\n\t\t\tseg->selector.value        = new_value;\n\t\t\tseg->selector.index        = index;\n\t\t\tseg->selector.ti           = ti;\n\t\t\tseg->selector.rpl          = rpl;\n\t\t\tseg->cache = descriptor;\n\t\t\tseg->cache.valid             = 1;\n\n\t\t\t/* now set accessed bit in descriptor                   */\n\t\t\t/* wmr: don't bother if it's already set (thus allowing */ \n\t\t\t/* GDT to be in read-only pages like real hdwe does)    */\n\n\t\t\tif (!(dword2 & 0x0100))\n\t\t\t{\n\t\t\t\tdword2 |= 0x0100;\n\t\t\t\tif (ti == 0)\n\t\t\t\t{ /* GDT */\n\t\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + index*8 + 4, 4, 0,\n\t\t\t\t\t\tBX_WRITE, &dword2);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{ /* LDT */\n\t\t\t\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + index*8 + 4, 4, 0,\n\t\t\t\t\t\tBX_WRITE, &dword2);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n    }\n\telse\n\t{\n\t\t// real mode and vm86 mode\n\t\t// seg->limit = ; ??? different behaviours depening on seg reg.\n\t\t// something about honoring previous values\n\n\t\t// ??? don't need to set all these fields\n\t\tif (seg == &BX_CPU_THIS_PTR program_visible_sregs[BX_SREG_CS])\n\t\t{\n\t\t\tseg->cache.AR_byte = 0x93;\n\t\t\tseg->cache.type = 3;\n\t\t\tseg->cache.u.segment.c_ed = 0;\n\t\t}\n\n\t\tseg->selector.value = new_value;\n\t\tseg->cache.u.segment.base = new_value << 4;\n\t}\n\n#else /* 8086 */\n\n\tseg->selector.value = new_value;\n\tseg->cache.u.segment.base = new_value << 4;\n\n#endif\n#if BX_SupportICache\n  BX_CPU_THIS_PTR iCache.fetchModeMask =\n      BX_CPU_THIS_PTR iCache.createFetchModeMask(BX_CPU_THIS);\n#endif\n}\n\n#if BX_CPU_LEVEL >= 2\n\tvoid\nBX_CPU_C::parse_selector(Bit16u raw_selector, bx_selector_t *selector)\n{\n\tselector->value  = raw_selector;\n\tselector->index  = raw_selector >> 3;\n\tselector->ti     = (raw_selector >> 2) & 0x01;\n\tselector->rpl    = raw_selector & 0x03;\n}\n#endif\n\n\tvoid\nBX_CPU_C::parse_descriptor(Bit32u dword1, Bit32u dword2, bx_descriptor_t *temp)\n{\n\tBit8u AR_byte;\n\n\ttemp->AR_byte  = dword2 >> 8;\n\tAR_byte        = dword2 >> 8;\n\ttemp->p        = (AR_byte >> 7) & 0x01;\n\ttemp->dpl      = (AR_byte >> 5) & 0x03;\n\ttemp->segment  = (AR_byte >> 4) & 0x01;\n\ttemp->type     = (AR_byte & 0x0f);\n\ttemp->valid    = 0; /* start out invalid */\n\n\tif (temp->segment)\n\t{ /* data/code segment descriptors */\n\t\ttemp->u.segment.executable = (AR_byte >> 3) & 0x01;\n\t\ttemp->u.segment.c_ed       = (AR_byte >> 2) & 0x01;\n\t\ttemp->u.segment.r_w        = (AR_byte >> 1) & 0x01;\n\t\ttemp->u.segment.a          = (AR_byte >> 0) & 0x01;\n\t\ttemp->u.segment.limit      = (dword1 & 0xffff);\n\t    temp->u.segment.base       = (dword1 >> 16) |\n\t\t\t\t\t\t\t\t\t\t((dword2 & 0xFF) << 16);\n\n#if BX_CPU_LEVEL >= 3\n\t\ttemp->u.segment.limit        |= (dword2 & 0x000F0000);\n\t\ttemp->u.segment.g            =  (dword2 & 0x00800000) > 0;\n\t\ttemp->u.segment.d_b          =  (dword2 & 0x00400000) > 0;\n\t\ttemp->u.segment.avl          =  (dword2 & 0x00100000) > 0;\n\t\ttemp->u.segment.base         |= (dword2 & 0xFF000000);\n\n\t\tif (temp->u.segment.g)\n\t\t{\n\t\t\tif ( (temp->u.segment.executable==0) && (temp->u.segment.c_ed) )\n\t\t\t\ttemp->u.segment.limit_scaled = (temp->u.segment.limit << 12);\n\t\t\telse\n\t\t\t\ttemp->u.segment.limit_scaled = (temp->u.segment.limit << 12) | 0x0fff;\n\t\t}\n\t\telse\n#endif\n\t\t\ttemp->u.segment.limit_scaled = temp->u.segment.limit;\n\t    temp->valid    = 1;\n\t}\n\telse\n\t{\t// system & gate segment descriptors\n\t\tswitch ( temp->type )\n\t\t{\n\t\tcase  0: // reserved\n\t\tcase  8: // reserved\n\t\tcase 10: // reserved\n\t\tcase 13: // reserved\n\t\t\ttemp->valid    = 0;\n\t\t\tbreak;\n\t\tcase 1: // 286 TSS (available)\n\t\tcase 3: // 286 TSS (busy)\n\t\t\ttemp->u.tss286.base  = (dword1 >> 16) |\n\t\t\t\t((dword2 & 0xff) << 16);\n\t\t\ttemp->u.tss286.limit = (dword1 & 0xffff);\n\t\t\ttemp->valid    = 1;\n\t        break;\n\n\t\tcase 2: // LDT descriptor\n\t\t\ttemp->u.ldt.base = (dword1 >> 16) |\n                           ((dword2 & 0xFF) << 16);\n#if BX_CPU_LEVEL >= 3\n\t\t\ttemp->u.ldt.base |= (dword2 & 0xff000000);\n#endif\n\t\t\ttemp->u.ldt.limit = (dword1 & 0xffff);\n\t\t\ttemp->valid    = 1;\n\t\t\tbreak;\n\t\tcase 4: // 286 call gate\n\t\tcase 6: // 286 interrupt gate\n\t\tcase 7: // 286 trap gate\n\t\t\t/* word count only used for call gate */\n\t\t\ttemp->u.gate286.word_count = dword2 & 0x1f;\n\t\t\ttemp->u.gate286.dest_selector = dword1 >> 16;;\n\t\t\ttemp->u.gate286.dest_offset   = dword1 & 0xffff;\n\t\t\ttemp->valid = 1;\n\t\t\tbreak;\n\t\tcase 5: // 286/386 task gate\n\t\t\ttemp->u.taskgate.tss_selector = dword1 >> 16;;\n\t\t\ttemp->valid = 1;\n\t\t\tbreak;\n\n#if BX_CPU_LEVEL >= 3\n\t\tcase 9:  // 386 TSS (available)\n\t\tcase 11: // 386 TSS (busy)\n\t        temp->u.tss386.base  = (dword1 >> 16) |\n                               ((dword2 & 0xff) << 16) |\n                               (dword2 & 0xff000000);\n\t        temp->u.tss386.limit = (dword1 & 0x0000ffff) |\n\t\t                           (dword2 & 0x000f0000);\n\t\t\ttemp->u.tss386.g     = (dword2 & 0x00800000) > 0;\n\t\t\ttemp->u.tss386.avl   = (dword2 & 0x00100000) > 0;\n\t\t\tif (temp->u.tss386.g)\n\t\t\t\ttemp->u.tss386.limit_scaled = (temp->u.tss386.limit << 12) | 0x0fff;\n\t\t\telse\n\t\t\t\ttemp->u.tss386.limit_scaled = temp->u.tss386.limit;\n\t\t\ttemp->valid = 1;\n\t\t\tbreak;\n\n\t\tcase 12: // 386 call gate\n\t\tcase 14: // 386 interrupt gate\n\t\tcase 15: // 386 trap gate\n        // word count only used for call gate\n\t\t\ttemp->u.gate386.dword_count   = dword2 & 0x1f;\n\t\t\ttemp->u.gate386.dest_selector = dword1 >> 16;;\n\t\t\ttemp->u.gate386.dest_offset   = (dword2 & 0xffff0000) |\n\t\t\t\t                            (dword1 & 0x0000ffff);\n\t\t\ttemp->valid = 1;\n\t\t\tbreak;\n#endif\n\t\tdefault: BX_PANIC((\"parse_descriptor(): case %d unfinished\",\n                 (unsigned) temp->type));\n\t\t\ttemp->valid    = 0;\n\t\t}\n\t}\n}\n\n  void\nBX_CPU_C::load_ldtr(bx_selector_t *selector, bx_descriptor_t *descriptor)\n{\n\t/* check for null selector, if so invalidate LDTR */\n\tif ( (selector->value & 0xfffc)==0 )\n\t{\n\t\tBX_CPU_THIS_PTR ldtr.selector = *selector;\n\t\tBX_CPU_THIS_PTR ldtr.cache.valid = 0;\n\t\treturn;\n    }\n\n\tif (!descriptor)\n\t\tBX_PANIC((\"load_ldtr(): descriptor == NULL!\"));\n\n\tBX_CPU_THIS_PTR ldtr.cache = *descriptor; /* whole structure copy */\n\tBX_CPU_THIS_PTR ldtr.selector = *selector;\n\n\tif (BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit < 7)\n\t{\n\t\tBX_PANIC((\"load_ldtr(): ldtr.limit < 7\"));\n    }\n\n\tBX_CPU_THIS_PTR ldtr.cache.valid = 1;\n}\n\n\tvoid\nBX_CPU_C::load_cs(bx_selector_t *selector, bx_descriptor_t *descriptor,\n           Bit8u cpl)\n{\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector     = *selector;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache        = *descriptor;\n\n\t/* caller may request different CPL then in selector */\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl = cpl;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid = 1; /* ??? */\n\t// (BW) Added cpl to the selector value.\n\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value =\n\t    (0xfffc & BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value) | cpl;\n\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.cpl__3 = (cpl==3);\n#if BX_SupportICache\n  BX_CPU_THIS_PTR iCache.fetchModeMask =\n      BX_CPU_THIS_PTR iCache.createFetchModeMask(BX_CPU_THIS);\n#endif\n}\n\n\tvoid\nBX_CPU_C::load_ss(bx_selector_t *selector, bx_descriptor_t *descriptor, Bit8u cpl)\n{\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector = *selector;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache = *descriptor;\n\tBX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl = cpl;\n\n\tif ( (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value & 0xfffc) == 0 )\n\t\tBX_PANIC((\"load_ss(): null selector passed\"));\n\n\tif ( !BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid )\n\t{\n\t\tBX_PANIC((\"load_ss(): invalid selector/descriptor passed.\"));\n\t}\n}\n\n\n\n#if BX_CPU_LEVEL >= 2\n\tvoid\nBX_CPU_C::fetch_raw_descriptor(bx_selector_t *selector,\n                        Bit32u *dword1, Bit32u *dword2, Bit8u exception_no)\n{\n\tif (selector->ti == 0)\n\t{ /* GDT */\n\t\tif ((selector->index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit)\n\t\t{\nBX_INFO((\"-----------------------------------\"));\nBX_INFO((\"selector->index*8 + 7 = %u\", (unsigned) selector->index*8 + 7));\nBX_INFO((\"gdtr.limit = %u\", (unsigned) BX_CPU_THIS_PTR gdtr.limit));\nBX_INFO((\"fetch_raw_descriptor: GDT: index > limit\"));\ndebug(BX_CPU_THIS_PTR prev_eip);\nBX_INFO((\"-----------------------------------\"));\n\t\t\texception(exception_no, selector->value & 0xfffc, 0);\n\t\t\treturn;\n\t\t}\n\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + selector->index*8,     4, 0,\n\t\t\tBX_READ, dword1);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + selector->index*8 + 4, 4, 0,\n\t\t\tBX_READ, dword2);\n    }\n\telse\n\t{ /* LDT */\n\t\tif (BX_CPU_THIS_PTR ldtr.cache.valid==0)\n\t\t{\n\t\t\tBX_PANIC((\"fetch_raw_descriptor: LDTR.valid=0\"));\n\t\t\texception(exception_no, selector->value & 0xfffc, 0);\n\t\t\treturn;\n\t\t}\n\t\tif ((selector->index*8 + 7) > BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit)\n\t\t{\n\t\t\tBX_PANIC((\"fetch_raw_descriptor: LDT: index > limit\"));\n\t\t\texception(exception_no, selector->value & 0xfffc, 0);\n\t\t\treturn;\n\t\t}\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + selector->index*8,     4, 0,\n\t\t\tBX_READ, dword1);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + selector->index*8 + 4, 4, 0,\n\t\t\tBX_READ, dword2);\n    }\n}\n#endif\n\n\tBoolean\nBX_CPU_C::fetch_raw_descriptor2(bx_selector_t *selector,\n                        Bit32u *dword1, Bit32u *dword2)\n{\n\tif (selector->ti == 0)\n\t{ /* GDT */\n\t\tif ((selector->index*8 + 7) > BX_CPU_THIS_PTR gdtr.limit)\n\t\t\treturn(0);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + selector->index*8,     4, 0,\n\t\t\tBX_READ, dword1);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + selector->index*8 + 4, 4, 0,\n\t\t\tBX_READ, dword2);\n\t\treturn(1);\n\t}\n\telse\n\t{ /* LDT */\n\t\tif (BX_CPU_THIS_PTR ldtr.cache.valid==0)\n\t\t\treturn(0);\n\t\tif ((selector->index*8 + 7) > BX_CPU_THIS_PTR ldtr.cache.u.ldt.limit)\n\t\t\treturn(0);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + selector->index*8,     4, 0,\n\t\t\tBX_READ, dword1);\n\t\tBX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR ldtr.cache.u.ldt.base + selector->index*8 + 4, 4, 0,\n\t\t\tBX_READ, dword2);\n\t\treturn(1);\n    }\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/shift.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: shift.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  λָ\n//---------------------------------------------------------\n\n\n// shift dst(r/m), src(i8/1/cl)\n// src <-- i8\t| b1: 0xc0/0xc1\n// src <-- 1    | b1: 0xd0/0xd1\n// src <-- cl   | b1: 0xd2/0xd3\n// shift double dst(r/m),src(r),  src(i8/cl)\n// src <-- i8\t| b1: 0x1a4\n// src <-- cl   | b1: 0x1a5\n\n\n\tvoid\nBX_CPU_C::ROL_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Eb[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Ew[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Ed[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Eb[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Eb[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ew[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Ew[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ed[count].count;\n\ti->execute = BxOpcodeShiftTableG_SA__Ed[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftL_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftR_EG;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftL_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEwGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEdGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = IMMEDIATEIb(i)&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\ti->execute = BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftR_EE;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(i->execute, (icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Eb[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Ew[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Ed[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROL_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Eb[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ew[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::ROR_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RO__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RO__Ed[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCL_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Eb[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ew[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::RCR_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_RC__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_RC__Ed[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHL_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Eb[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ew[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHR_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH__Ed[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEbCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Eb[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Eb[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ew[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Ew[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SAR_EEdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SA__Ed[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SA__Ed[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGwGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGdGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftL_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGwGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGdGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftR_EG,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEwGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEdGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftL_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEwGwCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EwGw[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EwGw[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEdGdCL(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tcount = RW_CL&0x1f;\n\tIMMEDIATEIb(i) = count;\n\ti->Word.shift = BxOpcodeShiftTableG_SH_D_EdGd[count].count;\n\t//call method on BX_CPU_C object\n\tBX_CPU_CALL_METHOD(BxOpcodeShiftTableG_SH_D_EdGd[count].shift_fun->shiftR_EE,(icpu,i));\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/shift_pr.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: shift_pro.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  λָ\n//---------------------------------------------------------\n\n\n// shift dst(r/m), src(i8/1/cl)\n// src <-- i8\t| b1: 0xc0/0xc1\n// src <-- 1    | b1: 0xd0/0xd1\n// src <-- cl   | b1: 0xd2/0xd3\n// shift double dst(r/m),src(r),  src(i8/cl)\n// src <-- i8\t| b1: 0x1a4\n// src <-- cl   | b1: 0x1a5\n\n\n\tvoid\nBX_CPU_C::ROL_EGb_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n}\n\n\tvoid\nBX_CPU_C::ROL_EGw_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n}\n\n\tvoid\nBX_CPU_C::ROL_EGd_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n}\n\n\tvoid\nBX_CPU_C::ROL_EEb_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op);\n}\n\n\tvoid\nBX_CPU_C::ROL_EEw_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op);\n}\n\n\tvoid\nBX_CPU_C::ROL_EEd_0( BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op);\n}\n\n\tvoid\nBX_CPU_C::ROL_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (op1 >> (8-1));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_ROL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (op1 >> (16-1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_ROL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (op1 >> (32-1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_ROL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (op1 << (8-1));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_ROR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (op1 << (16-1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_ROR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (op1 << (32-1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_ROR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_RCL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_RCL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_RCL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (8 - 1));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_RCR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (16 - 1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_RCR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (32 - 1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_RCR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << 1);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(8-1))) << (8 - 1));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(16-1))) << (16 - 1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(32-1))) << (32 - 1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> (8-count));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_ROL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> (16-count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_ROL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> (32-count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_ROL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << (8-count));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_ROR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << (16-count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_ROR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << (32-count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_ROR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> ((8+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_RCL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> ((16+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_RCL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count) | (op1 >> ((32+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_RCL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << ((8+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (8 - count));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_RCR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << ((16+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (16 - count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_RCR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) | (op1 << ((32+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (32 - count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_RCR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 << count);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count);\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count);\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count);\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_8BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(8-1))) << (8 - count));\n\tWRITE_VIRTUAL_8BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(16-1))) << (16 - count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(32-1))) << (32 - count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGwGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << 1) | (op2 >> (16 - 1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHLD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGdGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << 1) | (op2 >> (32 - 1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHLD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGwGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> 1) | (op2 << (16 - 1));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHRD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGdGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> 1) | (op2 << (32 - 1));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHRD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGwGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << count) | (op2 >> (16 - count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHLD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EGdGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << count) | (op2 >> (32 - count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHLD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGwGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> count) | (op2 << (16 - count));\n\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHRD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EGdGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\top1 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> count) | (op2 << (32 - count));\n\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i),result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHRD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (op1 >> (8-1));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_ROL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (op1 >> (16-1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_ROL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (op1 >> (32-1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_ROL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (op1 << (8-1));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_ROR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (op1 << (16-1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_ROR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (op1 << (32-1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_ROR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_RCL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_RCL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1) | (BX_CPU_CLASS_PTR get_CF());\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_RCL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (8 - 1));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_8(op1,i->Word.shift,result,BX_INSTR_RCR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (16 - 1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_16(op1,i->Word.shift,result,BX_INSTR_RCR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) | (BX_CPU_CLASS_PTR get_CF() << (32 - 1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OC_32(op1,i->Word.shift,result,BX_INSTR_RCR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1);\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1);\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << 1);\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1);\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1);\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1);\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEb_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(8-1))) << (8 - 1));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(16-1))) << (16 - 1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> 1) |\n\t\t((0-(op1>>(32-1))) << (32 - 1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> (8-count));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_ROL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> (16-count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_ROL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROL_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> (32-count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_ROL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << (8-count));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_ROR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << (16-count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_ROR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::ROR_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << (32-count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_ROR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tROR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> ((8+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_RCL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> ((16+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_RCL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCL_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count) | (op1 >> ((32+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (count - 1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_RCL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << ((8+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (8 - count));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_8(op1,i->Word.shift,result,BX_INSTR_RCR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << ((16+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (16 - count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_16(op1,i->Word.shift,result,BX_INSTR_RCR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::RCR_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) | (op1 << ((32+1) - count)) |\n\t\t(BX_CPU_CLASS_PTR get_CF() << (32 - count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XC_32(op1,i->Word.shift,result,BX_INSTR_RCR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tRCR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count);\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count);\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHL_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 << count);\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHL32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHL op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count);\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count);\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHR_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count);\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SHR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSHR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEb_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit8u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_BYTE(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(8-1))) << (8 - count));\n\tWRITE_RMW_VIRTUAL_BYTE(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_8(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR8)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(16-1))) << (16 - count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_16(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SAR_EEd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\tresult = (op1 >> count) |\n\t\t((0-(op1>>(32-1))) << (32 - count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_XSZPC_32(op1,IMMEDIATEIb(i),result,BX_INSTR_SAR32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tSAR op1,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEwGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << 1) | (op2 >> (16 - 1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHLD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEdGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << 1) | (op2 >> (32 - 1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHLD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEwGw_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> 1) | (op2 << (16 - 1));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHRD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEdGd_1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> 1) | (op2 << (32 - 1));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_OSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHRD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEwGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << count) | (op2 >> (16 - count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHLD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHLD_EEdGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 << count) | (op2 >> (32 - count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHLD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHLD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEwGw_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit16u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_WORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> count) | (op2 << (16 - count));\n\tWRITE_RMW_VIRTUAL_WORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_16(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD16)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov dx,op2\n\t\tSHRD op1,dx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SHRD_EEdGd_n(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u count;\n\tBit32u op1,op2,result;\n\tcount = i->Word.shift;\n\tREAD_RMW_VIRTUAL_DWORD(MODRMSeg(i),RMAddr(i),&op1);\n\n\top2 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n\tresult = (op1 >> count) | (op2 << (32 - count));\n\tWRITE_RMW_VIRTUAL_DWORD(result);\n#if (HOST_CPU_IS_I80386==0)\n\tSET3_FLAGS_XSZPC_32(op1,op2,IMMEDIATEIb(i),result,BX_INSTR_SHRD32)\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags = BX_CPU_CLASS_PTR eflags.x86.eax;\n\tcount = IMMEDIATEIb(i);\n\t__asm\n\t{\n\t\tmov eax,x86_lf_flags\n\t\tcmp al,0x81\n\t\tsahf\n\t\tmov cl,count\n\t\tmov edx,op2\n\t\tSHRD op1,edx,cl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RO__Eb[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EEb_0,\t&BX_CPU_C::ROL_EEb_0 },\n\t/*  1 */ {&BX_CPU_C::ROL_EGb_1,\t&BX_CPU_C::ROR_EGb_1, &BX_CPU_C::ROL_EEb_1,\t&BX_CPU_C::ROR_EEb_1 },\n\t/*  2 */ {&BX_CPU_C::ROL_EGb_n,\t&BX_CPU_C::ROR_EGb_n, &BX_CPU_C::ROL_EEb_n,\t&BX_CPU_C::ROR_EEb_n },\n\t/*  3 */ {&BX_CPU_C::ROL_EGb_n,\t&BX_CPU_C::ROR_EGb_n, &BX_CPU_C::ROL_EEb_n,\t&BX_CPU_C::ROR_EEb_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Eb[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RO__Eb[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RO__Eb[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RO__Eb[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  8 */  {  0, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  9 */  {  1, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  a */  {  2, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  b */  {  3, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  c */  {  4, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  d */  {  5, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  e */  {  6, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/*  f */  {  7, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 10 */  {  0, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 11 */  {  1, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 12 */  {  2, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 13 */  {  3, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 14 */  {  4, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 15 */  {  5, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 16 */  {  6, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 17 */  {  7, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 18 */  {  0, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 19 */  {  1, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1a */  {  2, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1b */  {  3, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1c */  {  4, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1d */  {  5, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1e */  {  6, &BxOpcodeShiftFunG_RO__Eb[ 3] },\n\t/* 1f */  {  7, &BxOpcodeShiftFunG_RO__Eb[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RO__Ew[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EEw_0,\t&BX_CPU_C::ROL_EEw_0 },\n\t/*  1 */ {&BX_CPU_C::ROL_EGw_1,\t&BX_CPU_C::ROR_EGw_1, &BX_CPU_C::ROL_EEw_1,\t&BX_CPU_C::ROR_EEw_1 },\n\t/*  2 */ {&BX_CPU_C::ROL_EGw_n,\t&BX_CPU_C::ROR_EGw_n, &BX_CPU_C::ROL_EEw_n,\t&BX_CPU_C::ROR_EEw_n },\n\t/*  3 */ {&BX_CPU_C::ROL_EGw_n,\t&BX_CPU_C::ROR_EGw_n, &BX_CPU_C::ROL_EEw_n,\t&BX_CPU_C::ROR_EEw_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Ew[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RO__Ew[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RO__Ew[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RO__Ew[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 10 */  {  0, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 11 */  {  1, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 12 */  {  2, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 13 */  {  3, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 14 */  {  4, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 15 */  {  5, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 16 */  {  6, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 17 */  {  7, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 18 */  {  8, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 19 */  {  9, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1a */  { 10, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1b */  { 11, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1c */  { 12, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1d */  { 13, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1e */  { 14, &BxOpcodeShiftFunG_RO__Ew[ 3] },\n\t/* 1f */  { 15, &BxOpcodeShiftFunG_RO__Ew[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RO__Ed[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EEd_0,\t&BX_CPU_C::ROL_EEd_0 },\n\t/*  1 */ {&BX_CPU_C::ROL_EGd_1,\t&BX_CPU_C::ROR_EGd_1, &BX_CPU_C::ROL_EEd_1,\t&BX_CPU_C::ROR_EEd_1 },\n\t/*  2 */ {&BX_CPU_C::ROL_EGd_n,\t&BX_CPU_C::ROR_EGd_n, &BX_CPU_C::ROL_EEd_n,\t&BX_CPU_C::ROR_EEd_n },\n\t/*  3 */ {&BX_CPU_C::ROL_EGd_n,\t&BX_CPU_C::ROR_EGd_n, &BX_CPU_C::ROL_EEd_n,\t&BX_CPU_C::ROR_EEd_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RO__Ed[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RO__Ed[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RO__Ed[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RO__Ed[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_RO__Ed[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_RO__Ed[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RC__Eb[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EEb_0,\t&BX_CPU_C::ROL_EEb_0 },\n\t/*  1 */ {&BX_CPU_C::RCL_EGb_1,\t&BX_CPU_C::RCR_EGb_1, &BX_CPU_C::RCL_EEb_1,\t&BX_CPU_C::RCR_EEb_1 },\n\t/*  2 */ {&BX_CPU_C::RCL_EGb_n,\t&BX_CPU_C::RCR_EGb_n, &BX_CPU_C::RCL_EEb_n,\t&BX_CPU_C::RCR_EEb_n },\n\t/*  3 */ {&BX_CPU_C::RCL_EGb_n,\t&BX_CPU_C::RCR_EGb_n, &BX_CPU_C::RCL_EEb_n,\t&BX_CPU_C::RCR_EEb_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Eb[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RC__Eb[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RC__Eb[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RC__Eb[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  9 */  {  0, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  a */  {  1, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  b */  {  2, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  c */  {  3, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  d */  {  4, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  e */  {  5, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/*  f */  {  6, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 10 */  {  7, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 11 */  {  8, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 12 */  {  0, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 13 */  {  1, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 14 */  {  2, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 15 */  {  3, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 16 */  {  4, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 17 */  {  5, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 18 */  {  6, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 19 */  {  7, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1a */  {  8, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1b */  {  0, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1c */  {  1, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1d */  {  2, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1e */  {  3, &BxOpcodeShiftFunG_RC__Eb[ 3] },\n\t/* 1f */  {  4, &BxOpcodeShiftFunG_RC__Eb[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RC__Ew[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EEw_0,\t&BX_CPU_C::ROL_EEw_0 },\n\t/*  1 */ {&BX_CPU_C::RCL_EGw_1,\t&BX_CPU_C::RCR_EGw_1, &BX_CPU_C::RCL_EEw_1,\t&BX_CPU_C::RCR_EEw_1 },\n\t/*  2 */ {&BX_CPU_C::RCL_EGw_n,\t&BX_CPU_C::RCR_EGw_n, &BX_CPU_C::RCL_EEw_n,\t&BX_CPU_C::RCR_EEw_n },\n\t/*  3 */ {&BX_CPU_C::RCL_EGw_n,\t&BX_CPU_C::RCR_EGw_n, &BX_CPU_C::RCL_EEw_n,\t&BX_CPU_C::RCR_EEw_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Ew[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RC__Ew[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RC__Ew[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RC__Ew[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 11 */  {  0, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 12 */  {  1, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 13 */  {  2, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 14 */  {  3, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 15 */  {  4, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 16 */  {  5, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 17 */  {  6, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 18 */  {  7, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 19 */  {  8, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1a */  {  9, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1b */  { 10, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1c */  { 11, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1d */  { 12, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1e */  { 13, &BxOpcodeShiftFunG_RC__Ew[ 3] },\n\t/* 1f */  { 14, &BxOpcodeShiftFunG_RC__Ew[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_RC__Ed[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EEd_0,\t&BX_CPU_C::ROL_EEd_0 },\n\t/*  1 */ {&BX_CPU_C::RCL_EGd_1,\t&BX_CPU_C::RCR_EGd_1, &BX_CPU_C::RCL_EEd_1,\t&BX_CPU_C::RCR_EEd_1 },\n\t/*  2 */ {&BX_CPU_C::RCL_EGd_n,\t&BX_CPU_C::RCR_EGd_n, &BX_CPU_C::RCL_EEd_n,\t&BX_CPU_C::RCR_EEd_n },\n\t/*  3 */ {&BX_CPU_C::RCL_EGd_n,\t&BX_CPU_C::RCR_EGd_n, &BX_CPU_C::RCL_EEd_n,\t&BX_CPU_C::RCR_EEd_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_RC__Ed[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_RC__Ed[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_RC__Ed[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_RC__Ed[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_RC__Ed[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_RC__Ed[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SH__Eb[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EEb_0,\t&BX_CPU_C::ROL_EEb_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGb_1,\t&BX_CPU_C::SHR_EGb_1, &BX_CPU_C::SHL_EEb_1,\t&BX_CPU_C::SHR_EEb_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGb_n,\t&BX_CPU_C::SHR_EGb_n, &BX_CPU_C::SHL_EEb_n,\t&BX_CPU_C::SHR_EEb_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGb_n,\t&BX_CPU_C::SHR_EGb_n, &BX_CPU_C::SHL_EEb_n,\t&BX_CPU_C::SHR_EEb_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Eb[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SH__Eb[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SH__Eb[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SH__Eb[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  9 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  a */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  b */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  c */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  d */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  e */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/*  f */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 10 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 11 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 12 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 13 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 14 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 15 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 16 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 17 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 18 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 19 */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1a */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1b */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1c */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1d */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1e */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] },\n\t/* 1f */  {  8, &BxOpcodeShiftFunG_SH__Eb[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SH__Ew[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EEw_0,\t&BX_CPU_C::ROL_EEw_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGw_1,\t&BX_CPU_C::SHR_EGw_1, &BX_CPU_C::SHL_EEw_1,\t&BX_CPU_C::SHR_EEw_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGw_n,\t&BX_CPU_C::SHR_EGw_n, &BX_CPU_C::SHL_EEw_n,\t&BX_CPU_C::SHR_EEw_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGw_n,\t&BX_CPU_C::SHR_EGw_n, &BX_CPU_C::SHL_EEw_n,\t&BX_CPU_C::SHR_EEw_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Ew[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SH__Ew[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SH__Ew[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SH__Ew[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 11 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 12 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 13 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 14 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 15 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 16 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 17 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 18 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 19 */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1a */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1b */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1c */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1d */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1e */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] },\n\t/* 1f */  { 16, &BxOpcodeShiftFunG_SH__Ew[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SH__Ed[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EEd_0,\t&BX_CPU_C::ROL_EEd_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGd_1,\t&BX_CPU_C::SHR_EGd_1, &BX_CPU_C::SHL_EEd_1,\t&BX_CPU_C::SHR_EEd_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGd_n,\t&BX_CPU_C::SHR_EGd_n, &BX_CPU_C::SHL_EEd_n,\t&BX_CPU_C::SHR_EEd_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGd_n,\t&BX_CPU_C::SHR_EGd_n, &BX_CPU_C::SHL_EEd_n,\t&BX_CPU_C::SHR_EEd_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH__Ed[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SH__Ed[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SH__Ed[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SH__Ed[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_SH__Ed[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_SH__Ed[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SA__Eb[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EGb_0,\t&BX_CPU_C::ROL_EEb_0,\t&BX_CPU_C::ROL_EEb_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGb_1,\t&BX_CPU_C::SAR_EGb_1, &BX_CPU_C::SHL_EEb_1,\t&BX_CPU_C::SAR_EEb_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGb_n,\t&BX_CPU_C::SAR_EGb_n, &BX_CPU_C::SHL_EEb_n,\t&BX_CPU_C::SAR_EEb_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGb_n,\t&BX_CPU_C::SAR_EGb_n, &BX_CPU_C::SHL_EEb_n,\t&BX_CPU_C::SAR_EEb_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Eb[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SA__Eb[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SA__Eb[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SA__Eb[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  9 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  a */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  b */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  c */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  d */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  e */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/*  f */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 10 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 11 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 12 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 13 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 14 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 15 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 16 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 17 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 18 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 19 */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1a */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1b */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1c */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1d */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1e */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] },\n\t/* 1f */  {  8, &BxOpcodeShiftFunG_SA__Eb[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SA__Ew[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EEw_0,\t&BX_CPU_C::ROL_EEw_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGw_1,\t&BX_CPU_C::SAR_EGw_1, &BX_CPU_C::SHL_EEw_1,\t&BX_CPU_C::SAR_EEw_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGw_n,\t&BX_CPU_C::SAR_EGw_n, &BX_CPU_C::SHL_EEw_n,\t&BX_CPU_C::SAR_EEw_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGw_n,\t&BX_CPU_C::SAR_EGw_n, &BX_CPU_C::SHL_EEw_n,\t&BX_CPU_C::SAR_EEw_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Ew[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SA__Ew[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SA__Ew[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SA__Ew[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 11 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 12 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 13 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 14 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 15 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 16 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 17 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 18 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 19 */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1a */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1b */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1c */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1d */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1e */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] },\n\t/* 1f */  { 16, &BxOpcodeShiftFunG_SA__Ew[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SA__Ed[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EEd_0,\t&BX_CPU_C::ROL_EEd_0 },\n\t/*  1 */ {&BX_CPU_C::SHL_EGd_1,\t&BX_CPU_C::SAR_EGd_1, &BX_CPU_C::SHL_EEd_1,\t&BX_CPU_C::SAR_EEd_1 },\n\t/*  2 */ {&BX_CPU_C::SHL_EGd_n,\t&BX_CPU_C::SAR_EGd_n, &BX_CPU_C::SHL_EEd_n,\t&BX_CPU_C::SAR_EEd_n },\n\t/*  3 */ {&BX_CPU_C::SHL_EGd_n,\t&BX_CPU_C::SAR_EGd_n, &BX_CPU_C::SHL_EEd_n,\t&BX_CPU_C::SAR_EEd_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SA__Ed[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SA__Ed[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SA__Ed[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SA__Ed[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_SA__Ed[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_SA__Ed[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SH_D_EwGw[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EGw_0,\t&BX_CPU_C::ROL_EEw_0,\t&BX_CPU_C::ROL_EEw_0 },\n\t/*  1 */ {&BX_CPU_C::SHLD_EGwGw_1,\t&BX_CPU_C::SHRD_EGwGw_1, &BX_CPU_C::SHLD_EEwGw_1,\t&BX_CPU_C::SHRD_EEwGw_1 },\n\t/*  2 */ {&BX_CPU_C::SHLD_EGwGw_n,\t&BX_CPU_C::SHRD_EGwGw_n, &BX_CPU_C::SHLD_EEwGw_n,\t&BX_CPU_C::SHRD_EEwGw_n },\n\t/*  3 */ {&BX_CPU_C::SHLD_EGwGw_n,\t&BX_CPU_C::SHRD_EGwGw_n, &BX_CPU_C::SHLD_EEwGw_n,\t&BX_CPU_C::SHRD_EEwGw_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH_D_EwGw[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SH_D_EwGw[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SH_D_EwGw[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SH_D_EwGw[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_SH_D_EwGw[ 3] } \n};\n\nconst BxOpcodeShiftFun_t BxOpcodeShiftFunG_SH_D_EdGd[4] =\n{\n\t/*  0 */  {&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EGd_0,\t&BX_CPU_C::ROL_EEd_0,\t&BX_CPU_C::ROL_EEd_0 },\n\t/*  1 */ {&BX_CPU_C::SHLD_EGdGd_1,\t&BX_CPU_C::SHRD_EGdGd_1, &BX_CPU_C::SHLD_EEdGd_1,\t&BX_CPU_C::SHRD_EEdGd_1 },\n\t/*  2 */ {&BX_CPU_C::SHLD_EGdGd_n,\t&BX_CPU_C::SHRD_EGdGd_n, &BX_CPU_C::SHLD_EEdGd_n,\t&BX_CPU_C::SHRD_EEdGd_n },\n\t/*  3 */ {&BX_CPU_C::SHLD_EGdGd_n,\t&BX_CPU_C::SHRD_EGdGd_n, &BX_CPU_C::SHLD_EEdGd_n,\t&BX_CPU_C::SHRD_EEdGd_n },\n};\n\nconst BxOpcodeShiftTable_t BxOpcodeShiftTableG_SH_D_EdGd[32] =\n{\n\t/*  0 */  {  0, &BxOpcodeShiftFunG_SH_D_EdGd[ 0] },\n\t/*  1 */  {  1, &BxOpcodeShiftFunG_SH_D_EdGd[ 1] },\n\t/*  2 */  {  2, &BxOpcodeShiftFunG_SH_D_EdGd[ 2] },\n\t/*  3 */  {  3, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  4 */  {  4, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  5 */  {  5, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  6 */  {  6, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  7 */  {  7, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  8 */  {  8, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  9 */  {  9, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  a */  { 10, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  b */  { 11, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  c */  { 12, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  d */  { 13, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  e */  { 14, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/*  f */  { 15, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 10 */  { 16, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 11 */  { 17, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 12 */  { 18, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 13 */  { 19, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 14 */  { 20, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 15 */  { 21, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 16 */  { 22, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 17 */  { 23, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 18 */  { 24, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 19 */  { 25, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1a */  { 26, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1b */  { 27, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1c */  { 28, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1d */  { 29, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1e */  { 30, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] },\n\t/* 1f */  { 31, &BxOpcodeShiftFunG_SH_D_EdGd[ 3] } \n};\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/soft_int.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: soft_int.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n\n  void\nBX_CPU_C::BOUND_GvMa(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n  BX_PANIC((\"BOUND_GvMa: not supported on 8086!\"));\n#else\n\n  if (i->modC0()) {\n    /* undefined opcode exception */\n    BX_PANIC((\"bound: op2 must be mem ref\"));\n    UndefinedOpcode(icpu,i);\n    }\n\n  if (i->size_mode.os_32) {\n    Bit32s bound_min, bound_max;\n    Bit32s op1_32;\n\n    op1_32 = READ_VIRTUAL_32BIT_REG(MODRMnnn(i));\n\n    BX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), (Bit32u *) &bound_min);\n    BX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i)+4, (Bit32u *) &bound_max);\n\n    /* ??? */\n    if ( (op1_32 < bound_min) || (op1_32 > bound_max) ) {\n      BX_INFO((\"BOUND: fails bounds test\"));\n      BX_CPU_CLASS_PTR exception(5, 0, 0);\n      }\n    }\n  else {\n    Bit16s bound_min, bound_max;\n    Bit16s op1_16;\n\n    op1_16 = READ_VIRTUAL_16BIT_REG(MODRMnnn(i));\n\n    BX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), (Bit16u *) &bound_min);\n    BX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i)+2, (Bit16u *) &bound_max);\n\n    /* ??? */\n    if ( (op1_16 < bound_min) || (op1_16 > bound_max) ) {\n      BX_INFO((\"BOUND: fails bounds test\"));\n      BX_CPU_CLASS_PTR exception(5, 0, 0);\n      }\n    }\n\n#endif\n}\n\n  void\nBX_CPU_C::INT1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  // This is an undocumented instrucion (opcode 0xf1)\n  // which is useful for an ICE system.\n\n#if BX_DEBUGGER\n  BX_CPU_CLASS_PTR show_flag |= Flag_int;\n#endif\n\n  BX_CPU_CLASS_PTR intel_interrupt(1, 1, 0, 0);\n  BX_INSTR_FAR_BRANCH(BX_INSTR_IS_INT,\n                      BX_CPU_CLASS_PTR sregs[BX_SEG_REG_CS].selector.value,\n                      BX_CPU_CLASS_PTR eip);\n}\n\n  void\nBX_CPU_C::INT3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  // INT 3 is not IOPL sensitive\n\n#if BX_DEBUGGER\n  BX_CPU_CLASS_PTR show_flag |= Flag_int;\n#endif\n\n//BX_PANIC((\"INT3: bailing\"));\n  BX_CPU_CLASS_PTR intel_interrupt(3, 1, 0, 0);\n  BX_INSTR_FAR_BRANCH(BX_INSTR_IS_INT,\n                      BX_CPU_CLASS_PTR sregs[BX_SEG_REG_CS].selector.value,\n                      BX_CPU_CLASS_PTR eip);\n}\n\n\tvoid\nBX_CPU_C::INT_Ib(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  Bit8u imm8;\n\n#if BX_DEBUGGER\n  BX_CPU_CLASS_PTR show_flag |= Flag_int;\n#endif\n\n  imm8 = IMMEDIATEIb(i);\n\n  if (BX_CPU_CLASS_PTR v8086_mode() && (RW_IOPL<3)) {\n    //BX_INFO((\"int_ib: v8086: IOPL<3\"));\n    BX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n#ifdef SHOW_EXIT_STATUS\nif ( (imm8 == 0x21) && (AH == 0x4c) ) {\n  BX_INFO((\"INT 21/4C called AL=0x%02x, BX=0x%04x\", (unsigned) AL, (unsigned) BX));\n  }\n#endif\n\n  BX_CPU_CLASS_PTR intel_interrupt(imm8, 1, 0, 0);\n  BX_INSTR_FAR_BRANCH(BX_INSTR_IS_INT,\n                      BX_CPU_CLASS_PTR sregs[BX_SEG_REG_CS].selector.value,\n                      BX_CPU_CLASS_PTR eip);\n}\n\n\n  void\nBX_CPU_C::INTO(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\n#if BX_DEBUGGER\n  BX_CPU_CLASS_PTR show_flag |= Flag_int;\n#endif\n\n  /* ??? is this IOPL sensitive ? */\n  if (BX_CPU_CLASS_PTR v8086_mode()) BX_PANIC((\"soft_int: v8086 mode unsupported\"));\n\n  if (BX_CPU_CLASS_PTR get_OF()) {\n    BX_CPU_CLASS_PTR intel_interrupt(4, 1, 0, 0);\n    BX_INSTR_FAR_BRANCH(BX_INSTR_IS_INT,\n                        BX_CPU_CLASS_PTR sregs[BX_SEG_REG_CS].selector.value,\n                        BX_CPU_CLASS_PTR eip);\n    }\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/stack16.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: stack16.cc,v 1.7 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\tvoid\nBX_CPU_C::PUSH_RX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_CPU_CLASS_PTR push_16( BX_CPU_CLASS_PTR program_visible_gen_reg[OPCODEb1(i) & 0x07].word.rx );\n}\n\n\tvoid\nBX_CPU_C::POP_RX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u rx;\n\n\tBX_CPU_CLASS_PTR pop_16(&rx);\n\tBX_CPU_CLASS_PTR program_visible_gen_reg[OPCODEb1(i) & 0x07].word.rx = rx;\n}\n\n\tvoid\nBX_CPU_C::POP_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u val16;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"POP_Ew: incomplete MODRMnnn(i) !=0\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t}\n\n\tBX_CPU_CLASS_PTR pop_16(&val16);\n\n\tif (i->modC0())\n\t{\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), val16);\n    }\n\telse\n\t{\n\t\t// Note: there is one little weirdism here.  When 32bit addressing\n\t\t// is used, it is possible to use ESP in the modrm addressing.\n\t\t// If used, the value of ESP after the pop is used to calculate\n\t\t// the address.\n\t\tif (i->size_mode.as_32&&MODRMrm(i)==4)\n\t\t{\n\t\t\t// call method on BX_CPU_C object\n\t\t\tBX_CPU_CALL_METHOD(i->ResolveModrm, (icpu,i));\n\t\t}\n\t    BX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &val16);\n    }\n}\n\n\tvoid\nBX_CPU_C::POP_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u val16;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"POP_Ew: incomplete MODRMnnn(i) !=0\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t}\n\n\tBX_CPU_CLASS_PTR pop_16(&val16);\n\n\tif (i->modC0())\n\t{\n\t\tWRITE_VIRTUAL_16BIT_REG(MODRMrm(i), val16);\n    }\n\telse\n\t{\n\t\t// Note: there is one little weirdism here.  When 32bit addressing\n\t\t// is used, it is possible to use ESP in the modrm addressing.\n\t\t// If used, the value of ESP after the pop is used to calculate\n\t\t// the address.\n\t\tif (i->size_mode.as_32&&MODRMrm(i)==4)\n\t\t{\n\t\t\t// call method on BX_CPU_C object\n\t\t\tBX_CPU_CALL_METHOD(i->ResolveModrm, (icpu,i));\n\t\t}\n\t    BX_CPU_CLASS_PTR write_virtual_word(MODRMSeg(i), RMAddr(i), &val16);\n    }\n}\n\n\tvoid\nBX_CPU_C::PUSHAD16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"PUSHAD: not supported on an 8086\"));\n#else\n\tBit32u temp_ESP;\n\tBit16u sp;\n\n\tif (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n\t\ttemp_ESP = RW_ESP;\n\telse\n\t\ttemp_ESP = RW_SP;\n\n#if BX_CPU_LEVEL >= 2\n    if (BX_CPU_CLASS_PTR protected_mode()) {\n      if ( !BX_CPU_CLASS_PTR can_push(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 16) ) {\n        BX_PANIC((\"PUSHA(): stack doesn't have enough room!\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n    else\n#endif\n      {\n      if (temp_ESP < 16)\n        BX_PANIC((\"pushad: eSP < 16\"));\n      }\n\n    sp = RW_SP;\n\n    /* ??? optimize this by using virtual write, all checks passed */\n    BX_CPU_CLASS_PTR push_16(RW_AX);\n    BX_CPU_CLASS_PTR push_16(RW_CX);\n    BX_CPU_CLASS_PTR push_16(RW_DX);\n    BX_CPU_CLASS_PTR push_16(RW_BX);\n    BX_CPU_CLASS_PTR push_16(sp);\n    BX_CPU_CLASS_PTR push_16(RW_BP);\n    BX_CPU_CLASS_PTR push_16(RW_SI);\n    BX_CPU_CLASS_PTR push_16(RW_DI);\n#endif\n}\n\n  void\nBX_CPU_C::POPAD16(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"POPAD not supported on an 8086\"));\n#else /* 286+ */\n\n    Bit16u di, si, bp, sp, bx, dx, cx, ax;\n\n    if (BX_CPU_CLASS_PTR protected_mode()) {\n      if ( !BX_CPU_CLASS_PTR can_pop(16) ) {\n        BX_PANIC((\"pop_a: not enough bytes on stack\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n\n    /* ??? optimize this */\n    BX_CPU_CLASS_PTR pop_16(&di);\n    BX_CPU_CLASS_PTR pop_16(&si);\n    BX_CPU_CLASS_PTR pop_16(&bp);\n    BX_CPU_CLASS_PTR pop_16(&sp); /* value for SP discarded */\n    BX_CPU_CLASS_PTR pop_16(&bx);\n    BX_CPU_CLASS_PTR pop_16(&dx);\n    BX_CPU_CLASS_PTR pop_16(&cx);\n    BX_CPU_CLASS_PTR pop_16(&ax);\n\n    RW_DI = di;\n    RW_SI = si;\n    RW_BP = bp;\n//  BX_SP = sp;\n    RW_BX = bx;\n    RW_DX = dx;\n    RW_CX = cx;\n    RW_AX = ax;\n#endif\n}\n\n  void\nBX_CPU_C::PUSH_Iw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"PUSH_Iv: not supported on 8086!\"));\n#else\n\n    Bit16u imm16;\n\n    imm16 = IMMEDIATEIw(i);\n\n    BX_CPU_CLASS_PTR push_16(imm16);\n#endif\n}\n\n  void\nBX_CPU_C::PUSH_EGw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n    Bit16u op1_16;\n\n\tif (i->modC0())\n\t{\n\t\top1_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\t}\n    else\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &op1_16);\n    }\n\n    BX_CPU_CLASS_PTR push_16(op1_16);\n}\n\n  void\nBX_CPU_C::PUSH_EEw(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n    Bit16u op1_16;\n\n\tif (i->modC0())\n\t{\n\t\top1_16 = READ_VIRTUAL_16BIT_REG(MODRMrm(i));\n\t}\n    else\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_word(MODRMSeg(i), RMAddr(i), &op1_16);\n    }\n\n    BX_CPU_CLASS_PTR push_16(op1_16);\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/stack32.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: stack32.cc,v 1.8 2002/03/05 15:50:17 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n\tvoid\nBX_CPU_C::POP_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u val32;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"POP_Ed: incomplete MODRMnnn(i) !=0\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t}\n\n\tBX_CPU_CLASS_PTR pop_32(&val32);\n\n\tif (i->modC0())\n\t{\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), val32);\n    }\n\telse\n\t{\n\t\t// Note: there is one little weirdism here.  When 32bit addressing\n\t\t// is used, it is possible to use ESP in the modrm addressing.\n\t\t// If used, the value of ESP after the pop is used to calculate\n\t\t// the address.\n\t\tif (i->size_mode.as_32&&MODRMrm(i)==4)\n\t\t{\n\t\t\t// call method on BX_CPU_C object\n\t\t\tBX_CPU_CALL_METHOD(i->ResolveModrm, (icpu,i));\n\t\t}\n\t\tBX_CPU_CLASS_PTR write_virtual_dword(MODRMSeg(i), RMAddr(i), &val32);\n\t}\n}\n\n\tvoid\nBX_CPU_C::POP_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u val32;\n\n\tif (MODRMnnn(i)!=0)\n\t{\n\t\tBX_PANIC((\"POP_Ed: incomplete MODRMnnn(i) !=0\"));\n\t\tBX_CPU_CLASS_PTR UndefinedOpcode(icpu,i);\n\t}\n\n\tBX_CPU_CLASS_PTR pop_32(&val32);\n\n\tif (i->modC0())\n\t{\n\t\tWRITE_VIRTUAL_32BIT_REG(MODRMrm(i), val32);\n    }\n\telse\n\t{\n\t\t// Note: there is one little weirdism here.  When 32bit addressing\n\t\t// is used, it is possible to use ESP in the modrm addressing.\n\t\t// If used, the value of ESP after the pop is used to calculate\n\t\t// the address.\n\t\tif (i->size_mode.as_32&&MODRMrm(i)==4)\n\t\t{\n\t\t\t// call method on BX_CPU_C object\n\t\t\tBX_CPU_CALL_METHOD(i->ResolveModrm, (icpu,i));\n\t\t}\n\t\tBX_CPU_CLASS_PTR write_virtual_dword(MODRMSeg(i), RMAddr(i), &val32);\n\t}\n}\n\tvoid\nBX_CPU_C::PUSH_ERX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBX_CPU_CLASS_PTR push_32(BX_CPU_CLASS_PTR program_visible_gen_reg[OPCODEb1(i) & 0x07].erx);\n}\n\n\tvoid\nBX_CPU_C::POP_ERX(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u erx;\n\n\tBX_CPU_CLASS_PTR pop_32(&erx);\n\tBX_CPU_CLASS_PTR program_visible_gen_reg[OPCODEb1(i) & 0x07].erx = erx;\n}\n\n  void\nBX_CPU_C::PUSHAD32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n  BX_PANIC((\"PUSHAD: not supported on an 8086\"));\n#else\n  Bit32u temp_ESP;\n  Bit32u esp;\n\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    temp_ESP = RW_ESP;\n  else\n    temp_ESP = RW_SP;\n\n\n    if (BX_CPU_CLASS_PTR protected_mode()) {\n      if ( !BX_CPU_CLASS_PTR can_push(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 32) ) {\n        BX_PANIC((\"PUSHAD(): stack doesn't have enough room!\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n    else {\n      if (temp_ESP < 32)\n        BX_PANIC((\"pushad: eSP < 32\"));\n      }\n\n    esp = RW_ESP;\n\n    /* ??? optimize this by using virtual write, all checks passed */\n    BX_CPU_CLASS_PTR push_32(RW_EAX);\n    BX_CPU_CLASS_PTR push_32(RW_ECX);\n    BX_CPU_CLASS_PTR push_32(RW_EDX);\n    BX_CPU_CLASS_PTR push_32(RW_EBX);\n    BX_CPU_CLASS_PTR push_32(esp);\n    BX_CPU_CLASS_PTR push_32(RW_EBP);\n    BX_CPU_CLASS_PTR push_32(RW_ESI);\n    BX_CPU_CLASS_PTR push_32(RW_EDI);\n#endif\n}\n\n  void\nBX_CPU_C::POPAD32(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n\tBX_PANIC((\"POPAD not supported on an 8086\"));\n#else /* 286+ */\n    Bit32u edi, esi, ebp, esp, ebx, edx, ecx, eax;\n\n    if (BX_CPU_CLASS_PTR protected_mode()) {\n      if ( !BX_CPU_CLASS_PTR can_pop(32) ) {\n        BX_PANIC((\"pop_ad: not enough bytes on stack\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n\n    /* ??? optimize this */\n    BX_CPU_CLASS_PTR pop_32(&edi);\n    BX_CPU_CLASS_PTR pop_32(&esi);\n    BX_CPU_CLASS_PTR pop_32(&ebp);\n    BX_CPU_CLASS_PTR pop_32(&esp); /* value for ESP discarded */\n    BX_CPU_CLASS_PTR pop_32(&ebx);\n    BX_CPU_CLASS_PTR pop_32(&edx);\n    BX_CPU_CLASS_PTR pop_32(&ecx);\n    BX_CPU_CLASS_PTR pop_32(&eax);\n\n    RW_EDI = edi;\n    RW_ESI = esi;\n    RW_EBP = ebp;\n//  RW_ESP = esp;\n    RW_EBX = ebx;\n    RW_EDX = edx;\n    RW_ECX = ecx;\n    RW_EAX = eax;\n#endif\n}\n\n  void\nBX_CPU_C::PUSH_Id(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n  BX_PANIC((\"PUSH_Iv: not supported on 8086!\"));\n#else\n\n    Bit32u imm32;\n\n    imm32 = IMMEDIATEId(i);\n\n    BX_CPU_CLASS_PTR push_32(imm32);\n#endif\n}\n\n  void\nBX_CPU_C::PUSH_EGd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n    Bit32u op1_32;\n\n    if (i->modC0())\n\t{\n\t\top1_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\t}\n    else\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &op1_32);\n\t}\n\n    BX_CPU_CLASS_PTR push_32(op1_32);\n}\n\n  void\nBX_CPU_C::PUSH_EEd(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n    Bit32u op1_32;\n\n    if (i->modC0())\n\t{\n\t\top1_32 = READ_VIRTUAL_32BIT_REG(MODRMrm(i));\n\t}\n    else\n\t{\n\t\tBX_CPU_CLASS_PTR read_virtual_dword(MODRMSeg(i), RMAddr(i), &op1_32);\n\t}\n\n    BX_CPU_CLASS_PTR push_32(op1_32);\n}\n\n  void\nBX_CPU_C::ENTER_IwIb(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n  BX_PANIC((\"ENTER_IwIb: not supported by 8086!\"));\n#else\n  Bit32u frame_ptr32;\n  Bit16u frame_ptr16;\n  Bit8u level;\n  static Bit8u first_time = 1;\n\n  level = IMMEDIATEIb2(i);\n\n  BX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n  level %= 32;\n/* ??? */\n  if (first_time && level>0) {\n    BX_ERROR((\"enter() with level > 0. The emulation of this instruction may not be complete.  This warning will be printed only once per bochs run.\"));\n    first_time = 0;\n  }\n//if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b && i->size_mode.os_32==0) {\n//  BX_INFO((\"enter(): stacksize!=opsize: I'm unsure of the code for this\"));\n//  BX_PANIC((\"         The Intel manuals are a mess on this one!\"));\n//  }\n\n  if ( BX_CPU_CLASS_PTR protected_mode() ) {\n    Bit32u bytes_to_push, temp_ESP;\n\n    if (level == 0) {\n      if (i->size_mode.os_32)\n        bytes_to_push = 4 + IMMEDIATEIw(i);\n      else\n        bytes_to_push = 2 + IMMEDIATEIw(i);\n      }\n    else { /* level > 0 */\n      if (i->size_mode.os_32)\n        bytes_to_push = 4 + (level-1)*4 + 4 + IMMEDIATEIw(i);\n      else\n        bytes_to_push = 2 + (level-1)*2 + 2 + IMMEDIATEIw(i);\n      }\n    if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      temp_ESP = RW_ESP;\n    else\n      temp_ESP = RW_SP;\n    if ( !BX_CPU_CLASS_PTR can_push(&BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, bytes_to_push) ) {\n      BX_PANIC((\"ENTER: not enough room on stack!\"));\n      BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n      }\n    }\n\n  if (i->size_mode.os_32)\n    BX_CPU_CLASS_PTR push_32(RW_EBP);\n  else\n    BX_CPU_CLASS_PTR push_16(RW_BP);\n\n  // can just do frame_ptr32 = ESP for either case ???\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    frame_ptr32 = RW_ESP;\n  else\n    frame_ptr32 = RW_SP;\n\n  if (level > 0) {\n    /* do level-1 times */\n    while (--level) {\n      if (i->size_mode.os_32) {\n        Bit32u temp32;\n\n        if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* 32bit stacksize */\n          RW_EBP -= 4;\n          BX_CPU_CLASS_PTR read_virtual_dword(BX_SEG_REG_SS, RW_EBP, &temp32);\n          RW_ESP -= 4;\n          BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_SS, RW_ESP, &temp32);\n          }\n        else { /* 16bit stacksize */\n          RW_BP -= 4;\n          BX_CPU_CLASS_PTR read_virtual_dword(BX_SEG_REG_SS, RW_BP, &temp32);\n          RW_SP -= 4;\n          BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_SS, RW_SP, &temp32);\n          }\n        }\n      else { /* 16bit opsize */\n        Bit16u temp16;\n\n        if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* 32bit stacksize */\n          RW_EBP -= 2;\n          BX_CPU_CLASS_PTR read_virtual_word(BX_SEG_REG_SS, RW_EBP, &temp16);\n          RW_ESP -= 2;\n          BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_SS, RW_ESP, &temp16);\n          }\n        else { /* 16bit stacksize */\n          RW_BP -= 2;\n          BX_CPU_CLASS_PTR read_virtual_word(BX_SEG_REG_SS, RW_BP, &temp16);\n          RW_SP -= 2;\n          BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_SS, RW_SP, &temp16);\n          }\n        }\n      } /* while (--level) */\n\n    /* push(frame pointer) */\n    if (i->size_mode.os_32) {\n      if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* 32bit stacksize */\n        RW_ESP -= 4;\n        BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_SS, RW_ESP, &frame_ptr32);\n        }\n      else {\n        RW_SP -= 4;\n        BX_CPU_CLASS_PTR write_virtual_dword(BX_SEG_REG_SS, RW_SP, &frame_ptr32);\n        }\n      }\n    else { /* 16bit opsize */\n      if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* 32bit stacksize */\n        frame_ptr16 = frame_ptr32;\n        RW_ESP -= 2;\n        BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_SS, RW_ESP, &frame_ptr16);\n        }\n      else {\n        frame_ptr16 = frame_ptr32;\n        RW_SP -= 2;\n        BX_CPU_CLASS_PTR write_virtual_word(BX_SEG_REG_SS, RW_SP, &frame_ptr16);\n        }\n      }\n    } /* if (level > 0) ... */\n\n  if (i->size_mode.os_32)\n    RW_EBP = frame_ptr32;\n  else\n    RW_BP = frame_ptr32;\n\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* 32bit stacksize */\n    RW_ESP = RW_ESP - IMMEDIATEIw(i);\n    }\n  else { /* 16bit stack */\n    RW_SP = RW_SP - IMMEDIATEIw(i);\n    }\n#endif\n}\n\n  void\nBX_CPU_C::LEAVE(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 2\n  BX_PANIC((\"LEAVE: not supported by 8086!\"));\n#else\n  Bit32u temp_EBP;\n\n\n  BX_CPU_CLASS_PTR invalidate_prefetch_q();\n\n#if BX_CPU_LEVEL >= 3\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    temp_EBP = RW_EBP;\n  else\n#endif\n    temp_EBP = RW_BP;\n\n  if ( BX_CPU_CLASS_PTR protected_mode() ) {\n    if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed) { /* expand up */\n      if (temp_EBP <= BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled) {\n        BX_PANIC((\"LEAVE: BP > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].limit\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n    else { /* normal */\n      if (temp_EBP > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled) {\n        BX_PANIC((\"LEAVE: BP > BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].limit\"));\n        BX_CPU_CLASS_PTR exception(BX_SS_EXCEPTION, 0, 0);\n        return;\n        }\n      }\n    }\n\n\n  // delete frame\n#if BX_CPU_LEVEL >= 3\n  if (BX_CPU_CLASS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    RW_ESP = RW_EBP;\n  else\n#endif\n    RW_SP = RW_BP;\n\n  // restore frame pointer\n#if BX_CPU_LEVEL >= 3\n  if (i->size_mode.os_32) {\n    Bit32u temp32;\n\n    BX_CPU_CLASS_PTR pop_32(&temp32);\n    RW_EBP = temp32;\n    }\n  else\n#endif\n    {\n    Bit16u temp16;\n\n    BX_CPU_CLASS_PTR pop_16(&temp16);\n    RW_BP = temp16;\n    }\n#endif\n}\n"
  },
  {
    "path": "Project/IntelCPU/Source/stack_pr.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: stack_pro.cc,v 1.6 2001/10/03 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n  void\nBX_CPU_C::push_16(Bit16u value16)\n{\n  Bit32u temp_ESP;\n\n#if BX_CPU_LEVEL >= 2\n  if (protected_mode()) {\n#if BX_CPU_LEVEL >= 3\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      temp_ESP = X86_ESP;\n    else\n#endif\n      temp_ESP = X86_SP;\n    if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 2)) {\n      BX_PANIC((\"push_16(): can't push on stack\"));\n      exception(BX_SS_EXCEPTION, 0, 0);\n      return;\n      }\n\n    /* access within limits */\n#if BX_SupportICache\n\tbxReadWriteGuess *guess;\n\tguess = &BX_CPU_THIS_PTR iCache.PushPop[((temp_ESP-2)>>12)&(32-1)];\n#endif\n    BX_CPU_THIS_PTR write_virtual_word(BX_SEG_REG_SS, temp_ESP - 2, &value16);\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      X86_ESP -= 2;\n    else\n      X86_SP -= 2;\n    return;\n    }\n  else\n#endif\n    { /* real mode */\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) {\n      if (X86_ESP == 1)\n        BX_PANIC((\"CPU shutting down due to lack of stack space, ESP==1\"));\n      X86_ESP -= 2;\n      temp_ESP = X86_ESP;\n      }\n    else {\n      if (X86_SP == 1)\n        BX_PANIC((\"CPU shutting down due to lack of stack space, SP==1\"));\n      X86_SP -= 2;\n      temp_ESP = X86_SP;\n      }\n\n    BX_CPU_THIS_PTR write_virtual_word(BX_SEG_REG_SS, temp_ESP, &value16);\n    return;\n    }\n}\n\n  void\nBX_CPU_C::call_push_16(Bit16u value16)\n{\n  Bit32u temp_ESP;\n\n#if BX_CPU_LEVEL >= 2\n  if (protected_mode()) {\n#if BX_CPU_LEVEL >= 3\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      temp_ESP = X86_ESP;\n    else\n#endif\n      temp_ESP = X86_SP;\n    if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, temp_ESP, 2)) {\n      BX_PANIC((\"push_16(): can't push on stack\"));\n      exception(BX_SS_EXCEPTION, 0, 0);\n      return;\n      }\n\n    /* access within limits */\n#if BX_SupportICache\n\tbxReadWriteGuess *guess;\n\tguess = &BX_CPU_THIS_PTR iCache.PushPop[((temp_ESP-2)>>12)&(32-1)];\n#endif\n    BX_CPU_THIS_PTR write_push_word(BX_SEG_REG_SS, temp_ESP - 2, &value16);\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n      X86_ESP -= 2;\n    else\n      X86_SP -= 2;\n    return;\n    }\n  else\n#endif\n    { /* real mode */\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) {\n      if (X86_ESP == 1)\n        BX_PANIC((\"CPU shutting down due to lack of stack space, ESP==1\"));\n      X86_ESP -= 2;\n      temp_ESP = X86_ESP;\n      }\n    else {\n      if (X86_SP == 1)\n        BX_PANIC((\"CPU shutting down due to lack of stack space, SP==1\"));\n      X86_SP -= 2;\n      temp_ESP = X86_SP;\n      }\n\n    BX_CPU_THIS_PTR write_push_word(BX_SEG_REG_SS, temp_ESP, &value16);\n    return;\n    }\n}\n\n#if BX_CPU_LEVEL >= 3\n  /* push 32 bit operand size */\n   void\nBX_CPU_C::push_32(Bit32u value32)\n{\n  /* must use StackAddrSize, and either ESP or SP accordingly */\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* StackAddrSize = 32 */\n    /* 32bit stack size: pushes use SS:ESP  */\n    if (protected_mode()) {\n      if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, X86_ESP, 4)) {\n        BX_PANIC((\"push_32(): push outside stack limits\"));\n        /* #SS(0) */\n        }\n      }\n    else { /* real mode */\n      if ((X86_ESP>=1) && (X86_ESP<=3)) {\n        BX_PANIC((\"push_32: ESP=%08x\", (unsigned) X86_ESP));\n        }\n      }\n\n    BX_CPU_THIS_PTR write_virtual_dword(BX_SEG_REG_SS, X86_ESP-4, &value32);\n    X86_ESP -= 4;\n    /* will return after error anyway */\n    return;\n    }\n  else { /* 16bit stack size: pushes use SS:SP  */\n    if (protected_mode()) {\n      if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, X86_SP, 4)) {\n        BX_PANIC((\"push_32(): push outside stack limits\"));\n        /* #SS(0) */\n        }\n      }\n    else { /* real mode */\n      if ((X86_SP>=1) && (X86_SP<=3)) {\n        BX_PANIC((\"push_32: SP=%08x\", (unsigned) X86_SP));\n        }\n      }\n\n    BX_CPU_THIS_PTR write_virtual_dword(BX_SEG_REG_SS, (Bit16u) (X86_SP-4), &value32);\n    X86_SP -= 4;\n    /* will return after error anyway */\n    return;\n    }\n}\n\n   void\nBX_CPU_C::call_push_32(Bit32u value32)\n{\n  /* must use StackAddrSize, and either ESP or SP accordingly */\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* StackAddrSize = 32 */\n    /* 32bit stack size: pushes use SS:ESP  */\n    if (protected_mode()) {\n      if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, X86_ESP, 4)) {\n        BX_PANIC((\"push_32(): push outside stack limits\"));\n        /* #SS(0) */\n        }\n      }\n    else { /* real mode */\n      if ((X86_ESP>=1) && (X86_ESP<=3)) {\n        BX_PANIC((\"push_32: ESP=%08x\", (unsigned) X86_ESP));\n        }\n      }\n\n    BX_CPU_THIS_PTR write_push_dword(BX_SEG_REG_SS, X86_ESP-4, &value32);\n    X86_ESP -= 4;\n    /* will return after error anyway */\n    return;\n    }\n  else { /* 16bit stack size: pushes use SS:SP  */\n    if (protected_mode()) {\n      if (!can_push(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache, X86_SP, 4)) {\n        BX_PANIC((\"push_32(): push outside stack limits\"));\n        /* #SS(0) */\n        }\n      }\n    else { /* real mode */\n      if ((X86_SP>=1) && (X86_SP<=3)) {\n        BX_PANIC((\"push_32: SP=%08x\", (unsigned) X86_SP));\n        }\n      }\n\n    BX_CPU_THIS_PTR write_push_dword(BX_SEG_REG_SS, (Bit16u) (X86_SP-4), &value32);\n    X86_SP -= 4;\n    /* will return after error anyway */\n    return;\n    }\n}\n\n#endif /* BX_CPU_LEVEL >= 3 */\n\n  void\nBX_CPU_C::pop_16(Bit16u *value16_ptr)\n{\n  Bit32u temp_ESP;\n\n#if BX_CPU_LEVEL >= 3\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    temp_ESP = X86_ESP;\n  else\n#endif\n    temp_ESP = X86_SP;\n\n#if BX_CPU_LEVEL >= 2\n  if (protected_mode()) {\n    if ( !can_pop(2) ) {\n      BX_INFO((\"pop_16(): can't pop from stack\"));\n      exception(BX_SS_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n#endif\n\n\n  /* access within limits */\n  BX_CPU_THIS_PTR read_virtual_word(BX_SEG_REG_SS, temp_ESP, value16_ptr);\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    X86_ESP += 2;\n  else\n    X86_SP += 2;\n}\n\n#if BX_CPU_LEVEL >= 3\n  void\nBX_CPU_C::pop_32(Bit32u *value32_ptr)\n{\n  Bit32u temp_ESP;\n\n  /* 32 bit stack mode: use SS:ESP */\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    temp_ESP = X86_ESP;\n  else\n    temp_ESP = X86_SP;\n\n  /* 16 bit stack mode: use SS:SP */\n  if (protected_mode()) {\n    if ( !can_pop(4) ) {\n      BX_PANIC((\"pop_32(): can't pop from stack\"));\n      exception(BX_SS_EXCEPTION, 0, 0);\n      return;\n      }\n    }\n\n  /* access within limits */\n  BX_CPU_THIS_PTR read_virtual_dword(BX_SEG_REG_SS, temp_ESP, value32_ptr);\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b==1)\n    X86_ESP += 4;\n  else\n    X86_SP += 4;\n}\n#endif\n\n\n\n#if BX_CPU_LEVEL >= 2\n  Boolean\nBX_CPU_C::can_push(bx_descriptor_t *descriptor, Bit32u esp, Bit32u bytes)\n{\n  if ( real_mode() ) { /* code not needed ??? */\n    BX_PANIC((\"can_push(): called in real mode\"));\n    return(0); /* never gets here */\n    }\n\n  // small stack compares against 16-bit SP\n  if (!descriptor->u.segment.d_b)\n    esp &= 0x0000ffff;\n\n\n  if (descriptor->valid==0) {\n    BX_PANIC((\"can_push(): SS invalidated.\"));\n    return(0);\n    }\n\n  if (descriptor->p==0) {\n    BX_PANIC((\"can_push(): not present\"));\n    return(0);\n    }\n\n\n  if (descriptor->u.segment.c_ed) { /* expand down segment */\n    Bit32u expand_down_limit;\n\n    if (descriptor->u.segment.d_b)\n      expand_down_limit = 0xffffffff;\n    else\n      expand_down_limit = 0x0000ffff;\n\n    if (esp==0) {\n      BX_PANIC((\"can_push(): esp=0, wraparound?\"));\n      return(0);\n      }\n\n    if (esp < bytes) {\n      BX_PANIC((\"can_push(): expand-down: esp < N\"));\n      return(0);\n      }\n    if ( (esp - bytes) <= descriptor->u.segment.limit_scaled ) {\n      BX_PANIC((\"can_push(): expand-down: esp-N < limit\"));\n      return(0);\n      }\n    if ( esp > expand_down_limit ) {\n      BX_PANIC((\"can_push(): esp > expand-down-limit\"));\n      return(0);\n      }\n    return(1);\n    }\n  else { /* normal (expand-up) segment */\n    if (descriptor->u.segment.limit_scaled==0) {\n      BX_PANIC((\"can_push(): found limit of 0\"));\n      return(0);\n      }\n\n    // Look at case where esp==0.  Possibly, it's an intentional wraparound\n    // If so, limit must be the maximum for the given stack size\n    if (esp==0) {\n      if (descriptor->u.segment.d_b && (descriptor->u.segment.limit_scaled==0xffffffff))\n        return(1);\n      if ((descriptor->u.segment.d_b==0) && (descriptor->u.segment.limit_scaled>=0xffff))\n        return(1);\n      BX_PANIC((\"can_push(): esp=0, normal, wraparound? limit=%08x\",\n        descriptor->u.segment.limit_scaled));\n      return(0);\n      }\n\n    if (esp < bytes) {\n      BX_INFO((\"can_push(): expand-up: esp < N\"));\n      return(0);\n      }\n    if ((esp-1) > descriptor->u.segment.limit_scaled) {\n      BX_INFO((\"can_push(): expand-up: SP > limit\"));\n      return(0);\n      }\n    /* all checks pass */\n    return(1);\n    }\n}\n#endif\n\n\n#if BX_CPU_LEVEL >= 2\n  Boolean\nBX_CPU_C::can_pop(Bit32u bytes)\n{\n  Bit32u temp_ESP, expand_down_limit;\n\n  /* ??? */\n  if (real_mode())\n  \tBX_PANIC((\"can_pop(): called in real mode?\"));\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b) { /* Big bit set: use ESP */\n    temp_ESP = X86_ESP;\n    expand_down_limit = 0xFFFFFFFF;\n    }\n  else { /* Big bit clear: use SP */\n    temp_ESP = X86_SP;\n    expand_down_limit = 0xFFFF;\n    }\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid==0) {\n    BX_PANIC((\"can_pop(): SS invalidated.\"));\n    return(0); /* never gets here */\n    }\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.p==0) { /* ??? */\n    BX_PANIC((\"can_pop(): SS.p = 0\"));\n    return(0);\n    }\n\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed) { /* expand down segment */\n    if ( temp_ESP == expand_down_limit ) {\n      BX_PANIC((\"can_pop(): found SP=ffff\"));\n      return(0);\n      }\n    if ( ((expand_down_limit - temp_ESP) + 1) >= bytes )\n      return(1);\n    return(0);\n    }\n  else { /* normal (expand-up) segment */\n    if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled==0) {\n      BX_PANIC((\"can_pop(): SS.limit = 0\"));\n      }\n    if ( temp_ESP == expand_down_limit ) {\n      BX_PANIC((\"can_pop(): found SP=ffff\"));\n      return(0);\n      }\n    if ( temp_ESP > BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled ) {\n      BX_PANIC((\"can_pop(): eSP > SS.limit\"));\n      return(0);\n      }\n    if ( ((BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled - temp_ESP) + 1) >= bytes )\n      return(1);\n    return(0);\n    }\n}\n#endif\n"
  },
  {
    "path": "Project/IntelCPU/Source/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// IntelCPU.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/IntelCPU/Source/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n//  or project specific include files that are used frequently, but\n//      are changed infrequently\n//\n#include \"../../vex86/Source/VEMemory.h\"\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/string.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: string.cc,v 1.0 2002/10/10 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n//---------------------------------------------------------\n//ִ--ָ΢  ָ\n//---------------------------------------------------------\n\n\n/* MOVSB ES:[EDI], DS:[ESI] DS may be overridden\n *  mov string from DS:[ESI] into ES:[EDI]\n */\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSB_XbYb_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSW_XvYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::MOVSD_XvYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSB_XbYb_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t\tedi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_CMPS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSW_XvYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t\tedi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_CMPS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_SI;\n\tedi = RW_DI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::CMPSD_XvYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1,op2,diff;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi,edi;\n\tesi = RW_ESI;\n\tedi = RW_EDI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t\tedi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_CMPS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E16_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E16_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E16_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E32_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E32_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASB_ALYb_E32_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tREAD_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_8(op1,op2,diff,BX_INSTR_SCAS8);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dl,op2\n\t\tcmp op1,dl\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASW_eAXYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tREAD_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_16(op1,op2,diff,BX_INSTR_SCAS16);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov dx,op2\n\t\tcmp op1,dx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_CX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ||ECX==0 ʱ˳,ظִ\n\tif (diff==0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::SCASD_eAXYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1,op2,diff;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tREAD_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op2);\n\tdiff = op1 - op2;\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\t//ԭĿ겻||ECX==0 ʱ˳,ظִ\n\tif (diff!=0||RW_ECX==0)\n\t{\n#if (HOST_CPU_IS_I80386==0)\n\tSET_FLAGS_OSZAPC_32(op1,op2,diff,BX_INSTR_SCAS32);\n#endif //#if (HOST_CPU_IS_I80386==0)\n#if (HOST_CPU_IS_I80386==1)\n\tBit32u x86_lf_flags;\n\t__asm\n\t{\n\t\tmov edx,op2\n\t\tcmp op1,edx\n\t\tlahf\n\t\tseto al\n\t\tmov x86_lf_flags,eax\n\t}\n\tBX_CPU_CLASS_PTR eflags.x86.eax = x86_lf_flags;\n#endif //#if (HOST_CPU_IS_I80386==1)\n\t\treturn;\n\t}\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E16_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E16_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E16_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E32_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E32_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSB_ALYb_E32_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_8BIT_REG(0);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSW_eAXYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_16BIT_REG(0);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::STOSD_eAXYv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = READ_VIRTUAL_32BIT_REG(0);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E16_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E16_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E16_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E32_rep__ (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E32_repf2 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSB_ALXb_E32_repf3 (BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tWRITE_VIRTUAL_8BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSW_eAXXv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_16BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::LODSD_eAXXv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tWRITE_VIRTUAL_32BIT_REG(0,op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSB_DXXb_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit8u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_BYTE(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 1;\n\t}\n\telse\n\t{\n\t\tesi += 1;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSW_DXXv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit16u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_WORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 2);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 2;\n\t}\n\telse\n\t{\n\t\tesi += 2;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_SI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_SI = esi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::OUTSD_DXXv_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tunsigned seg;\n\tBit32u op1;\n\tseg = MODRMSeg(i);\n\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u esi;\n\tesi = RW_ESI;\n\tREAD_VIRTUAL_DWORD(seg, esi, &op1);\n\tBX_CPU_CLASS_PTR BX_OUTP(RW_DX, op1, 4);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tesi -= 4;\n\t}\n\telse\n\t{\n\t\tesi += 4;\n\t}\n\tRW_ESI = esi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSB_YbDX_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit8u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 1) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 1);\n\tWRITE_VIRTUAL_BYTE(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 1;\n\t}\n\telse\n\t{\n\t\tedi += 1;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSW_YvDX_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit16u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 2) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 2);\n\tWRITE_VIRTUAL_WORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 2;\n\t}\n\telse\n\t{\n\t\tedi += 2;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E16_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E16_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E16_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_DI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_DI = edi;\n\tRW_CX--;\n\tif (RW_CX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E32_rep__(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E32_repf2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n\tvoid\nBX_CPU_C::INSD_YvDX_E32_repf3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n\tBit32u op1;\n\t//++++++++++++++++++++++++++++++++\n\t//ECXʱ˳,ִ\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR cr0.pe && (BX_CPU_CLASS_PTR get_VM() || (RW_CPL>BX_CPU_CLASS_PTR get_IOPL())))\n\t{\n\t\tif ( !BX_CPU_CLASS_PTR allow_io(RW_DX, 4) )\n\t\t{\n\t\t\tBX_CPU_CLASS_PTR exception(BX_GP_EXCEPTION, 0, 0);\n\t\t}\n\t}\n\nRepeatRun:\n\n\tBit32u edi;\n\tedi = RW_EDI;\n\top1 = 0;\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\top1 = BX_CPU_CLASS_PTR BX_INP(RW_DX, 4);\n\tWRITE_VIRTUAL_DWORD(BX_SEG_REG_ES, edi, &op1);\n\tif (BX_CPU_CLASS_PTR get_DF())\n\t{\n\t\tedi -= 4;\n\t}\n\telse\n\t{\n\t\tedi += 4;\n\t}\n\tRW_EDI = edi;\n\tRW_ECX--;\n\tif (RW_ECX==0)\n\t\treturn;\n\n\tif (BX_CPU_CLASS_PTR async_event)\n\t{\n\t\tBX_CPU_CLASS_PTR invalidate_prefetch_q();\n\t\tRW_EIP\t= BX_CPU_CLASS_PTR prev_eip; // commit old EIP\n\t\treturn;\n\t}\n\n\tgoto RepeatRun;\n}\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/tasking.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: tasking.cc,v 1.9 2001/11/11 04:57:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n\n#if BX_SUPPORT_TASKING\n\n#if BX_CPU_LEVEL >= 2\n\n// Notes:\n// ======\n// Step 2: TSS descriptor is not busy TS (for IRET); GP (for JMP, CALL, INT)\n//   returns error code (Task's backlink TSS)???\n\n// *   TSS selector must map to GDT\n// *   TSS is stored in linear address space\n// * what to do with I/O Map Base\n// * what to do with T flag\n// * where to set CR3 and flush paging cache\n// * what happens when fault occurs, with some seg regs having valid bit cleared?\n// * should check validity of current TR(TSS) before writing into it\n//\n\n  // ======================\n  // 286 Task State Segment\n  // ======================\n  // dynamic item                      | hex  dec  offset\n  // 0       task LDT selector         | 2a   42\n  // 1       DS selector               | 28   40\n  // 1       SS selector               | 26   38\n  // 1       CS selector               | 24   36\n  // 1       ES selector               | 22   34\n  // 1       DI                        | 20   32\n  // 1       SI                        | 1e   30\n  // 1       BP                        | 1c   28\n  // 1       SP                        | 1a   26\n  // 1       BX                        | 18   24\n  // 1       DX                        | 16   22\n  // 1       CX                        | 14   20\n  // 1       AX                        | 12   18\n  // 1       flag word                 | 10   16\n  // 1       IP (entry point)          | 0e   14\n  // 0       SS for CPL 2              | 0c   12\n  // 0       SP for CPL 2              | 0a   10\n  // 0       SS for CPL 1              | 08   08\n  // 0       SP for CPL 1              | 06   06\n  // 0       SS for CPL 0              | 04   04\n  // 0       SP for CPL 0              | 02   02\n  //         back link selector to TSS | 00   00\n\n\n  // ======================\n  // 386 Task State Segment\n  // ======================\n  // |31            16|15                    0|\n  // |I/O Map Base    |000000000000000000000|T| 64  static\n  // |0000000000000000| LDT                   | 60  static\n  // |0000000000000000| GS selector           | 5c  dynamic\n  // |0000000000000000| FS selector           | 58  dynamic\n  // |0000000000000000| DS selector           | 54  dynamic\n  // |0000000000000000| SS selector           | 50  dynamic\n  // |0000000000000000| CS selector           | 4c  dynamic\n  // |0000000000000000| ES selector           | 48  dynamic\n  // |                EDI                     | 44  dynamic\n  // |                ESI                     | 40  dynamic\n  // |                EBP                     | 3c  dynamic\n  // |                ESP                     | 38  dynamic\n  // |                EBX                     | 34  dynamic\n  // |                EDX                     | 30  dynamic\n  // |                ECX                     | 2c  dynamic\n  // |                EAX                     | 28  dynamic\n  // |                EFLAGS                  | 24  dynamic\n  // |                EIP (entry point)       | 20  dynamic\n  // |           CR3 (PDPR)                   | 1c  static\n  // |000000000000000 | SS for CPL 2          | 18  static\n  // |           ESP for CPL 2                | 14  static\n  // |000000000000000 | SS for CPL 1          | 10  static\n  // |           ESP for CPL 1                | 0c  static\n  // |000000000000000 | SS for CPL 0          | 08  static\n  // |           ESP for CPL 0                | 04  static\n  // |000000000000000 | back link to prev TSS | 00  dynamic (updated only when return expected)\n\n\n  // ==================================================\n  // Effect of task switch on Busy, NT, and Link Fields\n  // ==================================================\n\n  // Field         jump        call/interrupt     iret\n  // ------------------------------------------------------\n  // new busy bit  Set         Set                No change\n  // old busy bit  Cleared     No change          Cleared\n  // new NT flag   No change   Set                No change\n  // old NT flag   No change   No change          Cleared\n  // new link      No change   old TSS selector   No change\n  // old link      No change   No change          No change\n  // CR0.TS        Set         Set                Set\n\n  // Note: I checked 386, 486, and Pentium, and they all exhibited\n  //       exactly the same behaviour as above.  There seems to\n  //       be some misprints in the Intel docs.\n\n\n  void\nBX_CPU_C::task_switch(bx_selector_t *tss_selector,\n                 bx_descriptor_t *tss_descriptor, unsigned source,\n                 Bit32u dword1, Bit32u dword2)\n{\n  Bit32u obase32; // base address of old TSS\n  Bit32u nbase32; // base address of new TSS\n  Bit32u temp32, newCR3;\n  Bit16u raw_cs_selector, raw_ss_selector, raw_ds_selector, raw_es_selector,\n         raw_fs_selector, raw_gs_selector, raw_ldt_selector;\n  Bit16u temp16, trap_word;\n  bx_selector_t cs_selector, ss_selector, ds_selector, es_selector,\n                fs_selector, gs_selector, ldt_selector;\n  bx_descriptor_t cs_descriptor, ss_descriptor, ds_descriptor, es_descriptor,\n                  fs_descriptor, gs_descriptor, ldt_descriptor;\n  Bit32u old_TSS_max, new_TSS_max, old_TSS_limit, new_TSS_limit;\n  Bit32u newEAX, newECX, newEDX, newEBX;\n  Bit32u newESP, newEBP, newESI, newEDI;\n  Bit32u newEFLAGS, oldEFLAGS, newEIP;\n  unsigned exception_no;\n  Bit16u error_code;\n\n//BX_DEBUG(( \"TASKING: ENTER\" ));\n\n  invalidate_prefetch_q();\n\n  // Discard any traps and inhibits for new context; traps will\n  // resume upon return.\n  BX_CPU_THIS_PTR debug_trap = 0;\n  BX_CPU_THIS_PTR inhibit_mask = 0;\n\n\n\n\n  // The following checks are made before calling task_switch(), for\n  // JMP & CALL only.  These checks are NOT made for exceptions, interrupts, & IRET\n  //\n  //   1) TSS DPL must be >= CPL\n  //   2) TSS DPL must be >= TSS selector RPL\n  //   3) TSS descriptor is not busy.  TS(for IRET); GP(for JMP, CALL, INT)\n\n  // Privilege and busy checks done in CALL, JUMP, INT, IRET\n\n  exception_no = 256; // no exception\n  error_code   = 0;\n  oldEFLAGS = read_eflags();\n\n  // Gather info about old TSS\n  if (BX_CPU_THIS_PTR tr.cache.type <= 3) {\n    // sanity check type: cannot have busy bit\n    BX_ASSERT ((BX_CPU_THIS_PTR tr.cache.type & 2) == 0);\n    obase32 = BX_CPU_THIS_PTR tr.cache.u.tss286.base;\n    old_TSS_max   = 43;\n    old_TSS_limit = BX_CPU_THIS_PTR tr.cache.u.tss286.limit;\n    }\n  else {\n    obase32 = BX_CPU_THIS_PTR tr.cache.u.tss386.base;\n    old_TSS_max   = 103;\n    old_TSS_limit = BX_CPU_THIS_PTR tr.cache.u.tss386.limit_scaled;\n    }\n\n  // Gather info about new TSS\n  if (tss_descriptor->type <= 3) { // {1,3}\n    nbase32 = tss_descriptor->u.tss286.base; // new TSS.base\n    new_TSS_max   = 43;\n    new_TSS_limit = tss_descriptor->u.tss286.limit;\n    }\n  else { // tss_descriptor->type = {9,11}\n    nbase32 = tss_descriptor->u.tss386.base; // new TSS.base\n    new_TSS_max   = 103;\n    new_TSS_limit = tss_descriptor->u.tss386.limit_scaled;\n    }\n\n  // Task State Seg must be present, else #NP(TSS selector)\n  if (tss_descriptor->p==0) {\n    BX_INFO((\"task_switch: TSS.p == 0\"));\n    exception(BX_NP_EXCEPTION, tss_selector->value & 0xfffc, 0);\n    }\n\n  // TSS must have valid limit, else #TS(TSS selector)\n  if (tss_selector->ti ||\n      tss_descriptor->valid==0 ||\n      new_TSS_limit < new_TSS_max) {\n    BX_PANIC((\"task_switch(): TR not valid\"));\n    exception(BX_TS_EXCEPTION, tss_selector->value & 0xfffc, 0);\n    }\n#if BX_SUPPORT_PAGING\n  // Check that old TSS, new TSS, and all segment descriptors\n  // used in the task switch are paged in.\n  if (BX_CPU_THIS_PTR cr0.pg) {\n    //BX_RW, BX_READ, BX_WRITE\n    // Old TSS\n    (void) dtranslate_linear(obase32, 0, /*rw*/ BX_WRITE);\n    (void) dtranslate_linear(obase32+old_TSS_max, 0, /*rw*/ BX_WRITE);\n\n    // New TSS\n    (void) dtranslate_linear(nbase32, 0, /*rw*/ 0);\n    (void) dtranslate_linear(nbase32+new_TSS_max, 0, /*rw*/ 0);\n\n    // ??? fix RW above\n    // ??? touch old/new TSS descriptors here when necessary.\n    }\n#endif // BX_SUPPORT_PAGING\n\n  // Need to fetch all new registers and temporarily store them.\n\n  if (tss_descriptor->type <= 3) {\n    BX_CPU_THIS_PTR access_linear(nbase32 + 14, 2, 0, BX_READ, &temp16);\n      newEIP = temp16; // zero out upper word\n    BX_CPU_THIS_PTR access_linear(nbase32 + 16, 2, 0, BX_READ, &temp16);\n      newEFLAGS = temp16;\n\n    // incoming TSS is 16bit:\n    //   - upper word of general registers is set to 0xFFFF\n    //   - upper word of eflags is zero'd\n    //   - FS, GS are zero'd\n    //   - upper word of eIP is zero'd\n    BX_CPU_THIS_PTR access_linear(nbase32 + 18, 2, 0, BX_READ, &temp16);\n      newEAX = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 20, 2, 0, BX_READ, &temp16);\n      newECX = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 22, 2, 0, BX_READ, &temp16);\n      newEDX = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 24, 2, 0, BX_READ, &temp16);\n      newEBX = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 26, 2, 0, BX_READ, &temp16);\n      newESP = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 28, 2, 0, BX_READ, &temp16);\n      newEBP = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 30, 2, 0, BX_READ, &temp16);\n      newESI = 0xffff0000 | temp16;\n    BX_CPU_THIS_PTR access_linear(nbase32 + 32, 2, 0, BX_READ, &temp16);\n      newEDI = 0xffff0000 | temp16;\n\n    BX_CPU_THIS_PTR access_linear(nbase32 + 34, 2, 0, BX_READ, &raw_es_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 36, 2, 0, BX_READ, &raw_cs_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 38, 2, 0, BX_READ, &raw_ss_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 40, 2, 0, BX_READ, &raw_ds_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 42, 2, 0, BX_READ, &raw_ldt_selector);\n\n    raw_fs_selector = 0; // use a NULL selector\n    raw_gs_selector = 0; // use a NULL selector\n    // No CR3 change for 286 task switch\n    newCR3 = 0;   // keep compiler happy (not used)\n    trap_word = 0; // keep compiler happy (not used)\n    }\n  else {\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x1c, 4, 0, BX_READ, &newCR3);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x20, 4, 0, BX_READ, &newEIP);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x24, 4, 0, BX_READ, &newEFLAGS);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x28, 4, 0, BX_READ, &newEAX);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x2c, 4, 0, BX_READ, &newECX);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x30, 4, 0, BX_READ, &newEDX);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x34, 4, 0, BX_READ, &newEBX);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x38, 4, 0, BX_READ, &newESP);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x3c, 4, 0, BX_READ, &newEBP);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x40, 4, 0, BX_READ, &newESI);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x44, 4, 0, BX_READ, &newEDI);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x48, 2, 0, BX_READ, &raw_es_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x4c, 2, 0, BX_READ, &raw_cs_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x50, 2, 0, BX_READ, &raw_ss_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x54, 2, 0, BX_READ, &raw_ds_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x58, 2, 0, BX_READ, &raw_fs_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x5c, 2, 0, BX_READ, &raw_gs_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x60, 2, 0, BX_READ, &raw_ldt_selector);\n    BX_CPU_THIS_PTR access_linear(nbase32 + 0x64, 2, 0, BX_READ, &trap_word);\n    // I/O Map Base Address ???\n    }\n\n#if 0\nif (ss_descriptor.u.segment.d_b && (tss_descriptor->type<9)) {\n  BX_DEBUG(( \"++++++++++++++++++++++++++\" ));\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid = 0;\n  exception(BX_SS_EXCEPTION, raw_ss_selector & 0xfffc, 0);\n  //exception(BX_TS_EXCEPTION, tss_selector->value & 0xfffc, 0);\n  }\n#endif\n\n\n  //\n  // Step 6: If JMP or IRET, clear busy bit in old task TSS descriptor,\n  //         otherwise leave set.\n  //\n\n  // effect on Busy bit of old task\n  if ( (source==BX_TASK_FROM_JUMP) || (source==BX_TASK_FROM_IRET) ) {\n    // Bit is cleared\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base +\n                  BX_CPU_THIS_PTR tr.selector.index*8 + 4,\n                  4, 0, BX_READ, &temp32);\n    temp32 &= ~0x00000200;\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base +\n                  BX_CPU_THIS_PTR tr.selector.index*8 + 4,\n                  4, 0, BX_WRITE, &temp32);\n    }\n\n\n  //\n  // Step 7: If IRET, clear NT flag in temp image of EFLAGS, otherwise\n  //         leave alone.\n  //\n\n  if (source == BX_TASK_FROM_IRET) {\n    // NT flags in old task is cleared with an IRET\n    oldEFLAGS &= ~0x00004000;\n    }\n\n\n  //\n  // Step 8: Save dynamic state of old task.\n  //\n\n  if (BX_CPU_THIS_PTR tr.cache.type <= 3) {\n    // sanity check: tr.cache.type cannot have busy bit\n    BX_ASSERT ((BX_CPU_THIS_PTR tr.cache.type & 2) == 0);\n    temp16 = X86_IP; BX_CPU_THIS_PTR access_linear(obase32 + 14, 2, 0, BX_WRITE, &temp16);\n    temp16 = oldEFLAGS; BX_CPU_THIS_PTR access_linear(obase32 + 16, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_AX; BX_CPU_THIS_PTR access_linear(obase32 + 18, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_CX; BX_CPU_THIS_PTR access_linear(obase32 + 20, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_DX; BX_CPU_THIS_PTR access_linear(obase32 + 22, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_BX; BX_CPU_THIS_PTR access_linear(obase32 + 24, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_SP; BX_CPU_THIS_PTR access_linear(obase32 + 26, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_BP; BX_CPU_THIS_PTR access_linear(obase32 + 28, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_SI; BX_CPU_THIS_PTR access_linear(obase32 + 30, 2, 0, BX_WRITE, &temp16);\n    temp16 = X86_DI; BX_CPU_THIS_PTR access_linear(obase32 + 32, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value;\n                 BX_CPU_THIS_PTR access_linear(obase32 + 34, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n                 BX_CPU_THIS_PTR access_linear(obase32 + 36, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value;\n                 BX_CPU_THIS_PTR access_linear(obase32 + 38, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value;\n                 BX_CPU_THIS_PTR access_linear(obase32 + 40, 2, 0, BX_WRITE, &temp16);\n    }\n  else {\n    temp32 = X86_EIP; BX_CPU_THIS_PTR access_linear(obase32 + 0x20, 4, 0, BX_WRITE, &temp32);\n    temp32 = oldEFLAGS; BX_CPU_THIS_PTR access_linear(obase32 + 0x24, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_EAX; BX_CPU_THIS_PTR access_linear(obase32 + 0x28, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_ECX; BX_CPU_THIS_PTR access_linear(obase32 + 0x2c, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_EDX; BX_CPU_THIS_PTR access_linear(obase32 + 0x30, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_EBX; BX_CPU_THIS_PTR access_linear(obase32 + 0x34, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_ESP; BX_CPU_THIS_PTR access_linear(obase32 + 0x38, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_EBP; BX_CPU_THIS_PTR access_linear(obase32 + 0x3c, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_ESI; BX_CPU_THIS_PTR access_linear(obase32 + 0x40, 4, 0, BX_WRITE, &temp32);\n    temp32 = X86_EDI; BX_CPU_THIS_PTR access_linear(obase32 + 0x44, 4, 0, BX_WRITE, &temp32);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x48, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x4c, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x50, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x54, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x58, 2, 0, BX_WRITE, &temp16);\n    temp16 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value;\n                  BX_CPU_THIS_PTR access_linear(obase32 + 0x5c, 2, 0, BX_WRITE, &temp16);\n    }\n\n\n\n  //\n  // Commit point.  At this point, we commit to the new\n  // context.  If an unrecoverable error occurs in further\n  // processing, we complete the task switch without performing\n  // additional access and segment availablility checks and\n  // generate the appropriate exception prior to beginning\n  // execution of the new task.\n  //\n\n\n  // Task switch clears LE/L3/L2/L1/L0 in DR7\n  BX_CPU_THIS_PTR dr7 &= ~0x00000155;\n\n\n// effect on link field of new task\nif ( source==BX_TASK_FROM_CALL_OR_INT ) {\n  // set to selector of old task's TSS\n  temp16 = BX_CPU_THIS_PTR tr.selector.value;\n  BX_CPU_THIS_PTR access_linear(nbase32 + 0, 2, 0, BX_WRITE, &temp16);\n  }\n\n\n\n  //\n  // Step 9: If call or interrupt, set the NT flag in the eflags\n  //         image stored in new task's TSS.  If IRET or JMP,\n  //         NT is restored from new TSS eflags image. (no change)\n  //\n\n  // effect on NT flag of new task\n  if ( source==BX_TASK_FROM_CALL_OR_INT ) {\n    newEFLAGS |= 0x4000; // flag is set\n    }\n\n\n  //\n  // Step 10: If CALL, interrupt, or JMP, set busy flag in new task's\n  //          TSS descriptor.  If IRET, leave set.\n  //\n\n  if ( (source==BX_TASK_FROM_JUMP) || (source==BX_TASK_FROM_CALL_OR_INT) ) {\n    // set the new task's busy bit\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + tss_selector->index*8 + 4,\n                  4, 0, BX_READ, &dword2);\n    dword2 |= 0x00000200;\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR gdtr.base + tss_selector->index*8 + 4,\n                  4, 0, BX_WRITE, &dword2);\n    }\n\n\n  //\n  // Step 11: Set TS flag in the CR0 image stored in the new task TSS.\n  //\n\n  // set TS bit in CR0 register\n  BX_CPU_THIS_PTR cr0.ts = 1;\n  BX_CPU_THIS_PTR cr0.val32 |= 0x00000008;\n\n\n  //\n  // Step 12: Load the task register with the segment selector and\n  //          descriptor for the new task TSS.\n  //\n\n  BX_CPU_THIS_PTR tr.selector = *tss_selector;\n  BX_CPU_THIS_PTR tr.cache    = *tss_descriptor;\n  // Reset the busy-flag, because all functions expect non-busy types in\n  // tr.cache.  From Peter Lammich <peterl@sourceforge.net>.\n  BX_CPU_THIS_PTR tr.cache.type &= ~2;\n\n\n  //\n  // Step 13: Load the new task (dynamic) state from new TSS.\n  //          Any errors associated with loading and qualification of\n  //          segment descriptors in this step occur in the new task's\n  //          context.  State loaded here includes LDTR, CR3,\n  //          EFLAGS, EIP, general purpose registers, and segment\n  //          descriptor parts of the segment registers.\n  //\n\n  if (tss_descriptor->type >= 9) {\n    CR3_change(newCR3); // Tell paging unit about new cr3 value\n    BX_DEBUG ((\"task_switch changing CR3 to 0x%08x\\n\", newCR3));\n    BX_INSTR_TLB_CNTRL(BX_INSTR_TASKSWITCH, newCR3);\n    }\n\n  BX_CPU_THIS_PTR prev_eip = X86_EIP = newEIP;\n  write_eflags(newEFLAGS, 1,1,1,1);\n  X86_EAX = newEAX;\n  X86_ECX = newECX;\n  X86_EDX = newEDX;\n  X86_EBX = newEBX;\n  X86_ESP = newESP;\n  X86_EBP = newEBP;\n  X86_ESI = newESI;\n  X86_EDI = newEDI;\n\n  // Fill in selectors for all segment registers.  If errors\n  // occur later, the selectors will at least be loaded.\n  parse_selector(raw_es_selector, &es_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector = es_selector;\n  parse_selector(raw_cs_selector, &cs_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector = cs_selector;\n  parse_selector(raw_ss_selector, &ss_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector = ss_selector;\n  parse_selector(raw_ds_selector, &ds_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector = ds_selector;\n  parse_selector(raw_fs_selector, &fs_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector = fs_selector;\n  parse_selector(raw_gs_selector, &gs_selector);\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector = gs_selector;\n  parse_selector(raw_ldt_selector, &ldt_selector);\n  BX_CPU_THIS_PTR ldtr.selector                 = ldt_selector;\n\n  // Start out with invalid descriptor caches, fill in\n  // with values only as they are validated.\n  BX_CPU_THIS_PTR ldtr.cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid = 0;\n\n\n// need to test valid bit in fetch_raw_descriptor?()\n// or set limit to 0 instead when LDT is loaded with\n// null. ??? +++\nBX_CPU_THIS_PTR ldtr.cache.u.ldt.limit = 0;\n\n  // LDTR\n  if (ldt_selector.ti) {\n    // LDT selector must be in GDT\n    BX_INFO((\"task_switch: bad LDT selector TI=1\"));\n    exception_no = BX_TS_EXCEPTION;\n    error_code   = raw_ldt_selector & 0xfffc;\n    goto post_exception;\n    }\n\n// ??? is LDT loaded in v8086 mode\n  if ( (raw_ldt_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&ldt_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad LDT fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ldt_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &ldt_descriptor);\n\n    // LDT selector of new task is valid, else #TS(new task's LDT)\n    if (ldt_descriptor.valid==0 ||\n        ldt_descriptor.type!=2 ||\n        ldt_descriptor.segment ||\n        ldt_descriptor.u.ldt.limit<7) {\n      BX_INFO((\"task_switch: bad LDT segment\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ldt_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    // LDT of new task is present in memory, else #TS(new tasks's LDT)\n    else if (ldt_descriptor.p==0) {\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ldt_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in LDTR shadow cache\n    BX_CPU_THIS_PTR ldtr.cache = ldt_descriptor;\n    }\n  else {\n    // NULL LDT selector is OK, leave cache invalid\n    }\n\n  if (v8086_mode())\n  {\n    // load seg regs as 8086 registers\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = raw_es_selector;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value = raw_cs_selector;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value = raw_ss_selector;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = raw_ds_selector;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = raw_fs_selector;\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = raw_gs_selector;\n\tinit_v8086_mode();\n  }\n  else {\n\n  // CS\n  if ( (raw_cs_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&cs_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad CS fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_cs_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &cs_descriptor);\n\n    // CS descriptor AR byte must indicate code segment else #TS(CS)\n    if (cs_descriptor.valid==0 || cs_descriptor.segment==0 ||\n        cs_descriptor.u.segment.executable==0) {\n      BX_PANIC((\"task_switch: CS not valid executable seg\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_cs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if non-conforming then DPL must equal selector RPL else #TS(CS)\n    else if (cs_descriptor.u.segment.c_ed==0 &&\n        cs_descriptor.dpl!=cs_selector.rpl) {\n      BX_INFO((\"task_switch: non-conforming: CS.dpl!=CS.RPL\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_cs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if conforming then DPL must be <= selector RPL else #TS(CS)\n    else if (cs_descriptor.u.segment.c_ed &&\n        cs_descriptor.dpl>cs_selector.rpl) {\n      BX_INFO((\"task_switch: conforming: CS.dpl>RPL\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_cs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // Code segment is present in memory, else #NP(new code segment)\n    else if (cs_descriptor.p==0) {\n      BX_PANIC((\"task_switch: CS.p==0\"));\n      exception_no = BX_NP_EXCEPTION;\n      error_code   = raw_cs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache    = cs_descriptor;\n    }\n  else {\n    // If new cs selector is null #TS(CS)\n    BX_PANIC((\"task_switch: CS NULL\"));\n    exception_no = BX_TS_EXCEPTION;\n    error_code   = raw_cs_selector & 0xfffc;\n    goto post_exception;\n    }\n\n\n  // SS\n  if ( (raw_ss_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&ss_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad SS fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &ss_descriptor);\n    // SS selector must be within its descriptor table limits else #TS(SS)\n    // SS descriptor AR byte must must indicate writable data segment,\n    // else #TS(SS)\n    if (ss_descriptor.valid==0 ||\n        ss_descriptor.segment==0 ||\n        ss_descriptor.u.segment.executable ||\n        ss_descriptor.u.segment.r_w==0) {\n      BX_INFO((\"task_switch: SS not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    //\n    // Stack segment is present in memory, else #SF(new stack segment)\n    //\n    else if (ss_descriptor.p==0) {\n      BX_PANIC((\"task_switch: SS not present\"));\n      exception_no = BX_SS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    // Stack segment DPL matches CS.RPL, else #TS(new stack segment)\n    else if (ss_descriptor.dpl != cs_selector.rpl) {\n      BX_PANIC((\"task_switch: SS.rpl != CS.RPL\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    // Stack segment DPL matches selector RPL, else #TS(new stack segment)\n    else if (ss_descriptor.dpl != ss_selector.rpl) {\n      BX_PANIC((\"task_switch: SS.dpl != SS.rpl\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n\n#if 0\n    // +++\n    else if (ss_descriptor.u.segment.d_b && (tss_descriptor->type<9)) {\n      BX_DEBUG(( \"++++++++++++++++++++++++++\" ));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ss_selector & 0xfffc;\n      goto post_exception;\n      }\n#endif\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache    = ss_descriptor;\n    }\n  else {\n    // SS selector is valid, else #TS(new stack segment)\n    BX_PANIC((\"task_switch: SS NULL\"));\n    exception_no = BX_TS_EXCEPTION;\n    error_code   = raw_ss_selector & 0xfffc;\n    goto post_exception;\n    }\n\n\n  //   if new selector is not null then perform following checks:\n  //     index must be within its descriptor table limits else #TS(selector)\n  //     AR byte must indicate data or readable code else #TS(selector)\n  //     if data or non-conforming code then:\n  //       DPL must be >= CPL else #TS(selector)\n  //       DPL must be >= RPL else #TS(selector)\n  //     AR byte must indicate PRESENT else #NP(selector)\n  //     load cache with new segment descriptor and set valid bit\n\n\n\n  // DS\n  if ( (raw_ds_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&ds_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad DS fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ds_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &ds_descriptor);\n    if (ds_descriptor.valid==0 || ds_descriptor.segment==0 ||\n        (ds_descriptor.u.segment.executable &&\n         ds_descriptor.u.segment.r_w==0)) {\n      BX_PANIC((\"task_switch: DS not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ds_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if data or non-conforming code\n    else if (ds_descriptor.type<12 &&\n        (ds_descriptor.dpl<cs_selector.rpl ||\n         ds_descriptor.dpl<ds_selector.rpl)) {\n      BX_PANIC((\"task_switch: DS.dpl not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_ds_selector & 0xfffc;\n      goto post_exception;\n      }\n    else if (ds_descriptor.p==0) {\n      BX_PANIC((\"task_switch: DS.p==0\"));\n      exception_no = BX_NP_EXCEPTION;\n      error_code   = raw_ds_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache    = ds_descriptor;\n    }\n  else {\n    // NULL DS selector is OK, leave cache invalid\n    }\n\n  // ES\n  if ( (raw_es_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&es_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad ES fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_es_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &es_descriptor);\n    if (es_descriptor.valid==0 || es_descriptor.segment==0 ||\n        (es_descriptor.u.segment.executable &&\n         es_descriptor.u.segment.r_w==0)) {\n      BX_PANIC((\"task_switch: ES not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_es_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if data or non-conforming code\n    else if (es_descriptor.type<12 &&\n        (es_descriptor.dpl<cs_selector.rpl ||\n         es_descriptor.dpl<es_selector.rpl)) {\n      BX_PANIC((\"task_switch: ES.dpl not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_es_selector & 0xfffc;\n      goto post_exception;\n      }\n    else if (es_descriptor.p==0) {\n      BX_PANIC((\"task_switch: ES.p==0\"));\n      exception_no = BX_NP_EXCEPTION;\n      error_code   = raw_es_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache    = es_descriptor;\n    }\n  else {\n    // NULL ES selector is OK, leave cache invalid\n    }\n\n\n  // FS\n  if ( (raw_fs_selector & 0xfffc) != 0 ) { // not NULL\n    Boolean good;\n    good = fetch_raw_descriptor2(&fs_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad FS fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_fs_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &fs_descriptor);\n    if (fs_descriptor.valid==0 || fs_descriptor.segment==0 ||\n        (fs_descriptor.u.segment.executable &&\n         fs_descriptor.u.segment.r_w==0)) {\n      BX_PANIC((\"task_switch: FS not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_fs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if data or non-conforming code\n    else if (fs_descriptor.type<12 &&\n        (fs_descriptor.dpl<cs_selector.rpl ||\n         fs_descriptor.dpl<fs_selector.rpl)) {\n      BX_PANIC((\"task_switch: FS.dpl not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_fs_selector & 0xfffc;\n      goto post_exception;\n      }\n    else if (fs_descriptor.p==0) {\n      BX_PANIC((\"task_switch: FS.p==0\"));\n      exception_no = BX_NP_EXCEPTION;\n      error_code   = raw_fs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache    = fs_descriptor;\n    }\n  else {\n    // NULL FS selector is OK, leave cache invalid\n    }\n\n  // GS\n  if ( (raw_gs_selector & 0xfffc) != 0 ) {\n    Boolean good;\n    good = fetch_raw_descriptor2(&gs_selector, &dword1, &dword2);\n    if (!good) {\n      BX_INFO((\"task_switch: bad GS fetch\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_gs_selector & 0xfffc;\n      goto post_exception;\n      }\n\n    parse_descriptor(dword1, dword2, &gs_descriptor);\n    if (gs_descriptor.valid==0 || gs_descriptor.segment==0 ||\n        (gs_descriptor.u.segment.executable &&\n         gs_descriptor.u.segment.r_w==0)) {\n      BX_PANIC((\"task_switch: GS not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_gs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // if data or non-conforming code\n    else if (gs_descriptor.type<12 &&\n        (gs_descriptor.dpl<cs_selector.rpl ||\n         gs_descriptor.dpl<gs_selector.rpl)) {\n      BX_PANIC((\"task_switch: GS.dpl not valid\"));\n      exception_no = BX_TS_EXCEPTION;\n      error_code   = raw_gs_selector & 0xfffc;\n      goto post_exception;\n      }\n    else if (gs_descriptor.p==0) {\n      BX_PANIC((\"task_switch: GS.p==0\"));\n      //exception(BX_NP_EXCEPTION, raw_gs_selector & 0xfffc, 0);\n      exception_no = BX_NP_EXCEPTION;\n      error_code   = raw_gs_selector & 0xfffc;\n      goto post_exception;\n      }\n    // All checks pass, fill in shadow cache\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache    = gs_descriptor;\n    }\n  else {\n    // NULL GS selector is OK, leave cache invalid\n    }\n\n    }\n\n\n  if ((tss_descriptor->type>=9) && (trap_word & 0x0001)) {\n    BX_CPU_THIS_PTR debug_trap |= 0x00008000; // BT flag in DR6\n    BX_CPU_THIS_PTR async_event = 1; // so processor knows to check\n    BX_INFO((\"task_switch: T bit set in new TSS.\"));\n    }\n\n\n\n  //\n  // Step 14: Begin execution of new task.\n  //\n//BX_DEBUG(( \"TASKING: LEAVE\" ));\n  return;\n\npost_exception:\n  BX_CPU_THIS_PTR debug_trap = 0;\n  BX_CPU_THIS_PTR inhibit_mask = 0;\n  BX_INFO((\"task switch: posting exception %u after commit point\",\n    exception_no));\n  exception(exception_no, error_code, 0);\n  return;\n}\n\n\n  void\nBX_CPU_C::get_SS_ESP_from_TSS(unsigned pl, Bit16u *ss, Bit32u *esp)\n{\n  if (BX_CPU_THIS_PTR tr.cache.valid==0)\n    BX_PANIC((\"get_SS_ESP_from_TSS: TR.cache invalid\"));\n\n  if (BX_CPU_THIS_PTR tr.cache.type==9) {\n    // 32-bit TSS\n    Bit32u TSSstackaddr;\n\n    TSSstackaddr = 8*pl + 4;\n    if ( (TSSstackaddr+7) >\n         BX_CPU_THIS_PTR tr.cache.u.tss386.limit_scaled )\n      exception(BX_TS_EXCEPTION,\n                BX_CPU_THIS_PTR tr.selector.value & 0xfffc, 0);\n\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss386.base +\n      TSSstackaddr+4, 2, 0, BX_READ, ss);\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss386.base +\n      TSSstackaddr,   4, 0, BX_READ, esp);\n    }\n  else if (BX_CPU_THIS_PTR tr.cache.type==1) {\n    // 16-bit TSS\n    Bit16u temp16;\n    Bit32u TSSstackaddr;\n\n    TSSstackaddr = 4*pl + 2;\n    if ( (TSSstackaddr+4) > BX_CPU_THIS_PTR tr.cache.u.tss286.limit )\n      exception(BX_TS_EXCEPTION,\n                BX_CPU_THIS_PTR tr.selector.value & 0xfffc, 0);\n\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss286.base +\n      TSSstackaddr+2, 2, 0, BX_READ, ss);\n    BX_CPU_THIS_PTR access_linear(BX_CPU_THIS_PTR tr.cache.u.tss286.base +\n      TSSstackaddr,   2, 0, BX_READ, &temp16);\n    *esp = temp16; // truncate\n    }\n  else {\n    BX_PANIC((\"get_SS_ESP_from_TSS: TR is bogus type (%u)\",\n             (unsigned) BX_CPU_THIS_PTR tr.cache.type));\n    }\n}\n#endif\n\n\n\n#else  // BX_SUPPORT_TASKING\n\n\n// for non-support of hardware tasking\n\n#if BX_CPU_LEVEL >= 2\n  /* corresponds to SWITCH_TASKS algorithm in Intel documentation */\n  void\nBX_CPU_C::task_switch(bx_selector_t *selector,\n                 bx_descriptor_t *descriptor, unsigned source,\n                 Bit32u dword1, Bit32u dword2)\n{\n  UNUSED(selector);\n  UNUSED(descriptor);\n  UNUSED(source);\n  UNUSED(dword1);\n  UNUSED(dword2);\n\n  BX_INFO((\"task_switch(): not complete\"));\n}\n#endif\n\n#endif // BX_SUPPORT_TASKING\n"
  },
  {
    "path": "Project/IntelCPU/Source/vm8086.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: vm8086.cc,v 1.9 2002/03/01 17:27:25 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n\n// Notes:\n//\n// The high bits of the 32bit eip image are ignored by\n// the IRET to VM.  The high bits of the 32bit esp image\n// are loaded into ESP.  A subsequent push uses\n// only the low 16bits since it's in VM.  In neither case\n// did a protection fault occur during actual tests.  This\n// is contrary to the Intel docs which claim a #GP for\n// eIP out of code limits.\n//\n// IRET to VM does affect IOPL, IF, VM, and RF\n\n\n#if BX_SUPPORT_V8086_MODE\n\n\n#if BX_CPU_LEVEL >= 3\n\n\n  void\nBX_CPU_C::stack_return_to_v86(Bit32u new_eip, Bit32u raw_cs_selector,\n                              Bit32u flags32)\n{\n  Bit32u temp_ESP, new_esp, esp_laddr;\n  Bit16u raw_es_selector, raw_ds_selector, raw_fs_selector,\n         raw_gs_selector, raw_ss_selector;\n\n\n  // Must be 32bit effective opsize, VM is in upper 16bits of eFLAGS\n  // CPL = 0 to get here\n\n  // ----------------\n  // |     | OLD GS | eSP+32\n  // |     | OLD FS | eSP+28\n  // |     | OLD DS | eSP+24\n  // |     | OLD ES | eSP+20\n  // |     | OLD SS | eSP+16\n  // |  OLD ESP     | eSP+12\n  // | OLD EFLAGS   | eSP+8\n  // |     | OLD CS | eSP+4\n  // |  OLD EIP     | eSP+0\n  // ----------------\n\n  if (BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b)\n    temp_ESP = X86_ESP;\n  else\n    temp_ESP = X86_SP;\n\n  // top 36 bytes of stack must be within stack limits, else #GP(0)\n  if ( !can_pop(36) ) {\n    BX_PANIC((\"iret: VM: top 36 bytes not within limits\"));\n    exception(BX_SS_EXCEPTION, 0, 0);\n    return;\n    }\n\n  if ( new_eip & 0xffff0000 ) {\n    BX_INFO((\"IRET to V86-mode: ignoring upper 16-bits\"));\n    new_eip = new_eip & 0xffff;\n    }\n\n  esp_laddr = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base +\n              temp_ESP;\n\n  // load SS:ESP from stack\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 12, 4, 0, BX_READ, &new_esp);\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 16, 2, 0, BX_READ, &raw_ss_selector);\n\n  // load ES,DS,FS,GS from stack\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 20, 2, 0, BX_READ, &raw_es_selector);\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 24, 2, 0, BX_READ, &raw_ds_selector);\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 28, 2, 0, BX_READ, &raw_fs_selector);\n  BX_CPU_THIS_PTR access_linear(esp_laddr + 32, 2, 0, BX_READ, &raw_gs_selector);\n\n  write_eflags(flags32, /*change IOPL*/ 1, /*change IF*/ 1,\n                  /*change VM*/ 1, /*change RF*/ 1);\n\n  // load CS:EIP from stack; already read and passed as args\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value = raw_cs_selector;\n  X86_EIP = new_eip;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value = raw_es_selector;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value = raw_ds_selector;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value = raw_fs_selector;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value = raw_gs_selector;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value = raw_ss_selector;\n\n  X86_ESP = new_esp; // Full 32bits are loaded.\n\n  init_v8086_mode();\n}\n\n\n  void\nBX_CPU_C::stack_return_from_v86(bxInstruction_c *i)\n{\n//\n/*\n  static Bit32u times = 0;\n  times++;\n  if (times<100) {\n    BX_ERROR((\"stack_return_from_v86 may not be implemented right!\"));\n  } else if (times==100) {\n    BX_ERROR((\"stack_return_from_v86 called 100 times. I won't print this error any more\"));\n  }\n\n  //exception(BX_GP_EXCEPTION, 0, 0);\n\n//*/\n\n#if 1\n  if (X86_IOPL != 3) {\n    // trap to virtual 8086 monitor\n//    BX_ERROR((\"stack_return_from_v86: IOPL != 3\"));\n    exception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n  if (i->size_mode.os_32) {\n    Bit32u eip, ecs_raw, eflags;\n\n// ??? should be some stack checks here\n\n    pop_32(&eip);\n    pop_32(&ecs_raw);\n    pop_32(&eflags);\n\n    load_seg_reg(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS], (Bit16u) ecs_raw);\n    BX_CPU_THIS_PTR program_visible_eip = eip;\n    write_eflags(eflags, /*IOPL*/ CPL==0, /*IF*/ 1, /*VM*/ 0, /*RF*/ 1);\n    }\n  else {\n    Bit16u ip, cs_raw, flags;\n\n// ??? should be some stack checks here\n    pop_16(&ip);\n    pop_16(&cs_raw);\n    pop_16(&flags);\n\n    load_seg_reg(&BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS], cs_raw);\n    BX_CPU_THIS_PTR program_visible_eip = (Bit32u) ip;\n    write_flags(flags, /*IOPL*/ CPL==0, /*IF*/ 1);\n    }\n#endif\n}\n\n\n  void\nBX_CPU_C::init_v8086_mode(void)\n{\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.cpl__3 = 1;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.type = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.type = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.type = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.type = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.type = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.type = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.AR_byte = 0x93;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.AR_byte = 0x93;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.AR_byte = 0x93;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.AR_byte = 0x93;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.AR_byte = 0x93;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.AR_byte = 0x93;\n\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.executable   = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.rpl                 = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.executable   = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_SS].selector.rpl                 = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.executable   = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_ES].selector.rpl                 = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.executable   = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_DS].selector.rpl                 = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.executable   = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_FS].selector.rpl                 = 3;\n\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.valid                  = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.p                      = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.dpl                    = 3;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.segment                = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.executable   = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.c_ed         = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.r_w          = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.a            = 1;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.base         =\n    BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.value << 4;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit        = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.limit_scaled = 0xffff;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.g            = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.d_b          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].cache.u.segment.avl          = 0;\n  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_GS].selector.rpl                 = 3;\n}\n\n\n#endif /* BX_CPU_LEVEL >= 3 */\n\n\n\n\n\n#else  // BX_SUPPORT_V8086_MODE\n\n// non-support of v8086 mode\n\n  void\nBX_CPU_C::stack_return_to_v86(Bit32u new_eip, Bit32u raw_cs_selector, Bit32u flags32)\n{\n  BX_INFO((\"stack_return_to_v86: VM bit set in EFLAGS stack image\"));\n  v8086_message();\n}\n\n  void\nBX_CPU_C::stack_return_from_v86(void)\n{\n  BX_INFO((\"stack_return_from_v86:\"));\n  v8086_message();\n}\n\n  void\nBX_CPU_C::v8086_message(void)\n{\n  BX_INFO((\"Program compiled with BX_SUPPORT_V8086_MODE = 0\"));\n  BX_INFO((\"You need to rerun the configure script and recompile\"));\n  BX_INFO((\"  to use virtual-8086 mode features.\"));\n  BX_PANIC((\"Bummer!\"));\n}\n#endif // BX_SUPPORT_V8086_MODE\n"
  },
  {
    "path": "Project/IntelCPU/Source/x86cpu.cpp",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.cc,v 1.0 2002/10/08 16:04:05 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.cc $Id: x86cpu.cc $Id: x86cpu.cc $Id: x86cpu.cc $Id: x86cpu.cc\n/////////////////////////////////////////////////////////////////////////\n\n#include \"stdafx.h\"\n#include \"x86cpu.h\"\n// notes:\n//\n// check limit of CS?\n\n#ifdef REGISTER_IADDR\nextern void REGISTER_IADDR(bx_addr addr);\n#endif\n\n// The CHECK_MAX_INSTRUCTIONS macro allows cpu_loop to execute a few\n// instructions and then return so that the other processors have a chance to\n// run.  This is used only when simulating multiple processors.\n// \n// If maximum instructions have been executed, return.  A count less\n// than zero means run forever.\n#define CHECK_MAX_INSTRUCTIONS(count) if (count >= 0) { count--; if (count == 0) return; }\n\n#if BX_SMP_PROCESSORS==1\n#  define BX_TICK1_IF_SINGLE_PROCESSOR() BX_TICK1()\n#else\n#  define BX_TICK1_IF_SINGLE_PROCESSOR()\n#endif\n\n// Make code more tidy with a few macros.\n#if BX_SUPPORT_X86_64==0\n#define RIP X86_EIP\n#define RSP X86_ESP\n#endif\n\nvoid PrintfCPU(BX_CPU_C *cpu,char *s,int i=0)\n{\n\treturn ;\n\tprintf(\"%s  %d\\n\",s,i);\n\tprintf(\t\"EAX=0x%08X , EBX=0x%08X , ECX=0x%08X , EDX=0x%08X\\n\"\n\t\t\t\"ESI=0x%08X , EDI=0x%08X , EBP=0x%08X , ESP=0x%08X\\n\"\n\t\t\t\"EIP=0x%08X , EFLAG=0x%08X\\n\"\n\t\t\t\"CS Mode=0x%08X , CS SELECTOR=0x%08X ,CS Base=0x%08X\\n\",\n\t\t\tcpu->GENERAL_REG_DWORD(I_EAX),cpu->GENERAL_REG_DWORD(I_EBX),\n\t\t\tcpu->GENERAL_REG_DWORD(I_ECX),cpu->GENERAL_REG_DWORD(I_EDX),\n\n\t\t\tcpu->GENERAL_REG_DWORD(I_ESI),cpu->GENERAL_REG_DWORD(I_EDI),\n\t\t\tcpu->GENERAL_REG_DWORD(I_EBP),cpu->GENERAL_REG_DWORD(I_ESP),\n\n\t\t\tcpu->REG_EIP,cpu->REG_EFLAGS,\n\n\t\t\tcpu->SEGMENT_MODE(I_CS),cpu->SEGMENT_SELECTOR(I_CS),cpu->SEGMENT_BASE_ADDRESS(I_CS)\n\t\t\t);\n\n\tgetchar();\n\n\treturn ;\n}\n\nint \nBX_CPU_C::x86_cpu_loop(Bit32s max_instr_counter)\n{\n\tunsigned ret;\n\tbxInstruction_c iStorage;// BX_CPP_AlignN(32);\n\tbxInstruction_c *i = &iStorage;\n\tBxExecutePtr_t execute;\n\n\tint setjmp_result;\n\tint copy_max_instr_counter;\n\n\tcopy_max_instr_counter = max_instr_counter;\n\n\tsetjmp_result = setjmp( BX_CPU_THIS_PTR jmp_buf_env );\n\n\tif (setjmp_result)\n\t{\n\t\tif (1==setjmp_result)\n\t\t{\n\t\t\treturn copy_max_instr_counter - max_instr_counter;\n\t\t}\n\t\tif (2==setjmp_result)\n\t\t{\n\t\t\treturn -1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn -1;\n\t\t}\n\t}\n\n\t// We get here either by a normal function call, or by a longjmp\n\t// back from an exception() call.  In either case, commit the\n\t// new EIP/ESP, and set up other environmental fields.  This code\n\t// mirrors similar code below, after the interrupt() call.\n\tBX_CPU_THIS_PTR prev_eip = RIP; // commit new EIP\n\tBX_CPU_THIS_PTR prev_esp = RSP; // commit new ESP\n\tBX_CPU_THIS_PTR EXT = 0;\n\tBX_CPU_THIS_PTR errorno = 0;\n\n\twhile (1) {\n\n\t\t// First check on events which occurred for previous instructions\n\t\t// (traps) and ones which are asynchronous to the CPU\n\t\t// (hardware interrupts).\n\t\tif (BX_CPU_THIS_PTR async_event) {\n\t\t\tif (x86_handleAsyncEvent()) {\n\t\t\t\t// If request to return to caller ASAP.\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\n\n#if BX_EXTERNAL_DEBUGGER\n\t\tif (regs.debug_state != debug_run) {\n\t\t\tbx_external_debugger(this);\n\t\t}\n#endif\n\n\t\t{\n\t\t\tbx_address eipBiased;\n\t\t\tBit8u *fetchPtr;\n\n\t\t\teipBiased = RIP + BX_CPU_THIS_PTR eipPageBias;\n\n\t\t\tif ( eipBiased >= BX_CPU_THIS_PTR eipPageWindowSize ) \n\t\t\t{\n\t\t\t\tx86_prefetch();\n\t\t\t\teipBiased = RIP + BX_CPU_THIS_PTR eipPageBias;\n\n#if (X86CPU_MSWIN_MSDOS==1)\n\t\t\t\tif (max_instr_counter != copy_max_instr_counter)\n\t\t\t\t\tlongjmp(BX_CPU_THIS_PTR jmp_buf_env,1);\n#endif\n\n\t\t\t}\n\n#if BX_SupportICache\n\t\t\tunsigned iCacheHash;\n\t\t\tBit32u pAddr, pageWriteStamp, fetchModeMask;\n\n\t\t\t//#define BxICacheInstructions 0x100 // 28%\n\t\t\t//#define BxICacheInstructions 0x200 // 47%\n\t\t\t//#define BxICacheInstructions 0x400 // 75%\n\t\t\t//#define BxICacheInstructions 0x800 // 85%\n\n\t\t\t//#define BxICacheInstructions 0x1000 // 88%\n\t\t\t//#define BxICacheInstructions 0x2000 // 89%\n\t\t\t//#define BxICacheInstructions 0x4000 // 89%\n\t\t\t//#define BxICacheInstructions 0x8000 // 89%\n\n#define BxICacheInstructions 0x1000  // 88%\n\n\t\t\tpAddr = BX_CPU_THIS_PTR pAddrA20Page + eipBiased;\n\t\t\tiCacheHash = BX_CPU_THIS_PTR iCache.hash( pAddr );\n\t\t\tiCacheHash = BX_CPU_THIS_PTR iCache.iAllocStampEntry[iCacheHash];\n\t\t\ti = & BX_CPU_THIS_PTR iCache.entry[iCacheHash].i;\n\n\t\t\tpageWriteStamp = BX_CPU_THIS_PTR iCache.pageWriteStampTable[pAddr>>12];\n\t\t\tfetchModeMask  = BX_CPU_THIS_PTR iCache.fetchModeMask;\n\n\t\t\tBX_CPU_THIS_PTR stamp.fetchdecode++;\n\t\t\tstatic int SPRINTF_COUNTER;\n\t\t\tif (++SPRINTF_COUNTER>=0x1000000)\n\t\t\t{\n\t\t\t\tSPRINTF_COUNTER = 0;\n\t\t\t\tchar s_fetch[64],s_write[64],s_cahceLoop[64];\n\t\t\t\tBit64u all_stamp = BX_CPU_THIS_PTR stamp.fetchdecode;\n\t\t\t\tsprintf(s_fetch,\"fetch: %08x-%08x\",(int)(all_stamp>>32),(int)all_stamp);\n\t\t\t\tsprintf(s_write,\"write: %d%%\",(BX_CPU_THIS_PTR stamp.WriteMemoryCounter)*100/all_stamp);\n\t\t\t\tsprintf(s_cahceLoop,\"loop: %d%%\",(BX_CPU_THIS_PTR stamp.cahceLoop)*100/all_stamp);\n\t\t\t\tBX_PANIC((\"%s %s %s\\n\",s_fetch,s_write,s_cahceLoop));\n\t\t\t}\n\n\t\t\tif ( (BX_CPU_THIS_PTR iCache.entry[iCacheHash].pAddr == pAddr) &&\n\t\t\t\t(BX_CPU_THIS_PTR iCache.entry[iCacheHash].writeStamp == pageWriteStamp) &&\n\t\t\t\t((pageWriteStamp & fetchModeMask) == fetchModeMask) ) {\n\n\t\t\t\t\tBX_CPU_THIS_PTR stamp.cahceLoop++;\n\n\t\t\t\t\t// iCache hit.  Instruction is already decoded and stored in\n\t\t\t\t\t// the instruction cache.\n\t\t\t\t\tBxExecutePtr_t resolveModRM = i->ResolveModrm; // Get as soon as possible for speculation.\n\n\t\t\t\t\texecute = i->execute; // fetch as soon as possible for speculation.\n\t\t\t\t\tif (resolveModRM) {\n\t\t\t\t\t\tBX_CPU_CALL_METHOD(resolveModRM, (icpu,i));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\telse\n#endif\n\t\t\t{\n\t\t\t\t// iCache miss.  No validated instruction with matching fetch parameters\n\t\t\t\t// is in the iCache.  Or we're not compiling iCache support in, in which\n\t\t\t\t// case we always have an iCache miss.  :^)\n\t\t\t\tbx_address remainingInPage;\n\t\t\t\tunsigned maxFetch;\n\n\t\t\t\tremainingInPage = (BX_CPU_THIS_PTR eipPageWindowSize - eipBiased);\n\t\t\t\tmaxFetch = 15;\n\t\t\t\tif (remainingInPage < 15)\n\t\t\t\t\tmaxFetch = remainingInPage;\n\t\t\t\tfetchPtr = BX_CPU_THIS_PTR eipFetchPtr + eipBiased;\n\n#if BX_SupportICache\n\n\t\t\t\tshort iAllocStamp;\n\t\t\t\tiCacheHash = BX_CPU_THIS_PTR iCache.hash( pAddr );\n\t\t\t\tiAllocStamp = BX_CPU_THIS_PTR iCache.iAllocStamp++&(BxICacheInstructions-1);\n\t\t\t\tBX_CPU_THIS_PTR iCache.iAllocStampEntry[iCacheHash] = iAllocStamp;\n\t\t\t\tiCacheHash = iAllocStamp;\n\t\t\t\ti = & BX_CPU_THIS_PTR iCache.entry[iCacheHash].i;\n\n\t\t\t\t// In the case where the page is marked ICacheWriteStampInvalid, all\n\t\t\t\t// counter bits will be high, being eqivalent to ICacheWriteStampMax.\n\t\t\t\t// In the case where the page is marked as possibly having associated\n\t\t\t\t// iCache entries, we need to leave the counter as-is, unless we're\n\t\t\t\t// willing to dump all iCache entries which can hash to this page.\n\t\t\t\t// Therefore, in either case, we can keep the counter as-is and\n\t\t\t\t// replace the fetch mode bits.\n\t\t\t\tpageWriteStamp &= 0x1fffffff;    // Clear out old fetch mode bits.\n\t\t\t\tpageWriteStamp |= fetchModeMask; // Add in new ones.\n\t\t\t\tBX_CPU_THIS_PTR iCache.pageWriteStampTable[pAddr>>12] = pageWriteStamp;\n\t\t\t\tBX_CPU_THIS_PTR iCache.entry[iCacheHash].pAddr = pAddr;\n\t\t\t\tBX_CPU_THIS_PTR iCache.entry[iCacheHash].writeStamp = pageWriteStamp;\n#endif\n\t\t\t\t//((CMSWIN_X86_CPU*)this)->LinearMemory->m_pVEMemMon->m_ProcObj->LogPrint(\"EIP = 0x%08X\\n\");\n#if BX_SUPPORT_X86_64\n\t\t\t\tif (BX_CPU_THIS_PTR cpu_mode == BX_MODE_LONG_64) {\n\t\t\t\t\tret = fetchDecode64(fetchPtr, i, maxFetch);\n\t\t\t\t}\n\t\t\t\telse\n#endif\n\t\t\t\t{\n\t\t\t\t\tret = fetchDecode(fetchPtr, i, maxFetch);\n\t\t\t\t}\n\n\t\t\t\tBxExecutePtr_t resolveModRM = i->ResolveModrm; // Get function pointers early.\n\t\t\t\tif (ret==0) {\n#if BX_SupportICache\n\t\t\t\t\t// Invalidate entry, since fetch-decode failed with partial updates\n\t\t\t\t\t// to the i-> structure.\n\t\t\t\t\tBX_CPU_THIS_PTR iCache.entry[iCacheHash].writeStamp =\n\t\t\t\t\t\tICacheWriteStampInvalid;\n\t\t\t\t\t//      i = &iStorage;\n#endif\n\n\t\t\t\t\tif (maxFetch==15)\n\t\t\t\t\t\texception(BX_GP_EXCEPTION, 0, 0);\n\t\t\t\t\tx86_boundaryFetch(i);\n\t\t\t\t\tresolveModRM = i->ResolveModrm; // Get function pointers as early\n\t\t\t\t}\n#if BX_INSTRUMENTATION\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t// An instruction was either fetched, or found in the iCache.\n\t\t\t\t\tBX_INSTR_OPCODE(CPU_ID, fetchPtr, i->ilen(),\n\t\t\t\t\t\tBX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].cache.u.segment.d_b);\n\t\t\t\t}\n#endif\n\t\t\t\texecute = i->execute; // fetch as soon as possible for speculation.\n\t\t\t\tif (resolveModRM) {\n\t\t\t\t\tBX_CPU_CALL_METHOD(resolveModRM, (BX_CPU_THIS,i));\n#if BX_SupportICache\n\t\t\t\t\ti->ReadWriteGuess =\n\t\t\t\t\t\tBX_CPU_THIS_PTR iCache.iAllocGuess++&(BxICacheInstructions/4-1);\n#endif\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// An instruction will have been fetched using either the normal case,\n\t\t// or the boundary fetch (across pages), by this point.\n\t\t//    BX_INSTR_FETCH_DECODE_COMPLETED(CPU_ID, i);\n\n\t\tBX_CPU_THIS_PTR instr = i;\n\n\t\tif (1) \n\t\t{\n\t\t\t// non repeating instruction\n\t\t\tRIP += i->ilen();\n\t\t\tBX_CPU_CALL_METHOD(execute, (BX_CPU_THIS,i));\n\t\t\t(*page_access_stamp_ptr)++;\n\t\t\t////++++++++\n\t\t\tBX_CPU_THIS_PTR lastInstructionListTable[BX_CPU_THIS_PTR lastInstr++&0xff] = execute;\n\n#ifdef REGISTER_IADDR\n\t\t\tREGISTER_IADDR(RIP + BX_CPU_THIS_PTR sregs[BX_SEG_REG_CS].cache.u.segment.base);\n#endif\n\n\t\t\tBX_TICK1_IF_SINGLE_PROCESSOR();\n\n\t\t\tif (max_instr_counter >= 0)\n\t\t\t{\n\t\t\t\tmax_instr_counter--;\n\t\t\t\tif(!real_mode() && eflags.tf)\n\t\t\t\t{\n\t\t\t\t\tBX_CPU_THIS_PTR last_read_write.i_bytes = i->ilen();\n\t\t\t\t\treturn copy_max_instr_counter - max_instr_counter;\n\t\t\t\t}\n\t\t\t\tif (max_instr_counter == 0)\n\t\t\t\t{\n\t\t\t\t\tBX_CPU_THIS_PTR last_read_write.i_bytes = i->ilen();\n\t\t\t\t\treturn copy_max_instr_counter;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\treturn copy_max_instr_counter;\n\t\t\tBX_CPU_THIS_PTR prev_eip = RIP; // commit new EIP\n\t\t\tBX_CPU_THIS_PTR prev_esp = RSP; // commit new ESP\n\t\t}\n\t\t//debugger_check:\n\n\t\t// inform instrumentation about new instruction\n\t\t//temp    BX_INSTR_NEW_INSTRUCTION(CPU_ID);\n\n#if (BX_SMP_PROCESSORS>1 && BX_DEBUGGER==0)\n\t\t// The CHECK_MAX_INSTRUCTIONS macro allows cpu_loop to execute a few\n\t\t// instructions and then return so that the other processors have a chance\n\t\t// to run.  This is used only when simulating multiple processors.  If only\n\t\t// one processor, don't waste any cycles on it!  Also, it is not needed\n\t\t// with the debugger because its guard mechanism provides the same\n\t\t// functionality.\n\t\tCHECK_MAX_INSTRUCTIONS(max_instr_counter);\n#endif\n\n\t}  // while (1)\n}\n\n\n  unsigned\nBX_CPU_C::x86_handleAsyncEvent(void)\n{\n  //\n  // This area is where we process special conditions and events.\n  //\n\tif(!real_mode() && eflags.tf)\n\t{\n\t\teflags.tf = false;\n\t\texception(BX_DB_EXCEPTION,0,0);\n\t}\n\treturn 0;\n}\n\n\n// boundaries of consideration:\n//\n//  * physical memory boundary: 1024k (1Megabyte) (increments of...)\n//  * A20 boundary:             1024k (1Megabyte)\n//  * page boundary:            4k\n//  * ROM boundary:             2k (dont care since we are only reading)\n//  * segment boundary:         any\n  void\nBX_CPU_C::x86_prefetch(void)\n{\n  // cs:eIP\n  // x86_prefetch QSIZE byte quantity aligned on corresponding boundary\n  bx_address laddr;\n  Bit32u pAddr;\n  bx_address temp_rip;\n  Bit32u temp_limit;\n  bx_address laddrPageOffset0, eipPageOffset0;\n\n  temp_rip   = RIP;\n  temp_limit = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.limit_scaled;\n\n  laddr = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.base +\n                    temp_rip;\n\n  if (((Bit32u)temp_rip) > temp_limit) {\n    BX_PANIC((\"x86_prefetch: RIP > CS.limit\"));\n\texception(BX_GP_EXCEPTION, 0, 0);\n    }\n\n#if BX_SUPPORT_PAGING\n  if (BX_CPU_THIS_PTR cr0.pg) {\n    // aligned block guaranteed to be all in one page, same A20 address\n    pAddr = itranslate_linear(laddr, CPL==3);\n    pAddr = A20ADDR(pAddr);\n    }\n  else\n#endif // BX_SUPPORT_PAGING\n    {\n    pAddr = A20ADDR(laddr);\n    }\n\n  // check if segment boundary comes into play\n  //if ((temp_limit - (Bit32u)temp_rip) < 4096) {\n  //  }\n\n  // Linear address at the beginning of the page.\n  laddrPageOffset0 = laddr & 0xfffff000;\n  // Calculate RIP at the beginning of the page.\n  eipPageOffset0 = RIP - (laddr - laddrPageOffset0);\n  BX_CPU_THIS_PTR eipPageBias = (0- eipPageOffset0);\n  BX_CPU_THIS_PTR eipPageWindowSize = 4096; // FIXME:\n  BX_CPU_THIS_PTR pAddrA20Page = pAddr & 0xfffff000;\n//  BX_CPU_THIS_PTR eipFetchPtr =\n//      BX_CPU_THIS_PTR mem->getHostMemAddr(this, BX_CPU_THIS_PTR pAddrA20Page,\n//                                          BX_READ);\n  BX_CPU_THIS_PTR eipFetchPtr =\n\t  BX_CPU_THIS_PTR getHostMemPtr(laddr,BX_READ,&BX_CPU_THIS_PTR page_access_stamp_ptr);\n\n  // Sanity checks\n  if ( !BX_CPU_THIS_PTR eipFetchPtr ) {\n    if ( pAddr >= BX_CPU_THIS_PTR mem_len ) {\n      BX_PANIC((\"x86_prefetch: running in bogus memory\"));\n      }\n    else {\n      BX_PANIC((\"x86_prefetch: getHostMemAddr vetoed direct read, pAddr=0x%x.\",\n                pAddr));\n      }\n    }\n}\n\n\n  void\nBX_CPU_C::x86_boundaryFetch(bxInstruction_c *i)\n{\n    unsigned j;\n    Bit8u fetchBuffer[16]; // Really only need 15\n    bx_address eipBiased, remainingInPage;\n    Bit8u *fetchPtr;\n    unsigned ret;\n\n    eipBiased = RIP + BX_CPU_THIS_PTR eipPageBias;\n    remainingInPage = (BX_CPU_THIS_PTR eipPageWindowSize - eipBiased);\n    if (remainingInPage > 15) {\n      BX_PANIC((\"fetch_decode: remaining > max ilen\"));\n      }\n    fetchPtr = BX_CPU_THIS_PTR eipFetchPtr + eipBiased;\n\n    // Read all leftover bytes in current page up to boundary.\n    for (j=0; j<remainingInPage; j++) {\n      fetchBuffer[j] = *fetchPtr++;\n      }\n\n    // The 2nd chunk of the instruction is on the next page.\n    // Set RIP to the 0th byte of the 2nd page, and force a\n    // x86_prefetch so direct access of that physical page is possible, and\n    // all the associated info is updated.\n    RIP += remainingInPage;\n    x86_prefetch();\n    if (BX_CPU_THIS_PTR eipPageWindowSize < 15) {\n      BX_PANIC((\"fetch_decode: small window size after x86_prefetch\"));\n      }\n\n    // We can fetch straight from the 0th byte, which is eipFetchPtr;\n    fetchPtr = BX_CPU_THIS_PTR eipFetchPtr;\n\n    // read leftover bytes in next page\n    for (; j<15; j++) {\n      fetchBuffer[j] = *fetchPtr++;\n      }\n#if BX_SUPPORT_X86_64\n    if (BX_CPU_THIS_PTR cpu_mode == BX_MODE_LONG_64) {\n      ret = fetchDecode64(fetchBuffer, i, 15);\n      }\n    else\n#endif\n      {\n      ret = fetchDecode(fetchBuffer, i, 15);\n      }\n    // Restore EIP since we fudged it to start at the 2nd page boundary.\n    RIP = BX_CPU_THIS_PTR prev_eip;\n    if (ret==0)\n\t{\n      BX_PANIC((\"fetchDecode: cross boundary: ret==0\"));\n      exception(BX_GP_EXCEPTION, 0, 0);\n\t}\n\n// Since we cross an instruction boundary, note that we need a x86_prefetch()\n// again on the next instruction.  Perhaps we can optimize this to\n// eliminate the extra x86_prefetch() since we do it above, but have to\n// think about repeated instructions, etc.\nBX_CPU_THIS_PTR eipPageWindowSize = 0; // Fixme\n\n//temp  BX_INSTR_OPCODE(CPU_ID, fetchBuffer, i->ilen(),\n//temp                  BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b);\n}\n\n#if BX_SupportICache\n\nint setbitmaping(Bit8u *buff,int offset)\n{\n\tint bit = (buff[offset>>3]>>(offset&7))&1;\n\t\n\tbuff[offset>>3] |= (1<<(offset&7));\n\n\treturn bit;\n}\n\nint getbitmaping(Bit8u *buff,int offset)\n{\n\treturn (buff[offset>>3]>>(offset&7))&1;\n}\n\n#include \"../UPX/conf.h\"\n\nint upxdata_compress(ucl_byte *inbuff,unsigned int inlen,ucl_byte *outbuff,unsigned int *poutlen,int method);\n\nint bxICache_c::gatherWriteHole(bxReadWriteMemoryHole *h)\n{\n\tint i,j;\n\tBit8u outbuff[512];\n\tunsigned int outlen;\n\n\ti =0;j =0;\n\n\tupxdata_compress(h->bitMap,512,outbuff,&outlen,4);\n\n\tif (outlen<=128)\n\t{\n\t\ti = outlen;\n\t}\n\telse\n\t{\n\t\ti = outlen;\n\t}\n\n\tmemset(h->bitMap,0,sizeof(h->bitMap));\n\treturn 0;\n}\n\nbxReadWriteMemoryHole *bxICache_c::allocWriteHole(Bit32u a20Addr)\n{\n\tbxReadWriteMemoryHole *h;\n\n\tif (hole[iAllocHole&(BXREADWRITEMEMORYHOLES-1)].busy)\n\t{\n\t\th = &hole[iAllocHole&(BXREADWRITEMEMORYHOLES-1)];\n\t\tgatherWriteHole(h);\n\t\tsetbitmaping(pageWriteHoleMaping,a20Addr>>12);\n\t}\n\n\tpageWriteHoleTable[a20Addr>>12] = iAllocHole++&(BXREADWRITEMEMORYHOLES-1);\n\thole[pageWriteHoleTable[a20Addr>>12]].page = (a20Addr&0xffff000);\n\thole[pageWriteHoleTable[a20Addr>>12]].busy  = 1;\n\th = hole + pageWriteHoleTable[a20Addr>>12];\n\n\treturn h;\n}\n\n#endif // BX_SupportICache\n\n\n\n"
  },
  {
    "path": "Project/IntelCPU/Source/x86cpu.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: x86cpu.h,v 1.0 2002/10/08 13:10:37 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n\n#ifndef X86_CPU_H\n#define X86_CPU_H\n\n#if 0 // no bochs\n#define LOG_THIS BX_CPU_THIS_PTR\n#define NEED_CPU_REG_SHORTCUTS 1\n#include \"bochs.h\"\n\n#else\n\n#define LOG_THIS BX_CPU_THIS_PTR\n#define NEED_CPU_REG_SHORTCUTS 1\n\n#include \"iconfig.h\"      /* generated by configure script from config.h.in */\n#include \"instrume.h\"\n\nextern \"C\" {\n#include <stdarg.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <assert.h>\n#include <ctype.h>\n#include <string.h>\n#include <fcntl.h>\n}\n\n#undef BX_SUPPORT_PAGING\n#undef BX_USE_TLB\n\n#define BX_USE_MEM_SMF 0\n\n#if BX_USE_MEM_SMF\n// if static member functions on, then there is only one memory\n#  define BX_MEM_SMF  static\n#else\n#  define BX_MEM_SMF\n#endif\n\nclass BX_CPU_C;\n\nclass BX_MEM_C //: public logfunctions\n{\npublic:\n\tBit8u   *_vector;\n\tsize_t  len;\n\tsize_t  megabytes;  // (len in Megabytes)\n#if BX_DEBUGGER\n\tunsigned char dbg_dirty_pages[(BX_MAX_DIRTY_PAGE_TABLE_MEGS * 1024 * 1024) / 4096];\n\tBit32u dbg_count_dirty_pages () {\n    return (BX_MAX_DIRTY_PAGE_TABLE_MEGS * 1024 * 1024) / 4096;\n  }\n#endif\n\n\tBX_MEM_C(void){};\n\tBX_MEM_C(size_t memsize){};\n\t~BX_MEM_C(void){};\n\tBX_MEM_SMF void  init_memory(int memsize);\n\tBX_MEM_SMF void  read_physical(BX_CPU_C *cpu, Bit32u addr, unsigned len, void *data){};\n\tBX_MEM_SMF void  write_physical(BX_CPU_C *cpu, Bit32u addr, unsigned len, void *data){};\n};\n\n\n#if BX_DEBUGGER\n#  define BX_DBG_DIRTY_PAGE(page) BX_MEM(0)->dbg_dirty_pages[page] = 1;\n#else\n#  define BX_DBG_DIRTY_PAGE(page)\n#endif\n\n#include \"cpu.h\"\n\n#  define UNUSED(offset)\t\t\t(offset)\n#  define A20ADDR(x)                (x)\n#  define BX_DBG_ASYNC_INTR 1\n#  define BX_DBG_ASYNC_DMA  1\n#  define BX_DBG_DMA_REPORT(addr, len, what, val)\n#  define BX_DBG_IAC_REPORT(_vector, irq)\n#  define BX_DBG_A20_REPORT(val)\n#  define BX_DBG_IO_REPORT(addr, size, op, val)\n#  define BX_DBG_UCMEM_REPORT(addr, size, op, val)\n\n\n#define EMPTY\t\tdo { } while(0)\n#define BX_INFO(x)  EMPTY\n#define BX_DEBUG(x) EMPTY\n#define BX_ERROR(x) EMPTY\n#define BX_PANIC(x) EMPTY\n\n#define BX_READ    10\n#define BX_WRITE   11\n#define BX_RW      12\n\n\n#define BX_INP(addr,len) read_io_(addr,len)\n#define BX_OUTP(addr,value,len) write_io_(addr,value,len)\n\n#define BX_HRQ 0\n#define BX_RAISE_HLDA() 0\n#define BX_TICK1() 0\n#define BX_TICKN\n#define BX_INTR\n#define BX_SET_INTR\n#define BX_IAC() 0\n\n#define put\n#define settype\n#define CPU0LOG 0\n\ntypedef struct {\n  Boolean floppy;\n  Boolean keyboard;\n  Boolean video;\n  Boolean disk;\n  Boolean pit;\n  Boolean pic;\n  Boolean bios;\n  Boolean cmos;\n  Boolean a20;\n  Boolean interrupts;\n  Boolean exceptions;\n  Boolean unsupported;\n  Boolean temp;\n  Boolean reset;\n  Boolean debugger;\n  Boolean mouse;\n  Boolean io;\n  Boolean xms;\n  Boolean v8086;\n  Boolean paging;\n  Boolean creg;\n  Boolean dreg;\n  Boolean dma;\n  Boolean unsupported_io;\n  Boolean serial;\n  Boolean cdrom;\n#ifdef MAGIC_BREAKPOINT\n  Boolean magic_break_enabled;\n#endif /* MAGIC_BREAKPOINT */\n#if BX_SUPPORT_APIC\n  Boolean apic;\n  Boolean ioapic;\n#endif\n#if BX_DEBUG_LINUX\n  Boolean linux_syscall;\n#endif\n  void* record_io;\n  } bx_debug_t;\n\n#define BX_ASSERT(x) do {if (!(x)) BX_PANIC((\"failed assertion \\\"%s\\\" at %s:%d\\n\", #x, __FILE__, __LINE__));} while (0)\nvoid bx_signal_handler (int signum);\nvoid bx_atexit(void);\n\nextern bx_debug_t bx_dbg;\n\n#define LOG_THIS BX_CPU_THIS_PTR\n\n//#include \"icpu_pc.h\"\n//#include \"icpu_dos.h\"\n//#include \"x86cpu_mswin.h\"\n\n#endif // no bochs\n\n\n#endif //#ifndef X86_CPU_H\n\n\n"
  },
  {
    "path": "Project/IntelCPU/Win32/IntelCPU.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"IntelCPU\", \"IntelCPU.vcproj\", \"{BF306F5B-1173-49A2-9BA7-35016E0B63D0}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{BF306F5B-1173-49A2-9BA7-35016E0B63D0}.Debug.ActiveCfg = Debug|Win32\n\t\t{BF306F5B-1173-49A2-9BA7-35016E0B63D0}.Debug.Build.0 = Debug|Win32\n\t\t{BF306F5B-1173-49A2-9BA7-35016E0B63D0}.Release.ActiveCfg = Release|Win32\n\t\t{BF306F5B-1173-49A2-9BA7-35016E0B63D0}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/IntelCPU/Win32/IntelCPU.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"IntelCPU\"\n\tProjectGUID=\"{BF306F5B-1173-49A2-9BA7-35016E0B63D0}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"./fpu/fpu_stubs\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"0\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/IntelCPU.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"false\"\n\t\t\t\tAdditionalIncludeDirectories=\"../fpu/fpu_stubs\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"0\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/IntelCPU.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"ͷļ\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cpu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\i387.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\iconfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\icpu_dos.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\icpu_pc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\icpu_win.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\instrume.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\lazy_flg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\x86cpu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Դļ\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Դļ\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\access.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\arith.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bcd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\bit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cpu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ctrl.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ctrl_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\data.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\debugstu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\except.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fetch.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fetch_pr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\flag.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\flag_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\icpu_dos.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\icpu_win.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\init.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\io.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\io_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\jcc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\lazy_flg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mult.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mult_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\paging.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\proc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\prot.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\prot_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resol16.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resol32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\seg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\seg_pro.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\shift.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\shift_pr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\soft_int.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stack16.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stack32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stack_pr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)/$(InputName)1.obj\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)/$(InputName)1.obj\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\string.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\tasking.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\vm8086.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\x86cpu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\"..\\Source\\.\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/MFCSymbols/Source/MFCSymbols.cpp",
    "content": "// MFCSymbols.cpp : Defines the entry point for the console application.\n//\n\n#include \"stdafx.h\"\n#include <iostream>\n#include <fstream>\nusing namespace std;\n\nXSCAN_RES xScanCB3(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParam)\n{\n\tchar Path[MAX_PATH];\n\tGetSystemDirectoryA(Path,sizeof(Path));\n\tHANDLE hFile;\n\tbool bOK;\n\n\tbOK=gpFileIO->OpenFile(FileName,&hFile);\n\tif(!bOK)\n\t\treturn XSCAN_RES_CONTINUE;\n\tULLSIZE Length;\n\tLength = gpFileIO->GetFileLength(hFile);\n\tDWORD* Ptr=(DWORD*)new char[Length];\n\tgpFileIO->ReadFile(hFile,Ptr,Length,0);\n\tgpFileIO->CloseHandle(hFile);\n\t\n\tchar* p2 = TStrRChr(FileName,'\\\\');\n\tif(p2==NULL)\n\t\tp2=(char*)FileName;\n\telse\n\t\tp2++;\n\tTStrCat(Path,\"\\\\drivers\\\\plugin\\\\\");\n\tTStrCat(Path,p2);\n\tp2 = TStrIStr(Path,\".sym\");\n\tif(p2)\n\t\tp2[0]=0;\n\tofstream of(Path);\n\tchar* ptr=(char*)CBParam;\n\tfor(DWORD i=0;i<Ptr[0];i++)\n\t{\t\t\n\t\tif(ptr[Ptr[2+i]]!=0)\n\t\t\tof<< Ptr[1]+i << \" \"<< ptr+Ptr[2+i]<<endl;\n\t}\n\tof.flush();\n\tof.close();\n\treturn XSCAN_RES_CONTINUE;\n}\nint main(int argc, char* argv[])\n{\n\tchar SourcePath[MAX_PATH];\n\tHANDLE hFile;\n\tFreeConsole();\n\tGetModulePath(SourcePath);\n\tstrcat(SourcePath,\"mfcsym.txt\");\n\tif(gpFileIO->OpenFile(SourcePath,&hFile)==false)\n\t\treturn 1;\n\tchar* p = TStrRChr(SourcePath,'\\\\');\n\tif(p==NULL)\n\t{\n\t\tGetCurrentDirectoryA(sizeof(SourcePath),SourcePath);\n\t}\n\telse\n\t{\n\t\tp[0]=0;\t\n\t}\n\tTStrCat(SourcePath,\"\\\\*.sym\");\n\tULLSIZE Length;\n\tLength = gpFileIO->GetFileLength(hFile);\n\tchar* Ptr=new char[Length];\n\tgpFileIO->ReadFile(hFile,Ptr,Length,0);\n\tgpFileIO->CloseHandle(hFile);\t\n\tgpFileIO->XScan(SourcePath,xScanCB3,Ptr,false);\n\tdelete []Ptr;\n\treturn 0;\n}\n\n"
  },
  {
    "path": "Project/MFCSymbols/Source/MFCSymbols.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"#include \"\"MFCSymbols.rc2\"\"\\r\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"MFCSymbols.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/MFCSymbols/Source/MFCSymbols.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"Syser Debugger MFC Symbol Translator\"\n#define VER_INTERNALNAME_STR        \"MFCSymbols.exe\"  \n#define VER_ORIGINALFILENAME_STR    \"MFCSymbols.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n"
  },
  {
    "path": "Project/MFCSymbols/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by MFCSymbols.rc\n//\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        101\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/MFCSymbols/Source/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// MFCSymbols.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/MFCSymbols/Source/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n#ifndef _WIN32_WINNT\t\t// Allow use of features specific to Windows XP or later.                   \n#define _WIN32_WINNT 0x0501\t// Change this to the appropriate value to target other versions of Windows.\n#endif\t\t\t\t\t\t\n\n#include <stdio.h>\n#include <tchar.h>\n#include \"../../Code/Source/Code.h\"\n\n\n// TODO: reference additional headers your program requires here\n"
  },
  {
    "path": "Project/MFCSymbols/vc8/MFCSymbols.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"MFCSymbols\", \"MFCSymbols.vcproj\", \"{FED90798-E337-4389-A547-7E50C64CB426}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\vc8\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{FED90798-E337-4389-A547-7E50C64CB426}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{FED90798-E337-4389-A547-7E50C64CB426}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{FED90798-E337-4389-A547-7E50C64CB426}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{FED90798-E337-4389-A547-7E50C64CB426}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/MFCSymbols/vc8/MFCSymbols.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"MFCSymbols\"\n\tProjectGUID=\"{FED90798-E337-4389-A547-7E50C64CB426}\"\n\tRootNamespace=\"MFCSymbols\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"$(SolutionDir)$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tCharacterSet=\"1\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"3\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"..\\..\\..\\bin\\i386\\$(ProjectName).exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"$(SolutionDir)$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tCharacterSet=\"1\"\n\t\t\tWholeProgramOptimization=\"1\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tRuntimeLibrary=\"2\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"..\\..\\..\\bin\\i386\\$(ProjectName).exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MFCSymbols.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)\\$(InputName)1.obj\"\n\t\t\t\t\t\tXMLDocumentationFileName=\"$(IntDir)\\$(InputName)1.xdc\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)\\$(InputName)1.obj\"\n\t\t\t\t\t\tXMLDocumentationFileName=\"$(IntDir)\\$(InputName)1.xdc\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)\\$(InputName)1.obj\"\n\t\t\t\t\t\tXMLDocumentationFileName=\"$(IntDir)\\$(InputName)1.xdc\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t\tObjectFile=\"$(IntDir)\\$(InputName)1.obj\"\n\t\t\t\t\t\tXMLDocumentationFileName=\"$(IntDir)\\$(InputName)1.xdc\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MFCSymbols.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/ObjectView/Source/MainFrame.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"MainFrame.h\"\n\nWISP_MSG_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\nWISP_MSG_MAP_END(CWispWnd)\n\nbool CMainFrame::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_Style|=WISP_WS_BACK_TRANS;\n\tm_ObjectWnd.Create(WSTR(\"Object Directory Wnd\"),CWispRect(0,0,400,300),this,0,WISP_SWS_HORZ|WISP_WS_NULL);\n\treturn true;\n}\n\nbool CMainFrame::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_ObjectWnd.Resize(m_ClientRect.cx,m_ClientRect.cy);\n\treturn true;\n}\n"
  },
  {
    "path": "Project/ObjectView/Source/MainFrame.h",
    "content": "#ifndef _MAIN_FRAME_H_\n#define _MAIN_FRAME_H_\n\n#include \"ObjectDirectoryWnd.h\"\n\nclass CMainFrame : public CWispWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnSize);\npublic:\n   CObjectDirectoryWnd m_ObjectWnd;\n   CWispSplitWnd m_SplitWnd;\n};\n\n#endif\n"
  },
  {
    "path": "Project/ObjectView/Source/NTDLLDefine.h",
    "content": "#ifndef _NTDLL_DEFINE_H_\n#define _NTDLL_DEFINE_H_\n\n#define STATUS_INFO_LENGTH_MISMATCH      ((NTSTATUS)0xC0000004L)\n\n#ifndef CONST\n#define CONST               const\n#endif\n\n#define InitializeObjectAttributes( p, n, a, r, s ) { \\\n\t(p)->Length = sizeof( OBJECT_ATTRIBUTES );          \\\n\t(p)->RootDirectory = r;                             \\\n\t(p)->Attributes = a;                                \\\n\t(p)->ObjectName = n;                                \\\n\t(p)->SecurityDescriptor = s;                        \\\n\t(p)->SecurityQualityOfService = NULL;               \\\n} \n\ntypedef enum _SYSTEMINFOCLASS\n{\n\tSystemBasicInformation,             // 0x002C\n\tSystemProcessorInformation,         // 0x000C\n\tSystemPerformanceInformation,       // 0x0138\n\tSystemTimeInformation,              // 0x0020\n\tSystemPathInformation,              // not implemented\n\tSystemProcessInformation,           // 0x00C8+ per process\n\tSystemCallInformation,              // 0x0018 + (n * 0x0004)\n\tSystemConfigurationInformation,     // 0x0018\n\tSystemProcessorCounters,            // 0x0030 per cpu\n\tSystemGlobalFlag,                   // 0x0004\n\tSystemInfo10,                       // not implemented\n\tSystemModuleInformation,            // 0x0004 + (n * 0x011C)\n\tSystemLockInformation,              // 0x0004 + (n * 0x0024)\n\tSystemInfo13,                       // not implemented\n\tSystemPagedPoolInformation,         // checked build only\n\tSystemNonPagedPoolInformation,      // checked build only\n\tSystemHandleInformation,            // 0x0004  + (n * 0x0010)\n\tSystemObjectInformation,            // 0x0038+ + (n * 0x0030+)\n\tSystemPageFileInformation,          // 0x0018+ per page file\n\tSystemInstemulInformation,          // 0x0088\n\tSystemInfo20,                       // invalid info class\n\tSystemCacheInformation,             // 0x0024\n\tSystemPoolTagInformation,           // 0x0004 + (n * 0x001C)\n\tSystemInfo23,                       // 0x0000, or 0x0018 per cpu\n\tSystemDpcInformation,               // 0x0014\n\tSystemInfo25,                       // checked build only\n\tSystemLoadDriver,                   // 0x0018, set mode only\n\tSystemUnloadDriver,                 // 0x0004, set mode only\n\tSystemTimeAdjustmentInformation,    // 0x000C, 0x0008 writeable\n\tSystemInfo29,                       // checked build only\n\tSystemInfo30,                       // checked build only\n\tSystemInfo31,                       // checked build only\n\tSystemCrashDumpInformation,         // 0x0004\n\tSystemInfo33,                       // 0x0010\n\tSystemCrashDumpStateInformation,    // 0x0004\n\tSystemDebuggerInformation,          // 0x0002\n\tSystemThreadSwitchInformation,      // 0x0030\n\tSystemRegistryQuotaInformation,     // 0x000C\n\tSystemAddDriver,                    // 0x0008, set mode only\n\tSystemPrioritySeparationInformation,// 0x0004, set mode only\n\tSystemInfo40,                       // not implemented\n\tSystemInfo41,                       // not implemented\n\tSystemInfo42,                       // invalid info class\n\tSystemInfo43,                       // invalid info class\n\tSystemTimeZoneInformation,          // 0x00AC\n\tSystemLookasideInformation,         // n * 0x0020\n\tMaxSystemInfoClass\n}\nSYSTEMINFOCLASS, *PSYSTEMINFOCLASS, **PPSYSTEMINFOCLASS;\ntypedef struct _UNICODE_STRING {\n\tUSHORT Length;\n\tUSHORT MaximumLength;\n\tPWSTR  Buffer;\n} UNICODE_STRING;\ntypedef UNICODE_STRING *PUNICODE_STRING;\ntypedef struct _OBJECT_ATTRIBUTES {\n\tULONG Length;\n\tHANDLE RootDirectory;\n\tPUNICODE_STRING ObjectName;\n\tULONG Attributes;\n\tPVOID SecurityDescriptor;        // Points to type SECURITY_DESCRIPTOR\n\tPVOID SecurityQualityOfService;  // Points to type SECURITY_QUALITY_OF_SERVICE\n} OBJECT_ATTRIBUTES;\ntypedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;\ntypedef CONST OBJECT_ATTRIBUTES *PCOBJECT_ATTRIBUTES;\n\ntypedef LONG NTSTATUS;\ntypedef ULONG ACCESS_MASK;\ntypedef ACCESS_MASK *PACCESS_MASK;\ntypedef struct _IO_STATUS_BLOCK {\n\tunion {\n\t\tNTSTATUS Status;\n\t\tPVOID Pointer;\n\t};\n\n\tULONG_PTR Information;\n} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;\n\n#define OBJ_INHERIT             0x00000002L\n#define OBJ_PERMANENT           0x00000010L\n#define OBJ_EXCLUSIVE           0x00000020L\n#define OBJ_CASE_INSENSITIVE    0x00000040L\n#define OBJ_OPENIF              0x00000080L\n#define OBJ_OPENLINK            0x00000100L\n#define OBJ_KERNEL_HANDLE       0x00000200L\n#define OBJ_FORCE_ACCESS_CHECK  0x00000400L\n#define OBJ_VALID_ATTRIBUTES    0x000007F2L\n\n#define OBJ_CASE_INSENSITIVE    0x00000040L\ntypedef struct _SYSTEM_HANDLE_INFORMATION{\n\tULONG ProcessId;\n\tUCHAR ObjectTypeNumber;\n\tUCHAR Flags;\n\tUSHORT Handle;\n\tPVOID Object;\n\tACCESS_MASK GrantedAccess;\n}SYSTEM_HANDLE_INFORMATION,*PSYSTEM_HANDLE_INFORMATION;\n\ntypedef struct _SYSTEM_HANDLE_LIST\n{\n\tDWORD Counter;\n\tSYSTEM_HANDLE_INFORMATION Handle[1];\n}SYSTEM_HANDLE_LIST,*PSYSTEM_HANDLE_LIST;\n\ntypedef enum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation,\n\tObjectNameInformation,\n\tObjectTypeInformation,\n\tObjectAllTypesInformation,\n\tObjectHandleInformation,\n}OBJECT_INFORMATION_CLASS;\ntypedef struct _OBJECT_NAME_INFORMATION\n{\n\tUNICODE_STRING Name;\n}OBJECT_NAME_INFORMATION,*POBJECT_NAME_INFORMATION;\n\ntypedef struct _DIRECTORY_BASIC_INFORMATION \n{\n\tUNICODE_STRING ObjectName;\n\tUNICODE_STRING ObjectTypeName;\n} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;\n\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWOPENFILE)(\n\t\t\t\t\t\t\t\t\t\tOUT PHANDLE  FileHandle,\n\t\t\t\t\t\t\t\t\t\tIN ACCESS_MASK  DesiredAccess,\n\t\t\t\t\t\t\t\t\t\tIN POBJECT_ATTRIBUTES  ObjectAttributes,\n\t\t\t\t\t\t\t\t\t\tOUT PIO_STATUS_BLOCK  IoStatusBlock,\n\t\t\t\t\t\t\t\t\t\tIN ULONG  ShareAccess,\n\t\t\t\t\t\t\t\t\t\tIN ULONG  OpenOptions\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWOPENSECTION)(\n\t\t\t\t\t\t\t\t\t\tOUT PHANDLE  SectionHandle,\n\t\t\t\t\t\t\t\t\t\tIN ACCESS_MASK  DesiredAccess,\n\t\t\t\t\t\t\t\t\t\tIN POBJECT_ATTRIBUTES  ObjectAttributes\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWCLOSE)(\n\t\t\t\t\t\t\t\t\t\tIN HANDLE  Handle\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWQUERYSYSTEMINFORMATION)(\n\t\t\t\t\t\t\t\t\t\tSYSTEMINFOCLASS sic,\n\t\t\t\t\t\t\t\t\t\tPVOID pData,\n\t\t\t\t\t\t\t\t\t\tDWORD dSize,\n\t\t\t\t\t\t\t\t\t\tPDWORD pdSize\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI VOID (NTAPI *PRTLINITUNICODESTRING)(\n\t\t\t\t\t\t\t\t\t\tPUNICODE_STRING DestinationString,\n\t\t\t\t\t\t\t\t\t\tPCWSTR SourceString\n\t\t\t\t\t\t\t\t\t\t);\n\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWQUERYOBJECT)(\n\t\t\t\t\t\t\t\t\t\tIN HANDLE ObjectHandle,\n\t\t\t\t\t\t\t\t\t\tIN OBJECT_INFORMATION_CLASS ObjectInformationClass,\n\t\t\t\t\t\t\t\t\t\tOUT PVOID ObjectInformation,\n\t\t\t\t\t\t\t\t\t\tIN ULONG ObjectInformationLength,\n\t\t\t\t\t\t\t\t\t\tOUT PULONG ReturnLength\n\t\t\t\t\t\t\t\t\t\t);\n\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWCREATEDIRECTORYOBJECT)(\n\t\t\t\t\t\tOUT PHANDLE DirectoryHandle,\n\t\t\t\t\t\tIN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\tIN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWOPENDIRECTORYOBJECT)(\n\t\t\t\t\t  OUT PHANDLE DirectoryHandle,\n\t\t\t\t\t  IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t  IN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t  );\n\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWQUERYDIRECTORYOBJECT)(\n\t\t\t\t\t   IN HANDLE DirectoryHandle,\n\t\t\t\t\t   OUT PVOID Buffer,\n\t\t\t\t\t   IN ULONG BufferLength,\n\t\t\t\t\t   IN BOOLEAN ReturnSingleEntry,\n\t\t\t\t\t   IN BOOLEAN RestartScan,\n\t\t\t\t\t   IN OUT PULONG Context,\n\t\t\t\t\t   OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t   );\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWOPENSYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t OUT PHANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\t IN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t\t );\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWQUERYSYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t  IN HANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t  IN OUT PUNICODE_STRING TargetName,\n\t\t\t\t\t\t  OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t\t  );\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWCREATESYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t   OUT PHANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t   IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\t   IN POBJECT_ATTRIBUTES ObjectAttributes,\n\t\t\t\t\t\t   IN PUNICODE_STRING TargetName\n\t\t\t\t\t\t   );\n#define DIRECTORY_QUERY                 (0x0001)\n#define DIRECTORY_TRAVERSE              (0x0002)\n#define DIRECTORY_CREATE_OBJECT         (0x0004)\n#define DIRECTORY_CREATE_SUBDIRECTORY   (0x0008)\n\n#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)\n\n#define SYMBOLIC_LINK_QUERY (0x0001)\n\n#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\ntypedef struct _FINDDATABUF\n{\n\n\tDIRECTORY_BASIC_INFORMATION DirectoryBaseInfo;\n\tWCHAR Buffer[4096];\n}FINDDATABUF,*PFINDDATABUF;\ntypedef struct _FIND_OBJECT_DATA\n{\n\tWCHAR Name[260];\n\tWCHAR* CurrentDirName;\n\tHANDLE FindHandle;\n\tULONG Context;\n\tPFINDDATABUF FindDataBuffer;\n\tULONG NameMaxLen;\n}FIND_OBJECT_DATA,*PFIND_OBJECT_DATA;\n#endif /* _NTDLL_DEFINE_H_ */\n"
  },
  {
    "path": "Project/ObjectView/Source/ObjectDirectoryWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ObjectDirectoryWnd.h\"\n#ifdef CODE_OS_WIN\n#include \"Ring3Object.h\"\n#endif\nWISP_MSG_MAP_BEGIN(CObjectDirectoryWnd)\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispSplitWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CObjectDirectoryWnd)\nWISP_MSG_CMD_MAP(CHILD_WND_ID_OBJECTDIRECTORYTRE,OnCmdObjectDirectory)\nWISP_MSG_CMD_MAP(CHILD_WND_ID_OBJECTLIST,OnCmdObjectList)\nWISP_MSG_CMD_MAP_END\n\nbool CObjectDirectoryWnd::OnCmdObjectDirectory(IN WISP_MSG *pMsg)\n{\t\n\tNUM_PTR NumPtr;\n\tWCHAR* String;\n\tWISP_CHAR\twcBuf[MAX_PATH]={0};\n\tDWORD\t\tObjectHandle;\n\tHANDLE hSubItem,hItem;\n\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_EXPANDED||pMsg->Command.CmdMsg==WISP_CMD_ITEM_SELECTED)\n\t{\n\t\thItem = (HANDLE)pMsg->Command.Param2;\n\t\thSubItem = m_ObjectDirectoryTree.GetItem(0,hItem);\n\t\tif(hSubItem==NULL)\n\t\t{\n\t\t\tm_ObjectList.ClearChildItem();\n\t\t\tObjectList(hItem);\n\t\t\treturn true;\n\t\t}\n\t\tNumPtr = m_ObjectDirectoryTree.GetItemData(hItem,0);\n\t\tObjectHandle = *(DWORD*)&NumPtr;\n\t\tString = m_ObjectDirectoryTree.GetItemText(hSubItem,0);\n\t\t\n\t\tif(TStrCmp(String, WISP_STR(\"..\"))==0)\n\t\t{\n\t\t\tm_ObjectDirectoryTree.ClearChildItem(hItem);\n\t\t\tm_ObjectList.ClearChildItem();\n#ifdef CODE_OS_WIN\n\t\t\tInitContext(hItem);\n#else\n\t\t\tInitContext(ObjectHandle,hItem);\n#endif\n\t\t\t\n\t\t}\t\n\t\telse\n\t\t{\n\t\t\tm_ObjectList.ClearChildItem();\n\t\t\tObjectList(hItem);\n\t\t}\n\t}\n\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_UNEXPANDED)\n\t{\n\t\thItem = (HANDLE)pMsg->Command.Param2;\n\t\thSubItem = m_ObjectDirectoryTree.GetItem(0,hItem);\n\t\tif(hSubItem==NULL)\n\t\t\treturn true;\n\t\tm_ObjectDirectoryTree.ClearChildItem(hItem);\n\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hItem);\n\t}\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::OnCmdObjectList(IN WISP_MSG *pMsg)\n{\t\t\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::OnCreate(IN WISP_MSG *pMsg)\n{\t\n\tm_ObjectDirectoryTree.Create(NULL,CWispRect(0,0,0,0),this,CHILD_WND_ID_OBJECTDIRECTORYTRE,WISP_WLS_TREE);\n\tm_ObjectList.Create(NULL,CWispRect(0,0,0,0),this,CHILD_WND_ID_OBJECTLIST,WISP_WLS_TREE|WISP_WLS_COLUMN_TITLE);\n\tInsertWnd(&m_ObjectDirectoryTree,0,m_ClientRect.cx / 3);\n\tInsertWnd(&m_ObjectList,0,m_ClientRect.cx / 3 *2);\n\tAdjustWndPos();\n\tm_ObjectList.InsertColumn(WSTR(\"Name\"),150);\n\tm_ObjectList.InsertColumn(WSTR(\"Type\"),80);\n\tm_ObjectList.InsertColumn(WSTR(\"SymLink\"),100);\n\tm_ObjectDirectoryTree.InsertColumn(NULL,200);\n\tm_ObjectList.SetOwner(this);\n\tm_ObjectDirectoryTree.SetOwner(this);\n#ifdef CODE_OS_NT_DRV\n\tInitContext(0,NULL);\n#else\n\tInitContext();\n#endif\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::UpdateContext()\n{\n\n\treturn true;\n}\nbool CObjectDirectoryWnd::InitContext()\n{\n#if CODE_OS_NT_DRV\n\tDWORD ObjectHandle;\n\tOBJFINDDATA FindData;\n\tWISP_CHAR TypeName[65],ObjectName[65];\n\tHANDLE hItem,hListItem,hChildItem;\n\tObjectHandle = dwObjectRootDirectory;\t\n\tFindData.ObjectHandle=ObjectHandle;\n\tFindData.NextObjectPointer=NULL;\n\tFindData.DirectoryItemIndex=0;\n\thItem=m_ObjectDirectoryTree.InsertItem(WSTR(\"\\\\\"));\n\twhile(FindNextObject(FindData))\n\t{\t\t\t\t\t\t\n\t\tGetObjectTypeName(FindData.ReturnObjectHandle,TypeName);\n\t\tGetObjectName(FindData.ReturnObjectHandle,ObjectName);\n\t\tif(IsDirectoryObjectType(FindData.ReturnObjectHandle))\t\t\n\t\t{\n\t\t\thChildItem = m_ObjectDirectoryTree.InsertItem(ObjectName,hItem);\n\t\t\tm_ObjectDirectoryTree.SetItemData(hChildItem,0,FindData.ReturnObjectHandle);\n\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hChildItem);\n\t\t}\n\t\thListItem = m_ObjectList.InsertItem(ObjectName);\n\t\tm_ObjectList.SetItemData(hListItem,0,FindData.ReturnObjectHandle);\n\t\tm_ObjectList.SetItemText(hListItem,1,TypeName);\t\t\n\t}\t\n#else\n\t{\n\t\tLoadAPI();\n\t\tbool bOK;\n\t\tFIND_OBJECT_DATA FindObjectData;\n\t\tHANDLE hItem,hSubItem;\n\t\thItem=m_ObjectDirectoryTree.InsertItem(WSTR(\"\\\\\"));\n\t\tbOK = FindFirstObject(L\"\\\\\",&FindObjectData);\n\t\tif(bOK)\n\t\t{\n\t\t\twhile(bOK)\n\t\t\t{\n\t\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"Directory\")==0)\n\t\t\t\t{\n\t\t\t\t\thSubItem = m_ObjectDirectoryTree.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer,hItem);\n\t\t\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hSubItem);\n\t\t\t\t}\n\t\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t\t}\n\t\t\tCloseFindObject(&FindObjectData);\n\t\t}\n\t\t/*\n\t\tCLocalFileIO FileIO;\n\t\tFILE_FIND_DATA FindData;\n\t\tWISP_CHAR ObjectName[MAX_PATH];\n\t\tbool bExit;\n\t\t\n\t\thItem=m_ObjectDirectoryTree.InsertItem(WSTR(\"C:\\\\\"));\n\t\tbExit = FileIO.FindFirstFile(\"c:\\\\\",&FindData);\t\n\t\twhile(bExit)\n\t\t{\n\t\t\tTStrToStr(FindData.FileName,ObjectName);\n\t\t\tif(FindData.FileAttribute & FIO_FA_DIR)\n\t\t\t{\n\t\t\t\thChildItem = m_ObjectDirectoryTree.InsertItem(ObjectName,hItem);\n\t\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hChildItem);\n\t\t\t}\n\t\t\thListItem = m_ObjectList.InsertItem(ObjectName);\n\t\t\tm_ObjectList.SetItemText(hListItem,1,WSTR(\"\"));\n\t\t\tif (!FileIO.FindNextFile(&FindData)) \n\t\t\t\tbExit = false;\n\t\t}\n\t\t*/\n\t}\n#endif\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::InitContext(DWORD ObjectHandle,HANDLE hItem)\n{\t\n#ifdef CODE_OS_NT_DRV\n\tOBJFINDDATA FindData;\n\tWISP_CHAR TypeName[65],ObjectName[65];\n\tHANDLE hListItem,hChildItem;\n\tif(ObjectHandle==0)\n\t\tObjectHandle = dwObjectRootDirectory;\t\n\tFindData.ObjectHandle=ObjectHandle;\n\tFindData.NextObjectPointer=NULL;\n\tFindData.DirectoryItemIndex=0;\n\tif(hItem==NULL)\n\t\thItem=m_ObjectDirectoryTree.InsertItem(WSTR(\"\\\\\"));\n\twhile(FindNextObject(FindData))\n\t{\t\t\t\t\t\t\n\t\tGetObjectTypeName(FindData.ReturnObjectHandle,TypeName);\n\t\tGetObjectName(FindData.ReturnObjectHandle,ObjectName);\n\t\tif(IsDirectoryObjectType(FindData.ReturnObjectHandle))\t\t\n\t\t{\n\t\t\thChildItem = m_ObjectDirectoryTree.InsertItem(ObjectName,hItem);\n\t\t\tm_ObjectDirectoryTree.SetItemData(hChildItem,0,FindData.ReturnObjectHandle);\n\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hChildItem);\n\t\t}\n\t\thListItem = m_ObjectList.InsertItem(ObjectName);\n\t\tm_ObjectList.SetItemData(hListItem,0,FindData.ReturnObjectHandle);\n\t\tm_ObjectList.SetItemText(hListItem,1,TypeName);\t\t\n\t}\t\n#endif\n\treturn true;\n}\nbool CObjectDirectoryWnd::InitContext(HANDLE hItem)\n{\n#ifdef CODE_OS_WIN\n\tbool bOK;\n\tWCHAR FullPathName[512];\n\tHANDLE hSubItem;\n\tFIND_OBJECT_DATA FindObjectData;\n\tWCHAR TargetName[512];\n\tUNICODE_STRING LinkTargetName;\n\tDWORD FullPathNameLen;\n\tULONG ReturnLength;\n\tm_ObjectDirectoryTree.GetItemFullPath(hItem,0,FullPathName);\n\tFullPathNameLen=TStrLen(FullPathName);\n\tbOK = FindFirstObject(&FullPathName[1],&FindObjectData);\n\tif(bOK)\n\t{\n\t\twhile(bOK)\n\t\t{\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"Directory\")==0)\n\t\t\t{\n\t\t\t\thSubItem = m_ObjectDirectoryTree.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer,hItem);\n\t\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hSubItem);\n\t\t\t}\n\t\t\thSubItem = m_ObjectList.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\tm_ObjectList.SetItemText(hSubItem,1,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer);\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"SymbolicLink\")==0)\n\t\t\t{\n\t\t\t\tFullPathName[FullPathNameLen]=0;\n\t\t\t\tTStrCat(FullPathName,\"\\\\\");\n\t\t\t\tTStrCat(FullPathName,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\t\tLinkTargetName.Buffer=TargetName;\n\t\t\t\tLinkTargetName.MaximumLength=sizeof(TargetName);\n\t\t\t\tLinkTargetName.Length =sizeof(TargetName)-2;\n\t\t\t\tif(GetSymbolicLink(&FullPathName[1],&LinkTargetName,&ReturnLength))\n\t\t\t\t{\n\t\t\t\t\tm_ObjectList.SetItemText(hSubItem,2,LinkTargetName.Buffer);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t}\n\t\tCloseFindObject(&FindObjectData);\n\t}\n\tm_ObjectList.Update();\n#endif\n\treturn true;\n}\nbool CObjectDirectoryWnd::ObjectList(HANDLE hItem)\n{\n#ifdef CODE_OS_WIN\n\tbool bOK;\n\tWCHAR FullPathName[512];\n\tHANDLE hSubItem;\n\tFIND_OBJECT_DATA FindObjectData;\n\tWCHAR TargetName[512];\n\tUNICODE_STRING LinkTargetName;\n\tDWORD FullPathNameLen;\n\tULONG ReturnLength;\n\tm_ObjectDirectoryTree.GetItemFullPath(hItem,0,FullPathName);\n\tFullPathNameLen=TStrLen(FullPathName);\n\tbOK = FindFirstObject(&FullPathName[1],&FindObjectData);\n\tif(bOK)\n\t{\n\t\twhile(bOK)\n\t\t{\n\t\t\thSubItem = m_ObjectList.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\tm_ObjectList.SetItemText(hSubItem,1,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer);\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"SymbolicLink\")==0)\n\t\t\t{\n\t\t\t\tFullPathName[FullPathNameLen]=0;\n\t\t\t\tTStrCat(FullPathName,\"\\\\\");\n\t\t\t\tTStrCat(FullPathName,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\t\tLinkTargetName.Buffer=TargetName;\n\t\t\t\tLinkTargetName.MaximumLength=sizeof(TargetName);\n\t\t\t\tLinkTargetName.Length =sizeof(TargetName)-2;\n\t\t\t\tif(GetSymbolicLink(&FullPathName[1],&LinkTargetName,&ReturnLength))\n\t\t\t\t{\n\t\t\t\t\tm_ObjectList.SetItemText(hSubItem,2,LinkTargetName.Buffer);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t}\n\t\tCloseFindObject(&FindObjectData);\n\t}\n\tm_ObjectList.Update();\n#endif //CODE_OS_WIN\n\treturn true;\n}"
  },
  {
    "path": "Project/ObjectView/Source/ObjectDirectoryWnd.h",
    "content": "#ifndef _OBJECTDIRECTORYWND_H_\n#define _OBJECTDIRECTORYWND_H_\n#ifdef CODE_OS_NT_DRV \n#include \"ObjectDirectory.h\"\n#endif\nenum\n{\n\tCHILD_WND_ID_OBJECTDIRECTORYTRE=WISP_ID_USER_START+600,\n\tCHILD_WND_ID_OBJECTLIST,\n};\n\nclass CObjectDirectoryWnd:public CWispSplitWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCmdObjectDirectory)\n\tDECLARE_WISP_MSG_CMD(OnCmdObjectList)\n\tCWispList m_ObjectDirectoryTree;\n\tCWispList m_ObjectList;\n\tbool UpdateContext();\n\tbool InitContext();\n\tbool InitContext(DWORD ObjectHandle,HANDLE hItem);\n\tbool InitContext(HANDLE hItem);\n\tbool ObjectList(HANDLE hItem);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/ObjectView/Source/ObjectView.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDI_ICON_SYSER_OPTION   ICON                    \"Res\\\\ObjectView.ico\"\n\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"ObjectView.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"ObjectView.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/ObjectView/Source/ObjectView.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"Syser Object View\"\n#define VER_INTERNALNAME_STR        \"ObjectView.exe\"  \n#define VER_ORIGINALFILENAME_STR    \"ObjectView.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n"
  },
  {
    "path": "Project/ObjectView/Source/ObjectViewApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ObjectViewApp.h\"\n\nCObjectViewApp\ttheApp;\n\nint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n\treturn theApp.WinMainStart(hInstance,lpCmdLine,nCmdShow);\n}\n\nCObjectViewApp::CObjectViewApp(void)\n{\n}\n\nCObjectViewApp::~CObjectViewApp(void)\n{\n}\n\n\n\n\nbool CObjectViewApp::InitInstance()\n{\n\tm_hMutex = OpenMutex(MUTEX_ALL_ACCESS,false,\"Object View\");\n\tif(m_hMutex)\n\t\treturn false;\n\tm_hMutex = CreateMutex(NULL,false,\"Object View\");\n\tm_pszDiskList = \"Wisp.dat;Syser.dat\";\n\tif(CLocalWispApp::InitInstance()==false)\n\t\treturn false;\n\tm_bHideMouse = true;\n\tm_hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IDI_ICON_SYSER_OPTION));\n\tm_FrameStyle&=~WS_VISIBLE;\n\tCreateFrame(WSTR(\"Object View\"),540,400,0);\n\tm_MainFrame.Create(NULL,0,0,0,0,NULL,WISP_ID_MAIN_FRAME,WISP_WS_NULL);\n\tm_MainFrame.Resize(m_FrameBuffer.Width,m_FrameBuffer.Height);\n\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\n\treturn true;\n}\n\nint\tCObjectViewApp::ExitInstance()\n{\n\tm_MainFrame.Destroy();\n\tDestroyFrame();\n\tCloseHandle(m_hMutex);\n\treturn CLocalWispApp::ExitInstance();\n}\n\n"
  },
  {
    "path": "Project/ObjectView/Source/ObjectViewApp.h",
    "content": "#ifndef _SYSER_OPTION_APP_H_\n#define _SYSER_OPTION_APP_H_\n\n#include \"MainFrame.h\"\n\nclass CObjectViewApp : public CLocalWispApp\n{\npublic:\n\tCObjectViewApp(void);\n\t~CObjectViewApp(void);\n\tvirtual bool\tInitInstance();\n\tvirtual int\t\tExitInstance();\n\tCMainFrame\t\tm_MainFrame;\n\tHANDLE\t\t\tm_hMutex;\n};\n\nextern CObjectViewApp\ttheApp;\n\n#endif\n"
  },
  {
    "path": "Project/ObjectView/Source/Ring3Object.cpp",
    "content": "#include \"Stdafx.h\"\n#include \"Ring3Object.h\"\n\nstatic HMODULE hNtdllModule=NULL;\n\nPZWCLOSE pZwClose=NULL;\nPZWOPENFILE pZwOpenFile=NULL;\nPZWOPENSECTION pZwOpenSection=NULL;\nPZWQUERYOBJECT pZwQueryObject=NULL;\nPRTLINITUNICODESTRING pRtlInitUnicodeString=NULL;\nPZWOPENDIRECTORYOBJECT pZwOpenDirectoryObject=NULL;\nPZWQUERYDIRECTORYOBJECT pZwQueryDirectoryObject=NULL;\nPZWQUERYSYSTEMINFORMATION pZwQuerySystemInformation=NULL;\nPZWOPENSYMBOLICLINKOBJECT pZwOpenSymbolicLinkObject=NULL;\nPZWQUERYSYMBOLICLINKOBJECT pZwQuerySymbolicLinkObject=NULL;\nbool UnloadAPI()\n{\n\tif(hNtdllModule)\n\t\tFreeLibrary(hNtdllModule);\n\treturn TRUE;\n}\n\nbool LoadAPI()\n{\n\thNtdllModule = GetModuleHandle(\"ntdll.dll\");\n\tif(!hNtdllModule)\n\t\treturn false;\n\tpZwClose = (PZWCLOSE)GetProcAddress(hNtdllModule,\"ZwClose\");\n\tif(!pZwClose)\n\t\treturn false;\n\tpZwQuerySystemInformation = (PZWQUERYSYSTEMINFORMATION)GetProcAddress(hNtdllModule,\"ZwQuerySystemInformation\");\n\tif(!pZwQuerySystemInformation)\n\t\treturn false;\n\tpZwOpenSection = (PZWOPENSECTION)GetProcAddress(hNtdllModule,\"ZwOpenSection\");\t\n\tif(!pZwOpenSection)\n\t\treturn false;\n\tpZwOpenFile = (PZWOPENFILE)GetProcAddress(hNtdllModule,\"ZwOpenFile\");\n\tif(!pZwOpenFile)\n\t\treturn false;\n\tpRtlInitUnicodeString = (PRTLINITUNICODESTRING)GetProcAddress(hNtdllModule,\"RtlInitUnicodeString\");\t\n\tif(!pRtlInitUnicodeString)\n\t\treturn false;\n\tpZwQueryObject = (PZWQUERYOBJECT)GetProcAddress(hNtdllModule,\"ZwQueryObject\");\n\tif(!pZwQueryObject)\n\t\treturn false;\n\tpZwOpenDirectoryObject = (PZWOPENDIRECTORYOBJECT)GetProcAddress(hNtdllModule,\"ZwOpenDirectoryObject\");\n\tif(!pZwOpenDirectoryObject)\n\t\treturn false;\n\tpZwQueryDirectoryObject = (PZWQUERYDIRECTORYOBJECT)GetProcAddress(hNtdllModule,\"ZwQueryDirectoryObject\");\n\tif(!pZwQueryDirectoryObject)\n\t\treturn false;\n\tpZwOpenSymbolicLinkObject = (PZWOPENSYMBOLICLINKOBJECT)GetProcAddress(hNtdllModule,\"ZwOpenSymbolicLinkObject\");\n\tif(!pZwOpenSymbolicLinkObject)\n\t\treturn false;\n\tpZwQuerySymbolicLinkObject = (PZWQUERYSYMBOLICLINKOBJECT)GetProcAddress(hNtdllModule,\"ZwQuerySymbolicLinkObject\");\n\tif(!pZwQuerySymbolicLinkObject)\n\t\treturn false;\n\treturn true;\n}\nbool GetSymbolicLink(WCHAR* LinkName,OUT UNICODE_STRING* LinkTargetName,OUT PULONG ReturnLength)\n{\n\tNTSTATUS NTStatus;\n\tHANDLE SymbolicHandle=NULL;\n\tUNICODE_STRING UnicodeString;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tif(pRtlInitUnicodeString==NULL)\n\t\tif(LoadAPI()==false)\n\t\t\treturn false;\n\tif(pRtlInitUnicodeString)\n\t\tpRtlInitUnicodeString(&UnicodeString,LinkName);\n\tInitializeObjectAttributes(&ObjectAttributes,&UnicodeString,OBJ_CASE_INSENSITIVE,0,NULL);\n\tNTStatus = pZwOpenSymbolicLinkObject(&SymbolicHandle,SYMBOLIC_LINK_QUERY,&ObjectAttributes);\n\tif(NTStatus)\n\t\treturn false;\n\t\n\tNTStatus = pZwQuerySymbolicLinkObject(SymbolicHandle,LinkTargetName,ReturnLength);\n\tif(NTStatus)\n\t{\n\t\tpZwClose(SymbolicHandle);\n\t\treturn false;\n\t}\n\tpZwClose(SymbolicHandle);\n\treturn true;\n}\n\n\nbool FindFirstObject(WCHAR* DirectoryName,INOUT PFIND_OBJECT_DATA pFindData)\n{\n\tNTSTATUS NTStatus;\n\tUNICODE_STRING DirString;\n\tHANDLE DirectoryHandle=NULL;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tpRtlInitUnicodeString(&DirString,DirectoryName);\n\tpFindData->FindDataBuffer = new FINDDATABUF;\n\tmemset(pFindData->FindDataBuffer,0,sizeof(FINDDATABUF));\n\tpFindData->CurrentDirName = new WCHAR[TStrLen(DirectoryName)+1];\n\tTStrCpy(pFindData->CurrentDirName,DirectoryName);\n\tInitializeObjectAttributes(&ObjectAttributes,&DirString,OBJ_CASE_INSENSITIVE,0,NULL);\n\tNTStatus = pZwOpenDirectoryObject(&pFindData->FindHandle,DIRECTORY_QUERY,&ObjectAttributes);\n\tif(NTStatus)\n\t{\n\t\tdelete pFindData->FindDataBuffer;\n\t\tdelete pFindData->CurrentDirName;\n\t\tpFindData->FindHandle=NULL;\n\t\treturn false;\n\t}\n\tNTStatus = pZwQueryDirectoryObject(pFindData->FindHandle,pFindData->FindDataBuffer,sizeof(FINDDATABUF),TRUE,TRUE,&pFindData->Context,&pFindData->NameMaxLen);\n\tif(NTStatus)\n\t{\n\t\tpZwClose(pFindData->FindHandle);\n\t\tdelete pFindData->FindDataBuffer;\n\t\tdelete pFindData->CurrentDirName;\n\t\tpFindData->FindHandle=NULL;\n\t\treturn false;\n\t}\n\treturn true;\n}\nbool FindNextObject(INOUT PFIND_OBJECT_DATA pFindData)\n{\n\tNTSTATUS NTStatus;\n\tNTStatus = pZwQueryDirectoryObject(pFindData->FindHandle,pFindData->FindDataBuffer,sizeof (FINDDATABUF),TRUE,FALSE,&pFindData->Context,&pFindData->NameMaxLen);\n\tif(NTStatus)\n\t\treturn false;\n\treturn true;\n}\nvoid CloseFindObject(PFIND_OBJECT_DATA pFindData)\n{\n\tif(pFindData->FindHandle)\n\t{\n\t\tpZwClose(pFindData->FindHandle);\n\t\tpFindData->FindHandle=NULL;\n\t}\n\tdelete pFindData->FindDataBuffer;\n\tdelete pFindData->CurrentDirName;\n\treturn;\n}"
  },
  {
    "path": "Project/ObjectView/Source/Ring3Object.h",
    "content": "#ifndef _LOADHLPMODULE_H_\n#define _LOADHLPMODULE_H_\n#include \"NTDLLDefine.h\" \nextern PZWCLOSE pZwClose;\nextern PZWOPENFILE pZwOpenFile;\nextern PZWQUERYOBJECT pZwQueryObject;\nextern PZWOPENSECTION pZwOpenSection;\nextern PRTLINITUNICODESTRING pRtlInitUnicodeString;\nextern PZWOPENDIRECTORYOBJECT pZwOpenDirectoryObject;\nextern PZWQUERYDIRECTORYOBJECT pZwQueryDirectoryObject;\nextern PZWQUERYSYSTEMINFORMATION pZwQuerySystemInformation;\nextern PZWOPENSYMBOLICLINKOBJECT pZwOpenSymbolicLinkObject;\nextern PZWQUERYSYMBOLICLINKOBJECT pZwQuerySymbolicLinkObject;\nbool UnloadAPI();\nbool LoadAPI();\nbool GetSymbolicLink(WCHAR* LinkName,OUT UNICODE_STRING *LinkTargetName,OUT PULONG ReturnLength);\nvoid CloseFindObject(PFIND_OBJECT_DATA pFindData);\nbool FindNextObject(INOUT PFIND_OBJECT_DATA pFindData);\nbool FindFirstObject(WCHAR* DirectoryName,INOUT PFIND_OBJECT_DATA pFindData);\n\n#endif //_LOADHLPMODULE_H_"
  },
  {
    "path": "Project/ObjectView/Source/StdAfx.cpp",
    "content": "#include  \"StdAfx.h\"\n\n"
  },
  {
    "path": "Project/ObjectView/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n#include \"../../WinWisp/Source/WinWisp.h\"\n\n#include \"Resource.h\"\n\n\n\n#endif\n"
  },
  {
    "path": "Project/ObjectView/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SyserOption.rc\n//\n#define IDI_ICON1                       101\n#define IDI_ICON_SYSER_OPTION           101\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        102\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/ObjectView/Win32/ObjectView.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"ObjectView\", \"ObjectView.vcproj\", \"{019BD290-B361-4955-A6BA-950691B47459}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E} = {142E5B2E-BB1F-42A2-B357-81F97F85F86E}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Release|Win32.Build.0 = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/ObjectView/Win32/ObjectView.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"ObjectView\"\n\tProjectGUID=\"{019BD290-B361-4955-A6BA-950691B47459}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/ObjectViewD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/ObjectView.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectViewApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ring3Object.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectViewApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ring3Object.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\ObjectView.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectView.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/ObjectView/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/ObjectView/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/ObjectView/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/Pcre/Source/AUTHORS",
    "content": "THE MAIN PCRE LIBRARY\n---------------------\n\nWritten by:       Philip Hazel\nEmail local part: ph10\nEmail domain:     cam.ac.uk\n\nUniversity of Cambridge Computing Service,\nCambridge, England. Phone: +44 1223 334714.\n\nCopyright (c) 1997-2005 University of Cambridge\nAll rights reserved\n\n\nTHE C++ WRAPPER LIBRARY\n-----------------------\n\nWritten by:       Google Inc.\n\nCopyright (c) 2005 Google Inc\nAll rights reserved\n\n####\n"
  },
  {
    "path": "Project/Pcre/Source/COPYING",
    "content": "PCRE LICENCE\n------------\n\nPCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\nRelease 6 of PCRE is distributed under the terms of the \"BSD\" licence, as\nspecified below. The documentation for PCRE, supplied in the \"doc\"\ndirectory, is distributed under the same terms as the software itself.\n\nThe basic library functions are written in C and are freestanding. Also\nincluded in the distribution is a set of C++ wrapper functions.\n\n\nTHE BASIC LIBRARY FUNCTIONS\n---------------------------\n\nWritten by:       Philip Hazel\nEmail local part: ph10\nEmail domain:     cam.ac.uk\n\nUniversity of Cambridge Computing Service,\nCambridge, England. Phone: +44 1223 334714.\n\nCopyright (c) 1997-2005 University of Cambridge\nAll rights reserved.\n\n\nTHE C++ WRAPPER FUNCTIONS\n-------------------------\n\nContributed by:   Google Inc.\n\nCopyright (c) 2005, Google Inc.\nAll rights reserved.\n\n\nTHE \"BSD\" LICENCE\n-----------------\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the name of Google\n      Inc. nor the names of their contributors may be used to endorse or\n      promote products derived from this software without specific prior\n      written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nEnd\n"
  },
  {
    "path": "Project/Pcre/Source/ChangeLog",
    "content": "ChangeLog for PCRE\n------------------\n\nVersion 6.1 21-Jun-05\n---------------------\n\n 1. There was one reference to the variable \"posix\" in pcretest.c that was not\n    surrounded by \"#if !defined NOPOSIX\".\n\n 2. Make it possible to compile pcretest without DFA support, UTF8 support, or\n    the cross-check on the old pcre_info() function, for the benefit of the\n    cut-down version of PCRE that is currently imported into Exim.\n\n 3. A (silly) pattern starting with (?i)(?-i) caused an internal space\n    allocation error. I've done the easy fix, which wastes 2 bytes for sensible\n    patterns that start (?i) but I don't think that matters. The use of (?i) is\n    just an example; this all applies to the other options as well.\n\n 4. Since libtool seems to echo the compile commands it is issuing, the output\n    from \"make\" can be reduced a bit by putting \"@\" in front of each libtool\n    compile command.\n\n 5. Patch from the folks at Google for configure.in to be a bit more thorough\n    in checking for a suitable C++ installation before trying to compile the\n    C++ stuff. This should fix a reported problem when a compiler was present,\n    but no suitable headers.\n\n 6. The man pages all had just \"PCRE\" as their title. I have changed them to\n    be the relevant file name. I have also arranged that these names are\n    retained in the file doc/pcre.txt, which is a concatenation in text format\n    of all the man pages except the little individual ones for each function.\n\n 7. The NON-UNIX-USE file had not been updated for the different set of source\n    files that come with release 6. I also added a few comments about the C++\n    wrapper.\n\n\nVersion 6.0 07-Jun-05\n---------------------\n\n 1. Some minor internal re-organization to help with my DFA experiments.\n\n 2. Some missing #ifdef SUPPORT_UCP conditionals in pcretest and printint that\n    didn't matter for the library itself when fully configured, but did matter\n    when compiling without UCP support, or within Exim, where the ucp files are\n    not imported.\n\n 3. Refactoring of the library code to split up the various functions into\n    different source modules. The addition of the new DFA matching code (see\n    below) to a single monolithic source would have made it really too\n    unwieldy, quite apart from causing all the code to be include in a\n    statically linked application, when only some functions are used. This is\n    relevant even without the DFA addition now that patterns can be compiled in\n    one application and matched in another.\n\n    The downside of splitting up is that there have to be some external\n    functions and data tables that are used internally in different modules of\n    the library but which are not part of the API. These have all had their\n    names changed to start with \"_pcre_\" so that they are unlikely to clash\n    with other external names.\n\n 4. Added an alternate matching function, pcre_dfa_exec(), which matches using\n    a different (DFA) algorithm. Although it is slower than the original\n    function, it does have some advantages for certain types of matching\n    problem.\n\n 5. Upgrades to pcretest in order to test the features of pcre_dfa_exec(),\n    including restarting after a partial match.\n\n 6. A patch for pcregrep that defines INVALID_FILE_ATTRIBUTES if it is not\n    defined when compiling for Windows was sent to me. I have put it into the\n    code, though I have no means of testing or verifying it.\n\n 7. Added the pcre_refcount() auxiliary function.\n\n 8. Added the PCRE_FIRSTLINE option. This constrains an unanchored pattern to\n    match before or at the first newline in the subject string. In pcretest,\n    the /f option on a pattern can be used to set this.\n\n 9. A repeated \\w when used in UTF-8 mode with characters greater than 256\n    would behave wrongly. This has been present in PCRE since release 4.0.\n\n10. A number of changes to the pcregrep command:\n\n    (a) Refactored how -x works; insert ^(...)$ instead of setting\n        PCRE_ANCHORED and checking the length, in preparation for adding\n        something similar for -w.\n\n    (b) Added the -w (match as a word) option.\n\n    (c) Refactored the way lines are read and buffered so as to have more\n        than one at a time available.\n\n    (d) Implemented a pcregrep test script.\n\n    (e) Added the -M (multiline match) option. This allows patterns to match\n        over several lines of the subject. The buffering ensures that at least\n        8K, or the rest of the document (whichever is the shorter) is available\n        for matching (and similarly the previous 8K for lookbehind assertions).\n\n    (f) Changed the --help output so that it now says\n\n          -w, --word-regex(p)\n\n        instead of two lines, one with \"regex\" and the other with \"regexp\"\n        because that confused at least one person since the short forms are the\n        same. (This required a bit of code, as the output is generated\n        automatically from a table. It wasn't just a text change.)\n\n    (g) -- can be used to terminate pcregrep options if the next thing isn't an\n        option but starts with a hyphen. Could be a pattern or a path name\n        starting with a hyphen, for instance.\n\n    (h) \"-\" can be given as a file name to represent stdin.\n\n    (i) When file names are being printed, \"(standard input)\" is used for\n        the standard input, for compatibility with GNU grep. Previously\n        \"<stdin>\" was used.\n\n    (j) The option --label=xxx can be used to supply a name to be used for\n        stdin when file names are being printed. There is no short form.\n\n    (k) Re-factored the options decoding logic because we are going to add\n        two more options that take data. Such options can now be given in four\n        different ways, e.g. \"-fname\", \"-f name\", \"--file=name\", \"--file name\".\n\n    (l) Added the -A, -B, and -C options for requesting that lines of context\n        around matches be printed.\n\n    (m) Added the -L option to print the names of files that do not contain\n        any matching lines, that is, the complement of -l.\n\n    (n) The return code is 2 if any file cannot be opened, but pcregrep does\n        continue to scan other files.\n\n    (o) The -s option was incorrectly implemented. For compatibility with other\n        greps, it now suppresses the error message for a non-existent or non-\n        accessible file (but not the return code). There is a new option called\n        -q that suppresses the output of matching lines, which was what -s was\n        previously doing.\n\n    (p) Added --include and --exclude options to specify files for inclusion\n        and exclusion when recursing.\n\n11. The Makefile was not using the Autoconf-supported LDFLAGS macro properly.\n    Hopefully, it now does.\n\n12. Missing cast in pcre_study().\n\n13. Added an \"uninstall\" target to the makefile.\n\n14. Replaced \"extern\" in the function prototypes in Makefile.in with\n    \"PCRE_DATA_SCOPE\", which defaults to 'extern' or 'extern \"C\"' in the Unix\n    world, but is set differently for Windows.\n\n15. Added a second compiling function called pcre_compile2(). The only\n    difference is that it has an extra argument, which is a pointer to an\n    integer error code. When there is a compile-time failure, this is set\n    non-zero, in addition to the error test pointer being set to point to an\n    error message. The new argument may be NULL if no error number is required\n    (but then you may as well call pcre_compile(), which is now just a\n    wrapper). This facility is provided because some applications need a\n    numeric error indication, but it has also enabled me to tidy up the way\n    compile-time errors are handled in the POSIX wrapper.\n\n16. Added VPATH=.libs to the makefile; this should help when building with one\n    prefix path and installing with another. (Or so I'm told by someone who\n    knows more about this stuff than I do.)\n\n17. Added a new option, REG_DOTALL, to the POSIX function regcomp(). This\n    passes PCRE_DOTALL to the pcre_compile() function, making the \".\" character\n    match everything, including newlines. This is not POSIX-compatible, but\n    somebody wanted the feature. From pcretest it can be activated by using\n    both the P and the s flags.\n\n18. AC_PROG_LIBTOOL appeared twice in Makefile.in. Removed one.\n\n19. libpcre.pc was being incorrectly installed as executable.\n\n20. A couple of places in pcretest check for end-of-line by looking for '\\n';\n    it now also looks for '\\r' so that it will work unmodified on Windows.\n\n21. Added Google's contributed C++ wrapper to the distribution.\n\n22. Added some untidy missing memory free() calls in pcretest, to keep\n    Electric Fence happy when testing.\n\n\n\nVersion 5.0 13-Sep-04\n---------------------\n\n 1. Internal change: literal characters are no longer packed up into items\n    containing multiple characters in a single byte-string. Each character\n    is now matched using a separate opcode. However, there may be more than one\n    byte in the character in UTF-8 mode.\n\n 2. The pcre_callout_block structure has two new fields: pattern_position and\n    next_item_length. These contain the offset in the pattern to the next match\n    item, and its length, respectively.\n\n 3. The PCRE_AUTO_CALLOUT option for pcre_compile() requests the automatic\n    insertion of callouts before each pattern item. Added the /C option to\n    pcretest to make use of this.\n\n 4. On the advice of a Windows user, the lines\n\n      #if defined(_WIN32) || defined(WIN32)\n      _setmode( _fileno( stdout ), 0x8000 );\n      #endif  /* defined(_WIN32) || defined(WIN32) */\n\n    have been added to the source of pcretest. This apparently does useful\n    magic in relation to line terminators.\n\n 5. Changed \"r\" and \"w\" in the calls to fopen() in pcretest to \"rb\" and \"wb\"\n    for the benefit of those environments where the \"b\" makes a difference.\n\n 6. The icc compiler has the same options as gcc, but \"configure\" doesn't seem\n    to know about it. I have put a hack into configure.in that adds in code\n    to set GCC=yes if CC=icc. This seems to end up at a point in the\n    generated configure script that is early enough to affect the setting of\n    compiler options, which is what is needed, but I have no means of testing\n    whether it really works. (The user who reported this had patched the\n    generated configure script, which of course I cannot do.)\n\n    LATER: After change 22 below (new libtool files), the configure script\n    seems to know about icc (and also ecc). Therefore, I have commented out\n    this hack in configure.in.\n\n 7. Added support for pkg-config (2 patches were sent in).\n\n 8. Negated POSIX character classes that used a combination of internal tables\n    were completely broken. These were [[:^alpha:]], [[:^alnum:]], and\n    [[:^ascii]]. Typically, they would match almost any characters. The other\n    POSIX classes were not broken in this way.\n\n 9. Matching the pattern \"\\b.*?\" against \"ab cd\", starting at offset 1, failed\n    to find the match, as PCRE was deluded into thinking that the match had to\n    start at the start point or following a newline. The same bug applied to\n    patterns with negative forward assertions or any backward assertions\n    preceding \".*\" at the start, unless the pattern required a fixed first\n    character. This was a failing pattern: \"(?!.bcd).*\". The bug is now fixed.\n\n10. In UTF-8 mode, when moving forwards in the subject after a failed match\n    starting at the last subject character, bytes beyond the end of the subject\n    string were read.\n\n11. Renamed the variable \"class\" as \"classbits\" to make life easier for C++\n    users. (Previously there was a macro definition, but it apparently wasn't\n    enough.)\n\n12. Added the new field \"tables\" to the extra data so that tables can be passed\n    in at exec time, or the internal tables can be re-selected. This allows\n    a compiled regex to be saved and re-used at a later time by a different\n    program that might have everything at different addresses.\n\n13. Modified the pcre-config script so that, when run on Solaris, it shows a\n    -R library as well as a -L library.\n\n14. The debugging options of pcretest (-d on the command line or D on a\n    pattern) showed incorrect output for anything following an extended class\n    that contained multibyte characters and which was followed by a quantifier.\n\n15. Added optional support for general category Unicode character properties\n    via the \\p, \\P, and \\X escapes. Unicode property support implies UTF-8\n    support. It adds about 90K to the size of the library. The meanings of the\n    inbuilt class escapes such as \\d and \\s have NOT been changed.\n\n16. Updated pcredemo.c to include calls to free() to release the memory for the\n    compiled pattern.\n\n17. The generated file chartables.c was being created in the source directory\n    instead of in the building directory. This caused the build to fail if the\n    source directory was different from the building directory, and was\n    read-only.\n\n18. Added some sample Win commands from Mark Tetrode into the NON-UNIX-USE\n    file. No doubt somebody will tell me if they don't make sense... Also added\n    Dan Mooney's comments about building on OpenVMS.\n\n19. Added support for partial matching via the PCRE_PARTIAL option for\n    pcre_exec() and the \\P data escape in pcretest.\n\n20. Extended pcretest with 3 new pattern features:\n\n    (i)   A pattern option of the form \">rest-of-line\" causes pcretest to\n          write the compiled pattern to the file whose name is \"rest-of-line\".\n          This is a straight binary dump of the data, with the saved pointer to\n          the character tables forced to be NULL. The study data, if any, is\n          written too. After writing, pcretest reads a new pattern.\n\n    (ii)  If, instead of a pattern, \"<rest-of-line\" is given, pcretest reads a\n          compiled pattern from the given file. There must not be any\n          occurrences of \"<\" in the file name (pretty unlikely); if there are,\n          pcretest will instead treat the initial \"<\" as a pattern delimiter.\n          After reading in the pattern, pcretest goes on to read data lines as\n          usual.\n\n    (iii) The F pattern option causes pcretest to flip the bytes in the 32-bit\n          and 16-bit fields in a compiled pattern, to simulate a pattern that\n          was compiled on a host of opposite endianness.\n\n21. The pcre-exec() function can now cope with patterns that were compiled on\n    hosts of opposite endianness, with this restriction:\n\n      As for any compiled expression that is saved and used later, the tables\n      pointer field cannot be preserved; the extra_data field in the arguments\n      to pcre_exec() should be used to pass in a tables address if a value\n      other than the default internal tables were used at compile time.\n\n22. Calling pcre_exec() with a negative value of the \"ovecsize\" parameter is\n    now diagnosed as an error. Previously, most of the time, a negative number\n    would have been treated as zero, but if in addition \"ovector\" was passed as\n    NULL, a crash could occur.\n\n23. Updated the files ltmain.sh, config.sub, config.guess, and aclocal.m4 with\n    new versions from the libtool 1.5 distribution (the last one is a copy of\n    a file called libtool.m4). This seems to have fixed the need to patch\n    \"configure\" to support Darwin 1.3 (which I used to do). However, I still\n    had to patch ltmain.sh to ensure that ${SED} is set (it isn't on my\n    workstation).\n\n24. Changed the PCRE licence to be the more standard \"BSD\" licence.\n\n\nVersion 4.5 01-Dec-03\n---------------------\n\n 1. There has been some re-arrangement of the code for the match() function so\n    that it can be compiled in a version that does not call itself recursively.\n    Instead, it keeps those local variables that need separate instances for\n    each \"recursion\" in a frame on the heap, and gets/frees frames whenever it\n    needs to \"recurse\". Keeping track of where control must go is done by means\n    of setjmp/longjmp. The whole thing is implemented by a set of macros that\n    hide most of the details from the main code, and operates only if\n    NO_RECURSE is defined while compiling pcre.c. If PCRE is built using the\n    \"configure\" mechanism, \"--disable-stack-for-recursion\" turns on this way of\n    operating.\n\n    To make it easier for callers to provide specially tailored get/free\n    functions for this usage, two new functions, pcre_stack_malloc, and\n    pcre_stack_free, are used. They are always called in strict stacking order,\n    and the size of block requested is always the same.\n\n    The PCRE_CONFIG_STACKRECURSE info parameter can be used to find out whether\n    PCRE has been compiled to use the stack or the heap for recursion. The\n    -C option of pcretest uses this to show which version is compiled.\n\n    A new data escape \\S, is added to pcretest; it causes the amounts of store\n    obtained and freed by both kinds of malloc/free at match time to be added\n    to the output.\n\n 2. Changed the locale test to use \"fr_FR\" instead of \"fr\" because that's\n    what's available on my current Linux desktop machine.\n\n 3. When matching a UTF-8 string, the test for a valid string at the start has\n    been extended. If start_offset is not zero, PCRE now checks that it points\n    to a byte that is the start of a UTF-8 character. If not, it returns\n    PCRE_ERROR_BADUTF8_OFFSET (-11). Note: the whole string is still checked;\n    this is necessary because there may be backward assertions in the pattern.\n    When matching the same subject several times, it may save resources to use\n    PCRE_NO_UTF8_CHECK on all but the first call if the string is long.\n\n 4. The code for checking the validity of UTF-8 strings has been tightened so\n    that it rejects (a) strings containing 0xfe or 0xff bytes and (b) strings\n    containing \"overlong sequences\".\n\n 5. Fixed a bug (appearing twice) that I could not find any way of exploiting!\n    I had written \"if ((digitab[*p++] && chtab_digit) == 0)\" where the \"&&\"\n    should have been \"&\", but it just so happened that all the cases this let\n    through by mistake were picked up later in the function.\n\n 6. I had used a variable called \"isblank\" - this is a C99 function, causing\n    some compilers to warn. To avoid this, I renamed it (as \"blankclass\").\n\n 7. Cosmetic: (a) only output another newline at the end of pcretest if it is\n    prompting; (b) run \"./pcretest /dev/null\" at the start of the test script\n    so the version is shown; (c) stop \"make test\" echoing \"./RunTest\".\n\n 8. Added patches from David Burgess to enable PCRE to run on EBCDIC systems.\n\n 9. The prototype for memmove() for systems that don't have it was using\n    size_t, but the inclusion of the header that defines size_t was later. I've\n    moved the #includes for the C headers earlier to avoid this.\n\n10. Added some adjustments to the code to make it easier to compiler on certain\n    special systems:\n\n      (a) Some \"const\" qualifiers were missing.\n      (b) Added the macro EXPORT before all exported functions; by default this\n          is defined to be empty.\n      (c) Changed the dftables auxiliary program (that builds chartables.c) so\n          that it reads its output file name as an argument instead of writing\n          to the standard output and assuming this can be redirected.\n\n11. In UTF-8 mode, if a recursive reference (e.g. (?1)) followed a character\n    class containing characters with values greater than 255, PCRE compilation\n    went into a loop.\n\n12. A recursive reference to a subpattern that was within another subpattern\n    that had a minimum quantifier of zero caused PCRE to crash. For example,\n    (x(y(?2))z)? provoked this bug with a subject that got as far as the\n    recursion. If the recursively-called subpattern itself had a zero repeat,\n    that was OK.\n\n13. In pcretest, the buffer for reading a data line was set at 30K, but the\n    buffer into which it was copied (for escape processing) was still set at\n    1024, so long lines caused crashes.\n\n14. A pattern such as /[ab]{1,3}+/ failed to compile, giving the error\n    \"internal error: code overflow...\". This applied to any character class\n    that was followed by a possessive quantifier.\n\n15. Modified the Makefile to add libpcre.la as a prerequisite for\n    libpcreposix.la because I was told this is needed for a parallel build to\n    work.\n\n16. If a pattern that contained .* following optional items at the start was\n    studied, the wrong optimizing data was generated, leading to matching\n    errors. For example, studying /[ab]*.*c/ concluded, erroneously, that any\n    matching string must start with a or b or c. The correct conclusion for\n    this pattern is that a match can start with any character.\n\n\nVersion 4.4 13-Aug-03\n---------------------\n\n 1. In UTF-8 mode, a character class containing characters with values between\n    127 and 255 was not handled correctly if the compiled pattern was studied.\n    In fixing this, I have also improved the studying algorithm for such\n    classes (slightly).\n\n 2. Three internal functions had redundant arguments passed to them. Removal\n    might give a very teeny performance improvement.\n\n 3. Documentation bug: the value of the capture_top field in a callout is *one\n    more than* the number of the hightest numbered captured substring.\n\n 4. The Makefile linked pcretest and pcregrep with -lpcre, which could result\n    in incorrectly linking with a previously installed version. They now link\n    explicitly with libpcre.la.\n\n 5. configure.in no longer needs to recognize Cygwin specially.\n\n 6. A problem in pcre.in for Windows platforms is fixed.\n\n 7. If a pattern was successfully studied, and the -d (or /D) flag was given to\n    pcretest, it used to include the size of the study block as part of its\n    output. Unfortunately, the structure contains a field that has a different\n    size on different hardware architectures. This meant that the tests that\n    showed this size failed. As the block is currently always of a fixed size,\n    this information isn't actually particularly useful in pcretest output, so\n    I have just removed it.\n\n 8. Three pre-processor statements accidentally did not start in column 1.\n    Sadly, there are *still* compilers around that complain, even though\n    standard C has not required this for well over a decade. Sigh.\n\n 9. In pcretest, the code for checking callouts passed small integers in the\n    callout_data field, which is a void * field. However, some picky compilers\n    complained about the casts involved for this on 64-bit systems. Now\n    pcretest passes the address of the small integer instead, which should get\n    rid of the warnings.\n\n10. By default, when in UTF-8 mode, PCRE now checks for valid UTF-8 strings at\n    both compile and run time, and gives an error if an invalid UTF-8 sequence\n    is found. There is a option for disabling this check in cases where the\n    string is known to be correct and/or the maximum performance is wanted.\n\n11. In response to a bug report, I changed one line in Makefile.in from\n\n        -Wl,--out-implib,.libs/lib@WIN_PREFIX@pcreposix.dll.a \\\n    to\n        -Wl,--out-implib,.libs/@WIN_PREFIX@libpcreposix.dll.a \\\n\n    to look similar to other lines, but I have no way of telling whether this\n    is the right thing to do, as I do not use Windows. No doubt I'll get told\n    if it's wrong...\n\n\nVersion 4.3 21-May-03\n---------------------\n\n1. Two instances of @WIN_PREFIX@ omitted from the Windows targets in the\n   Makefile.\n\n2. Some refactoring to improve the quality of the code:\n\n   (i)   The utf8_table... variables are now declared \"const\".\n\n   (ii)  The code for \\cx, which used the \"case flipping\" table to upper case\n         lower case letters, now just substracts 32. This is ASCII-specific,\n         but the whole concept of \\cx is ASCII-specific, so it seems\n         reasonable.\n\n   (iii) PCRE was using its character types table to recognize decimal and\n         hexadecimal digits in the pattern. This is silly, because it handles\n         only 0-9, a-f, and A-F, but the character types table is locale-\n         specific, which means strange things might happen. A private\n         table is now used for this - though it costs 256 bytes, a table is\n         much faster than multiple explicit tests. Of course, the standard\n         character types table is still used for matching digits in subject\n         strings against \\d.\n\n   (iv)  Strictly, the identifier ESC_t is reserved by POSIX (all identifiers\n         ending in _t are). So I've renamed it as ESC_tee.\n\n3. The first argument for regexec() in the POSIX wrapper should have been\n   defined as \"const\".\n\n4. Changed pcretest to use malloc() for its buffers so that they can be\n   Electric Fenced for debugging.\n\n5. There were several places in the code where, in UTF-8 mode, PCRE would try\n   to read one or more bytes before the start of the subject string. Often this\n   had no effect on PCRE's behaviour, but in some circumstances it could\n   provoke a segmentation fault.\n\n6. A lookbehind at the start of a pattern in UTF-8 mode could also cause PCRE\n   to try to read one or more bytes before the start of the subject string.\n\n7. A lookbehind in a pattern matched in non-UTF-8 mode on a PCRE compiled with\n   UTF-8 support could misbehave in various ways if the subject string\n   contained bytes with the 0x80 bit set and the 0x40 bit unset in a lookbehind\n   area. (PCRE was not checking for the UTF-8 mode flag, and trying to move\n   back over UTF-8 characters.)\n\n\nVersion 4.2 14-Apr-03\n---------------------\n\n1. Typo \"#if SUPPORT_UTF8\" instead of \"#ifdef SUPPORT_UTF8\" fixed.\n\n2. Changes to the building process, supplied by Ronald Landheer-Cieslak\n     [ON_WINDOWS]: new variable, \"#\" on non-Windows platforms\n     [NOT_ON_WINDOWS]: new variable, \"#\" on Windows platforms\n     [WIN_PREFIX]: new variable, \"cyg\" for Cygwin\n     * Makefile.in: use autoconf substitution for OBJEXT, EXEEXT, BUILD_OBJEXT\n       and BUILD_EXEEXT\n     Note: automatic setting of the BUILD variables is not yet working\n     set CPPFLAGS and BUILD_CPPFLAGS (but don't use yet) - should be used at\n       compile-time but not at link-time\n     [LINK]: use for linking executables only\n     make different versions for Windows and non-Windows\n     [LINKLIB]: new variable, copy of UNIX-style LINK, used for linking\n       libraries\n     [LINK_FOR_BUILD]: new variable\n     [OBJEXT]: use throughout\n     [EXEEXT]: use throughout\n     <winshared>: new target\n     <wininstall>: new target\n     <dftables.o>: use native compiler\n     <dftables>: use native linker\n     <install>: handle Windows platform correctly\n     <clean>: ditto\n     <check>: ditto\n     copy DLL to top builddir before testing\n\n   As part of these changes, -no-undefined was removed again. This was reported\n   to give trouble on HP-UX 11.0, so getting rid of it seems like a good idea\n   in any case.\n\n3. Some tidies to get rid of compiler warnings:\n\n   . In the match_data structure, match_limit was an unsigned long int, whereas\n     match_call_count was an int. I've made them both unsigned long ints.\n\n   . In pcretest the fact that a const uschar * doesn't automatically cast to\n     a void * provoked a warning.\n\n   . Turning on some more compiler warnings threw up some \"shadow\" variables\n     and a few more missing casts.\n\n4. If PCRE was complied with UTF-8 support, but called without the PCRE_UTF8\n   option, a class that contained a single character with a value between 128\n   and 255 (e.g. /[\\xFF]/) caused PCRE to crash.\n\n5. If PCRE was compiled with UTF-8 support, but called without the PCRE_UTF8\n   option, a class that contained several characters, but with at least one\n   whose value was between 128 and 255 caused PCRE to crash.\n\n\nVersion 4.1 12-Mar-03\n---------------------\n\n1. Compiling with gcc -pedantic found a couple of places where casts were\nneeded, and a string in dftables.c that was longer than standard compilers are\nrequired to support.\n\n2. Compiling with Sun's compiler found a few more places where the code could\nbe tidied up in order to avoid warnings.\n\n3. The variables for cross-compiling were called HOST_CC and HOST_CFLAGS; the\nfirst of these names is deprecated in the latest Autoconf in favour of the name\nCC_FOR_BUILD, because \"host\" is typically used to mean the system on which the\ncompiled code will be run. I can't find a reference for HOST_CFLAGS, but by\nanalogy I have changed it to CFLAGS_FOR_BUILD.\n\n4. Added -no-undefined to the linking command in the Makefile, because this is\napparently helpful for Windows. To make it work, also added \"-L. -lpcre\" to the\nlinking step for the pcreposix library.\n\n5. PCRE was failing to diagnose the case of two named groups with the same\nname.\n\n6. A problem with one of PCRE's optimizations was discovered. PCRE remembers a\nliteral character that is needed in the subject for a match, and scans along to\nensure that it is present before embarking on the full matching process. This\nsaves time in cases of nested unlimited repeats that are never going to match.\nProblem: the scan can take a lot of time if the subject is very long (e.g.\nmegabytes), thus penalizing straightforward matches. It is now done only if the\namount of subject to be scanned is less than 1000 bytes.\n\n7. A lesser problem with the same optimization is that it was recording the\nfirst character of an anchored pattern as \"needed\", thus provoking a search\nright along the subject, even when the first match of the pattern was going to\nfail. The \"needed\" character is now not set for anchored patterns, unless it\nfollows something in the pattern that is of non-fixed length. Thus, it still\nfulfils its original purpose of finding quick non-matches in cases of nested\nunlimited repeats, but isn't used for simple anchored patterns such as /^abc/.\n\n\nVersion 4.0 17-Feb-03\n---------------------\n\n1. If a comment in an extended regex that started immediately after a meta-item\nextended to the end of string, PCRE compiled incorrect data. This could lead to\nall kinds of weird effects. Example: /#/ was bad; /()#/ was bad; /a#/ was not.\n\n2. Moved to autoconf 2.53 and libtool 1.4.2.\n\n3. Perl 5.8 no longer needs \"use utf8\" for doing UTF-8 things. Consequently,\nthe special perltest8 script is no longer needed - all the tests can be run\nfrom a single perltest script.\n\n4. From 5.004, Perl has not included the VT character (0x0b) in the set defined\nby \\s. It has now been removed in PCRE. This means it isn't recognized as\nwhitespace in /x regexes too, which is the same as Perl. Note that the POSIX\nclass [:space:] *does* include VT, thereby creating a mess.\n\n5. Added the class [:blank:] (a GNU extension from Perl 5.8) to match only\nspace and tab.\n\n6. Perl 5.005 was a long time ago. It's time to amalgamate the tests that use\nits new features into the main test script, reducing the number of scripts.\n\n7. Perl 5.8 has changed the meaning of patterns like /a(?i)b/. Earlier versions\nwere backward compatible, and made the (?i) apply to the whole pattern, as if\n/i were given. Now it behaves more logically, and applies the option setting\nonly to what follows. PCRE has been changed to follow suit. However, if it\nfinds options settings right at the start of the pattern, it extracts them into\nthe global options, as before. Thus, they show up in the info data.\n\n8. Added support for the \\Q...\\E escape sequence. Characters in between are\ntreated as literals. This is slightly different from Perl in that $ and @ are\nalso handled as literals inside the quotes. In Perl, they will cause variable\ninterpolation. Note the following examples:\n\n    Pattern            PCRE matches      Perl matches\n\n    \\Qabc$xyz\\E        abc$xyz           abc followed by the contents of $xyz\n    \\Qabc\\$xyz\\E       abc\\$xyz          abc\\$xyz\n    \\Qabc\\E\\$\\Qxyz\\E   abc$xyz           abc$xyz\n\nFor compatibility with Perl, \\Q...\\E sequences are recognized inside character\nclasses as well as outside them.\n\n9. Re-organized 3 code statements in pcretest to avoid \"overflow in\nfloating-point constant arithmetic\" warnings from a Microsoft compiler. Added a\n(size_t) cast to one statement in pcretest and one in pcreposix to avoid\nsigned/unsigned warnings.\n\n10. SunOS4 doesn't have strtoul(). This was used only for unpicking the -o\noption for pcretest, so I've replaced it by a simple function that does just\nthat job.\n\n11. pcregrep was ending with code 0 instead of 2 for the commands \"pcregrep\" or\n\"pcregrep -\".\n\n12. Added \"possessive quantifiers\" ?+, *+, ++, and {,}+ which come from Sun's\nJava package. This provides some syntactic sugar for simple cases of what my\ndocumentation calls \"once-only subpatterns\". A pattern such as x*+ is the same\nas (?>x*). In other words, if what is inside (?>...) is just a single repeated\nitem, you can use this simplified notation. Note that only makes sense with\ngreedy quantifiers. Consequently, the use of the possessive quantifier forces\ngreediness, whatever the setting of the PCRE_UNGREEDY option.\n\n13. A change of greediness default within a pattern was not taking effect at\nthe current level for patterns like /(b+(?U)a+)/. It did apply to parenthesized\nsubpatterns that followed. Patterns like /b+(?U)a+/ worked because the option\nwas abstracted outside.\n\n14. PCRE now supports the \\G assertion. It is true when the current matching\nposition is at the start point of the match. This differs from \\A when the\nstarting offset is non-zero. Used with the /g option of pcretest (or similar\ncode), it works in the same way as it does for Perl's /g option. If all\nalternatives of a regex begin with \\G, the expression is anchored to the start\nmatch position, and the \"anchored\" flag is set in the compiled expression.\n\n15. Some bugs concerning the handling of certain option changes within patterns\nhave been fixed. These applied to options other than (?ims). For example,\n\"a(?x: b c )d\" did not match \"XabcdY\" but did match \"Xa b c dY\". It should have\nbeen the other way round. Some of this was related to change 7 above.\n\n16. PCRE now gives errors for /[.x.]/ and /[=x=]/ as unsupported POSIX\nfeatures, as Perl does. Previously, PCRE gave the warnings only for /[[.x.]]/\nand /[[=x=]]/. PCRE now also gives an error for /[:name:]/ because it supports\nPOSIX classes only within a class (e.g. /[[:alpha:]]/).\n\n17. Added support for Perl's \\C escape. This matches one byte, even in UTF8\nmode. Unlike \".\", it always matches newline, whatever the setting of\nPCRE_DOTALL. However, PCRE does not permit \\C to appear in lookbehind\nassertions. Perl allows it, but it doesn't (in general) work because it can't\ncalculate the length of the lookbehind. At least, that's the case for Perl\n5.8.0 - I've been told they are going to document that it doesn't work in\nfuture.\n\n18. Added an error diagnosis for escapes that PCRE does not support: these are\n\\L, \\l, \\N, \\P, \\p, \\U, \\u, and \\X.\n\n19. Although correctly diagnosing a missing ']' in a character class, PCRE was\nreading past the end of the pattern in cases such as /[abcd/.\n\n20. PCRE was getting more memory than necessary for patterns with classes that\ncontained both POSIX named classes and other characters, e.g. /[[:space:]abc/.\n\n21. Added some code, conditional on #ifdef VPCOMPAT, to make life easier for\ncompiling PCRE for use with Virtual Pascal.\n\n22. Small fix to the Makefile to make it work properly if the build is done\noutside the source tree.\n\n23. Added a new extension: a condition to go with recursion. If a conditional\nsubpattern starts with (?(R) the \"true\" branch is used if recursion has\nhappened, whereas the \"false\" branch is used only at the top level.\n\n24. When there was a very long string of literal characters (over 255 bytes\nwithout UTF support, over 250 bytes with UTF support), the computation of how\nmuch memory was required could be incorrect, leading to segfaults or other\nstrange effects.\n\n25. PCRE was incorrectly assuming anchoring (either to start of subject or to\nstart of line for a non-DOTALL pattern) when a pattern started with (.*) and\nthere was a subsequent back reference to those brackets. This meant that, for\nexample, /(.*)\\d+\\1/ failed to match \"abc123bc\". Unfortunately, it isn't\npossible to check for precisely this case. All we can do is abandon the\noptimization if .* occurs inside capturing brackets when there are any back\nreferences whatsoever. (See below for a better fix that came later.)\n\n26. The handling of the optimization for finding the first character of a\nnon-anchored pattern, and for finding a character that is required later in the\nmatch were failing in some cases. This didn't break the matching; it just\nfailed to optimize when it could. The way this is done has been re-implemented.\n\n27. Fixed typo in error message for invalid (?R item (it said \"(?p\").\n\n28. Added a new feature that provides some of the functionality that Perl\nprovides with (?{...}). The facility is termed a \"callout\". The way it is done\nin PCRE is for the caller to provide an optional function, by setting\npcre_callout to its entry point. Like pcre_malloc and pcre_free, this is a\nglobal variable. By default it is unset, which disables all calling out. To get\nthe function called, the regex must include (?C) at appropriate points. This\nis, in fact, equivalent to (?C0), and any number <= 255 may be given with (?C).\nThis provides a means of identifying different callout points. When PCRE\nreaches such a point in the regex, if pcre_callout has been set, the external\nfunction is called. It is provided with data in a structure called\npcre_callout_block, which is defined in pcre.h. If the function returns 0,\nmatching continues; if it returns a non-zero value, the match at the current\npoint fails. However, backtracking will occur if possible. [This was changed\nlater and other features added - see item 49 below.]\n\n29. pcretest is upgraded to test the callout functionality. It provides a\ncallout function that displays information. By default, it shows the start of\nthe match and the current position in the text. There are some new data escapes\nto vary what happens:\n\n    \\C+         in addition, show current contents of captured substrings\n    \\C-         do not supply a callout function\n    \\C!n        return 1 when callout number n is reached\n    \\C!n!m      return 1 when callout number n is reached for the mth time\n\n30. If pcregrep was called with the -l option and just a single file name, it\noutput \"<stdin>\" if a match was found, instead of the file name.\n\n31. Improve the efficiency of the POSIX API to PCRE. If the number of capturing\nslots is less than POSIX_MALLOC_THRESHOLD, use a block on the stack to pass to\npcre_exec(). This saves a malloc/free per call. The default value of\nPOSIX_MALLOC_THRESHOLD is 10; it can be changed by --with-posix-malloc-threshold\nwhen configuring.\n\n32. The default maximum size of a compiled pattern is 64K. There have been a\nfew cases of people hitting this limit. The code now uses macros to handle the\nstoring of links as offsets within the compiled pattern. It defaults to 2-byte\nlinks, but this can be changed to 3 or 4 bytes by --with-link-size when\nconfiguring. Tests 2 and 5 work only with 2-byte links because they output\ndebugging information about compiled patterns.\n\n33. Internal code re-arrangements:\n\n(a) Moved the debugging function for printing out a compiled regex into\n    its own source file (printint.c) and used #include to pull it into\n    pcretest.c and, when DEBUG is defined, into pcre.c, instead of having two\n    separate copies.\n\n(b) Defined the list of op-code names for debugging as a macro in\n    internal.h so that it is next to the definition of the opcodes.\n\n(c) Defined a table of op-code lengths for simpler skipping along compiled\n    code. This is again a macro in internal.h so that it is next to the\n    definition of the opcodes.\n\n34. Added support for recursive calls to individual subpatterns, along the\nlines of Robin Houston's patch (but implemented somewhat differently).\n\n35. Further mods to the Makefile to help Win32. Also, added code to pcregrep to\nallow it to read and process whole directories in Win32. This code was\ncontributed by Lionel Fourquaux; it has not been tested by me.\n\n36. Added support for named subpatterns. The Python syntax (?P<name>...) is\nused to name a group. Names consist of alphanumerics and underscores, and must\nbe unique. Back references use the syntax (?P=name) and recursive calls use\n(?P>name) which is a PCRE extension to the Python extension. Groups still have\nnumbers. The function pcre_fullinfo() can be used after compilation to extract\na name/number map. There are three relevant calls:\n\n  PCRE_INFO_NAMEENTRYSIZE        yields the size of each entry in the map\n  PCRE_INFO_NAMECOUNT            yields the number of entries\n  PCRE_INFO_NAMETABLE            yields a pointer to the map.\n\nThe map is a vector of fixed-size entries. The size of each entry depends on\nthe length of the longest name used. The first two bytes of each entry are the\ngroup number, most significant byte first. There follows the corresponding\nname, zero terminated. The names are in alphabetical order.\n\n37. Make the maximum literal string in the compiled code 250 for the non-UTF-8\ncase instead of 255. Making it the same both with and without UTF-8 support\nmeans that the same test output works with both.\n\n38. There was a case of malloc(0) in the POSIX testing code in pcretest. Avoid\ncalling malloc() with a zero argument.\n\n39. Change 25 above had to resort to a heavy-handed test for the .* anchoring\noptimization. I've improved things by keeping a bitmap of backreferences with\nnumbers 1-31 so that if .* occurs inside capturing brackets that are not in\nfact referenced, the optimization can be applied. It is unlikely that a\nrelevant occurrence of .* (i.e. one which might indicate anchoring or forcing\nthe match to follow \\n) will appear inside brackets with a number greater than\n31, but if it does, any back reference > 31 suppresses the optimization.\n\n40. Added a new compile-time option PCRE_NO_AUTO_CAPTURE. This has the effect\nof disabling numbered capturing parentheses. Any opening parenthesis that is\nnot followed by ? behaves as if it were followed by ?: but named parentheses\ncan still be used for capturing (and they will acquire numbers in the usual\nway).\n\n41. Redesigned the return codes from the match() function into yes/no/error so\nthat errors can be passed back from deep inside the nested calls. A malloc\nfailure while inside a recursive subpattern call now causes the\nPCRE_ERROR_NOMEMORY return instead of quietly going wrong.\n\n42. It is now possible to set a limit on the number of times the match()\nfunction is called in a call to pcre_exec(). This facility makes it possible to\nlimit the amount of recursion and backtracking, though not in a directly\nobvious way, because the match() function is used in a number of different\ncircumstances. The count starts from zero for each position in the subject\nstring (for non-anchored patterns). The default limit is, for compatibility, a\nlarge number, namely 10 000 000. You can change this in two ways:\n\n(a) When configuring PCRE before making, you can use --with-match-limit=n\n    to set a default value for the compiled library.\n\n(b) For each call to pcre_exec(), you can pass a pcre_extra block in which\n    a different value is set. See 45 below.\n\nIf the limit is exceeded, pcre_exec() returns PCRE_ERROR_MATCHLIMIT.\n\n43. Added a new function pcre_config(int, void *) to enable run-time extraction\nof things that can be changed at compile time. The first argument specifies\nwhat is wanted and the second points to where the information is to be placed.\nThe current list of available information is:\n\n  PCRE_CONFIG_UTF8\n\nThe output is an integer that is set to one if UTF-8 support is available;\notherwise it is set to zero.\n\n  PCRE_CONFIG_NEWLINE\n\nThe output is an integer that it set to the value of the code that is used for\nnewline. It is either LF (10) or CR (13).\n\n  PCRE_CONFIG_LINK_SIZE\n\nThe output is an integer that contains the number of bytes used for internal\nlinkage in compiled expressions. The value is 2, 3, or 4. See item 32 above.\n\n  PCRE_CONFIG_POSIX_MALLOC_THRESHOLD\n\nThe output is an integer that contains the threshold above which the POSIX\ninterface uses malloc() for output vectors. See item 31 above.\n\n  PCRE_CONFIG_MATCH_LIMIT\n\nThe output is an unsigned integer that contains the default limit of the number\nof match() calls in a pcre_exec() execution. See 42 above.\n\n44. pcretest has been upgraded by the addition of the -C option. This causes it\nto extract all the available output from the new pcre_config() function, and to\noutput it. The program then exits immediately.\n\n45. A need has arisen to pass over additional data with calls to pcre_exec() in\norder to support additional features. One way would have been to define\npcre_exec2() (for example) with extra arguments, but this would not have been\nextensible, and would also have required all calls to the original function to\nbe mapped to the new one. Instead, I have chosen to extend the mechanism that\nis used for passing in \"extra\" data from pcre_study().\n\nThe pcre_extra structure is now exposed and defined in pcre.h. It currently\ncontains the following fields:\n\n  flags         a bitmap indicating which of the following fields are set\n  study_data    opaque data from pcre_study()\n  match_limit   a way of specifying a limit on match() calls for a specific\n                  call to pcre_exec()\n  callout_data  data for callouts (see 49 below)\n\nThe flag bits are also defined in pcre.h, and are\n\n  PCRE_EXTRA_STUDY_DATA\n  PCRE_EXTRA_MATCH_LIMIT\n  PCRE_EXTRA_CALLOUT_DATA\n\nThe pcre_study() function now returns one of these new pcre_extra blocks, with\nthe actual study data pointed to by the study_data field, and the\nPCRE_EXTRA_STUDY_DATA flag set. This can be passed directly to pcre_exec() as\nbefore. That is, this change is entirely upwards-compatible and requires no\nchange to existing code.\n\nIf you want to pass in additional data to pcre_exec(), you can either place it\nin a pcre_extra block provided by pcre_study(), or create your own pcre_extra\nblock.\n\n46. pcretest has been extended to test the PCRE_EXTRA_MATCH_LIMIT feature. If a\ndata string contains the escape sequence \\M, pcretest calls pcre_exec() several\ntimes with different match limits, until it finds the minimum value needed for\npcre_exec() to complete. The value is then output. This can be instructive; for\nmost simple matches the number is quite small, but for pathological cases it\ngets very large very quickly.\n\n47. There's a new option for pcre_fullinfo() called PCRE_INFO_STUDYSIZE. It\nreturns the size of the data block pointed to by the study_data field in a\npcre_extra block, that is, the value that was passed as the argument to\npcre_malloc() when PCRE was getting memory in which to place the information\ncreated by pcre_study(). The fourth argument should point to a size_t variable.\npcretest has been extended so that this information is shown after a successful\npcre_study() call when information about the compiled regex is being displayed.\n\n48. Cosmetic change to Makefile: there's no need to have / after $(DESTDIR)\nbecause what follows is always an absolute path. (Later: it turns out that this\nis more than cosmetic for MinGW, because it doesn't like empty path\ncomponents.)\n\n49. Some changes have been made to the callout feature (see 28 above):\n\n(i)  A callout function now has three choices for what it returns:\n\n       0  =>  success, carry on matching\n     > 0  =>  failure at this point, but backtrack if possible\n     < 0  =>  serious error, return this value from pcre_exec()\n\n     Negative values should normally be chosen from the set of PCRE_ERROR_xxx\n     values. In particular, returning PCRE_ERROR_NOMATCH forces a standard\n     \"match failed\" error. The error number PCRE_ERROR_CALLOUT is reserved for\n     use by callout functions. It will never be used by PCRE itself.\n\n(ii) The pcre_extra structure (see 45 above) has a void * field called\n     callout_data, with corresponding flag bit PCRE_EXTRA_CALLOUT_DATA. The\n     pcre_callout_block structure has a field of the same name. The contents of\n     the field passed in the pcre_extra structure are passed to the callout\n     function in the corresponding field in the callout block. This makes it\n     easier to use the same callout-containing regex from multiple threads. For\n     testing, the pcretest program has a new data escape\n\n       \\C*n        pass the number n (may be negative) as callout_data\n\n     If the callout function in pcretest receives a non-zero value as\n     callout_data, it returns that value.\n\n50. Makefile wasn't handling CFLAGS properly when compiling dftables. Also,\nthere were some redundant $(CFLAGS) in commands that are now specified as\n$(LINK), which already includes $(CFLAGS).\n\n51. Extensions to UTF-8 support are listed below. These all apply when (a) PCRE\nhas been compiled with UTF-8 support *and* pcre_compile() has been compiled\nwith the PCRE_UTF8 flag. Patterns that are compiled without that flag assume\none-byte characters throughout. Note that case-insensitive matching applies\nonly to characters whose values are less than 256. PCRE doesn't support the\nnotion of cases for higher-valued characters.\n\n(i)   A character class whose characters are all within 0-255 is handled as\n      a bit map, and the map is inverted for negative classes. Previously, a\n      character > 255 always failed to match such a class; however it should\n      match if the class was a negative one (e.g. [^ab]). This has been fixed.\n\n(ii)  A negated character class with a single character < 255 is coded as\n      \"not this character\" (OP_NOT). This wasn't working properly when the test\n      character was multibyte, either singly or repeated.\n\n(iii) Repeats of multibyte characters are now handled correctly in UTF-8\n      mode, for example: \\x{100}{2,3}.\n\n(iv)  The character escapes \\b, \\B, \\d, \\D, \\s, \\S, \\w, and \\W (either\n      singly or repeated) now correctly test multibyte characters. However,\n      PCRE doesn't recognize any characters with values greater than 255 as\n      digits, spaces, or word characters. Such characters always match \\D, \\S,\n      and \\W, and never match \\d, \\s, or \\w.\n\n(v)   Classes may now contain characters and character ranges with values\n      greater than 255. For example: [ab\\x{100}-\\x{400}].\n\n(vi)  pcregrep now has a --utf-8 option (synonym -u) which makes it call\n      PCRE in UTF-8 mode.\n\n52. The info request value PCRE_INFO_FIRSTCHAR has been renamed\nPCRE_INFO_FIRSTBYTE because it is a byte value. However, the old name is\nretained for backwards compatibility. (Note that LASTLITERAL is also a byte\nvalue.)\n\n53. The single man page has become too large. I have therefore split it up into\na number of separate man pages. These also give rise to individual HTML pages;\nthese are now put in a separate directory, and there is an index.html page that\nlists them all. Some hyperlinking between the pages has been installed.\n\n54. Added convenience functions for handling named capturing parentheses.\n\n55. Unknown escapes inside character classes (e.g. [\\M]) and escapes that\naren't interpreted therein (e.g. [\\C]) are literals in Perl. This is now also\ntrue in PCRE, except when the PCRE_EXTENDED option is set, in which case they\nare faulted.\n\n56. Introduced HOST_CC and HOST_CFLAGS which can be set in the environment when\ncalling configure. These values are used when compiling the dftables.c program\nwhich is run to generate the source of the default character tables. They\ndefault to the values of CC and CFLAGS. If you are cross-compiling PCRE,\nyou will need to set these values.\n\n57. Updated the building process for Windows DLL, as provided by Fred Cox.\n\n\nVersion 3.9 02-Jan-02\n---------------------\n\n1. A bit of extraneous text had somehow crept into the pcregrep documentation.\n\n2. If --disable-static was given, the building process failed when trying to\nbuild pcretest and pcregrep. (For some reason it was using libtool to compile\nthem, which is not right, as they aren't part of the library.)\n\n\nVersion 3.8 18-Dec-01\n---------------------\n\n1. The experimental UTF-8 code was completely screwed up. It was packing the\nbytes in the wrong order. How dumb can you get?\n\n\nVersion 3.7 29-Oct-01\n---------------------\n\n1. In updating pcretest to check change 1 of version 3.6, I screwed up.\nThis caused pcretest, when used on the test data, to segfault. Unfortunately,\nthis didn't happen under Solaris 8, where I normally test things.\n\n2. The Makefile had to be changed to make it work on BSD systems, where 'make'\ndoesn't seem to recognize that ./xxx and xxx are the same file. (This entry\nisn't in ChangeLog distributed with 3.7 because I forgot when I hastily made\nthis fix an hour or so after the initial 3.7 release.)\n\n\nVersion 3.6 23-Oct-01\n---------------------\n\n1. Crashed with /(sens|respons)e and \\1ibility/ and \"sense and sensibility\" if\noffsets passed as NULL with zero offset count.\n\n2. The config.guess and config.sub files had not been updated when I moved to\nthe latest autoconf.\n\n\nVersion 3.5 15-Aug-01\n---------------------\n\n1. Added some missing #if !defined NOPOSIX conditionals in pcretest.c that\nhad been forgotten.\n\n2. By using declared but undefined structures, we can avoid using \"void\"\ndefinitions in pcre.h while keeping the internal definitions of the structures\nprivate.\n\n3. The distribution is now built using autoconf 2.50 and libtool 1.4. From a\nuser point of view, this means that both static and shared libraries are built\nby default, but this can be individually controlled. More of the work of\nhandling this static/shared cases is now inside libtool instead of PCRE's make\nfile.\n\n4. The pcretest utility is now installed along with pcregrep because it is\nuseful for users (to test regexs) and by doing this, it automatically gets\nrelinked by libtool. The documentation has been turned into a man page, so\nthere are now .1, .txt, and .html versions in /doc.\n\n5. Upgrades to pcregrep:\n   (i)   Added long-form option names like gnu grep.\n   (ii)  Added --help to list all options with an explanatory phrase.\n   (iii) Added -r, --recursive to recurse into sub-directories.\n   (iv)  Added -f, --file to read patterns from a file.\n\n6. pcre_exec() was referring to its \"code\" argument before testing that\nargument for NULL (and giving an error if it was NULL).\n\n7. Upgraded Makefile.in to allow for compiling in a different directory from\nthe source directory.\n\n8. Tiny buglet in pcretest: when pcre_fullinfo() was called to retrieve the\noptions bits, the pointer it was passed was to an int instead of to an unsigned\nlong int. This mattered only on 64-bit systems.\n\n9. Fixed typo (3.4/1) in pcre.h again. Sigh. I had changed pcre.h (which is\ngenerated) instead of pcre.in, which it its source. Also made the same change\nin several of the .c files.\n\n10. A new release of gcc defines printf() as a macro, which broke pcretest\nbecause it had an ifdef in the middle of a string argument for printf(). Fixed\nby using separate calls to printf().\n\n11. Added --enable-newline-is-cr and --enable-newline-is-lf to the configure\nscript, to force use of CR or LF instead of \\n in the source. On non-Unix\nsystems, the value can be set in config.h.\n\n12. The limit of 200 on non-capturing parentheses is a _nesting_ limit, not an\nabsolute limit. Changed the text of the error message to make this clear, and\nlikewise updated the man page.\n\n13. The limit of 99 on the number of capturing subpatterns has been removed.\nThe new limit is 65535, which I hope will not be a \"real\" limit.\n\n\nVersion 3.4 22-Aug-00\n---------------------\n\n1. Fixed typo in pcre.h: unsigned const char * changed to const unsigned char *.\n\n2. Diagnose condition (?(0) as an error instead of crashing on matching.\n\n\nVersion 3.3 01-Aug-00\n---------------------\n\n1. If an octal character was given, but the value was greater than \\377, it\nwas not getting masked to the least significant bits, as documented. This could\nlead to crashes in some systems.\n\n2. Perl 5.6 (if not earlier versions) accepts classes like [a-\\d] and treats\nthe hyphen as a literal. PCRE used to give an error; it now behaves like Perl.\n\n3. Added the functions pcre_free_substring() and pcre_free_substring_list().\nThese just pass their arguments on to (pcre_free)(), but they are provided\nbecause some uses of PCRE bind it to non-C systems that can call its functions,\nbut cannot call free() or pcre_free() directly.\n\n4. Add \"make test\" as a synonym for \"make check\". Corrected some comments in\nthe Makefile.\n\n5. Add $(DESTDIR)/ in front of all the paths in the \"install\" target in the\nMakefile.\n\n6. Changed the name of pgrep to pcregrep, because Solaris has introduced a\ncommand called pgrep for grepping around the active processes.\n\n7. Added the beginnings of support for UTF-8 character strings.\n\n8. Arranged for the Makefile to pass over the settings of CC, CFLAGS, and\nRANLIB to ./ltconfig so that they are used by libtool. I think these are all\nthe relevant ones. (AR is not passed because ./ltconfig does its own figuring\nout for the ar command.)\n\n\nVersion 3.2 12-May-00\n---------------------\n\nThis is purely a bug fixing release.\n\n1. If the pattern /((Z)+|A)*/ was matched agained ZABCDEFG it matched Z instead\nof ZA. This was just one example of several cases that could provoke this bug,\nwhich was introduced by change 9 of version 2.00. The code for breaking\ninfinite loops after an iteration that matches an empty string was't working\ncorrectly.\n\n2. The pcretest program was not imitating Perl correctly for the pattern /a*/g\nwhen matched against abbab (for example). After matching an empty string, it\nwasn't forcing anchoring when setting PCRE_NOTEMPTY for the next attempt; this\ncaused it to match further down the string than it should.\n\n3. The code contained an inclusion of sys/types.h. It isn't clear why this\nwas there because it doesn't seem to be needed, and it causes trouble on some\nsystems, as it is not a Standard C header. It has been removed.\n\n4. Made 4 silly changes to the source to avoid stupid compiler warnings that\nwere reported on the Macintosh. The changes were from\n\n  while ((c = *(++ptr)) != 0 && c != '\\n');\nto\n  while ((c = *(++ptr)) != 0 && c != '\\n') ;\n\nTotally extraordinary, but if that's what it takes...\n\n5. PCRE is being used in one environment where neither memmove() nor bcopy() is\navailable. Added HAVE_BCOPY and an autoconf test for it; if neither\nHAVE_MEMMOVE nor HAVE_BCOPY is set, use a built-in emulation function which\nassumes the way PCRE uses memmove() (always moving upwards).\n\n6. PCRE is being used in one environment where strchr() is not available. There\nwas only one use in pcre.c, and writing it out to avoid strchr() probably gives\nfaster code anyway.\n\n\nVersion 3.1 09-Feb-00\n---------------------\n\nThe only change in this release is the fixing of some bugs in Makefile.in for\nthe \"install\" target:\n\n(1) It was failing to install pcreposix.h.\n\n(2) It was overwriting the pcre.3 man page with the pcreposix.3 man page.\n\n\nVersion 3.0 01-Feb-00\n---------------------\n\n1. Add support for the /+ modifier to perltest (to output $` like it does in\npcretest).\n\n2. Add support for the /g modifier to perltest.\n\n3. Fix pcretest so that it behaves even more like Perl for /g when the pattern\nmatches null strings.\n\n4. Fix perltest so that it doesn't do unwanted things when fed an empty\npattern. Perl treats empty patterns specially - it reuses the most recent\npattern, which is not what we want. Replace // by /(?#)/ in order to avoid this\neffect.\n\n5. The POSIX interface was broken in that it was just handing over the POSIX\ncaptured string vector to pcre_exec(), but (since release 2.00) PCRE has\nrequired a bigger vector, with some working space on the end. This means that\nthe POSIX wrapper now has to get and free some memory, and copy the results.\n\n6. Added some simple autoconf support, placing the test data and the\ndocumentation in separate directories, re-organizing some of the\ninformation files, and making it build pcre-config (a GNU standard). Also added\nlibtool support for building PCRE as a shared library, which is now the\ndefault.\n\n7. Got rid of the leading zero in the definition of PCRE_MINOR because 08 and\n09 are not valid octal constants. Single digits will be used for minor values\nless than 10.\n\n8. Defined REG_EXTENDED and REG_NOSUB as zero in the POSIX header, so that\nexisting programs that set these in the POSIX interface can use PCRE without\nmodification.\n\n9. Added a new function, pcre_fullinfo() with an extensible interface. It can\nreturn all that pcre_info() returns, plus additional data. The pcre_info()\nfunction is retained for compatibility, but is considered to be obsolete.\n\n10. Added experimental recursion feature (?R) to handle one common case that\nPerl 5.6 will be able to do with (?p{...}).\n\n11. Added support for POSIX character classes like [:alpha:], which Perl is\nadopting.\n\n\nVersion 2.08 31-Aug-99\n----------------------\n\n1. When startoffset was not zero and the pattern began with \".*\", PCRE was not\ntrying to match at the startoffset position, but instead was moving forward to\nthe next newline as if a previous match had failed.\n\n2. pcretest was not making use of PCRE_NOTEMPTY when repeating for /g and /G,\nand could get into a loop if a null string was matched other than at the start\nof the subject.\n\n3. Added definitions of PCRE_MAJOR and PCRE_MINOR to pcre.h so the version can\nbe distinguished at compile time, and for completeness also added PCRE_DATE.\n\n5. Added Paul Sokolovsky's minor changes to make it easy to compile a Win32 DLL\nin GnuWin32 environments.\n\n\nVersion 2.07 29-Jul-99\n----------------------\n\n1. The documentation is now supplied in plain text form and HTML as well as in\nthe form of man page sources.\n\n2. C++ compilers don't like assigning (void *) values to other pointer types.\nIn particular this affects malloc(). Although there is no problem in Standard\nC, I've put in casts to keep C++ compilers happy.\n\n3. Typo on pcretest.c; a cast of (unsigned char *) in the POSIX regexec() call\nshould be (const char *).\n\n4. If NOPOSIX is defined, pcretest.c compiles without POSIX support. This may\nbe useful for non-Unix systems who don't want to bother with the POSIX stuff.\nHowever, I haven't made this a standard facility. The documentation doesn't\nmention it, and the Makefile doesn't support it.\n\n5. The Makefile now contains an \"install\" target, with editable destinations at\nthe top of the file. The pcretest program is not installed.\n\n6. pgrep -V now gives the PCRE version number and date.\n\n7. Fixed bug: a zero repetition after a literal string (e.g. /abcde{0}/) was\ncausing the entire string to be ignored, instead of just the last character.\n\n8. If a pattern like /\"([^\\\\\"]+|\\\\.)*\"/ is applied in the normal way to a\nnon-matching string, it can take a very, very long time, even for strings of\nquite modest length, because of the nested recursion. PCRE now does better in\nsome of these cases. It does this by remembering the last required literal\ncharacter in the pattern, and pre-searching the subject to ensure it is present\nbefore running the real match. In other words, it applies a heuristic to detect\nsome types of certain failure quickly, and in the above example, if presented\nwith a string that has no trailing \" it gives \"no match\" very quickly.\n\n9. A new runtime option PCRE_NOTEMPTY causes null string matches to be ignored;\nother alternatives are tried instead.\n\n\nVersion 2.06 09-Jun-99\n----------------------\n\n1. Change pcretest's output for amount of store used to show just the code\nspace, because the remainder (the data block) varies in size between 32-bit and\n64-bit systems.\n\n2. Added an extra argument to pcre_exec() to supply an offset in the subject to\nstart matching at. This allows lookbehinds to work when searching for multiple\noccurrences in a string.\n\n3. Added additional options to pcretest for testing multiple occurrences:\n\n   /+   outputs the rest of the string that follows a match\n   /g   loops for multiple occurrences, using the new startoffset argument\n   /G   loops for multiple occurrences by passing an incremented pointer\n\n4. PCRE wasn't doing the \"first character\" optimization for patterns starting\nwith \\b or \\B, though it was doing it for other lookbehind assertions. That is,\nit wasn't noticing that a match for a pattern such as /\\bxyz/ has to start with\nthe letter 'x'. On long subject strings, this gives a significant speed-up.\n\n\nVersion 2.05 21-Apr-99\n----------------------\n\n1. Changed the type of magic_number from int to long int so that it works\nproperly on 16-bit systems.\n\n2. Fixed a bug which caused patterns starting with .* not to work correctly\nwhen the subject string contained newline characters. PCRE was assuming\nanchoring for such patterns in all cases, which is not correct because .* will\nnot pass a newline unless PCRE_DOTALL is set. It now assumes anchoring only if\nDOTALL is set at top level; otherwise it knows that patterns starting with .*\nmust be retried after every newline in the subject.\n\n\nVersion 2.04 18-Feb-99\n----------------------\n\n1. For parenthesized subpatterns with repeats whose minimum was zero, the\ncomputation of the store needed to hold the pattern was incorrect (too large).\nIf such patterns were nested a few deep, this could multiply and become a real\nproblem.\n\n2. Added /M option to pcretest to show the memory requirement of a specific\npattern. Made -m a synonym of -s (which does this globally) for compatibility.\n\n3. Subpatterns of the form (regex){n,m} (i.e. limited maximum) were being\ncompiled in such a way that the backtracking after subsequent failure was\npessimal. Something like (a){0,3} was compiled as (a)?(a)?(a)? instead of\n((a)((a)(a)?)?)? with disastrous performance if the maximum was of any size.\n\n\nVersion 2.03 02-Feb-99\n----------------------\n\n1. Fixed typo and small mistake in man page.\n\n2. Added 4th condition (GPL supersedes if conflict) and created separate\nLICENCE file containing the conditions.\n\n3. Updated pcretest so that patterns such as /abc\\/def/ work like they do in\nPerl, that is the internal \\ allows the delimiter to be included in the\npattern. Locked out the use of \\ as a delimiter. If \\ immediately follows\nthe final delimiter, add \\ to the end of the pattern (to test the error).\n\n4. Added the convenience functions for extracting substrings after a successful\nmatch. Updated pcretest to make it able to test these functions.\n\n\nVersion 2.02 14-Jan-99\n----------------------\n\n1. Initialized the working variables associated with each extraction so that\ntheir saving and restoring doesn't refer to uninitialized store.\n\n2. Put dummy code into study.c in order to trick the optimizer of the IBM C\ncompiler for OS/2 into generating correct code. Apparently IBM isn't going to\nfix the problem.\n\n3. Pcretest: the timing code wasn't using LOOPREPEAT for timing execution\ncalls, and wasn't printing the correct value for compiling calls. Increased the\ndefault value of LOOPREPEAT, and the number of significant figures in the\ntimes.\n\n4. Changed \"/bin/rm\" in the Makefile to \"-rm\" so it works on Windows NT.\n\n5. Renamed \"deftables\" as \"dftables\" to get it down to 8 characters, to avoid\na building problem on Windows NT with a FAT file system.\n\n\nVersion 2.01 21-Oct-98\n----------------------\n\n1. Changed the API for pcre_compile() to allow for the provision of a pointer\nto character tables built by pcre_maketables() in the current locale. If NULL\nis passed, the default tables are used.\n\n\nVersion 2.00 24-Sep-98\n----------------------\n\n1. Since the (>?) facility is in Perl 5.005, don't require PCRE_EXTRA to enable\nit any more.\n\n2. Allow quantification of (?>) groups, and make it work correctly.\n\n3. The first character computation wasn't working for (?>) groups.\n\n4. Correct the implementation of \\Z (it is permitted to match on the \\n at the\nend of the subject) and add 5.005's \\z, which really does match only at the\nvery end of the subject.\n\n5. Remove the \\X \"cut\" facility; Perl doesn't have it, and (?> is neater.\n\n6. Remove the ability to specify CASELESS, MULTILINE, DOTALL, and\nDOLLAR_END_ONLY at runtime, to make it possible to implement the Perl 5.005\nlocalized options. All options to pcre_study() were also removed.\n\n7. Add other new features from 5.005:\n\n   $(?<=           positive lookbehind\n   $(?<!           negative lookbehind\n   (?imsx-imsx)    added the unsetting capability\n                   such a setting is global if at outer level; local otherwise\n   (?imsx-imsx:)   non-capturing groups with option setting\n   (?(cond)re|re)  conditional pattern matching\n\n   A backreference to itself in a repeated group matches the previous\n   captured string.\n\n8. General tidying up of studying (both automatic and via \"study\")\nconsequential on the addition of new assertions.\n\n9. As in 5.005, unlimited repeated groups that could match an empty substring\nare no longer faulted at compile time. Instead, the loop is forcibly broken at\nruntime if any iteration does actually match an empty substring.\n\n10. Include the RunTest script in the distribution.\n\n11. Added tests from the Perl 5.005_02 distribution. This showed up a few\ndiscrepancies, some of which were old and were also with respect to 5.004. They\nhave now been fixed.\n\n\nVersion 1.09 28-Apr-98\n----------------------\n\n1. A negated single character class followed by a quantifier with a minimum\nvalue of one (e.g.  [^x]{1,6}  ) was not compiled correctly. This could lead to\nprogram crashes, or just wrong answers. This did not apply to negated classes\ncontaining more than one character, or to minima other than one.\n\n\nVersion 1.08 27-Mar-98\n----------------------\n\n1. Add PCRE_UNGREEDY to invert the greediness of quantifiers.\n\n2. Add (?U) and (?X) to set PCRE_UNGREEDY and PCRE_EXTRA respectively. The\nlatter must appear before anything that relies on it in the pattern.\n\n\nVersion 1.07 16-Feb-98\n----------------------\n\n1. A pattern such as /((a)*)*/ was not being diagnosed as in error (unlimited\nrepeat of a potentially empty string).\n\n\nVersion 1.06 23-Jan-98\n----------------------\n\n1. Added Markus Oberhumer's little patches for C++.\n\n2. Literal strings longer than 255 characters were broken.\n\n\nVersion 1.05 23-Dec-97\n----------------------\n\n1. Negated character classes containing more than one character were failing if\nPCRE_CASELESS was set at run time.\n\n\nVersion 1.04 19-Dec-97\n----------------------\n\n1. Corrected the man page, where some \"const\" qualifiers had been omitted.\n\n2. Made debugging output print \"{0,xxx}\" instead of just \"{,xxx}\" to agree with\ninput syntax.\n\n3. Fixed memory leak which occurred when a regex with back references was\nmatched with an offsets vector that wasn't big enough. The temporary memory\nthat is used in this case wasn't being freed if the match failed.\n\n4. Tidied pcretest to ensure it frees memory that it gets.\n\n5. Temporary memory was being obtained in the case where the passed offsets\nvector was exactly big enough.\n\n6. Corrected definition of offsetof() from change 5 below.\n\n7. I had screwed up change 6 below and broken the rules for the use of\nsetjmp(). Now fixed.\n\n\nVersion 1.03 18-Dec-97\n----------------------\n\n1. A erroneous regex with a missing opening parenthesis was correctly\ndiagnosed, but PCRE attempted to access brastack[-1], which could cause crashes\non some systems.\n\n2. Replaced offsetof(real_pcre, code) by offsetof(real_pcre, code[0]) because\nit was reported that one broken compiler failed on the former because \"code\" is\nalso an independent variable.\n\n3. The erroneous regex a[]b caused an array overrun reference.\n\n4. A regex ending with a one-character negative class (e.g. /[^k]$/) did not\nfail on data ending with that character. (It was going on too far, and checking\nthe next character, typically a binary zero.) This was specific to the\noptimized code for single-character negative classes.\n\n5. Added a contributed patch from the TIN world which does the following:\n\n  + Add an undef for memmove, in case the the system defines a macro for it.\n\n  + Add a definition of offsetof(), in case there isn't one. (I don't know\n    the reason behind this - offsetof() is part of the ANSI standard - but\n    it does no harm).\n\n  + Reduce the ifdef's in pcre.c using macro DPRINTF, thereby eliminating\n    most of the places where whitespace preceded '#'. I have given up and\n    allowed the remaining 2 cases to be at the margin.\n\n  + Rename some variables in pcre to eliminate shadowing. This seems very\n    pedantic, but does no harm, of course.\n\n6. Moved the call to setjmp() into its own function, to get rid of warnings\nfrom gcc -Wall, and avoided calling it at all unless PCRE_EXTRA is used.\n\n7. Constructs such as \\d{8,} were compiling into the equivalent of\n\\d{8}\\d{0,65527} instead of \\d{8}\\d* which didn't make much difference to the\noutcome, but in this particular case used more store than had been allocated,\nwhich caused the bug to be discovered because it threw up an internal error.\n\n8. The debugging code in both pcre and pcretest for outputting the compiled\nform of a regex was going wrong in the case of back references followed by\ncurly-bracketed repeats.\n\n\nVersion 1.02 12-Dec-97\n----------------------\n\n1. Typos in pcre.3 and comments in the source fixed.\n\n2. Applied a contributed patch to get rid of places where it used to remove\n'const' from variables, and fixed some signed/unsigned and uninitialized\nvariable warnings.\n\n3. Added the \"runtest\" target to Makefile.\n\n4. Set default compiler flag to -O2 rather than just -O.\n\n\nVersion 1.01 19-Nov-97\n----------------------\n\n1. PCRE was failing to diagnose unlimited repeat of empty string for patterns\nlike /([ab]*)*/, that is, for classes with more than one character in them.\n\n2. Likewise, it wasn't diagnosing patterns with \"once-only\" subpatterns, such\nas /((?>a*))*/ (a PCRE_EXTRA facility).\n\n\nVersion 1.00 18-Nov-97\n----------------------\n\n1. Added compile-time macros to support systems such as SunOS4 which don't have\nmemmove() or strerror() but have other things that can be used instead.\n\n2. Arranged that \"make clean\" removes the executables.\n\n\nVersion 0.99 27-Oct-97\n----------------------\n\n1. Fixed bug in code for optimizing classes with only one character. It was\ninitializing a 32-byte map regardless, which could cause it to run off the end\nof the memory it had got.\n\n2. Added, conditional on PCRE_EXTRA, the proposed (?>REGEX) construction.\n\n\nVersion 0.98 22-Oct-97\n----------------------\n\n1. Fixed bug in code for handling temporary memory usage when there are more\nback references than supplied space in the ovector. This could cause segfaults.\n\n\nVersion 0.97 21-Oct-97\n----------------------\n\n1. Added the \\X \"cut\" facility, conditional on PCRE_EXTRA.\n\n2. Optimized negated single characters not to use a bit map.\n\n3. Brought error texts together as macro definitions; clarified some of them;\nfixed one that was wrong - it said \"range out of order\" when it meant \"invalid\nescape sequence\".\n\n4. Changed some char * arguments to const char *.\n\n5. Added PCRE_NOTBOL and PCRE_NOTEOL (from POSIX).\n\n6. Added the POSIX-style API wrapper in pcreposix.a and testing facilities in\npcretest.\n\n\nVersion 0.96 16-Oct-97\n----------------------\n\n1. Added a simple \"pgrep\" utility to the distribution.\n\n2. Fixed an incompatibility with Perl: \"{\" is now treated as a normal character\nunless it appears in one of the precise forms \"{ddd}\", \"{ddd,}\", or \"{ddd,ddd}\"\nwhere \"ddd\" means \"one or more decimal digits\".\n\n3. Fixed serious bug. If a pattern had a back reference, but the call to\npcre_exec() didn't supply a large enough ovector to record the related\nidentifying subpattern, the match always failed. PCRE now remembers the number\nof the largest back reference, and gets some temporary memory in which to save\nthe offsets during matching if necessary, in order to ensure that\nbackreferences always work.\n\n4. Increased the compatibility with Perl in a number of ways:\n\n  (a) . no longer matches \\n by default; an option PCRE_DOTALL is provided\n      to request this handling. The option can be set at compile or exec time.\n\n  (b) $ matches before a terminating newline by default; an option\n      PCRE_DOLLAR_ENDONLY is provided to override this (but not in multiline\n      mode). The option can be set at compile or exec time.\n\n  (c) The handling of \\ followed by a digit other than 0 is now supposed to be\n      the same as Perl's. If the decimal number it represents is less than 10\n      or there aren't that many previous left capturing parentheses, an octal\n      escape is read. Inside a character class, it's always an octal escape,\n      even if it is a single digit.\n\n  (d) An escaped but undefined alphabetic character is taken as a literal,\n      unless PCRE_EXTRA is set. Currently this just reserves the remaining\n      escapes.\n\n  (e) {0} is now permitted. (The previous item is removed from the compiled\n      pattern).\n\n5. Changed all the names of code files so that the basic parts are no longer\nthan 10 characters, and abolished the teeny \"globals.c\" file.\n\n6. Changed the handling of character classes; they are now done with a 32-byte\nbit map always.\n\n7. Added the -d and /D options to pcretest to make it possible to look at the\ninternals of compilation without having to recompile pcre.\n\n\nVersion 0.95 23-Sep-97\n----------------------\n\n1. Fixed bug in pre-pass concerning escaped \"normal\" characters such as \\x5c or\n\\x20 at the start of a run of normal characters. These were being treated as\nreal characters, instead of the source characters being re-checked.\n\n\nVersion 0.94 18-Sep-97\n----------------------\n\n1. The functions are now thread-safe, with the caveat that the global variables\ncontaining pointers to malloc() and free() or alternative functions are the\nsame for all threads.\n\n2. Get pcre_study() to generate a bitmap of initial characters for non-\nanchored patterns when this is possible, and use it if passed to pcre_exec().\n\n\nVersion 0.93 15-Sep-97\n----------------------\n\n1. /(b)|(:+)/ was computing an incorrect first character.\n\n2. Add pcre_study() to the API and the passing of pcre_extra to pcre_exec(),\nbut not actually doing anything yet.\n\n3. Treat \"-\" characters in classes that cannot be part of ranges as literals,\nas Perl does (e.g. [-az] or [az-]).\n\n4. Set the anchored flag if a branch starts with .* or .*? because that tests\nall possible positions.\n\n5. Split up into different modules to avoid including unneeded functions in a\ncompiled binary. However, compile and exec are still in one module. The \"study\"\nfunction is split off.\n\n6. The character tables are now in a separate module whose source is generated\nby an auxiliary program - but can then be edited by hand if required. There are\nnow no calls to isalnum(), isspace(), isdigit(), isxdigit(), tolower() or\ntoupper() in the code.\n\n7. Turn the malloc/free funtions variables into pcre_malloc and pcre_free and\nmake them global. Abolish the function for setting them, as the caller can now\nset them directly.\n\n\nVersion 0.92 11-Sep-97\n----------------------\n\n1. A repeat with a fixed maximum and a minimum of 1 for an ordinary character\n(e.g. /a{1,3}/) was broken (I mis-optimized it).\n\n2. Caseless matching was not working in character classes if the characters in\nthe pattern were in upper case.\n\n3. Make ranges like [W-c] work in the same way as Perl for caseless matching.\n\n4. Make PCRE_ANCHORED public and accept as a compile option.\n\n5. Add an options word to pcre_exec() and accept PCRE_ANCHORED and\nPCRE_CASELESS at run time. Add escapes \\A and \\I to pcretest to cause it to\npass them.\n\n6. Give an error if bad option bits passed at compile or run time.\n\n7. Add PCRE_MULTILINE at compile and exec time, and (?m) as well. Add \\M to\npcretest to cause it to pass that flag.\n\n8. Add pcre_info(), to get the number of identifying subpatterns, the stored\noptions, and the first character, if set.\n\n9. Recognize C+ or C{n,m} where n >= 1 as providing a fixed starting character.\n\n\nVersion 0.91 10-Sep-97\n----------------------\n\n1. PCRE was failing to diagnose unlimited repeats of subpatterns that could\nmatch the empty string as in /(a*)*/. It was looping and ultimately crashing.\n\n2. PCRE was looping on encountering an indefinitely repeated back reference to\na subpattern that had matched an empty string, e.g. /(a|)\\1*/. It now does what\nPerl does - treats the match as successful.\n\n****\n"
  },
  {
    "path": "Project/Pcre/Source/LICENCE",
    "content": "PCRE LICENCE\n------------\n\nPCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\nRelease 6 of PCRE is distributed under the terms of the \"BSD\" licence, as\nspecified below. The documentation for PCRE, supplied in the \"doc\"\ndirectory, is distributed under the same terms as the software itself.\n\nThe basic library functions are written in C and are freestanding. Also\nincluded in the distribution is a set of C++ wrapper functions.\n\n\nTHE BASIC LIBRARY FUNCTIONS\n---------------------------\n\nWritten by:       Philip Hazel\nEmail local part: ph10\nEmail domain:     cam.ac.uk\n\nUniversity of Cambridge Computing Service,\nCambridge, England. Phone: +44 1223 334714.\n\nCopyright (c) 1997-2005 University of Cambridge\nAll rights reserved.\n\n\nTHE C++ WRAPPER FUNCTIONS\n-------------------------\n\nContributed by:   Google Inc.\n\nCopyright (c) 2005, Google Inc.\nAll rights reserved.\n\n\nTHE \"BSD\" LICENCE\n-----------------\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the name of Google\n      Inc. nor the names of their contributors may be used to endorse or\n      promote products derived from this software without specific prior\n      written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n\nEnd\n"
  },
  {
    "path": "Project/Pcre/Source/Makefile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/Pcre/Source/NEWS",
    "content": "News about PCRE releases\n------------------------\n\nRelease 6.0 07-Jun-05\n---------------------\n\nThe release number has been increased to 6.0 because of the addition of several\nmajor new pieces of functionality.\n\nA new function, pcre_dfa_exec(), which implements pattern matching using a DFA\nalgorithm, has been added. This has a number of advantages for certain cases,\nthough it does run more slowly, and lacks the ability to capture substrings. On\nthe other hand, it does find all matches, not just the first, and it works\nbetter for partial matching. The pcrematching man page discusses the\ndifferences.\n\nThe pcretest program has been enhanced so that it can make use of the new\npcre_dfa_exec() matching function and the extra features it provides.\n\nThe distribution now includes a C++ wrapper library. This is built\nautomatically if a C++ compiler is found. The pcrecpp man page discusses this\ninterface.\n\nThe code itself has been re-organized into many more files, one for each\nfunction, so it no longer requires everything to be linked in when static\nlinkage is used. As a consequence, some internal functions have had to have\ntheir names exposed. These functions all have names starting with _pcre_. They\nare undocumented, and are not intended for use by outside callers.\n\nThe pcregrep program has been enhanced with new functionality such as\nmultiline-matching and options for output more matching context. See the\nChangeLog for a complete list of changes to the library and the utility\nprograms.\n\n\nRelease 5.0 13-Sep-04\n---------------------\n\nThe licence under which PCRE is released has been changed to the more\nconventional \"BSD\" licence.\n\nIn the code, some bugs have been fixed, and there are also some major changes\nin this release (which is why I've increased the number to 5.0). Some changes\nare internal rearrangements, and some provide a number of new facilities. The\nnew features are:\n\n1. There's an \"automatic callout\" feature that inserts callouts before every\n   item in the regex, and there's a new callout field that gives the position\n   in the pattern - useful for debugging and tracing.\n\n2. The extra_data structure can now be used to pass in a set of character\n   tables at exec time. This is useful if compiled regex are saved and re-used\n   at a later time when the tables may not be at the same address. If the\n   default internal tables are used, the pointer saved with the compiled\n   pattern is now set to NULL, which means that you don't need to do anything\n   special unless you are using custom tables.\n\n3. It is possible, with some restrictions on the content of the regex, to\n   request \"partial\" matching. A special return code is given if all of the\n   subject string matched part of the regex. This could be useful for testing\n   an input field as it is being typed.\n\n4. There is now some optional support for Unicode character properties, which\n   means that the patterns items such as \\p{Lu} and \\X can now be used. Only\n   the general category properties are supported. If PCRE is compiled with this\n   support, an additional 90K data structure is include, which increases the\n   size of the library dramatically.\n\n5. There is support for saving compiled patterns and re-using them later.\n\n6. There is support for running regular expressions that were compiled on a\n   different host with the opposite endianness.\n\n7. The pcretest program has been extended to accommodate the new features.\n\nThe main internal rearrangement is that sequences of literal characters are no\nlonger handled as strings. Instead, each character is handled on its own. This\nmakes some UTF-8 handling easier, and makes the support of partial matching\npossible. Compiled patterns containing long literal strings will be larger as a\nresult of this change; I hope that performance will not be much affected.\n\n\nRelease 4.5 01-Dec-03\n---------------------\n\nAgain mainly a bug-fix and tidying release, with only a couple of new features:\n\n1. It's possible now to compile PCRE so that it does not use recursive\nfunction calls when matching. Instead it gets memory from the heap. This slows\nthings down, but may be necessary on systems with limited stacks.\n\n2. UTF-8 string checking has been tightened to reject overlong sequences and to\ncheck that a starting offset points to the start of a character. Failure of the\nlatter returns a new error code: PCRE_ERROR_BADUTF8_OFFSET.\n\n3. PCRE can now be compiled for systems that use EBCDIC code.\n\n\nRelease 4.4 21-Aug-03\n---------------------\n\nThis is mainly a bug-fix and tidying release. The only new feature is that PCRE\nchecks UTF-8 strings for validity by default. There is an option to suppress\nthis, just in case anybody wants that teeny extra bit of performance.\n\n\nReleases 4.1 - 4.3\n------------------\n\nSorry, I forgot about updating the NEWS file for these releases. Please take a\nlook at ChangeLog.\n\n\nRelease 4.0 17-Feb-03\n---------------------\n\nThere have been a lot of changes for the 4.0 release, adding additional\nfunctionality and mending bugs. Below is a list of the highlights of the new\nfunctionality. For full details of these features, please consult the\ndocumentation. For a complete list of changes, see the ChangeLog file.\n\n1. Support for Perl's \\Q...\\E escapes.\n\n2. \"Possessive quantifiers\" ?+, *+, ++, and {,}+ which come from Sun's Java\npackage. They provide some syntactic sugar for simple cases of \"atomic\ngrouping\".\n\n3. Support for the \\G assertion. It is true when the current matching position\nis at the start point of the match.\n\n4. A new feature that provides some of the functionality that Perl provides\nwith (?{...}). The facility is termed a \"callout\". The way it is done in PCRE\nis for the caller to provide an optional function, by setting pcre_callout to\nits entry point. To get the function called, the regex must include (?C) at\nappropriate points.\n\n5. Support for recursive calls to individual subpatterns. This makes it really\neasy to get totally confused.\n\n6. Support for named subpatterns. The Python syntax (?P<name>...) is used to\nname a group.\n\n7. Several extensions to UTF-8 support; it is now fairly complete. There is an\noption for pcregrep to make it operate in UTF-8 mode.\n\n8. The single man page has been split into a number of separate man pages.\nThese also give rise to individual HTML pages which are put in a separate\ndirectory. There is an index.html page that lists them all. Some hyperlinking\nbetween the pages has been installed.\n\n\nRelease 3.5 15-Aug-01\n---------------------\n\n1. The configuring system has been upgraded to use later versions of autoconf\nand libtool. By default it builds both a shared and a static library if the OS\nsupports it. You can use --disable-shared or --disable-static on the configure\ncommand if you want only one of them.\n\n2. The pcretest utility is now installed along with pcregrep because it is\nuseful for users (to test regexs) and by doing this, it automatically gets\nrelinked by libtool. The documentation has been turned into a man page, so\nthere are now .1, .txt, and .html versions in /doc.\n\n3. Upgrades to pcregrep:\n   (i)   Added long-form option names like gnu grep.\n   (ii)  Added --help to list all options with an explanatory phrase.\n   (iii) Added -r, --recursive to recurse into sub-directories.\n   (iv)  Added -f, --file to read patterns from a file.\n\n4. Added --enable-newline-is-cr and --enable-newline-is-lf to the configure\nscript, to force use of CR or LF instead of \\n in the source. On non-Unix\nsystems, the value can be set in config.h.\n\n5. The limit of 200 on non-capturing parentheses is a _nesting_ limit, not an\nabsolute limit. Changed the text of the error message to make this clear, and\nlikewise updated the man page.\n\n6. The limit of 99 on the number of capturing subpatterns has been removed.\nThe new limit is 65535, which I hope will not be a \"real\" limit.\n\n\nRelease 3.3 01-Aug-00\n---------------------\n\nThere is some support for UTF-8 character strings. This is incomplete and\nexperimental. The documentation describes what is and what is not implemented.\nOtherwise, this is just a bug-fixing release.\n\n\nRelease 3.0 01-Feb-00\n---------------------\n\n1. A \"configure\" script is now used to configure PCRE for Unix systems. It\nbuilds a Makefile, a config.h file, and the pcre-config script.\n\n2. PCRE is built as a shared library by default.\n\n3. There is support for POSIX classes such as [:alpha:].\n\n5. There is an experimental recursion feature.\n\n----------------------------------------------------------------------------\n          IMPORTANT FOR THOSE UPGRADING FROM VERSIONS BEFORE 2.00\n\nPlease note that there has been a change in the API such that a larger\novector is required at matching time, to provide some additional workspace.\nThe new man page has details. This change was necessary in order to support\nsome of the new functionality in Perl 5.005.\n\n          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.00\n\nAnother (I hope this is the last!) change has been made to the API for the\npcre_compile() function. An additional argument has been added to make it\npossible to pass over a pointer to character tables built in the current\nlocale by pcre_maketables(). To use the default tables, this new arguement\nshould be passed as NULL.\n\n          IMPORTANT FOR THOSE UPGRADING FROM VERSION 2.05\n\nYet another (and again I hope this really is the last) change has been made\nto the API for the pcre_exec() function. An additional argument has been\nadded to make it possible to start the match other than at the start of the\nsubject string. This is important if there are lookbehinds. The new man\npage has the details, but you just want to convert existing programs, all\nyou need to do is to stick in a new fifth argument to pcre_exec(), with a\nvalue of zero. For example, change\n\n  pcre_exec(pattern, extra, subject, length, options, ovec, ovecsize)\nto\n  pcre_exec(pattern, extra, subject, length, 0, options, ovec, ovecsize)\n\n****\n"
  },
  {
    "path": "Project/Pcre/Source/NON-UNIX-USE",
    "content": "Compiling PCRE on non-Unix systems\n----------------------------------\n\nSee below for comments on Cygwin or MinGW and OpenVMS usage. I (Philip Hazel)\nhave no knowledge of Windows or VMS sytems and how their libraries work. The\nitems in the PCRE Makefile that relate to anything other than Unix-like systems\nhave been contributed by PCRE users. There are some other comments and files in\nthe Contrib directory on the ftp site that you may find useful. See\n\n  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib\n\nIf you want to compile PCRE for a non-Unix system (or perhaps, more strictly,\nfor a system that does not support \"configure\" and \"make\" files), note that\nPCRE consists entirely of code written in Standard C, and so should compile\nsuccessfully on any system that has a Standard C compiler and library.\n\n\nGENERIC INSTRUCTIONS FOR THE C LIBRARY\n\nThe following are generic comments about building PCRE. The interspersed\nindented commands are suggestions from Mark Tetrode as to which commands you\nmight use on a Windows system to build a static library.\n\n(1) Copy or rename the file config.in as config.h, and change the macros that\ndefine HAVE_STRERROR and HAVE_MEMMOVE to define them as 1 rather than 0.\nUnfortunately, because of the way Unix autoconf works, the default setting has\nto be 0. You may also want to make changes to other macros in config.h. In\nparticular, if you want to force a specific value for newline, you can define\nthe NEWLINE macro. The default is to use '\\n', thereby using whatever value\nyour compiler gives to '\\n'.\n\n  rem Mark Tetrode's commands\n  copy config.in config.h\n  rem Use write, because notepad cannot handle UNIX files. Change values.\n  write config.h\n\n(2) Copy or rename the file pcre.in as pcre.h, and change the macro definitions\nfor PCRE_MAJOR, PCRE_MINOR, and PCRE_DATE near its start to the values set in\nconfigure.in.\n\n  rem Mark Tetrode's commands\n  copy pcre.in pcre.h\n  rem Read values from configure.in\n  write configure.in\n  rem Change values\n  write pcre.h\n\n(3) Compile dftables.c as a stand-alone program, and then run it with\nthe single argument \"chartables.c\". This generates a set of standard\ncharacter tables and writes them to that file.\n\n  rem Mark Tetrode's commands\n  rem Compile & run\n  cl -DSUPPORT_UTF8 -DSUPPORT_UCP dftables.c\n  dftables.exe chartables.c\n\n(4) Compile the following source files:\n\n  pcre_chartables.c\n  pcre_compile.c\n  pcre_config.c\n  pcre_dfa_exec.c\n  pcre_exec.c\n  pcre_fullinfo.c\n  pcre_get.c\n  pcre_globals.c\n  pcre_info.c\n  pcre_maketables.c\n  pcre_ord2utf8.c\n  pcre_printint.c\n  pcre_refcount.c\n  pcre_study.c\n  pcre_tables.c\n  pcre_try_flipped.c\n  pcre_ucp_findchar.c\n  pcre_valid_utf8.c\n  pcre_version.c\n  pcre_xclass.c\n\nand link them all together into an object library in whichever form your system\nkeeps such libraries. This is the pcre C library. If your system has static and\nshared libraries, you may have to do this once for each type.\n\n  rem These comments are out-of-date, referring to a previous release which\n  rem had fewer source files. Replace with the file names from above.\n  rem Mark Tetrode's commands, for a static library\n  rem Compile & lib\n  cl -DSUPPORT_UTF8 -DSUPPORT_UCP -DPOSIX_MALLOC_THRESHOLD=10 /c maketables.c get.c study.c pcre.c\n  lib /OUT:pcre.lib maketables.obj get.obj study.obj pcre.obj\n\n(5) Similarly, compile pcreposix.c and link it (on its own) as the pcreposix\nlibrary.\n\n  rem Mark Tetrode's commands, for a static library\n  rem Compile & lib\n  cl -DSUPPORT_UTF8 -DSUPPORT_UCP -DPOSIX_MALLOC_THRESHOLD=10 /c pcreposix.c\n  lib /OUT:pcreposix.lib pcreposix.obj\n\n(6) Compile the test program pcretest.c. This needs the functions in the\npcre and pcreposix libraries when linking.\n\n  rem Mark Tetrode's commands\n  rem compile & link\n  cl /F0x400000 pcretest.c pcre.lib pcreposix.lib\n\n(7) Run pcretest on the testinput files in the testdata directory, and check\nthat the output matches the corresponding testoutput files. You must use the\n-i option when checking testinput2. Note that the supplied files are in Unix\nformat, with just LF characters as line terminators. You may need to edit them\nto change this if your system uses a different convention.\n\n  rem Mark Tetrode's commands\n  pcretest testdata\\testinput1 testdata\\myoutput1\n  windiff testdata\\testoutput1 testdata\\myoutput1\n  pcretest -i testdata\\testinput2 testdata\\myoutput2\n  windiff testdata\\testoutput2 testdata\\myoutput2\n  pcretest testdata\\testinput3 testdata\\myoutput3\n  windiff testdata\\testoutput3 testdata\\myoutput3\n  pcretest testdata\\testinput4 testdata\\myoutput4\n  windiff testdata\\testoutput4 testdata\\myoutput4\n  pcretest testdata\\testinput5 testdata\\myoutput5\n  windiff testdata\\testoutput5 testdata\\myoutput5\n  pcretest testdata\\testinput6 testdata\\myoutput6\n  windiff testdata\\testoutput6 testdata\\myoutput6\n\nNote that there are now three more tests (7, 8, 9) that did not exist when Mark\nwrote those comments. The test the new pcre_dfa_exec() function.\n\n\nTHE C++ WRAPPER FUNCTIONS\n\nThe PCRE distribution now contains some C++ wrapper functions and tests,\ncontributed by Google Inc. On a system that can use \"configure\" and \"make\",\nthe functions are automatically built into a library called pcrecpp. It should\nbe straightforward to compile the .cc files manually on other systems. The\nfiles called xxx_unittest.cc are test programs for each of the corresponding\nxxx.cc files.\n\n\nFURTHER REMARKS\n\nIf you have a system without \"configure\" but where you can use a Makefile, edit\nMakefile.in to create Makefile, substituting suitable values for the variables\nat the head of the file.\n\nSome help in building a Win32 DLL of PCRE in GnuWin32 environments was\ncontributed by Paul Sokolovsky. These environments are Mingw32\n(http://www.xraylith.wisc.edu/~khan/software/gnu-win32/) and CygWin\n(http://sourceware.cygnus.com/cygwin/). Paul comments:\n\n  For CygWin, set CFLAGS=-mno-cygwin, and do 'make dll'. You'll get\n  pcre.dll (containing pcreposix also), libpcre.dll.a, and dynamically\n  linked pgrep and pcretest. If you have /bin/sh, run RunTest (three\n  main test go ok, locale not supported).\n\nChanges to do MinGW with autoconf 2.50 were supplied by Fred Cox\n<sailorFred@yahoo.com>, who comments as follows:\n\n  If you are using the PCRE DLL, the normal Unix style configure && make &&\n  make check && make install should just work[*]. If you want to statically\n  link against the .a file, you must define PCRE_STATIC before including\n  pcre.h, otherwise the pcre_malloc and pcre_free exported functions will be\n  declared __declspec(dllimport), with hilarious results.  See the configure.in\n  and pcretest.c for how it is done for the static test.\n\n  Also, there will only be a libpcre.la, not a libpcreposix.la, as you\n  would expect from the Unix version. The single DLL includes the pcreposix\n  interface.\n\n[*] But note that the supplied test files are in Unix format, with just LF\ncharacters as line terminators. You will have to edit them to change to CR LF\nterminators.\n\nA script for building PCRE using Borland's C++ compiler for use with VPASCAL\nwas contributed by Alexander Tokarev. It is called makevp.bat.\n\nThese are some further comments about Win32 builds from Mark Evans. They\nwere contributed before Fred Cox's changes were made, so it is possible that\nthey may no longer be relevant.\n\n\"The documentation for Win32 builds is a bit shy.  Under MSVC6 I\nfollowed their instructions to the letter, but there were still\nsome things missing.\n\n(1) Must #define STATIC for entire project if linking statically.\n    (I see no reason to use DLLs for code this compact.)  This of\n    course is a project setting in MSVC under Preprocessor.\n\n(2) Missing some #ifdefs relating to the function pointers\n    pcre_malloc and pcre_free.  See my solution below.  (The stubs\n    may not be mandatory but they made me feel better.)\"\n\n=========================\n#ifdef _WIN32\n#include <malloc.h>\n\nvoid* malloc_stub(size_t N)\n{ return malloc(N); }\nvoid free_stub(void* p)\n{ free(p); }\nvoid *(*pcre_malloc)(size_t) = &malloc_stub;\nvoid  (*pcre_free)(void *) = &free_stub;\n\n#else\n\nvoid *(*pcre_malloc)(size_t) = malloc;\nvoid  (*pcre_free)(void *) = free;\n\n#endif\n=========================\n\n\nBUILDING PCRE ON OPENVMS\n\nDan Mooney sent the following comments about building PCRE on OpenVMS. They\nrelate to an older version of PCRE that used fewer source files, so the exact\ncommands will need changing. See the current list of source files above.\n\n\"It was quite easy to compile and link the library. I don't have a formal\nmake file but the attached file [reproduced below] contains the OpenVMS DCL\ncommands I used to build the library. I had to add #define\nPOSIX_MALLOC_THRESHOLD 10 to pcre.h since it was not defined anywhere.\n\nThe library was built on:\nO/S: HP OpenVMS v7.3-1\nCompiler: Compaq C v6.5-001-48BCD\nLinker: vA13-01\n\nThe test results did not match 100% due to the issues you mention in your\ndocumentation regarding isprint(), iscntrl(), isgraph() and ispunct(). I\nmodified some of the character tables temporarily and was able to get the\nresults to match. Tests using the fr locale did not match since I don't have\nthat locale loaded. The study size was always reported to be 3 less than the\nvalue in the standard test output files.\"\n\n=========================\n$! This DCL procedure builds PCRE on OpenVMS\n$!\n$! I followed the instructions in the non-unix-use file in the distribution.\n$!\n$ COMPILE == \"CC/LIST/NOMEMBER_ALIGNMENT/PREFIX_LIBRARY_ENTRIES=ALL_ENTRIES\n$ COMPILE DFTABLES.C\n$ LINK/EXE=DFTABLES.EXE DFTABLES.OBJ\n$ RUN DFTABLES.EXE/OUTPUT=CHARTABLES.C\n$ COMPILE MAKETABLES.C\n$ COMPILE GET.C\n$ COMPILE STUDY.C\n$! I had to set POSIX_MALLOC_THRESHOLD to 10 in PCRE.H since the symbol\n$! did not seem to be defined anywhere.\n$! I edited pcre.h and added #DEFINE SUPPORT_UTF8 to enable UTF8 support.\n$ COMPILE PCRE.C\n$ LIB/CREATE PCRE MAKETABLES.OBJ, GET.OBJ, STUDY.OBJ, PCRE.OBJ\n$! I had to set POSIX_MALLOC_THRESHOLD to 10 in PCRE.H since the symbol\n$! did not seem to be defined anywhere.\n$ COMPILE PCREPOSIX.C\n$ LIB/CREATE PCREPOSIX PCREPOSIX.OBJ\n$ COMPILE PCRETEST.C\n$ LINK/EXE=PCRETEST.EXE PCRETEST.OBJ, PCRE/LIB, PCREPOSIX/LIB\n$! C programs that want access to command line arguments must be\n$! defined as a symbol\n$ PCRETEST :== \"$ SYS$ROADSUSERS:[DMOONEY.REGEXP]PCRETEST.EXE\"\n$! Arguments must be enclosed in quotes.\n$ PCRETEST \"-C\"\n$! Test results:\n$!\n$!   The test results did not match 100%. The functions isprint(), iscntrl(),\n$!   isgraph() and ispunct() on OpenVMS must not produce the same results\n$!   as the system that built the test output files provided with the\n$!   distribution.\n$!\n$!   The study size did not match and was always 3 less on OpenVMS.\n$!\n$!   Locale could not be set to fr\n$!\n=========================\n\n****\n"
  },
  {
    "path": "Project/Pcre/Source/README",
    "content": "README file for PCRE (Perl-compatible regular expression library)\n-----------------------------------------------------------------\n\nThe latest release of PCRE is always available from\n\n  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-xxx.tar.gz\n\nPlease read the NEWS file if you are upgrading from a previous release.\n\n\nThe PCRE APIs\n-------------\n\nPCRE is written in C, and it has its own API. The distribution now includes a\nset of C++ wrapper functions, courtesy of Google Inc. (see the pcrecpp man page\nfor details).\n\nAlso included are a set of C wrapper functions that are based on the POSIX\nAPI. These end up in the library called libpcreposix. Note that this just\nprovides a POSIX calling interface to PCRE: the regular expressions themselves\nstill follow Perl syntax and semantics. The header file for the POSIX-style\nfunctions is called pcreposix.h. The official POSIX name is regex.h, but I\ndidn't want to risk possible problems with existing files of that name by\ndistributing it that way. To use it with an existing program that uses the\nPOSIX API, it will have to be renamed or pointed at by a link.\n\nIf you are using the POSIX interface to PCRE and there is already a POSIX regex\nlibrary installed on your system, you must take care when linking programs to\nensure that they link with PCRE's libpcreposix library. Otherwise they may pick\nup the \"real\" POSIX functions of the same name.\n\n\nDocumentation for PCRE\n----------------------\n\nIf you install PCRE in the normal way, you will end up with an installed set of\nman pages whose names all start with \"pcre\". The one that is called \"pcre\"\nlists all the others. In addition to these man pages, the PCRE documentation is\nsupplied in two other forms; however, as there is no standard place to install\nthem, they are left in the doc directory of the unpacked source distribution.\nThese forms are:\n\n  1. Files called doc/pcre.txt, doc/pcregrep.txt, and doc/pcretest.txt. The\n     first of these is a concatenation of the text forms of all the section 3\n     man pages except those that summarize individual functions. The other two\n     are the text forms of the section 1 man pages for the pcregrep and\n     pcretest commands. Text forms are provided for ease of scanning with text\n     editors or similar tools.\n\n  2. A subdirectory called doc/html contains all the documentation in HTML\n     form, hyperlinked in various ways, and rooted in a file called\n     doc/index.html.\n\n\nContributions by users of PCRE\n------------------------------\n\nYou can find contributions from PCRE users in the directory\n\n  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Contrib\n\nwhere there is also a README file giving brief descriptions of what they are.\nSeveral of them provide support for compiling PCRE on various flavours of\nWindows systems (I myself do not use Windows). Some are complete in themselves;\nothers are pointers to URLs containing relevant files.\n\n\nBuilding PCRE on a Unix-like system\n-----------------------------------\n\nTo build PCRE on a Unix-like system, first run the \"configure\" command from the\nPCRE distribution directory, with your current directory set to the directory\nwhere you want the files to be created. This command is a standard GNU\n\"autoconf\" configuration script, for which generic instructions are supplied in\nINSTALL.\n\nMost commonly, people build PCRE within its own distribution directory, and in\nthis case, on many systems, just running \"./configure\" is sufficient, but the\nusual methods of changing standard defaults are available. For example:\n\nCFLAGS='-O2 -Wall' ./configure --prefix=/opt/local\n\nspecifies that the C compiler should be run with the flags '-O2 -Wall' instead\nof the default, and that \"make install\" should install PCRE under /opt/local\ninstead of the default /usr/local.\n\nIf you want to build in a different directory, just run \"configure\" with that\ndirectory as current. For example, suppose you have unpacked the PCRE source\ninto /source/pcre/pcre-xxx, but you want to build it in /build/pcre/pcre-xxx:\n\ncd /build/pcre/pcre-xxx\n/source/pcre/pcre-xxx/configure\n\nThere are some optional features that can be included or omitted from the PCRE\nlibrary. You can read more about them in the pcrebuild man page.\n\n. If you want to make use of the support for UTF-8 character strings in PCRE,\n  you must add --enable-utf8 to the \"configure\" command. Without it, the code\n  for handling UTF-8 is not included in the library. (Even when included, it\n  still has to be enabled by an option at run time.)\n\n. If, in addition to support for UTF-8 character strings, you want to include\n  support for the \\P, \\p, and \\X sequences that recognize Unicode character\n  properties, you must add --enable-unicode-properties to the \"configure\"\n  command. This adds about 90K to the size of the library (in the form of a\n  property table); only the basic two-letter properties such as Lu are\n  supported.\n\n. You can build PCRE to recognized CR or NL as the newline character, instead\n  of whatever your compiler uses for \"\\n\", by adding --newline-is-cr or\n  --newline-is-nl to the \"configure\" command, respectively. Only do this if you\n  really understand what you are doing. On traditional Unix-like systems, the\n  newline character is NL.\n\n. When called via the POSIX interface, PCRE uses malloc() to get additional\n  storage for processing capturing parentheses if there are more than 10 of\n  them. You can increase this threshold by setting, for example,\n\n  --with-posix-malloc-threshold=20\n\n  on the \"configure\" command.\n\n. PCRE has a counter that can be set to limit the amount of resources it uses.\n  If the limit is exceeded during a match, the match fails. The default is ten\n  million. You can change the default by setting, for example,\n\n  --with-match-limit=500000\n\n  on the \"configure\" command. This is just the default; individual calls to\n  pcre_exec() can supply their own value. There is discussion on the pcreapi\n  man page.\n\n. The default maximum compiled pattern size is around 64K. You can increase\n  this by adding --with-link-size=3 to the \"configure\" command. You can\n  increase it even more by setting --with-link-size=4, but this is unlikely\n  ever to be necessary. If you build PCRE with an increased link size, test 2\n  (and 5 if you are using UTF-8) will fail. Part of the output of these tests\n  is a representation of the compiled pattern, and this changes with the link\n  size.\n\n. You can build PCRE so that its internal match() function that is called from\n  pcre_exec() does not call itself recursively. Instead, it uses blocks of data\n  from the heap via special functions pcre_stack_malloc() and pcre_stack_free()\n  to save data that would otherwise be saved on the stack. To build PCRE like\n  this, use\n\n  --disable-stack-for-recursion\n\n  on the \"configure\" command. PCRE runs more slowly in this mode, but it may be\n  necessary in environments with limited stack sizes. This applies only to the\n  pcre_exec() function; it does not apply to pcre_dfa_exec(), which does not\n  use deeply nested recursion.\n\nThe \"configure\" script builds eight files for the basic C library:\n\n. pcre.h is the header file for C programs that call PCRE\n. Makefile is the makefile that builds the library\n. config.h contains build-time configuration options for the library\n. pcre-config is a script that shows the settings of \"configure\" options\n. libpcre.pc is data for the pkg-config command\n. libtool is a script that builds shared and/or static libraries\n. RunTest is a script for running tests on the library\n. RunGrepTest is a script for running tests on the pcregrep command\n\nIn addition, if a C++ compiler is found, the following are also built:\n\n. pcrecpp.h is the header file for programs that call PCRE via the C++ wrapper\n. pcre_stringpiece.h is the header for the C++ \"stringpiece\" functions\n\nThe \"configure\" script also creates config.status, which is an executable\nscript that can be run to recreate the configuration, and config.log, which\ncontains compiler output from tests that \"configure\" runs.\n\nOnce \"configure\" has run, you can run \"make\". It builds two libraries, called\nlibpcre and libpcreposix, a test program called pcretest, and the pcregrep\ncommand. If a C++ compiler was found on your system, it also builds the C++\nwrapper library, which is called libpcrecpp, and some test programs called\npcrecpp_unittest, pcre_scanner_unittest, and pcre_stringpiece_unittest.\n\nThe command \"make test\" runs all the appropriate tests. Details of the PCRE\ntests are given in a separate section of this document, below.\n\nYou can use \"make install\" to copy the libraries, the public header files\npcre.h, pcreposix.h, pcrecpp.h, and pcre_stringpiece.h (the last two only if\nthe C++ wrapper was built), and the man pages to appropriate live directories\non your system, in the normal way.\n\nIf you want to remove PCRE from your system, you can run \"make uninstall\".\nThis removes all the files that \"make install\" installed. However, it does not\nremove any directories, because these are often shared with other programs.\n\n\nRetrieving configuration information on Unix-like systems\n---------------------------------------------------------\n\nRunning \"make install\" also installs the command pcre-config, which can be used\nto recall information about the PCRE configuration and installation. For\nexample:\n\n  pcre-config --version\n\nprints the version number, and\n\n  pcre-config --libs\n\noutputs information about where the library is installed. This command can be\nincluded in makefiles for programs that use PCRE, saving the programmer from\nhaving to remember too many details.\n\nThe pkg-config command is another system for saving and retrieving information\nabout installed libraries. Instead of separate commands for each library, a\nsingle command is used. For example:\n\n  pkg-config --cflags pcre\n\nThe data is held in *.pc files that are installed in a directory called\npkgconfig.\n\n\nShared libraries on Unix-like systems\n-------------------------------------\n\nThe default distribution builds PCRE as shared libraries and static libraries,\nas long as the operating system supports shared libraries. Shared library\nsupport relies on the \"libtool\" script which is built as part of the\n\"configure\" process.\n\nThe libtool script is used to compile and link both shared and static\nlibraries. They are placed in a subdirectory called .libs when they are newly\nbuilt. The programs pcretest and pcregrep are built to use these uninstalled\nlibraries (by means of wrapper scripts in the case of shared libraries). When\nyou use \"make install\" to install shared libraries, pcregrep and pcretest are\nautomatically re-built to use the newly installed shared libraries before being\ninstalled themselves. However, the versions left in the source directory still\nuse the uninstalled libraries.\n\nTo build PCRE using static libraries only you must use --disable-shared when\nconfiguring it. For example:\n\n./configure --prefix=/usr/gnu --disable-shared\n\nThen run \"make\" in the usual way. Similarly, you can use --disable-static to\nbuild only shared libraries.\n\n\nCross-compiling on a Unix-like system\n-------------------------------------\n\nYou can specify CC and CFLAGS in the normal way to the \"configure\" command, in\norder to cross-compile PCRE for some other host. However, during the building\nprocess, the dftables.c source file is compiled *and run* on the local host, in\norder to generate the default character tables (the chartables.c file). It\ntherefore needs to be compiled with the local compiler, not the cross compiler.\nYou can do this by specifying CC_FOR_BUILD (and if necessary CFLAGS_FOR_BUILD;\nthere are also CXX_FOR_BUILD and CXXFLAGS_FOR_BUILD for the C++ wrapper)\nwhen calling the \"configure\" command. If they are not specified, they default\nto the values of CC and CFLAGS.\n\n\nBuilding on non-Unix systems\n----------------------------\n\nFor a non-Unix system, read the comments in the file NON-UNIX-USE, though if\nthe system supports the use of \"configure\" and \"make\" you may be able to build\nPCRE in the same way as for Unix systems.\n\nPCRE has been compiled on Windows systems and on Macintoshes, but I don't know\nthe details because I don't use those systems. It should be straightforward to\nbuild PCRE on any system that has a Standard C compiler, because it uses only\nStandard C functions.\n\n\nTesting PCRE\n------------\n\nTo test PCRE on a Unix system, run the RunTest script that is created by the\nconfiguring process. There is also a script called RunGrepTest that tests the\noptions of the pcregrep command. If the C++ wrapper library is build, three\ntest programs called pcrecpp_unittest, pcre_scanner_unittest, and\npcre_stringpiece_unittest are provided.\n\nBoth the scripts and all the program tests are run if you obey \"make runtest\",\n\"make check\", or \"make test\". For other systems, see the instructions in\nNON-UNIX-USE.\n\nThe RunTest script runs the pcretest test program (which is documented in its\nown man page) on each of the testinput files (in the testdata directory) in\nturn, and compares the output with the contents of the corresponding testoutput\nfile. A file called testtry is used to hold the main output from pcretest\n(testsavedregex is also used as a working file). To run pcretest on just one of\nthe test files, give its number as an argument to RunTest, for example:\n\n  RunTest 2\n\nThe first file can also be fed directly into the perltest script to check that\nPerl gives the same results. The only difference you should see is in the first\nfew lines, where the Perl version is given instead of the PCRE version.\n\nThe second set of tests check pcre_fullinfo(), pcre_info(), pcre_study(),\npcre_copy_substring(), pcre_get_substring(), pcre_get_substring_list(), error\ndetection, and run-time flags that are specific to PCRE, as well as the POSIX\nwrapper API. It also uses the debugging flag to check some of the internals of\npcre_compile().\n\nIf you build PCRE with a locale setting that is not the standard C locale, the\ncharacter tables may be different (see next paragraph). In some cases, this may\ncause failures in the second set of tests. For example, in a locale where the\nisprint() function yields TRUE for characters in the range 128-255, the use of\n[:isascii:] inside a character class defines a different set of characters, and\nthis shows up in this test as a difference in the compiled code, which is being\nlisted for checking. Where the comparison test output contains [\\x00-\\x7f] the\ntest will contain [\\x00-\\xff], and similarly in some other cases. This is not a\nbug in PCRE.\n\nThe third set of tests checks pcre_maketables(), the facility for building a\nset of character tables for a specific locale and using them instead of the\ndefault tables. The tests make use of the \"fr_FR\" (French) locale. Before\nrunning the test, the script checks for the presence of this locale by running\nthe \"locale\" command. If that command fails, or if it doesn't include \"fr_FR\"\nin the list of available locales, the third test cannot be run, and a comment\nis output to say why. If running this test produces instances of the error\n\n  ** Failed to set locale \"fr_FR\"\n\nin the comparison output, it means that locale is not available on your system,\ndespite being listed by \"locale\". This does not mean that PCRE is broken.\n\nThe fourth test checks the UTF-8 support. It is not run automatically unless\nPCRE is built with UTF-8 support. To do this you must set --enable-utf8 when\nrunning \"configure\". This file can be also fed directly to the perltest script,\nprovided you are running Perl 5.8 or higher. (For Perl 5.6, a small patch,\ncommented in the script, can be be used.)\n\nThe fifth test checks error handling with UTF-8 encoding, and internal UTF-8\nfeatures of PCRE that are not relevant to Perl.\n\nThe sixth and test checks the support for Unicode character properties. It it\nnot run automatically unless PCRE is built with Unicode property support. To to\nthis you must set --enable-unicode-properties when running \"configure\".\n\nThe seventh, eighth, and ninth tests check the pcre_dfa_exec() alternative\nmatching function, in non-UTF-8 mode, UTF-8 mode, and UTF-8 mode with Unicode\nproperty support, respectively. The eighth and ninth tests are not run\nautomatically unless PCRE is build with the relevant support.\n\n\nCharacter tables\n----------------\n\nPCRE uses four tables for manipulating and identifying characters whose values\nare less than 256. The final argument of the pcre_compile() function is a\npointer to a block of memory containing the concatenated tables. A call to\npcre_maketables() can be used to generate a set of tables in the current\nlocale. If the final argument for pcre_compile() is passed as NULL, a set of\ndefault tables that is built into the binary is used.\n\nThe source file called chartables.c contains the default set of tables. This is\nnot supplied in the distribution, but is built by the program dftables\n(compiled from dftables.c), which uses the ANSI C character handling functions\nsuch as isalnum(), isalpha(), isupper(), islower(), etc. to build the table\nsources. This means that the default C locale which is set for your system will\ncontrol the contents of these default tables. You can change the default tables\nby editing chartables.c and then re-building PCRE. If you do this, you should\nprobably also edit Makefile to ensure that the file doesn't ever get\nre-generated.\n\nThe first two 256-byte tables provide lower casing and case flipping functions,\nrespectively. The next table consists of three 32-byte bit maps which identify\ndigits, \"word\" characters, and white space, respectively. These are used when\nbuilding 32-byte bit maps that represent character classes.\n\nThe final 256-byte table has bits indicating various character types, as\nfollows:\n\n    1   white space character\n    2   letter\n    4   decimal digit\n    8   hexadecimal digit\n   16   alphanumeric or '_'\n  128   regular expression metacharacter or binary zero\n\nYou should not alter the set of characters that contain the 128 bit, as that\nwill cause PCRE to malfunction.\n\n\nManifest\n--------\n\nThe distribution should contain the following files:\n\n(A) The actual source files of the PCRE library functions and their\n    headers:\n\n  dftables.c            auxiliary program for building chartables.c\n\n  pcreposix.c           )\n  pcre_compile.c        )\n  pcre_config.c         )\n  pcre_dfa_exec.c       )\n  pcre_exec.c           )\n  pcre_fullinfo.c       )\n  pcre_get.c            ) sources for the functions in the library,\n  pcre_globals.c        )   and some internal functions that they use\n  pcre_info.c           )\n  pcre_maketables.c     )\n  pcre_ord2utf8.c       )\n  pcre_printint.c       )\n  pcre_study.c          )\n  pcre_tables.c         )\n  pcre_try_flipped.c    )\n  pcre_ucp_findchar.c   )\n  pcre_valid_utf8.c     )\n  pcre_version.c        )\n  pcre_xclass.c         )\n\n  ucp_findchar.c        )\n  ucp.h                 ) source for the code that is used for\n  ucpinternal.h         )   Unicode property handling\n  ucptable.c            )\n  ucptypetable.c        )\n\n  pcre.in               \"source\" for the header for the external API; pcre.h\n                          is built from this by \"configure\"\n  pcreposix.h           header for the external POSIX wrapper API\n  pcre_internal.h       header for internal use\n  config.in             template for config.h, which is built by configure\n\n  pcrecpp.h.in          \"source\" for the header file for the C++ wrapper\n  pcrecpp.cc            )\n  pcre_scanner.cc       ) source for the C++ wrapper library\n\n  pcre_stringpiece.h.in \"source\" for pcre_stringpiece.h, the header for the\n                          C++ stringpiece functions\n  pcre_stringpiece.cc   source for the C++ stringpiece functions\n\n(B) Auxiliary files:\n\n  AUTHORS               information about the author of PCRE\n  ChangeLog             log of changes to the code\n  INSTALL               generic installation instructions\n  LICENCE               conditions for the use of PCRE\n  COPYING               the same, using GNU's standard name\n  Makefile.in           template for Unix Makefile, which is built by configure\n  NEWS                  important changes in this release\n  NON-UNIX-USE          notes on building PCRE on non-Unix systems\n  README                this file\n  RunTest.in            template for a Unix shell script for running tests\n  RunGrepTest.in        template for a Unix shell script for pcregrep tests\n  config.guess          ) files used by libtool,\n  config.sub            )   used only when building a shared library\n  configure             a configuring shell script (built by autoconf)\n  configure.in          the autoconf input used to build configure\n  doc/Tech.Notes        notes on the encoding\n  doc/*.3               man page sources for the PCRE functions\n  doc/*.1               man page sources for pcregrep and pcretest\n  doc/html/*            HTML documentation\n  doc/pcre.txt          plain text version of the man pages\n  doc/pcretest.txt      plain text documentation of test program\n  doc/perltest.txt      plain text documentation of Perl test program\n  install-sh            a shell script for installing files\n  libpcre.pc.in         \"source\" for libpcre.pc for pkg-config\n  ltmain.sh             file used to build a libtool script\n  mkinstalldirs         script for making install directories\n  pcretest.c            comprehensive test program\n  pcredemo.c            simple demonstration of coding calls to PCRE\n  perltest              Perl test program\n  pcregrep.c            source of a grep utility that uses PCRE\n  pcre-config.in        source of script which retains PCRE information\n  pcrecpp_unittest.c           )\n  pcre_scanner_unittest.c      ) test programs for the C++ wrapper\n  pcre_stringpiece_unittest.c  )\n  testdata/testinput*   test data for main library tests\n  testdata/testoutput*  expected test results\n  testdata/grep*        input and output for pcregrep tests\n\n(C) Auxiliary files for Win32 DLL\n\n  libpcre.def\n  libpcreposix.def\n  pcre.def\n\n(D) Auxiliary file for VPASCAL\n\n  makevp.bat\n\nPhilip Hazel\nEmail local part: ph10\nEmail domain: cam.ac.uk\nJune 2005\n"
  },
  {
    "path": "Project/Pcre/Source/ReadMe.txt",
    "content": "========================================================================\n    STATIC LIBRARY : pcre Project Overview\n========================================================================\n\nAppWizard has created this pcre library project for you. \nNo source files were created as part of your project.\n\n\npcre.vcproj\n    This is the main project file for VC++ projects generated using an Application Wizard. \n    It contains information about the version of Visual C++ that generated the file, and \n    information about the platforms, configurations, and project features selected with the\n    Application Wizard.\n\n/////////////////////////////////////////////////////////////////////////////\nOther notes:\n\nAppWizard uses \"TODO:\" comments to indicate parts of the source code you\nshould add to or customize.\n\n/////////////////////////////////////////////////////////////////////////////\n"
  },
  {
    "path": "Project/Pcre/Source/Sources",
    "content": "TARGETNAME=pcre\nTARGETPATH=Obj\nTARGETTYPE=DRIVER_LIBRARY\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV \n\n#PRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nSOURCES=\tchartables.c\t\t\\\n\tpcre_compile.c\t\t\\\n\tpcre_config.c\t\t\\\n\tpcre_dfa_exec.c\t\t\\\n\tpcre_exec.c\t\t\\\n\tpcre_fullinfo.c\t\t\\\n\tpcre_get.c\t\t\\\n\tpcre_globals.c\t\t\\\n\tpcre_maketables.c\t\\\n\tpcre_ord2utf8.c\t\t\\\n\tpcre_printint.c\t\t\\\n\tpcre_refcount.c\t\t\\\n\tpcre_study.c\t\t\\\n\tpcre_tables.c\t\t\\\n\tpcre_try_flipped.c\t\\\n\tpcre_ucp_findchar.c\t\\\n\tpcre_valid_utf8.c\t\\\n\tpcre_version.c\t\t\\\n\tpcre_memory.c\t\t\\\n\tpcre_xclass.c\n"
  },
  {
    "path": "Project/Pcre/Source/Stdafx.c",
    "content": "#include \"stdafx.h\""
  },
  {
    "path": "Project/Pcre/Source/Stdafx.h",
    "content": ""
  },
  {
    "path": "Project/Pcre/Source/chartables.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* This file is automatically written by the dftables auxiliary \nprogram. If you edit it by hand, you might like to edit the Makefile to \nprevent its ever being regenerated.\n\nThis file contains the default tables for characters with codes less than\n128 (ASCII characters). These tables are used when no external tables are\npassed to PCRE. */\n\nconst unsigned char _pcre_default_tables[] = {\n\n/* This table is a lower casing table. */\n\n    0,  1,  2,  3,  4,  5,  6,  7,\n    8,  9, 10, 11, 12, 13, 14, 15,\n   16, 17, 18, 19, 20, 21, 22, 23,\n   24, 25, 26, 27, 28, 29, 30, 31,\n   32, 33, 34, 35, 36, 37, 38, 39,\n   40, 41, 42, 43, 44, 45, 46, 47,\n   48, 49, 50, 51, 52, 53, 54, 55,\n   56, 57, 58, 59, 60, 61, 62, 63,\n   64, 97, 98, 99,100,101,102,103,\n  104,105,106,107,108,109,110,111,\n  112,113,114,115,116,117,118,119,\n  120,121,122, 91, 92, 93, 94, 95,\n   96, 97, 98, 99,100,101,102,103,\n  104,105,106,107,108,109,110,111,\n  112,113,114,115,116,117,118,119,\n  120,121,122,123,124,125,126,127,\n  128,129,130,131,132,133,134,135,\n  136,137,138,139,140,141,142,143,\n  144,145,146,147,148,149,150,151,\n  152,153,154,155,156,157,158,159,\n  160,161,162,163,164,165,166,167,\n  168,169,170,171,172,173,174,175,\n  176,177,178,179,180,181,182,183,\n  184,185,186,187,188,189,190,191,\n  192,193,194,195,196,197,198,199,\n  200,201,202,203,204,205,206,207,\n  208,209,210,211,212,213,214,215,\n  216,217,218,219,220,221,222,223,\n  224,225,226,227,228,229,230,231,\n  232,233,234,235,236,237,238,239,\n  240,241,242,243,244,245,246,247,\n  248,249,250,251,252,253,254,255,\n\n/* This table is a case flipping table. */\n\n    0,  1,  2,  3,  4,  5,  6,  7,\n    8,  9, 10, 11, 12, 13, 14, 15,\n   16, 17, 18, 19, 20, 21, 22, 23,\n   24, 25, 26, 27, 28, 29, 30, 31,\n   32, 33, 34, 35, 36, 37, 38, 39,\n   40, 41, 42, 43, 44, 45, 46, 47,\n   48, 49, 50, 51, 52, 53, 54, 55,\n   56, 57, 58, 59, 60, 61, 62, 63,\n   64, 97, 98, 99,100,101,102,103,\n  104,105,106,107,108,109,110,111,\n  112,113,114,115,116,117,118,119,\n  120,121,122, 91, 92, 93, 94, 95,\n   96, 65, 66, 67, 68, 69, 70, 71,\n   72, 73, 74, 75, 76, 77, 78, 79,\n   80, 81, 82, 83, 84, 85, 86, 87,\n   88, 89, 90,123,124,125,126,127,\n  128,129,130,131,132,133,134,135,\n  136,137,138,139,140,141,142,143,\n  144,145,146,147,148,149,150,151,\n  152,153,154,155,156,157,158,159,\n  160,161,162,163,164,165,166,167,\n  168,169,170,171,172,173,174,175,\n  176,177,178,179,180,181,182,183,\n  184,185,186,187,188,189,190,191,\n  192,193,194,195,196,197,198,199,\n  200,201,202,203,204,205,206,207,\n  208,209,210,211,212,213,214,215,\n  216,217,218,219,220,221,222,223,\n  224,225,226,227,228,229,230,231,\n  232,233,234,235,236,237,238,239,\n  240,241,242,243,244,245,246,247,\n  248,249,250,251,252,253,254,255,\n\n/* This table contains bit maps for various character classes.\nEach map is 32 bytes long and the bits run from the least\nsignificant end of each byte. The classes that have their own\nmaps are: space, xdigit, digit, upper, lower, word, graph\nprint, punct, and cntrl. Other classes are built from combinations. */\n\n  0x00,0x3e,0x00,0x00,0x01,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,\n  0x7e,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0xfe,0xff,0xff,0x07,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0x07,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03,\n  0xfe,0xff,0xff,0x87,0xfe,0xff,0xff,0x07,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,\n  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,\n  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0x00,0x00,0x00,0x00,0xfe,0xff,0x00,0xfc,\n  0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x78,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n  0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n\n/* This table identifies various classes of character by individual bits:\n  0x01   white space character\n  0x02   letter\n  0x04   decimal digit\n  0x08   hexadecimal digit\n  0x10   alphanumeric or '_'\n  0x80   regular expression metacharacter or binary zero\n*/\n\n  0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7 */\n  0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00, /*   8- 15 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  16- 23 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31 */\n  0x01,0x00,0x00,0x00,0x80,0x00,0x00,0x00, /*    - '  */\n  0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x00, /*  ( - /  */\n  0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /*  0 - 7  */\n  0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x80, /*  8 - ?  */\n  0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  @ - G  */\n  0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  H - O  */\n  0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  P - W  */\n  0x12,0x12,0x12,0x80,0x00,0x00,0x80,0x10, /*  X - _  */\n  0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  ` - g  */\n  0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  h - o  */\n  0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  p - w  */\n  0x12,0x12,0x12,0x80,0x80,0x00,0x00,0x00, /*  x -127 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */\n\n/* End of chartables.c */\n"
  },
  {
    "path": "Project/Pcre/Source/config.h",
    "content": "\n/* On Unix systems config.in is converted by configure into config.h. PCRE is\nwritten in Standard C, but there are a few non-standard things it can cope\nwith, allowing it to run on SunOS4 and other \"close to standard\" systems.\n\nOn a non-Unix system you should just copy this file into config.h, and set up\nthe macros the way you need them. You should normally change the definitions of\nHAVE_STRERROR and HAVE_MEMMOVE to 1. Unfortunately, because of the way autoconf\nworks, these cannot be made the defaults. If your system has bcopy() and not\nmemmove(), change the definition of HAVE_BCOPY instead of HAVE_MEMMOVE. If your\nsystem has neither bcopy() nor memmove(), leave them both as 0; an emulation\nfunction will be used. */\n\n/* If you are compiling for a system that uses EBCDIC instead of ASCII\ncharacter codes, define this macro as 1. On systems that can use \"configure\",\nthis can be done via --enable-ebcdic. */\n\n#ifndef EBCDIC\n#define EBCDIC 0\n#endif\n\n/* If you are compiling for a system that needs some magic to be inserted\nbefore the definition of an exported function, define this macro to contain the\nrelevant magic. It apears at the start of every exported function. */\n\n#define EXPORT\n\n/* Define to empty if the \"const\" keyword does not work. */\n\n//#undef const\n\n/* Define to \"unsigned\" if <stddef.h> doesn't define size_t. */\n\n//#undef size_t\n\n/* The following two definitions are mainly for the benefit of SunOS4, which\ndoesn't have the strerror() or memmove() functions that should be present in\nall Standard C libraries. The macros HAVE_STRERROR and HAVE_MEMMOVE should\nnormally be defined with the value 1 for other systems, but unfortunately we\ncan't make this the default because \"configure\" files generated by autoconf\nwill only change 0 to 1; they won't change 1 to 0 if the functions are not\nfound. */\n\n#define HAVE_STRERROR 1\n#define HAVE_MEMMOVE  1\n\n/* There are some non-Unix systems that don't even have bcopy(). If this macro\nis false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of\nHAVE_BCOPY is not relevant. */\n\n#define HAVE_BCOPY    0\n\n/* The value of NEWLINE determines the newline character. The default is to\nleave it up to the compiler, but some sites want to force a particular value.\nOn Unix systems, \"configure\" can be used to override this default. */\n\n#ifndef NEWLINE\n#define NEWLINE '\\n'\n#endif\n\n/* The value of LINK_SIZE determines the number of bytes used to store\nlinks as offsets within the compiled regex. The default is 2, which allows for\ncompiled patterns up to 64K long. This covers the vast majority of cases.\nHowever, PCRE can also be compiled to use 3 or 4 bytes instead. This allows for\nlonger patterns in extreme cases. On Unix systems, \"configure\" can be used to\noverride this default. */\n\n#ifndef LINK_SIZE\n#define LINK_SIZE   2\n#endif\n\n/* The value of MATCH_LIMIT determines the default number of times the match()\nfunction can be called during a single execution of pcre_exec(). (There is a\nruntime method of setting a different limit.) The limit exists in order to\ncatch runaway regular expressions that take for ever to determine that they do\nnot match. The default is set very large so that it does not accidentally catch\nlegitimate cases. On Unix systems, \"configure\" can be used to override this\ndefault default. */\n\n#ifndef MATCH_LIMIT\n#define MATCH_LIMIT 10000000\n#endif\n\n/* When calling PCRE via the POSIX interface, additional working storage is\nrequired for holding the pointers to capturing substrings because PCRE requires\nthree integers per substring, whereas the POSIX interface provides only two. If\nthe number of expected substrings is small, the wrapper function uses space on\nthe stack, because this is faster than using malloc() for each call. The\nthreshold above which the stack is no longer use is defined by POSIX_MALLOC_\nTHRESHOLD. On Unix systems, \"configure\" can be used to override this default.\n*/\n\n#ifndef POSIX_MALLOC_THRESHOLD\n#define POSIX_MALLOC_THRESHOLD 10\n#endif\n\n/* PCRE uses recursive function calls to handle backtracking while matching.\nThis can sometimes be a problem on systems that have stacks of limited size.\nDefine NO_RECURSE to get a version that doesn't use recursion in the match()\nfunction; instead it creates its own stack by steam using pcre_recurse_malloc\nto get memory. For more detail, see comments and other stuff just above the\nmatch() function. On Unix systems, \"configure\" can be used to set this in the\nMakefile (use --disable-stack-for-recursion). */\n\n/* #define NO_RECURSE */\n\n/* End */\n"
  },
  {
    "path": "Project/Pcre/Source/dftables.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This is a freestanding support program to generate a file containing default\ncharacter tables for PCRE. The tables are built according to the default C\nlocale. Now that pcre_maketables is a function visible to the outside world, we\nmake use of its code from here in order to be consistent. */\n\n#include <ctype.h>\n#include <stdio.h>\n#include <string.h>\n\n#include \"pcre_internal.h\"\n\n#define DFTABLES          /* pcre_maketables.c notices this */\n#include \"pcre_maketables.c\"\n\n\nint main(int argc, char **argv)\n{\nint i;\nFILE *f;\nconst unsigned char *tables = pcre_maketables();\nconst unsigned char *base_of_tables = tables;\n\nif (argc != 2)\n  {\n  fprintf(stderr, \"dftables: one filename argument is required\\n\");\n  return 1;\n  }\n\nf = fopen(argv[1], \"w\");\nif (f == NULL)\n  {\n  fprintf(stderr, \"dftables: failed to open %s for writing\\n\", argv[1]);\n  return 1;\n  }\n\n/* There are two fprintf() calls here, because gcc in pedantic mode complains\nabout the very long string otherwise. */\n\nfprintf(f,\n  \"/*************************************************\\n\"\n  \"*      Perl-Compatible Regular Expressions       *\\n\"\n  \"*************************************************/\\n\\n\"\n  \"/* This file is automatically written by the dftables auxiliary \\n\"\n  \"program. If you edit it by hand, you might like to edit the Makefile to \\n\"\n  \"prevent its ever being regenerated.\\n\\n\");\nfprintf(f,\n  \"This file contains the default tables for characters with codes less than\\n\"\n  \"128 (ASCII characters). These tables are used when no external tables are\\n\"\n  \"passed to PCRE. */\\n\\n\"\n  \"const unsigned char _pcre_default_tables[] = {\\n\\n\"\n  \"/* This table is a lower casing table. */\\n\\n\");\n\nfprintf(f, \"  \");\nfor (i = 0; i < 256; i++)\n  {\n  if ((i & 7) == 0 && i != 0) fprintf(f, \"\\n  \");\n  fprintf(f, \"%3d\", *tables++);\n  if (i != 255) fprintf(f, \",\");\n  }\nfprintf(f, \",\\n\\n\");\n\nfprintf(f, \"/* This table is a case flipping table. */\\n\\n\");\n\nfprintf(f, \"  \");\nfor (i = 0; i < 256; i++)\n  {\n  if ((i & 7) == 0 && i != 0) fprintf(f, \"\\n  \");\n  fprintf(f, \"%3d\", *tables++);\n  if (i != 255) fprintf(f, \",\");\n  }\nfprintf(f, \",\\n\\n\");\n\nfprintf(f,\n  \"/* This table contains bit maps for various character classes.\\n\"\n  \"Each map is 32 bytes long and the bits run from the least\\n\"\n  \"significant end of each byte. The classes that have their own\\n\"\n  \"maps are: space, xdigit, digit, upper, lower, word, graph\\n\"\n  \"print, punct, and cntrl. Other classes are built from combinations. */\\n\\n\");\n\nfprintf(f, \"  \");\nfor (i = 0; i < cbit_length; i++)\n  {\n  if ((i & 7) == 0 && i != 0)\n    {\n    if ((i & 31) == 0) fprintf(f, \"\\n\");\n    fprintf(f, \"\\n  \");\n    }\n  fprintf(f, \"0x%02x\", *tables++);\n  if (i != cbit_length - 1) fprintf(f, \",\");\n  }\nfprintf(f, \",\\n\\n\");\n\nfprintf(f,\n  \"/* This table identifies various classes of character by individual bits:\\n\"\n  \"  0x%02x   white space character\\n\"\n  \"  0x%02x   letter\\n\"\n  \"  0x%02x   decimal digit\\n\"\n  \"  0x%02x   hexadecimal digit\\n\"\n  \"  0x%02x   alphanumeric or '_'\\n\"\n  \"  0x%02x   regular expression metacharacter or binary zero\\n*/\\n\\n\",\n  ctype_space, ctype_letter, ctype_digit, ctype_xdigit, ctype_word,\n  ctype_meta);\n\nfprintf(f, \"  \");\nfor (i = 0; i < 256; i++)\n  {\n  if ((i & 7) == 0 && i != 0)\n    {\n    fprintf(f, \" /* \");\n    if (isprint(i-8)) fprintf(f, \" %c -\", i-8);\n      else fprintf(f, \"%3d-\", i-8);\n    if (isprint(i-1)) fprintf(f, \" %c \", i-1);\n      else fprintf(f, \"%3d\", i-1);\n    fprintf(f, \" */\\n  \");\n    }\n  fprintf(f, \"0x%02x\", *tables++);\n  if (i != 255) fprintf(f, \",\");\n  }\n\nfprintf(f, \"};/* \");\nif (isprint(i-8)) fprintf(f, \" %c -\", i-8);\n  else fprintf(f, \"%3d-\", i-8);\nif (isprint(i-1)) fprintf(f, \" %c \", i-1);\n  else fprintf(f, \"%3d\", i-1);\nfprintf(f, \" */\\n\\n/* End of chartables.c */\\n\");\n\nfclose(f);\nfree((void *)base_of_tables);\nreturn 0;\n}\n\n/* End of dftables.c */\n"
  },
  {
    "path": "Project/Pcre/Source/libpcre.def",
    "content": "LIBRARY libpcre\nEXPORTS\npcre_malloc\npcre_free\npcre_config\npcre_callout\npcre_compile\npcre_copy_substring\npcre_dfa_exec\npcre_exec\npcre_get_substring\npcre_get_stringnumber\npcre_get_substring_list\npcre_free_substring\npcre_free_substring_list\npcre_info\npcre_fullinfo\npcre_maketables\npcre_study\npcre_version\n"
  },
  {
    "path": "Project/Pcre/Source/libpcreposix.def",
    "content": "LIBRARY libpcreposix\nEXPORTS\npcre_malloc\npcre_free\npcre_config\npcre_callout\npcre_compile\npcre_copy_substring\npcre_dfa_exec\npcre_exec\npcre_get_substring\npcre_get_stringnumber\npcre_get_substring_list\npcre_free_substring\npcre_free_substring_list\npcre_info\npcre_fullinfo\npcre_maketables\npcre_study\npcre_version\n\nregcomp\nregexec\nregerror\nregfree\n"
  },
  {
    "path": "Project/Pcre/Source/list.txt",
    "content": "  D еľ ¼Ӿ\n к 7468-1460\n\n D:\\Prg\\Syser\\pcre Ŀ¼\n\n2005-07-09  03:02             7,212 chartables.c\n2005-07-09  03:02             6,047 dftables.c\n2005-07-09  03:02           164,156 pcre_compile.c\n2005-07-09  03:02             3,503 pcre_config.c\n2005-07-09  03:02            68,463 pcre_dfa_exec.c\n2005-07-09  03:02           114,388 pcre_exec.c\n2005-07-09  03:02             5,073 pcre_fullinfo.c\n2005-07-09  03:02            12,267 pcre_get.c\n2005-07-09  03:02             3,228 pcre_globals.c\n2005-07-09  03:02             3,925 pcre_info.c\n2005-07-09  03:02             5,455 pcre_maketables.c\n2005-07-09  03:02             3,058 pcre_ord2utf8.c\n2005-07-09  03:02            12,556 pcre_printint.c\n2005-07-09  03:02             3,383 pcre_refcount.c\n2005-07-09  03:02            14,853 pcre_study.c\n2005-07-09  03:02             4,632 pcre_tables.c\n2005-07-09  03:02             5,475 pcre_try_flipped.c\n2005-07-09  03:02             2,521 pcre_ucp_findchar.c\n2005-07-09  03:02             4,607 pcre_valid_utf8.c\n2005-07-09  03:02             2,629 pcre_version.c\n2005-07-09  03:02             4,260 pcre_xclass.c\n2005-07-21  05:20           468,271 ucptable.c\n2005-07-21  05:20             4,549 ucp_findchar.c\n              23 ļ        924,511 ֽ\n               0 Ŀ¼  2,005,565,440 ֽ\n"
  },
  {
    "path": "Project/Pcre/Source/pcre.def",
    "content": "EXPORTS\n\npcre_malloc DATA\npcre_free DATA\n\npcre_compile\npcre_copy_substring\npcre_dfa_exec\npcre_exec\npcre_get_substring\npcre_get_substring_list\npcre_free_substring\npcre_free_substring_list\npcre_info\npcre_fullinfo\npcre_maketables\npcre_study\npcre_version\n\nregcomp\nregexec\nregerror\nregfree\n"
  },
  {
    "path": "Project/Pcre/Source/pcre.h",
    "content": "/*************************************************\n*       Perl-Compatible Regular Expressions      *\n*************************************************/\n\n/* In its original form, this is the .in file that is transformed by\n\"configure\" into pcre.h.\n\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n#ifndef _PCRE_H\n#define _PCRE_H\n\n/* The file pcre.h is build by \"configure\". Do not edit it; instead\nmake changes to pcre.in. */\n\n#define PCRE_MAJOR          6\n#define PCRE_MINOR          1\n#define PCRE_DATE           21-Jun-2005\n\n/* Win32 uses DLL by default; it needs special stuff for exported functions. */\n\n#ifdef _WIN32\n#  ifdef PCRE_DEFINITION\n#    ifdef DLL_EXPORT\n#      define PCRE_DATA_SCOPE __declspec(dllexport)\n#    endif\n#  else\n#    ifndef PCRE_STATIC\n#      define PCRE_DATA_SCOPE extern __declspec(dllimport)\n#    endif\n#  endif\n#endif\n\n/* For other operating systems, we use the standard \"extern\". */\n\n#ifndef PCRE_DATA_SCOPE\n#  ifdef __cplusplus\n#    define PCRE_DATA_SCOPE     extern \"C\"\n#  else\n#    define PCRE_DATA_SCOPE     extern\n#  endif\n#endif\n\n/* Have to include stdlib.h in order to ensure that size_t is defined;\nit is needed here for malloc. */\n\n#include <stdlib.h>\n\n/* Allow for C++ users */\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n/* Options */\n\n#define PCRE_CASELESS           0x00000001\n#define PCRE_MULTILINE          0x00000002\n#define PCRE_DOTALL             0x00000004\n#define PCRE_EXTENDED           0x00000008\n#define PCRE_ANCHORED           0x00000010\n#define PCRE_DOLLAR_ENDONLY     0x00000020\n#define PCRE_EXTRA              0x00000040\n#define PCRE_NOTBOL             0x00000080\n#define PCRE_NOTEOL             0x00000100\n#define PCRE_UNGREEDY           0x00000200\n#define PCRE_NOTEMPTY           0x00000400\n#define PCRE_UTF8               0x00000800\n#define PCRE_NO_AUTO_CAPTURE    0x00001000\n#define PCRE_NO_UTF8_CHECK      0x00002000\n#define PCRE_AUTO_CALLOUT       0x00004000\n#define PCRE_PARTIAL            0x00008000\n#define PCRE_DFA_SHORTEST       0x00010000\n#define PCRE_DFA_RESTART        0x00020000\n#define PCRE_FIRSTLINE          0x00040000\n\n/* Exec-time and get/set-time error codes */\n\n#define PCRE_ERROR_NOMATCH         (-1)\n#define PCRE_ERROR_NULL            (-2)\n#define PCRE_ERROR_BADOPTION       (-3)\n#define PCRE_ERROR_BADMAGIC        (-4)\n#define PCRE_ERROR_UNKNOWN_NODE    (-5)\n#define PCRE_ERROR_NOMEMORY        (-6)\n#define PCRE_ERROR_NOSUBSTRING     (-7)\n#define PCRE_ERROR_MATCHLIMIT      (-8)\n#define PCRE_ERROR_CALLOUT         (-9)  /* Never used by PCRE itself */\n#define PCRE_ERROR_BADUTF8        (-10)\n#define PCRE_ERROR_BADUTF8_OFFSET (-11)\n#define PCRE_ERROR_PARTIAL        (-12)\n#define PCRE_ERROR_BADPARTIAL     (-13)\n#define PCRE_ERROR_INTERNAL       (-14)\n#define PCRE_ERROR_BADCOUNT       (-15)\n#define PCRE_ERROR_DFA_UITEM      (-16)\n#define PCRE_ERROR_DFA_UCOND      (-17)\n#define PCRE_ERROR_DFA_UMLIMIT    (-18)\n#define PCRE_ERROR_DFA_WSSIZE     (-19)\n#define PCRE_ERROR_DFA_RECURSE    (-20)\n\n/* Request types for pcre_fullinfo() */\n\n#define PCRE_INFO_OPTIONS            0\n#define PCRE_INFO_SIZE               1\n#define PCRE_INFO_CAPTURECOUNT       2\n#define PCRE_INFO_BACKREFMAX         3\n#define PCRE_INFO_FIRSTBYTE          4\n#define PCRE_INFO_FIRSTCHAR          4  /* For backwards compatibility */\n#define PCRE_INFO_FIRSTTABLE         5\n#define PCRE_INFO_LASTLITERAL        6\n#define PCRE_INFO_NAMEENTRYSIZE      7\n#define PCRE_INFO_NAMECOUNT          8\n#define PCRE_INFO_NAMETABLE          9\n#define PCRE_INFO_STUDYSIZE         10\n#define PCRE_INFO_DEFAULT_TABLES    11\n\n/* Request types for pcre_config() */\n\n#define PCRE_CONFIG_UTF8                    0\n#define PCRE_CONFIG_NEWLINE                 1\n#define PCRE_CONFIG_LINK_SIZE               2\n#define PCRE_CONFIG_POSIX_MALLOC_THRESHOLD  3\n#define PCRE_CONFIG_MATCH_LIMIT             4\n#define PCRE_CONFIG_STACKRECURSE            5\n#define PCRE_CONFIG_UNICODE_PROPERTIES      6\n\n/* Bit flags for the pcre_extra structure */\n\n#define PCRE_EXTRA_STUDY_DATA          0x0001\n#define PCRE_EXTRA_MATCH_LIMIT         0x0002\n#define PCRE_EXTRA_CALLOUT_DATA        0x0004\n#define PCRE_EXTRA_TABLES              0x0008\n\n/* Types */\n\nstruct real_pcre;                 /* declaration; the definition is private  */\ntypedef struct real_pcre pcre;\n\n/* The structure for passing additional data to pcre_exec(). This is defined in\nsuch as way as to be extensible. Always add new fields at the end, in order to\nremain compatible. */\n\ntypedef struct pcre_extra {\n  unsigned long int flags;        /* Bits for which fields are set */\n  void *study_data;               /* Opaque data from pcre_study() */\n  unsigned long int match_limit;  /* Maximum number of calls to match() */\n  void *callout_data;             /* Data passed back in callouts */\n  const unsigned char *tables;    /* Pointer to character tables */\n} pcre_extra;\n\n/* The structure for passing out data via the pcre_callout_function. We use a\nstructure so that new fields can be added on the end in future versions,\nwithout changing the API of the function, thereby allowing old clients to work\nwithout modification. */\n\ntypedef struct pcre_callout_block {\n  int          version;           /* Identifies version of block */\n  /* ------------------------ Version 0 ------------------------------- */\n  int          callout_number;    /* Number compiled into pattern */\n  int         *offset_vector;     /* The offset vector */\n  const char  *subject;           /* The subject being matched */\n  int          subject_length;    /* The length of the subject */\n  int          start_match;       /* Offset to start of this match attempt */\n  int          current_position;  /* Where we currently are in the subject */\n  int          capture_top;       /* Max current capture */\n  int          capture_last;      /* Most recently closed capture */\n  void        *callout_data;      /* Data passed in with the call */\n  /* ------------------- Added for Version 1 -------------------------- */\n  int          pattern_position;  /* Offset to next item in the pattern */\n  int          next_item_length;  /* Length of next item in the pattern */\n  /* ------------------------------------------------------------------ */\n} pcre_callout_block;\n\n/* Indirection for store get and free functions. These can be set to\nalternative malloc/free functions if required. Special ones are used in the\nnon-recursive case for \"frames\". There is also an optional callout function\nthat is triggered by the (?) regex item. For Virtual Pascal, these definitions\nhave to take another form. */\n\n#ifndef VPCOMPAT\nPCRE_DATA_SCOPE void *(*pcre_malloc)(size_t);\nPCRE_DATA_SCOPE void  (*pcre_free)(void *);\nPCRE_DATA_SCOPE void *(*pcre_stack_malloc)(size_t);\nPCRE_DATA_SCOPE void  (*pcre_stack_free)(void *);\nPCRE_DATA_SCOPE int   (*pcre_callout)(pcre_callout_block *);\n#else   /* VPCOMPAT */\nPCRE_DATA_SCOPE void *pcre_malloc(size_t);\nPCRE_DATA_SCOPE void  pcre_free(void *);\nPCRE_DATA_SCOPE void *pcre_stack_malloc(size_t);\nPCRE_DATA_SCOPE void  pcre_stack_free(void *);\nPCRE_DATA_SCOPE int   pcre_callout(pcre_callout_block *);\n#endif  /* VPCOMPAT */\n\n/* Exported PCRE functions */\n\nPCRE_DATA_SCOPE pcre *pcre_compile(const char *, int, const char **, int *,\n                  const unsigned char *);\nPCRE_DATA_SCOPE pcre *pcre_compile2(const char *, int, int *, const char **,\n                  int *, const unsigned char *);\nPCRE_DATA_SCOPE int  pcre_config(int, void *);\nPCRE_DATA_SCOPE int  pcre_copy_named_substring(const pcre *, const char *,\n                  int *, int, const char *, char *, int);\nPCRE_DATA_SCOPE int  pcre_copy_substring(const char *, int *, int, int, char *,\n                  int);\nPCRE_DATA_SCOPE int  pcre_dfa_exec(const pcre *, const pcre_extra *,\n                  const char *, int, int, int, int *, int , int *, int);\nPCRE_DATA_SCOPE int  pcre_exec(const pcre *, const pcre_extra *, const char *,\n                   int, int, int, int *, int);\nPCRE_DATA_SCOPE void pcre_free_substring(const char *);\nPCRE_DATA_SCOPE void pcre_free_substring_list(const char **);\nPCRE_DATA_SCOPE int  pcre_fullinfo(const pcre *, const pcre_extra *, int,\n                  void *);\nPCRE_DATA_SCOPE int  pcre_get_named_substring(const pcre *, const char *,\n                  int *, int, const char *, const char **);\nPCRE_DATA_SCOPE int  pcre_get_stringnumber(const pcre *, const char *);\nPCRE_DATA_SCOPE int  pcre_get_substring(const char *, int *, int, int,\n                  const char **);\nPCRE_DATA_SCOPE int  pcre_get_substring_list(const char *, int *, int,\n                  const char ***);\nPCRE_DATA_SCOPE int  pcre_info(const pcre *, int *, int *);\nPCRE_DATA_SCOPE const unsigned char *pcre_maketables(void);\nPCRE_DATA_SCOPE int  pcre_refcount(pcre *, int);\nPCRE_DATA_SCOPE pcre_extra *pcre_study(const pcre *, int, const char **);\nPCRE_DATA_SCOPE const char *pcre_version(void);\nPCRE_DATA_SCOPE void pcre_set_function_pointer(void*,void*);\n#ifdef __cplusplus\n}  /* extern \"C\" */\n#endif\n\n#endif /* End of pcre.h */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre.ver",
    "content": "#define BUILD_NUM 28\n#define SGFILEVERSION 3,0,0,28\n#define SGPROCVERSION 3,0,0,28\n#define STRFILEVERSION \"3.0.0.28\"\n#define STRPROCVERSION \"3.0.0.28\"\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_compile.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_compile(), along with\nsupporting internal functions that are not used by other modules. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*      Code parameters and static tables         *\n*************************************************/\n\n/* Maximum number of items on the nested bracket stacks at compile time. This\napplies to the nesting of all kinds of parentheses. It does not limit\nun-nested, non-capturing parentheses. This number can be made bigger if\nnecessary - it is used to dimension one int and one unsigned char vector at\ncompile time. */\n\n#define BRASTACK_SIZE 200\n\n\n/* Table for handling escaped characters in the range '0'-'z'. Positive returns\nare simple data values; negative values are for special things like \\d and so\non. Zero means further processing is needed (for things like \\x), or the escape\nis invalid. */\n\n#if !EBCDIC   /* This is the \"normal\" table for ASCII systems */\nstatic const short int escapes[] = {\n     0,      0,      0,      0,      0,      0,      0,      0,   /* 0 - 7 */\n     0,      0,    ':',    ';',    '<',    '=',    '>',    '?',   /* 8 - ? */\n   '@', -ESC_A, -ESC_B, -ESC_C, -ESC_D, -ESC_E,      0, -ESC_G,   /* @ - G */\n     0,      0,      0,      0,      0,      0,      0,      0,   /* H - O */\n-ESC_P, -ESC_Q,      0, -ESC_S,      0,      0,      0, -ESC_W,   /* P - W */\n-ESC_X,      0, -ESC_Z,    '[',   '\\\\',    ']',    '^',    '_',   /* X - _ */\n   '`',      7, -ESC_b,      0, -ESC_d,  ESC_e,  ESC_f,      0,   /* ` - g */\n     0,      0,      0,      0,      0,      0,  ESC_n,      0,   /* h - o */\n-ESC_p,      0,  ESC_r, -ESC_s,  ESC_tee,    0,      0, -ESC_w,   /* p - w */\n     0,      0, -ESC_z                                            /* x - z */\n};\n\n#else         /* This is the \"abnormal\" table for EBCDIC systems */\nstatic const short int escapes[] = {\n/*  48 */     0,     0,      0,     '.',    '<',   '(',    '+',    '|',\n/*  50 */   '&',     0,      0,       0,      0,     0,      0,      0,\n/*  58 */     0,     0,    '!',     '$',    '*',   ')',    ';',    '~',\n/*  60 */   '-',   '/',      0,       0,      0,     0,      0,      0,\n/*  68 */     0,     0,    '|',     ',',    '%',   '_',    '>',    '?',\n/*  70 */     0,     0,      0,       0,      0,     0,      0,      0,\n/*  78 */     0,   '`',    ':',     '#',    '@',  '\\'',    '=',    '\"',\n/*  80 */     0,     7, -ESC_b,       0, -ESC_d, ESC_e,  ESC_f,      0,\n/*  88 */     0,     0,      0,     '{',      0,     0,      0,      0,\n/*  90 */     0,     0,      0,     'l',      0, ESC_n,      0, -ESC_p,\n/*  98 */     0, ESC_r,      0,     '}',      0,     0,      0,      0,\n/*  A0 */     0,   '~', -ESC_s, ESC_tee,      0,     0, -ESC_w,      0,\n/*  A8 */     0,-ESC_z,      0,       0,      0,   '[',      0,      0,\n/*  B0 */     0,     0,      0,       0,      0,     0,      0,      0,\n/*  B8 */     0,     0,      0,       0,      0,   ']',    '=',    '-',\n/*  C0 */   '{',-ESC_A, -ESC_B,  -ESC_C, -ESC_D,-ESC_E,      0, -ESC_G,\n/*  C8 */     0,     0,      0,       0,      0,     0,      0,      0,\n/*  D0 */   '}',     0,      0,       0,      0,     0,      0, -ESC_P,\n/*  D8 */-ESC_Q,     0,      0,       0,      0,     0,      0,      0,\n/*  E0 */  '\\\\',     0, -ESC_S,       0,      0,     0, -ESC_W, -ESC_X,\n/*  E8 */     0,-ESC_Z,      0,       0,      0,     0,      0,      0,\n/*  F0 */     0,     0,      0,       0,      0,     0,      0,      0,\n/*  F8 */     0,     0,      0,       0,      0,     0,      0,      0\n};\n#endif\n\n\n/* Tables of names of POSIX character classes and their lengths. The list is\nterminated by a zero length entry. The first three must be alpha, upper, lower,\nas this is assumed for handling case independence. */\n\nstatic const char *const posix_names[] = {\n  \"alpha\", \"lower\", \"upper\",\n  \"alnum\", \"ascii\", \"blank\", \"cntrl\", \"digit\", \"graph\",\n  \"print\", \"punct\", \"space\", \"word\",  \"xdigit\" };\n\nstatic const uschar posix_name_lengths[] = {\n  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 6, 0 };\n\n/* Table of class bit maps for each POSIX class; up to three may be combined\nto form the class. The table for [:blank:] is dynamically modified to remove\nthe vertical space characters. */\n\nstatic const int posix_class_maps[] = {\n  cbit_lower, cbit_upper, -1,             /* alpha */\n  cbit_lower, -1,         -1,             /* lower */\n  cbit_upper, -1,         -1,             /* upper */\n  cbit_digit, cbit_lower, cbit_upper,     /* alnum */\n  cbit_print, cbit_cntrl, -1,             /* ascii */\n  cbit_space, -1,         -1,             /* blank - a GNU extension */\n  cbit_cntrl, -1,         -1,             /* cntrl */\n  cbit_digit, -1,         -1,             /* digit */\n  cbit_graph, -1,         -1,             /* graph */\n  cbit_print, -1,         -1,             /* print */\n  cbit_punct, -1,         -1,             /* punct */\n  cbit_space, -1,         -1,             /* space */\n  cbit_word,  -1,         -1,             /* word - a Perl extension */\n  cbit_xdigit,-1,         -1              /* xdigit */\n};\n\n\n/* The texts of compile-time error messages. These are \"char *\" because they\nare passed to the outside world. */\n\nstatic const char *error_texts[] = {\n  \"no error\",\n  \"\\\\ at end of pattern\",\n  \"\\\\c at end of pattern\",\n  \"unrecognized character follows \\\\\",\n  \"numbers out of order in {} quantifier\",\n  /* 5 */\n  \"number too big in {} quantifier\",\n  \"missing terminating ] for character class\",\n  \"invalid escape sequence in character class\",\n  \"range out of order in character class\",\n  \"nothing to repeat\",\n  /* 10 */\n  \"operand of unlimited repeat could match the empty string\",\n  \"internal error: unexpected repeat\",\n  \"unrecognized character after (?\",\n  \"POSIX named classes are supported only within a class\",\n  \"missing )\",\n  /* 15 */\n  \"reference to non-existent subpattern\",\n  \"erroffset passed as NULL\",\n  \"unknown option bit(s) set\",\n  \"missing ) after comment\",\n  \"parentheses nested too deeply\",\n  /* 20 */\n  \"regular expression too large\",\n  \"failed to get memory\",\n  \"unmatched parentheses\",\n  \"internal error: code overflow\",\n  \"unrecognized character after (?<\",\n  /* 25 */\n  \"lookbehind assertion is not fixed length\",\n  \"malformed number after (?(\",\n  \"conditional group contains more than two branches\",\n  \"assertion expected after (?(\",\n  \"(?R or (?digits must be followed by )\",\n  /* 30 */\n  \"unknown POSIX class name\",\n  \"POSIX collating elements are not supported\",\n  \"this version of PCRE is not compiled with PCRE_UTF8 support\",\n  \"spare error\",\n  \"character value in \\\\x{...} sequence is too large\",\n  /* 35 */\n  \"invalid condition (?(0)\",\n  \"\\\\C not allowed in lookbehind assertion\",\n  \"PCRE does not support \\\\L, \\\\l, \\\\N, \\\\U, or \\\\u\",\n  \"number after (?C is > 255\",\n  \"closing ) for (?C expected\",\n  /* 40 */\n  \"recursive call could loop indefinitely\",\n  \"unrecognized character after (?P\",\n  \"syntax error after (?P\",\n  \"two named groups have the same name\",\n  \"invalid UTF-8 string\",\n  /* 45 */\n  \"support for \\\\P, \\\\p, and \\\\X has not been compiled\",\n  \"malformed \\\\P or \\\\p sequence\",\n  \"unknown property name after \\\\P or \\\\p\"\n};\n\n\n/* Table to identify digits and hex digits. This is used when compiling\npatterns. Note that the tables in chartables are dependent on the locale, and\nmay mark arbitrary characters as digits - but the PCRE compiling code expects\nto handle only 0-9, a-z, and A-Z as digits when compiling. That is why we have\na private table here. It costs 256 bytes, but it is a lot faster than doing\ncharacter value tests (at least in some simple cases I timed), and in some\napplications one wants PCRE to compile efficiently as well as match\nefficiently.\n\nFor convenience, we use the same bit definitions as in chartables:\n\n  0x04   decimal digit\n  0x08   hexadecimal digit\n\nThen we can use ctype_digit and ctype_xdigit in the code. */\n\n#if !EBCDIC    /* This is the \"normal\" case, for ASCII systems */\nstatic const unsigned char digitab[] =\n  {\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   8- 15 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  16- 23 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*    - '  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  ( - /  */\n  0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, /*  0 - 7  */\n  0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00, /*  8 - ?  */\n  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /*  @ - G  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  H - O  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  P - W  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  X - _  */\n  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /*  ` - g  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  h - o  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  p - w  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  x -127 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 128-135 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144-151 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160-167 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 192-199 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 208-215 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 224-231 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 240-247 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */\n\n#else          /* This is the \"abnormal\" case, for EBCDIC systems */\nstatic const unsigned char digitab[] =\n  {\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   0-  7  0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*   8- 15    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  16- 23 10 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  32- 39 20 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  40- 47    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  48- 55 30 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  56- 63    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*    - 71 40 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  72- |     */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  & - 87 50 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  88- ?    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  - -103 60 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 104- ?     */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 70 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- \"     */\n  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /* 128- g  80 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  h -143    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 144- p  90 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  q -159    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 160- x  A0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  y -175    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  ^ -183 B0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191    */\n  0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x00, /*  { - G  C0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  H -207    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  } - P  D0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  Q -223    */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  \\ - X  E0 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  Y -239    */\n  0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c, /*  0 - 7  F0 */\n  0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00};/*  8 -255    */\n\nstatic const unsigned char ebcdic_chartab[] = { /* chartable partial dup */\n  0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*   0-  7 */\n  0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00, /*   8- 15 */\n  0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*  16- 23 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  24- 31 */\n  0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /*  32- 39 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  40- 47 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  48- 55 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  56- 63 */\n  0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*    - 71 */\n  0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x80, /*  72- |  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  & - 87 */\n  0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00, /*  88- ? */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  - -103 */\n  0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x80, /* 104- ?  */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 112-119 */\n  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 120- \"  */\n  0x00,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /* 128- g  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  h -143 */\n  0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 144- p  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  q -159 */\n  0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* 160- x  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  y -175 */\n  0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*  ^ -183 */\n  0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00, /* 184-191 */\n  0x80,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x12, /*  { - G  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  H -207 */\n  0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /*  } - P  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  Q -223 */\n  0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /*  \\ - X  */\n  0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /*  Y -239 */\n  0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c, /*  0 - 7  */\n  0x1c,0x1c,0x00,0x00,0x00,0x00,0x00,0x00};/*  8 -255 */\n#endif\n\n\n/* Definition to allow mutual recursion */\n\nstatic BOOL\n  compile_regex(int, int, int *, uschar **, const uschar **, int *, BOOL, int,\n    int *, int *, branch_chain *, compile_data *);\n\n\n\n/*************************************************\n*            Handle escapes                      *\n*************************************************/\n\n/* This function is called when a \\ has been encountered. It either returns a\npositive value for a simple escape such as \\n, or a negative value which\nencodes one of the more complicated things such as \\d. When UTF-8 is enabled,\na positive value greater than 255 may be returned. On entry, ptr is pointing at\nthe \\. On exit, it is on the final character of the escape sequence.\n\nArguments:\n  ptrptr         points to the pattern position pointer\n  errorcodeptr   points to the errorcode variable\n  bracount       number of previous extracting brackets\n  options        the options bits\n  isclass        TRUE if inside a character class\n\nReturns:         zero or positive => a data character\n                 negative => a special escape sequence\n                 on error, errorptr is set\n*/\n\nstatic int\ncheck_escape(const uschar **ptrptr, int *errorcodeptr, int bracount,\n  int options, BOOL isclass)\n{\nconst uschar *ptr = *ptrptr;\nint c, i;\n\n/* If backslash is at the end of the pattern, it's an error. */\n\nc = *(++ptr);\nif (c == 0) *errorcodeptr = ERR1;\n\n/* Non-alphamerics are literals. For digits or letters, do an initial lookup in\na table. A non-zero result is something that can be returned immediately.\nOtherwise further processing may be required. */\n\n#if !EBCDIC    /* ASCII coding */\nelse if (c < '0' || c > 'z') {}                           /* Not alphameric */\nelse if ((i = escapes[c - '0']) != 0) c = i;\n\n#else          /* EBCDIC coding */\nelse if (c < 'a' || (ebcdic_chartab[c] & 0x0E) == 0) {}   /* Not alphameric */\nelse if ((i = escapes[c - 0x48]) != 0)  c = i;\n#endif\n\n/* Escapes that need further processing, or are illegal. */\n\nelse\n  {\n  const uschar *oldptr;\n  switch (c)\n    {\n    /* A number of Perl escapes are not handled by PCRE. We give an explicit\n    error. */\n\n    case 'l':\n    case 'L':\n    case 'N':\n    case 'u':\n    case 'U':\n    *errorcodeptr = ERR37;\n    break;\n\n    /* The handling of escape sequences consisting of a string of digits\n    starting with one that is not zero is not straightforward. By experiment,\n    the way Perl works seems to be as follows:\n\n    Outside a character class, the digits are read as a decimal number. If the\n    number is less than 10, or if there are that many previous extracting\n    left brackets, then it is a back reference. Otherwise, up to three octal\n    digits are read to form an escaped byte. Thus \\123 is likely to be octal\n    123 (cf \\0123, which is octal 012 followed by the literal 3). If the octal\n    value is greater than 377, the least significant 8 bits are taken. Inside a\n    character class, \\ followed by a digit is always an octal number. */\n\n    case '1': case '2': case '3': case '4': case '5':\n    case '6': case '7': case '8': case '9':\n\n    if (!isclass)\n      {\n      oldptr = ptr;\n      c -= '0';\n      while ((digitab[ptr[1]] & ctype_digit) != 0)\n        c = c * 10 + *(++ptr) - '0';\n      if (c < 10 || c <= bracount)\n        {\n        c = -(ESC_REF + c);\n        break;\n        }\n      ptr = oldptr;      /* Put the pointer back and fall through */\n      }\n\n    /* Handle an octal number following \\. If the first digit is 8 or 9, Perl\n    generates a binary zero byte and treats the digit as a following literal.\n    Thus we have to pull back the pointer by one. */\n\n    if ((c = *ptr) >= '8')\n      {\n      ptr--;\n      c = 0;\n      break;\n      }\n\n    /* \\0 always starts an octal number, but we may drop through to here with a\n    larger first octal digit. */\n\n    case '0':\n    c -= '0';\n    while(i++ < 2 && ptr[1] >= '0' && ptr[1] <= '7')\n        c = c * 8 + *(++ptr) - '0';\n    c &= 255;     /* Take least significant 8 bits */\n    break;\n\n    /* \\x is complicated when UTF-8 is enabled. \\x{ddd} is a character number\n    which can be greater than 0xff, but only if the ddd are hex digits. */\n\n    case 'x':\n#ifdef SUPPORT_UTF8\n    if (ptr[1] == '{' && (options & PCRE_UTF8) != 0)\n      {\n      const uschar *pt = ptr + 2;\n      register int count = 0;\n      c = 0;\n      while ((digitab[*pt] & ctype_xdigit) != 0)\n        {\n        int cc = *pt++;\n        count++;\n#if !EBCDIC    /* ASCII coding */\n        if (cc >= 'a') cc -= 32;               /* Convert to upper case */\n        c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));\n#else          /* EBCDIC coding */\n        if (cc >= 'a' && cc <= 'z') cc += 64;  /* Convert to upper case */\n        c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10));\n#endif\n        }\n      if (*pt == '}')\n        {\n        if (c < 0 || count > 8) *errorcodeptr = ERR34;\n        ptr = pt;\n        break;\n        }\n      /* If the sequence of hex digits does not end with '}', then we don't\n      recognize this construct; fall through to the normal \\x handling. */\n      }\n#endif\n\n    /* Read just a single hex char */\n\n    c = 0;\n    while (i++ < 2 && (digitab[ptr[1]] & ctype_xdigit) != 0)\n      {\n      int cc;                               /* Some compilers don't like ++ */\n      cc = *(++ptr);                        /* in initializers */\n#if !EBCDIC    /* ASCII coding */\n      if (cc >= 'a') cc -= 32;              /* Convert to upper case */\n      c = c * 16 + cc - ((cc < 'A')? '0' : ('A' - 10));\n#else          /* EBCDIC coding */\n      if (cc <= 'z') cc += 64;              /* Convert to upper case */\n      c = c * 16 + cc - ((cc >= '0')? '0' : ('A' - 10));\n#endif\n      }\n    break;\n\n    /* Other special escapes not starting with a digit are straightforward */\n\n    case 'c':\n    c = *(++ptr);\n    if (c == 0)\n      {\n      *errorcodeptr = ERR2;\n      return 0;\n      }\n\n    /* A letter is upper-cased; then the 0x40 bit is flipped. This coding\n    is ASCII-specific, but then the whole concept of \\cx is ASCII-specific.\n    (However, an EBCDIC equivalent has now been added.) */\n\n#if !EBCDIC    /* ASCII coding */\n    if (c >= 'a' && c <= 'z') c -= 32;\n    c ^= 0x40;\n#else          /* EBCDIC coding */\n    if (c >= 'a' && c <= 'z') c += 64;\n    c ^= 0xC0;\n#endif\n    break;\n\n    /* PCRE_EXTRA enables extensions to Perl in the matter of escapes. Any\n    other alphameric following \\ is an error if PCRE_EXTRA was set; otherwise,\n    for Perl compatibility, it is a literal. This code looks a bit odd, but\n    there used to be some cases other than the default, and there may be again\n    in future, so I haven't \"optimized\" it. */\n\n    default:\n    if ((options & PCRE_EXTRA) != 0) switch(c)\n      {\n      default:\n      *errorcodeptr = ERR3;\n      break;\n      }\n    break;\n    }\n  }\n\n*ptrptr = ptr;\nreturn c;\n}\n\n\n\n#ifdef SUPPORT_UCP\n/*************************************************\n*               Handle \\P and \\p                 *\n*************************************************/\n\n/* This function is called after \\P or \\p has been encountered, provided that\nPCRE is compiled with support for Unicode properties. On entry, ptrptr is\npointing at the P or p. On exit, it is pointing at the final character of the\nescape sequence.\n\nArgument:\n  ptrptr         points to the pattern position pointer\n  negptr         points to a boolean that is set TRUE for negation else FALSE\n  errorcodeptr   points to the error code variable\n\nReturns:     value from ucp_type_table, or -1 for an invalid type\n*/\n\nstatic int\nget_ucp(const uschar **ptrptr, BOOL *negptr, int *errorcodeptr)\n{\nint c, i, bot, top;\nconst uschar *ptr = *ptrptr;\nchar name[4];\n\nc = *(++ptr);\nif (c == 0) goto ERROR_RETURN;\n\n*negptr = FALSE;\n\n/* \\P or \\p can be followed by a one- or two-character name in {}, optionally\npreceded by ^ for negation. */\n\nif (c == '{')\n  {\n  if (ptr[1] == '^')\n    {\n    *negptr = TRUE;\n    ptr++;\n    }\n  for (i = 0; i <= 2; i++)\n    {\n    c = *(++ptr);\n    if (c == 0) goto ERROR_RETURN;\n    if (c == '}') break;\n    name[i] = c;\n    }\n  if (c !='}')   /* Try to distinguish error cases */\n    {\n    while (*(++ptr) != 0 && *ptr != '}');\n    if (*ptr == '}') goto UNKNOWN_RETURN; else goto ERROR_RETURN;\n    }\n  name[i] = 0;\n  }\n\n/* Otherwise there is just one following character */\n\nelse\n  {\n  name[0] = c;\n  name[1] = 0;\n  }\n\n*ptrptr = ptr;\n\n/* Search for a recognized property name using binary chop */\n\nbot = 0;\ntop = _pcre_utt_size;\n\nwhile (bot < top)\n  {\n  i = (bot + top)/2;\n  c = strcmp(name, _pcre_utt[i].name);\n  if (c == 0) return _pcre_utt[i].value;\n  if (c > 0) bot = i + 1; else top = i;\n  }\n\nUNKNOWN_RETURN:\n*errorcodeptr = ERR47;\n*ptrptr = ptr;\nreturn -1;\n\nERROR_RETURN:\n*errorcodeptr = ERR46;\n*ptrptr = ptr;\nreturn -1;\n}\n#endif\n\n\n\n\n/*************************************************\n*            Check for counted repeat            *\n*************************************************/\n\n/* This function is called when a '{' is encountered in a place where it might\nstart a quantifier. It looks ahead to see if it really is a quantifier or not.\nIt is only a quantifier if it is one of the forms {ddd} {ddd,} or {ddd,ddd}\nwhere the ddds are digits.\n\nArguments:\n  p         pointer to the first char after '{'\n\nReturns:    TRUE or FALSE\n*/\n\nstatic BOOL\nis_counted_repeat(const uschar *p)\n{\nif ((digitab[*p++] & ctype_digit) == 0) return FALSE;\nwhile ((digitab[*p] & ctype_digit) != 0) p++;\nif (*p == '}') return TRUE;\n\nif (*p++ != ',') return FALSE;\nif (*p == '}') return TRUE;\n\nif ((digitab[*p++] & ctype_digit) == 0) return FALSE;\nwhile ((digitab[*p] & ctype_digit) != 0) p++;\n\nreturn (*p == '}');\n}\n\n\n\n/*************************************************\n*         Read repeat counts                     *\n*************************************************/\n\n/* Read an item of the form {n,m} and return the values. This is called only\nafter is_counted_repeat() has confirmed that a repeat-count quantifier exists,\nso the syntax is guaranteed to be correct, but we need to check the values.\n\nArguments:\n  p              pointer to first char after '{'\n  minp           pointer to int for min\n  maxp           pointer to int for max\n                 returned as -1 if no max\n  errorcodeptr   points to error code variable\n\nReturns:         pointer to '}' on success;\n                 current ptr on error, with errorcodeptr set non-zero\n*/\n\nstatic const uschar *\nread_repeat_counts(const uschar *p, int *minp, int *maxp, int *errorcodeptr)\n{\nint min = 0;\nint max = -1;\n\nwhile ((digitab[*p] & ctype_digit) != 0) min = min * 10 + *p++ - '0';\n\nif (*p == '}') max = min; else\n  {\n  if (*(++p) != '}')\n    {\n    max = 0;\n    while((digitab[*p] & ctype_digit) != 0) max = max * 10 + *p++ - '0';\n    if (max < min)\n      {\n      *errorcodeptr = ERR4;\n      return p;\n      }\n    }\n  }\n\n/* Do paranoid checks, then fill in the required variables, and pass back the\npointer to the terminating '}'. */\n\nif (min > 65535 || max > 65535)\n  *errorcodeptr = ERR5;\nelse\n  {\n  *minp = min;\n  *maxp = max;\n  }\nreturn p;\n}\n\n\n\n/*************************************************\n*      Find first significant op code            *\n*************************************************/\n\n/* This is called by several functions that scan a compiled expression looking\nfor a fixed first character, or an anchoring op code etc. It skips over things\nthat do not influence this. For some calls, a change of option is important.\nFor some calls, it makes sense to skip negative forward and all backward\nassertions, and also the \\b assertion; for others it does not.\n\nArguments:\n  code         pointer to the start of the group\n  options      pointer to external options\n  optbit       the option bit whose changing is significant, or\n                 zero if none are\n  skipassert   TRUE if certain assertions are to be skipped\n\nReturns:       pointer to the first significant opcode\n*/\n\nstatic const uschar*\nfirst_significant_code(const uschar *code, int *options, int optbit,\n  BOOL skipassert)\n{\nfor (;;)\n  {\n  switch ((int)*code)\n    {\n    case OP_OPT:\n    if (optbit > 0 && ((int)code[1] & optbit) != (*options & optbit))\n      *options = (int)code[1];\n    code += 2;\n    break;\n\n    case OP_ASSERT_NOT:\n    case OP_ASSERTBACK:\n    case OP_ASSERTBACK_NOT:\n    if (!skipassert) return code;\n    do code += GET(code, 1); while (*code == OP_ALT);\n    code += _pcre_OP_lengths[*code];\n    break;\n\n    case OP_WORD_BOUNDARY:\n    case OP_NOT_WORD_BOUNDARY:\n    if (!skipassert) return code;\n    /* Fall through */\n\n    case OP_CALLOUT:\n    case OP_CREF:\n    case OP_BRANUMBER:\n    code += _pcre_OP_lengths[*code];\n    break;\n\n    default:\n    return code;\n    }\n  }\n/* Control never reaches here */\n}\n\n\n\n\n/*************************************************\n*        Find the fixed length of a pattern      *\n*************************************************/\n\n/* Scan a pattern and compute the fixed length of subject that will match it,\nif the length is fixed. This is needed for dealing with backward assertions.\nIn UTF8 mode, the result is in characters rather than bytes.\n\nArguments:\n  code     points to the start of the pattern (the bracket)\n  options  the compiling options\n\nReturns:   the fixed length, or -1 if there is no fixed length,\n             or -2 if \\C was encountered\n*/\n\nstatic int\nfind_fixedlength(uschar *code, int options)\n{\nint length = -1;\n\nregister int branchlength = 0;\nregister uschar *cc = code + 1 + LINK_SIZE;\n\n/* Scan along the opcodes for this branch. If we get to the end of the\nbranch, check the length against that of the other branches. */\n\nfor (;;)\n  {\n  int d;\n  register int op = *cc;\n  if (op >= OP_BRA) op = OP_BRA;\n\n  switch (op)\n    {\n    case OP_BRA:\n    case OP_ONCE:\n    case OP_COND:\n    d = find_fixedlength(cc, options);\n    if (d < 0) return d;\n    branchlength += d;\n    do cc += GET(cc, 1); while (*cc == OP_ALT);\n    cc += 1 + LINK_SIZE;\n    break;\n\n    /* Reached end of a branch; if it's a ket it is the end of a nested\n    call. If it's ALT it is an alternation in a nested call. If it is\n    END it's the end of the outer call. All can be handled by the same code. */\n\n    case OP_ALT:\n    case OP_KET:\n    case OP_KETRMAX:\n    case OP_KETRMIN:\n    case OP_END:\n    if (length < 0) length = branchlength;\n      else if (length != branchlength) return -1;\n    if (*cc != OP_ALT) return length;\n    cc += 1 + LINK_SIZE;\n    branchlength = 0;\n    break;\n\n    /* Skip over assertive subpatterns */\n\n    case OP_ASSERT:\n    case OP_ASSERT_NOT:\n    case OP_ASSERTBACK:\n    case OP_ASSERTBACK_NOT:\n    do cc += GET(cc, 1); while (*cc == OP_ALT);\n    /* Fall through */\n\n    /* Skip over things that don't match chars */\n\n    case OP_REVERSE:\n    case OP_BRANUMBER:\n    case OP_CREF:\n    case OP_OPT:\n    case OP_CALLOUT:\n    case OP_SOD:\n    case OP_SOM:\n    case OP_EOD:\n    case OP_EODN:\n    case OP_CIRC:\n    case OP_DOLL:\n    case OP_NOT_WORD_BOUNDARY:\n    case OP_WORD_BOUNDARY:\n    cc += _pcre_OP_lengths[*cc];\n    break;\n\n    /* Handle literal characters */\n\n    case OP_CHAR:\n    case OP_CHARNC:\n    branchlength++;\n    cc += 2;\n#ifdef SUPPORT_UTF8\n    if ((options & PCRE_UTF8) != 0)\n      {\n      while ((*cc & 0xc0) == 0x80) cc++;\n      }\n#endif\n    break;\n\n    /* Handle exact repetitions. The count is already in characters, but we\n    need to skip over a multibyte character in UTF8 mode.  */\n\n    case OP_EXACT:\n    branchlength += GET2(cc,1);\n    cc += 4;\n#ifdef SUPPORT_UTF8\n    if ((options & PCRE_UTF8) != 0)\n      {\n      while((*cc & 0x80) == 0x80) cc++;\n      }\n#endif\n    break;\n\n    case OP_TYPEEXACT:\n    branchlength += GET2(cc,1);\n    cc += 4;\n    break;\n\n    /* Handle single-char matchers */\n\n    case OP_PROP:\n    case OP_NOTPROP:\n    cc++;\n    /* Fall through */\n\n    case OP_NOT_DIGIT:\n    case OP_DIGIT:\n    case OP_NOT_WHITESPACE:\n    case OP_WHITESPACE:\n    case OP_NOT_WORDCHAR:\n    case OP_WORDCHAR:\n    case OP_ANY:\n    branchlength++;\n    cc++;\n    break;\n\n    /* The single-byte matcher isn't allowed */\n\n    case OP_ANYBYTE:\n    return -2;\n\n    /* Check a class for variable quantification */\n\n#ifdef SUPPORT_UTF8\n    case OP_XCLASS:\n    cc += GET(cc, 1) - 33;\n    /* Fall through */\n#endif\n\n    case OP_CLASS:\n    case OP_NCLASS:\n    cc += 33;\n\n    switch (*cc)\n      {\n      case OP_CRSTAR:\n      case OP_CRMINSTAR:\n      case OP_CRQUERY:\n      case OP_CRMINQUERY:\n      return -1;\n\n      case OP_CRRANGE:\n      case OP_CRMINRANGE:\n      if (GET2(cc,1) != GET2(cc,3)) return -1;\n      branchlength += GET2(cc,1);\n      cc += 5;\n      break;\n\n      default:\n      branchlength++;\n      }\n    break;\n\n    /* Anything else is variable length */\n\n    default:\n    return -1;\n    }\n  }\n/* Control never gets here */\n}\n\n\n\n\n/*************************************************\n*    Scan compiled regex for numbered bracket    *\n*************************************************/\n\n/* This little function scans through a compiled pattern until it finds a\ncapturing bracket with the given number.\n\nArguments:\n  code        points to start of expression\n  utf8        TRUE in UTF-8 mode\n  number      the required bracket number\n\nReturns:      pointer to the opcode for the bracket, or NULL if not found\n*/\n\nstatic const uschar *\nfind_bracket(const uschar *code, BOOL utf8, int number)\n{\n#ifndef SUPPORT_UTF8\nutf8 = utf8;               /* Stop pedantic compilers complaining */\n#endif\n\nfor (;;)\n  {\n  register int c = *code;\n  if (c == OP_END) return NULL;\n  else if (c > OP_BRA)\n    {\n    int n = c - OP_BRA;\n    if (n > EXTRACT_BASIC_MAX) n = GET2(code, 2+LINK_SIZE);\n    if (n == number) return (uschar *)code;\n    code += _pcre_OP_lengths[OP_BRA];\n    }\n  else\n    {\n    code += _pcre_OP_lengths[c];\n\n#ifdef SUPPORT_UTF8\n\n    /* In UTF-8 mode, opcodes that are followed by a character may be followed\n    by a multi-byte character. The length in the table is a minimum, so we have\n    to scan along to skip the extra bytes. All opcodes are less than 128, so we\n    can use relatively efficient code. */\n\n    if (utf8) switch(c)\n      {\n      case OP_CHAR:\n      case OP_CHARNC:\n      case OP_EXACT:\n      case OP_UPTO:\n      case OP_MINUPTO:\n      case OP_STAR:\n      case OP_MINSTAR:\n      case OP_PLUS:\n      case OP_MINPLUS:\n      case OP_QUERY:\n      case OP_MINQUERY:\n      while ((*code & 0xc0) == 0x80) code++;\n      break;\n\n      /* XCLASS is used for classes that cannot be represented just by a bit\n      map. This includes negated single high-valued characters. The length in\n      the table is zero; the actual length is stored in the compiled code. */\n\n      case OP_XCLASS:\n      code += GET(code, 1) + 1;\n      break;\n      }\n#endif\n    }\n  }\n}\n\n\n\n/*************************************************\n*   Scan compiled regex for recursion reference  *\n*************************************************/\n\n/* This little function scans through a compiled pattern until it finds an\ninstance of OP_RECURSE.\n\nArguments:\n  code        points to start of expression\n  utf8        TRUE in UTF-8 mode\n\nReturns:      pointer to the opcode for OP_RECURSE, or NULL if not found\n*/\n\nstatic const uschar *\nfind_recurse(const uschar *code, BOOL utf8)\n{\n#ifndef SUPPORT_UTF8\nutf8 = utf8;               /* Stop pedantic compilers complaining */\n#endif\n\nfor (;;)\n  {\n  register int c = *code;\n  if (c == OP_END) return NULL;\n  else if (c == OP_RECURSE) return code;\n  else if (c > OP_BRA)\n    {\n    code += _pcre_OP_lengths[OP_BRA];\n    }\n  else\n    {\n    code += _pcre_OP_lengths[c];\n\n#ifdef SUPPORT_UTF8\n\n    /* In UTF-8 mode, opcodes that are followed by a character may be followed\n    by a multi-byte character. The length in the table is a minimum, so we have\n    to scan along to skip the extra bytes. All opcodes are less than 128, so we\n    can use relatively efficient code. */\n\n    if (utf8) switch(c)\n      {\n      case OP_CHAR:\n      case OP_CHARNC:\n      case OP_EXACT:\n      case OP_UPTO:\n      case OP_MINUPTO:\n      case OP_STAR:\n      case OP_MINSTAR:\n      case OP_PLUS:\n      case OP_MINPLUS:\n      case OP_QUERY:\n      case OP_MINQUERY:\n      while ((*code & 0xc0) == 0x80) code++;\n      break;\n\n      /* XCLASS is used for classes that cannot be represented just by a bit\n      map. This includes negated single high-valued characters. The length in\n      the table is zero; the actual length is stored in the compiled code. */\n\n      case OP_XCLASS:\n      code += GET(code, 1) + 1;\n      break;\n      }\n#endif\n    }\n  }\n}\n\n\n\n/*************************************************\n*    Scan compiled branch for non-emptiness      *\n*************************************************/\n\n/* This function scans through a branch of a compiled pattern to see whether it\ncan match the empty string or not. It is called only from could_be_empty()\nbelow. Note that first_significant_code() skips over assertions. If we hit an\nunclosed bracket, we return \"empty\" - this means we've struck an inner bracket\nwhose current branch will already have been scanned.\n\nArguments:\n  code        points to start of search\n  endcode     points to where to stop\n  utf8        TRUE if in UTF8 mode\n\nReturns:      TRUE if what is matched could be empty\n*/\n\nstatic BOOL\ncould_be_empty_branch(const uschar *code, const uschar *endcode, BOOL utf8)\n{\nregister int c;\nfor (code = first_significant_code(code + 1 + LINK_SIZE, NULL, 0, TRUE);\n     code < endcode;\n     code = first_significant_code(code + _pcre_OP_lengths[c], NULL, 0, TRUE))\n  {\n  const uschar *ccode;\n\n  c = *code;\n\n  if (c >= OP_BRA)\n    {\n    BOOL empty_branch;\n    if (GET(code, 1) == 0) return TRUE;    /* Hit unclosed bracket */\n\n    /* Scan a closed bracket */\n\n    empty_branch = FALSE;\n    do\n      {\n      if (!empty_branch && could_be_empty_branch(code, endcode, utf8))\n        empty_branch = TRUE;\n      code += GET(code, 1);\n      }\n    while (*code == OP_ALT);\n    if (!empty_branch) return FALSE;   /* All branches are non-empty */\n    code += 1 + LINK_SIZE;\n    c = *code;\n    }\n\n  else switch (c)\n    {\n    /* Check for quantifiers after a class */\n\n#ifdef SUPPORT_UTF8\n    case OP_XCLASS:\n    ccode = code + GET(code, 1);\n    goto CHECK_CLASS_REPEAT;\n#endif\n\n    case OP_CLASS:\n    case OP_NCLASS:\n    ccode = code + 33;\n\n#ifdef SUPPORT_UTF8\n    CHECK_CLASS_REPEAT:\n#endif\n\n    switch (*ccode)\n      {\n      case OP_CRSTAR:            /* These could be empty; continue */\n      case OP_CRMINSTAR:\n      case OP_CRQUERY:\n      case OP_CRMINQUERY:\n      break;\n\n      default:                   /* Non-repeat => class must match */\n      case OP_CRPLUS:            /* These repeats aren't empty */\n      case OP_CRMINPLUS:\n      return FALSE;\n\n      case OP_CRRANGE:\n      case OP_CRMINRANGE:\n      if (GET2(ccode, 1) > 0) return FALSE;  /* Minimum > 0 */\n      break;\n      }\n    break;\n\n    /* Opcodes that must match a character */\n\n    case OP_PROP:\n    case OP_NOTPROP:\n    case OP_EXTUNI:\n    case OP_NOT_DIGIT:\n    case OP_DIGIT:\n    case OP_NOT_WHITESPACE:\n    case OP_WHITESPACE:\n    case OP_NOT_WORDCHAR:\n    case OP_WORDCHAR:\n    case OP_ANY:\n    case OP_ANYBYTE:\n    case OP_CHAR:\n    case OP_CHARNC:\n    case OP_NOT:\n    case OP_PLUS:\n    case OP_MINPLUS:\n    case OP_EXACT:\n    case OP_NOTPLUS:\n    case OP_NOTMINPLUS:\n    case OP_NOTEXACT:\n    case OP_TYPEPLUS:\n    case OP_TYPEMINPLUS:\n    case OP_TYPEEXACT:\n    return FALSE;\n\n    /* End of branch */\n\n    case OP_KET:\n    case OP_KETRMAX:\n    case OP_KETRMIN:\n    case OP_ALT:\n    return TRUE;\n\n    /* In UTF-8 mode, STAR, MINSTAR, QUERY, MINQUERY, UPTO, and MINUPTO  may be\n    followed by a multibyte character */\n\n#ifdef SUPPORT_UTF8\n    case OP_STAR:\n    case OP_MINSTAR:\n    case OP_QUERY:\n    case OP_MINQUERY:\n    case OP_UPTO:\n    case OP_MINUPTO:\n    if (utf8) while ((code[2] & 0xc0) == 0x80) code++;\n    break;\n#endif\n    }\n  }\n\nreturn TRUE;\n}\n\n\n\n/*************************************************\n*    Scan compiled regex for non-emptiness       *\n*************************************************/\n\n/* This function is called to check for left recursive calls. We want to check\nthe current branch of the current pattern to see if it could match the empty\nstring. If it could, we must look outwards for branches at other levels,\nstopping when we pass beyond the bracket which is the subject of the recursion.\n\nArguments:\n  code        points to start of the recursion\n  endcode     points to where to stop (current RECURSE item)\n  bcptr       points to the chain of current (unclosed) branch starts\n  utf8        TRUE if in UTF-8 mode\n\nReturns:      TRUE if what is matched could be empty\n*/\n\nstatic BOOL\ncould_be_empty(const uschar *code, const uschar *endcode, branch_chain *bcptr,\n  BOOL utf8)\n{\nwhile (bcptr != NULL && bcptr->current >= code)\n  {\n  if (!could_be_empty_branch(bcptr->current, endcode, utf8)) return FALSE;\n  bcptr = bcptr->outer;\n  }\nreturn TRUE;\n}\n\n\n\n/*************************************************\n*           Check for POSIX class syntax         *\n*************************************************/\n\n/* This function is called when the sequence \"[:\" or \"[.\" or \"[=\" is\nencountered in a character class. It checks whether this is followed by an\noptional ^ and then a sequence of letters, terminated by a matching \":]\" or\n\".]\" or \"=]\".\n\nArgument:\n  ptr      pointer to the initial [\n  endptr   where to return the end pointer\n  cd       pointer to compile data\n\nReturns:   TRUE or FALSE\n*/\n\nstatic BOOL\ncheck_posix_syntax(const uschar *ptr, const uschar **endptr, compile_data *cd)\n{\nint terminator;          /* Don't combine these lines; the Solaris cc */\nterminator = *(++ptr);   /* compiler warns about \"non-constant\" initializer. */\nif (*(++ptr) == '^') ptr++;\nwhile ((cd->ctypes[*ptr] & ctype_letter) != 0) ptr++;\nif (*ptr == terminator && ptr[1] == ']')\n  {\n  *endptr = ptr;\n  return TRUE;\n  }\nreturn FALSE;\n}\n\n\n\n\n/*************************************************\n*          Check POSIX class name                *\n*************************************************/\n\n/* This function is called to check the name given in a POSIX-style class entry\nsuch as [:alnum:].\n\nArguments:\n  ptr        points to the first letter\n  len        the length of the name\n\nReturns:     a value representing the name, or -1 if unknown\n*/\n\nstatic int\ncheck_posix_name(const uschar *ptr, int len)\n{\nregister int yield = 0;\nwhile (posix_name_lengths[yield] != 0)\n  {\n  if (len == posix_name_lengths[yield] &&\n    strncmp((const char *)ptr, posix_names[yield], len) == 0) return yield;\n  yield++;\n  }\nreturn -1;\n}\n\n\n/*************************************************\n*    Adjust OP_RECURSE items in repeated group   *\n*************************************************/\n\n/* OP_RECURSE items contain an offset from the start of the regex to the group\nthat is referenced. This means that groups can be replicated for fixed\nrepetition simply by copying (because the recursion is allowed to refer to\nearlier groups that are outside the current group). However, when a group is\noptional (i.e. the minimum quantifier is zero), OP_BRAZERO is inserted before\nit, after it has been compiled. This means that any OP_RECURSE items within it\nthat refer to the group itself or any contained groups have to have their\noffsets adjusted. That is the job of this function. Before it is called, the\npartially compiled regex must be temporarily terminated with OP_END.\n\nArguments:\n  group      points to the start of the group\n  adjust     the amount by which the group is to be moved\n  utf8       TRUE in UTF-8 mode\n  cd         contains pointers to tables etc.\n\nReturns:     nothing\n*/\n\nstatic void\nadjust_recurse(uschar *group, int adjust, BOOL utf8, compile_data *cd)\n{\nuschar *ptr = group;\nwhile ((ptr = (uschar *)find_recurse(ptr, utf8)) != NULL)\n  {\n  int offset = GET(ptr, 1);\n  if (cd->start_code + offset >= group) PUT(ptr, 1, offset + adjust);\n  ptr += 1 + LINK_SIZE;\n  }\n}\n\n\n\n/*************************************************\n*        Insert an automatic callout point       *\n*************************************************/\n\n/* This function is called when the PCRE_AUTO_CALLOUT option is set, to insert\ncallout points before each pattern item.\n\nArguments:\n  code           current code pointer\n  ptr            current pattern pointer\n  cd             pointers to tables etc\n\nReturns:         new code pointer\n*/\n\nstatic uschar *\nauto_callout(uschar *code, const uschar *ptr, compile_data *cd)\n{\n*code++ = OP_CALLOUT;\n*code++ = 255;\nPUT(code, 0, ptr - cd->start_pattern);  /* Pattern offset */\nPUT(code, LINK_SIZE, 0);                /* Default length */\nreturn code + 2*LINK_SIZE;\n}\n\n\n\n/*************************************************\n*         Complete a callout item                *\n*************************************************/\n\n/* A callout item contains the length of the next item in the pattern, which\nwe can't fill in till after we have reached the relevant point. This is used\nfor both automatic and manual callouts.\n\nArguments:\n  previous_callout   points to previous callout item\n  ptr                current pattern pointer\n  cd                 pointers to tables etc\n\nReturns:             nothing\n*/\n\nstatic void\ncomplete_callout(uschar *previous_callout, const uschar *ptr, compile_data *cd)\n{\nint length = ptr - cd->start_pattern - GET(previous_callout, 2);\nPUT(previous_callout, 2 + LINK_SIZE, length);\n}\n\n\n\n#ifdef SUPPORT_UCP\n/*************************************************\n*           Get othercase range                  *\n*************************************************/\n\n/* This function is passed the start and end of a class range, in UTF-8 mode\nwith UCP support. It searches up the characters, looking for internal ranges of\ncharacters in the \"other\" case. Each call returns the next one, updating the\nstart address.\n\nArguments:\n  cptr        points to starting character value; updated\n  d           end value\n  ocptr       where to put start of othercase range\n  odptr       where to put end of othercase range\n\nYield:        TRUE when range returned; FALSE when no more\n*/\n\nstatic BOOL\nget_othercase_range(int *cptr, int d, int *ocptr, int *odptr)\n{\nint c, chartype, othercase, next;\n\nfor (c = *cptr; c <= d; c++)\n  {\n  if (_pcre_ucp_findchar(c, &chartype, &othercase) == ucp_L && othercase != 0)\n    break;\n  }\n\nif (c > d) return FALSE;\n\n*ocptr = othercase;\nnext = othercase + 1;\n\nfor (++c; c <= d; c++)\n  {\n  if (_pcre_ucp_findchar(c, &chartype, &othercase) != ucp_L ||\n        othercase != next)\n    break;\n  next++;\n  }\n\n*odptr = next - 1;\n*cptr = c;\n\nreturn TRUE;\n}\n#endif  /* SUPPORT_UCP */\n\n\n/*************************************************\n*           Compile one branch                   *\n*************************************************/\n\n/* Scan the pattern, compiling it into the code vector. If the options are\nchanged during the branch, the pointer is used to change the external options\nbits.\n\nArguments:\n  optionsptr     pointer to the option bits\n  brackets       points to number of extracting brackets used\n  codeptr        points to the pointer to the current code point\n  ptrptr         points to the current pattern pointer\n  errorcodeptr   points to error code variable\n  firstbyteptr   set to initial literal character, or < 0 (REQ_UNSET, REQ_NONE)\n  reqbyteptr     set to the last literal character required, else < 0\n  bcptr          points to current branch chain\n  cd             contains pointers to tables etc.\n\nReturns:         TRUE on success\n                 FALSE, with *errorcodeptr set non-zero on error\n*/\n\nstatic BOOL\ncompile_branch(int *optionsptr, int *brackets, uschar **codeptr,\n  const uschar **ptrptr, int *errorcodeptr, int *firstbyteptr,\n  int *reqbyteptr, branch_chain *bcptr, compile_data *cd)\n{\nint repeat_type, op_type;\nint repeat_min = 0, repeat_max = 0;      /* To please picky compilers */\nint bravalue = 0;\nint greedy_default, greedy_non_default;\nint firstbyte, reqbyte;\nint zeroreqbyte, zerofirstbyte;\nint req_caseopt, reqvary, tempreqvary;\nint condcount = 0;\nint options = *optionsptr;\nint after_manual_callout = 0;\nregister int c;\nregister uschar *code = *codeptr;\nuschar *tempcode;\nBOOL inescq = FALSE;\nBOOL groupsetfirstbyte = FALSE;\nconst uschar *ptr = *ptrptr;\nconst uschar *tempptr;\nuschar *previous = NULL;\nuschar *previous_callout = NULL;\nuschar classbits[32];\n\n#ifdef SUPPORT_UTF8\nBOOL class_utf8;\nBOOL utf8 = (options & PCRE_UTF8) != 0;\nuschar *class_utf8data;\nuschar utf8_char[6];\n#else\nBOOL utf8 = FALSE;\n#endif\n\n/* Set up the default and non-default settings for greediness */\n\ngreedy_default = ((options & PCRE_UNGREEDY) != 0);\ngreedy_non_default = greedy_default ^ 1;\n\n/* Initialize no first byte, no required byte. REQ_UNSET means \"no char\nmatching encountered yet\". It gets changed to REQ_NONE if we hit something that\nmatches a non-fixed char first char; reqbyte just remains unset if we never\nfind one.\n\nWhen we hit a repeat whose minimum is zero, we may have to adjust these values\nto take the zero repeat into account. This is implemented by setting them to\nzerofirstbyte and zeroreqbyte when such a repeat is encountered. The individual\nitem types that can be repeated set these backoff variables appropriately. */\n\nfirstbyte = reqbyte = zerofirstbyte = zeroreqbyte = REQ_UNSET;\n\n/* The variable req_caseopt contains either the REQ_CASELESS value or zero,\naccording to the current setting of the caseless flag. REQ_CASELESS is a bit\nvalue > 255. It is added into the firstbyte or reqbyte variables to record the\ncase status of the value. This is used only for ASCII characters. */\n\nreq_caseopt = ((options & PCRE_CASELESS) != 0)? REQ_CASELESS : 0;\n\n/* Switch on next character until the end of the branch */\n\nfor (;; ptr++)\n  {\n  BOOL negate_class;\n  BOOL possessive_quantifier;\n  BOOL is_quantifier;\n  int class_charcount;\n  int class_lastchar;\n  int newoptions;\n  int recno;\n  int skipbytes;\n  int subreqbyte;\n  int subfirstbyte;\n  int mclength;\n  uschar mcbuffer[8];\n\n  /* Next byte in the pattern */\n\n  c = *ptr;\n\n  /* If in \\Q...\\E, check for the end; if not, we have a literal */\n\n  if (inescq && c != 0)\n    {\n    if (c == '\\\\' && ptr[1] == 'E')\n      {\n      inescq = FALSE;\n      ptr++;\n      continue;\n      }\n    else\n      {\n      if (previous_callout != NULL)\n        {\n        complete_callout(previous_callout, ptr, cd);\n        previous_callout = NULL;\n        }\n      if ((options & PCRE_AUTO_CALLOUT) != 0)\n        {\n        previous_callout = code;\n        code = auto_callout(code, ptr, cd);\n        }\n      goto NORMAL_CHAR;\n      }\n    }\n\n  /* Fill in length of a previous callout, except when the next thing is\n  a quantifier. */\n\n  is_quantifier = c == '*' || c == '+' || c == '?' ||\n    (c == '{' && is_counted_repeat(ptr+1));\n\n  if (!is_quantifier && previous_callout != NULL &&\n       after_manual_callout-- <= 0)\n    {\n    complete_callout(previous_callout, ptr, cd);\n    previous_callout = NULL;\n    }\n\n  /* In extended mode, skip white space and comments */\n\n  if ((options & PCRE_EXTENDED) != 0)\n    {\n    if ((cd->ctypes[c] & ctype_space) != 0) continue;\n    if (c == '#')\n      {\n      /* The space before the ; is to avoid a warning on a silly compiler\n      on the Macintosh. */\n      while ((c = *(++ptr)) != 0 && c != NEWLINE) ;\n      if (c != 0) continue;   /* Else fall through to handle end of string */\n      }\n    }\n\n  /* No auto callout for quantifiers. */\n\n  if ((options & PCRE_AUTO_CALLOUT) != 0 && !is_quantifier)\n    {\n    previous_callout = code;\n    code = auto_callout(code, ptr, cd);\n    }\n\n  switch(c)\n    {\n    /* The branch terminates at end of string, |, or ). */\n\n    case 0:\n    case '|':\n    case ')':\n    *firstbyteptr = firstbyte;\n    *reqbyteptr = reqbyte;\n    *codeptr = code;\n    *ptrptr = ptr;\n    return TRUE;\n\n    /* Handle single-character metacharacters. In multiline mode, ^ disables\n    the setting of any following char as a first character. */\n\n    case '^':\n    if ((options & PCRE_MULTILINE) != 0)\n      {\n      if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE;\n      }\n    previous = NULL;\n    *code++ = OP_CIRC;\n    break;\n\n    case '$':\n    previous = NULL;\n    *code++ = OP_DOLL;\n    break;\n\n    /* There can never be a first char if '.' is first, whatever happens about\n    repeats. The value of reqbyte doesn't change either. */\n\n    case '.':\n    if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE;\n    zerofirstbyte = firstbyte;\n    zeroreqbyte = reqbyte;\n    previous = code;\n    *code++ = OP_ANY;\n    break;\n\n    /* Character classes. If the included characters are all < 255 in value, we\n    build a 32-byte bitmap of the permitted characters, except in the special\n    case where there is only one such character. For negated classes, we build\n    the map as usual, then invert it at the end. However, we use a different\n    opcode so that data characters > 255 can be handled correctly.\n\n    If the class contains characters outside the 0-255 range, a different\n    opcode is compiled. It may optionally have a bit map for characters < 256,\n    but those above are are explicitly listed afterwards. A flag byte tells\n    whether the bitmap is present, and whether this is a negated class or not.\n    */\n\n    case '[':\n    previous = code;\n\n    /* PCRE supports POSIX class stuff inside a class. Perl gives an error if\n    they are encountered at the top level, so we'll do that too. */\n\n    if ((ptr[1] == ':' || ptr[1] == '.' || ptr[1] == '=') &&\n        check_posix_syntax(ptr, &tempptr, cd))\n      {\n      *errorcodeptr = (ptr[1] == ':')? ERR13 : ERR31;\n      goto FAILED;\n      }\n\n    /* If the first character is '^', set the negation flag and skip it. */\n\n    if ((c = *(++ptr)) == '^')\n      {\n      negate_class = TRUE;\n      c = *(++ptr);\n      }\n    else\n      {\n      negate_class = FALSE;\n      }\n\n    /* Keep a count of chars with values < 256 so that we can optimize the case\n    of just a single character (as long as it's < 256). For higher valued UTF-8\n    characters, we don't yet do any optimization. */\n\n    class_charcount = 0;\n    class_lastchar = -1;\n\n#ifdef SUPPORT_UTF8\n    class_utf8 = FALSE;                       /* No chars >= 256 */\n    class_utf8data = code + LINK_SIZE + 34;   /* For UTF-8 items */\n#endif\n\n    /* Initialize the 32-char bit map to all zeros. We have to build the\n    map in a temporary bit of store, in case the class contains only 1\n    character (< 256), because in that case the compiled code doesn't use the\n    bit map. */\n\n    memset(classbits, 0, 32 * sizeof(uschar));\n\n    /* Process characters until ] is reached. By writing this as a \"do\" it\n    means that an initial ] is taken as a data character. The first pass\n    through the regex checked the overall syntax, so we don't need to be very\n    strict here. At the start of the loop, c contains the first byte of the\n    character. */\n\n    do\n      {\n#ifdef SUPPORT_UTF8\n      if (utf8 && c > 127)\n        {                           /* Braces are required because the */\n        GETCHARLEN(c, ptr, ptr);    /* macro generates multiple statements */\n        }\n#endif\n\n      /* Inside \\Q...\\E everything is literal except \\E */\n\n      if (inescq)\n        {\n        if (c == '\\\\' && ptr[1] == 'E')\n          {\n          inescq = FALSE;\n          ptr++;\n          continue;\n          }\n        else goto LONE_SINGLE_CHARACTER;\n        }\n\n      /* Handle POSIX class names. Perl allows a negation extension of the\n      form [:^name:]. A square bracket that doesn't match the syntax is\n      treated as a literal. We also recognize the POSIX constructions\n      [.ch.] and [=ch=] (\"collating elements\") and fault them, as Perl\n      5.6 and 5.8 do. */\n\n      if (c == '[' &&\n          (ptr[1] == ':' || ptr[1] == '.' || ptr[1] == '=') &&\n          check_posix_syntax(ptr, &tempptr, cd))\n        {\n        BOOL local_negate = FALSE;\n        int posix_class, i;\n        register const uschar *cbits = cd->cbits;\n\n        if (ptr[1] != ':')\n          {\n          *errorcodeptr = ERR31;\n          goto FAILED;\n          }\n\n        ptr += 2;\n        if (*ptr == '^')\n          {\n          local_negate = TRUE;\n          ptr++;\n          }\n\n        posix_class = check_posix_name(ptr, tempptr - ptr);\n        if (posix_class < 0)\n          {\n          *errorcodeptr = ERR30;\n          goto FAILED;\n          }\n\n        /* If matching is caseless, upper and lower are converted to\n        alpha. This relies on the fact that the class table starts with\n        alpha, lower, upper as the first 3 entries. */\n\n        if ((options & PCRE_CASELESS) != 0 && posix_class <= 2)\n          posix_class = 0;\n\n        /* Or into the map we are building up to 3 of the static class\n        tables, or their negations. The [:blank:] class sets up the same\n        chars as the [:space:] class (all white space). We remove the vertical\n        white space chars afterwards. */\n\n        posix_class *= 3;\n        for (i = 0; i < 3; i++)\n          {\n          BOOL blankclass = strncmp((char *)ptr, \"blank\", 5) == 0;\n          int taboffset = posix_class_maps[posix_class + i];\n          if (taboffset < 0) break;\n          if (local_negate)\n            {\n            if (i == 0)\n              for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+taboffset];\n            else\n              for (c = 0; c < 32; c++) classbits[c] &= ~cbits[c+taboffset];\n            if (blankclass) classbits[1] |= 0x3c;\n            }\n          else\n            {\n            for (c = 0; c < 32; c++) classbits[c] |= cbits[c+taboffset];\n            if (blankclass) classbits[1] &= ~0x3c;\n            }\n          }\n\n        ptr = tempptr + 1;\n        class_charcount = 10;  /* Set > 1; assumes more than 1 per class */\n        continue;    /* End of POSIX syntax handling */\n        }\n\n      /* Backslash may introduce a single character, or it may introduce one\n      of the specials, which just set a flag. Escaped items are checked for\n      validity in the pre-compiling pass. The sequence \\b is a special case.\n      Inside a class (and only there) it is treated as backspace. Elsewhere\n      it marks a word boundary. Other escapes have preset maps ready to\n      or into the one we are building. We assume they have more than one\n      character in them, so set class_charcount bigger than one. */\n\n      if (c == '\\\\')\n        {\n        c = check_escape(&ptr, errorcodeptr, *brackets, options, TRUE);\n\n        if (-c == ESC_b) c = '\\b';       /* \\b is backslash in a class */\n        else if (-c == ESC_X) c = 'X';   /* \\X is literal X in a class */\n        else if (-c == ESC_Q)            /* Handle start of quoted string */\n          {\n          if (ptr[1] == '\\\\' && ptr[2] == 'E')\n            {\n            ptr += 2; /* avoid empty string */\n            }\n          else inescq = TRUE;\n          continue;\n          }\n\n        if (c < 0)\n          {\n          register const uschar *cbits = cd->cbits;\n          class_charcount += 2;     /* Greater than 1 is what matters */\n          switch (-c)\n            {\n            case ESC_d:\n            for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_digit];\n            continue;\n\n            case ESC_D:\n            for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_digit];\n            continue;\n\n            case ESC_w:\n            for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_word];\n            continue;\n\n            case ESC_W:\n            for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_word];\n            continue;\n\n            case ESC_s:\n            for (c = 0; c < 32; c++) classbits[c] |= cbits[c+cbit_space];\n            classbits[1] &= ~0x08;   /* Perl 5.004 onwards omits VT from \\s */\n            continue;\n\n            case ESC_S:\n            for (c = 0; c < 32; c++) classbits[c] |= ~cbits[c+cbit_space];\n            classbits[1] |= 0x08;    /* Perl 5.004 onwards omits VT from \\s */\n            continue;\n\n#ifdef SUPPORT_UCP\n            case ESC_p:\n            case ESC_P:\n              {\n              BOOL negated;\n              int property = get_ucp(&ptr, &negated, errorcodeptr);\n              if (property < 0) goto FAILED;\n              class_utf8 = TRUE;\n              *class_utf8data++ = ((-c == ESC_p) != negated)?\n                XCL_PROP : XCL_NOTPROP;\n              *class_utf8data++ = property;\n              class_charcount -= 2;   /* Not a < 256 character */\n              }\n            continue;\n#endif\n\n            /* Unrecognized escapes are faulted if PCRE is running in its\n            strict mode. By default, for compatibility with Perl, they are\n            treated as literals. */\n\n            default:\n            if ((options & PCRE_EXTRA) != 0)\n              {\n              *errorcodeptr = ERR7;\n              goto FAILED;\n              }\n            c = *ptr;              /* The final character */\n            class_charcount -= 2;  /* Undo the default count from above */\n            }\n          }\n\n        /* Fall through if we have a single character (c >= 0). This may be\n        > 256 in UTF-8 mode. */\n\n        }   /* End of backslash handling */\n\n      /* A single character may be followed by '-' to form a range. However,\n      Perl does not permit ']' to be the end of the range. A '-' character\n      here is treated as a literal. */\n\n      if (ptr[1] == '-' && ptr[2] != ']')\n        {\n        int d;\n        ptr += 2;\n\n#ifdef SUPPORT_UTF8\n        if (utf8)\n          {                           /* Braces are required because the */\n          GETCHARLEN(d, ptr, ptr);    /* macro generates multiple statements */\n          }\n        else\n#endif\n        d = *ptr;  /* Not UTF-8 mode */\n\n        /* The second part of a range can be a single-character escape, but\n        not any of the other escapes. Perl 5.6 treats a hyphen as a literal\n        in such circumstances. */\n\n        if (d == '\\\\')\n          {\n          const uschar *oldptr = ptr;\n          d = check_escape(&ptr, errorcodeptr, *brackets, options, TRUE);\n\n          /* \\b is backslash; \\X is literal X; any other special means the '-'\n          was literal */\n\n          if (d < 0)\n            {\n            if (d == -ESC_b) d = '\\b';\n            else if (d == -ESC_X) d = 'X'; else\n              {\n              ptr = oldptr - 2;\n              goto LONE_SINGLE_CHARACTER;  /* A few lines below */\n              }\n            }\n          }\n\n        /* The check that the two values are in the correct order happens in\n        the pre-pass. Optimize one-character ranges */\n\n        if (d == c) goto LONE_SINGLE_CHARACTER;  /* A few lines below */\n\n        /* In UTF-8 mode, if the upper limit is > 255, or > 127 for caseless\n        matching, we have to use an XCLASS with extra data items. Caseless\n        matching for characters > 127 is available only if UCP support is\n        available. */\n\n#ifdef SUPPORT_UTF8\n        if (utf8 && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127)))\n          {\n          class_utf8 = TRUE;\n\n          /* With UCP support, we can find the other case equivalents of\n          the relevant characters. There may be several ranges. Optimize how\n          they fit with the basic range. */\n\n#ifdef SUPPORT_UCP\n          if ((options & PCRE_CASELESS) != 0)\n            {\n            int occ, ocd;\n            int cc = c;\n            int origd = d;\n            while (get_othercase_range(&cc, origd, &occ, &ocd))\n              {\n              if (occ >= c && ocd <= d) continue;  /* Skip embedded ranges */\n\n              if (occ < c  && ocd >= c - 1)        /* Extend the basic range */\n                {                                  /* if there is overlap,   */\n                c = occ;                           /* noting that if occ < c */\n                continue;                          /* we can't have ocd > d  */\n                }                                  /* because a subrange is  */\n              if (ocd > d && occ <= d + 1)         /* always shorter than    */\n                {                                  /* the basic range.       */\n                d = ocd;\n                continue;\n                }\n\n              if (occ == ocd)\n                {\n                *class_utf8data++ = XCL_SINGLE;\n                }\n              else\n                {\n                *class_utf8data++ = XCL_RANGE;\n                class_utf8data += _pcre_ord2utf8(occ, class_utf8data);\n                }\n              class_utf8data += _pcre_ord2utf8(ocd, class_utf8data);\n              }\n            }\n#endif  /* SUPPORT_UCP */\n\n          /* Now record the original range, possibly modified for UCP caseless\n          overlapping ranges. */\n\n          *class_utf8data++ = XCL_RANGE;\n          class_utf8data += _pcre_ord2utf8(c, class_utf8data);\n          class_utf8data += _pcre_ord2utf8(d, class_utf8data);\n\n          /* With UCP support, we are done. Without UCP support, there is no\n          caseless matching for UTF-8 characters > 127; we can use the bit map\n          for the smaller ones. */\n\n#ifdef SUPPORT_UCP\n          continue;    /* With next character in the class */\n#else\n          if ((options & PCRE_CASELESS) == 0 || c > 127) continue;\n\n          /* Adjust upper limit and fall through to set up the map */\n\n          d = 127;\n\n#endif  /* SUPPORT_UCP */\n          }\n#endif  /* SUPPORT_UTF8 */\n\n        /* We use the bit map for all cases when not in UTF-8 mode; else\n        ranges that lie entirely within 0-127 when there is UCP support; else\n        for partial ranges without UCP support. */\n\n        for (; c <= d; c++)\n          {\n          classbits[c/8] |= (1 << (c&7));\n          if ((options & PCRE_CASELESS) != 0)\n            {\n            int uc = cd->fcc[c];           /* flip case */\n            classbits[uc/8] |= (1 << (uc&7));\n            }\n          class_charcount++;                /* in case a one-char range */\n          class_lastchar = c;\n          }\n\n        continue;   /* Go get the next char in the class */\n        }\n\n      /* Handle a lone single character - we can get here for a normal\n      non-escape char, or after \\ that introduces a single character or for an\n      apparent range that isn't. */\n\n      LONE_SINGLE_CHARACTER:\n\n      /* Handle a character that cannot go in the bit map */\n\n#ifdef SUPPORT_UTF8\n      if (utf8 && (c > 255 || ((options & PCRE_CASELESS) != 0 && c > 127)))\n        {\n        class_utf8 = TRUE;\n        *class_utf8data++ = XCL_SINGLE;\n        class_utf8data += _pcre_ord2utf8(c, class_utf8data);\n\n#ifdef SUPPORT_UCP\n        if ((options & PCRE_CASELESS) != 0)\n          {\n          int chartype;\n          int othercase;\n          if (_pcre_ucp_findchar(c, &chartype, &othercase) >= 0 &&\n               othercase > 0)\n            {\n            *class_utf8data++ = XCL_SINGLE;\n            class_utf8data += _pcre_ord2utf8(othercase, class_utf8data);\n            }\n          }\n#endif  /* SUPPORT_UCP */\n\n        }\n      else\n#endif  /* SUPPORT_UTF8 */\n\n      /* Handle a single-byte character */\n        {\n        classbits[c/8] |= (1 << (c&7));\n        if ((options & PCRE_CASELESS) != 0)\n          {\n          c = cd->fcc[c];   /* flip case */\n          classbits[c/8] |= (1 << (c&7));\n          }\n        class_charcount++;\n        class_lastchar = c;\n        }\n      }\n\n    /* Loop until ']' reached; the check for end of string happens inside the\n    loop. This \"while\" is the end of the \"do\" above. */\n\n    while ((c = *(++ptr)) != ']' || inescq);\n\n    /* If class_charcount is 1, we saw precisely one character whose value is\n    less than 256. In non-UTF-8 mode we can always optimize. In UTF-8 mode, we\n    can optimize the negative case only if there were no characters >= 128\n    because OP_NOT and the related opcodes like OP_NOTSTAR operate on\n    single-bytes only. This is an historical hangover. Maybe one day we can\n    tidy these opcodes to handle multi-byte characters.\n\n    The optimization throws away the bit map. We turn the item into a\n    1-character OP_CHAR[NC] if it's positive, or OP_NOT if it's negative. Note\n    that OP_NOT does not support multibyte characters. In the positive case, it\n    can cause firstbyte to be set. Otherwise, there can be no first char if\n    this item is first, whatever repeat count may follow. In the case of\n    reqbyte, save the previous value for reinstating. */\n\n#ifdef SUPPORT_UTF8\n    if (class_charcount == 1 &&\n          (!utf8 ||\n          (!class_utf8 && (!negate_class || class_lastchar < 128))))\n\n#else\n    if (class_charcount == 1)\n#endif\n      {\n      zeroreqbyte = reqbyte;\n\n      /* The OP_NOT opcode works on one-byte characters only. */\n\n      if (negate_class)\n        {\n        if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE;\n        zerofirstbyte = firstbyte;\n        *code++ = OP_NOT;\n        *code++ = (uschar)class_lastchar;\n        break;\n        }\n\n      /* For a single, positive character, get the value into mcbuffer, and\n      then we can handle this with the normal one-character code. */\n\n#ifdef SUPPORT_UTF8\n      if (utf8 && class_lastchar > 127)\n        mclength = _pcre_ord2utf8(class_lastchar, mcbuffer);\n      else\n#endif\n        {\n        mcbuffer[0] = (uschar)class_lastchar;\n        mclength = 1;\n        }\n      goto ONE_CHAR;\n      }       /* End of 1-char optimization */\n\n    /* The general case - not the one-char optimization. If this is the first\n    thing in the branch, there can be no first char setting, whatever the\n    repeat count. Any reqbyte setting must remain unchanged after any kind of\n    repeat. */\n\n    if (firstbyte == REQ_UNSET) firstbyte = REQ_NONE;\n    zerofirstbyte = firstbyte;\n    zeroreqbyte = reqbyte;\n\n    /* If there are characters with values > 255, we have to compile an\n    extended class, with its own opcode. If there are no characters < 256,\n    we can omit the bitmap. */\n\n#ifdef SUPPORT_UTF8\n    if (class_utf8)\n      {\n      *class_utf8data++ = XCL_END;    /* Marks the end of extra data */\n      *code++ = OP_XCLASS;\n      code += LINK_SIZE;\n      *code = negate_class? XCL_NOT : 0;\n\n      /* If the map is required, install it, and move on to the end of\n      the extra data */\n\n      if (class_charcount > 0)\n        {\n        *code++ |= XCL_MAP;\n        memcpy(code, classbits, 32);\n        code = class_utf8data;\n        }\n\n      /* If the map is not required, slide down the extra data. */\n\n      else\n        {\n        int len = class_utf8data - (code + 33);\n        memmove(code + 1, code + 33, len);\n        code += len + 1;\n        }\n\n      /* Now fill in the complete length of the item */\n\n      PUT(previous, 1, code - previous);\n      break;   /* End of class handling */\n      }\n#endif\n\n    /* If there are no characters > 255, negate the 32-byte map if necessary,\n    and copy it into the code vector. If this is the first thing in the branch,\n    there can be no first char setting, whatever the repeat count. Any reqbyte\n    setting must remain unchanged after any kind of repeat. */\n\n    if (negate_class)\n      {\n      *code++ = OP_NCLASS;\n      for (c = 0; c < 32; c++) code[c] = ~classbits[c];\n      }\n    else\n      {\n      *code++ = OP_CLASS;\n      memcpy(code, classbits, 32);\n      }\n    code += 32;\n    break;\n\n    /* Various kinds of repeat; '{' is not necessarily a quantifier, but this\n    has been tested above. */\n\n    case '{':\n    if (!is_quantifier) goto NORMAL_CHAR;\n    ptr = read_repeat_counts(ptr+1, &repeat_min, &repeat_max, errorcodeptr);\n    if (*errorcodeptr != 0) goto FAILED;\n    goto REPEAT;\n\n    case '*':\n    repeat_min = 0;\n    repeat_max = -1;\n    goto REPEAT;\n\n    case '+':\n    repeat_min = 1;\n    repeat_max = -1;\n    goto REPEAT;\n\n    case '?':\n    repeat_min = 0;\n    repeat_max = 1;\n\n    REPEAT:\n    if (previous == NULL)\n      {\n      *errorcodeptr = ERR9;\n      goto FAILED;\n      }\n\n    if (repeat_min == 0)\n      {\n      firstbyte = zerofirstbyte;    /* Adjust for zero repeat */\n      reqbyte = zeroreqbyte;        /* Ditto */\n      }\n\n    /* Remember whether this is a variable length repeat */\n\n    reqvary = (repeat_min == repeat_max)? 0 : REQ_VARY;\n\n    op_type = 0;                    /* Default single-char op codes */\n    possessive_quantifier = FALSE;  /* Default not possessive quantifier */\n\n    /* Save start of previous item, in case we have to move it up to make space\n    for an inserted OP_ONCE for the additional '+' extension. */\n\n    tempcode = previous;\n\n    /* If the next character is '+', we have a possessive quantifier. This\n    implies greediness, whatever the setting of the PCRE_UNGREEDY option.\n    If the next character is '?' this is a minimizing repeat, by default,\n    but if PCRE_UNGREEDY is set, it works the other way round. We change the\n    repeat type to the non-default. */\n\n    if (ptr[1] == '+')\n      {\n      repeat_type = 0;                  /* Force greedy */\n      possessive_quantifier = TRUE;\n      ptr++;\n      }\n    else if (ptr[1] == '?')\n      {\n      repeat_type = greedy_non_default;\n      ptr++;\n      }\n    else repeat_type = greedy_default;\n\n    /* If previous was a recursion, we need to wrap it inside brackets so that\n    it can be replicated if necessary. */\n\n    if (*previous == OP_RECURSE)\n      {\n      memmove(previous + 1 + LINK_SIZE, previous, 1 + LINK_SIZE);\n      code += 1 + LINK_SIZE;\n      *previous = OP_BRA;\n      PUT(previous, 1, code - previous);\n      *code = OP_KET;\n      PUT(code, 1, code - previous);\n      code += 1 + LINK_SIZE;\n      }\n\n    /* If previous was a character match, abolish the item and generate a\n    repeat item instead. If a char item has a minumum of more than one, ensure\n    that it is set in reqbyte - it might not be if a sequence such as x{3} is\n    the first thing in a branch because the x will have gone into firstbyte\n    instead.  */\n\n    if (*previous == OP_CHAR || *previous == OP_CHARNC)\n      {\n      /* Deal with UTF-8 characters that take up more than one byte. It's\n      easier to write this out separately than try to macrify it. Use c to\n      hold the length of the character in bytes, plus 0x80 to flag that it's a\n      length rather than a small character. */\n\n#ifdef SUPPORT_UTF8\n      if (utf8 && (code[-1] & 0x80) != 0)\n        {\n        uschar *lastchar = code - 1;\n        while((*lastchar & 0xc0) == 0x80) lastchar--;\n        c = code - lastchar;            /* Length of UTF-8 character */\n        memcpy(utf8_char, lastchar, c); /* Save the char */\n        c |= 0x80;                      /* Flag c as a length */\n        }\n      else\n#endif\n\n      /* Handle the case of a single byte - either with no UTF8 support, or\n      with UTF-8 disabled, or for a UTF-8 character < 128. */\n\n        {\n        c = code[-1];\n        if (repeat_min > 1) reqbyte = c | req_caseopt | cd->req_varyopt;\n        }\n\n      goto OUTPUT_SINGLE_REPEAT;   /* Code shared with single character types */\n      }\n\n    /* If previous was a single negated character ([^a] or similar), we use\n    one of the special opcodes, replacing it. The code is shared with single-\n    character repeats by setting opt_type to add a suitable offset into\n    repeat_type. OP_NOT is currently used only for single-byte chars. */\n\n    else if (*previous == OP_NOT)\n      {\n      op_type = OP_NOTSTAR - OP_STAR;  /* Use \"not\" opcodes */\n      c = previous[1];\n      goto OUTPUT_SINGLE_REPEAT;\n      }\n\n    /* If previous was a character type match (\\d or similar), abolish it and\n    create a suitable repeat item. The code is shared with single-character\n    repeats by setting op_type to add a suitable offset into repeat_type. Note\n    the the Unicode property types will be present only when SUPPORT_UCP is\n    defined, but we don't wrap the little bits of code here because it just\n    makes it horribly messy. */\n\n    else if (*previous < OP_EODN)\n      {\n      uschar *oldcode;\n      int prop_type;\n      op_type = OP_TYPESTAR - OP_STAR;  /* Use type opcodes */\n      c = *previous;\n\n      OUTPUT_SINGLE_REPEAT:\n      prop_type = (*previous == OP_PROP || *previous == OP_NOTPROP)?\n        previous[1] : -1;\n\n      oldcode = code;\n      code = previous;                  /* Usually overwrite previous item */\n\n      /* If the maximum is zero then the minimum must also be zero; Perl allows\n      this case, so we do too - by simply omitting the item altogether. */\n\n      if (repeat_max == 0) goto END_REPEAT;\n\n      /* All real repeats make it impossible to handle partial matching (maybe\n      one day we will be able to remove this restriction). */\n\n      if (repeat_max != 1) cd->nopartial = TRUE;\n\n      /* Combine the op_type with the repeat_type */\n\n      repeat_type += op_type;\n\n      /* A minimum of zero is handled either as the special case * or ?, or as\n      an UPTO, with the maximum given. */\n\n      if (repeat_min == 0)\n        {\n        if (repeat_max == -1) *code++ = OP_STAR + repeat_type;\n          else if (repeat_max == 1) *code++ = OP_QUERY + repeat_type;\n        else\n          {\n          *code++ = OP_UPTO + repeat_type;\n          PUT2INC(code, 0, repeat_max);\n          }\n        }\n\n      /* A repeat minimum of 1 is optimized into some special cases. If the\n      maximum is unlimited, we use OP_PLUS. Otherwise, the original item it\n      left in place and, if the maximum is greater than 1, we use OP_UPTO with\n      one less than the maximum. */\n\n      else if (repeat_min == 1)\n        {\n        if (repeat_max == -1)\n          *code++ = OP_PLUS + repeat_type;\n        else\n          {\n          code = oldcode;                 /* leave previous item in place */\n          if (repeat_max == 1) goto END_REPEAT;\n          *code++ = OP_UPTO + repeat_type;\n          PUT2INC(code, 0, repeat_max - 1);\n          }\n        }\n\n      /* The case {n,n} is just an EXACT, while the general case {n,m} is\n      handled as an EXACT followed by an UPTO. */\n\n      else\n        {\n        *code++ = OP_EXACT + op_type;  /* NB EXACT doesn't have repeat_type */\n        PUT2INC(code, 0, repeat_min);\n\n        /* If the maximum is unlimited, insert an OP_STAR. Before doing so,\n        we have to insert the character for the previous code. For a repeated\n        Unicode property match, there is an extra byte that defines the\n        required property. In UTF-8 mode, long characters have their length in\n        c, with the 0x80 bit as a flag. */\n\n        if (repeat_max < 0)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n            memcpy(code, utf8_char, c & 7);\n            code += c & 7;\n            }\n          else\n#endif\n            {\n            *code++ = (uschar)c;\n            if (prop_type >= 0) *code++ = (uschar)prop_type;\n            }\n          *code++ = OP_STAR + repeat_type;\n          }\n\n        /* Else insert an UPTO if the max is greater than the min, again\n        preceded by the character, for the previously inserted code. */\n\n        else if (repeat_max != repeat_min)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n            memcpy(code, utf8_char, c & 7);\n            code += c & 7;\n            }\n          else\n#endif\n          *code++ = (uschar)c;\n          if (prop_type >= 0) *code++ = (uschar)prop_type;\n          repeat_max -= repeat_min;\n          *code++ = OP_UPTO + repeat_type;\n          PUT2INC(code, 0, repeat_max);\n          }\n        }\n\n      /* The character or character type itself comes last in all cases. */\n\n#ifdef SUPPORT_UTF8\n      if (utf8 && c >= 128)\n        {\n        memcpy(code, utf8_char, c & 7);\n        code += c & 7;\n        }\n      else\n#endif\n      *code++ = (uschar)c;\n\n      /* For a repeated Unicode property match, there is an extra byte that\n      defines the required property. */\n\n#ifdef SUPPORT_UCP\n      if (prop_type >= 0) *code++ = prop_type;\n#endif\n      }\n\n    /* If previous was a character class or a back reference, we put the repeat\n    stuff after it, but just skip the item if the repeat was {0,0}. */\n\n    else if (*previous == OP_CLASS ||\n             *previous == OP_NCLASS ||\n#ifdef SUPPORT_UTF8\n             *previous == OP_XCLASS ||\n#endif\n             *previous == OP_REF)\n      {\n      if (repeat_max == 0)\n        {\n        code = previous;\n        goto END_REPEAT;\n        }\n\n      /* All real repeats make it impossible to handle partial matching (maybe\n      one day we will be able to remove this restriction). */\n\n      if (repeat_max != 1) cd->nopartial = TRUE;\n\n      if (repeat_min == 0 && repeat_max == -1)\n        *code++ = OP_CRSTAR + repeat_type;\n      else if (repeat_min == 1 && repeat_max == -1)\n        *code++ = OP_CRPLUS + repeat_type;\n      else if (repeat_min == 0 && repeat_max == 1)\n        *code++ = OP_CRQUERY + repeat_type;\n      else\n        {\n        *code++ = OP_CRRANGE + repeat_type;\n        PUT2INC(code, 0, repeat_min);\n        if (repeat_max == -1) repeat_max = 0;  /* 2-byte encoding for max */\n        PUT2INC(code, 0, repeat_max);\n        }\n      }\n\n    /* If previous was a bracket group, we may have to replicate it in certain\n    cases. */\n\n    else if (*previous >= OP_BRA || *previous == OP_ONCE ||\n             *previous == OP_COND)\n      {\n      register int i;\n      int ketoffset = 0;\n      int len = code - previous;\n      uschar *bralink = NULL;\n\n      /* If the maximum repeat count is unlimited, find the end of the bracket\n      by scanning through from the start, and compute the offset back to it\n      from the current code pointer. There may be an OP_OPT setting following\n      the final KET, so we can't find the end just by going back from the code\n      pointer. */\n\n      if (repeat_max == -1)\n        {\n        register uschar *ket = previous;\n        do ket += GET(ket, 1); while (*ket != OP_KET);\n        ketoffset = code - ket;\n        }\n\n      /* The case of a zero minimum is special because of the need to stick\n      OP_BRAZERO in front of it, and because the group appears once in the\n      data, whereas in other cases it appears the minimum number of times. For\n      this reason, it is simplest to treat this case separately, as otherwise\n      the code gets far too messy. There are several special subcases when the\n      minimum is zero. */\n\n      if (repeat_min == 0)\n        {\n        /* If the maximum is also zero, we just omit the group from the output\n        altogether. */\n\n        if (repeat_max == 0)\n          {\n          code = previous;\n          goto END_REPEAT;\n          }\n\n        /* If the maximum is 1 or unlimited, we just have to stick in the\n        BRAZERO and do no more at this point. However, we do need to adjust\n        any OP_RECURSE calls inside the group that refer to the group itself or\n        any internal group, because the offset is from the start of the whole\n        regex. Temporarily terminate the pattern while doing this. */\n\n        if (repeat_max <= 1)\n          {\n          *code = OP_END;\n          adjust_recurse(previous, 1, utf8, cd);\n          memmove(previous+1, previous, len);\n          code++;\n          *previous++ = OP_BRAZERO + repeat_type;\n          }\n\n        /* If the maximum is greater than 1 and limited, we have to replicate\n        in a nested fashion, sticking OP_BRAZERO before each set of brackets.\n        The first one has to be handled carefully because it's the original\n        copy, which has to be moved up. The remainder can be handled by code\n        that is common with the non-zero minimum case below. We have to\n        adjust the value or repeat_max, since one less copy is required. Once\n        again, we may have to adjust any OP_RECURSE calls inside the group. */\n\n        else\n          {\n          int offset;\n          *code = OP_END;\n          adjust_recurse(previous, 2 + LINK_SIZE, utf8, cd);\n          memmove(previous + 2 + LINK_SIZE, previous, len);\n          code += 2 + LINK_SIZE;\n          *previous++ = OP_BRAZERO + repeat_type;\n          *previous++ = OP_BRA;\n\n          /* We chain together the bracket offset fields that have to be\n          filled in later when the ends of the brackets are reached. */\n\n          offset = (bralink == NULL)? 0 : previous - bralink;\n          bralink = previous;\n          PUTINC(previous, 0, offset);\n          }\n\n        repeat_max--;\n        }\n\n      /* If the minimum is greater than zero, replicate the group as many\n      times as necessary, and adjust the maximum to the number of subsequent\n      copies that we need. If we set a first char from the group, and didn't\n      set a required char, copy the latter from the former. */\n\n      else\n        {\n        if (repeat_min > 1)\n          {\n          if (groupsetfirstbyte && reqbyte < 0) reqbyte = firstbyte;\n          for (i = 1; i < repeat_min; i++)\n            {\n            memcpy(code, previous, len);\n            code += len;\n            }\n          }\n        if (repeat_max > 0) repeat_max -= repeat_min;\n        }\n\n      /* This code is common to both the zero and non-zero minimum cases. If\n      the maximum is limited, it replicates the group in a nested fashion,\n      remembering the bracket starts on a stack. In the case of a zero minimum,\n      the first one was set up above. In all cases the repeat_max now specifies\n      the number of additional copies needed. */\n\n      if (repeat_max >= 0)\n        {\n        for (i = repeat_max - 1; i >= 0; i--)\n          {\n          *code++ = OP_BRAZERO + repeat_type;\n\n          /* All but the final copy start a new nesting, maintaining the\n          chain of brackets outstanding. */\n\n          if (i != 0)\n            {\n            int offset;\n            *code++ = OP_BRA;\n            offset = (bralink == NULL)? 0 : code - bralink;\n            bralink = code;\n            PUTINC(code, 0, offset);\n            }\n\n          memcpy(code, previous, len);\n          code += len;\n          }\n\n        /* Now chain through the pending brackets, and fill in their length\n        fields (which are holding the chain links pro tem). */\n\n        while (bralink != NULL)\n          {\n          int oldlinkoffset;\n          int offset = code - bralink + 1;\n          uschar *bra = code - offset;\n          oldlinkoffset = GET(bra, 1);\n          bralink = (oldlinkoffset == 0)? NULL : bralink - oldlinkoffset;\n          *code++ = OP_KET;\n          PUTINC(code, 0, offset);\n          PUT(bra, 1, offset);\n          }\n        }\n\n      /* If the maximum is unlimited, set a repeater in the final copy. We\n      can't just offset backwards from the current code point, because we\n      don't know if there's been an options resetting after the ket. The\n      correct offset was computed above. */\n\n      else code[-ketoffset] = OP_KETRMAX + repeat_type;\n      }\n\n    /* Else there's some kind of shambles */\n\n    else\n      {\n      *errorcodeptr = ERR11;\n      goto FAILED;\n      }\n\n    /* If the character following a repeat is '+', we wrap the entire repeated\n    item inside OP_ONCE brackets. This is just syntactic sugar, taken from\n    Sun's Java package. The repeated item starts at tempcode, not at previous,\n    which might be the first part of a string whose (former) last char we\n    repeated. However, we don't support '+' after a greediness '?'. */\n\n    if (possessive_quantifier)\n      {\n      int len = code - tempcode;\n      memmove(tempcode + 1+LINK_SIZE, tempcode, len);\n      code += 1 + LINK_SIZE;\n      len += 1 + LINK_SIZE;\n      tempcode[0] = OP_ONCE;\n      *code++ = OP_KET;\n      PUTINC(code, 0, len);\n      PUT(tempcode, 1, len);\n      }\n\n    /* In all case we no longer have a previous item. We also set the\n    \"follows varying string\" flag for subsequently encountered reqbytes if\n    it isn't already set and we have just passed a varying length item. */\n\n    END_REPEAT:\n    previous = NULL;\n    cd->req_varyopt |= reqvary;\n    break;\n\n\n    /* Start of nested bracket sub-expression, or comment or lookahead or\n    lookbehind or option setting or condition. First deal with special things\n    that can come after a bracket; all are introduced by ?, and the appearance\n    of any of them means that this is not a referencing group. They were\n    checked for validity in the first pass over the string, so we don't have to\n    check for syntax errors here.  */\n\n    case '(':\n    newoptions = options;\n    skipbytes = 0;\n\n    if (*(++ptr) == '?')\n      {\n      int set, unset;\n      int *optset;\n\n      switch (*(++ptr))\n        {\n        case '#':                 /* Comment; skip to ket */\n        ptr++;\n        while (*ptr != ')') ptr++;\n        continue;\n\n        case ':':                 /* Non-extracting bracket */\n        bravalue = OP_BRA;\n        ptr++;\n        break;\n\n        case '(':\n        bravalue = OP_COND;       /* Conditional group */\n\n        /* Condition to test for recursion */\n\n        if (ptr[1] == 'R')\n          {\n          code[1+LINK_SIZE] = OP_CREF;\n          PUT2(code, 2+LINK_SIZE, CREF_RECURSE);\n          skipbytes = 3;\n          ptr += 3;\n          }\n\n        /* Condition to test for a numbered subpattern match. We know that\n        if a digit follows ( then there will just be digits until ) because\n        the syntax was checked in the first pass. */\n\n        else if ((digitab[ptr[1]] && ctype_digit) != 0)\n          {\n          int condref;                 /* Don't amalgamate; some compilers */\n          condref = *(++ptr) - '0';    /* grumble at autoincrement in declaration */\n          while (*(++ptr) != ')') condref = condref*10 + *ptr - '0';\n          if (condref == 0)\n            {\n            *errorcodeptr = ERR35;\n            goto FAILED;\n            }\n          ptr++;\n          code[1+LINK_SIZE] = OP_CREF;\n          PUT2(code, 2+LINK_SIZE, condref);\n          skipbytes = 3;\n          }\n        /* For conditions that are assertions, we just fall through, having\n        set bravalue above. */\n        break;\n\n        case '=':                 /* Positive lookahead */\n        bravalue = OP_ASSERT;\n        ptr++;\n        break;\n\n        case '!':                 /* Negative lookahead */\n        bravalue = OP_ASSERT_NOT;\n        ptr++;\n        break;\n\n        case '<':                 /* Lookbehinds */\n        switch (*(++ptr))\n          {\n          case '=':               /* Positive lookbehind */\n          bravalue = OP_ASSERTBACK;\n          ptr++;\n          break;\n\n          case '!':               /* Negative lookbehind */\n          bravalue = OP_ASSERTBACK_NOT;\n          ptr++;\n          break;\n          }\n        break;\n\n        case '>':                 /* One-time brackets */\n        bravalue = OP_ONCE;\n        ptr++;\n        break;\n\n        case 'C':                 /* Callout - may be followed by digits; */\n        previous_callout = code;  /* Save for later completion */\n        after_manual_callout = 1; /* Skip one item before completing */\n        *code++ = OP_CALLOUT;     /* Already checked that the terminating */\n          {                       /* closing parenthesis is present. */\n          int n = 0;\n          while ((digitab[*(++ptr)] & ctype_digit) != 0)\n            n = n * 10 + *ptr - '0';\n          if (n > 255)\n            {\n            *errorcodeptr = ERR38;\n            goto FAILED;\n            }\n          *code++ = (uschar)n;\n          PUT(code, 0, ptr - cd->start_pattern + 1);  /* Pattern offset */\n          PUT(code, LINK_SIZE, 0);                    /* Default length */\n          code += 2 * LINK_SIZE;\n          }\n        previous = NULL;\n        continue;\n\n        case 'P':                 /* Named subpattern handling */\n        if (*(++ptr) == '<')      /* Definition */\n          {\n          int i, namelen;\n          uschar *slot = cd->name_table;\n          const uschar *name;     /* Don't amalgamate; some compilers */\n          name = ++ptr;           /* grumble at autoincrement in declaration */\n\n          while (*ptr++ != '>');\n          namelen = ptr - name - 1;\n\n          for (i = 0; i < cd->names_found; i++)\n            {\n            int crc = memcmp(name, slot+2, namelen);\n            if (crc == 0)\n              {\n              if (slot[2+namelen] == 0)\n                {\n                *errorcodeptr = ERR43;\n                goto FAILED;\n                }\n              crc = -1;             /* Current name is substring */\n              }\n            if (crc < 0)\n              {\n              memmove(slot + cd->name_entry_size, slot,\n                (cd->names_found - i) * cd->name_entry_size);\n              break;\n              }\n            slot += cd->name_entry_size;\n            }\n\n          PUT2(slot, 0, *brackets + 1);\n          memcpy(slot + 2, name, namelen);\n          slot[2+namelen] = 0;\n          cd->names_found++;\n          goto NUMBERED_GROUP;\n          }\n\n        if (*ptr == '=' || *ptr == '>')  /* Reference or recursion */\n          {\n          int i, namelen;\n          int type = *ptr++;\n          const uschar *name = ptr;\n          uschar *slot = cd->name_table;\n\n          while (*ptr != ')') ptr++;\n          namelen = ptr - name;\n\n          for (i = 0; i < cd->names_found; i++)\n            {\n            if (strncmp((char *)name, (char *)slot+2, namelen) == 0) break;\n            slot += cd->name_entry_size;\n            }\n          if (i >= cd->names_found)\n            {\n            *errorcodeptr = ERR15;\n            goto FAILED;\n            }\n\n          recno = GET2(slot, 0);\n\n          if (type == '>') goto HANDLE_RECURSION;  /* A few lines below */\n\n          /* Back reference */\n\n          previous = code;\n          *code++ = OP_REF;\n          PUT2INC(code, 0, recno);\n          cd->backref_map |= (recno < 32)? (1 << recno) : 1;\n          if (recno > cd->top_backref) cd->top_backref = recno;\n          continue;\n          }\n\n        /* Should never happen */\n        break;\n\n        case 'R':                 /* Pattern recursion */\n        ptr++;                    /* Same as (?0)      */\n        /* Fall through */\n\n        /* Recursion or \"subroutine\" call */\n\n        case '0': case '1': case '2': case '3': case '4':\n        case '5': case '6': case '7': case '8': case '9':\n          {\n          const uschar *called;\n          recno = 0;\n          while((digitab[*ptr] & ctype_digit) != 0)\n            recno = recno * 10 + *ptr++ - '0';\n\n          /* Come here from code above that handles a named recursion */\n\n          HANDLE_RECURSION:\n\n          previous = code;\n\n          /* Find the bracket that is being referenced. Temporarily end the\n          regex in case it doesn't exist. */\n\n          *code = OP_END;\n          called = (recno == 0)?\n            cd->start_code : find_bracket(cd->start_code, utf8, recno);\n\n          if (called == NULL)\n            {\n            *errorcodeptr = ERR15;\n            goto FAILED;\n            }\n\n          /* If the subpattern is still open, this is a recursive call. We\n          check to see if this is a left recursion that could loop for ever,\n          and diagnose that case. */\n\n          if (GET(called, 1) == 0 && could_be_empty(called, code, bcptr, utf8))\n            {\n            *errorcodeptr = ERR40;\n            goto FAILED;\n            }\n\n          /* Insert the recursion/subroutine item */\n\n          *code = OP_RECURSE;\n          PUT(code, 1, called - cd->start_code);\n          code += 1 + LINK_SIZE;\n          }\n        continue;\n\n        /* Character after (? not specially recognized */\n\n        default:                  /* Option setting */\n        set = unset = 0;\n        optset = &set;\n\n        while (*ptr != ')' && *ptr != ':')\n          {\n          switch (*ptr++)\n            {\n            case '-': optset = &unset; break;\n\n            case 'i': *optset |= PCRE_CASELESS; break;\n            case 'm': *optset |= PCRE_MULTILINE; break;\n            case 's': *optset |= PCRE_DOTALL; break;\n            case 'x': *optset |= PCRE_EXTENDED; break;\n            case 'U': *optset |= PCRE_UNGREEDY; break;\n            case 'X': *optset |= PCRE_EXTRA; break;\n            }\n          }\n\n        /* Set up the changed option bits, but don't change anything yet. */\n\n        newoptions = (options | set) & (~unset);\n\n        /* If the options ended with ')' this is not the start of a nested\n        group with option changes, so the options change at this level. Compile\n        code to change the ims options if this setting actually changes any of\n        them. We also pass the new setting back so that it can be put at the\n        start of any following branches, and when this group ends (if we are in\n        a group), a resetting item can be compiled.\n\n        Note that if this item is right at the start of the pattern, the\n        options will have been abstracted and made global, so there will be no\n        change to compile. */\n\n        if (*ptr == ')')\n          {\n          if ((options & PCRE_IMS) != (newoptions & PCRE_IMS))\n            {\n            *code++ = OP_OPT;\n            *code++ = newoptions & PCRE_IMS;\n            }\n\n          /* Change options at this level, and pass them back for use\n          in subsequent branches. Reset the greedy defaults and the case\n          value for firstbyte and reqbyte. */\n\n          *optionsptr = options = newoptions;\n          greedy_default = ((newoptions & PCRE_UNGREEDY) != 0);\n          greedy_non_default = greedy_default ^ 1;\n          req_caseopt = ((options & PCRE_CASELESS) != 0)? REQ_CASELESS : 0;\n\n          previous = NULL;       /* This item can't be repeated */\n          continue;              /* It is complete */\n          }\n\n        /* If the options ended with ':' we are heading into a nested group\n        with possible change of options. Such groups are non-capturing and are\n        not assertions of any kind. All we need to do is skip over the ':';\n        the newoptions value is handled below. */\n\n        bravalue = OP_BRA;\n        ptr++;\n        }\n      }\n\n    /* If PCRE_NO_AUTO_CAPTURE is set, all unadorned brackets become\n    non-capturing and behave like (?:...) brackets */\n\n    else if ((options & PCRE_NO_AUTO_CAPTURE) != 0)\n      {\n      bravalue = OP_BRA;\n      }\n\n    /* Else we have a referencing group; adjust the opcode. If the bracket\n    number is greater than EXTRACT_BASIC_MAX, we set the opcode one higher, and\n    arrange for the true number to follow later, in an OP_BRANUMBER item. */\n\n    else\n      {\n      NUMBERED_GROUP:\n      if (++(*brackets) > EXTRACT_BASIC_MAX)\n        {\n        bravalue = OP_BRA + EXTRACT_BASIC_MAX + 1;\n        code[1+LINK_SIZE] = OP_BRANUMBER;\n        PUT2(code, 2+LINK_SIZE, *brackets);\n        skipbytes = 3;\n        }\n      else bravalue = OP_BRA + *brackets;\n      }\n\n    /* Process nested bracketed re. Assertions may not be repeated, but other\n    kinds can be. We copy code into a non-register variable in order to be able\n    to pass its address because some compilers complain otherwise. Pass in a\n    new setting for the ims options if they have changed. */\n\n    previous = (bravalue >= OP_ONCE)? code : NULL;\n    *code = (uschar)bravalue;\n    tempcode = code;\n    tempreqvary = cd->req_varyopt;     /* Save value before bracket */\n\n    if (!compile_regex(\n         newoptions,                   /* The complete new option state */\n         options & PCRE_IMS,           /* The previous ims option state */\n         brackets,                     /* Extracting bracket count */\n         &tempcode,                    /* Where to put code (updated) */\n         &ptr,                         /* Input pointer (updated) */\n         errorcodeptr,                 /* Where to put an error message */\n         (bravalue == OP_ASSERTBACK ||\n          bravalue == OP_ASSERTBACK_NOT), /* TRUE if back assert */\n         skipbytes,                    /* Skip over OP_COND/OP_BRANUMBER */\n         &subfirstbyte,                /* For possible first char */\n         &subreqbyte,                  /* For possible last char */\n         bcptr,                        /* Current branch chain */\n         cd))                          /* Tables block */\n      goto FAILED;\n\n    /* At the end of compiling, code is still pointing to the start of the\n    group, while tempcode has been updated to point past the end of the group\n    and any option resetting that may follow it. The pattern pointer (ptr)\n    is on the bracket. */\n\n    /* If this is a conditional bracket, check that there are no more than\n    two branches in the group. */\n\n    else if (bravalue == OP_COND)\n      {\n      uschar *tc = code;\n      condcount = 0;\n\n      do {\n         condcount++;\n         tc += GET(tc,1);\n         }\n      while (*tc != OP_KET);\n\n      if (condcount > 2)\n        {\n        *errorcodeptr = ERR27;\n        goto FAILED;\n        }\n\n      /* If there is just one branch, we must not make use of its firstbyte or\n      reqbyte, because this is equivalent to an empty second branch. */\n\n      if (condcount == 1) subfirstbyte = subreqbyte = REQ_NONE;\n      }\n\n    /* Handle updating of the required and first characters. Update for normal\n    brackets of all kinds, and conditions with two branches (see code above).\n    If the bracket is followed by a quantifier with zero repeat, we have to\n    back off. Hence the definition of zeroreqbyte and zerofirstbyte outside the\n    main loop so that they can be accessed for the back off. */\n\n    zeroreqbyte = reqbyte;\n    zerofirstbyte = firstbyte;\n    groupsetfirstbyte = FALSE;\n\n    if (bravalue >= OP_BRA || bravalue == OP_ONCE || bravalue == OP_COND)\n      {\n      /* If we have not yet set a firstbyte in this branch, take it from the\n      subpattern, remembering that it was set here so that a repeat of more\n      than one can replicate it as reqbyte if necessary. If the subpattern has\n      no firstbyte, set \"none\" for the whole branch. In both cases, a zero\n      repeat forces firstbyte to \"none\". */\n\n      if (firstbyte == REQ_UNSET)\n        {\n        if (subfirstbyte >= 0)\n          {\n          firstbyte = subfirstbyte;\n          groupsetfirstbyte = TRUE;\n          }\n        else firstbyte = REQ_NONE;\n        zerofirstbyte = REQ_NONE;\n        }\n\n      /* If firstbyte was previously set, convert the subpattern's firstbyte\n      into reqbyte if there wasn't one, using the vary flag that was in\n      existence beforehand. */\n\n      else if (subfirstbyte >= 0 && subreqbyte < 0)\n        subreqbyte = subfirstbyte | tempreqvary;\n\n      /* If the subpattern set a required byte (or set a first byte that isn't\n      really the first byte - see above), set it. */\n\n      if (subreqbyte >= 0) reqbyte = subreqbyte;\n      }\n\n    /* For a forward assertion, we take the reqbyte, if set. This can be\n    helpful if the pattern that follows the assertion doesn't set a different\n    char. For example, it's useful for /(?=abcde).+/. We can't set firstbyte\n    for an assertion, however because it leads to incorrect effect for patterns\n    such as /(?=a)a.+/ when the \"real\" \"a\" would then become a reqbyte instead\n    of a firstbyte. This is overcome by a scan at the end if there's no\n    firstbyte, looking for an asserted first char. */\n\n    else if (bravalue == OP_ASSERT && subreqbyte >= 0) reqbyte = subreqbyte;\n\n    /* Now update the main code pointer to the end of the group. */\n\n    code = tempcode;\n\n    /* Error if hit end of pattern */\n\n    if (*ptr != ')')\n      {\n      *errorcodeptr = ERR14;\n      goto FAILED;\n      }\n    break;\n\n    /* Check \\ for being a real metacharacter; if not, fall through and handle\n    it as a data character at the start of a string. Escape items are checked\n    for validity in the pre-compiling pass. */\n\n    case '\\\\':\n    tempptr = ptr;\n    c = check_escape(&ptr, errorcodeptr, *brackets, options, FALSE);\n\n    /* Handle metacharacters introduced by \\. For ones like \\d, the ESC_ values\n    are arranged to be the negation of the corresponding OP_values. For the\n    back references, the values are ESC_REF plus the reference number. Only\n    back references and those types that consume a character may be repeated.\n    We can test for values between ESC_b and ESC_Z for the latter; this may\n    have to change if any new ones are ever created. */\n\n    if (c < 0)\n      {\n      if (-c == ESC_Q)            /* Handle start of quoted string */\n        {\n        if (ptr[1] == '\\\\' && ptr[2] == 'E') ptr += 2; /* avoid empty string */\n          else inescq = TRUE;\n        continue;\n        }\n\n      /* For metasequences that actually match a character, we disable the\n      setting of a first character if it hasn't already been set. */\n\n      if (firstbyte == REQ_UNSET && -c > ESC_b && -c < ESC_Z)\n        firstbyte = REQ_NONE;\n\n      /* Set values to reset to if this is followed by a zero repeat. */\n\n      zerofirstbyte = firstbyte;\n      zeroreqbyte = reqbyte;\n\n      /* Back references are handled specially */\n\n      if (-c >= ESC_REF)\n        {\n        int number = -c - ESC_REF;\n        previous = code;\n        *code++ = OP_REF;\n        PUT2INC(code, 0, number);\n        }\n\n      /* So are Unicode property matches, if supported. We know that get_ucp\n      won't fail because it was tested in the pre-pass. */\n\n#ifdef SUPPORT_UCP\n      else if (-c == ESC_P || -c == ESC_p)\n        {\n        BOOL negated;\n        int value = get_ucp(&ptr, &negated, errorcodeptr);\n        previous = code;\n        *code++ = ((-c == ESC_p) != negated)? OP_PROP : OP_NOTPROP;\n        *code++ = value;\n        }\n#endif\n\n      /* For the rest, we can obtain the OP value by negating the escape\n      value */\n\n      else\n        {\n        previous = (-c > ESC_b && -c < ESC_Z)? code : NULL;\n        *code++ = -c;\n        }\n      continue;\n      }\n\n    /* We have a data character whose value is in c. In UTF-8 mode it may have\n    a value > 127. We set its representation in the length/buffer, and then\n    handle it as a data character. */\n\n#ifdef SUPPORT_UTF8\n    if (utf8 && c > 127)\n      mclength = _pcre_ord2utf8(c, mcbuffer);\n    else\n#endif\n\n     {\n     mcbuffer[0] = (uschar)c;\n     mclength = 1;\n     }\n\n    goto ONE_CHAR;\n\n    /* Handle a literal character. It is guaranteed not to be whitespace or #\n    when the extended flag is set. If we are in UTF-8 mode, it may be a\n    multi-byte literal character. */\n\n    default:\n    NORMAL_CHAR:\n    mclength = 1;\n    mcbuffer[0] = (uschar)c;\n\n#ifdef SUPPORT_UTF8\n    if (utf8 && (c & 0xc0) == 0xc0)\n      {\n      while ((ptr[1] & 0xc0) == 0x80)\n        mcbuffer[mclength++] = *(++ptr);\n      }\n#endif\n\n    /* At this point we have the character's bytes in mcbuffer, and the length\n    in mclength. When not in UTF-8 mode, the length is always 1. */\n\n    ONE_CHAR:\n    previous = code;\n    *code++ = ((options & PCRE_CASELESS) != 0)? OP_CHARNC : OP_CHAR;\n    for (c = 0; c < mclength; c++) *code++ = mcbuffer[c];\n\n    /* Set the first and required bytes appropriately. If no previous first\n    byte, set it from this character, but revert to none on a zero repeat.\n    Otherwise, leave the firstbyte value alone, and don't change it on a zero\n    repeat. */\n\n    if (firstbyte == REQ_UNSET)\n      {\n      zerofirstbyte = REQ_NONE;\n      zeroreqbyte = reqbyte;\n\n      /* If the character is more than one byte long, we can set firstbyte\n      only if it is not to be matched caselessly. */\n\n      if (mclength == 1 || req_caseopt == 0)\n        {\n        firstbyte = mcbuffer[0] | req_caseopt;\n        if (mclength != 1) reqbyte = code[-1] | cd->req_varyopt;\n        }\n      else firstbyte = reqbyte = REQ_NONE;\n      }\n\n    /* firstbyte was previously set; we can set reqbyte only the length is\n    1 or the matching is caseful. */\n\n    else\n      {\n      zerofirstbyte = firstbyte;\n      zeroreqbyte = reqbyte;\n      if (mclength == 1 || req_caseopt == 0)\n        reqbyte = code[-1] | req_caseopt | cd->req_varyopt;\n      }\n\n    break;            /* End of literal character handling */\n    }\n  }                   /* end of big loop */\n\n/* Control never reaches here by falling through, only by a goto for all the\nerror states. Pass back the position in the pattern so that it can be displayed\nto the user for diagnosing the error. */\n\nFAILED:\n*ptrptr = ptr;\nreturn FALSE;\n}\n\n\n\n\n/*************************************************\n*     Compile sequence of alternatives           *\n*************************************************/\n\n/* On entry, ptr is pointing past the bracket character, but on return\nit points to the closing bracket, or vertical bar, or end of string.\nThe code variable is pointing at the byte into which the BRA operator has been\nstored. If the ims options are changed at the start (for a (?ims: group) or\nduring any branch, we need to insert an OP_OPT item at the start of every\nfollowing branch to ensure they get set correctly at run time, and also pass\nthe new options into every subsequent branch compile.\n\nArgument:\n  options        option bits, including any changes for this subpattern\n  oldims         previous settings of ims option bits\n  brackets       -> int containing the number of extracting brackets used\n  codeptr        -> the address of the current code pointer\n  ptrptr         -> the address of the current pattern pointer\n  errorcodeptr   -> pointer to error code variable\n  lookbehind     TRUE if this is a lookbehind assertion\n  skipbytes      skip this many bytes at start (for OP_COND, OP_BRANUMBER)\n  firstbyteptr   place to put the first required character, or a negative number\n  reqbyteptr     place to put the last required character, or a negative number\n  bcptr          pointer to the chain of currently open branches\n  cd             points to the data block with tables pointers etc.\n\nReturns:      TRUE on success\n*/\n\nstatic BOOL\ncompile_regex(int options, int oldims, int *brackets, uschar **codeptr,\n  const uschar **ptrptr, int *errorcodeptr, BOOL lookbehind, int skipbytes,\n  int *firstbyteptr, int *reqbyteptr, branch_chain *bcptr, compile_data *cd)\n{\nconst uschar *ptr = *ptrptr;\nuschar *code = *codeptr;\nuschar *last_branch = code;\nuschar *start_bracket = code;\nuschar *reverse_count = NULL;\nint firstbyte, reqbyte;\nint branchfirstbyte, branchreqbyte;\nbranch_chain bc;\n\nbc.outer = bcptr;\nbc.current = code;\n\nfirstbyte = reqbyte = REQ_UNSET;\n\n/* Offset is set zero to mark that this bracket is still open */\n\nPUT(code, 1, 0);\ncode += 1 + LINK_SIZE + skipbytes;\n\n/* Loop for each alternative branch */\n\nfor (;;)\n  {\n  /* Handle a change of ims options at the start of the branch */\n\n  if ((options & PCRE_IMS) != oldims)\n    {\n    *code++ = OP_OPT;\n    *code++ = options & PCRE_IMS;\n    }\n\n  /* Set up dummy OP_REVERSE if lookbehind assertion */\n\n  if (lookbehind)\n    {\n    *code++ = OP_REVERSE;\n    reverse_count = code;\n    PUTINC(code, 0, 0);\n    }\n\n  /* Now compile the branch */\n\n  if (!compile_branch(&options, brackets, &code, &ptr, errorcodeptr,\n        &branchfirstbyte, &branchreqbyte, &bc, cd))\n    {\n    *ptrptr = ptr;\n    return FALSE;\n    }\n\n  /* If this is the first branch, the firstbyte and reqbyte values for the\n  branch become the values for the regex. */\n\n  if (*last_branch != OP_ALT)\n    {\n    firstbyte = branchfirstbyte;\n    reqbyte = branchreqbyte;\n    }\n\n  /* If this is not the first branch, the first char and reqbyte have to\n  match the values from all the previous branches, except that if the previous\n  value for reqbyte didn't have REQ_VARY set, it can still match, and we set\n  REQ_VARY for the regex. */\n\n  else\n    {\n    /* If we previously had a firstbyte, but it doesn't match the new branch,\n    we have to abandon the firstbyte for the regex, but if there was previously\n    no reqbyte, it takes on the value of the old firstbyte. */\n\n    if (firstbyte >= 0 && firstbyte != branchfirstbyte)\n      {\n      if (reqbyte < 0) reqbyte = firstbyte;\n      firstbyte = REQ_NONE;\n      }\n\n    /* If we (now or from before) have no firstbyte, a firstbyte from the\n    branch becomes a reqbyte if there isn't a branch reqbyte. */\n\n    if (firstbyte < 0 && branchfirstbyte >= 0 && branchreqbyte < 0)\n        branchreqbyte = branchfirstbyte;\n\n    /* Now ensure that the reqbytes match */\n\n    if ((reqbyte & ~REQ_VARY) != (branchreqbyte & ~REQ_VARY))\n      reqbyte = REQ_NONE;\n    else reqbyte |= branchreqbyte;   /* To \"or\" REQ_VARY */\n    }\n\n  /* If lookbehind, check that this branch matches a fixed-length string,\n  and put the length into the OP_REVERSE item. Temporarily mark the end of\n  the branch with OP_END. */\n\n  if (lookbehind)\n    {\n    int length;\n    *code = OP_END;\n    length = find_fixedlength(last_branch, options);\n    DPRINTF((\"fixed length = %d\\n\", length));\n    if (length < 0)\n      {\n      *errorcodeptr = (length == -2)? ERR36 : ERR25;\n      *ptrptr = ptr;\n      return FALSE;\n      }\n    PUT(reverse_count, 0, length);\n    }\n\n  /* Reached end of expression, either ')' or end of pattern. Go back through\n  the alternative branches and reverse the chain of offsets, with the field in\n  the BRA item now becoming an offset to the first alternative. If there are\n  no alternatives, it points to the end of the group. The length in the\n  terminating ket is always the length of the whole bracketed item. If any of\n  the ims options were changed inside the group, compile a resetting op-code\n  following, except at the very end of the pattern. Return leaving the pointer\n  at the terminating char. */\n\n  if (*ptr != '|')\n    {\n    int length = code - last_branch;\n    do\n      {\n      int prev_length = GET(last_branch, 1);\n      PUT(last_branch, 1, length);\n      length = prev_length;\n      last_branch -= length;\n      }\n    while (length > 0);\n\n    /* Fill in the ket */\n\n    *code = OP_KET;\n    PUT(code, 1, code - start_bracket);\n    code += 1 + LINK_SIZE;\n\n    /* Resetting option if needed */\n\n    if ((options & PCRE_IMS) != oldims && *ptr == ')')\n      {\n      *code++ = OP_OPT;\n      *code++ = (uschar)oldims;\n      }\n\n    /* Set values to pass back */\n\n    *codeptr = code;\n    *ptrptr = ptr;\n    *firstbyteptr = firstbyte;\n    *reqbyteptr = reqbyte;\n    return TRUE;\n    }\n\n  /* Another branch follows; insert an \"or\" node. Its length field points back\n  to the previous branch while the bracket remains open. At the end the chain\n  is reversed. It's done like this so that the start of the bracket has a\n  zero offset until it is closed, making it possible to detect recursion. */\n\n  *code = OP_ALT;\n  PUT(code, 1, code - last_branch);\n  bc.current = last_branch = code;\n  code += 1 + LINK_SIZE;\n  ptr++;\n  }\n/* Control never reaches here */\n}\n\n\n\n\n/*************************************************\n*          Check for anchored expression         *\n*************************************************/\n\n/* Try to find out if this is an anchored regular expression. Consider each\nalternative branch. If they all start with OP_SOD or OP_CIRC, or with a bracket\nall of whose alternatives start with OP_SOD or OP_CIRC (recurse ad lib), then\nit's anchored. However, if this is a multiline pattern, then only OP_SOD\ncounts, since OP_CIRC can match in the middle.\n\nWe can also consider a regex to be anchored if OP_SOM starts all its branches.\nThis is the code for \\G, which means \"match at start of match position, taking\ninto account the match offset\".\n\nA branch is also implicitly anchored if it starts with .* and DOTALL is set,\nbecause that will try the rest of the pattern at all possible matching points,\nso there is no point trying again.... er ....\n\n.... except when the .* appears inside capturing parentheses, and there is a\nsubsequent back reference to those parentheses. We haven't enough information\nto catch that case precisely.\n\nAt first, the best we could do was to detect when .* was in capturing brackets\nand the highest back reference was greater than or equal to that level.\nHowever, by keeping a bitmap of the first 31 back references, we can catch some\nof the more common cases more precisely.\n\nArguments:\n  code           points to start of expression (the bracket)\n  options        points to the options setting\n  bracket_map    a bitmap of which brackets we are inside while testing; this\n                  handles up to substring 31; after that we just have to take\n                  the less precise approach\n  backref_map    the back reference bitmap\n\nReturns:     TRUE or FALSE\n*/\n\nstatic BOOL\nis_anchored(register const uschar *code, int *options, unsigned int bracket_map,\n  unsigned int backref_map)\n{\ndo {\n   const uschar *scode =\n     first_significant_code(code + 1+LINK_SIZE, options, PCRE_MULTILINE, FALSE);\n   register int op = *scode;\n\n   /* Capturing brackets */\n\n   if (op > OP_BRA)\n     {\n     int new_map;\n     op -= OP_BRA;\n     if (op > EXTRACT_BASIC_MAX) op = GET2(scode, 2+LINK_SIZE);\n     new_map = bracket_map | ((op < 32)? (1 << op) : 1);\n     if (!is_anchored(scode, options, new_map, backref_map)) return FALSE;\n     }\n\n   /* Other brackets */\n\n   else if (op == OP_BRA || op == OP_ASSERT || op == OP_ONCE || op == OP_COND)\n     {\n     if (!is_anchored(scode, options, bracket_map, backref_map)) return FALSE;\n     }\n\n   /* .* is not anchored unless DOTALL is set and it isn't in brackets that\n   are or may be referenced. */\n\n   else if ((op == OP_TYPESTAR || op == OP_TYPEMINSTAR) &&\n            (*options & PCRE_DOTALL) != 0)\n     {\n     if (scode[1] != OP_ANY || (bracket_map & backref_map) != 0) return FALSE;\n     }\n\n   /* Check for explicit anchoring */\n\n   else if (op != OP_SOD && op != OP_SOM &&\n           ((*options & PCRE_MULTILINE) != 0 || op != OP_CIRC))\n     return FALSE;\n   code += GET(code, 1);\n   }\nwhile (*code == OP_ALT);   /* Loop for each alternative */\nreturn TRUE;\n}\n\n\n\n/*************************************************\n*         Check for starting with ^ or .*        *\n*************************************************/\n\n/* This is called to find out if every branch starts with ^ or .* so that\n\"first char\" processing can be done to speed things up in multiline\nmatching and for non-DOTALL patterns that start with .* (which must start at\nthe beginning or after \\n). As in the case of is_anchored() (see above), we\nhave to take account of back references to capturing brackets that contain .*\nbecause in that case we can't make the assumption.\n\nArguments:\n  code           points to start of expression (the bracket)\n  bracket_map    a bitmap of which brackets we are inside while testing; this\n                  handles up to substring 31; after that we just have to take\n                  the less precise approach\n  backref_map    the back reference bitmap\n\nReturns:         TRUE or FALSE\n*/\n\nstatic BOOL\nis_startline(const uschar *code, unsigned int bracket_map,\n  unsigned int backref_map)\n{\ndo {\n   const uschar *scode = first_significant_code(code + 1+LINK_SIZE, NULL, 0,\n     FALSE);\n   register int op = *scode;\n\n   /* Capturing brackets */\n\n   if (op > OP_BRA)\n     {\n     int new_map;\n     op -= OP_BRA;\n     if (op > EXTRACT_BASIC_MAX) op = GET2(scode, 2+LINK_SIZE);\n     new_map = bracket_map | ((op < 32)? (1 << op) : 1);\n     if (!is_startline(scode, new_map, backref_map)) return FALSE;\n     }\n\n   /* Other brackets */\n\n   else if (op == OP_BRA || op == OP_ASSERT || op == OP_ONCE || op == OP_COND)\n     { if (!is_startline(scode, bracket_map, backref_map)) return FALSE; }\n\n   /* .* means \"start at start or after \\n\" if it isn't in brackets that\n   may be referenced. */\n\n   else if (op == OP_TYPESTAR || op == OP_TYPEMINSTAR)\n     {\n     if (scode[1] != OP_ANY || (bracket_map & backref_map) != 0) return FALSE;\n     }\n\n   /* Check for explicit circumflex */\n\n   else if (op != OP_CIRC) return FALSE;\n\n   /* Move on to the next alternative */\n\n   code += GET(code, 1);\n   }\nwhile (*code == OP_ALT);  /* Loop for each alternative */\nreturn TRUE;\n}\n\n\n\n/*************************************************\n*       Check for asserted fixed first char      *\n*************************************************/\n\n/* During compilation, the \"first char\" settings from forward assertions are\ndiscarded, because they can cause conflicts with actual literals that follow.\nHowever, if we end up without a first char setting for an unanchored pattern,\nit is worth scanning the regex to see if there is an initial asserted first\nchar. If all branches start with the same asserted char, or with a bracket all\nof whose alternatives start with the same asserted char (recurse ad lib), then\nwe return that char, otherwise -1.\n\nArguments:\n  code       points to start of expression (the bracket)\n  options    pointer to the options (used to check casing changes)\n  inassert   TRUE if in an assertion\n\nReturns:     -1 or the fixed first char\n*/\n\nstatic int\nfind_firstassertedchar(const uschar *code, int *options, BOOL inassert)\n{\nregister int c = -1;\ndo {\n   int d;\n   const uschar *scode =\n     first_significant_code(code + 1+LINK_SIZE, options, PCRE_CASELESS, TRUE);\n   register int op = *scode;\n\n   if (op >= OP_BRA) op = OP_BRA;\n\n   switch(op)\n     {\n     default:\n     return -1;\n\n     case OP_BRA:\n     case OP_ASSERT:\n     case OP_ONCE:\n     case OP_COND:\n     if ((d = find_firstassertedchar(scode, options, op == OP_ASSERT)) < 0)\n       return -1;\n     if (c < 0) c = d; else if (c != d) return -1;\n     break;\n\n     case OP_EXACT:       /* Fall through */\n     scode += 2;\n\n     case OP_CHAR:\n     case OP_CHARNC:\n     case OP_PLUS:\n     case OP_MINPLUS:\n     if (!inassert) return -1;\n     if (c < 0)\n       {\n       c = scode[1];\n       if ((*options & PCRE_CASELESS) != 0) c |= REQ_CASELESS;\n       }\n     else if (c != scode[1]) return -1;\n     break;\n     }\n\n   code += GET(code, 1);\n   }\nwhile (*code == OP_ALT);\nreturn c;\n}\n\n\n\n/*************************************************\n*        Compile a Regular Expression            *\n*************************************************/\n\n/* This function takes a string and returns a pointer to a block of store\nholding a compiled version of the expression. The original API for this\nfunction had no error code return variable; it is retained for backwards\ncompatibility. The new function is given a new name.\n\nArguments:\n  pattern       the regular expression\n  options       various option bits\n  errorcodeptr  pointer to error code variable (pcre_compile2() only)\n                  can be NULL if you don't want a code value\n  errorptr      pointer to pointer to error text\n  erroroffset   ptr offset in pattern where error was detected\n  tables        pointer to character tables or NULL\n\nReturns:        pointer to compiled data block, or NULL on error,\n                with errorptr and erroroffset set\n*/\n\nEXPORT pcre *\npcre_compile(const char *pattern, int options, const char **errorptr,\n  int *erroroffset, const unsigned char *tables)\n{\nreturn pcre_compile2(pattern, options, NULL, errorptr, erroroffset, tables);\n}\n\n\nEXPORT pcre *\npcre_compile2(const char *pattern, int options, int *errorcodeptr,\n  const char **errorptr, int *erroroffset, const unsigned char *tables)\n{\nreal_pcre *re;\nint length = 1 + LINK_SIZE;      /* For initial BRA plus length */\nint c, firstbyte, reqbyte;\nint bracount = 0;\nint branch_extra = 0;\nint branch_newextra;\nint item_count = -1;\nint name_count = 0;\nint max_name_size = 0;\nint lastitemlength = 0;\nint errorcode = 0;\n#ifdef SUPPORT_UTF8\nBOOL utf8;\nBOOL class_utf8;\n#endif\nBOOL inescq = FALSE;\nunsigned int brastackptr = 0;\nsize_t size;\nuschar *code;\nconst uschar *codestart;\nconst uschar *ptr;\ncompile_data compile_block;\nint brastack[BRASTACK_SIZE];\nuschar bralenstack[BRASTACK_SIZE];\n\n/* We can't pass back an error message if errorptr is NULL; I guess the best we\ncan do is just return NULL, but we can set a code value if there is a code\npointer. */\n\nif (errorptr == NULL)\n  {\n  if (errorcodeptr != NULL) *errorcodeptr = 99;\n  return NULL;\n  }\n\n*errorptr = NULL;\nif (errorcodeptr != NULL) *errorcodeptr = ERR0;\n\n/* However, we can give a message for this error */\n\nif (erroroffset == NULL)\n  {\n  errorcode = ERR16;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n\n*erroroffset = 0;\n\n/* Can't support UTF8 unless PCRE has been compiled to include the code. */\n\n#ifdef SUPPORT_UTF8\nutf8 = (options & PCRE_UTF8) != 0;\nif (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0 &&\n     (*erroroffset = _pcre_valid_utf8((uschar *)pattern, -1)) >= 0)\n  {\n  errorcode = ERR44;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n#else\nif ((options & PCRE_UTF8) != 0)\n  {\n  errorcode = ERR32;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n#endif\n\nif ((options & ~PUBLIC_OPTIONS) != 0)\n  {\n  errorcode = ERR17;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n\n/* Set up pointers to the individual character tables */\n\nif (tables == NULL) tables = _pcre_default_tables;\ncompile_block.lcc = tables + lcc_offset;\ncompile_block.fcc = tables + fcc_offset;\ncompile_block.cbits = tables + cbits_offset;\ncompile_block.ctypes = tables + ctypes_offset;\n\n/* Maximum back reference and backref bitmap. This is updated for numeric\nreferences during the first pass, but for named references during the actual\ncompile pass. The bitmap records up to 31 back references to help in deciding\nwhether (.*) can be treated as anchored or not. */\n\ncompile_block.top_backref = 0;\ncompile_block.backref_map = 0;\n\n/* Reflect pattern for debugging output */\n\nDPRINTF((\"------------------------------------------------------------------\\n\"));\nDPRINTF((\"%s\\n\", pattern));\n\n/* The first thing to do is to make a pass over the pattern to compute the\namount of store required to hold the compiled code. This does not have to be\nperfect as long as errors are overestimates. At the same time we can detect any\nflag settings right at the start, and extract them. Make an attempt to correct\nfor any counted white space if an \"extended\" flag setting appears late in the\npattern. We can't be so clever for #-comments. */\n\nptr = (const uschar *)(pattern - 1);\nwhile ((c = *(++ptr)) != 0)\n  {\n  int min, max;\n  int class_optcount;\n  int bracket_length;\n  int duplength;\n\n  /* If we are inside a \\Q...\\E sequence, all chars are literal */\n\n  if (inescq)\n    {\n    if ((options & PCRE_AUTO_CALLOUT) != 0) length += 2 + 2*LINK_SIZE;\n    goto NORMAL_CHAR;\n    }\n\n  /* Otherwise, first check for ignored whitespace and comments */\n\n  if ((options & PCRE_EXTENDED) != 0)\n    {\n    if ((compile_block.ctypes[c] & ctype_space) != 0) continue;\n    if (c == '#')\n      {\n      /* The space before the ; is to avoid a warning on a silly compiler\n      on the Macintosh. */\n      while ((c = *(++ptr)) != 0 && c != NEWLINE) ;\n      if (c == 0) break;\n      continue;\n      }\n    }\n\n  item_count++;    /* Is zero for the first non-comment item */\n\n  /* Allow space for auto callout before every item except quantifiers. */\n\n  if ((options & PCRE_AUTO_CALLOUT) != 0 &&\n       c != '*' && c != '+' && c != '?' &&\n       (c != '{' || !is_counted_repeat(ptr + 1)))\n    length += 2 + 2*LINK_SIZE;\n\n  switch(c)\n    {\n    /* A backslashed item may be an escaped data character or it may be a\n    character type. */\n\n    case '\\\\':\n    c = check_escape(&ptr, &errorcode, bracount, options, FALSE);\n    if (errorcode != 0) goto PCRE_ERROR_RETURN;\n\n    lastitemlength = 1;     /* Default length of last item for repeats */\n\n    if (c >= 0)             /* Data character */\n      {\n      length += 2;          /* For a one-byte character */\n\n#ifdef SUPPORT_UTF8\n      if (utf8 && c > 127)\n        {\n        int i;\n        for (i = 0; i < _pcre_utf8_table1_size; i++)\n          if (c <= _pcre_utf8_table1[i]) break;\n        length += i;\n        lastitemlength += i;\n        }\n#endif\n\n      continue;\n      }\n\n    /* If \\Q, enter \"literal\" mode */\n\n    if (-c == ESC_Q)\n      {\n      inescq = TRUE;\n      continue;\n      }\n\n    /* \\X is supported only if Unicode property support is compiled */\n\n#ifndef SUPPORT_UCP\n    if (-c == ESC_X)\n      {\n      errorcode = ERR45;\n      goto PCRE_ERROR_RETURN;\n      }\n#endif\n\n    /* \\P and \\p are for Unicode properties, but only when the support has\n    been compiled. Each item needs 2 bytes. */\n\n    else if (-c == ESC_P || -c == ESC_p)\n      {\n#ifdef SUPPORT_UCP\n      BOOL negated;\n      length += 2;\n      lastitemlength = 2;\n      if (get_ucp(&ptr, &negated, &errorcode) < 0) goto PCRE_ERROR_RETURN;\n      continue;\n#else\n      errorcode = ERR45;\n      goto PCRE_ERROR_RETURN;\n#endif\n      }\n\n    /* Other escapes need one byte */\n\n    length++;\n\n    /* A back reference needs an additional 2 bytes, plus either one or 5\n    bytes for a repeat. We also need to keep the value of the highest\n    back reference. */\n\n    if (c <= -ESC_REF)\n      {\n      int refnum = -c - ESC_REF;\n      compile_block.backref_map |= (refnum < 32)? (1 << refnum) : 1;\n      if (refnum > compile_block.top_backref)\n        compile_block.top_backref = refnum;\n      length += 2;   /* For single back reference */\n      if (ptr[1] == '{' && is_counted_repeat(ptr+2))\n        {\n        ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode);\n        if (errorcode != 0) goto PCRE_ERROR_RETURN;\n        if ((min == 0 && (max == 1 || max == -1)) ||\n          (min == 1 && max == -1))\n            length++;\n        else length += 5;\n        if (ptr[1] == '?') ptr++;\n        }\n      }\n    continue;\n\n    case '^':     /* Single-byte metacharacters */\n    case '.':\n    case '$':\n    length++;\n    lastitemlength = 1;\n    continue;\n\n    case '*':            /* These repeats won't be after brackets; */\n    case '+':            /* those are handled separately */\n    case '?':\n    length++;\n    goto POSESSIVE;      /* A few lines below */\n\n    /* This covers the cases of braced repeats after a single char, metachar,\n    class, or back reference. */\n\n    case '{':\n    if (!is_counted_repeat(ptr+1)) goto NORMAL_CHAR;\n    ptr = read_repeat_counts(ptr+1, &min, &max, &errorcode);\n    if (errorcode != 0) goto PCRE_ERROR_RETURN;\n\n    /* These special cases just insert one extra opcode */\n\n    if ((min == 0 && (max == 1 || max == -1)) ||\n      (min == 1 && max == -1))\n        length++;\n\n    /* These cases might insert additional copies of a preceding character. */\n\n    else\n      {\n      if (min != 1)\n        {\n        length -= lastitemlength;   /* Uncount the original char or metachar */\n        if (min > 0) length += 3 + lastitemlength;\n        }\n      length += lastitemlength + ((max > 0)? 3 : 1);\n      }\n\n    if (ptr[1] == '?') ptr++;      /* Needs no extra length */\n\n    POSESSIVE:                     /* Test for possessive quantifier */\n    if (ptr[1] == '+')\n      {\n      ptr++;\n      length += 2 + 2*LINK_SIZE;   /* Allow for atomic brackets */\n      }\n    continue;\n\n    /* An alternation contains an offset to the next branch or ket. If any ims\n    options changed in the previous branch(es), and/or if we are in a\n    lookbehind assertion, extra space will be needed at the start of the\n    branch. This is handled by branch_extra. */\n\n    case '|':\n    length += 1 + LINK_SIZE + branch_extra;\n    continue;\n\n    /* A character class uses 33 characters provided that all the character\n    values are less than 256. Otherwise, it uses a bit map for low valued\n    characters, and individual items for others. Don't worry about character\n    types that aren't allowed in classes - they'll get picked up during the\n    compile. A character class that contains only one single-byte character\n    uses 2 or 3 bytes, depending on whether it is negated or not. Notice this\n    where we can. (In UTF-8 mode we can do this only for chars < 128.) */\n\n    case '[':\n    if (*(++ptr) == '^')\n      {\n      class_optcount = 10;  /* Greater than one */\n      ptr++;\n      }\n    else class_optcount = 0;\n\n#ifdef SUPPORT_UTF8\n    class_utf8 = FALSE;\n#endif\n\n    /* Written as a \"do\" so that an initial ']' is taken as data */\n\n    if (*ptr != 0) do\n      {\n      /* Inside \\Q...\\E everything is literal except \\E */\n\n      if (inescq)\n        {\n        if (*ptr != '\\\\' || ptr[1] != 'E') goto GET_ONE_CHARACTER;\n        inescq = FALSE;\n        ptr += 1;\n        continue;\n        }\n\n      /* Outside \\Q...\\E, check for escapes */\n\n      if (*ptr == '\\\\')\n        {\n        c = check_escape(&ptr, &errorcode, bracount, options, TRUE);\n        if (errorcode != 0) goto PCRE_ERROR_RETURN;\n\n        /* \\b is backspace inside a class; \\X is literal */\n\n        if (-c == ESC_b) c = '\\b';\n        else if (-c == ESC_X) c = 'X';\n\n        /* \\Q enters quoting mode */\n\n        else if (-c == ESC_Q)\n          {\n          inescq = TRUE;\n          continue;\n          }\n\n        /* Handle escapes that turn into characters */\n\n        if (c >= 0) goto NON_SPECIAL_CHARACTER;\n\n        /* Escapes that are meta-things. The normal ones just affect the\n        bit map, but Unicode properties require an XCLASS extended item. */\n\n        else\n          {\n          class_optcount = 10;         /* \\d, \\s etc; make sure > 1 */\n#ifdef SUPPORT_UTF8\n          if (-c == ESC_p || -c == ESC_P)\n            {\n            if (!class_utf8)\n              {\n              class_utf8 = TRUE;\n              length += LINK_SIZE + 2;\n              }\n            length += 2;\n            }\n#endif\n          }\n        }\n\n      /* Check the syntax for POSIX stuff. The bits we actually handle are\n      checked during the real compile phase. */\n\n      else if (*ptr == '[' && check_posix_syntax(ptr, &ptr, &compile_block))\n        {\n        ptr++;\n        class_optcount = 10;    /* Make sure > 1 */\n        }\n\n      /* Anything else increments the possible optimization count. We have to\n      detect ranges here so that we can compute the number of extra ranges for\n      caseless wide characters when UCP support is available. If there are wide\n      characters, we are going to have to use an XCLASS, even for single\n      characters. */\n\n      else\n        {\n        int d;\n\n        GET_ONE_CHARACTER:\n\n#ifdef SUPPORT_UTF8\n        if (utf8)\n          {\n          int extra = 0;\n          GETCHARLEN(c, ptr, extra);\n          ptr += extra;\n          }\n        else c = *ptr;\n#else\n        c = *ptr;\n#endif\n\n        /* Come here from handling \\ above when it escapes to a char value */\n\n        NON_SPECIAL_CHARACTER:\n        class_optcount++;\n\n        d = -1;\n        if (ptr[1] == '-')\n          {\n          uschar const *hyptr = ptr++;\n          if (ptr[1] == '\\\\')\n            {\n            ptr++;\n            d = check_escape(&ptr, &errorcode, bracount, options, TRUE);\n            if (errorcode != 0) goto PCRE_ERROR_RETURN;\n            if (-d == ESC_b) d = '\\b';        /* backspace */\n            else if (-d == ESC_X) d = 'X';    /* literal X in a class */\n            }\n          else if (ptr[1] != 0 && ptr[1] != ']')\n            {\n            ptr++;\n#ifdef SUPPORT_UTF8\n            if (utf8)\n              {\n              int extra = 0;\n              GETCHARLEN(d, ptr, extra);\n              ptr += extra;\n              }\n            else\n#endif\n            d = *ptr;\n            }\n          if (d < 0) ptr = hyptr;      /* go back to hyphen as data */\n          }\n\n        /* If d >= 0 we have a range. In UTF-8 mode, if the end is > 255, or >\n        127 for caseless matching, we will need to use an XCLASS. */\n\n        if (d >= 0)\n          {\n          class_optcount = 10;     /* Ensure > 1 */\n          if (d < c)\n            {\n            errorcode = ERR8;\n            goto PCRE_ERROR_RETURN;\n            }\n\n#ifdef SUPPORT_UTF8\n          if (utf8 && (d > 255 || ((options & PCRE_CASELESS) != 0 && d > 127)))\n            {\n            uschar buffer[6];\n            if (!class_utf8)         /* Allow for XCLASS overhead */\n              {\n              class_utf8 = TRUE;\n              length += LINK_SIZE + 2;\n              }\n\n#ifdef SUPPORT_UCP\n            /* If we have UCP support, find out how many extra ranges are\n            needed to map the other case of characters within this range. We\n            have to mimic the range optimization here, because extending the\n            range upwards might push d over a boundary that makes is use\n            another byte in the UTF-8 representation. */\n\n            if ((options & PCRE_CASELESS) != 0)\n              {\n              int occ, ocd;\n              int cc = c;\n              int origd = d;\n              while (get_othercase_range(&cc, origd, &occ, &ocd))\n                {\n                if (occ >= c && ocd <= d) continue;   /* Skip embedded */\n\n                if (occ < c  && ocd >= c - 1)  /* Extend the basic range */\n                  {                            /* if there is overlap,   */\n                  c = occ;                     /* noting that if occ < c */\n                  continue;                    /* we can't have ocd > d  */\n                  }                            /* because a subrange is  */\n                if (ocd > d && occ <= d + 1)   /* always shorter than    */\n                  {                            /* the basic range.       */\n                  d = ocd;\n                  continue;\n                  }\n\n                /* An extra item is needed */\n\n                length += 1 + _pcre_ord2utf8(occ, buffer) +\n                  ((occ == ocd)? 0 : _pcre_ord2utf8(ocd, buffer));\n                }\n              }\n#endif  /* SUPPORT_UCP */\n\n            /* The length of the (possibly extended) range */\n\n            length += 1 + _pcre_ord2utf8(c, buffer) + _pcre_ord2utf8(d, buffer);\n            }\n#endif  /* SUPPORT_UTF8 */\n\n          }\n\n        /* We have a single character. There is nothing to be done unless we\n        are in UTF-8 mode. If the char is > 255, or 127 when caseless, we must\n        allow for an XCL_SINGLE item, doubled for caselessness if there is UCP\n        support. */\n\n        else\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && (c > 255 || ((options & PCRE_CASELESS) != 0 && c > 127)))\n            {\n            uschar buffer[6];\n            class_optcount = 10;     /* Ensure > 1 */\n            if (!class_utf8)         /* Allow for XCLASS overhead */\n              {\n              class_utf8 = TRUE;\n              length += LINK_SIZE + 2;\n              }\n#ifdef SUPPORT_UCP\n            length += (((options & PCRE_CASELESS) != 0)? 2 : 1) *\n              (1 + _pcre_ord2utf8(c, buffer));\n#else   /* SUPPORT_UCP */\n            length += 1 + _pcre_ord2utf8(c, buffer);\n#endif  /* SUPPORT_UCP */\n            }\n#endif  /* SUPPORT_UTF8 */\n          }\n        }\n      }\n    while (*(++ptr) != 0 && (inescq || *ptr != ']')); /* Concludes \"do\" above */\n\n    if (*ptr == 0)                          /* Missing terminating ']' */\n      {\n      errorcode = ERR6;\n      goto PCRE_ERROR_RETURN;\n      }\n\n    /* We can optimize when there was only one optimizable character. Repeats\n    for positive and negated single one-byte chars are handled by the general\n    code. Here, we handle repeats for the class opcodes. */\n\n    if (class_optcount == 1) length += 3; else\n      {\n      length += 33;\n\n      /* A repeat needs either 1 or 5 bytes. If it is a possessive quantifier,\n      we also need extra for wrapping the whole thing in a sub-pattern. */\n\n      if (*ptr != 0 && ptr[1] == '{' && is_counted_repeat(ptr+2))\n        {\n        ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode);\n        if (errorcode != 0) goto PCRE_ERROR_RETURN;\n        if ((min == 0 && (max == 1 || max == -1)) ||\n          (min == 1 && max == -1))\n            length++;\n        else length += 5;\n        if (ptr[1] == '+')\n          {\n          ptr++;\n          length += 2 + 2*LINK_SIZE;\n          }\n        else if (ptr[1] == '?') ptr++;\n        }\n      }\n    continue;\n\n    /* Brackets may be genuine groups or special things */\n\n    case '(':\n    branch_newextra = 0;\n    bracket_length = 1 + LINK_SIZE;\n\n    /* Handle special forms of bracket, which all start (? */\n\n    if (ptr[1] == '?')\n      {\n      int set, unset;\n      int *optset;\n\n      switch (c = ptr[2])\n        {\n        /* Skip over comments entirely */\n        case '#':\n        ptr += 3;\n        while (*ptr != 0 && *ptr != ')') ptr++;\n        if (*ptr == 0)\n          {\n          errorcode = ERR18;\n          goto PCRE_ERROR_RETURN;\n          }\n        continue;\n\n        /* Non-referencing groups and lookaheads just move the pointer on, and\n        then behave like a non-special bracket, except that they don't increment\n        the count of extracting brackets. Ditto for the \"once only\" bracket,\n        which is in Perl from version 5.005. */\n\n        case ':':\n        case '=':\n        case '!':\n        case '>':\n        ptr += 2;\n        break;\n\n        /* (?R) specifies a recursive call to the regex, which is an extension\n        to provide the facility which can be obtained by (?p{perl-code}) in\n        Perl 5.6. In Perl 5.8 this has become (??{perl-code}).\n\n        From PCRE 4.00, items such as (?3) specify subroutine-like \"calls\" to\n        the appropriate numbered brackets. This includes both recursive and\n        non-recursive calls. (?R) is now synonymous with (?0). */\n\n        case 'R':\n        ptr++;\n\n        case '0': case '1': case '2': case '3': case '4':\n        case '5': case '6': case '7': case '8': case '9':\n        ptr += 2;\n        if (c != 'R')\n          while ((digitab[*(++ptr)] & ctype_digit) != 0);\n        if (*ptr != ')')\n          {\n          errorcode = ERR29;\n          goto PCRE_ERROR_RETURN;\n          }\n        length += 1 + LINK_SIZE;\n\n        /* If this item is quantified, it will get wrapped inside brackets so\n        as to use the code for quantified brackets. We jump down and use the\n        code that handles this for real brackets. */\n\n        if (ptr[1] == '+' || ptr[1] == '*' || ptr[1] == '?' || ptr[1] == '{')\n          {\n          length += 2 + 2 * LINK_SIZE;       /* to make bracketed */\n          duplength = 5 + 3 * LINK_SIZE;\n          goto HANDLE_QUANTIFIED_BRACKETS;\n          }\n        continue;\n\n        /* (?C) is an extension which provides \"callout\" - to provide a bit of\n        the functionality of the Perl (?{...}) feature. An optional number may\n        follow (default is zero). */\n\n        case 'C':\n        ptr += 2;\n        while ((digitab[*(++ptr)] & ctype_digit) != 0);\n        if (*ptr != ')')\n          {\n          errorcode = ERR39;\n          goto PCRE_ERROR_RETURN;\n          }\n        length += 2 + 2*LINK_SIZE;\n        continue;\n\n        /* Named subpatterns are an extension copied from Python */\n\n        case 'P':\n        ptr += 3;\n        if (*ptr == '<')\n          {\n          const uschar *p;    /* Don't amalgamate; some compilers */\n          p = ++ptr;          /* grumble at autoincrement in declaration */\n          while ((compile_block.ctypes[*ptr] & ctype_word) != 0) ptr++;\n          if (*ptr != '>')\n            {\n            errorcode = ERR42;\n            goto PCRE_ERROR_RETURN;\n            }\n          name_count++;\n          if (ptr - p > max_name_size) max_name_size = (ptr - p);\n          break;\n          }\n\n        if (*ptr == '=' || *ptr == '>')\n          {\n          while ((compile_block.ctypes[*(++ptr)] & ctype_word) != 0);\n          if (*ptr != ')')\n            {\n            errorcode = ERR42;\n            goto PCRE_ERROR_RETURN;\n            }\n          break;\n          }\n\n        /* Unknown character after (?P */\n\n        errorcode = ERR41;\n        goto PCRE_ERROR_RETURN;\n\n        /* Lookbehinds are in Perl from version 5.005 */\n\n        case '<':\n        ptr += 3;\n        if (*ptr == '=' || *ptr == '!')\n          {\n          branch_newextra = 1 + LINK_SIZE;\n          length += 1 + LINK_SIZE;         /* For the first branch */\n          break;\n          }\n        errorcode = ERR24;\n        goto PCRE_ERROR_RETURN;\n\n        /* Conditionals are in Perl from version 5.005. The bracket must either\n        be followed by a number (for bracket reference) or by an assertion\n        group, or (a PCRE extension) by 'R' for a recursion test. */\n\n        case '(':\n        if (ptr[3] == 'R' && ptr[4] == ')')\n          {\n          ptr += 4;\n          length += 3;\n          }\n        else if ((digitab[ptr[3]] & ctype_digit) != 0)\n          {\n          ptr += 4;\n          length += 3;\n          while ((digitab[*ptr] & ctype_digit) != 0) ptr++;\n          if (*ptr != ')')\n            {\n            errorcode = ERR26;\n            goto PCRE_ERROR_RETURN;\n            }\n          }\n        else   /* An assertion must follow */\n          {\n          ptr++;   /* Can treat like ':' as far as spacing is concerned */\n          if (ptr[2] != '?' ||\n             (ptr[3] != '=' && ptr[3] != '!' && ptr[3] != '<') )\n            {\n            ptr += 2;    /* To get right offset in message */\n            errorcode = ERR28;\n            goto PCRE_ERROR_RETURN;\n            }\n          }\n        break;\n\n        /* Else loop checking valid options until ) is met. Anything else is an\n        error. If we are without any brackets, i.e. at top level, the settings\n        act as if specified in the options, so massage the options immediately.\n        This is for backward compatibility with Perl 5.004. */\n\n        default:\n        set = unset = 0;\n        optset = &set;\n        ptr += 2;\n\n        for (;; ptr++)\n          {\n          c = *ptr;\n          switch (c)\n            {\n            case 'i':\n            *optset |= PCRE_CASELESS;\n            continue;\n\n            case 'm':\n            *optset |= PCRE_MULTILINE;\n            continue;\n\n            case 's':\n            *optset |= PCRE_DOTALL;\n            continue;\n\n            case 'x':\n            *optset |= PCRE_EXTENDED;\n            continue;\n\n            case 'X':\n            *optset |= PCRE_EXTRA;\n            continue;\n\n            case 'U':\n            *optset |= PCRE_UNGREEDY;\n            continue;\n\n            case '-':\n            optset = &unset;\n            continue;\n\n            /* A termination by ')' indicates an options-setting-only item; if\n            this is at the very start of the pattern (indicated by item_count\n            being zero), we use it to set the global options. This is helpful\n            when analyzing the pattern for first characters, etc. Otherwise\n            nothing is done here and it is handled during the compiling\n            process.\n\n            We allow for more than one options setting at the start. If such\n            settings do not change the existing options, nothing is compiled.\n            However, we must leave space just in case something is compiled.\n            This can happen for pathological sequences such as (?i)(?-i)\n            because the global options will end up with -i set. The space is\n            small and not significant. (Before I did this there was a reported\n            bug with (?i)(?-i) in a machine-generated pattern.)\n\n            [Historical note: Up to Perl 5.8, options settings at top level\n            were always global settings, wherever they appeared in the pattern.\n            That is, they were equivalent to an external setting. From 5.8\n            onwards, they apply only to what follows (which is what you might\n            expect).] */\n\n            case ')':\n            if (item_count == 0)\n              {\n              options = (options | set) & (~unset);\n              set = unset = 0;     /* To save length */\n              item_count--;        /* To allow for several */\n              length += 2;\n              }\n\n            /* Fall through */\n\n            /* A termination by ':' indicates the start of a nested group with\n            the given options set. This is again handled at compile time, but\n            we must allow for compiled space if any of the ims options are\n            set. We also have to allow for resetting space at the end of\n            the group, which is why 4 is added to the length and not just 2.\n            If there are several changes of options within the same group, this\n            will lead to an over-estimate on the length, but this shouldn't\n            matter very much. We also have to allow for resetting options at\n            the start of any alternations, which we do by setting\n            branch_newextra to 2. Finally, we record whether the case-dependent\n            flag ever changes within the regex. This is used by the \"required\n            character\" code. */\n\n            case ':':\n            if (((set|unset) & PCRE_IMS) != 0)\n              {\n              length += 4;\n              branch_newextra = 2;\n              if (((set|unset) & PCRE_CASELESS) != 0) options |= PCRE_ICHANGED;\n              }\n            goto END_OPTIONS;\n\n            /* Unrecognized option character */\n\n            default:\n            errorcode = ERR12;\n            goto PCRE_ERROR_RETURN;\n            }\n          }\n\n        /* If we hit a closing bracket, that's it - this is a freestanding\n        option-setting. We need to ensure that branch_extra is updated if\n        necessary. The only values branch_newextra can have here are 0 or 2.\n        If the value is 2, then branch_extra must either be 2 or 5, depending\n        on whether this is a lookbehind group or not. */\n\n        END_OPTIONS:\n        if (c == ')')\n          {\n          if (branch_newextra == 2 &&\n              (branch_extra == 0 || branch_extra == 1+LINK_SIZE))\n            branch_extra += branch_newextra;\n          continue;\n          }\n\n        /* If options were terminated by ':' control comes here. Fall through\n        to handle the group below. */\n        }\n      }\n\n    /* Extracting brackets must be counted so we can process escapes in a\n    Perlish way. If the number exceeds EXTRACT_BASIC_MAX we are going to\n    need an additional 3 bytes of store per extracting bracket. However, if\n    PCRE_NO_AUTO)CAPTURE is set, unadorned brackets become non-capturing, so we\n    must leave the count alone (it will aways be zero). */\n\n    else if ((options & PCRE_NO_AUTO_CAPTURE) == 0)\n      {\n      bracount++;\n      if (bracount > EXTRACT_BASIC_MAX) bracket_length += 3;\n      }\n\n    /* Save length for computing whole length at end if there's a repeat that\n    requires duplication of the group. Also save the current value of\n    branch_extra, and start the new group with the new value. If non-zero, this\n    will either be 2 for a (?imsx: group, or 3 for a lookbehind assertion. */\n\n    if (brastackptr >= sizeof(brastack)/sizeof(int))\n      {\n      errorcode = ERR19;\n      goto PCRE_ERROR_RETURN;\n      }\n\n    bralenstack[brastackptr] = (uschar)branch_extra;\n    branch_extra = branch_newextra;\n\n    brastack[brastackptr++] = length;\n    length += bracket_length;\n    continue;\n\n    /* Handle ket. Look for subsequent max/min; for certain sets of values we\n    have to replicate this bracket up to that many times. If brastackptr is\n    0 this is an unmatched bracket which will generate an error, but take care\n    not to try to access brastack[-1] when computing the length and restoring\n    the branch_extra value. */\n\n    case ')':\n    length += 1 + LINK_SIZE;\n    if (brastackptr > 0)\n      {\n      duplength = length - brastack[--brastackptr];\n      branch_extra = bralenstack[brastackptr];\n      }\n    else duplength = 0;\n\n    /* The following code is also used when a recursion such as (?3) is\n    followed by a quantifier, because in that case, it has to be wrapped inside\n    brackets so that the quantifier works. The value of duplength must be\n    set before arrival. */\n\n    HANDLE_QUANTIFIED_BRACKETS:\n\n    /* Leave ptr at the final char; for read_repeat_counts this happens\n    automatically; for the others we need an increment. */\n\n    if ((c = ptr[1]) == '{' && is_counted_repeat(ptr+2))\n      {\n      ptr = read_repeat_counts(ptr+2, &min, &max, &errorcode);\n      if (errorcode != 0) goto PCRE_ERROR_RETURN;\n      }\n    else if (c == '*') { min = 0; max = -1; ptr++; }\n    else if (c == '+') { min = 1; max = -1; ptr++; }\n    else if (c == '?') { min = 0; max = 1;  ptr++; }\n    else { min = 1; max = 1; }\n\n    /* If the minimum is zero, we have to allow for an OP_BRAZERO before the\n    group, and if the maximum is greater than zero, we have to replicate\n    maxval-1 times; each replication acquires an OP_BRAZERO plus a nesting\n    bracket set. */\n\n    if (min == 0)\n      {\n      length++;\n      if (max > 0) length += (max - 1) * (duplength + 3 + 2*LINK_SIZE);\n      }\n\n    /* When the minimum is greater than zero, we have to replicate up to\n    minval-1 times, with no additions required in the copies. Then, if there\n    is a limited maximum we have to replicate up to maxval-1 times allowing\n    for a BRAZERO item before each optional copy and nesting brackets for all\n    but one of the optional copies. */\n\n    else\n      {\n      length += (min - 1) * duplength;\n      if (max > min)   /* Need this test as max=-1 means no limit */\n        length += (max - min) * (duplength + 3 + 2*LINK_SIZE)\n          - (2 + 2*LINK_SIZE);\n      }\n\n    /* Allow space for once brackets for \"possessive quantifier\" */\n\n    if (ptr[1] == '+')\n      {\n      ptr++;\n      length += 2 + 2*LINK_SIZE;\n      }\n    continue;\n\n    /* Non-special character. It won't be space or # in extended mode, so it is\n    always a genuine character. If we are in a \\Q...\\E sequence, check for the\n    end; if not, we have a literal. */\n\n    default:\n    NORMAL_CHAR:\n\n    if (inescq && c == '\\\\' && ptr[1] == 'E')\n      {\n      inescq = FALSE;\n      ptr++;\n      continue;\n      }\n\n    length += 2;          /* For a one-byte character */\n    lastitemlength = 1;   /* Default length of last item for repeats */\n\n    /* In UTF-8 mode, check for additional bytes. */\n\n#ifdef SUPPORT_UTF8\n    if (utf8 && (c & 0xc0) == 0xc0)\n      {\n      while ((ptr[1] & 0xc0) == 0x80)         /* Can't flow over the end */\n        {                                     /* because the end is marked */\n        lastitemlength++;                     /* by a zero byte. */\n        length++;\n        ptr++;\n        }\n      }\n#endif\n\n    continue;\n    }\n  }\n\nlength += 2 + LINK_SIZE;    /* For final KET and END */\n\nif ((options & PCRE_AUTO_CALLOUT) != 0)\n  length += 2 + 2*LINK_SIZE;  /* For final callout */\n\nif (length > MAX_PATTERN_SIZE)\n  {\n  errorcode = ERR20;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n\n/* Compute the size of data block needed and get it, either from malloc or\nexternally provided function. */\n\nsize = length + sizeof(real_pcre) + name_count * (max_name_size + 3);\nre = (real_pcre *)(pcre_malloc)(size);\n\nif (re == NULL)\n  {\n  errorcode = ERR21;\n  goto PCRE_EARLY_ERROR_RETURN;\n  }\n\n/* Put in the magic number, and save the sizes, options, and character table\npointer. NULL is used for the default character tables. The nullpad field is at\nthe end; it's there to help in the case when a regex compiled on a system with\n4-byte pointers is run on another with 8-byte pointers. */\n\nre->magic_number = MAGIC_NUMBER;\nre->size = size;\nre->options = options;\nre->dummy1 = 0;\nre->name_table_offset = sizeof(real_pcre);\nre->name_entry_size = max_name_size + 3;\nre->name_count = (pcre_uint16)name_count;\nre->ref_count = 0;\nre->tables = (tables == _pcre_default_tables)? NULL : tables;\nre->nullpad = NULL;\n\n/* The starting points of the name/number translation table and of the code are\npassed around in the compile data block. */\n\ncompile_block.names_found = 0;\ncompile_block.name_entry_size = max_name_size + 3;\ncompile_block.name_table = (uschar *)re + re->name_table_offset;\ncodestart = compile_block.name_table + re->name_entry_size * re->name_count;\ncompile_block.start_code = codestart;\ncompile_block.start_pattern = (const uschar *)pattern;\ncompile_block.req_varyopt = 0;\ncompile_block.nopartial = FALSE;\n\n/* Set up a starting, non-extracting bracket, then compile the expression. On\nerror, errorcode will be set non-zero, so we don't need to look at the result\nof the function here. */\n\nptr = (const uschar *)pattern;\ncode = (uschar *)codestart;\n*code = OP_BRA;\nbracount = 0;\n(void)compile_regex(options, options & PCRE_IMS, &bracount, &code, &ptr,\n  &errorcode, FALSE, 0, &firstbyte, &reqbyte, NULL, &compile_block);\nre->top_bracket = (pcre_uint16)bracount;\nre->top_backref = (pcre_uint16)compile_block.top_backref;\n\nif (compile_block.nopartial) re->options |= PCRE_NOPARTIAL;\n\n/* If not reached end of pattern on success, there's an excess bracket. */\n\nif (errorcode == 0 && *ptr != 0) errorcode = ERR22;\n\n/* Fill in the terminating state and check for disastrous overflow, but\nif debugging, leave the test till after things are printed out. */\n\n*code++ = OP_END;\n\n#ifndef DEBUG\nif (code - codestart > length) errorcode = ERR23;\n#endif\n\n/* Give an error if there's back reference to a non-existent capturing\nsubpattern. */\n\nif (re->top_backref > re->top_bracket) errorcode = ERR15;\n\n/* Failed to compile, or error while post-processing */\n\nif (errorcode != 0)\n  {\n  (pcre_free)(re);\n  PCRE_ERROR_RETURN:\n  *erroroffset = ptr - (const uschar *)pattern;\n  PCRE_EARLY_ERROR_RETURN:\n  *errorptr = error_texts[errorcode];\n  if (errorcodeptr != NULL) *errorcodeptr = errorcode;\n  return NULL;\n  }\n\n/* If the anchored option was not passed, set the flag if we can determine that\nthe pattern is anchored by virtue of ^ characters or \\A or anything else (such\nas starting with .* when DOTALL is set).\n\nOtherwise, if we know what the first character has to be, save it, because that\nspeeds up unanchored matches no end. If not, see if we can set the\nPCRE_STARTLINE flag. This is helpful for multiline matches when all branches\nstart with ^. and also when all branches start with .* for non-DOTALL matches.\n*/\n\nif ((options & PCRE_ANCHORED) == 0)\n  {\n  int temp_options = options;\n  if (is_anchored(codestart, &temp_options, 0, compile_block.backref_map))\n    re->options |= PCRE_ANCHORED;\n  else\n    {\n    if (firstbyte < 0)\n      firstbyte = find_firstassertedchar(codestart, &temp_options, FALSE);\n    if (firstbyte >= 0)   /* Remove caseless flag for non-caseable chars */\n      {\n      int ch = firstbyte & 255;\n      re->first_byte = ((firstbyte & REQ_CASELESS) != 0 &&\n         compile_block.fcc[ch] == ch)? ch : firstbyte;\n      re->options |= PCRE_FIRSTSET;\n      }\n    else if (is_startline(codestart, 0, compile_block.backref_map))\n      re->options |= PCRE_STARTLINE;\n    }\n  }\n\n/* For an anchored pattern, we use the \"required byte\" only if it follows a\nvariable length item in the regex. Remove the caseless flag for non-caseable\nbytes. */\n\nif (reqbyte >= 0 &&\n     ((re->options & PCRE_ANCHORED) == 0 || (reqbyte & REQ_VARY) != 0))\n  {\n  int ch = reqbyte & 255;\n  re->req_byte = ((reqbyte & REQ_CASELESS) != 0 &&\n    compile_block.fcc[ch] == ch)? (reqbyte & ~REQ_CASELESS) : reqbyte;\n  re->options |= PCRE_REQCHSET;\n  }\n\n/* Print out the compiled data for debugging */\n\n#ifdef DEBUG\n\nprintf(\"Length = %d top_bracket = %d top_backref = %d\\n\",\n  length, re->top_bracket, re->top_backref);\n\nif (re->options != 0)\n  {\n  printf(\"%s%s%s%s%s%s%s%s%s%s\\n\",\n    ((re->options & PCRE_NOPARTIAL) != 0)? \"nopartial \" : \"\",\n    ((re->options & PCRE_ANCHORED) != 0)? \"anchored \" : \"\",\n    ((re->options & PCRE_CASELESS) != 0)? \"caseless \" : \"\",\n    ((re->options & PCRE_ICHANGED) != 0)? \"case state changed \" : \"\",\n    ((re->options & PCRE_EXTENDED) != 0)? \"extended \" : \"\",\n    ((re->options & PCRE_MULTILINE) != 0)? \"multiline \" : \"\",\n    ((re->options & PCRE_DOTALL) != 0)? \"dotall \" : \"\",\n    ((re->options & PCRE_DOLLAR_ENDONLY) != 0)? \"endonly \" : \"\",\n    ((re->options & PCRE_EXTRA) != 0)? \"extra \" : \"\",\n    ((re->options & PCRE_UNGREEDY) != 0)? \"ungreedy \" : \"\");\n  }\n\nif ((re->options & PCRE_FIRSTSET) != 0)\n  {\n  int ch = re->first_byte & 255;\n  const char *caseless = ((re->first_byte & REQ_CASELESS) == 0)? \"\" : \" (caseless)\";\n  if (isprint(ch)) printf(\"First char = %c%s\\n\", ch, caseless);\n    else printf(\"First char = \\\\x%02x%s\\n\", ch, caseless);\n  }\n\nif ((re->options & PCRE_REQCHSET) != 0)\n  {\n  int ch = re->req_byte & 255;\n  const char *caseless = ((re->req_byte & REQ_CASELESS) == 0)? \"\" : \" (caseless)\";\n  if (isprint(ch)) printf(\"Req char = %c%s\\n\", ch, caseless);\n    else printf(\"Req char = \\\\x%02x%s\\n\", ch, caseless);\n  }\n\n_pcre_printint(re, stdout);\n\n/* This check is done here in the debugging case so that the code that\nwas compiled can be seen. */\n\nif (code - codestart > length)\n  {\n  (pcre_free)(re);\n  *errorptr = error_texts[ERR23];\n  *erroroffset = ptr - (uschar *)pattern;\n  if (errorcodeptr != NULL) *errorcodeptr = ERR23;\n  return NULL;\n  }\n#endif\n\nreturn (pcre *)re;\n}\n\n/* End of pcre_compile.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_config.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_config(). */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n* Return info about what features are configured *\n*************************************************/\n\n/* This function has an extensible interface so that additional items can be\nadded compatibly.\n\nArguments:\n  what             what information is required\n  where            where to put the information\n\nReturns:           0 if data returned, negative on error\n*/\n\nEXPORT int\npcre_config(int what, void *where)\n{\nswitch (what)\n  {\n  case PCRE_CONFIG_UTF8:\n#ifdef SUPPORT_UTF8\n  *((int *)where) = 1;\n#else\n  *((int *)where) = 0;\n#endif\n  break;\n\n  case PCRE_CONFIG_UNICODE_PROPERTIES:\n#ifdef SUPPORT_UCP\n  *((int *)where) = 1;\n#else\n  *((int *)where) = 0;\n#endif\n  break;\n\n  case PCRE_CONFIG_NEWLINE:\n  *((int *)where) = NEWLINE;\n  break;\n\n  case PCRE_CONFIG_LINK_SIZE:\n  *((int *)where) = LINK_SIZE;\n  break;\n\n  case PCRE_CONFIG_POSIX_MALLOC_THRESHOLD:\n  *((int *)where) = POSIX_MALLOC_THRESHOLD;\n  break;\n\n  case PCRE_CONFIG_MATCH_LIMIT:\n  *((unsigned int *)where) = MATCH_LIMIT;\n  break;\n\n  case PCRE_CONFIG_STACKRECURSE:\n#ifdef NO_RECURSE\n  *((int *)where) = 0;\n#else\n  *((int *)where) = 1;\n#endif\n  break;\n\n  default: return PCRE_ERROR_BADOPTION;\n  }\n\nreturn 0;\n}\n\n/* End of pcre_config.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_dfa_exec.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_dfa_exec(), which is an\nalternative matching function that uses a DFA algorithm. This is NOT Perl-\ncompatible, but it has advantages in certain applications. */\n\n\n#include \"pcre_internal.h\"\n\n\n/* For use to indent debugging output */\n\n#define SP \"                   \"\n\n\n\n/*************************************************\n*      Code parameters and static tables         *\n*************************************************/\n\n/* These are offsets that are used to turn the OP_TYPESTAR and friends opcodes\ninto others, under special conditions. A gap of 10 between the blocks should be\nenough. */\n\n#define OP_PROP_EXTRA    (EXTRACT_BASIC_MAX+1)\n#define OP_EXTUNI_EXTRA  (EXTRACT_BASIC_MAX+11)\n\n\n/* This table identifies those opcodes that are followed immediately by a\ncharacter that is to be tested in some way. This makes is possible to\ncentralize the loading of these characters. In the case of Type * etc, the\n\"character\" is the opcode for \\D, \\d, \\S, \\s, \\W, or \\w, which will always be a\nsmall value. */\n\nstatic uschar coptable[] = {\n  0,                             /* End                                    */\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  /* \\A, \\G, \\B, \\b, \\D, \\d, \\S, \\s, \\W, \\w */\n  0, 0,                          /* Any, Anybyte                           */\n  0, 0, 0,                       /* NOTPROP, PROP, EXTUNI                  */\n  0, 0, 0, 0, 0,                 /* \\Z, \\z, Opt, ^, $                      */\n  1,                             /* Char                                   */\n  1,                             /* Charnc                                 */\n  1,                             /* not                                    */\n  /* Positive single-char repeats                                          */\n  1, 1, 1, 1, 1, 1,              /* *, *?, +, +?, ?, ??                    */\n  3, 3, 3,                       /* upto, minupto, exact                   */\n  /* Negative single-char repeats - only for chars < 256                   */\n  1, 1, 1, 1, 1, 1,              /* NOT *, *?, +, +?, ?, ??                */\n  3, 3, 3,                       /* NOT upto, minupto, exact               */\n  /* Positive type repeats                                                 */\n  1, 1, 1, 1, 1, 1,              /* Type *, *?, +, +?, ?, ??               */\n  3, 3, 3,                       /* Type upto, minupto, exact              */\n  /* Character class & ref repeats                                         */\n  0, 0, 0, 0, 0, 0,              /* *, *?, +, +?, ?, ??                    */\n  0, 0,                          /* CRRANGE, CRMINRANGE                    */\n  0,                             /* CLASS                                  */\n  0,                             /* NCLASS                                 */\n  0,                             /* XCLASS - variable length               */\n  0,                             /* REF                                    */\n  0,                             /* RECURSE                                */\n  0,                             /* CALLOUT                                */\n  0,                             /* Alt                                    */\n  0,                             /* Ket                                    */\n  0,                             /* KetRmax                                */\n  0,                             /* KetRmin                                */\n  0,                             /* Assert                                 */\n  0,                             /* Assert not                             */\n  0,                             /* Assert behind                          */\n  0,                             /* Assert behind not                      */\n  0,                             /* Reverse                                */\n  0,                             /* Once                                   */\n  0,                             /* COND                                   */\n  0,                             /* CREF                                   */\n  0, 0,                          /* BRAZERO, BRAMINZERO                    */\n  0,                             /* BRANUMBER                              */\n  0                              /* BRA                                    */\n};\n\n/* These 2 tables allow for compact code for testing for \\D, \\d, \\S, \\s, \\W,\nand \\w */\n\nstatic uschar toptable1[] = {\n  0, 0, 0, 0, 0,\n  ctype_digit, ctype_digit,\n  ctype_space, ctype_space,\n  ctype_word,  ctype_word,\n  0                               /* OP_ANY */\n};\n\nstatic uschar toptable2[] = {\n  0, 0, 0, 0, 0,\n  ctype_digit, 0,\n  ctype_space, 0,\n  ctype_word,  0,\n  1                               /* OP_ANY */\n};\n\n\n/* Structure for holding data about a particular state, which is in effect the\ncurrent data for an active path through the match tree. It must consist\nentirely of ints because the working vector we are passed, and which we put\nthese structures in, is a vector of ints. */\n\ntypedef struct stateblock {\n  int offset;                     /* Offset to opcode */\n  int count;                      /* Count for repeats */\n  int ims;                        /* ims flag bits */\n  int data;                       /* Some use extra data */\n} stateblock;\n\n#define INTS_PER_STATEBLOCK  (sizeof(stateblock)/sizeof(int))\n\n\n#ifdef DEBUG\n/*************************************************\n*             Print character string             *\n*************************************************/\n\n/* Character string printing function for debugging.\n\nArguments:\n  p            points to string\n  length       number of bytes\n  f            where to print\n\nReturns:       nothing\n*/\n\nstatic void\npchars(unsigned char *p, int length, FILE *f)\n{\nint c;\nwhile (length-- > 0)\n  {\n  if (isprint(c = *(p++)))\n    fprintf(f, \"%c\", c);\n  else\n    fprintf(f, \"\\\\x%02x\", c);\n  }\n}\n#endif\n\n\n\n/*************************************************\n*    Execute a Regular Expression - DFA engine   *\n*************************************************/\n\n/* This internal function applies a compiled pattern to a subject string,\nstarting at a given point, using a DFA engine. This function is called from the\nexternal one, possibly multiple times if the pattern is not anchored. The\nfunction calls itself recursively for some kinds of subpattern.\n\nArguments:\n  md                the match_data block with fixed information\n  this_start_code   the opening bracket of this subexpression's code\n  current_subject   where we currently are in the subject string\n  start_offset      start offset in the subject string\n  offsets           vector to contain the matching string offsets\n  offsetcount       size of same\n  workspace         vector of workspace\n  wscount           size of same\n  ims               the current ims flags\n  rlevel            function call recursion level\n  recursing         regex recursive call level\n\nReturns:            > 0 =>\n                    = 0 =>\n                     -1 => failed to match\n                   < -1 => some kind of unexpected problem\n\nThe following macros are used for adding states to the two state vectors (one\nfor the current character, one for the following character). */\n\n#define ADD_ACTIVE(x,y) \\\n  if (active_count++ < wscount) \\\n    { \\\n    next_active_state->offset = (x); \\\n    next_active_state->count  = (y); \\\n    next_active_state->ims    = ims; \\\n    next_active_state++; \\\n    DPRINTF((\"%.*sADD_ACTIVE(%d,%d)\\n\", rlevel*2-2, SP, (x), (y))); \\\n    } \\\n  else return PCRE_ERROR_DFA_WSSIZE\n\n#define ADD_ACTIVE_DATA(x,y,z) \\\n  if (active_count++ < wscount) \\\n    { \\\n    next_active_state->offset = (x); \\\n    next_active_state->count  = (y); \\\n    next_active_state->ims    = ims; \\\n    next_active_state->data   = (z); \\\n    next_active_state++; \\\n    DPRINTF((\"%.*sADD_ACTIVE_DATA(%d,%d,%d)\\n\", rlevel*2-2, SP, (x), (y), (z))); \\\n    } \\\n  else return PCRE_ERROR_DFA_WSSIZE\n\n#define ADD_NEW(x,y) \\\n  if (new_count++ < wscount) \\\n    { \\\n    next_new_state->offset = (x); \\\n    next_new_state->count  = (y); \\\n    next_new_state->ims    = ims; \\\n    next_new_state++; \\\n    DPRINTF((\"%.*sADD_NEW(%d,%d)\\n\", rlevel*2-2, SP, (x), (y))); \\\n    } \\\n  else return PCRE_ERROR_DFA_WSSIZE\n\n#define ADD_NEW_DATA(x,y,z) \\\n  if (new_count++ < wscount) \\\n    { \\\n    next_new_state->offset = (x); \\\n    next_new_state->count  = (y); \\\n    next_new_state->ims    = ims; \\\n    next_new_state->data   = (z); \\\n    next_new_state++; \\\n    DPRINTF((\"%.*sADD_NEW_DATA(%d,%d,%d)\\n\", rlevel*2-2, SP, (x), (y), (z))); \\\n    } \\\n  else return PCRE_ERROR_DFA_WSSIZE\n\n/* And now, here is the code */\n\nstatic int\ninternal_dfa_exec(\n  dfa_match_data *md,\n  const uschar *this_start_code,\n  const uschar *current_subject,\n  int start_offset,\n  int *offsets,\n  int offsetcount,\n  int *workspace,\n  int wscount,\n  int ims,\n  int  rlevel,\n  int  recursing)\n{\nstateblock *active_states, *new_states, *temp_states;\nstateblock *next_active_state, *next_new_state;\n\nconst uschar *ctypes, *lcc, *fcc;\nconst uschar *ptr;\nconst uschar *end_code;\n\nint active_count, new_count, match_count;\n\n/* Some fields in the md block are frequently referenced, so we load them into\nindependent variables in the hope that this will perform better. */\n\nconst uschar *start_subject = md->start_subject;\nconst uschar *end_subject = md->end_subject;\nconst uschar *start_code = md->start_code;\n\nBOOL utf8 = (md->poptions & PCRE_UTF8) != 0;\n\nrlevel++;\noffsetcount &= (-2);\n\nwscount -= 2;\nwscount = (wscount - (wscount % (INTS_PER_STATEBLOCK * 2))) /\n          (2 * INTS_PER_STATEBLOCK);\n\nDPRINTF((\"\\n%.*s---------------------\\n\"\n  \"%.*sCall to internal_dfa_exec f=%d r=%d\\n\",\n  rlevel*2-2, SP, rlevel*2-2, SP, rlevel, recursing));\n\nctypes = md->tables + ctypes_offset;\nlcc = md->tables + lcc_offset;\nfcc = md->tables + fcc_offset;\n\nmatch_count = PCRE_ERROR_NOMATCH;   /* A negative number */\n\nactive_states = (stateblock *)(workspace + 2);\nnext_new_state = new_states = active_states + wscount;\nnew_count = 0;\n\n/* The first thing in any (sub) pattern is a bracket of some sort. Push all\nthe alternative states onto the list, and find out where the end is. This\nmakes is possible to use this function recursively, when we want to stop at a\nmatching internal ket rather than at the end.\n\nIf the first opcode in the first alternative is OP_REVERSE, we are dealing with\na backward assertion. In that case, we have to find out the maximum amount to\nmove back, and set up each alternative appropriately. */\n\nif (this_start_code[1+LINK_SIZE] == OP_REVERSE)\n  {\n  int max_back = 0;\n  int gone_back;\n\n  end_code = this_start_code;\n  do\n    {\n    int back = GET(end_code, 2+LINK_SIZE);\n    if (back > max_back) max_back = back;\n    end_code += GET(end_code, 1);\n    }\n  while (*end_code == OP_ALT);\n\n  /* If we can't go back the amount required for the longest lookbehind\n  pattern, go back as far as we can; some alternatives may still be viable. */\n\n#ifdef SUPPORT_UTF8\n  /* In character mode we have to step back character by character */\n\n  if (utf8)\n    {\n    for (gone_back = 0; gone_back < max_back; gone_back++)\n      {\n      if (current_subject <= start_subject) break;\n      current_subject--;\n      while (current_subject > start_subject &&\n             (*current_subject & 0xc0) == 0x80)\n        current_subject--;\n      }\n    }\n  else\n#endif\n\n  /* In byte-mode we can do this quickly. */\n\n    {\n    gone_back = (current_subject - max_back < start_subject)?\n      current_subject - start_subject : max_back;\n    current_subject -= gone_back;\n    }\n\n  /* Now we can process the individual branches. */\n\n  end_code = this_start_code;\n  do\n    {\n    int back = GET(end_code, 2+LINK_SIZE);\n    if (back <= gone_back)\n      {\n      int bstate = end_code - start_code + 2 + 2*LINK_SIZE;\n      ADD_NEW_DATA(-bstate, 0, gone_back - back);\n      }\n    end_code += GET(end_code, 1);\n    }\n  while (*end_code == OP_ALT);\n }\n\n/* This is the code for a \"normal\" subpattern (not a backward assertion). The\nstart of a whole pattern is always one of these. If we are at the top level,\nwe may be asked to restart matching from the same point that we reached for a\nprevious partial match. We still have to scan through the top-level branches to\nfind the end state. */\n\nelse\n  {\n  end_code = this_start_code;\n\n  /* Restarting */\n\n  if (rlevel == 1 && (md->moptions & PCRE_DFA_RESTART) != 0)\n    {\n    do { end_code += GET(end_code, 1); } while (*end_code == OP_ALT);\n    new_count = workspace[1];\n    if (!workspace[0])\n      memcpy(new_states, active_states, new_count * sizeof(stateblock));\n    }\n\n  /* Not restarting */\n\n  else\n    {\n    do\n      {\n      ADD_NEW(end_code - start_code + 1 + LINK_SIZE, 0);\n      end_code += GET(end_code, 1);\n      }\n    while (*end_code == OP_ALT);\n    }\n  }\n\nworkspace[0] = 0;    /* Bit indicating which vector is current */\n\nDPRINTF((\"%.*sEnd state = %d\\n\", rlevel*2-2, SP, end_code - start_code));\n\n/* Loop for scanning the subject */\n\nptr = current_subject;\nfor (;;)\n  {\n  int i, j;\n  int c, d, clen, dlen;\n\n  /* Make the new state list into the active state list and empty the\n  new state list. */\n\n  temp_states = active_states;\n  active_states = new_states;\n  new_states = temp_states;\n  active_count = new_count;\n  new_count = 0;\n\n  workspace[0] ^= 1;              /* Remember for the restarting feature */\n  workspace[1] = active_count;\n\n#ifdef DEBUG\n  printf(\"%.*sNext character: rest of subject = \\\"\", rlevel*2-2, SP);\n  pchars((uschar *)ptr, strlen((char *)ptr), stdout);\n  printf(\"\\\"\\n\");\n\n  printf(\"%.*sActive states: \", rlevel*2-2, SP);\n  for (i = 0; i < active_count; i++)\n    printf(\"%d/%d \", active_states[i].offset, active_states[i].count);\n  printf(\"\\n\");\n#endif\n\n  /* Set the pointers for adding new states */\n\n  next_active_state = active_states + active_count;\n  next_new_state = new_states;\n\n  /* Load the current character from the subject outside the loop, as many\n  different states may want to look at it, and we assume that at least one\n  will. */\n\n  if (ptr < end_subject)\n    {\n    clen = 1;\n#ifdef SUPPORT_UTF8\n    if (utf8) { GETCHARLEN(c, ptr, clen); } else\n#endif  /* SUPPORT_UTF8 */\n    c = *ptr;\n    }\n  else\n    {\n    clen = 0;    /* At end subject */\n    c = -1;\n    }\n\n  /* Scan up the active states and act on each one. The result of an action\n  may be to add more states to the currently active list (e.g. on hitting a\n  parenthesis) or it may be to put states on the new list, for considering\n  when we move the character pointer on. */\n\n  for (i = 0; i < active_count; i++)\n    {\n    stateblock *current_state = active_states + i;\n    const uschar *code;\n    int state_offset = current_state->offset;\n    int count, codevalue;\n    int chartype, othercase;\n\n#ifdef DEBUG\n    printf (\"%.*sProcessing state %d c=\", rlevel*2-2, SP, state_offset);\n    if (c < 0) printf(\"-1\\n\");\n      else if (c > 32 && c < 127) printf(\"'%c'\\n\", c);\n        else printf(\"0x%02x\\n\", c);\n#endif\n\n    /* This variable is referred to implicity in the ADD_xxx macros. */\n\n    ims = current_state->ims;\n\n    /* A negative offset is a special case meaning \"hold off going to this\n    (negated) state until the number of characters in the data field have\n    been skipped\". */\n\n    if (state_offset < 0)\n      {\n      if (current_state->data > 0)\n        {\n        DPRINTF((\"%.*sSkipping this character\\n\", rlevel*2-2, SP));\n        ADD_NEW_DATA(state_offset, current_state->count,\n          current_state->data - 1);\n        continue;\n        }\n      else\n        {\n        current_state->offset = state_offset = -state_offset;\n        }\n      }\n\n    /* Check for a duplicate state with the same count, and skip if found. */\n\n    for (j = 0; j < i; j++)\n      {\n      if (active_states[j].offset == state_offset &&\n          active_states[j].count == current_state->count)\n        {\n        DPRINTF((\"%.*sDuplicate state: skipped\\n\", rlevel*2-2, SP));\n        goto NEXT_ACTIVE_STATE;\n        }\n      }\n\n    /* The state offset is the offset to the opcode */\n\n    code = start_code + state_offset;\n    codevalue = *code;\n    if (codevalue >= OP_BRA) codevalue = OP_BRA; /* All brackets are equal */\n\n    /* If this opcode is followed by an inline character, load it. It is\n    tempting to test for the presence of a subject character here, but that\n    is wrong, because sometimes zero repetitions of the subject are\n    permitted.\n\n    We also use this mechanism for opcodes such as OP_TYPEPLUS that take an\n    argument that is not a data character - but is always one byte long.\n    Unfortunately, we have to take special action to deal with  \\P, \\p, and\n    \\X in this case. To keep the other cases fast, convert these ones to new\n    opcodes. */\n\n    if (coptable[codevalue] > 0)\n      {\n      dlen = 1;\n#ifdef SUPPORT_UTF8\n      if (utf8) { GETCHARLEN(d, (code + coptable[codevalue]), dlen); } else\n#endif  /* SUPPORT_UTF8 */\n      d = code[coptable[codevalue]];\n      if (codevalue >= OP_TYPESTAR)\n        {\n        if (d == OP_ANYBYTE) return PCRE_ERROR_DFA_UITEM;\n        if (d >= OP_NOTPROP)\n          codevalue += (d == OP_EXTUNI)? OP_EXTUNI_EXTRA : OP_PROP_EXTRA;\n        }\n      }\n    else\n      {\n      dlen = 0;         /* Not strictly necessary, but compilers moan */\n      d = -1;           /* if these variables are not set. */\n      }\n\n\n    /* Now process the individual opcodes */\n\n    switch (codevalue)\n      {\n\n/* ========================================================================== */\n      /* Reached a closing bracket. If not at the end of the pattern, carry\n      on with the next opcode. Otherwise, unless we have an empty string and\n      PCRE_NOTEMPTY is set, save the match data, shifting up all previous\n      matches so we always have the longest first. */\n\n      case OP_KET:\n      case OP_KETRMIN:\n      case OP_KETRMAX:\n      if (code != end_code)\n        {\n        ADD_ACTIVE(state_offset + 1 + LINK_SIZE, 0);\n        if (codevalue != OP_KET)\n          {\n          ADD_ACTIVE(state_offset - GET(code, 1), 0);\n          }\n        }\n      else if (ptr > current_subject || (md->moptions & PCRE_NOTEMPTY) == 0)\n        {\n        if (match_count < 0) match_count = (offsetcount >= 2)? 1 : 0;\n          else if (match_count > 0 && ++match_count * 2 >= offsetcount)\n            match_count = 0;\n        count = ((match_count == 0)? offsetcount : match_count * 2) - 2;\n        if (count > 0) memmove(offsets + 2, offsets, count * sizeof(int));\n        if (offsetcount >= 2)\n          {\n          offsets[0] = current_subject - start_subject;\n          offsets[1] = ptr - start_subject;\n          DPRINTF((\"%.*sSet matched string = \\\"%.*s\\\"\\n\", rlevel*2-2, SP,\n            offsets[1] - offsets[0], current_subject));\n          }\n        if ((md->moptions & PCRE_DFA_SHORTEST) != 0)\n          {\n          DPRINTF((\"%.*sEnd of internal_dfa_exec %d: returning %d\\n\"\n            \"%.*s---------------------\\n\\n\", rlevel*2-2, SP, rlevel,\n            match_count, rlevel*2-2, SP));\n          return match_count;\n          }\n        }\n      break;\n\n/* ========================================================================== */\n      /* These opcodes add to the current list of states without looking\n      at the current character. */\n\n      /*-----------------------------------------------------------------*/\n      case OP_ALT:\n      do { code += GET(code, 1); } while (*code == OP_ALT);\n      ADD_ACTIVE(code - start_code, 0);\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_BRA:\n      do\n        {\n        ADD_ACTIVE(code - start_code + 1 + LINK_SIZE, 0);\n        code += GET(code, 1);\n        }\n      while (*code == OP_ALT);\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_BRAZERO:\n      case OP_BRAMINZERO:\n      ADD_ACTIVE(state_offset + 1, 0);\n      code += 1 + GET(code, 2);\n      while (*code == OP_ALT) code += GET(code, 1);\n      ADD_ACTIVE(code - start_code + 1 + LINK_SIZE, 0);\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_BRANUMBER:\n      ADD_ACTIVE(state_offset + 1 + LINK_SIZE, 0);\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_CIRC:\n      if ((ptr == start_subject && (md->moptions & PCRE_NOTBOL) == 0) ||\n          ((ims & PCRE_MULTILINE) != 0 && ptr[-1] == NEWLINE))\n        { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EOD:\n      if (ptr >= end_subject) { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_OPT:\n      ims = code[1];\n      ADD_ACTIVE(state_offset + 2, 0);\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_SOD:\n      if (ptr == start_subject) { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_SOM:\n      if (ptr == start_subject + start_offset) { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n\n/* ========================================================================== */\n      /* These opcodes inspect the next subject character, and sometimes\n      the previous one as well, but do not have an argument. The variable\n      clen contains the length of the current character and is zero if we are\n      at the end of the subject. */\n\n      /*-----------------------------------------------------------------*/\n      case OP_ANY:\n      if (clen > 0 && (c != NEWLINE || (ims & PCRE_DOTALL) != 0))\n        { ADD_NEW(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EODN:\n      if (clen == 0 || (c == NEWLINE && ptr + 1 == end_subject))\n        { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_DOLL:\n      if ((md->moptions & PCRE_NOTEOL) == 0)\n        {\n        if (clen == 0 || (c == NEWLINE && (ptr + 1 == end_subject ||\n                                (ims & PCRE_MULTILINE) != 0)))\n          { ADD_ACTIVE(state_offset + 1, 0); }\n        }\n      else if (c == NEWLINE && (ims & PCRE_MULTILINE) != 0)\n        { ADD_ACTIVE(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n\n      case OP_DIGIT:\n      case OP_WHITESPACE:\n      case OP_WORDCHAR:\n      if (clen > 0 && c < 256 &&\n            ((ctypes[c] & toptable1[codevalue]) ^ toptable2[codevalue]) != 0)\n        { ADD_NEW(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_NOT_DIGIT:\n      case OP_NOT_WHITESPACE:\n      case OP_NOT_WORDCHAR:\n      if (clen > 0 && (c >= 256 ||\n            ((ctypes[c] & toptable1[codevalue]) ^ toptable2[codevalue]) != 0))\n        { ADD_NEW(state_offset + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_WORD_BOUNDARY:\n      case OP_NOT_WORD_BOUNDARY:\n        {\n        int left_word, right_word;\n\n        if (ptr > start_subject)\n          {\n          const uschar *temp = ptr - 1;\n#ifdef SUPPORT_UTF8\n          if (utf8) BACKCHAR(temp);\n#endif\n          GETCHARTEST(d, temp);\n          left_word = d < 256 && (ctypes[d] & ctype_word) != 0;\n          }\n        else left_word = 0;\n\n        if (clen > 0) right_word = c < 256 && (ctypes[c] & ctype_word) != 0;\n          else right_word = 0;\n\n        if ((left_word == right_word) == (codevalue == OP_NOT_WORD_BOUNDARY))\n          { ADD_ACTIVE(state_offset + 1, 0); }\n        }\n      break;\n\n\n#ifdef SUPPORT_UCP\n\n      /*-----------------------------------------------------------------*/\n      /* Check the next character by Unicode property. We will get here only\n      if the support is in the binary; otherwise a compile-time error occurs.\n      */\n\n      case OP_PROP:\n      case OP_NOTPROP:\n      if (clen > 0)\n        {\n        int rqdtype, category;\n        category = ucp_findchar(c, &chartype, &othercase);\n        rqdtype = code[1];\n        if (rqdtype >= 128)\n          {\n          if ((rqdtype - 128 == category) == (codevalue == OP_PROP))\n            { ADD_NEW(state_offset + 2, 0); }\n          }\n        else\n          {\n          if ((rqdtype == chartype) == (codevalue == OP_PROP))\n            { ADD_NEW(state_offset + 2, 0); }\n          }\n        }\n      break;\n#endif\n\n\n\n/* ========================================================================== */\n      /* These opcodes likewise inspect the subject character, but have an\n      argument that is not a data character. It is one of these opcodes:\n      OP_ANY, OP_DIGIT, OP_NOT_DIGIT, OP_WHITESPACE, OP_NOT_SPACE, OP_WORDCHAR,\n      OP_NOT_WORDCHAR. The value is loaded into d. */\n\n      case OP_TYPEPLUS:\n      case OP_TYPEMINPLUS:\n      count = current_state->count;  /* Already matched */\n      if (count > 0) { ADD_ACTIVE(state_offset + 2, 0); }\n      if (clen > 0)\n        {\n        if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) ||\n            (c < 256 &&\n              (d != OP_ANY || c != '\\n' || (ims & PCRE_DOTALL) != 0) &&\n              ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0))\n          {\n          count++;\n          ADD_NEW(state_offset, count);\n          }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_TYPEQUERY:\n      case OP_TYPEMINQUERY:\n      ADD_ACTIVE(state_offset + 2, 0);\n      if (clen > 0)\n        {\n        if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) ||\n            (c < 256 &&\n              (d != OP_ANY || c != '\\n' || (ims & PCRE_DOTALL) != 0) &&\n              ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0))\n          {\n          ADD_NEW(state_offset + 2, 0);\n          }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_TYPESTAR:\n      case OP_TYPEMINSTAR:\n      ADD_ACTIVE(state_offset + 2, 0);\n      if (clen > 0)\n        {\n        if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) ||\n            (c < 256 &&\n              (d != OP_ANY || c != '\\n' || (ims & PCRE_DOTALL) != 0) &&\n              ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0))\n          {\n          ADD_NEW(state_offset, 0);\n          }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_TYPEEXACT:\n      case OP_TYPEUPTO:\n      case OP_TYPEMINUPTO:\n      if (codevalue != OP_TYPEEXACT)\n        { ADD_ACTIVE(state_offset + 4, 0); }\n      count = current_state->count;  /* Number already matched */\n      if (clen > 0)\n        {\n        if ((c >= 256 && d != OP_DIGIT && d != OP_WHITESPACE && d != OP_WORDCHAR) ||\n            (c < 256 &&\n              (d != OP_ANY || c != '\\n' || (ims & PCRE_DOTALL) != 0) &&\n              ((ctypes[c] & toptable1[d]) ^ toptable2[d]) != 0))\n          {\n          if (++count >= GET2(code, 1))\n            { ADD_NEW(state_offset + 4, 0); }\n          else\n            { ADD_NEW(state_offset, count); }\n          }\n        }\n      break;\n\n/* ========================================================================== */\n      /* These are virtual opcodes that are used when something like\n      OP_TYPEPLUS has OP_PROP, OP_NOTPROP, or OP_EXTUNI as its argument. It\n      keeps the code above fast for the other cases. The argument is in the\n      d variable. */\n\n      case OP_PROP_EXTRA + OP_TYPEPLUS:\n      case OP_PROP_EXTRA + OP_TYPEMINPLUS:\n      count = current_state->count;           /* Already matched */\n      if (count > 0) { ADD_ACTIVE(state_offset + 3, 0); }\n      if (clen > 0)\n        {\n        int category = ucp_findchar(c, &chartype, &othercase);\n        int rqdtype = code[2];\n        if ((d == OP_PROP) ==\n            (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype)))\n          { count++; ADD_NEW(state_offset, count); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EXTUNI_EXTRA + OP_TYPEPLUS:\n      case OP_EXTUNI_EXTRA + OP_TYPEMINPLUS:\n      count = current_state->count;  /* Already matched */\n      if (count > 0) { ADD_ACTIVE(state_offset + 2, 0); }\n      if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M)\n        {\n        const uschar *nptr = ptr + clen;\n        int ncount = 0;\n        while (nptr < end_subject)\n          {\n          int nd;\n          int ndlen = 1;\n          GETCHARLEN(nd, nptr, ndlen);\n          if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break;\n          ncount++;\n          nptr += ndlen;\n          }\n        count++;\n        ADD_NEW_DATA(-state_offset, count, ncount);\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_PROP_EXTRA + OP_TYPEQUERY:\n      case OP_PROP_EXTRA + OP_TYPEMINQUERY:\n      count = 3;\n      goto QS1;\n\n      case OP_PROP_EXTRA + OP_TYPESTAR:\n      case OP_PROP_EXTRA + OP_TYPEMINSTAR:\n      count = 0;\n\n      QS1:\n\n      ADD_ACTIVE(state_offset + 3, 0);\n      if (clen > 0)\n        {\n        int category = ucp_findchar(c, &chartype, &othercase);\n        int rqdtype = code[2];\n        if ((d == OP_PROP) ==\n            (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype)))\n          { ADD_NEW(state_offset + count, 0); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EXTUNI_EXTRA + OP_TYPEQUERY:\n      case OP_EXTUNI_EXTRA + OP_TYPEMINQUERY:\n      count = 2;\n      goto QS2;\n\n      case OP_EXTUNI_EXTRA + OP_TYPESTAR:\n      case OP_EXTUNI_EXTRA + OP_TYPEMINSTAR:\n      count = 0;\n\n      QS2:\n\n      ADD_ACTIVE(state_offset + 2, 0);\n      if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M)\n        {\n        const uschar *nptr = ptr + clen;\n        int ncount = 0;\n        while (nptr < end_subject)\n          {\n          int nd;\n          int ndlen = 1;\n          GETCHARLEN(nd, nptr, ndlen);\n          if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break;\n          ncount++;\n          nptr += ndlen;\n          }\n        ADD_NEW_DATA(-(state_offset + count), 0, ncount);\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_PROP_EXTRA + OP_TYPEEXACT:\n      case OP_PROP_EXTRA + OP_TYPEUPTO:\n      case OP_PROP_EXTRA + OP_TYPEMINUPTO:\n      if (codevalue != OP_PROP_EXTRA + OP_TYPEEXACT)\n        { ADD_ACTIVE(state_offset + 5, 0); }\n      count = current_state->count;  /* Number already matched */\n      if (clen > 0)\n        {\n        int category = ucp_findchar(c, &chartype, &othercase);\n        int rqdtype = code[4];\n        if ((d == OP_PROP) ==\n            (rqdtype == ((rqdtype >= 128)? (category + 128) : chartype)))\n          {\n          if (++count >= GET2(code, 1))\n            { ADD_NEW(state_offset + 5, 0); }\n          else\n            { ADD_NEW(state_offset, count); }\n          }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EXTUNI_EXTRA + OP_TYPEEXACT:\n      case OP_EXTUNI_EXTRA + OP_TYPEUPTO:\n      case OP_EXTUNI_EXTRA + OP_TYPEMINUPTO:\n      if (codevalue != OP_EXTUNI_EXTRA + OP_TYPEEXACT)\n        { ADD_ACTIVE(state_offset + 4, 0); }\n      count = current_state->count;  /* Number already matched */\n      if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M)\n        {\n        const uschar *nptr = ptr + clen;\n        int ncount = 0;\n        while (nptr < end_subject)\n          {\n          int nd;\n          int ndlen = 1;\n          GETCHARLEN(nd, nptr, ndlen);\n          if (ucp_findchar(nd, &chartype, &othercase) != ucp_M) break;\n          ncount++;\n          nptr += ndlen;\n          }\n        if (++count >= GET2(code, 1))\n          { ADD_NEW_DATA(-(state_offset + 4), 0, ncount); }\n        else\n          { ADD_NEW_DATA(-state_offset, count, ncount); }\n        }\n      break;\n\n/* ========================================================================== */\n      /* These opcodes are followed by a character that is usually compared\n      to the current subject character; it is loaded into d. We still get\n      here even if there is no subject character, because in some cases zero\n      repetitions are permitted. */\n\n      /*-----------------------------------------------------------------*/\n      case OP_CHAR:\n      if (clen > 0 && c == d) { ADD_NEW(state_offset + dlen + 1, 0); }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_CHARNC:\n      if (clen == 0) break;\n\n#ifdef SUPPORT_UTF8\n      if (utf8)\n        {\n        if (c == d) { ADD_NEW(state_offset + dlen + 1, 0); } else\n          {\n          if (c < 128) othercase = fcc[c]; else\n\n          /* If we have Unicode property support, we can use it to test the\n          other case of the character, if there is one. The result of\n          ucp_findchar() is < 0 if the char isn't found, and othercase is\n          returned as zero if there isn't another case. */\n\n#ifdef SUPPORT_UCP\n          if (ucp_findchar(c, &chartype, &othercase) < 0)\n#endif\n            othercase = -1;\n\n          if (d == othercase) { ADD_NEW(state_offset + dlen + 1, 0); }\n          }\n        }\n      else\n#endif  /* SUPPORT_UTF8 */\n\n      /* Non-UTF-8 mode */\n        {\n        if (lcc[c] == lcc[d]) { ADD_NEW(state_offset + 2, 0); }\n        }\n      break;\n\n\n#ifdef SUPPORT_UCP\n      /*-----------------------------------------------------------------*/\n      /* This is a tricky one because it can match more than one character.\n      Find out how many characters to skip, and then set up a negative state\n      to wait for them to pass before continuing. */\n\n      case OP_EXTUNI:\n      if (clen > 0 && ucp_findchar(c, &chartype, &othercase) != ucp_M)\n        {\n        const uschar *nptr = ptr + clen;\n        int ncount = 0;\n        while (nptr < end_subject)\n          {\n          int nclen = 1;\n          GETCHARLEN(c, nptr, nclen);\n          if (ucp_findchar(c, &chartype, &othercase) != ucp_M) break;\n          ncount++;\n          nptr += nclen;\n          }\n        ADD_NEW_DATA(-(state_offset + 1), 0, ncount);\n        }\n      break;\n#endif\n\n      /*-----------------------------------------------------------------*/\n      /* Match a negated single character. This is only used for one-byte\n      characters, that is, we know that d < 256. The character we are\n      checking (c) can be multibyte. */\n\n      case OP_NOT:\n      if (clen > 0)\n        {\n        int otherd = ((ims & PCRE_CASELESS) != 0)? fcc[d] : d;\n        if (c != d && c != otherd) { ADD_NEW(state_offset + dlen + 1, 0); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_PLUS:\n      case OP_MINPLUS:\n      case OP_NOTPLUS:\n      case OP_NOTMINPLUS:\n      count = current_state->count;  /* Already matched */\n      if (count > 0) { ADD_ACTIVE(state_offset + dlen + 1, 0); }\n      if (clen > 0)\n        {\n        int otherd = -1;\n        if ((ims & PCRE_CASELESS) != 0)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n#ifdef SUPPORT_UCP\n            if (ucp_findchar(d, &chartype, &otherd) < 0) otherd = -1;\n#endif  /* SUPPORT_UCP */\n            }\n          else\n#endif  /* SUPPORT_UTF8 */\n          otherd = fcc[d];\n          }\n        if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR))\n          { count++; ADD_NEW(state_offset, count); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_QUERY:\n      case OP_MINQUERY:\n      case OP_NOTQUERY:\n      case OP_NOTMINQUERY:\n      ADD_ACTIVE(state_offset + dlen + 1, 0);\n      if (clen > 0)\n        {\n        int otherd = -1;\n        if ((ims && PCRE_CASELESS) != 0)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n#ifdef SUPPORT_UCP\n            if (ucp_findchar(c, &chartype, &otherd) < 0) otherd = -1;\n#endif  /* SUPPORT_UCP */\n            }\n          else\n#endif  /* SUPPORT_UTF8 */\n          otherd = fcc[d];\n          }\n        if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR))\n          { ADD_NEW(state_offset + dlen + 1, 0); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_STAR:\n      case OP_MINSTAR:\n      case OP_NOTSTAR:\n      case OP_NOTMINSTAR:\n      ADD_ACTIVE(state_offset + dlen + 1, 0);\n      if (clen > 0)\n        {\n        int otherd = -1;\n        if ((ims && PCRE_CASELESS) != 0)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n#ifdef SUPPORT_UCP\n            if (ucp_findchar(c, &chartype, &otherd) < 0) otherd = -1;\n#endif  /* SUPPORT_UCP */\n            }\n          else\n#endif  /* SUPPORT_UTF8 */\n          otherd = fcc[d];\n          }\n        if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR))\n          { ADD_NEW(state_offset, 0); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_EXACT:\n      case OP_UPTO:\n      case OP_MINUPTO:\n      case OP_NOTEXACT:\n      case OP_NOTUPTO:\n      case OP_NOTMINUPTO:\n      if (codevalue != OP_EXACT && codevalue != OP_NOTEXACT)\n        { ADD_ACTIVE(state_offset + dlen + 3, 0); }\n      count = current_state->count;  /* Number already matched */\n      if (clen > 0)\n        {\n        int otherd = -1;\n        if ((ims & PCRE_CASELESS) != 0)\n          {\n#ifdef SUPPORT_UTF8\n          if (utf8 && c >= 128)\n            {\n#ifdef SUPPORT_UCP\n            if (ucp_findchar(d, &chartype, &otherd) < 0) otherd = -1;\n#endif  /* SUPPORT_UCP */\n            }\n          else\n#endif  /* SUPPORT_UTF8 */\n          otherd = fcc[d];\n          }\n        if ((c == d || c == otherd) == (codevalue < OP_NOTSTAR))\n          {\n          if (++count >= GET2(code, 1))\n            { ADD_NEW(state_offset + dlen + 3, 0); }\n          else\n            { ADD_NEW(state_offset, count); }\n          }\n        }\n      break;\n\n\n/* ========================================================================== */\n      /* These are the class-handling opcodes */\n\n      case OP_CLASS:\n      case OP_NCLASS:\n      case OP_XCLASS:\n        {\n        BOOL isinclass = FALSE;\n        int next_state_offset;\n        const uschar *ecode;\n\n        /* For a simple class, there is always just a 32-byte table, and we\n        can set isinclass from it. */\n\n        if (codevalue != OP_XCLASS)\n          {\n          ecode = code + 33;\n          if (clen > 0)\n            {\n            isinclass = (c > 255)? (codevalue == OP_NCLASS) :\n              ((code[1 + c/8] & (1 << (c&7))) != 0);\n            }\n          }\n\n        /* An extended class may have a table or a list of single characters,\n        ranges, or both, and it may be positive or negative. There's a\n        function that sorts all this out. */\n\n        else\n         {\n         ecode = code + GET(code, 1);\n         if (clen > 0) isinclass = _pcre_xclass(c, code + 1 + LINK_SIZE);\n         }\n\n        /* At this point, isinclass is set for all kinds of class, and ecode\n        points to the byte after the end of the class. If there is a\n        quantifier, this is where it will be. */\n\n        next_state_offset = ecode - start_code;\n\n        switch (*ecode)\n          {\n          case OP_CRSTAR:\n          case OP_CRMINSTAR:\n          ADD_ACTIVE(next_state_offset + 1, 0);\n          if (isinclass) { ADD_NEW(state_offset, 0); }\n          break;\n\n          case OP_CRPLUS:\n          case OP_CRMINPLUS:\n          count = current_state->count;  /* Already matched */\n          if (count > 0) { ADD_ACTIVE(next_state_offset + 1, 0); }\n          if (isinclass) { count++; ADD_NEW(state_offset, count); }\n          break;\n\n          case OP_CRQUERY:\n          case OP_CRMINQUERY:\n          ADD_ACTIVE(next_state_offset + 1, 0);\n          if (isinclass) { ADD_NEW(next_state_offset + 1, 0); }\n          break;\n\n          case OP_CRRANGE:\n          case OP_CRMINRANGE:\n          count = current_state->count;  /* Already matched */\n          if (count >= GET2(ecode, 1))\n            { ADD_ACTIVE(next_state_offset + 5, 0); }\n          if (isinclass)\n            {\n            if (++count >= GET2(ecode, 3))\n              { ADD_NEW(next_state_offset + 5, 0); }\n            else\n              { ADD_NEW(state_offset, count); }\n            }\n          break;\n\n          default:\n          if (isinclass) { ADD_NEW(next_state_offset, 0); }\n          break;\n          }\n        }\n      break;\n\n/* ========================================================================== */\n      /* These are the opcodes for fancy brackets of various kinds. We have\n      to use recursion in order to handle them. */\n\n      case OP_ASSERT:\n      case OP_ASSERT_NOT:\n      case OP_ASSERTBACK:\n      case OP_ASSERTBACK_NOT:\n        {\n        int rc;\n        int local_offsets[2];\n        int local_workspace[1000];\n        const uschar *endasscode = code + GET(code, 1);\n\n        while (*endasscode == OP_ALT) endasscode += GET(endasscode, 1);\n\n        rc = internal_dfa_exec(\n          md,                                   /* static match data */\n          code,                                 /* this subexpression's code */\n          ptr,                                  /* where we currently are */\n          ptr - start_subject,                  /* start offset */\n          local_offsets,                        /* offset vector */\n          sizeof(local_offsets)/sizeof(int),    /* size of same */\n          local_workspace,                      /* workspace vector */\n          sizeof(local_workspace)/sizeof(int),  /* size of same */\n          ims,                                  /* the current ims flags */\n          rlevel,                               /* function recursion level */\n          recursing);                           /* pass on regex recursion */\n\n        if ((rc >= 0) == (codevalue == OP_ASSERT || codevalue == OP_ASSERTBACK))\n            { ADD_ACTIVE(endasscode + LINK_SIZE + 1 - start_code, 0); }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_COND:\n        {\n        int local_offsets[1000];\n        int local_workspace[1000];\n        int condcode = code[LINK_SIZE+1];\n\n        /* The only supported version of OP_CREF is for the value 0xffff, which\n        means \"test if in a recursion\". */\n\n        if (condcode == OP_CREF)\n          {\n          int value = GET2(code, LINK_SIZE+2);\n          if (value != 0xffff) return PCRE_ERROR_DFA_UCOND;\n          if (recursing > 0) { ADD_ACTIVE(state_offset + LINK_SIZE + 4, 0); }\n            else { ADD_ACTIVE(state_offset + GET(code, 1) + LINK_SIZE + 1, 0); }\n          }\n\n        /* Otherwise, the condition is an assertion */\n\n        else\n          {\n          int rc;\n          const uschar *asscode = code + LINK_SIZE + 1;\n          const uschar *endasscode = asscode + GET(asscode, 1);\n\n          while (*endasscode == OP_ALT) endasscode += GET(endasscode, 1);\n\n          rc = internal_dfa_exec(\n            md,                                   /* fixed match data */\n            asscode,                              /* this subexpression's code */\n            ptr,                                  /* where we currently are */\n            ptr - start_subject,                  /* start offset */\n            local_offsets,                        /* offset vector */\n            sizeof(local_offsets)/sizeof(int),    /* size of same */\n            local_workspace,                      /* workspace vector */\n            sizeof(local_workspace)/sizeof(int),  /* size of same */\n            ims,                                  /* the current ims flags */\n            rlevel,                               /* function recursion level */\n            recursing);                           /* pass on regex recursion */\n\n          if ((rc >= 0) ==\n                (condcode == OP_ASSERT || condcode == OP_ASSERTBACK))\n            { ADD_ACTIVE(endasscode + LINK_SIZE + 1 - start_code, 0); }\n          else\n            { ADD_ACTIVE(state_offset + GET(code, 1) + LINK_SIZE + 1, 0); }\n          }\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_RECURSE:\n        {\n        int local_offsets[1000];\n        int local_workspace[1000];\n        int rc;\n\n        DPRINTF((\"%.*sStarting regex recursion %d\\n\", rlevel*2-2, SP,\n          recursing + 1));\n\n        rc = internal_dfa_exec(\n          md,                                   /* fixed match data */\n          start_code + GET(code, 1),            /* this subexpression's code */\n          ptr,                                  /* where we currently are */\n          ptr - start_subject,                  /* start offset */\n          local_offsets,                        /* offset vector */\n          sizeof(local_offsets)/sizeof(int),    /* size of same */\n          local_workspace,                      /* workspace vector */\n          sizeof(local_workspace)/sizeof(int),  /* size of same */\n          ims,                                  /* the current ims flags */\n          rlevel,                               /* function recursion level */\n          recursing + 1);                       /* regex recurse level */\n\n        DPRINTF((\"%.*sReturn from regex recursion %d: rc=%d\\n\", rlevel*2-2, SP,\n          recursing + 1, rc));\n\n        /* Ran out of internal offsets */\n\n        if (rc == 0) return PCRE_ERROR_DFA_RECURSE;\n\n        /* For each successful matched substring, set up the next state with a\n        count of characters to skip before trying it. Note that the count is in\n        characters, not bytes. */\n\n        if (rc > 0)\n          {\n          for (rc = rc*2 - 2; rc >= 0; rc -= 2)\n            {\n            const uschar *p = start_subject + local_offsets[rc];\n            const uschar *pp = start_subject + local_offsets[rc+1];\n            int charcount = local_offsets[rc+1] - local_offsets[rc];\n            while (p < pp) if ((*p++ & 0xc0) == 0x80) charcount--;\n            if (charcount > 0)\n              {\n              ADD_NEW_DATA(-(state_offset + LINK_SIZE + 1), 0, (charcount - 1));\n              }\n            else\n              {\n              ADD_ACTIVE(state_offset + LINK_SIZE + 1, 0);\n              }\n            }\n          }\n        else if (rc != PCRE_ERROR_NOMATCH) return rc;\n        }\n      break;\n\n      /*-----------------------------------------------------------------*/\n      case OP_ONCE:\n        {\n        const uschar *endcode;\n        int local_offsets[2];\n        int local_workspace[1000];\n\n        int rc = internal_dfa_exec(\n          md,                                   /* fixed match data */\n          code,                                 /* this subexpression's code */\n          ptr,                                  /* where we currently are */\n          ptr - start_subject,                  /* start offset */\n          local_offsets,                        /* offset vector */\n          sizeof(local_offsets)/sizeof(int),    /* size of same */\n          local_workspace,                      /* workspace vector */\n          sizeof(local_workspace)/sizeof(int),  /* size of same */\n          ims,                                  /* the current ims flags */\n          rlevel,                               /* function recursion level */\n          recursing);                           /* pass on regex recursion */\n\n        if (rc >= 0)\n          {\n          const uschar *end_subpattern = code;\n          int charcount = local_offsets[1] - local_offsets[0];\n          int next_state_offset, repeat_state_offset;\n          BOOL is_repeated;\n\n          do { end_subpattern += GET(end_subpattern, 1); }\n            while (*end_subpattern == OP_ALT);\n          next_state_offset = end_subpattern - start_code + LINK_SIZE + 1;\n\n          /* If the end of this subpattern is KETRMAX or KETRMIN, we must\n          arrange for the repeat state also to be added to the relevant list.\n          Calculate the offset, or set -1 for no repeat. */\n\n          repeat_state_offset = (*end_subpattern == OP_KETRMAX ||\n                                 *end_subpattern == OP_KETRMIN)?\n            end_subpattern - start_code - GET(end_subpattern, 1) : -1;\n\n          /* If we have matched an empty string, add the next state at the\n          current character pointer. This is important so that the duplicate\n          checking kicks in, which is what breaks infinite loops that match an\n          empty string. */\n\n          if (charcount == 0)\n            {\n            ADD_ACTIVE(next_state_offset, 0);\n            }\n\n          /* Optimization: if there are no more active states, and there\n          are no new states yet set up, then skip over the subject string\n          right here, to save looping. Otherwise, set up the new state to swing\n          into action when the end of the substring is reached. */\n\n          else if (i + 1 >= active_count && new_count == 0)\n            {\n            ptr += charcount;\n            clen = 0;\n            ADD_NEW(next_state_offset, 0);\n\n            /* If we are adding a repeat state at the new character position,\n            we must fudge things so that it is the only current state.\n            Otherwise, it might be a duplicate of one we processed before, and\n            that would cause it to be skipped. */\n\n            if (repeat_state_offset >= 0)\n              {\n              next_active_state = active_states;\n              active_count = 0;\n              i = -1;\n              ADD_ACTIVE(repeat_state_offset, 0);\n              }\n            }\n          else\n            {\n            const uschar *p = start_subject + local_offsets[0];\n            const uschar *pp = start_subject + local_offsets[1];\n            while (p < pp) if ((*p++ & 0xc0) == 0x80) charcount--;\n            ADD_NEW_DATA(-next_state_offset, 0, (charcount - 1));\n            if (repeat_state_offset >= 0)\n              { ADD_NEW_DATA(-repeat_state_offset, 0, (charcount - 1)); }\n            }\n\n          }\n        else if (rc != PCRE_ERROR_NOMATCH) return rc;\n        }\n      break;\n\n\n/* ========================================================================== */\n      /* Handle callouts */\n\n      case OP_CALLOUT:\n      if (pcre_callout != NULL)\n        {\n        int rrc;\n        pcre_callout_block cb;\n        cb.version          = 1;   /* Version 1 of the callout block */\n        cb.callout_number   = code[1];\n        cb.offset_vector    = offsets;\n        cb.subject          = (char *)start_subject;\n        cb.subject_length   = end_subject - start_subject;\n        cb.start_match      = current_subject - start_subject;\n        cb.current_position = ptr - start_subject;\n        cb.pattern_position = GET(code, 2);\n        cb.next_item_length = GET(code, 2 + LINK_SIZE);\n        cb.capture_top      = 1;\n        cb.capture_last     = -1;\n        cb.callout_data     = md->callout_data;\n        if ((rrc = (*pcre_callout)(&cb)) < 0) return rrc;   /* Abandon */\n        if (rrc == 0) { ADD_ACTIVE(state_offset + 2 + 2*LINK_SIZE, 0); }\n        }\n      break;\n\n\n/* ========================================================================== */\n      default:        /* Unsupported opcode */\n      return PCRE_ERROR_DFA_UITEM;\n      }\n\n    NEXT_ACTIVE_STATE: continue;\n\n    }      /* End of loop scanning active states */\n\n  /* We have finished the processing at the current subject character. If no\n  new states have been set for the next character, we have found all the\n  matches that we are going to find. If we are at the top level and partial\n  matching has been requested, check for appropriate conditions. */\n\n  if (new_count <= 0)\n    {\n    if (match_count < 0 &&                     /* No matches found */\n        rlevel == 1 &&                         /* Top level match function */\n        (md->moptions & PCRE_PARTIAL) != 0 &&  /* Want partial matching */\n        ptr >= end_subject &&                  /* Reached end of subject */\n        ptr > current_subject)                 /* Matched non-empty string */\n      {\n      if (offsetcount >= 2)\n        {\n        offsets[0] = current_subject - start_subject;\n        offsets[1] = end_subject - start_subject;\n        }\n      match_count = PCRE_ERROR_PARTIAL;\n      }\n\n    DPRINTF((\"%.*sEnd of internal_dfa_exec %d: returning %d\\n\"\n      \"%.*s---------------------\\n\\n\", rlevel*2-2, SP, rlevel, match_count,\n      rlevel*2-2, SP));\n    return match_count;\n    }\n\n  /* One or more states are active for the next character. */\n\n  ptr += clen;    /* Advance to next subject character */\n  }               /* Loop to move along the subject string */\n\n/* Control never gets here, but we must keep the compiler happy. */\n\nDPRINTF((\"%.*s+++ Unexpected end of internal_dfa_exec %d +++\\n\"\n  \"%.*s---------------------\\n\\n\", rlevel*2-2, SP, rlevel, rlevel*2-2, SP));\nreturn PCRE_ERROR_NOMATCH;\n}\n\n\n\n\n/*************************************************\n*    Execute a Regular Expression - DFA engine   *\n*************************************************/\n\n/* This external function applies a compiled re to a subject string using a DFA\nengine. This function calls the internal function multiple times if the pattern\nis not anchored.\n\nArguments:\n  argument_re     points to the compiled expression\n  extra_data      points to extra data or is NULL (not currently used)\n  subject         points to the subject string\n  length          length of subject string (may contain binary zeros)\n  start_offset    where to start in the subject string\n  options         option bits\n  offsets         vector of match offsets\n  offsetcount     size of same\n  workspace       workspace vector\n  wscount         size of same\n\nReturns:          > 0 => number of match offset pairs placed in offsets\n                  = 0 => offsets overflowed; longest matches are present\n                   -1 => failed to match\n                 < -1 => some kind of unexpected problem\n*/\n\nEXPORT int\npcre_dfa_exec(const pcre *argument_re, const pcre_extra *extra_data,\n  const char *subject, int length, int start_offset, int options, int *offsets,\n  int offsetcount, int *workspace, int wscount)\n{\nreal_pcre *re = (real_pcre *)argument_re;\ndfa_match_data match_block;\nBOOL utf8, anchored, startline, firstline;\nconst uschar *current_subject, *end_subject, *lcc;\n\npcre_study_data internal_study;\nconst pcre_study_data *study = NULL;\nreal_pcre internal_re;\n\nconst uschar *req_byte_ptr;\nconst uschar *start_bits = NULL;\nBOOL first_byte_caseless = FALSE;\nBOOL req_byte_caseless = FALSE;\nint first_byte = -1;\nint req_byte = -1;\nint req_byte2 = -1;\n\n/* Plausibility checks */\n\nif ((options & ~PUBLIC_DFA_EXEC_OPTIONS) != 0) return PCRE_ERROR_BADOPTION;\nif (re == NULL || subject == NULL || workspace == NULL ||\n   (offsets == NULL && offsetcount > 0)) return PCRE_ERROR_NULL;\nif (offsetcount < 0) return PCRE_ERROR_BADCOUNT;\nif (wscount < 20) return PCRE_ERROR_DFA_WSSIZE;\n\n/* We need to find the pointer to any study data before we test for byte\nflipping, so we scan the extra_data block first. This may set two fields in the\nmatch block, so we must initialize them beforehand. However, the other fields\nin the match block must not be set until after the byte flipping. */\n\nmatch_block.tables = re->tables;\nmatch_block.callout_data = NULL;\n\nif (extra_data != NULL)\n  {\n  unsigned int flags = extra_data->flags;\n  if ((flags & PCRE_EXTRA_STUDY_DATA) != 0)\n    study = (const pcre_study_data *)extra_data->study_data;\n  if ((flags & PCRE_EXTRA_MATCH_LIMIT) != 0) return PCRE_ERROR_DFA_UMLIMIT;\n  if ((flags & PCRE_EXTRA_CALLOUT_DATA) != 0)\n    match_block.callout_data = extra_data->callout_data;\n  if ((flags & PCRE_EXTRA_TABLES) != 0)\n    match_block.tables = extra_data->tables;\n  }\n\n/* Check that the first field in the block is the magic number. If it is not,\ntest for a regex that was compiled on a host of opposite endianness. If this is\nthe case, flipped values are put in internal_re and internal_study if there was\nstudy data too. */\n\nif (re->magic_number != MAGIC_NUMBER)\n  {\n  re = _pcre_try_flipped(re, &internal_re, study, &internal_study);\n  if (re == NULL) return PCRE_ERROR_BADMAGIC;\n  if (study != NULL) study = &internal_study;\n  }\n\n/* Set some local values */\n\ncurrent_subject = (const unsigned char *)subject + start_offset;\nend_subject = (const unsigned char *)subject + length;\nreq_byte_ptr = current_subject - 1;\n\nutf8 = (re->options & PCRE_UTF8) != 0;\nanchored = (options & PCRE_ANCHORED) != 0 || (re->options & PCRE_ANCHORED) != 0;\n\n/* The remaining fixed data for passing around. */\n\nmatch_block.start_code = (const uschar *)argument_re +\n    re->name_table_offset + re->name_count * re->name_entry_size;\nmatch_block.start_subject = (const unsigned char *)subject;\nmatch_block.end_subject = end_subject;\nmatch_block.moptions = options;\nmatch_block.poptions = re->options;\n\n/* Check a UTF-8 string if required. Unfortunately there's no way of passing\nback the character offset. */\n\n#ifdef SUPPORT_UTF8\nif (utf8 && (options & PCRE_NO_UTF8_CHECK) == 0)\n  {\n  if (_pcre_valid_utf8((uschar *)subject, length) >= 0)\n    return PCRE_ERROR_BADUTF8;\n  if (start_offset > 0 && start_offset < length)\n    {\n    int tb = ((uschar *)subject)[start_offset];\n    if (tb > 127)\n      {\n      tb &= 0xc0;\n      if (tb != 0 && tb != 0xc0) return PCRE_ERROR_BADUTF8_OFFSET;\n      }\n    }\n  }\n#endif\n\n/* If the exec call supplied NULL for tables, use the inbuilt ones. This\nis a feature that makes it possible to save compiled regex and re-use them\nin other programs later. */\n\nif (match_block.tables == NULL) match_block.tables = _pcre_default_tables;\n\n/* The lower casing table and the \"must be at the start of a line\" flag are\nused in a loop when finding where to start. */\n\nlcc = match_block.tables + lcc_offset;\nstartline = (re->options & PCRE_STARTLINE) != 0;\nfirstline = (re->options & PCRE_FIRSTLINE) != 0;\n\n/* Set up the first character to match, if available. The first_byte value is\nnever set for an anchored regular expression, but the anchoring may be forced\nat run time, so we have to test for anchoring. The first char may be unset for\nan unanchored pattern, of course. If there's no first char and the pattern was\nstudied, there may be a bitmap of possible first characters. */\n\nif (!anchored)\n  {\n  if ((re->options & PCRE_FIRSTSET) != 0)\n    {\n    first_byte = re->first_byte & 255;\n    if ((first_byte_caseless = ((re->first_byte & REQ_CASELESS) != 0)) == TRUE)\n      first_byte = lcc[first_byte];\n    }\n  else\n    {\n    if (startline && study != NULL &&\n         (study->options & PCRE_STUDY_MAPPED) != 0)\n      start_bits = study->start_bits;\n    }\n  }\n\n/* For anchored or unanchored matches, there may be a \"last known required\ncharacter\" set. */\n\nif ((re->options & PCRE_REQCHSET) != 0)\n  {\n  req_byte = re->req_byte & 255;\n  req_byte_caseless = (re->req_byte & REQ_CASELESS) != 0;\n  req_byte2 = (match_block.tables + fcc_offset)[req_byte];  /* case flipped */\n  }\n\n/* Call the main matching function, looping for a non-anchored regex after a\nfailed match. Unless restarting, optimize by moving to the first match\ncharacter if possible, when not anchored. Then unless wanting a partial match,\ncheck for a required later character. */\n\nfor (;;)\n  {\n  int rc;\n\n  if ((options & PCRE_DFA_RESTART) == 0)\n    {\n    const uschar *save_end_subject = end_subject;\n\n    /* Advance to a unique first char if possible. If firstline is TRUE, the\n    start of the match is constrained to the first line of a multiline string.\n    Implement this by temporarily adjusting end_subject so that we stop scanning\n    at a newline. If the match fails at the newline, later code breaks this loop.\n    */\n\n    if (firstline)\n      {\n      const uschar *t = current_subject;\n      while (t < save_end_subject && *t != '\\n') t++;\n      end_subject = t;\n      }\n\n    if (first_byte >= 0)\n      {\n      if (first_byte_caseless)\n        while (current_subject < end_subject &&\n               lcc[*current_subject] != first_byte)\n          current_subject++;\n      else\n        while (current_subject < end_subject && *current_subject != first_byte)\n          current_subject++;\n      }\n\n    /* Or to just after \\n for a multiline match if possible */\n\n    else if (startline)\n      {\n      if (current_subject > match_block.start_subject + start_offset)\n        {\n        while (current_subject < end_subject && current_subject[-1] != NEWLINE)\n          current_subject++;\n        }\n      }\n\n    /* Or to a non-unique first char after study */\n\n    else if (start_bits != NULL)\n      {\n      while (current_subject < end_subject)\n        {\n        register unsigned int c = *current_subject;\n        if ((start_bits[c/8] & (1 << (c&7))) == 0) current_subject++;\n          else break;\n        }\n      }\n\n    /* Restore fudged end_subject */\n\n    end_subject = save_end_subject;\n    }\n\n  /* If req_byte is set, we know that that character must appear in the subject\n  for the match to succeed. If the first character is set, req_byte must be\n  later in the subject; otherwise the test starts at the match point. This\n  optimization can save a huge amount of work in patterns with nested unlimited\n  repeats that aren't going to match. Writing separate code for cased/caseless\n  versions makes it go faster, as does using an autoincrement and backing off\n  on a match.\n\n  HOWEVER: when the subject string is very, very long, searching to its end can\n  take a long time, and give bad performance on quite ordinary patterns. This\n  showed up when somebody was matching /^C/ on a 32-megabyte string... so we\n  don't do this when the string is sufficiently long.\n\n  ALSO: this processing is disabled when partial matching is requested.\n  */\n\n  if (req_byte >= 0 &&\n      end_subject - current_subject < REQ_BYTE_MAX &&\n      (options & PCRE_PARTIAL) == 0)\n    {\n    register const uschar *p = current_subject + ((first_byte >= 0)? 1 : 0);\n\n    /* We don't need to repeat the search if we haven't yet reached the\n    place we found it at last time. */\n\n    if (p > req_byte_ptr)\n      {\n      if (req_byte_caseless)\n        {\n        while (p < end_subject)\n          {\n          register int pp = *p++;\n          if (pp == req_byte || pp == req_byte2) { p--; break; }\n          }\n        }\n      else\n        {\n        while (p < end_subject)\n          {\n          if (*p++ == req_byte) { p--; break; }\n          }\n        }\n\n      /* If we can't find the required character, break the matching loop,\n      which will cause a return or PCRE_ERROR_NOMATCH. */\n\n      if (p >= end_subject) break;\n\n      /* If we have found the required character, save the point where we\n      found it, so that we don't search again next time round the loop if\n      the start hasn't passed this character yet. */\n\n      req_byte_ptr = p;\n      }\n    }\n\n  /* OK, now we can do the business */\n\n  rc = internal_dfa_exec(\n    &match_block,                              /* fixed match data */\n    match_block.start_code,                    /* this subexpression's code */\n    current_subject,                           /* where we currently are */\n    start_offset,                              /* start offset in subject */\n    offsets,                                   /* offset vector */\n    offsetcount,                               /* size of same */\n    workspace,                                 /* workspace vector */\n    wscount,                                   /* size of same */\n    re->options & (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL), /* ims flags */\n    0,                                         /* function recurse level */\n    0);                                        /* regex recurse level */\n\n  /* Anything other than \"no match\" means we are done, always; otherwise, carry\n  on only if not anchored. */\n\n  if (rc != PCRE_ERROR_NOMATCH || anchored) return rc;\n\n  /* Advance to the next subject character unless we are at the end of a line\n  and firstline is set. */\n\n  if (firstline && *current_subject == NEWLINE) break;\n  current_subject++;\n\n#ifdef SUPPORT_UTF8\n  if (utf8)\n    {\n    while (current_subject < end_subject && (*current_subject & 0xc0) == 0x80)\n      current_subject++;\n    }\n#endif\n\n  if (current_subject > end_subject) break;\n  }\n\nreturn PCRE_ERROR_NOMATCH;\n}\n\n/* End of pcre_dfa_exec.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_exec.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains pcre_exec(), the externally visible function that does\npattern matching using an NFA algorithm, trying to mimic Perl as closely as\npossible. There are also some static supporting functions. */\n\n\n#include \"pcre_internal.h\"\n\n\n/* Structure for building a chain of data that actually lives on the\nstack, for holding the values of the subject pointer at the start of each\nsubpattern, so as to detect when an empty string has been matched by a\nsubpattern - to break infinite loops. When NO_RECURSE is set, these blocks\nare on the heap, not on the stack. */\n\ntypedef struct eptrblock {\n  struct eptrblock *epb_prev;\n  const uschar *epb_saved_eptr;\n} eptrblock;\n\n/* Flag bits for the match() function */\n\n#define match_condassert   0x01    /* Called to check a condition assertion */\n#define match_isgroup      0x02    /* Set if start of bracketed group */\n\n/* Non-error returns from the match() function. Error returns are externally\ndefined PCRE_ERROR_xxx codes, which are all negative. */\n\n#define MATCH_MATCH        1\n#define MATCH_NOMATCH      0\n\n/* Maximum number of ints of offset to save on the stack for recursive calls.\nIf the offset vector is bigger, malloc is used. This should be a multiple of 3,\nbecause the offset vector is always a multiple of 3 long. */\n\n#define REC_STACK_SAVE_MAX 30\n\n/* Min and max values for the common repeats; for the maxima, 0 => infinity */\n\nstatic const char rep_min[] = { 0, 0, 1, 1, 0, 0 };\nstatic const char rep_max[] = { 0, 0, 0, 0, 1, 1 };\n\n\n\n#ifdef DEBUG\n/*************************************************\n*        Debugging function to print chars       *\n*************************************************/\n\n/* Print a sequence of chars in printable format, stopping at the end of the\nsubject if the requested.\n\nArguments:\n  p           points to characters\n  length      number to print\n  is_subject  TRUE if printing from within md->start_subject\n  md          pointer to matching data block, if is_subject is TRUE\n\nReturns:     nothing\n*/\n\nstatic void\npchars(const uschar *p, int length, BOOL is_subject, match_data *md)\n{\nint c;\nif (is_subject && length > md->end_subject - p) length = md->end_subject - p;\nwhile (length-- > 0)\n  if (isprint(c = *(p++))) printf(\"%c\", c); else printf(\"\\\\x%02x\", c);\n}\n#endif\n\n\n\n/*************************************************\n*          Match a back-reference                *\n*************************************************/\n\n/* If a back reference hasn't been set, the length that is passed is greater\nthan the number of characters left in the string, so the match fails.\n\nArguments:\n  offset      index into the offset vector\n  eptr        points into the subject\n  length      length to be matched\n  md          points to match data block\n  ims         the ims flags\n\nReturns:      TRUE if matched\n*/\n\nstatic BOOL\nmatch_ref(int offset, register const uschar *eptr, int length, match_data *md,\n  unsigned long int ims)\n{\nconst uschar *p = md->start_subject + md->offset_vector[offset];\n\n#ifdef DEBUG\nif (eptr >= md->end_subject)\n  printf(\"matching subject <null>\");\nelse\n  {\n  printf(\"matching subject \");\n  pchars(eptr, length, TRUE, md);\n  }\nprintf(\" against backref \");\npchars(p, length, FALSE, md);\nprintf(\"\\n\");\n#endif\n\n/* Always fail if not enough characters left */\n\nif (length > md->end_subject - eptr) return FALSE;\n\n/* Separate the caselesss case for speed */\n\nif ((ims & PCRE_CASELESS) != 0)\n  {\n  while (length-- > 0)\n    if (md->lcc[*p++] != md->lcc[*eptr++]) return FALSE;\n  }\nelse\n  { while (length-- > 0) if (*p++ != *eptr++) return FALSE; }\n\nreturn TRUE;\n}\n\n\n\n/***************************************************************************\n****************************************************************************\n                   RECURSION IN THE match() FUNCTION\n\nThe match() function is highly recursive. Some regular expressions can cause\nit to recurse thousands of times. I was writing for Unix, so I just let it\ncall itself recursively. This uses the stack for saving everything that has\nto be saved for a recursive call. On Unix, the stack can be large, and this\nworks fine.\n\nIt turns out that on non-Unix systems there are problems with programs that\nuse a lot of stack. (This despite the fact that every last chip has oodles\nof memory these days, and techniques for extending the stack have been known\nfor decades.) So....\n\nThere is a fudge, triggered by defining NO_RECURSE, which avoids recursive\ncalls by keeping local variables that need to be preserved in blocks of memory\nobtained from malloc instead instead of on the stack. Macros are used to\nachieve this so that the actual code doesn't look very different to what it\nalways used to.\n****************************************************************************\n***************************************************************************/\n\n\n/* These versions of the macros use the stack, as normal */\n\n#ifndef NO_RECURSE\n#define REGISTER register\n#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg) rx = match(ra,rb,rc,rd,re,rf,rg)\n#define RRETURN(ra) return ra\n#else\n\n\n/* These versions of the macros manage a private stack on the heap. Note\nthat the rd argument of RMATCH isn't actually used. It's the md argument of\nmatch(), which never changes. */\n\n#define REGISTER\n\n#define RMATCH(rx,ra,rb,rc,rd,re,rf,rg)\\\n  {\\\n  heapframe *newframe = (pcre_stack_malloc)(sizeof(heapframe));\\\n  if (setjmp(frame->Xwhere) == 0)\\\n    {\\\n    newframe->Xeptr = ra;\\\n    newframe->Xecode = rb;\\\n    newframe->Xoffset_top = rc;\\\n    newframe->Xims = re;\\\n    newframe->Xeptrb = rf;\\\n    newframe->Xflags = rg;\\\n    newframe->Xprevframe = frame;\\\n    frame = newframe;\\\n    DPRINTF((\"restarting from line %d\\n\", __LINE__));\\\n    goto HEAP_RECURSE;\\\n    }\\\n  else\\\n    {\\\n    DPRINTF((\"longjumped back to line %d\\n\", __LINE__));\\\n    frame = md->thisframe;\\\n    rx = frame->Xresult;\\\n    }\\\n  }\n\n#define RRETURN(ra)\\\n  {\\\n  heapframe *newframe = frame;\\\n  frame = newframe->Xprevframe;\\\n  (pcre_stack_free)(newframe);\\\n  if (frame != NULL)\\\n    {\\\n    frame->Xresult = ra;\\\n    md->thisframe = frame;\\\n    longjmp(frame->Xwhere, 1);\\\n    }\\\n  return ra;\\\n  }\n\n\n/* Structure for remembering the local variables in a private frame */\n\ntypedef struct heapframe {\n  struct heapframe *Xprevframe;\n\n  /* Function arguments that may change */\n\n  const uschar *Xeptr;\n  const uschar *Xecode;\n  int Xoffset_top;\n  long int Xims;\n  eptrblock *Xeptrb;\n  int Xflags;\n\n  /* Function local variables */\n\n  const uschar *Xcallpat;\n  const uschar *Xcharptr;\n  const uschar *Xdata;\n  const uschar *Xnext;\n  const uschar *Xpp;\n  const uschar *Xprev;\n  const uschar *Xsaved_eptr;\n\n  recursion_info Xnew_recursive;\n\n  BOOL Xcur_is_word;\n  BOOL Xcondition;\n  BOOL Xminimize;\n  BOOL Xprev_is_word;\n\n  unsigned long int Xoriginal_ims;\n\n#ifdef SUPPORT_UCP\n  int Xprop_type;\n  int Xprop_fail_result;\n  int Xprop_category;\n  int Xprop_chartype;\n  int Xprop_othercase;\n  int Xprop_test_against;\n  int *Xprop_test_variable;\n#endif\n\n  int Xctype;\n  int Xfc;\n  int Xfi;\n  int Xlength;\n  int Xmax;\n  int Xmin;\n  int Xnumber;\n  int Xoffset;\n  int Xop;\n  int Xsave_capture_last;\n  int Xsave_offset1, Xsave_offset2, Xsave_offset3;\n  int Xstacksave[REC_STACK_SAVE_MAX];\n\n  eptrblock Xnewptrb;\n\n  /* Place to pass back result, and where to jump back to */\n\n  int  Xresult;\n  jmp_buf Xwhere;\n\n} heapframe;\n\n#endif\n\n\n/***************************************************************************\n***************************************************************************/\n\n\n\n/*************************************************\n*         Match from current position            *\n*************************************************/\n\n/* On entry ecode points to the first opcode, and eptr to the first character\nin the subject string, while eptrb holds the value of eptr at the start of the\nlast bracketed group - used for breaking infinite loops matching zero-length\nstrings. This function is called recursively in many circumstances. Whenever it\nreturns a negative (error) response, the outer incarnation must also return the\nsame response.\n\nPerformance note: It might be tempting to extract commonly used fields from the\nmd structure (e.g. utf8, end_subject) into individual variables to improve\nperformance. Tests using gcc on a SPARC disproved this; in the first case, it\nmade performance worse.\n\nArguments:\n   eptr        pointer in subject\n   ecode       position in code\n   offset_top  current top pointer\n   md          pointer to \"static\" info for the match\n   ims         current /i, /m, and /s options\n   eptrb       pointer to chain of blocks containing eptr at start of\n                 brackets - for testing for empty matches\n   flags       can contain\n                 match_condassert - this is an assertion condition\n                 match_isgroup - this is the start of a bracketed group\n\nReturns:       MATCH_MATCH if matched            )  these values are >= 0\n               MATCH_NOMATCH if failed to match  )\n               a negative PCRE_ERROR_xxx value if aborted by an error condition\n                 (e.g. stopped by recursion limit)\n*/\n\nstatic int\nmatch(REGISTER const uschar *eptr, REGISTER const uschar *ecode,\n  int offset_top, match_data *md, unsigned long int ims, eptrblock *eptrb,\n  int flags)\n{\n/* These variables do not need to be preserved over recursion in this function,\nso they can be ordinary variables in all cases. Mark them with \"register\"\nbecause they are used a lot in loops. */\n\nregister int  rrc;    /* Returns from recursive calls */\nregister int  i;      /* Used for loops not involving calls to RMATCH() */\nregister int  c;      /* Character values not kept over RMATCH() calls */\nregister BOOL utf8;   /* Local copy of UTF-8 flag for speed */\n\n/* When recursion is not being used, all \"local\" variables that have to be\npreserved over calls to RMATCH() are part of a \"frame\" which is obtained from\nheap storage. Set up the top-level frame here; others are obtained from the\nheap whenever RMATCH() does a \"recursion\". See the macro definitions above. */\n\n#ifdef NO_RECURSE\nheapframe *frame = (pcre_stack_malloc)(sizeof(heapframe));\nframe->Xprevframe = NULL;            /* Marks the top level */\n\n/* Copy in the original argument variables */\n\nframe->Xeptr = eptr;\nframe->Xecode = ecode;\nframe->Xoffset_top = offset_top;\nframe->Xims = ims;\nframe->Xeptrb = eptrb;\nframe->Xflags = flags;\n\n/* This is where control jumps back to to effect \"recursion\" */\n\nHEAP_RECURSE:\n\n/* Macros make the argument variables come from the current frame */\n\n#define eptr               frame->Xeptr\n#define ecode              frame->Xecode\n#define offset_top         frame->Xoffset_top\n#define ims                frame->Xims\n#define eptrb              frame->Xeptrb\n#define flags              frame->Xflags\n\n/* Ditto for the local variables */\n\n#ifdef SUPPORT_UTF8\n#define charptr            frame->Xcharptr\n#endif\n#define callpat            frame->Xcallpat\n#define data               frame->Xdata\n#define next               frame->Xnext\n#define pp                 frame->Xpp\n#define prev               frame->Xprev\n#define saved_eptr         frame->Xsaved_eptr\n\n#define new_recursive      frame->Xnew_recursive\n\n#define cur_is_word        frame->Xcur_is_word\n#define condition          frame->Xcondition\n#define minimize           frame->Xminimize\n#define prev_is_word       frame->Xprev_is_word\n\n#define original_ims       frame->Xoriginal_ims\n\n#ifdef SUPPORT_UCP\n#define prop_type          frame->Xprop_type\n#define prop_fail_result   frame->Xprop_fail_result\n#define prop_category      frame->Xprop_category\n#define prop_chartype      frame->Xprop_chartype\n#define prop_othercase     frame->Xprop_othercase\n#define prop_test_against  frame->Xprop_test_against\n#define prop_test_variable frame->Xprop_test_variable\n#endif\n\n#define ctype              frame->Xctype\n#define fc                 frame->Xfc\n#define fi                 frame->Xfi\n#define length             frame->Xlength\n#define max                frame->Xmax\n#define min                frame->Xmin\n#define number             frame->Xnumber\n#define offset             frame->Xoffset\n#define op                 frame->Xop\n#define save_capture_last  frame->Xsave_capture_last\n#define save_offset1       frame->Xsave_offset1\n#define save_offset2       frame->Xsave_offset2\n#define save_offset3       frame->Xsave_offset3\n#define stacksave          frame->Xstacksave\n\n#define newptrb            frame->Xnewptrb\n\n/* When recursion is being used, local variables are allocated on the stack and\nget preserved during recursion in the normal way. In this environment, fi and\ni, and fc and c, can be the same variables. */\n\n#else\n#define fi i\n#define fc c\n\n\n#ifdef SUPPORT_UTF8                /* Many of these variables are used ony */\nconst uschar *charptr;             /* small blocks of the code. My normal  */\n#endif                             /* style of coding would have declared  */\nconst uschar *callpat;             /* them within each of those blocks.    */\nconst uschar *data;                /* However, in order to accommodate the */\nconst uschar *next;                /* version of this code that uses an    */\nconst uschar *pp;                  /* external \"stack\" implemented on the  */\nconst uschar *prev;                /* heap, it is easier to declare them   */\nconst uschar *saved_eptr;          /* all here, so the declarations can    */\n                                   /* be cut out in a block. The only      */\nrecursion_info new_recursive;      /* declarations within blocks below are */\n                                   /* for variables that do not have to    */\nBOOL cur_is_word;                  /* be preserved over a recursive call   */\nBOOL condition;                    /* to RMATCH().                         */\nBOOL minimize;\nBOOL prev_is_word;\n\nunsigned long int original_ims;\n\n#ifdef SUPPORT_UCP\nint prop_type;\nint prop_fail_result;\nint prop_category;\nint prop_chartype;\nint prop_othercase;\nint prop_test_against;\nint *prop_test_variable;\n#endif\n\nint ctype;\nint length;\nint max;\nint min;\nint number;\nint offset;\nint op;\nint save_capture_last;\nint save_offset1, save_offset2, save_offset3;\nint stacksave[REC_STACK_SAVE_MAX];\n\neptrblock newptrb;\n#endif\n\n/* These statements are here to stop the compiler complaining about unitialized\nvariables. */\n\n#ifdef SUPPORT_UCP\nprop_fail_result = 0;\nprop_test_against = 0;\nprop_test_variable = NULL;\n#endif\n\n/* OK, now we can get on with the real code of the function. Recursion is\nspecified by the macros RMATCH and RRETURN. When NO_RECURSE is *not* defined,\nthese just turn into a recursive call to match() and a \"return\", respectively.\nHowever, RMATCH isn't like a function call because it's quite a complicated\nmacro. It has to be used in one particular way. This shouldn't, however, impact\nperformance when true recursion is being used. */\n\nif (md->match_call_count++ >= md->match_limit) RRETURN(PCRE_ERROR_MATCHLIMIT);\n\noriginal_ims = ims;    /* Save for resetting on ')' */\nutf8 = md->utf8;       /* Local copy of the flag */\n\n/* At the start of a bracketed group, add the current subject pointer to the\nstack of such pointers, to be re-instated at the end of the group when we hit\nthe closing ket. When match() is called in other circumstances, we don't add to\nthis stack. */\n\nif ((flags & match_isgroup) != 0)\n  {\n  newptrb.epb_prev = eptrb;\n  newptrb.epb_saved_eptr = eptr;\n  eptrb = &newptrb;\n  }\n\n/* Now start processing the operations. */\n\nfor (;;)\n  {\n  op = *ecode;\n  minimize = FALSE;\n\n  /* For partial matching, remember if we ever hit the end of the subject after\n  matching at least one subject character. */\n\n  if (md->partial &&\n      eptr >= md->end_subject &&\n      eptr > md->start_match)\n    md->hitend = TRUE;\n\n  /* Opening capturing bracket. If there is space in the offset vector, save\n  the current subject position in the working slot at the top of the vector. We\n  mustn't change the current values of the data slot, because they may be set\n  from a previous iteration of this group, and be referred to by a reference\n  inside the group.\n\n  If the bracket fails to match, we need to restore this value and also the\n  values of the final offsets, in case they were set by a previous iteration of\n  the same bracket.\n\n  If there isn't enough space in the offset vector, treat this as if it were a\n  non-capturing bracket. Don't worry about setting the flag for the error case\n  here; that is handled in the code for KET. */\n\n  if (op > OP_BRA)\n    {\n    number = op - OP_BRA;\n\n    /* For extended extraction brackets (large number), we have to fish out the\n    number from a dummy opcode at the start. */\n\n    if (number > EXTRACT_BASIC_MAX)\n      number = GET2(ecode, 2+LINK_SIZE);\n    offset = number << 1;\n\n#ifdef DEBUG\n    printf(\"start bracket %d subject=\", number);\n    pchars(eptr, 16, TRUE, md);\n    printf(\"\\n\");\n#endif\n\n    if (offset < md->offset_max)\n      {\n      save_offset1 = md->offset_vector[offset];\n      save_offset2 = md->offset_vector[offset+1];\n      save_offset3 = md->offset_vector[md->offset_end - number];\n      save_capture_last = md->capture_last;\n\n      DPRINTF((\"saving %d %d %d\\n\", save_offset1, save_offset2, save_offset3));\n      md->offset_vector[md->offset_end - number] = eptr - md->start_subject;\n\n      do\n        {\n        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,\n          match_isgroup);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        md->capture_last = save_capture_last;\n        ecode += GET(ecode, 1);\n        }\n      while (*ecode == OP_ALT);\n\n      DPRINTF((\"bracket %d failed\\n\", number));\n\n      md->offset_vector[offset] = save_offset1;\n      md->offset_vector[offset+1] = save_offset2;\n      md->offset_vector[md->offset_end - number] = save_offset3;\n\n      RRETURN(MATCH_NOMATCH);\n      }\n\n    /* Insufficient room for saving captured contents */\n\n    else op = OP_BRA;\n    }\n\n  /* Other types of node can be handled by a switch */\n\n  switch(op)\n    {\n    case OP_BRA:     /* Non-capturing bracket: optimized */\n    DPRINTF((\"start bracket 0\\n\"));\n    do\n      {\n      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,\n        match_isgroup);\n      if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n      ecode += GET(ecode, 1);\n      }\n    while (*ecode == OP_ALT);\n    DPRINTF((\"bracket 0 failed\\n\"));\n    RRETURN(MATCH_NOMATCH);\n\n    /* Conditional group: compilation checked that there are no more than\n    two branches. If the condition is false, skipping the first branch takes us\n    past the end if there is only one branch, but that's OK because that is\n    exactly what going to the ket would do. */\n\n    case OP_COND:\n    if (ecode[LINK_SIZE+1] == OP_CREF) /* Condition extract or recurse test */\n      {\n      offset = GET2(ecode, LINK_SIZE+2) << 1;  /* Doubled ref number */\n      condition = (offset == CREF_RECURSE * 2)?\n        (md->recursive != NULL) :\n        (offset < offset_top && md->offset_vector[offset] >= 0);\n      RMATCH(rrc, eptr, ecode + (condition?\n        (LINK_SIZE + 4) : (LINK_SIZE + 1 + GET(ecode, 1))),\n        offset_top, md, ims, eptrb, match_isgroup);\n      RRETURN(rrc);\n      }\n\n    /* The condition is an assertion. Call match() to evaluate it - setting\n    the final argument TRUE causes it to stop at the end of an assertion. */\n\n    else\n      {\n      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,\n          match_condassert | match_isgroup);\n      if (rrc == MATCH_MATCH)\n        {\n        ecode += 1 + LINK_SIZE + GET(ecode, LINK_SIZE+2);\n        while (*ecode == OP_ALT) ecode += GET(ecode, 1);\n        }\n      else if (rrc != MATCH_NOMATCH)\n        {\n        RRETURN(rrc);         /* Need braces because of following else */\n        }\n      else ecode += GET(ecode, 1);\n      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb,\n        match_isgroup);\n      RRETURN(rrc);\n      }\n    /* Control never reaches here */\n\n    /* Skip over conditional reference or large extraction number data if\n    encountered. */\n\n    case OP_CREF:\n    case OP_BRANUMBER:\n    ecode += 3;\n    break;\n\n    /* End of the pattern. If we are in a recursion, we should restore the\n    offsets appropriately and continue from after the call. */\n\n    case OP_END:\n    if (md->recursive != NULL && md->recursive->group_num == 0)\n      {\n      recursion_info *rec = md->recursive;\n      DPRINTF((\"Hit the end in a (?0) recursion\\n\"));\n      md->recursive = rec->prevrec;\n      memmove(md->offset_vector, rec->offset_save,\n        rec->saved_max * sizeof(int));\n      md->start_match = rec->save_start;\n      ims = original_ims;\n      ecode = rec->after_call;\n      break;\n      }\n\n    /* Otherwise, if PCRE_NOTEMPTY is set, fail if we have matched an empty\n    string - backtracking will then try other alternatives, if any. */\n\n    if (md->notempty && eptr == md->start_match) RRETURN(MATCH_NOMATCH);\n    md->end_match_ptr = eptr;          /* Record where we ended */\n    md->end_offset_top = offset_top;   /* and how many extracts were taken */\n    RRETURN(MATCH_MATCH);\n\n    /* Change option settings */\n\n    case OP_OPT:\n    ims = ecode[1];\n    ecode += 2;\n    DPRINTF((\"ims set to %02lx\\n\", ims));\n    break;\n\n    /* Assertion brackets. Check the alternative branches in turn - the\n    matching won't pass the KET for an assertion. If any one branch matches,\n    the assertion is true. Lookbehind assertions have an OP_REVERSE item at the\n    start of each branch to move the current point backwards, so the code at\n    this level is identical to the lookahead case. */\n\n    case OP_ASSERT:\n    case OP_ASSERTBACK:\n    do\n      {\n      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,\n        match_isgroup);\n      if (rrc == MATCH_MATCH) break;\n      if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n      ecode += GET(ecode, 1);\n      }\n    while (*ecode == OP_ALT);\n    if (*ecode == OP_KET) RRETURN(MATCH_NOMATCH);\n\n    /* If checking an assertion for a condition, return MATCH_MATCH. */\n\n    if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH);\n\n    /* Continue from after the assertion, updating the offsets high water\n    mark, since extracts may have been taken during the assertion. */\n\n    do ecode += GET(ecode,1); while (*ecode == OP_ALT);\n    ecode += 1 + LINK_SIZE;\n    offset_top = md->end_offset_top;\n    continue;\n\n    /* Negative assertion: all branches must fail to match */\n\n    case OP_ASSERT_NOT:\n    case OP_ASSERTBACK_NOT:\n    do\n      {\n      RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, NULL,\n        match_isgroup);\n      if (rrc == MATCH_MATCH) RRETURN(MATCH_NOMATCH);\n      if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n      ecode += GET(ecode,1);\n      }\n    while (*ecode == OP_ALT);\n\n    if ((flags & match_condassert) != 0) RRETURN(MATCH_MATCH);\n\n    ecode += 1 + LINK_SIZE;\n    continue;\n\n    /* Move the subject pointer back. This occurs only at the start of\n    each branch of a lookbehind assertion. If we are too close to the start to\n    move back, this match function fails. When working with UTF-8 we move\n    back a number of characters, not bytes. */\n\n    case OP_REVERSE:\n#ifdef SUPPORT_UTF8\n    if (utf8)\n      {\n      c = GET(ecode,1);\n      for (i = 0; i < c; i++)\n        {\n        eptr--;\n        if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);\n        BACKCHAR(eptr)\n        }\n      }\n    else\n#endif\n\n    /* No UTF-8 support, or not in UTF-8 mode: count is byte count */\n\n      {\n      eptr -= GET(ecode,1);\n      if (eptr < md->start_subject) RRETURN(MATCH_NOMATCH);\n      }\n\n    /* Skip to next op code */\n\n    ecode += 1 + LINK_SIZE;\n    break;\n\n    /* The callout item calls an external function, if one is provided, passing\n    details of the match so far. This is mainly for debugging, though the\n    function is able to force a failure. */\n\n    case OP_CALLOUT:\n    if (pcre_callout != NULL)\n      {\n      pcre_callout_block cb;\n      cb.version          = 1;   /* Version 1 of the callout block */\n      cb.callout_number   = ecode[1];\n      cb.offset_vector    = md->offset_vector;\n      cb.subject          = (const char *)md->start_subject;\n      cb.subject_length   = md->end_subject - md->start_subject;\n      cb.start_match      = md->start_match - md->start_subject;\n      cb.current_position = eptr - md->start_subject;\n      cb.pattern_position = GET(ecode, 2);\n      cb.next_item_length = GET(ecode, 2 + LINK_SIZE);\n      cb.capture_top      = offset_top/2;\n      cb.capture_last     = md->capture_last;\n      cb.callout_data     = md->callout_data;\n      if ((rrc = (*pcre_callout)(&cb)) > 0) RRETURN(MATCH_NOMATCH);\n      if (rrc < 0) RRETURN(rrc);\n      }\n    ecode += 2 + 2*LINK_SIZE;\n    break;\n\n    /* Recursion either matches the current regex, or some subexpression. The\n    offset data is the offset to the starting bracket from the start of the\n    whole pattern. (This is so that it works from duplicated subpatterns.)\n\n    If there are any capturing brackets started but not finished, we have to\n    save their starting points and reinstate them after the recursion. However,\n    we don't know how many such there are (offset_top records the completed\n    total) so we just have to save all the potential data. There may be up to\n    65535 such values, which is too large to put on the stack, but using malloc\n    for small numbers seems expensive. As a compromise, the stack is used when\n    there are no more than REC_STACK_SAVE_MAX values to store; otherwise malloc\n    is used. A problem is what to do if the malloc fails ... there is no way of\n    returning to the top level with an error. Save the top REC_STACK_SAVE_MAX\n    values on the stack, and accept that the rest may be wrong.\n\n    There are also other values that have to be saved. We use a chained\n    sequence of blocks that actually live on the stack. Thanks to Robin Houston\n    for the original version of this logic. */\n\n    case OP_RECURSE:\n      {\n      callpat = md->start_code + GET(ecode, 1);\n      new_recursive.group_num = *callpat - OP_BRA;\n\n      /* For extended extraction brackets (large number), we have to fish out\n      the number from a dummy opcode at the start. */\n\n      if (new_recursive.group_num > EXTRACT_BASIC_MAX)\n        new_recursive.group_num = GET2(callpat, 2+LINK_SIZE);\n\n      /* Add to \"recursing stack\" */\n\n      new_recursive.prevrec = md->recursive;\n      md->recursive = &new_recursive;\n\n      /* Find where to continue from afterwards */\n\n      ecode += 1 + LINK_SIZE;\n      new_recursive.after_call = ecode;\n\n      /* Now save the offset data. */\n\n      new_recursive.saved_max = md->offset_end;\n      if (new_recursive.saved_max <= REC_STACK_SAVE_MAX)\n        new_recursive.offset_save = stacksave;\n      else\n        {\n        new_recursive.offset_save =\n          (int *)(pcre_malloc)(new_recursive.saved_max * sizeof(int));\n        if (new_recursive.offset_save == NULL) RRETURN(PCRE_ERROR_NOMEMORY);\n        }\n\n      memcpy(new_recursive.offset_save, md->offset_vector,\n            new_recursive.saved_max * sizeof(int));\n      new_recursive.save_start = md->start_match;\n      md->start_match = eptr;\n\n      /* OK, now we can do the recursion. For each top-level alternative we\n      restore the offset and recursion data. */\n\n      DPRINTF((\"Recursing into group %d\\n\", new_recursive.group_num));\n      do\n        {\n        RMATCH(rrc, eptr, callpat + 1 + LINK_SIZE, offset_top, md, ims,\n            eptrb, match_isgroup);\n        if (rrc == MATCH_MATCH)\n          {\n          md->recursive = new_recursive.prevrec;\n          if (new_recursive.offset_save != stacksave)\n            (pcre_free)(new_recursive.offset_save);\n          RRETURN(MATCH_MATCH);\n          }\n        else if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n\n        md->recursive = &new_recursive;\n        memcpy(md->offset_vector, new_recursive.offset_save,\n            new_recursive.saved_max * sizeof(int));\n        callpat += GET(callpat, 1);\n        }\n      while (*callpat == OP_ALT);\n\n      DPRINTF((\"Recursion didn't match\\n\"));\n      md->recursive = new_recursive.prevrec;\n      if (new_recursive.offset_save != stacksave)\n        (pcre_free)(new_recursive.offset_save);\n      RRETURN(MATCH_NOMATCH);\n      }\n    /* Control never reaches here */\n\n    /* \"Once\" brackets are like assertion brackets except that after a match,\n    the point in the subject string is not moved back. Thus there can never be\n    a move back into the brackets. Friedl calls these \"atomic\" subpatterns.\n    Check the alternative branches in turn - the matching won't pass the KET\n    for this kind of subpattern. If any one branch matches, we carry on as at\n    the end of a normal bracket, leaving the subject pointer. */\n\n    case OP_ONCE:\n      {\n      prev = ecode;\n      saved_eptr = eptr;\n\n      do\n        {\n        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims,\n          eptrb, match_isgroup);\n        if (rrc == MATCH_MATCH) break;\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        ecode += GET(ecode,1);\n        }\n      while (*ecode == OP_ALT);\n\n      /* If hit the end of the group (which could be repeated), fail */\n\n      if (*ecode != OP_ONCE && *ecode != OP_ALT) RRETURN(MATCH_NOMATCH);\n\n      /* Continue as from after the assertion, updating the offsets high water\n      mark, since extracts may have been taken. */\n\n      do ecode += GET(ecode,1); while (*ecode == OP_ALT);\n\n      offset_top = md->end_offset_top;\n      eptr = md->end_match_ptr;\n\n      /* For a non-repeating ket, just continue at this level. This also\n      happens for a repeating ket if no characters were matched in the group.\n      This is the forcible breaking of infinite loops as implemented in Perl\n      5.005. If there is an options reset, it will get obeyed in the normal\n      course of events. */\n\n      if (*ecode == OP_KET || eptr == saved_eptr)\n        {\n        ecode += 1+LINK_SIZE;\n        break;\n        }\n\n      /* The repeating kets try the rest of the pattern or restart from the\n      preceding bracket, in the appropriate order. We need to reset any options\n      that changed within the bracket before re-running it, so check the next\n      opcode. */\n\n      if (ecode[1+LINK_SIZE] == OP_OPT)\n        {\n        ims = (ims & ~PCRE_IMS) | ecode[4];\n        DPRINTF((\"ims set to %02lx at group repeat\\n\", ims));\n        }\n\n      if (*ecode == OP_KETRMIN)\n        {\n        RMATCH(rrc, eptr, ecode + 1 + LINK_SIZE, offset_top, md, ims, eptrb, 0);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        }\n      else  /* OP_KETRMAX */\n        {\n        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        }\n      }\n    RRETURN(MATCH_NOMATCH);\n\n    /* An alternation is the end of a branch; scan along to find the end of the\n    bracketed group and go to there. */\n\n    case OP_ALT:\n    do ecode += GET(ecode,1); while (*ecode == OP_ALT);\n    break;\n\n    /* BRAZERO and BRAMINZERO occur just before a bracket group, indicating\n    that it may occur zero times. It may repeat infinitely, or not at all -\n    i.e. it could be ()* or ()? in the pattern. Brackets with fixed upper\n    repeat limits are compiled as a number of copies, with the optional ones\n    preceded by BRAZERO or BRAMINZERO. */\n\n    case OP_BRAZERO:\n      {\n      next = ecode+1;\n      RMATCH(rrc, eptr, next, offset_top, md, ims, eptrb, match_isgroup);\n      if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n      do next += GET(next,1); while (*next == OP_ALT);\n      ecode = next + 1+LINK_SIZE;\n      }\n    break;\n\n    case OP_BRAMINZERO:\n      {\n      next = ecode+1;\n      do next += GET(next,1); while (*next == OP_ALT);\n      RMATCH(rrc, eptr, next + 1+LINK_SIZE, offset_top, md, ims, eptrb,\n        match_isgroup);\n      if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n      ecode++;\n      }\n    break;\n\n    /* End of a group, repeated or non-repeating. If we are at the end of\n    an assertion \"group\", stop matching and return MATCH_MATCH, but record the\n    current high water mark for use by positive assertions. Do this also\n    for the \"once\" (not-backup up) groups. */\n\n    case OP_KET:\n    case OP_KETRMIN:\n    case OP_KETRMAX:\n      {\n      prev = ecode - GET(ecode, 1);\n      saved_eptr = eptrb->epb_saved_eptr;\n\n      /* Back up the stack of bracket start pointers. */\n\n      eptrb = eptrb->epb_prev;\n\n      if (*prev == OP_ASSERT || *prev == OP_ASSERT_NOT ||\n          *prev == OP_ASSERTBACK || *prev == OP_ASSERTBACK_NOT ||\n          *prev == OP_ONCE)\n        {\n        md->end_match_ptr = eptr;      /* For ONCE */\n        md->end_offset_top = offset_top;\n        RRETURN(MATCH_MATCH);\n        }\n\n      /* In all other cases except a conditional group we have to check the\n      group number back at the start and if necessary complete handling an\n      extraction by setting the offsets and bumping the high water mark. */\n\n      if (*prev != OP_COND)\n        {\n        number = *prev - OP_BRA;\n\n        /* For extended extraction brackets (large number), we have to fish out\n        the number from a dummy opcode at the start. */\n\n        if (number > EXTRACT_BASIC_MAX) number = GET2(prev, 2+LINK_SIZE);\n        offset = number << 1;\n\n#ifdef DEBUG\n        printf(\"end bracket %d\", number);\n        printf(\"\\n\");\n#endif\n\n        /* Test for a numbered group. This includes groups called as a result\n        of recursion. Note that whole-pattern recursion is coded as a recurse\n        into group 0, so it won't be picked up here. Instead, we catch it when\n        the OP_END is reached. */\n\n        if (number > 0)\n          {\n          md->capture_last = number;\n          if (offset >= md->offset_max) md->offset_overflow = TRUE; else\n            {\n            md->offset_vector[offset] =\n              md->offset_vector[md->offset_end - number];\n            md->offset_vector[offset+1] = eptr - md->start_subject;\n            if (offset_top <= offset) offset_top = offset + 2;\n            }\n\n          /* Handle a recursively called group. Restore the offsets\n          appropriately and continue from after the call. */\n\n          if (md->recursive != NULL && md->recursive->group_num == number)\n            {\n            recursion_info *rec = md->recursive;\n            DPRINTF((\"Recursion (%d) succeeded - continuing\\n\", number));\n            md->recursive = rec->prevrec;\n            md->start_match = rec->save_start;\n            memcpy(md->offset_vector, rec->offset_save,\n              rec->saved_max * sizeof(int));\n            ecode = rec->after_call;\n            ims = original_ims;\n            break;\n            }\n          }\n        }\n\n      /* Reset the value of the ims flags, in case they got changed during\n      the group. */\n\n      ims = original_ims;\n      DPRINTF((\"ims reset to %02lx\\n\", ims));\n\n      /* For a non-repeating ket, just continue at this level. This also\n      happens for a repeating ket if no characters were matched in the group.\n      This is the forcible breaking of infinite loops as implemented in Perl\n      5.005. If there is an options reset, it will get obeyed in the normal\n      course of events. */\n\n      if (*ecode == OP_KET || eptr == saved_eptr)\n        {\n        ecode += 1 + LINK_SIZE;\n        break;\n        }\n\n      /* The repeating kets try the rest of the pattern or restart from the\n      preceding bracket, in the appropriate order. */\n\n      if (*ecode == OP_KETRMIN)\n        {\n        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        }\n      else  /* OP_KETRMAX */\n        {\n        RMATCH(rrc, eptr, prev, offset_top, md, ims, eptrb, match_isgroup);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        RMATCH(rrc, eptr, ecode + 1+LINK_SIZE, offset_top, md, ims, eptrb, 0);\n        if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n        }\n      }\n\n    RRETURN(MATCH_NOMATCH);\n\n    /* Start of subject unless notbol, or after internal newline if multiline */\n\n    case OP_CIRC:\n    if (md->notbol && eptr == md->start_subject) RRETURN(MATCH_NOMATCH);\n    if ((ims & PCRE_MULTILINE) != 0)\n      {\n      if (eptr != md->start_subject && eptr[-1] != NEWLINE)\n        RRETURN(MATCH_NOMATCH);\n      ecode++;\n      break;\n      }\n    /* ... else fall through */\n\n    /* Start of subject assertion */\n\n    case OP_SOD:\n    if (eptr != md->start_subject) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    /* Start of match assertion */\n\n    case OP_SOM:\n    if (eptr != md->start_subject + md->start_offset) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    /* Assert before internal newline if multiline, or before a terminating\n    newline unless endonly is set, else end of subject unless noteol is set. */\n\n    case OP_DOLL:\n    if ((ims & PCRE_MULTILINE) != 0)\n      {\n      if (eptr < md->end_subject)\n        { if (*eptr != NEWLINE) RRETURN(MATCH_NOMATCH); }\n      else\n        { if (md->noteol) RRETURN(MATCH_NOMATCH); }\n      ecode++;\n      break;\n      }\n    else\n      {\n      if (md->noteol) RRETURN(MATCH_NOMATCH);\n      if (!md->endonly)\n        {\n        if (eptr < md->end_subject - 1 ||\n           (eptr == md->end_subject - 1 && *eptr != NEWLINE))\n          RRETURN(MATCH_NOMATCH);\n        ecode++;\n        break;\n        }\n      }\n    /* ... else fall through */\n\n    /* End of subject assertion (\\z) */\n\n    case OP_EOD:\n    if (eptr < md->end_subject) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    /* End of subject or ending \\n assertion (\\Z) */\n\n    case OP_EODN:\n    if (eptr < md->end_subject - 1 ||\n       (eptr == md->end_subject - 1 && *eptr != NEWLINE)) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    /* Word boundary assertions */\n\n    case OP_NOT_WORD_BOUNDARY:\n    case OP_WORD_BOUNDARY:\n      {\n\n      /* Find out if the previous and current characters are \"word\" characters.\n      It takes a bit more work in UTF-8 mode. Characters > 255 are assumed to\n      be \"non-word\" characters. */\n\n#ifdef SUPPORT_UTF8\n      if (utf8)\n        {\n        if (eptr == md->start_subject) prev_is_word = FALSE; else\n          {\n          const uschar *lastptr = eptr - 1;\n          while((*lastptr & 0xc0) == 0x80) lastptr--;\n          GETCHAR(c, lastptr);\n          prev_is_word = c < 256 && (md->ctypes[c] & ctype_word) != 0;\n          }\n        if (eptr >= md->end_subject) cur_is_word = FALSE; else\n          {\n          GETCHAR(c, eptr);\n          cur_is_word = c < 256 && (md->ctypes[c] & ctype_word) != 0;\n          }\n        }\n      else\n#endif\n\n      /* More streamlined when not in UTF-8 mode */\n\n        {\n        prev_is_word = (eptr != md->start_subject) &&\n          ((md->ctypes[eptr[-1]] & ctype_word) != 0);\n        cur_is_word = (eptr < md->end_subject) &&\n          ((md->ctypes[*eptr] & ctype_word) != 0);\n        }\n\n      /* Now see if the situation is what we want */\n\n      if ((*ecode++ == OP_WORD_BOUNDARY)?\n           cur_is_word == prev_is_word : cur_is_word != prev_is_word)\n        RRETURN(MATCH_NOMATCH);\n      }\n    break;\n\n    /* Match a single character type; inline for speed */\n\n    case OP_ANY:\n    if ((ims & PCRE_DOTALL) == 0 && eptr < md->end_subject && *eptr == NEWLINE)\n      RRETURN(MATCH_NOMATCH);\n    if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH);\n#ifdef SUPPORT_UTF8\n    if (utf8)\n      while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n#endif\n    ecode++;\n    break;\n\n    /* Match a single byte, even in UTF-8 mode. This opcode really does match\n    any byte, even newline, independent of the setting of PCRE_DOTALL. */\n\n    case OP_ANYBYTE:\n    if (eptr++ >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_NOT_DIGIT:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c < 256 &&\n#endif\n       (md->ctypes[c] & ctype_digit) != 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_DIGIT:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c >= 256 ||\n#endif\n       (md->ctypes[c] & ctype_digit) == 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_NOT_WHITESPACE:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c < 256 &&\n#endif\n       (md->ctypes[c] & ctype_space) != 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_WHITESPACE:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c >= 256 ||\n#endif\n       (md->ctypes[c] & ctype_space) == 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_NOT_WORDCHAR:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c < 256 &&\n#endif\n       (md->ctypes[c] & ctype_word) != 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n    case OP_WORDCHAR:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n    if (\n#ifdef SUPPORT_UTF8\n       c >= 256 ||\n#endif\n       (md->ctypes[c] & ctype_word) == 0\n       )\n      RRETURN(MATCH_NOMATCH);\n    ecode++;\n    break;\n\n#ifdef SUPPORT_UCP\n    /* Check the next character by Unicode property. We will get here only\n    if the support is in the binary; otherwise a compile-time error occurs. */\n\n    case OP_PROP:\n    case OP_NOTPROP:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n      {\n      int chartype, rqdtype;\n      int othercase;\n      int category = ucp_findchar(c, &chartype, &othercase);\n\n      rqdtype = *(++ecode);\n      ecode++;\n\n      if (rqdtype >= 128)\n        {\n        if ((rqdtype - 128 != category) == (op == OP_PROP))\n          RRETURN(MATCH_NOMATCH);\n        }\n      else\n        {\n        if ((rqdtype != chartype) == (op == OP_PROP))\n          RRETURN(MATCH_NOMATCH);\n        }\n      }\n    break;\n\n    /* Match an extended Unicode sequence. We will get here only if the support\n    is in the binary; otherwise a compile-time error occurs. */\n\n    case OP_EXTUNI:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    GETCHARINCTEST(c, eptr);\n      {\n      int chartype;\n      int othercase;\n      int category = ucp_findchar(c, &chartype, &othercase);\n      if (category == ucp_M) RRETURN(MATCH_NOMATCH);\n      while (eptr < md->end_subject)\n        {\n        int len = 1;\n        if (!utf8) c = *eptr; else\n          {\n          GETCHARLEN(c, eptr, len);\n          }\n        category = ucp_findchar(c, &chartype, &othercase);\n        if (category != ucp_M) break;\n        eptr += len;\n        }\n      }\n    ecode++;\n    break;\n#endif\n\n\n    /* Match a back reference, possibly repeatedly. Look past the end of the\n    item to see if there is repeat information following. The code is similar\n    to that for character classes, but repeated for efficiency. Then obey\n    similar code to character type repeats - written out again for speed.\n    However, if the referenced string is the empty string, always treat\n    it as matched, any number of times (otherwise there could be infinite\n    loops). */\n\n    case OP_REF:\n      {\n      offset = GET2(ecode, 1) << 1;               /* Doubled ref number */\n      ecode += 3;                                 /* Advance past item */\n\n      /* If the reference is unset, set the length to be longer than the amount\n      of subject left; this ensures that every attempt at a match fails. We\n      can't just fail here, because of the possibility of quantifiers with zero\n      minima. */\n\n      length = (offset >= offset_top || md->offset_vector[offset] < 0)?\n        md->end_subject - eptr + 1 :\n        md->offset_vector[offset+1] - md->offset_vector[offset];\n\n      /* Set up for repetition, or handle the non-repeated case */\n\n      switch (*ecode)\n        {\n        case OP_CRSTAR:\n        case OP_CRMINSTAR:\n        case OP_CRPLUS:\n        case OP_CRMINPLUS:\n        case OP_CRQUERY:\n        case OP_CRMINQUERY:\n        c = *ecode++ - OP_CRSTAR;\n        minimize = (c & 1) != 0;\n        min = rep_min[c];                 /* Pick up values from tables; */\n        max = rep_max[c];                 /* zero for max => infinity */\n        if (max == 0) max = INT_MAX;\n        break;\n\n        case OP_CRRANGE:\n        case OP_CRMINRANGE:\n        minimize = (*ecode == OP_CRMINRANGE);\n        min = GET2(ecode, 1);\n        max = GET2(ecode, 3);\n        if (max == 0) max = INT_MAX;\n        ecode += 5;\n        break;\n\n        default:               /* No repeat follows */\n        if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH);\n        eptr += length;\n        continue;              /* With the main loop */\n        }\n\n      /* If the length of the reference is zero, just continue with the\n      main loop. */\n\n      if (length == 0) continue;\n\n      /* First, ensure the minimum number of matches are present. We get back\n      the length of the reference string explicitly rather than passing the\n      address of eptr, so that eptr can be a register variable. */\n\n      for (i = 1; i <= min; i++)\n        {\n        if (!match_ref(offset, eptr, length, md, ims)) RRETURN(MATCH_NOMATCH);\n        eptr += length;\n        }\n\n      /* If min = max, continue at the same level without recursion.\n      They are not both allowed to be zero. */\n\n      if (min == max) continue;\n\n      /* If minimizing, keep trying and advancing the pointer */\n\n      if (minimize)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || !match_ref(offset, eptr, length, md, ims))\n            RRETURN(MATCH_NOMATCH);\n          eptr += length;\n          }\n        /* Control never gets here */\n        }\n\n      /* If maximizing, find the longest string and work backwards */\n\n      else\n        {\n        pp = eptr;\n        for (i = min; i < max; i++)\n          {\n          if (!match_ref(offset, eptr, length, md, ims)) break;\n          eptr += length;\n          }\n        while (eptr >= pp)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          eptr -= length;\n          }\n        RRETURN(MATCH_NOMATCH);\n        }\n      }\n    /* Control never gets here */\n\n\n\n    /* Match a bit-mapped character class, possibly repeatedly. This op code is\n    used when all the characters in the class have values in the range 0-255,\n    and either the matching is caseful, or the characters are in the range\n    0-127 when UTF-8 processing is enabled. The only difference between\n    OP_CLASS and OP_NCLASS occurs when a data character outside the range is\n    encountered.\n\n    First, look past the end of the item to see if there is repeat information\n    following. Then obey similar code to character type repeats - written out\n    again for speed. */\n\n    case OP_NCLASS:\n    case OP_CLASS:\n      {\n      data = ecode + 1;                /* Save for matching */\n      ecode += 33;                     /* Advance past the item */\n\n      switch (*ecode)\n        {\n        case OP_CRSTAR:\n        case OP_CRMINSTAR:\n        case OP_CRPLUS:\n        case OP_CRMINPLUS:\n        case OP_CRQUERY:\n        case OP_CRMINQUERY:\n        c = *ecode++ - OP_CRSTAR;\n        minimize = (c & 1) != 0;\n        min = rep_min[c];                 /* Pick up values from tables; */\n        max = rep_max[c];                 /* zero for max => infinity */\n        if (max == 0) max = INT_MAX;\n        break;\n\n        case OP_CRRANGE:\n        case OP_CRMINRANGE:\n        minimize = (*ecode == OP_CRMINRANGE);\n        min = GET2(ecode, 1);\n        max = GET2(ecode, 3);\n        if (max == 0) max = INT_MAX;\n        ecode += 5;\n        break;\n\n        default:               /* No repeat follows */\n        min = max = 1;\n        break;\n        }\n\n      /* First, ensure the minimum number of matches are present. */\n\n#ifdef SUPPORT_UTF8\n      /* UTF-8 mode */\n      if (utf8)\n        {\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          GETCHARINC(c, eptr);\n          if (c > 255)\n            {\n            if (op == OP_CLASS) RRETURN(MATCH_NOMATCH);\n            }\n          else\n            {\n            if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);\n            }\n          }\n        }\n      else\n#endif\n      /* Not UTF-8 mode */\n        {\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          c = *eptr++;\n          if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);\n          }\n        }\n\n      /* If max == min we can continue with the main loop without the\n      need to recurse. */\n\n      if (min == max) continue;\n\n      /* If minimizing, keep testing the rest of the expression and advancing\n      the pointer while it matches the class. */\n\n      if (minimize)\n        {\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n            GETCHARINC(c, eptr);\n            if (c > 255)\n              {\n              if (op == OP_CLASS) RRETURN(MATCH_NOMATCH);\n              }\n            else\n              {\n              if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);\n              }\n            }\n          }\n        else\n#endif\n        /* Not UTF-8 mode */\n          {\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n            c = *eptr++;\n            if ((data[c/8] & (1 << (c&7))) == 0) RRETURN(MATCH_NOMATCH);\n            }\n          }\n        /* Control never gets here */\n        }\n\n      /* If maximizing, find the longest possible run, then work backwards. */\n\n      else\n        {\n        pp = eptr;\n\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c > 255)\n              {\n              if (op == OP_CLASS) break;\n              }\n            else\n              {\n              if ((data[c/8] & (1 << (c&7))) == 0) break;\n              }\n            eptr += len;\n            }\n          for (;;)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (eptr-- == pp) break;        /* Stop if tried at original pos */\n            BACKCHAR(eptr);\n            }\n          }\n        else\n#endif\n          /* Not UTF-8 mode */\n          {\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject) break;\n            c = *eptr;\n            if ((data[c/8] & (1 << (c&7))) == 0) break;\n            eptr++;\n            }\n          while (eptr >= pp)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            eptr--;\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            }\n          }\n\n        RRETURN(MATCH_NOMATCH);\n        }\n      }\n    /* Control never gets here */\n\n\n    /* Match an extended character class. This opcode is encountered only\n    in UTF-8 mode, because that's the only time it is compiled. */\n\n#ifdef SUPPORT_UTF8\n    case OP_XCLASS:\n      {\n      data = ecode + 1 + LINK_SIZE;                /* Save for matching */\n      ecode += GET(ecode, 1);                      /* Advance past the item */\n\n      switch (*ecode)\n        {\n        case OP_CRSTAR:\n        case OP_CRMINSTAR:\n        case OP_CRPLUS:\n        case OP_CRMINPLUS:\n        case OP_CRQUERY:\n        case OP_CRMINQUERY:\n        c = *ecode++ - OP_CRSTAR;\n        minimize = (c & 1) != 0;\n        min = rep_min[c];                 /* Pick up values from tables; */\n        max = rep_max[c];                 /* zero for max => infinity */\n        if (max == 0) max = INT_MAX;\n        break;\n\n        case OP_CRRANGE:\n        case OP_CRMINRANGE:\n        minimize = (*ecode == OP_CRMINRANGE);\n        min = GET2(ecode, 1);\n        max = GET2(ecode, 3);\n        if (max == 0) max = INT_MAX;\n        ecode += 5;\n        break;\n\n        default:               /* No repeat follows */\n        min = max = 1;\n        break;\n        }\n\n      /* First, ensure the minimum number of matches are present. */\n\n      for (i = 1; i <= min; i++)\n        {\n        if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n        GETCHARINC(c, eptr);\n        if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH);\n        }\n\n      /* If max == min we can continue with the main loop without the\n      need to recurse. */\n\n      if (min == max) continue;\n\n      /* If minimizing, keep testing the rest of the expression and advancing\n      the pointer while it matches the class. */\n\n      if (minimize)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          GETCHARINC(c, eptr);\n          if (!_pcre_xclass(c, data)) RRETURN(MATCH_NOMATCH);\n          }\n        /* Control never gets here */\n        }\n\n      /* If maximizing, find the longest possible run, then work backwards. */\n\n      else\n        {\n        pp = eptr;\n        for (i = min; i < max; i++)\n          {\n          int len = 1;\n          if (eptr >= md->end_subject) break;\n          GETCHARLEN(c, eptr, len);\n          if (!_pcre_xclass(c, data)) break;\n          eptr += len;\n          }\n        for(;;)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (eptr-- == pp) break;        /* Stop if tried at original pos */\n          BACKCHAR(eptr)\n          }\n        RRETURN(MATCH_NOMATCH);\n        }\n\n      /* Control never gets here */\n      }\n#endif    /* End of XCLASS */\n\n    /* Match a single character, casefully */\n\n    case OP_CHAR:\n#ifdef SUPPORT_UTF8\n    if (utf8)\n      {\n      length = 1;\n      ecode++;\n      GETCHARLEN(fc, ecode, length);\n      if (length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n      while (length-- > 0) if (*ecode++ != *eptr++) RRETURN(MATCH_NOMATCH);\n      }\n    else\n#endif\n\n    /* Non-UTF-8 mode */\n      {\n      if (md->end_subject - eptr < 1) RRETURN(MATCH_NOMATCH);\n      if (ecode[1] != *eptr++) RRETURN(MATCH_NOMATCH);\n      ecode += 2;\n      }\n    break;\n\n    /* Match a single character, caselessly */\n\n    case OP_CHARNC:\n#ifdef SUPPORT_UTF8\n    if (utf8)\n      {\n      length = 1;\n      ecode++;\n      GETCHARLEN(fc, ecode, length);\n\n      if (length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n\n      /* If the pattern character's value is < 128, we have only one byte, and\n      can use the fast lookup table. */\n\n      if (fc < 128)\n        {\n        if (md->lcc[*ecode++] != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);\n        }\n\n      /* Otherwise we must pick up the subject character */\n\n      else\n        {\n        int dc;\n        GETCHARINC(dc, eptr);\n        ecode += length;\n\n        /* If we have Unicode property support, we can use it to test the other\n        case of the character, if there is one. The result of ucp_findchar() is\n        < 0 if the char isn't found, and othercase is returned as zero if there\n        isn't one. */\n\n        if (fc != dc)\n          {\n#ifdef SUPPORT_UCP\n          int chartype;\n          int othercase;\n          if (ucp_findchar(fc, &chartype, &othercase) < 0 || dc != othercase)\n#endif\n            RRETURN(MATCH_NOMATCH);\n          }\n        }\n      }\n    else\n#endif   /* SUPPORT_UTF8 */\n\n    /* Non-UTF-8 mode */\n      {\n      if (md->end_subject - eptr < 1) RRETURN(MATCH_NOMATCH);\n      if (md->lcc[ecode[1]] != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);\n      ecode += 2;\n      }\n    break;\n\n    /* Match a single character repeatedly; different opcodes share code. */\n\n    case OP_EXACT:\n    min = max = GET2(ecode, 1);\n    ecode += 3;\n    goto REPEATCHAR;\n\n    case OP_UPTO:\n    case OP_MINUPTO:\n    min = 0;\n    max = GET2(ecode, 1);\n    minimize = *ecode == OP_MINUPTO;\n    ecode += 3;\n    goto REPEATCHAR;\n\n    case OP_STAR:\n    case OP_MINSTAR:\n    case OP_PLUS:\n    case OP_MINPLUS:\n    case OP_QUERY:\n    case OP_MINQUERY:\n    c = *ecode++ - OP_STAR;\n    minimize = (c & 1) != 0;\n    min = rep_min[c];                 /* Pick up values from tables; */\n    max = rep_max[c];                 /* zero for max => infinity */\n    if (max == 0) max = INT_MAX;\n\n    /* Common code for all repeated single-character matches. We can give\n    up quickly if there are fewer than the minimum number of characters left in\n    the subject. */\n\n    REPEATCHAR:\n#ifdef SUPPORT_UTF8\n    if (utf8)\n      {\n      length = 1;\n      charptr = ecode;\n      GETCHARLEN(fc, ecode, length);\n      if (min * length > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n      ecode += length;\n\n      /* Handle multibyte character matching specially here. There is\n      support for caseless matching if UCP support is present. */\n\n      if (length > 1)\n        {\n        int oclength = 0;\n        uschar occhars[8];\n\n#ifdef SUPPORT_UCP\n        int othercase;\n        int chartype;\n        if ((ims & PCRE_CASELESS) != 0 &&\n             ucp_findchar(fc, &chartype, &othercase) >= 0 &&\n             othercase > 0)\n          oclength = _pcre_ord2utf8(othercase, occhars);\n#endif  /* SUPPORT_UCP */\n\n        for (i = 1; i <= min; i++)\n          {\n          if (memcmp(eptr, charptr, length) == 0) eptr += length;\n          /* Need braces because of following else */\n          else if (oclength == 0) { RRETURN(MATCH_NOMATCH); }\n          else\n            {\n            if (memcmp(eptr, occhars, oclength) != 0) RRETURN(MATCH_NOMATCH);\n            eptr += oclength;\n            }\n          }\n\n        if (min == max) continue;\n\n        if (minimize)\n          {\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n            if (memcmp(eptr, charptr, length) == 0) eptr += length;\n            /* Need braces because of following else */\n            else if (oclength == 0) { RRETURN(MATCH_NOMATCH); }\n            else\n              {\n              if (memcmp(eptr, occhars, oclength) != 0) RRETURN(MATCH_NOMATCH);\n              eptr += oclength;\n              }\n            }\n          /* Control never gets here */\n          }\n        else\n          {\n          pp = eptr;\n          for (i = min; i < max; i++)\n            {\n            if (eptr > md->end_subject - length) break;\n            if (memcmp(eptr, charptr, length) == 0) eptr += length;\n            else if (oclength == 0) break;\n            else\n              {\n              if (memcmp(eptr, occhars, oclength) != 0) break;\n              eptr += oclength;\n              }\n            }\n          while (eptr >= pp)\n           {\n           RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n           if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n           eptr -= length;\n           }\n          RRETURN(MATCH_NOMATCH);\n          }\n        /* Control never gets here */\n        }\n\n      /* If the length of a UTF-8 character is 1, we fall through here, and\n      obey the code as for non-UTF-8 characters below, though in this case the\n      value of fc will always be < 128. */\n      }\n    else\n#endif  /* SUPPORT_UTF8 */\n\n    /* When not in UTF-8 mode, load a single-byte character. */\n      {\n      if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n      fc = *ecode++;\n      }\n\n    /* The value of fc at this point is always less than 256, though we may or\n    may not be in UTF-8 mode. The code is duplicated for the caseless and\n    caseful cases, for speed, since matching characters is likely to be quite\n    common. First, ensure the minimum number of matches are present. If min =\n    max, continue at the same level without recursing. Otherwise, if\n    minimizing, keep trying the rest of the expression and advancing one\n    matching character if failing, up to the maximum. Alternatively, if\n    maximizing, find the maximum number of characters and work backwards. */\n\n    DPRINTF((\"matching %c{%d,%d} against subject %.*s\\n\", fc, min, max,\n      max, eptr));\n\n    if ((ims & PCRE_CASELESS) != 0)\n      {\n      fc = md->lcc[fc];\n      for (i = 1; i <= min; i++)\n        if (fc != md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);\n      if (min == max) continue;\n      if (minimize)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject ||\n              fc != md->lcc[*eptr++])\n            RRETURN(MATCH_NOMATCH);\n          }\n        /* Control never gets here */\n        }\n      else\n        {\n        pp = eptr;\n        for (i = min; i < max; i++)\n          {\n          if (eptr >= md->end_subject || fc != md->lcc[*eptr]) break;\n          eptr++;\n          }\n        while (eptr >= pp)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          eptr--;\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          }\n        RRETURN(MATCH_NOMATCH);\n        }\n      /* Control never gets here */\n      }\n\n    /* Caseful comparisons (includes all multi-byte characters) */\n\n    else\n      {\n      for (i = 1; i <= min; i++) if (fc != *eptr++) RRETURN(MATCH_NOMATCH);\n      if (min == max) continue;\n      if (minimize)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject || fc != *eptr++)\n            RRETURN(MATCH_NOMATCH);\n          }\n        /* Control never gets here */\n        }\n      else\n        {\n        pp = eptr;\n        for (i = min; i < max; i++)\n          {\n          if (eptr >= md->end_subject || fc != *eptr) break;\n          eptr++;\n          }\n        while (eptr >= pp)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          eptr--;\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          }\n        RRETURN(MATCH_NOMATCH);\n        }\n      }\n    /* Control never gets here */\n\n    /* Match a negated single one-byte character. The character we are\n    checking can be multibyte. */\n\n    case OP_NOT:\n    if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n    ecode++;\n    GETCHARINCTEST(c, eptr);\n    if ((ims & PCRE_CASELESS) != 0)\n      {\n#ifdef SUPPORT_UTF8\n      if (c < 256)\n#endif\n      c = md->lcc[c];\n      if (md->lcc[*ecode++] == c) RRETURN(MATCH_NOMATCH);\n      }\n    else\n      {\n      if (*ecode++ == c) RRETURN(MATCH_NOMATCH);\n      }\n    break;\n\n    /* Match a negated single one-byte character repeatedly. This is almost a\n    repeat of the code for a repeated single character, but I haven't found a\n    nice way of commoning these up that doesn't require a test of the\n    positive/negative option for each character match. Maybe that wouldn't add\n    very much to the time taken, but character matching *is* what this is all\n    about... */\n\n    case OP_NOTEXACT:\n    min = max = GET2(ecode, 1);\n    ecode += 3;\n    goto REPEATNOTCHAR;\n\n    case OP_NOTUPTO:\n    case OP_NOTMINUPTO:\n    min = 0;\n    max = GET2(ecode, 1);\n    minimize = *ecode == OP_NOTMINUPTO;\n    ecode += 3;\n    goto REPEATNOTCHAR;\n\n    case OP_NOTSTAR:\n    case OP_NOTMINSTAR:\n    case OP_NOTPLUS:\n    case OP_NOTMINPLUS:\n    case OP_NOTQUERY:\n    case OP_NOTMINQUERY:\n    c = *ecode++ - OP_NOTSTAR;\n    minimize = (c & 1) != 0;\n    min = rep_min[c];                 /* Pick up values from tables; */\n    max = rep_max[c];                 /* zero for max => infinity */\n    if (max == 0) max = INT_MAX;\n\n    /* Common code for all repeated single-byte matches. We can give up quickly\n    if there are fewer than the minimum number of bytes left in the\n    subject. */\n\n    REPEATNOTCHAR:\n    if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n    fc = *ecode++;\n\n    /* The code is duplicated for the caseless and caseful cases, for speed,\n    since matching characters is likely to be quite common. First, ensure the\n    minimum number of matches are present. If min = max, continue at the same\n    level without recursing. Otherwise, if minimizing, keep trying the rest of\n    the expression and advancing one matching character if failing, up to the\n    maximum. Alternatively, if maximizing, find the maximum number of\n    characters and work backwards. */\n\n    DPRINTF((\"negative matching %c{%d,%d} against subject %.*s\\n\", fc, min, max,\n      max, eptr));\n\n    if ((ims & PCRE_CASELESS) != 0)\n      {\n      fc = md->lcc[fc];\n\n#ifdef SUPPORT_UTF8\n      /* UTF-8 mode */\n      if (utf8)\n        {\n        register int d;\n        for (i = 1; i <= min; i++)\n          {\n          GETCHARINC(d, eptr);\n          if (d < 256) d = md->lcc[d];\n          if (fc == d) RRETURN(MATCH_NOMATCH);\n          }\n        }\n      else\n#endif\n\n      /* Not UTF-8 mode */\n        {\n        for (i = 1; i <= min; i++)\n          if (fc == md->lcc[*eptr++]) RRETURN(MATCH_NOMATCH);\n        }\n\n      if (min == max) continue;\n\n      if (minimize)\n        {\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          register int d;\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            GETCHARINC(d, eptr);\n            if (d < 256) d = md->lcc[d];\n            if (fi >= max || eptr >= md->end_subject || fc == d)\n              RRETURN(MATCH_NOMATCH);\n            }\n          }\n        else\n#endif\n        /* Not UTF-8 mode */\n          {\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (fi >= max || eptr >= md->end_subject || fc == md->lcc[*eptr++])\n              RRETURN(MATCH_NOMATCH);\n            }\n          }\n        /* Control never gets here */\n        }\n\n      /* Maximize case */\n\n      else\n        {\n        pp = eptr;\n\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          register int d;\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(d, eptr, len);\n            if (d < 256) d = md->lcc[d];\n            if (fc == d) break;\n            eptr += len;\n            }\n          for(;;)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (eptr-- == pp) break;        /* Stop if tried at original pos */\n            BACKCHAR(eptr);\n            }\n          }\n        else\n#endif\n        /* Not UTF-8 mode */\n          {\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || fc == md->lcc[*eptr]) break;\n            eptr++;\n            }\n          while (eptr >= pp)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            eptr--;\n            }\n          }\n\n        RRETURN(MATCH_NOMATCH);\n        }\n      /* Control never gets here */\n      }\n\n    /* Caseful comparisons */\n\n    else\n      {\n#ifdef SUPPORT_UTF8\n      /* UTF-8 mode */\n      if (utf8)\n        {\n        register int d;\n        for (i = 1; i <= min; i++)\n          {\n          GETCHARINC(d, eptr);\n          if (fc == d) RRETURN(MATCH_NOMATCH);\n          }\n        }\n      else\n#endif\n      /* Not UTF-8 mode */\n        {\n        for (i = 1; i <= min; i++)\n          if (fc == *eptr++) RRETURN(MATCH_NOMATCH);\n        }\n\n      if (min == max) continue;\n\n      if (minimize)\n        {\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          register int d;\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            GETCHARINC(d, eptr);\n            if (fi >= max || eptr >= md->end_subject || fc == d)\n              RRETURN(MATCH_NOMATCH);\n            }\n          }\n        else\n#endif\n        /* Not UTF-8 mode */\n          {\n          for (fi = min;; fi++)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (fi >= max || eptr >= md->end_subject || fc == *eptr++)\n              RRETURN(MATCH_NOMATCH);\n            }\n          }\n        /* Control never gets here */\n        }\n\n      /* Maximize case */\n\n      else\n        {\n        pp = eptr;\n\n#ifdef SUPPORT_UTF8\n        /* UTF-8 mode */\n        if (utf8)\n          {\n          register int d;\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(d, eptr, len);\n            if (fc == d) break;\n            eptr += len;\n            }\n          for(;;)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            if (eptr-- == pp) break;        /* Stop if tried at original pos */\n            BACKCHAR(eptr);\n            }\n          }\n        else\n#endif\n        /* Not UTF-8 mode */\n          {\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || fc == *eptr) break;\n            eptr++;\n            }\n          while (eptr >= pp)\n            {\n            RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n            if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n            eptr--;\n            }\n          }\n\n        RRETURN(MATCH_NOMATCH);\n        }\n      }\n    /* Control never gets here */\n\n    /* Match a single character type repeatedly; several different opcodes\n    share code. This is very similar to the code for single characters, but we\n    repeat it in the interests of efficiency. */\n\n    case OP_TYPEEXACT:\n    min = max = GET2(ecode, 1);\n    minimize = TRUE;\n    ecode += 3;\n    goto REPEATTYPE;\n\n    case OP_TYPEUPTO:\n    case OP_TYPEMINUPTO:\n    min = 0;\n    max = GET2(ecode, 1);\n    minimize = *ecode == OP_TYPEMINUPTO;\n    ecode += 3;\n    goto REPEATTYPE;\n\n    case OP_TYPESTAR:\n    case OP_TYPEMINSTAR:\n    case OP_TYPEPLUS:\n    case OP_TYPEMINPLUS:\n    case OP_TYPEQUERY:\n    case OP_TYPEMINQUERY:\n    c = *ecode++ - OP_TYPESTAR;\n    minimize = (c & 1) != 0;\n    min = rep_min[c];                 /* Pick up values from tables; */\n    max = rep_max[c];                 /* zero for max => infinity */\n    if (max == 0) max = INT_MAX;\n\n    /* Common code for all repeated single character type matches. Note that\n    in UTF-8 mode, '.' matches a character of any length, but for the other\n    character types, the valid characters are all one-byte long. */\n\n    REPEATTYPE:\n    ctype = *ecode++;      /* Code for the character type */\n\n#ifdef SUPPORT_UCP\n    if (ctype == OP_PROP || ctype == OP_NOTPROP)\n      {\n      prop_fail_result = ctype == OP_NOTPROP;\n      prop_type = *ecode++;\n      if (prop_type >= 128)\n        {\n        prop_test_against = prop_type - 128;\n        prop_test_variable = &prop_category;\n        }\n      else\n        {\n        prop_test_against = prop_type;\n        prop_test_variable = &prop_chartype;\n        }\n      }\n    else prop_type = -1;\n#endif\n\n    /* First, ensure the minimum number of matches are present. Use inline\n    code for maximizing the speed, and do the type test once at the start\n    (i.e. keep it out of the loop). Also we can test that there are at least\n    the minimum number of bytes before we start. This isn't as effective in\n    UTF-8 mode, but it does no harm. Separate the UTF-8 code completely as that\n    is tidier. Also separate the UCP code, which can be the same for both UTF-8\n    and single-bytes. */\n\n    if (min > md->end_subject - eptr) RRETURN(MATCH_NOMATCH);\n    if (min > 0)\n      {\n#ifdef SUPPORT_UCP\n      if (prop_type > 0)\n        {\n        for (i = 1; i <= min; i++)\n          {\n          GETCHARINC(c, eptr);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if ((*prop_test_variable == prop_test_against) == prop_fail_result)\n            RRETURN(MATCH_NOMATCH);\n          }\n        }\n\n      /* Match extended Unicode sequences. We will get here only if the\n      support is in the binary; otherwise a compile-time error occurs. */\n\n      else if (ctype == OP_EXTUNI)\n        {\n        for (i = 1; i <= min; i++)\n          {\n          GETCHARINCTEST(c, eptr);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if (prop_category == ucp_M) RRETURN(MATCH_NOMATCH);\n          while (eptr < md->end_subject)\n            {\n            int len = 1;\n            if (!utf8) c = *eptr; else\n              {\n              GETCHARLEN(c, eptr, len);\n              }\n            prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n            if (prop_category != ucp_M) break;\n            eptr += len;\n            }\n          }\n        }\n\n      else\n#endif     /* SUPPORT_UCP */\n\n/* Handle all other cases when the coding is UTF-8 */\n\n#ifdef SUPPORT_UTF8\n      if (utf8) switch(ctype)\n        {\n        case OP_ANY:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             (*eptr++ == NEWLINE && (ims & PCRE_DOTALL) == 0))\n            RRETURN(MATCH_NOMATCH);\n          while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n          }\n        break;\n\n        case OP_ANYBYTE:\n        eptr += min;\n        break;\n\n        case OP_NOT_DIGIT:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          GETCHARINC(c, eptr);\n          if (c < 128 && (md->ctypes[c] & ctype_digit) != 0)\n            RRETURN(MATCH_NOMATCH);\n          }\n        break;\n\n        case OP_DIGIT:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             *eptr >= 128 || (md->ctypes[*eptr++] & ctype_digit) == 0)\n            RRETURN(MATCH_NOMATCH);\n          /* No need to skip more bytes - we know it's a 1-byte character */\n          }\n        break;\n\n        case OP_NOT_WHITESPACE:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             (*eptr < 128 && (md->ctypes[*eptr++] & ctype_space) != 0))\n            RRETURN(MATCH_NOMATCH);\n          while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n          }\n        break;\n\n        case OP_WHITESPACE:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             *eptr >= 128 || (md->ctypes[*eptr++] & ctype_space) == 0)\n            RRETURN(MATCH_NOMATCH);\n          /* No need to skip more bytes - we know it's a 1-byte character */\n          }\n        break;\n\n        case OP_NOT_WORDCHAR:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             (*eptr < 128 && (md->ctypes[*eptr++] & ctype_word) != 0))\n            RRETURN(MATCH_NOMATCH);\n          while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n          }\n        break;\n\n        case OP_WORDCHAR:\n        for (i = 1; i <= min; i++)\n          {\n          if (eptr >= md->end_subject ||\n             *eptr >= 128 || (md->ctypes[*eptr++] & ctype_word) == 0)\n            RRETURN(MATCH_NOMATCH);\n          /* No need to skip more bytes - we know it's a 1-byte character */\n          }\n        break;\n\n        default:\n        RRETURN(PCRE_ERROR_INTERNAL);\n        }  /* End switch(ctype) */\n\n      else\n#endif     /* SUPPORT_UTF8 */\n\n      /* Code for the non-UTF-8 case for minimum matching of operators other\n      than OP_PROP and OP_NOTPROP. */\n\n      switch(ctype)\n        {\n        case OP_ANY:\n        if ((ims & PCRE_DOTALL) == 0)\n          {\n          for (i = 1; i <= min; i++)\n            if (*eptr++ == NEWLINE) RRETURN(MATCH_NOMATCH);\n          }\n        else eptr += min;\n        break;\n\n        case OP_ANYBYTE:\n        eptr += min;\n        break;\n\n        case OP_NOT_DIGIT:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH);\n        break;\n\n        case OP_DIGIT:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH);\n        break;\n\n        case OP_NOT_WHITESPACE:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_space) != 0) RRETURN(MATCH_NOMATCH);\n        break;\n\n        case OP_WHITESPACE:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_space) == 0) RRETURN(MATCH_NOMATCH);\n        break;\n\n        case OP_NOT_WORDCHAR:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_word) != 0)\n            RRETURN(MATCH_NOMATCH);\n        break;\n\n        case OP_WORDCHAR:\n        for (i = 1; i <= min; i++)\n          if ((md->ctypes[*eptr++] & ctype_word) == 0)\n            RRETURN(MATCH_NOMATCH);\n        break;\n\n        default:\n        RRETURN(PCRE_ERROR_INTERNAL);\n        }\n      }\n\n    /* If min = max, continue at the same level without recursing */\n\n    if (min == max) continue;\n\n    /* If minimizing, we have to test the rest of the pattern before each\n    subsequent match. Again, separate the UTF-8 case for speed, and also\n    separate the UCP cases. */\n\n    if (minimize)\n      {\n#ifdef SUPPORT_UCP\n      if (prop_type > 0)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          GETCHARINC(c, eptr);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if ((*prop_test_variable == prop_test_against) == prop_fail_result)\n            RRETURN(MATCH_NOMATCH);\n          }\n        }\n\n      /* Match extended Unicode sequences. We will get here only if the\n      support is in the binary; otherwise a compile-time error occurs. */\n\n      else if (ctype == OP_EXTUNI)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          GETCHARINCTEST(c, eptr);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if (prop_category == ucp_M) RRETURN(MATCH_NOMATCH);\n          while (eptr < md->end_subject)\n            {\n            int len = 1;\n            if (!utf8) c = *eptr; else\n              {\n              GETCHARLEN(c, eptr, len);\n              }\n            prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n            if (prop_category != ucp_M) break;\n            eptr += len;\n            }\n          }\n        }\n\n      else\n#endif     /* SUPPORT_UCP */\n\n#ifdef SUPPORT_UTF8\n      /* UTF-8 mode */\n      if (utf8)\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n\n          GETCHARINC(c, eptr);\n          switch(ctype)\n            {\n            case OP_ANY:\n            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_ANYBYTE:\n            break;\n\n            case OP_NOT_DIGIT:\n            if (c < 256 && (md->ctypes[c] & ctype_digit) != 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_DIGIT:\n            if (c >= 256 || (md->ctypes[c] & ctype_digit) == 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_NOT_WHITESPACE:\n            if (c < 256 && (md->ctypes[c] & ctype_space) != 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_WHITESPACE:\n            if  (c >= 256 || (md->ctypes[c] & ctype_space) == 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_NOT_WORDCHAR:\n            if (c < 256 && (md->ctypes[c] & ctype_word) != 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_WORDCHAR:\n            if (c >= 256 || (md->ctypes[c] & ctype_word) == 0)\n              RRETURN(MATCH_NOMATCH);\n            break;\n\n            default:\n            RRETURN(PCRE_ERROR_INTERNAL);\n            }\n          }\n        }\n      else\n#endif\n      /* Not UTF-8 mode */\n        {\n        for (fi = min;; fi++)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (fi >= max || eptr >= md->end_subject) RRETURN(MATCH_NOMATCH);\n          c = *eptr++;\n          switch(ctype)\n            {\n            case OP_ANY:\n            if ((ims & PCRE_DOTALL) == 0 && c == NEWLINE) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_ANYBYTE:\n            break;\n\n            case OP_NOT_DIGIT:\n            if ((md->ctypes[c] & ctype_digit) != 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_DIGIT:\n            if ((md->ctypes[c] & ctype_digit) == 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_NOT_WHITESPACE:\n            if ((md->ctypes[c] & ctype_space) != 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_WHITESPACE:\n            if  ((md->ctypes[c] & ctype_space) == 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_NOT_WORDCHAR:\n            if ((md->ctypes[c] & ctype_word) != 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            case OP_WORDCHAR:\n            if ((md->ctypes[c] & ctype_word) == 0) RRETURN(MATCH_NOMATCH);\n            break;\n\n            default:\n            RRETURN(PCRE_ERROR_INTERNAL);\n            }\n          }\n        }\n      /* Control never gets here */\n      }\n\n    /* If maximizing it is worth using inline code for speed, doing the type\n    test once at the start (i.e. keep it out of the loop). Again, keep the\n    UTF-8 and UCP stuff separate. */\n\n    else\n      {\n      pp = eptr;  /* Remember where we started */\n\n#ifdef SUPPORT_UCP\n      if (prop_type > 0)\n        {\n        for (i = min; i < max; i++)\n          {\n          int len = 1;\n          if (eptr >= md->end_subject) break;\n          GETCHARLEN(c, eptr, len);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if ((*prop_test_variable == prop_test_against) == prop_fail_result)\n            break;\n          eptr+= len;\n          }\n\n        /* eptr is now past the end of the maximum run */\n\n        for(;;)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (eptr-- == pp) break;        /* Stop if tried at original pos */\n          BACKCHAR(eptr);\n          }\n        }\n\n      /* Match extended Unicode sequences. We will get here only if the\n      support is in the binary; otherwise a compile-time error occurs. */\n\n      else if (ctype == OP_EXTUNI)\n        {\n        for (i = min; i < max; i++)\n          {\n          if (eptr >= md->end_subject) break;\n          GETCHARINCTEST(c, eptr);\n          prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n          if (prop_category == ucp_M) break;\n          while (eptr < md->end_subject)\n            {\n            int len = 1;\n            if (!utf8) c = *eptr; else\n              {\n              GETCHARLEN(c, eptr, len);\n              }\n            prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n            if (prop_category != ucp_M) break;\n            eptr += len;\n            }\n          }\n\n        /* eptr is now past the end of the maximum run */\n\n        for(;;)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (eptr-- == pp) break;        /* Stop if tried at original pos */\n          for (;;)                        /* Move back over one extended */\n            {\n            int len = 1;\n            BACKCHAR(eptr);\n            if (!utf8) c = *eptr; else\n              {\n              GETCHARLEN(c, eptr, len);\n              }\n            prop_category = ucp_findchar(c, &prop_chartype, &prop_othercase);\n            if (prop_category != ucp_M) break;\n            eptr--;\n            }\n          }\n        }\n\n      else\n#endif   /* SUPPORT_UCP */\n\n#ifdef SUPPORT_UTF8\n      /* UTF-8 mode */\n\n      if (utf8)\n        {\n        switch(ctype)\n          {\n          case OP_ANY:\n\n          /* Special code is required for UTF8, but when the maximum is unlimited\n          we don't need it, so we repeat the non-UTF8 code. This is probably\n          worth it, because .* is quite a common idiom. */\n\n          if (max < INT_MAX)\n            {\n            if ((ims & PCRE_DOTALL) == 0)\n              {\n              for (i = min; i < max; i++)\n                {\n                if (eptr >= md->end_subject || *eptr == NEWLINE) break;\n                eptr++;\n                while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n                }\n              }\n            else\n              {\n              for (i = min; i < max; i++)\n                {\n                eptr++;\n                while (eptr < md->end_subject && (*eptr & 0xc0) == 0x80) eptr++;\n                }\n              }\n            }\n\n          /* Handle unlimited UTF-8 repeat */\n\n          else\n            {\n            if ((ims & PCRE_DOTALL) == 0)\n              {\n              for (i = min; i < max; i++)\n                {\n                if (eptr >= md->end_subject || *eptr == NEWLINE) break;\n                eptr++;\n                }\n              break;\n              }\n            else\n              {\n              c = max - min;\n              if (c > md->end_subject - eptr) c = md->end_subject - eptr;\n              eptr += c;\n              }\n            }\n          break;\n\n          /* The byte case is the same as non-UTF8 */\n\n          case OP_ANYBYTE:\n          c = max - min;\n          if (c > md->end_subject - eptr) c = md->end_subject - eptr;\n          eptr += c;\n          break;\n\n          case OP_NOT_DIGIT:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c < 256 && (md->ctypes[c] & ctype_digit) != 0) break;\n            eptr+= len;\n            }\n          break;\n\n          case OP_DIGIT:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c >= 256 ||(md->ctypes[c] & ctype_digit) == 0) break;\n            eptr+= len;\n            }\n          break;\n\n          case OP_NOT_WHITESPACE:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c < 256 && (md->ctypes[c] & ctype_space) != 0) break;\n            eptr+= len;\n            }\n          break;\n\n          case OP_WHITESPACE:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c >= 256 ||(md->ctypes[c] & ctype_space) == 0) break;\n            eptr+= len;\n            }\n          break;\n\n          case OP_NOT_WORDCHAR:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c < 256 && (md->ctypes[c] & ctype_word) != 0) break;\n            eptr+= len;\n            }\n          break;\n\n          case OP_WORDCHAR:\n          for (i = min; i < max; i++)\n            {\n            int len = 1;\n            if (eptr >= md->end_subject) break;\n            GETCHARLEN(c, eptr, len);\n            if (c >= 256 || (md->ctypes[c] & ctype_word) == 0) break;\n            eptr+= len;\n            }\n          break;\n\n          default:\n          RRETURN(PCRE_ERROR_INTERNAL);\n          }\n\n        /* eptr is now past the end of the maximum run */\n\n        for(;;)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          if (eptr-- == pp) break;        /* Stop if tried at original pos */\n          BACKCHAR(eptr);\n          }\n        }\n      else\n#endif\n\n      /* Not UTF-8 mode */\n        {\n        switch(ctype)\n          {\n          case OP_ANY:\n          if ((ims & PCRE_DOTALL) == 0)\n            {\n            for (i = min; i < max; i++)\n              {\n              if (eptr >= md->end_subject || *eptr == NEWLINE) break;\n              eptr++;\n              }\n            break;\n            }\n          /* For DOTALL case, fall through and treat as \\C */\n\n          case OP_ANYBYTE:\n          c = max - min;\n          if (c > md->end_subject - eptr) c = md->end_subject - eptr;\n          eptr += c;\n          break;\n\n          case OP_NOT_DIGIT:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) != 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          case OP_DIGIT:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_digit) == 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          case OP_NOT_WHITESPACE:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) != 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          case OP_WHITESPACE:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_space) == 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          case OP_NOT_WORDCHAR:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) != 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          case OP_WORDCHAR:\n          for (i = min; i < max; i++)\n            {\n            if (eptr >= md->end_subject || (md->ctypes[*eptr] & ctype_word) == 0)\n              break;\n            eptr++;\n            }\n          break;\n\n          default:\n          RRETURN(PCRE_ERROR_INTERNAL);\n          }\n\n        /* eptr is now past the end of the maximum run */\n\n        while (eptr >= pp)\n          {\n          RMATCH(rrc, eptr, ecode, offset_top, md, ims, eptrb, 0);\n          eptr--;\n          if (rrc != MATCH_NOMATCH) RRETURN(rrc);\n          }\n        }\n\n      /* Get here if we can't make it match with any permitted repetitions */\n\n      RRETURN(MATCH_NOMATCH);\n      }\n    /* Control never gets here */\n\n    /* There's been some horrible disaster. Since all codes > OP_BRA are\n    for capturing brackets, and there shouldn't be any gaps between 0 and\n    OP_BRA, arrival here can only mean there is something seriously wrong\n    in the code above or the OP_xxx definitions. */\n\n    default:\n    DPRINTF((\"Unknown opcode %d\\n\", *ecode));\n    RRETURN(PCRE_ERROR_UNKNOWN_NODE);\n    }\n\n  /* Do not stick any code in here without much thought; it is assumed\n  that \"continue\" in the code above comes out to here to repeat the main\n  loop. */\n\n  }             /* End of main loop */\n/* Control never reaches here */\n}\n\n\n/***************************************************************************\n****************************************************************************\n                   RECURSION IN THE match() FUNCTION\n\nUndefine all the macros that were defined above to handle this. */\n\n#ifdef NO_RECURSE\n#undef eptr\n#undef ecode\n#undef offset_top\n#undef ims\n#undef eptrb\n#undef flags\n\n#undef callpat\n#undef charptr\n#undef data\n#undef next\n#undef pp\n#undef prev\n#undef saved_eptr\n\n#undef new_recursive\n\n#undef cur_is_word\n#undef condition\n#undef minimize\n#undef prev_is_word\n\n#undef original_ims\n\n#undef ctype\n#undef length\n#undef max\n#undef min\n#undef number\n#undef offset\n#undef op\n#undef save_capture_last\n#undef save_offset1\n#undef save_offset2\n#undef save_offset3\n#undef stacksave\n\n#undef newptrb\n\n#endif\n\n/* These two are defined as macros in both cases */\n\n#undef fc\n#undef fi\n\n/***************************************************************************\n***************************************************************************/\n\n\n\n/*************************************************\n*         Execute a Regular Expression           *\n*************************************************/\n\n/* This function applies a compiled re to a subject string and picks out\nportions of the string if it matches. Two elements in the vector are set for\neach substring: the offsets to the start and end of the substring.\n\nArguments:\n  argument_re     points to the compiled expression\n  extra_data      points to extra data or is NULL\n  subject         points to the subject string\n  length          length of subject string (may contain binary zeros)\n  start_offset    where to start in the subject string\n  options         option bits\n  offsets         points to a vector of ints to be filled in with offsets\n  offsetcount     the number of elements in the vector\n\nReturns:          > 0 => success; value is the number of elements filled in\n                  = 0 => success, but offsets is not big enough\n                   -1 => failed to match\n                 < -1 => some kind of unexpected problem\n*/\n\nEXPORT int\npcre_exec(const pcre *argument_re, const pcre_extra *extra_data,\n  const char *subject, int length, int start_offset, int options, int *offsets,\n  int offsetcount)\n{\nint rc, resetcount, ocount;\nint first_byte = -1;\nint req_byte = -1;\nint req_byte2 = -1;\nunsigned long int ims = 0;\nBOOL using_temporary_offsets = FALSE;\nBOOL anchored;\nBOOL startline;\nBOOL firstline;\nBOOL first_byte_caseless = FALSE;\nBOOL req_byte_caseless = FALSE;\nmatch_data match_block;\nconst uschar *tables;\nconst uschar *start_bits = NULL;\nconst uschar *start_match = (const uschar *)subject + start_offset;\nconst uschar *end_subject;\nconst uschar *req_byte_ptr = start_match - 1;\n\npcre_study_data internal_study;\nconst pcre_study_data *study;\n\nreal_pcre internal_re;\nconst real_pcre *external_re = (const real_pcre *)argument_re;\nconst real_pcre *re = external_re;\n\n/* Plausibility checks */\n\nif ((options & ~PUBLIC_EXEC_OPTIONS) != 0) return PCRE_ERROR_BADOPTION;\nif (re == NULL || subject == NULL ||\n   (offsets == NULL && offsetcount > 0)) return PCRE_ERROR_NULL;\nif (offsetcount < 0) return PCRE_ERROR_BADCOUNT;\n\n/* Fish out the optional data from the extra_data structure, first setting\nthe default values. */\n\nstudy = NULL;\nmatch_block.match_limit = MATCH_LIMIT;\nmatch_block.callout_data = NULL;\n\n/* The table pointer is always in native byte order. */\n\ntables = external_re->tables;\n\nif (extra_data != NULL)\n  {\n  register unsigned int flags = extra_data->flags;\n  if ((flags & PCRE_EXTRA_STUDY_DATA) != 0)\n    study = (const pcre_study_data *)extra_data->study_data;\n  if ((flags & PCRE_EXTRA_MATCH_LIMIT) != 0)\n    match_block.match_limit = extra_data->match_limit;\n  if ((flags & PCRE_EXTRA_CALLOUT_DATA) != 0)\n    match_block.callout_data = extra_data->callout_data;\n  if ((flags & PCRE_EXTRA_TABLES) != 0) tables = extra_data->tables;\n  }\n\n/* If the exec call supplied NULL for tables, use the inbuilt ones. This\nis a feature that makes it possible to save compiled regex and re-use them\nin other programs later. */\n\nif (tables == NULL) tables = _pcre_default_tables;\n\n/* Check that the first field in the block is the magic number. If it is not,\ntest for a regex that was compiled on a host of opposite endianness. If this is\nthe case, flipped values are put in internal_re and internal_study if there was\nstudy data too. */\n\nif (re->magic_number != MAGIC_NUMBER)\n  {\n  re = _pcre_try_flipped(re, &internal_re, study, &internal_study);\n  if (re == NULL) return PCRE_ERROR_BADMAGIC;\n  if (study != NULL) study = &internal_study;\n  }\n\n/* Set up other data */\n\nanchored = ((re->options | options) & PCRE_ANCHORED) != 0;\nstartline = (re->options & PCRE_STARTLINE) != 0;\nfirstline = (re->options & PCRE_FIRSTLINE) != 0;\n\n/* The code starts after the real_pcre block and the capture name table. */\n\nmatch_block.start_code = (const uschar *)external_re + re->name_table_offset +\n  re->name_count * re->name_entry_size;\n\nmatch_block.start_subject = (const uschar *)subject;\nmatch_block.start_offset = start_offset;\nmatch_block.end_subject = match_block.start_subject + length;\nend_subject = match_block.end_subject;\n\nmatch_block.endonly = (re->options & PCRE_DOLLAR_ENDONLY) != 0;\nmatch_block.utf8 = (re->options & PCRE_UTF8) != 0;\n\nmatch_block.notbol = (options & PCRE_NOTBOL) != 0;\nmatch_block.noteol = (options & PCRE_NOTEOL) != 0;\nmatch_block.notempty = (options & PCRE_NOTEMPTY) != 0;\nmatch_block.partial = (options & PCRE_PARTIAL) != 0;\nmatch_block.hitend = FALSE;\n\nmatch_block.recursive = NULL;                   /* No recursion at top level */\n\nmatch_block.lcc = tables + lcc_offset;\nmatch_block.ctypes = tables + ctypes_offset;\n\n/* Partial matching is supported only for a restricted set of regexes at the\nmoment. */\n\nif (match_block.partial && (re->options & PCRE_NOPARTIAL) != 0)\n  return PCRE_ERROR_BADPARTIAL;\n\n/* Check a UTF-8 string if required. Unfortunately there's no way of passing\nback the character offset. */\n\n#ifdef SUPPORT_UTF8\nif (match_block.utf8 && (options & PCRE_NO_UTF8_CHECK) == 0)\n  {\n  if (_pcre_valid_utf8((uschar *)subject, length) >= 0)\n    return PCRE_ERROR_BADUTF8;\n  if (start_offset > 0 && start_offset < length)\n    {\n    int tb = ((uschar *)subject)[start_offset];\n    if (tb > 127)\n      {\n      tb &= 0xc0;\n      if (tb != 0 && tb != 0xc0) return PCRE_ERROR_BADUTF8_OFFSET;\n      }\n    }\n  }\n#endif\n\n/* The ims options can vary during the matching as a result of the presence\nof (?ims) items in the pattern. They are kept in a local variable so that\nrestoring at the exit of a group is easy. */\n\nims = re->options & (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL);\n\n/* If the expression has got more back references than the offsets supplied can\nhold, we get a temporary chunk of working store to use during the matching.\nOtherwise, we can use the vector supplied, rounding down its size to a multiple\nof 3. */\n\nocount = offsetcount - (offsetcount % 3);\n\nif (re->top_backref > 0 && re->top_backref >= ocount/3)\n  {\n  ocount = re->top_backref * 3 + 3;\n  match_block.offset_vector = (int *)(pcre_malloc)(ocount * sizeof(int));\n  if (match_block.offset_vector == NULL) return PCRE_ERROR_NOMEMORY;\n  using_temporary_offsets = TRUE;\n  DPRINTF((\"Got memory to hold back references\\n\"));\n  }\nelse match_block.offset_vector = offsets;\n\nmatch_block.offset_end = ocount;\nmatch_block.offset_max = (2*ocount)/3;\nmatch_block.offset_overflow = FALSE;\nmatch_block.capture_last = -1;\n\n/* Compute the minimum number of offsets that we need to reset each time. Doing\nthis makes a huge difference to execution time when there aren't many brackets\nin the pattern. */\n\nresetcount = 2 + re->top_bracket * 2;\nif (resetcount > offsetcount) resetcount = ocount;\n\n/* Reset the working variable associated with each extraction. These should\nnever be used unless previously set, but they get saved and restored, and so we\ninitialize them to avoid reading uninitialized locations. */\n\nif (match_block.offset_vector != NULL)\n  {\n  register int *iptr = match_block.offset_vector + ocount;\n  register int *iend = iptr - resetcount/2 + 1;\n  while (--iptr >= iend) *iptr = -1;\n  }\n\n/* Set up the first character to match, if available. The first_byte value is\nnever set for an anchored regular expression, but the anchoring may be forced\nat run time, so we have to test for anchoring. The first char may be unset for\nan unanchored pattern, of course. If there's no first char and the pattern was\nstudied, there may be a bitmap of possible first characters. */\n\nif (!anchored)\n  {\n  if ((re->options & PCRE_FIRSTSET) != 0)\n    {\n    first_byte = re->first_byte & 255;\n    if ((first_byte_caseless = ((re->first_byte & REQ_CASELESS) != 0)) == TRUE)\n      first_byte = match_block.lcc[first_byte];\n    }\n  else\n    if (!startline && study != NULL &&\n      (study->options & PCRE_STUDY_MAPPED) != 0)\n        start_bits = study->start_bits;\n  }\n\n/* For anchored or unanchored matches, there may be a \"last known required\ncharacter\" set. */\n\nif ((re->options & PCRE_REQCHSET) != 0)\n  {\n  req_byte = re->req_byte & 255;\n  req_byte_caseless = (re->req_byte & REQ_CASELESS) != 0;\n  req_byte2 = (tables + fcc_offset)[req_byte];  /* case flipped */\n  }\n\n/* Loop for handling unanchored repeated matching attempts; for anchored regexs\nthe loop runs just once. */\n\ndo\n  {\n  const uschar *save_end_subject = end_subject;\n\n  /* Reset the maximum number of extractions we might see. */\n\n  if (match_block.offset_vector != NULL)\n    {\n    register int *iptr = match_block.offset_vector;\n    register int *iend = iptr + resetcount;\n    while (iptr < iend) *iptr++ = -1;\n    }\n\n  /* Advance to a unique first char if possible. If firstline is TRUE, the\n  start of the match is constrained to the first line of a multiline string.\n  Implement this by temporarily adjusting end_subject so that we stop scanning\n  at a newline. If the match fails at the newline, later code breaks this loop.\n  */\n\n  if (firstline)\n    {\n    const uschar *t = start_match;\n    while (t < save_end_subject && *t != '\\n') t++;\n    end_subject = t;\n    }\n\n  /* Now test for a unique first byte */\n\n  if (first_byte >= 0)\n    {\n    if (first_byte_caseless)\n      while (start_match < end_subject &&\n             match_block.lcc[*start_match] != first_byte)\n        start_match++;\n    else\n      while (start_match < end_subject && *start_match != first_byte)\n        start_match++;\n    }\n\n  /* Or to just after \\n for a multiline match if possible */\n\n  else if (startline)\n    {\n    if (start_match > match_block.start_subject + start_offset)\n      {\n      while (start_match < end_subject && start_match[-1] != NEWLINE)\n        start_match++;\n      }\n    }\n\n  /* Or to a non-unique first char after study */\n\n  else if (start_bits != NULL)\n    {\n    while (start_match < end_subject)\n      {\n      register unsigned int c = *start_match;\n      if ((start_bits[c/8] & (1 << (c&7))) == 0) start_match++; else break;\n      }\n    }\n\n  /* Restore fudged end_subject */\n\n  end_subject = save_end_subject;\n\n#ifdef DEBUG  /* Sigh. Some compilers never learn. */\n  printf(\">>>> Match against: \");\n  pchars(start_match, end_subject - start_match, TRUE, &match_block);\n  printf(\"\\n\");\n#endif\n\n  /* If req_byte is set, we know that that character must appear in the subject\n  for the match to succeed. If the first character is set, req_byte must be\n  later in the subject; otherwise the test starts at the match point. This\n  optimization can save a huge amount of backtracking in patterns with nested\n  unlimited repeats that aren't going to match. Writing separate code for\n  cased/caseless versions makes it go faster, as does using an autoincrement\n  and backing off on a match.\n\n  HOWEVER: when the subject string is very, very long, searching to its end can\n  take a long time, and give bad performance on quite ordinary patterns. This\n  showed up when somebody was matching /^C/ on a 32-megabyte string... so we\n  don't do this when the string is sufficiently long.\n\n  ALSO: this processing is disabled when partial matching is requested.\n  */\n\n  if (req_byte >= 0 &&\n      end_subject - start_match < REQ_BYTE_MAX &&\n      !match_block.partial)\n    {\n    register const uschar *p = start_match + ((first_byte >= 0)? 1 : 0);\n\n    /* We don't need to repeat the search if we haven't yet reached the\n    place we found it at last time. */\n\n    if (p > req_byte_ptr)\n      {\n      if (req_byte_caseless)\n        {\n        while (p < end_subject)\n          {\n          register int pp = *p++;\n          if (pp == req_byte || pp == req_byte2) { p--; break; }\n          }\n        }\n      else\n        {\n        while (p < end_subject)\n          {\n          if (*p++ == req_byte) { p--; break; }\n          }\n        }\n\n      /* If we can't find the required character, break the matching loop */\n\n      if (p >= end_subject) break;\n\n      /* If we have found the required character, save the point where we\n      found it, so that we don't search again next time round the loop if\n      the start hasn't passed this character yet. */\n\n      req_byte_ptr = p;\n      }\n    }\n\n  /* When a match occurs, substrings will be set for all internal extractions;\n  we just need to set up the whole thing as substring 0 before returning. If\n  there were too many extractions, set the return code to zero. In the case\n  where we had to get some local store to hold offsets for backreferences, copy\n  those back references that we can. In this case there need not be overflow\n  if certain parts of the pattern were not used. */\n\n  match_block.start_match = start_match;\n  match_block.match_call_count = 0;\n\n  rc = match(start_match, match_block.start_code, 2, &match_block, ims, NULL,\n    match_isgroup);\n\n  /* When the result is no match, if the subject's first character was a\n  newline and the PCRE_FIRSTLINE option is set, break (which will return\n  PCRE_ERROR_NOMATCH). The option requests that a match occur before the first\n  newline in the subject. Otherwise, advance the pointer to the next character\n  and continue - but the continuation will actually happen only when the\n  pattern is not anchored. */\n\n  if (rc == MATCH_NOMATCH)\n    {\n    if (firstline && *start_match == NEWLINE) break;\n    start_match++;\n#ifdef SUPPORT_UTF8\n    if (match_block.utf8)\n      while(start_match < end_subject && (*start_match & 0xc0) == 0x80)\n        start_match++;\n#endif\n    continue;\n    }\n\n  if (rc != MATCH_MATCH)\n    {\n    DPRINTF((\">>>> error: returning %d\\n\", rc));\n    return rc;\n    }\n\n  /* We have a match! Copy the offset information from temporary store if\n  necessary */\n\n  if (using_temporary_offsets)\n    {\n    if (offsetcount >= 4)\n      {\n      memcpy(offsets + 2, match_block.offset_vector + 2,\n        (offsetcount - 2) * sizeof(int));\n      DPRINTF((\"Copied offsets from temporary memory\\n\"));\n      }\n    if (match_block.end_offset_top > offsetcount)\n      match_block.offset_overflow = TRUE;\n\n    DPRINTF((\"Freeing temporary memory\\n\"));\n    (pcre_free)(match_block.offset_vector);\n    }\n\n  rc = match_block.offset_overflow? 0 : match_block.end_offset_top/2;\n\n  if (offsetcount < 2) rc = 0; else\n    {\n    offsets[0] = start_match - match_block.start_subject;\n    offsets[1] = match_block.end_match_ptr - match_block.start_subject;\n    }\n\n  DPRINTF((\">>>> returning %d\\n\", rc));\n  return rc;\n  }\n\n/* This \"while\" is the end of the \"do\" above */\n\nwhile (!anchored && start_match <= end_subject);\n\nif (using_temporary_offsets)\n  {\n  DPRINTF((\"Freeing temporary memory\\n\"));\n  (pcre_free)(match_block.offset_vector);\n  }\n\nif (match_block.partial && match_block.hitend)\n  {\n  DPRINTF((\">>>> returning PCRE_ERROR_PARTIAL\\n\"));\n  return PCRE_ERROR_PARTIAL;\n  }\nelse\n  {\n  DPRINTF((\">>>> returning PCRE_ERROR_NOMATCH\\n\"));\n  return PCRE_ERROR_NOMATCH;\n  }\n}\n\n/* End of pcre_exec.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_fullinfo.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/*PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_fullinfo(), which returns\ninformation about a compiled pattern. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*        Return info about compiled pattern      *\n*************************************************/\n\n/* This is a newer \"info\" function which has an extensible interface so\nthat additional items can be added compatibly.\n\nArguments:\n  argument_re      points to compiled code\n  extra_data       points extra data, or NULL\n  what             what information is required\n  where            where to put the information\n\nReturns:           0 if data returned, negative on error\n*/\n\nEXPORT int\npcre_fullinfo(const pcre *argument_re, const pcre_extra *extra_data, int what,\n  void *where)\n{\nreal_pcre internal_re;\npcre_study_data internal_study;\nconst real_pcre *re = (const real_pcre *)argument_re;\nconst pcre_study_data *study = NULL;\n\nif (re == NULL || where == NULL) return PCRE_ERROR_NULL;\n\nif (extra_data != NULL && (extra_data->flags & PCRE_EXTRA_STUDY_DATA) != 0)\n  study = (const pcre_study_data *)extra_data->study_data;\n\nif (re->magic_number != MAGIC_NUMBER)\n  {\n  re = _pcre_try_flipped(re, &internal_re, study, &internal_study);\n  if (re == NULL) return PCRE_ERROR_BADMAGIC;\n  if (study != NULL) study = &internal_study;\n  }\n\nswitch (what)\n  {\n  case PCRE_INFO_OPTIONS:\n  *((unsigned long int *)where) = re->options & PUBLIC_OPTIONS;\n  break;\n\n  case PCRE_INFO_SIZE:\n  *((size_t *)where) = re->size;\n  break;\n\n  case PCRE_INFO_STUDYSIZE:\n  *((size_t *)where) = (study == NULL)? 0 : study->size;\n  break;\n\n  case PCRE_INFO_CAPTURECOUNT:\n  *((int *)where) = re->top_bracket;\n  break;\n\n  case PCRE_INFO_BACKREFMAX:\n  *((int *)where) = re->top_backref;\n  break;\n\n  case PCRE_INFO_FIRSTBYTE:\n  *((int *)where) =\n    ((re->options & PCRE_FIRSTSET) != 0)? re->first_byte :\n    ((re->options & PCRE_STARTLINE) != 0)? -1 : -2;\n  break;\n\n  /* Make sure we pass back the pointer to the bit vector in the external\n  block, not the internal copy (with flipped integer fields). */\n\n  case PCRE_INFO_FIRSTTABLE:\n  *((const uschar **)where) =\n    (study != NULL && (study->options & PCRE_STUDY_MAPPED) != 0)?\n      ((const pcre_study_data *)extra_data->study_data)->start_bits : NULL;\n  break;\n\n  case PCRE_INFO_LASTLITERAL:\n  *((int *)where) =\n    ((re->options & PCRE_REQCHSET) != 0)? re->req_byte : -1;\n  break;\n\n  case PCRE_INFO_NAMEENTRYSIZE:\n  *((int *)where) = re->name_entry_size;\n  break;\n\n  case PCRE_INFO_NAMECOUNT:\n  *((int *)where) = re->name_count;\n  break;\n\n  case PCRE_INFO_NAMETABLE:\n  *((const uschar **)where) = (const uschar *)re + re->name_table_offset;\n  break;\n\n  case PCRE_INFO_DEFAULT_TABLES:\n  *((const uschar **)where) = (const uschar *)(_pcre_default_tables);\n  break;\n\n  default: return PCRE_ERROR_BADOPTION;\n  }\n\nreturn 0;\n}\n\n/* End of pcre_fullinfo.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_get.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains some convenience functions for extracting substrings\nfrom the subject string after a regex match has succeeded. The original idea\nfor these functions came from Scott Wimer. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*           Find number for named string         *\n*************************************************/\n\n/* This function is used by the two extraction functions below, as well\nas being generally available.\n\nArguments:\n  code        the compiled regex\n  stringname  the name whose number is required\n\nReturns:      the number of the named parentheses, or a negative number\n                (PCRE_ERROR_NOSUBSTRING) if not found\n*/\n\nint\npcre_get_stringnumber(const pcre *code, const char *stringname)\n{\nint rc;\nint entrysize;\nint top, bot;\nuschar *nametable;\n\nif ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMECOUNT, &top)) != 0)\n  return rc;\nif (top <= 0) return PCRE_ERROR_NOSUBSTRING;\n\nif ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMEENTRYSIZE, &entrysize)) != 0)\n  return rc;\nif ((rc = pcre_fullinfo(code, NULL, PCRE_INFO_NAMETABLE, &nametable)) != 0)\n  return rc;\n\nbot = 0;\nwhile (top > bot)\n  {\n  int mid = (top + bot) / 2;\n  uschar *entry = nametable + entrysize*mid;\n  int c = strcmp(stringname, (char *)(entry + 2));\n  if (c == 0) return (entry[0] << 8) + entry[1];\n  if (c > 0) bot = mid + 1; else top = mid;\n  }\n\nreturn PCRE_ERROR_NOSUBSTRING;\n}\n\n\n\n/*************************************************\n*      Copy captured string to given buffer      *\n*************************************************/\n\n/* This function copies a single captured substring into a given buffer.\nNote that we use memcpy() rather than strncpy() in case there are binary zeros\nin the string.\n\nArguments:\n  subject        the subject string that was matched\n  ovector        pointer to the offsets table\n  stringcount    the number of substrings that were captured\n                   (i.e. the yield of the pcre_exec call, unless\n                   that was zero, in which case it should be 1/3\n                   of the offset table size)\n  stringnumber   the number of the required substring\n  buffer         where to put the substring\n  size           the size of the buffer\n\nReturns:         if successful:\n                   the length of the copied string, not including the zero\n                   that is put on the end; can be zero\n                 if not successful:\n                   PCRE_ERROR_NOMEMORY (-6) buffer too small\n                   PCRE_ERROR_NOSUBSTRING (-7) no such captured substring\n*/\n\nint\npcre_copy_substring(const char *subject, int *ovector, int stringcount,\n  int stringnumber, char *buffer, int size)\n{\nint yield;\nif (stringnumber < 0 || stringnumber >= stringcount)\n  return PCRE_ERROR_NOSUBSTRING;\nstringnumber *= 2;\nyield = ovector[stringnumber+1] - ovector[stringnumber];\nif (size < yield + 1) return PCRE_ERROR_NOMEMORY;\nmemcpy(buffer, subject + ovector[stringnumber], yield);\nbuffer[yield] = 0;\nreturn yield;\n}\n\n\n\n/*************************************************\n*   Copy named captured string to given buffer   *\n*************************************************/\n\n/* This function copies a single captured substring into a given buffer,\nidentifying it by name.\n\nArguments:\n  code           the compiled regex\n  subject        the subject string that was matched\n  ovector        pointer to the offsets table\n  stringcount    the number of substrings that were captured\n                   (i.e. the yield of the pcre_exec call, unless\n                   that was zero, in which case it should be 1/3\n                   of the offset table size)\n  stringname     the name of the required substring\n  buffer         where to put the substring\n  size           the size of the buffer\n\nReturns:         if successful:\n                   the length of the copied string, not including the zero\n                   that is put on the end; can be zero\n                 if not successful:\n                   PCRE_ERROR_NOMEMORY (-6) buffer too small\n                   PCRE_ERROR_NOSUBSTRING (-7) no such captured substring\n*/\n\nint\npcre_copy_named_substring(const pcre *code, const char *subject, int *ovector,\n  int stringcount, const char *stringname, char *buffer, int size)\n{\nint n = pcre_get_stringnumber(code, stringname);\nif (n <= 0) return n;\nreturn pcre_copy_substring(subject, ovector, stringcount, n, buffer, size);\n}\n\n\n\n/*************************************************\n*      Copy all captured strings to new store    *\n*************************************************/\n\n/* This function gets one chunk of store and builds a list of pointers and all\nof the captured substrings in it. A NULL pointer is put on the end of the list.\n\nArguments:\n  subject        the subject string that was matched\n  ovector        pointer to the offsets table\n  stringcount    the number of substrings that were captured\n                   (i.e. the yield of the pcre_exec call, unless\n                   that was zero, in which case it should be 1/3\n                   of the offset table size)\n  listptr        set to point to the list of pointers\n\nReturns:         if successful: 0\n                 if not successful:\n                   PCRE_ERROR_NOMEMORY (-6) failed to get store\n*/\n\nint\npcre_get_substring_list(const char *subject, int *ovector, int stringcount,\n  const char ***listptr)\n{\nint i;\nint size = sizeof(char *);\nint double_count = stringcount * 2;\nchar **stringlist;\nchar *p;\n\nfor (i = 0; i < double_count; i += 2)\n  size += sizeof(char *) + ovector[i+1] - ovector[i] + 1;\n\nstringlist = (char **)(pcre_malloc)(size);\nif (stringlist == NULL) return PCRE_ERROR_NOMEMORY;\n\n*listptr = (const char **)stringlist;\np = (char *)(stringlist + stringcount + 1);\n\nfor (i = 0; i < double_count; i += 2)\n  {\n  int len = ovector[i+1] - ovector[i];\n  memcpy(p, subject + ovector[i], len);\n  *stringlist++ = p;\n  p += len;\n  *p++ = 0;\n  }\n\n*stringlist = NULL;\nreturn 0;\n}\n\n\n\n/*************************************************\n*   Free store obtained by get_substring_list    *\n*************************************************/\n\n/* This function exists for the benefit of people calling PCRE from non-C\nprograms that can call its functions, but not free() or (pcre_free)() directly.\n\nArgument:   the result of a previous pcre_get_substring_list()\nReturns:    nothing\n*/\n\nvoid\npcre_free_substring_list(const char **pointer)\n{\n(pcre_free)((void *)pointer);\n}\n\n\n\n/*************************************************\n*      Copy captured string to new store         *\n*************************************************/\n\n/* This function copies a single captured substring into a piece of new\nstore\n\nArguments:\n  subject        the subject string that was matched\n  ovector        pointer to the offsets table\n  stringcount    the number of substrings that were captured\n                   (i.e. the yield of the pcre_exec call, unless\n                   that was zero, in which case it should be 1/3\n                   of the offset table size)\n  stringnumber   the number of the required substring\n  stringptr      where to put a pointer to the substring\n\nReturns:         if successful:\n                   the length of the string, not including the zero that\n                   is put on the end; can be zero\n                 if not successful:\n                   PCRE_ERROR_NOMEMORY (-6) failed to get store\n                   PCRE_ERROR_NOSUBSTRING (-7) substring not present\n*/\n\nint\npcre_get_substring(const char *subject, int *ovector, int stringcount,\n  int stringnumber, const char **stringptr)\n{\nint yield;\nchar *substring;\nif (stringnumber < 0 || stringnumber >= stringcount)\n  return PCRE_ERROR_NOSUBSTRING;\nstringnumber *= 2;\nyield = ovector[stringnumber+1] - ovector[stringnumber];\nsubstring = (char *)(pcre_malloc)(yield + 1);\nif (substring == NULL) return PCRE_ERROR_NOMEMORY;\nmemcpy(substring, subject + ovector[stringnumber], yield);\nsubstring[yield] = 0;\n*stringptr = substring;\nreturn yield;\n}\n\n\n\n/*************************************************\n*   Copy named captured string to new store      *\n*************************************************/\n\n/* This function copies a single captured substring, identified by name, into\nnew store.\n\nArguments:\n  code           the compiled regex\n  subject        the subject string that was matched\n  ovector        pointer to the offsets table\n  stringcount    the number of substrings that were captured\n                   (i.e. the yield of the pcre_exec call, unless\n                   that was zero, in which case it should be 1/3\n                   of the offset table size)\n  stringname     the name of the required substring\n  stringptr      where to put the pointer\n\nReturns:         if successful:\n                   the length of the copied string, not including the zero\n                   that is put on the end; can be zero\n                 if not successful:\n                   PCRE_ERROR_NOMEMORY (-6) couldn't get memory\n                   PCRE_ERROR_NOSUBSTRING (-7) no such captured substring\n*/\n\nint\npcre_get_named_substring(const pcre *code, const char *subject, int *ovector,\n  int stringcount, const char *stringname, const char **stringptr)\n{\nint n = pcre_get_stringnumber(code, stringname);\nif (n <= 0) return n;\nreturn pcre_get_substring(subject, ovector, stringcount, n, stringptr);\n}\n\n\n\n\n/*************************************************\n*       Free store obtained by get_substring     *\n*************************************************/\n\n/* This function exists for the benefit of people calling PCRE from non-C\nprograms that can call its functions, but not free() or (pcre_free)() directly.\n\nArgument:   the result of a previous pcre_get_substring()\nReturns:    nothing\n*/\n\nvoid\npcre_free_substring(const char *pointer)\n{\n(pcre_free)((void *)pointer);\n}\n\n/* End of pcre_get.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_globals.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains global variables that are exported by the PCRE library.\nPCRE is thread-clean and doesn't use any global variables in the normal sense.\nHowever, it calls memory allocation and freeing functions via the four\nindirections below, and it can optionally do callouts, using the fifth\nindirection. These values can be changed by the caller, but are shared between\nall threads. However, when compiling for Virtual Pascal, things are done\ndifferently, and global variables are not used (see pcre.in). */\n\n\n#include \"pcre_internal.h\"\n\n\n#ifndef VPCOMPAT\n#ifdef __cplusplus\nextern \"C\" void *(*pcre_malloc)(size_t) = malloc;\nextern \"C\" void  (*pcre_free)(void *) = free;\nextern \"C\" void *(*pcre_stack_malloc)(size_t) = malloc;\nextern \"C\" void  (*pcre_stack_free)(void *) = free;\nextern \"C\" int   (*pcre_callout)(pcre_callout_block *) = NULL;\n#else\nvoid *(*pcre_malloc)(size_t) = NULL;//malloc;\nvoid  (*pcre_free)(void *) = NULL;//free;\nvoid *(*pcre_stack_malloc)(size_t) = NULL;//malloc;\nvoid  (*pcre_stack_free)(void *) = NULL;//free;\nint   (*pcre_callout)(pcre_callout_block *) = NULL;\n#endif\n#endif\n\n/* End of pcre_globals.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_info.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_info(), which gives some\ninformation about a compiled pattern. However, use of this function is now\ndeprecated, as it has been superseded by pcre_fullinfo(). */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n* (Obsolete) Return info about compiled pattern  *\n*************************************************/\n\n/* This is the original \"info\" function. It picks potentially useful data out\nof the private structure, but its interface was too rigid. It remains for\nbackwards compatibility. The public options are passed back in an int - though\nthe re->options field has been expanded to a long int, all the public options\nat the low end of it, and so even on 16-bit systems this will still be OK.\nTherefore, I haven't changed the API for pcre_info().\n\nArguments:\n  argument_re   points to compiled code\n  optptr        where to pass back the options\n  first_byte    where to pass back the first character,\n                or -1 if multiline and all branches start ^,\n                or -2 otherwise\n\nReturns:        number of capturing subpatterns\n                or negative values on error\n*/\n\nEXPORT int\npcre_info(const pcre *argument_re, int *optptr, int *first_byte)\n{\nreal_pcre internal_re;\nconst real_pcre *re = (const real_pcre *)argument_re;\nif (re == NULL) return PCRE_ERROR_NULL;\nif (re->magic_number != MAGIC_NUMBER)\n  {\n  re = _pcre_try_flipped(re, &internal_re, NULL, NULL);\n  if (re == NULL) return PCRE_ERROR_BADMAGIC;\n  }\nif (optptr != NULL) *optptr = (int)(re->options & PUBLIC_OPTIONS);\nif (first_byte != NULL)\n  *first_byte = ((re->options & PCRE_FIRSTSET) != 0)? re->first_byte :\n     ((re->options & PCRE_STARTLINE) != 0)? -1 : -2;\nreturn re->top_bracket;\n}\n\n/* End of pcre_info.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_internal.h",
    "content": "/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n/* This header contains definitions that are shared between the different\nmodules, but which are not relevant to the exported API. This includes some\nfunctions whose names all begin with \"_pcre_\". */\n\n\n/* Define DEBUG to get debugging output on stdout. */\n\n/****\n#define DEBUG\n****/\n\n/* Use a macro for debugging printing, 'cause that eliminates the use of #ifdef\ninline, and there are *still* stupid compilers about that don't like indented\npre-processor statements, or at least there were when I first wrote this. After\nall, it had only been about 10 years then... */\n\n#ifdef DEBUG\n#define DPRINTF(p) printf p\n#else\n#define DPRINTF(p) /*nothing*/\n#endif\n\n\n/* Get the definitions provided by running \"configure\" */\n\n#include \"config.h\"\n\n/* Standard C headers plus the external interface definition. The only time\nsetjmp and stdarg are used is when NO_RECURSE is set. */\n\n#include <ctype.h>\n#include <limits.h>\n#include <setjmp.h>\n#include <stdarg.h>\n#include <stddef.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n\n#ifndef PCRE_SPY\n#define PCRE_DEFINITION       /* Win32 __declspec(export) trigger for .dll */\n#endif\n\n/* We need to have types that specify unsigned 16-bit and 32-bit integers. We\ncannot determine these outside the compilation (e.g. by running a program as\npart of \"configure\") because PCRE is often cross-compiled for use on other\nsystems. Instead we make use of the maximum sizes that are available at\npreprocessor time in standard C environments. */\n\n#if USHRT_MAX == 65535\n  typedef unsigned short pcre_uint16;\n#elif UINT_MAX == 65535\n  typedef unsigned int pcre_uint16;\n#else\n  #error Cannot determine a type for 16-bit unsigned integers\n#endif\n\n#if UINT_MAX == 4294967295\n  typedef unsigned int pcre_uint32;\n#elif ULONG_MAX == 4294967295\n  typedef unsigned long int pcre_uint32;\n#else\n  #error Cannot determine a type for 32-bit unsigned integers\n#endif\n\n/* All character handling must be done as unsigned characters. Otherwise there\nare problems with top-bit-set characters and functions such as isspace().\nHowever, we leave the interface to the outside world as char *, because that\nshould make things easier for callers. We define a short type for unsigned char\nto save lots of typing. I tried \"uchar\", but it causes problems on Digital\nUnix, where it is defined in sys/types, so use \"uschar\" instead. */\n\ntypedef unsigned char uschar;\n\n/* Include the public PCRE header */\n\n#include \"pcre.h\"\n\n/* Include the (copy of) the public ucp header, changing the external name into\na private one. This does no harm, even if we aren't compiling UCP support. */\n\n#define ucp_findchar _pcre_ucp_findchar\n#include \"ucp.h\"\n\n/* When compiling for use with the Virtual Pascal compiler, these functions\nneed to have their names changed. PCRE must be compiled with the -DVPCOMPAT\noption on the command line. */\n\n#ifdef VPCOMPAT\n#define strncmp(s1,s2,m) _strncmp(s1,s2,m)\n#define memcpy(d,s,n)    _memcpy(d,s,n)\n#define memmove(d,s,n)   _memmove(d,s,n)\n#define memset(s,c,n)    _memset(s,c,n)\n#else  /* VPCOMPAT */\n\n/* To cope with SunOS4 and other systems that lack memmove() but have bcopy(),\ndefine a macro for memmove() if HAVE_MEMMOVE is false, provided that HAVE_BCOPY\nis set. Otherwise, include an emulating function for those systems that have\nneither (there some non-Unix environments where this is the case). This assumes\nthat all calls to memmove are moving strings upwards in store, which is the\ncase in PCRE. */\n\n#if ! HAVE_MEMMOVE\n#undef  memmove        /* some systems may have a macro */\n#if HAVE_BCOPY\n#define memmove(a, b, c) bcopy(b, a, c)\n#else  /* HAVE_BCOPY */\nvoid *\npcre_memmove(unsigned char *dest, const unsigned char *src, size_t n)\n{\nint i;\ndest += n;\nsrc += n;\nfor (i = 0; i < n; ++i) *(--dest) =  *(--src);\n}\n#define memmove(a, b, c) pcre_memmove(a, b, c)\n#endif   /* not HAVE_BCOPY */\n#endif   /* not HAVE_MEMMOVE */\n#endif   /* not VPCOMPAT */\n\n\n/* PCRE keeps offsets in its compiled code as 2-byte quantities (always stored\nin big-endian order) by default. These are used, for example, to link from the\nstart of a subpattern to its alternatives and its end. The use of 2 bytes per\noffset limits the size of the compiled regex to around 64K, which is big enough\nfor almost everybody. However, I received a request for an even bigger limit.\nFor this reason, and also to make the code easier to maintain, the storing and\nloading of offsets from the byte string is now handled by the macros that are\ndefined here.\n\nThe macros are controlled by the value of LINK_SIZE. This defaults to 2 in\nthe config.h file, but can be overridden by using -D on the command line. This\nis automated on Unix systems via the \"configure\" command. */\n\n#if LINK_SIZE == 2\n\n#define PUT(a,n,d)   \\\n  (a[n] = (d) >> 8), \\\n  (a[(n)+1] = (d) & 255)\n\n#define GET(a,n) \\\n  (((a)[n] << 8) | (a)[(n)+1])\n\n#define MAX_PATTERN_SIZE (1 << 16)\n\n\n#elif LINK_SIZE == 3\n\n#define PUT(a,n,d)       \\\n  (a[n] = (d) >> 16),    \\\n  (a[(n)+1] = (d) >> 8), \\\n  (a[(n)+2] = (d) & 255)\n\n#define GET(a,n) \\\n  (((a)[n] << 16) | ((a)[(n)+1] << 8) | (a)[(n)+2])\n\n#define MAX_PATTERN_SIZE (1 << 24)\n\n\n#elif LINK_SIZE == 4\n\n#define PUT(a,n,d)        \\\n  (a[n] = (d) >> 24),     \\\n  (a[(n)+1] = (d) >> 16), \\\n  (a[(n)+2] = (d) >> 8),  \\\n  (a[(n)+3] = (d) & 255)\n\n#define GET(a,n) \\\n  (((a)[n] << 24) | ((a)[(n)+1] << 16) | ((a)[(n)+2] << 8) | (a)[(n)+3])\n\n#define MAX_PATTERN_SIZE (1 << 30)   /* Keep it positive */\n\n\n#else\n#error LINK_SIZE must be either 2, 3, or 4\n#endif\n\n\n/* Convenience macro defined in terms of the others */\n\n#define PUTINC(a,n,d)   PUT(a,n,d), a += LINK_SIZE\n\n\n/* PCRE uses some other 2-byte quantities that do not change when the size of\noffsets changes. There are used for repeat counts and for other things such as\ncapturing parenthesis numbers in back references. */\n\n#define PUT2(a,n,d)   \\\n  a[n] = (d) >> 8; \\\n  a[(n)+1] = (d) & 255\n\n#define GET2(a,n) \\\n  (((a)[n] << 8) | (a)[(n)+1])\n\n#define PUT2INC(a,n,d)  PUT2(a,n,d), a += 2\n\n\n/* When UTF-8 encoding is being used, a character is no longer just a single\nbyte. The macros for character handling generate simple sequences when used in\nbyte-mode, and more complicated ones for UTF-8 characters. */\n\n#ifndef SUPPORT_UTF8\n#define GETCHAR(c, eptr) c = *eptr;\n#define GETCHARTEST(c, eptr) c = *eptr;\n#define GETCHARINC(c, eptr) c = *eptr++;\n#define GETCHARINCTEST(c, eptr) c = *eptr++;\n#define GETCHARLEN(c, eptr, len) c = *eptr;\n#define BACKCHAR(eptr)\n\n#else   /* SUPPORT_UTF8 */\n\n/* Get the next UTF-8 character, not advancing the pointer. This is called when\nwe know we are in UTF-8 mode. */\n\n#define GETCHAR(c, eptr) \\\n  c = *eptr; \\\n  if ((c & 0xc0) == 0xc0) \\\n    { \\\n    int gcii; \\\n    int gcaa = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */ \\\n    int gcss = 6*gcaa; \\\n    c = (c & _pcre_utf8_table3[gcaa]) << gcss; \\\n    for (gcii = 1; gcii <= gcaa; gcii++) \\\n      { \\\n      gcss -= 6; \\\n      c |= (eptr[gcii] & 0x3f) << gcss; \\\n      } \\\n    }\n\n/* Get the next UTF-8 character, testing for UTF-8 mode, and not advancing the\npointer. */\n\n#define GETCHARTEST(c, eptr) \\\n  c = *eptr; \\\n  if (utf8 && (c & 0xc0) == 0xc0) \\\n    { \\\n    int gcii; \\\n    int gcaa = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */ \\\n    int gcss = 6*gcaa; \\\n    c = (c & _pcre_utf8_table3[gcaa]) << gcss; \\\n    for (gcii = 1; gcii <= gcaa; gcii++) \\\n      { \\\n      gcss -= 6; \\\n      c |= (eptr[gcii] & 0x3f) << gcss; \\\n      } \\\n    }\n\n/* Get the next UTF-8 character, advancing the pointer. This is called when we\nknow we are in UTF-8 mode. */\n\n#define GETCHARINC(c, eptr) \\\n  c = *eptr++; \\\n  if ((c & 0xc0) == 0xc0) \\\n    { \\\n    int gcaa = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */ \\\n    int gcss = 6*gcaa; \\\n    c = (c & _pcre_utf8_table3[gcaa]) << gcss; \\\n    while (gcaa-- > 0) \\\n      { \\\n      gcss -= 6; \\\n      c |= (*eptr++ & 0x3f) << gcss; \\\n      } \\\n    }\n\n/* Get the next character, testing for UTF-8 mode, and advancing the pointer */\n\n#define GETCHARINCTEST(c, eptr) \\\n  c = *eptr++; \\\n  if (utf8 && (c & 0xc0) == 0xc0) \\\n    { \\\n    int gcaa = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */ \\\n    int gcss = 6*gcaa; \\\n    c = (c & _pcre_utf8_table3[gcaa]) << gcss; \\\n    while (gcaa-- > 0) \\\n      { \\\n      gcss -= 6; \\\n      c |= (*eptr++ & 0x3f) << gcss; \\\n      } \\\n    }\n\n/* Get the next UTF-8 character, not advancing the pointer, incrementing length\nif there are extra bytes. This is called when we know we are in UTF-8 mode. */\n\n#define GETCHARLEN(c, eptr, len) \\\n  c = *eptr; \\\n  if ((c & 0xc0) == 0xc0) \\\n    { \\\n    int gcii; \\\n    int gcaa = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */ \\\n    int gcss = 6*gcaa; \\\n    c = (c & _pcre_utf8_table3[gcaa]) << gcss; \\\n    for (gcii = 1; gcii <= gcaa; gcii++) \\\n      { \\\n      gcss -= 6; \\\n      c |= (eptr[gcii] & 0x3f) << gcss; \\\n      } \\\n    len += gcaa; \\\n    }\n\n/* If the pointer is not at the start of a character, move it back until\nit is. Called only in UTF-8 mode. */\n\n#define BACKCHAR(eptr) while((*eptr & 0xc0) == 0x80) eptr--;\n\n#endif\n\n\n/* In case there is no definition of offsetof() provided - though any proper\nStandard C system should have one. */\n\n#ifndef offsetof\n#define offsetof(p_type,field) ((size_t)&(((p_type *)0)->field))\n#endif\n\n\n/* These are the public options that can change during matching. */\n\n#define PCRE_IMS (PCRE_CASELESS|PCRE_MULTILINE|PCRE_DOTALL)\n\n/* Private options flags start at the most significant end of the four bytes,\nbut skip the top bit so we can use ints for convenience without getting tangled\nwith negative values. The public options defined in pcre.h start at the least\nsignificant end. Make sure they don't overlap! */\n\n#define PCRE_FIRSTSET      0x40000000  /* first_byte is set */\n#define PCRE_REQCHSET      0x20000000  /* req_byte is set */\n#define PCRE_STARTLINE     0x10000000  /* start after \\n for multiline */\n#define PCRE_ICHANGED      0x08000000  /* i option changes within regex */\n#define PCRE_NOPARTIAL     0x04000000  /* can't use partial with this regex */\n\n/* Options for the \"extra\" block produced by pcre_study(). */\n\n#define PCRE_STUDY_MAPPED   0x01     /* a map of starting chars exists */\n\n/* Masks for identifying the public options that are permitted at compile\ntime, run time, or study time, respectively. */\n\n#define PUBLIC_OPTIONS \\\n  (PCRE_CASELESS|PCRE_EXTENDED|PCRE_ANCHORED|PCRE_MULTILINE| \\\n   PCRE_DOTALL|PCRE_DOLLAR_ENDONLY|PCRE_EXTRA|PCRE_UNGREEDY|PCRE_UTF8| \\\n   PCRE_NO_AUTO_CAPTURE|PCRE_NO_UTF8_CHECK|PCRE_AUTO_CALLOUT|PCRE_FIRSTLINE)\n\n#define PUBLIC_EXEC_OPTIONS \\\n  (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \\\n   PCRE_PARTIAL)\n\n#define PUBLIC_DFA_EXEC_OPTIONS \\\n  (PCRE_ANCHORED|PCRE_NOTBOL|PCRE_NOTEOL|PCRE_NOTEMPTY|PCRE_NO_UTF8_CHECK| \\\n   PCRE_PARTIAL|PCRE_DFA_SHORTEST|PCRE_DFA_RESTART)\n\n#define PUBLIC_STUDY_OPTIONS 0   /* None defined */\n\n/* Magic number to provide a small check against being handed junk. Also used\nto detect whether a pattern was compiled on a host of different endianness. */\n\n#define MAGIC_NUMBER  0x50435245UL   /* 'PCRE' */\n\n/* Negative values for the firstchar and reqchar variables */\n\n#define REQ_UNSET (-2)\n#define REQ_NONE  (-1)\n\n/* The maximum remaining length of subject we are prepared to search for a\nreq_byte match. */\n\n#define REQ_BYTE_MAX 1000\n\n/* Flags added to firstbyte or reqbyte; a \"non-literal\" item is either a\nvariable-length repeat, or a anything other than literal characters. */\n\n#define REQ_CASELESS 0x0100    /* indicates caselessness */\n#define REQ_VARY     0x0200    /* reqbyte followed non-literal item */\n\n/* Miscellaneous definitions */\n\ntypedef int BOOL;\n\n#define FALSE   0\n#define TRUE    1\n\n/* Escape items that are just an encoding of a particular data value. Note that\nESC_n is defined as yet another macro, which is set in config.h to either \\n\n(the default) or \\r (which some people want). */\n\n#ifndef ESC_e\n#define ESC_e 27\n#endif\n\n#ifndef ESC_f\n#define ESC_f '\\f'\n#endif\n\n#ifndef ESC_n\n#define ESC_n NEWLINE\n#endif\n\n#ifndef ESC_r\n#define ESC_r '\\r'\n#endif\n\n/* We can't officially use ESC_t because it is a POSIX reserved identifier\n(presumably because of all the others like size_t). */\n\n#ifndef ESC_tee\n#define ESC_tee '\\t'\n#endif\n\n/* These are escaped items that aren't just an encoding of a particular data\nvalue such as \\n. They must have non-zero values, as check_escape() returns\ntheir negation. Also, they must appear in the same order as in the opcode\ndefinitions below, up to ESC_z. There's a dummy for OP_ANY because it\ncorresponds to \".\" rather than an escape sequence. The final one must be\nESC_REF as subsequent values are used for \\1, \\2, \\3, etc. There is are two\ntests in the code for an escape greater than ESC_b and less than ESC_Z to\ndetect the types that may be repeated. These are the types that consume\ncharacters. If any new escapes are put in between that don't consume a\ncharacter, that code will have to change. */\n\nenum { ESC_A = 1, ESC_G, ESC_B, ESC_b, ESC_D, ESC_d, ESC_S, ESC_s, ESC_W,\n       ESC_w, ESC_dum1, ESC_C, ESC_P, ESC_p, ESC_X, ESC_Z, ESC_z, ESC_E,\n       ESC_Q, ESC_REF };\n\n/* Flag bits and data types for the extended class (OP_XCLASS) for classes that\ncontain UTF-8 characters with values greater than 255. */\n\n#define XCL_NOT    0x01    /* Flag: this is a negative class */\n#define XCL_MAP    0x02    /* Flag: a 32-byte map is present */\n\n#define XCL_END       0    /* Marks end of individual items */\n#define XCL_SINGLE    1    /* Single item (one multibyte char) follows */\n#define XCL_RANGE     2    /* A range (two multibyte chars) follows */\n#define XCL_PROP      3    /* Unicode property (one property code) follows */\n#define XCL_NOTPROP   4    /* Unicode inverted property (ditto) */\n\n\n/* Opcode table: OP_BRA must be last, as all values >= it are used for brackets\nthat extract substrings. Starting from 1 (i.e. after OP_END), the values up to\nOP_EOD must correspond in order to the list of escapes immediately above.\nNote that whenever this list is updated, the two macro definitions that follow\nmust also be updated to match. */\n\nenum {\n  OP_END,            /* 0 End of pattern */\n\n  /* Values corresponding to backslashed metacharacters */\n\n  OP_SOD,            /* 1 Start of data: \\A */\n  OP_SOM,            /* 2 Start of match (subject + offset): \\G */\n  OP_NOT_WORD_BOUNDARY,  /*  3 \\B */\n  OP_WORD_BOUNDARY,      /*  4 \\b */\n  OP_NOT_DIGIT,          /*  5 \\D */\n  OP_DIGIT,              /*  6 \\d */\n  OP_NOT_WHITESPACE,     /*  7 \\S */\n  OP_WHITESPACE,         /*  8 \\s */\n  OP_NOT_WORDCHAR,       /*  9 \\W */\n  OP_WORDCHAR,           /* 10 \\w */\n  OP_ANY,            /* 11 Match any character */\n  OP_ANYBYTE,        /* 12 Match any byte (\\C); different to OP_ANY for UTF-8 */\n  OP_NOTPROP,        /* 13 \\P (not Unicode property) */\n  OP_PROP,           /* 14 \\p (Unicode property) */\n  OP_EXTUNI,         /* 15 \\X (extended Unicode sequence */\n  OP_EODN,           /* 16 End of data or \\n at end of data: \\Z. */\n  OP_EOD,            /* 17 End of data: \\z */\n\n  OP_OPT,            /* 18 Set runtime options */\n  OP_CIRC,           /* 19 Start of line - varies with multiline switch */\n  OP_DOLL,           /* 20 End of line - varies with multiline switch */\n  OP_CHAR,           /* 21 Match one character, casefully */\n  OP_CHARNC,         /* 22 Match one character, caselessly */\n  OP_NOT,            /* 23 Match anything but the following char */\n\n  OP_STAR,           /* 24 The maximizing and minimizing versions of */\n  OP_MINSTAR,        /* 25 all these opcodes must come in pairs, with */\n  OP_PLUS,           /* 26 the minimizing one second. */\n  OP_MINPLUS,        /* 27 This first set applies to single characters */\n  OP_QUERY,          /* 28 */\n  OP_MINQUERY,       /* 29 */\n  OP_UPTO,           /* 30 From 0 to n matches */\n  OP_MINUPTO,        /* 31 */\n  OP_EXACT,          /* 32 Exactly n matches */\n\n  OP_NOTSTAR,        /* 33 The maximizing and minimizing versions of */\n  OP_NOTMINSTAR,     /* 34 all these opcodes must come in pairs, with */\n  OP_NOTPLUS,        /* 35 the minimizing one second. */\n  OP_NOTMINPLUS,     /* 36 This set applies to \"not\" single characters */\n  OP_NOTQUERY,       /* 37 */\n  OP_NOTMINQUERY,    /* 38 */\n  OP_NOTUPTO,        /* 39 From 0 to n matches */\n  OP_NOTMINUPTO,     /* 40 */\n  OP_NOTEXACT,       /* 41 Exactly n matches */\n\n  OP_TYPESTAR,       /* 42 The maximizing and minimizing versions of */\n  OP_TYPEMINSTAR,    /* 43 all these opcodes must come in pairs, with */\n  OP_TYPEPLUS,       /* 44 the minimizing one second. These codes must */\n  OP_TYPEMINPLUS,    /* 45 be in exactly the same order as those above. */\n  OP_TYPEQUERY,      /* 46 This set applies to character types such as \\d */\n  OP_TYPEMINQUERY,   /* 47 */\n  OP_TYPEUPTO,       /* 48 From 0 to n matches */\n  OP_TYPEMINUPTO,    /* 49 */\n  OP_TYPEEXACT,      /* 50 Exactly n matches */\n\n  OP_CRSTAR,         /* 51 The maximizing and minimizing versions of */\n  OP_CRMINSTAR,      /* 52 all these opcodes must come in pairs, with */\n  OP_CRPLUS,         /* 53 the minimizing one second. These codes must */\n  OP_CRMINPLUS,      /* 54 be in exactly the same order as those above. */\n  OP_CRQUERY,        /* 55 These are for character classes and back refs */\n  OP_CRMINQUERY,     /* 56 */\n  OP_CRRANGE,        /* 57 These are different to the three sets above. */\n  OP_CRMINRANGE,     /* 58 */\n\n  OP_CLASS,          /* 59 Match a character class, chars < 256 only */\n  OP_NCLASS,         /* 60 Same, but the bitmap was created from a negative\n                           class - the difference is relevant only when a UTF-8\n                           character > 255 is encountered. */\n\n  OP_XCLASS,         /* 61 Extended class for handling UTF-8 chars within the\n                           class. This does both positive and negative. */\n\n  OP_REF,            /* 62 Match a back reference */\n  OP_RECURSE,        /* 63 Match a numbered subpattern (possibly recursive) */\n  OP_CALLOUT,        /* 64 Call out to external function if provided */\n\n  OP_ALT,            /* 65 Start of alternation */\n  OP_KET,            /* 66 End of group that doesn't have an unbounded repeat */\n  OP_KETRMAX,        /* 67 These two must remain together and in this */\n  OP_KETRMIN,        /* 68 order. They are for groups the repeat for ever. */\n\n  /* The assertions must come before ONCE and COND */\n\n  OP_ASSERT,         /* 69 Positive lookahead */\n  OP_ASSERT_NOT,     /* 70 Negative lookahead */\n  OP_ASSERTBACK,     /* 71 Positive lookbehind */\n  OP_ASSERTBACK_NOT, /* 72 Negative lookbehind */\n  OP_REVERSE,        /* 73 Move pointer back - used in lookbehind assertions */\n\n  /* ONCE and COND must come after the assertions, with ONCE first, as there's\n  a test for >= ONCE for a subpattern that isn't an assertion. */\n\n  OP_ONCE,           /* 74 Once matched, don't back up into the subpattern */\n  OP_COND,           /* 75 Conditional group */\n  OP_CREF,           /* 76 Used to hold an extraction string number (cond ref) */\n\n  OP_BRAZERO,        /* 77 These two must remain together and in this */\n  OP_BRAMINZERO,     /* 78 order. */\n\n  OP_BRANUMBER,      /* 79 Used for extracting brackets whose number is greater\n                           than can fit into an opcode. */\n\n  OP_BRA             /* 80 This and greater values are used for brackets that\n                           extract substrings up to EXTRACT_BASIC_MAX. After\n                           that, use is made of OP_BRANUMBER. */\n};\n\n/* WARNING WARNING WARNING: There is an implicit assumption in pcre.c and\nstudy.c that all opcodes are less than 128 in value. This makes handling UTF-8\ncharacter sequences easier. */\n\n/* The highest extraction number before we have to start using additional\nbytes. (Originally PCRE didn't have support for extraction counts highter than\nthis number.) The value is limited by the number of opcodes left after OP_BRA,\ni.e. 255 - OP_BRA. We actually set it a bit lower to leave room for additional\nopcodes. */\n\n#define EXTRACT_BASIC_MAX  100\n\n\n/* This macro defines textual names for all the opcodes. These are used only\nfor debugging. The macro is referenced only in pcre_printint.c. */\n\n#define OP_NAME_LIST \\\n  \"End\", \"\\\\A\", \"\\\\G\", \"\\\\B\", \"\\\\b\", \"\\\\D\", \"\\\\d\",                \\\n  \"\\\\S\", \"\\\\s\", \"\\\\W\", \"\\\\w\", \"Any\", \"Anybyte\",                   \\\n  \"notprop\", \"prop\", \"extuni\",                                    \\\n  \"\\\\Z\", \"\\\\z\",                                                   \\\n  \"Opt\", \"^\", \"$\", \"char\", \"charnc\", \"not\",                       \\\n  \"*\", \"*?\", \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\", \"{\",                 \\\n  \"*\", \"*?\", \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\", \"{\",                 \\\n  \"*\", \"*?\", \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\", \"{\",                 \\\n  \"*\", \"*?\", \"+\", \"+?\", \"?\", \"??\", \"{\", \"{\",                      \\\n  \"class\", \"nclass\", \"xclass\", \"Ref\", \"Recurse\", \"Callout\",       \\\n  \"Alt\", \"Ket\", \"KetRmax\", \"KetRmin\", \"Assert\", \"Assert not\",     \\\n  \"AssertB\", \"AssertB not\", \"Reverse\", \"Once\", \"Cond\", \"Cond ref\",\\\n  \"Brazero\", \"Braminzero\", \"Branumber\", \"Bra\"\n\n\n/* This macro defines the length of fixed length operations in the compiled\nregex. The lengths are used when searching for specific things, and also in the\ndebugging printing of a compiled regex. We use a macro so that it can be\ndefined close to the definitions of the opcodes themselves.\n\nAs things have been extended, some of these are no longer fixed lenths, but are\nminima instead. For example, the length of a single-character repeat may vary\nin UTF-8 mode. The code that uses this table must know about such things. */\n\n#define OP_LENGTHS \\\n  1,                             /* End                                    */ \\\n  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,  /* \\A, \\G, \\B, \\B, \\D, \\d, \\S, \\s, \\W, \\w */ \\\n  1, 1,                          /* Any, Anybyte                           */ \\\n  2, 2, 1,                       /* NOTPROP, PROP, EXTUNI                  */ \\\n  1, 1, 2, 1, 1,                 /* \\Z, \\z, Opt, ^, $                      */ \\\n  2,                             /* Char  - the minimum length             */ \\\n  2,                             /* Charnc  - the minimum length           */ \\\n  2,                             /* not                                    */ \\\n  /* Positive single-char repeats                            ** These are  */ \\\n  2, 2, 2, 2, 2, 2,              /* *, *?, +, +?, ?, ??      ** minima in  */ \\\n  4, 4, 4,                       /* upto, minupto, exact     ** UTF-8 mode */ \\\n  /* Negative single-char repeats - only for chars < 256                   */ \\\n  2, 2, 2, 2, 2, 2,              /* NOT *, *?, +, +?, ?, ??                */ \\\n  4, 4, 4,                       /* NOT upto, minupto, exact               */ \\\n  /* Positive type repeats                                                 */ \\\n  2, 2, 2, 2, 2, 2,              /* Type *, *?, +, +?, ?, ??               */ \\\n  4, 4, 4,                       /* Type upto, minupto, exact              */ \\\n  /* Character class & ref repeats                                         */ \\\n  1, 1, 1, 1, 1, 1,              /* *, *?, +, +?, ?, ??                    */ \\\n  5, 5,                          /* CRRANGE, CRMINRANGE                    */ \\\n 33,                             /* CLASS                                  */ \\\n 33,                             /* NCLASS                                 */ \\\n  0,                             /* XCLASS - variable length               */ \\\n  3,                             /* REF                                    */ \\\n  1+LINK_SIZE,                   /* RECURSE                                */ \\\n  2+2*LINK_SIZE,                 /* CALLOUT                                */ \\\n  1+LINK_SIZE,                   /* Alt                                    */ \\\n  1+LINK_SIZE,                   /* Ket                                    */ \\\n  1+LINK_SIZE,                   /* KetRmax                                */ \\\n  1+LINK_SIZE,                   /* KetRmin                                */ \\\n  1+LINK_SIZE,                   /* Assert                                 */ \\\n  1+LINK_SIZE,                   /* Assert not                             */ \\\n  1+LINK_SIZE,                   /* Assert behind                          */ \\\n  1+LINK_SIZE,                   /* Assert behind not                      */ \\\n  1+LINK_SIZE,                   /* Reverse                                */ \\\n  1+LINK_SIZE,                   /* Once                                   */ \\\n  1+LINK_SIZE,                   /* COND                                   */ \\\n  3,                             /* CREF                                   */ \\\n  1, 1,                          /* BRAZERO, BRAMINZERO                    */ \\\n  3,                             /* BRANUMBER                              */ \\\n  1+LINK_SIZE                    /* BRA                                    */ \\\n\n\n/* A magic value for OP_CREF to indicate the \"in recursion\" condition. */\n\n#define CREF_RECURSE  0xffff\n\n/* Error code numbers. They are given names so that they can more easily be\ntracked. */\n\nenum { ERR0,  ERR1,  ERR2,  ERR3,  ERR4,  ERR5,  ERR6,  ERR7,  ERR8,  ERR9,\n       ERR10, ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17, ERR18, ERR19,\n       ERR20, ERR21, ERR22, ERR23, ERR24, ERR25, ERR26, ERR27, ERR28, ERR29,\n       ERR30, ERR31, ERR32, ERR33, ERR34, ERR35, ERR36, ERR37, ERR38, ERR39,\n       ERR40, ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47 };\n\n/* The real format of the start of the pcre block; the index of names and the\ncode vector run on as long as necessary after the end. We store an explicit\noffset to the name table so that if a regex is compiled on one host, saved, and\nthen run on another where the size of pointers is different, all might still\nbe well. For the case of compiled-on-4 and run-on-8, we include an extra\npointer that is always NULL. For future-proofing, a few dummy fields were\noriginally included - even though you can never get this planning right - but\nthere is only one left now.\n\nNOTE NOTE NOTE:\nBecause people can now save and re-use compiled patterns, any additions to this\nstructure should be made at the end, and something earlier (e.g. a new\nflag in the options or one of the dummy fields) should indicate that the new\nfields are present. Currently PCRE always sets the dummy fields to zero.\nNOTE NOTE NOTE:\n*/\n\ntypedef struct real_pcre {\n  pcre_uint32 magic_number;\n  pcre_uint32 size;               /* Total that was malloced */\n  pcre_uint32 options;\n  pcre_uint32 dummy1;             /* For future use, maybe */\n\n  pcre_uint16 top_bracket;\n  pcre_uint16 top_backref;\n  pcre_uint16 first_byte;\n  pcre_uint16 req_byte;\n  pcre_uint16 name_table_offset;  /* Offset to name table that follows */\n  pcre_uint16 name_entry_size;    /* Size of any name items */\n  pcre_uint16 name_count;         /* Number of name items */\n  pcre_uint16 ref_count;          /* Reference count */\n\n  const unsigned char *tables;    /* Pointer to tables or NULL for std */\n  const unsigned char *nullpad;   /* NULL padding */\n} real_pcre;\n\n/* The format of the block used to store data from pcre_study(). The same\nremark (see NOTE above) about extending this structure applies. */\n\ntypedef struct pcre_study_data {\n  pcre_uint32 size;               /* Total that was malloced */\n  pcre_uint32 options;\n  uschar start_bits[32];\n} pcre_study_data;\n\n/* Structure for passing \"static\" information around between the functions\ndoing the compiling, so that they are thread-safe. */\n\ntypedef struct compile_data {\n  const uschar *lcc;            /* Points to lower casing table */\n  const uschar *fcc;            /* Points to case-flipping table */\n  const uschar *cbits;          /* Points to character type table */\n  const uschar *ctypes;         /* Points to table of type maps */\n  const uschar *start_code;     /* The start of the compiled code */\n  const uschar *start_pattern;  /* The start of the pattern */\n  uschar *name_table;           /* The name/number table */\n  int  names_found;             /* Number of entries so far */\n  int  name_entry_size;         /* Size of each entry */\n  int  top_backref;             /* Maximum back reference */\n  unsigned int backref_map;     /* Bitmap of low back refs */\n  int  req_varyopt;             /* \"After variable item\" flag for reqbyte */\n  BOOL nopartial;               /* Set TRUE if partial won't work */\n} compile_data;\n\n/* Structure for maintaining a chain of pointers to the currently incomplete\nbranches, for testing for left recursion. */\n\ntypedef struct branch_chain {\n  struct branch_chain *outer;\n  uschar *current;\n} branch_chain;\n\n/* Structure for items in a linked list that represents an explicit recursive\ncall within the pattern. */\n\ntypedef struct recursion_info {\n  struct recursion_info *prevrec; /* Previous recursion record (or NULL) */\n  int group_num;                /* Number of group that was called */\n  const uschar *after_call;     /* \"Return value\": points after the call in the expr */\n  const uschar *save_start;     /* Old value of md->start_match */\n  int *offset_save;             /* Pointer to start of saved offsets */\n  int saved_max;                /* Number of saved offsets */\n} recursion_info;\n\n/* When compiling in a mode that doesn't use recursive calls to match(),\na structure is used to remember local variables on the heap. It is defined in\npcre.c, close to the match() function, so that it is easy to keep it in step\nwith any changes of local variable. However, the pointer to the current frame\nmust be saved in some \"static\" place over a longjmp(). We declare the\nstructure here so that we can put a pointer in the match_data structure.\nNOTE: This isn't used for a \"normal\" compilation of pcre. */\n\nstruct heapframe;\n\n/* Structure for passing \"static\" information around between the functions\ndoing traditional NFA matching, so that they are thread-safe. */\n\ntypedef struct match_data {\n  unsigned long int match_call_count; /* As it says */\n  unsigned long int match_limit;/* As it says */\n  int   *offset_vector;         /* Offset vector */\n  int    offset_end;            /* One past the end */\n  int    offset_max;            /* The maximum usable for return data */\n  const uschar *lcc;            /* Points to lower casing table */\n  const uschar *ctypes;         /* Points to table of type maps */\n  BOOL   offset_overflow;       /* Set if too many extractions */\n  BOOL   notbol;                /* NOTBOL flag */\n  BOOL   noteol;                /* NOTEOL flag */\n  BOOL   utf8;                  /* UTF8 flag */\n  BOOL   endonly;               /* Dollar not before final \\n */\n  BOOL   notempty;              /* Empty string match not wanted */\n  BOOL   partial;               /* PARTIAL flag */\n  BOOL   hitend;                /* Hit the end of the subject at some point */\n  const uschar *start_code;     /* For use when recursing */\n  const uschar *start_subject;  /* Start of the subject string */\n  const uschar *end_subject;    /* End of the subject string */\n  const uschar *start_match;    /* Start of this match attempt */\n  const uschar *end_match_ptr;  /* Subject position at end match */\n  int    end_offset_top;        /* Highwater mark at end of match */\n  int    capture_last;          /* Most recent capture number */\n  int    start_offset;          /* The start offset value */\n  recursion_info *recursive;    /* Linked list of recursion data */\n  void  *callout_data;          /* To pass back to callouts */\n  struct heapframe *thisframe;  /* Used only when compiling for no recursion */\n} match_data;\n\n/* A similar structure is used for the same purpose by the DFA matching\nfunctions. */\n\ntypedef struct dfa_match_data {\n  const uschar *start_code;     /* Start of the compiled pattern */\n  const uschar *start_subject;  /* Start of the subject string */\n  const uschar *end_subject;    /* End of subject string */\n  const uschar *tables;         /* Character tables */\n  int   moptions;               /* Match options */\n  int   poptions;               /* Pattern options */\n  void  *callout_data;          /* To pass back to callouts */\n} dfa_match_data;\n\n/* Bit definitions for entries in the pcre_ctypes table. */\n\n#define ctype_space   0x01\n#define ctype_letter  0x02\n#define ctype_digit   0x04\n#define ctype_xdigit  0x08\n#define ctype_word    0x10   /* alphameric or '_' */\n#define ctype_meta    0x80   /* regexp meta char or zero (end pattern) */\n\n/* Offsets for the bitmap tables in pcre_cbits. Each table contains a set\nof bits for a class map. Some classes are built by combining these tables. */\n\n#define cbit_space     0      /* [:space:] or \\s */\n#define cbit_xdigit   32      /* [:xdigit:] */\n#define cbit_digit    64      /* [:digit:] or \\d */\n#define cbit_upper    96      /* [:upper:] */\n#define cbit_lower   128      /* [:lower:] */\n#define cbit_word    160      /* [:word:] or \\w */\n#define cbit_graph   192      /* [:graph:] */\n#define cbit_print   224      /* [:print:] */\n#define cbit_punct   256      /* [:punct:] */\n#define cbit_cntrl   288      /* [:cntrl:] */\n#define cbit_length  320      /* Length of the cbits table */\n\n/* Offsets of the various tables from the base tables pointer, and\ntotal length. */\n\n#define lcc_offset      0\n#define fcc_offset    256\n#define cbits_offset  512\n#define ctypes_offset (cbits_offset + cbit_length)\n#define tables_length (ctypes_offset + 256)\n\n/* Layout of the UCP type table that translates property names into codes for\nucp_findchar(). */\n\ntypedef struct {\n  const char *name;\n  int value;\n} ucp_type_table;\n\n\n/* Internal shared data tables. These are tables that are used by more than one\nof the exported public functions. They have to be \"external\" in the C sense,\nbut are not part of the PCRE public API. The data for these tables is in the\npcre_tables.c module. */\n\nextern const int    _pcre_utf8_table1[];\nextern const int    _pcre_utf8_table2[];\nextern const int    _pcre_utf8_table3[];\nextern const uschar _pcre_utf8_table4[];\n\nextern const int    _pcre_utf8_table1_size;\n\nextern const ucp_type_table _pcre_utt[];\nextern const int _pcre_utt_size;\n\nextern const uschar _pcre_default_tables[];\n\nextern const uschar _pcre_OP_lengths[];\n\n\n/* Internal shared functions. These are functions that are used by more than\none of the exported public functions. They have to be \"external\" in the C\nsense, but are not part of the PCRE public API. */\n\nextern int         _pcre_ord2utf8(int, uschar *);\nextern void        _pcre_printint(pcre *, FILE *);\nextern real_pcre * _pcre_try_flipped(const real_pcre *, real_pcre *,\n                     const pcre_study_data *, pcre_study_data *);\nextern int         _pcre_ucp_findchar(const int, int *, int *);\nextern int         _pcre_valid_utf8(const uschar *, int);\nextern BOOL        _pcre_xclass(int, const uschar *);\n\n/* End of pcre_internal.h */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_maketables.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_maketables(), which builds\ncharacter tables for PCRE in the current locale. The file is compiled on its\nown as part of the PCRE library. However, it is also included in the\ncompilation of dftables.c, in which case the macro DFTABLES is defined. */\n\n\n#ifndef DFTABLES\n#include \"pcre_internal.h\"\n#endif\n\n\n/*************************************************\n*           Create PCRE character tables         *\n*************************************************/\n\n/* This function builds a set of character tables for use by PCRE and returns\na pointer to them. They are build using the ctype functions, and consequently\ntheir contents will depend upon the current locale setting. When compiled as\npart of the library, the store is obtained via pcre_malloc(), but when compiled\ninside dftables, use malloc().\n\nArguments:   none\nReturns:     pointer to the contiguous block of data\n*/\n\nconst unsigned char *\npcre_maketables(void)\n{\nunsigned char *yield, *p;\nint i;\n\n#ifndef DFTABLES\nyield = (unsigned char*)(pcre_malloc)(tables_length);\n#else\nyield = (unsigned char*)malloc(tables_length);\n#endif\n\nif (yield == NULL) return NULL;\np = yield;\n\n/* First comes the lower casing table */\n\nfor (i = 0; i < 256; i++) *p++ = (unsigned char)tolower(i);\n\n/* Next the case-flipping table */\n\nfor (i = 0; i < 256; i++) *p++ = islower(i)? toupper(i) : tolower(i);\n\n/* Then the character class tables. Don't try to be clever and save effort\non exclusive ones - in some locales things may be different. Note that the\ntable for \"space\" includes everything \"isspace\" gives, including VT in the\ndefault locale. This makes it work for the POSIX class [:space:]. */\n\nmemset(p, 0, cbit_length);\nfor (i = 0; i < 256; i++)\n  {\n  if (isdigit(i))\n    {\n    p[cbit_digit  + i/8] |= 1 << (i&7);\n    p[cbit_word   + i/8] |= 1 << (i&7);\n    }\n  if (isupper(i))\n    {\n    p[cbit_upper  + i/8] |= 1 << (i&7);\n    p[cbit_word   + i/8] |= 1 << (i&7);\n    }\n  if (islower(i))\n    {\n    p[cbit_lower  + i/8] |= 1 << (i&7);\n    p[cbit_word   + i/8] |= 1 << (i&7);\n    }\n  if (i == '_')   p[cbit_word   + i/8] |= 1 << (i&7);\n  if (isspace(i)) p[cbit_space  + i/8] |= 1 << (i&7);\n  if (isxdigit(i))p[cbit_xdigit + i/8] |= 1 << (i&7);\n  if (isgraph(i)) p[cbit_graph  + i/8] |= 1 << (i&7);\n  if (isprint(i)) p[cbit_print  + i/8] |= 1 << (i&7);\n  if (ispunct(i)) p[cbit_punct  + i/8] |= 1 << (i&7);\n  if (iscntrl(i)) p[cbit_cntrl  + i/8] |= 1 << (i&7);\n  }\np += cbit_length;\n\n/* Finally, the character type table. In this, we exclude VT from the white\nspace chars, because Perl doesn't recognize it as such for \\s and for comments\nwithin regexes. */\n\nfor (i = 0; i < 256; i++)\n  {\n  int x = 0;\n  if (i != 0x0b && isspace(i)) x += ctype_space;\n  if (isalpha(i)) x += ctype_letter;\n  if (isdigit(i)) x += ctype_digit;\n  if (isxdigit(i)) x += ctype_xdigit;\n  if (isalnum(i) || i == '_') x += ctype_word;\n\n  /* Note: strchr includes the terminating zero in the characters it considers.\n  In this instance, that is ok because we want binary zero to be flagged as a\n  meta-character, which in this sense is any character that terminates a run\n  of data characters. */\n\n  if (strchr(\"*+?{^.$|()[\", i) != 0) x += ctype_meta; *p++ = (unsigned char)x; }\n\nreturn yield;\n}\n\n/* End of pcre_maketables.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_memory.c",
    "content": "#include \"stdafx.h\"\n#include \"pcre_internal.h\"\n void pcre_set_function_pointer(void* alloc,void* free)\n{\n\tpcre_malloc = alloc;\n\tpcre_stack_malloc = alloc;\n\tpcre_free = free;\n\tpcre_stack_free = free;\n\tpcre_callout = NULL;\n\t\n}"
  },
  {
    "path": "Project/Pcre/Source/pcre_memory.h",
    "content": ""
  },
  {
    "path": "Project/Pcre/Source/pcre_ord2utf8.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This file contains a private PCRE function that converts an ordinal\ncharacter value into a UTF8 string. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*       Convert character value to UTF-8         *\n*************************************************/\n\n/* This function takes an integer value in the range 0 - 0x7fffffff\nand encodes it as a UTF-8 character in 0 to 6 bytes.\n\nArguments:\n  cvalue     the character value\n  buffer     pointer to buffer for result - at least 6 bytes long\n\nReturns:     number of characters placed in the buffer\n*/\n\nEXPORT int\n_pcre_ord2utf8(int cvalue, uschar *buffer)\n{\nregister int i, j;\nfor (i = 0; i < _pcre_utf8_table1_size; i++)\n  if (cvalue <= _pcre_utf8_table1[i]) break;\nbuffer += i;\nfor (j = i; j > 0; j--)\n {\n *buffer-- = 0x80 | (cvalue & 0x3f);\n cvalue >>= 6;\n }\n*buffer = _pcre_utf8_table2[i] | cvalue;\nreturn i + 1;\n}\n\n/* End of pcre_ord2utf8.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_printint.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains an PCRE private debugging function for printing out the\ninternal form of a compiled regular expression, along with some supporting\nlocal functions. */\n\n\n#include \"pcre_internal.h\"\n\n\nstatic const char *OP_names[] = { OP_NAME_LIST };\n\n\n/*************************************************\n*       Print single- or multi-byte character    *\n*************************************************/\n\nstatic int\nprint_char(FILE *f, uschar *ptr, BOOL utf8)\n{\nint c = *ptr;\n\nif (!utf8 || (c & 0xc0) != 0xc0)\n  {\n  if (isprint(c)) fprintf(f, \"%c\", c); else fprintf(f, \"\\\\x%02x\", c);\n  return 0;\n  }\nelse\n  {\n  int i;\n  int a = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */\n  int s = 6*a;\n  c = (c & _pcre_utf8_table3[a]) << s;\n  for (i = 1; i <= a; i++)\n    {\n    /* This is a check for malformed UTF-8; it should only occur if the sanity\n    check has been turned off. Rather than swallow random bytes, just stop if\n    we hit a bad one. Print it with \\X instead of \\x as an indication. */\n\n    if ((ptr[i] & 0xc0) != 0x80)\n      {\n      fprintf(f, \"\\\\X{%x}\", c);\n      return i - 1;\n      }\n\n    /* The byte is OK */\n\n    s -= 6;\n    c |= (ptr[i] & 0x3f) << s;\n    }\n  if (c < 128) fprintf(f, \"\\\\x%02x\", c); else fprintf(f, \"\\\\x{%x}\", c);\n  return a;\n  }\n}\n\n\n\n/*************************************************\n*          Find Unicode property name            *\n*************************************************/\n\nstatic const char *\nget_ucpname(int property)\n{\n#ifdef SUPPORT_UCP\nint i;\nfor (i = _pcre_utt_size; i >= 0; i--)\n  {\n  if (property == _pcre_utt[i].value) break;\n  }\nreturn (i >= 0)? _pcre_utt[i].name : \"??\";\n#else\nreturn \"??\";\n#endif\n}\n\n\n\n/*************************************************\n*         Print compiled regex                   *\n*************************************************/\n\n/* Make this function work for a regex with integers either byte order.\nHowever, we assume that what we are passed is a compiled regex. */\n\nEXPORT void\n_pcre_printint(pcre *external_re, FILE *f)\n{\nreal_pcre *re = (real_pcre *)external_re;\nuschar *codestart, *code;\nBOOL utf8;\n\nunsigned int options = re->options;\nint offset = re->name_table_offset;\nint count = re->name_count;\nint size = re->name_entry_size;\n\nif (re->magic_number != MAGIC_NUMBER)\n  {\n  offset = ((offset << 8) & 0xff00) | ((offset >> 8) & 0xff);\n  count = ((count << 8) & 0xff00) | ((count >> 8) & 0xff);\n  size = ((size << 8) & 0xff00) | ((size >> 8) & 0xff);\n  options = ((options << 24) & 0xff000000) |\n            ((options <<  8) & 0x00ff0000) |\n            ((options >>  8) & 0x0000ff00) |\n            ((options >> 24) & 0x000000ff);\n  }\n\ncode = codestart = (uschar *)re + offset + count * size;\nutf8 = (options & PCRE_UTF8) != 0;\n\nfor(;;)\n  {\n  uschar *ccode;\n  int c;\n  int extra = 0;\n\n  fprintf(f, \"%3d \", (int)(code - codestart));\n\n  if (*code >= OP_BRA)\n    {\n    if (*code - OP_BRA > EXTRACT_BASIC_MAX)\n      fprintf(f, \"%3d Bra extra\\n\", GET(code, 1));\n    else\n      fprintf(f, \"%3d Bra %d\\n\", GET(code, 1), *code - OP_BRA);\n    code += _pcre_OP_lengths[OP_BRA];\n    continue;\n    }\n\n  switch(*code)\n    {\n    case OP_END:\n    fprintf(f, \"    %s\\n\", OP_names[*code]);\n    fprintf(f, \"------------------------------------------------------------------\\n\");\n    return;\n\n    case OP_OPT:\n    fprintf(f, \" %.2x %s\", code[1], OP_names[*code]);\n    break;\n\n    case OP_CHAR:\n      {\n      fprintf(f, \"    \");\n      do\n        {\n        code++;\n        code += 1 + print_char(f, code, utf8);\n        }\n      while (*code == OP_CHAR);\n      fprintf(f, \"\\n\");\n      continue;\n      }\n    break;\n\n    case OP_CHARNC:\n      {\n      fprintf(f, \" NC \");\n      do\n        {\n        code++;\n        code += 1 + print_char(f, code, utf8);\n        }\n      while (*code == OP_CHARNC);\n      fprintf(f, \"\\n\");\n      continue;\n      }\n    break;\n\n    case OP_KETRMAX:\n    case OP_KETRMIN:\n    case OP_ALT:\n    case OP_KET:\n    case OP_ASSERT:\n    case OP_ASSERT_NOT:\n    case OP_ASSERTBACK:\n    case OP_ASSERTBACK_NOT:\n    case OP_ONCE:\n    case OP_COND:\n    case OP_REVERSE:\n    fprintf(f, \"%3d %s\", GET(code, 1), OP_names[*code]);\n    break;\n\n    case OP_BRANUMBER:\n    printf(\"%3d %s\", GET2(code, 1), OP_names[*code]);\n    break;\n\n    case OP_CREF:\n    if (GET2(code, 1) == CREF_RECURSE)\n      fprintf(f, \"    Cond recurse\");\n    else\n      fprintf(f, \"%3d %s\", GET2(code,1), OP_names[*code]);\n    break;\n\n    case OP_STAR:\n    case OP_MINSTAR:\n    case OP_PLUS:\n    case OP_MINPLUS:\n    case OP_QUERY:\n    case OP_MINQUERY:\n    case OP_TYPESTAR:\n    case OP_TYPEMINSTAR:\n    case OP_TYPEPLUS:\n    case OP_TYPEMINPLUS:\n    case OP_TYPEQUERY:\n    case OP_TYPEMINQUERY:\n    fprintf(f, \"    \");\n    if (*code >= OP_TYPESTAR)\n      {\n      fprintf(f, \"%s\", OP_names[code[1]]);\n      if (code[1] == OP_PROP || code[1] == OP_NOTPROP)\n        {\n        fprintf(f, \" %s \", get_ucpname(code[2]));\n        extra = 1;\n        }\n      }\n    else extra = print_char(f, code+1, utf8);\n    fprintf(f, \"%s\", OP_names[*code]);\n    break;\n\n    case OP_EXACT:\n    case OP_UPTO:\n    case OP_MINUPTO:\n    fprintf(f, \"    \");\n    extra = print_char(f, code+3, utf8);\n    fprintf(f, \"{\");\n    if (*code != OP_EXACT) fprintf(f, \",\");\n    fprintf(f, \"%d}\", GET2(code,1));\n    if (*code == OP_MINUPTO) fprintf(f, \"?\");\n    break;\n\n    case OP_TYPEEXACT:\n    case OP_TYPEUPTO:\n    case OP_TYPEMINUPTO:\n    fprintf(f, \"    %s\", OP_names[code[3]]);\n    if (code[3] == OP_PROP || code[3] == OP_NOTPROP)\n      {\n      fprintf(f, \" %s \", get_ucpname(code[4]));\n      extra = 1;\n      }\n    fprintf(f, \"{\");\n    if (*code != OP_TYPEEXACT) fprintf(f, \"0,\");\n    fprintf(f, \"%d}\", GET2(code,1));\n    if (*code == OP_TYPEMINUPTO) fprintf(f, \"?\");\n    break;\n\n    case OP_NOT:\n    if (isprint(c = code[1])) fprintf(f, \"    [^%c]\", c);\n      else fprintf(f, \"    [^\\\\x%02x]\", c);\n    break;\n\n    case OP_NOTSTAR:\n    case OP_NOTMINSTAR:\n    case OP_NOTPLUS:\n    case OP_NOTMINPLUS:\n    case OP_NOTQUERY:\n    case OP_NOTMINQUERY:\n    if (isprint(c = code[1])) fprintf(f, \"    [^%c]\", c);\n      else fprintf(f, \"    [^\\\\x%02x]\", c);\n    fprintf(f, \"%s\", OP_names[*code]);\n    break;\n\n    case OP_NOTEXACT:\n    case OP_NOTUPTO:\n    case OP_NOTMINUPTO:\n    if (isprint(c = code[3])) fprintf(f, \"    [^%c]{\", c);\n      else fprintf(f, \"    [^\\\\x%02x]{\", c);\n    if (*code != OP_NOTEXACT) fprintf(f, \"0,\");\n    fprintf(f, \"%d}\", GET2(code,1));\n    if (*code == OP_NOTMINUPTO) fprintf(f, \"?\");\n    break;\n\n    case OP_RECURSE:\n    fprintf(f, \"%3d %s\", GET(code, 1), OP_names[*code]);\n    break;\n\n    case OP_REF:\n    fprintf(f, \"    \\\\%d\", GET2(code,1));\n    ccode = code + _pcre_OP_lengths[*code];\n    goto CLASS_REF_REPEAT;\n\n    case OP_CALLOUT:\n    fprintf(f, \"    %s %d %d %d\", OP_names[*code], code[1], GET(code,2),\n      GET(code, 2 + LINK_SIZE));\n    break;\n\n    case OP_PROP:\n    case OP_NOTPROP:\n    fprintf(f, \"    %s %s\", OP_names[*code], get_ucpname(code[1]));\n    break;\n\n    /* OP_XCLASS can only occur in UTF-8 mode. However, there's no harm in\n    having this code always here, and it makes it less messy without all those\n    #ifdefs. */\n\n    case OP_CLASS:\n    case OP_NCLASS:\n    case OP_XCLASS:\n      {\n      int i, min, max;\n      BOOL printmap;\n\n      fprintf(f, \"    [\");\n\n      if (*code == OP_XCLASS)\n        {\n        extra = GET(code, 1);\n        ccode = code + LINK_SIZE + 1;\n        printmap = (*ccode & XCL_MAP) != 0;\n        if ((*ccode++ & XCL_NOT) != 0) fprintf(f, \"^\");\n        }\n      else\n        {\n        printmap = TRUE;\n        ccode = code + 1;\n        }\n\n      /* Print a bit map */\n\n      if (printmap)\n        {\n        for (i = 0; i < 256; i++)\n          {\n          if ((ccode[i/8] & (1 << (i&7))) != 0)\n            {\n            int j;\n            for (j = i+1; j < 256; j++)\n              if ((ccode[j/8] & (1 << (j&7))) == 0) break;\n            if (i == '-' || i == ']') fprintf(f, \"\\\\\");\n            if (isprint(i)) fprintf(f, \"%c\", i); else fprintf(f, \"\\\\x%02x\", i);\n            if (--j > i)\n              {\n              if (j != i + 1) fprintf(f, \"-\");\n              if (j == '-' || j == ']') fprintf(f, \"\\\\\");\n              if (isprint(j)) fprintf(f, \"%c\", j); else fprintf(f, \"\\\\x%02x\", j);\n              }\n            i = j;\n            }\n          }\n        ccode += 32;\n        }\n\n      /* For an XCLASS there is always some additional data */\n\n      if (*code == OP_XCLASS)\n        {\n        int ch;\n        while ((ch = *ccode++) != XCL_END)\n          {\n          if (ch == XCL_PROP)\n            {\n            fprintf(f, \"\\\\p{%s}\", get_ucpname(*ccode++));\n            }\n          else if (ch == XCL_NOTPROP)\n            {\n            fprintf(f, \"\\\\P{%s}\", get_ucpname(*ccode++));\n            }\n          else\n            {\n            ccode += 1 + print_char(f, ccode, TRUE);\n            if (ch == XCL_RANGE)\n              {\n              fprintf(f, \"-\");\n              ccode += 1 + print_char(f, ccode, TRUE);\n              }\n            }\n          }\n        }\n\n      /* Indicate a non-UTF8 class which was created by negation */\n\n      fprintf(f, \"]%s\", (*code == OP_NCLASS)? \" (neg)\" : \"\");\n\n      /* Handle repeats after a class or a back reference */\n\n      CLASS_REF_REPEAT:\n      switch(*ccode)\n        {\n        case OP_CRSTAR:\n        case OP_CRMINSTAR:\n        case OP_CRPLUS:\n        case OP_CRMINPLUS:\n        case OP_CRQUERY:\n        case OP_CRMINQUERY:\n        fprintf(f, \"%s\", OP_names[*ccode]);\n        extra += _pcre_OP_lengths[*ccode];\n        break;\n\n        case OP_CRRANGE:\n        case OP_CRMINRANGE:\n        min = GET2(ccode,1);\n        max = GET2(ccode,3);\n        if (max == 0) fprintf(f, \"{%d,}\", min);\n        else fprintf(f, \"{%d,%d}\", min, max);\n        if (*ccode == OP_CRMINRANGE) fprintf(f, \"?\");\n        extra += _pcre_OP_lengths[*ccode];\n        break;\n        }\n      }\n    break;\n\n    /* Anything else is just an item with no data*/\n\n    default:\n    fprintf(f, \"    %s\", OP_names[*code]);\n    break;\n    }\n\n  code += _pcre_OP_lengths[*code] + extra;\n  fprintf(f, \"\\n\");\n  }\n}\n\n/* End of pcre_printint.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_refcount.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_refcount(), which is an\nauxiliary function that can be used to maintain a reference count in a compiled\npattern data block. This might be helpful in applications where the block is\nshared by different users. */\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*           Maintain reference count             *\n*************************************************/\n\n/* The reference count is a 16-bit field, initialized to zero. It is not\npossible to transfer a non-zero count from one host to a different host that\nhas a different byte order - though I can't see why anyone in their right mind\nwould ever want to do that!\n\nArguments:\n  argument_re   points to compiled code\n  adjust        value to add to the count\n\nReturns:        the (possibly updated) count value (a non-negative number), or\n                a negative error number\n*/\n\nEXPORT int\npcre_refcount(pcre *argument_re, int adjust)\n{\nreal_pcre *re = (real_pcre *)argument_re;\nif (re == NULL) return PCRE_ERROR_NULL;\nre->ref_count = (-adjust > re->ref_count)? 0 :\n                (adjust + re->ref_count > 65535)? 65535 :\n                re->ref_count + adjust;\nreturn re->ref_count;\n}\n\n/* End of pcre_refcount.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_study.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_study(), along with local\nsupporting functions. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*      Set a bit and maybe its alternate case    *\n*************************************************/\n\n/* Given a character, set its bit in the table, and also the bit for the other\nversion of a letter if we are caseless.\n\nArguments:\n  start_bits    points to the bit map\n  c             is the character\n  caseless      the caseless flag\n  cd            the block with char table pointers\n\nReturns:        nothing\n*/\n\nstatic void\nset_bit(uschar *start_bits, unsigned int c, BOOL caseless, compile_data *cd)\n{\nstart_bits[c/8] |= (1 << (c&7));\nif (caseless && (cd->ctypes[c] & ctype_letter) != 0)\n  start_bits[cd->fcc[c]/8] |= (1 << (cd->fcc[c]&7));\n}\n\n\n\n/*************************************************\n*          Create bitmap of starting chars       *\n*************************************************/\n\n/* This function scans a compiled unanchored expression and attempts to build a\nbitmap of the set of initial characters. If it can't, it returns FALSE. As time\ngoes by, we may be able to get more clever at doing this.\n\nArguments:\n  code         points to an expression\n  start_bits   points to a 32-byte table, initialized to 0\n  caseless     the current state of the caseless flag\n  utf8         TRUE if in UTF-8 mode\n  cd           the block with char table pointers\n\nReturns:       TRUE if table built, FALSE otherwise\n*/\n\nstatic BOOL\nset_start_bits(const uschar *code, uschar *start_bits, BOOL caseless,\n  BOOL utf8, compile_data *cd)\n{\nregister int c;\n\n/* This next statement and the later reference to dummy are here in order to\ntrick the optimizer of the IBM C compiler for OS/2 into generating correct\ncode. Apparently IBM isn't going to fix the problem, and we would rather not\ndisable optimization (in this module it actually makes a big difference, and\nthe pcre module can use all the optimization it can get). */\n\nvolatile int dummy;\n\ndo\n  {\n  const uschar *tcode = code + 1 + LINK_SIZE;\n  BOOL try_next = TRUE;\n\n  while (try_next)\n    {\n    /* If a branch starts with a bracket or a positive lookahead assertion,\n    recurse to set bits from within them. That's all for this branch. */\n\n    if ((int)*tcode >= OP_BRA || *tcode == OP_ASSERT)\n      {\n      if (!set_start_bits(tcode, start_bits, caseless, utf8, cd))\n        return FALSE;\n      try_next = FALSE;\n      }\n\n    else switch(*tcode)\n      {\n      default:\n      return FALSE;\n\n      /* Skip over callout */\n\n      case OP_CALLOUT:\n      tcode += 2 + 2*LINK_SIZE;\n      break;\n\n      /* Skip over extended extraction bracket number */\n\n      case OP_BRANUMBER:\n      tcode += 3;\n      break;\n\n      /* Skip over lookbehind and negative lookahead assertions */\n\n      case OP_ASSERT_NOT:\n      case OP_ASSERTBACK:\n      case OP_ASSERTBACK_NOT:\n      do tcode += GET(tcode, 1); while (*tcode == OP_ALT);\n      tcode += 1+LINK_SIZE;\n      break;\n\n      /* Skip over an option setting, changing the caseless flag */\n\n      case OP_OPT:\n      caseless = (tcode[1] & PCRE_CASELESS) != 0;\n      tcode += 2;\n      break;\n\n      /* BRAZERO does the bracket, but carries on. */\n\n      case OP_BRAZERO:\n      case OP_BRAMINZERO:\n      if (!set_start_bits(++tcode, start_bits, caseless, utf8, cd))\n        return FALSE;\n      dummy = 1;\n      do tcode += GET(tcode,1); while (*tcode == OP_ALT);\n      tcode += 1+LINK_SIZE;\n      break;\n\n      /* Single-char * or ? sets the bit and tries the next item */\n\n      case OP_STAR:\n      case OP_MINSTAR:\n      case OP_QUERY:\n      case OP_MINQUERY:\n      set_bit(start_bits, tcode[1], caseless, cd);\n      tcode += 2;\n#ifdef SUPPORT_UTF8\n      if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++;\n#endif\n      break;\n\n      /* Single-char upto sets the bit and tries the next */\n\n      case OP_UPTO:\n      case OP_MINUPTO:\n      set_bit(start_bits, tcode[3], caseless, cd);\n      tcode += 4;\n#ifdef SUPPORT_UTF8\n      if (utf8) while ((*tcode & 0xc0) == 0x80) tcode++;\n#endif\n      break;\n\n      /* At least one single char sets the bit and stops */\n\n      case OP_EXACT:       /* Fall through */\n      tcode += 2;\n\n      case OP_CHAR:\n      case OP_CHARNC:\n      case OP_PLUS:\n      case OP_MINPLUS:\n      set_bit(start_bits, tcode[1], caseless, cd);\n      try_next = FALSE;\n      break;\n\n      /* Single character type sets the bits and stops */\n\n      case OP_NOT_DIGIT:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= ~cd->cbits[c+cbit_digit];\n      try_next = FALSE;\n      break;\n\n      case OP_DIGIT:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= cd->cbits[c+cbit_digit];\n      try_next = FALSE;\n      break;\n\n      case OP_NOT_WHITESPACE:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= ~cd->cbits[c+cbit_space];\n      try_next = FALSE;\n      break;\n\n      case OP_WHITESPACE:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= cd->cbits[c+cbit_space];\n      try_next = FALSE;\n      break;\n\n      case OP_NOT_WORDCHAR:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= ~cd->cbits[c+cbit_word];\n      try_next = FALSE;\n      break;\n\n      case OP_WORDCHAR:\n      for (c = 0; c < 32; c++)\n        start_bits[c] |= cd->cbits[c+cbit_word];\n      try_next = FALSE;\n      break;\n\n      /* One or more character type fudges the pointer and restarts, knowing\n      it will hit a single character type and stop there. */\n\n      case OP_TYPEPLUS:\n      case OP_TYPEMINPLUS:\n      tcode++;\n      break;\n\n      case OP_TYPEEXACT:\n      tcode += 3;\n      break;\n\n      /* Zero or more repeats of character types set the bits and then\n      try again. */\n\n      case OP_TYPEUPTO:\n      case OP_TYPEMINUPTO:\n      tcode += 2;               /* Fall through */\n\n      case OP_TYPESTAR:\n      case OP_TYPEMINSTAR:\n      case OP_TYPEQUERY:\n      case OP_TYPEMINQUERY:\n      switch(tcode[1])\n        {\n        case OP_ANY:\n        return FALSE;\n\n        case OP_NOT_DIGIT:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= ~cd->cbits[c+cbit_digit];\n        break;\n\n        case OP_DIGIT:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= cd->cbits[c+cbit_digit];\n        break;\n\n        case OP_NOT_WHITESPACE:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= ~cd->cbits[c+cbit_space];\n        break;\n\n        case OP_WHITESPACE:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= cd->cbits[c+cbit_space];\n        break;\n\n        case OP_NOT_WORDCHAR:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= ~cd->cbits[c+cbit_word];\n        break;\n\n        case OP_WORDCHAR:\n        for (c = 0; c < 32; c++)\n          start_bits[c] |= cd->cbits[c+cbit_word];\n        break;\n        }\n\n      tcode += 2;\n      break;\n\n      /* Character class where all the information is in a bit map: set the\n      bits and either carry on or not, according to the repeat count. If it was\n      a negative class, and we are operating with UTF-8 characters, any byte\n      with a value >= 0xc4 is a potentially valid starter because it starts a\n      character with a value > 255. */\n\n      case OP_NCLASS:\n      if (utf8)\n        {\n        start_bits[24] |= 0xf0;              /* Bits for 0xc4 - 0xc8 */\n        memset(start_bits+25, 0xff, 7);      /* Bits for 0xc9 - 0xff */\n        }\n      /* Fall through */\n\n      case OP_CLASS:\n        {\n        tcode++;\n\n        /* In UTF-8 mode, the bits in a bit map correspond to character\n        values, not to byte values. However, the bit map we are constructing is\n        for byte values. So we have to do a conversion for characters whose\n        value is > 127. In fact, there are only two possible starting bytes for\n        characters in the range 128 - 255. */\n\n        if (utf8)\n          {\n          for (c = 0; c < 16; c++) start_bits[c] |= tcode[c];\n          for (c = 128; c < 256; c++)\n            {\n            if ((tcode[c/8] && (1 << (c&7))) != 0)\n              {\n              int d = (c >> 6) | 0xc0;            /* Set bit for this starter */\n              start_bits[d/8] |= (1 << (d&7));    /* and then skip on to the */\n              c = (c & 0xc0) + 0x40 - 1;          /* next relevant character. */\n              }\n            }\n          }\n\n        /* In non-UTF-8 mode, the two bit maps are completely compatible. */\n\n        else\n          {\n          for (c = 0; c < 32; c++) start_bits[c] |= tcode[c];\n          }\n\n        /* Advance past the bit map, and act on what follows */\n\n        tcode += 32;\n        switch (*tcode)\n          {\n          case OP_CRSTAR:\n          case OP_CRMINSTAR:\n          case OP_CRQUERY:\n          case OP_CRMINQUERY:\n          tcode++;\n          break;\n\n          case OP_CRRANGE:\n          case OP_CRMINRANGE:\n          if (((tcode[1] << 8) + tcode[2]) == 0) tcode += 5;\n            else try_next = FALSE;\n          break;\n\n          default:\n          try_next = FALSE;\n          break;\n          }\n        }\n      break; /* End of bitmap class handling */\n\n      }      /* End of switch */\n    }        /* End of try_next loop */\n\n  code += GET(code, 1);   /* Advance to next branch */\n  }\nwhile (*code == OP_ALT);\nreturn TRUE;\n}\n\n\n\n/*************************************************\n*          Study a compiled expression           *\n*************************************************/\n\n/* This function is handed a compiled expression that it must study to produce\ninformation that will speed up the matching. It returns a pcre_extra block\nwhich then gets handed back to pcre_exec().\n\nArguments:\n  re        points to the compiled expression\n  options   contains option bits\n  errorptr  points to where to place error messages;\n            set NULL unless error\n\nReturns:    pointer to a pcre_extra block, with study_data filled in and the\n              appropriate flag set;\n            NULL on error or if no optimization possible\n*/\n\nEXPORT pcre_extra *\npcre_study(const pcre *external_re, int options, const char **errorptr)\n{\nuschar start_bits[32];\npcre_extra *extra;\npcre_study_data *study;\nconst uschar *tables;\nconst real_pcre *re = (const real_pcre *)external_re;\nuschar *code = (uschar *)re + re->name_table_offset +\n  (re->name_count * re->name_entry_size);\ncompile_data compile_block;\n\n*errorptr = NULL;\n\nif (re == NULL || re->magic_number != MAGIC_NUMBER)\n  {\n  *errorptr = \"argument is not a compiled regular expression\";\n  return NULL;\n  }\n\nif ((options & ~PUBLIC_STUDY_OPTIONS) != 0)\n  {\n  *errorptr = \"unknown or incorrect option bit(s) set\";\n  return NULL;\n  }\n\n/* For an anchored pattern, or an unanchored pattern that has a first char, or\na multiline pattern that matches only at \"line starts\", no further processing\nat present. */\n\nif ((re->options & (PCRE_ANCHORED|PCRE_FIRSTSET|PCRE_STARTLINE)) != 0)\n  return NULL;\n\n/* Set the character tables in the block that is passed around */\n\ntables = re->tables;\nif (tables == NULL)\n  (void)pcre_fullinfo(external_re, NULL, PCRE_INFO_DEFAULT_TABLES,\n  (void *)(&tables));\n\ncompile_block.lcc = tables + lcc_offset;\ncompile_block.fcc = tables + fcc_offset;\ncompile_block.cbits = tables + cbits_offset;\ncompile_block.ctypes = tables + ctypes_offset;\n\n/* See if we can find a fixed set of initial characters for the pattern. */\n\nmemset(start_bits, 0, 32 * sizeof(uschar));\nif (!set_start_bits(code, start_bits, (re->options & PCRE_CASELESS) != 0,\n  (re->options & PCRE_UTF8) != 0, &compile_block)) return NULL;\n\n/* Get a pcre_extra block and a pcre_study_data block. The study data is put in\nthe latter, which is pointed to by the former, which may also get additional\ndata set later by the calling program. At the moment, the size of\npcre_study_data is fixed. We nevertheless save it in a field for returning via\nthe pcre_fullinfo() function so that if it becomes variable in the future, we\ndon't have to change that code. */\n\nextra = (pcre_extra *)(pcre_malloc)\n  (sizeof(pcre_extra) + sizeof(pcre_study_data));\n\nif (extra == NULL)\n  {\n  *errorptr = \"failed to get memory\";\n  return NULL;\n  }\n\nstudy = (pcre_study_data *)((char *)extra + sizeof(pcre_extra));\nextra->flags = PCRE_EXTRA_STUDY_DATA;\nextra->study_data = study;\n\nstudy->size = sizeof(pcre_study_data);\nstudy->options = PCRE_STUDY_MAPPED;\nmemcpy(study->start_bits, start_bits, sizeof(start_bits));\n\nreturn extra;\n}\n\n/* End of pcre_study.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_tables.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains some fixed tables that are used by more than one of the\nPCRE code modules. */\n\n\n#include \"pcre_internal.h\"\n\n\n/* Table of sizes for the fixed-length opcodes. It's defined in a macro so that\nthe definition is next to the definition of the opcodes in internal.h. */\n\nconst uschar _pcre_OP_lengths[] = { OP_LENGTHS };\n\n\n\n/*************************************************\n*           Tables for UTF-8 support             *\n*************************************************/\n\n/* These are the breakpoints for different numbers of bytes in a UTF-8\ncharacter. */\n\nconst int _pcre_utf8_table1[] =\n  { 0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff};\n\nconst int _pcre_utf8_table1_size = sizeof(_pcre_utf8_table1)/sizeof(int);\n\n/* These are the indicator bits and the mask for the data bits to set in the\nfirst byte of a character, indexed by the number of additional bytes. */\n\nconst int _pcre_utf8_table2[] = { 0,    0xc0, 0xe0, 0xf0, 0xf8, 0xfc};\nconst int _pcre_utf8_table3[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01};\n\n/* Table of the number of extra characters, indexed by the first character\nmasked with 0x3f. The highest number for a valid UTF-8 character is in fact\n0x3d. */\n\nconst uschar _pcre_utf8_table4[] = {\n  1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\n  1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\n  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,\n  3,3,3,3,3,3,3,3,4,4,4,4,5,5,5,5 };\n\n/* This table translates Unicode property names into code values for the\nucp_findchar() function. It is used by pcretest as well as by the library\nfunctions. */\n\nconst ucp_type_table _pcre_utt[] = {\n  { \"C\",  128 + ucp_C },\n  { \"Cc\", ucp_Cc },\n  { \"Cf\", ucp_Cf },\n  { \"Cn\", ucp_Cn },\n  { \"Co\", ucp_Co },\n  { \"Cs\", ucp_Cs },\n  { \"L\",  128 + ucp_L },\n  { \"Ll\", ucp_Ll },\n  { \"Lm\", ucp_Lm },\n  { \"Lo\", ucp_Lo },\n  { \"Lt\", ucp_Lt },\n  { \"Lu\", ucp_Lu },\n  { \"M\",  128 + ucp_M },\n  { \"Mc\", ucp_Mc },\n  { \"Me\", ucp_Me },\n  { \"Mn\", ucp_Mn },\n  { \"N\",  128 + ucp_N },\n  { \"Nd\", ucp_Nd },\n  { \"Nl\", ucp_Nl },\n  { \"No\", ucp_No },\n  { \"P\",  128 + ucp_P },\n  { \"Pc\", ucp_Pc },\n  { \"Pd\", ucp_Pd },\n  { \"Pe\", ucp_Pe },\n  { \"Pf\", ucp_Pf },\n  { \"Pi\", ucp_Pi },\n  { \"Po\", ucp_Po },\n  { \"Ps\", ucp_Ps },\n  { \"S\",  128 + ucp_S },\n  { \"Sc\", ucp_Sc },\n  { \"Sk\", ucp_Sk },\n  { \"Sm\", ucp_Sm },\n  { \"So\", ucp_So },\n  { \"Z\",  128 + ucp_Z },\n  { \"Zl\", ucp_Zl },\n  { \"Zp\", ucp_Zp },\n  { \"Zs\", ucp_Zs }\n};\n\nconst int _pcre_utt_size = sizeof(_pcre_utt)/sizeof(ucp_type_table);\n\n/* End of pcre_tables.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_try_flipped.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains an internal function that tests a compiled pattern to\nsee if it was compiled with the opposite endianness. If so, it uses an\nauxiliary local function to flip the appropriate bytes. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*         Flip bytes in an integer               *\n*************************************************/\n\n/* This function is called when the magic number in a regex doesn't match, in\norder to flip its bytes to see if we are dealing with a pattern that was\ncompiled on a host of different endianness. If so, this function is used to\nflip other byte values.\n\nArguments:\n  value        the number to flip\n  n            the number of bytes to flip (assumed to be 2 or 4)\n\nReturns:       the flipped value\n*/\n\nstatic long int\nbyteflip(long int value, int n)\n{\nif (n == 2) return ((value & 0x00ff) << 8) | ((value & 0xff00) >> 8);\nreturn ((value & 0x000000ff) << 24) |\n       ((value & 0x0000ff00) <<  8) |\n       ((value & 0x00ff0000) >>  8) |\n       ((value & 0xff000000) >> 24);\n}\n\n\n\n/*************************************************\n*       Test for a byte-flipped compiled regex   *\n*************************************************/\n\n/* This function is called from pcre_exec(), pcre_dfa_exec(), and also from\npcre_fullinfo(). Its job is to test whether the regex is byte-flipped - that\nis, it was compiled on a system of opposite endianness. The function is called\nonly when the native MAGIC_NUMBER test fails. If the regex is indeed flipped,\nwe flip all the relevant values into a different data block, and return it.\n\nArguments:\n  re               points to the regex\n  study            points to study data, or NULL\n  internal_re      points to a new regex block\n  internal_study   points to a new study block\n\nReturns:           the new block if is is indeed a byte-flipped regex\n                   NULL if it is not\n*/\n\nEXPORT real_pcre *\n_pcre_try_flipped(const real_pcre *re, real_pcre *internal_re,\n  const pcre_study_data *study, pcre_study_data *internal_study)\n{\nif (byteflip(re->magic_number, sizeof(re->magic_number)) != MAGIC_NUMBER)\n  return NULL;\n\n*internal_re = *re;           /* To copy other fields */\ninternal_re->size = byteflip(re->size, sizeof(re->size));\ninternal_re->options = byteflip(re->options, sizeof(re->options));\ninternal_re->top_bracket =\n  (pcre_uint16)byteflip(re->top_bracket, sizeof(re->top_bracket));\ninternal_re->top_backref =\n  (pcre_uint16)byteflip(re->top_backref, sizeof(re->top_backref));\ninternal_re->first_byte =\n  (pcre_uint16)byteflip(re->first_byte, sizeof(re->first_byte));\ninternal_re->req_byte =\n  (pcre_uint16)byteflip(re->req_byte, sizeof(re->req_byte));\ninternal_re->name_table_offset =\n  (pcre_uint16)byteflip(re->name_table_offset, sizeof(re->name_table_offset));\ninternal_re->name_entry_size =\n  (pcre_uint16)byteflip(re->name_entry_size, sizeof(re->name_entry_size));\ninternal_re->name_count =\n  (pcre_uint16)byteflip(re->name_count, sizeof(re->name_count));\n\nif (study != NULL)\n  {\n  *internal_study = *study;   /* To copy other fields */\n  internal_study->size = byteflip(study->size, sizeof(study->size));\n  internal_study->options = byteflip(study->options, sizeof(study->options));\n  }\n\nreturn internal_re;\n}\n\n/* End of pcre_tryflipped.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_ucp_findchar.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module compiles code for supporting the use of Unicode character\nproperties. We use the (embryonic at the time of writing) UCP library, by\nincluding some of its files, copies of which have been put in the PCRE\ndistribution. There is a macro in pcre_internal.h that changes the name\nucp_findchar into _pcre_ucp_findchar. */\n\n\n#include \"pcre_internal.h\"\n\n#include \"ucp_findchar.c\"\n\n\n/* End of pcre_ucp_findchar.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_valid_utf8.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains an internal function for validating UTF-8 character\nstrings. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*         Validate a UTF-8 string                *\n*************************************************/\n\n/* This function is called (optionally) at the start of compile or match, to\nvalidate that a supposed UTF-8 string is actually valid. The early check means\nthat subsequent code can assume it is dealing with a valid string. The check\ncan be turned off for maximum performance, but the consequences of supplying\nan invalid string are then undefined.\n\nArguments:\n  string       points to the string\n  length       length of string, or -1 if the string is zero-terminated\n\nReturns:       < 0    if the string is a valid UTF-8 string\n               >= 0   otherwise; the value is the offset of the bad byte\n*/\n\nEXPORT int\n_pcre_valid_utf8(const uschar *string, int length)\n{\nregister const uschar *p;\n\nif (length < 0)\n  {\n  for (p = string; *p != 0; p++);\n  length = p - string;\n  }\n\nfor (p = string; length-- > 0; p++)\n  {\n  register int ab;\n  register int c = *p;\n  if (c < 128) continue;\n  if ((c & 0xc0) != 0xc0) return p - string;\n  ab = _pcre_utf8_table4[c & 0x3f];  /* Number of additional bytes */\n  if (length < ab) return p - string;\n  length -= ab;\n\n  /* Check top bits in the second byte */\n  if ((*(++p) & 0xc0) != 0x80) return p - string;\n\n  /* Check for overlong sequences for each different length */\n  switch (ab)\n    {\n    /* Check for xx00 000x */\n    case 1:\n    if ((c & 0x3e) == 0) return p - string;\n    continue;   /* We know there aren't any more bytes to check */\n\n    /* Check for 1110 0000, xx0x xxxx */\n    case 2:\n    if (c == 0xe0 && (*p & 0x20) == 0) return p - string;\n    break;\n\n    /* Check for 1111 0000, xx00 xxxx */\n    case 3:\n    if (c == 0xf0 && (*p & 0x30) == 0) return p - string;\n    break;\n\n    /* Check for 1111 1000, xx00 0xxx */\n    case 4:\n    if (c == 0xf8 && (*p & 0x38) == 0) return p - string;\n    break;\n\n    /* Check for leading 0xfe or 0xff, and then for 1111 1100, xx00 00xx */\n    case 5:\n    if (c == 0xfe || c == 0xff ||\n       (c == 0xfc && (*p & 0x3c) == 0)) return p - string;\n    break;\n    }\n\n  /* Check for valid bytes after the 2nd, if any; all must start 10 */\n  while (--ab > 0)\n    {\n    if ((*(++p) & 0xc0) != 0x80) return p - string;\n    }\n  }\n\nreturn -1;\n}\n\n/* End of pcre_valid_utf8.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_version.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains the external function pcre_version(), which returns a\nstring that identifies the PCRE version that is in use. */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*          Return version string                 *\n*************************************************/\n\n#define STRING(a)  # a\n#define XSTRING(s) STRING(s)\n\nEXPORT const char *\npcre_version(void)\n{\nreturn XSTRING(PCRE_MAJOR) \".\" XSTRING(PCRE_MINOR) \" \" XSTRING(PCRE_DATE);\n}\n\n/* End of pcre_version.c */\n"
  },
  {
    "path": "Project/Pcre/Source/pcre_xclass.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*      Perl-Compatible Regular Expressions       *\n*************************************************/\n\n/* PCRE is a library of functions to support regular expressions whose syntax\nand semantics are as close as possible to those of the Perl 5 language.\n\n                       Written by Philip Hazel\n           Copyright (c) 1997-2005 University of Cambridge\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n/* This module contains an internal function that is used to match an extended\nclass (one that contains characters whose values are > 255). It is used by both\npcre_exec() and pcre_def_exec(). */\n\n\n#include \"pcre_internal.h\"\n\n\n/*************************************************\n*       Match character against an XCLASS        *\n*************************************************/\n\n/* This function is called to match a character against an extended class that\nmight contain values > 255.\n\nArguments:\n  c           the character\n  data        points to the flag byte of the XCLASS data\n\nReturns:      TRUE if character matches, else FALSE\n*/\n\nEXPORT BOOL\n_pcre_xclass(int c, const uschar *data)\n{\nint t;\nBOOL negated = (*data & XCL_NOT) != 0;\n\n/* Character values < 256 are matched against a bitmap, if one is present. If\nnot, we still carry on, because there may be ranges that start below 256 in the\nadditional data. */\n\nif (c < 256)\n  {\n  if ((*data & XCL_MAP) != 0 && (data[1 + c/8] & (1 << (c&7))) != 0)\n    return !negated;   /* char found */\n  }\n\n/* First skip the bit map if present. Then match against the list of Unicode\nproperties or large chars or ranges that end with a large char. We won't ever\nencounter XCL_PROP or XCL_NOTPROP when UCP support is not compiled. */\n\nif ((*data++ & XCL_MAP) != 0) data += 32;\n\nwhile ((t = *data++) != XCL_END)\n  {\n  int x, y;\n  if (t == XCL_SINGLE)\n    {\n    GETCHARINC(x, data);\n    if (c == x) return !negated;\n    }\n  else if (t == XCL_RANGE)\n    {\n    GETCHARINC(x, data);\n    GETCHARINC(y, data);\n    if (c >= x && c <= y) return !negated;\n    }\n\n#ifdef SUPPORT_UCP\n  else  /* XCL_PROP & XCL_NOTPROP */\n    {\n    int chartype, othercase;\n    int rqdtype = *data++;\n    int category = ucp_findchar(c, &chartype, &othercase);\n    if (rqdtype >= 128)\n      {\n      if ((rqdtype - 128 == category) == (t == XCL_PROP)) return !negated;\n      }\n    else\n      {\n      if ((rqdtype == chartype) == (t == XCL_PROP)) return !negated;\n      }\n    }\n#endif  /* SUPPORT_UCP */\n  }\n\nreturn negated;   /* char did not match */\n}\n\n/* End of pcre_xclass.c */\n"
  },
  {
    "path": "Project/Pcre/Source/ucp.h",
    "content": "/*************************************************\n*     libucp - Unicode Property Table handler    *\n*************************************************/\n\n\n#ifndef _UCP_H\n#define _UCP_H\n\n/* These are the character categories that are returned by ucp_findchar */\n\nenum {\n  ucp_C,     /* Other */\n  ucp_L,     /* Letter */\n  ucp_M,     /* Mark */\n  ucp_N,     /* Number */\n  ucp_P,     /* Punctuation */\n  ucp_S,     /* Symbol */\n  ucp_Z      /* Separator */\n};\n\n/* These are the detailed character types that are returned by ucp_findchar */\n\nenum {\n  ucp_Cc,    /* Control */\n  ucp_Cf,    /* Format */\n  ucp_Cn,    /* Unassigned */\n  ucp_Co,    /* Private use */\n  ucp_Cs,    /* Surrogate */\n  ucp_Ll,    /* Lower case letter */\n  ucp_Lm,    /* Modifier letter */\n  ucp_Lo,    /* Other letter */\n  ucp_Lt,    /* Title case letter */\n  ucp_Lu,    /* Upper case letter */\n  ucp_Mc,    /* Spacing mark */\n  ucp_Me,    /* Enclosing mark */\n  ucp_Mn,    /* Non-spacing mark */\n  ucp_Nd,    /* Decimal number */\n  ucp_Nl,    /* Letter number */\n  ucp_No,    /* Other number */\n  ucp_Pc,    /* Connector punctuation */\n  ucp_Pd,    /* Dash punctuation */\n  ucp_Pe,    /* Close punctuation */\n  ucp_Pf,    /* Final punctuation */\n  ucp_Pi,    /* Initial punctuation */\n  ucp_Po,    /* Other punctuation */\n  ucp_Ps,    /* Open punctuation */\n  ucp_Sc,    /* Currency symbol */\n  ucp_Sk,    /* Modifier symbol */\n  ucp_Sm,    /* Mathematical symbol */\n  ucp_So,    /* Other symbol */\n  ucp_Zl,    /* Line separator */\n  ucp_Zp,    /* Paragraph separator */\n  ucp_Zs     /* Space separator */\n};\n\nextern int ucp_findchar(const int, int *, int *);\n\n#endif\n\n/* End of ucp.h */\n"
  },
  {
    "path": "Project/Pcre/Source/ucp_findchar.c",
    "content": "#include \"stdafx.h\"\n/*************************************************\n*     libucp - Unicode Property Table handler    *\n*************************************************/\n\n/* Copyright (c) University of Cambridge 2004 */\n\n/* This little library provides a fast way of obtaining the basic Unicode\nproperties of a character, using a compact binary tree that occupies less than\n100K bytes.\n\n-----------------------------------------------------------------------------\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n    * Redistributions of source code must retain the above copyright notice,\n      this list of conditions and the following disclaimer.\n\n    * Redistributions in binary form must reproduce the above copyright\n      notice, this list of conditions and the following disclaimer in the\n      documentation and/or other materials provided with the distribution.\n\n    * Neither the name of the University of Cambridge nor the names of its\n      contributors may be used to endorse or promote products derived from\n      this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\nARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\nLIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\nSUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\nINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\nCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\nARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGE.\n-----------------------------------------------------------------------------\n*/\n\n\n#include \"ucp.h\"               /* Exported interface */\n#include \"ucpinternal.h\"       /* Internal table details */\n#include \"ucptable.c\"          /* The table itself */\n\n\n/* In some environments, external functions have to be preceded by some magic.\nIn my world (Unix), they do not. Use a macro to deal with this. */\n\n#ifndef EXPORT\n#define EXPORT\n#endif\n\n\n\n/*************************************************\n*         Search table and return data           *\n*************************************************/\n\n/* Two values are returned: the category is ucp_C, ucp_L, etc. The detailed\ncharacter type is ucp_Lu, ucp_Nd, etc.\n\nArguments:\n  c           the character value\n  type_ptr    the detailed character type is returned here\n  case_ptr    for letters, the opposite case is returned here, if there\n                is one, else zero\n\nReturns:      the character type category or -1 if not found\n*/\n\nEXPORT int\nucp_findchar(const int c, int *type_ptr, int *case_ptr)\n{\ncnode *node = ucp_table;\nregister int cc = c;\nint case_offset;\n\nfor (;;)\n  {\n  register int d = node->f1 | ((node->f0 & f0_chhmask) << 16);\n  if (cc == d) break;\n  if (cc < d)\n    {\n    if ((node->f0 & f0_leftexists) == 0) return -1;\n    node ++;\n    }\n  else\n    {\n    register int roffset = (node->f2 & f2_rightmask) >> f2_rightshift;\n    if (roffset == 0) return -1;\n    node += 1 << (roffset - 1);\n    }\n  }\n\nswitch ((*type_ptr = ((node->f0 & f0_typemask) >> f0_typeshift)))\n  {\n  case ucp_Cc:\n  case ucp_Cf:\n  case ucp_Cn:\n  case ucp_Co:\n  case ucp_Cs:\n  return ucp_C;\n  break;\n\n  case ucp_Ll:\n  case ucp_Lu:\n  case_offset = node->f2 & f2_casemask;\n  if ((case_offset & 0x0100) != 0) case_offset |= 0xfffff000;\n  *case_ptr = (case_offset == 0)? 0 : cc + case_offset;\n  return ucp_L;\n\n  case ucp_Lm:\n  case ucp_Lo:\n  case ucp_Lt:\n  *case_ptr = 0;\n  return ucp_L;\n  break;\n\n  case ucp_Mc:\n  case ucp_Me:\n  case ucp_Mn:\n  return ucp_M;\n  break;\n\n  case ucp_Nd:\n  case ucp_Nl:\n  case ucp_No:\n  return ucp_N;\n  break;\n\n  case ucp_Pc:\n  case ucp_Pd:\n  case ucp_Pe:\n  case ucp_Pf:\n  case ucp_Pi:\n  case ucp_Ps:\n  case ucp_Po:\n  return ucp_P;\n  break;\n\n  case ucp_Sc:\n  case ucp_Sk:\n  case ucp_Sm:\n  case ucp_So:\n  return ucp_S;\n  break;\n\n  case ucp_Zl:\n  case ucp_Zp:\n  case ucp_Zs:\n  return ucp_Z;\n  break;\n\n  default:         /* \"Should never happen\" */\n  return -1;\n  break;\n  }\n}\n\n/* End of ucp_findchar.c */\n"
  },
  {
    "path": "Project/Pcre/Source/ucpinternal.h",
    "content": "/*************************************************\n*     libucp - Unicode Property Table handler    *\n*************************************************/\n\n/* Internal header file defining the layout of compact nodes in the tree. */\n\ntypedef struct cnode {\n  unsigned short int f0;\n  unsigned short int f1;\n  unsigned short int f2;\n} cnode;\n\n/* Things for the f0 field */\n\n#define f0_leftexists   0x8000    /* Left child exists */\n#define f0_typemask     0x3f00    /* Type bits */\n#define f0_typeshift         8    /* Type shift */\n#define f0_chhmask      0x00ff    /* Character high bits */\n\n/* Things for the f2 field */\n\n#define f2_rightmask    0xf000    /* Mask for right offset bits */\n#define f2_rightshift       12    /* Shift for right offset */\n#define f2_casemask     0x0fff    /* Mask for case offset */\n\n/* The tree consists of a vector of structures of type cnode, with the root\nnode as the first element. The three short ints (16-bits) are used as follows:\n\n(f0) (1) The 0x8000 bit of f0 is set if a left child exists. The child's node\n         is the next node in the vector.\n     (2) The 0x4000 bits of f0 is spare.\n     (3) The 0x3f00 bits of f0 contain the character type; this is a number\n         defined by the enumeration in ucp.h (e.g. ucp_Lu).\n     (4) The bottom 8 bits of f0 contain the most significant byte of the\n         character's 24-bit codepoint.\n\n(f1) (1) The f1 field contains the two least significant bytes of the\n         codepoint.\n\n(f2) (1) The 0xf000 bits of f2 contain zero if there is no right child of this\n         node. Otherwise, they contain one plus the exponent of the power of\n         two of the offset to the right node (e.g. a value of 3 means 8). The\n         units of the offset are node items.\n\n     (2) The 0x0fff bits of f2 contain the signed offset from this character to\n         its alternate cased value. They are zero if there is no such\n         character.\n\n\n-----------------------------------------------------------------------------\n||.|.| type (6) | ms char (8) ||  ls char (16)  ||....|  case offset (12)  ||\n-----------------------------------------------------------------------------\n  | |                                              |\n  | |-> spare                                      |\n  |                                        exponent of right\n  |-> left child exists                       child offset\n\n\nThe upper/lower casing information is set only for characters that come in\npairs. There are (at present) four non-one-to-one mappings in the Unicode data.\nThese are ignored. They are:\n\n  1FBE Greek Prosgegrammeni (lower, with upper -> capital iota)\n  2126 Ohm\n  212A Kelvin\n  212B Angstrom\n\nCertainly for the last three, having an alternate case would seem to be a\nmistake. I don't know any Greek, so cannot comment on the first one.\n\n\nWhen searching the tree, proceed as follows:\n\n(1) Start at the first node.\n\n(2) Extract the character value from f1 and the bottom 8 bits of f0;\n\n(3) Compare with the character being sought. If equal, we are done.\n\n(4) If the test character is smaller, inspect the f0_leftexists flag. If it is\n    not set, the character is not in the tree. If it is set, move to the next\n    node, and go to (2).\n\n(5) If the test character is bigger, extract the f2_rightmask bits from f2, and\n    shift them right by f2_rightshift. If the result is zero, the character is\n    not in the tree. Otherwise, calculate the number of nodes to skip by\n    shifting the value 1 left by this number minus one. Go to (2).\n*/\n\n\n/* End of internal.h */\n"
  },
  {
    "path": "Project/Pcre/Source/ucptable.c",
    "content": "#include \"stdafx.h\"\n/* This source module is automatically generated from the Unicode\nproperty table. See internal.h for a description of the layout. */\n\nstatic cnode ucp_table[] = {\n  { 0x9a00, 0x2f1f, 0xe000 },\n  { 0x8700, 0x1558, 0xd000 },\n  { 0x8700, 0x0a99, 0xc000 },\n  { 0x8500, 0x0435, 0xbfe0 },\n  { 0x8500, 0x01ff, 0xafff },\n  { 0x8500, 0x00ff, 0x9079 },\n  { 0x8000, 0x007f, 0x8000 },\n  { 0x9500, 0x003f, 0x7000 },\n  { 0x8000, 0x001f, 0x6000 },\n  { 0x8000, 0x000f, 0x5000 },\n  { 0x8000, 0x0007, 0x4000 },\n  { 0x8000, 0x0003, 0x3000 },\n  { 0x8000, 0x0001, 0x2000 },\n  { 0x0000, 0x0000, 0x0000 },\n  { 0x0000, 0x0002, 0x0000 },\n  { 0x8000, 0x0005, 0x2000 },\n  { 0x0000, 0x0004, 0x0000 },\n  { 0x0000, 0x0006, 0x0000 },\n  { 0x8000, 0x000b, 0x3000 },\n  { 0x8000, 0x0009, 0x2000 },\n  { 0x0000, 0x0008, 0x0000 },\n  { 0x0000, 0x000a, 0x0000 },\n  { 0x8000, 0x000d, 0x2000 },\n  { 0x0000, 0x000c, 0x0000 },\n  { 0x0000, 0x000e, 0x0000 },\n  { 0x8000, 0x0017, 0x4000 },\n  { 0x8000, 0x0013, 0x3000 },\n  { 0x8000, 0x0011, 0x2000 },\n  { 0x0000, 0x0010, 0x0000 },\n  { 0x0000, 0x0012, 0x0000 },\n  { 0x8000, 0x0015, 0x2000 },\n  { 0x0000, 0x0014, 0x0000 },\n  { 0x0000, 0x0016, 0x0000 },\n  { 0x8000, 0x001b, 0x3000 },\n  { 0x8000, 0x0019, 0x2000 },\n  { 0x0000, 0x0018, 0x0000 },\n  { 0x0000, 0x001a, 0x0000 },\n  { 0x8000, 0x001d, 0x2000 },\n  { 0x0000, 0x001c, 0x0000 },\n  { 0x0000, 0x001e, 0x0000 },\n  { 0x9500, 0x002f, 0x5000 },\n  { 0x9500, 0x0027, 0x4000 },\n  { 0x9500, 0x0023, 0x3000 },\n  { 0x9500, 0x0021, 0x2000 },\n  { 0x1d00, 0x0020, 0x0000 },\n  { 0x1500, 0x0022, 0x0000 },\n  { 0x9500, 0x0025, 0x2000 },\n  { 0x1700, 0x0024, 0x0000 },\n  { 0x1500, 0x0026, 0x0000 },\n  { 0x9900, 0x002b, 0x3000 },\n  { 0x9200, 0x0029, 0x2000 },\n  { 0x1600, 0x0028, 0x0000 },\n  { 0x1500, 0x002a, 0x0000 },\n  { 0x9100, 0x002d, 0x2000 },\n  { 0x1500, 0x002c, 0x0000 },\n  { 0x1500, 0x002e, 0x0000 },\n  { 0x8d00, 0x0037, 0x4000 },\n  { 0x8d00, 0x0033, 0x3000 },\n  { 0x8d00, 0x0031, 0x2000 },\n  { 0x0d00, 0x0030, 0x0000 },\n  { 0x0d00, 0x0032, 0x0000 },\n  { 0x8d00, 0x0035, 0x2000 },\n  { 0x0d00, 0x0034, 0x0000 },\n  { 0x0d00, 0x0036, 0x0000 },\n  { 0x9500, 0x003b, 0x3000 },\n  { 0x8d00, 0x0039, 0x2000 },\n  { 0x0d00, 0x0038, 0x0000 },\n  { 0x1500, 0x003a, 0x0000 },\n  { 0x9900, 0x003d, 0x2000 },\n  { 0x1900, 0x003c, 0x0000 },\n  { 0x1900, 0x003e, 0x0000 },\n  { 0x9000, 0x005f, 0x6000 },\n  { 0x8900, 0x004f, 0x5020 },\n  { 0x8900, 0x0047, 0x4020 },\n  { 0x8900, 0x0043, 0x3020 },\n  { 0x8900, 0x0041, 0x2020 },\n  { 0x1500, 0x0040, 0x0000 },\n  { 0x0900, 0x0042, 0x0020 },\n  { 0x8900, 0x0045, 0x2020 },\n  { 0x0900, 0x0044, 0x0020 },\n  { 0x0900, 0x0046, 0x0020 },\n  { 0x8900, 0x004b, 0x3020 },\n  { 0x8900, 0x0049, 0x2020 },\n  { 0x0900, 0x0048, 0x0020 },\n  { 0x0900, 0x004a, 0x0020 },\n  { 0x8900, 0x004d, 0x2020 },\n  { 0x0900, 0x004c, 0x0020 },\n  { 0x0900, 0x004e, 0x0020 },\n  { 0x8900, 0x0057, 0x4020 },\n  { 0x8900, 0x0053, 0x3020 },\n  { 0x8900, 0x0051, 0x2020 },\n  { 0x0900, 0x0050, 0x0020 },\n  { 0x0900, 0x0052, 0x0020 },\n  { 0x8900, 0x0055, 0x2020 },\n  { 0x0900, 0x0054, 0x0020 },\n  { 0x0900, 0x0056, 0x0020 },\n  { 0x9600, 0x005b, 0x3000 },\n  { 0x8900, 0x0059, 0x2020 },\n  { 0x0900, 0x0058, 0x0020 },\n  { 0x0900, 0x005a, 0x0020 },\n  { 0x9200, 0x005d, 0x2000 },\n  { 0x1500, 0x005c, 0x0000 },\n  { 0x1800, 0x005e, 0x0000 },\n  { 0x8500, 0x006f, 0x5fe0 },\n  { 0x8500, 0x0067, 0x4fe0 },\n  { 0x8500, 0x0063, 0x3fe0 },\n  { 0x8500, 0x0061, 0x2fe0 },\n  { 0x1800, 0x0060, 0x0000 },\n  { 0x0500, 0x0062, 0x0fe0 },\n  { 0x8500, 0x0065, 0x2fe0 },\n  { 0x0500, 0x0064, 0x0fe0 },\n  { 0x0500, 0x0066, 0x0fe0 },\n  { 0x8500, 0x006b, 0x3fe0 },\n  { 0x8500, 0x0069, 0x2fe0 },\n  { 0x0500, 0x0068, 0x0fe0 },\n  { 0x0500, 0x006a, 0x0fe0 },\n  { 0x8500, 0x006d, 0x2fe0 },\n  { 0x0500, 0x006c, 0x0fe0 },\n  { 0x0500, 0x006e, 0x0fe0 },\n  { 0x8500, 0x0077, 0x4fe0 },\n  { 0x8500, 0x0073, 0x3fe0 },\n  { 0x8500, 0x0071, 0x2fe0 },\n  { 0x0500, 0x0070, 0x0fe0 },\n  { 0x0500, 0x0072, 0x0fe0 },\n  { 0x8500, 0x0075, 0x2fe0 },\n  { 0x0500, 0x0074, 0x0fe0 },\n  { 0x0500, 0x0076, 0x0fe0 },\n  { 0x9600, 0x007b, 0x3000 },\n  { 0x8500, 0x0079, 0x2fe0 },\n  { 0x0500, 0x0078, 0x0fe0 },\n  { 0x0500, 0x007a, 0x0fe0 },\n  { 0x9200, 0x007d, 0x2000 },\n  { 0x1900, 0x007c, 0x0000 },\n  { 0x1900, 0x007e, 0x0000 },\n  { 0x9500, 0x00bf, 0x7000 },\n  { 0x8000, 0x009f, 0x6000 },\n  { 0x8000, 0x008f, 0x5000 },\n  { 0x8000, 0x0087, 0x4000 },\n  { 0x8000, 0x0083, 0x3000 },\n  { 0x8000, 0x0081, 0x2000 },\n  { 0x0000, 0x0080, 0x0000 },\n  { 0x0000, 0x0082, 0x0000 },\n  { 0x8000, 0x0085, 0x2000 },\n  { 0x0000, 0x0084, 0x0000 },\n  { 0x0000, 0x0086, 0x0000 },\n  { 0x8000, 0x008b, 0x3000 },\n  { 0x8000, 0x0089, 0x2000 },\n  { 0x0000, 0x0088, 0x0000 },\n  { 0x0000, 0x008a, 0x0000 },\n  { 0x8000, 0x008d, 0x2000 },\n  { 0x0000, 0x008c, 0x0000 },\n  { 0x0000, 0x008e, 0x0000 },\n  { 0x8000, 0x0097, 0x4000 },\n  { 0x8000, 0x0093, 0x3000 },\n  { 0x8000, 0x0091, 0x2000 },\n  { 0x0000, 0x0090, 0x0000 },\n  { 0x0000, 0x0092, 0x0000 },\n  { 0x8000, 0x0095, 0x2000 },\n  { 0x0000, 0x0094, 0x0000 },\n  { 0x0000, 0x0096, 0x0000 },\n  { 0x8000, 0x009b, 0x3000 },\n  { 0x8000, 0x0099, 0x2000 },\n  { 0x0000, 0x0098, 0x0000 },\n  { 0x0000, 0x009a, 0x0000 },\n  { 0x8000, 0x009d, 0x2000 },\n  { 0x0000, 0x009c, 0x0000 },\n  { 0x0000, 0x009e, 0x0000 },\n  { 0x9800, 0x00af, 0x5000 },\n  { 0x9a00, 0x00a7, 0x4000 },\n  { 0x9700, 0x00a3, 0x3000 },\n  { 0x9500, 0x00a1, 0x2000 },\n  { 0x1d00, 0x00a0, 0x0000 },\n  { 0x1700, 0x00a2, 0x0000 },\n  { 0x9700, 0x00a5, 0x2000 },\n  { 0x1700, 0x00a4, 0x0000 },\n  { 0x1a00, 0x00a6, 0x0000 },\n  { 0x9400, 0x00ab, 0x3000 },\n  { 0x9a00, 0x00a9, 0x2000 },\n  { 0x1800, 0x00a8, 0x0000 },\n  { 0x0500, 0x00aa, 0x0000 },\n  { 0x8100, 0x00ad, 0x2000 },\n  { 0x1900, 0x00ac, 0x0000 },\n  { 0x1a00, 0x00ae, 0x0000 },\n  { 0x9500, 0x00b7, 0x4000 },\n  { 0x8f00, 0x00b3, 0x3000 },\n  { 0x9900, 0x00b1, 0x2000 },\n  { 0x1a00, 0x00b0, 0x0000 },\n  { 0x0f00, 0x00b2, 0x0000 },\n  { 0x8500, 0x00b5, 0x22e7 },\n  { 0x1800, 0x00b4, 0x0000 },\n  { 0x1a00, 0x00b6, 0x0000 },\n  { 0x9300, 0x00bb, 0x3000 },\n  { 0x8f00, 0x00b9, 0x2000 },\n  { 0x1800, 0x00b8, 0x0000 },\n  { 0x0500, 0x00ba, 0x0000 },\n  { 0x8f00, 0x00bd, 0x2000 },\n  { 0x0f00, 0x00bc, 0x0000 },\n  { 0x0f00, 0x00be, 0x0000 },\n  { 0x8500, 0x00df, 0x6000 },\n  { 0x8900, 0x00cf, 0x5020 },\n  { 0x8900, 0x00c7, 0x4020 },\n  { 0x8900, 0x00c3, 0x3020 },\n  { 0x8900, 0x00c1, 0x2020 },\n  { 0x0900, 0x00c0, 0x0020 },\n  { 0x0900, 0x00c2, 0x0020 },\n  { 0x8900, 0x00c5, 0x2020 },\n  { 0x0900, 0x00c4, 0x0020 },\n  { 0x0900, 0x00c6, 0x0020 },\n  { 0x8900, 0x00cb, 0x3020 },\n  { 0x8900, 0x00c9, 0x2020 },\n  { 0x0900, 0x00c8, 0x0020 },\n  { 0x0900, 0x00ca, 0x0020 },\n  { 0x8900, 0x00cd, 0x2020 },\n  { 0x0900, 0x00cc, 0x0020 },\n  { 0x0900, 0x00ce, 0x0020 },\n  { 0x9900, 0x00d7, 0x4000 },\n  { 0x8900, 0x00d3, 0x3020 },\n  { 0x8900, 0x00d1, 0x2020 },\n  { 0x0900, 0x00d0, 0x0020 },\n  { 0x0900, 0x00d2, 0x0020 },\n  { 0x8900, 0x00d5, 0x2020 },\n  { 0x0900, 0x00d4, 0x0020 },\n  { 0x0900, 0x00d6, 0x0020 },\n  { 0x8900, 0x00db, 0x3020 },\n  { 0x8900, 0x00d9, 0x2020 },\n  { 0x0900, 0x00d8, 0x0020 },\n  { 0x0900, 0x00da, 0x0020 },\n  { 0x8900, 0x00dd, 0x2020 },\n  { 0x0900, 0x00dc, 0x0020 },\n  { 0x0900, 0x00de, 0x0020 },\n  { 0x8500, 0x00ef, 0x5fe0 },\n  { 0x8500, 0x00e7, 0x4fe0 },\n  { 0x8500, 0x00e3, 0x3fe0 },\n  { 0x8500, 0x00e1, 0x2fe0 },\n  { 0x0500, 0x00e0, 0x0fe0 },\n  { 0x0500, 0x00e2, 0x0fe0 },\n  { 0x8500, 0x00e5, 0x2fe0 },\n  { 0x0500, 0x00e4, 0x0fe0 },\n  { 0x0500, 0x00e6, 0x0fe0 },\n  { 0x8500, 0x00eb, 0x3fe0 },\n  { 0x8500, 0x00e9, 0x2fe0 },\n  { 0x0500, 0x00e8, 0x0fe0 },\n  { 0x0500, 0x00ea, 0x0fe0 },\n  { 0x8500, 0x00ed, 0x2fe0 },\n  { 0x0500, 0x00ec, 0x0fe0 },\n  { 0x0500, 0x00ee, 0x0fe0 },\n  { 0x9900, 0x00f7, 0x4000 },\n  { 0x8500, 0x00f3, 0x3fe0 },\n  { 0x8500, 0x00f1, 0x2fe0 },\n  { 0x0500, 0x00f0, 0x0fe0 },\n  { 0x0500, 0x00f2, 0x0fe0 },\n  { 0x8500, 0x00f5, 0x2fe0 },\n  { 0x0500, 0x00f4, 0x0fe0 },\n  { 0x0500, 0x00f6, 0x0fe0 },\n  { 0x8500, 0x00fb, 0x3fe0 },\n  { 0x8500, 0x00f9, 0x2fe0 },\n  { 0x0500, 0x00f8, 0x0fe0 },\n  { 0x0500, 0x00fa, 0x0fe0 },\n  { 0x8500, 0x00fd, 0x2fe0 },\n  { 0x0500, 0x00fc, 0x0fe0 },\n  { 0x0500, 0x00fe, 0x0fe0 },\n  { 0x8500, 0x017f, 0x8ed4 },\n  { 0x8900, 0x013f, 0x7001 },\n  { 0x8500, 0x011f, 0x6fff },\n  { 0x8500, 0x010f, 0x5fff },\n  { 0x8500, 0x0107, 0x4fff },\n  { 0x8500, 0x0103, 0x3fff },\n  { 0x8500, 0x0101, 0x2fff },\n  { 0x0900, 0x0100, 0x0001 },\n  { 0x0900, 0x0102, 0x0001 },\n  { 0x8500, 0x0105, 0x2fff },\n  { 0x0900, 0x0104, 0x0001 },\n  { 0x0900, 0x0106, 0x0001 },\n  { 0x8500, 0x010b, 0x3fff },\n  { 0x8500, 0x0109, 0x2fff },\n  { 0x0900, 0x0108, 0x0001 },\n  { 0x0900, 0x010a, 0x0001 },\n  { 0x8500, 0x010d, 0x2fff },\n  { 0x0900, 0x010c, 0x0001 },\n  { 0x0900, 0x010e, 0x0001 },\n  { 0x8500, 0x0117, 0x4fff },\n  { 0x8500, 0x0113, 0x3fff },\n  { 0x8500, 0x0111, 0x2fff },\n  { 0x0900, 0x0110, 0x0001 },\n  { 0x0900, 0x0112, 0x0001 },\n  { 0x8500, 0x0115, 0x2fff },\n  { 0x0900, 0x0114, 0x0001 },\n  { 0x0900, 0x0116, 0x0001 },\n  { 0x8500, 0x011b, 0x3fff },\n  { 0x8500, 0x0119, 0x2fff },\n  { 0x0900, 0x0118, 0x0001 },\n  { 0x0900, 0x011a, 0x0001 },\n  { 0x8500, 0x011d, 0x2fff },\n  { 0x0900, 0x011c, 0x0001 },\n  { 0x0900, 0x011e, 0x0001 },\n  { 0x8500, 0x012f, 0x5fff },\n  { 0x8500, 0x0127, 0x4fff },\n  { 0x8500, 0x0123, 0x3fff },\n  { 0x8500, 0x0121, 0x2fff },\n  { 0x0900, 0x0120, 0x0001 },\n  { 0x0900, 0x0122, 0x0001 },\n  { 0x8500, 0x0125, 0x2fff },\n  { 0x0900, 0x0124, 0x0001 },\n  { 0x0900, 0x0126, 0x0001 },\n  { 0x8500, 0x012b, 0x3fff },\n  { 0x8500, 0x0129, 0x2fff },\n  { 0x0900, 0x0128, 0x0001 },\n  { 0x0900, 0x012a, 0x0001 },\n  { 0x8500, 0x012d, 0x2fff },\n  { 0x0900, 0x012c, 0x0001 },\n  { 0x0900, 0x012e, 0x0001 },\n  { 0x8500, 0x0137, 0x4fff },\n  { 0x8500, 0x0133, 0x3fff },\n  { 0x8500, 0x0131, 0x2f18 },\n  { 0x0900, 0x0130, 0x0f39 },\n  { 0x0900, 0x0132, 0x0001 },\n  { 0x8500, 0x0135, 0x2fff },\n  { 0x0900, 0x0134, 0x0001 },\n  { 0x0900, 0x0136, 0x0001 },\n  { 0x8900, 0x013b, 0x3001 },\n  { 0x8900, 0x0139, 0x2001 },\n  { 0x0500, 0x0138, 0x0000 },\n  { 0x0500, 0x013a, 0x0fff },\n  { 0x8900, 0x013d, 0x2001 },\n  { 0x0500, 0x013c, 0x0fff },\n  { 0x0500, 0x013e, 0x0fff },\n  { 0x8500, 0x015f, 0x6fff },\n  { 0x8500, 0x014f, 0x5fff },\n  { 0x8900, 0x0147, 0x4001 },\n  { 0x8900, 0x0143, 0x3001 },\n  { 0x8900, 0x0141, 0x2001 },\n  { 0x0500, 0x0140, 0x0fff },\n  { 0x0500, 0x0142, 0x0fff },\n  { 0x8900, 0x0145, 0x2001 },\n  { 0x0500, 0x0144, 0x0fff },\n  { 0x0500, 0x0146, 0x0fff },\n  { 0x8500, 0x014b, 0x3fff },\n  { 0x8500, 0x0149, 0x2000 },\n  { 0x0500, 0x0148, 0x0fff },\n  { 0x0900, 0x014a, 0x0001 },\n  { 0x8500, 0x014d, 0x2fff },\n  { 0x0900, 0x014c, 0x0001 },\n  { 0x0900, 0x014e, 0x0001 },\n  { 0x8500, 0x0157, 0x4fff },\n  { 0x8500, 0x0153, 0x3fff },\n  { 0x8500, 0x0151, 0x2fff },\n  { 0x0900, 0x0150, 0x0001 },\n  { 0x0900, 0x0152, 0x0001 },\n  { 0x8500, 0x0155, 0x2fff },\n  { 0x0900, 0x0154, 0x0001 },\n  { 0x0900, 0x0156, 0x0001 },\n  { 0x8500, 0x015b, 0x3fff },\n  { 0x8500, 0x0159, 0x2fff },\n  { 0x0900, 0x0158, 0x0001 },\n  { 0x0900, 0x015a, 0x0001 },\n  { 0x8500, 0x015d, 0x2fff },\n  { 0x0900, 0x015c, 0x0001 },\n  { 0x0900, 0x015e, 0x0001 },\n  { 0x8500, 0x016f, 0x5fff },\n  { 0x8500, 0x0167, 0x4fff },\n  { 0x8500, 0x0163, 0x3fff },\n  { 0x8500, 0x0161, 0x2fff },\n  { 0x0900, 0x0160, 0x0001 },\n  { 0x0900, 0x0162, 0x0001 },\n  { 0x8500, 0x0165, 0x2fff },\n  { 0x0900, 0x0164, 0x0001 },\n  { 0x0900, 0x0166, 0x0001 },\n  { 0x8500, 0x016b, 0x3fff },\n  { 0x8500, 0x0169, 0x2fff },\n  { 0x0900, 0x0168, 0x0001 },\n  { 0x0900, 0x016a, 0x0001 },\n  { 0x8500, 0x016d, 0x2fff },\n  { 0x0900, 0x016c, 0x0001 },\n  { 0x0900, 0x016e, 0x0001 },\n  { 0x8500, 0x0177, 0x4fff },\n  { 0x8500, 0x0173, 0x3fff },\n  { 0x8500, 0x0171, 0x2fff },\n  { 0x0900, 0x0170, 0x0001 },\n  { 0x0900, 0x0172, 0x0001 },\n  { 0x8500, 0x0175, 0x2fff },\n  { 0x0900, 0x0174, 0x0001 },\n  { 0x0900, 0x0176, 0x0001 },\n  { 0x8900, 0x017b, 0x3001 },\n  { 0x8900, 0x0179, 0x2001 },\n  { 0x0900, 0x0178, 0x0f87 },\n  { 0x0500, 0x017a, 0x0fff },\n  { 0x8900, 0x017d, 0x2001 },\n  { 0x0500, 0x017c, 0x0fff },\n  { 0x0500, 0x017e, 0x0fff },\n  { 0x8500, 0x01bf, 0x7038 },\n  { 0x8900, 0x019f, 0x60d6 },\n  { 0x8900, 0x018f, 0x50ca },\n  { 0x8900, 0x0187, 0x4001 },\n  { 0x8500, 0x0183, 0x3fff },\n  { 0x8900, 0x0181, 0x20d2 },\n  { 0x0500, 0x0180, 0x0000 },\n  { 0x0900, 0x0182, 0x0001 },\n  { 0x8500, 0x0185, 0x2fff },\n  { 0x0900, 0x0184, 0x0001 },\n  { 0x0900, 0x0186, 0x00ce },\n  { 0x8900, 0x018b, 0x3001 },\n  { 0x8900, 0x0189, 0x20cd },\n  { 0x0500, 0x0188, 0x0fff },\n  { 0x0900, 0x018a, 0x00cd },\n  { 0x8500, 0x018d, 0x2000 },\n  { 0x0500, 0x018c, 0x0fff },\n  { 0x0900, 0x018e, 0x004f },\n  { 0x8900, 0x0197, 0x40d1 },\n  { 0x8900, 0x0193, 0x30cd },\n  { 0x8900, 0x0191, 0x2001 },\n  { 0x0900, 0x0190, 0x00cb },\n  { 0x0500, 0x0192, 0x0fff },\n  { 0x8500, 0x0195, 0x2061 },\n  { 0x0900, 0x0194, 0x00cf },\n  { 0x0900, 0x0196, 0x00d3 },\n  { 0x8500, 0x019b, 0x3000 },\n  { 0x8500, 0x0199, 0x2fff },\n  { 0x0900, 0x0198, 0x0001 },\n  { 0x0500, 0x019a, 0x0000 },\n  { 0x8900, 0x019d, 0x20d5 },\n  { 0x0900, 0x019c, 0x00d3 },\n  { 0x0500, 0x019e, 0x0082 },\n  { 0x8900, 0x01af, 0x5001 },\n  { 0x8900, 0x01a7, 0x4001 },\n  { 0x8500, 0x01a3, 0x3fff },\n  { 0x8500, 0x01a1, 0x2fff },\n  { 0x0900, 0x01a0, 0x0001 },\n  { 0x0900, 0x01a2, 0x0001 },\n  { 0x8500, 0x01a5, 0x2fff },\n  { 0x0900, 0x01a4, 0x0001 },\n  { 0x0900, 0x01a6, 0x00da },\n  { 0x8500, 0x01ab, 0x3000 },\n  { 0x8900, 0x01a9, 0x20da },\n  { 0x0500, 0x01a8, 0x0fff },\n  { 0x0500, 0x01aa, 0x0000 },\n  { 0x8500, 0x01ad, 0x2fff },\n  { 0x0900, 0x01ac, 0x0001 },\n  { 0x0900, 0x01ae, 0x00da },\n  { 0x8900, 0x01b7, 0x40db },\n  { 0x8900, 0x01b3, 0x3001 },\n  { 0x8900, 0x01b1, 0x20d9 },\n  { 0x0500, 0x01b0, 0x0fff },\n  { 0x0900, 0x01b2, 0x00d9 },\n  { 0x8900, 0x01b5, 0x2001 },\n  { 0x0500, 0x01b4, 0x0fff },\n  { 0x0500, 0x01b6, 0x0fff },\n  { 0x8700, 0x01bb, 0x3000 },\n  { 0x8500, 0x01b9, 0x2fff },\n  { 0x0900, 0x01b8, 0x0001 },\n  { 0x0500, 0x01ba, 0x0000 },\n  { 0x8500, 0x01bd, 0x2fff },\n  { 0x0900, 0x01bc, 0x0001 },\n  { 0x0500, 0x01be, 0x0000 },\n  { 0x8500, 0x01df, 0x6fff },\n  { 0x8900, 0x01cf, 0x5001 },\n  { 0x8900, 0x01c7, 0x4002 },\n  { 0x8700, 0x01c3, 0x3000 },\n  { 0x8700, 0x01c1, 0x2000 },\n  { 0x0700, 0x01c0, 0x0000 },\n  { 0x0700, 0x01c2, 0x0000 },\n  { 0x8800, 0x01c5, 0x2000 },\n  { 0x0900, 0x01c4, 0x0002 },\n  { 0x0500, 0x01c6, 0x0ffe },\n  { 0x8800, 0x01cb, 0x3000 },\n  { 0x8500, 0x01c9, 0x2ffe },\n  { 0x0800, 0x01c8, 0x0000 },\n  { 0x0900, 0x01ca, 0x0002 },\n  { 0x8900, 0x01cd, 0x2001 },\n  { 0x0500, 0x01cc, 0x0ffe },\n  { 0x0500, 0x01ce, 0x0fff },\n  { 0x8900, 0x01d7, 0x4001 },\n  { 0x8900, 0x01d3, 0x3001 },\n  { 0x8900, 0x01d1, 0x2001 },\n  { 0x0500, 0x01d0, 0x0fff },\n  { 0x0500, 0x01d2, 0x0fff },\n  { 0x8900, 0x01d5, 0x2001 },\n  { 0x0500, 0x01d4, 0x0fff },\n  { 0x0500, 0x01d6, 0x0fff },\n  { 0x8900, 0x01db, 0x3001 },\n  { 0x8900, 0x01d9, 0x2001 },\n  { 0x0500, 0x01d8, 0x0fff },\n  { 0x0500, 0x01da, 0x0fff },\n  { 0x8500, 0x01dd, 0x2fb1 },\n  { 0x0500, 0x01dc, 0x0fff },\n  { 0x0900, 0x01de, 0x0001 },\n  { 0x8500, 0x01ef, 0x5fff },\n  { 0x8500, 0x01e7, 0x4fff },\n  { 0x8500, 0x01e3, 0x3fff },\n  { 0x8500, 0x01e1, 0x2fff },\n  { 0x0900, 0x01e0, 0x0001 },\n  { 0x0900, 0x01e2, 0x0001 },\n  { 0x8500, 0x01e5, 0x2fff },\n  { 0x0900, 0x01e4, 0x0001 },\n  { 0x0900, 0x01e6, 0x0001 },\n  { 0x8500, 0x01eb, 0x3fff },\n  { 0x8500, 0x01e9, 0x2fff },\n  { 0x0900, 0x01e8, 0x0001 },\n  { 0x0900, 0x01ea, 0x0001 },\n  { 0x8500, 0x01ed, 0x2fff },\n  { 0x0900, 0x01ec, 0x0001 },\n  { 0x0900, 0x01ee, 0x0001 },\n  { 0x8900, 0x01f7, 0x4fc8 },\n  { 0x8500, 0x01f3, 0x3ffe },\n  { 0x8900, 0x01f1, 0x2002 },\n  { 0x0500, 0x01f0, 0x0000 },\n  { 0x0800, 0x01f2, 0x0000 },\n  { 0x8500, 0x01f5, 0x2fff },\n  { 0x0900, 0x01f4, 0x0001 },\n  { 0x0900, 0x01f6, 0x0f9f },\n  { 0x8500, 0x01fb, 0x3fff },\n  { 0x8500, 0x01f9, 0x2fff },\n  { 0x0900, 0x01f8, 0x0001 },\n  { 0x0900, 0x01fa, 0x0001 },\n  { 0x8500, 0x01fd, 0x2fff },\n  { 0x0900, 0x01fc, 0x0001 },\n  { 0x0900, 0x01fe, 0x0001 },\n  { 0x8c00, 0x0318, 0x9000 },\n  { 0x8500, 0x0298, 0x8000 },\n  { 0x8500, 0x0258, 0x7000 },\n  { 0x8500, 0x021f, 0x6fff },\n  { 0x8500, 0x020f, 0x5fff },\n  { 0x8500, 0x0207, 0x4fff },\n  { 0x8500, 0x0203, 0x3fff },\n  { 0x8500, 0x0201, 0x2fff },\n  { 0x0900, 0x0200, 0x0001 },\n  { 0x0900, 0x0202, 0x0001 },\n  { 0x8500, 0x0205, 0x2fff },\n  { 0x0900, 0x0204, 0x0001 },\n  { 0x0900, 0x0206, 0x0001 },\n  { 0x8500, 0x020b, 0x3fff },\n  { 0x8500, 0x0209, 0x2fff },\n  { 0x0900, 0x0208, 0x0001 },\n  { 0x0900, 0x020a, 0x0001 },\n  { 0x8500, 0x020d, 0x2fff },\n  { 0x0900, 0x020c, 0x0001 },\n  { 0x0900, 0x020e, 0x0001 },\n  { 0x8500, 0x0217, 0x4fff },\n  { 0x8500, 0x0213, 0x3fff },\n  { 0x8500, 0x0211, 0x2fff },\n  { 0x0900, 0x0210, 0x0001 },\n  { 0x0900, 0x0212, 0x0001 },\n  { 0x8500, 0x0215, 0x2fff },\n  { 0x0900, 0x0214, 0x0001 },\n  { 0x0900, 0x0216, 0x0001 },\n  { 0x8500, 0x021b, 0x3fff },\n  { 0x8500, 0x0219, 0x2fff },\n  { 0x0900, 0x0218, 0x0001 },\n  { 0x0900, 0x021a, 0x0001 },\n  { 0x8500, 0x021d, 0x2fff },\n  { 0x0900, 0x021c, 0x0001 },\n  { 0x0900, 0x021e, 0x0001 },\n  { 0x8500, 0x022f, 0x5fff },\n  { 0x8500, 0x0227, 0x4fff },\n  { 0x8500, 0x0223, 0x3fff },\n  { 0x8500, 0x0221, 0x2000 },\n  { 0x0900, 0x0220, 0x0f7e },\n  { 0x0900, 0x0222, 0x0001 },\n  { 0x8500, 0x0225, 0x2fff },\n  { 0x0900, 0x0224, 0x0001 },\n  { 0x0900, 0x0226, 0x0001 },\n  { 0x8500, 0x022b, 0x3fff },\n  { 0x8500, 0x0229, 0x2fff },\n  { 0x0900, 0x0228, 0x0001 },\n  { 0x0900, 0x022a, 0x0001 },\n  { 0x8500, 0x022d, 0x2fff },\n  { 0x0900, 0x022c, 0x0001 },\n  { 0x0900, 0x022e, 0x0001 },\n  { 0x8500, 0x0250, 0x4000 },\n  { 0x8500, 0x0233, 0x3fff },\n  { 0x8500, 0x0231, 0x2fff },\n  { 0x0900, 0x0230, 0x0001 },\n  { 0x0900, 0x0232, 0x0001 },\n  { 0x8500, 0x0235, 0x2000 },\n  { 0x0500, 0x0234, 0x0000 },\n  { 0x0500, 0x0236, 0x0000 },\n  { 0x8500, 0x0254, 0x3f32 },\n  { 0x8500, 0x0252, 0x2000 },\n  { 0x0500, 0x0251, 0x0000 },\n  { 0x0500, 0x0253, 0x0f2e },\n  { 0x8500, 0x0256, 0x2f33 },\n  { 0x0500, 0x0255, 0x0000 },\n  { 0x0500, 0x0257, 0x0f33 },\n  { 0x8500, 0x0278, 0x6000 },\n  { 0x8500, 0x0268, 0x5f2f },\n  { 0x8500, 0x0260, 0x4f33 },\n  { 0x8500, 0x025c, 0x3000 },\n  { 0x8500, 0x025a, 0x2000 },\n  { 0x0500, 0x0259, 0x0f36 },\n  { 0x0500, 0x025b, 0x0f35 },\n  { 0x8500, 0x025e, 0x2000 },\n  { 0x0500, 0x025d, 0x0000 },\n  { 0x0500, 0x025f, 0x0000 },\n  { 0x8500, 0x0264, 0x3000 },\n  { 0x8500, 0x0262, 0x2000 },\n  { 0x0500, 0x0261, 0x0000 },\n  { 0x0500, 0x0263, 0x0f31 },\n  { 0x8500, 0x0266, 0x2000 },\n  { 0x0500, 0x0265, 0x0000 },\n  { 0x0500, 0x0267, 0x0000 },\n  { 0x8500, 0x0270, 0x4000 },\n  { 0x8500, 0x026c, 0x3000 },\n  { 0x8500, 0x026a, 0x2000 },\n  { 0x0500, 0x0269, 0x0f2d },\n  { 0x0500, 0x026b, 0x0000 },\n  { 0x8500, 0x026e, 0x2000 },\n  { 0x0500, 0x026d, 0x0000 },\n  { 0x0500, 0x026f, 0x0f2d },\n  { 0x8500, 0x0274, 0x3000 },\n  { 0x8500, 0x0272, 0x2f2b },\n  { 0x0500, 0x0271, 0x0000 },\n  { 0x0500, 0x0273, 0x0000 },\n  { 0x8500, 0x0276, 0x2000 },\n  { 0x0500, 0x0275, 0x0f2a },\n  { 0x0500, 0x0277, 0x0000 },\n  { 0x8500, 0x0288, 0x5f26 },\n  { 0x8500, 0x0280, 0x4f26 },\n  { 0x8500, 0x027c, 0x3000 },\n  { 0x8500, 0x027a, 0x2000 },\n  { 0x0500, 0x0279, 0x0000 },\n  { 0x0500, 0x027b, 0x0000 },\n  { 0x8500, 0x027e, 0x2000 },\n  { 0x0500, 0x027d, 0x0000 },\n  { 0x0500, 0x027f, 0x0000 },\n  { 0x8500, 0x0284, 0x3000 },\n  { 0x8500, 0x0282, 0x2000 },\n  { 0x0500, 0x0281, 0x0000 },\n  { 0x0500, 0x0283, 0x0f26 },\n  { 0x8500, 0x0286, 0x2000 },\n  { 0x0500, 0x0285, 0x0000 },\n  { 0x0500, 0x0287, 0x0000 },\n  { 0x8500, 0x0290, 0x4000 },\n  { 0x8500, 0x028c, 0x3000 },\n  { 0x8500, 0x028a, 0x2f27 },\n  { 0x0500, 0x0289, 0x0000 },\n  { 0x0500, 0x028b, 0x0f27 },\n  { 0x8500, 0x028e, 0x2000 },\n  { 0x0500, 0x028d, 0x0000 },\n  { 0x0500, 0x028f, 0x0000 },\n  { 0x8500, 0x0294, 0x3000 },\n  { 0x8500, 0x0292, 0x2f25 },\n  { 0x0500, 0x0291, 0x0000 },\n  { 0x0500, 0x0293, 0x0000 },\n  { 0x8500, 0x0296, 0x2000 },\n  { 0x0500, 0x0295, 0x0000 },\n  { 0x0500, 0x0297, 0x0000 },\n  { 0x9800, 0x02d8, 0x7000 },\n  { 0x8600, 0x02b8, 0x6000 },\n  { 0x8500, 0x02a8, 0x5000 },\n  { 0x8500, 0x02a0, 0x4000 },\n  { 0x8500, 0x029c, 0x3000 },\n  { 0x8500, 0x029a, 0x2000 },\n  { 0x0500, 0x0299, 0x0000 },\n  { 0x0500, 0x029b, 0x0000 },\n  { 0x8500, 0x029e, 0x2000 },\n  { 0x0500, 0x029d, 0x0000 },\n  { 0x0500, 0x029f, 0x0000 },\n  { 0x8500, 0x02a4, 0x3000 },\n  { 0x8500, 0x02a2, 0x2000 },\n  { 0x0500, 0x02a1, 0x0000 },\n  { 0x0500, 0x02a3, 0x0000 },\n  { 0x8500, 0x02a6, 0x2000 },\n  { 0x0500, 0x02a5, 0x0000 },\n  { 0x0500, 0x02a7, 0x0000 },\n  { 0x8600, 0x02b0, 0x4000 },\n  { 0x8500, 0x02ac, 0x3000 },\n  { 0x8500, 0x02aa, 0x2000 },\n  { 0x0500, 0x02a9, 0x0000 },\n  { 0x0500, 0x02ab, 0x0000 },\n  { 0x8500, 0x02ae, 0x2000 },\n  { 0x0500, 0x02ad, 0x0000 },\n  { 0x0500, 0x02af, 0x0000 },\n  { 0x8600, 0x02b4, 0x3000 },\n  { 0x8600, 0x02b2, 0x2000 },\n  { 0x0600, 0x02b1, 0x0000 },\n  { 0x0600, 0x02b3, 0x0000 },\n  { 0x8600, 0x02b6, 0x2000 },\n  { 0x0600, 0x02b5, 0x0000 },\n  { 0x0600, 0x02b7, 0x0000 },\n  { 0x8600, 0x02c8, 0x5000 },\n  { 0x8600, 0x02c0, 0x4000 },\n  { 0x8600, 0x02bc, 0x3000 },\n  { 0x8600, 0x02ba, 0x2000 },\n  { 0x0600, 0x02b9, 0x0000 },\n  { 0x0600, 0x02bb, 0x0000 },\n  { 0x8600, 0x02be, 0x2000 },\n  { 0x0600, 0x02bd, 0x0000 },\n  { 0x0600, 0x02bf, 0x0000 },\n  { 0x9800, 0x02c4, 0x3000 },\n  { 0x9800, 0x02c2, 0x2000 },\n  { 0x0600, 0x02c1, 0x0000 },\n  { 0x1800, 0x02c3, 0x0000 },\n  { 0x8600, 0x02c6, 0x2000 },\n  { 0x1800, 0x02c5, 0x0000 },\n  { 0x0600, 0x02c7, 0x0000 },\n  { 0x8600, 0x02d0, 0x4000 },\n  { 0x8600, 0x02cc, 0x3000 },\n  { 0x8600, 0x02ca, 0x2000 },\n  { 0x0600, 0x02c9, 0x0000 },\n  { 0x0600, 0x02cb, 0x0000 },\n  { 0x8600, 0x02ce, 0x2000 },\n  { 0x0600, 0x02cd, 0x0000 },\n  { 0x0600, 0x02cf, 0x0000 },\n  { 0x9800, 0x02d4, 0x3000 },\n  { 0x9800, 0x02d2, 0x2000 },\n  { 0x0600, 0x02d1, 0x0000 },\n  { 0x1800, 0x02d3, 0x0000 },\n  { 0x9800, 0x02d6, 0x2000 },\n  { 0x1800, 0x02d5, 0x0000 },\n  { 0x1800, 0x02d7, 0x0000 },\n  { 0x9800, 0x02f8, 0x6000 },\n  { 0x9800, 0x02e8, 0x5000 },\n  { 0x8600, 0x02e0, 0x4000 },\n  { 0x9800, 0x02dc, 0x3000 },\n  { 0x9800, 0x02da, 0x2000 },\n  { 0x1800, 0x02d9, 0x0000 },\n  { 0x1800, 0x02db, 0x0000 },\n  { 0x9800, 0x02de, 0x2000 },\n  { 0x1800, 0x02dd, 0x0000 },\n  { 0x1800, 0x02df, 0x0000 },\n  { 0x8600, 0x02e4, 0x3000 },\n  { 0x8600, 0x02e2, 0x2000 },\n  { 0x0600, 0x02e1, 0x0000 },\n  { 0x0600, 0x02e3, 0x0000 },\n  { 0x9800, 0x02e6, 0x2000 },\n  { 0x1800, 0x02e5, 0x0000 },\n  { 0x1800, 0x02e7, 0x0000 },\n  { 0x9800, 0x02f0, 0x4000 },\n  { 0x9800, 0x02ec, 0x3000 },\n  { 0x9800, 0x02ea, 0x2000 },\n  { 0x1800, 0x02e9, 0x0000 },\n  { 0x1800, 0x02eb, 0x0000 },\n  { 0x8600, 0x02ee, 0x2000 },\n  { 0x1800, 0x02ed, 0x0000 },\n  { 0x1800, 0x02ef, 0x0000 },\n  { 0x9800, 0x02f4, 0x3000 },\n  { 0x9800, 0x02f2, 0x2000 },\n  { 0x1800, 0x02f1, 0x0000 },\n  { 0x1800, 0x02f3, 0x0000 },\n  { 0x9800, 0x02f6, 0x2000 },\n  { 0x1800, 0x02f5, 0x0000 },\n  { 0x1800, 0x02f7, 0x0000 },\n  { 0x8c00, 0x0308, 0x5000 },\n  { 0x8c00, 0x0300, 0x4000 },\n  { 0x9800, 0x02fc, 0x3000 },\n  { 0x9800, 0x02fa, 0x2000 },\n  { 0x1800, 0x02f9, 0x0000 },\n  { 0x1800, 0x02fb, 0x0000 },\n  { 0x9800, 0x02fe, 0x2000 },\n  { 0x1800, 0x02fd, 0x0000 },\n  { 0x1800, 0x02ff, 0x0000 },\n  { 0x8c00, 0x0304, 0x3000 },\n  { 0x8c00, 0x0302, 0x2000 },\n  { 0x0c00, 0x0301, 0x0000 },\n  { 0x0c00, 0x0303, 0x0000 },\n  { 0x8c00, 0x0306, 0x2000 },\n  { 0x0c00, 0x0305, 0x0000 },\n  { 0x0c00, 0x0307, 0x0000 },\n  { 0x8c00, 0x0310, 0x4000 },\n  { 0x8c00, 0x030c, 0x3000 },\n  { 0x8c00, 0x030a, 0x2000 },\n  { 0x0c00, 0x0309, 0x0000 },\n  { 0x0c00, 0x030b, 0x0000 },\n  { 0x8c00, 0x030e, 0x2000 },\n  { 0x0c00, 0x030d, 0x0000 },\n  { 0x0c00, 0x030f, 0x0000 },\n  { 0x8c00, 0x0314, 0x3000 },\n  { 0x8c00, 0x0312, 0x2000 },\n  { 0x0c00, 0x0311, 0x0000 },\n  { 0x0c00, 0x0313, 0x0000 },\n  { 0x8c00, 0x0316, 0x2000 },\n  { 0x0c00, 0x0315, 0x0000 },\n  { 0x0c00, 0x0317, 0x0000 },\n  { 0x8500, 0x03b0, 0x8000 },\n  { 0x8c00, 0x035d, 0x7000 },\n  { 0x8c00, 0x0338, 0x6000 },\n  { 0x8c00, 0x0328, 0x5000 },\n  { 0x8c00, 0x0320, 0x4000 },\n  { 0x8c00, 0x031c, 0x3000 },\n  { 0x8c00, 0x031a, 0x2000 },\n  { 0x0c00, 0x0319, 0x0000 },\n  { 0x0c00, 0x031b, 0x0000 },\n  { 0x8c00, 0x031e, 0x2000 },\n  { 0x0c00, 0x031d, 0x0000 },\n  { 0x0c00, 0x031f, 0x0000 },\n  { 0x8c00, 0x0324, 0x3000 },\n  { 0x8c00, 0x0322, 0x2000 },\n  { 0x0c00, 0x0321, 0x0000 },\n  { 0x0c00, 0x0323, 0x0000 },\n  { 0x8c00, 0x0326, 0x2000 },\n  { 0x0c00, 0x0325, 0x0000 },\n  { 0x0c00, 0x0327, 0x0000 },\n  { 0x8c00, 0x0330, 0x4000 },\n  { 0x8c00, 0x032c, 0x3000 },\n  { 0x8c00, 0x032a, 0x2000 },\n  { 0x0c00, 0x0329, 0x0000 },\n  { 0x0c00, 0x032b, 0x0000 },\n  { 0x8c00, 0x032e, 0x2000 },\n  { 0x0c00, 0x032d, 0x0000 },\n  { 0x0c00, 0x032f, 0x0000 },\n  { 0x8c00, 0x0334, 0x3000 },\n  { 0x8c00, 0x0332, 0x2000 },\n  { 0x0c00, 0x0331, 0x0000 },\n  { 0x0c00, 0x0333, 0x0000 },\n  { 0x8c00, 0x0336, 0x2000 },\n  { 0x0c00, 0x0335, 0x0000 },\n  { 0x0c00, 0x0337, 0x0000 },\n  { 0x8c00, 0x0348, 0x5000 },\n  { 0x8c00, 0x0340, 0x4000 },\n  { 0x8c00, 0x033c, 0x3000 },\n  { 0x8c00, 0x033a, 0x2000 },\n  { 0x0c00, 0x0339, 0x0000 },\n  { 0x0c00, 0x033b, 0x0000 },\n  { 0x8c00, 0x033e, 0x2000 },\n  { 0x0c00, 0x033d, 0x0000 },\n  { 0x0c00, 0x033f, 0x0000 },\n  { 0x8c00, 0x0344, 0x3000 },\n  { 0x8c00, 0x0342, 0x2000 },\n  { 0x0c00, 0x0341, 0x0000 },\n  { 0x0c00, 0x0343, 0x0000 },\n  { 0x8c00, 0x0346, 0x2000 },\n  { 0x0c00, 0x0345, 0x0000 },\n  { 0x0c00, 0x0347, 0x0000 },\n  { 0x8c00, 0x0350, 0x4000 },\n  { 0x8c00, 0x034c, 0x3000 },\n  { 0x8c00, 0x034a, 0x2000 },\n  { 0x0c00, 0x0349, 0x0000 },\n  { 0x0c00, 0x034b, 0x0000 },\n  { 0x8c00, 0x034e, 0x2000 },\n  { 0x0c00, 0x034d, 0x0000 },\n  { 0x0c00, 0x034f, 0x0000 },\n  { 0x8c00, 0x0354, 0x3000 },\n  { 0x8c00, 0x0352, 0x2000 },\n  { 0x0c00, 0x0351, 0x0000 },\n  { 0x0c00, 0x0353, 0x0000 },\n  { 0x8c00, 0x0356, 0x2000 },\n  { 0x0c00, 0x0355, 0x0000 },\n  { 0x0c00, 0x0357, 0x0000 },\n  { 0x8900, 0x038f, 0x603f },\n  { 0x8c00, 0x036d, 0x5000 },\n  { 0x8c00, 0x0365, 0x4000 },\n  { 0x8c00, 0x0361, 0x3000 },\n  { 0x8c00, 0x035f, 0x2000 },\n  { 0x0c00, 0x035e, 0x0000 },\n  { 0x0c00, 0x0360, 0x0000 },\n  { 0x8c00, 0x0363, 0x2000 },\n  { 0x0c00, 0x0362, 0x0000 },\n  { 0x0c00, 0x0364, 0x0000 },\n  { 0x8c00, 0x0369, 0x3000 },\n  { 0x8c00, 0x0367, 0x2000 },\n  { 0x0c00, 0x0366, 0x0000 },\n  { 0x0c00, 0x0368, 0x0000 },\n  { 0x8c00, 0x036b, 0x2000 },\n  { 0x0c00, 0x036a, 0x0000 },\n  { 0x0c00, 0x036c, 0x0000 },\n  { 0x9800, 0x0385, 0x4000 },\n  { 0x9800, 0x0375, 0x3000 },\n  { 0x8c00, 0x036f, 0x2000 },\n  { 0x0c00, 0x036e, 0x0000 },\n  { 0x1800, 0x0374, 0x0000 },\n  { 0x9500, 0x037e, 0x2000 },\n  { 0x0600, 0x037a, 0x0000 },\n  { 0x1800, 0x0384, 0x0000 },\n  { 0x8900, 0x0389, 0x3025 },\n  { 0x9500, 0x0387, 0x2000 },\n  { 0x0900, 0x0386, 0x0026 },\n  { 0x0900, 0x0388, 0x0025 },\n  { 0x8900, 0x038c, 0x2040 },\n  { 0x0900, 0x038a, 0x0025 },\n  { 0x0900, 0x038e, 0x003f },\n  { 0x8900, 0x039f, 0x5020 },\n  { 0x8900, 0x0397, 0x4020 },\n  { 0x8900, 0x0393, 0x3020 },\n  { 0x8900, 0x0391, 0x2020 },\n  { 0x0500, 0x0390, 0x0000 },\n  { 0x0900, 0x0392, 0x0020 },\n  { 0x8900, 0x0395, 0x2020 },\n  { 0x0900, 0x0394, 0x0020 },\n  { 0x0900, 0x0396, 0x0020 },\n  { 0x8900, 0x039b, 0x3020 },\n  { 0x8900, 0x0399, 0x2020 },\n  { 0x0900, 0x0398, 0x0020 },\n  { 0x0900, 0x039a, 0x0020 },\n  { 0x8900, 0x039d, 0x2020 },\n  { 0x0900, 0x039c, 0x0020 },\n  { 0x0900, 0x039e, 0x0020 },\n  { 0x8900, 0x03a8, 0x4020 },\n  { 0x8900, 0x03a4, 0x3020 },\n  { 0x8900, 0x03a1, 0x2020 },\n  { 0x0900, 0x03a0, 0x0020 },\n  { 0x0900, 0x03a3, 0x0020 },\n  { 0x8900, 0x03a6, 0x2020 },\n  { 0x0900, 0x03a5, 0x0020 },\n  { 0x0900, 0x03a7, 0x0020 },\n  { 0x8500, 0x03ac, 0x3fda },\n  { 0x8900, 0x03aa, 0x2020 },\n  { 0x0900, 0x03a9, 0x0020 },\n  { 0x0900, 0x03ab, 0x0020 },\n  { 0x8500, 0x03ae, 0x2fdb },\n  { 0x0500, 0x03ad, 0x0fdb },\n  { 0x0500, 0x03af, 0x0fdb },\n  { 0x8500, 0x03f1, 0x7fb0 },\n  { 0x8500, 0x03d1, 0x6fc7 },\n  { 0x8500, 0x03c0, 0x5fe0 },\n  { 0x8500, 0x03b8, 0x4fe0 },\n  { 0x8500, 0x03b4, 0x3fe0 },\n  { 0x8500, 0x03b2, 0x2fe0 },\n  { 0x0500, 0x03b1, 0x0fe0 },\n  { 0x0500, 0x03b3, 0x0fe0 },\n  { 0x8500, 0x03b6, 0x2fe0 },\n  { 0x0500, 0x03b5, 0x0fe0 },\n  { 0x0500, 0x03b7, 0x0fe0 },\n  { 0x8500, 0x03bc, 0x3fe0 },\n  { 0x8500, 0x03ba, 0x2fe0 },\n  { 0x0500, 0x03b9, 0x0fe0 },\n  { 0x0500, 0x03bb, 0x0fe0 },\n  { 0x8500, 0x03be, 0x2fe0 },\n  { 0x0500, 0x03bd, 0x0fe0 },\n  { 0x0500, 0x03bf, 0x0fe0 },\n  { 0x8500, 0x03c8, 0x4fe0 },\n  { 0x8500, 0x03c4, 0x3fe0 },\n  { 0x8500, 0x03c2, 0x2fe1 },\n  { 0x0500, 0x03c1, 0x0fe0 },\n  { 0x0500, 0x03c3, 0x0fe0 },\n  { 0x8500, 0x03c6, 0x2fe0 },\n  { 0x0500, 0x03c5, 0x0fe0 },\n  { 0x0500, 0x03c7, 0x0fe0 },\n  { 0x8500, 0x03cc, 0x3fc0 },\n  { 0x8500, 0x03ca, 0x2fe0 },\n  { 0x0500, 0x03c9, 0x0fe0 },\n  { 0x0500, 0x03cb, 0x0fe0 },\n  { 0x8500, 0x03ce, 0x2fc1 },\n  { 0x0500, 0x03cd, 0x0fc1 },\n  { 0x0500, 0x03d0, 0x0fc2 },\n  { 0x8500, 0x03e1, 0x5fff },\n  { 0x8500, 0x03d9, 0x4fff },\n  { 0x8500, 0x03d5, 0x3fd1 },\n  { 0x8900, 0x03d3, 0x2000 },\n  { 0x0900, 0x03d2, 0x0000 },\n  { 0x0900, 0x03d4, 0x0000 },\n  { 0x8500, 0x03d7, 0x2000 },\n  { 0x0500, 0x03d6, 0x0fca },\n  { 0x0900, 0x03d8, 0x0001 },\n  { 0x8500, 0x03dd, 0x3fff },\n  { 0x8500, 0x03db, 0x2fff },\n  { 0x0900, 0x03da, 0x0001 },\n  { 0x0900, 0x03dc, 0x0001 },\n  { 0x8500, 0x03df, 0x2fff },\n  { 0x0900, 0x03de, 0x0001 },\n  { 0x0900, 0x03e0, 0x0001 },\n  { 0x8500, 0x03e9, 0x4fff },\n  { 0x8500, 0x03e5, 0x3fff },\n  { 0x8500, 0x03e3, 0x2fff },\n  { 0x0900, 0x03e2, 0x0001 },\n  { 0x0900, 0x03e4, 0x0001 },\n  { 0x8500, 0x03e7, 0x2fff },\n  { 0x0900, 0x03e6, 0x0001 },\n  { 0x0900, 0x03e8, 0x0001 },\n  { 0x8500, 0x03ed, 0x3fff },\n  { 0x8500, 0x03eb, 0x2fff },\n  { 0x0900, 0x03ea, 0x0001 },\n  { 0x0900, 0x03ec, 0x0001 },\n  { 0x8500, 0x03ef, 0x2fff },\n  { 0x0900, 0x03ee, 0x0001 },\n  { 0x0500, 0x03f0, 0x0faa },\n  { 0x8900, 0x0415, 0x6020 },\n  { 0x8900, 0x0405, 0x5050 },\n  { 0x8900, 0x03f9, 0x4ff9 },\n  { 0x8500, 0x03f5, 0x3fa0 },\n  { 0x8500, 0x03f3, 0x2000 },\n  { 0x0500, 0x03f2, 0x0007 },\n  { 0x0900, 0x03f4, 0x0fc4 },\n  { 0x8900, 0x03f7, 0x2001 },\n  { 0x1900, 0x03f6, 0x0000 },\n  { 0x0500, 0x03f8, 0x0fff },\n  { 0x8900, 0x0401, 0x3050 },\n  { 0x8500, 0x03fb, 0x2fff },\n  { 0x0900, 0x03fa, 0x0001 },\n  { 0x0900, 0x0400, 0x0050 },\n  { 0x8900, 0x0403, 0x2050 },\n  { 0x0900, 0x0402, 0x0050 },\n  { 0x0900, 0x0404, 0x0050 },\n  { 0x8900, 0x040d, 0x4050 },\n  { 0x8900, 0x0409, 0x3050 },\n  { 0x8900, 0x0407, 0x2050 },\n  { 0x0900, 0x0406, 0x0050 },\n  { 0x0900, 0x0408, 0x0050 },\n  { 0x8900, 0x040b, 0x2050 },\n  { 0x0900, 0x040a, 0x0050 },\n  { 0x0900, 0x040c, 0x0050 },\n  { 0x8900, 0x0411, 0x3020 },\n  { 0x8900, 0x040f, 0x2050 },\n  { 0x0900, 0x040e, 0x0050 },\n  { 0x0900, 0x0410, 0x0020 },\n  { 0x8900, 0x0413, 0x2020 },\n  { 0x0900, 0x0412, 0x0020 },\n  { 0x0900, 0x0414, 0x0020 },\n  { 0x8900, 0x0425, 0x5020 },\n  { 0x8900, 0x041d, 0x4020 },\n  { 0x8900, 0x0419, 0x3020 },\n  { 0x8900, 0x0417, 0x2020 },\n  { 0x0900, 0x0416, 0x0020 },\n  { 0x0900, 0x0418, 0x0020 },\n  { 0x8900, 0x041b, 0x2020 },\n  { 0x0900, 0x041a, 0x0020 },\n  { 0x0900, 0x041c, 0x0020 },\n  { 0x8900, 0x0421, 0x3020 },\n  { 0x8900, 0x041f, 0x2020 },\n  { 0x0900, 0x041e, 0x0020 },\n  { 0x0900, 0x0420, 0x0020 },\n  { 0x8900, 0x0423, 0x2020 },\n  { 0x0900, 0x0422, 0x0020 },\n  { 0x0900, 0x0424, 0x0020 },\n  { 0x8900, 0x042d, 0x4020 },\n  { 0x8900, 0x0429, 0x3020 },\n  { 0x8900, 0x0427, 0x2020 },\n  { 0x0900, 0x0426, 0x0020 },\n  { 0x0900, 0x0428, 0x0020 },\n  { 0x8900, 0x042b, 0x2020 },\n  { 0x0900, 0x042a, 0x0020 },\n  { 0x0900, 0x042c, 0x0020 },\n  { 0x8500, 0x0431, 0x3fe0 },\n  { 0x8900, 0x042f, 0x2020 },\n  { 0x0900, 0x042e, 0x0020 },\n  { 0x0500, 0x0430, 0x0fe0 },\n  { 0x8500, 0x0433, 0x2fe0 },\n  { 0x0500, 0x0432, 0x0fe0 },\n  { 0x0500, 0x0434, 0x0fe0 },\n  { 0x8700, 0x06a4, 0xa000 },\n  { 0x8500, 0x0563, 0x9fd0 },\n  { 0x8900, 0x04b6, 0x8001 },\n  { 0x8500, 0x0475, 0x7fff },\n  { 0x8500, 0x0455, 0x6fb0 },\n  { 0x8500, 0x0445, 0x5fe0 },\n  { 0x8500, 0x043d, 0x4fe0 },\n  { 0x8500, 0x0439, 0x3fe0 },\n  { 0x8500, 0x0437, 0x2fe0 },\n  { 0x0500, 0x0436, 0x0fe0 },\n  { 0x0500, 0x0438, 0x0fe0 },\n  { 0x8500, 0x043b, 0x2fe0 },\n  { 0x0500, 0x043a, 0x0fe0 },\n  { 0x0500, 0x043c, 0x0fe0 },\n  { 0x8500, 0x0441, 0x3fe0 },\n  { 0x8500, 0x043f, 0x2fe0 },\n  { 0x0500, 0x043e, 0x0fe0 },\n  { 0x0500, 0x0440, 0x0fe0 },\n  { 0x8500, 0x0443, 0x2fe0 },\n  { 0x0500, 0x0442, 0x0fe0 },\n  { 0x0500, 0x0444, 0x0fe0 },\n  { 0x8500, 0x044d, 0x4fe0 },\n  { 0x8500, 0x0449, 0x3fe0 },\n  { 0x8500, 0x0447, 0x2fe0 },\n  { 0x0500, 0x0446, 0x0fe0 },\n  { 0x0500, 0x0448, 0x0fe0 },\n  { 0x8500, 0x044b, 0x2fe0 },\n  { 0x0500, 0x044a, 0x0fe0 },\n  { 0x0500, 0x044c, 0x0fe0 },\n  { 0x8500, 0x0451, 0x3fb0 },\n  { 0x8500, 0x044f, 0x2fe0 },\n  { 0x0500, 0x044e, 0x0fe0 },\n  { 0x0500, 0x0450, 0x0fb0 },\n  { 0x8500, 0x0453, 0x2fb0 },\n  { 0x0500, 0x0452, 0x0fb0 },\n  { 0x0500, 0x0454, 0x0fb0 },\n  { 0x8500, 0x0465, 0x5fff },\n  { 0x8500, 0x045d, 0x4fb0 },\n  { 0x8500, 0x0459, 0x3fb0 },\n  { 0x8500, 0x0457, 0x2fb0 },\n  { 0x0500, 0x0456, 0x0fb0 },\n  { 0x0500, 0x0458, 0x0fb0 },\n  { 0x8500, 0x045b, 0x2fb0 },\n  { 0x0500, 0x045a, 0x0fb0 },\n  { 0x0500, 0x045c, 0x0fb0 },\n  { 0x8500, 0x0461, 0x3fff },\n  { 0x8500, 0x045f, 0x2fb0 },\n  { 0x0500, 0x045e, 0x0fb0 },\n  { 0x0900, 0x0460, 0x0001 },\n  { 0x8500, 0x0463, 0x2fff },\n  { 0x0900, 0x0462, 0x0001 },\n  { 0x0900, 0x0464, 0x0001 },\n  { 0x8500, 0x046d, 0x4fff },\n  { 0x8500, 0x0469, 0x3fff },\n  { 0x8500, 0x0467, 0x2fff },\n  { 0x0900, 0x0466, 0x0001 },\n  { 0x0900, 0x0468, 0x0001 },\n  { 0x8500, 0x046b, 0x2fff },\n  { 0x0900, 0x046a, 0x0001 },\n  { 0x0900, 0x046c, 0x0001 },\n  { 0x8500, 0x0471, 0x3fff },\n  { 0x8500, 0x046f, 0x2fff },\n  { 0x0900, 0x046e, 0x0001 },\n  { 0x0900, 0x0470, 0x0001 },\n  { 0x8500, 0x0473, 0x2fff },\n  { 0x0900, 0x0472, 0x0001 },\n  { 0x0900, 0x0474, 0x0001 },\n  { 0x8900, 0x0496, 0x6001 },\n  { 0x8c00, 0x0485, 0x5000 },\n  { 0x8500, 0x047d, 0x4fff },\n  { 0x8500, 0x0479, 0x3fff },\n  { 0x8500, 0x0477, 0x2fff },\n  { 0x0900, 0x0476, 0x0001 },\n  { 0x0900, 0x0478, 0x0001 },\n  { 0x8500, 0x047b, 0x2fff },\n  { 0x0900, 0x047a, 0x0001 },\n  { 0x0900, 0x047c, 0x0001 },\n  { 0x8500, 0x0481, 0x3fff },\n  { 0x8500, 0x047f, 0x2fff },\n  { 0x0900, 0x047e, 0x0001 },\n  { 0x0900, 0x0480, 0x0001 },\n  { 0x8c00, 0x0483, 0x2000 },\n  { 0x1a00, 0x0482, 0x0000 },\n  { 0x0c00, 0x0484, 0x0000 },\n  { 0x8900, 0x048e, 0x4001 },\n  { 0x8900, 0x048a, 0x3001 },\n  { 0x8b00, 0x0488, 0x2000 },\n  { 0x0c00, 0x0486, 0x0000 },\n  { 0x0b00, 0x0489, 0x0000 },\n  { 0x8900, 0x048c, 0x2001 },\n  { 0x0500, 0x048b, 0x0fff },\n  { 0x0500, 0x048d, 0x0fff },\n  { 0x8900, 0x0492, 0x3001 },\n  { 0x8900, 0x0490, 0x2001 },\n  { 0x0500, 0x048f, 0x0fff },\n  { 0x0500, 0x0491, 0x0fff },\n  { 0x8900, 0x0494, 0x2001 },\n  { 0x0500, 0x0493, 0x0fff },\n  { 0x0500, 0x0495, 0x0fff },\n  { 0x8900, 0x04a6, 0x5001 },\n  { 0x8900, 0x049e, 0x4001 },\n  { 0x8900, 0x049a, 0x3001 },\n  { 0x8900, 0x0498, 0x2001 },\n  { 0x0500, 0x0497, 0x0fff },\n  { 0x0500, 0x0499, 0x0fff },\n  { 0x8900, 0x049c, 0x2001 },\n  { 0x0500, 0x049b, 0x0fff },\n  { 0x0500, 0x049d, 0x0fff },\n  { 0x8900, 0x04a2, 0x3001 },\n  { 0x8900, 0x04a0, 0x2001 },\n  { 0x0500, 0x049f, 0x0fff },\n  { 0x0500, 0x04a1, 0x0fff },\n  { 0x8900, 0x04a4, 0x2001 },\n  { 0x0500, 0x04a3, 0x0fff },\n  { 0x0500, 0x04a5, 0x0fff },\n  { 0x8900, 0x04ae, 0x4001 },\n  { 0x8900, 0x04aa, 0x3001 },\n  { 0x8900, 0x04a8, 0x2001 },\n  { 0x0500, 0x04a7, 0x0fff },\n  { 0x0500, 0x04a9, 0x0fff },\n  { 0x8900, 0x04ac, 0x2001 },\n  { 0x0500, 0x04ab, 0x0fff },\n  { 0x0500, 0x04ad, 0x0fff },\n  { 0x8900, 0x04b2, 0x3001 },\n  { 0x8900, 0x04b0, 0x2001 },\n  { 0x0500, 0x04af, 0x0fff },\n  { 0x0500, 0x04b1, 0x0fff },\n  { 0x8900, 0x04b4, 0x2001 },\n  { 0x0500, 0x04b3, 0x0fff },\n  { 0x0500, 0x04b5, 0x0fff },\n  { 0x8500, 0x04f9, 0x7fff },\n  { 0x8500, 0x04d7, 0x6fff },\n  { 0x8500, 0x04c6, 0x5fff },\n  { 0x8900, 0x04be, 0x4001 },\n  { 0x8900, 0x04ba, 0x3001 },\n  { 0x8900, 0x04b8, 0x2001 },\n  { 0x0500, 0x04b7, 0x0fff },\n  { 0x0500, 0x04b9, 0x0fff },\n  { 0x8900, 0x04bc, 0x2001 },\n  { 0x0500, 0x04bb, 0x0fff },\n  { 0x0500, 0x04bd, 0x0fff },\n  { 0x8500, 0x04c2, 0x3fff },\n  { 0x8900, 0x04c0, 0x2000 },\n  { 0x0500, 0x04bf, 0x0fff },\n  { 0x0900, 0x04c1, 0x0001 },\n  { 0x8500, 0x04c4, 0x2fff },\n  { 0x0900, 0x04c3, 0x0001 },\n  { 0x0900, 0x04c5, 0x0001 },\n  { 0x8500, 0x04ce, 0x4fff },\n  { 0x8500, 0x04ca, 0x3fff },\n  { 0x8500, 0x04c8, 0x2fff },\n  { 0x0900, 0x04c7, 0x0001 },\n  { 0x0900, 0x04c9, 0x0001 },\n  { 0x8500, 0x04cc, 0x2fff },\n  { 0x0900, 0x04cb, 0x0001 },\n  { 0x0900, 0x04cd, 0x0001 },\n  { 0x8500, 0x04d3, 0x3fff },\n  { 0x8500, 0x04d1, 0x2fff },\n  { 0x0900, 0x04d0, 0x0001 },\n  { 0x0900, 0x04d2, 0x0001 },\n  { 0x8500, 0x04d5, 0x2fff },\n  { 0x0900, 0x04d4, 0x0001 },\n  { 0x0900, 0x04d6, 0x0001 },\n  { 0x8500, 0x04e7, 0x5fff },\n  { 0x8500, 0x04df, 0x4fff },\n  { 0x8500, 0x04db, 0x3fff },\n  { 0x8500, 0x04d9, 0x2fff },\n  { 0x0900, 0x04d8, 0x0001 },\n  { 0x0900, 0x04da, 0x0001 },\n  { 0x8500, 0x04dd, 0x2fff },\n  { 0x0900, 0x04dc, 0x0001 },\n  { 0x0900, 0x04de, 0x0001 },\n  { 0x8500, 0x04e3, 0x3fff },\n  { 0x8500, 0x04e1, 0x2fff },\n  { 0x0900, 0x04e0, 0x0001 },\n  { 0x0900, 0x04e2, 0x0001 },\n  { 0x8500, 0x04e5, 0x2fff },\n  { 0x0900, 0x04e4, 0x0001 },\n  { 0x0900, 0x04e6, 0x0001 },\n  { 0x8500, 0x04ef, 0x4fff },\n  { 0x8500, 0x04eb, 0x3fff },\n  { 0x8500, 0x04e9, 0x2fff },\n  { 0x0900, 0x04e8, 0x0001 },\n  { 0x0900, 0x04ea, 0x0001 },\n  { 0x8500, 0x04ed, 0x2fff },\n  { 0x0900, 0x04ec, 0x0001 },\n  { 0x0900, 0x04ee, 0x0001 },\n  { 0x8500, 0x04f3, 0x3fff },\n  { 0x8500, 0x04f1, 0x2fff },\n  { 0x0900, 0x04f0, 0x0001 },\n  { 0x0900, 0x04f2, 0x0001 },\n  { 0x8500, 0x04f5, 0x2fff },\n  { 0x0900, 0x04f4, 0x0001 },\n  { 0x0900, 0x04f8, 0x0001 },\n  { 0x8900, 0x0540, 0x6030 },\n  { 0x8500, 0x050f, 0x5fff },\n  { 0x8500, 0x0507, 0x4fff },\n  { 0x8500, 0x0503, 0x3fff },\n  { 0x8500, 0x0501, 0x2fff },\n  { 0x0900, 0x0500, 0x0001 },\n  { 0x0900, 0x0502, 0x0001 },\n  { 0x8500, 0x0505, 0x2fff },\n  { 0x0900, 0x0504, 0x0001 },\n  { 0x0900, 0x0506, 0x0001 },\n  { 0x8500, 0x050b, 0x3fff },\n  { 0x8500, 0x0509, 0x2fff },\n  { 0x0900, 0x0508, 0x0001 },\n  { 0x0900, 0x050a, 0x0001 },\n  { 0x8500, 0x050d, 0x2fff },\n  { 0x0900, 0x050c, 0x0001 },\n  { 0x0900, 0x050e, 0x0001 },\n  { 0x8900, 0x0538, 0x4030 },\n  { 0x8900, 0x0534, 0x3030 },\n  { 0x8900, 0x0532, 0x2030 },\n  { 0x0900, 0x0531, 0x0030 },\n  { 0x0900, 0x0533, 0x0030 },\n  { 0x8900, 0x0536, 0x2030 },\n  { 0x0900, 0x0535, 0x0030 },\n  { 0x0900, 0x0537, 0x0030 },\n  { 0x8900, 0x053c, 0x3030 },\n  { 0x8900, 0x053a, 0x2030 },\n  { 0x0900, 0x0539, 0x0030 },\n  { 0x0900, 0x053b, 0x0030 },\n  { 0x8900, 0x053e, 0x2030 },\n  { 0x0900, 0x053d, 0x0030 },\n  { 0x0900, 0x053f, 0x0030 },\n  { 0x8900, 0x0550, 0x5030 },\n  { 0x8900, 0x0548, 0x4030 },\n  { 0x8900, 0x0544, 0x3030 },\n  { 0x8900, 0x0542, 0x2030 },\n  { 0x0900, 0x0541, 0x0030 },\n  { 0x0900, 0x0543, 0x0030 },\n  { 0x8900, 0x0546, 0x2030 },\n  { 0x0900, 0x0545, 0x0030 },\n  { 0x0900, 0x0547, 0x0030 },\n  { 0x8900, 0x054c, 0x3030 },\n  { 0x8900, 0x054a, 0x2030 },\n  { 0x0900, 0x0549, 0x0030 },\n  { 0x0900, 0x054b, 0x0030 },\n  { 0x8900, 0x054e, 0x2030 },\n  { 0x0900, 0x054d, 0x0030 },\n  { 0x0900, 0x054f, 0x0030 },\n  { 0x9500, 0x055a, 0x4000 },\n  { 0x8900, 0x0554, 0x3030 },\n  { 0x8900, 0x0552, 0x2030 },\n  { 0x0900, 0x0551, 0x0030 },\n  { 0x0900, 0x0553, 0x0030 },\n  { 0x8900, 0x0556, 0x2030 },\n  { 0x0900, 0x0555, 0x0030 },\n  { 0x0600, 0x0559, 0x0000 },\n  { 0x9500, 0x055e, 0x3000 },\n  { 0x9500, 0x055c, 0x2000 },\n  { 0x1500, 0x055b, 0x0000 },\n  { 0x1500, 0x055d, 0x0000 },\n  { 0x8500, 0x0561, 0x2fd0 },\n  { 0x1500, 0x055f, 0x0000 },\n  { 0x0500, 0x0562, 0x0fd0 },\n  { 0x9a00, 0x060f, 0x8000 },\n  { 0x8c00, 0x05ab, 0x7000 },\n  { 0x8500, 0x0583, 0x6fd0 },\n  { 0x8500, 0x0573, 0x5fd0 },\n  { 0x8500, 0x056b, 0x4fd0 },\n  { 0x8500, 0x0567, 0x3fd0 },\n  { 0x8500, 0x0565, 0x2fd0 },\n  { 0x0500, 0x0564, 0x0fd0 },\n  { 0x0500, 0x0566, 0x0fd0 },\n  { 0x8500, 0x0569, 0x2fd0 },\n  { 0x0500, 0x0568, 0x0fd0 },\n  { 0x0500, 0x056a, 0x0fd0 },\n  { 0x8500, 0x056f, 0x3fd0 },\n  { 0x8500, 0x056d, 0x2fd0 },\n  { 0x0500, 0x056c, 0x0fd0 },\n  { 0x0500, 0x056e, 0x0fd0 },\n  { 0x8500, 0x0571, 0x2fd0 },\n  { 0x0500, 0x0570, 0x0fd0 },\n  { 0x0500, 0x0572, 0x0fd0 },\n  { 0x8500, 0x057b, 0x4fd0 },\n  { 0x8500, 0x0577, 0x3fd0 },\n  { 0x8500, 0x0575, 0x2fd0 },\n  { 0x0500, 0x0574, 0x0fd0 },\n  { 0x0500, 0x0576, 0x0fd0 },\n  { 0x8500, 0x0579, 0x2fd0 },\n  { 0x0500, 0x0578, 0x0fd0 },\n  { 0x0500, 0x057a, 0x0fd0 },\n  { 0x8500, 0x057f, 0x3fd0 },\n  { 0x8500, 0x057d, 0x2fd0 },\n  { 0x0500, 0x057c, 0x0fd0 },\n  { 0x0500, 0x057e, 0x0fd0 },\n  { 0x8500, 0x0581, 0x2fd0 },\n  { 0x0500, 0x0580, 0x0fd0 },\n  { 0x0500, 0x0582, 0x0fd0 },\n  { 0x8c00, 0x059a, 0x5000 },\n  { 0x8c00, 0x0592, 0x4000 },\n  { 0x8500, 0x0587, 0x3000 },\n  { 0x8500, 0x0585, 0x2fd0 },\n  { 0x0500, 0x0584, 0x0fd0 },\n  { 0x0500, 0x0586, 0x0fd0 },\n  { 0x9100, 0x058a, 0x2000 },\n  { 0x1500, 0x0589, 0x0000 },\n  { 0x0c00, 0x0591, 0x0000 },\n  { 0x8c00, 0x0596, 0x3000 },\n  { 0x8c00, 0x0594, 0x2000 },\n  { 0x0c00, 0x0593, 0x0000 },\n  { 0x0c00, 0x0595, 0x0000 },\n  { 0x8c00, 0x0598, 0x2000 },\n  { 0x0c00, 0x0597, 0x0000 },\n  { 0x0c00, 0x0599, 0x0000 },\n  { 0x8c00, 0x05a3, 0x4000 },\n  { 0x8c00, 0x059e, 0x3000 },\n  { 0x8c00, 0x059c, 0x2000 },\n  { 0x0c00, 0x059b, 0x0000 },\n  { 0x0c00, 0x059d, 0x0000 },\n  { 0x8c00, 0x05a0, 0x2000 },\n  { 0x0c00, 0x059f, 0x0000 },\n  { 0x0c00, 0x05a1, 0x0000 },\n  { 0x8c00, 0x05a7, 0x3000 },\n  { 0x8c00, 0x05a5, 0x2000 },\n  { 0x0c00, 0x05a4, 0x0000 },\n  { 0x0c00, 0x05a6, 0x0000 },\n  { 0x8c00, 0x05a9, 0x2000 },\n  { 0x0c00, 0x05a8, 0x0000 },\n  { 0x0c00, 0x05aa, 0x0000 },\n  { 0x8700, 0x05d7, 0x6000 },\n  { 0x8c00, 0x05bc, 0x5000 },\n  { 0x8c00, 0x05b3, 0x4000 },\n  { 0x8c00, 0x05af, 0x3000 },\n  { 0x8c00, 0x05ad, 0x2000 },\n  { 0x0c00, 0x05ac, 0x0000 },\n  { 0x0c00, 0x05ae, 0x0000 },\n  { 0x8c00, 0x05b1, 0x2000 },\n  { 0x0c00, 0x05b0, 0x0000 },\n  { 0x0c00, 0x05b2, 0x0000 },\n  { 0x8c00, 0x05b7, 0x3000 },\n  { 0x8c00, 0x05b5, 0x2000 },\n  { 0x0c00, 0x05b4, 0x0000 },\n  { 0x0c00, 0x05b6, 0x0000 },\n  { 0x8c00, 0x05b9, 0x2000 },\n  { 0x0c00, 0x05b8, 0x0000 },\n  { 0x0c00, 0x05bb, 0x0000 },\n  { 0x8c00, 0x05c4, 0x4000 },\n  { 0x9500, 0x05c0, 0x3000 },\n  { 0x9500, 0x05be, 0x2000 },\n  { 0x0c00, 0x05bd, 0x0000 },\n  { 0x0c00, 0x05bf, 0x0000 },\n  { 0x8c00, 0x05c2, 0x2000 },\n  { 0x0c00, 0x05c1, 0x0000 },\n  { 0x1500, 0x05c3, 0x0000 },\n  { 0x8700, 0x05d3, 0x3000 },\n  { 0x8700, 0x05d1, 0x2000 },\n  { 0x0700, 0x05d0, 0x0000 },\n  { 0x0700, 0x05d2, 0x0000 },\n  { 0x8700, 0x05d5, 0x2000 },\n  { 0x0700, 0x05d4, 0x0000 },\n  { 0x0700, 0x05d6, 0x0000 },\n  { 0x8700, 0x05e7, 0x5000 },\n  { 0x8700, 0x05df, 0x4000 },\n  { 0x8700, 0x05db, 0x3000 },\n  { 0x8700, 0x05d9, 0x2000 },\n  { 0x0700, 0x05d8, 0x0000 },\n  { 0x0700, 0x05da, 0x0000 },\n  { 0x8700, 0x05dd, 0x2000 },\n  { 0x0700, 0x05dc, 0x0000 },\n  { 0x0700, 0x05de, 0x0000 },\n  { 0x8700, 0x05e3, 0x3000 },\n  { 0x8700, 0x05e1, 0x2000 },\n  { 0x0700, 0x05e0, 0x0000 },\n  { 0x0700, 0x05e2, 0x0000 },\n  { 0x8700, 0x05e5, 0x2000 },\n  { 0x0700, 0x05e4, 0x0000 },\n  { 0x0700, 0x05e6, 0x0000 },\n  { 0x9500, 0x05f4, 0x4000 },\n  { 0x8700, 0x05f0, 0x3000 },\n  { 0x8700, 0x05e9, 0x2000 },\n  { 0x0700, 0x05e8, 0x0000 },\n  { 0x0700, 0x05ea, 0x0000 },\n  { 0x8700, 0x05f2, 0x2000 },\n  { 0x0700, 0x05f1, 0x0000 },\n  { 0x1500, 0x05f3, 0x0000 },\n  { 0x8100, 0x0603, 0x3000 },\n  { 0x8100, 0x0601, 0x2000 },\n  { 0x0100, 0x0600, 0x0000 },\n  { 0x0100, 0x0602, 0x0000 },\n  { 0x9500, 0x060d, 0x2000 },\n  { 0x1500, 0x060c, 0x0000 },\n  { 0x1a00, 0x060e, 0x0000 },\n  { 0x8d00, 0x0664, 0x7000 },\n  { 0x8700, 0x0638, 0x6000 },\n  { 0x8700, 0x0628, 0x5000 },\n  { 0x9500, 0x061f, 0x4000 },\n  { 0x8c00, 0x0613, 0x3000 },\n  { 0x8c00, 0x0611, 0x2000 },\n  { 0x0c00, 0x0610, 0x0000 },\n  { 0x0c00, 0x0612, 0x0000 },\n  { 0x8c00, 0x0615, 0x2000 },\n  { 0x0c00, 0x0614, 0x0000 },\n  { 0x1500, 0x061b, 0x0000 },\n  { 0x8700, 0x0624, 0x3000 },\n  { 0x8700, 0x0622, 0x2000 },\n  { 0x0700, 0x0621, 0x0000 },\n  { 0x0700, 0x0623, 0x0000 },\n  { 0x8700, 0x0626, 0x2000 },\n  { 0x0700, 0x0625, 0x0000 },\n  { 0x0700, 0x0627, 0x0000 },\n  { 0x8700, 0x0630, 0x4000 },\n  { 0x8700, 0x062c, 0x3000 },\n  { 0x8700, 0x062a, 0x2000 },\n  { 0x0700, 0x0629, 0x0000 },\n  { 0x0700, 0x062b, 0x0000 },\n  { 0x8700, 0x062e, 0x2000 },\n  { 0x0700, 0x062d, 0x0000 },\n  { 0x0700, 0x062f, 0x0000 },\n  { 0x8700, 0x0634, 0x3000 },\n  { 0x8700, 0x0632, 0x2000 },\n  { 0x0700, 0x0631, 0x0000 },\n  { 0x0700, 0x0633, 0x0000 },\n  { 0x8700, 0x0636, 0x2000 },\n  { 0x0700, 0x0635, 0x0000 },\n  { 0x0700, 0x0637, 0x0000 },\n  { 0x8c00, 0x064d, 0x5000 },\n  { 0x8700, 0x0645, 0x4000 },\n  { 0x8700, 0x0641, 0x3000 },\n  { 0x8700, 0x063a, 0x2000 },\n  { 0x0700, 0x0639, 0x0000 },\n  { 0x0600, 0x0640, 0x0000 },\n  { 0x8700, 0x0643, 0x2000 },\n  { 0x0700, 0x0642, 0x0000 },\n  { 0x0700, 0x0644, 0x0000 },\n  { 0x8700, 0x0649, 0x3000 },\n  { 0x8700, 0x0647, 0x2000 },\n  { 0x0700, 0x0646, 0x0000 },\n  { 0x0700, 0x0648, 0x0000 },\n  { 0x8c00, 0x064b, 0x2000 },\n  { 0x0700, 0x064a, 0x0000 },\n  { 0x0c00, 0x064c, 0x0000 },\n  { 0x8c00, 0x0655, 0x4000 },\n  { 0x8c00, 0x0651, 0x3000 },\n  { 0x8c00, 0x064f, 0x2000 },\n  { 0x0c00, 0x064e, 0x0000 },\n  { 0x0c00, 0x0650, 0x0000 },\n  { 0x8c00, 0x0653, 0x2000 },\n  { 0x0c00, 0x0652, 0x0000 },\n  { 0x0c00, 0x0654, 0x0000 },\n  { 0x8d00, 0x0660, 0x3000 },\n  { 0x8c00, 0x0657, 0x2000 },\n  { 0x0c00, 0x0656, 0x0000 },\n  { 0x0c00, 0x0658, 0x0000 },\n  { 0x8d00, 0x0662, 0x2000 },\n  { 0x0d00, 0x0661, 0x0000 },\n  { 0x0d00, 0x0663, 0x0000 },\n  { 0x8700, 0x0684, 0x6000 },\n  { 0x8700, 0x0674, 0x5000 },\n  { 0x9500, 0x066c, 0x4000 },\n  { 0x8d00, 0x0668, 0x3000 },\n  { 0x8d00, 0x0666, 0x2000 },\n  { 0x0d00, 0x0665, 0x0000 },\n  { 0x0d00, 0x0667, 0x0000 },\n  { 0x9500, 0x066a, 0x2000 },\n  { 0x0d00, 0x0669, 0x0000 },\n  { 0x1500, 0x066b, 0x0000 },\n  { 0x8c00, 0x0670, 0x3000 },\n  { 0x8700, 0x066e, 0x2000 },\n  { 0x1500, 0x066d, 0x0000 },\n  { 0x0700, 0x066f, 0x0000 },\n  { 0x8700, 0x0672, 0x2000 },\n  { 0x0700, 0x0671, 0x0000 },\n  { 0x0700, 0x0673, 0x0000 },\n  { 0x8700, 0x067c, 0x4000 },\n  { 0x8700, 0x0678, 0x3000 },\n  { 0x8700, 0x0676, 0x2000 },\n  { 0x0700, 0x0675, 0x0000 },\n  { 0x0700, 0x0677, 0x0000 },\n  { 0x8700, 0x067a, 0x2000 },\n  { 0x0700, 0x0679, 0x0000 },\n  { 0x0700, 0x067b, 0x0000 },\n  { 0x8700, 0x0680, 0x3000 },\n  { 0x8700, 0x067e, 0x2000 },\n  { 0x0700, 0x067d, 0x0000 },\n  { 0x0700, 0x067f, 0x0000 },\n  { 0x8700, 0x0682, 0x2000 },\n  { 0x0700, 0x0681, 0x0000 },\n  { 0x0700, 0x0683, 0x0000 },\n  { 0x8700, 0x0694, 0x5000 },\n  { 0x8700, 0x068c, 0x4000 },\n  { 0x8700, 0x0688, 0x3000 },\n  { 0x8700, 0x0686, 0x2000 },\n  { 0x0700, 0x0685, 0x0000 },\n  { 0x0700, 0x0687, 0x0000 },\n  { 0x8700, 0x068a, 0x2000 },\n  { 0x0700, 0x0689, 0x0000 },\n  { 0x0700, 0x068b, 0x0000 },\n  { 0x8700, 0x0690, 0x3000 },\n  { 0x8700, 0x068e, 0x2000 },\n  { 0x0700, 0x068d, 0x0000 },\n  { 0x0700, 0x068f, 0x0000 },\n  { 0x8700, 0x0692, 0x2000 },\n  { 0x0700, 0x0691, 0x0000 },\n  { 0x0700, 0x0693, 0x0000 },\n  { 0x8700, 0x069c, 0x4000 },\n  { 0x8700, 0x0698, 0x3000 },\n  { 0x8700, 0x0696, 0x2000 },\n  { 0x0700, 0x0695, 0x0000 },\n  { 0x0700, 0x0697, 0x0000 },\n  { 0x8700, 0x069a, 0x2000 },\n  { 0x0700, 0x0699, 0x0000 },\n  { 0x0700, 0x069b, 0x0000 },\n  { 0x8700, 0x06a0, 0x3000 },\n  { 0x8700, 0x069e, 0x2000 },\n  { 0x0700, 0x069d, 0x0000 },\n  { 0x0700, 0x069f, 0x0000 },\n  { 0x8700, 0x06a2, 0x2000 },\n  { 0x0700, 0x06a1, 0x0000 },\n  { 0x0700, 0x06a3, 0x0000 },\n  { 0x8700, 0x0926, 0x9000 },\n  { 0x8700, 0x0725, 0x8000 },\n  { 0x8c00, 0x06e4, 0x7000 },\n  { 0x8700, 0x06c4, 0x6000 },\n  { 0x8700, 0x06b4, 0x5000 },\n  { 0x8700, 0x06ac, 0x4000 },\n  { 0x8700, 0x06a8, 0x3000 },\n  { 0x8700, 0x06a6, 0x2000 },\n  { 0x0700, 0x06a5, 0x0000 },\n  { 0x0700, 0x06a7, 0x0000 },\n  { 0x8700, 0x06aa, 0x2000 },\n  { 0x0700, 0x06a9, 0x0000 },\n  { 0x0700, 0x06ab, 0x0000 },\n  { 0x8700, 0x06b0, 0x3000 },\n  { 0x8700, 0x06ae, 0x2000 },\n  { 0x0700, 0x06ad, 0x0000 },\n  { 0x0700, 0x06af, 0x0000 },\n  { 0x8700, 0x06b2, 0x2000 },\n  { 0x0700, 0x06b1, 0x0000 },\n  { 0x0700, 0x06b3, 0x0000 },\n  { 0x8700, 0x06bc, 0x4000 },\n  { 0x8700, 0x06b8, 0x3000 },\n  { 0x8700, 0x06b6, 0x2000 },\n  { 0x0700, 0x06b5, 0x0000 },\n  { 0x0700, 0x06b7, 0x0000 },\n  { 0x8700, 0x06ba, 0x2000 },\n  { 0x0700, 0x06b9, 0x0000 },\n  { 0x0700, 0x06bb, 0x0000 },\n  { 0x8700, 0x06c0, 0x3000 },\n  { 0x8700, 0x06be, 0x2000 },\n  { 0x0700, 0x06bd, 0x0000 },\n  { 0x0700, 0x06bf, 0x0000 },\n  { 0x8700, 0x06c2, 0x2000 },\n  { 0x0700, 0x06c1, 0x0000 },\n  { 0x0700, 0x06c3, 0x0000 },\n  { 0x9500, 0x06d4, 0x5000 },\n  { 0x8700, 0x06cc, 0x4000 },\n  { 0x8700, 0x06c8, 0x3000 },\n  { 0x8700, 0x06c6, 0x2000 },\n  { 0x0700, 0x06c5, 0x0000 },\n  { 0x0700, 0x06c7, 0x0000 },\n  { 0x8700, 0x06ca, 0x2000 },\n  { 0x0700, 0x06c9, 0x0000 },\n  { 0x0700, 0x06cb, 0x0000 },\n  { 0x8700, 0x06d0, 0x3000 },\n  { 0x8700, 0x06ce, 0x2000 },\n  { 0x0700, 0x06cd, 0x0000 },\n  { 0x0700, 0x06cf, 0x0000 },\n  { 0x8700, 0x06d2, 0x2000 },\n  { 0x0700, 0x06d1, 0x0000 },\n  { 0x0700, 0x06d3, 0x0000 },\n  { 0x8c00, 0x06dc, 0x4000 },\n  { 0x8c00, 0x06d8, 0x3000 },\n  { 0x8c00, 0x06d6, 0x2000 },\n  { 0x0700, 0x06d5, 0x0000 },\n  { 0x0c00, 0x06d7, 0x0000 },\n  { 0x8c00, 0x06da, 0x2000 },\n  { 0x0c00, 0x06d9, 0x0000 },\n  { 0x0c00, 0x06db, 0x0000 },\n  { 0x8c00, 0x06e0, 0x3000 },\n  { 0x8b00, 0x06de, 0x2000 },\n  { 0x0100, 0x06dd, 0x0000 },\n  { 0x0c00, 0x06df, 0x0000 },\n  { 0x8c00, 0x06e2, 0x2000 },\n  { 0x0c00, 0x06e1, 0x0000 },\n  { 0x0c00, 0x06e3, 0x0000 },\n  { 0x9500, 0x0704, 0x6000 },\n  { 0x8d00, 0x06f4, 0x5000 },\n  { 0x8c00, 0x06ec, 0x4000 },\n  { 0x8c00, 0x06e8, 0x3000 },\n  { 0x8600, 0x06e6, 0x2000 },\n  { 0x0600, 0x06e5, 0x0000 },\n  { 0x0c00, 0x06e7, 0x0000 },\n  { 0x8c00, 0x06ea, 0x2000 },\n  { 0x1a00, 0x06e9, 0x0000 },\n  { 0x0c00, 0x06eb, 0x0000 },\n  { 0x8d00, 0x06f0, 0x3000 },\n  { 0x8700, 0x06ee, 0x2000 },\n  { 0x0c00, 0x06ed, 0x0000 },\n  { 0x0700, 0x06ef, 0x0000 },\n  { 0x8d00, 0x06f2, 0x2000 },\n  { 0x0d00, 0x06f1, 0x0000 },\n  { 0x0d00, 0x06f3, 0x0000 },\n  { 0x8700, 0x06fc, 0x4000 },\n  { 0x8d00, 0x06f8, 0x3000 },\n  { 0x8d00, 0x06f6, 0x2000 },\n  { 0x0d00, 0x06f5, 0x0000 },\n  { 0x0d00, 0x06f7, 0x0000 },\n  { 0x8700, 0x06fa, 0x2000 },\n  { 0x0d00, 0x06f9, 0x0000 },\n  { 0x0700, 0x06fb, 0x0000 },\n  { 0x9500, 0x0700, 0x3000 },\n  { 0x9a00, 0x06fe, 0x2000 },\n  { 0x1a00, 0x06fd, 0x0000 },\n  { 0x0700, 0x06ff, 0x0000 },\n  { 0x9500, 0x0702, 0x2000 },\n  { 0x1500, 0x0701, 0x0000 },\n  { 0x1500, 0x0703, 0x0000 },\n  { 0x8700, 0x0715, 0x5000 },\n  { 0x9500, 0x070c, 0x4000 },\n  { 0x9500, 0x0708, 0x3000 },\n  { 0x9500, 0x0706, 0x2000 },\n  { 0x1500, 0x0705, 0x0000 },\n  { 0x1500, 0x0707, 0x0000 },\n  { 0x9500, 0x070a, 0x2000 },\n  { 0x1500, 0x0709, 0x0000 },\n  { 0x1500, 0x070b, 0x0000 },\n  { 0x8c00, 0x0711, 0x3000 },\n  { 0x8100, 0x070f, 0x2000 },\n  { 0x1500, 0x070d, 0x0000 },\n  { 0x0700, 0x0710, 0x0000 },\n  { 0x8700, 0x0713, 0x2000 },\n  { 0x0700, 0x0712, 0x0000 },\n  { 0x0700, 0x0714, 0x0000 },\n  { 0x8700, 0x071d, 0x4000 },\n  { 0x8700, 0x0719, 0x3000 },\n  { 0x8700, 0x0717, 0x2000 },\n  { 0x0700, 0x0716, 0x0000 },\n  { 0x0700, 0x0718, 0x0000 },\n  { 0x8700, 0x071b, 0x2000 },\n  { 0x0700, 0x071a, 0x0000 },\n  { 0x0700, 0x071c, 0x0000 },\n  { 0x8700, 0x0721, 0x3000 },\n  { 0x8700, 0x071f, 0x2000 },\n  { 0x0700, 0x071e, 0x0000 },\n  { 0x0700, 0x0720, 0x0000 },\n  { 0x8700, 0x0723, 0x2000 },\n  { 0x0700, 0x0722, 0x0000 },\n  { 0x0700, 0x0724, 0x0000 },\n  { 0x8700, 0x0797, 0x7000 },\n  { 0x8c00, 0x0745, 0x6000 },\n  { 0x8c00, 0x0735, 0x5000 },\n  { 0x8700, 0x072d, 0x4000 },\n  { 0x8700, 0x0729, 0x3000 },\n  { 0x8700, 0x0727, 0x2000 },\n  { 0x0700, 0x0726, 0x0000 },\n  { 0x0700, 0x0728, 0x0000 },\n  { 0x8700, 0x072b, 0x2000 },\n  { 0x0700, 0x072a, 0x0000 },\n  { 0x0700, 0x072c, 0x0000 },\n  { 0x8c00, 0x0731, 0x3000 },\n  { 0x8700, 0x072f, 0x2000 },\n  { 0x0700, 0x072e, 0x0000 },\n  { 0x0c00, 0x0730, 0x0000 },\n  { 0x8c00, 0x0733, 0x2000 },\n  { 0x0c00, 0x0732, 0x0000 },\n  { 0x0c00, 0x0734, 0x0000 },\n  { 0x8c00, 0x073d, 0x4000 },\n  { 0x8c00, 0x0739, 0x3000 },\n  { 0x8c00, 0x0737, 0x2000 },\n  { 0x0c00, 0x0736, 0x0000 },\n  { 0x0c00, 0x0738, 0x0000 },\n  { 0x8c00, 0x073b, 0x2000 },\n  { 0x0c00, 0x073a, 0x0000 },\n  { 0x0c00, 0x073c, 0x0000 },\n  { 0x8c00, 0x0741, 0x3000 },\n  { 0x8c00, 0x073f, 0x2000 },\n  { 0x0c00, 0x073e, 0x0000 },\n  { 0x0c00, 0x0740, 0x0000 },\n  { 0x8c00, 0x0743, 0x2000 },\n  { 0x0c00, 0x0742, 0x0000 },\n  { 0x0c00, 0x0744, 0x0000 },\n  { 0x8700, 0x0787, 0x5000 },\n  { 0x8700, 0x074f, 0x4000 },\n  { 0x8c00, 0x0749, 0x3000 },\n  { 0x8c00, 0x0747, 0x2000 },\n  { 0x0c00, 0x0746, 0x0000 },\n  { 0x0c00, 0x0748, 0x0000 },\n  { 0x8700, 0x074d, 0x2000 },\n  { 0x0c00, 0x074a, 0x0000 },\n  { 0x0700, 0x074e, 0x0000 },\n  { 0x8700, 0x0783, 0x3000 },\n  { 0x8700, 0x0781, 0x2000 },\n  { 0x0700, 0x0780, 0x0000 },\n  { 0x0700, 0x0782, 0x0000 },\n  { 0x8700, 0x0785, 0x2000 },\n  { 0x0700, 0x0784, 0x0000 },\n  { 0x0700, 0x0786, 0x0000 },\n  { 0x8700, 0x078f, 0x4000 },\n  { 0x8700, 0x078b, 0x3000 },\n  { 0x8700, 0x0789, 0x2000 },\n  { 0x0700, 0x0788, 0x0000 },\n  { 0x0700, 0x078a, 0x0000 },\n  { 0x8700, 0x078d, 0x2000 },\n  { 0x0700, 0x078c, 0x0000 },\n  { 0x0700, 0x078e, 0x0000 },\n  { 0x8700, 0x0793, 0x3000 },\n  { 0x8700, 0x0791, 0x2000 },\n  { 0x0700, 0x0790, 0x0000 },\n  { 0x0700, 0x0792, 0x0000 },\n  { 0x8700, 0x0795, 0x2000 },\n  { 0x0700, 0x0794, 0x0000 },\n  { 0x0700, 0x0796, 0x0000 },\n  { 0x8700, 0x0906, 0x6000 },\n  { 0x8c00, 0x07a7, 0x5000 },\n  { 0x8700, 0x079f, 0x4000 },\n  { 0x8700, 0x079b, 0x3000 },\n  { 0x8700, 0x0799, 0x2000 },\n  { 0x0700, 0x0798, 0x0000 },\n  { 0x0700, 0x079a, 0x0000 },\n  { 0x8700, 0x079d, 0x2000 },\n  { 0x0700, 0x079c, 0x0000 },\n  { 0x0700, 0x079e, 0x0000 },\n  { 0x8700, 0x07a3, 0x3000 },\n  { 0x8700, 0x07a1, 0x2000 },\n  { 0x0700, 0x07a0, 0x0000 },\n  { 0x0700, 0x07a2, 0x0000 },\n  { 0x8700, 0x07a5, 0x2000 },\n  { 0x0700, 0x07a4, 0x0000 },\n  { 0x0c00, 0x07a6, 0x0000 },\n  { 0x8c00, 0x07af, 0x4000 },\n  { 0x8c00, 0x07ab, 0x3000 },\n  { 0x8c00, 0x07a9, 0x2000 },\n  { 0x0c00, 0x07a8, 0x0000 },\n  { 0x0c00, 0x07aa, 0x0000 },\n  { 0x8c00, 0x07ad, 0x2000 },\n  { 0x0c00, 0x07ac, 0x0000 },\n  { 0x0c00, 0x07ae, 0x0000 },\n  { 0x8c00, 0x0902, 0x3000 },\n  { 0x8700, 0x07b1, 0x2000 },\n  { 0x0c00, 0x07b0, 0x0000 },\n  { 0x0c00, 0x0901, 0x0000 },\n  { 0x8700, 0x0904, 0x2000 },\n  { 0x0a00, 0x0903, 0x0000 },\n  { 0x0700, 0x0905, 0x0000 },\n  { 0x8700, 0x0916, 0x5000 },\n  { 0x8700, 0x090e, 0x4000 },\n  { 0x8700, 0x090a, 0x3000 },\n  { 0x8700, 0x0908, 0x2000 },\n  { 0x0700, 0x0907, 0x0000 },\n  { 0x0700, 0x0909, 0x0000 },\n  { 0x8700, 0x090c, 0x2000 },\n  { 0x0700, 0x090b, 0x0000 },\n  { 0x0700, 0x090d, 0x0000 },\n  { 0x8700, 0x0912, 0x3000 },\n  { 0x8700, 0x0910, 0x2000 },\n  { 0x0700, 0x090f, 0x0000 },\n  { 0x0700, 0x0911, 0x0000 },\n  { 0x8700, 0x0914, 0x2000 },\n  { 0x0700, 0x0913, 0x0000 },\n  { 0x0700, 0x0915, 0x0000 },\n  { 0x8700, 0x091e, 0x4000 },\n  { 0x8700, 0x091a, 0x3000 },\n  { 0x8700, 0x0918, 0x2000 },\n  { 0x0700, 0x0917, 0x0000 },\n  { 0x0700, 0x0919, 0x0000 },\n  { 0x8700, 0x091c, 0x2000 },\n  { 0x0700, 0x091b, 0x0000 },\n  { 0x0700, 0x091d, 0x0000 },\n  { 0x8700, 0x0922, 0x3000 },\n  { 0x8700, 0x0920, 0x2000 },\n  { 0x0700, 0x091f, 0x0000 },\n  { 0x0700, 0x0921, 0x0000 },\n  { 0x8700, 0x0924, 0x2000 },\n  { 0x0700, 0x0923, 0x0000 },\n  { 0x0700, 0x0925, 0x0000 },\n  { 0x8c00, 0x09cd, 0x8000 },\n  { 0x8d00, 0x096d, 0x7000 },\n  { 0x8c00, 0x0948, 0x6000 },\n  { 0x8700, 0x0936, 0x5000 },\n  { 0x8700, 0x092e, 0x4000 },\n  { 0x8700, 0x092a, 0x3000 },\n  { 0x8700, 0x0928, 0x2000 },\n  { 0x0700, 0x0927, 0x0000 },\n  { 0x0700, 0x0929, 0x0000 },\n  { 0x8700, 0x092c, 0x2000 },\n  { 0x0700, 0x092b, 0x0000 },\n  { 0x0700, 0x092d, 0x0000 },\n  { 0x8700, 0x0932, 0x3000 },\n  { 0x8700, 0x0930, 0x2000 },\n  { 0x0700, 0x092f, 0x0000 },\n  { 0x0700, 0x0931, 0x0000 },\n  { 0x8700, 0x0934, 0x2000 },\n  { 0x0700, 0x0933, 0x0000 },\n  { 0x0700, 0x0935, 0x0000 },\n  { 0x8a00, 0x0940, 0x4000 },\n  { 0x8c00, 0x093c, 0x3000 },\n  { 0x8700, 0x0938, 0x2000 },\n  { 0x0700, 0x0937, 0x0000 },\n  { 0x0700, 0x0939, 0x0000 },\n  { 0x8a00, 0x093e, 0x2000 },\n  { 0x0700, 0x093d, 0x0000 },\n  { 0x0a00, 0x093f, 0x0000 },\n  { 0x8c00, 0x0944, 0x3000 },\n  { 0x8c00, 0x0942, 0x2000 },\n  { 0x0c00, 0x0941, 0x0000 },\n  { 0x0c00, 0x0943, 0x0000 },\n  { 0x8c00, 0x0946, 0x2000 },\n  { 0x0c00, 0x0945, 0x0000 },\n  { 0x0c00, 0x0947, 0x0000 },\n  { 0x8700, 0x095d, 0x5000 },\n  { 0x8c00, 0x0952, 0x4000 },\n  { 0x8a00, 0x094c, 0x3000 },\n  { 0x8a00, 0x094a, 0x2000 },\n  { 0x0a00, 0x0949, 0x0000 },\n  { 0x0a00, 0x094b, 0x0000 },\n  { 0x8700, 0x0950, 0x2000 },\n  { 0x0c00, 0x094d, 0x0000 },\n  { 0x0c00, 0x0951, 0x0000 },\n  { 0x8700, 0x0959, 0x3000 },\n  { 0x8c00, 0x0954, 0x2000 },\n  { 0x0c00, 0x0953, 0x0000 },\n  { 0x0700, 0x0958, 0x0000 },\n  { 0x8700, 0x095b, 0x2000 },\n  { 0x0700, 0x095a, 0x0000 },\n  { 0x0700, 0x095c, 0x0000 },\n  { 0x9500, 0x0965, 0x4000 },\n  { 0x8700, 0x0961, 0x3000 },\n  { 0x8700, 0x095f, 0x2000 },\n  { 0x0700, 0x095e, 0x0000 },\n  { 0x0700, 0x0960, 0x0000 },\n  { 0x8c00, 0x0963, 0x2000 },\n  { 0x0c00, 0x0962, 0x0000 },\n  { 0x1500, 0x0964, 0x0000 },\n  { 0x8d00, 0x0969, 0x3000 },\n  { 0x8d00, 0x0967, 0x2000 },\n  { 0x0d00, 0x0966, 0x0000 },\n  { 0x0d00, 0x0968, 0x0000 },\n  { 0x8d00, 0x096b, 0x2000 },\n  { 0x0d00, 0x096a, 0x0000 },\n  { 0x0d00, 0x096c, 0x0000 },\n  { 0x8700, 0x09a2, 0x6000 },\n  { 0x8700, 0x0990, 0x5000 },\n  { 0x8700, 0x0986, 0x4000 },\n  { 0x8c00, 0x0981, 0x3000 },\n  { 0x8d00, 0x096f, 0x2000 },\n  { 0x0d00, 0x096e, 0x0000 },\n  { 0x1500, 0x0970, 0x0000 },\n  { 0x8a00, 0x0983, 0x2000 },\n  { 0x0a00, 0x0982, 0x0000 },\n  { 0x0700, 0x0985, 0x0000 },\n  { 0x8700, 0x098a, 0x3000 },\n  { 0x8700, 0x0988, 0x2000 },\n  { 0x0700, 0x0987, 0x0000 },\n  { 0x0700, 0x0989, 0x0000 },\n  { 0x8700, 0x098c, 0x2000 },\n  { 0x0700, 0x098b, 0x0000 },\n  { 0x0700, 0x098f, 0x0000 },\n  { 0x8700, 0x099a, 0x4000 },\n  { 0x8700, 0x0996, 0x3000 },\n  { 0x8700, 0x0994, 0x2000 },\n  { 0x0700, 0x0993, 0x0000 },\n  { 0x0700, 0x0995, 0x0000 },\n  { 0x8700, 0x0998, 0x2000 },\n  { 0x0700, 0x0997, 0x0000 },\n  { 0x0700, 0x0999, 0x0000 },\n  { 0x8700, 0x099e, 0x3000 },\n  { 0x8700, 0x099c, 0x2000 },\n  { 0x0700, 0x099b, 0x0000 },\n  { 0x0700, 0x099d, 0x0000 },\n  { 0x8700, 0x09a0, 0x2000 },\n  { 0x0700, 0x099f, 0x0000 },\n  { 0x0700, 0x09a1, 0x0000 },\n  { 0x8700, 0x09b7, 0x5000 },\n  { 0x8700, 0x09ab, 0x4000 },\n  { 0x8700, 0x09a6, 0x3000 },\n  { 0x8700, 0x09a4, 0x2000 },\n  { 0x0700, 0x09a3, 0x0000 },\n  { 0x0700, 0x09a5, 0x0000 },\n  { 0x8700, 0x09a8, 0x2000 },\n  { 0x0700, 0x09a7, 0x0000 },\n  { 0x0700, 0x09aa, 0x0000 },\n  { 0x8700, 0x09af, 0x3000 },\n  { 0x8700, 0x09ad, 0x2000 },\n  { 0x0700, 0x09ac, 0x0000 },\n  { 0x0700, 0x09ae, 0x0000 },\n  { 0x8700, 0x09b2, 0x2000 },\n  { 0x0700, 0x09b0, 0x0000 },\n  { 0x0700, 0x09b6, 0x0000 },\n  { 0x8c00, 0x09c1, 0x4000 },\n  { 0x8700, 0x09bd, 0x3000 },\n  { 0x8700, 0x09b9, 0x2000 },\n  { 0x0700, 0x09b8, 0x0000 },\n  { 0x0c00, 0x09bc, 0x0000 },\n  { 0x8a00, 0x09bf, 0x2000 },\n  { 0x0a00, 0x09be, 0x0000 },\n  { 0x0a00, 0x09c0, 0x0000 },\n  { 0x8a00, 0x09c7, 0x3000 },\n  { 0x8c00, 0x09c3, 0x2000 },\n  { 0x0c00, 0x09c2, 0x0000 },\n  { 0x0c00, 0x09c4, 0x0000 },\n  { 0x8a00, 0x09cb, 0x2000 },\n  { 0x0a00, 0x09c8, 0x0000 },\n  { 0x0a00, 0x09cc, 0x0000 },\n  { 0x8700, 0x0a2b, 0x7000 },\n  { 0x8a00, 0x0a03, 0x6000 },\n  { 0x8d00, 0x09ed, 0x5000 },\n  { 0x8c00, 0x09e3, 0x4000 },\n  { 0x8700, 0x09df, 0x3000 },\n  { 0x8700, 0x09dc, 0x2000 },\n  { 0x0a00, 0x09d7, 0x0000 },\n  { 0x0700, 0x09dd, 0x0000 },\n  { 0x8700, 0x09e1, 0x2000 },\n  { 0x0700, 0x09e0, 0x0000 },\n  { 0x0c00, 0x09e2, 0x0000 },\n  { 0x8d00, 0x09e9, 0x3000 },\n  { 0x8d00, 0x09e7, 0x2000 },\n  { 0x0d00, 0x09e6, 0x0000 },\n  { 0x0d00, 0x09e8, 0x0000 },\n  { 0x8d00, 0x09eb, 0x2000 },\n  { 0x0d00, 0x09ea, 0x0000 },\n  { 0x0d00, 0x09ec, 0x0000 },\n  { 0x8f00, 0x09f5, 0x4000 },\n  { 0x8700, 0x09f1, 0x3000 },\n  { 0x8d00, 0x09ef, 0x2000 },\n  { 0x0d00, 0x09ee, 0x0000 },\n  { 0x0700, 0x09f0, 0x0000 },\n  { 0x9700, 0x09f3, 0x2000 },\n  { 0x1700, 0x09f2, 0x0000 },\n  { 0x0f00, 0x09f4, 0x0000 },\n  { 0x8f00, 0x09f9, 0x3000 },\n  { 0x8f00, 0x09f7, 0x2000 },\n  { 0x0f00, 0x09f6, 0x0000 },\n  { 0x0f00, 0x09f8, 0x0000 },\n  { 0x8c00, 0x0a01, 0x2000 },\n  { 0x1a00, 0x09fa, 0x0000 },\n  { 0x0c00, 0x0a02, 0x0000 },\n  { 0x8700, 0x0a1a, 0x5000 },\n  { 0x8700, 0x0a10, 0x4000 },\n  { 0x8700, 0x0a08, 0x3000 },\n  { 0x8700, 0x0a06, 0x2000 },\n  { 0x0700, 0x0a05, 0x0000 },\n  { 0x0700, 0x0a07, 0x0000 },\n  { 0x8700, 0x0a0a, 0x2000 },\n  { 0x0700, 0x0a09, 0x0000 },\n  { 0x0700, 0x0a0f, 0x0000 },\n  { 0x8700, 0x0a16, 0x3000 },\n  { 0x8700, 0x0a14, 0x2000 },\n  { 0x0700, 0x0a13, 0x0000 },\n  { 0x0700, 0x0a15, 0x0000 },\n  { 0x8700, 0x0a18, 0x2000 },\n  { 0x0700, 0x0a17, 0x0000 },\n  { 0x0700, 0x0a19, 0x0000 },\n  { 0x8700, 0x0a22, 0x4000 },\n  { 0x8700, 0x0a1e, 0x3000 },\n  { 0x8700, 0x0a1c, 0x2000 },\n  { 0x0700, 0x0a1b, 0x0000 },\n  { 0x0700, 0x0a1d, 0x0000 },\n  { 0x8700, 0x0a20, 0x2000 },\n  { 0x0700, 0x0a1f, 0x0000 },\n  { 0x0700, 0x0a21, 0x0000 },\n  { 0x8700, 0x0a26, 0x3000 },\n  { 0x8700, 0x0a24, 0x2000 },\n  { 0x0700, 0x0a23, 0x0000 },\n  { 0x0700, 0x0a25, 0x0000 },\n  { 0x8700, 0x0a28, 0x2000 },\n  { 0x0700, 0x0a27, 0x0000 },\n  { 0x0700, 0x0a2a, 0x0000 },\n  { 0x8d00, 0x0a6a, 0x6000 },\n  { 0x8c00, 0x0a41, 0x5000 },\n  { 0x8700, 0x0a35, 0x4000 },\n  { 0x8700, 0x0a2f, 0x3000 },\n  { 0x8700, 0x0a2d, 0x2000 },\n  { 0x0700, 0x0a2c, 0x0000 },\n  { 0x0700, 0x0a2e, 0x0000 },\n  { 0x8700, 0x0a32, 0x2000 },\n  { 0x0700, 0x0a30, 0x0000 },\n  { 0x0700, 0x0a33, 0x0000 },\n  { 0x8c00, 0x0a3c, 0x3000 },\n  { 0x8700, 0x0a38, 0x2000 },\n  { 0x0700, 0x0a36, 0x0000 },\n  { 0x0700, 0x0a39, 0x0000 },\n  { 0x8a00, 0x0a3f, 0x2000 },\n  { 0x0a00, 0x0a3e, 0x0000 },\n  { 0x0a00, 0x0a40, 0x0000 },\n  { 0x8700, 0x0a5a, 0x4000 },\n  { 0x8c00, 0x0a4b, 0x3000 },\n  { 0x8c00, 0x0a47, 0x2000 },\n  { 0x0c00, 0x0a42, 0x0000 },\n  { 0x0c00, 0x0a48, 0x0000 },\n  { 0x8c00, 0x0a4d, 0x2000 },\n  { 0x0c00, 0x0a4c, 0x0000 },\n  { 0x0700, 0x0a59, 0x0000 },\n  { 0x8d00, 0x0a66, 0x3000 },\n  { 0x8700, 0x0a5c, 0x2000 },\n  { 0x0700, 0x0a5b, 0x0000 },\n  { 0x0700, 0x0a5e, 0x0000 },\n  { 0x8d00, 0x0a68, 0x2000 },\n  { 0x0d00, 0x0a67, 0x0000 },\n  { 0x0d00, 0x0a69, 0x0000 },\n  { 0x8700, 0x0a87, 0x5000 },\n  { 0x8700, 0x0a72, 0x4000 },\n  { 0x8d00, 0x0a6e, 0x3000 },\n  { 0x8d00, 0x0a6c, 0x2000 },\n  { 0x0d00, 0x0a6b, 0x0000 },\n  { 0x0d00, 0x0a6d, 0x0000 },\n  { 0x8c00, 0x0a70, 0x2000 },\n  { 0x0d00, 0x0a6f, 0x0000 },\n  { 0x0c00, 0x0a71, 0x0000 },\n  { 0x8c00, 0x0a82, 0x3000 },\n  { 0x8700, 0x0a74, 0x2000 },\n  { 0x0700, 0x0a73, 0x0000 },\n  { 0x0c00, 0x0a81, 0x0000 },\n  { 0x8700, 0x0a85, 0x2000 },\n  { 0x0a00, 0x0a83, 0x0000 },\n  { 0x0700, 0x0a86, 0x0000 },\n  { 0x8700, 0x0a90, 0x4000 },\n  { 0x8700, 0x0a8b, 0x3000 },\n  { 0x8700, 0x0a89, 0x2000 },\n  { 0x0700, 0x0a88, 0x0000 },\n  { 0x0700, 0x0a8a, 0x0000 },\n  { 0x8700, 0x0a8d, 0x2000 },\n  { 0x0700, 0x0a8c, 0x0000 },\n  { 0x0700, 0x0a8f, 0x0000 },\n  { 0x8700, 0x0a95, 0x3000 },\n  { 0x8700, 0x0a93, 0x2000 },\n  { 0x0700, 0x0a91, 0x0000 },\n  { 0x0700, 0x0a94, 0x0000 },\n  { 0x8700, 0x0a97, 0x2000 },\n  { 0x0700, 0x0a96, 0x0000 },\n  { 0x0700, 0x0a98, 0x0000 },\n  { 0x8700, 0x10ef, 0xb000 },\n  { 0x8700, 0x0dc6, 0xa000 },\n  { 0x8700, 0x0c31, 0x9000 },\n  { 0x8700, 0x0b5f, 0x8000 },\n  { 0x8a00, 0x0b03, 0x7000 },\n  { 0x8a00, 0x0abe, 0x6000 },\n  { 0x8700, 0x0aaa, 0x5000 },\n  { 0x8700, 0x0aa1, 0x4000 },\n  { 0x8700, 0x0a9d, 0x3000 },\n  { 0x8700, 0x0a9b, 0x2000 },\n  { 0x0700, 0x0a9a, 0x0000 },\n  { 0x0700, 0x0a9c, 0x0000 },\n  { 0x8700, 0x0a9f, 0x2000 },\n  { 0x0700, 0x0a9e, 0x0000 },\n  { 0x0700, 0x0aa0, 0x0000 },\n  { 0x8700, 0x0aa5, 0x3000 },\n  { 0x8700, 0x0aa3, 0x2000 },\n  { 0x0700, 0x0aa2, 0x0000 },\n  { 0x0700, 0x0aa4, 0x0000 },\n  { 0x8700, 0x0aa7, 0x2000 },\n  { 0x0700, 0x0aa6, 0x0000 },\n  { 0x0700, 0x0aa8, 0x0000 },\n  { 0x8700, 0x0ab3, 0x4000 },\n  { 0x8700, 0x0aae, 0x3000 },\n  { 0x8700, 0x0aac, 0x2000 },\n  { 0x0700, 0x0aab, 0x0000 },\n  { 0x0700, 0x0aad, 0x0000 },\n  { 0x8700, 0x0ab0, 0x2000 },\n  { 0x0700, 0x0aaf, 0x0000 },\n  { 0x0700, 0x0ab2, 0x0000 },\n  { 0x8700, 0x0ab8, 0x3000 },\n  { 0x8700, 0x0ab6, 0x2000 },\n  { 0x0700, 0x0ab5, 0x0000 },\n  { 0x0700, 0x0ab7, 0x0000 },\n  { 0x8c00, 0x0abc, 0x2000 },\n  { 0x0700, 0x0ab9, 0x0000 },\n  { 0x0700, 0x0abd, 0x0000 },\n  { 0x8700, 0x0ae1, 0x5000 },\n  { 0x8c00, 0x0ac7, 0x4000 },\n  { 0x8c00, 0x0ac2, 0x3000 },\n  { 0x8a00, 0x0ac0, 0x2000 },\n  { 0x0a00, 0x0abf, 0x0000 },\n  { 0x0c00, 0x0ac1, 0x0000 },\n  { 0x8c00, 0x0ac4, 0x2000 },\n  { 0x0c00, 0x0ac3, 0x0000 },\n  { 0x0c00, 0x0ac5, 0x0000 },\n  { 0x8a00, 0x0acc, 0x3000 },\n  { 0x8a00, 0x0ac9, 0x2000 },\n  { 0x0c00, 0x0ac8, 0x0000 },\n  { 0x0a00, 0x0acb, 0x0000 },\n  { 0x8700, 0x0ad0, 0x2000 },\n  { 0x0c00, 0x0acd, 0x0000 },\n  { 0x0700, 0x0ae0, 0x0000 },\n  { 0x8d00, 0x0aeb, 0x4000 },\n  { 0x8d00, 0x0ae7, 0x3000 },\n  { 0x8c00, 0x0ae3, 0x2000 },\n  { 0x0c00, 0x0ae2, 0x0000 },\n  { 0x0d00, 0x0ae6, 0x0000 },\n  { 0x8d00, 0x0ae9, 0x2000 },\n  { 0x0d00, 0x0ae8, 0x0000 },\n  { 0x0d00, 0x0aea, 0x0000 },\n  { 0x8d00, 0x0aef, 0x3000 },\n  { 0x8d00, 0x0aed, 0x2000 },\n  { 0x0d00, 0x0aec, 0x0000 },\n  { 0x0d00, 0x0aee, 0x0000 },\n  { 0x8c00, 0x0b01, 0x2000 },\n  { 0x1700, 0x0af1, 0x0000 },\n  { 0x0a00, 0x0b02, 0x0000 },\n  { 0x8700, 0x0b28, 0x6000 },\n  { 0x8700, 0x0b18, 0x5000 },\n  { 0x8700, 0x0b0c, 0x4000 },\n  { 0x8700, 0x0b08, 0x3000 },\n  { 0x8700, 0x0b06, 0x2000 },\n  { 0x0700, 0x0b05, 0x0000 },\n  { 0x0700, 0x0b07, 0x0000 },\n  { 0x8700, 0x0b0a, 0x2000 },\n  { 0x0700, 0x0b09, 0x0000 },\n  { 0x0700, 0x0b0b, 0x0000 },\n  { 0x8700, 0x0b14, 0x3000 },\n  { 0x8700, 0x0b10, 0x2000 },\n  { 0x0700, 0x0b0f, 0x0000 },\n  { 0x0700, 0x0b13, 0x0000 },\n  { 0x8700, 0x0b16, 0x2000 },\n  { 0x0700, 0x0b15, 0x0000 },\n  { 0x0700, 0x0b17, 0x0000 },\n  { 0x8700, 0x0b20, 0x4000 },\n  { 0x8700, 0x0b1c, 0x3000 },\n  { 0x8700, 0x0b1a, 0x2000 },\n  { 0x0700, 0x0b19, 0x0000 },\n  { 0x0700, 0x0b1b, 0x0000 },\n  { 0x8700, 0x0b1e, 0x2000 },\n  { 0x0700, 0x0b1d, 0x0000 },\n  { 0x0700, 0x0b1f, 0x0000 },\n  { 0x8700, 0x0b24, 0x3000 },\n  { 0x8700, 0x0b22, 0x2000 },\n  { 0x0700, 0x0b21, 0x0000 },\n  { 0x0700, 0x0b23, 0x0000 },\n  { 0x8700, 0x0b26, 0x2000 },\n  { 0x0700, 0x0b25, 0x0000 },\n  { 0x0700, 0x0b27, 0x0000 },\n  { 0x8700, 0x0b3d, 0x5000 },\n  { 0x8700, 0x0b32, 0x4000 },\n  { 0x8700, 0x0b2d, 0x3000 },\n  { 0x8700, 0x0b2b, 0x2000 },\n  { 0x0700, 0x0b2a, 0x0000 },\n  { 0x0700, 0x0b2c, 0x0000 },\n  { 0x8700, 0x0b2f, 0x2000 },\n  { 0x0700, 0x0b2e, 0x0000 },\n  { 0x0700, 0x0b30, 0x0000 },\n  { 0x8700, 0x0b37, 0x3000 },\n  { 0x8700, 0x0b35, 0x2000 },\n  { 0x0700, 0x0b33, 0x0000 },\n  { 0x0700, 0x0b36, 0x0000 },\n  { 0x8700, 0x0b39, 0x2000 },\n  { 0x0700, 0x0b38, 0x0000 },\n  { 0x0c00, 0x0b3c, 0x0000 },\n  { 0x8a00, 0x0b48, 0x4000 },\n  { 0x8c00, 0x0b41, 0x3000 },\n  { 0x8c00, 0x0b3f, 0x2000 },\n  { 0x0a00, 0x0b3e, 0x0000 },\n  { 0x0a00, 0x0b40, 0x0000 },\n  { 0x8c00, 0x0b43, 0x2000 },\n  { 0x0c00, 0x0b42, 0x0000 },\n  { 0x0a00, 0x0b47, 0x0000 },\n  { 0x8c00, 0x0b56, 0x3000 },\n  { 0x8a00, 0x0b4c, 0x2000 },\n  { 0x0a00, 0x0b4b, 0x0000 },\n  { 0x0c00, 0x0b4d, 0x0000 },\n  { 0x8700, 0x0b5c, 0x2000 },\n  { 0x0a00, 0x0b57, 0x0000 },\n  { 0x0700, 0x0b5d, 0x0000 },\n  { 0x8d00, 0x0be7, 0x7000 },\n  { 0x8700, 0x0b9c, 0x6000 },\n  { 0x8700, 0x0b83, 0x5000 },\n  { 0x8d00, 0x0b6b, 0x4000 },\n  { 0x8d00, 0x0b67, 0x3000 },\n  { 0x8700, 0x0b61, 0x2000 },\n  { 0x0700, 0x0b60, 0x0000 },\n  { 0x0d00, 0x0b66, 0x0000 },\n  { 0x8d00, 0x0b69, 0x2000 },\n  { 0x0d00, 0x0b68, 0x0000 },\n  { 0x0d00, 0x0b6a, 0x0000 },\n  { 0x8d00, 0x0b6f, 0x3000 },\n  { 0x8d00, 0x0b6d, 0x2000 },\n  { 0x0d00, 0x0b6c, 0x0000 },\n  { 0x0d00, 0x0b6e, 0x0000 },\n  { 0x8700, 0x0b71, 0x2000 },\n  { 0x1a00, 0x0b70, 0x0000 },\n  { 0x0c00, 0x0b82, 0x0000 },\n  { 0x8700, 0x0b8f, 0x4000 },\n  { 0x8700, 0x0b88, 0x3000 },\n  { 0x8700, 0x0b86, 0x2000 },\n  { 0x0700, 0x0b85, 0x0000 },\n  { 0x0700, 0x0b87, 0x0000 },\n  { 0x8700, 0x0b8a, 0x2000 },\n  { 0x0700, 0x0b89, 0x0000 },\n  { 0x0700, 0x0b8e, 0x0000 },\n  { 0x8700, 0x0b94, 0x3000 },\n  { 0x8700, 0x0b92, 0x2000 },\n  { 0x0700, 0x0b90, 0x0000 },\n  { 0x0700, 0x0b93, 0x0000 },\n  { 0x8700, 0x0b99, 0x2000 },\n  { 0x0700, 0x0b95, 0x0000 },\n  { 0x0700, 0x0b9a, 0x0000 },\n  { 0x8700, 0x0bb7, 0x5000 },\n  { 0x8700, 0x0bae, 0x4000 },\n  { 0x8700, 0x0ba4, 0x3000 },\n  { 0x8700, 0x0b9f, 0x2000 },\n  { 0x0700, 0x0b9e, 0x0000 },\n  { 0x0700, 0x0ba3, 0x0000 },\n  { 0x8700, 0x0ba9, 0x2000 },\n  { 0x0700, 0x0ba8, 0x0000 },\n  { 0x0700, 0x0baa, 0x0000 },\n  { 0x8700, 0x0bb2, 0x3000 },\n  { 0x8700, 0x0bb0, 0x2000 },\n  { 0x0700, 0x0baf, 0x0000 },\n  { 0x0700, 0x0bb1, 0x0000 },\n  { 0x8700, 0x0bb4, 0x2000 },\n  { 0x0700, 0x0bb3, 0x0000 },\n  { 0x0700, 0x0bb5, 0x0000 },\n  { 0x8a00, 0x0bc6, 0x4000 },\n  { 0x8a00, 0x0bbf, 0x3000 },\n  { 0x8700, 0x0bb9, 0x2000 },\n  { 0x0700, 0x0bb8, 0x0000 },\n  { 0x0a00, 0x0bbe, 0x0000 },\n  { 0x8a00, 0x0bc1, 0x2000 },\n  { 0x0c00, 0x0bc0, 0x0000 },\n  { 0x0a00, 0x0bc2, 0x0000 },\n  { 0x8a00, 0x0bcb, 0x3000 },\n  { 0x8a00, 0x0bc8, 0x2000 },\n  { 0x0a00, 0x0bc7, 0x0000 },\n  { 0x0a00, 0x0bca, 0x0000 },\n  { 0x8c00, 0x0bcd, 0x2000 },\n  { 0x0a00, 0x0bcc, 0x0000 },\n  { 0x0a00, 0x0bd7, 0x0000 },\n  { 0x8700, 0x0c0f, 0x6000 },\n  { 0x9a00, 0x0bf7, 0x5000 },\n  { 0x8d00, 0x0bef, 0x4000 },\n  { 0x8d00, 0x0beb, 0x3000 },\n  { 0x8d00, 0x0be9, 0x2000 },\n  { 0x0d00, 0x0be8, 0x0000 },\n  { 0x0d00, 0x0bea, 0x0000 },\n  { 0x8d00, 0x0bed, 0x2000 },\n  { 0x0d00, 0x0bec, 0x0000 },\n  { 0x0d00, 0x0bee, 0x0000 },\n  { 0x9a00, 0x0bf3, 0x3000 },\n  { 0x8f00, 0x0bf1, 0x2000 },\n  { 0x0f00, 0x0bf0, 0x0000 },\n  { 0x0f00, 0x0bf2, 0x0000 },\n  { 0x9a00, 0x0bf5, 0x2000 },\n  { 0x1a00, 0x0bf4, 0x0000 },\n  { 0x1a00, 0x0bf6, 0x0000 },\n  { 0x8700, 0x0c06, 0x4000 },\n  { 0x8a00, 0x0c01, 0x3000 },\n  { 0x9700, 0x0bf9, 0x2000 },\n  { 0x1a00, 0x0bf8, 0x0000 },\n  { 0x1a00, 0x0bfa, 0x0000 },\n  { 0x8a00, 0x0c03, 0x2000 },\n  { 0x0a00, 0x0c02, 0x0000 },\n  { 0x0700, 0x0c05, 0x0000 },\n  { 0x8700, 0x0c0a, 0x3000 },\n  { 0x8700, 0x0c08, 0x2000 },\n  { 0x0700, 0x0c07, 0x0000 },\n  { 0x0700, 0x0c09, 0x0000 },\n  { 0x8700, 0x0c0c, 0x2000 },\n  { 0x0700, 0x0c0b, 0x0000 },\n  { 0x0700, 0x0c0e, 0x0000 },\n  { 0x8700, 0x0c20, 0x5000 },\n  { 0x8700, 0x0c18, 0x4000 },\n  { 0x8700, 0x0c14, 0x3000 },\n  { 0x8700, 0x0c12, 0x2000 },\n  { 0x0700, 0x0c10, 0x0000 },\n  { 0x0700, 0x0c13, 0x0000 },\n  { 0x8700, 0x0c16, 0x2000 },\n  { 0x0700, 0x0c15, 0x0000 },\n  { 0x0700, 0x0c17, 0x0000 },\n  { 0x8700, 0x0c1c, 0x3000 },\n  { 0x8700, 0x0c1a, 0x2000 },\n  { 0x0700, 0x0c19, 0x0000 },\n  { 0x0700, 0x0c1b, 0x0000 },\n  { 0x8700, 0x0c1e, 0x2000 },\n  { 0x0700, 0x0c1d, 0x0000 },\n  { 0x0700, 0x0c1f, 0x0000 },\n  { 0x8700, 0x0c28, 0x4000 },\n  { 0x8700, 0x0c24, 0x3000 },\n  { 0x8700, 0x0c22, 0x2000 },\n  { 0x0700, 0x0c21, 0x0000 },\n  { 0x0700, 0x0c23, 0x0000 },\n  { 0x8700, 0x0c26, 0x2000 },\n  { 0x0700, 0x0c25, 0x0000 },\n  { 0x0700, 0x0c27, 0x0000 },\n  { 0x8700, 0x0c2d, 0x3000 },\n  { 0x8700, 0x0c2b, 0x2000 },\n  { 0x0700, 0x0c2a, 0x0000 },\n  { 0x0700, 0x0c2c, 0x0000 },\n  { 0x8700, 0x0c2f, 0x2000 },\n  { 0x0700, 0x0c2e, 0x0000 },\n  { 0x0700, 0x0c30, 0x0000 },\n  { 0x8700, 0x0d0e, 0x8000 },\n  { 0x8700, 0x0ca1, 0x7000 },\n  { 0x8d00, 0x0c6c, 0x6000 },\n  { 0x8c00, 0x0c47, 0x5000 },\n  { 0x8c00, 0x0c3e, 0x4000 },\n  { 0x8700, 0x0c36, 0x3000 },\n  { 0x8700, 0x0c33, 0x2000 },\n  { 0x0700, 0x0c32, 0x0000 },\n  { 0x0700, 0x0c35, 0x0000 },\n  { 0x8700, 0x0c38, 0x2000 },\n  { 0x0700, 0x0c37, 0x0000 },\n  { 0x0700, 0x0c39, 0x0000 },\n  { 0x8a00, 0x0c42, 0x3000 },\n  { 0x8c00, 0x0c40, 0x2000 },\n  { 0x0c00, 0x0c3f, 0x0000 },\n  { 0x0a00, 0x0c41, 0x0000 },\n  { 0x8a00, 0x0c44, 0x2000 },\n  { 0x0a00, 0x0c43, 0x0000 },\n  { 0x0c00, 0x0c46, 0x0000 },\n  { 0x8700, 0x0c60, 0x4000 },\n  { 0x8c00, 0x0c4c, 0x3000 },\n  { 0x8c00, 0x0c4a, 0x2000 },\n  { 0x0c00, 0x0c48, 0x0000 },\n  { 0x0c00, 0x0c4b, 0x0000 },\n  { 0x8c00, 0x0c55, 0x2000 },\n  { 0x0c00, 0x0c4d, 0x0000 },\n  { 0x0c00, 0x0c56, 0x0000 },\n  { 0x8d00, 0x0c68, 0x3000 },\n  { 0x8d00, 0x0c66, 0x2000 },\n  { 0x0700, 0x0c61, 0x0000 },\n  { 0x0d00, 0x0c67, 0x0000 },\n  { 0x8d00, 0x0c6a, 0x2000 },\n  { 0x0d00, 0x0c69, 0x0000 },\n  { 0x0d00, 0x0c6b, 0x0000 },\n  { 0x8700, 0x0c90, 0x5000 },\n  { 0x8700, 0x0c87, 0x4000 },\n  { 0x8a00, 0x0c82, 0x3000 },\n  { 0x8d00, 0x0c6e, 0x2000 },\n  { 0x0d00, 0x0c6d, 0x0000 },\n  { 0x0d00, 0x0c6f, 0x0000 },\n  { 0x8700, 0x0c85, 0x2000 },\n  { 0x0a00, 0x0c83, 0x0000 },\n  { 0x0700, 0x0c86, 0x0000 },\n  { 0x8700, 0x0c8b, 0x3000 },\n  { 0x8700, 0x0c89, 0x2000 },\n  { 0x0700, 0x0c88, 0x0000 },\n  { 0x0700, 0x0c8a, 0x0000 },\n  { 0x8700, 0x0c8e, 0x2000 },\n  { 0x0700, 0x0c8c, 0x0000 },\n  { 0x0700, 0x0c8f, 0x0000 },\n  { 0x8700, 0x0c99, 0x4000 },\n  { 0x8700, 0x0c95, 0x3000 },\n  { 0x8700, 0x0c93, 0x2000 },\n  { 0x0700, 0x0c92, 0x0000 },\n  { 0x0700, 0x0c94, 0x0000 },\n  { 0x8700, 0x0c97, 0x2000 },\n  { 0x0700, 0x0c96, 0x0000 },\n  { 0x0700, 0x0c98, 0x0000 },\n  { 0x8700, 0x0c9d, 0x3000 },\n  { 0x8700, 0x0c9b, 0x2000 },\n  { 0x0700, 0x0c9a, 0x0000 },\n  { 0x0700, 0x0c9c, 0x0000 },\n  { 0x8700, 0x0c9f, 0x2000 },\n  { 0x0700, 0x0c9e, 0x0000 },\n  { 0x0700, 0x0ca0, 0x0000 },\n  { 0x8c00, 0x0cc6, 0x6000 },\n  { 0x8700, 0x0cb2, 0x5000 },\n  { 0x8700, 0x0caa, 0x4000 },\n  { 0x8700, 0x0ca5, 0x3000 },\n  { 0x8700, 0x0ca3, 0x2000 },\n  { 0x0700, 0x0ca2, 0x0000 },\n  { 0x0700, 0x0ca4, 0x0000 },\n  { 0x8700, 0x0ca7, 0x2000 },\n  { 0x0700, 0x0ca6, 0x0000 },\n  { 0x0700, 0x0ca8, 0x0000 },\n  { 0x8700, 0x0cae, 0x3000 },\n  { 0x8700, 0x0cac, 0x2000 },\n  { 0x0700, 0x0cab, 0x0000 },\n  { 0x0700, 0x0cad, 0x0000 },\n  { 0x8700, 0x0cb0, 0x2000 },\n  { 0x0700, 0x0caf, 0x0000 },\n  { 0x0700, 0x0cb1, 0x0000 },\n  { 0x8700, 0x0cbd, 0x4000 },\n  { 0x8700, 0x0cb7, 0x3000 },\n  { 0x8700, 0x0cb5, 0x2000 },\n  { 0x0700, 0x0cb3, 0x0000 },\n  { 0x0700, 0x0cb6, 0x0000 },\n  { 0x8700, 0x0cb9, 0x2000 },\n  { 0x0700, 0x0cb8, 0x0000 },\n  { 0x0c00, 0x0cbc, 0x0000 },\n  { 0x8a00, 0x0cc1, 0x3000 },\n  { 0x8c00, 0x0cbf, 0x2000 },\n  { 0x0a00, 0x0cbe, 0x0000 },\n  { 0x0a00, 0x0cc0, 0x0000 },\n  { 0x8a00, 0x0cc3, 0x2000 },\n  { 0x0a00, 0x0cc2, 0x0000 },\n  { 0x0a00, 0x0cc4, 0x0000 },\n  { 0x8d00, 0x0cea, 0x5000 },\n  { 0x8a00, 0x0cd6, 0x4000 },\n  { 0x8a00, 0x0ccb, 0x3000 },\n  { 0x8a00, 0x0cc8, 0x2000 },\n  { 0x0a00, 0x0cc7, 0x0000 },\n  { 0x0a00, 0x0cca, 0x0000 },\n  { 0x8c00, 0x0ccd, 0x2000 },\n  { 0x0c00, 0x0ccc, 0x0000 },\n  { 0x0a00, 0x0cd5, 0x0000 },\n  { 0x8d00, 0x0ce6, 0x3000 },\n  { 0x8700, 0x0ce0, 0x2000 },\n  { 0x0700, 0x0cde, 0x0000 },\n  { 0x0700, 0x0ce1, 0x0000 },\n  { 0x8d00, 0x0ce8, 0x2000 },\n  { 0x0d00, 0x0ce7, 0x0000 },\n  { 0x0d00, 0x0ce9, 0x0000 },\n  { 0x8700, 0x0d05, 0x4000 },\n  { 0x8d00, 0x0cee, 0x3000 },\n  { 0x8d00, 0x0cec, 0x2000 },\n  { 0x0d00, 0x0ceb, 0x0000 },\n  { 0x0d00, 0x0ced, 0x0000 },\n  { 0x8a00, 0x0d02, 0x2000 },\n  { 0x0d00, 0x0cef, 0x0000 },\n  { 0x0a00, 0x0d03, 0x0000 },\n  { 0x8700, 0x0d09, 0x3000 },\n  { 0x8700, 0x0d07, 0x2000 },\n  { 0x0700, 0x0d06, 0x0000 },\n  { 0x0700, 0x0d08, 0x0000 },\n  { 0x8700, 0x0d0b, 0x2000 },\n  { 0x0700, 0x0d0a, 0x0000 },\n  { 0x0700, 0x0d0c, 0x0000 },\n  { 0x8d00, 0x0d6c, 0x7000 },\n  { 0x8700, 0x0d30, 0x6000 },\n  { 0x8700, 0x0d1f, 0x5000 },\n  { 0x8700, 0x0d17, 0x4000 },\n  { 0x8700, 0x0d13, 0x3000 },\n  { 0x8700, 0x0d10, 0x2000 },\n  { 0x0700, 0x0d0f, 0x0000 },\n  { 0x0700, 0x0d12, 0x0000 },\n  { 0x8700, 0x0d15, 0x2000 },\n  { 0x0700, 0x0d14, 0x0000 },\n  { 0x0700, 0x0d16, 0x0000 },\n  { 0x8700, 0x0d1b, 0x3000 },\n  { 0x8700, 0x0d19, 0x2000 },\n  { 0x0700, 0x0d18, 0x0000 },\n  { 0x0700, 0x0d1a, 0x0000 },\n  { 0x8700, 0x0d1d, 0x2000 },\n  { 0x0700, 0x0d1c, 0x0000 },\n  { 0x0700, 0x0d1e, 0x0000 },\n  { 0x8700, 0x0d27, 0x4000 },\n  { 0x8700, 0x0d23, 0x3000 },\n  { 0x8700, 0x0d21, 0x2000 },\n  { 0x0700, 0x0d20, 0x0000 },\n  { 0x0700, 0x0d22, 0x0000 },\n  { 0x8700, 0x0d25, 0x2000 },\n  { 0x0700, 0x0d24, 0x0000 },\n  { 0x0700, 0x0d26, 0x0000 },\n  { 0x8700, 0x0d2c, 0x3000 },\n  { 0x8700, 0x0d2a, 0x2000 },\n  { 0x0700, 0x0d28, 0x0000 },\n  { 0x0700, 0x0d2b, 0x0000 },\n  { 0x8700, 0x0d2e, 0x2000 },\n  { 0x0700, 0x0d2d, 0x0000 },\n  { 0x0700, 0x0d2f, 0x0000 },\n  { 0x8a00, 0x0d46, 0x5000 },\n  { 0x8700, 0x0d38, 0x4000 },\n  { 0x8700, 0x0d34, 0x3000 },\n  { 0x8700, 0x0d32, 0x2000 },\n  { 0x0700, 0x0d31, 0x0000 },\n  { 0x0700, 0x0d33, 0x0000 },\n  { 0x8700, 0x0d36, 0x2000 },\n  { 0x0700, 0x0d35, 0x0000 },\n  { 0x0700, 0x0d37, 0x0000 },\n  { 0x8a00, 0x0d40, 0x3000 },\n  { 0x8a00, 0x0d3e, 0x2000 },\n  { 0x0700, 0x0d39, 0x0000 },\n  { 0x0a00, 0x0d3f, 0x0000 },\n  { 0x8c00, 0x0d42, 0x2000 },\n  { 0x0c00, 0x0d41, 0x0000 },\n  { 0x0c00, 0x0d43, 0x0000 },\n  { 0x8700, 0x0d60, 0x4000 },\n  { 0x8a00, 0x0d4b, 0x3000 },\n  { 0x8a00, 0x0d48, 0x2000 },\n  { 0x0a00, 0x0d47, 0x0000 },\n  { 0x0a00, 0x0d4a, 0x0000 },\n  { 0x8c00, 0x0d4d, 0x2000 },\n  { 0x0a00, 0x0d4c, 0x0000 },\n  { 0x0a00, 0x0d57, 0x0000 },\n  { 0x8d00, 0x0d68, 0x3000 },\n  { 0x8d00, 0x0d66, 0x2000 },\n  { 0x0700, 0x0d61, 0x0000 },\n  { 0x0d00, 0x0d67, 0x0000 },\n  { 0x8d00, 0x0d6a, 0x2000 },\n  { 0x0d00, 0x0d69, 0x0000 },\n  { 0x0d00, 0x0d6b, 0x0000 },\n  { 0x8700, 0x0da2, 0x6000 },\n  { 0x8700, 0x0d8f, 0x5000 },\n  { 0x8700, 0x0d87, 0x4000 },\n  { 0x8a00, 0x0d82, 0x3000 },\n  { 0x8d00, 0x0d6e, 0x2000 },\n  { 0x0d00, 0x0d6d, 0x0000 },\n  { 0x0d00, 0x0d6f, 0x0000 },\n  { 0x8700, 0x0d85, 0x2000 },\n  { 0x0a00, 0x0d83, 0x0000 },\n  { 0x0700, 0x0d86, 0x0000 },\n  { 0x8700, 0x0d8b, 0x3000 },\n  { 0x8700, 0x0d89, 0x2000 },\n  { 0x0700, 0x0d88, 0x0000 },\n  { 0x0700, 0x0d8a, 0x0000 },\n  { 0x8700, 0x0d8d, 0x2000 },\n  { 0x0700, 0x0d8c, 0x0000 },\n  { 0x0700, 0x0d8e, 0x0000 },\n  { 0x8700, 0x0d9a, 0x4000 },\n  { 0x8700, 0x0d93, 0x3000 },\n  { 0x8700, 0x0d91, 0x2000 },\n  { 0x0700, 0x0d90, 0x0000 },\n  { 0x0700, 0x0d92, 0x0000 },\n  { 0x8700, 0x0d95, 0x2000 },\n  { 0x0700, 0x0d94, 0x0000 },\n  { 0x0700, 0x0d96, 0x0000 },\n  { 0x8700, 0x0d9e, 0x3000 },\n  { 0x8700, 0x0d9c, 0x2000 },\n  { 0x0700, 0x0d9b, 0x0000 },\n  { 0x0700, 0x0d9d, 0x0000 },\n  { 0x8700, 0x0da0, 0x2000 },\n  { 0x0700, 0x0d9f, 0x0000 },\n  { 0x0700, 0x0da1, 0x0000 },\n  { 0x8700, 0x0db3, 0x5000 },\n  { 0x8700, 0x0daa, 0x4000 },\n  { 0x8700, 0x0da6, 0x3000 },\n  { 0x8700, 0x0da4, 0x2000 },\n  { 0x0700, 0x0da3, 0x0000 },\n  { 0x0700, 0x0da5, 0x0000 },\n  { 0x8700, 0x0da8, 0x2000 },\n  { 0x0700, 0x0da7, 0x0000 },\n  { 0x0700, 0x0da9, 0x0000 },\n  { 0x8700, 0x0dae, 0x3000 },\n  { 0x8700, 0x0dac, 0x2000 },\n  { 0x0700, 0x0dab, 0x0000 },\n  { 0x0700, 0x0dad, 0x0000 },\n  { 0x8700, 0x0db0, 0x2000 },\n  { 0x0700, 0x0daf, 0x0000 },\n  { 0x0700, 0x0db1, 0x0000 },\n  { 0x8700, 0x0dbb, 0x4000 },\n  { 0x8700, 0x0db7, 0x3000 },\n  { 0x8700, 0x0db5, 0x2000 },\n  { 0x0700, 0x0db4, 0x0000 },\n  { 0x0700, 0x0db6, 0x0000 },\n  { 0x8700, 0x0db9, 0x2000 },\n  { 0x0700, 0x0db8, 0x0000 },\n  { 0x0700, 0x0dba, 0x0000 },\n  { 0x8700, 0x0dc2, 0x3000 },\n  { 0x8700, 0x0dc0, 0x2000 },\n  { 0x0700, 0x0dbd, 0x0000 },\n  { 0x0700, 0x0dc1, 0x0000 },\n  { 0x8700, 0x0dc4, 0x2000 },\n  { 0x0700, 0x0dc3, 0x0000 },\n  { 0x0700, 0x0dc5, 0x0000 },\n  { 0x8700, 0x0f55, 0x9000 },\n  { 0x8700, 0x0ea5, 0x8000 },\n  { 0x8700, 0x0e2d, 0x7000 },\n  { 0x8700, 0x0e0d, 0x6000 },\n  { 0x8a00, 0x0ddf, 0x5000 },\n  { 0x8c00, 0x0dd6, 0x4000 },\n  { 0x8a00, 0x0dd1, 0x3000 },\n  { 0x8a00, 0x0dcf, 0x2000 },\n  { 0x0c00, 0x0dca, 0x0000 },\n  { 0x0a00, 0x0dd0, 0x0000 },\n  { 0x8c00, 0x0dd3, 0x2000 },\n  { 0x0c00, 0x0dd2, 0x0000 },\n  { 0x0c00, 0x0dd4, 0x0000 },\n  { 0x8a00, 0x0ddb, 0x3000 },\n  { 0x8a00, 0x0dd9, 0x2000 },\n  { 0x0a00, 0x0dd8, 0x0000 },\n  { 0x0a00, 0x0dda, 0x0000 },\n  { 0x8a00, 0x0ddd, 0x2000 },\n  { 0x0a00, 0x0ddc, 0x0000 },\n  { 0x0a00, 0x0dde, 0x0000 },\n  { 0x8700, 0x0e05, 0x4000 },\n  { 0x8700, 0x0e01, 0x3000 },\n  { 0x8a00, 0x0df3, 0x2000 },\n  { 0x0a00, 0x0df2, 0x0000 },\n  { 0x1500, 0x0df4, 0x0000 },\n  { 0x8700, 0x0e03, 0x2000 },\n  { 0x0700, 0x0e02, 0x0000 },\n  { 0x0700, 0x0e04, 0x0000 },\n  { 0x8700, 0x0e09, 0x3000 },\n  { 0x8700, 0x0e07, 0x2000 },\n  { 0x0700, 0x0e06, 0x0000 },\n  { 0x0700, 0x0e08, 0x0000 },\n  { 0x8700, 0x0e0b, 0x2000 },\n  { 0x0700, 0x0e0a, 0x0000 },\n  { 0x0700, 0x0e0c, 0x0000 },\n  { 0x8700, 0x0e1d, 0x5000 },\n  { 0x8700, 0x0e15, 0x4000 },\n  { 0x8700, 0x0e11, 0x3000 },\n  { 0x8700, 0x0e0f, 0x2000 },\n  { 0x0700, 0x0e0e, 0x0000 },\n  { 0x0700, 0x0e10, 0x0000 },\n  { 0x8700, 0x0e13, 0x2000 },\n  { 0x0700, 0x0e12, 0x0000 },\n  { 0x0700, 0x0e14, 0x0000 },\n  { 0x8700, 0x0e19, 0x3000 },\n  { 0x8700, 0x0e17, 0x2000 },\n  { 0x0700, 0x0e16, 0x0000 },\n  { 0x0700, 0x0e18, 0x0000 },\n  { 0x8700, 0x0e1b, 0x2000 },\n  { 0x0700, 0x0e1a, 0x0000 },\n  { 0x0700, 0x0e1c, 0x0000 },\n  { 0x8700, 0x0e25, 0x4000 },\n  { 0x8700, 0x0e21, 0x3000 },\n  { 0x8700, 0x0e1f, 0x2000 },\n  { 0x0700, 0x0e1e, 0x0000 },\n  { 0x0700, 0x0e20, 0x0000 },\n  { 0x8700, 0x0e23, 0x2000 },\n  { 0x0700, 0x0e22, 0x0000 },\n  { 0x0700, 0x0e24, 0x0000 },\n  { 0x8700, 0x0e29, 0x3000 },\n  { 0x8700, 0x0e27, 0x2000 },\n  { 0x0700, 0x0e26, 0x0000 },\n  { 0x0700, 0x0e28, 0x0000 },\n  { 0x8700, 0x0e2b, 0x2000 },\n  { 0x0700, 0x0e2a, 0x0000 },\n  { 0x0700, 0x0e2c, 0x0000 },\n  { 0x8d00, 0x0e51, 0x6000 },\n  { 0x8700, 0x0e41, 0x5000 },\n  { 0x8c00, 0x0e35, 0x4000 },\n  { 0x8c00, 0x0e31, 0x3000 },\n  { 0x8700, 0x0e2f, 0x2000 },\n  { 0x0700, 0x0e2e, 0x0000 },\n  { 0x0700, 0x0e30, 0x0000 },\n  { 0x8700, 0x0e33, 0x2000 },\n  { 0x0700, 0x0e32, 0x0000 },\n  { 0x0c00, 0x0e34, 0x0000 },\n  { 0x8c00, 0x0e39, 0x3000 },\n  { 0x8c00, 0x0e37, 0x2000 },\n  { 0x0c00, 0x0e36, 0x0000 },\n  { 0x0c00, 0x0e38, 0x0000 },\n  { 0x9700, 0x0e3f, 0x2000 },\n  { 0x0c00, 0x0e3a, 0x0000 },\n  { 0x0700, 0x0e40, 0x0000 },\n  { 0x8c00, 0x0e49, 0x4000 },\n  { 0x8700, 0x0e45, 0x3000 },\n  { 0x8700, 0x0e43, 0x2000 },\n  { 0x0700, 0x0e42, 0x0000 },\n  { 0x0700, 0x0e44, 0x0000 },\n  { 0x8c00, 0x0e47, 0x2000 },\n  { 0x0600, 0x0e46, 0x0000 },\n  { 0x0c00, 0x0e48, 0x0000 },\n  { 0x8c00, 0x0e4d, 0x3000 },\n  { 0x8c00, 0x0e4b, 0x2000 },\n  { 0x0c00, 0x0e4a, 0x0000 },\n  { 0x0c00, 0x0e4c, 0x0000 },\n  { 0x9500, 0x0e4f, 0x2000 },\n  { 0x0c00, 0x0e4e, 0x0000 },\n  { 0x0d00, 0x0e50, 0x0000 },\n  { 0x8700, 0x0e8a, 0x5000 },\n  { 0x8d00, 0x0e59, 0x4000 },\n  { 0x8d00, 0x0e55, 0x3000 },\n  { 0x8d00, 0x0e53, 0x2000 },\n  { 0x0d00, 0x0e52, 0x0000 },\n  { 0x0d00, 0x0e54, 0x0000 },\n  { 0x8d00, 0x0e57, 0x2000 },\n  { 0x0d00, 0x0e56, 0x0000 },\n  { 0x0d00, 0x0e58, 0x0000 },\n  { 0x8700, 0x0e82, 0x3000 },\n  { 0x9500, 0x0e5b, 0x2000 },\n  { 0x1500, 0x0e5a, 0x0000 },\n  { 0x0700, 0x0e81, 0x0000 },\n  { 0x8700, 0x0e87, 0x2000 },\n  { 0x0700, 0x0e84, 0x0000 },\n  { 0x0700, 0x0e88, 0x0000 },\n  { 0x8700, 0x0e9b, 0x4000 },\n  { 0x8700, 0x0e96, 0x3000 },\n  { 0x8700, 0x0e94, 0x2000 },\n  { 0x0700, 0x0e8d, 0x0000 },\n  { 0x0700, 0x0e95, 0x0000 },\n  { 0x8700, 0x0e99, 0x2000 },\n  { 0x0700, 0x0e97, 0x0000 },\n  { 0x0700, 0x0e9a, 0x0000 },\n  { 0x8700, 0x0e9f, 0x3000 },\n  { 0x8700, 0x0e9d, 0x2000 },\n  { 0x0700, 0x0e9c, 0x0000 },\n  { 0x0700, 0x0e9e, 0x0000 },\n  { 0x8700, 0x0ea2, 0x2000 },\n  { 0x0700, 0x0ea1, 0x0000 },\n  { 0x0700, 0x0ea3, 0x0000 },\n  { 0x9a00, 0x0f14, 0x7000 },\n  { 0x8d00, 0x0ed0, 0x6000 },\n  { 0x8c00, 0x0eb9, 0x5000 },\n  { 0x8c00, 0x0eb1, 0x4000 },\n  { 0x8700, 0x0ead, 0x3000 },\n  { 0x8700, 0x0eaa, 0x2000 },\n  { 0x0700, 0x0ea7, 0x0000 },\n  { 0x0700, 0x0eab, 0x0000 },\n  { 0x8700, 0x0eaf, 0x2000 },\n  { 0x0700, 0x0eae, 0x0000 },\n  { 0x0700, 0x0eb0, 0x0000 },\n  { 0x8c00, 0x0eb5, 0x3000 },\n  { 0x8700, 0x0eb3, 0x2000 },\n  { 0x0700, 0x0eb2, 0x0000 },\n  { 0x0c00, 0x0eb4, 0x0000 },\n  { 0x8c00, 0x0eb7, 0x2000 },\n  { 0x0c00, 0x0eb6, 0x0000 },\n  { 0x0c00, 0x0eb8, 0x0000 },\n  { 0x8700, 0x0ec4, 0x4000 },\n  { 0x8700, 0x0ec0, 0x3000 },\n  { 0x8c00, 0x0ebc, 0x2000 },\n  { 0x0c00, 0x0ebb, 0x0000 },\n  { 0x0700, 0x0ebd, 0x0000 },\n  { 0x8700, 0x0ec2, 0x2000 },\n  { 0x0700, 0x0ec1, 0x0000 },\n  { 0x0700, 0x0ec3, 0x0000 },\n  { 0x8c00, 0x0eca, 0x3000 },\n  { 0x8c00, 0x0ec8, 0x2000 },\n  { 0x0600, 0x0ec6, 0x0000 },\n  { 0x0c00, 0x0ec9, 0x0000 },\n  { 0x8c00, 0x0ecc, 0x2000 },\n  { 0x0c00, 0x0ecb, 0x0000 },\n  { 0x0c00, 0x0ecd, 0x0000 },\n  { 0x9500, 0x0f04, 0x5000 },\n  { 0x8d00, 0x0ed8, 0x4000 },\n  { 0x8d00, 0x0ed4, 0x3000 },\n  { 0x8d00, 0x0ed2, 0x2000 },\n  { 0x0d00, 0x0ed1, 0x0000 },\n  { 0x0d00, 0x0ed3, 0x0000 },\n  { 0x8d00, 0x0ed6, 0x2000 },\n  { 0x0d00, 0x0ed5, 0x0000 },\n  { 0x0d00, 0x0ed7, 0x0000 },\n  { 0x8700, 0x0f00, 0x3000 },\n  { 0x8700, 0x0edc, 0x2000 },\n  { 0x0d00, 0x0ed9, 0x0000 },\n  { 0x0700, 0x0edd, 0x0000 },\n  { 0x9a00, 0x0f02, 0x2000 },\n  { 0x1a00, 0x0f01, 0x0000 },\n  { 0x1a00, 0x0f03, 0x0000 },\n  { 0x9500, 0x0f0c, 0x4000 },\n  { 0x9500, 0x0f08, 0x3000 },\n  { 0x9500, 0x0f06, 0x2000 },\n  { 0x1500, 0x0f05, 0x0000 },\n  { 0x1500, 0x0f07, 0x0000 },\n  { 0x9500, 0x0f0a, 0x2000 },\n  { 0x1500, 0x0f09, 0x0000 },\n  { 0x1500, 0x0f0b, 0x0000 },\n  { 0x9500, 0x0f10, 0x3000 },\n  { 0x9500, 0x0f0e, 0x2000 },\n  { 0x1500, 0x0f0d, 0x0000 },\n  { 0x1500, 0x0f0f, 0x0000 },\n  { 0x9500, 0x0f12, 0x2000 },\n  { 0x1500, 0x0f11, 0x0000 },\n  { 0x1a00, 0x0f13, 0x0000 },\n  { 0x9a00, 0x0f34, 0x6000 },\n  { 0x8d00, 0x0f24, 0x5000 },\n  { 0x9a00, 0x0f1c, 0x4000 },\n  { 0x8c00, 0x0f18, 0x3000 },\n  { 0x9a00, 0x0f16, 0x2000 },\n  { 0x1a00, 0x0f15, 0x0000 },\n  { 0x1a00, 0x0f17, 0x0000 },\n  { 0x9a00, 0x0f1a, 0x2000 },\n  { 0x0c00, 0x0f19, 0x0000 },\n  { 0x1a00, 0x0f1b, 0x0000 },\n  { 0x8d00, 0x0f20, 0x3000 },\n  { 0x9a00, 0x0f1e, 0x2000 },\n  { 0x1a00, 0x0f1d, 0x0000 },\n  { 0x1a00, 0x0f1f, 0x0000 },\n  { 0x8d00, 0x0f22, 0x2000 },\n  { 0x0d00, 0x0f21, 0x0000 },\n  { 0x0d00, 0x0f23, 0x0000 },\n  { 0x8f00, 0x0f2c, 0x4000 },\n  { 0x8d00, 0x0f28, 0x3000 },\n  { 0x8d00, 0x0f26, 0x2000 },\n  { 0x0d00, 0x0f25, 0x0000 },\n  { 0x0d00, 0x0f27, 0x0000 },\n  { 0x8f00, 0x0f2a, 0x2000 },\n  { 0x0d00, 0x0f29, 0x0000 },\n  { 0x0f00, 0x0f2b, 0x0000 },\n  { 0x8f00, 0x0f30, 0x3000 },\n  { 0x8f00, 0x0f2e, 0x2000 },\n  { 0x0f00, 0x0f2d, 0x0000 },\n  { 0x0f00, 0x0f2f, 0x0000 },\n  { 0x8f00, 0x0f32, 0x2000 },\n  { 0x0f00, 0x0f31, 0x0000 },\n  { 0x0f00, 0x0f33, 0x0000 },\n  { 0x8700, 0x0f44, 0x5000 },\n  { 0x9600, 0x0f3c, 0x4000 },\n  { 0x9a00, 0x0f38, 0x3000 },\n  { 0x9a00, 0x0f36, 0x2000 },\n  { 0x0c00, 0x0f35, 0x0000 },\n  { 0x0c00, 0x0f37, 0x0000 },\n  { 0x9600, 0x0f3a, 0x2000 },\n  { 0x0c00, 0x0f39, 0x0000 },\n  { 0x1200, 0x0f3b, 0x0000 },\n  { 0x8700, 0x0f40, 0x3000 },\n  { 0x8a00, 0x0f3e, 0x2000 },\n  { 0x1200, 0x0f3d, 0x0000 },\n  { 0x0a00, 0x0f3f, 0x0000 },\n  { 0x8700, 0x0f42, 0x2000 },\n  { 0x0700, 0x0f41, 0x0000 },\n  { 0x0700, 0x0f43, 0x0000 },\n  { 0x8700, 0x0f4d, 0x4000 },\n  { 0x8700, 0x0f49, 0x3000 },\n  { 0x8700, 0x0f46, 0x2000 },\n  { 0x0700, 0x0f45, 0x0000 },\n  { 0x0700, 0x0f47, 0x0000 },\n  { 0x8700, 0x0f4b, 0x2000 },\n  { 0x0700, 0x0f4a, 0x0000 },\n  { 0x0700, 0x0f4c, 0x0000 },\n  { 0x8700, 0x0f51, 0x3000 },\n  { 0x8700, 0x0f4f, 0x2000 },\n  { 0x0700, 0x0f4e, 0x0000 },\n  { 0x0700, 0x0f50, 0x0000 },\n  { 0x8700, 0x0f53, 0x2000 },\n  { 0x0700, 0x0f52, 0x0000 },\n  { 0x0700, 0x0f54, 0x0000 },\n  { 0x8700, 0x1013, 0x8000 },\n  { 0x8c00, 0x0fa0, 0x7000 },\n  { 0x8c00, 0x0f7b, 0x6000 },\n  { 0x8700, 0x0f65, 0x5000 },\n  { 0x8700, 0x0f5d, 0x4000 },\n  { 0x8700, 0x0f59, 0x3000 },\n  { 0x8700, 0x0f57, 0x2000 },\n  { 0x0700, 0x0f56, 0x0000 },\n  { 0x0700, 0x0f58, 0x0000 },\n  { 0x8700, 0x0f5b, 0x2000 },\n  { 0x0700, 0x0f5a, 0x0000 },\n  { 0x0700, 0x0f5c, 0x0000 },\n  { 0x8700, 0x0f61, 0x3000 },\n  { 0x8700, 0x0f5f, 0x2000 },\n  { 0x0700, 0x0f5e, 0x0000 },\n  { 0x0700, 0x0f60, 0x0000 },\n  { 0x8700, 0x0f63, 0x2000 },\n  { 0x0700, 0x0f62, 0x0000 },\n  { 0x0700, 0x0f64, 0x0000 },\n  { 0x8c00, 0x0f73, 0x4000 },\n  { 0x8700, 0x0f69, 0x3000 },\n  { 0x8700, 0x0f67, 0x2000 },\n  { 0x0700, 0x0f66, 0x0000 },\n  { 0x0700, 0x0f68, 0x0000 },\n  { 0x8c00, 0x0f71, 0x2000 },\n  { 0x0700, 0x0f6a, 0x0000 },\n  { 0x0c00, 0x0f72, 0x0000 },\n  { 0x8c00, 0x0f77, 0x3000 },\n  { 0x8c00, 0x0f75, 0x2000 },\n  { 0x0c00, 0x0f74, 0x0000 },\n  { 0x0c00, 0x0f76, 0x0000 },\n  { 0x8c00, 0x0f79, 0x2000 },\n  { 0x0c00, 0x0f78, 0x0000 },\n  { 0x0c00, 0x0f7a, 0x0000 },\n  { 0x8700, 0x0f8b, 0x5000 },\n  { 0x8c00, 0x0f83, 0x4000 },\n  { 0x8a00, 0x0f7f, 0x3000 },\n  { 0x8c00, 0x0f7d, 0x2000 },\n  { 0x0c00, 0x0f7c, 0x0000 },\n  { 0x0c00, 0x0f7e, 0x0000 },\n  { 0x8c00, 0x0f81, 0x2000 },\n  { 0x0c00, 0x0f80, 0x0000 },\n  { 0x0c00, 0x0f82, 0x0000 },\n  { 0x8c00, 0x0f87, 0x3000 },\n  { 0x9500, 0x0f85, 0x2000 },\n  { 0x0c00, 0x0f84, 0x0000 },\n  { 0x0c00, 0x0f86, 0x0000 },\n  { 0x8700, 0x0f89, 0x2000 },\n  { 0x0700, 0x0f88, 0x0000 },\n  { 0x0700, 0x0f8a, 0x0000 },\n  { 0x8c00, 0x0f97, 0x4000 },\n  { 0x8c00, 0x0f93, 0x3000 },\n  { 0x8c00, 0x0f91, 0x2000 },\n  { 0x0c00, 0x0f90, 0x0000 },\n  { 0x0c00, 0x0f92, 0x0000 },\n  { 0x8c00, 0x0f95, 0x2000 },\n  { 0x0c00, 0x0f94, 0x0000 },\n  { 0x0c00, 0x0f96, 0x0000 },\n  { 0x8c00, 0x0f9c, 0x3000 },\n  { 0x8c00, 0x0f9a, 0x2000 },\n  { 0x0c00, 0x0f99, 0x0000 },\n  { 0x0c00, 0x0f9b, 0x0000 },\n  { 0x8c00, 0x0f9e, 0x2000 },\n  { 0x0c00, 0x0f9d, 0x0000 },\n  { 0x0c00, 0x0f9f, 0x0000 },\n  { 0x9a00, 0x0fc1, 0x6000 },\n  { 0x8c00, 0x0fb0, 0x5000 },\n  { 0x8c00, 0x0fa8, 0x4000 },\n  { 0x8c00, 0x0fa4, 0x3000 },\n  { 0x8c00, 0x0fa2, 0x2000 },\n  { 0x0c00, 0x0fa1, 0x0000 },\n  { 0x0c00, 0x0fa3, 0x0000 },\n  { 0x8c00, 0x0fa6, 0x2000 },\n  { 0x0c00, 0x0fa5, 0x0000 },\n  { 0x0c00, 0x0fa7, 0x0000 },\n  { 0x8c00, 0x0fac, 0x3000 },\n  { 0x8c00, 0x0faa, 0x2000 },\n  { 0x0c00, 0x0fa9, 0x0000 },\n  { 0x0c00, 0x0fab, 0x0000 },\n  { 0x8c00, 0x0fae, 0x2000 },\n  { 0x0c00, 0x0fad, 0x0000 },\n  { 0x0c00, 0x0faf, 0x0000 },\n  { 0x8c00, 0x0fb8, 0x4000 },\n  { 0x8c00, 0x0fb4, 0x3000 },\n  { 0x8c00, 0x0fb2, 0x2000 },\n  { 0x0c00, 0x0fb1, 0x0000 },\n  { 0x0c00, 0x0fb3, 0x0000 },\n  { 0x8c00, 0x0fb6, 0x2000 },\n  { 0x0c00, 0x0fb5, 0x0000 },\n  { 0x0c00, 0x0fb7, 0x0000 },\n  { 0x8c00, 0x0fbc, 0x3000 },\n  { 0x8c00, 0x0fba, 0x2000 },\n  { 0x0c00, 0x0fb9, 0x0000 },\n  { 0x0c00, 0x0fbb, 0x0000 },\n  { 0x9a00, 0x0fbf, 0x2000 },\n  { 0x1a00, 0x0fbe, 0x0000 },\n  { 0x1a00, 0x0fc0, 0x0000 },\n  { 0x8700, 0x1003, 0x5000 },\n  { 0x9a00, 0x0fc9, 0x4000 },\n  { 0x9a00, 0x0fc5, 0x3000 },\n  { 0x9a00, 0x0fc3, 0x2000 },\n  { 0x1a00, 0x0fc2, 0x0000 },\n  { 0x1a00, 0x0fc4, 0x0000 },\n  { 0x9a00, 0x0fc7, 0x2000 },\n  { 0x0c00, 0x0fc6, 0x0000 },\n  { 0x1a00, 0x0fc8, 0x0000 },\n  { 0x9a00, 0x0fcf, 0x3000 },\n  { 0x9a00, 0x0fcb, 0x2000 },\n  { 0x1a00, 0x0fca, 0x0000 },\n  { 0x1a00, 0x0fcc, 0x0000 },\n  { 0x8700, 0x1001, 0x2000 },\n  { 0x0700, 0x1000, 0x0000 },\n  { 0x0700, 0x1002, 0x0000 },\n  { 0x8700, 0x100b, 0x4000 },\n  { 0x8700, 0x1007, 0x3000 },\n  { 0x8700, 0x1005, 0x2000 },\n  { 0x0700, 0x1004, 0x0000 },\n  { 0x0700, 0x1006, 0x0000 },\n  { 0x8700, 0x1009, 0x2000 },\n  { 0x0700, 0x1008, 0x0000 },\n  { 0x0700, 0x100a, 0x0000 },\n  { 0x8700, 0x100f, 0x3000 },\n  { 0x8700, 0x100d, 0x2000 },\n  { 0x0700, 0x100c, 0x0000 },\n  { 0x0700, 0x100e, 0x0000 },\n  { 0x8700, 0x1011, 0x2000 },\n  { 0x0700, 0x1010, 0x0000 },\n  { 0x0700, 0x1012, 0x0000 },\n  { 0x8900, 0x10a5, 0x7000 },\n  { 0x8c00, 0x1039, 0x6000 },\n  { 0x8700, 0x1024, 0x5000 },\n  { 0x8700, 0x101b, 0x4000 },\n  { 0x8700, 0x1017, 0x3000 },\n  { 0x8700, 0x1015, 0x2000 },\n  { 0x0700, 0x1014, 0x0000 },\n  { 0x0700, 0x1016, 0x0000 },\n  { 0x8700, 0x1019, 0x2000 },\n  { 0x0700, 0x1018, 0x0000 },\n  { 0x0700, 0x101a, 0x0000 },\n  { 0x8700, 0x101f, 0x3000 },\n  { 0x8700, 0x101d, 0x2000 },\n  { 0x0700, 0x101c, 0x0000 },\n  { 0x0700, 0x101e, 0x0000 },\n  { 0x8700, 0x1021, 0x2000 },\n  { 0x0700, 0x1020, 0x0000 },\n  { 0x0700, 0x1023, 0x0000 },\n  { 0x8c00, 0x102e, 0x4000 },\n  { 0x8700, 0x1029, 0x3000 },\n  { 0x8700, 0x1026, 0x2000 },\n  { 0x0700, 0x1025, 0x0000 },\n  { 0x0700, 0x1027, 0x0000 },\n  { 0x8a00, 0x102c, 0x2000 },\n  { 0x0700, 0x102a, 0x0000 },\n  { 0x0c00, 0x102d, 0x0000 },\n  { 0x8c00, 0x1032, 0x3000 },\n  { 0x8c00, 0x1030, 0x2000 },\n  { 0x0c00, 0x102f, 0x0000 },\n  { 0x0a00, 0x1031, 0x0000 },\n  { 0x8c00, 0x1037, 0x2000 },\n  { 0x0c00, 0x1036, 0x0000 },\n  { 0x0a00, 0x1038, 0x0000 },\n  { 0x9500, 0x104f, 0x5000 },\n  { 0x8d00, 0x1047, 0x4000 },\n  { 0x8d00, 0x1043, 0x3000 },\n  { 0x8d00, 0x1041, 0x2000 },\n  { 0x0d00, 0x1040, 0x0000 },\n  { 0x0d00, 0x1042, 0x0000 },\n  { 0x8d00, 0x1045, 0x2000 },\n  { 0x0d00, 0x1044, 0x0000 },\n  { 0x0d00, 0x1046, 0x0000 },\n  { 0x9500, 0x104b, 0x3000 },\n  { 0x8d00, 0x1049, 0x2000 },\n  { 0x0d00, 0x1048, 0x0000 },\n  { 0x1500, 0x104a, 0x0000 },\n  { 0x9500, 0x104d, 0x2000 },\n  { 0x1500, 0x104c, 0x0000 },\n  { 0x1500, 0x104e, 0x0000 },\n  { 0x8a00, 0x1057, 0x4000 },\n  { 0x8700, 0x1053, 0x3000 },\n  { 0x8700, 0x1051, 0x2000 },\n  { 0x0700, 0x1050, 0x0000 },\n  { 0x0700, 0x1052, 0x0000 },\n  { 0x8700, 0x1055, 0x2000 },\n  { 0x0700, 0x1054, 0x0000 },\n  { 0x0a00, 0x1056, 0x0000 },\n  { 0x8900, 0x10a1, 0x3000 },\n  { 0x8c00, 0x1059, 0x2000 },\n  { 0x0c00, 0x1058, 0x0000 },\n  { 0x0900, 0x10a0, 0x0000 },\n  { 0x8900, 0x10a3, 0x2000 },\n  { 0x0900, 0x10a2, 0x0000 },\n  { 0x0900, 0x10a4, 0x0000 },\n  { 0x8900, 0x10c5, 0x6000 },\n  { 0x8900, 0x10b5, 0x5000 },\n  { 0x8900, 0x10ad, 0x4000 },\n  { 0x8900, 0x10a9, 0x3000 },\n  { 0x8900, 0x10a7, 0x2000 },\n  { 0x0900, 0x10a6, 0x0000 },\n  { 0x0900, 0x10a8, 0x0000 },\n  { 0x8900, 0x10ab, 0x2000 },\n  { 0x0900, 0x10aa, 0x0000 },\n  { 0x0900, 0x10ac, 0x0000 },\n  { 0x8900, 0x10b1, 0x3000 },\n  { 0x8900, 0x10af, 0x2000 },\n  { 0x0900, 0x10ae, 0x0000 },\n  { 0x0900, 0x10b0, 0x0000 },\n  { 0x8900, 0x10b3, 0x2000 },\n  { 0x0900, 0x10b2, 0x0000 },\n  { 0x0900, 0x10b4, 0x0000 },\n  { 0x8900, 0x10bd, 0x4000 },\n  { 0x8900, 0x10b9, 0x3000 },\n  { 0x8900, 0x10b7, 0x2000 },\n  { 0x0900, 0x10b6, 0x0000 },\n  { 0x0900, 0x10b8, 0x0000 },\n  { 0x8900, 0x10bb, 0x2000 },\n  { 0x0900, 0x10ba, 0x0000 },\n  { 0x0900, 0x10bc, 0x0000 },\n  { 0x8900, 0x10c1, 0x3000 },\n  { 0x8900, 0x10bf, 0x2000 },\n  { 0x0900, 0x10be, 0x0000 },\n  { 0x0900, 0x10c0, 0x0000 },\n  { 0x8900, 0x10c3, 0x2000 },\n  { 0x0900, 0x10c2, 0x0000 },\n  { 0x0900, 0x10c4, 0x0000 },\n  { 0x8700, 0x10df, 0x5000 },\n  { 0x8700, 0x10d7, 0x4000 },\n  { 0x8700, 0x10d3, 0x3000 },\n  { 0x8700, 0x10d1, 0x2000 },\n  { 0x0700, 0x10d0, 0x0000 },\n  { 0x0700, 0x10d2, 0x0000 },\n  { 0x8700, 0x10d5, 0x2000 },\n  { 0x0700, 0x10d4, 0x0000 },\n  { 0x0700, 0x10d6, 0x0000 },\n  { 0x8700, 0x10db, 0x3000 },\n  { 0x8700, 0x10d9, 0x2000 },\n  { 0x0700, 0x10d8, 0x0000 },\n  { 0x0700, 0x10da, 0x0000 },\n  { 0x8700, 0x10dd, 0x2000 },\n  { 0x0700, 0x10dc, 0x0000 },\n  { 0x0700, 0x10de, 0x0000 },\n  { 0x8700, 0x10e7, 0x4000 },\n  { 0x8700, 0x10e3, 0x3000 },\n  { 0x8700, 0x10e1, 0x2000 },\n  { 0x0700, 0x10e0, 0x0000 },\n  { 0x0700, 0x10e2, 0x0000 },\n  { 0x8700, 0x10e5, 0x2000 },\n  { 0x0700, 0x10e4, 0x0000 },\n  { 0x0700, 0x10e6, 0x0000 },\n  { 0x8700, 0x10eb, 0x3000 },\n  { 0x8700, 0x10e9, 0x2000 },\n  { 0x0700, 0x10e8, 0x0000 },\n  { 0x0700, 0x10ea, 0x0000 },\n  { 0x8700, 0x10ed, 0x2000 },\n  { 0x0700, 0x10ec, 0x0000 },\n  { 0x0700, 0x10ee, 0x0000 },\n  { 0x8700, 0x1322, 0xa000 },\n  { 0x8700, 0x1205, 0x9000 },\n  { 0x8700, 0x117a, 0x8000 },\n  { 0x8700, 0x1135, 0x7000 },\n  { 0x8700, 0x1115, 0x6000 },\n  { 0x8700, 0x1105, 0x5000 },\n  { 0x8700, 0x10f7, 0x4000 },\n  { 0x8700, 0x10f3, 0x3000 },\n  { 0x8700, 0x10f1, 0x2000 },\n  { 0x0700, 0x10f0, 0x0000 },\n  { 0x0700, 0x10f2, 0x0000 },\n  { 0x8700, 0x10f5, 0x2000 },\n  { 0x0700, 0x10f4, 0x0000 },\n  { 0x0700, 0x10f6, 0x0000 },\n  { 0x8700, 0x1101, 0x3000 },\n  { 0x9500, 0x10fb, 0x2000 },\n  { 0x0700, 0x10f8, 0x0000 },\n  { 0x0700, 0x1100, 0x0000 },\n  { 0x8700, 0x1103, 0x2000 },\n  { 0x0700, 0x1102, 0x0000 },\n  { 0x0700, 0x1104, 0x0000 },\n  { 0x8700, 0x110d, 0x4000 },\n  { 0x8700, 0x1109, 0x3000 },\n  { 0x8700, 0x1107, 0x2000 },\n  { 0x0700, 0x1106, 0x0000 },\n  { 0x0700, 0x1108, 0x0000 },\n  { 0x8700, 0x110b, 0x2000 },\n  { 0x0700, 0x110a, 0x0000 },\n  { 0x0700, 0x110c, 0x0000 },\n  { 0x8700, 0x1111, 0x3000 },\n  { 0x8700, 0x110f, 0x2000 },\n  { 0x0700, 0x110e, 0x0000 },\n  { 0x0700, 0x1110, 0x0000 },\n  { 0x8700, 0x1113, 0x2000 },\n  { 0x0700, 0x1112, 0x0000 },\n  { 0x0700, 0x1114, 0x0000 },\n  { 0x8700, 0x1125, 0x5000 },\n  { 0x8700, 0x111d, 0x4000 },\n  { 0x8700, 0x1119, 0x3000 },\n  { 0x8700, 0x1117, 0x2000 },\n  { 0x0700, 0x1116, 0x0000 },\n  { 0x0700, 0x1118, 0x0000 },\n  { 0x8700, 0x111b, 0x2000 },\n  { 0x0700, 0x111a, 0x0000 },\n  { 0x0700, 0x111c, 0x0000 },\n  { 0x8700, 0x1121, 0x3000 },\n  { 0x8700, 0x111f, 0x2000 },\n  { 0x0700, 0x111e, 0x0000 },\n  { 0x0700, 0x1120, 0x0000 },\n  { 0x8700, 0x1123, 0x2000 },\n  { 0x0700, 0x1122, 0x0000 },\n  { 0x0700, 0x1124, 0x0000 },\n  { 0x8700, 0x112d, 0x4000 },\n  { 0x8700, 0x1129, 0x3000 },\n  { 0x8700, 0x1127, 0x2000 },\n  { 0x0700, 0x1126, 0x0000 },\n  { 0x0700, 0x1128, 0x0000 },\n  { 0x8700, 0x112b, 0x2000 },\n  { 0x0700, 0x112a, 0x0000 },\n  { 0x0700, 0x112c, 0x0000 },\n  { 0x8700, 0x1131, 0x3000 },\n  { 0x8700, 0x112f, 0x2000 },\n  { 0x0700, 0x112e, 0x0000 },\n  { 0x0700, 0x1130, 0x0000 },\n  { 0x8700, 0x1133, 0x2000 },\n  { 0x0700, 0x1132, 0x0000 },\n  { 0x0700, 0x1134, 0x0000 },\n  { 0x8700, 0x1155, 0x6000 },\n  { 0x8700, 0x1145, 0x5000 },\n  { 0x8700, 0x113d, 0x4000 },\n  { 0x8700, 0x1139, 0x3000 },\n  { 0x8700, 0x1137, 0x2000 },\n  { 0x0700, 0x1136, 0x0000 },\n  { 0x0700, 0x1138, 0x0000 },\n  { 0x8700, 0x113b, 0x2000 },\n  { 0x0700, 0x113a, 0x0000 },\n  { 0x0700, 0x113c, 0x0000 },\n  { 0x8700, 0x1141, 0x3000 },\n  { 0x8700, 0x113f, 0x2000 },\n  { 0x0700, 0x113e, 0x0000 },\n  { 0x0700, 0x1140, 0x0000 },\n  { 0x8700, 0x1143, 0x2000 },\n  { 0x0700, 0x1142, 0x0000 },\n  { 0x0700, 0x1144, 0x0000 },\n  { 0x8700, 0x114d, 0x4000 },\n  { 0x8700, 0x1149, 0x3000 },\n  { 0x8700, 0x1147, 0x2000 },\n  { 0x0700, 0x1146, 0x0000 },\n  { 0x0700, 0x1148, 0x0000 },\n  { 0x8700, 0x114b, 0x2000 },\n  { 0x0700, 0x114a, 0x0000 },\n  { 0x0700, 0x114c, 0x0000 },\n  { 0x8700, 0x1151, 0x3000 },\n  { 0x8700, 0x114f, 0x2000 },\n  { 0x0700, 0x114e, 0x0000 },\n  { 0x0700, 0x1150, 0x0000 },\n  { 0x8700, 0x1153, 0x2000 },\n  { 0x0700, 0x1152, 0x0000 },\n  { 0x0700, 0x1154, 0x0000 },\n  { 0x8700, 0x116a, 0x5000 },\n  { 0x8700, 0x1162, 0x4000 },\n  { 0x8700, 0x1159, 0x3000 },\n  { 0x8700, 0x1157, 0x2000 },\n  { 0x0700, 0x1156, 0x0000 },\n  { 0x0700, 0x1158, 0x0000 },\n  { 0x8700, 0x1160, 0x2000 },\n  { 0x0700, 0x115f, 0x0000 },\n  { 0x0700, 0x1161, 0x0000 },\n  { 0x8700, 0x1166, 0x3000 },\n  { 0x8700, 0x1164, 0x2000 },\n  { 0x0700, 0x1163, 0x0000 },\n  { 0x0700, 0x1165, 0x0000 },\n  { 0x8700, 0x1168, 0x2000 },\n  { 0x0700, 0x1167, 0x0000 },\n  { 0x0700, 0x1169, 0x0000 },\n  { 0x8700, 0x1172, 0x4000 },\n  { 0x8700, 0x116e, 0x3000 },\n  { 0x8700, 0x116c, 0x2000 },\n  { 0x0700, 0x116b, 0x0000 },\n  { 0x0700, 0x116d, 0x0000 },\n  { 0x8700, 0x1170, 0x2000 },\n  { 0x0700, 0x116f, 0x0000 },\n  { 0x0700, 0x1171, 0x0000 },\n  { 0x8700, 0x1176, 0x3000 },\n  { 0x8700, 0x1174, 0x2000 },\n  { 0x0700, 0x1173, 0x0000 },\n  { 0x0700, 0x1175, 0x0000 },\n  { 0x8700, 0x1178, 0x2000 },\n  { 0x0700, 0x1177, 0x0000 },\n  { 0x0700, 0x1179, 0x0000 },\n  { 0x8700, 0x11bf, 0x7000 },\n  { 0x8700, 0x119a, 0x6000 },\n  { 0x8700, 0x118a, 0x5000 },\n  { 0x8700, 0x1182, 0x4000 },\n  { 0x8700, 0x117e, 0x3000 },\n  { 0x8700, 0x117c, 0x2000 },\n  { 0x0700, 0x117b, 0x0000 },\n  { 0x0700, 0x117d, 0x0000 },\n  { 0x8700, 0x1180, 0x2000 },\n  { 0x0700, 0x117f, 0x0000 },\n  { 0x0700, 0x1181, 0x0000 },\n  { 0x8700, 0x1186, 0x3000 },\n  { 0x8700, 0x1184, 0x2000 },\n  { 0x0700, 0x1183, 0x0000 },\n  { 0x0700, 0x1185, 0x0000 },\n  { 0x8700, 0x1188, 0x2000 },\n  { 0x0700, 0x1187, 0x0000 },\n  { 0x0700, 0x1189, 0x0000 },\n  { 0x8700, 0x1192, 0x4000 },\n  { 0x8700, 0x118e, 0x3000 },\n  { 0x8700, 0x118c, 0x2000 },\n  { 0x0700, 0x118b, 0x0000 },\n  { 0x0700, 0x118d, 0x0000 },\n  { 0x8700, 0x1190, 0x2000 },\n  { 0x0700, 0x118f, 0x0000 },\n  { 0x0700, 0x1191, 0x0000 },\n  { 0x8700, 0x1196, 0x3000 },\n  { 0x8700, 0x1194, 0x2000 },\n  { 0x0700, 0x1193, 0x0000 },\n  { 0x0700, 0x1195, 0x0000 },\n  { 0x8700, 0x1198, 0x2000 },\n  { 0x0700, 0x1197, 0x0000 },\n  { 0x0700, 0x1199, 0x0000 },\n  { 0x8700, 0x11af, 0x5000 },\n  { 0x8700, 0x11a2, 0x4000 },\n  { 0x8700, 0x119e, 0x3000 },\n  { 0x8700, 0x119c, 0x2000 },\n  { 0x0700, 0x119b, 0x0000 },\n  { 0x0700, 0x119d, 0x0000 },\n  { 0x8700, 0x11a0, 0x2000 },\n  { 0x0700, 0x119f, 0x0000 },\n  { 0x0700, 0x11a1, 0x0000 },\n  { 0x8700, 0x11ab, 0x3000 },\n  { 0x8700, 0x11a9, 0x2000 },\n  { 0x0700, 0x11a8, 0x0000 },\n  { 0x0700, 0x11aa, 0x0000 },\n  { 0x8700, 0x11ad, 0x2000 },\n  { 0x0700, 0x11ac, 0x0000 },\n  { 0x0700, 0x11ae, 0x0000 },\n  { 0x8700, 0x11b7, 0x4000 },\n  { 0x8700, 0x11b3, 0x3000 },\n  { 0x8700, 0x11b1, 0x2000 },\n  { 0x0700, 0x11b0, 0x0000 },\n  { 0x0700, 0x11b2, 0x0000 },\n  { 0x8700, 0x11b5, 0x2000 },\n  { 0x0700, 0x11b4, 0x0000 },\n  { 0x0700, 0x11b6, 0x0000 },\n  { 0x8700, 0x11bb, 0x3000 },\n  { 0x8700, 0x11b9, 0x2000 },\n  { 0x0700, 0x11b8, 0x0000 },\n  { 0x0700, 0x11ba, 0x0000 },\n  { 0x8700, 0x11bd, 0x2000 },\n  { 0x0700, 0x11bc, 0x0000 },\n  { 0x0700, 0x11be, 0x0000 },\n  { 0x8700, 0x11df, 0x6000 },\n  { 0x8700, 0x11cf, 0x5000 },\n  { 0x8700, 0x11c7, 0x4000 },\n  { 0x8700, 0x11c3, 0x3000 },\n  { 0x8700, 0x11c1, 0x2000 },\n  { 0x0700, 0x11c0, 0x0000 },\n  { 0x0700, 0x11c2, 0x0000 },\n  { 0x8700, 0x11c5, 0x2000 },\n  { 0x0700, 0x11c4, 0x0000 },\n  { 0x0700, 0x11c6, 0x0000 },\n  { 0x8700, 0x11cb, 0x3000 },\n  { 0x8700, 0x11c9, 0x2000 },\n  { 0x0700, 0x11c8, 0x0000 },\n  { 0x0700, 0x11ca, 0x0000 },\n  { 0x8700, 0x11cd, 0x2000 },\n  { 0x0700, 0x11cc, 0x0000 },\n  { 0x0700, 0x11ce, 0x0000 },\n  { 0x8700, 0x11d7, 0x4000 },\n  { 0x8700, 0x11d3, 0x3000 },\n  { 0x8700, 0x11d1, 0x2000 },\n  { 0x0700, 0x11d0, 0x0000 },\n  { 0x0700, 0x11d2, 0x0000 },\n  { 0x8700, 0x11d5, 0x2000 },\n  { 0x0700, 0x11d4, 0x0000 },\n  { 0x0700, 0x11d6, 0x0000 },\n  { 0x8700, 0x11db, 0x3000 },\n  { 0x8700, 0x11d9, 0x2000 },\n  { 0x0700, 0x11d8, 0x0000 },\n  { 0x0700, 0x11da, 0x0000 },\n  { 0x8700, 0x11dd, 0x2000 },\n  { 0x0700, 0x11dc, 0x0000 },\n  { 0x0700, 0x11de, 0x0000 },\n  { 0x8700, 0x11ef, 0x5000 },\n  { 0x8700, 0x11e7, 0x4000 },\n  { 0x8700, 0x11e3, 0x3000 },\n  { 0x8700, 0x11e1, 0x2000 },\n  { 0x0700, 0x11e0, 0x0000 },\n  { 0x0700, 0x11e2, 0x0000 },\n  { 0x8700, 0x11e5, 0x2000 },\n  { 0x0700, 0x11e4, 0x0000 },\n  { 0x0700, 0x11e6, 0x0000 },\n  { 0x8700, 0x11eb, 0x3000 },\n  { 0x8700, 0x11e9, 0x2000 },\n  { 0x0700, 0x11e8, 0x0000 },\n  { 0x0700, 0x11ea, 0x0000 },\n  { 0x8700, 0x11ed, 0x2000 },\n  { 0x0700, 0x11ec, 0x0000 },\n  { 0x0700, 0x11ee, 0x0000 },\n  { 0x8700, 0x11f7, 0x4000 },\n  { 0x8700, 0x11f3, 0x3000 },\n  { 0x8700, 0x11f1, 0x2000 },\n  { 0x0700, 0x11f0, 0x0000 },\n  { 0x0700, 0x11f2, 0x0000 },\n  { 0x8700, 0x11f5, 0x2000 },\n  { 0x0700, 0x11f4, 0x0000 },\n  { 0x0700, 0x11f6, 0x0000 },\n  { 0x8700, 0x1201, 0x3000 },\n  { 0x8700, 0x11f9, 0x2000 },\n  { 0x0700, 0x11f8, 0x0000 },\n  { 0x0700, 0x1200, 0x0000 },\n  { 0x8700, 0x1203, 0x2000 },\n  { 0x0700, 0x1202, 0x0000 },\n  { 0x0700, 0x1204, 0x0000 },\n  { 0x8700, 0x1292, 0x8000 },\n  { 0x8700, 0x1246, 0x7000 },\n  { 0x8700, 0x1226, 0x6000 },\n  { 0x8700, 0x1216, 0x5000 },\n  { 0x8700, 0x120e, 0x4000 },\n  { 0x8700, 0x120a, 0x3000 },\n  { 0x8700, 0x1208, 0x2000 },\n  { 0x0700, 0x1206, 0x0000 },\n  { 0x0700, 0x1209, 0x0000 },\n  { 0x8700, 0x120c, 0x2000 },\n  { 0x0700, 0x120b, 0x0000 },\n  { 0x0700, 0x120d, 0x0000 },\n  { 0x8700, 0x1212, 0x3000 },\n  { 0x8700, 0x1210, 0x2000 },\n  { 0x0700, 0x120f, 0x0000 },\n  { 0x0700, 0x1211, 0x0000 },\n  { 0x8700, 0x1214, 0x2000 },\n  { 0x0700, 0x1213, 0x0000 },\n  { 0x0700, 0x1215, 0x0000 },\n  { 0x8700, 0x121e, 0x4000 },\n  { 0x8700, 0x121a, 0x3000 },\n  { 0x8700, 0x1218, 0x2000 },\n  { 0x0700, 0x1217, 0x0000 },\n  { 0x0700, 0x1219, 0x0000 },\n  { 0x8700, 0x121c, 0x2000 },\n  { 0x0700, 0x121b, 0x0000 },\n  { 0x0700, 0x121d, 0x0000 },\n  { 0x8700, 0x1222, 0x3000 },\n  { 0x8700, 0x1220, 0x2000 },\n  { 0x0700, 0x121f, 0x0000 },\n  { 0x0700, 0x1221, 0x0000 },\n  { 0x8700, 0x1224, 0x2000 },\n  { 0x0700, 0x1223, 0x0000 },\n  { 0x0700, 0x1225, 0x0000 },\n  { 0x8700, 0x1236, 0x5000 },\n  { 0x8700, 0x122e, 0x4000 },\n  { 0x8700, 0x122a, 0x3000 },\n  { 0x8700, 0x1228, 0x2000 },\n  { 0x0700, 0x1227, 0x0000 },\n  { 0x0700, 0x1229, 0x0000 },\n  { 0x8700, 0x122c, 0x2000 },\n  { 0x0700, 0x122b, 0x0000 },\n  { 0x0700, 0x122d, 0x0000 },\n  { 0x8700, 0x1232, 0x3000 },\n  { 0x8700, 0x1230, 0x2000 },\n  { 0x0700, 0x122f, 0x0000 },\n  { 0x0700, 0x1231, 0x0000 },\n  { 0x8700, 0x1234, 0x2000 },\n  { 0x0700, 0x1233, 0x0000 },\n  { 0x0700, 0x1235, 0x0000 },\n  { 0x8700, 0x123e, 0x4000 },\n  { 0x8700, 0x123a, 0x3000 },\n  { 0x8700, 0x1238, 0x2000 },\n  { 0x0700, 0x1237, 0x0000 },\n  { 0x0700, 0x1239, 0x0000 },\n  { 0x8700, 0x123c, 0x2000 },\n  { 0x0700, 0x123b, 0x0000 },\n  { 0x0700, 0x123d, 0x0000 },\n  { 0x8700, 0x1242, 0x3000 },\n  { 0x8700, 0x1240, 0x2000 },\n  { 0x0700, 0x123f, 0x0000 },\n  { 0x0700, 0x1241, 0x0000 },\n  { 0x8700, 0x1244, 0x2000 },\n  { 0x0700, 0x1243, 0x0000 },\n  { 0x0700, 0x1245, 0x0000 },\n  { 0x8700, 0x126e, 0x6000 },\n  { 0x8700, 0x125c, 0x5000 },\n  { 0x8700, 0x1252, 0x4000 },\n  { 0x8700, 0x124c, 0x3000 },\n  { 0x8700, 0x124a, 0x2000 },\n  { 0x0700, 0x1248, 0x0000 },\n  { 0x0700, 0x124b, 0x0000 },\n  { 0x8700, 0x1250, 0x2000 },\n  { 0x0700, 0x124d, 0x0000 },\n  { 0x0700, 0x1251, 0x0000 },\n  { 0x8700, 0x1256, 0x3000 },\n  { 0x8700, 0x1254, 0x2000 },\n  { 0x0700, 0x1253, 0x0000 },\n  { 0x0700, 0x1255, 0x0000 },\n  { 0x8700, 0x125a, 0x2000 },\n  { 0x0700, 0x1258, 0x0000 },\n  { 0x0700, 0x125b, 0x0000 },\n  { 0x8700, 0x1266, 0x4000 },\n  { 0x8700, 0x1262, 0x3000 },\n  { 0x8700, 0x1260, 0x2000 },\n  { 0x0700, 0x125d, 0x0000 },\n  { 0x0700, 0x1261, 0x0000 },\n  { 0x8700, 0x1264, 0x2000 },\n  { 0x0700, 0x1263, 0x0000 },\n  { 0x0700, 0x1265, 0x0000 },\n  { 0x8700, 0x126a, 0x3000 },\n  { 0x8700, 0x1268, 0x2000 },\n  { 0x0700, 0x1267, 0x0000 },\n  { 0x0700, 0x1269, 0x0000 },\n  { 0x8700, 0x126c, 0x2000 },\n  { 0x0700, 0x126b, 0x0000 },\n  { 0x0700, 0x126d, 0x0000 },\n  { 0x8700, 0x127e, 0x5000 },\n  { 0x8700, 0x1276, 0x4000 },\n  { 0x8700, 0x1272, 0x3000 },\n  { 0x8700, 0x1270, 0x2000 },\n  { 0x0700, 0x126f, 0x0000 },\n  { 0x0700, 0x1271, 0x0000 },\n  { 0x8700, 0x1274, 0x2000 },\n  { 0x0700, 0x1273, 0x0000 },\n  { 0x0700, 0x1275, 0x0000 },\n  { 0x8700, 0x127a, 0x3000 },\n  { 0x8700, 0x1278, 0x2000 },\n  { 0x0700, 0x1277, 0x0000 },\n  { 0x0700, 0x1279, 0x0000 },\n  { 0x8700, 0x127c, 0x2000 },\n  { 0x0700, 0x127b, 0x0000 },\n  { 0x0700, 0x127d, 0x0000 },\n  { 0x8700, 0x1286, 0x4000 },\n  { 0x8700, 0x1282, 0x3000 },\n  { 0x8700, 0x1280, 0x2000 },\n  { 0x0700, 0x127f, 0x0000 },\n  { 0x0700, 0x1281, 0x0000 },\n  { 0x8700, 0x1284, 0x2000 },\n  { 0x0700, 0x1283, 0x0000 },\n  { 0x0700, 0x1285, 0x0000 },\n  { 0x8700, 0x128c, 0x3000 },\n  { 0x8700, 0x128a, 0x2000 },\n  { 0x0700, 0x1288, 0x0000 },\n  { 0x0700, 0x128b, 0x0000 },\n  { 0x8700, 0x1290, 0x2000 },\n  { 0x0700, 0x128d, 0x0000 },\n  { 0x0700, 0x1291, 0x0000 },\n  { 0x8700, 0x12dc, 0x7000 },\n  { 0x8700, 0x12b4, 0x6000 },\n  { 0x8700, 0x12a2, 0x5000 },\n  { 0x8700, 0x129a, 0x4000 },\n  { 0x8700, 0x1296, 0x3000 },\n  { 0x8700, 0x1294, 0x2000 },\n  { 0x0700, 0x1293, 0x0000 },\n  { 0x0700, 0x1295, 0x0000 },\n  { 0x8700, 0x1298, 0x2000 },\n  { 0x0700, 0x1297, 0x0000 },\n  { 0x0700, 0x1299, 0x0000 },\n  { 0x8700, 0x129e, 0x3000 },\n  { 0x8700, 0x129c, 0x2000 },\n  { 0x0700, 0x129b, 0x0000 },\n  { 0x0700, 0x129d, 0x0000 },\n  { 0x8700, 0x12a0, 0x2000 },\n  { 0x0700, 0x129f, 0x0000 },\n  { 0x0700, 0x12a1, 0x0000 },\n  { 0x8700, 0x12aa, 0x4000 },\n  { 0x8700, 0x12a6, 0x3000 },\n  { 0x8700, 0x12a4, 0x2000 },\n  { 0x0700, 0x12a3, 0x0000 },\n  { 0x0700, 0x12a5, 0x0000 },\n  { 0x8700, 0x12a8, 0x2000 },\n  { 0x0700, 0x12a7, 0x0000 },\n  { 0x0700, 0x12a9, 0x0000 },\n  { 0x8700, 0x12ae, 0x3000 },\n  { 0x8700, 0x12ac, 0x2000 },\n  { 0x0700, 0x12ab, 0x0000 },\n  { 0x0700, 0x12ad, 0x0000 },\n  { 0x8700, 0x12b2, 0x2000 },\n  { 0x0700, 0x12b0, 0x0000 },\n  { 0x0700, 0x12b3, 0x0000 },\n  { 0x8700, 0x12ca, 0x5000 },\n  { 0x8700, 0x12be, 0x4000 },\n  { 0x8700, 0x12ba, 0x3000 },\n  { 0x8700, 0x12b8, 0x2000 },\n  { 0x0700, 0x12b5, 0x0000 },\n  { 0x0700, 0x12b9, 0x0000 },\n  { 0x8700, 0x12bc, 0x2000 },\n  { 0x0700, 0x12bb, 0x0000 },\n  { 0x0700, 0x12bd, 0x0000 },\n  { 0x8700, 0x12c4, 0x3000 },\n  { 0x8700, 0x12c2, 0x2000 },\n  { 0x0700, 0x12c0, 0x0000 },\n  { 0x0700, 0x12c3, 0x0000 },\n  { 0x8700, 0x12c8, 0x2000 },\n  { 0x0700, 0x12c5, 0x0000 },\n  { 0x0700, 0x12c9, 0x0000 },\n  { 0x8700, 0x12d3, 0x4000 },\n  { 0x8700, 0x12ce, 0x3000 },\n  { 0x8700, 0x12cc, 0x2000 },\n  { 0x0700, 0x12cb, 0x0000 },\n  { 0x0700, 0x12cd, 0x0000 },\n  { 0x8700, 0x12d1, 0x2000 },\n  { 0x0700, 0x12d0, 0x0000 },\n  { 0x0700, 0x12d2, 0x0000 },\n  { 0x8700, 0x12d8, 0x3000 },\n  { 0x8700, 0x12d5, 0x2000 },\n  { 0x0700, 0x12d4, 0x0000 },\n  { 0x0700, 0x12d6, 0x0000 },\n  { 0x8700, 0x12da, 0x2000 },\n  { 0x0700, 0x12d9, 0x0000 },\n  { 0x0700, 0x12db, 0x0000 },\n  { 0x8700, 0x12fd, 0x6000 },\n  { 0x8700, 0x12ec, 0x5000 },\n  { 0x8700, 0x12e4, 0x4000 },\n  { 0x8700, 0x12e0, 0x3000 },\n  { 0x8700, 0x12de, 0x2000 },\n  { 0x0700, 0x12dd, 0x0000 },\n  { 0x0700, 0x12df, 0x0000 },\n  { 0x8700, 0x12e2, 0x2000 },\n  { 0x0700, 0x12e1, 0x0000 },\n  { 0x0700, 0x12e3, 0x0000 },\n  { 0x8700, 0x12e8, 0x3000 },\n  { 0x8700, 0x12e6, 0x2000 },\n  { 0x0700, 0x12e5, 0x0000 },\n  { 0x0700, 0x12e7, 0x0000 },\n  { 0x8700, 0x12ea, 0x2000 },\n  { 0x0700, 0x12e9, 0x0000 },\n  { 0x0700, 0x12eb, 0x0000 },\n  { 0x8700, 0x12f5, 0x4000 },\n  { 0x8700, 0x12f1, 0x3000 },\n  { 0x8700, 0x12ee, 0x2000 },\n  { 0x0700, 0x12ed, 0x0000 },\n  { 0x0700, 0x12f0, 0x0000 },\n  { 0x8700, 0x12f3, 0x2000 },\n  { 0x0700, 0x12f2, 0x0000 },\n  { 0x0700, 0x12f4, 0x0000 },\n  { 0x8700, 0x12f9, 0x3000 },\n  { 0x8700, 0x12f7, 0x2000 },\n  { 0x0700, 0x12f6, 0x0000 },\n  { 0x0700, 0x12f8, 0x0000 },\n  { 0x8700, 0x12fb, 0x2000 },\n  { 0x0700, 0x12fa, 0x0000 },\n  { 0x0700, 0x12fc, 0x0000 },\n  { 0x8700, 0x130d, 0x5000 },\n  { 0x8700, 0x1305, 0x4000 },\n  { 0x8700, 0x1301, 0x3000 },\n  { 0x8700, 0x12ff, 0x2000 },\n  { 0x0700, 0x12fe, 0x0000 },\n  { 0x0700, 0x1300, 0x0000 },\n  { 0x8700, 0x1303, 0x2000 },\n  { 0x0700, 0x1302, 0x0000 },\n  { 0x0700, 0x1304, 0x0000 },\n  { 0x8700, 0x1309, 0x3000 },\n  { 0x8700, 0x1307, 0x2000 },\n  { 0x0700, 0x1306, 0x0000 },\n  { 0x0700, 0x1308, 0x0000 },\n  { 0x8700, 0x130b, 0x2000 },\n  { 0x0700, 0x130a, 0x0000 },\n  { 0x0700, 0x130c, 0x0000 },\n  { 0x8700, 0x1319, 0x4000 },\n  { 0x8700, 0x1313, 0x3000 },\n  { 0x8700, 0x1310, 0x2000 },\n  { 0x0700, 0x130e, 0x0000 },\n  { 0x0700, 0x1312, 0x0000 },\n  { 0x8700, 0x1315, 0x2000 },\n  { 0x0700, 0x1314, 0x0000 },\n  { 0x0700, 0x1318, 0x0000 },\n  { 0x8700, 0x131d, 0x3000 },\n  { 0x8700, 0x131b, 0x2000 },\n  { 0x0700, 0x131a, 0x0000 },\n  { 0x0700, 0x131c, 0x0000 },\n  { 0x8700, 0x1320, 0x2000 },\n  { 0x0700, 0x131e, 0x0000 },\n  { 0x0700, 0x1321, 0x0000 },\n  { 0x8700, 0x1458, 0x9000 },\n  { 0x8700, 0x13cc, 0x8000 },\n  { 0x8d00, 0x1369, 0x7000 },\n  { 0x8700, 0x1342, 0x6000 },\n  { 0x8700, 0x1332, 0x5000 },\n  { 0x8700, 0x132a, 0x4000 },\n  { 0x8700, 0x1326, 0x3000 },\n  { 0x8700, 0x1324, 0x2000 },\n  { 0x0700, 0x1323, 0x0000 },\n  { 0x0700, 0x1325, 0x0000 },\n  { 0x8700, 0x1328, 0x2000 },\n  { 0x0700, 0x1327, 0x0000 },\n  { 0x0700, 0x1329, 0x0000 },\n  { 0x8700, 0x132e, 0x3000 },\n  { 0x8700, 0x132c, 0x2000 },\n  { 0x0700, 0x132b, 0x0000 },\n  { 0x0700, 0x132d, 0x0000 },\n  { 0x8700, 0x1330, 0x2000 },\n  { 0x0700, 0x132f, 0x0000 },\n  { 0x0700, 0x1331, 0x0000 },\n  { 0x8700, 0x133a, 0x4000 },\n  { 0x8700, 0x1336, 0x3000 },\n  { 0x8700, 0x1334, 0x2000 },\n  { 0x0700, 0x1333, 0x0000 },\n  { 0x0700, 0x1335, 0x0000 },\n  { 0x8700, 0x1338, 0x2000 },\n  { 0x0700, 0x1337, 0x0000 },\n  { 0x0700, 0x1339, 0x0000 },\n  { 0x8700, 0x133e, 0x3000 },\n  { 0x8700, 0x133c, 0x2000 },\n  { 0x0700, 0x133b, 0x0000 },\n  { 0x0700, 0x133d, 0x0000 },\n  { 0x8700, 0x1340, 0x2000 },\n  { 0x0700, 0x133f, 0x0000 },\n  { 0x0700, 0x1341, 0x0000 },\n  { 0x8700, 0x1353, 0x5000 },\n  { 0x8700, 0x134b, 0x4000 },\n  { 0x8700, 0x1346, 0x3000 },\n  { 0x8700, 0x1344, 0x2000 },\n  { 0x0700, 0x1343, 0x0000 },\n  { 0x0700, 0x1345, 0x0000 },\n  { 0x8700, 0x1349, 0x2000 },\n  { 0x0700, 0x1348, 0x0000 },\n  { 0x0700, 0x134a, 0x0000 },\n  { 0x8700, 0x134f, 0x3000 },\n  { 0x8700, 0x134d, 0x2000 },\n  { 0x0700, 0x134c, 0x0000 },\n  { 0x0700, 0x134e, 0x0000 },\n  { 0x8700, 0x1351, 0x2000 },\n  { 0x0700, 0x1350, 0x0000 },\n  { 0x0700, 0x1352, 0x0000 },\n  { 0x9500, 0x1361, 0x4000 },\n  { 0x8700, 0x1357, 0x3000 },\n  { 0x8700, 0x1355, 0x2000 },\n  { 0x0700, 0x1354, 0x0000 },\n  { 0x0700, 0x1356, 0x0000 },\n  { 0x8700, 0x1359, 0x2000 },\n  { 0x0700, 0x1358, 0x0000 },\n  { 0x0700, 0x135a, 0x0000 },\n  { 0x9500, 0x1365, 0x3000 },\n  { 0x9500, 0x1363, 0x2000 },\n  { 0x1500, 0x1362, 0x0000 },\n  { 0x1500, 0x1364, 0x0000 },\n  { 0x9500, 0x1367, 0x2000 },\n  { 0x1500, 0x1366, 0x0000 },\n  { 0x1500, 0x1368, 0x0000 },\n  { 0x8700, 0x13ac, 0x6000 },\n  { 0x8f00, 0x1379, 0x5000 },\n  { 0x8d00, 0x1371, 0x4000 },\n  { 0x8d00, 0x136d, 0x3000 },\n  { 0x8d00, 0x136b, 0x2000 },\n  { 0x0d00, 0x136a, 0x0000 },\n  { 0x0d00, 0x136c, 0x0000 },\n  { 0x8d00, 0x136f, 0x2000 },\n  { 0x0d00, 0x136e, 0x0000 },\n  { 0x0d00, 0x1370, 0x0000 },\n  { 0x8f00, 0x1375, 0x3000 },\n  { 0x8f00, 0x1373, 0x2000 },\n  { 0x0f00, 0x1372, 0x0000 },\n  { 0x0f00, 0x1374, 0x0000 },\n  { 0x8f00, 0x1377, 0x2000 },\n  { 0x0f00, 0x1376, 0x0000 },\n  { 0x0f00, 0x1378, 0x0000 },\n  { 0x8700, 0x13a4, 0x4000 },\n  { 0x8700, 0x13a0, 0x3000 },\n  { 0x8f00, 0x137b, 0x2000 },\n  { 0x0f00, 0x137a, 0x0000 },\n  { 0x0f00, 0x137c, 0x0000 },\n  { 0x8700, 0x13a2, 0x2000 },\n  { 0x0700, 0x13a1, 0x0000 },\n  { 0x0700, 0x13a3, 0x0000 },\n  { 0x8700, 0x13a8, 0x3000 },\n  { 0x8700, 0x13a6, 0x2000 },\n  { 0x0700, 0x13a5, 0x0000 },\n  { 0x0700, 0x13a7, 0x0000 },\n  { 0x8700, 0x13aa, 0x2000 },\n  { 0x0700, 0x13a9, 0x0000 },\n  { 0x0700, 0x13ab, 0x0000 },\n  { 0x8700, 0x13bc, 0x5000 },\n  { 0x8700, 0x13b4, 0x4000 },\n  { 0x8700, 0x13b0, 0x3000 },\n  { 0x8700, 0x13ae, 0x2000 },\n  { 0x0700, 0x13ad, 0x0000 },\n  { 0x0700, 0x13af, 0x0000 },\n  { 0x8700, 0x13b2, 0x2000 },\n  { 0x0700, 0x13b1, 0x0000 },\n  { 0x0700, 0x13b3, 0x0000 },\n  { 0x8700, 0x13b8, 0x3000 },\n  { 0x8700, 0x13b6, 0x2000 },\n  { 0x0700, 0x13b5, 0x0000 },\n  { 0x0700, 0x13b7, 0x0000 },\n  { 0x8700, 0x13ba, 0x2000 },\n  { 0x0700, 0x13b9, 0x0000 },\n  { 0x0700, 0x13bb, 0x0000 },\n  { 0x8700, 0x13c4, 0x4000 },\n  { 0x8700, 0x13c0, 0x3000 },\n  { 0x8700, 0x13be, 0x2000 },\n  { 0x0700, 0x13bd, 0x0000 },\n  { 0x0700, 0x13bf, 0x0000 },\n  { 0x8700, 0x13c2, 0x2000 },\n  { 0x0700, 0x13c1, 0x0000 },\n  { 0x0700, 0x13c3, 0x0000 },\n  { 0x8700, 0x13c8, 0x3000 },\n  { 0x8700, 0x13c6, 0x2000 },\n  { 0x0700, 0x13c5, 0x0000 },\n  { 0x0700, 0x13c7, 0x0000 },\n  { 0x8700, 0x13ca, 0x2000 },\n  { 0x0700, 0x13c9, 0x0000 },\n  { 0x0700, 0x13cb, 0x0000 },\n  { 0x8700, 0x1418, 0x7000 },\n  { 0x8700, 0x13ec, 0x6000 },\n  { 0x8700, 0x13dc, 0x5000 },\n  { 0x8700, 0x13d4, 0x4000 },\n  { 0x8700, 0x13d0, 0x3000 },\n  { 0x8700, 0x13ce, 0x2000 },\n  { 0x0700, 0x13cd, 0x0000 },\n  { 0x0700, 0x13cf, 0x0000 },\n  { 0x8700, 0x13d2, 0x2000 },\n  { 0x0700, 0x13d1, 0x0000 },\n  { 0x0700, 0x13d3, 0x0000 },\n  { 0x8700, 0x13d8, 0x3000 },\n  { 0x8700, 0x13d6, 0x2000 },\n  { 0x0700, 0x13d5, 0x0000 },\n  { 0x0700, 0x13d7, 0x0000 },\n  { 0x8700, 0x13da, 0x2000 },\n  { 0x0700, 0x13d9, 0x0000 },\n  { 0x0700, 0x13db, 0x0000 },\n  { 0x8700, 0x13e4, 0x4000 },\n  { 0x8700, 0x13e0, 0x3000 },\n  { 0x8700, 0x13de, 0x2000 },\n  { 0x0700, 0x13dd, 0x0000 },\n  { 0x0700, 0x13df, 0x0000 },\n  { 0x8700, 0x13e2, 0x2000 },\n  { 0x0700, 0x13e1, 0x0000 },\n  { 0x0700, 0x13e3, 0x0000 },\n  { 0x8700, 0x13e8, 0x3000 },\n  { 0x8700, 0x13e6, 0x2000 },\n  { 0x0700, 0x13e5, 0x0000 },\n  { 0x0700, 0x13e7, 0x0000 },\n  { 0x8700, 0x13ea, 0x2000 },\n  { 0x0700, 0x13e9, 0x0000 },\n  { 0x0700, 0x13eb, 0x0000 },\n  { 0x8700, 0x1408, 0x5000 },\n  { 0x8700, 0x13f4, 0x4000 },\n  { 0x8700, 0x13f0, 0x3000 },\n  { 0x8700, 0x13ee, 0x2000 },\n  { 0x0700, 0x13ed, 0x0000 },\n  { 0x0700, 0x13ef, 0x0000 },\n  { 0x8700, 0x13f2, 0x2000 },\n  { 0x0700, 0x13f1, 0x0000 },\n  { 0x0700, 0x13f3, 0x0000 },\n  { 0x8700, 0x1404, 0x3000 },\n  { 0x8700, 0x1402, 0x2000 },\n  { 0x0700, 0x1401, 0x0000 },\n  { 0x0700, 0x1403, 0x0000 },\n  { 0x8700, 0x1406, 0x2000 },\n  { 0x0700, 0x1405, 0x0000 },\n  { 0x0700, 0x1407, 0x0000 },\n  { 0x8700, 0x1410, 0x4000 },\n  { 0x8700, 0x140c, 0x3000 },\n  { 0x8700, 0x140a, 0x2000 },\n  { 0x0700, 0x1409, 0x0000 },\n  { 0x0700, 0x140b, 0x0000 },\n  { 0x8700, 0x140e, 0x2000 },\n  { 0x0700, 0x140d, 0x0000 },\n  { 0x0700, 0x140f, 0x0000 },\n  { 0x8700, 0x1414, 0x3000 },\n  { 0x8700, 0x1412, 0x2000 },\n  { 0x0700, 0x1411, 0x0000 },\n  { 0x0700, 0x1413, 0x0000 },\n  { 0x8700, 0x1416, 0x2000 },\n  { 0x0700, 0x1415, 0x0000 },\n  { 0x0700, 0x1417, 0x0000 },\n  { 0x8700, 0x1438, 0x6000 },\n  { 0x8700, 0x1428, 0x5000 },\n  { 0x8700, 0x1420, 0x4000 },\n  { 0x8700, 0x141c, 0x3000 },\n  { 0x8700, 0x141a, 0x2000 },\n  { 0x0700, 0x1419, 0x0000 },\n  { 0x0700, 0x141b, 0x0000 },\n  { 0x8700, 0x141e, 0x2000 },\n  { 0x0700, 0x141d, 0x0000 },\n  { 0x0700, 0x141f, 0x0000 },\n  { 0x8700, 0x1424, 0x3000 },\n  { 0x8700, 0x1422, 0x2000 },\n  { 0x0700, 0x1421, 0x0000 },\n  { 0x0700, 0x1423, 0x0000 },\n  { 0x8700, 0x1426, 0x2000 },\n  { 0x0700, 0x1425, 0x0000 },\n  { 0x0700, 0x1427, 0x0000 },\n  { 0x8700, 0x1430, 0x4000 },\n  { 0x8700, 0x142c, 0x3000 },\n  { 0x8700, 0x142a, 0x2000 },\n  { 0x0700, 0x1429, 0x0000 },\n  { 0x0700, 0x142b, 0x0000 },\n  { 0x8700, 0x142e, 0x2000 },\n  { 0x0700, 0x142d, 0x0000 },\n  { 0x0700, 0x142f, 0x0000 },\n  { 0x8700, 0x1434, 0x3000 },\n  { 0x8700, 0x1432, 0x2000 },\n  { 0x0700, 0x1431, 0x0000 },\n  { 0x0700, 0x1433, 0x0000 },\n  { 0x8700, 0x1436, 0x2000 },\n  { 0x0700, 0x1435, 0x0000 },\n  { 0x0700, 0x1437, 0x0000 },\n  { 0x8700, 0x1448, 0x5000 },\n  { 0x8700, 0x1440, 0x4000 },\n  { 0x8700, 0x143c, 0x3000 },\n  { 0x8700, 0x143a, 0x2000 },\n  { 0x0700, 0x1439, 0x0000 },\n  { 0x0700, 0x143b, 0x0000 },\n  { 0x8700, 0x143e, 0x2000 },\n  { 0x0700, 0x143d, 0x0000 },\n  { 0x0700, 0x143f, 0x0000 },\n  { 0x8700, 0x1444, 0x3000 },\n  { 0x8700, 0x1442, 0x2000 },\n  { 0x0700, 0x1441, 0x0000 },\n  { 0x0700, 0x1443, 0x0000 },\n  { 0x8700, 0x1446, 0x2000 },\n  { 0x0700, 0x1445, 0x0000 },\n  { 0x0700, 0x1447, 0x0000 },\n  { 0x8700, 0x1450, 0x4000 },\n  { 0x8700, 0x144c, 0x3000 },\n  { 0x8700, 0x144a, 0x2000 },\n  { 0x0700, 0x1449, 0x0000 },\n  { 0x0700, 0x144b, 0x0000 },\n  { 0x8700, 0x144e, 0x2000 },\n  { 0x0700, 0x144d, 0x0000 },\n  { 0x0700, 0x144f, 0x0000 },\n  { 0x8700, 0x1454, 0x3000 },\n  { 0x8700, 0x1452, 0x2000 },\n  { 0x0700, 0x1451, 0x0000 },\n  { 0x0700, 0x1453, 0x0000 },\n  { 0x8700, 0x1456, 0x2000 },\n  { 0x0700, 0x1455, 0x0000 },\n  { 0x0700, 0x1457, 0x0000 },\n  { 0x8700, 0x14d8, 0x8000 },\n  { 0x8700, 0x1498, 0x7000 },\n  { 0x8700, 0x1478, 0x6000 },\n  { 0x8700, 0x1468, 0x5000 },\n  { 0x8700, 0x1460, 0x4000 },\n  { 0x8700, 0x145c, 0x3000 },\n  { 0x8700, 0x145a, 0x2000 },\n  { 0x0700, 0x1459, 0x0000 },\n  { 0x0700, 0x145b, 0x0000 },\n  { 0x8700, 0x145e, 0x2000 },\n  { 0x0700, 0x145d, 0x0000 },\n  { 0x0700, 0x145f, 0x0000 },\n  { 0x8700, 0x1464, 0x3000 },\n  { 0x8700, 0x1462, 0x2000 },\n  { 0x0700, 0x1461, 0x0000 },\n  { 0x0700, 0x1463, 0x0000 },\n  { 0x8700, 0x1466, 0x2000 },\n  { 0x0700, 0x1465, 0x0000 },\n  { 0x0700, 0x1467, 0x0000 },\n  { 0x8700, 0x1470, 0x4000 },\n  { 0x8700, 0x146c, 0x3000 },\n  { 0x8700, 0x146a, 0x2000 },\n  { 0x0700, 0x1469, 0x0000 },\n  { 0x0700, 0x146b, 0x0000 },\n  { 0x8700, 0x146e, 0x2000 },\n  { 0x0700, 0x146d, 0x0000 },\n  { 0x0700, 0x146f, 0x0000 },\n  { 0x8700, 0x1474, 0x3000 },\n  { 0x8700, 0x1472, 0x2000 },\n  { 0x0700, 0x1471, 0x0000 },\n  { 0x0700, 0x1473, 0x0000 },\n  { 0x8700, 0x1476, 0x2000 },\n  { 0x0700, 0x1475, 0x0000 },\n  { 0x0700, 0x1477, 0x0000 },\n  { 0x8700, 0x1488, 0x5000 },\n  { 0x8700, 0x1480, 0x4000 },\n  { 0x8700, 0x147c, 0x3000 },\n  { 0x8700, 0x147a, 0x2000 },\n  { 0x0700, 0x1479, 0x0000 },\n  { 0x0700, 0x147b, 0x0000 },\n  { 0x8700, 0x147e, 0x2000 },\n  { 0x0700, 0x147d, 0x0000 },\n  { 0x0700, 0x147f, 0x0000 },\n  { 0x8700, 0x1484, 0x3000 },\n  { 0x8700, 0x1482, 0x2000 },\n  { 0x0700, 0x1481, 0x0000 },\n  { 0x0700, 0x1483, 0x0000 },\n  { 0x8700, 0x1486, 0x2000 },\n  { 0x0700, 0x1485, 0x0000 },\n  { 0x0700, 0x1487, 0x0000 },\n  { 0x8700, 0x1490, 0x4000 },\n  { 0x8700, 0x148c, 0x3000 },\n  { 0x8700, 0x148a, 0x2000 },\n  { 0x0700, 0x1489, 0x0000 },\n  { 0x0700, 0x148b, 0x0000 },\n  { 0x8700, 0x148e, 0x2000 },\n  { 0x0700, 0x148d, 0x0000 },\n  { 0x0700, 0x148f, 0x0000 },\n  { 0x8700, 0x1494, 0x3000 },\n  { 0x8700, 0x1492, 0x2000 },\n  { 0x0700, 0x1491, 0x0000 },\n  { 0x0700, 0x1493, 0x0000 },\n  { 0x8700, 0x1496, 0x2000 },\n  { 0x0700, 0x1495, 0x0000 },\n  { 0x0700, 0x1497, 0x0000 },\n  { 0x8700, 0x14b8, 0x6000 },\n  { 0x8700, 0x14a8, 0x5000 },\n  { 0x8700, 0x14a0, 0x4000 },\n  { 0x8700, 0x149c, 0x3000 },\n  { 0x8700, 0x149a, 0x2000 },\n  { 0x0700, 0x1499, 0x0000 },\n  { 0x0700, 0x149b, 0x0000 },\n  { 0x8700, 0x149e, 0x2000 },\n  { 0x0700, 0x149d, 0x0000 },\n  { 0x0700, 0x149f, 0x0000 },\n  { 0x8700, 0x14a4, 0x3000 },\n  { 0x8700, 0x14a2, 0x2000 },\n  { 0x0700, 0x14a1, 0x0000 },\n  { 0x0700, 0x14a3, 0x0000 },\n  { 0x8700, 0x14a6, 0x2000 },\n  { 0x0700, 0x14a5, 0x0000 },\n  { 0x0700, 0x14a7, 0x0000 },\n  { 0x8700, 0x14b0, 0x4000 },\n  { 0x8700, 0x14ac, 0x3000 },\n  { 0x8700, 0x14aa, 0x2000 },\n  { 0x0700, 0x14a9, 0x0000 },\n  { 0x0700, 0x14ab, 0x0000 },\n  { 0x8700, 0x14ae, 0x2000 },\n  { 0x0700, 0x14ad, 0x0000 },\n  { 0x0700, 0x14af, 0x0000 },\n  { 0x8700, 0x14b4, 0x3000 },\n  { 0x8700, 0x14b2, 0x2000 },\n  { 0x0700, 0x14b1, 0x0000 },\n  { 0x0700, 0x14b3, 0x0000 },\n  { 0x8700, 0x14b6, 0x2000 },\n  { 0x0700, 0x14b5, 0x0000 },\n  { 0x0700, 0x14b7, 0x0000 },\n  { 0x8700, 0x14c8, 0x5000 },\n  { 0x8700, 0x14c0, 0x4000 },\n  { 0x8700, 0x14bc, 0x3000 },\n  { 0x8700, 0x14ba, 0x2000 },\n  { 0x0700, 0x14b9, 0x0000 },\n  { 0x0700, 0x14bb, 0x0000 },\n  { 0x8700, 0x14be, 0x2000 },\n  { 0x0700, 0x14bd, 0x0000 },\n  { 0x0700, 0x14bf, 0x0000 },\n  { 0x8700, 0x14c4, 0x3000 },\n  { 0x8700, 0x14c2, 0x2000 },\n  { 0x0700, 0x14c1, 0x0000 },\n  { 0x0700, 0x14c3, 0x0000 },\n  { 0x8700, 0x14c6, 0x2000 },\n  { 0x0700, 0x14c5, 0x0000 },\n  { 0x0700, 0x14c7, 0x0000 },\n  { 0x8700, 0x14d0, 0x4000 },\n  { 0x8700, 0x14cc, 0x3000 },\n  { 0x8700, 0x14ca, 0x2000 },\n  { 0x0700, 0x14c9, 0x0000 },\n  { 0x0700, 0x14cb, 0x0000 },\n  { 0x8700, 0x14ce, 0x2000 },\n  { 0x0700, 0x14cd, 0x0000 },\n  { 0x0700, 0x14cf, 0x0000 },\n  { 0x8700, 0x14d4, 0x3000 },\n  { 0x8700, 0x14d2, 0x2000 },\n  { 0x0700, 0x14d1, 0x0000 },\n  { 0x0700, 0x14d3, 0x0000 },\n  { 0x8700, 0x14d6, 0x2000 },\n  { 0x0700, 0x14d5, 0x0000 },\n  { 0x0700, 0x14d7, 0x0000 },\n  { 0x8700, 0x1518, 0x7000 },\n  { 0x8700, 0x14f8, 0x6000 },\n  { 0x8700, 0x14e8, 0x5000 },\n  { 0x8700, 0x14e0, 0x4000 },\n  { 0x8700, 0x14dc, 0x3000 },\n  { 0x8700, 0x14da, 0x2000 },\n  { 0x0700, 0x14d9, 0x0000 },\n  { 0x0700, 0x14db, 0x0000 },\n  { 0x8700, 0x14de, 0x2000 },\n  { 0x0700, 0x14dd, 0x0000 },\n  { 0x0700, 0x14df, 0x0000 },\n  { 0x8700, 0x14e4, 0x3000 },\n  { 0x8700, 0x14e2, 0x2000 },\n  { 0x0700, 0x14e1, 0x0000 },\n  { 0x0700, 0x14e3, 0x0000 },\n  { 0x8700, 0x14e6, 0x2000 },\n  { 0x0700, 0x14e5, 0x0000 },\n  { 0x0700, 0x14e7, 0x0000 },\n  { 0x8700, 0x14f0, 0x4000 },\n  { 0x8700, 0x14ec, 0x3000 },\n  { 0x8700, 0x14ea, 0x2000 },\n  { 0x0700, 0x14e9, 0x0000 },\n  { 0x0700, 0x14eb, 0x0000 },\n  { 0x8700, 0x14ee, 0x2000 },\n  { 0x0700, 0x14ed, 0x0000 },\n  { 0x0700, 0x14ef, 0x0000 },\n  { 0x8700, 0x14f4, 0x3000 },\n  { 0x8700, 0x14f2, 0x2000 },\n  { 0x0700, 0x14f1, 0x0000 },\n  { 0x0700, 0x14f3, 0x0000 },\n  { 0x8700, 0x14f6, 0x2000 },\n  { 0x0700, 0x14f5, 0x0000 },\n  { 0x0700, 0x14f7, 0x0000 },\n  { 0x8700, 0x1508, 0x5000 },\n  { 0x8700, 0x1500, 0x4000 },\n  { 0x8700, 0x14fc, 0x3000 },\n  { 0x8700, 0x14fa, 0x2000 },\n  { 0x0700, 0x14f9, 0x0000 },\n  { 0x0700, 0x14fb, 0x0000 },\n  { 0x8700, 0x14fe, 0x2000 },\n  { 0x0700, 0x14fd, 0x0000 },\n  { 0x0700, 0x14ff, 0x0000 },\n  { 0x8700, 0x1504, 0x3000 },\n  { 0x8700, 0x1502, 0x2000 },\n  { 0x0700, 0x1501, 0x0000 },\n  { 0x0700, 0x1503, 0x0000 },\n  { 0x8700, 0x1506, 0x2000 },\n  { 0x0700, 0x1505, 0x0000 },\n  { 0x0700, 0x1507, 0x0000 },\n  { 0x8700, 0x1510, 0x4000 },\n  { 0x8700, 0x150c, 0x3000 },\n  { 0x8700, 0x150a, 0x2000 },\n  { 0x0700, 0x1509, 0x0000 },\n  { 0x0700, 0x150b, 0x0000 },\n  { 0x8700, 0x150e, 0x2000 },\n  { 0x0700, 0x150d, 0x0000 },\n  { 0x0700, 0x150f, 0x0000 },\n  { 0x8700, 0x1514, 0x3000 },\n  { 0x8700, 0x1512, 0x2000 },\n  { 0x0700, 0x1511, 0x0000 },\n  { 0x0700, 0x1513, 0x0000 },\n  { 0x8700, 0x1516, 0x2000 },\n  { 0x0700, 0x1515, 0x0000 },\n  { 0x0700, 0x1517, 0x0000 },\n  { 0x8700, 0x1538, 0x6000 },\n  { 0x8700, 0x1528, 0x5000 },\n  { 0x8700, 0x1520, 0x4000 },\n  { 0x8700, 0x151c, 0x3000 },\n  { 0x8700, 0x151a, 0x2000 },\n  { 0x0700, 0x1519, 0x0000 },\n  { 0x0700, 0x151b, 0x0000 },\n  { 0x8700, 0x151e, 0x2000 },\n  { 0x0700, 0x151d, 0x0000 },\n  { 0x0700, 0x151f, 0x0000 },\n  { 0x8700, 0x1524, 0x3000 },\n  { 0x8700, 0x1522, 0x2000 },\n  { 0x0700, 0x1521, 0x0000 },\n  { 0x0700, 0x1523, 0x0000 },\n  { 0x8700, 0x1526, 0x2000 },\n  { 0x0700, 0x1525, 0x0000 },\n  { 0x0700, 0x1527, 0x0000 },\n  { 0x8700, 0x1530, 0x4000 },\n  { 0x8700, 0x152c, 0x3000 },\n  { 0x8700, 0x152a, 0x2000 },\n  { 0x0700, 0x1529, 0x0000 },\n  { 0x0700, 0x152b, 0x0000 },\n  { 0x8700, 0x152e, 0x2000 },\n  { 0x0700, 0x152d, 0x0000 },\n  { 0x0700, 0x152f, 0x0000 },\n  { 0x8700, 0x1534, 0x3000 },\n  { 0x8700, 0x1532, 0x2000 },\n  { 0x0700, 0x1531, 0x0000 },\n  { 0x0700, 0x1533, 0x0000 },\n  { 0x8700, 0x1536, 0x2000 },\n  { 0x0700, 0x1535, 0x0000 },\n  { 0x0700, 0x1537, 0x0000 },\n  { 0x8700, 0x1548, 0x5000 },\n  { 0x8700, 0x1540, 0x4000 },\n  { 0x8700, 0x153c, 0x3000 },\n  { 0x8700, 0x153a, 0x2000 },\n  { 0x0700, 0x1539, 0x0000 },\n  { 0x0700, 0x153b, 0x0000 },\n  { 0x8700, 0x153e, 0x2000 },\n  { 0x0700, 0x153d, 0x0000 },\n  { 0x0700, 0x153f, 0x0000 },\n  { 0x8700, 0x1544, 0x3000 },\n  { 0x8700, 0x1542, 0x2000 },\n  { 0x0700, 0x1541, 0x0000 },\n  { 0x0700, 0x1543, 0x0000 },\n  { 0x8700, 0x1546, 0x2000 },\n  { 0x0700, 0x1545, 0x0000 },\n  { 0x0700, 0x1547, 0x0000 },\n  { 0x8700, 0x1550, 0x4000 },\n  { 0x8700, 0x154c, 0x3000 },\n  { 0x8700, 0x154a, 0x2000 },\n  { 0x0700, 0x1549, 0x0000 },\n  { 0x0700, 0x154b, 0x0000 },\n  { 0x8700, 0x154e, 0x2000 },\n  { 0x0700, 0x154d, 0x0000 },\n  { 0x0700, 0x154f, 0x0000 },\n  { 0x8700, 0x1554, 0x3000 },\n  { 0x8700, 0x1552, 0x2000 },\n  { 0x0700, 0x1551, 0x0000 },\n  { 0x0700, 0x1553, 0x0000 },\n  { 0x8700, 0x1556, 0x2000 },\n  { 0x0700, 0x1555, 0x0000 },\n  { 0x0700, 0x1557, 0x0000 },\n  { 0x9900, 0x22ae, 0xc000 },\n  { 0x8900, 0x1e24, 0xb001 },\n  { 0x8700, 0x17a2, 0xa000 },\n  { 0x8700, 0x1658, 0x9000 },\n  { 0x8700, 0x15d8, 0x8000 },\n  { 0x8700, 0x1598, 0x7000 },\n  { 0x8700, 0x1578, 0x6000 },\n  { 0x8700, 0x1568, 0x5000 },\n  { 0x8700, 0x1560, 0x4000 },\n  { 0x8700, 0x155c, 0x3000 },\n  { 0x8700, 0x155a, 0x2000 },\n  { 0x0700, 0x1559, 0x0000 },\n  { 0x0700, 0x155b, 0x0000 },\n  { 0x8700, 0x155e, 0x2000 },\n  { 0x0700, 0x155d, 0x0000 },\n  { 0x0700, 0x155f, 0x0000 },\n  { 0x8700, 0x1564, 0x3000 },\n  { 0x8700, 0x1562, 0x2000 },\n  { 0x0700, 0x1561, 0x0000 },\n  { 0x0700, 0x1563, 0x0000 },\n  { 0x8700, 0x1566, 0x2000 },\n  { 0x0700, 0x1565, 0x0000 },\n  { 0x0700, 0x1567, 0x0000 },\n  { 0x8700, 0x1570, 0x4000 },\n  { 0x8700, 0x156c, 0x3000 },\n  { 0x8700, 0x156a, 0x2000 },\n  { 0x0700, 0x1569, 0x0000 },\n  { 0x0700, 0x156b, 0x0000 },\n  { 0x8700, 0x156e, 0x2000 },\n  { 0x0700, 0x156d, 0x0000 },\n  { 0x0700, 0x156f, 0x0000 },\n  { 0x8700, 0x1574, 0x3000 },\n  { 0x8700, 0x1572, 0x2000 },\n  { 0x0700, 0x1571, 0x0000 },\n  { 0x0700, 0x1573, 0x0000 },\n  { 0x8700, 0x1576, 0x2000 },\n  { 0x0700, 0x1575, 0x0000 },\n  { 0x0700, 0x1577, 0x0000 },\n  { 0x8700, 0x1588, 0x5000 },\n  { 0x8700, 0x1580, 0x4000 },\n  { 0x8700, 0x157c, 0x3000 },\n  { 0x8700, 0x157a, 0x2000 },\n  { 0x0700, 0x1579, 0x0000 },\n  { 0x0700, 0x157b, 0x0000 },\n  { 0x8700, 0x157e, 0x2000 },\n  { 0x0700, 0x157d, 0x0000 },\n  { 0x0700, 0x157f, 0x0000 },\n  { 0x8700, 0x1584, 0x3000 },\n  { 0x8700, 0x1582, 0x2000 },\n  { 0x0700, 0x1581, 0x0000 },\n  { 0x0700, 0x1583, 0x0000 },\n  { 0x8700, 0x1586, 0x2000 },\n  { 0x0700, 0x1585, 0x0000 },\n  { 0x0700, 0x1587, 0x0000 },\n  { 0x8700, 0x1590, 0x4000 },\n  { 0x8700, 0x158c, 0x3000 },\n  { 0x8700, 0x158a, 0x2000 },\n  { 0x0700, 0x1589, 0x0000 },\n  { 0x0700, 0x158b, 0x0000 },\n  { 0x8700, 0x158e, 0x2000 },\n  { 0x0700, 0x158d, 0x0000 },\n  { 0x0700, 0x158f, 0x0000 },\n  { 0x8700, 0x1594, 0x3000 },\n  { 0x8700, 0x1592, 0x2000 },\n  { 0x0700, 0x1591, 0x0000 },\n  { 0x0700, 0x1593, 0x0000 },\n  { 0x8700, 0x1596, 0x2000 },\n  { 0x0700, 0x1595, 0x0000 },\n  { 0x0700, 0x1597, 0x0000 },\n  { 0x8700, 0x15b8, 0x6000 },\n  { 0x8700, 0x15a8, 0x5000 },\n  { 0x8700, 0x15a0, 0x4000 },\n  { 0x8700, 0x159c, 0x3000 },\n  { 0x8700, 0x159a, 0x2000 },\n  { 0x0700, 0x1599, 0x0000 },\n  { 0x0700, 0x159b, 0x0000 },\n  { 0x8700, 0x159e, 0x2000 },\n  { 0x0700, 0x159d, 0x0000 },\n  { 0x0700, 0x159f, 0x0000 },\n  { 0x8700, 0x15a4, 0x3000 },\n  { 0x8700, 0x15a2, 0x2000 },\n  { 0x0700, 0x15a1, 0x0000 },\n  { 0x0700, 0x15a3, 0x0000 },\n  { 0x8700, 0x15a6, 0x2000 },\n  { 0x0700, 0x15a5, 0x0000 },\n  { 0x0700, 0x15a7, 0x0000 },\n  { 0x8700, 0x15b0, 0x4000 },\n  { 0x8700, 0x15ac, 0x3000 },\n  { 0x8700, 0x15aa, 0x2000 },\n  { 0x0700, 0x15a9, 0x0000 },\n  { 0x0700, 0x15ab, 0x0000 },\n  { 0x8700, 0x15ae, 0x2000 },\n  { 0x0700, 0x15ad, 0x0000 },\n  { 0x0700, 0x15af, 0x0000 },\n  { 0x8700, 0x15b4, 0x3000 },\n  { 0x8700, 0x15b2, 0x2000 },\n  { 0x0700, 0x15b1, 0x0000 },\n  { 0x0700, 0x15b3, 0x0000 },\n  { 0x8700, 0x15b6, 0x2000 },\n  { 0x0700, 0x15b5, 0x0000 },\n  { 0x0700, 0x15b7, 0x0000 },\n  { 0x8700, 0x15c8, 0x5000 },\n  { 0x8700, 0x15c0, 0x4000 },\n  { 0x8700, 0x15bc, 0x3000 },\n  { 0x8700, 0x15ba, 0x2000 },\n  { 0x0700, 0x15b9, 0x0000 },\n  { 0x0700, 0x15bb, 0x0000 },\n  { 0x8700, 0x15be, 0x2000 },\n  { 0x0700, 0x15bd, 0x0000 },\n  { 0x0700, 0x15bf, 0x0000 },\n  { 0x8700, 0x15c4, 0x3000 },\n  { 0x8700, 0x15c2, 0x2000 },\n  { 0x0700, 0x15c1, 0x0000 },\n  { 0x0700, 0x15c3, 0x0000 },\n  { 0x8700, 0x15c6, 0x2000 },\n  { 0x0700, 0x15c5, 0x0000 },\n  { 0x0700, 0x15c7, 0x0000 },\n  { 0x8700, 0x15d0, 0x4000 },\n  { 0x8700, 0x15cc, 0x3000 },\n  { 0x8700, 0x15ca, 0x2000 },\n  { 0x0700, 0x15c9, 0x0000 },\n  { 0x0700, 0x15cb, 0x0000 },\n  { 0x8700, 0x15ce, 0x2000 },\n  { 0x0700, 0x15cd, 0x0000 },\n  { 0x0700, 0x15cf, 0x0000 },\n  { 0x8700, 0x15d4, 0x3000 },\n  { 0x8700, 0x15d2, 0x2000 },\n  { 0x0700, 0x15d1, 0x0000 },\n  { 0x0700, 0x15d3, 0x0000 },\n  { 0x8700, 0x15d6, 0x2000 },\n  { 0x0700, 0x15d5, 0x0000 },\n  { 0x0700, 0x15d7, 0x0000 },\n  { 0x8700, 0x1618, 0x7000 },\n  { 0x8700, 0x15f8, 0x6000 },\n  { 0x8700, 0x15e8, 0x5000 },\n  { 0x8700, 0x15e0, 0x4000 },\n  { 0x8700, 0x15dc, 0x3000 },\n  { 0x8700, 0x15da, 0x2000 },\n  { 0x0700, 0x15d9, 0x0000 },\n  { 0x0700, 0x15db, 0x0000 },\n  { 0x8700, 0x15de, 0x2000 },\n  { 0x0700, 0x15dd, 0x0000 },\n  { 0x0700, 0x15df, 0x0000 },\n  { 0x8700, 0x15e4, 0x3000 },\n  { 0x8700, 0x15e2, 0x2000 },\n  { 0x0700, 0x15e1, 0x0000 },\n  { 0x0700, 0x15e3, 0x0000 },\n  { 0x8700, 0x15e6, 0x2000 },\n  { 0x0700, 0x15e5, 0x0000 },\n  { 0x0700, 0x15e7, 0x0000 },\n  { 0x8700, 0x15f0, 0x4000 },\n  { 0x8700, 0x15ec, 0x3000 },\n  { 0x8700, 0x15ea, 0x2000 },\n  { 0x0700, 0x15e9, 0x0000 },\n  { 0x0700, 0x15eb, 0x0000 },\n  { 0x8700, 0x15ee, 0x2000 },\n  { 0x0700, 0x15ed, 0x0000 },\n  { 0x0700, 0x15ef, 0x0000 },\n  { 0x8700, 0x15f4, 0x3000 },\n  { 0x8700, 0x15f2, 0x2000 },\n  { 0x0700, 0x15f1, 0x0000 },\n  { 0x0700, 0x15f3, 0x0000 },\n  { 0x8700, 0x15f6, 0x2000 },\n  { 0x0700, 0x15f5, 0x0000 },\n  { 0x0700, 0x15f7, 0x0000 },\n  { 0x8700, 0x1608, 0x5000 },\n  { 0x8700, 0x1600, 0x4000 },\n  { 0x8700, 0x15fc, 0x3000 },\n  { 0x8700, 0x15fa, 0x2000 },\n  { 0x0700, 0x15f9, 0x0000 },\n  { 0x0700, 0x15fb, 0x0000 },\n  { 0x8700, 0x15fe, 0x2000 },\n  { 0x0700, 0x15fd, 0x0000 },\n  { 0x0700, 0x15ff, 0x0000 },\n  { 0x8700, 0x1604, 0x3000 },\n  { 0x8700, 0x1602, 0x2000 },\n  { 0x0700, 0x1601, 0x0000 },\n  { 0x0700, 0x1603, 0x0000 },\n  { 0x8700, 0x1606, 0x2000 },\n  { 0x0700, 0x1605, 0x0000 },\n  { 0x0700, 0x1607, 0x0000 },\n  { 0x8700, 0x1610, 0x4000 },\n  { 0x8700, 0x160c, 0x3000 },\n  { 0x8700, 0x160a, 0x2000 },\n  { 0x0700, 0x1609, 0x0000 },\n  { 0x0700, 0x160b, 0x0000 },\n  { 0x8700, 0x160e, 0x2000 },\n  { 0x0700, 0x160d, 0x0000 },\n  { 0x0700, 0x160f, 0x0000 },\n  { 0x8700, 0x1614, 0x3000 },\n  { 0x8700, 0x1612, 0x2000 },\n  { 0x0700, 0x1611, 0x0000 },\n  { 0x0700, 0x1613, 0x0000 },\n  { 0x8700, 0x1616, 0x2000 },\n  { 0x0700, 0x1615, 0x0000 },\n  { 0x0700, 0x1617, 0x0000 },\n  { 0x8700, 0x1638, 0x6000 },\n  { 0x8700, 0x1628, 0x5000 },\n  { 0x8700, 0x1620, 0x4000 },\n  { 0x8700, 0x161c, 0x3000 },\n  { 0x8700, 0x161a, 0x2000 },\n  { 0x0700, 0x1619, 0x0000 },\n  { 0x0700, 0x161b, 0x0000 },\n  { 0x8700, 0x161e, 0x2000 },\n  { 0x0700, 0x161d, 0x0000 },\n  { 0x0700, 0x161f, 0x0000 },\n  { 0x8700, 0x1624, 0x3000 },\n  { 0x8700, 0x1622, 0x2000 },\n  { 0x0700, 0x1621, 0x0000 },\n  { 0x0700, 0x1623, 0x0000 },\n  { 0x8700, 0x1626, 0x2000 },\n  { 0x0700, 0x1625, 0x0000 },\n  { 0x0700, 0x1627, 0x0000 },\n  { 0x8700, 0x1630, 0x4000 },\n  { 0x8700, 0x162c, 0x3000 },\n  { 0x8700, 0x162a, 0x2000 },\n  { 0x0700, 0x1629, 0x0000 },\n  { 0x0700, 0x162b, 0x0000 },\n  { 0x8700, 0x162e, 0x2000 },\n  { 0x0700, 0x162d, 0x0000 },\n  { 0x0700, 0x162f, 0x0000 },\n  { 0x8700, 0x1634, 0x3000 },\n  { 0x8700, 0x1632, 0x2000 },\n  { 0x0700, 0x1631, 0x0000 },\n  { 0x0700, 0x1633, 0x0000 },\n  { 0x8700, 0x1636, 0x2000 },\n  { 0x0700, 0x1635, 0x0000 },\n  { 0x0700, 0x1637, 0x0000 },\n  { 0x8700, 0x1648, 0x5000 },\n  { 0x8700, 0x1640, 0x4000 },\n  { 0x8700, 0x163c, 0x3000 },\n  { 0x8700, 0x163a, 0x2000 },\n  { 0x0700, 0x1639, 0x0000 },\n  { 0x0700, 0x163b, 0x0000 },\n  { 0x8700, 0x163e, 0x2000 },\n  { 0x0700, 0x163d, 0x0000 },\n  { 0x0700, 0x163f, 0x0000 },\n  { 0x8700, 0x1644, 0x3000 },\n  { 0x8700, 0x1642, 0x2000 },\n  { 0x0700, 0x1641, 0x0000 },\n  { 0x0700, 0x1643, 0x0000 },\n  { 0x8700, 0x1646, 0x2000 },\n  { 0x0700, 0x1645, 0x0000 },\n  { 0x0700, 0x1647, 0x0000 },\n  { 0x8700, 0x1650, 0x4000 },\n  { 0x8700, 0x164c, 0x3000 },\n  { 0x8700, 0x164a, 0x2000 },\n  { 0x0700, 0x1649, 0x0000 },\n  { 0x0700, 0x164b, 0x0000 },\n  { 0x8700, 0x164e, 0x2000 },\n  { 0x0700, 0x164d, 0x0000 },\n  { 0x0700, 0x164f, 0x0000 },\n  { 0x8700, 0x1654, 0x3000 },\n  { 0x8700, 0x1652, 0x2000 },\n  { 0x0700, 0x1651, 0x0000 },\n  { 0x0700, 0x1653, 0x0000 },\n  { 0x8700, 0x1656, 0x2000 },\n  { 0x0700, 0x1655, 0x0000 },\n  { 0x0700, 0x1657, 0x0000 },\n  { 0x8700, 0x16e4, 0x8000 },\n  { 0x8700, 0x16a4, 0x7000 },\n  { 0x8700, 0x1681, 0x6000 },\n  { 0x8700, 0x1668, 0x5000 },\n  { 0x8700, 0x1660, 0x4000 },\n  { 0x8700, 0x165c, 0x3000 },\n  { 0x8700, 0x165a, 0x2000 },\n  { 0x0700, 0x1659, 0x0000 },\n  { 0x0700, 0x165b, 0x0000 },\n  { 0x8700, 0x165e, 0x2000 },\n  { 0x0700, 0x165d, 0x0000 },\n  { 0x0700, 0x165f, 0x0000 },\n  { 0x8700, 0x1664, 0x3000 },\n  { 0x8700, 0x1662, 0x2000 },\n  { 0x0700, 0x1661, 0x0000 },\n  { 0x0700, 0x1663, 0x0000 },\n  { 0x8700, 0x1666, 0x2000 },\n  { 0x0700, 0x1665, 0x0000 },\n  { 0x0700, 0x1667, 0x0000 },\n  { 0x8700, 0x1670, 0x4000 },\n  { 0x8700, 0x166c, 0x3000 },\n  { 0x8700, 0x166a, 0x2000 },\n  { 0x0700, 0x1669, 0x0000 },\n  { 0x0700, 0x166b, 0x0000 },\n  { 0x9500, 0x166e, 0x2000 },\n  { 0x1500, 0x166d, 0x0000 },\n  { 0x0700, 0x166f, 0x0000 },\n  { 0x8700, 0x1674, 0x3000 },\n  { 0x8700, 0x1672, 0x2000 },\n  { 0x0700, 0x1671, 0x0000 },\n  { 0x0700, 0x1673, 0x0000 },\n  { 0x8700, 0x1676, 0x2000 },\n  { 0x0700, 0x1675, 0x0000 },\n  { 0x1d00, 0x1680, 0x0000 },\n  { 0x8700, 0x1691, 0x5000 },\n  { 0x8700, 0x1689, 0x4000 },\n  { 0x8700, 0x1685, 0x3000 },\n  { 0x8700, 0x1683, 0x2000 },\n  { 0x0700, 0x1682, 0x0000 },\n  { 0x0700, 0x1684, 0x0000 },\n  { 0x8700, 0x1687, 0x2000 },\n  { 0x0700, 0x1686, 0x0000 },\n  { 0x0700, 0x1688, 0x0000 },\n  { 0x8700, 0x168d, 0x3000 },\n  { 0x8700, 0x168b, 0x2000 },\n  { 0x0700, 0x168a, 0x0000 },\n  { 0x0700, 0x168c, 0x0000 },\n  { 0x8700, 0x168f, 0x2000 },\n  { 0x0700, 0x168e, 0x0000 },\n  { 0x0700, 0x1690, 0x0000 },\n  { 0x8700, 0x1699, 0x4000 },\n  { 0x8700, 0x1695, 0x3000 },\n  { 0x8700, 0x1693, 0x2000 },\n  { 0x0700, 0x1692, 0x0000 },\n  { 0x0700, 0x1694, 0x0000 },\n  { 0x8700, 0x1697, 0x2000 },\n  { 0x0700, 0x1696, 0x0000 },\n  { 0x0700, 0x1698, 0x0000 },\n  { 0x8700, 0x16a0, 0x3000 },\n  { 0x9600, 0x169b, 0x2000 },\n  { 0x0700, 0x169a, 0x0000 },\n  { 0x1200, 0x169c, 0x0000 },\n  { 0x8700, 0x16a2, 0x2000 },\n  { 0x0700, 0x16a1, 0x0000 },\n  { 0x0700, 0x16a3, 0x0000 },\n  { 0x8700, 0x16c4, 0x6000 },\n  { 0x8700, 0x16b4, 0x5000 },\n  { 0x8700, 0x16ac, 0x4000 },\n  { 0x8700, 0x16a8, 0x3000 },\n  { 0x8700, 0x16a6, 0x2000 },\n  { 0x0700, 0x16a5, 0x0000 },\n  { 0x0700, 0x16a7, 0x0000 },\n  { 0x8700, 0x16aa, 0x2000 },\n  { 0x0700, 0x16a9, 0x0000 },\n  { 0x0700, 0x16ab, 0x0000 },\n  { 0x8700, 0x16b0, 0x3000 },\n  { 0x8700, 0x16ae, 0x2000 },\n  { 0x0700, 0x16ad, 0x0000 },\n  { 0x0700, 0x16af, 0x0000 },\n  { 0x8700, 0x16b2, 0x2000 },\n  { 0x0700, 0x16b1, 0x0000 },\n  { 0x0700, 0x16b3, 0x0000 },\n  { 0x8700, 0x16bc, 0x4000 },\n  { 0x8700, 0x16b8, 0x3000 },\n  { 0x8700, 0x16b6, 0x2000 },\n  { 0x0700, 0x16b5, 0x0000 },\n  { 0x0700, 0x16b7, 0x0000 },\n  { 0x8700, 0x16ba, 0x2000 },\n  { 0x0700, 0x16b9, 0x0000 },\n  { 0x0700, 0x16bb, 0x0000 },\n  { 0x8700, 0x16c0, 0x3000 },\n  { 0x8700, 0x16be, 0x2000 },\n  { 0x0700, 0x16bd, 0x0000 },\n  { 0x0700, 0x16bf, 0x0000 },\n  { 0x8700, 0x16c2, 0x2000 },\n  { 0x0700, 0x16c1, 0x0000 },\n  { 0x0700, 0x16c3, 0x0000 },\n  { 0x8700, 0x16d4, 0x5000 },\n  { 0x8700, 0x16cc, 0x4000 },\n  { 0x8700, 0x16c8, 0x3000 },\n  { 0x8700, 0x16c6, 0x2000 },\n  { 0x0700, 0x16c5, 0x0000 },\n  { 0x0700, 0x16c7, 0x0000 },\n  { 0x8700, 0x16ca, 0x2000 },\n  { 0x0700, 0x16c9, 0x0000 },\n  { 0x0700, 0x16cb, 0x0000 },\n  { 0x8700, 0x16d0, 0x3000 },\n  { 0x8700, 0x16ce, 0x2000 },\n  { 0x0700, 0x16cd, 0x0000 },\n  { 0x0700, 0x16cf, 0x0000 },\n  { 0x8700, 0x16d2, 0x2000 },\n  { 0x0700, 0x16d1, 0x0000 },\n  { 0x0700, 0x16d3, 0x0000 },\n  { 0x8700, 0x16dc, 0x4000 },\n  { 0x8700, 0x16d8, 0x3000 },\n  { 0x8700, 0x16d6, 0x2000 },\n  { 0x0700, 0x16d5, 0x0000 },\n  { 0x0700, 0x16d7, 0x0000 },\n  { 0x8700, 0x16da, 0x2000 },\n  { 0x0700, 0x16d9, 0x0000 },\n  { 0x0700, 0x16db, 0x0000 },\n  { 0x8700, 0x16e0, 0x3000 },\n  { 0x8700, 0x16de, 0x2000 },\n  { 0x0700, 0x16dd, 0x0000 },\n  { 0x0700, 0x16df, 0x0000 },\n  { 0x8700, 0x16e2, 0x2000 },\n  { 0x0700, 0x16e1, 0x0000 },\n  { 0x0700, 0x16e3, 0x0000 },\n  { 0x8700, 0x1748, 0x7000 },\n  { 0x8c00, 0x1714, 0x6000 },\n  { 0x8700, 0x1703, 0x5000 },\n  { 0x9500, 0x16ec, 0x4000 },\n  { 0x8700, 0x16e8, 0x3000 },\n  { 0x8700, 0x16e6, 0x2000 },\n  { 0x0700, 0x16e5, 0x0000 },\n  { 0x0700, 0x16e7, 0x0000 },\n  { 0x8700, 0x16ea, 0x2000 },\n  { 0x0700, 0x16e9, 0x0000 },\n  { 0x1500, 0x16eb, 0x0000 },\n  { 0x8e00, 0x16f0, 0x3000 },\n  { 0x8e00, 0x16ee, 0x2000 },\n  { 0x1500, 0x16ed, 0x0000 },\n  { 0x0e00, 0x16ef, 0x0000 },\n  { 0x8700, 0x1701, 0x2000 },\n  { 0x0700, 0x1700, 0x0000 },\n  { 0x0700, 0x1702, 0x0000 },\n  { 0x8700, 0x170b, 0x4000 },\n  { 0x8700, 0x1707, 0x3000 },\n  { 0x8700, 0x1705, 0x2000 },\n  { 0x0700, 0x1704, 0x0000 },\n  { 0x0700, 0x1706, 0x0000 },\n  { 0x8700, 0x1709, 0x2000 },\n  { 0x0700, 0x1708, 0x0000 },\n  { 0x0700, 0x170a, 0x0000 },\n  { 0x8700, 0x1710, 0x3000 },\n  { 0x8700, 0x170e, 0x2000 },\n  { 0x0700, 0x170c, 0x0000 },\n  { 0x0700, 0x170f, 0x0000 },\n  { 0x8c00, 0x1712, 0x2000 },\n  { 0x0700, 0x1711, 0x0000 },\n  { 0x0c00, 0x1713, 0x0000 },\n  { 0x8700, 0x172f, 0x5000 },\n  { 0x8700, 0x1727, 0x4000 },\n  { 0x8700, 0x1723, 0x3000 },\n  { 0x8700, 0x1721, 0x2000 },\n  { 0x0700, 0x1720, 0x0000 },\n  { 0x0700, 0x1722, 0x0000 },\n  { 0x8700, 0x1725, 0x2000 },\n  { 0x0700, 0x1724, 0x0000 },\n  { 0x0700, 0x1726, 0x0000 },\n  { 0x8700, 0x172b, 0x3000 },\n  { 0x8700, 0x1729, 0x2000 },\n  { 0x0700, 0x1728, 0x0000 },\n  { 0x0700, 0x172a, 0x0000 },\n  { 0x8700, 0x172d, 0x2000 },\n  { 0x0700, 0x172c, 0x0000 },\n  { 0x0700, 0x172e, 0x0000 },\n  { 0x8700, 0x1740, 0x4000 },\n  { 0x8c00, 0x1733, 0x3000 },\n  { 0x8700, 0x1731, 0x2000 },\n  { 0x0700, 0x1730, 0x0000 },\n  { 0x0c00, 0x1732, 0x0000 },\n  { 0x9500, 0x1735, 0x2000 },\n  { 0x0c00, 0x1734, 0x0000 },\n  { 0x1500, 0x1736, 0x0000 },\n  { 0x8700, 0x1744, 0x3000 },\n  { 0x8700, 0x1742, 0x2000 },\n  { 0x0700, 0x1741, 0x0000 },\n  { 0x0700, 0x1743, 0x0000 },\n  { 0x8700, 0x1746, 0x2000 },\n  { 0x0700, 0x1745, 0x0000 },\n  { 0x0700, 0x1747, 0x0000 },\n  { 0x8700, 0x1782, 0x6000 },\n  { 0x8700, 0x1764, 0x5000 },\n  { 0x8700, 0x1750, 0x4000 },\n  { 0x8700, 0x174c, 0x3000 },\n  { 0x8700, 0x174a, 0x2000 },\n  { 0x0700, 0x1749, 0x0000 },\n  { 0x0700, 0x174b, 0x0000 },\n  { 0x8700, 0x174e, 0x2000 },\n  { 0x0700, 0x174d, 0x0000 },\n  { 0x0700, 0x174f, 0x0000 },\n  { 0x8700, 0x1760, 0x3000 },\n  { 0x8c00, 0x1752, 0x2000 },\n  { 0x0700, 0x1751, 0x0000 },\n  { 0x0c00, 0x1753, 0x0000 },\n  { 0x8700, 0x1762, 0x2000 },\n  { 0x0700, 0x1761, 0x0000 },\n  { 0x0700, 0x1763, 0x0000 },\n  { 0x8700, 0x176c, 0x4000 },\n  { 0x8700, 0x1768, 0x3000 },\n  { 0x8700, 0x1766, 0x2000 },\n  { 0x0700, 0x1765, 0x0000 },\n  { 0x0700, 0x1767, 0x0000 },\n  { 0x8700, 0x176a, 0x2000 },\n  { 0x0700, 0x1769, 0x0000 },\n  { 0x0700, 0x176b, 0x0000 },\n  { 0x8c00, 0x1772, 0x3000 },\n  { 0x8700, 0x176f, 0x2000 },\n  { 0x0700, 0x176e, 0x0000 },\n  { 0x0700, 0x1770, 0x0000 },\n  { 0x8700, 0x1780, 0x2000 },\n  { 0x0c00, 0x1773, 0x0000 },\n  { 0x0700, 0x1781, 0x0000 },\n  { 0x8700, 0x1792, 0x5000 },\n  { 0x8700, 0x178a, 0x4000 },\n  { 0x8700, 0x1786, 0x3000 },\n  { 0x8700, 0x1784, 0x2000 },\n  { 0x0700, 0x1783, 0x0000 },\n  { 0x0700, 0x1785, 0x0000 },\n  { 0x8700, 0x1788, 0x2000 },\n  { 0x0700, 0x1787, 0x0000 },\n  { 0x0700, 0x1789, 0x0000 },\n  { 0x8700, 0x178e, 0x3000 },\n  { 0x8700, 0x178c, 0x2000 },\n  { 0x0700, 0x178b, 0x0000 },\n  { 0x0700, 0x178d, 0x0000 },\n  { 0x8700, 0x1790, 0x2000 },\n  { 0x0700, 0x178f, 0x0000 },\n  { 0x0700, 0x1791, 0x0000 },\n  { 0x8700, 0x179a, 0x4000 },\n  { 0x8700, 0x1796, 0x3000 },\n  { 0x8700, 0x1794, 0x2000 },\n  { 0x0700, 0x1793, 0x0000 },\n  { 0x0700, 0x1795, 0x0000 },\n  { 0x8700, 0x1798, 0x2000 },\n  { 0x0700, 0x1797, 0x0000 },\n  { 0x0700, 0x1799, 0x0000 },\n  { 0x8700, 0x179e, 0x3000 },\n  { 0x8700, 0x179c, 0x2000 },\n  { 0x0700, 0x179b, 0x0000 },\n  { 0x0700, 0x179d, 0x0000 },\n  { 0x8700, 0x17a0, 0x2000 },\n  { 0x0700, 0x179f, 0x0000 },\n  { 0x0700, 0x17a1, 0x0000 },\n  { 0x8700, 0x1915, 0x9000 },\n  { 0x8700, 0x1837, 0x8000 },\n  { 0x8d00, 0x17e4, 0x7000 },\n  { 0x8a00, 0x17c2, 0x6000 },\n  { 0x8700, 0x17b2, 0x5000 },\n  { 0x8700, 0x17aa, 0x4000 },\n  { 0x8700, 0x17a6, 0x3000 },\n  { 0x8700, 0x17a4, 0x2000 },\n  { 0x0700, 0x17a3, 0x0000 },\n  { 0x0700, 0x17a5, 0x0000 },\n  { 0x8700, 0x17a8, 0x2000 },\n  { 0x0700, 0x17a7, 0x0000 },\n  { 0x0700, 0x17a9, 0x0000 },\n  { 0x8700, 0x17ae, 0x3000 },\n  { 0x8700, 0x17ac, 0x2000 },\n  { 0x0700, 0x17ab, 0x0000 },\n  { 0x0700, 0x17ad, 0x0000 },\n  { 0x8700, 0x17b0, 0x2000 },\n  { 0x0700, 0x17af, 0x0000 },\n  { 0x0700, 0x17b1, 0x0000 },\n  { 0x8c00, 0x17ba, 0x4000 },\n  { 0x8a00, 0x17b6, 0x3000 },\n  { 0x8100, 0x17b4, 0x2000 },\n  { 0x0700, 0x17b3, 0x0000 },\n  { 0x0100, 0x17b5, 0x0000 },\n  { 0x8c00, 0x17b8, 0x2000 },\n  { 0x0c00, 0x17b7, 0x0000 },\n  { 0x0c00, 0x17b9, 0x0000 },\n  { 0x8a00, 0x17be, 0x3000 },\n  { 0x8c00, 0x17bc, 0x2000 },\n  { 0x0c00, 0x17bb, 0x0000 },\n  { 0x0c00, 0x17bd, 0x0000 },\n  { 0x8a00, 0x17c0, 0x2000 },\n  { 0x0a00, 0x17bf, 0x0000 },\n  { 0x0a00, 0x17c1, 0x0000 },\n  { 0x8c00, 0x17d2, 0x5000 },\n  { 0x8c00, 0x17ca, 0x4000 },\n  { 0x8c00, 0x17c6, 0x3000 },\n  { 0x8a00, 0x17c4, 0x2000 },\n  { 0x0a00, 0x17c3, 0x0000 },\n  { 0x0a00, 0x17c5, 0x0000 },\n  { 0x8a00, 0x17c8, 0x2000 },\n  { 0x0a00, 0x17c7, 0x0000 },\n  { 0x0c00, 0x17c9, 0x0000 },\n  { 0x8c00, 0x17ce, 0x3000 },\n  { 0x8c00, 0x17cc, 0x2000 },\n  { 0x0c00, 0x17cb, 0x0000 },\n  { 0x0c00, 0x17cd, 0x0000 },\n  { 0x8c00, 0x17d0, 0x2000 },\n  { 0x0c00, 0x17cf, 0x0000 },\n  { 0x0c00, 0x17d1, 0x0000 },\n  { 0x9500, 0x17da, 0x4000 },\n  { 0x9500, 0x17d6, 0x3000 },\n  { 0x9500, 0x17d4, 0x2000 },\n  { 0x0c00, 0x17d3, 0x0000 },\n  { 0x1500, 0x17d5, 0x0000 },\n  { 0x9500, 0x17d8, 0x2000 },\n  { 0x0600, 0x17d7, 0x0000 },\n  { 0x1500, 0x17d9, 0x0000 },\n  { 0x8d00, 0x17e0, 0x3000 },\n  { 0x8700, 0x17dc, 0x2000 },\n  { 0x1700, 0x17db, 0x0000 },\n  { 0x0c00, 0x17dd, 0x0000 },\n  { 0x8d00, 0x17e2, 0x2000 },\n  { 0x0d00, 0x17e1, 0x0000 },\n  { 0x0d00, 0x17e3, 0x0000 },\n  { 0x8d00, 0x1811, 0x6000 },\n  { 0x9500, 0x1800, 0x5000 },\n  { 0x8f00, 0x17f2, 0x4000 },\n  { 0x8d00, 0x17e8, 0x3000 },\n  { 0x8d00, 0x17e6, 0x2000 },\n  { 0x0d00, 0x17e5, 0x0000 },\n  { 0x0d00, 0x17e7, 0x0000 },\n  { 0x8f00, 0x17f0, 0x2000 },\n  { 0x0d00, 0x17e9, 0x0000 },\n  { 0x0f00, 0x17f1, 0x0000 },\n  { 0x8f00, 0x17f6, 0x3000 },\n  { 0x8f00, 0x17f4, 0x2000 },\n  { 0x0f00, 0x17f3, 0x0000 },\n  { 0x0f00, 0x17f5, 0x0000 },\n  { 0x8f00, 0x17f8, 0x2000 },\n  { 0x0f00, 0x17f7, 0x0000 },\n  { 0x0f00, 0x17f9, 0x0000 },\n  { 0x9500, 0x1808, 0x4000 },\n  { 0x9500, 0x1804, 0x3000 },\n  { 0x9500, 0x1802, 0x2000 },\n  { 0x1500, 0x1801, 0x0000 },\n  { 0x1500, 0x1803, 0x0000 },\n  { 0x9100, 0x1806, 0x2000 },\n  { 0x1500, 0x1805, 0x0000 },\n  { 0x1500, 0x1807, 0x0000 },\n  { 0x8c00, 0x180c, 0x3000 },\n  { 0x9500, 0x180a, 0x2000 },\n  { 0x1500, 0x1809, 0x0000 },\n  { 0x0c00, 0x180b, 0x0000 },\n  { 0x9d00, 0x180e, 0x2000 },\n  { 0x0c00, 0x180d, 0x0000 },\n  { 0x0d00, 0x1810, 0x0000 },\n  { 0x8700, 0x1827, 0x5000 },\n  { 0x8d00, 0x1819, 0x4000 },\n  { 0x8d00, 0x1815, 0x3000 },\n  { 0x8d00, 0x1813, 0x2000 },\n  { 0x0d00, 0x1812, 0x0000 },\n  { 0x0d00, 0x1814, 0x0000 },\n  { 0x8d00, 0x1817, 0x2000 },\n  { 0x0d00, 0x1816, 0x0000 },\n  { 0x0d00, 0x1818, 0x0000 },\n  { 0x8700, 0x1823, 0x3000 },\n  { 0x8700, 0x1821, 0x2000 },\n  { 0x0700, 0x1820, 0x0000 },\n  { 0x0700, 0x1822, 0x0000 },\n  { 0x8700, 0x1825, 0x2000 },\n  { 0x0700, 0x1824, 0x0000 },\n  { 0x0700, 0x1826, 0x0000 },\n  { 0x8700, 0x182f, 0x4000 },\n  { 0x8700, 0x182b, 0x3000 },\n  { 0x8700, 0x1829, 0x2000 },\n  { 0x0700, 0x1828, 0x0000 },\n  { 0x0700, 0x182a, 0x0000 },\n  { 0x8700, 0x182d, 0x2000 },\n  { 0x0700, 0x182c, 0x0000 },\n  { 0x0700, 0x182e, 0x0000 },\n  { 0x8700, 0x1833, 0x3000 },\n  { 0x8700, 0x1831, 0x2000 },\n  { 0x0700, 0x1830, 0x0000 },\n  { 0x0700, 0x1832, 0x0000 },\n  { 0x8700, 0x1835, 0x2000 },\n  { 0x0700, 0x1834, 0x0000 },\n  { 0x0700, 0x1836, 0x0000 },\n  { 0x8700, 0x1877, 0x7000 },\n  { 0x8700, 0x1857, 0x6000 },\n  { 0x8700, 0x1847, 0x5000 },\n  { 0x8700, 0x183f, 0x4000 },\n  { 0x8700, 0x183b, 0x3000 },\n  { 0x8700, 0x1839, 0x2000 },\n  { 0x0700, 0x1838, 0x0000 },\n  { 0x0700, 0x183a, 0x0000 },\n  { 0x8700, 0x183d, 0x2000 },\n  { 0x0700, 0x183c, 0x0000 },\n  { 0x0700, 0x183e, 0x0000 },\n  { 0x8600, 0x1843, 0x3000 },\n  { 0x8700, 0x1841, 0x2000 },\n  { 0x0700, 0x1840, 0x0000 },\n  { 0x0700, 0x1842, 0x0000 },\n  { 0x8700, 0x1845, 0x2000 },\n  { 0x0700, 0x1844, 0x0000 },\n  { 0x0700, 0x1846, 0x0000 },\n  { 0x8700, 0x184f, 0x4000 },\n  { 0x8700, 0x184b, 0x3000 },\n  { 0x8700, 0x1849, 0x2000 },\n  { 0x0700, 0x1848, 0x0000 },\n  { 0x0700, 0x184a, 0x0000 },\n  { 0x8700, 0x184d, 0x2000 },\n  { 0x0700, 0x184c, 0x0000 },\n  { 0x0700, 0x184e, 0x0000 },\n  { 0x8700, 0x1853, 0x3000 },\n  { 0x8700, 0x1851, 0x2000 },\n  { 0x0700, 0x1850, 0x0000 },\n  { 0x0700, 0x1852, 0x0000 },\n  { 0x8700, 0x1855, 0x2000 },\n  { 0x0700, 0x1854, 0x0000 },\n  { 0x0700, 0x1856, 0x0000 },\n  { 0x8700, 0x1867, 0x5000 },\n  { 0x8700, 0x185f, 0x4000 },\n  { 0x8700, 0x185b, 0x3000 },\n  { 0x8700, 0x1859, 0x2000 },\n  { 0x0700, 0x1858, 0x0000 },\n  { 0x0700, 0x185a, 0x0000 },\n  { 0x8700, 0x185d, 0x2000 },\n  { 0x0700, 0x185c, 0x0000 },\n  { 0x0700, 0x185e, 0x0000 },\n  { 0x8700, 0x1863, 0x3000 },\n  { 0x8700, 0x1861, 0x2000 },\n  { 0x0700, 0x1860, 0x0000 },\n  { 0x0700, 0x1862, 0x0000 },\n  { 0x8700, 0x1865, 0x2000 },\n  { 0x0700, 0x1864, 0x0000 },\n  { 0x0700, 0x1866, 0x0000 },\n  { 0x8700, 0x186f, 0x4000 },\n  { 0x8700, 0x186b, 0x3000 },\n  { 0x8700, 0x1869, 0x2000 },\n  { 0x0700, 0x1868, 0x0000 },\n  { 0x0700, 0x186a, 0x0000 },\n  { 0x8700, 0x186d, 0x2000 },\n  { 0x0700, 0x186c, 0x0000 },\n  { 0x0700, 0x186e, 0x0000 },\n  { 0x8700, 0x1873, 0x3000 },\n  { 0x8700, 0x1871, 0x2000 },\n  { 0x0700, 0x1870, 0x0000 },\n  { 0x0700, 0x1872, 0x0000 },\n  { 0x8700, 0x1875, 0x2000 },\n  { 0x0700, 0x1874, 0x0000 },\n  { 0x0700, 0x1876, 0x0000 },\n  { 0x8700, 0x189f, 0x6000 },\n  { 0x8700, 0x188f, 0x5000 },\n  { 0x8700, 0x1887, 0x4000 },\n  { 0x8700, 0x1883, 0x3000 },\n  { 0x8700, 0x1881, 0x2000 },\n  { 0x0700, 0x1880, 0x0000 },\n  { 0x0700, 0x1882, 0x0000 },\n  { 0x8700, 0x1885, 0x2000 },\n  { 0x0700, 0x1884, 0x0000 },\n  { 0x0700, 0x1886, 0x0000 },\n  { 0x8700, 0x188b, 0x3000 },\n  { 0x8700, 0x1889, 0x2000 },\n  { 0x0700, 0x1888, 0x0000 },\n  { 0x0700, 0x188a, 0x0000 },\n  { 0x8700, 0x188d, 0x2000 },\n  { 0x0700, 0x188c, 0x0000 },\n  { 0x0700, 0x188e, 0x0000 },\n  { 0x8700, 0x1897, 0x4000 },\n  { 0x8700, 0x1893, 0x3000 },\n  { 0x8700, 0x1891, 0x2000 },\n  { 0x0700, 0x1890, 0x0000 },\n  { 0x0700, 0x1892, 0x0000 },\n  { 0x8700, 0x1895, 0x2000 },\n  { 0x0700, 0x1894, 0x0000 },\n  { 0x0700, 0x1896, 0x0000 },\n  { 0x8700, 0x189b, 0x3000 },\n  { 0x8700, 0x1899, 0x2000 },\n  { 0x0700, 0x1898, 0x0000 },\n  { 0x0700, 0x189a, 0x0000 },\n  { 0x8700, 0x189d, 0x2000 },\n  { 0x0700, 0x189c, 0x0000 },\n  { 0x0700, 0x189e, 0x0000 },\n  { 0x8700, 0x1905, 0x5000 },\n  { 0x8700, 0x18a7, 0x4000 },\n  { 0x8700, 0x18a3, 0x3000 },\n  { 0x8700, 0x18a1, 0x2000 },\n  { 0x0700, 0x18a0, 0x0000 },\n  { 0x0700, 0x18a2, 0x0000 },\n  { 0x8700, 0x18a5, 0x2000 },\n  { 0x0700, 0x18a4, 0x0000 },\n  { 0x0700, 0x18a6, 0x0000 },\n  { 0x8700, 0x1901, 0x3000 },\n  { 0x8c00, 0x18a9, 0x2000 },\n  { 0x0700, 0x18a8, 0x0000 },\n  { 0x0700, 0x1900, 0x0000 },\n  { 0x8700, 0x1903, 0x2000 },\n  { 0x0700, 0x1902, 0x0000 },\n  { 0x0700, 0x1904, 0x0000 },\n  { 0x8700, 0x190d, 0x4000 },\n  { 0x8700, 0x1909, 0x3000 },\n  { 0x8700, 0x1907, 0x2000 },\n  { 0x0700, 0x1906, 0x0000 },\n  { 0x0700, 0x1908, 0x0000 },\n  { 0x8700, 0x190b, 0x2000 },\n  { 0x0700, 0x190a, 0x0000 },\n  { 0x0700, 0x190c, 0x0000 },\n  { 0x8700, 0x1911, 0x3000 },\n  { 0x8700, 0x190f, 0x2000 },\n  { 0x0700, 0x190e, 0x0000 },\n  { 0x0700, 0x1910, 0x0000 },\n  { 0x8700, 0x1913, 0x2000 },\n  { 0x0700, 0x1912, 0x0000 },\n  { 0x0700, 0x1914, 0x0000 },\n  { 0x8500, 0x1d10, 0x8000 },\n  { 0x8700, 0x1963, 0x7000 },\n  { 0x9a00, 0x1940, 0x6000 },\n  { 0x8c00, 0x1928, 0x5000 },\n  { 0x8c00, 0x1920, 0x4000 },\n  { 0x8700, 0x1919, 0x3000 },\n  { 0x8700, 0x1917, 0x2000 },\n  { 0x0700, 0x1916, 0x0000 },\n  { 0x0700, 0x1918, 0x0000 },\n  { 0x8700, 0x191b, 0x2000 },\n  { 0x0700, 0x191a, 0x0000 },\n  { 0x0700, 0x191c, 0x0000 },\n  { 0x8a00, 0x1924, 0x3000 },\n  { 0x8c00, 0x1922, 0x2000 },\n  { 0x0c00, 0x1921, 0x0000 },\n  { 0x0a00, 0x1923, 0x0000 },\n  { 0x8a00, 0x1926, 0x2000 },\n  { 0x0a00, 0x1925, 0x0000 },\n  { 0x0c00, 0x1927, 0x0000 },\n  { 0x8a00, 0x1934, 0x4000 },\n  { 0x8a00, 0x1930, 0x3000 },\n  { 0x8a00, 0x192a, 0x2000 },\n  { 0x0a00, 0x1929, 0x0000 },\n  { 0x0a00, 0x192b, 0x0000 },\n  { 0x8c00, 0x1932, 0x2000 },\n  { 0x0a00, 0x1931, 0x0000 },\n  { 0x0a00, 0x1933, 0x0000 },\n  { 0x8a00, 0x1938, 0x3000 },\n  { 0x8a00, 0x1936, 0x2000 },\n  { 0x0a00, 0x1935, 0x0000 },\n  { 0x0a00, 0x1937, 0x0000 },\n  { 0x8c00, 0x193a, 0x2000 },\n  { 0x0c00, 0x1939, 0x0000 },\n  { 0x0c00, 0x193b, 0x0000 },\n  { 0x8700, 0x1953, 0x5000 },\n  { 0x8d00, 0x194b, 0x4000 },\n  { 0x8d00, 0x1947, 0x3000 },\n  { 0x9500, 0x1945, 0x2000 },\n  { 0x1500, 0x1944, 0x0000 },\n  { 0x0d00, 0x1946, 0x0000 },\n  { 0x8d00, 0x1949, 0x2000 },\n  { 0x0d00, 0x1948, 0x0000 },\n  { 0x0d00, 0x194a, 0x0000 },\n  { 0x8d00, 0x194f, 0x3000 },\n  { 0x8d00, 0x194d, 0x2000 },\n  { 0x0d00, 0x194c, 0x0000 },\n  { 0x0d00, 0x194e, 0x0000 },\n  { 0x8700, 0x1951, 0x2000 },\n  { 0x0700, 0x1950, 0x0000 },\n  { 0x0700, 0x1952, 0x0000 },\n  { 0x8700, 0x195b, 0x4000 },\n  { 0x8700, 0x1957, 0x3000 },\n  { 0x8700, 0x1955, 0x2000 },\n  { 0x0700, 0x1954, 0x0000 },\n  { 0x0700, 0x1956, 0x0000 },\n  { 0x8700, 0x1959, 0x2000 },\n  { 0x0700, 0x1958, 0x0000 },\n  { 0x0700, 0x195a, 0x0000 },\n  { 0x8700, 0x195f, 0x3000 },\n  { 0x8700, 0x195d, 0x2000 },\n  { 0x0700, 0x195c, 0x0000 },\n  { 0x0700, 0x195e, 0x0000 },\n  { 0x8700, 0x1961, 0x2000 },\n  { 0x0700, 0x1960, 0x0000 },\n  { 0x0700, 0x1962, 0x0000 },\n  { 0x9a00, 0x19f0, 0x6000 },\n  { 0x9a00, 0x19e0, 0x5000 },\n  { 0x8700, 0x196b, 0x4000 },\n  { 0x8700, 0x1967, 0x3000 },\n  { 0x8700, 0x1965, 0x2000 },\n  { 0x0700, 0x1964, 0x0000 },\n  { 0x0700, 0x1966, 0x0000 },\n  { 0x8700, 0x1969, 0x2000 },\n  { 0x0700, 0x1968, 0x0000 },\n  { 0x0700, 0x196a, 0x0000 },\n  { 0x8700, 0x1971, 0x3000 },\n  { 0x8700, 0x196d, 0x2000 },\n  { 0x0700, 0x196c, 0x0000 },\n  { 0x0700, 0x1970, 0x0000 },\n  { 0x8700, 0x1973, 0x2000 },\n  { 0x0700, 0x1972, 0x0000 },\n  { 0x0700, 0x1974, 0x0000 },\n  { 0x9a00, 0x19e8, 0x4000 },\n  { 0x9a00, 0x19e4, 0x3000 },\n  { 0x9a00, 0x19e2, 0x2000 },\n  { 0x1a00, 0x19e1, 0x0000 },\n  { 0x1a00, 0x19e3, 0x0000 },\n  { 0x9a00, 0x19e6, 0x2000 },\n  { 0x1a00, 0x19e5, 0x0000 },\n  { 0x1a00, 0x19e7, 0x0000 },\n  { 0x9a00, 0x19ec, 0x3000 },\n  { 0x9a00, 0x19ea, 0x2000 },\n  { 0x1a00, 0x19e9, 0x0000 },\n  { 0x1a00, 0x19eb, 0x0000 },\n  { 0x9a00, 0x19ee, 0x2000 },\n  { 0x1a00, 0x19ed, 0x0000 },\n  { 0x1a00, 0x19ef, 0x0000 },\n  { 0x8500, 0x1d00, 0x5000 },\n  { 0x9a00, 0x19f8, 0x4000 },\n  { 0x9a00, 0x19f4, 0x3000 },\n  { 0x9a00, 0x19f2, 0x2000 },\n  { 0x1a00, 0x19f1, 0x0000 },\n  { 0x1a00, 0x19f3, 0x0000 },\n  { 0x9a00, 0x19f6, 0x2000 },\n  { 0x1a00, 0x19f5, 0x0000 },\n  { 0x1a00, 0x19f7, 0x0000 },\n  { 0x9a00, 0x19fc, 0x3000 },\n  { 0x9a00, 0x19fa, 0x2000 },\n  { 0x1a00, 0x19f9, 0x0000 },\n  { 0x1a00, 0x19fb, 0x0000 },\n  { 0x9a00, 0x19fe, 0x2000 },\n  { 0x1a00, 0x19fd, 0x0000 },\n  { 0x1a00, 0x19ff, 0x0000 },\n  { 0x8500, 0x1d08, 0x4000 },\n  { 0x8500, 0x1d04, 0x3000 },\n  { 0x8500, 0x1d02, 0x2000 },\n  { 0x0500, 0x1d01, 0x0000 },\n  { 0x0500, 0x1d03, 0x0000 },\n  { 0x8500, 0x1d06, 0x2000 },\n  { 0x0500, 0x1d05, 0x0000 },\n  { 0x0500, 0x1d07, 0x0000 },\n  { 0x8500, 0x1d0c, 0x3000 },\n  { 0x8500, 0x1d0a, 0x2000 },\n  { 0x0500, 0x1d09, 0x0000 },\n  { 0x0500, 0x1d0b, 0x0000 },\n  { 0x8500, 0x1d0e, 0x2000 },\n  { 0x0500, 0x1d0d, 0x0000 },\n  { 0x0500, 0x1d0f, 0x0000 },\n  { 0x8600, 0x1d50, 0x7000 },\n  { 0x8600, 0x1d30, 0x6000 },\n  { 0x8500, 0x1d20, 0x5000 },\n  { 0x8500, 0x1d18, 0x4000 },\n  { 0x8500, 0x1d14, 0x3000 },\n  { 0x8500, 0x1d12, 0x2000 },\n  { 0x0500, 0x1d11, 0x0000 },\n  { 0x0500, 0x1d13, 0x0000 },\n  { 0x8500, 0x1d16, 0x2000 },\n  { 0x0500, 0x1d15, 0x0000 },\n  { 0x0500, 0x1d17, 0x0000 },\n  { 0x8500, 0x1d1c, 0x3000 },\n  { 0x8500, 0x1d1a, 0x2000 },\n  { 0x0500, 0x1d19, 0x0000 },\n  { 0x0500, 0x1d1b, 0x0000 },\n  { 0x8500, 0x1d1e, 0x2000 },\n  { 0x0500, 0x1d1d, 0x0000 },\n  { 0x0500, 0x1d1f, 0x0000 },\n  { 0x8500, 0x1d28, 0x4000 },\n  { 0x8500, 0x1d24, 0x3000 },\n  { 0x8500, 0x1d22, 0x2000 },\n  { 0x0500, 0x1d21, 0x0000 },\n  { 0x0500, 0x1d23, 0x0000 },\n  { 0x8500, 0x1d26, 0x2000 },\n  { 0x0500, 0x1d25, 0x0000 },\n  { 0x0500, 0x1d27, 0x0000 },\n  { 0x8600, 0x1d2c, 0x3000 },\n  { 0x8500, 0x1d2a, 0x2000 },\n  { 0x0500, 0x1d29, 0x0000 },\n  { 0x0500, 0x1d2b, 0x0000 },\n  { 0x8600, 0x1d2e, 0x2000 },\n  { 0x0600, 0x1d2d, 0x0000 },\n  { 0x0600, 0x1d2f, 0x0000 },\n  { 0x8600, 0x1d40, 0x5000 },\n  { 0x8600, 0x1d38, 0x4000 },\n  { 0x8600, 0x1d34, 0x3000 },\n  { 0x8600, 0x1d32, 0x2000 },\n  { 0x0600, 0x1d31, 0x0000 },\n  { 0x0600, 0x1d33, 0x0000 },\n  { 0x8600, 0x1d36, 0x2000 },\n  { 0x0600, 0x1d35, 0x0000 },\n  { 0x0600, 0x1d37, 0x0000 },\n  { 0x8600, 0x1d3c, 0x3000 },\n  { 0x8600, 0x1d3a, 0x2000 },\n  { 0x0600, 0x1d39, 0x0000 },\n  { 0x0600, 0x1d3b, 0x0000 },\n  { 0x8600, 0x1d3e, 0x2000 },\n  { 0x0600, 0x1d3d, 0x0000 },\n  { 0x0600, 0x1d3f, 0x0000 },\n  { 0x8600, 0x1d48, 0x4000 },\n  { 0x8600, 0x1d44, 0x3000 },\n  { 0x8600, 0x1d42, 0x2000 },\n  { 0x0600, 0x1d41, 0x0000 },\n  { 0x0600, 0x1d43, 0x0000 },\n  { 0x8600, 0x1d46, 0x2000 },\n  { 0x0600, 0x1d45, 0x0000 },\n  { 0x0600, 0x1d47, 0x0000 },\n  { 0x8600, 0x1d4c, 0x3000 },\n  { 0x8600, 0x1d4a, 0x2000 },\n  { 0x0600, 0x1d49, 0x0000 },\n  { 0x0600, 0x1d4b, 0x0000 },\n  { 0x8600, 0x1d4e, 0x2000 },\n  { 0x0600, 0x1d4d, 0x0000 },\n  { 0x0600, 0x1d4f, 0x0000 },\n  { 0x8900, 0x1e04, 0x6001 },\n  { 0x8600, 0x1d60, 0x5000 },\n  { 0x8600, 0x1d58, 0x4000 },\n  { 0x8600, 0x1d54, 0x3000 },\n  { 0x8600, 0x1d52, 0x2000 },\n  { 0x0600, 0x1d51, 0x0000 },\n  { 0x0600, 0x1d53, 0x0000 },\n  { 0x8600, 0x1d56, 0x2000 },\n  { 0x0600, 0x1d55, 0x0000 },\n  { 0x0600, 0x1d57, 0x0000 },\n  { 0x8600, 0x1d5c, 0x3000 },\n  { 0x8600, 0x1d5a, 0x2000 },\n  { 0x0600, 0x1d59, 0x0000 },\n  { 0x0600, 0x1d5b, 0x0000 },\n  { 0x8600, 0x1d5e, 0x2000 },\n  { 0x0600, 0x1d5d, 0x0000 },\n  { 0x0600, 0x1d5f, 0x0000 },\n  { 0x8500, 0x1d68, 0x4000 },\n  { 0x8500, 0x1d64, 0x3000 },\n  { 0x8500, 0x1d62, 0x2000 },\n  { 0x0600, 0x1d61, 0x0000 },\n  { 0x0500, 0x1d63, 0x0000 },\n  { 0x8500, 0x1d66, 0x2000 },\n  { 0x0500, 0x1d65, 0x0000 },\n  { 0x0500, 0x1d67, 0x0000 },\n  { 0x8900, 0x1e00, 0x3001 },\n  { 0x8500, 0x1d6a, 0x2000 },\n  { 0x0500, 0x1d69, 0x0000 },\n  { 0x0500, 0x1d6b, 0x0000 },\n  { 0x8900, 0x1e02, 0x2001 },\n  { 0x0500, 0x1e01, 0x0fff },\n  { 0x0500, 0x1e03, 0x0fff },\n  { 0x8900, 0x1e14, 0x5001 },\n  { 0x8900, 0x1e0c, 0x4001 },\n  { 0x8900, 0x1e08, 0x3001 },\n  { 0x8900, 0x1e06, 0x2001 },\n  { 0x0500, 0x1e05, 0x0fff },\n  { 0x0500, 0x1e07, 0x0fff },\n  { 0x8900, 0x1e0a, 0x2001 },\n  { 0x0500, 0x1e09, 0x0fff },\n  { 0x0500, 0x1e0b, 0x0fff },\n  { 0x8900, 0x1e10, 0x3001 },\n  { 0x8900, 0x1e0e, 0x2001 },\n  { 0x0500, 0x1e0d, 0x0fff },\n  { 0x0500, 0x1e0f, 0x0fff },\n  { 0x8900, 0x1e12, 0x2001 },\n  { 0x0500, 0x1e11, 0x0fff },\n  { 0x0500, 0x1e13, 0x0fff },\n  { 0x8900, 0x1e1c, 0x4001 },\n  { 0x8900, 0x1e18, 0x3001 },\n  { 0x8900, 0x1e16, 0x2001 },\n  { 0x0500, 0x1e15, 0x0fff },\n  { 0x0500, 0x1e17, 0x0fff },\n  { 0x8900, 0x1e1a, 0x2001 },\n  { 0x0500, 0x1e19, 0x0fff },\n  { 0x0500, 0x1e1b, 0x0fff },\n  { 0x8900, 0x1e20, 0x3001 },\n  { 0x8900, 0x1e1e, 0x2001 },\n  { 0x0500, 0x1e1d, 0x0fff },\n  { 0x0500, 0x1e1f, 0x0fff },\n  { 0x8900, 0x1e22, 0x2001 },\n  { 0x0500, 0x1e21, 0x0fff },\n  { 0x0500, 0x1e23, 0x0fff },\n  { 0x9600, 0x2045, 0xa000 },\n  { 0x8500, 0x1f32, 0x9008 },\n  { 0x8900, 0x1ea8, 0x8001 },\n  { 0x8900, 0x1e64, 0x7001 },\n  { 0x8900, 0x1e44, 0x6001 },\n  { 0x8900, 0x1e34, 0x5001 },\n  { 0x8900, 0x1e2c, 0x4001 },\n  { 0x8900, 0x1e28, 0x3001 },\n  { 0x8900, 0x1e26, 0x2001 },\n  { 0x0500, 0x1e25, 0x0fff },\n  { 0x0500, 0x1e27, 0x0fff },\n  { 0x8900, 0x1e2a, 0x2001 },\n  { 0x0500, 0x1e29, 0x0fff },\n  { 0x0500, 0x1e2b, 0x0fff },\n  { 0x8900, 0x1e30, 0x3001 },\n  { 0x8900, 0x1e2e, 0x2001 },\n  { 0x0500, 0x1e2d, 0x0fff },\n  { 0x0500, 0x1e2f, 0x0fff },\n  { 0x8900, 0x1e32, 0x2001 },\n  { 0x0500, 0x1e31, 0x0fff },\n  { 0x0500, 0x1e33, 0x0fff },\n  { 0x8900, 0x1e3c, 0x4001 },\n  { 0x8900, 0x1e38, 0x3001 },\n  { 0x8900, 0x1e36, 0x2001 },\n  { 0x0500, 0x1e35, 0x0fff },\n  { 0x0500, 0x1e37, 0x0fff },\n  { 0x8900, 0x1e3a, 0x2001 },\n  { 0x0500, 0x1e39, 0x0fff },\n  { 0x0500, 0x1e3b, 0x0fff },\n  { 0x8900, 0x1e40, 0x3001 },\n  { 0x8900, 0x1e3e, 0x2001 },\n  { 0x0500, 0x1e3d, 0x0fff },\n  { 0x0500, 0x1e3f, 0x0fff },\n  { 0x8900, 0x1e42, 0x2001 },\n  { 0x0500, 0x1e41, 0x0fff },\n  { 0x0500, 0x1e43, 0x0fff },\n  { 0x8900, 0x1e54, 0x5001 },\n  { 0x8900, 0x1e4c, 0x4001 },\n  { 0x8900, 0x1e48, 0x3001 },\n  { 0x8900, 0x1e46, 0x2001 },\n  { 0x0500, 0x1e45, 0x0fff },\n  { 0x0500, 0x1e47, 0x0fff },\n  { 0x8900, 0x1e4a, 0x2001 },\n  { 0x0500, 0x1e49, 0x0fff },\n  { 0x0500, 0x1e4b, 0x0fff },\n  { 0x8900, 0x1e50, 0x3001 },\n  { 0x8900, 0x1e4e, 0x2001 },\n  { 0x0500, 0x1e4d, 0x0fff },\n  { 0x0500, 0x1e4f, 0x0fff },\n  { 0x8900, 0x1e52, 0x2001 },\n  { 0x0500, 0x1e51, 0x0fff },\n  { 0x0500, 0x1e53, 0x0fff },\n  { 0x8900, 0x1e5c, 0x4001 },\n  { 0x8900, 0x1e58, 0x3001 },\n  { 0x8900, 0x1e56, 0x2001 },\n  { 0x0500, 0x1e55, 0x0fff },\n  { 0x0500, 0x1e57, 0x0fff },\n  { 0x8900, 0x1e5a, 0x2001 },\n  { 0x0500, 0x1e59, 0x0fff },\n  { 0x0500, 0x1e5b, 0x0fff },\n  { 0x8900, 0x1e60, 0x3001 },\n  { 0x8900, 0x1e5e, 0x2001 },\n  { 0x0500, 0x1e5d, 0x0fff },\n  { 0x0500, 0x1e5f, 0x0fff },\n  { 0x8900, 0x1e62, 0x2001 },\n  { 0x0500, 0x1e61, 0x0fff },\n  { 0x0500, 0x1e63, 0x0fff },\n  { 0x8900, 0x1e84, 0x6001 },\n  { 0x8900, 0x1e74, 0x5001 },\n  { 0x8900, 0x1e6c, 0x4001 },\n  { 0x8900, 0x1e68, 0x3001 },\n  { 0x8900, 0x1e66, 0x2001 },\n  { 0x0500, 0x1e65, 0x0fff },\n  { 0x0500, 0x1e67, 0x0fff },\n  { 0x8900, 0x1e6a, 0x2001 },\n  { 0x0500, 0x1e69, 0x0fff },\n  { 0x0500, 0x1e6b, 0x0fff },\n  { 0x8900, 0x1e70, 0x3001 },\n  { 0x8900, 0x1e6e, 0x2001 },\n  { 0x0500, 0x1e6d, 0x0fff },\n  { 0x0500, 0x1e6f, 0x0fff },\n  { 0x8900, 0x1e72, 0x2001 },\n  { 0x0500, 0x1e71, 0x0fff },\n  { 0x0500, 0x1e73, 0x0fff },\n  { 0x8900, 0x1e7c, 0x4001 },\n  { 0x8900, 0x1e78, 0x3001 },\n  { 0x8900, 0x1e76, 0x2001 },\n  { 0x0500, 0x1e75, 0x0fff },\n  { 0x0500, 0x1e77, 0x0fff },\n  { 0x8900, 0x1e7a, 0x2001 },\n  { 0x0500, 0x1e79, 0x0fff },\n  { 0x0500, 0x1e7b, 0x0fff },\n  { 0x8900, 0x1e80, 0x3001 },\n  { 0x8900, 0x1e7e, 0x2001 },\n  { 0x0500, 0x1e7d, 0x0fff },\n  { 0x0500, 0x1e7f, 0x0fff },\n  { 0x8900, 0x1e82, 0x2001 },\n  { 0x0500, 0x1e81, 0x0fff },\n  { 0x0500, 0x1e83, 0x0fff },\n  { 0x8900, 0x1e94, 0x5001 },\n  { 0x8900, 0x1e8c, 0x4001 },\n  { 0x8900, 0x1e88, 0x3001 },\n  { 0x8900, 0x1e86, 0x2001 },\n  { 0x0500, 0x1e85, 0x0fff },\n  { 0x0500, 0x1e87, 0x0fff },\n  { 0x8900, 0x1e8a, 0x2001 },\n  { 0x0500, 0x1e89, 0x0fff },\n  { 0x0500, 0x1e8b, 0x0fff },\n  { 0x8900, 0x1e90, 0x3001 },\n  { 0x8900, 0x1e8e, 0x2001 },\n  { 0x0500, 0x1e8d, 0x0fff },\n  { 0x0500, 0x1e8f, 0x0fff },\n  { 0x8900, 0x1e92, 0x2001 },\n  { 0x0500, 0x1e91, 0x0fff },\n  { 0x0500, 0x1e93, 0x0fff },\n  { 0x8900, 0x1ea0, 0x4001 },\n  { 0x8500, 0x1e98, 0x3000 },\n  { 0x8500, 0x1e96, 0x2000 },\n  { 0x0500, 0x1e95, 0x0fff },\n  { 0x0500, 0x1e97, 0x0000 },\n  { 0x8500, 0x1e9a, 0x2000 },\n  { 0x0500, 0x1e99, 0x0000 },\n  { 0x0500, 0x1e9b, 0x0fc5 },\n  { 0x8900, 0x1ea4, 0x3001 },\n  { 0x8900, 0x1ea2, 0x2001 },\n  { 0x0500, 0x1ea1, 0x0fff },\n  { 0x0500, 0x1ea3, 0x0fff },\n  { 0x8900, 0x1ea6, 0x2001 },\n  { 0x0500, 0x1ea5, 0x0fff },\n  { 0x0500, 0x1ea7, 0x0fff },\n  { 0x8900, 0x1ee8, 0x7001 },\n  { 0x8900, 0x1ec8, 0x6001 },\n  { 0x8900, 0x1eb8, 0x5001 },\n  { 0x8900, 0x1eb0, 0x4001 },\n  { 0x8900, 0x1eac, 0x3001 },\n  { 0x8900, 0x1eaa, 0x2001 },\n  { 0x0500, 0x1ea9, 0x0fff },\n  { 0x0500, 0x1eab, 0x0fff },\n  { 0x8900, 0x1eae, 0x2001 },\n  { 0x0500, 0x1ead, 0x0fff },\n  { 0x0500, 0x1eaf, 0x0fff },\n  { 0x8900, 0x1eb4, 0x3001 },\n  { 0x8900, 0x1eb2, 0x2001 },\n  { 0x0500, 0x1eb1, 0x0fff },\n  { 0x0500, 0x1eb3, 0x0fff },\n  { 0x8900, 0x1eb6, 0x2001 },\n  { 0x0500, 0x1eb5, 0x0fff },\n  { 0x0500, 0x1eb7, 0x0fff },\n  { 0x8900, 0x1ec0, 0x4001 },\n  { 0x8900, 0x1ebc, 0x3001 },\n  { 0x8900, 0x1eba, 0x2001 },\n  { 0x0500, 0x1eb9, 0x0fff },\n  { 0x0500, 0x1ebb, 0x0fff },\n  { 0x8900, 0x1ebe, 0x2001 },\n  { 0x0500, 0x1ebd, 0x0fff },\n  { 0x0500, 0x1ebf, 0x0fff },\n  { 0x8900, 0x1ec4, 0x3001 },\n  { 0x8900, 0x1ec2, 0x2001 },\n  { 0x0500, 0x1ec1, 0x0fff },\n  { 0x0500, 0x1ec3, 0x0fff },\n  { 0x8900, 0x1ec6, 0x2001 },\n  { 0x0500, 0x1ec5, 0x0fff },\n  { 0x0500, 0x1ec7, 0x0fff },\n  { 0x8900, 0x1ed8, 0x5001 },\n  { 0x8900, 0x1ed0, 0x4001 },\n  { 0x8900, 0x1ecc, 0x3001 },\n  { 0x8900, 0x1eca, 0x2001 },\n  { 0x0500, 0x1ec9, 0x0fff },\n  { 0x0500, 0x1ecb, 0x0fff },\n  { 0x8900, 0x1ece, 0x2001 },\n  { 0x0500, 0x1ecd, 0x0fff },\n  { 0x0500, 0x1ecf, 0x0fff },\n  { 0x8900, 0x1ed4, 0x3001 },\n  { 0x8900, 0x1ed2, 0x2001 },\n  { 0x0500, 0x1ed1, 0x0fff },\n  { 0x0500, 0x1ed3, 0x0fff },\n  { 0x8900, 0x1ed6, 0x2001 },\n  { 0x0500, 0x1ed5, 0x0fff },\n  { 0x0500, 0x1ed7, 0x0fff },\n  { 0x8900, 0x1ee0, 0x4001 },\n  { 0x8900, 0x1edc, 0x3001 },\n  { 0x8900, 0x1eda, 0x2001 },\n  { 0x0500, 0x1ed9, 0x0fff },\n  { 0x0500, 0x1edb, 0x0fff },\n  { 0x8900, 0x1ede, 0x2001 },\n  { 0x0500, 0x1edd, 0x0fff },\n  { 0x0500, 0x1edf, 0x0fff },\n  { 0x8900, 0x1ee4, 0x3001 },\n  { 0x8900, 0x1ee2, 0x2001 },\n  { 0x0500, 0x1ee1, 0x0fff },\n  { 0x0500, 0x1ee3, 0x0fff },\n  { 0x8900, 0x1ee6, 0x2001 },\n  { 0x0500, 0x1ee5, 0x0fff },\n  { 0x0500, 0x1ee7, 0x0fff },\n  { 0x8900, 0x1f0e, 0x6ff8 },\n  { 0x8900, 0x1ef8, 0x5001 },\n  { 0x8900, 0x1ef0, 0x4001 },\n  { 0x8900, 0x1eec, 0x3001 },\n  { 0x8900, 0x1eea, 0x2001 },\n  { 0x0500, 0x1ee9, 0x0fff },\n  { 0x0500, 0x1eeb, 0x0fff },\n  { 0x8900, 0x1eee, 0x2001 },\n  { 0x0500, 0x1eed, 0x0fff },\n  { 0x0500, 0x1eef, 0x0fff },\n  { 0x8900, 0x1ef4, 0x3001 },\n  { 0x8900, 0x1ef2, 0x2001 },\n  { 0x0500, 0x1ef1, 0x0fff },\n  { 0x0500, 0x1ef3, 0x0fff },\n  { 0x8900, 0x1ef6, 0x2001 },\n  { 0x0500, 0x1ef5, 0x0fff },\n  { 0x0500, 0x1ef7, 0x0fff },\n  { 0x8500, 0x1f06, 0x4008 },\n  { 0x8500, 0x1f02, 0x3008 },\n  { 0x8500, 0x1f00, 0x2008 },\n  { 0x0500, 0x1ef9, 0x0fff },\n  { 0x0500, 0x1f01, 0x0008 },\n  { 0x8500, 0x1f04, 0x2008 },\n  { 0x0500, 0x1f03, 0x0008 },\n  { 0x0500, 0x1f05, 0x0008 },\n  { 0x8900, 0x1f0a, 0x3ff8 },\n  { 0x8900, 0x1f08, 0x2ff8 },\n  { 0x0500, 0x1f07, 0x0008 },\n  { 0x0900, 0x1f09, 0x0ff8 },\n  { 0x8900, 0x1f0c, 0x2ff8 },\n  { 0x0900, 0x1f0b, 0x0ff8 },\n  { 0x0900, 0x1f0d, 0x0ff8 },\n  { 0x8500, 0x1f22, 0x5008 },\n  { 0x8900, 0x1f18, 0x4ff8 },\n  { 0x8500, 0x1f12, 0x3008 },\n  { 0x8500, 0x1f10, 0x2008 },\n  { 0x0900, 0x1f0f, 0x0ff8 },\n  { 0x0500, 0x1f11, 0x0008 },\n  { 0x8500, 0x1f14, 0x2008 },\n  { 0x0500, 0x1f13, 0x0008 },\n  { 0x0500, 0x1f15, 0x0008 },\n  { 0x8900, 0x1f1c, 0x3ff8 },\n  { 0x8900, 0x1f1a, 0x2ff8 },\n  { 0x0900, 0x1f19, 0x0ff8 },\n  { 0x0900, 0x1f1b, 0x0ff8 },\n  { 0x8500, 0x1f20, 0x2008 },\n  { 0x0900, 0x1f1d, 0x0ff8 },\n  { 0x0500, 0x1f21, 0x0008 },\n  { 0x8900, 0x1f2a, 0x4ff8 },\n  { 0x8500, 0x1f26, 0x3008 },\n  { 0x8500, 0x1f24, 0x2008 },\n  { 0x0500, 0x1f23, 0x0008 },\n  { 0x0500, 0x1f25, 0x0008 },\n  { 0x8900, 0x1f28, 0x2ff8 },\n  { 0x0500, 0x1f27, 0x0008 },\n  { 0x0900, 0x1f29, 0x0ff8 },\n  { 0x8900, 0x1f2e, 0x3ff8 },\n  { 0x8900, 0x1f2c, 0x2ff8 },\n  { 0x0900, 0x1f2b, 0x0ff8 },\n  { 0x0900, 0x1f2d, 0x0ff8 },\n  { 0x8500, 0x1f30, 0x2008 },\n  { 0x0900, 0x1f2f, 0x0ff8 },\n  { 0x0500, 0x1f31, 0x0008 },\n  { 0x9800, 0x1fbd, 0x8000 },\n  { 0x8500, 0x1f7a, 0x7070 },\n  { 0x8500, 0x1f56, 0x6000 },\n  { 0x8500, 0x1f42, 0x5008 },\n  { 0x8900, 0x1f3a, 0x4ff8 },\n  { 0x8500, 0x1f36, 0x3008 },\n  { 0x8500, 0x1f34, 0x2008 },\n  { 0x0500, 0x1f33, 0x0008 },\n  { 0x0500, 0x1f35, 0x0008 },\n  { 0x8900, 0x1f38, 0x2ff8 },\n  { 0x0500, 0x1f37, 0x0008 },\n  { 0x0900, 0x1f39, 0x0ff8 },\n  { 0x8900, 0x1f3e, 0x3ff8 },\n  { 0x8900, 0x1f3c, 0x2ff8 },\n  { 0x0900, 0x1f3b, 0x0ff8 },\n  { 0x0900, 0x1f3d, 0x0ff8 },\n  { 0x8500, 0x1f40, 0x2008 },\n  { 0x0900, 0x1f3f, 0x0ff8 },\n  { 0x0500, 0x1f41, 0x0008 },\n  { 0x8900, 0x1f4c, 0x4ff8 },\n  { 0x8900, 0x1f48, 0x3ff8 },\n  { 0x8500, 0x1f44, 0x2008 },\n  { 0x0500, 0x1f43, 0x0008 },\n  { 0x0500, 0x1f45, 0x0008 },\n  { 0x8900, 0x1f4a, 0x2ff8 },\n  { 0x0900, 0x1f49, 0x0ff8 },\n  { 0x0900, 0x1f4b, 0x0ff8 },\n  { 0x8500, 0x1f52, 0x3000 },\n  { 0x8500, 0x1f50, 0x2000 },\n  { 0x0900, 0x1f4d, 0x0ff8 },\n  { 0x0500, 0x1f51, 0x0008 },\n  { 0x8500, 0x1f54, 0x2000 },\n  { 0x0500, 0x1f53, 0x0008 },\n  { 0x0500, 0x1f55, 0x0008 },\n  { 0x8900, 0x1f6a, 0x5ff8 },\n  { 0x8500, 0x1f62, 0x4008 },\n  { 0x8900, 0x1f5d, 0x3ff8 },\n  { 0x8900, 0x1f59, 0x2ff8 },\n  { 0x0500, 0x1f57, 0x0008 },\n  { 0x0900, 0x1f5b, 0x0ff8 },\n  { 0x8500, 0x1f60, 0x2008 },\n  { 0x0900, 0x1f5f, 0x0ff8 },\n  { 0x0500, 0x1f61, 0x0008 },\n  { 0x8500, 0x1f66, 0x3008 },\n  { 0x8500, 0x1f64, 0x2008 },\n  { 0x0500, 0x1f63, 0x0008 },\n  { 0x0500, 0x1f65, 0x0008 },\n  { 0x8900, 0x1f68, 0x2ff8 },\n  { 0x0500, 0x1f67, 0x0008 },\n  { 0x0900, 0x1f69, 0x0ff8 },\n  { 0x8500, 0x1f72, 0x4056 },\n  { 0x8900, 0x1f6e, 0x3ff8 },\n  { 0x8900, 0x1f6c, 0x2ff8 },\n  { 0x0900, 0x1f6b, 0x0ff8 },\n  { 0x0900, 0x1f6d, 0x0ff8 },\n  { 0x8500, 0x1f70, 0x204a },\n  { 0x0900, 0x1f6f, 0x0ff8 },\n  { 0x0500, 0x1f71, 0x004a },\n  { 0x8500, 0x1f76, 0x3064 },\n  { 0x8500, 0x1f74, 0x2056 },\n  { 0x0500, 0x1f73, 0x0056 },\n  { 0x0500, 0x1f75, 0x0056 },\n  { 0x8500, 0x1f78, 0x2080 },\n  { 0x0500, 0x1f77, 0x0064 },\n  { 0x0500, 0x1f79, 0x0080 },\n  { 0x8800, 0x1f9c, 0x6000 },\n  { 0x8800, 0x1f8c, 0x5000 },\n  { 0x8500, 0x1f84, 0x4008 },\n  { 0x8500, 0x1f80, 0x3008 },\n  { 0x8500, 0x1f7c, 0x207e },\n  { 0x0500, 0x1f7b, 0x0070 },\n  { 0x0500, 0x1f7d, 0x007e },\n  { 0x8500, 0x1f82, 0x2008 },\n  { 0x0500, 0x1f81, 0x0008 },\n  { 0x0500, 0x1f83, 0x0008 },\n  { 0x8800, 0x1f88, 0x3000 },\n  { 0x8500, 0x1f86, 0x2008 },\n  { 0x0500, 0x1f85, 0x0008 },\n  { 0x0500, 0x1f87, 0x0008 },\n  { 0x8800, 0x1f8a, 0x2000 },\n  { 0x0800, 0x1f89, 0x0000 },\n  { 0x0800, 0x1f8b, 0x0000 },\n  { 0x8500, 0x1f94, 0x4008 },\n  { 0x8500, 0x1f90, 0x3008 },\n  { 0x8800, 0x1f8e, 0x2000 },\n  { 0x0800, 0x1f8d, 0x0000 },\n  { 0x0800, 0x1f8f, 0x0000 },\n  { 0x8500, 0x1f92, 0x2008 },\n  { 0x0500, 0x1f91, 0x0008 },\n  { 0x0500, 0x1f93, 0x0008 },\n  { 0x8800, 0x1f98, 0x3000 },\n  { 0x8500, 0x1f96, 0x2008 },\n  { 0x0500, 0x1f95, 0x0008 },\n  { 0x0500, 0x1f97, 0x0008 },\n  { 0x8800, 0x1f9a, 0x2000 },\n  { 0x0800, 0x1f99, 0x0000 },\n  { 0x0800, 0x1f9b, 0x0000 },\n  { 0x8800, 0x1fac, 0x5000 },\n  { 0x8500, 0x1fa4, 0x4008 },\n  { 0x8500, 0x1fa0, 0x3008 },\n  { 0x8800, 0x1f9e, 0x2000 },\n  { 0x0800, 0x1f9d, 0x0000 },\n  { 0x0800, 0x1f9f, 0x0000 },\n  { 0x8500, 0x1fa2, 0x2008 },\n  { 0x0500, 0x1fa1, 0x0008 },\n  { 0x0500, 0x1fa3, 0x0008 },\n  { 0x8800, 0x1fa8, 0x3000 },\n  { 0x8500, 0x1fa6, 0x2008 },\n  { 0x0500, 0x1fa5, 0x0008 },\n  { 0x0500, 0x1fa7, 0x0008 },\n  { 0x8800, 0x1faa, 0x2000 },\n  { 0x0800, 0x1fa9, 0x0000 },\n  { 0x0800, 0x1fab, 0x0000 },\n  { 0x8500, 0x1fb4, 0x4000 },\n  { 0x8500, 0x1fb0, 0x3008 },\n  { 0x8800, 0x1fae, 0x2000 },\n  { 0x0800, 0x1fad, 0x0000 },\n  { 0x0800, 0x1faf, 0x0000 },\n  { 0x8500, 0x1fb2, 0x2000 },\n  { 0x0500, 0x1fb1, 0x0008 },\n  { 0x0500, 0x1fb3, 0x0009 },\n  { 0x8900, 0x1fb9, 0x3ff8 },\n  { 0x8500, 0x1fb7, 0x2000 },\n  { 0x0500, 0x1fb6, 0x0000 },\n  { 0x0900, 0x1fb8, 0x0ff8 },\n  { 0x8900, 0x1fbb, 0x2fb6 },\n  { 0x0900, 0x1fba, 0x0fb6 },\n  { 0x0800, 0x1fbc, 0x0000 },\n  { 0x9d00, 0x2005, 0x7000 },\n  { 0x8500, 0x1fe1, 0x6008 },\n  { 0x9800, 0x1fce, 0x5000 },\n  { 0x8500, 0x1fc6, 0x4000 },\n  { 0x9800, 0x1fc1, 0x3000 },\n  { 0x9800, 0x1fbf, 0x2000 },\n  { 0x0500, 0x1fbe, 0x0000 },\n  { 0x1800, 0x1fc0, 0x0000 },\n  { 0x8500, 0x1fc3, 0x2009 },\n  { 0x0500, 0x1fc2, 0x0000 },\n  { 0x0500, 0x1fc4, 0x0000 },\n  { 0x8900, 0x1fca, 0x3faa },\n  { 0x8900, 0x1fc8, 0x2faa },\n  { 0x0500, 0x1fc7, 0x0000 },\n  { 0x0900, 0x1fc9, 0x0faa },\n  { 0x8800, 0x1fcc, 0x2000 },\n  { 0x0900, 0x1fcb, 0x0faa },\n  { 0x1800, 0x1fcd, 0x0000 },\n  { 0x8900, 0x1fd8, 0x4ff8 },\n  { 0x8500, 0x1fd2, 0x3000 },\n  { 0x8500, 0x1fd0, 0x2008 },\n  { 0x1800, 0x1fcf, 0x0000 },\n  { 0x0500, 0x1fd1, 0x0008 },\n  { 0x8500, 0x1fd6, 0x2000 },\n  { 0x0500, 0x1fd3, 0x0000 },\n  { 0x0500, 0x1fd7, 0x0000 },\n  { 0x9800, 0x1fdd, 0x3000 },\n  { 0x8900, 0x1fda, 0x2f9c },\n  { 0x0900, 0x1fd9, 0x0ff8 },\n  { 0x0900, 0x1fdb, 0x0f9c },\n  { 0x9800, 0x1fdf, 0x2000 },\n  { 0x1800, 0x1fde, 0x0000 },\n  { 0x0500, 0x1fe0, 0x0008 },\n  { 0x8500, 0x1ff3, 0x5009 },\n  { 0x8900, 0x1fe9, 0x4ff8 },\n  { 0x8500, 0x1fe5, 0x3007 },\n  { 0x8500, 0x1fe3, 0x2000 },\n  { 0x0500, 0x1fe2, 0x0000 },\n  { 0x0500, 0x1fe4, 0x0000 },\n  { 0x8500, 0x1fe7, 0x2000 },\n  { 0x0500, 0x1fe6, 0x0000 },\n  { 0x0900, 0x1fe8, 0x0ff8 },\n  { 0x9800, 0x1fed, 0x3000 },\n  { 0x8900, 0x1feb, 0x2f90 },\n  { 0x0900, 0x1fea, 0x0f90 },\n  { 0x0900, 0x1fec, 0x0ff9 },\n  { 0x9800, 0x1fef, 0x2000 },\n  { 0x1800, 0x1fee, 0x0000 },\n  { 0x0500, 0x1ff2, 0x0000 },\n  { 0x8800, 0x1ffc, 0x4000 },\n  { 0x8900, 0x1ff8, 0x3f80 },\n  { 0x8500, 0x1ff6, 0x2000 },\n  { 0x0500, 0x1ff4, 0x0000 },\n  { 0x0500, 0x1ff7, 0x0000 },\n  { 0x8900, 0x1ffa, 0x2f82 },\n  { 0x0900, 0x1ff9, 0x0f80 },\n  { 0x0900, 0x1ffb, 0x0f82 },\n  { 0x9d00, 0x2001, 0x3000 },\n  { 0x9800, 0x1ffe, 0x2000 },\n  { 0x1800, 0x1ffd, 0x0000 },\n  { 0x1d00, 0x2000, 0x0000 },\n  { 0x9d00, 0x2003, 0x2000 },\n  { 0x1d00, 0x2002, 0x0000 },\n  { 0x1d00, 0x2004, 0x0000 },\n  { 0x9500, 0x2025, 0x6000 },\n  { 0x9100, 0x2015, 0x5000 },\n  { 0x8100, 0x200d, 0x4000 },\n  { 0x9d00, 0x2009, 0x3000 },\n  { 0x9d00, 0x2007, 0x2000 },\n  { 0x1d00, 0x2006, 0x0000 },\n  { 0x1d00, 0x2008, 0x0000 },\n  { 0x9d00, 0x200b, 0x2000 },\n  { 0x1d00, 0x200a, 0x0000 },\n  { 0x0100, 0x200c, 0x0000 },\n  { 0x9100, 0x2011, 0x3000 },\n  { 0x8100, 0x200f, 0x2000 },\n  { 0x0100, 0x200e, 0x0000 },\n  { 0x1100, 0x2010, 0x0000 },\n  { 0x9100, 0x2013, 0x2000 },\n  { 0x1100, 0x2012, 0x0000 },\n  { 0x1100, 0x2014, 0x0000 },\n  { 0x9300, 0x201d, 0x4000 },\n  { 0x9300, 0x2019, 0x3000 },\n  { 0x9500, 0x2017, 0x2000 },\n  { 0x1500, 0x2016, 0x0000 },\n  { 0x1400, 0x2018, 0x0000 },\n  { 0x9400, 0x201b, 0x2000 },\n  { 0x1600, 0x201a, 0x0000 },\n  { 0x1400, 0x201c, 0x0000 },\n  { 0x9500, 0x2021, 0x3000 },\n  { 0x9400, 0x201f, 0x2000 },\n  { 0x1600, 0x201e, 0x0000 },\n  { 0x1500, 0x2020, 0x0000 },\n  { 0x9500, 0x2023, 0x2000 },\n  { 0x1500, 0x2022, 0x0000 },\n  { 0x1500, 0x2024, 0x0000 },\n  { 0x9500, 0x2035, 0x5000 },\n  { 0x8100, 0x202d, 0x4000 },\n  { 0x9c00, 0x2029, 0x3000 },\n  { 0x9500, 0x2027, 0x2000 },\n  { 0x1500, 0x2026, 0x0000 },\n  { 0x1b00, 0x2028, 0x0000 },\n  { 0x8100, 0x202b, 0x2000 },\n  { 0x0100, 0x202a, 0x0000 },\n  { 0x0100, 0x202c, 0x0000 },\n  { 0x9500, 0x2031, 0x3000 },\n  { 0x9d00, 0x202f, 0x2000 },\n  { 0x0100, 0x202e, 0x0000 },\n  { 0x1500, 0x2030, 0x0000 },\n  { 0x9500, 0x2033, 0x2000 },\n  { 0x1500, 0x2032, 0x0000 },\n  { 0x1500, 0x2034, 0x0000 },\n  { 0x9500, 0x203d, 0x4000 },\n  { 0x9400, 0x2039, 0x3000 },\n  { 0x9500, 0x2037, 0x2000 },\n  { 0x1500, 0x2036, 0x0000 },\n  { 0x1500, 0x2038, 0x0000 },\n  { 0x9500, 0x203b, 0x2000 },\n  { 0x1300, 0x203a, 0x0000 },\n  { 0x1500, 0x203c, 0x0000 },\n  { 0x9500, 0x2041, 0x3000 },\n  { 0x9000, 0x203f, 0x2000 },\n  { 0x1500, 0x203e, 0x0000 },\n  { 0x1000, 0x2040, 0x0000 },\n  { 0x9500, 0x2043, 0x2000 },\n  { 0x1500, 0x2042, 0x0000 },\n  { 0x1900, 0x2044, 0x0000 },\n  { 0x9900, 0x21ae, 0x9000 },\n  { 0x8900, 0x211a, 0x8000 },\n  { 0x9700, 0x20a7, 0x7000 },\n  { 0x8f00, 0x2076, 0x6000 },\n  { 0x9500, 0x2057, 0x5000 },\n  { 0x9500, 0x204d, 0x4000 },\n  { 0x9500, 0x2049, 0x3000 },\n  { 0x9500, 0x2047, 0x2000 },\n  { 0x1200, 0x2046, 0x0000 },\n  { 0x1500, 0x2048, 0x0000 },\n  { 0x9500, 0x204b, 0x2000 },\n  { 0x1500, 0x204a, 0x0000 },\n  { 0x1500, 0x204c, 0x0000 },\n  { 0x9500, 0x2051, 0x3000 },\n  { 0x9500, 0x204f, 0x2000 },\n  { 0x1500, 0x204e, 0x0000 },\n  { 0x1500, 0x2050, 0x0000 },\n  { 0x9500, 0x2053, 0x2000 },\n  { 0x1900, 0x2052, 0x0000 },\n  { 0x1000, 0x2054, 0x0000 },\n  { 0x8100, 0x206c, 0x4000 },\n  { 0x8100, 0x2062, 0x3000 },\n  { 0x8100, 0x2060, 0x2000 },\n  { 0x1d00, 0x205f, 0x0000 },\n  { 0x0100, 0x2061, 0x0000 },\n  { 0x8100, 0x206a, 0x2000 },\n  { 0x0100, 0x2063, 0x0000 },\n  { 0x0100, 0x206b, 0x0000 },\n  { 0x8f00, 0x2070, 0x3000 },\n  { 0x8100, 0x206e, 0x2000 },\n  { 0x0100, 0x206d, 0x0000 },\n  { 0x0100, 0x206f, 0x0000 },\n  { 0x8f00, 0x2074, 0x2000 },\n  { 0x0500, 0x2071, 0x0000 },\n  { 0x0f00, 0x2075, 0x0000 },\n  { 0x8f00, 0x2086, 0x5000 },\n  { 0x9200, 0x207e, 0x4000 },\n  { 0x9900, 0x207a, 0x3000 },\n  { 0x8f00, 0x2078, 0x2000 },\n  { 0x0f00, 0x2077, 0x0000 },\n  { 0x0f00, 0x2079, 0x0000 },\n  { 0x9900, 0x207c, 0x2000 },\n  { 0x1900, 0x207b, 0x0000 },\n  { 0x1600, 0x207d, 0x0000 },\n  { 0x8f00, 0x2082, 0x3000 },\n  { 0x8f00, 0x2080, 0x2000 },\n  { 0x0500, 0x207f, 0x0000 },\n  { 0x0f00, 0x2081, 0x0000 },\n  { 0x8f00, 0x2084, 0x2000 },\n  { 0x0f00, 0x2083, 0x0000 },\n  { 0x0f00, 0x2085, 0x0000 },\n  { 0x9200, 0x208e, 0x4000 },\n  { 0x9900, 0x208a, 0x3000 },\n  { 0x8f00, 0x2088, 0x2000 },\n  { 0x0f00, 0x2087, 0x0000 },\n  { 0x0f00, 0x2089, 0x0000 },\n  { 0x9900, 0x208c, 0x2000 },\n  { 0x1900, 0x208b, 0x0000 },\n  { 0x1600, 0x208d, 0x0000 },\n  { 0x9700, 0x20a3, 0x3000 },\n  { 0x9700, 0x20a1, 0x2000 },\n  { 0x1700, 0x20a0, 0x0000 },\n  { 0x1700, 0x20a2, 0x0000 },\n  { 0x9700, 0x20a5, 0x2000 },\n  { 0x1700, 0x20a4, 0x0000 },\n  { 0x1700, 0x20a6, 0x0000 },\n  { 0x8c00, 0x20e5, 0x6000 },\n  { 0x8c00, 0x20d5, 0x5000 },\n  { 0x9700, 0x20af, 0x4000 },\n  { 0x9700, 0x20ab, 0x3000 },\n  { 0x9700, 0x20a9, 0x2000 },\n  { 0x1700, 0x20a8, 0x0000 },\n  { 0x1700, 0x20aa, 0x0000 },\n  { 0x9700, 0x20ad, 0x2000 },\n  { 0x1700, 0x20ac, 0x0000 },\n  { 0x1700, 0x20ae, 0x0000 },\n  { 0x8c00, 0x20d1, 0x3000 },\n  { 0x9700, 0x20b1, 0x2000 },\n  { 0x1700, 0x20b0, 0x0000 },\n  { 0x0c00, 0x20d0, 0x0000 },\n  { 0x8c00, 0x20d3, 0x2000 },\n  { 0x0c00, 0x20d2, 0x0000 },\n  { 0x0c00, 0x20d4, 0x0000 },\n  { 0x8b00, 0x20dd, 0x4000 },\n  { 0x8c00, 0x20d9, 0x3000 },\n  { 0x8c00, 0x20d7, 0x2000 },\n  { 0x0c00, 0x20d6, 0x0000 },\n  { 0x0c00, 0x20d8, 0x0000 },\n  { 0x8c00, 0x20db, 0x2000 },\n  { 0x0c00, 0x20da, 0x0000 },\n  { 0x0c00, 0x20dc, 0x0000 },\n  { 0x8c00, 0x20e1, 0x3000 },\n  { 0x8b00, 0x20df, 0x2000 },\n  { 0x0b00, 0x20de, 0x0000 },\n  { 0x0b00, 0x20e0, 0x0000 },\n  { 0x8b00, 0x20e3, 0x2000 },\n  { 0x0b00, 0x20e2, 0x0000 },\n  { 0x0b00, 0x20e4, 0x0000 },\n  { 0x8500, 0x210a, 0x5000 },\n  { 0x8900, 0x2102, 0x4000 },\n  { 0x8c00, 0x20e9, 0x3000 },\n  { 0x8c00, 0x20e7, 0x2000 },\n  { 0x0c00, 0x20e6, 0x0000 },\n  { 0x0c00, 0x20e8, 0x0000 },\n  { 0x9a00, 0x2100, 0x2000 },\n  { 0x0c00, 0x20ea, 0x0000 },\n  { 0x1a00, 0x2101, 0x0000 },\n  { 0x9a00, 0x2106, 0x3000 },\n  { 0x9a00, 0x2104, 0x2000 },\n  { 0x1a00, 0x2103, 0x0000 },\n  { 0x1a00, 0x2105, 0x0000 },\n  { 0x9a00, 0x2108, 0x2000 },\n  { 0x0900, 0x2107, 0x0000 },\n  { 0x1a00, 0x2109, 0x0000 },\n  { 0x8900, 0x2112, 0x4000 },\n  { 0x8500, 0x210e, 0x3000 },\n  { 0x8900, 0x210c, 0x2000 },\n  { 0x0900, 0x210b, 0x0000 },\n  { 0x0900, 0x210d, 0x0000 },\n  { 0x8900, 0x2110, 0x2000 },\n  { 0x0500, 0x210f, 0x0000 },\n  { 0x0900, 0x2111, 0x0000 },\n  { 0x9a00, 0x2116, 0x3000 },\n  { 0x9a00, 0x2114, 0x2000 },\n  { 0x0500, 0x2113, 0x0000 },\n  { 0x0900, 0x2115, 0x0000 },\n  { 0x9a00, 0x2118, 0x2000 },\n  { 0x1a00, 0x2117, 0x0000 },\n  { 0x0900, 0x2119, 0x0000 },\n  { 0x8e00, 0x2162, 0x7000 },\n  { 0x9a00, 0x213a, 0x6000 },\n  { 0x8900, 0x212a, 0x5000 },\n  { 0x9a00, 0x2122, 0x4000 },\n  { 0x9a00, 0x211e, 0x3000 },\n  { 0x8900, 0x211c, 0x2000 },\n  { 0x0900, 0x211b, 0x0000 },\n  { 0x0900, 0x211d, 0x0000 },\n  { 0x9a00, 0x2120, 0x2000 },\n  { 0x1a00, 0x211f, 0x0000 },\n  { 0x1a00, 0x2121, 0x0000 },\n  { 0x8900, 0x2126, 0x3000 },\n  { 0x8900, 0x2124, 0x2000 },\n  { 0x1a00, 0x2123, 0x0000 },\n  { 0x1a00, 0x2125, 0x0000 },\n  { 0x8900, 0x2128, 0x2000 },\n  { 0x1a00, 0x2127, 0x0000 },\n  { 0x1a00, 0x2129, 0x0000 },\n  { 0x9a00, 0x2132, 0x4000 },\n  { 0x9a00, 0x212e, 0x3000 },\n  { 0x8900, 0x212c, 0x2000 },\n  { 0x0900, 0x212b, 0x0000 },\n  { 0x0900, 0x212d, 0x0000 },\n  { 0x8900, 0x2130, 0x2000 },\n  { 0x0500, 0x212f, 0x0000 },\n  { 0x0900, 0x2131, 0x0000 },\n  { 0x8700, 0x2136, 0x3000 },\n  { 0x8500, 0x2134, 0x2000 },\n  { 0x0900, 0x2133, 0x0000 },\n  { 0x0700, 0x2135, 0x0000 },\n  { 0x8700, 0x2138, 0x2000 },\n  { 0x0700, 0x2137, 0x0000 },\n  { 0x0500, 0x2139, 0x0000 },\n  { 0x9900, 0x214b, 0x5000 },\n  { 0x9900, 0x2143, 0x4000 },\n  { 0x8900, 0x213f, 0x3000 },\n  { 0x8500, 0x213d, 0x2000 },\n  { 0x1a00, 0x213b, 0x0000 },\n  { 0x0900, 0x213e, 0x0000 },\n  { 0x9900, 0x2141, 0x2000 },\n  { 0x1900, 0x2140, 0x0000 },\n  { 0x1900, 0x2142, 0x0000 },\n  { 0x8500, 0x2147, 0x3000 },\n  { 0x8900, 0x2145, 0x2000 },\n  { 0x1900, 0x2144, 0x0000 },\n  { 0x0500, 0x2146, 0x0000 },\n  { 0x8500, 0x2149, 0x2000 },\n  { 0x0500, 0x2148, 0x0000 },\n  { 0x1a00, 0x214a, 0x0000 },\n  { 0x8f00, 0x215a, 0x4000 },\n  { 0x8f00, 0x2156, 0x3000 },\n  { 0x8f00, 0x2154, 0x2000 },\n  { 0x0f00, 0x2153, 0x0000 },\n  { 0x0f00, 0x2155, 0x0000 },\n  { 0x8f00, 0x2158, 0x2000 },\n  { 0x0f00, 0x2157, 0x0000 },\n  { 0x0f00, 0x2159, 0x0000 },\n  { 0x8f00, 0x215e, 0x3000 },\n  { 0x8f00, 0x215c, 0x2000 },\n  { 0x0f00, 0x215b, 0x0000 },\n  { 0x0f00, 0x215d, 0x0000 },\n  { 0x8e00, 0x2160, 0x2000 },\n  { 0x0f00, 0x215f, 0x0000 },\n  { 0x0e00, 0x2161, 0x0000 },\n  { 0x8e00, 0x2182, 0x6000 },\n  { 0x8e00, 0x2172, 0x5000 },\n  { 0x8e00, 0x216a, 0x4000 },\n  { 0x8e00, 0x2166, 0x3000 },\n  { 0x8e00, 0x2164, 0x2000 },\n  { 0x0e00, 0x2163, 0x0000 },\n  { 0x0e00, 0x2165, 0x0000 },\n  { 0x8e00, 0x2168, 0x2000 },\n  { 0x0e00, 0x2167, 0x0000 },\n  { 0x0e00, 0x2169, 0x0000 },\n  { 0x8e00, 0x216e, 0x3000 },\n  { 0x8e00, 0x216c, 0x2000 },\n  { 0x0e00, 0x216b, 0x0000 },\n  { 0x0e00, 0x216d, 0x0000 },\n  { 0x8e00, 0x2170, 0x2000 },\n  { 0x0e00, 0x216f, 0x0000 },\n  { 0x0e00, 0x2171, 0x0000 },\n  { 0x8e00, 0x217a, 0x4000 },\n  { 0x8e00, 0x2176, 0x3000 },\n  { 0x8e00, 0x2174, 0x2000 },\n  { 0x0e00, 0x2173, 0x0000 },\n  { 0x0e00, 0x2175, 0x0000 },\n  { 0x8e00, 0x2178, 0x2000 },\n  { 0x0e00, 0x2177, 0x0000 },\n  { 0x0e00, 0x2179, 0x0000 },\n  { 0x8e00, 0x217e, 0x3000 },\n  { 0x8e00, 0x217c, 0x2000 },\n  { 0x0e00, 0x217b, 0x0000 },\n  { 0x0e00, 0x217d, 0x0000 },\n  { 0x8e00, 0x2180, 0x2000 },\n  { 0x0e00, 0x217f, 0x0000 },\n  { 0x0e00, 0x2181, 0x0000 },\n  { 0x9a00, 0x219e, 0x5000 },\n  { 0x9a00, 0x2196, 0x4000 },\n  { 0x9900, 0x2192, 0x3000 },\n  { 0x9900, 0x2190, 0x2000 },\n  { 0x0e00, 0x2183, 0x0000 },\n  { 0x1900, 0x2191, 0x0000 },\n  { 0x9900, 0x2194, 0x2000 },\n  { 0x1900, 0x2193, 0x0000 },\n  { 0x1a00, 0x2195, 0x0000 },\n  { 0x9900, 0x219a, 0x3000 },\n  { 0x9a00, 0x2198, 0x2000 },\n  { 0x1a00, 0x2197, 0x0000 },\n  { 0x1a00, 0x2199, 0x0000 },\n  { 0x9a00, 0x219c, 0x2000 },\n  { 0x1900, 0x219b, 0x0000 },\n  { 0x1a00, 0x219d, 0x0000 },\n  { 0x9900, 0x21a6, 0x4000 },\n  { 0x9a00, 0x21a2, 0x3000 },\n  { 0x9900, 0x21a0, 0x2000 },\n  { 0x1a00, 0x219f, 0x0000 },\n  { 0x1a00, 0x21a1, 0x0000 },\n  { 0x9a00, 0x21a4, 0x2000 },\n  { 0x1900, 0x21a3, 0x0000 },\n  { 0x1a00, 0x21a5, 0x0000 },\n  { 0x9a00, 0x21aa, 0x3000 },\n  { 0x9a00, 0x21a8, 0x2000 },\n  { 0x1a00, 0x21a7, 0x0000 },\n  { 0x1a00, 0x21a9, 0x0000 },\n  { 0x9a00, 0x21ac, 0x2000 },\n  { 0x1a00, 0x21ab, 0x0000 },\n  { 0x1a00, 0x21ad, 0x0000 },\n  { 0x9900, 0x222e, 0x8000 },\n  { 0x9a00, 0x21ee, 0x7000 },\n  { 0x9900, 0x21ce, 0x6000 },\n  { 0x9a00, 0x21be, 0x5000 },\n  { 0x9a00, 0x21b6, 0x4000 },\n  { 0x9a00, 0x21b2, 0x3000 },\n  { 0x9a00, 0x21b0, 0x2000 },\n  { 0x1a00, 0x21af, 0x0000 },\n  { 0x1a00, 0x21b1, 0x0000 },\n  { 0x9a00, 0x21b4, 0x2000 },\n  { 0x1a00, 0x21b3, 0x0000 },\n  { 0x1a00, 0x21b5, 0x0000 },\n  { 0x9a00, 0x21ba, 0x3000 },\n  { 0x9a00, 0x21b8, 0x2000 },\n  { 0x1a00, 0x21b7, 0x0000 },\n  { 0x1a00, 0x21b9, 0x0000 },\n  { 0x9a00, 0x21bc, 0x2000 },\n  { 0x1a00, 0x21bb, 0x0000 },\n  { 0x1a00, 0x21bd, 0x0000 },\n  { 0x9a00, 0x21c6, 0x4000 },\n  { 0x9a00, 0x21c2, 0x3000 },\n  { 0x9a00, 0x21c0, 0x2000 },\n  { 0x1a00, 0x21bf, 0x0000 },\n  { 0x1a00, 0x21c1, 0x0000 },\n  { 0x9a00, 0x21c4, 0x2000 },\n  { 0x1a00, 0x21c3, 0x0000 },\n  { 0x1a00, 0x21c5, 0x0000 },\n  { 0x9a00, 0x21ca, 0x3000 },\n  { 0x9a00, 0x21c8, 0x2000 },\n  { 0x1a00, 0x21c7, 0x0000 },\n  { 0x1a00, 0x21c9, 0x0000 },\n  { 0x9a00, 0x21cc, 0x2000 },\n  { 0x1a00, 0x21cb, 0x0000 },\n  { 0x1a00, 0x21cd, 0x0000 },\n  { 0x9a00, 0x21de, 0x5000 },\n  { 0x9a00, 0x21d6, 0x4000 },\n  { 0x9900, 0x21d2, 0x3000 },\n  { 0x9a00, 0x21d0, 0x2000 },\n  { 0x1900, 0x21cf, 0x0000 },\n  { 0x1a00, 0x21d1, 0x0000 },\n  { 0x9900, 0x21d4, 0x2000 },\n  { 0x1a00, 0x21d3, 0x0000 },\n  { 0x1a00, 0x21d5, 0x0000 },\n  { 0x9a00, 0x21da, 0x3000 },\n  { 0x9a00, 0x21d8, 0x2000 },\n  { 0x1a00, 0x21d7, 0x0000 },\n  { 0x1a00, 0x21d9, 0x0000 },\n  { 0x9a00, 0x21dc, 0x2000 },\n  { 0x1a00, 0x21db, 0x0000 },\n  { 0x1a00, 0x21dd, 0x0000 },\n  { 0x9a00, 0x21e6, 0x4000 },\n  { 0x9a00, 0x21e2, 0x3000 },\n  { 0x9a00, 0x21e0, 0x2000 },\n  { 0x1a00, 0x21df, 0x0000 },\n  { 0x1a00, 0x21e1, 0x0000 },\n  { 0x9a00, 0x21e4, 0x2000 },\n  { 0x1a00, 0x21e3, 0x0000 },\n  { 0x1a00, 0x21e5, 0x0000 },\n  { 0x9a00, 0x21ea, 0x3000 },\n  { 0x9a00, 0x21e8, 0x2000 },\n  { 0x1a00, 0x21e7, 0x0000 },\n  { 0x1a00, 0x21e9, 0x0000 },\n  { 0x9a00, 0x21ec, 0x2000 },\n  { 0x1a00, 0x21eb, 0x0000 },\n  { 0x1a00, 0x21ed, 0x0000 },\n  { 0x9900, 0x220e, 0x6000 },\n  { 0x9900, 0x21fe, 0x5000 },\n  { 0x9900, 0x21f6, 0x4000 },\n  { 0x9a00, 0x21f2, 0x3000 },\n  { 0x9a00, 0x21f0, 0x2000 },\n  { 0x1a00, 0x21ef, 0x0000 },\n  { 0x1a00, 0x21f1, 0x0000 },\n  { 0x9900, 0x21f4, 0x2000 },\n  { 0x1a00, 0x21f3, 0x0000 },\n  { 0x1900, 0x21f5, 0x0000 },\n  { 0x9900, 0x21fa, 0x3000 },\n  { 0x9900, 0x21f8, 0x2000 },\n  { 0x1900, 0x21f7, 0x0000 },\n  { 0x1900, 0x21f9, 0x0000 },\n  { 0x9900, 0x21fc, 0x2000 },\n  { 0x1900, 0x21fb, 0x0000 },\n  { 0x1900, 0x21fd, 0x0000 },\n  { 0x9900, 0x2206, 0x4000 },\n  { 0x9900, 0x2202, 0x3000 },\n  { 0x9900, 0x2200, 0x2000 },\n  { 0x1900, 0x21ff, 0x0000 },\n  { 0x1900, 0x2201, 0x0000 },\n  { 0x9900, 0x2204, 0x2000 },\n  { 0x1900, 0x2203, 0x0000 },\n  { 0x1900, 0x2205, 0x0000 },\n  { 0x9900, 0x220a, 0x3000 },\n  { 0x9900, 0x2208, 0x2000 },\n  { 0x1900, 0x2207, 0x0000 },\n  { 0x1900, 0x2209, 0x0000 },\n  { 0x9900, 0x220c, 0x2000 },\n  { 0x1900, 0x220b, 0x0000 },\n  { 0x1900, 0x220d, 0x0000 },\n  { 0x9900, 0x221e, 0x5000 },\n  { 0x9900, 0x2216, 0x4000 },\n  { 0x9900, 0x2212, 0x3000 },\n  { 0x9900, 0x2210, 0x2000 },\n  { 0x1900, 0x220f, 0x0000 },\n  { 0x1900, 0x2211, 0x0000 },\n  { 0x9900, 0x2214, 0x2000 },\n  { 0x1900, 0x2213, 0x0000 },\n  { 0x1900, 0x2215, 0x0000 },\n  { 0x9900, 0x221a, 0x3000 },\n  { 0x9900, 0x2218, 0x2000 },\n  { 0x1900, 0x2217, 0x0000 },\n  { 0x1900, 0x2219, 0x0000 },\n  { 0x9900, 0x221c, 0x2000 },\n  { 0x1900, 0x221b, 0x0000 },\n  { 0x1900, 0x221d, 0x0000 },\n  { 0x9900, 0x2226, 0x4000 },\n  { 0x9900, 0x2222, 0x3000 },\n  { 0x9900, 0x2220, 0x2000 },\n  { 0x1900, 0x221f, 0x0000 },\n  { 0x1900, 0x2221, 0x0000 },\n  { 0x9900, 0x2224, 0x2000 },\n  { 0x1900, 0x2223, 0x0000 },\n  { 0x1900, 0x2225, 0x0000 },\n  { 0x9900, 0x222a, 0x3000 },\n  { 0x9900, 0x2228, 0x2000 },\n  { 0x1900, 0x2227, 0x0000 },\n  { 0x1900, 0x2229, 0x0000 },\n  { 0x9900, 0x222c, 0x2000 },\n  { 0x1900, 0x222b, 0x0000 },\n  { 0x1900, 0x222d, 0x0000 },\n  { 0x9900, 0x226e, 0x7000 },\n  { 0x9900, 0x224e, 0x6000 },\n  { 0x9900, 0x223e, 0x5000 },\n  { 0x9900, 0x2236, 0x4000 },\n  { 0x9900, 0x2232, 0x3000 },\n  { 0x9900, 0x2230, 0x2000 },\n  { 0x1900, 0x222f, 0x0000 },\n  { 0x1900, 0x2231, 0x0000 },\n  { 0x9900, 0x2234, 0x2000 },\n  { 0x1900, 0x2233, 0x0000 },\n  { 0x1900, 0x2235, 0x0000 },\n  { 0x9900, 0x223a, 0x3000 },\n  { 0x9900, 0x2238, 0x2000 },\n  { 0x1900, 0x2237, 0x0000 },\n  { 0x1900, 0x2239, 0x0000 },\n  { 0x9900, 0x223c, 0x2000 },\n  { 0x1900, 0x223b, 0x0000 },\n  { 0x1900, 0x223d, 0x0000 },\n  { 0x9900, 0x2246, 0x4000 },\n  { 0x9900, 0x2242, 0x3000 },\n  { 0x9900, 0x2240, 0x2000 },\n  { 0x1900, 0x223f, 0x0000 },\n  { 0x1900, 0x2241, 0x0000 },\n  { 0x9900, 0x2244, 0x2000 },\n  { 0x1900, 0x2243, 0x0000 },\n  { 0x1900, 0x2245, 0x0000 },\n  { 0x9900, 0x224a, 0x3000 },\n  { 0x9900, 0x2248, 0x2000 },\n  { 0x1900, 0x2247, 0x0000 },\n  { 0x1900, 0x2249, 0x0000 },\n  { 0x9900, 0x224c, 0x2000 },\n  { 0x1900, 0x224b, 0x0000 },\n  { 0x1900, 0x224d, 0x0000 },\n  { 0x9900, 0x225e, 0x5000 },\n  { 0x9900, 0x2256, 0x4000 },\n  { 0x9900, 0x2252, 0x3000 },\n  { 0x9900, 0x2250, 0x2000 },\n  { 0x1900, 0x224f, 0x0000 },\n  { 0x1900, 0x2251, 0x0000 },\n  { 0x9900, 0x2254, 0x2000 },\n  { 0x1900, 0x2253, 0x0000 },\n  { 0x1900, 0x2255, 0x0000 },\n  { 0x9900, 0x225a, 0x3000 },\n  { 0x9900, 0x2258, 0x2000 },\n  { 0x1900, 0x2257, 0x0000 },\n  { 0x1900, 0x2259, 0x0000 },\n  { 0x9900, 0x225c, 0x2000 },\n  { 0x1900, 0x225b, 0x0000 },\n  { 0x1900, 0x225d, 0x0000 },\n  { 0x9900, 0x2266, 0x4000 },\n  { 0x9900, 0x2262, 0x3000 },\n  { 0x9900, 0x2260, 0x2000 },\n  { 0x1900, 0x225f, 0x0000 },\n  { 0x1900, 0x2261, 0x0000 },\n  { 0x9900, 0x2264, 0x2000 },\n  { 0x1900, 0x2263, 0x0000 },\n  { 0x1900, 0x2265, 0x0000 },\n  { 0x9900, 0x226a, 0x3000 },\n  { 0x9900, 0x2268, 0x2000 },\n  { 0x1900, 0x2267, 0x0000 },\n  { 0x1900, 0x2269, 0x0000 },\n  { 0x9900, 0x226c, 0x2000 },\n  { 0x1900, 0x226b, 0x0000 },\n  { 0x1900, 0x226d, 0x0000 },\n  { 0x9900, 0x228e, 0x6000 },\n  { 0x9900, 0x227e, 0x5000 },\n  { 0x9900, 0x2276, 0x4000 },\n  { 0x9900, 0x2272, 0x3000 },\n  { 0x9900, 0x2270, 0x2000 },\n  { 0x1900, 0x226f, 0x0000 },\n  { 0x1900, 0x2271, 0x0000 },\n  { 0x9900, 0x2274, 0x2000 },\n  { 0x1900, 0x2273, 0x0000 },\n  { 0x1900, 0x2275, 0x0000 },\n  { 0x9900, 0x227a, 0x3000 },\n  { 0x9900, 0x2278, 0x2000 },\n  { 0x1900, 0x2277, 0x0000 },\n  { 0x1900, 0x2279, 0x0000 },\n  { 0x9900, 0x227c, 0x2000 },\n  { 0x1900, 0x227b, 0x0000 },\n  { 0x1900, 0x227d, 0x0000 },\n  { 0x9900, 0x2286, 0x4000 },\n  { 0x9900, 0x2282, 0x3000 },\n  { 0x9900, 0x2280, 0x2000 },\n  { 0x1900, 0x227f, 0x0000 },\n  { 0x1900, 0x2281, 0x0000 },\n  { 0x9900, 0x2284, 0x2000 },\n  { 0x1900, 0x2283, 0x0000 },\n  { 0x1900, 0x2285, 0x0000 },\n  { 0x9900, 0x228a, 0x3000 },\n  { 0x9900, 0x2288, 0x2000 },\n  { 0x1900, 0x2287, 0x0000 },\n  { 0x1900, 0x2289, 0x0000 },\n  { 0x9900, 0x228c, 0x2000 },\n  { 0x1900, 0x228b, 0x0000 },\n  { 0x1900, 0x228d, 0x0000 },\n  { 0x9900, 0x229e, 0x5000 },\n  { 0x9900, 0x2296, 0x4000 },\n  { 0x9900, 0x2292, 0x3000 },\n  { 0x9900, 0x2290, 0x2000 },\n  { 0x1900, 0x228f, 0x0000 },\n  { 0x1900, 0x2291, 0x0000 },\n  { 0x9900, 0x2294, 0x2000 },\n  { 0x1900, 0x2293, 0x0000 },\n  { 0x1900, 0x2295, 0x0000 },\n  { 0x9900, 0x229a, 0x3000 },\n  { 0x9900, 0x2298, 0x2000 },\n  { 0x1900, 0x2297, 0x0000 },\n  { 0x1900, 0x2299, 0x0000 },\n  { 0x9900, 0x229c, 0x2000 },\n  { 0x1900, 0x229b, 0x0000 },\n  { 0x1900, 0x229d, 0x0000 },\n  { 0x9900, 0x22a6, 0x4000 },\n  { 0x9900, 0x22a2, 0x3000 },\n  { 0x9900, 0x22a0, 0x2000 },\n  { 0x1900, 0x229f, 0x0000 },\n  { 0x1900, 0x22a1, 0x0000 },\n  { 0x9900, 0x22a4, 0x2000 },\n  { 0x1900, 0x22a3, 0x0000 },\n  { 0x1900, 0x22a5, 0x0000 },\n  { 0x9900, 0x22aa, 0x3000 },\n  { 0x9900, 0x22a8, 0x2000 },\n  { 0x1900, 0x22a7, 0x0000 },\n  { 0x1900, 0x22a9, 0x0000 },\n  { 0x9900, 0x22ac, 0x2000 },\n  { 0x1900, 0x22ab, 0x0000 },\n  { 0x1900, 0x22ad, 0x0000 },\n  { 0x8f00, 0x2787, 0xb000 },\n  { 0x9a00, 0x250b, 0xa000 },\n  { 0x9900, 0x23ae, 0x9000 },\n  { 0x9a00, 0x232e, 0x8000 },\n  { 0x9900, 0x22ee, 0x7000 },\n  { 0x9900, 0x22ce, 0x6000 },\n  { 0x9900, 0x22be, 0x5000 },\n  { 0x9900, 0x22b6, 0x4000 },\n  { 0x9900, 0x22b2, 0x3000 },\n  { 0x9900, 0x22b0, 0x2000 },\n  { 0x1900, 0x22af, 0x0000 },\n  { 0x1900, 0x22b1, 0x0000 },\n  { 0x9900, 0x22b4, 0x2000 },\n  { 0x1900, 0x22b3, 0x0000 },\n  { 0x1900, 0x22b5, 0x0000 },\n  { 0x9900, 0x22ba, 0x3000 },\n  { 0x9900, 0x22b8, 0x2000 },\n  { 0x1900, 0x22b7, 0x0000 },\n  { 0x1900, 0x22b9, 0x0000 },\n  { 0x9900, 0x22bc, 0x2000 },\n  { 0x1900, 0x22bb, 0x0000 },\n  { 0x1900, 0x22bd, 0x0000 },\n  { 0x9900, 0x22c6, 0x4000 },\n  { 0x9900, 0x22c2, 0x3000 },\n  { 0x9900, 0x22c0, 0x2000 },\n  { 0x1900, 0x22bf, 0x0000 },\n  { 0x1900, 0x22c1, 0x0000 },\n  { 0x9900, 0x22c4, 0x2000 },\n  { 0x1900, 0x22c3, 0x0000 },\n  { 0x1900, 0x22c5, 0x0000 },\n  { 0x9900, 0x22ca, 0x3000 },\n  { 0x9900, 0x22c8, 0x2000 },\n  { 0x1900, 0x22c7, 0x0000 },\n  { 0x1900, 0x22c9, 0x0000 },\n  { 0x9900, 0x22cc, 0x2000 },\n  { 0x1900, 0x22cb, 0x0000 },\n  { 0x1900, 0x22cd, 0x0000 },\n  { 0x9900, 0x22de, 0x5000 },\n  { 0x9900, 0x22d6, 0x4000 },\n  { 0x9900, 0x22d2, 0x3000 },\n  { 0x9900, 0x22d0, 0x2000 },\n  { 0x1900, 0x22cf, 0x0000 },\n  { 0x1900, 0x22d1, 0x0000 },\n  { 0x9900, 0x22d4, 0x2000 },\n  { 0x1900, 0x22d3, 0x0000 },\n  { 0x1900, 0x22d5, 0x0000 },\n  { 0x9900, 0x22da, 0x3000 },\n  { 0x9900, 0x22d8, 0x2000 },\n  { 0x1900, 0x22d7, 0x0000 },\n  { 0x1900, 0x22d9, 0x0000 },\n  { 0x9900, 0x22dc, 0x2000 },\n  { 0x1900, 0x22db, 0x0000 },\n  { 0x1900, 0x22dd, 0x0000 },\n  { 0x9900, 0x22e6, 0x4000 },\n  { 0x9900, 0x22e2, 0x3000 },\n  { 0x9900, 0x22e0, 0x2000 },\n  { 0x1900, 0x22df, 0x0000 },\n  { 0x1900, 0x22e1, 0x0000 },\n  { 0x9900, 0x22e4, 0x2000 },\n  { 0x1900, 0x22e3, 0x0000 },\n  { 0x1900, 0x22e5, 0x0000 },\n  { 0x9900, 0x22ea, 0x3000 },\n  { 0x9900, 0x22e8, 0x2000 },\n  { 0x1900, 0x22e7, 0x0000 },\n  { 0x1900, 0x22e9, 0x0000 },\n  { 0x9900, 0x22ec, 0x2000 },\n  { 0x1900, 0x22eb, 0x0000 },\n  { 0x1900, 0x22ed, 0x0000 },\n  { 0x9a00, 0x230e, 0x6000 },\n  { 0x9900, 0x22fe, 0x5000 },\n  { 0x9900, 0x22f6, 0x4000 },\n  { 0x9900, 0x22f2, 0x3000 },\n  { 0x9900, 0x22f0, 0x2000 },\n  { 0x1900, 0x22ef, 0x0000 },\n  { 0x1900, 0x22f1, 0x0000 },\n  { 0x9900, 0x22f4, 0x2000 },\n  { 0x1900, 0x22f3, 0x0000 },\n  { 0x1900, 0x22f5, 0x0000 },\n  { 0x9900, 0x22fa, 0x3000 },\n  { 0x9900, 0x22f8, 0x2000 },\n  { 0x1900, 0x22f7, 0x0000 },\n  { 0x1900, 0x22f9, 0x0000 },\n  { 0x9900, 0x22fc, 0x2000 },\n  { 0x1900, 0x22fb, 0x0000 },\n  { 0x1900, 0x22fd, 0x0000 },\n  { 0x9a00, 0x2306, 0x4000 },\n  { 0x9a00, 0x2302, 0x3000 },\n  { 0x9a00, 0x2300, 0x2000 },\n  { 0x1900, 0x22ff, 0x0000 },\n  { 0x1a00, 0x2301, 0x0000 },\n  { 0x9a00, 0x2304, 0x2000 },\n  { 0x1a00, 0x2303, 0x0000 },\n  { 0x1a00, 0x2305, 0x0000 },\n  { 0x9900, 0x230a, 0x3000 },\n  { 0x9900, 0x2308, 0x2000 },\n  { 0x1a00, 0x2307, 0x0000 },\n  { 0x1900, 0x2309, 0x0000 },\n  { 0x9a00, 0x230c, 0x2000 },\n  { 0x1900, 0x230b, 0x0000 },\n  { 0x1a00, 0x230d, 0x0000 },\n  { 0x9a00, 0x231e, 0x5000 },\n  { 0x9a00, 0x2316, 0x4000 },\n  { 0x9a00, 0x2312, 0x3000 },\n  { 0x9a00, 0x2310, 0x2000 },\n  { 0x1a00, 0x230f, 0x0000 },\n  { 0x1a00, 0x2311, 0x0000 },\n  { 0x9a00, 0x2314, 0x2000 },\n  { 0x1a00, 0x2313, 0x0000 },\n  { 0x1a00, 0x2315, 0x0000 },\n  { 0x9a00, 0x231a, 0x3000 },\n  { 0x9a00, 0x2318, 0x2000 },\n  { 0x1a00, 0x2317, 0x0000 },\n  { 0x1a00, 0x2319, 0x0000 },\n  { 0x9a00, 0x231c, 0x2000 },\n  { 0x1a00, 0x231b, 0x0000 },\n  { 0x1a00, 0x231d, 0x0000 },\n  { 0x9a00, 0x2326, 0x4000 },\n  { 0x9a00, 0x2322, 0x3000 },\n  { 0x9900, 0x2320, 0x2000 },\n  { 0x1a00, 0x231f, 0x0000 },\n  { 0x1900, 0x2321, 0x0000 },\n  { 0x9a00, 0x2324, 0x2000 },\n  { 0x1a00, 0x2323, 0x0000 },\n  { 0x1a00, 0x2325, 0x0000 },\n  { 0x9200, 0x232a, 0x3000 },\n  { 0x9a00, 0x2328, 0x2000 },\n  { 0x1a00, 0x2327, 0x0000 },\n  { 0x1600, 0x2329, 0x0000 },\n  { 0x9a00, 0x232c, 0x2000 },\n  { 0x1a00, 0x232b, 0x0000 },\n  { 0x1a00, 0x232d, 0x0000 },\n  { 0x9a00, 0x236e, 0x7000 },\n  { 0x9a00, 0x234e, 0x6000 },\n  { 0x9a00, 0x233e, 0x5000 },\n  { 0x9a00, 0x2336, 0x4000 },\n  { 0x9a00, 0x2332, 0x3000 },\n  { 0x9a00, 0x2330, 0x2000 },\n  { 0x1a00, 0x232f, 0x0000 },\n  { 0x1a00, 0x2331, 0x0000 },\n  { 0x9a00, 0x2334, 0x2000 },\n  { 0x1a00, 0x2333, 0x0000 },\n  { 0x1a00, 0x2335, 0x0000 },\n  { 0x9a00, 0x233a, 0x3000 },\n  { 0x9a00, 0x2338, 0x2000 },\n  { 0x1a00, 0x2337, 0x0000 },\n  { 0x1a00, 0x2339, 0x0000 },\n  { 0x9a00, 0x233c, 0x2000 },\n  { 0x1a00, 0x233b, 0x0000 },\n  { 0x1a00, 0x233d, 0x0000 },\n  { 0x9a00, 0x2346, 0x4000 },\n  { 0x9a00, 0x2342, 0x3000 },\n  { 0x9a00, 0x2340, 0x2000 },\n  { 0x1a00, 0x233f, 0x0000 },\n  { 0x1a00, 0x2341, 0x0000 },\n  { 0x9a00, 0x2344, 0x2000 },\n  { 0x1a00, 0x2343, 0x0000 },\n  { 0x1a00, 0x2345, 0x0000 },\n  { 0x9a00, 0x234a, 0x3000 },\n  { 0x9a00, 0x2348, 0x2000 },\n  { 0x1a00, 0x2347, 0x0000 },\n  { 0x1a00, 0x2349, 0x0000 },\n  { 0x9a00, 0x234c, 0x2000 },\n  { 0x1a00, 0x234b, 0x0000 },\n  { 0x1a00, 0x234d, 0x0000 },\n  { 0x9a00, 0x235e, 0x5000 },\n  { 0x9a00, 0x2356, 0x4000 },\n  { 0x9a00, 0x2352, 0x3000 },\n  { 0x9a00, 0x2350, 0x2000 },\n  { 0x1a00, 0x234f, 0x0000 },\n  { 0x1a00, 0x2351, 0x0000 },\n  { 0x9a00, 0x2354, 0x2000 },\n  { 0x1a00, 0x2353, 0x0000 },\n  { 0x1a00, 0x2355, 0x0000 },\n  { 0x9a00, 0x235a, 0x3000 },\n  { 0x9a00, 0x2358, 0x2000 },\n  { 0x1a00, 0x2357, 0x0000 },\n  { 0x1a00, 0x2359, 0x0000 },\n  { 0x9a00, 0x235c, 0x2000 },\n  { 0x1a00, 0x235b, 0x0000 },\n  { 0x1a00, 0x235d, 0x0000 },\n  { 0x9a00, 0x2366, 0x4000 },\n  { 0x9a00, 0x2362, 0x3000 },\n  { 0x9a00, 0x2360, 0x2000 },\n  { 0x1a00, 0x235f, 0x0000 },\n  { 0x1a00, 0x2361, 0x0000 },\n  { 0x9a00, 0x2364, 0x2000 },\n  { 0x1a00, 0x2363, 0x0000 },\n  { 0x1a00, 0x2365, 0x0000 },\n  { 0x9a00, 0x236a, 0x3000 },\n  { 0x9a00, 0x2368, 0x2000 },\n  { 0x1a00, 0x2367, 0x0000 },\n  { 0x1a00, 0x2369, 0x0000 },\n  { 0x9a00, 0x236c, 0x2000 },\n  { 0x1a00, 0x236b, 0x0000 },\n  { 0x1a00, 0x236d, 0x0000 },\n  { 0x9a00, 0x238e, 0x6000 },\n  { 0x9a00, 0x237e, 0x5000 },\n  { 0x9a00, 0x2376, 0x4000 },\n  { 0x9a00, 0x2372, 0x3000 },\n  { 0x9a00, 0x2370, 0x2000 },\n  { 0x1a00, 0x236f, 0x0000 },\n  { 0x1a00, 0x2371, 0x0000 },\n  { 0x9a00, 0x2374, 0x2000 },\n  { 0x1a00, 0x2373, 0x0000 },\n  { 0x1a00, 0x2375, 0x0000 },\n  { 0x9a00, 0x237a, 0x3000 },\n  { 0x9a00, 0x2378, 0x2000 },\n  { 0x1a00, 0x2377, 0x0000 },\n  { 0x1a00, 0x2379, 0x0000 },\n  { 0x9900, 0x237c, 0x2000 },\n  { 0x1a00, 0x237b, 0x0000 },\n  { 0x1a00, 0x237d, 0x0000 },\n  { 0x9a00, 0x2386, 0x4000 },\n  { 0x9a00, 0x2382, 0x3000 },\n  { 0x9a00, 0x2380, 0x2000 },\n  { 0x1a00, 0x237f, 0x0000 },\n  { 0x1a00, 0x2381, 0x0000 },\n  { 0x9a00, 0x2384, 0x2000 },\n  { 0x1a00, 0x2383, 0x0000 },\n  { 0x1a00, 0x2385, 0x0000 },\n  { 0x9a00, 0x238a, 0x3000 },\n  { 0x9a00, 0x2388, 0x2000 },\n  { 0x1a00, 0x2387, 0x0000 },\n  { 0x1a00, 0x2389, 0x0000 },\n  { 0x9a00, 0x238c, 0x2000 },\n  { 0x1a00, 0x238b, 0x0000 },\n  { 0x1a00, 0x238d, 0x0000 },\n  { 0x9900, 0x239e, 0x5000 },\n  { 0x9a00, 0x2396, 0x4000 },\n  { 0x9a00, 0x2392, 0x3000 },\n  { 0x9a00, 0x2390, 0x2000 },\n  { 0x1a00, 0x238f, 0x0000 },\n  { 0x1a00, 0x2391, 0x0000 },\n  { 0x9a00, 0x2394, 0x2000 },\n  { 0x1a00, 0x2393, 0x0000 },\n  { 0x1a00, 0x2395, 0x0000 },\n  { 0x9a00, 0x239a, 0x3000 },\n  { 0x9a00, 0x2398, 0x2000 },\n  { 0x1a00, 0x2397, 0x0000 },\n  { 0x1a00, 0x2399, 0x0000 },\n  { 0x9900, 0x239c, 0x2000 },\n  { 0x1900, 0x239b, 0x0000 },\n  { 0x1900, 0x239d, 0x0000 },\n  { 0x9900, 0x23a6, 0x4000 },\n  { 0x9900, 0x23a2, 0x3000 },\n  { 0x9900, 0x23a0, 0x2000 },\n  { 0x1900, 0x239f, 0x0000 },\n  { 0x1900, 0x23a1, 0x0000 },\n  { 0x9900, 0x23a4, 0x2000 },\n  { 0x1900, 0x23a3, 0x0000 },\n  { 0x1900, 0x23a5, 0x0000 },\n  { 0x9900, 0x23aa, 0x3000 },\n  { 0x9900, 0x23a8, 0x2000 },\n  { 0x1900, 0x23a7, 0x0000 },\n  { 0x1900, 0x23a9, 0x0000 },\n  { 0x9900, 0x23ac, 0x2000 },\n  { 0x1900, 0x23ab, 0x0000 },\n  { 0x1900, 0x23ad, 0x0000 },\n  { 0x8f00, 0x248b, 0x8000 },\n  { 0x9a00, 0x241d, 0x7000 },\n  { 0x9a00, 0x23ce, 0x6000 },\n  { 0x9a00, 0x23be, 0x5000 },\n  { 0x9500, 0x23b6, 0x4000 },\n  { 0x9900, 0x23b2, 0x3000 },\n  { 0x9900, 0x23b0, 0x2000 },\n  { 0x1900, 0x23af, 0x0000 },\n  { 0x1900, 0x23b1, 0x0000 },\n  { 0x9600, 0x23b4, 0x2000 },\n  { 0x1900, 0x23b3, 0x0000 },\n  { 0x1200, 0x23b5, 0x0000 },\n  { 0x9a00, 0x23ba, 0x3000 },\n  { 0x9a00, 0x23b8, 0x2000 },\n  { 0x1a00, 0x23b7, 0x0000 },\n  { 0x1a00, 0x23b9, 0x0000 },\n  { 0x9a00, 0x23bc, 0x2000 },\n  { 0x1a00, 0x23bb, 0x0000 },\n  { 0x1a00, 0x23bd, 0x0000 },\n  { 0x9a00, 0x23c6, 0x4000 },\n  { 0x9a00, 0x23c2, 0x3000 },\n  { 0x9a00, 0x23c0, 0x2000 },\n  { 0x1a00, 0x23bf, 0x0000 },\n  { 0x1a00, 0x23c1, 0x0000 },\n  { 0x9a00, 0x23c4, 0x2000 },\n  { 0x1a00, 0x23c3, 0x0000 },\n  { 0x1a00, 0x23c5, 0x0000 },\n  { 0x9a00, 0x23ca, 0x3000 },\n  { 0x9a00, 0x23c8, 0x2000 },\n  { 0x1a00, 0x23c7, 0x0000 },\n  { 0x1a00, 0x23c9, 0x0000 },\n  { 0x9a00, 0x23cc, 0x2000 },\n  { 0x1a00, 0x23cb, 0x0000 },\n  { 0x1a00, 0x23cd, 0x0000 },\n  { 0x9a00, 0x240d, 0x5000 },\n  { 0x9a00, 0x2405, 0x4000 },\n  { 0x9a00, 0x2401, 0x3000 },\n  { 0x9a00, 0x23d0, 0x2000 },\n  { 0x1a00, 0x23cf, 0x0000 },\n  { 0x1a00, 0x2400, 0x0000 },\n  { 0x9a00, 0x2403, 0x2000 },\n  { 0x1a00, 0x2402, 0x0000 },\n  { 0x1a00, 0x2404, 0x0000 },\n  { 0x9a00, 0x2409, 0x3000 },\n  { 0x9a00, 0x2407, 0x2000 },\n  { 0x1a00, 0x2406, 0x0000 },\n  { 0x1a00, 0x2408, 0x0000 },\n  { 0x9a00, 0x240b, 0x2000 },\n  { 0x1a00, 0x240a, 0x0000 },\n  { 0x1a00, 0x240c, 0x0000 },\n  { 0x9a00, 0x2415, 0x4000 },\n  { 0x9a00, 0x2411, 0x3000 },\n  { 0x9a00, 0x240f, 0x2000 },\n  { 0x1a00, 0x240e, 0x0000 },\n  { 0x1a00, 0x2410, 0x0000 },\n  { 0x9a00, 0x2413, 0x2000 },\n  { 0x1a00, 0x2412, 0x0000 },\n  { 0x1a00, 0x2414, 0x0000 },\n  { 0x9a00, 0x2419, 0x3000 },\n  { 0x9a00, 0x2417, 0x2000 },\n  { 0x1a00, 0x2416, 0x0000 },\n  { 0x1a00, 0x2418, 0x0000 },\n  { 0x9a00, 0x241b, 0x2000 },\n  { 0x1a00, 0x241a, 0x0000 },\n  { 0x1a00, 0x241c, 0x0000 },\n  { 0x8f00, 0x246b, 0x6000 },\n  { 0x9a00, 0x2446, 0x5000 },\n  { 0x9a00, 0x2425, 0x4000 },\n  { 0x9a00, 0x2421, 0x3000 },\n  { 0x9a00, 0x241f, 0x2000 },\n  { 0x1a00, 0x241e, 0x0000 },\n  { 0x1a00, 0x2420, 0x0000 },\n  { 0x9a00, 0x2423, 0x2000 },\n  { 0x1a00, 0x2422, 0x0000 },\n  { 0x1a00, 0x2424, 0x0000 },\n  { 0x9a00, 0x2442, 0x3000 },\n  { 0x9a00, 0x2440, 0x2000 },\n  { 0x1a00, 0x2426, 0x0000 },\n  { 0x1a00, 0x2441, 0x0000 },\n  { 0x9a00, 0x2444, 0x2000 },\n  { 0x1a00, 0x2443, 0x0000 },\n  { 0x1a00, 0x2445, 0x0000 },\n  { 0x8f00, 0x2463, 0x4000 },\n  { 0x9a00, 0x244a, 0x3000 },\n  { 0x9a00, 0x2448, 0x2000 },\n  { 0x1a00, 0x2447, 0x0000 },\n  { 0x1a00, 0x2449, 0x0000 },\n  { 0x8f00, 0x2461, 0x2000 },\n  { 0x0f00, 0x2460, 0x0000 },\n  { 0x0f00, 0x2462, 0x0000 },\n  { 0x8f00, 0x2467, 0x3000 },\n  { 0x8f00, 0x2465, 0x2000 },\n  { 0x0f00, 0x2464, 0x0000 },\n  { 0x0f00, 0x2466, 0x0000 },\n  { 0x8f00, 0x2469, 0x2000 },\n  { 0x0f00, 0x2468, 0x0000 },\n  { 0x0f00, 0x246a, 0x0000 },\n  { 0x8f00, 0x247b, 0x5000 },\n  { 0x8f00, 0x2473, 0x4000 },\n  { 0x8f00, 0x246f, 0x3000 },\n  { 0x8f00, 0x246d, 0x2000 },\n  { 0x0f00, 0x246c, 0x0000 },\n  { 0x0f00, 0x246e, 0x0000 },\n  { 0x8f00, 0x2471, 0x2000 },\n  { 0x0f00, 0x2470, 0x0000 },\n  { 0x0f00, 0x2472, 0x0000 },\n  { 0x8f00, 0x2477, 0x3000 },\n  { 0x8f00, 0x2475, 0x2000 },\n  { 0x0f00, 0x2474, 0x0000 },\n  { 0x0f00, 0x2476, 0x0000 },\n  { 0x8f00, 0x2479, 0x2000 },\n  { 0x0f00, 0x2478, 0x0000 },\n  { 0x0f00, 0x247a, 0x0000 },\n  { 0x8f00, 0x2483, 0x4000 },\n  { 0x8f00, 0x247f, 0x3000 },\n  { 0x8f00, 0x247d, 0x2000 },\n  { 0x0f00, 0x247c, 0x0000 },\n  { 0x0f00, 0x247e, 0x0000 },\n  { 0x8f00, 0x2481, 0x2000 },\n  { 0x0f00, 0x2480, 0x0000 },\n  { 0x0f00, 0x2482, 0x0000 },\n  { 0x8f00, 0x2487, 0x3000 },\n  { 0x8f00, 0x2485, 0x2000 },\n  { 0x0f00, 0x2484, 0x0000 },\n  { 0x0f00, 0x2486, 0x0000 },\n  { 0x8f00, 0x2489, 0x2000 },\n  { 0x0f00, 0x2488, 0x0000 },\n  { 0x0f00, 0x248a, 0x0000 },\n  { 0x9a00, 0x24cb, 0x7000 },\n  { 0x9a00, 0x24ab, 0x6000 },\n  { 0x8f00, 0x249b, 0x5000 },\n  { 0x8f00, 0x2493, 0x4000 },\n  { 0x8f00, 0x248f, 0x3000 },\n  { 0x8f00, 0x248d, 0x2000 },\n  { 0x0f00, 0x248c, 0x0000 },\n  { 0x0f00, 0x248e, 0x0000 },\n  { 0x8f00, 0x2491, 0x2000 },\n  { 0x0f00, 0x2490, 0x0000 },\n  { 0x0f00, 0x2492, 0x0000 },\n  { 0x8f00, 0x2497, 0x3000 },\n  { 0x8f00, 0x2495, 0x2000 },\n  { 0x0f00, 0x2494, 0x0000 },\n  { 0x0f00, 0x2496, 0x0000 },\n  { 0x8f00, 0x2499, 0x2000 },\n  { 0x0f00, 0x2498, 0x0000 },\n  { 0x0f00, 0x249a, 0x0000 },\n  { 0x9a00, 0x24a3, 0x4000 },\n  { 0x9a00, 0x249f, 0x3000 },\n  { 0x9a00, 0x249d, 0x2000 },\n  { 0x1a00, 0x249c, 0x0000 },\n  { 0x1a00, 0x249e, 0x0000 },\n  { 0x9a00, 0x24a1, 0x2000 },\n  { 0x1a00, 0x24a0, 0x0000 },\n  { 0x1a00, 0x24a2, 0x0000 },\n  { 0x9a00, 0x24a7, 0x3000 },\n  { 0x9a00, 0x24a5, 0x2000 },\n  { 0x1a00, 0x24a4, 0x0000 },\n  { 0x1a00, 0x24a6, 0x0000 },\n  { 0x9a00, 0x24a9, 0x2000 },\n  { 0x1a00, 0x24a8, 0x0000 },\n  { 0x1a00, 0x24aa, 0x0000 },\n  { 0x9a00, 0x24bb, 0x5000 },\n  { 0x9a00, 0x24b3, 0x4000 },\n  { 0x9a00, 0x24af, 0x3000 },\n  { 0x9a00, 0x24ad, 0x2000 },\n  { 0x1a00, 0x24ac, 0x0000 },\n  { 0x1a00, 0x24ae, 0x0000 },\n  { 0x9a00, 0x24b1, 0x2000 },\n  { 0x1a00, 0x24b0, 0x0000 },\n  { 0x1a00, 0x24b2, 0x0000 },\n  { 0x9a00, 0x24b7, 0x3000 },\n  { 0x9a00, 0x24b5, 0x2000 },\n  { 0x1a00, 0x24b4, 0x0000 },\n  { 0x1a00, 0x24b6, 0x0000 },\n  { 0x9a00, 0x24b9, 0x2000 },\n  { 0x1a00, 0x24b8, 0x0000 },\n  { 0x1a00, 0x24ba, 0x0000 },\n  { 0x9a00, 0x24c3, 0x4000 },\n  { 0x9a00, 0x24bf, 0x3000 },\n  { 0x9a00, 0x24bd, 0x2000 },\n  { 0x1a00, 0x24bc, 0x0000 },\n  { 0x1a00, 0x24be, 0x0000 },\n  { 0x9a00, 0x24c1, 0x2000 },\n  { 0x1a00, 0x24c0, 0x0000 },\n  { 0x1a00, 0x24c2, 0x0000 },\n  { 0x9a00, 0x24c7, 0x3000 },\n  { 0x9a00, 0x24c5, 0x2000 },\n  { 0x1a00, 0x24c4, 0x0000 },\n  { 0x1a00, 0x24c6, 0x0000 },\n  { 0x9a00, 0x24c9, 0x2000 },\n  { 0x1a00, 0x24c8, 0x0000 },\n  { 0x1a00, 0x24ca, 0x0000 },\n  { 0x8f00, 0x24eb, 0x6000 },\n  { 0x9a00, 0x24db, 0x5000 },\n  { 0x9a00, 0x24d3, 0x4000 },\n  { 0x9a00, 0x24cf, 0x3000 },\n  { 0x9a00, 0x24cd, 0x2000 },\n  { 0x1a00, 0x24cc, 0x0000 },\n  { 0x1a00, 0x24ce, 0x0000 },\n  { 0x9a00, 0x24d1, 0x2000 },\n  { 0x1a00, 0x24d0, 0x0000 },\n  { 0x1a00, 0x24d2, 0x0000 },\n  { 0x9a00, 0x24d7, 0x3000 },\n  { 0x9a00, 0x24d5, 0x2000 },\n  { 0x1a00, 0x24d4, 0x0000 },\n  { 0x1a00, 0x24d6, 0x0000 },\n  { 0x9a00, 0x24d9, 0x2000 },\n  { 0x1a00, 0x24d8, 0x0000 },\n  { 0x1a00, 0x24da, 0x0000 },\n  { 0x9a00, 0x24e3, 0x4000 },\n  { 0x9a00, 0x24df, 0x3000 },\n  { 0x9a00, 0x24dd, 0x2000 },\n  { 0x1a00, 0x24dc, 0x0000 },\n  { 0x1a00, 0x24de, 0x0000 },\n  { 0x9a00, 0x24e1, 0x2000 },\n  { 0x1a00, 0x24e0, 0x0000 },\n  { 0x1a00, 0x24e2, 0x0000 },\n  { 0x9a00, 0x24e7, 0x3000 },\n  { 0x9a00, 0x24e5, 0x2000 },\n  { 0x1a00, 0x24e4, 0x0000 },\n  { 0x1a00, 0x24e6, 0x0000 },\n  { 0x9a00, 0x24e9, 0x2000 },\n  { 0x1a00, 0x24e8, 0x0000 },\n  { 0x0f00, 0x24ea, 0x0000 },\n  { 0x8f00, 0x24fb, 0x5000 },\n  { 0x8f00, 0x24f3, 0x4000 },\n  { 0x8f00, 0x24ef, 0x3000 },\n  { 0x8f00, 0x24ed, 0x2000 },\n  { 0x0f00, 0x24ec, 0x0000 },\n  { 0x0f00, 0x24ee, 0x0000 },\n  { 0x8f00, 0x24f1, 0x2000 },\n  { 0x0f00, 0x24f0, 0x0000 },\n  { 0x0f00, 0x24f2, 0x0000 },\n  { 0x8f00, 0x24f7, 0x3000 },\n  { 0x8f00, 0x24f5, 0x2000 },\n  { 0x0f00, 0x24f4, 0x0000 },\n  { 0x0f00, 0x24f6, 0x0000 },\n  { 0x8f00, 0x24f9, 0x2000 },\n  { 0x0f00, 0x24f8, 0x0000 },\n  { 0x0f00, 0x24fa, 0x0000 },\n  { 0x9a00, 0x2503, 0x4000 },\n  { 0x8f00, 0x24ff, 0x3000 },\n  { 0x8f00, 0x24fd, 0x2000 },\n  { 0x0f00, 0x24fc, 0x0000 },\n  { 0x0f00, 0x24fe, 0x0000 },\n  { 0x9a00, 0x2501, 0x2000 },\n  { 0x1a00, 0x2500, 0x0000 },\n  { 0x1a00, 0x2502, 0x0000 },\n  { 0x9a00, 0x2507, 0x3000 },\n  { 0x9a00, 0x2505, 0x2000 },\n  { 0x1a00, 0x2504, 0x0000 },\n  { 0x1a00, 0x2506, 0x0000 },\n  { 0x9a00, 0x2509, 0x2000 },\n  { 0x1a00, 0x2508, 0x0000 },\n  { 0x1a00, 0x250a, 0x0000 },\n  { 0x9a00, 0x260b, 0x9000 },\n  { 0x9a00, 0x258b, 0x8000 },\n  { 0x9a00, 0x254b, 0x7000 },\n  { 0x9a00, 0x252b, 0x6000 },\n  { 0x9a00, 0x251b, 0x5000 },\n  { 0x9a00, 0x2513, 0x4000 },\n  { 0x9a00, 0x250f, 0x3000 },\n  { 0x9a00, 0x250d, 0x2000 },\n  { 0x1a00, 0x250c, 0x0000 },\n  { 0x1a00, 0x250e, 0x0000 },\n  { 0x9a00, 0x2511, 0x2000 },\n  { 0x1a00, 0x2510, 0x0000 },\n  { 0x1a00, 0x2512, 0x0000 },\n  { 0x9a00, 0x2517, 0x3000 },\n  { 0x9a00, 0x2515, 0x2000 },\n  { 0x1a00, 0x2514, 0x0000 },\n  { 0x1a00, 0x2516, 0x0000 },\n  { 0x9a00, 0x2519, 0x2000 },\n  { 0x1a00, 0x2518, 0x0000 },\n  { 0x1a00, 0x251a, 0x0000 },\n  { 0x9a00, 0x2523, 0x4000 },\n  { 0x9a00, 0x251f, 0x3000 },\n  { 0x9a00, 0x251d, 0x2000 },\n  { 0x1a00, 0x251c, 0x0000 },\n  { 0x1a00, 0x251e, 0x0000 },\n  { 0x9a00, 0x2521, 0x2000 },\n  { 0x1a00, 0x2520, 0x0000 },\n  { 0x1a00, 0x2522, 0x0000 },\n  { 0x9a00, 0x2527, 0x3000 },\n  { 0x9a00, 0x2525, 0x2000 },\n  { 0x1a00, 0x2524, 0x0000 },\n  { 0x1a00, 0x2526, 0x0000 },\n  { 0x9a00, 0x2529, 0x2000 },\n  { 0x1a00, 0x2528, 0x0000 },\n  { 0x1a00, 0x252a, 0x0000 },\n  { 0x9a00, 0x253b, 0x5000 },\n  { 0x9a00, 0x2533, 0x4000 },\n  { 0x9a00, 0x252f, 0x3000 },\n  { 0x9a00, 0x252d, 0x2000 },\n  { 0x1a00, 0x252c, 0x0000 },\n  { 0x1a00, 0x252e, 0x0000 },\n  { 0x9a00, 0x2531, 0x2000 },\n  { 0x1a00, 0x2530, 0x0000 },\n  { 0x1a00, 0x2532, 0x0000 },\n  { 0x9a00, 0x2537, 0x3000 },\n  { 0x9a00, 0x2535, 0x2000 },\n  { 0x1a00, 0x2534, 0x0000 },\n  { 0x1a00, 0x2536, 0x0000 },\n  { 0x9a00, 0x2539, 0x2000 },\n  { 0x1a00, 0x2538, 0x0000 },\n  { 0x1a00, 0x253a, 0x0000 },\n  { 0x9a00, 0x2543, 0x4000 },\n  { 0x9a00, 0x253f, 0x3000 },\n  { 0x9a00, 0x253d, 0x2000 },\n  { 0x1a00, 0x253c, 0x0000 },\n  { 0x1a00, 0x253e, 0x0000 },\n  { 0x9a00, 0x2541, 0x2000 },\n  { 0x1a00, 0x2540, 0x0000 },\n  { 0x1a00, 0x2542, 0x0000 },\n  { 0x9a00, 0x2547, 0x3000 },\n  { 0x9a00, 0x2545, 0x2000 },\n  { 0x1a00, 0x2544, 0x0000 },\n  { 0x1a00, 0x2546, 0x0000 },\n  { 0x9a00, 0x2549, 0x2000 },\n  { 0x1a00, 0x2548, 0x0000 },\n  { 0x1a00, 0x254a, 0x0000 },\n  { 0x9a00, 0x256b, 0x6000 },\n  { 0x9a00, 0x255b, 0x5000 },\n  { 0x9a00, 0x2553, 0x4000 },\n  { 0x9a00, 0x254f, 0x3000 },\n  { 0x9a00, 0x254d, 0x2000 },\n  { 0x1a00, 0x254c, 0x0000 },\n  { 0x1a00, 0x254e, 0x0000 },\n  { 0x9a00, 0x2551, 0x2000 },\n  { 0x1a00, 0x2550, 0x0000 },\n  { 0x1a00, 0x2552, 0x0000 },\n  { 0x9a00, 0x2557, 0x3000 },\n  { 0x9a00, 0x2555, 0x2000 },\n  { 0x1a00, 0x2554, 0x0000 },\n  { 0x1a00, 0x2556, 0x0000 },\n  { 0x9a00, 0x2559, 0x2000 },\n  { 0x1a00, 0x2558, 0x0000 },\n  { 0x1a00, 0x255a, 0x0000 },\n  { 0x9a00, 0x2563, 0x4000 },\n  { 0x9a00, 0x255f, 0x3000 },\n  { 0x9a00, 0x255d, 0x2000 },\n  { 0x1a00, 0x255c, 0x0000 },\n  { 0x1a00, 0x255e, 0x0000 },\n  { 0x9a00, 0x2561, 0x2000 },\n  { 0x1a00, 0x2560, 0x0000 },\n  { 0x1a00, 0x2562, 0x0000 },\n  { 0x9a00, 0x2567, 0x3000 },\n  { 0x9a00, 0x2565, 0x2000 },\n  { 0x1a00, 0x2564, 0x0000 },\n  { 0x1a00, 0x2566, 0x0000 },\n  { 0x9a00, 0x2569, 0x2000 },\n  { 0x1a00, 0x2568, 0x0000 },\n  { 0x1a00, 0x256a, 0x0000 },\n  { 0x9a00, 0x257b, 0x5000 },\n  { 0x9a00, 0x2573, 0x4000 },\n  { 0x9a00, 0x256f, 0x3000 },\n  { 0x9a00, 0x256d, 0x2000 },\n  { 0x1a00, 0x256c, 0x0000 },\n  { 0x1a00, 0x256e, 0x0000 },\n  { 0x9a00, 0x2571, 0x2000 },\n  { 0x1a00, 0x2570, 0x0000 },\n  { 0x1a00, 0x2572, 0x0000 },\n  { 0x9a00, 0x2577, 0x3000 },\n  { 0x9a00, 0x2575, 0x2000 },\n  { 0x1a00, 0x2574, 0x0000 },\n  { 0x1a00, 0x2576, 0x0000 },\n  { 0x9a00, 0x2579, 0x2000 },\n  { 0x1a00, 0x2578, 0x0000 },\n  { 0x1a00, 0x257a, 0x0000 },\n  { 0x9a00, 0x2583, 0x4000 },\n  { 0x9a00, 0x257f, 0x3000 },\n  { 0x9a00, 0x257d, 0x2000 },\n  { 0x1a00, 0x257c, 0x0000 },\n  { 0x1a00, 0x257e, 0x0000 },\n  { 0x9a00, 0x2581, 0x2000 },\n  { 0x1a00, 0x2580, 0x0000 },\n  { 0x1a00, 0x2582, 0x0000 },\n  { 0x9a00, 0x2587, 0x3000 },\n  { 0x9a00, 0x2585, 0x2000 },\n  { 0x1a00, 0x2584, 0x0000 },\n  { 0x1a00, 0x2586, 0x0000 },\n  { 0x9a00, 0x2589, 0x2000 },\n  { 0x1a00, 0x2588, 0x0000 },\n  { 0x1a00, 0x258a, 0x0000 },\n  { 0x9a00, 0x25cb, 0x7000 },\n  { 0x9a00, 0x25ab, 0x6000 },\n  { 0x9a00, 0x259b, 0x5000 },\n  { 0x9a00, 0x2593, 0x4000 },\n  { 0x9a00, 0x258f, 0x3000 },\n  { 0x9a00, 0x258d, 0x2000 },\n  { 0x1a00, 0x258c, 0x0000 },\n  { 0x1a00, 0x258e, 0x0000 },\n  { 0x9a00, 0x2591, 0x2000 },\n  { 0x1a00, 0x2590, 0x0000 },\n  { 0x1a00, 0x2592, 0x0000 },\n  { 0x9a00, 0x2597, 0x3000 },\n  { 0x9a00, 0x2595, 0x2000 },\n  { 0x1a00, 0x2594, 0x0000 },\n  { 0x1a00, 0x2596, 0x0000 },\n  { 0x9a00, 0x2599, 0x2000 },\n  { 0x1a00, 0x2598, 0x0000 },\n  { 0x1a00, 0x259a, 0x0000 },\n  { 0x9a00, 0x25a3, 0x4000 },\n  { 0x9a00, 0x259f, 0x3000 },\n  { 0x9a00, 0x259d, 0x2000 },\n  { 0x1a00, 0x259c, 0x0000 },\n  { 0x1a00, 0x259e, 0x0000 },\n  { 0x9a00, 0x25a1, 0x2000 },\n  { 0x1a00, 0x25a0, 0x0000 },\n  { 0x1a00, 0x25a2, 0x0000 },\n  { 0x9a00, 0x25a7, 0x3000 },\n  { 0x9a00, 0x25a5, 0x2000 },\n  { 0x1a00, 0x25a4, 0x0000 },\n  { 0x1a00, 0x25a6, 0x0000 },\n  { 0x9a00, 0x25a9, 0x2000 },\n  { 0x1a00, 0x25a8, 0x0000 },\n  { 0x1a00, 0x25aa, 0x0000 },\n  { 0x9a00, 0x25bb, 0x5000 },\n  { 0x9a00, 0x25b3, 0x4000 },\n  { 0x9a00, 0x25af, 0x3000 },\n  { 0x9a00, 0x25ad, 0x2000 },\n  { 0x1a00, 0x25ac, 0x0000 },\n  { 0x1a00, 0x25ae, 0x0000 },\n  { 0x9a00, 0x25b1, 0x2000 },\n  { 0x1a00, 0x25b0, 0x0000 },\n  { 0x1a00, 0x25b2, 0x0000 },\n  { 0x9900, 0x25b7, 0x3000 },\n  { 0x9a00, 0x25b5, 0x2000 },\n  { 0x1a00, 0x25b4, 0x0000 },\n  { 0x1a00, 0x25b6, 0x0000 },\n  { 0x9a00, 0x25b9, 0x2000 },\n  { 0x1a00, 0x25b8, 0x0000 },\n  { 0x1a00, 0x25ba, 0x0000 },\n  { 0x9a00, 0x25c3, 0x4000 },\n  { 0x9a00, 0x25bf, 0x3000 },\n  { 0x9a00, 0x25bd, 0x2000 },\n  { 0x1a00, 0x25bc, 0x0000 },\n  { 0x1a00, 0x25be, 0x0000 },\n  { 0x9900, 0x25c1, 0x2000 },\n  { 0x1a00, 0x25c0, 0x0000 },\n  { 0x1a00, 0x25c2, 0x0000 },\n  { 0x9a00, 0x25c7, 0x3000 },\n  { 0x9a00, 0x25c5, 0x2000 },\n  { 0x1a00, 0x25c4, 0x0000 },\n  { 0x1a00, 0x25c6, 0x0000 },\n  { 0x9a00, 0x25c9, 0x2000 },\n  { 0x1a00, 0x25c8, 0x0000 },\n  { 0x1a00, 0x25ca, 0x0000 },\n  { 0x9a00, 0x25eb, 0x6000 },\n  { 0x9a00, 0x25db, 0x5000 },\n  { 0x9a00, 0x25d3, 0x4000 },\n  { 0x9a00, 0x25cf, 0x3000 },\n  { 0x9a00, 0x25cd, 0x2000 },\n  { 0x1a00, 0x25cc, 0x0000 },\n  { 0x1a00, 0x25ce, 0x0000 },\n  { 0x9a00, 0x25d1, 0x2000 },\n  { 0x1a00, 0x25d0, 0x0000 },\n  { 0x1a00, 0x25d2, 0x0000 },\n  { 0x9a00, 0x25d7, 0x3000 },\n  { 0x9a00, 0x25d5, 0x2000 },\n  { 0x1a00, 0x25d4, 0x0000 },\n  { 0x1a00, 0x25d6, 0x0000 },\n  { 0x9a00, 0x25d9, 0x2000 },\n  { 0x1a00, 0x25d8, 0x0000 },\n  { 0x1a00, 0x25da, 0x0000 },\n  { 0x9a00, 0x25e3, 0x4000 },\n  { 0x9a00, 0x25df, 0x3000 },\n  { 0x9a00, 0x25dd, 0x2000 },\n  { 0x1a00, 0x25dc, 0x0000 },\n  { 0x1a00, 0x25de, 0x0000 },\n  { 0x9a00, 0x25e1, 0x2000 },\n  { 0x1a00, 0x25e0, 0x0000 },\n  { 0x1a00, 0x25e2, 0x0000 },\n  { 0x9a00, 0x25e7, 0x3000 },\n  { 0x9a00, 0x25e5, 0x2000 },\n  { 0x1a00, 0x25e4, 0x0000 },\n  { 0x1a00, 0x25e6, 0x0000 },\n  { 0x9a00, 0x25e9, 0x2000 },\n  { 0x1a00, 0x25e8, 0x0000 },\n  { 0x1a00, 0x25ea, 0x0000 },\n  { 0x9900, 0x25fb, 0x5000 },\n  { 0x9a00, 0x25f3, 0x4000 },\n  { 0x9a00, 0x25ef, 0x3000 },\n  { 0x9a00, 0x25ed, 0x2000 },\n  { 0x1a00, 0x25ec, 0x0000 },\n  { 0x1a00, 0x25ee, 0x0000 },\n  { 0x9a00, 0x25f1, 0x2000 },\n  { 0x1a00, 0x25f0, 0x0000 },\n  { 0x1a00, 0x25f2, 0x0000 },\n  { 0x9a00, 0x25f7, 0x3000 },\n  { 0x9a00, 0x25f5, 0x2000 },\n  { 0x1a00, 0x25f4, 0x0000 },\n  { 0x1a00, 0x25f6, 0x0000 },\n  { 0x9900, 0x25f9, 0x2000 },\n  { 0x1900, 0x25f8, 0x0000 },\n  { 0x1900, 0x25fa, 0x0000 },\n  { 0x9a00, 0x2603, 0x4000 },\n  { 0x9900, 0x25ff, 0x3000 },\n  { 0x9900, 0x25fd, 0x2000 },\n  { 0x1900, 0x25fc, 0x0000 },\n  { 0x1900, 0x25fe, 0x0000 },\n  { 0x9a00, 0x2601, 0x2000 },\n  { 0x1a00, 0x2600, 0x0000 },\n  { 0x1a00, 0x2602, 0x0000 },\n  { 0x9a00, 0x2607, 0x3000 },\n  { 0x9a00, 0x2605, 0x2000 },\n  { 0x1a00, 0x2604, 0x0000 },\n  { 0x1a00, 0x2606, 0x0000 },\n  { 0x9a00, 0x2609, 0x2000 },\n  { 0x1a00, 0x2608, 0x0000 },\n  { 0x1a00, 0x260a, 0x0000 },\n  { 0x9a00, 0x268e, 0x8000 },\n  { 0x9a00, 0x264c, 0x7000 },\n  { 0x9a00, 0x262c, 0x6000 },\n  { 0x9a00, 0x261c, 0x5000 },\n  { 0x9a00, 0x2613, 0x4000 },\n  { 0x9a00, 0x260f, 0x3000 },\n  { 0x9a00, 0x260d, 0x2000 },\n  { 0x1a00, 0x260c, 0x0000 },\n  { 0x1a00, 0x260e, 0x0000 },\n  { 0x9a00, 0x2611, 0x2000 },\n  { 0x1a00, 0x2610, 0x0000 },\n  { 0x1a00, 0x2612, 0x0000 },\n  { 0x9a00, 0x2617, 0x3000 },\n  { 0x9a00, 0x2615, 0x2000 },\n  { 0x1a00, 0x2614, 0x0000 },\n  { 0x1a00, 0x2616, 0x0000 },\n  { 0x9a00, 0x261a, 0x2000 },\n  { 0x1a00, 0x2619, 0x0000 },\n  { 0x1a00, 0x261b, 0x0000 },\n  { 0x9a00, 0x2624, 0x4000 },\n  { 0x9a00, 0x2620, 0x3000 },\n  { 0x9a00, 0x261e, 0x2000 },\n  { 0x1a00, 0x261d, 0x0000 },\n  { 0x1a00, 0x261f, 0x0000 },\n  { 0x9a00, 0x2622, 0x2000 },\n  { 0x1a00, 0x2621, 0x0000 },\n  { 0x1a00, 0x2623, 0x0000 },\n  { 0x9a00, 0x2628, 0x3000 },\n  { 0x9a00, 0x2626, 0x2000 },\n  { 0x1a00, 0x2625, 0x0000 },\n  { 0x1a00, 0x2627, 0x0000 },\n  { 0x9a00, 0x262a, 0x2000 },\n  { 0x1a00, 0x2629, 0x0000 },\n  { 0x1a00, 0x262b, 0x0000 },\n  { 0x9a00, 0x263c, 0x5000 },\n  { 0x9a00, 0x2634, 0x4000 },\n  { 0x9a00, 0x2630, 0x3000 },\n  { 0x9a00, 0x262e, 0x2000 },\n  { 0x1a00, 0x262d, 0x0000 },\n  { 0x1a00, 0x262f, 0x0000 },\n  { 0x9a00, 0x2632, 0x2000 },\n  { 0x1a00, 0x2631, 0x0000 },\n  { 0x1a00, 0x2633, 0x0000 },\n  { 0x9a00, 0x2638, 0x3000 },\n  { 0x9a00, 0x2636, 0x2000 },\n  { 0x1a00, 0x2635, 0x0000 },\n  { 0x1a00, 0x2637, 0x0000 },\n  { 0x9a00, 0x263a, 0x2000 },\n  { 0x1a00, 0x2639, 0x0000 },\n  { 0x1a00, 0x263b, 0x0000 },\n  { 0x9a00, 0x2644, 0x4000 },\n  { 0x9a00, 0x2640, 0x3000 },\n  { 0x9a00, 0x263e, 0x2000 },\n  { 0x1a00, 0x263d, 0x0000 },\n  { 0x1a00, 0x263f, 0x0000 },\n  { 0x9a00, 0x2642, 0x2000 },\n  { 0x1a00, 0x2641, 0x0000 },\n  { 0x1a00, 0x2643, 0x0000 },\n  { 0x9a00, 0x2648, 0x3000 },\n  { 0x9a00, 0x2646, 0x2000 },\n  { 0x1a00, 0x2645, 0x0000 },\n  { 0x1a00, 0x2647, 0x0000 },\n  { 0x9a00, 0x264a, 0x2000 },\n  { 0x1a00, 0x2649, 0x0000 },\n  { 0x1a00, 0x264b, 0x0000 },\n  { 0x9a00, 0x266c, 0x6000 },\n  { 0x9a00, 0x265c, 0x5000 },\n  { 0x9a00, 0x2654, 0x4000 },\n  { 0x9a00, 0x2650, 0x3000 },\n  { 0x9a00, 0x264e, 0x2000 },\n  { 0x1a00, 0x264d, 0x0000 },\n  { 0x1a00, 0x264f, 0x0000 },\n  { 0x9a00, 0x2652, 0x2000 },\n  { 0x1a00, 0x2651, 0x0000 },\n  { 0x1a00, 0x2653, 0x0000 },\n  { 0x9a00, 0x2658, 0x3000 },\n  { 0x9a00, 0x2656, 0x2000 },\n  { 0x1a00, 0x2655, 0x0000 },\n  { 0x1a00, 0x2657, 0x0000 },\n  { 0x9a00, 0x265a, 0x2000 },\n  { 0x1a00, 0x2659, 0x0000 },\n  { 0x1a00, 0x265b, 0x0000 },\n  { 0x9a00, 0x2664, 0x4000 },\n  { 0x9a00, 0x2660, 0x3000 },\n  { 0x9a00, 0x265e, 0x2000 },\n  { 0x1a00, 0x265d, 0x0000 },\n  { 0x1a00, 0x265f, 0x0000 },\n  { 0x9a00, 0x2662, 0x2000 },\n  { 0x1a00, 0x2661, 0x0000 },\n  { 0x1a00, 0x2663, 0x0000 },\n  { 0x9a00, 0x2668, 0x3000 },\n  { 0x9a00, 0x2666, 0x2000 },\n  { 0x1a00, 0x2665, 0x0000 },\n  { 0x1a00, 0x2667, 0x0000 },\n  { 0x9a00, 0x266a, 0x2000 },\n  { 0x1a00, 0x2669, 0x0000 },\n  { 0x1a00, 0x266b, 0x0000 },\n  { 0x9a00, 0x267c, 0x5000 },\n  { 0x9a00, 0x2674, 0x4000 },\n  { 0x9a00, 0x2670, 0x3000 },\n  { 0x9a00, 0x266e, 0x2000 },\n  { 0x1a00, 0x266d, 0x0000 },\n  { 0x1900, 0x266f, 0x0000 },\n  { 0x9a00, 0x2672, 0x2000 },\n  { 0x1a00, 0x2671, 0x0000 },\n  { 0x1a00, 0x2673, 0x0000 },\n  { 0x9a00, 0x2678, 0x3000 },\n  { 0x9a00, 0x2676, 0x2000 },\n  { 0x1a00, 0x2675, 0x0000 },\n  { 0x1a00, 0x2677, 0x0000 },\n  { 0x9a00, 0x267a, 0x2000 },\n  { 0x1a00, 0x2679, 0x0000 },\n  { 0x1a00, 0x267b, 0x0000 },\n  { 0x9a00, 0x2686, 0x4000 },\n  { 0x9a00, 0x2682, 0x3000 },\n  { 0x9a00, 0x2680, 0x2000 },\n  { 0x1a00, 0x267d, 0x0000 },\n  { 0x1a00, 0x2681, 0x0000 },\n  { 0x9a00, 0x2684, 0x2000 },\n  { 0x1a00, 0x2683, 0x0000 },\n  { 0x1a00, 0x2685, 0x0000 },\n  { 0x9a00, 0x268a, 0x3000 },\n  { 0x9a00, 0x2688, 0x2000 },\n  { 0x1a00, 0x2687, 0x0000 },\n  { 0x1a00, 0x2689, 0x0000 },\n  { 0x9a00, 0x268c, 0x2000 },\n  { 0x1a00, 0x268b, 0x0000 },\n  { 0x1a00, 0x268d, 0x0000 },\n  { 0x9a00, 0x273f, 0x7000 },\n  { 0x9a00, 0x271e, 0x6000 },\n  { 0x9a00, 0x270e, 0x5000 },\n  { 0x9a00, 0x2703, 0x4000 },\n  { 0x9a00, 0x26a0, 0x3000 },\n  { 0x9a00, 0x2690, 0x2000 },\n  { 0x1a00, 0x268f, 0x0000 },\n  { 0x1a00, 0x2691, 0x0000 },\n  { 0x9a00, 0x2701, 0x2000 },\n  { 0x1a00, 0x26a1, 0x0000 },\n  { 0x1a00, 0x2702, 0x0000 },\n  { 0x9a00, 0x2708, 0x3000 },\n  { 0x9a00, 0x2706, 0x2000 },\n  { 0x1a00, 0x2704, 0x0000 },\n  { 0x1a00, 0x2707, 0x0000 },\n  { 0x9a00, 0x270c, 0x2000 },\n  { 0x1a00, 0x2709, 0x0000 },\n  { 0x1a00, 0x270d, 0x0000 },\n  { 0x9a00, 0x2716, 0x4000 },\n  { 0x9a00, 0x2712, 0x3000 },\n  { 0x9a00, 0x2710, 0x2000 },\n  { 0x1a00, 0x270f, 0x0000 },\n  { 0x1a00, 0x2711, 0x0000 },\n  { 0x9a00, 0x2714, 0x2000 },\n  { 0x1a00, 0x2713, 0x0000 },\n  { 0x1a00, 0x2715, 0x0000 },\n  { 0x9a00, 0x271a, 0x3000 },\n  { 0x9a00, 0x2718, 0x2000 },\n  { 0x1a00, 0x2717, 0x0000 },\n  { 0x1a00, 0x2719, 0x0000 },\n  { 0x9a00, 0x271c, 0x2000 },\n  { 0x1a00, 0x271b, 0x0000 },\n  { 0x1a00, 0x271d, 0x0000 },\n  { 0x9a00, 0x272f, 0x5000 },\n  { 0x9a00, 0x2726, 0x4000 },\n  { 0x9a00, 0x2722, 0x3000 },\n  { 0x9a00, 0x2720, 0x2000 },\n  { 0x1a00, 0x271f, 0x0000 },\n  { 0x1a00, 0x2721, 0x0000 },\n  { 0x9a00, 0x2724, 0x2000 },\n  { 0x1a00, 0x2723, 0x0000 },\n  { 0x1a00, 0x2725, 0x0000 },\n  { 0x9a00, 0x272b, 0x3000 },\n  { 0x9a00, 0x2729, 0x2000 },\n  { 0x1a00, 0x2727, 0x0000 },\n  { 0x1a00, 0x272a, 0x0000 },\n  { 0x9a00, 0x272d, 0x2000 },\n  { 0x1a00, 0x272c, 0x0000 },\n  { 0x1a00, 0x272e, 0x0000 },\n  { 0x9a00, 0x2737, 0x4000 },\n  { 0x9a00, 0x2733, 0x3000 },\n  { 0x9a00, 0x2731, 0x2000 },\n  { 0x1a00, 0x2730, 0x0000 },\n  { 0x1a00, 0x2732, 0x0000 },\n  { 0x9a00, 0x2735, 0x2000 },\n  { 0x1a00, 0x2734, 0x0000 },\n  { 0x1a00, 0x2736, 0x0000 },\n  { 0x9a00, 0x273b, 0x3000 },\n  { 0x9a00, 0x2739, 0x2000 },\n  { 0x1a00, 0x2738, 0x0000 },\n  { 0x1a00, 0x273a, 0x0000 },\n  { 0x9a00, 0x273d, 0x2000 },\n  { 0x1a00, 0x273c, 0x0000 },\n  { 0x1a00, 0x273e, 0x0000 },\n  { 0x9a00, 0x2767, 0x6000 },\n  { 0x9a00, 0x2751, 0x5000 },\n  { 0x9a00, 0x2747, 0x4000 },\n  { 0x9a00, 0x2743, 0x3000 },\n  { 0x9a00, 0x2741, 0x2000 },\n  { 0x1a00, 0x2740, 0x0000 },\n  { 0x1a00, 0x2742, 0x0000 },\n  { 0x9a00, 0x2745, 0x2000 },\n  { 0x1a00, 0x2744, 0x0000 },\n  { 0x1a00, 0x2746, 0x0000 },\n  { 0x9a00, 0x274b, 0x3000 },\n  { 0x9a00, 0x2749, 0x2000 },\n  { 0x1a00, 0x2748, 0x0000 },\n  { 0x1a00, 0x274a, 0x0000 },\n  { 0x9a00, 0x274f, 0x2000 },\n  { 0x1a00, 0x274d, 0x0000 },\n  { 0x1a00, 0x2750, 0x0000 },\n  { 0x9a00, 0x275d, 0x4000 },\n  { 0x9a00, 0x2759, 0x3000 },\n  { 0x9a00, 0x2756, 0x2000 },\n  { 0x1a00, 0x2752, 0x0000 },\n  { 0x1a00, 0x2758, 0x0000 },\n  { 0x9a00, 0x275b, 0x2000 },\n  { 0x1a00, 0x275a, 0x0000 },\n  { 0x1a00, 0x275c, 0x0000 },\n  { 0x9a00, 0x2763, 0x3000 },\n  { 0x9a00, 0x2761, 0x2000 },\n  { 0x1a00, 0x275e, 0x0000 },\n  { 0x1a00, 0x2762, 0x0000 },\n  { 0x9a00, 0x2765, 0x2000 },\n  { 0x1a00, 0x2764, 0x0000 },\n  { 0x1a00, 0x2766, 0x0000 },\n  { 0x8f00, 0x2777, 0x5000 },\n  { 0x9200, 0x276f, 0x4000 },\n  { 0x9200, 0x276b, 0x3000 },\n  { 0x9200, 0x2769, 0x2000 },\n  { 0x1600, 0x2768, 0x0000 },\n  { 0x1600, 0x276a, 0x0000 },\n  { 0x9200, 0x276d, 0x2000 },\n  { 0x1600, 0x276c, 0x0000 },\n  { 0x1600, 0x276e, 0x0000 },\n  { 0x9200, 0x2773, 0x3000 },\n  { 0x9200, 0x2771, 0x2000 },\n  { 0x1600, 0x2770, 0x0000 },\n  { 0x1600, 0x2772, 0x0000 },\n  { 0x9200, 0x2775, 0x2000 },\n  { 0x1600, 0x2774, 0x0000 },\n  { 0x0f00, 0x2776, 0x0000 },\n  { 0x8f00, 0x277f, 0x4000 },\n  { 0x8f00, 0x277b, 0x3000 },\n  { 0x8f00, 0x2779, 0x2000 },\n  { 0x0f00, 0x2778, 0x0000 },\n  { 0x0f00, 0x277a, 0x0000 },\n  { 0x8f00, 0x277d, 0x2000 },\n  { 0x0f00, 0x277c, 0x0000 },\n  { 0x0f00, 0x277e, 0x0000 },\n  { 0x8f00, 0x2783, 0x3000 },\n  { 0x8f00, 0x2781, 0x2000 },\n  { 0x0f00, 0x2780, 0x0000 },\n  { 0x0f00, 0x2782, 0x0000 },\n  { 0x8f00, 0x2785, 0x2000 },\n  { 0x0f00, 0x2784, 0x0000 },\n  { 0x0f00, 0x2786, 0x0000 },\n  { 0x9900, 0x29a0, 0xa000 },\n  { 0x9a00, 0x28a0, 0x9000 },\n  { 0x9a00, 0x2820, 0x8000 },\n  { 0x9900, 0x27dc, 0x7000 },\n  { 0x9a00, 0x27aa, 0x6000 },\n  { 0x9a00, 0x279a, 0x5000 },\n  { 0x8f00, 0x278f, 0x4000 },\n  { 0x8f00, 0x278b, 0x3000 },\n  { 0x8f00, 0x2789, 0x2000 },\n  { 0x0f00, 0x2788, 0x0000 },\n  { 0x0f00, 0x278a, 0x0000 },\n  { 0x8f00, 0x278d, 0x2000 },\n  { 0x0f00, 0x278c, 0x0000 },\n  { 0x0f00, 0x278e, 0x0000 },\n  { 0x8f00, 0x2793, 0x3000 },\n  { 0x8f00, 0x2791, 0x2000 },\n  { 0x0f00, 0x2790, 0x0000 },\n  { 0x0f00, 0x2792, 0x0000 },\n  { 0x9a00, 0x2798, 0x2000 },\n  { 0x1a00, 0x2794, 0x0000 },\n  { 0x1a00, 0x2799, 0x0000 },\n  { 0x9a00, 0x27a2, 0x4000 },\n  { 0x9a00, 0x279e, 0x3000 },\n  { 0x9a00, 0x279c, 0x2000 },\n  { 0x1a00, 0x279b, 0x0000 },\n  { 0x1a00, 0x279d, 0x0000 },\n  { 0x9a00, 0x27a0, 0x2000 },\n  { 0x1a00, 0x279f, 0x0000 },\n  { 0x1a00, 0x27a1, 0x0000 },\n  { 0x9a00, 0x27a6, 0x3000 },\n  { 0x9a00, 0x27a4, 0x2000 },\n  { 0x1a00, 0x27a3, 0x0000 },\n  { 0x1a00, 0x27a5, 0x0000 },\n  { 0x9a00, 0x27a8, 0x2000 },\n  { 0x1a00, 0x27a7, 0x0000 },\n  { 0x1a00, 0x27a9, 0x0000 },\n  { 0x9a00, 0x27bb, 0x5000 },\n  { 0x9a00, 0x27b3, 0x4000 },\n  { 0x9a00, 0x27ae, 0x3000 },\n  { 0x9a00, 0x27ac, 0x2000 },\n  { 0x1a00, 0x27ab, 0x0000 },\n  { 0x1a00, 0x27ad, 0x0000 },\n  { 0x9a00, 0x27b1, 0x2000 },\n  { 0x1a00, 0x27af, 0x0000 },\n  { 0x1a00, 0x27b2, 0x0000 },\n  { 0x9a00, 0x27b7, 0x3000 },\n  { 0x9a00, 0x27b5, 0x2000 },\n  { 0x1a00, 0x27b4, 0x0000 },\n  { 0x1a00, 0x27b6, 0x0000 },\n  { 0x9a00, 0x27b9, 0x2000 },\n  { 0x1a00, 0x27b8, 0x0000 },\n  { 0x1a00, 0x27ba, 0x0000 },\n  { 0x9900, 0x27d4, 0x4000 },\n  { 0x9900, 0x27d0, 0x3000 },\n  { 0x9a00, 0x27bd, 0x2000 },\n  { 0x1a00, 0x27bc, 0x0000 },\n  { 0x1a00, 0x27be, 0x0000 },\n  { 0x9900, 0x27d2, 0x2000 },\n  { 0x1900, 0x27d1, 0x0000 },\n  { 0x1900, 0x27d3, 0x0000 },\n  { 0x9900, 0x27d8, 0x3000 },\n  { 0x9900, 0x27d6, 0x2000 },\n  { 0x1900, 0x27d5, 0x0000 },\n  { 0x1900, 0x27d7, 0x0000 },\n  { 0x9900, 0x27da, 0x2000 },\n  { 0x1900, 0x27d9, 0x0000 },\n  { 0x1900, 0x27db, 0x0000 },\n  { 0x9a00, 0x2800, 0x6000 },\n  { 0x9900, 0x27f0, 0x5000 },\n  { 0x9900, 0x27e4, 0x4000 },\n  { 0x9900, 0x27e0, 0x3000 },\n  { 0x9900, 0x27de, 0x2000 },\n  { 0x1900, 0x27dd, 0x0000 },\n  { 0x1900, 0x27df, 0x0000 },\n  { 0x9900, 0x27e2, 0x2000 },\n  { 0x1900, 0x27e1, 0x0000 },\n  { 0x1900, 0x27e3, 0x0000 },\n  { 0x9600, 0x27e8, 0x3000 },\n  { 0x9600, 0x27e6, 0x2000 },\n  { 0x1900, 0x27e5, 0x0000 },\n  { 0x1200, 0x27e7, 0x0000 },\n  { 0x9600, 0x27ea, 0x2000 },\n  { 0x1200, 0x27e9, 0x0000 },\n  { 0x1200, 0x27eb, 0x0000 },\n  { 0x9900, 0x27f8, 0x4000 },\n  { 0x9900, 0x27f4, 0x3000 },\n  { 0x9900, 0x27f2, 0x2000 },\n  { 0x1900, 0x27f1, 0x0000 },\n  { 0x1900, 0x27f3, 0x0000 },\n  { 0x9900, 0x27f6, 0x2000 },\n  { 0x1900, 0x27f5, 0x0000 },\n  { 0x1900, 0x27f7, 0x0000 },\n  { 0x9900, 0x27fc, 0x3000 },\n  { 0x9900, 0x27fa, 0x2000 },\n  { 0x1900, 0x27f9, 0x0000 },\n  { 0x1900, 0x27fb, 0x0000 },\n  { 0x9900, 0x27fe, 0x2000 },\n  { 0x1900, 0x27fd, 0x0000 },\n  { 0x1900, 0x27ff, 0x0000 },\n  { 0x9a00, 0x2810, 0x5000 },\n  { 0x9a00, 0x2808, 0x4000 },\n  { 0x9a00, 0x2804, 0x3000 },\n  { 0x9a00, 0x2802, 0x2000 },\n  { 0x1a00, 0x2801, 0x0000 },\n  { 0x1a00, 0x2803, 0x0000 },\n  { 0x9a00, 0x2806, 0x2000 },\n  { 0x1a00, 0x2805, 0x0000 },\n  { 0x1a00, 0x2807, 0x0000 },\n  { 0x9a00, 0x280c, 0x3000 },\n  { 0x9a00, 0x280a, 0x2000 },\n  { 0x1a00, 0x2809, 0x0000 },\n  { 0x1a00, 0x280b, 0x0000 },\n  { 0x9a00, 0x280e, 0x2000 },\n  { 0x1a00, 0x280d, 0x0000 },\n  { 0x1a00, 0x280f, 0x0000 },\n  { 0x9a00, 0x2818, 0x4000 },\n  { 0x9a00, 0x2814, 0x3000 },\n  { 0x9a00, 0x2812, 0x2000 },\n  { 0x1a00, 0x2811, 0x0000 },\n  { 0x1a00, 0x2813, 0x0000 },\n  { 0x9a00, 0x2816, 0x2000 },\n  { 0x1a00, 0x2815, 0x0000 },\n  { 0x1a00, 0x2817, 0x0000 },\n  { 0x9a00, 0x281c, 0x3000 },\n  { 0x9a00, 0x281a, 0x2000 },\n  { 0x1a00, 0x2819, 0x0000 },\n  { 0x1a00, 0x281b, 0x0000 },\n  { 0x9a00, 0x281e, 0x2000 },\n  { 0x1a00, 0x281d, 0x0000 },\n  { 0x1a00, 0x281f, 0x0000 },\n  { 0x9a00, 0x2860, 0x7000 },\n  { 0x9a00, 0x2840, 0x6000 },\n  { 0x9a00, 0x2830, 0x5000 },\n  { 0x9a00, 0x2828, 0x4000 },\n  { 0x9a00, 0x2824, 0x3000 },\n  { 0x9a00, 0x2822, 0x2000 },\n  { 0x1a00, 0x2821, 0x0000 },\n  { 0x1a00, 0x2823, 0x0000 },\n  { 0x9a00, 0x2826, 0x2000 },\n  { 0x1a00, 0x2825, 0x0000 },\n  { 0x1a00, 0x2827, 0x0000 },\n  { 0x9a00, 0x282c, 0x3000 },\n  { 0x9a00, 0x282a, 0x2000 },\n  { 0x1a00, 0x2829, 0x0000 },\n  { 0x1a00, 0x282b, 0x0000 },\n  { 0x9a00, 0x282e, 0x2000 },\n  { 0x1a00, 0x282d, 0x0000 },\n  { 0x1a00, 0x282f, 0x0000 },\n  { 0x9a00, 0x2838, 0x4000 },\n  { 0x9a00, 0x2834, 0x3000 },\n  { 0x9a00, 0x2832, 0x2000 },\n  { 0x1a00, 0x2831, 0x0000 },\n  { 0x1a00, 0x2833, 0x0000 },\n  { 0x9a00, 0x2836, 0x2000 },\n  { 0x1a00, 0x2835, 0x0000 },\n  { 0x1a00, 0x2837, 0x0000 },\n  { 0x9a00, 0x283c, 0x3000 },\n  { 0x9a00, 0x283a, 0x2000 },\n  { 0x1a00, 0x2839, 0x0000 },\n  { 0x1a00, 0x283b, 0x0000 },\n  { 0x9a00, 0x283e, 0x2000 },\n  { 0x1a00, 0x283d, 0x0000 },\n  { 0x1a00, 0x283f, 0x0000 },\n  { 0x9a00, 0x2850, 0x5000 },\n  { 0x9a00, 0x2848, 0x4000 },\n  { 0x9a00, 0x2844, 0x3000 },\n  { 0x9a00, 0x2842, 0x2000 },\n  { 0x1a00, 0x2841, 0x0000 },\n  { 0x1a00, 0x2843, 0x0000 },\n  { 0x9a00, 0x2846, 0x2000 },\n  { 0x1a00, 0x2845, 0x0000 },\n  { 0x1a00, 0x2847, 0x0000 },\n  { 0x9a00, 0x284c, 0x3000 },\n  { 0x9a00, 0x284a, 0x2000 },\n  { 0x1a00, 0x2849, 0x0000 },\n  { 0x1a00, 0x284b, 0x0000 },\n  { 0x9a00, 0x284e, 0x2000 },\n  { 0x1a00, 0x284d, 0x0000 },\n  { 0x1a00, 0x284f, 0x0000 },\n  { 0x9a00, 0x2858, 0x4000 },\n  { 0x9a00, 0x2854, 0x3000 },\n  { 0x9a00, 0x2852, 0x2000 },\n  { 0x1a00, 0x2851, 0x0000 },\n  { 0x1a00, 0x2853, 0x0000 },\n  { 0x9a00, 0x2856, 0x2000 },\n  { 0x1a00, 0x2855, 0x0000 },\n  { 0x1a00, 0x2857, 0x0000 },\n  { 0x9a00, 0x285c, 0x3000 },\n  { 0x9a00, 0x285a, 0x2000 },\n  { 0x1a00, 0x2859, 0x0000 },\n  { 0x1a00, 0x285b, 0x0000 },\n  { 0x9a00, 0x285e, 0x2000 },\n  { 0x1a00, 0x285d, 0x0000 },\n  { 0x1a00, 0x285f, 0x0000 },\n  { 0x9a00, 0x2880, 0x6000 },\n  { 0x9a00, 0x2870, 0x5000 },\n  { 0x9a00, 0x2868, 0x4000 },\n  { 0x9a00, 0x2864, 0x3000 },\n  { 0x9a00, 0x2862, 0x2000 },\n  { 0x1a00, 0x2861, 0x0000 },\n  { 0x1a00, 0x2863, 0x0000 },\n  { 0x9a00, 0x2866, 0x2000 },\n  { 0x1a00, 0x2865, 0x0000 },\n  { 0x1a00, 0x2867, 0x0000 },\n  { 0x9a00, 0x286c, 0x3000 },\n  { 0x9a00, 0x286a, 0x2000 },\n  { 0x1a00, 0x2869, 0x0000 },\n  { 0x1a00, 0x286b, 0x0000 },\n  { 0x9a00, 0x286e, 0x2000 },\n  { 0x1a00, 0x286d, 0x0000 },\n  { 0x1a00, 0x286f, 0x0000 },\n  { 0x9a00, 0x2878, 0x4000 },\n  { 0x9a00, 0x2874, 0x3000 },\n  { 0x9a00, 0x2872, 0x2000 },\n  { 0x1a00, 0x2871, 0x0000 },\n  { 0x1a00, 0x2873, 0x0000 },\n  { 0x9a00, 0x2876, 0x2000 },\n  { 0x1a00, 0x2875, 0x0000 },\n  { 0x1a00, 0x2877, 0x0000 },\n  { 0x9a00, 0x287c, 0x3000 },\n  { 0x9a00, 0x287a, 0x2000 },\n  { 0x1a00, 0x2879, 0x0000 },\n  { 0x1a00, 0x287b, 0x0000 },\n  { 0x9a00, 0x287e, 0x2000 },\n  { 0x1a00, 0x287d, 0x0000 },\n  { 0x1a00, 0x287f, 0x0000 },\n  { 0x9a00, 0x2890, 0x5000 },\n  { 0x9a00, 0x2888, 0x4000 },\n  { 0x9a00, 0x2884, 0x3000 },\n  { 0x9a00, 0x2882, 0x2000 },\n  { 0x1a00, 0x2881, 0x0000 },\n  { 0x1a00, 0x2883, 0x0000 },\n  { 0x9a00, 0x2886, 0x2000 },\n  { 0x1a00, 0x2885, 0x0000 },\n  { 0x1a00, 0x2887, 0x0000 },\n  { 0x9a00, 0x288c, 0x3000 },\n  { 0x9a00, 0x288a, 0x2000 },\n  { 0x1a00, 0x2889, 0x0000 },\n  { 0x1a00, 0x288b, 0x0000 },\n  { 0x9a00, 0x288e, 0x2000 },\n  { 0x1a00, 0x288d, 0x0000 },\n  { 0x1a00, 0x288f, 0x0000 },\n  { 0x9a00, 0x2898, 0x4000 },\n  { 0x9a00, 0x2894, 0x3000 },\n  { 0x9a00, 0x2892, 0x2000 },\n  { 0x1a00, 0x2891, 0x0000 },\n  { 0x1a00, 0x2893, 0x0000 },\n  { 0x9a00, 0x2896, 0x2000 },\n  { 0x1a00, 0x2895, 0x0000 },\n  { 0x1a00, 0x2897, 0x0000 },\n  { 0x9a00, 0x289c, 0x3000 },\n  { 0x9a00, 0x289a, 0x2000 },\n  { 0x1a00, 0x2899, 0x0000 },\n  { 0x1a00, 0x289b, 0x0000 },\n  { 0x9a00, 0x289e, 0x2000 },\n  { 0x1a00, 0x289d, 0x0000 },\n  { 0x1a00, 0x289f, 0x0000 },\n  { 0x9900, 0x2920, 0x8000 },\n  { 0x9a00, 0x28e0, 0x7000 },\n  { 0x9a00, 0x28c0, 0x6000 },\n  { 0x9a00, 0x28b0, 0x5000 },\n  { 0x9a00, 0x28a8, 0x4000 },\n  { 0x9a00, 0x28a4, 0x3000 },\n  { 0x9a00, 0x28a2, 0x2000 },\n  { 0x1a00, 0x28a1, 0x0000 },\n  { 0x1a00, 0x28a3, 0x0000 },\n  { 0x9a00, 0x28a6, 0x2000 },\n  { 0x1a00, 0x28a5, 0x0000 },\n  { 0x1a00, 0x28a7, 0x0000 },\n  { 0x9a00, 0x28ac, 0x3000 },\n  { 0x9a00, 0x28aa, 0x2000 },\n  { 0x1a00, 0x28a9, 0x0000 },\n  { 0x1a00, 0x28ab, 0x0000 },\n  { 0x9a00, 0x28ae, 0x2000 },\n  { 0x1a00, 0x28ad, 0x0000 },\n  { 0x1a00, 0x28af, 0x0000 },\n  { 0x9a00, 0x28b8, 0x4000 },\n  { 0x9a00, 0x28b4, 0x3000 },\n  { 0x9a00, 0x28b2, 0x2000 },\n  { 0x1a00, 0x28b1, 0x0000 },\n  { 0x1a00, 0x28b3, 0x0000 },\n  { 0x9a00, 0x28b6, 0x2000 },\n  { 0x1a00, 0x28b5, 0x0000 },\n  { 0x1a00, 0x28b7, 0x0000 },\n  { 0x9a00, 0x28bc, 0x3000 },\n  { 0x9a00, 0x28ba, 0x2000 },\n  { 0x1a00, 0x28b9, 0x0000 },\n  { 0x1a00, 0x28bb, 0x0000 },\n  { 0x9a00, 0x28be, 0x2000 },\n  { 0x1a00, 0x28bd, 0x0000 },\n  { 0x1a00, 0x28bf, 0x0000 },\n  { 0x9a00, 0x28d0, 0x5000 },\n  { 0x9a00, 0x28c8, 0x4000 },\n  { 0x9a00, 0x28c4, 0x3000 },\n  { 0x9a00, 0x28c2, 0x2000 },\n  { 0x1a00, 0x28c1, 0x0000 },\n  { 0x1a00, 0x28c3, 0x0000 },\n  { 0x9a00, 0x28c6, 0x2000 },\n  { 0x1a00, 0x28c5, 0x0000 },\n  { 0x1a00, 0x28c7, 0x0000 },\n  { 0x9a00, 0x28cc, 0x3000 },\n  { 0x9a00, 0x28ca, 0x2000 },\n  { 0x1a00, 0x28c9, 0x0000 },\n  { 0x1a00, 0x28cb, 0x0000 },\n  { 0x9a00, 0x28ce, 0x2000 },\n  { 0x1a00, 0x28cd, 0x0000 },\n  { 0x1a00, 0x28cf, 0x0000 },\n  { 0x9a00, 0x28d8, 0x4000 },\n  { 0x9a00, 0x28d4, 0x3000 },\n  { 0x9a00, 0x28d2, 0x2000 },\n  { 0x1a00, 0x28d1, 0x0000 },\n  { 0x1a00, 0x28d3, 0x0000 },\n  { 0x9a00, 0x28d6, 0x2000 },\n  { 0x1a00, 0x28d5, 0x0000 },\n  { 0x1a00, 0x28d7, 0x0000 },\n  { 0x9a00, 0x28dc, 0x3000 },\n  { 0x9a00, 0x28da, 0x2000 },\n  { 0x1a00, 0x28d9, 0x0000 },\n  { 0x1a00, 0x28db, 0x0000 },\n  { 0x9a00, 0x28de, 0x2000 },\n  { 0x1a00, 0x28dd, 0x0000 },\n  { 0x1a00, 0x28df, 0x0000 },\n  { 0x9900, 0x2900, 0x6000 },\n  { 0x9a00, 0x28f0, 0x5000 },\n  { 0x9a00, 0x28e8, 0x4000 },\n  { 0x9a00, 0x28e4, 0x3000 },\n  { 0x9a00, 0x28e2, 0x2000 },\n  { 0x1a00, 0x28e1, 0x0000 },\n  { 0x1a00, 0x28e3, 0x0000 },\n  { 0x9a00, 0x28e6, 0x2000 },\n  { 0x1a00, 0x28e5, 0x0000 },\n  { 0x1a00, 0x28e7, 0x0000 },\n  { 0x9a00, 0x28ec, 0x3000 },\n  { 0x9a00, 0x28ea, 0x2000 },\n  { 0x1a00, 0x28e9, 0x0000 },\n  { 0x1a00, 0x28eb, 0x0000 },\n  { 0x9a00, 0x28ee, 0x2000 },\n  { 0x1a00, 0x28ed, 0x0000 },\n  { 0x1a00, 0x28ef, 0x0000 },\n  { 0x9a00, 0x28f8, 0x4000 },\n  { 0x9a00, 0x28f4, 0x3000 },\n  { 0x9a00, 0x28f2, 0x2000 },\n  { 0x1a00, 0x28f1, 0x0000 },\n  { 0x1a00, 0x28f3, 0x0000 },\n  { 0x9a00, 0x28f6, 0x2000 },\n  { 0x1a00, 0x28f5, 0x0000 },\n  { 0x1a00, 0x28f7, 0x0000 },\n  { 0x9a00, 0x28fc, 0x3000 },\n  { 0x9a00, 0x28fa, 0x2000 },\n  { 0x1a00, 0x28f9, 0x0000 },\n  { 0x1a00, 0x28fb, 0x0000 },\n  { 0x9a00, 0x28fe, 0x2000 },\n  { 0x1a00, 0x28fd, 0x0000 },\n  { 0x1a00, 0x28ff, 0x0000 },\n  { 0x9900, 0x2910, 0x5000 },\n  { 0x9900, 0x2908, 0x4000 },\n  { 0x9900, 0x2904, 0x3000 },\n  { 0x9900, 0x2902, 0x2000 },\n  { 0x1900, 0x2901, 0x0000 },\n  { 0x1900, 0x2903, 0x0000 },\n  { 0x9900, 0x2906, 0x2000 },\n  { 0x1900, 0x2905, 0x0000 },\n  { 0x1900, 0x2907, 0x0000 },\n  { 0x9900, 0x290c, 0x3000 },\n  { 0x9900, 0x290a, 0x2000 },\n  { 0x1900, 0x2909, 0x0000 },\n  { 0x1900, 0x290b, 0x0000 },\n  { 0x9900, 0x290e, 0x2000 },\n  { 0x1900, 0x290d, 0x0000 },\n  { 0x1900, 0x290f, 0x0000 },\n  { 0x9900, 0x2918, 0x4000 },\n  { 0x9900, 0x2914, 0x3000 },\n  { 0x9900, 0x2912, 0x2000 },\n  { 0x1900, 0x2911, 0x0000 },\n  { 0x1900, 0x2913, 0x0000 },\n  { 0x9900, 0x2916, 0x2000 },\n  { 0x1900, 0x2915, 0x0000 },\n  { 0x1900, 0x2917, 0x0000 },\n  { 0x9900, 0x291c, 0x3000 },\n  { 0x9900, 0x291a, 0x2000 },\n  { 0x1900, 0x2919, 0x0000 },\n  { 0x1900, 0x291b, 0x0000 },\n  { 0x9900, 0x291e, 0x2000 },\n  { 0x1900, 0x291d, 0x0000 },\n  { 0x1900, 0x291f, 0x0000 },\n  { 0x9900, 0x2960, 0x7000 },\n  { 0x9900, 0x2940, 0x6000 },\n  { 0x9900, 0x2930, 0x5000 },\n  { 0x9900, 0x2928, 0x4000 },\n  { 0x9900, 0x2924, 0x3000 },\n  { 0x9900, 0x2922, 0x2000 },\n  { 0x1900, 0x2921, 0x0000 },\n  { 0x1900, 0x2923, 0x0000 },\n  { 0x9900, 0x2926, 0x2000 },\n  { 0x1900, 0x2925, 0x0000 },\n  { 0x1900, 0x2927, 0x0000 },\n  { 0x9900, 0x292c, 0x3000 },\n  { 0x9900, 0x292a, 0x2000 },\n  { 0x1900, 0x2929, 0x0000 },\n  { 0x1900, 0x292b, 0x0000 },\n  { 0x9900, 0x292e, 0x2000 },\n  { 0x1900, 0x292d, 0x0000 },\n  { 0x1900, 0x292f, 0x0000 },\n  { 0x9900, 0x2938, 0x4000 },\n  { 0x9900, 0x2934, 0x3000 },\n  { 0x9900, 0x2932, 0x2000 },\n  { 0x1900, 0x2931, 0x0000 },\n  { 0x1900, 0x2933, 0x0000 },\n  { 0x9900, 0x2936, 0x2000 },\n  { 0x1900, 0x2935, 0x0000 },\n  { 0x1900, 0x2937, 0x0000 },\n  { 0x9900, 0x293c, 0x3000 },\n  { 0x9900, 0x293a, 0x2000 },\n  { 0x1900, 0x2939, 0x0000 },\n  { 0x1900, 0x293b, 0x0000 },\n  { 0x9900, 0x293e, 0x2000 },\n  { 0x1900, 0x293d, 0x0000 },\n  { 0x1900, 0x293f, 0x0000 },\n  { 0x9900, 0x2950, 0x5000 },\n  { 0x9900, 0x2948, 0x4000 },\n  { 0x9900, 0x2944, 0x3000 },\n  { 0x9900, 0x2942, 0x2000 },\n  { 0x1900, 0x2941, 0x0000 },\n  { 0x1900, 0x2943, 0x0000 },\n  { 0x9900, 0x2946, 0x2000 },\n  { 0x1900, 0x2945, 0x0000 },\n  { 0x1900, 0x2947, 0x0000 },\n  { 0x9900, 0x294c, 0x3000 },\n  { 0x9900, 0x294a, 0x2000 },\n  { 0x1900, 0x2949, 0x0000 },\n  { 0x1900, 0x294b, 0x0000 },\n  { 0x9900, 0x294e, 0x2000 },\n  { 0x1900, 0x294d, 0x0000 },\n  { 0x1900, 0x294f, 0x0000 },\n  { 0x9900, 0x2958, 0x4000 },\n  { 0x9900, 0x2954, 0x3000 },\n  { 0x9900, 0x2952, 0x2000 },\n  { 0x1900, 0x2951, 0x0000 },\n  { 0x1900, 0x2953, 0x0000 },\n  { 0x9900, 0x2956, 0x2000 },\n  { 0x1900, 0x2955, 0x0000 },\n  { 0x1900, 0x2957, 0x0000 },\n  { 0x9900, 0x295c, 0x3000 },\n  { 0x9900, 0x295a, 0x2000 },\n  { 0x1900, 0x2959, 0x0000 },\n  { 0x1900, 0x295b, 0x0000 },\n  { 0x9900, 0x295e, 0x2000 },\n  { 0x1900, 0x295d, 0x0000 },\n  { 0x1900, 0x295f, 0x0000 },\n  { 0x9900, 0x2980, 0x6000 },\n  { 0x9900, 0x2970, 0x5000 },\n  { 0x9900, 0x2968, 0x4000 },\n  { 0x9900, 0x2964, 0x3000 },\n  { 0x9900, 0x2962, 0x2000 },\n  { 0x1900, 0x2961, 0x0000 },\n  { 0x1900, 0x2963, 0x0000 },\n  { 0x9900, 0x2966, 0x2000 },\n  { 0x1900, 0x2965, 0x0000 },\n  { 0x1900, 0x2967, 0x0000 },\n  { 0x9900, 0x296c, 0x3000 },\n  { 0x9900, 0x296a, 0x2000 },\n  { 0x1900, 0x2969, 0x0000 },\n  { 0x1900, 0x296b, 0x0000 },\n  { 0x9900, 0x296e, 0x2000 },\n  { 0x1900, 0x296d, 0x0000 },\n  { 0x1900, 0x296f, 0x0000 },\n  { 0x9900, 0x2978, 0x4000 },\n  { 0x9900, 0x2974, 0x3000 },\n  { 0x9900, 0x2972, 0x2000 },\n  { 0x1900, 0x2971, 0x0000 },\n  { 0x1900, 0x2973, 0x0000 },\n  { 0x9900, 0x2976, 0x2000 },\n  { 0x1900, 0x2975, 0x0000 },\n  { 0x1900, 0x2977, 0x0000 },\n  { 0x9900, 0x297c, 0x3000 },\n  { 0x9900, 0x297a, 0x2000 },\n  { 0x1900, 0x2979, 0x0000 },\n  { 0x1900, 0x297b, 0x0000 },\n  { 0x9900, 0x297e, 0x2000 },\n  { 0x1900, 0x297d, 0x0000 },\n  { 0x1900, 0x297f, 0x0000 },\n  { 0x9200, 0x2990, 0x5000 },\n  { 0x9200, 0x2988, 0x4000 },\n  { 0x9200, 0x2984, 0x3000 },\n  { 0x9900, 0x2982, 0x2000 },\n  { 0x1900, 0x2981, 0x0000 },\n  { 0x1600, 0x2983, 0x0000 },\n  { 0x9200, 0x2986, 0x2000 },\n  { 0x1600, 0x2985, 0x0000 },\n  { 0x1600, 0x2987, 0x0000 },\n  { 0x9200, 0x298c, 0x3000 },\n  { 0x9200, 0x298a, 0x2000 },\n  { 0x1600, 0x2989, 0x0000 },\n  { 0x1600, 0x298b, 0x0000 },\n  { 0x9200, 0x298e, 0x2000 },\n  { 0x1600, 0x298d, 0x0000 },\n  { 0x1600, 0x298f, 0x0000 },\n  { 0x9200, 0x2998, 0x4000 },\n  { 0x9200, 0x2994, 0x3000 },\n  { 0x9200, 0x2992, 0x2000 },\n  { 0x1600, 0x2991, 0x0000 },\n  { 0x1600, 0x2993, 0x0000 },\n  { 0x9200, 0x2996, 0x2000 },\n  { 0x1600, 0x2995, 0x0000 },\n  { 0x1600, 0x2997, 0x0000 },\n  { 0x9900, 0x299c, 0x3000 },\n  { 0x9900, 0x299a, 0x2000 },\n  { 0x1900, 0x2999, 0x0000 },\n  { 0x1900, 0x299b, 0x0000 },\n  { 0x9900, 0x299e, 0x2000 },\n  { 0x1900, 0x299d, 0x0000 },\n  { 0x1900, 0x299f, 0x0000 },\n  { 0x9900, 0x2aa0, 0x9000 },\n  { 0x9900, 0x2a20, 0x8000 },\n  { 0x9900, 0x29e0, 0x7000 },\n  { 0x9900, 0x29c0, 0x6000 },\n  { 0x9900, 0x29b0, 0x5000 },\n  { 0x9900, 0x29a8, 0x4000 },\n  { 0x9900, 0x29a4, 0x3000 },\n  { 0x9900, 0x29a2, 0x2000 },\n  { 0x1900, 0x29a1, 0x0000 },\n  { 0x1900, 0x29a3, 0x0000 },\n  { 0x9900, 0x29a6, 0x2000 },\n  { 0x1900, 0x29a5, 0x0000 },\n  { 0x1900, 0x29a7, 0x0000 },\n  { 0x9900, 0x29ac, 0x3000 },\n  { 0x9900, 0x29aa, 0x2000 },\n  { 0x1900, 0x29a9, 0x0000 },\n  { 0x1900, 0x29ab, 0x0000 },\n  { 0x9900, 0x29ae, 0x2000 },\n  { 0x1900, 0x29ad, 0x0000 },\n  { 0x1900, 0x29af, 0x0000 },\n  { 0x9900, 0x29b8, 0x4000 },\n  { 0x9900, 0x29b4, 0x3000 },\n  { 0x9900, 0x29b2, 0x2000 },\n  { 0x1900, 0x29b1, 0x0000 },\n  { 0x1900, 0x29b3, 0x0000 },\n  { 0x9900, 0x29b6, 0x2000 },\n  { 0x1900, 0x29b5, 0x0000 },\n  { 0x1900, 0x29b7, 0x0000 },\n  { 0x9900, 0x29bc, 0x3000 },\n  { 0x9900, 0x29ba, 0x2000 },\n  { 0x1900, 0x29b9, 0x0000 },\n  { 0x1900, 0x29bb, 0x0000 },\n  { 0x9900, 0x29be, 0x2000 },\n  { 0x1900, 0x29bd, 0x0000 },\n  { 0x1900, 0x29bf, 0x0000 },\n  { 0x9900, 0x29d0, 0x5000 },\n  { 0x9900, 0x29c8, 0x4000 },\n  { 0x9900, 0x29c4, 0x3000 },\n  { 0x9900, 0x29c2, 0x2000 },\n  { 0x1900, 0x29c1, 0x0000 },\n  { 0x1900, 0x29c3, 0x0000 },\n  { 0x9900, 0x29c6, 0x2000 },\n  { 0x1900, 0x29c5, 0x0000 },\n  { 0x1900, 0x29c7, 0x0000 },\n  { 0x9900, 0x29cc, 0x3000 },\n  { 0x9900, 0x29ca, 0x2000 },\n  { 0x1900, 0x29c9, 0x0000 },\n  { 0x1900, 0x29cb, 0x0000 },\n  { 0x9900, 0x29ce, 0x2000 },\n  { 0x1900, 0x29cd, 0x0000 },\n  { 0x1900, 0x29cf, 0x0000 },\n  { 0x9600, 0x29d8, 0x4000 },\n  { 0x9900, 0x29d4, 0x3000 },\n  { 0x9900, 0x29d2, 0x2000 },\n  { 0x1900, 0x29d1, 0x0000 },\n  { 0x1900, 0x29d3, 0x0000 },\n  { 0x9900, 0x29d6, 0x2000 },\n  { 0x1900, 0x29d5, 0x0000 },\n  { 0x1900, 0x29d7, 0x0000 },\n  { 0x9900, 0x29dc, 0x3000 },\n  { 0x9600, 0x29da, 0x2000 },\n  { 0x1200, 0x29d9, 0x0000 },\n  { 0x1200, 0x29db, 0x0000 },\n  { 0x9900, 0x29de, 0x2000 },\n  { 0x1900, 0x29dd, 0x0000 },\n  { 0x1900, 0x29df, 0x0000 },\n  { 0x9900, 0x2a00, 0x6000 },\n  { 0x9900, 0x29f0, 0x5000 },\n  { 0x9900, 0x29e8, 0x4000 },\n  { 0x9900, 0x29e4, 0x3000 },\n  { 0x9900, 0x29e2, 0x2000 },\n  { 0x1900, 0x29e1, 0x0000 },\n  { 0x1900, 0x29e3, 0x0000 },\n  { 0x9900, 0x29e6, 0x2000 },\n  { 0x1900, 0x29e5, 0x0000 },\n  { 0x1900, 0x29e7, 0x0000 },\n  { 0x9900, 0x29ec, 0x3000 },\n  { 0x9900, 0x29ea, 0x2000 },\n  { 0x1900, 0x29e9, 0x0000 },\n  { 0x1900, 0x29eb, 0x0000 },\n  { 0x9900, 0x29ee, 0x2000 },\n  { 0x1900, 0x29ed, 0x0000 },\n  { 0x1900, 0x29ef, 0x0000 },\n  { 0x9900, 0x29f8, 0x4000 },\n  { 0x9900, 0x29f4, 0x3000 },\n  { 0x9900, 0x29f2, 0x2000 },\n  { 0x1900, 0x29f1, 0x0000 },\n  { 0x1900, 0x29f3, 0x0000 },\n  { 0x9900, 0x29f6, 0x2000 },\n  { 0x1900, 0x29f5, 0x0000 },\n  { 0x1900, 0x29f7, 0x0000 },\n  { 0x9600, 0x29fc, 0x3000 },\n  { 0x9900, 0x29fa, 0x2000 },\n  { 0x1900, 0x29f9, 0x0000 },\n  { 0x1900, 0x29fb, 0x0000 },\n  { 0x9900, 0x29fe, 0x2000 },\n  { 0x1200, 0x29fd, 0x0000 },\n  { 0x1900, 0x29ff, 0x0000 },\n  { 0x9900, 0x2a10, 0x5000 },\n  { 0x9900, 0x2a08, 0x4000 },\n  { 0x9900, 0x2a04, 0x3000 },\n  { 0x9900, 0x2a02, 0x2000 },\n  { 0x1900, 0x2a01, 0x0000 },\n  { 0x1900, 0x2a03, 0x0000 },\n  { 0x9900, 0x2a06, 0x2000 },\n  { 0x1900, 0x2a05, 0x0000 },\n  { 0x1900, 0x2a07, 0x0000 },\n  { 0x9900, 0x2a0c, 0x3000 },\n  { 0x9900, 0x2a0a, 0x2000 },\n  { 0x1900, 0x2a09, 0x0000 },\n  { 0x1900, 0x2a0b, 0x0000 },\n  { 0x9900, 0x2a0e, 0x2000 },\n  { 0x1900, 0x2a0d, 0x0000 },\n  { 0x1900, 0x2a0f, 0x0000 },\n  { 0x9900, 0x2a18, 0x4000 },\n  { 0x9900, 0x2a14, 0x3000 },\n  { 0x9900, 0x2a12, 0x2000 },\n  { 0x1900, 0x2a11, 0x0000 },\n  { 0x1900, 0x2a13, 0x0000 },\n  { 0x9900, 0x2a16, 0x2000 },\n  { 0x1900, 0x2a15, 0x0000 },\n  { 0x1900, 0x2a17, 0x0000 },\n  { 0x9900, 0x2a1c, 0x3000 },\n  { 0x9900, 0x2a1a, 0x2000 },\n  { 0x1900, 0x2a19, 0x0000 },\n  { 0x1900, 0x2a1b, 0x0000 },\n  { 0x9900, 0x2a1e, 0x2000 },\n  { 0x1900, 0x2a1d, 0x0000 },\n  { 0x1900, 0x2a1f, 0x0000 },\n  { 0x9900, 0x2a60, 0x7000 },\n  { 0x9900, 0x2a40, 0x6000 },\n  { 0x9900, 0x2a30, 0x5000 },\n  { 0x9900, 0x2a28, 0x4000 },\n  { 0x9900, 0x2a24, 0x3000 },\n  { 0x9900, 0x2a22, 0x2000 },\n  { 0x1900, 0x2a21, 0x0000 },\n  { 0x1900, 0x2a23, 0x0000 },\n  { 0x9900, 0x2a26, 0x2000 },\n  { 0x1900, 0x2a25, 0x0000 },\n  { 0x1900, 0x2a27, 0x0000 },\n  { 0x9900, 0x2a2c, 0x3000 },\n  { 0x9900, 0x2a2a, 0x2000 },\n  { 0x1900, 0x2a29, 0x0000 },\n  { 0x1900, 0x2a2b, 0x0000 },\n  { 0x9900, 0x2a2e, 0x2000 },\n  { 0x1900, 0x2a2d, 0x0000 },\n  { 0x1900, 0x2a2f, 0x0000 },\n  { 0x9900, 0x2a38, 0x4000 },\n  { 0x9900, 0x2a34, 0x3000 },\n  { 0x9900, 0x2a32, 0x2000 },\n  { 0x1900, 0x2a31, 0x0000 },\n  { 0x1900, 0x2a33, 0x0000 },\n  { 0x9900, 0x2a36, 0x2000 },\n  { 0x1900, 0x2a35, 0x0000 },\n  { 0x1900, 0x2a37, 0x0000 },\n  { 0x9900, 0x2a3c, 0x3000 },\n  { 0x9900, 0x2a3a, 0x2000 },\n  { 0x1900, 0x2a39, 0x0000 },\n  { 0x1900, 0x2a3b, 0x0000 },\n  { 0x9900, 0x2a3e, 0x2000 },\n  { 0x1900, 0x2a3d, 0x0000 },\n  { 0x1900, 0x2a3f, 0x0000 },\n  { 0x9900, 0x2a50, 0x5000 },\n  { 0x9900, 0x2a48, 0x4000 },\n  { 0x9900, 0x2a44, 0x3000 },\n  { 0x9900, 0x2a42, 0x2000 },\n  { 0x1900, 0x2a41, 0x0000 },\n  { 0x1900, 0x2a43, 0x0000 },\n  { 0x9900, 0x2a46, 0x2000 },\n  { 0x1900, 0x2a45, 0x0000 },\n  { 0x1900, 0x2a47, 0x0000 },\n  { 0x9900, 0x2a4c, 0x3000 },\n  { 0x9900, 0x2a4a, 0x2000 },\n  { 0x1900, 0x2a49, 0x0000 },\n  { 0x1900, 0x2a4b, 0x0000 },\n  { 0x9900, 0x2a4e, 0x2000 },\n  { 0x1900, 0x2a4d, 0x0000 },\n  { 0x1900, 0x2a4f, 0x0000 },\n  { 0x9900, 0x2a58, 0x4000 },\n  { 0x9900, 0x2a54, 0x3000 },\n  { 0x9900, 0x2a52, 0x2000 },\n  { 0x1900, 0x2a51, 0x0000 },\n  { 0x1900, 0x2a53, 0x0000 },\n  { 0x9900, 0x2a56, 0x2000 },\n  { 0x1900, 0x2a55, 0x0000 },\n  { 0x1900, 0x2a57, 0x0000 },\n  { 0x9900, 0x2a5c, 0x3000 },\n  { 0x9900, 0x2a5a, 0x2000 },\n  { 0x1900, 0x2a59, 0x0000 },\n  { 0x1900, 0x2a5b, 0x0000 },\n  { 0x9900, 0x2a5e, 0x2000 },\n  { 0x1900, 0x2a5d, 0x0000 },\n  { 0x1900, 0x2a5f, 0x0000 },\n  { 0x9900, 0x2a80, 0x6000 },\n  { 0x9900, 0x2a70, 0x5000 },\n  { 0x9900, 0x2a68, 0x4000 },\n  { 0x9900, 0x2a64, 0x3000 },\n  { 0x9900, 0x2a62, 0x2000 },\n  { 0x1900, 0x2a61, 0x0000 },\n  { 0x1900, 0x2a63, 0x0000 },\n  { 0x9900, 0x2a66, 0x2000 },\n  { 0x1900, 0x2a65, 0x0000 },\n  { 0x1900, 0x2a67, 0x0000 },\n  { 0x9900, 0x2a6c, 0x3000 },\n  { 0x9900, 0x2a6a, 0x2000 },\n  { 0x1900, 0x2a69, 0x0000 },\n  { 0x1900, 0x2a6b, 0x0000 },\n  { 0x9900, 0x2a6e, 0x2000 },\n  { 0x1900, 0x2a6d, 0x0000 },\n  { 0x1900, 0x2a6f, 0x0000 },\n  { 0x9900, 0x2a78, 0x4000 },\n  { 0x9900, 0x2a74, 0x3000 },\n  { 0x9900, 0x2a72, 0x2000 },\n  { 0x1900, 0x2a71, 0x0000 },\n  { 0x1900, 0x2a73, 0x0000 },\n  { 0x9900, 0x2a76, 0x2000 },\n  { 0x1900, 0x2a75, 0x0000 },\n  { 0x1900, 0x2a77, 0x0000 },\n  { 0x9900, 0x2a7c, 0x3000 },\n  { 0x9900, 0x2a7a, 0x2000 },\n  { 0x1900, 0x2a79, 0x0000 },\n  { 0x1900, 0x2a7b, 0x0000 },\n  { 0x9900, 0x2a7e, 0x2000 },\n  { 0x1900, 0x2a7d, 0x0000 },\n  { 0x1900, 0x2a7f, 0x0000 },\n  { 0x9900, 0x2a90, 0x5000 },\n  { 0x9900, 0x2a88, 0x4000 },\n  { 0x9900, 0x2a84, 0x3000 },\n  { 0x9900, 0x2a82, 0x2000 },\n  { 0x1900, 0x2a81, 0x0000 },\n  { 0x1900, 0x2a83, 0x0000 },\n  { 0x9900, 0x2a86, 0x2000 },\n  { 0x1900, 0x2a85, 0x0000 },\n  { 0x1900, 0x2a87, 0x0000 },\n  { 0x9900, 0x2a8c, 0x3000 },\n  { 0x9900, 0x2a8a, 0x2000 },\n  { 0x1900, 0x2a89, 0x0000 },\n  { 0x1900, 0x2a8b, 0x0000 },\n  { 0x9900, 0x2a8e, 0x2000 },\n  { 0x1900, 0x2a8d, 0x0000 },\n  { 0x1900, 0x2a8f, 0x0000 },\n  { 0x9900, 0x2a98, 0x4000 },\n  { 0x9900, 0x2a94, 0x3000 },\n  { 0x9900, 0x2a92, 0x2000 },\n  { 0x1900, 0x2a91, 0x0000 },\n  { 0x1900, 0x2a93, 0x0000 },\n  { 0x9900, 0x2a96, 0x2000 },\n  { 0x1900, 0x2a95, 0x0000 },\n  { 0x1900, 0x2a97, 0x0000 },\n  { 0x9900, 0x2a9c, 0x3000 },\n  { 0x9900, 0x2a9a, 0x2000 },\n  { 0x1900, 0x2a99, 0x0000 },\n  { 0x1900, 0x2a9b, 0x0000 },\n  { 0x9900, 0x2a9e, 0x2000 },\n  { 0x1900, 0x2a9d, 0x0000 },\n  { 0x1900, 0x2a9f, 0x0000 },\n  { 0x9a00, 0x2e92, 0x8000 },\n  { 0x9900, 0x2ae0, 0x7000 },\n  { 0x9900, 0x2ac0, 0x6000 },\n  { 0x9900, 0x2ab0, 0x5000 },\n  { 0x9900, 0x2aa8, 0x4000 },\n  { 0x9900, 0x2aa4, 0x3000 },\n  { 0x9900, 0x2aa2, 0x2000 },\n  { 0x1900, 0x2aa1, 0x0000 },\n  { 0x1900, 0x2aa3, 0x0000 },\n  { 0x9900, 0x2aa6, 0x2000 },\n  { 0x1900, 0x2aa5, 0x0000 },\n  { 0x1900, 0x2aa7, 0x0000 },\n  { 0x9900, 0x2aac, 0x3000 },\n  { 0x9900, 0x2aaa, 0x2000 },\n  { 0x1900, 0x2aa9, 0x0000 },\n  { 0x1900, 0x2aab, 0x0000 },\n  { 0x9900, 0x2aae, 0x2000 },\n  { 0x1900, 0x2aad, 0x0000 },\n  { 0x1900, 0x2aaf, 0x0000 },\n  { 0x9900, 0x2ab8, 0x4000 },\n  { 0x9900, 0x2ab4, 0x3000 },\n  { 0x9900, 0x2ab2, 0x2000 },\n  { 0x1900, 0x2ab1, 0x0000 },\n  { 0x1900, 0x2ab3, 0x0000 },\n  { 0x9900, 0x2ab6, 0x2000 },\n  { 0x1900, 0x2ab5, 0x0000 },\n  { 0x1900, 0x2ab7, 0x0000 },\n  { 0x9900, 0x2abc, 0x3000 },\n  { 0x9900, 0x2aba, 0x2000 },\n  { 0x1900, 0x2ab9, 0x0000 },\n  { 0x1900, 0x2abb, 0x0000 },\n  { 0x9900, 0x2abe, 0x2000 },\n  { 0x1900, 0x2abd, 0x0000 },\n  { 0x1900, 0x2abf, 0x0000 },\n  { 0x9900, 0x2ad0, 0x5000 },\n  { 0x9900, 0x2ac8, 0x4000 },\n  { 0x9900, 0x2ac4, 0x3000 },\n  { 0x9900, 0x2ac2, 0x2000 },\n  { 0x1900, 0x2ac1, 0x0000 },\n  { 0x1900, 0x2ac3, 0x0000 },\n  { 0x9900, 0x2ac6, 0x2000 },\n  { 0x1900, 0x2ac5, 0x0000 },\n  { 0x1900, 0x2ac7, 0x0000 },\n  { 0x9900, 0x2acc, 0x3000 },\n  { 0x9900, 0x2aca, 0x2000 },\n  { 0x1900, 0x2ac9, 0x0000 },\n  { 0x1900, 0x2acb, 0x0000 },\n  { 0x9900, 0x2ace, 0x2000 },\n  { 0x1900, 0x2acd, 0x0000 },\n  { 0x1900, 0x2acf, 0x0000 },\n  { 0x9900, 0x2ad8, 0x4000 },\n  { 0x9900, 0x2ad4, 0x3000 },\n  { 0x9900, 0x2ad2, 0x2000 },\n  { 0x1900, 0x2ad1, 0x0000 },\n  { 0x1900, 0x2ad3, 0x0000 },\n  { 0x9900, 0x2ad6, 0x2000 },\n  { 0x1900, 0x2ad5, 0x0000 },\n  { 0x1900, 0x2ad7, 0x0000 },\n  { 0x9900, 0x2adc, 0x3000 },\n  { 0x9900, 0x2ada, 0x2000 },\n  { 0x1900, 0x2ad9, 0x0000 },\n  { 0x1900, 0x2adb, 0x0000 },\n  { 0x9900, 0x2ade, 0x2000 },\n  { 0x1900, 0x2add, 0x0000 },\n  { 0x1900, 0x2adf, 0x0000 },\n  { 0x9a00, 0x2b00, 0x6000 },\n  { 0x9900, 0x2af0, 0x5000 },\n  { 0x9900, 0x2ae8, 0x4000 },\n  { 0x9900, 0x2ae4, 0x3000 },\n  { 0x9900, 0x2ae2, 0x2000 },\n  { 0x1900, 0x2ae1, 0x0000 },\n  { 0x1900, 0x2ae3, 0x0000 },\n  { 0x9900, 0x2ae6, 0x2000 },\n  { 0x1900, 0x2ae5, 0x0000 },\n  { 0x1900, 0x2ae7, 0x0000 },\n  { 0x9900, 0x2aec, 0x3000 },\n  { 0x9900, 0x2aea, 0x2000 },\n  { 0x1900, 0x2ae9, 0x0000 },\n  { 0x1900, 0x2aeb, 0x0000 },\n  { 0x9900, 0x2aee, 0x2000 },\n  { 0x1900, 0x2aed, 0x0000 },\n  { 0x1900, 0x2aef, 0x0000 },\n  { 0x9900, 0x2af8, 0x4000 },\n  { 0x9900, 0x2af4, 0x3000 },\n  { 0x9900, 0x2af2, 0x2000 },\n  { 0x1900, 0x2af1, 0x0000 },\n  { 0x1900, 0x2af3, 0x0000 },\n  { 0x9900, 0x2af6, 0x2000 },\n  { 0x1900, 0x2af5, 0x0000 },\n  { 0x1900, 0x2af7, 0x0000 },\n  { 0x9900, 0x2afc, 0x3000 },\n  { 0x9900, 0x2afa, 0x2000 },\n  { 0x1900, 0x2af9, 0x0000 },\n  { 0x1900, 0x2afb, 0x0000 },\n  { 0x9900, 0x2afe, 0x2000 },\n  { 0x1900, 0x2afd, 0x0000 },\n  { 0x1900, 0x2aff, 0x0000 },\n  { 0x9a00, 0x2e82, 0x5000 },\n  { 0x9a00, 0x2b08, 0x4000 },\n  { 0x9a00, 0x2b04, 0x3000 },\n  { 0x9a00, 0x2b02, 0x2000 },\n  { 0x1a00, 0x2b01, 0x0000 },\n  { 0x1a00, 0x2b03, 0x0000 },\n  { 0x9a00, 0x2b06, 0x2000 },\n  { 0x1a00, 0x2b05, 0x0000 },\n  { 0x1a00, 0x2b07, 0x0000 },\n  { 0x9a00, 0x2b0c, 0x3000 },\n  { 0x9a00, 0x2b0a, 0x2000 },\n  { 0x1a00, 0x2b09, 0x0000 },\n  { 0x1a00, 0x2b0b, 0x0000 },\n  { 0x9a00, 0x2e80, 0x2000 },\n  { 0x1a00, 0x2b0d, 0x0000 },\n  { 0x1a00, 0x2e81, 0x0000 },\n  { 0x9a00, 0x2e8a, 0x4000 },\n  { 0x9a00, 0x2e86, 0x3000 },\n  { 0x9a00, 0x2e84, 0x2000 },\n  { 0x1a00, 0x2e83, 0x0000 },\n  { 0x1a00, 0x2e85, 0x0000 },\n  { 0x9a00, 0x2e88, 0x2000 },\n  { 0x1a00, 0x2e87, 0x0000 },\n  { 0x1a00, 0x2e89, 0x0000 },\n  { 0x9a00, 0x2e8e, 0x3000 },\n  { 0x9a00, 0x2e8c, 0x2000 },\n  { 0x1a00, 0x2e8b, 0x0000 },\n  { 0x1a00, 0x2e8d, 0x0000 },\n  { 0x9a00, 0x2e90, 0x2000 },\n  { 0x1a00, 0x2e8f, 0x0000 },\n  { 0x1a00, 0x2e91, 0x0000 },\n  { 0x9a00, 0x2ed3, 0x7000 },\n  { 0x9a00, 0x2eb3, 0x6000 },\n  { 0x9a00, 0x2ea3, 0x5000 },\n  { 0x9a00, 0x2e9b, 0x4000 },\n  { 0x9a00, 0x2e96, 0x3000 },\n  { 0x9a00, 0x2e94, 0x2000 },\n  { 0x1a00, 0x2e93, 0x0000 },\n  { 0x1a00, 0x2e95, 0x0000 },\n  { 0x9a00, 0x2e98, 0x2000 },\n  { 0x1a00, 0x2e97, 0x0000 },\n  { 0x1a00, 0x2e99, 0x0000 },\n  { 0x9a00, 0x2e9f, 0x3000 },\n  { 0x9a00, 0x2e9d, 0x2000 },\n  { 0x1a00, 0x2e9c, 0x0000 },\n  { 0x1a00, 0x2e9e, 0x0000 },\n  { 0x9a00, 0x2ea1, 0x2000 },\n  { 0x1a00, 0x2ea0, 0x0000 },\n  { 0x1a00, 0x2ea2, 0x0000 },\n  { 0x9a00, 0x2eab, 0x4000 },\n  { 0x9a00, 0x2ea7, 0x3000 },\n  { 0x9a00, 0x2ea5, 0x2000 },\n  { 0x1a00, 0x2ea4, 0x0000 },\n  { 0x1a00, 0x2ea6, 0x0000 },\n  { 0x9a00, 0x2ea9, 0x2000 },\n  { 0x1a00, 0x2ea8, 0x0000 },\n  { 0x1a00, 0x2eaa, 0x0000 },\n  { 0x9a00, 0x2eaf, 0x3000 },\n  { 0x9a00, 0x2ead, 0x2000 },\n  { 0x1a00, 0x2eac, 0x0000 },\n  { 0x1a00, 0x2eae, 0x0000 },\n  { 0x9a00, 0x2eb1, 0x2000 },\n  { 0x1a00, 0x2eb0, 0x0000 },\n  { 0x1a00, 0x2eb2, 0x0000 },\n  { 0x9a00, 0x2ec3, 0x5000 },\n  { 0x9a00, 0x2ebb, 0x4000 },\n  { 0x9a00, 0x2eb7, 0x3000 },\n  { 0x9a00, 0x2eb5, 0x2000 },\n  { 0x1a00, 0x2eb4, 0x0000 },\n  { 0x1a00, 0x2eb6, 0x0000 },\n  { 0x9a00, 0x2eb9, 0x2000 },\n  { 0x1a00, 0x2eb8, 0x0000 },\n  { 0x1a00, 0x2eba, 0x0000 },\n  { 0x9a00, 0x2ebf, 0x3000 },\n  { 0x9a00, 0x2ebd, 0x2000 },\n  { 0x1a00, 0x2ebc, 0x0000 },\n  { 0x1a00, 0x2ebe, 0x0000 },\n  { 0x9a00, 0x2ec1, 0x2000 },\n  { 0x1a00, 0x2ec0, 0x0000 },\n  { 0x1a00, 0x2ec2, 0x0000 },\n  { 0x9a00, 0x2ecb, 0x4000 },\n  { 0x9a00, 0x2ec7, 0x3000 },\n  { 0x9a00, 0x2ec5, 0x2000 },\n  { 0x1a00, 0x2ec4, 0x0000 },\n  { 0x1a00, 0x2ec6, 0x0000 },\n  { 0x9a00, 0x2ec9, 0x2000 },\n  { 0x1a00, 0x2ec8, 0x0000 },\n  { 0x1a00, 0x2eca, 0x0000 },\n  { 0x9a00, 0x2ecf, 0x3000 },\n  { 0x9a00, 0x2ecd, 0x2000 },\n  { 0x1a00, 0x2ecc, 0x0000 },\n  { 0x1a00, 0x2ece, 0x0000 },\n  { 0x9a00, 0x2ed1, 0x2000 },\n  { 0x1a00, 0x2ed0, 0x0000 },\n  { 0x1a00, 0x2ed2, 0x0000 },\n  { 0x9a00, 0x2ef3, 0x6000 },\n  { 0x9a00, 0x2ee3, 0x5000 },\n  { 0x9a00, 0x2edb, 0x4000 },\n  { 0x9a00, 0x2ed7, 0x3000 },\n  { 0x9a00, 0x2ed5, 0x2000 },\n  { 0x1a00, 0x2ed4, 0x0000 },\n  { 0x1a00, 0x2ed6, 0x0000 },\n  { 0x9a00, 0x2ed9, 0x2000 },\n  { 0x1a00, 0x2ed8, 0x0000 },\n  { 0x1a00, 0x2eda, 0x0000 },\n  { 0x9a00, 0x2edf, 0x3000 },\n  { 0x9a00, 0x2edd, 0x2000 },\n  { 0x1a00, 0x2edc, 0x0000 },\n  { 0x1a00, 0x2ede, 0x0000 },\n  { 0x9a00, 0x2ee1, 0x2000 },\n  { 0x1a00, 0x2ee0, 0x0000 },\n  { 0x1a00, 0x2ee2, 0x0000 },\n  { 0x9a00, 0x2eeb, 0x4000 },\n  { 0x9a00, 0x2ee7, 0x3000 },\n  { 0x9a00, 0x2ee5, 0x2000 },\n  { 0x1a00, 0x2ee4, 0x0000 },\n  { 0x1a00, 0x2ee6, 0x0000 },\n  { 0x9a00, 0x2ee9, 0x2000 },\n  { 0x1a00, 0x2ee8, 0x0000 },\n  { 0x1a00, 0x2eea, 0x0000 },\n  { 0x9a00, 0x2eef, 0x3000 },\n  { 0x9a00, 0x2eed, 0x2000 },\n  { 0x1a00, 0x2eec, 0x0000 },\n  { 0x1a00, 0x2eee, 0x0000 },\n  { 0x9a00, 0x2ef1, 0x2000 },\n  { 0x1a00, 0x2ef0, 0x0000 },\n  { 0x1a00, 0x2ef2, 0x0000 },\n  { 0x9a00, 0x2f0f, 0x5000 },\n  { 0x9a00, 0x2f07, 0x4000 },\n  { 0x9a00, 0x2f03, 0x3000 },\n  { 0x9a00, 0x2f01, 0x2000 },\n  { 0x1a00, 0x2f00, 0x0000 },\n  { 0x1a00, 0x2f02, 0x0000 },\n  { 0x9a00, 0x2f05, 0x2000 },\n  { 0x1a00, 0x2f04, 0x0000 },\n  { 0x1a00, 0x2f06, 0x0000 },\n  { 0x9a00, 0x2f0b, 0x3000 },\n  { 0x9a00, 0x2f09, 0x2000 },\n  { 0x1a00, 0x2f08, 0x0000 },\n  { 0x1a00, 0x2f0a, 0x0000 },\n  { 0x9a00, 0x2f0d, 0x2000 },\n  { 0x1a00, 0x2f0c, 0x0000 },\n  { 0x1a00, 0x2f0e, 0x0000 },\n  { 0x9a00, 0x2f17, 0x4000 },\n  { 0x9a00, 0x2f13, 0x3000 },\n  { 0x9a00, 0x2f11, 0x2000 },\n  { 0x1a00, 0x2f10, 0x0000 },\n  { 0x1a00, 0x2f12, 0x0000 },\n  { 0x9a00, 0x2f15, 0x2000 },\n  { 0x1a00, 0x2f14, 0x0000 },\n  { 0x1a00, 0x2f16, 0x0000 },\n  { 0x9a00, 0x2f1b, 0x3000 },\n  { 0x9a00, 0x2f19, 0x2000 },\n  { 0x1a00, 0x2f18, 0x0000 },\n  { 0x1a00, 0x2f1a, 0x0000 },\n  { 0x9a00, 0x2f1d, 0x2000 },\n  { 0x1a00, 0x2f1c, 0x0000 },\n  { 0x1a00, 0x2f1e, 0x0000 },\n  { 0x8701, 0x00f0, 0xd000 },\n  { 0x8700, 0xa34d, 0xc000 },\n  { 0x9a00, 0x3391, 0xb000 },\n  { 0x8700, 0x3149, 0xa000 },\n  { 0x9500, 0x303d, 0x9000 },\n  { 0x9a00, 0x2f9f, 0x8000 },\n  { 0x9a00, 0x2f5f, 0x7000 },\n  { 0x9a00, 0x2f3f, 0x6000 },\n  { 0x9a00, 0x2f2f, 0x5000 },\n  { 0x9a00, 0x2f27, 0x4000 },\n  { 0x9a00, 0x2f23, 0x3000 },\n  { 0x9a00, 0x2f21, 0x2000 },\n  { 0x1a00, 0x2f20, 0x0000 },\n  { 0x1a00, 0x2f22, 0x0000 },\n  { 0x9a00, 0x2f25, 0x2000 },\n  { 0x1a00, 0x2f24, 0x0000 },\n  { 0x1a00, 0x2f26, 0x0000 },\n  { 0x9a00, 0x2f2b, 0x3000 },\n  { 0x9a00, 0x2f29, 0x2000 },\n  { 0x1a00, 0x2f28, 0x0000 },\n  { 0x1a00, 0x2f2a, 0x0000 },\n  { 0x9a00, 0x2f2d, 0x2000 },\n  { 0x1a00, 0x2f2c, 0x0000 },\n  { 0x1a00, 0x2f2e, 0x0000 },\n  { 0x9a00, 0x2f37, 0x4000 },\n  { 0x9a00, 0x2f33, 0x3000 },\n  { 0x9a00, 0x2f31, 0x2000 },\n  { 0x1a00, 0x2f30, 0x0000 },\n  { 0x1a00, 0x2f32, 0x0000 },\n  { 0x9a00, 0x2f35, 0x2000 },\n  { 0x1a00, 0x2f34, 0x0000 },\n  { 0x1a00, 0x2f36, 0x0000 },\n  { 0x9a00, 0x2f3b, 0x3000 },\n  { 0x9a00, 0x2f39, 0x2000 },\n  { 0x1a00, 0x2f38, 0x0000 },\n  { 0x1a00, 0x2f3a, 0x0000 },\n  { 0x9a00, 0x2f3d, 0x2000 },\n  { 0x1a00, 0x2f3c, 0x0000 },\n  { 0x1a00, 0x2f3e, 0x0000 },\n  { 0x9a00, 0x2f4f, 0x5000 },\n  { 0x9a00, 0x2f47, 0x4000 },\n  { 0x9a00, 0x2f43, 0x3000 },\n  { 0x9a00, 0x2f41, 0x2000 },\n  { 0x1a00, 0x2f40, 0x0000 },\n  { 0x1a00, 0x2f42, 0x0000 },\n  { 0x9a00, 0x2f45, 0x2000 },\n  { 0x1a00, 0x2f44, 0x0000 },\n  { 0x1a00, 0x2f46, 0x0000 },\n  { 0x9a00, 0x2f4b, 0x3000 },\n  { 0x9a00, 0x2f49, 0x2000 },\n  { 0x1a00, 0x2f48, 0x0000 },\n  { 0x1a00, 0x2f4a, 0x0000 },\n  { 0x9a00, 0x2f4d, 0x2000 },\n  { 0x1a00, 0x2f4c, 0x0000 },\n  { 0x1a00, 0x2f4e, 0x0000 },\n  { 0x9a00, 0x2f57, 0x4000 },\n  { 0x9a00, 0x2f53, 0x3000 },\n  { 0x9a00, 0x2f51, 0x2000 },\n  { 0x1a00, 0x2f50, 0x0000 },\n  { 0x1a00, 0x2f52, 0x0000 },\n  { 0x9a00, 0x2f55, 0x2000 },\n  { 0x1a00, 0x2f54, 0x0000 },\n  { 0x1a00, 0x2f56, 0x0000 },\n  { 0x9a00, 0x2f5b, 0x3000 },\n  { 0x9a00, 0x2f59, 0x2000 },\n  { 0x1a00, 0x2f58, 0x0000 },\n  { 0x1a00, 0x2f5a, 0x0000 },\n  { 0x9a00, 0x2f5d, 0x2000 },\n  { 0x1a00, 0x2f5c, 0x0000 },\n  { 0x1a00, 0x2f5e, 0x0000 },\n  { 0x9a00, 0x2f7f, 0x6000 },\n  { 0x9a00, 0x2f6f, 0x5000 },\n  { 0x9a00, 0x2f67, 0x4000 },\n  { 0x9a00, 0x2f63, 0x3000 },\n  { 0x9a00, 0x2f61, 0x2000 },\n  { 0x1a00, 0x2f60, 0x0000 },\n  { 0x1a00, 0x2f62, 0x0000 },\n  { 0x9a00, 0x2f65, 0x2000 },\n  { 0x1a00, 0x2f64, 0x0000 },\n  { 0x1a00, 0x2f66, 0x0000 },\n  { 0x9a00, 0x2f6b, 0x3000 },\n  { 0x9a00, 0x2f69, 0x2000 },\n  { 0x1a00, 0x2f68, 0x0000 },\n  { 0x1a00, 0x2f6a, 0x0000 },\n  { 0x9a00, 0x2f6d, 0x2000 },\n  { 0x1a00, 0x2f6c, 0x0000 },\n  { 0x1a00, 0x2f6e, 0x0000 },\n  { 0x9a00, 0x2f77, 0x4000 },\n  { 0x9a00, 0x2f73, 0x3000 },\n  { 0x9a00, 0x2f71, 0x2000 },\n  { 0x1a00, 0x2f70, 0x0000 },\n  { 0x1a00, 0x2f72, 0x0000 },\n  { 0x9a00, 0x2f75, 0x2000 },\n  { 0x1a00, 0x2f74, 0x0000 },\n  { 0x1a00, 0x2f76, 0x0000 },\n  { 0x9a00, 0x2f7b, 0x3000 },\n  { 0x9a00, 0x2f79, 0x2000 },\n  { 0x1a00, 0x2f78, 0x0000 },\n  { 0x1a00, 0x2f7a, 0x0000 },\n  { 0x9a00, 0x2f7d, 0x2000 },\n  { 0x1a00, 0x2f7c, 0x0000 },\n  { 0x1a00, 0x2f7e, 0x0000 },\n  { 0x9a00, 0x2f8f, 0x5000 },\n  { 0x9a00, 0x2f87, 0x4000 },\n  { 0x9a00, 0x2f83, 0x3000 },\n  { 0x9a00, 0x2f81, 0x2000 },\n  { 0x1a00, 0x2f80, 0x0000 },\n  { 0x1a00, 0x2f82, 0x0000 },\n  { 0x9a00, 0x2f85, 0x2000 },\n  { 0x1a00, 0x2f84, 0x0000 },\n  { 0x1a00, 0x2f86, 0x0000 },\n  { 0x9a00, 0x2f8b, 0x3000 },\n  { 0x9a00, 0x2f89, 0x2000 },\n  { 0x1a00, 0x2f88, 0x0000 },\n  { 0x1a00, 0x2f8a, 0x0000 },\n  { 0x9a00, 0x2f8d, 0x2000 },\n  { 0x1a00, 0x2f8c, 0x0000 },\n  { 0x1a00, 0x2f8e, 0x0000 },\n  { 0x9a00, 0x2f97, 0x4000 },\n  { 0x9a00, 0x2f93, 0x3000 },\n  { 0x9a00, 0x2f91, 0x2000 },\n  { 0x1a00, 0x2f90, 0x0000 },\n  { 0x1a00, 0x2f92, 0x0000 },\n  { 0x9a00, 0x2f95, 0x2000 },\n  { 0x1a00, 0x2f94, 0x0000 },\n  { 0x1a00, 0x2f96, 0x0000 },\n  { 0x9a00, 0x2f9b, 0x3000 },\n  { 0x9a00, 0x2f99, 0x2000 },\n  { 0x1a00, 0x2f98, 0x0000 },\n  { 0x1a00, 0x2f9a, 0x0000 },\n  { 0x9a00, 0x2f9d, 0x2000 },\n  { 0x1a00, 0x2f9c, 0x0000 },\n  { 0x1a00, 0x2f9e, 0x0000 },\n  { 0x9a00, 0x2ff9, 0x7000 },\n  { 0x9a00, 0x2fbf, 0x6000 },\n  { 0x9a00, 0x2faf, 0x5000 },\n  { 0x9a00, 0x2fa7, 0x4000 },\n  { 0x9a00, 0x2fa3, 0x3000 },\n  { 0x9a00, 0x2fa1, 0x2000 },\n  { 0x1a00, 0x2fa0, 0x0000 },\n  { 0x1a00, 0x2fa2, 0x0000 },\n  { 0x9a00, 0x2fa5, 0x2000 },\n  { 0x1a00, 0x2fa4, 0x0000 },\n  { 0x1a00, 0x2fa6, 0x0000 },\n  { 0x9a00, 0x2fab, 0x3000 },\n  { 0x9a00, 0x2fa9, 0x2000 },\n  { 0x1a00, 0x2fa8, 0x0000 },\n  { 0x1a00, 0x2faa, 0x0000 },\n  { 0x9a00, 0x2fad, 0x2000 },\n  { 0x1a00, 0x2fac, 0x0000 },\n  { 0x1a00, 0x2fae, 0x0000 },\n  { 0x9a00, 0x2fb7, 0x4000 },\n  { 0x9a00, 0x2fb3, 0x3000 },\n  { 0x9a00, 0x2fb1, 0x2000 },\n  { 0x1a00, 0x2fb0, 0x0000 },\n  { 0x1a00, 0x2fb2, 0x0000 },\n  { 0x9a00, 0x2fb5, 0x2000 },\n  { 0x1a00, 0x2fb4, 0x0000 },\n  { 0x1a00, 0x2fb6, 0x0000 },\n  { 0x9a00, 0x2fbb, 0x3000 },\n  { 0x9a00, 0x2fb9, 0x2000 },\n  { 0x1a00, 0x2fb8, 0x0000 },\n  { 0x1a00, 0x2fba, 0x0000 },\n  { 0x9a00, 0x2fbd, 0x2000 },\n  { 0x1a00, 0x2fbc, 0x0000 },\n  { 0x1a00, 0x2fbe, 0x0000 },\n  { 0x9a00, 0x2fcf, 0x5000 },\n  { 0x9a00, 0x2fc7, 0x4000 },\n  { 0x9a00, 0x2fc3, 0x3000 },\n  { 0x9a00, 0x2fc1, 0x2000 },\n  { 0x1a00, 0x2fc0, 0x0000 },\n  { 0x1a00, 0x2fc2, 0x0000 },\n  { 0x9a00, 0x2fc5, 0x2000 },\n  { 0x1a00, 0x2fc4, 0x0000 },\n  { 0x1a00, 0x2fc6, 0x0000 },\n  { 0x9a00, 0x2fcb, 0x3000 },\n  { 0x9a00, 0x2fc9, 0x2000 },\n  { 0x1a00, 0x2fc8, 0x0000 },\n  { 0x1a00, 0x2fca, 0x0000 },\n  { 0x9a00, 0x2fcd, 0x2000 },\n  { 0x1a00, 0x2fcc, 0x0000 },\n  { 0x1a00, 0x2fce, 0x0000 },\n  { 0x9a00, 0x2ff1, 0x4000 },\n  { 0x9a00, 0x2fd3, 0x3000 },\n  { 0x9a00, 0x2fd1, 0x2000 },\n  { 0x1a00, 0x2fd0, 0x0000 },\n  { 0x1a00, 0x2fd2, 0x0000 },\n  { 0x9a00, 0x2fd5, 0x2000 },\n  { 0x1a00, 0x2fd4, 0x0000 },\n  { 0x1a00, 0x2ff0, 0x0000 },\n  { 0x9a00, 0x2ff5, 0x3000 },\n  { 0x9a00, 0x2ff3, 0x2000 },\n  { 0x1a00, 0x2ff2, 0x0000 },\n  { 0x1a00, 0x2ff4, 0x0000 },\n  { 0x9a00, 0x2ff7, 0x2000 },\n  { 0x1a00, 0x2ff6, 0x0000 },\n  { 0x1a00, 0x2ff8, 0x0000 },\n  { 0x9600, 0x301d, 0x6000 },\n  { 0x9200, 0x300d, 0x5000 },\n  { 0x8600, 0x3005, 0x4000 },\n  { 0x9500, 0x3001, 0x3000 },\n  { 0x9a00, 0x2ffb, 0x2000 },\n  { 0x1a00, 0x2ffa, 0x0000 },\n  { 0x1d00, 0x3000, 0x0000 },\n  { 0x9500, 0x3003, 0x2000 },\n  { 0x1500, 0x3002, 0x0000 },\n  { 0x1a00, 0x3004, 0x0000 },\n  { 0x9200, 0x3009, 0x3000 },\n  { 0x8e00, 0x3007, 0x2000 },\n  { 0x0700, 0x3006, 0x0000 },\n  { 0x1600, 0x3008, 0x0000 },\n  { 0x9200, 0x300b, 0x2000 },\n  { 0x1600, 0x300a, 0x0000 },\n  { 0x1600, 0x300c, 0x0000 },\n  { 0x9200, 0x3015, 0x4000 },\n  { 0x9200, 0x3011, 0x3000 },\n  { 0x9200, 0x300f, 0x2000 },\n  { 0x1600, 0x300e, 0x0000 },\n  { 0x1600, 0x3010, 0x0000 },\n  { 0x9a00, 0x3013, 0x2000 },\n  { 0x1a00, 0x3012, 0x0000 },\n  { 0x1600, 0x3014, 0x0000 },\n  { 0x9200, 0x3019, 0x3000 },\n  { 0x9200, 0x3017, 0x2000 },\n  { 0x1600, 0x3016, 0x0000 },\n  { 0x1600, 0x3018, 0x0000 },\n  { 0x9200, 0x301b, 0x2000 },\n  { 0x1600, 0x301a, 0x0000 },\n  { 0x1100, 0x301c, 0x0000 },\n  { 0x8c00, 0x302d, 0x5000 },\n  { 0x8e00, 0x3025, 0x4000 },\n  { 0x8e00, 0x3021, 0x3000 },\n  { 0x9200, 0x301f, 0x2000 },\n  { 0x1200, 0x301e, 0x0000 },\n  { 0x1a00, 0x3020, 0x0000 },\n  { 0x8e00, 0x3023, 0x2000 },\n  { 0x0e00, 0x3022, 0x0000 },\n  { 0x0e00, 0x3024, 0x0000 },\n  { 0x8e00, 0x3029, 0x3000 },\n  { 0x8e00, 0x3027, 0x2000 },\n  { 0x0e00, 0x3026, 0x0000 },\n  { 0x0e00, 0x3028, 0x0000 },\n  { 0x8c00, 0x302b, 0x2000 },\n  { 0x0c00, 0x302a, 0x0000 },\n  { 0x0c00, 0x302c, 0x0000 },\n  { 0x8600, 0x3035, 0x4000 },\n  { 0x8600, 0x3031, 0x3000 },\n  { 0x8c00, 0x302f, 0x2000 },\n  { 0x0c00, 0x302e, 0x0000 },\n  { 0x1100, 0x3030, 0x0000 },\n  { 0x8600, 0x3033, 0x2000 },\n  { 0x0600, 0x3032, 0x0000 },\n  { 0x0600, 0x3034, 0x0000 },\n  { 0x8e00, 0x3039, 0x3000 },\n  { 0x9a00, 0x3037, 0x2000 },\n  { 0x1a00, 0x3036, 0x0000 },\n  { 0x0e00, 0x3038, 0x0000 },\n  { 0x8600, 0x303b, 0x2000 },\n  { 0x0e00, 0x303a, 0x0000 },\n  { 0x0700, 0x303c, 0x0000 },\n  { 0x8700, 0x30c0, 0x8000 },\n  { 0x8700, 0x307e, 0x7000 },\n  { 0x8700, 0x305e, 0x6000 },\n  { 0x8700, 0x304e, 0x5000 },\n  { 0x8700, 0x3046, 0x4000 },\n  { 0x8700, 0x3042, 0x3000 },\n  { 0x9a00, 0x303f, 0x2000 },\n  { 0x1a00, 0x303e, 0x0000 },\n  { 0x0700, 0x3041, 0x0000 },\n  { 0x8700, 0x3044, 0x2000 },\n  { 0x0700, 0x3043, 0x0000 },\n  { 0x0700, 0x3045, 0x0000 },\n  { 0x8700, 0x304a, 0x3000 },\n  { 0x8700, 0x3048, 0x2000 },\n  { 0x0700, 0x3047, 0x0000 },\n  { 0x0700, 0x3049, 0x0000 },\n  { 0x8700, 0x304c, 0x2000 },\n  { 0x0700, 0x304b, 0x0000 },\n  { 0x0700, 0x304d, 0x0000 },\n  { 0x8700, 0x3056, 0x4000 },\n  { 0x8700, 0x3052, 0x3000 },\n  { 0x8700, 0x3050, 0x2000 },\n  { 0x0700, 0x304f, 0x0000 },\n  { 0x0700, 0x3051, 0x0000 },\n  { 0x8700, 0x3054, 0x2000 },\n  { 0x0700, 0x3053, 0x0000 },\n  { 0x0700, 0x3055, 0x0000 },\n  { 0x8700, 0x305a, 0x3000 },\n  { 0x8700, 0x3058, 0x2000 },\n  { 0x0700, 0x3057, 0x0000 },\n  { 0x0700, 0x3059, 0x0000 },\n  { 0x8700, 0x305c, 0x2000 },\n  { 0x0700, 0x305b, 0x0000 },\n  { 0x0700, 0x305d, 0x0000 },\n  { 0x8700, 0x306e, 0x5000 },\n  { 0x8700, 0x3066, 0x4000 },\n  { 0x8700, 0x3062, 0x3000 },\n  { 0x8700, 0x3060, 0x2000 },\n  { 0x0700, 0x305f, 0x0000 },\n  { 0x0700, 0x3061, 0x0000 },\n  { 0x8700, 0x3064, 0x2000 },\n  { 0x0700, 0x3063, 0x0000 },\n  { 0x0700, 0x3065, 0x0000 },\n  { 0x8700, 0x306a, 0x3000 },\n  { 0x8700, 0x3068, 0x2000 },\n  { 0x0700, 0x3067, 0x0000 },\n  { 0x0700, 0x3069, 0x0000 },\n  { 0x8700, 0x306c, 0x2000 },\n  { 0x0700, 0x306b, 0x0000 },\n  { 0x0700, 0x306d, 0x0000 },\n  { 0x8700, 0x3076, 0x4000 },\n  { 0x8700, 0x3072, 0x3000 },\n  { 0x8700, 0x3070, 0x2000 },\n  { 0x0700, 0x306f, 0x0000 },\n  { 0x0700, 0x3071, 0x0000 },\n  { 0x8700, 0x3074, 0x2000 },\n  { 0x0700, 0x3073, 0x0000 },\n  { 0x0700, 0x3075, 0x0000 },\n  { 0x8700, 0x307a, 0x3000 },\n  { 0x8700, 0x3078, 0x2000 },\n  { 0x0700, 0x3077, 0x0000 },\n  { 0x0700, 0x3079, 0x0000 },\n  { 0x8700, 0x307c, 0x2000 },\n  { 0x0700, 0x307b, 0x0000 },\n  { 0x0700, 0x307d, 0x0000 },\n  { 0x9100, 0x30a0, 0x6000 },\n  { 0x8700, 0x308e, 0x5000 },\n  { 0x8700, 0x3086, 0x4000 },\n  { 0x8700, 0x3082, 0x3000 },\n  { 0x8700, 0x3080, 0x2000 },\n  { 0x0700, 0x307f, 0x0000 },\n  { 0x0700, 0x3081, 0x0000 },\n  { 0x8700, 0x3084, 0x2000 },\n  { 0x0700, 0x3083, 0x0000 },\n  { 0x0700, 0x3085, 0x0000 },\n  { 0x8700, 0x308a, 0x3000 },\n  { 0x8700, 0x3088, 0x2000 },\n  { 0x0700, 0x3087, 0x0000 },\n  { 0x0700, 0x3089, 0x0000 },\n  { 0x8700, 0x308c, 0x2000 },\n  { 0x0700, 0x308b, 0x0000 },\n  { 0x0700, 0x308d, 0x0000 },\n  { 0x8700, 0x3096, 0x4000 },\n  { 0x8700, 0x3092, 0x3000 },\n  { 0x8700, 0x3090, 0x2000 },\n  { 0x0700, 0x308f, 0x0000 },\n  { 0x0700, 0x3091, 0x0000 },\n  { 0x8700, 0x3094, 0x2000 },\n  { 0x0700, 0x3093, 0x0000 },\n  { 0x0700, 0x3095, 0x0000 },\n  { 0x9800, 0x309c, 0x3000 },\n  { 0x8c00, 0x309a, 0x2000 },\n  { 0x0c00, 0x3099, 0x0000 },\n  { 0x1800, 0x309b, 0x0000 },\n  { 0x8600, 0x309e, 0x2000 },\n  { 0x0600, 0x309d, 0x0000 },\n  { 0x0700, 0x309f, 0x0000 },\n  { 0x8700, 0x30b0, 0x5000 },\n  { 0x8700, 0x30a8, 0x4000 },\n  { 0x8700, 0x30a4, 0x3000 },\n  { 0x8700, 0x30a2, 0x2000 },\n  { 0x0700, 0x30a1, 0x0000 },\n  { 0x0700, 0x30a3, 0x0000 },\n  { 0x8700, 0x30a6, 0x2000 },\n  { 0x0700, 0x30a5, 0x0000 },\n  { 0x0700, 0x30a7, 0x0000 },\n  { 0x8700, 0x30ac, 0x3000 },\n  { 0x8700, 0x30aa, 0x2000 },\n  { 0x0700, 0x30a9, 0x0000 },\n  { 0x0700, 0x30ab, 0x0000 },\n  { 0x8700, 0x30ae, 0x2000 },\n  { 0x0700, 0x30ad, 0x0000 },\n  { 0x0700, 0x30af, 0x0000 },\n  { 0x8700, 0x30b8, 0x4000 },\n  { 0x8700, 0x30b4, 0x3000 },\n  { 0x8700, 0x30b2, 0x2000 },\n  { 0x0700, 0x30b1, 0x0000 },\n  { 0x0700, 0x30b3, 0x0000 },\n  { 0x8700, 0x30b6, 0x2000 },\n  { 0x0700, 0x30b5, 0x0000 },\n  { 0x0700, 0x30b7, 0x0000 },\n  { 0x8700, 0x30bc, 0x3000 },\n  { 0x8700, 0x30ba, 0x2000 },\n  { 0x0700, 0x30b9, 0x0000 },\n  { 0x0700, 0x30bb, 0x0000 },\n  { 0x8700, 0x30be, 0x2000 },\n  { 0x0700, 0x30bd, 0x0000 },\n  { 0x0700, 0x30bf, 0x0000 },\n  { 0x8700, 0x3105, 0x7000 },\n  { 0x8700, 0x30e0, 0x6000 },\n  { 0x8700, 0x30d0, 0x5000 },\n  { 0x8700, 0x30c8, 0x4000 },\n  { 0x8700, 0x30c4, 0x3000 },\n  { 0x8700, 0x30c2, 0x2000 },\n  { 0x0700, 0x30c1, 0x0000 },\n  { 0x0700, 0x30c3, 0x0000 },\n  { 0x8700, 0x30c6, 0x2000 },\n  { 0x0700, 0x30c5, 0x0000 },\n  { 0x0700, 0x30c7, 0x0000 },\n  { 0x8700, 0x30cc, 0x3000 },\n  { 0x8700, 0x30ca, 0x2000 },\n  { 0x0700, 0x30c9, 0x0000 },\n  { 0x0700, 0x30cb, 0x0000 },\n  { 0x8700, 0x30ce, 0x2000 },\n  { 0x0700, 0x30cd, 0x0000 },\n  { 0x0700, 0x30cf, 0x0000 },\n  { 0x8700, 0x30d8, 0x4000 },\n  { 0x8700, 0x30d4, 0x3000 },\n  { 0x8700, 0x30d2, 0x2000 },\n  { 0x0700, 0x30d1, 0x0000 },\n  { 0x0700, 0x30d3, 0x0000 },\n  { 0x8700, 0x30d6, 0x2000 },\n  { 0x0700, 0x30d5, 0x0000 },\n  { 0x0700, 0x30d7, 0x0000 },\n  { 0x8700, 0x30dc, 0x3000 },\n  { 0x8700, 0x30da, 0x2000 },\n  { 0x0700, 0x30d9, 0x0000 },\n  { 0x0700, 0x30db, 0x0000 },\n  { 0x8700, 0x30de, 0x2000 },\n  { 0x0700, 0x30dd, 0x0000 },\n  { 0x0700, 0x30df, 0x0000 },\n  { 0x8700, 0x30f0, 0x5000 },\n  { 0x8700, 0x30e8, 0x4000 },\n  { 0x8700, 0x30e4, 0x3000 },\n  { 0x8700, 0x30e2, 0x2000 },\n  { 0x0700, 0x30e1, 0x0000 },\n  { 0x0700, 0x30e3, 0x0000 },\n  { 0x8700, 0x30e6, 0x2000 },\n  { 0x0700, 0x30e5, 0x0000 },\n  { 0x0700, 0x30e7, 0x0000 },\n  { 0x8700, 0x30ec, 0x3000 },\n  { 0x8700, 0x30ea, 0x2000 },\n  { 0x0700, 0x30e9, 0x0000 },\n  { 0x0700, 0x30eb, 0x0000 },\n  { 0x8700, 0x30ee, 0x2000 },\n  { 0x0700, 0x30ed, 0x0000 },\n  { 0x0700, 0x30ef, 0x0000 },\n  { 0x8700, 0x30f8, 0x4000 },\n  { 0x8700, 0x30f4, 0x3000 },\n  { 0x8700, 0x30f2, 0x2000 },\n  { 0x0700, 0x30f1, 0x0000 },\n  { 0x0700, 0x30f3, 0x0000 },\n  { 0x8700, 0x30f6, 0x2000 },\n  { 0x0700, 0x30f5, 0x0000 },\n  { 0x0700, 0x30f7, 0x0000 },\n  { 0x8600, 0x30fc, 0x3000 },\n  { 0x8700, 0x30fa, 0x2000 },\n  { 0x0700, 0x30f9, 0x0000 },\n  { 0x1000, 0x30fb, 0x0000 },\n  { 0x8600, 0x30fe, 0x2000 },\n  { 0x0600, 0x30fd, 0x0000 },\n  { 0x0700, 0x30ff, 0x0000 },\n  { 0x8700, 0x3125, 0x6000 },\n  { 0x8700, 0x3115, 0x5000 },\n  { 0x8700, 0x310d, 0x4000 },\n  { 0x8700, 0x3109, 0x3000 },\n  { 0x8700, 0x3107, 0x2000 },\n  { 0x0700, 0x3106, 0x0000 },\n  { 0x0700, 0x3108, 0x0000 },\n  { 0x8700, 0x310b, 0x2000 },\n  { 0x0700, 0x310a, 0x0000 },\n  { 0x0700, 0x310c, 0x0000 },\n  { 0x8700, 0x3111, 0x3000 },\n  { 0x8700, 0x310f, 0x2000 },\n  { 0x0700, 0x310e, 0x0000 },\n  { 0x0700, 0x3110, 0x0000 },\n  { 0x8700, 0x3113, 0x2000 },\n  { 0x0700, 0x3112, 0x0000 },\n  { 0x0700, 0x3114, 0x0000 },\n  { 0x8700, 0x311d, 0x4000 },\n  { 0x8700, 0x3119, 0x3000 },\n  { 0x8700, 0x3117, 0x2000 },\n  { 0x0700, 0x3116, 0x0000 },\n  { 0x0700, 0x3118, 0x0000 },\n  { 0x8700, 0x311b, 0x2000 },\n  { 0x0700, 0x311a, 0x0000 },\n  { 0x0700, 0x311c, 0x0000 },\n  { 0x8700, 0x3121, 0x3000 },\n  { 0x8700, 0x311f, 0x2000 },\n  { 0x0700, 0x311e, 0x0000 },\n  { 0x0700, 0x3120, 0x0000 },\n  { 0x8700, 0x3123, 0x2000 },\n  { 0x0700, 0x3122, 0x0000 },\n  { 0x0700, 0x3124, 0x0000 },\n  { 0x8700, 0x3139, 0x5000 },\n  { 0x8700, 0x3131, 0x4000 },\n  { 0x8700, 0x3129, 0x3000 },\n  { 0x8700, 0x3127, 0x2000 },\n  { 0x0700, 0x3126, 0x0000 },\n  { 0x0700, 0x3128, 0x0000 },\n  { 0x8700, 0x312b, 0x2000 },\n  { 0x0700, 0x312a, 0x0000 },\n  { 0x0700, 0x312c, 0x0000 },\n  { 0x8700, 0x3135, 0x3000 },\n  { 0x8700, 0x3133, 0x2000 },\n  { 0x0700, 0x3132, 0x0000 },\n  { 0x0700, 0x3134, 0x0000 },\n  { 0x8700, 0x3137, 0x2000 },\n  { 0x0700, 0x3136, 0x0000 },\n  { 0x0700, 0x3138, 0x0000 },\n  { 0x8700, 0x3141, 0x4000 },\n  { 0x8700, 0x313d, 0x3000 },\n  { 0x8700, 0x313b, 0x2000 },\n  { 0x0700, 0x313a, 0x0000 },\n  { 0x0700, 0x313c, 0x0000 },\n  { 0x8700, 0x313f, 0x2000 },\n  { 0x0700, 0x313e, 0x0000 },\n  { 0x0700, 0x3140, 0x0000 },\n  { 0x8700, 0x3145, 0x3000 },\n  { 0x8700, 0x3143, 0x2000 },\n  { 0x0700, 0x3142, 0x0000 },\n  { 0x0700, 0x3144, 0x0000 },\n  { 0x8700, 0x3147, 0x2000 },\n  { 0x0700, 0x3146, 0x0000 },\n  { 0x0700, 0x3148, 0x0000 },\n  { 0x9a00, 0x3290, 0x9000 },\n  { 0x9a00, 0x3202, 0x8000 },\n  { 0x8700, 0x3189, 0x7000 },\n  { 0x8700, 0x3169, 0x6000 },\n  { 0x8700, 0x3159, 0x5000 },\n  { 0x8700, 0x3151, 0x4000 },\n  { 0x8700, 0x314d, 0x3000 },\n  { 0x8700, 0x314b, 0x2000 },\n  { 0x0700, 0x314a, 0x0000 },\n  { 0x0700, 0x314c, 0x0000 },\n  { 0x8700, 0x314f, 0x2000 },\n  { 0x0700, 0x314e, 0x0000 },\n  { 0x0700, 0x3150, 0x0000 },\n  { 0x8700, 0x3155, 0x3000 },\n  { 0x8700, 0x3153, 0x2000 },\n  { 0x0700, 0x3152, 0x0000 },\n  { 0x0700, 0x3154, 0x0000 },\n  { 0x8700, 0x3157, 0x2000 },\n  { 0x0700, 0x3156, 0x0000 },\n  { 0x0700, 0x3158, 0x0000 },\n  { 0x8700, 0x3161, 0x4000 },\n  { 0x8700, 0x315d, 0x3000 },\n  { 0x8700, 0x315b, 0x2000 },\n  { 0x0700, 0x315a, 0x0000 },\n  { 0x0700, 0x315c, 0x0000 },\n  { 0x8700, 0x315f, 0x2000 },\n  { 0x0700, 0x315e, 0x0000 },\n  { 0x0700, 0x3160, 0x0000 },\n  { 0x8700, 0x3165, 0x3000 },\n  { 0x8700, 0x3163, 0x2000 },\n  { 0x0700, 0x3162, 0x0000 },\n  { 0x0700, 0x3164, 0x0000 },\n  { 0x8700, 0x3167, 0x2000 },\n  { 0x0700, 0x3166, 0x0000 },\n  { 0x0700, 0x3168, 0x0000 },\n  { 0x8700, 0x3179, 0x5000 },\n  { 0x8700, 0x3171, 0x4000 },\n  { 0x8700, 0x316d, 0x3000 },\n  { 0x8700, 0x316b, 0x2000 },\n  { 0x0700, 0x316a, 0x0000 },\n  { 0x0700, 0x316c, 0x0000 },\n  { 0x8700, 0x316f, 0x2000 },\n  { 0x0700, 0x316e, 0x0000 },\n  { 0x0700, 0x3170, 0x0000 },\n  { 0x8700, 0x3175, 0x3000 },\n  { 0x8700, 0x3173, 0x2000 },\n  { 0x0700, 0x3172, 0x0000 },\n  { 0x0700, 0x3174, 0x0000 },\n  { 0x8700, 0x3177, 0x2000 },\n  { 0x0700, 0x3176, 0x0000 },\n  { 0x0700, 0x3178, 0x0000 },\n  { 0x8700, 0x3181, 0x4000 },\n  { 0x8700, 0x317d, 0x3000 },\n  { 0x8700, 0x317b, 0x2000 },\n  { 0x0700, 0x317a, 0x0000 },\n  { 0x0700, 0x317c, 0x0000 },\n  { 0x8700, 0x317f, 0x2000 },\n  { 0x0700, 0x317e, 0x0000 },\n  { 0x0700, 0x3180, 0x0000 },\n  { 0x8700, 0x3185, 0x3000 },\n  { 0x8700, 0x3183, 0x2000 },\n  { 0x0700, 0x3182, 0x0000 },\n  { 0x0700, 0x3184, 0x0000 },\n  { 0x8700, 0x3187, 0x2000 },\n  { 0x0700, 0x3186, 0x0000 },\n  { 0x0700, 0x3188, 0x0000 },\n  { 0x8700, 0x31aa, 0x6000 },\n  { 0x9a00, 0x319a, 0x5000 },\n  { 0x8f00, 0x3192, 0x4000 },\n  { 0x8700, 0x318d, 0x3000 },\n  { 0x8700, 0x318b, 0x2000 },\n  { 0x0700, 0x318a, 0x0000 },\n  { 0x0700, 0x318c, 0x0000 },\n  { 0x9a00, 0x3190, 0x2000 },\n  { 0x0700, 0x318e, 0x0000 },\n  { 0x1a00, 0x3191, 0x0000 },\n  { 0x9a00, 0x3196, 0x3000 },\n  { 0x8f00, 0x3194, 0x2000 },\n  { 0x0f00, 0x3193, 0x0000 },\n  { 0x0f00, 0x3195, 0x0000 },\n  { 0x9a00, 0x3198, 0x2000 },\n  { 0x1a00, 0x3197, 0x0000 },\n  { 0x1a00, 0x3199, 0x0000 },\n  { 0x8700, 0x31a2, 0x4000 },\n  { 0x9a00, 0x319e, 0x3000 },\n  { 0x9a00, 0x319c, 0x2000 },\n  { 0x1a00, 0x319b, 0x0000 },\n  { 0x1a00, 0x319d, 0x0000 },\n  { 0x8700, 0x31a0, 0x2000 },\n  { 0x1a00, 0x319f, 0x0000 },\n  { 0x0700, 0x31a1, 0x0000 },\n  { 0x8700, 0x31a6, 0x3000 },\n  { 0x8700, 0x31a4, 0x2000 },\n  { 0x0700, 0x31a3, 0x0000 },\n  { 0x0700, 0x31a5, 0x0000 },\n  { 0x8700, 0x31a8, 0x2000 },\n  { 0x0700, 0x31a7, 0x0000 },\n  { 0x0700, 0x31a9, 0x0000 },\n  { 0x8700, 0x31f2, 0x5000 },\n  { 0x8700, 0x31b2, 0x4000 },\n  { 0x8700, 0x31ae, 0x3000 },\n  { 0x8700, 0x31ac, 0x2000 },\n  { 0x0700, 0x31ab, 0x0000 },\n  { 0x0700, 0x31ad, 0x0000 },\n  { 0x8700, 0x31b0, 0x2000 },\n  { 0x0700, 0x31af, 0x0000 },\n  { 0x0700, 0x31b1, 0x0000 },\n  { 0x8700, 0x31b6, 0x3000 },\n  { 0x8700, 0x31b4, 0x2000 },\n  { 0x0700, 0x31b3, 0x0000 },\n  { 0x0700, 0x31b5, 0x0000 },\n  { 0x8700, 0x31f0, 0x2000 },\n  { 0x0700, 0x31b7, 0x0000 },\n  { 0x0700, 0x31f1, 0x0000 },\n  { 0x8700, 0x31fa, 0x4000 },\n  { 0x8700, 0x31f6, 0x3000 },\n  { 0x8700, 0x31f4, 0x2000 },\n  { 0x0700, 0x31f3, 0x0000 },\n  { 0x0700, 0x31f5, 0x0000 },\n  { 0x8700, 0x31f8, 0x2000 },\n  { 0x0700, 0x31f7, 0x0000 },\n  { 0x0700, 0x31f9, 0x0000 },\n  { 0x8700, 0x31fe, 0x3000 },\n  { 0x8700, 0x31fc, 0x2000 },\n  { 0x0700, 0x31fb, 0x0000 },\n  { 0x0700, 0x31fd, 0x0000 },\n  { 0x9a00, 0x3200, 0x2000 },\n  { 0x0700, 0x31ff, 0x0000 },\n  { 0x1a00, 0x3201, 0x0000 },\n  { 0x9a00, 0x3243, 0x7000 },\n  { 0x8f00, 0x3223, 0x6000 },\n  { 0x9a00, 0x3212, 0x5000 },\n  { 0x9a00, 0x320a, 0x4000 },\n  { 0x9a00, 0x3206, 0x3000 },\n  { 0x9a00, 0x3204, 0x2000 },\n  { 0x1a00, 0x3203, 0x0000 },\n  { 0x1a00, 0x3205, 0x0000 },\n  { 0x9a00, 0x3208, 0x2000 },\n  { 0x1a00, 0x3207, 0x0000 },\n  { 0x1a00, 0x3209, 0x0000 },\n  { 0x9a00, 0x320e, 0x3000 },\n  { 0x9a00, 0x320c, 0x2000 },\n  { 0x1a00, 0x320b, 0x0000 },\n  { 0x1a00, 0x320d, 0x0000 },\n  { 0x9a00, 0x3210, 0x2000 },\n  { 0x1a00, 0x320f, 0x0000 },\n  { 0x1a00, 0x3211, 0x0000 },\n  { 0x9a00, 0x321a, 0x4000 },\n  { 0x9a00, 0x3216, 0x3000 },\n  { 0x9a00, 0x3214, 0x2000 },\n  { 0x1a00, 0x3213, 0x0000 },\n  { 0x1a00, 0x3215, 0x0000 },\n  { 0x9a00, 0x3218, 0x2000 },\n  { 0x1a00, 0x3217, 0x0000 },\n  { 0x1a00, 0x3219, 0x0000 },\n  { 0x9a00, 0x321e, 0x3000 },\n  { 0x9a00, 0x321c, 0x2000 },\n  { 0x1a00, 0x321b, 0x0000 },\n  { 0x1a00, 0x321d, 0x0000 },\n  { 0x8f00, 0x3221, 0x2000 },\n  { 0x0f00, 0x3220, 0x0000 },\n  { 0x0f00, 0x3222, 0x0000 },\n  { 0x9a00, 0x3233, 0x5000 },\n  { 0x9a00, 0x322b, 0x4000 },\n  { 0x8f00, 0x3227, 0x3000 },\n  { 0x8f00, 0x3225, 0x2000 },\n  { 0x0f00, 0x3224, 0x0000 },\n  { 0x0f00, 0x3226, 0x0000 },\n  { 0x8f00, 0x3229, 0x2000 },\n  { 0x0f00, 0x3228, 0x0000 },\n  { 0x1a00, 0x322a, 0x0000 },\n  { 0x9a00, 0x322f, 0x3000 },\n  { 0x9a00, 0x322d, 0x2000 },\n  { 0x1a00, 0x322c, 0x0000 },\n  { 0x1a00, 0x322e, 0x0000 },\n  { 0x9a00, 0x3231, 0x2000 },\n  { 0x1a00, 0x3230, 0x0000 },\n  { 0x1a00, 0x3232, 0x0000 },\n  { 0x9a00, 0x323b, 0x4000 },\n  { 0x9a00, 0x3237, 0x3000 },\n  { 0x9a00, 0x3235, 0x2000 },\n  { 0x1a00, 0x3234, 0x0000 },\n  { 0x1a00, 0x3236, 0x0000 },\n  { 0x9a00, 0x3239, 0x2000 },\n  { 0x1a00, 0x3238, 0x0000 },\n  { 0x1a00, 0x323a, 0x0000 },\n  { 0x9a00, 0x323f, 0x3000 },\n  { 0x9a00, 0x323d, 0x2000 },\n  { 0x1a00, 0x323c, 0x0000 },\n  { 0x1a00, 0x323e, 0x0000 },\n  { 0x9a00, 0x3241, 0x2000 },\n  { 0x1a00, 0x3240, 0x0000 },\n  { 0x1a00, 0x3242, 0x0000 },\n  { 0x9a00, 0x326f, 0x6000 },\n  { 0x8f00, 0x325f, 0x5000 },\n  { 0x8f00, 0x3257, 0x4000 },\n  { 0x8f00, 0x3253, 0x3000 },\n  { 0x8f00, 0x3251, 0x2000 },\n  { 0x1a00, 0x3250, 0x0000 },\n  { 0x0f00, 0x3252, 0x0000 },\n  { 0x8f00, 0x3255, 0x2000 },\n  { 0x0f00, 0x3254, 0x0000 },\n  { 0x0f00, 0x3256, 0x0000 },\n  { 0x8f00, 0x325b, 0x3000 },\n  { 0x8f00, 0x3259, 0x2000 },\n  { 0x0f00, 0x3258, 0x0000 },\n  { 0x0f00, 0x325a, 0x0000 },\n  { 0x8f00, 0x325d, 0x2000 },\n  { 0x0f00, 0x325c, 0x0000 },\n  { 0x0f00, 0x325e, 0x0000 },\n  { 0x9a00, 0x3267, 0x4000 },\n  { 0x9a00, 0x3263, 0x3000 },\n  { 0x9a00, 0x3261, 0x2000 },\n  { 0x1a00, 0x3260, 0x0000 },\n  { 0x1a00, 0x3262, 0x0000 },\n  { 0x9a00, 0x3265, 0x2000 },\n  { 0x1a00, 0x3264, 0x0000 },\n  { 0x1a00, 0x3266, 0x0000 },\n  { 0x9a00, 0x326b, 0x3000 },\n  { 0x9a00, 0x3269, 0x2000 },\n  { 0x1a00, 0x3268, 0x0000 },\n  { 0x1a00, 0x326a, 0x0000 },\n  { 0x9a00, 0x326d, 0x2000 },\n  { 0x1a00, 0x326c, 0x0000 },\n  { 0x1a00, 0x326e, 0x0000 },\n  { 0x8f00, 0x3280, 0x5000 },\n  { 0x9a00, 0x3277, 0x4000 },\n  { 0x9a00, 0x3273, 0x3000 },\n  { 0x9a00, 0x3271, 0x2000 },\n  { 0x1a00, 0x3270, 0x0000 },\n  { 0x1a00, 0x3272, 0x0000 },\n  { 0x9a00, 0x3275, 0x2000 },\n  { 0x1a00, 0x3274, 0x0000 },\n  { 0x1a00, 0x3276, 0x0000 },\n  { 0x9a00, 0x327b, 0x3000 },\n  { 0x9a00, 0x3279, 0x2000 },\n  { 0x1a00, 0x3278, 0x0000 },\n  { 0x1a00, 0x327a, 0x0000 },\n  { 0x9a00, 0x327d, 0x2000 },\n  { 0x1a00, 0x327c, 0x0000 },\n  { 0x1a00, 0x327f, 0x0000 },\n  { 0x8f00, 0x3288, 0x4000 },\n  { 0x8f00, 0x3284, 0x3000 },\n  { 0x8f00, 0x3282, 0x2000 },\n  { 0x0f00, 0x3281, 0x0000 },\n  { 0x0f00, 0x3283, 0x0000 },\n  { 0x8f00, 0x3286, 0x2000 },\n  { 0x0f00, 0x3285, 0x0000 },\n  { 0x0f00, 0x3287, 0x0000 },\n  { 0x9a00, 0x328c, 0x3000 },\n  { 0x9a00, 0x328a, 0x2000 },\n  { 0x0f00, 0x3289, 0x0000 },\n  { 0x1a00, 0x328b, 0x0000 },\n  { 0x9a00, 0x328e, 0x2000 },\n  { 0x1a00, 0x328d, 0x0000 },\n  { 0x1a00, 0x328f, 0x0000 },\n  { 0x9a00, 0x3311, 0x8000 },\n  { 0x9a00, 0x32d0, 0x7000 },\n  { 0x9a00, 0x32b0, 0x6000 },\n  { 0x9a00, 0x32a0, 0x5000 },\n  { 0x9a00, 0x3298, 0x4000 },\n  { 0x9a00, 0x3294, 0x3000 },\n  { 0x9a00, 0x3292, 0x2000 },\n  { 0x1a00, 0x3291, 0x0000 },\n  { 0x1a00, 0x3293, 0x0000 },\n  { 0x9a00, 0x3296, 0x2000 },\n  { 0x1a00, 0x3295, 0x0000 },\n  { 0x1a00, 0x3297, 0x0000 },\n  { 0x9a00, 0x329c, 0x3000 },\n  { 0x9a00, 0x329a, 0x2000 },\n  { 0x1a00, 0x3299, 0x0000 },\n  { 0x1a00, 0x329b, 0x0000 },\n  { 0x9a00, 0x329e, 0x2000 },\n  { 0x1a00, 0x329d, 0x0000 },\n  { 0x1a00, 0x329f, 0x0000 },\n  { 0x9a00, 0x32a8, 0x4000 },\n  { 0x9a00, 0x32a4, 0x3000 },\n  { 0x9a00, 0x32a2, 0x2000 },\n  { 0x1a00, 0x32a1, 0x0000 },\n  { 0x1a00, 0x32a3, 0x0000 },\n  { 0x9a00, 0x32a6, 0x2000 },\n  { 0x1a00, 0x32a5, 0x0000 },\n  { 0x1a00, 0x32a7, 0x0000 },\n  { 0x9a00, 0x32ac, 0x3000 },\n  { 0x9a00, 0x32aa, 0x2000 },\n  { 0x1a00, 0x32a9, 0x0000 },\n  { 0x1a00, 0x32ab, 0x0000 },\n  { 0x9a00, 0x32ae, 0x2000 },\n  { 0x1a00, 0x32ad, 0x0000 },\n  { 0x1a00, 0x32af, 0x0000 },\n  { 0x9a00, 0x32c0, 0x5000 },\n  { 0x8f00, 0x32b8, 0x4000 },\n  { 0x8f00, 0x32b4, 0x3000 },\n  { 0x8f00, 0x32b2, 0x2000 },\n  { 0x0f00, 0x32b1, 0x0000 },\n  { 0x0f00, 0x32b3, 0x0000 },\n  { 0x8f00, 0x32b6, 0x2000 },\n  { 0x0f00, 0x32b5, 0x0000 },\n  { 0x0f00, 0x32b7, 0x0000 },\n  { 0x8f00, 0x32bc, 0x3000 },\n  { 0x8f00, 0x32ba, 0x2000 },\n  { 0x0f00, 0x32b9, 0x0000 },\n  { 0x0f00, 0x32bb, 0x0000 },\n  { 0x8f00, 0x32be, 0x2000 },\n  { 0x0f00, 0x32bd, 0x0000 },\n  { 0x0f00, 0x32bf, 0x0000 },\n  { 0x9a00, 0x32c8, 0x4000 },\n  { 0x9a00, 0x32c4, 0x3000 },\n  { 0x9a00, 0x32c2, 0x2000 },\n  { 0x1a00, 0x32c1, 0x0000 },\n  { 0x1a00, 0x32c3, 0x0000 },\n  { 0x9a00, 0x32c6, 0x2000 },\n  { 0x1a00, 0x32c5, 0x0000 },\n  { 0x1a00, 0x32c7, 0x0000 },\n  { 0x9a00, 0x32cc, 0x3000 },\n  { 0x9a00, 0x32ca, 0x2000 },\n  { 0x1a00, 0x32c9, 0x0000 },\n  { 0x1a00, 0x32cb, 0x0000 },\n  { 0x9a00, 0x32ce, 0x2000 },\n  { 0x1a00, 0x32cd, 0x0000 },\n  { 0x1a00, 0x32cf, 0x0000 },\n  { 0x9a00, 0x32f0, 0x6000 },\n  { 0x9a00, 0x32e0, 0x5000 },\n  { 0x9a00, 0x32d8, 0x4000 },\n  { 0x9a00, 0x32d4, 0x3000 },\n  { 0x9a00, 0x32d2, 0x2000 },\n  { 0x1a00, 0x32d1, 0x0000 },\n  { 0x1a00, 0x32d3, 0x0000 },\n  { 0x9a00, 0x32d6, 0x2000 },\n  { 0x1a00, 0x32d5, 0x0000 },\n  { 0x1a00, 0x32d7, 0x0000 },\n  { 0x9a00, 0x32dc, 0x3000 },\n  { 0x9a00, 0x32da, 0x2000 },\n  { 0x1a00, 0x32d9, 0x0000 },\n  { 0x1a00, 0x32db, 0x0000 },\n  { 0x9a00, 0x32de, 0x2000 },\n  { 0x1a00, 0x32dd, 0x0000 },\n  { 0x1a00, 0x32df, 0x0000 },\n  { 0x9a00, 0x32e8, 0x4000 },\n  { 0x9a00, 0x32e4, 0x3000 },\n  { 0x9a00, 0x32e2, 0x2000 },\n  { 0x1a00, 0x32e1, 0x0000 },\n  { 0x1a00, 0x32e3, 0x0000 },\n  { 0x9a00, 0x32e6, 0x2000 },\n  { 0x1a00, 0x32e5, 0x0000 },\n  { 0x1a00, 0x32e7, 0x0000 },\n  { 0x9a00, 0x32ec, 0x3000 },\n  { 0x9a00, 0x32ea, 0x2000 },\n  { 0x1a00, 0x32e9, 0x0000 },\n  { 0x1a00, 0x32eb, 0x0000 },\n  { 0x9a00, 0x32ee, 0x2000 },\n  { 0x1a00, 0x32ed, 0x0000 },\n  { 0x1a00, 0x32ef, 0x0000 },\n  { 0x9a00, 0x3301, 0x5000 },\n  { 0x9a00, 0x32f8, 0x4000 },\n  { 0x9a00, 0x32f4, 0x3000 },\n  { 0x9a00, 0x32f2, 0x2000 },\n  { 0x1a00, 0x32f1, 0x0000 },\n  { 0x1a00, 0x32f3, 0x0000 },\n  { 0x9a00, 0x32f6, 0x2000 },\n  { 0x1a00, 0x32f5, 0x0000 },\n  { 0x1a00, 0x32f7, 0x0000 },\n  { 0x9a00, 0x32fc, 0x3000 },\n  { 0x9a00, 0x32fa, 0x2000 },\n  { 0x1a00, 0x32f9, 0x0000 },\n  { 0x1a00, 0x32fb, 0x0000 },\n  { 0x9a00, 0x32fe, 0x2000 },\n  { 0x1a00, 0x32fd, 0x0000 },\n  { 0x1a00, 0x3300, 0x0000 },\n  { 0x9a00, 0x3309, 0x4000 },\n  { 0x9a00, 0x3305, 0x3000 },\n  { 0x9a00, 0x3303, 0x2000 },\n  { 0x1a00, 0x3302, 0x0000 },\n  { 0x1a00, 0x3304, 0x0000 },\n  { 0x9a00, 0x3307, 0x2000 },\n  { 0x1a00, 0x3306, 0x0000 },\n  { 0x1a00, 0x3308, 0x0000 },\n  { 0x9a00, 0x330d, 0x3000 },\n  { 0x9a00, 0x330b, 0x2000 },\n  { 0x1a00, 0x330a, 0x0000 },\n  { 0x1a00, 0x330c, 0x0000 },\n  { 0x9a00, 0x330f, 0x2000 },\n  { 0x1a00, 0x330e, 0x0000 },\n  { 0x1a00, 0x3310, 0x0000 },\n  { 0x9a00, 0x3351, 0x7000 },\n  { 0x9a00, 0x3331, 0x6000 },\n  { 0x9a00, 0x3321, 0x5000 },\n  { 0x9a00, 0x3319, 0x4000 },\n  { 0x9a00, 0x3315, 0x3000 },\n  { 0x9a00, 0x3313, 0x2000 },\n  { 0x1a00, 0x3312, 0x0000 },\n  { 0x1a00, 0x3314, 0x0000 },\n  { 0x9a00, 0x3317, 0x2000 },\n  { 0x1a00, 0x3316, 0x0000 },\n  { 0x1a00, 0x3318, 0x0000 },\n  { 0x9a00, 0x331d, 0x3000 },\n  { 0x9a00, 0x331b, 0x2000 },\n  { 0x1a00, 0x331a, 0x0000 },\n  { 0x1a00, 0x331c, 0x0000 },\n  { 0x9a00, 0x331f, 0x2000 },\n  { 0x1a00, 0x331e, 0x0000 },\n  { 0x1a00, 0x3320, 0x0000 },\n  { 0x9a00, 0x3329, 0x4000 },\n  { 0x9a00, 0x3325, 0x3000 },\n  { 0x9a00, 0x3323, 0x2000 },\n  { 0x1a00, 0x3322, 0x0000 },\n  { 0x1a00, 0x3324, 0x0000 },\n  { 0x9a00, 0x3327, 0x2000 },\n  { 0x1a00, 0x3326, 0x0000 },\n  { 0x1a00, 0x3328, 0x0000 },\n  { 0x9a00, 0x332d, 0x3000 },\n  { 0x9a00, 0x332b, 0x2000 },\n  { 0x1a00, 0x332a, 0x0000 },\n  { 0x1a00, 0x332c, 0x0000 },\n  { 0x9a00, 0x332f, 0x2000 },\n  { 0x1a00, 0x332e, 0x0000 },\n  { 0x1a00, 0x3330, 0x0000 },\n  { 0x9a00, 0x3341, 0x5000 },\n  { 0x9a00, 0x3339, 0x4000 },\n  { 0x9a00, 0x3335, 0x3000 },\n  { 0x9a00, 0x3333, 0x2000 },\n  { 0x1a00, 0x3332, 0x0000 },\n  { 0x1a00, 0x3334, 0x0000 },\n  { 0x9a00, 0x3337, 0x2000 },\n  { 0x1a00, 0x3336, 0x0000 },\n  { 0x1a00, 0x3338, 0x0000 },\n  { 0x9a00, 0x333d, 0x3000 },\n  { 0x9a00, 0x333b, 0x2000 },\n  { 0x1a00, 0x333a, 0x0000 },\n  { 0x1a00, 0x333c, 0x0000 },\n  { 0x9a00, 0x333f, 0x2000 },\n  { 0x1a00, 0x333e, 0x0000 },\n  { 0x1a00, 0x3340, 0x0000 },\n  { 0x9a00, 0x3349, 0x4000 },\n  { 0x9a00, 0x3345, 0x3000 },\n  { 0x9a00, 0x3343, 0x2000 },\n  { 0x1a00, 0x3342, 0x0000 },\n  { 0x1a00, 0x3344, 0x0000 },\n  { 0x9a00, 0x3347, 0x2000 },\n  { 0x1a00, 0x3346, 0x0000 },\n  { 0x1a00, 0x3348, 0x0000 },\n  { 0x9a00, 0x334d, 0x3000 },\n  { 0x9a00, 0x334b, 0x2000 },\n  { 0x1a00, 0x334a, 0x0000 },\n  { 0x1a00, 0x334c, 0x0000 },\n  { 0x9a00, 0x334f, 0x2000 },\n  { 0x1a00, 0x334e, 0x0000 },\n  { 0x1a00, 0x3350, 0x0000 },\n  { 0x9a00, 0x3371, 0x6000 },\n  { 0x9a00, 0x3361, 0x5000 },\n  { 0x9a00, 0x3359, 0x4000 },\n  { 0x9a00, 0x3355, 0x3000 },\n  { 0x9a00, 0x3353, 0x2000 },\n  { 0x1a00, 0x3352, 0x0000 },\n  { 0x1a00, 0x3354, 0x0000 },\n  { 0x9a00, 0x3357, 0x2000 },\n  { 0x1a00, 0x3356, 0x0000 },\n  { 0x1a00, 0x3358, 0x0000 },\n  { 0x9a00, 0x335d, 0x3000 },\n  { 0x9a00, 0x335b, 0x2000 },\n  { 0x1a00, 0x335a, 0x0000 },\n  { 0x1a00, 0x335c, 0x0000 },\n  { 0x9a00, 0x335f, 0x2000 },\n  { 0x1a00, 0x335e, 0x0000 },\n  { 0x1a00, 0x3360, 0x0000 },\n  { 0x9a00, 0x3369, 0x4000 },\n  { 0x9a00, 0x3365, 0x3000 },\n  { 0x9a00, 0x3363, 0x2000 },\n  { 0x1a00, 0x3362, 0x0000 },\n  { 0x1a00, 0x3364, 0x0000 },\n  { 0x9a00, 0x3367, 0x2000 },\n  { 0x1a00, 0x3366, 0x0000 },\n  { 0x1a00, 0x3368, 0x0000 },\n  { 0x9a00, 0x336d, 0x3000 },\n  { 0x9a00, 0x336b, 0x2000 },\n  { 0x1a00, 0x336a, 0x0000 },\n  { 0x1a00, 0x336c, 0x0000 },\n  { 0x9a00, 0x336f, 0x2000 },\n  { 0x1a00, 0x336e, 0x0000 },\n  { 0x1a00, 0x3370, 0x0000 },\n  { 0x9a00, 0x3381, 0x5000 },\n  { 0x9a00, 0x3379, 0x4000 },\n  { 0x9a00, 0x3375, 0x3000 },\n  { 0x9a00, 0x3373, 0x2000 },\n  { 0x1a00, 0x3372, 0x0000 },\n  { 0x1a00, 0x3374, 0x0000 },\n  { 0x9a00, 0x3377, 0x2000 },\n  { 0x1a00, 0x3376, 0x0000 },\n  { 0x1a00, 0x3378, 0x0000 },\n  { 0x9a00, 0x337d, 0x3000 },\n  { 0x9a00, 0x337b, 0x2000 },\n  { 0x1a00, 0x337a, 0x0000 },\n  { 0x1a00, 0x337c, 0x0000 },\n  { 0x9a00, 0x337f, 0x2000 },\n  { 0x1a00, 0x337e, 0x0000 },\n  { 0x1a00, 0x3380, 0x0000 },\n  { 0x9a00, 0x3389, 0x4000 },\n  { 0x9a00, 0x3385, 0x3000 },\n  { 0x9a00, 0x3383, 0x2000 },\n  { 0x1a00, 0x3382, 0x0000 },\n  { 0x1a00, 0x3384, 0x0000 },\n  { 0x9a00, 0x3387, 0x2000 },\n  { 0x1a00, 0x3386, 0x0000 },\n  { 0x1a00, 0x3388, 0x0000 },\n  { 0x9a00, 0x338d, 0x3000 },\n  { 0x9a00, 0x338b, 0x2000 },\n  { 0x1a00, 0x338a, 0x0000 },\n  { 0x1a00, 0x338c, 0x0000 },\n  { 0x9a00, 0x338f, 0x2000 },\n  { 0x1a00, 0x338e, 0x0000 },\n  { 0x1a00, 0x3390, 0x0000 },\n  { 0x8700, 0xa14d, 0xa000 },\n  { 0x8700, 0xa04d, 0x9000 },\n  { 0x9a00, 0x4dcf, 0x8000 },\n  { 0x9a00, 0x33d1, 0x7000 },\n  { 0x9a00, 0x33b1, 0x6000 },\n  { 0x9a00, 0x33a1, 0x5000 },\n  { 0x9a00, 0x3399, 0x4000 },\n  { 0x9a00, 0x3395, 0x3000 },\n  { 0x9a00, 0x3393, 0x2000 },\n  { 0x1a00, 0x3392, 0x0000 },\n  { 0x1a00, 0x3394, 0x0000 },\n  { 0x9a00, 0x3397, 0x2000 },\n  { 0x1a00, 0x3396, 0x0000 },\n  { 0x1a00, 0x3398, 0x0000 },\n  { 0x9a00, 0x339d, 0x3000 },\n  { 0x9a00, 0x339b, 0x2000 },\n  { 0x1a00, 0x339a, 0x0000 },\n  { 0x1a00, 0x339c, 0x0000 },\n  { 0x9a00, 0x339f, 0x2000 },\n  { 0x1a00, 0x339e, 0x0000 },\n  { 0x1a00, 0x33a0, 0x0000 },\n  { 0x9a00, 0x33a9, 0x4000 },\n  { 0x9a00, 0x33a5, 0x3000 },\n  { 0x9a00, 0x33a3, 0x2000 },\n  { 0x1a00, 0x33a2, 0x0000 },\n  { 0x1a00, 0x33a4, 0x0000 },\n  { 0x9a00, 0x33a7, 0x2000 },\n  { 0x1a00, 0x33a6, 0x0000 },\n  { 0x1a00, 0x33a8, 0x0000 },\n  { 0x9a00, 0x33ad, 0x3000 },\n  { 0x9a00, 0x33ab, 0x2000 },\n  { 0x1a00, 0x33aa, 0x0000 },\n  { 0x1a00, 0x33ac, 0x0000 },\n  { 0x9a00, 0x33af, 0x2000 },\n  { 0x1a00, 0x33ae, 0x0000 },\n  { 0x1a00, 0x33b0, 0x0000 },\n  { 0x9a00, 0x33c1, 0x5000 },\n  { 0x9a00, 0x33b9, 0x4000 },\n  { 0x9a00, 0x33b5, 0x3000 },\n  { 0x9a00, 0x33b3, 0x2000 },\n  { 0x1a00, 0x33b2, 0x0000 },\n  { 0x1a00, 0x33b4, 0x0000 },\n  { 0x9a00, 0x33b7, 0x2000 },\n  { 0x1a00, 0x33b6, 0x0000 },\n  { 0x1a00, 0x33b8, 0x0000 },\n  { 0x9a00, 0x33bd, 0x3000 },\n  { 0x9a00, 0x33bb, 0x2000 },\n  { 0x1a00, 0x33ba, 0x0000 },\n  { 0x1a00, 0x33bc, 0x0000 },\n  { 0x9a00, 0x33bf, 0x2000 },\n  { 0x1a00, 0x33be, 0x0000 },\n  { 0x1a00, 0x33c0, 0x0000 },\n  { 0x9a00, 0x33c9, 0x4000 },\n  { 0x9a00, 0x33c5, 0x3000 },\n  { 0x9a00, 0x33c3, 0x2000 },\n  { 0x1a00, 0x33c2, 0x0000 },\n  { 0x1a00, 0x33c4, 0x0000 },\n  { 0x9a00, 0x33c7, 0x2000 },\n  { 0x1a00, 0x33c6, 0x0000 },\n  { 0x1a00, 0x33c8, 0x0000 },\n  { 0x9a00, 0x33cd, 0x3000 },\n  { 0x9a00, 0x33cb, 0x2000 },\n  { 0x1a00, 0x33ca, 0x0000 },\n  { 0x1a00, 0x33cc, 0x0000 },\n  { 0x9a00, 0x33cf, 0x2000 },\n  { 0x1a00, 0x33ce, 0x0000 },\n  { 0x1a00, 0x33d0, 0x0000 },\n  { 0x9a00, 0x33f1, 0x6000 },\n  { 0x9a00, 0x33e1, 0x5000 },\n  { 0x9a00, 0x33d9, 0x4000 },\n  { 0x9a00, 0x33d5, 0x3000 },\n  { 0x9a00, 0x33d3, 0x2000 },\n  { 0x1a00, 0x33d2, 0x0000 },\n  { 0x1a00, 0x33d4, 0x0000 },\n  { 0x9a00, 0x33d7, 0x2000 },\n  { 0x1a00, 0x33d6, 0x0000 },\n  { 0x1a00, 0x33d8, 0x0000 },\n  { 0x9a00, 0x33dd, 0x3000 },\n  { 0x9a00, 0x33db, 0x2000 },\n  { 0x1a00, 0x33da, 0x0000 },\n  { 0x1a00, 0x33dc, 0x0000 },\n  { 0x9a00, 0x33df, 0x2000 },\n  { 0x1a00, 0x33de, 0x0000 },\n  { 0x1a00, 0x33e0, 0x0000 },\n  { 0x9a00, 0x33e9, 0x4000 },\n  { 0x9a00, 0x33e5, 0x3000 },\n  { 0x9a00, 0x33e3, 0x2000 },\n  { 0x1a00, 0x33e2, 0x0000 },\n  { 0x1a00, 0x33e4, 0x0000 },\n  { 0x9a00, 0x33e7, 0x2000 },\n  { 0x1a00, 0x33e6, 0x0000 },\n  { 0x1a00, 0x33e8, 0x0000 },\n  { 0x9a00, 0x33ed, 0x3000 },\n  { 0x9a00, 0x33eb, 0x2000 },\n  { 0x1a00, 0x33ea, 0x0000 },\n  { 0x1a00, 0x33ec, 0x0000 },\n  { 0x9a00, 0x33ef, 0x2000 },\n  { 0x1a00, 0x33ee, 0x0000 },\n  { 0x1a00, 0x33f0, 0x0000 },\n  { 0x8700, 0x4db5, 0x5000 },\n  { 0x9a00, 0x33f9, 0x4000 },\n  { 0x9a00, 0x33f5, 0x3000 },\n  { 0x9a00, 0x33f3, 0x2000 },\n  { 0x1a00, 0x33f2, 0x0000 },\n  { 0x1a00, 0x33f4, 0x0000 },\n  { 0x9a00, 0x33f7, 0x2000 },\n  { 0x1a00, 0x33f6, 0x0000 },\n  { 0x1a00, 0x33f8, 0x0000 },\n  { 0x9a00, 0x33fd, 0x3000 },\n  { 0x9a00, 0x33fb, 0x2000 },\n  { 0x1a00, 0x33fa, 0x0000 },\n  { 0x1a00, 0x33fc, 0x0000 },\n  { 0x9a00, 0x33ff, 0x2000 },\n  { 0x1a00, 0x33fe, 0x0000 },\n  { 0x0700, 0x3400, 0x0000 },\n  { 0x9a00, 0x4dc7, 0x4000 },\n  { 0x9a00, 0x4dc3, 0x3000 },\n  { 0x9a00, 0x4dc1, 0x2000 },\n  { 0x1a00, 0x4dc0, 0x0000 },\n  { 0x1a00, 0x4dc2, 0x0000 },\n  { 0x9a00, 0x4dc5, 0x2000 },\n  { 0x1a00, 0x4dc4, 0x0000 },\n  { 0x1a00, 0x4dc6, 0x0000 },\n  { 0x9a00, 0x4dcb, 0x3000 },\n  { 0x9a00, 0x4dc9, 0x2000 },\n  { 0x1a00, 0x4dc8, 0x0000 },\n  { 0x1a00, 0x4dca, 0x0000 },\n  { 0x9a00, 0x4dcd, 0x2000 },\n  { 0x1a00, 0x4dcc, 0x0000 },\n  { 0x1a00, 0x4dce, 0x0000 },\n  { 0x8700, 0xa00d, 0x7000 },\n  { 0x9a00, 0x4def, 0x6000 },\n  { 0x9a00, 0x4ddf, 0x5000 },\n  { 0x9a00, 0x4dd7, 0x4000 },\n  { 0x9a00, 0x4dd3, 0x3000 },\n  { 0x9a00, 0x4dd1, 0x2000 },\n  { 0x1a00, 0x4dd0, 0x0000 },\n  { 0x1a00, 0x4dd2, 0x0000 },\n  { 0x9a00, 0x4dd5, 0x2000 },\n  { 0x1a00, 0x4dd4, 0x0000 },\n  { 0x1a00, 0x4dd6, 0x0000 },\n  { 0x9a00, 0x4ddb, 0x3000 },\n  { 0x9a00, 0x4dd9, 0x2000 },\n  { 0x1a00, 0x4dd8, 0x0000 },\n  { 0x1a00, 0x4dda, 0x0000 },\n  { 0x9a00, 0x4ddd, 0x2000 },\n  { 0x1a00, 0x4ddc, 0x0000 },\n  { 0x1a00, 0x4dde, 0x0000 },\n  { 0x9a00, 0x4de7, 0x4000 },\n  { 0x9a00, 0x4de3, 0x3000 },\n  { 0x9a00, 0x4de1, 0x2000 },\n  { 0x1a00, 0x4de0, 0x0000 },\n  { 0x1a00, 0x4de2, 0x0000 },\n  { 0x9a00, 0x4de5, 0x2000 },\n  { 0x1a00, 0x4de4, 0x0000 },\n  { 0x1a00, 0x4de6, 0x0000 },\n  { 0x9a00, 0x4deb, 0x3000 },\n  { 0x9a00, 0x4de9, 0x2000 },\n  { 0x1a00, 0x4de8, 0x0000 },\n  { 0x1a00, 0x4dea, 0x0000 },\n  { 0x9a00, 0x4ded, 0x2000 },\n  { 0x1a00, 0x4dec, 0x0000 },\n  { 0x1a00, 0x4dee, 0x0000 },\n  { 0x9a00, 0x4dff, 0x5000 },\n  { 0x9a00, 0x4df7, 0x4000 },\n  { 0x9a00, 0x4df3, 0x3000 },\n  { 0x9a00, 0x4df1, 0x2000 },\n  { 0x1a00, 0x4df0, 0x0000 },\n  { 0x1a00, 0x4df2, 0x0000 },\n  { 0x9a00, 0x4df5, 0x2000 },\n  { 0x1a00, 0x4df4, 0x0000 },\n  { 0x1a00, 0x4df6, 0x0000 },\n  { 0x9a00, 0x4dfb, 0x3000 },\n  { 0x9a00, 0x4df9, 0x2000 },\n  { 0x1a00, 0x4df8, 0x0000 },\n  { 0x1a00, 0x4dfa, 0x0000 },\n  { 0x9a00, 0x4dfd, 0x2000 },\n  { 0x1a00, 0x4dfc, 0x0000 },\n  { 0x1a00, 0x4dfe, 0x0000 },\n  { 0x8700, 0xa005, 0x4000 },\n  { 0x8700, 0xa001, 0x3000 },\n  { 0x8700, 0x9fa5, 0x2000 },\n  { 0x0700, 0x4e00, 0x0000 },\n  { 0x0700, 0xa000, 0x0000 },\n  { 0x8700, 0xa003, 0x2000 },\n  { 0x0700, 0xa002, 0x0000 },\n  { 0x0700, 0xa004, 0x0000 },\n  { 0x8700, 0xa009, 0x3000 },\n  { 0x8700, 0xa007, 0x2000 },\n  { 0x0700, 0xa006, 0x0000 },\n  { 0x0700, 0xa008, 0x0000 },\n  { 0x8700, 0xa00b, 0x2000 },\n  { 0x0700, 0xa00a, 0x0000 },\n  { 0x0700, 0xa00c, 0x0000 },\n  { 0x8700, 0xa02d, 0x6000 },\n  { 0x8700, 0xa01d, 0x5000 },\n  { 0x8700, 0xa015, 0x4000 },\n  { 0x8700, 0xa011, 0x3000 },\n  { 0x8700, 0xa00f, 0x2000 },\n  { 0x0700, 0xa00e, 0x0000 },\n  { 0x0700, 0xa010, 0x0000 },\n  { 0x8700, 0xa013, 0x2000 },\n  { 0x0700, 0xa012, 0x0000 },\n  { 0x0700, 0xa014, 0x0000 },\n  { 0x8700, 0xa019, 0x3000 },\n  { 0x8700, 0xa017, 0x2000 },\n  { 0x0700, 0xa016, 0x0000 },\n  { 0x0700, 0xa018, 0x0000 },\n  { 0x8700, 0xa01b, 0x2000 },\n  { 0x0700, 0xa01a, 0x0000 },\n  { 0x0700, 0xa01c, 0x0000 },\n  { 0x8700, 0xa025, 0x4000 },\n  { 0x8700, 0xa021, 0x3000 },\n  { 0x8700, 0xa01f, 0x2000 },\n  { 0x0700, 0xa01e, 0x0000 },\n  { 0x0700, 0xa020, 0x0000 },\n  { 0x8700, 0xa023, 0x2000 },\n  { 0x0700, 0xa022, 0x0000 },\n  { 0x0700, 0xa024, 0x0000 },\n  { 0x8700, 0xa029, 0x3000 },\n  { 0x8700, 0xa027, 0x2000 },\n  { 0x0700, 0xa026, 0x0000 },\n  { 0x0700, 0xa028, 0x0000 },\n  { 0x8700, 0xa02b, 0x2000 },\n  { 0x0700, 0xa02a, 0x0000 },\n  { 0x0700, 0xa02c, 0x0000 },\n  { 0x8700, 0xa03d, 0x5000 },\n  { 0x8700, 0xa035, 0x4000 },\n  { 0x8700, 0xa031, 0x3000 },\n  { 0x8700, 0xa02f, 0x2000 },\n  { 0x0700, 0xa02e, 0x0000 },\n  { 0x0700, 0xa030, 0x0000 },\n  { 0x8700, 0xa033, 0x2000 },\n  { 0x0700, 0xa032, 0x0000 },\n  { 0x0700, 0xa034, 0x0000 },\n  { 0x8700, 0xa039, 0x3000 },\n  { 0x8700, 0xa037, 0x2000 },\n  { 0x0700, 0xa036, 0x0000 },\n  { 0x0700, 0xa038, 0x0000 },\n  { 0x8700, 0xa03b, 0x2000 },\n  { 0x0700, 0xa03a, 0x0000 },\n  { 0x0700, 0xa03c, 0x0000 },\n  { 0x8700, 0xa045, 0x4000 },\n  { 0x8700, 0xa041, 0x3000 },\n  { 0x8700, 0xa03f, 0x2000 },\n  { 0x0700, 0xa03e, 0x0000 },\n  { 0x0700, 0xa040, 0x0000 },\n  { 0x8700, 0xa043, 0x2000 },\n  { 0x0700, 0xa042, 0x0000 },\n  { 0x0700, 0xa044, 0x0000 },\n  { 0x8700, 0xa049, 0x3000 },\n  { 0x8700, 0xa047, 0x2000 },\n  { 0x0700, 0xa046, 0x0000 },\n  { 0x0700, 0xa048, 0x0000 },\n  { 0x8700, 0xa04b, 0x2000 },\n  { 0x0700, 0xa04a, 0x0000 },\n  { 0x0700, 0xa04c, 0x0000 },\n  { 0x8700, 0xa0cd, 0x8000 },\n  { 0x8700, 0xa08d, 0x7000 },\n  { 0x8700, 0xa06d, 0x6000 },\n  { 0x8700, 0xa05d, 0x5000 },\n  { 0x8700, 0xa055, 0x4000 },\n  { 0x8700, 0xa051, 0x3000 },\n  { 0x8700, 0xa04f, 0x2000 },\n  { 0x0700, 0xa04e, 0x0000 },\n  { 0x0700, 0xa050, 0x0000 },\n  { 0x8700, 0xa053, 0x2000 },\n  { 0x0700, 0xa052, 0x0000 },\n  { 0x0700, 0xa054, 0x0000 },\n  { 0x8700, 0xa059, 0x3000 },\n  { 0x8700, 0xa057, 0x2000 },\n  { 0x0700, 0xa056, 0x0000 },\n  { 0x0700, 0xa058, 0x0000 },\n  { 0x8700, 0xa05b, 0x2000 },\n  { 0x0700, 0xa05a, 0x0000 },\n  { 0x0700, 0xa05c, 0x0000 },\n  { 0x8700, 0xa065, 0x4000 },\n  { 0x8700, 0xa061, 0x3000 },\n  { 0x8700, 0xa05f, 0x2000 },\n  { 0x0700, 0xa05e, 0x0000 },\n  { 0x0700, 0xa060, 0x0000 },\n  { 0x8700, 0xa063, 0x2000 },\n  { 0x0700, 0xa062, 0x0000 },\n  { 0x0700, 0xa064, 0x0000 },\n  { 0x8700, 0xa069, 0x3000 },\n  { 0x8700, 0xa067, 0x2000 },\n  { 0x0700, 0xa066, 0x0000 },\n  { 0x0700, 0xa068, 0x0000 },\n  { 0x8700, 0xa06b, 0x2000 },\n  { 0x0700, 0xa06a, 0x0000 },\n  { 0x0700, 0xa06c, 0x0000 },\n  { 0x8700, 0xa07d, 0x5000 },\n  { 0x8700, 0xa075, 0x4000 },\n  { 0x8700, 0xa071, 0x3000 },\n  { 0x8700, 0xa06f, 0x2000 },\n  { 0x0700, 0xa06e, 0x0000 },\n  { 0x0700, 0xa070, 0x0000 },\n  { 0x8700, 0xa073, 0x2000 },\n  { 0x0700, 0xa072, 0x0000 },\n  { 0x0700, 0xa074, 0x0000 },\n  { 0x8700, 0xa079, 0x3000 },\n  { 0x8700, 0xa077, 0x2000 },\n  { 0x0700, 0xa076, 0x0000 },\n  { 0x0700, 0xa078, 0x0000 },\n  { 0x8700, 0xa07b, 0x2000 },\n  { 0x0700, 0xa07a, 0x0000 },\n  { 0x0700, 0xa07c, 0x0000 },\n  { 0x8700, 0xa085, 0x4000 },\n  { 0x8700, 0xa081, 0x3000 },\n  { 0x8700, 0xa07f, 0x2000 },\n  { 0x0700, 0xa07e, 0x0000 },\n  { 0x0700, 0xa080, 0x0000 },\n  { 0x8700, 0xa083, 0x2000 },\n  { 0x0700, 0xa082, 0x0000 },\n  { 0x0700, 0xa084, 0x0000 },\n  { 0x8700, 0xa089, 0x3000 },\n  { 0x8700, 0xa087, 0x2000 },\n  { 0x0700, 0xa086, 0x0000 },\n  { 0x0700, 0xa088, 0x0000 },\n  { 0x8700, 0xa08b, 0x2000 },\n  { 0x0700, 0xa08a, 0x0000 },\n  { 0x0700, 0xa08c, 0x0000 },\n  { 0x8700, 0xa0ad, 0x6000 },\n  { 0x8700, 0xa09d, 0x5000 },\n  { 0x8700, 0xa095, 0x4000 },\n  { 0x8700, 0xa091, 0x3000 },\n  { 0x8700, 0xa08f, 0x2000 },\n  { 0x0700, 0xa08e, 0x0000 },\n  { 0x0700, 0xa090, 0x0000 },\n  { 0x8700, 0xa093, 0x2000 },\n  { 0x0700, 0xa092, 0x0000 },\n  { 0x0700, 0xa094, 0x0000 },\n  { 0x8700, 0xa099, 0x3000 },\n  { 0x8700, 0xa097, 0x2000 },\n  { 0x0700, 0xa096, 0x0000 },\n  { 0x0700, 0xa098, 0x0000 },\n  { 0x8700, 0xa09b, 0x2000 },\n  { 0x0700, 0xa09a, 0x0000 },\n  { 0x0700, 0xa09c, 0x0000 },\n  { 0x8700, 0xa0a5, 0x4000 },\n  { 0x8700, 0xa0a1, 0x3000 },\n  { 0x8700, 0xa09f, 0x2000 },\n  { 0x0700, 0xa09e, 0x0000 },\n  { 0x0700, 0xa0a0, 0x0000 },\n  { 0x8700, 0xa0a3, 0x2000 },\n  { 0x0700, 0xa0a2, 0x0000 },\n  { 0x0700, 0xa0a4, 0x0000 },\n  { 0x8700, 0xa0a9, 0x3000 },\n  { 0x8700, 0xa0a7, 0x2000 },\n  { 0x0700, 0xa0a6, 0x0000 },\n  { 0x0700, 0xa0a8, 0x0000 },\n  { 0x8700, 0xa0ab, 0x2000 },\n  { 0x0700, 0xa0aa, 0x0000 },\n  { 0x0700, 0xa0ac, 0x0000 },\n  { 0x8700, 0xa0bd, 0x5000 },\n  { 0x8700, 0xa0b5, 0x4000 },\n  { 0x8700, 0xa0b1, 0x3000 },\n  { 0x8700, 0xa0af, 0x2000 },\n  { 0x0700, 0xa0ae, 0x0000 },\n  { 0x0700, 0xa0b0, 0x0000 },\n  { 0x8700, 0xa0b3, 0x2000 },\n  { 0x0700, 0xa0b2, 0x0000 },\n  { 0x0700, 0xa0b4, 0x0000 },\n  { 0x8700, 0xa0b9, 0x3000 },\n  { 0x8700, 0xa0b7, 0x2000 },\n  { 0x0700, 0xa0b6, 0x0000 },\n  { 0x0700, 0xa0b8, 0x0000 },\n  { 0x8700, 0xa0bb, 0x2000 },\n  { 0x0700, 0xa0ba, 0x0000 },\n  { 0x0700, 0xa0bc, 0x0000 },\n  { 0x8700, 0xa0c5, 0x4000 },\n  { 0x8700, 0xa0c1, 0x3000 },\n  { 0x8700, 0xa0bf, 0x2000 },\n  { 0x0700, 0xa0be, 0x0000 },\n  { 0x0700, 0xa0c0, 0x0000 },\n  { 0x8700, 0xa0c3, 0x2000 },\n  { 0x0700, 0xa0c2, 0x0000 },\n  { 0x0700, 0xa0c4, 0x0000 },\n  { 0x8700, 0xa0c9, 0x3000 },\n  { 0x8700, 0xa0c7, 0x2000 },\n  { 0x0700, 0xa0c6, 0x0000 },\n  { 0x0700, 0xa0c8, 0x0000 },\n  { 0x8700, 0xa0cb, 0x2000 },\n  { 0x0700, 0xa0ca, 0x0000 },\n  { 0x0700, 0xa0cc, 0x0000 },\n  { 0x8700, 0xa10d, 0x7000 },\n  { 0x8700, 0xa0ed, 0x6000 },\n  { 0x8700, 0xa0dd, 0x5000 },\n  { 0x8700, 0xa0d5, 0x4000 },\n  { 0x8700, 0xa0d1, 0x3000 },\n  { 0x8700, 0xa0cf, 0x2000 },\n  { 0x0700, 0xa0ce, 0x0000 },\n  { 0x0700, 0xa0d0, 0x0000 },\n  { 0x8700, 0xa0d3, 0x2000 },\n  { 0x0700, 0xa0d2, 0x0000 },\n  { 0x0700, 0xa0d4, 0x0000 },\n  { 0x8700, 0xa0d9, 0x3000 },\n  { 0x8700, 0xa0d7, 0x2000 },\n  { 0x0700, 0xa0d6, 0x0000 },\n  { 0x0700, 0xa0d8, 0x0000 },\n  { 0x8700, 0xa0db, 0x2000 },\n  { 0x0700, 0xa0da, 0x0000 },\n  { 0x0700, 0xa0dc, 0x0000 },\n  { 0x8700, 0xa0e5, 0x4000 },\n  { 0x8700, 0xa0e1, 0x3000 },\n  { 0x8700, 0xa0df, 0x2000 },\n  { 0x0700, 0xa0de, 0x0000 },\n  { 0x0700, 0xa0e0, 0x0000 },\n  { 0x8700, 0xa0e3, 0x2000 },\n  { 0x0700, 0xa0e2, 0x0000 },\n  { 0x0700, 0xa0e4, 0x0000 },\n  { 0x8700, 0xa0e9, 0x3000 },\n  { 0x8700, 0xa0e7, 0x2000 },\n  { 0x0700, 0xa0e6, 0x0000 },\n  { 0x0700, 0xa0e8, 0x0000 },\n  { 0x8700, 0xa0eb, 0x2000 },\n  { 0x0700, 0xa0ea, 0x0000 },\n  { 0x0700, 0xa0ec, 0x0000 },\n  { 0x8700, 0xa0fd, 0x5000 },\n  { 0x8700, 0xa0f5, 0x4000 },\n  { 0x8700, 0xa0f1, 0x3000 },\n  { 0x8700, 0xa0ef, 0x2000 },\n  { 0x0700, 0xa0ee, 0x0000 },\n  { 0x0700, 0xa0f0, 0x0000 },\n  { 0x8700, 0xa0f3, 0x2000 },\n  { 0x0700, 0xa0f2, 0x0000 },\n  { 0x0700, 0xa0f4, 0x0000 },\n  { 0x8700, 0xa0f9, 0x3000 },\n  { 0x8700, 0xa0f7, 0x2000 },\n  { 0x0700, 0xa0f6, 0x0000 },\n  { 0x0700, 0xa0f8, 0x0000 },\n  { 0x8700, 0xa0fb, 0x2000 },\n  { 0x0700, 0xa0fa, 0x0000 },\n  { 0x0700, 0xa0fc, 0x0000 },\n  { 0x8700, 0xa105, 0x4000 },\n  { 0x8700, 0xa101, 0x3000 },\n  { 0x8700, 0xa0ff, 0x2000 },\n  { 0x0700, 0xa0fe, 0x0000 },\n  { 0x0700, 0xa100, 0x0000 },\n  { 0x8700, 0xa103, 0x2000 },\n  { 0x0700, 0xa102, 0x0000 },\n  { 0x0700, 0xa104, 0x0000 },\n  { 0x8700, 0xa109, 0x3000 },\n  { 0x8700, 0xa107, 0x2000 },\n  { 0x0700, 0xa106, 0x0000 },\n  { 0x0700, 0xa108, 0x0000 },\n  { 0x8700, 0xa10b, 0x2000 },\n  { 0x0700, 0xa10a, 0x0000 },\n  { 0x0700, 0xa10c, 0x0000 },\n  { 0x8700, 0xa12d, 0x6000 },\n  { 0x8700, 0xa11d, 0x5000 },\n  { 0x8700, 0xa115, 0x4000 },\n  { 0x8700, 0xa111, 0x3000 },\n  { 0x8700, 0xa10f, 0x2000 },\n  { 0x0700, 0xa10e, 0x0000 },\n  { 0x0700, 0xa110, 0x0000 },\n  { 0x8700, 0xa113, 0x2000 },\n  { 0x0700, 0xa112, 0x0000 },\n  { 0x0700, 0xa114, 0x0000 },\n  { 0x8700, 0xa119, 0x3000 },\n  { 0x8700, 0xa117, 0x2000 },\n  { 0x0700, 0xa116, 0x0000 },\n  { 0x0700, 0xa118, 0x0000 },\n  { 0x8700, 0xa11b, 0x2000 },\n  { 0x0700, 0xa11a, 0x0000 },\n  { 0x0700, 0xa11c, 0x0000 },\n  { 0x8700, 0xa125, 0x4000 },\n  { 0x8700, 0xa121, 0x3000 },\n  { 0x8700, 0xa11f, 0x2000 },\n  { 0x0700, 0xa11e, 0x0000 },\n  { 0x0700, 0xa120, 0x0000 },\n  { 0x8700, 0xa123, 0x2000 },\n  { 0x0700, 0xa122, 0x0000 },\n  { 0x0700, 0xa124, 0x0000 },\n  { 0x8700, 0xa129, 0x3000 },\n  { 0x8700, 0xa127, 0x2000 },\n  { 0x0700, 0xa126, 0x0000 },\n  { 0x0700, 0xa128, 0x0000 },\n  { 0x8700, 0xa12b, 0x2000 },\n  { 0x0700, 0xa12a, 0x0000 },\n  { 0x0700, 0xa12c, 0x0000 },\n  { 0x8700, 0xa13d, 0x5000 },\n  { 0x8700, 0xa135, 0x4000 },\n  { 0x8700, 0xa131, 0x3000 },\n  { 0x8700, 0xa12f, 0x2000 },\n  { 0x0700, 0xa12e, 0x0000 },\n  { 0x0700, 0xa130, 0x0000 },\n  { 0x8700, 0xa133, 0x2000 },\n  { 0x0700, 0xa132, 0x0000 },\n  { 0x0700, 0xa134, 0x0000 },\n  { 0x8700, 0xa139, 0x3000 },\n  { 0x8700, 0xa137, 0x2000 },\n  { 0x0700, 0xa136, 0x0000 },\n  { 0x0700, 0xa138, 0x0000 },\n  { 0x8700, 0xa13b, 0x2000 },\n  { 0x0700, 0xa13a, 0x0000 },\n  { 0x0700, 0xa13c, 0x0000 },\n  { 0x8700, 0xa145, 0x4000 },\n  { 0x8700, 0xa141, 0x3000 },\n  { 0x8700, 0xa13f, 0x2000 },\n  { 0x0700, 0xa13e, 0x0000 },\n  { 0x0700, 0xa140, 0x0000 },\n  { 0x8700, 0xa143, 0x2000 },\n  { 0x0700, 0xa142, 0x0000 },\n  { 0x0700, 0xa144, 0x0000 },\n  { 0x8700, 0xa149, 0x3000 },\n  { 0x8700, 0xa147, 0x2000 },\n  { 0x0700, 0xa146, 0x0000 },\n  { 0x0700, 0xa148, 0x0000 },\n  { 0x8700, 0xa14b, 0x2000 },\n  { 0x0700, 0xa14a, 0x0000 },\n  { 0x0700, 0xa14c, 0x0000 },\n  { 0x8700, 0xa24d, 0x9000 },\n  { 0x8700, 0xa1cd, 0x8000 },\n  { 0x8700, 0xa18d, 0x7000 },\n  { 0x8700, 0xa16d, 0x6000 },\n  { 0x8700, 0xa15d, 0x5000 },\n  { 0x8700, 0xa155, 0x4000 },\n  { 0x8700, 0xa151, 0x3000 },\n  { 0x8700, 0xa14f, 0x2000 },\n  { 0x0700, 0xa14e, 0x0000 },\n  { 0x0700, 0xa150, 0x0000 },\n  { 0x8700, 0xa153, 0x2000 },\n  { 0x0700, 0xa152, 0x0000 },\n  { 0x0700, 0xa154, 0x0000 },\n  { 0x8700, 0xa159, 0x3000 },\n  { 0x8700, 0xa157, 0x2000 },\n  { 0x0700, 0xa156, 0x0000 },\n  { 0x0700, 0xa158, 0x0000 },\n  { 0x8700, 0xa15b, 0x2000 },\n  { 0x0700, 0xa15a, 0x0000 },\n  { 0x0700, 0xa15c, 0x0000 },\n  { 0x8700, 0xa165, 0x4000 },\n  { 0x8700, 0xa161, 0x3000 },\n  { 0x8700, 0xa15f, 0x2000 },\n  { 0x0700, 0xa15e, 0x0000 },\n  { 0x0700, 0xa160, 0x0000 },\n  { 0x8700, 0xa163, 0x2000 },\n  { 0x0700, 0xa162, 0x0000 },\n  { 0x0700, 0xa164, 0x0000 },\n  { 0x8700, 0xa169, 0x3000 },\n  { 0x8700, 0xa167, 0x2000 },\n  { 0x0700, 0xa166, 0x0000 },\n  { 0x0700, 0xa168, 0x0000 },\n  { 0x8700, 0xa16b, 0x2000 },\n  { 0x0700, 0xa16a, 0x0000 },\n  { 0x0700, 0xa16c, 0x0000 },\n  { 0x8700, 0xa17d, 0x5000 },\n  { 0x8700, 0xa175, 0x4000 },\n  { 0x8700, 0xa171, 0x3000 },\n  { 0x8700, 0xa16f, 0x2000 },\n  { 0x0700, 0xa16e, 0x0000 },\n  { 0x0700, 0xa170, 0x0000 },\n  { 0x8700, 0xa173, 0x2000 },\n  { 0x0700, 0xa172, 0x0000 },\n  { 0x0700, 0xa174, 0x0000 },\n  { 0x8700, 0xa179, 0x3000 },\n  { 0x8700, 0xa177, 0x2000 },\n  { 0x0700, 0xa176, 0x0000 },\n  { 0x0700, 0xa178, 0x0000 },\n  { 0x8700, 0xa17b, 0x2000 },\n  { 0x0700, 0xa17a, 0x0000 },\n  { 0x0700, 0xa17c, 0x0000 },\n  { 0x8700, 0xa185, 0x4000 },\n  { 0x8700, 0xa181, 0x3000 },\n  { 0x8700, 0xa17f, 0x2000 },\n  { 0x0700, 0xa17e, 0x0000 },\n  { 0x0700, 0xa180, 0x0000 },\n  { 0x8700, 0xa183, 0x2000 },\n  { 0x0700, 0xa182, 0x0000 },\n  { 0x0700, 0xa184, 0x0000 },\n  { 0x8700, 0xa189, 0x3000 },\n  { 0x8700, 0xa187, 0x2000 },\n  { 0x0700, 0xa186, 0x0000 },\n  { 0x0700, 0xa188, 0x0000 },\n  { 0x8700, 0xa18b, 0x2000 },\n  { 0x0700, 0xa18a, 0x0000 },\n  { 0x0700, 0xa18c, 0x0000 },\n  { 0x8700, 0xa1ad, 0x6000 },\n  { 0x8700, 0xa19d, 0x5000 },\n  { 0x8700, 0xa195, 0x4000 },\n  { 0x8700, 0xa191, 0x3000 },\n  { 0x8700, 0xa18f, 0x2000 },\n  { 0x0700, 0xa18e, 0x0000 },\n  { 0x0700, 0xa190, 0x0000 },\n  { 0x8700, 0xa193, 0x2000 },\n  { 0x0700, 0xa192, 0x0000 },\n  { 0x0700, 0xa194, 0x0000 },\n  { 0x8700, 0xa199, 0x3000 },\n  { 0x8700, 0xa197, 0x2000 },\n  { 0x0700, 0xa196, 0x0000 },\n  { 0x0700, 0xa198, 0x0000 },\n  { 0x8700, 0xa19b, 0x2000 },\n  { 0x0700, 0xa19a, 0x0000 },\n  { 0x0700, 0xa19c, 0x0000 },\n  { 0x8700, 0xa1a5, 0x4000 },\n  { 0x8700, 0xa1a1, 0x3000 },\n  { 0x8700, 0xa19f, 0x2000 },\n  { 0x0700, 0xa19e, 0x0000 },\n  { 0x0700, 0xa1a0, 0x0000 },\n  { 0x8700, 0xa1a3, 0x2000 },\n  { 0x0700, 0xa1a2, 0x0000 },\n  { 0x0700, 0xa1a4, 0x0000 },\n  { 0x8700, 0xa1a9, 0x3000 },\n  { 0x8700, 0xa1a7, 0x2000 },\n  { 0x0700, 0xa1a6, 0x0000 },\n  { 0x0700, 0xa1a8, 0x0000 },\n  { 0x8700, 0xa1ab, 0x2000 },\n  { 0x0700, 0xa1aa, 0x0000 },\n  { 0x0700, 0xa1ac, 0x0000 },\n  { 0x8700, 0xa1bd, 0x5000 },\n  { 0x8700, 0xa1b5, 0x4000 },\n  { 0x8700, 0xa1b1, 0x3000 },\n  { 0x8700, 0xa1af, 0x2000 },\n  { 0x0700, 0xa1ae, 0x0000 },\n  { 0x0700, 0xa1b0, 0x0000 },\n  { 0x8700, 0xa1b3, 0x2000 },\n  { 0x0700, 0xa1b2, 0x0000 },\n  { 0x0700, 0xa1b4, 0x0000 },\n  { 0x8700, 0xa1b9, 0x3000 },\n  { 0x8700, 0xa1b7, 0x2000 },\n  { 0x0700, 0xa1b6, 0x0000 },\n  { 0x0700, 0xa1b8, 0x0000 },\n  { 0x8700, 0xa1bb, 0x2000 },\n  { 0x0700, 0xa1ba, 0x0000 },\n  { 0x0700, 0xa1bc, 0x0000 },\n  { 0x8700, 0xa1c5, 0x4000 },\n  { 0x8700, 0xa1c1, 0x3000 },\n  { 0x8700, 0xa1bf, 0x2000 },\n  { 0x0700, 0xa1be, 0x0000 },\n  { 0x0700, 0xa1c0, 0x0000 },\n  { 0x8700, 0xa1c3, 0x2000 },\n  { 0x0700, 0xa1c2, 0x0000 },\n  { 0x0700, 0xa1c4, 0x0000 },\n  { 0x8700, 0xa1c9, 0x3000 },\n  { 0x8700, 0xa1c7, 0x2000 },\n  { 0x0700, 0xa1c6, 0x0000 },\n  { 0x0700, 0xa1c8, 0x0000 },\n  { 0x8700, 0xa1cb, 0x2000 },\n  { 0x0700, 0xa1ca, 0x0000 },\n  { 0x0700, 0xa1cc, 0x0000 },\n  { 0x8700, 0xa20d, 0x7000 },\n  { 0x8700, 0xa1ed, 0x6000 },\n  { 0x8700, 0xa1dd, 0x5000 },\n  { 0x8700, 0xa1d5, 0x4000 },\n  { 0x8700, 0xa1d1, 0x3000 },\n  { 0x8700, 0xa1cf, 0x2000 },\n  { 0x0700, 0xa1ce, 0x0000 },\n  { 0x0700, 0xa1d0, 0x0000 },\n  { 0x8700, 0xa1d3, 0x2000 },\n  { 0x0700, 0xa1d2, 0x0000 },\n  { 0x0700, 0xa1d4, 0x0000 },\n  { 0x8700, 0xa1d9, 0x3000 },\n  { 0x8700, 0xa1d7, 0x2000 },\n  { 0x0700, 0xa1d6, 0x0000 },\n  { 0x0700, 0xa1d8, 0x0000 },\n  { 0x8700, 0xa1db, 0x2000 },\n  { 0x0700, 0xa1da, 0x0000 },\n  { 0x0700, 0xa1dc, 0x0000 },\n  { 0x8700, 0xa1e5, 0x4000 },\n  { 0x8700, 0xa1e1, 0x3000 },\n  { 0x8700, 0xa1df, 0x2000 },\n  { 0x0700, 0xa1de, 0x0000 },\n  { 0x0700, 0xa1e0, 0x0000 },\n  { 0x8700, 0xa1e3, 0x2000 },\n  { 0x0700, 0xa1e2, 0x0000 },\n  { 0x0700, 0xa1e4, 0x0000 },\n  { 0x8700, 0xa1e9, 0x3000 },\n  { 0x8700, 0xa1e7, 0x2000 },\n  { 0x0700, 0xa1e6, 0x0000 },\n  { 0x0700, 0xa1e8, 0x0000 },\n  { 0x8700, 0xa1eb, 0x2000 },\n  { 0x0700, 0xa1ea, 0x0000 },\n  { 0x0700, 0xa1ec, 0x0000 },\n  { 0x8700, 0xa1fd, 0x5000 },\n  { 0x8700, 0xa1f5, 0x4000 },\n  { 0x8700, 0xa1f1, 0x3000 },\n  { 0x8700, 0xa1ef, 0x2000 },\n  { 0x0700, 0xa1ee, 0x0000 },\n  { 0x0700, 0xa1f0, 0x0000 },\n  { 0x8700, 0xa1f3, 0x2000 },\n  { 0x0700, 0xa1f2, 0x0000 },\n  { 0x0700, 0xa1f4, 0x0000 },\n  { 0x8700, 0xa1f9, 0x3000 },\n  { 0x8700, 0xa1f7, 0x2000 },\n  { 0x0700, 0xa1f6, 0x0000 },\n  { 0x0700, 0xa1f8, 0x0000 },\n  { 0x8700, 0xa1fb, 0x2000 },\n  { 0x0700, 0xa1fa, 0x0000 },\n  { 0x0700, 0xa1fc, 0x0000 },\n  { 0x8700, 0xa205, 0x4000 },\n  { 0x8700, 0xa201, 0x3000 },\n  { 0x8700, 0xa1ff, 0x2000 },\n  { 0x0700, 0xa1fe, 0x0000 },\n  { 0x0700, 0xa200, 0x0000 },\n  { 0x8700, 0xa203, 0x2000 },\n  { 0x0700, 0xa202, 0x0000 },\n  { 0x0700, 0xa204, 0x0000 },\n  { 0x8700, 0xa209, 0x3000 },\n  { 0x8700, 0xa207, 0x2000 },\n  { 0x0700, 0xa206, 0x0000 },\n  { 0x0700, 0xa208, 0x0000 },\n  { 0x8700, 0xa20b, 0x2000 },\n  { 0x0700, 0xa20a, 0x0000 },\n  { 0x0700, 0xa20c, 0x0000 },\n  { 0x8700, 0xa22d, 0x6000 },\n  { 0x8700, 0xa21d, 0x5000 },\n  { 0x8700, 0xa215, 0x4000 },\n  { 0x8700, 0xa211, 0x3000 },\n  { 0x8700, 0xa20f, 0x2000 },\n  { 0x0700, 0xa20e, 0x0000 },\n  { 0x0700, 0xa210, 0x0000 },\n  { 0x8700, 0xa213, 0x2000 },\n  { 0x0700, 0xa212, 0x0000 },\n  { 0x0700, 0xa214, 0x0000 },\n  { 0x8700, 0xa219, 0x3000 },\n  { 0x8700, 0xa217, 0x2000 },\n  { 0x0700, 0xa216, 0x0000 },\n  { 0x0700, 0xa218, 0x0000 },\n  { 0x8700, 0xa21b, 0x2000 },\n  { 0x0700, 0xa21a, 0x0000 },\n  { 0x0700, 0xa21c, 0x0000 },\n  { 0x8700, 0xa225, 0x4000 },\n  { 0x8700, 0xa221, 0x3000 },\n  { 0x8700, 0xa21f, 0x2000 },\n  { 0x0700, 0xa21e, 0x0000 },\n  { 0x0700, 0xa220, 0x0000 },\n  { 0x8700, 0xa223, 0x2000 },\n  { 0x0700, 0xa222, 0x0000 },\n  { 0x0700, 0xa224, 0x0000 },\n  { 0x8700, 0xa229, 0x3000 },\n  { 0x8700, 0xa227, 0x2000 },\n  { 0x0700, 0xa226, 0x0000 },\n  { 0x0700, 0xa228, 0x0000 },\n  { 0x8700, 0xa22b, 0x2000 },\n  { 0x0700, 0xa22a, 0x0000 },\n  { 0x0700, 0xa22c, 0x0000 },\n  { 0x8700, 0xa23d, 0x5000 },\n  { 0x8700, 0xa235, 0x4000 },\n  { 0x8700, 0xa231, 0x3000 },\n  { 0x8700, 0xa22f, 0x2000 },\n  { 0x0700, 0xa22e, 0x0000 },\n  { 0x0700, 0xa230, 0x0000 },\n  { 0x8700, 0xa233, 0x2000 },\n  { 0x0700, 0xa232, 0x0000 },\n  { 0x0700, 0xa234, 0x0000 },\n  { 0x8700, 0xa239, 0x3000 },\n  { 0x8700, 0xa237, 0x2000 },\n  { 0x0700, 0xa236, 0x0000 },\n  { 0x0700, 0xa238, 0x0000 },\n  { 0x8700, 0xa23b, 0x2000 },\n  { 0x0700, 0xa23a, 0x0000 },\n  { 0x0700, 0xa23c, 0x0000 },\n  { 0x8700, 0xa245, 0x4000 },\n  { 0x8700, 0xa241, 0x3000 },\n  { 0x8700, 0xa23f, 0x2000 },\n  { 0x0700, 0xa23e, 0x0000 },\n  { 0x0700, 0xa240, 0x0000 },\n  { 0x8700, 0xa243, 0x2000 },\n  { 0x0700, 0xa242, 0x0000 },\n  { 0x0700, 0xa244, 0x0000 },\n  { 0x8700, 0xa249, 0x3000 },\n  { 0x8700, 0xa247, 0x2000 },\n  { 0x0700, 0xa246, 0x0000 },\n  { 0x0700, 0xa248, 0x0000 },\n  { 0x8700, 0xa24b, 0x2000 },\n  { 0x0700, 0xa24a, 0x0000 },\n  { 0x0700, 0xa24c, 0x0000 },\n  { 0x8700, 0xa2cd, 0x8000 },\n  { 0x8700, 0xa28d, 0x7000 },\n  { 0x8700, 0xa26d, 0x6000 },\n  { 0x8700, 0xa25d, 0x5000 },\n  { 0x8700, 0xa255, 0x4000 },\n  { 0x8700, 0xa251, 0x3000 },\n  { 0x8700, 0xa24f, 0x2000 },\n  { 0x0700, 0xa24e, 0x0000 },\n  { 0x0700, 0xa250, 0x0000 },\n  { 0x8700, 0xa253, 0x2000 },\n  { 0x0700, 0xa252, 0x0000 },\n  { 0x0700, 0xa254, 0x0000 },\n  { 0x8700, 0xa259, 0x3000 },\n  { 0x8700, 0xa257, 0x2000 },\n  { 0x0700, 0xa256, 0x0000 },\n  { 0x0700, 0xa258, 0x0000 },\n  { 0x8700, 0xa25b, 0x2000 },\n  { 0x0700, 0xa25a, 0x0000 },\n  { 0x0700, 0xa25c, 0x0000 },\n  { 0x8700, 0xa265, 0x4000 },\n  { 0x8700, 0xa261, 0x3000 },\n  { 0x8700, 0xa25f, 0x2000 },\n  { 0x0700, 0xa25e, 0x0000 },\n  { 0x0700, 0xa260, 0x0000 },\n  { 0x8700, 0xa263, 0x2000 },\n  { 0x0700, 0xa262, 0x0000 },\n  { 0x0700, 0xa264, 0x0000 },\n  { 0x8700, 0xa269, 0x3000 },\n  { 0x8700, 0xa267, 0x2000 },\n  { 0x0700, 0xa266, 0x0000 },\n  { 0x0700, 0xa268, 0x0000 },\n  { 0x8700, 0xa26b, 0x2000 },\n  { 0x0700, 0xa26a, 0x0000 },\n  { 0x0700, 0xa26c, 0x0000 },\n  { 0x8700, 0xa27d, 0x5000 },\n  { 0x8700, 0xa275, 0x4000 },\n  { 0x8700, 0xa271, 0x3000 },\n  { 0x8700, 0xa26f, 0x2000 },\n  { 0x0700, 0xa26e, 0x0000 },\n  { 0x0700, 0xa270, 0x0000 },\n  { 0x8700, 0xa273, 0x2000 },\n  { 0x0700, 0xa272, 0x0000 },\n  { 0x0700, 0xa274, 0x0000 },\n  { 0x8700, 0xa279, 0x3000 },\n  { 0x8700, 0xa277, 0x2000 },\n  { 0x0700, 0xa276, 0x0000 },\n  { 0x0700, 0xa278, 0x0000 },\n  { 0x8700, 0xa27b, 0x2000 },\n  { 0x0700, 0xa27a, 0x0000 },\n  { 0x0700, 0xa27c, 0x0000 },\n  { 0x8700, 0xa285, 0x4000 },\n  { 0x8700, 0xa281, 0x3000 },\n  { 0x8700, 0xa27f, 0x2000 },\n  { 0x0700, 0xa27e, 0x0000 },\n  { 0x0700, 0xa280, 0x0000 },\n  { 0x8700, 0xa283, 0x2000 },\n  { 0x0700, 0xa282, 0x0000 },\n  { 0x0700, 0xa284, 0x0000 },\n  { 0x8700, 0xa289, 0x3000 },\n  { 0x8700, 0xa287, 0x2000 },\n  { 0x0700, 0xa286, 0x0000 },\n  { 0x0700, 0xa288, 0x0000 },\n  { 0x8700, 0xa28b, 0x2000 },\n  { 0x0700, 0xa28a, 0x0000 },\n  { 0x0700, 0xa28c, 0x0000 },\n  { 0x8700, 0xa2ad, 0x6000 },\n  { 0x8700, 0xa29d, 0x5000 },\n  { 0x8700, 0xa295, 0x4000 },\n  { 0x8700, 0xa291, 0x3000 },\n  { 0x8700, 0xa28f, 0x2000 },\n  { 0x0700, 0xa28e, 0x0000 },\n  { 0x0700, 0xa290, 0x0000 },\n  { 0x8700, 0xa293, 0x2000 },\n  { 0x0700, 0xa292, 0x0000 },\n  { 0x0700, 0xa294, 0x0000 },\n  { 0x8700, 0xa299, 0x3000 },\n  { 0x8700, 0xa297, 0x2000 },\n  { 0x0700, 0xa296, 0x0000 },\n  { 0x0700, 0xa298, 0x0000 },\n  { 0x8700, 0xa29b, 0x2000 },\n  { 0x0700, 0xa29a, 0x0000 },\n  { 0x0700, 0xa29c, 0x0000 },\n  { 0x8700, 0xa2a5, 0x4000 },\n  { 0x8700, 0xa2a1, 0x3000 },\n  { 0x8700, 0xa29f, 0x2000 },\n  { 0x0700, 0xa29e, 0x0000 },\n  { 0x0700, 0xa2a0, 0x0000 },\n  { 0x8700, 0xa2a3, 0x2000 },\n  { 0x0700, 0xa2a2, 0x0000 },\n  { 0x0700, 0xa2a4, 0x0000 },\n  { 0x8700, 0xa2a9, 0x3000 },\n  { 0x8700, 0xa2a7, 0x2000 },\n  { 0x0700, 0xa2a6, 0x0000 },\n  { 0x0700, 0xa2a8, 0x0000 },\n  { 0x8700, 0xa2ab, 0x2000 },\n  { 0x0700, 0xa2aa, 0x0000 },\n  { 0x0700, 0xa2ac, 0x0000 },\n  { 0x8700, 0xa2bd, 0x5000 },\n  { 0x8700, 0xa2b5, 0x4000 },\n  { 0x8700, 0xa2b1, 0x3000 },\n  { 0x8700, 0xa2af, 0x2000 },\n  { 0x0700, 0xa2ae, 0x0000 },\n  { 0x0700, 0xa2b0, 0x0000 },\n  { 0x8700, 0xa2b3, 0x2000 },\n  { 0x0700, 0xa2b2, 0x0000 },\n  { 0x0700, 0xa2b4, 0x0000 },\n  { 0x8700, 0xa2b9, 0x3000 },\n  { 0x8700, 0xa2b7, 0x2000 },\n  { 0x0700, 0xa2b6, 0x0000 },\n  { 0x0700, 0xa2b8, 0x0000 },\n  { 0x8700, 0xa2bb, 0x2000 },\n  { 0x0700, 0xa2ba, 0x0000 },\n  { 0x0700, 0xa2bc, 0x0000 },\n  { 0x8700, 0xa2c5, 0x4000 },\n  { 0x8700, 0xa2c1, 0x3000 },\n  { 0x8700, 0xa2bf, 0x2000 },\n  { 0x0700, 0xa2be, 0x0000 },\n  { 0x0700, 0xa2c0, 0x0000 },\n  { 0x8700, 0xa2c3, 0x2000 },\n  { 0x0700, 0xa2c2, 0x0000 },\n  { 0x0700, 0xa2c4, 0x0000 },\n  { 0x8700, 0xa2c9, 0x3000 },\n  { 0x8700, 0xa2c7, 0x2000 },\n  { 0x0700, 0xa2c6, 0x0000 },\n  { 0x0700, 0xa2c8, 0x0000 },\n  { 0x8700, 0xa2cb, 0x2000 },\n  { 0x0700, 0xa2ca, 0x0000 },\n  { 0x0700, 0xa2cc, 0x0000 },\n  { 0x8700, 0xa30d, 0x7000 },\n  { 0x8700, 0xa2ed, 0x6000 },\n  { 0x8700, 0xa2dd, 0x5000 },\n  { 0x8700, 0xa2d5, 0x4000 },\n  { 0x8700, 0xa2d1, 0x3000 },\n  { 0x8700, 0xa2cf, 0x2000 },\n  { 0x0700, 0xa2ce, 0x0000 },\n  { 0x0700, 0xa2d0, 0x0000 },\n  { 0x8700, 0xa2d3, 0x2000 },\n  { 0x0700, 0xa2d2, 0x0000 },\n  { 0x0700, 0xa2d4, 0x0000 },\n  { 0x8700, 0xa2d9, 0x3000 },\n  { 0x8700, 0xa2d7, 0x2000 },\n  { 0x0700, 0xa2d6, 0x0000 },\n  { 0x0700, 0xa2d8, 0x0000 },\n  { 0x8700, 0xa2db, 0x2000 },\n  { 0x0700, 0xa2da, 0x0000 },\n  { 0x0700, 0xa2dc, 0x0000 },\n  { 0x8700, 0xa2e5, 0x4000 },\n  { 0x8700, 0xa2e1, 0x3000 },\n  { 0x8700, 0xa2df, 0x2000 },\n  { 0x0700, 0xa2de, 0x0000 },\n  { 0x0700, 0xa2e0, 0x0000 },\n  { 0x8700, 0xa2e3, 0x2000 },\n  { 0x0700, 0xa2e2, 0x0000 },\n  { 0x0700, 0xa2e4, 0x0000 },\n  { 0x8700, 0xa2e9, 0x3000 },\n  { 0x8700, 0xa2e7, 0x2000 },\n  { 0x0700, 0xa2e6, 0x0000 },\n  { 0x0700, 0xa2e8, 0x0000 },\n  { 0x8700, 0xa2eb, 0x2000 },\n  { 0x0700, 0xa2ea, 0x0000 },\n  { 0x0700, 0xa2ec, 0x0000 },\n  { 0x8700, 0xa2fd, 0x5000 },\n  { 0x8700, 0xa2f5, 0x4000 },\n  { 0x8700, 0xa2f1, 0x3000 },\n  { 0x8700, 0xa2ef, 0x2000 },\n  { 0x0700, 0xa2ee, 0x0000 },\n  { 0x0700, 0xa2f0, 0x0000 },\n  { 0x8700, 0xa2f3, 0x2000 },\n  { 0x0700, 0xa2f2, 0x0000 },\n  { 0x0700, 0xa2f4, 0x0000 },\n  { 0x8700, 0xa2f9, 0x3000 },\n  { 0x8700, 0xa2f7, 0x2000 },\n  { 0x0700, 0xa2f6, 0x0000 },\n  { 0x0700, 0xa2f8, 0x0000 },\n  { 0x8700, 0xa2fb, 0x2000 },\n  { 0x0700, 0xa2fa, 0x0000 },\n  { 0x0700, 0xa2fc, 0x0000 },\n  { 0x8700, 0xa305, 0x4000 },\n  { 0x8700, 0xa301, 0x3000 },\n  { 0x8700, 0xa2ff, 0x2000 },\n  { 0x0700, 0xa2fe, 0x0000 },\n  { 0x0700, 0xa300, 0x0000 },\n  { 0x8700, 0xa303, 0x2000 },\n  { 0x0700, 0xa302, 0x0000 },\n  { 0x0700, 0xa304, 0x0000 },\n  { 0x8700, 0xa309, 0x3000 },\n  { 0x8700, 0xa307, 0x2000 },\n  { 0x0700, 0xa306, 0x0000 },\n  { 0x0700, 0xa308, 0x0000 },\n  { 0x8700, 0xa30b, 0x2000 },\n  { 0x0700, 0xa30a, 0x0000 },\n  { 0x0700, 0xa30c, 0x0000 },\n  { 0x8700, 0xa32d, 0x6000 },\n  { 0x8700, 0xa31d, 0x5000 },\n  { 0x8700, 0xa315, 0x4000 },\n  { 0x8700, 0xa311, 0x3000 },\n  { 0x8700, 0xa30f, 0x2000 },\n  { 0x0700, 0xa30e, 0x0000 },\n  { 0x0700, 0xa310, 0x0000 },\n  { 0x8700, 0xa313, 0x2000 },\n  { 0x0700, 0xa312, 0x0000 },\n  { 0x0700, 0xa314, 0x0000 },\n  { 0x8700, 0xa319, 0x3000 },\n  { 0x8700, 0xa317, 0x2000 },\n  { 0x0700, 0xa316, 0x0000 },\n  { 0x0700, 0xa318, 0x0000 },\n  { 0x8700, 0xa31b, 0x2000 },\n  { 0x0700, 0xa31a, 0x0000 },\n  { 0x0700, 0xa31c, 0x0000 },\n  { 0x8700, 0xa325, 0x4000 },\n  { 0x8700, 0xa321, 0x3000 },\n  { 0x8700, 0xa31f, 0x2000 },\n  { 0x0700, 0xa31e, 0x0000 },\n  { 0x0700, 0xa320, 0x0000 },\n  { 0x8700, 0xa323, 0x2000 },\n  { 0x0700, 0xa322, 0x0000 },\n  { 0x0700, 0xa324, 0x0000 },\n  { 0x8700, 0xa329, 0x3000 },\n  { 0x8700, 0xa327, 0x2000 },\n  { 0x0700, 0xa326, 0x0000 },\n  { 0x0700, 0xa328, 0x0000 },\n  { 0x8700, 0xa32b, 0x2000 },\n  { 0x0700, 0xa32a, 0x0000 },\n  { 0x0700, 0xa32c, 0x0000 },\n  { 0x8700, 0xa33d, 0x5000 },\n  { 0x8700, 0xa335, 0x4000 },\n  { 0x8700, 0xa331, 0x3000 },\n  { 0x8700, 0xa32f, 0x2000 },\n  { 0x0700, 0xa32e, 0x0000 },\n  { 0x0700, 0xa330, 0x0000 },\n  { 0x8700, 0xa333, 0x2000 },\n  { 0x0700, 0xa332, 0x0000 },\n  { 0x0700, 0xa334, 0x0000 },\n  { 0x8700, 0xa339, 0x3000 },\n  { 0x8700, 0xa337, 0x2000 },\n  { 0x0700, 0xa336, 0x0000 },\n  { 0x0700, 0xa338, 0x0000 },\n  { 0x8700, 0xa33b, 0x2000 },\n  { 0x0700, 0xa33a, 0x0000 },\n  { 0x0700, 0xa33c, 0x0000 },\n  { 0x8700, 0xa345, 0x4000 },\n  { 0x8700, 0xa341, 0x3000 },\n  { 0x8700, 0xa33f, 0x2000 },\n  { 0x0700, 0xa33e, 0x0000 },\n  { 0x0700, 0xa340, 0x0000 },\n  { 0x8700, 0xa343, 0x2000 },\n  { 0x0700, 0xa342, 0x0000 },\n  { 0x0700, 0xa344, 0x0000 },\n  { 0x8700, 0xa349, 0x3000 },\n  { 0x8700, 0xa347, 0x2000 },\n  { 0x0700, 0xa346, 0x0000 },\n  { 0x0700, 0xa348, 0x0000 },\n  { 0x8700, 0xa34b, 0x2000 },\n  { 0x0700, 0xa34a, 0x0000 },\n  { 0x0700, 0xa34c, 0x0000 },\n  { 0x8700, 0xfc4d, 0xb000 },\n  { 0x8700, 0xf97f, 0xa000 },\n  { 0x8700, 0xa44d, 0x9000 },\n  { 0x8700, 0xa3cd, 0x8000 },\n  { 0x8700, 0xa38d, 0x7000 },\n  { 0x8700, 0xa36d, 0x6000 },\n  { 0x8700, 0xa35d, 0x5000 },\n  { 0x8700, 0xa355, 0x4000 },\n  { 0x8700, 0xa351, 0x3000 },\n  { 0x8700, 0xa34f, 0x2000 },\n  { 0x0700, 0xa34e, 0x0000 },\n  { 0x0700, 0xa350, 0x0000 },\n  { 0x8700, 0xa353, 0x2000 },\n  { 0x0700, 0xa352, 0x0000 },\n  { 0x0700, 0xa354, 0x0000 },\n  { 0x8700, 0xa359, 0x3000 },\n  { 0x8700, 0xa357, 0x2000 },\n  { 0x0700, 0xa356, 0x0000 },\n  { 0x0700, 0xa358, 0x0000 },\n  { 0x8700, 0xa35b, 0x2000 },\n  { 0x0700, 0xa35a, 0x0000 },\n  { 0x0700, 0xa35c, 0x0000 },\n  { 0x8700, 0xa365, 0x4000 },\n  { 0x8700, 0xa361, 0x3000 },\n  { 0x8700, 0xa35f, 0x2000 },\n  { 0x0700, 0xa35e, 0x0000 },\n  { 0x0700, 0xa360, 0x0000 },\n  { 0x8700, 0xa363, 0x2000 },\n  { 0x0700, 0xa362, 0x0000 },\n  { 0x0700, 0xa364, 0x0000 },\n  { 0x8700, 0xa369, 0x3000 },\n  { 0x8700, 0xa367, 0x2000 },\n  { 0x0700, 0xa366, 0x0000 },\n  { 0x0700, 0xa368, 0x0000 },\n  { 0x8700, 0xa36b, 0x2000 },\n  { 0x0700, 0xa36a, 0x0000 },\n  { 0x0700, 0xa36c, 0x0000 },\n  { 0x8700, 0xa37d, 0x5000 },\n  { 0x8700, 0xa375, 0x4000 },\n  { 0x8700, 0xa371, 0x3000 },\n  { 0x8700, 0xa36f, 0x2000 },\n  { 0x0700, 0xa36e, 0x0000 },\n  { 0x0700, 0xa370, 0x0000 },\n  { 0x8700, 0xa373, 0x2000 },\n  { 0x0700, 0xa372, 0x0000 },\n  { 0x0700, 0xa374, 0x0000 },\n  { 0x8700, 0xa379, 0x3000 },\n  { 0x8700, 0xa377, 0x2000 },\n  { 0x0700, 0xa376, 0x0000 },\n  { 0x0700, 0xa378, 0x0000 },\n  { 0x8700, 0xa37b, 0x2000 },\n  { 0x0700, 0xa37a, 0x0000 },\n  { 0x0700, 0xa37c, 0x0000 },\n  { 0x8700, 0xa385, 0x4000 },\n  { 0x8700, 0xa381, 0x3000 },\n  { 0x8700, 0xa37f, 0x2000 },\n  { 0x0700, 0xa37e, 0x0000 },\n  { 0x0700, 0xa380, 0x0000 },\n  { 0x8700, 0xa383, 0x2000 },\n  { 0x0700, 0xa382, 0x0000 },\n  { 0x0700, 0xa384, 0x0000 },\n  { 0x8700, 0xa389, 0x3000 },\n  { 0x8700, 0xa387, 0x2000 },\n  { 0x0700, 0xa386, 0x0000 },\n  { 0x0700, 0xa388, 0x0000 },\n  { 0x8700, 0xa38b, 0x2000 },\n  { 0x0700, 0xa38a, 0x0000 },\n  { 0x0700, 0xa38c, 0x0000 },\n  { 0x8700, 0xa3ad, 0x6000 },\n  { 0x8700, 0xa39d, 0x5000 },\n  { 0x8700, 0xa395, 0x4000 },\n  { 0x8700, 0xa391, 0x3000 },\n  { 0x8700, 0xa38f, 0x2000 },\n  { 0x0700, 0xa38e, 0x0000 },\n  { 0x0700, 0xa390, 0x0000 },\n  { 0x8700, 0xa393, 0x2000 },\n  { 0x0700, 0xa392, 0x0000 },\n  { 0x0700, 0xa394, 0x0000 },\n  { 0x8700, 0xa399, 0x3000 },\n  { 0x8700, 0xa397, 0x2000 },\n  { 0x0700, 0xa396, 0x0000 },\n  { 0x0700, 0xa398, 0x0000 },\n  { 0x8700, 0xa39b, 0x2000 },\n  { 0x0700, 0xa39a, 0x0000 },\n  { 0x0700, 0xa39c, 0x0000 },\n  { 0x8700, 0xa3a5, 0x4000 },\n  { 0x8700, 0xa3a1, 0x3000 },\n  { 0x8700, 0xa39f, 0x2000 },\n  { 0x0700, 0xa39e, 0x0000 },\n  { 0x0700, 0xa3a0, 0x0000 },\n  { 0x8700, 0xa3a3, 0x2000 },\n  { 0x0700, 0xa3a2, 0x0000 },\n  { 0x0700, 0xa3a4, 0x0000 },\n  { 0x8700, 0xa3a9, 0x3000 },\n  { 0x8700, 0xa3a7, 0x2000 },\n  { 0x0700, 0xa3a6, 0x0000 },\n  { 0x0700, 0xa3a8, 0x0000 },\n  { 0x8700, 0xa3ab, 0x2000 },\n  { 0x0700, 0xa3aa, 0x0000 },\n  { 0x0700, 0xa3ac, 0x0000 },\n  { 0x8700, 0xa3bd, 0x5000 },\n  { 0x8700, 0xa3b5, 0x4000 },\n  { 0x8700, 0xa3b1, 0x3000 },\n  { 0x8700, 0xa3af, 0x2000 },\n  { 0x0700, 0xa3ae, 0x0000 },\n  { 0x0700, 0xa3b0, 0x0000 },\n  { 0x8700, 0xa3b3, 0x2000 },\n  { 0x0700, 0xa3b2, 0x0000 },\n  { 0x0700, 0xa3b4, 0x0000 },\n  { 0x8700, 0xa3b9, 0x3000 },\n  { 0x8700, 0xa3b7, 0x2000 },\n  { 0x0700, 0xa3b6, 0x0000 },\n  { 0x0700, 0xa3b8, 0x0000 },\n  { 0x8700, 0xa3bb, 0x2000 },\n  { 0x0700, 0xa3ba, 0x0000 },\n  { 0x0700, 0xa3bc, 0x0000 },\n  { 0x8700, 0xa3c5, 0x4000 },\n  { 0x8700, 0xa3c1, 0x3000 },\n  { 0x8700, 0xa3bf, 0x2000 },\n  { 0x0700, 0xa3be, 0x0000 },\n  { 0x0700, 0xa3c0, 0x0000 },\n  { 0x8700, 0xa3c3, 0x2000 },\n  { 0x0700, 0xa3c2, 0x0000 },\n  { 0x0700, 0xa3c4, 0x0000 },\n  { 0x8700, 0xa3c9, 0x3000 },\n  { 0x8700, 0xa3c7, 0x2000 },\n  { 0x0700, 0xa3c6, 0x0000 },\n  { 0x0700, 0xa3c8, 0x0000 },\n  { 0x8700, 0xa3cb, 0x2000 },\n  { 0x0700, 0xa3ca, 0x0000 },\n  { 0x0700, 0xa3cc, 0x0000 },\n  { 0x8700, 0xa40d, 0x7000 },\n  { 0x8700, 0xa3ed, 0x6000 },\n  { 0x8700, 0xa3dd, 0x5000 },\n  { 0x8700, 0xa3d5, 0x4000 },\n  { 0x8700, 0xa3d1, 0x3000 },\n  { 0x8700, 0xa3cf, 0x2000 },\n  { 0x0700, 0xa3ce, 0x0000 },\n  { 0x0700, 0xa3d0, 0x0000 },\n  { 0x8700, 0xa3d3, 0x2000 },\n  { 0x0700, 0xa3d2, 0x0000 },\n  { 0x0700, 0xa3d4, 0x0000 },\n  { 0x8700, 0xa3d9, 0x3000 },\n  { 0x8700, 0xa3d7, 0x2000 },\n  { 0x0700, 0xa3d6, 0x0000 },\n  { 0x0700, 0xa3d8, 0x0000 },\n  { 0x8700, 0xa3db, 0x2000 },\n  { 0x0700, 0xa3da, 0x0000 },\n  { 0x0700, 0xa3dc, 0x0000 },\n  { 0x8700, 0xa3e5, 0x4000 },\n  { 0x8700, 0xa3e1, 0x3000 },\n  { 0x8700, 0xa3df, 0x2000 },\n  { 0x0700, 0xa3de, 0x0000 },\n  { 0x0700, 0xa3e0, 0x0000 },\n  { 0x8700, 0xa3e3, 0x2000 },\n  { 0x0700, 0xa3e2, 0x0000 },\n  { 0x0700, 0xa3e4, 0x0000 },\n  { 0x8700, 0xa3e9, 0x3000 },\n  { 0x8700, 0xa3e7, 0x2000 },\n  { 0x0700, 0xa3e6, 0x0000 },\n  { 0x0700, 0xa3e8, 0x0000 },\n  { 0x8700, 0xa3eb, 0x2000 },\n  { 0x0700, 0xa3ea, 0x0000 },\n  { 0x0700, 0xa3ec, 0x0000 },\n  { 0x8700, 0xa3fd, 0x5000 },\n  { 0x8700, 0xa3f5, 0x4000 },\n  { 0x8700, 0xa3f1, 0x3000 },\n  { 0x8700, 0xa3ef, 0x2000 },\n  { 0x0700, 0xa3ee, 0x0000 },\n  { 0x0700, 0xa3f0, 0x0000 },\n  { 0x8700, 0xa3f3, 0x2000 },\n  { 0x0700, 0xa3f2, 0x0000 },\n  { 0x0700, 0xa3f4, 0x0000 },\n  { 0x8700, 0xa3f9, 0x3000 },\n  { 0x8700, 0xa3f7, 0x2000 },\n  { 0x0700, 0xa3f6, 0x0000 },\n  { 0x0700, 0xa3f8, 0x0000 },\n  { 0x8700, 0xa3fb, 0x2000 },\n  { 0x0700, 0xa3fa, 0x0000 },\n  { 0x0700, 0xa3fc, 0x0000 },\n  { 0x8700, 0xa405, 0x4000 },\n  { 0x8700, 0xa401, 0x3000 },\n  { 0x8700, 0xa3ff, 0x2000 },\n  { 0x0700, 0xa3fe, 0x0000 },\n  { 0x0700, 0xa400, 0x0000 },\n  { 0x8700, 0xa403, 0x2000 },\n  { 0x0700, 0xa402, 0x0000 },\n  { 0x0700, 0xa404, 0x0000 },\n  { 0x8700, 0xa409, 0x3000 },\n  { 0x8700, 0xa407, 0x2000 },\n  { 0x0700, 0xa406, 0x0000 },\n  { 0x0700, 0xa408, 0x0000 },\n  { 0x8700, 0xa40b, 0x2000 },\n  { 0x0700, 0xa40a, 0x0000 },\n  { 0x0700, 0xa40c, 0x0000 },\n  { 0x8700, 0xa42d, 0x6000 },\n  { 0x8700, 0xa41d, 0x5000 },\n  { 0x8700, 0xa415, 0x4000 },\n  { 0x8700, 0xa411, 0x3000 },\n  { 0x8700, 0xa40f, 0x2000 },\n  { 0x0700, 0xa40e, 0x0000 },\n  { 0x0700, 0xa410, 0x0000 },\n  { 0x8700, 0xa413, 0x2000 },\n  { 0x0700, 0xa412, 0x0000 },\n  { 0x0700, 0xa414, 0x0000 },\n  { 0x8700, 0xa419, 0x3000 },\n  { 0x8700, 0xa417, 0x2000 },\n  { 0x0700, 0xa416, 0x0000 },\n  { 0x0700, 0xa418, 0x0000 },\n  { 0x8700, 0xa41b, 0x2000 },\n  { 0x0700, 0xa41a, 0x0000 },\n  { 0x0700, 0xa41c, 0x0000 },\n  { 0x8700, 0xa425, 0x4000 },\n  { 0x8700, 0xa421, 0x3000 },\n  { 0x8700, 0xa41f, 0x2000 },\n  { 0x0700, 0xa41e, 0x0000 },\n  { 0x0700, 0xa420, 0x0000 },\n  { 0x8700, 0xa423, 0x2000 },\n  { 0x0700, 0xa422, 0x0000 },\n  { 0x0700, 0xa424, 0x0000 },\n  { 0x8700, 0xa429, 0x3000 },\n  { 0x8700, 0xa427, 0x2000 },\n  { 0x0700, 0xa426, 0x0000 },\n  { 0x0700, 0xa428, 0x0000 },\n  { 0x8700, 0xa42b, 0x2000 },\n  { 0x0700, 0xa42a, 0x0000 },\n  { 0x0700, 0xa42c, 0x0000 },\n  { 0x8700, 0xa43d, 0x5000 },\n  { 0x8700, 0xa435, 0x4000 },\n  { 0x8700, 0xa431, 0x3000 },\n  { 0x8700, 0xa42f, 0x2000 },\n  { 0x0700, 0xa42e, 0x0000 },\n  { 0x0700, 0xa430, 0x0000 },\n  { 0x8700, 0xa433, 0x2000 },\n  { 0x0700, 0xa432, 0x0000 },\n  { 0x0700, 0xa434, 0x0000 },\n  { 0x8700, 0xa439, 0x3000 },\n  { 0x8700, 0xa437, 0x2000 },\n  { 0x0700, 0xa436, 0x0000 },\n  { 0x0700, 0xa438, 0x0000 },\n  { 0x8700, 0xa43b, 0x2000 },\n  { 0x0700, 0xa43a, 0x0000 },\n  { 0x0700, 0xa43c, 0x0000 },\n  { 0x8700, 0xa445, 0x4000 },\n  { 0x8700, 0xa441, 0x3000 },\n  { 0x8700, 0xa43f, 0x2000 },\n  { 0x0700, 0xa43e, 0x0000 },\n  { 0x0700, 0xa440, 0x0000 },\n  { 0x8700, 0xa443, 0x2000 },\n  { 0x0700, 0xa442, 0x0000 },\n  { 0x0700, 0xa444, 0x0000 },\n  { 0x8700, 0xa449, 0x3000 },\n  { 0x8700, 0xa447, 0x2000 },\n  { 0x0700, 0xa446, 0x0000 },\n  { 0x0700, 0xa448, 0x0000 },\n  { 0x8700, 0xa44b, 0x2000 },\n  { 0x0700, 0xa44a, 0x0000 },\n  { 0x0700, 0xa44c, 0x0000 },\n  { 0x8300, 0xf8ff, 0x8000 },\n  { 0x9a00, 0xa490, 0x7000 },\n  { 0x8700, 0xa46d, 0x6000 },\n  { 0x8700, 0xa45d, 0x5000 },\n  { 0x8700, 0xa455, 0x4000 },\n  { 0x8700, 0xa451, 0x3000 },\n  { 0x8700, 0xa44f, 0x2000 },\n  { 0x0700, 0xa44e, 0x0000 },\n  { 0x0700, 0xa450, 0x0000 },\n  { 0x8700, 0xa453, 0x2000 },\n  { 0x0700, 0xa452, 0x0000 },\n  { 0x0700, 0xa454, 0x0000 },\n  { 0x8700, 0xa459, 0x3000 },\n  { 0x8700, 0xa457, 0x2000 },\n  { 0x0700, 0xa456, 0x0000 },\n  { 0x0700, 0xa458, 0x0000 },\n  { 0x8700, 0xa45b, 0x2000 },\n  { 0x0700, 0xa45a, 0x0000 },\n  { 0x0700, 0xa45c, 0x0000 },\n  { 0x8700, 0xa465, 0x4000 },\n  { 0x8700, 0xa461, 0x3000 },\n  { 0x8700, 0xa45f, 0x2000 },\n  { 0x0700, 0xa45e, 0x0000 },\n  { 0x0700, 0xa460, 0x0000 },\n  { 0x8700, 0xa463, 0x2000 },\n  { 0x0700, 0xa462, 0x0000 },\n  { 0x0700, 0xa464, 0x0000 },\n  { 0x8700, 0xa469, 0x3000 },\n  { 0x8700, 0xa467, 0x2000 },\n  { 0x0700, 0xa466, 0x0000 },\n  { 0x0700, 0xa468, 0x0000 },\n  { 0x8700, 0xa46b, 0x2000 },\n  { 0x0700, 0xa46a, 0x0000 },\n  { 0x0700, 0xa46c, 0x0000 },\n  { 0x8700, 0xa47d, 0x5000 },\n  { 0x8700, 0xa475, 0x4000 },\n  { 0x8700, 0xa471, 0x3000 },\n  { 0x8700, 0xa46f, 0x2000 },\n  { 0x0700, 0xa46e, 0x0000 },\n  { 0x0700, 0xa470, 0x0000 },\n  { 0x8700, 0xa473, 0x2000 },\n  { 0x0700, 0xa472, 0x0000 },\n  { 0x0700, 0xa474, 0x0000 },\n  { 0x8700, 0xa479, 0x3000 },\n  { 0x8700, 0xa477, 0x2000 },\n  { 0x0700, 0xa476, 0x0000 },\n  { 0x0700, 0xa478, 0x0000 },\n  { 0x8700, 0xa47b, 0x2000 },\n  { 0x0700, 0xa47a, 0x0000 },\n  { 0x0700, 0xa47c, 0x0000 },\n  { 0x8700, 0xa485, 0x4000 },\n  { 0x8700, 0xa481, 0x3000 },\n  { 0x8700, 0xa47f, 0x2000 },\n  { 0x0700, 0xa47e, 0x0000 },\n  { 0x0700, 0xa480, 0x0000 },\n  { 0x8700, 0xa483, 0x2000 },\n  { 0x0700, 0xa482, 0x0000 },\n  { 0x0700, 0xa484, 0x0000 },\n  { 0x8700, 0xa489, 0x3000 },\n  { 0x8700, 0xa487, 0x2000 },\n  { 0x0700, 0xa486, 0x0000 },\n  { 0x0700, 0xa488, 0x0000 },\n  { 0x8700, 0xa48b, 0x2000 },\n  { 0x0700, 0xa48a, 0x0000 },\n  { 0x0700, 0xa48c, 0x0000 },\n  { 0x9a00, 0xa4b0, 0x6000 },\n  { 0x9a00, 0xa4a0, 0x5000 },\n  { 0x9a00, 0xa498, 0x4000 },\n  { 0x9a00, 0xa494, 0x3000 },\n  { 0x9a00, 0xa492, 0x2000 },\n  { 0x1a00, 0xa491, 0x0000 },\n  { 0x1a00, 0xa493, 0x0000 },\n  { 0x9a00, 0xa496, 0x2000 },\n  { 0x1a00, 0xa495, 0x0000 },\n  { 0x1a00, 0xa497, 0x0000 },\n  { 0x9a00, 0xa49c, 0x3000 },\n  { 0x9a00, 0xa49a, 0x2000 },\n  { 0x1a00, 0xa499, 0x0000 },\n  { 0x1a00, 0xa49b, 0x0000 },\n  { 0x9a00, 0xa49e, 0x2000 },\n  { 0x1a00, 0xa49d, 0x0000 },\n  { 0x1a00, 0xa49f, 0x0000 },\n  { 0x9a00, 0xa4a8, 0x4000 },\n  { 0x9a00, 0xa4a4, 0x3000 },\n  { 0x9a00, 0xa4a2, 0x2000 },\n  { 0x1a00, 0xa4a1, 0x0000 },\n  { 0x1a00, 0xa4a3, 0x0000 },\n  { 0x9a00, 0xa4a6, 0x2000 },\n  { 0x1a00, 0xa4a5, 0x0000 },\n  { 0x1a00, 0xa4a7, 0x0000 },\n  { 0x9a00, 0xa4ac, 0x3000 },\n  { 0x9a00, 0xa4aa, 0x2000 },\n  { 0x1a00, 0xa4a9, 0x0000 },\n  { 0x1a00, 0xa4ab, 0x0000 },\n  { 0x9a00, 0xa4ae, 0x2000 },\n  { 0x1a00, 0xa4ad, 0x0000 },\n  { 0x1a00, 0xa4af, 0x0000 },\n  { 0x9a00, 0xa4c0, 0x5000 },\n  { 0x9a00, 0xa4b8, 0x4000 },\n  { 0x9a00, 0xa4b4, 0x3000 },\n  { 0x9a00, 0xa4b2, 0x2000 },\n  { 0x1a00, 0xa4b1, 0x0000 },\n  { 0x1a00, 0xa4b3, 0x0000 },\n  { 0x9a00, 0xa4b6, 0x2000 },\n  { 0x1a00, 0xa4b5, 0x0000 },\n  { 0x1a00, 0xa4b7, 0x0000 },\n  { 0x9a00, 0xa4bc, 0x3000 },\n  { 0x9a00, 0xa4ba, 0x2000 },\n  { 0x1a00, 0xa4b9, 0x0000 },\n  { 0x1a00, 0xa4bb, 0x0000 },\n  { 0x9a00, 0xa4be, 0x2000 },\n  { 0x1a00, 0xa4bd, 0x0000 },\n  { 0x1a00, 0xa4bf, 0x0000 },\n  { 0x8700, 0xd7a3, 0x4000 },\n  { 0x9a00, 0xa4c4, 0x3000 },\n  { 0x9a00, 0xa4c2, 0x2000 },\n  { 0x1a00, 0xa4c1, 0x0000 },\n  { 0x1a00, 0xa4c3, 0x0000 },\n  { 0x9a00, 0xa4c6, 0x2000 },\n  { 0x1a00, 0xa4c5, 0x0000 },\n  { 0x0700, 0xac00, 0x0000 },\n  { 0x8400, 0xdbff, 0x3000 },\n  { 0x8400, 0xdb7f, 0x2000 },\n  { 0x0400, 0xd800, 0x0000 },\n  { 0x0400, 0xdb80, 0x0000 },\n  { 0x8400, 0xdfff, 0x2000 },\n  { 0x0400, 0xdc00, 0x0000 },\n  { 0x0300, 0xe000, 0x0000 },\n  { 0x8700, 0xf93f, 0x7000 },\n  { 0x8700, 0xf91f, 0x6000 },\n  { 0x8700, 0xf90f, 0x5000 },\n  { 0x8700, 0xf907, 0x4000 },\n  { 0x8700, 0xf903, 0x3000 },\n  { 0x8700, 0xf901, 0x2000 },\n  { 0x0700, 0xf900, 0x0000 },\n  { 0x0700, 0xf902, 0x0000 },\n  { 0x8700, 0xf905, 0x2000 },\n  { 0x0700, 0xf904, 0x0000 },\n  { 0x0700, 0xf906, 0x0000 },\n  { 0x8700, 0xf90b, 0x3000 },\n  { 0x8700, 0xf909, 0x2000 },\n  { 0x0700, 0xf908, 0x0000 },\n  { 0x0700, 0xf90a, 0x0000 },\n  { 0x8700, 0xf90d, 0x2000 },\n  { 0x0700, 0xf90c, 0x0000 },\n  { 0x0700, 0xf90e, 0x0000 },\n  { 0x8700, 0xf917, 0x4000 },\n  { 0x8700, 0xf913, 0x3000 },\n  { 0x8700, 0xf911, 0x2000 },\n  { 0x0700, 0xf910, 0x0000 },\n  { 0x0700, 0xf912, 0x0000 },\n  { 0x8700, 0xf915, 0x2000 },\n  { 0x0700, 0xf914, 0x0000 },\n  { 0x0700, 0xf916, 0x0000 },\n  { 0x8700, 0xf91b, 0x3000 },\n  { 0x8700, 0xf919, 0x2000 },\n  { 0x0700, 0xf918, 0x0000 },\n  { 0x0700, 0xf91a, 0x0000 },\n  { 0x8700, 0xf91d, 0x2000 },\n  { 0x0700, 0xf91c, 0x0000 },\n  { 0x0700, 0xf91e, 0x0000 },\n  { 0x8700, 0xf92f, 0x5000 },\n  { 0x8700, 0xf927, 0x4000 },\n  { 0x8700, 0xf923, 0x3000 },\n  { 0x8700, 0xf921, 0x2000 },\n  { 0x0700, 0xf920, 0x0000 },\n  { 0x0700, 0xf922, 0x0000 },\n  { 0x8700, 0xf925, 0x2000 },\n  { 0x0700, 0xf924, 0x0000 },\n  { 0x0700, 0xf926, 0x0000 },\n  { 0x8700, 0xf92b, 0x3000 },\n  { 0x8700, 0xf929, 0x2000 },\n  { 0x0700, 0xf928, 0x0000 },\n  { 0x0700, 0xf92a, 0x0000 },\n  { 0x8700, 0xf92d, 0x2000 },\n  { 0x0700, 0xf92c, 0x0000 },\n  { 0x0700, 0xf92e, 0x0000 },\n  { 0x8700, 0xf937, 0x4000 },\n  { 0x8700, 0xf933, 0x3000 },\n  { 0x8700, 0xf931, 0x2000 },\n  { 0x0700, 0xf930, 0x0000 },\n  { 0x0700, 0xf932, 0x0000 },\n  { 0x8700, 0xf935, 0x2000 },\n  { 0x0700, 0xf934, 0x0000 },\n  { 0x0700, 0xf936, 0x0000 },\n  { 0x8700, 0xf93b, 0x3000 },\n  { 0x8700, 0xf939, 0x2000 },\n  { 0x0700, 0xf938, 0x0000 },\n  { 0x0700, 0xf93a, 0x0000 },\n  { 0x8700, 0xf93d, 0x2000 },\n  { 0x0700, 0xf93c, 0x0000 },\n  { 0x0700, 0xf93e, 0x0000 },\n  { 0x8700, 0xf95f, 0x6000 },\n  { 0x8700, 0xf94f, 0x5000 },\n  { 0x8700, 0xf947, 0x4000 },\n  { 0x8700, 0xf943, 0x3000 },\n  { 0x8700, 0xf941, 0x2000 },\n  { 0x0700, 0xf940, 0x0000 },\n  { 0x0700, 0xf942, 0x0000 },\n  { 0x8700, 0xf945, 0x2000 },\n  { 0x0700, 0xf944, 0x0000 },\n  { 0x0700, 0xf946, 0x0000 },\n  { 0x8700, 0xf94b, 0x3000 },\n  { 0x8700, 0xf949, 0x2000 },\n  { 0x0700, 0xf948, 0x0000 },\n  { 0x0700, 0xf94a, 0x0000 },\n  { 0x8700, 0xf94d, 0x2000 },\n  { 0x0700, 0xf94c, 0x0000 },\n  { 0x0700, 0xf94e, 0x0000 },\n  { 0x8700, 0xf957, 0x4000 },\n  { 0x8700, 0xf953, 0x3000 },\n  { 0x8700, 0xf951, 0x2000 },\n  { 0x0700, 0xf950, 0x0000 },\n  { 0x0700, 0xf952, 0x0000 },\n  { 0x8700, 0xf955, 0x2000 },\n  { 0x0700, 0xf954, 0x0000 },\n  { 0x0700, 0xf956, 0x0000 },\n  { 0x8700, 0xf95b, 0x3000 },\n  { 0x8700, 0xf959, 0x2000 },\n  { 0x0700, 0xf958, 0x0000 },\n  { 0x0700, 0xf95a, 0x0000 },\n  { 0x8700, 0xf95d, 0x2000 },\n  { 0x0700, 0xf95c, 0x0000 },\n  { 0x0700, 0xf95e, 0x0000 },\n  { 0x8700, 0xf96f, 0x5000 },\n  { 0x8700, 0xf967, 0x4000 },\n  { 0x8700, 0xf963, 0x3000 },\n  { 0x8700, 0xf961, 0x2000 },\n  { 0x0700, 0xf960, 0x0000 },\n  { 0x0700, 0xf962, 0x0000 },\n  { 0x8700, 0xf965, 0x2000 },\n  { 0x0700, 0xf964, 0x0000 },\n  { 0x0700, 0xf966, 0x0000 },\n  { 0x8700, 0xf96b, 0x3000 },\n  { 0x8700, 0xf969, 0x2000 },\n  { 0x0700, 0xf968, 0x0000 },\n  { 0x0700, 0xf96a, 0x0000 },\n  { 0x8700, 0xf96d, 0x2000 },\n  { 0x0700, 0xf96c, 0x0000 },\n  { 0x0700, 0xf96e, 0x0000 },\n  { 0x8700, 0xf977, 0x4000 },\n  { 0x8700, 0xf973, 0x3000 },\n  { 0x8700, 0xf971, 0x2000 },\n  { 0x0700, 0xf970, 0x0000 },\n  { 0x0700, 0xf972, 0x0000 },\n  { 0x8700, 0xf975, 0x2000 },\n  { 0x0700, 0xf974, 0x0000 },\n  { 0x0700, 0xf976, 0x0000 },\n  { 0x8700, 0xf97b, 0x3000 },\n  { 0x8700, 0xf979, 0x2000 },\n  { 0x0700, 0xf978, 0x0000 },\n  { 0x0700, 0xf97a, 0x0000 },\n  { 0x8700, 0xf97d, 0x2000 },\n  { 0x0700, 0xf97c, 0x0000 },\n  { 0x0700, 0xf97e, 0x0000 },\n  { 0x8700, 0xfb27, 0x9000 },\n  { 0x8700, 0xf9ff, 0x8000 },\n  { 0x8700, 0xf9bf, 0x7000 },\n  { 0x8700, 0xf99f, 0x6000 },\n  { 0x8700, 0xf98f, 0x5000 },\n  { 0x8700, 0xf987, 0x4000 },\n  { 0x8700, 0xf983, 0x3000 },\n  { 0x8700, 0xf981, 0x2000 },\n  { 0x0700, 0xf980, 0x0000 },\n  { 0x0700, 0xf982, 0x0000 },\n  { 0x8700, 0xf985, 0x2000 },\n  { 0x0700, 0xf984, 0x0000 },\n  { 0x0700, 0xf986, 0x0000 },\n  { 0x8700, 0xf98b, 0x3000 },\n  { 0x8700, 0xf989, 0x2000 },\n  { 0x0700, 0xf988, 0x0000 },\n  { 0x0700, 0xf98a, 0x0000 },\n  { 0x8700, 0xf98d, 0x2000 },\n  { 0x0700, 0xf98c, 0x0000 },\n  { 0x0700, 0xf98e, 0x0000 },\n  { 0x8700, 0xf997, 0x4000 },\n  { 0x8700, 0xf993, 0x3000 },\n  { 0x8700, 0xf991, 0x2000 },\n  { 0x0700, 0xf990, 0x0000 },\n  { 0x0700, 0xf992, 0x0000 },\n  { 0x8700, 0xf995, 0x2000 },\n  { 0x0700, 0xf994, 0x0000 },\n  { 0x0700, 0xf996, 0x0000 },\n  { 0x8700, 0xf99b, 0x3000 },\n  { 0x8700, 0xf999, 0x2000 },\n  { 0x0700, 0xf998, 0x0000 },\n  { 0x0700, 0xf99a, 0x0000 },\n  { 0x8700, 0xf99d, 0x2000 },\n  { 0x0700, 0xf99c, 0x0000 },\n  { 0x0700, 0xf99e, 0x0000 },\n  { 0x8700, 0xf9af, 0x5000 },\n  { 0x8700, 0xf9a7, 0x4000 },\n  { 0x8700, 0xf9a3, 0x3000 },\n  { 0x8700, 0xf9a1, 0x2000 },\n  { 0x0700, 0xf9a0, 0x0000 },\n  { 0x0700, 0xf9a2, 0x0000 },\n  { 0x8700, 0xf9a5, 0x2000 },\n  { 0x0700, 0xf9a4, 0x0000 },\n  { 0x0700, 0xf9a6, 0x0000 },\n  { 0x8700, 0xf9ab, 0x3000 },\n  { 0x8700, 0xf9a9, 0x2000 },\n  { 0x0700, 0xf9a8, 0x0000 },\n  { 0x0700, 0xf9aa, 0x0000 },\n  { 0x8700, 0xf9ad, 0x2000 },\n  { 0x0700, 0xf9ac, 0x0000 },\n  { 0x0700, 0xf9ae, 0x0000 },\n  { 0x8700, 0xf9b7, 0x4000 },\n  { 0x8700, 0xf9b3, 0x3000 },\n  { 0x8700, 0xf9b1, 0x2000 },\n  { 0x0700, 0xf9b0, 0x0000 },\n  { 0x0700, 0xf9b2, 0x0000 },\n  { 0x8700, 0xf9b5, 0x2000 },\n  { 0x0700, 0xf9b4, 0x0000 },\n  { 0x0700, 0xf9b6, 0x0000 },\n  { 0x8700, 0xf9bb, 0x3000 },\n  { 0x8700, 0xf9b9, 0x2000 },\n  { 0x0700, 0xf9b8, 0x0000 },\n  { 0x0700, 0xf9ba, 0x0000 },\n  { 0x8700, 0xf9bd, 0x2000 },\n  { 0x0700, 0xf9bc, 0x0000 },\n  { 0x0700, 0xf9be, 0x0000 },\n  { 0x8700, 0xf9df, 0x6000 },\n  { 0x8700, 0xf9cf, 0x5000 },\n  { 0x8700, 0xf9c7, 0x4000 },\n  { 0x8700, 0xf9c3, 0x3000 },\n  { 0x8700, 0xf9c1, 0x2000 },\n  { 0x0700, 0xf9c0, 0x0000 },\n  { 0x0700, 0xf9c2, 0x0000 },\n  { 0x8700, 0xf9c5, 0x2000 },\n  { 0x0700, 0xf9c4, 0x0000 },\n  { 0x0700, 0xf9c6, 0x0000 },\n  { 0x8700, 0xf9cb, 0x3000 },\n  { 0x8700, 0xf9c9, 0x2000 },\n  { 0x0700, 0xf9c8, 0x0000 },\n  { 0x0700, 0xf9ca, 0x0000 },\n  { 0x8700, 0xf9cd, 0x2000 },\n  { 0x0700, 0xf9cc, 0x0000 },\n  { 0x0700, 0xf9ce, 0x0000 },\n  { 0x8700, 0xf9d7, 0x4000 },\n  { 0x8700, 0xf9d3, 0x3000 },\n  { 0x8700, 0xf9d1, 0x2000 },\n  { 0x0700, 0xf9d0, 0x0000 },\n  { 0x0700, 0xf9d2, 0x0000 },\n  { 0x8700, 0xf9d5, 0x2000 },\n  { 0x0700, 0xf9d4, 0x0000 },\n  { 0x0700, 0xf9d6, 0x0000 },\n  { 0x8700, 0xf9db, 0x3000 },\n  { 0x8700, 0xf9d9, 0x2000 },\n  { 0x0700, 0xf9d8, 0x0000 },\n  { 0x0700, 0xf9da, 0x0000 },\n  { 0x8700, 0xf9dd, 0x2000 },\n  { 0x0700, 0xf9dc, 0x0000 },\n  { 0x0700, 0xf9de, 0x0000 },\n  { 0x8700, 0xf9ef, 0x5000 },\n  { 0x8700, 0xf9e7, 0x4000 },\n  { 0x8700, 0xf9e3, 0x3000 },\n  { 0x8700, 0xf9e1, 0x2000 },\n  { 0x0700, 0xf9e0, 0x0000 },\n  { 0x0700, 0xf9e2, 0x0000 },\n  { 0x8700, 0xf9e5, 0x2000 },\n  { 0x0700, 0xf9e4, 0x0000 },\n  { 0x0700, 0xf9e6, 0x0000 },\n  { 0x8700, 0xf9eb, 0x3000 },\n  { 0x8700, 0xf9e9, 0x2000 },\n  { 0x0700, 0xf9e8, 0x0000 },\n  { 0x0700, 0xf9ea, 0x0000 },\n  { 0x8700, 0xf9ed, 0x2000 },\n  { 0x0700, 0xf9ec, 0x0000 },\n  { 0x0700, 0xf9ee, 0x0000 },\n  { 0x8700, 0xf9f7, 0x4000 },\n  { 0x8700, 0xf9f3, 0x3000 },\n  { 0x8700, 0xf9f1, 0x2000 },\n  { 0x0700, 0xf9f0, 0x0000 },\n  { 0x0700, 0xf9f2, 0x0000 },\n  { 0x8700, 0xf9f5, 0x2000 },\n  { 0x0700, 0xf9f4, 0x0000 },\n  { 0x0700, 0xf9f6, 0x0000 },\n  { 0x8700, 0xf9fb, 0x3000 },\n  { 0x8700, 0xf9f9, 0x2000 },\n  { 0x0700, 0xf9f8, 0x0000 },\n  { 0x0700, 0xf9fa, 0x0000 },\n  { 0x8700, 0xf9fd, 0x2000 },\n  { 0x0700, 0xf9fc, 0x0000 },\n  { 0x0700, 0xf9fe, 0x0000 },\n  { 0x8700, 0xfa41, 0x7000 },\n  { 0x8700, 0xfa1f, 0x6000 },\n  { 0x8700, 0xfa0f, 0x5000 },\n  { 0x8700, 0xfa07, 0x4000 },\n  { 0x8700, 0xfa03, 0x3000 },\n  { 0x8700, 0xfa01, 0x2000 },\n  { 0x0700, 0xfa00, 0x0000 },\n  { 0x0700, 0xfa02, 0x0000 },\n  { 0x8700, 0xfa05, 0x2000 },\n  { 0x0700, 0xfa04, 0x0000 },\n  { 0x0700, 0xfa06, 0x0000 },\n  { 0x8700, 0xfa0b, 0x3000 },\n  { 0x8700, 0xfa09, 0x2000 },\n  { 0x0700, 0xfa08, 0x0000 },\n  { 0x0700, 0xfa0a, 0x0000 },\n  { 0x8700, 0xfa0d, 0x2000 },\n  { 0x0700, 0xfa0c, 0x0000 },\n  { 0x0700, 0xfa0e, 0x0000 },\n  { 0x8700, 0xfa17, 0x4000 },\n  { 0x8700, 0xfa13, 0x3000 },\n  { 0x8700, 0xfa11, 0x2000 },\n  { 0x0700, 0xfa10, 0x0000 },\n  { 0x0700, 0xfa12, 0x0000 },\n  { 0x8700, 0xfa15, 0x2000 },\n  { 0x0700, 0xfa14, 0x0000 },\n  { 0x0700, 0xfa16, 0x0000 },\n  { 0x8700, 0xfa1b, 0x3000 },\n  { 0x8700, 0xfa19, 0x2000 },\n  { 0x0700, 0xfa18, 0x0000 },\n  { 0x0700, 0xfa1a, 0x0000 },\n  { 0x8700, 0xfa1d, 0x2000 },\n  { 0x0700, 0xfa1c, 0x0000 },\n  { 0x0700, 0xfa1e, 0x0000 },\n  { 0x8700, 0xfa31, 0x5000 },\n  { 0x8700, 0xfa27, 0x4000 },\n  { 0x8700, 0xfa23, 0x3000 },\n  { 0x8700, 0xfa21, 0x2000 },\n  { 0x0700, 0xfa20, 0x0000 },\n  { 0x0700, 0xfa22, 0x0000 },\n  { 0x8700, 0xfa25, 0x2000 },\n  { 0x0700, 0xfa24, 0x0000 },\n  { 0x0700, 0xfa26, 0x0000 },\n  { 0x8700, 0xfa2b, 0x3000 },\n  { 0x8700, 0xfa29, 0x2000 },\n  { 0x0700, 0xfa28, 0x0000 },\n  { 0x0700, 0xfa2a, 0x0000 },\n  { 0x8700, 0xfa2d, 0x2000 },\n  { 0x0700, 0xfa2c, 0x0000 },\n  { 0x0700, 0xfa30, 0x0000 },\n  { 0x8700, 0xfa39, 0x4000 },\n  { 0x8700, 0xfa35, 0x3000 },\n  { 0x8700, 0xfa33, 0x2000 },\n  { 0x0700, 0xfa32, 0x0000 },\n  { 0x0700, 0xfa34, 0x0000 },\n  { 0x8700, 0xfa37, 0x2000 },\n  { 0x0700, 0xfa36, 0x0000 },\n  { 0x0700, 0xfa38, 0x0000 },\n  { 0x8700, 0xfa3d, 0x3000 },\n  { 0x8700, 0xfa3b, 0x2000 },\n  { 0x0700, 0xfa3a, 0x0000 },\n  { 0x0700, 0xfa3c, 0x0000 },\n  { 0x8700, 0xfa3f, 0x2000 },\n  { 0x0700, 0xfa3e, 0x0000 },\n  { 0x0700, 0xfa40, 0x0000 },\n  { 0x8700, 0xfa61, 0x6000 },\n  { 0x8700, 0xfa51, 0x5000 },\n  { 0x8700, 0xfa49, 0x4000 },\n  { 0x8700, 0xfa45, 0x3000 },\n  { 0x8700, 0xfa43, 0x2000 },\n  { 0x0700, 0xfa42, 0x0000 },\n  { 0x0700, 0xfa44, 0x0000 },\n  { 0x8700, 0xfa47, 0x2000 },\n  { 0x0700, 0xfa46, 0x0000 },\n  { 0x0700, 0xfa48, 0x0000 },\n  { 0x8700, 0xfa4d, 0x3000 },\n  { 0x8700, 0xfa4b, 0x2000 },\n  { 0x0700, 0xfa4a, 0x0000 },\n  { 0x0700, 0xfa4c, 0x0000 },\n  { 0x8700, 0xfa4f, 0x2000 },\n  { 0x0700, 0xfa4e, 0x0000 },\n  { 0x0700, 0xfa50, 0x0000 },\n  { 0x8700, 0xfa59, 0x4000 },\n  { 0x8700, 0xfa55, 0x3000 },\n  { 0x8700, 0xfa53, 0x2000 },\n  { 0x0700, 0xfa52, 0x0000 },\n  { 0x0700, 0xfa54, 0x0000 },\n  { 0x8700, 0xfa57, 0x2000 },\n  { 0x0700, 0xfa56, 0x0000 },\n  { 0x0700, 0xfa58, 0x0000 },\n  { 0x8700, 0xfa5d, 0x3000 },\n  { 0x8700, 0xfa5b, 0x2000 },\n  { 0x0700, 0xfa5a, 0x0000 },\n  { 0x0700, 0xfa5c, 0x0000 },\n  { 0x8700, 0xfa5f, 0x2000 },\n  { 0x0700, 0xfa5e, 0x0000 },\n  { 0x0700, 0xfa60, 0x0000 },\n  { 0x8500, 0xfb06, 0x5000 },\n  { 0x8700, 0xfa69, 0x4000 },\n  { 0x8700, 0xfa65, 0x3000 },\n  { 0x8700, 0xfa63, 0x2000 },\n  { 0x0700, 0xfa62, 0x0000 },\n  { 0x0700, 0xfa64, 0x0000 },\n  { 0x8700, 0xfa67, 0x2000 },\n  { 0x0700, 0xfa66, 0x0000 },\n  { 0x0700, 0xfa68, 0x0000 },\n  { 0x8500, 0xfb02, 0x3000 },\n  { 0x8500, 0xfb00, 0x2000 },\n  { 0x0700, 0xfa6a, 0x0000 },\n  { 0x0500, 0xfb01, 0x0000 },\n  { 0x8500, 0xfb04, 0x2000 },\n  { 0x0500, 0xfb03, 0x0000 },\n  { 0x0500, 0xfb05, 0x0000 },\n  { 0x8700, 0xfb1f, 0x4000 },\n  { 0x8500, 0xfb16, 0x3000 },\n  { 0x8500, 0xfb14, 0x2000 },\n  { 0x0500, 0xfb13, 0x0000 },\n  { 0x0500, 0xfb15, 0x0000 },\n  { 0x8700, 0xfb1d, 0x2000 },\n  { 0x0500, 0xfb17, 0x0000 },\n  { 0x0c00, 0xfb1e, 0x0000 },\n  { 0x8700, 0xfb23, 0x3000 },\n  { 0x8700, 0xfb21, 0x2000 },\n  { 0x0700, 0xfb20, 0x0000 },\n  { 0x0700, 0xfb22, 0x0000 },\n  { 0x8700, 0xfb25, 0x2000 },\n  { 0x0700, 0xfb24, 0x0000 },\n  { 0x0700, 0xfb26, 0x0000 },\n  { 0x8700, 0xfbac, 0x8000 },\n  { 0x8700, 0xfb6c, 0x7000 },\n  { 0x8700, 0xfb4c, 0x6000 },\n  { 0x8700, 0xfb38, 0x5000 },\n  { 0x8700, 0xfb2f, 0x4000 },\n  { 0x8700, 0xfb2b, 0x3000 },\n  { 0x9900, 0xfb29, 0x2000 },\n  { 0x0700, 0xfb28, 0x0000 },\n  { 0x0700, 0xfb2a, 0x0000 },\n  { 0x8700, 0xfb2d, 0x2000 },\n  { 0x0700, 0xfb2c, 0x0000 },\n  { 0x0700, 0xfb2e, 0x0000 },\n  { 0x8700, 0xfb33, 0x3000 },\n  { 0x8700, 0xfb31, 0x2000 },\n  { 0x0700, 0xfb30, 0x0000 },\n  { 0x0700, 0xfb32, 0x0000 },\n  { 0x8700, 0xfb35, 0x2000 },\n  { 0x0700, 0xfb34, 0x0000 },\n  { 0x0700, 0xfb36, 0x0000 },\n  { 0x8700, 0xfb43, 0x4000 },\n  { 0x8700, 0xfb3c, 0x3000 },\n  { 0x8700, 0xfb3a, 0x2000 },\n  { 0x0700, 0xfb39, 0x0000 },\n  { 0x0700, 0xfb3b, 0x0000 },\n  { 0x8700, 0xfb40, 0x2000 },\n  { 0x0700, 0xfb3e, 0x0000 },\n  { 0x0700, 0xfb41, 0x0000 },\n  { 0x8700, 0xfb48, 0x3000 },\n  { 0x8700, 0xfb46, 0x2000 },\n  { 0x0700, 0xfb44, 0x0000 },\n  { 0x0700, 0xfb47, 0x0000 },\n  { 0x8700, 0xfb4a, 0x2000 },\n  { 0x0700, 0xfb49, 0x0000 },\n  { 0x0700, 0xfb4b, 0x0000 },\n  { 0x8700, 0xfb5c, 0x5000 },\n  { 0x8700, 0xfb54, 0x4000 },\n  { 0x8700, 0xfb50, 0x3000 },\n  { 0x8700, 0xfb4e, 0x2000 },\n  { 0x0700, 0xfb4d, 0x0000 },\n  { 0x0700, 0xfb4f, 0x0000 },\n  { 0x8700, 0xfb52, 0x2000 },\n  { 0x0700, 0xfb51, 0x0000 },\n  { 0x0700, 0xfb53, 0x0000 },\n  { 0x8700, 0xfb58, 0x3000 },\n  { 0x8700, 0xfb56, 0x2000 },\n  { 0x0700, 0xfb55, 0x0000 },\n  { 0x0700, 0xfb57, 0x0000 },\n  { 0x8700, 0xfb5a, 0x2000 },\n  { 0x0700, 0xfb59, 0x0000 },\n  { 0x0700, 0xfb5b, 0x0000 },\n  { 0x8700, 0xfb64, 0x4000 },\n  { 0x8700, 0xfb60, 0x3000 },\n  { 0x8700, 0xfb5e, 0x2000 },\n  { 0x0700, 0xfb5d, 0x0000 },\n  { 0x0700, 0xfb5f, 0x0000 },\n  { 0x8700, 0xfb62, 0x2000 },\n  { 0x0700, 0xfb61, 0x0000 },\n  { 0x0700, 0xfb63, 0x0000 },\n  { 0x8700, 0xfb68, 0x3000 },\n  { 0x8700, 0xfb66, 0x2000 },\n  { 0x0700, 0xfb65, 0x0000 },\n  { 0x0700, 0xfb67, 0x0000 },\n  { 0x8700, 0xfb6a, 0x2000 },\n  { 0x0700, 0xfb69, 0x0000 },\n  { 0x0700, 0xfb6b, 0x0000 },\n  { 0x8700, 0xfb8c, 0x6000 },\n  { 0x8700, 0xfb7c, 0x5000 },\n  { 0x8700, 0xfb74, 0x4000 },\n  { 0x8700, 0xfb70, 0x3000 },\n  { 0x8700, 0xfb6e, 0x2000 },\n  { 0x0700, 0xfb6d, 0x0000 },\n  { 0x0700, 0xfb6f, 0x0000 },\n  { 0x8700, 0xfb72, 0x2000 },\n  { 0x0700, 0xfb71, 0x0000 },\n  { 0x0700, 0xfb73, 0x0000 },\n  { 0x8700, 0xfb78, 0x3000 },\n  { 0x8700, 0xfb76, 0x2000 },\n  { 0x0700, 0xfb75, 0x0000 },\n  { 0x0700, 0xfb77, 0x0000 },\n  { 0x8700, 0xfb7a, 0x2000 },\n  { 0x0700, 0xfb79, 0x0000 },\n  { 0x0700, 0xfb7b, 0x0000 },\n  { 0x8700, 0xfb84, 0x4000 },\n  { 0x8700, 0xfb80, 0x3000 },\n  { 0x8700, 0xfb7e, 0x2000 },\n  { 0x0700, 0xfb7d, 0x0000 },\n  { 0x0700, 0xfb7f, 0x0000 },\n  { 0x8700, 0xfb82, 0x2000 },\n  { 0x0700, 0xfb81, 0x0000 },\n  { 0x0700, 0xfb83, 0x0000 },\n  { 0x8700, 0xfb88, 0x3000 },\n  { 0x8700, 0xfb86, 0x2000 },\n  { 0x0700, 0xfb85, 0x0000 },\n  { 0x0700, 0xfb87, 0x0000 },\n  { 0x8700, 0xfb8a, 0x2000 },\n  { 0x0700, 0xfb89, 0x0000 },\n  { 0x0700, 0xfb8b, 0x0000 },\n  { 0x8700, 0xfb9c, 0x5000 },\n  { 0x8700, 0xfb94, 0x4000 },\n  { 0x8700, 0xfb90, 0x3000 },\n  { 0x8700, 0xfb8e, 0x2000 },\n  { 0x0700, 0xfb8d, 0x0000 },\n  { 0x0700, 0xfb8f, 0x0000 },\n  { 0x8700, 0xfb92, 0x2000 },\n  { 0x0700, 0xfb91, 0x0000 },\n  { 0x0700, 0xfb93, 0x0000 },\n  { 0x8700, 0xfb98, 0x3000 },\n  { 0x8700, 0xfb96, 0x2000 },\n  { 0x0700, 0xfb95, 0x0000 },\n  { 0x0700, 0xfb97, 0x0000 },\n  { 0x8700, 0xfb9a, 0x2000 },\n  { 0x0700, 0xfb99, 0x0000 },\n  { 0x0700, 0xfb9b, 0x0000 },\n  { 0x8700, 0xfba4, 0x4000 },\n  { 0x8700, 0xfba0, 0x3000 },\n  { 0x8700, 0xfb9e, 0x2000 },\n  { 0x0700, 0xfb9d, 0x0000 },\n  { 0x0700, 0xfb9f, 0x0000 },\n  { 0x8700, 0xfba2, 0x2000 },\n  { 0x0700, 0xfba1, 0x0000 },\n  { 0x0700, 0xfba3, 0x0000 },\n  { 0x8700, 0xfba8, 0x3000 },\n  { 0x8700, 0xfba6, 0x2000 },\n  { 0x0700, 0xfba5, 0x0000 },\n  { 0x0700, 0xfba7, 0x0000 },\n  { 0x8700, 0xfbaa, 0x2000 },\n  { 0x0700, 0xfba9, 0x0000 },\n  { 0x0700, 0xfbab, 0x0000 },\n  { 0x8700, 0xfc0d, 0x7000 },\n  { 0x8700, 0xfbed, 0x6000 },\n  { 0x8700, 0xfbdd, 0x5000 },\n  { 0x8700, 0xfbd5, 0x4000 },\n  { 0x8700, 0xfbb0, 0x3000 },\n  { 0x8700, 0xfbae, 0x2000 },\n  { 0x0700, 0xfbad, 0x0000 },\n  { 0x0700, 0xfbaf, 0x0000 },\n  { 0x8700, 0xfbd3, 0x2000 },\n  { 0x0700, 0xfbb1, 0x0000 },\n  { 0x0700, 0xfbd4, 0x0000 },\n  { 0x8700, 0xfbd9, 0x3000 },\n  { 0x8700, 0xfbd7, 0x2000 },\n  { 0x0700, 0xfbd6, 0x0000 },\n  { 0x0700, 0xfbd8, 0x0000 },\n  { 0x8700, 0xfbdb, 0x2000 },\n  { 0x0700, 0xfbda, 0x0000 },\n  { 0x0700, 0xfbdc, 0x0000 },\n  { 0x8700, 0xfbe5, 0x4000 },\n  { 0x8700, 0xfbe1, 0x3000 },\n  { 0x8700, 0xfbdf, 0x2000 },\n  { 0x0700, 0xfbde, 0x0000 },\n  { 0x0700, 0xfbe0, 0x0000 },\n  { 0x8700, 0xfbe3, 0x2000 },\n  { 0x0700, 0xfbe2, 0x0000 },\n  { 0x0700, 0xfbe4, 0x0000 },\n  { 0x8700, 0xfbe9, 0x3000 },\n  { 0x8700, 0xfbe7, 0x2000 },\n  { 0x0700, 0xfbe6, 0x0000 },\n  { 0x0700, 0xfbe8, 0x0000 },\n  { 0x8700, 0xfbeb, 0x2000 },\n  { 0x0700, 0xfbea, 0x0000 },\n  { 0x0700, 0xfbec, 0x0000 },\n  { 0x8700, 0xfbfd, 0x5000 },\n  { 0x8700, 0xfbf5, 0x4000 },\n  { 0x8700, 0xfbf1, 0x3000 },\n  { 0x8700, 0xfbef, 0x2000 },\n  { 0x0700, 0xfbee, 0x0000 },\n  { 0x0700, 0xfbf0, 0x0000 },\n  { 0x8700, 0xfbf3, 0x2000 },\n  { 0x0700, 0xfbf2, 0x0000 },\n  { 0x0700, 0xfbf4, 0x0000 },\n  { 0x8700, 0xfbf9, 0x3000 },\n  { 0x8700, 0xfbf7, 0x2000 },\n  { 0x0700, 0xfbf6, 0x0000 },\n  { 0x0700, 0xfbf8, 0x0000 },\n  { 0x8700, 0xfbfb, 0x2000 },\n  { 0x0700, 0xfbfa, 0x0000 },\n  { 0x0700, 0xfbfc, 0x0000 },\n  { 0x8700, 0xfc05, 0x4000 },\n  { 0x8700, 0xfc01, 0x3000 },\n  { 0x8700, 0xfbff, 0x2000 },\n  { 0x0700, 0xfbfe, 0x0000 },\n  { 0x0700, 0xfc00, 0x0000 },\n  { 0x8700, 0xfc03, 0x2000 },\n  { 0x0700, 0xfc02, 0x0000 },\n  { 0x0700, 0xfc04, 0x0000 },\n  { 0x8700, 0xfc09, 0x3000 },\n  { 0x8700, 0xfc07, 0x2000 },\n  { 0x0700, 0xfc06, 0x0000 },\n  { 0x0700, 0xfc08, 0x0000 },\n  { 0x8700, 0xfc0b, 0x2000 },\n  { 0x0700, 0xfc0a, 0x0000 },\n  { 0x0700, 0xfc0c, 0x0000 },\n  { 0x8700, 0xfc2d, 0x6000 },\n  { 0x8700, 0xfc1d, 0x5000 },\n  { 0x8700, 0xfc15, 0x4000 },\n  { 0x8700, 0xfc11, 0x3000 },\n  { 0x8700, 0xfc0f, 0x2000 },\n  { 0x0700, 0xfc0e, 0x0000 },\n  { 0x0700, 0xfc10, 0x0000 },\n  { 0x8700, 0xfc13, 0x2000 },\n  { 0x0700, 0xfc12, 0x0000 },\n  { 0x0700, 0xfc14, 0x0000 },\n  { 0x8700, 0xfc19, 0x3000 },\n  { 0x8700, 0xfc17, 0x2000 },\n  { 0x0700, 0xfc16, 0x0000 },\n  { 0x0700, 0xfc18, 0x0000 },\n  { 0x8700, 0xfc1b, 0x2000 },\n  { 0x0700, 0xfc1a, 0x0000 },\n  { 0x0700, 0xfc1c, 0x0000 },\n  { 0x8700, 0xfc25, 0x4000 },\n  { 0x8700, 0xfc21, 0x3000 },\n  { 0x8700, 0xfc1f, 0x2000 },\n  { 0x0700, 0xfc1e, 0x0000 },\n  { 0x0700, 0xfc20, 0x0000 },\n  { 0x8700, 0xfc23, 0x2000 },\n  { 0x0700, 0xfc22, 0x0000 },\n  { 0x0700, 0xfc24, 0x0000 },\n  { 0x8700, 0xfc29, 0x3000 },\n  { 0x8700, 0xfc27, 0x2000 },\n  { 0x0700, 0xfc26, 0x0000 },\n  { 0x0700, 0xfc28, 0x0000 },\n  { 0x8700, 0xfc2b, 0x2000 },\n  { 0x0700, 0xfc2a, 0x0000 },\n  { 0x0700, 0xfc2c, 0x0000 },\n  { 0x8700, 0xfc3d, 0x5000 },\n  { 0x8700, 0xfc35, 0x4000 },\n  { 0x8700, 0xfc31, 0x3000 },\n  { 0x8700, 0xfc2f, 0x2000 },\n  { 0x0700, 0xfc2e, 0x0000 },\n  { 0x0700, 0xfc30, 0x0000 },\n  { 0x8700, 0xfc33, 0x2000 },\n  { 0x0700, 0xfc32, 0x0000 },\n  { 0x0700, 0xfc34, 0x0000 },\n  { 0x8700, 0xfc39, 0x3000 },\n  { 0x8700, 0xfc37, 0x2000 },\n  { 0x0700, 0xfc36, 0x0000 },\n  { 0x0700, 0xfc38, 0x0000 },\n  { 0x8700, 0xfc3b, 0x2000 },\n  { 0x0700, 0xfc3a, 0x0000 },\n  { 0x0700, 0xfc3c, 0x0000 },\n  { 0x8700, 0xfc45, 0x4000 },\n  { 0x8700, 0xfc41, 0x3000 },\n  { 0x8700, 0xfc3f, 0x2000 },\n  { 0x0700, 0xfc3e, 0x0000 },\n  { 0x0700, 0xfc40, 0x0000 },\n  { 0x8700, 0xfc43, 0x2000 },\n  { 0x0700, 0xfc42, 0x0000 },\n  { 0x0700, 0xfc44, 0x0000 },\n  { 0x8700, 0xfc49, 0x3000 },\n  { 0x8700, 0xfc47, 0x2000 },\n  { 0x0700, 0xfc46, 0x0000 },\n  { 0x0700, 0xfc48, 0x0000 },\n  { 0x8700, 0xfc4b, 0x2000 },\n  { 0x0700, 0xfc4a, 0x0000 },\n  { 0x0700, 0xfc4c, 0x0000 },\n  { 0x8700, 0xfeac, 0xa000 },\n  { 0x8700, 0xfd5d, 0x9000 },\n  { 0x8700, 0xfccd, 0x8000 },\n  { 0x8700, 0xfc8d, 0x7000 },\n  { 0x8700, 0xfc6d, 0x6000 },\n  { 0x8700, 0xfc5d, 0x5000 },\n  { 0x8700, 0xfc55, 0x4000 },\n  { 0x8700, 0xfc51, 0x3000 },\n  { 0x8700, 0xfc4f, 0x2000 },\n  { 0x0700, 0xfc4e, 0x0000 },\n  { 0x0700, 0xfc50, 0x0000 },\n  { 0x8700, 0xfc53, 0x2000 },\n  { 0x0700, 0xfc52, 0x0000 },\n  { 0x0700, 0xfc54, 0x0000 },\n  { 0x8700, 0xfc59, 0x3000 },\n  { 0x8700, 0xfc57, 0x2000 },\n  { 0x0700, 0xfc56, 0x0000 },\n  { 0x0700, 0xfc58, 0x0000 },\n  { 0x8700, 0xfc5b, 0x2000 },\n  { 0x0700, 0xfc5a, 0x0000 },\n  { 0x0700, 0xfc5c, 0x0000 },\n  { 0x8700, 0xfc65, 0x4000 },\n  { 0x8700, 0xfc61, 0x3000 },\n  { 0x8700, 0xfc5f, 0x2000 },\n  { 0x0700, 0xfc5e, 0x0000 },\n  { 0x0700, 0xfc60, 0x0000 },\n  { 0x8700, 0xfc63, 0x2000 },\n  { 0x0700, 0xfc62, 0x0000 },\n  { 0x0700, 0xfc64, 0x0000 },\n  { 0x8700, 0xfc69, 0x3000 },\n  { 0x8700, 0xfc67, 0x2000 },\n  { 0x0700, 0xfc66, 0x0000 },\n  { 0x0700, 0xfc68, 0x0000 },\n  { 0x8700, 0xfc6b, 0x2000 },\n  { 0x0700, 0xfc6a, 0x0000 },\n  { 0x0700, 0xfc6c, 0x0000 },\n  { 0x8700, 0xfc7d, 0x5000 },\n  { 0x8700, 0xfc75, 0x4000 },\n  { 0x8700, 0xfc71, 0x3000 },\n  { 0x8700, 0xfc6f, 0x2000 },\n  { 0x0700, 0xfc6e, 0x0000 },\n  { 0x0700, 0xfc70, 0x0000 },\n  { 0x8700, 0xfc73, 0x2000 },\n  { 0x0700, 0xfc72, 0x0000 },\n  { 0x0700, 0xfc74, 0x0000 },\n  { 0x8700, 0xfc79, 0x3000 },\n  { 0x8700, 0xfc77, 0x2000 },\n  { 0x0700, 0xfc76, 0x0000 },\n  { 0x0700, 0xfc78, 0x0000 },\n  { 0x8700, 0xfc7b, 0x2000 },\n  { 0x0700, 0xfc7a, 0x0000 },\n  { 0x0700, 0xfc7c, 0x0000 },\n  { 0x8700, 0xfc85, 0x4000 },\n  { 0x8700, 0xfc81, 0x3000 },\n  { 0x8700, 0xfc7f, 0x2000 },\n  { 0x0700, 0xfc7e, 0x0000 },\n  { 0x0700, 0xfc80, 0x0000 },\n  { 0x8700, 0xfc83, 0x2000 },\n  { 0x0700, 0xfc82, 0x0000 },\n  { 0x0700, 0xfc84, 0x0000 },\n  { 0x8700, 0xfc89, 0x3000 },\n  { 0x8700, 0xfc87, 0x2000 },\n  { 0x0700, 0xfc86, 0x0000 },\n  { 0x0700, 0xfc88, 0x0000 },\n  { 0x8700, 0xfc8b, 0x2000 },\n  { 0x0700, 0xfc8a, 0x0000 },\n  { 0x0700, 0xfc8c, 0x0000 },\n  { 0x8700, 0xfcad, 0x6000 },\n  { 0x8700, 0xfc9d, 0x5000 },\n  { 0x8700, 0xfc95, 0x4000 },\n  { 0x8700, 0xfc91, 0x3000 },\n  { 0x8700, 0xfc8f, 0x2000 },\n  { 0x0700, 0xfc8e, 0x0000 },\n  { 0x0700, 0xfc90, 0x0000 },\n  { 0x8700, 0xfc93, 0x2000 },\n  { 0x0700, 0xfc92, 0x0000 },\n  { 0x0700, 0xfc94, 0x0000 },\n  { 0x8700, 0xfc99, 0x3000 },\n  { 0x8700, 0xfc97, 0x2000 },\n  { 0x0700, 0xfc96, 0x0000 },\n  { 0x0700, 0xfc98, 0x0000 },\n  { 0x8700, 0xfc9b, 0x2000 },\n  { 0x0700, 0xfc9a, 0x0000 },\n  { 0x0700, 0xfc9c, 0x0000 },\n  { 0x8700, 0xfca5, 0x4000 },\n  { 0x8700, 0xfca1, 0x3000 },\n  { 0x8700, 0xfc9f, 0x2000 },\n  { 0x0700, 0xfc9e, 0x0000 },\n  { 0x0700, 0xfca0, 0x0000 },\n  { 0x8700, 0xfca3, 0x2000 },\n  { 0x0700, 0xfca2, 0x0000 },\n  { 0x0700, 0xfca4, 0x0000 },\n  { 0x8700, 0xfca9, 0x3000 },\n  { 0x8700, 0xfca7, 0x2000 },\n  { 0x0700, 0xfca6, 0x0000 },\n  { 0x0700, 0xfca8, 0x0000 },\n  { 0x8700, 0xfcab, 0x2000 },\n  { 0x0700, 0xfcaa, 0x0000 },\n  { 0x0700, 0xfcac, 0x0000 },\n  { 0x8700, 0xfcbd, 0x5000 },\n  { 0x8700, 0xfcb5, 0x4000 },\n  { 0x8700, 0xfcb1, 0x3000 },\n  { 0x8700, 0xfcaf, 0x2000 },\n  { 0x0700, 0xfcae, 0x0000 },\n  { 0x0700, 0xfcb0, 0x0000 },\n  { 0x8700, 0xfcb3, 0x2000 },\n  { 0x0700, 0xfcb2, 0x0000 },\n  { 0x0700, 0xfcb4, 0x0000 },\n  { 0x8700, 0xfcb9, 0x3000 },\n  { 0x8700, 0xfcb7, 0x2000 },\n  { 0x0700, 0xfcb6, 0x0000 },\n  { 0x0700, 0xfcb8, 0x0000 },\n  { 0x8700, 0xfcbb, 0x2000 },\n  { 0x0700, 0xfcba, 0x0000 },\n  { 0x0700, 0xfcbc, 0x0000 },\n  { 0x8700, 0xfcc5, 0x4000 },\n  { 0x8700, 0xfcc1, 0x3000 },\n  { 0x8700, 0xfcbf, 0x2000 },\n  { 0x0700, 0xfcbe, 0x0000 },\n  { 0x0700, 0xfcc0, 0x0000 },\n  { 0x8700, 0xfcc3, 0x2000 },\n  { 0x0700, 0xfcc2, 0x0000 },\n  { 0x0700, 0xfcc4, 0x0000 },\n  { 0x8700, 0xfcc9, 0x3000 },\n  { 0x8700, 0xfcc7, 0x2000 },\n  { 0x0700, 0xfcc6, 0x0000 },\n  { 0x0700, 0xfcc8, 0x0000 },\n  { 0x8700, 0xfccb, 0x2000 },\n  { 0x0700, 0xfcca, 0x0000 },\n  { 0x0700, 0xfccc, 0x0000 },\n  { 0x8700, 0xfd0d, 0x7000 },\n  { 0x8700, 0xfced, 0x6000 },\n  { 0x8700, 0xfcdd, 0x5000 },\n  { 0x8700, 0xfcd5, 0x4000 },\n  { 0x8700, 0xfcd1, 0x3000 },\n  { 0x8700, 0xfccf, 0x2000 },\n  { 0x0700, 0xfcce, 0x0000 },\n  { 0x0700, 0xfcd0, 0x0000 },\n  { 0x8700, 0xfcd3, 0x2000 },\n  { 0x0700, 0xfcd2, 0x0000 },\n  { 0x0700, 0xfcd4, 0x0000 },\n  { 0x8700, 0xfcd9, 0x3000 },\n  { 0x8700, 0xfcd7, 0x2000 },\n  { 0x0700, 0xfcd6, 0x0000 },\n  { 0x0700, 0xfcd8, 0x0000 },\n  { 0x8700, 0xfcdb, 0x2000 },\n  { 0x0700, 0xfcda, 0x0000 },\n  { 0x0700, 0xfcdc, 0x0000 },\n  { 0x8700, 0xfce5, 0x4000 },\n  { 0x8700, 0xfce1, 0x3000 },\n  { 0x8700, 0xfcdf, 0x2000 },\n  { 0x0700, 0xfcde, 0x0000 },\n  { 0x0700, 0xfce0, 0x0000 },\n  { 0x8700, 0xfce3, 0x2000 },\n  { 0x0700, 0xfce2, 0x0000 },\n  { 0x0700, 0xfce4, 0x0000 },\n  { 0x8700, 0xfce9, 0x3000 },\n  { 0x8700, 0xfce7, 0x2000 },\n  { 0x0700, 0xfce6, 0x0000 },\n  { 0x0700, 0xfce8, 0x0000 },\n  { 0x8700, 0xfceb, 0x2000 },\n  { 0x0700, 0xfcea, 0x0000 },\n  { 0x0700, 0xfcec, 0x0000 },\n  { 0x8700, 0xfcfd, 0x5000 },\n  { 0x8700, 0xfcf5, 0x4000 },\n  { 0x8700, 0xfcf1, 0x3000 },\n  { 0x8700, 0xfcef, 0x2000 },\n  { 0x0700, 0xfcee, 0x0000 },\n  { 0x0700, 0xfcf0, 0x0000 },\n  { 0x8700, 0xfcf3, 0x2000 },\n  { 0x0700, 0xfcf2, 0x0000 },\n  { 0x0700, 0xfcf4, 0x0000 },\n  { 0x8700, 0xfcf9, 0x3000 },\n  { 0x8700, 0xfcf7, 0x2000 },\n  { 0x0700, 0xfcf6, 0x0000 },\n  { 0x0700, 0xfcf8, 0x0000 },\n  { 0x8700, 0xfcfb, 0x2000 },\n  { 0x0700, 0xfcfa, 0x0000 },\n  { 0x0700, 0xfcfc, 0x0000 },\n  { 0x8700, 0xfd05, 0x4000 },\n  { 0x8700, 0xfd01, 0x3000 },\n  { 0x8700, 0xfcff, 0x2000 },\n  { 0x0700, 0xfcfe, 0x0000 },\n  { 0x0700, 0xfd00, 0x0000 },\n  { 0x8700, 0xfd03, 0x2000 },\n  { 0x0700, 0xfd02, 0x0000 },\n  { 0x0700, 0xfd04, 0x0000 },\n  { 0x8700, 0xfd09, 0x3000 },\n  { 0x8700, 0xfd07, 0x2000 },\n  { 0x0700, 0xfd06, 0x0000 },\n  { 0x0700, 0xfd08, 0x0000 },\n  { 0x8700, 0xfd0b, 0x2000 },\n  { 0x0700, 0xfd0a, 0x0000 },\n  { 0x0700, 0xfd0c, 0x0000 },\n  { 0x8700, 0xfd2d, 0x6000 },\n  { 0x8700, 0xfd1d, 0x5000 },\n  { 0x8700, 0xfd15, 0x4000 },\n  { 0x8700, 0xfd11, 0x3000 },\n  { 0x8700, 0xfd0f, 0x2000 },\n  { 0x0700, 0xfd0e, 0x0000 },\n  { 0x0700, 0xfd10, 0x0000 },\n  { 0x8700, 0xfd13, 0x2000 },\n  { 0x0700, 0xfd12, 0x0000 },\n  { 0x0700, 0xfd14, 0x0000 },\n  { 0x8700, 0xfd19, 0x3000 },\n  { 0x8700, 0xfd17, 0x2000 },\n  { 0x0700, 0xfd16, 0x0000 },\n  { 0x0700, 0xfd18, 0x0000 },\n  { 0x8700, 0xfd1b, 0x2000 },\n  { 0x0700, 0xfd1a, 0x0000 },\n  { 0x0700, 0xfd1c, 0x0000 },\n  { 0x8700, 0xfd25, 0x4000 },\n  { 0x8700, 0xfd21, 0x3000 },\n  { 0x8700, 0xfd1f, 0x2000 },\n  { 0x0700, 0xfd1e, 0x0000 },\n  { 0x0700, 0xfd20, 0x0000 },\n  { 0x8700, 0xfd23, 0x2000 },\n  { 0x0700, 0xfd22, 0x0000 },\n  { 0x0700, 0xfd24, 0x0000 },\n  { 0x8700, 0xfd29, 0x3000 },\n  { 0x8700, 0xfd27, 0x2000 },\n  { 0x0700, 0xfd26, 0x0000 },\n  { 0x0700, 0xfd28, 0x0000 },\n  { 0x8700, 0xfd2b, 0x2000 },\n  { 0x0700, 0xfd2a, 0x0000 },\n  { 0x0700, 0xfd2c, 0x0000 },\n  { 0x8700, 0xfd3d, 0x5000 },\n  { 0x8700, 0xfd35, 0x4000 },\n  { 0x8700, 0xfd31, 0x3000 },\n  { 0x8700, 0xfd2f, 0x2000 },\n  { 0x0700, 0xfd2e, 0x0000 },\n  { 0x0700, 0xfd30, 0x0000 },\n  { 0x8700, 0xfd33, 0x2000 },\n  { 0x0700, 0xfd32, 0x0000 },\n  { 0x0700, 0xfd34, 0x0000 },\n  { 0x8700, 0xfd39, 0x3000 },\n  { 0x8700, 0xfd37, 0x2000 },\n  { 0x0700, 0xfd36, 0x0000 },\n  { 0x0700, 0xfd38, 0x0000 },\n  { 0x8700, 0xfd3b, 0x2000 },\n  { 0x0700, 0xfd3a, 0x0000 },\n  { 0x0700, 0xfd3c, 0x0000 },\n  { 0x8700, 0xfd55, 0x4000 },\n  { 0x8700, 0xfd51, 0x3000 },\n  { 0x9200, 0xfd3f, 0x2000 },\n  { 0x1600, 0xfd3e, 0x0000 },\n  { 0x0700, 0xfd50, 0x0000 },\n  { 0x8700, 0xfd53, 0x2000 },\n  { 0x0700, 0xfd52, 0x0000 },\n  { 0x0700, 0xfd54, 0x0000 },\n  { 0x8700, 0xfd59, 0x3000 },\n  { 0x8700, 0xfd57, 0x2000 },\n  { 0x0700, 0xfd56, 0x0000 },\n  { 0x0700, 0xfd58, 0x0000 },\n  { 0x8700, 0xfd5b, 0x2000 },\n  { 0x0700, 0xfd5a, 0x0000 },\n  { 0x0700, 0xfd5c, 0x0000 },\n  { 0x8c00, 0xfe09, 0x8000 },\n  { 0x8700, 0xfd9f, 0x7000 },\n  { 0x8700, 0xfd7d, 0x6000 },\n  { 0x8700, 0xfd6d, 0x5000 },\n  { 0x8700, 0xfd65, 0x4000 },\n  { 0x8700, 0xfd61, 0x3000 },\n  { 0x8700, 0xfd5f, 0x2000 },\n  { 0x0700, 0xfd5e, 0x0000 },\n  { 0x0700, 0xfd60, 0x0000 },\n  { 0x8700, 0xfd63, 0x2000 },\n  { 0x0700, 0xfd62, 0x0000 },\n  { 0x0700, 0xfd64, 0x0000 },\n  { 0x8700, 0xfd69, 0x3000 },\n  { 0x8700, 0xfd67, 0x2000 },\n  { 0x0700, 0xfd66, 0x0000 },\n  { 0x0700, 0xfd68, 0x0000 },\n  { 0x8700, 0xfd6b, 0x2000 },\n  { 0x0700, 0xfd6a, 0x0000 },\n  { 0x0700, 0xfd6c, 0x0000 },\n  { 0x8700, 0xfd75, 0x4000 },\n  { 0x8700, 0xfd71, 0x3000 },\n  { 0x8700, 0xfd6f, 0x2000 },\n  { 0x0700, 0xfd6e, 0x0000 },\n  { 0x0700, 0xfd70, 0x0000 },\n  { 0x8700, 0xfd73, 0x2000 },\n  { 0x0700, 0xfd72, 0x0000 },\n  { 0x0700, 0xfd74, 0x0000 },\n  { 0x8700, 0xfd79, 0x3000 },\n  { 0x8700, 0xfd77, 0x2000 },\n  { 0x0700, 0xfd76, 0x0000 },\n  { 0x0700, 0xfd78, 0x0000 },\n  { 0x8700, 0xfd7b, 0x2000 },\n  { 0x0700, 0xfd7a, 0x0000 },\n  { 0x0700, 0xfd7c, 0x0000 },\n  { 0x8700, 0xfd8d, 0x5000 },\n  { 0x8700, 0xfd85, 0x4000 },\n  { 0x8700, 0xfd81, 0x3000 },\n  { 0x8700, 0xfd7f, 0x2000 },\n  { 0x0700, 0xfd7e, 0x0000 },\n  { 0x0700, 0xfd80, 0x0000 },\n  { 0x8700, 0xfd83, 0x2000 },\n  { 0x0700, 0xfd82, 0x0000 },\n  { 0x0700, 0xfd84, 0x0000 },\n  { 0x8700, 0xfd89, 0x3000 },\n  { 0x8700, 0xfd87, 0x2000 },\n  { 0x0700, 0xfd86, 0x0000 },\n  { 0x0700, 0xfd88, 0x0000 },\n  { 0x8700, 0xfd8b, 0x2000 },\n  { 0x0700, 0xfd8a, 0x0000 },\n  { 0x0700, 0xfd8c, 0x0000 },\n  { 0x8700, 0xfd97, 0x4000 },\n  { 0x8700, 0xfd93, 0x3000 },\n  { 0x8700, 0xfd8f, 0x2000 },\n  { 0x0700, 0xfd8e, 0x0000 },\n  { 0x0700, 0xfd92, 0x0000 },\n  { 0x8700, 0xfd95, 0x2000 },\n  { 0x0700, 0xfd94, 0x0000 },\n  { 0x0700, 0xfd96, 0x0000 },\n  { 0x8700, 0xfd9b, 0x3000 },\n  { 0x8700, 0xfd99, 0x2000 },\n  { 0x0700, 0xfd98, 0x0000 },\n  { 0x0700, 0xfd9a, 0x0000 },\n  { 0x8700, 0xfd9d, 0x2000 },\n  { 0x0700, 0xfd9c, 0x0000 },\n  { 0x0700, 0xfd9e, 0x0000 },\n  { 0x8700, 0xfdbf, 0x6000 },\n  { 0x8700, 0xfdaf, 0x5000 },\n  { 0x8700, 0xfda7, 0x4000 },\n  { 0x8700, 0xfda3, 0x3000 },\n  { 0x8700, 0xfda1, 0x2000 },\n  { 0x0700, 0xfda0, 0x0000 },\n  { 0x0700, 0xfda2, 0x0000 },\n  { 0x8700, 0xfda5, 0x2000 },\n  { 0x0700, 0xfda4, 0x0000 },\n  { 0x0700, 0xfda6, 0x0000 },\n  { 0x8700, 0xfdab, 0x3000 },\n  { 0x8700, 0xfda9, 0x2000 },\n  { 0x0700, 0xfda8, 0x0000 },\n  { 0x0700, 0xfdaa, 0x0000 },\n  { 0x8700, 0xfdad, 0x2000 },\n  { 0x0700, 0xfdac, 0x0000 },\n  { 0x0700, 0xfdae, 0x0000 },\n  { 0x8700, 0xfdb7, 0x4000 },\n  { 0x8700, 0xfdb3, 0x3000 },\n  { 0x8700, 0xfdb1, 0x2000 },\n  { 0x0700, 0xfdb0, 0x0000 },\n  { 0x0700, 0xfdb2, 0x0000 },\n  { 0x8700, 0xfdb5, 0x2000 },\n  { 0x0700, 0xfdb4, 0x0000 },\n  { 0x0700, 0xfdb6, 0x0000 },\n  { 0x8700, 0xfdbb, 0x3000 },\n  { 0x8700, 0xfdb9, 0x2000 },\n  { 0x0700, 0xfdb8, 0x0000 },\n  { 0x0700, 0xfdba, 0x0000 },\n  { 0x8700, 0xfdbd, 0x2000 },\n  { 0x0700, 0xfdbc, 0x0000 },\n  { 0x0700, 0xfdbe, 0x0000 },\n  { 0x8700, 0xfdf7, 0x5000 },\n  { 0x8700, 0xfdc7, 0x4000 },\n  { 0x8700, 0xfdc3, 0x3000 },\n  { 0x8700, 0xfdc1, 0x2000 },\n  { 0x0700, 0xfdc0, 0x0000 },\n  { 0x0700, 0xfdc2, 0x0000 },\n  { 0x8700, 0xfdc5, 0x2000 },\n  { 0x0700, 0xfdc4, 0x0000 },\n  { 0x0700, 0xfdc6, 0x0000 },\n  { 0x8700, 0xfdf3, 0x3000 },\n  { 0x8700, 0xfdf1, 0x2000 },\n  { 0x0700, 0xfdf0, 0x0000 },\n  { 0x0700, 0xfdf2, 0x0000 },\n  { 0x8700, 0xfdf5, 0x2000 },\n  { 0x0700, 0xfdf4, 0x0000 },\n  { 0x0700, 0xfdf6, 0x0000 },\n  { 0x8c00, 0xfe01, 0x4000 },\n  { 0x8700, 0xfdfb, 0x3000 },\n  { 0x8700, 0xfdf9, 0x2000 },\n  { 0x0700, 0xfdf8, 0x0000 },\n  { 0x0700, 0xfdfa, 0x0000 },\n  { 0x9a00, 0xfdfd, 0x2000 },\n  { 0x1700, 0xfdfc, 0x0000 },\n  { 0x0c00, 0xfe00, 0x0000 },\n  { 0x8c00, 0xfe05, 0x3000 },\n  { 0x8c00, 0xfe03, 0x2000 },\n  { 0x0c00, 0xfe02, 0x0000 },\n  { 0x0c00, 0xfe04, 0x0000 },\n  { 0x8c00, 0xfe07, 0x2000 },\n  { 0x0c00, 0xfe06, 0x0000 },\n  { 0x0c00, 0xfe08, 0x0000 },\n  { 0x9900, 0xfe66, 0x7000 },\n  { 0x9500, 0xfe45, 0x6000 },\n  { 0x9600, 0xfe35, 0x5000 },\n  { 0x8c00, 0xfe21, 0x4000 },\n  { 0x8c00, 0xfe0d, 0x3000 },\n  { 0x8c00, 0xfe0b, 0x2000 },\n  { 0x0c00, 0xfe0a, 0x0000 },\n  { 0x0c00, 0xfe0c, 0x0000 },\n  { 0x8c00, 0xfe0f, 0x2000 },\n  { 0x0c00, 0xfe0e, 0x0000 },\n  { 0x0c00, 0xfe20, 0x0000 },\n  { 0x9100, 0xfe31, 0x3000 },\n  { 0x8c00, 0xfe23, 0x2000 },\n  { 0x0c00, 0xfe22, 0x0000 },\n  { 0x1500, 0xfe30, 0x0000 },\n  { 0x9000, 0xfe33, 0x2000 },\n  { 0x1100, 0xfe32, 0x0000 },\n  { 0x1000, 0xfe34, 0x0000 },\n  { 0x9600, 0xfe3d, 0x4000 },\n  { 0x9600, 0xfe39, 0x3000 },\n  { 0x9600, 0xfe37, 0x2000 },\n  { 0x1200, 0xfe36, 0x0000 },\n  { 0x1200, 0xfe38, 0x0000 },\n  { 0x9600, 0xfe3b, 0x2000 },\n  { 0x1200, 0xfe3a, 0x0000 },\n  { 0x1200, 0xfe3c, 0x0000 },\n  { 0x9600, 0xfe41, 0x3000 },\n  { 0x9600, 0xfe3f, 0x2000 },\n  { 0x1200, 0xfe3e, 0x0000 },\n  { 0x1200, 0xfe40, 0x0000 },\n  { 0x9600, 0xfe43, 0x2000 },\n  { 0x1200, 0xfe42, 0x0000 },\n  { 0x1200, 0xfe44, 0x0000 },\n  { 0x9500, 0xfe56, 0x5000 },\n  { 0x9000, 0xfe4d, 0x4000 },\n  { 0x9500, 0xfe49, 0x3000 },\n  { 0x9600, 0xfe47, 0x2000 },\n  { 0x1500, 0xfe46, 0x0000 },\n  { 0x1200, 0xfe48, 0x0000 },\n  { 0x9500, 0xfe4b, 0x2000 },\n  { 0x1500, 0xfe4a, 0x0000 },\n  { 0x1500, 0xfe4c, 0x0000 },\n  { 0x9500, 0xfe51, 0x3000 },\n  { 0x9000, 0xfe4f, 0x2000 },\n  { 0x1000, 0xfe4e, 0x0000 },\n  { 0x1500, 0xfe50, 0x0000 },\n  { 0x9500, 0xfe54, 0x2000 },\n  { 0x1500, 0xfe52, 0x0000 },\n  { 0x1500, 0xfe55, 0x0000 },\n  { 0x9200, 0xfe5e, 0x4000 },\n  { 0x9200, 0xfe5a, 0x3000 },\n  { 0x9100, 0xfe58, 0x2000 },\n  { 0x1500, 0xfe57, 0x0000 },\n  { 0x1600, 0xfe59, 0x0000 },\n  { 0x9200, 0xfe5c, 0x2000 },\n  { 0x1600, 0xfe5b, 0x0000 },\n  { 0x1600, 0xfe5d, 0x0000 },\n  { 0x9900, 0xfe62, 0x3000 },\n  { 0x9500, 0xfe60, 0x2000 },\n  { 0x1500, 0xfe5f, 0x0000 },\n  { 0x1500, 0xfe61, 0x0000 },\n  { 0x9900, 0xfe64, 0x2000 },\n  { 0x1100, 0xfe63, 0x0000 },\n  { 0x1900, 0xfe65, 0x0000 },\n  { 0x8700, 0xfe8c, 0x6000 },\n  { 0x8700, 0xfe7c, 0x5000 },\n  { 0x8700, 0xfe73, 0x4000 },\n  { 0x9500, 0xfe6b, 0x3000 },\n  { 0x9700, 0xfe69, 0x2000 },\n  { 0x1500, 0xfe68, 0x0000 },\n  { 0x1500, 0xfe6a, 0x0000 },\n  { 0x8700, 0xfe71, 0x2000 },\n  { 0x0700, 0xfe70, 0x0000 },\n  { 0x0700, 0xfe72, 0x0000 },\n  { 0x8700, 0xfe78, 0x3000 },\n  { 0x8700, 0xfe76, 0x2000 },\n  { 0x0700, 0xfe74, 0x0000 },\n  { 0x0700, 0xfe77, 0x0000 },\n  { 0x8700, 0xfe7a, 0x2000 },\n  { 0x0700, 0xfe79, 0x0000 },\n  { 0x0700, 0xfe7b, 0x0000 },\n  { 0x8700, 0xfe84, 0x4000 },\n  { 0x8700, 0xfe80, 0x3000 },\n  { 0x8700, 0xfe7e, 0x2000 },\n  { 0x0700, 0xfe7d, 0x0000 },\n  { 0x0700, 0xfe7f, 0x0000 },\n  { 0x8700, 0xfe82, 0x2000 },\n  { 0x0700, 0xfe81, 0x0000 },\n  { 0x0700, 0xfe83, 0x0000 },\n  { 0x8700, 0xfe88, 0x3000 },\n  { 0x8700, 0xfe86, 0x2000 },\n  { 0x0700, 0xfe85, 0x0000 },\n  { 0x0700, 0xfe87, 0x0000 },\n  { 0x8700, 0xfe8a, 0x2000 },\n  { 0x0700, 0xfe89, 0x0000 },\n  { 0x0700, 0xfe8b, 0x0000 },\n  { 0x8700, 0xfe9c, 0x5000 },\n  { 0x8700, 0xfe94, 0x4000 },\n  { 0x8700, 0xfe90, 0x3000 },\n  { 0x8700, 0xfe8e, 0x2000 },\n  { 0x0700, 0xfe8d, 0x0000 },\n  { 0x0700, 0xfe8f, 0x0000 },\n  { 0x8700, 0xfe92, 0x2000 },\n  { 0x0700, 0xfe91, 0x0000 },\n  { 0x0700, 0xfe93, 0x0000 },\n  { 0x8700, 0xfe98, 0x3000 },\n  { 0x8700, 0xfe96, 0x2000 },\n  { 0x0700, 0xfe95, 0x0000 },\n  { 0x0700, 0xfe97, 0x0000 },\n  { 0x8700, 0xfe9a, 0x2000 },\n  { 0x0700, 0xfe99, 0x0000 },\n  { 0x0700, 0xfe9b, 0x0000 },\n  { 0x8700, 0xfea4, 0x4000 },\n  { 0x8700, 0xfea0, 0x3000 },\n  { 0x8700, 0xfe9e, 0x2000 },\n  { 0x0700, 0xfe9d, 0x0000 },\n  { 0x0700, 0xfe9f, 0x0000 },\n  { 0x8700, 0xfea2, 0x2000 },\n  { 0x0700, 0xfea1, 0x0000 },\n  { 0x0700, 0xfea3, 0x0000 },\n  { 0x8700, 0xfea8, 0x3000 },\n  { 0x8700, 0xfea6, 0x2000 },\n  { 0x0700, 0xfea5, 0x0000 },\n  { 0x0700, 0xfea7, 0x0000 },\n  { 0x8700, 0xfeaa, 0x2000 },\n  { 0x0700, 0xfea9, 0x0000 },\n  { 0x0700, 0xfeab, 0x0000 },\n  { 0x8700, 0xffaf, 0x9000 },\n  { 0x8900, 0xff2f, 0x8020 },\n  { 0x8700, 0xfeec, 0x7000 },\n  { 0x8700, 0xfecc, 0x6000 },\n  { 0x8700, 0xfebc, 0x5000 },\n  { 0x8700, 0xfeb4, 0x4000 },\n  { 0x8700, 0xfeb0, 0x3000 },\n  { 0x8700, 0xfeae, 0x2000 },\n  { 0x0700, 0xfead, 0x0000 },\n  { 0x0700, 0xfeaf, 0x0000 },\n  { 0x8700, 0xfeb2, 0x2000 },\n  { 0x0700, 0xfeb1, 0x0000 },\n  { 0x0700, 0xfeb3, 0x0000 },\n  { 0x8700, 0xfeb8, 0x3000 },\n  { 0x8700, 0xfeb6, 0x2000 },\n  { 0x0700, 0xfeb5, 0x0000 },\n  { 0x0700, 0xfeb7, 0x0000 },\n  { 0x8700, 0xfeba, 0x2000 },\n  { 0x0700, 0xfeb9, 0x0000 },\n  { 0x0700, 0xfebb, 0x0000 },\n  { 0x8700, 0xfec4, 0x4000 },\n  { 0x8700, 0xfec0, 0x3000 },\n  { 0x8700, 0xfebe, 0x2000 },\n  { 0x0700, 0xfebd, 0x0000 },\n  { 0x0700, 0xfebf, 0x0000 },\n  { 0x8700, 0xfec2, 0x2000 },\n  { 0x0700, 0xfec1, 0x0000 },\n  { 0x0700, 0xfec3, 0x0000 },\n  { 0x8700, 0xfec8, 0x3000 },\n  { 0x8700, 0xfec6, 0x2000 },\n  { 0x0700, 0xfec5, 0x0000 },\n  { 0x0700, 0xfec7, 0x0000 },\n  { 0x8700, 0xfeca, 0x2000 },\n  { 0x0700, 0xfec9, 0x0000 },\n  { 0x0700, 0xfecb, 0x0000 },\n  { 0x8700, 0xfedc, 0x5000 },\n  { 0x8700, 0xfed4, 0x4000 },\n  { 0x8700, 0xfed0, 0x3000 },\n  { 0x8700, 0xfece, 0x2000 },\n  { 0x0700, 0xfecd, 0x0000 },\n  { 0x0700, 0xfecf, 0x0000 },\n  { 0x8700, 0xfed2, 0x2000 },\n  { 0x0700, 0xfed1, 0x0000 },\n  { 0x0700, 0xfed3, 0x0000 },\n  { 0x8700, 0xfed8, 0x3000 },\n  { 0x8700, 0xfed6, 0x2000 },\n  { 0x0700, 0xfed5, 0x0000 },\n  { 0x0700, 0xfed7, 0x0000 },\n  { 0x8700, 0xfeda, 0x2000 },\n  { 0x0700, 0xfed9, 0x0000 },\n  { 0x0700, 0xfedb, 0x0000 },\n  { 0x8700, 0xfee4, 0x4000 },\n  { 0x8700, 0xfee0, 0x3000 },\n  { 0x8700, 0xfede, 0x2000 },\n  { 0x0700, 0xfedd, 0x0000 },\n  { 0x0700, 0xfedf, 0x0000 },\n  { 0x8700, 0xfee2, 0x2000 },\n  { 0x0700, 0xfee1, 0x0000 },\n  { 0x0700, 0xfee3, 0x0000 },\n  { 0x8700, 0xfee8, 0x3000 },\n  { 0x8700, 0xfee6, 0x2000 },\n  { 0x0700, 0xfee5, 0x0000 },\n  { 0x0700, 0xfee7, 0x0000 },\n  { 0x8700, 0xfeea, 0x2000 },\n  { 0x0700, 0xfee9, 0x0000 },\n  { 0x0700, 0xfeeb, 0x0000 },\n  { 0x9500, 0xff0f, 0x6000 },\n  { 0x8700, 0xfefc, 0x5000 },\n  { 0x8700, 0xfef4, 0x4000 },\n  { 0x8700, 0xfef0, 0x3000 },\n  { 0x8700, 0xfeee, 0x2000 },\n  { 0x0700, 0xfeed, 0x0000 },\n  { 0x0700, 0xfeef, 0x0000 },\n  { 0x8700, 0xfef2, 0x2000 },\n  { 0x0700, 0xfef1, 0x0000 },\n  { 0x0700, 0xfef3, 0x0000 },\n  { 0x8700, 0xfef8, 0x3000 },\n  { 0x8700, 0xfef6, 0x2000 },\n  { 0x0700, 0xfef5, 0x0000 },\n  { 0x0700, 0xfef7, 0x0000 },\n  { 0x8700, 0xfefa, 0x2000 },\n  { 0x0700, 0xfef9, 0x0000 },\n  { 0x0700, 0xfefb, 0x0000 },\n  { 0x9500, 0xff07, 0x4000 },\n  { 0x9500, 0xff03, 0x3000 },\n  { 0x9500, 0xff01, 0x2000 },\n  { 0x0100, 0xfeff, 0x0000 },\n  { 0x1500, 0xff02, 0x0000 },\n  { 0x9500, 0xff05, 0x2000 },\n  { 0x1700, 0xff04, 0x0000 },\n  { 0x1500, 0xff06, 0x0000 },\n  { 0x9900, 0xff0b, 0x3000 },\n  { 0x9200, 0xff09, 0x2000 },\n  { 0x1600, 0xff08, 0x0000 },\n  { 0x1500, 0xff0a, 0x0000 },\n  { 0x9100, 0xff0d, 0x2000 },\n  { 0x1500, 0xff0c, 0x0000 },\n  { 0x1500, 0xff0e, 0x0000 },\n  { 0x9500, 0xff1f, 0x5000 },\n  { 0x8d00, 0xff17, 0x4000 },\n  { 0x8d00, 0xff13, 0x3000 },\n  { 0x8d00, 0xff11, 0x2000 },\n  { 0x0d00, 0xff10, 0x0000 },\n  { 0x0d00, 0xff12, 0x0000 },\n  { 0x8d00, 0xff15, 0x2000 },\n  { 0x0d00, 0xff14, 0x0000 },\n  { 0x0d00, 0xff16, 0x0000 },\n  { 0x9500, 0xff1b, 0x3000 },\n  { 0x8d00, 0xff19, 0x2000 },\n  { 0x0d00, 0xff18, 0x0000 },\n  { 0x1500, 0xff1a, 0x0000 },\n  { 0x9900, 0xff1d, 0x2000 },\n  { 0x1900, 0xff1c, 0x0000 },\n  { 0x1900, 0xff1e, 0x0000 },\n  { 0x8900, 0xff27, 0x4020 },\n  { 0x8900, 0xff23, 0x3020 },\n  { 0x8900, 0xff21, 0x2020 },\n  { 0x1500, 0xff20, 0x0000 },\n  { 0x0900, 0xff22, 0x0020 },\n  { 0x8900, 0xff25, 0x2020 },\n  { 0x0900, 0xff24, 0x0020 },\n  { 0x0900, 0xff26, 0x0020 },\n  { 0x8900, 0xff2b, 0x3020 },\n  { 0x8900, 0xff29, 0x2020 },\n  { 0x0900, 0xff28, 0x0020 },\n  { 0x0900, 0xff2a, 0x0020 },\n  { 0x8900, 0xff2d, 0x2020 },\n  { 0x0900, 0xff2c, 0x0020 },\n  { 0x0900, 0xff2e, 0x0020 },\n  { 0x8700, 0xff6f, 0x7000 },\n  { 0x8500, 0xff4f, 0x6fe0 },\n  { 0x9000, 0xff3f, 0x5000 },\n  { 0x8900, 0xff37, 0x4020 },\n  { 0x8900, 0xff33, 0x3020 },\n  { 0x8900, 0xff31, 0x2020 },\n  { 0x0900, 0xff30, 0x0020 },\n  { 0x0900, 0xff32, 0x0020 },\n  { 0x8900, 0xff35, 0x2020 },\n  { 0x0900, 0xff34, 0x0020 },\n  { 0x0900, 0xff36, 0x0020 },\n  { 0x9600, 0xff3b, 0x3000 },\n  { 0x8900, 0xff39, 0x2020 },\n  { 0x0900, 0xff38, 0x0020 },\n  { 0x0900, 0xff3a, 0x0020 },\n  { 0x9200, 0xff3d, 0x2000 },\n  { 0x1500, 0xff3c, 0x0000 },\n  { 0x1800, 0xff3e, 0x0000 },\n  { 0x8500, 0xff47, 0x4fe0 },\n  { 0x8500, 0xff43, 0x3fe0 },\n  { 0x8500, 0xff41, 0x2fe0 },\n  { 0x1800, 0xff40, 0x0000 },\n  { 0x0500, 0xff42, 0x0fe0 },\n  { 0x8500, 0xff45, 0x2fe0 },\n  { 0x0500, 0xff44, 0x0fe0 },\n  { 0x0500, 0xff46, 0x0fe0 },\n  { 0x8500, 0xff4b, 0x3fe0 },\n  { 0x8500, 0xff49, 0x2fe0 },\n  { 0x0500, 0xff48, 0x0fe0 },\n  { 0x0500, 0xff4a, 0x0fe0 },\n  { 0x8500, 0xff4d, 0x2fe0 },\n  { 0x0500, 0xff4c, 0x0fe0 },\n  { 0x0500, 0xff4e, 0x0fe0 },\n  { 0x9600, 0xff5f, 0x5000 },\n  { 0x8500, 0xff57, 0x4fe0 },\n  { 0x8500, 0xff53, 0x3fe0 },\n  { 0x8500, 0xff51, 0x2fe0 },\n  { 0x0500, 0xff50, 0x0fe0 },\n  { 0x0500, 0xff52, 0x0fe0 },\n  { 0x8500, 0xff55, 0x2fe0 },\n  { 0x0500, 0xff54, 0x0fe0 },\n  { 0x0500, 0xff56, 0x0fe0 },\n  { 0x9600, 0xff5b, 0x3000 },\n  { 0x8500, 0xff59, 0x2fe0 },\n  { 0x0500, 0xff58, 0x0fe0 },\n  { 0x0500, 0xff5a, 0x0fe0 },\n  { 0x9200, 0xff5d, 0x2000 },\n  { 0x1900, 0xff5c, 0x0000 },\n  { 0x1900, 0xff5e, 0x0000 },\n  { 0x8700, 0xff67, 0x4000 },\n  { 0x9200, 0xff63, 0x3000 },\n  { 0x9500, 0xff61, 0x2000 },\n  { 0x1200, 0xff60, 0x0000 },\n  { 0x1600, 0xff62, 0x0000 },\n  { 0x9000, 0xff65, 0x2000 },\n  { 0x1500, 0xff64, 0x0000 },\n  { 0x0700, 0xff66, 0x0000 },\n  { 0x8700, 0xff6b, 0x3000 },\n  { 0x8700, 0xff69, 0x2000 },\n  { 0x0700, 0xff68, 0x0000 },\n  { 0x0700, 0xff6a, 0x0000 },\n  { 0x8700, 0xff6d, 0x2000 },\n  { 0x0700, 0xff6c, 0x0000 },\n  { 0x0700, 0xff6e, 0x0000 },\n  { 0x8700, 0xff8f, 0x6000 },\n  { 0x8700, 0xff7f, 0x5000 },\n  { 0x8700, 0xff77, 0x4000 },\n  { 0x8700, 0xff73, 0x3000 },\n  { 0x8700, 0xff71, 0x2000 },\n  { 0x0600, 0xff70, 0x0000 },\n  { 0x0700, 0xff72, 0x0000 },\n  { 0x8700, 0xff75, 0x2000 },\n  { 0x0700, 0xff74, 0x0000 },\n  { 0x0700, 0xff76, 0x0000 },\n  { 0x8700, 0xff7b, 0x3000 },\n  { 0x8700, 0xff79, 0x2000 },\n  { 0x0700, 0xff78, 0x0000 },\n  { 0x0700, 0xff7a, 0x0000 },\n  { 0x8700, 0xff7d, 0x2000 },\n  { 0x0700, 0xff7c, 0x0000 },\n  { 0x0700, 0xff7e, 0x0000 },\n  { 0x8700, 0xff87, 0x4000 },\n  { 0x8700, 0xff83, 0x3000 },\n  { 0x8700, 0xff81, 0x2000 },\n  { 0x0700, 0xff80, 0x0000 },\n  { 0x0700, 0xff82, 0x0000 },\n  { 0x8700, 0xff85, 0x2000 },\n  { 0x0700, 0xff84, 0x0000 },\n  { 0x0700, 0xff86, 0x0000 },\n  { 0x8700, 0xff8b, 0x3000 },\n  { 0x8700, 0xff89, 0x2000 },\n  { 0x0700, 0xff88, 0x0000 },\n  { 0x0700, 0xff8a, 0x0000 },\n  { 0x8700, 0xff8d, 0x2000 },\n  { 0x0700, 0xff8c, 0x0000 },\n  { 0x0700, 0xff8e, 0x0000 },\n  { 0x8600, 0xff9f, 0x5000 },\n  { 0x8700, 0xff97, 0x4000 },\n  { 0x8700, 0xff93, 0x3000 },\n  { 0x8700, 0xff91, 0x2000 },\n  { 0x0700, 0xff90, 0x0000 },\n  { 0x0700, 0xff92, 0x0000 },\n  { 0x8700, 0xff95, 0x2000 },\n  { 0x0700, 0xff94, 0x0000 },\n  { 0x0700, 0xff96, 0x0000 },\n  { 0x8700, 0xff9b, 0x3000 },\n  { 0x8700, 0xff99, 0x2000 },\n  { 0x0700, 0xff98, 0x0000 },\n  { 0x0700, 0xff9a, 0x0000 },\n  { 0x8700, 0xff9d, 0x2000 },\n  { 0x0700, 0xff9c, 0x0000 },\n  { 0x0600, 0xff9e, 0x0000 },\n  { 0x8700, 0xffa7, 0x4000 },\n  { 0x8700, 0xffa3, 0x3000 },\n  { 0x8700, 0xffa1, 0x2000 },\n  { 0x0700, 0xffa0, 0x0000 },\n  { 0x0700, 0xffa2, 0x0000 },\n  { 0x8700, 0xffa5, 0x2000 },\n  { 0x0700, 0xffa4, 0x0000 },\n  { 0x0700, 0xffa6, 0x0000 },\n  { 0x8700, 0xffab, 0x3000 },\n  { 0x8700, 0xffa9, 0x2000 },\n  { 0x0700, 0xffa8, 0x0000 },\n  { 0x0700, 0xffaa, 0x0000 },\n  { 0x8700, 0xffad, 0x2000 },\n  { 0x0700, 0xffac, 0x0000 },\n  { 0x0700, 0xffae, 0x0000 },\n  { 0x8701, 0x004c, 0x8000 },\n  { 0x8701, 0x0008, 0x7000 },\n  { 0x8700, 0xffd6, 0x6000 },\n  { 0x8700, 0xffc2, 0x5000 },\n  { 0x8700, 0xffb7, 0x4000 },\n  { 0x8700, 0xffb3, 0x3000 },\n  { 0x8700, 0xffb1, 0x2000 },\n  { 0x0700, 0xffb0, 0x0000 },\n  { 0x0700, 0xffb2, 0x0000 },\n  { 0x8700, 0xffb5, 0x2000 },\n  { 0x0700, 0xffb4, 0x0000 },\n  { 0x0700, 0xffb6, 0x0000 },\n  { 0x8700, 0xffbb, 0x3000 },\n  { 0x8700, 0xffb9, 0x2000 },\n  { 0x0700, 0xffb8, 0x0000 },\n  { 0x0700, 0xffba, 0x0000 },\n  { 0x8700, 0xffbd, 0x2000 },\n  { 0x0700, 0xffbc, 0x0000 },\n  { 0x0700, 0xffbe, 0x0000 },\n  { 0x8700, 0xffcc, 0x4000 },\n  { 0x8700, 0xffc6, 0x3000 },\n  { 0x8700, 0xffc4, 0x2000 },\n  { 0x0700, 0xffc3, 0x0000 },\n  { 0x0700, 0xffc5, 0x0000 },\n  { 0x8700, 0xffca, 0x2000 },\n  { 0x0700, 0xffc7, 0x0000 },\n  { 0x0700, 0xffcb, 0x0000 },\n  { 0x8700, 0xffd2, 0x3000 },\n  { 0x8700, 0xffce, 0x2000 },\n  { 0x0700, 0xffcd, 0x0000 },\n  { 0x0700, 0xffcf, 0x0000 },\n  { 0x8700, 0xffd4, 0x2000 },\n  { 0x0700, 0xffd3, 0x0000 },\n  { 0x0700, 0xffd5, 0x0000 },\n  { 0x9900, 0xffec, 0x5000 },\n  { 0x9800, 0xffe3, 0x4000 },\n  { 0x8700, 0xffdc, 0x3000 },\n  { 0x8700, 0xffda, 0x2000 },\n  { 0x0700, 0xffd7, 0x0000 },\n  { 0x0700, 0xffdb, 0x0000 },\n  { 0x9700, 0xffe1, 0x2000 },\n  { 0x1700, 0xffe0, 0x0000 },\n  { 0x1900, 0xffe2, 0x0000 },\n  { 0x9a00, 0xffe8, 0x3000 },\n  { 0x9700, 0xffe5, 0x2000 },\n  { 0x1a00, 0xffe4, 0x0000 },\n  { 0x1700, 0xffe6, 0x0000 },\n  { 0x9900, 0xffea, 0x2000 },\n  { 0x1900, 0xffe9, 0x0000 },\n  { 0x1900, 0xffeb, 0x0000 },\n  { 0x8701, 0x0000, 0x4000 },\n  { 0x8100, 0xfffa, 0x3000 },\n  { 0x9a00, 0xffee, 0x2000 },\n  { 0x1a00, 0xffed, 0x0000 },\n  { 0x0100, 0xfff9, 0x0000 },\n  { 0x9a00, 0xfffc, 0x2000 },\n  { 0x0100, 0xfffb, 0x0000 },\n  { 0x1a00, 0xfffd, 0x0000 },\n  { 0x8701, 0x0004, 0x3000 },\n  { 0x8701, 0x0002, 0x2000 },\n  { 0x0701, 0x0001, 0x0000 },\n  { 0x0701, 0x0003, 0x0000 },\n  { 0x8701, 0x0006, 0x2000 },\n  { 0x0701, 0x0005, 0x0000 },\n  { 0x0701, 0x0007, 0x0000 },\n  { 0x8701, 0x002a, 0x6000 },\n  { 0x8701, 0x0019, 0x5000 },\n  { 0x8701, 0x0011, 0x4000 },\n  { 0x8701, 0x000d, 0x3000 },\n  { 0x8701, 0x000a, 0x2000 },\n  { 0x0701, 0x0009, 0x0000 },\n  { 0x0701, 0x000b, 0x0000 },\n  { 0x8701, 0x000f, 0x2000 },\n  { 0x0701, 0x000e, 0x0000 },\n  { 0x0701, 0x0010, 0x0000 },\n  { 0x8701, 0x0015, 0x3000 },\n  { 0x8701, 0x0013, 0x2000 },\n  { 0x0701, 0x0012, 0x0000 },\n  { 0x0701, 0x0014, 0x0000 },\n  { 0x8701, 0x0017, 0x2000 },\n  { 0x0701, 0x0016, 0x0000 },\n  { 0x0701, 0x0018, 0x0000 },\n  { 0x8701, 0x0021, 0x4000 },\n  { 0x8701, 0x001d, 0x3000 },\n  { 0x8701, 0x001b, 0x2000 },\n  { 0x0701, 0x001a, 0x0000 },\n  { 0x0701, 0x001c, 0x0000 },\n  { 0x8701, 0x001f, 0x2000 },\n  { 0x0701, 0x001e, 0x0000 },\n  { 0x0701, 0x0020, 0x0000 },\n  { 0x8701, 0x0025, 0x3000 },\n  { 0x8701, 0x0023, 0x2000 },\n  { 0x0701, 0x0022, 0x0000 },\n  { 0x0701, 0x0024, 0x0000 },\n  { 0x8701, 0x0028, 0x2000 },\n  { 0x0701, 0x0026, 0x0000 },\n  { 0x0701, 0x0029, 0x0000 },\n  { 0x8701, 0x003a, 0x5000 },\n  { 0x8701, 0x0032, 0x4000 },\n  { 0x8701, 0x002e, 0x3000 },\n  { 0x8701, 0x002c, 0x2000 },\n  { 0x0701, 0x002b, 0x0000 },\n  { 0x0701, 0x002d, 0x0000 },\n  { 0x8701, 0x0030, 0x2000 },\n  { 0x0701, 0x002f, 0x0000 },\n  { 0x0701, 0x0031, 0x0000 },\n  { 0x8701, 0x0036, 0x3000 },\n  { 0x8701, 0x0034, 0x2000 },\n  { 0x0701, 0x0033, 0x0000 },\n  { 0x0701, 0x0035, 0x0000 },\n  { 0x8701, 0x0038, 0x2000 },\n  { 0x0701, 0x0037, 0x0000 },\n  { 0x0701, 0x0039, 0x0000 },\n  { 0x8701, 0x0044, 0x4000 },\n  { 0x8701, 0x0040, 0x3000 },\n  { 0x8701, 0x003d, 0x2000 },\n  { 0x0701, 0x003c, 0x0000 },\n  { 0x0701, 0x003f, 0x0000 },\n  { 0x8701, 0x0042, 0x2000 },\n  { 0x0701, 0x0041, 0x0000 },\n  { 0x0701, 0x0043, 0x0000 },\n  { 0x8701, 0x0048, 0x3000 },\n  { 0x8701, 0x0046, 0x2000 },\n  { 0x0701, 0x0045, 0x0000 },\n  { 0x0701, 0x0047, 0x0000 },\n  { 0x8701, 0x004a, 0x2000 },\n  { 0x0701, 0x0049, 0x0000 },\n  { 0x0701, 0x004b, 0x0000 },\n  { 0x8701, 0x00b0, 0x7000 },\n  { 0x8701, 0x0090, 0x6000 },\n  { 0x8701, 0x0080, 0x5000 },\n  { 0x8701, 0x0056, 0x4000 },\n  { 0x8701, 0x0052, 0x3000 },\n  { 0x8701, 0x0050, 0x2000 },\n  { 0x0701, 0x004d, 0x0000 },\n  { 0x0701, 0x0051, 0x0000 },\n  { 0x8701, 0x0054, 0x2000 },\n  { 0x0701, 0x0053, 0x0000 },\n  { 0x0701, 0x0055, 0x0000 },\n  { 0x8701, 0x005a, 0x3000 },\n  { 0x8701, 0x0058, 0x2000 },\n  { 0x0701, 0x0057, 0x0000 },\n  { 0x0701, 0x0059, 0x0000 },\n  { 0x8701, 0x005c, 0x2000 },\n  { 0x0701, 0x005b, 0x0000 },\n  { 0x0701, 0x005d, 0x0000 },\n  { 0x8701, 0x0088, 0x4000 },\n  { 0x8701, 0x0084, 0x3000 },\n  { 0x8701, 0x0082, 0x2000 },\n  { 0x0701, 0x0081, 0x0000 },\n  { 0x0701, 0x0083, 0x0000 },\n  { 0x8701, 0x0086, 0x2000 },\n  { 0x0701, 0x0085, 0x0000 },\n  { 0x0701, 0x0087, 0x0000 },\n  { 0x8701, 0x008c, 0x3000 },\n  { 0x8701, 0x008a, 0x2000 },\n  { 0x0701, 0x0089, 0x0000 },\n  { 0x0701, 0x008b, 0x0000 },\n  { 0x8701, 0x008e, 0x2000 },\n  { 0x0701, 0x008d, 0x0000 },\n  { 0x0701, 0x008f, 0x0000 },\n  { 0x8701, 0x00a0, 0x5000 },\n  { 0x8701, 0x0098, 0x4000 },\n  { 0x8701, 0x0094, 0x3000 },\n  { 0x8701, 0x0092, 0x2000 },\n  { 0x0701, 0x0091, 0x0000 },\n  { 0x0701, 0x0093, 0x0000 },\n  { 0x8701, 0x0096, 0x2000 },\n  { 0x0701, 0x0095, 0x0000 },\n  { 0x0701, 0x0097, 0x0000 },\n  { 0x8701, 0x009c, 0x3000 },\n  { 0x8701, 0x009a, 0x2000 },\n  { 0x0701, 0x0099, 0x0000 },\n  { 0x0701, 0x009b, 0x0000 },\n  { 0x8701, 0x009e, 0x2000 },\n  { 0x0701, 0x009d, 0x0000 },\n  { 0x0701, 0x009f, 0x0000 },\n  { 0x8701, 0x00a8, 0x4000 },\n  { 0x8701, 0x00a4, 0x3000 },\n  { 0x8701, 0x00a2, 0x2000 },\n  { 0x0701, 0x00a1, 0x0000 },\n  { 0x0701, 0x00a3, 0x0000 },\n  { 0x8701, 0x00a6, 0x2000 },\n  { 0x0701, 0x00a5, 0x0000 },\n  { 0x0701, 0x00a7, 0x0000 },\n  { 0x8701, 0x00ac, 0x3000 },\n  { 0x8701, 0x00aa, 0x2000 },\n  { 0x0701, 0x00a9, 0x0000 },\n  { 0x0701, 0x00ab, 0x0000 },\n  { 0x8701, 0x00ae, 0x2000 },\n  { 0x0701, 0x00ad, 0x0000 },\n  { 0x0701, 0x00af, 0x0000 },\n  { 0x8701, 0x00d0, 0x6000 },\n  { 0x8701, 0x00c0, 0x5000 },\n  { 0x8701, 0x00b8, 0x4000 },\n  { 0x8701, 0x00b4, 0x3000 },\n  { 0x8701, 0x00b2, 0x2000 },\n  { 0x0701, 0x00b1, 0x0000 },\n  { 0x0701, 0x00b3, 0x0000 },\n  { 0x8701, 0x00b6, 0x2000 },\n  { 0x0701, 0x00b5, 0x0000 },\n  { 0x0701, 0x00b7, 0x0000 },\n  { 0x8701, 0x00bc, 0x3000 },\n  { 0x8701, 0x00ba, 0x2000 },\n  { 0x0701, 0x00b9, 0x0000 },\n  { 0x0701, 0x00bb, 0x0000 },\n  { 0x8701, 0x00be, 0x2000 },\n  { 0x0701, 0x00bd, 0x0000 },\n  { 0x0701, 0x00bf, 0x0000 },\n  { 0x8701, 0x00c8, 0x4000 },\n  { 0x8701, 0x00c4, 0x3000 },\n  { 0x8701, 0x00c2, 0x2000 },\n  { 0x0701, 0x00c1, 0x0000 },\n  { 0x0701, 0x00c3, 0x0000 },\n  { 0x8701, 0x00c6, 0x2000 },\n  { 0x0701, 0x00c5, 0x0000 },\n  { 0x0701, 0x00c7, 0x0000 },\n  { 0x8701, 0x00cc, 0x3000 },\n  { 0x8701, 0x00ca, 0x2000 },\n  { 0x0701, 0x00c9, 0x0000 },\n  { 0x0701, 0x00cb, 0x0000 },\n  { 0x8701, 0x00ce, 0x2000 },\n  { 0x0701, 0x00cd, 0x0000 },\n  { 0x0701, 0x00cf, 0x0000 },\n  { 0x8701, 0x00e0, 0x5000 },\n  { 0x8701, 0x00d8, 0x4000 },\n  { 0x8701, 0x00d4, 0x3000 },\n  { 0x8701, 0x00d2, 0x2000 },\n  { 0x0701, 0x00d1, 0x0000 },\n  { 0x0701, 0x00d3, 0x0000 },\n  { 0x8701, 0x00d6, 0x2000 },\n  { 0x0701, 0x00d5, 0x0000 },\n  { 0x0701, 0x00d7, 0x0000 },\n  { 0x8701, 0x00dc, 0x3000 },\n  { 0x8701, 0x00da, 0x2000 },\n  { 0x0701, 0x00d9, 0x0000 },\n  { 0x0701, 0x00db, 0x0000 },\n  { 0x8701, 0x00de, 0x2000 },\n  { 0x0701, 0x00dd, 0x0000 },\n  { 0x0701, 0x00df, 0x0000 },\n  { 0x8701, 0x00e8, 0x4000 },\n  { 0x8701, 0x00e4, 0x3000 },\n  { 0x8701, 0x00e2, 0x2000 },\n  { 0x0701, 0x00e1, 0x0000 },\n  { 0x0701, 0x00e3, 0x0000 },\n  { 0x8701, 0x00e6, 0x2000 },\n  { 0x0701, 0x00e5, 0x0000 },\n  { 0x0701, 0x00e7, 0x0000 },\n  { 0x8701, 0x00ec, 0x3000 },\n  { 0x8701, 0x00ea, 0x2000 },\n  { 0x0701, 0x00e9, 0x0000 },\n  { 0x0701, 0x00eb, 0x0000 },\n  { 0x8701, 0x00ee, 0x2000 },\n  { 0x0701, 0x00ed, 0x0000 },\n  { 0x0701, 0x00ef, 0x0000 },\n  { 0x8501, 0xd459, 0xb000 },\n  { 0x9a01, 0xd080, 0xa000 },\n  { 0x8701, 0x045f, 0x9000 },\n  { 0x8701, 0x0349, 0x8000 },\n  { 0x9a01, 0x013c, 0x7000 },\n  { 0x8f01, 0x0119, 0x6000 },\n  { 0x8f01, 0x0109, 0x5000 },\n  { 0x8701, 0x00f8, 0x4000 },\n  { 0x8701, 0x00f4, 0x3000 },\n  { 0x8701, 0x00f2, 0x2000 },\n  { 0x0701, 0x00f1, 0x0000 },\n  { 0x0701, 0x00f3, 0x0000 },\n  { 0x8701, 0x00f6, 0x2000 },\n  { 0x0701, 0x00f5, 0x0000 },\n  { 0x0701, 0x00f7, 0x0000 },\n  { 0x9501, 0x0101, 0x3000 },\n  { 0x8701, 0x00fa, 0x2000 },\n  { 0x0701, 0x00f9, 0x0000 },\n  { 0x1501, 0x0100, 0x0000 },\n  { 0x8f01, 0x0107, 0x2000 },\n  { 0x1a01, 0x0102, 0x0000 },\n  { 0x0f01, 0x0108, 0x0000 },\n  { 0x8f01, 0x0111, 0x4000 },\n  { 0x8f01, 0x010d, 0x3000 },\n  { 0x8f01, 0x010b, 0x2000 },\n  { 0x0f01, 0x010a, 0x0000 },\n  { 0x0f01, 0x010c, 0x0000 },\n  { 0x8f01, 0x010f, 0x2000 },\n  { 0x0f01, 0x010e, 0x0000 },\n  { 0x0f01, 0x0110, 0x0000 },\n  { 0x8f01, 0x0115, 0x3000 },\n  { 0x8f01, 0x0113, 0x2000 },\n  { 0x0f01, 0x0112, 0x0000 },\n  { 0x0f01, 0x0114, 0x0000 },\n  { 0x8f01, 0x0117, 0x2000 },\n  { 0x0f01, 0x0116, 0x0000 },\n  { 0x0f01, 0x0118, 0x0000 },\n  { 0x8f01, 0x0129, 0x5000 },\n  { 0x8f01, 0x0121, 0x4000 },\n  { 0x8f01, 0x011d, 0x3000 },\n  { 0x8f01, 0x011b, 0x2000 },\n  { 0x0f01, 0x011a, 0x0000 },\n  { 0x0f01, 0x011c, 0x0000 },\n  { 0x8f01, 0x011f, 0x2000 },\n  { 0x0f01, 0x011e, 0x0000 },\n  { 0x0f01, 0x0120, 0x0000 },\n  { 0x8f01, 0x0125, 0x3000 },\n  { 0x8f01, 0x0123, 0x2000 },\n  { 0x0f01, 0x0122, 0x0000 },\n  { 0x0f01, 0x0124, 0x0000 },\n  { 0x8f01, 0x0127, 0x2000 },\n  { 0x0f01, 0x0126, 0x0000 },\n  { 0x0f01, 0x0128, 0x0000 },\n  { 0x8f01, 0x0131, 0x4000 },\n  { 0x8f01, 0x012d, 0x3000 },\n  { 0x8f01, 0x012b, 0x2000 },\n  { 0x0f01, 0x012a, 0x0000 },\n  { 0x0f01, 0x012c, 0x0000 },\n  { 0x8f01, 0x012f, 0x2000 },\n  { 0x0f01, 0x012e, 0x0000 },\n  { 0x0f01, 0x0130, 0x0000 },\n  { 0x9a01, 0x0138, 0x3000 },\n  { 0x8f01, 0x0133, 0x2000 },\n  { 0x0f01, 0x0132, 0x0000 },\n  { 0x1a01, 0x0137, 0x0000 },\n  { 0x9a01, 0x013a, 0x2000 },\n  { 0x1a01, 0x0139, 0x0000 },\n  { 0x1a01, 0x013b, 0x0000 },\n  { 0x8701, 0x031c, 0x6000 },\n  { 0x8701, 0x030c, 0x5000 },\n  { 0x8701, 0x0304, 0x4000 },\n  { 0x8701, 0x0300, 0x3000 },\n  { 0x9a01, 0x013e, 0x2000 },\n  { 0x1a01, 0x013d, 0x0000 },\n  { 0x1a01, 0x013f, 0x0000 },\n  { 0x8701, 0x0302, 0x2000 },\n  { 0x0701, 0x0301, 0x0000 },\n  { 0x0701, 0x0303, 0x0000 },\n  { 0x8701, 0x0308, 0x3000 },\n  { 0x8701, 0x0306, 0x2000 },\n  { 0x0701, 0x0305, 0x0000 },\n  { 0x0701, 0x0307, 0x0000 },\n  { 0x8701, 0x030a, 0x2000 },\n  { 0x0701, 0x0309, 0x0000 },\n  { 0x0701, 0x030b, 0x0000 },\n  { 0x8701, 0x0314, 0x4000 },\n  { 0x8701, 0x0310, 0x3000 },\n  { 0x8701, 0x030e, 0x2000 },\n  { 0x0701, 0x030d, 0x0000 },\n  { 0x0701, 0x030f, 0x0000 },\n  { 0x8701, 0x0312, 0x2000 },\n  { 0x0701, 0x0311, 0x0000 },\n  { 0x0701, 0x0313, 0x0000 },\n  { 0x8701, 0x0318, 0x3000 },\n  { 0x8701, 0x0316, 0x2000 },\n  { 0x0701, 0x0315, 0x0000 },\n  { 0x0701, 0x0317, 0x0000 },\n  { 0x8701, 0x031a, 0x2000 },\n  { 0x0701, 0x0319, 0x0000 },\n  { 0x0701, 0x031b, 0x0000 },\n  { 0x8701, 0x0339, 0x5000 },\n  { 0x8701, 0x0331, 0x4000 },\n  { 0x8f01, 0x0321, 0x3000 },\n  { 0x8701, 0x031e, 0x2000 },\n  { 0x0701, 0x031d, 0x0000 },\n  { 0x0f01, 0x0320, 0x0000 },\n  { 0x8f01, 0x0323, 0x2000 },\n  { 0x0f01, 0x0322, 0x0000 },\n  { 0x0701, 0x0330, 0x0000 },\n  { 0x8701, 0x0335, 0x3000 },\n  { 0x8701, 0x0333, 0x2000 },\n  { 0x0701, 0x0332, 0x0000 },\n  { 0x0701, 0x0334, 0x0000 },\n  { 0x8701, 0x0337, 0x2000 },\n  { 0x0701, 0x0336, 0x0000 },\n  { 0x0701, 0x0338, 0x0000 },\n  { 0x8701, 0x0341, 0x4000 },\n  { 0x8701, 0x033d, 0x3000 },\n  { 0x8701, 0x033b, 0x2000 },\n  { 0x0701, 0x033a, 0x0000 },\n  { 0x0701, 0x033c, 0x0000 },\n  { 0x8701, 0x033f, 0x2000 },\n  { 0x0701, 0x033e, 0x0000 },\n  { 0x0701, 0x0340, 0x0000 },\n  { 0x8701, 0x0345, 0x3000 },\n  { 0x8701, 0x0343, 0x2000 },\n  { 0x0701, 0x0342, 0x0000 },\n  { 0x0701, 0x0344, 0x0000 },\n  { 0x8701, 0x0347, 0x2000 },\n  { 0x0701, 0x0346, 0x0000 },\n  { 0x0701, 0x0348, 0x0000 },\n  { 0x8901, 0x041f, 0x7028 },\n  { 0x9501, 0x039f, 0x6000 },\n  { 0x8701, 0x038e, 0x5000 },\n  { 0x8701, 0x0386, 0x4000 },\n  { 0x8701, 0x0382, 0x3000 },\n  { 0x8701, 0x0380, 0x2000 },\n  { 0x0e01, 0x034a, 0x0000 },\n  { 0x0701, 0x0381, 0x0000 },\n  { 0x8701, 0x0384, 0x2000 },\n  { 0x0701, 0x0383, 0x0000 },\n  { 0x0701, 0x0385, 0x0000 },\n  { 0x8701, 0x038a, 0x3000 },\n  { 0x8701, 0x0388, 0x2000 },\n  { 0x0701, 0x0387, 0x0000 },\n  { 0x0701, 0x0389, 0x0000 },\n  { 0x8701, 0x038c, 0x2000 },\n  { 0x0701, 0x038b, 0x0000 },\n  { 0x0701, 0x038d, 0x0000 },\n  { 0x8701, 0x0396, 0x4000 },\n  { 0x8701, 0x0392, 0x3000 },\n  { 0x8701, 0x0390, 0x2000 },\n  { 0x0701, 0x038f, 0x0000 },\n  { 0x0701, 0x0391, 0x0000 },\n  { 0x8701, 0x0394, 0x2000 },\n  { 0x0701, 0x0393, 0x0000 },\n  { 0x0701, 0x0395, 0x0000 },\n  { 0x8701, 0x039a, 0x3000 },\n  { 0x8701, 0x0398, 0x2000 },\n  { 0x0701, 0x0397, 0x0000 },\n  { 0x0701, 0x0399, 0x0000 },\n  { 0x8701, 0x039c, 0x2000 },\n  { 0x0701, 0x039b, 0x0000 },\n  { 0x0701, 0x039d, 0x0000 },\n  { 0x8901, 0x040f, 0x5028 },\n  { 0x8901, 0x0407, 0x4028 },\n  { 0x8901, 0x0403, 0x3028 },\n  { 0x8901, 0x0401, 0x2028 },\n  { 0x0901, 0x0400, 0x0028 },\n  { 0x0901, 0x0402, 0x0028 },\n  { 0x8901, 0x0405, 0x2028 },\n  { 0x0901, 0x0404, 0x0028 },\n  { 0x0901, 0x0406, 0x0028 },\n  { 0x8901, 0x040b, 0x3028 },\n  { 0x8901, 0x0409, 0x2028 },\n  { 0x0901, 0x0408, 0x0028 },\n  { 0x0901, 0x040a, 0x0028 },\n  { 0x8901, 0x040d, 0x2028 },\n  { 0x0901, 0x040c, 0x0028 },\n  { 0x0901, 0x040e, 0x0028 },\n  { 0x8901, 0x0417, 0x4028 },\n  { 0x8901, 0x0413, 0x3028 },\n  { 0x8901, 0x0411, 0x2028 },\n  { 0x0901, 0x0410, 0x0028 },\n  { 0x0901, 0x0412, 0x0028 },\n  { 0x8901, 0x0415, 0x2028 },\n  { 0x0901, 0x0414, 0x0028 },\n  { 0x0901, 0x0416, 0x0028 },\n  { 0x8901, 0x041b, 0x3028 },\n  { 0x8901, 0x0419, 0x2028 },\n  { 0x0901, 0x0418, 0x0028 },\n  { 0x0901, 0x041a, 0x0028 },\n  { 0x8901, 0x041d, 0x2028 },\n  { 0x0901, 0x041c, 0x0028 },\n  { 0x0901, 0x041e, 0x0028 },\n  { 0x8501, 0x043f, 0x6fd8 },\n  { 0x8501, 0x042f, 0x5fd8 },\n  { 0x8901, 0x0427, 0x4028 },\n  { 0x8901, 0x0423, 0x3028 },\n  { 0x8901, 0x0421, 0x2028 },\n  { 0x0901, 0x0420, 0x0028 },\n  { 0x0901, 0x0422, 0x0028 },\n  { 0x8901, 0x0425, 0x2028 },\n  { 0x0901, 0x0424, 0x0028 },\n  { 0x0901, 0x0426, 0x0028 },\n  { 0x8501, 0x042b, 0x3fd8 },\n  { 0x8501, 0x0429, 0x2fd8 },\n  { 0x0501, 0x0428, 0x0fd8 },\n  { 0x0501, 0x042a, 0x0fd8 },\n  { 0x8501, 0x042d, 0x2fd8 },\n  { 0x0501, 0x042c, 0x0fd8 },\n  { 0x0501, 0x042e, 0x0fd8 },\n  { 0x8501, 0x0437, 0x4fd8 },\n  { 0x8501, 0x0433, 0x3fd8 },\n  { 0x8501, 0x0431, 0x2fd8 },\n  { 0x0501, 0x0430, 0x0fd8 },\n  { 0x0501, 0x0432, 0x0fd8 },\n  { 0x8501, 0x0435, 0x2fd8 },\n  { 0x0501, 0x0434, 0x0fd8 },\n  { 0x0501, 0x0436, 0x0fd8 },\n  { 0x8501, 0x043b, 0x3fd8 },\n  { 0x8501, 0x0439, 0x2fd8 },\n  { 0x0501, 0x0438, 0x0fd8 },\n  { 0x0501, 0x043a, 0x0fd8 },\n  { 0x8501, 0x043d, 0x2fd8 },\n  { 0x0501, 0x043c, 0x0fd8 },\n  { 0x0501, 0x043e, 0x0fd8 },\n  { 0x8501, 0x044f, 0x5fd8 },\n  { 0x8501, 0x0447, 0x4fd8 },\n  { 0x8501, 0x0443, 0x3fd8 },\n  { 0x8501, 0x0441, 0x2fd8 },\n  { 0x0501, 0x0440, 0x0fd8 },\n  { 0x0501, 0x0442, 0x0fd8 },\n  { 0x8501, 0x0445, 0x2fd8 },\n  { 0x0501, 0x0444, 0x0fd8 },\n  { 0x0501, 0x0446, 0x0fd8 },\n  { 0x8501, 0x044b, 0x3fd8 },\n  { 0x8501, 0x0449, 0x2fd8 },\n  { 0x0501, 0x0448, 0x0fd8 },\n  { 0x0501, 0x044a, 0x0fd8 },\n  { 0x8501, 0x044d, 0x2fd8 },\n  { 0x0501, 0x044c, 0x0fd8 },\n  { 0x0501, 0x044e, 0x0fd8 },\n  { 0x8701, 0x0457, 0x4000 },\n  { 0x8701, 0x0453, 0x3000 },\n  { 0x8701, 0x0451, 0x2000 },\n  { 0x0701, 0x0450, 0x0000 },\n  { 0x0701, 0x0452, 0x0000 },\n  { 0x8701, 0x0455, 0x2000 },\n  { 0x0701, 0x0454, 0x0000 },\n  { 0x0701, 0x0456, 0x0000 },\n  { 0x8701, 0x045b, 0x3000 },\n  { 0x8701, 0x0459, 0x2000 },\n  { 0x0701, 0x0458, 0x0000 },\n  { 0x0701, 0x045a, 0x0000 },\n  { 0x8701, 0x045d, 0x2000 },\n  { 0x0701, 0x045c, 0x0000 },\n  { 0x0701, 0x045e, 0x0000 },\n  { 0x9a01, 0xd000, 0x8000 },\n  { 0x8d01, 0x04a1, 0x7000 },\n  { 0x8701, 0x047f, 0x6000 },\n  { 0x8701, 0x046f, 0x5000 },\n  { 0x8701, 0x0467, 0x4000 },\n  { 0x8701, 0x0463, 0x3000 },\n  { 0x8701, 0x0461, 0x2000 },\n  { 0x0701, 0x0460, 0x0000 },\n  { 0x0701, 0x0462, 0x0000 },\n  { 0x8701, 0x0465, 0x2000 },\n  { 0x0701, 0x0464, 0x0000 },\n  { 0x0701, 0x0466, 0x0000 },\n  { 0x8701, 0x046b, 0x3000 },\n  { 0x8701, 0x0469, 0x2000 },\n  { 0x0701, 0x0468, 0x0000 },\n  { 0x0701, 0x046a, 0x0000 },\n  { 0x8701, 0x046d, 0x2000 },\n  { 0x0701, 0x046c, 0x0000 },\n  { 0x0701, 0x046e, 0x0000 },\n  { 0x8701, 0x0477, 0x4000 },\n  { 0x8701, 0x0473, 0x3000 },\n  { 0x8701, 0x0471, 0x2000 },\n  { 0x0701, 0x0470, 0x0000 },\n  { 0x0701, 0x0472, 0x0000 },\n  { 0x8701, 0x0475, 0x2000 },\n  { 0x0701, 0x0474, 0x0000 },\n  { 0x0701, 0x0476, 0x0000 },\n  { 0x8701, 0x047b, 0x3000 },\n  { 0x8701, 0x0479, 0x2000 },\n  { 0x0701, 0x0478, 0x0000 },\n  { 0x0701, 0x047a, 0x0000 },\n  { 0x8701, 0x047d, 0x2000 },\n  { 0x0701, 0x047c, 0x0000 },\n  { 0x0701, 0x047e, 0x0000 },\n  { 0x8701, 0x048f, 0x5000 },\n  { 0x8701, 0x0487, 0x4000 },\n  { 0x8701, 0x0483, 0x3000 },\n  { 0x8701, 0x0481, 0x2000 },\n  { 0x0701, 0x0480, 0x0000 },\n  { 0x0701, 0x0482, 0x0000 },\n  { 0x8701, 0x0485, 0x2000 },\n  { 0x0701, 0x0484, 0x0000 },\n  { 0x0701, 0x0486, 0x0000 },\n  { 0x8701, 0x048b, 0x3000 },\n  { 0x8701, 0x0489, 0x2000 },\n  { 0x0701, 0x0488, 0x0000 },\n  { 0x0701, 0x048a, 0x0000 },\n  { 0x8701, 0x048d, 0x2000 },\n  { 0x0701, 0x048c, 0x0000 },\n  { 0x0701, 0x048e, 0x0000 },\n  { 0x8701, 0x0497, 0x4000 },\n  { 0x8701, 0x0493, 0x3000 },\n  { 0x8701, 0x0491, 0x2000 },\n  { 0x0701, 0x0490, 0x0000 },\n  { 0x0701, 0x0492, 0x0000 },\n  { 0x8701, 0x0495, 0x2000 },\n  { 0x0701, 0x0494, 0x0000 },\n  { 0x0701, 0x0496, 0x0000 },\n  { 0x8701, 0x049b, 0x3000 },\n  { 0x8701, 0x0499, 0x2000 },\n  { 0x0701, 0x0498, 0x0000 },\n  { 0x0701, 0x049a, 0x0000 },\n  { 0x8701, 0x049d, 0x2000 },\n  { 0x0701, 0x049c, 0x0000 },\n  { 0x0d01, 0x04a0, 0x0000 },\n  { 0x8701, 0x081a, 0x6000 },\n  { 0x8701, 0x080a, 0x5000 },\n  { 0x8d01, 0x04a9, 0x4000 },\n  { 0x8d01, 0x04a5, 0x3000 },\n  { 0x8d01, 0x04a3, 0x2000 },\n  { 0x0d01, 0x04a2, 0x0000 },\n  { 0x0d01, 0x04a4, 0x0000 },\n  { 0x8d01, 0x04a7, 0x2000 },\n  { 0x0d01, 0x04a6, 0x0000 },\n  { 0x0d01, 0x04a8, 0x0000 },\n  { 0x8701, 0x0803, 0x3000 },\n  { 0x8701, 0x0801, 0x2000 },\n  { 0x0701, 0x0800, 0x0000 },\n  { 0x0701, 0x0802, 0x0000 },\n  { 0x8701, 0x0805, 0x2000 },\n  { 0x0701, 0x0804, 0x0000 },\n  { 0x0701, 0x0808, 0x0000 },\n  { 0x8701, 0x0812, 0x4000 },\n  { 0x8701, 0x080e, 0x3000 },\n  { 0x8701, 0x080c, 0x2000 },\n  { 0x0701, 0x080b, 0x0000 },\n  { 0x0701, 0x080d, 0x0000 },\n  { 0x8701, 0x0810, 0x2000 },\n  { 0x0701, 0x080f, 0x0000 },\n  { 0x0701, 0x0811, 0x0000 },\n  { 0x8701, 0x0816, 0x3000 },\n  { 0x8701, 0x0814, 0x2000 },\n  { 0x0701, 0x0813, 0x0000 },\n  { 0x0701, 0x0815, 0x0000 },\n  { 0x8701, 0x0818, 0x2000 },\n  { 0x0701, 0x0817, 0x0000 },\n  { 0x0701, 0x0819, 0x0000 },\n  { 0x8701, 0x082a, 0x5000 },\n  { 0x8701, 0x0822, 0x4000 },\n  { 0x8701, 0x081e, 0x3000 },\n  { 0x8701, 0x081c, 0x2000 },\n  { 0x0701, 0x081b, 0x0000 },\n  { 0x0701, 0x081d, 0x0000 },\n  { 0x8701, 0x0820, 0x2000 },\n  { 0x0701, 0x081f, 0x0000 },\n  { 0x0701, 0x0821, 0x0000 },\n  { 0x8701, 0x0826, 0x3000 },\n  { 0x8701, 0x0824, 0x2000 },\n  { 0x0701, 0x0823, 0x0000 },\n  { 0x0701, 0x0825, 0x0000 },\n  { 0x8701, 0x0828, 0x2000 },\n  { 0x0701, 0x0827, 0x0000 },\n  { 0x0701, 0x0829, 0x0000 },\n  { 0x8701, 0x0832, 0x4000 },\n  { 0x8701, 0x082e, 0x3000 },\n  { 0x8701, 0x082c, 0x2000 },\n  { 0x0701, 0x082b, 0x0000 },\n  { 0x0701, 0x082d, 0x0000 },\n  { 0x8701, 0x0830, 0x2000 },\n  { 0x0701, 0x082f, 0x0000 },\n  { 0x0701, 0x0831, 0x0000 },\n  { 0x8701, 0x0837, 0x3000 },\n  { 0x8701, 0x0834, 0x2000 },\n  { 0x0701, 0x0833, 0x0000 },\n  { 0x0701, 0x0835, 0x0000 },\n  { 0x8701, 0x083c, 0x2000 },\n  { 0x0701, 0x0838, 0x0000 },\n  { 0x0701, 0x083f, 0x0000 },\n  { 0x9a01, 0xd040, 0x7000 },\n  { 0x9a01, 0xd020, 0x6000 },\n  { 0x9a01, 0xd010, 0x5000 },\n  { 0x9a01, 0xd008, 0x4000 },\n  { 0x9a01, 0xd004, 0x3000 },\n  { 0x9a01, 0xd002, 0x2000 },\n  { 0x1a01, 0xd001, 0x0000 },\n  { 0x1a01, 0xd003, 0x0000 },\n  { 0x9a01, 0xd006, 0x2000 },\n  { 0x1a01, 0xd005, 0x0000 },\n  { 0x1a01, 0xd007, 0x0000 },\n  { 0x9a01, 0xd00c, 0x3000 },\n  { 0x9a01, 0xd00a, 0x2000 },\n  { 0x1a01, 0xd009, 0x0000 },\n  { 0x1a01, 0xd00b, 0x0000 },\n  { 0x9a01, 0xd00e, 0x2000 },\n  { 0x1a01, 0xd00d, 0x0000 },\n  { 0x1a01, 0xd00f, 0x0000 },\n  { 0x9a01, 0xd018, 0x4000 },\n  { 0x9a01, 0xd014, 0x3000 },\n  { 0x9a01, 0xd012, 0x2000 },\n  { 0x1a01, 0xd011, 0x0000 },\n  { 0x1a01, 0xd013, 0x0000 },\n  { 0x9a01, 0xd016, 0x2000 },\n  { 0x1a01, 0xd015, 0x0000 },\n  { 0x1a01, 0xd017, 0x0000 },\n  { 0x9a01, 0xd01c, 0x3000 },\n  { 0x9a01, 0xd01a, 0x2000 },\n  { 0x1a01, 0xd019, 0x0000 },\n  { 0x1a01, 0xd01b, 0x0000 },\n  { 0x9a01, 0xd01e, 0x2000 },\n  { 0x1a01, 0xd01d, 0x0000 },\n  { 0x1a01, 0xd01f, 0x0000 },\n  { 0x9a01, 0xd030, 0x5000 },\n  { 0x9a01, 0xd028, 0x4000 },\n  { 0x9a01, 0xd024, 0x3000 },\n  { 0x9a01, 0xd022, 0x2000 },\n  { 0x1a01, 0xd021, 0x0000 },\n  { 0x1a01, 0xd023, 0x0000 },\n  { 0x9a01, 0xd026, 0x2000 },\n  { 0x1a01, 0xd025, 0x0000 },\n  { 0x1a01, 0xd027, 0x0000 },\n  { 0x9a01, 0xd02c, 0x3000 },\n  { 0x9a01, 0xd02a, 0x2000 },\n  { 0x1a01, 0xd029, 0x0000 },\n  { 0x1a01, 0xd02b, 0x0000 },\n  { 0x9a01, 0xd02e, 0x2000 },\n  { 0x1a01, 0xd02d, 0x0000 },\n  { 0x1a01, 0xd02f, 0x0000 },\n  { 0x9a01, 0xd038, 0x4000 },\n  { 0x9a01, 0xd034, 0x3000 },\n  { 0x9a01, 0xd032, 0x2000 },\n  { 0x1a01, 0xd031, 0x0000 },\n  { 0x1a01, 0xd033, 0x0000 },\n  { 0x9a01, 0xd036, 0x2000 },\n  { 0x1a01, 0xd035, 0x0000 },\n  { 0x1a01, 0xd037, 0x0000 },\n  { 0x9a01, 0xd03c, 0x3000 },\n  { 0x9a01, 0xd03a, 0x2000 },\n  { 0x1a01, 0xd039, 0x0000 },\n  { 0x1a01, 0xd03b, 0x0000 },\n  { 0x9a01, 0xd03e, 0x2000 },\n  { 0x1a01, 0xd03d, 0x0000 },\n  { 0x1a01, 0xd03f, 0x0000 },\n  { 0x9a01, 0xd060, 0x6000 },\n  { 0x9a01, 0xd050, 0x5000 },\n  { 0x9a01, 0xd048, 0x4000 },\n  { 0x9a01, 0xd044, 0x3000 },\n  { 0x9a01, 0xd042, 0x2000 },\n  { 0x1a01, 0xd041, 0x0000 },\n  { 0x1a01, 0xd043, 0x0000 },\n  { 0x9a01, 0xd046, 0x2000 },\n  { 0x1a01, 0xd045, 0x0000 },\n  { 0x1a01, 0xd047, 0x0000 },\n  { 0x9a01, 0xd04c, 0x3000 },\n  { 0x9a01, 0xd04a, 0x2000 },\n  { 0x1a01, 0xd049, 0x0000 },\n  { 0x1a01, 0xd04b, 0x0000 },\n  { 0x9a01, 0xd04e, 0x2000 },\n  { 0x1a01, 0xd04d, 0x0000 },\n  { 0x1a01, 0xd04f, 0x0000 },\n  { 0x9a01, 0xd058, 0x4000 },\n  { 0x9a01, 0xd054, 0x3000 },\n  { 0x9a01, 0xd052, 0x2000 },\n  { 0x1a01, 0xd051, 0x0000 },\n  { 0x1a01, 0xd053, 0x0000 },\n  { 0x9a01, 0xd056, 0x2000 },\n  { 0x1a01, 0xd055, 0x0000 },\n  { 0x1a01, 0xd057, 0x0000 },\n  { 0x9a01, 0xd05c, 0x3000 },\n  { 0x9a01, 0xd05a, 0x2000 },\n  { 0x1a01, 0xd059, 0x0000 },\n  { 0x1a01, 0xd05b, 0x0000 },\n  { 0x9a01, 0xd05e, 0x2000 },\n  { 0x1a01, 0xd05d, 0x0000 },\n  { 0x1a01, 0xd05f, 0x0000 },\n  { 0x9a01, 0xd070, 0x5000 },\n  { 0x9a01, 0xd068, 0x4000 },\n  { 0x9a01, 0xd064, 0x3000 },\n  { 0x9a01, 0xd062, 0x2000 },\n  { 0x1a01, 0xd061, 0x0000 },\n  { 0x1a01, 0xd063, 0x0000 },\n  { 0x9a01, 0xd066, 0x2000 },\n  { 0x1a01, 0xd065, 0x0000 },\n  { 0x1a01, 0xd067, 0x0000 },\n  { 0x9a01, 0xd06c, 0x3000 },\n  { 0x9a01, 0xd06a, 0x2000 },\n  { 0x1a01, 0xd069, 0x0000 },\n  { 0x1a01, 0xd06b, 0x0000 },\n  { 0x9a01, 0xd06e, 0x2000 },\n  { 0x1a01, 0xd06d, 0x0000 },\n  { 0x1a01, 0xd06f, 0x0000 },\n  { 0x9a01, 0xd078, 0x4000 },\n  { 0x9a01, 0xd074, 0x3000 },\n  { 0x9a01, 0xd072, 0x2000 },\n  { 0x1a01, 0xd071, 0x0000 },\n  { 0x1a01, 0xd073, 0x0000 },\n  { 0x9a01, 0xd076, 0x2000 },\n  { 0x1a01, 0xd075, 0x0000 },\n  { 0x1a01, 0xd077, 0x0000 },\n  { 0x9a01, 0xd07c, 0x3000 },\n  { 0x9a01, 0xd07a, 0x2000 },\n  { 0x1a01, 0xd079, 0x0000 },\n  { 0x1a01, 0xd07b, 0x0000 },\n  { 0x9a01, 0xd07e, 0x2000 },\n  { 0x1a01, 0xd07d, 0x0000 },\n  { 0x1a01, 0xd07f, 0x0000 },\n  { 0x9a01, 0xd18d, 0x9000 },\n  { 0x9a01, 0xd10a, 0x8000 },\n  { 0x9a01, 0xd0c0, 0x7000 },\n  { 0x9a01, 0xd0a0, 0x6000 },\n  { 0x9a01, 0xd090, 0x5000 },\n  { 0x9a01, 0xd088, 0x4000 },\n  { 0x9a01, 0xd084, 0x3000 },\n  { 0x9a01, 0xd082, 0x2000 },\n  { 0x1a01, 0xd081, 0x0000 },\n  { 0x1a01, 0xd083, 0x0000 },\n  { 0x9a01, 0xd086, 0x2000 },\n  { 0x1a01, 0xd085, 0x0000 },\n  { 0x1a01, 0xd087, 0x0000 },\n  { 0x9a01, 0xd08c, 0x3000 },\n  { 0x9a01, 0xd08a, 0x2000 },\n  { 0x1a01, 0xd089, 0x0000 },\n  { 0x1a01, 0xd08b, 0x0000 },\n  { 0x9a01, 0xd08e, 0x2000 },\n  { 0x1a01, 0xd08d, 0x0000 },\n  { 0x1a01, 0xd08f, 0x0000 },\n  { 0x9a01, 0xd098, 0x4000 },\n  { 0x9a01, 0xd094, 0x3000 },\n  { 0x9a01, 0xd092, 0x2000 },\n  { 0x1a01, 0xd091, 0x0000 },\n  { 0x1a01, 0xd093, 0x0000 },\n  { 0x9a01, 0xd096, 0x2000 },\n  { 0x1a01, 0xd095, 0x0000 },\n  { 0x1a01, 0xd097, 0x0000 },\n  { 0x9a01, 0xd09c, 0x3000 },\n  { 0x9a01, 0xd09a, 0x2000 },\n  { 0x1a01, 0xd099, 0x0000 },\n  { 0x1a01, 0xd09b, 0x0000 },\n  { 0x9a01, 0xd09e, 0x2000 },\n  { 0x1a01, 0xd09d, 0x0000 },\n  { 0x1a01, 0xd09f, 0x0000 },\n  { 0x9a01, 0xd0b0, 0x5000 },\n  { 0x9a01, 0xd0a8, 0x4000 },\n  { 0x9a01, 0xd0a4, 0x3000 },\n  { 0x9a01, 0xd0a2, 0x2000 },\n  { 0x1a01, 0xd0a1, 0x0000 },\n  { 0x1a01, 0xd0a3, 0x0000 },\n  { 0x9a01, 0xd0a6, 0x2000 },\n  { 0x1a01, 0xd0a5, 0x0000 },\n  { 0x1a01, 0xd0a7, 0x0000 },\n  { 0x9a01, 0xd0ac, 0x3000 },\n  { 0x9a01, 0xd0aa, 0x2000 },\n  { 0x1a01, 0xd0a9, 0x0000 },\n  { 0x1a01, 0xd0ab, 0x0000 },\n  { 0x9a01, 0xd0ae, 0x2000 },\n  { 0x1a01, 0xd0ad, 0x0000 },\n  { 0x1a01, 0xd0af, 0x0000 },\n  { 0x9a01, 0xd0b8, 0x4000 },\n  { 0x9a01, 0xd0b4, 0x3000 },\n  { 0x9a01, 0xd0b2, 0x2000 },\n  { 0x1a01, 0xd0b1, 0x0000 },\n  { 0x1a01, 0xd0b3, 0x0000 },\n  { 0x9a01, 0xd0b6, 0x2000 },\n  { 0x1a01, 0xd0b5, 0x0000 },\n  { 0x1a01, 0xd0b7, 0x0000 },\n  { 0x9a01, 0xd0bc, 0x3000 },\n  { 0x9a01, 0xd0ba, 0x2000 },\n  { 0x1a01, 0xd0b9, 0x0000 },\n  { 0x1a01, 0xd0bb, 0x0000 },\n  { 0x9a01, 0xd0be, 0x2000 },\n  { 0x1a01, 0xd0bd, 0x0000 },\n  { 0x1a01, 0xd0bf, 0x0000 },\n  { 0x9a01, 0xd0e0, 0x6000 },\n  { 0x9a01, 0xd0d0, 0x5000 },\n  { 0x9a01, 0xd0c8, 0x4000 },\n  { 0x9a01, 0xd0c4, 0x3000 },\n  { 0x9a01, 0xd0c2, 0x2000 },\n  { 0x1a01, 0xd0c1, 0x0000 },\n  { 0x1a01, 0xd0c3, 0x0000 },\n  { 0x9a01, 0xd0c6, 0x2000 },\n  { 0x1a01, 0xd0c5, 0x0000 },\n  { 0x1a01, 0xd0c7, 0x0000 },\n  { 0x9a01, 0xd0cc, 0x3000 },\n  { 0x9a01, 0xd0ca, 0x2000 },\n  { 0x1a01, 0xd0c9, 0x0000 },\n  { 0x1a01, 0xd0cb, 0x0000 },\n  { 0x9a01, 0xd0ce, 0x2000 },\n  { 0x1a01, 0xd0cd, 0x0000 },\n  { 0x1a01, 0xd0cf, 0x0000 },\n  { 0x9a01, 0xd0d8, 0x4000 },\n  { 0x9a01, 0xd0d4, 0x3000 },\n  { 0x9a01, 0xd0d2, 0x2000 },\n  { 0x1a01, 0xd0d1, 0x0000 },\n  { 0x1a01, 0xd0d3, 0x0000 },\n  { 0x9a01, 0xd0d6, 0x2000 },\n  { 0x1a01, 0xd0d5, 0x0000 },\n  { 0x1a01, 0xd0d7, 0x0000 },\n  { 0x9a01, 0xd0dc, 0x3000 },\n  { 0x9a01, 0xd0da, 0x2000 },\n  { 0x1a01, 0xd0d9, 0x0000 },\n  { 0x1a01, 0xd0db, 0x0000 },\n  { 0x9a01, 0xd0de, 0x2000 },\n  { 0x1a01, 0xd0dd, 0x0000 },\n  { 0x1a01, 0xd0df, 0x0000 },\n  { 0x9a01, 0xd0f0, 0x5000 },\n  { 0x9a01, 0xd0e8, 0x4000 },\n  { 0x9a01, 0xd0e4, 0x3000 },\n  { 0x9a01, 0xd0e2, 0x2000 },\n  { 0x1a01, 0xd0e1, 0x0000 },\n  { 0x1a01, 0xd0e3, 0x0000 },\n  { 0x9a01, 0xd0e6, 0x2000 },\n  { 0x1a01, 0xd0e5, 0x0000 },\n  { 0x1a01, 0xd0e7, 0x0000 },\n  { 0x9a01, 0xd0ec, 0x3000 },\n  { 0x9a01, 0xd0ea, 0x2000 },\n  { 0x1a01, 0xd0e9, 0x0000 },\n  { 0x1a01, 0xd0eb, 0x0000 },\n  { 0x9a01, 0xd0ee, 0x2000 },\n  { 0x1a01, 0xd0ed, 0x0000 },\n  { 0x1a01, 0xd0ef, 0x0000 },\n  { 0x9a01, 0xd102, 0x4000 },\n  { 0x9a01, 0xd0f4, 0x3000 },\n  { 0x9a01, 0xd0f2, 0x2000 },\n  { 0x1a01, 0xd0f1, 0x0000 },\n  { 0x1a01, 0xd0f3, 0x0000 },\n  { 0x9a01, 0xd100, 0x2000 },\n  { 0x1a01, 0xd0f5, 0x0000 },\n  { 0x1a01, 0xd101, 0x0000 },\n  { 0x9a01, 0xd106, 0x3000 },\n  { 0x9a01, 0xd104, 0x2000 },\n  { 0x1a01, 0xd103, 0x0000 },\n  { 0x1a01, 0xd105, 0x0000 },\n  { 0x9a01, 0xd108, 0x2000 },\n  { 0x1a01, 0xd107, 0x0000 },\n  { 0x1a01, 0xd109, 0x0000 },\n  { 0x9a01, 0xd14d, 0x7000 },\n  { 0x9a01, 0xd12d, 0x6000 },\n  { 0x9a01, 0xd11a, 0x5000 },\n  { 0x9a01, 0xd112, 0x4000 },\n  { 0x9a01, 0xd10e, 0x3000 },\n  { 0x9a01, 0xd10c, 0x2000 },\n  { 0x1a01, 0xd10b, 0x0000 },\n  { 0x1a01, 0xd10d, 0x0000 },\n  { 0x9a01, 0xd110, 0x2000 },\n  { 0x1a01, 0xd10f, 0x0000 },\n  { 0x1a01, 0xd111, 0x0000 },\n  { 0x9a01, 0xd116, 0x3000 },\n  { 0x9a01, 0xd114, 0x2000 },\n  { 0x1a01, 0xd113, 0x0000 },\n  { 0x1a01, 0xd115, 0x0000 },\n  { 0x9a01, 0xd118, 0x2000 },\n  { 0x1a01, 0xd117, 0x0000 },\n  { 0x1a01, 0xd119, 0x0000 },\n  { 0x9a01, 0xd122, 0x4000 },\n  { 0x9a01, 0xd11e, 0x3000 },\n  { 0x9a01, 0xd11c, 0x2000 },\n  { 0x1a01, 0xd11b, 0x0000 },\n  { 0x1a01, 0xd11d, 0x0000 },\n  { 0x9a01, 0xd120, 0x2000 },\n  { 0x1a01, 0xd11f, 0x0000 },\n  { 0x1a01, 0xd121, 0x0000 },\n  { 0x9a01, 0xd126, 0x3000 },\n  { 0x9a01, 0xd124, 0x2000 },\n  { 0x1a01, 0xd123, 0x0000 },\n  { 0x1a01, 0xd125, 0x0000 },\n  { 0x9a01, 0xd12b, 0x2000 },\n  { 0x1a01, 0xd12a, 0x0000 },\n  { 0x1a01, 0xd12c, 0x0000 },\n  { 0x9a01, 0xd13d, 0x5000 },\n  { 0x9a01, 0xd135, 0x4000 },\n  { 0x9a01, 0xd131, 0x3000 },\n  { 0x9a01, 0xd12f, 0x2000 },\n  { 0x1a01, 0xd12e, 0x0000 },\n  { 0x1a01, 0xd130, 0x0000 },\n  { 0x9a01, 0xd133, 0x2000 },\n  { 0x1a01, 0xd132, 0x0000 },\n  { 0x1a01, 0xd134, 0x0000 },\n  { 0x9a01, 0xd139, 0x3000 },\n  { 0x9a01, 0xd137, 0x2000 },\n  { 0x1a01, 0xd136, 0x0000 },\n  { 0x1a01, 0xd138, 0x0000 },\n  { 0x9a01, 0xd13b, 0x2000 },\n  { 0x1a01, 0xd13a, 0x0000 },\n  { 0x1a01, 0xd13c, 0x0000 },\n  { 0x9a01, 0xd145, 0x4000 },\n  { 0x9a01, 0xd141, 0x3000 },\n  { 0x9a01, 0xd13f, 0x2000 },\n  { 0x1a01, 0xd13e, 0x0000 },\n  { 0x1a01, 0xd140, 0x0000 },\n  { 0x9a01, 0xd143, 0x2000 },\n  { 0x1a01, 0xd142, 0x0000 },\n  { 0x1a01, 0xd144, 0x0000 },\n  { 0x9a01, 0xd149, 0x3000 },\n  { 0x9a01, 0xd147, 0x2000 },\n  { 0x1a01, 0xd146, 0x0000 },\n  { 0x1a01, 0xd148, 0x0000 },\n  { 0x9a01, 0xd14b, 0x2000 },\n  { 0x1a01, 0xd14a, 0x0000 },\n  { 0x1a01, 0xd14c, 0x0000 },\n  { 0x8a01, 0xd16d, 0x6000 },\n  { 0x9a01, 0xd15d, 0x5000 },\n  { 0x9a01, 0xd155, 0x4000 },\n  { 0x9a01, 0xd151, 0x3000 },\n  { 0x9a01, 0xd14f, 0x2000 },\n  { 0x1a01, 0xd14e, 0x0000 },\n  { 0x1a01, 0xd150, 0x0000 },\n  { 0x9a01, 0xd153, 0x2000 },\n  { 0x1a01, 0xd152, 0x0000 },\n  { 0x1a01, 0xd154, 0x0000 },\n  { 0x9a01, 0xd159, 0x3000 },\n  { 0x9a01, 0xd157, 0x2000 },\n  { 0x1a01, 0xd156, 0x0000 },\n  { 0x1a01, 0xd158, 0x0000 },\n  { 0x9a01, 0xd15b, 0x2000 },\n  { 0x1a01, 0xd15a, 0x0000 },\n  { 0x1a01, 0xd15c, 0x0000 },\n  { 0x8a01, 0xd165, 0x4000 },\n  { 0x9a01, 0xd161, 0x3000 },\n  { 0x9a01, 0xd15f, 0x2000 },\n  { 0x1a01, 0xd15e, 0x0000 },\n  { 0x1a01, 0xd160, 0x0000 },\n  { 0x9a01, 0xd163, 0x2000 },\n  { 0x1a01, 0xd162, 0x0000 },\n  { 0x1a01, 0xd164, 0x0000 },\n  { 0x8c01, 0xd169, 0x3000 },\n  { 0x8c01, 0xd167, 0x2000 },\n  { 0x0a01, 0xd166, 0x0000 },\n  { 0x0c01, 0xd168, 0x0000 },\n  { 0x9a01, 0xd16b, 0x2000 },\n  { 0x1a01, 0xd16a, 0x0000 },\n  { 0x1a01, 0xd16c, 0x0000 },\n  { 0x8c01, 0xd17d, 0x5000 },\n  { 0x8101, 0xd175, 0x4000 },\n  { 0x8a01, 0xd171, 0x3000 },\n  { 0x8a01, 0xd16f, 0x2000 },\n  { 0x0a01, 0xd16e, 0x0000 },\n  { 0x0a01, 0xd170, 0x0000 },\n  { 0x8101, 0xd173, 0x2000 },\n  { 0x0a01, 0xd172, 0x0000 },\n  { 0x0101, 0xd174, 0x0000 },\n  { 0x8101, 0xd179, 0x3000 },\n  { 0x8101, 0xd177, 0x2000 },\n  { 0x0101, 0xd176, 0x0000 },\n  { 0x0101, 0xd178, 0x0000 },\n  { 0x8c01, 0xd17b, 0x2000 },\n  { 0x0101, 0xd17a, 0x0000 },\n  { 0x0c01, 0xd17c, 0x0000 },\n  { 0x8c01, 0xd185, 0x4000 },\n  { 0x8c01, 0xd181, 0x3000 },\n  { 0x8c01, 0xd17f, 0x2000 },\n  { 0x0c01, 0xd17e, 0x0000 },\n  { 0x0c01, 0xd180, 0x0000 },\n  { 0x9a01, 0xd183, 0x2000 },\n  { 0x0c01, 0xd182, 0x0000 },\n  { 0x1a01, 0xd184, 0x0000 },\n  { 0x8c01, 0xd189, 0x3000 },\n  { 0x8c01, 0xd187, 0x2000 },\n  { 0x0c01, 0xd186, 0x0000 },\n  { 0x0c01, 0xd188, 0x0000 },\n  { 0x8c01, 0xd18b, 0x2000 },\n  { 0x0c01, 0xd18a, 0x0000 },\n  { 0x1a01, 0xd18c, 0x0000 },\n  { 0x9a01, 0xd32f, 0x8000 },\n  { 0x9a01, 0xd1cd, 0x7000 },\n  { 0x8c01, 0xd1ad, 0x6000 },\n  { 0x9a01, 0xd19d, 0x5000 },\n  { 0x9a01, 0xd195, 0x4000 },\n  { 0x9a01, 0xd191, 0x3000 },\n  { 0x9a01, 0xd18f, 0x2000 },\n  { 0x1a01, 0xd18e, 0x0000 },\n  { 0x1a01, 0xd190, 0x0000 },\n  { 0x9a01, 0xd193, 0x2000 },\n  { 0x1a01, 0xd192, 0x0000 },\n  { 0x1a01, 0xd194, 0x0000 },\n  { 0x9a01, 0xd199, 0x3000 },\n  { 0x9a01, 0xd197, 0x2000 },\n  { 0x1a01, 0xd196, 0x0000 },\n  { 0x1a01, 0xd198, 0x0000 },\n  { 0x9a01, 0xd19b, 0x2000 },\n  { 0x1a01, 0xd19a, 0x0000 },\n  { 0x1a01, 0xd19c, 0x0000 },\n  { 0x9a01, 0xd1a5, 0x4000 },\n  { 0x9a01, 0xd1a1, 0x3000 },\n  { 0x9a01, 0xd19f, 0x2000 },\n  { 0x1a01, 0xd19e, 0x0000 },\n  { 0x1a01, 0xd1a0, 0x0000 },\n  { 0x9a01, 0xd1a3, 0x2000 },\n  { 0x1a01, 0xd1a2, 0x0000 },\n  { 0x1a01, 0xd1a4, 0x0000 },\n  { 0x9a01, 0xd1a9, 0x3000 },\n  { 0x9a01, 0xd1a7, 0x2000 },\n  { 0x1a01, 0xd1a6, 0x0000 },\n  { 0x1a01, 0xd1a8, 0x0000 },\n  { 0x8c01, 0xd1ab, 0x2000 },\n  { 0x0c01, 0xd1aa, 0x0000 },\n  { 0x0c01, 0xd1ac, 0x0000 },\n  { 0x9a01, 0xd1bd, 0x5000 },\n  { 0x9a01, 0xd1b5, 0x4000 },\n  { 0x9a01, 0xd1b1, 0x3000 },\n  { 0x9a01, 0xd1af, 0x2000 },\n  { 0x1a01, 0xd1ae, 0x0000 },\n  { 0x1a01, 0xd1b0, 0x0000 },\n  { 0x9a01, 0xd1b3, 0x2000 },\n  { 0x1a01, 0xd1b2, 0x0000 },\n  { 0x1a01, 0xd1b4, 0x0000 },\n  { 0x9a01, 0xd1b9, 0x3000 },\n  { 0x9a01, 0xd1b7, 0x2000 },\n  { 0x1a01, 0xd1b6, 0x0000 },\n  { 0x1a01, 0xd1b8, 0x0000 },\n  { 0x9a01, 0xd1bb, 0x2000 },\n  { 0x1a01, 0xd1ba, 0x0000 },\n  { 0x1a01, 0xd1bc, 0x0000 },\n  { 0x9a01, 0xd1c5, 0x4000 },\n  { 0x9a01, 0xd1c1, 0x3000 },\n  { 0x9a01, 0xd1bf, 0x2000 },\n  { 0x1a01, 0xd1be, 0x0000 },\n  { 0x1a01, 0xd1c0, 0x0000 },\n  { 0x9a01, 0xd1c3, 0x2000 },\n  { 0x1a01, 0xd1c2, 0x0000 },\n  { 0x1a01, 0xd1c4, 0x0000 },\n  { 0x9a01, 0xd1c9, 0x3000 },\n  { 0x9a01, 0xd1c7, 0x2000 },\n  { 0x1a01, 0xd1c6, 0x0000 },\n  { 0x1a01, 0xd1c8, 0x0000 },\n  { 0x9a01, 0xd1cb, 0x2000 },\n  { 0x1a01, 0xd1ca, 0x0000 },\n  { 0x1a01, 0xd1cc, 0x0000 },\n  { 0x9a01, 0xd30f, 0x6000 },\n  { 0x9a01, 0xd1dd, 0x5000 },\n  { 0x9a01, 0xd1d5, 0x4000 },\n  { 0x9a01, 0xd1d1, 0x3000 },\n  { 0x9a01, 0xd1cf, 0x2000 },\n  { 0x1a01, 0xd1ce, 0x0000 },\n  { 0x1a01, 0xd1d0, 0x0000 },\n  { 0x9a01, 0xd1d3, 0x2000 },\n  { 0x1a01, 0xd1d2, 0x0000 },\n  { 0x1a01, 0xd1d4, 0x0000 },\n  { 0x9a01, 0xd1d9, 0x3000 },\n  { 0x9a01, 0xd1d7, 0x2000 },\n  { 0x1a01, 0xd1d6, 0x0000 },\n  { 0x1a01, 0xd1d8, 0x0000 },\n  { 0x9a01, 0xd1db, 0x2000 },\n  { 0x1a01, 0xd1da, 0x0000 },\n  { 0x1a01, 0xd1dc, 0x0000 },\n  { 0x9a01, 0xd307, 0x4000 },\n  { 0x9a01, 0xd303, 0x3000 },\n  { 0x9a01, 0xd301, 0x2000 },\n  { 0x1a01, 0xd300, 0x0000 },\n  { 0x1a01, 0xd302, 0x0000 },\n  { 0x9a01, 0xd305, 0x2000 },\n  { 0x1a01, 0xd304, 0x0000 },\n  { 0x1a01, 0xd306, 0x0000 },\n  { 0x9a01, 0xd30b, 0x3000 },\n  { 0x9a01, 0xd309, 0x2000 },\n  { 0x1a01, 0xd308, 0x0000 },\n  { 0x1a01, 0xd30a, 0x0000 },\n  { 0x9a01, 0xd30d, 0x2000 },\n  { 0x1a01, 0xd30c, 0x0000 },\n  { 0x1a01, 0xd30e, 0x0000 },\n  { 0x9a01, 0xd31f, 0x5000 },\n  { 0x9a01, 0xd317, 0x4000 },\n  { 0x9a01, 0xd313, 0x3000 },\n  { 0x9a01, 0xd311, 0x2000 },\n  { 0x1a01, 0xd310, 0x0000 },\n  { 0x1a01, 0xd312, 0x0000 },\n  { 0x9a01, 0xd315, 0x2000 },\n  { 0x1a01, 0xd314, 0x0000 },\n  { 0x1a01, 0xd316, 0x0000 },\n  { 0x9a01, 0xd31b, 0x3000 },\n  { 0x9a01, 0xd319, 0x2000 },\n  { 0x1a01, 0xd318, 0x0000 },\n  { 0x1a01, 0xd31a, 0x0000 },\n  { 0x9a01, 0xd31d, 0x2000 },\n  { 0x1a01, 0xd31c, 0x0000 },\n  { 0x1a01, 0xd31e, 0x0000 },\n  { 0x9a01, 0xd327, 0x4000 },\n  { 0x9a01, 0xd323, 0x3000 },\n  { 0x9a01, 0xd321, 0x2000 },\n  { 0x1a01, 0xd320, 0x0000 },\n  { 0x1a01, 0xd322, 0x0000 },\n  { 0x9a01, 0xd325, 0x2000 },\n  { 0x1a01, 0xd324, 0x0000 },\n  { 0x1a01, 0xd326, 0x0000 },\n  { 0x9a01, 0xd32b, 0x3000 },\n  { 0x9a01, 0xd329, 0x2000 },\n  { 0x1a01, 0xd328, 0x0000 },\n  { 0x1a01, 0xd32a, 0x0000 },\n  { 0x9a01, 0xd32d, 0x2000 },\n  { 0x1a01, 0xd32c, 0x0000 },\n  { 0x1a01, 0xd32e, 0x0000 },\n  { 0x8901, 0xd418, 0x7000 },\n  { 0x9a01, 0xd34f, 0x6000 },\n  { 0x9a01, 0xd33f, 0x5000 },\n  { 0x9a01, 0xd337, 0x4000 },\n  { 0x9a01, 0xd333, 0x3000 },\n  { 0x9a01, 0xd331, 0x2000 },\n  { 0x1a01, 0xd330, 0x0000 },\n  { 0x1a01, 0xd332, 0x0000 },\n  { 0x9a01, 0xd335, 0x2000 },\n  { 0x1a01, 0xd334, 0x0000 },\n  { 0x1a01, 0xd336, 0x0000 },\n  { 0x9a01, 0xd33b, 0x3000 },\n  { 0x9a01, 0xd339, 0x2000 },\n  { 0x1a01, 0xd338, 0x0000 },\n  { 0x1a01, 0xd33a, 0x0000 },\n  { 0x9a01, 0xd33d, 0x2000 },\n  { 0x1a01, 0xd33c, 0x0000 },\n  { 0x1a01, 0xd33e, 0x0000 },\n  { 0x9a01, 0xd347, 0x4000 },\n  { 0x9a01, 0xd343, 0x3000 },\n  { 0x9a01, 0xd341, 0x2000 },\n  { 0x1a01, 0xd340, 0x0000 },\n  { 0x1a01, 0xd342, 0x0000 },\n  { 0x9a01, 0xd345, 0x2000 },\n  { 0x1a01, 0xd344, 0x0000 },\n  { 0x1a01, 0xd346, 0x0000 },\n  { 0x9a01, 0xd34b, 0x3000 },\n  { 0x9a01, 0xd349, 0x2000 },\n  { 0x1a01, 0xd348, 0x0000 },\n  { 0x1a01, 0xd34a, 0x0000 },\n  { 0x9a01, 0xd34d, 0x2000 },\n  { 0x1a01, 0xd34c, 0x0000 },\n  { 0x1a01, 0xd34e, 0x0000 },\n  { 0x8901, 0xd408, 0x5000 },\n  { 0x8901, 0xd400, 0x4000 },\n  { 0x9a01, 0xd353, 0x3000 },\n  { 0x9a01, 0xd351, 0x2000 },\n  { 0x1a01, 0xd350, 0x0000 },\n  { 0x1a01, 0xd352, 0x0000 },\n  { 0x9a01, 0xd355, 0x2000 },\n  { 0x1a01, 0xd354, 0x0000 },\n  { 0x1a01, 0xd356, 0x0000 },\n  { 0x8901, 0xd404, 0x3000 },\n  { 0x8901, 0xd402, 0x2000 },\n  { 0x0901, 0xd401, 0x0000 },\n  { 0x0901, 0xd403, 0x0000 },\n  { 0x8901, 0xd406, 0x2000 },\n  { 0x0901, 0xd405, 0x0000 },\n  { 0x0901, 0xd407, 0x0000 },\n  { 0x8901, 0xd410, 0x4000 },\n  { 0x8901, 0xd40c, 0x3000 },\n  { 0x8901, 0xd40a, 0x2000 },\n  { 0x0901, 0xd409, 0x0000 },\n  { 0x0901, 0xd40b, 0x0000 },\n  { 0x8901, 0xd40e, 0x2000 },\n  { 0x0901, 0xd40d, 0x0000 },\n  { 0x0901, 0xd40f, 0x0000 },\n  { 0x8901, 0xd414, 0x3000 },\n  { 0x8901, 0xd412, 0x2000 },\n  { 0x0901, 0xd411, 0x0000 },\n  { 0x0901, 0xd413, 0x0000 },\n  { 0x8901, 0xd416, 0x2000 },\n  { 0x0901, 0xd415, 0x0000 },\n  { 0x0901, 0xd417, 0x0000 },\n  { 0x8901, 0xd438, 0x6000 },\n  { 0x8501, 0xd428, 0x5000 },\n  { 0x8501, 0xd420, 0x4000 },\n  { 0x8501, 0xd41c, 0x3000 },\n  { 0x8501, 0xd41a, 0x2000 },\n  { 0x0901, 0xd419, 0x0000 },\n  { 0x0501, 0xd41b, 0x0000 },\n  { 0x8501, 0xd41e, 0x2000 },\n  { 0x0501, 0xd41d, 0x0000 },\n  { 0x0501, 0xd41f, 0x0000 },\n  { 0x8501, 0xd424, 0x3000 },\n  { 0x8501, 0xd422, 0x2000 },\n  { 0x0501, 0xd421, 0x0000 },\n  { 0x0501, 0xd423, 0x0000 },\n  { 0x8501, 0xd426, 0x2000 },\n  { 0x0501, 0xd425, 0x0000 },\n  { 0x0501, 0xd427, 0x0000 },\n  { 0x8501, 0xd430, 0x4000 },\n  { 0x8501, 0xd42c, 0x3000 },\n  { 0x8501, 0xd42a, 0x2000 },\n  { 0x0501, 0xd429, 0x0000 },\n  { 0x0501, 0xd42b, 0x0000 },\n  { 0x8501, 0xd42e, 0x2000 },\n  { 0x0501, 0xd42d, 0x0000 },\n  { 0x0501, 0xd42f, 0x0000 },\n  { 0x8901, 0xd434, 0x3000 },\n  { 0x8501, 0xd432, 0x2000 },\n  { 0x0501, 0xd431, 0x0000 },\n  { 0x0501, 0xd433, 0x0000 },\n  { 0x8901, 0xd436, 0x2000 },\n  { 0x0901, 0xd435, 0x0000 },\n  { 0x0901, 0xd437, 0x0000 },\n  { 0x8901, 0xd448, 0x5000 },\n  { 0x8901, 0xd440, 0x4000 },\n  { 0x8901, 0xd43c, 0x3000 },\n  { 0x8901, 0xd43a, 0x2000 },\n  { 0x0901, 0xd439, 0x0000 },\n  { 0x0901, 0xd43b, 0x0000 },\n  { 0x8901, 0xd43e, 0x2000 },\n  { 0x0901, 0xd43d, 0x0000 },\n  { 0x0901, 0xd43f, 0x0000 },\n  { 0x8901, 0xd444, 0x3000 },\n  { 0x8901, 0xd442, 0x2000 },\n  { 0x0901, 0xd441, 0x0000 },\n  { 0x0901, 0xd443, 0x0000 },\n  { 0x8901, 0xd446, 0x2000 },\n  { 0x0901, 0xd445, 0x0000 },\n  { 0x0901, 0xd447, 0x0000 },\n  { 0x8501, 0xd450, 0x4000 },\n  { 0x8901, 0xd44c, 0x3000 },\n  { 0x8901, 0xd44a, 0x2000 },\n  { 0x0901, 0xd449, 0x0000 },\n  { 0x0901, 0xd44b, 0x0000 },\n  { 0x8501, 0xd44e, 0x2000 },\n  { 0x0901, 0xd44d, 0x0000 },\n  { 0x0501, 0xd44f, 0x0000 },\n  { 0x8501, 0xd454, 0x3000 },\n  { 0x8501, 0xd452, 0x2000 },\n  { 0x0501, 0xd451, 0x0000 },\n  { 0x0501, 0xd453, 0x0000 },\n  { 0x8501, 0xd457, 0x2000 },\n  { 0x0501, 0xd456, 0x0000 },\n  { 0x0501, 0xd458, 0x0000 },\n  { 0x8702, 0xf876, 0xb000 },\n  { 0x8901, 0xd670, 0xa000 },\n  { 0x8901, 0xd570, 0x9000 },\n  { 0x8901, 0xd4e4, 0x8000 },\n  { 0x8501, 0xd499, 0x7000 },\n  { 0x8901, 0xd479, 0x6000 },\n  { 0x8901, 0xd469, 0x5000 },\n  { 0x8501, 0xd461, 0x4000 },\n  { 0x8501, 0xd45d, 0x3000 },\n  { 0x8501, 0xd45b, 0x2000 },\n  { 0x0501, 0xd45a, 0x0000 },\n  { 0x0501, 0xd45c, 0x0000 },\n  { 0x8501, 0xd45f, 0x2000 },\n  { 0x0501, 0xd45e, 0x0000 },\n  { 0x0501, 0xd460, 0x0000 },\n  { 0x8501, 0xd465, 0x3000 },\n  { 0x8501, 0xd463, 0x2000 },\n  { 0x0501, 0xd462, 0x0000 },\n  { 0x0501, 0xd464, 0x0000 },\n  { 0x8501, 0xd467, 0x2000 },\n  { 0x0501, 0xd466, 0x0000 },\n  { 0x0901, 0xd468, 0x0000 },\n  { 0x8901, 0xd471, 0x4000 },\n  { 0x8901, 0xd46d, 0x3000 },\n  { 0x8901, 0xd46b, 0x2000 },\n  { 0x0901, 0xd46a, 0x0000 },\n  { 0x0901, 0xd46c, 0x0000 },\n  { 0x8901, 0xd46f, 0x2000 },\n  { 0x0901, 0xd46e, 0x0000 },\n  { 0x0901, 0xd470, 0x0000 },\n  { 0x8901, 0xd475, 0x3000 },\n  { 0x8901, 0xd473, 0x2000 },\n  { 0x0901, 0xd472, 0x0000 },\n  { 0x0901, 0xd474, 0x0000 },\n  { 0x8901, 0xd477, 0x2000 },\n  { 0x0901, 0xd476, 0x0000 },\n  { 0x0901, 0xd478, 0x0000 },\n  { 0x8501, 0xd489, 0x5000 },\n  { 0x8901, 0xd481, 0x4000 },\n  { 0x8901, 0xd47d, 0x3000 },\n  { 0x8901, 0xd47b, 0x2000 },\n  { 0x0901, 0xd47a, 0x0000 },\n  { 0x0901, 0xd47c, 0x0000 },\n  { 0x8901, 0xd47f, 0x2000 },\n  { 0x0901, 0xd47e, 0x0000 },\n  { 0x0901, 0xd480, 0x0000 },\n  { 0x8501, 0xd485, 0x3000 },\n  { 0x8501, 0xd483, 0x2000 },\n  { 0x0501, 0xd482, 0x0000 },\n  { 0x0501, 0xd484, 0x0000 },\n  { 0x8501, 0xd487, 0x2000 },\n  { 0x0501, 0xd486, 0x0000 },\n  { 0x0501, 0xd488, 0x0000 },\n  { 0x8501, 0xd491, 0x4000 },\n  { 0x8501, 0xd48d, 0x3000 },\n  { 0x8501, 0xd48b, 0x2000 },\n  { 0x0501, 0xd48a, 0x0000 },\n  { 0x0501, 0xd48c, 0x0000 },\n  { 0x8501, 0xd48f, 0x2000 },\n  { 0x0501, 0xd48e, 0x0000 },\n  { 0x0501, 0xd490, 0x0000 },\n  { 0x8501, 0xd495, 0x3000 },\n  { 0x8501, 0xd493, 0x2000 },\n  { 0x0501, 0xd492, 0x0000 },\n  { 0x0501, 0xd494, 0x0000 },\n  { 0x8501, 0xd497, 0x2000 },\n  { 0x0501, 0xd496, 0x0000 },\n  { 0x0501, 0xd498, 0x0000 },\n  { 0x8501, 0xd4c3, 0x6000 },\n  { 0x8901, 0xd4b1, 0x5000 },\n  { 0x8901, 0xd4a6, 0x4000 },\n  { 0x8901, 0xd49e, 0x3000 },\n  { 0x8501, 0xd49b, 0x2000 },\n  { 0x0501, 0xd49a, 0x0000 },\n  { 0x0901, 0xd49c, 0x0000 },\n  { 0x8901, 0xd4a2, 0x2000 },\n  { 0x0901, 0xd49f, 0x0000 },\n  { 0x0901, 0xd4a5, 0x0000 },\n  { 0x8901, 0xd4ac, 0x3000 },\n  { 0x8901, 0xd4aa, 0x2000 },\n  { 0x0901, 0xd4a9, 0x0000 },\n  { 0x0901, 0xd4ab, 0x0000 },\n  { 0x8901, 0xd4af, 0x2000 },\n  { 0x0901, 0xd4ae, 0x0000 },\n  { 0x0901, 0xd4b0, 0x0000 },\n  { 0x8501, 0xd4b9, 0x4000 },\n  { 0x8901, 0xd4b5, 0x3000 },\n  { 0x8901, 0xd4b3, 0x2000 },\n  { 0x0901, 0xd4b2, 0x0000 },\n  { 0x0901, 0xd4b4, 0x0000 },\n  { 0x8501, 0xd4b7, 0x2000 },\n  { 0x0501, 0xd4b6, 0x0000 },\n  { 0x0501, 0xd4b8, 0x0000 },\n  { 0x8501, 0xd4bf, 0x3000 },\n  { 0x8501, 0xd4bd, 0x2000 },\n  { 0x0501, 0xd4bb, 0x0000 },\n  { 0x0501, 0xd4be, 0x0000 },\n  { 0x8501, 0xd4c1, 0x2000 },\n  { 0x0501, 0xd4c0, 0x0000 },\n  { 0x0501, 0xd4c2, 0x0000 },\n  { 0x8901, 0xd4d4, 0x5000 },\n  { 0x8501, 0xd4cc, 0x4000 },\n  { 0x8501, 0xd4c8, 0x3000 },\n  { 0x8501, 0xd4c6, 0x2000 },\n  { 0x0501, 0xd4c5, 0x0000 },\n  { 0x0501, 0xd4c7, 0x0000 },\n  { 0x8501, 0xd4ca, 0x2000 },\n  { 0x0501, 0xd4c9, 0x0000 },\n  { 0x0501, 0xd4cb, 0x0000 },\n  { 0x8901, 0xd4d0, 0x3000 },\n  { 0x8501, 0xd4ce, 0x2000 },\n  { 0x0501, 0xd4cd, 0x0000 },\n  { 0x0501, 0xd4cf, 0x0000 },\n  { 0x8901, 0xd4d2, 0x2000 },\n  { 0x0901, 0xd4d1, 0x0000 },\n  { 0x0901, 0xd4d3, 0x0000 },\n  { 0x8901, 0xd4dc, 0x4000 },\n  { 0x8901, 0xd4d8, 0x3000 },\n  { 0x8901, 0xd4d6, 0x2000 },\n  { 0x0901, 0xd4d5, 0x0000 },\n  { 0x0901, 0xd4d7, 0x0000 },\n  { 0x8901, 0xd4da, 0x2000 },\n  { 0x0901, 0xd4d9, 0x0000 },\n  { 0x0901, 0xd4db, 0x0000 },\n  { 0x8901, 0xd4e0, 0x3000 },\n  { 0x8901, 0xd4de, 0x2000 },\n  { 0x0901, 0xd4dd, 0x0000 },\n  { 0x0901, 0xd4df, 0x0000 },\n  { 0x8901, 0xd4e2, 0x2000 },\n  { 0x0901, 0xd4e1, 0x0000 },\n  { 0x0901, 0xd4e3, 0x0000 },\n  { 0x8501, 0xd529, 0x7000 },\n  { 0x8901, 0xd504, 0x6000 },\n  { 0x8501, 0xd4f4, 0x5000 },\n  { 0x8501, 0xd4ec, 0x4000 },\n  { 0x8901, 0xd4e8, 0x3000 },\n  { 0x8901, 0xd4e6, 0x2000 },\n  { 0x0901, 0xd4e5, 0x0000 },\n  { 0x0901, 0xd4e7, 0x0000 },\n  { 0x8501, 0xd4ea, 0x2000 },\n  { 0x0901, 0xd4e9, 0x0000 },\n  { 0x0501, 0xd4eb, 0x0000 },\n  { 0x8501, 0xd4f0, 0x3000 },\n  { 0x8501, 0xd4ee, 0x2000 },\n  { 0x0501, 0xd4ed, 0x0000 },\n  { 0x0501, 0xd4ef, 0x0000 },\n  { 0x8501, 0xd4f2, 0x2000 },\n  { 0x0501, 0xd4f1, 0x0000 },\n  { 0x0501, 0xd4f3, 0x0000 },\n  { 0x8501, 0xd4fc, 0x4000 },\n  { 0x8501, 0xd4f8, 0x3000 },\n  { 0x8501, 0xd4f6, 0x2000 },\n  { 0x0501, 0xd4f5, 0x0000 },\n  { 0x0501, 0xd4f7, 0x0000 },\n  { 0x8501, 0xd4fa, 0x2000 },\n  { 0x0501, 0xd4f9, 0x0000 },\n  { 0x0501, 0xd4fb, 0x0000 },\n  { 0x8501, 0xd500, 0x3000 },\n  { 0x8501, 0xd4fe, 0x2000 },\n  { 0x0501, 0xd4fd, 0x0000 },\n  { 0x0501, 0xd4ff, 0x0000 },\n  { 0x8501, 0xd502, 0x2000 },\n  { 0x0501, 0xd501, 0x0000 },\n  { 0x0501, 0xd503, 0x0000 },\n  { 0x8901, 0xd518, 0x5000 },\n  { 0x8901, 0xd50f, 0x4000 },\n  { 0x8901, 0xd509, 0x3000 },\n  { 0x8901, 0xd507, 0x2000 },\n  { 0x0901, 0xd505, 0x0000 },\n  { 0x0901, 0xd508, 0x0000 },\n  { 0x8901, 0xd50d, 0x2000 },\n  { 0x0901, 0xd50a, 0x0000 },\n  { 0x0901, 0xd50e, 0x0000 },\n  { 0x8901, 0xd513, 0x3000 },\n  { 0x8901, 0xd511, 0x2000 },\n  { 0x0901, 0xd510, 0x0000 },\n  { 0x0901, 0xd512, 0x0000 },\n  { 0x8901, 0xd516, 0x2000 },\n  { 0x0901, 0xd514, 0x0000 },\n  { 0x0901, 0xd517, 0x0000 },\n  { 0x8501, 0xd521, 0x4000 },\n  { 0x8901, 0xd51c, 0x3000 },\n  { 0x8901, 0xd51a, 0x2000 },\n  { 0x0901, 0xd519, 0x0000 },\n  { 0x0901, 0xd51b, 0x0000 },\n  { 0x8501, 0xd51f, 0x2000 },\n  { 0x0501, 0xd51e, 0x0000 },\n  { 0x0501, 0xd520, 0x0000 },\n  { 0x8501, 0xd525, 0x3000 },\n  { 0x8501, 0xd523, 0x2000 },\n  { 0x0501, 0xd522, 0x0000 },\n  { 0x0501, 0xd524, 0x0000 },\n  { 0x8501, 0xd527, 0x2000 },\n  { 0x0501, 0xd526, 0x0000 },\n  { 0x0501, 0xd528, 0x0000 },\n  { 0x8901, 0xd54f, 0x6000 },\n  { 0x8901, 0xd539, 0x5000 },\n  { 0x8501, 0xd531, 0x4000 },\n  { 0x8501, 0xd52d, 0x3000 },\n  { 0x8501, 0xd52b, 0x2000 },\n  { 0x0501, 0xd52a, 0x0000 },\n  { 0x0501, 0xd52c, 0x0000 },\n  { 0x8501, 0xd52f, 0x2000 },\n  { 0x0501, 0xd52e, 0x0000 },\n  { 0x0501, 0xd530, 0x0000 },\n  { 0x8501, 0xd535, 0x3000 },\n  { 0x8501, 0xd533, 0x2000 },\n  { 0x0501, 0xd532, 0x0000 },\n  { 0x0501, 0xd534, 0x0000 },\n  { 0x8501, 0xd537, 0x2000 },\n  { 0x0501, 0xd536, 0x0000 },\n  { 0x0901, 0xd538, 0x0000 },\n  { 0x8901, 0xd543, 0x4000 },\n  { 0x8901, 0xd53e, 0x3000 },\n  { 0x8901, 0xd53c, 0x2000 },\n  { 0x0901, 0xd53b, 0x0000 },\n  { 0x0901, 0xd53d, 0x0000 },\n  { 0x8901, 0xd541, 0x2000 },\n  { 0x0901, 0xd540, 0x0000 },\n  { 0x0901, 0xd542, 0x0000 },\n  { 0x8901, 0xd54b, 0x3000 },\n  { 0x8901, 0xd546, 0x2000 },\n  { 0x0901, 0xd544, 0x0000 },\n  { 0x0901, 0xd54a, 0x0000 },\n  { 0x8901, 0xd54d, 0x2000 },\n  { 0x0901, 0xd54c, 0x0000 },\n  { 0x0901, 0xd54e, 0x0000 },\n  { 0x8501, 0xd560, 0x5000 },\n  { 0x8501, 0xd558, 0x4000 },\n  { 0x8501, 0xd554, 0x3000 },\n  { 0x8501, 0xd552, 0x2000 },\n  { 0x0901, 0xd550, 0x0000 },\n  { 0x0501, 0xd553, 0x0000 },\n  { 0x8501, 0xd556, 0x2000 },\n  { 0x0501, 0xd555, 0x0000 },\n  { 0x0501, 0xd557, 0x0000 },\n  { 0x8501, 0xd55c, 0x3000 },\n  { 0x8501, 0xd55a, 0x2000 },\n  { 0x0501, 0xd559, 0x0000 },\n  { 0x0501, 0xd55b, 0x0000 },\n  { 0x8501, 0xd55e, 0x2000 },\n  { 0x0501, 0xd55d, 0x0000 },\n  { 0x0501, 0xd55f, 0x0000 },\n  { 0x8501, 0xd568, 0x4000 },\n  { 0x8501, 0xd564, 0x3000 },\n  { 0x8501, 0xd562, 0x2000 },\n  { 0x0501, 0xd561, 0x0000 },\n  { 0x0501, 0xd563, 0x0000 },\n  { 0x8501, 0xd566, 0x2000 },\n  { 0x0501, 0xd565, 0x0000 },\n  { 0x0501, 0xd567, 0x0000 },\n  { 0x8901, 0xd56c, 0x3000 },\n  { 0x8501, 0xd56a, 0x2000 },\n  { 0x0501, 0xd569, 0x0000 },\n  { 0x0501, 0xd56b, 0x0000 },\n  { 0x8901, 0xd56e, 0x2000 },\n  { 0x0901, 0xd56d, 0x0000 },\n  { 0x0901, 0xd56f, 0x0000 },\n  { 0x8501, 0xd5f0, 0x8000 },\n  { 0x8901, 0xd5b0, 0x7000 },\n  { 0x8501, 0xd590, 0x6000 },\n  { 0x8901, 0xd580, 0x5000 },\n  { 0x8901, 0xd578, 0x4000 },\n  { 0x8901, 0xd574, 0x3000 },\n  { 0x8901, 0xd572, 0x2000 },\n  { 0x0901, 0xd571, 0x0000 },\n  { 0x0901, 0xd573, 0x0000 },\n  { 0x8901, 0xd576, 0x2000 },\n  { 0x0901, 0xd575, 0x0000 },\n  { 0x0901, 0xd577, 0x0000 },\n  { 0x8901, 0xd57c, 0x3000 },\n  { 0x8901, 0xd57a, 0x2000 },\n  { 0x0901, 0xd579, 0x0000 },\n  { 0x0901, 0xd57b, 0x0000 },\n  { 0x8901, 0xd57e, 0x2000 },\n  { 0x0901, 0xd57d, 0x0000 },\n  { 0x0901, 0xd57f, 0x0000 },\n  { 0x8501, 0xd588, 0x4000 },\n  { 0x8901, 0xd584, 0x3000 },\n  { 0x8901, 0xd582, 0x2000 },\n  { 0x0901, 0xd581, 0x0000 },\n  { 0x0901, 0xd583, 0x0000 },\n  { 0x8501, 0xd586, 0x2000 },\n  { 0x0901, 0xd585, 0x0000 },\n  { 0x0501, 0xd587, 0x0000 },\n  { 0x8501, 0xd58c, 0x3000 },\n  { 0x8501, 0xd58a, 0x2000 },\n  { 0x0501, 0xd589, 0x0000 },\n  { 0x0501, 0xd58b, 0x0000 },\n  { 0x8501, 0xd58e, 0x2000 },\n  { 0x0501, 0xd58d, 0x0000 },\n  { 0x0501, 0xd58f, 0x0000 },\n  { 0x8901, 0xd5a0, 0x5000 },\n  { 0x8501, 0xd598, 0x4000 },\n  { 0x8501, 0xd594, 0x3000 },\n  { 0x8501, 0xd592, 0x2000 },\n  { 0x0501, 0xd591, 0x0000 },\n  { 0x0501, 0xd593, 0x0000 },\n  { 0x8501, 0xd596, 0x2000 },\n  { 0x0501, 0xd595, 0x0000 },\n  { 0x0501, 0xd597, 0x0000 },\n  { 0x8501, 0xd59c, 0x3000 },\n  { 0x8501, 0xd59a, 0x2000 },\n  { 0x0501, 0xd599, 0x0000 },\n  { 0x0501, 0xd59b, 0x0000 },\n  { 0x8501, 0xd59e, 0x2000 },\n  { 0x0501, 0xd59d, 0x0000 },\n  { 0x0501, 0xd59f, 0x0000 },\n  { 0x8901, 0xd5a8, 0x4000 },\n  { 0x8901, 0xd5a4, 0x3000 },\n  { 0x8901, 0xd5a2, 0x2000 },\n  { 0x0901, 0xd5a1, 0x0000 },\n  { 0x0901, 0xd5a3, 0x0000 },\n  { 0x8901, 0xd5a6, 0x2000 },\n  { 0x0901, 0xd5a5, 0x0000 },\n  { 0x0901, 0xd5a7, 0x0000 },\n  { 0x8901, 0xd5ac, 0x3000 },\n  { 0x8901, 0xd5aa, 0x2000 },\n  { 0x0901, 0xd5a9, 0x0000 },\n  { 0x0901, 0xd5ab, 0x0000 },\n  { 0x8901, 0xd5ae, 0x2000 },\n  { 0x0901, 0xd5ad, 0x0000 },\n  { 0x0901, 0xd5af, 0x0000 },\n  { 0x8501, 0xd5d0, 0x6000 },\n  { 0x8501, 0xd5c0, 0x5000 },\n  { 0x8901, 0xd5b8, 0x4000 },\n  { 0x8901, 0xd5b4, 0x3000 },\n  { 0x8901, 0xd5b2, 0x2000 },\n  { 0x0901, 0xd5b1, 0x0000 },\n  { 0x0901, 0xd5b3, 0x0000 },\n  { 0x8901, 0xd5b6, 0x2000 },\n  { 0x0901, 0xd5b5, 0x0000 },\n  { 0x0901, 0xd5b7, 0x0000 },\n  { 0x8501, 0xd5bc, 0x3000 },\n  { 0x8501, 0xd5ba, 0x2000 },\n  { 0x0901, 0xd5b9, 0x0000 },\n  { 0x0501, 0xd5bb, 0x0000 },\n  { 0x8501, 0xd5be, 0x2000 },\n  { 0x0501, 0xd5bd, 0x0000 },\n  { 0x0501, 0xd5bf, 0x0000 },\n  { 0x8501, 0xd5c8, 0x4000 },\n  { 0x8501, 0xd5c4, 0x3000 },\n  { 0x8501, 0xd5c2, 0x2000 },\n  { 0x0501, 0xd5c1, 0x0000 },\n  { 0x0501, 0xd5c3, 0x0000 },\n  { 0x8501, 0xd5c6, 0x2000 },\n  { 0x0501, 0xd5c5, 0x0000 },\n  { 0x0501, 0xd5c7, 0x0000 },\n  { 0x8501, 0xd5cc, 0x3000 },\n  { 0x8501, 0xd5ca, 0x2000 },\n  { 0x0501, 0xd5c9, 0x0000 },\n  { 0x0501, 0xd5cb, 0x0000 },\n  { 0x8501, 0xd5ce, 0x2000 },\n  { 0x0501, 0xd5cd, 0x0000 },\n  { 0x0501, 0xd5cf, 0x0000 },\n  { 0x8901, 0xd5e0, 0x5000 },\n  { 0x8901, 0xd5d8, 0x4000 },\n  { 0x8901, 0xd5d4, 0x3000 },\n  { 0x8501, 0xd5d2, 0x2000 },\n  { 0x0501, 0xd5d1, 0x0000 },\n  { 0x0501, 0xd5d3, 0x0000 },\n  { 0x8901, 0xd5d6, 0x2000 },\n  { 0x0901, 0xd5d5, 0x0000 },\n  { 0x0901, 0xd5d7, 0x0000 },\n  { 0x8901, 0xd5dc, 0x3000 },\n  { 0x8901, 0xd5da, 0x2000 },\n  { 0x0901, 0xd5d9, 0x0000 },\n  { 0x0901, 0xd5db, 0x0000 },\n  { 0x8901, 0xd5de, 0x2000 },\n  { 0x0901, 0xd5dd, 0x0000 },\n  { 0x0901, 0xd5df, 0x0000 },\n  { 0x8901, 0xd5e8, 0x4000 },\n  { 0x8901, 0xd5e4, 0x3000 },\n  { 0x8901, 0xd5e2, 0x2000 },\n  { 0x0901, 0xd5e1, 0x0000 },\n  { 0x0901, 0xd5e3, 0x0000 },\n  { 0x8901, 0xd5e6, 0x2000 },\n  { 0x0901, 0xd5e5, 0x0000 },\n  { 0x0901, 0xd5e7, 0x0000 },\n  { 0x8901, 0xd5ec, 0x3000 },\n  { 0x8901, 0xd5ea, 0x2000 },\n  { 0x0901, 0xd5e9, 0x0000 },\n  { 0x0901, 0xd5eb, 0x0000 },\n  { 0x8501, 0xd5ee, 0x2000 },\n  { 0x0901, 0xd5ed, 0x0000 },\n  { 0x0501, 0xd5ef, 0x0000 },\n  { 0x8501, 0xd630, 0x7000 },\n  { 0x8901, 0xd610, 0x6000 },\n  { 0x8501, 0xd600, 0x5000 },\n  { 0x8501, 0xd5f8, 0x4000 },\n  { 0x8501, 0xd5f4, 0x3000 },\n  { 0x8501, 0xd5f2, 0x2000 },\n  { 0x0501, 0xd5f1, 0x0000 },\n  { 0x0501, 0xd5f3, 0x0000 },\n  { 0x8501, 0xd5f6, 0x2000 },\n  { 0x0501, 0xd5f5, 0x0000 },\n  { 0x0501, 0xd5f7, 0x0000 },\n  { 0x8501, 0xd5fc, 0x3000 },\n  { 0x8501, 0xd5fa, 0x2000 },\n  { 0x0501, 0xd5f9, 0x0000 },\n  { 0x0501, 0xd5fb, 0x0000 },\n  { 0x8501, 0xd5fe, 0x2000 },\n  { 0x0501, 0xd5fd, 0x0000 },\n  { 0x0501, 0xd5ff, 0x0000 },\n  { 0x8901, 0xd608, 0x4000 },\n  { 0x8501, 0xd604, 0x3000 },\n  { 0x8501, 0xd602, 0x2000 },\n  { 0x0501, 0xd601, 0x0000 },\n  { 0x0501, 0xd603, 0x0000 },\n  { 0x8501, 0xd606, 0x2000 },\n  { 0x0501, 0xd605, 0x0000 },\n  { 0x0501, 0xd607, 0x0000 },\n  { 0x8901, 0xd60c, 0x3000 },\n  { 0x8901, 0xd60a, 0x2000 },\n  { 0x0901, 0xd609, 0x0000 },\n  { 0x0901, 0xd60b, 0x0000 },\n  { 0x8901, 0xd60e, 0x2000 },\n  { 0x0901, 0xd60d, 0x0000 },\n  { 0x0901, 0xd60f, 0x0000 },\n  { 0x8901, 0xd620, 0x5000 },\n  { 0x8901, 0xd618, 0x4000 },\n  { 0x8901, 0xd614, 0x3000 },\n  { 0x8901, 0xd612, 0x2000 },\n  { 0x0901, 0xd611, 0x0000 },\n  { 0x0901, 0xd613, 0x0000 },\n  { 0x8901, 0xd616, 0x2000 },\n  { 0x0901, 0xd615, 0x0000 },\n  { 0x0901, 0xd617, 0x0000 },\n  { 0x8901, 0xd61c, 0x3000 },\n  { 0x8901, 0xd61a, 0x2000 },\n  { 0x0901, 0xd619, 0x0000 },\n  { 0x0901, 0xd61b, 0x0000 },\n  { 0x8901, 0xd61e, 0x2000 },\n  { 0x0901, 0xd61d, 0x0000 },\n  { 0x0901, 0xd61f, 0x0000 },\n  { 0x8501, 0xd628, 0x4000 },\n  { 0x8501, 0xd624, 0x3000 },\n  { 0x8501, 0xd622, 0x2000 },\n  { 0x0901, 0xd621, 0x0000 },\n  { 0x0501, 0xd623, 0x0000 },\n  { 0x8501, 0xd626, 0x2000 },\n  { 0x0501, 0xd625, 0x0000 },\n  { 0x0501, 0xd627, 0x0000 },\n  { 0x8501, 0xd62c, 0x3000 },\n  { 0x8501, 0xd62a, 0x2000 },\n  { 0x0501, 0xd629, 0x0000 },\n  { 0x0501, 0xd62b, 0x0000 },\n  { 0x8501, 0xd62e, 0x2000 },\n  { 0x0501, 0xd62d, 0x0000 },\n  { 0x0501, 0xd62f, 0x0000 },\n  { 0x8901, 0xd650, 0x6000 },\n  { 0x8901, 0xd640, 0x5000 },\n  { 0x8501, 0xd638, 0x4000 },\n  { 0x8501, 0xd634, 0x3000 },\n  { 0x8501, 0xd632, 0x2000 },\n  { 0x0501, 0xd631, 0x0000 },\n  { 0x0501, 0xd633, 0x0000 },\n  { 0x8501, 0xd636, 0x2000 },\n  { 0x0501, 0xd635, 0x0000 },\n  { 0x0501, 0xd637, 0x0000 },\n  { 0x8901, 0xd63c, 0x3000 },\n  { 0x8501, 0xd63a, 0x2000 },\n  { 0x0501, 0xd639, 0x0000 },\n  { 0x0501, 0xd63b, 0x0000 },\n  { 0x8901, 0xd63e, 0x2000 },\n  { 0x0901, 0xd63d, 0x0000 },\n  { 0x0901, 0xd63f, 0x0000 },\n  { 0x8901, 0xd648, 0x4000 },\n  { 0x8901, 0xd644, 0x3000 },\n  { 0x8901, 0xd642, 0x2000 },\n  { 0x0901, 0xd641, 0x0000 },\n  { 0x0901, 0xd643, 0x0000 },\n  { 0x8901, 0xd646, 0x2000 },\n  { 0x0901, 0xd645, 0x0000 },\n  { 0x0901, 0xd647, 0x0000 },\n  { 0x8901, 0xd64c, 0x3000 },\n  { 0x8901, 0xd64a, 0x2000 },\n  { 0x0901, 0xd649, 0x0000 },\n  { 0x0901, 0xd64b, 0x0000 },\n  { 0x8901, 0xd64e, 0x2000 },\n  { 0x0901, 0xd64d, 0x0000 },\n  { 0x0901, 0xd64f, 0x0000 },\n  { 0x8501, 0xd660, 0x5000 },\n  { 0x8501, 0xd658, 0x4000 },\n  { 0x8901, 0xd654, 0x3000 },\n  { 0x8901, 0xd652, 0x2000 },\n  { 0x0901, 0xd651, 0x0000 },\n  { 0x0901, 0xd653, 0x0000 },\n  { 0x8501, 0xd656, 0x2000 },\n  { 0x0901, 0xd655, 0x0000 },\n  { 0x0501, 0xd657, 0x0000 },\n  { 0x8501, 0xd65c, 0x3000 },\n  { 0x8501, 0xd65a, 0x2000 },\n  { 0x0501, 0xd659, 0x0000 },\n  { 0x0501, 0xd65b, 0x0000 },\n  { 0x8501, 0xd65e, 0x2000 },\n  { 0x0501, 0xd65d, 0x0000 },\n  { 0x0501, 0xd65f, 0x0000 },\n  { 0x8501, 0xd668, 0x4000 },\n  { 0x8501, 0xd664, 0x3000 },\n  { 0x8501, 0xd662, 0x2000 },\n  { 0x0501, 0xd661, 0x0000 },\n  { 0x0501, 0xd663, 0x0000 },\n  { 0x8501, 0xd666, 0x2000 },\n  { 0x0501, 0xd665, 0x0000 },\n  { 0x0501, 0xd667, 0x0000 },\n  { 0x8501, 0xd66c, 0x3000 },\n  { 0x8501, 0xd66a, 0x2000 },\n  { 0x0501, 0xd669, 0x0000 },\n  { 0x0501, 0xd66b, 0x0000 },\n  { 0x8501, 0xd66e, 0x2000 },\n  { 0x0501, 0xd66d, 0x0000 },\n  { 0x0501, 0xd66f, 0x0000 },\n  { 0x8501, 0xd774, 0x9000 },\n  { 0x8901, 0xd6f4, 0x8000 },\n  { 0x8901, 0xd6b4, 0x7000 },\n  { 0x8501, 0xd690, 0x6000 },\n  { 0x8901, 0xd680, 0x5000 },\n  { 0x8901, 0xd678, 0x4000 },\n  { 0x8901, 0xd674, 0x3000 },\n  { 0x8901, 0xd672, 0x2000 },\n  { 0x0901, 0xd671, 0x0000 },\n  { 0x0901, 0xd673, 0x0000 },\n  { 0x8901, 0xd676, 0x2000 },\n  { 0x0901, 0xd675, 0x0000 },\n  { 0x0901, 0xd677, 0x0000 },\n  { 0x8901, 0xd67c, 0x3000 },\n  { 0x8901, 0xd67a, 0x2000 },\n  { 0x0901, 0xd679, 0x0000 },\n  { 0x0901, 0xd67b, 0x0000 },\n  { 0x8901, 0xd67e, 0x2000 },\n  { 0x0901, 0xd67d, 0x0000 },\n  { 0x0901, 0xd67f, 0x0000 },\n  { 0x8901, 0xd688, 0x4000 },\n  { 0x8901, 0xd684, 0x3000 },\n  { 0x8901, 0xd682, 0x2000 },\n  { 0x0901, 0xd681, 0x0000 },\n  { 0x0901, 0xd683, 0x0000 },\n  { 0x8901, 0xd686, 0x2000 },\n  { 0x0901, 0xd685, 0x0000 },\n  { 0x0901, 0xd687, 0x0000 },\n  { 0x8501, 0xd68c, 0x3000 },\n  { 0x8501, 0xd68a, 0x2000 },\n  { 0x0901, 0xd689, 0x0000 },\n  { 0x0501, 0xd68b, 0x0000 },\n  { 0x8501, 0xd68e, 0x2000 },\n  { 0x0501, 0xd68d, 0x0000 },\n  { 0x0501, 0xd68f, 0x0000 },\n  { 0x8501, 0xd6a0, 0x5000 },\n  { 0x8501, 0xd698, 0x4000 },\n  { 0x8501, 0xd694, 0x3000 },\n  { 0x8501, 0xd692, 0x2000 },\n  { 0x0501, 0xd691, 0x0000 },\n  { 0x0501, 0xd693, 0x0000 },\n  { 0x8501, 0xd696, 0x2000 },\n  { 0x0501, 0xd695, 0x0000 },\n  { 0x0501, 0xd697, 0x0000 },\n  { 0x8501, 0xd69c, 0x3000 },\n  { 0x8501, 0xd69a, 0x2000 },\n  { 0x0501, 0xd699, 0x0000 },\n  { 0x0501, 0xd69b, 0x0000 },\n  { 0x8501, 0xd69e, 0x2000 },\n  { 0x0501, 0xd69d, 0x0000 },\n  { 0x0501, 0xd69f, 0x0000 },\n  { 0x8901, 0xd6ac, 0x4000 },\n  { 0x8901, 0xd6a8, 0x3000 },\n  { 0x8501, 0xd6a2, 0x2000 },\n  { 0x0501, 0xd6a1, 0x0000 },\n  { 0x0501, 0xd6a3, 0x0000 },\n  { 0x8901, 0xd6aa, 0x2000 },\n  { 0x0901, 0xd6a9, 0x0000 },\n  { 0x0901, 0xd6ab, 0x0000 },\n  { 0x8901, 0xd6b0, 0x3000 },\n  { 0x8901, 0xd6ae, 0x2000 },\n  { 0x0901, 0xd6ad, 0x0000 },\n  { 0x0901, 0xd6af, 0x0000 },\n  { 0x8901, 0xd6b2, 0x2000 },\n  { 0x0901, 0xd6b1, 0x0000 },\n  { 0x0901, 0xd6b3, 0x0000 },\n  { 0x8501, 0xd6d4, 0x6000 },\n  { 0x8501, 0xd6c4, 0x5000 },\n  { 0x8901, 0xd6bc, 0x4000 },\n  { 0x8901, 0xd6b8, 0x3000 },\n  { 0x8901, 0xd6b6, 0x2000 },\n  { 0x0901, 0xd6b5, 0x0000 },\n  { 0x0901, 0xd6b7, 0x0000 },\n  { 0x8901, 0xd6ba, 0x2000 },\n  { 0x0901, 0xd6b9, 0x0000 },\n  { 0x0901, 0xd6bb, 0x0000 },\n  { 0x8901, 0xd6c0, 0x3000 },\n  { 0x8901, 0xd6be, 0x2000 },\n  { 0x0901, 0xd6bd, 0x0000 },\n  { 0x0901, 0xd6bf, 0x0000 },\n  { 0x8501, 0xd6c2, 0x2000 },\n  { 0x1901, 0xd6c1, 0x0000 },\n  { 0x0501, 0xd6c3, 0x0000 },\n  { 0x8501, 0xd6cc, 0x4000 },\n  { 0x8501, 0xd6c8, 0x3000 },\n  { 0x8501, 0xd6c6, 0x2000 },\n  { 0x0501, 0xd6c5, 0x0000 },\n  { 0x0501, 0xd6c7, 0x0000 },\n  { 0x8501, 0xd6ca, 0x2000 },\n  { 0x0501, 0xd6c9, 0x0000 },\n  { 0x0501, 0xd6cb, 0x0000 },\n  { 0x8501, 0xd6d0, 0x3000 },\n  { 0x8501, 0xd6ce, 0x2000 },\n  { 0x0501, 0xd6cd, 0x0000 },\n  { 0x0501, 0xd6cf, 0x0000 },\n  { 0x8501, 0xd6d2, 0x2000 },\n  { 0x0501, 0xd6d1, 0x0000 },\n  { 0x0501, 0xd6d3, 0x0000 },\n  { 0x8901, 0xd6e4, 0x5000 },\n  { 0x8501, 0xd6dc, 0x4000 },\n  { 0x8501, 0xd6d8, 0x3000 },\n  { 0x8501, 0xd6d6, 0x2000 },\n  { 0x0501, 0xd6d5, 0x0000 },\n  { 0x0501, 0xd6d7, 0x0000 },\n  { 0x8501, 0xd6da, 0x2000 },\n  { 0x0501, 0xd6d9, 0x0000 },\n  { 0x1901, 0xd6db, 0x0000 },\n  { 0x8501, 0xd6e0, 0x3000 },\n  { 0x8501, 0xd6de, 0x2000 },\n  { 0x0501, 0xd6dd, 0x0000 },\n  { 0x0501, 0xd6df, 0x0000 },\n  { 0x8901, 0xd6e2, 0x2000 },\n  { 0x0501, 0xd6e1, 0x0000 },\n  { 0x0901, 0xd6e3, 0x0000 },\n  { 0x8901, 0xd6ec, 0x4000 },\n  { 0x8901, 0xd6e8, 0x3000 },\n  { 0x8901, 0xd6e6, 0x2000 },\n  { 0x0901, 0xd6e5, 0x0000 },\n  { 0x0901, 0xd6e7, 0x0000 },\n  { 0x8901, 0xd6ea, 0x2000 },\n  { 0x0901, 0xd6e9, 0x0000 },\n  { 0x0901, 0xd6eb, 0x0000 },\n  { 0x8901, 0xd6f0, 0x3000 },\n  { 0x8901, 0xd6ee, 0x2000 },\n  { 0x0901, 0xd6ed, 0x0000 },\n  { 0x0901, 0xd6ef, 0x0000 },\n  { 0x8901, 0xd6f2, 0x2000 },\n  { 0x0901, 0xd6f1, 0x0000 },\n  { 0x0901, 0xd6f3, 0x0000 },\n  { 0x8901, 0xd734, 0x7000 },\n  { 0x8501, 0xd714, 0x6000 },\n  { 0x8501, 0xd704, 0x5000 },\n  { 0x8501, 0xd6fc, 0x4000 },\n  { 0x8901, 0xd6f8, 0x3000 },\n  { 0x8901, 0xd6f6, 0x2000 },\n  { 0x0901, 0xd6f5, 0x0000 },\n  { 0x0901, 0xd6f7, 0x0000 },\n  { 0x8901, 0xd6fa, 0x2000 },\n  { 0x0901, 0xd6f9, 0x0000 },\n  { 0x1901, 0xd6fb, 0x0000 },\n  { 0x8501, 0xd700, 0x3000 },\n  { 0x8501, 0xd6fe, 0x2000 },\n  { 0x0501, 0xd6fd, 0x0000 },\n  { 0x0501, 0xd6ff, 0x0000 },\n  { 0x8501, 0xd702, 0x2000 },\n  { 0x0501, 0xd701, 0x0000 },\n  { 0x0501, 0xd703, 0x0000 },\n  { 0x8501, 0xd70c, 0x4000 },\n  { 0x8501, 0xd708, 0x3000 },\n  { 0x8501, 0xd706, 0x2000 },\n  { 0x0501, 0xd705, 0x0000 },\n  { 0x0501, 0xd707, 0x0000 },\n  { 0x8501, 0xd70a, 0x2000 },\n  { 0x0501, 0xd709, 0x0000 },\n  { 0x0501, 0xd70b, 0x0000 },\n  { 0x8501, 0xd710, 0x3000 },\n  { 0x8501, 0xd70e, 0x2000 },\n  { 0x0501, 0xd70d, 0x0000 },\n  { 0x0501, 0xd70f, 0x0000 },\n  { 0x8501, 0xd712, 0x2000 },\n  { 0x0501, 0xd711, 0x0000 },\n  { 0x0501, 0xd713, 0x0000 },\n  { 0x8901, 0xd724, 0x5000 },\n  { 0x8901, 0xd71c, 0x4000 },\n  { 0x8501, 0xd718, 0x3000 },\n  { 0x8501, 0xd716, 0x2000 },\n  { 0x1901, 0xd715, 0x0000 },\n  { 0x0501, 0xd717, 0x0000 },\n  { 0x8501, 0xd71a, 0x2000 },\n  { 0x0501, 0xd719, 0x0000 },\n  { 0x0501, 0xd71b, 0x0000 },\n  { 0x8901, 0xd720, 0x3000 },\n  { 0x8901, 0xd71e, 0x2000 },\n  { 0x0901, 0xd71d, 0x0000 },\n  { 0x0901, 0xd71f, 0x0000 },\n  { 0x8901, 0xd722, 0x2000 },\n  { 0x0901, 0xd721, 0x0000 },\n  { 0x0901, 0xd723, 0x0000 },\n  { 0x8901, 0xd72c, 0x4000 },\n  { 0x8901, 0xd728, 0x3000 },\n  { 0x8901, 0xd726, 0x2000 },\n  { 0x0901, 0xd725, 0x0000 },\n  { 0x0901, 0xd727, 0x0000 },\n  { 0x8901, 0xd72a, 0x2000 },\n  { 0x0901, 0xd729, 0x0000 },\n  { 0x0901, 0xd72b, 0x0000 },\n  { 0x8901, 0xd730, 0x3000 },\n  { 0x8901, 0xd72e, 0x2000 },\n  { 0x0901, 0xd72d, 0x0000 },\n  { 0x0901, 0xd72f, 0x0000 },\n  { 0x8901, 0xd732, 0x2000 },\n  { 0x0901, 0xd731, 0x0000 },\n  { 0x0901, 0xd733, 0x0000 },\n  { 0x8501, 0xd754, 0x6000 },\n  { 0x8501, 0xd744, 0x5000 },\n  { 0x8501, 0xd73c, 0x4000 },\n  { 0x8501, 0xd738, 0x3000 },\n  { 0x8501, 0xd736, 0x2000 },\n  { 0x1901, 0xd735, 0x0000 },\n  { 0x0501, 0xd737, 0x0000 },\n  { 0x8501, 0xd73a, 0x2000 },\n  { 0x0501, 0xd739, 0x0000 },\n  { 0x0501, 0xd73b, 0x0000 },\n  { 0x8501, 0xd740, 0x3000 },\n  { 0x8501, 0xd73e, 0x2000 },\n  { 0x0501, 0xd73d, 0x0000 },\n  { 0x0501, 0xd73f, 0x0000 },\n  { 0x8501, 0xd742, 0x2000 },\n  { 0x0501, 0xd741, 0x0000 },\n  { 0x0501, 0xd743, 0x0000 },\n  { 0x8501, 0xd74c, 0x4000 },\n  { 0x8501, 0xd748, 0x3000 },\n  { 0x8501, 0xd746, 0x2000 },\n  { 0x0501, 0xd745, 0x0000 },\n  { 0x0501, 0xd747, 0x0000 },\n  { 0x8501, 0xd74a, 0x2000 },\n  { 0x0501, 0xd749, 0x0000 },\n  { 0x0501, 0xd74b, 0x0000 },\n  { 0x8501, 0xd750, 0x3000 },\n  { 0x8501, 0xd74e, 0x2000 },\n  { 0x0501, 0xd74d, 0x0000 },\n  { 0x1901, 0xd74f, 0x0000 },\n  { 0x8501, 0xd752, 0x2000 },\n  { 0x0501, 0xd751, 0x0000 },\n  { 0x0501, 0xd753, 0x0000 },\n  { 0x8901, 0xd764, 0x5000 },\n  { 0x8901, 0xd75c, 0x4000 },\n  { 0x8901, 0xd758, 0x3000 },\n  { 0x8901, 0xd756, 0x2000 },\n  { 0x0501, 0xd755, 0x0000 },\n  { 0x0901, 0xd757, 0x0000 },\n  { 0x8901, 0xd75a, 0x2000 },\n  { 0x0901, 0xd759, 0x0000 },\n  { 0x0901, 0xd75b, 0x0000 },\n  { 0x8901, 0xd760, 0x3000 },\n  { 0x8901, 0xd75e, 0x2000 },\n  { 0x0901, 0xd75d, 0x0000 },\n  { 0x0901, 0xd75f, 0x0000 },\n  { 0x8901, 0xd762, 0x2000 },\n  { 0x0901, 0xd761, 0x0000 },\n  { 0x0901, 0xd763, 0x0000 },\n  { 0x8901, 0xd76c, 0x4000 },\n  { 0x8901, 0xd768, 0x3000 },\n  { 0x8901, 0xd766, 0x2000 },\n  { 0x0901, 0xd765, 0x0000 },\n  { 0x0901, 0xd767, 0x0000 },\n  { 0x8901, 0xd76a, 0x2000 },\n  { 0x0901, 0xd769, 0x0000 },\n  { 0x0901, 0xd76b, 0x0000 },\n  { 0x8501, 0xd770, 0x3000 },\n  { 0x8901, 0xd76e, 0x2000 },\n  { 0x0901, 0xd76d, 0x0000 },\n  { 0x1901, 0xd76f, 0x0000 },\n  { 0x8501, 0xd772, 0x2000 },\n  { 0x0501, 0xd771, 0x0000 },\n  { 0x0501, 0xd773, 0x0000 },\n  { 0x8d01, 0xd7f8, 0x8000 },\n  { 0x8501, 0xd7b4, 0x7000 },\n  { 0x8901, 0xd794, 0x6000 },\n  { 0x8501, 0xd784, 0x5000 },\n  { 0x8501, 0xd77c, 0x4000 },\n  { 0x8501, 0xd778, 0x3000 },\n  { 0x8501, 0xd776, 0x2000 },\n  { 0x0501, 0xd775, 0x0000 },\n  { 0x0501, 0xd777, 0x0000 },\n  { 0x8501, 0xd77a, 0x2000 },\n  { 0x0501, 0xd779, 0x0000 },\n  { 0x0501, 0xd77b, 0x0000 },\n  { 0x8501, 0xd780, 0x3000 },\n  { 0x8501, 0xd77e, 0x2000 },\n  { 0x0501, 0xd77d, 0x0000 },\n  { 0x0501, 0xd77f, 0x0000 },\n  { 0x8501, 0xd782, 0x2000 },\n  { 0x0501, 0xd781, 0x0000 },\n  { 0x0501, 0xd783, 0x0000 },\n  { 0x8501, 0xd78c, 0x4000 },\n  { 0x8501, 0xd788, 0x3000 },\n  { 0x8501, 0xd786, 0x2000 },\n  { 0x0501, 0xd785, 0x0000 },\n  { 0x0501, 0xd787, 0x0000 },\n  { 0x8501, 0xd78a, 0x2000 },\n  { 0x1901, 0xd789, 0x0000 },\n  { 0x0501, 0xd78b, 0x0000 },\n  { 0x8901, 0xd790, 0x3000 },\n  { 0x8501, 0xd78e, 0x2000 },\n  { 0x0501, 0xd78d, 0x0000 },\n  { 0x0501, 0xd78f, 0x0000 },\n  { 0x8901, 0xd792, 0x2000 },\n  { 0x0901, 0xd791, 0x0000 },\n  { 0x0901, 0xd793, 0x0000 },\n  { 0x8901, 0xd7a4, 0x5000 },\n  { 0x8901, 0xd79c, 0x4000 },\n  { 0x8901, 0xd798, 0x3000 },\n  { 0x8901, 0xd796, 0x2000 },\n  { 0x0901, 0xd795, 0x0000 },\n  { 0x0901, 0xd797, 0x0000 },\n  { 0x8901, 0xd79a, 0x2000 },\n  { 0x0901, 0xd799, 0x0000 },\n  { 0x0901, 0xd79b, 0x0000 },\n  { 0x8901, 0xd7a0, 0x3000 },\n  { 0x8901, 0xd79e, 0x2000 },\n  { 0x0901, 0xd79d, 0x0000 },\n  { 0x0901, 0xd79f, 0x0000 },\n  { 0x8901, 0xd7a2, 0x2000 },\n  { 0x0901, 0xd7a1, 0x0000 },\n  { 0x0901, 0xd7a3, 0x0000 },\n  { 0x8501, 0xd7ac, 0x4000 },\n  { 0x8901, 0xd7a8, 0x3000 },\n  { 0x8901, 0xd7a6, 0x2000 },\n  { 0x0901, 0xd7a5, 0x0000 },\n  { 0x0901, 0xd7a7, 0x0000 },\n  { 0x8501, 0xd7aa, 0x2000 },\n  { 0x1901, 0xd7a9, 0x0000 },\n  { 0x0501, 0xd7ab, 0x0000 },\n  { 0x8501, 0xd7b0, 0x3000 },\n  { 0x8501, 0xd7ae, 0x2000 },\n  { 0x0501, 0xd7ad, 0x0000 },\n  { 0x0501, 0xd7af, 0x0000 },\n  { 0x8501, 0xd7b2, 0x2000 },\n  { 0x0501, 0xd7b1, 0x0000 },\n  { 0x0501, 0xd7b3, 0x0000 },\n  { 0x8d01, 0xd7d8, 0x6000 },\n  { 0x8501, 0xd7c4, 0x5000 },\n  { 0x8501, 0xd7bc, 0x4000 },\n  { 0x8501, 0xd7b8, 0x3000 },\n  { 0x8501, 0xd7b6, 0x2000 },\n  { 0x0501, 0xd7b5, 0x0000 },\n  { 0x0501, 0xd7b7, 0x0000 },\n  { 0x8501, 0xd7ba, 0x2000 },\n  { 0x0501, 0xd7b9, 0x0000 },\n  { 0x0501, 0xd7bb, 0x0000 },\n  { 0x8501, 0xd7c0, 0x3000 },\n  { 0x8501, 0xd7be, 0x2000 },\n  { 0x0501, 0xd7bd, 0x0000 },\n  { 0x0501, 0xd7bf, 0x0000 },\n  { 0x8501, 0xd7c2, 0x2000 },\n  { 0x0501, 0xd7c1, 0x0000 },\n  { 0x1901, 0xd7c3, 0x0000 },\n  { 0x8d01, 0xd7d0, 0x4000 },\n  { 0x8501, 0xd7c8, 0x3000 },\n  { 0x8501, 0xd7c6, 0x2000 },\n  { 0x0501, 0xd7c5, 0x0000 },\n  { 0x0501, 0xd7c7, 0x0000 },\n  { 0x8d01, 0xd7ce, 0x2000 },\n  { 0x0501, 0xd7c9, 0x0000 },\n  { 0x0d01, 0xd7cf, 0x0000 },\n  { 0x8d01, 0xd7d4, 0x3000 },\n  { 0x8d01, 0xd7d2, 0x2000 },\n  { 0x0d01, 0xd7d1, 0x0000 },\n  { 0x0d01, 0xd7d3, 0x0000 },\n  { 0x8d01, 0xd7d6, 0x2000 },\n  { 0x0d01, 0xd7d5, 0x0000 },\n  { 0x0d01, 0xd7d7, 0x0000 },\n  { 0x8d01, 0xd7e8, 0x5000 },\n  { 0x8d01, 0xd7e0, 0x4000 },\n  { 0x8d01, 0xd7dc, 0x3000 },\n  { 0x8d01, 0xd7da, 0x2000 },\n  { 0x0d01, 0xd7d9, 0x0000 },\n  { 0x0d01, 0xd7db, 0x0000 },\n  { 0x8d01, 0xd7de, 0x2000 },\n  { 0x0d01, 0xd7dd, 0x0000 },\n  { 0x0d01, 0xd7df, 0x0000 },\n  { 0x8d01, 0xd7e4, 0x3000 },\n  { 0x8d01, 0xd7e2, 0x2000 },\n  { 0x0d01, 0xd7e1, 0x0000 },\n  { 0x0d01, 0xd7e3, 0x0000 },\n  { 0x8d01, 0xd7e6, 0x2000 },\n  { 0x0d01, 0xd7e5, 0x0000 },\n  { 0x0d01, 0xd7e7, 0x0000 },\n  { 0x8d01, 0xd7f0, 0x4000 },\n  { 0x8d01, 0xd7ec, 0x3000 },\n  { 0x8d01, 0xd7ea, 0x2000 },\n  { 0x0d01, 0xd7e9, 0x0000 },\n  { 0x0d01, 0xd7eb, 0x0000 },\n  { 0x8d01, 0xd7ee, 0x2000 },\n  { 0x0d01, 0xd7ed, 0x0000 },\n  { 0x0d01, 0xd7ef, 0x0000 },\n  { 0x8d01, 0xd7f4, 0x3000 },\n  { 0x8d01, 0xd7f2, 0x2000 },\n  { 0x0d01, 0xd7f1, 0x0000 },\n  { 0x0d01, 0xd7f3, 0x0000 },\n  { 0x8d01, 0xd7f6, 0x2000 },\n  { 0x0d01, 0xd7f5, 0x0000 },\n  { 0x0d01, 0xd7f7, 0x0000 },\n  { 0x8702, 0xf836, 0x7000 },\n  { 0x8702, 0xf816, 0x6000 },\n  { 0x8702, 0xf806, 0x5000 },\n  { 0x8702, 0x0000, 0x4000 },\n  { 0x8d01, 0xd7fc, 0x3000 },\n  { 0x8d01, 0xd7fa, 0x2000 },\n  { 0x0d01, 0xd7f9, 0x0000 },\n  { 0x0d01, 0xd7fb, 0x0000 },\n  { 0x8d01, 0xd7fe, 0x2000 },\n  { 0x0d01, 0xd7fd, 0x0000 },\n  { 0x0d01, 0xd7ff, 0x0000 },\n  { 0x8702, 0xf802, 0x3000 },\n  { 0x8702, 0xf800, 0x2000 },\n  { 0x0702, 0xa6d6, 0x0000 },\n  { 0x0702, 0xf801, 0x0000 },\n  { 0x8702, 0xf804, 0x2000 },\n  { 0x0702, 0xf803, 0x0000 },\n  { 0x0702, 0xf805, 0x0000 },\n  { 0x8702, 0xf80e, 0x4000 },\n  { 0x8702, 0xf80a, 0x3000 },\n  { 0x8702, 0xf808, 0x2000 },\n  { 0x0702, 0xf807, 0x0000 },\n  { 0x0702, 0xf809, 0x0000 },\n  { 0x8702, 0xf80c, 0x2000 },\n  { 0x0702, 0xf80b, 0x0000 },\n  { 0x0702, 0xf80d, 0x0000 },\n  { 0x8702, 0xf812, 0x3000 },\n  { 0x8702, 0xf810, 0x2000 },\n  { 0x0702, 0xf80f, 0x0000 },\n  { 0x0702, 0xf811, 0x0000 },\n  { 0x8702, 0xf814, 0x2000 },\n  { 0x0702, 0xf813, 0x0000 },\n  { 0x0702, 0xf815, 0x0000 },\n  { 0x8702, 0xf826, 0x5000 },\n  { 0x8702, 0xf81e, 0x4000 },\n  { 0x8702, 0xf81a, 0x3000 },\n  { 0x8702, 0xf818, 0x2000 },\n  { 0x0702, 0xf817, 0x0000 },\n  { 0x0702, 0xf819, 0x0000 },\n  { 0x8702, 0xf81c, 0x2000 },\n  { 0x0702, 0xf81b, 0x0000 },\n  { 0x0702, 0xf81d, 0x0000 },\n  { 0x8702, 0xf822, 0x3000 },\n  { 0x8702, 0xf820, 0x2000 },\n  { 0x0702, 0xf81f, 0x0000 },\n  { 0x0702, 0xf821, 0x0000 },\n  { 0x8702, 0xf824, 0x2000 },\n  { 0x0702, 0xf823, 0x0000 },\n  { 0x0702, 0xf825, 0x0000 },\n  { 0x8702, 0xf82e, 0x4000 },\n  { 0x8702, 0xf82a, 0x3000 },\n  { 0x8702, 0xf828, 0x2000 },\n  { 0x0702, 0xf827, 0x0000 },\n  { 0x0702, 0xf829, 0x0000 },\n  { 0x8702, 0xf82c, 0x2000 },\n  { 0x0702, 0xf82b, 0x0000 },\n  { 0x0702, 0xf82d, 0x0000 },\n  { 0x8702, 0xf832, 0x3000 },\n  { 0x8702, 0xf830, 0x2000 },\n  { 0x0702, 0xf82f, 0x0000 },\n  { 0x0702, 0xf831, 0x0000 },\n  { 0x8702, 0xf834, 0x2000 },\n  { 0x0702, 0xf833, 0x0000 },\n  { 0x0702, 0xf835, 0x0000 },\n  { 0x8702, 0xf856, 0x6000 },\n  { 0x8702, 0xf846, 0x5000 },\n  { 0x8702, 0xf83e, 0x4000 },\n  { 0x8702, 0xf83a, 0x3000 },\n  { 0x8702, 0xf838, 0x2000 },\n  { 0x0702, 0xf837, 0x0000 },\n  { 0x0702, 0xf839, 0x0000 },\n  { 0x8702, 0xf83c, 0x2000 },\n  { 0x0702, 0xf83b, 0x0000 },\n  { 0x0702, 0xf83d, 0x0000 },\n  { 0x8702, 0xf842, 0x3000 },\n  { 0x8702, 0xf840, 0x2000 },\n  { 0x0702, 0xf83f, 0x0000 },\n  { 0x0702, 0xf841, 0x0000 },\n  { 0x8702, 0xf844, 0x2000 },\n  { 0x0702, 0xf843, 0x0000 },\n  { 0x0702, 0xf845, 0x0000 },\n  { 0x8702, 0xf84e, 0x4000 },\n  { 0x8702, 0xf84a, 0x3000 },\n  { 0x8702, 0xf848, 0x2000 },\n  { 0x0702, 0xf847, 0x0000 },\n  { 0x0702, 0xf849, 0x0000 },\n  { 0x8702, 0xf84c, 0x2000 },\n  { 0x0702, 0xf84b, 0x0000 },\n  { 0x0702, 0xf84d, 0x0000 },\n  { 0x8702, 0xf852, 0x3000 },\n  { 0x8702, 0xf850, 0x2000 },\n  { 0x0702, 0xf84f, 0x0000 },\n  { 0x0702, 0xf851, 0x0000 },\n  { 0x8702, 0xf854, 0x2000 },\n  { 0x0702, 0xf853, 0x0000 },\n  { 0x0702, 0xf855, 0x0000 },\n  { 0x8702, 0xf866, 0x5000 },\n  { 0x8702, 0xf85e, 0x4000 },\n  { 0x8702, 0xf85a, 0x3000 },\n  { 0x8702, 0xf858, 0x2000 },\n  { 0x0702, 0xf857, 0x0000 },\n  { 0x0702, 0xf859, 0x0000 },\n  { 0x8702, 0xf85c, 0x2000 },\n  { 0x0702, 0xf85b, 0x0000 },\n  { 0x0702, 0xf85d, 0x0000 },\n  { 0x8702, 0xf862, 0x3000 },\n  { 0x8702, 0xf860, 0x2000 },\n  { 0x0702, 0xf85f, 0x0000 },\n  { 0x0702, 0xf861, 0x0000 },\n  { 0x8702, 0xf864, 0x2000 },\n  { 0x0702, 0xf863, 0x0000 },\n  { 0x0702, 0xf865, 0x0000 },\n  { 0x8702, 0xf86e, 0x4000 },\n  { 0x8702, 0xf86a, 0x3000 },\n  { 0x8702, 0xf868, 0x2000 },\n  { 0x0702, 0xf867, 0x0000 },\n  { 0x0702, 0xf869, 0x0000 },\n  { 0x8702, 0xf86c, 0x2000 },\n  { 0x0702, 0xf86b, 0x0000 },\n  { 0x0702, 0xf86d, 0x0000 },\n  { 0x8702, 0xf872, 0x3000 },\n  { 0x8702, 0xf870, 0x2000 },\n  { 0x0702, 0xf86f, 0x0000 },\n  { 0x0702, 0xf871, 0x0000 },\n  { 0x8702, 0xf874, 0x2000 },\n  { 0x0702, 0xf873, 0x0000 },\n  { 0x0702, 0xf875, 0x0000 },\n  { 0x8702, 0xf976, 0x9000 },\n  { 0x8702, 0xf8f6, 0x8000 },\n  { 0x8702, 0xf8b6, 0x7000 },\n  { 0x8702, 0xf896, 0x6000 },\n  { 0x8702, 0xf886, 0x5000 },\n  { 0x8702, 0xf87e, 0x4000 },\n  { 0x8702, 0xf87a, 0x3000 },\n  { 0x8702, 0xf878, 0x2000 },\n  { 0x0702, 0xf877, 0x0000 },\n  { 0x0702, 0xf879, 0x0000 },\n  { 0x8702, 0xf87c, 0x2000 },\n  { 0x0702, 0xf87b, 0x0000 },\n  { 0x0702, 0xf87d, 0x0000 },\n  { 0x8702, 0xf882, 0x3000 },\n  { 0x8702, 0xf880, 0x2000 },\n  { 0x0702, 0xf87f, 0x0000 },\n  { 0x0702, 0xf881, 0x0000 },\n  { 0x8702, 0xf884, 0x2000 },\n  { 0x0702, 0xf883, 0x0000 },\n  { 0x0702, 0xf885, 0x0000 },\n  { 0x8702, 0xf88e, 0x4000 },\n  { 0x8702, 0xf88a, 0x3000 },\n  { 0x8702, 0xf888, 0x2000 },\n  { 0x0702, 0xf887, 0x0000 },\n  { 0x0702, 0xf889, 0x0000 },\n  { 0x8702, 0xf88c, 0x2000 },\n  { 0x0702, 0xf88b, 0x0000 },\n  { 0x0702, 0xf88d, 0x0000 },\n  { 0x8702, 0xf892, 0x3000 },\n  { 0x8702, 0xf890, 0x2000 },\n  { 0x0702, 0xf88f, 0x0000 },\n  { 0x0702, 0xf891, 0x0000 },\n  { 0x8702, 0xf894, 0x2000 },\n  { 0x0702, 0xf893, 0x0000 },\n  { 0x0702, 0xf895, 0x0000 },\n  { 0x8702, 0xf8a6, 0x5000 },\n  { 0x8702, 0xf89e, 0x4000 },\n  { 0x8702, 0xf89a, 0x3000 },\n  { 0x8702, 0xf898, 0x2000 },\n  { 0x0702, 0xf897, 0x0000 },\n  { 0x0702, 0xf899, 0x0000 },\n  { 0x8702, 0xf89c, 0x2000 },\n  { 0x0702, 0xf89b, 0x0000 },\n  { 0x0702, 0xf89d, 0x0000 },\n  { 0x8702, 0xf8a2, 0x3000 },\n  { 0x8702, 0xf8a0, 0x2000 },\n  { 0x0702, 0xf89f, 0x0000 },\n  { 0x0702, 0xf8a1, 0x0000 },\n  { 0x8702, 0xf8a4, 0x2000 },\n  { 0x0702, 0xf8a3, 0x0000 },\n  { 0x0702, 0xf8a5, 0x0000 },\n  { 0x8702, 0xf8ae, 0x4000 },\n  { 0x8702, 0xf8aa, 0x3000 },\n  { 0x8702, 0xf8a8, 0x2000 },\n  { 0x0702, 0xf8a7, 0x0000 },\n  { 0x0702, 0xf8a9, 0x0000 },\n  { 0x8702, 0xf8ac, 0x2000 },\n  { 0x0702, 0xf8ab, 0x0000 },\n  { 0x0702, 0xf8ad, 0x0000 },\n  { 0x8702, 0xf8b2, 0x3000 },\n  { 0x8702, 0xf8b0, 0x2000 },\n  { 0x0702, 0xf8af, 0x0000 },\n  { 0x0702, 0xf8b1, 0x0000 },\n  { 0x8702, 0xf8b4, 0x2000 },\n  { 0x0702, 0xf8b3, 0x0000 },\n  { 0x0702, 0xf8b5, 0x0000 },\n  { 0x8702, 0xf8d6, 0x6000 },\n  { 0x8702, 0xf8c6, 0x5000 },\n  { 0x8702, 0xf8be, 0x4000 },\n  { 0x8702, 0xf8ba, 0x3000 },\n  { 0x8702, 0xf8b8, 0x2000 },\n  { 0x0702, 0xf8b7, 0x0000 },\n  { 0x0702, 0xf8b9, 0x0000 },\n  { 0x8702, 0xf8bc, 0x2000 },\n  { 0x0702, 0xf8bb, 0x0000 },\n  { 0x0702, 0xf8bd, 0x0000 },\n  { 0x8702, 0xf8c2, 0x3000 },\n  { 0x8702, 0xf8c0, 0x2000 },\n  { 0x0702, 0xf8bf, 0x0000 },\n  { 0x0702, 0xf8c1, 0x0000 },\n  { 0x8702, 0xf8c4, 0x2000 },\n  { 0x0702, 0xf8c3, 0x0000 },\n  { 0x0702, 0xf8c5, 0x0000 },\n  { 0x8702, 0xf8ce, 0x4000 },\n  { 0x8702, 0xf8ca, 0x3000 },\n  { 0x8702, 0xf8c8, 0x2000 },\n  { 0x0702, 0xf8c7, 0x0000 },\n  { 0x0702, 0xf8c9, 0x0000 },\n  { 0x8702, 0xf8cc, 0x2000 },\n  { 0x0702, 0xf8cb, 0x0000 },\n  { 0x0702, 0xf8cd, 0x0000 },\n  { 0x8702, 0xf8d2, 0x3000 },\n  { 0x8702, 0xf8d0, 0x2000 },\n  { 0x0702, 0xf8cf, 0x0000 },\n  { 0x0702, 0xf8d1, 0x0000 },\n  { 0x8702, 0xf8d4, 0x2000 },\n  { 0x0702, 0xf8d3, 0x0000 },\n  { 0x0702, 0xf8d5, 0x0000 },\n  { 0x8702, 0xf8e6, 0x5000 },\n  { 0x8702, 0xf8de, 0x4000 },\n  { 0x8702, 0xf8da, 0x3000 },\n  { 0x8702, 0xf8d8, 0x2000 },\n  { 0x0702, 0xf8d7, 0x0000 },\n  { 0x0702, 0xf8d9, 0x0000 },\n  { 0x8702, 0xf8dc, 0x2000 },\n  { 0x0702, 0xf8db, 0x0000 },\n  { 0x0702, 0xf8dd, 0x0000 },\n  { 0x8702, 0xf8e2, 0x3000 },\n  { 0x8702, 0xf8e0, 0x2000 },\n  { 0x0702, 0xf8df, 0x0000 },\n  { 0x0702, 0xf8e1, 0x0000 },\n  { 0x8702, 0xf8e4, 0x2000 },\n  { 0x0702, 0xf8e3, 0x0000 },\n  { 0x0702, 0xf8e5, 0x0000 },\n  { 0x8702, 0xf8ee, 0x4000 },\n  { 0x8702, 0xf8ea, 0x3000 },\n  { 0x8702, 0xf8e8, 0x2000 },\n  { 0x0702, 0xf8e7, 0x0000 },\n  { 0x0702, 0xf8e9, 0x0000 },\n  { 0x8702, 0xf8ec, 0x2000 },\n  { 0x0702, 0xf8eb, 0x0000 },\n  { 0x0702, 0xf8ed, 0x0000 },\n  { 0x8702, 0xf8f2, 0x3000 },\n  { 0x8702, 0xf8f0, 0x2000 },\n  { 0x0702, 0xf8ef, 0x0000 },\n  { 0x0702, 0xf8f1, 0x0000 },\n  { 0x8702, 0xf8f4, 0x2000 },\n  { 0x0702, 0xf8f3, 0x0000 },\n  { 0x0702, 0xf8f5, 0x0000 },\n  { 0x8702, 0xf936, 0x7000 },\n  { 0x8702, 0xf916, 0x6000 },\n  { 0x8702, 0xf906, 0x5000 },\n  { 0x8702, 0xf8fe, 0x4000 },\n  { 0x8702, 0xf8fa, 0x3000 },\n  { 0x8702, 0xf8f8, 0x2000 },\n  { 0x0702, 0xf8f7, 0x0000 },\n  { 0x0702, 0xf8f9, 0x0000 },\n  { 0x8702, 0xf8fc, 0x2000 },\n  { 0x0702, 0xf8fb, 0x0000 },\n  { 0x0702, 0xf8fd, 0x0000 },\n  { 0x8702, 0xf902, 0x3000 },\n  { 0x8702, 0xf900, 0x2000 },\n  { 0x0702, 0xf8ff, 0x0000 },\n  { 0x0702, 0xf901, 0x0000 },\n  { 0x8702, 0xf904, 0x2000 },\n  { 0x0702, 0xf903, 0x0000 },\n  { 0x0702, 0xf905, 0x0000 },\n  { 0x8702, 0xf90e, 0x4000 },\n  { 0x8702, 0xf90a, 0x3000 },\n  { 0x8702, 0xf908, 0x2000 },\n  { 0x0702, 0xf907, 0x0000 },\n  { 0x0702, 0xf909, 0x0000 },\n  { 0x8702, 0xf90c, 0x2000 },\n  { 0x0702, 0xf90b, 0x0000 },\n  { 0x0702, 0xf90d, 0x0000 },\n  { 0x8702, 0xf912, 0x3000 },\n  { 0x8702, 0xf910, 0x2000 },\n  { 0x0702, 0xf90f, 0x0000 },\n  { 0x0702, 0xf911, 0x0000 },\n  { 0x8702, 0xf914, 0x2000 },\n  { 0x0702, 0xf913, 0x0000 },\n  { 0x0702, 0xf915, 0x0000 },\n  { 0x8702, 0xf926, 0x5000 },\n  { 0x8702, 0xf91e, 0x4000 },\n  { 0x8702, 0xf91a, 0x3000 },\n  { 0x8702, 0xf918, 0x2000 },\n  { 0x0702, 0xf917, 0x0000 },\n  { 0x0702, 0xf919, 0x0000 },\n  { 0x8702, 0xf91c, 0x2000 },\n  { 0x0702, 0xf91b, 0x0000 },\n  { 0x0702, 0xf91d, 0x0000 },\n  { 0x8702, 0xf922, 0x3000 },\n  { 0x8702, 0xf920, 0x2000 },\n  { 0x0702, 0xf91f, 0x0000 },\n  { 0x0702, 0xf921, 0x0000 },\n  { 0x8702, 0xf924, 0x2000 },\n  { 0x0702, 0xf923, 0x0000 },\n  { 0x0702, 0xf925, 0x0000 },\n  { 0x8702, 0xf92e, 0x4000 },\n  { 0x8702, 0xf92a, 0x3000 },\n  { 0x8702, 0xf928, 0x2000 },\n  { 0x0702, 0xf927, 0x0000 },\n  { 0x0702, 0xf929, 0x0000 },\n  { 0x8702, 0xf92c, 0x2000 },\n  { 0x0702, 0xf92b, 0x0000 },\n  { 0x0702, 0xf92d, 0x0000 },\n  { 0x8702, 0xf932, 0x3000 },\n  { 0x8702, 0xf930, 0x2000 },\n  { 0x0702, 0xf92f, 0x0000 },\n  { 0x0702, 0xf931, 0x0000 },\n  { 0x8702, 0xf934, 0x2000 },\n  { 0x0702, 0xf933, 0x0000 },\n  { 0x0702, 0xf935, 0x0000 },\n  { 0x8702, 0xf956, 0x6000 },\n  { 0x8702, 0xf946, 0x5000 },\n  { 0x8702, 0xf93e, 0x4000 },\n  { 0x8702, 0xf93a, 0x3000 },\n  { 0x8702, 0xf938, 0x2000 },\n  { 0x0702, 0xf937, 0x0000 },\n  { 0x0702, 0xf939, 0x0000 },\n  { 0x8702, 0xf93c, 0x2000 },\n  { 0x0702, 0xf93b, 0x0000 },\n  { 0x0702, 0xf93d, 0x0000 },\n  { 0x8702, 0xf942, 0x3000 },\n  { 0x8702, 0xf940, 0x2000 },\n  { 0x0702, 0xf93f, 0x0000 },\n  { 0x0702, 0xf941, 0x0000 },\n  { 0x8702, 0xf944, 0x2000 },\n  { 0x0702, 0xf943, 0x0000 },\n  { 0x0702, 0xf945, 0x0000 },\n  { 0x8702, 0xf94e, 0x4000 },\n  { 0x8702, 0xf94a, 0x3000 },\n  { 0x8702, 0xf948, 0x2000 },\n  { 0x0702, 0xf947, 0x0000 },\n  { 0x0702, 0xf949, 0x0000 },\n  { 0x8702, 0xf94c, 0x2000 },\n  { 0x0702, 0xf94b, 0x0000 },\n  { 0x0702, 0xf94d, 0x0000 },\n  { 0x8702, 0xf952, 0x3000 },\n  { 0x8702, 0xf950, 0x2000 },\n  { 0x0702, 0xf94f, 0x0000 },\n  { 0x0702, 0xf951, 0x0000 },\n  { 0x8702, 0xf954, 0x2000 },\n  { 0x0702, 0xf953, 0x0000 },\n  { 0x0702, 0xf955, 0x0000 },\n  { 0x8702, 0xf966, 0x5000 },\n  { 0x8702, 0xf95e, 0x4000 },\n  { 0x8702, 0xf95a, 0x3000 },\n  { 0x8702, 0xf958, 0x2000 },\n  { 0x0702, 0xf957, 0x0000 },\n  { 0x0702, 0xf959, 0x0000 },\n  { 0x8702, 0xf95c, 0x2000 },\n  { 0x0702, 0xf95b, 0x0000 },\n  { 0x0702, 0xf95d, 0x0000 },\n  { 0x8702, 0xf962, 0x3000 },\n  { 0x8702, 0xf960, 0x2000 },\n  { 0x0702, 0xf95f, 0x0000 },\n  { 0x0702, 0xf961, 0x0000 },\n  { 0x8702, 0xf964, 0x2000 },\n  { 0x0702, 0xf963, 0x0000 },\n  { 0x0702, 0xf965, 0x0000 },\n  { 0x8702, 0xf96e, 0x4000 },\n  { 0x8702, 0xf96a, 0x3000 },\n  { 0x8702, 0xf968, 0x2000 },\n  { 0x0702, 0xf967, 0x0000 },\n  { 0x0702, 0xf969, 0x0000 },\n  { 0x8702, 0xf96c, 0x2000 },\n  { 0x0702, 0xf96b, 0x0000 },\n  { 0x0702, 0xf96d, 0x0000 },\n  { 0x8702, 0xf972, 0x3000 },\n  { 0x8702, 0xf970, 0x2000 },\n  { 0x0702, 0xf96f, 0x0000 },\n  { 0x0702, 0xf971, 0x0000 },\n  { 0x8702, 0xf974, 0x2000 },\n  { 0x0702, 0xf973, 0x0000 },\n  { 0x0702, 0xf975, 0x0000 },\n  { 0x810e, 0x0077, 0x9000 },\n  { 0x8702, 0xf9f6, 0x8000 },\n  { 0x8702, 0xf9b6, 0x7000 },\n  { 0x8702, 0xf996, 0x6000 },\n  { 0x8702, 0xf986, 0x5000 },\n  { 0x8702, 0xf97e, 0x4000 },\n  { 0x8702, 0xf97a, 0x3000 },\n  { 0x8702, 0xf978, 0x2000 },\n  { 0x0702, 0xf977, 0x0000 },\n  { 0x0702, 0xf979, 0x0000 },\n  { 0x8702, 0xf97c, 0x2000 },\n  { 0x0702, 0xf97b, 0x0000 },\n  { 0x0702, 0xf97d, 0x0000 },\n  { 0x8702, 0xf982, 0x3000 },\n  { 0x8702, 0xf980, 0x2000 },\n  { 0x0702, 0xf97f, 0x0000 },\n  { 0x0702, 0xf981, 0x0000 },\n  { 0x8702, 0xf984, 0x2000 },\n  { 0x0702, 0xf983, 0x0000 },\n  { 0x0702, 0xf985, 0x0000 },\n  { 0x8702, 0xf98e, 0x4000 },\n  { 0x8702, 0xf98a, 0x3000 },\n  { 0x8702, 0xf988, 0x2000 },\n  { 0x0702, 0xf987, 0x0000 },\n  { 0x0702, 0xf989, 0x0000 },\n  { 0x8702, 0xf98c, 0x2000 },\n  { 0x0702, 0xf98b, 0x0000 },\n  { 0x0702, 0xf98d, 0x0000 },\n  { 0x8702, 0xf992, 0x3000 },\n  { 0x8702, 0xf990, 0x2000 },\n  { 0x0702, 0xf98f, 0x0000 },\n  { 0x0702, 0xf991, 0x0000 },\n  { 0x8702, 0xf994, 0x2000 },\n  { 0x0702, 0xf993, 0x0000 },\n  { 0x0702, 0xf995, 0x0000 },\n  { 0x8702, 0xf9a6, 0x5000 },\n  { 0x8702, 0xf99e, 0x4000 },\n  { 0x8702, 0xf99a, 0x3000 },\n  { 0x8702, 0xf998, 0x2000 },\n  { 0x0702, 0xf997, 0x0000 },\n  { 0x0702, 0xf999, 0x0000 },\n  { 0x8702, 0xf99c, 0x2000 },\n  { 0x0702, 0xf99b, 0x0000 },\n  { 0x0702, 0xf99d, 0x0000 },\n  { 0x8702, 0xf9a2, 0x3000 },\n  { 0x8702, 0xf9a0, 0x2000 },\n  { 0x0702, 0xf99f, 0x0000 },\n  { 0x0702, 0xf9a1, 0x0000 },\n  { 0x8702, 0xf9a4, 0x2000 },\n  { 0x0702, 0xf9a3, 0x0000 },\n  { 0x0702, 0xf9a5, 0x0000 },\n  { 0x8702, 0xf9ae, 0x4000 },\n  { 0x8702, 0xf9aa, 0x3000 },\n  { 0x8702, 0xf9a8, 0x2000 },\n  { 0x0702, 0xf9a7, 0x0000 },\n  { 0x0702, 0xf9a9, 0x0000 },\n  { 0x8702, 0xf9ac, 0x2000 },\n  { 0x0702, 0xf9ab, 0x0000 },\n  { 0x0702, 0xf9ad, 0x0000 },\n  { 0x8702, 0xf9b2, 0x3000 },\n  { 0x8702, 0xf9b0, 0x2000 },\n  { 0x0702, 0xf9af, 0x0000 },\n  { 0x0702, 0xf9b1, 0x0000 },\n  { 0x8702, 0xf9b4, 0x2000 },\n  { 0x0702, 0xf9b3, 0x0000 },\n  { 0x0702, 0xf9b5, 0x0000 },\n  { 0x8702, 0xf9d6, 0x6000 },\n  { 0x8702, 0xf9c6, 0x5000 },\n  { 0x8702, 0xf9be, 0x4000 },\n  { 0x8702, 0xf9ba, 0x3000 },\n  { 0x8702, 0xf9b8, 0x2000 },\n  { 0x0702, 0xf9b7, 0x0000 },\n  { 0x0702, 0xf9b9, 0x0000 },\n  { 0x8702, 0xf9bc, 0x2000 },\n  { 0x0702, 0xf9bb, 0x0000 },\n  { 0x0702, 0xf9bd, 0x0000 },\n  { 0x8702, 0xf9c2, 0x3000 },\n  { 0x8702, 0xf9c0, 0x2000 },\n  { 0x0702, 0xf9bf, 0x0000 },\n  { 0x0702, 0xf9c1, 0x0000 },\n  { 0x8702, 0xf9c4, 0x2000 },\n  { 0x0702, 0xf9c3, 0x0000 },\n  { 0x0702, 0xf9c5, 0x0000 },\n  { 0x8702, 0xf9ce, 0x4000 },\n  { 0x8702, 0xf9ca, 0x3000 },\n  { 0x8702, 0xf9c8, 0x2000 },\n  { 0x0702, 0xf9c7, 0x0000 },\n  { 0x0702, 0xf9c9, 0x0000 },\n  { 0x8702, 0xf9cc, 0x2000 },\n  { 0x0702, 0xf9cb, 0x0000 },\n  { 0x0702, 0xf9cd, 0x0000 },\n  { 0x8702, 0xf9d2, 0x3000 },\n  { 0x8702, 0xf9d0, 0x2000 },\n  { 0x0702, 0xf9cf, 0x0000 },\n  { 0x0702, 0xf9d1, 0x0000 },\n  { 0x8702, 0xf9d4, 0x2000 },\n  { 0x0702, 0xf9d3, 0x0000 },\n  { 0x0702, 0xf9d5, 0x0000 },\n  { 0x8702, 0xf9e6, 0x5000 },\n  { 0x8702, 0xf9de, 0x4000 },\n  { 0x8702, 0xf9da, 0x3000 },\n  { 0x8702, 0xf9d8, 0x2000 },\n  { 0x0702, 0xf9d7, 0x0000 },\n  { 0x0702, 0xf9d9, 0x0000 },\n  { 0x8702, 0xf9dc, 0x2000 },\n  { 0x0702, 0xf9db, 0x0000 },\n  { 0x0702, 0xf9dd, 0x0000 },\n  { 0x8702, 0xf9e2, 0x3000 },\n  { 0x8702, 0xf9e0, 0x2000 },\n  { 0x0702, 0xf9df, 0x0000 },\n  { 0x0702, 0xf9e1, 0x0000 },\n  { 0x8702, 0xf9e4, 0x2000 },\n  { 0x0702, 0xf9e3, 0x0000 },\n  { 0x0702, 0xf9e5, 0x0000 },\n  { 0x8702, 0xf9ee, 0x4000 },\n  { 0x8702, 0xf9ea, 0x3000 },\n  { 0x8702, 0xf9e8, 0x2000 },\n  { 0x0702, 0xf9e7, 0x0000 },\n  { 0x0702, 0xf9e9, 0x0000 },\n  { 0x8702, 0xf9ec, 0x2000 },\n  { 0x0702, 0xf9eb, 0x0000 },\n  { 0x0702, 0xf9ed, 0x0000 },\n  { 0x8702, 0xf9f2, 0x3000 },\n  { 0x8702, 0xf9f0, 0x2000 },\n  { 0x0702, 0xf9ef, 0x0000 },\n  { 0x0702, 0xf9f1, 0x0000 },\n  { 0x8702, 0xf9f4, 0x2000 },\n  { 0x0702, 0xf9f3, 0x0000 },\n  { 0x0702, 0xf9f5, 0x0000 },\n  { 0x810e, 0x0037, 0x7000 },\n  { 0x8702, 0xfa16, 0x6000 },\n  { 0x8702, 0xfa06, 0x5000 },\n  { 0x8702, 0xf9fe, 0x4000 },\n  { 0x8702, 0xf9fa, 0x3000 },\n  { 0x8702, 0xf9f8, 0x2000 },\n  { 0x0702, 0xf9f7, 0x0000 },\n  { 0x0702, 0xf9f9, 0x0000 },\n  { 0x8702, 0xf9fc, 0x2000 },\n  { 0x0702, 0xf9fb, 0x0000 },\n  { 0x0702, 0xf9fd, 0x0000 },\n  { 0x8702, 0xfa02, 0x3000 },\n  { 0x8702, 0xfa00, 0x2000 },\n  { 0x0702, 0xf9ff, 0x0000 },\n  { 0x0702, 0xfa01, 0x0000 },\n  { 0x8702, 0xfa04, 0x2000 },\n  { 0x0702, 0xfa03, 0x0000 },\n  { 0x0702, 0xfa05, 0x0000 },\n  { 0x8702, 0xfa0e, 0x4000 },\n  { 0x8702, 0xfa0a, 0x3000 },\n  { 0x8702, 0xfa08, 0x2000 },\n  { 0x0702, 0xfa07, 0x0000 },\n  { 0x0702, 0xfa09, 0x0000 },\n  { 0x8702, 0xfa0c, 0x2000 },\n  { 0x0702, 0xfa0b, 0x0000 },\n  { 0x0702, 0xfa0d, 0x0000 },\n  { 0x8702, 0xfa12, 0x3000 },\n  { 0x8702, 0xfa10, 0x2000 },\n  { 0x0702, 0xfa0f, 0x0000 },\n  { 0x0702, 0xfa11, 0x0000 },\n  { 0x8702, 0xfa14, 0x2000 },\n  { 0x0702, 0xfa13, 0x0000 },\n  { 0x0702, 0xfa15, 0x0000 },\n  { 0x810e, 0x0027, 0x5000 },\n  { 0x810e, 0x0001, 0x4000 },\n  { 0x8702, 0xfa1a, 0x3000 },\n  { 0x8702, 0xfa18, 0x2000 },\n  { 0x0702, 0xfa17, 0x0000 },\n  { 0x0702, 0xfa19, 0x0000 },\n  { 0x8702, 0xfa1c, 0x2000 },\n  { 0x0702, 0xfa1b, 0x0000 },\n  { 0x0702, 0xfa1d, 0x0000 },\n  { 0x810e, 0x0023, 0x3000 },\n  { 0x810e, 0x0021, 0x2000 },\n  { 0x010e, 0x0020, 0x0000 },\n  { 0x010e, 0x0022, 0x0000 },\n  { 0x810e, 0x0025, 0x2000 },\n  { 0x010e, 0x0024, 0x0000 },\n  { 0x010e, 0x0026, 0x0000 },\n  { 0x810e, 0x002f, 0x4000 },\n  { 0x810e, 0x002b, 0x3000 },\n  { 0x810e, 0x0029, 0x2000 },\n  { 0x010e, 0x0028, 0x0000 },\n  { 0x010e, 0x002a, 0x0000 },\n  { 0x810e, 0x002d, 0x2000 },\n  { 0x010e, 0x002c, 0x0000 },\n  { 0x010e, 0x002e, 0x0000 },\n  { 0x810e, 0x0033, 0x3000 },\n  { 0x810e, 0x0031, 0x2000 },\n  { 0x010e, 0x0030, 0x0000 },\n  { 0x010e, 0x0032, 0x0000 },\n  { 0x810e, 0x0035, 0x2000 },\n  { 0x010e, 0x0034, 0x0000 },\n  { 0x010e, 0x0036, 0x0000 },\n  { 0x810e, 0x0057, 0x6000 },\n  { 0x810e, 0x0047, 0x5000 },\n  { 0x810e, 0x003f, 0x4000 },\n  { 0x810e, 0x003b, 0x3000 },\n  { 0x810e, 0x0039, 0x2000 },\n  { 0x010e, 0x0038, 0x0000 },\n  { 0x010e, 0x003a, 0x0000 },\n  { 0x810e, 0x003d, 0x2000 },\n  { 0x010e, 0x003c, 0x0000 },\n  { 0x010e, 0x003e, 0x0000 },\n  { 0x810e, 0x0043, 0x3000 },\n  { 0x810e, 0x0041, 0x2000 },\n  { 0x010e, 0x0040, 0x0000 },\n  { 0x010e, 0x0042, 0x0000 },\n  { 0x810e, 0x0045, 0x2000 },\n  { 0x010e, 0x0044, 0x0000 },\n  { 0x010e, 0x0046, 0x0000 },\n  { 0x810e, 0x004f, 0x4000 },\n  { 0x810e, 0x004b, 0x3000 },\n  { 0x810e, 0x0049, 0x2000 },\n  { 0x010e, 0x0048, 0x0000 },\n  { 0x010e, 0x004a, 0x0000 },\n  { 0x810e, 0x004d, 0x2000 },\n  { 0x010e, 0x004c, 0x0000 },\n  { 0x010e, 0x004e, 0x0000 },\n  { 0x810e, 0x0053, 0x3000 },\n  { 0x810e, 0x0051, 0x2000 },\n  { 0x010e, 0x0050, 0x0000 },\n  { 0x010e, 0x0052, 0x0000 },\n  { 0x810e, 0x0055, 0x2000 },\n  { 0x010e, 0x0054, 0x0000 },\n  { 0x010e, 0x0056, 0x0000 },\n  { 0x810e, 0x0067, 0x5000 },\n  { 0x810e, 0x005f, 0x4000 },\n  { 0x810e, 0x005b, 0x3000 },\n  { 0x810e, 0x0059, 0x2000 },\n  { 0x010e, 0x0058, 0x0000 },\n  { 0x010e, 0x005a, 0x0000 },\n  { 0x810e, 0x005d, 0x2000 },\n  { 0x010e, 0x005c, 0x0000 },\n  { 0x010e, 0x005e, 0x0000 },\n  { 0x810e, 0x0063, 0x3000 },\n  { 0x810e, 0x0061, 0x2000 },\n  { 0x010e, 0x0060, 0x0000 },\n  { 0x010e, 0x0062, 0x0000 },\n  { 0x810e, 0x0065, 0x2000 },\n  { 0x010e, 0x0064, 0x0000 },\n  { 0x010e, 0x0066, 0x0000 },\n  { 0x810e, 0x006f, 0x4000 },\n  { 0x810e, 0x006b, 0x3000 },\n  { 0x810e, 0x0069, 0x2000 },\n  { 0x010e, 0x0068, 0x0000 },\n  { 0x010e, 0x006a, 0x0000 },\n  { 0x810e, 0x006d, 0x2000 },\n  { 0x010e, 0x006c, 0x0000 },\n  { 0x010e, 0x006e, 0x0000 },\n  { 0x810e, 0x0073, 0x3000 },\n  { 0x810e, 0x0071, 0x2000 },\n  { 0x010e, 0x0070, 0x0000 },\n  { 0x010e, 0x0072, 0x0000 },\n  { 0x810e, 0x0075, 0x2000 },\n  { 0x010e, 0x0074, 0x0000 },\n  { 0x010e, 0x0076, 0x0000 },\n  { 0x8c0e, 0x0177, 0x8000 },\n  { 0x8c0e, 0x0137, 0x7000 },\n  { 0x8c0e, 0x0117, 0x6000 },\n  { 0x8c0e, 0x0107, 0x5000 },\n  { 0x810e, 0x007f, 0x4000 },\n  { 0x810e, 0x007b, 0x3000 },\n  { 0x810e, 0x0079, 0x2000 },\n  { 0x010e, 0x0078, 0x0000 },\n  { 0x010e, 0x007a, 0x0000 },\n  { 0x810e, 0x007d, 0x2000 },\n  { 0x010e, 0x007c, 0x0000 },\n  { 0x010e, 0x007e, 0x0000 },\n  { 0x8c0e, 0x0103, 0x3000 },\n  { 0x8c0e, 0x0101, 0x2000 },\n  { 0x0c0e, 0x0100, 0x0000 },\n  { 0x0c0e, 0x0102, 0x0000 },\n  { 0x8c0e, 0x0105, 0x2000 },\n  { 0x0c0e, 0x0104, 0x0000 },\n  { 0x0c0e, 0x0106, 0x0000 },\n  { 0x8c0e, 0x010f, 0x4000 },\n  { 0x8c0e, 0x010b, 0x3000 },\n  { 0x8c0e, 0x0109, 0x2000 },\n  { 0x0c0e, 0x0108, 0x0000 },\n  { 0x0c0e, 0x010a, 0x0000 },\n  { 0x8c0e, 0x010d, 0x2000 },\n  { 0x0c0e, 0x010c, 0x0000 },\n  { 0x0c0e, 0x010e, 0x0000 },\n  { 0x8c0e, 0x0113, 0x3000 },\n  { 0x8c0e, 0x0111, 0x2000 },\n  { 0x0c0e, 0x0110, 0x0000 },\n  { 0x0c0e, 0x0112, 0x0000 },\n  { 0x8c0e, 0x0115, 0x2000 },\n  { 0x0c0e, 0x0114, 0x0000 },\n  { 0x0c0e, 0x0116, 0x0000 },\n  { 0x8c0e, 0x0127, 0x5000 },\n  { 0x8c0e, 0x011f, 0x4000 },\n  { 0x8c0e, 0x011b, 0x3000 },\n  { 0x8c0e, 0x0119, 0x2000 },\n  { 0x0c0e, 0x0118, 0x0000 },\n  { 0x0c0e, 0x011a, 0x0000 },\n  { 0x8c0e, 0x011d, 0x2000 },\n  { 0x0c0e, 0x011c, 0x0000 },\n  { 0x0c0e, 0x011e, 0x0000 },\n  { 0x8c0e, 0x0123, 0x3000 },\n  { 0x8c0e, 0x0121, 0x2000 },\n  { 0x0c0e, 0x0120, 0x0000 },\n  { 0x0c0e, 0x0122, 0x0000 },\n  { 0x8c0e, 0x0125, 0x2000 },\n  { 0x0c0e, 0x0124, 0x0000 },\n  { 0x0c0e, 0x0126, 0x0000 },\n  { 0x8c0e, 0x012f, 0x4000 },\n  { 0x8c0e, 0x012b, 0x3000 },\n  { 0x8c0e, 0x0129, 0x2000 },\n  { 0x0c0e, 0x0128, 0x0000 },\n  { 0x0c0e, 0x012a, 0x0000 },\n  { 0x8c0e, 0x012d, 0x2000 },\n  { 0x0c0e, 0x012c, 0x0000 },\n  { 0x0c0e, 0x012e, 0x0000 },\n  { 0x8c0e, 0x0133, 0x3000 },\n  { 0x8c0e, 0x0131, 0x2000 },\n  { 0x0c0e, 0x0130, 0x0000 },\n  { 0x0c0e, 0x0132, 0x0000 },\n  { 0x8c0e, 0x0135, 0x2000 },\n  { 0x0c0e, 0x0134, 0x0000 },\n  { 0x0c0e, 0x0136, 0x0000 },\n  { 0x8c0e, 0x0157, 0x6000 },\n  { 0x8c0e, 0x0147, 0x5000 },\n  { 0x8c0e, 0x013f, 0x4000 },\n  { 0x8c0e, 0x013b, 0x3000 },\n  { 0x8c0e, 0x0139, 0x2000 },\n  { 0x0c0e, 0x0138, 0x0000 },\n  { 0x0c0e, 0x013a, 0x0000 },\n  { 0x8c0e, 0x013d, 0x2000 },\n  { 0x0c0e, 0x013c, 0x0000 },\n  { 0x0c0e, 0x013e, 0x0000 },\n  { 0x8c0e, 0x0143, 0x3000 },\n  { 0x8c0e, 0x0141, 0x2000 },\n  { 0x0c0e, 0x0140, 0x0000 },\n  { 0x0c0e, 0x0142, 0x0000 },\n  { 0x8c0e, 0x0145, 0x2000 },\n  { 0x0c0e, 0x0144, 0x0000 },\n  { 0x0c0e, 0x0146, 0x0000 },\n  { 0x8c0e, 0x014f, 0x4000 },\n  { 0x8c0e, 0x014b, 0x3000 },\n  { 0x8c0e, 0x0149, 0x2000 },\n  { 0x0c0e, 0x0148, 0x0000 },\n  { 0x0c0e, 0x014a, 0x0000 },\n  { 0x8c0e, 0x014d, 0x2000 },\n  { 0x0c0e, 0x014c, 0x0000 },\n  { 0x0c0e, 0x014e, 0x0000 },\n  { 0x8c0e, 0x0153, 0x3000 },\n  { 0x8c0e, 0x0151, 0x2000 },\n  { 0x0c0e, 0x0150, 0x0000 },\n  { 0x0c0e, 0x0152, 0x0000 },\n  { 0x8c0e, 0x0155, 0x2000 },\n  { 0x0c0e, 0x0154, 0x0000 },\n  { 0x0c0e, 0x0156, 0x0000 },\n  { 0x8c0e, 0x0167, 0x5000 },\n  { 0x8c0e, 0x015f, 0x4000 },\n  { 0x8c0e, 0x015b, 0x3000 },\n  { 0x8c0e, 0x0159, 0x2000 },\n  { 0x0c0e, 0x0158, 0x0000 },\n  { 0x0c0e, 0x015a, 0x0000 },\n  { 0x8c0e, 0x015d, 0x2000 },\n  { 0x0c0e, 0x015c, 0x0000 },\n  { 0x0c0e, 0x015e, 0x0000 },\n  { 0x8c0e, 0x0163, 0x3000 },\n  { 0x8c0e, 0x0161, 0x2000 },\n  { 0x0c0e, 0x0160, 0x0000 },\n  { 0x0c0e, 0x0162, 0x0000 },\n  { 0x8c0e, 0x0165, 0x2000 },\n  { 0x0c0e, 0x0164, 0x0000 },\n  { 0x0c0e, 0x0166, 0x0000 },\n  { 0x8c0e, 0x016f, 0x4000 },\n  { 0x8c0e, 0x016b, 0x3000 },\n  { 0x8c0e, 0x0169, 0x2000 },\n  { 0x0c0e, 0x0168, 0x0000 },\n  { 0x0c0e, 0x016a, 0x0000 },\n  { 0x8c0e, 0x016d, 0x2000 },\n  { 0x0c0e, 0x016c, 0x0000 },\n  { 0x0c0e, 0x016e, 0x0000 },\n  { 0x8c0e, 0x0173, 0x3000 },\n  { 0x8c0e, 0x0171, 0x2000 },\n  { 0x0c0e, 0x0170, 0x0000 },\n  { 0x0c0e, 0x0172, 0x0000 },\n  { 0x8c0e, 0x0175, 0x2000 },\n  { 0x0c0e, 0x0174, 0x0000 },\n  { 0x0c0e, 0x0176, 0x0000 },\n  { 0x8c0e, 0x01b7, 0x7000 },\n  { 0x8c0e, 0x0197, 0x6000 },\n  { 0x8c0e, 0x0187, 0x5000 },\n  { 0x8c0e, 0x017f, 0x4000 },\n  { 0x8c0e, 0x017b, 0x3000 },\n  { 0x8c0e, 0x0179, 0x2000 },\n  { 0x0c0e, 0x0178, 0x0000 },\n  { 0x0c0e, 0x017a, 0x0000 },\n  { 0x8c0e, 0x017d, 0x2000 },\n  { 0x0c0e, 0x017c, 0x0000 },\n  { 0x0c0e, 0x017e, 0x0000 },\n  { 0x8c0e, 0x0183, 0x3000 },\n  { 0x8c0e, 0x0181, 0x2000 },\n  { 0x0c0e, 0x0180, 0x0000 },\n  { 0x0c0e, 0x0182, 0x0000 },\n  { 0x8c0e, 0x0185, 0x2000 },\n  { 0x0c0e, 0x0184, 0x0000 },\n  { 0x0c0e, 0x0186, 0x0000 },\n  { 0x8c0e, 0x018f, 0x4000 },\n  { 0x8c0e, 0x018b, 0x3000 },\n  { 0x8c0e, 0x0189, 0x2000 },\n  { 0x0c0e, 0x0188, 0x0000 },\n  { 0x0c0e, 0x018a, 0x0000 },\n  { 0x8c0e, 0x018d, 0x2000 },\n  { 0x0c0e, 0x018c, 0x0000 },\n  { 0x0c0e, 0x018e, 0x0000 },\n  { 0x8c0e, 0x0193, 0x3000 },\n  { 0x8c0e, 0x0191, 0x2000 },\n  { 0x0c0e, 0x0190, 0x0000 },\n  { 0x0c0e, 0x0192, 0x0000 },\n  { 0x8c0e, 0x0195, 0x2000 },\n  { 0x0c0e, 0x0194, 0x0000 },\n  { 0x0c0e, 0x0196, 0x0000 },\n  { 0x8c0e, 0x01a7, 0x5000 },\n  { 0x8c0e, 0x019f, 0x4000 },\n  { 0x8c0e, 0x019b, 0x3000 },\n  { 0x8c0e, 0x0199, 0x2000 },\n  { 0x0c0e, 0x0198, 0x0000 },\n  { 0x0c0e, 0x019a, 0x0000 },\n  { 0x8c0e, 0x019d, 0x2000 },\n  { 0x0c0e, 0x019c, 0x0000 },\n  { 0x0c0e, 0x019e, 0x0000 },\n  { 0x8c0e, 0x01a3, 0x3000 },\n  { 0x8c0e, 0x01a1, 0x2000 },\n  { 0x0c0e, 0x01a0, 0x0000 },\n  { 0x0c0e, 0x01a2, 0x0000 },\n  { 0x8c0e, 0x01a5, 0x2000 },\n  { 0x0c0e, 0x01a4, 0x0000 },\n  { 0x0c0e, 0x01a6, 0x0000 },\n  { 0x8c0e, 0x01af, 0x4000 },\n  { 0x8c0e, 0x01ab, 0x3000 },\n  { 0x8c0e, 0x01a9, 0x2000 },\n  { 0x0c0e, 0x01a8, 0x0000 },\n  { 0x0c0e, 0x01aa, 0x0000 },\n  { 0x8c0e, 0x01ad, 0x2000 },\n  { 0x0c0e, 0x01ac, 0x0000 },\n  { 0x0c0e, 0x01ae, 0x0000 },\n  { 0x8c0e, 0x01b3, 0x3000 },\n  { 0x8c0e, 0x01b1, 0x2000 },\n  { 0x0c0e, 0x01b0, 0x0000 },\n  { 0x0c0e, 0x01b2, 0x0000 },\n  { 0x8c0e, 0x01b5, 0x2000 },\n  { 0x0c0e, 0x01b4, 0x0000 },\n  { 0x0c0e, 0x01b6, 0x0000 },\n  { 0x8c0e, 0x01d7, 0x6000 },\n  { 0x8c0e, 0x01c7, 0x5000 },\n  { 0x8c0e, 0x01bf, 0x4000 },\n  { 0x8c0e, 0x01bb, 0x3000 },\n  { 0x8c0e, 0x01b9, 0x2000 },\n  { 0x0c0e, 0x01b8, 0x0000 },\n  { 0x0c0e, 0x01ba, 0x0000 },\n  { 0x8c0e, 0x01bd, 0x2000 },\n  { 0x0c0e, 0x01bc, 0x0000 },\n  { 0x0c0e, 0x01be, 0x0000 },\n  { 0x8c0e, 0x01c3, 0x3000 },\n  { 0x8c0e, 0x01c1, 0x2000 },\n  { 0x0c0e, 0x01c0, 0x0000 },\n  { 0x0c0e, 0x01c2, 0x0000 },\n  { 0x8c0e, 0x01c5, 0x2000 },\n  { 0x0c0e, 0x01c4, 0x0000 },\n  { 0x0c0e, 0x01c6, 0x0000 },\n  { 0x8c0e, 0x01cf, 0x4000 },\n  { 0x8c0e, 0x01cb, 0x3000 },\n  { 0x8c0e, 0x01c9, 0x2000 },\n  { 0x0c0e, 0x01c8, 0x0000 },\n  { 0x0c0e, 0x01ca, 0x0000 },\n  { 0x8c0e, 0x01cd, 0x2000 },\n  { 0x0c0e, 0x01cc, 0x0000 },\n  { 0x0c0e, 0x01ce, 0x0000 },\n  { 0x8c0e, 0x01d3, 0x3000 },\n  { 0x8c0e, 0x01d1, 0x2000 },\n  { 0x0c0e, 0x01d0, 0x0000 },\n  { 0x0c0e, 0x01d2, 0x0000 },\n  { 0x8c0e, 0x01d5, 0x2000 },\n  { 0x0c0e, 0x01d4, 0x0000 },\n  { 0x0c0e, 0x01d6, 0x0000 },\n  { 0x8c0e, 0x01e7, 0x5000 },\n  { 0x8c0e, 0x01df, 0x4000 },\n  { 0x8c0e, 0x01db, 0x3000 },\n  { 0x8c0e, 0x01d9, 0x2000 },\n  { 0x0c0e, 0x01d8, 0x0000 },\n  { 0x0c0e, 0x01da, 0x0000 },\n  { 0x8c0e, 0x01dd, 0x2000 },\n  { 0x0c0e, 0x01dc, 0x0000 },\n  { 0x0c0e, 0x01de, 0x0000 },\n  { 0x8c0e, 0x01e3, 0x3000 },\n  { 0x8c0e, 0x01e1, 0x2000 },\n  { 0x0c0e, 0x01e0, 0x0000 },\n  { 0x0c0e, 0x01e2, 0x0000 },\n  { 0x8c0e, 0x01e5, 0x2000 },\n  { 0x0c0e, 0x01e4, 0x0000 },\n  { 0x0c0e, 0x01e6, 0x0000 },\n  { 0x8c0e, 0x01ef, 0x4000 },\n  { 0x8c0e, 0x01eb, 0x3000 },\n  { 0x8c0e, 0x01e9, 0x2000 },\n  { 0x0c0e, 0x01e8, 0x0000 },\n  { 0x0c0e, 0x01ea, 0x0000 },\n  { 0x8c0e, 0x01ed, 0x2000 },\n  { 0x0c0e, 0x01ec, 0x0000 },\n  { 0x0c0e, 0x01ee, 0x0000 },\n  { 0x830f, 0xfffd, 0x2000 },\n  { 0x030f, 0x0000, 0x0000 },\n  { 0x0310, 0x0000, 0x1000 },\n  { 0x0310, 0xfffd, 0x0000 },\n};\n"
  },
  {
    "path": "Project/Pcre/Win32/pcre.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"pcre\", \"pcre.vcproj\", \"{07437657-980A-430D-AB7B-415770E0D505}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tReleaseDebug|Win32 = ReleaseDebug|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Release|Win32.Build.0 = Release|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.ReleaseDebug|Win32.ActiveCfg = ReleaseDebug|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.ReleaseDebug|Win32.Build.0 = ReleaseDebug|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Trial|Win32.ActiveCfg = ReleaseDebug|Win32\n\t\t{07437657-980A-430D-AB7B-415770E0D505}.Trial|Win32.Build.0 = ReleaseDebug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.ReleaseDebug|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.ReleaseDebug|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Pcre/Win32/pcre.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"Windows-1252\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"pcre\"\n\tProjectGUID=\"{07437657-980A-430D-AB7B-415770E0D505}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB;SUPPORT_UTF8\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/pcre.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB;SUPPORT_UTF8\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/pcre.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"ReleaseDebug|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB;SUPPORT_UTF8\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/pcre.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\chartables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_compile.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_config.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_dfa_exec.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_exec.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_fullinfo.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_get.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_globals.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_maketables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_ord2utf8.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_printint.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_refcount.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_study.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_tables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_try_flipped.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_ucp_findchar.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_valid_utf8.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_version.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_xclass.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\config.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_internal.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Pcre/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Pcre/WinXPDrv32/Pcre.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Pcre\", \"Pcre.vcproj\", \"{31512598-9828-4A1C-AC8F-1EAD46DEA54D}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{31512598-9828-4A1C-AC8F-1EAD46DEA54D}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{31512598-9828-4A1C-AC8F-1EAD46DEA54D}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{31512598-9828-4A1C-AC8F-1EAD46DEA54D}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{31512598-9828-4A1C-AC8F-1EAD46DEA54D}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Pcre/WinXPDrv32/Pcre.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Pcre\"\n\tProjectGUID=\"{31512598-9828-4A1C-AC8F-1EAD46DEA54D}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\chartables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\dftables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_compile.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_config.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_dfa_exec.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_exec.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_fullinfo.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_get.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_globals.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_maketables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_memory.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_ord2utf8.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_printint.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_refcount.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_study.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_tables.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_try_flipped.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_ucp_findchar.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_valid_utf8.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_version.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_xclass.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Stdafx.c\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\config.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcre_internal.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\readme.txt\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Pcre/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/Pcre/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SDRemote/Source/Resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SDRemote.rc\n//\n#define IDS_PROJNAME                    100\n#define IDR_WMDMLOGGER                  101\n#define IDS_LOG_SEV_INFO                201\n#define IDS_LOG_SEV_WARN                202\n#define IDS_LOG_SEV_ERROR               203\n#define IDS_LOG_DATETIME                204\n#define IDS_LOG_SRCNAME                 205\n#define IDS_DEF_LOGFILE                 301\n#define IDS_DEF_MAXSIZE                 302\n#define IDS_DEF_SHRINKTOSIZE            303\n#define IDS_DEF_LOGENABLED              304\n#define IDS_MUTEX_TIMEOUT               401\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        201\n#define _APS_NEXT_COMMAND_VALUE         32768\n#define _APS_NEXT_CONTROL_VALUE         201\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SDRemote/Source/SDClient.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SDClient.h\"\n\n"
  },
  {
    "path": "Project/SDRemote/Source/SDClient.h",
    "content": "#ifndef _SD_CLIENT_H_\n#define _SD_CLIENT_H_\n\n\nclass CSDClient\n{\npublic:\n\t\n\n};\n\n\n\n\n\n\n\n#endif\n"
  },
  {
    "path": "Project/SDRemote/Source/SDRemote.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SDRemote.h\"\n\nCSyserPluginUI*gpSyserPluginUI;\n\nBOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)\n{\n    return TRUE;\n}\n\nbool WriteFileBlock(HANDLE hFile,void*Buffer,int Size,int BlockSize)\n{\n\tDWORD cbRW;\n\tint nBlock,LeftSize,Offset;\n\tnBlock = PAGE_COUNT(Size,BlockSize);\n\tOffset = 0;\n\tLeftSize = Size%BlockSize;\n\tfor(int n=1;n<nBlock;n++)\n\t{\n\t\tWriteFile(hFile,(BYTE*)Buffer+Offset,BlockSize,&cbRW,NULL);\n\t\tOffset+=BlockSize;\n\t}\n\tif(LeftSize)\n\t\tWriteFile(hFile,(BYTE*)Buffer+Offset,LeftSize,&cbRW,NULL);\n\treturn true;\n}\n\n\nint sd_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSDRemote *pDebugger)\n{\n\tDWORD cbRW;\n\tBYTE*Buffer;\n\tPCWSTR pszCmd;\n\tSD_PACKET*pPacket;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : sd cmd_string\\n\"));\n\t\treturn 1;\n\t}\n\tpszCmd = &szCommandLine[argv[1]-argv[0]];\n\tBuffer = new BYTE[SD_MAX_LENGTH];\n\tpPacket = (SD_PACKET*)Buffer;\n\tpPacket->Length = ST_FIELD_OFF(SD_PACKET,Data.szCmd[0])+(TStrLen(pszCmd)+1)*sizeof(WCHAR);\n\tpPacket->Sign = SD_CMD_SIGN;\n\tpPacket->CRCCode=0;\n\tTStrCpy(pPacket->Data.szCmd,pszCmd);\n\tpPacket->CRCCode=GetCRCCode(Buffer,pPacket->Length);\n\tWriteFileBlock(pDebugger->m_hPipe,Buffer,pPacket->Length,0x10);\n\n\tint NeededSize = sizeof(SD_PACKET);\n\tint Size = 0;\n\tif(ReadFile(pDebugger->m_hPipe,Buffer,sizeof(SD_PACKET),&cbRW,NULL))\n\t\tSize+=(int)cbRW;\n\twhile(Size < NeededSize)\n\t{\n\t\tif(ReadFile(pDebugger->m_hPipe,&Buffer[Size],NeededSize-Size,&cbRW,NULL))\n\t\t\tSize+=(int)cbRW;\n\t\tif(Size>=sizeof(SD_PACKET) && NeededSize == sizeof(SD_PACKET))\n\t\t{\n\t\t\tNeededSize = pPacket->Length;\n\t\t}\n\t}\n\tif(pPacket->Data.CSStream[0])\n\t{\n\t\tgpSyserPluginUI->Output(pPacket->Data.CSStream);\n\t}\n\tdelete Buffer;\n\treturn 0;\n}\n\n\nCDebugger*CreateDebugger(void*UIObj)\n{\n\tCSDRemote*pDebugger = new CSDRemote;\n\tgpSyserPluginUI = (CSyserPluginUI*)UIObj;\n\tgpSyserPluginUI->InsertCmd(WSTR(\"sd\"),(FPCmd)sd_command,pDebugger,WSTR(\"Remote command\"),NULL);\n\treturn pDebugger;\n}\n\nvoid GetFileFilter(WCHAR*szFilte)\n{\n\t*szFilte=0;\n}\n\nvoid GetInfo(CHAR*szInfo)\n{\n\tTStrCpy(szInfo,\"Syser Remote Debugger\");\n#ifdef _DEBUG\n\tTStrCat(szInfo,\"(DEBUG)\");\n#endif\n}\n\nbool CSDRemote::LoadPage(IN ULPOS Address,OUT void* Buffer)\n{\n\treturn ReadProcessMemory(Address,Buffer,MP_SIZE);\n}\n\nbool CSDRemote::SavePage(IN ULPOS Address,OUT void* Buffer)\n{\n\treturn WriteProcessMemory(Address,Buffer,MP_SIZE);\n}\n\nDWORD CSDRemote::GetPageAttribute(IN ULPOS Address)\n{\n\treturn true;\n}\n\nCSDRemote::CSDRemote()\n{\n\tm_ImageBase = 0;\n\tm_ImageHighBase = 0xFFFFFFFF;\n\tm_ImageSize = 0xFFFFFFFF;\n}\n\nCSDRemote::~CSDRemote()\n{\n\n}\n\nbool CSDRemote::Open(PCSTR ModuleName)\n{\n\tSTZeroMemory(m_Context);\n\tOUTPUT(WSTR(\"SDRemote : open \\\\\\\\.\\\\pipe\\\\com_1\\n\"));\n\tm_hPipe = CreateFile(\"\\\\\\\\.\\\\pipe\\\\com_1\",GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);\n\tif(m_hPipe == INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tif(CX86Debugger::Open(ModuleName)==false)\n\t\treturn false;\n\tm_ProcessCache.Init(100,PMS_PAGE_OUT);\n\tif(m_ProcessCache.MapImage(this)==false)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSDRemote::Close()\n{\n\tif(m_hPipe!=INVALID_HANDLE_VALUE)\n\t\tCloseHandle(m_hPipe);\n\tm_ProcessCache.Release();\n\treturn CX86Debugger::Close();\n}\n\nvoid CSDRemote::Release()\n{\n\tCX86Debugger::Release();\n\tgpSyserPluginUI->RemoveCmd(WSTR(\"sd\"));\n\tdelete this;\n}\n\nbool CSDRemote::ReadProcessMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nbool CSDRemote::WriteProcessMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CSDRemote::WriteMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CSDRemote::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\n\nbool CSDRemote::SetSingleStep()\n{\n\treturn CX86Debugger::SetSingleStep();\n}\n\nbool CSDRemote::RemoveSingleStep()\n{\n\treturn CX86Debugger::RemoveSingleStep();\n}\n\nbool CSDRemote::UpdateRegister()\n{\n\treturn false;\n}\n\nbool CSDRemote::SaveRegister()\n{\n\treturn false;\n}\n\nbool CSDRemote::ContinueDebug()\n{\n\treturn false;\n}\n\nvoid CSDRemote::GetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID)\n{\n\tGetX86RegPtr(pCPURegPtr);\n}\nvoid CSDRemote::GetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr)\n{\n\tstatic DWORD Value;\n\tpCPURegPtr->pCS = (WORD*)&m_Context.CS;\n\tpCPURegPtr->pDS = (WORD*)&m_Context.DS;\n\tpCPURegPtr->pES = (WORD*)&m_Context.ES;\n\tpCPURegPtr->pFS = (WORD*)&m_Context.FS;\n\tpCPURegPtr->pGS = (WORD*)&m_Context.GS;\n\tpCPURegPtr->pSS = (WORD*)&m_Context.SS;\n\tpCPURegPtr->pEAX = (DWORD*)&m_Context.EAX;\n\tpCPURegPtr->pEBX = (DWORD*)&m_Context.EBX;\n\tpCPURegPtr->pECX = (DWORD*)&m_Context.ECX;\n\tpCPURegPtr->pEDX = (DWORD*)&m_Context.EDX;\n\tpCPURegPtr->pESI = (DWORD*)&m_Context.ESI;\n\tpCPURegPtr->pEDI = (DWORD*)&m_Context.EDI;\n\tpCPURegPtr->pEBP = (DWORD*)&m_Context.EBP;\n\tpCPURegPtr->pESP = (DWORD*)&m_Context.ESP;\n\tpCPURegPtr->pEFL = (EFL_REG*)&m_Context.EFL;\n\tpCPURegPtr->pEIP = (DWORD*)&m_Context.EIP;\n\tpCPURegPtr->pDR[0] = (DWORD*)&m_Context.DR[0];\n\tpCPURegPtr->pDR[1] = (DWORD*)&m_Context.DR[1];\n\tpCPURegPtr->pDR[2] = (DWORD*)&m_Context.DR[2];\n\tpCPURegPtr->pDR[3] = (DWORD*)&m_Context.DR[3];\n\tpCPURegPtr->pDR[4] = NULL;\n\tpCPURegPtr->pDR[5] = NULL;\n\tpCPURegPtr->pDR[6] = (DWORD*)&m_Context.DR[6];\n\tpCPURegPtr->pDR[7] = (DWORD*)&m_Context.DR[7];\n}\n\nbool CSDRemote::GetSegRegBase(int SegIndex,DWORD*pAddress,DWORD *pSize)\n{\n\treturn false;\n}\n\n"
  },
  {
    "path": "Project/SDRemote/Source/SDRemote.h",
    "content": "#ifndef _SDREMOTE_H_\n#define _SDREMOTE_H_\n\n\nclass CSDRemote : public CX86Debugger,public CPageImage\n{\npublic:\n\tCSDRemote();\n\t~CSDRemote();\npublic:\n\tCPageMemory\tm_ProcessCache;\n\tbool\tLoadPage(IN ULPOS Address,OUT void* Buffer);\n\tbool\tSavePage(IN ULPOS Address,OUT void* Buffer);\n\tDWORD\tGetPageAttribute(IN ULPOS Address);\n\tbool\tOpen(PCSTR ModuleName);\n\tbool\tClose();\n\tvoid\tRelease();\n\tULSIZE\tWriteMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tbool\tSetSingleStep();\n\tbool\tSetRecoverStep();\n\tbool\tRemoveSingleStep();\n\tbool\tUpdateRegister();\n\tbool\tSaveRegister();\n\tbool\tContinueDebug();\n\tvoid\tGetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr);\n\tvoid\tGetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID);\n\tbool\tGetSegRegBase(int SegIndex,DWORD*pAddress,DWORD* pSize);\n\tX86_CPU_REG\tm_Context;\n\tHANDLE\tm_hPipe;\nprivate:\n\tbool\tReadProcessMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tbool\tWriteProcessMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SDRemote/Source/SDRemote.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SDRemote.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"SDRemote.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SDRemote/Source/SDRemote.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"SDRemote Dynamic Link Library\"\n#define VER_INTERNALNAME_STR        \"SDRemote\"  \n#define VER_ORIGINALFILENAME_STR    \"SDRemote.dll\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n"
  },
  {
    "path": "Project/SDRemote/Source/StdAfx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// SDWin32.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"StdAfx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/SDRemote/Source/StdAfx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n\n#define WIN32_LEAN_AND_MEAN\t\t// Exclude rarely-used stuff from Windows headers\n// Windows Header Files:\n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include \"SyserDebugger.h\"\n#include \"../../Syser/Source/SDDefine.h\"\n\n#define OUTPUT\t\tgpSyserPluginUI->Outputf\n"
  },
  {
    "path": "Project/SDRemote/Win32/SDRemote.def",
    "content": "EXPORTS\n\tCreateDebugger\n\tGetFileFilter\n\tGetInfo\n"
  },
  {
    "path": "Project/SDRemote/Win32/SDRemote.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SDRemote\", \"SDRemote.vcproj\", \"{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Release|Win32.Build.0 = Release|Win32\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SDRemote/Win32/SDRemote.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SDRemote\"\n\tProjectGUID=\"{F5C9A119-1A4B-4568-AFE8-1B9381CB5491}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"2\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS;_USRDLL;SDRemote_EXPORTS\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SDRemote.dll\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tModuleDefinitionFile=\"./SDRemote.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"$(OutDir)/SDRemote.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"2\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS;_USRDLL;SDRemote_EXPORTS\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SDRemote.dll\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tModuleDefinitionFile=\"./SDRemote.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"$(OutDir)/SDRemote.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDClient.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDRemote.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDClient.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDRemote.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDRemote.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\SDRemote.def\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SDRemote/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SDRemote/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SDRemote/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SDWin32/Source/Resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SDWin32.rc\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        101\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SDWin32/Source/SDWin32.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SDWin32.h\"\n\n\nBOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)\n{\n    return TRUE;\n}\n\nCDebugger*CreateDebugger(void*UIObj)\n{\n\tCSDWin32*pDebugger = new CSDWin32;\n\treturn pDebugger;\n}\n\nvoid GetFileFilter(WCHAR*szFilte)\n{\n\tTStrCpy(szFilte,WSTR(\"Executable Files|*.exe;*.dll;*.sys;*.scr|All Files|*.*|\"));\n}\n\nvoid GetInfo(CHAR*szInfo)\n{\n\tTStrCpy(szInfo,\"Win32 User Mode Debugger\");\n#ifdef _DEBUG\n\tTStrCat(szInfo,\"(DEBUG)\");\n#endif\n}\n\nCSDWin32::CSDWin32()\n{\n\tm_CurProcHandle = GetCurrentProcess();\n\tm_bDebuging=false;\n\tm_bExit=false;\n\tm_hDebugProcess = NULL;\n\tm_pExecutePoint = &m_Context.Eip;\n}\n\nCSDWin32::~CSDWin32()\n{\n}\n\nbool CSDWin32::Open(PCSTR ModuleName)\n{\n\tDWORD DTID;\n\tif( gpFileIO->IsFileExist(ModuleName)==false &&\n\t\tTStrNICmp(ModuleName,\"\\\\PID:\",sizeof(\"\\\\PID:\")-1))\n\t\treturn false;\n\tif(CX86Debugger::Open(ModuleName)==false)\n\t\treturn false;\n\tm_MainModuleName = ModuleName;\n\tm_hWaitEvent = CreateEvent(NULL,FALSE,FALSE,NULL);\n\tm_hDebugThread=::CreateThread(NULL,0,(DWORD(WINAPI*)(LPVOID))DebugThread,(LPVOID)this,0,&DTID);\n\tif(m_hDebugThread==NULL)\n\t{\n\t\tCloseHandle(m_hWaitEvent);\n\t\tCX86Debugger::Close();\n\t\treturn false;\n\t}\n\tWaitForSingleObject(m_hWaitEvent,INFINITE);\n\tif(m_PID==0)\n\t{\n\t\tCloseHandle(m_hWaitEvent);\n\t\tCX86Debugger::Close();\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CSDWin32::Close()\n{\n\tif(m_hDebugProcess==NULL)\n\t\treturn CX86Debugger::Close();\n\tCloseHandle(m_hDebugProcess);\n\tm_hDebugProcess=OpenProcess(PROCESS_TERMINATE,FALSE,m_PID);\n\tif(TerminateProcess(m_hDebugProcess,0)==false)\n\t\treturn false;\n\tCloseHandle(m_hDebugProcess);\n\tm_hDebugProcess = NULL;\n\tm_bExit=true;\n\tContinueDebug();\n\tCloseHandle(m_hWaitEvent);\n\treturn CX86Debugger::Close();\n}\n\nvoid CSDWin32::Release()\n{\n\tCX86Debugger::Release();\n\tdelete this;\n}\n\nbool CSDWin32::InsertThread(UINT ID,HANDLE Handle)\n{\n\tCThreadMap::IT Iter = m_ThreadMap.InsertUnique(ID);\n\tif(Iter==m_ThreadMap.End())\n\t\treturn false;\n\tif(DuplicateHandle(m_CurProcHandle,Handle,m_CurProcHandle,&Iter->hThread,THREAD_GET_CONTEXT | THREAD_SET_CONTEXT | THREAD_SUSPEND_RESUME|THREAD_QUERY_INFORMATION,FALSE,0)==FALSE)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSDWin32::RemoveThread(UINT ID)\n{\n\treturn m_ThreadMap.Remove(ID)!=0;\n}\n\nvoid CSDWin32::DebugPlunge(UINT PlungeType)\n{\n\tm_pDebugInterface->OnDebugPlungeMultiThread(PlungeType);\n}\n\nbool CSDWin32::GetThreadContext(UINT ID)\n{\n\tHANDLE hThread;\n\tCThreadMap::IT Iter = m_ThreadMap.Find(ID);\n\tif(Iter==m_ThreadMap.End())\n\t\treturn false;\n\tm_Context.ContextFlags=CONTEXT_ALL;\n\thThread = Iter->hThread;\n\tif(::GetThreadContext(hThread,&m_Context)==FALSE)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSDWin32::SetThreadContext(UINT ID)\n{\n\tCThreadMap::IT Iter = m_ThreadMap.Find(ID);\n\tif(Iter==m_ThreadMap.End())\n\t\treturn false;\n\tm_Context.ContextFlags=CONTEXT_FULL | CONTEXT_DEBUG_REGISTERS;\n\treturn ::SetThreadContext(Iter->hThread,&m_Context)!=FALSE;\n}\n\nbool CSDWin32::SetThreadEIPBack(UINT ThreadID)\n{\n\tif(GetThreadContext(ThreadID)==false)\n\t\treturn false;\n\tm_Context.Eip--;\n\tif(SetThreadContext(ThreadID)==false)\n\t\treturn false;\n\treturn true;\n}\n\nULSIZE CSDWin32::WriteMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tDWORD RWSize;\n\tRWSize = 0;\n\tif(::WriteProcessMemory(m_hDebugProcess,NUM_TO_PTR(Address),Buffer,Size,&RWSize)==FALSE)\n\t\treturn 0;\n\treturn RWSize;\n}\n\nULSIZE CSDWin32::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tDWORD RWSize;\n\tRWSize = 0;\n\tif(::ReadProcessMemory(m_hDebugProcess,NUM_TO_PTR(Address),Buffer,Size,&RWSize)==FALSE)\n\t\treturn 0;\n\treturn RWSize;\n}\n\nbool CSDWin32::SetCodeBreakPoint(BREAK_POINT&BP)\n{\n\treturn SetCCBP(BP);\n}\n\nbool CSDWin32::ClearCodeBreakPoint(BREAK_POINT&BP)\n{\n\treturn ClearCCBP(BP);\n}\n\nbool CSDWin32::SetDataBreakPoint(BREAK_POINT&BP)\n{\n\treturn SetX86HDBP(BP,&m_Context.Dr0,&m_Context.Dr7);\n}\n\nbool CSDWin32::ClearDataBreakPoint(BREAK_POINT&BP)\n{\n\treturn ClearX86HDBP(BP,&m_Context.Dr0,&m_Context.Dr7);\n}\n\nbool CSDWin32::SetSingleStep()\n{\n\tCONTEXT Context;\n\tfor(CThreadMap::IT Iter=m_ThreadMap.Begin();Iter!=m_ThreadMap.End();Iter++)\n\t{\n\t\tContext.ContextFlags = CONTEXT_FULL;\n\t\tif(::GetThreadContext(Iter->hThread,&Context)==FALSE)\n\t\t\tcontinue;\n\t\tContext.EFlags|=0x100;\n\t\tContext.ContextFlags = CONTEXT_FULL;\n\t\tif(::SetThreadContext(Iter->hThread,&Context)==FALSE)\n\t\t\tcontinue;\n\t}\n\treturn true;\n}\n\nbool CSDWin32::RemoveSingleStep()\n{\n\tCONTEXT Context;\n\tfor(CThreadMap::IT Iter=m_ThreadMap.Begin();Iter!=m_ThreadMap.End();Iter++)\n\t{\n\t\tContext.ContextFlags = CONTEXT_FULL;\n\t\tif(::GetThreadContext(Iter->hThread,&Context)==FALSE)\n\t\t\tcontinue;\n\t\tContext.EFlags&=0xFFFFFEFF;\n\t\tContext.ContextFlags = CONTEXT_FULL;\n\t\tif(::SetThreadContext(Iter->hThread,&Context)==FALSE)\n\t\t\tcontinue;\n\t}\n\treturn true;\n}\n\nbool CSDWin32::UpdateRegister()\n{\n\treturn GetThreadContext(m_DebugThreadID);\n}\n\nbool CSDWin32::SaveRegister()\n{\n\treturn SetThreadContext(m_DebugThreadID);\n}\n\nbool CSDWin32::ContinueDebug(bool bRestoreScreen)\n{\n\treturn ::ResumeThread(m_hDebugThread)!=FALSE;\n}\n\nvoid CSDWin32::GetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID)\n{\n\tGetX86RegPtr(pCPURegPtr);\n}\n\nvoid CSDWin32::GetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr)\n{\n\tpCPURegPtr->pCS = (WORD*)&m_Context.SegCs;\n\tpCPURegPtr->pDS = (WORD*)&m_Context.SegDs;\n\tpCPURegPtr->pES = (WORD*)&m_Context.SegEs;\n\tpCPURegPtr->pFS = (WORD*)&m_Context.SegFs;\n\tpCPURegPtr->pGS = (WORD*)&m_Context.SegGs;\n\tpCPURegPtr->pSS = (WORD*)&m_Context.SegSs;\n\tpCPURegPtr->pEAX = (DWORD*)&m_Context.Eax;\n\tpCPURegPtr->pEBX = (DWORD*)&m_Context.Ebx;\n\tpCPURegPtr->pECX = (DWORD*)&m_Context.Ecx;\n\tpCPURegPtr->pEDX = (DWORD*)&m_Context.Edx;\n\tpCPURegPtr->pESI = (DWORD*)&m_Context.Esi;\n\tpCPURegPtr->pEDI = (DWORD*)&m_Context.Edi;\n\tpCPURegPtr->pEBP = (DWORD*)&m_Context.Ebp;\n\tpCPURegPtr->pESP = (DWORD*)&m_Context.Esp;\n\tpCPURegPtr->pEFL = (EFL_REG*)&m_Context.EFlags;\n\tpCPURegPtr->pEIP = (DWORD*)&m_Context.Eip;\n\tpCPURegPtr->pDR[0] = (DWORD*)&m_Context.Dr0;\n\tpCPURegPtr->pDR[1] = (DWORD*)&m_Context.Dr1;\n\tpCPURegPtr->pDR[2] = (DWORD*)&m_Context.Dr2;\n\tpCPURegPtr->pDR[3] = (DWORD*)&m_Context.Dr3;\n\tpCPURegPtr->pDR[4] = NULL;\n\tpCPURegPtr->pDR[5] = NULL;\n\tpCPURegPtr->pDR[6] = (DWORD*)&m_Context.Dr6;\n\tpCPURegPtr->pDR[7] = (DWORD*)&m_Context.Dr7;\n\tpCPURegPtr->pFPUControlWord = (WORD*)&m_Context.FloatSave.ControlWord;\n\tpCPURegPtr->pFPUStatusWord = (WORD*)&m_Context.FloatSave.StatusWord;\n\tpCPURegPtr->pFPUTagWord = (WORD*)&m_Context.FloatSave.TagWord;\n\tpCPURegPtr->pFPURegisterArea = (BYTE*)&m_Context.FloatSave.RegisterArea;\n}\n\nbool CSDWin32::GetSegRegBase(int SegIndex,DWORD*pAddress,DWORD* pSize)\n{\n\tBOOL bret;\n\tLDT_ENTRY lpSelectorEntry;\n\tCThreadMap::IT FindIT;\n\tHANDLE hThread;\n\tFindIT = m_ThreadMap.Find(m_DebugThreadID);\n\tif(FindIT==m_ThreadMap.End())\n\t\treturn false;\n\thThread=(*FindIT).hThread;\n\tbret = GetThreadSelectorEntry(hThread,SegIndex,&lpSelectorEntry);\n\tif(bret)\n\t{\n\t\tif(pAddress)\n\t\t{\n\t\t\t*pAddress=lpSelectorEntry.HighWord.Bytes.BaseHi<<24;\n\t\t\t*pAddress|=lpSelectorEntry.HighWord.Bytes.BaseMid<<16;\n\t\t\t*pAddress|=lpSelectorEntry.BaseLow;\n\t\t}\n\t\tif(pSize)\n\t\t{\n\t\t\t*pSize=lpSelectorEntry.HighWord.Bits.LimitHi;\n\t\t}\n\t}\n\treturn bret==TRUE;\n}\n\n\nbool CSDWin32::GetModulePEHead(ULPOS Base,PE_HEAD*pHead)\n{\n\tDWORD Offset;\n\tZeroMemory(pHead,sizeof(PE_HEAD));\n\tif(ReadMemory(Base+0x3C,&Offset,sizeof(Offset))!=sizeof(Offset))\n\t\treturn false;\n\tif(ReadMemory(Base+Offset,pHead,sizeof(PE_HEAD))!=sizeof(PE_HEAD))\n\t\treturn false;\n\tif(pHead->Signature!=0x4550)\n\t\treturn false;\n\treturn true;\n}\n\nDWORD CSDWin32::DebugThread(CSDWin32*pThis)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tWCHAR wszBuffer[MAX_FN_LEN];\n\tULPOS Address;\n\tPROCESS_INFORMATION ProcInfo;\n\tSTARTUPINFO StartupInfo;\n\tDEBUG_EVENT DebugEvent;\n\tPE_HEAD ModulePEHead;\n\tDWORD dwContinue=0;\n\tpThis->m_bExit=false;\n\tpThis->m_PID=0;\n\tif(TStrStr((PCSTR)pThis->m_MainModuleName,\"\\\\PID:\")==NULL)\n\t{\n\t\tSTZeroMemory(StartupInfo);\n\t\tStartupInfo.cb=sizeof(StartupInfo);\n\t\tif(::CreateProcess(pThis->m_MainModuleName,NULL,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS | DEBUG_PROCESS,NULL,NULL,&StartupInfo,&ProcInfo)==FALSE)\n\t\t{\n\t\t\tSetEvent(pThis->m_hWaitEvent);\n\t\t\treturn 0;\n\t\t}\n\t\tpThis->m_PID=ProcInfo.dwProcessId;\n\t\tpThis->m_hDebugProcess=ProcInfo.hProcess;\n\t\tpThis->m_bActiveProcess=false;\n\t}\n\telse\n\t{\n\t\tsscanf(pThis->m_MainModuleName,\"\\\\PID:%08X\",&pThis->m_PID);\n\t\tif(DebugActiveProcess(pThis->m_PID)==FALSE)\n\t\t{\n\t\t\tSetEvent(pThis->m_hWaitEvent);\n\t\t\treturn 0;\n\t\t}\n\t\tpThis->m_hDebugProcess=OpenProcess(PROCESS_ALL_ACCESS,FALSE,pThis->m_PID);\n\t\tif(pThis->m_hDebugProcess==NULL)\n\t\t{\n\t\t\tpThis->m_PID=0;\n\t\t\tSetEvent(pThis->m_hWaitEvent);\n\t\t\treturn 0;\n\t\t}\n\t\tpThis->m_bActiveProcess=true;\n\t}\n\tpThis->m_ProcName = TGetFileName((PCSTR)pThis->m_MainModuleName);\n\tpThis->m_bDebuging=false;\n\tSTZeroMemory(pThis->m_Context);\n\twhile(pThis->m_bExit==false && WaitForDebugEvent(&DebugEvent,INFINITE))\n\t{\n\t\tdwContinue = DBG_CONTINUE;\n\t\tswitch(DebugEvent.dwDebugEventCode)\n\t\t{\n\t\tcase EXCEPTION_DEBUG_EVENT:\n\t\t\tdwContinue=pThis->HandleException(&DebugEvent);\n\t\t\tbreak;\n\t\tcase CREATE_THREAD_DEBUG_EVENT:\n\t\t\tpThis->InsertThread(DebugEvent.dwThreadId,DebugEvent.u.CreateThread.hThread);\n\t\t\tbreak;\n\t\tcase CREATE_PROCESS_DEBUG_EVENT:\n\t\t\tpThis->m_BPCount = 0;\n\t\t\tpThis->InsertThread(DebugEvent.dwThreadId,DebugEvent.u.CreateProcessInfo.hThread);\n\t\t\tif(pThis->m_bActiveProcess==false)\n\t\t\t\tpThis->InsertCodeBP(PTR_TO_NUM(DebugEvent.u.CreateProcessInfo.lpStartAddress),BP_TYPE_DEBUG,BP_STATE_ENABLE);\n\t\t\tAddress = PTR_TO_NUM(DebugEvent.u.CreateProcessInfo.lpBaseOfImage);\n\t\t\tpThis->GetModulePEHead(Address,&ModulePEHead);\n\t\t\tpThis->m_pDebugInterface->OnLoadModule(pThis,pThis->m_MainModuleName,Address,ModulePEHead.SizeOfImage,MAKE_MODULE_ID(ModulePEHead.CheckSum,ModulePEHead.TimeDateStamp));\n\t\t\tbreak;\n\t\tcase EXIT_THREAD_DEBUG_EVENT:\n\t\t\tpThis->RemoveThread(DebugEvent.dwThreadId);\n\t\t\tbreak;\n\t\tcase EXIT_PROCESS_DEBUG_EVENT:\n\t\t\tpThis->RemoveAllCodeBP();\n\t\t\tsprintf(szBuffer,\"Debug Event : Process Terminated , Exit Code = %d (0x%X) !\\n\",DebugEvent.u.ExitProcess.dwExitCode,DebugEvent.u.ExitProcess.dwExitCode);\n\t\t\tpThis->m_pDebugInterface->DisplayMsg(szBuffer);\n\t\t\tpThis->m_pDebugInterface->OnDebugTerminateMultiThread(true);\n\t\t\tpThis->m_bExit = true;\n\t\t\tbreak;\n\t\tcase LOAD_DLL_DEBUG_EVENT:\n\t\t\tif(DebugEvent.u.LoadDll.lpImageName)\n\t\t\t{\n\t\t\t\tAddress=0;\n\t\t\t\t*szBuffer=0;\n\t\t\t\tpThis->ReadMemory(PTR_TO_NUM(DebugEvent.u.LoadDll.lpImageName),&Address,sizeof(Address));\n\t\t\t\tif(Address)\n\t\t\t\t{\n\t\t\t\t\tif(DebugEvent.u.LoadDll.fUnicode)\n\t\t\t\t\t{\n\t\t\t\t\t\t*wszBuffer=0;\n\t\t\t\t\t\tpThis->ReadMemory(Address,wszBuffer,MAX_FN_LEN*2);\n\t\t\t\t\t\t//UnicodeToAnsi((const wchar_t *)wszBuffer,szBuffer,MAX_FN_LEN);\n\t\t\t\t\t\tWideCharToMultiByte(CP_ACP,0,wszBuffer,-1,szBuffer,MAX_FN_LEN,NULL,NULL);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpThis->ReadMemory(Address,szBuffer,MAX_FN_LEN);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(TGetFileName(szBuffer)==szBuffer)\n\t\t\t\t{\n\t\t\t\t\tchar szSystemDir[MAX_FN_LEN];\n\t\t\t\t\tGetSystemDirectory(szSystemDir,MAX_FN_LEN);\n\t\t\t\t\tTStrCat(szSystemDir,\"\\\\\");\n\t\t\t\t\tTStrCat(szSystemDir,szBuffer);\n\t\t\t\t\tTStrCpy(szBuffer,szSystemDir);\n\t\t\t\t}\n\t\t\t\tAddress = PTR_TO_NUM(DebugEvent.u.LoadDll.lpBaseOfDll);\n\t\t\t\tpThis->GetModulePEHead(Address,&ModulePEHead);\n\t\t\t\tif(Address && *szBuffer)\n\t\t\t\t\tpThis->m_pDebugInterface->OnLoadModule(pThis,szBuffer,Address,ModulePEHead.SizeOfImage,MAKE_MODULE_ID(ModulePEHead.CheckSum,ModulePEHead.TimeDateStamp));\n\t\t\t}\n\t\t\tbreak;\n\t\tcase UNLOAD_DLL_DEBUG_EVENT:\n\t\t\tbreak;\n\t\tcase OUTPUT_DEBUG_STRING_EVENT:\n\t\t\tbreak;\n\t\tcase RIP_EVENT:\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t\tContinueDebugEvent(DebugEvent.dwProcessId,DebugEvent.dwThreadId,dwContinue);\n\t}\n\tpThis->m_hDebugProcess=NULL;\n\tSetEvent(pThis->m_hWaitEvent);\n\treturn 1;\n}\n\n//쳣\nDWORD CSDWin32::HandleException(DEBUG_EVENT*pDebugEnent)\n{\n\tPE_HEAD ModulePEHead;\n\tchar szBuffer[256];\n\tbool bActive;\n\tBREAK_POINT*pBP;\n\tDWORD dwContinue;\n\tswitch(pDebugEnent->u.Exception.ExceptionRecord.ExceptionCode)\n\t{\n\tcase EXCEPTION_ACCESS_VIOLATION://Ƿ\n\t\tdwContinue = DBG_CONTINUE;\n\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tm_ExpAddr=PTR_TO_NUM(pDebugEnent->u.Exception.ExceptionRecord.ExceptionAddress);\n\t\tsprintf(szBuffer,\"Debug Event : Access Violation , Address = %08X !\\n\",m_ExpAddr);\n\t\tm_pDebugInterface->DisplayMsg(szBuffer);\n\t\tDebugPlunge(DEBUG_PLUNGE_EXCEPTION);\n\t\tm_bDebuging=true;\n\t\tSuspendThread(m_hDebugThread);\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tm_bDebuging=false;\n\t\tbreak;\n\tcase EXCEPTION_BREAKPOINT://ϵ\n\t\tdwContinue = DBG_CONTINUE;\n\t\tm_BPCount++;\n\t\tif(m_BPCount==1)\n\t\t{\n\t\t\tif(m_bActiveProcess)\n\t\t\t{\n\t\t\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\t\t\tGetThreadContext(m_DebugThreadID);\n\t\t\t\tDebugPlunge(DEBUG_PLUNGE_OTHER);\n\t\t\t\tm_bDebuging=true;\n\t\t\t\tSetEvent(m_hWaitEvent);\n\t\t\t\tSuspendThread(m_hDebugThread);\n\t\t\t\tm_bDebuging=false;\n\n\t\t\t\tHANDLE  hModuleSnap;\n\t\t\t\tMODULEENTRY32 me32;\n\t\t\t\thModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,m_PID);\n\t\t\t\tif(hModuleSnap == INVALID_HANDLE_VALUE)\n\t\t\t\t\treturn false;\n\t\t\t\tme32.dwSize = sizeof(MODULEENTRY32);\n\t\t\t\tif(Module32First(hModuleSnap,&me32))\n\t\t\t\t{\n\t\t\t\t\tdo\n\t\t\t\t\t{\n\t\t\t\t\t\tGetModulePEHead(PTR_TO_NUM(me32.modBaseAddr),&ModulePEHead);\n\t\t\t\t\t\tm_pDebugInterface->OnLoadModule(this,me32.szExePath,PTR_TO_NUM(me32.modBaseAddr),me32.modBaseSize,MAKE_MODULE_ID(ModulePEHead.CheckSum,ModulePEHead.TimeDateStamp));\n\t\t\t\t\t}\n\t\t\t\t\twhile(Module32Next(hModuleSnap,&me32)); \n\t\t\t\t}\n\t\t\t\tCloseHandle(hModuleSnap);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\t\tpBP = GetCodeBP(PTR_TO_NUM(pDebugEnent->u.Exception.ExceptionRecord.ExceptionAddress));\n\t\t\tif(pBP && pBP->State==BP_STATE_ENABLE)\n\t\t\t{\n\t\t\t\tSetThreadEIPBack(pDebugEnent->dwThreadId);\n\t\t\t\tif(WriteMemory(m_Context.Eip,&pBP->CodeBackup,1))\n\t\t\t\t\tpBP->State = BP_STATE_RECOV;\n\t\t\t\tif(m_pDebugInterface->TestCondition(pBP->Condition))\n\t\t\t\t{\n\t\t\t\t\tm_pDebugInterface->RunCmdList(pBP->DoCmd);\n\t\t\t\t\tif((pBP->Type & BP_TYPE_DEBUG)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tm_pDebugInterface->ResetTrace();\n\t\t\t\t\t\tbActive = true;\n\t\t\t\t\t}\n\t\t\t\t\tif(m_pDebugInterface->IsHandledTraceEvent())\n\t\t\t\t\t{\n\t\t\t\t\t\tRemoveAllCodeBP(BP_TYPE_DEBUG);\n\t\t\t\t\t\tDebugPlunge(DEBUG_PLUNGE_BREAK_POINT);\n\t\t\t\t\t\tm_bDebuging=true;\n\t\t\t\t\t\tif(m_BPCount==2)\n\t\t\t\t\t\t\tSetEvent(m_hWaitEvent);\n\t\t\t\t\t\tSuspendThread(m_hDebugThread);\n\t\t\t\t\t\tm_bDebuging=false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(IsRecoverBPExist())\n\t\t\t\t\tSetSingleStep();\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase EXCEPTION_SINGLE_STEP://\n\t\tdwContinue = DBG_CONTINUE;\n\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tRecoverBreakPoint();\n\t\tbActive = false;\n\t\tpBP = GetCodeBP(m_Context.Eip);\n\t\tif(pBP && pBP->State==BP_STATE_ENABLE)\n\t\t{\n\t\t\tif(WriteMemory(m_Context.Eip,&pBP->CodeBackup,1))\n\t\t\t\tpBP->State = BP_STATE_RECOV;\n\t\t\tif(m_pDebugInterface->TestCondition(pBP->Condition))\n\t\t\t{\n\t\t\t\tm_pDebugInterface->RunCmdList(pBP->DoCmd);\n\t\t\t\tif((pBP->Type & BP_TYPE_DEBUG)==0)\n\t\t\t\t{\n\t\t\t\t\tm_pDebugInterface->ResetTrace();\n\t\t\t\t\tbActive = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(m_pDebugInterface->m_TraceType!=TRACE_NULL && m_pDebugInterface->IsHandledTraceEvent())\n\t\t\tbActive = true;\n\t\telse\n\t\t{\n\t\t\tif(GetDataBPList()>0)\n\t\t\t\tbActive = true;\n\t\t}\n\t\tif(bActive)\n\t\t{\n\t\t\tRemoveAllCodeBP(BP_TYPE_DEBUG,BP_TYPE_EXC_NON);\n\t\t\tDebugPlunge(DEBUG_PLUNGE_BREAK_POINT);\n\t\t\tm_bDebuging=true;\n\t\t\tSuspendThread(m_hDebugThread);\n\t\t\tm_bDebuging=false;\n\t\t}\n\t\tif(IsRecoverBPExist())\n\t\t\tSetSingleStep();\n\t\tbreak;\n\tcase DBG_CONTROL_C:\n\tcase DBG_CONTROL_BREAK:\n\t\tdwContinue = DBG_CONTINUE;\n\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tDebugPlunge(DEBUG_PLUNGE_USER_BREAK);\n\t\tm_bDebuging=true;\n\t\tSuspendThread(m_hDebugThread);\n\t\tm_bDebuging=false;\n\t\tbreak;\n\tdefault:\n\t\tdwContinue = DBG_EXCEPTION_NOT_HANDLED;\n\t\tm_DebugThreadID=pDebugEnent->dwThreadId;\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tDebugPlunge(DEBUG_PLUNGE_OTHER);\n\t\tm_bDebuging=true;\n\t\tSuspendThread(m_hDebugThread);\n\t\tGetThreadContext(pDebugEnent->dwThreadId);\n\t\tm_bDebuging=false;\n\t\tbreak;\n\t}\n\treturn dwContinue;\n}\n"
  },
  {
    "path": "Project/SDWin32/Source/SDWin32.h",
    "content": "#ifndef _SDWIN32_H_\n#define _SDWIN32_H_\n\nstruct THREAD_DBG_INFO\n{\n\tUINT\tThreadID;\n\tHANDLE\thThread;\n};\n\ntypedef TMap<DWORD,THREAD_DBG_INFO>\tCThreadMap;\n\nclass CSDWin32 : public CX86Debugger\n{\npublic:\n\tCSDWin32();\n\t~CSDWin32();\npublic:\n\tbool\tOpen(PCSTR ModuleName);\n\tbool\tClose();\n\tvoid\tRelease();\n\tULSIZE\tWriteMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tbool\tSetCodeBreakPoint(BREAK_POINT&BP);\n\tbool\tClearCodeBreakPoint(BREAK_POINT&BP);\n\tbool\tSetDataBreakPoint(BREAK_POINT&BP);\n\tbool\tClearDataBreakPoint(BREAK_POINT&BP);\n\tbool\tSetSingleStep();\n\tbool\tRemoveSingleStep();\n\tbool\tUpdateRegister();\n\tbool\tSaveRegister();\n\tbool\tContinueDebug(bool bRestoreScreen = true);\n\tstatic\tDWORD DebugThread(CSDWin32*pThis);\n\tDWORD\tHandleException(DEBUG_EVENT*pDebugEnent);\n\tvoid\tGetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr);\n\tvoid\tGetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID);\n\tbool\tGetSegRegBase(int SegIndex,DWORD*pAddress,DWORD* pSize);\npublic:\n\tCStrA\tm_MainModuleName;\n\tCThreadMap\tm_ThreadMap;\n\tUINT\tm_DebugThreadID;\n\tUINT\tm_DebugProcessID;\n\tHANDLE\tm_hDebugThread;\n\tHANDLE\tm_hDebugProcess;\n\tHANDLE\tm_CurProcHandle;\n\tCONTEXT m_Context;\n\tULPOS\tm_ExpAddr;\n\tHANDLE\tm_hWaitEvent;\nprivate:\n\tbool\tGetModulePEHead(ULPOS Base,PE_HEAD*pHead);\n\tbool\tSetThreadEIPBack(UINT ThreadID);\n\tbool\tGetThreadContext(UINT ID);\n\tbool\tSetThreadContext(UINT ID);\n\tbool\tInsertThread(UINT ID,HANDLE Handle);\n\tbool\tRemoveThread(UINT ID);\n\tvoid\tDebugPlunge(UINT PlungeType);\n\tbool\tm_bDebuging;\n\tbool\tm_bExit;\n\tbool\tm_bActiveProcess;\n\tint\t\tm_BPCount;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SDWin32/Source/SDWin32.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SDWin32.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#include \"SDWin32.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SDWin32/Source/SDWin32.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"Syser debugger core\"\n#define VER_INTERNALNAME_STR        \"SDWin32.dll\"  \n#define VER_ORIGINALFILENAME_STR    \"SDWin32.dll\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n"
  },
  {
    "path": "Project/SDWin32/Source/StdAfx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// SDWin32.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"StdAfx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/SDWin32/Source/StdAfx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n\n#define WIN32_LEAN_AND_MEAN\t\t// Exclude rarely-used stuff from Windows headers\n// Windows Header Files:\n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include \"../../Syser/Source/SDDefine.h\"\n\n#include <tlhelp32.h>\n#include <Psapi.h>"
  },
  {
    "path": "Project/SDWin32/Source/SyserVersion.h",
    "content": "#ifndef _SYSER_VERSION_H_\n#define _SYSER_VERSION_H_\n\n#define VER_PRODUCTBUILD            1300\n#define VER_PRODUCTBUILD_QFE        1089\n\n#define VER_PRODUCTMAJORVERSION     1\n#define VER_PRODUCTMINORVERSION     4\n\n#define VER_PRODUCTBETA_STR         \"\"\n\n#define VER_PRODUCTVERSION_MAJORMINOR2(x,y) #x \".\" #y\n#define VER_PRODUCTVERSION_MAJORMINOR1(x,y) VER_PRODUCTVERSION_MAJORMINOR2(x, y)\n#define VER_PRODUCTVERSION_STRING   VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)\n\n#define VER_PRODUCTVERSION          VER_PRODUCTMAJORVERSION,VER_PRODUCTMINORVERSION,VER_PRODUCTBUILD,VER_PRODUCTBUILD_QFE\n#define VER_PRODUCTVERSION_W        (0x0104)\n#define VER_PRODUCTVERSION_DW       (0x01040000 | VER_PRODUCTBUILD)\n\n#if     (VER_PRODUCTBUILD < 10)\n#define VER_BPAD \"000\"\n#elif   (VER_PRODUCTBUILD < 100)\n#define VER_BPAD \"00\"\n#elif   (VER_PRODUCTBUILD < 1000)\n#define VER_BPAD \"0\"\n#else\n#define VER_BPAD\n#endif\n\n#define VER_PRODUCTVERSION_STR2(x,y) VER_PRODUCTVERSION_STRING \".\" VER_BPAD #x \".\" #y\n#define VER_PRODUCTVERSION_STR1(x,y) VER_PRODUCTVERSION_STR2(x, y)\n#define VER_PRODUCTVERSION_STR       VER_PRODUCTVERSION_STR1(VER_PRODUCTBUILD, VER_PRODUCTBUILD_QFE)\n\n\n#if DBG\n#define VER_DEBUG                   VS_FF_DEBUG\n#else\n#define VER_DEBUG                   0\n#endif\n \n/* default is prerelease */\n#if BETA\n#define VER_PRERELEASE              VS_FF_PRERELEASE\n#else\n#define VER_PRERELEASE              0\n#endif\n\n#if OFFICIAL_BUILD\n#define VER_PRIVATE                 0\n#else\n#define VER_PRIVATE                 VS_FF_PRIVATEBUILD\n#endif\n\n#define VER_FILEFLAGSMASK           VS_FFI_FILEFLAGSMASK\n#define VER_FILEOS                  VOS_NT_WINDOWS32\n#define VER_FILEFLAGS               (VER_PRERELEASE|VER_DEBUG|VER_PRIVATE)\n\n#define VER_COMPANYNAME_STR         \"Syser Software Corporation\"\n#define VER_PRODUCTNAME_STR         \"Syser Kernel Debugger for Windows\"\n#define VER_LEGALTRADEMARKS_STR     \"Syser (R) is a registered trademark of Syser Software Corporation.\"\n#define\tVER_LEGALCOPYRIGHT_STR\t\t\"Syser Software Corporation. All rights reserved.\" \n#define VER_FILEVERSION_STR   VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)\n\n#define\tVER_FILEVERSION\t\t\t\t\t\t\t\t\tVER_PRODUCTVERSION\n#endif //_SYSER_VERSION_H_\n"
  },
  {
    "path": "Project/SDWin32/Win32/SDWin32.def",
    "content": "EXPORTS\n\tCreateDebugger\n\tGetFileFilter\n\tGetInfo\n"
  },
  {
    "path": "Project/SDWin32/Win32/SDWin32.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SDWin32\", \"SDWin32.vcproj\", \"{BB4C6B43-4809-417B-ADBC-981EFF82C18E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.Build.0 = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SDWin32/Win32/SDWin32.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SDWin32\"\n\tProjectGUID=\"{BB4C6B43-4809-417B-ADBC-981EFF82C18E}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"2\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS;_USRDLL;SDWIN32_EXPORTS\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"Psapi.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SDWin32.dll\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tModuleDefinitionFile=\"./SDWin32.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"$(OutDir)/SDWin32.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"2\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS;_USRDLL;SDWIN32_EXPORTS\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"Psapi.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SDWin32.dll\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tModuleDefinitionFile=\"./SDWin32.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"$(OutDir)/SDWin32.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDWin32.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDWin32.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDWin32.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\SDWin32.def\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SDWin32/Win32/SDWin32.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{BB4C6B43-4809-417B-ADBC-981EFF82C18E}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>DynamicLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>DynamicLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n    <LinkIncremental>true</LinkIncremental>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n    <LinkIncremental>false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;SDWIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>../../../Bin/i386/SDWin32.dll</OutputFile>\n      <ModuleDefinitionFile>./SDWin32.def</ModuleDefinitionFile>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <ProgramDatabaseFile>../../../Bin/i386/$(ProjectName)D.pdb</ProgramDatabaseFile>\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention />\n      <ImportLibrary>$(OutDir)SDWin32.lib</ImportLibrary>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;SDWIN32_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>../../../Bin/i386/SDWin32.dll</OutputFile>\n      <ModuleDefinitionFile>./SDWin32.def</ModuleDefinitionFile>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <ProgramDatabaseFile>../../../Bin/i386/$(ProjectName).pdb</ProgramDatabaseFile>\n      <SubSystem>Windows</SubSystem>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention />\n      <ImportLibrary>$(OutDir)SDWin32.lib</ImportLibrary>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\Source\\SDWin32.cpp\" />\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\Source\\Resource.h\" />\n    <ClInclude Include=\"..\\Source\\SDWin32.h\" />\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"..\\Source\\SDWin32.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"SDWin32.def\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Code\\Win32\\Code.vcxproj\">\n      <Project>{e50360c3-a8d9-4582-a0b8-0f8f88467113}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcxproj\">\n      <Project>{094fa380-e96b-4ccb-8f40-d58f53823984}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/SDWin32/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SDWin32/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SDWin32/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SPCommand/Source/MakeFile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/SPCommand/Source/SPCommand.cpp",
    "content": "#include \"StdAfx.h\"\n//#include \"SPCommand.h\"\n\nextern __declspec(dllimport) CSyserPluginUI*gpSyserPluginUI;\n\nvoid OnDebuggerOpen()\n{\n\t//Syser Loaded Notify\n\t//::DbgPrint(\"SPCommand : OnDebuggerOpen\\n\");\n}\n\nvoid OnDebuggerClose()\n{\n\t//Syser Unload Notify\n\t//::DbgPrint(\"SPCommand : OnDebuggerClose\\n\");\n}\n\nvoid OnDebuggerPlunge()\n{\n\t//Syser \n\t//::DbgPrint(\"SPCommand : OnDebuggerPlunge\\n\");\n}\n\nSYSER_PLUGIN_MODULE PluginModule=\n{\n\tWSTR(\"Syser Command Plugin Module\"),\n\tOnDebuggerOpen,\n\tOnDebuggerClose,\n\tOnDebuggerPlunge\n};\n\nvoid DriverUnload(IN PDRIVER_OBJECT DriverObject)\n{\n\tgpSyserPluginUI->RemoveCmd(L\"calc\");\n\tgpSyserPluginUI->UnregisterPluginModule(WSTR(\"SPCommand\"));\n\t::DbgPrint(\"SPCommand : DriverUnload\\n\");\n}\nint\tsyser_calc(int argc,PCWSTR argv[],PCWSTR szCommandLine,void*pUserData)\n{\n\tDWORD dwValue;\n\tif(argc>=2)\n\t{\n\t\tif(gpSyserPluginUI->CalcExp(argv[1],&dwValue))\n\t\t{\n\t\t\tgpSyserPluginUI->Outputf(L\"%s = %08x\\n\",argv[1],dwValue);\n\t\t}\n\t}\t\t\n\tgpSyserPluginUI->Outputf(L\"hello world!\\n\");\n\treturn 0;\n}\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)\n{\n\tif(gpSyserPluginUI->RegisterPluginModule(WSTR(\"SPCommand\"),&PluginModule)==false)\n\t\treturn STATUS_UNSUCCESSFUL;\n\tDriverObject->DriverUnload=DriverUnload;\n\tgpSyserPluginUI->InsertCmd(L\"calc\",syser_calc,NULL,L\"calc expression value.\",L\"calc [parameter]\");\n\t::DbgPrint(\"SPCommand : DriverEntry\\n\");\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS DllInitialize( IN PUNICODE_STRING pus )\n{\n\t::DbgPrint(\"SPCommand : DllInitialize\\n\");\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS DllUnload( )\n{\n\t::DbgPrint(\"SPCommand : DllUnload\\n\");\n\treturn STATUS_SUCCESS;\n}\n"
  },
  {
    "path": "Project/SPCommand/Source/SPCommand.def",
    "content": "NAME SPCommand.sys\nEXPORTS\n    DllInitialize PRIVATE\n    DllUnload     PRIVATE\n\tOnDebuggerOpen\n\tOnDebuggerClose\n\tOnDebuggerPlunge\n"
  },
  {
    "path": "Project/SPCommand/Source/SPCommand.h",
    "content": "#ifndef _SPCOMMAND_H_\n#define _SPCOMMAND_H_\n\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath);\n\n#endif\n"
  },
  {
    "path": "Project/SPCommand/Source/SPCommand.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SPCommand.rc2\"\"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"SPCommand.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SPCommand/Source/SPCommand.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include <winver.h>\n#include \"SyserVersion.h\"\n\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser debugger plugin\"\n#define VER_INTERNALNAME_STR        \"SPCommand.sys\"\n#define VER_ORIGINALFILENAME_STR    \"SPCommand.sys\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n"
  },
  {
    "path": "Project/SPCommand/Source/Sources",
    "content": "TARGETNAME=SPCommand\nTARGETPATH=..\\Bin\\Plugin\nTARGETTYPE=DRIVER\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV \nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nTARGETLIBS=\tSyser.lib\n\nSOURCES\t=\tSPCommand.cpp\\\n\t\tSPCommand.rc\n"
  },
  {
    "path": "Project/SPCommand/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/SPCommand/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#ifdef __cplusplus\nextern \"C\"{\n#endif\n#include <NTDDK.h>\n\tNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath);\n#ifdef __cplusplus\n}\n#endif\n#include \"define.h\"\n#include \"SyserDebugger.h\"\n\n#endif//_STDAFX_H_\n"
  },
  {
    "path": "Project/SPCommand/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SPCommand.rc\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        101\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SPCommand/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SPCommand/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SPCommand/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SPCommand/readme.txt",
    "content": "compile environment\n\nWINDOWS DDK (required) \nversion:\n    windows xp ddk \n    windows xpsp1 ddk\n    windows ifsddk2003sp1\n\nMicrosoft Visual C++ (optional)\n\nexample:\n\nif you user Microsoft vistual c++ IDE need set environment variable \nWXPBASE= \"your windows ddk install path\"\nexample: windows xpsp1 ddk default install path\n\nWXPBASE=c:\\winddk\\2600.1106\n\n\nHow to install syser debugger plug-in module\n\ncopy plug-in module to c:\\windows\\system32\\drivers\\plugin\\i386 directory.\n\n\n"
  },
  {
    "path": "Project/SPCommand/vc2002/SyserPluginDemo.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 7.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserPluginDemo\", \"SyserPluginDemo.vcproj\", \"{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tConfigName.0 = Debug\n\t\tConfigName.1 = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectDependencies) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}.Debug.ActiveCfg = Debug|Win32\n\t\t{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}.Debug.Build.0 = Debug|Win32\n\t\t{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}.Release.ActiveCfg = Release|Win32\n\t\t{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SPCommand/vc2002/SyserPluginDemo.vcproj",
    "content": "<?xml version=\"1.0\" encoding = \"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"7.00\"\n\tName=\"SyserPluginDemo\"\n\tProjectGUID=\"{1DD36439-F24B-49AB-93F2-4F03FAAFFE1E}\"\n\tKeyword=\"MakeFileProj\">\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"/>\n\t</Platforms>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"/>\n\t\t</Configuration>\n\t</Configurations>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm\">\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc\">\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe\">\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SPCommand/vc2002/clean.cmd",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SPCommand/vc2002/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h ..\\Source\nif exist ..\\..\\..\\bin\\i386\\syser.lib copy /y ..\\..\\..\\bin\\i386\\syser.lib ..\\Source\nif exist ..\\..\\Code\\Source\\define.h copy /y ..\\..\\Code\\Source\\define.h ..\\Source\n\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\nif exist ..\\..\\..\\Bin\\i386\\Plugin\\i386\\SPCommand.sys copy /y ..\\bin\\plugin\\i386\\SPCommand.sys ..\\..\\..\\bin\\i386\\plugin\\i386\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SPCommand/vc2003/SPCommand.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SPCommand\", \"SPCommand.vcproj\", \"{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}.Debug.ActiveCfg = Debug|Win32\n\t\t{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}.Debug.Build.0 = Debug|Win32\n\t\t{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}.Release.ActiveCfg = Release|Win32\n\t\t{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SPCommand/vc2003/SPCommand.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"7.10\"\n\tName=\"SPCommand\"\n\tProjectGUID=\"{75DF46DE-CD34-4E1A-91D2-1537FF9FE41C}\"\n\tKeyword=\"MakeFileProj\">\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"/>\n\t</Platforms>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\">\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.cpp\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\">\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.h\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\">\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\">\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.rc\">\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"\">\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\clean.cmd\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\ddkbuild.cmd\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MakeFile\">\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\">\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SPCommand/vc2003/clean.cmd",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SPCommand/vc2003/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h ..\\Source\nif exist ..\\..\\..\\bin\\i386\\syser.lib copy /y ..\\..\\..\\bin\\i386\\syser.lib ..\\Source\nif exist ..\\..\\Code\\Source\\define.h copy /y ..\\..\\Code\\Source\\define.h ..\\Source\n\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\nif exist ..\\..\\..\\Bin\\i386\\Plugin\\i386\\SPCommand.sys copy /y ..\\bin\\plugin\\i386\\SPCommand.sys ..\\..\\..\\bin\\i386\\plugin\\i386\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SPCommand/vc2005/SyserPluginDemo.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 9.00\n# Visual Studio 2005\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserPluginDemo\", \"SyserPluginDemo.vcproj\", \"{1AB96044-2488-4EE5-A710-7D5BA4C71422}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SPCommand/vc2005/SyserPluginDemo.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"8.00\"\n\tName=\"SyserPluginDemo\"\n\tProjectGUID=\"{1AB96044-2488-4EE5-A710-7D5BA4C71422}\"\n\tKeyword=\"MakeFileProj\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\WinXPDrv32Clean.bat\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserBuildNumber.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDebugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserVersion.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ddkbuild.cmd\"\n\t\t\t>\n\t\t</File>\n\t\t<File\n\t\t\tRelativePath=\".\\readme.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SPCommand/vc2005/clean.cmd",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SPCommand/vc2005/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h ..\\Source\nif exist ..\\..\\..\\bin\\i386\\syser.lib copy /y ..\\..\\..\\bin\\i386\\syser.lib ..\\Source\nif exist ..\\..\\Code\\Source\\define.h copy /y ..\\..\\Code\\Source\\define.h ..\\Source\n\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\nif exist ..\\..\\..\\Bin\\i386\\Plugin\\i386\\SPCommand.sys copy /y ..\\bin\\plugin\\i386\\SPCommand.sys ..\\..\\..\\bin\\i386\\plugin\\i386\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SPCommand/vc2008/SyserPluginDemo.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserPluginDemo\", \"SyserPluginDemo.vcproj\", \"{1AB96044-2488-4EE5-A710-7D5BA4C71422}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{1AB96044-2488-4EE5-A710-7D5BA4C71422}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SPCommand/vc2008/SyserPluginDemo.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SyserPluginDemo\"\n\tProjectGUID=\"{1AB96044-2488-4EE5-A710-7D5BA4C71422}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"clean.cmd $(ProjectName)\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\WinXPDrv32Clean.bat\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserBuildNumber.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDebugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserVersion.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SPCommand.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ddkbuild.cmd\"\n\t\t\t>\n\t\t</File>\n\t\t<File\n\t\t\tRelativePath=\".\\readme.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SPCommand/vc2008/clean.cmd",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SPCommand/vc2008/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h ..\\Source\nif exist ..\\..\\..\\bin\\i386\\syser.lib copy /y ..\\..\\..\\bin\\i386\\syser.lib ..\\Source\nif exist ..\\..\\Code\\Source\\define.h copy /y ..\\..\\Code\\Source\\define.h ..\\Source\n\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\nif exist ..\\..\\..\\Bin\\i386\\Plugin\\i386\\SPCommand.sys copy /y ..\\bin\\plugin\\i386\\SPCommand.sys ..\\..\\..\\bin\\i386\\plugin\\i386\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SPCommand/vc6/SyserPluginDemo.dsp",
    "content": "# Microsoft Developer Studio Project File - Name=\"SyserPluginDemo\" - Package Owner=<4>\n# Microsoft Developer Studio Generated Build File, Format Version 6.00\n# ** DO NOT EDIT **\n\n# TARGTYPE \"Win32 (x86) External Target\" 0x0106\n\nCFG=SyserPluginDemo - Win32 Debug\n!MESSAGE This is not a valid makefile. To build this project using NMAKE,\n!MESSAGE use the Export Makefile command and run\n!MESSAGE \n!MESSAGE NMAKE /f \"SyserPluginDemo.mak\".\n!MESSAGE \n!MESSAGE You can specify a configuration when running NMAKE\n!MESSAGE by defining the macro CFG on the command line. For example:\n!MESSAGE \n!MESSAGE NMAKE /f \"SyserPluginDemo.mak\" CFG=\"SyserPluginDemo - Win32 Debug\"\n!MESSAGE \n!MESSAGE Possible choices for configuration are:\n!MESSAGE \n!MESSAGE \"SyserPluginDemo - Win32 Release\" (based on \"Win32 (x86) External Target\")\n!MESSAGE \"SyserPluginDemo - Win32 Debug\" (based on \"Win32 (x86) External Target\")\n!MESSAGE \n\n# Begin Project\n# PROP AllowPerConfigDependencies 0\n# PROP Scc_ProjName \"\"\n# PROP Scc_LocalPath \"\"\n\n!IF  \"$(CFG)\" == \"SyserPluginDemo - Win32 Release\"\n\n# PROP BASE Use_MFC\n# PROP BASE Use_Debug_Libraries 0\n# PROP BASE Output_Dir \"Release\"\n# PROP BASE Intermediate_Dir \"Release\"\n# PROP BASE Cmd_Line \"NMAKE /f SyserPluginDemo.mak\"\n# PROP BASE Rebuild_Opt \"/a\"\n# PROP BASE Target_File \"SyserPluginDemo.exe\"\n# PROP BASE Bsc_Name \"SyserPluginDemo.bsc\"\n# PROP BASE Target_Dir \"\"\n# PROP Use_MFC\n# PROP Use_Debug_Libraries 0\n# PROP Output_Dir \"Release\"\n# PROP Intermediate_Dir \"Release\"\n# PROP Cmd_Line \"ddkbuild.cmd -WXP free ..\\source\"\n# PROP Rebuild_Opt \"/a\"\n# PROP Target_File \"SyserPluginDemo.exe\"\n# PROP Bsc_Name \"\"\n# PROP Target_Dir \"\"\n\n!ELSEIF  \"$(CFG)\" == \"SyserPluginDemo - Win32 Debug\"\n\n# PROP BASE Use_MFC\n# PROP BASE Use_Debug_Libraries 1\n# PROP BASE Output_Dir \"Debug\"\n# PROP BASE Intermediate_Dir \"Debug\"\n# PROP BASE Cmd_Line \"NMAKE /f SyserPluginDemo.mak\"\n# PROP BASE Rebuild_Opt \"/a\"\n# PROP BASE Target_File \"SyserPluginDemo.exe\"\n# PROP BASE Bsc_Name \"SyserPluginDemo.bsc\"\n# PROP BASE Target_Dir \"\"\n# PROP Use_MFC\n# PROP Use_Debug_Libraries 1\n# PROP Output_Dir \"Debug\"\n# PROP Intermediate_Dir \"Debug\"\n# PROP Cmd_Line \"ddkbuild.cmd -WXP chk ..\\source\"\n# PROP Rebuild_Opt \"/a\"\n# PROP Target_File \"SyserPluginDemo.exe\"\n# PROP Bsc_Name \"\"\n# PROP Target_Dir \"\"\n\n!ENDIF \n\n# Begin Target\n\n# Name \"SyserPluginDemo - Win32 Release\"\n# Name \"SyserPluginDemo - Win32 Debug\"\n\n!IF  \"$(CFG)\" == \"SyserPluginDemo - Win32 Release\"\n\n!ELSEIF  \"$(CFG)\" == \"SyserPluginDemo - Win32 Debug\"\n\n!ENDIF \n\n# Begin Group \"Source Files\"\n\n# PROP Default_Filter \"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat\"\n# End Group\n# Begin Group \"Header Files\"\n\n# PROP Default_Filter \"h;hpp;hxx;hm;inl\"\n# End Group\n# Begin Group \"Resource Files\"\n\n# PROP Default_Filter \"ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe\"\n# End Group\n# End Target\n# End Project\n"
  },
  {
    "path": "Project/SPCommand/vc6/SyserPluginDemo.dsw",
    "content": "Microsoft Developer Studio Workspace File, Format Version 6.00\n# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\n\n###############################################################################\n\nProject: \"SyserPluginDemo\"=.\\SyserPluginDemo.dsp - Package Owner=<4>\n\nPackage=<5>\n{{{\n}}}\n\nPackage=<4>\n{{{\n}}}\n\n###############################################################################\n\nGlobal:\n\nPackage=<5>\n{{{\n}}}\n\nPackage=<3>\n{{{\n}}}\n\n###############################################################################\n\n"
  },
  {
    "path": "Project/SPCommand/vc6/clean.cmd",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SPCommand/vc6/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h ..\\Source\nif exist ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h copy /y ..\\..\\..\\Addition\\SyserDebugger\\SyserBuildNumber.h ..\\Source\nif exist ..\\..\\..\\bin\\i386\\syser.lib copy /y ..\\..\\..\\bin\\i386\\syser.lib ..\\Source\nif exist ..\\..\\Code\\Source\\define.h copy /y ..\\..\\Code\\Source\\define.h ..\\Source\n\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\nif exist ..\\..\\..\\Bin\\i386\\Plugin\\i386\\SPCommand.sys copy /y ..\\bin\\plugin\\i386\\SPCommand.sys ..\\..\\..\\bin\\i386\\plugin\\i386\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SdsCMD/Source/Resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SdsCMD.rc\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        101\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SdsCMD/Source/SdsCMD.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SdsCMD.h\"\n#include \"../../SyserApp/Source/AnalyseCom.h\"\n#include \"../../SyserApp/Source/NoPDBSymbol.h\"\nCSdsCMD::CSdsCMD()\n{\n\n}\n\nCSdsCMD::~CSdsCMD()\n{\n\n}\n\nbool CSdsCMD::TranslateSymbolFile(IN PCSTR FileName,OUT PSTR SymbolFileName)\n{\n\tbool bRet=false;\n\tSymbolFileName[0]=0;\n\tbRet = m_SourceDebug.TranslateSymbolFile((char*)FileName,(char*)SymbolFileName);\n\tif(bRet)\n\t{\n\t\tm_SourceDebug.PackedSourceFile(SymbolFileName,NULL);\n\t}\t\n\telse\n\t{\n\t\tCNoPDBSymbol NoPDBSymbol;\n\t\tif(NoPDBSymbol.Init())\n\t\t\tbRet = NoPDBSymbol.TranslateSymbolFile((char*)FileName,(char*)SymbolFileName);\n\t}\n\treturn bRet;\n}\ntypedef TList<char*> FILENAMELIST;\nint main(int argc,char* argv[])\n{\n\tchar SymbolFileName[512];\n\tchar* Options[]={\"-p\",\"/p\",\"-e\",\"/e\",\"-a\",\"/a\",\"-h\",\"/h\",\"-i\",\"/i\"};\n\tbool pOption=false,eOption=false,aOption=false,hOption=false,iOption=false;\n\tchar* ModuleName;\n\tCNoPDBSymbol NoPDBSymbol;\n\tCSdsCMD SdsObject;\n\tFILENAMELIST FileList;\n\tFILENAMELIST::IT BeginIT,EndIT;\n\tint i,NameCount=0;\n\tif(argc==1)\n\t{\nlocal_help:\n\t\tModuleName = TStrRChr(argv[0],'\\\\');\n\t\tif(ModuleName==NULL)\n\t\t\tModuleName=argv[0];\n\t\telse \n\t\t\tModuleName++;\n\t\tcout <<\"SyserSoft SDS symbol translator version 1.0.0\\n\";\n\t\tcout <<\"(C) SyserSoft Corporation, 2002-2005\\n\\n\";\n\t\tcout <<ModuleName<<\" \"<<\"[options] \"<<\"PE_file_name \\n\"<<endl;\n\t\tcout <<\"options:\"<<endl;\n\t\tcout <<\"\\t\"<<\"-p\tPackage Source with symbol file.\\n\";\n\t\tcout <<\"\\t\"<<\"-e\tOnly export symbol.\\n\";\n\t\tcout <<\"\\t\"<<\"-i\tOnly import symbol.\\n\";\n\t\tcout <<\"\\t\"<<\"-a\tAnalyzer full pdb symbol information.\\n\";\n\t\tcout <<\"\\t\"<<\"-h\tThis help.\\n\";\n\t\tcout <<endl;\n\t\treturn 1;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\t\tif(TStrICmp(\"/p\",argv[i])==0)\n\t\t\t\tpOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"-p\",argv[i])==0)\n\t\t\t\tpOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"-e\",argv[i])==0)\n\t\t\t\teOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"/e\",argv[i])==0)\n\t\t\t\teOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"-i\",argv[i])==0)\n\t\t\t\tiOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"/i\",argv[i])==0)\n\t\t\t\tiOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"-a\",argv[i])==0)\n\t\t\t\taOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"/a\",argv[i])==0)\n\t\t\t\taOption=true,argv[i]=NULL;\n\t\t\telse if(TStrICmp(\"-h\",argv[i])==0)\n\t\t\t\tgoto local_help;\n\t\t\telse if(TStrICmp(\"/h\",argv[i])==0)\n\t\t\t\tgoto local_help;\n\t\t\telse \n\t\t\t{\n\t\t\t\tFileList.Append(argv[i]);\n\t\t\t}\n\t}\n\tif(FileList.Count()==0)\n\t\tgoto local_help;\n\tBeginIT = FileList.Begin();\n\tif(iOption || eOption)\n\t{\n\t\tfor(;BeginIT!=FileList.End();BeginIT++)\n\t\t{\n\t\t\tNoPDBSymbol.SetImportSymbols(iOption);\n\t\t\tNoPDBSymbol.SetExportSymbols(eOption);\n\t\t\tif(NoPDBSymbol.Init())\n\t\t\t\tNoPDBSymbol.TranslateSymbolFile(*BeginIT,SymbolFileName);\n\t\t}\n\t}\n\telse\n\t{\n\t\tfor(;BeginIT!=FileList.End();BeginIT++)\n\t\t{\n\t\t\tSdsObject.TranslateSymbolFile(*BeginIT,SymbolFileName);\n\t\t}\n\t}\n\t\n\n\treturn 0;\n}"
  },
  {
    "path": "Project/SdsCMD/Source/SdsCMD.h",
    "content": "#ifndef _SDSCMD_H_\n#define _SDSCMD_H_\n#include \"../../SyserApp/Source/SourceDebug.h\"\nclass CSdsCMD\n{\n\tCSourceDebug m_SourceDebug;\npublic:\n\tCSdsCMD();\n\t~CSdsCMD();\n\tbool TranslateSymbolFile(IN PCSTR FileName,OUT PSTR SymbolFileName);\n};\n#endif //_SDSCMD_H_"
  },
  {
    "path": "Project/SdsCMD/Source/SdsCMD.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SdsCMD.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"SdsCMD.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SdsCMD/Source/SdsCMD.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"Syser Debugger Symbol Translator\"\n#define VER_INTERNALNAME_STR        \"SdsCMD.exe\"  \n#define VER_ORIGINALFILENAME_STR    \"SdsCMD.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n"
  },
  {
    "path": "Project/SdsCMD/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/SdsCMD/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include <iostream>\n#include <fstream>\n#include <list>\n#include <map>\n#include <vector>\n#include <algorithm>\nusing namespace std;\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include <DbgHelp.h>\n#include <tlhelp32.h>\n#include <PsApi.h>\n#include <SyserDebugger.h>\n#include \"../../SyserApp/Source/SourceDebug.h\"\n\n#endif"
  },
  {
    "path": "Project/SdsCMD/Win32/SdsCMD.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SdsCMD\", \"SdsCMD.vcproj\", \"{6FA459FD-9122-44EB-B9D6-3268DB1C6803}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Release|Win32.Build.0 = Release|Win32\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{6FA459FD-9122-44EB-B9D6-3268DB1C6803}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SdsCMD/Win32/SdsCMD.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SdsCMD\"\n\tProjectGUID=\"{6FA459FD-9122-44EB-B9D6-3268DB1C6803}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SdsCMDd.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SdsCMD.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SdsCMD.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SdsCMD.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SdsCMD.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SymRecv/Source/SymRecv.cpp",
    "content": "// SymRecv.cpp : Defines the class behaviors for the application.\n//\n\n#include \"stdafx.h\"\n#include \"SymRecv.h\"\n#include \"SymRecvDlg.h\"\n\n#ifdef _DEBUG\n#define new DEBUG_NEW\n#endif\n\n\n// CSymRecvApp\n\nBEGIN_MESSAGE_MAP(CSymRecvApp, CWinApp)\n\tON_COMMAND(ID_HELP, CWinApp::OnHelp)\nEND_MESSAGE_MAP()\n\n\n// CSymRecvApp construction\n\nCSymRecvApp::CSymRecvApp()\n{\n\t// TODO: add construction code here,\n\t// Place all significant initialization in InitInstance\n}\n\n\n// The one and only CSymRecvApp object\n\nCSymRecvApp theApp;\n\n\n// CSymRecvApp initialization\n\nBOOL CSymRecvApp::InitInstance()\n{\n\t// InitCommonControls() is required on Windows XP if an application\n\t// manifest specifies use of ComCtl32.dll version 6 or later to enable\n\t// visual styles.  Otherwise, any window creation will fail.\n\tInitCommonControls();\n\n\tCWinApp::InitInstance();\n\n\tAfxEnableControlContainer();\n\t\n\tCHAR szPath[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tGetModulePath(szPath);\n\n\tm_strSymSite = DEFAULT_SYM_SITE;\n\n\tTStrCpy(szFileName,szPath);\n\tTStrCat(szFileName,DEFAULT_PDB_PATH);\n\tm_strPDBPath = szFileName;\n\n\tTStrCpy(szFileName,szPath);\n\tTStrCat(szFileName,DEFAULT_SDS_PATH);\n\tm_strSDSPath = szFileName;\n\n\tCSymRecvDlg dlg;\n\tm_pMainWnd = &dlg;\n\tINT_PTR nResponse = dlg.DoModal();\n\tif (nResponse == IDOK)\n\t{\n\t\t// TODO: Place code here to handle when the dialog is\n\t\t//  dismissed with OK\n\t}\n\telse if (nResponse == IDCANCEL)\n\t{\n\t\t// TODO: Place code here to handle when the dialog is\n\t\t//  dismissed with Cancel\n\t}\n\n\t// Since the dialog has been closed, return FALSE so that we exit the\n\t//  application, rather than start the application's message pump.\n\treturn FALSE;\n}\n"
  },
  {
    "path": "Project/SymRecv/Source/SymRecv.h",
    "content": "// SymRecv.h : main header file for the PROJECT_NAME application\n//\n\n#pragma once\n\n#ifndef __AFXWIN_H__\n\t#error include 'stdafx.h' before including this file for PCH\n#endif\n\n#include \"resource.h\"\t\t// main symbols\n\n#define DEFAULT_SYM_SITE\t\"http://msdl.microsoft.com/download/symbols\"\n#define DEFAULT_PDB_PATH\t\"Download Symbols\"\n#define DEFAULT_SDS_PATH\t\"Download Converted SDS\"\n\n// CSymRecvApp:\n// See SymRecv.cpp for the implementation of this class\n//\n\nclass CSymRecvApp : public CWinApp\n{\npublic:\n\tCSymRecvApp();\n\n// Overrides\n\tpublic:\n\tvirtual BOOL InitInstance();\n\n// Implementation\n\tCString m_strSymSite;\n\tCString m_strPDBPath;\n\tCString m_strSDSPath;\n\tDECLARE_MESSAGE_MAP()\n};\n\nextern CSymRecvApp theApp;"
  },
  {
    "path": "Project/SymRecv/Source/SymRecv.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#define _AFX_NO_SPLITTER_RESOURCES\\r\\n\"\n    \"#define _AFX_NO_OLE_RESOURCES\\r\\n\"\n    \"#define _AFX_NO_TRACKER_RESOURCES\\r\\n\"\n    \"#define _AFX_NO_PROPERTY_RESOURCES\\r\\n\"\n    \"\\r\\n\"\n    \"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\\r\\n\"\n    \"LANGUAGE 9, 1\\r\\n\"\n    \"#pragma code_page(1252)\\r\\n\"\n    \"#include \"\"res\\\\SymRecv.rc2\"\"  // non-Microsoft Visual C++ edited resources\\r\\n\"\n    \"#include \"\"afxres.rc\"\"         // Standard components\\r\\n\"\n    \"#endif\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDR_MAINFRAME           ICON                    \"res\\\\SymRecv.ico\"\nIDI_ICON_SYSER          ICON                    \"res\\\\Syser.ico\"\nIDI_ICON_SITE           ICON                    \"res\\\\site.ico\"\nIDI_ICON_PDB            ICON                    \"res\\\\pdb.ico\"\nIDI_ICON_SDS            ICON                    \"res\\\\sds.ico\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// RT_MANIFEST\n//\n\nIDR_RT_MANIFEST         RT_MANIFEST             \"res\\\\SymRecv.manifest\"\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\nIDD_SYMRECV_DIALOG DIALOGEX 0, 0, 362, 218\nSTYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | \n    WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_APPWINDOW\nCAPTION \"Syser Symbol Receiver\"\nFONT 8, \"MS Shell Dlg\", 0, 0, 0x1\nBEGIN\n    GROUPBOX        \"Module List\",IDC_STATIC,6,3,349,120\n    LTEXT           \"Symbol Site\",IDC_STATIC,43,142,45,8\n    LTEXT           \"Download PDB Path\",IDC_STATIC,43,166,64,8\n    LTEXT           \"Converted SDS Path\",IDC_STATIC,43,192,66,8\n    EDITTEXT        IDC_EDIT_SYM_SITE,116,140,160,14,ES_AUTOHSCROLL\n    EDITTEXT        IDC_EDIT_PDB_PATH,116,165,160,14,ES_AUTOHSCROLL\n    EDITTEXT        IDC_EDIT_SDS_PATH,116,190,160,14,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Add\",IDC_BUTTON_ADD,297,44,50,14\n    PUSHBUTTON      \"Remove\",IDC_BUTTON_REMOVE,297,64,50,14\n    PUSHBUTTON      \"Get Symbols\",IDC_BUTTON_GET_SYM,297,84,50,14\n    PUSHBUTTON      \"Stop\",IDC_BUTTON_STOP,297,102,50,14\n    PUSHBUTTON      \"Reset\",IDC_BUTTON_RESET,285,140,61,14\n    PUSHBUTTON      \"Change\",IDC_BUTTON_BROWSE_PDB,285,165,36,14\n    PUSHBUTTON      \"Change\",IDC_BUTTON_BROWSE_SDS,285,190,36,14\n    GROUPBOX        \"Download Setting\",IDC_STATIC,6,125,349,87\n    ICON            IDI_ICON_SYSER,IDC_STATIC,310,19,21,20\n    PUSHBUTTON      \"Open\",IDC_BUTTON_PDB_OPEN,323,165,23,14\n    PUSHBUTTON      \"Open\",IDC_BUTTON_SDS_OPEN,323,190,23,14\n    CONTROL         \"\",IDC_LIST_MODULE,\"SysListView32\",LVS_REPORT | \n                    LVS_SINGLESEL | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,\n                    12,15,277,102\n    ICON            IDI_ICON_SITE,IDC_STATIC,13,136,20,20\n    ICON            IDI_ICON_PDB,IDC_STATIC,13,161,20,20\n    ICON            IDI_ICON_SDS,IDC_STATIC,13,185,20,20\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// DESIGNINFO\n//\n\n#ifdef APSTUDIO_INVOKED\nGUIDELINES DESIGNINFO \nBEGIN\n    IDD_SYMRECV_DIALOG, DIALOG\n    BEGIN\n        LEFTMARGIN, 7\n        RIGHTMARGIN, 355\n        TOPMARGIN, 7\n        BOTTOMMARGIN, 211\n    END\nEND\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#define _AFX_NO_SPLITTER_RESOURCES\n#define _AFX_NO_OLE_RESOURCES\n#define _AFX_NO_TRACKER_RESOURCES\n#define _AFX_NO_PROPERTY_RESOURCES\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE 9, 1\n#pragma code_page(1252)\n#include \"res\\SymRecv.rc2\"  // non-Microsoft Visual C++ edited resources\n#include \"afxres.rc\"         // Standard components\n#endif\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SymRecv/Source/SymRecvDlg.cpp",
    "content": "// SymRecvDlg.cpp : implementation file\n//\n\n#include \"stdafx.h\"\n#include \"SymRecv.h\"\n#include \"SymRecvDlg.h\"\n#include \"../../SyserApp/Source/SourceDebug.h\"\n#include \"../../SyserApp/Source/NoPDBSymbol.h\"\n\n\n#ifdef _DEBUG\n#define new DEBUG_NEW\n#endif\n\n\n#define WM_UPDATE_DOWNLOAD_STATE\t\t\tWM_USER+0x200\n\n// CSymRecvDlg dialog\n\nbool CSymRecvDlg::InitDbgHelp()\n{\n\tm_DbgHelpModule = LoadLibrary(\"DbgHelp.dll\");\n\tif(m_DbgHelpModule==NULL)\n\t\treturn false;\n\tm_SymFindFileInPath =(fpSymFindFileInPath) GetProcAddress(m_DbgHelpModule,\"SymFindFileInPath\");\n\tm_SymSetOptions = (fpSymSetOptions)GetProcAddress(m_DbgHelpModule,\"SymSetOptions\");\n\tm_SymGetOptions = (fpSymGetOptions)GetProcAddress(m_DbgHelpModule,\"SymGetOptions\");\n\treturn true;\n}\n\nCSymRecvDlg::CSymRecvDlg(CWnd* pParent /*=NULL*/)\n\t: CDialog(CSymRecvDlg::IDD, pParent)\n\t, m_strSymSite(_T(\"\"))\n\t, m_strPDBPath(_T(\"\"))\n\t, m_strSDSPath(_T(\"\"))\n{\n\tm_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);\n\tm_SDSSavePathIndex=0;\n\tm_PDBSavePathIndex=0;\n\tm_GetSymbolThread=false;\n\tm_Stop=false;\n\n\tInitializeCriticalSection(&m_CriticalSection);\n}\n\nCSymRecvDlg::~CSymRecvDlg()\n{\n\tDeleteCriticalSection(&m_CriticalSection);\t\n}\n\nvoid CSymRecvDlg::DoDataExchange(CDataExchange* pDX)\n{\n\tCDialog::DoDataExchange(pDX);\n\tDDX_Text(pDX, IDC_EDIT_SYM_SITE, m_strSymSite);\n\tDDV_MaxChars(pDX, m_strSymSite, 260);\n\tDDX_Text(pDX, IDC_EDIT_PDB_PATH, m_strPDBPath);\n\tDDV_MaxChars(pDX, m_strPDBPath, 260);\n\tDDX_Text(pDX, IDC_EDIT_SDS_PATH, m_strSDSPath);\n\tDDV_MaxChars(pDX, m_strSDSPath, 260);\n\tDDX_Control(pDX, IDC_LIST_MODULE, m_ModuleList);\n}\n\nBEGIN_MESSAGE_MAP(CSymRecvDlg, CDialog)\n\tON_WM_PAINT()\n\tON_WM_QUERYDRAGICON()\n\t//}}AFX_MSG_MAP\n\tON_BN_CLICKED(IDC_BUTTON_ADD, OnBnClickedButtonAdd)\n\tON_BN_CLICKED(IDC_BUTTON_REMOVE, OnBnClickedButtonRemove)\n\tON_BN_CLICKED(IDC_BUTTON_GET_SYM, OnBnClickedButtonGetSym)\n\tON_BN_CLICKED(IDC_BUTTON_STOP, OnBnClickedButtonStop)\n\tON_BN_CLICKED(IDC_BUTTON_RESET, OnBnClickedButtonReset)\n\tON_BN_CLICKED(IDC_BUTTON_BROWSE_PDB, OnBnClickedButtonBrowsePdb)\n\tON_BN_CLICKED(IDC_BUTTON_BROWSE_SDS, OnBnClickedButtonBrowseSds)\n\tON_BN_CLICKED(IDC_BUTTON_PDB_OPEN, OnBnClickedButtonPdbOpen)\n\tON_BN_CLICKED(IDC_BUTTON_SDS_OPEN, OnBnClickedButtonSdsOpen)\nEND_MESSAGE_MAP()\n\n\n// CSymRecvDlg message handlers\n\nBOOL CSymRecvDlg::OnInitDialog()\n{\n\tCDialog::OnInitDialog();\n\tif(InitDbgHelp()==false)\n\t\treturn FALSE;\n\t// Set the icon for this dialog.  The framework does this automatically\n\t//  when the application's main window is not a dialog\n\tSetIcon(m_hIcon, TRUE);\t\t\t// Set big icon\n\tSetIcon(m_hIcon, FALSE);\t\t// Set small icon\n\tm_ModuleList.InsertColumn(0,\"FileName\",LVCFMT_LEFT,250);\n\tm_ModuleList.InsertColumn(1,\"Status\",LVCFMT_LEFT,100);\n\n\tm_strSymSite = theApp.m_strSymSite;\n\tm_strPDBPath = theApp.m_strPDBPath;\n\tm_strSDSPath = theApp.m_strSDSPath;\n\tUpdateData(FALSE);\n\tGetDlgItem(IDC_BUTTON_ADD)->GetFocus();\n\n\tShowWindow(SW_NORMAL);\t\n\treturn TRUE;  // return TRUE  unless you set the focus to a control\n}\n\n// If you add a minimize button to your dialog, you will need the code below\n//  to draw the icon.  For MFC applications using the document/view model,\n//  this is automatically done for you by the framework.\n\nvoid CSymRecvDlg::OnPaint() \n{\n\tif (IsIconic())\n\t{\n\t\tCPaintDC dc(this); // device context for painting\n\n\t\tSendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);\n\n\t\t// Center icon in client rectangle\n\t\tint cxIcon = GetSystemMetrics(SM_CXICON);\n\t\tint cyIcon = GetSystemMetrics(SM_CYICON);\n\t\tCRect rect;\n\t\tGetClientRect(&rect);\n\t\tint x = (rect.Width() - cxIcon + 1) / 2;\n\t\tint y = (rect.Height() - cyIcon + 1) / 2;\n\n\t\t// Draw the icon\n\t\tdc.DrawIcon(x, y, m_hIcon);\n\t}\n\telse\n\t{\n\t\tCDialog::OnPaint();\n\t}\n}\n\n// The system calls this function to obtain the cursor to display while the user drags\n//  the minimized window.\nHCURSOR CSymRecvDlg::OnQueryDragIcon()\n{\n\treturn static_cast<HCURSOR>(m_hIcon);\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonAdd()\n{\n\tCHAR szFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hInstance;\n\tOpenFileName.hwndOwner = theApp.GetMainWnd()->m_hWnd;\n\tOpenFileName.lpstrFilter = \"Execute Files\\0*.exe;*.dll;*.cpl;*.sys;*.scr;*.ocx\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn;\n\n\tWORKFILELIST::IT FindIT;\n\tFindIT = m_CurrentFileList.InsertUnique(szFileName);\n\tif(FindIT!=m_CurrentFileList.End())\n\t{\n\t\t(*FindIT).FileName = FindIT.Key();\n\t\tm_ModuleList.InsertItem(0,szFileName);\n\t\tm_ModuleList.SetItemData(0,0);\n\t}\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonRemove()\n{\n\tint Index;\n\tCHAR Name[MAX_FN_LEN];\n\tWORKFILELIST::IT FindIT;\n\tIndex = m_ModuleList.GetNextItem(-1,LVNI_SELECTED);\n\tif(Index==-1)\n\t\treturn;\t\n\tm_ModuleList.GetItemText(Index,0,Name,MAX_FN_LEN);\n\tFindIT = m_CurrentFileList.Find(Name);\n\tif(FindIT!=m_CurrentFileList.End())\n\t{\n\t\tm_CurrentFileList.Remove(FindIT);\n\t}\n\tm_ModuleList.DeleteItem(Index);\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonGetSym()\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSYMFINDPATHLIST::IT SYMIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tSTPATHNAME stSymFindPathName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\n\tUpdateData(TRUE);\n\n\tEnterCriticalSection(&m_CriticalSection);\n\n\tstSymFindPathName.Name = m_strSymSite;\n\tSYMIT = m_SymFindPathList.Find(stSymFindPathName);\n\tif(SYMIT==m_SymFindPathList.End())\n\t{\n\t\tm_SymFindPathList.Append(stSymFindPathName);\n\t}\n\telse\n\t{\n\t\tstSymFindPathName=*SYMIT;\n\t}\n\n\tstPDBName.Name = m_strPDBPath;\n\tPDBIT = m_PDBSavePathList.Find(stPDBName);\n\tif(PDBIT==m_PDBSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stPDBName);\n\t}\n\telse\n\t{\n\t\tstPDBName=*PDBIT;\n\t}\n\t\n\tstSDSName.Name = m_strSDSPath;\n\tSDSIT = m_SDSSavePathList.Find(stSDSName);\n\tif(SDSIT==m_SDSSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stSDSName);\n\t}\n\telse\n\t{\n\t\tstSDSName=*SDSIT;\n\t}\n\tBeginIT=m_CurrentFileList.Begin();\n\tEndIT=m_CurrentFileList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\t\t\t(*BeginIT).FindPath=stSymFindPathName.Name;\n\t\t}\n\t}\n\tif(m_GetSymbolThread==false)\n\t{\n\t\t::CreateThread(NULL,0x100000,GetSymbolThread,this,0,&m_GetSymbolThreadID);\n\t}\n\tLeaveCriticalSection(&m_CriticalSection);\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonStop()\n{\n\tm_Stop=true;\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonReset()\n{\n\tm_strSymSite = theApp.m_strSymSite;\n\tm_strPDBPath = theApp.m_strPDBPath;\n\tm_strSDSPath = theApp.m_strSDSPath;\n\tUpdateData(FALSE);\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonBrowsePdb()\n{\n\tCHAR szDir[MAX_FN_LEN];\n\tbool Result;\n\tBROWSEINFO bi;\n\tLPITEMIDLIST pidl;\n\tLPMALLOC pMalloc;\n\tif(SHGetMalloc(&pMalloc) != NOERROR)\n\t\treturn;\n\tbi.hwndOwner=theApp.GetMainWnd()->m_hWnd;\n\tbi.pidlRoot=NULL;\n\tbi.pszDisplayName=NULL;\n\tbi.lpszTitle=\"Select Directory\";\n\tbi.ulFlags=BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;\n\tbi.lpfn=NULL;\n\tbi.lParam=0;\n\tResult = false;\n\tif((pidl=SHBrowseForFolder(&bi)) != NULL)\n\t{\n\t\tResult = SHGetPathFromIDList(pidl, szDir)!=FALSE;\n\t\tpMalloc->Free(pidl);\n\t}\n\tpMalloc->Release();\n\tif(Result)\n\t{\n\t\tm_strPDBPath = szDir;\n\t\tUpdateData(FALSE);\n\t}\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonBrowseSds()\n{\n\tCHAR szDir[MAX_FN_LEN];\n\tbool Result;\n\tBROWSEINFO bi;\n\tLPITEMIDLIST pidl;\n\tLPMALLOC pMalloc;\n\tif(SHGetMalloc(&pMalloc) != NOERROR)\n\t\treturn;\n\tbi.hwndOwner=theApp.GetMainWnd()->m_hWnd;\n\tbi.pidlRoot=NULL;\n\tbi.pszDisplayName=NULL;\n\tbi.lpszTitle=\"Select Directory\";\n\tbi.ulFlags=BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;\n\tbi.lpfn=NULL;\n\tbi.lParam=0;\n\tResult = false;\n\tif((pidl=SHBrowseForFolder(&bi)) != NULL)\n\t{\n\t\tResult = SHGetPathFromIDList(pidl, szDir)!=FALSE;\n\t\tpMalloc->Free(pidl);\n\t}\n\tpMalloc->Release();\n\tif(Result)\n\t{\n\t\tm_strSDSPath = szDir;\n\t\tUpdateData(FALSE);\n\t}\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonPdbOpen()\n{\n\tUpdateData(TRUE);\n\tgpFileIO->CreateDir(m_strPDBPath);\n\tShellExecute(NULL,\"open\",\"explorer\",m_strPDBPath,NULL,SW_NORMAL);\n}\n\nvoid CSymRecvDlg::OnBnClickedButtonSdsOpen()\n{\n\tUpdateData(TRUE);\n\tgpFileIO->CreateDir(m_strSDSPath);\n\tShellExecute(NULL,\"open\",\"explorer\",m_strSDSPath,NULL,SW_NORMAL);\n}\n\nDWORD WINAPI GetSymbolThread(LPVOID lpParameter)\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\tCGetSymbolStat CurSymbolStat;\n\n\tCSymRecvDlg* pDlg = (CSymRecvDlg*)lpParameter;\n\tpDlg->m_GetSymbolThread=true;\n\tpDlg->m_Stop=false;\n\tfor(;pDlg->m_Stop==false;)\n\t{\n\t\tEnterCriticalSection(&pDlg->m_CriticalSection);\n\t\tBeginIT=pDlg->m_CurrentFileList.Begin();\n\t\tEndIT=pDlg->m_CurrentFileList.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tif((*BeginIT).Stat>=2)\n\t\t\t\tcontinue;\n\t\t\tbreak;\n\t\t}\n\t\tif(BeginIT==EndIT)\n\t\t{\n\t\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\t\tpDlg->m_GetSymbolThread=false;\n\t\t\tbreak;\n\t\t}\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\tstPDBName.Name = pDlg->m_strPDBPath;\n\t\t\tPDBIT = pDlg->m_PDBSavePathList.Find(stPDBName);\n\t\t\tif(PDBIT==pDlg->m_PDBSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stPDBName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstPDBName=*PDBIT;\n\t\t\t}\n\t\t\tstSDSName.Name = pDlg->m_strSDSPath;\n\t\t\tSDSIT = pDlg->m_SDSSavePathList.Find(stSDSName);\n\t\t\tif(SDSIT==pDlg->m_SDSSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stSDSName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tstSDSName=*SDSIT;\n\t\t\t}\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\t\t}\n\t\t(*BeginIT).Stat=2;\n\t\tCurSymbolStat=(*BeginIT);\n\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\tWIN32_FIND_DATA FindData;\n\t\tHANDLE hFindHandle;\n\t\thFindHandle = FindFirstFile(CurSymbolStat.PDBSavePath,&FindData);\n\t\tif(hFindHandle == INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.PDBSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\thFindHandle = FindFirstFile(CurSymbolStat.SDSSavePath,&FindData);\n\t\tif(hFindHandle == INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.SDSSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\tpDlg->DownLoadSymbol(CurSymbolStat);\n\t}\n\treturn 0;\n}\n\nbool CSymRecvDlg::DownLoadSymbol(CGetSymbolStat& SymbolStat)\n{\n\tCPEFile PEFile;\n\tDWORD Index;\n\tPE_DEBUG_MISC DebugMisc;\n\tPE_DEBUG_PDB DebugPDB;\n\tPE_DEBUG_CODEVIEW DebugCodeView;\n\tPPE_DEBUG_DIRECTORY pDebugDirectory;\n\tPE_DATA_DIR DebugDataDirectory;\n\tDWORD DebugDirecotryNum=0;\n\tDWORD Signature;\n\tBOOL bRet;\n\tDWORD ErrorCode=0;\n\tDWORD SymbolFileType = 0xffffffff;\n\tDWORD ReadLen;\n\tDWORD PathLen;\n\tBYTE * Buffer=NULL;\n\tTList<char*>DeleteFileList;\n\tchar* NoPathFileName;\n\tchar FindPath[MAX_PATH+1];\n\tchar FileName[MAX_PATH+1];\n\tchar FindFileName[MAX_PATH+1];\n\tchar SymbolFileName[MAX_PATH+1];\n\n\tmemset(&DebugDataDirectory,0,sizeof(PE_DATA_DIR));\n\tif(PEFile.Open(SymbolStat.FileName)==false)\n\t\treturn false;\n\tif(PEFile.GetDataDirectory(6,&DebugDataDirectory)==false)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.VirtualAddress ==0)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.Size>0x10000||DebugDataDirectory.Size==0)\n\t\tgoto local_quit;\n\tNoPathFileName = TGetFileName((PCSTR)SymbolStat.FileName);\n\tPathLen = *(DWORD*)&NoPathFileName-*(DWORD*)&SymbolStat.FileName;\n\tBuffer=new BYTE[DebugDataDirectory.Size];\n\tmemset(Buffer,0,DebugDataDirectory.Size);\n\tReadLen = PEFile.ReadImageMemory(DebugDataDirectory.VirtualAddress+PEFile.m_PEHead.ImageBase,Buffer,DebugDataDirectory.Size);\n\tif(ReadLen!=DebugDataDirectory.Size)\n\t\tgoto local_quit;\n\tpDebugDirectory =(PPE_DEBUG_DIRECTORY) Buffer;\n\tDebugDirecotryNum = DebugDataDirectory.Size / sizeof(PE_DEBUG_DIRECTORY);\n\tfor(Index = 0; Index<DebugDirecotryNum;Index++)\n\t{\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_CODEVIEW&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&Signature,sizeof(Signature))==false)\n\t\t\t\tcontinue;\n\t\t\tif(Signature==0x53445352)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugPDB,sizeof(DebugPDB))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=3;\n\t\t\t}\n\t\t\telse if(Signature==0x3031424e)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugCodeView,sizeof(DebugCodeView))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=2;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_MISC&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugMisc,sizeof(PE_DEBUG_MISC))==false)\n\t\t\t\tcontinue;\n\t\t\tSymbolFileType=1;\n\t\t\tcontinue;\n\t\t}\n\t}\n\tSendMessage(WM_UPDATE_DOWNLOAD_STATE,3,(LPARAM)(PCSTR)SymbolStat.FileName);\n\tsprintf(FindPath,\"srv*%s*%s\",SymbolStat.PDBSavePath,SymbolStat.FindPath);\nlocal_001:\n\tswitch(SymbolFileType)\n\t{\n\tcase 1:\n\t\tTStrCpy(FileName,DebugMisc.Data);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&PEFile.m_PEHead.TimeDateStamp),PEFile.m_PEHead.SizeOfImage,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tif(bRet)\n\t\t{\n\t\t\tif(GetDebugCodeviewByDbg(FindFileName,&DebugCodeView))\n\t\t\t{\n\t\t\t\tmemset(FileName,0,sizeof(FileName));\n\t\t\t\tTStrNCpy(FileName,(PCSTR)SymbolStat.FileName,PathLen);\n\t\t\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\t\t\tif(TStrICmp(FileName,FindFileName))\n\t\t\t\t{\n\t\t\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t\t\t{\n\t\t\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tSymbolFileType=2;\n\t\t\t\tgoto local_001;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 2:\n\t\tTStrCpy(FileName,DebugCodeView.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&DebugCodeView.TimeDateStamp),DebugCodeView.Age,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tbreak;\n\tcase 3:\n\t\tTStrCpy(FileName,DebugPDB.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,&DebugPDB.Guid,DebugPDB.Age,0,SSRVOPT_GUIDPTR,FindFileName,NULL,0);\n\t\tbreak;\n\tdefault:\n\t\tbRet=false;\n\t\tbreak;\n\t}\n\tif(bRet==false)\n\t{\n\t\tSendMessage(WM_UPDATE_DOWNLOAD_STATE,2,(LPARAM)(PCSTR)SymbolStat.FileName);\n\t}\n\telse\n\t{\n\t\tmemset(FileName,0,sizeof(FileName));\n\t\tTStrNCpy(FileName,(PCSTR)SymbolStat.FileName,PathLen);\n\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\tif(TStrICmp(FileName,FindFileName))\n\t\t{\n\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t{\n\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t}\n\t\t}\n\t\tSendMessage(WM_UPDATE_DOWNLOAD_STATE,4,(LPARAM)(PCSTR)SymbolStat.FileName);\n\t\tif(TranslateSymbolFile(SymbolFileType,SymbolStat.FileName,SymbolFileName))\n\t\t{\n\t\t\tmemset(FileName,0,sizeof(FileName));\n\t\t\tTStrCpy(FileName,(PCSTR)SymbolStat.SDSSavePath);\n\t\t\tif(FileName[TStrLen(FileName)-1]!=PATH_SEPARATOR_CHAR)\n\t\t\t\tTStrCat(FileName,\"\\\\\");\n\t\t\tTStrCat(FileName,TGetFileName(SymbolFileName));\n\t\t\tif(TStrICmp(SymbolFileName,FileName))\n\t\t\t{\n\t\t\t\tDeleteFile(FileName);\n\t\t\t\tMoveFile(SymbolFileName,FileName);\n\t\t\t}\n\t\t}\n\t\tTList<char*>::IT BeginIT,EndIT;\n\t\tBeginIT=DeleteFileList.Begin();\n\t\tEndIT=DeleteFileList.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tBOOL bretf=false;\n\t\t\tbretf = ::DeleteFile(*BeginIT);\n\t\t\tif(bretf==false)\n\t\t\t\t::MessageBox(NULL,*BeginIT,\"Delete File Error!\",MB_OK);\n\t\t\tdelete *BeginIT;\n\t\t}\n\t\tDeleteFileList.Clear();\n\t\tSendMessage(WM_UPDATE_DOWNLOAD_STATE,1,(LPARAM)(PCSTR)SymbolStat.FileName);\n\t}\nlocal_quit:\n\tif(Buffer)\n\t\tdelete []Buffer;\n\tPEFile.Close();\n\treturn true;\n}\n\nbool CSymRecvDlg::TranslateSymbolFile(IN int Type,IN PCSTR pExeFileName,OUT char* pSymbolFileName)\n{\n\tif(Type!=1)\n\t{\n\t\tCSourceDebug PDBExplorer;\n\t\treturn PDBExplorer.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n\t}\n\tCNoPDBSymbol NoPDBSymbol;\n\tNoPDBSymbol.Init();\n\treturn NoPDBSymbol.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n}\n\nbool CSymRecvDlg::GetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView)\n{\n\tDWORD Signature=('0'<<24)+('1'<<16)+('B'<<8)+'N';\n\tDWORD i;\n\tbool bRet=false;\n\tCImageFile ImageFile;\n\tBYTE *Buf=NULL;\n\n\tif(ImageFile.Open(DbgFileName)==false)\n\t\treturn false;\n\tif(ImageFile.m_FileSize<=0x100000*10&&ImageFile.m_FileSize>100)\n\t{\n\t\tBuf = new BYTE[ImageFile.m_FileSize];\n\t\tif(ImageFile.ReadFile(0,Buf,ImageFile.m_FileSize)==false)\n\t\t{\n\t\t\tgoto local_quit;\n\t\t}\n\t\tfor(i = 0;i < ImageFile.m_FileSize-3;i++)\n\t\t{\n\t\t\tif(*(DWORD*)&Buf[i]==Signature)\n\t\t\t{\n\t\t\t\tbRet=true;\n\t\t\t\t*DebugCodeView =*(PPE_DEBUG_CODEVIEW)&Buf[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\t\nlocal_quit:\n\tif(Buf)\n\t\tdelete []Buf;\n\tImageFile.Close();\n\treturn bRet;\n}\n\nbool CSymRecvDlg::OnUpdateDownLoadState(WPARAM wParam,LPARAM lParam)\n{\n\tint ItemCount,Index;\n\tCHAR szFileName[MAX_FN_LEN];\n\tItemCount = m_ModuleList.GetItemCount();\n\tfor(Index=0;Index<ItemCount;Index++)\n\t{\n\t\tm_ModuleList.GetItemText(Index,0,szFileName,MAX_FN_LEN);\n\t\tif(TStrCmp(szFileName,(PCSTR)lParam)==0)\n\t\t\tbreak;\n\t}\n\tif(Index>=ItemCount)\n\t\treturn false;\n\tswitch(wParam)\n\t{\n\tcase 1:\n\t\tm_ModuleList.SetItemText(Index,1,\"Success\");\n\t\tbreak;\n\tcase 2:\n\t\tm_ModuleList.SetItemText(Index,1,\"Fail !!!\");\n\t\tbreak;\n\tcase 3:\n\t\tm_ModuleList.SetItemText(Index,1,\"Downloading.\");\n\t\tbreak;\n\tcase 4:\n\t\tm_ModuleList.SetItemText(Index,1,\"Analyzing Symbol file...\");\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\treturn true;\n}\n\n\nBOOL CSymRecvDlg::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)\n{\n\tif(message == WM_UPDATE_DOWNLOAD_STATE)\n\t{\n\t\tOnUpdateDownLoadState(wParam,lParam);\n\t\treturn true;\n\t}\n\treturn CDialog::OnWndMsg(message, wParam, lParam, pResult);\n}\n"
  },
  {
    "path": "Project/SymRecv/Source/SymRecvDlg.h",
    "content": "// SymRecvDlg.h : header file\n//\n\n#pragma once\n\n#include \"afxcmn.h\"\n\n\ntypedef struct _STPATHNAME\n{\n\tPCSTR Name;\n\tbool operator ==(const struct _STPATHNAME dest)const\n\t{\n\t\treturn TStrCmp(Name,dest.Name)==0;\n\t}\n}STPATHNAME,*PSTPATHNAME;\n\n\nclass CGetSymbolStat\n{\npublic:\t\n\tDWORD Stat;\n\tCString SDSSavePath;\n\tCString PDBSavePath;\n\tCString FindPath;\n\tCString FileName;\n\tCGetSymbolStat()\n\t{\n\t\tStat=0;\n\t}\n};\n\ntypedef TMap<CStrA,CGetSymbolStat> WORKFILELIST;\ntypedef TList<STPATHNAME> SDSSAVEPATHLIST;\ntypedef TList<STPATHNAME> PDBSAVEPATHLIST;\ntypedef TList<STPATHNAME> SYMFINDPATHLIST;\n#define IMAGEAPI_POINTER __stdcall\ntypedef BOOL \n(IMAGEAPI_POINTER* fpSymFindFileInPath)(\n\t\t\t\t\t\t\t\t\t\tHANDLE hprocess,\n\t\t\t\t\t\t\t\t\t\tPCSTR SearchPath,\n\t\t\t\t\t\t\t\t\t\tPCSTR FileName,\n\t\t\t\t\t\t\t\t\t\tPVOID id,\n\t\t\t\t\t\t\t\t\t\tDWORD two,\n\t\t\t\t\t\t\t\t\t\tDWORD three,\n\t\t\t\t\t\t\t\t\t\tDWORD flags,\n\t\t\t\t\t\t\t\t\t\tPSTR FoundFile,\n\t\t\t\t\t\t\t\t\t\tPFINDFILEINPATHCALLBACK callback,\n\t\t\t\t\t\t\t\t\t\tPVOID context\n\t\t\t\t\t\t\t\t\t\t);\ntypedef DWORD \n(IMAGEAPI_POINTER*fpSymSetOptions)(\n\t\t\t\t\t\t\t\t   DWORD SymOptions\n\t\t\t\t\t\t\t\t   );\ntypedef DWORD\n(IMAGEAPI_POINTER* fpSymGetOptions)(void);\n\n\n\n\n// CSymRecvDlg dialog\nclass CSymRecvDlg : public CDialog\n{\n// Construction\npublic:\n\tCSymRecvDlg(CWnd* pParent = NULL);\t// standard constructor\n\t~CSymRecvDlg();\n// Dialog Data\n\tenum { IDD = IDD_SYMRECV_DIALOG };\n\n\tprotected:\n\tvirtual void DoDataExchange(CDataExchange* pDX);\t// DDX/DDV support\n////////////////////////////////////////////////////////////////////////////\n\tfpSymSetOptions m_SymSetOptions;\n\tfpSymGetOptions m_SymGetOptions;\n\tfpSymFindFileInPath m_SymFindFileInPath;\n\tHMODULE m_DbgHelpModule;\n\tDWORD m_GetSymbolThreadID;\n\tfriend DWORD WINAPI GetSymbolThread(LPVOID lpParameter);\n\tCRITICAL_SECTION m_CriticalSection;\n\tbool m_Stop;\n\tbool m_GetSymbolThread;\n\tDWORD\tm_SDSSavePathIndex;\n\tDWORD\tm_PDBSavePathIndex;\n\tSDSSAVEPATHLIST m_SDSSavePathList;\n\tPDBSAVEPATHLIST m_PDBSavePathList;\n\tSYMFINDPATHLIST m_SymFindPathList;\n\tWORKFILELIST m_CurrentFileList;\n\tbool\tInitDbgHelp();\n\tbool\tDownLoadSymbol(CGetSymbolStat& SymbolStat );\n\tbool\tGetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView);\n\tbool\tTranslateSymbolFile(IN int Type,IN PCSTR pExeFileName,OUT char* pSymbolFileName);\n\tbool\tOnUpdateDownLoadState(WPARAM wParam,LPARAM lParam);\n////////////////////////////////////////////////////////////////////////////\n// Implementation\nprotected:\n\tHICON m_hIcon;\n\n\t// Generated message map functions\n\tvirtual BOOL OnInitDialog();\n\tafx_msg void OnPaint();\n\tafx_msg HCURSOR OnQueryDragIcon();\n\tDECLARE_MESSAGE_MAP()\npublic:\n\tCString m_strSymSite;\n\tCString m_strPDBPath;\n\tCString m_strSDSPath;\n\tCListCtrl m_ModuleList;\n\tafx_msg void OnBnClickedButtonAdd();\n\tafx_msg void OnBnClickedButtonRemove();\n\tafx_msg void OnBnClickedButtonGetSym();\n\tafx_msg void OnBnClickedButtonStop();\n\tafx_msg void OnBnClickedButtonReset();\n\tafx_msg void OnBnClickedButtonBrowsePdb();\n\tafx_msg void OnBnClickedButtonBrowseSds();\n\tafx_msg void OnBnClickedButtonPdbOpen();\n\tafx_msg void OnBnClickedButtonSdsOpen();\nprotected:\n\tvirtual BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult);\n};\n"
  },
  {
    "path": "Project/SymRecv/Source/res/SymRecv.manifest",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\"> \n<assemblyIdentity \n    version=\"1.0.0.0\" \n    processorArchitecture=\"X86\" \n    name=\"Microsoft.Windows.SymRecv\"\n    type=\"win32\" \n/>\n<description>Syser Symbols Download Tools</description> \n<dependency> \n    <dependentAssembly> \n        <assemblyIdentity \n            type=\"win32\" \n            name=\"Microsoft.Windows.Common-Controls\" \n            version=\"6.0.0.0\" \n            processorArchitecture=\"X86\" \n            publicKeyToken=\"6595b64144ccf1df\" \n            language=\"*\" \n        /> \n    </dependentAssembly> \n</dependency> \n<trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v3\">\n  <security>\n    <requestedPrivileges>\n        <requestedExecutionLevel level=\"requireAdministrator\" uiAccess=\"false\"/>\n    </requestedPrivileges>\n  </security>\n</trustInfo>\n</assembly>\n"
  },
  {
    "path": "Project/SymRecv/Source/res/SymRecv.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"symbol downloader\"\n#define VER_INTERNALNAME_STR        \"symrecv.exe\"\n#define VER_ORIGINALFILENAME_STR    \"symrecv.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/SymRecv/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SymRecv.rc\n//\n#define IDR_RT_MANIFEST                 1\n#define IDD_SYMRECV_DIALOG              102\n#define IDR_MAINFRAME                   128\n#define IDI_ICON_SYSER                  129\n#define IDI_ICON_SITE                   132\n#define IDI_ICON_PDB                    133\n#define IDI_ICON_SDS                    134\n#define IDC_LIST_MODULE                 1000\n#define IDC_BUTTON_ADD                  1001\n#define IDC_BUTTON_REMOVE               1002\n#define IDC_BUTTON_GET_SYM              1003\n#define IDC_BUTTON_STOP                 1004\n#define IDC_BUTTON_RESET                1005\n#define IDC_BUTTON_BROWSE_PDB           1006\n#define IDC_BUTTON_BROWSE_SDS           1007\n#define IDC_BUTTON_PDB_OPEN             1008\n#define IDC_BUTTON_SDS_OPEN             1009\n#define IDC_EDIT_SYM_SITE               1010\n#define IDC_EDIT_PDB_PATH               1011\n#define IDC_EDIT_SDS_PATH               1012\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        135\n#define _APS_NEXT_COMMAND_VALUE         32771\n#define _APS_NEXT_CONTROL_VALUE         1014\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SymRecv/Source/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// SymRecv.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n\n"
  },
  {
    "path": "Project/SymRecv/Source/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently,\n// but are changed infrequently\n\n#pragma once\n\n#ifndef VC_EXTRALEAN\n#define VC_EXTRALEAN\t\t// Exclude rarely-used stuff from Windows headers\n#endif\n\n// Modify the following defines if you have to target a platform prior to the ones specified below.\n// Refer to MSDN for the latest info on corresponding values for different platforms.\n#ifndef WINVER\t\t\t\t// Allow use of features specific to Windows 95 and Windows NT 4 or later.\n#define WINVER 0x0500\t\t// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.\n#endif\n\n#ifndef _WIN32_WINNT\t\t// Allow use of features specific to Windows NT 4 or later.\n#define _WIN32_WINNT 0x0500\t\t// Change this to the appropriate value to target Windows 98 and Windows 2000 or later.\n#endif\t\t\t\t\t\t\n\n#ifndef _WIN32_WINDOWS\t\t// Allow use of features specific to Windows 98 or later.\n#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.\n#endif\n\n#ifndef _WIN32_IE\t\t\t// Allow use of features specific to IE 4.0 or later.\n#define _WIN32_IE 0x0400\t// Change this to the appropriate value to target IE 5.0 or later.\n#endif\n\n#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS\t// some CString constructors will be explicit\n\n// turns off MFC's hiding of some common and often safely ignored warning messages\n#define _AFX_ALL_WARNINGS\n\n#include <afxwin.h>         // MFC core and standard components\n#include <afxext.h>         // MFC extensions\n#include <afxdisp.h>        // MFC Automation classes\n#include <DbgHelp.h>\n\n#include <iostream>\n#include <fstream>\n#include <list>\n#include <map>\n#include <vector>\n#include <algorithm>\nusing namespace std;\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include \"../../SyserApp/Source/SourceDebug.h\"\n\n\n#include <afxdtctl.h>\t\t// MFC support for Internet Explorer 4 Common Controls\n#ifndef _AFX_NO_AFXCMN_SUPPORT\n#include <afxcmn.h>\t\t\t// MFC support for Windows Common Controls\n#endif // _AFX_NO_AFXCMN_SUPPORT\n\n\n"
  },
  {
    "path": "Project/SymRecv/Win32/SymRecv.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SymRecv\", \"SymRecv.vcproj\", \"{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Release|Win32.Build.0 = Release|Win32\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SymRecv/Win32/SymRecv.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SymRecv\"\n\tProjectGUID=\"{B1D7AB70-E2C1-43A3-8930-6EF72BC6431E}\"\n\tKeyword=\"MFCProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tUseOfMFC=\"1\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t\tPreprocessorDefinitions=\"_DEBUG\"\n\t\t\t\tMkTypLibCompatible=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_WINDOWS;_DEBUG\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"_DEBUG\"\n\t\t\t\tCulture=\"1033\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(IntDir)\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/$(ProjectName).exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tUseOfMFC=\"1\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t\tPreprocessorDefinitions=\"NDEBUG\"\n\t\t\t\tMkTypLibCompatible=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_WINDOWS;NDEBUG\"\n\t\t\t\tMinimalRebuild=\"false\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"NDEBUG\"\n\t\t\t\tCulture=\"1033\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(IntDir)\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/$(ProjectName).exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SymRecv.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SymRecvDlg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SymRecv.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SymRecvDlg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\pdb.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\sds.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\site.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\SymRecv.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\SymRecv.manifest\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\tExcludedFromBuild=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\tExcludedFromBuild=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SymRecv.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\SymRecv.rc2\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\res\\Syser.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t\t<Global\n\t\t\tName=\"RESOURCE_FILE\"\n\t\t\tValue=\"SymRecv.rc\"\n\t\t/>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SysBoot/Source/MakeFile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/SysBoot/Source/PromptQuit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PromptQuit.h\"\n\nint PromptQuit(char* DisplayString,LONG TimeOut)\n{\n\tint LoopCount;\n\tLARGE_INTEGER  Interval;\n\tBYTE *VideoBuffer=NULL;\n\tint RetValue=0;\n\tInterval.QuadPart =TimeOut;\n\tLoopCount=0;\n\tint Len = TStrLen(DisplayString);\t\n\tVidDisplayStringXY(DisplayString,(640-Len*8)/2,408,1);\n\tfor(;LoopCount<250;LoopCount++)\n\t{\n\t\t__asm\n\t\t{\n\t\t\tpush eax\n\t\t\txor eax,eax\n\t\t\tin al,0x64\n\t\t\ttest al,1 \n\t\t\tjz local_001\n\t\t\tin al,0x60 \n\t\t\tmov RetValue,eax\nlocal_001:\n\t\t\tpop eax \n\t\t}\n\t\tif(RetValue)\n\t\t\tbreak;\n\t\tKeDelayExecutionThread(KernelMode,FALSE,&Interval);\n\t}\n\tULONG  MajorVersion;\n\tULONG  MinorVersion;\n\tULONG  BuildNumber;\n\tPsGetVersion(&MajorVersion,&MinorVersion,&BuildNumber,NULL);\n\tif(MajorVersion == 5 && MinorVersion == 0)\n\t\tVidSolidColorFill(120,408,120+420,408+13,15);\n\telse\n\t\tVidSolidColorFill(120,408,120+420,408+13,1);\n\treturn RetValue;\n}\n\nvoid DisplayTextString(char* DisplayString,int x,int y,BYTE* VideoBuffer)\n{\n\tint i;\n\tint StartOffset = y*80*2+x*2;\n\tif(StartOffset>25*80*2||DisplayString==NULL||VideoBuffer==NULL)\n\t\treturn ;\n\tfor(i=0;DisplayString[i];i++)\n\t{\n\t\tVideoBuffer[StartOffset+i*2]=DisplayString[i];\n\t\tVideoBuffer[StartOffset+i*2+1]=0x7; \n\t}\n}"
  },
  {
    "path": "Project/SysBoot/Source/PromptQuit.h",
    "content": "#ifndef _PROMPTQUIT_H_\n#define _PROMPTQUIT_H_\nvoid DisplayTextString(char* DisplayString,int x,int y,BYTE* VideoBuffer);\nint PromptQuit(char* DisplayString,LONG TimeOut=-10000);\nextern \"C\"\n{\n\t__declspec(dllimport ) void\tVidSolidColorFill(int x,int y,int x1,int y1,int TextColor);\n\t__declspec(dllimport) void VidDisplayStringXY(char* pStr,int x,int y,int TextColor);\n\t__declspec(dllimport) void VidBitBlt(unsigned char* colorbuf,int x,int y);\n}\n#endif //_PROMPTQUIT_H_"
  },
  {
    "path": "Project/SysBoot/Source/ScrOutput.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ScrOutput.h\"\n#include \"SysBoot.h\"\n\n#define MAX_TAB_ALIGN\t\t32\n\nextern BYTE Font8X16[4096];\nextern SYSER_BOOT_DEVICE_EXTENSION*gpDevExt;\nint\t\tTabAlign = 4;\nint\t\tFontWidth = 8;\nint\t\tFontHeight = 16;\nCOLORREF TextColor = RGB(255,255,0);\nCOLORREF BKColor = RGB(0,0,0);\n\ntypedef void (*FN_DRAW_PIXEL)(IN int x,IN int y,IN COLORREF color);\n\nFN_DRAW_PIXEL pfnDrawPixel=NULL;\nSYSER_FRAME_BUFFER*pSyserFB=NULL;\n\nvoid DrawPixelOther(IN int x,IN int y,IN COLORREF color)\n{\n}\nvoid DrawPixel4(IN int x,IN int y,IN COLORREF color)\n{\n\tBYTE Value,Value1;\n\tValue1 = (BYTE)color;\n\tValue = GET_BYTE(pSyserFB->Buffer,y*pSyserFB->LineDistance+x/2);\n\tif(x%2)\n\t\tValue1&=0xf;\n\telse\n\t\tValue1<<=4;\n\tValue|=Value1;\n\tPUT_BYTE(pSyserFB->Buffer,y*pSyserFB->LineDistance+x/2,Value);\n}\nvoid DrawPixel8(IN int x,IN int y,IN COLORREF color)\n{\n\tPUT_BYTE(pSyserFB->Buffer,y*pSyserFB->LineDistance+x,(BYTE)color);\n}\nvoid DrawPixel16(IN int x,IN int y,IN COLORREF color)\n{\n\tWORD WordColor;\n\tWordColor = (WORD)((color & 0xFF)>>3);\n\tWordColor|= ((color & 0xFF00)>>10)<<5;\n\tWordColor|= ((color & 0xFF0000)>>19)<<11;\n\tPUT_WORD(pSyserFB->Buffer,y*pSyserFB->LineDistance+x*2,WordColor);\n}\n\nvoid DrawPixel24(IN int x,IN int y,IN COLORREF color)\n{\n\tPUT_3BYTES(pSyserFB->Buffer,y*pSyserFB->LineDistance+x*3,color);\n}\n\nvoid DrawPixel32(IN int x,IN int y,IN COLORREF color)\n{\n\tPUT_DWORD(pSyserFB->Buffer,y*pSyserFB->LineDistance+x*4,color);\n}\n\nvoid SwitchDrawPixel(int Bpp)\n{\n\tswitch(Bpp)\n\t{\n\tcase 4:\n\t\tpfnDrawPixel = DrawPixel4;\n\t\tbreak;\n\tcase 8:\n\t\tpfnDrawPixel = DrawPixel8;\n\t\tbreak;\n\tcase 16:\n\t\tpfnDrawPixel = DrawPixel16;\n\t\tbreak;\n\tcase 24:\n\t\tpfnDrawPixel = DrawPixel24;\n\t\tbreak;\n\tcase 32:\n\t\tpfnDrawPixel = DrawPixel32;\n\t\tbreak;\n\tdefault:\n\t\tpfnDrawPixel = DrawPixelOther;\n\t\tbreak;\n\t}\n\tpSyserFB = gpDevExt->pCurFrameBuffer;\n}\n\nvoid DrawString(IN int x,IN int y,IN PCSTR pStr,IN int Length)\n{\n\tBYTE*pFont;\n\tint n,i,j,BitOffset,Index,cx,cy;\n\tchar szText[MAX_TAB_ALIGN];\n\tif(pfnDrawPixel==NULL)\n\t\treturn;\n\tcx = gpDevExt->pCurFrameBuffer->Width;\n\tcy = gpDevExt->pCurFrameBuffer->Height;\n\tIndex = 0;\n\twhile(Length && *pStr)\n\t{\n\t\tswitch(*pStr)\n\t\t{\n\t\tcase '\\n':\n\t\t\treturn;\n\t\tcase '\\t':\n\t\t\tn = TabAlign - Index%TabAlign;\n\t\t\tszText[n]=0;\n\t\t\tdo\n\t\t\t{\n\t\t\t\tn--;\n\t\t\t\tszText[n]=' ';\n\t\t\t}while(n>0);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tszText[0]=*pStr;\n\t\t\tszText[1]=0;\n\t\t\tbreak;\n\t\t}\n\t\tfor(n=0;szText[n];n++)\n\t\t{\n\t\t\tpFont=&Font8X16[szText[n]*(FontWidth*FontHeight/8)];\n\t\t\tBitOffset=0;\n\t\t\tfor(j=0;j<FontHeight;j++)\n\t\t\t{\n\t\t\t\tfor(i=0;i<FontWidth;i++)\n\t\t\t\t{\n\t\t\t\t\tif(x+i>=0 && y+j>=0 && x+i<cx && y+j<cy)\n\t\t\t\t\t{\n\t\t\t\t\t\tif((pFont[BitOffset/8]>>(BitOffset%8)) & 1)\n\t\t\t\t\t\t\tpfnDrawPixel(x+i,y+j,TextColor);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tpfnDrawPixel(x+i,y+j,BKColor);\n\t\t\t\t\t}\n\t\t\t\t\tBitOffset++;\n\t\t\t\t}\n\t\t\t}\n\t\t\tx+=FontWidth;\n\t\t\tIndex++;\n\t\t}\n\t\tpStr++;\n\t\tLength--;\n\t}\n}\nchar gszBuffer[512];\nvoid ScrPrint(int x,int y,PCSTR szMsg,...)\n{\n\tva_list Next;\n\tva_start(Next,szMsg);\n\tTVSPrintf(gszBuffer,szMsg,Next);\n\tDrawString(x,y,gszBuffer,-1);\n\tva_end(Next);\n}\n\n\nBYTE Font8X16[4096] =\n{\n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, \n\t0x00, 0x48, 0x6C, 0x24, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x7F, 0x12, 0x12, 0x12, 0x7F, 0x12, 0x12, 0x12, 0x00, 0x00, \n\t0x00, 0x00, 0x08, 0x1C, 0x2A, 0x2A, 0x0A, 0x0C, 0x18, 0x28, 0x28, 0x2A, 0x2A, 0x1C, 0x08, 0x08, \n\t0x00, 0x00, 0x00, 0x22, 0x25, 0x15, 0x15, 0x15, 0x2A, 0x58, 0x54, 0x54, 0x54, 0x22, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x0C, 0x12, 0x12, 0x12, 0x0A, 0x76, 0x25, 0x29, 0x11, 0x91, 0x6E, 0x00, 0x00, \n\t0x00, 0x06, 0x06, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x40, 0x20, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x40, 0x00, \n\t0x00, 0x02, 0x04, 0x08, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x04, 0x02, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x6B, 0x1C, 0x1C, 0x6B, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x7F, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x04, 0x03, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, \n\t0x00, 0x00, 0x80, 0x40, 0x40, 0x20, 0x20, 0x10, 0x10, 0x08, 0x08, 0x04, 0x04, 0x02, 0x02, 0x00, \n\t0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x08, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x20, 0x20, 0x10, 0x08, 0x04, 0x42, 0x7E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x20, 0x18, 0x20, 0x40, 0x40, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x20, 0x30, 0x28, 0x24, 0x24, 0x22, 0x22, 0x7E, 0x20, 0x20, 0x78, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7E, 0x02, 0x02, 0x02, 0x1A, 0x26, 0x40, 0x40, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x38, 0x24, 0x02, 0x02, 0x1A, 0x26, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7E, 0x22, 0x22, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x24, 0x18, 0x24, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x18, 0x24, 0x42, 0x42, 0x42, 0x64, 0x58, 0x40, 0x40, 0x24, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x04, \n\t0x00, 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x46, 0x40, 0x20, 0x10, 0x10, 0x00, 0x18, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x1C, 0x22, 0x5A, 0x55, 0x55, 0x55, 0x55, 0x2D, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x08, 0x08, 0x18, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x42, 0x42, 0xE7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x1F, 0x22, 0x22, 0x22, 0x1E, 0x22, 0x42, 0x42, 0x42, 0x22, 0x1F, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x01, 0x01, 0x01, 0x01, 0x01, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x1F, 0x22, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1F, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3F, 0x42, 0x12, 0x12, 0x1E, 0x12, 0x12, 0x02, 0x42, 0x42, 0x3F, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3F, 0x42, 0x12, 0x12, 0x1E, 0x12, 0x12, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x22, 0x22, 0x01, 0x01, 0x01, 0x71, 0x21, 0x22, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x42, 0x42, 0x7E, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x0F, \n\t0x00, 0x00, 0x00, 0x77, 0x22, 0x12, 0x0A, 0x0E, 0x0A, 0x12, 0x12, 0x22, 0x22, 0x77, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x42, 0x7F, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x77, 0x36, 0x36, 0x36, 0x36, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x6B, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xE3, 0x46, 0x46, 0x4A, 0x4A, 0x52, 0x52, 0x52, 0x62, 0x62, 0x47, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3F, 0x42, 0x42, 0x42, 0x42, 0x3E, 0x02, 0x02, 0x02, 0x02, 0x07, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x41, 0x41, 0x41, 0x41, 0x4D, 0x53, 0x32, 0x1C, 0x60, 0x00, \n\t0x00, 0x00, 0x00, 0x3F, 0x42, 0x42, 0x42, 0x3E, 0x12, 0x12, 0x22, 0x22, 0x42, 0xC7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7C, 0x42, 0x42, 0x02, 0x04, 0x18, 0x20, 0x40, 0x42, 0x42, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7F, 0x49, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xE7, 0x42, 0x42, 0x22, 0x24, 0x24, 0x14, 0x14, 0x18, 0x08, 0x08, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x6B, 0x49, 0x49, 0x49, 0x49, 0x55, 0x55, 0x36, 0x22, 0x22, 0x22, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x18, 0x18, 0x18, 0x24, 0x24, 0x42, 0xE7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x77, 0x22, 0x22, 0x14, 0x14, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x7E, 0x21, 0x20, 0x10, 0x10, 0x08, 0x04, 0x04, 0x42, 0x42, 0x3F, 0x00, 0x00, \n\t0x00, 0x78, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x78, 0x00, \n\t0x00, 0x00, 0x02, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x20, 0x40, 0x40, \n\t0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1E, 0x00, \n\t0x00, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, \n\t0x00, 0x06, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x78, 0x44, 0x42, 0x42, 0xFC, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x1A, 0x26, 0x42, 0x42, 0x42, 0x26, 0x1A, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x44, 0x02, 0x02, 0x02, 0x44, 0x38, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x60, 0x40, 0x40, 0x40, 0x78, 0x44, 0x42, 0x42, 0x42, 0x64, 0xD8, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x7E, 0x02, 0x02, 0x42, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0xF0, 0x88, 0x08, 0x08, 0x7E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x22, 0x22, 0x1C, 0x02, 0x3C, 0x42, 0x42, 0x3C, \n\t0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x3A, 0x46, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x38, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x1E, \n\t0x00, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x72, 0x12, 0x0A, 0x16, 0x12, 0x22, 0x77, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x0E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x92, 0x92, 0x92, 0x92, 0x92, 0xB7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x46, 0x42, 0x42, 0x42, 0x42, 0xE7, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x26, 0x42, 0x42, 0x42, 0x22, 0x1E, 0x02, 0x07, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x44, 0x42, 0x42, 0x42, 0x44, 0x78, 0x40, 0xE0, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x4C, 0x04, 0x04, 0x04, 0x04, 0x1F, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x42, 0x02, 0x3C, 0x40, 0x42, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x08, 0x08, 0x08, 0x30, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x42, 0x42, 0x42, 0x42, 0x62, 0xDC, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x14, 0x08, 0x08, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEB, 0x49, 0x49, 0x55, 0x55, 0x22, 0x22, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x24, 0x18, 0x18, 0x18, 0x24, 0x6E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE7, 0x42, 0x24, 0x24, 0x14, 0x18, 0x08, 0x08, 0x07, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x22, 0x10, 0x08, 0x08, 0x44, 0x7E, 0x00, 0x00, \n\t0x00, 0xC0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0xC0, 0x00, \n\t0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, \n\t0x00, 0x06, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x06, 0x00, \n\t0x0C, 0x32, 0xC2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, \n\t0x00, 0x00, 0x20, 0x20, 0x20, 0x18, 0x74, 0x72, 0x0A, 0x0A, 0x0A, 0x44, 0x3C, 0x02, 0x02, 0x02, \n\t0x00, 0x00, 0x00, 0x78, 0x44, 0x04, 0x04, 0x04, 0x1C, 0x04, 0x04, 0x84, 0x5F, 0x32, 0x00, 0x00, \n\t0x00, 0x02, 0xE4, 0x18, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x08, 0x18, 0xE4, 0x02, 0x00, \n\t0x00, 0x00, 0x00, 0x46, 0x24, 0x24, 0x28, 0x18, 0xFF, 0x10, 0xFF, 0x10, 0x10, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, \n\t0xE0, 0x10, 0x10, 0x20, 0x40, 0xC0, 0x20, 0x10, 0x10, 0xA0, 0x40, 0x80, 0x20, 0x10, 0x10, 0xE0, \n\t0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x7E, 0x65, 0x83, 0x83, 0x83, 0x65, 0x5A, 0x24, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x07, 0x09, 0x0F, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x44, 0x24, 0x22, 0x32, 0x24, 0x44, 0x48, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x7E, 0x55, 0xA5, 0x9D, 0x95, 0x65, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00, \n\t0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x0C, 0x12, 0x12, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xF0, 0x80, 0x80, 0x80, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x0E, 0x09, 0x08, 0x04, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x0E, 0x08, 0x04, 0x08, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x44, 0x44, 0x44, 0x44, 0xF4, 0x0A, 0x02, 0x02, 0x00, 0x00, \n\t0x00, 0x00, 0x7C, 0x2F, 0x2F, 0x2F, 0x2F, 0x2E, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x06, \n\t0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x0E, 0x19, 0x11, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x12, 0x24, 0x44, 0x4C, 0x24, 0x22, 0x11, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x42, 0x22, 0x22, 0x12, 0x12, 0x0A, 0x48, 0x64, 0x64, 0xE4, 0x02, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x22, 0x22, 0x22, 0x12, 0x12, 0x0A, 0xE8, 0x84, 0x44, 0x22, 0xE2, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x46, 0x24, 0x22, 0x14, 0x14, 0x0A, 0x48, 0x68, 0x64, 0xE4, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x08, 0x04, 0x04, 0x22, 0x22, 0x3C, 0x00, 0x00, \n\t0x08, 0x08, 0x00, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x10, 0x08, 0x04, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x18, 0x14, 0x00, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x0C, 0x30, 0x00, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x24, 0x3C, 0x00, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x18, 0x14, 0x18, 0x08, 0x18, 0x14, 0x14, 0x14, 0x24, 0x3C, 0x22, 0x22, 0x42, 0xE3, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x78, 0x18, 0x14, 0x14, 0x54, 0x72, 0x1E, 0x12, 0x12, 0x91, 0x7B, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x38, 0xC4, 0x82, 0x02, 0x02, 0x02, 0x02, 0x02, 0x86, 0x4C, 0x30, 0x10, 0x10, \n\t0x0C, 0x08, 0x08, 0x76, 0x42, 0x02, 0x22, 0x22, 0x3E, 0x22, 0x02, 0x02, 0x42, 0x7F, 0x00, 0x00, \n\t0x30, 0x10, 0x08, 0x76, 0x42, 0x02, 0x22, 0x22, 0x3E, 0x22, 0x02, 0x02, 0x42, 0x7F, 0x00, 0x00, \n\t0x18, 0x14, 0x22, 0x7E, 0x42, 0x02, 0x22, 0x22, 0x3E, 0x22, 0x02, 0x02, 0x42, 0x7F, 0x00, 0x00, \n\t0x34, 0x34, 0x00, 0x7E, 0x42, 0x02, 0x22, 0x22, 0x3E, 0x22, 0x02, 0x02, 0x42, 0x7F, 0x00, 0x00, \n\t0x0C, 0x08, 0x08, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x30, 0x10, 0x08, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x18, 0x14, 0x00, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x24, 0x34, 0x00, 0x1C, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x44, 0x44, 0x84, 0x84, 0x8C, 0x84, 0xC4, 0x44, 0x64, 0x1E, 0x00, 0x00, \n\t0x0C, 0x30, 0x00, 0x42, 0x46, 0x46, 0x4A, 0x4A, 0x52, 0x52, 0x62, 0x62, 0x42, 0x47, 0x00, 0x00, \n\t0x0C, 0x08, 0x08, 0x34, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x10, 0x08, 0x08, 0x34, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x18, 0x14, 0x22, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x0C, 0x30, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x24, 0x24, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x24, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x3C, 0x42, 0x62, 0x52, 0x52, 0xCA, 0x4A, 0x46, 0x46, 0x22, 0x1C, 0x00, 0x00, \n\t0x0C, 0x08, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x10, 0x10, 0x08, 0x46, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x18, 0x14, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x24, 0x24, 0x00, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x10, 0x10, 0x08, 0x46, 0x22, 0x24, 0x14, 0x18, 0x18, 0x08, 0x08, 0x08, 0x08, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x04, 0x04, 0x1C, 0x64, 0x84, 0x84, 0x84, 0x64, 0x1C, 0x04, 0x0E, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x38, 0x44, 0x44, 0x44, 0x34, 0x44, 0x44, 0x44, 0x44, 0x5C, 0x36, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x00, 0x1C, 0x22, 0x22, 0x22, 0x22, 0x22, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x0C, 0x14, 0x22, 0x00, 0x00, 0x3E, 0x22, 0x38, 0x26, 0x22, 0xA2, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x04, 0x3A, 0x00, 0x00, 0x00, 0x3E, 0x22, 0x38, 0x26, 0x22, 0xA2, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x14, 0x36, 0x00, 0x00, 0x00, 0x3E, 0x22, 0x38, 0x26, 0x22, 0xA2, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x1C, 0x14, 0x08, 0x00, 0x00, 0x3E, 0x22, 0x38, 0x26, 0x22, 0xA2, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x99, 0x89, 0xFC, 0x0A, 0x09, 0x99, 0x76, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x26, 0x22, 0x02, 0x02, 0x22, 0x22, 0x1C, 0x04, 0x08, 0x06, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x44, 0x38, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x20, 0x10, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x44, 0x38, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x18, 0x1C, 0x22, 0x00, 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x44, 0x38, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x34, 0x24, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x3E, 0x02, 0x44, 0x38, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x04, 0x04, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x10, 0x08, 0x08, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x08, 0x14, 0x12, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x14, 0x36, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x24, 0x18, 0x14, 0x20, 0x7C, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x0C, 0x38, 0x00, 0x00, 0x00, 0x3E, 0x42, 0x42, 0x42, 0x42, 0x42, 0x67, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x66, 0x3C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x30, 0x10, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x66, 0x18, 0x00, 0x00, \n\t0x00, 0x00, 0x18, 0x14, 0x20, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x0C, 0x38, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x24, 0x34, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x42, 0x42, 0x42, 0x22, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xF8, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x62, 0x52, 0x4A, 0x46, 0x22, 0x1D, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x64, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x20, 0x10, 0x18, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x64, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x18, 0x14, 0x22, 0x00, 0x40, 0x42, 0x42, 0x42, 0x42, 0x42, 0x62, 0x1C, 0x00, 0x00, \n\t0x00, 0x00, 0x00, 0x00, 0x24, 0x24, 0x23, 0x22, 0x22, 0x22, 0x22, 0x22, 0x64, 0x5C, 0x00, 0x00, \n\t0x00, 0x00, 0x30, 0x10, 0x08, 0x00, 0x00, 0x24, 0x24, 0x24, 0x18, 0x18, 0x08, 0x08, 0x08, 0x06, \n\t0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x7A, 0x44, 0x42, 0x42, 0x44, 0x44, 0x2A, 0x12, 0x02, 0x06, \n\t0x00, 0x00, 0x24, 0x24, 0x00, 0x00, 0x00, 0x24, 0x24, 0x24, 0x18, 0x18, 0x08, 0x08, 0x08, 0x06, \n};\n"
  },
  {
    "path": "Project/SysBoot/Source/ScrOutput.h",
    "content": "#ifndef _SCR_OUTPUT_H_\n#define _SCR_OUTPUT_H_\n\nvoid ScrPrint(int x,int y,PCSTR szMsg,...);\nvoid SwitchDrawPixel(int Bpp);\n\n#endif\n"
  },
  {
    "path": "Project/SysBoot/Source/Sources",
    "content": "TARGETNAME=SysBoot\nTARGETPATH=..\\..\\..\\Bin\nTARGETTYPE=DRIVER\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\n\nTARGETLIBS=\t..\\..\\Code\\Source\\Obj\\i386\\Code.lib \\\n\t\t\t..\\..\\..\\Addition\\BootVid\\bootvid.lib \\\n\t\t\t$(DDK_LIB_PATH)\\libcntpr.lib\n\nSOURCES=SysBoot.cpp\t\\\n\t\tVistaVideoHook.cpp\t\\\n\t\tVideoHook.cpp\t\\\n\t\tPromptQuit.cpp\\\n\t\tSyserBoot.rc\\\n\t\tScrOutput.cpp\n"
  },
  {
    "path": "Project/SysBoot/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n\n"
  },
  {
    "path": "Project/SysBoot/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../Syser/Source/SyserDefine.h\"\n\n#include <windef.h>\n#include <wingdi.h>\n#include <winddi.h>\n\n#endif\n"
  },
  {
    "path": "Project/SysBoot/Source/SysBoot.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysBoot.h\"\n#include \"VideoHook.h\"\n#include \"ScrOutput.h\"\n#include \"PromptQuit.h\"\n\nSYSER_BOOT_DEVICE_EXTENSION*gpDevExt;\nCSyserFrameBufferMap*gpFrameBufferMap;\nSYSER_FRAME_BUFFER CurentFrameBuffer;\n\nvoid WindowsModeChange(int Width,int Height,int Bpp,void*FrameBuffer,int Pitch)\n{\n\tif(FrameBuffer)\n\t{\n\t\tint Size = Pitch*Height;\n\t\tfor(int Off = 0;Off<Size;Off+=MP_SIZE)\n\t\t{\n\t\t\tif(MmIsAddressValid((BYTE*)FrameBuffer+Off)==false)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\tDbgPrint(\"SyserBoot : Invalid FrameBuf [%08X] ,Invalid Address [%08X]\\n\",FrameBuffer,(BYTE*)FrameBuffer+Off);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\tCurentFrameBuffer.Width = Width;\n\tCurentFrameBuffer.Height = Height;\n\tCurentFrameBuffer.Bpp = Bpp;\n\tCurentFrameBuffer.LineDistance = Pitch;\n\tCurentFrameBuffer.Buffer = FrameBuffer;\n\n\tSwitchDrawPixel(Bpp);\n\tif(gpDevExt->pfnFrameModeChange)\n\t\tgpDevExt->pfnFrameModeChange(Width,Height,Bpp,FrameBuffer,Pitch,0);\n}\n\nvoid WindowsFilp(void*FrameBuffer)\n{\n\tCurentFrameBuffer.Buffer = FrameBuffer;\t\n\tif(gpDevExt->pfnFrameBufferFlip)\n\t\tgpDevExt->pfnFrameBufferFlip(FrameBuffer);\n}\n\nvoid GetDbgMsgState()\n{\n\tDWORD Value;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\t/////////////////////////////////////////////////////////////////////////////////////////\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"DbgMsg\");\n\tRegTable[0].EntryContext = &Value;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,WSTR(\"SyserBoot\"),RegTable,NULL,NULL)))\n\t\tValue = 0;\n\tgbDbgMsg = Value!=0;\n\t/////////////////////////////////////////////////////////////////////////////////////////\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"Disabled\");\n\tRegTable[0].EntryContext = &Value;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,WSTR(\"SyserBoot\"),RegTable,NULL,NULL)))\n\t\tValue = 0;\n\tgbDisabled = Value!=0;\n\t/////////////////////////////////////////////////////////////////////////////////////////\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"FlipDbgMsg\");\n\tRegTable[0].EntryContext = &Value;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,WSTR(\"SyserBoot\"),RegTable,NULL,NULL)))\n\t\tValue = 0;\n\tgbFlipDbgMsg = Value!=0;\n}\n\nvoid LoadImageHookProc(IN PUNICODE_STRING  FullImageName,IN HANDLE  ProcessId,IN PIMAGE_INFO  ImageInfo)\n{\n\tif(gpDevExt && gpDevExt->pfnLoadImageNotifyRoutine)\n\t\tgpDevExt->pfnLoadImageNotifyRoutine(FullImageName,ProcessId,ImageInfo);\n}\n\nvoid SyserBootUnload(IN PDRIVER_OBJECT DriverObject)\n{\n\tUNICODE_STRING UnicodeName;\n\tSafeDelete(gpFrameBufferMap);\n\tIoDeleteDevice(DriverObject->DeviceObject);\n\tRtlInitUnicodeString(&UnicodeName,SYSER_BOOT_LINK_NAME);\n\tIoDeleteSymbolicLink(&UnicodeName);\n\tUnhookZwSetSystemInformation();\n\tUnhookZwLoadDriver();\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"PsRemoveLoadImageNotifyRoutine\"));\n\tNTSTATUS (*PsRemoveLoadImageNotifyRoutine)(IN PLOAD_IMAGE_NOTIFY_ROUTINE);\n\t(PVOID&)PsRemoveLoadImageNotifyRoutine=MmGetSystemRoutineAddress(&UnicodeName);\n\tif(PsRemoveLoadImageNotifyRoutine)\n\t\tPsRemoveLoadImageNotifyRoutine(LoadImageHookProc);\n}\n\nNTSTATUS MJFunction(IN PDEVICE_OBJECT DeviceObject,IN PIRP  Irp)\n{\n\tIrp->IoStatus.Information=0;\n\tIrp->IoStatus.Status=STATUS_SUCCESS;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserBootDeviceCreate(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tUNICODE_STRING Name;\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIrp->IoStatus.Information = FILE_OPENED;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserBootDeviceClose(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIrp->IoStatus.Information = FILE_OPENED;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserBootDeviceControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tNTSTATUS Status;\n\tPIO_STACK_LOCATION  IOStack;\n\tIOStack = IoGetCurrentIrpStackLocation(Irp);\n\tStatus = STATUS_SUCCESS;\n\tIrp->IoStatus.Information=0;\n\tswitch(IOStack->Parameters.DeviceIoControl.IoControlCode)\n\t{\n\tcase IOCTL_SYSER_BOOT_GET_FRAME_BUFFER:\n\t\tif(IOStack->Parameters.DeviceIoControl.OutputBufferLength<sizeof(SYSER_FRAME_BUFFER))\n\t\t{\n\t\t\tStatus = STATUS_BUFFER_TOO_SMALL;\n\t\t\tbreak;\n\t\t}\n\t\tmemcpy(Irp->AssociatedIrp.SystemBuffer,&CurentFrameBuffer,sizeof(SYSER_FRAME_BUFFER));\n\t\tIrp->IoStatus.Information = sizeof(SYSER_FRAME_BUFFER);\n\t\tbreak;\n\t}\n\tIrp->IoStatus.Status = Status;\n\tIoCompleteRequest(Irp, IO_NO_INCREMENT);\n\treturn Status;\n}\n\n/////////////////////////////////////////////////////////////////////////////////////////\n//\n/////////////////////////////////////////////////////////////////////////////////////////\n#define SCAN_CODE_NO_KEY\t0x0\n#define SCAN_CODE_ESC_KEY\t0x1\n\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)\n{\n\tUNICODE_STRING      DeviceName,SymbolicLinkName;\n\tNTSTATUS            status;\n\tPDEVICE_OBJECT      DeviceObject;\n\tSYSER_BOOT_DEVICE_EXTENSION*DeviceExtension;\n\tint RetValue = PromptQuit(\"             Press \\\"ESC\\\" to cancel loading Syser Boot Module           \");\n\tif(RetValue==SCAN_CODE_ESC_KEY)\n\t\treturn STATUS_UNSUCCESSFUL;\n\tRtlInitUnicodeString(&DeviceName,WSTR(\"\\\\Device\\\\SyserBoot\"));\n\tstatus = IoCreateDevice(DriverObject,sizeof(SYSER_BOOT_DEVICE_EXTENSION),&DeviceName,FILE_DEVICE_VIDEO,0,TRUE,&DeviceObject);\n\tif(!NT_SUCCESS(status))\n\t\treturn status;\n\n\tDeviceObject->Flags |= METHOD_BUFFERED;\n\tDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;\n\tRtlInitUnicodeString(&SymbolicLinkName,SYSER_BOOT_LINK_NAME);\n\tIoCreateSymbolicLink(&SymbolicLinkName,&DeviceName);\n\n\tSTZeroMemory(CurentFrameBuffer);\n\tgpDevExt = (SYSER_BOOT_DEVICE_EXTENSION*)DeviceObject->DeviceExtension;\n\tZeroMemory(gpDevExt,sizeof(SYSER_BOOT_DEVICE_EXTENSION));\n\tgpDevExt->cbSize = sizeof(SYSER_BOOT_DEVICE_EXTENSION);\n\tgpDevExt->Version = SYSER_BOOT_VER;\n\tgpDevExt->pfnScrPrint = ScrPrint;\n\tgpFrameBufferMap = new CSyserFrameBufferMap;\n\tGetDbgMsgState();\n\t__try\n\t{\n\t\tif(gbDisabled)\n\t\t{\n\t\t\tDbgPrint(\"SyserBoot : Video Hook is disabled!\\n\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tHookZwSetSystemInformation();\n\t\t\tHookZwLoadDriver();\n\t\t}\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\t::DbgPrint(\"SyserBoot : Exception\\n\");\n\t}\n\tfor(DWORD FunCount=0;FunCount<IRP_MJ_MAXIMUM_FUNCTION;FunCount++)\n\t\tDriverObject->MajorFunction[FunCount]=MJFunction;\n\n\tDriverObject->MajorFunction[IRP_MJ_CREATE]\t\t\t= SyserBootDeviceCreate;\n\tDriverObject->MajorFunction[IRP_MJ_CLOSE]\t\t\t= SyserBootDeviceClose;\n\tDriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]\t= SyserBootDeviceControl;\n\n\tDriverObject->DriverUnload = SyserBootUnload;\n\tPsSetLoadImageNotifyRoutine(LoadImageHookProc);\n\treturn STATUS_SUCCESS;\n}\n\n"
  },
  {
    "path": "Project/SysBoot/Source/SysBoot.h",
    "content": "#ifndef _SYSER_BOOT_H_\n#define _SYSER_BOOT_H_\n\ntypedef void\t(*PFN_FrameModeChange)(int Width,int Height,int Bpp,void*FrameBuffer,int Pitch,UINT PixelFormat);\ntypedef void\t(*PFN_FrameBufferFlip)(void*FrameBuffer);\ntypedef void\t(*PFN_SyserActive)();\ntypedef void\t(*PFN_ScrPrint)(int x,int y,PCSTR szMsg,...);\n\nvoid\tSwitchDrawPixel(int Bpp);\nvoid\tWindowsModeChange(int Width,int Height,int Bpp,void*FrameBuffer,int Pitch);\nvoid\tWindowsFilp(void*FrameBuffer);\nvoid\tGetDbgMsgState();\n\n#define SYSER_BOOT_VER\t\t0x00019700\n\nstruct SYSER_BOOT_DEVICE_EXTENSION\n{\n\tint\t\t\t\t\t\tcbSize;\n\tDWORD\t\t\t\t\tVersion;\n\tSYSER_FRAME_BUFFER*\t\tpCurFrameBuffer;\n\tPFN_FrameModeChange\t\tpfnFrameModeChange;\n\tPFN_FrameBufferFlip\t\tpfnFrameBufferFlip;\n\tPFN_SyserActive\t\t\tpfnSyserActive;\n\tPFN_ScrPrint\t\t\tpfnScrPrint;\n\tPLOAD_IMAGE_NOTIFY_ROUTINE  pfnLoadImageNotifyRoutine;\n\tbool\t\t\t\t\tbCanceled;\n\tbool\t\t\t\t\tbDisabled;\n};\n\ntypedef TMap<HANDLE,SYSER_FRAME_BUFFER>\tCSyserFrameBufferMap;\n\n\nextern\tWCHAR\tszDispModuleName[MAX_FN_LEN];\nextern\tbool\tgbDisabled;\nextern\tbool\tgbDbgMsg;\nextern\tbool\tgbFlipDbgMsg;\nextern SYSER_BOOT_DEVICE_EXTENSION*gpDevExt;\nextern CSyserFrameBufferMap*gpFrameBufferMap;\nextern SYSER_FRAME_BUFFER CurentFrameBuffer;\n\n#define SYSER_BOOT_LINK_NAME\t\tWSTR(\"\\\\??\\\\SyserBoot\")\n\n#endif\n"
  },
  {
    "path": "Project/SysBoot/Source/SyserBoot.rc",
    "content": "#ifdef APSTUDIO_INVOKED \n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser legacy video support\"\n#define VER_ORIGINALFILENAME_STR    \"SyserBoot.sys\"\n#define VER_INTERNALNAME_STR\t\t\t\t\t\t\t\t \"SyserBoot.sys\"                                 \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/SysBoot/Source/SyserBoot.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser legacy video support\"\n#define VER_ORIGINALFILENAME_STR    \"SyserBoot.sys\"\n#define VER_INTERNALNAME_STR\t\t\t\t\t\t\t\t \"SyserBoot.sys\"                                 \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/SysBoot/Source/VideoHook.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysBoot.h\"\n#include \"VideoHook.h\"\n#include \"VistaVideoHook.h\"\n#include \"ScrOutput.h\"\n#include \"PromptQuit.h\"\n\nextern \"C\"\tSERVICETABLE*\tKeServiceDescriptorTable;\n\nSYSER_FRAME_BUFFER*\tpPrevFrameBuffer=NULL;\n\nPFN_DrvGetDirectDrawInfo\tOldDrvGetDirectDrawInfo;\nPFN_DrvEnableDirectDraw\t\tOldDrvEnableDirectDraw;\nPFN_DrvEnableDriver\t\t\tOldDrvEnableDriver;\nPFN_DrvEnablePDEV\t\t\tOldDrvEnablePDEV;\nPFN_DrvDisablePDEV\t\t\tOldDrvDisablePDEV;\nPFN_DrvEnableSurface\t\tOldDrvEnableSurface;\nPDD_SURFCB_FLIP\t\t\t\tOldDdFlip;\nPDD_SURFCB_LOCK\t\t\t\tOldDdLock;\nPFN_DrvNotify\t\t\t\tOldDrvNotify;\nPDRIVER_DISPATCH\t\t\tOldDXGKrnlDispatchInternalDeviceControl;\n\nint\tZwSetSystemInfoIndex = -1;\nFPN_ZwSetSystemInformation\tOldZwSetSystemInformation = NULL;\n\nint\tZwLoadDriverIndex = -1;\nPFN_ZwLoadDriver\t\t\tOldZwLoadDriver = NULL;\n\nWCHAR\tszDispModuleName[MAX_FN_LEN]=WSTR(\"\");\nbool\tgbDisabled = false;\nbool\tgbDbgMsg = false;\nbool\tgbFlipDbgMsg = false;\nDWORD\tCR0Backup=0;\n\nvoid ClrCR0WP()\n{\n\tULONG TmpValue=0xfffeffff;\n\tif(CR0Backup&0x80000000)\n\t{\n\t\t__asm\n\t\t{\n\t\t\tpush eax\n\t\t\t\tmov eax,cr0 \n\t\t\t\tand eax,TmpValue \n\t\t\t\tmov cr0,eax\n\t\t\t\tpop eax \n\t\t}\n\t\treturn;\n\t}\n\t__asm\n\t{\n\t\tmov eax,cr0\n\t\t\tmov CR0Backup,eax\n\t\t\tand eax,TmpValue\n\t\t\tmov cr0,eax\n\t}\n}\n\nvoid RestoreCR0()\n{\n\tif(CR0Backup&0x80000000)\n\t{\t\n\t\t_asm\n\t\t{\n\t\t\tmov eax,CR0Backup\n\t\t\t\tmov cr0,eax\n\t\t}\n\t\tCR0Backup=0;\n\t}\n}\n\nbool GetDisplayDriverName()\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tUNICODE_STRING UnicodeString;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\t*szBuffer=0;\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tUnicodeString.Length=0;\n\tUnicodeString.MaximumLength=sizeof(szBuffer);\n\tUnicodeString.Buffer=szBuffer;\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED | RTL_QUERY_REGISTRY_NOEXPAND;\n\tRegTable[0].Name = WSTR(\"\\\\Device\\\\Video0\");\n\tRegTable[0].EntryContext = &UnicodeString;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_DEVICEMAP,WSTR(\"VIDEO\"),RegTable,NULL,NULL)))\n\t\treturn false;\n\t*szDispModuleName=0;\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tUnicodeString.Length=0;\n\tUnicodeString.MaximumLength=MAX_FN_LEN*sizeof(WCHAR);\n\tUnicodeString.Buffer=szDispModuleName;\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED | RTL_QUERY_REGISTRY_NOEXPAND;\n\tRegTable[0].Name = WSTR(\"InstalledDisplayDrivers\");\n\tRegTable[0].EntryContext = &UnicodeString;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_ABSOLUTE,szBuffer,RegTable,NULL,NULL)))\n\t\treturn false;\n\tTStrCat(szDispModuleName,WSTR(\".dll\"));\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : InstalledDisplayDrivers %ws\\n\",szDispModuleName);\n\treturn\ttrue;\n}\n\nDWORD WINAPI NewDdFlip(PDD_FLIPDATA pFlipData)\n{\n\tDWORD Result;\n\tif(gpDevExt->pfnFrameBufferFlip==NULL)\n\t\treturn OldDdFlip(pFlipData);\n\tgpDevExt->bDisabled = true;\n\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->Find((DHPDEV)pFlipData->lpDD->dhpdev);\n\tif(Iter.IsExist())\n\t{\n\t\tif(\tIter->Width == pFlipData->lpSurfTarg->lpGbl->wWidth && Iter->Height == pFlipData->lpSurfTarg->lpGbl->wHeight &&\n\t\t\tIter->Bpp == pFlipData->lpSurfTarg->lpGbl->ddpfSurface.dwRGBBitCount && Iter->LineDistance == pFlipData->lpSurfTarg->lpGbl->lPitch)\n\t\t{\n\t\t\tif((DWORD)pFlipData->lpSurfTarg->lpGbl->fpVidMem > 0x80000000)\n\t\t\t\tIter->Buffer=(void*)pFlipData->lpSurfTarg->lpGbl->fpVidMem;\n\t\t\telse\n\t\t\t\tIter->Buffer=RT_PVOID(Iter->BaseBuffer,(DWORD)pFlipData->lpSurfTarg->lpGbl->fpVidMem);\n\t\t\tWindowsFilp(Iter->Buffer);\n\t\t\tif(gbFlipDbgMsg)\n\t\t\t\t::DbgPrint(\"SysBoot : NewFlip BaseFrameBuffer = 0x%08X , FrameBuffer = 0x%08X !\\n\",Iter->BaseBuffer,Iter->Buffer);\n\t\t}\n\t}\n\tResult = OldDdFlip(pFlipData);\n\tif(gpDevExt->bDisabled==false)\n\t{\n\t\tif(gpDevExt->pfnSyserActive)\n\t\t\tgpDevExt->pfnSyserActive();\n\t}\n\telse\n\t\tgpDevExt->bDisabled = false;\n\treturn Result;\n}\n\nDWORD WINAPI NewDdLock(PDD_LOCKDATA  lpLock)\n{\n\tDWORD Result = OldDdLock(lpLock);\n\tif(gbDbgMsg)\n\t{\n\t}\n\treturn Result;\n}\n\nBOOL WINAPI NewDrvEnableDirectDraw(DHPDEV dhpdev,DD_CALLBACKS*pCallBacks,DD_SURFACECALLBACKS*pSurfaceCallBacks,DD_PALETTECALLBACKS*pPaletteCallBacks)\n{\n\tBOOL Result;\n\tResult = OldDrvEnableDirectDraw(dhpdev,pCallBacks,pSurfaceCallBacks,pPaletteCallBacks);\n\tif(Result==FALSE)\n\t\treturn FALSE;\n\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->Find(dhpdev);\n\tif(Iter!=gpFrameBufferMap->End())\n\t{\n\t\tif(gbDbgMsg)\n\t\t{\n\t\t\t::DbgPrint(\"SyserBoot : NewDrvEnableDirectDraw dhpdev = %08X [ Width = %d , Height = %d , Bpp = %d Buffer = 0x%08X , BaseBuffer = 0x%08X ]\\n\",\n\t\t\tdhpdev,Iter->Width,Iter->Height,Iter->Bpp,Iter->Buffer,Iter->BaseBuffer);\n\t\t}\n\t\tpPrevFrameBuffer = gpDevExt->pCurFrameBuffer;\n\t\tgpDevExt->pCurFrameBuffer = &(*Iter);\n\t\tWindowsModeChange(Iter->Width,Iter->Height,Iter->Bpp,Iter->Buffer,Iter->LineDistance);\n\t}\n\tOldDdFlip = pSurfaceCallBacks->Flip;\n\tpSurfaceCallBacks->Flip = NewDdFlip;\n\t//OldDdLock = pSurfaceCallBacks->Lock;\n\t//pSurfaceCallBacks->Lock = NewDdLock;\n\treturn Result;\n}\n\nDHPDEV WINAPI NewDrvEnablePDEV(DEVMODEW*pdm,LPWSTR pwszLogAddress,ULONG cPat,HSURF*phsurfPatterns,ULONG cjCaps,GDIINFO*pdevcaps,ULONG cjDevInfo,DEVINFO*pdi,HDEV hdev,LPWSTR pwszDeviceName,HANDLE hDriver)\n{\n\tDHPDEV Result;\n\tGetDbgMsgState();\n\tResult=OldDrvEnablePDEV(pdm,pwszLogAddress,cPat,phsurfPatterns,cjCaps,pdevcaps,cjDevInfo,pdi,hdev,pwszDeviceName,hDriver);\n\tif(Result==NULL)\n\t\treturn NULL;\n\tgpFrameBufferMap->InsertUnique(Result);\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : NewDrvEnablePDEV dhpdev = 0x%08X , Mode List Count =%d\\n\",Result,gpFrameBufferMap->Count());\n\treturn Result;\n}\n\nBOOL WINAPI NewDrvGetDirectDrawInfo(DHPDEV dhpdev,DD_HALINFO*pHalInfo,DWORD*pdwNumHeaps,VIDEOMEMORY*pvmList,DWORD*pdwNumFourCCCodes,DWORD*pdwFourCC)\n{\n\tBOOL Result;\n\tResult=OldDrvGetDirectDrawInfo(dhpdev,pHalInfo,pdwNumHeaps,pvmList,pdwNumFourCCCodes,pdwFourCC);\n\tif(Result==FALSE)\n\t\treturn FALSE;\n\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->Find(dhpdev);\n\tif(Iter!=gpFrameBufferMap->End())\n\t{\n\t\tIter->Width=pHalInfo->vmiData.dwDisplayWidth;\n\t\tIter->Height=pHalInfo->vmiData.dwDisplayHeight;\n\t\tIter->Bpp=pHalInfo->vmiData.ddpfDisplay.dwRGBBitCount;\n\t\tIter->LineDistance = pHalInfo->vmiData.lDisplayPitch;\n\t\tIter->BaseBuffer=RT_PVOID(pHalInfo->vmiData.pvPrimary,-(int)pHalInfo->vmiData.fpPrimary);\n\t\tIter->Buffer=pHalInfo->vmiData.pvPrimary;\n\t\tif(pPrevFrameBuffer==NULL)\n\t\t{\n\t\t\tpPrevFrameBuffer = &(*Iter);\n\t\t\tgpDevExt->pCurFrameBuffer = pPrevFrameBuffer;\n\t\t\tWindowsModeChange(Iter->Width,Iter->Height,Iter->Bpp,Iter->Buffer,Iter->LineDistance);\n\t\t}\n\t}\n\tif(gbDbgMsg)\n\t\tDbgPrint(\"SyserBoot : NewDrvGetDirectDrawInfo Fill FrameBuffer Info\\n\");\n\treturn Result;\n}\n\nvoid WINAPI NewDrvDisablePDEV(DHPDEV dhpdev)\n{\n\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->Find(dhpdev);\n\tif(Iter!=gpFrameBufferMap->End())\n\t{\n\t\tif(gpDevExt->pCurFrameBuffer == &(*Iter) && gpDevExt->pCurFrameBuffer != pPrevFrameBuffer)\n\t\t{\n\t\t\tgpDevExt->pCurFrameBuffer = pPrevFrameBuffer;\n\t\t\tWindowsModeChange(\tgpDevExt->pCurFrameBuffer->Width,\n\t\t\t\t\t\t\t\tgpDevExt->pCurFrameBuffer->Height,\n\t\t\t\t\t\t\t\tgpDevExt->pCurFrameBuffer->Bpp,\n\t\t\t\t\t\t\t\tgpDevExt->pCurFrameBuffer->Buffer,\n\t\t\t\t\t\t\t\tgpDevExt->pCurFrameBuffer->LineDistance);\n\t\t}\n\t\tgpFrameBufferMap->Remove(Iter);\n\t}\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : NewDrvDisablePDEV dhpdev = 0x%08X\\n\",dhpdev);\n\tOldDrvDisablePDEV(dhpdev);\n}\n\nHSURF WINAPI NewDrvEnableSurface(DHPDEV dhpdev)\n{\n\tHSURF Result = OldDrvEnableSurface(dhpdev);\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : NewDrvEnableSurface dhpdev = 0x%08X\\n\",dhpdev);\n\treturn Result;\n}\n\nBOOL WINAPI NewDrvEnableDriver(ULONG iEngineVersion,ULONG cj,DRVENABLEDATA*pded)\n{\n\tBOOL Result = OldDrvEnableDriver(iEngineVersion,cj,pded);\n\tif(Result==FALSE)\n\t\treturn FALSE;\n\tfor(ULONG n=0;n<pded->c;n++)\n\t{\n\t\tswitch(pded->pdrvfn[n].iFunc)\n\t\t{\n\t\tcase INDEX_DrvGetDirectDrawInfo:\n\t\t\tif(pded->pdrvfn[n].pfn!=(PFN)NewDrvGetDirectDrawInfo)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : Hook DrvGetDirectDrawInfo\\n\");\n\t\t\t\tOldDrvGetDirectDrawInfo = (PFN_DrvGetDirectDrawInfo)pded->pdrvfn[n].pfn;\n\t\t\t\tpded->pdrvfn[n].pfn = (PFN)NewDrvGetDirectDrawInfo;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase INDEX_DrvEnableDirectDraw:\n\t\t\tif(pded->pdrvfn[n].pfn!=(PFN)NewDrvEnableDirectDraw)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : Hook DrvEnableDirectDraw\\n\");\n\t\t\t\tOldDrvEnableDirectDraw = (PFN_DrvEnableDirectDraw)pded->pdrvfn[n].pfn;\n\t\t\t\tpded->pdrvfn[n].pfn = (PFN)NewDrvEnableDirectDraw;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase INDEX_DrvEnablePDEV:\n\t\t\tif(pded->pdrvfn[n].pfn!=(PFN)NewDrvEnablePDEV)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : Hook DrvEnablePDEV\\n\");\n\t\t\t\tOldDrvEnablePDEV = (PFN_DrvEnablePDEV)pded->pdrvfn[n].pfn;\n\t\t\t\tpded->pdrvfn[n].pfn = (PFN)NewDrvEnablePDEV;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase INDEX_DrvDisablePDEV:\n\t\t\tif(pded->pdrvfn[n].pfn!=(PFN)NewDrvDisablePDEV)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : Hook DrvDisablePDEV\\n\");\n\t\t\t\tOldDrvDisablePDEV = (PFN_DrvDisablePDEV)pded->pdrvfn[n].pfn;\n\t\t\t\tpded->pdrvfn[n].pfn = (PFN)NewDrvDisablePDEV;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase INDEX_DrvEnableSurface:\n\t\t\tif(pded->pdrvfn[n].pfn!=(PFN)NewDrvEnableSurface)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : Hook DrvEnableSurface\\n\");\n\t\t\t\tOldDrvEnableSurface = (PFN_DrvEnableSurface)pded->pdrvfn[n].pfn;\n\t\t\t\tpded->pdrvfn[n].pfn = (PFN)NewDrvEnableSurface;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn Result;\n}\n\nDWORD APIENTRY NewZwSetSystemInformation(DWORD FunctionNo,void*Informat,DWORD Size)\n{\n\tWCHAR szFileName[MAX_FN_LEN];\n\tDWORD Result;\n\tif(FunctionNo!=0x1A)//SystemLoadDriver\n\t\treturn OldZwSetSystemInformation(FunctionNo,Informat,Size);\t\t\n\tResult=OldZwSetSystemInformation(FunctionNo,Informat,Size);\n\tif(Result==STATUS_SUCCESS)\n\t{\n\t\tif(*szDispModuleName==0)\n\t\t\tGetDisplayDriverName();\n\t\t__try\n\t\t{\n\t\t\tUnicodeStrCpy(szFileName,((PUNICODE_STRING)Informat),MAX_FN_LEN);\n\t\t}\n\t\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t\t{\n\t\t\t*szFileName=0;\n\t\t\t::DbgPrint(\"SyserBoot : Exception in NewZwSetSystemInformation UnicodeStrCpy\\n\");\n\t\t}\n\t\tif(gbDbgMsg)\n\t\t\t::DbgPrint(\"SyserBoot : ZwSetSystemInformattion %ws\\n\",szFileName);\n\t\tif(*szFileName && *szDispModuleName && TStrICmp(szDispModuleName,TGetFileName(szFileName))==0)\n\t\t{\n\t\t\tvoid**Address;\n\t\t\tAddress=(void**)Informat;\n\t\t\tif(Address[4]!=NULL && Address[4]!=(void*)NewDrvEnableDriver)\n\t\t\t{\n\t\t\t\tOldDrvEnableDriver=(PFN_DrvEnableDriver)Address[4];\n\t\t\t\tAddress[4]=(void*)NewDrvEnableDriver;\n\t\t\t}\n\t\t}\n\t}\n\treturn Result;\n}\n\nNTSTATUS APIENTRY NewDXGKrnlDispatchInternalDeviceControl(IN PDEVICE_OBJECT  DeviceObject,IN PIRP  Irp)\n{\n\tint Length;\n\tPVOID Buffer;\n\tULONG IoControlCode;\n\tPIO_STACK_LOCATION  IOStack;\n\tNTSTATUS Status;\n\tIOStack = IoGetCurrentIrpStackLocation(Irp);\n\tBuffer = Irp->UserBuffer;\n\tLength = IOStack->Parameters.DeviceIoControl.OutputBufferLength;\n\tIoControlCode = IOStack->Parameters.DeviceIoControl.IoControlCode;\n\tStatus = OldDXGKrnlDispatchInternalDeviceControl(DeviceObject,Irp);\n\tif(IoControlCode == 0x0023003F && Length == 4 && Buffer)//DXGKrnlDxgkInitialize\n\t{\n\t\tOldDxgkInitialize = *(PFN_DxgkInitialize*)Buffer;\n\t\t*(PFN_DxgkInitialize*)Buffer = NewDxgkInitialize;\n\t\tif(gbDbgMsg)\n\t\t\t::DbgPrint(\"SyserBoot : DXGKrnl->DxgkInitialize = %08X\\n\",OldDxgkInitialize);\n\t}\n\treturn Status;\n}\n\nNTSTATUS APIENTRY NewZwLoadDriver(IN PUNICODE_STRING DriverServiceName)\n{\n\tNTSTATUS Status = OldZwLoadDriver(DriverServiceName);\n\tif(Status != STATUS_SUCCESS || DriverServiceName==NULL)\n\t\treturn Status;\n\tif(TMemICmp(WSTR(\"\\\\Registry\\\\Machine\\\\System\\\\CurrentControlSet\\\\Services\\\\DXGKrnl\"),DriverServiceName->Buffer,DriverServiceName->Length/2))\n\t\treturn Status;\n\tPDEVICE_OBJECT DeviceObject;\n\tPFILE_OBJECT FileObject;\n\tUNICODE_STRING UnicodeName;\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"\\\\Device\\\\DXGKrnl\"));\n\tif(!NT_SUCCESS(IoGetDeviceObjectPointer(&UnicodeName,FILE_READ_DATA,&FileObject,&DeviceObject)))\n\t{\n\t\tif(gbDbgMsg)\n\t\t\t::DbgPrint(\"SyserBoot : Fail to get \\\\Device\\\\DXGKrnl\\n\");\n\t\treturn Status;\n\t}\n\tObDereferenceObject(FileObject);\n\tif(gbDbgMsg)\n\t{\n\t\t::DbgPrint(\"SyserBoot : DXGKrnl->DriverObject = %08X\\n\",DeviceObject->DriverObject);\n\t\t::DbgPrint(\"SyserBoot : DXGKrnl->DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = %08X\\n\",DeviceObject->DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL]);\n\t}\n\tif(DeviceObject->DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL]!=NewDXGKrnlDispatchInternalDeviceControl)\n\t{\n\t\tOldDXGKrnlDispatchInternalDeviceControl = DeviceObject->DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL];\n\t\tDeviceObject->DriverObject->MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = NewDXGKrnlDispatchInternalDeviceControl;\n\t}\n\treturn Status;\n}\n\nbool HookZwSetSystemInformation()\n{\n\tUNICODE_STRING NtApiName;\n\tBYTE* ZwSetSystemInformationFunc;\n\tRtlInitUnicodeString(&NtApiName,WSTR(\"ZwSetSystemInformation\"));\n\tZwSetSystemInformationFunc=(BYTE*)MmGetSystemRoutineAddress(&NtApiName);\n\tif(ZwSetSystemInformationFunc==0||*ZwSetSystemInformationFunc!=0xB8)\n\t{\n\t\t::DbgPrint(\"SyserBoot : Fail to hook ZwSetSystemInformation\\n\");\n\t\treturn false;\n\t}\n\tZwSetSystemInfoIndex = *(DWORD*)(ZwSetSystemInformationFunc+1);\n\tOldZwSetSystemInformation=(FPN_ZwSetSystemInformation) KeServiceDescriptorTable->ServiceTable[ZwSetSystemInfoIndex];\n\tClrCR0WP();\n\tKeServiceDescriptorTable->ServiceTable[ZwSetSystemInfoIndex]=NewZwSetSystemInformation;\n\tRestoreCR0();\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : ZwSetSystemInformation hook Success !\\n\");\n\treturn true;\n}\n\nvoid UnhookZwSetSystemInformation()\n{\n\tif(ZwSetSystemInfoIndex<0 || KeServiceDescriptorTable->ServiceTable[ZwSetSystemInfoIndex]!=NewZwSetSystemInformation)\n\t\treturn;\n\tKeServiceDescriptorTable->ServiceTable[ZwSetSystemInfoIndex]=OldZwSetSystemInformation;\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : ZwSetSystemInformation Unhook Success !\\n\");\n}\n\nbool HookZwLoadDriver()\n{\n\tULPOS ModuleBase;\n\tUNICODE_STRING NtApiName;\n\tBYTE* ZwLoadDriverFunc;\n\tRtlInitUnicodeString(&NtApiName,WSTR(\"ZwLoadDriver\"));\n\tZwLoadDriverFunc=(BYTE*)MmGetSystemRoutineAddress(&NtApiName);\n\tif(ZwLoadDriverFunc==0||*ZwLoadDriverFunc!=0xB8)\n\t{\n\t\t::DbgPrint(\"SyserBoot : Fail to hook ZwLoadDriver\\n\");\n\t\treturn false;\n\t}\n\tZwLoadDriverIndex = *(DWORD*)(ZwLoadDriverFunc+1);\n\tOldZwLoadDriver=(PFN_ZwLoadDriver)KeServiceDescriptorTable->ServiceTable[ZwLoadDriverIndex];\n\tClrCR0WP();\n\tKeServiceDescriptorTable->ServiceTable[ZwLoadDriverIndex]=NewZwLoadDriver;\n\tRestoreCR0();\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : ZwLoadDriver Hook Success !\\n\");\n\treturn true;\n}\n\nvoid UnhookZwLoadDriver()\n{\n\tif(ZwLoadDriverIndex<0 || KeServiceDescriptorTable->ServiceTable[ZwLoadDriverIndex]!=NewZwLoadDriver)\n\t\treturn;\n\tKeServiceDescriptorTable->ServiceTable[ZwLoadDriverIndex]=OldZwLoadDriver;\n\tif(gbDbgMsg)\n\t\t::DbgPrint(\"SyserBoot : ZwLoadDriver Unhook Success !\\n\");\n}\n"
  },
  {
    "path": "Project/SysBoot/Source/VideoHook.h",
    "content": "#ifndef _VIDEO_HOOK_H_\n#define _VIDEO_HOOK_H_\n\ntypedef DWORD\t\t(*FPN_ZwSetSystemInformation)(DWORD FunctionNo,void*Informat,DWORD Size);\ntypedef NTSTATUS\t(*PFN_ZwLoadDriver)(IN PUNICODE_STRING DriverServiceName);\n\nstruct SERVICETABLE\n{\n\tvoid**\tServiceTable;\n\tDWORD\tLowCall;\n\tDWORD\tHiCall;\n\tPVOID*\tArgTable;\n};\n\nDWORD\tNewZwSetSystemInformation(DWORD FunctionNo,void*Informat,DWORD Size);\n\nbool\tHookZwSetSystemInformation();\nvoid\tUnhookZwSetSystemInformation();\n\nbool\tHookZwLoadDriver();\nvoid\tUnhookZwLoadDriver();\n\n\n#endif\n"
  },
  {
    "path": "Project/SysBoot/Source/VistaVideoHook.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysBoot.h\"\n#include \"VistaVideoHook.h\"\n\n\nPFN_DxgkInitialize\tOldDxgkInitialize;\n\nPFN_DXGKDDI_SETVIDPNSOURCEVISIBILITY\tOldDxgkDdiSetVidPnSourceVisibility;\t//ʾɨ״̬\nPFN_DXGKDDI_SETVIDPNSOURCEADDRESS\t\tOldDxgkDdiSetVidPnSourceAddress;\t//ûɨַ\nPFN_DXGKDDI_CREATEALLOCATION\t\t\tOldDxgkDdiCreateAllocation;\t\t\t//Դ,ϸϢ\nPFN_DXGKDDI_DESTROYALLOCATION\t\t\tOldDxgkDdiDestroyAllocation;\t\t//ͷԴ\nPFN_DXGKDDI_PRESENT\t\t\t\t\t\tOldDxgkDdiPresent;\t\t\t\t\t// BitBlt Flip\n\n\nstruct VIDEO_FRAME_BUFFER_MAP_DESCR\n{\n\tvoid*\t\t\t\tVirtualAddress;\n\tPHYSICAL_ADDRESS\tPhysicalAddress;\n\tSIZE_T\t\t\t\tLength;\n};\n\nVIDEO_FRAME_BUFFER_MAP_DESCR PrimaryFrameBufferDescr;\n\nbool AllocateFrameBufferMap(PHYSICAL_ADDRESS PhysicalAddress,SIZE_T Length,VIDEO_FRAME_BUFFER_MAP_DESCR*pDescr)\n{\n\tKIRQL IRQL=KeGetCurrentIrql();\n\tif(IRQL!=PASSIVE_LEVEL)\n\t{\n\t\tif(gbDbgMsg)\n\t\t\t::DbgPrint(\"SyserBoot : AllocateFrameBufferMap IRQL = %08X\\n\",IRQL);\n\t\tpDescr->VirtualAddress = NULL;\n\t\treturn false;\n\t}\n\tpDescr->VirtualAddress = MmMapIoSpace(PhysicalAddress,Length,MmWriteCombined);\n\tif(pDescr->VirtualAddress==NULL)\n\t\treturn false;\n\n\tpDescr->PhysicalAddress = PhysicalAddress;\n\tpDescr->Length = Length;\n\treturn true;\n}\n\nvoid ReleaseFrameBufferMap(VIDEO_FRAME_BUFFER_MAP_DESCR*pDescr)\n{\n\tif(pDescr->VirtualAddress==NULL)\n\t\treturn;\n\tKIRQL IRQL=KeGetCurrentIrql();\n\tif(IRQL!=PASSIVE_LEVEL)\n\t{\n\t\tif(gbDbgMsg)\n\t\t\t::DbgPrint(\"SysBoot : ReleaseFrameBufferMap IRQL = %08X\\n\",IRQL);\n\t\treturn;\n\t}\n\tMmUnmapIoSpace(pDescr->VirtualAddress,pDescr->Length);\n\tZeroMemory(pDescr,sizeof(VIDEO_FRAME_BUFFER_MAP_DESCR));\n}\n\nint D3dDdiFormatToDepth(D3DDDIFORMAT Format)\n{\n\tswitch(Format)\n\t{\n\tcase D3DDDIFMT_R8G8B8:\n\t\treturn 24;\n\tcase D3DDDIFMT_A8R8G8B8:\n\tcase D3DDDIFMT_X8R8G8B8:\n\tcase D3DDDIFMT_A8B8G8R8:\n\tcase D3DDDIFMT_X8B8G8R8:\n\t\treturn 32;\n\tcase D3DDDIFMT_R5G6B5:\n\tcase D3DDDIFMT_X1R5G5B5:\n\tcase D3DDDIFMT_A1R5G5B5:\n\t\treturn 16;\n\tdefault:\n\t\treturn 16;\n\t}\n}\n\nNTSTATUS APIENTRY NewDxgkDdiPresent(CONST HANDLE hContext,DXGKARG_PRESENT* pPresent)\n{\n\treturn OldDxgkDdiPresent(hContext,pPresent);\n}\n\nNTSTATUS APIENTRY NewDxgkDdiSetVidPnSourceVisibility(CONST HANDLE  hAdapter,CONST DXGKARG_SETVIDPNSOURCEVISIBILITY* pSetVidPnSourceVisibility)\n{\n\tNTSTATUS Status = OldDxgkDdiSetVidPnSourceVisibility(hAdapter,pSetVidPnSourceVisibility);\n\tif(pSetVidPnSourceVisibility->Visible)\n\t{\n\t\tGetDbgMsgState();\n\t\tgpFrameBufferMap->Clear();\n\t}\n\tif(gbDbgMsg)\n\t{\n\t\t::DbgPrint(\"SyserBoot : DxgkDdiSetVidPnSourceVisibility %s\\n\",pSetVidPnSourceVisibility->Visible?\"Visible\":\"Invisible\");\n\t}\n\treturn Status;\n}\n\nNTSTATUS APIENTRY NewDxgkDdiSetVidPnSourceAddress(CONST HANDLE  hAdapter,CONST DXGKARG_SETVIDPNSOURCEADDRESS*pSetVidPnSourceAddress)\n{\n\tNTSTATUS Status = OldDxgkDdiSetVidPnSourceAddress(hAdapter,pSetVidPnSourceAddress);\n\tif(pSetVidPnSourceAddress->Flags.ModeChange)\n\t{\n\t\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->Find(pSetVidPnSourceAddress->hAllocation);\n\t\tif(Iter.IsExist())\n\t\t{\n\t\t\tReleaseFrameBufferMap(&PrimaryFrameBufferDescr);\n\t\t\tif(AllocateFrameBufferMap(pSetVidPnSourceAddress->PrimaryAddress,Iter->Height*Iter->LineDistance,&PrimaryFrameBufferDescr))\n\t\t\t{\n\t\t\t\tIter->Buffer = Iter->BaseBuffer = PrimaryFrameBufferDescr.VirtualAddress;\n\t\t\t\tWindowsModeChange(Iter->Width,Iter->Height,Iter->Bpp,Iter->Buffer,Iter->LineDistance);\n\t\t\t\tgpDevExt->pCurFrameBuffer = &CurentFrameBuffer;\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t{\n\t\t\t\t\t::DbgPrint(\"SyserBoot : DxgkDdiSetVidPnSourceAddress hAllocation = %08X\\n\",pSetVidPnSourceAddress->hAllocation);\n\t\t\t\t\t::DbgPrint(\"            Mode Change %d X %d X %d Pitch %d PhysAddr[%08X] FrameBuffer[%08X]\\n\",\n\t\t\t\t\t\tIter->Width,Iter->Height,Iter->Bpp,Iter->LineDistance,(DWORD)pSetVidPnSourceAddress->PrimaryAddress.QuadPart,Iter->Buffer);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : DxgkDdiSetVidPnSourceAddress fail to map PhysAddr 0x%08X\\n\",(DWORD)pSetVidPnSourceAddress->PrimaryAddress.QuadPart);\n\t\t\t}\n\t\t}\n\t}\n\treturn Status;\n}\n\nbool IsVideoDeviceAlloc(DXGK_ALLOCATIONINFO* pAllocInfo)\n{\n\tif(pAllocInfo->pAllocationUsageHint==NULL)\n\t\treturn false;\n\tif(pAllocInfo->pAllocationUsageHint->v1.Pitch==0)\n\t\treturn false;\n\tif(pAllocInfo->pAllocationUsageHint->v1.Width<640 || pAllocInfo->pAllocationUsageHint->v1.Height<480)\n\t\treturn false;\n\tif(pAllocInfo->pAllocationUsageHint->v1.Pitch<=pAllocInfo->pAllocationUsageHint->v1.Width)\n\t\treturn false;\n\treturn true;\n}\n\nNTSTATUS NewDxgkDdiCreateAllocation(CONST HANDLE hAdapter,DXGKARG_CREATEALLOCATION*pCreateAllocation)\n{\n\tDXGK_ALLOCATIONINFO* pAllocInfo;\n\tNTSTATUS Status = OldDxgkDdiCreateAllocation(hAdapter,pCreateAllocation);\n\tif(pCreateAllocation->pAllocationInfo==NULL||pCreateAllocation->NumAllocations==0||Status!=STATUS_SUCCESS)\n\t\treturn Status;\n\tfor(UINT n=0;n<pCreateAllocation->NumAllocations;n++)\n\t{\n\t\tpAllocInfo = &pCreateAllocation->pAllocationInfo[n];\n\t\tif(pAllocInfo->pAllocationUsageHint && IsVideoDeviceAlloc(pAllocInfo))\n\t\t{\n\t\t\tCSyserFrameBufferMap::IT Iter = gpFrameBufferMap->InsertUnique(pAllocInfo->hAllocation);\n\t\t\tif(Iter.IsExist())\n\t\t\t{\n\t\t\t\tIter->Width = pAllocInfo->pAllocationUsageHint->v1.Width;\n\t\t\t\tIter->Height = pAllocInfo->pAllocationUsageHint->v1.Height;\n\t\t\t\tIter->Bpp = D3dDdiFormatToDepth(pAllocInfo->pAllocationUsageHint->v1.Format);\n\t\t\t\tIter->LineDistance = pAllocInfo->pAllocationUsageHint->v1.Pitch;\n\t\t\t\tIter->BaseBuffer = Iter->Buffer = 0;\n\t\t\t\tIter->PixelFormat = 0;\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t{\n\t\t\t\t\t::DbgPrint(\"SyserBoot : CreateAllocation [%d] = %08X , %d X %d X %d ,Pitch = %d , D3DFormat = %d CreateFlag %X\\n\",\n\t\t\t\t\t\tgpFrameBufferMap->Count(),pAllocInfo->hAllocation,Iter->Width,Iter->Height,Iter->Bpp,Iter->LineDistance,\n\t\t\t\t\t\tpAllocInfo->pAllocationUsageHint->v1.Format,pAllocInfo->Flags.Value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn Status;\n}\n\nNTSTATUS APIENTRY NewDxgkDdiDestroyAllocation(CONST HANDLE  hAdapter,CONST DXGKARG_DESTROYALLOCATION*pDestroyAllocation)\n{\n\tNTSTATUS Status = OldDxgkDdiDestroyAllocation(hAdapter,pDestroyAllocation);\n\tif(pDestroyAllocation->pAllocationList)\n\t{\n\t\tfor(UINT n=0;n<pDestroyAllocation->NumAllocations;n++)\n\t\t{\n\t\t\tif(gpFrameBufferMap->Remove(pDestroyAllocation->pAllocationList[n])>0)\n\t\t\t{\n\t\t\t\tif(gbDbgMsg)\n\t\t\t\t\t::DbgPrint(\"SyserBoot : DestroyAllocation = %08X\\n\",pDestroyAllocation->pAllocationList[n]);\n\t\t\t}\n\t\t}\n\t}\n\treturn Status;\n}\n\nNTSTATUS APIENTRY NewDxgkInitialize(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath,IN PDRIVER_INITIALIZATION_DATA DriverInitializationData)\n{\n\tNTSTATUS Status;\n\tDRIVER_INITIALIZATION_DATA NewDriverInitializationData;\n\tNewDriverInitializationData = *DriverInitializationData;\n\tSTZeroMemory(PrimaryFrameBufferDescr);\n\tgpFrameBufferMap->Clear();\n\tGetDbgMsgState();\n\t/////////////////////////////////////////////////////////////////////////////////////////////\n\t(PVOID&)OldDxgkDdiSetVidPnSourceAddress = NewDriverInitializationData.DxgkDdiSetVidPnSourceAddress;\n\tNewDriverInitializationData.DxgkDdiSetVidPnSourceAddress = NewDxgkDdiSetVidPnSourceAddress;\n\t/////////////////////////////////////////////////////////////////////////////////////////////\n\t(PVOID&)OldDxgkDdiCreateAllocation = NewDriverInitializationData.DxgkDdiCreateAllocation;\n\tNewDriverInitializationData.DxgkDdiCreateAllocation = NewDxgkDdiCreateAllocation;\n\t/////////////////////////////////////////////////////////////////////////////////////////////\n\t(PVOID&)OldDxgkDdiDestroyAllocation = NewDriverInitializationData.DxgkDdiDestroyAllocation;\n\tNewDriverInitializationData.DxgkDdiDestroyAllocation = NewDxgkDdiDestroyAllocation;\n\t/////////////////////////////////////////////////////////////////////////////////////////////\n\t(PVOID&)OldDxgkDdiSetVidPnSourceVisibility = NewDriverInitializationData.DxgkDdiSetVidPnSourceVisibility;\n\tNewDriverInitializationData.DxgkDdiSetVidPnSourceVisibility = NewDxgkDdiSetVidPnSourceVisibility;\n\t/////////////////////////////////////////////////////////////////////////////////////////////\n\t//(PVOID&)OldDxgkDdiPresent = NewDriverInitializationData.DxgkDdiPresent;\n\t//NewDriverInitializationData.DxgkDdiPresent = NewDxgkDdiPresent;\n\treturn OldDxgkInitialize(DriverObject,RegistryPath,&NewDriverInitializationData);\n}\n"
  },
  {
    "path": "Project/SysBoot/Source/VistaVideoHook.h",
    "content": "#ifndef _VISTA_VIDEO_HOOK_H_\n#define _VISTA_VIDEO_HOOK_H_\n\ntypedef struct _DXGK_SEGMENTBANKPREFERENCE {\n\tunion {\n\t\tstruct {\n\t\t\tUINT  Bank0: 7;\n\t\t\tUINT  Direction0: 1;\n\t\t\tUINT  Bank1: 7;\n\t\t\tUINT  Direction1: 1;\n\t\t\tUINT  Bank2: 7;\n\t\t\tUINT  Direction2: 1;\n\t\t\tUINT  Bank3: 7;\n\t\t\tUINT  Direction3: 1;\n\t\t};\n\t\tUINT  Value;\n\t};\n} DXGK_SEGMENTBANKPREFERENCE;\n\ntypedef struct _DXGK_SEGMENTPREFERENCE {\n\tunion {\n\t\tstruct {\n\t\t\tUINT  SegmentId0: 5;\n\t\t\tUINT  Direction0: 1;\n\t\t\tUINT  SegmentId1: 5;\n\t\t\tUINT  Direction1: 1;\n\t\t\tUINT  SegmentId2: 5;\n\t\t\tUINT  Direction2: 1;\n\t\t\tUINT  SegmentId3: 5;\n\t\t\tUINT  Direction3: 1;\n\t\t\tUINT  SegmentId4: 5;\n\t\t\tUINT  Direction4: 1;\n\t\t\tUINT  Reserved: 2;\n\t\t};\n\t\tUINT Value;\n\t};\n} DXGK_SEGMENTPREFERENCE;\n\n\ntypedef enum _D3DDDIFORMAT\n{\n\tD3DDDIFMT_UNKNOWN           =  0,\n\tD3DDDIFMT_R8G8B8            = 20,\n\tD3DDDIFMT_A8R8G8B8          = 21,\n\tD3DDDIFMT_X8R8G8B8          = 22,\n\tD3DDDIFMT_R5G6B5            = 23,\n\tD3DDDIFMT_X1R5G5B5          = 24,\n\tD3DDDIFMT_A1R5G5B5          = 25,\n\tD3DDDIFMT_A4R4G4B4          = 26,\n\tD3DDDIFMT_R3G3B2            = 27,\n\tD3DDDIFMT_A8                = 28,\n\tD3DDDIFMT_A8R3G3B2          = 29,\n\tD3DDDIFMT_X4R4G4B4          = 30,\n\tD3DDDIFMT_A2B10G10R10       = 31,\n\tD3DDDIFMT_A8B8G8R8          = 32,\n\tD3DDDIFMT_X8B8G8R8          = 33,\n\tD3DDDIFMT_G16R16            = 34,\n\tD3DDDIFMT_A2R10G10B10       = 35,\n\tD3DDDIFMT_A16B16G16R16      = 36,\n\tD3DDDIFMT_A8P8              = 40,\n\tD3DDDIFMT_P8                = 41,\n\tD3DDDIFMT_L8                = 50,\n\tD3DDDIFMT_A8L8              = 51,\n\tD3DDDIFMT_A4L4              = 52,\n\tD3DDDIFMT_V8U8              = 60,\n\tD3DDDIFMT_L6V5U5            = 61,\n\tD3DDDIFMT_X8L8V8U8          = 62,\n\tD3DDDIFMT_Q8W8V8U8          = 63,\n\tD3DDDIFMT_V16U16            = 64,\n\tD3DDDIFMT_W11V11U10         = 65, \n\tD3DDDIFMT_A2W10V10U10       = 67,\n\tD3DDDIFMT_UYVY              = MAKEFOURCC('U', 'Y', 'V', 'Y'),\n\tD3DDDIFMT_R8G8_B8G8         = MAKEFOURCC('R', 'G', 'B', 'G'),\n\tD3DDDIFMT_YUY2              = MAKEFOURCC('Y', 'U', 'Y', '2'),\n\tD3DDDIFMT_G8R8_G8B8         = MAKEFOURCC('G', 'R', 'G', 'B'),\n\tD3DDDIFMT_DXT1              = MAKEFOURCC('D', 'X', 'T', '1'),\n\tD3DDDIFMT_DXT2              = MAKEFOURCC('D', 'X', 'T', '2'),\n\tD3DDDIFMT_DXT3              = MAKEFOURCC('D', 'X', 'T', '3'),\n\tD3DDDIFMT_DXT4              = MAKEFOURCC('D', 'X', 'T', '4'),\n\tD3DDDIFMT_DXT5              = MAKEFOURCC('D', 'X', 'T', '5'),\n\tD3DDDIFMT_D16_LOCKABLE      = 70,\n\tD3DDDIFMT_D32               = 71,\n\tD3DDDIFMT_D15S1             = 73,\n\tD3DDDIFMT_D24S8             = 75,\n\tD3DDDIFMT_D24X8             = 77,\n\tD3DDDIFMT_D24X4S4           = 79,\n\tD3DDDIFMT_D16               = 80,\n\tD3DDDIFMT_D32F_LOCKABLE     = 82,\n\tD3DDDIFMT_D24FS8            = 83,\n\tD3DDDIFMT_D32_LOCKABLE      = 84,\n\tD3DDDIFMT_S8_LOCKABLE       = 85,\n\tD3DDDIFMT_S1D15             = 72,\n\tD3DDDIFMT_S8D24             = 74,\n\tD3DDDIFMT_X8D24             = 76,\n\tD3DDDIFMT_X4S4D24           = 78,\n\tD3DDDIFMT_L16               = 81,\n\tD3DDDIFMT_VERTEXDATA        =100,\n\tD3DDDIFMT_INDEX16           =101,\n\tD3DDDIFMT_INDEX32           =102,\n\tD3DDDIFMT_Q16W16V16U16      =110,\n\tD3DDDIFMT_MULTI2_ARGB8      = MAKEFOURCC('M','E','T','1'),\n\tD3DDDIFMT_R16F              = 111,\n\tD3DDDIFMT_G16R16F           = 112,\n\tD3DDDIFMT_A16B16G16R16F     = 113,\n\tD3DDDIFMT_R32F              = 114,\n\tD3DDDIFMT_G32R32F           = 115,\n\tD3DDDIFMT_A32B32G32R32F     = 116,\n\tD3DDDIFMT_CxV8U8            = 117,\n\tD3DDDIFMT_A1                = 118,\n\tD3DDDIFMT_DXVACOMPBUFFER_BASE = 150,\n\tD3DDDIFMT_PICTUREPARAMSDATA = D3DDDIFMT_DXVACOMPBUFFER_BASE+0,\n\tD3DDDIFMT_MACROBLOCKDATA    = D3DDDIFMT_DXVACOMPBUFFER_BASE+1,\n\tD3DDDIFMT_RESIDUALDIFFERENCEDATA = D3DDDIFMT_DXVACOMPBUFFER_BASE+2,\n\tD3DDDIFMT_DEBLOCKINGDATA    = D3DDDIFMT_DXVACOMPBUFFER_BASE+3,\n\tD3DDDIFMT_INVERSEQUANTIZATIONDATA = D3DDDIFMT_DXVACOMPBUFFER_BASE+4,\n\tD3DDDIFMT_SLICECONTROLDATA  = D3DDDIFMT_DXVACOMPBUFFER_BASE+5,\n\tD3DDDIFMT_BITSTREAMDATA     = D3DDDIFMT_DXVACOMPBUFFER_BASE+6,\n\tD3DDDIFMT_MOTIONVECTORBUFFER    = D3DDDIFMT_DXVACOMPBUFFER_BASE+7,\n\tD3DDDIFMT_FILMGRAINBUFFER    = D3DDDIFMT_DXVACOMPBUFFER_BASE+8,\n\tD3DDDIFMT_DXVA_RESERVED9    = D3DDDIFMT_DXVACOMPBUFFER_BASE+9,\n\tD3DDDIFMT_DXVA_RESERVED10   = D3DDDIFMT_DXVACOMPBUFFER_BASE+10,\n\tD3DDDIFMT_DXVA_RESERVED11   = D3DDDIFMT_DXVACOMPBUFFER_BASE+11,\n\tD3DDDIFMT_DXVA_RESERVED12   = D3DDDIFMT_DXVACOMPBUFFER_BASE+12,\n\tD3DDDIFMT_DXVA_RESERVED13   = D3DDDIFMT_DXVACOMPBUFFER_BASE+13,\n\tD3DDDIFMT_DXVA_RESERVED14   = D3DDDIFMT_DXVACOMPBUFFER_BASE+14,\n\tD3DDDIFMT_DXVA_RESERVED15   = D3DDDIFMT_DXVACOMPBUFFER_BASE+15,\n\tD3DDDIFMT_DXVA_RESERVED16   = D3DDDIFMT_DXVACOMPBUFFER_BASE+16,\n\tD3DDDIFMT_DXVA_RESERVED17   = D3DDDIFMT_DXVACOMPBUFFER_BASE+17,\n\tD3DDDIFMT_DXVA_RESERVED18   = D3DDDIFMT_DXVACOMPBUFFER_BASE+18,\n\tD3DDDIFMT_DXVA_RESERVED19   = D3DDDIFMT_DXVACOMPBUFFER_BASE+19,\n\tD3DDDIFMT_DXVA_RESERVED20   = D3DDDIFMT_DXVACOMPBUFFER_BASE+20,\n\tD3DDDIFMT_DXVA_RESERVED21   = D3DDDIFMT_DXVACOMPBUFFER_BASE+21,\n\tD3DDDIFMT_DXVA_RESERVED22   = D3DDDIFMT_DXVACOMPBUFFER_BASE+22,\n\tD3DDDIFMT_DXVA_RESERVED23   = D3DDDIFMT_DXVACOMPBUFFER_BASE+23,\n\tD3DDDIFMT_DXVA_RESERVED24   = D3DDDIFMT_DXVACOMPBUFFER_BASE+24,\n\tD3DDDIFMT_DXVA_RESERVED25   = D3DDDIFMT_DXVACOMPBUFFER_BASE+25,\n\tD3DDDIFMT_DXVA_RESERVED26   = D3DDDIFMT_DXVACOMPBUFFER_BASE+26,\n\tD3DDDIFMT_DXVA_RESERVED27   = D3DDDIFMT_DXVACOMPBUFFER_BASE+27,\n\tD3DDDIFMT_DXVA_RESERVED28   = D3DDDIFMT_DXVACOMPBUFFER_BASE+28,\n\tD3DDDIFMT_DXVA_RESERVED29   = D3DDDIFMT_DXVACOMPBUFFER_BASE+29,\n\tD3DDDIFMT_DXVA_RESERVED30   = D3DDDIFMT_DXVACOMPBUFFER_BASE+30,\n\tD3DDDIFMT_DXVA_RESERVED31   = D3DDDIFMT_DXVACOMPBUFFER_BASE+31,\n\tD3DDDIFMT_DXVACOMPBUFFER_MAX = D3DDDIFMT_DXVA_RESERVED31,\n\tD3DDDIFMT_BINARYBUFFER      = 199,\n\tD3DDDIFMT_FORCE_UINT        =0x7fffffff\n} D3DDDIFORMAT;\n\ntypedef struct _D3DDDI_RATIONAL\n{\n\tUINT  Numerator;\n\tUINT  Denominator;\n} D3DDDI_RATIONAL;\n\n#define D3DDDI_MAX_BROADCAST_CONTEXT        64\n\ntypedef UINT  D3DDDI_VIDEO_PRESENT_SOURCE_ID;\n\ntypedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS\n{\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\n\t\t\tUINT ModeChange      : 1;    // 0x00000001\n\t\t\tUINT FlipImmediate   : 1;    // 0x00000002\n\t\t\tUINT FlipOnNextVSync : 1;    // 0x00000004\n\t\t\tUINT Reserved        :29;    // 0xFFFFFFF8\n\t\t};\n\t\tUINT Value;\n\t};\n} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;\n\ntypedef struct _DXGKARG_SETVIDPNSOURCEADDRESS\n{\n\tD3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId;\n\tUINT  PrimarySegment;\n\tPHYSICAL_ADDRESS  PrimaryAddress;\n\tHANDLE  hAllocation;\n\tUINT\tContextCount;\n\tHANDLE\tContext[1+D3DDDI_MAX_BROADCAST_CONTEXT];\n\tDXGK_SETVIDPNSOURCEADDRESS_FLAGS Flags;\n}DXGKARG_SETVIDPNSOURCEADDRESS;\n\ntypedef NTSTATUS (APIENTRY*PFN_DXGKDDI_SETVIDPNSOURCEADDRESS)(CONST HANDLE  hAdapter,CONST DXGKARG_SETVIDPNSOURCEADDRESS*pSetVidPnSourceAddress);\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef struct _DXGKARG_SETVIDPNSOURCEVISIBILITY\n{\n\tD3DDDI_VIDEO_PRESENT_SOURCE_ID  VidPnSourceId;\n\tBOOLEAN                         Visible;\n} DXGKARG_SETVIDPNSOURCEVISIBILITY;\n\ntypedef NTSTATUS (APIENTRY*PFN_DXGKDDI_SETVIDPNSOURCEVISIBILITY)(CONST HANDLE hAdapter,CONST DXGKARG_SETVIDPNSOURCEVISIBILITY*pSetVidPnSourceVisibility);\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef struct _DXGK_ALLOCATIONINFOFLAGS {\n\tunion {\n\t\tstruct {\n\t\t\tUINT  CpuVisible: 1;\n\t\t\tUINT  PermanentSysMem: 1;\n\t\t\tUINT  Cached: 1;\n\t\t\tUINT  Protected: 1;\n\t\t\tUINT  ExistingSysMem: 1;\n\t\t\tUINT  ExistingKernelSysMem: 1;\n\t\t\tUINT  FromEndOfSegment: 1;\n\t\t\tUINT  Swizzled: 1;\n\t\t\tUINT  Overlay: 1;\n\t\t\tUINT  Capture: 1;\n\t\t\tUINT  UseAlternateVA: 1;\n\t\t\tUINT  SynchronousPaging: 1;\n\t\t\tUINT  LinkMirrored: 1;\n\t\t\tUINT  LinkInstanced: 1;\n\t\t\tUINT  Reserved: 14;\n\t\t};\n\t\tUINT  Value;\n\t};\n} DXGK_ALLOCATIONINFOFLAGS;\n\ntypedef struct _DXGK_ALLOCATIONUSAGEINFO1 {\n\tunion {\n\t\tstruct {\n\t\t\tUINT  PrivateFormat: 1;\n\t\t\tUINT  Swizzled: 1;\n\t\t\tUINT  MipMap: 1;\n\t\t\tUINT  Cube: 1;\n\t\t\tUINT  Volume: 1;\n\t\t\tUINT  Vertex: 1;\n\t\t\tUINT  Index: 1;\n\t\t\tUINT  Reserved: 25;\n\t\t};\n\t\tUINT  Value;\n\t} Flags;\n\tunion {\n\t\tD3DDDIFORMAT  Format;\n\t\tUINT  PrivateFormat;\n\t};\n\tUINT  SwizzledFormat;\n\tUINT  ByteOffset;\n\tUINT  Width;\n\tUINT  Height;\n\tUINT  Pitch;\n\tUINT  Depth;\n\tUINT  SlicePitch;\n} DXGK_ALLOCATIONUSAGEINFO1;\n\ntypedef struct _DXGK_ALLOCATIONUSAGEHINT {\n\tUINT  Version;\n\tDXGK_ALLOCATIONUSAGEINFO1  v1;\n} DXGK_ALLOCATIONUSAGEHINT;\n\ntypedef struct _DXGK_ALLOCATIONINFO {\n\tVOID*  pPrivateDriverData;\n\tUINT  PrivateDriverDataSize;\n\tUINT  Alignment;\n\tSIZE_T  Size;\n\tSIZE_T  PitchAlignedSize;\n\tDXGK_SEGMENTBANKPREFERENCE  HintedBank;\n\tDXGK_SEGMENTPREFERENCE  PreferredSegment;\n\tUINT  SupportedReadSegmentSet;\n\tUINT  SupportedWriteSegmentSet;\n\tUINT  EvictionSegmentSet; \n\tUINT  MaximumRenamingListLength;\n\tHANDLE  hAllocation;\n\tDXGK_ALLOCATIONINFOFLAGS  Flags;\n\tDXGK_ALLOCATIONUSAGEHINT*  pAllocationUsageHint;\n\tUINT  AllocationPriority;\n} DXGK_ALLOCATIONINFO;\n\n\n\ntypedef struct _DXGK_CREATEALLOCATIONFLAGS {\n\tunion {\n\t\tstruct {\n\t\t\tUINT  Resource: 1;\n\t\t\tUINT  Reserved: 31;\n\t\t};\n\t\tUINT  Value;\n\t};\n} DXGK_CREATEALLOCATIONFLAGS;\n\ntypedef struct _DXGKARG_CREATEALLOCATION {\n\tCONST VOID*  pPrivateDriverData;\n\tUINT  PrivateDriverDataSize;\n\tUINT  NumAllocations;\n\tDXGK_ALLOCATIONINFO*  pAllocationInfo;\n\tHANDLE  hResource;\n\tDXGK_CREATEALLOCATIONFLAGS  Flags;\n} DXGKARG_CREATEALLOCATION;\n\n\ntypedef NTSTATUS (APIENTRY*PFN_DXGKDDI_CREATEALLOCATION)(CONST HANDLE  hAdapter,DXGKARG_CREATEALLOCATION*pCreateAllocation);\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef struct _DXGK_DESTROYALLOCATIONFLAGS\n{\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tUINT    DestroyResource : 1;    // 0x00000001\n\t\t\tUINT    Reserved        :31;    // 0xFFFFFFFE\n\t\t};\n\t\tUINT        Value;\n\t};\n} DXGK_DESTROYALLOCATIONFLAGS;\n\ntypedef struct _DXGKARG_DESTROYALLOCATION\n{\n\tUINT            NumAllocations;\n\tCONST HANDLE*   pAllocationList;\n\tHANDLE          hResource;\n\tDXGK_DESTROYALLOCATIONFLAGS Flags;\n} DXGKARG_DESTROYALLOCATION;\n\n\ntypedef NTSTATUS (APIENTRY*PFN_DXGKDDI_DESTROYALLOCATION)(CONST HANDLE hAdapter,CONST DXGKARG_DESTROYALLOCATION*pDestroyAllocation);\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\ntypedef enum D3DDDI_FLIPINTERVAL_TYPE\n{\n\tD3DDDI_FLIPINTERVAL_IMMEDIATE = 0,\n\tD3DDDI_FLIPINTERVAL_ONE       = 1,\n\tD3DDDI_FLIPINTERVAL_TWO       = 2,\n\tD3DDDI_FLIPINTERVAL_THREE     = 3,\n\tD3DDDI_FLIPINTERVAL_FOUR      = 4,\n} D3DDDI_FLIPINTERVAL_TYPE;\n\n#define DXGK_PRESENT_SOURCE_INDEX       1\n#define DXGK_PRESENT_DESTINATION_INDEX  2\n#define DXGK_PRESENT_MAX_INDEX          DXGK_PRESENT_DESTINATION_INDEX\n\ntypedef struct _DXGK_PRESENTFLAGS\n{\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tUINT    Blt             : 1;    // 0x00000001\n\t\t\tUINT    ColorFill       : 1;    // 0x00000002\n\t\t\tUINT    Flip            : 1;    // 0x00000004\n\t\t\tUINT    FlipWithNoWait  : 1;    // 0x00000008\n\t\t\tUINT    SrcColorKey     : 1;    // 0x00000010\n\t\t\tUINT    DstColorKey     : 1;    // 0x00000020\n\t\t\tUINT    LinearToSrgb    : 1;    // 0x00000040\n\t\t\tUINT    Rotate          : 1;    // 0x00000080\n\t\t\tUINT    Reserved        :24;    // 0xFFFFFF00\n\t\t};\n\t\tUINT Value;\n\t};\n} DXGK_PRESENTFLAGS;\n\ntypedef struct _D3DDDI_PATCHLOCATIONLIST\n{\n\tUINT                AllocationIndex;\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tUINT            SlotId          : 24;   // 0x00FFFFFF\n\t\t\tUINT            Reserved        : 8;    // 0xFF000000\n\t\t};\n\t\tUINT                Value;\n\t};\n\tUINT                DriverId;\n\tUINT                AllocationOffset;\n\tUINT                PatchOffset;\n\tUINT                SplitOffset;\n} D3DDDI_PATCHLOCATIONLIST;\n\ntypedef struct _DXGK_ALLOCATIONLIST\n{\n\tHANDLE              hDeviceSpecificAllocation;\n\tstruct\n\t{\n\t\tUINT            WriteOperation  : 1;    // 0x00000001\n\t\tUINT            SegmentId       : 5;    // 0x0000002E\n\t\tUINT            Reserved        : 26;   // 0xFFFFFFC0\n\t};\n\tPHYSICAL_ADDRESS    PhysicalAddress;\n} DXGK_ALLOCATIONLIST;\n\n\ntypedef struct _DXGKARG_PRESENT\n{\n\tVOID*                       pDmaBuffer;\n\tUINT                        DmaSize;\n\tVOID*                       pDmaBufferPrivateData;\n\tUINT                        DmaBufferPrivateDataSize;\n\tDXGK_ALLOCATIONLIST*        pAllocationList;\n\tD3DDDI_PATCHLOCATIONLIST*   pPatchLocationListOut;\n\tUINT                        PatchLocationListOutSize;\n\tUINT                        MultipassOffset;\n\tUINT                        Color;\n\tRECT                        DstRect;\n\tRECT                        SrcRect;\n\tUINT                        SubRectCnt;\n\tCONST RECT*                 pDstSubRects;\n\tD3DDDI_FLIPINTERVAL_TYPE    FlipInterval;\n\tDXGK_PRESENTFLAGS           Flags;\n\tUINT                        DmaBufferSegmentId;\n\tPHYSICAL_ADDRESS            DmaBufferPhysicalAddress;    \n} DXGKARG_PRESENT;\n\ntypedef NTSTATUS (APIENTRY*PFN_DXGKDDI_PRESENT)(CONST HANDLE hContext,DXGKARG_PRESENT* pPresent);\n//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n//Vista Video Miniport Driver Initialization Data\ntypedef struct _DRIVER_INITIALIZATION_DATA\n{\n\tULONG\t\tVersion;\n\tvoid*\t\tDxgkDdiAddDevice;\n\tvoid*\t\tDxgkDdiStartDevice;\n\tvoid*\t\tDxgkDdiStopDevice;\n\tvoid*\t\tDxgkDdiRemoveDevice;\n\tvoid*\t\tDxgkDdiDispatchIoRequest;\n\tvoid*\t\tDxgkDdiInterruptRoutine;\n\tvoid*\t\tDxgkDdiDpcRoutine;\n\tvoid*\t\tDxgkDdiQueryChildRelations;\n\tvoid*\t\tDxgkDdiQueryChildStatus;\n\tvoid*\t\tDxgkDdiQueryDeviceDescriptor;\n\tvoid*\t\tDxgkDdiSetPowerState;\n\tvoid*\t\tDxgkDdiNotifyAcpiEvent;\n\tvoid*\t\tDxgkDdiResetDevice;\n\tvoid*\t\tDxgkDdiUnload;\n\tvoid*\t\tDxgkDdiQueryInterface;\n\tvoid*\t\tDxgkDdiControlEtwLogging;\n\tvoid*\t\tDxgkDdiQueryAdapterInfo;\n\tvoid*\t\tDxgkDdiCreateDevice;\n\tvoid*\t\tDxgkDdiCreateAllocation;\n\tvoid*\t\tDxgkDdiDestroyAllocation;\n\tvoid*\t\tDxgkDdiDescribeAllocation;\n\tvoid*\t\tDxgkDdiGetStandardAllocationDriverData;\n\tvoid*\t\tDxgkDdiAcquireSwizzlingRange;\n\tvoid*\t\tDxgkDdiReleaseSwizzlingRange;\n\tvoid*\t\tDxgkDdiPatch;\n\tvoid*\t\tDxgkDdiSubmitCommand;\n\tvoid*\t\tDxgkDdiPreemptCommand;\n\tvoid*\t\tDxgkDdiBuildPagingBuffer;\n\tvoid*\t\tDxgkDdiSetPalette;\n\tvoid*\t\tDxgkDdiSetPointerPosition;\n\tvoid*\t\tDxgkDdiSetPointerShape;\n\tvoid*\t\tDxgkDdiResetFromTimeout;\n\tvoid*\t\tDxgkDdiRestartFromTimeout;\n\tvoid*\t\tDxgkDdiEscape;\n\tvoid*\t\tDxgkDdiCollectDbgInfo;\n\tvoid*\t\tDxgkDdiQueryCurrentFence;\n\tvoid*\t\tDxgkDdiIsSupportedVidPn;\n\tvoid*       DxgkDdiRecommendFunctionalVidPn;\n\tvoid*\t\tDxgkDdiEnumVidPnCofuncModality;\n\tvoid*\t\tDxgkDdiSetVidPnSourceAddress;\n\tvoid*\t\tDxgkDdiSetVidPnSourceVisibility;\n\tvoid*\t\tDxgkDdiCommitVidPn;\n\tvoid*\t\tDxgkDdiUpdateActiveVidPnPresentPath;\n\tvoid*\t\tDxgkDdiRecommendMonitorModes;\n\tvoid*\t\tDxgkDdiRecommendVidPnTopology;\n\tvoid*\t\tDxgkDdiGetScanLine;\n\tvoid*\t\tDxgkDdiStopCapture;\n\tvoid*\t\tDxgkDdiControlInterrupt;\n\tvoid*\t\tDxgkDdiCreateOverlay;\n\t//\n\t// Device functions\n\t//\n\tvoid*\t\tDxgkDdiDestroyDevice;\n\tvoid*\t\tDxgkDdiOpenAllocation;\n\tvoid*\t\tDxgkDdiCloseAllocation;\n\tvoid*\t\tDxgkDdiRender;\n\tvoid*\t\tDxgkDdiPresent;\n\t//\n\t// Overlay functions\n\t//\n\tvoid*\t\tDxgkDdiUpdateOverlay;\n\tvoid*\t\tDxgkDdiFlipOverlay;\n\tvoid*\t\tDxgkDdiDestroyOverlay;\n\t//\n\t// Context supports.\n\t//\n\tvoid*\t\tDxgkDdiCreateContext;\n\tvoid*\t\tDxgkDdiDestroyContext;\n\t//\n\t// Linked Display Adapter support.\n\t//\n\tvoid*\t\tDxgkDdiLinkDevice;\n\tvoid*\t\tDxgkDdiSetDisplayPrivateDriverFormat;\n}DRIVER_INITIALIZATION_DATA, *PDRIVER_INITIALIZATION_DATA;\n\n\nNTSTATUS NewDxgkInitialize(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath,IN PDRIVER_INITIALIZATION_DATA DriverInitializationData);\ntypedef NTSTATUS (*PFN_DxgkInitialize)(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath,IN PDRIVER_INITIALIZATION_DATA DriverInitializationData);\nextern PFN_DxgkInitialize\tOldDxgkInitialize;\n\n#endif\n"
  },
  {
    "path": "Project/SysBoot/Source/resource.h",
    "content": ""
  },
  {
    "path": "Project/SysBoot/WinXPDrv32/DDKBuild.bat",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SysBoot/WinXPDrv32/SysBoot.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SysBoot\", \"SysBoot.vcproj\", \"{39CF688F-D270-4EED-98F6-31EB28C3C74A}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477} = {651091F4-30CA-4134-91EF-88FB5F4D7477}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\WinXPDrv32\\Code.vcproj\", \"{651091F4-30CA-4134-91EF-88FB5F4D7477}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Release|Win32.Build.0 = Release|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Trial|Win32.Build.0 = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.Build.0 = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SysBoot/WinXPDrv32/SysBoot.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SysBoot\"\n\tProjectGUID=\"{39CF688F-D270-4EED-98F6-31EB28C3C74A}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.CMD -WXP checked ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.CMD -WXP checked ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"SysBoot.sys\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.CMD -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.CMD -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"SysBoot.sys\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PromptQuit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ScrOutput.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysBoot.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoHook.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VistaVideoHook.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PromptQuit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ScrOutput.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysBoot.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoHook.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VistaVideoHook.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserBoot.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MakeFile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SysBoot/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SysBoot/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SysBoot/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SysBoot/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SysBoot/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SysLang/Source/MakeFile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/SysLang/Source/Sources",
    "content": "TARGETNAME=SysLang\nTARGETPATH=..\\..\\..\\Bin\nTARGETTYPE=DRIVER\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\n\nTARGETLIBS\t=\t..\\..\\Unicode\\Source\\Obj\\i386\\Unicode.lib\nSOURCES\t=\tSysLang.cpp\\\n\t\t\tSyserLanguage.rc\n\t\t\t"
  },
  {
    "path": "Project/SysLang/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/SysLang/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../Unicode/Source/Unicode.h\"\n\n#endif\n"
  },
  {
    "path": "Project/SysLang/Source/SysLang.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysLang.h\"\n\nconst union cptable * current_cptable = NULL;\n\nvoid SyserLanguageUnload(IN PDRIVER_OBJECT DriverObject)\n{\n\tIoDeleteDevice(DriverObject->DeviceObject);\n}\n\nint\tSyserAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen)\n{\n\tif(current_cptable==NULL)\n\t\treturn 0;\n\treturn cp_mbstowcs(current_cptable,0,szBuf,TStrLen(szBuf)+1,WszBuf,MaxLen);\n}\n\nint\tSyserUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen)\n{\n\tif(current_cptable==NULL)\n\t\treturn 0;\n\treturn cp_wcstombs(current_cptable,0,WszBuf,TStrLen(WszBuf)+1,szBuf,MaxLen,NULL,NULL);\n}\n\nNTSTATUS  MJFunction(IN PDEVICE_OBJECT DeviceObject,IN PIRP  Irp)\n{\n\tIrp->IoStatus.Status=STATUS_SUCCESS;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nvoid GetOSCodePage()\n{\n\tUINT CodePage;\n\tWCHAR szBuffer[32];\n\tUNICODE_STRING UnicodeString;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tUnicodeString.Length=0;\n\tUnicodeString.MaximumLength=sizeof(szBuffer);\n\tUnicodeString.Buffer=szBuffer;\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED | RTL_QUERY_REGISTRY_NOEXPAND;\n\tRegTable[0].Name = WSTR(\"ACP\");\n\tRegTable[0].EntryContext = &UnicodeString;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_CONTROL,WSTR(\"\\\\Nls\\\\CodePage\"),RegTable,NULL,NULL)))\n\t{\n\t\t::DbgPrint(\"SyserLanguage : Fail to get OS CodePage!\\n\");\n\t\treturn;\n\t}\n\tif(USDecStrToNum(szBuffer,&CodePage)==false)\n\t{\n\t::DbgPrint(\"SyserLanguage : Invalid CodePage String [%ws]\\n\",szBuffer);\t\n\t\treturn;\n\t}\n\tcurrent_cptable = cp_get_table(CodePage);\n\tif(current_cptable)\n\t\t::DbgPrint(\"SyserLanguage : CodePage = %d\\n\",CodePage);\n\telse\n\t\t::DbgPrint(\"SyserLanguage : Unsupported CodePage = %d\\n\",CodePage);\n}\n\n/////////////////////////////////////////////////////////////////////////////////////////\n//\n/////////////////////////////////////////////////////////////////////////////////////////\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)\n{\n\tUNICODE_STRING      DeviceName;\n\tNTSTATUS            status;\n\tPDEVICE_OBJECT      DeviceObject;\n\tSYSER_LANGUAGE_DEVICE_EXTENSION*   pDevExt;\n\tRtlInitUnicodeString(&DeviceName,WSTR(\"\\\\Device\\\\SyserLanguage\"));\n\tstatus = IoCreateDevice(DriverObject,sizeof(SYSER_LANGUAGE_DEVICE_EXTENSION),&DeviceName,FILE_DEVICE_UNKNOWN,0,TRUE,&DeviceObject);\n\tif(!NT_SUCCESS(status))\n\t\treturn status;\n\tpDevExt = (SYSER_LANGUAGE_DEVICE_EXTENSION*)DeviceObject->DeviceExtension;\n\tZeroMemory(pDevExt,sizeof(SYSER_LANGUAGE_DEVICE_EXTENSION));\n\tGetOSCodePage();\n\tpDevExt->cbSize = sizeof(SYSER_LANGUAGE_DEVICE_EXTENSION);\n\tpDevExt->pfnAnsiToUnicode = SyserAnsiToUnicode;\n\tpDevExt->pfnUnicodeToAnsi = SyserUnicodeToAnsi;\n\tfor(DWORD FunCount=0;FunCount<IRP_MJ_MAXIMUM_FUNCTION;FunCount++)\n\t\tDriverObject->MajorFunction[FunCount]=MJFunction;\n\tDriverObject->DriverUnload = SyserLanguageUnload;\n\treturn STATUS_SUCCESS;\n}\n"
  },
  {
    "path": "Project/SysLang/Source/SysLang.h",
    "content": "#ifndef _SYSER_LANGUAGE_H_\n#define _SYSER_LANGUAGE_H_\n\ntypedef int\t\t(*PFN_AnsiToUnicode)(const char*szBuf,WCHAR*WszBuf,int MaxLen);\ntypedef int\t\t(*PFN_UnicodeToAnsi)(const WCHAR*WszBuf,char*szBuf,int MaxLen);\n\nstruct SYSER_LANGUAGE_DEVICE_EXTENSION\n{\n\tint\t\t\t\t\t\tcbSize;\n\tPFN_AnsiToUnicode\t\tpfnAnsiToUnicode;\n\tPFN_UnicodeToAnsi\t\tpfnUnicodeToAnsi;\n};\n\n#endif\n"
  },
  {
    "path": "Project/SysLang/Source/SyserLanguage.rc",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser multi language support\"\n#define VER_INTERNALNAME_STR        \"SysLang.sys\"\n#define VER_ORIGINALFILENAME_STR    \"SysLang.sys\"\n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n           VALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/SysLang/Source/SyserLanguage.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser multi language support\"\n#define VER_INTERNALNAME_STR        \"SysLang.sys\"\n#define VER_ORIGINALFILENAME_STR    \"SysLang.sys\"\n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n           VALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/SysLang/Source/resource.h",
    "content": ""
  },
  {
    "path": "Project/SysLang/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SysLang/WinXPDrv32/SysLang.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SysLang\", \"SysLang.vcproj\", \"{39CF688F-D270-4EED-98F6-31EB28C3C74A}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E} = {27CC6E41-F0EA-48F8-9114-D1F78C617E4E}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Unicode\", \"..\\..\\Unicode\\WinXPDrv32\\Unicode.vcproj\", \"{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{39CF688F-D270-4EED-98F6-31EB28C3C74A}.Release|Win32.Build.0 = Release|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SysLang/WinXPDrv32/SysLang.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SysLang\"\n\tProjectGUID=\"{39CF688F-D270-4EED-98F6-31EB28C3C74A}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"SysLang.sys\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"SysLang.sys\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysLang.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysLang.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserLanguage.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MakeFile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SysLang/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/SysLang/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/SysLang/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SysLang/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SysLang/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/Syser/Source/AddTypeViewerDlg.cpp",
    "content": "#include \"stdafx.h\"\n#include \"AddTypeViewerDlg.h\"\n#include \"Syser.h\"\n#include \"TypeViewerWnd.h\"\nenum CAddTypeViewerDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_OK=WISP_ID_USER_START,\n\tCMD_ID_BUTTON_CANCEL,\n\tCMD_ID_LIST_TYPE,\n\tCMD_ID_RADIOBOX_FLOATTYPE,\n\tCMD_ID_RADIOBOX_LOCKTYPE,\n\tCMD_ID_RADIOBOX_DWORD,\n\tCMD_ID_RADIOBOX_QWORD,\n\tCMD_ID_STATICSTR_DESCRIPTION,\n\tCMD_ID_RADIOBOX_HEX,\n\tCMD_ID_RADIOBOX_DECIMAL,\n\tCMD_ID_STATICSTR_VALUE,\n\tCMD_ID_STATICSTR_BEGINADDRESS,\n\tCMD_ID_EDIT_END_POSITION,\n\tCMD_ID_EDIT_VALUE,\n\tCMD_ID_CHECKBOX_COUNT,\n};\nWISP_FORM_RES_ITEM CAddTypeViewerDlg::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,386,268},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Attach Type\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{166,10,204,56},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Description\")\n\t},\n\t\t{\n\t\t\tWISP_CTRL_STATIC_STRING,\n\t\t\t{174,30,204,56},\n\t\t\tCMD_ID_STATICSTR_DESCRIPTION,\n\t\t\tWISP_WS_NULL,\n\t\t\tWSTR(\"\"),\n\t\t\tNULL,\n\t\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{166,75,204,106},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Options\")\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{5,5,155,230},\n\t\tCMD_ID_LIST_TYPE,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER,\n\t\tNULL,\n\t},\n\t\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{176,90,100,16},\n\t\tCMD_ID_RADIOBOX_FLOATTYPE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Floating Type\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{176,110,90,16},\n\t\tCMD_ID_RADIOBOX_LOCKTYPE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Lock Type\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{194,135,45,16},\n\t\tCMD_ID_STATICSTR_BEGINADDRESS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Address:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{245,135,93,16},\n\t\tCMD_ID_EDIT_END_POSITION,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{245,155,45,16},\n\t\tCMD_ID_RADIOBOX_DECIMAL,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Dec\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{301,155,45,16},\n\t\tCMD_ID_RADIOBOX_HEX,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Hex\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{185,197,68,25},\n\t\tCMD_ID_BUTTON_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{280,197,68,25},\n\t\tCMD_ID_BUTTON_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Cancel\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\nWISP_MSG_MAP_BEGIN(CAddTypeViewerDlg)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CAddTypeViewerDlg)\nWISP_MSG_CMD_MAP(CMD_ID_LIST_TYPE,OnTypeListCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CAddTypeViewerDlg)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_OK,OnOKButtonEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_CANCEL,OnCancelButtonEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_RADIOBOX_LOCKTYPE,OnLockRadioBoxEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_RADIOBOX_FLOATTYPE,OnFloatRadioBoxEvent)\n\nWISP_MSG_EVENT_MAP_END\nCAddTypeViewerDlg::CAddTypeViewerDlg()\n{\n\tm_pFormRes = m_FormRes;\n\tm_CurrentSymbol = NULL;\n}\nCAddTypeViewerDlg::~CAddTypeViewerDlg()\n{\n}\nbool CAddTypeViewerDlg::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_IconDIBList.Load(\"\\\\sysericon\\\\SourceCodeIcon.bmp\",16,16,80);\n\tm_IconDIBList.SetColorKey(RGB(0,255,0));\n\tm_OKButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_OK);\n\tm_CancelButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_CANCEL);\n\tm_FloatRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_FLOATTYPE);\n\tm_LockRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_LOCKTYPE);\n\tm_DesciptionStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_DESCRIPTION);\n\tm_DecimalRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_DECIMAL);\n\tm_HexRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_HEX);\n\tm_BeginAddressEdit=(CWispEdit*)GetFormItem(CMD_ID_EDIT_END_POSITION);\n\tm_BeginAddressStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_BEGINADDRESS);\n\tm_TypeList=(CWispList*)GetFormItem(CMD_ID_LIST_TYPE);\n\tm_TypeList->InsertColumn(WSTR(\"\"),500);\n\tm_HexRadioBox->Check();\n\tm_FloatRadioBox->Check();\n\tm_BeginAddressEdit->EnableWindow(false);\n\tm_HexRadioBox->EnableWindow(false);\n\tm_DecimalRadioBox->EnableWindow(false);\n\tm_BeginAddressStr->EnableWindow(false);\n\tm_OKButton->EnableWindow(false);\n\tm_DesciptionStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_DESCRIPTION);\n\tm_DesciptionStr->SetWindowText(WSTR(\"Attach type to address.\"));\n\tInitTypeList();\n\treturn true;\n}\nbool CAddTypeViewerDlg::OnDestroy(IN WISP_MSG* pMsg)\n{\n\n\treturn true;\n}\nbool CAddTypeViewerDlg::OnFloatRadioBoxEvent(IN WISP_MSG* pMsg)\n{\n\tWCHAR* pStr;\n\tDWORD BeginAddress;\n\tm_BeginAddressEdit->EnableWindow(false);\n\tm_HexRadioBox->EnableWindow(false);\n\tm_DecimalRadioBox->EnableWindow(false);\n\tm_BeginAddressStr->EnableWindow(false);\n\tpStr = m_BeginAddressEdit->GetWindowText();\n\tif(m_HexRadioBox->IsChecked())\n\t{\n\t\tif(SHexStrToNum(pStr,&BeginAddress))\n\t\t\tm_BeginAddress=BeginAddress;\n\t}\n\telse\n\t{\n\t\tif(SDecStrToNum(pStr,&BeginAddress))\n\t\t\tm_BeginAddress=BeginAddress;\n\t}\n\tm_BeginAddressEdit->SetWindowText(WSTR(\"\"));\n\treturn true;\n}\nbool CAddTypeViewerDlg::OnLockRadioBoxEvent(IN WISP_MSG* pMsg)\n{\n\tWCHAR Buffer[30];\n\tm_BeginAddressEdit->EnableWindow(true);\n\tm_HexRadioBox->EnableWindow(true);\n\tm_DecimalRadioBox->EnableWindow(true);\n\tm_BeginAddressStr->EnableWindow(true);\n\tif(m_HexRadioBox->IsChecked())\n\t{\n\t\tTSPrintf(Buffer,WSTR(\"%X\"),m_BeginAddress);\n\t}\n\telse\n\t{\n\t\tTSPrintf(Buffer,WSTR(\"%d\"),m_BeginAddress);\n\t}\n\tm_BeginAddressEdit->SetWindowText(Buffer);\n\treturn true;\n}\n\nbool CAddTypeViewerDlg::OnOKButtonEvent(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tNUM_PTR NumPtr;\n\tDWORD TypeInfo=0;\n\thItem = m_TypeList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(m_FloatRadioBox->IsChecked())\n\t{\n\t\tTypeInfo=1;\n\t}\n\tif(hItem)\n\t{\n\t\tNumPtr = m_TypeList->GetItemData(hItem,0);\t\t\n\t}\n\tPostCloseMsg();\n\treturn true;\n}\nbool CAddTypeViewerDlg::OnCancelButtonEvent(IN WISP_MSG* pMsg)\n{\n\tPostCloseMsg();\n\treturn true;\n}\nbool CAddTypeViewerDlg::CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr)\n{\n\tm_BeginAddress=BeginAddr;\n\treturn CWispForm::CreateForm(pParentWnd,ShowMode);\n}\n\nvoid CAddTypeViewerDlg::InitTypeList()\n{\n\tHANDLE hSubItem;\n\tDWORD SymbolCount;\n\tPSDTYPE_INFILE* pTypeList;\n\tCSDSModule* pSDSModule;\n\tPSDUDTTYPE pUdtItem;\n\tDWORD i,index,NameLen;\n\tif(m_CurrentSymbol==NULL)\n\t\treturn;\n\tpSDSModule = m_CurrentSymbol;\n\tm_TypeList->ClearChildItem();\n\tpTypeList = pSDSModule->GetSymbolList(&SymbolCount);\n\n\tfor(i = 1; i < SymbolCount; i++)\n\t{\n\t\tif(pTypeList[i]->Type!=SD_CLASS)\n\t\t\tcontinue;\n\t\tindex=0;\t\t\t\t\t\t\n\t\tpUdtItem = (PSDUDTTYPE)&pTypeList[i][1];\n\t\tNameLen = TStrLen(pTypeList[i]->uName.Name);\n\t\thSubItem = m_TypeList->InsertItemA(pTypeList[i]->uName.Name,NULL,0,m_IconDIBList[index]);\n\t\tm_TypeList->SetItemData(hSubItem,0,i);\n\t}\n\tindex = 54;\t\t\t\t\t\t\t\n\tfor(i = 1; i < SymbolCount; i++)\n\t{\n\t\tif(pTypeList[i]->Type!=SD_STRUCT)\n\t\t\tcontinue;\n\t\tpUdtItem = (PSDUDTTYPE)&pTypeList[i][1];\n\t\thSubItem = m_TypeList->InsertItemA(pTypeList[i]->uName.Name,NULL,0,m_IconDIBList[index]);\n\t\tm_TypeList->SetItemData(hSubItem,0,i);\n\t}\n\tindex = 72;\t\t\n\tfor(i = 1; i < SymbolCount; i++)\n\t{\n\t\tif(pTypeList[i]->Type!=SD_UNION)\n\t\t\tcontinue;\t\n\t\tpUdtItem = (PSDUDTTYPE)&pTypeList[i][1];\t\t\t\n\t\thSubItem = m_TypeList->InsertItemA(pTypeList[i]->uName.Name,NULL,0,m_IconDIBList[index]);\n\t\tm_TypeList->SetItemData(hSubItem,0,i);\n\t}\n}\nbool CAddTypeViewerDlg::OnTypeListCmd(IN WISP_MSG* pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg) {\n\tcase WISP_CMD_ITEM_SELECTED:\n\t\tm_OKButton->EnableWindow(true);\n\t\tbreak;\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/AddTypeViewerDlg.h",
    "content": "#ifndef _ADDTYPEVIEWERDLG_H_\n#define _ADDTYPEVIEWERDLG_H_\nclass CAddTypeViewerDlg:public CWispForm\n{\npublic:\n\tCAddTypeViewerDlg();\n\t~CAddTypeViewerDlg();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnTypeListCmd)\n\tDECLARE_WISP_MSG_EVENT(OnOKButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnCancelButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnLockRadioBoxEvent)\n\tDECLARE_WISP_MSG_EVENT(OnFloatRadioBoxEvent)\n\tbool CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr);\npublic:\t\n\tvoid InitTypeList();\n\tCSDSModule* m_CurrentSymbol;\n\tCWispStaticStr* m_DesciptionStr;\n\tCWispStaticStr* m_BeginAddressStr;\n\tCWispList*\t\tm_TypeList;\n\tCWispButton*   m_OKButton;\n\tCWispButton*   m_CancelButton;\n\tCWispRadioBox* m_FloatRadioBox;\n\tCWispRadioBox* m_LockRadioBox;\n\tCWispRadioBox* m_DecimalRadioBox;\n\tCWispRadioBox* m_HexRadioBox;\n\tCWispStaticStr* m_ValueStr;\n\tCWispEdit* m_BeginAddressEdit;\n\tCWispDIBList m_IconDIBList;\n\tDWORD\t\tm_BeginAddress;\n};\n#endif //_ADDTYPEVIEWERDLG_H_"
  },
  {
    "path": "Project/Syser/Source/Analyzer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Analyzer.h\"\n\n\nvoid CFuncCodeMaker::MakeFirst(STFuncCode*pFuncCode)\n{\n\tInstrCount = 0;\n\tdbCheckSum = 0;\n\tdwVal = dwCheckSum = 0;\n\tddVal = ddCheckSum = 0;\n}\n\nvoid CFuncCodeMaker::MakeNext(BYTE*CodeBuffer,STFuncCode*pFuncCode)\n{\n\t//ȡֽۼӺ\n\tdbCheckSum+=*CodeBuffer;\n\tif(InstrCount%2)\n\t{//1,3\n\t\tdwVal+=*CodeBuffer<<8;\n\t\tdwCheckSum+=dwVal;\n\t\tif(InstrCount%3)\n\t\t{//1\n\t\t\tddVal += *CodeBuffer<<8;\n\t\t}\n\t\telse\n\t\t{//3\n\t\t\tddVal += *CodeBuffer<<24;\n\t\t\tddCheckSum += ddVal;\n\t\t}\n\t}\n\telse\n\t{//0,2\n\t\tdwVal=*CodeBuffer;\n\t\tif(InstrCount%4)\n\t\t{//2\n\t\t\tddVal += *CodeBuffer<<16;\n\t\t}\n\t\telse\n\t\t{//0\n\t\t\tddVal = *CodeBuffer;\n\t\t}\n\t}\n\tInstrCount++;\n}\n\nvoid CFuncCodeMaker::MakeEnd(STFuncCode*pFuncCode,int Size)\n{\n\tpFuncCode->FuncSize = (WORD)Size;\n\tpFuncCode->InstrCount = InstrCount;\n\tpFuncCode->dbCheckSum = dbCheckSum;\n\tpFuncCode->dwCheckSum = dwCheckSum;\n\tpFuncCode->ddCheckSum = ddCheckSum;\t\t\n}\n\nvoid CFuncCodeMaker::Make(BYTE*CodeBuffer,int Size,STFuncCode*pFuncCode)\n{\n\tCFuncCodeMaker Maker;\n\tint Off;\n\tOff = 0;\n\tMaker.MakeFirst(pFuncCode);\n\twhile(Off<Size)\n\t{\n\t\tMaker.MakeNext(&CodeBuffer[Off],pFuncCode);\n\t\tOff+=MAX(CInstrSym::InstrLen(&CodeBuffer[Off],Size-Off),1);\n\t}\n\tMaker.MakeEnd(pFuncCode,Size);\n}\n\n\nCAnalyzer::CAnalyzer()\n{\n\tm_pImageFile = &m_PEFile;\n\tm_Style = 0;\n}\n\nCAnalyzer::~CAnalyzer()\n{\n}\n\nint\tCAnalyzer::ReadMemory(ULPOS Address,void*Buffer,int Size)\n{\n\treturn m_ImageCache.ReadMemory(Address,Buffer,Size,&m_ImageCache);\n}\n\nbool CAnalyzer::IsInvalidAddress(ULPOS Address)\n{\n\treturn m_PEFile.IsInvalidAddress(Address);\n}\n\nbool CAnalyzer::Open(DWORD ModuleBase,DWORD ModuleSize,RWProc RMFunction,void*RMParam)\n{\n\tif(m_Style&AS_NO_SYM)\n\t\tm_PEFile.m_OpenMode|=PE_OPEN_NO_IMPORT|PE_OPEN_NO_EXPORT;\n\tif(RMFunction)\n\t\tm_PEFile.SetRMProc(RMFunction,RMParam);\n\telse\n\t\tm_PEFile.SetRMProc(CImageFile::StaticReadRealMemory,RMParam);\n\tm_PEFile.m_ImageBase = ModuleBase;\n\tif(ModuleSize)\n\t\tm_PEFile.m_ImageSize=ModuleSize;\n\tm_PEFile.m_FileObjType = FILE_OBJ_TYPE_OS_MEMORY_IMAGE;\n\tif(m_PEFile.Open(NULL)==false)\n\t\treturn false;\n\tm_ImageCache.Init(m_PEFile.m_ImageSize/MP_SIZE,PMS_DYN_PAGE);\n\tm_ImageCache.MapImage(&m_PEFile);\n\treturn true;\n}\n\nbool CAnalyzer::Open(PCSTR FileName)\n{\n\tif(m_Style&AS_NO_SYM)\n\t\tm_PEFile.m_OpenMode|=PE_OPEN_NO_IMPORT|PE_OPEN_NO_EXPORT;\n\tif(m_PEFile.Open(FileName)==false)\n\t\treturn false;\n\tm_ImageCache.Init(MIN(m_PEFile.m_ImageSize,0x100000)/MP_SIZE,PMS_DYN_PAGE);\n\tm_ImageCache.MapImage(&m_PEFile);\n\treturn true;\n}\n\nvoid CAnalyzer::Close()\n{\n\tm_ImageCache.UnmapImage(&m_PEFile);\n\tm_ImageCache.Release();\n\tm_FuncMap.Clear();\n\tm_PEFile.Close();\n\tm_CodeBuffer.Resize(MP_SIZE);\n\tm_RecogCodeList.Clear();\n}\n\nbool CAnalyzer::LoadFDC(PCSTR FileName)\n{\n\tCImageFileStream FileStream;\n\tif(FileStream.Open(FileName)==false)\n\t\treturn false;\n\tm_FuncDescrMap.Load(FileStream);\n\tFileStream.Close();\n\treturn true;\n}\n\nbool CAnalyzer::AnalyzerFromExportFunction(int Deep,int MaxFuncCount)\n{\n\tint i;\n\tTFuncMap::IT Iter;\n\tint nMaxFuncCount;\n\tm_AnalyzerDeep = Deep;\n\tif(m_PEFile.m_ExportFuncCount==0)\n\t\treturn AnalyzerFromEntryPoint(Deep,MaxFuncCount);\n\tfor(i=0;i<m_PEFile.m_ExportFuncCount;i++)\n\t{\n\t\tif(m_PEFile.m_ExportFunc[i].Address==0x102012d0)\n\t\t\tDeep=100;\n\t\tIter = m_FuncMap.InsertUnique(m_PEFile.m_ExportFunc[i].Address);\n\t\tif(Iter==m_FuncMap.End())\n\t\t\tcontinue;\n\t\tIter->m_bLibFunc = false;\n\t\tIter->m_CmtEnd = Iter->m_End = Iter->m_Start = m_PEFile.m_ExportFunc[i].Address;\n\t\tnMaxFuncCount=MaxFuncCount;\n\t\tAnalyzerFunction(&(*Iter),0,nMaxFuncCount);\n\t}\t\n\treturn true;\n}\n\nbool CAnalyzer::AnalyzerFromEntryPoint(int Deep,int MaxFuncCount)\n{\n\tTFuncMap::IT Iter;\n\tIter = m_FuncMap.InsertUnique(m_PEFile.m_EntryPoint);\n\tif(Iter==m_FuncMap.End())\n\t\treturn true;\n\tIter->m_bLibFunc = false;\n\tIter->m_CmtEnd = Iter->m_End = Iter->m_Start = m_PEFile.m_EntryPoint;\n\tm_AnalyzerDeep = Deep;\n\tAnalyzerFunction(&(*Iter),0,MaxFuncCount);\n\treturn true;\n}\n\nbool CAnalyzer::Analyzer(ULPOS Address,int Deep,int MaxFuncCount)\n{\n\tTFuncMap::IT Iter;\n\tIter = m_FuncMap.InsertUnique(Address);\n\tIter->m_bLibFunc = false;\n\tIter->m_CmtEnd = Iter->m_End = Iter->m_Start = Address;\n\tm_AnalyzerDeep = Deep;\n\tAnalyzerFunction(&(*Iter),0,MaxFuncCount);\n\treturn true;\n}\n\n\nbool CAnalyzer::AnalyzerFunction(CFunction*pFun,int Deep,int&CountLeft)\n{\n\tbool\tbRetExist;\n\tWCHAR\twszBuffer[256];\n\tULPOS\tAddress,MaxJmpAddr,DesAddr;\n\tDWORD\tLength,CodeLen;\n\tBYTE\tBuffer[64],OpCode;\n\tAddress = pFun->m_Start;\n\tSTFuncCode\tFuncCode;\n\tCFuncCodeMaker\tCodeMake;\n\tif(CountLeft<=0 || Deep>=m_AnalyzerDeep)\n\t\treturn false;\n\tCodeMake.MakeFirst(&FuncCode);\n\tMaxJmpAddr = 0;\n\tbRetExist = false;\n\twhile(Address < m_pImageFile->m_ImageHighBase)\n\t{\n\t\tLength = m_pImageFile->ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\t\tif(Length==0)\n\t\t\tbreak;\n\t\tOpCode = *Buffer;\n\t\tCodeLen=CInstrSym::InstrLen(Buffer,Length);\n\t\tMIN_LIMIT(CodeLen,1);\n\t\tif(bRetExist==false && (OpCode==0xC3 || OpCode==0xC2))\n\t\t\tbRetExist = true;\n\t\tif(Address == pFun->m_Start && OpCode==0xE9)\n\t\t{\n\t\t\tpFun->m_CmtEnd = Address;\n\t\t\tpFun->m_End = Address+CodeLen;\n\t\t\tULPOS FuncAddr = Address+GET_DWORD(Buffer,1)+CodeLen;\n\t\t\tTFuncMap::IT FuncIt = m_FuncMap.InsertUnique(FuncAddr);\n\t\t\tif(FuncIt==m_FuncMap.End())\n\t\t\t{\n\t\t\t\tFuncIt = m_FuncMap.Find(FuncAddr);\n\t\t\t\tif(FuncIt==m_FuncMap.End())\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tFuncIt->m_bLibFunc = false;\n\t\t\t\tFuncIt->m_CmtEnd = FuncIt->m_End = FuncIt->m_Start = FuncAddr;\n\t\t\t\tif(AnalyzerFunction(&(*FuncIt),Deep+1,CountLeft)==false)\n\t\t\t\t\treturn false;\n\t\t\t}\n\t\t\tpFun->m_ChildFunc.InsertUnique(Address - pFun->m_Start,&(*FuncIt));\n\t\t\tbreak;\n\t\t}\n\t\tCodeMake.MakeNext(Buffer,&FuncCode);\n\t\tMAX_LIMIT(CodeLen,Length);\n\t\tif(Deep<m_AnalyzerDeep)\n\t\t{//Ӻ\n\t\t\tif(CodeLen == 5 && OpCode==0xE8)\n\t\t\t{\n\t\t\t\tULPOS FuncAddr = Address+GET_DWORD(Buffer,1)+CodeLen;\n\t\t\t\tTFuncMap::IT FuncIt = m_FuncMap.InsertUnique(FuncAddr);\n\t\t\t\tif(FuncIt==m_FuncMap.End())\n\t\t\t\t{\n\t\t\t\t\tFuncIt = m_FuncMap.Find(FuncAddr);\n\t\t\t\t\tif(FuncIt==m_FuncMap.End())\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tFuncIt->m_bLibFunc = false;\n\t\t\t\t\tFuncIt->m_CmtEnd = FuncIt->m_End = FuncIt->m_Start = FuncAddr;\n\t\t\t\t\tif(AnalyzerFunction(&(*FuncIt),Deep+1,CountLeft)==false)\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tpFun->m_ChildFunc.InsertUnique(Address - pFun->m_Start,&(*FuncIt));\n\t\t\t}\n\t\t}\n\t\tif(OpCode==0xEB || (OpCode>=0x70 && OpCode<=0x7f))\n\t\t{\n\t\t\tDesAddr = Address+(char)Buffer[1]+2;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\telse if(OpCode==0x0F && (Buffer[1]>=0x80 && Buffer[1]<=0x8F))\n\t\t{\n\t\t\tDesAddr = Address+(int)GET_DWORD(Buffer,2)+6;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\n\t\tif(Address>=MaxJmpAddr)\n\t\t{\t\t\n\t\t\tif(\tOpCode==0xCC || OpCode==0xC3 || OpCode==0xC2 || \n\t\t\t\t((OpCode==0xE9 && (int)GET_DWORD(Buffer,1) < 0) || (OpCode==0xEB && (char)GET_BYTE(Buffer,1) < 0) && bRetExist) ||\n\t\t\t\t(OpCode==0xFF && GET_BYTE(Buffer,1)==0x25 ) )\n\t\t\t{\n\t\t\t\tpFun->m_CmtEnd = Address;\n\t\t\t\tpFun->m_End = Address+CodeLen;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tAddress+=CodeLen;\n\t}\n\tCodeMake.MakeEnd(&FuncCode,pFun->m_End-pFun->m_Start);\n\tCFuncDescrMap::IT DescrIter = m_FuncDescrMap.Find(FuncCode);\n\tif(DescrIter!=m_FuncDescrMap.End())\n\t{\n\t\tTStrCpy(wszBuffer,(char*)DescrIter->Name);\n\t\tpFun->m_Name = wszBuffer;\n\t\tpFun->m_bLibFunc = true;\n\t}\n\t//else if(pFun->m_Name.IsEmpty())\n\t//\tpFun->m_Name.Format(WSTR(\"Func%08X\"),pFun->m_Start);\n\tCountLeft--;\n\treturn true;\n}\n\nint CAnalyzer::GetFuncSize(BYTE*CodeBuff,int Size)\n{\n\tbool\tbRetExist;\n\tULPOS\tAddress,MaxJmpAddr,DesAddr;\n\tint\t\tCodeLen;\n\tBYTE\tOpCode,*Buffer;\n\tAddress = 0;\n\tMaxJmpAddr = 0;\n\tbRetExist = false;\n\twhile(Address < (ULPOS)Size)\n\t{\n\t\tBuffer = &CodeBuff[Address];\n\t\tOpCode =*Buffer;\n\t\tCodeLen = CInstrSym::InstrLen(Buffer,Size-Address);\n\t\tMIN_LIMIT(CodeLen,1);\n\t\tif(bRetExist==false && (OpCode==0xC3 || OpCode==0xC2))\n\t\t\tbRetExist = true;\n\t\tif(Address==0 && OpCode==0xE9)\n\t\t\treturn \tAddress+CodeLen;\n\t\tif(OpCode==0xEB || (OpCode>=0x70 && OpCode<=0x7f))\n\t\t{\n\t\t\tDesAddr = Address+(char)Buffer[1]+2;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\telse if(OpCode==0x0F && (Buffer[1]>=0x80 && Buffer[1]<=0x8F))\n\t\t{\n\t\t\tDesAddr = Address+(int)GET_DWORD(Buffer,2)+6;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\tif(Address>=MaxJmpAddr)\n\t\t{\n\t\t\tif(\tOpCode==0xCC || OpCode==0xC3 || OpCode==0xC2 || \n\t\t\t\t(OpCode==0xE9 && (int)GET_DWORD(Buffer,1) < 0) ||\n\t\t\t\t(OpCode==0xEB && (char)GET_BYTE(Buffer,1) < 0) && bRetExist)\n\t\t\t{\n\t\t\t\treturn \tAddress+CodeLen;\n\t\t\t}\n\t\t}\n\t\tAddress+=CodeLen;\n\t}\n\treturn Size;\n}\n\nvoid CAnalyzer::MakeFuncDescr(ULPOS Start,ULSIZE Size,STFuncCode*pFuncCode)\n{\n\tif(m_CodeBuffer.Size()< (int)Size+MAX_INSTR_LEN)\n\t\tm_CodeBuffer.Resize(Size+MAX_INSTR_LEN);\n\tSize = ReadMemory(Start,(BYTE*)m_CodeBuffer,Size);\n\tm_FuncCodeMaker.Make(m_CodeBuffer,Size,pFuncCode);\n}\n\nPCWSTR CAnalyzer::AnalyzerScan(CLogicStateCAD*pStateCAD)\n{\n\tSTStatePathEntry*pResultEntry;\n\tm_RecogCodeList.Clear();\n\tm_RecogPathMethodList.Clear();\n\tm_RecogPathAddrList.Clear();\n\tm_ReportInfo.Name.Empty();\n\tpResultEntry = AnalyzerScanPath(m_PEFile.m_EntryPoint,&pStateCAD->m_StateRoot);\n\tif(pResultEntry)\n\t\treturn pResultEntry->ReportInfo.Name;\n\treturn NULL;\n}\n\nSTStatePathEntry*CAnalyzer::PathFunc(ULPOS BaseAddr,STStatePathEntry*pParentEntry)\n{\n\tbool\tbRetExist;\n\tTStatePathEntrySet::IT PathEntryIter;\n\tSTStatePathEntry Entry;\n\tULPOS\tAddress,MaxJmpAddr,DesAddr;\n\tULSIZE\tLength,CodeLen,FuncSize;\n\tBYTE\tBuffer[64],OpCode;\n\tint\t\tSafeCount;\n\tCFuncCodeMaker\tCodeMake;\n\tCodeMake.MakeFirst(&Entry.RecogCode.FuncCode);\n\tAddress = BaseAddr;\n\tSafeCount = 0;\n\tFuncSize = 0;\n\tMaxJmpAddr = 0;\n\tbRetExist = false;\n\twhile(Address < m_pImageFile->m_ImageHighBase && SafeCount<0x1000)\n\t{\n\t\tLength=ReadMemory(Address,Buffer,MAX_INSTR_LEN);\n\t\tif(Length==0)\n\t\t\tbreak;\n\t\tOpCode = *Buffer;\n\t\tCodeLen=CInstrSym::InstrLen(Buffer,Length);\n\t\tMIN_LIMIT(CodeLen,1);\n\t\tCodeMake.MakeNext(Buffer,&Entry.RecogCode.FuncCode);\n\t\tif(bRetExist==false && (OpCode==0xC3 || OpCode==0xC2))\n\t\t\tbRetExist = true;\n\t\tif(Address==BaseAddr && OpCode==0xE9)\n\t\t{\n\t\t\tFuncSize+=CodeLen;\n\t\t\tbreak;\n\t\t}\n\t\tif(OpCode==0xEB || (OpCode>=0x70 && OpCode<=0x7f))\n\t\t{\n\t\t\tDesAddr = Address+(char)Buffer[1]+2;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\telse if(OpCode==0x0F && (Buffer[1]>=0x80 && Buffer[1]<=0x8F))\n\t\t{\n\t\t\tDesAddr = Address+(int)GET_DWORD(Buffer,2)+6;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\tif(Address>=MaxJmpAddr)\n\t\t{\n\t\t\tif(\tOpCode==0xCC || OpCode==0xC3 || OpCode==0xC2 || \n\t\t\t\t(OpCode==0xE9 && (int)GET_DWORD(Buffer,1) < 0) ||\n\t\t\t\t(OpCode==0xEB && (char)GET_BYTE(Buffer,1) < 0) && bRetExist)\n\t\t\t{\n\t\t\t\tFuncSize+=CodeLen;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tAddress+=CodeLen;\n\t\tFuncSize+=CodeLen;\n\t\tSafeCount++;\n\t}\n\tEntry.RecogCode.CodeType = STRecogCode::FUNCTION;\n\tCodeMake.MakeEnd(&Entry.RecogCode.FuncCode,FuncSize);\n\tPathEntryIter = pParentEntry->NextEntry.Find(Entry);\n\tif(PathEntryIter==pParentEntry->NextEntry.End())\n\t\treturn NULL;\n\treturn &(*PathEntryIter);\n}\n\nSTStatePathEntry* CAnalyzer::PathInitTermTable(ULPOS BaseAddr,ULSIZE Count,ULSIZE Length,STStatePathEntry*pParentEntry)\n{\n\tULPOS Address;\n\tSTStatePathEntry*pEntry;\n\tfor(ULSIZE n=0;n<Count;n++)\n\t{\n\t\tAddress = 0;\n\t\tif(ReadMemory(BaseAddr+n*Length,&Address,Length)==0)\n\t\t\treturn NULL;\n\t\tpEntry = AnalyzerScanPath(Address,pParentEntry);\n\t\tif(pEntry)\n\t\t\treturn pEntry;\n\t}\n\treturn NULL;\n}\n\nSTStatePathEntry* CAnalyzer::AnalyzerScanPath(ULPOS BaseAddr,STStatePathEntry*pParentEntry)\n{\n\tULSIZE Length,Count;\n\tULPOS Address,Offset,Address1;\n\tSTPathMethod*pMethod;\n\tSTStatePathEntry*pEntry,Entry;\n\tpEntry = NULL;\n\tswitch(pParentEntry->RecogCode.CodeType)\n\t{\n\tcase STRecogCode::FUNCTION:\n\t\tpEntry = PathFunc(BaseAddr,pParentEntry);\n\t\tbreak;\n\tcase STRecogCode::IGNORE_ENTRY:\n\t\tif(pParentEntry->NextEntry.Count())\n\t\t\tpEntry = &(*pParentEntry->NextEntry.Begin());\n\t\tbreak;\n\t}\n\tif(pEntry == NULL)\n\t\treturn NULL;\n\tm_RecogCodeList.Append(pEntry->RecogCode);\n\tm_RecogPathAddrList.Append(BaseAddr);\n\tif(pEntry->ReportInfo.Name.GetLength())\n\t{\n\t\tif(pEntry->ReportInfo.Type == STReportInfo::RI_TYPE_REPORT)\n\t\t{\n\t\t\tm_ReportInfo = pEntry->ReportInfo;\n\t\t\treturn pEntry;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_ReportInfo = pEntry->ReportInfo;\n\t\t}\n\t}\n\tpMethod = &pParentEntry->PathMethod;\n\tm_RecogPathMethodList.Append(*pMethod);\n\tswitch(pMethod->Method)\n\t{\n\tcase STPathMethod::OFFSET:\n\t\tAddress = pMethod->Offset;\n\t\tbreak;\n\tcase STPathMethod::ADDR_PTR:\n\t\tAddress = 0;\n\t\tLength = ReadMemory(BaseAddr+pMethod->Offset,&Address,MIN(pMethod->Length,sizeof(Address)));\n\t\tif(Length==0)\n\t\t\treturn NULL;\n\t\tbreak;\n\tcase STPathMethod::OFFSET_PTR:\n\t\tOffset = 0;\n\t\tLength = ReadMemory(BaseAddr+pMethod->Offset,&Offset,MIN(pMethod->Length,sizeof(Offset)));\n\t\tif(Length==0)\n\t\t\treturn NULL;\n\t\tAddress = BaseAddr + pMethod->Offset + Offset + pMethod->Delta;\n\t\tbreak;\n\tcase STPathMethod::CPP_INIT_TERM_TABLE:\n\t\tAddress = 0;\n\t\tLength = ReadMemory(BaseAddr+pMethod->Offset,&Address,MIN(pMethod->Length,sizeof(Offset)));\n\t\tif(Length==0)\n\t\t\treturn NULL;\n\t\tAddress1 = 0;\n\t\tLength = ReadMemory(BaseAddr+pMethod->Offset+pMethod->Delta,&Address1,MIN(pMethod->Length,sizeof(Offset)));\n\t\tif(Length==0)\n\t\t\treturn NULL;\n\t\tif(Address<Address1)\n\t\t\tAddress1=Address;\n\t\tCount = (Address1 - Address)/pMethod->Length;\n\t\tpEntry=PathInitTermTable(Address,Count,pMethod->Length,pParentEntry);\n\t\tif(pEntry==NULL)\n\t\t\treturn NULL;\n\t\tbreak;\n\tdefault:\n\t\treturn NULL;\n\t\tbreak;\n\t}\n\tif(IsInvalidAddress(Address))\n\t\treturn NULL;\n\treturn AnalyzerScanPath(Address,pEntry);\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/Analyzer.h",
    "content": "#ifndef _ANALYZER_H_\n#define _ANALYZER_H_\n\n#include \"LogicStateCAD.h\"\n\nclass CFunction\n{\npublic:\n\tbool\t\tm_bLibFunc;\n\tCStrW\t\tm_Name;\n\tULPOS\t\tm_Start;\n\tULPOS\t\tm_End;\n\tULPOS\t\tm_CmtEnd;\n\tTMap<ULPOS,CFunction*> m_ChildFunc;\n};\n\ntypedef TMap<ULPOS,CFunction*>\t\tTChildFuncMap;\ntypedef TMap<ULPOS,CFunction>\t\tTFuncMap;\n\n#define\tAS_NO_SYM\t\t\t\t\t\t0x00000001\n\nclass CFuncCodeMaker\n{\npublic:\n\tBYTE dbCheckSum;\n\tWORD dwCheckSum,dwVal,InstrCount;\n\tDWORD ddCheckSum,ddVal;\npublic:\n\tvoid MakeFirst(STFuncCode*pFuncCode);\n\tvoid MakeNext(BYTE*CodeBuffer,STFuncCode*pFuncCode);\n\tvoid MakeEnd(STFuncCode*pFuncCode,int Size);\n\tstatic void Make(BYTE*CodeBuffer,int Size,STFuncCode*pFuncCode);\n};\n\nclass CAnalyzer\n{\npublic:\n\tCAnalyzer();\n\t~CAnalyzer();\npublic:\n\tUINT\t\tm_Style;\n\tCPageMemory\tm_ImageCache;\n\tCImageFile*\tm_pImageFile;\n\tCPEFile\t\tm_PEFile;\n\tTFuncMap\tm_FuncMap;\n\tint\t\t\tm_AnalyzerDeep;\n\tCFuncCodeMaker\t\tm_FuncCodeMaker;\n\tTArray<BYTE,MP_SIZE>m_CodeBuffer;\n\tCFuncDescrMap\tm_FuncDescrMap;\n\tTList<DWORD>\tm_RecogPathAddrList;\n\tTList<STPathMethod>\tm_RecogPathMethodList;\n\tTList<STRecogCode>\tm_RecogCodeList;\n\tSTReportInfo\tm_ReportInfo;\npublic:\n\tint\t\tReadMemory(ULPOS Address,void*Buffer,int Size);\n\tbool\tIsInvalidAddress(ULPOS Address);\npublic://X86 PE\n\tbool\tOpen(PCSTR FileName);\n\tbool\tOpen(DWORD ModuleBase,DWORD ModuleSize=0,RWProc RMFunction=NULL,void*RMParam=NULL);\n\tvoid\tClose();\n\tbool\tLoadFDC(PCSTR FileName = NULL);\n\tbool\tAnalyzerFromEntryPoint(int Deep,int MaxFuncCount);\n\tbool\tAnalyzerFromExportFunction(int Deep,int MaxFuncCount);\n\tbool\tAnalyzer(ULPOS Address,int Deep,int MaxFuncCount);\n\tbool\tAnalyzerFunction(CFunction*pFun,int Deep,int&CountLeft);\n\tstatic\tint\tGetFuncSize(BYTE*CodeBuff,int Size);\n\tvoid \tMakeFuncDescr(ULPOS Start,ULSIZE Size,STFuncCode*pFuncCode);\n\tPCWSTR\tAnalyzerScan(CLogicStateCAD*pStateCAD);\n\tSTStatePathEntry*AnalyzerScanPath(ULPOS BaseAddr,STStatePathEntry*pParentEntry);\n\tSTStatePathEntry*PathFunc(ULPOS BaseAddr,STStatePathEntry*pParentEntry);\n\tSTStatePathEntry*PathInitTermTable(ULPOS BaseAddr,ULSIZE Count,ULSIZE Length,STStatePathEntry*pParentEntry);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/BpintCmd.cpp",
    "content": "#include \"stdafx.h\"\n#include \"BpintCmd.h\"\n// __declspec(naked) void BpintEntryPointer()\n// {\n// \t__asm{\n// \n// \t\t//////////       0       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       1       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       2       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       3       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       4       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       5       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       6       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t//////////       7       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       8       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       9       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       a       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       b       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       c       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       d       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       e       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \n// \t\t//////////       f       ///////////\n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\t\t\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \n// \t\t_emit(0x6a)\n// \t\t_emit(0x00)\n// \t\t_emit(0xe9)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t\t_emit(0)\n// \t}\n// }\n// void BpintBreakEntry()\n// {\n// \n// }\n\nvoid InitBpintCmdEntryPointer()\n{\n\tSyserClrCR0WP();\n\tDWORD EntryPointer = (DWORD)SyserBpintEntryPointer;\n\tDWORD dwPointer=(DWORD)SyserBpintBreakEntry;\n\tfor(int i = 0; i < 0x100; i++,EntryPointer=EntryPointer+7)\n\t{\n\t\t*(BYTE*)(1+EntryPointer)=(BYTE)i;\n\t\t*(DWORD *)(3+EntryPointer)=dwPointer - EntryPointer - 7;\n\t}\n\tSyserRestoreCR0();\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/BpintCmd.h",
    "content": "#ifndef _BPINTCMD_H_\n#define _BPINTCMD_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nvoid SyserBpintEntryPointer();\nvoid SyserBpintBreakEntry();\nvoid InitBpintCmdEntryPointer();\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif /* _BPINTCMD_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/BreakPointForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"CodeBPEdit.h\"\n#include \"DataBPEdit.h\"\n\nenum CBreakPointForm::WISP_FORM_ID\n{\t\n\tCMD_ID_BT_EDIT = WISP_ID_USER_START,\n\tCMD_ID_BT_NEW,\n\tCMD_ID_BT_REMOVE,\n\tCMD_ID_BT_REMOVE_ALL,\n\tCMD_ID_BT_ENABLE_ALL,\n\tCMD_ID_BT_DISABLE_ALL,\n\tCMD_ID_BP_TAB,\n\tCMD_ID_BP_CODE_LIST,\n\tCMD_ID_BP_DATA_LIST,\n};\n\nWISP_FORM_RES_ITEM CBreakPointForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,450,300},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Breakpoint\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t},\n\t{\n\t\tWISP_CTRL_TAB,\n\t\t{5,5,350,260},\n\t\tCMD_ID_BP_TAB,\n\t\tWISP_WS_THIN_BORDER,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{380,30,70,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:1\"\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,90,70,20},\n\t\tCMD_ID_BT_EDIT,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Edit\"),\n\t\tNULL,\n\t\tWSTR(\"Edit break point\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,120,70,20},\n\t\tCMD_ID_BT_NEW,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"New\"),\n\t\tNULL,\n\t\tWSTR(\"Insert New break point\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,150,70,20},\n\t\tCMD_ID_BT_REMOVE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Remove\"),\n\t\tNULL,\n\t\tWSTR(\"Remove break point\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,180,70,20},\n\t\tCMD_ID_BT_REMOVE_ALL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Remove All\"),\n\t\tNULL,\n\t\tWSTR(\"Remove All break point\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,210,70,20},\n\t\tCMD_ID_BT_ENABLE_ALL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Enable All\"),\n\t\tNULL,\n\t\tWSTR(\"Enable all break point\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{362,240,70,20},\n\t\tCMD_ID_BT_DISABLE_ALL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Disable All\"),\n\t\tNULL,\n\t\tWSTR(\"Disable all break point\")\n\t},\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CBreakPointForm)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CBreakPointForm)\n\tWISP_MSG_CMD_MAP(CMD_ID_BP_TAB,OnBPListChange)\n\tWISP_MSG_CMD_MAP(CMD_ID_BP_CODE_LIST,OnBPListItemSelect)\n\tWISP_MSG_CMD_MAP(CMD_ID_BP_DATA_LIST,OnBPListItemSelect)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CBreakPointForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_EDIT,OnEdit)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_NEW,OnNew)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_REMOVE,OnRemove)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_REMOVE_ALL,OnRemoveAll)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_ENABLE_ALL,OnEnableAll)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_DISABLE_ALL,OnDisableAll)\nWISP_MSG_EVENT_MAP_END\n\nCBreakPointForm::CBreakPointForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCBreakPointForm::~CBreakPointForm()\n{\n}\n\nvoid CBreakPointForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tUpdateContext();\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreateForm(NULL);\n\t}\n}\n\nvoid CBreakPointForm::UpdateContext()\n{\n\tif(IsVisible())\n\t{\n\t\tRefreshCodeBreakPoint();\n\t\tRefreshDataBreakPoint();\n\t}\n}\n\nvoid CBreakPointForm::InitBPList(CWispList*pList)\n{\n\tpList->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tpList->InsertColumn(WSTR(\"Name\"),100);\n\tpList->InsertColumn(WSTR(\"Owner Process\"),120);\n\tpList->InsertColumn(WSTR(\"Condition\"),120);\n}\n\nbool CBreakPointForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_pBPTab = (CWispTabWnd*) GetFormItem(CMD_ID_BP_TAB);\n\tm_pBTEdit = (CWispButton*) GetFormItem(CMD_ID_BT_EDIT);\n\tm_pBTRemove = (CWispButton*) GetFormItem(CMD_ID_BT_REMOVE);\n\tm_pBTRemoveAll = (CWispButton*) GetFormItem(CMD_ID_BT_REMOVE_ALL);\n\tm_pBTEnableAll = (CWispButton*) GetFormItem(CMD_ID_BT_ENABLE_ALL);\n\tm_pBTDisableAll = (CWispButton*) GetFormItem(CMD_ID_BT_DISABLE_ALL);\n\n\tm_pCodeBPList = new CWispList;\n\tm_pCodeBPList->Create(NULL,0,0,0,0,m_pBPTab,CMD_ID_BP_CODE_LIST,WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS);\n\tm_pCodeBPList->SetOwner(this);\n\tm_pBPTab->InsertWnd(WSTR(\"Code Breakpoint\"),m_pCodeBPList);\n\tInitBPList(m_pCodeBPList);\n\n\tm_pActiveBPList = m_pCodeBPList;\n\n\tm_pDataBPList = new CWispList;\n\tm_pDataBPList->Create(NULL,0,0,0,0,m_pBPTab,CMD_ID_BP_DATA_LIST,WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS);\n\tm_pDataBPList->SetOwner(this);\n\tm_pBPTab->InsertWnd(WSTR(\"Data Breakpoint\"),m_pDataBPList);\n\tInitBPList(m_pDataBPList);\n\n\tRefreshCodeBreakPoint();\n\tRefreshDataBreakPoint();\n\treturn true;\n}\n\nint CBreakPointForm::RefreshCodeBreakPoint()\n{\n\tint Count = 0;\n\tif(m_pCodeBPList)\n\t\tm_pCodeBPList->ClearChildItem();\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t{\n\t\tCount=ListCodeBreakPoint();\n\t}\n\tUpdateBPListButton();\n\tUpdateClient();\n\treturn Count;\n}\n\nint CBreakPointForm::RefreshDataBreakPoint()\n{\n\tint Count = 0;\n\tif(m_pDataBPList)\n\t\tm_pDataBPList->ClearChildItem();\n\tif(gpSyser->m_pDebugger)\n\t{\n\t\tCount=ListDataBreakPoint();\n\t}\n\tUpdateBPListButton();\n\tUpdateClient();\n\treturn Count;\n}\n\n\nvoid CBreakPointForm::UpdateBPListButton()\n{\n\tbool bEnable = m_pActiveBPList->GetItemCount()>0;\n\tm_pBTRemoveAll->EnableWindow(bEnable);\n\tm_pBTEnableAll->EnableWindow(bEnable);\n\tm_pBTDisableAll->EnableWindow(bEnable);\n\tbEnable = m_pActiveBPList->GetNextItem(NULL,WISP_WLIS_SELECTED)!=NULL;\n\tm_pBTRemove->EnableWindow(bEnable);\n\tm_pBTEdit->EnableWindow(bEnable);\n\tUpdate();\n}\n\nbool CBreakPointForm::OnEdit(WISP_MSG*pMsg)\n{\n\tHANDLE hItem = m_pActiveBPList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(m_pActiveBPList == m_pCodeBPList)\n\t{\n\t\tCCodeBPEdit\tCodeBPEditDlg;\n\t\tif(m_pActiveBPList->GetItemData(hItem,1))\n\t\t\tCodeBPEditDlg.m_pModuleBP = (MODULE_BP*)m_pActiveBPList->GetItemData(hItem);\n\t\telse\n\t\t\tCodeBPEditDlg.m_pBP = (BREAK_POINT*)m_pActiveBPList->GetItemData(hItem);\n\t\tCodeBPEditDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\t\tif(CodeBPEditDlg.GetFormResult() ==WISP_ID_OK)\n\t\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tCDataBPEdit\tDataBPEditDlg;\n\t\tDataBPEditDlg.m_pBP = (BREAK_POINT*)m_pActiveBPList->GetItemData(hItem);\n\t\tDataBPEditDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\t\tif(DataBPEditDlg.GetFormResult() ==WISP_ID_OK)\n\t\t\tRefreshDataBreakPoint();\n\t}\n\treturn true;\n}\n\nbool CBreakPointForm::OnNew(WISP_MSG*pMsg)\n{\n\tif(m_pActiveBPList == m_pCodeBPList)\n\t{\n\t\tCCodeBPEdit\tCodeBPEditDlg;\n\t\tCodeBPEditDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\t\tif(CodeBPEditDlg.GetFormResult() ==WISP_ID_OK)\n\t\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tCDataBPEdit\tDataBPEditDlg;\n\t\tDataBPEditDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\t\tif(DataBPEditDlg.GetFormResult() ==WISP_ID_OK)\n\t\t\tRefreshDataBreakPoint();\n\t}\n\treturn true;\n}\n\nbool CBreakPointForm::OnRemove(WISP_MSG*pMsg)\n{\n\tHANDLE hItem = m_pActiveBPList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(m_pActiveBPList==m_pCodeBPList)\n\t{\n\t\tif(m_pActiveBPList->GetItemData(hItem,1))\n\t\t{\n\t\t\tCModuleBPMap::IT Iter = *(MODULE_BP*)m_pActiveBPList->GetItemData(hItem);\n\t\t\tgpSyser->m_SyserUI.RemoveCodeBP(Iter.Key());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tgpSyser->m_pDebugger->RemoveCodeBP((BREAK_POINT*)m_pActiveBPList->GetItemData(hItem));\n\t\t}\n\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tgpSyser->m_pDebugger->RemoveDataBP((BREAK_POINT*)m_pActiveBPList->GetItemData(hItem));\n\t\tRefreshDataBreakPoint();\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CBreakPointForm::OnRemoveAll(WISP_MSG*pMsg)\n{\n\tif(m_pActiveBPList==m_pCodeBPList)\n\t{\n\t\tgpSyser->m_pDebugger->RemoveAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.m_ModuleBPMap.Clear();\n\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tgpSyser->m_pDebugger->RemoveAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tRefreshDataBreakPoint();\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CBreakPointForm::OnEnableAll(WISP_MSG*pMsg)\n{\n\tif(m_pActiveBPList==m_pCodeBPList)\n\t{\n\t\tgpSyser->m_pDebugger->EnableAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.EnableAllModuleBP();\n\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tgpSyser->m_pDebugger->EnableAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tRefreshDataBreakPoint();\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CBreakPointForm::OnDisableAll(WISP_MSG*pMsg)\n{\n\tif(m_pActiveBPList==m_pCodeBPList)\n\t{\n\t\tgpSyser->m_pDebugger->DisableAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.EnableAllModuleBP(false);\n\t\tRefreshCodeBreakPoint();\n\t}\n\telse\n\t{\n\t\tgpSyser->m_pDebugger->DisableAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tRefreshDataBreakPoint();\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CBreakPointForm::OnBPListChange(WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_TAB_ACTIVE_CHG)\n\t{\n\t\tm_pActiveBPList = (CWispList*) pMsg->Command.Param2;\n\t\tUpdateBPListButton();\n\t}\n\treturn true;\n}\n\nbool CBreakPointForm::OnBPListItemSelect(WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_SELECTED)\n\t{\t\t\n\t\tif(m_pBTRemove->IsDisabled())\n\t\t{\n\t\t\tm_pBTEdit->EnableWindow(true);\n\t\t\tm_pBTRemove->EnableWindow(true);\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CBreakPointForm::InitBPItem(CWispList*pList,HANDLE hItem,BREAK_POINT*pBP)\n{\n\tWISP_CHAR szBuffer[256];\n\tpList->SetItemData(hItem,0,(NUM_PTR)pBP);\n\tpList->SetItemData(hItem,1,0);//BREAK_POINT\n\tAnsiToUnicode(pBP->OwnerName,szBuffer,256);\n\tpList->SetItemText(hItem,1,szBuffer);\n\tAnsiToUnicode(pBP->Condition,szBuffer,256);\n\tpList->SetItemText(hItem,2,szBuffer);\n\tif(pBP->State == BP_STATE_DISABLE)\n\t{\n\t\tpList->SetItemTextColor(hItem,0,SYS_COLOR[SC_GRAY]);\n\t\tpList->SetItemTextColor(hItem,1,SYS_COLOR[SC_GRAY]);\n\t\tpList->SetItemTextColor(hItem,2,SYS_COLOR[SC_GRAY]);\n\t}\n}\n\nvoid CBreakPointForm::InitModuleBPItem(CWispList*pList,HANDLE hItem,MODULE_BP*pBP)\n{\n\tWISP_CHAR szBuffer[256];\n\tpList->SetItemData(hItem,0,(NUM_PTR)pBP);\n\tpList->SetItemData(hItem,1,1);//MODULE_BP\n\tpList->SetItemText(hItem,1,WSTR(\"<All Process>\"));\n\tAnsiToUnicode(pBP->Condition,szBuffer,256);\n\tpList->SetItemText(hItem,2,szBuffer);\n\tif(pBP->State == BP_STATE_DISABLE)\n\t{\n\t\tpList->SetItemTextColor(hItem,0,SYS_COLOR[SC_GRAY]);\n\t\tpList->SetItemTextColor(hItem,1,SYS_COLOR[SC_GRAY]);\n\t\tpList->SetItemTextColor(hItem,2,SYS_COLOR[SC_GRAY]);\n\t}\n}\n\nint CBreakPointForm::ListCodeBreakPoint()\n{\n\tWISP_CHAR szBuffer[256];\n\tHANDLE hItem;\n\tint Count = 0;\n\tfor(CCodeBPMap::IT Iter=gpSyser->m_pDebugger->m_pCodeBPMap->Begin();Iter!=gpSyser->m_pDebugger->m_pCodeBPMap->End();Iter++)\n\t{\n\t\tif((Iter->Type&(BP_TYPE_PATCH|BP_TYPE_DEBUG)) || Iter->pModuleBP)\n\t\t\tcontinue;\n\t\tif(Iter->Name.Length())\n\t\t{\n\t\t\tAnsiToUnicode(Iter->Name,szBuffer,256);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tuNumToStr(Iter->Address,szBuffer);\n\t\t}\n\t\thItem = m_pCodeBPList->InsertItem(szBuffer);\n\t\tInitBPItem(m_pCodeBPList,hItem,&(*Iter));\n\t\tCount++;\n\t}\n\tfor(CModuleBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tAnsiToUnicode(Iter->Name,szBuffer,256);\n\t\thItem = m_pCodeBPList->InsertItem(szBuffer);\n\t\tInitModuleBPItem(m_pCodeBPList,hItem,&(*Iter));\t\t\n\t}\n\treturn Count;\n}\n\nint CBreakPointForm::ListDataBreakPoint()\n{\n\tWISP_CHAR szBuffer[256];\n\tHANDLE hItem;\n\tint Count = 0;\n\tfor(CDataBPList::IT Iter=gpSyser->m_pDebugger->m_pDataBPList->Begin();Iter!=gpSyser->m_pDebugger->m_pDataBPList->End();Iter++)\n\t{\n\t\tif((Iter->Type&(BP_TYPE_PATCH|BP_TYPE_DEBUG)))\n\t\t\tcontinue;\n\t\tif(Iter->Name.Length())\n\t\t{\n\t\t\tAnsiToUnicode(Iter->Name,szBuffer,256);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tuNumToStr(Iter->Address,szBuffer);\n\t\t}\n\t\thItem = m_pDataBPList->InsertItem(szBuffer);\n\t\tInitBPItem(m_pDataBPList,hItem,&(*Iter));\n\t\tCount++;\n\t}\n\treturn Count;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/BreakPointForm.h",
    "content": "#ifndef _BREAK_POINT_FORM_H_\n#define _BREAK_POINT_FORM_H_\n\nclass CBreakPointForm : public CWispForm\n{\npublic:\n\tCBreakPointForm();\n\t~CBreakPointForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tCWispList*\tm_pCodeBPList;\n\tCWispList*\tm_pDataBPList;\n\tCWispList*\tm_pActiveBPList;\n\tCWispTabWnd*m_pBPTab;\n\tCWispButton*m_pBTEdit;\n\tCWispButton*m_pBTRemove;\n\tCWispButton*m_pBTRemoveAll;\n\tCWispButton*m_pBTEnableAll;\n\tCWispButton*m_pBTDisableAll;\n\tvoid Popup();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEdit)\n\tDECLARE_WISP_MSG_EVENT(OnNew)\n\tDECLARE_WISP_MSG_EVENT(OnRemove)\n\tDECLARE_WISP_MSG_EVENT(OnRemoveAll)\n\tDECLARE_WISP_MSG_EVENT(OnEnableAll)\n\tDECLARE_WISP_MSG_EVENT(OnDisableAll)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnBPListChange)\n\tDECLARE_WISP_MSG_CMD(OnBPListItemSelect);\npublic:\n\tint\t\tListCodeBreakPoint();\n\tint\t\tListDataBreakPoint();\n\tint\t\tRefreshCodeBreakPoint();\n\tint\t\tRefreshDataBreakPoint();\n\tvoid\tUpdateBPListButton();\n\tvoid\tUpdateContext();\nprivate:\n\tvoid\tInitBPList(CWispList*pList);\n\tvoid\tInitBPItem(CWispList*pList,HANDLE hItem,BREAK_POINT*pBP);\n\tvoid\tInitModuleBPItem(CWispList*pList,HANDLE hItem,MODULE_BP*pBP);\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/BugCheckCode.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"BugCheckCode.h\"\nBUGCHECKCODE gBugCheckCode[]=\n{\n\t{0x1,\"APC_INDEX_MISMATCH\"},\n\t{0x2,\"DEVICE_QUEUE_NOT_BUSY\"},\n\t{0x3,\"INVALID_AFFINITY_SET\"},\n\t{0x4,\"INVALID_DATA_ACCESS_TRAP\"},\n\t{0x5,\"INVALID_PROCESS_ATTACH_ATTEMPT\"},\n\t{0x6,\"INVALID_PROCESS_DETACH_ATTEMPT\"},\n\t{0x7,\"INVALID_SOFTWARE_INTERRUPT\"},\n\t{0x8,\"IRQL_NOT_DISPATCH_LEVEL\"},\n\t{0x9,\"IRQL_NOT_GREATER_OR_EQUAL\"},\n\t{0xA,\"IRQL_NOT_LESS_OR_EQUAL\"},\n\t{0xB,\"NO_EXCEPTION_HANDLING_SUPPORT\"},\n\t{0xC,\"MAXIMUM_WAIT_OBJECTS_EXCEEDED\"},\n\t{0xD,\"MUTEX_LEVEL_NUMBER_VIOLATION\"},\n\t{0xE,\"NO_USER_MODE_CONTEXT\"},\n\t{0xF,\"SPIN_LOCK_ALREADY_OWNED\"},\n\t{0x10,\"SPIN_LOCK_NOT_OWNED\"},\n\t{0x11,\"THREAD_NOT_MUTEX_OWNER\"},\n\t{0x12,\"TRAP_CAUSE_UNKNOWN\"},\n\t{0x13,\"EMPTY_THREAD_REAPER_LIST\"},\n\t{0x14,\"CREATE_DELETE_LOCK_NOT_LOCKED\"},\n\t{0x15,\"LAST_CHANCE_CALLED_FROM_KMODE\"},\n\t{0x16,\"CID_HANDLE_CREATION\"},\n\t{0x17,\"CID_HANDLE_DELETION\"},\n\t{0x18,\"REFERENCE_BY_POINTER\"},\n\t{0x19,\"BAD_POOL_HEADER\"},\n\t{0x1A,\"MEMORY_MANAGEMENT\"},\n\t{0x1B,\"PFN_SHARE_COUNT\"},\n\t{0x1C,\"PFN_REFERENCE_COUNT\"},\n\t{0x1D,\"NO_SPIN_LOCK_AVAILABLE\"},\n\t{0x1E,\"KMODE_EXCEPTION_NOT_HANDLED\"},\n\t{0x1F,\"SHARED_RESOURCE_CONV_ERROR\"},\n\t{0x20,\"KERNEL_APC_PENDING_DURING_EXIT\"},\n\t{0x21,\"QUOTA_UNDERFLOW\"},\n\t{0x22,\"FILE_SYSTEM\"},\n\t{0x23,\"FAT_FILE_SYSTEM\"},\n\t{0x24,\"NTFS_FILE_SYSTEM\"},\n\t{0x25,\"NPFS_FILE_SYSTEM\"},\n\t{0x26,\"CDFS_FILE_SYSTEM\"},\n\t{0x27,\"RDR_FILE_SYSTEM\"},\n\t{0x28,\"CORRUPT_ACCESS_TOKEN\"},\n\t{0x29,\"SECURITY_SYSTEM\"},\n\t{0x2A,\"INCONSISTENT_IRP\"},\n\t{0x2B,\"PANIC_STACK_SWITCH\"},\n\t{0x2C,\"PORT_DRIVER_INTERNAL\"},\n\t{0x2D,\"SCSI_DISK_DRIVER_INTERNAL\"},\n\t{0x2E,\"DATA_BUS_ERROR\"},\n\t{0x2F,\"INSTRUCTION_BUS_ERROR\"},\n\t{0x30,\"SET_OF_INVALID_CONTEXT\"},\n\t{0x31,\"PHASE0_INITIALIZATION_FAILED\"},\n\t{0x32,\"PHASE1_INITIALIZATION_FAILED\"},\n\t{0x33,\"UNEXPECTED_INITIALIZATION_CALL\"},\n\t{0x34,\"CACHE_MANAGER\"},\n\t{0x35,\"NO_MORE_IRP_STACK_LOCATIONS\"},\n\t{0x36,\"DEVICE_REFERENCE_COUNT_NOT_ZERO\"},\n\t{0x37,\"FLOPPY_INTERNAL_ERROR\"},\n\t{0x38,\"SERIAL_DRIVER_INTERNAL\"},\n\t{0x39,\"SYSTEM_EXIT_OWNED_MUTEX\"},\n\t{0x3A,\"SYSTEM_UNWIND_PREVIOUS_USER\"},\n\t{0x3B,\"SYSTEM_SERVICE_EXCEPTION\"},\n\t{0x3C,\"INTERRUPT_UNWIND_ATTEMPTED\"},\n\t{0x3D,\"INTERRUPT_EXCEPTION_NOT_HANDLED\"},\n\t{0x3E,\"MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED\"},\n\t{0x3F,\"NO_MORE_SYSTEM_PTES\"},\n\t{0x40,\"TARGET_MDL_TOO_SMALL\"},\n\t{0x41,\"MUST_SUCCEED_POOL_EMPTY\"},\n\t{0x42,\"ATDISK_DRIVER_INTERNAL\"},\n\t{0x43,\"NO_SUCH_PARTITION\"},\n\t{0x44,\"MULTIPLE_IRP_COMPLETE_REQUESTS\"},\n\t{0x45,\"INSUFFICIENT_SYSTEM_MAP_REGS\"},\n\t{0x46,\"DEREF_UNKNOWN_LOGON_SESSION\"},\n\t{0x47,\"REF_UNKNOWN_LOGON_SESSION\"},\n\t{0x48,\"CANCEL_STATE_IN_COMPLETED_IRP\"},\n\t{0x49,\"PAGE_FAULT_WITH_INTERRUPTS_OFF\"},\n\t{0x4A,\"IRQL_GT_ZERO_AT_SYSTEM_SERVICE\"},\n\t{0x4B,\"STREAMS_INTERNAL_ERROR\"},\n\t{0x4C,\"FATAL_UNHANDLED_HARD_ERROR\"},\n\t{0x4D,\"NO_PAGES_AVAILABLE\"},\n\t{0x4E,\"PFN_LIST_CORRUPT\"},\n\t{0x4F,\"NDIS_INTERNAL_ERROR\"},\n\t{0x50,\"PAGE_FAULT_IN_NONPAGED_AREA\"},\n\t{0x51,\"REGISTRY_ERROR\"},\n\t{0x52,\"MAILSLOT_FILE_SYSTEM\"},\n\t{0x53,\"NO_BOOT_DEVICE\"},\n\t{0x54,\"LM_SERVER_INTERNAL_ERROR\"},\n\t{0x55,\"DATA_COHERENCY_EXCEPTION\"},\n\t{0x56,\"INSTRUCTION_COHERENCY_EXCEPTION\"},\n\t{0x57,\"XNS_INTERNAL_ERROR\"},\n\t{0x58,\"FTDISK_INTERNAL_ERROR\"},\n\t{0x59,\"PINBALL_FILE_SYSTEM\"},\n\t{0x5A,\"CRITICAL_SERVICE_FAILED\"},\n\t{0x5B,\"SET_ENV_VAR_FAILED\"},\n\t{0x5C,\"HAL_INITIALIZATION_FAILED\"},\n\t{0x5D,\"UNSUPPORTED_PROCESSOR\"},\n\t{0x5E,\"OBJECT_INITIALIZATION_FAILED\"},\n\t{0x5F,\"SECURITY_INITIALIZATION_FAILED\"},\n\t{0x60,\"PROCESS_INITIALIZATION_FAILED\"},\n\t{0x61,\"HAL1_INITIALIZATION_FAILED\"},\n\t{0x62,\"OBJECT1_INITIALIZATION_FAILED\"},\n\t{0x63,\"SECURITY1_INITIALIZATION_FAILED\"},\n\t{0x64,\"SYMBOLIC_INITIALIZATION_FAILED\"},\n\t{0x65,\"MEMORY1_INITIALIZATION_FAILED\"},\n\t{0x66,\"CACHE_INITIALIZATION_FAILED\"},\n\t{0x67,\"CONFIG_INITIALIZATION_FAILED\"},\n\t{0x68,\"FILE_INITIALIZATION_FAILED\"},\n\t{0x69,\"IO1_INITIALIZATION_FAILED\"},\n\t{0x6A,\"LPC_INITIALIZATION_FAILED\"},\n\t{0x6B,\"PROCESS1_INITIALIZATION_FAILED\"},\n\t{0x6C,\"REFMON_INITIALIZATION_FAILED\"},\n\t{0x6D,\"SESSION1_INITIALIZATION_FAILED\"},\n\t{0x6E,\"SESSION2_INITIALIZATION_FAILED\"},\n\t{0x6F,\"SESSION3_INITIALIZATION_FAILED\"},\n\t{0x70,\"SESSION4_INITIALIZATION_FAILED\"},\n\t{0x71,\"SESSION5_INITIALIZATION_FAILED\"},\n\t{0x72,\"ASSIGN_DRIVE_LETTERS_FAILED\"},\n\t{0x73,\"CONFIG_LIST_FAILED\"},\n\t{0x74,\"BAD_SYSTEM_CONFIG_INFO\"},\n\t{0x75,\"CANNOT_WRITE_CONFIGURATION\"},\n\t{0x76,\"PROCESS_HAS_LOCKED_PAGES\"},\n\t{0x77,\"KERNEL_STACK_INPAGE_ERROR\"},\n\t{0x78,\"PHASE0_EXCEPTION\"},\n\t{0x79,\"MISMATCHED_HAL\"},\n\t{0x7A,\"KERNEL_DATA_INPAGE_ERROR\"},\n\t{0x7B,\"INACCESSIBLE_BOOT_DEVICE\"},\n\t{0x7C,\"BUGCODE_NDIS_DRIVER\"},\n\t{0x7D,\"INSTALL_MORE_MEMORY\"},\n\t{0x7E,\"SYSTEM_THREAD_EXCEPTION_NOT_HANDLED\"},\n\t{0x7F,\"UNEXPECTED_KERNEL_MODE_TRAP\"},\n\t{0x80,\"NMI_HARDWARE_FAILURE\"},\n\t{0x81,\"SPIN_LOCK_INIT_FAILURE\"},\n\t{0x82,\"DFS_FILE_SYSTEM\"},\n\t{0x85,\"SETUP_FAILURE\"},\n\t{0x8B,\"MBR_CHECKSUM_MISMATCH\"},\n\t{0x8E,\"KERNEL_MODE_EXCEPTION_NOT_HANDLED\"},\n\t{0x8F,\"PP0_INITIALIZATION_FAILED\"},\n\t{0x90,\"PP1_INITIALIZATION_FAILED\"},\n\t{0x92,\"UP_DRIVER_ON_MP_SYSTEM\"},\n\t{0x93,\"INVALID_KERNEL_HANDLE\"},\n\t{0x94,\"KERNEL_STACK_LOCKED_AT_EXIT\"},\n\t{0x96,\"INVALID_WORK_QUEUE_ITEM\"},\n\t{0x97,\"BOUND_IMAGE_UNSUPPORTED\"},\n\t{0x98,\"END_OF_NT_EVALUATION_PERIOD\"},\n\t{0x99,\"INVALID_REGION_OR_SEGMENT\"},\n\t{0x9A,\"SYSTEM_LICENSE_VIOLATION\"},\n\t{0x9B,\"UDFS_FILE_SYSTEM\"},\n\t{0x9C,\"MACHINE_CHECK_EXCEPTION\"},\n\t{0x9E,\"USER_MODE_HEALTH_MONITOR\"},\n\t{0x9F,\"DRIVER_POWER_STATE_FAILURE\"},\n\t{0xA0,\"INTERNAL_POWER_ERROR\"},\n\t{0xA1,\"PCI_BUS_DRIVER_INTERNAL\"},\n\t{0xA2,\"MEMORY_IMAGE_CORRUPT\"},\n\t{0xA3,\"ACPI_DRIVER_INTERNAL\"},\n\t{0xA4,\"CNSS_FILE_SYSTEM_FILTER\"},\n\t{0xA5,\"ACPI_BIOS_ERROR\"},\n\t{0xA7,\"BAD_EXHANDLE\"},\n\t{0xAB,\"SESSION_HAS_VALID_POOL_ON_EXIT\"},\n\t{0xAC,\"HAL_MEMORY_ALLOCATION\"},\n\t{0xAD,\"VIDEO_DRIVER_DEBUG_REPORT_REQUEST\"},\n\t{0xB4,\"VIDEO_DRIVER_INIT_FAILURE\"},\n\t{0xB8,\"ATTEMPTED_SWITCH_FROM_DPC\"},\n\t{0xB9,\"CHIPSET_DETECTED_ERROR\"},\n\t{0xBA,\"SESSION_HAS_VALID_VIEWS_ON_EXIT\"},\n\t{0xBA,\"SESSION_HAS_VALID_VIEWS_ON_EXIT\"},\n\t{0xBC,\"NETWORK_BOOT_DUPLICATE_ADDRESS\"},\n\t{0xBE,\"ATTEMPTED_WRITE_TO_READONLY_MEMORY\"},\n\t{0xBF,\"MUTEX_ALREADY_OWNED\"},\n\t{0xC1,\"SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION\"},\n\t{0xC2,\"BAD_POOL_CALLER\"},\n\t{0xC4,\"DRIVER_VERIFIER_DETECTED_VIOLATION\"},\n\t{0xC5,\"DRIVER_CORRUPTED_EXPOOL\"},\n\t{0xC6,\"DRIVER_CAUGHT_MODIFYING_FREED_POOL\"},\n\t{0xC7,\"TIMER_OR_DPC_INVALID\"},\n\t{0xC8,\"IRQL_UNEXPECTED_VALUE\"},\n\t{0xC9,\"DRIVER_VERIFIER_IOMANAGER_VIOLATION \"},\n\t{0xCA,\"PNP_DETECTED_FATAL_ERROR\"},\n\t{0xCB,\"DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS\"},\n\t{0xCC,\"PAGE_FAULT_IN_FREED_SPECIAL_POOL\"},\n\t{0xCD,\"PAGE_FAULT_BEYOND_END_OF_ALLOCATION\"},\n\t{0xCE,\"DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS\"},\n\t{0xCF,\"TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE\"},\n\t{0xD0,\"DRIVER_CORRUPTED_MMPOOL\"},\n\t{0xD1,\"DRIVER_IRQL_NOT_LESS_OR_EQUAL\"},\n\t{0xD2,\"BUGCODE_ID_DRIVER\"},\n\t{0xD3,\"DRIVER_PORTION_MUST_BE_NONPAGED\"},\n\t{0xD4,\"SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER\"},\n\t{0xD5,\"DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL\"},\n\t{0xD6,\"DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION\"},\n\t{0xD7,\"DRIVER_UNMAPPING_INVALID_VIEW\"},\n\t{0xD8,\"DRIVER_USED_EXCESSIVE_PTES\"},\n\t{0xD9,\"LOCKED_PAGES_TRACKER_CORRUPTION\"},\n\t{0xDA,\"SYSTEM_PTE_MISUSE\"},\n\t{0xDB,\"DRIVER_CORRUPTED_SYSPTES\"},\n\t{0xDC,\"DRIVER_INVALID_STACK_ACCESS\"},\n\t{0xDE,\"POOL_CORRUPTION_IN_FILE_AREA\"},\n\t{0xDF,\"IMPERSONATING_WORKER_THREAD\"},\n\t{0xE0,\"ACPI_BIOS_FATAL_ERROR\"},\n\t{0xE1,\"WORKER_THREAD_RETURNED_AT_BAD_IRQL\"},\n\t{0xE2,\"MANUALLY_INITIATED_CRASH\"},\n\t{0xE3,\"RESOURCE_NOT_OWNED\"},\n\t{0xE4,\"WORKER_INVALID\"},\n\t{0xE6,\"DRIVER_VERIFIER_DMA_VIOLATION\"},\n\t{0xE7,\"INVALID_FLOATING_POINT_STATE\"},\n\t{0xE8,\"INVALID_CANCEL_OF_FILE_OPEN\"},\n\t{0xE9,\"ACTIVE_EX_WORKER_THREAD_TERMINATION\"},\n\t{0xEA,\"THREAD_STUCK_IN_DEVICE_DRIVER\"},\n\t{0xEB,\"DIRTY_MAPPED_PAGES_CONGESTION\"},\n\t{0xEC,\"SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT\"},\n\t{0xED,\"UNMOUNTABLE_BOOT_VOLUME\"},\n\t{0xEF,\"CRITICAL_PROCESS_DIED\"},\n\t{0xF1,\"SCSI_VERIFIER_DETECTED_VIOLATION\"},\n\t{0xF3,\"DISORDERLY_SHUTDOWN\"},\n\t{0xF4,\"CRITICAL_OBJECT_TERMINATION\"},\n\t{0xF5,\"FLTMGR_FILE_SYSTEM\"},\n\t{0xF6,\"PCI_VERIFIER_DETECTED_VIOLATION\"},\n\t{0xF7,\"DRIVER_OVERRAN_STACK_BUFFER\"},\n\t{0xF8,\"RAMDISK_BOOT_INITIALIZATION_FAILED\"},\n\t{0xF9,\"DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN\"},\n\t{0xFA,\"HTTP_DRIVER_CORRUPTED\"},\n\t{0xFC,\"ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY\"},\n\t{0xFD,\"DIRTY_NOWRITE_PAGES_CONGESTION\"},\n\t{0xFE,\"BUGCODE_USB_DRIVER\"},\n\t{0xFF,\"RESERVE_QUEUE_OVERFLOW\"},\n\t{0x100,\"LOADER_BLOCK_MISMATCH\"},\n\t{0x101,\"CLOCK_WATCHDOG_TIMEOUT\"},\n\t{0x104,\"AGP_INVALID_ACCESS\"},\n\t{0x105,\"AGP_GART_CORRUPTION\"},\n\t{0x106,\"AGP_ILLEGALLY_REPROGRAMMED\"},\n\t{0x108,\"THIRD_PARTY_FILE_SYSTEM_FAILURE\"},\n\t{0x109,\"CRITICAL_STRUCTURE_CORRUPTION\"},\n\t{0x10A,\"APP_TAGGING_INITIALIZATION_FAILED\"},\n\t{0x10C,\"FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION\"},\n\t{0x10D,\"WDF_VIOLATION\"},\n\t{0x10E,\"VIDEO_MEMORY_MANAGEMENT_INTERNAL\"},\n\t{0x10F,\"RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED\"},\n\t{0x112,\"MSRPC_STATE_VIOLATION\"},\n\t{0x113,\"VIDEO_DXGKRNL_FATAL_ERROR\"},\n\t{0x114,\"VIDEO_SHADOW_DRIVER_FATAL_ERROR\"},\n\t{0x115,\"AGP_INTERNAL\"},\n\t{0x116,\"VIDEO_TDR_ERROR\"},\n\t{0x117,\"VIDEO_TDR_TIMEOUT_DETECTED\"},\n\t{0x119,\"VIDEO_SCHEDULER_INTERNAL_ERROR\"},\n\t{0x11A,\"EM_INITIALIZATION_FAILURE\"},\n\t{0x1000007E,\"SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M\"},\n\t{0x1000007F,\"UNEXPECTED_KERNEL_MODE_TRAP_M\"},\n\t{0x1000008E,\"KERNEL_MODE_EXCEPTION_NOT_HANDLED_M\"},\n\t{0x100000EA,\"THREAD_STUCK_IN_DEVICE_DRIVER_M\"},\n\t{0xC0000218,\"STATUS_CANNOT_LOAD_REGISTRY_FILE\"},\n\t{0xC000021A,\"STATUS_SYSTEM_PROCESS_TERMINATED\"},\n\t{0xC0000221,\"STATUS_IMAGE_CHECKSUM_MISMATCH\"},\n\t{0xDEADDEAD,\"MANUALLY_INITIATED_CRASH1\"},\n\t{0,NULL\t},\n};"
  },
  {
    "path": "Project/Syser/Source/BugCheckCode.h",
    "content": "#ifndef _BUGCHECKCODE_H_\n#define _BUGCHECKCODE_H_\ntypedef struct _BUGCHECKCODE\n{\n\tunsigned int BucCheckCode;\n\tchar* Name;\n\tchar* Description;\n}BUGCHECKCODE,*PBUGCHECKCODE;\nBUGCHECKCODE gBugCheckCode[];\n\n#endif //_BUGCHECKCODE_H_"
  },
  {
    "path": "Project/Syser/Source/CallStack.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"CallStack.h\"\n\nCCallStack::CCallStack()\n{\n\tm_pCurCallFrame = NULL;\n\tm_PrevEBP = 0;\n}\n\nvoid CCallStack::UpdateContext(ULPOS EBP)\n{\n\tULSIZE CodeLen;\n\tULPOS Address,FrameAddress;\n\tCHAR szSymbol[MAX_SYMBOL_LEN];\n\tFRAME_ENTRY Frame;\n\tCDbgModule*pDbgModule;\n\tTList<CALL_FRAME>::IT Iter;\n\n\tm_pCurCallFrame = NULL;\n\tFrameAddress = EBP?EBP:*X86_REG_PTR.pEBP;\n\tif(m_PrevEBP == FrameAddress)\n\t\treturn;\n\tm_PrevEBP = FrameAddress;\n\tm_CallFrameList.Clear();\n\tfor(int n=0;n<MAX_CALL_STACK_COUNT;n++)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(FrameAddress,&Frame,sizeof(Frame))!=sizeof(Frame))\n\t\t\tbreak;\n\t\tif(Frame.PrevFrame<=FrameAddress)\n\t\t\tbreak;\n\t\tCodeLen=gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(Frame.CallReturn,szSymbol,&Address);\n\t\tif(CodeLen)\n\t\t{\n\t\t\tif(*szSymbol==0)//Ҳžģ+ƫʽ\n\t\t\t{\n\t\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t\tTSPrintf(szSymbol,\"%s+0x%X\",(PCSTR)pDbgModule->m_ModuleTitle,Address-pDbgModule->m_ModuleBase);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(szSymbol,\"unknown_function\");\n\t\t\t}\n\t\t\tIter=m_CallFrameList.Append();\n\t\t\tIter->FrameAddress = FrameAddress;\n\t\t\tIter->CallReturn = Frame.CallReturn;\n\t\t\tIter->FuncAddr = Address;\n\t\t\tIter->FuncName = szSymbol;\n\t\t}\n\t\tFrameAddress=Frame.PrevFrame;\n\t}\n\tif(m_CallFrameList.Count())\n\t\tm_pCurCallFrame = &(*m_CallFrameList.Begin());\n}\n\nvoid CCallStack::UpdateContext1(ULPOS EBP)\n{\n\tULSIZE CodeLen;\n\tULPOS Address,FrameAddress;\n\tCHAR szSymbol[MAX_SYMBOL_LEN];\n\tFRAME_ENTRY Frame;\n\tCDbgModule*pDbgModule;\n\tTList<CALL_FRAME>::IT Iter;\n\t\n\tm_pCurCallFrame = NULL;\n\tFrameAddress = EBP?EBP:*X86_REG_PTR.pEBP;\n\tif(m_PrevEBP == FrameAddress)\n\t\treturn;\n\tm_PrevEBP = FrameAddress;\n\tm_CallFrameList.Clear();\n\tfor(int n=0;n<MAX_CALL_STACK_COUNT;n++)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(FrameAddress,&Frame,sizeof(Frame))!=sizeof(Frame))\n\t\t\tbreak;\n\t\tCodeLen=gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(Frame.CallReturn,szSymbol,&Address);\n\t\tif(CodeLen)\n\t\t{\n\t\t\tif(*szSymbol==0)//Ҳžģ+ƫʽ\n\t\t\t{\n\t\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t\tTSPrintf(szSymbol,\"%s+0x%X\",(PCSTR)pDbgModule->m_ModuleTitle,Address-pDbgModule->m_ModuleBase);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(szSymbol,\"unknown_function\");\n\t\t\t}\n\t\t\tIter=m_CallFrameList.Append();\n\t\t\tIter->FrameAddress = FrameAddress;\n\t\t\tIter->CallReturn = Frame.CallReturn;\n\t\t\tIter->FuncAddr = Address;\n\t\t\tIter->FuncName = szSymbol;\n\t\t}\n\t}\n\tif(m_CallFrameList.Count())\n\t\tm_pCurCallFrame = &(*m_CallFrameList.Begin());\n}"
  },
  {
    "path": "Project/Syser/Source/CallStack.h",
    "content": "#ifndef _CALL_STACK_H_\n#define _CALL_STACK_H_\n\nstruct FRAME_ENTRY\n{\n\tULPOS\tPrevFrame;\n\tULPOS\tCallReturn;\n};\n\nstruct CALL_FRAME\n{\n\tULPOS\tFrameAddress;\n\tULPOS\tCallReturn;\n\tULPOS\tFuncAddr;\n\tCStrA\tFuncName;\n};\n\n#define MAX_CALL_STACK_COUNT\t0x100\n\nclass CCallStack\n{\npublic:\n\tCCallStack();\n\tTList<CALL_FRAME>\tm_CallFrameList;\n\tCALL_FRAME*\t\t\tm_pCurCallFrame;\n\tULPOS\tm_PrevEBP;\n\tvoid\tUpdateContext(ULPOS EBP=0);\n\tvoid\tUpdateContext1(ULPOS EBP=0);\n};\n\n#endif //_CALL_STACK_WND_"
  },
  {
    "path": "Project/Syser/Source/CallStackWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"CallStackWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CCallStackWnd) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nCCallStackWnd::CCallStackWnd()\n{\n}\n\nCCallStackWnd::~CCallStackWnd()\n{\n}\n\nbool CCallStackWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,18));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\tInsertColumn(WSTR(\"Call Return\"),100);\n\tInsertColumn(WSTR(\"Function\"),200);\n\tm_Style|=WISP_WLS_VERT_LINE|WISP_WLS_EMPTY_SEL_RECT;\n\treturn true;\n}\n\nbool CCallStackWnd::OnClose(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nvoid CCallStackWnd::ItemDBClickNotify(HANDLE hItem,int Col)\n{\n\tULPOS Address;\n\tUpdateFrame(hItem);\n\tCALL_FRAME*pCallFrame = (CALL_FRAME*)GetItemData(m_hCurFrameItem);\n\tAddress = pCallFrame->CallReturn;\n\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(Address);\n\tif(pSDSModule)\n\t{\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.SetActiveModule(pSDSModule);\n\t\tSDLINELIST LineList;\n\t\tif(pSDSModule->GetLineFromRva(Address-pSDSModule->m_pCurDbgModule->m_ModuleBase,&LineList))\n\t\t{\n\t\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t\t\tif(gpSyser->m_MainFrame.m_SourceDebugFrameWnd.ShowSourceFile(pSDSModule,(*LineList[0])->FileID,(*LineList[0])->LineNumber))\n\t\t\t\treturn;\n\t\t}\n\t}\n\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SYSTEM_EXPLORER_VIEW);\n\tCENTER_VIEW_CODE(Address);\n}\n\nvoid CCallStackWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Call Stack\"),0,0,400,200,NULL,CMD_ID_CALL_STACK,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tCenter();\n\t\tUpdateContext();\n\t}\n}\n\nvoid CCallStackWnd::UpdateContext()\n{\n\tWCHAR szBuffer[128];\n\tHANDLE hItem;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false || IsVisible()==false)\n\t\treturn;\n\tm_hCurFrameItem = NULL;\n\tClearChildItem();\n\tfor(TList<CALL_FRAME>::IT Iter=gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.Begin();\n\t\tIter!=gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.End();Iter++)\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"  %08X\"),Iter->CallReturn);\n\t\thItem = InsertItem(szBuffer);\n\t\tSetItemTextA(hItem,1,Iter->FuncName);\n\t\tSetItemData(hItem,0,(NUM_PTR)&(*Iter));\n\t\tif(gpSyser->m_SyserUI.m_CallStack.m_pCurCallFrame ==&(*Iter))\n\t\t\tUpdateFrame(hItem);\n\t}\n}\n\nvoid CCallStackWnd::UpdateFrame(HANDLE hItem)\n{\n\tCALL_FRAME*pCallFrame;\n\tWCHAR szBuffer[128];\n\tif(hItem == m_hCurFrameItem)\n\t\treturn;\n\tif(m_hCurFrameItem)\n\t{\n\t\tSetItemTextColor(m_hCurFrameItem,-1,ColorOption.clrText);\n\t\tpCallFrame = (CALL_FRAME*)GetItemData(m_hCurFrameItem);\n\t\tTSPrintf(szBuffer,WSTR(\"  %08X\"),pCallFrame->CallReturn);\n\t\tSetItemText(m_hCurFrameItem,0,szBuffer);\t\t\n\t}\n\tm_hCurFrameItem = hItem;\n\tSetItemTextColor(m_hCurFrameItem,-1,ColorOption.clrSpeicalText);\n\tpCallFrame = (CALL_FRAME*)GetItemData(m_hCurFrameItem);\n\tTSPrintf(szBuffer,WSTR(\"->%08X\"),pCallFrame->CallReturn);\n\tSetItemText(hItem,0,szBuffer);\n}\n"
  },
  {
    "path": "Project/Syser/Source/CallStackWnd.h",
    "content": "#ifndef _CALL_STACK_WND_\n#define _CALL_STACK_WND_\n\nclass CCallStackWnd : public CWispList\n{\npublic:\n\tCCallStackWnd();\n\t~CCallStackWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tvoid\tItemDBClickNotify(HANDLE hItem,int Col);\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\n\tHANDLE\tm_hCurFrameItem;\n\tvoid\tUpdateFrame(HANDLE hItem);\n};\n\n#endif //_CALL_STACK_WND_"
  },
  {
    "path": "Project/Syser/Source/CodeBPEdit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"CodeBPEdit.h\"\n\nenum CCodeBPEdit::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_ADDRESS = WISP_ID_USER_START,\n\tCMD_ID_EDIT_NAME,\n\tCMD_ID_CHECK_ENABLE,\n\tCMD_ID_EDIT_CONDITION,\n\tCMD_ID_EDIT_DO_COMMAND,\n};\n\nWISP_FORM_RES_ITEM CCodeBPEdit::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,385,280},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Code break point\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Address\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,25,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:243\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,25,285,16},\n\t\tCMD_ID_EDIT_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Address of break point\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,60,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Name\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,75,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:10\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,75,285,16},\n\t\tCMD_ID_EDIT_NAME,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Name of break point (if needed)\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,110,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Condition\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,125,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:29\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,125,285,16},\n\t\tCMD_ID_EDIT_CONDITION,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"break condition when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,160,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Do Command (Use ; to delimit command lines)\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,175,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:63\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,175,285,16},\n\t\tCMD_ID_EDIT_DO_COMMAND,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Do command when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,210,60,20},\n\t\tCMD_ID_CHECK_ENABLE,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Enabled\"),\n\t\tNULL,\n\t\tWSTR(\"Is break point enabled\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{275,210,55,20},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tWSTR(\"Save modify setting\")\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CCodeBPEdit)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CCodeBPEdit)\n\tWISP_MSG_CMD_MAP(CMD_ID_EDIT_ADDRESS,OnAddressChg)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\nCCodeBPEdit::CCodeBPEdit(void)\n{\n\tm_pFormRes = m_FormRes;\n\tm_pModuleBP = NULL;\n\tm_pBP = NULL;\n}\n\nCCodeBPEdit::~CCodeBPEdit(void)\n{\n}\n\nbool CCodeBPEdit::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tWISP_CHAR szBuffer[256];\n\tm_pNameEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_NAME);\n\tm_pAddrEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_ADDRESS);\n\tm_pConditionEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_CONDITION);\n\tm_pDoCmdEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_DO_COMMAND);\n\tm_pEnableChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_CHECK_ENABLE);\n\tm_bEnable = true;\n\tif(m_pBP)\n\t{\n\t\tuNumToStr(m_pBP->Address,szBuffer);\n\t\tm_pAddrEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->Name,szBuffer,256);\n\t\tm_pNameEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->Condition,szBuffer,256);\n\t\tm_pConditionEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->DoCmd,szBuffer,256);\n\t\tm_pDoCmdEdit->SetWindowText(szBuffer);\n\t\tm_bEnable = m_pBP->State!=BP_STATE_DISABLE;\n\t}\n\telse if(m_pModuleBP)\n\t{\n\t\tCModuleBPMap::IT Iter = *m_pModuleBP;\n\t\tuNumToStr(Iter.Key(),szBuffer);\n\t\tm_pAddrEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pModuleBP->Name,szBuffer,256);\n\t\tm_pNameEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pModuleBP->Condition,szBuffer,256);\n\t\tm_pConditionEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pModuleBP->DoCmd,szBuffer,256);\n\t\tm_pDoCmdEdit->SetWindowText(szBuffer);\n\t\tm_bEnable = m_pModuleBP->State!=BP_STATE_DISABLE;\n\t}\n\tm_pEnableChkBox->Check(m_bEnable);\n\treturn true;\n}\n\nbool CCodeBPEdit::OnOK(IN WISP_MSG*pMsg)\n{\n\tULPOS ConditionValue;\n\tCHAR szBuffer[256];\n\tif(pMsg->Command.CmdMsg!=WISP_CMD_BT_UP)\n\t\treturn true;\n\tBREAK_POINT BreakPoint;\n\tif(CALCEXP(m_pAddrEdit->m_WndText,&BreakPoint.Address)==false)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Invalid Address !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n#ifdef CODE_OS_NT_DRV\n\tif(BreakPoint.Address >= gpSyser->m_SysInfo.m_SyserBase && BreakPoint.Address < gpSyser->m_SysInfo.m_SyserHighBase)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Cann't set breakpoint in Syser !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n#endif\n\tUnicodeToAnsi(m_pNameEdit->m_WndText,szBuffer,256);\n\tBreakPoint.Name = szBuffer;\n\tif(BreakPoint.Name.IsEmpty())\n\t\tBreakPoint.Name.Format(\"%08X\",BreakPoint.Address);\n\tif(CALCEXP(m_pConditionEdit->m_WndText,&ConditionValue)==false)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Invalid Condition !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n\tUnicodeToAnsi(m_pConditionEdit->m_WndText,szBuffer,256);\n\tBreakPoint.Condition = szBuffer;\n\tUnicodeToAnsi(m_pDoCmdEdit->m_WndText,szBuffer,256);\n\tBreakPoint.DoCmd = szBuffer;\n\tm_bEnable = m_pEnableChkBox->IsChecked();\n\tBreakPoint.State = m_bEnable?BP_STATE_ENABLE:BP_STATE_DISABLE;\n\tif(m_pBP)\n\t{\n\t\tif(BreakPoint.Address==m_pBP->Address && BreakPoint.State==m_pBP->State)\n\t\t{\n\t\t\tm_pBP->Name = BreakPoint.Name;\n\t\t\tm_pBP->Condition = BreakPoint.Condition;\n\t\t\tm_pBP->DoCmd = BreakPoint.DoCmd;\n\t\t\treturn true;\n\t\t}\n\t\tif(gpSyser->m_SyserUI.RemoveCodeBP(m_pBP->Address)==false)\n\t\t\tgoto ErrorExit;\n\t}\n\telse if(m_pModuleBP)\n\t{\n\t\tCModuleBPMap::IT Iter = *m_pModuleBP;\n\t\tif(BreakPoint.Address==Iter.Key() && BreakPoint.State==m_pModuleBP->State)\n\t\t{\n\t\t\tm_pModuleBP->Name = BreakPoint.Name;\n\t\t\tm_pModuleBP->Condition = BreakPoint.Condition;\n\t\t\tm_pModuleBP->DoCmd = BreakPoint.DoCmd;\n\t\t\treturn true;\n\t\t}\n\t\tif(gpSyser->m_SyserUI.RemoveCodeBP(Iter.Key())==false)\n\t\t\tgoto ErrorExit;\n\t}\n\tif(gpSyser->m_SyserUI.InsertCodeBP(BreakPoint.Address,BreakPoint.Name,BreakPoint.Condition,BreakPoint.DoCmd)==false)\n\t\tgoto ErrorExit;\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\nErrorExit:\n\tgpCurWisp->MsgBox(WSTR(\"Fail to insert breakpoint !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\treturn false;\n}\n\nbool CCodeBPEdit::OnAddressChg(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_EN_CHANGED)\n\t{\n\t\tm_pNameEdit->SetWindowText(m_pAddrEdit->m_WndText);\n\t}\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/CodeBPEdit.h",
    "content": "#ifndef _CODE_BP_EDIT_H_\n#define _CODE_BP_EDIT_H_\n\nclass CCodeBPEdit : public CWispForm\n{\npublic:\n\tCCodeBPEdit(void);\n\t~CCodeBPEdit(void);\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnAddressChg);\n\tDECLARE_WISP_MSG_CMD(OnOK)\n\tBREAK_POINT*m_pBP;\n\tMODULE_BP*\tm_pModuleBP;\n\tCWispEdit*\tm_pNameEdit;\n\tCWispEdit*\tm_pAddrEdit;\n\tCWispEdit*\tm_pConditionEdit;\n\tCWispEdit*\tm_pDoCmdEdit;\n\tCWispCheckBox*m_pEnableChkBox;\n\tbool\t\tm_bEnable;\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/CodeView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CodeView.h\"\n#include \"StringReference.h\"\n#ifdef _SYSER_\n#include \"Syser.h\"\n#endif\n\n\n\nWISP_MENU_RES_ITEM CodeViewModeMenu[]=\n{\n\t{WSTR(\"Symbol Switch        Tab\"),\t\t\tEVENT_ID_TOGGLE_SYMBOL,\t\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Full Symbol          Ctrl+Tab\"),\t\tEVENT_ID_TOGGLE_FULL_SYMBOL,0,WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Address Mode\"),\t\t\t\t\t\tEVENT_ID_ADDRESS_MODE_HEX,\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Offset  Mode\"),\t\t\t\t\t\tEVENT_ID_OFFSET_MODE_HEX,\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Relative to EIP\"),\t\t\t\t\tEVENT_ID_RELATIVE_TO_EIP,\t0,WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM EIPFollowModeMenu[]=\n{\n\t{WSTR(\"Automatic\"),\t\t\t\t\t\t\tEVENT_ID_FM_AUTOMATIC,\t\t\t\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"System Explorer\"),\t\t\t\t\tEVENT_ID_FM_SYSTEM_EXPLORER,\t\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Source Code Explorer\"),\t\t\t\tEVENT_ID_FM_SOURCE_CODE_EXPLORER,\t0,WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_END\n};\n\n\nWISP_MENU_RES_ITEM CodeViewOperationMenu[]=\n{\n\t{WSTR(\"Insert/Remove  Breakpoint      F9\"),\t\t\tEVENT_ID_TOGGLE_BP,\t\t\t\t15*16+3},\n\t{WSTR(\"Enable/Disable Breakpoint\"),\t\t\t\t\tEVENT_ID_TOGGLE_BP_STATE,\t\t15*16+4},\n\t{WSTR(\"Toggle BookMark                Ctrl+K\"),\t\tEVENT_ID_BOOKMARK_TOGGLE,\t\t13*16},\n\t{WSTR(\"Save Position                  Shift+Enter\"),EVENT_ID_SAVE_POS,\t\t\t\t16*1+8},\n\t//{WSTR(\"Identify standard C(++) Library Function\"),\tEVENT_ID_ANALYZE_FROM_ADDRESS,\t15*16+6},\n\t{WSTR(\"Go To Here                     F7\"),\t\t\tEVENT_ID_GOTO,\t\t\t\t\t16*16+13},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Search Transfer Reference\"),\t\t\t\t\tEVENT_ID_TRANSFER_REFERENCE,\t17*16+8},\n\t{WSTR(\"Search Operand Reference\"),\t\t\t\t\tEVENT_ID_OPERAND_REFERENCE,\t\t17*16+9},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Code View Mode\"),0,61,WISP_MIS_POPUP,\t\tCodeViewModeMenu},\n\t{WSTR(\"EIP Follow Mode\"),0,16,WISP_MIS_POPUP,\t\tEIPFollowModeMenu},\n\t{WSTR(\"Copy\"),\t\t\t\t\t\t\t\t\t\tWISP_ID_COPY,\t\t\t\t\t35},\n\t{WSTR(\"Edit Code\"),\t\t\t\t\t\t\t\t\tEVENT_ID_CODEVIEW_EDIT_CODE,\t126},\n\t{WSTR(\"Edit Comment\"),\t\t\t\t\t\t\t\tEVENT_ID_CODEVIEW_EDIT_COMMENT,\t9*16+3},\n\t{WSTR(\"String Reference\"),\t\t\t\t\t\t\tEVENT_ID_STRING_REFERENCE,\t9*16+3},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CCodeView)\n\tWISP_MSG_MAP(WISP_WM_PRECREATE,OnPrecreate)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_CHAR,OnChar)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_CMD_MAP_BEGIN(CCodeView)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSLIDE,OnCmdVSlide);\n\tWISP_MSG_CMD_MAP(EVENT_ID_STRING_REFERENCE_WISPLIST,OnCmdStringGoto);\n\t\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CCodeView)\n\tWISP_MSG_EVENT_MAP(WISP_ID_COPY,OnEventCopy)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_BP,OnEventToggleBreakPoint)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FM_AUTOMATIC,\t\t\tOnEventFMAutomiatic)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FM_SYSTEM_EXPLORER,\t\tOnEventFMSystemExplorer)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FM_SOURCE_CODE_EXPLORER,OnEventFMSourceCodeExplorer)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_SYMBOL,\t\t\tOnEventToggleSymbol)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_FULL_SYMBOL,\t\tOnEventToggleFullSymbol)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADDRESS_MODE_HEX,\tOnEventAddressModeHex)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OFFSET_MODE_HEX,\tOnEventOffsetModeHex)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RELATIVE_TO_EIP,\tOnEventRelativeToEIP)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TRANSFER_REFERENCE,\tOnEventCrossReference)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OPERAND_REFERENCE,\t\tOnEventXrefOperand)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_BP_STATE,\tOnEventToggleBreakPointState)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_TOGGLE,\tOnEventToggleBookMarks)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO,\t\t\t\tOnEventGotoHere)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_NEXT_POS,\t\t\tOnEventNextPos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PREV_POS,\t\t\tOnEventPrevPos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_POS,\t\t\tOnEventSavePos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EMPTY_POS_LIST,\t\tOnEventEmptyPosList)\n\t//-----------------------------------------------------------------------\n\t//WISP_MSG_EVENT_MAP(EVENT_ID_ANALYZE_FROM_ADDRESS,\tOnEventAnalyzeFromAddress)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CODEVIEW_EDIT_CODE,\t\tOnEventEditCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CODEVIEW_EDIT_COMMENT,\tOnEventEnterComment)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STRING_REFERENCE,\tOnEventStringReference)\n\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STARTADDRESS_DEC,\tOnStartAddressDec)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STARTADDRESS_INC,\tOnStartAddressInc)\n\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GETNEXTTRACE,\t\tOnGetNextTrace)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GETPREVTRACE,\t\tOnGetPrevTrace)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_0,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_1,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_2,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_3,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_4,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_5,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_6,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_7,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_CODEVIEW_8,\tOnActiveCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FOLLOW_TO_DESTINATION,OnEnterAddr)\n\t\nWISP_MSG_EVENT_MAP_END\n\n\nvoid CCodeView::GetAddressString(ULPOS Address,WISP_PSTR szBuffer)\n{\n\tWISP_CHAR szRelStr[32];\n\tint BaseAddress,Offset;\n\tswitch(m_AddrShowMode)\n\t{\n\tcase CODE_VIEW_ADDRESS_MOD:\n\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Address);\n\t\treturn;\n\tcase CODE_VIEW_OFFSET_MOD:\n\t\tBaseAddress=(int)m_BaseActiveAddress;\n\t\tOffset = (int)Address-BaseAddress;\n\t\tTStrCpy(szRelStr,\"$\");\n\t\tbreak;\n\tcase CODE_VIEW_REL_TO_EIP_MOD:\n\t\tBaseAddress=(int)*X86_REG_PTR.pEIP;\n\t\tOffset = (int)Address-BaseAddress;\n\t\tTStrCpy(szRelStr,\"EIP\");\n\t\tbreak;\n\t}\n\tif(Offset>0)\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"%s+%X\"),szRelStr,Offset);\n\t}\n\telse if(Offset==0)\n\t{\n\t\tTStrCpy(szBuffer,szRelStr);\n\t\tTStrCat(szBuffer,\"==>\");\n\t}\n\telse\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"%s-%X\"),szRelStr,-Offset);\n\t}\n}\n\nvoid CCodeView::ItemRClickNotify(HANDLE hItem,int Col)\n{\n\tswitch(Col)\n\t{\n\tcase ITEM_STATE:\n\t\tOnEventToggleBookMarks(NULL);\n\t\tbreak;\n\t}\n}\n\nvoid CCodeView::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tswitch(Col)\n\t{\n\tcase ITEM_STATE:\n\t\tOnEventToggleBreakPoint(NULL);\n\t\tbreak;\n\tcase ITEM_ADDRESS:\n\t\tswitch(m_AddrShowMode)\n\t\t{\n\t\tcase CODE_VIEW_ADDRESS_MOD:\n\t\t\tOnEventOffsetModeHex(NULL);\n\t\t\tbreak;\n\t\tcase CODE_VIEW_OFFSET_MOD:\n\t\t\tOnEventRelativeToEIP(NULL);\n\t\t\tbreak;\n\t\tcase CODE_VIEW_REL_TO_EIP_MOD:\n\t\t\tOnEventAddressModeHex(NULL);\n\t\t\tbreak;\n\t\t}\n\t\tUpdateView();\n\t\tbreak;\n\t}\n}\n\nbool CCodeView::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(m_pCodeDoc==NULL || m_pCodeDoc->IsOpened()==false)\n\t\treturn false;\n\tswitch(Col)\n\t{\n\tcase 3:\n\t\tm_EditCtrl.SetWindowText(L\" \");\n\t\tbreak;\n\tcase 4:\n\t\tif(IsColorString(String))\n\t\t\treturn false;\n\t\tbreak;\n\t}\n\treturn true;\n}\nbool CCodeView::OnCmdStringGoto(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tNUM_PTR ItemData;\n\tCCodeView* pCodeView;\n\tCDataView* pDataView;\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK)\n\t{\t\t\n\t\thItem=(HANDLE)pMsg->Command.Param2;\n\t\tItemData = gpSyser->m_MainFrame.m_StringReferenceWnd.GetItemData(hItem,0);\n\t\tif(ItemData & 0x8000000000000000i64)\n\t\t{\n\t\t\tItemData = gpSyser->m_MainFrame.m_StringReferenceWnd.GetItemData(hItem,1);\n\t\t\tpDataView=(CDataView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\t\n\t\t\tif(pDataView)\n\t\t\t\tpDataView->ViewAddress((DWORD)ItemData);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpCodeView=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\t\t\t\n\t\t\tif(pCodeView)\n\t\t\t\tpCodeView->SetStartAddress((DWORD)ItemData,true);\n\t\t}\n\t}\n\telse if(pMsg->Command.CmdMsg == WISP_CMD_ITEM_RDBCLICK)\n\t{\n\t\thItem=(HANDLE)pMsg->Command.Param2;\n\t\tItemData = gpSyser->m_MainFrame.m_StringReferenceWnd.GetItemData(hItem,1);\n\t\tpDataView=(CDataView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\t\n\t\tif(pDataView)\n\t\t\tpDataView->ViewAddress((DWORD)ItemData);\n\t}\n\treturn true;\n}\nbool CCodeView::BuildASM(HANDLE hItem,CWispString& String)\n{\n\tchar Buf[256];\n\tBYTE OutBuf[128];\n\tDWORD Len;\n\tULPOS Address = (ULPOS)GetItemData(hItem,1);\n\tTStrCpyLimit(Buf,(PCWSTR)String,sizeof(Buf));\n\tLen = Assembler(Buf,OutBuf,Address,BIT32);\n\tif(Len)\n\t{\n\t\tgpSyser->m_pDebugger->WriteMemory(Address,OutBuf,Len);\n\t\tUpdateView();\n\t\treturn false;\n\t}\n\treturn false;\n}\n\nbool CCodeView::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tULPOS Address;\n\tswitch(Col)\n\t{\n\tcase 1:\n\t\tif(GetItemText(hItem,Col)==String)\n\t\t\treturn false;\n\t\tif(CALCEXP((WISP_PCSTR)String,&Address)==false)\n\t\t\treturn false;\n\t\tSetStartAddress(Address,true);\n\t\treturn false;\n\tcase 3:\n\t\treturn BuildASM(hItem,String);\n\tcase 4:\n\t\tAddress = (ULPOS)GetItemData(hItem,1);\n\t\tm_pCodeDoc->SetComment(Address,String);\n\t\tUpdateView();\n\t\treturn true;\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnCmdVSlide(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,false);\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnEventToggleSymbol(IN WISP_MSG*pMsg)\n{\n\tif(m_pCodeDoc->m_Style&DS_USE_SYM)\n\t\tm_pCodeDoc->m_Style&=~DS_USE_SYM;\n\telse\n\t\tm_pCodeDoc->m_Style|=DS_USE_SYM;\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnEventToggleFullSymbol(IN WISP_MSG*pMsg)\n{\n\tif(SyserOption.iShowFullSym)\n\t\tSyserOption.iShowFullSym=0;\n\telse\n\t\tSyserOption.iShowFullSym=1;\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnEventEnterComment(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem=GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t\tBeginEditItem(hItem,4);\n\treturn true;\n}\nbool CCodeView::OnEventStringReference(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_FindListWnd.Create(WSTR(\"String Reference\"),0,0,564,344,NULL,EVENT_ID_STRING_REFERENCE_WISPLIST,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL|WISP_WLS_TREE);\n\treturn true;\n}\n\nbool CCodeView::OnEventEditCode(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem=GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t\tBeginEditItem(hItem,3);\n\treturn true;\n}\n\nbool CCodeView::OnEventCopy(IN WISP_MSG*pMsg)\n{\n\tCWispString*pStrObj;\n\tHANDLE hItem;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(m_hPopupMenuItem!=hItem || hItem==NULL)\n\t\treturn true;\n\tif(m_PopupMenuCol<1 || m_PopupMenuCol>4)\n\t\treturn true;\n\tpStrObj = &GetItemText(m_hPopupMenuItem,m_PopupMenuCol);\n\tif(IsColorString(pStrObj->m_pData))\n\t{\n\t\tWISP_CHAR szBuffer[256];\n\t\tTStrCpyLimit(szBuffer,GetColorString(pStrObj->m_pData),256);\n\t\tm_pWispBase->SetClipboardString(szBuffer);\n\t}\n\telse\n\t{\n\t\tif(pStrObj->Length())\n\t\t\tm_pWispBase->SetClipboardString(pStrObj->m_pData);\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnEventGotoHere(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\tif(gpSyser->m_pDebugger==NULL||gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = (DWORD)GetItemData(hItem,1);\n\tgpSyser->m_pDebugger->InsertCodeBP(Address,BP_TYPE_DEBUG,BP_STATE_ENABLE);\n\tRUNCMD(WSTR(\"x\"));\n\treturn true;\n}\n\nbool CCodeView::OnEventAddressModeHex(IN WISP_MSG*pMsg)\n{\n\tm_AddrShowMode=CODE_VIEW_ADDRESS_MOD;\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnEventRelativeToEIP(IN WISP_MSG*pMsg)\n{\n\tm_AddrShowMode=CODE_VIEW_REL_TO_EIP_MOD;\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnEventOffsetModeHex(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tm_BaseActiveAddress = (ULPOS)GetItemData(hItem,1);\n\tm_AddrShowMode=CODE_VIEW_OFFSET_MOD;\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnEventFMAutomiatic(IN WISP_MSG*pMsg)\n{\n\tSyserOption.iFollowMode = SYSER_FM_AUTOMATIC;\n\treturn true;\n}\n\nbool CCodeView::OnEventFMSystemExplorer(IN WISP_MSG*pMsg)\n{\n\tSyserOption.iFollowMode = SYSER_FM_SYSTEM_EXPLORER;\n\treturn true;\n}\n\nbool CCodeView::OnEventFMSourceCodeExplorer(IN WISP_MSG*pMsg)\n{\n\tSyserOption.iFollowMode = SYSER_FM_SOURCE_EXPLORER;\n\treturn true;\n}\n\nint CCodeView::GetCrossReferenceList(DWORD Address,CROSSREFERENCELIST* pCrossReferenceList)\n{\n\tint TotalCount=0;\n\tBYTE* Buffer;\n\tHANDLE hItem=NULL;\n\tint ReadLen,RetLen,j,CurrentCount=0,i,Len,TmpLen,k;\n\tULPOS Addr,DestAddress,HighAddr,LowAddr;\n\tint Offset;\n\tCDbgModule* pModule;\n\tpModule = gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pModule==NULL && gpSyser->m_pSysDebugger!=gpSyser->m_pDebugger)\n\t{\n\t\tpModule = gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\tif(pModule==NULL)\n\t\t\treturn false;\n\t}\n\tBuffer = new BYTE[0x1010];\n\tif(Buffer==NULL)\n\t{\n\t\treturn false;\n\t}\n\tAddr = pModule->m_ModuleBase;\n\tLen = pModule->m_ModuleSize;\n\tReadLen = 0x1000;\n\tLowAddr=Address-128;\n\tHighAddr=Address+127;\n\tfor(i = 0; i < Len;)\n\t{\n\t\tif(Len - i < ReadLen)\n\t\t\tReadLen=Len-i;\n\t\tRetLen = gpSyser->m_pDebugger->ReadMemory(Addr,Buffer,ReadLen);\n\t\tif(RetLen == ReadLen)\n\t\t{\n\t\t\tfor(j = 0; j < RetLen-5;j++)\n\t\t\t{\n\t\t\t\tif(Buffer[j]==0xe9 || Buffer[j]==0xe8)\n\t\t\t\t{\n\t\t\t\t\tTotalCount++;\n\t\t\t\t\tOffset=*(int*)&Buffer[j+1];\n\t\t\t\t\tDestAddress = Addr+Offset+j+5;\n\t\t\t\t\tif(Address==DestAddress)\n\t\t\t\t\t{\n\t\t\t\t\t\tCurrentCount++;\n\t\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(Buffer[j]==0x0f)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(Buffer[j+1]>=0x80&&Buffer[j+1]<=0x8f)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTotalCount++;\n\t\t\t\t\t\t\tOffset=*(int*)&Buffer[j+2];\n\t\t\t\t\t\t\tDestAddress = Addr+Offset+j+6;\n\t\t\t\t\t\t\tif(Address==DestAddress)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tCurrentCount++;\n\t\t\t\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(k=j; k < RetLen;k++)\n\t\t\t{\n\t\t\t\tif(Buffer[k]==0xe9||Buffer[k]==0x0f)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(k!=RetLen)\n\t\t\t{\n\t\t\t\t*(int*)&Buffer[ReadLen]=0;\n\t\t\t\tTmpLen = Len - (i+ReadLen);\n\t\t\t\tif(TmpLen>=5)\n\t\t\t\t\tTmpLen=5;\n\t\t\t\tk = gpSyser->m_pDebugger->ReadMemory(Addr+ReadLen,&Buffer[ReadLen],TmpLen);\n\t\t\t\tif(k == TmpLen)\n\t\t\t\t{\n\t\t\t\t\tfor(;j<RetLen;j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(Buffer[j]==0xe9||Buffer[j]==0xe8)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTotalCount++;\n\t\t\t\t\t\t\tOffset=*(int*)&Buffer[j+1];\n\t\t\t\t\t\t\tDestAddress = Addr+Offset+j+5;\n\t\t\t\t\t\t\tif(Address==DestAddress)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tCurrentCount++;\n\t\t\t\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(Buffer[j]==0x0f)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(Buffer[j+1]>=0x80&&Buffer[j+1]<=0x8f)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tTotalCount++;\n\t\t\t\t\t\t\t\t\tOffset=*(int*)&Buffer[j+2];\n\t\t\t\t\t\t\t\t\tDestAddress = Addr+Offset+j+6;\n\t\t\t\t\t\t\t\t\tif(Address==DestAddress)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tCurrentCount++;\n\t\t\t\t\t\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} \n\t\t\t\n\t\t}\n\t\ti+=ReadLen;\n\t\tAddr+=ReadLen;\n\t}\n\tAddr=LowAddr;\n\tRetLen = gpSyser->m_pDebugger->ReadMemory(LowAddr,Buffer,256);\n\tif(RetLen==256)\n\t{\n\t\tfor(j = 0;j < RetLen-1;j++)\n\t\t{\n\t\t\tif(Buffer[j]==0xeb)\n\t\t\t{\n\t\t\t\tTotalCount++;\n\t\t\t\tOffset=(int)(char)Buffer[j+1];\n\t\t\t\tDestAddress = Addr+Offset+j+2;\n\t\t\t\tif(Address==DestAddress)\n\t\t\t\t{\n\t\t\t\t\tCurrentCount++;\n\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t}\n\t\t\t}else if(Buffer[j]>=0x70&&Buffer[j]<=0x7f)\n\t\t\t{\n\t\t\t\tTotalCount++;\n\t\t\t\tOffset=(int)(char)Buffer[j+1];\n\t\t\t\tDestAddress = Addr+Offset+j+2;\n\t\t\t\tif(Address==DestAddress)\n\t\t\t\t{\n\t\t\t\t\tCurrentCount++;\n\t\t\t\t\tpCrossReferenceList->Append(Addr+j);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n\tdelete Buffer;\n\tTotalCount = pCrossReferenceList->Count();\n\treturn TotalCount;\n}\n\nint CCodeView::GetDataReferenceList(DWORD Address,CROSSREFERENCELIST* pList,DWORD* VarAddr)\n{\n\tint TotualCount=0;\n\tint ReadLen,RetLen=0,j=0,CurrentCount=0,i,Len,TmpLen=0,k=0;\n\tULPOS Addr=0,DestAddress,TmpVar;\n\tint Offset=0;\n\tCDbgModule* pModule;\n\t\n\tbool bOk;\n\tULPOS DesAddr=0;\n\tif(m_pCodeDoc==NULL||m_pCodeDoc->IsOpened()==false)\n\t\treturn 0;\n\tbOk = m_pCodeDoc->GetVariableDesAddress(Address,&DestAddress);\n\tif(bOk==false)\n\t\treturn 0;\n\t*VarAddr=DestAddress;\n\tpModule = gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pModule==NULL)\n\t{\n#ifdef CODE_OS_NT_DRV\n\t\tpModule = gpSyser->m_pSysDebugger->GetModule(Address);\n#endif\n\t\tif(pModule==NULL)\n\t\t\treturn 0;\n\t}\n\tif(DestAddress<pModule->m_ModuleBase || DestAddress >= pModule->m_ModuleBase+pModule->m_ModuleSize)\n\t\treturn 0;\n\tAddr = pModule->m_ModuleBase;\n\tLen = pModule->m_ModuleSize;\n\tReadLen = 0x1000;\n\tfor(i = 0; i < Len-3;i++)\n\t{\n\t\tif(m_pCodeDoc->ReadImage(Addr+i,&TmpVar,sizeof(TmpVar))==sizeof(TmpVar))\n\t\t\tif(TmpVar==DestAddress)\n\t\t\t\tpList->Append(Addr+i);\n\t}\n\tTotualCount=pList->Count();\n\treturn TotualCount;\n}\n\nbool CCodeView::OnEventCrossReference(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\tCROSSREFERENCELIST CrossReferenceList;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress=(ULPOS)GetItemData(hItem,1);\n\tCrossReferenceByAddr(Address);\n\treturn true;\n}\n\n\nbool CCodeView::OnEventXrefOperand(IN WISP_MSG*pMsg)\n{\n\tCROSSREFERENCELIST CrossReferenceList;\n\tCROSSREFERENCELIST::IT BeginIt,EndIt;\n\tHANDLE hItem;\n\tULPOS Address;\t\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\thItem=GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress=(ULPOS)GetItemData(hItem,1);\n\tXrefOperandByAddr(Address);\n\treturn true;\n}\n\nbool CCodeView::CrossReferenceByAddr(ULPOS Address)\n{\n\tCROSSREFERENCELIST CrossReferenceList;\n\tint Count;\n\tCount = GetCrossReferenceList(Address,&CrossReferenceList);\n\tif(Count==0)\n\t{\n\t\tSYSEXPLR_OUTPUT(WSTR(\"Can't find Transfer Reference\\n\"));\n\t\treturn true;\n\t}\n\tif(gpSyser->m_MainFrame.m_CrossReferenceForm.IsWindow())\n\t\tgpSyser->m_MainFrame.m_CrossReferenceForm.Show();\n\telse\n\t\tgpSyser->m_MainFrame.m_CrossReferenceForm.CreateForm();\n\tgpSyser->m_MainFrame.m_CrossReferenceForm.InitReferenceList(&CrossReferenceList,Address);\n\treturn true;\n}\n\nbool CCodeView::XrefOperandByAddr(ULPOS Address)\n{\n\tCROSSREFERENCELIST CrossReferenceList;\n\tint Count;\n\tULPOS RetAddr;\t\n\tCount =  GetDataReferenceList(Address,&CrossReferenceList,&RetAddr);\n\tif(Count==0)\n\t{\n\t\tSYSEXPLR_OUTPUT(WSTR(\"Can't find Operand Reference\\n\"));\n\t\treturn true;\n\t}\n\tif(gpSyser->m_MainFrame.m_CrossReferenceForm.IsWindow())\n\t\tgpSyser->m_MainFrame.m_CrossReferenceForm.Show();\n\telse\n\t\tgpSyser->m_MainFrame.m_CrossReferenceForm.CreateForm();\n\tgpSyser->m_MainFrame.m_CrossReferenceForm.InitDataReferenceList(&CrossReferenceList,RetAddr);\n\treturn true;\n}\n\nbool CCodeView::OnEventNextPos(IN WISP_MSG*pMsg)\n{\n\tOnNextPos(pMsg);\n\treturn true;\n}\n\nbool CCodeView::OnEventPrevPos(IN WISP_MSG*pMsg)\n{\n\tOnPrevPos(pMsg);\n\treturn true;\n}\n\nbool CCodeView::OnEventSavePos(IN WISP_MSG*pMsg)\n{\n\tOnSavePos(pMsg);\n\treturn true;\n}\n\nbool CCodeView::OnEventEmptyPosList(IN WISP_MSG*pMsg)\n{\n\tEmptyPosList();\n\treturn true;\n}\n\nbool CCodeView::OnNextPos(IN WISP_MSG*pMsg)\n{\n\tif(m_AddrIter!=m_AddrList.End() && *m_AddrIter!= m_CurAddr)\n\t{//ǰַڵǰ洢㣬ϣNextPosPrevPos\n\t\tSetStartAddress(*m_AddrIter,false);\n\t}\n\telse if(m_AddrIter!=m_AddrList.Last())\n\t{\n\t\tm_AddrIter++;\n\t\tSetStartAddress(*m_AddrIter,false);\n\t}\n\tSYSTEM_EXPLORER.UpdateItemState();\n\treturn true;\n}\n\nbool CCodeView::OnPrevPos(IN WISP_MSG*pMsg)\n{\n\tif(m_pCodeDoc==NULL||m_pCodeDoc->IsOpened()==false)\n\t\treturn true;\n\tif(m_AddrIter!=m_AddrList.End() && *m_AddrIter!= m_CurAddr)\n\t{//ǰַڵǰ洢㣬ϣNextPosPrevPos\n\t\tSetStartAddress(*m_AddrIter,false);\n\t}\n\telse if(m_AddrIter!=m_AddrList.Begin())\n\t{\n\t\tm_AddrIter--;\n\t\tSetStartAddress(*m_AddrIter,false);\n\t}\n\tSYSTEM_EXPLORER.UpdateItemState();\n\treturn true;\n}\n\nbool CCodeView::OnSavePos(IN WISP_MSG*pMsg)\n{\n\tif(m_AddrIter!=m_AddrList.Last())\n\t{//һ\n\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrIter,m_AddrList.End());\n\t\tm_AddrIter=m_AddrList.End();\n\t}\t\n\tif(m_AddrList.Count()>MAX_POS_LIST_COUNT)\n\t{\n\t\tif(m_AddrIter==m_AddrList.Begin())\n\t\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrList.Begin());\n\t}\n\tint nCount=m_AddrList.Count();\n\tif(m_AddrList.Count()==0 || m_CurAddr!= *m_AddrList.Last())\n\t\tm_AddrIter = m_AddrList.Append(m_CurAddr);\n\tSYSTEM_EXPLORER.UpdateItemState();\n\treturn true;\n}\n\nvoid CCodeView::EmptyPosList()\n{\n\tm_AddrList.Clear();\n\tm_AddrIter = m_AddrList.Append(m_CurAddr);\n\tSYSTEM_EXPLORER.UpdateItemState();\n}\n\nbool CCodeView::OnEnterAddr(IN WISP_MSG*pMsg)\n{\n\tULPOS DesAddr,Address,Immed;\n\tHANDLE hItem;\n\tint nCount;\n\tBYTE Buffer[4];\n\tbool TransferAddress=true;\n\t\n\tif(m_pCodeDoc==NULL||m_pCodeDoc->IsOpened()==false)\n\t\treturn true;\n\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = (ULPOS) GetItemData(hItem,1);\n\tif(m_pCodeDoc->GetTransferAddress(Address,&DesAddr)==false)\n\t{\t\t\n\t\tnCount = m_pCodeDoc->GetInstrImmediateAndDesAddress(Address,&DesAddr,&Immed);\n\t\tif(nCount==0)\n\t\t\treturn true;\n\t\tTransferAddress=false;\n\t}\n\tif(TransferAddress)\n\t{\n\t\tif(m_AddrIter!=m_AddrList.Last())\n\t\t{//һ\n\t\t\tm_AddrIter++;\n\t\t\tm_AddrList.Remove(m_AddrIter,m_AddrList.End());\n\t\t\tm_AddrIter=m_AddrList.End();\n\t\t}\n\t\tSetStartAddress(DesAddr,true);\n\t\treturn true;\n\t}\n\tif(Immed!=-1)\n\t{\t\n\t\tACTIVE_DATA_VIEW->ViewAddress(Immed);\n\t\treturn true;\t\n\t}\n\tif(DesAddr!=-1)\n\t{\n\t\tif(m_pCodeDoc->ReadMemory(DesAddr,Buffer,sizeof(Buffer))==sizeof(Buffer))\n\t\t{\n\t\t\tACTIVE_DATA_VIEW->ViewAddress(DesAddr);\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CellRC;\n\tHANDLE hItem=NULL;\n\tULPOS Address=0;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tGetItemCellRect(GetItem(0),3,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t\tOnEnterAddr(pMsg);\n\t}\t\n\treturn true;\n}\n\nvoid CCodeView::SetSelectItemByAddress(ULPOS Address)\n{\n\tHANDLE hItem = GetScrStartItem();\n\tNUM_PTR NumPtr;\n\twhile(hItem)\n\t{\n\t\tNumPtr = GetItemData(hItem,1);\n\t\tif(Address == *(ULPOS*)&NumPtr)\n\t\t{\n\t\t\tSelectItem(hItem);\n\t\t\tbreak;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t}\n}\nbool CCodeView::OnGetNextTrace(IN WISP_MSG*pMsg)\n{\n\tPSTRUNTRACE pRunTrace;\n\tpRunTrace = SYSTEM_EXPLORER.GetNextTrace();\n\tif(pRunTrace==NULL)\n\t\treturn false;\n\tSetStartAddress(pRunTrace->CodeViewStartAddress);\n\tSetSelectItemByAddress(pRunTrace->CodeViewStartAddress+pRunTrace->EIPOffset);\n\treturn true;\n}\n\nbool CCodeView::OnGetPrevTrace(IN WISP_MSG*pMsg)\n{\n\tPSTRUNTRACE pRunTrace;\n\tpRunTrace = SYSTEM_EXPLORER.GetPrevTrace();\n\tif(pRunTrace==NULL)\n\t\treturn true;\n\tSetStartAddress(pRunTrace->CodeViewStartAddress);\n\tSetSelectItemByAddress(pRunTrace->CodeViewStartAddress+pRunTrace->EIPOffset);\n\treturn true;\n}\n\nvoid CCodeView::PopupMenu(IN WISP_MSG*pMsg)\n{\n\tbool bState;\n\tULPOS Address;\n\tif(PointToItem(pMsg->MsgMouseCltPT,&m_PopupMenuCol)==NULL)\n\t\treturn;\n\tif(m_PopupMenuCol<1 || m_PopupMenuCol>LI_POS_CELL_AREA_END)\n\t\treturn;\n\tm_hPopupMenuItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(m_hPopupMenuItem==NULL)\n\t\treturn;\n\tAddress = (ULPOS)GetItemData(m_hPopupMenuItem,1);\n\tbState = GetItemText(m_hPopupMenuItem,2).Length()!=0;\n\tm_PopupMenu.EnableItem(EVENT_ID_CODEVIEW_EDIT_CODE,bState);\n\tm_PopupMenu.EnableItem(EVENT_ID_CODEVIEW_EDIT_COMMENT,bState);\n\tm_PopupMenu.EnableItem(EVENT_ID_PREV_POS,m_AddrIter!=m_AddrList.Begin());\n\tm_PopupMenu.EnableItem(EVENT_ID_NEXT_POS,m_AddrIter!=m_AddrList.Last());\n\tm_PopupMenu.EnableItem(EVENT_ID_EMPTY_POS_LIST,m_AddrList.Count()>1);\n\tm_PopupMenu.CheckItem(EVENT_ID_TOGGLE_SYMBOL,(m_pCodeDoc->m_Style&DS_USE_SYM)!=0);\n\tm_PopupMenu.CheckItem(EVENT_ID_TOGGLE_FULL_SYMBOL,SyserOption.iShowFullSym!=0);\n\n\tm_PopupMenu.CheckItem(EVENT_ID_ADDRESS_MODE_HEX,m_AddrShowMode == CODE_VIEW_ADDRESS_MOD);\n\tm_PopupMenu.CheckItem(EVENT_ID_OFFSET_MODE_HEX,m_AddrShowMode == CODE_VIEW_OFFSET_MOD);\n\tm_PopupMenu.CheckItem(EVENT_ID_RELATIVE_TO_EIP,m_AddrShowMode == CODE_VIEW_REL_TO_EIP_MOD);\n\n\tm_PopupMenu.CheckItem(EVENT_ID_FM_AUTOMATIC,\t\t\tSyserOption.iFollowMode == SYSER_FM_AUTOMATIC);\n\tm_PopupMenu.CheckItem(EVENT_ID_FM_SYSTEM_EXPLORER,\t\tSyserOption.iFollowMode == SYSER_FM_SYSTEM_EXPLORER);\n\tm_PopupMenu.CheckItem(EVENT_ID_FM_SOURCE_CODE_EXPLORER,\tSyserOption.iFollowMode == SYSER_FM_SOURCE_EXPLORER);\n\n\tm_PopupMenu.Popup();\n}\nvoid CCodeView::ToggleHighlight(IN WISP_MSG* pMsg)\n{\n\tint Col;\n\tHANDLE hItem;\n\tWISP_RECT CellRect;\n\tint x,offset;\t\n\tWCHAR szBuffer[512];\t\n\tWISP_PCSTR pStr;\n\tint n,OldLen;\n\tCItemList::IT ItemIter;\n\tOldLen=TStrLen(m_HighlightString);\n\tCol = PointToItem(pMsg->MsgMouseCltPT,ItemIter);\n\tif(Col<1 || Col>LI_POS_CELL_AREA_END)\n\t{\n\t\tgoto quit;\n\t}\n\thItem= &(*ItemIter);\n\tif(hItem==NULL)\n\t{\n\t\tgoto quit;\n\t}\n\tpStr=GetItemText(hItem,Col);\n\tif(pStr==NULL)\n\t{\n\t\tgoto quit;\n\t}\n\tif(IsColorString(pStr))\n\t{\n\t\tTStrCpyLimit(szBuffer,GetColorString(pStr),512);\n\t\tpStr=szBuffer;\n\t}\n\tn = TStrLen(pStr);\n\tGetItemCellRect(hItem,Col,&CellRect);\n\tx = m_pWispBase->m_MousePT.x - m_ScrClientRect.x-CellRect.x ;//- m_TextMargin;\n\toffset = m_ClientDC.PixelOffToTextOff(pStr,x);\n\tif(offset==-1)\n\t{\n\t\tgoto quit;\n\t}\n\tint nLastSpilte=0;\n\tif((pStr[offset]>='0'&&pStr[offset]<='9')||(pStr[offset]>='a'&&pStr[offset]<='z')||(pStr[offset]>='A'&&pStr[offset]<='Z')||pStr[offset]=='_')\n\t{\n\t\tfor(int i=0;i<n;i++)\n\t\t{\n\t\t\tif((pStr[i]>='0'&&pStr[i]<='9')||(pStr[i]>='a'&&pStr[i]<='z')||(pStr[i]>='A'&&pStr[i]<='Z')||pStr[i]=='_')\n\t\t\t\tcontinue;\n\t\t\tif(i>offset)\n\t\t\t{\n\t\t\t\tTStrNCpy(m_HighlightString,pStr+nLastSpilte,i-nLastSpilte);\n\t\t\t\tm_HighlightString[i-nLastSpilte]=0;\n\t\t\t\tUpdateView();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tnLastSpilte=i+1;\n\t\t}\t\n\t\tTStrNCpy(m_HighlightString,pStr+nLastSpilte,n-nLastSpilte);\n\t\tm_HighlightString[n-nLastSpilte]=0;\n\t\tUpdateView();\n\t\treturn;\n\t}\nquit:\n\tif(OldLen)\n\t{\n\t\tm_HighlightString[0]=0;\n\t\tUpdateView();\n\t}\t\n}\n\nbool CCodeView::OnStartAddressInc(IN WISP_MSG*pMsg)\n{\n\tSetStartAddress(m_CurAddr+1);\n\treturn false;\n}\nbool CCodeView::OnStartAddressDec(IN WISP_MSG*pMsg)\n{\n\tSetStartAddress(m_CurAddr-1);\n\treturn false;\n}\nbool CCodeView::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tCODEHOTKEYMAP::IT FindIT;\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT != m_HotKeyMap.End())\n\t\t{\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\t\t\t\t\n\t\t\treturn OnEvent(&Msg);\t\t\t\t\t\t\n\t\t}\n\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{ \n\t\tcase WISP_VK_RBUTTON:\n\t\t\tPopupMenu(pMsg);\n\t\t\tbreak;\n\t\tcase WISP_VK_LBUTTON:\n\t\t\tToggleHighlight(pMsg);\n\t\t\tbreak;\n\t\tcase WISP_VK_W:\n\t\t\t{\n\t\t\t\tint SizeXorY;\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.GetWndSpace(1,SizeXorY);\n\t\t\t\tif(SizeXorY>10)\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(1,SizeXorY-10);\n\t\t\t\telse\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(1,0);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\tcase WISP_VK_S:\n\t\t\t{\n\t\t\t\tint SizeXorY;\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.GetWndSpace(1,SizeXorY);\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(1,SizeXorY+10);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t\t\n\t\t\t}\n\t\t\tbreak;\n\n\t\t}\n\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnChar(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Char.Char>='a' && pMsg->Char.Char<='z')\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd.Focus();\n\t\tWISP_MSG Msg = *pMsg;\n\t\tMsg.hWnd = &gpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd;\n\t\tm_pWispBase->SendMessage(&Msg);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnSize(IN WISP_MSG*pMsg)\n{\n\tSetScrollBarInfo(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,m_nLinePerPage*(m_ScrollSpace+m_ScrollSpace+1),m_nLinePerPage,0,false);\n\tUpdateView();\n\treturn true;\n}\n\nbool CCodeView::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t{\n\t\thItem = GetFirstItem();\n\t\tif(hItem)\n\t\t\tSelectItem(hItem);\n\t}\n\treturn true;\n}\n\nbool CCodeView::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_ColorTable[COLOR_BK\t   ]=ColorOption.clrCVBK;\n\tm_ColorTable[COLOR_ADDRESS ]=ColorOption.clrCVAddr;\n\tm_ColorTable[COLOR_PREFIX  ]=ColorOption.clrCVPrefix;\n\tm_ColorTable[COLOR_OPCODE  ]=ColorOption.clrCVOpCode;\n\tm_ColorTable[COLOR_REGISTER]=ColorOption.clrCVReg;\n\tm_ColorTable[COLOR_SEG_REG ]=ColorOption.clrCVSegReg;\n\tm_ColorTable[COLOR_IMMED   ]=ColorOption.clrCVImmed;\n\tm_ColorTable[COLOR_OPTR    ]=ColorOption.clrCVOptr;\n\tm_ColorTable[COLOR_SYMBOL  ]=ColorOption.clrCVSymbol;\n\tm_ColorTable[COLOR_COMMENT ]=ColorOption.clrCVComment;\n\tm_ColorTable[COLOR_KEYWORD ]=ColorOption.clrCVKeyword;\n\tm_ColorTable[COLOR_STR     ]=ColorOption.clrCVStr;\n\tm_ColorTable[COLOR_BPX_STRIP]=ColorOption.clrCVBPXStrip;\n\tm_ColorTable[COLOR_EIP_STRIP]=ColorOption.clrCVEIPStrip;\n\tm_ColorTable[COLOR_BPXEIP_STRIP]=ColorOption.clrCVBPXEIPStrip;\n\tm_ColorTable[COLOR_API_NAME]=ColorOption.clrCVAPIName;\n\tm_ColorTable[COLOR_API_PARAM_TYPE]=ColorOption.clrCVAPIParamType;\n\tm_ColorTable[COLOR_API_PARAM_NAME]=ColorOption.clrCVAPIParamName;\n\tm_ColorTable[COLOR_JMP_LINE]=ColorOption.clrCVJmpLine ;\n\tm_ColorTable[COLOR_ACTIVED_JMP_LINE]=ColorOption.clrCVActivedJmpLine;\n\tm_ColorTable[COLOR_PREFIX_BYTE]=ColorOption.clrCVPrefixByte;\n\tm_ColorTable[COLOR_OPCODE_BYTE]=ColorOption.clrCVOpcodeByte;\n\tm_ColorTable[COLOR_REGRM_BYTE]=ColorOption.clrCVRegRMByte;\t\t//opcode  RegRM ֽڵɫ\n\tm_ColorTable[COLOR_SIB_BYPE]=ColorOption.clrCVSIBByte;\t\t\t//opcode  SIB ֽڵɫ\n\tm_ColorTable[COLOR_OTHER_OPCODE_BYTE]=ColorOption.clrCVOtherOpcodeByte;\t\t//opcode  ֽڵɫ\n\tm_ColorTable[COLOR_3DNOW_BYTE]=ColorOption.clrCV3DNowByte;//3dNow ָimmediate byte\n\n\n\tm_SelectBKColor = ColorOption.clrCVSelectedFrame;\n\tm_LostFocusSelBKColor = ColorOption.clrCVLostFocusSelFrame;\n\tm_ClientDC.SetColorTable(m_ColorTable);\n\tm_PopupMenu.CreatePopupMenu(CodeViewOperationMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_ColIconList.Load(\"\\\\SyserIcon\\\\CodeView.bmp\",16,16,4);\n\tm_ColIconList.SetType(WISP_DIB_TK);\n\tm_ColIconList.SetColorKey(WISP_RGB(0,255,255));\n\n\tint FontWidth = m_ClientDC.GetTextExtent(WSTR(\"X\"));\n\tInsertColumn(WSTR(\"Pic\"),20,WISP_WLCS_FIXED);\n\tInsertColumn(WSTR(\"Address\"),FontWidth*9+3,0);\n\tInsertColumn(WSTR(\"Bin\"),FontWidth*15,0);\n\tInsertColumn(WSTR(\"Code\"),FontWidth*35,0);\n\tInsertColumn(WSTR(\"Comment\"),200,WISP_WLCS_EDITABLE);\n\tShowColumnTitle(false);\n\tSetBGColor(m_ColorTable[COLOR_BK]);\n\tm_Style|=WISP_WLS_EMPTY_SEL_RECT|WISP_WLS_VERT_LINE;\n\tm_ScrollBar[WISP_SB_VERT]->Style=WISP_SS_NORMAL;\n\tm_ScrollBar[WISP_SB_VERT]->bHide = false;\n\tm_AddrShowMode = CODE_VIEW_ADDRESS_MOD;\n\tm_JmpLineSpace = 13;\n\tm_StateDIBList=WispTKDIBList(\"\\\\SyserApp\\\\LineMark.bmp\",16,16);\n\tm_StateDIBList->SetColorKey(0);\n\tAttachShortcutKey();\n\treturn true;\n}\n\n\n\nbool CCodeView::OnActiveCodeView(IN WISP_MSG*pMsg)\n{\n\tDWORD NewAddr;\n\tDWORD Index;\n\tIndex = pMsg->Command.CmdID;\n\tIndex -= EVENT_ID_ACTIVE_CODEVIEW_0;\n\tCCodeView*pCodeView = (CCodeView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetWnd(Index);\n\tif(pCodeView==NULL)\n\t{\n\t\tpCodeView =(CCodeView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\t\tNewAddr = ACTIVE_CODE_VIEW->m_CurAddr;\n\t\tpCodeView = ADD_CODE_VIEW(pCodeView);\n\t\tif(pCodeView==NULL)\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.ChangeActiveWnd(pCodeView);\n\t}\n\treturn true;\n}\n\nvoid CCodeView::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_0,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_1,EVENT_ID_ACTIVE_CODEVIEW_0);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_1,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_2,EVENT_ID_ACTIVE_CODEVIEW_1);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_2,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_3,EVENT_ID_ACTIVE_CODEVIEW_2);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_3,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_4,EVENT_ID_ACTIVE_CODEVIEW_3);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_4,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_5,EVENT_ID_ACTIVE_CODEVIEW_4);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_5,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_6,EVENT_ID_ACTIVE_CODEVIEW_5);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_6,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_7,EVENT_ID_ACTIVE_CODEVIEW_6);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_7,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_8,EVENT_ID_ACTIVE_CODEVIEW_7);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_CODEVIEW_8,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_9,EVENT_ID_ACTIVE_CODEVIEW_8);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_TOGGLE_SYMBOL,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_TAB,\t\t\t\t\tEVENT_ID_TOGGLE_SYMBOL);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_TOGGLE_FULL_SYMBOL,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_TAB|WISP_MOD_CTRL,\t\tEVENT_ID_TOGGLE_FULL_SYMBOL);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GETNEXTTRACE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_OEM_PLUS,\t\t\t\tEVENT_ID_GETNEXTTRACE);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GETPREVTRACE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_OEM_MINUS,\t\t\t\tEVENT_ID_GETPREVTRACE);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_PREV_POS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_BACK,\t\t\t\t\tEVENT_ID_PREV_POS);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_NEXT_POS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN|WISP_MOD_CTRL,\tEVENT_ID_NEXT_POS);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_FOLLOW_TO_DESTINATION,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN,\t\t\t\tEVENT_ID_FOLLOW_TO_DESTINATION);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SAVE_POS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN|WISP_MOD_SHIFT, EVENT_ID_SAVE_POS);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_STARTADDRESS_DEC,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL|\tWISP_VK_UP,\t\tEVENT_ID_STARTADDRESS_DEC);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_STARTADDRESS_INC,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL|\tWISP_VK_DOWN,\tEVENT_ID_STARTADDRESS_INC);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_TOGGLE_BP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_F9,\t\t\t\t\tEVENT_ID_TOGGLE_BP);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_F7,\t\t\t\t\tEVENT_ID_GOTO);\n\n\n}\n\nbool CCodeView::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_ColIconList.Destroy();\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CCodeView::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tint\tCodeLen;\t\n\tULPOS StartAddr,EndAddr;\n\tif(pMsg->ScrollEvent.SBType==WISP_SB_VERT)\n\t{\n\t\tswitch(pMsg->ScrollEvent.Event)\n\t\t{\n\t\tcase WISP_SB_DEC:\n\t\t\tStartAddr = m_CurAddr;\n\t\t\tCodeLen=m_CurAddr - m_pCodeDoc->GetNextAddress(m_CurAddr,-1);\n\t\t\tif((LONGLONG)m_CurAddr-(LONGLONG)CodeLen>=(LONGLONG)m_pCodeDoc->m_DocRangeStart)\n\t\t\t\tStartAddr-=CodeLen;\n\t\t\telse\n\t\t\t\tStartAddr=(DWORD)m_pCodeDoc->m_DocRangeStart;\n\t\t\tSetStartAddress(StartAddr,false);\n\t\t\tbreak;\n\t\tcase WISP_SB_INC:\n\t\t\tStartAddr = m_CurAddr;\n\t\t\tCodeLen=m_pCodeDoc->GetNextAddress(m_CurAddr,1) - m_CurAddr;\n\t\t\tif(StartAddr+CodeLen<m_pCodeDoc->m_DocRangeEnd)\n\t\t\t{\n\t\t\t\tStartAddr+=CodeLen;\n\t\t\t\tSetStartAddress(StartAddr,false);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_SB_PAGE_UP:\n\t\t\tStartAddr=m_pCodeDoc->GetNextAddress(m_CurAddr,-(m_nLinePerPage-1));\n\t\t\tif(StartAddr<m_pCodeDoc->m_DocRangeStart)\n\t\t\t\tStartAddr=m_pCodeDoc->m_DocRangeStart;\n\t\t\tSetStartAddress(StartAddr);\n\t\t\tbreak;\n\t\tcase WISP_SB_PAGE_DOWN:\n\t\t\tGetCodeRange(&StartAddr,&EndAddr);\n\t\t\tSetStartAddress(EndAddr,false);\n\t\t\tbreak;\n\t\tcase WISP_SB_POS_CHANGE:\n\t\t\tif(pMsg->ScrollEvent.Delta<0)\n\t\t\t{\n\t\t\t\tStartAddr=m_pCodeDoc->GetNextAddress(m_CurAddr,pMsg->ScrollEvent.Delta);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tStartAddr=m_pCodeDoc->GetNextAddress(m_CurAddr,pMsg->ScrollEvent.Delta);\n\t\t\t}\n\t\t\tSetStartAddress(StartAddr,false);\n\t\t\treturn false;\n\t\t\tbreak;\n\t\t}\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace);\n\t}\n\treturn false;\n}\n\nCCodeView::CCodeView()\n{\n\tm_CurAddr = 0;\n\tm_ScrollSpace = 2;\n\tm_AddrIter = m_AddrList.End();\n\tm_HighlightString[0]=0;\n}\n\nCCodeView::~CCodeView()\n{\n\tm_AddrList.Clear();\n}\n\nvoid CCodeView::UpdateCodeViewAddrSym()\n{\n\tULPOS Address;\n\tint Length;\n\tCHAR szSymbol[256];\n\tWCHAR szBuffer[512];\n#ifdef CODE_OS_NT_DRV\n\tLength = TStrCpy(szBuffer,(PCWSTR)gpSyser->m_pDebugger->m_ProcNameW);\n#else\n\tLength = AnsiToUnicode(TGetFileName((PCSTR)gpSyser->m_SyserUI.m_CodeDoc.m_MainModuleName),szBuffer,512);\n#endif\n\tAddress = m_CurAddr;\n\t//Address = *X86_REG_PTR.pEIP;\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL&&gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule)\n\t{\n\t\tLength+=TStrCpy(&szBuffer[Length],WSTR(\" : \"));\n\t\tLength+=AnsiToUnicode(pDbgModule->m_ModuleTitle,&szBuffer[Length],512-Length);\n\t\tif(gpSyser->m_SyserUI.GetAlmostSym(Address,szSymbol))\n\t\t{\n\t\t\tLength+=TStrCpy(&szBuffer[Length],WSTR(\"!\"));\n\t\t\tLength+=TStrCpy(&szBuffer[Length],szSymbol);\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLength+=TSPrintf(&szBuffer[Length],WSTR(\"+%X\"),Address-pDbgModule->m_ModuleBase);\n\t\t}\n\t}\n\tgpSyser->m_MainFrame.m_TipStr.SetWindowText(szBuffer);\n}\n\n\nvoid CCodeView::SetStartAddress(ULPOS Address,bool bRecordAddr)\n{\n\tWISP_CHAR szBuffer[64];\n\tULPOS uPrevPos;\n\tint Index;\n\tuPrevPos=m_CurAddr;\n\tif(Address == m_CurAddr)\n\t\treturn;\n\tIndex = 0;\n\tm_CurAddr = Address;\n\tfor(CTabWndList::IT Iter=SYSTEM_EXPLORER.m_MultiCodeView.m_WndList.Begin();\n\t\tIter!=SYSTEM_EXPLORER.m_MultiCodeView.m_WndList.End();Iter++)\n\t{\n\t\tif(Iter->pWnd==this)\n\t\t{\n\t\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),m_CurAddr);\n\t\t\tSYSTEM_EXPLORER.m_MultiCodeView.SetTabText(Index,szBuffer);\n\t\t}\n\t\tIndex++;\n\t}\n\tif(this == gpSyser->m_MainFrame.m_SystemExplorer.m_pCurCodeView)\n\t{\n\t\tUpdateCodeViewAddrSym();\n\t}\n\tif(bRecordAddr && m_CurAddr!=0)\n\t{\n\t\tRecordCurAddr(m_CurAddr,uPrevPos);\n\t}\n\tUpdateView();\n\tUpdate();\n}\n\nvoid  CCodeView::RecordCurAddr(ULPOS Address,ULPOS PrevAddress)\n{\n\tif(m_AddrList.Count()>MAX_POS_LIST_COUNT)\n\t{\n\t\tif(m_AddrIter==m_AddrList.Begin())\n\t\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrList.Begin());\n\t}\n\tif(m_AddrList.Count()==0 && Address!=PrevAddress)\n\t\tm_AddrIter = m_AddrList.Append(PrevAddress);\n\tif( Address!= *m_AddrList.Last())\n\t\tm_AddrIter = m_AddrList.Append(Address);\n\tSYSTEM_EXPLORER.UpdateItemState();\t\n}\n\nvoid  CCodeView::CenterVisibleAddress(ULPOS Address)\n{\n\tHANDLE hItem;\n\tULPOS NewAddress,ItemAddr;\n\tNewAddress = m_pCodeDoc->GetNextAddress(Address,-m_nLinePerPage/2);\n\tSetStartAddress(NewAddress);\n\thItem = GetScrStartItem();\n\twhile(hItem)\n\t{\n\t\tItemAddr = (ULPOS) GetItemData(hItem,ITEM_ADDRESS);\n\t\tif(ItemAddr==Address)\n\t\t{\n\t\t\tSelectItem(hItem);\n\t\t\tbreak;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t}\n}\n\nvoid CCodeView::GetCodeRange(DWORD*pStart,DWORD*pEnd)\n{\n\t*pStart = m_CurAddr;\n\t*pEnd=m_pCodeDoc->GetNextAddress(*pStart,m_nLinePerPage-1);\n}\n\nvoid CCodeView::UpdateViewAPICall(ULPOS Address,PCSTR szAPIName,HANDLE hItem,int nLine)\n{\n\tCWispString*pColorString;\n\tWISP_COLOR_CHAR*pColorStr;\n\tint Length,Count;\n\tDWORD CodeBuffer;\n\tWISP_COLOR_CHAR szBuffer[1024];\n\tWCHAR wszBuffer[256];\n\tPCSTR pParamStr,pParamStrEnd;\n\tCAPIMap::IT APIIter = gpSyser->m_SyserUI.m_APIMap.Find(szAPIName);\n\tif(APIIter.IsExist()==false)\n\t\treturn;\n\tLength =ColorStrCpy(szBuffer,(PCSTR)APIIter->Return,COLOR_API_PARAM_TYPE,COLOR_BK);\n\tLength+=ColorStrCpy(&szBuffer[Length],\" \",COLOR_BK,COLOR_BK);\n\tLength+=ColorStrCpy(&szBuffer[Length],(PCSTR)APIIter.Key(),COLOR_API_NAME,COLOR_BK);\n\tLength+=ColorStrCpy(&szBuffer[Length],\"(\",COLOR_OPTR,COLOR_BK);\n\tfor(TList<CStrA>::IT ParamIter=APIIter->ParamList.Begin();ParamIter!=APIIter->ParamList.End();ParamIter++)\n\t{\n\t\tpParamStrEnd=NULL;\n\t\tpParamStr = TStrRChr((PCSTR)*ParamIter,' ');\n\t\tif(pParamStr)\n\t\t{\n\t\t\tif(TStrCmp(&pParamStr[1],\"OPTIONAL\")==0)\n\t\t\t{\n\t\t\t\tpParamStrEnd = pParamStr;\n\t\t\t\tpParamStr = TStrRChr((PCSTR)*ParamIter,pParamStr-1,' ');\n\t\t\t\tif(pParamStr==NULL)\n\t\t\t\t\tpParamStr = (PCSTR)*ParamIter;\n\t\t\t}\n\t\t\tCount = TCountOfChar((PCSTR)*ParamIter,' ');\n\t\t\tif(Count==1)\n\t\t\t{\n\t\t\t\tif(TStrNCmp((PCSTR)*ParamIter,\"IN \",3)==0 || TStrNCmp((PCSTR)*ParamIter,\"OUT \",4)==0)\n\t\t\t\t\tpParamStr=NULL;\n\t\t\t}\n\t\t\telse if(Count==2)\n\t\t\t{\n\t\t\t\tif(TStrNCmp((PCSTR)*ParamIter,\"IN OUT \",7)==0)\n\t\t\t\t\tpParamStr=NULL;\n\t\t\t}\n\t\t}\n\t\tif(pParamStr)\n\t\t{\n\t\t\tTStrCpyLimit(wszBuffer,(PCSTR)*ParamIter,(int)(pParamStr-(PCSTR)*ParamIter)+1);\n\t\t\tLength+=/*@@*/ColorStrCpy(&szBuffer[Length],wszBuffer,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t\tif(pParamStrEnd)\n\t\t\t\tTStrCpyLimit(wszBuffer,pParamStr,(int)(pParamStrEnd-pParamStr)+1);\n\t\t\telse\n\t\t\t\tTStrCpy(wszBuffer,pParamStr);\n\t\t\tLength+=ColorStrCpy(&szBuffer[Length],wszBuffer,COLOR_API_PARAM_NAME,COLOR_BK);\n\t\t\tif(pParamStrEnd)\n\t\t\t{\n\t\t\t\tTStrCpy(wszBuffer,pParamStrEnd);\n\t\t\t\tLength+=ColorStrCpy(&szBuffer[Length],wszBuffer,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLength+=ColorStrCpy(&szBuffer[Length],(PCSTR)*ParamIter,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t}\n\t\tif(ParamIter!=APIIter->ParamList.Last())\n\t\t\tLength+=ColorStrCpy(&szBuffer[Length],\",\",COLOR_OPTR,COLOR_BK);\n\t}\n\tLength+=ColorStrCpy(&szBuffer[Length],\")\",COLOR_OPTR,COLOR_BK);\n\tSetItemColorText(hItem,4,szBuffer);\n\tif(APIIter->CallType==TYPE_STDCALL)\n\t{\n\t\tTList<CStrA>::IT ParamIter = APIIter->ParamList.Begin();\n\t\twhile(nLine>0 && ParamIter!=APIIter->ParamList.End())\n\t\t{\n\t\t\tnLine--;\n\t\t\thItem = GetPrevItem(hItem);\n\t\t\tif(hItem==NULL)\n\t\t\t\tbreak;\n\t\t\tpColorString=&GetItemText(hItem,ITEM_COMMENT);\n\t\t\tif(IsColorString(pColorString->m_pData))\n\t\t\t{//ѾǲɫעУʾϸĲ\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tpColorString=&GetItemText(hItem,ITEM_ASM_CODE);\n\t\t\tif(pColorString->Length()>0)\n\t\t\t{\n\t\t\t\tCodeBuffer=(DWORD)GetItemData(hItem,ITEM_BIN_DATA);\n\t\t\t\tif(CInstrSym::GetNearJmpDes((BYTE*)&CodeBuffer))\n\t\t\t\t\tbreak;\n\t\t\t\tpColorStr = (WISP_COLOR_CHAR*)&pColorString->m_pData[2];\n\t\t\t\tif(TStrNICmp(pColorStr,\"PUSH\",4)==0)\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tAddress = (ULPOS)GetItemData(hItem,ITEM_ADDRESS);\n\t\t\t\t\tpParamStrEnd=NULL;\n\t\t\t\t\tpParamStr = TStrRChr((PCSTR)*ParamIter,' ');\n\t\t\t\t\tif(pParamStr)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(TStrCmp(&pParamStr[1],\"OPTIONAL\")==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpParamStrEnd = pParamStr;\n\t\t\t\t\t\t\tpParamStr = TStrRChr((PCSTR)*ParamIter,pParamStr-1,' ');\n\t\t\t\t\t\t\tif(pParamStr==NULL)\n\t\t\t\t\t\t\t\tpParamStr = (PCSTR)*ParamIter;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tCount = TCountOfChar((PCSTR)*ParamIter,' ');\n\t\t\t\t\t\tif(Count==1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(TStrNCmp((PCSTR)*ParamIter,\"IN \",3)==0 || TStrNCmp((PCSTR)*ParamIter,\"OUT \",4)==0)\n\t\t\t\t\t\t\t\tpParamStr=NULL;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(Count==2)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(TStrNCmp((PCSTR)*ParamIter,\"IN OUT \",7)==0)\n\t\t\t\t\t\t\t\tpParamStr=NULL;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(pParamStr)\n\t\t\t\t\t{\n\t\t\t\t\t\tTStrCpyLimit(wszBuffer,(PCSTR)*ParamIter,(int)(pParamStr-(PCSTR)*ParamIter)+1);\n\t\t\t\t\t\tLength=/*@@*/ColorStrCpy(szBuffer,wszBuffer,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t\t\t\t\tif(pParamStrEnd)\n\t\t\t\t\t\t\tTStrCpyLimit(wszBuffer,pParamStr,(int)(pParamStrEnd-pParamStr)+1);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tTStrCpy(wszBuffer,pParamStr);\n\t\t\t\t\t\tLength+=ColorStrCpy(&szBuffer[Length],wszBuffer,COLOR_API_PARAM_NAME,COLOR_BK);\n\t\t\t\t\t\tif(pParamStrEnd)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTStrCpy(wszBuffer,pParamStrEnd);\n\t\t\t\t\t\t\tLength+=ColorStrCpy(&szBuffer[Length],wszBuffer,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tColorStrCpy(szBuffer,(PCSTR)*ParamIter,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t\tSetItemColorText(hItem,ITEM_COMMENT,szBuffer);\n\t\t\t\t\tParamIter++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n//Col 0 Data   ->   ÿжӦĵַMark\n//Col 1 Data   ->   ÿжӦĵַ\n//Col 2 Data   ->   ݵDWORD\n//Col 3 Data   ->   NearJmp Ŀĵַ\n\nbool CCodeView::UpdateView()\n{\n\tHANDLE hItem;\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tWISP_COLOR_CHAR szOpcodeColorBuffer[120];\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tWISP_CHAR szBuffer[256];\n\tWISP_CHAR* pszBuf;\n\tULPOS Address,NearJmpDes;\n\tint nHighlightLen=0;\n\tULSIZE CodeLen;\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tbool bLabel = false;\n\tint StrType;\n\tSetItemChildCount(NULL,m_nLinePerPage);\n\tAddress = m_CurAddr;\n\thItem = GetNextItem();\n\tSTZeroMemory(DasmInstr);\n\tmemset(CodeBuffer,0xff,sizeof(CodeBuffer));\n\tnHighlightLen = TStrLen(m_HighlightString);\n\tfor(int n=0;n<m_nLinePerPage && hItem;n++)\n\t{\n\t\tszColorBuffer[0]=0;\n\t\tDasmInstr.CodeBuff=CodeBuffer;\n\n\t\tCodeLen = ColorDasm(Address,MAX_INSTR_LEN,szColorBuffer,0,&DasmInstr,CodeBuffer);\n\t\tNearJmpDes = 0;\n\t\tif(CodeLen>=2)\n\t\t\tCInstrSym::GetNearJmpDes(CodeBuffer,Address,&NearJmpDes);\n\t\tTStrCpy(szBuffer,szColorBuffer);\n\t\tpszBuf=szBuffer;\n\t\tif(nHighlightLen)\n\t\t{\n\t\t\twhile(pszBuf=TStrIStr(pszBuf,m_HighlightString))\n\t\t\t{\n\t\t\t\tfor(int iii=0;iii<nHighlightLen;iii++)\n\t\t\t\t{\n\t\t\t\t\tszColorBuffer[pszBuf-szBuffer+iii]=(szColorBuffer[pszBuf-szBuffer+iii]&0xffffff)+(10<<24);\n\t\t\t\t}\n\t\t\t\tpszBuf+=nHighlightLen;\n\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\tSetItemData(hItem,ITEM_ADDRESS,Address);\n\t\tif(bLabel==false && m_pCodeDoc->GetLabel(Address,szBuffer,sizeof(szBuffer)/sizeof(WCHAR)))\n\t\t{\n\t\t\tSetItemData(hItem,ITEM_STATE,COLOR_NULL);\n\t\t\tSetItemData(hItem,ITEM_ASM_CODE,0);\n\t\t\tSetItemText(hItem,ITEM_STATE,WSTR(\"\"));\n\t\t\tSetItemText(hItem,ITEM_ADDRESS,WSTR(\"\"));\n\t\t\tSetItemText(hItem,ITEM_BIN_DATA,WSTR(\"\"));\n\t\t\tSetItemTextColor(hItem,ITEM_ASM_CODE,m_ColorTable[COLOR_SYMBOL]);\n\t\t\tSetItemText(hItem,ITEM_ASM_CODE,szBuffer);\n\t\t\tSetItemText(hItem,ITEM_COMMENT,WSTR(\"\"));\n\t\t\tbLabel = true;\n\t\t\thItem = GetNextItem(hItem);\n\t\t\tcontinue;\n\t\t}\n\t\tSetItemData(hItem,ITEM_STATE,m_pCodeDoc->GetLineMark(Address));\n\t\tSetItemTextColor(hItem,ITEM_ADDRESS,m_ColorTable[COLOR_ADDRESS]);\n\t\tGetAddressString(Address,szBuffer);\n\t\tSetItemText(hItem,ITEM_ADDRESS,szBuffer);\n\t\tint nlen=0;\n\t\tif(CodeLen>=1 && DasmInstr.OpCode!=-1)\n\t\t{\n\t\t\tint bskip=false;\n\t\t\tfor(int qq=0;(ULSIZE)qq<CodeLen;qq++)\n\t\t\t{\n\t\t\t\tTHexBytesToStr(CodeBuffer+qq,szBuffer,1,1);\n\t\t\t\tif(qq<DasmInstr.PrefixLen)\n\t\t\t\t{\n\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_PREFIX_BYTE,COLOR_BK);\n\t\t\t\t}\n\t\t\t\telse if(qq >=DasmInstr.PrefixLen && qq <DasmInstr.PrefixLen+DasmInstr.OpcodeLen)\n\t\t\t\t{\n\t\t\t\t\tif(qq==DasmInstr.PrefixLen && qq)\n\t\t\t\t\t{\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],\":\",COLOR_OPCODE_BYTE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_OPCODE_BYTE,COLOR_BK);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(DasmInstr.Have_RegRM!=-1 && (DasmInstr.PrefixLen+DasmInstr.OpcodeLen)==qq)\n\t\t\t\t\t{\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],\" \",COLOR_REGRM_BYTE,COLOR_BK);\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_REGRM_BYTE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t\telse if(DasmInstr.Have_SIB!=-1 && (DasmInstr.PrefixLen+DasmInstr.OpcodeLen+1)==qq)\n\t\t\t\t\t{\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],\" \",COLOR_SIB_BYPE,COLOR_BK);\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_SIB_BYPE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t\telse if(DasmInstr.Is3DNow!=-1 && qq == (CodeLen-1))\n\t\t\t\t\t{\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],\" \",COLOR_3DNOW_BYTE,COLOR_BK);\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_3DNOW_BYTE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{ \n\t\t\t\t\t\tif(bskip==false)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],\" \",COLOR_OTHER_OPCODE_BYTE,COLOR_BK);\n\t\t\t\t\t\t\tbskip=true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_OTHER_OPCODE_BYTE,COLOR_BK);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t//THexBytesToStr(CodeBuffer,szBuffer,CodeLen,1);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTHexBytesToStr(CodeBuffer,szBuffer,1,1);\n\t\t\tnlen+=ColorStrCpy(&szOpcodeColorBuffer[nlen],szBuffer,COLOR_API_PARAM_TYPE,COLOR_BK);\n\t\t}\n\t\t//SetItemTextColor(hItem,ITEM_BIN_DATA,m_ColorTable[COLOR_IMMED]);\n\t\t//SetItemText(hItem,ITEM_BIN_DATA,szBuffer);\n\t\tSetItemColorText(hItem,ITEM_BIN_DATA,szOpcodeColorBuffer);\n\t\tSetItemData(hItem,ITEM_BIN_DATA,_GET_DWORD(CodeBuffer));\n\t\tSetItemColorText(hItem,ITEM_ASM_CODE,szColorBuffer);\n\t\t\n\t\tSetItemData(hItem,ITEM_ASM_CODE,NearJmpDes);\n\t\t*szBuffer=0;\n\t\tSetItemTextColor(hItem,ITEM_COMMENT,m_ColorTable[COLOR_COMMENT]);\n\t\tSetItemText(hItem,ITEM_COMMENT,szBuffer);\n\t\t\n\t\tif(m_pCodeDoc->GetComment(Address,szBuffer,sizeof(szBuffer)/sizeof(WCHAR)))\n\t\t{\t\t\t\n\t\t\tSetItemText(hItem,ITEM_COMMENT,szBuffer);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tULPOS DestAddr,Immed,Count;\n\t\t\tbool bImmed=false;\n\t\t\tCount = m_pCodeDoc->GetInstrImmediateAndDesAddress(Address,&DestAddr,&Immed);\n\t\t\tif(Count)\n\t\t\t{\n\t\t\t\tif(Immed!=0-1)\n\t\t\t\t{\n\t\t\t\t\tif(GET_STRING_SYM(Immed,szBuffer,sizeof(szBuffer)/sizeof(szBuffer[0]),StrType))\n\t\t\t\t\t{\n\t\t\t\t\t\tSetItemText(hItem,ITEM_COMMENT,szBuffer);\n\t\t\t\t\t\tbImmed=true;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tif(!bImmed && DestAddr!=0-1)\n\t\t\t\t{\n\t\t\t\t\tif(GET_STRING_SYM(DestAddr,szBuffer,sizeof(szBuffer)/sizeof(szBuffer[0]),StrType))\n\t\t\t\t\t{\n\t\t\t\t\t\tSetItemText(hItem,ITEM_COMMENT,szBuffer);\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tszColorBuffer[0]=0;\n\t\t\t\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()  && Address==*X86_REG_PTR.pEIP)\n\t\t\t\t{\n\t\t\t\t\tm_pCodeDoc->GetCurInstrInfoEx(szColorBuffer,sizeof(szColorBuffer)/sizeof(szColorBuffer[0]));\n\t\t\t\t\tSetItemColorText(hItem,ITEM_COMMENT,szColorBuffer);\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tbLabel = false;\n\t\tif(TStrNICmp(szColorBuffer,\"CALL\",4)==0 && DasmInstr.op->mode == mode_symbol)\n\t\t{//API\n\t\t\tUpdateViewAPICall(Address,DasmInstr.op->symbol.string,hItem,n);\n\t\t}\n\t\tm_LastAddr = Address;\n\t\tAddress = m_pCodeDoc->GetNextAddress(Address,1);\n\t\thItem = GetNextItem(hItem);\n\t}\n\tUpdateNearJmpState();\n\tUpdate();\n\treturn true;\n}\n\nbool CCodeView::GetItemLineByAddr(ULPOS Address,int *pLine)\n{\n\tint Line;\n\tHANDLE hItem;\n\tif(Address<m_CurAddr || Address>m_LastAddr)\n\t\treturn false;\n\tLine = 0;\n\thItem = GetScrStartItem();\n\twhile(hItem)\n\t{\n\t\tif(Address == (ULPOS)GetItemData(hItem,1))\n\t\t{\n\t\t\tif(pLine)\n\t\t\t\t*pLine = Line;\n\t\t\treturn true;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t\tLine++;\n\t}\n\treturn false;\n}\n\nvoid CCodeView::UpdateNearJmpState()\n{\n\tint StartLine,EndLine;\n\tHANDLE hItem;\n\tULPOS DesAddr;\n\tNUM_PTR CodeData;\n\tm_NearJmpCount = 0;\n\tm_iActivedNearJmp = -1;\n\thItem = GetScrStartItem();\n\tStartLine = 0;\n\twhile(hItem && m_NearJmpCount<MAX_JMP_LINE_COUNT)\n\t{\n\t\tDesAddr = (ULPOS)GetItemData(hItem,ITEM_ASM_CODE);\n\t\tif(DesAddr && GetItemLineByAddr(DesAddr,&EndLine))\n\t\t{\n\t\t\tm_NearJmpPos[m_NearJmpCount].StartAddr = (ULPOS) GetItemData(hItem,1);\n\t\t\tm_NearJmpPos[m_NearJmpCount].StartLine = StartLine;\n\t\t\tm_NearJmpPos[m_NearJmpCount].EndAddr = DesAddr;\n\t\t\tm_NearJmpPos[m_NearJmpCount].EndLine = EndLine;\n\t\t\tif(m_NearJmpPos[m_NearJmpCount].StartAddr == *X86_REG_PTR.pEIP)\n\t\t\t{\n\t\t\t\tCodeData = GetItemData(hItem,ITEM_BIN_DATA);\n\t\t\t\tif(CInstrSym::IsActiveNearJmp((PBYTE)&CodeData,*(DWORD*)X86_REG_PTR.pEFL))\n\t\t\t\t{\n\t\t\t\t\tm_iActivedNearJmp = m_NearJmpCount;\n\t\t\t\t}\n\t\t\t}\n\t\t\tm_NearJmpCount++;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t\tStartLine++;\n\t}\n}\n\nvoid CCodeView::DrawJmpLine(NEAR_JMP_ENRTY*pEntry,int Index,COLORREF Color)\n{\n\tint x1,y1,x2,y2;\n\tx1 = Index*(m_JmpLineSpace/m_NearJmpCount)+2;\n\tx2 = m_JmpLineSpace;\n\ty1 = pEntry->StartLine*m_ButtonSize.cy+m_ButtonSize.cy/2;\n\ty2 = pEntry->EndLine*m_ButtonSize.cy+m_ButtonSize.cy/2;\n\tm_ClientDC.DrawHLine(x1,x2,y1,Color);//Start\n\tm_ClientDC.DrawVLine(x2,y1-3,y1+3,Color);//End\n\tm_ClientDC.DrawHLine(x1,x2,y2,Color);//End\n\tm_ClientDC.DrawLine(x2-2,y2-2,x2,y2,Color);//End\n\tm_ClientDC.DrawLine(x2-2,y2+2,x2,y2,Color);//End\n\tm_ClientDC.DrawVLine(x1,y1,y2,Color);//Midway\n}\n\nbool CCodeView::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tUINT Mark;\n\tint SelJmpLineIndex;\n\tHANDLE hItem;\n\tULPOS SelJmpSrcAddr;\n\tCWispList::OnUpdateClient(pMsg);\n\tWISP_RECT rc;\n\trc.cx=16,rc.cy=16,rc.x=2;\n\trc.y=m_TitleHeight;\n\thItem = GetScrStartItem();\n\twhile(hItem)\n\t{\n\t\tMark = (UINT)GetItemData(hItem,ITEM_STATE);\n\t\tif(Mark&CV_MARK_BOOK_MARK)\n\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(1));\n\t\tif(Mark&CV_MARK_EIP)\n\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(0));\n\t\tif(Mark&CV_MARK_BPX)\n\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(2));\n\t\telse if(Mark&CV_MARK_DISABLED_BPX)\n\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(3));\n\t\trc.y+=m_ButtonSize.cy;\n\t\thItem = GetNextItem(hItem);\n\t}\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tSelJmpSrcAddr = hItem ? (ULPOS)GetItemData(hItem,ITEM_ADDRESS) : 0;\n\tSelJmpLineIndex = -1;\n\tfor(int n=0;n<m_NearJmpCount;n++)\n\t{\n\t\tif(n!=m_iActivedNearJmp)\n\t\t{\n\t\t\tif(SelJmpSrcAddr==0 || SelJmpSrcAddr != m_NearJmpPos[n].StartAddr)\n\t\t\t\tDrawJmpLine(&m_NearJmpPos[n],n,m_ColorTable[COLOR_JMP_LINE]);\n\t\t\telse\n\t\t\t\tSelJmpLineIndex = n;\n\t\t}\n\t}\n\tif(SelJmpLineIndex>=0)\n\t{//ѡе󻭣֤\n\t\tDrawJmpLine(&m_NearJmpPos[SelJmpLineIndex],SelJmpLineIndex,ColorOption.clrCVSelectedFrame);\n\t}\n\tif(m_iActivedNearJmp>=0 && m_iActivedNearJmp<m_NearJmpCount)\n\t{\n\t\tDrawJmpLine(&m_NearJmpPos[m_iActivedNearJmp],m_iActivedNearJmp,m_ColorTable[COLOR_ACTIVED_JMP_LINE]);\n\t}\n\treturn false;\n}\n\n\nULSIZE CCodeView::ColorDasm(ULPOS EIP,ULSIZE MaxSize,WISP_COLOR_CHAR*pColorString,ULSIZE nCodeAlgn,INSTRUCTION_INFORMATION* pDasmInstr,BYTE* CodeBuff)\n{\n\tULSIZE\tLen;\n\tBYTE\tBuffer[64];\n\tWCHAR\tszBuffer[64];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\n\tif(CodeBuff)\n\t\tDasmInstr.CodeBuff = CodeBuff;\n\telse\n\t\tDasmInstr.CodeBuff = Buffer;\n\tDasmInstr.eip = EIP;\n\tDasmInstr.pasm = NULL;\n\tLen = m_pCodeDoc->Dasm(&DasmInstr,NULL,MaxSize);\n\tif(nCodeAlgn)\n\t{\n\t\tif(DasmInstr.OpCode==-1)\n\t\t{\n\t\t\tColorStrCpy(pColorString,WSTR(\"??\"),COLOR_IMMED,0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTHexBytesToStr(DasmInstr.CodeBuff,szBuffer,Len,1);\n\t\t\tColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t}\n\t\tpColorString+=TStrFillTail(pColorString,nCodeAlgn,(WISP_COLOR_CHAR)' ');\n\t}\n\tInstrToCS(&DasmInstr,pColorString);\n\tif(pDasmInstr)\n\t{\n\t\t*pDasmInstr=DasmInstr;\n\t\tif(CodeBuff==NULL)\n\t\t\tpDasmInstr->CodeBuff=NULL;\n\t}\n\treturn Len;\n}\n\nWISP_COLOR_CHAR*CCodeView::InstrToCS(const INSTRUCTION_INFORMATION*pDasmInstr,WISP_COLOR_CHAR*pColorString)\n{\n\tbool bFirstStr = TRUE;\n\t///////////////////////////////////////////////////\n\t//LOCKǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Lock!=-1)\n\t{\n\t\tColorStrCpy(pColorString,pDasmInstr->LockName,COLOR_PREFIX,0);\n\t\tColorStrCat(pColorString,\" \",0,0);\n\t\tif(bFirstStr)//ڴδʹö\n\t\t{\n\t\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpColorString+=TStrLen(pColorString);\n\t}\n\t///////////////////////////////////////////////////\n\t//REPǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Repeat!=-1)\n\t{\n\t\tColorStrCpy(pColorString,pDasmInstr->RepeatName,COLOR_PREFIX,0);\n\t\tColorStrCat(pColorString,\" \",0,0);\n\t\tif(bFirstStr)//ڴδʹö\n\t\t{\n\t\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpColorString+=TStrLen(pColorString);\n\t\tpColorString+=TStrLen(pColorString);\n\t}\n\t///////////////////////////////////////////////////\n\t//OPCODE\n\t///////////////////////////////////////////////////\n\tColorStrCpy(pColorString,pDasmInstr->Name,COLOR_OPCODE,0);\n\tColorStrCat(pColorString,\" \",0,0);\n\tif(*pDasmInstr->Name && bFirstStr)//ڴδʹö\n\t{\n\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\tbFirstStr = FALSE;\n\t}\n\telse\n\t\tpColorString+=TStrLen(pColorString);\n\t///////////////////////////////////////////////////\n\t//Ԫ\n\t///////////////////////////////////////////////////\n\treturn OptItemToCS(pDasmInstr->op,3,pColorString,pDasmInstr);\n}\n\n\nWISP_COLOR_CHAR*CCodeView::OptItemToCS(const OPERAND_ITEM*OpArray,int nOp,WISP_COLOR_CHAR*pColorString,const INSTRUCTION_INFORMATION*pDasmInstr)\n{\n\tDIS_ADDRESS*pAddr;\n\tconst OPERAND_ITEM*pOp;\n\tWCHAR szBuffer[32];\n\tfor(int n=0;n<nOp;n++)\n\t{\n\t\tpOp=&OpArray[n];\n\t\tif(pOp->mode==mode_invalid)\n\t\t\tbreak;\n\t\tif(n>0)\n\t\t{//\n\t\t\tpColorString+=ColorStrCpy(pColorString,\",\",COLOR_OPTR,0);\n\t\t}\n\t\tif(pOp->mode==mode_address)\n\t\t{//ַṹ\n\t\t\tpAddr=(DIS_ADDRESS*)&pOp->addr;\n\t\t\tif(pOp->opersize!=-1)\n\t\t\t{\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_SizeSym[pOp->opersize],COLOR_KEYWORD,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,\" PTR \",COLOR_KEYWORD,0);\n\t\t\t}\n\n\t\t\tif(pDasmInstr->SegmentPrefix!=-1)\n\t\t\t{\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_SegStr[pDasmInstr->SegmentPrefix],COLOR_SEG_REG,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,\":\",COLOR_OPTR,0);\n\t\t\t}\n\t\t\tpColorString+=ColorStrCpy(pColorString,\"[\",COLOR_OPTR,0);\n\t\t\tif(pAddr->base!=-1)//BaseĴ\n\t\t\t{\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->base],COLOR_REGISTER,0);\n\t\t\t}\n\t\t\tif(pAddr->index!=-1)//IndexĴ\n\t\t\t{\n\t\t\t\tif(pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"+\",COLOR_OPTR,0);\n\t\t\t\t}\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->index],COLOR_REGISTER,0);\n\t\t\t\tif(pAddr->scale>=1)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"*\",COLOR_OPTR,0);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_ScaleStr[pAddr->scale],COLOR_OPTR,0);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(pAddr->displacement_size || (pAddr->base==-1 && pAddr->index==-1))\n\t\t\t{//displacement\n\t\t\t\tif(pAddr->index!=-1 || pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tif(pAddr->displacement_size==1 && pAddr->displacement>=0xFFFFFF00)\n\t\t\t\t\t{\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"-\",COLOR_OPTR,0);\n\t\t\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pAddr->displacement_size],-(int)pAddr->displacement);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"+\",COLOR_OPTR,0);\n\t\t\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pAddr->displacement_size],pAddr->displacement);\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pAddr->displacement_size],pAddr->displacement);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t}\n\t\t\tpColorString+=ColorStrCpy(pColorString,\"]\",COLOR_OPTR,0);\n\t\t}\n\t\telse\n\t\t{\t\t\n\t\t\tswitch(pOp->mode)\n\t\t\t{\n\t\t\t\tcase mode_register:\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_REGISTER,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_segment:\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_SEG_REG,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_far:\n\t\t\t\t\tTSPrintf(szBuffer,WSTR(\"%04X\"),pOp->farptr.segment);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,WSTR(\":\"),COLOR_OPTR,0);\n\t\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pOp->opersize-2],pOp->farptr.offset);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_near:\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_IMMED,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_immed:\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_IMMED,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_datadup:\n\t\t\t\t\tif(n>0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tfor(n=0;n<pOp->datadup.count;n++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(n>0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\",\",COLOR_OPTR,0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tTSPrintf(szBuffer,WSTR(\"%02X\"),pOp->datadup.buffer[n]);\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_symbol:\n\t\t\t\t\tif(pOp->symbol.offset)\n\t\t\t\t\t{\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"OFFSET \",COLOR_KEYWORD,0);\n\t\t\t\t\t}\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->symbol.string,COLOR_SYMBOL,0);\n\t\t\t\t\tbreak;\n\t\t\t\tcase mode_align:\n\t\t\t\t\tif(n>0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tTSPrintf(szBuffer,WSTR(\"%X\"),pOp->align.nBytes);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn pColorString;\n}\n\nbool CCodeView::OnEventToggleBreakPoint(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\tif(gpSyser->m_pDebugger==NULL||gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn false;\n\tAddress = (ULPOS)GetItemData(hItem,1);\n\tgpSyser->m_SyserUI.ToggleCodeBP(Address);\n\treturn false;\n}\n\nbool CCodeView::OnEventToggleBreakPointState(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn false;\n\tAddress = (ULPOS)GetItemData(hItem,ITEM_ADDRESS);\n\tgpSyser->m_SyserUI.ToggleCodeBPState(Address);\n\treturn false;\n}\n\nbool CCodeView::OnEventToggleBookMarks(IN WISP_MSG*pMsg)\n{\n\tSYSTEM_EXPLORER.m_MultiCodeView.ToggleBookMark();\n\treturn false;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/CodeView.h",
    "content": "#ifndef _CODE_VIEW_H_\n#define _CODE_VIEW_H_\n\n#include \"SyserUI.h\"\n\n#define CV_WS_RANGE_SCROLL\t0x8000000\n\ntypedef TList<ULPOS> ADDRESSNAVIGATIONLIST;\ntypedef TList<ULPOS> CROSSREFERENCELIST;\n\n#define MAX_JMP_LINE_COUNT\t\t5\n#define MAX_POS_LIST_COUNT\t\t100\n\nstruct NEAR_JMP_ENRTY\n{\n\tULPOS\tStartAddr;\n\tULPOS\tEndAddr;\n\tint\t\tStartLine;\n\tint\t\tEndLine;\n};\n\nenum\n{\n\tITEM_STATE = 0,\n\tITEM_ADDRESS,\n\tITEM_BIN_DATA,\n\tITEM_ASM_CODE,\n\tITEM_COMMENT,\n\tITEM_MAX_COUNT\n};\n\nenum CODE_VIEW_ADDR_MOD\n{\n\tCODE_VIEW_ADDRESS_MOD = 0,\n\tCODE_VIEW_OFFSET_MOD,\n\tCODE_VIEW_REL_TO_EIP_MOD,\n};\n\n\nclass CCodeView : public CWispList\n{\n\t//typedef bool (CCodeView::*DATA_HOTKEY_FP)(IN UINT Index);\n\n\t//class CCodeHotKey\n\t//{\n\t//public:\n\t//\tUINT m_ViewIndex;\n\t//\tDATA_HOTKEY_FP m_fpHotKey;\n\t//\tCCodeHotKey(){};\n\t//\tCCodeHotKey(UINT Index,DATA_HOTKEY_FP fpHotKey):m_ViewIndex(Index),m_fpHotKey(fpHotKey){};\n\t//\t~CCodeHotKey(){}\n\t//};\n\n\ttypedef TMap<UINT,UINT> CODEHOTKEYMAP;\npublic:\n\tCCodeView();\n\t~CCodeView();\n\ttypedef TList<ULPOS>\tCAddrList;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnChar)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnMouseDBClick)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnCmdVSlide)\n\tDECLARE_WISP_MSG(OnCmdStringGoto)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventCopy)\n\tDECLARE_WISP_MSG_EVENT(OnEventFMAutomiatic)\n\tDECLARE_WISP_MSG_EVENT(OnEventFMSystemExplorer)\n\tDECLARE_WISP_MSG_EVENT(OnEventFMSourceCodeExplorer)\n\tDECLARE_WISP_MSG_EVENT(OnEventAddressModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventOffsetModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventRelativeToEIP)\n\tDECLARE_WISP_MSG_EVENT(OnEventCrossReference)\n\tDECLARE_WISP_MSG_EVENT(OnEventXrefOperand)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBreakPoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBreakPointState)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBookMarks);\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoHere)\n\tDECLARE_WISP_MSG_EVENT(OnEventNextPos)\n\tDECLARE_WISP_MSG_EVENT(OnEventPrevPos)\n\tDECLARE_WISP_MSG_EVENT(OnEventSavePos)\n\tDECLARE_WISP_MSG_EVENT(OnEventEmptyPosList)\n\t//DECLARE_WISP_MSG_EVENT(OnEventAnalyzeFromAddress)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleSymbol)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleFullSymbol)\n\tDECLARE_WISP_MSG_EVENT(OnEventEnterComment)\n\tDECLARE_WISP_MSG_EVENT(OnEventStringReference)\n\tDECLARE_WISP_MSG_EVENT(OnEventEditCode)\n\tDECLARE_WISP_MSG_EVENT(OnGetNextTrace)\n\tDECLARE_WISP_MSG_EVENT(OnGetPrevTrace)\n\tDECLARE_WISP_MSG_EVENT(OnPrevPos)\n\tDECLARE_WISP_MSG_EVENT(OnNextPos)\n\tDECLARE_WISP_MSG_EVENT(OnSavePos)\n\tDECLARE_WISP_MSG_EVENT(OnEnterAddr)\n\tDECLARE_WISP_MSG_EVENT(OnStartAddressInc)\n\tDECLARE_WISP_MSG_EVENT(OnStartAddressDec)\n\tDECLARE_WISP_MSG_EVENT(OnActiveCodeView)\n\npublic:\n\n\tbool\tOnDispatchShortcatKey(IN UINT Index,IN WISP_MSG*pMsg);\n\tbool\tOnActiveCodeView(IN UINT Index);\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n\tvoid\tItemRClickNotify(HANDLE hItem,int Col);\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tSetStartAddress(ULPOS Address,bool bRecordAddr=false);\n\tvoid\tCenterVisibleAddress(ULPOS Address);\n\tvoid\tGetCodeRange(DWORD*pStart,DWORD*pEnd);\n\tbool\tBuildASM(HANDLE hItem,CWispString& String);\n\tbool\tUpdateView();\n\tvoid\tUpdateViewAPICall(ULPOS Address,PCSTR szAPIName,HANDLE hItem,int nLine);\n\tvoid\tOnPrevPos();\n\tvoid\tOnNextPos();\n\tvoid\tOnSavePos();\n\tvoid\tEmptyPosList();\n\tvoid\tEnterAddr();\n\tvoid\tPopupMenu(IN WISP_MSG*pMsg);\n\n\tvoid\tSetSelectItemByAddress(ULPOS Address);\n\tvoid\tGetAddressString(ULPOS Address,WISP_PSTR szBuffer);\n\tint\t\tGetCrossReferenceList(DWORD Address,CROSSREFERENCELIST* pCrossReferenceList);\n\tint\t\tGetDataReferenceList(DWORD Address,CROSSREFERENCELIST* pList,DWORD* VarAddr);\n\tbool\tCrossReferenceByAddr(ULPOS Address);\n\tbool\tXrefOperandByAddr(ULPOS Address);\n\tvoid\tUpdateCodeViewAddrSym();\n\tvoid\tRecordCurAddr(ULPOS Address,ULPOS PrevAddress);\n\tvoid\tToggleHighlight(IN WISP_MSG* pMsg);\npublic:\n\tCWispDIBList*\tm_StateDIBList;\n\tCWispString\t\tm_OrgAsmInstraction;\n\tint\t\t\t\tm_ScrollSpace;\n\tCODE_VIEW_ADDR_MOD\tm_AddrShowMode;\n\tULPOS\t\t\tm_BaseActiveAddress;\n\tULPOS\t\t\tm_CurAddr;\n\tULPOS\t\t\tm_LastAddr;\n\tCOLORREF\t\tm_ColorTable[MAX_COLOR];\n\tCSyserCodeDoc*\tm_pCodeDoc;\n\tCWispDIBList\tm_ColIconList;\n\tCAddrList\t\tm_AddrList;\n\tCAddrList::IT\tm_AddrIter;\n\tHANDLE\t\t\tm_hPopupMenuItem;\n\tint\t\t\t\tm_PopupMenuCol;\n\tULPOS\t\t\tm_RightMenuDataRefAddr;\n\tCWispMenu\t\tm_PopupMenu;\n\tHANDLE\t\t\tm_hRemoveItem;\n\tNEAR_JMP_ENRTY\tm_NearJmpPos[MAX_JMP_LINE_COUNT];\n\tint\t\t\t\tm_NearJmpCount;\n\tint\t\t\t\tm_iActivedNearJmp;\n\tint\t\t\t\tm_JmpLineSpace;\n\tvoid\t\t\tDrawJmpLine(NEAR_JMP_ENRTY*pEntry,int Index,COLORREF Color);\n\tbool\t\t\tGetItemLineByAddr(ULPOS Address,int *pLine);\n\tvoid\t\t\tUpdateNearJmpState();\n\tULSIZE\t\t\tColorDasm(ULPOS EIP,ULSIZE MaxSize,WISP_COLOR_CHAR*pColorString,ULSIZE nCodeAlgn = 0,INSTRUCTION_INFORMATION* DasmInstr=NULL,BYTE* CodeBuff=NULL);\nprivate:\n\tWISP_COLOR_CHAR*InstrToCS(OUT const INSTRUCTION_INFORMATION*pDasmInstr,WISP_COLOR_CHAR*pColorString);//ɫ\n\tWISP_COLOR_CHAR*OptItemToCS(const OPERAND_ITEM*OpArray,int nOp,WISP_COLOR_CHAR*pColorString,const INSTRUCTION_INFORMATION*pDasmInstr);\n\tWISP_CHAR\t\tm_HighlightString[256];\n\tBYTE\t\t\tm_HighlightTXTColor,m_HighlightBKColor;\n\tCODEHOTKEYMAP\tm_HotKeyMap;\n\tvoid\t\t\tAttachShortcutKey();\n\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/ColorOption.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ColorOption.h\"\n\n\nint ColorOptionRef = 0;\n\nCOLOR_OPTION OrgColorOption=\n{\n\t0,//CRCCode\n\tWISP_RGB(0,0,0),\t\t//clrBackground\n\tWISP_RGB(255,255,255),\t//clrText\n\tWISP_RGB(80,176,255),\t//clrSelectedFrame\n\tWISP_RGB(88,88,127),\t//clrLostFocusSelFrame\n\tWISP_RGB(255,0,0),\t\t//clrChgText\n\tWISP_RGB(128,196,255),\t//clrSpeicalText\n//////////////////////////////////////////////////////////////////////////\n//Code View\n\tWISP_RGB(0,0,0),\t\t//clrCVBK\n\tWISP_RGB(80,176,255),\t//clrCVSelectedFrame\n\tWISP_RGB(88,88,127),\t//clrCVLostFocusSelFrame\n\tWISP_RGB(255,255,255),\t//clrCVAddr\n\tWISP_RGB(255,255,255),\t//clrCVPrefix;\n\tWISP_RGB(255,255,255),\t//clrCVOpCode;\n\tWISP_RGB(0,255,255),\t//clrCVReg;\n\tWISP_RGB(0,192,192),\t//clrCVSegReg;\n\tWISP_RGB(0,255,128),\t//clrCVImmed;\n\tWISP_RGB(255,255,255),\t//clrCVOptr;\n\tWISP_RGB(255,255,0),\t//clrCVSymbol;\n\tWISP_RGB(255,255,0),\t//clrCVComment;\n\tWISP_RGB(255,255,255),\t//clrCVKeyword;\n\tWISP_RGB(255,255,0),\t//clrCVStr;\n\tWISP_RGB(255,0,0),\t\t//clrCVBPXStrip;\n\tWISP_RGB(128,128,128),\t//clrCVEIPStrip;\n\tWISP_RGB(255,128,0),\t//clrCVBPXEIPStrip;\n\tWISP_RGB(255,128,0),\t//clrCVAPIName;\n\tWISP_RGB(255,125,125),\t//clrCVAPIParamType;\n\tWISP_RGB(192,192,192),\t//clrCVAPIParamName;\n\tWISP_RGB(255,255,255),\t//clrCVJmpLine\n\tWISP_RGB(255,255,0),\t//clrCVActivedJmpLine\n\tWISP_RGB(0x68,0x38,0xc6),\t//clrCVPrefixByte\n\tWISP_RGB(0x99,0x16,0x22),\t//clrCVOpcodeByte\n\tWISP_RGB(0x1a,0x33,0xe4),\t//clrCVRegRMByte;\n\tWISP_RGB(0x39,0xef,0x04),\t//clrCVSIBByte\n\tWISP_RGB(0xd0,0x1f,0xdf),\t//clrCVOtherOpcodeByte\n\tWISP_RGB(0x70,0x70,0x70),\t//clrCV3DNowByte\n//Code View\n//////////////////////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////\n//Source Debug\n\tWISP_RGB(0,0,0),\t\t//clrSDBK;\n\tWISP_RGB(80,176,255),\t//clrSDSelectedFrame;\n\tWISP_RGB(88,88,127),\t//clrSDLostFocusSelFrame\n\tWISP_RGB(255,255,255),\t//clrSDKeyword;\n\tWISP_RGB(192,192,192),\t//clrSDId;\n\tWISP_RGB(64,128,255),\t//clrSDPrekeyWord;\n\tWISP_RGB(128,128,128),\t//clrSDCmtBlock;\n\tWISP_RGB(128,128,128),\t//clrSDCmtLine;\n\tWISP_RGB(255,255,0),\t//clrSDString;\n\tWISP_RGB(0,255,128),\t//clrSDNum;\n\tWISP_RGB(255,255,255),\t//clrSDOperation;\n\tWISP_RGB(225,125,125),\t//clrSDClassName;\n\tWISP_RGB(225,125,125),\t//clrSDStructName;\n\tWISP_RGB(225,125,125),\t//clrSDUnionName;\n\tWISP_RGB(225,125,125),\t//clrSDTypedefName;\n\tWISP_RGB(255,128,0),\t//clrSDFunctionName;\n\tWISP_RGB(123,123,123),\t//clrSDUnknown;\n//Source Debug\n//////////////////////////////////////////////////////////////////////////\n};\n\n\nCOLOR_OPTION ColorOption;"
  },
  {
    "path": "Project/Syser/Source/ColorOption.h",
    "content": "#ifndef _COLOR_OPTION_H_\n#define _COLOR_OPTION_H_\n\nextern int ColorOptionRef;\n\nstruct COLOR_OPTION\n{\n\tDWORD\t\tCRCCode;\n\tCOLORREF\tclrBackground;\n\tCOLORREF\tclrText;\n\tCOLORREF\tclrSelectedFrame;\n\tCOLORREF\tclrLostFocusSelFrame;\n\tCOLORREF\tclrChgText;\n\tCOLORREF\tclrSpeicalText;\n//////////////////////////////////////////////////////////////////////////\n//Code View\n\tCOLORREF\tclrCVBK;\n\tCOLORREF\tclrCVSelectedFrame;\n\tCOLORREF\tclrCVLostFocusSelFrame;\n\tCOLORREF\tclrCVAddr;\n\tCOLORREF\tclrCVPrefix;\n\tCOLORREF\tclrCVOpCode;\n\tCOLORREF\tclrCVReg;\n\tCOLORREF\tclrCVSegReg;\n\tCOLORREF\tclrCVImmed;\n\tCOLORREF\tclrCVOptr;\n\tCOLORREF\tclrCVSymbol;\n\tCOLORREF\tclrCVComment;\n\tCOLORREF\tclrCVKeyword;\n\tCOLORREF\tclrCVStr;\n\tCOLORREF\tclrCVBPXStrip;\n\tCOLORREF\tclrCVEIPStrip;\n\tCOLORREF\tclrCVBPXEIPStrip;\n\tCOLORREF\tclrCVAPIName;\n\tCOLORREF\tclrCVAPIParamType;\n\tCOLORREF\tclrCVAPIParamName;\n\tCOLORREF\tclrCVJmpLine;\n\tCOLORREF\tclrCVActivedJmpLine;\n\tCOLORREF\tclrCVPrefixByte;\n\tCOLORREF\tclrCVOpcodeByte;\n\tCOLORREF\tclrCVRegRMByte;\t\t//opcode  RegRM ֽڵɫ\n\tCOLORREF\tclrCVSIBByte;\t\t\t//opcode  SIB ֽڵɫ\n\tCOLORREF\tclrCVOtherOpcodeByte;\t\t//opcode  ֽڵɫ\n\tCOLORREF\tclrCV3DNowByte;\t\t\t\t//AMD 3dNow! ָһֽ\n//Code View\n//////////////////////////////////////////////////////////////////////////\n//////////////////////////////////////////////////////////////////////////\n//Source Debug\n\tCOLORREF\tclrSDBK;\n\tCOLORREF\tclrSDSelectedFrame;\n\tCOLORREF\tclrSDLostFocusSelFrame;\n\tCOLORREF\tclrSDKeyword;\n\tCOLORREF\tclrSDId;\n\tCOLORREF\tclrSDPrekeyWord;\n\tCOLORREF\tclrSDCmtBlock;\n\tCOLORREF\tclrSDCmtLine;\n\tCOLORREF\tclrSDString;\n\tCOLORREF\tclrSDNum;\n\tCOLORREF\tclrSDOperation;\n\tCOLORREF\tclrSDClassName;\n\tCOLORREF\tclrSDStructName;\n\tCOLORREF\tclrSDUnionName;\n\tCOLORREF\tclrSDTypedefName;\n\tCOLORREF\tclrSDFunctionName;\n\tCOLORREF\tclrSDUnknown;\n//Source Debug\n//////////////////////////////////////////////////////////////////////////\n};\n\nextern COLOR_OPTION ColorOption;\nextern COLOR_OPTION OrgColorOption;\n\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/CommentList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CommentList.h\"\n#include \"Syser.h\"\n\nWISP_MENU_RES_ITEM CommentMenu[]=\n{\n\t{WSTR(\"Goto\"),\tEVENT_ID_GOTO,8*16},\n\t{WSTR(\"Remove\"),EVENT_ID_REMOVE,12*16+10},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CCommentList) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CCommentList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO,OnEventGoto);\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REMOVE,OnEventRemove);\nWISP_MSG_EVENT_MAP_END\n\nCCommentList::CCommentList()\n{\n\n}\n\nvoid CCommentList::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Comment List\"),0,0,400,380,NULL,CMD_ID_COMMENT_LIST,WISP_WLS_TREE|WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nbool CCommentList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_hSelectItem = NULL;\n\tm_PopupMenu.CreatePopupMenu(CommentMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hGotoMenuItem = m_PopupMenu.GetItem(EVENT_ID_GOTO);\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,9*16+3));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tInsertColumn(WSTR(\"Module/Offset\"),120);\n\tInsertColumn(WSTR(\"TimeStamp/Comment\"),150,WISP_WLCS_EDITABLE);\n\tUpdateContext();\n\treturn true;\n}\n\nbool CCommentList::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CCommentList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CCommentList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tULPOS Address;\n\tHANDLE hModuleItem;\n\tCDbgModule*pDbgModule;\n\tCCommentModule*pCommentModule;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tm_hSelectItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(m_hSelectItem && GetItemLevel(m_hSelectItem)==1)\n\t\t{\n\t\t\tAddress = (ULPOS)GetItemData(m_hSelectItem,1);\n\t\t\thModuleItem = GetParentItem(m_hSelectItem);\n\t\t\tpCommentModule = (CCommentModule*)GetItemData(hModuleItem,0);\n\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(pCommentModule->m_ModuleName);\n#ifdef CODE_OS_NT_DRV\n\t\t\tif(pDbgModule==NULL)\n\t\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(pCommentModule->m_ModuleName);\n#endif\n\t\t\tif(pDbgModule)\n\t\t\t\tVIEW_CODE(Address+pDbgModule->m_ModuleBase);\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CCommentList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\t{\n\t\t\tm_hSelectItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tm_PopupMenu.EnableItem(EVENT_ID_GOTO,GetItemLevel(m_hSelectItem)==1);\n\t\t\tif(m_hSelectItem)\n\t\t\t\tm_PopupMenu.Popup();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CCommentList::OnEventGoto(IN WISP_MSG*pMsg)\n{\n\tULPOS Address;\n\tHANDLE hModuleItem;\n\tCDbgModule*pDbgModule;\n\tCCommentModule*pCommentModule;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn true;\n\tAddress = (ULPOS)GetItemData(m_hSelectItem,1);\n\thModuleItem = GetParentItem(m_hSelectItem);\n\tpCommentModule = (CCommentModule*)GetItemData(hModuleItem,0);\n\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(pCommentModule->m_ModuleName);\n#ifdef CODE_OS_NT_DRV\n\tif(pDbgModule==NULL)\n\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(pCommentModule->m_ModuleName);\n#endif\n\tif(pDbgModule)\n\t\tVIEW_CODE(Address+pDbgModule->m_ModuleBase,true);\n\treturn true;\n}\n\nbool CCommentList::OnEventRemove(IN WISP_MSG*pMsg)\n{\n\tCCmtStr*pStr;\n\tCCommentModule*pCommentModule;\n\tint Level = GetItemLevel(m_hSelectItem);\n\tif(Level==0)\n\t{\n\t\tpCommentModule = (CCommentModule*) GetItemData(m_hSelectItem,0);\n\t\tif(pCommentModule)\n\t\t{\n\t\t\tgpSyser->m_SyserUI.DetachCommentModuleToProcess(pCommentModule);\n\t\t\tRemoveItem(m_hSelectItem);\n\t\t}\n\t}\n\telse\n\t{\n\t\tpStr = (CCmtStr*) GetItemData(m_hSelectItem,0);\n\t\tCCommentMap::IT Iter = *pStr;\n\t\tHANDLE hParent = GetParentItem(m_hSelectItem);\n\t\tpCommentModule = (CCommentModule*) GetItemData(hParent,0);\n\t\tpCommentModule->m_CommentMap.Remove(Iter);\n\t\tRemoveItem(m_hSelectItem);\n\t}\n\tUPDATE_CODE_VIEW();\n\treturn true;\n}\n\nvoid CCommentList::UpdateContext()\n{\n\tHANDLE hItem,hModuleItem;\n\tif(IsWindow()==false)\n\t\treturn;\n\tClearChildItem();\n\tfor(CCommentContainer::IT ModuleIter=gpSyser->m_SyserUI.m_CommentContainer.Begin();ModuleIter!=gpSyser->m_SyserUI.m_CommentContainer.End();ModuleIter++)\n\t{\n\t\thModuleItem = InsertItemA(TGetFileName((PCSTR)ModuleIter->m_ModuleName));\n\t\tSetItemNum(hModuleItem,1,(DWORD)ModuleIter->m_ModuleID,WSTR(\"%08X\"));\n\t\tSetItemData(hModuleItem,0,(NUM_PTR)&(*ModuleIter));\n\t\tfor(CCommentMap::IT Iter=ModuleIter->m_CommentMap.Begin();Iter!=ModuleIter->m_CommentMap.End();Iter++)\n\t\t{\n\t\t\thItem=InsertItem(Iter.Key(),hModuleItem,WSTR(\"%08X\"));\n\t\t\tSetItemTextA(hItem,1,(PCSTR)(*Iter));\n\t\t\tSetItemData(hItem,0,(NUM_PTR)&(*Iter));\n\t\t\tSetItemData(hItem,1,(NUM_PTR)Iter.Key());\n\t\t}\n\t}\n}\n\nbool CCommentList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(Col!=1||GetItemLevel(hItem)!=1)\n\t\treturn false;\n\treturn true;\n}\n\nbool CCommentList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tchar szBuffer[256];\n\tCCmtStr*pStr;\n\tif(Col!=1||GetItemLevel(hItem)!=1)\n\t\treturn false;\n\tpStr = (CCmtStr*)GetItemData(hItem,0);\n\tUnicodeToAnsi(String,szBuffer,sizeof(szBuffer));\n\t*pStr=szBuffer;\n\tUPDATE_CODE_VIEW();\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/CommentList.h",
    "content": "#ifndef _COMMENT_LIST_H_\n#define _COMMENT_LIST_H_\n\nclass CCommentList : public CWispList\n{\npublic:\n\tCCommentList();\n\tvoid Popup();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMouseDBClick);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventGoto)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventRemove)\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tUpdateContext();\n\tCWispMenu m_PopupMenu;\n\tHANDLE\tm_hSelectItem;\n\tHANDLE\tm_hGotoMenuItem;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/ConsoleWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserCmd.h\"\n#include \"DebugCmd.h\"\n#include \"OtherCmd.h\"\n#include \"ShareCmd.h\"\n#include \"SyserOption.h\"\n\n#define SYSER_VALIDATE_SN\n\nWISP_MSG_MAP_BEGIN (CConsoleWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispConsoleWnd)\n\nCConsoleWnd::CConsoleWnd()\n{\n\tm_IsInBatProcess = false;\n\tm_Radix = 16;\n\tm_CDTColor[CDT_VADDR] = SC_LIGHT_GREEN;\n\tm_CDTColor[CDT_PADDR] = SC_LIGHT_BLUE;\n\tm_CDTColor[CDT_STRING] = SC_LIGHT_YELLOW;\n\tm_CDTColor[CDT_SYMBOL] = SC_LIGHT_YELLOW;\n\tm_CDTColor[CDT_HEX_NUM] = SC_WHITE;\n\tm_CDTColor[CDT_DEC_NUM] = SC_WHITE;\n}\n\n\nCConsoleWnd& CConsoleWnd::operator <<(CON_DATA_TYPE Type)\n{\n\tSetFontColor((BYTE)Type);\n\treturn *this;\n}\n\nCConsoleWnd& CConsoleWnd::operator <<(BYTE Num8)\n{\n\tWCHAR szBuffer[32];\n\tTSPrintf(szBuffer,WSTR(\"%02X\"),Num8);\n\tOutput(szBuffer);\n\treturn *this;\n}\n\nCConsoleWnd& CConsoleWnd::operator <<(WORD Num16)\n{\n\tWCHAR szBuffer[32];\n\tTSPrintf(szBuffer,WSTR(\"%04X\"),Num16);\n\tOutput(szBuffer);\n\treturn *this;\n}\n\nCConsoleWnd& CConsoleWnd::operator <<(DWORD Num32)\n{\n\tWCHAR szBuffer[32];\n\tTSPrintf(szBuffer,WSTR(\"%08X\"),Num32);\n\tOutput(szBuffer);\n\treturn *this;\n}\n\nCConsoleWnd& CConsoleWnd::operator <<(QWORD Num64)\n{\n\tWCHAR szBuffer[32];\n\tTSPrintf(szBuffer,WSTR(\"%I64X\"),Num64);\n\tOutput(szBuffer);\n\treturn *this;\n}\n\nCConsoleWnd& CConsoleWnd::operator <<(const WCHAR*String)\n{\n\tOutput(String);\n\treturn *this;\n}\n\nbool CConsoleWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tfor(int n=0;DebugCmdTable[n].CmdStr;n++)\n\t{\n\t\tInsertCmd(DebugCmdTable[n].CmdStr,(CMDPROC)DebugCmdTable[n].CmdProc,gpSyser,DebugCmdTable[n].CmdCmt,DebugCmdTable[n].CmdUsage);\n\t}\n\tfor(int n=0;OtherCmdTable[n].CmdStr;n++)\n\t{\n\t\tInsertCmd(OtherCmdTable[n].CmdStr,(CMDPROC)OtherCmdTable[n].CmdProc,gpSyser,OtherCmdTable[n].CmdCmt,OtherCmdTable[n].CmdUsage);\n\t}\n\tfor(int n=0;ShareCmdTable[n].CmdStr;n++)\n\t{\n\t\tInsertCmd(ShareCmdTable[n].CmdStr,(CMDPROC)ShareCmdTable[n].CmdProc,gpSyser,ShareCmdTable[n].CmdCmt,ShareCmdTable[n].CmdUsage);\n\t}\n#ifdef CODE_OS_NT_DRV\n\tfor(int n=0;SysCmdTable[n].CmdStr;n++)\n\t{\n\t\tInsertCmd(SysCmdTable[n].CmdStr,(CMDPROC)SysCmdTable[n].CmdProc,gpSyser,SysCmdTable[n].CmdCmt,SysCmdTable[n].CmdUsage);\n\t}\n#endif\n\tm_Option.RegisterValueAry(SyserOptVal);\n\tSetHistoryLines(SyserOption.iHistroyLines);\n\treturn true;\n}\n\nbool CConsoleWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tint Length,NewLength;\n\tCHAR szBuffer[MAX_SYMBOL_LEN];\n\tWCHAR wszBuffer[MAX_SYMBOL_LEN];\n\tWISP_PSTR pStr;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_TAB && pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tpStr = TStrRChr((WISP_PCSTR)m_InputStr,(WCHAR)' ');\n\t\tif(pStr && TStrLen(pStr)>2)\n\t\t{\n\t\t\tLength = TStrCpy(szBuffer,&pStr[1]);\n\t\t\tNewLength = gpSyser->m_SyserUI.GetFullSymbol(szBuffer);\n\t\t\tif(NewLength>Length)\n\t\t\t{\n\t\t\t\tm_InputStr.Truncate((int)(pStr-m_InputStr.m_pData)+1);\n\t\t\t\tAnsiToUnicode(szBuffer,wszBuffer,MAX_SYMBOL_LEN);\n\t\t\t\tm_InputStr+=wszBuffer;\n\t\t\t\tm_CaretPos.x = m_InputStr.Length();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CConsoleWnd::BatBeginNodify(WISP_PCSTR szCmd)\n{\n\tm_IsInBatProcess = true;\n}\n\nvoid CConsoleWnd::BatEndNodify(WISP_PCSTR szCmd)\n{\n\tm_IsInBatProcess = false;\n}\n\nvoid CConsoleWnd::AfterRunCmdNotify(const CMD_CHAR*szCmd)\n{\n#ifdef CODE_OS_NT_DRV\n#ifdef SYSER_VALIDATE_SN\n\tif(gpSyser->m_SysInfo.m_bSNPass==false && gpSyser->m_SysInfo.m_bEvlVer==false)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>%s\\n\"),(PCWSTR)gpSyser->m_SysInfo.m_LicTip);\n\t}\n#endif\n#endif\n}\n\nWISP_MSG_MAP_BEGIN (CTerminalWnd)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispTerminalWnd)\n\nbool CTerminalWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tint Length,NewLength;\n\tCHAR szBuffer[MAX_SYMBOL_LEN];\n\tWCHAR wszBuffer[MAX_SYMBOL_LEN];\n\tWISP_PSTR pStr;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_TAB && pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tpStr = TStrRChr((WISP_PCSTR)m_InputStr,(WCHAR)' ');\n\t\tif(pStr && TStrLen(pStr)>2)\n\t\t{\n\t\t\tLength = TStrCpy(szBuffer,&pStr[1]);\n\t\t\tNewLength = gpSyser->m_SyserUI.GetFullSymbol(szBuffer);\n\t\t\tif(NewLength>Length)\n\t\t\t{\n\t\t\t\tm_InputStr.Truncate((int)(pStr-m_InputStr.m_pData)+1);\n\t\t\t\tAnsiToUnicode(szBuffer,wszBuffer,MAX_SYMBOL_LEN);\n\t\t\t\tm_InputStr+=wszBuffer;\n\t\t\t\tm_CaretPos.x = m_InputStr.Length();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/ConsoleWnd.h",
    "content": "#ifndef _SYSER_CONSOLE_WND_H_\n#define _SYSER_CONSOLE_WND_H_\n\nenum CON_DATA_TYPE\n{\n\tCDT_VADDR,\n\tCDT_PADDR,\n\tCDT_STRING,\n\tCDT_SYMBOL,\n\tCDT_HEX_NUM,\n\tCDT_DEC_NUM,\n\tMAX_COLOR_COUNT\n};\n\n\nclass CConsoleWnd : public CWispConsoleWnd\n{\npublic:\n\tCConsoleWnd();\n\tbool\tm_IsInBatProcess;\n\tBYTE\tm_CDTColor[MAX_COLOR_COUNT];\n\tint\t\tm_Radix;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tvoid\tBatBeginNodify(WISP_PCSTR szCmd);\n\tvoid\tBatEndNodify(WISP_PCSTR szCmd);\n\tvoid\tAfterRunCmdNotify(const CMD_CHAR*szCmd);\npublic:\n\tCConsoleWnd& operator <<(BYTE Num8);\n\tCConsoleWnd& operator <<(WORD Num16);\n\tCConsoleWnd& operator <<(DWORD Num32);\n\tCConsoleWnd& operator <<(QWORD Num64);\n\tCConsoleWnd& operator <<(CON_DATA_TYPE Type);\n\tCConsoleWnd& operator <<(const WCHAR*String);\n};\n\n\nclass CTerminalWnd : public CWispTerminalWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Syser/Source/CopyOnWritePatch.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"CopyOnWritePatch.h\"\n\n\nvoid OnMiCopyOnWritePatchStart()\n{\n\tULONG_PTR\tFlags;\n\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\tDWORD dwOldCR0;\n\tNTSTATUS Result;\n\tULONGLONG PhysAddr;\n\tULPOS\tPageAddr;\n\tCCodeBPMap::IT Iter;\n\tULPOS VirtualAddress;\n\n\tif(gpSyser->m_bCopyOnWriteFastCall)\n\t\tVirtualAddress = Reg.GeneReg[ECX_IDX];\n\telse\n\t\tVirtualAddress = GET_DWORD(Reg.GeneReg[ESP_IDX],4);\n\n\tPageAddr = VirtualAddress & MP_NOT_MASK;\n\tfor(Iter = gpSyser->m_SyserUI.m_CodeBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif((Iter->Address & MP_NOT_MASK)==PageAddr)\n\t\t\tbreak;\n\t}\n\tif(Iter.IsExist()==false)//ûַ쳣ַͬһҳĶϵ㣬ͷ\n\t\tgoto local_1;\n\tif(MapToPAddr(PageAddr,&PhysAddr)==false)//ҳ\n\t\tgoto local_1;\n\tfor(Iter = gpSyser->m_SyserUI.m_CodeBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(Iter->State == BP_STATE_ENABLE && (Iter->Address & MP_NOT_MASK)==PageAddr && (Iter.Key()&MP64_NOT_MASK)==PhysAddr)\n\t\t{\n\t\t\tdwOldCR0 = SyserClearCR0WP();\n\t\t\tif(SafeWriteByte(*(void**)&Iter->Address,Iter->CodeBackup))\n\t\t\t\tIter->State = BP_STATE_RECOV_COPY_ON_WRITE;\n\t\t\tSyserRestoreCR0WP(dwOldCR0);\n\t\t}\n\t}\nlocal_1:\n\tSyserRestoreFlags(Flags);\n}\n\nvoid OnMiCopyOnWritePatchEnd()\n{\n\tULONG_PTR\tFlags;\n\n\tSyserSaveFlags(&Flags);\n\tSyserCld();\n\n\tDWORD dwOldCR0;\n\tULONGLONG PhysAddr;\n\tCCodeBPMap::IT Iter;\nAgainRecov:\n\tfor(Iter = gpSyser->m_SyserUI.m_CodeBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(Iter->State!=BP_STATE_RECOV_COPY_ON_WRITE)\n\t\t\tcontinue;\n\t\tif(MapToPAddr(Iter->Address,&PhysAddr)==false)\n\t\t{//ӳʧɾ˶ϵ\n\t\t\tgpSyser->m_SyserUI.m_CodeBPMap.Remove(Iter);\n\t\t\tgoto AgainRecov;\n\t\t}\n\t\tif(Iter.Key()==PhysAddr)\n\t\t{//ַδıдCC\n\t\t\tdwOldCR0 = SyserClearCR0WP();\n\t\t\tif(SafeWriteByte(*(void**)&Iter->Address,0xcc))\n\t\t\t\tIter->State = BP_STATE_ENABLE;\n\t\t\tSyserRestoreCR0WP(dwOldCR0);\n\t\t}\n\t\telse\n\t\t{//ϵַı\n\t\t\t//OUTPUT(WSTR(\"Phys Change %08X->%08X %08X\\n\"),Iter->Address,(ULPOS)Iter.Key(),(ULPOS)PhysAddr);\n\t\t\tBREAK_POINT CodeBP = *Iter;\n\t\t\tgpSyser->m_SyserUI.m_CodeBPMap.Remove(Iter);\n\t\t\tIter = gpSyser->m_SyserUI.m_CodeBPMap.InsertUnique(PhysAddr,CodeBP);\n\t\t\tif(Iter.IsExist())\n\t\t\t{\n\t\t\t\tdwOldCR0 = SyserClearCR0WP();\n\t\t\t\tif(SafeWriteByte(*(void**)&Iter->Address,0xcc))\n\t\t\t\t\tIter->State = BP_STATE_ENABLE;\n\t\t\t\tSyserRestoreCR0WP(dwOldCR0);\n\t\t\t\tgoto AgainRecov;\n\t\t\t}\n\t\t}\n\t}\n\n\tSyserRestoreFlags(Flags);\n}\n\nint GetFuncReturn(BYTE*CodeBuff,int MaxSize)\n{\n\tbool\tbRetExist;\n\tULPOS\tAddress,MaxJmpAddr,DesAddr,LastRet;\n\tint\t\tCodeLen;\n\tBYTE\tOpCode,*Buffer;\n\tAddress = 0;\n\tLastRet = 0;\n\tMaxJmpAddr = 0;\n\tbRetExist = false;\n\twhile(Address < (ULPOS)MaxSize)\n\t{\n\t\tBuffer = &CodeBuff[Address];\n\t\tOpCode =*Buffer;\n\t\tCodeLen = CInstrSym::InstrLen(Buffer,MaxSize-Address);\n\t\tMIN_LIMIT(CodeLen,1);\n\t\tif(bRetExist==false && (OpCode==0xC3 || OpCode==0xC2))\n\t\t{\n\t\t\tLastRet = Address;\n\t\t\tbRetExist = true;\n\t\t}\n\t\tif(Address==0 && OpCode==0xE9)\n\t\t\treturn \tAddress+CodeLen;\n\t\tif(OpCode==0xEB || (OpCode>=0x70 && OpCode<=0x7f))\n\t\t{\n\t\t\tDesAddr = Address+(char)Buffer[1]+2;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\telse if(OpCode==0x0F && (Buffer[1]>=0x80 && Buffer[1]<=0x8F))\n\t\t{\n\t\t\tDesAddr = Address+(int)GET_DWORD(Buffer,2)+6;\n\t\t\tif(DesAddr>MaxJmpAddr)\n\t\t\t\tMaxJmpAddr = DesAddr;\n\t\t}\n\t\tif(Address>=MaxJmpAddr)\n\t\t{\n\t\t\tif(\tOpCode==0xCC || OpCode==0xC3 || OpCode==0xC2 || \n\t\t\t\t(OpCode==0xE9 && (int)GET_DWORD(Buffer,1) < 0) ||\n\t\t\t\t(OpCode==0xEB && (char)GET_BYTE(Buffer,1) < 0) && bRetExist)\n\t\t\t{\n\t\t\t\treturn \tAddress;\n\t\t\t}\n\t\t}\n\t\tAddress+=CodeLen;\n\t}\n\tif(bRetExist)\n\t\treturn LastRet;\n\treturn 0;\n}\n\n//ȥFFԹɱֽڣȫֱַJMPƫ\n\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nBYTE W2K_ntkrnlpa[] =\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x2C, 0x53, 0x8B, 0xDA, 0x89, 0x4D, 0xE0, 0x56, 0x8B, 0x03, 0x33,\n\t0xC9, 0x89, 0x45, 0xD4, 0x8B, 0x43, 0x04, 0x89, 0x45, 0xD8, 0x8B, 0x03, 0x25, 0x00, 0x02, 0x00,\n\t0x00, 0x57, 0x0B, 0xC1, 0x89, 0x4D, 0xF4, 0x75, 0x07, 0xC7, 0x45, 0xF4, 0x01, 0x00, 0x00, 0x00\n};\n\nBYTE W2K_ntoskrnl[] =\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x28, 0x83, 0x65, 0xF0, 0x00, 0x53, 0x8B, 0x1A, 0x56, 0xF6, 0xC7, \n\t0x02, 0x57, 0x89, 0x55, 0xF4, 0x89, 0x4D, 0xDC, 0x89, 0x5D, 0xEC, 0x75, 0x07, 0xC7, 0x45, 0xF0, \n\t0x01, 0x00, 0x00, 0x00, 0x8B, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, 0xEB, 0x0C, 0x8D, 0x04, 0x5B, \n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nBYTE XP_SP2_ntkrnlpa[]=\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x2C, 0x83, 0x65, 0xF0, 0x00, 0x53, 0x56, 0x57, 0x89,\n\t0x55, 0xF4, 0x89, 0x4D, 0xE0, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x58, 0x44, 0x8B, 0x0A,\n\t0x8B, 0x7A, 0x04, 0x8B, 0xC1, 0x25, 0x00, 0x02, 0x00, 0x00, 0x33, 0xF6, 0x0B, 0xC6, 0x89, 0x4D\n};\n\nBYTE XP_SP2_ntoskrnl[]=\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x28, 0x53, 0x56, 0x33, 0xF6, 0x57, 0x89, 0x55, 0xF4, \n\t0x89, 0x4D, 0xDC, 0x89, 0x75, 0xF0, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x58, 0x44, 0x8B, \n\t0x02, 0xF6, 0xC4, 0x02, 0x89, 0x45, 0xEC, 0x0F, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0x0D\n};\n\nBYTE XP_SP1_ntoskrnl[]=\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x24, 0x53, 0x56, 0x57, 0x33, 0xFF, 0x89, 0x55, 0xF8, 0x89, 0x4D, \n\t0xF0, 0x89, 0x7D, 0xEC, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x4D, 0xF8, 0x8B, 0x58, 0x44, \n\t0x8B, 0x01, 0xF6, 0xC4, 0x02, 0x89, 0x45, 0xE8, 0x75, 0xFF, 0xC7, 0x45, 0xEC, 0x01, 0x00, 0x00, \n};\n\nBYTE XP_ntoskrnl[] =\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x24, 0x53, 0x56, 0x57, 0x33, 0xFF, 0x89, 0x55, 0xF8, 0x89, 0x4D, \n\t0xF0, 0x89, 0x7D, 0xEC, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x4D, 0xF8, 0x8B, 0x58, 0x44, \n\t0x8B, 0x01, 0xF6, 0xC4, 0x02, 0x89, 0x45, 0xE8, 0x0F, 0x84, 0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0x15, \n} ;\n\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nBYTE W2003_ntkrnlpa[]=\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x30, 0x53, 0x83, 0x65, 0xE4, 0x00, 0x83, 0x65, 0xE8, 0x00, 0x56, \n\t0x8B, 0xF2, 0x8B, 0x46, 0x04, 0x57, 0x8B, 0x3E, 0x89, 0x45, 0xD4, 0x8B, 0xD7, 0x0F, 0xAC, 0xC2, \n\t0x0C, 0x8B, 0xDA, 0x81, 0xE3, 0xFF, 0xFF, 0xFF, 0x03, 0x89, 0x5D, 0xD8, 0x6B, 0xDB, 0x1C, 0x03, \n};\n\nBYTE W2003_ntoskrnl[]=\n{\n\t0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x2C, 0x53, 0x56, 0x8B, 0x32, 0x8B, 0xC6, 0xC1, 0xE8, 0x0C, 0x8B, \n\t0xD9, 0x8B, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xD8, 0x8D, 0x04, 0x40, 0x57, 0x8D, 0x3C, \n\t0xC1, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x40, 0x44, 0x33, 0xC9, 0x3B, 0x1D\n};\n\nBYTE W2003_SP1_ntkrnlpa[]=\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x34, 0x8B, 0x42, 0x04, 0x53, 0x56, 0x8B, 0xF1, 0x57, \n\t0x8B, 0x3A, 0x89, 0x45, 0xD0, 0x8B, 0xCF, 0x0F, 0xAC, 0xC1, 0x0C, 0x8B, 0xD9, 0x81, 0xE3, 0xFF, \n\t0xFF, 0xFF, 0x03, 0x89, 0x5D, 0xD4, 0x6B, 0xDB, 0x1C, 0x03, 0x1D, 0xFF, 0xFF, 0xFF, 0xFF, 0xC1, \n};\n\nBYTE W2003_SP1_ntoskrnl[]=\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xEC, 0x30, 0x53, 0x56, 0x57, 0x8B, 0x3A, 0x8B, 0xC7, 0xC1, \n\t0xE8, 0x0C, 0x8B, 0xF1, 0x8B, 0x0D, 0xFF, 0xFF, 0xFF, 0xFF, 0x89, 0x45, 0xD0, 0x8D, 0x04, 0x40, \n\t0x8D, 0x1C, 0xC1, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x40, 0x38, 0x33, 0xC9, 0x3B, 0x35, \n} ;\n\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nBYTE Vista_ntkrnlpa[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x54, 0x83, 0x64, 0x24, 0x14, 0x00, \n\t0x53, 0x56, 0x8B, 0x75, 0x0C, 0x8B, 0x0E, 0x57, 0x89, 0x4C, 0x24, 0x50, 0x8B, 0x46, 0x04, 0x89, \n\t0x44, 0x24, 0x54, 0x89, 0x4C, 0x24, 0x48, 0x89, 0x44, 0x24, 0x4C, 0x0F, 0xAC, 0xC1, 0x0C, 0x8B, \n\t0xD9, 0x81, 0xE3, 0xFF, 0xFF, 0xFF, 0x03, 0x8B, 0xFB, 0x6B, 0xFF, 0x1C\n};\n\nBYTE Vista_ntoskrnl[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x3C, 0x8B, 0x45, 0x0C, 0x83, 0x64, \n\t0x24, 0x14, 0x00, 0x53, 0x56, 0x57, 0x8B, 0x38, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x0D, \n\t0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0x40, 0x48, 0x89, 0x7C, 0x24, 0x28, 0xC1, 0xEF, 0x0C, 0x8B, 0xF7, \n};\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\nBYTE VistaSP1_ntkrnlpa_6000_16584[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x54, 0x8B, 0x45, 0x0C, 0x83, 0x64,\n\t0x24, 0x1C, 0x00, 0x53, 0x56, 0x8B, 0x30, 0x57, 0x89, 0x74, 0x24, 0x48, 0x8B, 0x40, 0x04, 0x89,\n\t0x44, 0x24, 0x4C, 0x89, 0x74, 0x24, 0x50, 0x89, 0x44, 0x24, 0x54, 0x8B, 0xCE, 0x0F, 0xAC, 0xC1,\n\t0x0C, 0x8B, 0xD9, 0x81, 0xE3, 0xFF, 0xFF, 0xFF, 0x03, 0x8B, 0xFB, 0x6B, 0xFF, 0x1C\n};\n\nBYTE VistaSP1_ntoskrnl_6000_16584[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x3C, 0x8B, 0x45, 0x0C, 0x83, 0x64,\n\t0x24, 0x24, 0x00, 0x53, 0x56, 0x57, 0x8B, 0x38, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x0D,\n\t0xFF, 0xFF, 0xFF, 0xFF, 0x8B, 0x40, 0x48, 0x89, 0x7C, 0x24, 0x24, 0xC1, 0xEF, 0x0C, 0x8B, 0xF7,\n\t0x6B, 0xF6, 0x18, 0x03, 0x35\n};\n\nBYTE VistaSP1_ntkrnlpa_6001_18000[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x5C, 0x8B, 0x45, 0x0C, 0x83, 0x64,\n\t0x24, 0x28, 0x00, 0x53, 0x56, 0x8B, 0x30, 0x57, 0x89, 0x74, 0x24, 0x58, 0x8B, 0x48, 0x04, 0x89,\n\t0x4C, 0x24, 0x5C, 0x89, 0x74, 0x24, 0x50, 0x89, 0x4C, 0x24, 0x54, 0x8B, 0xC6, 0x0F, 0xAC, 0xC8\n};\n\nBYTE VistaSP1_ntoskrnl_6001_18000[] =\n{\n\t0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x83, 0xE4, 0xF8, 0x83, 0xEC, 0x3C, 0x8B, 0x45, 0x0C, 0x83, 0x64,\n\t0x24, 0x28, 0x00, 0x53, 0x56, 0x8B, 0x30, 0x64, 0xA1, 0x24, 0x01, 0x00, 0x00, 0x8B, 0x48, 0x48,\n\t0xA1, 0xFF, 0xFF, 0xFF, 0xFF, 0x89, 0x74, 0x24, 0x20, 0xC1, 0xEE, 0x0C, 0x8B, 0xDE, 0x6B, 0xDB,\n\t0x18\n};\n\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\nST_COPY_ON_WRITE_OS_INFO CopyOnWriteOSInfo[]=\n{\n\t///////////////////XP SP2////////////////////\n\t{\n\t\tXP_SP2_ntkrnlpa,\n\t\tsizeof(XP_SP2_ntkrnlpa),\n\t\ttrue,5,1\n\t},\n\t{\n\t\tXP_SP2_ntoskrnl,\n\t\tsizeof(XP_SP2_ntoskrnl),\n\t\ttrue,5,1\n\t},\n\t{\n\t\tXP_SP1_ntoskrnl,\n\t\tsizeof(XP_SP1_ntoskrnl),\n\t\ttrue,5,1\n\t},\n\t{\n\t\tXP_ntoskrnl,\n\t\tsizeof(XP_ntoskrnl),\n\t\ttrue,5,1\n\t},\n\t///////////////////2K////////////////////////\n\t{\n\t\tW2K_ntkrnlpa,\n\t\tsizeof(W2K_ntkrnlpa),\n\t\ttrue,5,0\n\t},\n\t{\n\t\tW2K_ntoskrnl,\n\t\tsizeof(W2K_ntoskrnl),\n\t\ttrue,5,0\n\t},\n\t///////////////////Vista/////////////////////\n\t{\n\t\tVista_ntkrnlpa,\n\t\tsizeof(Vista_ntkrnlpa),\n\t\tfalse,6,0\n\t},\n\t{\n\t\tVista_ntoskrnl,\n\t\tsizeof(Vista_ntoskrnl),\n\t\tfalse,6,0\n\t},\n\t{\n\t\tVistaSP1_ntkrnlpa_6000_16584,\n\t\tsizeof(VistaSP1_ntkrnlpa_6000_16584),\n\t\tfalse,6,0\n\t},\n\t{\n\t\tVistaSP1_ntoskrnl_6000_16584,\n\t\tsizeof(VistaSP1_ntoskrnl_6000_16584),\n\t\tfalse,6,0\n\t},\n\t{\n\t\tVistaSP1_ntkrnlpa_6001_18000,\n\t\tsizeof(VistaSP1_ntkrnlpa_6001_18000),\n\t\tfalse,6,0\n\t},\n\t{\n\t\tVistaSP1_ntoskrnl_6001_18000,\n\t\tsizeof(VistaSP1_ntoskrnl_6001_18000),\n\t\tfalse,6,0\n\t},\t\n\t///////////////////W2003/////////////////////\n\t{\n\t\tW2003_ntkrnlpa,\n\t\tsizeof(W2003_ntkrnlpa),\n\t\ttrue,5,2\n\t},\n\t{\n\t\tW2003_ntoskrnl,\n\t\tsizeof(W2003_ntoskrnl),\n\t\ttrue,5,2\n\t},\n\t{\n\t\tW2003_SP1_ntkrnlpa,\n\t\tsizeof(W2003_SP1_ntkrnlpa),\n\t\ttrue,5,2\n\t},\n\t{\n\t\tW2003_SP1_ntoskrnl,\n\t\tsizeof(W2003_SP1_ntoskrnl),\n\t\ttrue,5,2\n\t},\n\t/////////////////////////////////////////////\n\t{\n\t\tNULL,0,false\n\t}\n\t/////////////////////////////////////////////\n};\n\nULSIZE GetModuleValidSize(ULPOS BaseAddr,ULSIZE Size)\n{\n\tULSIZE ValidSize = 0;\n\twhile(Size>0)\n\t{\n\t\tif(MmIsAddressValid(RT_PVOID(BaseAddr,ValidSize))==false)\n\t\t\treturn ValidSize;\n\t\tif(Size>MP_SIZE)\n\t\t{\n\t\t\tValidSize+=MP_SIZE;\n\t\t\tSize-=MP_SIZE;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tValidSize+=Size;\n\t\t\tSize=0;\n\t\t}\n\t}\n\treturn ValidSize;\n}\n\nvoid PatchMiCopyOnWrite()\n{\n\tULSIZE SeachSize;\n\tULPOS FuncStart,FuncReturn;\n\tULONG MajorVersion,MinorVersion;\n\tPsGetVersion(&MajorVersion,&MinorVersion,NULL,NULL);\n\tCDbgModule*pDbgModule = gpSyser->m_pSysDebugger->GetModule((ULPOS)KeClearEvent);\n\tif(pDbgModule==NULL)\n\t\treturn;\n\tSeachSize = GetModuleValidSize(pDbgModule->m_ModuleBase,MIN(pDbgModule->m_ModuleSize,0x100000));\n\tFuncStart = 0;\n\tint n;\n\tfor(n=0;CopyOnWriteOSInfo[n].CodeFeature;n++)\n\t{\n\t\tif(MajorVersion!=CopyOnWriteOSInfo[n].MajorVersion || MinorVersion!=CopyOnWriteOSInfo[n].MinorVersion)\n\t\t\tcontinue;\n\t\tFuncStart = (ULPOS) CodeSearch((void*)pDbgModule->m_ModuleBase,SeachSize,CopyOnWriteOSInfo[n].CodeFeature,CopyOnWriteOSInfo[n].CodeFeatureLen);\n\t\tif(FuncStart)\n\t\t\tbreak;\n\t}\n\tif(FuncStart==0)\n\t\treturn;\n\tint FuncSize=GetFuncReturn((BYTE*)FuncStart,0x10000);\n\tif(FuncSize==0)\n\t{\n\t\tDbgPrint(\"Syser : Fail to local MiCopyOnWrite return!\\n\");\n\t\treturn;\n\t}\n\tFuncReturn = FuncStart+FuncSize;\n\tgpSyser->m_bCopyOnWriteFastCall = CopyOnWriteOSInfo[n].bIsFastCall;\n\tgpSyser->m_bPatchCopyOnWrite = true;\n\tPATCH_SYSTEM(\"MiCopyOnWrite\",FuncStart,OnMiCopyOnWritePatchStart);\n\tPATCH_SYSTEM(\"MiCopyOnWrite Return\",FuncReturn,OnMiCopyOnWritePatchEnd);\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/CopyOnWritePatch.h",
    "content": "#ifndef _COPY_ON_WRITE_PATCH_H_\n#define _COPY_ON_WRITE_PATCH_H_\n\nstruct ST_COPY_ON_WRITE_OS_INFO\n{\n\tBYTE*\tCodeFeature;\n\tint\t\tCodeFeatureLen;\n\tbool\tbIsFastCall;\n\tULONG\tMajorVersion;\n\tULONG\tMinorVersion;\n};\n\nvoid PatchMiCopyOnWrite();\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/CrossReferenceForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DebuggerSelectForm.h\"\n#include \"Syser.h\"\n\nenum CCrossReferenceForm::WISP_FORM_ID\n{\n\tCMD_ID_REFERENCE_LIST = WISP_ID_USER_START,\n\tCMD_ID_BT_OK,\n\n};\n\nWISP_FORM_RES_ITEM CCrossReferenceForm::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,240},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"xrefs to ...\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{5,5,380,160},\n\t\tCMD_ID_REFERENCE_LIST,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER|WISP_WLS_SELECTED_ALWAYS,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{80,180,70,20},\n\t\tCMD_ID_BT_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{250,180,70,20},\n\t\tWISP_ID_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Cancel\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CCrossReferenceForm)\n\tWISP_MSG_MAP_ON_COMMAND\t\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CCrossReferenceForm)\nWISP_MSG_CMD_MAP(CMD_ID_REFERENCE_LIST,OnListCmd);\nWISP_MSG_CMD_MAP_END\nWISP_MSG_EVENT_MAP_BEGIN(CCrossReferenceForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_OK,OnOkButton)\n\t//WISP_MSG_EVENT_MAP(CMD_ID_BT_REFRESH,OnRefresh)\nWISP_MSG_EVENT_MAP_END\n\n\nCCrossReferenceForm::CCrossReferenceForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCCrossReferenceForm::~CCrossReferenceForm()\n{\n}\n\nbool CCrossReferenceForm::OnListCmd(WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK)\n\t{\n\t\tOnOkButton(NULL);\n\t}\n\treturn true;\n}\n\nbool CCrossReferenceForm::OnOkButton(WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\tCCodeView*pCodeView;\n\thItem = m_AddressReferenceList->GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t{\n\t\tAddress=(ULPOS)m_AddressReferenceList->GetItemData(hItem,0);\n\t\tpCodeView=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\t\tif(pCodeView)\n\t\t\tpCodeView->SetStartAddress(Address,true);\n\t}\n\tif(pMsg)\n\t\tDestroy();\n\treturn true;\n}\n\nbool CCrossReferenceForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_AddressReferenceList = (CWispList*)GetFormItem(CMD_ID_REFERENCE_LIST);\n\tm_AddressReferenceList->InsertColumn(WSTR(\"Direction\"),40);\n\tm_AddressReferenceList->InsertColumn(WSTR(\"Type\"),35);\n\tm_AddressReferenceList->InsertColumn(WSTR(\"Address\"),100);\n\tm_AddressReferenceList->InsertColumn(WSTR(\"Instruction\"),200);\n\tm_AddressReferenceList->SetDefaultTextColor(ColorOption.clrText);\n\tm_AddressReferenceList->SetBGColor(ColorOption.clrBackground);\n\treturn true;\n}\n\nbool CCrossReferenceForm::InitReferenceList(CROSSREFERENCELIST* pList,DWORD Address)\n{\n\tCROSSREFERENCELIST::IT BeginIt,EndIt;\n\tDWORD DestAddr;\n\tHANDLE hItem;\n\tCCodeView*pCodeView;\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tbool bFirst=true;\n\tm_AddressReferenceList->ClearChildItem();\n\tpCodeView=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn false;\n\tBeginIt = pList->Begin();\n\tEndIt = pList->End();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tDestAddr = *BeginIt;\n\t\tif(DestAddr<Address)\n\t\t\thItem = m_AddressReferenceList->InsertItemW(WSTR(\"UP\"));\n\t\telse\n\t\t\thItem = m_AddressReferenceList->InsertItemW(WSTR(\"DOWN\"));\n\t\tm_AddressReferenceList->SetItemData(hItem,0,DestAddr);\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,0,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,1,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,2,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemNum(hItem,2,DestAddr);\n\t\tpCodeView->ColorDasm(DestAddr,MAX_INSTR_LEN,szColorBuffer);\n\t\tm_AddressReferenceList->SetItemColorText(hItem,3,szColorBuffer);\n\t\tif(bFirst)\n\t\t\tm_AddressReferenceList->SelectItem(hItem);\n\t\tbFirst=false;\n\t}\n\treturn true;\n}\n\nbool CCrossReferenceForm::InitDataReferenceList(CROSSREFERENCELIST* pList,DWORD Address)\n{\n\tCROSSREFERENCELIST::IT BeginIt,EndIt;\n\tDWORD DestAddr,TmpAddr;\n\tHANDLE hItem;\n\tbool bFirst=true,bOK;\n\tCCodeView*pCodeView;\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tm_AddressReferenceList->ClearChildItem();\n\tpCodeView=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn false;\n\tBeginIt = pList->Begin();\n\tEndIt = pList->End();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tDestAddr = *BeginIt;\n\t\t\n\t\tbOK = pCodeView->m_pCodeDoc->GetInstrDesAddress(--DestAddr,&TmpAddr);\n\t\tif(bOK==false||TmpAddr!=Address)\n\t\t{\n\t\t\tbOK = pCodeView->m_pCodeDoc->GetInstrDesAddress(--DestAddr,&TmpAddr);\n\t\t\tif(bOK==false||TmpAddr!=Address)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif(DestAddr<Address)\n\t\t\thItem = m_AddressReferenceList->InsertItemW(WSTR(\"UP\"));\n\t\telse\n\t\t\thItem = m_AddressReferenceList->InsertItemW(WSTR(\"DOWN\"));\n\t\tm_AddressReferenceList->SetItemData(hItem,0,DestAddr);\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,0,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,1,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemTextColor(hItem,2,WispColor(SC_WHITE));\n\t\tm_AddressReferenceList->SetItemNum(hItem,2,DestAddr);\n\t\tpCodeView->ColorDasm(DestAddr,MAX_INSTR_LEN,szColorBuffer);\n\t\tm_AddressReferenceList->SetItemColorText(hItem,3,szColorBuffer);\n\t\tif(bFirst)\n\t\t\tm_AddressReferenceList->SelectItem(hItem);\n\t\tbFirst=false;\n\t}\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/CrossReferenceForm.h",
    "content": "#ifndef _CROSSREFERENCE_FORM_H_\n#define _CROSSREFERENCE_FORM_H_\n#include \"CodeView.h\"\nclass CCrossReferenceForm : public CWispForm\n{\npublic:\n\tCCrossReferenceForm();\n\t~CCrossReferenceForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnOkButton)\n\tDECLARE_WISP_MSG_CMD_MAP \n\tDECLARE_WISP_MSG_CMD(OnListCmd)\n\t//DECLARE_WISP_MSG_EVENT(OnRefresh)\npublic:\n\tCWispList* m_AddressReferenceList;\n\tbool InitReferenceList(CROSSREFERENCELIST* pList,DWORD Address);\n\tbool InitDataReferenceList(CROSSREFERENCELIST* pList,DWORD Address);\n};\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/DataBPEdit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"DataBPEdit.h\"\n\nenum CDataBPEdit::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_ADDRESS = WISP_ID_USER_START,\n\tCMD_ID_EDIT_NAME,\n\tCMD_ID_CHECK_ENABLE,\n\tCMD_ID_RADIO_WRITEONLY,\n\tCMD_ID_RADIO_READWRITE,\n\tCMD_ID_RADIO_EXECUTE,\n\tCMD_ID_RADIO_IO,\n\tCMD_ID_EDIT_CONDITION,\n\tCMD_ID_EDIT_DO_COMMAND,\n\tCMD_ID_RADIO_BYTE,\n\tCMD_ID_RADIO_WORD,\n\tCMD_ID_RADIO_DWORD,\n\tCMD_ID_RADIO_ALL,\n};\n\nWISP_FORM_RES_ITEM CDataBPEdit::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,355,290},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Data break point\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,5,80,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Address\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,20,60,16},\n\t\tCMD_ID_EDIT_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Address of break point\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{100,5,100,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Name\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{110,20,80,16},\n\t\tCMD_ID_EDIT_NAME,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Name of break point (if needed)\")\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{210,17,60,20},\n\t\tCMD_ID_CHECK_ENABLE,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Enabled\"),\n\t\tNULL,\n\t\tWSTR(\"Is break point enabled\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{280,20,55,20},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tWSTR(\"Save modify setting\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,50,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Type\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{20,65,75,20},\n\t\tCMD_ID_RADIO_READWRITE,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"ReadWrite\"),\n\t\tNULL,\n\t\tWSTR(\"break on access memory\")\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{100,65,75,20},\n\t\tCMD_ID_RADIO_WRITEONLY,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"WriteOnly\"),\n\t\tNULL,\n\t\tWSTR(\"break on write memory\")\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{180,65,75,20},\n\t\tCMD_ID_RADIO_EXECUTE,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"Execute\"),\n\t\tNULL,\n\t\tWSTR(\"break on execute\")\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{260,65,75,20},\n\t\tCMD_ID_RADIO_IO,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"I/O\"),\n\t\tNULL,\n\t\tWSTR(\"break on IO access,address is IO Num\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,95,325,45},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Length\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{20,110,75,20},\n\t\tCMD_ID_RADIO_ALL,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"ALL\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{100,110,75,20},\n\t\tCMD_ID_RADIO_BYTE,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"BYTE\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{180,110,75,20},\n\t\tCMD_ID_RADIO_WORD,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"WORD\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{260,110,75,20},\n\t\tCMD_ID_RADIO_DWORD,\n\t\tWISP_RBS_NORMAL,\n\t\tWSTR(\"DWORD\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,150,325,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Condition\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,170,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:29\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,170,285,16},\n\t\tCMD_ID_EDIT_CONDITION,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"break condition when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,210,325,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Do Command  (Use ; to delimit command lines)\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,225,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:63\"\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,225,285,16},\n\t\tCMD_ID_EDIT_DO_COMMAND,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Do command when break point touched\")\n\t},\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CDataBPEdit)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CDataBPEdit)\n\tWISP_MSG_CMD_MAP(CMD_ID_EDIT_ADDRESS,OnAddressChg)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\nCDataBPEdit::CDataBPEdit(void)\n{\n\tm_pFormRes = m_FormRes;\n\tm_pBP = NULL;\n}\n\nCDataBPEdit::~CDataBPEdit(void)\n{\n}\n\nbool CDataBPEdit::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tWISP_CHAR szBuffer[256];\n\tm_pNameEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_NAME);\n\tm_pAddrEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_ADDRESS);\n\tm_pConditionEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_CONDITION);\n\tm_pDoCmdEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_DO_COMMAND);\n\n\tm_pEnableChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_CHECK_ENABLE);\n\tm_pWriteRadioBox = (CWispRadioBox*)GetFormItem(CMD_ID_RADIO_WRITEONLY);\n\tm_pReadWriteRadioBox = (CWispRadioBox*)GetFormItem(CMD_ID_RADIO_READWRITE);\n\tm_pExecuteRadioBox = (CWispRadioBox*)GetFormItem(CMD_ID_RADIO_EXECUTE);\n\tm_pIORadioBox = (CWispRadioBox*)GetFormItem(CMD_ID_RADIO_IO);\n\n\tm_pAllChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_RADIO_ALL);\n\tm_pByteChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_RADIO_BYTE);\n\tm_pWordChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_RADIO_WORD);\n\tm_pDwordChkBox = (CWispCheckBox*)GetFormItem(CMD_ID_RADIO_DWORD);\n\n\tm_bEnable = true;\n\tif(m_pBP)\n\t{\n\t\tuNumToStr(m_pBP->Address,szBuffer);\n\t\tm_pAddrEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->Name,szBuffer,256);\n\t\tm_pNameEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->Condition,szBuffer,256);\n\t\tm_pConditionEdit->SetWindowText(szBuffer);\n\t\tAnsiToUnicode(m_pBP->DoCmd,szBuffer,256);\n\t\tm_pDoCmdEdit->SetWindowText(szBuffer);\n\t\tm_bEnable = m_pBP->State!=BP_STATE_DISABLE;\n\t\tif((m_pBP->Type&BP_TYPE_READWRITE)==BP_TYPE_READWRITE)\n\t\t\tm_pReadWriteRadioBox->Check();\n\t\telse if(m_pBP->Type&BP_TYPE_WRITE)\n\t\t\tm_pWriteRadioBox->Check();\n\t\telse if(m_pBP->Type&BP_TYPE_EXECUTE)\n\t\t\tm_pExecuteRadioBox->Check();\n\t\telse if(m_pBP->Type&BP_TYPE_IO_READWRITE)\n\t\t\tm_pIORadioBox->Check();\n\t\tswitch(m_pBP->Length)\n\t\t{\n\t\tcase 1:\n\t\t\tm_pByteChkBox->Check();\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tm_pWordChkBox->Check();\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tm_pDwordChkBox->Check();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tm_pAllChkBox->Check();\n\t\t\tbreak;\n\t\t}\n\t}\n\telse\n\t{\n\t\tm_pAllChkBox->Check();\n\t\tm_pReadWriteRadioBox->Check();\n\t}\n\tm_pEnableChkBox->Check(m_bEnable);\n\treturn true;\n}\n\nbool CDataBPEdit::OnOK(IN WISP_MSG*pMsg)\n{\n\tULPOS ConditionValue;\n\tCHAR szBuffer[256];\n\tif(pMsg->Command.CmdMsg!=WISP_CMD_BT_UP)\n\t\treturn true;\n\tBREAK_POINT BreakPoint;\n\tif(m_pAddrEdit->m_WndText.Length()==0 || CALCEXP((WISP_CHAR*)m_pAddrEdit->m_WndText,&BreakPoint.Address)==false)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Invalid Address !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n#ifdef CODE_OS_NT_DRV\n\tif(BreakPoint.Address >= gpSyser->m_SysInfo.m_SyserBase && BreakPoint.Address < gpSyser->m_SysInfo.m_SyserHighBase)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Cann't set breakpoint in Syser !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n#endif\n\tUnicodeToAnsi(m_pNameEdit->m_WndText,szBuffer,256);\n\tBreakPoint.Name = szBuffer;\n\tif(BreakPoint.Name.IsEmpty())\n\t\tBreakPoint.Name.Format(\"%08X\",BreakPoint.Address);\n\n\tif(CALCEXP(m_pConditionEdit->m_WndText,&ConditionValue)==false)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Invalid Condition !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n\tUnicodeToAnsi(m_pConditionEdit->m_WndText,szBuffer,256);\n\tBreakPoint.Condition = szBuffer;\n\tUnicodeToAnsi(m_pDoCmdEdit->m_WndText,szBuffer,256);\n\tBreakPoint.DoCmd = szBuffer;\n\n\tm_bEnable = m_pEnableChkBox->IsChecked();\n\tBreakPoint.State = m_bEnable?BP_STATE_ENABLE:BP_STATE_DISABLE;\n\tBreakPoint.Type = BP_TYPE_HARDWARE;\n\tif(m_pReadWriteRadioBox->IsChecked())\n\t\tBreakPoint.Type |= BP_TYPE_READWRITE;\n\telse if(m_pWriteRadioBox->IsChecked())\n\t\tBreakPoint.Type |= BP_TYPE_WRITE;\n\telse if(m_pExecuteRadioBox->IsChecked())\n\t\tBreakPoint.Type |= BP_TYPE_EXECUTE;\n\telse if(m_pIORadioBox->IsChecked())\n\t\tBreakPoint.Type |= BP_TYPE_IO_READWRITE;\n\tif(m_pByteChkBox->IsChecked())\n\t\tBreakPoint.Length = 1;\n\telse if(m_pWordChkBox->IsChecked())\n\t\tBreakPoint.Length = 2;\n\telse if(m_pDwordChkBox->IsChecked())\n\t\tBreakPoint.Length = 4;\n\telse\n\t\tBreakPoint.Length = 0;\n\n\tif(m_pBP)\n\t{\n\t\tif(BreakPoint.Address==m_pBP->Address && BreakPoint.Type==m_pBP->Type && BreakPoint.State==m_pBP->State && BreakPoint.Length==m_pBP->Length)\n\t\t{\n\t\t\tm_pBP->Name = BreakPoint.Name;\n\t\t\tm_pBP->Condition = BreakPoint.Condition;\n\t\t\tm_pBP->DoCmd = BreakPoint.DoCmd;\n\t\t\treturn true;\n\t\t}\n\t\tgpSyser->m_pSysDebugger->RemoveDataBP(m_pBP);\n\t}\n\tm_pBP = gpSyser->m_pSysDebugger->InsertDataBP(BreakPoint.Address,BreakPoint.Type,BreakPoint.State,BreakPoint.Length);\n\tif(m_pBP==NULL)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Fail to insert breakpoint !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\tm_pBP->Name = BreakPoint.Name;\n\t\tm_pBP->Condition = BreakPoint.Condition;\n\t\tm_pBP->DoCmd = BreakPoint.DoCmd;\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CDataBPEdit::OnAddressChg(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_EN_CHANGED)\n\t{\n\t\tm_pNameEdit->SetWindowText(m_pAddrEdit->m_WndText);\n\t}\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/DataBPEdit.h",
    "content": "#ifndef _DATA_BP_EDIT_H_\n#define _DATA_BP_EDIT_H_\n\nclass CDataBPEdit : public CWispForm\n{\npublic:\n\tCDataBPEdit(void);\n\t~CDataBPEdit(void);\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnAddressChg);\n\tDECLARE_WISP_MSG_CMD(OnOK)\n\tBREAK_POINT*m_pBP;\n\tCWispEdit*\tm_pNameEdit;\n\tCWispEdit*\tm_pAddrEdit;\n\tCWispEdit*\tm_pConditionEdit;\n\tCWispEdit*\tm_pDoCmdEdit;\n\tCWispCheckBox*m_pEnableChkBox;\n\tCWispRadioBox*m_pWriteRadioBox;\n\tCWispRadioBox*m_pReadWriteRadioBox;\n\tCWispRadioBox*m_pExecuteRadioBox;\n\tCWispRadioBox*m_pIORadioBox;\n\tCWispCheckBox*m_pAllChkBox;\n\tCWispCheckBox*m_pByteChkBox;\n\tCWispCheckBox*m_pWordChkBox;\n\tCWispCheckBox*m_pDwordChkBox;\n\tbool\t\tm_bEnable;\n\tUINT\t\tm_Type;\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/DataOperatorDlg.cpp",
    "content": "#include \"stdafx.h\"\n#include \"DataOperatorDlg.h\"\n#include \"Syser.h\"\n\nconst WCHAR* CDataOperatorDlg::DataOperatorDescription[20]={\n\tWSTR(\"Fips the byte order of you data. For example, the \\nword 0xABCD would become 0xCDAB.\"),\n\tWSTR(\"Inverts the bits of your data. For example, the \\nvalue 0x35 (00110101 in binary) would become 0xCA\\n(11001010 in binary).\"),\n\tWSTR(\"Shift the bits of your data to the left. For \\nexample,the value 0x08 (00001000 in binary) would \\nbecome 0x10 (00010000 in binary).\"),\n\tWSTR(\"Shift the bits of your data to the right. For \\nexample,the value 0x08(00001000 in binary) would \\nbecome 0x04 (00000100 in binary).\"),\n\tWSTR(\"Rotates the bits of your data to the left. For\\nexample,the value 0x98 (10011000 in binary) would \\nbecome 0x31 (00110001 in binary).\"),\n\tWSTR(\"Rotates the bits of your data to the right. For\\nexampel,the value 0x61 (01100001 in binary) would \\nbecome 0xB0 (10110000 in binary).\"),\n\tWSTR(\"Shift the bits of your data to the left across byte\\n boundaries. For example,the value 0x08(00001000 \\nin binary) would become 0x10 (00010000 in binary).\"),\n\tWSTR(\"Shift the bits of your data to right across byte\\nboundaries. For example,the value 0x08 (00001000 in\\nbinary) would become 0x04 (00000100 in binary).\"),\n\tWSTR(\"Performs a XOR operation. For example,the value\\n0xFO (11110000 in binary) XOR 0xAA (10101010 in \\nbinary) is 0x5A (01011010 in binary).\"),\n\tWSTR(\"Performs an OR operation. For example,the value\\n0xF0 (11110000 in binary) OR 0xAA (10101010 in \\nbinary) is 0xFA (11111010 in binary).\"),\n\tWSTR(\"Performs an AND operation. For example,the value\\n0xF0 (11110000 in binary) AND 0xAA (10101010 in \\nbinary) is 0xA0 (10100000 in binary).\"),\n\tWSTR(\"Change the sign of your data. For example,a value of\\n5 would become -5 or a value of -5 would become 5.\"),\n\tWSTR(\"Replaces your data with your data plus another value\\n(data = data + value).\"),\n\tWSTR(\"Replaces your data with your data minus another\\nvalue (data = data - value).\"),\n\tWSTR(\"Replaces your data with your data multiplied by \\nanother value (data = data * value).\"),\n\tWSTR(\"Replaces your data with your data divided by another\\nvalue (data = data / value).\"),\n\tWSTR(\"Replaces your data with your data mod another value\\n(data = data % value).\"),\n\tWSTR(\"Replaces your character data with all upper case\\ncharacters. For example,the text \\\"Test String\\\"\\nwould become \\\"TEST STRING\\\".\"),\n\tWSTR(\"Replaces your character data with all lower case\\ncharacters. For example,the text \\\"Test String\\\"\\nwould become \\\"test string\\\".\"),\n\tWSTR(\"Replaces your character data with the inverse \\ncharacter case. For example, the next \\\"Test String\\\" would\\nbecome \\\"tEST sTRING\\\".\"),\n};\nconst WCHAR* CDataOperatorDlg::DataOperatorTitle[20]={\n\tWSTR(\"ByteFlip Operation\"),\n\tWSTR(\"Inverse Bits Operation\"),\n\tWSTR(\"Shift Left Operation\"),\n\tWSTR(\"Shift Right Operation\"),\n\tWSTR(\"Rotate Left Operation\"),\n\tWSTR(\"Rotate Right Operation\"),\n\tWSTR(\"Block Shift Left Operation\"),\n\tWSTR(\"Block Shift Right Operation\"),\n\tWSTR(\"XOR Operation\"),\n\tWSTR(\"OR Operation\"),\n\tWSTR(\"AND Operation\"),\n\tWSTR(\"Change Sign Operation\"),\n\tWSTR(\"Add Operation\"),\n\tWSTR(\"Subtract Operation\"),\n\tWSTR(\"Multiply Operation\"),\n\tWSTR(\"Divide Operation\"),\n\tWSTR(\"Mod Operation\"),\n\tWSTR(\"Upper Case Operation\"),\n\tWSTR(\"Lower Case Operation\"),\n\tWSTR(\"Inverse Case Operation\"),\n};\nFPDATAOPERATION CDataOperatorDlg::m_Func[20]=\n{\n&CDataOperatorDlg::ByteFlip,\n&CDataOperatorDlg::InverseBits,\n&CDataOperatorDlg::ShiftLeft,\n&CDataOperatorDlg::ShiftRight,\n&CDataOperatorDlg::RotateLeft,\n&CDataOperatorDlg::RotateRight,\n&CDataOperatorDlg::BlockShiftLeft,\n&CDataOperatorDlg::BlockShiftRight,\n&CDataOperatorDlg::XOR,\n&CDataOperatorDlg::AND,\n&CDataOperatorDlg::OR,\n&CDataOperatorDlg::ChangeSign,\n&CDataOperatorDlg::Add,\n&CDataOperatorDlg::Subtract,\n&CDataOperatorDlg::Multiply,\n&CDataOperatorDlg::Divide,\n&CDataOperatorDlg::Mod,\n&CDataOperatorDlg::UpperCase,\n&CDataOperatorDlg::LowerCase,\n&CDataOperatorDlg::InverseCase,\n};\nenum CDataOperatorDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_OK=WISP_ID_USER_START,\n\tCMD_ID_BUTTON_CANCEL,\n\tCMD_ID_RADIOBOX_BYTE,\n\tCMD_ID_RADIOBOX_WORD,\n\tCMD_ID_RADIOBOX_DWORD,\n\tCMD_ID_RADIOBOX_QWORD,\n\tCMD_ID_STATICSTR_DESCRIPTION,\n\tCMD_ID_RADIOBOX_HEX,\n\tCMD_ID_RADIOBOX_DECIMAL,\n\tCMD_ID_STATICSTR_VALUE,\n\tCMD_ID_STATICSTR_ENDADDRESS,\n\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\tCMD_ID_EDIT_END_ADDRESS,\n\tCMD_ID_EDIT_VALUE,\n\tCMD_ID_CHECKBOX_COUNT,\n};\n\nWISP_FORM_RES_ITEM CDataOperatorDlg::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,340,240},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Data Operation\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{11,6,313,53},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Description\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{11,64,313,80},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Data Width\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{11,151,234,55},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Length\")\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{25,76,96,16},\n\t\tCMD_ID_RADIOBOX_BYTE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"BYTE (Bit 8)\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{180,76,110,16},\n\t\tCMD_ID_RADIOBOX_WORD,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"WORD (Bit 16)\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{25,96,110,16},\n\t\tCMD_ID_RADIOBOX_DWORD,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"DWORD (Bit 32)\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{180,96,110,16},\n\t\tCMD_ID_RADIOBOX_QWORD,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"QWORD (Bit 64)\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{14,20,310,50},\n\t\tCMD_ID_STATICSTR_DESCRIPTION,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{25,120,40,16},\n\t\tCMD_ID_STATICSTR_VALUE,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Value:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{65,120,105,16},\n\t\tCMD_ID_EDIT_VALUE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{180,119,65,16},\n\t\tCMD_ID_RADIOBOX_DECIMAL,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Decimal\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{250,119,110,16},\n\t\tCMD_ID_RADIOBOX_HEX,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Hex\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{16,167,90,16},\n\t\tCMD_ID_STATICSTR_ENDADDRESS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Begin Address:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{105,166,80,16},\n\t\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{16,185,90,16},\n\t\tCMD_ID_STATICSTR_ENDADDRESS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"  End Address:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{105,185,80,16},\n\t\tCMD_ID_EDIT_END_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{190,184,60,16},\n\t\tCMD_ID_CHECKBOX_COUNT,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Count\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{255,155,68,20},\n\t\tCMD_ID_BUTTON_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{255,185,68,20},\n\t\tCMD_ID_BUTTON_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Cancel\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\nWISP_MSG_MAP_BEGIN(CDataOperatorDlg)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CDataOperatorDlg)\n//WISP_MSG_CMD_MAP(CMD_ID_EDIT_LINE,OnLineTextCmd)\nWISP_MSG_CMD_MAP(CMD_ID_CHECKBOX_COUNT,OnCountCheckBoxCmd)\nWISP_MSG_CMD_MAP(CMD_ID_EDIT_VALUE,OnValueEditCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CDataOperatorDlg)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_OK,OnOKButtonEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_CANCEL,OnCancelButtonEvent)\nWISP_MSG_EVENT_MAP_END\nCDataOperatorDlg::CDataOperatorDlg()\n{\n\tm_pFormRes = m_FormRes;\n}\nCDataOperatorDlg::~CDataOperatorDlg()\n{\n}\nbool CDataOperatorDlg::CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr,UINT EndAddr,UINT DataWidth,DWORD OperationType)\n{\n\tm_BeginAddr=BeginAddr;\n\tm_EndAddr=EndAddr;\n\tm_DataWidth=DataWidth;\n\tm_OperationType=OperationType-DATAOPERATOR_ID_BYTEFLIP;\n\treturn CWispForm::CreateForm(pParentWnd,ShowMode);\n}\nbool CDataOperatorDlg::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tWCHAR Buffer[20];\n\tDWORD CmdID;\n\tm_OKButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_OK);\n\tm_CancelButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_CANCEL);\n\tm_BYTERadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_BYTE);\n\tm_WORDRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_WORD);\n\tm_DWORDRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_DWORD);\n\tm_QWORDRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_QWORD);\n\tm_DesciptionStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_DESCRIPTION);\n\tm_DecimalRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_DECIMAL);\n\tm_HexRadioBox=(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_HEX);\n\tm_CountCheckBox=(CWispCheckBox*)GetFormItem(CMD_ID_CHECKBOX_COUNT);\n\tm_ValueStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_VALUE);\n\tm_BeginAddressEdit=(CWispEdit*)GetFormItem(CMD_ID_EDIT_BEGIN_ADDRESS);\n\tm_EndAddressEdit=(CWispEdit*)GetFormItem(CMD_ID_EDIT_END_ADDRESS);\n\tm_ValueEdit=(CWispEdit*)GetFormItem(CMD_ID_EDIT_VALUE);\n\tTSPrintf(Buffer,WSTR(\"%x\"),m_BeginAddr);\n\tm_BeginAddressEdit->SetWindowText(Buffer);\n\tTSPrintf(Buffer,WSTR(\"%x\"),m_EndAddr);\n\tm_EndAddressEdit->SetWindowText(Buffer);\n\tif(m_DataWidth==1)\n\t\tm_BYTERadioBox->Check();\n\tif(m_DataWidth==2)\n\t\tm_WORDRadioBox->Check();\n\tif(m_DataWidth==4)\n\t\tm_DWORDRadioBox->Check();\n\tm_DesciptionStr->SetWindowText(DataOperatorDescription[m_OperationType]);\n\tSetWindowText(DataOperatorTitle[m_OperationType]);\n\tCmdID = m_OperationType + DATAOPERATOR_ID_BYTEFLIP;\n\tm_HexRadioBox->Check();\n\tif(CmdID==DATAOPERATOR_ID_BYTEFLIP ||\n\t\tCmdID==DATAOPERATOR_ID_INVERSEBITS ||\n\t\tCmdID==DATAOPERATOR_ID_CHANGESIGN ||\n\t\tCmdID==DATAOPERATOR_ID_UPPERCASE ||\n\t\tCmdID==DATAOPERATOR_ID_LOWERCASE ||\n\t\tCmdID==DATAOPERATOR_ID_INVERSECASE\n\t\t)\n\t{\n\t\tm_ValueEdit->EnableWindow(false);\n\t\tm_DecimalRadioBox->EnableWindow(false);\n\t\tm_HexRadioBox->EnableWindow(false);\n\t}\n\telse\n\t{\n\t\tm_OKButton->EnableWindow(false);\n\t}\n\treturn true;\n}\nbool CDataOperatorDlg::OnDestroy(IN WISP_MSG* pMsg)\n{\n\treturn true;\n}\nDWORD CDataOperatorDlg::GetDataWidth()\n{\n\tif(m_WORDRadioBox->IsChecked())\n\t\treturn 2;\n\tif(m_DWORDRadioBox->IsChecked())\n\t\treturn 4;\n\tif(m_QWORDRadioBox->IsChecked())\n\t\treturn 8;\n\treturn 1;\n}\nbool CDataOperatorDlg::OnOKButtonEvent(IN WISP_MSG* pMsg)\n{\n\tWCHAR* Buffer;\n\tDWORD BeginAddress,EndAddress,DataWidth;\n\tULONGLONG Param1=0;\n\tBuffer = m_BeginAddressEdit->GetWindowText();\n\tif(SHexStrToNum(Buffer,&BeginAddress)==false)\n\t{\n\t\tBeginAddress = m_BeginAddr;\n\t}\n\tBuffer = m_EndAddressEdit->GetWindowText();\n\tDataWidth =GetDataWidth();\n\tif(SHexStrToNum(Buffer,&EndAddress)==false)\n\t{\n\t\tEndAddress=m_EndAddr;\n\t}\n\tif(m_ValueEdit->GetWindowText().IsEmpty()==false)\n\t{\n\t\tBuffer=m_ValueEdit->GetWindowText();\n\t\tif(m_HexRadioBox->IsChecked())\n\t\t{\n\t\t\tif(SHexStrToNum(Buffer,&Param1)==false)\n\t\t\t\tParam1=0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(SDecStrToNum(Buffer,&Param1)==false)\n\t\t\t\tParam1=0;\n\t\t}\n\t}\n\t(this->*m_Func[m_OperationType])(*(void**)&BeginAddress,*(void**)&EndAddress,DataWidth,*(void**)&Param1);\n\t//UPDATE_MEMORY_VIEW();\n\tUPDATE_CONTEXT();\n\tPostCloseMsg();\n\treturn true;\n}\nbool CDataOperatorDlg::OnCancelButtonEvent(IN WISP_MSG* pMsg)\n{\n\tPostCloseMsg();\n\treturn true;\n}\nbool CDataOperatorDlg::OnCountCheckBoxCmd(IN WISP_MSG* pMsg)\n{\n\treturn true;\n}\nbool CDataOperatorDlg::OnValueEditCmd(IN WISP_MSG* pMsg)\n{\n\tWCHAR* Buffer;\n\tDWORD Value;\n\tbool bOk;\n\tswitch(pMsg->Command.CmdMsg) {\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\tif((pMsg->Command.Param1>='g' && pMsg->Command.Param1 <= 'z')||\n\t\t\t(pMsg->Command.Param1>='G' && pMsg->Command.Param1 <= 'Z'))\n\t\t\treturn false;\n\t\tif(m_HexRadioBox->IsChecked()==false)\n\t\t{\n\t\t\tif((pMsg->Command.Param1>='a' && pMsg->Command.Param1 <= 'f')||\n\t\t\t\t(pMsg->Command.Param1>='A' && pMsg->Command.Param1 <= 'F'))\n\t\t\t\treturn false;\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_EN_CHANGED:\n\t\tBuffer = m_ValueEdit->GetWindowText();\n\t\tif(m_HexRadioBox->IsChecked())\n\t\t\tbOk = SHexStrToNum(Buffer,&Value);\n\t\telse\n\t\t\tbOk = SDecStrToNum(Buffer,&Value);\n\t\tm_OKButton->EnableWindow(bOk);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nvoid CDataOperatorDlg::ByteFlip(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i,j,k;\n\tif(DataWidth==1||Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tj = DataWidth-1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth); \n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tfor(k = 0; k <= j; k++)\n\t\t\tSecondValue.ByteArray[k]=FirstValue.ByteArray[j-k];\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&SecondValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::InverseBits(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\t\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,1); \n\t\tif(Length!=1)\n\t\t\treturn;\n\t\tFirstValue.ByteValue^=0xff;\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,1)!=1)\n\t\t\treturn;\n\t\tDataPtr.Address+=1;\n\t}\n}\nvoid CDataOperatorDlg::ShiftLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue<<=ShiftCount;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue<<=ShiftCount;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue<<=ShiftCount;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue<<=ShiftCount;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::ShiftRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue>>=ShiftCount;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue>>=ShiftCount;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue>>=ShiftCount;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue>>=ShiftCount;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::RotateLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD BitSize;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tBitSize = 8 * DataWidth;\n\tShiftCount %= BitSize;\n\tif(ShiftCount==0)\n\t\treturn;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tSecondValue=FirstValue;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tSecondValue.ByteValue>>=(BitSize-ShiftCount);\n\t\t\tFirstValue.ByteValue<<=ShiftCount;\n\t\t\tFirstValue.ByteValue|=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tSecondValue.WordValue>>=(BitSize-ShiftCount);\n\t\t\tFirstValue.WordValue<<=ShiftCount;\n\t\t\tFirstValue.WordValue|=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tSecondValue.DwordValue>>=(BitSize-ShiftCount);\n\t\t\tFirstValue.DwordValue<<=ShiftCount;\n\t\t\tFirstValue.DwordValue|=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tSecondValue.ullValue>>=(BitSize-ShiftCount);\n\t\t\tFirstValue.ullValue<<=ShiftCount;\n\t\t\tFirstValue.ullValue|=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::RotateRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD BitSize;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tBitSize = 8 * DataWidth;\n\tShiftCount %= BitSize;\n\tif(ShiftCount==0)\n\t\treturn;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tSecondValue=FirstValue;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tSecondValue.ByteValue<<=(BitSize-ShiftCount);\n\t\t\tFirstValue.ByteValue>>=ShiftCount;\n\t\t\tFirstValue.ByteValue|=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tSecondValue.WordValue<<=(BitSize-ShiftCount);\n\t\t\tFirstValue.WordValue>>=ShiftCount;\n\t\t\tFirstValue.WordValue|=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tSecondValue.DwordValue<<=(BitSize-ShiftCount);\n\t\t\tFirstValue.DwordValue>>=ShiftCount;\n\t\t\tFirstValue.DwordValue|=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tSecondValue.ullValue<<=(BitSize-ShiftCount);\n\t\t\tFirstValue.ullValue>>=ShiftCount;\n\t\t\tFirstValue.ullValue|=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::BlockShiftLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;DataWidth=1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tFirstValue.ByteValue<<=ShiftCount;\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::BlockShiftRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDWORD ShiftCount = *(DWORD*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;DataWidth=1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tFirstValue.ByteValue>>=ShiftCount;\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::XOR(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue^=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue^=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue^=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue^=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::OR(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue|=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue|=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue|=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue|=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::AND(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue&=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue&=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue&=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue&=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::ChangeSign(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue=0-FirstValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue=0-FirstValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue=0-FirstValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue=0-FirstValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::Add(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue+=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue+=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue+=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue+=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n\n}\nvoid CDataOperatorDlg::Subtract(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue-=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue-=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue-=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue-=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::Multiply(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue*=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue*=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue*=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue*=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::Divide(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tif(SecondValue.ullValue==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue/=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue/=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue/=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue/=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::Mod(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = (*(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1)/DataWidth;\n\tDATAVALUE FirstValue;\n\tDATAVALUE SecondValue=*(DATAVALUE*)&OwnerParam;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tif(SecondValue.ullValue==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tswitch(DataWidth) {\n\t\tcase 1:\n\t\t\tFirstValue.ByteValue%=SecondValue.ByteValue;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tFirstValue.WordValue%=SecondValue.WordValue;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tFirstValue.DwordValue%=SecondValue.DwordValue;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tFirstValue.ullValue%=SecondValue.ullValue;\n\t\t\tbreak;\n\t\t}\n\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\treturn;\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::UpperCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;DataWidth=1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tif(FirstValue.ByteValue >= 'a' && FirstValue.ByteValue <= 'z')\n\t\t{\n\t\t\tFirstValue.ByteValue -= ('a' - 'A');\n\t\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\t\treturn;\n\t\t}\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::LowerCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;DataWidth=1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tif(FirstValue.ByteValue >= 'A' && FirstValue.ByteValue <= 'Z')\n\t\t{\n\t\t\tFirstValue.ByteValue += ('a' - 'A');\n\t\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\t\treturn;\n\t\t}\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\nvoid CDataOperatorDlg::InverseCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam)\n{\n\tDWORD Count = *(DWORD*)&EndAddr - *(DWORD*)&BeginAddr+1;\n\tDATAVALUE FirstValue;\n\tDATAVALUEPOINTER DataPtr;\n\tDWORD Length;\n\tDWORD i;\n\tif(Count==0)\n\t\treturn;\n\tDataPtr.ptr =(BYTE*)BeginAddr;DataWidth=1;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tLength = gpSyser->m_pDebugger->ReadMemory(DataPtr.Address,&FirstValue,DataWidth);\n\t\tif(Length!=DataWidth)\n\t\t\treturn;\n\t\tif((FirstValue.ByteValue >= 'A' && FirstValue.ByteValue <= 'Z') || (FirstValue.ByteValue >= 'a' && FirstValue.ByteValue <= 'z'))\n\t\t{\n\t\t\tFirstValue.ByteValue ^= ('a' - 'A');\n\t\t\tif(gpSyser->m_pDebugger->WriteMemory(DataPtr.Address,&FirstValue,DataWidth)!=DataWidth)\n\t\t\t\treturn;\n\t\t}\n\t\tDataPtr.Address+=DataWidth;\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/DataOperatorDlg.h",
    "content": "#ifndef _DATAOPERATOR_H_\n#define _DATAOPERATOR_H_\nclass CDataOperatorDlg;\ntypedef  void (CDataOperatorDlg::*FPDATAOPERATION)(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\nclass CDataOperatorDlg:public CWispForm\n{\n\npublic:\n\tCDataOperatorDlg();\n\t~CDataOperatorDlg();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnLineTextCmd)\n\tDECLARE_WISP_MSG_CMD(OnValueEditCmd)\n\tDECLARE_WISP_MSG_EVENT(OnOKButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnCancelButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnCountCheckBoxCmd)\n\tbool CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr,UINT EndAddr,UINT DataWidth,DWORD OperationType=0);\npublic:\n\tCWispStaticStr* m_DesciptionStr;\n\tCWispButton*   m_OKButton;\n\tCWispButton*   m_CancelButton;\n\tCWispRadioBox* m_BYTERadioBox;\n\tCWispRadioBox* m_WORDRadioBox;\n\tCWispRadioBox* m_DWORDRadioBox;\n\tCWispRadioBox* m_QWORDRadioBox;\n\tCWispRadioBox* m_DecimalRadioBox;\n\tCWispRadioBox* m_HexRadioBox;\n\tCWispCheckBox* m_CountCheckBox;\n\tCWispStaticStr* m_ValueStr;\n\tCWispEdit* m_BeginAddressEdit;\n\tCWispEdit* m_EndAddressEdit;\n\tCWispEdit* m_ValueEdit;\n\tDWORD m_BeginAddr;\n\tDWORD m_EndAddr;\n\tDWORD m_DataWidth;\n\tDWORD m_OperationType;\n\tstatic const WCHAR* DataOperatorDescription[20];\n\tstatic const WCHAR* DataOperatorTitle[20];\n\tstatic FPDATAOPERATION m_Func[20];\n\tvoid ByteFlip(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid InverseBits(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid ShiftLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid ShiftRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid RotateLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid RotateRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid BlockShiftLeft(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid BlockShiftRight(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid XOR(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid OR(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid AND(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid ChangeSign(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid Add(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid Subtract(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid Multiply(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid Divide(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid Mod(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid UpperCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid LowerCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tvoid InverseCase(void* BeginAddr,void* EndAddr,DWORD DataWidth,void* OwnerParam);\n\tDWORD GetDataWidth();\n\ttypedef union _DATAVALUE\n\t{\n\t\tULONGLONG ullValue;\n\t\tDWORD DwordValue;\n\t\tWORD WordValue;\n\t\tBYTE ByteValue;\n\t\tBYTE ByteArray[8];\n\t}DATAVALUE;\n\ttypedef union _DATAVALUEPOINTER\n\t{\n\t\tULONGLONG* ullPtr;\n\t\tDWORD *dwPtr;\n\t\tWORD *wdPtr;\n\t\tBYTE *ptr;\n\t\tDWORD Address;\n\t}DATAVALUEPOINTER;\n};\n\n#endif //_DATAOPERATOR_H_"
  },
  {
    "path": "Project/Syser/Source/DataView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\nWISP_TOOLBAR_RES_ITEM DataViewToolbar[]=\n{\n\t{DATAOPERATOR_ID_BYTEFLIP,\t\t\t0,WISP_TBIS_BUTTON,WSTR(\"ByteFlip\")},\n\t{DATAOPERATOR_ID_INVERSEBITS,\t\t1,WISP_TBIS_BUTTON,WSTR(\"Inverse Bits\")},\n\t{DATAOPERATOR_ID_SHIFTLEFT,\t\t\t2,WISP_TBIS_BUTTON,WSTR(\"Shift Left\")},\n\t{DATAOPERATOR_ID_SHIFTRIGHT,\t\t3,WISP_TBIS_BUTTON,WSTR(\"Shift Right\")},\n\t{DATAOPERATOR_ID_ROTATELEFT,\t\t4,WISP_TBIS_BUTTON,WSTR(\"Rotate Left\")},\n\t{DATAOPERATOR_ID_ROTATERIGHT,\t\t5,WISP_TBIS_BUTTON,WSTR(\"Rotate Right\")},\n\t{DATAOPERATOR_ID_BLOCKSHIFTLEFT,\t6,WISP_TBIS_BUTTON,WSTR(\"Block Shift Left\")},\n\t{DATAOPERATOR_ID_BLOCKSHIFTRIGHT,\t7,WISP_TBIS_BUTTON,WSTR(\"Block Shift Right\")},\n\t{DATAOPERATOR_ID_XOR,\t\t\t\t8,WISP_TBIS_BUTTON,WSTR(\"XOR\")},\n\t{DATAOPERATOR_ID_OR,\t\t\t\t9,WISP_TBIS_BUTTON,WSTR(\"OR\")},\n\t{DATAOPERATOR_ID_AND,\t\t\t\t10,WISP_TBIS_BUTTON,WSTR(\"AND\")},\n\t//\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{DATAOPERATOR_ID_CHANGESIGN,\t\t11,WISP_TBIS_BUTTON,WSTR(\"Change Sign\")},\n\t{DATAOPERATOR_ID_ADD,\t\t\t\t12,WISP_TBIS_BUTTON,WSTR(\"Add\")},\n\t{DATAOPERATOR_ID_SUBTRACT,\t\t\t13,WISP_TBIS_BUTTON,WSTR(\"Subtract\")},\n\t{DATAOPERATOR_ID_MULTIPLY,\t\t\t14,WISP_TBIS_BUTTON,WSTR(\"Multiply\")},\n\t{DATAOPERATOR_ID_DIVIDE,\t\t\t15,WISP_TBIS_BUTTON,WSTR(\"Divide\")},\n\t{DATAOPERATOR_ID_MOD,\t\t\t\t16,WISP_TBIS_BUTTON,WSTR(\"Mod\")},\n\t{DATAOPERATOR_ID_UPPERCASE,\t\t\t17,WISP_TBIS_BUTTON,WSTR(\"Upper Case\")},\n\t{DATAOPERATOR_ID_LOWERCASE,\t\t\t18,WISP_TBIS_BUTTON,WSTR(\"Lower Case\")},\n\t{DATAOPERATOR_ID_INVERSECASE,\t\t19,WISP_TBIS_BUTTON,WSTR(\"Inverse Case\")},\n\tWISP_TOOLBAR_RES_END\n};\n\n\nWISP_MENU_RES_ITEM OperatorMenu[]=\n{\n\t{WSTR(\"Open new data view at \"),EVENT_ID_SHOW_DATA_NEWWND,14*16},\n\t{WSTR(\"Show Data                  Enter\"),EVENT_ID_SHOW_DATA,14*16},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Open new code view at \"),EVENT_ID_DASM_ADDRESS_NEWWND,13*16+15},\n\t{WSTR(\"Disassemble code at %08X   Shift+Enter\"),EVENT_ID_DASM_ADDRESS,13*16+15},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Data Operator Toolbar          Ctrl+T\"),EVENT_ID_DATAVIEW_TOOLBAR,7*16+6},\n\t{WSTR(\"Show offset                    Ctrl+S\"),EVENT_ID_DATA_SHOW_OFFICE,14*16+2},\n\tWISP_MENU_RES_SEPARATOR,\t\n\t{WSTR(\"Address Mode                   Ctrl+O\"),EVENT_ID_TOGGLE_ADDRESS_MODE,14*16+2},\n\tWISP_MENU_RES_SEPARATOR,\t\n\t{WSTR(\"Float mode                     Ctrl+M\"),EVENT_ID_TOGGLE_FLOAT_MODE,14*16+2},\n\tWISP_MENU_RES_SEPARATOR,\t\n\t{WSTR(\"Copy selected data             Shift+X\"),EVENT_ID_COPY_SEL_VALUE,2*16+3},\n\t{WSTR(\"Copy selected data             Ctrl+X\"),EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR,8*16+2},\n\t{WSTR(\"Copy data as C source          Ctrl+Z\"),EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE,8*16+2},\t\n\t{WSTR(\"Copy value                     Ctrl+Enter\"),EVENT_ID_COPY_VALUE_TO_CLIPBOARD,16*16+0},\n\t\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CDataView)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispHexWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_DATA,\t\t\t\tOnEventShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DASM_ADDRESS,\t\t\tOnEventDasmAddr)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_PHYS_ADDR,\t\t\tOnEventShowPhysAddr)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DISASSEMBLE_PHYS_ADDR,\tOnEventDasmPhysAddr)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_DATA_NEWWND,\t\tOnEventShowDataNewWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DASM_ADDRESS_NEWWND,\tOnEventDasmAddrNewWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATAVIEW_TOOLBAR,\t\tOnEventShowToolbar)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATA_SHOW_OFFICE,\t\tOnEventShowOffset)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_BYTEFLIP,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_INVERSEBITS,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_SHIFTLEFT,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_SHIFTRIGHT,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_ROTATELEFT,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_ROTATERIGHT,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_BLOCKSHIFTLEFT,\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_BLOCKSHIFTRIGHT,\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_XOR,\t\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_OR,\t\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_AND,\t\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_CHANGESIGN,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_ADD,\t\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_SUBTRACT,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_MULTIPLY,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_DIVIDE,\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_MOD,\t\t\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_UPPERCASE,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_LOWERCASE,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(DATAOPERATOR_ID_INVERSECASE,\t\tOnEventDataOperation)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_ADDRESS_MODE,\tOnEventToggleAddressMode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_FLOAT_MODE,\t\tOnEventToggleFloatMode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_0,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_1,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_2,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_3,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_4,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_5,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_6,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_7,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ACTIVE_DATAVIEW_8,\t\tOnActiveDataView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW,OnGotoDataViewByValue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW_WITH_OFFSET,OnGotoDataViewByValue)\n\t\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FOLLOW_VALUE_TO_CODEVIEW,OnGotoCodeViewByValue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COPY_VALUE_TO_CLIPBOARD,OnCopyValueToClipboard)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COPY_CARETPOSITION_TO_CLIPBOARD,OnCopyAddressToClipboard)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COPY_SEL_VALUE,OnCopySelectValue);\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR,OnCopySelectValue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE,OnCopySelectValue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_NEXT_POS,OnNextPos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_PREV_POS,OnPrevPos)\n\t//WISP_MSG_EVENT_MAP(EVENT_ID_ADDRESS_MODE_HEX,\t\tOnEventAddressModeHex)\n\t//WISP_MSG_EVENT_MAP(EVENT_ID_OFFSET_MODE_HEX,\t\tOnEventOffsetModeHex)\nWISP_MSG_EVENT_MAP_END\n\nbool CDataView::OnCreate(IN WISP_MSG*pMsg)\n{\t\n\tm_MenuShowPos=-1;\n\tm_DataOperatorAddr=-1;\n\tm_PopupMenu.CreatePopupMenu(OperatorMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\t\n\tm_Style|=WISP_HEX_WS_RELATIVE_SCROLL;\n\tm_Toolbar.CreateEx(this,0,-1,EVENT_ID_DATAVIEW_TOOLBAR,WISP_WS_NULL);\n\tm_Toolbar.LoadToolbar(WispTKDIBList(\"\\\\SyserApp\\\\Operation.bmp\",16,16),DataViewToolbar);\n\tm_Toolbar.Show(WISP_SH_HIDDEN);\t\n\tAttachShortcutKey();\n\treturn true;\n}\n\n\nvoid CDataView::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_0,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_1,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_0);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_1,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_2,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_1);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_2,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_3,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_2);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_3,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_4,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_3);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_4,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_5,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_4);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_5,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_6,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_5);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_6,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_7,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_6);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_7,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_8,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_7);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_ACTIVE_DATAVIEW_8,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_0,\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_8);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN,\t\t\t\t\t\t\tEVENT_ID_FOLLOW_VALUE_TO_DATAVIEW);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW_WITH_OFFSET,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN|WISP_MOD_ALT|WISP_MOD_CTRL,\tEVENT_ID_FOLLOW_VALUE_TO_DATAVIEW_WITH_OFFSET);\n\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_FOLLOW_VALUE_TO_CODEVIEW,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_RETURN,\t\t\tEVENT_ID_FOLLOW_VALUE_TO_CODEVIEW);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_COPY_VALUE_TO_CLIPBOARD,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL | WISP_VK_RETURN,\t\t\tEVENT_ID_COPY_VALUE_TO_CLIPBOARD);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_COPY_CARETPOSITION_TO_CLIPBOARD,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT| WISP_VK_RETURN,\t\t\t\tEVENT_ID_COPY_CARETPOSITION_TO_CLIPBOARD);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_COPY_SEL_VALUE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_X,\t\t\t\t\tEVENT_ID_COPY_SEL_VALUE);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT| WISP_VK_X,\t\t\t\t\tEVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_TOGGLE_ADDRESS_MODE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_O,\t\t\t\t\tEVENT_ID_TOGGLE_ADDRESS_MODE );\n\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_Z,\t\t\t\t\tEVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE );\n\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO_NEXT_POS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_OEM_PLUS,\t\t\t\t\tEVENT_ID_GOTO_NEXT_POS);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO_PREV_POS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_OEM_MINUS,\t\t\t\t\tEVENT_ID_GOTO_PREV_POS );\n\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_TOGGLE_FLOAT_MODE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_M,\t\t\t\t\tEVENT_ID_TOGGLE_FLOAT_MODE );\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_DATA_SHOW_OFFICE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_S,\t\t\t\t\tEVENT_ID_DATA_SHOW_OFFICE );\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_DATAVIEW_TOOLBAR,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL| WISP_VK_T,\t\t\t\t\tEVENT_ID_DATAVIEW_TOOLBAR );\n\n}\n\nbool CDataView::OnGotoDataViewByValue(IN WISP_MSG* pMsg)\n{\n\tDWORD Address,Value;\n\tDWORD Offset=0;\n\tULPOS Pos;\n\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\treturn true;\n\tif(pMsg && pMsg->Command.CmdID==EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW_WITH_OFFSET)\n\t{\n\t\tOffset= Pos-m_CurAddr;\n\t}\n\t\t\t\n\tPos = Pos+ (m_ShowLength- 1 - (m_CaretIndex % (m_ShowLength*3))/2);\n\tif(ReadData(Pos,(BYTE*)&Address,4)==0)\n\t\treturn true;\n\tif(Address!=-1)\n\t{\t\t\n\t\tAddress-=Offset;\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\t{\n\t\t\tViewAddress(Address);\t\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CDataView::OnGotoDataViewByValueWithOffset(IN WISP_MSG* pMsg)\n{\n\n\n\tDWORD Address,Value;\n\tULPOS Pos;\n\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\treturn true;\n\tPos = Pos+ (m_ShowLength- 1 - (m_CaretIndex % (m_ShowLength*3))/2);\n\tif(ReadData(Pos,(BYTE*)&Address,4)==0)\n\t\treturn true;\n\tif(Address!=-1)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\t{\n\t\t\tViewAddress(Address);\t\n\t\t}\n\t}\n\treturn true;\n}\n\n\nbool CDataView::OnGotoCodeViewByValue(IN WISP_MSG* pMsg)\n{\n\tDWORD Address;\n\tULPOS Pos,Value;\n\tCCodeView*pCodeWnd;\n\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\treturn true;\n\tPos = Pos+ (m_ShowLength- 1 - (m_CaretIndex % (m_ShowLength*3))/2);\n\tif(ReadData(Pos,(BYTE*)&Address,4)==0)\n\t\treturn true;\n\tif(Address!=-1)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\t{\n\t\t\tpCodeWnd=ACTIVE_CODE_VIEW;\n\t\t\tif(pCodeWnd)\n\t\t\t\tpCodeWnd->SetStartAddress(Address,true);\n\t\t}\n\n\t}\n\n\treturn true;\n}\n\nbool CDataView::OnCopyValueToClipboard(IN WISP_MSG* pMsg)\n{\n\tDWORD Address;\n\tULPOS Pos;\n\tWISP_CHAR AddressString[10];\n\tCWispString ClipboardString;\n\tbool bSeparator=true;\n\tClipboardString.Empty();\n\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\treturn true;\n\tPos = Pos+ (m_ShowLength- 1 - (m_CaretIndex % (m_ShowLength*3))/2);\n\tif(ReadData(Pos,(BYTE*)&Address,4)==0)\n\t\treturn true;\n\tif(Address==-1)\n\t\treturn true;\n\tTSPrintf(AddressString,WSTR(\"%08x\"),Address);\t\t\t\n\tClipboardString+=AddressString;\n\tm_pWispBase->SetClipboardString(ClipboardString);\n\treturn true;\n}\n\nbool CDataView::OnCopyAddressToClipboard(IN WISP_MSG* pMsg)\n{\n\tULPOS Pos;\n\tWISP_CHAR AddressString[10];\n\tCWispString ClipboardString;\n\tbool bSeparator=true;\n\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\treturn true;\n\tTSPrintf(AddressString,WSTR(\"%08x\"),Pos);\t\t\t\n\tClipboardString+=AddressString;\n\tm_pWispBase->SetClipboardString(ClipboardString);\n\treturn true;\n}\n\n\nbool CDataView::OnCopySelectValue(IN WISP_MSG* pMsg)\n{\n\tWISP_CHAR AddressString[256];\n\tBYTE Vaule[16];\n\tCWispString ClipboardString;\n\tbool bSeparator=true;\n\tClipboardString.Empty();\n\t\n\tif(!m_bSelect)\n\t\treturn true;\n\n\tif(pMsg->Command.CmdID==EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR)\n\t\tbSeparator=false;\n\n\tif(pMsg->Command.CmdID==EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE)\n\t{\n\t\tDWORD dwCount;\t\t\n\t\tdwCount = m_SelEnd - m_SelStart + 1;\n\t\tClipboardString += WSTR(\"// Generated by Syser software's Syser Debugger v\");\n\t\tTStrCpy(AddressString,VER_PRODUCTVERSION_STR );\n\t\tClipboardString += AddressString;\n\t\tClipboardString += WSTR(\"\\r\\n//   http://www.sysersoft.com\\r\\n\");\t\n\t\tTSPrintf(AddressString,WSTR(\"unsigned char rawData[%d] =\\r\\n{\"),dwCount);\n\t\tClipboardString+=AddressString;\n\t\tfor(DWORD i = 0; i < dwCount; i++)\n\t\t{\n\t\t\tif((i%16)==0)\n\t\t\t\tClipboardString+=WSTR(\"\\r\\n\\t\");\n\t\t\tif(gpSyser->m_pDebugger->ReadMemory(m_SelStart+i,Vaule,1)!=1)\n\t\t\t\tbreak;\t\t\t\n\t\t\tif( i != (dwCount-1))\n\t\t\t\tTSPrintf(AddressString,WSTR(\"0x%02X, \"),Vaule[0]);\t\t\t\n\t\t\telse\n\t\t\t\tTSPrintf(AddressString,WSTR(\"0x%02X\"),Vaule[0]);\t\t\t\n\t\t\tClipboardString+=AddressString;\t\t\t\n\t\t}\n\t\tClipboardString+=WSTR(\"\\r\\n}\\n\");\n\t\tm_pWispBase->SetClipboardString(ClipboardString);\t\t\n\t\treturn true;\n\t}\n\tDWORD dwCount;\n\tdwCount = m_SelEnd - m_SelStart + 1;\n\tfor(DWORD i = 0; i < dwCount/m_ShowLength; i++)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(m_SelStart+i*m_ShowLength,Vaule,m_ShowLength)!=m_ShowLength)\n\t\t\tbreak;\n\t\tswitch(m_ShowLength)\n\t\t{\n\t\tcase 1:\n\t\t\tTSPrintf(AddressString,WSTR(\"%02x\"),Vaule[0]);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tTSPrintf(AddressString,WSTR(\"%04x\"),*(WORD*)&Vaule[0]);\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tTSPrintf(AddressString,WSTR(\"%08x\"),*(DWORD*)&Vaule[0]);\n\t\t\tbreak;\n\t\t}\n\t\tClipboardString+=AddressString;\n\t\tif(bSeparator && i != dwCount - 1)\n\t\t\tClipboardString+=L\" \";\n\t}\n\tm_pWispBase->SetClipboardString(ClipboardString);\t\t\t\t\n\treturn true;\n}\nbool CDataView::OnActiveDataView(IN WISP_MSG*pMsg)\n{\n\tDWORD Index;\n\tIndex = pMsg->Command.CmdID;\n\tIndex -= EVENT_ID_ACTIVE_DATAVIEW_0;\n\tDWORD NewAddr;\n\tCDataView* pDataView =(CDataView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetWnd(Index);\n\tif(pDataView==NULL)\n\t{\n\t\tpDataView =(CDataView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t\tNewAddr = ACTIVE_DATA_VIEW->m_CurAddr;\n\t\tpDataView = ADD_DATA_VIEW(pDataView);\n\t\tif(pDataView==NULL)\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.ChangeActiveWnd(pDataView);\n\t}\n\treturn true;\n}\n\n\nbool CDataView::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CDataView::OnKeyEvent(IN WISP_MSG*pMsg)\n{\t\n\tDATAHOTKEYMAP::IT FindIT;\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT != m_HotKeyMap.End())\n\t\t{\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\t\t\t\n\t\t\treturn OnEvent(&Msg);\t\n\t\t}\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\tPopupMenu(pMsg);\n\t\t\treturn false;\t\t\t\n\t\tcase WISP_VK_LBUTTON:\n\t\t\tif(CalcPonitPos(&pMsg->MsgMouseWndPT,&m_DataOperatorAddr)==false)\n\t\t\t\tm_DataOperatorAddr=m_CurAddr;\n\t\t\treturn true;\t\t\t\n\t\tcase WISP_VK_W:\n\t\t\t{\n\t\t\t\tint SizeXorY;\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.GetWndSpace(0,SizeXorY);\n\t\t\t\tif(SizeXorY>10)\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(0,SizeXorY-10);\n\t\t\t\telse\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(0,0);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tbreak;\n\t\tcase WISP_VK_S:\n\t\t\t{\n\t\t\t\tint SizeXorY;\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.GetWndSpace(0,SizeXorY);\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.ResizeWndSpace(0,SizeXorY+10);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_ViewSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\t\n\t}\n\treturn true;\t\n}\n\nDWORD\tCDataView::FindShortcutKey(DWORD CmdID)\n{\n\tDATAHOTKEYMAP::IT BeginIT,EndIT;\n\n\tBeginIT = m_HotKeyMap.Begin();\n\tEndIT = m_HotKeyMap.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif(*BeginIT == CmdID)\n\t\t\treturn BeginIT.Key();\n\t}\n\treturn 0;\n}\n\nvoid CDataView::PopupMenu(IN WISP_MSG*pMsg)\n{\n\tbool bValidAddress=false;\n\tbool bValidAddress1=false;\n\tHANDLE hItem;\n\tDWORD TmpValue;\n\tDWORD dwAddress=0;\n\tWCHAR wHotKeyBuffer[50];\n\tWCHAR szBuffer[256];\n\tm_MenuShowPos = -1;\n\tbValidAddress = false;\n\tDATAHOTKEYMAP::IT FindIT;\n\tif(CalcPonitPos(&pMsg->MsgMouseWndPT,&m_MenuShowPos))\n\t{\n\t\tdwAddress=m_MenuShowPos;\n\t\tif(gpSyser->m_KeyMap[WISP_VK_SHIFT])// Ҽ˵ʱ ж shift Ƿ񱻰¡ ҪһĽṹ\n\t\t\tdwAddress -= m_CurAddr ;\n\t\telse\n\t\t\tdwAddress=0;\n\t\tbValidAddress1=(ReadData(m_MenuShowPos,(BYTE*)&m_MenuShowPos,4)==4); //bValidAddress1 жϵǰλڴǷɶ\n\t\tif(bValidAddress1)\n\t\t{\n\t\t\tbValidAddress=(ReadData(m_MenuShowPos,(BYTE*)&TmpValue,4)==4);//bValidAddress жϵǰλõ dword ΪһµĵַǷɶ\n\t\t}\n\t}\n\tif(bValidAddress)\n\t{\t\t\t\t\n\t\tm_MenuShowPos-=dwAddress;\n\t\thItem = m_PopupMenu.GetItem(EVENT_ID_SHOW_DATA_NEWWND);\n\t\tTSPrintf(szBuffer,WSTR(\"Open new data view at %08X\"),m_MenuShowPos);\n\t\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\t\t\n\t\thItem = m_PopupMenu.GetItem(EVENT_ID_SHOW_DATA);\n\t\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_FOLLOW_VALUE_TO_DATAVIEW),wHotKeyBuffer);\t\n\t\tTSPrintf(szBuffer,WSTR(\"Display data at %08X           %s\"),m_MenuShowPos,wHotKeyBuffer);\n\t\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\t\t\n\t\thItem = m_PopupMenu.GetItem(EVENT_ID_DASM_ADDRESS_NEWWND);\n\t\tTSPrintf(szBuffer,WSTR(\"Open new code view at %08X\"),m_MenuShowPos);\n\t\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\t\thItem = m_PopupMenu.GetItem(EVENT_ID_DASM_ADDRESS);\t\n\t\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_FOLLOW_VALUE_TO_CODEVIEW),wHotKeyBuffer);\t\n\t\tTSPrintf(szBuffer,WSTR(\"Disassemble code at %08X       %s\"),m_MenuShowPos,wHotKeyBuffer);\n\t\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\t}\n\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_TOGGLE_ADDRESS_MODE);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_TOGGLE_ADDRESS_MODE),wHotKeyBuffer);\t\t\n\tif(GetAddressMode()==ADDRESS_MODE_HEX)\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"Offset Mode                    %s\"),wHotKeyBuffer);\n\t}\n\telse\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"Address Mode                   %s\"),wHotKeyBuffer);\t\t\n\t}\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\t\n\thItem = m_PopupMenu.GetItem(EVENT_ID_COPY_SEL_VALUE);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_COPY_SEL_VALUE),wHotKeyBuffer);\t\t\n\tTSPrintf(szBuffer,WSTR(\"Copy selected data             %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR),wHotKeyBuffer);\t\n\tTSPrintf(szBuffer,WSTR(\"Copy selected data             %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE),wHotKeyBuffer);\t\n\tTSPrintf(szBuffer,WSTR(\"Copy data as C source          %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_COPY_VALUE_TO_CLIPBOARD);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_COPY_VALUE_TO_CLIPBOARD),wHotKeyBuffer);\t\n\tTSPrintf(szBuffer,WSTR(\"Copy value                     %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_DATAVIEW_TOOLBAR);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_DATAVIEW_TOOLBAR),wHotKeyBuffer);\t\n\tTSPrintf(szBuffer,WSTR(\"Data Operator Toolbar          %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_DATA_SHOW_OFFICE);\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_DATA_SHOW_OFFICE),wHotKeyBuffer);\t\n\tTSPrintf(szBuffer,WSTR(\"Show offset                    %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\n\thItem = m_PopupMenu.GetItem(EVENT_ID_TOGGLE_FLOAT_MODE);\t\t\n\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_TOGGLE_FLOAT_MODE),wHotKeyBuffer);\t\n\tif(IsFloatMode())\n\t\tTSPrintf(szBuffer,WSTR(\"Fixed mode                     %s\"),wHotKeyBuffer);\t\t\n\telse\n\t\tTSPrintf(szBuffer,WSTR(\"Float mode                     %s\"),wHotKeyBuffer);\n\tm_PopupMenu.SetItemText(hItem,szBuffer);\n\n\tm_PopupMenu.EnableItem(EVENT_ID_TOGGLE_FLOAT_MODE,!m_FloatString.IsEmpty());\n\tm_PopupMenu.EnableItem(EVENT_ID_SHOW_DATA_NEWWND,bValidAddress);\n\tm_PopupMenu.EnableItem(EVENT_ID_SHOW_DATA,bValidAddress);\n\tm_PopupMenu.EnableItem(EVENT_ID_DASM_ADDRESS_NEWWND,bValidAddress);\n\tm_PopupMenu.EnableItem(EVENT_ID_DASM_ADDRESS,bValidAddress);\n\tm_PopupMenu.EnableItem(EVENT_ID_COPY_SEL_VALUE,m_bSelect);\n\tm_PopupMenu.EnableItem(EVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR,m_bSelect);\n\tm_PopupMenu.EnableItem(EVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE,m_bSelect);\n\tm_PopupMenu.EnableItem(EVENT_ID_COPY_VALUE_TO_CLIPBOARD,bValidAddress1);\n\tm_PopupMenu.Popup();\n}\n\nvoid CDataView::OnAddrChange()\n{\n\tWISP_CHAR szBuffer[64];\n\tint Index = 0;\n\tfor(CTabWndList::IT Iter=gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.m_WndList.Begin();\n\t\tIter!=gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.m_WndList.End();Iter++)\n\t{\n\t\tif(Iter->pWnd==this)\n\t\t{\n\t\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),m_CurAddr);\n\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetTabText(Index,szBuffer);\n\t\t}\n\t\tIndex++;\n\t}\n}\n\nvoid CDataView::OnDataChange()\n{\n\tUPDATE_CONTEXT();\n}\n\nbool CDataView::OnEventShowData(IN WISP_MSG*pMsg)\n{\n\tDWORD Address=GetPopMenuDataPos();\n\tDWORD Value;\n\tif(Address!=-1)\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\t\tViewAddress(Address);\n\t}\n\treturn true;\n}\n\nbool CDataView::OnEventShowDataNewWnd(IN WISP_MSG*pMsg)\n{\n\tDWORD Address=GetPopMenuDataPos();\n\tCMultiDataView* pMultiDataView;\n\tpMultiDataView = (CMultiDataView*)m_ParentWnd;\n\tpMultiDataView->InsertView(this);\n\tpMultiDataView->SetActiveAddress(Address);\n\treturn true;\n}\n\nbool CDataView::OnEventDasmAddrNewWnd(IN WISP_MSG*pMsg)\n{\n\tCCodeView*pCodeWnd;\n\tDWORD Address=GetPopMenuDataPos();\n\tif(Address!=-1)\n\t{\n\t\tpCodeWnd = ADD_CODE_VIEW();\n\t\tif(pCodeWnd)\n\t\t\tpCodeWnd->SetStartAddress(Address,true);\n\t}\n\treturn true;\n}\n\nbool CDataView::OnEventDasmAddr(IN WISP_MSG*pMsg)\n{\n\tCCodeView*pCodeWnd;\n\tDWORD Address=GetPopMenuDataPos();\n\tif(Address!=-1)\n\t{\n\t\tpCodeWnd=ACTIVE_CODE_VIEW;\n\t\tif(pCodeWnd)\n\t\t\tpCodeWnd->SetStartAddress(Address,true);\n\t}\n\treturn true;\n}\n\nbool CDataView::OnEventShowPhysAddr(IN WISP_MSG*pMsg)\n{\n#if CODE_OS_NT_DRV\n\tDWORD dwAddr=GetPopMenuDataPos();\n\tif(dwAddr!=-1)\n\t{\n\t\tif(MapToVAddr(dwAddr,&dwAddr))\n\t\t\tViewAddress(dwAddr);\n\t}\n#endif\n\treturn true;\n}\nint\tCDataView::GetStartLine()\n{\n\tif(m_Toolbar.IsVisible()==false)\n\t\treturn CWispHexWnd::GetStartLine();\n\treturn 2;\n};\nbool CDataView::OnEventShowToolbar(IN WISP_MSG*pMsg)\n{\n\tif(m_Toolbar.IsVisible()==false)\n\t{\n\t\tm_Toolbar.Show();\n\t}\n\telse\n\t{\n\t\tm_Toolbar.Show(WISP_SH_HIDDEN);\n\t}\n\t\n\treturn true;\n}\n\nbool CDataView::OnEventDasmPhysAddr(IN WISP_MSG*pMsg)\n{\n#if CODE_OS_NT_DRV\n\tCCodeView*pCodeWnd;\n\tDWORD dwAddr=GetPopMenuDataPos();\n\tif(dwAddr!=-1)\n\t{\n\t\tpCodeWnd=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\t\tif(pCodeWnd)\n\t\t{\n\t\t\tif(MapToVAddr(dwAddr,&dwAddr))\t\t\t\t\t\t\n\t\t\t\tpCodeWnd->SetStartAddress(dwAddr);\n\t\t}\n\t}\n#endif\n\treturn true;\n}\n\nULSIZE CDataView::ReadData(ULPOS Address,BYTE*Buffer,ULSIZE Size)\n{\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn 0;\n\treturn gpSyser->m_pDebugger->ReadMemory(Address,Buffer,Size);\n}\n\nULSIZE CDataView::WriteData(ULPOS Address,BYTE*Buffer,ULSIZE Size)\n{\n\tULSIZE dwSize;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn 0;\n\tdwSize= gpSyser->m_pDebugger->WriteMemory(Address,Buffer,Size);\n\treturn dwSize;\n}\n\nDWORD CDataView::GetPopMenuDataPos()\n{\n\treturn m_MenuShowPos;\n}\n\nDWORD CDataView::GetDataOperatorPos()\n{\n\treturn m_DataOperatorAddr;\n}\n\nbool CDataView::OnChar(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CDataView::GetDataOperatorParam(DWORD* BeginAddr,DWORD* EndAddr,DWORD* DataWidth)\n{\n\tif(m_bSelect)\n\t{\n\t\t*BeginAddr=m_SelStart;\n\t\t*EndAddr=m_SelEnd;\n\t\tif(m_SelStart==m_SelEnd)\n\t\t\t*EndAddr+=1;\n\t}\n\telse\n\t{\n\t\t*BeginAddr=GetDataOperatorPos();\n\t\tif(*BeginAddr==-1)\n\t\t\t*BeginAddr = m_CurAddr;\n\t\t*EndAddr=*BeginAddr+m_ShowLength;\n\t}\n\t*DataWidth=m_ShowLength;\n\treturn true;\n}\n\nbool CDataView::OnEventDataOperation(IN WISP_MSG*pMsg)\n{\n\tDWORD BeginAddr,EndAddr,DataWidth;\n\tGetDataOperatorParam(&BeginAddr,&EndAddr,&DataWidth);\n\tm_DataOperatorDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK,BeginAddr,EndAddr,DataWidth,pMsg->Command.CmdID);\n\treturn  true;\n}\nbool CDataView::OnEventToggleAddressMode(IN WISP_MSG*pMsg)\n{\n\tSetAddressMode(1-GetAddressMode(),m_CurAddr);\t\n\tUpdate();\n\treturn true;\n}\nbool CDataView::OnEventToggleFloatMode(IN WISP_MSG*pMsg)\n{\n\tToggleFloatMode();\n\treturn true;\n}\n\n\nbool CDataView::OnEventShowOffset(IN WISP_MSG*pMsg)\n{\n\tToggleShowOffset();\n\treturn true;\n}\nULPOS CDataView::GetFloatAddress(CStrW& CmdStr)\n{\n\tULPOS Address;\n\tif(CmdStr.IsEmpty())\n\t\treturn m_CurAddr;\n\tif(CALCEXP(CmdStr.m_pData,&Address)==false)\n\t\treturn m_CurAddr;\n\treturn Address;\n}\n"
  },
  {
    "path": "Project/Syser/Source/DataView.h",
    "content": "#ifndef _DATA_VIEW_H_\n#define _DATA_VIEW_H_\n\n#include \"DataOperatorDlg.h\"\n\nclass CDataView\t: public CWispHexWnd\n{\n\t//typedef bool (CDataView::*DATA_HOTKEY_FP)(IN UINT Index);\n\n\t//class CDataHotKey\n\t//{\n\t//public:\n\t//\tUINT m_ViewIndex;\n\t//\tDATA_HOTKEY_FP m_fpHotKey;\n\t//\tCDataHotKey(){};\n\t//\tCDataHotKey(UINT Index,DATA_HOTKEY_FP fpHotKey):m_ViewIndex(Index),m_fpHotKey(fpHotKey){};\n\t//\t~CDataHotKey(){}\n\t//};\n\n\ttypedef TMap<UINT,UINT> DATAHOTKEYMAP;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnChar);\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventShowData)\n\tDECLARE_WISP_MSG_EVENT(OnEventDasmAddr)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowDataNewWnd)\n\tDECLARE_WISP_MSG_EVENT(OnEventDasmAddrNewWnd)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowPhysAddr)\n\tDECLARE_WISP_MSG_EVENT(OnEventDasmPhysAddr)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowToolbar)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowOffset)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventDataOperation)\n\tDECLARE_WISP_MSG_EVENT(OnEventAddressModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventOffsetModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleAddressMode)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleFloatMode)\n\n\tDECLARE_WISP_MSG_EVENT(OnGotoDataViewByValue)\n\tDECLARE_WISP_MSG_EVENT(OnGotoDataViewByValueWithOffset)\n\tDECLARE_WISP_MSG_EVENT(OnGotoCodeViewByValue )\n\tDECLARE_WISP_MSG_EVENT( OnCopyValueToClipboard)\n\tDECLARE_WISP_MSG_EVENT(OnCopyAddressToClipboard )\n\tDECLARE_WISP_MSG_EVENT(OnCopySelectValue )\n\tDECLARE_WISP_MSG_EVENT(OnActiveDataView )\n\n\tbool\tOnActiveDataView(IN UINT Index);\n\tbool\tDispatchHotKey(IN UINT Type);\n\tULSIZE\tWriteData(ULPOS Address,BYTE*Buffer,ULSIZE Size);\n\tULSIZE\tReadData(ULPOS Address,BYTE*Buffer,ULSIZE Size);\n\tDWORD\tGetPopMenuDataPos();\n\tDWORD\tGetDataOperatorPos();\n\tbool\tGetDataOperatorParam(DWORD* BeginAddr,DWORD* EndAddr,DWORD* DataWidth);\n\tvoid\tOnAddrChange();\n\tvoid OnDataChange();\n\tint\t\tGetStartLine();\n\tvoid\tPopupMenu(IN WISP_MSG*pMsg);\n\tULPOS\tGetFloatAddress(CStrW& CmdStr);\n\tvoid\tAttachShortcutKey();\n\tDWORD\tFindShortcutKey(DWORD CmdID);\n\npublic:\n\tULPOS\t\t\t\tm_MenuShowPos;\n\tULPOS\t\t\t\tm_DataOperatorAddr;\n\tULPOS\t\t\t\tm_BaseAddressActive;\n\tCWispMenu\t\t\tm_PopupMenu;\n\tCWispToolbar\t\tm_Toolbar;\n\tCDataOperatorDlg\tm_DataOperatorDlg;\n\tDATAHOTKEYMAP\t\tm_HotKeyMap;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/DataViewFindDlg.cpp",
    "content": "#include \"stdafx.h\"\n#include \"DataViewFindDlg.h\"\nFINDDATATYPE CDataViewFindDlg::m_FindDataType[12]=\n{\n\t{WSTR(\"Hex Values\"),0},\n\t{WSTR(\"Text String\"),1},\n\t{WSTR(\"8 Bit Signed Byte\"),2},\n\t{WSTR(\"8 Bit Unsigned Byte\"),3},\n\t{WSTR(\"16 Bit Signed Short\"),4},\n\t{WSTR(\"16 Bit Unsigned Short\"),5},\n\t{WSTR(\"32 Bit Signed Long\"),6},\n\t{WSTR(\"32 Bit Unsigned Long\"),7},\n\t{WSTR(\"64 Bit Signed Quad\"),8},\n\t{WSTR(\"64 Bit Unsigned Quad\"),9},\n\t{WSTR(\"32 Float\"),10},\n\t{WSTR(\"64 Double\"),11},\n};\nenum CDataViewFindDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_OK=WISP_ID_USER_START,\n\tCMD_ID_BUTTON_CANCEL,\n\t\n\tCMD_ID_STATICGROUP_FIND_WATH,\n\tCMD_ID_STATICSTR_TYPE,\n\tCMD_ID_COMBOBOX_TYPE,\n\tCMD_ID_STATICSTR_VALUE,\n\tCMD_ID_EDIT_VALUE,\n\tCMD_ID_STATICSTR_HEX,\t\n\tCMD_ID_EDIT_HEX,\n\n\tCMD_ID_STATICGROUP_DIRECTORY,\n\tCMD_ID_RADIOBOX_DIRECTION_DOWN,\n\tCMD_ID_RADIOBOX_DIRECTION_UP,\n\n\tCMD_ID_STATICGROUP_OPTIONS,\n\tCMD_ID_CHECKBOX_ALL_INSTANCES,\n\tCMD_ID_CHECKBOX_CASE,\n\tCMD_ID_RADIOBOX_ASCII_STR,\n\tCMD_ID_RADIOBOX_UNICODE_STR,\n\tCMD_ID_RADIOBOX_EITHER,\n\n\tCMD_ID_STATICGROUP_RANGE,\n\tCMD_ID_RADIOBOX_IN_MODULE,\n\tCMD_ID_RADIOBOX_IN_RANGE,\n\tCMD_ID_STATICSTR_BEGIN_ADDRESS,\n\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\tCMD_ID_STATICSTR_END_ADDRESS,\n\tCMD_ID_EDIT_END_ADDRESS,\n};\nWISP_FORM_RES_ITEM CDataViewFindDlg::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,391,315},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Find\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,364,80},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Find What\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{23,26,45,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Type:\"),\n\t\tNULL,\n\t},\n\t\n\t{\n\t\tWISP_CTRL_COMBO_BOX,\n\t\t{62,26,135,214},\n\t\tCMD_ID_COMBOBOX_TYPE,\n\t\tWISP_WS_NORMAL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{17,46,45,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Value:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{62,46,300,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{29,66,45,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Hex:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{62,66,300,16},\n\t\tCMD_ID_EDIT_HEX,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,96,364,55},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Range\")\n\t},\n\t\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{16,107,90,16},\n\t\tCMD_ID_RADIOBOX_IN_MODULE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"In Module\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{16,125,90,16},\n\t\tCMD_ID_RADIOBOX_IN_RANGE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"In Range\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{110,127,45,16},\n\t\tCMD_ID_STATICSTR_BEGIN_ADDRESS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Begin:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{160,125,80,16},\n\t\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{250,127,45,16},\n\t\tCMD_ID_STATICSTR_END_ADDRESS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"End:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{280,125,80,16},\n\t\tCMD_ID_EDIT_END_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,160,240,95},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Options\")\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,170,120,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_THIN_BORDER,\n\t\tWSTR(\"Find All Instances\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{150,170,50,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_THIN_BORDER,\n\t\tWSTR(\"Case\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{20,190,120,16},\n\t\tCMD_ID_RADIOBOX_ASCII_STR,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"ASCII String\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{20,210,120,16},\n\t\tCMD_ID_RADIOBOX_UNICODE_STR,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Unicode String\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{20,230,120,16},\n\t\tCMD_ID_RADIOBOX_EITHER,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Either\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{260,160,114,95},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Direction\")\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{270,175,90,16},\n\t\tCMD_ID_RADIOBOX_DIRECTION_DOWN,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Down\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{270,195,90,16},\n\t\tCMD_ID_RADIOBOX_DIRECTION_UP,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tWSTR(\"Up\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{100,260,68,20},\n\t\tCMD_ID_BUTTON_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Find\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{210,260,68,20},\n\t\tCMD_ID_BUTTON_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Close\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\nWISP_MSG_MAP_BEGIN(CDataViewFindDlg)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CDataViewFindDlg)\n//WISP_MSG_CMD_MAP(CMD_ID_LIST_TYPE,OnTypeListCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CDataViewFindDlg)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_OK,OnOKButtonEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_CANCEL,OnCancelButtonEvent)\n//WISP_MSG_EVENT_MAP(CMD_ID_RADIOBOX_LOCKTYPE,OnLockRadioBoxEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_RADIOBOX_IN_MODULE,OnInModuleRadioBoxEvent)\nWISP_MSG_EVENT_MAP(CMD_ID_RADIOBOX_IN_RANGE,OnInRangeRadioBoxEvent)\nWISP_MSG_EVENT_MAP_END\nCDataViewFindDlg::CDataViewFindDlg()\n{\n\tm_pFormRes = m_FormRes;\n}\nCDataViewFindDlg::~CDataViewFindDlg()\n{\n}\n\nbool CDataViewFindDlg::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_OKButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_OK); \n\tm_CancelButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_CANCEL);\n\tm_AsciiRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_ASCII_STR); \n\tm_UnicodeRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_UNICODE_STR);\n\tm_EitherRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_EITHER);\n\tm_InModuleRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_IN_MODULE);\n\tm_InRangeRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_IN_RANGE);\n\tm_DownRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_DIRECTION_DOWN);\n\tm_UpRadioBox=\t(CWispRadioBox*)GetFormItem(CMD_ID_RADIOBOX_DIRECTION_UP);\n\tm_AllInstanceCheckBox=\t(CWispCheckBox*)GetFormItem(CMD_ID_CHECKBOX_ALL_INSTANCES);\n\tm_CaseCheckBox=\t(CWispCheckBox*)GetFormItem(CMD_ID_CHECKBOX_CASE);\n\tm_BeginAddressEdit=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_BEGIN_ADDRESS);\n\tm_EndAddressEdit=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_END_ADDRESS);\n\tm_HexEdit=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_HEX);\n\tm_ValueEdit=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_VALUE);\n\tm_TypeComboBox = (CWispComboBox*)GetFormItem(CMD_ID_COMBOBOX_TYPE);\n\tfor(int i = 0; i < sizeof(m_FindDataType)/sizeof(m_FindDataType[0]);i++)\n\tm_TypeComboBox->InsertItem(m_FindDataType[i].TypeName,m_FindDataType[i].TypeID);\n\tm_HexEdit->EnableWindow(false);\n\treturn true;\n}\nbool CDataViewFindDlg::OnInModuleRadioBoxEvent(IN WISP_MSG* pMsg)\n{\n\tm_BeginAddressEdit->EnableWindow(false);\n\tm_EndAddressEdit->EnableWindow(false);\n\tUpdate();\n\treturn true;\n}\nbool CDataViewFindDlg::OnInRangeRadioBoxEvent(IN WISP_MSG* pMsg)\n{\n\tm_BeginAddressEdit->EnableWindow(true);\n\tm_EndAddressEdit->EnableWindow(true);\n\tUpdate();\n\treturn true;\n}\nbool CDataViewFindDlg::OnDestroy(IN WISP_MSG* pMsg)\n{\n\n\treturn true;\n}\nbool CDataViewFindDlg::CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr)\n{\n\treturn CWispForm::CreateForm(pParentWnd,ShowMode);\n}\n\n\nbool CDataViewFindDlg::OnOKButtonEvent(IN WISP_MSG* pMsg)\n{\n\t\n\tPostCloseMsg();\n\treturn true;\n}\nbool CDataViewFindDlg::OnCancelButtonEvent(IN WISP_MSG* pMsg)\n{\n\tPostCloseMsg();\n\treturn true;\n}\n\n\nbool CDataViewFindDlg::OnTypeListCmd(IN WISP_MSG* pMsg)\n{\n\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/DataViewFindDlg.h",
    "content": "#ifndef _DATAVIEWFINDDLG_H_\n#define _DATAVIEWFINDDLG_H_\ntypedef struct _FINDDATATYPE\n{\n\tWCHAR* TypeName;\n\tDWORD\tTypeID;\n}FINDDATATYPE;\nclass CDataViewFindDlg:public CWispForm\n{\npublic:\n\tCDataViewFindDlg();\n\t~CDataViewFindDlg();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnTypeListCmd)\n\tDECLARE_WISP_MSG_EVENT(OnOKButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnCancelButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnInRangeRadioBoxEvent)\n\tDECLARE_WISP_MSG_EVENT(OnInModuleRadioBoxEvent)\n\tbool CreateForm(CWispBaseWnd* pParentWnd,UINT ShowMode,UINT BeginAddr);\npublic:\t\n\tCWispComboBox* m_TypeComboBox;\n\tCWispButton*   m_OKButton;\n\tCWispButton*   m_CancelButton;\n\tCWispRadioBox* m_AsciiRadioBox;\n\tCWispRadioBox* m_UnicodeRadioBox;\n\tCWispRadioBox* m_EitherRadioBox;\n\tCWispRadioBox* m_InModuleRadioBox;\n\tCWispRadioBox* m_InRangeRadioBox;\n\tCWispRadioBox* m_DownRadioBox;\n\tCWispRadioBox* m_UpRadioBox;\n\tCWispCheckBox* m_AllInstanceCheckBox;\n\tCWispCheckBox* m_CaseCheckBox;\n\tCWispEdit* m_BeginAddressEdit;\n\tCWispEdit* m_EndAddressEdit;\n\tCWispEdit* m_HexEdit;\n\tCWispEdit* m_ValueEdit;\n\tstatic FINDDATATYPE m_FindDataType[12];\n\tDWORD\t\tm_BeginAddress;\n};\n#endif //_DATAVIEWFINDDLG_H_"
  },
  {
    "path": "Project/Syser/Source/DataViewForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DataViewForm.h\"\n#include \"Syser.h\"\n\nenum CDataViewForm::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_TEXT = WISP_ID_USER_START,\n\tCMD_ID_STATIC_GROUP,\n\tCMD_ID_DATA_VIEW,\n\tCMD_ID_GOTO\n};\n\nWISP_FORM_RES_ITEM CDataViewForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,300},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG | WISP_WS_BT_MIN | WISP_WS_SIZABLE,\n\t\tWSTR(\"Data View\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,470,40},\n\t\tCMD_ID_STATIC_GROUP,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Address\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,25,400,16},\n\t\tCMD_ID_EDIT_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,25,40,16},\n\t\tCMD_ID_GOTO,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Goto\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CDataViewForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_SIZE ,OnSize)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CDataViewForm)\n\tWISP_MSG_CMD_MAP(CMD_ID_EDIT_TEXT,OnCmdAddressEdit)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CDataViewForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_GOTO,OnGoto)\nWISP_MSG_EVENT_MAP_END\n\nCDataViewForm::CDataViewForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCDataViewForm::~CDataViewForm()\n{\n}\n\nbool CDataViewForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,89));\n\tint y;\n\tm_pAddrEdit = (CWispEdit*) GetFormItem(CMD_ID_EDIT_TEXT);\n\tm_pGroupCtrl = (CWispStaticGroup*) GetFormItem(CMD_ID_STATIC_GROUP);\n\tm_pButton = (CWispButton*) GetFormItem(CMD_ID_GOTO);\n\ty = m_pAddrEdit->m_ScrWindowRect.x-m_ScrWindowRect.x+30;\n\tm_DataView.Create(NULL,10,y,m_pGroupCtrl->m_WindowRect.cx,m_ClientRect.cy - y - 10,this,CMD_ID_DATA_VIEW,WISP_WS_NULL);\n\tOnSize(NULL);\n\treturn true;\n}\n\nbool CDataViewForm::OnClose(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CDataViewForm::OnSize(WISP_MSG*pMsg)\n{\n\tm_pGroupCtrl->Resize(m_ClientRect.cx-20,m_pGroupCtrl->m_WindowRect.cy);\n\tm_pAddrEdit->Resize(m_pGroupCtrl->m_WindowRect.cx - m_pButton->m_WindowRect.cx - 30,m_pAddrEdit->m_WindowRect.cy);\n\tm_pButton->MoveToWindow(m_pGroupCtrl->m_ScrWindowRect.x-m_ScrWindowRect.x+m_pGroupCtrl->m_WindowRect.cx-50,m_pButton->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_DataView.Resize(m_pGroupCtrl->m_WindowRect.cx,m_ClientRect.cy - m_pAddrEdit->m_ScrWindowRect.x+m_ScrWindowRect.x-40);\n\treturn true;\n}\n\nbool CDataViewForm::OnGoto(WISP_MSG*pMsg)\n{\n\tUpdateContext();\n\treturn false;\n}\n\nbool CDataViewForm::OnCmdAddressEdit(WISP_MSG*pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\tswitch(pMsg->Command.Param1)\n\t\t{\n\t\tcase WISP_VK_RETURN:\n\t\t\tUpdateContext();\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nvoid CDataViewForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreateForm();\n\t\tCenter();\n\t}\n}\n\nvoid  CDataViewForm::UpdateContext()\n{\n\tULPOS Address;\n\tif(IsVisible()==false)\n\t\treturn;\n\tif(CALCEXP(m_pAddrEdit->GetWindowText(),&Address))\n\t{\n\t\tSetWindowText(m_pAddrEdit->GetWindowText());\n\t\tm_DataView.ViewAddress(Address);\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/DataViewForm.h",
    "content": "#ifndef _DATA_VIEW_FORM_H_\n#define _DATA_VIEW_FORM_H_\n\n#include \"DataView.h\"\n\nclass CDataViewForm : public CWispForm\n{\npublic:\n\tCDataViewForm();\n\t~CDataViewForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnSize);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCmdAddressEdit)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnGoto)\n\tvoid\t\tPopup();\n\tvoid\t\tUpdateContext();\n\tCDataView\tm_DataView;\n\tCWispEdit*\tm_pAddrEdit;\n\tCWispButton*m_pButton;\n\tCWispStaticGroup*m_pGroupCtrl;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/DbgProcess.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SystemIoctl.h\"\n#include \"NMIInterruptHandle.h\"\n\nCDbgProcess::CDbgProcess()\n{\n\tm_pExecutePoint = &Reg.EIP;\n\tm_pOrgDbgProc = NULL;\n\tm_pCodeBPMap = &gpSyser->m_SyserUI.m_CodeBPMap;\n\tm_pDataBPList = &gpSyser->m_SyserUI.m_DataBPList;\n\tm_bPrevPatchBP = false;\n}\n\nCDbgProcess::~CDbgProcess()\n{\n}\n\nvoid CDbgProcess::InitProcess(DWORD PID)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tWCHAR szProceName[MAX_FN_LEN];\n\tPEPROCESS Pr = NULL;\n\tPsLookupProcessByProcessId(NUM_TO_PTR(PID),&Pr);\n\tif(Pr)\n\t{\n\t\tgpSyser->m_SysInfo.GetProcessName(Pr,szProceName,MAX_FN_LEN);\t\t\n\t\tm_CR3 = ((DWORD*)Pr)[gpSyser->m_SysInfo.m_ProcCR3dwOff];\n\t\tm_ProcNameW = szProceName;\n\t\tif(gpSyser->m_SysInfo.m_PEBOffsetOfEPROCESS)\n\t\t{\n\t\t\tBYTE* Pointer;\n\t\t\tPointer = *(BYTE**)&Pr;\n\t\t\tm_pCurrentPEB = *(PEB**)&Pointer[gpSyser->m_SysInfo.m_PEBOffsetOfEPROCESS];\n\t\t}\n\t\telse\n\t\t\tm_pCurrentPEB = (PEB*)0;\n\t\tm_PEProcess=Pr;\n\t}\n\telse\n\t{\n\t\tm_CR3 = SyserGetCR3Reg();\n\t\tm_pCurrentPEB = NULL;\n\t\tif(PID)\n\t\t\tm_ProcNameW = WSTR(\"System\");\n\t\telse\n\t\t\tm_ProcNameW = WSTR(\"System Idle Process\");\n\t\tm_PEProcess=NULL;\n\t}\n\tUnicodeToAnsi(m_ProcNameW,szBuffer,sizeof(szBuffer));\n\tm_ProcName = szBuffer;\n\tm_PID = PID;\n\tInit(&gpSyser->m_SyserUI.m_SyserDI);\n\tUnicodeToAnsi(m_ProcNameW,szBuffer,sizeof(szBuffer));\n\tOpen(szBuffer);\n}\n\nvoid CDbgProcess::Release()\n{\n\tCCodeBPMap::IT Iter = m_pCodeBPMap->Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->PID == m_PID)\n\t\t{\n\t\t\tCCodeBPMap::IT RemoveIter=Iter;\n\t\t\tIter++;\n\t\t\t//::DbgPrint(\"Syser : Clear Left BP [%s] %08X %s\\n\",(PCSTR)m_ProcName,RemoveIter->Address,(PCSTR)RemoveIter->Name);\n\t\t\tif(RemoveCodeBP(&(*RemoveIter))==false)\n\t\t\t\t::DbgPrint(\"Syser : Fail to clear left BP [%s] %08X %s\\n\",(PCSTR)m_ProcName,RemoveIter->Address,(PCSTR)RemoveIter->Name);\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\tgpSyser->ClearProcessBPR(*(DWORD*)&m_PEProcess);\n\tClose();\n\tCX86Debugger::Release();\n}\n\nULSIZE CDbgProcess::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn ReadProcessMemory(Address,Buffer,Size);\n}\n\nULSIZE CDbgProcess::WriteMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn WriteProcessMemory(Address,Buffer,Size);\n}\n\nULSIZE CDbgProcess::MoveMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size)\n{\n\treturn SyserPrivateMemCopy((BYTE*)DesAddr,(BYTE*)SrcAddr,Size);\n}\n\nbool CDbgProcess::SaveRegister()\n{\n\treturn true;\n}\n\nbool CDbgProcess::UpdateRegister()\n{\n\treturn true;\n}\n\nbool CDbgProcess::ContinueDebug(bool bRestoreScreen)\n{\n\tgpSyser->m_bSaveReg=false;\n\tgpSyser->Exit(bRestoreScreen);\n\treturn true;\n}\n\nbool CDbgProcess::SetCodeBreakPoint(BREAK_POINT&BP)\n{\n\tbool Result = SetCCBP(BP);\n\tif(Result)\n\t{\n\t\tif(BP.Address >= gpSyser->m_SysInfo.m_SystemStartAddr)\n\t\t{\n\t\t\tif(gpSyser->m_pCsrssProcess && gpSyser->m_SysInfo.m_win32kImageBase)\n\t\t\t{//ϵϵͳռwin32kΧıϵOwnerΪcsrss\n\t\t\t\tif( BP.Address >= gpSyser->m_SysInfo.m_win32kImageBase && \n\t\t\t\t\tBP.Address < gpSyser->m_SysInfo.m_win32kImageBase+gpSyser->m_SysInfo.m_win32kImageSize)\n\t\t\t\t{\n\t\t\t\t\tBP.OwnerName = gpSyser->m_pCsrssProcess->m_ProcName;\n\t\t\t\t\tBP.PID = gpSyser->m_pCsrssProcess->m_PID;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{//ϵϵͳռıϵOwnerΪSystem\n\t\t\t\tBP.PID = gpSyser->m_pSysDebugger->m_PID;\n\t\t\t\tBP.OwnerName = gpSyser->m_pSysDebugger->m_ProcName;\n\t\t\t}\n\t\t}\n\t}\n\treturn Result;\n}\n\nbool CDbgProcess::ClearCodeBreakPoint(BREAK_POINT&BP)\n{\n\treturn ClearCCBP(BP);\n}\n\nbool CDbgProcess::SetDataBreakPoint(BREAK_POINT&BP)\n{\n\tbool Result = SetX86HDBP(BP,SyserDR,&SyserDR[7]);\n\tif(Result)\n\t{\n\t\tgpSyser->m_bDbgRegAccessMon = true;\n\t\tgpSyser->m_bUpdateReg = true;\n\t\tmemcpy(Reg.DR,SyserDR,sizeof(SyserDR));\n\t\tUpdateOtherCPUDRX();//֪ͨCPU,ͷʱ,SyserDRX\n\t\tBP.OwnerName = gpSyser->m_pSysDebugger->m_ProcName;\n\t\tBP.PID = gpSyser->m_pSysDebugger->m_PID;\n\t}\n\treturn Result;\n}\n\nbool CDbgProcess::ClearDataBreakPoint(BREAK_POINT&BP)\n{\n\tbool Result = ClearX86HDBP(BP,SyserDR,&SyserDR[7]);\n\tif(Result)\n\t{\n\t\tgpSyser->m_bDbgRegAccessMon = (SyserDR[7]&0xFF)!=0;\n\t\tgpSyser->m_bUpdateReg = true;\n\t\tmemcpy(Reg.DR,SyserDR,sizeof(SyserDR));\n\t\tUpdateOtherCPUDRX();//֪ͨCPU,ͷʱ,SyserDRX\n\t}\n\treturn Result;\n}\n\nbool CDbgProcess::MapToPhysAddr(ULPOS Address,ULONGLONG&PhysAddr)\n{\n\treturn MapToPAddr(Address,&PhysAddr);\n}\n\nbool CDbgProcess::SwitchProcessSpace(UINT PID)\n{\n\tCDbgProcess*pNewProc;\n\tpNewProc = gpSyser->m_SysInfo.GetProcess(PID);\n\tif(pNewProc)\n\t{\n\t\tif(pNewProc->m_CR3 != SyserGetCR3Reg())\n\t\t{\n\t\t\tm_pOrgDbgProc = gpSyser->m_pDebugger;\n\t\t\tgpSyser->MapToProcess(pNewProc);\n\t\t}\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nvoid CDbgProcess::RestoreProcessSpace()\n{\n\tif(m_pOrgDbgProc)\n\t{\n\t\tgpSyser->MapToProcess(m_pOrgDbgProc);\n\t\tm_pOrgDbgProc = NULL;\n\t}\n}\n\nvoid CDbgProcess::PatchSystem(PCSTR Name,ULPOS Address,PVFV PatchFunc)\n{\n\tBREAK_POINT*pBP;\n\tpBP = gpSyser->m_pSysDebugger->InsertCodeBP(Address,BP_TYPE_PATCH,BP_STATE_ENABLE);\n\tif(pBP)\n\t{\n\t\tpBP->UserData = (NUM_PTR)PatchFunc;\n\t\tpBP->Name = Name;\n\t\tDbgPrint(\"Syser : Patch %s %08X\\n\",Name,Address);\n\t}\n\telse\n\t{\n\t\tDbgPrint(\"Syser : Fail to patch %s %08X\\n\",Name,Address);\n\t}\n}\n\nbool CDbgProcess::SetSingleStep()\n{\n\tReg.EFlags|=0x100;\n\tgpSyser->m_bUpdateReg=true;\n\tgPrevStepEIP=Reg.EIP;\n\treturn true;\n}\n\nbool CDbgProcess::RemoveSingleStep()\n{\n\tReg.EFlags&=0xFFFFFEFF;\n\tgpSyser->m_bUpdateReg=true;\n\treturn true;\n}\n\nvoid CDbgProcess::GetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID)\n{\n\tif(dwCPUID>gCPUNumbers)\n\t\tdwCPUID=0;\n\tpCPURegPtr->pCS = &gpMCPUReg[dwCPUID].SegReg[CS_IDX];\n\tpCPURegPtr->pDS = &gpMCPUReg[dwCPUID].SegReg[DS_IDX];\n\tpCPURegPtr->pES = &gpMCPUReg[dwCPUID].SegReg[ES_IDX];\n\tpCPURegPtr->pFS = &gpMCPUReg[dwCPUID].SegReg[FS_IDX];\n\tpCPURegPtr->pGS = &gpMCPUReg[dwCPUID].SegReg[GS_IDX];\n\tpCPURegPtr->pSS = &gpMCPUReg[dwCPUID].SegReg[SS_IDX];\n\n\tpCPURegPtr->pEAX = &gpMCPUReg[dwCPUID].GeneReg[EAX_IDX];\n\tpCPURegPtr->pEBX = &gpMCPUReg[dwCPUID].GeneReg[EBX_IDX];\n\tpCPURegPtr->pECX = &gpMCPUReg[dwCPUID].GeneReg[ECX_IDX];\n\tpCPURegPtr->pEDX = &gpMCPUReg[dwCPUID].GeneReg[EDX_IDX];\n\tpCPURegPtr->pESI = &gpMCPUReg[dwCPUID].GeneReg[ESI_IDX];\n\tpCPURegPtr->pEDI = &gpMCPUReg[dwCPUID].GeneReg[EDI_IDX];\n\tpCPURegPtr->pEBP = &gpMCPUReg[dwCPUID].GeneReg[EBP_IDX];\n\tpCPURegPtr->pESP = &gpMCPUReg[dwCPUID].GeneReg[ESP_IDX];\n\n\tpCPURegPtr->pEFL = (EFL_REG*)&gpMCPUReg[dwCPUID].EFlags;\n\tpCPURegPtr->pEIP = &gpMCPUReg[dwCPUID].EIP;\n\n\tpCPURegPtr->pDR[0] = &gpMCPUReg[dwCPUID].DR[0];\n\tpCPURegPtr->pDR[1] = &gpMCPUReg[dwCPUID].DR[1];\n\tpCPURegPtr->pDR[2] = &gpMCPUReg[dwCPUID].DR[2];\n\tpCPURegPtr->pDR[3] = &gpMCPUReg[dwCPUID].DR[3];\n\tpCPURegPtr->pDR[6] = &gpMCPUReg[dwCPUID].DR[6];\n\tpCPURegPtr->pDR[7] = &gpMCPUReg[dwCPUID].DR[7];\n\tpCPURegPtr->pGDTRBase = &gpMCPUReg[dwCPUID].GDTBase;\n\tpCPURegPtr->pGDTRLimit = &gpMCPUReg[dwCPUID].GDTLimit;\n\tpCPURegPtr->pIDTRBase = &gpMCPUReg[dwCPUID].IDTBase;\n\tpCPURegPtr->pIDTRLimit = &gpMCPUReg[dwCPUID].IDTLimit;\n\tpCPURegPtr->pLDTR = &gpMCPUReg[dwCPUID].LDT;\n\tpCPURegPtr->pTR = &gpMCPUReg[dwCPUID].TR;\n}\n\nvoid CDbgProcess::GetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr)\n{\n\tpCPURegPtr->pCS = &Reg.SegReg[CS_IDX];\n\tpCPURegPtr->pDS = &Reg.SegReg[DS_IDX];\n\tpCPURegPtr->pES = &Reg.SegReg[ES_IDX];\n\tpCPURegPtr->pFS = &Reg.SegReg[FS_IDX];\n\tpCPURegPtr->pGS = &Reg.SegReg[GS_IDX];\n\tpCPURegPtr->pSS = &Reg.SegReg[SS_IDX];\n\n\tpCPURegPtr->pEAX = &Reg.GeneReg[EAX_IDX];\n\tpCPURegPtr->pEBX = &Reg.GeneReg[EBX_IDX];\n\tpCPURegPtr->pECX = &Reg.GeneReg[ECX_IDX];\n\tpCPURegPtr->pEDX = &Reg.GeneReg[EDX_IDX];\n\tpCPURegPtr->pESI = &Reg.GeneReg[ESI_IDX];\n\tpCPURegPtr->pEDI = &Reg.GeneReg[EDI_IDX];\n\tpCPURegPtr->pEBP = &Reg.GeneReg[EBP_IDX];\n\tpCPURegPtr->pESP = &Reg.GeneReg[ESP_IDX];\n\n\tpCPURegPtr->pEFL = (EFL_REG*)&Reg.EFlags;\n\tpCPURegPtr->pEIP = &Reg.EIP;\n\n\tpCPURegPtr->pDR[0] = &Reg.DR[0];\n\tpCPURegPtr->pDR[1] = &Reg.DR[1];\n\tpCPURegPtr->pDR[2] = &Reg.DR[2];\n\tpCPURegPtr->pDR[3] = &Reg.DR[3];\n\tpCPURegPtr->pDR[6] = &Reg.DR[6];\n\tpCPURegPtr->pDR[7] = &Reg.DR[7];\n\tpCPURegPtr->pGDTRBase = &Reg.GDTBase;\n\tpCPURegPtr->pGDTRLimit = &Reg.GDTLimit;\n\tpCPURegPtr->pIDTRBase = &Reg.IDTBase;\n\tpCPURegPtr->pIDTRLimit = &Reg.IDTLimit;\n\tpCPURegPtr->pLDTR = &Reg.LDT;\n\tpCPURegPtr->pTR = &Reg.TR;\n\tpCPURegPtr->pCR2 = &Reg.CR[2];\n}\n\nbool CDbgProcess::GetSegRegBase(int SegIndex,DWORD*pAddress,DWORD *pSize)\n{\n\tX86_SEGMENT_DESCRIPTOR x86SegDescr;\n\tif(pAddress==NULL || GetSegDescr((WORD)SegIndex,&x86SegDescr)==false)\n\t\treturn false;\n\t*pAddress = x86SegDescr.base_L0+(x86SegDescr.base_L1<<8)+(x86SegDescr.base_H0<<16)+(x86SegDescr.base_H1<<24);\n\treturn true;\n}\n\nbool CDbgProcess::HandleInt1(ULPOS Address)\n{\n\tBREAK_POINT*pBP=NULL;\n\tbool bActive = false;\n\tpBP = GetCodeBP(Address);\n\tif(pBP)\n\t{\n\t\tpBP->BPCount++;\t\t\n\t}\n\n\tif(Reg.DR[6] & DR6_BS)\n\t{                             //ǵִжϵ\t\t\t\t\t\t\n\t\tgpSyser->m_bHandle = RecoverBreakPoint()>0;\n\t\tif(m_bPrevPatchBP && gpSyser->m_bHandle)\n\t\t{\t\t\t\n\t\t\tRemoveSingleStep();\n\t\t\tm_bPrevPatchBP = false;\n\t\t\treturn true;\n\t\t}\t\t\n\t\tProcessSpecialCode(gPrevStepEIP);\n\t\tRemoveSingleStep();\n\t\t//pBP = GetCodeBP(Address);\n\t\tif(pBP && pBP->State==BP_STATE_ENABLE)\n\t\t{\t//Ͷϵغʱ\n\t\t\tif(WriteProcessMemory(Address,&pBP->CodeBackup,1))//ָԭָ\n\t\t\t\tpBP->State = BP_STATE_RECOV;\t\t\t\n\t\t\tif(gpSyser->m_SyserUI.m_SyserDI.TestCondition(pBP->Condition,pBP))\n\t\t\t{\n\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.RunCmdList(pBP->DoCmd);\n\t\t\t\tif((pBP->Type & BP_TYPE_PATCH))\n\t\t\t\t{\n\t\t\t\t\tif(pBP->UserData)\n\t\t\t\t\t\t((PVFV)pBP->UserData)();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t//ActiveϵʱTrace\n\t\t\t\t\tif((pBP->Type & BP_TYPE_DEBUG)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.ResetTrace();\n\t\t\t\t\t\tbActive = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(pBP->Type&BP_TYPE_ONCE)//ɾһԶϵ\n\t\t\t{\n\t\t\t\tRemoveCodeBP(pBP);\n\t\t\t}\n\t\t}\n\t\tRemoveAllCodeBP(BP_TYPE_DEBUG);\n\t\tif(gpSyser->m_SyserUI.m_SyserDI.m_TraceType!=TRACE_NULL)\n\t\t{\t\t\n\t\t\tgpSyser->m_bHandle = true;\n\t\t\tif(gpSyser->m_SyserUI.m_SyserDI.IsHandledTraceEvent())\n\t\t\t\tbActive = true;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif( (Reg.DR[6]&DR6_BD) || (gpSyser->m_bDbgRegAccessMon&&((Reg.DR[6]&0xF)==0)))\n\t\t{//޸\n\t\t\tExcuteDebugRegisterMontior((BYTE*)Reg.EIP);\n\t\t\tReg.EIP+=3;\n\t\t\tgpSyser->m_bUpdateReg=true;\n\t\t\treturn true;\n\t\t}\n\t\tif(gpSyser->m_bDbgRegAccessMon==false)\n\t\t\treturn false;\n\t\t\tif(ProcessHardwareBreak())\n\t\t\t{\n\t\t\t\tbActive = true;\n\t\t\t}\t\t\t\t\t\t\t\t\t\t\n\t\t\tRemoveAllCodeBP(BP_TYPE_DEBUG);\n\t\t}\n\n\tif(bActive)\n\t{\n\t\tgpSyser->m_bHandle = true;\n\t\tgpSyser->Active();\n\t}\n\tif(IsRecoverBPExist())\n\t{\n\t\tSetSingleStep();\n\t}\n\tgpSyser->SetBPR();\n\treturn gpSyser->m_bHandle;\n}\n\nbool CDbgProcess::HandleInt3(ULPOS Address)\n{\n\tbool bActive;\n\tbool bPopup;\n\tBREAK_POINT*pBP;\n\t\t\n\tpBP = GetCodeBP(Address);\n\tif(pBP)\n\t\tpBP->BPCount++;//Ӷϵִм\n\tif(pBP==NULL || pBP->State!=BP_STATE_ENABLE)\n\t{//ԼĶϵ\n\t\tbPopup=false;\n\t\tif(gpSyser->m_Interrupt3HereStat==1 || (gpSyser->m_Interrupt3HereStat==2 && Reg.EIP > gpSyser->m_SysInfo.m_SystemStartAddr))\t\t\n\t\t\tbPopup=true;\t\t\t\t\n\t\tif(bPopup)\n\t\t{//ںĵЭ\n\t\t\tgpSyser->m_bHandle = true;\n\t\t\tgpSyser->Active();\n\t\t\treturn gpSyser->m_bHandle;\n\t\t}\n\t\treturn false;\n\t}\n\tReg.EIP--;\n\tgpSyser->m_bUpdateReg=true;\n\tif(WriteProcessMemory(Address,&pBP->CodeBackup,1))//ָԭָ\n\t\tpBP->State = BP_STATE_RECOV;\n\tif(gpSyser->m_SyserUI.m_SyserDI.TestCondition(pBP->Condition,pBP)==false)\n\t{//˶ϵֱӷ\n\t\tSetSingleStep();\n\t\treturn true;\n\t}\n\tgpSyser->m_bExit=false;\n\tgpSyser->m_SyserUI.m_SyserDI.RunCmdList(pBP->DoCmd);\n\tif(pBP->DoCmd && gpSyser->m_bExit)\n\t{//˶ϵֱӷ\n\t\t// runcmdlist  x  exit \n\t\tSetSingleStep();\n\t\treturn true;\n\t}\n\tbActive = false;\n\tgpSyser->m_bHandle = true;\n\tif(pBP->Type & BP_TYPE_PATCH)\n\t{//PatchŹ\n\t\tm_bPrevPatchBP = true;\n\t\tif(pBP->UserData)\n\t\t{\n\t\t\tgbActive=true;\n\t\t\t((PVFV)pBP->UserData)();\n\t\t\tgbActive=false;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif((pBP->Type & BP_TYPE_DEBUG)==0)\n\t\t{//ActiveϵʱTrace,Ҽ¼λõ\n\t\t\tACTIVE_CODE_VIEW->RecordCurAddr(pBP->Address,ACTIVE_CODE_VIEW->m_CurAddr);\n\t\t\tDisplayCodeBP(pBP);\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.ResetTrace();\n\t\t\tbActive = true;\n\t\t}\n\t\tRemoveAllCodeBP(BP_TYPE_DEBUG);\n\t\tif(gpSyser->m_SyserUI.m_SyserDI.IsHandledTraceEvent())\n\t\t\tbActive=true;\n\t}\n\tif(pBP->Type&BP_TYPE_ONCE)//ɾһԶϵ\n\t\tRemoveCodeBP(pBP);\n\tif(bActive)\n\t{\n\t\tgpSyser->Active();\n\t}\n\tif(IsRecoverBPExist())\n\t{\n\t\tSetSingleStep();\n\t}\n\treturn gpSyser->m_bHandle;\n}\n\nvoid CDbgProcess::DisplayCodeBP(BREAK_POINT*pBP)\n{\n\tif(pBP->Name.IsEmpty())\n\t{\n\t\tSYSEXPLR_OUTPUT(WSTR(\"Break at Code BP %<4>%08X\\n\"),pBP->Address);\n\t}\n\telse\n\t{\n\t\tWCHAR szBuffer[128];\n\t\tAnsiToUnicode(pBP->Name,szBuffer,128);\n\t\tSYSEXPLR_OUTPUT(WSTR(\"Break at %<F>%s\\n\"),szBuffer);\n\t}\n}\n\nvoid CDbgProcess::DisplayDataBP(BREAK_POINT*pBP)\n{\n\tWCHAR szBuffer[128];\n\tAnsiToUnicode(pBP->Description,szBuffer,128);\n\tSYSEXPLR_OUTPUT(WSTR(\"Break at Data BP %<F>%08X %<7>%s\\n\"),pBP->Address,szBuffer);\n}\n\nbool CDbgProcess::ProcessHardwareBreak()\n{\n\tBREAK_POINT*pBP;\n\tDWORD Mask;\n\tUINT Index;\n\tbool bret=false;\n\tif((SyserDR[7]&0xFF)==0)\n\t\treturn false;\n\tif(Reg.DR[6]&0x1)\n\t\tIndex = 0;\n\telse if(Reg.DR[6]&0x2)\n\t\tIndex = 1;\n\telse if(Reg.DR[6]&0x4)\n\t\tIndex = 2;\n\telse if(Reg.DR[6]&0x8)\n\t\tIndex = 3;\n\telse\n\t\treturn false;\n\tpBP = NULL;\n\tfor(CDataBPList::IT Iter = gpSyser->m_SyserUI.m_DataBPList.Begin();Iter!=gpSyser->m_SyserUI.m_DataBPList.End();Iter++)\n\t{\n\t\tif(Iter->State == BP_STATE_ENABLE && Iter->CodeBackup==Index)\n\t\t{\n\t\t\tpBP = &(*Iter);\n\t\t\tif(gpSyser->m_SyserUI.m_SyserDI.TestCondition(pBP->Condition,pBP))\n\t\t\t{\n\t\t\t\tbret=true;\n\t\t\t\tgpSyser->m_bExit=false;\n\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.RunCmdList(pBP->DoCmd);\t\t\t\t\n\t\t\t\tif(pBP->DoCmd && gpSyser->m_bExit)\n\t\t\t\t{\n\t\t\t\t\t// runcmdlist  x  exit \n\t\t\t\t\tbret=false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(pBP)\n\t\tDisplayDataBP(pBP);\n\tMask = 0x3<<(16+Index*4);\n\tif((SyserDR[7]&Mask)==0)//Ǵϵ\n\t{\n\t\tReg.EFlags |= 0x10000;//ָϵ\n\t\tgpSyser->m_bUpdateReg = true;\t\t\n\t}\n\treturn bret;\n}\n\nvoid CDbgProcess::ProcessSpecialCode(DWORD Address)\n{\n\tULSIZE CodeLen;\n\tBYTE CodeBuffer[16];\n\tCodeLen = ReadMemory(Address,CodeBuffer,sizeof(CodeBuffer));\n\tif(CodeLen==0)\n\t\treturn;\n\tif(gPrevStepEIP==0)\n\t\treturn;\n\tif(CodeBuffer[0]==0x9C)//жĵҪ\n\t{\t//ǰһִָе pushfd ָҪȷ TF ־\n\t\t//\n// \t\t__asm\n// \t\t{\n// \t\t\tpush es\n// \t\t\tpush eax\n// \t\t\tpush ebx\n// \t\t\tmov ax,Reg.SegReg[SS_IDX*2]\n// \t\t\tmov es,ax\n// \t\t\tmov eax,Reg.GeneReg[ESP_IDX*4]\n// \t\t\tmov ebx,0xFFFFFEFF\n// \t\t\tand es:[eax],ebx\n// \t\t\tpop ebx\n// \t\t\tpop eax\n// \t\t\tpop es\n// \t\t}\n\t\tSyserClearFlag(Reg.SegReg[SS_IDX],&Reg.GeneReg[ESP_IDX],0x100);\n\t\tgpSyser->m_bUpdateReg = true;\n\t}\n}\n\nCDbgModule* CDbgProcess::GetModule(PCWSTR ModuleName)\n{\n\tCHAR szBuffer[MAX_FN_LEN];\n\tfor(CDbgModuleMap::IT Iter=m_ModuleList.m_DbgModuleMap.Begin();Iter!=m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t{\n\t\tUnicodeToAnsi(ModuleName,szBuffer,MAX_FN_LEN);\n\t\tif(TCmpModuleName((PCSTR)Iter->m_ModuleFullName,szBuffer))\n\t\t\treturn &(*Iter);\n\t}\n\treturn NULL;\n}\n\nCDbgModule* CDbgProcess::GetModule(PCSTR ModuleName)\n{\n\tfor(CDbgModuleMap::IT Iter=m_ModuleList.m_DbgModuleMap.Begin();Iter!=m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t{\n\t\tif(TCmpModuleName((PCSTR)Iter->m_ModuleFullName ,ModuleName))\n\t\t\treturn &(*Iter);\n\t}\n\treturn NULL;\n}\n\nCDbgModule*\tCDbgProcess::GetModule(ULPOS ModuleBase)\n{\n\treturn m_ModuleList.GetModule(ModuleBase);\n}\n\nCSymbolModule* CDbgProcess::GetSymbolModule(ULPOS ModuleBase)\n{\n\tCDbgModule*pDbgModule = m_ModuleList.GetModule(ModuleBase);\n\tif(pDbgModule==NULL)\n\t\treturn NULL;\n\treturn pDbgModule->m_pSymbolModule;\n}\n\nCSymbolModule* CDbgProcess::GetSymbolModule(PCSTR ModuleName)\n{\n\tCDbgModule*pDbgModule = m_ModuleList.GetModule(ModuleName);\n\tif(pDbgModule==NULL)\n\t\treturn NULL;\n\treturn pDbgModule->m_pSymbolModule;\n}\n\nvoid CDbgProcess::ExcuteDebugRegisterMontior(BYTE* InstructionBuffer)\n{\n\tWCHAR *DRName[]={WSTR(\"DR0\"),WSTR(\"DR1\"),WSTR(\"DR2\"),WSTR(\"DR3\"),WSTR(\"DR4\"),WSTR(\"DR5\"),WSTR(\"DR6\"),WSTR(\"DR7\")};\n\tWCHAR *GRName[]={WSTR(\"EAX\"),WSTR(\"ECX\"),WSTR(\"EDX\"),WSTR(\"EBX\"),WSTR(\"ESP\"),WSTR(\"EBP\"),WSTR(\"ESI\"),WSTR(\"EDI\")};\n\tDWORD Dest,Src;\n\tbool bRet;\n\tDWORD DebugRegisterIndex,GeneralRegisterIndex;\n\tBYTE r;\n\tif(InstructionBuffer[0]!=0xf)\n\t\treturn;\n\tr = InstructionBuffer[2];\n\tGeneralRegisterIndex=r&7;\n\tDebugRegisterIndex = (r>>3)&7;\n\tstatic dwDRMCount=0;\n\tdwDRMCount++;\n\tif((InstructionBuffer[1]==0x21)&&(r&0xc0))//ʽĴ\n\t{\n\t\tSrc=SyserDR[DebugRegisterIndex];\n\t\tif(DebugRegisterIndex==7)\n\t\t{\n\t\t\tSrc|=0x400;\n\t\t\tSrc&=0xffff27ff;\n\t\t}\n\t\tif(DebugRegisterIndex==6)\n\t\t{\n\t\t\tSrc |= 0xffff0ff0;\n\t\t\tSrc &= 0xffffefff;\n\t\t}\n\t\tswitch(GeneralRegisterIndex) \n\t\t{\n\t\tcase 0:\t\tReg.GeneReg[EAX_IDX]=Src;break;\n\t\tcase 1:\t\tReg.GeneReg[ECX_IDX]=Src;break;\n\t\tcase 2:\t\tReg.GeneReg[EDX_IDX]=Src;break;\n\t\tcase 3:\t\tReg.GeneReg[EBX_IDX]=Src;break;\n\t\tcase 4:\t\tReg.GeneReg[ESP_IDX]=Src;break;\n\t\tcase 5:\t\tReg.GeneReg[EBP_IDX]=Src;break;\n\t\tcase 6:\t\tReg.GeneReg[ESI_IDX]=Src;break;\n\t\tcase 7:\t\tReg.GeneReg[EDI_IDX]=Src;break;\n\t\t}\t\n\t\t//gpSyser->DbgPrint(0,768-12*DebugRegisterIndex,WSTR(\"0x%08x mov %s,%s c[%d]\"),Reg.EIP,GRName[GeneralRegisterIndex],DRName[DebugRegisterIndex],dwDRMCount);\n\t\treturn;\n\t}\n\telse if((InstructionBuffer[1]==0x23)&&(r&0xc0))\n\t{\n\t\t;\n\t\t//gpSyser->DbgPrint(0,12*DebugRegisterIndex,WSTR(\"0x%08x mov %s,%s [%08x] c[%d]\"),Reg.EIP,DRName[DebugRegisterIndex],GRName[GeneralRegisterIndex],Reg.GeneReg[GeneralRegisterIndex],dwDRMCount);\n\t}\n}\n\nint CDbgProcess::WriteProcessMemory(ULPOS Addr,void*Buffer,int Size)\n{\n\treturn SafeMemCopy(_RT_PBYTE(Addr),(BYTE*)Buffer,Size);\n}\n\nint CDbgProcess::ReadProcessMemory(ULPOS Addr,void*Buffer,int Size)\n{\n\treturn SafeMemCopy((BYTE*)Buffer,_RT_PBYTE(Addr),Size);\n}\n\nint\tCDbgProcess::SafeReadProcessMemory(ULPOS addr,void* Buffer,int Size)\n{\n\tint Len = SafeMemCopy((BYTE*)Buffer,_RT_PBYTE(addr),Size);\n\treturn Len;\n}\n\nint\tCDbgProcess::SafeWriteProcessMemory(ULPOS addr,void* Buffer,int Size)\n{\n\t/*\n\tDWORD CR0 = GetCR0Reg();\n\tif(CR0&0x10000)\n\t\tSetCR0Reg(CR0&0xFFFEFFFF);\n\t*/\n\tint Len = SafeMemCopy(_RT_PBYTE(addr),(BYTE*)Buffer,Size);\n\t/*\n\tif(CR0&0x10000)\n\t\tSetCR0Reg(CR0);\n\t*/\n\treturn Len;\n}\n\nvoid TouchModuleMemory(ULPOS ModuleBase,ULSIZE ModuleSize)\n{\n\tBYTE TouchData;\n\tULPOS Address,ModuleHighBase;\n\tModuleHighBase = ModuleBase + ModuleSize;\n\tAddress = ModuleBase;\n\twhile(Address < ModuleHighBase)\n\t{\n\t\t__try\n\t\t{\n\t\t\tTouchData = _GET_BYTE(Address);\n\t\t}\n\t\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t\t{\n\t\t}\n\t\tAddress += MP_SIZE;\n\t}\n}\n\n\nint CDbgProcess::RecoverBreakPointRange()\n{\n\tint Count=0;\n\tfor(CCodeBPMap::IT Iter=m_pCodeBPMap->Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(Iter->State == BP_STATE_RECOV)\n\t\t{\n\t\t\tif(SwitchProcessSpace(Iter->PID))\n\t\t\t{\n\t\t\t\tif(RecoverCCBP(*Iter))\n\t\t\t\t\tIter->State = BP_STATE_ENABLE;\n\t\t\t\tRestoreProcessSpace();\n\t\t\t}\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}"
  },
  {
    "path": "Project/Syser/Source/DbgProcess.h",
    "content": "#ifndef _DBG_PROCESS_H_\n#define _DBG_PROCESS_H_\n\nenum\n{\n\tBP_DELAY_CODE,\n\tBP_DELAY_HARDWARE_INSTRUCTION,\n\tBP_DELAY_HARDWARE_MONITOR,\n\tBP_DELAY_PUSHFD,\n};\n\nclass CDbgProcess : public CX86Debugger\n{\npublic:\n\tCDbgProcess();\n\tvirtual ~CDbgProcess();\npublic:\n\tvoid\tInitProcess(DWORD PID);\n\tvoid\tRelease();\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ϵ\n\tbool\tSetCodeBreakPoint(BREAK_POINT&BP);\n\tbool\tClearCodeBreakPoint(BREAK_POINT&BP);\n\tbool\tSetDataBreakPoint(BREAK_POINT&BP);\n\tbool\tClearDataBreakPoint(BREAK_POINT&BP);\n\tbool\tMapToPhysAddr(ULPOS Address,ULONGLONG&PhysAddr);\n\tbool\tSwitchProcessSpace(UINT PID);\n\tvoid\tRestoreProcessSpace();\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\tvoid\tPatchSystem(PCSTR Name,ULPOS Address,PVFV PatchFunc);\n\tbool\tSetSingleStep();\n\tbool\tRemoveSingleStep();\n\tvoid\tGetX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr);\n\tvoid\tGetCPUX86RegPtr(X86_CPU_REG_PTR*pCPURegPtr,DWORD dwCPUID);\n\tbool\tGetSegRegBase(int SegIndex,DWORD*pAddress,DWORD*pSize=NULL);\n\tbool\tSaveRegister();\n\tbool\tUpdateRegister();\n\tbool\tUpdateDRXRegister();\t\t\t//ӲԼĴ\t\n\tbool\tContinueDebug(bool bRestoreScreen = true);\n\tULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULSIZE\tWriteMemory(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULSIZE\tMoveMem(ULPOS DesAddr,ULPOS SrcAddr,ULSIZE Size);\n/////////////////////////////////////////////////////////////////////////////////////////////\n\tint\t\tWriteProcessMemory(ULPOS Addr,void*Buffer,int Size);\n\tint\t\tReadProcessMemory(ULPOS Addr,void*Buffer,int Size);\n\tint\t\tSafeReadProcessMemory(ULPOS addr,void* Buffer,int Size);\n\tint\t\tSafeWriteProcessMemory(ULPOS addr,void* Buffer,int Size);\n/////////////////////////////////////////////////////////////////////////////////////////////\n\tCDbgProcess*m_pOrgDbgProc;\n\tDWORD\t\tm_CR3;\t\t\t\t//CR3\n\tCStrW\t\tm_ProcNameW;\t\t//\n#ifdef CODE_OS_NT_DRV\n\tPEB*\t\tm_pCurrentPEB;\n\tPEPROCESS\tm_PEProcess;\n\tPEPROCESS\tGetEPROCESS()const {return m_PEProcess;}\n#endif\n\tbool\tm_bPrevPatchBP;\npublic:\n\tbool\tHandleInt3(ULPOS Address);\n\tbool\tHandleInt1(ULPOS Address);\n\tvoid\tDisplayCodeBP(BREAK_POINT*pBP);\n\tvoid\tDisplayDataBP(BREAK_POINT*pBP);\n\tbool\tProcessHardwareBreak();\n\tvoid\tExcuteDebugRegisterMontior(BYTE* InstructionBuffer);\npublic:\n\tCDbgModule*\tGetModule(PCWSTR ModuleName);\n\tCDbgModule* GetModule(PCSTR ModuleName);\n\tCDbgModule*\tGetModule(ULPOS ModuleBase);\n\tCSymbolModule*GetSymbolModule(ULPOS ModuleBase);\n\tCSymbolModule*GetSymbolModule(PCSTR ModuleName);\n\tbool\tRemoveSymbolModule(DWORD ModuleBase);\n\tvoid\tProcessSpecialCode(DWORD Address);\n\tint\t\tRecoverBreakPointRange();\n\t\n};\n\nvoid TouchModuleMemory(ULPOS ModuleBase,ULSIZE ModuleSize);\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Syser/Source/DebugCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"DebugCmd.h\"\n#include \"InterruptPatch.h\"\nconst WCHAR cmd_a_usage[]=\n{\n\tL\"a: Modify memory by assemble code\\n\"\n\tL\"Format: a address asm_string\\n\"\n\tL\"Example1: a 401000 inc eax\\n\"\n\tL\"Example2: a EIP mov eax,ebx\\n\"\n};\n\nconst WCHAR cmd_bc_usage[]=\n{\n\tL\"bc: Clear breakpoint\\n\"\n\tL\"Format: bc address_or_index[*]\\n\"\n\tL\"Example1: bc *\\n\"\n\tL\"Example2: bc 1\\n\"\n\tL\"Example3: bc 401000\\n\"\n};\n\nconst WCHAR cmd_bd_usage[]=\n{\n\tL\"bd: Disable breakpoint\\n\"\n\tL\"Format: bd address_or_index[*]\\n\"\n\tL\"Example1: bd *\\n\"\n\tL\"Example2: bd 1\\n\"\n\tL\"Example3: bd 401000\\n\"\n};\n\nconst WCHAR cmd_be_usage[]=\n{\n\tL\"be: Enable breakpoint\\n\"\n\tL\"Format: be address_or_index[*]\\n\"\n\tL\"Example1: be *\\n\"\n\tL\"Example2: be 1\\n\"\n\tL\"Example3: be 401000\\n\"\n};\n\n\nconst WCHAR cmd_bl_usage[]=\n{\n\tL\"bl: List breakpoint\\n\"\n\tL\"Format: bl\\n\"\n\tL\"Example1: bl\\n\"\n};\n\n\nconst WCHAR cmd_bpx_usage[]=\n{\n\tL\"bpx: Set breakpoint\\n\"\n\tL\"Format: bpx address [if condition_string] [do command_string]\\n\"\n\tL\"Example1: bpx 401000 EAX==0302\\n\"\n\tL\"Example2: bpx MessageBoxA\\n\"\n\tL\"Example3: bpx 402000 rw if (*esi)&FF==0 do d eip\\n\"\n};\n\nconst WCHAR cmd_bpload_usage[]=\n{\n\tL\"bpload: Set module loading breakpoint \\n\"\n\tL\"Format: bpload module_name\\n\"\n\tL\"Example1: bpload kernel32\\n\"\n\tL\"Example2: bpload user32.dll\\n\"\n};\n\nconst WCHAR cmd_bpmx_usage[]=\n{\n\tL\"bpm,bpmw,bpmd: Set data access breakpoint\\n\"\n\tL\"Format: bpm address [rw,w,x] [if condition_string] [do command_string]\\n\"\n\tL\"Example1: bpm 401000 w\\n\"\n\tL\"Example2: bpmw 401000 rw       (set word access breakpoint)\\n\"\n\tL\"Example3: bpm esi w if *eax==00 do d esi;bc *\\n\"\n};\n\nconst WCHAR cmd_bpio_usage[]=\n{\n\tL\"bpio: Set a breakpoint on an I/O Port access\\n\"\n\tL\"Format: bpio I/O_port [r,w,rw] [if condition_string] [do command_string]\\n\"\n\tL\"Example1: bpio 3E8 rw\\n\"\n\tL\"Example2: bpio 2E4 rw if eax==0 do dd esi\\n\"\n};\n\nconst WCHAR cmd_ex_usage[]=\n{\n\tL\"e,eb,ew,ed:  Edit memory\\n\"\n\tL\"Format: e address data_value\\n\"\n\tL\"Example1: e 403000 00,01,02,04\\n\"\n\tL\"Example2: e ESI \\\"Hello\\\"\\n\"\n\tL\"Example3: eb 401000 10\\n\"\n\tL\"Example4: ew 401000 2030\\n\"\n\tL\"Example5: ed 401000 40506070\\n\"\n};\n\n\nconst WCHAR cmd_u_usage[]=\n{\n\tL\"u: Unassemble instructions\\n\"\n\tL\"Format: u address\\n\"\n\tL\"Exapmle1: u 401000\\n\"\n\tL\"Exapmle2: u eip+1000\\n\"\n\tL\"Example3: u +\\n\"\n\tL\"Example4: u -\\n\"\n\tL\"Example5: u + offset\\n\"\n\tL\"Example6: u - offset\\n\"\n\tL\"Example6: u -a address\\n\"\n\n};\n\n\nconst WCHAR cmd_dot_usage[]=\n{\n\tL\".: Locate EIP instruction in Code View (== u eip)\\n\"\n\tL\"Format: .\\n\"\n};\n\n\nconst WCHAR cmd_src_usage[]=\n{\n\tL\"src: Locate address in Source Code File\\n\"\n\tL\"Format: src [address]\\n\"\n\tL\"Example1: src (==src EIP)\\n\"\n\tL\"Example2: src 401000\\n\"\n};\n\n\nconst WCHAR cmd_seg_usage[]=\n{\n\tL\"seg: Display segment information\\n\"\n\tL\"Format: seg segment_register_name\\n\"\n\tL\"Example1: seg cs\\n\"\n\tL\"Example2: seg 08\\n\"\n};\n\nconst WCHAR cmd_p_usage[]=\n{\n\tL\"p: Execute one program step (skip CALL,REP )\\n\"\n\tL\"Format: p [step count] [condition] [ret]\\n\"\n\tL\"Example1: p 100                       (run 100 p steps)\\n\"\n\tL\"Example2: p EIP<401000 && EIP>402000  (break EIP jump out of 401000 - 402000)\\n\"\n\tL\"Example3: p ret                       (stop at return)\\n\"\n};\n\nconst WCHAR cmd_sp_usage[]=\n{\n\tL\"sp: Execute one source code step\\n\"\n\tL\"Format: sp\\n\"\n\tL\"Example1: sp\\n\"\n};\n\nconst WCHAR cmd_go_usage[]=\n{\n\tL\"go : set one-time breakpoint at specify address\\n\"\n\tL\"Format: go address\\n\"\n\tL\"Example1: go EIP+20\\n\"\n\tL\"Example2: go 402000\\n\"\n};\n\nconst WCHAR cmd_t_usage[]=\n{\n\tL\"t: Trace one instruction\\n\"\n\tL\"Format: t [step count] [condition]\\n\"\n\tL\"Example1: t 100                       (run 100 t steps)\\n\"\n\tL\"Example2: t EIP<401000 && EIP>402000  (break EIP jump out of 401000 - 402000)\\n\"\n};\n\nconst WCHAR cmd_st_usage[]=\n{\n\tL\"st: Trace one source code line\\n\"\n\tL\"Format: st\\n\"\n\tL\"Example1: st\\n\"\n};\n\nconst WCHAR cmd_x_usage[]=\n{\n\tL\"x: exit debugger (continue)\\n\"\n\tL\"format: x\\n\"\n};\n\nconst WCHAR cmd_fill_usage[]=\n{\n\tL\"f: Fill memory\\n\"\n\tL\"Format: f address length data_string\\n\"\n\tL\"Example1: f esi 4 80001000\\n\"\n\tL\"Example2: f 401000 5 E9,00,00,00,10\\n\"\n\tL\"Example3: f 401000 1000 \\\"hello\\\"\\n\"\n};\n\n\nconst WCHAR cmd_search_usage[]=\n{\n\tL\"s: Search memory\\n\"\n\tL\"Format: s address length data_string\\n\"\n\tL\"Example1: s 401000 1000 \\\"CreateFileA\\\"\\n\"\n\tL\"Example2: s EIP 2000 FF,15,00,00,10,40\\n\"\n\tL\"Example3: s           (continue last search operation)\\n\"\n};\n\n\nconst WCHAR cmd_stack_usage[]=\n{\n\tL\"stack: Display call stack\\n\"\n\tL\"Format: stack [call_frame_address]\\n\"\n\tL\"Example1: stack             (analyse from ebp)\\n\"\n\tL\"Example2: stack  124000     (analyse from 124000)\\n\"\n};\n\nconst WCHAR cmd_cmt_usage[]=\n{\n\tL\"cmt: List module comment in current process\\n\"\n\tL\"Format: cmt\\n\"\n};\n\nconst WCHAR cmd_r_usage[]=\n{\n\tL\"r: Display/Change  Register Value\\n\"\n\tL\"Format: r reg_name [value]\\n\"\n\tL\"Example1: r eip 402000\\n\"\n\tL\"Example2: r eax 80001000\\n\"\n\tL\"Example3: r ah 10\\n\"\n\tL\"Example4: r ebx\\n\"\n};\n\nconst WCHAR cmd_m_usage[]=\n{\n\tL\"m: Move data\\n\"\n\tL\"Format: m source_address length dest_address (length is HEX bytes)\\n\"\n\tL\"Example1: m esi 100 edi\\n\"\n\tL\"Example2: m 402000 E00 403000\\n\"\n};\n\nconst WCHAR cmd_c_usage[]=\n{\n\tL\"c: Compare two data blocks\\n\"\n\tL\"Format: c source_address length dest_address (length is HEX bytes)\\n\"\n\tL\"Example1: c esi 100 edi\\n\"\n\tL\"Example2: c 402000 E00 403000\\n\"\n};\n\nconst WCHAR cmd_sym_usage[]=\n{\n\tL\"sym: List symbols\\n\"\n\tL\"Format: sym [module_name] [symbol_wildcard] | -a symbol value\\n\"\n\tL\"Example1: sym kernel32 *         (List all symbols of kernel32.dll)\\n\"\n\tL\"Example2: sym CreateFile?        (List CreateFileA and CreateFileW)\\n\"\n\tL\"Example3: sym -a mysymbol 4013af (Add owner labels)\\n\"\n};\n\nconst WCHAR cmd_sdsmod_usage[]=\n{\n\tL\"sdsmod: List all syser symbol modules loaded\\n\"\n\tL\"Format: sdsmod\\n\"\n};\n\n\nconst WCHAR cmd_mod_usage[]=\n{\n\tL\"mod: List modules of current process\\n\"\n\tL\"Format: mod [address][mod_name]\\n\"\n\tL\"Example1: mod eip           (display module's name on current eip)\\n\"\n\tL\"Example2: mod nt*           (display module's name fit to \\\"nt*\\\")\\n\"\n};\n\n\n/*\n%<0>0 ------- Black\n%<1>1 ------- White \n%<2>2 ------- Red\n%<3>3 ------- Light Red\n%<4>4 ------- Green\n%<5>5 ------- Light Green\n%<6>6 ------- Blue\n%<7>7 ------- Light Blue\n%<8>8 ------- Brown\n%<9>9 ------- Light Brown\n%<A>A ------- Cyan\n%<B>B ------- Light Cyan\n%<C>C ------- Gray\n%<D>D ------- Light Gray\n%<E>E ------- Yellow\n%<F>F ------- Light Yellow\n*/\n\nSYSER_CMD_ENTRY\tDebugCmdTable[]=\n{\n////////////////////////////////////////////////////////////////////////////////////////////\n//break point\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"bc\"),\t\tWSTR(\"Clear breakpoint\"),\t\t\t\t\tbc_command,\t\t\tcmd_bc_usage},\n\t{WSTR(\"bl\"),\t\tWSTR(\"List breakpoints\"),\t\t\t\t\tbl_command,\t\t\tcmd_bl_usage},\n\t{WSTR(\"bd\"),\t\tWSTR(\"Disable breakpoints\"),\t\t\t\tbd_command,\t\t\tcmd_bd_usage},\n\t{WSTR(\"be\"),\t\tWSTR(\"Enable breakpoints\"),\t\t\t\t\tbe_command,\t\t\tcmd_be_usage},\n\t{WSTR(\"bpx\"),\t\tWSTR(\"Set breakpoint\"),\t\t\t\t\t\tbpx_command,\t\tcmd_bpx_usage},\n\t{WSTR(\"bpload\"),\tWSTR(\"Set module loading breakpoint\"),\t\tbpload_command,\t\tcmd_bpload_usage},\n\t{WSTR(\"bpm\"),\t\tWSTR(\"Breakpoint on memory access\"),\t\tbpm_command,\t\tcmd_bpmx_usage},\n\t{WSTR(\"bpmb\"),\t\tWSTR(\"Breakpoint on memory access\"),\t\tbpm_command,\t\tcmd_bpmx_usage},\n\t{WSTR(\"bpmw\"),\t\tWSTR(\"Breakpoint on memory access\"),\t\tbpm_command,\t\tcmd_bpmx_usage},\n\t{WSTR(\"bpmd\"),\t\tWSTR(\"Breakpoint on memory access\"),\t\tbpm_command,\t\tcmd_bpmx_usage},\n\t{WSTR(\"bpio\"),\t\tWSTR(\"Breakpoint on I/O port access\"),\t\tbpio_command,\t\tcmd_bpio_usage},\n////////////////////////////////////////////////////////////////////////////////////////////\n//trace\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"x\"),\t\t\tWSTR(\"Return to host and continue running\"),exit_system_command,\t\tcmd_x_usage},\n\t{WSTR(\"exit\"),\t\tWSTR(\"Return to host and continue running\"),exit_system_command,\t\tcmd_x_usage},\n\t{WSTR(\"g\"),\t\t\tWSTR(\"Go to address\"),\t\t\t\t\t\tgo_command,\t\t\t\t\tcmd_go_usage},\n\t{WSTR(\"t\"),\t\t\tWSTR(\"Trace one instruction\"),\t\t\t\ttrace_command,\t\t\t\tcmd_t_usage},\n\t{WSTR(\"st\"),\t\tWSTR(\"Trace one source code line\"),\t\t\tsource_trace_command,\t\tcmd_st_usage},\n\t{WSTR(\"tb\"),\t\tWSTR(\"Trace and break at next branch\"),\t\ttrace_branch_command},\n\t{WSTR(\"p\"),\t\t\tWSTR(\"Execute one program step\"),\t\t\tp_command,\t\t\t\t\tcmd_p_usage},\n\t{WSTR(\"sp\"),\t\tWSTR(\"Execute one source code step\"),\t\tsource_proceed_command,\t\tcmd_sp_usage},\n\t{WSTR(\"skip\"),\t\tWSTR(\"Skip current instruction\"),\t\t\tskip_command},\n\t{WSTR(\"stack\"),\t\tWSTR(\"Display call stack context\"),\t\t\tstack_command,\t\t\t\tcmd_stack_usage},\n////////////////////////////////////////////////////////////////////////////////////////////\n//View\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"u\"),\t\t\tWSTR(\"Unassemble instructions\"),\t\t\tu_command,\t\t\t\t\tcmd_u_usage},\n\t{WSTR(\".\"),\t\t\tWSTR(\"Locate EIP instruction in Code View\"),u_command,\t\t\t\t\tcmd_dot_usage},\n\t{WSTR(\"src\"),\t\tWSTR(\"Locate address in Source Code File\"),\tsrc_command,\t\t\t\tcmd_src_usage},\n////////////////////////////////////////////////////////////////////////////////////////////\n//Symbol\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"sym\"),\t\tWSTR(\"List symbols\"),\t\t\t\t\t\tsym_command,\t\t\t\tcmd_sym_usage},\n\t{WSTR(\"symmod\"),\tWSTR(\"Display all symbol modules\"),\t\t\tsymmod_command},\n\t{WSTR(\"sdsmod\"),\tWSTR(\"Display all sds symbol modules\"),\t\tsdsmod_command,\t\t\t\tcmd_sdsmod_usage},\n\n\t{WSTR(\"cmt\"),\t\tWSTR(\"List module comment in current process\"),\tcmt_command,\t\t\tcmd_cmt_usage},\n////////////////////////////////////////////////////////////////////////////////////////////\n//Edit\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"seg\"),\t\tWSTR(\"Display segment information\"),\t\tseg_command,\t\t\t\tcmd_seg_usage},\n\t{WSTR(\"r\"),\t\t\tWSTR(\"Display/Change Register Value\"),\t\tr_command,\t\t\t\t\tcmd_r_usage},\n\t{WSTR(\"m\"),\t\t\tWSTR(\"Move data\"),\t\t\t\t\t\t\tm_command,\t\t\t\t\tcmd_m_usage},\n\t{WSTR(\"f\"),\t\t\tWSTR(\"Fill memory with data\"),\t\t\t\tf_command,\t\t\t\t\tcmd_fill_usage},\n\t{WSTR(\"s\"),\t\t\tWSTR(\"Search binary data or string\"),\t\ts_command,\t\t\t\t\tcmd_search_usage},\n\t{WSTR(\"sc\"),\t\tWSTR(\"Search binary data or string,show search resoult at code view\"),\t\ts_command,\t\t\t\t\tcmd_search_usage},\n\t{WSTR(\"sd\"),\t\tWSTR(\"Search binary data or string,show search resoult at data view\"),\t\ts_command,\t\t\t\t\tcmd_search_usage},\n\t{WSTR(\"c\"),\t\t\tWSTR(\"Compare two data blocks\"),\t\t\tc_command,\t\t\t\t\tcmd_c_usage},\n\t{WSTR(\"a\"),\t\t\tWSTR(\"modify memory by assemble code\"),\t\ta_command,\t\t\t\t\tcmd_a_usage},\n\t{WSTR(\"e\"),\t\t\tWSTR(\"Edit memory\"),\t\t\t\t\t\te_command,\t\t\t\t\tcmd_ex_usage},\n\t{WSTR(\"eb\"),\t\tWSTR(\"Edit memory (BYTE)\"),\t\t\t\t\te_command,\t\t\t\t\tcmd_ex_usage},\n\t{WSTR(\"ew\"),\t\tWSTR(\"Edit memory (WORD)\"),\t\t\t\t\te_command,\t\t\t\t\tcmd_ex_usage},\n\t{WSTR(\"ed\"),\t\tWSTR(\"Edit memory (DWORD)\"),\t\t\t\te_command,\t\t\t\t\tcmd_ex_usage},\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"mod\"),\t\tWSTR(\"Display Modules\"),\t\t\t\t\tmod_command,\t\t\t\tcmd_mod_usage},\n\t{WSTR(\"test\"),\t\tWSTR(\"test write memory command\"),\t\t\t\t\t\t\ttest_command11},\n#ifdef CODE_OS_WIN\n\t{WSTR(\"open\"),\t\tWSTR(\"open file\"),\t\t\t\t\t\t\topen_command},\n\t{WSTR(\"close\"),\t\tWSTR(\"close file\"),\t\t\t\t\t\t\tclose_command},\n\t{WSTR(\"Reset\"),\t\tWSTR(\"reset debug state\"),\t\t\t\t\treset_command},\n#endif\n////////////////////////////////////////////////////////////////////////////////////////////\n\t{NULL,NULL,NULL}\n};\n\n#ifdef CODE_OS_WIN\nint open_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tchar szFileName[MAX_FN_LEN],*pszFileName;\n\tif(pSyser->m_pDebugger==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : please load debugger first !\\n\"));\n\t\treturn 1;\n\t}\n\tif(pSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\tpSyser->m_SyserUI.m_CodeDoc.Close();\n\tif(argc==1)\n\t{\n\t\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\t\tOPENFILENAME OpenFileName;\n\t\tSTZeroMemory(OpenFileName);\n\t\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\t\tOpenFileName.hInstance = gpSyser->m_hLocalInst;\n\t\tOpenFileName.hwndOwner = gpSyser->m_hLocalWnd;\n\t\tUnicodeToAnsi(gpSyser->m_szDbgFileNameFilter,szBuffer,sizeof(szBuffer));\n\t\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t\t{\n\t\t\tif(szBuffer[n]=='|')\n\t\t\t\tszBuffer[n]=0;\n\t\t}\n\t\tOpenFileName.lpstrFilter = szBuffer;\n\t\tOpenFileName.nMaxFile = sizeof(szFileName);\n\t\tOpenFileName.lpstrFile = szFileName;\n\t\t*szFileName = 0;\n\t\tgpSyser->LockTimer();\n\t\tif(GetOpenFileName(&OpenFileName)==false)\n\t\t{\n\t\t\tgpSyser->UnlockTimer();\n\t\t\treturn true;\n\t\t}\n\t\tpszFileName = OpenFileName.lpstrFile;\n\t\tgpSyser->UnlockTimer();\n\t}\n\telse\n\t{\n\t\tUnicodeToAnsi(&szCommandLine[argv[1]-argv[0]],szFileName,MAX_FN_LEN);\n\t\tpszFileName = szFileName;\n\t}\n\tif(pSyser->m_SyserUI.m_CodeDoc.Open(pszFileName)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Fail to open %s !\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint close_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tif(pSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : please open file first !\\n\"));\n\t\treturn 1;\n\t}\n\tpSyser->m_SyserUI.m_CodeDoc.Close();\n\treturn 0;\n}\n\nint reset_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tWCHAR OpenCmd[MAX_FN_LEN],FileName[MAX_FN_LEN];\n\tASSERT_DEBUGGER_OPENED\n\tAnsiToUnicode(gpSyser->m_SyserUI.m_CodeDoc.m_MainModuleName,FileName,MAX_FN_LEN);\n\tRUNCMD(WSTR(\"close\"));\n\tTSPrintf(OpenCmd,WSTR(\"open %s\"),FileName);\n\tRUNCMD(OpenCmd);\n\treturn 0;\n}\n\n#endif\n\nint exit_system_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tif(pSyser->m_pDebugger==NULL)\n\t\treturn 0;\n\tpSyser->m_pDebugger->ContinueDebug();\n\treturn 0;\n}\n\nint\tgo_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tULPOS Address;\n\tif(argc!=2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(gpSyser->m_pDebugger->InsertCodeBP(Address,BP_TYPE_DEBUG,BP_STATE_ENABLE)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Fail to set breakpoint at %08X\\n\"),Address);\n\t\treturn -1;\n\t}\n\tgpSyser->m_pDebugger->ContinueDebug();\n\treturn 0;\n}\n\nint trace_branch_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n#ifdef CODE_OS_NT_DRV\n\ttrace_command(1,argv,szCommandLine,pSyser);\n\tSetBranchStepRun();\n#endif\n\treturn 0;\n}\n\nbool IsStepFlagModifyCode(BYTE*CodeBuffer,DWORD dwEip,int* SkipInstLen,CSyser*pSyser)\n{\n\tchar buffer[200];\n\tINSTRUCTION_INFORMATION InstInfo;\n\n\tInstInfo.pasm = buffer;\n\tInstInfo.U_x1 = 6;\n\tInstInfo.U_x2 = 12;\n\n#ifdef CODE_OS_NT_DRV\n\tDIS_CPU DispCpu;\n\tint nLen,nLen2;\n\tnLen=Disassembly(&InstInfo,CodeBuffer,dwEip,BIT32,&DispCpu);\n\tif(nLen)\n\t{\n\t\tif(InstInfo.OpCode==C_PUSHF||InstInfo.OpCode==C_POPF)\n\t\t{\n\t\t\t*SkipInstLen=nLen;\n\t\t\treturn true;\n\t\t}\n\n\t\tif(TStrICmp(InstInfo.Name,\"mov\")==0 && InstInfo.op[0].mode==mode_segment && TStrICmp(InstInfo.op[0].string,\"ss\")==0)//mov ss,xx\n\t\t{\n\t\t\tif(gpSyser->m_pOrgProcess->ReadMemory(*X86_REG_PTR.pEIP+nLen,CodeBuffer,MAX_INSTR_LEN)==MAX_INSTR_LEN)\n\t\t\t{\n\t\t\t\tmemset(&InstInfo,0,sizeof(InstInfo));\n\t\t\t\tnLen2=Disassembly(&InstInfo,CodeBuffer,dwEip+nLen,BIT32,&DispCpu);\n\t\t\t\tif(nLen2)\n\t\t\t\t{\n\t\t\t\t\tif(InstInfo.OpCode==C_PUSHF||InstInfo.OpCode==C_POPF)\n\t\t\t\t\t{\n\t\t\t\t\t\t*SkipInstLen=nLen+nLen2;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tif(TStrICmp(InstInfo.Name,\"pop\")==0 && InstInfo.op[0].mode==mode_segment && TStrICmp(InstInfo.op[0].string,\"ss\")==0)\n\t\t{\t\t\n\t\t\tif(gpSyser->m_pOrgProcess->ReadMemory(*X86_REG_PTR.pEIP+nLen,CodeBuffer,MAX_INSTR_LEN)==MAX_INSTR_LEN)\n\t\t\t{\n\t\t\t\tmemset(&InstInfo,0,sizeof(InstInfo));\n\t\t\t\tnLen2=Disassembly(&InstInfo,CodeBuffer,dwEip+nLen,BIT32,&DispCpu);\n\t\t\t\tif(nLen2)\n\t\t\t\t{\n\t\t\t\t\tif(InstInfo.OpCode==C_PUSHF||InstInfo.OpCode==C_POPF)\n\t\t\t\t\t{\n\t\t\t\t\t\t*SkipInstLen=nLen+nLen2;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tint index=0-1;\n\t\tswitch(InstInfo.OpCode)\n\t\t{\n\t\tcase C_INT1:\n\t\t\tindex=1;\n\t\t\tbreak;\n\t\tcase C_INT3:\n\t\t\tindex=3;\n\t\t\tbreak;\n\t\tcase C_INT:\n\t\t\tindex=(int)InstInfo.op[0].immed.immed_value;\n\t\t\tindex&=0xff;\n\t\t\tbreak;\n\t\tcase C_INTO:\n\t\t\tif((Reg.EFlags & 0xf00))\n\t\t\t\tindex=4;\n\t\t\tbreak;\n\t\t}\n\t\tif(index!=0-1)\n\t\t{\n\t\t\tDWORD IDTBase,IDTSize;\n\t\t\tDWORD IntAddress=0;\n\t\t\tPX86_GATE_DECR pDecr;\n\t\t\tIDTBase=SyserGetIDTBase(&IDTSize);\n\t\t\tpDecr = *(PX86_GATE_DECR*)&IDTBase;\n\t\t\tif(pDecr[index].P && ((pDecr[index].Type == SYS_SEG_GATE_DECR_TYPE_32TRAP_GATE)||\n\t\t\t\t(pDecr[index].Type == SYS_SEG_GATE_DECR_TYPE_32INT_GATE)))\n\t\t\t{\n\t\t\t\tIntAddress = MAKE_DWORD(pDecr[index].OffsetHigh, pDecr[index].OffsetLow);\n\t\t\t\tif(IntAddress >=gpSyser->m_DriverStartAddr && IntAddress <gpSyser->m_DriverEndAddr)\n\t\t\t\t{\n\t\t\t\t\tDWORD dwTmp=(DWORD)gInterruptStub;\n\t\t\t\t\tDWORD dwTmp2=dwTmp+sizeof(gInterruptStub);\n\t\t\t\t\tif(IntAddress>=dwTmp && IntAddress <dwTmp2)\n\t\t\t\t\t{\n\t\t\t\t\t\tIntAddress = GetOrgInterruptAddress(*(PINTERRUPT_STUB*)&IntAddress);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(IntAddress)\n\t\t\t\t{\n\t\t\t\t\t*SkipInstLen=IntAddress-dwEip;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse\n#endif\n\t{\n\t\tswitch(*CodeBuffer)\n\t\t{\n\t\tcase 0x9c:\n\t\tcase 0x9d:\n\t\t\t*SkipInstLen=1;\n\t\t\treturn true;\n\t\tcase 0x66:\n\t\t\tif(CodeBuffer[1]==0x9C || CodeBuffer[1]==0x9D)\n\t\t\t{\n\t\t\t\t*SkipInstLen=2;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn false;\n}\n/*\n0xc3://ret\t\n0xc2://ret imm\n0xcb://retf\n0xca://retf imm\t\t\n0xcf://iret\n*/\nint trace_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tCHAR szBuffer[256];\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tULPOS Address;\n\tULONG Num;\n\tASSERT_DEBUGGER_OPENED\n#ifdef CODE_OS_WIN\n\tCDebugger*pDebugger = gpSyser->m_pDebugger;\n#else\n\tCDebugger*pDebugger = gpSyser->m_pOrgProcess;\n#endif\n\tif(argc>1)\n\t{\n\t\tif(USHexStrToNum(argv[1],&Num))\n\t\t{//t 3\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTraceCount(Num);\n\t\t}\n\t\telse\n\t\t{//t eax==4321\n\t\t\tPCWSTR pStr = &szCommandLine[argv[1]-argv[0]];\n\t\t\tif(CALCEXP(pStr,&Num))\n\t\t\t{\n\t\t\t\tUnicodeToAnsi(pStr,szBuffer,256);\n\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTraceCondition(szBuffer);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tOUTPUT_INPUT_ERROR;\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(gpSyser->m_SyserUI.m_SyserDI.m_TraceType==TRACE_NULL)\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTraceCount(1);\n\t}\n#ifdef CODE_OS_NT_DRV\n\tif(gpSyser->m_pDebugger!=gpSyser->m_pOrgProcess)\n\t\tgpSyser->MapToProcess(gpSyser->m_pOrgProcess);\n#endif\n\tint SkipInstLen=0;\n\tint InstLen=0;\n\tInstLen=pDebugger->ReadMemory(*X86_REG_PTR.pEIP,CodeBuffer,MAX_INSTR_LEN);\n\tif(InstLen&&IsStepFlagModifyCode(CodeBuffer,*X86_REG_PTR.pEIP,&SkipInstLen,gpSyser))\n\t{\t\n\t\tAddress = *X86_REG_PTR.pEIP+SkipInstLen;\n\t\tif(gpSyser->m_pDebugger->InsertCodeBP(Address,BP_TYPE_DEBUG,BP_STATE_ENABLE)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Fail to set Debug BP at %08X\\n\"),Address);\n\t\t\treturn 0;\n\t\t}\t\n\t}\n\telse\n\t{\n\t\tpDebugger->SetSingleStep();\t\t\n\t}\n\tpDebugger->ContinueDebug(false);\n\treturn 0;\n}\n\nint p_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tbool bRestorScr;\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tCHAR szBuffer[256];\n\tULPOS Address;\n\tULONG Num;\n\tint CodeLen;\n\tASSERT_DEBUGGER_OPENED\n#ifdef CODE_OS_WIN\n\tCDebugger*pDebugger = gpSyser->m_pDebugger;\n#else\n\tCDebugger*pDebugger = gpSyser->m_pOrgProcess;\n#endif\n\tbRestorScr = false;\n\tif(argc>1)\n\t{\n\t\tif(USHexStrToNum(argv[1],&Num))\n\t\t{//p 3\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetProceedCount(Num);\n\t\t\tbRestorScr = true;\n\t\t}\n\t\telse if(TStrICmp(argv[1],\"ret\")==0)\n\t\t{//p ret\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetX86RetBreak(pDebugger);\n\t\t\tbRestorScr = true;\n\t\t}\n\t\telse\n\t\t{//p eax==4321\n\t\t\tPCWSTR pStr = &szCommandLine[argv[1]-argv[0]];\n\t\t\tif(CALCEXP(pStr,&Num))\n\t\t\t{\n\t\t\t\tUnicodeToAnsi(pStr,szBuffer,256);\n\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTraceProceedCondition(szBuffer);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tOUTPUT_INPUT_ERROR;\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(gpSyser->m_SyserUI.m_SyserDI.m_TraceType==TRACE_NULL)\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTraceCount(1);\n\t}\n#ifdef CODE_OS_NT_DRV\n\tif(gpSyser->m_pDebugger!=gpSyser->m_pOrgProcess)\n\t\tgpSyser->MapToProcess(gpSyser->m_pOrgProcess);\n#endif\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsProcessCode(*X86_REG_PTR.pEIP))\n\t{\n\t\tCodeLen=gpSyser->m_SyserUI.m_CodeDoc.InstrLen(*X86_REG_PTR.pEIP);\n\t\tgpSyser->m_pDebugger->InsertCodeBP(*X86_REG_PTR.pEIP+CodeLen,BP_TYPE_DEBUG,BP_STATE_ENABLE);\n\t}\n\telse\n\t{\n\t\tint SkipInstLen=0;\n\t\tif(pDebugger->ReadMemory(*X86_REG_PTR.pEIP,CodeBuffer,MAX_INSTR_LEN)==MAX_INSTR_LEN && IsStepFlagModifyCode(CodeBuffer,*X86_REG_PTR.pEIP,&SkipInstLen,gpSyser))\n\t\t{\n\t\t\tAddress = *X86_REG_PTR.pEIP+SkipInstLen;\n\t\t\tif(gpSyser->m_pDebugger->InsertCodeBP(Address,BP_TYPE_DEBUG,BP_STATE_ENABLE)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Fail to set Debug BP at %08X\\n\"),Address);\n\t\t\t\treturn 0;\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{//ĵָĻ\n\t\t\tpDebugger->SetSingleStep();\n\t\t}\n\t}\n\tpDebugger->ContinueDebug(bRestorScr);\n\treturn 0;\n}\n\nint source_trace_command(int argc, WCHAR *argv[],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS dwEIPRva,dwEndRva,dwBaseAddress;\n\tASSERT_DEBUGGER_OPENED\n\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(*gpSyser->m_SyserUI.m_CodeDoc.m_X86RegPtr.pEIP);\n\tif(pSDSModule==NULL)\n\t\treturn 1;\n\tdwBaseAddress = pSDSModule->m_pCurDbgModule->m_ModuleBase;\n\tdwEIPRva=*gpSyser->m_SyserUI.m_CodeDoc.m_X86RegPtr.pEIP-dwBaseAddress;\n\tSDLINELIST LineList;\n\tDWORD Count;\n\tCount = pSDSModule->GetLineFromRva(dwEIPRva,&LineList);\n\tif(Count==0)\n\t\treturn -1;\n\tPSDLINE pLine = *LineList[0];\n\tCSourceCodeWnd* pSourceCodeWnd = gpSyser->m_MainFrame.m_SourceDebugFrameWnd.ShowSourceFile(pSDSModule,pLine->FileID,pLine->LineNumber);\n\tif(pSourceCodeWnd==NULL)\n\t\treturn -1;\n\tHANDLE hItem = pSourceCodeWnd->GetItem(pLine->LineNumber-1);\n\tif(hItem==NULL)\n\t\treturn -1;\n\tif(pSourceCodeWnd->IsItemExpanded(hItem))\n\t{\n\t\tRUNCMD(WSTR(\"T\"));\n\t\treturn 0;\n\t}\n\tdwEndRva = pLine->Rva+pLine->Len;\n\tRUNCMD(WSTR(\"T\"));\n\tgpSyser->m_SyserUI.m_SyserDI.SetTraceRange(dwBaseAddress+pLine->Rva,dwBaseAddress+dwEndRva);\n\treturn 0;\n}\n\nint source_proceed_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS dwEIPRva,dwEndRva,dwBaseAddress;\n\tASSERT_DEBUGGER_OPENED\n\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(*gpSyser->m_SyserUI.m_CodeDoc.m_X86RegPtr.pEIP);\n\tif(pSDSModule==NULL)\n\t\treturn -1;\n\tdwBaseAddress = pSDSModule->m_pCurDbgModule->m_ModuleBase;\n\tdwEIPRva=*gpSyser->m_SyserUI.m_CodeDoc.m_X86RegPtr.pEIP-dwBaseAddress;\n\tSDLINELIST LineList;\n\tDWORD Count;\n\tCount = pSDSModule->GetLineFromRva(dwEIPRva,&LineList);\n\tif(Count==0)\n\t\treturn -1;\n\tPSDLINE pLine = *LineList[0];\n\tCSourceCodeWnd* pSourceCodeWnd = gpSyser->m_MainFrame.m_SourceDebugFrameWnd.ShowSourceFile(pSDSModule,pLine->FileID,pLine->LineNumber);\n\tif(pSourceCodeWnd==NULL)\n\t\treturn -1;\n\tHANDLE hItem = pSourceCodeWnd->GetItem(pLine->LineNumber-1);\n\tif(hItem==NULL)\n\t\treturn -1;\n\tif(pSourceCodeWnd->IsItemExpanded(hItem))\n\t{\n\t\tRUNCMD(WSTR(\"P\"));\n\t\treturn 0;\n\t}\n\tdwEndRva = pLine->Rva+pLine->Len;\n\tRUNCMD(WSTR(\"P\"));\n\tgpSyser->m_SyserUI.m_SyserDI.SetProceedRange(dwBaseAddress+pLine->Rva,dwBaseAddress+dwEndRva);\n\treturn 0;\n}\n\nint bc_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tDWORD Num,Index;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tCODE_ASSERT(pSyser->m_pDebugger);\n\tif(*argv[1] == (WCHAR)'*')\n\t{\n\t\tgpSyser->m_pDebugger->RemoveAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_PATCH);\n\t\tgpSyser->m_pDebugger->RemoveAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.m_ModuleBPMap.Clear();\n\t\tgpSyser->m_SyserUI.m_ModuleLoadBPMap.Clear();\n#ifdef CODE_OS_NT_DRV\n\t\tfor(PROC_RANGE_BP_MAP::IT Iter = gpSyser->m_RangeBPList.Begin();Iter!=gpSyser->m_RangeBPList.End();Iter++)\n\t\t{\n\t\t\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\t\t\tListBIT = Iter->Begin();\n\t\t\tListEIT = Iter->End();\n\t\t\tIter->Clear();\t\t\t\t\t\t\n\t\t}\n\t\tgpSyser->m_RangeBPList.Clear();\n#endif\t\n\t\tUPDATE_CODE_VIEW();\n\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\tUPDATE_BP_FORM();\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&Num)==false)\n\t{//ǺϷıʽBPLoadϵ㴦\n\t\tUnicodeToAnsi(argv[1],szBuffer,MAX_FN_LEN);\n\t\tif(gpSyser->m_SyserUI.m_ModuleLoadBPMap.Remove(szBuffer)>0)\n\t\t\treturn 0;\n\t\tOUTPUT_INPUT_ERROR;\n\t\treturn 1;\n\t}\n\tif(Num>0x1000)\n\t{\n\t\tIndex = gpSyser->m_SyserUI.RemoveCodeBP(Num);\n\t\tIndex +=  gpSyser->m_pDebugger->RemoveDataBP(Num,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tif(Index > 0)\n\t\t{\n\t\t\tUPDATE_CODE_VIEW();\n\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\tUPDATE_BP_FORM();\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse\n\t{\n\t\tIndex = 0;\n\t\tfor(CCodeBPMap::IT Iter=gpSyser->m_pDebugger->m_pCodeBPMap->Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0 && Iter->pModuleBP==NULL)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->RemoveCodeBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif(Index==Num)\n\t\t\t{\n\t\t\t\tgpSyser->m_SyserUI.RemoveCodeBP(Iter.Key());\n\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex++;\n\t\t}\n\t\tfor(CDataBPList::IT Iter=gpSyser->m_pDebugger->m_pDataBPList->Begin();Iter!=gpSyser->m_pDebugger->m_pDataBPList->End();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->RemoveDataBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif(Index==Num)\n\t\t\t{\n\t\t\t\tgpSyser->m_SyserUI.m_ModuleLoadBPMap.Remove(Iter);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex++;\n\t\t}\n\n#ifdef CODE_OS_NT_DRV\n\t\tfor(PROC_RANGE_BP_MAP::IT Iter = gpSyser->m_RangeBPList.Begin();Iter!=gpSyser->m_RangeBPList.End();Iter++)\n\t\t{\n\t\t\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\t\t\tListBIT = Iter->Begin();\n\t\t\tListEIT = Iter->End();\n\t\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(Iter.Key());\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t\t\t{\n\t\t\t\t\tif(Index==Num)\n\t\t\t\t\t{\n\t\t\t\t\t\tIter->Remove(ListBIT);\t\n\t\t\t\t\t\tif(Iter->Count()==0)\n\t\t\t\t\t\t\tgpSyser->m_RangeBPList.Remove(Iter);\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t\tIndex++;\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t}\n#endif\n\n\t}\n\tOUTPUT(WSTR(\"%<3>Error %<1>: breakpoint isn't exist !\\n\"));\n\treturn 0;\n}\n\nint bd_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD Num,Index;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tCODE_ASSERT(pSyser->m_pDebugger);\n\tif(*argv[1] == (WCHAR)'*')\n\t{\n\t\tgpSyser->m_pDebugger->DisableAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_pDebugger->DisableAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.EnableAllLoadBP(false);\n\t\tgpSyser->m_SyserUI.EnableAllModuleBP(false);\n\t\tUPDATE_CODE_VIEW();\n\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\tUPDATE_BP_FORM();\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&Num)==false)\n\t{\n\t\tOUTPUT_INPUT_ERROR;\n\t\treturn 1;\n\t}\n\tif(Num>0x1000)\n\t{\n\t\tIndex = gpSyser->m_pDebugger->DisableCodeBP(Num,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tIndex += gpSyser->m_pDebugger->DisableDataBP(Num,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tIndex += gpSyser->m_SyserUI.EnableModuleBP(Num,false);\n\t\tif(Index > 0)\n\t\t{\n\t\t\tUPDATE_CODE_VIEW();\n\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\tUPDATE_BP_FORM();\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse\n\t{\n\t\tIndex = 0;\n\t\tfor(CCodeBPMap::IT Iter=gpSyser->m_pDebugger->m_pCodeBPMap->Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0 && Iter->pModuleBP==NULL)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->DisableCodeBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif(Index==Num)\n\t\t\t{\n\t\t\t\tgpSyser->m_SyserUI.EnableModuleBP(Iter.Key(),false);\n\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex++;\n\t\t}\n\t\tfor(CDataBPList::IT Iter=gpSyser->m_pDebugger->m_pDataBPList->Begin();Iter!=gpSyser->m_pDebugger->m_pDataBPList->End();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->DisableDataBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tIter->State = BP_STATE_DISABLE;\t\t\t\t\t\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\n#ifdef CODE_OS_NT_DRV\n\t\tfor(PROC_RANGE_BP_MAP::IT Iter = gpSyser->m_RangeBPList.Begin();Iter!=gpSyser->m_RangeBPList.End();Iter++)\n\t\t{\n\t\t\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\t\t\tListBIT = Iter->Begin();\n\t\t\tListEIT = Iter->End();\n\t\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(Iter.Key());\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t\t\t{\n\t\t\t\t\tif(Index==Num)\n\t\t\t\t\t{\n\t\t\t\t\t\tListBIT->State = BP_STATE_DISABLE;\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t\tIndex++;\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t}\n#endif\n\n\t}\n\tOUTPUT(WSTR(\"%<3>Error %<1>: breakpoint isn't exist !\\n\"));\n\treturn 0;\n}\n\nint be_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD Num,Index;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tCODE_ASSERT(pSyser->m_pDebugger);\n\tif(*argv[1] == (WCHAR)'*')\n\t{\n\t\tgpSyser->m_pDebugger->EnableAllCodeBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_pDebugger->EnableAllDataBP(BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tgpSyser->m_SyserUI.EnableAllLoadBP(true);\n\t\tgpSyser->m_SyserUI.EnableAllModuleBP(true);\n\t\tUPDATE_CODE_VIEW();\n\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\tUPDATE_BP_FORM();\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&Num)==false)\n\t{\n\t\tOUTPUT_INPUT_ERROR;\n\t\treturn 1;\n\t}\n\tif(Num>0x1000)\n\t{//Ǹַ\n\t\tIndex =  gpSyser->m_pDebugger->EnableCodeBP(Num,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tIndex += gpSyser->m_pDebugger->EnableDataBP(Num,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\tIndex += gpSyser->m_SyserUI.EnableModuleBP(Num);\n\t\tif(Index > 0)\n\t\t{\n\t\t\tUPDATE_CODE_VIEW();\n\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\tUPDATE_BP_FORM();\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse\n\t{//Ǹ\n\t\tIndex = 0;\n\t\tfor(CCodeBPMap::IT Iter=gpSyser->m_pDebugger->m_pCodeBPMap->Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0 && Iter->pModuleBP==NULL)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->EnableCodeBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif(Index==Num)\n\t\t\t{\n\t\t\t\tgpSyser->m_SyserUI.EnableModuleBP(Iter.Key());\n\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex++;\n\t\t}\n\t\tfor(CDataBPList::IT Iter=gpSyser->m_pDebugger->m_pDataBPList->Begin();Iter!=gpSyser->m_pDebugger->m_pDataBPList->End();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_pDebugger->EnableDataBP(&(*Iter));\n\t\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\t\tUPDATE_SOURCE_CODE_VIEW();\n\t\t\t\t\tUPDATE_BP_FORM();\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t\t{\n\t\t\t\tif(Index==Num)\n\t\t\t\t{\n\t\t\t\t\tIter->State = BP_STATE_ENABLE;\t\t\t\t\t\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\n#ifdef CODE_OS_NT_DRV\n\t\tfor(PROC_RANGE_BP_MAP::IT Iter = gpSyser->m_RangeBPList.Begin();Iter!=gpSyser->m_RangeBPList.End();Iter++)\n\t\t{\n\t\t\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\t\t\tListBIT = Iter->Begin();\n\t\t\tListEIT = Iter->End();\n\t\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(Iter.Key());\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t\t\t{\n\t\t\t\t\tif(Index==Num)\n\t\t\t\t\t{\n\t\t\t\t\t\tListBIT->State=\tBP_STATE_ENABLE;\t\t\t\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t\tIndex++;\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t}\n#endif\n\n\t}\n\tOUTPUT(WSTR(\"%<3>Error %<1>: breakpoint isn't exist !\\n\"));\n\treturn 0;\n}\n\nvoid DispCodeBreakPoint(int&Index,BREAK_POINT&BP,bool bAll)\n{\n\tWCHAR szType[128],szOwner[128],szName[128];\n\tif(bAll==false && BP.Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))\n\t\treturn;\n\tif(bAll==false && BP.pModuleBP)\n\t\treturn;\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Index OwnerProcess   Type     Address    Name\\n\"));\n\tTStrCpy(szType,\"Code\");\n\tAnsiToUnicode(BP.OwnerName,szOwner,128);\n\tAnsiToUnicode(BP.Name,szName,128);\n\n\tif(bAll)\n\t{\n\t\tCCodeBPMap::IT Iter = BP;\n\t\tif(BP.State!=BP_STATE_DISABLE)\n\t\t\tOUTPUT(WSTR(\"%-5X %<B>%-14s %<7>%-8s %<4>%08X   %<1>%s %08X\\n\"),Index,szOwner,szType,BP.Address,szName,(DWORD)Iter.Key());\n\t\telse\n\t\t\tOUTPUT(WSTR(\"%<C>%-5X %-14s %-8s %08X   %s  %08X\\n\"),Index,szOwner,szType,BP.Address,szName,(DWORD)Iter.Key());\n\t}\n\telse\n\t{\n\t\tif(BP.State!=BP_STATE_DISABLE)\n\t\t\tOUTPUT(WSTR(\"%-5X %<B>%-14s %<7>%-8s %<4>%08X   %<1>%s\\n\"),Index,szOwner,szType,BP.Address,szName);\n\t\telse\n\t\t\tOUTPUT(WSTR(\"%<C>%-5X %-14s %-8s %08X   %s\\n\"),Index,szOwner,szType,BP.Address,szName);\n\t}\n\tIndex++;\n}\n\nvoid DispModuleBreakPoint(int&Index,MODULE_BP&BP,bool bAll)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Index OwnerProcess   Type     Address    Name\\n\"));\n\tAnsiToUnicode(BP.Name,szBuffer,MAX_FN_LEN);\n\tCModuleBPMap::IT Iter = BP;\n\tif(BP.State !=BP_STATE_DISABLE)\n\t\tOUTPUT(WSTR(\"%-5X %<B><All Process>  %<7>Code     %<4>%08X   %<1>%s\\n\"),Index,Iter.Key(),szBuffer);\n\telse\n\t\tOUTPUT(WSTR(\"%<C>%-5X <All Process>  Code     %08X   %s\\n\"),Index,Iter.Key(),szBuffer);\n\tIndex++;\n}\n\nvoid DispDataBreakPoint(int&Index,BREAK_POINT&BP,bool bAll)\n{\n\tWCHAR szType[128],szOwner[128],szName[128];\n\tif(bAll==false && BP.Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))\n\t\treturn;\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Index OwnerProcess   Type     Address    Name\\n\"));\n\tTStrCpy(szType,\"Data \");\n\tTStrCat(szType,(PCSTR)BP.Description);\n\tAnsiToUnicode(BP.OwnerName,szOwner,128);\n\tAnsiToUnicode(BP.Name,szName,128);\n\tif(BP.State!=BP_STATE_DISABLE)\n\t\tOUTPUT(WSTR(\"%-5X %<B>%-14s %<7>%-8s %<4>%08X   %<1>%s\\n\"),Index,szOwner,szType,BP.Address,szName);\n\telse\n\t\tOUTPUT(WSTR(\"%<C>%-5X %-14s %-8s %08X   %s\\n\"),Index,szOwner,szType,BP.Address,szName);\n\tIndex++;\n}\n\nvoid DispBPLoadBreakPoint(int&Index,BP_LOAD&BP,PCSTR ModuleName,bool bAll)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tif(bAll==false && BP.Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))\n\t\treturn;\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Index OwnerProcess   Type     Address    Name\\n\"));\n\tAnsiToUnicode(ModuleName,szBuffer,MAX_FN_LEN);\n\tif(BP.State !=BP_STATE_DISABLE)\n\t\tOUTPUT(WSTR(\"%-5X %<B><All Process>  %<7>BPLoad   %<4>EntryPoint %<1>%s\\n\"),Index,szBuffer);\n\telse\n\t\tOUTPUT(WSTR(\"%<C>%-5X <All Process>  BPLoad   EntryPoint %s\\n\"),Index,szBuffer);\n\tIndex++;\n}\n\n#ifdef CODE_OS_NT_DRV\n\nvoid DispBPRBreakPoint(int&Index,BP_RANGE_INFO&BP,WCHAR*ProcName, bool bAll)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Index OwnerProcess   Type     Address    Name\\n\"));\n\tif(BP.State!=BP_STATE_DISABLE)\n\t\tOUTPUT(WSTR(\"%-5X %<B>%-14s %<7>%-8s %<4>%08X-%08X\\n\"),Index,ProcName,WSTR(\"BMR\"),BP.RangeStartAddress,BP.RangeStartAddress+BP.RangeLength);\n\telse\n\t\tOUTPUT(WSTR(\"%<C>-5X %<B>%-14s %-8s %08X-%08X\\n\"),Index,ProcName,WSTR(\"BMR\"),BP.RangeStartAddress,BP.RangeStartAddress+BP.RangeLength);\n\tIndex++;\n}\n\n#endif\n\nint bl_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tbool bDispAll;\n\tint Index=0;\n\tif(argc>1 && argv[1][0]=='*')\n\t\tbDispAll = true;\n\telse\n\t\tbDispAll = false;\n\tfor(CCodeBPMap::IT Iter=gpSyser->m_pDebugger->m_pCodeBPMap->Begin();Iter!=gpSyser->m_pDebugger->m_pCodeBPMap->End();Iter++)\n\t{\n\t\tDispCodeBreakPoint(Index,*Iter,bDispAll);\n\t}\n\tfor(CModuleBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tDispModuleBreakPoint(Index,*Iter,bDispAll);\n\t}\n\tfor(CDataBPList::IT Iter=gpSyser->m_pDebugger->m_pDataBPList->Begin();Iter!=gpSyser->m_pDebugger->m_pDataBPList->End();Iter++)\n\t{\n\t\tDispDataBreakPoint(Index,*Iter,bDispAll);\n\t}\n\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter!=gpSyser->m_SyserUI.m_ModuleLoadBPMap.End();Iter++)\n\t{\n\t\tDispBPLoadBreakPoint(Index,*Iter,Iter.Key(),bDispAll);\n\t}\n#ifdef CODE_OS_NT_DRV\n\tfor(PROC_RANGE_BP_MAP::IT Iter = gpSyser->m_RangeBPList.Begin();Iter!=gpSyser->m_RangeBPList.End();Iter++)\n\t{\n\t\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\t\tListBIT = Iter->Begin();\n\t\tListEIT = Iter->End();\n\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(Iter.Key());\n\t\tif(pDbgProcess)\n\t\t{\n\t\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t\t{\n\t\t\t\tDispBPRBreakPoint(Index,*ListBIT,(WCHAR*)pDbgProcess->m_ProcNameW,bDispAll);\n\t\t\t}\n\t\t}\t\t\n\t}\n#endif\n\n\tif(Index==0)\n\t\tOUTPUT(WSTR(\"Breakpoint doesn't exist!\\n\"));\n\treturn 0;\n}\n\nint bpload_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tif(argc==1)\n\t{\t\t\n\t\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter!=gpSyser->m_SyserUI.m_ModuleLoadBPMap.End();Iter++)\n\t\t{\n\t\t\tAnsiToUnicode(Iter.Key(),szBuffer,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"%s\\n\"),szBuffer);\n\t\t}\n\t}\n\telse if(argc==2)\n\t{\n\t\tPSTR szBufferA = (PSTR)szBuffer;\n\t\tUnicodeToAnsi(argv[1],szBufferA,MAX_FN_LEN);\n\t\tgpSyser->m_SyserUI.InsertLoadBP(szBufferA,0,BP_STATE_ENABLE);\n\t}\n\treturn 0;\n}\n\nint get_command_condition_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szCondition,int MaxSize)\n{\n\tPCWSTR ConditionBegin,ConditionEnd;\n\tint n;\n\tfor(n=2;n<argc;n++)\n\t{\n\t\tif(TStrICmp(argv[n],\"if\")==0)\n\t\t{\n\t\t\tn++;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(n>=argc)\n\t{\n\t\t*szCondition=0;\n\t\treturn 0;\n\t}\n\tConditionBegin = &szCommandLine[argv[n]-argv[0]];\n\tfor(;n<argc;n++)\n\t{\n\t\tif(TStrICmp(argv[n],\"do\")==0)\n\t\t\tbreak;\n\t}\n\tif(n>=argc)\n\t{\n\t\treturn TStrCpyLimit(szCondition,ConditionBegin,MaxSize);\n\t}\n\telse\n\t{\n\t\tConditionEnd = &szCommandLine[argv[n]-argv[0]];\n\t\twhile(ConditionEnd[-1]==' ' && ConditionEnd>ConditionBegin)\n\t\t\tConditionEnd--;\n\t\treturn TStrCpyLimit(szCondition,ConditionBegin,MIN(MaxSize,(int)(ConditionEnd-ConditionBegin)+1));\n\t}\n}\n\nint get_do_command_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szDoCmd,int MaxSize)\n{\n\tint n;\n\tfor(n=2;n<argc;n++)\n\t{\n\t\tif(TStrICmp(argv[n],\"do\")==0)\n\t\t{\n\t\t\tn++;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(n>=argc)\n\t{\n\t\t*szDoCmd = 0;\n\t\treturn 0;\n\t}\n\treturn TStrCpyLimit(szDoCmd,&szCommandLine[argv[n]-argv[0]],MaxSize);\n}\n\n\nint bpx_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS Address;\n\tCHAR Name[256],Condition[256],DoCmd[256];\n\tASSERT_DEBUGGER_OPENED\n\tif(argc<=1)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 1;\n\t}\n\tUnicodeToAnsi(argv[1],Name,sizeof(Name));\n\tif(get_command_condition_string(argc,argv,szCommandLine,Condition,256)>0)\n\t{\n\t\tif(CALCEXP(Condition,NULL)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid condition string !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tget_do_command_string(argc,argv,szCommandLine,DoCmd,256);\n\tint Count = 0;\n\tif(CALCEXP(argv[1],&Address))\n\t{\n\t\tif(gpSyser->m_SyserUI.InsertCodeBP(Address,Name,Condition,DoCmd)==false)\n\t\t\tOUTPUT(WSTR(\"Error : Fail to set code breakpoint at %08X!\\n\"),Address);\n\t\telse\n\t\t\tOUTPUT(WSTR(\"Set code break point at %<B>%08X%<1>!\\n\"),Address);\n\t}\n\telse\n\t{\n#ifdef CODE_OS_NT_DRV\n\t\tOUTPUT(WSTR(\"Error : Counldn't find symbol %<F>%s%<1> in [%<B>%s%<1>] process space\\n\"),argv[1],(PCWSTR)gpSyser->m_pDebugger->m_ProcNameW);\n#endif\n#ifdef CODE_OS_WIN\n\t\tOUTPUT(WSTR(\"Error : Counldn't find symbol %<F>%s%\\n\"),argv[1]);\n#endif\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn 0;\n}\n\n\nint bpm_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tUINT Type;\n\tULPOS Address;\n\tBREAK_POINT*pBP;\n\tCHAR Condition[256],DoCmd[256];\n\tint Length;\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tswitch(argv[0][3])\n\t{\n\tcase 'b':\n\tcase 'B':\n\t\tLength = 1;\n\t\tbreak;\n\tcase 'w':\n\tcase 'W':\n\t\tLength = 2;\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tLength = 4;\n\t\tbreak;\n\tdefault:\n\t\tLength = 0;\n\t\tbreak;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tType = BP_TYPE_READWRITE;\n\tif(argc>2 && TStrICmp(argv[2],\"if\") && TStrICmp(argv[2],\"do\"))\n\t{\n\t\tif(TStrICmp(argv[2],\"rw\")==0)\n\t\t\tType = BP_TYPE_READWRITE;\n\t\telse if(TStrICmp(argv[2],\"w\")==0)\n\t\t\tType = BP_TYPE_WRITE;\n\t\telse if(TStrICmp(argv[2],\"x\")==0)\n\t\t\tType = BP_TYPE_EXECUTE;\n\t\telse\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid access type !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tif(get_command_condition_string(argc,argv,szCommandLine,Condition,256)>0)\n\t{\n\t\tif(CALCEXP(Condition,NULL)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid condition string !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tget_do_command_string(argc,argv,szCommandLine,DoCmd,256);\n\tpBP = gpSyser->m_pDebugger->InsertDataBP(Address,Type,BP_STATE_ENABLE,Length);\n\tif(pBP)\n\t{\n\t\tif(*Condition)\n\t\t\tpBP->Condition = Condition;\n\t\tif(*DoCmd)\n\t\t\tpBP->DoCmd = DoCmd;\n\t\tOUTPUT(WSTR(\"Set data break point at %<B>%08X%<1>!\\n\"),Address);\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"Error : Fail to set dat breakpoint !\\n\"));\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn 0;\n}\n\nint bpio_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tUINT Type;\n\tULPOS Address;\n\tBREAK_POINT*pBP;\n\tCHAR Condition[256],DoCmd[256];\n\tint Length;\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false || Address>0xFFFF)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tLength = 0;\n\tType = BP_TYPE_IO_READWRITE;\n\tif(get_command_condition_string(argc,argv,szCommandLine,Condition,256)>0)\n\t{\n\t\tif(CALCEXP(Condition,NULL)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid condition string !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tget_do_command_string(argc,argv,szCommandLine,DoCmd,256);\n\tpBP = gpSyser->m_pDebugger->InsertDataBP(Address,Type,BP_STATE_ENABLE,Length);\n\tif(pBP)\n\t{\n\t\tif(*Condition)\n\t\t\tpBP->Condition = Condition;\n\t\tif(*DoCmd)\n\t\t\tpBP->DoCmd = DoCmd;\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"Error : fail to set breakpoint !\\n\"));\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn 0;\n}\n\nint stack_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD EBP;\n\tDWORD *pESP;\n\tWCHAR szBuffer[256];\n\tULSIZE CodeLen,Address;//\n\tCHAR szSymbol[MAX_SYMBOL_LEN];\n\tCDbgModule*pDbgModule;\n\tint m=0;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc==1)\n\t{\n\t\tEBP = *X86_REG_PTR.pEBP;\n\t}\n\telse\n\t{\n\t\tif(CALCEXP(argv[1],&EBP)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t}\n\tgpSyser->m_SyserUI.m_CallStack.UpdateContext(EBP);\n\tif(gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.Count())\n\t{\n\t\tOUTPUT(WSTR(\"CallReturn Frame    Function Name\\n\"));\n\t}\n\telse\n\t\tgpSyser->m_SyserUI.m_CallStack.UpdateContext(*X86_REG_PTR.pESP);\n\tif(gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.Count()==0)\n\t{\n\t\tOUTPUT(WSTR(\"CallReturn Frame    Function Name  count=0\\n\"));\n\t\tpESP=(DWORD*)*X86_REG_PTR.pESP;// Reg.GeneReg[ESP_IDX];\n\t\tDWORD dwTmpAddress,dwTmpAddress2;\n\t\tbool bReadOK;\n\t\tfor(int n=0;1;n++)\n\t\t{\n\t\t\tdwTmpAddress = ReadDword(&pESP[n],&bReadOK);\n\t\t\t\n\t\t\tif(bReadOK==false)\n\t\t\t\tbreak;\n\n\t\t\tdwTmpAddress2 = ReadDword(*(void**)&dwTmpAddress,&bReadOK);\n\t\t\tif(bReadOK==false)\n\t\t\t\tcontinue;\n\t\t\t\n\t\t\tCodeLen=gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(dwTmpAddress,szSymbol,&Address);\n\t\t\tif(CodeLen)\n\t\t\t{\n\t\t\t\tTStrCpy(szBuffer,\"no symbols\");\n\t\t\t\tif(*szSymbol==0)//Ҳžģ+ƫʽ\n\t\t\t\t{\n\t\t\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\t\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\t\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\t\tif(pDbgModule)\n\t\t\t\t\t\tTSPrintf(szSymbol,\"%s+0x%X\",(PCSTR)pDbgModule->m_ModuleTitle,Address-pDbgModule->m_ModuleBase);\n\t\t\t\t\telse\n\t\t\t\t\t\tTSPrintf(szSymbol,\"unknown_function\");\n\t\t\t\t\tTStrCpy(szBuffer,szSymbol);\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%<7>%08X   %08X %s\\n\"),dwTmpAddress,pESP,szBuffer);\n\t\t\t\tm++;\n\t\t\t\tif(m>20)\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\treturn 0;\n\t}\n\tfor(TList<CALL_FRAME>::IT Iter=gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.Begin();\n\t\tIter!=gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.End();Iter++)\n\t{\n\t\tAnsiToUnicode(Iter->FuncName,szBuffer,256);\n\t\tif(gpSyser->m_SyserUI.m_CallStack.m_pCurCallFrame ==&(*Iter))\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<7>%08X   %08X %s\\n\"),Iter->CallReturn,Iter->FrameAddress,szBuffer);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%08X   %08X %s\\n\"),Iter->CallReturn,Iter->FrameAddress,szBuffer);\n\t\t}\n\t}\n#ifdef CODE_OS_NT_DRV\n\tif(gpSyser->m_SyserUI.m_CallStack.m_CallFrameList.Count()<2)\n\t{\n\t\tOUTPUT(WSTR(\"------------------------------------------\\n\"));\n\t\tpESP=(DWORD*)Reg.GeneReg[ESP_IDX];\n\t\tDWORD dwTmpAddress,dwTmpAddress2;\n\t\tbool bReadOK;\n\t\tfor(int n=0;1;n++)\n\t\t{\n\t\t\tdwTmpAddress = ReadDword(&pESP[n],&bReadOK);\n\n\t\t\tif(bReadOK==false)\n\t\t\t\tbreak;\n\n\t\t\tdwTmpAddress2 = ReadDword(*(void**)&dwTmpAddress,&bReadOK);\n\t\t\tif(bReadOK==false)\n\t\t\t\tcontinue;\n\t\t\tszSymbol[0]=0;\n\t\t\tCodeLen=gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(dwTmpAddress,szSymbol,&Address);\n\t\t\tif(CodeLen)\n\t\t\t{\n\t\t\t\t//TStrCpy(szBuffer,\"no symbols\");\n\t\t\t\tif(*szSymbol==0)//Ҳžģ+ƫʽ\n\t\t\t\t{\n\t\t\t\t\tpDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\t\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\t\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\t\t\t\tif(pDbgModule)\n\t\t\t\t\t\tTSPrintf(szSymbol,\"%s+0x%X\",(PCSTR)pDbgModule->m_ModuleTitle,Address-pDbgModule->m_ModuleBase);\n\t\t\t\t\telse\n\t\t\t\t\t\tTSPrintf(szSymbol,\"unknown_function\");\n\t\t\t\t\tTStrCpy(szBuffer,szSymbol);\n\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%<7>%08X   %08X %s\\n\"),dwTmpAddress,pESP+n,szBuffer);\n\t\t\t\tm++;\n\t\t\t\tif(m>20)\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\t}\n#endif\n\treturn 0;\n}\n\nint skip_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tX86_CPU_REG_PTR RegPtr;\n\tASSERT_DEBUGGER_OPENED\n\tpSyser->m_pDebugger->GetX86RegPtr(&RegPtr);\n\t*RegPtr.pEIP+=pSyser->m_SyserUI.m_CodeDoc.InstrLen(*RegPtr.pEIP);\n\tpSyser->m_pDebugger->SaveRegister();\n\tUPDATE_CONTEXT();\n\treturn 0;\n}\n\nint cmt_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tASSERT_DEBUGGER_OPENED\n\tTMap<MODULE_ID,CCommentModule>::IT ModuleIter = gpSyser->m_SyserUI.m_CommentContainer.Begin();\n\twhile(ModuleIter.IsExist())\n\t{\n\t\tAnsiToUnicode(ModuleIter->m_ModuleName,szBuffer,MAX_FN_LEN);\n\t\tOUTPUT(WSTR(\"Comment Module : %<F>%s\\n\"),szBuffer);\n\t\tCCommentMap::IT CmtIter = ModuleIter->m_CommentMap.Begin();\n\t\twhile(CmtIter!=ModuleIter->m_CommentMap.End())\n\t\t{\n\t\t\tAnsiToUnicode(*CmtIter,szBuffer,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"%<5>%08X %<F>%s\\n\"),CmtIter.Key(),szBuffer);\n\t\t\tCmtIter++;\n\t\t}\n\t\tModuleIter++;\n\t}\n\treturn 0;\n}\n\nint u_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS Address,dwBaseAddress;\n\tint nItemCount;\n\tHANDLE hItem;\n\tNUM_PTR nLastAddr;\n\tCCodeView* pCodeView;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc==1)\n\t{\n\t\tAddress=*X86_REG_PTR.pEIP;\n\t\tif(argv[0][0]!='.')\n\t\t{\n\t\t\tpCodeView=ACTIVE_CODE_VIEW;\n\t\t\tnItemCount = pCodeView->GetItemCount();\n\t\t\thItem = pCodeView->GetItem(nItemCount);\n\t\t\tnLastAddr = pCodeView->GetItemData(hItem,1);\n\t\t\tAddress=(ULPOS)nLastAddr;\n\t\t}\t\t\n\t}\n\telse\n\t{\n\t\tif(argc==2)\n\t\t{\n\t\t\tif(TStrICmp(argv[1],WSTR(\"-\"))==0)\n\t\t\t{\n\t\t\t\tpCodeView=ACTIVE_CODE_VIEW;\n\t\t\t\tpCodeView->OnPrevPos(NULL);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\telse if(TStrICmp(argv[1],WSTR(\"+\"))==0)\n\t\t\t{\n\t\t\t\tpCodeView=ACTIVE_CODE_VIEW;\n\t\t\t\tpCodeView->OnNextPos(NULL);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\telse \n\t\t\t\tif(CALCEXP(argv[1],&Address)==false)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\t\t}\n\t\t\n\t\t\n\t\t\n\t\tif(argc==3)\n\t\t{\n\t\t\tWCHAR *param1,*param2;\n\t\t\tparam1=argv[1];\n\t\t\tparam2=argv[2];\n\t\t\tdo\n\t\t\t{\n\t\t\t\targc--;\n\t\t\t\tif(TStrICmp(param1,WSTR(\"-\"))==0)\n\t\t\t\t{\n\t\t\t\t\tif(CALCEXP(param2,&Address)==FALSE)\n\t\t\t\t\t{\n\t\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\tpCodeView=ACTIVE_CODE_VIEW;\n\t\t\t\t\tif(pCodeView==NULL)\n\t\t\t\t\t\treturn 1;\t\t\t\n\t\t\t\t\tdwBaseAddress = pSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveAddress();\n\t\t\t\t\tAddress=dwBaseAddress-Address;\n\t\t\t\t\tbreak;\n\n\t\t\t\t}\n\t\t\t\telse if(TStrICmp(param1,WSTR(\"+\"))==0)\n\t\t\t\t{\n\t\t\t\t\tif(CALCEXP(param2,&Address)==FALSE)\n\t\t\t\t\t{\n\t\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\tpCodeView=ACTIVE_CODE_VIEW;\n\t\t\t\t\tif(pCodeView==NULL)\n\t\t\t\t\t\treturn 1;\t\t\t\n\t\t\t\t\tdwBaseAddress = pSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveAddress();\t\t\t\t\t\t\t\t\n\t\t\t\t\tAddress=dwBaseAddress+Address;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse if(TStrICmp(param1,WSTR(\"-a\"))==0)\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.InsertView(NULL);\n\t\t\t\t\tif(CALCEXP(param2,&Address)==FALSE)\n\t\t\t\t\t{\n\t\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tparam1=argv[2];\n\t\t\t\tparam2=argv[1];\n\t\t\t}while(argc!=1);\n\t\t}\n\t}\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.SetActiveAddress(Address,true);\n\treturn 0;\n}\n\nint src_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS Address;\n\tif(argc==1)\n\t{\n\t\tAddress=*X86_REG_PTR.pEIP;\n\t}\n\telse\n\t{\n\t\tif(CALCEXP(argv[1],&Address)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_ADDRESS;\n\t\t\treturn 1;\n\t\t}\n\t}\n\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(Address);\n\tif(pSDSModule==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Couldn't find source code in SDS Module list !\\n\"));\n\t\treturn -1;\n\t}\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.SetActiveModule(pSDSModule);\n\tSDLINELIST LineList;\n\tif(pSDSModule->GetLineFromRva(Address-pSDSModule->m_pCurDbgModule->m_ModuleBase,&LineList))\n\t{\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.ShowSourceFile(pSDSModule,(*LineList[0])->FileID,(*LineList[0])->LineNumber);\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MultiSourceCodeView.UpdateAllView();\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SourceVariableWatchWnd.UpdateContext();\n\t}\n\treturn 0;\n}\n\nint a_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tULSIZE Length;\n\tCHAR szBuffer[128];\n\tBYTE CodeBuffer[64];\n\tDWORD EIP;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn 0;\n\tif(argc<3)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&EIP)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tTStrCpyLimit(szBuffer,&szCommandLine[argv[2]-argv[0]],sizeof(szBuffer));\n\tLength = gpSyser->m_SyserUI.m_CodeDoc.Asm(szBuffer,CodeBuffer,EIP);\n\tif(Length==0)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Invalid asm code string!\\n\"));\n\t\treturn -1;\n\t}\n\tif(pSyser->m_pDebugger->WriteMemory(EIP,CodeBuffer,Length)!=Length)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Fail to write code to %08X!\\n\"),argv[1]);\n\t\treturn -1;\n\t}\n\t//UPDATE_MEMORY_VIEW();\n\tUPDATE_CONTEXT();\n\treturn 0;\n}\n\nint e_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tint Length;\n\tULPOS Address;\n\tBYTE Buffer[256];\n\tPCWSTR szValue;\n\tif(argc < 2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(argc == 2)\n\t{\n\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(Address,argv[1]);\n\t\treturn 0;\n\t}\n\tZeroMemory(Buffer,sizeof(Buffer));\n\tszValue = &szCommandLine[argv[2]-argv[0]];\n\tbool Result;\n\tswitch(argv[0][1])\n\t{\n\tcase 'w':\n\tcase 'W':\n\t\tif(CALCEXP(szValue,(ULONG*)Buffer)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t\tResult = pSyser->m_pDebugger->WriteMemory(Address,Buffer,2)==2;\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tif(CALCEXP(szValue,(ULONG*)Buffer)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t\tResult = pSyser->m_pDebugger->WriteMemory(Address,Buffer,4)==4;\n\t\tbreak;\n\tdefault:\n\t\t{\n\t\t\tif(*szValue=='\"'||*szValue=='\\'')\n\t\t\t{\n\t\t\t\tszValue++;\n\t\t\t\tLength=0;\n\t\t\t\twhile(szValue[Length] && szValue[Length]!='\"'&& *szValue!='\\'' && Length<sizeof(Buffer)-1)\n\t\t\t\t{\n\t\t\t\t\tBuffer[Length]=(BYTE)szValue[Length];\n\t\t\t\t\tLength++;\n\t\t\t\t}\n\t\t\t\tBuffer[Length++]=0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tLength = THexStrToBytes(szValue,Buffer,sizeof(Buffer));\n\t\t\t\tif(Length==0)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t}\n\t\t\tResult = pSyser->m_pDebugger->WriteMemory(Address,Buffer,Length)==Length;\n\t\t}\n\t\tbreak;\n\t}\n\tif(!Result)\n\t\tOUTPUT_FAIL_TO_WRITE_MEM;\n\tUPDATE_CONTEXT();\n\treturn 0;\n}\n\nint r_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tCHAR szValueName[64];\n\tULONG Value;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc<2)\n\t{\n\t\tOUTPUT_INPUT_ERROR;\n\t\treturn -1;\n\t}\n\tif(argc>2)\n\t{\n\t\tif(CALCEXP(argv[2],&Value)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t\tUnicodeToAnsi(argv[1],szValueName,sizeof(szValueName));\n\t\tif(gpSyser->m_SyserUI.m_CodeDoc.SetPtrValue(szValueName,Value)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t\tgpSyser->m_pDebugger->SaveRegister();\n\t\tUPDATE_CONTEXT();\n\t}\n\telse\n\t{\n\t\tif(CALCEXP(argv[1],&Value)==false)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t\tOUTPUT(WSTR(\"%s = %X\\n\"),argv[1],Value);\n\t}\n\treturn 0;\n}\n\nint m_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD SourceAddress,SourceLen,DestAddress,MoveLen;\n\tif(argc!=4)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&SourceAddress)==false || CALCEXP(argv[3],&DestAddress)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[2],&SourceLen)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Invalid Length !\\n\"));\n\t\treturn -1;\n\t}\n\tif(SourceLen>0x10000)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Length too large !\\n\"));\n\t\treturn -1;\n\t}\n\tMoveLen = gpSyser->m_pDebugger->MoveMem(DestAddress,SourceAddress,SourceLen); \n\tOUTPUT(WSTR(\"%X bytes moved !\\n\"),MoveLen);\n\tUPDATE_CONTEXT();\n\treturn 0;\n}\n\n\nint c_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD SourceAddress,SourceLen,DestAddress,CmpLen;\n\tif(argc!=4)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&SourceAddress)==false || CALCEXP(argv[3],&DestAddress)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[2],&SourceLen)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Invalid Length !\\n\"));\n\t\treturn -1;\n\t}\n\tif(SourceLen>0x10000)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Length too large !\\n\"));\n\t\treturn -1;\n\t}\n\tCmpLen = gpSyser->m_pDebugger->CmpMem(DestAddress,SourceAddress,SourceLen); \n\tOUTPUT(WSTR(\"%X bytes is same!\\n\"),CmpLen);\n\treturn 1;\n}\n\n\nint f_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tBYTE Buffer[256];\n\tPCWSTR szValue;\n\tint BufSize,MemLength,Len,nFilled;\n\tULPOS Address;\n\tif(argc<4)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[2],(ULSIZE*)&MemLength)==false)\n\t{\n\t\tOUTPUT_INVALID_PARAM;\n\t\treturn -1;\n\t}\n\tszValue = &szCommandLine[argv[3]-argv[0]];\n\tif(*szValue=='\"'||*szValue=='\\'')\n\t{\n\t\tszValue++;\n\t\tBufSize=0;\n\t\twhile(szValue[BufSize] && szValue[BufSize]!='\"'&& *szValue!='\\'' && BufSize<sizeof(Buffer)-1)\n\t\t{\n\t\t\tBuffer[BufSize]=(BYTE)szValue[BufSize];\n\t\t\tBufSize++;\n\t\t}\n\t\tBuffer[BufSize++]=0;\n\t}\n\telse\n\t{\n\t\tBufSize = THexStrToBytes(szValue,Buffer,sizeof(Buffer));\n\t\tif(BufSize==0)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t}\n\tnFilled = 0;\n\twhile(MemLength>0)\n\t{\n\t\tLen = MemLength>BufSize ? BufSize:MemLength;\n\t\tif(pSyser->m_pDebugger->WriteMemory(Address+nFilled,Buffer,Len)!=Len)\n\t\t\tbreak;\n\t\tnFilled+=Len;\n\t\tMemLength-=Len;\n\t}\n\tOUTPUT(WSTR(\"%d Byte(s) filled !\\n\"),nFilled);\n\tUPDATE_CONTEXT();\n\t//UPDATE_MEMORY_VIEW();\n\treturn 0;\n}\n\nint s_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tstatic ULPOS\tPrevAddress = 0;\n\tstatic ULSIZE\tPrevLength = 0;\n\tstatic BYTE\t\tSearchBuffer[256];\n\tstatic int\t\tSearchBufSize;\n\tstatic int\t\tShowMode=0;\n\tstatic int\t\tOrgShowMode=0;\n\tPCWSTR szValue;\n\tint MemLength;\n\tULPOS Address,ResAddr;\n\tif(argc<4)\n\t{\n\t\tif(argc==1 && PrevLength>0)\n\t\t{\n\t\t\tAddress = PrevAddress;\n\t\t\tMemLength = PrevLength;\n\t\t\tgoto ContinueSearch;\n\t\t}\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tswitch(argv[0][1])\n\t{\n\tcase 0:\n\tcase 'd':\n\tcase 'D':\n\t\tOrgShowMode=0;\n\t\tbreak;\n\tcase 'c':\n\tcase 'C':\n\t\tOrgShowMode=1;\n\t\tbreak;\n\t}\n\tShowMode=OrgShowMode;\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[2],(ULSIZE*)&MemLength)==false)\n\t{\n\t\tOUTPUT_INVALID_PARAM;\n\t\treturn -1;\n\t}\n\tszValue = &szCommandLine[argv[3]-argv[0]];\n\tif(*szValue=='\"'||*szValue=='\\'')\n\t{\n\t\tszValue++;\n\t\tSearchBufSize=0;\n\t\twhile(szValue[SearchBufSize] && szValue[SearchBufSize]!='\"'&& szValue[SearchBufSize]!='\\'' && SearchBufSize<sizeof(SearchBuffer)-1)\n\t\t{\n\t\t\tSearchBuffer[SearchBufSize]=(BYTE)szValue[SearchBufSize];\n\t\t\tSearchBufSize++;\n\t\t}\n\t\tSearchBuffer[SearchBufSize]=0;\n\t}\n\telse\n\t{\n\t\tSearchBufSize = THexStrToBytes(szValue,SearchBuffer,sizeof(SearchBuffer));\n\t\tif(SearchBufSize==0)\n\t\t{\n\t\t\tOUTPUT_INVALID_PARAM;\n\t\t\treturn -1;\n\t\t}\n\t}\nContinueSearch:\n\tResAddr = gpSyser->m_pDebugger->SearchMem(Address,MemLength,SearchBuffer,SearchBufSize);\n\tif(ResAddr!=-1)\n\t{\n\t\tswitch(argv[0][1])\n\t\t{\n\t\tcase 0:\n\t\t\tShowMode=OrgShowMode;\n\t\t\tbreak;\n\t\tcase 'd':\n\t\tcase 'D':\n\t\t\tShowMode=0;\n\t\t\tbreak;\n\t\tcase 'c':\n\t\tcase 'C':\n\t\t\tShowMode=1;\n\t\t\tbreak;\n\t\t}\n\t\tOUTPUT(WSTR(\"Found at %08X\\n\"),ResAddr);\n\t\tPrevAddress = ResAddr+1;\n\t\tPrevLength = MemLength-(PrevAddress-Address);\n\t\tif(ShowMode==1)\n\t\t\tVIEW_CODE(ResAddr,true);\n\t\telse\n\t\t\tVIEW_DATA(ResAddr,SearchBufSize);\n\t}\n\telse\n\t{\n\t\tPrevLength = 0;\n\t\tOUTPUT(WSTR(\"Couldn't found in range!\\n\"));\n\t}\n\treturn 0;\n}\n\nint seg_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint SegIndex,SelectIndex;\n\tDWORD Value=0;\n\tASSERT_DEBUGGER_OPENED\n\tif(argc!=2)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : seg segment_name\\n\"));\n\t\treturn 1;\n\t}\n\tfor(SegIndex=0;SegIndex<sizeof(CInstrSym::m_SegStr)/sizeof(PCWSTR);SegIndex++)\n\t{\n\t\tif(TStrICmp(argv[1],CInstrSym::m_SegStr[SegIndex])==0)\n\t\t\tbreak;\n\t}\n\tif(SegIndex>=sizeof(CInstrSym::m_SegStr)/sizeof(PCWSTR))\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn 1;\n\t}\n\tswitch(SegIndex)\n\t{\n\tcase 0:\n\t\tSelectIndex = *X86_REG_PTR.pES;\n\t\tbreak;\n\tcase 1:\n\t\tSelectIndex = *X86_REG_PTR.pCS;\n\t\tbreak;\n\tcase 2:\n\t\tSelectIndex = *X86_REG_PTR.pSS;\n\t\tbreak;\n\tcase 3:\n\t\tSelectIndex = *X86_REG_PTR.pDS;\n\t\tbreak;\n\tcase 4:\n\t\tSelectIndex = *X86_REG_PTR.pFS;\n\t\tbreak;\n\tcase 5:\n\t\tSelectIndex = *X86_REG_PTR.pGS;\n\t\tbreak;\n\t}\t\n\tif(pSyser->m_pDebugger->GetSegRegBase(SelectIndex,&Value)==false)\n\t\tOUTPUT(WSTR(\"Seg %s isn't present !\\n\"),CInstrSym::m_SegStr[SegIndex]);\n\telse\n\t\tOUTPUT(WSTR(\"Seg %s : Base %08X\\n\"),CInstrSym::m_SegStr[SegIndex],Value);\n\treturn 0;\n}\n\nint sym_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tint Count=0;\n\tchar szSym[MAX_SYMBOL_LEN],szModule[MAX_FN_LEN];\n\tWCHAR szBuffer[MAX_SYMBOL_LEN],szModuleName[MAX_FN_LEN];\n\tbool bOk=false;\n\tDWORD Value;\n\tCSymbolModule*pSymbolModule;\n\tif(argc==4)\n\t{\n\t\tif(TStrICmp(argv[1],\"-a\")==0 || TStrICmp(argv[1],\"/a\")==0)\n\t\t{\n\t\t\tUnicodeToAnsi(argv[2],szSym,sizeof(szSym));\n\t\t\tif(CALCEXP(argv[3],&Value))\n\t\t\t{\n\t\t\t\tCDbgModule*pDbgModule = pSyser->m_pDebugger->m_ModuleList.GetModule(Value);\n\t\t\t\tif(pDbgModule==NULL)\n\t\t\t\t\tpDbgModule = pSyser->m_pSysDebugger->m_ModuleList.GetModule(Value);\n\t\t\t\tif(pDbgModule!=NULL)\n\t\t\t\t{\n\t\t\t\t\tif(pDbgModule->m_pSymbolModule==NULL)\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tpSymbolModule = gpSyser->m_SyserUI.m_SymbolContainer.InsertSymbolModule(pDbgModule->m_ModuleID);\n\t\t\t\t\t\tif(pSymbolModule)\n\t\t\t\t\t\t\tpSymbolModule->m_ModuleName = pDbgModule->m_ModuleName;\n\t\t\t\t\t\tif(pDbgModule)\n\t\t\t\t\t\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tbOk = pDbgModule->m_pSymbolModule->SetSymbol(Value-pDbgModule->m_ModuleBase,szSym);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tbOk=gpSyser->m_SyserUI.m_CodeDoc.InsertConstSym(szSym,Value);\n\t\t\t\t\t//OUTPUT(WSTR(\"Error : Can't find this module locate on %08X\\n\"),Value);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %s input error!\\n\"),argv[3]);\n\t\t\t}\n\t\t}\n\t\tif(bOk)\n\t\t\tOUTPUT(WSTR(\"Add '%s' ==> %08x succeed\\n\"),argv[2],Value);\n\t\telse\n\t\t\tOUTPUT(WSTR(\"Error : Add symbols error!\\n\"),argv[2],Value);\n\t\treturn 0;\n\t}\n\t\n\tif(argc<=1)\n\t{\n\t\tOUTPUT(WSTR(\"symbols ModuleName\\n\"));\n\t\tfor(CSymbolContainer::IT Iter = gpSyser->m_SyserUI.m_SymbolContainer.Begin();Iter.IsExist();Iter++)\n\t\t{\n\t\t\tif(Iter->m_ModuleName.IsEmpty())\n\t\t\t\tTStrCpy(szModuleName,\"<No Name>\");\n\t\t\telse\n\t\t\t\tAnsiToUnicode((PCSTR)Iter->m_ModuleName,szModuleName,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"%-5d   %s\\n\"),Iter->m_SymbolMap.Count(),TGetFileName(szModuleName));\n\t\t}\n\t\treturn 0;\n\t}\n\tif(argc==2)\n\t{\n\t\tUnicodeToAnsi(argv[1],szSym,sizeof(szSym));\n\t\t*szModule=0;\n\t}\n\telse\n\t{\n\t\tUnicodeToAnsi(argv[1],szModule,sizeof(szModule));\n\t\tUnicodeToAnsi(argv[2],szSym,sizeof(szSym));\n\t}\n\tfor(CSymbolContainer::IT ModeIter = gpSyser->m_SyserUI.m_SymbolContainer.Begin();ModeIter.IsExist();ModeIter++)\n\t{\n\t\tif(ModeIter->m_ModuleBase && (TCmpModuleName((PCSTR)ModeIter->m_ModuleName,szModule) || *szModule==0))\n\t\t{\n\t\t\tfor(CSymbolMap::IT Iter = ModeIter->m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t\t\t{\n\t\t\t\tif(TIMatchWithPattern(szSym,(PCSTR)*Iter))\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(*Iter,szBuffer,MAX_SYMBOL_LEN);\n\t\t\t\t\tif(ModeIter->m_ModuleName.IsEmpty())\n\t\t\t\t\t\tTStrCpy(szModuleName,\"<No Name>\");\n\t\t\t\t\telse\n\t\t\t\t\t\tAnsiToUnicode((PCSTR)ModeIter->m_ModuleName,szModuleName,MAX_FN_LEN);\n\t\t\t\t\tOUTPUT(WSTR(\"%<B>%08X %<1>: %<F>%s  %<1><%s>\\n\"),Iter.Key()+ModeIter->m_ModuleBase,szBuffer,TGetFileName(szModuleName));\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfor(CDbgModuleMap::IT ModeIter=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();ModeIter.IsExist();ModeIter++)\n\t{\n\t\tif(ModeIter->m_pSymbolModule&&ModeIter->m_pSymbolModule->m_ModuleBase==0&&(TCmpModuleName((PCSTR)ModeIter->m_ModuleName,szModule) || *szModule==0))\n\t\t{\n\t\t\tfor(CSymbolMap::IT Iter = ModeIter->m_pSymbolModule->m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t\t\t{\n\t\t\t\tif(TIMatchWithPattern(szSym,(PCSTR)*Iter))\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(*Iter,szBuffer,MAX_SYMBOL_LEN);\n\t\t\t\t\tif(ModeIter->m_pSymbolModule->m_ModuleName.IsEmpty())\n\t\t\t\t\t\tTStrCpy(szModuleName,\"<No Name>\");\n\t\t\t\t\telse\n\t\t\t\t\t\tAnsiToUnicode((PCSTR)ModeIter->m_pSymbolModule->m_ModuleName,szModuleName,MAX_FN_LEN);\n\t\t\t\t\tOUTPUT(WSTR(\"%<B>%08X %<1>: %<F>%s  %<1><%s>\\n\"),Iter.Key()+ModeIter->m_ModuleBase,szBuffer,TGetFileName(szModuleName));\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(gpSyser->m_pDebugger != gpSyser->m_pSysDebugger)\n\t{\n\t\tfor(CDbgModuleMap::IT ModeIter=gpSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Begin();ModeIter.IsExist();ModeIter++)\n\t\t{\n\t\t\tif(ModeIter->m_pSymbolModule&&ModeIter->m_pSymbolModule->m_ModuleBase==0&&(TCmpModuleName((PCSTR)ModeIter->m_ModuleName,szModule) || *szModule==0))\n\t\t\t{\n\t\t\t\tfor(CSymbolMap::IT Iter = ModeIter->m_pSymbolModule->m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t\t\t\t{\n\t\t\t\t\tif(TIMatchWithPattern(szSym,(PCSTR)*Iter))\n\t\t\t\t\t{\n\t\t\t\t\t\tAnsiToUnicode(*Iter,szBuffer,MAX_SYMBOL_LEN);\n\t\t\t\t\t\tif(ModeIter->m_pSymbolModule->m_ModuleName.IsEmpty())\n\t\t\t\t\t\t\tTStrCpy(szModuleName,\"<No Name>\");\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tAnsiToUnicode((PCSTR)ModeIter->m_pSymbolModule->m_ModuleName,szModuleName,MAX_FN_LEN);\n\t\t\t\t\t\tOUTPUT(WSTR(\"%<B>%08X %<1>: %<F>%s  %<1><%s>\\n\"),Iter.Key()+ModeIter->m_ModuleBase,szBuffer,TGetFileName(szModuleName));\n\t\t\t\t\t\tCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"%d Symbol(s)\\n\"),Count);\n\treturn 0;\n}\n\nint symmod_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tCSymbolContainer::IT Iter;\n\tint Count=0;\n\tOUTPUT(WSTR(\"Ref  SymbolCount FullFileName\\n\"));\n\tIter = gpSyser->m_SyserUI.m_SymbolContainer.Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->m_SymbolMap.Count())\n\t\t{\n\t\t\tAnsiToUnicode(Iter->m_ModuleName,szBuffer,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"%-4d %-8d    %s\\n\"),Iter->m_ReferenceCount,Iter->m_SymbolMap.Count(),szBuffer);\n\t\t\tCount++;\n\t\t}\n\t\tIter++;\n\t}\n\tOUTPUT(WSTR(\"%d Module(s)\\n\"),Count);\n\treturn 0;\n}\n\nint sdsmod_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tCSDSModuleMap::IT Iter;\n\tint Count=0;\n\tIter = gpSyser->m_SyserUI.m_SDSModuleMap.Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Count==0)\n\t\t\tOUTPUT(WSTR(\"File BP(s) Size(k) CheckSum TimeStamp ModuleName\\n\"));\n\t\tAnsiToUnicode(Iter->m_ModuleFileName,szBuffer,MAX_FN_LEN);\n\t\tOUTPUT(WSTR(\"%-4d %7dk %08X %08X  %s\\n\"),Iter->m_BreakPointList.Count(),Iter->m_MemoryUsed/1024,\n\t\t\t\tIter->m_SDSymbolFile->ModuleID.OrgPECheckSum,Iter->m_SDSymbolFile->ModuleID.TimeDateStamp,szBuffer);\n\t\tCount++;\n\t\tIter++;\n\t}\n\tOUTPUT(WSTR(\"%d Module(s)\\n\"),Count);\n\treturn 0;\n}\nchar* TimeDateStampToString(DWORD TimeDateStamp,char* TimeString);\nvoid DispModuleInfo(CDbgModule*pModule)\n{\n\tchar TimeDateStamp[30];\n\tWCHAR wTimeDateStamp[30];\n\tTimeDateStampToString(LOW_DWORD(pModule->m_ModuleID)-gpSyser->m_TimeZoneBias,TimeDateStamp);\n\tTStrCpy(wTimeDateStamp,TimeDateStamp);\n\tWCHAR szTitle[MAX_FN_LEN],szFullName[MAX_FN_LEN];\n\tAnsiToUnicode(pModule->m_ModuleTitle,szTitle,MAX_FN_LEN);\n\tAnsiToUnicode(pModule->m_ModuleFullName,szFullName,MAX_FN_LEN);\n\tOUTPUT(WSTR(\"%-20s %08X  %08X  %08X %-20s%s\\n\"),szTitle,pModule->m_ModuleBase,pModule->m_ModuleSize,HIGH_DWORD(pModule->m_ModuleID),wTimeDateStamp,szFullName);\n}\n\nint mod_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tDWORD i=0;\n\tDWORD Address=0xffffffff;\n\tint TmpIndex=1;\n\tDWORD dwType=0;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"ModuleName           ImageBase ImageSize CheckSum TimeStamp           FullFileName\\n\"));\n\t\tfor(CDbgModuleMap::IT Iter=pSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=pSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t\t{\n\t\t\tDispModuleInfo(&(*Iter));\n\t\t\ti++;\n\t\t}\n\t\treturn 0;\n\t}\n\n\tif(TStrCmp(argv[1],\"-u\")==0)\n\t{\n\t\tdwType=1;\n\t}else if(TStrCmp(argv[1],\"-s\")==0)\n\t{\n\t\tdwType=2;\n\t}\n\tif(dwType)\n\t{\n\t\tTmpIndex++;\n\t}\n\tif(argc>(int)TmpIndex&& CALCEXP(argv[TmpIndex],&Address))\n\t{\n\t\tCDbgModule*pDbgModule = pSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\t\tif(pDbgModule==NULL)\n\t\t\tpDbgModule = pSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\t\tif(pDbgModule==NULL)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Can't find this module locate on %08X\\n\"),Address);\n\t\t\treturn 1;\n\t\t}\n\t\tOUTPUT(WSTR(\"ModuleName           ImageBase ImageSize FullFileName\\n\"));\n\t\tDispModuleInfo(pDbgModule);\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"ModuleName           ImageBase ImageSize FullFileName\\n\"));\n\t\tif(pSyser->m_pSysDebugger!=pSyser->m_pDebugger)\n\t\t{\n\t\t\tif(dwType!=2)\n\t\t\t{\n\t\t\t\tfor(CDbgModuleMap::IT Iter=pSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=pSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t\t\t\t{\n\t\t\t\t\tif(argc>TmpIndex)\n\t\t\t\t\t{\n\t\t\t\t\t\tAnsiToUnicode(Iter->m_ModuleFullName,szBuffer,MAX_FN_LEN);\n\t\t\t\t\t\tfor(int n = TmpIndex;n<argc;n++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(TCmpModuleName(szBuffer,argv[n]) || TIMatchWithPattern(argv[n],TGetFileName(szBuffer)))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tDispModuleInfo(&(*Iter));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tDispModuleInfo(&(*Iter));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(dwType!=1)\n\t\t{\n\t\t\tfor(CDbgModuleMap::IT Iter=pSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=pSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t\t\t{\n\t\t\t\tif(argc>TmpIndex)\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(Iter->m_ModuleFullName,szBuffer,MAX_FN_LEN);\n\t\t\t\t\tfor(int n = TmpIndex;n<argc;n++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(TCmpModuleName(szBuffer,argv[n]) || TIMatchWithPattern(argv[n],TGetFileName(szBuffer)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tDispModuleInfo(&(*Iter));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tDispModuleInfo(&(*Iter));\n\t\t\t}\n\t\t}\n\t}\n\treturn 0;\n}\n\nint test_command11(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n//\tCBeaEngine Engine;\n//\tDISASM MyDisasm;\n//\tchar buf1[1024];\n//\tWCHAR buffer[256];\n//\tint i = 0,j=0;\n//\tDWORD Address;\n//\n//\n//\t__asm\n//\t{\n//\t\tcall local_1\n//\t\t\n//\t\tadd eax,Address\t\n//\t\t\n//\t\tlock _emit(0x66)\n//\t\t_emit(0xf)\n//\t\t_emit(0x38)\n//\t\t_emit(0x15)\n//\t\tnop \n//\t\tnop \n//\t\tnop\n//\t\tnop\n//\t\tnop \n//\t\tnop \n//\t\tnop\n//\t\tnop\n//\t\tlock xchg eax,Address\n//\t\txchg Address,eax\n//\t\tmov eax,es:[ebx]\n//local_1:\n//\t\tpop DWORD ptr [Address] \n//\t\tmov eax,0xff \n//\t\t\n//\t\t\n//\n//\t}\n//\t//Address = (DWORD)buf1;\n//\tmemset(&MyDisasm,0,sizeof(MyDisasm));\n//\tMyDisasm.Options=Tabulation|MasmSyntax|ShowSegmentRegs;\n//\tMyDisasm.EIP = (__int64)Address;\n//\tMyDisasm.VirtualAddr=Address;\n//\n//\t/* ============================= Loop for Disasm */\n//\twhile(i<0x200)\n//\t{\n//\t\tMyDisasm.EIP+=j;\n//\t\tMyDisasm.VirtualAddr+=j;\n//\t\tj=Engine.Disasm(&MyDisasm);\n//\t\t\n//\t\ti+=j;\n//\t\t{\n//\t\t\tTStrCpy(buffer,MyDisasm.CompleteInstr);\n//\n//\t\t\tOUTPUT(WSTR(\"%08X %s        [%d][%x] [%d][%d][%d]\\n\"),(int)MyDisasm.EIP, buffer,j,MyDisasm.Instruction.Opcode,MyDisasm.Prefix.Number,MyDisasm.Prefix.LockPrefix,MyDisasm.Prefix.OperandSize);\n//\t\t}\n//\t}\n\t\n\treturn 0;\n}"
  },
  {
    "path": "Project/Syser/Source/DebugCmd.h",
    "content": "#ifndef _DEBUG_CMD_H_\n#define _DEBUG_CMD_H_\n\nDECLARE_SYSER_CMD(exit_system_command);\nDECLARE_SYSER_CMD(go_command);\nDECLARE_SYSER_CMD(trace_command);\nDECLARE_SYSER_CMD(source_trace_command);\nDECLARE_SYSER_CMD(trace_branch_command);\nDECLARE_SYSER_CMD(bc_command);\nDECLARE_SYSER_CMD(bl_command);\nDECLARE_SYSER_CMD(bd_command);\nDECLARE_SYSER_CMD(be_command);\nDECLARE_SYSER_CMD(bpx_command);\nDECLARE_SYSER_CMD(bpload_command);\nDECLARE_SYSER_CMD(bpm_command);\nDECLARE_SYSER_CMD(bpio_command);\nDECLARE_SYSER_CMD(p_command);\nDECLARE_SYSER_CMD(source_proceed_command);\nDECLARE_SYSER_CMD(skip_command);\nDECLARE_SYSER_CMD(u_command);\nDECLARE_SYSER_CMD(cpu_command);\nDECLARE_SYSER_CMD(r_command);\nDECLARE_SYSER_CMD(s_command);\nDECLARE_SYSER_CMD(c_command);\nDECLARE_SYSER_CMD(a_command);\nDECLARE_SYSER_CMD(e_command);\nDECLARE_SYSER_CMD(m_command);\nDECLARE_SYSER_CMD(f_command);\nDECLARE_SYSER_CMD(seg_command);\nDECLARE_SYSER_CMD(cmt_command);\nDECLARE_SYSER_CMD(stack_command);\nDECLARE_SYSER_CMD(src_command);\nDECLARE_SYSER_CMD(bpmsg_command);\nDECLARE_SYSER_CMD(sym_command);\nDECLARE_SYSER_CMD(symmod_command);\nDECLARE_SYSER_CMD(sdsmod_command);\nDECLARE_SYSER_CMD(mod_command);\nDECLARE_SYSER_CMD(test_command11);\n\n#ifdef CODE_OS_WIN\nDECLARE_SYSER_CMD(open_command);\nDECLARE_SYSER_CMD(close_command);\nDECLARE_SYSER_CMD(reset_command);\n#endif\n\nextern SYSER_CMD_ENTRY DebugCmdTable[];\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/DebuggerSelectForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DebuggerSelectForm.h\"\n#include \"Syser.h\"\n\nenum CDebuggerSelectForm::WISP_FORM_ID\n{\n\tCMD_ID_DEBUGGER_LIST = WISP_ID_USER_START,\n\tCMD_ID_BT_PLUGIN,\n\tCMD_ID_BT_REFRESH,\n};\n\nWISP_FORM_RES_ITEM CDebuggerSelectForm::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,200},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Debugger Select ...\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t\tWSTR(\"Select Debugger Plugin Module!\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{5,5,300,160},\n\t\tCMD_ID_DEBUGGER_LIST,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER|WISP_WLS_SELECTED_ALWAYS,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{315,20,64,64},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{312,100,70,20},\n\t\tCMD_ID_BT_PLUGIN,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Plugin\"),\n\t\tNULL,\n\t\tWSTR(\"Plug Debugger into Syser\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{312,140,70,20},\n\t\tCMD_ID_BT_REFRESH,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Refresh\"),\n\t\tNULL,\n\t\tWSTR(\"Refresh Debugger Module list\")\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CDebuggerSelectForm)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_EVENT_MAP_BEGIN(CDebuggerSelectForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_PLUGIN,OnPlugin)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_REFRESH,OnRefresh)\nWISP_MSG_EVENT_MAP_END\n\n\nCDebuggerSelectForm::CDebuggerSelectForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCDebuggerSelectForm::~CDebuggerSelectForm()\n{\n\n}\n\nvoid CDebuggerSelectForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t\tCreateForm();\n}\n\nbool CDebuggerSelectForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_pDebuggerList = (CWispList*)GetFormItem(CMD_ID_DEBUGGER_LIST);\n\tm_pDebuggerList->InsertColumn(WSTR(\"Module Name\"),95);\n\tm_pDebuggerList->InsertColumn(WSTR(\"Information\"),200);\n\tOnRefresh(NULL);\n\treturn true;\n}\n\nbool CDebuggerSelectForm::OnPlugin(WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\thItem = m_pDebuggerList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\t\n#ifdef CODE_OS_WIN\n\tgpSyser->LoadDebugger(m_pDebuggerList->GetItemCell(hItem)->szText);\n#endif\n\tDestroy();\n\treturn true;\n}\n\nbool CDebuggerSelectForm::OnRefresh(WISP_MSG*pMsg)\n{\n\tm_pDebuggerList->ClearChildItem();\n#ifdef CODE_OS_WIN\n\tHANDLE hItem;\n\tFPGetInfo fGetInfo;\n\tFPCreateDebugger fCreateDebugger;\n\tHMODULE hDll;\n\tFILE_FIND_DATA\tFileFindData;\n\tchar szName[MAX_FN_LEN],szDllName[MAX_FN_LEN],szBuffer[MAX_LONG_NAME_LEN];\n\tWCHAR szModuleName[MAX_NAME_LEN],szInfo[MAX_LONG_NAME_LEN];\n\tGetModulePath(szName);\n\tTStrCpy(szDllName,szName);\n\tTStrCat(szDllName,\"*.dll\");\n\tif(gpFileIO->FindFirstFile(szDllName,&FileFindData))\n\t{\n\t\tdo\n\t\t{\n\t\t\tTStrCpy(szDllName,szName);\n\t\t\tTStrCat(szDllName,FileFindData.FileName);\n\t\t\tif(hDll = LoadLibrary(szDllName))\n\t\t\t{\n\t\t\t\t(FARPROC&)fGetInfo = GetProcAddress(hDll,\"GetInfo\");\n\t\t\t\t(FARPROC&)fCreateDebugger = GetProcAddress(hDll,\"CreateDebugger\");\n\t\t\t\tif(fGetInfo && fCreateDebugger)\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(FileFindData.FileName,szModuleName,MAX_NAME_LEN);\n\t\t\t\t\thItem=m_pDebuggerList->InsertItem(szModuleName);\n\t\t\t\t\tfGetInfo(szBuffer);\n\t\t\t\t\tAnsiToUnicode(szBuffer,szInfo,MAX_LONG_NAME_LEN);\n\t\t\t\t\tm_pDebuggerList->SetItemText(hItem,1,szInfo);\n\t\t\t\t\tif(gpSyser->m_hDebuggerModule==hDll)\n\t\t\t\t\t\tm_pDebuggerList->SetItemTextColor(hItem,-1,SYS_COLOR[SC_LIGHT_RED]);\n\t\t\t\t}\n\t\t\t\tFreeLibrary(hDll);\n\t\t\t}\n\t\t}while(gpFileIO->FindNextFile(&FileFindData));\n\t}\n\tgpFileIO->FindClose(&FileFindData);\n#endif\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/DebuggerSelectForm.h",
    "content": "#ifndef _DEBUGGER_SELECT_FORM_H_\n#define _DEBUGGER_SELECT_FORM_H_\n\nclass CDebuggerSelectForm : public CWispForm\n{\npublic:\n\tCDebuggerSelectForm();\n\t~CDebuggerSelectForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tvoid\tPopup();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnPlugin)\n\tDECLARE_WISP_MSG_EVENT(OnRefresh)\npublic:\n\tCWispList*m_pDebuggerList;\n};\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Dump.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"Dump.h\"\n\nbool MakePE(CDbgModule*pDbgModule,BYTE*DumpBuffer,int Size)\n{\n\tint n;\n\tDWORD MaxSize;\n\tBYTE* SectionBuffer;\n\tCMemPEFile MemPEFile;\n\tCImageFile NewPEFile;\n\t\n\tNewPEFile.Create(Size,DumpBuffer);\n\n\tif(MemPEFile.Open(pDbgModule->m_ModuleBase,0,CDebugger::ReadMemory,gpSyser->m_pDebugger)==false)\n\t\treturn false;\n\n\tMemPEFile.m_ImageBase = pDbgModule->m_ModuleBase;\n\tMaxSize = 0;\n\tfor(n=0;n<=MemPEFile.m_SectCount;n++)\n\t{\n\t\tif(MemPEFile.m_Section[n].VirtualSize>MemPEFile.m_ImageSize || MemPEFile.m_Section[n].VirtualAddress>MemPEFile.m_ImageSize)\n\t\t\treturn false;\n\t\tif(MemPEFile.m_Section[n].VirtualSize > MaxSize)\n\t\t\tMaxSize = MemPEFile.m_Section[n].VirtualSize;\n\t}\n\tSectionBuffer = new BYTE[MaxSize];\n\t__try\n\t{\n\t\tfor(n=0;n<=MemPEFile.m_SectCount;n++)\n\t\t{\n\t\t\tgpSyser->m_pDebugger->ReadMemory(MemPEFile.m_Section[n].VirtualAddress + MemPEFile.m_ImageBase,SectionBuffer,MemPEFile.m_Section[n].VirtualSize);\n\t\t\tNewPEFile.WriteFile(MemPEFile.m_Section[n].VirtualAddress,SectionBuffer,MemPEFile.m_Section[n].VirtualSize);\n\t\t\tMemPEFile.m_Section[n].PointerToRawData\t= MemPEFile.m_Section[n].VirtualAddress;\n\t\t\tMemPEFile.m_Section[n].SizeOfRawData = MemPEFile.m_Section[n].VirtualSize;\n\t\t}\n\t\tn = MemPEFile.GetLastMemAddrSection();\n\t\tMemPEFile.m_PEHead.SizeOfImage = ALIGN_SIZE(MemPEFile.m_Section[n].VirtualAddress + MemPEFile.m_Section[n].VirtualSize,MP_SIZE);\n\t\t/////////////////////////////////////////////////////////////////////\n\t\t//дPEͷ\n\t\t/////////////////////////////////////////////////////////////////////\n\t\tint SectionOff=MemPEFile.m_PEHead.SizeOfOptionalHeader+MemPEFile.m_PEOff+0x18;\n\n\t\tNewPEFile.WriteFile(MemPEFile.m_PEOff,&MemPEFile.m_PEHead,sizeof(PE_HEAD));\n\t\tNewPEFile.WriteFile(SectionOff,&MemPEFile.m_Section[1],sizeof(PE_SECTION)*MemPEFile.m_SectCount);\n\t}\n\t__except(1)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Fail to dump !\\n\"));\n\t};\n\tNewPEFile.Close();\n\tdelete SectionBuffer;\n\treturn true;\n}\n\nint dump_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tWCHAR wszBuffer[MAX_FN_LEN];\n\tULPOS Address,RDAddr;\n\tint Size,RDSize;\n// \tif(gpSyser->m_SysInfo.m_bSNPass && gpSyser->m_SysInfo.m_SNType==SN_STUDENT)\n// \t{\n// \t\tOUTPUT(WSTR(\"Student version limited\\n\"));\n// \t\treturn -1;\n// \t}\n\tif(argc<3)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn 1;\n\t}\n\tif(CALCEXP(argv[2],(ULPOS*)&Size)==false || Size==0)\n\t{\n\t\tOUTPUT_INVALID_PARAM;\n\t\treturn 1;\n\t}\n\tif(argc<4)\n\t{\n\t\tOUTPUT(WSTR(\"Use default filename\\n\"));\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\C:\\\\SyserDump.bin\");\n\t}\n\telse\n\t{\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\\");\n\t\tUnicodeToAnsi(argv[3],&szBuffer[4],MAX_FN_LEN-4);\n\t}\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE+Size))\n\t{\n\t\tOUTPUT(WSTR(\"Error : Not enough memory to dump this module ! Please enlarge syser heap size !\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\tCSyserDumpList::IT Iter = gpSyser->m_DumpList.Append();\n\tIter->DumpSize = Size;\n\tIter->DumpData = (BYTE*)gpUserHeap[SYSER_MAIN_HEAP]->Allocate(Iter->DumpSize);\n\tif(Iter->DumpData==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Not enough memory to dump this module ! Please enlarge syser heap size !\\n\"),argv[1]);\n\t\tgpSyser->m_DumpList.Remove(Iter);\n\t\treturn 1;\n\t}\n\tIter->DumpFileName = szBuffer;\n\tZeroMemory(Iter->DumpData,Iter->DumpSize);\n\tRDAddr = Address;\n\tif(RDAddr%MP_SIZE)\n\t{\n\t\tRDSize = MP_SIZE-(RDAddr%MP_SIZE);\n\t\tMAX_LIMIT(RDSize,Size);\n\t\tgpSyser->m_pDebugger->ReadMemory(RDAddr,Iter->DumpData,RDSize);\n\t\tSize-=RDSize;\n\t\tRDAddr+=RDSize;\n\t}\n\twhile(Size>MP_SIZE)\n\t{\n\t\tgpSyser->m_pDebugger->ReadMemory(RDAddr,&Iter->DumpData[RDAddr-Address],MP_SIZE);\n\t\tRDAddr+=MP_SIZE;\n\t\tSize-=MP_SIZE;\n\t}\n\tif(Size)\n\t{\n\t\tgpSyser->m_pDebugger->ReadMemory(RDAddr,&Iter->DumpData[RDAddr-Address],Size);\n\t\tSize=0;\n\t}\n\tOUTPUT(WSTR(\"Address %<5>0x%08X %<1> ----- %<5>0x%08X\\n\"),Address,Address+Iter->DumpSize);\n\tAnsiToUnicode(Iter->DumpFileName,wszBuffer,MAX_FN_LEN);\n\tOUTPUT(WSTR(\"%<5>0x%X %<1>byte(s) prepare to dump to RAW file %<F>%s\\n\"),Iter->DumpSize,wszBuffer);\n\tOUTPUT(WSTR(\"This file will be written after exiting syser !\\n\"));\n\tKeSetEvent(&gpSyser->m_WaitEvent,0,FALSE);\n\treturn 0;\n}\n\nint makepe_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tWCHAR wszBuffer[MAX_FN_LEN];\n// \tif(gpSyser->m_SysInfo.m_bSNPass && gpSyser->m_SysInfo.m_SNType==SN_STUDENT)\n// \t{\n// \t\tOUTPUT(WSTR(\"Student version limited\\n\"));\n// \t\treturn -1;\n// \t}\n\tif(argc<2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 1;\n\t}\n\tif(argc<3)\n\t{\n\t\tOUTPUT(WSTR(\"Use default filename\\n\"));\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\C:\\\\SyserDump.bin\");\n\t}\n\telse\n\t{\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\\");\n\t\tUnicodeToAnsi(argv[2],&szBuffer[4],MAX_FN_LEN-4);\n\t}\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->GetModule(argv[1]);\n\tif(pDbgModule==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Couldn't find module %s\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE+pDbgModule->m_ModuleSize))\n\t{\n\t\tOUTPUT(WSTR(\"Error : Not enough memory to dump this module ! Please enlarge syser heap size !\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\tCSyserDumpList::IT Iter = gpSyser->m_DumpList.Append();\n\tIter->DumpSize = pDbgModule->m_ModuleSize;\n\tIter->DumpData = (BYTE*)gpUserHeap[SYSER_MAIN_HEAP]->Allocate(Iter->DumpSize);\n\tif(Iter->DumpData==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Not enough memory to dump this module ! Please enlarge syser heap size !\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\tIter->DumpFileName = szBuffer;\n\tZeroMemory(Iter->DumpData,Iter->DumpSize);\n\tMakePE(pDbgModule,Iter->DumpData,Iter->DumpSize);\n\tAnsiToUnicode(pDbgModule->m_ModuleName,wszBuffer,MAX_FN_LEN);\n\tOUTPUT(WSTR(\"Module Name %<F>%s %<1>Module Base %<5>0x%08X %<1>Module Size %<5>0x%08X\\n\"),wszBuffer,pDbgModule->m_ModuleBase,pDbgModule->m_ModuleSize);\n\tAnsiToUnicode(Iter->DumpFileName,wszBuffer,MAX_FN_LEN);\n\tOUTPUT(WSTR(\"%<5>0x%X %<1>byte(s) prepare to dump to RAW file %<F>%s\\n\"),Iter->DumpSize,wszBuffer);\n\tOUTPUT(WSTR(\"This file will be written after exiting syser !\\n\"));\n\tKeSetEvent(&gpSyser->m_WaitEvent,0,FALSE);\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Syser/Source/Dump.h",
    "content": "#ifndef _DUMP_H_\n#define _DUMP_H_\n\nDECLARE_SYSER_CMD(makepe_command);\nDECLARE_SYSER_CMD(dump_command);\n\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/EHCIMouse.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"EHCIMouse.h\""
  },
  {
    "path": "Project/Syser/Source/EHCIMouse.h",
    "content": "#ifndef _ECHIMOUSE_H_\n#define _ECHIMOUSE_H_\n#endif //_ECHIMOUSE_H_"
  },
  {
    "path": "Project/Syser/Source/ErrorCodeTable.cpp",
    "content": "#include \"Stdafx.h\" \n#include \"ErrorCodeTable.h\"\nERRORCODES ErrorCodes[]={\n\t{0,\"The operation completed successfully.\",\"ERROR_SUCCESS\"},\n\t{1,\"Incorrect function.\",\"ERROR_INVALID_FUNCTION\"},\n\t{2,\"The system cannot find the file specified.\",\"ERROR_FILE_NOT_FOUND\"},\n\t{3,\"The system cannot find the path specified.\",\"ERROR_PATH_NOT_FOUND\"},\n\t{4,\"The system cannot open the file.\",\"ERROR_TOO_MANY_OPEN_FILES\"},\n\t{5,\"Access is denied.\",\"ERROR_ACCESS_DENIED\"},\n\t{6,\"The handle is invalid.\",\"ERROR_INVALID_HANDLE\"},\n\t{7,\"The storage control blocks were destroyed.\",\"ERROR_ARENA_TRASHED\"},\n\t{8,\"Not enough storage is available to process this command.\",\"ERROR_NOT_ENOUGH_MEMORY\"},\n\t{9,\"The storage control block address is invalid.\",\"ERROR_INVALID_BLOCK\"},\n\t{10,\"The environment is incorrect.\",\"ERROR_BAD_ENVIRONMENT\"},\n\t{11,\"An attempt was made to load a program with an incorrect format.\",\"ERROR_BAD_FORMAT\"},\n\t{12,\"The access code is invalid.\",\"ERROR_INVALID_ACCESS\"},\n\t{13,\"The data is invalid.\",\"ERROR_INVALID_DATA\"},\n\t{14,\"Not enough storage is available to complete this operation.\",\"ERROR_OUTOFMEMORY\"},\n\t{15,\"The system cannot find the drive specified.\",\"ERROR_INVALID_DRIVE\"},\n\t{16,\"The directory cannot be removed.\",\"ERROR_CURRENT_DIRECTORY\"},\n\t{17,\"The system cannot move the file to a different disk drive.\",\"ERROR_NOT_SAME_DEVICE\"},\n\t{18,\"There are no more files.\",\"ERROR_NO_MORE_FILES\"},\n\t{19,\"The media is write protected.\",\"ERROR_WRITE_PROTECT\"},\n\t{20,\"The system cannot find the device specified.\",\"ERROR_BAD_UNIT\"},\n\t{21,\"The device is not ready.\",\"ERROR_NOT_READY\"},\n\t{22,\"The device does not recognize the command.\",\"ERROR_BAD_COMMAND\"},\n\t{23,\"Data error (cyclic redundancy check).\",\"ERROR_CRC\"},\n\t{24,\"The program issued a command but the command length is incorrect.\",\"ERROR_BAD_LENGTH\"},\n\t{25,\"The drive cannot locate a specific area or track on the disk.\",\"ERROR_SEEK\"},\n\t{26,\"The specified disk or diskette cannot be accessed.\",\"ERROR_NOT_DOS_DISK\"},\n\t{27,\"The drive cannot find the sector requested.\",\"ERROR_SECTOR_NOT_FOUND\"},\n\t{28,\"The printer is out of paper.\",\"ERROR_OUT_OF_PAPER\"},\n\t{29,\"The system cannot write to the specified device.\",\"ERROR_WRITE_FAULT\"},\n\t{30,\"The system cannot read from the specified device.\",\"ERROR_READ_FAULT\"},\n\t{31,\"A device attached to the system is not functioning.\",\"ERROR_GEN_FAILURE\"},\n\t{32,\"The process cannot access the file because it is being used by another process.\",\"ERROR_SHARING_VIOLATION\"},\n\t{33,\"The process cannot access the file because another process has locked a portion of the file.\",\"ERROR_LOCK_VIOLATION\"},\n\t{34,\"The wrong diskette is in the drive. Insert %2 (Volume Serial Number: %3) into drive %1.\",\"ERROR_WRONG_DISK\"},\n\t{36,\"Too many files opened for sharing.\",\"ERROR_SHARING_BUFFER_EXCEEDED\"},\n\t{38,\"Reached the end of the file.\",\"ERROR_HANDLE_EOF\"},\n\t{39,\"The disk is full.\",\"ERROR_HANDLE_DISK_FULL\"},\n\t{50,\"The request is not supported.\",\"ERROR_NOT_SUPPORTED\"},\n\t{51,\"Windows cannot find the network path. Verify that the network path is correct and the destination computer is not busy or turned off. If Windows still cannot find the network path, contact your network administrator.\",\"ERROR_REM_NOT_LIST\"},\n\t{52,\"You were not connected because a duplicate name exists on the network. Go to System in the Control Panel to change the computer name and try again.\",\"ERROR_DUP_NAME\"},\n\t{53,\"The network path was not found.\",\"ERROR_BAD_NETPATH\"},\n\t{54,\"The network is busy.\",\"ERROR_NETWORK_BUSY\"},\n\t{55,\"The specified network resource or device is no longer available.\",\"ERROR_DEV_NOT_EXIST\"},\n\t{56,\"The network BIOS command limit has been reached.\",\"ERROR_TOO_MANY_CMDS\"},\n\t{57,\"A network adapter hardware error occurred.\",\"ERROR_ADAP_HDW_ERR\"},\n\t{58,\"The specified server cannot perform the requested operation.\",\"ERROR_BAD_NET_RESP\"},\n\t{59,\"An unexpected network error occurred.\",\"ERROR_UNEXP_NET_ERR\"},\n\t{60,\"The remote adapter is not compatible.\",\"ERROR_BAD_REM_ADAP\"},\n\t{61,\"The printer queue is full.\",\"ERROR_PRINTQ_FULL\"},\n\t{62,\"Space to store the file waiting to be printed is not available on the server.\",\"ERROR_NO_SPOOL_SPACE\"},\n\t{63,\"Your file waiting to be printed was deleted.\",\"ERROR_PRINT_CANCELLED\"},\n\t{64,\"The specified network name is no longer available.\",\"ERROR_NETNAME_DELETED\"},\n\t{65,\"Network access is denied.\",\"ERROR_NETWORK_ACCESS_DENIED\"},\n\t{66,\"The network resource type is not correct.\",\"ERROR_BAD_DEV_TYPE\"},\n\t{67,\"The network name cannot be found.\",\"ERROR_BAD_NET_NAME\"},\n\t{68,\"The name limit for the local computer network adapter card was exceeded.\",\"ERROR_TOO_MANY_NAMES\"},\n\t{69,\"The network BIOS session limit was exceeded.\",\"ERROR_TOO_MANY_SESS\"},\n\t{70,\"The remote server has been paused or is in the process of being started.\",\"ERROR_SHARING_PAUSED\"},\n\t{71,\"No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.\",\"ERROR_REQ_NOT_ACCEP\"},\n\t{72,\"The specified printer or disk device has been paused.\",\"ERROR_REDIR_PAUSED\"},\n\t{80,\"The file exists.\",\"ERROR_FILE_EXISTS\"},\n\t{82,\"The directory or file cannot be created.\",\"ERROR_CANNOT_MAKE\"},\n\t{83,\"Fail on INT 24.\",\"ERROR_FAIL_I24\"},\n\t{84,\"Storage to process this request is not available.\",\"ERROR_OUT_OF_STRUCTURES\"},\n\t{85,\"The local device name is already in use.\",\"ERROR_ALREADY_ASSIGNED\"},\n\t{86,\"The specified network password is not correct.\",\"ERROR_INVALID_PASSWORD\"},\n\t{87,\"The parameter is incorrect.\",\"ERROR_INVALID_PARAMETER\"},\n\t{88,\"A write fault occurred on the network.\",\"ERROR_NET_WRITE_FAULT\"},\n\t{89,\"The system cannot start another process at this time.\",\"ERROR_NO_PROC_SLOTS\"},\n\t{100,\"Cannot create another system semaphore.\",\"ERROR_TOO_MANY_SEMAPHORES\"},\n\t{101,\"The exclusive semaphore is owned by another process.\",\"ERROR_EXCL_SEM_ALREADY_OWNED\"},\n\t{102,\"The semaphore is set and cannot be closed.\",\"ERROR_SEM_IS_SET\"},\n\t{103,\"The semaphore cannot be set again.\",\"ERROR_TOO_MANY_SEM_REQUESTS\"},\n\t{104,\"Cannot request exclusive semaphores at interrupt time.\",\"ERROR_INVALID_AT_INTERRUPT_TIME\"},\n\t{105,\"The previous ownership of this semaphore has ended.\",\"ERROR_SEM_OWNER_DIED\"},\n\t{106,\"Insert the diskette for drive %1.\",\"ERROR_SEM_USER_LIMIT\"},\n\t{107,\"The program stopped because an alternate diskette was not inserted.\",\"ERROR_DISK_CHANGE\"},\n\t{108,\"The disk is in use or locked by another process.\",\"ERROR_DRIVE_LOCKED\"},\n\t{109,\"The pipe has been ended.\",\"ERROR_BROKEN_PIPE\"},\n\t{110,\"The system cannot open the device or file specified.\",\"ERROR_OPEN_FAILED\"},\n\t{111,\"The file name is too long.\",\"ERROR_BUFFER_OVERFLOW\"},\n\t{112,\"There is not enough space on the disk.\",\"ERROR_DISK_FULL\"},\n\t{113,\"No more internal file identifiers available.\",\"ERROR_NO_MORE_SEARCH_HANDLES\"},\n\t{114,\"The target internal file identifier is incorrect.\",\"ERROR_INVALID_TARGET_HANDLE\"},\n\t{117,\"The IOCTL call made by the application program is not correct.\",\"ERROR_INVALID_CATEGORY\"},\n\t{118,\"The verify-on-write switch parameter value is not correct.\",\"ERROR_INVALID_VERIFY_SWITCH\"},\n\t{119,\"The system does not support the command requested.\",\"ERROR_BAD_DRIVER_LEVEL\"},\n\t{120,\"This function is not supported on this system.\",\"ERROR_CALL_NOT_IMPLEMENTED\"},\n\t{121,\"The semaphore timeout period has expired.\",\"ERROR_SEM_TIMEOUT\"},\n\t{122,\"The data area passed to a system call is too small.\",\"ERROR_INSUFFICIENT_BUFFER\"},\n\t{123,\"The filename, directory name, or volume label syntax is incorrect.\",\"ERROR_INVALID_NAME\"},\n\t{124,\"The system call level is not correct.\",\"ERROR_INVALID_LEVEL\"},\n\t{125,\"The disk has no volume label.\",\"ERROR_NO_VOLUME_LABEL\"},\n\t{126,\"The specified module could not be found.\",\"ERROR_MOD_NOT_FOUND\"},\n\t{127,\"The specified procedure could not be found.\",\"ERROR_PROC_NOT_FOUND\"},\n\t{128,\"There are no child processes to wait for.\",\"ERROR_WAIT_NO_CHILDREN\"},\n\t{129,\"The %1 application cannot be run in Win32 mode.\",\"ERROR_CHILD_NOT_COMPLETE\"},\n\t{130,\"Attempt to use a file handle to an open disk partition for an operation other than raw disk I/O.\",\"ERROR_DIRECT_ACCESS_HANDLE\"},\n\t{131,\"An attempt was made to move the file pointer before the beginning of the file.\",\"ERROR_NEGATIVE_SEEK\"},\n\t{132,\"The file pointer cannot be set on the specified device or file.\",\"ERROR_SEEK_ON_DEVICE\"},\n\t{133,\"A JOIN or SUBST command cannot be used for a drive that contains previously joined drives.\",\"ERROR_IS_JOIN_TARGET\"},\n\t{134,\"An attempt was made to use a JOIN or SUBST command on a drive that has already been joined.\",\"ERROR_IS_JOINED\"},\n\t{135,\"An attempt was made to use a JOIN or SUBST command on a drive that has already been substituted.\",\"ERROR_IS_SUBSTED\"},\n\t{136,\"The system tried to delete the JOIN of a drive that is not joined.\",\"ERROR_NOT_JOINED\"},\n\t{137,\"The system tried to delete the substitution of a drive that is not substituted.\",\"ERROR_NOT_SUBSTED\"},\n\t{138,\"The system tried to join a drive to a directory on a joined drive.\",\"ERROR_JOIN_TO_JOIN\"},\n\t{139,\"The system tried to substitute a drive to a directory on a substituted drive.\",\"ERROR_SUBST_TO_SUBST\"},\n\t{140,\"The system tried to join a drive to a directory on a substituted drive.\",\"ERROR_JOIN_TO_SUBST\"},\n\t{141,\"The system tried to SUBST a drive to a directory on a joined drive.\",\"ERROR_SUBST_TO_JOIN\"},\n\t{142,\"The system cannot perform a JOIN or SUBST at this time.\",\"ERROR_BUSY_DRIVE\"},\n\t{143,\"The system cannot join or substitute a drive to or for a directory on the same drive.\",\"ERROR_SAME_DRIVE\"},\n\t{144,\"The directory is not a subdirectory of the root directory.\",\"ERROR_DIR_NOT_ROOT\"},\n\t{145,\"The directory is not empty.\",\"ERROR_DIR_NOT_EMPTY\"},\n\t{146,\"The path specified is being used in a substitute.\",\"ERROR_IS_SUBST_PATH\"},\n\t{147,\"Not enough resources are available to process this command.\",\"ERROR_IS_JOIN_PATH\"},\n\t{148,\"The path specified cannot be used at this time.\",\"ERROR_PATH_BUSY\"},\n\t{149,\"An attempt was made to join or substitute a drive for which a directory on the drive is the target of a previous substitute.\",\"ERROR_IS_SUBST_TARGET\"},\n\t{150,\"System trace information was not specified in your CONFIG.SYS file, or tracing is disallowed.\",\"ERROR_SYSTEM_TRACE\"},\n\t{151,\"The number of specified semaphore events for DosMuxSemWait is not correct.\",\"ERROR_INVALID_EVENT_COUNT\"},\n\t{152,\"DosMuxSemWait did not execute; too many semaphores are already set.\",\"ERROR_TOO_MANY_MUXWAITERS\"},\n\t{153,\"The DosMuxSemWait list is not correct.\",\"ERROR_INVALID_LIST_FORMAT\"},\n\t{154,\"The volume label you entered exceeds the label character limit of the target file system.\",\"ERROR_LABEL_TOO_LONG\"},\n\t{155,\"Cannot create another thread.\",\"ERROR_TOO_MANY_TCBS\"},\n\t{156,\"The recipient process has refused the signal.\",\"ERROR_SIGNAL_REFUSED\"},\n\t{157,\"The segment is already discarded and cannot be locked.\",\"ERROR_DISCARDED\"},\n\t{158,\"The segment is already unlocked.\",\"ERROR_NOT_LOCKED\"},\n\t{159,\"The address for the thread ID is not correct.\",\"ERROR_BAD_THREADID_ADDR\"},\n\t{160,\"The argument string passed to DosExecPgm is not correct.\",\"ERROR_BAD_ARGUMENTS\"},\n\t{161,\"The specified path is invalid.\",\"ERROR_BAD_PATHNAME\"},\n\t{162,\"A signal is already pending.\",\"ERROR_SIGNAL_PENDING\"},\n\t{164,\"No more threads can be created in the system.\",\"ERROR_MAX_THRDS_REACHED\"},\n\t{167,\"Unable to lock a region of a file.\",\"ERROR_LOCK_FAILED\"},\n\t{170,\"The requested resource is in use.\",\"ERROR_BUSY\"},\n\t{173,\"A lock request was not outstanding for the supplied cancel region.\",\"ERROR_CANCEL_VIOLATION\"},\n\t{174,\"The file system does not support atomic changes to the lock type.\",\"ERROR_ATOMIC_LOCKS_NOT_SUPPORTED\"},\n\t{180,\"The system detected a segment number that was not correct.\",\"ERROR_INVALID_SEGMENT_NUMBER\"},\n\t{182,\"The operating system cannot run %1.\",\"ERROR_INVALID_ORDINAL\"},\n\t{183,\"Cannot create a file when that file already exists.\",\"ERROR_ALREADY_EXISTS\"},\n\t{186,\"The flag passed is not correct.\",\"ERROR_INVALID_FLAG_NUMBER\"},\n\t{187,\"The specified system semaphore name was not found.\",\"ERROR_SEM_NOT_FOUND\"},\n\t{188,\"The operating system cannot run %1.\",\"ERROR_INVALID_STARTING_CODESEG\"},\n\t{189,\"The operating system cannot run %1.\",\"ERROR_INVALID_STACKSEG\"},\n\t{190,\"The operating system cannot run %1.\",\"ERROR_INVALID_MODULETYPE\"},\n\t{191,\"Cannot run %1 in Win32 mode.\",\"ERROR_INVALID_EXE_SIGNATURE\"},\n\t{192,\"The operating system cannot run %1.\",\"ERROR_EXE_MARKED_INVALID\"},\n\t{193,\"%1 is not a valid Win32 application.\",\"ERROR_BAD_EXE_FORMAT\"},\n\t{194,\"The operating system cannot run %1.\",\"ERROR_ITERATED_DATA_EXCEEDS_64k\"},\n\t{195,\"The operating system cannot run %1.\",\"ERROR_INVALID_MINALLOCSIZE\"},\n\t{196,\"The operating system cannot run this application program.\",\"ERROR_DYNLINK_FROM_INVALID_RING\"},\n\t{197,\"The operating system is not presently configured to run this application.\",\"ERROR_IOPL_NOT_ENABLED\"},\n\t{198,\"The operating system cannot run %1.\",\"ERROR_INVALID_SEGDPL\"},\n\t{199,\"The operating system cannot run this application program.\",\"ERROR_AUTODATASEG_EXCEEDS_64k\"},\n\t{200,\"The code segment cannot be greater than or equal to 64K.\",\"ERROR_RING2SEG_MUST_BE_MOVABLE\"},\n\t{201,\"The operating system cannot run %1.\",\"ERROR_RELOC_CHAIN_XEEDS_SEGLIM\"},\n\t{202,\"The operating system cannot run %1.\",\"ERROR_INFLOOP_IN_RELOC_CHAIN\"},\n\t{203,\"The system could not find the environment option that was entered.\",\"ERROR_ENVVAR_NOT_FOUND\"},\n\t{205,\"No process in the command subtree has a signal handler.\",\"ERROR_NO_SIGNAL_SENT\"},\n\t{206,\"The filename or extension is too long.\",\"ERROR_FILENAME_EXCED_RANGE\"},\n\t{207,\"The ring 2 stack is in use.\",\"ERROR_RING2_STACK_IN_USE\"},\n\t{208,\"The global filename characters, * or ?, are entered incorrectly or too many global filename characters are specified.\",\"ERROR_META_EXPANSION_TOO_LONG\"},\n\t{209,\"The signal being posted is not correct.\",\"ERROR_INVALID_SIGNAL_NUMBER\"},\n\t{210,\"The signal handler cannot be set.\",\"ERROR_THREAD_1_INACTIVE\"},\n\t{212,\"The segment is locked and cannot be reallocated.\",\"ERROR_LOCKED\"},\n\t{214,\"Too many dynamic-link modules are attached to this program or dynamic-link module.\",\"ERROR_TOO_MANY_MODULES\"},\n\t{215,\"Cannot nest calls to LoadModule.\",\"ERROR_NESTING_NOT_ALLOWED\"},\n\t{216,\"The image file %1 is valid, but is for a machine type other than the current machine.\",\"ERROR_EXE_MACHINE_TYPE_MISMATCH\"},\n\t{217,\"The image file %1 is signed, unable to modify.\",\"ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY\"},\n\t{218,\"The image file %1 is strong signed, unable to modify.\",\"ERRO_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY\"},\n\t{230,\"The pipe state is invalid.\",\"ERROR_BAD_PIPE\"},\n\t{231,\"All pipe instances are busy.\",\"ERROR_PIPE_BUSY\"},\n\t{232,\"The pipe is being closed.\",\"ERROR_NO_DATA\"},\n\t{233,\"No process is on the other end of the pipe.\",\"ERROR_PIPE_NOT_CONNECTED\"},\n\t{234,\"More data is available.\",\"ERROR_MORE_DATA\"},\n\t{240,\"The session was canceled.\",\"ERROR_VC_DISCONNECTED\"},\n\t{254,\"The specified extended attribute name was invalid.\",\"ERROR_INVALID_EA_NAME\"},\n\t{255,\"The extended attributes are inconsistent.\",\"ERROR_EA_LIST_INCONSISTENT\"},\n\t{258,\"The wait operation timed out.\",\"WAIT_TIMEOUT\"},\n\t{259,\"No more data is available.\",\"ERROR_NO_MORE_ITEMS\"},\n\t{266,\"The copy functions cannot be used.\",\"ERROR_CANNOT_COPY\"},\n\t{267,\"The directory name is invalid.\",\"ERROR_DIRECTORY\"},\n\t{275,\"The extended attributes did not fit in the buffer.\",\"ERROR_EAS_DIDNT_FIT\"},\n\t{276,\"The extended attribute file on the mounted file system is corrupt.\",\"ERROR_EA_FILE_CORRUPT\"},\n\t{277,\"The extended attribute table file is full.\",\"ERROR_EA_TABLE_FULL\"},\n\t{278,\"The specified extended attribute handle is invalid.\",\"ERROR_INVALID_EA_HANDLE\"},\n\t{282,\"The mounted file system does not support extended attributes.\",\"ERROR_EAS_NOT_SUPPORTED\"},\n\t{288,\"Attempt to release mutex not owned by caller.\",\"ERROR_NOT_OWNER\"},\n\t{298,\"Too many posts were made to a semaphore.\",\"ERROR_TOO_MANY_POSTS\"},\n\t{299,\"Only part of a ReadProcessMemory or WriteProcessMemory request was completed.\",\"ERROR_PARTIAL_COPY\"},\n\t{300,\"The oplock request is denied.\",\"ERROR_OPLOCK_NOT_GRANTED\"},\n\t{301,\"An invalid oplock acknowledgment was received by the system.\",\"ERROR_INVALID_OPLOCK_PROTOCOL\"},\n\t{302,\"The volume is too fragmented to complete this operation.\",\"ERROR_DISK_TOO_FRAGMENTED\"},\n\t{303,\"The file cannot be opened because it is in the process of being deleted.\",\"ERROR_DELETE_PENDING\"},\n\t{317,\"The system cannot find message text for message number 0x%1 in the message file for %2.\",\"ERROR_MR_MID_NOT_FOUND\"},\n\t{318,\"The scope specified was not found.\",\"ERROR_SCOPE_NOT_FOUND\"},\n\t{487,\"Attempt to access invalid address.\",\"ERROR_INVALID_ADDRESS\"},\n\t{534,\"Arithmetic result exceeded 32 bits.\",\"ERROR_ARITHMETIC_OVERFLOW\"},\n\t{535,\"There is a process on other end of the pipe.\",\"ERROR_PIPE_CONNECTED\"},\n\t{536,\"Waiting for a process to open the other end of the pipe.\",\"ERROR_PIPE_LISTENING\"},\n\t{537,\"An error occurred in the ACPI subsystem.\",\"ERROR_ACPI_ERROR\"},\n\t{538,\"An error occurred in the ABIOS subsystem\",\"ERROR_ABIOS_ERROR\"},\n\t{539,\"A warning occurred in the WX86 subsystem.\",\"ERROR_WX86_WARNING\"},\n\t{540,\"An error occurred in the WX86 subsystem.\",\"ERROR_WX86_ERROR\"},\n\t{541,\"An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine.\",\"ERROR_TIMER_NOT_CANCELED\"},\n\t{542,\"Unwind exception code.\",\"ERROR_UNWIND\"},\n\t{543,\"An invalid or unaligned stack was encountered during an unwind operation.\",\"ERROR_BAD_STACK\"},\n\t{544,\"An invalid unwind target was encountered during an unwind operation.\",\"ERROR_INVALID_UNWIND_TARGET\"},\n\t{545,\"Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort\",\"ERROR_INVALID_PORT_ATTRIBUTES\"},\n\t{546,\"Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port.\",\"ERROR_PORT_MESSAGE_TOO_LONG\"},\n\t{547,\"An attempt was made to lower a quota limit below the current usage.\",\"ERROR_INVALID_QUOTA_LOWER\"},\n\t{548,\"An attempt was made to attach to a device that was already attached to another device.\",\"ERROR_DEVICE_ALREADY_ATTACHED\"},\n\t{549,\"An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references.\",\"ERROR_INSTRUCTION_MISALIGNMENT\"},\n\t{550,\"Profiling not started.\",\"ERROR_PROFILING_NOT_STARTED\"},\n\t{551,\"Profiling not stopped.\",\"ERROR_PROFILING_NOT_STOPPED\"},\n\t{552,\"The passed ACL did not contain the minimum required information.\",\"ERROR_COULD_NOT_INTERPRET\"},\n\t{553,\"The number of active profiling objects is at the maximum and no more may be started.\",\"ERROR_PROFILING_AT_LIMIT\"},\n\t{554,\"Used to indicate that an operation cannot continue without blocking for I/O.\",\"ERROR_CANT_WAIT\"},\n\t{555,\"Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process.\",\"ERROR_CANT_TERMINATE_SELF\"},\n\t{556,\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. \",\"ERROR_UNEXPECTED_MM_CREATE_ERR\"},\n\t{557,\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. \",\"ERROR_UNEXPECTED_MM_MAP_ERROR\"},\n\t{558,\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. In this case information is lost, however, the filter correctly handles the exception. \",\"ERROR_UNEXPECTED_MM_EXTEND_ERR\"},\n\t{559,\"A malformed function table was encountered during an unwind operation.\",\"ERROR_BAD_FUNCTION_TABLE\"},\n\t{560,\"Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. This causes the protection attempt to fail, which may cause a file creation attempt to fail. \",\"ERROR_NO_GUID_TRANSLATION\"},\n\t{561,\"Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors.\",\"ERROR_INVALID_LDT_SIZE\"},\n\t{563,\"Indicates that the starting value for the LDT information was not an integral multiple of the selector size.\",\"ERROR_INVALID_LDT_OFFSET\"},\n\t{564,\"Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors.\",\"ERROR_INVALID_LDT_DESCRIPTOR\"},\n\t{565,\"Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads.\",\"ERROR_TOO_MANY_THREADS\"},\n\t{566,\"An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified.\",\"ERROR_THREAD_NOT_IN_PROCESS\"},\n\t{567,\"Page file quota was exceeded.\",\"ERROR_PAGEFILE_QUOTA_EXCEEDED\"},\n\t{568,\"The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role.\",\"ERROR_LOGON_SERVER_CONFLICT\"},\n\t{569,\"The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required.\",\"ERROR_SYNCHRONIZATION_REQUIRED\"},\n\t{570,\"The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines.\",\"ERROR_NET_OPEN_FAILED\"},\n\t{571,\"The I/O permissions for the process could not be changed.\",\"ERROR_IO_PRIVILEGE_FAILED\"},\n\t{572,\"The application terminated as a result of a CTRL+C.\",\"ERROR_CONTROL_C_EXIT\"},\n\t{573,\"The required system file %hs is bad or missing.\",\"ERROR_MISSING_SYSTEMFILE\"},\n\t{574,\"The exception %s (0x%08lx) occurred in the application at location 0x%08lx.\",\"ERROR_UNHANDLED_EXCEPTION\"},\n\t{575,\"The application failed to initialize properly (0x%lx). Click on OK to terminate the application.\",\"ERROR_APP_INIT_FAILURE\"},\n\t{576,\"The creation of the paging file %hs failed (%lx). The requested size was %ld.\",\"ERROR_PAGEFILE_CREATE_FAILED\"},\n\t{578,\"No paging file was specified in the system configuration.\",\"ERROR_NO_PAGEFILE\"},\n\t{579,\"A real-mode application issued a floating-point instruction and floating-point hardware is not present.\",\"ERROR_ILLEGAL_FLOAT_CONTEXT\"},\n\t{580,\"An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread.\",\"ERROR_NO_EVENT_PAIR\"},\n\t{581,\"A Windows Server has an incorrect configuration.\",\"ERROR_DOMAIN_CTRLR_CONFIG_ERROR\"},\n\t{582,\"An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE.\",\"ERROR_ILLEGAL_CHARACTER\"},\n\t{583,\"The Unicode character is not defined in the Unicode character set installed on the system.\",\"ERROR_UNDEFINED_CHARACTER\"},\n\t{584,\"The paging file cannot be created on a floppy diskette.\",\"ERROR_FLOPPY_VOLUME\"},\n\t{585,\"The system bios failed to connect a system interrupt to the device or bus for which the device is connected. \",\"ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT\"},\n\t{586,\"This operation is only allowed for the Primary Domain Controller of the domain.\",\"ERROR_BACKUP_CONTROLLER\"},\n\t{587,\"An attempt was made to acquire a mutant such that its maximum count would have been exceeded.\",\"ERROR_MUTANT_LIMIT_EXCEEDED\"},\n\t{588,\"A volume has been accessed for which a file system driver is required that has not yet been loaded.\",\"ERROR_FS_DRIVER_REQUIRED\"},\n\t{589,\"The registry cannot load the hive (file): %hs or its log or alternate. It is corrupt, absent, or not writable.\",\"ERROR_CANNOT_LOAD_REGISTRY_FILE\"},\n\t{590,\"An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error.\",\"ERROR_DEBUG_ATTACH_FAILED\"},\n\t{591,\"The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). The system has been shut down. \",\"ERROR_SYSTEM_PROCESS_TERMINATED\"},\n\t{592,\"The TDI client could not handle the data received during an indication.\",\"ERROR_DATA_NOT_ACCEPTED\"},\n\t{593,\"NTVDM encountered a hard error.\",\"ERROR_VDM_HARD_ERROR\"},\n\t{594,\"The driver %hs failed to complete a cancelled I/O request in the allotted time.\",\"ERROR_DRIVER_CANCEL_TIMEOUT\"},\n\t{595,\"An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message.\",\"ERROR_REPLY_MESSAGE_MISMATCH\"},\n\t{596,\"Windows was unable to save all the data for the file %hs. The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere. \",\"ERROR_LOST_WRITEBEHIND_DATA\"},\n\t{597,\"The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window.\",\"ERROR_CLIENT_SERVER_PARAMETERS_INVALID\"},\n\t{598,\"The stream is not a tiny stream.\",\"ERROR_NOT_TINY_STREAM\"},\n\t{599,\"The request must be handled by the stack overflow code.\",\"ERROR_STACK_OVERFLOW_READ\"},\n\t{600,\"Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream.\",\"ERROR_CONVERT_TO_LARGE\"},\n\t{601,\"The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation.\",\"ERROR_FOUND_OUT_OF_SCOPE\"},\n\t{602,\"The bucket array must be grown. Retry transaction after doing so.\",\"ERROR_ALLOCATE_BUCKET\"},\n\t{603,\"The user/kernel marshalling buffer has overflowed.\",\"ERROR_MARSHALL_OVERFLOW\"},\n\t{604,\"The supplied variant structure contains invalid data.\",\"ERROR_INVALID_VARIANT\"},\n\t{605,\"The specified buffer contains ill-formed data.\",\"ERROR_BAD_COMPRESSION_BUFFER\"},\n\t{606,\"An attempt to generate a security audit failed.\",\"ERROR_AUDIT_FAILED\"},\n\t{607,\"The timer resolution was not previously set by the current process.\",\"ERROR_TIMER_RESOLUTION_NOT_SET\"},\n\t{608,\"There is insufficient account information to log you on.\",\"ERROR_INSUFFICIENT_LOGON_INFO\"},\n\t{609,\"The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly. \",\"ERROR_BAD_DLL_ENTRYPOINT\"},\n\t{610,\"The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly. \",\"ERROR_BAD_SERVICE_ENTRYPOINT\"},\n\t{611,\"There is an IP address conflict with another system on the network\",\"ERROR_IP_ADDRESS_CONFLICT1\"},\n\t{612,\"There is an IP address conflict with another system on the network\",\"ERROR_IP_ADDRESS_CONFLICT2\"},\n\t{613,\"The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored.\",\"ERROR_REGISTRY_QUOTA_LIMIT\"},\n\t{614,\"A callback return system service cannot be executed when no callback is active.\",\"ERROR_NO_CALLBACK_ACTIVE\"},\n\t{615,\"The password provided is too short to meet the policy of your user account. Please choose a longer password. \",\"ERROR_PWD_TOO_SHORT\"},\n\t{616,\"The policy of your user account does not allow you to change passwords too frequently. This is done to prevent users from changing back to a familiar, but potentially discovered, password. If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned. \",\"ERROR_PWD_TOO_RECENT\"},\n\t{617,\"You have attempted to change your password to one that you have used in the past. The policy of your user account does not allow this. Please select a password that you have not previously used. \",\"ERROR_PWD_HISTORY_CONFLICT\"},\n\t{618,\"The specified compression format is unsupported.\",\"ERROR_UNSUPPORTED_COMPRESSION\"},\n\t{619,\"The specified hardware profile configuration is invalid.\",\"ERROR_INVALID_HW_PROFILE\"},\n\t{620,\"The specified Plug and Play registry device path is invalid.\",\"ERROR_INVALID_PLUGPLAY_DEVICE_PATH\"},\n\t{621,\"The specified quota list is internally inconsistent with its descriptor.\",\"ERROR_QUOTA_LIST_INCONSISTENT\"},\n\t{622,\"The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product.\",\"ERROR_EVALUATION_EXPIRATION\"},\n\t{623,\"The system DLL %hs was relocated in memory. The application will not run properly. The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL. \",\"ERROR_ILLEGAL_DLL_RELOCATION\"},\n\t{624,\"The application failed to initialize because the window station is shutting down.\",\"ERROR_DLL_INIT_FAILED_LOGOFF\"},\n\t{625,\"The validation process needs to continue on to the next step.\",\"ERROR_VALIDATE_CONTINUE\"},\n\t{626,\"There are no more matches for the current index enumeration.\",\"ERROR_NO_MORE_MATCHES\"},\n\t{627,\"The range could not be added to the range list because of a conflict.\",\"ERROR_RANGE_LIST_CONFLICT\"},\n\t{628,\"The server process is running under a SID different than that required by client.\",\"ERROR_SERVER_SID_MISMATCH\"},\n\t{629,\"A group marked use for deny only cannot be enabled.\",\"ERROR_CANT_ENABLE_DENY_ONLY\"},\n\t{630,\"Multiple floating point faults.\",\"ERROR_FLOAT_MULTIPLE_FAULTS\"},\n\t{631,\"Multiple floating point traps.\",\"ERROR_FLOAT_MULTIPLE_TRAPS\"},\n\t{632,\"The requested interface is not supported.\",\"ERROR_NOINTERFACE\"},\n\t{633,\"The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode.\",\"ERROR_DRIVER_FAILED_SLEEP\"},\n\t{634,\"The system file %1 has become corrupt and has been replaced.\",\"ERROR_CORRUPT_SYSTEM_FILE\"},\n\t{635,\"Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. During this process, memory requests for some applications may be denied. For more information, see Help. \",\"ERROR_COMMITMENT_MINIMUM\"},\n\t{636,\"A device was removed so enumeration must be restarted.\",\"ERROR_PNP_RESTART_ENUMERATION\"},\n\t{637,\"The system image %s is not properly signed. The file has been replaced with the signed file. The system has been shut down.\",\"ERROR_SYSTEM_IMAGE_BAD_SIGNATURE\"},\n\t{638,\"Device will not start without a reboot.\",\"ERROR_PNP_REBOOT_REQUIRED\"},\n\t{639,\"There is not enough power to complete the requested operation.\",\"ERROR_INSUFFICIENT_POWER\"},\n\t{641,\"The system is in the process of shutting down.\",\"ERROR_SYSTEM_SHUTDOWN\"},\n\t{642,\"An attempt to remove a processes DebugPort was made, but a port was not already associated with the process.\",\"ERROR_PORT_NOT_SET\"},\n\t{643,\"This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller.\",\"ERROR_DS_VERSION_CHECK_FAILURE\"},\n\t{644,\"The specified range could not be found in the range list.\",\"ERROR_RANGE_NOT_FOUND\"},\n\t{646,\"The driver was not loaded because the system is booting into safe mode.\",\"ERROR_NOT_SAFE_MODE_DRIVER\"},\n\t{647,\"The driver was not loaded because it failed it's initialization call.\",\"ERROR_FAILED_DRIVER_ENTRY\"},\n\t{648,\"The \\\"%hs\\\" encountered an error while applying power or reading the device configuration. This may be caused by a failure of your hardware or by a poor connection. \",\"ERROR_DEVICE_ENUMERATION_ERROR\"},\n\t{649,\"The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.\",\"ERROR_MOUNT_POINT_NOT_RESOLVED\"},\n\t{650,\"The device object parameter is either not a valid device object or is not attached to the volume specified by the file name.\",\"ERROR_INVALID_DEVICE_OBJECT_PARAMETER\"},\n\t{651,\"A Machine Check Error has occurred. Please check the system eventlog for additional information.\",\"ERROR_MCA_OCCURED\"},\n\t{652,\"There was error [%2] processing the driver database.\",\"ERROR_DRIVER_DATABASE_ERROR\"},\n\t{653,\"System hive size has exceeded its limit.\",\"ERROR_SYSTEM_HIVE_TOO_LARGE\"},\n\t{654,\"The driver could not be loaded because a previous version of the driver is still in memory.\",\"ERROR_DRIVER_FAILED_PRIOR_UNLOAD\"},\n\t{655,\"Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation.\",\"ERROR_VOLSNAP_PREPARE_HIBERNATE\"},\n\t{656,\"The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted.\",\"ERROR_HIBERNATION_FAILURE\"},\n\t{657,\"The %hs display driver has stopped working normally. Save your work and reboot the system to restore full display functionality. The next time you reboot the machine a dialog will be displayed giving you a chance to report this failure to Microsoft. \",\"ERROR_HUNG_DISPLAY_DRIVER_THREAD\"},\n\t{665,\"The requested operation could not be completed due to a file system limitation.\",\"ERROR_FILE_SYSTEM_LIMITATION\"},\n\t{668,\"An assertion failure has occurred.\",\"ERROR_ASSERTION_FAILURE\"},\n\t{669,\"Application verifier has found an error in the current process.\",\"ERROR_VERIFIER_STOP\"},\n\t{670,\"WOW Assertion Error.\",\"ERROR_WOW_ASSERTION\"},\n\t{671,\"A device is missing in the system BIOS MPS table. This device will not be used. Please contact your system vendor for system BIOS update. \",\"ERROR_PNP_BAD_MPS_TABLE\"},\n\t{672,\"A translator failed to translate resources.\",\"ERROR_PNP_TRANSLATION_FAILED\"},\n\t{673,\"A IRQ translator failed to translate resources.\",\"ERROR_PNP_IRQ_TRANSLATION_FAILED\"},\n\t{674,\"Driver %2 returned invalid ID for a child device (%3).\",\"ERROR_PNP_INVALID_ID\"},\n\t{675,\"The system debugger was awakened by an interrupt.\",\"ERROR_WAKE_SYSTEM_DEBUGGER\"},\n\t{676,\"Handles to objects have been automatically closed as a result of the requested operation.\",\"ERROR_HANDLES_CLOSED\"},\n\t{677,\"he specified access control list (ACL) contained more information than was expected.\",\"ERROR_EXTRANEOUS_INFORMATION\"},\n\t{678,\"This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired). \",\"ERROR_RXACT_COMMIT_NECESSARY\"},\n\t{679,\"The media may have changed.\",\"ERROR_MEDIA_CHECK\"},\n\t{680,\"During the translation of a global identifier (GUID) to a Windows security ID (SID), no administratively-defined GUID prefix was found. A substitute prefix was used, which will not compromise system security. However, this may provide a more restrictive access than intended. \",\"ERROR_GUID_SUBSTITUTION_MADE\"},\n\t{681,\"The create operation stopped after reaching a symbolic link.\",\"ERROR_STOPPED_ON_SYMLINK\"},\n\t{682,\"A long jump has been executed.\",\"ERROR_LONGJUMP\"},\n\t{683,\"The Plug and Play query operation was not successful.\",\"ERROR_PLUGPLAY_QUERY_VETOED\"},\n\t{684,\"A frame consolidation has been executed.\",\"ERROR_UNWIND_CONSOLIDATE\"},\n\t{685,\"Registry hive (file): %hs was corrupted and it has been recovered. Some data might have been lost. \",\"ERROR_REGISTRY_HIVE_RECOVERED\"},\n\t{686,\"The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs?\",\"ERROR_DLL_MIGHT_BE_INSECURE\"},\n\t{687,\"The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs?\",\"ERROR_DLL_MIGHT_BE_INCOMPATIBLE\"},\n\t{688,\"Debugger did not handle the exception.\",\"ERROR_DBG_EXCEPTION_NOT_HANDLED\"},\n\t{689,\"Debugger will reply later.\",\"ERROR_DBG_REPLY_LATER\"},\n\t{690,\"Debugger can not provide handle.\",\"ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE\"},\n\t{691,\"Debugger terminated thread.\",\"ERROR_DBG_TERMINATE_THREAD\"},\n\t{692,\"Debugger terminated process.\",\"ERROR_DBG_TERMINATE_PROCESS\"},\n\t{693,\"Debugger got control C.\",\"ERROR_DBG_CONTROL_C\"},\n\t{694,\"Debugger printed exception on control C.\",\"ERROR_DBG_PRINTEXCEPTION_C\"},\n\t{695,\"Debugger received RIP exception.\",\"ERROR_DBG_RIPEXCEPTION\"},\n\t{696,\"Debugger received control break.\",\"ERROR_DBG_CONTROL_BREAK\"},\n\t{697,\"Debugger command communication exception.\",\"ERROR_DBG_COMMAND_EXCEPTION\"},\n\t{698,\"An attempt was made to create an object and the object name already existed.\",\"ERROR_OBJECT_NAME_EXISTS\"},\n\t{699,\"A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded.\",\"ERROR_THREAD_WAS_SUSPENDED\"},\n\t{700,\"An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image.\",\"ERROR_IMAGE_NOT_AT_BASE\"},\n\t{701,\"This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created.\",\"ERROR_RXACT_STATE_CREATED\"},\n\t{702,\"A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments. \",\"ERROR_SEGMENT_NOTIFICATION\"},\n\t{703,\"The process cannot switch to the startup current directory %hs. Select OK to set current directory to %hs, or select CANCEL to exit. \",\"ERROR_BAD_CURRENT_DIRECTORY\"},\n\t{704,\"To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device. \",\"ERROR_FT_READ_RECOVERY_FROM_BACKUP\"},\n\t{705,\"To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information. This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device. \",\"ERROR_FT_WRITE_RECOVERY\"},\n\t{706,\"The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load.\",\"ERROR_IMAGE_MACHINE_TYPE_MISMATCH\"},\n\t{707,\"The network transport returned partial data to its client. The remaining data will be sent later.\",\"ERROR_RECEIVE_PARTIAL\"},\n\t{708,\"The network transport returned data to its client that was marked as expedited by the remote system.\",\"ERROR_RECEIVE_EXPEDITED\"},\n\t{709,\"The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later.\",\"ERROR_RECEIVE_PARTIAL_EXPEDITED\"},\n\t{710,\"The TDI indication has completed successfully.\",\"ERROR_EVENT_DONE\"},\n\t{711,\"The TDI indication has entered the pending state.\",\"ERROR_EVENT_PENDING\"},\n\t{712,\"Checking file system on %wZ.\",\"ERROR_CHECKING_FILE_SYSTEM\"},\n\t{714,\"The specified registry key is referenced by a predefined handle.\",\"ERROR_PREDEFINED_HANDLE\"},\n\t{715,\"The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process.\",\"ERROR_WAS_UNLOCKED\"},\n\t{717,\"One of the pages to lock was already locked.\",\"ERROR_WAS_LOCKED\"},\n\t{720,\"The image file %hs is valid, but is for a machine type other than the current machine.\",\"ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE\"},\n\t{721,\"A yield execution was performed and no thread was available to run.\",\"ERROR_NO_YIELD_PERFORMED\"},\n\t{722,\"The resumable flag to a timer API was ignored.\",\"ERROR_TIMER_RESUME_IGNORED\"},\n\t{723,\"The arbiter has deferred arbitration of these resources to its parent.\",\"ERROR_ARBITRATION_UNHANDLED\"},\n\t{724,\"The device \\\"%hs\\\" has detected a CardBus card in its slot, but the firmware on this system is not configured to allow the CardBus controller to be run in CardBus mode. The operating system will currently accept only 16-bit (R2) pc-cards on this controller. \",\"ERROR_CARDBUS_NOT_SUPPORTED\"},\n\t{725,\"The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. Should problems occur with this system, contact the CPU manufacturer to see if this mix of processors is supported. \",\"ERROR_MP_PROCESSOR_MISMATCH\"},\n\t{726,\"The system was put into hibernation.\",\"ERROR_HIBERNATED\"},\n\t{727,\"The system was resumed from hibernation.\",\"ERROR_RESUME_HIBERNATION\"},\n\t{728,\"Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3].\",\"ERROR_FIRMWARE_UPDATED\"},\n\t{729,\"A device driver is leaking locked I/O pages causing system degradation. The system has automatically enabled tracking code in order to try and catch the culprit.\",\"ERROR_DRIVERS_LEAKING_LOCKED_PAGES\"},\n\t{730,\"The system has awoken\",\"ERROR_WAKE_SYSTEM\"},\n\t{741,\"A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.\",\"ERROR_REPARSE\"},\n\t{742,\"An open/create operation completed while an oplock break is underway.\",\"ERROR_OPLOCK_BREAK_IN_PROGRESS\"},\n\t{743,\"A new volume has been mounted by a file system.\",\"ERROR_VOLUME_MOUNTED\"},\n\t{744,\"This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. The commit has now been completed.\",\"ERROR_RXACT_COMMITTED\"},\n\t{745,\"This indicates that a notify change request has been completed due to closing the handle which made the notify change request.\",\"ERROR_NOTIFY_CLEANUP\"},\n\t{746,\"An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. The computer WAS able to connect on a secondary transport. \",\"ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED\"},\n\t{747,\"Page fault was a transition fault.\",\"ERROR_PAGE_FAULT_TRANSITION\"},\n\t{748,\"Page fault was a demand zero fault.\",\"ERROR_PAGE_FAULT_DEMAND_ZERO\"},\n\t{749,\"Page fault was a demand zero fault.\",\"ERROR_PAGE_FAULT_COPY_ON_WRITE\"},\n\t{750,\"Page fault was a demand zero fault.\",\"ERROR_PAGE_FAULT_GUARD_PAGE\"},\n\t{751,\"Page fault was satisfied by reading from a secondary storage device.\",\"ERROR_PAGE_FAULT_PAGING_FILE\"},\n\t{752,\"Cached page was locked during operation.\",\"ERROR_CACHE_PAGE_LOCKED\"},\n\t{753,\"Crash dump exists in paging file.\",\"ERROR_CRASH_DUMP\"},\n\t{754,\"Specified buffer contains all zeros.\",\"ERROR_BUFFER_ALL_ZEROS\"},\n\t{755,\"A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.\",\"ERROR_REPARSE_OBJECT\"},\n\t{756,\"The device has succeeded a query-stop and its resource requirements have changed.\",\"ERROR_RESOURCE_REQUIREMENTS_CHANGED\"},\n\t{757,\"The translator has translated these resources into the global space and no further translations should be performed.\",\"ERROR_TRANSLATION_COMPLETE\"},\n\t{758,\"A process being terminated has no threads to terminate.\",\"ERROR_NOTHING_TO_TERMINATE\"},\n\t{759,\"The specified process is not part of a job.\",\"ERROR_PROCESS_NOT_IN_JOB\"},\n\t{760,\"The specified process is part of a job.\",\"ERROR_PROCESS_IN_JOB\"},\n\t{761,\"The system is now ready for hibernation.\",\"ERROR_VOLSNAP_HIBERNATE_READY\"},\n\t{762,\"A file system or file system filter driver has successfully completed an FsFilter operation.\",\"ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY\"},\n\t{763,\"The specified interrupt vector was already connected.\",\"ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED\"},\n\t{764,\"The specified interrupt vector is still connected.\",\"ERROR_INTERRUPT_STILL_CONNECTED\"},\n\t{765,\"An operation is blocked waiting for an oplock.\",\"ERROR_WAIT_FOR_OPLOCK\"},\n\t{766,\"Debugger handled exception.\",\"ERROR_DBG_EXCEPTION_HANDLED\"},\n\t{767,\"Debugger continued\",\"ERROR_DBG_CONTINUE\"},\n\t{768,\"An exception occurred in a user mode callback and the kernel callback frame should be removed.\",\"ERROR_CALLBACK_POP_STACK\"},\n\t{769,\"Compression is disabled for this volume.\",\"ERROR_COMPRESSION_DISABLED\"},\n\t{770,\"The data provider cannot fetch backwards through a result set.\",\"ERROR_CANTFETCHBACKWARDS\"},\n\t{771,\"The data provider cannot scroll backwards through a result set.\",\"ERROR_CANTSCROLLBACKWARDS\"},\n\t{772,\"The data provider requires that previously fetched data is released before asking for more data.\",\"ERROR_ROWSNOTRELEASED\"},\n\t{773,\"The data provider was not able to interpret the flags set for a column binding in an accessor.\",\"ERROR_BAD_ACCESSOR_FLAGS\"},\n\t{774,\"One or more errors occurred while processing the request.\",\"ERROR_ERRORS_ENCOUNTERED\"},\n\t{775,\"The implementation is not capable of performing the request.\",\"ERROR_NOT_CAPABLE\"},\n\t{776,\"The client of a component requested an operation which is not valid given the state of the component instance.\",\"ERROR_REQUEST_OUT_OF_SEQUENCE\"},\n\t{777,\"A version number could not be parsed.\",\"ERROR_VERSION_PARSE_ERROR\"},\n\t{778,\"The iterator's start position is invalid.\",\"ERROR_BADSTARTPOSITION\"},\n\t{994,\"Access to the extended attribute was denied.\",\"ERROR_EA_ACCESS_DENIED\"},\n\t{995,\"The I/O operation has been aborted because of either a thread exit or an application request.\",\"ERROR_OPERATION_ABORTED\"},\n\t{996,\"Overlapped I/O event is not in a signaled state.\",\"ERROR_IO_INCOMPLETE\"},\n\t{997,\"Overlapped I/O operation is in progress.\",\"ERROR_IO_PENDING\"},\n\t{998,\"Invalid access to memory location.\",\"ERROR_NOACCESS\"},\n\t{999,\"Error performing inpage operation.\",\"ERROR_SWAPERROR\"},\n\t{1001,\"Recursion too deep; the stack overflowed.\",\"ERROR_STACK_OVERFLOW\"},\n\t{1002,\"The window cannot act on the sent message.\",\"ERROR_INVALID_MESSAGE\"},\n\t{1003,\"Cannot complete this function.\",\"ERROR_CAN_NOT_COMPLETE\"},\n\t{1004,\"Invalid flags.\",\"ERROR_INVALID_FLAGS\"},\n\t{1005,\"The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupted.\",\"ERROR_UNRECOGNIZED_VOLUME\"},\n\t{1006,\"The volume for a file has been externally altered so that the opened file is no longer valid.\",\"ERROR_FILE_INVALID\"},\n\t{1007,\"The requested operation cannot be performed in full-screen mode.\",\"ERROR_FULLSCREEN_MODE\"},\n\t{1008,\"An attempt was made to reference a token that does not exist.\",\"ERROR_NO_TOKEN\"},\n\t{1009,\"The configuration registry database is corrupt.\",\"ERROR_BADDB\"},\n\t{1010,\"The configuration registry key is invalid.\",\"ERROR_BADKEY\"},\n\t{1011,\"The configuration registry key could not be opened.\",\"ERROR_CANTOPEN\"},\n\t{1012,\"The configuration registry key could not be read.\",\"ERROR_CANTREAD\"},\n\t{1013,\"The configuration registry key could not be written.\",\"ERROR_CANTWRITE\"},\n\t{1014,\"One of the files in the registry database had to be recovered by use of a log or alternate copy. The recovery was successful.\",\"ERROR_REGISTRY_RECOVERED\"},\n\t{1015,\"The registry is corrupted. The structure of one of the files containing registry data is corrupted, or the system's memory image of the file is corrupted, or the file could not be recovered because the alternate copy or log was absent or corrupted.\",\"ERROR_REGISTRY_CORRUPT\"},\n\t{1016,\"An I/O operation initiated by the registry failed unrecoverably. The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry.\",\"ERROR_REGISTRY_IO_FAILED\"},\n\t{1017,\"The system has attempted to load or restore a file into the registry, but the specified file is not in a registry file format.\",\"ERROR_NOT_REGISTRY_FILE\"},\n\t{1018,\"Illegal operation attempted on a registry key that has been marked for deletion.\",\"ERROR_KEY_DELETED\"},\n\t{1019,\"System could not allocate the required space in a registry log.\",\"ERROR_NO_LOG_SPACE\"},\n\t{1020,\"Cannot create a symbolic link in a registry key that already has subkeys or values.\",\"ERROR_KEY_HAS_CHILDREN\"},\n\t{1021,\"Cannot create a stable subkey under a volatile parent key.\",\"ERROR_CHILD_MUST_BE_VOLATILE\"},\n\t{1022,\"A notify change request is being completed and the information is not being returned in the caller's buffer. The caller now needs to enumerate the files to find the changes.\",\"ERROR_NOTIFY_ENUM_DIR\"},\n\t{1051,\"A stop control has been sent to a service that other running services are dependent on.\",\"ERROR_DEPENDENT_SERVICES_RUNNING\"},\n\t{1052,\"The requested control is not valid for this service.\",\"ERROR_INVALID_SERVICE_CONTROL\"},\n\t{1053,\"The service did not respond to the start or control request in a timely fashion.\",\"ERROR_SERVICE_REQUEST_TIMEOUT\"},\n\t{1054,\"A thread could not be created for the service.\",\"ERROR_SERVICE_NO_THREAD\"},\n\t{1055,\"The service database is locked.\",\"ERROR_SERVICE_DATABASE_LOCKED\"},\n\t{1056,\"An instance of the service is already running.\",\"ERROR_SERVICE_ALREADY_RUNNING\"},\n\t{1057,\"The account name is invalid or does not exist, or the password is invalid for the account name specified.\",\"ERROR_INVALID_SERVICE_ACCOUNT\"},\n\t{1058,\"The service cannot be started, either because it is disabled or because it has no enabled devices associated with it.\",\"ERROR_SERVICE_DISABLED\"},\n\t{1059,\"Circular service dependency was specified.\",\"ERROR_CIRCULAR_DEPENDENCY\"},\n\t{1060,\"The specified service does not exist as an installed service.\",\"ERROR_SERVICE_DOES_NOT_EXIST\"},\n\t{1061,\"The service cannot accept control messages at this time.\",\"ERROR_SERVICE_CANNOT_ACCEPT_CTRL\"},\n\t{1062,\"The service has not been started.\",\"ERROR_SERVICE_NOT_ACTIVE\"},\n\t{1063,\"The service process could not connect to the service controller.\",\"ERROR_FAILED_SERVICE_CONTROLLER_CONNECT\"},\n\t{1064,\"An exception occurred in the service when handling the control request.\",\"ERROR_EXCEPTION_IN_SERVICE\"},\n\t{1065,\"The database specified does not exist.\",\"ERROR_DATABASE_DOES_NOT_EXIST\"},\n\t{1066,\"The service has returned a service-specific error code.\",\"ERROR_SERVICE_SPECIFIC_ERROR\"},\n\t{1067,\"The process terminated unexpectedly.\",\"ERROR_PROCESS_ABORTED\"},\n\t{1068,\"The dependency service or group failed to start.\",\"ERROR_SERVICE_DEPENDENCY_FAIL\"},\n\t{1069,\"The service did not start due to a logon failure.\",\"ERROR_SERVICE_LOGON_FAILED\"},\n\t{1070,\"After starting, the service hung in a start-pending state.\",\"ERROR_SERVICE_START_HANG\"},\n\t{1071,\"The specified service database lock is invalid.\",\"ERROR_INVALID_SERVICE_LOCK\"},\n\t{1072,\"The specified service has been marked for deletion.\",\"ERROR_SERVICE_MARKED_FOR_DELETE\"},\n\t{1073,\"The specified service already exists.\",\"ERROR_SERVICE_EXISTS\"},\n\t{1074,\"The system is currently running with the last-known-good configuration.\",\"ERROR_ALREADY_RUNNING_LKG\"},\n\t{1075,\"The dependency service does not exist or has been marked for deletion.\",\"ERROR_SERVICE_DEPENDENCY_DELETED\"},\n\t{1076,\"The current boot has already been accepted for use as the last-known-good control set.\",\"ERROR_BOOT_ALREADY_ACCEPTED\"},\n\t{1077,\"No attempts to start the service have been made since the last boot.\",\"ERROR_SERVICE_NEVER_STARTED\"},\n\t{1078,\"The name is already in use as either a service name or a service display name.\",\"ERROR_DUPLICATE_SERVICE_NAME\"},\n\t{1079,\"The account specified for this service is different from the account specified for other services running in the same process.\",\"ERROR_DIFFERENT_SERVICE_ACCOUNT\"},\n\t{1080,\"Failure actions can only be set for Win32 services, not for drivers.\",\"ERROR_CANNOT_DETECT_DRIVER_FAILURE\"},\n\t{1081,\"This service runs in the same process as the service control manager. Therefore, the service control manager cannot take action if this service's process terminates unexpectedly.\",\"ERROR_CANNOT_DETECT_PROCESS_ABORT\"},\n\t{1082,\"No recovery program has been configured for this service.\",\"ERROR_NO_RECOVERY_PROGRAM\"},\n\t{1083,\"The executable program that this service is configured to run in does not implement the service.\",\"ERROR_SERVICE_NOT_IN_EXE\"},\n\t{1084,\"This service cannot be started in Safe Mode.\",\"ERROR_NOT_SAFEBOOT_SERVICE\"},\n\t{1100,\"The physical end of the tape has been reached.\",\"ERROR_END_OF_MEDIA\"},\n\t{1101,\"A tape access reached a filemark.\",\"ERROR_FILEMARK_DETECTED\"},\n\t{1102,\"The beginning of the tape or a partition was encountered.\",\"ERROR_BEGINNING_OF_MEDIA\"},\n\t{1103,\"A tape access reached the end of a set of files.\",\"ERROR_SETMARK_DETECTED\"},\n\t{1104,\"No more data is on the tape.\",\"ERROR_NO_DATA_DETECTED\"},\n\t{1105,\"Tape could not be partitioned.\",\"ERROR_PARTITION_FAILURE\"},\n\t{1106,\"When accessing a new tape of a multivolume partition, the current block size is incorrect.\",\"ERROR_INVALID_BLOCK_LENGTH\"},\n\t{1107,\"Tape partition information could not be found when loading a tape.\",\"ERROR_DEVICE_NOT_PARTITIONED\"},\n\t{1108,\"Unable to lock the media eject mechanism.\",\"ERROR_UNABLE_TO_LOCK_MEDIA\"},\n\t{1109,\"Unable to unload the media.\",\"ERROR_UNABLE_TO_UNLOAD_MEDIA\"},\n\t{1110,\"The media in the drive may have changed.\",\"ERROR_MEDIA_CHANGED\"},\n\t{1111,\"The I/O bus was reset.\",\"ERROR_BUS_RESET\"},\n\t{1112,\"No media in drive.\",\"ERROR_NO_MEDIA_IN_DRIVE\"},\n\t{1113,\"No mapping for the Unicode character exists in the target multi-byte code page.\",\"ERROR_NO_UNICODE_TRANSLATION\"},\n\t{1114,\"A dynamic link library (DLL) initialization routine failed.\",\"ERROR_DLL_INIT_FAILED\"},\n\t{1115,\"A system shutdown is in progress.\",\"ERROR_SHUTDOWN_IN_PROGRESS\"},\n\t{1116,\"Unable to abort the system shutdown because no shutdown was in progress.\",\"ERROR_NO_SHUTDOWN_IN_PROGRESS\"},\n\t{1117,\"The request could not be performed because of an I/O device error.\",\"ERROR_IO_DEVICE\"},\n\t{1118,\"No serial device was successfully initialized. The serial driver will unload.\",\"ERROR_SERIAL_NO_DEVICE\"},\n\t{1119,\"Unable to open a device that was sharing an interrupt request (IRQ) with other devices. At least one other device that uses that IRQ was already opened.\",\"ERROR_IRQ_BUSY\"},\n\t{1120,\"A serial I/O operation was completed by another write to the serial port. (The IOCTL_SERIAL_XOFF_COUNTER reached zero.)\",\"ERROR_MORE_WRITES\"},\n\t{1121,\"A serial I/O operation completed because the timeout period expired. (The IOCTL_SERIAL_XOFF_COUNTER did not reach zero.)\",\"ERROR_COUNTER_TIMEOUT\"},\n\t{1122,\"No ID address mark was found on the floppy disk.\",\"ERROR_FLOPPY_ID_MARK_NOT_FOUND\"},\n\t{1123,\"Mismatch between the floppy disk sector ID field and the floppy disk controller track address.\",\"ERROR_FLOPPY_WRONG_CYLINDER\"},\n\t{1124,\"The floppy disk controller reported an error that is not recognized by the floppy disk driver.\",\"ERROR_FLOPPY_UNKNOWN_ERROR\"},\n\t{1125,\"The floppy disk controller returned inconsistent results in its registers.\",\"ERROR_FLOPPY_BAD_REGISTERS\"},\n\t{1126,\"While accessing the hard disk, a recalibrate operation failed, even after retries.\",\"ERROR_DISK_RECALIBRATE_FAILED\"},\n\t{1127,\"While accessing the hard disk, a disk operation failed even after retries.\",\"ERROR_DISK_OPERATION_FAILED\"},\n\t{1128,\"While accessing the hard disk, a disk controller reset was needed, but even that failed.\",\"ERROR_DISK_RESET_FAILED\"},\n\t{1129,\"Physical end of tape encountered.\",\"ERROR_EOM_OVERFLOW\"},\n\t{1130,\"Not enough server storage is available to process this command.\",\"ERROR_NOT_ENOUGH_SERVER_MEMORY\"},\n\t{1131,\"A potential deadlock condition has been detected.\",\"ERROR_POSSIBLE_DEADLOCK\"},\n\t{1132,\"The base address or the file offset specified does not have the proper alignment.\",\"ERROR_MAPPED_ALIGNMENT\"},\n\t{1140,\"An attempt to change the system power state was vetoed by another application or driver.\",\"ERROR_SET_POWER_STATE_VETOED\"},\n\t{1141,\"The system BIOS failed an attempt to change the system power state.\",\"ERROR_SET_POWER_STATE_FAILED\"},\n\t{1142,\"An attempt was made to create more links on a file than the file system supports.\",\"ERROR_TOO_MANY_LINKS\"},\n\t{1150,\"The specified program requires a newer version of Windows.\",\"ERROR_OLD_WIN_VERSION\"},\n\t{1151,\"The specified program is not a Windows or MS-DOS program.\",\"ERROR_APP_WRONG_OS\"},\n\t{1152,\"Cannot start more than one instance of the specified program.\",\"ERROR_SINGLE_INSTANCE_APP\"},\n\t{1153,\"The specified program was written for an earlier version of Windows.\",\"ERROR_RMODE_APP\"},\n\t{1154,\"One of the library files needed to run this application is damaged.\",\"ERROR_INVALID_DLL\"},\n\t{1155,\"No application is associated with the specified file for this operation.\",\"ERROR_NO_ASSOCIATION\"},\n\t{1156,\"An error occurred in sending the command to the application.\",\"ERROR_DDE_FAIL\"},\n\t{1157,\"One of the library files needed to run this application cannot be found.\",\"ERROR_DLL_NOT_FOUND\"},\n\t{1158,\"The current process has used all of its system allowance of handles for Window Manager objects.\",\"ERROR_NO_MORE_USER_HANDLES\"},\n\t{1159,\"The message can be used only with synchronous operations.\",\"ERROR_MESSAGE_SYNC_ONLY\"},\n\t{1160,\"The indicated source element has no media.\",\"ERROR_SOURCE_ELEMENT_EMPTY\"},\n\t{1161,\"The indicated destination element already contains media.\",\"ERROR_DESTINATION_ELEMENT_FULL\"},\n\t{1162,\"The indicated element does not exist.\",\"ERROR_ILLEGAL_ELEMENT_ADDRESS\"},\n\t{1163,\"The indicated element is part of a magazine that is not present.\",\"ERROR_MAGAZINE_NOT_PRESENT\"},\n\t{1164,\"The indicated device requires reinitialization due to hardware errors.\",\"ERROR_DEVICE_REINITIALIZATION_NEEDED\"},\n\t{1165,\"The device has indicated that cleaning is required before further operations are attempted.\",\"ERROR_DEVICE_REQUIRES_CLEANING\"},\n\t{1166,\"The device has indicated that its door is open.\",\"ERROR_DEVICE_DOOR_OPEN\"},\n\t{1167,\"The device is not connected.\",\"ERROR_DEVICE_NOT_CONNECTED\"},\n\t{1168,\"Element not found.\",\"ERROR_NOT_FOUND\"},\n\t{1169,\"There was no match for the specified key in the index.\",\"ERROR_NO_MATCH\"},\n\t{1170,\"The property set specified does not exist on the object.\",\"ERROR_SET_NOT_FOUND\"},\n\t{1171,\"The point passed to GetMouseMovePointsEx is not in the buffer.\",\"ERROR_POINT_NOT_FOUND\"},\n\t{1172,\"The tracking (workstation) service is not running.\",\"ERROR_NO_TRACKING_SERVICE\"},\n\t{1173,\"The Volume ID could not be found.\",\"ERROR_NO_VOLUME_ID\"},\n\t{1175,\"Unable to remove the file to be replaced.\",\"ERROR_UNABLE_TO_REMOVE_REPLACED\"},\n\t{1176,\"Unable to move the replacement file to the file to be replaced. The file to be replaced has retained its original name.\",\"ERROR_UNABLE_TO_MOVE_REPLACEMENT\"},\n\t{1177,\"Unable to move the replacement file to the file to be replaced. The file to be replaced has been renamed using the backup name.\",\"ERROR_UNABLE_TO_MOVE_REPLACEMENT_2\"},\n\t{1178,\"The volume change journal is being deleted.\",\"ERROR_JOURNAL_DELETE_IN_PROGRESS\"},\n\t{1179,\"The volume change journal is not active.\",\"ERROR_JOURNAL_NOT_ACTIVE\"},\n\t{1180,\"A file was found, but it may not be the correct file.\",\"ERROR_POTENTIAL_FILE_FOUND\"},\n\t{1181,\"The journal entry has been deleted from the journal.\",\"ERROR_JOURNAL_ENTRY_DELETED\"},\n\t{1200,\"The specified device name is invalid.\",\"ERROR_BAD_DEVICE\"},\n\t{1201,\"The device is not currently connected but it is a remembered connection.\",\"ERROR_CONNECTION_UNAVAIL\"},\n\t{1202,\"The local device name has a remembered connection to another network resource.\",\"ERROR_DEVICE_ALREADY_REMEMBERED\"},\n\t{1203,\"The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Please try retyping the path or contact your network administrator.\",\"ERROR_NO_NET_OR_BAD_PATH\"},\n\t{1204,\"The specified network provider name is invalid.\",\"ERROR_BAD_PROVIDER\"},\n\t{1205,\"Unable to open the network connection profile.\",\"ERROR_CANNOT_OPEN_PROFILE\"},\n\t{1206,\"The network connection profile is corrupted.\",\"ERROR_BAD_PROFILE\"},\n\t{1207,\"Cannot enumerate a noncontainer.\",\"ERROR_NOT_CONTAINER\"},\n\t{1208,\"An extended error has occurred.\",\"ERROR_EXTENDED_ERROR\"},\n\t{1209,\"The format of the specified group name is invalid.\",\"ERROR_INVALID_GROUPNAME\"},\n\t{1210,\"The format of the specified computer name is invalid.\",\"ERROR_INVALID_COMPUTERNAME\"},\n\t{1211,\"The format of the specified event name is invalid.\",\"ERROR_INVALID_EVENTNAME\"},\n\t{1212,\"The format of the specified domain name is invalid.\",\"ERROR_INVALID_DOMAINNAME\"},\n\t{1213,\"The format of the specified service name is invalid.\",\"ERROR_INVALID_SERVICENAME\"},\n\t{1214,\"The format of the specified network name is invalid.\",\"ERROR_INVALID_NETNAME\"},\n\t{1215,\"The format of the specified share name is invalid.\",\"ERROR_INVALID_SHARENAME\"},\n\t{1216,\"The format of the specified password is invalid.\",\"ERROR_INVALID_PASSWORDNAME\"},\n\t{1217,\"The format of the specified message name is invalid.\",\"ERROR_INVALID_MESSAGENAME\"},\n\t{1218,\"The format of the specified message destination is invalid.\",\"ERROR_INVALID_MESSAGEDEST\"},\n\t{1219,\"Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.\",\"ERROR_SESSION_CREDENTIAL_CONFLICT\"},\n\t{1220,\"An attempt was made to establish a session to a network server, but there are already too many sessions established to that server.\",\"ERROR_REMOTE_SESSION_LIMIT_EXCEEDED\"},\n\t{1221,\"The workgroup or domain name is already in use by another computer on the network.\",\"ERROR_DUP_DOMAINNAME\"},\n\t{1222,\"The network is not present or not started.\",\"ERROR_NO_NETWORK\"},\n\t{1223,\"The operation was canceled by the user.\",\"ERROR_CANCELLED\"},\n\t{1224,\"The requested operation cannot be performed on a file with a user-mapped section open.\",\"ERROR_USER_MAPPED_FILE\"},\n\t{1225,\"The remote system refused the network connection.\",\"ERROR_CONNECTION_REFUSED\"},\n\t{1226,\"The network connection was gracefully closed.\",\"ERROR_GRACEFUL_DISCONNECT\"},\n\t{1227,\"The network transport endpoint already has an address associated with it.\",\"ERROR_ADDRESS_ALREADY_ASSOCIATED\"},\n\t{1228,\"An address has not yet been associated with the network endpoint.\",\"ERROR_ADDRESS_NOT_ASSOCIATED\"},\n\t{1229,\"An operation was attempted on a nonexistent network connection.\",\"ERROR_CONNECTION_INVALID\"},\n\t{1230,\"An invalid operation was attempted on an active network connection.\",\"ERROR_CONNECTION_ACTIVE\"},\n\t{1231,\"The network location cannot be reached. For information about network troubleshooting, see Windows Help.\",\"ERROR_NETWORK_UNREACHABLE\"},\n\t{1232,\"The network location cannot be reached. For information about network troubleshooting, see Windows Help.\",\"ERROR_HOST_UNREACHABLE\"},\n\t{1233,\"The network location cannot be reached. For information about network troubleshooting, see Windows Help.\",\"ERROR_PROTOCOL_UNREACHABLE\"},\n\t{1234,\"No service is operating at the destination network endpoint on the remote system.\",\"ERROR_PORT_UNREACHABLE\"},\n\t{1235,\"The request was aborted.\",\"ERROR_REQUEST_ABORTED\"},\n\t{1236,\"The network connection was aborted by the local system.\",\"ERROR_CONNECTION_ABORTED\"},\n\t{1237,\"The operation could not be completed. A retry should be performed.\",\"ERROR_RETRY\"},\n\t{1238,\"A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached.\",\"ERROR_CONNECTION_COUNT_LIMIT\"},\n\t{1239,\"Attempting to log in during an unauthorized time of day for this account.\",\"ERROR_LOGIN_TIME_RESTRICTION\"},\n\t{1240,\"The account is not authorized to log in from this station.\",\"ERROR_LOGIN_WKSTA_RESTRICTION\"},\n\t{1241,\"The network address could not be used for the operation requested.\",\"ERROR_INCORRECT_ADDRESS\"},\n\t{1242,\"The service is already registered.\",\"ERROR_ALREADY_REGISTERED\"},\n\t{1243,\"The specified service does not exist.\",\"ERROR_SERVICE_NOT_FOUND\"},\n\t{1244,\"The operation being requested was not performed because the user has not been authenticated.\",\"ERROR_NOT_AUTHENTICATED\"},\n\t{1245,\"The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist.\",\"ERROR_NOT_LOGGED_ON\"},\n\t{1246,\"Continue with work in progress.\",\"ERROR_CONTINUE\"},\n\t{1247,\"An attempt was made to perform an initialization operation when initialization has already been completed.\",\"ERROR_ALREADY_INITIALIZED\"},\n\t{1248,\"No more local devices.\",\"ERROR_NO_MORE_DEVICES\"},\n\t{1249,\"The specified site does not exist.\",\"ERROR_NO_SUCH_SITE\"},\n\t{1250,\"A domain controller with the specified name already exists.\",\"ERROR_DOMAIN_CONTROLLER_EXISTS\"},\n\t{1251,\"This operation is supported only when you are connected to the server.\",\"ERROR_ONLY_IF_CONNECTED\"},\n\t{1252,\"The group policy framework should call the extension even if there are no changes.\",\"ERROR_OVERRIDE_NOCHANGES\"},\n\t{1253,\"The specified user does not have a valid profile.\",\"ERROR_BAD_USER_PROFILE\"},\n\t{1254,\"This operation is not supported on a computer running Windows Server 2003 for Small Business Server.\",\"ERROR_NOT_SUPPORTED_ON_SBS\"},\n\t{1255,\"The server machine is shutting down.\",\"ERROR_SERVER_SHUTDOWN_IN_PROGRESS\"},\n\t{1256,\"The remote system is not available. For information about network troubleshooting, see Windows Help.\",\"ERROR_HOST_DOWN\"},\n\t{1257,\"The security identifier provided is not from an account domain.\",\"ERROR_NON_ACCOUNT_SID\"},\n\t{1258,\"The security identifier provided does not have a domain component.\",\"ERROR_NON_DOMAIN_SID\"},\n\t{1259,\"AppHelp dialog canceled thus preventing the application from starting.\",\"ERROR_APPHELP_BLOCK\"},\n\t{1260,\"Windows cannot open this program because it has been prevented by a software restriction policy. For more information, open Event Viewer or contact your system administrator.\",\"ERROR_ACCESS_DISABLED_BY_POLICY\"},\n\t{1261,\"A program attempt to use an invalid register value. Normally caused by an uninitialized register. This error is Itanium specific.\",\"ERROR_REG_NAT_CONSUMPTION\"},\n\t{1262,\"The share is currently offline or does not exist.\",\"ERROR_CSCSHARE_OFFLINE\"},\n\t{1263,\"The kerberos protocol encountered an error while validating the KDC certificate during smartcard logon.\",\"ERROR_PKINIT_FAILURE\"},\n\t{1264,\"The kerberos protocol encountered an error while attempting to utilize the smartcard subsystem.\",\"ERROR_SMARTCARD_SUBSYSTEM_FAILURE\"},\n\t{1265,\"The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.\",\"ERROR_DOWNGRADE_DETECTED\"},\n\t{1266,\"The smartcard certificate used for authentication has been revoked. Please contact your system administrator. There may be additional information in the event log.\",\"SEC_E_SMARTCARD_CERT_REVOKED\"},\n\t{1267,\"An untrusted certificate authority was detected while processing the smartcard certificate used for authentication. Please contact your system administrator.\",\"SEC_E_ISSUING_CA_UNTRUSTED\"},\n\t{1268,\"The revocation status of the smartcard certificate used for authentication could not be determined. Please contact your system administrator.\",\"SEC_E_REVOCATION_OFFLINE_C\"},\n\t{1269,\"The smartcard certificate used for authentication was not trusted. Please contact your system administrator.\",\"SEC_E_PKINIT_CLIENT_FAILUR\"},\n\t{1270,\"The smartcard certificate used for authentication has expired. Please contact your system administrator.\",\"SEC_E_SMARTCARD_CERT_EXPIRED\"},\n\t{1271,\"The machine is locked and cannot be shut down without the force option.\",\"ERROR_MACHINE_LOCKED\"},\n\t{1273,\"An application-defined callback gave invalid data when called.\",\"ERROR_CALLBACK_SUPPLIED_INVALID_DATA\"},\n\t{1274,\"The group policy framework should call the extension in the synchronous foreground policy refresh.\",\"ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED\"},\n\t{1275,\"This driver has been blocked from loading.\",\"ERROR_DRIVER_BLOCKED\"},\n\t{1276,\"A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image.\",\"ERROR_INVALID_IMPORT_OF_NON_DLL\"},\n\t{1277,\"Windows cannot open this program since it has been disabled.\",\"ERROR_ACCESS_DISABLED_WEBBLADE\"},\n\t{1278,\"Windows cannot open this program because the license enforcement system has been tampered with or become corrupted.\",\"ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER\"},\n\t{1279,\"A transaction recovery failed.\",\"ERROR_RECOVERY_FAILURE\"},\n\t{1280,\"The current thread has already been converted to a fiber.\",\"ERROR_ALREADY_FIBER\"},\n\t{1281,\"The current thread has already been converted from a fiber.\",\"ERROR_ALREADY_THREAD\"},\n\t{1282,\"The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.\",\"ERROR_STACK_BUFFER_OVERRUN\"},\n\t{1283,\"Data present in one of the parameters is more than the function can operate on.\",\"ERROR_PARAMETER_QUOTA_EXCEEDED\"},\n\t{1284,\"An attempt to do an operation on a debug object failed because the object is in the process of being deleted.\",\"ERROR_DEBUGGER_INACTIVE\"},\n\t{1285,\"An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed.\",\"ERROR_DELAY_LOAD_FAILED\"},\n\t{1286,\"%1 is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator.\",\"ERROR_VDM_DISALLOWED\"},\n\t{1287,\"Insufficient information exists to identify the cause of failure.\",\"ERROR_UNIDENTIFIED_ERROR\"},\n\t{1288,\"An invalid budget or period parameter was specified.\",\"ERROR_INVALID_BANDWIDTH_PARAMETERS\"},\n\t{1289,\"An attempt was made to join a thread to a reserve whose affinity did not intersect the reserve affinity or an attempt was made to associate a process with a reserve whose affinity did not intersect the reserve affinity.\",\"ERROR_AFFINITY_NOT_COMPATIBLE\"},\n\t{1290,\"An attempt was made to join a thread to a reserve which was already joined to another reserve.\",\"ERROR_THREAD_ALREADY_IN_RESERVE\"},\n\t{1291,\"An attempt was made to disjoin a thread from a reserve, but the thread was not joined to the reserve.\",\"ERROR_THREAD_NOT_IN_RESERVE\"},\n\t{1292,\"An attempt was made to disjoin a thread from a reserve whose process is associated with a reserve.\",\"ERROR_THREAD_PROCESS_IN_RESERVE\"},\n\t{1293,\"An attempt was made to associate a process with a reserve that was already associated with a reserve.\",\"ERROR_PROCESS_ALREADY_IN_RESERVE\"},\n\t{1294,\"An attempt was made to disassociate a process from a reserve, but the process did not have an associated reserve.\",\"ERROR_PROCESS_NOT_IN_RESERVE\"},\n\t{1295,\"An attempt was made to associate a process with a reserve, but the process contained thread joined to a reserve.\",\"ERROR_PROCESS_THREADS_IN_RESERVE\"},\n\t{1296,\"An attempt was made to set the affinity of a thread or a process, but the thread or process was joined or associated with a reserve.\",\"ERROR_AFFINITY_NOT_SET_IN_RESERVE\"},\n\t{1297,\"An operation attempted to exceed an implementation-defined limit.\",\"ERROR_IMPLEMENTATION_LIMIT\"},\n\t{1298,\"The requested object is for internal DS operations only.\",\"ERROR_DS_CACHE_ONLY\"},\n\t{1300,\"Not all privileges referenced are assigned to the caller.\",\"ERROR_NOT_ALL_ASSIGNED\"},\n\t{1301,\"Some mapping between account names and security IDs was not done.\",\"ERROR_SOME_NOT_MAPPED\"},\n\t{1302,\"No system quota limits are specifically set for this account.\",\"ERROR_NO_QUOTAS_FOR_ACCOUNT\"},\n\t{1303,\"No encryption key is available. A well-known encryption key was returned.\",\"ERROR_LOCAL_USER_SESSION_KEY\"},\n\t{1304,\"The password is too complex to be converted to a LAN Manager password. The LAN Manager password returned is a NULL string.\",\"ERROR_NULL_LM_PASSWORD\"},\n\t{1305,\"The revision level is unknown.\",\"ERROR_UNKNOWN_REVISION\"},\n\t{1306,\"Indicates two revision levels are incompatible.\",\"ERROR_REVISION_MISMATCH\"},\n\t{1307,\"This security ID may not be assigned as the owner of this object.\",\"ERROR_INVALID_OWNER\"},\n\t{1308,\"This security ID may not be assigned as the primary group of an object.\",\"ERROR_INVALID_PRIMARY_GROUP\"},\n\t{1309,\"An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.\",\"ERROR_NO_IMPERSONATION_TOKEN\"},\n\t{1310,\"The group may not be disabled.\",\"ERROR_CANT_DISABLE_MANDATORY\"},\n\t{1311,\"There are currently no logon servers available to service the logon request.\",\"ERROR_NO_LOGON_SERVERS\"},\n\t{1312,\"A specified logon session does not exist. It may already have been terminated.\",\"ERROR_NO_SUCH_LOGON_SESSION\"},\n\t{1313,\"A specified privilege does not exist.\",\"ERROR_NO_SUCH_PRIVILEGE\"},\n\t{1314,\"A required privilege is not held by the client.\",\"ERROR_PRIVILEGE_NOT_HELD\"},\n\t{1315,\"The name provided is not a properly formed account name.\",\"ERROR_INVALID_ACCOUNT_NAME\"},\n\t{1316,\"The specified user already exists.\",\"ERROR_USER_EXISTS\"},\n\t{1317,\"The specified user does not exist.\",\"ERROR_NO_SUCH_USER\"},\n\t{1318,\"The specified group already exists.\",\"ERROR_GROUP_EXISTS\"},\n\t{1319,\"The specified group does not exist.\",\"ERROR_NO_SUCH_GROUP\"},\n\t{1320,\"Either the specified user account is already a member of the specified group, or the specified group cannot be deleted because it contains a member.\",\"ERROR_MEMBER_IN_GROUP\"},\n\t{1321,\"The specified user account is not a member of the specified group account.\",\"ERROR_MEMBER_NOT_IN_GROUP\"},\n\t{1322,\"The last remaining administration account cannot be disabled or deleted.\",\"ERROR_LAST_ADMIN\"},\n\t{1323,\"Unable to update the password. The value provided as the current password is incorrect.\",\"ERROR_WRONG_PASSWORD\"},\n\t{1324,\"Unable to update the password. The value provided for the new password contains values that are not allowed in passwords.\",\"ERROR_ILL_FORMED_PASSWORD\"},\n\t{1325,\"Unable to update the password. The value provided for the new password does not meet the length, complexity, or history requirement of the domain.\",\"ERROR_PASSWORD_RESTRICTION\"},\n\t{1326,\"Logon failure: unknown user name or bad password.\",\"ERROR_LOGON_FAILURE\"},\n\t{1327,\"Logon failure: user account restriction. Possible reasons are blank passwords not allowed, logon hour restrictions, or a policy restriction has been enforced.\",\"ERROR_ACCOUNT_RESTRICTION\"},\n\t{1328,\"Logon failure: account logon time restriction violation.\",\"ERROR_INVALID_LOGON_HOURS\"},\n\t{1329,\"Logon failure: user not allowed to log on to this computer.\",\"ERROR_INVALID_WORKSTATION\"},\n\t{1330,\"Logon failure: the specified account password has expired.\",\"ERROR_PASSWORD_EXPIRED\"},\n\t{1331,\"Logon failure: account currently disabled.\",\"ERROR_ACCOUNT_DISABLED\"},\n\t{1332,\"No mapping between account names and security IDs was done.\",\"ERROR_NONE_MAPPED\"},\n\t{1333,\"Too many local user identifiers (LUIDs) were requested at one time.\",\"ERROR_TOO_MANY_LUIDS_REQUESTED\"},\n\t{1334,\"No more local user identifiers (LUIDs) are available.\",\"ERROR_LUIDS_EXHAUSTED\"},\n\t{1335,\"The subauthority part of a security ID is invalid for this particular use.\",\"ERROR_INVALID_SUB_AUTHORITY\"},\n\t{1336,\"The access control list (ACL) structure is invalid.\",\"ERROR_INVALID_ACL\"},\n\t{1337,\"The security ID structure is invalid.\",\"ERROR_INVALID_SID\"},\n\t{1338,\"The security descriptor structure is invalid.\",\"ERROR_INVALID_SECURITY_DESCR\"},\n\t{1340,\"The inherited access control list (ACL) or access control entry (ACE) could not be built.\",\"ERROR_BAD_INHERITANCE_ACL\"},\n\t{1341,\"The server is currently disabled.\",\"ERROR_SERVER_DISABLED\"},\n\t{1342,\"The server is currently enabled.\",\"ERROR_SERVER_NOT_DISABLED\"},\n\t{1343,\"The value provided was an invalid value for an identifier authority.\",\"ERROR_INVALID_ID_AUTHORITY\"},\n\t{1344,\"No more memory is available for security information updates.\",\"ERROR_ALLOTTED_SPACE_EXCEEDED\"},\n\t{1345,\"The specified attributes are invalid, or incompatible with the attributes for the group as a whole.\",\"ERROR_INVALID_GROUP_ATTRIBUTES\"},\n\t{1346,\"Either a required impersonation level was not provided, or the provided impersonation level is invalid.\",\"ERROR_BAD_IMPERSONATION_LEVEL\"},\n\t{1347,\"Cannot open an anonymous level security token.\",\"ERROR_CANT_OPEN_ANONYMOUS\"},\n\t{1348,\"The validation information class requested was invalid.\",\"ERROR_BAD_VALIDATION_CLASS\"},\n\t{1349,\"The type of the token is inappropriate for its attempted use.\",\"ERROR_BAD_TOKEN_TYPE\"},\n\t{1350,\"Unable to perform a security operation on an object that has no associated security.\",\"ERROR_NO_SECURITY_ON_OBJECT\"},\n\t{1351,\"Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied.\",\"ERROR_CANT_ACCESS_DOMAIN_INFO\"},\n\t{1352,\"The security account manager (SAM) or local security authority (LSA) server was in the wrong state to perform the security operation.\",\"ERROR_INVALID_SERVER_STATE\"},\n\t{1353,\"The domain was in the wrong state to perform the security operation.\",\"ERROR_INVALID_DOMAIN_STATE\"},\n\t{1354,\"This operation is only allowed for the Primary Domain Controller of the domain.\",\"ERROR_INVALID_DOMAIN_ROLE\"},\n\t{1355,\"The specified domain either does not exist or could not be contacted.\",\"ERROR_NO_SUCH_DOMAIN\"},\n\t{1356,\"The specified domain already exists.\",\"ERROR_DOMAIN_EXISTS\"},\n\t{1357,\"An attempt was made to exceed the limit on the number of domains per server.\",\"ERROR_DOMAIN_LIMIT_EXCEEDED\"},\n\t{1358,\"Unable to complete the requested operation because of either a catastrophic media failure or a data structure corruption on the disk.\",\"ERROR_INTERNAL_DB_CORRUPTION\"},\n\t{1359,\"An internal error occurred.\",\"ERROR_INTERNAL_ERROR\"},\n\t{1360,\"Generic access types were contained in an access mask which should already be mapped to nongeneric types.\",\"ERROR_GENERIC_NOT_MAPPED\"},\n\t{1361,\"A security descriptor is not in the right format (absolute or self-relative).\",\"ERROR_BAD_DESCRIPTOR_FORMAT\"},\n\t{1362,\"The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process.\",\"ERROR_NOT_LOGON_PROCESS\"},\n\t{1363,\"Cannot start a new logon session with an ID that is already in use.\",\"ERROR_LOGON_SESSION_EXISTS\"},\n\t{1364,\"A specified authentication package is unknown.\",\"ERROR_NO_SUCH_PACKAGE\"},\n\t{1365,\"The logon session is not in a state that is consistent with the requested operation.\",\"ERROR_BAD_LOGON_SESSION_STATE\"},\n\t{1366,\"The logon session ID is already in use.\",\"ERROR_LOGON_SESSION_COLLISION\"},\n\t{1367,\"A logon request contained an invalid logon type value.\",\"ERROR_INVALID_LOGON_TYPE\"},\n\t{1368,\"Unable to impersonate using a named pipe until data has been read from that pipe.\",\"ERROR_CANNOT_IMPERSONATE\"},\n\t{1369,\"The transaction state of a registry subtree is incompatible with the requested operation.\",\"ERROR_RXACT_INVALID_STATE\"},\n\t{1370,\"An internal security database corruption has been encountered.\",\"ERROR_RXACT_COMMIT_FAILURE\"},\n\t{1371,\"Cannot perform this operation on built-in accounts.\",\"ERROR_SPECIAL_ACCOUNT\"},\n\t{1372,\"Cannot perform this operation on this built-in special group.\",\"ERROR_SPECIAL_GROUP\"},\n\t{1373,\"Cannot perform this operation on this built-in special user.\",\"ERROR_SPECIAL_USER\"},\n\t{1374,\"The user cannot be removed from a group because the group is currently the user's primary group.\",\"ERROR_MEMBERS_PRIMARY_GROUP\"},\n\t{1375,\"The token is already in use as a primary token.\",\"ERROR_TOKEN_ALREADY_IN_USE\"},\n\t{1376,\"The specified local group does not exist.\",\"ERROR_NO_SUCH_ALIAS\"},\n\t{1377,\"The specified account name is not a member of the local group.\",\"ERROR_MEMBER_NOT_IN_ALIAS\"},\n\t{1378,\"The specified account name is already a member of the local group.\",\"ERROR_MEMBER_IN_ALIAS\"},\n\t{1379,\"The specified local group already exists.\",\"ERROR_ALIAS_EXISTS\"},\n\t{1380,\"Logon failure: the user has not been granted the requested logon type at this computer.\",\"ERROR_LOGON_NOT_GRANTED\"},\n\t{1381,\"The maximum number of secrets that may be stored in a single system has been exceeded.\",\"ERROR_TOO_MANY_SECRETS\"},\n\t{1382,\"The length of a secret exceeds the maximum length allowed.\",\"ERROR_SECRET_TOO_LONG\"},\n\t{1383,\"The local security authority database contains an internal inconsistency.\",\"ERROR_INTERNAL_DB_ERROR\"},\n\t{1384,\"During a logon attempt, the user's security context accumulated too many security IDs.\",\"ERROR_TOO_MANY_CONTEXT_IDS\"},\n\t{1385,\"Logon failure: the user has not been granted the requested logon type at this computer.\",\"ERROR_LOGON_TYPE_NOT_GRANTED\"},\n\t{1386,\"A cross-encrypted password is necessary to change a user password.\",\"ERROR_NT_CROSS_ENCRYPTION_REQUIRED\"},\n\t{1387,\"A new member could not be added to or removed from the local group because the member does not exist.\",\"ERROR_NO_SUCH_MEMBER\"},\n\t{1388,\"A new member could not be added to a local group because the member has the wrong account type.\",\"ERROR_INVALID_MEMBER\"},\n\t{1389,\"Too many security IDs have been specified.\",\"ERROR_TOO_MANY_SIDS\"},\n\t{1390,\"A cross-encrypted password is necessary to change this user password.\",\"ERROR_LM_CROSS_ENCRYPTION_REQUIRED\"},\n\t{1391,\"Indicates an ACL contains no inheritable components.\",\"ERROR_NO_INHERITANCE\"},\n\t{1392,\"The file or directory is corrupted and unreadable.\",\"ERROR_FILE_CORRUPT\"},\n\t{1393,\"The disk structure is corrupted and unreadable.\",\"ERROR_DISK_CORRUPT\"},\n\t{1394,\"There is no user session key for the specified logon session.\",\"ERROR_NO_USER_SESSION_KEY\"},\n\t{1395,\"The service being accessed is licensed for a particular number of connections. No more connections can be made to the service at this time because there are already as many connections as the service can accept.\",\"ERROR_LICENSE_QUOTA_EXCEEDED\"},\n\t{1396,\"Logon Failure: The target account name is incorrect.\",\"ERROR_WRONG_TARGET_NAME\"},\n\t{1397,\"Mutual Authentication failed. The server's password is out of date at the domain controller.\",\"ERROR_MUTUAL_AUTH_FAILED\"},\n\t{1398,\"There is a time and/or date difference between the client and server.\",\"ERROR_TIME_SKEW\"},\n\t{1399,\"This operation cannot be performed on the current domain.\",\"ERROR_CURRENT_DOMAIN_NOT_ALLOWED\"},\n\t{1400,\"Invalid window handle.\",\"ERROR_INVALID_WINDOW_HANDLE\"},\n\t{1401,\"Invalid menu handle.\",\"ERROR_INVALID_MENU_HANDLE\"},\n\t{1402,\"Invalid cursor handle.\",\"ERROR_INVALID_CURSOR_HANDLE\"},\n\t{1403,\"Invalid accelerator table handle.\",\"ERROR_INVALID_ACCEL_HANDLE\"},\n\t{1404,\"Invalid hook handle.\",\"ERROR_INVALID_HOOK_HANDLE\"},\n\t{1405,\"Invalid handle to a multiple-window position structure.\",\"ERROR_INVALID_DWP_HANDLE\"},\n\t{1406,\"Cannot create a top-level child window.\",\"ERROR_TLW_WITH_WSCHILD\"},\n\t{1407,\"Cannot find window class.\",\"ERROR_CANNOT_FIND_WND_CLASS\"},\n\t{1408,\"Invalid window; it belongs to other thread.\",\"ERROR_WINDOW_OF_OTHER_THREAD\"},\n\t{1409,\"Hot key is already registered.\",\"ERROR_HOTKEY_ALREADY_REGISTERED\"},\n\t{1410,\"Class already exists.\",\"ERROR_CLASS_ALREADY_EXISTS\"},\n\t{1411,\"Class does not exist.\",\"ERROR_CLASS_DOES_NOT_EXIST\"},\n\t{1412,\"Class still has open windows.\",\"ERROR_CLASS_HAS_WINDOWS\"},\n\t{1413,\"Invalid index.\",\"ERROR_INVALID_INDEX\"},\n\t{1414,\"Invalid icon handle.\",\"ERROR_INVALID_ICON_HANDLE\"},\n\t{1415,\"Using private DIALOG window words.\",\"ERROR_PRIVATE_DIALOG_INDEX\"},\n\t{1416,\"The list box identifier was not found.\",\"ERROR_LISTBOX_ID_NOT_FOUND\"},\n\t{1417,\"No wildcards were found.\",\"ERROR_NO_WILDCARD_CHARACTERS\"},\n\t{1418,\"Thread does not have a clipboard open.\",\"ERROR_CLIPBOARD_NOT_OPEN\"},\n\t{1419,\"Hot key is not registered.\",\"ERROR_HOTKEY_NOT_REGISTERED\"},\n\t{1420,\"The window is not a valid dialog window.\",\"ERROR_WINDOW_NOT_DIALOG\"},\n\t{1421,\"Control ID not found.\",\"ERROR_CONTROL_ID_NOT_FOUND\"},\n\t{1422,\"Invalid message for a combo box because it does not have an edit control.\",\"ERROR_INVALID_COMBOBOX_MESSAGE\"},\n\t{1423,\"The window is not a combo box.\",\"ERROR_WINDOW_NOT_COMBOBOX\"},\n\t{1424,\"Height must be less than 256.\",\"ERROR_INVALID_EDIT_HEIGHT\"},\n\t{1425,\"Invalid device context (DC) handle.\",\"ERROR_DC_NOT_FOUND\"},\n\t{1426,\"Invalid hook procedure type.\",\"ERROR_INVALID_HOOK_FILTER\"},\n\t{1427,\"Invalid hook procedure.\",\"ERROR_INVALID_FILTER_PROC\"},\n\t{1428,\"Cannot set nonlocal hook without a module handle.\",\"ERROR_HOOK_NEEDS_HMOD\"},\n\t{1429,\"This hook procedure can only be set globally.\",\"ERROR_GLOBAL_ONLY_HOOK\"},\n\t{1430,\"The journal hook procedure is already installed.\",\"ERROR_JOURNAL_HOOK_SET\"},\n\t{1431,\"The hook procedure is not installed.\",\"ERROR_HOOK_NOT_INSTALLED\"},\n\t{1432,\"Invalid message for single-selection list box.\",\"ERROR_INVALID_LB_MESSAGE\"},\n\t{1433,\"LB_SETCOUNT sent to non-lazy list box.\",\"ERROR_SETCOUNT_ON_BAD_LB\"},\n\t{1434,\"This list box does not support tab stops.\",\"ERROR_LB_WITHOUT_TABSTOPS\"},\n\t{1435,\"Cannot destroy object created by another thread.\",\"ERROR_DESTROY_OBJECT_OF_OTHER_THREAD\"},\n\t{1436,\"Child windows cannot have menus.\",\"ERROR_CHILD_WINDOW_MENU\"},\n\t{1437,\"The window does not have a system menu.\",\"ERROR_NO_SYSTEM_MENU\"},\n\t{1438,\"Invalid message box style.\",\"ERROR_INVALID_MSGBOX_STYLE\"},\n\t{1439,\"Invalid system-wide (SPI_*) parameter.\",\"ERROR_INVALID_SPI_VALUE\"},\n\t{1440,\"Screen already locked.\",\"ERROR_SCREEN_ALREADY_LOCKED\"},\n\t{1441,\"All handles to windows in a multiple-window position structure must have the same parent.\",\"ERROR_HWNDS_HAVE_DIFF_PARENT\"},\n\t{1442,\"The window is not a child window.\",\"ERROR_NOT_CHILD_WINDOW\"},\n\t{1443,\"Invalid GW_* command.\",\"ERROR_INVALID_GW_COMMAND\"},\n\t{1444,\"Invalid thread identifier.\",\"ERROR_INVALID_THREAD_ID\"},\n\t{1445,\"Cannot process a message from a window that is not a multiple document interface (MDI) window.\",\"ERROR_NON_MDICHILD_WINDOW\"},\n\t{1446,\"Popup menu already active.\",\"ERROR_POPUP_ALREADY_ACTIVE\"},\n\t{1447,\"The window does not have scroll bars.\",\"ERROR_NO_SCROLLBARS\"},\n\t{1448,\"Scroll bar range cannot be greater than MAXLONG.\",\"ERROR_INVALID_SCROLLBAR_RANGE\"},\n\t{1449,\"Cannot show or remove the window in the way specified.\",\"ERROR_INVALID_SHOWWIN_COMMAND\"},\n\t{1450,\"Insufficient system resources exist to complete the requested service.\",\"ERROR_NO_SYSTEM_RESOURCES\"},\n\t{1451,\"Insufficient system resources exist to complete the requested service.\",\"ERROR_NONPAGED_SYSTEM_RESOURCES\"},\n\t{1452,\"Insufficient system resources exist to complete the requested service.\",\"ERROR_PAGED_SYSTEM_RESOURCES\"},\n\t{1453,\"Insufficient quota to complete the requested service.\",\"ERROR_WORKING_SET_QUOTA\"},\n\t{1454,\"Insufficient quota to complete the requested service.\",\"ERROR_PAGEFILE_QUOTA\"},\n\t{1455,\"The paging file is too small for this operation to complete.\",\"ERROR_COMMITMENT_LIMIT\"},\n\t{1456,\"A menu item was not found.\",\"ERROR_MENU_ITEM_NOT_FOUND\"},\n\t{1457,\"Invalid keyboard layout handle.\",\"ERROR_INVALID_KEYBOARD_HANDLE\"},\n\t{1458,\"Hook type not allowed.\",\"ERROR_HOOK_TYPE_NOT_ALLOWED\"},\n\t{1459,\"This operation requires an interactive window station.\",\"ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION\"},\n\t{1460,\"This operation returned because the timeout period expired.\",\"ERROR_TIMEOUT\"},\n\t{1461,\"Invalid monitor handle.\",\"ERROR_INVALID_MONITOR_HANDLE\"},\n\t{1500,\"The event log file is corrupted.\",\"ERROR_EVENTLOG_FILE_CORRUPT\"},\n\t{1501,\"No event log file could be opened, so the event logging service did not start.\",\"ERROR_EVENTLOG_CANT_START\"},\n\t{1502,\"The event log file is full.\",\"ERROR_LOG_FILE_FULL\"},\n\t{1503,\"The event log file has changed between read operations.\",\"ERROR_EVENTLOG_FILE_CHANGED\"},\n\t{1601,\"The Windows Installer service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.\",\"ERROR_INSTALL_SERVICE_FAILURE\"},\n\t{1602,\"User cancelled installation.\",\"ERROR_INSTALL_USEREXIT\"},\n\t{1603,\"Fatal error during installation.\",\"ERROR_INSTALL_FAILURE\"},\n\t{1604,\"Installation suspended, incomplete.\",\"ERROR_INSTALL_SUSPEND\"},\n\t{1605,\"This action is only valid for products that are currently installed.\",\"ERROR_UNKNOWN_PRODUCT\"},\n\t{1606,\"Feature ID not registered.\",\"ERROR_UNKNOWN_FEATURE\"},\n\t{1607,\"Component ID not registered.\",\"ERROR_UNKNOWN_COMPONENT\"},\n\t{1608,\"Unknown property.\",\"ERROR_UNKNOWN_PROPERTY\"},\n\t{1609,\"Handle is in an invalid state.\",\"ERROR_INVALID_HANDLE_STATE\"},\n\t{1610,\"The configuration data for this product is corrupt. Contact your support personnel.\",\"ERROR_BAD_CONFIGURATION\"},\n\t{1611,\"Component qualifier not present.\",\"ERROR_INDEX_ABSENT\"},\n\t{1612,\"The installation source for this product is not available. Verify that the source exists and that you can access it.\",\"ERROR_INSTALL_SOURCE_ABSENT\"},\n\t{1613,\"This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.\",\"ERROR_INSTALL_PACKAGE_VERSION\"},\n\t{1614,\"Product is uninstalled.\",\"ERROR_PRODUCT_UNINSTALLED\"},\n\t{1615,\"SQL query syntax invalid or unsupported.\",\"ERROR_BAD_QUERY_SYNTAX\"},\n\t{1616,\"Record field does not exist.\",\"ERROR_INVALID_FIELD\"},\n\t{1617,\"The device has been removed.\",\"ERROR_DEVICE_REMOVED\"},\n\t{1618,\"Another installation is already in progress. Complete that installation before proceeding with this install.\",\"ERROR_INSTALL_ALREADY_RUNNING\"},\n\t{1619,\"This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.\",\"ERROR_INSTALL_PACKAGE_OPEN_FAILED\"},\n\t{1620,\"This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package.\",\"ERROR_INSTALL_PACKAGE_INVALID\"},\n\t{1621,\"There was an error starting the Windows Installer service user interface. Contact your support personnel.\",\"ERROR_INSTALL_UI_FAILURE\"},\n\t{1622,\"Error opening installation log file. Verify that the specified log file location exists and that you can write to it.\",\"ERROR_INSTALL_LOG_FAILURE\"},\n\t{1623,\"The language of this installation package is not supported by your system.\",\"ERROR_INSTALL_LANGUAGE_UNSUPPORTED\"},\n\t{1624,\"Error applying transforms. Verify that the specified transform paths are valid.\",\"ERROR_INSTALL_TRANSFORM_FAILURE\"},\n\t{1625,\"This installation is forbidden by system policy. Contact your system administrator.\",\"ERROR_INSTALL_PACKAGE_REJECTED\"},\n\t{1626,\"Function could not be executed.\",\"ERROR_FUNCTION_NOT_CALLED\"},\n\t{1627,\"Function failed during execution.\",\"ERROR_FUNCTION_FAILED\"},\n\t{1628,\"Invalid or unknown table specified.\",\"ERROR_INVALID_TABLE\"},\n\t{1629,\"Data supplied is of wrong type.\",\"ERROR_DATATYPE_MISMATCH\"},\n\t{1630,\"Data of this type is not supported.\",\"ERROR_UNSUPPORTED_TYPE\"},\n\t{1631,\"The Windows Installer service failed to start. Contact your support personnel.\",\"ERROR_CREATE_FAILED\"},\n\t{1632,\"The Temp folder is on a drive that is full or inaccessible. Free up space on the drive or verify that you have write permission on the Temp folder.\",\"ERROR_INSTALL_TEMP_UNWRITABLE\"},\n\t{1633,\"This installation package is not supported by this processor type. Contact your product vendor.\",\"ERROR_INSTALL_PLATFORM_UNSUPPORTED\"},\n\t{1634,\"Component not used on this computer.\",\"ERROR_INSTALL_NOTUSED\"},\n\t{1635,\"This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.\",\"ERROR_PATCH_PACKAGE_OPEN_FAILED\"},\n\t{1636,\"This patch package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer patch package.\",\"ERROR_PATCH_PACKAGE_INVALID\"},\n\t{1637,\"This patch package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.\",\"ERROR_PATCH_PACKAGE_UNSUPPORTED\"},\n\t{1638,\"Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.\",\"ERROR_PRODUCT_VERSION\"},\n\t{1639,\"Invalid command line argument. Consult the Windows Installer SDK for detailed command line help.\",\"ERROR_INVALID_COMMAND_LINE\"},\n\t{1640,\"Only administrators have permission to add, remove, or configure server software during a Terminal Services remote session. If you want to install or configure software on the server, contact your network administrator.\",\"ERROR_INSTALL_REMOTE_DISALLOWED\"},\n\t{1641,\"The requested operation completed successfully. The system will be restarted so the changes can take effect.\",\"ERROR_SUCCESS_REBOOT_INITIATED\"},\n\t{1642,\"The upgrade patch cannot be installed by the Windows Installer service because the program to be upgraded may be missing, or the upgrade patch may update a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.\",\"ERROR_PATCH_TARGET_NOT_FOUND\"},\n\t{1643,\"The patch package is not permitted by software restriction policy.\",\"ERROR_PATCH_PACKAGE_REJECTED\"},\n\t{1644,\"One or more customizations are not permitted by software restriction policy.\",\"ERROR_INSTALL_TRANSFORM_REJECTED\"},\n\t{1645,\"The Windows Installer does not permit installation from a Remote Desktop Connection.\",\"ERROR_INSTALL_REMOTE_PROHIBITED\"},\n\t{1700,\"The string binding is invalid.\",\"RPC_S_INVALID_STRING_BINDING\"},\n\t{1701,\"The binding handle is not the correct type.\",\"RPC_S_WRONG_KIND_OF_BINDING\"},\n\t{1702,\"The binding handle is invalid.\",\"RPC_S_INVALID_BINDING\"},\n\t{1703,\"The RPC protocol sequence is not supported.\",\"RPC_S_PROTSEQ_NOT_SUPPORTED\"},\n\t{1704,\"The RPC protocol sequence is invalid.\",\"RPC_S_INVALID_RPC_PROTSEQ\"},\n\t{1705,\"The string universal unique identifier (UUID) is invalid.\",\"RPC_S_INVALID_STRING_UUID\"},\n\t{1706,\"The endpoint format is invalid.\",\"RPC_S_INVALID_ENDPOINT_FORMAT\"},\n\t{1707,\"The network address is invalid.\",\"RPC_S_INVALID_NET_ADDR\"},\n\t{1708,\"No endpoint was found.\",\"RPC_S_NO_ENDPOINT_FOUND\"},\n\t{1709,\"The timeout value is invalid.\",\"RPC_S_INVALID_TIMEOUT\"},\n\t{1710,\"The object universal unique identifier (UUID) was not found.\",\"RPC_S_OBJECT_NOT_FOUND\"},\n\t{1711,\"The object universal unique identifier (UUID) has already been registered.\",\"RPC_S_ALREADY_REGISTERED\"},\n\t{1712,\"The type universal unique identifier (UUID) has already been registered.\",\"RPC_S_TYPE_ALREADY_REGISTERED\"},\n\t{1713,\"The RPC server is already listening.\",\"RPC_S_ALREADY_LISTENING\"},\n\t{1714,\"No protocol sequences have been registered.\",\"RPC_S_NO_PROTSEQS_REGISTERED\"},\n\t{1715,\"The RPC server is not listening.\",\"RPC_S_NOT_LISTENING\"},\n\t{1716,\"The manager type is unknown.\",\"RPC_S_UNKNOWN_MGR_TYPE\"},\n\t{1717,\"The interface is unknown.\",\"RPC_S_UNKNOWN_IF\"},\n\t{1718,\"There are no bindings.\",\"RPC_S_NO_BINDINGS\"},\n\t{1719,\"There are no protocol sequences.\",\"RPC_S_NO_PROTSEQS\"},\n\t{1720,\"The endpoint cannot be created.\",\"RPC_S_CANT_CREATE_ENDPOINT\"},\n\t{1721,\"Not enough resources are available to complete this operation.\",\"RPC_S_OUT_OF_RESOURCES\"},\n\t{1722,\"The RPC server is unavailable.\",\"RPC_S_SERVER_UNAVAILABLE\"},\n\t{1723,\"The RPC server is too busy to complete this operation.\",\"RPC_S_SERVER_TOO_BUSY\"},\n\t{1724,\"The network options are invalid.\",\"RPC_S_INVALID_NETWORK_OPTIONS\"},\n\t{1725,\"There are no remote procedure calls active on this thread.\",\"RPC_S_NO_CALL_ACTIVE\"},\n\t{1726,\"The remote procedure call failed.\",\"RPC_S_CALL_FAILED\"},\n\t{1727,\"The remote procedure call failed and did not execute.\",\"RPC_S_CALL_FAILED_DNE\"},\n\t{1728,\"A remote procedure call (RPC) protocol error occurred.\",\"RPC_S_PROTOCOL_ERROR\"},\n\t{1730,\"The transfer syntax is not supported by the RPC server.\",\"RPC_S_UNSUPPORTED_TRANS_SYN\"},\n\t{1732,\"The universal unique identifier (UUID) type is not supported.\",\"RPC_S_UNSUPPORTED_TYPE\"},\n\t{1733,\"The tag is invalid.\",\"RPC_S_INVALID_TAG\"},\n\t{1734,\"The array bounds are invalid.\",\"RPC_S_INVALID_BOUND\"},\n\t{1735,\"The binding does not contain an entry name.\",\"RPC_S_NO_ENTRY_NAME\"},\n\t{1736,\"The name syntax is invalid.\",\"RPC_S_INVALID_NAME_SYNTAX\"},\n\t{1737,\"The name syntax is not supported.\",\"RPC_S_UNSUPPORTED_NAME_SYNTAX\"},\n\t{1739,\"No network address is available to use to construct a universal unique identifier (UUID).\",\"RPC_S_UUID_NO_ADDRESS\"},\n\t{1740,\"The endpoint is a duplicate.\",\"RPC_S_DUPLICATE_ENDPOINT\"},\n\t{1741,\"The authentication type is unknown.\",\"RPC_S_UNKNOWN_AUTHN_TYPE\"},\n\t{1742,\"The maximum number of calls is too small.\",\"RPC_S_MAX_CALLS_TOO_SMALL\"},\n\t{1743,\"The string is too long.\",\"RPC_S_STRING_TOO_LONG\"},\n\t{1744,\"The RPC protocol sequence was not found.\",\"RPC_S_PROTSEQ_NOT_FOUND\"},\n\t{1745,\"The procedure number is out of range.\",\"RPC_S_PROCNUM_OUT_OF_RANGE\"},\n\t{1746,\"The binding does not contain any authentication information.\",\"RPC_S_BINDING_HAS_NO_AUTH\"},\n\t{1747,\"The authentication service is unknown.\",\"RPC_S_UNKNOWN_AUTHN_SERVICE\"},\n\t{1748,\"The authentication level is unknown.\",\"RPC_S_UNKNOWN_AUTHN_LEVEL\"},\n\t{1749,\"The security context is invalid.\",\"RPC_S_INVALID_AUTH_IDENTITY\"},\n\t{1750,\"The authorization service is unknown.\",\"RPC_S_UNKNOWN_AUTHZ_SERVICE\"},\n\t{1751,\"The entry is invalid.\",\"EPT_S_INVALID_ENTRY\"},\n\t{1752,\"The server endpoint cannot perform the operation.\",\"EPT_S_CANT_PERFORM_OP\"},\n\t{1753,\"There are no more endpoints available from the endpoint mapper.\",\"EPT_S_NOT_REGISTERED\"},\n\t{1754,\"No interfaces have been exported.\",\"RPC_S_NOTHING_TO_EXPORT\"},\n\t{1755,\"The entry name is incomplete.\",\"RPC_S_INCOMPLETE_NAME\"},\n\t{1756,\"The version option is invalid.\",\"RPC_S_INVALID_VERS_OPTION\"},\n\t{1757,\"There are no more members.\",\"RPC_S_NO_MORE_MEMBERS\"},\n\t{1758,\"There is nothing to unexport.\",\"RPC_S_NOT_ALL_OBJS_UNEXPORTED\"},\n\t{1759,\"The interface was not found.\",\"RPC_S_INTERFACE_NOT_FOUND\"},\n\t{1760,\"The entry already exists.\",\"RPC_S_ENTRY_ALREADY_EXISTS\"},\n\t{1761,\"The entry is not found.\",\"RPC_S_ENTRY_NOT_FOUND\"},\n\t{1762,\"The name service is unavailable.\",\"RPC_S_NAME_SERVICE_UNAVAILABLE\"},\n\t{1763,\"The network address family is invalid.\",\"RPC_S_INVALID_NAF_ID\"},\n\t{1764,\"The requested operation is not supported.\",\"RPC_S_CANNOT_SUPPORT\"},\n\t{1765,\"No security context is available to allow impersonation.\",\"RPC_S_NO_CONTEXT_AVAILABLE\"},\n\t{1766,\"An internal error occurred in a remote procedure call (RPC).\",\"RPC_S_INTERNAL_ERROR\"},\n\t{1767,\"The RPC server attempted an integer division by zero.\",\"RPC_S_ZERO_DIVIDE\"},\n\t{1768,\"An addressing error occurred in the RPC server.\",\"RPC_S_ADDRESS_ERROR\"},\n\t{1769,\"A floating-point operation at the RPC server caused a division by zero.\",\"RPC_S_FP_DIV_ZERO\"},\n\t{1770,\"A floating-point underflow occurred at the RPC server.\",\"RPC_S_FP_UNDERFLOW\"},\n\t{1771,\"A floating-point overflow occurred at the RPC server.\",\"RPC_S_FP_OVERFLOW\"},\n\t{1772,\"The list of RPC servers available for the binding of auto handles has been exhausted.\",\"RPC_X_NO_MORE_ENTRIES\"},\n\t{1773,\"Unable to open the character translation table file.\",\"RPC_X_SS_CHAR_TRANS_OPEN_FAIL\"},\n\t{1774,\"The file containing the character translation table has fewer than 512 bytes.\",\"RPC_X_SS_CHAR_TRANS_SHORT_FILE\"},\n\t{1775,\"A null context handle was passed from the client to the host during a remote procedure call.\",\"RPC_X_SS_IN_NULL_CONTEXT\"},\n\t{1777,\"The context handle changed during a remote procedure call.\",\"RPC_X_SS_CONTEXT_DAMAGED\"},\n\t{1778,\"The binding handles passed to a remote procedure call do not match.\",\"RPC_X_SS_HANDLES_MISMATCH\"},\n\t{1779,\"The stub is unable to get the remote procedure call handle.\",\"RPC_X_SS_CANNOT_GET_CALL_HANDLE\"},\n\t{1780,\"A null reference pointer was passed to the stub.\",\"RPC_X_NULL_REF_POINTER\"},\n\t{1781,\"The enumeration value is out of range.\",\"RPC_X_ENUM_VALUE_OUT_OF_RANGE\"},\n\t{1782,\"The byte count is too small.\",\"RPC_X_BYTE_COUNT_TOO_SMALL\"},\n\t{1783,\"The stub received bad data.\",\"RPC_X_BAD_STUB_DATA\"},\n\t{1784,\"The supplied user buffer is not valid for the requested operation.\",\"ERROR_INVALID_USER_BUFFER\"},\n\t{1785,\"The disk media is not recognized. It may not be formatted.\",\"ERROR_UNRECOGNIZED_MEDIA\"},\n\t{1786,\"The workstation does not have a trust secret.\",\"ERROR_NO_TRUST_LSA_SECRET\"},\n\t{1787,\"The security database on the server does not have a computer account for this workstation trust relationship.\",\"ERROR_NO_TRUST_SAM_ACCOUNT\"},\n\t{1788,\"The trust relationship between the primary domain and the trusted domain failed.\",\"ERROR_TRUSTED_DOMAIN_FAILURE\"},\n\t{1789,\"The trust relationship between this workstation and the primary domain failed.\",\"ERROR_TRUSTED_RELATIONSHIP_FAILURE\"},\n\t{1790,\"The network logon failed.\",\"ERROR_TRUST_FAILURE\"},\n\t{1791,\"A remote procedure call is already in progress for this thread.\",\"RPC_S_CALL_IN_PROGRESS\"},\n\t{1792,\"An attempt was made to logon, but the network logon service was not started.\",\"ERROR_NETLOGON_NOT_STARTED\"},\n\t{1793,\"The user's account has expired.\",\"ERROR_ACCOUNT_EXPIRED\"},\n\t{1794,\"The redirector is in use and cannot be unloaded.\",\"ERROR_REDIRECTOR_HAS_OPEN_HANDLES\"},\n\t{1795,\"The specified printer driver is already installed.\",\"ERROR_PRINTER_DRIVER_ALREADY_INSTALLED\"},\n\t{1796,\"The specified port is unknown.\",\"ERROR_UNKNOWN_PORT\"},\n\t{1797,\"The printer driver is unknown.\",\"ERROR_UNKNOWN_PRINTER_DRIVER\"},\n\t{1798,\"The print processor is unknown.\",\"ERROR_UNKNOWN_PRINTPROCESSOR\"},\n\t{1799,\"The specified separator file is invalid.\",\"ERROR_INVALID_SEPARATOR_FILE\"},\n\t{1800,\"The specified priority is invalid.\",\"ERROR_INVALID_PRIORITY\"},\n\t{1801,\"The printer name is invalid.\",\"ERROR_INVALID_PRINTER_NAME\"},\n\t{1802,\"The printer already exists.\",\"ERROR_PRINTER_ALREADY_EXISTS\"},\n\t{1803,\"The printer command is invalid.\",\"ERROR_INVALID_PRINTER_COMMAND\"},\n\t{1804,\"The specified datatype is invalid.\",\"ERROR_INVALID_DATATYPE\"},\n\t{1805,\"The environment specified is invalid.\",\"ERROR_INVALID_ENVIRONMENT\"},\n\t{1806,\"There are no more bindings.\",\"RPC_S_NO_MORE_BINDINGS\"},\n\t{1807,\"The account used is an interdomain trust account. Use your global user account or local user account to access this server.\",\"ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT\"},\n\t{1808,\"The account used is a computer account. Use your global user account or local user account to access this server.\",\"ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT\"},\n\t{1809,\"The account used is a server trust account. Use your global user account or local user account to access this server.\",\"ERROR_NOLOGON_SERVER_TRUST_ACCOUNT\"},\n\t{1810,\"The name or security ID (SID) of the domain specified is inconsistent with the trust information for that domain.\",\"ERROR_DOMAIN_TRUST_INCONSISTENT\"},\n\t{1811,\"The server is in use and cannot be unloaded.\",\"ERROR_SERVER_HAS_OPEN_HANDLES\"},\n\t{1812,\"The specified image file did not contain a resource section.\",\"ERROR_RESOURCE_DATA_NOT_FOUND\"},\n\t{1813,\"The specified resource type cannot be found in the image file.\",\"ERROR_RESOURCE_TYPE_NOT_FOUND\"},\n\t{1814,\"The specified resource name cannot be found in the image file.\",\"ERROR_RESOURCE_NAME_NOT_FOUND\"},\n\t{1815,\"The specified resource language ID cannot be found in the image file.\",\"ERROR_RESOURCE_LANG_NOT_FOUND\"},\n\t{1816,\"Not enough quota is available to process this command.\",\"ERROR_NOT_ENOUGH_QUOTA\"},\n\t{1817,\"No interfaces have been registered.\",\"RPC_S_NO_INTERFACES\"},\n\t{1818,\"The remote procedure call was cancelled.\",\"RPC_S_CALL_CANCELLED\"},\n\t{1819,\"The binding handle does not contain all required information.\",\"RPC_S_BINDING_INCOMPLETE\"},\n\t{1820,\"A communications failure occurred during a remote procedure call.\",\"RPC_S_COMM_FAILURE\"},\n\t{1821,\"The requested authentication level is not supported.\",\"RPC_S_UNSUPPORTED_AUTHN_LEVEL\"},\n\t{1822,\"No principal name registered.\",\"RPC_S_NO_PRINC_NAME\"},\n\t{1823,\"The error specified is not a valid Windows RPC error code.\",\"RPC_S_NOT_RPC_ERROR\"},\n\t{1824,\"A UUID that is valid only on this computer has been allocated.\",\"RPC_S_UUID_LOCAL_ONLY\"},\n\t{1825,\"A security package specific error occurred.\",\"RPC_S_SEC_PKG_ERROR\"},\n\t{1826,\"Thread is not canceled.\",\"RPC_S_NOT_CANCELLED\"},\n\t{1827,\"Invalid operation on the encoding/decoding handle.\",\"RPC_X_INVALID_ES_ACTION\"},\n\t{1828,\"Incompatible version of the serializing package.\",\"RPC_X_WRONG_ES_VERSION\"},\n\t{1829,\"Incompatible version of the RPC stub.\",\"RPC_X_WRONG_STUB_VERSION\"},\n\t{1830,\"The RPC pipe object is invalid or corrupted.\",\"RPC_X_INVALID_PIPE_OBJECT\"},\n\t{1831,\"An invalid operation was attempted on an RPC pipe object.\",\"RPC_X_WRONG_PIPE_ORDER\"},\n\t{1832,\"Unsupported RPC pipe version.\",\"RPC_X_WRONG_PIPE_VERSION\"},\n\t{1898,\"The group member was not found.\",\"RPC_S_GROUP_MEMBER_NOT_FOUND\"},\n\t{1899,\"The endpoint mapper database entry could not be created.\",\"EPT_S_CANT_CREATE\"},\n\t{1900,\"The object universal unique identifier (UUID) is the nil UUID.\",\"RPC_S_INVALID_OBJECT\"},\n\t{1901,\"The specified time is invalid.\",\"ERROR_INVALID_TIME\"},\n\t{1902,\"The specified form name is invalid.\",\"ERROR_INVALID_FORM_NAME\"},\n\t{1903,\"The specified form size is invalid.\",\"ERROR_INVALID_FORM_SIZE\"},\n\t{1904,\"The specified printer handle is already being waited on\",\"ERROR_ALREADY_WAITING\"},\n\t{1905,\"The specified printer has been deleted.\",\"ERROR_PRINTER_DELETED\"},\n\t{1906,\"The state of the printer is invalid.\",\"ERROR_INVALID_PRINTER_STATE\"},\n\t{1907,\"The user's password must be changed before logging on the first time.\",\"ERROR_PASSWORD_MUST_CHANGE\"},\n\t{1908,\"Could not find the domain controller for this domain.\",\"ERROR_DOMAIN_CONTROLLER_NOT_FOUND\"},\n\t{1909,\"The referenced account is currently locked out and may not be used to log on.\",\"ERROR_ACCOUNT_LOCKED_OUT\"},\n\t{1910,\"The object exporter specified was not found.\",\"OR_INVALID_OXID\"},\n\t{1911,\"The object specified was not found.\",\"OR_INVALID_OID\"},\n\t{1912,\"The object resolver set specified was not found.\",\"OR_INVALID_SET\"},\n\t{1913,\"Some data remains to be sent in the request buffer.\",\"RPC_S_SEND_INCOMPLETE\"},\n\t{1914,\"Invalid asynchronous remote procedure call handle.\",\"RPC_S_INVALID_ASYNC_HANDLE\"},\n\t{1915,\"Invalid asynchronous RPC call handle for this operation.\",\"RPC_S_INVALID_ASYNC_CALL\"},\n\t{1916,\"The RPC pipe object has already been closed.\",\"RPC_X_PIPE_CLOSED\"},\n\t{1917,\"The RPC call completed before all pipes were processed.\",\"RPC_X_PIPE_DISCIPLINE_ERROR\"},\n\t{1918,\"No more data is available from the RPC pipe.\",\"RPC_X_PIPE_EMPTY\"},\n\t{1919,\"No site name is available for this machine.\",\"ERROR_NO_SITENAME\"},\n\t{1920,\"The file cannot be accessed by the system.\",\"ERROR_CANT_ACCESS_FILE\"},\n\t{1921,\"The name of the file cannot be resolved by the system.\",\"ERROR_CANT_RESOLVE_FILENAME\"},\n\t{1922,\"The entry is not of the expected type.\",\"RPC_S_ENTRY_TYPE_MISMATCH\"},\n\t{1923,\"Not all object UUIDs could be exported to the specified entry.\",\"RPC_S_NOT_ALL_OBJS_EXPORTED\"},\n\t{1924,\"Interface could not be exported to the specified entry.\",\"RPC_S_INTERFACE_NOT_EXPORTED\"},\n\t{1925,\"The specified profile entry could not be added.\",\"RPC_S_PROFILE_NOT_ADDED\"},\n\t{1926,\"The specified profile element could not be added.\",\"RPC_S_PRF_ELT_NOT_ADDED\"},\n\t{1927,\"The specified profile element could not be removed.\",\"RPC_S_PRF_ELT_NOT_REMOVED\"},\n\t{1928,\"The group element could not be added.\",\"RPC_S_GRP_ELT_NOT_ADDED\"},\n\t{1929,\"The group element could not be removed.\",\"RPC_S_GRP_ELT_NOT_REMOVED\"},\n\t{1930,\"The printer driver is not compatible with a policy enabled on your computer that blocks NT 4.0 drivers.\",\"ERROR_KM_DRIVER_BLOCKED\"},\n\t{1931,\"The context has expired and can no longer be used.\",\"ERROR_CONTEXT_EXPIRED\"},\n\t{1932,\"The current user's delegated trust creation quota has been exceeded.\",\"ERROR_PER_USER_TRUST_QUOTA_EXCEEDED\"},\n\t{1933,\"The total delegated trust creation quota has been exceeded.\",\"ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED\"},\n\t{1934,\"The current user's delegated trust deletion quota has been exceeded.\",\"ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED\"},\n\t{2000,\"The pixel format is invalid.\",\"ERROR_INVALID_PIXEL_FORMAT\"},\n\t{2001,\"The specified driver is invalid.\",\"ERROR_BAD_DRIVER\"},\n\t{2002,\"The window style or class attribute is invalid for this operation.\",\"ERROR_INVALID_WINDOW_STYLE\"},\n\t{2003,\"The requested metafile operation is not supported.\",\"ERROR_METAFILE_NOT_SUPPORTED\"},\n\t{2004,\"The requested transformation operation is not supported.\",\"ERROR_TRANSFORM_NOT_SUPPORTED\"},\n\t{2005,\"The requested clipping operation is not supported.\",\"ERROR_CLIPPING_NOT_SUPPORTED\"},\n\t{2010,\"The specified color management module is invalid.\",\"ERROR_INVALID_CMM\"},\n\t{2011,\"The specified color profile is invalid.\",\"ERROR_INVALID_PROFILE\"},\n\t{2012,\"The specified tag was not found.\",\"ERROR_TAG_NOT_FOUND\"},\n\t{2013,\"A required tag is not present.\",\"ERROR_TAG_NOT_PRESENT\"},\n\t{2014,\"The specified tag is already present.\",\"ERROR_DUPLICATE_TAG\"},\n\t{2015,\"The specified color profile is not associated with any device.\",\"ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE\"},\n\t{2016,\"The specified color profile was not found.\",\"ERROR_PROFILE_NOT_FOUND\"},\n\t{2017,\"The specified color space is invalid.\",\"ERROR_INVALID_COLORSPACE\"},\n\t{2018,\"Image Color Management is not enabled.\",\"ERROR_ICM_NOT_ENABLED\"},\n\t{2019,\"There was an error while deleting the color transform.\",\"ERROR_DELETING_ICM_XFORM\"},\n\t{2020,\"The specified color transform is invalid.\",\"ERROR_INVALID_TRANSFORM\"},\n\t{2021,\"The specified transform does not match the bitmap's color space.\",\"ERROR_COLORSPACE_MISMATCH\"},\n\t{2022,\"The specified named color index is not present in the profile.\",\"ERROR_INVALID_COLORINDEX\"},\n\t{2108,\"The network connection was made successfully, but the user had to be prompted for a password other than the one originally specified.\",\"ERROR_CONNECTED_OTHER_PASSWORD\"},\n\t{2109,\"The network connection was made successfully using default credentials.\",\"ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT\"},\n\t{2202,\"The specified username is invalid.\",\"ERROR_BAD_USERNAME\"},\n\t{2250,\"This network connection does not exist.\",\"ERROR_NOT_CONNECTED\"},\n\t{2401,\"This network connection has files open or requests pending.\",\"ERROR_OPEN_FILES\"},\n\t{2402,\"Active connections still exist.\",\"ERROR_ACTIVE_CONNECTIONS\"},\n\t{2404,\"The device is in use by an active process and cannot be disconnected.\",\"ERROR_DEVICE_IN_USE\"},\n\t{3000,\"The specified print monitor is unknown.\",\"ERROR_UNKNOWN_PRINT_MONITOR\"},\n\t{3001,\"The specified printer driver is currently in use.\",\"ERROR_PRINTER_DRIVER_IN_USE\"},\n\t{3002,\"The spool file was not found.\",\"ERROR_SPOOL_FILE_NOT_FOUND\"},\n\t{3003,\"A StartDocPrinter call was not issued.\",\"ERROR_SPL_NO_STARTDOC\"},\n\t{3004,\"An AddJob call was not issued.\",\"ERROR_SPL_NO_ADDJOB\"},\n\t{3005,\"The specified print processor has already been installed.\",\"ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED\"},\n\t{3006,\"The specified print monitor has already been installed.\",\"ERROR_PRINT_MONITOR_ALREADY_INSTALLED\"},\n\t{3007,\"The specified print monitor does not have the required functions.\",\"ERROR_INVALID_PRINT_MONITOR\"},\n\t{3008,\"The specified print monitor is currently in use.\",\"ERROR_PRINT_MONITOR_IN_USE\"},\n\t{3009,\"The requested operation is not allowed when there are jobs queued to the printer.\",\"ERROR_PRINTER_HAS_JOBS_QUEUED\"},\n\t{3010,\"The requested operation is successful. Changes will not be effective until the system is rebooted.\",\"ERROR_SUCCESS_REBOOT_REQUIRED\"},\n\t{3011,\"The requested operation is successful. Changes will not be effective until the service is restarted.\",\"ERROR_SUCCESS_RESTART_REQUIRED\"},\n\t{3012,\"No printers were found.\",\"ERROR_PRINTER_NOT_FOUND\"},\n\t{3013,\"The printer driver is known to be unreliable.\",\"ERROR_PRINTER_DRIVER_WARNED\"},\n\t{3014,\"The printer driver is known to harm the system.\",\"ERROR_PRINTER_DRIVER_BLOCKED\"},\n\t{3100,\"The XML contains an entity reference to an undefined entity.\",\"ERROR_XML_UNDEFINED_ENTITY\"},\n\t{3101,\"The XML contains a malformed entity reference.\",\"ERROR_XML_MALFORMED_ENTITY\"},\n\t{3102,\"The XML contains a character which is not permitted in XML.\",\"ERROR_XML_CHAR_NOT_IN_RANGE\"},\n\t{3200,\"The manifest contained a duplicate definition for external proxy stub %1 at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_EXTERNAL_PROXY\"},\n\t{3201,\"The manifest already contains a reference to %4 - a second reference was found at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_ASSEMBLY_REFERENCE\"},\n\t{3202,\"The assembly reference at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_INVALID_ASSEMBLY_REFERENCE\"},\n\t{3203,\"The assembly definition at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_INVALID_ASSEMBLY_DEFINITION\"},\n\t{3204,\"The manifest already contained the window class %4, found a second declaration at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_WINDOW_CLASS\"},\n\t{3205,\"The manifest already declared the progId %4, found a second declaration at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_PROGID\"},\n\t{3206,\"Only one noInherit tag may be present in a manifest, found a second tag at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_NOINHERIT\"},\n\t{3207,\"Only one noInheritable tag may be present in a manifest, found a second tag at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_NOINHERITABLE\"},\n\t{3208,\"The manifest contained a duplicate declaration of COM class %4 at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_COM_CLASS\"},\n\t{3209,\"The manifest already declared the file %4, a second definition was found at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_FILE_NAME\"},\n\t{3210,\"CLR surrogate %1 was already defined, second definition at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_DUPLICATE_CLR_SURROGATE\"},\n\t{3211,\"Type library %1 was already defined, second definition at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_DUPLICATE_TYPE_LIBRARY\"},\n\t{3212,\"Proxy stub definition %1 was already defined, second definition at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_DUPLICATE_PROXY_STUB\"},\n\t{3213,\"Category friendly name %4 was already used, second definition was found at (%1:%2,%3) is invalid.\",\"ERROR_PCM_COMPILER_DUPLICATE_CATEGORY_NAME\"},\n\t{3214,\"Only one top-level assemblyIdentity tag may be present in a manifest. A second tag with identity %4 was found at (%1:%2,%3)\",\"ERROR_PCM_COMPILER_DUPLICATE_TOP_LEVEL_IDENTITY_FOUND\"},\n\t{3215,\"The root element for a manifest found at (%1:%2,%3) was not expected or was of the wrong version.\",\"ERROR_PCM_COMPILER_UNKNOWN_ROOT_ELEMENT\"},\n\t{3216,\"The element found at (%1:%2,%3) was not expected according to the manifest schema.\",\"ERROR_PCM_COMPILER_INVALID_ELEMENT\"},\n\t{3217,\"The element found at (%1:%2,%3) was missing the required attribute '%4'. See the manifest schema for more information\",\"ERROR_PCM_COMPILER_MISSING_REQUIRED_ATTRIBUTE\"},\n\t{3218,\"The attribute value %4 at (%1:%2,%3) was invalid according to the schema.\",\"ERROR_PCM_COMPILER_INVALID_ATTRIBUTE_VALUE\"},\n\t{3219,\"PCDATA or CDATA found at (%1:%2,%3) in the source document was not expected in the parent element %4.\",\"ERROR_PCM_COMPILER_UNEXPECTED_PCDATA\"},\n\t{3220,\"The string table entry with culture %4, name %5, and value '%6' at (%1:%2,%3) duplicated a previous entry.\",\"ERROR_PCM_DUPLICATE_STRING_TABLE_ENTRY\"},\n\t{4000,\"WINS encountered an error while processing the command.\",\"ERROR_WINS_INTERNAL\"},\n\t{4001,\"The local WINS cannot be deleted.\",\"ERROR_CAN_NOT_DEL_LOCAL_WINS\"},\n\t{4002,\"The importation from the file failed.\",\"ERROR_STATIC_INIT\"},\n\t{4003,\"The backup failed. Was a full backup done before?\",\"ERROR_INC_BACKUP\"},\n\t{4004,\"The backup failed. Check the directory to which you are backing the database.\",\"ERROR_FULL_BACKUP\"},\n\t{4005,\"The name does not exist in the WINS database.\",\"ERROR_REC_NON_EXISTENT\"},\n\t{4006,\"Replication with a nonconfigured partner is not allowed.\",\"ERROR_RPL_NOT_ALLOWED\"},\n\t{4100,\"The DHCP client has obtained an IP address that is already in use on the network. The local interface will be disabled until the DHCP client can obtain a new address.\",\"ERROR_DHCP_ADDRESS_CONFLICT\"},\n\t{4200,\"The GUID passed was not recognized as valid by a WMI data provider.\",\"ERROR_WMI_GUID_NOT_FOUND\"},\n\t{4201,\"The instance name passed was not recognized as valid by a WMI data provider.\",\"ERROR_WMI_INSTANCE_NOT_FOUND\"},\n\t{4202,\"The data item ID passed was not recognized as valid by a WMI data provider.\",\"ERROR_WMI_ITEMID_NOT_FOUND\"},\n\t{4203,\"The WMI request could not be completed and should be retried.\",\"ERROR_WMI_TRY_AGAIN\"},\n\t{4204,\"The WMI data provider could not be located.\",\"ERROR_WMI_DP_NOT_FOUND\"},\n\t{4205,\"The WMI data provider references an instance set that has not been registered.\",\"ERROR_WMI_UNRESOLVED_INSTANCE_REF\"},\n\t{4206,\"The WMI data block or event notification has already been enabled.\",\"ERROR_WMI_ALREADY_ENABLED\"},\n\t{4207,\"The WMI data block is no longer available.\",\"ERROR_WMI_GUID_DISCONNECTED\"},\n\t{4208,\"The WMI data service is not available.\",\"ERROR_WMI_SERVER_UNAVAILABLE\"},\n\t{4209,\"The WMI data provider failed to carry out the request.\",\"ERROR_WMI_DP_FAILED\"},\n\t{4210,\"The WMI MOF information is not valid.\",\"ERROR_WMI_INVALID_MOF\"},\n\t{4211,\"The WMI registration information is not valid.\",\"ERROR_WMI_INVALID_REGINFO\"},\n\t{4212,\"The WMI data block or event notification has already been disabled.\",\"ERROR_WMI_ALREADY_DISABLED\"},\n\t{4213,\"The WMI data item or data block is read only.\",\"ERROR_WMI_READ_ONLY\"},\n\t{4214,\"The WMI data item or data block could not be changed.\",\"ERROR_WMI_SET_FAILURE\"},\n\t{4300,\"The media identifier does not represent a valid medium.\",\"ERROR_INVALID_MEDIA\"},\n\t{4301,\"The library identifier does not represent a valid library.\",\"ERROR_INVALID_LIBRARY\"},\n\t{4302,\"The media pool identifier does not represent a valid media pool.\",\"ERROR_INVALID_MEDIA_POOL\"},\n\t{4303,\"The drive and medium are not compatible or exist in different libraries.\",\"ERROR_DRIVE_MEDIA_MISMATCH\"},\n\t{4304,\"The medium currently exists in an offline library and must be online to perform this operation.\",\"ERROR_MEDIA_OFFLINE\"},\n\t{4305,\"The operation cannot be performed on an offline library.\",\"ERROR_LIBRARY_OFFLINE\"},\n\t{4306,\"The library, drive, or media pool is empty.\",\"ERROR_EMPTY\"},\n\t{4307,\"The library, drive, or media pool must be empty to perform this operation.\",\"ERROR_NOT_EMPTY\"},\n\t{4308,\"No media is currently available in this media pool or library.\",\"ERROR_MEDIA_UNAVAILABLE\"},\n\t{4309,\"A resource required for this operation is disabled.\",\"ERROR_RESOURCE_DISABLED\"},\n\t{4310,\"The media identifier does not represent a valid cleaner.\",\"ERROR_INVALID_CLEANER\"},\n\t{4311,\"The drive cannot be cleaned or does not support cleaning.\",\"ERROR_UNABLE_TO_CLEAN\"},\n\t{4312,\"The object identifier does not represent a valid object.\",\"ERROR_OBJECT_NOT_FOUND\"},\n\t{4313,\"Unable to read from or write to the database.\",\"ERROR_DATABASE_FAILURE\"},\n\t{4314,\"The database is full.\",\"ERROR_DATABASE_FULL\"},\n\t{4315,\"The medium is not compatible with the device or media pool.\",\"ERROR_MEDIA_INCOMPATIBLE\"},\n\t{4316,\"The resource required for this operation does not exist.\",\"ERROR_RESOURCE_NOT_PRESENT\"},\n\t{4317,\"The operation identifier is not valid.\",\"ERROR_INVALID_OPERATION\"},\n\t{4318,\"The media is not mounted or ready for use.\",\"ERROR_MEDIA_NOT_AVAILABLE\"},\n\t{4319,\"The device is not ready for use.\",\"ERROR_DEVICE_NOT_AVAILABLE\"},\n\t{4320,\"The operator or administrator has refused the request.\",\"ERROR_REQUEST_REFUSED\"},\n\t{4321,\"The drive identifier does not represent a valid drive.\",\"ERROR_INVALID_DRIVE_OBJECT\"},\n\t{4322,\"Library is full. No slot is available for use.\",\"ERROR_LIBRARY_FULL\"},\n\t{4323,\"The transport cannot access the medium.\",\"ERROR_MEDIUM_NOT_ACCESSIBLE\"},\n\t{4324,\"Unable to load the medium into the drive.\",\"ERROR_UNABLE_TO_LOAD_MEDIUM\"},\n\t{4325,\"Unable to retrieve status about the drive.\",\"ERROR_UNABLE_TO_INVENTORY_DRIVE\"},\n\t{4326,\"Unable to retrieve status about the slot.\",\"ERROR_UNABLE_TO_INVENTORY_SLOT\"},\n\t{4327,\"Unable to retrieve status about the transport.\",\"ERROR_UNABLE_TO_INVENTORY_TRANSPORT\"},\n\t{4328,\"Cannot use the transport because it is already in use.\",\"ERROR_TRANSPORT_FULL\"},\n\t{4329,\"Unable to open or close the inject/eject port.\",\"ERROR_CONTROLLING_IEPORT\"},\n\t{4330,\"Unable to eject the media because it is in a drive.\",\"ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA\"},\n\t{4331,\"A cleaner slot is already reserved.\",\"ERROR_CLEANER_SLOT_SET\"},\n\t{4332,\"A cleaner slot is not reserved.\",\"ERROR_CLEANER_SLOT_NOT_SET\"},\n\t{4333,\"The cleaner cartridge has performed the maximum number of drive cleanings.\",\"ERROR_CLEANER_CARTRIDGE_SPENT\"},\n\t{4334,\"Unexpected on-medium identifier.\",\"ERROR_UNEXPECTED_OMID\"},\n\t{4335,\"The last remaining item in this group or resource cannot be deleted.\",\"ERROR_CANT_DELETE_LAST_ITEM\"},\n\t{4336,\"The message provided exceeds the maximum size allowed for this parameter.\",\"ERROR_MESSAGE_EXCEEDS_MAX_SIZE\"},\n\t{4337,\"The volume contains system or paging files.\",\"ERROR_VOLUME_CONTAINS_SYS_FILES\"},\n\t{4338,\"The media type cannot be removed from this library since at least one drive in the library reports it can support this media type.\",\"ERROR_INDIGENOUS_TYPE\"},\n\t{4339,\"This offline media cannot be mounted on this system since no enabled drives are present which can be used.\",\"ERROR_NO_SUPPORTING_DRIVES\"},\n\t{4340,\"A cleaner cartridge is present in the tape library.\",\"ERROR_CLEANER_CARTRIDGE_INSTALLED\"},\n\t{4350,\"The remote storage service was not able to recall the file.\",\"ERROR_FILE_OFFLINE\"},\n\t{4351,\"The remote storage service is not operational at this time.\",\"ERROR_REMOTE_STORAGE_NOT_ACTIVE\"},\n\t{4352,\"The remote storage service encountered a media error.\",\"ERROR_REMOTE_STORAGE_MEDIA_ERROR\"},\n\t{4390,\"The file or directory is not a reparse point.\",\"ERROR_NOT_A_REPARSE_POINT\"},\n\t{4391,\"The reparse point attribute cannot be set because it conflicts with an existing attribute.\",\"ERROR_REPARSE_ATTRIBUTE_CONFLICT\"},\n\t{4392,\"The data present in the reparse point buffer is invalid.\",\"ERROR_INVALID_REPARSE_DATA\"},\n\t{4393,\"The tag present in the reparse point buffer is invalid.\",\"ERROR_REPARSE_TAG_INVALID\"},\n\t{4394,\"There is a mismatch between the tag specified in the request and the tag present in the reparse point.\",\"ERROR_REPARSE_TAG_MISMATCH\"},\n\t{4500,\"Single Instance Storage is not available on this volume.\",\"ERROR_VOLUME_NOT_SIS_ENABLED\"},\n\t{5001,\"The cluster resource cannot be moved to another group because other resources are dependent on it.\",\"ERROR_DEPENDENT_RESOURCE_EXISTS\"},\n\t{5002,\"The cluster resource dependency cannot be found.\",\"ERROR_DEPENDENCY_NOT_FOUND\"},\n\t{5003,\"The cluster resource cannot be made dependent on the specified resource because it is already dependent.\",\"ERROR_DEPENDENCY_ALREADY_EXISTS\"},\n\t{5004,\"The cluster resource is not online.\",\"ERROR_RESOURCE_NOT_ONLINE\"},\n\t{5005,\"A cluster node is not available for this operation.\",\"ERROR_HOST_NODE_NOT_AVAILABLE\"},\n\t{5006,\"The cluster resource is not available.\",\"ERROR_RESOURCE_NOT_AVAILABLE\"},\n\t{5007,\"The cluster resource could not be found.\",\"ERROR_RESOURCE_NOT_FOUND\"},\n\t{5008,\"The cluster is being shut down.\",\"ERROR_SHUTDOWN_CLUSTER\"},\n\t{5009,\"A cluster node cannot be evicted from the cluster unless the node is down.\",\"ERROR_CANT_EVICT_ACTIVE_NODE\"},\n\t{5010,\"The object already exists.\",\"ERROR_OBJECT_ALREADY_EXISTS\"},\n\t{5011,\"The object is already in the list.\",\"ERROR_OBJECT_IN_LIST\"},\n\t{5012,\"The cluster group is not available for any new requests.\",\"ERROR_GROUP_NOT_AVAILABLE\"},\n\t{5013,\"The cluster group could not be found.\",\"ERROR_GROUP_NOT_FOUND\"},\n\t{5014,\"The operation could not be completed because the cluster group is not online.\",\"ERROR_GROUP_NOT_ONLINE\"},\n\t{5015,\"The cluster node is not the owner of the resource.\",\"ERROR_HOST_NODE_NOT_RESOURCE_OWNER\"},\n\t{5016,\"The cluster node is not the owner of the group.\",\"ERROR_HOST_NODE_NOT_GROUP_OWNER\"},\n\t{5017,\"The cluster resource could not be created in the specified resource monitor.\",\"ERROR_RESMON_CREATE_FAILED\"},\n\t{5018,\"The cluster resource could not be brought online by the resource monitor.\",\"ERROR_RESMON_ONLINE_FAILED\"},\n\t{5019,\"The operation could not be completed because the cluster resource is online.\",\"ERROR_RESOURCE_ONLINE\"},\n\t{5020,\"The cluster resource could not be deleted or brought offline because it is the quorum resource.\",\"ERROR_QUORUM_RESOURCE\"},\n\t{5021,\"The cluster could not make the specified resource a quorum resource because it is not capable of being a quorum resource.\",\"ERROR_NOT_QUORUM_CAPABLE\"},\n\t{5022,\"The cluster software is shutting down.\",\"ERROR_CLUSTER_SHUTTING_DOWN\"},\n\t{5023,\"The group or resource is not in the correct state to perform the requested operation.\",\"ERROR_INVALID_STATE\"},\n\t{5024,\"The properties were stored but not all changes will take effect until the next time the resource is brought online.\",\"ERROR_RESOURCE_PROPERTIES_STORED\"},\n\t{5025,\"The cluster could not make the specified resource a quorum resource because it does not belong to a shared storage class.\",\"ERROR_NOT_QUORUM_CLASS\"},\n\t{5026,\"The cluster resource could not be deleted since it is a core resource.\",\"ERROR_CORE_RESOURCE\"},\n\t{5027,\"The quorum resource failed to come online.\",\"ERROR_QUORUM_RESOURCE_ONLINE_FAILED\"},\n\t{5028,\"The quorum log could not be created or mounted successfully.\",\"ERROR_QUORUMLOG_OPEN_FAILED\"},\n\t{5029,\"The cluster log is corrupt.\",\"ERROR_CLUSTERLOG_CORRUPT\"},\n\t{5030,\"The record could not be written to the cluster log since it exceeds the maximum size.\",\"ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE\"},\n\t{5031,\"The cluster log exceeds its maximum size.\",\"ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE\"},\n\t{5032,\"No checkpoint record was found in the cluster log.\",\"ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND\"},\n\t{5033,\"The minimum required disk space needed for logging is not available.\",\"ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE\"},\n\t{5034,\"The cluster node failed to take control of the quorum resource because the resource is owned by another active node.\",\"ERROR_QUORUM_OWNER_ALIVE\"},\n\t{5035,\"A cluster network is not available for this operation.\",\"ERROR_NETWORK_NOT_AVAILABLE\"},\n\t{5036,\"A cluster node is not available for this operation.\",\"ERROR_NODE_NOT_AVAILABLE\"},\n\t{5037,\"All cluster nodes must be running to perform this operation.\",\"ERROR_ALL_NODES_NOT_AVAILABLE\"},\n\t{5038,\"A cluster resource failed.\",\"ERROR_RESOURCE_FAILED\"},\n\t{5039,\"The cluster node is not valid.\",\"ERROR_CLUSTER_INVALID_NODE\"},\n\t{5040,\"The cluster node already exists.\",\"ERROR_CLUSTER_NODE_EXISTS\"},\n\t{5041,\"A node is in the process of joining the cluster.\",\"ERROR_CLUSTER_JOIN_IN_PROGRESS\"},\n\t{5042,\"The cluster node was not found.\",\"ERROR_CLUSTER_NODE_NOT_FOUND\"},\n\t{5043,\"The cluster local node information was not found.\",\"ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND\"},\n\t{5044,\"The cluster network already exists.\",\"ERROR_CLUSTER_NETWORK_EXISTS\"},\n\t{5045,\"The cluster network was not found.\",\"ERROR_CLUSTER_NETWORK_NOT_FOUND\"},\n\t{5046,\"The cluster network interface already exists.\",\"ERROR_CLUSTER_NETINTERFACE_EXISTS\"},\n\t{5047,\"The cluster network interface was not found.\",\"ERROR_CLUSTER_NETINTERFACE_NOT_FOUND\"},\n\t{5048,\"The cluster request is not valid for this object.\",\"ERROR_CLUSTER_INVALID_REQUEST\"},\n\t{5049,\"The cluster network provider is not valid.\",\"ERROR_CLUSTER_INVALID_NETWORK_PROVIDER\"},\n\t{5050,\"The cluster node is down.\",\"ERROR_CLUSTER_NODE_DOWN\"},\n\t{5051,\"The cluster node is not reachable.\",\"ERROR_CLUSTER_NODE_UNREACHABLE\"},\n\t{5052,\"The cluster node is not a member of the cluster.\",\"ERROR_CLUSTER_NODE_NOT_MEMBER\"},\n\t{5053,\"A cluster join operation is not in progress.\",\"ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS\"},\n\t{5054,\"The cluster network is not valid.\",\"ERROR_CLUSTER_INVALID_NETWORK\"},\n\t{5056,\"The cluster node is up.\",\"ERROR_CLUSTER_NODE_UP\"},\n\t{5057,\"The cluster IP address is already in use.\",\"ERROR_CLUSTER_IPADDR_IN_USE\"},\n\t{5058,\"The cluster node is not paused.\",\"ERROR_CLUSTER_NODE_NOT_PAUSED\"},\n\t{5059,\"No cluster security context is available.\",\"ERROR_CLUSTER_NO_SECURITY_CONTEXT\"},\n\t{5060,\"The cluster network is not configured for internal cluster communication.\",\"ERROR_CLUSTER_NETWORK_NOT_INTERNAL\"},\n\t{5061,\"The cluster node is already up.\",\"ERROR_CLUSTER_NODE_ALREADY_UP\"},\n\t{5062,\"The cluster node is already down.\",\"ERROR_CLUSTER_NODE_ALREADY_DOWN\"},\n\t{5063,\"The cluster network is already online.\",\"ERROR_CLUSTER_NETWORK_ALREADY_ONLINE\"},\n\t{5064,\"The cluster network is already offline.\",\"ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE\"},\n\t{5065,\"The cluster node is already a member of the cluster.\",\"ERROR_CLUSTER_NODE_ALREADY_MEMBER\"},\n\t{5066,\"The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network.\",\"ERROR_CLUSTER_LAST_INTERNAL_NETWORK\"},\n\t{5067,\"One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network.\",\"ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS\"},\n\t{5068,\"This operation cannot be performed on the cluster resource as it the quorum resource. You may not bring the quorum resource offline or modify its possible owners list.\",\"ERROR_INVALID_OPERATION_ON_QUORUM\"},\n\t{5069,\"The cluster quorum resource is not allowed to have any dependencies.\",\"ERROR_DEPENDENCY_NOT_ALLOWED\"},\n\t{5070,\"The cluster node is paused.\",\"ERROR_CLUSTER_NODE_PAUSED\"},\n\t{5071,\"The cluster resource cannot be brought online. The owner node cannot run this resource.\",\"ERROR_NODE_CANT_HOST_RESOURCE\"},\n\t{5072,\"The cluster node is not ready to perform the requested operation.\",\"ERROR_CLUSTER_NODE_NOT_READY\"},\n\t{5073,\"The cluster node is shutting down.\",\"ERROR_CLUSTER_NODE_SHUTTING_DOWN\"},\n\t{5074,\"The cluster join operation was aborted.\",\"ERROR_CLUSTER_JOIN_ABORTED\"},\n\t{5075,\"The cluster join operation failed due to incompatible software versions between the joining node and its sponsor.\",\"ERROR_CLUSTER_INCOMPATIBLE_VERSIONS\"},\n\t{5076,\"This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor.\",\"ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED\"},\n\t{5077,\"The system configuration changed during the cluster join or form operation. The join or form operation was aborted.\",\"ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED\"},\n\t{5078,\"The specified resource type was not found.\",\"ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND\"},\n\t{5079,\"The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node.\",\"ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED\"},\n\t{5080,\"The specified resource name is supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL.\",\"ERROR_CLUSTER_RESNAME_NOT_FOUND\"},\n\t{5081,\"No authentication package could be registered with the RPC server.\",\"ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED\"},\n\t{5082,\"You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group.\",\"ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST\"},\n\t{5083,\"The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join.\",\"ERROR_CLUSTER_DATABASE_SEQMISMATCH\"},\n\t{5084,\"The resource monitor will not allow the fail operation to be performed while the resource is in its current state. This may happen if the resource is in a pending state.\",\"ERROR_RESMON_INVALID_STATE\"},\n\t{5085,\"A non locker code got a request to reserve the lock for making global updates.\",\"ERROR_CLUSTER_GUM_NOT_LOCKER\"},\n\t{5086,\"The quorum disk could not be located by the cluster service.\",\"ERROR_QUORUM_DISK_NOT_FOUND\"},\n\t{5087,\"The backup up cluster database is possibly corrupt.\",\"ERROR_DATABASE_BACKUP_CORRUPT\"},\n\t{5088,\"A DFS root already exists in this cluster node.\",\"ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT\"},\n\t{5089,\"An attempt to modify a resource property failed because it conflicts with another existing property.\",\"ERROR_RESOURCE_PROPERTY_UNCHANGEABLE\"},\n\t{5890,\"An operation was attempted that is incompatible with the current membership state of the node.\",\"ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE\"},\n\t{5891,\"The quorum resource does not contain the quorum log.\",\"ERROR_CLUSTER_QUORUMLOG_NOT_FOUND\"},\n\t{5892,\"The membership engine requested shutdown of the cluster service on this node.\",\"ERROR_CLUSTER_MEMBERSHIP_HALT\"},\n\t{5893,\"The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node.\",\"ERROR_CLUSTER_INSTANCE_ID_MISMATCH\"},\n\t{5894,\"A matching network for the specified IP address could not be found. Please also specify a subnet mask and a cluster network.\",\"ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP\"},\n\t{5895,\"The actual data type of the property did not match the expected data type of the property.\",\"ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH\"},\n\t{5896,\"The cluster node was evicted from the cluster successfully, but the node was not cleaned up. Extended status information explaining why the node was not cleaned up is available.\",\"ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP\"},\n\t{5897,\"Two or more parameter values specified for a resource's properties are in conflict.\",\"ERROR_CLUSTER_PARAMETER_MISMATCH\"},\n\t{5898,\"This computer cannot be made a member of a cluster.\",\"ERROR_NODE_CANNOT_BE_CLUSTERED\"},\n\t{5899,\"This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed.\",\"ERROR_CLUSTER_WRONG_OS_VERSION\"},\n\t{5900,\"A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster.\",\"ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME\"},\n\t{5901,\"The cluster configuration action has already been committed.\",\"ERROR_CLUSCFG_ALREADY_COMMITTED\"},\n\t{5902,\"The cluster configuration action could not be rolled back.\",\"ERROR_CLUSCFG_ROLLBACK_FAILED\"},\n\t{5903,\"The drive letter assigned to a system disk on one node conflicted with the driver letter assigned to a disk on another node.\",\"ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT\"},\n\t{5904,\"One or more nodes in the cluster are running a version of Windows that does not support this operation.\",\"ERROR_CLUSTER_OLD_VERSION\"},\n\t{5905,\"The name of the corresponding computer account doesn't match the Network Name for this resource.\",\"ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME\"},\n\t{5906,\"No network adapters are available.\",\"ERROR_CLUSTER_NO_NET_ADAPTERS\"},\n\t{5907,\"The cluster node has been poisoned.\",\"ERROR_CLUSTER_POISONED\"},\n\t{6000,\"The specified file could not be encrypted.\",\"ERROR_ENCRYPTION_FAILED\"},\n\t{6001,\"The specified file could not be decrypted.\",\"ERROR_DECRYPTION_FAILED\"},\n\t{6002,\"The specified file is encrypted and the user does not have the ability to decrypt it.\",\"ERROR_FILE_ENCRYPTED\"},\n\t{6003,\"There is no valid encryption recovery policy configured for this system.\",\"ERROR_NO_RECOVERY_POLICY\"},\n\t{6004,\"The required encryption driver is not loaded for this system.\",\"ERROR_NO_EFS\"},\n\t{6005,\"The file was encrypted with a different encryption driver than is currently loaded.\",\"ERROR_WRONG_EFS\"},\n\t{6006,\"There are no EFS keys defined for the user.\",\"ERROR_NO_USER_KEYS\"},\n\t{6007,\"The specified file is not encrypted.\",\"ERROR_FILE_NOT_ENCRYPTED\"},\n\t{6008,\"The specified file is not in the defined EFS export format.\",\"ERROR_NOT_EXPORT_FORMAT\"},\n\t{6009,\"The specified file is read only.\",\"ERROR_FILE_READ_ONLY\"},\n\t{6010,\"The directory has been disabled for encryption.\",\"ERROR_DIR_EFS_DISALLOWED\"},\n\t{6011,\"The server is not trusted for remote encryption operation.\",\"ERROR_EFS_SERVER_NOT_TRUSTED\"},\n\t{6012,\"Recovery policy configured for this system contains invalid recovery certificate.\",\"ERROR_BAD_RECOVERY_POLICY\"},\n\t{6013,\"The encryption algorithm used on the source file needs a bigger key buffer than the one on the destination file.\",\"ERROR_EFS_ALG_BLOB_TOO_BIG\"},\n\t{6014,\"The disk partition does not support file encryption.\",\"ERROR_VOLUME_NOT_SUPPORT_EFS\"},\n\t{6015,\"This machine is disabled for file encryption.\",\"ERROR_EFS_DISABLED\"},\n\t{6016,\"A newer system is required to decrypt this encrypted file.\",\"ERROR_EFS_VERSION_NOT_SUPPORT\"},\n\t{6118,\"The list of servers for this workgroup is not currently available.\",\"ERROR_NO_BROWSER_SERVERS_FOUND\"},\n\t{6200,\"The Task Scheduler service must be configured to run in the System account to function properly. Individual tasks may be configured to run in other accounts.\",\"SCHED_E_SERVICE_NOT_LOCALSYSTEM\"},\n\t{7001,\"The specified session name is invalid.\",\"ERROR_CTX_WINSTATION_NAME_INVALID\"},\n\t{7002,\"The specified protocol driver is invalid.\",\"ERROR_CTX_INVALID_PD\"},\n\t{7003,\"The specified protocol driver was not found in the system path.\",\"ERROR_CTX_PD_NOT_FOUND\"},\n\t{7004,\"The specified terminal connection driver was not found in the system path.\",\"ERROR_CTX_WD_NOT_FOUND\"},\n\t{7005,\"A registry key for event logging could not be created for this session.\",\"ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY\"},\n\t{7006,\"A service with the same name already exists on the system.\",\"ERROR_CTX_SERVICE_NAME_COLLISION\"},\n\t{7007,\"A close operation is pending on the session.\",\"ERROR_CTX_CLOSE_PENDING\"},\n\t{7008,\"There are no free output buffers available.\",\"ERROR_CTX_NO_OUTBUF\"},\n\t{7009,\"The MODEM.INF file was not found.\",\"ERROR_CTX_MODEM_INF_NOT_FOUND\"},\n\t{7010,\"The modem name was not found in MODEM.INF.\",\"ERROR_CTX_INVALID_MODEMNAME\"},\n\t{7011,\"The modem did not accept the command sent to it. Verify that the configured modem name matches the attached modem.\",\"ERROR_CTX_MODEM_RESPONSE_ERROR\"},\n\t{7012,\"The modem did not respond to the command sent to it. Verify that the modem is properly cabled and powered on.\",\"ERROR_CTX_MODEM_RESPONSE_TIMEOUT\"},\n\t{7013,\"Carrier detect has failed or carrier has been dropped due to disconnect.\",\"ERROR_CTX_MODEM_RESPONSE_NO_CARRIER\"},\n\t{7014,\"Dial tone not detected within the required time. Verify that the phone cable is properly attached and functional.\",\"ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE\"},\n\t{7015,\"Busy signal detected at remote site on callback.\",\"ERROR_CTX_MODEM_RESPONSE_BUSY\"},\n\t{7016,\"Voice detected at remote site on callback.\",\"ERROR_CTX_MODEM_RESPONSE_VOICE\"},\n\t{7017,\"Transport driver error\",\"ERROR_CTX_TD_ERROR\"},\n\t{7022,\"The specified session cannot be found.\",\"ERROR_CTX_WINSTATION_NOT_FOUND\"},\n\t{7023,\"The specified session name is already in use.\",\"ERROR_CTX_WINSTATION_ALREADY_EXISTS\"},\n\t{7024,\"The requested operation cannot be completed because the terminal connection is currently busy processing a connect, disconnect, reset, or delete operation.\",\"ERROR_CTX_WINSTATION_BUSY\"},\n\t{7025,\"An attempt has been made to connect to a session whose video mode is not supported by the current client.\",\"ERROR_CTX_BAD_VIDEO_MODE\"},\n\t{7035,\"The application attempted to enable DOS graphics mode. DOS graphics mode is not supported.\",\"ERROR_CTX_GRAPHICS_INVALID\"},\n\t{7037,\"Your interactive logon privilege has been disabled. Please contact your administrator.\",\"ERROR_CTX_LOGON_DISABLED\"},\n\t{7038,\"The requested operation can be performed only on the system console. This is most often the result of a driver or system DLL requiring direct console access.\",\"ERROR_CTX_NOT_CONSOLE\"},\n\t{7040,\"The client failed to respond to the server connect message.\",\"ERROR_CTX_CLIENT_QUERY_TIMEOUT\"},\n\t{7041,\"Disconnecting the console session is not supported.\",\"ERROR_CTX_CONSOLE_DISCONNECT\"},\n\t{7042,\"Reconnecting a disconnected session to the console is not supported.\",\"ERROR_CTX_CONSOLE_CONNECT\"},\n\t{7044,\"The request to control another session remotely was denied.\",\"ERROR_CTX_SHADOW_DENIED\"},\n\t{7045,\"The requested session access is denied.\",\"ERROR_CTX_WINSTATION_ACCESS_DENIED\"},\n\t{7049,\"The specified terminal connection driver is invalid.\",\"ERROR_CTX_INVALID_WD\"},\n\t{7050,\"The requested session cannot be controlled remotely. This may be because the session is disconnected or does not currently have a user logged on.\",\"ERROR_CTX_SHADOW_INVALID\"},\n\t{7051,\"The requested session is not configured to allow remote control.\",\"ERROR_CTX_SHADOW_DISABLED\"},\n\t{7052,\"Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number is currently being used by another user. Please call your system administrator to obtain a unique license number.\",\"ERROR_CTX_CLIENT_LICENSE_IN_USE\"},\n\t{7053,\"Your request to connect to this Terminal Server has been rejected. Your Terminal Server client license number has not been entered for this copy of the Terminal Server client. Please contact your system administrator.\",\"ERROR_CTX_CLIENT_LICENSE_NOT_SET\"},\n\t{7054,\"The system has reached its licensed logon limit. Please try again later.\",\"ERROR_CTX_LICENSE_NOT_AVAILABLE\"},\n\t{7055,\"The client you are using is not licensed to use this system. Your logon request is denied.\",\"ERROR_CTX_LICENSE_CLIENT_INVALID\"},\n\t{7056,\"The system license has expired. Your logon request is denied.\",\"ERROR_CTX_LICENSE_EXPIRED\"},\n\t{7057,\"Remote control could not be terminated because the specified session is not currently being remotely controlled.\",\"ERROR_CTX_SHADOW_NOT_RUNNING\"},\n\t{7058,\"The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported.\",\"ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE\"},\n\t{7059,\"Activation has already been reset the maximum number of times for this installation. Your activation timer will not be cleared.\",\"ERROR_ACTIVATION_COUNT_EXCEEDED\"},\n\t{7060,\"Remote logins are currently disabled.\",\"ERROR_CTX_WINSTATIONS_DISABLED\"},\n\t{7061,\"You do not have the proper encryption level to access this Session.\",\"ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED\"},\n\t{7062,\"The user %s\\\\%s is currently logged on to this computer. Only the current user or an administrator can log on to this computer.\",\"ERROR_CTX_SESSION_IN_USE\"},\n\t{7063,\"The user %s\\\\%s is already logged on to the console of this computer. You do not have permission to log in at this time. To resolve this issue, contact %s\\\\%s and have them log off.\",\"ERROR_CTX_NO_FORCE_LOGOFF\"},\n\t{7064,\"Unable to log you on because of an account restriction.\",\"ERROR_CTX_ACCOUNT_RESTRICTION\"},\n\t{7065,\"The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client.\",\"ERROR_RDP_PROTOCOL_ERROR\"},\n\t{7066,\"The Client Drive Mapping Service Has Connected on Terminal Connection.\",\"ERROR_CTX_CDM_CONNECT\"},\n\t{7067,\"The Client Drive Mapping Service Has Disconnected on Terminal Connection.\",\"ERROR_CTX_CDM_DISCONNECT\"},\n\t{8001,\"The file replication service API was called incorrectly.\",\"FRS_ERR_INVALID_API_SEQUENCE\"},\n\t{8002,\"The file replication service cannot be started.\",\"FRS_ERR_STARTING_SERVICE\"},\n\t{8003,\"The file replication service cannot be stopped.\",\"FRS_ERR_STOPPING_SERVICE\"},\n\t{8004,\"The file replication service API terminated the request. The event log may have more information.\",\"FRS_ERR_INTERNAL_API\"},\n\t{8005,\"The file replication service terminated the request. The event log may have more information.\",\"FRS_ERR_INTERNAL\"},\n\t{8006,\"The file replication service cannot be contacted. The event log may have more information.\",\"FRS_ERR_SERVICE_COMM\"},\n\t{8007,\"The file replication service cannot satisfy the request because the user has insufficient privileges. The event log may have more information.\",\"FRS_ERR_INSUFFICIENT_PRIV\"},\n\t{8008,\"The file replication service cannot satisfy the request because authenticated RPC is not available. The event log may have more information.\",\"FRS_ERR_AUTHENTICATION\"},\n\t{8009,\"The file replication service cannot satisfy the request because the user has insufficient privileges on the domain controller. The event log may have more information.\",\"FRS_ERR_PARENT_INSUFFICIENT_PRIV\"},\n\t{8010,\"The file replication service cannot satisfy the request because authenticated RPC is not available on the domain controller. The event log may have more information.\",\"FRS_ERR_PARENT_AUTHENTICATION\"},\n\t{8011,\"The file replication service cannot communicate with the file replication service on the domain controller. The event log may have more information.\",\"FRS_ERR_CHILD_TO_PARENT_COMM\"},\n\t{8012,\"The file replication service on the domain controller cannot communicate with the file replication service on this computer. The event log may have more information.\",\"FRS_ERR_PARENT_TO_CHILD_COMM\"},\n\t{8013,\"The file replication service cannot populate the system volume because of an internal error. The event log may have more information.\",\"FRS_ERR_SYSVOL_POPULATE\"},\n\t{8014,\"The file replication service cannot populate the system volume because of an internal timeout. The event log may have more information.\",\"FRS_ERR_SYSVOL_POPULATE_TIMEOUT\"},\n\t{8015,\"The file replication service cannot process the request. The system volume is busy with a previous request.\",\"FRS_ERR_SYSVOL_IS_BUSY\"},\n\t{8016,\"The file replication service cannot stop replicating the system volume because of an internal error. The event log may have more information.\",\"FRS_ERR_SYSVOL_DEMOTE\"},\n\t{8017,\"The file replication service detected an invalid parameter.\",\"FRS_ERR_INVALID_SERVICE_PARAMETER\"},\n\t{8200,\"An error occurred while installing the directory service. For more information, see the event log.\",\"ERROR_DS_NOT_INSTALLED\"},\n\t{8201,\"The directory service evaluated group memberships locally.\",\"ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY\"},\n\t{8202,\"The specified directory service attribute or value does not exist.\",\"ERROR_DS_NO_ATTRIBUTE_OR_VALUE\"},\n\t{8203,\"The attribute syntax specified to the directory service is invalid.\",\"ERROR_DS_INVALID_ATTRIBUTE_SYNTAX\"},\n\t{8204,\"The attribute type specified to the directory service is not defined.\",\"ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED\"},\n\t{8205,\"The specified directory service attribute or value already exists.\",\"ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS\"},\n\t{8206,\"The directory service is busy.\",\"ERROR_DS_BUSY\"},\n\t{8207,\"The directory service is unavailable.\",\"ERROR_DS_UNAVAILABLE\"},\n\t{8208,\"The directory service was unable to allocate a relative identifier.\",\"ERROR_DS_NO_RIDS_ALLOCATED\"},\n\t{8209,\"The directory service has exhausted the pool of relative identifiers.\",\"ERROR_DS_NO_MORE_RIDS\"},\n\t{8210,\"The requested operation could not be performed because the directory service is not the master for that type of operation.\",\"ERROR_DS_INCORRECT_ROLE_OWNER\"},\n\t{8211,\"The directory service was unable to initialize the subsystem that allocates relative identifiers.\",\"ERROR_DS_RIDMGR_INIT_ERROR\"},\n\t{8212,\"The requested operation did not satisfy one or more constraints associated with the class of the object.\",\"ERROR_DS_OBJ_CLASS_VIOLATION\"},\n\t{8213,\"The directory service can perform the requested operation only on a leaf object.\",\"ERROR_DS_CANT_ON_NON_LEAF\"},\n\t{8214,\"The directory service cannot perform the requested operation on the RDN attribute of an object.\",\"ERROR_DS_CANT_ON_RDN\"},\n\t{8215,\"The directory service detected an attempt to modify the object class of an object.\",\"ERROR_DS_CANT_MOD_OBJ_CLASS\"},\n\t{8216,\"The requested cross-domain move operation could not be performed.\",\"ERROR_DS_CROSS_DOM_MOVE_ERROR\"},\n\t{8217,\"Unable to contact the global catalog server.\",\"ERROR_DS_GC_NOT_AVAILABLE\"},\n\t{8218,\"The policy object is shared and can only be modified at the root.\",\"ERROR_SHARED_POLICY\"},\n\t{8219,\"The policy object does not exist.\",\"ERROR_POLICY_OBJECT_NOT_FOUND\"},\n\t{8220,\"The requested policy information is only in the directory service.\",\"ERROR_POLICY_ONLY_IN_DS\"},\n\t{8221,\"A domain controller promotion is currently active.\",\"ERROR_PROMOTION_ACTIVE\"},\n\t{8222,\"A domain controller promotion is not currently active\",\"ERROR_NO_PROMOTION_ACTIVE\"},\n\t{8224,\"An operations error occurred.\",\"ERROR_DS_OPERATIONS_ERROR\"},\n\t{8225,\"A protocol error occurred.\",\"ERROR_DS_PROTOCOL_ERROR\"},\n\t{8226,\"The time limit for this request was exceeded.\",\"ERROR_DS_TIMELIMIT_EXCEEDED\"},\n\t{8227,\"The size limit for this request was exceeded.\",\"ERROR_DS_SIZELIMIT_EXCEEDED\"},\n\t{8228,\"The administrative limit for this request was exceeded.\",\"ERROR_DS_ADMIN_LIMIT_EXCEEDED\"},\n\t{8229,\"The compare response was false.\",\"ERROR_DS_COMPARE_FALSE\"},\n\t{8230,\"The compare response was true.\",\"ERROR_DS_COMPARE_TRUE\"},\n\t{8231,\"The requested authentication method is not supported by the server.\",\"ERROR_DS_AUTH_METHOD_NOT_SUPPORTED\"},\n\t{8232,\"A more secure authentication method is required for this server.\",\"ERROR_DS_STRONG_AUTH_REQUIRED\"},\n\t{8233,\"Inappropriate authentication.\",\"ERROR_DS_INAPPROPRIATE_AUTH\"},\n\t{8234,\"The authentication mechanism is unknown.\",\"ERROR_DS_AUTH_UNKNOWN\"},\n\t{8235,\"A referral was returned from the server.\",\"ERROR_DS_REFERRAL\"},\n\t{8236,\"The server does not support the requested critical extension.\",\"ERROR_DS_UNAVAILABLE_CRIT_EXTENSION\"},\n\t{8237,\"This request requires a secure connection.\",\"ERROR_DS_CONFIDENTIALITY_REQUIRED\"},\n\t{8238,\"Inappropriate matching.\",\"ERROR_DS_INAPPROPRIATE_MATCHING\"},\n\t{8239,\"A constraint violation occurred.\",\"ERROR_DS_CONSTRAINT_VIOLATION\"},\n\t{8240,\"There is no such object on the server.\",\"ERROR_DS_NO_SUCH_OBJECT\"},\n\t{8241,\"There is an alias problem.\",\"ERROR_DS_ALIAS_PROBLEM\"},\n\t{8242,\"An invalid dn syntax has been specified.\",\"ERROR_DS_INVALID_DN_SYNTAX\"},\n\t{8243,\"The object is a leaf object.\",\"ERROR_DS_IS_LEAF\"},\n\t{8244,\"There is an alias dereferencing problem.\",\"ERROR_DS_ALIAS_DEREF_PROBLEM\"},\n\t{8245,\"The server is unwilling to process the request.\",\"ERROR_DS_UNWILLING_TO_PERFORM\"},\n\t{8246,\"A loop has been detected.\",\"ERROR_DS_LOOP_DETECT\"},\n\t{8247,\"There is a naming violation.\",\"ERROR_DS_NAMING_VIOLATION\"},\n\t{8248,\"The result set is too large.\",\"ERROR_DS_OBJECT_RESULTS_TOO_LARGE\"},\n\t{8249,\"The operation affects multiple DSAs\",\"ERROR_DS_AFFECTS_MULTIPLE_DSAS\"},\n\t{8250,\"The server is not operational.\",\"ERROR_DS_SERVER_DOWN\"},\n\t{8251,\"A local error has occurred.\",\"ERROR_DS_LOCAL_ERROR\"},\n\t{8252,\"An encoding error has occurred.\",\"ERROR_DS_ENCODING_ERROR\"},\n\t{8253,\"A decoding error has occurred.\",\"ERROR_DS_DECODING_ERROR\"},\n\t{8254,\"The search filter cannot be recognized.\",\"ERROR_DS_FILTER_UNKNOWN\"},\n\t{8255,\"One or more parameters are illegal.\",\"ERROR_DS_PARAM_ERROR\"},\n\t{8256,\"The specified method is not supported.\",\"ERROR_DS_NOT_SUPPORTED\"},\n\t{8257,\"No results were returned.\",\"ERROR_DS_NO_RESULTS_RETURNED\"},\n\t{8258,\"The specified control is not supported by the server.\",\"ERROR_DS_CONTROL_NOT_FOUND\"},\n\t{8259,\"A referral loop was detected by the client.\",\"ERROR_DS_CLIENT_LOOP\"},\n\t{8260,\"The preset referral limit was exceeded.\",\"ERROR_DS_REFERRAL_LIMIT_EXCEEDED\"},\n\t{8261,\"The search requires a SORT control.\",\"ERROR_DS_SORT_CONTROL_MISSING\"},\n\t{8262,\"The search results exceed the offset range specified.\",\"ERROR_DS_OFFSET_RANGE_ERROR\"},\n\t{8301,\"The root object must be the head of a naming context. The root object cannot have an instantiated parent.\",\"ERROR_DS_ROOT_MUST_BE_NC\"},\n\t{8302,\"The add replica operation cannot be performed. The naming context must be writeable in order to create the replica.\",\"ERROR_DS_ADD_REPLICA_INHIBITED\"},\n\t{8303,\"A reference to an attribute that is not defined in the schema occurred.\",\"ERROR_DS_ATT_NOT_DEF_IN_SCHEMA\"},\n\t{8304,\"The maximum size of an object has been exceeded.\",\"ERROR_DS_MAX_OBJ_SIZE_EXCEEDED\"},\n\t{8305,\"An attempt was made to add an object to the directory with a name that is already in use.\",\"ERROR_DS_OBJ_STRING_NAME_EXISTS\"},\n\t{8306,\"An attempt was made to add an object of a class that does not have an RDN defined in the schema.\",\"ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA\"},\n\t{8307,\"An attempt was made to add an object using an RDN that is not the RDN defined in the schema.\",\"ERROR_DS_RDN_DOESNT_MATCH_SCHEMA\"},\n\t{8308,\"None of the requested attributes were found on the objects.\",\"ERROR_DS_NO_REQUESTED_ATTS_FOUND\"},\n\t{8309,\"The user buffer is too small.\",\"ERROR_DS_USER_BUFFER_TO_SMALL\"},\n\t{8310,\"The attribute specified in the operation is not present on the object.\",\"ERROR_DS_ATT_IS_NOT_ON_OBJ\"},\n\t{8311,\"Illegal modify operation. Some aspect of the modification is not permitted.\",\"ERROR_DS_ILLEGAL_MOD_OPERATION\"},\n\t{8312,\"The specified object is too large.\",\"ERROR_DS_OBJ_TOO_LARGE\"},\n\t{8313,\"The specified instance type is not valid.\",\"ERROR_DS_BAD_INSTANCE_TYPE\"},\n\t{8314,\"The operation must be performed at a master DSA.\",\"ERROR_DS_MASTERDSA_REQUIRED\"},\n\t{8315,\"The object class attribute must be specified.\",\"ERROR_DS_OBJECT_CLASS_REQUIRED\"},\n\t{8316,\"A required attribute is missing.\",\"ERROR_DS_MISSING_REQUIRED_ATT\"},\n\t{8317,\"An attempt was made to modify an object to include an attribute that is not legal for its class\",\"ERROR_DS_ATT_NOT_DEF_FOR_CLASS\"},\n\t{8318,\"The specified attribute is already present on the object.\",\"ERROR_DS_ATT_ALREADY_EXISTS\"},\n\t{8320,\"The specified attribute is not present, or has no values.\",\"ERROR_DS_CANT_ADD_ATT_VALUES\"},\n\t{8321,\"Multiple values were specified for an attribute that can have only one value.\",\"ERROR_DS_SINGLE_VALUE_CONSTRAINT\"},\n\t{8322,\"A value for the attribute was not in the acceptable range of values.\",\"ERROR_DS_RANGE_CONSTRAINT\"},\n\t{8323,\"The specified value already exists.\",\"ERROR_DS_ATT_VAL_ALREADY_EXISTS\"},\n\t{8324,\"The attribute cannot be removed because it is not present on the object.\",\"ERROR_DS_CANT_REM_MISSING_ATT\"},\n\t{8325,\"The attribute value cannot be removed because it is not present on the object.\",\"ERROR_DS_CANT_REM_MISSING_ATT_VAL\"},\n\t{8326,\"The specified root object cannot be a subref.\",\"ERROR_DS_ROOT_CANT_BE_SUBREF\"},\n\t{8327,\"Chaining is not permitted.\",\"ERROR_DS_NO_CHAINING\"},\n\t{8328,\"Chained evaluation is not permitted.\",\"ERROR_DS_NO_CHAINED_EVAL\"},\n\t{8329,\"The operation could not be performed because the object's parent is either uninstantiated or deleted.\",\"ERROR_DS_NO_PARENT_OBJECT\"},\n\t{8330,\"Having a parent that is an alias is not permitted. Aliases are leaf objects.\",\"ERROR_DS_PARENT_IS_AN_ALIAS\"},\n\t{8331,\"The object and parent must be of the same type, either both masters or both replicas.\",\"ERROR_DS_CANT_MIX_MASTER_AND_REPS\"},\n\t{8332,\"The operation cannot be performed because child objects exist. This operation can only be performed on a leaf object.\",\"ERROR_DS_CHILDREN_EXIST\"},\n\t{8333,\"Directory object not found.\",\"ERROR_DS_OBJ_NOT_FOUND\"},\n\t{8334,\"The aliased object is missing.\",\"ERROR_DS_ALIASED_OBJ_MISSING\"},\n\t{8335,\"The object name has bad syntax.\",\"ERROR_DS_BAD_NAME_SYNTAX\"},\n\t{8336,\"It is not permitted for an alias to refer to another alias.\",\"ERROR_DS_ALIAS_POINTS_TO_ALIAS\"},\n\t{8337,\"The alias cannot be dereferenced.\",\"ERROR_DS_CANT_DEREF_ALIAS\"},\n\t{8338,\"The operation is out of scope.\",\"ERROR_DS_OUT_OF_SCOPE\"},\n\t{8339,\"The operation cannot continue because the object is in the process of being removed.\",\"ERROR_DS_OBJECT_BEING_REMOVED\"},\n\t{8340,\"The DSA object cannot be deleted.\",\"ERROR_DS_CANT_DELETE_DSA_OBJ\"},\n\t{8341,\"A directory service error has occurred.\",\"ERROR_DS_GENERIC_ERROR\"},\n\t{8342,\"The operation can only be performed on an internal master DSA object.\",\"ERROR_DS_DSA_MUST_BE_INT_MASTER\"},\n\t{8343,\"The object must be of class DSA.\",\"ERROR_DS_CLASS_NOT_DSA\"},\n\t{8344,\"Insufficient access rights to perform the operation.\",\"ERROR_DS_INSUFF_ACCESS_RIGHTS\"},\n\t{8345,\"The object cannot be added because the parent is not on the list of possible superiors.\",\"ERROR_DS_ILLEGAL_SUPERIOR\"},\n\t{8346,\"Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM).\",\"ERROR_DS_ATTRIBUTE_OWNED_BY_SAM\"},\n\t{8347,\"The name has too many parts.\",\"ERROR_DS_NAME_TOO_MANY_PARTS\"},\n\t{8348,\"The name is too long.\",\"ERROR_DS_NAME_TOO_LONG\"},\n\t{8349,\"The name value is too long.\",\"ERROR_DS_NAME_VALUE_TOO_LONG\"},\n\t{8350,\"The directory service encountered an error parsing a name.\",\"ERROR_DS_NAME_UNPARSEABLE\"},\n\t{8351,\"The directory service cannot get the attribute type for a name.\",\"ERROR_DS_NAME_TYPE_UNKNOWN\"},\n\t{8352,\"The name does not identify an object; the name identifies a phantom.\",\"ERROR_DS_NOT_AN_OBJECT\"},\n\t{8353,\"The security descriptor is too short.\",\"ERROR_DS_SEC_DESC_TOO_SHORT\"},\n\t{8354,\"The security descriptor is invalid.\",\"ERROR_DS_SEC_DESC_INVALID\"},\n\t{8355,\"Failed to create name for deleted object.\",\"ERROR_DS_NO_DELETED_NAME\"},\n\t{8356,\"The parent of a new subref must exist.\",\"ERROR_DS_SUBREF_MUST_HAVE_PARENT\"},\n\t{8357,\"The object must be a naming context.\",\"ERROR_DS_NCNAME_MUST_BE_NC\"},\n\t{8358,\"It is not permitted to add an attribute which is owned by the system.\",\"ERROR_DS_CANT_ADD_SYSTEM_ONLY\"},\n\t{8359,\"The class of the object must be structural; you cannot instantiate an abstract class.\",\"ERROR_DS_CLASS_MUST_BE_CONCRETE\"},\n\t{8360,\"The schema object could not be found.\",\"ERROR_DS_INVALID_DMD\"},\n\t{8361,\"A local object with this GUID (dead or alive) already exists.\",\"ERROR_DS_OBJ_GUID_EXISTS\"},\n\t{8362,\"The operation cannot be performed on a back link.\",\"ERROR_DS_NOT_ON_BACKLINK\"},\n\t{8363,\"The cross reference for the specified naming context could not be found.\",\"ERROR_DS_NO_CROSSREF_FOR_NC\"},\n\t{8364,\"The operation could not be performed because the directory service is shutting down.\",\"ERROR_DS_SHUTTING_DOWN\"},\n\t{8365,\"The directory service request is invalid.\",\"ERROR_DS_UNKNOWN_OPERATION\"},\n\t{8366,\"The role owner attribute could not be read.\",\"ERROR_DS_INVALID_ROLE_OWNER\"},\n\t{8367,\"The requested FSMO operation failed. The current FSMO holder could not be reached.\",\"ERROR_DS_COULDNT_CONTACT_FSMO\"},\n\t{8368,\"Modification of a DN across a naming context is not permitted.\",\"ERROR_DS_CROSS_NC_DN_RENAME\"},\n\t{8369,\"The attribute cannot be modified because it is owned by the system.\",\"ERROR_DS_CANT_MOD_SYSTEM_ONLY\"},\n\t{8370,\"Only the replicator can perform this function.\",\"ERROR_DS_REPLICATOR_ONLY\"},\n\t{8371,\"The specified class is not defined.\",\"ERROR_DS_OBJ_CLASS_NOT_DEFINED\"},\n\t{8372,\"The specified class is not a subclass.\",\"ERROR_DS_OBJ_CLASS_NOT_SUBCLASS\"},\n\t{8373,\"The name reference is invalid.\",\"ERROR_DS_NAME_REFERENCE_INVALID\"},\n\t{8374,\"A cross reference already exists.\",\"ERROR_DS_CROSS_REF_EXISTS\"},\n\t{8375,\"It is not permitted to delete a master cross reference.\",\"ERROR_DS_CANT_DEL_MASTER_CROSSREF\"},\n\t{8376,\"Subtree notifications are only supported on NC heads.\",\"ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD\"},\n\t{8377,\"Notification filter is too complex.\",\"ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX\"},\n\t{8378,\"Schema update failed: duplicate RDN.\",\"ERROR_DS_DUP_RDN\"},\n\t{8379,\"Schema update failed: duplicate OID\",\"ERROR_DS_DUP_OID\"},\n\t{8380,\"Schema update failed: duplicate MAPI identifier.\",\"ERROR_DS_DUP_MAPI_ID\"},\n\t{8381,\"Schema update failed: duplicate schema-id GUID.\",\"ERROR_DS_DUP_SCHEMA_ID_GUID\"},\n\t{8382,\"Schema update failed: duplicate LDAP display name.\",\"ERROR_DS_DUP_LDAP_DISPLAY_NAME\"},\n\t{8383,\"Schema update failed: range-lower less than range upper\",\"ERROR_DS_SEMANTIC_ATT_TEST\"},\n\t{8384,\"Schema update failed: syntax mismatch\",\"ERROR_DS_SYNTAX_MISMATCH\"},\n\t{8385,\"Schema deletion failed: attribute is used in must-contain\",\"ERROR_DS_EXISTS_IN_MUST_HAVE\"},\n\t{8386,\"Schema deletion failed: attribute is used in may-contain\",\"ERROR_DS_EXISTS_IN_MAY_HAVE\"},\n\t{8387,\"Schema update failed: attribute in may-contain does not exist\",\"ERROR_DS_NONEXISTENT_MAY_HAVE\"},\n\t{8388,\"Schema update failed: attribute in must-contain does not exist\",\"ERROR_DS_NONEXISTENT_MUST_HAVE\"},\n\t{8389,\"Schema update failed: class in aux-class list does not exist or is not an auxiliary class\",\"ERROR_DS_AUX_CLS_TEST_FAIL\"},\n\t{8390,\"Schema update failed: class in poss-superiors does not exist\",\"ERROR_DS_NONEXISTENT_POSS_SUP\"},\n\t{8391,\"Schema update failed: class in subclassof list does not exist or does not satisfy hierarchy rules\",\"ERROR_DS_SUB_CLS_TEST_FAIL\"},\n\t{8392,\"Schema update failed: Rdn-Att-Id has wrong syntax\",\"ERROR_DS_BAD_RDN_ATT_ID_SYNTAX\"},\n\t{8393,\"Schema deletion failed: class is used as auxiliary class\",\"ERROR_DS_EXISTS_IN_AUX_CLS\"},\n\t{8394,\"Schema deletion failed: class is used as sub class\",\"ERROR_DS_EXISTS_IN_SUB_CLS\"},\n\t{8395,\"Schema deletion failed: class is used as poss superior\",\"ERROR_DS_EXISTS_IN_POSS_SUP\"},\n\t{8396,\"Schema update failed in recalculating validation cache.\",\"ERROR_DS_RECALCSCHEMA_FAILED\"},\n\t{8397,\"The tree deletion is not finished.\",\"ERROR_DS_TREE_DELETE_NOT_FINISHED\"},\n\t{8398,\"The requested delete operation could not be performed.\",\"ERROR_DS_CANT_DELETE\"},\n\t{8399,\"Cannot read the governs class identifier for the schema record.\",\"ERROR_DS_ATT_SCHEMA_REQ_ID\"},\n\t{8400,\"The attribute schema has bad syntax.\",\"ERROR_DS_BAD_ATT_SCHEMA_SYNTAX\"},\n\t{8401,\"The attribute could not be cached.\",\"ERROR_DS_CANT_CACHE_ATT\"},\n\t{8402,\"The class could not be cached.\",\"ERROR_DS_CANT_CACHE_CLASS\"},\n\t{8403,\"The attribute could not be removed from the cache.\",\"ERROR_DS_CANT_REMOVE_ATT_CACHE\"},\n\t{8404,\"The class could not be removed from the cache.\",\"ERROR_DS_CANT_REMOVE_CLASS_CACHE\"},\n\t{8405,\"The distinguished name attribute could not be read.\",\"ERROR_DS_CANT_RETRIEVE_DN\"},\n\t{8406,\"No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest.\",\"ERROR_DS_MISSING_SUPREF\"},\n\t{8407,\"The instance type attribute could not be retrieved.\",\"ERROR_DS_CANT_RETRIEVE_INSTANCE\"},\n\t{8408,\"An internal error has occurred.\",\"ERROR_DS_CODE_INCONSISTENCY\"},\n\t{8409,\"A database error has occurred.\",\"ERROR_DS_DATABASE_ERROR\"},\n\t{8410,\"The attribute GOVERNSID is missing.\",\"ERROR_DS_GOVERNSID_MISSING\"},\n\t{8411,\"An expected attribute is missing.\",\"ERROR_DS_MISSING_EXPECTED_ATT\"},\n\t{8412,\"The specified naming context is missing a cross reference.\",\"ERROR_DS_NCNAME_MISSING_CR_REF\"},\n\t{8413,\"A security checking error has occurred.\",\"ERROR_DS_SECURITY_CHECKING_ERROR\"},\n\t{8414,\"The schema is not loaded.\",\"ERROR_DS_SCHEMA_NOT_LOADED\"},\n\t{8415,\"Schema allocation failed. Please check if the machine is running low on memory.\",\"ERROR_DS_SCHEMA_ALLOC_FAILED\"},\n\t{8416,\"Failed to obtain the required syntax for the attribute schema.\",\"ERROR_DS_ATT_SCHEMA_REQ_SYNTAX\"},\n\t{8417,\"The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available.\",\"ERROR_DS_GCVERIFY_ERROR\"},\n\t{8418,\"The replication operation failed because of a schema mismatch between the servers involved.\",\"ERROR_DS_DRA_SCHEMA_MISMATCH\"},\n\t{8419,\"The DSA object could not be found.\",\"ERROR_DS_CANT_FIND_DSA_OBJ\"},\n\t{8420,\"The naming context could not be found.\",\"ERROR_DS_CANT_FIND_EXPECTED_NC\"},\n\t{8421,\"The naming context could not be found in the cache.\",\"ERROR_DS_CANT_FIND_NC_IN_CACHE\"},\n\t{8422,\"The child object could not be retrieved.\",\"ERROR_DS_CANT_RETRIEVE_CHILD\"},\n\t{8423,\"The modification was not permitted for security reasons.\",\"ERROR_DS_SECURITY_ILLEGAL_MODIFY\"},\n\t{8424,\"The operation cannot replace the hidden record.\",\"ERROR_DS_CANT_REPLACE_HIDDEN_REC\"},\n\t{8425,\"The hierarchy file is invalid.\",\"ERROR_DS_BAD_HIERARCHY_FILE\"},\n\t{8426,\"The attempt to build the hierarchy table failed.\",\"ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED\"},\n\t{8427,\"The directory configuration parameter is missing from the registry.\",\"ERROR_DS_CONFIG_PARAM_MISSING\"},\n\t{8428,\"The attempt to count the address book indices failed.\",\"ERROR_DS_COUNTING_AB_INDICES_FAILED\"},\n\t{8429,\"The allocation of the hierarchy table failed.\",\"ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED\"},\n\t{8430,\"The directory service encountered an internal failure.\",\"ERROR_DS_INTERNAL_FAILURE\"},\n\t{8431,\"The directory service encountered an unknown failure.\",\"ERROR_DS_UNKNOWN_ERROR\"},\n\t{8432,\"A root object requires a class of 'top'.\",\"ERROR_DS_ROOT_REQUIRES_CLASS_TOP\"},\n\t{8433,\"This directory server is shutting down, and cannot take ownership of new floating single-master operation roles.\",\"ERROR_DS_REFUSING_FSMO_ROLES\"},\n\t{8434,\"The directory service is missing mandatory configuration information, and is unable to determine the ownership of floating single-master operation roles.\",\"ERROR_DS_MISSING_FSMO_SETTINGS\"},\n\t{8435,\"The directory service was unable to transfer ownership of one or more floating single-master operation roles to other servers.\",\"ERROR_DS_UNABLE_TO_SURRENDER_ROLES\"},\n\t{8436,\"The replication operation failed.\",\"ERROR_DS_DRA_GENERIC\"},\n\t{8437,\"An invalid parameter was specified for this replication operation.\",\"ERROR_DS_DRA_INVALID_PARAMETER\"},\n\t{8438,\"The directory service is too busy to complete the replication operation at this time.\",\"ERROR_DS_DRA_BUSY\"},\n\t{8439,\"The distinguished name specified for this replication operation is invalid.\",\"ERROR_DS_DRA_BAD_DN\"},\n\t{8440,\"The naming context specified for this replication operation is invalid.\",\"ERROR_DS_DRA_BAD_NC\"},\n\t{8441,\"The distinguished name specified for this replication operation already exists.\",\"ERROR_DS_DRA_DN_EXISTS\"},\n\t{8442,\"The replication system encountered an internal error.\",\"ERROR_DS_DRA_INTERNAL_ERROR\"},\n\t{8443,\"The replication operation encountered a database inconsistency.\",\"ERROR_DS_DRA_INCONSISTENT_DIT\"},\n\t{8444,\"The server specified for this replication operation could not be contacted.\",\"ERROR_DS_DRA_CONNECTION_FAILED\"},\n\t{8445,\"The replication operation encountered an object with an invalid instance type.\",\"ERROR_DS_DRA_BAD_INSTANCE_TYPE\"},\n\t{8446,\"The replication operation failed to allocate memory.\",\"ERROR_DS_DRA_OUT_OF_MEM\"},\n\t{8447,\"The replication operation encountered an error with the mail system.\",\"ERROR_DS_DRA_MAIL_PROBLEM\"},\n\t{8448,\"The replication reference information for the target server already exists.\",\"ERROR_DS_DRA_REF_ALREADY_EXISTS\"},\n\t{8449,\"The replication reference information for the target server does not exist.\",\"ERROR_DS_DRA_REF_NOT_FOUND\"},\n\t{8450,\"The naming context cannot be removed because it is replicated to another server.\",\"ERROR_DS_DRA_OBJ_IS_REP_SOURCE\"},\n\t{8451,\"The replication operation encountered a database error.\",\"ERROR_DS_DRA_DB_ERROR\"},\n\t{8452,\"The naming context is in the process of being removed or is not replicated from the specified server.\",\"ERROR_DS_DRA_NO_REPLICA\"},\n\t{8453,\"Replication access was denied.\",\"ERROR_DS_DRA_ACCESS_DENIED\"},\n\t{8454,\"The requested operation is not supported by this version of the directory service.\",\"ERROR_DS_DRA_NOT_SUPPORTED\"},\n\t{8455,\"The replication remote procedure call was cancelled.\",\"ERROR_DS_DRA_RPC_CANCELLED\"},\n\t{8456,\"The source server is currently rejecting replication requests.\",\"ERROR_DS_DRA_SOURCE_DISABLED\"},\n\t{8457,\"The destination server is currently rejecting replication requests.\",\"ERROR_DS_DRA_SINK_DISABLED\"},\n\t{8458,\"The replication operation failed due to a collision of object names.\",\"ERROR_DS_DRA_NAME_COLLISION\"},\n\t{8459,\"The replication source has been reinstalled.\",\"ERROR_DS_DRA_SOURCE_REINSTALLED\"},\n\t{8460,\"The replication operation failed because a required parent object is missing.\",\"ERROR_DS_DRA_MISSING_PARENT\"},\n\t{8461,\"The replication operation was preempted.\",\"ERROR_DS_DRA_PREEMPTED\"},\n\t{8462,\"The replication synchronization attempt was abandoned because of a lack of updates.\",\"ERROR_DS_DRA_ABANDON_SYNC\"},\n\t{8463,\"The replication operation was terminated because the system is shutting down.\",\"ERROR_DS_DRA_SHUTDOWN\"},\n\t{8464,\"Synchronization attempt failed because the destination DC is currently waiting to synchronize new partial attributes from source. This condition is normal if a recent schema change modified the partial attribute set. The destination partial attribute set is not a subset of the source partial attribute set.\",\"ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET\"},\n\t{8465,\"The replication synchronization attempt failed because a master replica attempted to sync from a partial replica.\",\"ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA\"},\n\t{8466,\"The server specified for this replication operation was contacted, but that server was unable to contact an additional server needed to complete the operation.\",\"ERROR_DS_DRA_EXTN_CONNECTION_FAILED\"},\n\t{8467,\"The version of the Active Directory schema of the source forest is not compatible with the version of Active Directory on this computer.\",\"ERROR_DS_INSTALL_SCHEMA_MISMATCH\"},\n\t{8468,\"Schema update failed: An attribute with the same link identifier already exists.\",\"ERROR_DS_DUP_LINK_ID\"},\n\t{8469,\"Name translation: Generic processing error.\",\"ERROR_DS_NAME_ERROR_RESOLVING\"},\n\t{8470,\"Name translation: Could not find the name or insufficient right to see name.\",\"ERROR_DS_NAME_ERROR_NOT_FOUND\"},\n\t{8471,\"Name translation: Input name mapped to more than one output name.\",\"ERROR_DS_NAME_ERROR_NOT_UNIQUE\"},\n\t{8472,\"Name translation: Input name found, but not the associated output format.\",\"ERROR_DS_NAME_ERROR_NO_MAPPING\"},\n\t{8473,\"Name translation: Unable to resolve completely, only the domain was found.\",\"ERROR_DS_NAME_ERROR_DOMAIN_ONLY\"},\n\t{8474,\"Name translation: Unable to perform purely syntactical mapping at the client without going out to the wire.\",\"ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING\"},\n\t{8475,\"Modification of a constructed attribute is not allowed.\",\"ERROR_DS_CONSTRUCTED_ATT_MOD\"},\n\t{8476,\"The OM-Object-Class specified is incorrect for an attribute with the specified syntax.\",\"ERROR_DS_WRONG_OM_OBJ_CLASS\"},\n\t{8477,\"The replication request has been posted; waiting for reply.\",\"ERROR_DS_DRA_REPL_PENDING\"},\n\t{8478,\"The requested operation requires a directory service, and none was available.\",\"ERROR_DS_DS_REQUIRED\"},\n\t{8479,\"The LDAP display name of the class or attribute contains non-ASCII characters.\",\"ERROR_DS_INVALID_LDAP_DISPLAY_NAME\"},\n\t{8480,\"The requested search operation is only supported for base searches.\",\"ERROR_DS_NON_BASE_SEARCH\"},\n\t{8481,\"The search failed to retrieve attributes from the database.\",\"ERROR_DS_CANT_RETRIEVE_ATTS\"},\n\t{8482,\"The schema update operation tried to add a backward link attribute that has no corresponding forward link.\",\"ERROR_DS_BACKLINK_WITHOUT_LINK\"},\n\t{8483,\"Source and destination of a cross domain move do not agree on the object's epoch number. Either source or destination does not have the latest version of the object.\",\"ERROR_DS_EPOCH_MISMATCH\"},\n\t{8484,\"Source and destination of a cross domain move do not agree on the object's current name. Either source or destination does not have the latest version of the object.\",\"ERROR_DS_SRC_NAME_MISMATCH\"},\n\t{8485,\"Source and destination of a cross domain move operation are identical. Caller should use local move operation instead of cross domain move operation.\",\"ERROR_DS_SRC_AND_DST_NC_IDENTICAL\"},\n\t{8486,\"Source and destination for a cross domain move are not in agreement on the naming contexts in the forest. Either source or destination does not have the latest version of the Partitions container.\",\"ERROR_DS_DST_NC_MISMATCH\"},\n\t{8487,\"Destination of a cross domain move is not authoritative for the destination naming context.\",\"ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC\"},\n\t{8488,\"Source and destination of a cross domain move do not agree on the identity of the source object. Either source or destination does not have the latest version of the source object.\",\"ERROR_DS_SRC_GUID_MISMATCH\"},\n\t{8489,\"Object being moved across domains is already known to be deleted by the destination server. The source server does not have the latest version of the source object.\",\"ERROR_DS_CANT_MOVE_DELETED_OBJECT\"},\n\t{8490,\"Another operation, which requires exclusive access to the PDC PSMO, is already in progress.\",\"ERROR_DS_PDC_OPERATION_IN_PROGRESS\"},\n\t{8491,\"A cross domain move operation failed such that the two versions of the moved object exist - one each in the source and destination domains. The destination object needs to be removed to restore the system to a consistent state.\",\"ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD\"},\n\t{8492,\"This object may not be moved across domain boundaries either because cross domain moves for this class are disallowed, or the object has some special characteristics, e.g.: trust account or restricted RID, which prevent its move.\",\"ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION\"},\n\t{8493,\"Can't move objects with memberships across domain boundaries as once moved, this would violate the membership conditions of the account group. Remove the object from any account group memberships and retry.\",\"ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS\"},\n\t{8494,\"A naming context head must be the immediate child of another naming context head, not of an interior node.\",\"ERROR_DS_NC_MUST_HAVE_NC_PARENT\"},\n\t{8495,\"The directory cannot validate the proposed naming context name because it does not hold a replica of the naming context above the proposed naming context. Please ensure that the domain naming master role is held by a server that is configured as a global catalog server, and that the server is up to date with its replication partners. (Applies only to Windows 2000 Domain Naming masters)\",\"ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE\"},\n\t{8496,\"Destination domain must be in native mode.\",\"ERROR_DS_DST_DOMAIN_NOT_NATIVE\"},\n\t{8497,\"The operation cannot be performed because the server does not have an infrastructure container in the domain of interest.\",\"ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER\"},\n\t{8498,\"Cross-domain move of non-empty account groups is not allowed.\",\"ERROR_DS_CANT_MOVE_ACCOUNT_GROUP\"},\n\t{8499,\"Cross-domain move of non-empty resource groups is not allowed.\",\"ERROR_DS_CANT_MOVE_RESOURCE_GROUP\"},\n\t{8500,\"The search flags for the attribute are invalid. The ANR bit is valid only on attributes of Unicode or Teletex strings.\",\"ERROR_DS_INVALID_SEARCH_FLAG\"},\n\t{8501,\"Tree deletions starting at an object which has an NC head as a descendant are not allowed.\",\"ERROR_DS_NO_TREE_DELETE_ABOVE_NC\"},\n\t{8502,\"The directory service failed to lock a tree in preparation for a tree deletion because the tree was in use.\",\"ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE\"},\n\t{8503,\"The directory service failed to identify the list of objects to delete while attempting a tree deletion.\",\"ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE\"},\n\t{8504,\"Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Directory Services Restore Mode. Check the event log for detailed information.\",\"ERROR_DS_SAM_INIT_FAILURE\"},\n\t{8505,\"Only an administrator can modify the membership list of an administrative group.\",\"ERROR_DS_SENSITIVE_GROUP_VIOLATION\"},\n\t{8506,\"Cannot change the primary group ID of a domain controller account.\",\"ERROR_DS_CANT_MOD_PRIMARYGROUPID\"},\n\t{8507,\"An attempt is made to modify the base schema.\",\"ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD\"},\n\t{8508,\"Adding a new mandatory attribute to an existing class, deleting a mandatory attribute from an existing class, or adding an optional attribute to the special class Top that is not a backlink attribute (directly or through inheritance, for example, by adding or deleting an auxiliary class) is not allowed.\",\"ERROR_DS_NONSAFE_SCHEMA_CHANGE\"},\n\t{8509,\"Schema update is not allowed on this DC because the DC is not the schema FSMO Role Owner.\",\"ERROR_DS_SCHEMA_UPDATE_DISALLOWED\"},\n\t{8510,\"An object of this class cannot be created under the schema container. You can only create attribute-schema and class-schema objects under the schema container.\",\"ERROR_DS_CANT_CREATE_UNDER_SCHEMA\"},\n\t{8511,\"The replica/child install failed to get the objectVersion attribute on the schema container on the source DC. Either the attribute is missing on the schema container or the credentials supplied do not have permission to read it.\",\"ERROR_DS_INSTALL_NO_SRC_SCH_VERSION\"},\n\t{8512,\"The replica/child install failed to read the objectVersion attribute in the SCHEMA section of the file schema.ini in the system32 directory.\",\"ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE\"},\n\t{8513,\"The specified group type is invalid.\",\"ERROR_DS_INVALID_GROUP_TYPE\"},\n\t{8514,\"Cannot nest global groups in a mixed domain if the group is security-enabled.\",\"ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN\"},\n\t{8515,\"Cannot nest local groups in a mixed domain if the group is security-enabled.\",\"ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN\"},\n\t{8516,\"A global group cannot have a local group as a member.\",\"ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER\"},\n\t{8517,\"A global group cannot have a universal group as a member.\",\"ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER\"},\n\t{8518,\"A universal group cannot have a local group as a member.\",\"ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER\"},\n\t{8519,\"A global group cannot have a cross-domain member.\",\"ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER\"},\n\t{8520,\"A local group cannot have another cross-domain local group as a member.\",\"ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER\"},\n\t{8521,\"A group with primary members cannot change to a security-disabled group.\",\"ERROR_DS_HAVE_PRIMARY_MEMBERS\"},\n\t{8522,\"The schema cache load failed to convert the string default SD on a class-schema object.\",\"ERROR_DS_STRING_SD_CONVERSION_FAILED\"},\n\t{8523,\"Only DSAs configured to be Global Catalog servers should be allowed to hold the Domain Naming Master FSMO role. (Applies only to Windows 2000 servers)\",\"ERROR_DS_NAMING_MASTER_GC\"},\n\t{8524,\"The DSA operation is unable to proceed because of a DNS lookup failure.\",\"ERROR_DS_LOOKUP_FAILURE\"},\n\t{8525,\"While processing a change to the DNS Host Name for an object, the Service Principal Name values could not be kept in sync.\",\"ERROR_DS_COULDNT_UPDATE_SPNS\"},\n\t{8526,\"The Security Descriptor attribute could not be read.\",\"ERROR_DS_CANT_RETRIEVE_SD\"},\n\t{8527,\"The object requested was not found, but an object with that key was found.\",\"ERROR_DS_KEY_NOT_UNIQUE\"},\n\t{8528,\"The syntax of the linked attributed being added is incorrect. Forward links can only have syntax 2.5.5.1, 2.5.5.7, and 2.5.5.14, and backlinks can only have syntax 2.5.5.1.\",\"ERROR_DS_WRONG_LINKED_ATT_SYNTAX\"},\n\t{8529,\"Security Account Manager needs to get the boot password.\",\"ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD\"},\n\t{8530,\"Security Account Manager needs to get the boot key from floppy disk.\",\"ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY\"},\n\t{8531,\"Directory Service cannot start.\",\"ERROR_DS_CANT_START\"},\n\t{8532,\"Directory Services could not start.\",\"ERROR_DS_INIT_FAILURE\"},\n\t{8533,\"The connection between client and server requires packet privacy or better.\",\"ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION\"},\n\t{8534,\"The source domain may not be in the same forest as destination.\",\"ERROR_DS_SOURCE_DOMAIN_IN_FOREST\"},\n\t{8535,\"The destination domain must be in the forest.\",\"ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST\"},\n\t{8536,\"The operation requires that destination domain auditing be enabled.\",\"ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED\"},\n\t{8537,\"The operation couldn't locate a DC for the source domain.\",\"ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN\"},\n\t{8538,\"The source object must be a group or user.\",\"ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER\"},\n\t{8539,\"The source object's SID already exists in destination forest.\",\"ERROR_DS_SRC_SID_EXISTS_IN_FOREST\"},\n\t{8540,\"The source and destination object must be of the same type.\",\"ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH\"},\n\t{8541,\"Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Click OK to shut down the system and reboot into Safe Mode. Check the event log for detailed information.\",\"ERROR_SAM_INIT_FAILURE\"},\n\t{8542,\"Schema information could not be included in the replication request.\",\"ERROR_DS_DRA_SCHEMA_INFO_SHIP\"},\n\t{8543,\"The replication operation could not be completed due to a schema incompatibility.\",\"ERROR_DS_DRA_SCHEMA_CONFLICT\"},\n\t{8544,\"The replication operation could not be completed due to a previous schema incompatibility.\",\"ERROR_DS_DRA_EARLIER_SCHEMA_CONLICT\"},\n\t{8545,\"The replication update could not be applied because either the source or the destination has not yet received information regarding a recent cross-domain move operation.\",\"ERROR_DS_DRA_OBJ_NC_MISMATCH\"},\n\t{8546,\"The requested domain could not be deleted because there exist domain controllers that still host this domain.\",\"ERROR_DS_NC_STILL_HAS_DSAS\"},\n\t{8547,\"The requested operation can be performed only on a global catalog server.\",\"ERROR_DS_GC_REQUIRED\"},\n\t{8548,\"A local group can only be a member of other local groups in the same domain.\",\"ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY\"},\n\t{8549,\"Foreign security principals cannot be members of universal groups.\",\"ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS\"},\n\t{8550,\"The attribute is not allowed to be replicated to the GC because of security reasons.\",\"ERROR_DS_CANT_ADD_TO_GC\"},\n\t{8551,\"The checkpoint with the PDC could not be taken because there are too many modifications being processed currently.\",\"ERROR_DS_NO_CHECKPOINT_WITH_PDC\"},\n\t{8552,\"The operation requires that source domain auditing be enabled.\",\"ERROR_DS_SOURCE_AUDITING_NOT_ENABLED\"},\n\t{8553,\"Security principal objects can only be created inside domain naming contexts.\",\"ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC\"},\n\t{8554,\"A Service Principal Name (SPN) could not be constructed because the provided hostname is not in the necessary format.\",\"ERROR_DS_INVALID_NAME_FOR_SPN\"},\n\t{8555,\"A Filter was passed that uses constructed attributes.\",\"ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS\"},\n\t{8556,\"The unicodePwd attribute value must be enclosed in double quotes.\",\"ERROR_DS_UNICODEPWD_NOT_IN_QUOTES\"},\n\t{8557,\"Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased.\",\"ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED\"},\n\t{8558,\"For security reasons, the operation must be run on the destination DC.\",\"ERROR_DS_MUST_BE_RUN_ON_DST_DC\"},\n\t{8559,\"For security reasons, the source DC must be NT4SP4 or greater.\",\"ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER\"},\n\t{8560,\"Critical Directory Service System objects cannot be deleted during tree delete operations. The tree delete may have been partially performed.\",\"ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ\"},\n\t{8561,\"Directory Services could not start because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.\",\"ERROR_DS_INIT_FAILURE_CONSOLE\"},\n\t{8562,\"Security Accounts Manager initialization failed because of the following error: %1. Error Status: 0x%2. Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.\",\"ERROR_DS_SAM_INIT_FAILURE_CONSOLE\"},\n\t{8563,\"The version of the operating system installed is incompatible with the current forest functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this forest.\",\"ERROR_DS_FOREST_VERSION_TOO_HIGH\"},\n\t{8564,\"The version of the operating system installed is incompatible with the current domain functional level. You must upgrade to a new version of the operating system before this server can become a domain controller in this domain.\",\"ERROR_DS_DOMAIN_VERSION_TOO_HIGH\"},\n\t{8565,\"This version of the operating system installed on this server no longer supports the current forest functional level. You must raise the forest functional level before this server can become a domain controller in this forest.\",\"ERROR_DS_FOREST_VERSION_TOO_LOW\"},\n\t{8566,\"This version of the operating system installed on this server no longer supports the current domain functional level. You must raise the domain functional level before this server can become a domain controller in this domain.\",\"ERROR_DS_DOMAIN_VERSION_TOO_LOW\"},\n\t{8567,\"The version of the operating system installed on this server is incompatible with the functional level of the domain or forest.\",\"ERROR_DS_INCOMPATIBLE_VERSION\"},\n\t{8568,\"The functional level of the domain (or forest) cannot be raised to the requested value, because there exist one or more domain controllers in the domain (or forest) that are at a lower incompatible functional level.\",\"ERROR_DS_LOW_DSA_VERSION\"},\n\t{8569,\"The forest functional level cannot be raised to the requested level since one or more domains are still in mixed domain mode. All domains in the forest must be in native mode before you can raise the forest functional level.\",\"ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN\"},\n\t{8570,\"The sort order requested is not supported.\",\"ERROR_DS_NOT_SUPPORTED_SORT_ORDER\"},\n\t{8571,\"The requested name already exists as a unique identifier.\",\"ERROR_DS_NAME_NOT_UNIQUE\"},\n\t{8572,\"The machine account was created pre-NT4. The account needs to be recreated.\",\"ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4\"},\n\t{8573,\"The database is out of version store.\",\"ERROR_DS_OUT_OF_VERSION_STORE\"},\n\t{8574,\"Unable to continue operation because multiple conflicting controls were used.\",\"ERROR_DS_INCOMPATIBLE_CONTROLS_USED\"},\n\t{8575,\"Unable to find a valid security descriptor reference domain for this partition.\",\"ERROR_DS_NO_REF_DOMAIN\"},\n\t{8576,\"Schema update failed: The link identifier is reserved.\",\"ERROR_DS_RESERVED_LINK_ID\"},\n\t{8577,\"Schema update failed: There are no link identifiers available.\",\"ERROR_DS_LINK_ID_NOT_AVAILABLE\"},\n\t{8578,\"An account group cannot have a universal group as a member.\",\"ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER\"},\n\t{8579,\"Rename or move operations on naming context heads or read-only objects are not allowed.\",\"ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE\"},\n\t{8580,\"Move operations on objects in the schema naming context are not allowed.\",\"ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC\"},\n\t{8581,\"A system flag has been set on the object and does not allow the object to be moved or renamed.\",\"ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG\"},\n\t{8582,\"This object is not allowed to change its grandparent container. Moves are not forbidden on this object, but are restricted to sibling containers.\",\"ERROR_DS_MODIFYDN_WRONG_GRANDPARENT\"},\n\t{8583,\"Unable to resolve completely, a referral to another forest is generated.\",\"ERROR_DS_NAME_ERROR_TRUST_REFERRAL\"},\n\t{8584,\"The requested action is not supported on standard server.\",\"ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER\"},\n\t{8585,\"Could not access a partition of the Active Directory located on a remote server. Make sure at least one server is running for the partition in question.\",\"ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD\"},\n\t{8586,\"The directory cannot validate the proposed naming context (or partition) name because it does not hold a replica nor can it contact a replica of the naming context above the proposed naming context. Please ensure that the parent naming context is properly registered in DNS, and at least one replica of this naming context is reachable by the Domain Naming master.\",\"ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2\"},\n\t{8587,\"The thread limit for this request was exceeded.\",\"ERROR_DS_THREAD_LIMIT_EXCEEDED\"},\n\t{8588,\"The Global catalog server is not in the closet site.\",\"ERROR_DS_NOT_CLOSEST\"},\n\t{8589,\"The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the corresponding server object in the local DS database has no serverReference attribute.\",\"ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF\"},\n\t{8590,\"The Directory Service failed to enter single user mode.\",\"ERROR_DS_SINGLE_USER_MODE_FAILED\"},\n\t{8591,\"The Directory Service cannot parse the script because of a syntax error.\",\"ERROR_DS_NTDSCRIPT_SYNTAX_ERROR\"},\n\t{8592,\"The Directory Service cannot process the script because of an error.\",\"ERROR_DS_NTDSCRIPT_PROCESS_ERROR\"},\n\t{8593,\"The directory service cannot perform the requested operation because the servers involved are of different replication epochs (which is usually related to a domain rename that is in progress).\",\"ERROR_DS_DIFFERENT_REPL_EPOCHS\"},\n\t{8594,\"The directory service binding must be renegotiated due to a change in the server extensions information.\",\"ERROR_DS_DRS_EXTENSIONS_CHANGED\"},\n\t{8595,\"Operation not allowed on a disabled cross ref.\",\"ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR\"},\n\t{8596,\"Schema update failed: No values for msDS-IntId are available.\",\"ERROR_DS_NO_MSDS_INTID\"},\n\t{8597,\"Schema update failed: Duplicate msDS-IntId. Retry the operation.\",\"ERROR_DS_DUP_MSDS_INTID\"},\n\t{8598,\"Schema deletion failed: attribute is used in rDNAttID.\",\"ERROR_DS_EXISTS_IN_RDNATTID\"},\n\t{8599,\"The directory service failed to authorize the request.\",\"ERROR_DS_AUTHORIZATION_FAILED\"},\n\t{8600,\"The Directory Service cannot process the script because it is invalid.\",\"ERROR_DS_INVALID_SCRIPT\"},\n\t{8601,\"The remote create cross reference operation failed on the Domain Naming Master FSMO. The operation's error is in the extended data.\",\"ERROR_DS_REMOTE_CROSSREF_OP_FAILED\"},\n\t{8602,\"A cross reference is in use locally with the same name.\",\"ERROR_DS_CROSS_REF_BUSY\"},\n\t{8603,\"The DS cannot derive a service principal name (SPN) with which to mutually authenticate the target server because the server's domain has been deleted from the forest.\",\"ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN\"},\n\t{8604,\"Writeable NCs prevent this DC from demoting.\",\"ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC\"},\n\t{8605,\"The requested object has a non-unique identifier and cannot be retrieved.\",\"ERROR_DS_DUPLICATE_ID_FOUND\"},\n\t{8606,\"Insufficient attributes were given to create an object. This object may not exist because it may have been deleted and already garbage collected.\",\"ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT\"},\n\t{8607,\"The group cannot be converted due to attribute restrictions on the requested group type.\",\"ERROR_DS_GROUP_CONVERSION_ERROR\"},\n\t{8608,\"Cross-domain move of non-empty basic application groups is not allowed.\",\"ERROR_DS_CANT_MOVE_APP_BASIC_GROUP\"},\n\t{8609,\"Cross-domain move on non-empty query based application groups is not allowed.\",\"ERROR_DS_CANT_MOVE_APP_QUERY_GROUP\"},\n\t{8610,\"The role owner could not be verified because replication of its partition has not occurred recently.\",\"ERROR_DS_ROLE_NOT_VERIFIED\"},\n\t{8611,\"The target container for a redirection of a well-known object container cannot already be a special container.\",\"ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL\"},\n\t{8612,\"The Directory Service cannot perform the requested operation because a domain rename operation is in progress.\",\"ERROR_DS_DOMAIN_RENAME_IN_PROGRESS\"},\n\t{8613,\"The Active Directory detected an Active Directory child partition below the requested new partition name. The Active Directory's partition hierarchy must be created in a top-down method.\",\"ERROR_DS_EXISTING_AD_CHILD_NC\"},\n\t{8614,\"The Active Directory cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime.\",\"ERROR_DS_REPL_LIFETIME_EXCEEDED\"},\n\t{8615,\"The requested operation is not allowed on an object under the system container.\",\"ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER\"},\n\t{8616,\"The LDAP servers network send queue has filled up because the client is not processing the results of it's requests fast enough. No more requests will be processed until the client catches up. If the client does not catch up then it will be disconnected.\",\"ERROR_DS_LDAP_SEND_QUEUE_FULL\"},\n\t{8617,\"The scheduled replication did not take place because the system was too busy to execute the request within the schedule window. The replication queue is overloaded. Consider reducing the number of partners or decreasing the scheduled replication frequency.\",\"ERROR_DS_DRA_OUT_SCHEDULE_WINDOW\"},\n\t{9001,\"DNS server unable to interpret format.\",\"DNS_ERROR_RCODE_FORMAT_ERROR\"},\n\t{9002,\"DNS server failure.\",\"DNS_ERROR_RCODE_SERVER_FAILURE\"},\n\t{9003,\"DNS name does not exist.\",\"DNS_ERROR_RCODE_NAME_ERROR\"},\n\t{9004,\"DNS request not supported by name server.\",\"DNS_ERROR_RCODE_NOT_IMPLEMENTED\"},\n\t{9005,\"DNS operation refused.\",\"DNS_ERROR_RCODE_REFUSED\"},\n\t{9006,\"DNS name that ought not exist, does exist.\",\"DNS_ERROR_RCODE_YXDOMAIN\"},\n\t{9007,\"DNS RR set that ought not exist, does exist.\",\"DNS_ERROR_RCODE_YXRRSET\"},\n\t{9008,\"DNS RR set that ought to exist, does not exist.\",\"DNS_ERROR_RCODE_NXRRSET\"},\n\t{9009,\"DNS server not authoritative for zone.\",\"DNS_ERROR_RCODE_NOTAUTH\"},\n\t{9010,\"DNS name in update or prereq is not in zone.\",\"DNS_ERROR_RCODE_NOTZONE\"},\n\t{9016,\"DNS signature failed to verify.\",\"DNS_ERROR_RCODE_BADSIG\"},\n\t{9017,\"DNS bad key.\",\"DNS_ERROR_RCODE_BADKEY\"},\n\t{9018,\"DNS signature validity expired.\",\"DNS_ERROR_RCODE_BADTIME\"},\n\t{9501,\"No records found for given DNS query.\",\"DNS_INFO_NO_RECORDS\"},\n\t{9502,\"Bad DNS packet.\",\"DNS_ERROR_BAD_PACKET\"},\n\t{9503,\"No DNS packet.\",\"DNS_ERROR_NO_PACKET\"},\n\t{9504,\"DNS error, check rcode.\",\"DNS_ERROR_RCODE\"},\n\t{9505,\"Unsecured DNS packet.\",\"DNS_ERROR_UNSECURE_PACKET\"},\n\t{9551,\"Invalid DNS type.\",\"DNS_ERROR_INVALID_TYPE\"},\n\t{9552,\"Invalid IP address.\",\"DNS_ERROR_INVALID_IP_ADDRESS\"},\n\t{9553,\"Invalid property.\",\"DNS_ERROR_INVALID_PROPERTY\"},\n\t{9554,\"Try DNS operation again later.\",\"DNS_ERROR_TRY_AGAIN_LATER\"},\n\t{9555,\"Record for given name and type is not unique.\",\"DNS_ERROR_NOT_UNIQUE\"},\n\t{9556,\"DNS name does not comply with RFC specifications.\",\"DNS_ERROR_NON_RFC_NAME\"},\n\t{9557,\"DNS name is a fully-qualified DNS name.\",\"DNS_STATUS_FQDN\"},\n\t{9558,\"DNS name is dotted (multi-label).\",\"DNS_STATUS_DOTTED_NAME\"},\n\t{9559,\"DNS name is a single-part name.\",\"DNS_STATUS_SINGLE_PART_NAME\"},\n\t{9560,\"DSN name contains an invalid character.\",\"DNS_ERROR_INVALID_NAME_CHAR\"},\n\t{9561,\"DNS name is entirely numeric.\",\"DNS_ERROR_NUMERIC_NAME\"},\n\t{9562,\"The operation requested is not permitted on a DNS root server.\",\"DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER\"},\n\t{9563,\"The record could not be created because this part of the DNS namespace has been delegated to another server.\",\"DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION\"},\n\t{9564,\"The DNS server could not find a set of root hints.\",\"DNS_ERROR_CANNOT_FIND_ROOT_HINTS\"},\n\t{9565,\"The DNS server found root hints but they were not consistent across all adapters.\",\"DNS_ERROR_INCONSISTENT_ROOT_HINTS\"},\n\t{9601,\"DNS zone does not exist.\",\"DNS_ERROR_ZONE_DOES_NOT_EXIST\"},\n\t{9602,\"DNS zone information not available.\",\"DNS_ERROR_NO_ZONE_INFO\"},\n\t{9603,\"Invalid operation for DNS zone.\",\"DNS_ERROR_INVALID_ZONE_OPERATION\"},\n\t{9604,\"Invalid DNS zone configuration.\",\"DNS_ERROR_ZONE_CONFIGURATION_ERROR\"},\n\t{9605,\"DNS zone has no start of authority (SOA) record.\",\"DNS_ERROR_ZONE_HAS_NO_SOA_RECORD\"},\n\t{9606,\"DNS zone has no name server (NS) record.\",\"DNS_ERROR_ZONE_HAS_NO_NS_RECORDS\"},\n\t{9607,\"DNS zone is locked.\",\"DNS_ERROR_ZONE_LOCKED\"},\n\t{9608,\"DNS zone creation failed.\",\"DNS_ERROR_ZONE_CREATION_FAILED\"},\n\t{9609,\"DNS zone already exists.\",\"DNS_ERROR_ZONE_ALREADY_EXISTS\"},\n\t{9610,\"DNS automatic zone already exists.\",\"DNS_ERROR_AUTOZONE_ALREADY_EXISTS\"},\n\t{9611,\"Invalid DNS zone type.\",\"DNS_ERROR_INVALID_ZONE_TYPE\"},\n\t{9612,\"Secondary DNS zone requires master IP address.\",\"DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP\"},\n\t{9613,\"DNS zone not secondary.\",\"DNS_ERROR_ZONE_NOT_SECONDARY\"},\n\t{9614,\"Need secondary IP address.\",\"DNS_ERROR_NEED_SECONDARY_ADDRESSES\"},\n\t{9615,\"WINS initialization failed.\",\"DNS_ERROR_WINS_INIT_FAILED\"},\n\t{9616,\"Need WINS servers.\",\"DNS_ERROR_NEED_WINS_SERVERS\"},\n\t{9617,\"NBTSTAT initialization call failed.\",\"DNS_ERROR_NBSTAT_INIT_FAILED\"},\n\t{9618,\"Invalid delete of start of authority (SOA)\",\"DNS_ERROR_SOA_DELETE_INVALID\"},\n\t{9619,\"A conditional forwarding zone already exists for that name.\",\"DNS_ERROR_FORWARDER_ALREADY_EXISTS\"},\n\t{9620,\"This zone must be configured with one or more master DNS server IP addresses.\",\"DNS_ERROR_ZONE_REQUIRES_MASTER_IP\"},\n\t{9621,\"The operation cannot be performed because this zone is shutdown.\",\"DNS_ERROR_ZONE_IS_SHUTDOWN\"},\n\t{9651,\"Primary DNS zone requires datafile.\",\"DNS_ERROR_PRIMARY_REQUIRES_DATAFILE\"},\n\t{9652,\"Invalid datafile name for DNS zone.\",\"DNS_ERROR_INVALID_DATAFILE_NAME\"},\n\t{9653,\"Failed to open datafile for DNS zone.\",\"DNS_ERROR_DATAFILE_OPEN_FAILURE\"},\n\t{9654,\"Failed to write datafile for DNS zone.\",\"DNS_ERROR_FILE_WRITEBACK_FAILED\"},\n\t{9655,\"Failure while reading datafile for DNS zone.\",\"DNS_ERROR_DATAFILE_PARSING\"},\n\t{9701,\"DNS record does not exist.\",\"DNS_ERROR_RECORD_DOES_NOT_EXIST\"},\n\t{9702,\"DNS record format error.\",\"DNS_ERROR_RECORD_FORMAT\"},\n\t{9703,\"Node creation failure in DNS.\",\"DNS_ERROR_NODE_CREATION_FAILED\"},\n\t{9704,\"Unknown DNS record type.\",\"DNS_ERROR_UNKNOWN_RECORD_TYPE\"},\n\t{9705,\"DNS record timed out.\",\"DNS_ERROR_RECORD_TIMED_OUT\"},\n\t{9706,\"Name not in DNS zone.\",\"DNS_ERROR_NAME_NOT_IN_ZONE\"},\n\t{9707,\"CNAME loop detected.\",\"DNS_ERROR_CNAME_LOOP\"},\n\t{9708,\"Node is a CNAME DNS record.\",\"DNS_ERROR_NODE_IS_CNAME\"},\n\t{9709,\"A CNAME record already exists for given name.\",\"DNS_ERROR_CNAME_COLLISION\"},\n\t{9710,\"Record only at DNS zone root.\",\"DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT\"},\n\t{9711,\"DNS record already exists.\",\"DNS_ERROR_RECORD_ALREADY_EXISTS\"},\n\t{9712,\"Secondary DNS zone data error.\",\"DNS_ERROR_SECONDARY_DATA\"},\n\t{9713,\"Could not create DNS cache data.\",\"DNS_ERROR_NO_CREATE_CACHE_DATA\"},\n\t{9714,\"DNS name does not exist.\",\"DNS_ERROR_NAME_DOES_NOT_EXIST\"},\n\t{9715,\"Could not create pointer (PTR) record.\",\"DNS_WARNING_PTR_CREATE_FAILED\"},\n\t{9716,\"DNS domain was undeleted.\",\"DNS_WARNING_DOMAIN_UNDELETED\"},\n\t{9717,\"The directory service is unavailable.\",\"DNS_ERROR_DS_UNAVAILABLE\"},\n\t{9718,\"DNS zone already exists in the directory service.\",\"DNS_ERROR_DS_ZONE_ALREADY_EXISTS\"},\n\t{9719,\"DNS server not creating or reading the boot file for the directory service integrated DNS zone.\",\"DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE\"},\n\t{9751,\"DNS AXFR (zone transfer) complete.\",\"DNS_INFO_AXFR_COMPLETE\"},\n\t{9752,\"DNS zone transfer failed.\",\"DNS_ERROR_AXFR\"},\n\t{9753,\"Added local WINS server.\",\"DNS_INFO_ADDED_LOCAL_WINS\"},\n\t{9801,\"Secure update call needs to continue update request.\",\"DNS_STATUS_CONTINUE_NEEDED\"},\n\t{9851,\"TCP/IP network protocol not installed.\",\"DNS_ERROR_NO_TCPIP\"},\n\t{9852,\"No DNS servers configured for local system.\",\"DNS_ERROR_NO_DNS_SERVERS\"},\n\t{9901,\"The specified directory partition does not exist.\",\"DNS_ERROR_DP_DOES_NOT_EXIST\"},\n\t{9902,\"The specified directory partition already exists.\",\"DNS_ERROR_DP_ALREADY_EXISTS\"},\n\t{9903,\"The DNS server is not enlisted in the specified directory partition.\",\"DNS_ERROR_DP_NOT_ENLISTED\"},\n\t{9904,\"The DNS server is already enlisted in the specified directory partition.\",\"DNS_ERROR_DP_ALREADY_ENLISTED\"},\n\t{9905,\"The directory partition is not available at this time. Please wait a few minutes and try again.\",\"DNS_ERROR_DP_NOT_AVAILABLE\"},\n\t{9906,\"The application directory partition operation failed. The domain controller holding the domain naming master role is down or unable to service the request or is not running Windows Server 2003.\",\"DNS_ERROR_DP_FSMO_ERROR\"},\n\t{10004,\"A blocking operation was interrupted by a call to WSACancelBlockingCall.\",\"WSAEINTR\"},\n\t{10009,\"The file handle supplied is not valid.\",\"WSAEBADF\"},\n\t{10013,\"An attempt was made to access a socket in a way forbidden by its access permissions.\",\"WSAEACCES\"},\n\t{10014,\"The system detected an invalid pointer address in attempting to use a pointer argument in a call.\",\"WSAEFAULT\"},\n\t{10022,\"An invalid argument was supplied.\",\"WSAEINVAL\"},\n\t{10024,\"Too many open sockets.\",\"WSAEMFILE\"},\n\t{10035,\"A non-blocking socket operation could not be completed immediately.\",\"WSAEWOULDBLOCK\"},\n\t{10036,\"A blocking operation is currently executing.\",\"WSAEINPROGRESS\"},\n\t{10037,\"An operation was attempted on a non-blocking socket that already had an operation in progress.\",\"WSAEALREADY\"},\n\t{10038,\"An operation was attempted on something that is not a socket.\",\"WSAENOTSOCK\"},\n\t{10039,\"A required address was omitted from an operation on a socket.\",\"WSAEDESTADDRREQ\"},\n\t{10040,\"A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself.\",\"WSAEMSGSIZE\"},\n\t{10041,\"A protocol was specified in the socket function call that does not support the semantics of the socket type requested.\",\"WSAEPROTOTYPE\"},\n\t{10042,\"An unknown, invalid, or unsupported option or level was specified in a getsockopt or setsockopt call.\",\"WSAENOPROTOOPT\"},\n\t{10043,\"The requested protocol has not been configured into the system, or no implementation for it exists.\",\"WSAEPROTONOSUPPORT\"},\n\t{10044,\"The support for the specified socket type does not exist in this address family.\",\"WSAESOCKTNOSUPPORT\"},\n\t{10045,\"The attempted operation is not supported for the type of object referenced.\",\"WSAEOPNOTSUPP\"},\n\t{10046,\"The protocol family has not been configured into the system or no implementation for it exists.\",\"WSAEPFNOSUPPORT\"},\n\t{10047,\"An address incompatible with the requested protocol was used.\",\"WSAEAFNOSUPPORT\"},\n\t{10048,\"Only one usage of each socket address (protocol/network address/port) is normally permitted.\",\"WSAEADDRINUSE\"},\n\t{10049,\"The requested address is not valid in its context.\",\"WSAEADDRNOTAVAIL\"},\n\t{10050,\"A socket operation encountered a dead network.\",\"WSAENETDOWN\"},\n\t{10051,\"A socket operation was attempted to an unreachable network.\",\"WSAENETUNREACH\"},\n\t{10052,\"The connection has been broken due to keep-alive activity detecting a failure while the operation was in progress.\",\"WSAENETRESET\"},\n\t{10053,\"An established connection was aborted by the software in your host machine.\",\"WSAECONNABORTED\"},\n\t{10054,\"An existing connection was forcibly closed by the remote host.\",\"WSAECONNRESET\"},\n\t{10055,\"An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full.\",\"WSAENOBUFS\"},\n\t{10056,\"A connect request was made on an already connected socket.\",\"WSAEISCONN\"},\n\t{10057,\"A request to send or receive data was disallowed because the socket is not connected and (when sending on a datagram socket using a sendto call) no address was supplied.\",\"WSAENOTCONN\"},\n\t{10058,\"A request to send or receive data was disallowed because the socket had already been shut down in that direction with a previous shutdown call.\",\"WSAESHUTDOWN\"},\n\t{10059,\"Too many references to some kernel object.\",\"WSAETOOMANYREFS\"},\n\t{10060,\"A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.\",\"WSAETIMEDOUT\"},\n\t{10061,\"No connection could be made because the target machine actively refused it.\",\"WSAECONNREFUSED\"},\n\t{10062,\"Cannot translate name.\",\"WSAELOOP\"},\n\t{10063,\"Name component or name was too long.\",\"WSAENAMETOOLONG\"},\n\t{10064,\"A socket operation failed because the destination host was down.\",\"WSAEHOSTDOWN\"},\n\t{10065,\"A socket operation was attempted to an unreachable host.\",\"WSAEHOSTUNREACH\"},\n\t{10066,\"Cannot remove a directory that is not empty.\",\"WSAENOTEMPTY\"},\n\t{10067,\"A Windows Sockets implementation may have a limit on the number of applications that may use it simultaneously.\",\"WSAEPROCLIM\"},\n\t{10068,\"Ran out of quota.\",\"WSAEUSERS\"},\n\t{10069,\"Ran out of disk quota.\",\"WSAEDQUOT\"},\n\t{10070,\"File handle reference is no longer available.\",\"WSAESTALE\"},\n\t{10071,\"Item is not available locally.\",\"WSAEREMOTE\"},\n\t{10091,\"WSAStartup cannot function at this time because the underlying system it uses to provide network services is currently unavailable.\",\"WSASYSNOTREADY\"},\n\t{10092,\"The Windows Sockets version requested is not supported.\",\"WSAVERNOTSUPPORTED\"},\n\t{10093,\"Either the application has not called WSAStartup, or WSAStartup failed.\",\"WSANOTINITIALISED\"},\n\t{10101,\"Returned by WSARecv or WSARecvFrom to indicate the remote party has initiated a graceful shutdown sequence.\",\"WSAEDISCON\"},\n\t{10102,\"No more results can be returned by WSALookupServiceNext.\",\"WSAENOMORE\"},\n\t{10103,\"A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.\",\"WSAECANCELLED\"},\n\t{10104,\"The procedure call table is invalid.\",\"WSAEINVALIDPROCTABLE\"},\n\t{10105,\"The requested service provider is invalid.\",\"WSAEINVALIDPROVIDER\"},\n\t{10106,\"The requested service provider could not be loaded or initialized.\",\"WSAEPROVIDERFAILEDINIT\"},\n\t{10107,\"A system call that should never fail has failed.\",\"WSASYSCALLFAILURE\"},\n\t{10108,\"No such service is known. The service cannot be found in the specified name space.\",\"WSASERVICE_NOT_FOUND\"},\n\t{10109,\"The specified class was not found.\",\"WSATYPE_NOT_FOUND\"},\n\t{10110,\"No more results can be returned by WSALookupServiceNext.\",\"WSA_E_NO_MORE\"},\n\t{10111,\"A call to WSALookupServiceEnd was made while this call was still processing. The call has been canceled.\",\"WSA_E_CANCELLED\"},\n\t{10112,\"A database query failed because it was actively refused.\",\"WSAEREFUSED\"},\n\t{11001,\"No such host is known.\",\"WSAHOST_NOT_FOUND\"},\n\t{11002,\"This is usually a temporary error during hostname resolution and means that the local server did not receive a response from an authoritative server.\",\"WSATRY_AGAIN\"},\n\t{11003,\"A non-recoverable error occurred during a database lookup.\",\"WSANO_RECOVERY\"},\n\t{11004,\"The requested name is valid, but no data of the requested type was found.\",\"WSANO_DATA\"},\n\t{11005,\"At least one reserve has arrived.\",\"WSA_QOS_RECEIVERS\"},\n\t{11006,\"At least one path has arrived.\",\"WSA_QOS_SENDERS\"},\n\t{11007,\"There are no senders.\",\"WSA_QOS_NO_SENDERS\"},\n\t{11008,\"There are no receivers.\",\"WSA_QOS_NO_RECEIVERS\"},\n\t{11009,\"Reserve has been confirmed.\",\"WSA_QOS_REQUEST_CONFIRMED\"},\n\t{11010,\"Error due to lack of resources.\",\"WSA_QOS_ADMISSION_FAILURE\"},\n\t{11011,\"Rejected for administrative reasons - bad credentials.\",\"WSA_QOS_POLICY_FAILURE\"},\n\t{11012,\"Unknown or conflicting style.\",\"WSA_QOS_BAD_STYLE\"},\n\t{11013,\"Problem with some part of the filterspec or providerspecific buffer in general.\",\"WSA_QOS_BAD_OBJECT\"},\n\t{11014,\"Problem with some part of the flowspec.\",\"WSA_QOS_TRAFFIC_CTRL_ERROR\"},\n\t{11015,\"General QOS error.\",\"WSA_QOS_GENERIC_ERROR\"},\n\t{11016,\"An invalid or unrecognized service type was found in the flowspec.\",\"WSA_QOS_ESERVICETYPE\"},\n\t{11017,\"An invalid or inconsistent flowspec was found in the QOS structure.\",\"WSA_QOS_EFLOWSPEC\"},\n\t{11018,\"Invalid QOS provider-specific buffer.\",\"WSA_QOS_EPROVSPECBUF\"},\n\t{11019,\"An invalid QOS filter style was used.\",\"WSA_QOS_EFILTERSTYLE\"},\n\t{11020,\"An invalid QOS filter type was used.\",\"WSA_QOS_EFILTERTYPE\"},\n\t{11021,\"An incorrect number of QOS FILTERSPECs were specified in the FLOWDESCRIPTOR.\",\"WSA_QOS_EFILTERCOUNT\"},\n\t{11022,\"An object with an invalid ObjectLength field was specified in the QOS provider-specific buffer.\",\"WSA_QOS_EOBJLENGTH\"},\n\t{11023,\"An incorrect number of flow descriptors was specified in the QOS structure.\",\"WSA_QOS_EFLOWCOUNT\"},\n\t{11024,\"An unrecognized object was found in the QOS provider-specific buffer.\",\"WSA_QOS_EUNKNOWNPSOBJ\"},\n\t{11025,\"An invalid policy object was found in the QOS provider-specific buffer.\",\"WSA_QOS_EPOLICYOBJ\"},\n\t{11026,\"An invalid QOS flow descriptor was found in the flow descriptor list.\",\"WSA_QOS_EFLOWDESC\"},\n\t{11027,\"An invalid or inconsistent flowspec was found in the QOS provider-specific buffer.\",\"WSA_QOS_EPSFLOWSPEC\"},\n\t{11028,\"An invalid FILTERSPEC was found in the QOS provider-specific buffer.\",\"WSA_QOS_EPSFILTERSPEC\"},\n\t{11029,\"An invalid shape discard mode object was found in the QOS provider-specific buffer.\",\"WSA_QOS_ESDMODEOBJ\"},\n\t{11030,\"An invalid shaping rate object was found in the QOS provider-specific buffer.\",\"WSA_QOS_ESHAPERATEOBJ\"},\n\t{11031,\"A reserved policy element was found in the QOS provider-specific buffer.\",\"WSA_QOS_RESERVED_PETYPE\"},\n\t{12000,\"The IO was completed by a filter.\",\"ERROR_FLT_IO_COMPLETE\"},\n\t{12001,\"The buffer is too small to contain the entry. No information has been written to the buffer.\",\"ERROR_FLT_BUFFER_TOO_SMALL\"},\n\t{12002,\"A handler was not defined by the filter for this operation.\",\"ERROR_FLT_NO_HANDLER_DEFINED\"},\n\t{12003,\"A context is already defined for this object.\",\"ERROR_FLT_CONTEXT_ALREADY_DEFINED\"},\n\t{12004,\"Asynchronous requests are not valid for this operation.\",\"ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST\"},\n\t{12005,\"Disallow the Fast IO path for this operation.\",\"ERROR_FLT_DISALLOW_FAST_IO\"},\n\t{12006,\"An invalid name request was made. The name requested cannot be retrieved at this time.\",\"ERROR_FLT_INVALID_NAME_REQUEST\"},\n\t{12007,\"Posting this operation to a worker thread for further processing is not safe at this time because it could lead to a system deadlock. \",\"ERROR_FLT_NOT_SAFE_TO_POST_OPERATION\"},\n\t{12008,\"The Filter Manager was not initialized when a filter tried to register. Make sure that the Filter Manager is getting loaded as a driver. \",\"ERROR_FLT_NOT_INITIALIZED\"},\n\t{12009,\"The filter is not ready for attachment to volumes because it has not finished initializing (FltStartFiltering has not been called). \",\"ERROR_FLT_FILTER_NOT_READY\"},\n\t{12010,\"The filter must cleanup any operation specific context at this time because it is being removed from the system before the operation is completed by the lower drivers. \",\"ERROR_FLT_POST_OPERATION_CLEANUP\"},\n\t{12011,\"The Filter Manager had an internal error from which it cannot recover, therefore the operation has been failed. This is usually the result of a filter returning an invalid value from a pre-operation callback.\",\"ERROR_FLT_INTERNAL_ERROR\"},\n\t{12012,\"The object specified for this action is in the process of being deleted, therefore the action requested cannot be completed at this time.\",\"ERROR_FLT_DELETING_OBJECT\"},\n\t{12013,\"Non-paged pool must be used for this type of context.\",\"ERROR_FLT_MUST_BE_NONPAGED_POOL\"},\n\t{12014,\"A duplicate handler definition has been provided for an operation.\",\"ERROR_FLT_DUPLICATE_ENTRY\"},\n\t{12015,\"The callback data queue has been disabled.\",\"ERROR_FLT_CBDQ_DISABLED\"},\n\t{12016,\"Do not attach the filter to the volume at this time.\",\"ERROR_FLT_DO_NOT_ATTACH\"},\n\t{12017,\"Do not detach the filter from the volume at this time.\",\"ERROR_FLT_DO_NOT_DETACH\"},\n\t{12018,\"An instance already exists at this altitude on the volume specified.\",\"ERROR_FLT_INSTANCE_ALTITUDE_COLLISION\"},\n\t{12019,\"An instance already exists with this name on the volume specified.\",\"ERROR_FLT_INSTANCE_NAME_COLLISION\"},\n\t{12020,\"The system could not find the filter specified.\",\"ERROR_FLT_FILTER_NOT_FOUND\"},\n\t{12021,\"The system could not find the volume specified.\",\"ERROR_FLT_VOLUME_NOT_FOUND\"},\n\t{12022,\"The system could not find the instance specified.\",\"ERROR_FLT_INSTANCE_NOT_FOUND\"},\n\t{12023,\"No registered context allocation definition was found for the given request.\",\"ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND\"},\n\t{12024,\"An invalid parameter was specified during context registration.\",\"ERROR_FLT_INVALID_CONTEXT_REGISTRATION\"},\n\t{12025,\"The name requested was not found in Filter Manager's name cache and could not be retrieved from the file system.\",\"ERROR_FLT_NAME_CACHE_MISS\"},\n\t{12026,\"The requested device object does not exist for the given volume.\",\"ERROR_FLT_NO_DEVICE_OBJECT\"},\n\t{12027,\"The specified volume is already mounted.\",\"ERROR_FLT_VOLUME_ALREADY_MOUNTED\"},\n\t{12028,\"No waiter is present for the filter's reply to this message.\",\"ERROR_FLT_NO_WAITER_FOR_REPLY\"},\n\t{13000,\"The specified quick mode policy already exists.\",\"ERROR_IPSEC_QM_POLICY_EXISTS\"},\n\t{13001,\"The specified quick mode policy was not found.\",\"ERROR_IPSEC_QM_POLICY_NOT_FOUND\"},\n\t{13002,\"The specified quick mode policy is being used.\",\"ERROR_IPSEC_QM_POLICY_IN_USE\"},\n\t{13003,\"The specified main mode policy already exists.\",\"ERROR_IPSEC_MM_POLICY_EXISTS\"},\n\t{13004,\"The specified main mode policy was not found.\",\"ERROR_IPSEC_MM_POLICY_NOT_FOUND\"},\n\t{13005,\"The specified main mode policy is being used.\",\"ERROR_IPSEC_MM_POLICY_IN_USE\"},\n\t{13006,\"The specified main mode filter already exists.\",\"ERROR_IPSEC_MM_FILTER_EXISTS\"},\n\t{13007,\"The specified main mode filter was not found.\",\"ERROR_IPSEC_MM_FILTER_NOT_FOUND\"},\n\t{13008,\"The specified transport mode filter already exists.\",\"ERROR_IPSEC_TRANSPORT_FILTER_EXISTS\"},\n\t{13009,\"The specified transport mode filter does not exist.\",\"ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND\"},\n\t{13010,\"The specified main mode authentication list exists.\",\"ERROR_IPSEC_MM_AUTH_EXISTS\"},\n\t{13011,\"The specified main mode authentication list was not found.\",\"ERROR_IPSEC_MM_AUTH_NOT_FOUND\"},\n\t{13012,\"The specified quick mode policy is being used.\",\"ERROR_IPSEC_MM_AUTH_IN_USE\"},\n\t{13013,\"The specified main mode policy was not found.\",\"ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND\"},\n\t{13014,\"The specified quick mode policy was not found.\",\"ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND\"},\n\t{13015,\"The manifest file contains one or more syntax errors.\",\"ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND\"},\n\t{13016,\"The application attempted to activate a disabled activation context.\",\"ERROR_IPSEC_TUNNEL_FILTER_EXISTS\"},\n\t{13017,\"The requested lookup key was not found in any active activation context.\",\"ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND\"},\n\t{13018,\"The Main Mode filter is pending deletion.\",\"ERROR_IPSEC_MM_FILTER_PENDING_DELETION\"},\n\t{13019,\"The transport filter is pending deletion.\",\"ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION\"},\n\t{13020,\"The tunnel filter is pending deletion.\",\"ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION\"},\n\t{13021,\"The Main Mode policy is pending deletion.\",\"ERROR_IPSEC_MM_POLICY_PENDING_DELETION\"},\n\t{13022,\"The Main Mode authentication bundle is pending deletion.\",\"ERROR_IPSEC_MM_AUTH_PENDING_DELETION\"},\n\t{13023,\"The Quick Mode policy is pending deletion.\",\"ERROR_IPSEC_QM_POLICY_PENDING_DELETION\"},\n\t{13024,\"The Main Mode policy was successfully added, but some of the requested offers are not supported.\",\"WARNING_IPSEC_MM_POLICY_PRUNED\"},\n\t{13025,\"The Quick Mode policy was successfully added, but some of the requested offers are not supported.\",\"WARNING_IPSEC_QM_POLICY_PRUNED\"},\n\t{13801,\"IKE authentication credentials are unacceptable.\",\"ERROR_IPSEC_IKE_AUTH_FAIL\"},\n\t{13802,\"IKE security attributes are unacceptable.\",\"ERROR_IPSEC_IKE_ATTRIB_FAIL\"},\n\t{13803,\"IKE Negotiation in progress.\",\"ERROR_IPSEC_IKE_NEGOTIATION_PENDING\"},\n\t{13804,\"General processing error.\",\"ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR\"},\n\t{13805,\"Negotiation timed out.\",\"ERROR_IPSEC_IKE_TIMED_OUT\"},\n\t{13806,\"IKE failed to find valid machine certificate.\",\"ERROR_IPSEC_IKE_NO_CERT\"},\n\t{13807,\"IKE SA deleted by peer before establishment completed.\",\"ERROR_IPSEC_IKE_SA_DELETED\"},\n\t{13808,\"IKE SA deleted before establishment completed.\",\"ERROR_IPSEC_IKE_SA_REAPED\"},\n\t{13809,\"Negotiation request sat in Queue too long.\",\"ERROR_IPSEC_IKE_MM_ACQUIRE_DROP\"},\n\t{13810,\"Negotiation request sat in Queue too long.\",\"ERROR_IPSEC_IKE_QM_ACQUIRE_DROP\"},\n\t{13811,\"Negotiation request sat in Queue too long.\",\"ERROR_IPSEC_IKE_QUEUE_DROP_MM\"},\n\t{13812,\"Negotiation request sat in Queue too long.\",\"ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM\"},\n\t{13813,\"No response from peer.\",\"ERROR_IPSEC_IKE_DROP_NO_RESPONSE\"},\n\t{13814,\"Negotiation took too long.\",\"ERROR_IPSEC_IKE_MM_DELAY_DROP\"},\n\t{13815,\"Negotiation took too long.\",\"ERROR_IPSEC_IKE_QM_DELAY_DROP\"},\n\t{13816,\"Unknown error occurred.\",\"ERROR_IPSEC_IKE_ERROR\"},\n\t{13817,\"Certificate Revocation Check failed.\",\"ERROR_IPSEC_IKE_CRL_FAILED\"},\n\t{13818,\"Invalid certificate key usage.\",\"ERROR_IPSEC_IKE_INVALID_KEY_USAGE\"},\n\t{13819,\"Invalid certificate type.\",\"ERROR_IPSEC_IKE_INVALID_CERT_TYPE\"},\n\t{13820,\"No private key associated with machine certificate.\",\"ERROR_IPSEC_IKE_NO_PRIVATE_KEY\"},\n\t{13822,\"Failure in Diffie-Hellman computation.\",\"ERROR_IPSEC_IKE_DH_FAIL\"},\n\t{13824,\"Invalid header.\",\"ERROR_IPSEC_IKE_INVALID_HEADER\"},\n\t{13825,\"No policy configured.\",\"ERROR_IPSEC_IKE_NO_POLICY\"},\n\t{13826,\"Failed to verify signature.\",\"ERROR_IPSEC_IKE_INVALID_SIGNATURE\"},\n\t{13827,\"Failed to authenticate using Kerberos.\",\"ERROR_IPSEC_IKE_KERBEROS_ERROR\"},\n\t{13828,\"Peer's certificate did not have a public key.\",\"ERROR_IPSEC_IKE_NO_PUBLIC_KEY\"},\n\t{13829,\"Error processing error payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR\"},\n\t{13830,\"Error processing SA payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_SA\"},\n\t{13831,\"Error processing Proposal payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_PROP\"},\n\t{13832,\"Error processing Transform payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_TRANS\"},\n\t{13833,\"Error processing KE payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_KE\"},\n\t{13834,\"Error processing ID payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_ID\"},\n\t{13835,\"Error processing Cert payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_CERT\"},\n\t{13836,\"Error processing Certificate Request payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ\"},\n\t{13837,\"Error processing Hash payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_HASH\"},\n\t{13838,\"Error processing Signature payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_SIG\"},\n\t{13839,\"Error processing Nonce payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_NONCE\"},\n\t{13840,\"Error processing Notify payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY\"},\n\t{13841,\"Error processing Delete Payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_DELETE\"},\n\t{13842,\"Error processing VendorId payload.\",\"ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR\"},\n\t{13843,\"Invalid payload received.\",\"ERROR_IPSEC_IKE_INVALID_PAYLOAD\"},\n\t{13844,\"Soft SA loaded.\",\"ERROR_IPSEC_IKE_LOAD_SOFT_SA\"},\n\t{13845,\"Soft SA torn down.\",\"ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN\"},\n\t{13846,\"Invalid cookie received..\",\"ERROR_IPSEC_IKE_INVALID_COOKIE\"},\n\t{13847,\"Peer failed to send valid machine certificate.\",\"ERROR_IPSEC_IKE_NO_PEER_CERT\"},\n\t{13848,\"Certification Revocation check of peer's certificate failed.\",\"ERROR_IPSEC_IKE_PEER_CRL_FAILED\"},\n\t{13849,\"New policy invalidated SAs formed with old policy.\",\"ERROR_IPSEC_IKE_POLICY_CHANGE\"},\n\t{13850,\"There is no available Main Mode IKE policy.\",\"ERROR_IPSEC_IKE_NO_MM_POLICY\"},\n\t{13851,\"Failed to enabled TCB privilege.\",\"ERROR_IPSEC_IKE_NOTCBPRIV\"},\n\t{13852,\"Failed to load SECURITY.DLL.\",\"ERROR_IPSEC_IKE_SECLOADFAIL\"},\n\t{13853,\"Failed to obtain security function table dispatch address from SSPI.\",\"ERROR_IPSEC_IKE_FAILSSPINIT\"},\n\t{13854,\"Failed to query Kerberos package to obtain max token size.\",\"ERROR_IPSEC_IKE_FAILQUERYSSP\"},\n\t{13855,\"Failed to obtain Kerberos server credentials for ISAKMP/ERROR_IPSEC_IKE service. Kerberos authentication will not function. The most likely reason for this is lack of domain membership. This is normal if your computer is a member of a workgroup.\",\"ERROR_IPSEC_IKE_SRVACQFAIL\"},\n\t{13856,\"Failed to determine SSPI principal name for ISAKMP/ERROR_IPSEC_IKE service (QueryCredentialsAttributes).\",\"ERROR_IPSEC_IKE_SRVQUERYCRED\"},\n\t{13857,\"Failed to obtain new SPI for the inbound SA from IPSec driver. The most common cause for this is that the driver does not have the correct filter. Check your policy to verify the filters.\",\"ERROR_IPSEC_IKE_GETSPIFAIL\"},\n\t{13858,\"Given filter is invalid.\",\"ERROR_IPSEC_IKE_INVALID_FILTER\"},\n\t{13859,\"Memory allocation failed.\",\"ERROR_IPSEC_IKE_OUT_OF_MEMORY\"},\n\t{13860,\"Failed to add Security Association to IPSec Driver. The most common cause for this is if the IKE negotiation took too long to complete. If the problem persists, reduce the load on the faulting machine.\",\"ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED\"},\n\t{13861,\"Invalid policy.\",\"ERROR_IPSEC_IKE_INVALID_POLICY\"},\n\t{13862,\"Invalid DOI.\",\"ERROR_IPSEC_IKE_UNKNOWN_DOI\"},\n\t{13863,\"Invalid situation.\",\"ERROR_IPSEC_IKE_INVALID_SITUATION\"},\n\t{13864,\"Diffie-Hellman failure.\",\"ERROR_IPSEC_IKE_DH_FAILURE\"},\n\t{13865,\"Invalid Diffie-Hellman group.\",\"ERROR_IPSEC_IKE_INVALID_GROUP\"},\n\t{13866,\"Error encrypting payload.\",\"ERROR_IPSEC_IKE_ENCRYPT\"},\n\t{13867,\"Error decrypting payload.\",\"ERROR_IPSEC_IKE_DECRYPT\"},\n\t{13868,\"Policy match error.\",\"ERROR_IPSEC_IKE_POLICY_MATCH\"},\n\t{13869,\"Unsupported ID.\",\"ERROR_IPSEC_IKE_UNSUPPORTED_ID\"},\n\t{13870,\"Hash verification failed.\",\"ERROR_IPSEC_IKE_INVALID_HASH\"},\n\t{13871,\"Invalid hash algorithm.\",\"ERROR_IPSEC_IKE_INVALID_HASH_ALG\"},\n\t{13872,\"Invalid hash size.\",\"ERROR_IPSEC_IKE_INVALID_HASH_SIZE\"},\n\t{13873,\"Invalid encryption algorithm.\",\"ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG\"},\n\t{13874,\"Invalid authentication algorithm.\",\"ERROR_IPSEC_IKE_INVALID_AUTH_ALG\"},\n\t{13875,\"Invalid certificate signature.\",\"ERROR_IPSEC_IKE_INVALID_SIG\"},\n\t{13876,\"Load failed.\",\"ERROR_IPSEC_IKE_LOAD_FAILED\"},\n\t{13877,\"Deleted via RPC call.\",\"ERROR_IPSEC_IKE_RPC_DELETE\"},\n\t{13878,\"Temporary state created to perform reinit. This is not a real failure.\",\"ERROR_IPSEC_IKE_BENIGN_REINIT\"},\n\t{13879,\"The lifetime value received in the Responder Lifetime Notify is below the Windows 2000 configured minimum value. Please fix the policy on the peer machine.\",\"ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY\"},\n\t{13881,\"Key length in certificate is too small for configured security requirements.\",\"ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN\"},\n\t{13882,\"Max number of established MM SAs to peer exceeded.\",\"ERROR_IPSEC_IKE_MM_LIMIT\"},\n\t{13883,\"IKE received a policy that disables negotiation.\",\"ERROR_IPSEC_IKE_NEGOTIATION_DISABLED\"},\n\t{13884,\"ERROR_IPSEC_IKE_NEG_STATUS_END\",\"ERROR_IPSEC_IKE_NEG_STATUS_END\"},\n\t{14000,\"The requested section was not present in the activation context.\",\"ERROR_SXS_SECTION_NOT_FOUND\"},\n\t{14001,\"This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.\",\"ERROR_SXS_CANT_GEN_ACTCTX\"},\n\t{14002,\"The application binding data format is invalid.\",\"ERROR_SXS_INVALID_ACTCTXDATA_FORMAT\"},\n\t{14003,\"The referenced assembly is not installed on your system.\",\"ERROR_SXS_ASSEMBLY_NOT_FOUND\"},\n\t{14004,\"The manifest file does not begin with the required tag and format information.\",\"ERROR_SXS_MANIFEST_FORMAT_ERROR\"},\n\t{14005,\"The manifest file contains one or more syntax errors.\",\"ERROR_SXS_MANIFEST_PARSE_ERROR\"},\n\t{14006,\"The application attempted to activate a disabled activation context.\",\"ERROR_SXS_ACTIVATION_CONTEXT_DISABLED\"},\n\t{14007,\"The requested lookup key was not found in any active activation context.\",\"ERROR_SXS_KEY_NOT_FOUND\"},\n\t{14008,\"A component version required by the application conflicts with another component version already active.\",\"ERROR_SXS_VERSION_CONFLICT\"},\n\t{14009,\"The type requested activation context section does not match the query API used.\",\"ERROR_SXS_WRONG_SECTION_TYPE\"},\n\t{14010,\"Lack of system resources has required isolated activation to be disabled for the current thread of execution.\",\"ERROR_SXS_THREAD_QUERIES_DISABLED\"},\n\t{14011,\"An attempt to set the process default activation context failed because the process default activation context was already set.\",\"ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET\"},\n\t{14012,\"The encoding group identifier specified is not recognized.\",\"ERROR_SXS_UNKNOWN_ENCODING_GROUP\"},\n\t{14013,\"The encoding requested is not recognized.\",\"ERROR_SXS_UNKNOWN_ENCODING\"},\n\t{14014,\"The manifest contains a reference to an invalid URI.\",\"ERROR_SXS_INVALID_XML_NAMESPACE_URI\"},\n\t{14015,\"The application manifest contains a reference to a dependent assembly which is not installed.\",\"ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED\"},\n\t{14016,\"The manifest for an assembly used by the application has a reference to a dependent assembly which is not installed.\",\"ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED\"},\n\t{14017,\"The manifest contains an attribute for the assembly identity which is not valid.\",\"ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE\"},\n\t{14018,\"The manifest is missing the required default namespace specification on the assembly element.\",\"ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE\"},\n\t{14019,\"The manifest has a default namespace specified on the assembly element but its value is not \\\"urn:schemas-microsoft-com:asm.v1\\\".\",\"ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE\"},\n\t{14020,\"The private manifest probe has crossed the reparse-point-associated path.\",\"ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT\"},\n\t{14021,\"Two or more components referenced directly or indirectly by the application manifest have files by the same name.\",\"ERROR_SXS_DUPLICATE_DLL_NAME\"},\n\t{14022,\"Two or more components referenced directly or indirectly by the application manifest have window classes with the same name.\",\"ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME\"},\n\t{14023,\"Two or more components referenced directly or indirectly by the application manifest have the same COM server CLSIDs.\",\"ERROR_SXS_DUPLICATE_CLSID\"},\n\t{14024,\"Two or more components referenced directly or indirectly by the application manifest have proxies for the same COM interface IIDs.\",\"ERROR_SXS_DUPLICATE_IID\"},\n\t{14025,\"Two or more components referenced directly or indirectly by the application manifest have the same COM type library TLBIDs.\",\"ERROR_SXS_DUPLICATE_TLBID\"},\n\t{14026,\"Two or more components referenced directly or indirectly by the application manifest have the same COM ProgIDs.\",\"ERROR_SXS_DUPLICATE_PROGID\"},\n\t{14027,\"Two or more components referenced directly or indirectly by the application manifest are different versions of the same component which is not permitted.\",\"ERROR_SXS_DUPLICATE_ASSEMBLY_NAME\"},\n\t{14028,\"A component's file does not match the verification information present in the component manifest.\",\"ERROR_SXS_FILE_HASH_MISMATCH\"},\n\t{14029,\"The policy manifest contains one or more syntax errors.\",\"ERROR_SXS_POLICY_PARSE_ERROR\"},\n\t{14030,\"Manifest Parse Error : A string literal was expected, but no opening quote character was found.\",\"ERROR_SXS_XML_E_MISSINGQUOTE\"},\n\t{14031,\"Manifest Parse Error : Incorrect syntax was used in a comment.\",\"ERROR_SXS_XML_E_COMMENTSYNTAX\"},\n\t{14032,\"Manifest Parse Error : A name was started with an invalid character.\",\"ERROR_SXS_XML_E_BADSTARTNAMECHAR\"},\n\t{14033,\"Manifest Parse Error : A name contained an invalid character.\",\"ERROR_SXS_XML_E_BADNAMECHAR\"},\n\t{14034,\"Manifest Parse Error : A string literal contained an invalid character.\",\"ERROR_SXS_XML_E_BADCHARINSTRING\"},\n\t{14035,\"Manifest Parse Error : Invalid syntax for an XML declaration.\",\"ERROR_SXS_XML_E_XMLDECLSYNTAX\"},\n\t{14036,\"Manifest Parse Error : An invalid character was found in text content.\",\"ERROR_SXS_XML_E_BADCHARDATA\"},\n\t{14037,\"Manifest Parse Error : Required white space was missing.\",\"ERROR_SXS_XML_E_MISSINGWHITESPACE\"},\n\t{14038,\"Manifest Parse Error : The character '>' was expected.\",\"ERROR_SXS_XML_E_EXPECTINGTAGEND\"},\n\t{14039,\"Manifest Parse Error : A semi colon character was expected.\",\"ERROR_SXS_XML_E_MISSINGSEMICOLON\"},\n\t{14040,\"Manifest Parse Error : Unbalanced parentheses.\",\"ERROR_SXS_XML_E_UNBALANCEDPAREN\"},\n\t{14041,\"Manifest Parse Error : Internal error.\",\"ERROR_SXS_XML_E_INTERNALERROR\"},\n\t{14042,\"Manifest Parse Error : White space is not allowed at this location.\",\"ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE\"},\n\t{14043,\"Manifest Parse Error : End of file reached in invalid state for current encoding.\",\"ERROR_SXS_XML_E_INCOMPLETE_ENCODING\"},\n\t{14044,\"Manifest Parse Error : Missing parenthesis.\",\"ERROR_SXS_XML_E_MISSING_PAREN\"},\n\t{14045,\"Manifest Parse Error : A single or double closing quote character (\\' or \\\") is missing.\",\"ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE\"},\n\t{14046,\"Manifest Parse Error : Multiple colons are not allowed in a name.\",\"ERROR_SXS_XML_E_MULTIPLE_COLONS\"},\n\t{14047,\"Manifest Parse Error : Invalid character for decimal digit.\",\"ERROR_SXS_XML_E_INVALID_DECIMAL\"},\n\t{14048,\"Manifest Parse Error : Invalid character for hexadecimal digit.\",\"ERROR_SXS_XML_E_INVALID_HEXIDECIMAL\"},\n\t{14049,\"Manifest Parse Error : Invalid Unicode character value for this platform.\",\"ERROR_SXS_XML_E_INVALID_UNICODE\"},\n\t{14050,\"Manifest Parse Error : Expecting white space or '?'.\",\"ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK\"},\n\t{14051,\"Manifest Parse Error : End tag was not expected at this location.\",\"ERROR_SXS_XML_E_UNEXPECTEDENDTAG\"},\n\t{14052,\"Manifest Parse Error : The following tags were not closed: %1.\",\"ERROR_SXS_XML_E_UNCLOSEDTAG\"},\n\t{14053,\"Manifest Parse Error : Duplicate attribute.\",\"ERROR_SXS_XML_E_DUPLICATEATTRIBUTE\"},\n\t{14054,\"Manifest Parse Error : Only one top level element is allowed in an XML document.\",\"ERROR_SXS_XML_E_MULTIPLEROOTS\"},\n\t{14055,\"Manifest Parse Error : Invalid at the top level of the document.\",\"ERROR_SXS_XML_E_INVALIDATROOTLEVEL\"},\n\t{14056,\"Manifest Parse Error : Invalid XML declaration.\",\"ERROR_SXS_XML_E_BADXMLDECL\"},\n\t{14057,\"Manifest Parse Error : XML document must have a top level element.\",\"ERROR_SXS_XML_E_MISSINGROOT\"},\n\t{14058,\"Manifest Parse Error : Unexpected end of file.\",\"ERROR_SXS_XML_E_UNEXPECTEDEOF\"},\n\t{14059,\"Manifest Parse Error : Parameter entities cannot be used inside markup declarations in an internal subset.\",\"ERROR_SXS_XML_E_BADPEREFINSUBSET\"},\n\t{14060,\"Manifest Parse Error : Element was not closed.\",\"ERROR_SXS_XML_E_UNCLOSEDSTARTTAG\"},\n\t{14061,\"Manifest Parse Error : End element was missing the character '>'.\",\"ERROR_SXS_XML_E_UNCLOSEDENDTAG\"},\n\t{14062,\"Manifest Parse Error : A string literal was not closed.\",\"ERROR_SXS_XML_E_UNCLOSEDSTRING\"},\n\t{14063,\"Manifest Parse Error : A comment was not closed.\",\"ERROR_SXS_XML_E_UNCLOSEDCOMMENT\"},\n\t{14064,\"Manifest Parse Error : A declaration was not closed.\",\"ERROR_SXS_XML_E_UNCLOSEDDECL\"},\n\t{14065,\"Manifest Parse Error : A CDATA section was not closed.\",\"ERROR_SXS_XML_E_UNCLOSEDCDATA\"},\n\t{14066,\"Manifest Parse Error : The namespace prefix is not allowed to start with the reserved string \\\"xml\\\".\",\"ERROR_SXS_XML_E_RESERVEDNAMESPACE\"},\n\t{14067,\"Manifest Parse Error : System does not support the specified encoding.\",\"ERROR_SXS_XML_E_INVALIDENCODING\"},\n\t{14068,\"Manifest Parse Error : Switch from current encoding to specified encoding not supported.\",\"ERROR_SXS_XML_E_INVALIDSWITCH\"},\n\t{14069,\"Manifest Parse Error : The name 'xml' is reserved and must be lower case.\",\"ERROR_SXS_XML_E_BADXMLCASE\"},\n\t{14070,\"Manifest Parse Error : The standalone attribute must have the value 'yes' or 'no'.\",\"ERROR_SXS_XML_E_INVALID_STANDALONE\"},\n\t{14071,\"Manifest Parse Error : The standalone attribute cannot be used in external entities.\",\"ERROR_SXS_XML_E_UNEXPECTED_STANDALONE\"},\n\t{14072,\"Manifest Parse Error : Invalid version number.\",\"ERROR_SXS_XML_E_INVALID_VERSION\"},\n\t{14073,\"Manifest Parse Error : Missing equals sign between attribute and attribute value.\",\"ERROR_SXS_XML_E_MISSINGEQUALS\"},\n\t{14074,\"Assembly Protection Error: Unable to recover the specified assembly.\",\"ERROR_SXS_PROTECTION_RECOVERY_FAILED\"},\n\t{14075,\"Assembly Protection Error: The public key for an assembly was too short to be allowed.\",\"ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT\"},\n\t{14076,\"Assembly Protection Error: The catalog for an assembly is not valid, or does not match the assembly's manifest.\",\"ERROR_SXS_PROTECTION_CATALOG_NOT_VALID\"},\n\t{14077,\"An HRESULT could not be translated to a corresponding Win32 error code.\",\"ERROR_SXS_UNTRANSLATABLE_HRESULT\"},\n\t{14078,\"Assembly Protection Error: The catalog for an assembly is missing.\",\"ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING\"},\n\t{14079,\"The supplied assembly identity is missing one or more attributes which must be present in this context.\",\"ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE\"},\n\t{14080,\"The supplied assembly identity has one or more attribute names that contain characters not permitted in XML names.\",\"ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME\"},\n\t{14081,\"The referenced assembly could not be found.\",\"ERROR_SXS_ASSEMBLY_MISSING\"},\n\t{14082,\"The activation context activation stack for the running thread of execution is corrupt.\",\"ERROR_SXS_CORRUPT_ACTIVATION_STACK\"},\n\t{14083,\"The application isolation metadata for this process or thread has become corrupt.\",\"ERROR_SXS_CORRUPTION\"},\n\t{14084,\"The activation context being deactivated is not the most recently activated one.\",\"ERROR_SXS_EARLY_DEACTIVATION\"},\n\t{14085,\"The activation context being deactivated is not active for the current thread of execution.\",\"ERROR_SXS_INVALID_DEACTIVATION\"},\n\t{14086,\"The activation context being deactivated has already been deactivated.\",\"ERROR_SXS_MULTIPLE_DEACTIVATION\"},\n\t{14087,\"A component used by the isolation facility has requested to terminate the process.\",\"ERROR_SXS_PROCESS_TERMINATION_REQUESTED\"},\n\t{14088,\"A kernel mode component is releasing a reference on an activation context.\",\"ERROR_SXS_RELEASE_ACTIVATION_CONTEXT\"},\n\t{14089,\"The activation context of system default assembly could not be generated.\",\"ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY\"},\n\t{14090,\"The value of an attribute in an identity is not within the legal range.\",\"ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE\"},\n\t{14091,\"The name of an attribute in an identity is not within the legal range.\",\"ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME\"},\n\t{14092,\"An identity contains two definitions for the same attribute.\",\"ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE\"},\n\t{14093,\"The identity string is malformed. This may be due to a trailing comma, more than two unnamed attributes, missing attribute name or missing attribute value.\",\"ERROR_SXS_IDENTITY_PARSE_ERROR\"},\n\t{15000,\"The specified channel path is invalid. See extended error info for more details.\",\"ERROR_EVT_INVALID_CHANNEL_PATH\"},\n\t{15001,\"The specified query is invalid. See extended error info for more details.\",\"ERROR_EVT_INVALID_QUERY\"},\n\t{15002,\"The publisher did indicate they have a manifest/resource but a manifest/resource could not be found.\",\"ERROR_EVT_PUBLISHER_MANIFEST_NOT_FOUND\"},\n\t{15003,\"The publisher does not have a manifest and is performing an operation which requires they have a manifest.\",\"ERROR_EVT_PUBLISHER_MANIFEST_NOT_SPECIFIED\"},\n\t{15004,\"There is no registered template for specified event id.\",\"ERROR_EVT_NO_REGISTERED_TEMPLATE\"},\n\t{15005,\"The specified event was declared in the manifest to go a different channel than the one this publisher handle is bound to.\",\"ERROR_EVT_EVENT_CHANNEL_MISMATCH\"},\n\t{15006,\"The type of a specified substitution value does not match the type expected from the template definition. \",\"ERROR_EVT_UNEXPECTED_VALUE_TYPE\"},\n\t{15007,\"The number of specified substitution values does not match the number expected from the template definition.\",\"ERROR_EVT_UNEXPECTED_NUM_VALUES\"},\n\t{15008,\"The specified channel could not be found. Check channel configuration.\",\"ERROR_EVT_CHANNEL_NOT_FOUND\"},\n\t{15009,\"The specified xml text was not well-formed. See Extended Error for more details.\",\"ERROR_EVT_MALFORMED_XML_TEXT\"},\n\t{15010,\"The specified channel path selects more than one instance of a channel. The operation requires that only one channel be selected. It may be necessary to scope channel path to version / publicKeyToken to select only one instance. \",\"ERROR_EVT_CHANNEL_PATH_TOO_GENERAL\"},\n\t{15011,\"The query specified in channel configuration is not allowed to select any channel other than the one the config is associated with. \",\"ERROR_EVT_CONFIG_QUERY_NOT_SCOPED_TO_CHANNEL\"},\n\t{0xffffffff,NULL,NULL},\n};\n\n"
  },
  {
    "path": "Project/Syser/Source/ErrorCodeTable.h",
    "content": "#ifndef _ERROR_CODE_TABLE_H_\n#define _ERROR_CODE_TABLE_H_\ntypedef struct _ERRORCODES\n{\n\tint Code;\n\tchar* Description;\n\tchar* Name;\n}ERRORCODES,*PERRORCODES;\nERRORCODES ErrorCodes[];\n#endif //_ERROR_CODE_TABLE_H_"
  },
  {
    "path": "Project/Syser/Source/ErrorCodeWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ErrorCodeTable.h\"\n#include \"ErrorCodeWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CErrorCodeWnd) \nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\nWISP_MSG_EVENT_MAP_BEGIN(CErrorCodeWnd)\n\nWISP_MSG_EVENT_MAP_END\n\nCErrorCodeWnd::CErrorCodeWnd()\n{\n\n}\nCErrorCodeWnd::~CErrorCodeWnd()\n{\n\n}\nbool CErrorCodeWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tInsertColumn(WSTR(\"Code\"),140);\n\tInsertColumn(WSTR(\"Name\"),345);\n\tInsertColumn(WSTR(\"Description\"),345);\n\tUpdateContext();\n\treturn true;\n}\nvoid CErrorCodeWnd::UpdateContext()\n{\n\tHANDLE hItem;\n\tWCHAR Buffer[50];\n\tfor(int i=0; ErrorCodes[i].Name;i++)\n\t{\n\t\tTSPrintf(Buffer,WSTR(\"0x%08X [%d]\"),ErrorCodes[i].Code,ErrorCodes[i].Code);\n\t\thItem = InsertItem(Buffer);\n\t\tSetItemTextA(hItem,1,ErrorCodes[i].Name);\n\t\tSetItemTextA(hItem,2,ErrorCodes[i].Description);\n\t}\n}\nbool CErrorCodeWnd::OnClose(IN WISP_MSG* pMsg)\n{\n\tShow(WISP_SH_HIDDEN);\n\treturn false;\n}"
  },
  {
    "path": "Project/Syser/Source/ErrorCodeWnd.h",
    "content": "#ifndef _ERROR_CODE_WND_H_\n#define _ERROR_CODE_WND_H_\nclass CErrorCodeWnd:public CWispList\n{\npublic:\n\tCErrorCodeWnd();\n\t~CErrorCodeWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid UpdateContext();\n};\n#endif //_MODULE_LIST_WND_"
  },
  {
    "path": "Project/Syser/Source/FpuRegisterList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CFpuRegisterList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\nWISP_MSG_MAP_END(CWispList)\n\nbool CFpuRegisterList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_ChgColor = ColorOption.clrChgText;\n\tm_NormalColor = ColorOption.clrText;\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\n\tSetDefaultTextColor(m_NormalColor);\n\tSetBGColor(ColorOption.clrBackground);\n\n\tInsertColumn(WISP_STR(\"Register\"),90);\n\tInsertColumn(WISP_STR(\"Value\"),180,WISP_WLCS_EDITABLE);\n\tm_hFpuRegItem[FPU_REG_ST_0] = InsertItem(WISP_STR(\"ST(0)\"));\n\tm_hFpuRegItem[FPU_REG_ST_1] = InsertItem(WISP_STR(\"ST(1)\"));\n\tm_hFpuRegItem[FPU_REG_ST_2] = InsertItem(WISP_STR(\"ST(2)\"));\n\tm_hFpuRegItem[FPU_REG_ST_3] = InsertItem(WISP_STR(\"ST(3)\"));\n\tm_hFpuRegItem[FPU_REG_ST_4] = InsertItem(WISP_STR(\"ST(4)\"));\n\tm_hFpuRegItem[FPU_REG_ST_5] = InsertItem(WISP_STR(\"ST(5)\"));\n\tm_hFpuRegItem[FPU_REG_ST_6] = InsertItem(WISP_STR(\"ST(6)\"));\n\tm_hFpuRegItem[FPU_REG_ST_7] = InsertItem(WISP_STR(\"ST(7)\"));\n\tm_hFpuRegItem[FPU_REG_STATE] = InsertItem(WISP_STR(\"FPU Status Word\"));\n\tm_hFpuRegItem[FPU_REG_STATUS_B] = InsertItem(WISP_STR(\"FPU Busy\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_C3] = InsertItem(WISP_STR(\"Condition Code 3\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_TOP] = InsertItem(WISP_STR(\"Top of Stack Pointer\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_C2] = InsertItem(WISP_STR(\"Condition Code 2\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_C1] = InsertItem(WISP_STR(\"Condition Code 1\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_C0] = InsertItem(WISP_STR(\"Condition Code 0\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_ES] = InsertItem(WISP_STR(\"Error Summary Status\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_SF] = InsertItem(WISP_STR(\"Stack Fault\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_PE] = InsertItem(WISP_STR(\"Precision Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_UE] = InsertItem(WISP_STR(\"Underflow Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_OE] = InsertItem(WISP_STR(\"Overflow Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_ZE] = InsertItem(WISP_STR(\"Zero Divide Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_DE] = InsertItem(WISP_STR(\"Denormalized Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_STATUS_IE] = InsertItem(WISP_STR(\"Invalid Operation Exception\"),m_hFpuRegItem[FPU_REG_STATE]);\n\tm_hFpuRegItem[FPU_REG_CONTROL] = InsertItem(WISP_STR(\"FPU Control Word\"));\n\tm_hFpuRegItem[FPU_REG_CONTROL_X] = InsertItem(WISP_STR(\"Infinity Control\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_RC] = InsertItem(WISP_STR(\"Rounding Control\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_PC] = InsertItem(WISP_STR(\"Precision Control\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_PM] = InsertItem(WISP_STR(\"Precision Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_UM] = InsertItem(WISP_STR(\"Underflow Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_OM] = InsertItem(WISP_STR(\"Overflow Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_ZM] = InsertItem(WISP_STR(\"Zero Divide Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_DM] = InsertItem(WISP_STR(\"Denormal Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_CONTROL_IM] = InsertItem(WISP_STR(\"Invalid Mask\"),m_hFpuRegItem[FPU_REG_CONTROL]);\n\tm_hFpuRegItem[FPU_REG_TAG_WORD] = InsertItem(WISP_STR(\"FPU Tag word\"));\n\tm_hFpuRegItem[FPU_REG_TAG_0] = InsertItem(WISP_STR(\"TAG(0)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_1] = InsertItem(WISP_STR(\"TAG(1)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_2] = InsertItem(WISP_STR(\"TAG(2)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_3] = InsertItem(WISP_STR(\"TAG(3)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_4] = InsertItem(WISP_STR(\"TAG(4)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_5] = InsertItem(WISP_STR(\"TAG(5)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_6] = InsertItem(WISP_STR(\"TAG(6)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\tm_hFpuRegItem[FPU_REG_TAG_7] = InsertItem(WISP_STR(\"TAG(7)\"),m_hFpuRegItem[FPU_REG_TAG_WORD]);\n\n\tResetContext();\n\treturn true;\n}\n\nbool CFpuRegisterList::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextItem(NULL);\n\tif(hItem)\n\t\tSelectItem(hItem);\n\treturn true;\n}\n\nvoid CFpuRegisterList::UpdateContext()\n{\n\tWISP_CHAR ValueBuf[5000];\n\tWORD wValue;\n\tBYTE *Value;\n\tint i,j;\n\tFPU_STATUS_REG *pFPUStatus;\n\tFPU_CONTROL_REG* pFPUControl;\n\tFPU_TAG_WORD_REG* pFPUTagWord;\n\tFPU_STATUS_REG *pOldFPUStatus;\n\tFPU_CONTROL_REG* pOldFPUControl;\n\tFPU_TAG_WORD_REG* pOldFPUTagWord;\n\tdouble dValue=98.123;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false || IsWindow()==false)\n\t\treturn;\n\tDWORD dwCurrentCpuID=0;\n#ifdef CODE_OS_NT_DRV\t\n\tdwCurrentCpuID = GetCurrentCPULocalAPICID();\n#endif\n\n\n\tif(dwCurrentCpuID!=m_nCPUIndex)\t\n\t\tgpSyser->m_pDebugger->GetCPUX86RegPtr(&m_X86RegPtr,m_nCPUIndex);\n\telse\n\t\tm_X86RegPtr=X86_REG_PTR;\n\n\n#ifdef CODE_OS_NT_DRV\n\tpFPUStatus =(FPU_STATUS_REG *) &FpuRegisterImage[CurrentFpuImageIndex][4];\n\tpFPUControl = (FPU_CONTROL_REG*)&FpuRegisterImage[CurrentFpuImageIndex][0];\n\tpFPUTagWord = (FPU_TAG_WORD_REG*)&FpuRegisterImage[CurrentFpuImageIndex][8];\n\tpOldFPUStatus =(FPU_STATUS_REG *) &FpuRegisterImage[CurrentFpuImageIndex ^ 1][4];\n\tpOldFPUControl = (FPU_CONTROL_REG*)&FpuRegisterImage[CurrentFpuImageIndex ^ 1][0];\n\tpOldFPUTagWord = (FPU_TAG_WORD_REG*)&FpuRegisterImage[CurrentFpuImageIndex ^ 1][8];\n\tValue=(BYTE *)&FpuRegisterImage[CurrentFpuImageIndex][28];\n\tmemcpy(&m_PrevFPUStatus,FpuRegisterImage[CurrentFpuImageIndex ^ 1],sizeof(m_PrevFPUStatus));\n#else \n\tpFPUStatus =(FPU_STATUS_REG *) m_X86RegPtr.pFPUStatusWord;\n\tpFPUControl = (FPU_CONTROL_REG*)m_X86RegPtr.pFPUControlWord;\n\tpFPUTagWord = (FPU_TAG_WORD_REG*)m_X86RegPtr.pFPUTagWord;\n\tpOldFPUStatus =(FPU_STATUS_REG *) &m_PrevFPUStatus.ControlWord;\n\tpOldFPUControl = (FPU_CONTROL_REG*)&m_PrevFPUStatus.StatusWord;\n\tpOldFPUTagWord = (FPU_TAG_WORD_REG*)&m_PrevFPUStatus.TagWord;\n\tValue=(BYTE *)m_X86RegPtr.pFPURegisterArea;\n#endif\n\tfor(i = 0; i < 8;i++)\n\t{\t\t\n\t\t\n\t\tTSPrintf(ValueBuf,WSTR(\"%02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\"),\n\t\t\tValue[0],\n\t\t\tValue[1],\n\t\t\tValue[2],\n\t\t\tValue[3],\n\t\t\tValue[4],\n\t\t\tValue[5],\n\t\t\tValue[6],\n\t\t\tValue[7],\n\t\t\tValue[8],\n\t\t\tValue[9]);\n\t\tSetItemText(m_hFpuRegItem[i],1,ValueBuf);\n\t\t\n\t\tfor(j=0;j<10;j++)\n\t\t{\n\t\t\tif(Value[j]!=m_PrevFPUStatus.Reg[i][j])\n\t\t\t//if(FpuRegisterImage[0][28+j+10*i]!=FpuRegisterImage[1][28+j+10*i])\n\t\t\t{\n\t\t\t\tSetItemTextColor(m_hFpuRegItem[i],1,m_ChgColor);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(j==10)\n\t\t\tSetItemTextColor(m_hFpuRegItem[i],1,m_NormalColor);\n\t\tValue=Value+10;\n\t}\t\n\n\t//show FPU status register\n\twValue = *(WORD*)pFPUStatus;\n\tTSPrintf(ValueBuf,WSTR(\"%04x\"),wValue);\t\t\t\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATE],1,ValueBuf);\t\n\tif(*(WORD*)pFPUStatus != *(WORD*)pOldFPUStatus)\t\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_IE],1,pFPUStatus->IE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->IE !=pOldFPUStatus->IE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_IE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_IE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_DE],1,pFPUStatus->DE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->DE !=pOldFPUStatus->DE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_DE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_DE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_ZE],1,pFPUStatus->ZE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->ZE !=pOldFPUStatus->ZE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_ZE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_ZE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_OE],1,pFPUStatus->OE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->OE !=pOldFPUStatus->OE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_OE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_OE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_UE],1,pFPUStatus->UE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->UE !=pOldFPUStatus->UE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_UE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_UE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_PE],1,pFPUStatus->PE?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->PE !=pOldFPUStatus->PE)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_PE],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_PE],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_SF],1,pFPUStatus->SF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->SF !=pOldFPUStatus->SF)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_SF],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_SF],1,m_NormalColor);\n\t\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_ES],1,pFPUStatus->ES?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->ES !=pOldFPUStatus->ES)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_ES],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_ES],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C0],1,pFPUStatus->C0?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->C0 !=pOldFPUStatus->C0)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C0],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C0],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C1],1,pFPUStatus->C1?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->C1 !=pOldFPUStatus->C1)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C1],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C1],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C2],1,pFPUStatus->C2?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->C2 !=pOldFPUStatus->C2)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C2],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C2],1,m_NormalColor);\n\n\tTSPrintf(ValueBuf,WSTR(\"%x\"),pFPUStatus->TOP);\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_TOP],1,ValueBuf);\n\tif(pFPUStatus->TOP !=pOldFPUStatus->TOP)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_TOP],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_TOP],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C3],1,pFPUStatus->C3?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->C3 !=pOldFPUStatus->C3)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C3],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_C3],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_B],1,pFPUStatus->B?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUStatus->B !=pOldFPUStatus->B)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_B],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_STATUS_B],1,m_NormalColor);\n\n\t//show FPU control register\n\twValue = *(WORD*)pFPUControl;\n\tTSPrintf(ValueBuf,WSTR(\"%04x\"),wValue);\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL],1,ValueBuf);\n\tif(*(WORD*)pFPUControl != *(WORD*)pOldFPUControl)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_X],1,pFPUControl->X?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->X !=pFPUControl->X)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_X],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_X],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_CONTROL_RC],1,pFPUControl->RC);\n\tif(pFPUControl->RC !=pFPUControl->RC)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_RC],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_RC],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_CONTROL_PC],1,pFPUControl->PC);\n\tif(pFPUControl->PC !=pFPUControl->PC)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_PC],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_PC],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_PM],1,pFPUControl->PM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->PM !=pFPUControl->PM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_PM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_PM],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_UM],1,pFPUControl->UM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->UM !=pFPUControl->UM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_UM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_UM],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_OM],1,pFPUControl->OM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->OM !=pFPUControl->OM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_OM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_OM],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_ZM],1,pFPUControl->ZM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->ZM !=pFPUControl->ZM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_ZM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_ZM],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_DM],1,pFPUControl->DM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->DM !=pFPUControl->DM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_DM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_DM],1,m_NormalColor);\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_IM],1,pFPUControl->IM?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pFPUControl->IM !=pFPUControl->IM)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_IM],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_CONTROL_IM],1,m_NormalColor);\n\n\t//show fpu tag word register\n\twValue = *(WORD*)pFPUTagWord;\n\tTSPrintf(ValueBuf,WSTR(\"%04x\"),wValue);\t\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_WORD],1,ValueBuf);\n\tif(*(WORD*)pFPUTagWord != *(WORD*)pFPUTagWord)\t\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_WORD],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_WORD],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_0],1,pFPUTagWord->TAG0);\n\tif(pFPUTagWord->TAG0 != pOldFPUTagWord->TAG0)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_0],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_0],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_1],1,pFPUTagWord->TAG1);\n\tif(pFPUTagWord->TAG1 != pOldFPUTagWord->TAG1)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_1],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_1],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_2],1,pFPUTagWord->TAG2);\n\tif(pFPUTagWord->TAG2 != pOldFPUTagWord->TAG2)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_2],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_2],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_3],1,pFPUTagWord->TAG3);\n\tif(pFPUTagWord->TAG3 != pOldFPUTagWord->TAG3)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_3],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_3],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_4],1,pFPUTagWord->TAG4);\n\tif(pFPUTagWord->TAG4 != pOldFPUTagWord->TAG4)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_4],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_4],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_5],1,pFPUTagWord->TAG5);\n\tif(pFPUTagWord->TAG5 != pOldFPUTagWord->TAG5)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_5],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_5],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_6],1,pFPUTagWord->TAG6);\n\tif(pFPUTagWord->TAG6 != pOldFPUTagWord->TAG6)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_6],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_6],1,m_NormalColor);\n\n\tSetItemNum(m_hFpuRegItem[FPU_REG_TAG_7],1,pFPUTagWord->TAG7);\n\tif(pFPUTagWord->TAG7 != pOldFPUTagWord->TAG7)\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_7],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hFpuRegItem[FPU_REG_TAG_7],1,m_NormalColor);\n\n}\n\n\nvoid CFpuRegisterList::ResetContext()\n{\n\tSelectItem(m_hFpuRegItem[FPU_REG_ST_0]);\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_0],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_1],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_2],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_3],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_4],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_5],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_6],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_ST_7],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATE],1,WSTR(\"????????\"));\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_B],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C3],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_TOP],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C2],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C1],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_C0],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_ES],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_SF],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_PE],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_UE],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_OE],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_ZE],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_DE],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_STATUS_IE],1,WSTR(\"????????\"));\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_X],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_RC],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_PC],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_PM],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_UM],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_OM],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_ZM],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_DM],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_CONTROL_IM],1,WSTR(\"????????\"));\n\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_WORD],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_0],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_1],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_2],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_3],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_4],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_5],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_6],1,WSTR(\"????????\"));\n\tSetItemText(m_hFpuRegItem[FPU_REG_TAG_7],1,WSTR(\"????????\"));\n\tmemset(&m_PrevFPUStatus,0,sizeof(m_PrevFPUStatus));\n\t\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/FpuRegisterList.h",
    "content": "#ifndef _FPUREGISTERLIST_H_\n#define _FPUREGISTERLIST_H_\n\n\nenum FPU_REG_INDEX\n{\n\tFPU_REG_ST_0,\n\tFPU_REG_ST_1,\n\tFPU_REG_ST_2,\n\tFPU_REG_ST_3,\n\tFPU_REG_ST_4,\n\tFPU_REG_ST_5,\n\tFPU_REG_ST_6,\n\tFPU_REG_ST_7,\n\tFPU_REG_STATE,\n\tFPU_REG_STATUS_IE,\n\tFPU_REG_STATUS_DE,\n\tFPU_REG_STATUS_ZE,\n\tFPU_REG_STATUS_OE,\n\tFPU_REG_STATUS_UE,\n\tFPU_REG_STATUS_PE,\n\tFPU_REG_STATUS_SF,\n\tFPU_REG_STATUS_ES,\n\tFPU_REG_STATUS_C0,\n\tFPU_REG_STATUS_C1,\n\tFPU_REG_STATUS_C2,\n\tFPU_REG_STATUS_TOP,\n\tFPU_REG_STATUS_C3,\n\tFPU_REG_STATUS_B,\n\tFPU_REG_CONTROL,\n\tFPU_REG_CONTROL_IM,\n\tFPU_REG_CONTROL_DM,\n\tFPU_REG_CONTROL_ZM,\n\tFPU_REG_CONTROL_OM,\n\tFPU_REG_CONTROL_UM,\n\tFPU_REG_CONTROL_PM,\n\tFPU_REG_CONTROL_PC,\n\tFPU_REG_CONTROL_RC,\n\tFPU_REG_CONTROL_X,\n\tFPU_REG_TAG_WORD,\n\tFPU_REG_TAG_0,\n\tFPU_REG_TAG_1,\n\tFPU_REG_TAG_2,\n\tFPU_REG_TAG_3,\n\tFPU_REG_TAG_4,\n\tFPU_REG_TAG_5,\n\tFPU_REG_TAG_6,\n\tFPU_REG_TAG_7,\n\tFPU_REG_COUNT,\n};\n\nclass CFpuRegisterList\t: public CWispList\n{\n\tHANDLE\t\tm_hFpuRegItem[FPU_REG_COUNT];\n\tCOLORREF\tm_ChgColor;\n\tCOLORREF\tm_NormalColor;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tvoid UpdateContext();\n\tvoid ResetContext();\n\tvoid UpdateContextWin32();\n\tint GetCPUIndex()const {return m_nCPUIndex;}\n\tvoid SetCPUIndex(int Index) {m_nCPUIndex=Index;}\nprivate:\n\tint\tm_nCPUIndex;\n\tX86_CPU_REG_PTR m_X86RegPtr;\n\tFPU_SAVE_STATUS m_PrevFPUStatus;\n};\n\n\n#endif /* _FPUREGISTERLIST_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/FunctionListWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"FunctionListWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CFunctionListWnd) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CFunctionListWnd)\nWISP_MSG_EVENT_MAP_END\n\nCFunctionListWnd::CFunctionListWnd()\n{\n\n}\nCFunctionListWnd::~CFunctionListWnd()\n{\n\n}\nbool CFunctionListWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tInsertColumn(WSTR(\"Function Name\"),110);\n\tInsertColumn(WSTR(\"Start\"),60);\n\tInsertColumn(WSTR(\"Length\"),60);\n\tUpdateContext();\n\treturn true;\n}\nvoid CFunctionListWnd::UpdateContext()\n{\n\n}\n\nbool CFunctionListWnd::OnClose(IN WISP_MSG* pMsg)\n{\n\tShow(WISP_SH_HIDDEN);\n\treturn false;\n}\n\nbool CFunctionListWnd::ItemExpandingNotify(HANDLE hItem)\n{\n\treturn true;\n}\n\nvoid CFunctionListWnd::ItemUnexpandedNotify(HANDLE hItem)\n{\n}\n\nvoid CFunctionListWnd::ItemClickNotify(HANDLE hItem,int Col)\n{\n}\n"
  },
  {
    "path": "Project/Syser/Source/FunctionListWnd.h",
    "content": "#ifndef _FUNCTION_LIST_WND_\n#define _FUNCTION_LIST_WND_\n\nclass CFunctionListWnd:public CWispList\n{\npublic:\n\tCFunctionListWnd();\n\t~CFunctionListWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG_EVENT_MAP\npublic:\n\tbool ItemExpandingNotify(HANDLE hItem);\n\tvoid ItemUnexpandedNotify(HANDLE hItem);\n\tvoid ItemClickNotify(HANDLE hItem,int Col);\n\n\tvoid UpdateContext();\n\n};\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/GDTWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CGDTWnd) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\nWISP_MSG_MAP_END(CWispList)\n\nCGDTWnd::CGDTWnd()\n{\n#ifdef CODE_OS_WIN\n\tm_pGDTAddress = gdtdata;\n\tm_dwGDTSize = 0x7FF;\n#else\n\tm_pGDTAddress = (void *)SyserGetGDTBase(&m_dwGDTSize);\n#endif\n\tm_dwBeginIndex = 0;\n}\n\nCGDTWnd::~CGDTWnd()\n{\n}\n\n\nvoid CGDTWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"GDT\"),CWispRect(0,0,540,350),NULL,0,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nbool CGDTWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tInsertColumn(WISP_STR(\"Selector\"),40);\n\tInsertColumn(WISP_STR(\"Type\"),80);\n\tInsertColumn(WISP_STR(\"Base\"),90);\n\tInsertColumn(WISP_STR(\"Limit\"),100);\n\tInsertColumn(WISP_STR(\"DPL\"),90);\n\tInsertColumn(WISP_STR(\"Attributes\"),90);\n\tSetWindowText(WISP_STR(\"GDT TABLE\"));\n\tUpdateContext();\n\treturn true;\n}\n\nbool CGDTWnd::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nvoid CGDTWnd::UpdateContext()\n{\n\tClearChildItem();\n\tInsertGDT();\n}\n\nbool CGDTWnd::InsertGDT()\n{\t\n\tWISP_CHAR display[64];\n\tHANDLE hItem;\n\tDWORD dwSelector=0,dwGDTSize,dwShowSelector;\n\tVADDR32 dwGDTBase = 0;\n//\tDWORD dwLow,dwHigh;\n\tDWORD dwSegmentBase,dwSegmentLimit;\n\tDWORD i = 0,j;\t\n\tbool\tbLDTCommand = false;\n\tX86_SEGMENT_DESCRIPTOR *pSegDesc;\n\t//int nOrgArgc;\n\tWCHAR *Format=WSTR(\"%04x  %s  %08x  %08x  %d    %s  %s %s\");\n//\tX86_GATE_DECR *GateDecr;\n\t\n\tstatic WCHAR *DescType[16]={\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS16   \"),\n\t\tWSTR(\"LDT     \"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG16 \"),\n\t\tWSTR(\"TaskG   \"),\n\t\tWSTR(\"IntG16  \"),\n\t\tWSTR(\"TrapG16 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG32 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"IntG32  \"),\n\t\tWSTR(\"TrapG32 \"),\n\t};\n\tdwGDTBase = PTR_TO_NUM(m_pGDTAddress);\n\tdwGDTSize = m_dwGDTSize;\n\tj = (dwGDTSize + 1) / sizeof(X86_SEGMENT_DESCRIPTOR);\n\tpSegDesc = (X86_SEGMENT_DESCRIPTOR *)NUM_TO_PTR(dwGDTBase);\n\t\t\n\t\tfor(i = 0; i < j; i++)\n\t\t{\n\t\t\tdwSegmentBase = (pSegDesc[i].base_H1<<24) |(pSegDesc[i].base_H0 << 16)|(pSegDesc[i].base_L1 << 8)|pSegDesc[i].base_L0;\n\t\t\tdwSegmentLimit = (pSegDesc[i].limit_H << 16) | (pSegDesc[i].limit_L1<<8)|pSegDesc[i].limit_L0;\n\t\t\tif(!pSegDesc[i].P)\n\t\t\t{\n\t\t\t\tTSPrintf(display,WISP_STR(\"%04X\"),bLDTCommand ? (i * 8) | 4 |pSegDesc[i].DPL:(i*8)|pSegDesc[i].DPL);\n\t\t\t\thItem = InsertItem(display);\n\t\t\t\tSetItemText(hItem,1,DescType[pSegDesc[i].TYPE]);\n\t\t\t\tTSPrintf(display,WISP_STR(\"%08X\"),dwSegmentBase);\n\t\t\t\tSetItemText(hItem,2,display);\n\t\t\t\tTSPrintf(display,WISP_STR(\"%08X\"),dwSegmentLimit);\n\t\t\t\tSetItemText(hItem,3,display);\n\t\t\t\tTSPrintf(display,WISP_STR(\"%d\"),pSegDesc[i].DPL);\n\t\t\t\tSetItemText(hItem,4,display);\n\t\t\t\tSetItemText(hItem,5,WISP_STR(\"NP      \"));\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdwShowSelector = (i*8)|pSegDesc[i].DPL;\n\t\t\tif(bLDTCommand)\n\t\t\t\tdwShowSelector |= 4;\n\t\t\tif(pSegDesc[i].DT)//洢\n\t\t\t{\n\t\t\t\tif(pSegDesc[i].G)\n\t\t\t\t\tdwSegmentLimit = (dwSegmentLimit << 12) | 0xfff;\t\t\t\t\t\n\t\t\t\tTSPrintf(display,WISP_STR(\"%04X\"),dwShowSelector);\n\t\t\t\thItem = InsertItem(display);\n\t\t\t\tif(pSegDesc[i].TYPE & 8)//\n\t\t\t\t\tSetItemText(hItem,1,pSegDesc[i].D ? WSTR(\"Code32  \"):WSTR(\"Code16  \"));\n\t\t\t\telse\n\t\t\t\t\tSetItemText(hItem,1,pSegDesc[i].D ? WSTR(\"Data32  \"):WSTR(\"Data16  \"));\n\t\t\t\tTSPrintf(display,WISP_STR(\"%08X\"),dwSegmentBase);\n\t\t\t\tSetItemText(hItem,2,display);\n\t\t\t\tTSPrintf(display,WISP_STR(\"%08X\"),dwSegmentLimit);\n\t\t\t\tSetItemText(hItem,3,display);\n\t\t\t\tTSPrintf(display,WISP_STR(\"%d\"),pSegDesc[i].DPL);\t\t\t\t\n\t\t\t\tSetItemText(hItem,4,display);\n\t\t\t\tif(pSegDesc[i].TYPE & 8)//\n\t\t\t\tTSPrintf(display,WISP_STR(\"P  %s %s\"),(pSegDesc[i].TYPE & 2) ? WSTR(\"RE\") : WSTR(\"EO\"),(pSegDesc[i].TYPE & 4) ?WSTR(\"C \"):WSTR(\"  \"));\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(display,WISP_STR(\"P  %s %s\"),(pSegDesc[i].TYPE & 2) ? WSTR(\"RW\") : WSTR(\"RO\"),(pSegDesc[i].TYPE & 4) ? WSTR(\"ED\"):WSTR(\"  \"));\n\t\t\t\tSetItemText(hItem,5,display);\t\t\t\t\t\t\t\t\n\t\t\t\tcontinue;\n\t\t\t}\n#if 0\t\t\t\n\t\t\t//ϵͳ\n\t\t\tif(\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_AVAIL ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_LDT ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_BUSY ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_AVAIL ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_BUSY)\n\t\t\t{\n\t\t\t\tif(pSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_LDT)\n\t\t\t\t{\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tif((nOrgArgc == 2) && (TStrICmp(argv[0],WSTR(\"LDT\")) == 0) && (dwSelector >> 3) == i)\n\t\t\t\t\t{\t\n\t\t\t\t\t\tWCHAR NewCommandArgc[10];\n\t\t\t\t\t\tWCHAR NewCommandArgc1[10];\n\t\t\t\t\t\tTSPrintf(NewCommandArgc,WSTR(\"%08x\"),dwSegmentBase);\n\t\t\t\t\t\tTSPrintf(NewCommandArgc1,WSTR(\"%08x\"),dwSegmentLimit);\n\t\t\t\t\t\tWCHAR* newargv[]={WSTR(\"ldtlist\"),NewCommandArgc,NewCommandArgc1,NULL};\n\t\t\t\t\t\tgdt_command(9999,newargv,gpSyser);\t\t\t\t\t\t\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\t\n\t\t\t\t\telse\n\t\t\t\t\t\tOUTPUT(Format,dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),WSTR(\"  \"),WSTR(\"  \"));\n\t\t\t\t}\n\t\t\t\telse\t\t\t\t\n\t\t\t\t\tOUTPUT(Format,dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),(pSegDesc[i].TYPE & 2) ? WSTR(\"B \"):WSTR(\"  \"),WSTR(\"  \"));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tGateDecr = (X86_GATE_DECR* )(&pSegDesc[i]);\n\t\t\tdwSegmentLimit = GateDecr->OffsetLow | (GateDecr->OffsetHigh << 16);\n\t\t\tdwSegmentBase = GateDecr->Selector;\n\t\t\tif(GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_TASK_GATE)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif((GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_32CALL_GATE) && (GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_16CALL_GATE))\n\t\t\t\tOUTPUT(WSTR(\"%04x  %s  %04x:%08x       %d    %s\"),dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"));\n#endif\n\t\t}\n\treturn true;\n}\nvoid\tSetGDTBaseAddress(void *IDTBase,DWORD dwIDTSize,DWORD dwIndex)\n{\n\n}\n//DWORD GetIDTBase()\n//dwIDTBase = GetIDTBase(&dwIDTSize);\t\n\nBYTE CGDTWnd::gdtdata[8*256]={\n0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x9B,0xCF,0x00,\n0xFF,0xFF,0x00,0x00,0x00,0x93,0xCF,0x00,0xFF,0xFF,0x00,0x00,0x00,0xFB,0xCF,0x00,\n0xFF,0xFF,0x00,0x00,0x00,0xF3,0xCF,0x00,0xAB,0x20,0x00,0x20,0x04,0x8B,0x00,0x80,\n0x01,0x00,0x00,0xF0,0xDF,0x93,0xC0,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xF3,0x40,0x00,\n0xFF,0xFF,0x00,0x04,0x00,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x68,0x00,0x00,0x32,0x54,0x89,0x00,0x80,0x68,0x00,0x68,0x32,0x54,0x89,0x00,0x80,\n0xFF,0xFF,0x20,0x2F,0x02,0x93,0x00,0x00,0xFF,0x3F,0x00,0x80,0x0B,0x92,0x00,0x00,\n0xFF,0x03,0x00,0x70,0xFF,0x92,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x40,0x9A,0x00,0x80,\n0xFF,0xFF,0x00,0x00,0x40,0x92,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x92,0x00,0x00,\n0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x68,0x00,0xB8,0xEB,0xBD,0x89,0x00,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0xFF,0xFF,0x00,0x20,0xA9,0x9F,0x00,0xF9,0xFF,0xFF,0x00,0x00,0x00,0x92,0x00,0x00,\n0xCE,0x25,0xD0,0x31,0x50,0x98,0x0F,0x80,0xFF,0xFF,0x00,0x00,0x00,0x92,0x00,0x00,\n0xFF,0xFF,0x00,0x20,0xAA,0x93,0x40,0xF9,0xFF,0xFF,0x00,0x20,0xAA,0x93,0x40,0xF9,\n0xFF,0xFF,0x00,0x20,0xAA,0x93,0x40,0xF9,0x20,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x28,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x30,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x38,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x40,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x48,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x50,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x58,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x60,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x68,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x70,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x78,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x80,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x88,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x90,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0x98,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xA0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xA8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xB0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xB8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xC0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xC8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xD0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xD8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xE0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xE8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0xF0,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,\n0xF8,0xF1,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x08,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x10,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x18,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x20,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x28,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x30,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x38,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x40,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x48,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x50,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x58,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x60,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x68,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x70,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x78,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x80,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x88,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x90,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0x98,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xA0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xA8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xB0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xB8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xC0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xC8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xD0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xD8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xE0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xE8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0xF0,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,\n0xF8,0xF2,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x08,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x10,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x18,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x20,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x28,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x30,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x38,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x40,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x48,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x50,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x58,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x60,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x68,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x70,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x78,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x80,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x88,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x90,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0x98,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xA0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xA8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xB0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xB8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xC0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xC8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xD0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xD8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xE0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xE8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0xF0,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,\n0xF8,0xF3,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\n0x22,0xBC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x69,0xAF,0x08,0x00,0x00,0xEE,0xF0,0xF1,\n0x78,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,0x87,0xAF,0x08,0x00,0x00,0xEE,0xF0,0xF1,\n0xE5,0xC1,0x08,0x00,0x00,0xEE,0x4D,0x80,0x26,0xC3,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x96,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,0x57,0xCA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x78,0x11,0x50,0x00,0x00,0x85,0x00,0x00,0x71,0xCE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x74,0xCF,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA5,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,\n0xB4,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,0xC3,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,\n0xD2,0xAF,0x08,0x00,0x00,0x8E,0xF0,0xF1,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4F,0xE0,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6A,0xE1,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0xA0,0x00,0x00,0x85,0x4D,0x80,0xB6,0xE2,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0xF6,0xB4,0x08,0x00,0x00,0xEE,0x4D,0x80,0xE1,0xB5,0x08,0x00,0x00,0xEE,0x4D,0x80,\n0x44,0xB7,0x08,0x00,0x00,0xEE,0x4D,0x80,0xF0,0xAF,0x08,0x00,0x00,0xEE,0xF0,0xF1,\n0xFF,0xAF,0x08,0x00,0x00,0xEE,0xF0,0xF1,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC0,0xE4,0x08,0x00,0x00,0x8E,0x6C,0x80,0x0E,0xB0,0x08,0x00,0x00,0x8E,0xF0,0xF1,\n0x84,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1D,0xB0,0x08,0x00,0x00,0x8E,0xF0,0xF1,\n0x2C,0xB0,0x08,0x00,0x00,0x8E,0xF0,0xF1,0x9C,0x15,0x08,0x00,0x00,0x8E,0xA2,0x81,\n0xAC,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4A,0xB0,0x08,0x00,0x00,0x8E,0xF0,0xF1,\n0x80,0x8E,0x08,0x00,0x00,0x8E,0x6C,0x80,0x6C,0x52,0x08,0x00,0x00,0x8E,0xBC,0x81,\n0xD4,0xED,0x08,0x00,0x00,0x8E,0x90,0x81,0xF4,0xF2,0x08,0x00,0x00,0x8E,0x9E,0x81,\n0x3B,0xB0,0x08,0x00,0x00,0x8E,0xF0,0xF1,0xF2,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE4,0x66,0x08,0x00,0x00,0x8E,0xBB,0x81,0x2C,0x1B,0x08,0x00,0x00,0x8E,0xB7,0x81,\n0x10,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE1,0xAF,0x08,0x00,0x00,0xEE,0xF0,0xF1,\n0x24,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x2E,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x38,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x42,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x56,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x60,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6A,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x74,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x7E,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x88,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x92,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x9C,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA6,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB0,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBA,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC4,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xCE,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD8,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE2,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xEC,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xF6,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x00,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0A,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x14,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1E,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x28,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x32,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x3C,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x46,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x50,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x5A,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x64,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6E,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x78,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x82,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x8C,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x96,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xA0,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xAA,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB4,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBE,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC8,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xD2,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xDC,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE6,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xF0,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xFA,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x04,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0E,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x18,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x22,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x2C,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x36,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x40,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4A,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x54,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x5E,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x68,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x72,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x7C,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x86,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n};\n\n"
  },
  {
    "path": "Project/Syser/Source/GDTWnd.h",
    "content": "#ifndef _GDTWND_H_\n#define _GDTWND_H_\n \nclass CGDTWnd :\tpublic CWispList\n{\npublic:\n\tCGDTWnd();\n\t~CGDTWnd();\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnClose);\n\tbool\tInsertGDT();\n\tvoid\tSetGDTBaseAddress(void *GDTBase,DWORD dwGDTSize=0x7ff,DWORD dwIndex=0);\n\tstatic BYTE gdtdata[8*256];\n\tVOID *\tm_pGDTAddress;\n\tDWORD\tm_dwGDTSize;\n\tDWORD\tm_dwBeginIndex;\n};\n\n#endif /* _GDTWND_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/GameSpy.cpp",
    "content": "#include \"stdafx.h\"\n#include \"GameSpy.h\"\n\nWISP_MSG_MAP_BEGIN(CGameSpyFrameWnd) \nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\n\nCGameSpyFrameWnd::CGameSpyFrameWnd()\n{\n\n}\n\nCGameSpyFrameWnd::~CGameSpyFrameWnd()\n{\n\n}\n\n\nbool CGameSpyFrameWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CGameSpyFrameWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/GameSpy.h",
    "content": "#ifndef _GAME_SPY_H_\n#define _GAME_SPY_H_\n\nclass CGameSpyFrameWnd : public CWispWnd\n{\npublic:\n\tCGameSpyFrameWnd();\n\t~CGameSpyFrameWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/GeneRegList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"GeneRegList.h\" \n\nWISP_MENU_RES_ITEM GeneRegMenu[]=\n{\n\t{WSTR(\"Show Code \"),EVENT_ID_SHOW_CODE,14*16},\n\t{WSTR(\"Show Data \"),EVENT_ID_SHOW_DATA,13*16+15},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CGeneRegList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CGeneRegList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_CODE,OnEventShowCode);\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_DATA,OnEventShowData);\n\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EAX,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EBX,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_ECX,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EDX,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_ESP,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EBP,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_ESI,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EDI,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_DATAVIEW_EIP,OnShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EAX,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EBX,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_ECX,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EDX,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_ESP,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EBP,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_ESI,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EDI,OnShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_CODEVIEW_EIP,OnShowCode)\n\nWISP_MSG_EVENT_MAP_END\n\n\nCGeneRegList::CGeneRegList()\n{\n\tSTZeroMemory(m_PrevCPUReg);\t\n}\n\nCGeneRegList::~CGeneRegList()\n{\n}\n\nbool CGeneRegList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_ChgColor = ColorOption.clrChgText;\n\tm_NormalColor = ColorOption.clrText;\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\tm_X86RegPtr=X86_REG_PTR;\n\n\t\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,52));\n\n\tSetDefaultTextColor(m_NormalColor);\n\tSetBGColor(ColorOption.clrBackground);\n\n\tm_PopupMenu.CreatePopupMenu(GeneRegMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hMenuShowCode = m_PopupMenu.GetItem(EVENT_ID_SHOW_CODE);\n\tm_hMenuShowData = m_PopupMenu.GetItem(EVENT_ID_SHOW_DATA);\n\n\tint FontWidth = m_ClientDC.GetTextExtent(WSTR(\"X\"));\n\tInsertColumn(WISP_STR(\"Register\"),FontWidth*9);\n\tInsertColumn(WISP_STR(\"Value[F2]\"),FontWidth*10,WISP_WLCS_EDITABLE);\n\tInsertColumn(WISP_STR(\"Context\"),100);\n\n\tm_hLastItem = \n\tm_hGeneRegItem[REG_GENE_EAX] = InsertItem(WISP_STR(\"EAX\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EBX] = InsertItem(WISP_STR(\"EBX\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ECX] = InsertItem(WISP_STR(\"ECX\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EDX] = InsertItem(WISP_STR(\"EDX\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ESI] = InsertItem(WISP_STR(\"ESI\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EDI] = InsertItem(WISP_STR(\"EDI\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EBP] = InsertItem(WISP_STR(\"EBP\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ESP] = InsertItem(WISP_STR(\"ESP\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EIP] = InsertItem(WISP_STR(\"EIP\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_EFL] = InsertItem(WISP_STR(\"EFLAG\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_AF] = InsertItem(WISP_STR(\"AF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_CF] = InsertItem(WISP_STR(\"CF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_DF] = InsertItem(WISP_STR(\"DF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_IF] = InsertItem(WISP_STR(\"IF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_OF] = InsertItem(WISP_STR(\"OF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_PF] = InsertItem(WISP_STR(\"PF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_SF] = InsertItem(WISP_STR(\"SF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ZF] = InsertItem(WISP_STR(\"ZF\"),m_hGeneRegItem[REG_GENE_EFL],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_CS] = InsertItem(WISP_STR(\"CS\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_DS] = InsertItem(WISP_STR(\"DS\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ES] = InsertItem(WISP_STR(\"ES\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_FS] = InsertItem(WISP_STR(\"FS\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_GS] = InsertItem(WISP_STR(\"GS\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_SS] = InsertItem(WISP_STR(\"SS\"),NULL,WISP_WLIS_NORMAL);\n\n\tm_hGeneRegItem[REG_GENE_CS_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_CS],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_DS_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_DS],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_ES_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_ES],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_FS_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_FS],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_GS_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_GS],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_SS_BASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_SS],WISP_WLIS_NORMAL);\n#ifdef CODE_OS_NT_DRV\t\n\tm_hGeneRegItem[REG_GENE_GDTR] = InsertItem(WISP_STR(\"GDTR\"),NULL,WISP_WLIS_NORMAL);\t\n\tm_hGeneRegItem[REG_GENE_IDTR] = InsertItem(WISP_STR(\"IDTR\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_LDTR] = InsertItem(WISP_STR(\"LDTR\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_TR] = InsertItem(WISP_STR(\"TR\"),NULL,WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_GDTRBASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_GDTR],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_GDTRLIMIT] = InsertItem(WISP_STR(\"Limit\"),m_hGeneRegItem[REG_GENE_GDTR],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_IDTRBASE] = InsertItem(WISP_STR(\"Base\"),m_hGeneRegItem[REG_GENE_IDTR],WISP_WLIS_NORMAL);\n\tm_hGeneRegItem[REG_GENE_IDTRLIMIT] = InsertItem(WISP_STR(\"Limit\"),m_hGeneRegItem[REG_GENE_IDTR],WISP_WLIS_NORMAL);\n#endif\n\tfor(int n=0;n<REG_GENE_REGCOUNT;n++)\n\t{\n\t\tSetItemData(m_hGeneRegItem[n],0,n);\n\t}\n\tResetContext();\n\n\tAttachShortcutKey();\n\n\treturn true;\n}\nvoid\tCGeneRegList::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EAX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_1,EVENT_ID_SET_DATAVIEW_EAX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EBX,m_HotKeyMap)==0)\t\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_2,EVENT_ID_SET_DATAVIEW_EBX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_ECX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_3,EVENT_ID_SET_DATAVIEW_ECX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EDX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_4,EVENT_ID_SET_DATAVIEW_EDX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_ESP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_5,EVENT_ID_SET_DATAVIEW_ESP);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EBP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_6,EVENT_ID_SET_DATAVIEW_EBP);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_ESI,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_7,EVENT_ID_SET_DATAVIEW_ESI);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EDI,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_8,EVENT_ID_SET_DATAVIEW_EDI);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_DATAVIEW_EIP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_9,EVENT_ID_SET_DATAVIEW_EIP);\n\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EAX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_1,EVENT_ID_SET_CODEVIEW_EAX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EBX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_2,EVENT_ID_SET_CODEVIEW_EBX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_ECX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_3,EVENT_ID_SET_CODEVIEW_ECX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EDX,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_4,EVENT_ID_SET_CODEVIEW_EDX);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_ESP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_5,EVENT_ID_SET_CODEVIEW_ESP);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EBP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_6,EVENT_ID_SET_CODEVIEW_EBP);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_ESI,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_7,EVENT_ID_SET_CODEVIEW_ESI);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EDI,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_8,EVENT_ID_SET_CODEVIEW_EDI);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SET_CODEVIEW_EIP,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_9,EVENT_ID_SET_CODEVIEW_EIP);\n}\nbool CGeneRegList::OnClose(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CGeneRegList::OnEventShowCode(IN WISP_MSG*pMsg)\n{\t\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\tif(USHexStrToNum((WISP_PCSTR)GetItemText(hItem,1),&Address)==false)\n\t\treturn true;\n\tVIEW_CODE(Address,true);\n\treturn true;\n}\n\n\n\nbool CGeneRegList::OnEventShowData(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\tif(USHexStrToNum((WISP_PCSTR)GetItemText(hItem,1),&Address)==false)\n\t\treturn true;\n\tVIEW_DATA(Address);\n\treturn true;\n}\n\nbool CGeneRegList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\nbool CGeneRegList::OnShowData(IN WISP_MSG*pMsg)\n{\n\tUINT RegIndex=pMsg->Command.CmdID-EVENT_ID_SET_DATAVIEW_EAX+1;\n\tDWORD Address;\n\tswitch(RegIndex)\n\t{\n\tcase 1:Address = *CPU_REG_PTR_X86.pEAX;break;\n\tcase 2:Address = *CPU_REG_PTR_X86.pEBX;break;\n\tcase 3:Address = *CPU_REG_PTR_X86.pECX;break;\n\tcase 4:Address = *CPU_REG_PTR_X86.pEDX;break;\n\tcase 7:Address = *CPU_REG_PTR_X86.pESI;break;\n\tcase 8:Address = *CPU_REG_PTR_X86.pEDI;break;\n\tcase 6:Address = *CPU_REG_PTR_X86.pEBP;break;\n\tcase 5:Address = *CPU_REG_PTR_X86.pESP;break;\n\tcase 9:Address = *CPU_REG_PTR_X86.pEIP;break;\n\t}\n\tVIEW_DATA(Address);\n\treturn true;\n}\nbool CGeneRegList::OnShowCode(IN WISP_MSG*pMsg)\n{\n\tUINT RegIndex=pMsg->Command.CmdID-EVENT_ID_SET_CODEVIEW_EAX+1;\n\t\n\tDWORD Address;\n\tswitch(RegIndex)\n\t{\n\tcase 1:Address = *CPU_REG_PTR_X86.pEAX;break;\n\tcase 2:Address = *CPU_REG_PTR_X86.pEBX;break;\n\tcase 3:Address = *CPU_REG_PTR_X86.pECX;break;\n\tcase 4:Address = *CPU_REG_PTR_X86.pEDX;break;\n\tcase 7:Address = *CPU_REG_PTR_X86.pESI;break;\n\tcase 8:Address = *CPU_REG_PTR_X86.pEDI;break;\n\tcase 6:Address = *CPU_REG_PTR_X86.pEBP;break;\n\tcase 5:Address = *CPU_REG_PTR_X86.pESP;break;\n\tcase 9:Address = *CPU_REG_PTR_X86.pEIP;break;\n\t}\n\n\tVIEW_CODE(Address,true);\n\treturn true;\n}\n\n\nbool CGeneRegList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tWCHAR szBuffer[128];\n\tHANDLE hItem;\n\tULPOS Address;\n\tbool bAddressVailed=false;\n\tREGHOTKEYMAP::IT FindIT;\n\tint SizeXorY;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT!=m_HotKeyMap.End())\n\t\t{\t\t\t\n\t\t\tWISP_MSG Msg;\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\n\t\t\treturn OnEvent(&Msg);\n\t\t}\n\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\n\t\t\tif(hItem)\n\t\t\t{\n\t\t\t\tAddress = (ULPOS)GetItemData(hItem,1);\n\t\t\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,szBuffer,1)==1)\n\t\t\t\t\tbAddressVailed=true;\n\t\t\t\tWISP_PCSTR pszText = (WISP_PCSTR)GetItemText(hItem,1);\n\t\t\t\tTStrCpy(szBuffer,WSTR(\"Show Code \"));\n\t\t\t\tTStrCat(szBuffer,pszText);\n\t\t\t\tm_PopupMenu.SetItemText(m_hMenuShowCode,szBuffer);\n\t\t\t\tTStrCpy(szBuffer,WSTR(\"Show Data \"));\n\t\t\t\tTStrCat(szBuffer,pszText);\n\t\t\t\tm_PopupMenu.SetItemText(m_hMenuShowData,szBuffer);\n\t\t\t}\t\t\t\n\t\t\tm_PopupMenu.EnableItem(m_hMenuShowCode,hItem!=NULL && bAddressVailed);\n\t\t\tm_PopupMenu.EnableItem(m_hMenuShowData,hItem!=NULL && bAddressVailed);\n\t\t\tm_PopupMenu.Popup();\n\t\t\tbreak;\n\t\tcase WISP_VK_F2:\n\t\t\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tif(hItem)\n\t\t\t{\n\t\t\t\tEnableVisible(hItem);\n\t\t\t\tBeginEditItem(hItem,1);\n\t\t\t}\n\t\t\treturn false;\n\t\t\t\n\t\tcase WISP_VK_A:\n\t\t\t{\n\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.GetWndSpace(0,SizeXorY);\n\t\t\t\tif(SizeXorY>10)\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.ResizeWndSpace(0,SizeXorY-10);\n\t\t\t\telse\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.ResizeWndSpace(0,0);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_D:\n\t\t\t{\n\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.GetWndSpace(0,SizeXorY);\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.ResizeWndSpace(0,SizeXorY+10);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MainSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_W:\n\t\t\t{\n\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.GetWndSpace(0,SizeXorY);\n\t\t\t\tif(SizeXorY>10)\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.ResizeWndSpace(0,SizeXorY-10);\n\t\t\t\telse\n\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.ResizeWndSpace(0,0);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\tcase WISP_VK_S:\n\t\t\t{\n\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.GetWndSpace(0,SizeXorY);\t\t\t\t\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.ResizeWndSpace(0,SizeXorY+10);\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MonitorSplitWnd.AdjustWndPos();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\t\t\n\n\t\t}\t\t\n\t}\n\treturn true;\n}\n\nvoid CGeneRegList::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Register View\"),CWispRect(0,0,320,210),NULL,0,WISP_WS_NORMAL_NO_MAX|WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT);\n\t\tCenter();\n\t\tUpdateContext();\n\t}\t\n}\n\nvoid CGeneRegList::ResetContext()\n{\n\tif(IsWindow()==false)\n\t\treturn;\n\tfor(int n=0;n<REG_GENE_REGCOUNT;n++)\n\t{\n\t\tif(n>=REG_GENE_EAX && n<=REG_GENE_EFL)\n\t\t\tSetItemText(m_hGeneRegItem[n],1,WSTR(\"????????\"));\n\t\telse if(n>=REG_GENE_CS && n<=REG_GENE_SS)\n\t\t\tSetItemText(m_hGeneRegItem[n],1,WSTR(\"????\"));\n\t\telse if(n>=REG_GENE_AF && n<=REG_GENE_ZF)\n\t\t\tSetItemText(m_hGeneRegItem[n],1,WSTR(\"?\"));\n\t\telse if(n>=REG_GENE_CS_BASE && n<=REG_GENE_SS_BASE)\n\t\t\tSetItemText(m_hGeneRegItem[n],1,WSTR(\"????????\"));\n\t\tSetItemText(m_hGeneRegItem[n],2,NULL);\n\t\tSetItemTextColor(m_hGeneRegItem[n],1,m_NormalColor);\n\t}\n\tSelectItem(m_hGeneRegItem[REG_GENE_EAX]);\n\tSTZeroMemory(m_PrevCPUReg);\n}\n\nbool CGeneRegList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tint n;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn false;\n\tDWORD dwCurrentCpuID=0;\n#ifdef CODE_OS_NT_DRV\t\n\tdwCurrentCpuID = GetCurrentCPULocalAPICID();\n\tif(dwCurrentCpuID!= GetCPUIndex())\n\t\treturn false;\n#endif\n\tn = (int)GetItemData(hItem,0);\n\tif(n>=REG_GENE_AF && n<=REG_GENE_ZF)\n\t{\n\t\tbool bChg;\n\t\tint Value;\n\t\tEFL_REG*pEFL = (EFL_REG*)&m_PrevCPUReg.EFL;\n\t\tswitch(n)\n\t\t{\n\t\tcase REG_GENE_AF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->AF = !CPU_REG_PTR_X86.pEFL->AF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->AF != pEFL->AF;\n\t\t\tbreak;\n\t\tcase REG_GENE_CF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->CF = !CPU_REG_PTR_X86.pEFL->CF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->CF != pEFL->CF;\n\t\t\tbreak;\n\t\tcase REG_GENE_DF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->DF = !CPU_REG_PTR_X86.pEFL->DF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->DF != pEFL->DF;\n\t\t\tbreak;\n\t\tcase REG_GENE_IF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->IF = !CPU_REG_PTR_X86.pEFL->IF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->IF != pEFL->IF;\n\t\t\tbreak;\n\t\tcase REG_GENE_OF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->OF = !CPU_REG_PTR_X86.pEFL->OF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->OF != pEFL->OF;\n\t\t\tbreak;\n\t\tcase REG_GENE_PF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->PF = !CPU_REG_PTR_X86.pEFL->PF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->PF != pEFL->PF;\n\t\t\tbreak;\n\t\tcase REG_GENE_SF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->SF = !CPU_REG_PTR_X86.pEFL->SF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->SF != pEFL->SF;\n\t\t\tbreak;\n\t\tcase REG_GENE_ZF:\n\t\t\tValue = CPU_REG_PTR_X86.pEFL->ZF = !CPU_REG_PTR_X86.pEFL->ZF;\n\t\t\tbChg = CPU_REG_PTR_X86.pEFL->ZF != pEFL->ZF;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\treturn false;\n\t\t}\n\t\tSetItemNum(m_hGeneRegItem[REG_GENE_EFL],1,*(DWORD*)CPU_REG_PTR_X86.pEFL,WSTR(\"%08X\"));\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EFL],1,*(DWORD*)CPU_REG_PTR_X86.pEFL==m_PrevCPUReg.EFL?m_NormalColor:m_ChgColor);\n\t\tSetItemText(m_hGeneRegItem[n],1,Value?WSTR(\"1\"):WSTR(\"0\"));\n\t\tSetItemTextColor(m_hGeneRegItem[n],1,bChg?m_ChgColor:m_NormalColor);\n\t\tUpdateClient();\n\t\tUPDATE_CONTEXT();\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CGeneRegList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tint n;\n\tDWORD Value,*pddValue;\n\tWORD *pdwValue;\n\tif(CALCEXP(String,&Value)==false)\n\t\treturn false;\n\tn = (int)GetItemData(hItem,0);\n\tif(n<0 || n>=REG_GENE_REGCOUNT)\n\t\treturn false;\n\tif(n>=REG_GENE_EAX && n<=REG_GENE_EFL)\n\t{\n\t\tswitch(n)\n\t\t{\n\t\tcase REG_GENE_EAX:pddValue = CPU_REG_PTR_X86.pEAX;break;\n\t\tcase REG_GENE_EBX:pddValue = CPU_REG_PTR_X86.pEBX;break;\n\t\tcase REG_GENE_ECX:pddValue = CPU_REG_PTR_X86.pECX;break;\n\t\tcase REG_GENE_EDX:pddValue = CPU_REG_PTR_X86.pEDX;break;\n\t\tcase REG_GENE_ESI:pddValue = CPU_REG_PTR_X86.pESI;break;\n\t\tcase REG_GENE_EDI:pddValue = CPU_REG_PTR_X86.pEDI;break;\n\t\tcase REG_GENE_EBP:pddValue = CPU_REG_PTR_X86.pEBP;break;\n\t\tcase REG_GENE_ESP:pddValue = CPU_REG_PTR_X86.pESP;break;\n\t\tcase REG_GENE_EIP:pddValue = CPU_REG_PTR_X86.pEIP;break;\n\t\tcase REG_GENE_EFL:pddValue = (DWORD*)CPU_REG_PTR_X86.pEFL;break;\n\t\tdefault:return false;\n\t\t}\n\t\tif(*pddValue==Value)\n\t\t\treturn false;\n\t\t*pddValue = Value;\n\t\tSetItemTextColor(m_hGeneRegItem[n],1,m_ChgColor);\n\t\tString.Format(WSTR(\"%08X\"),*pddValue);\n\t}\n\telse if(n>=REG_GENE_CS && n<=REG_GENE_SS)\n\t{\n\t\tswitch(n)\n\t\t{\n\t\tcase REG_GENE_CS:pdwValue = CPU_REG_PTR_X86.pCS;break;\n\t\tcase REG_GENE_DS:pdwValue = CPU_REG_PTR_X86.pDS;break;\n\t\tcase REG_GENE_ES:pdwValue = CPU_REG_PTR_X86.pES;break;\n\t\tcase REG_GENE_FS:pdwValue = CPU_REG_PTR_X86.pFS;break;\n\t\tcase REG_GENE_GS:pdwValue = CPU_REG_PTR_X86.pGS;break;\n\t\tcase REG_GENE_SS:pdwValue = CPU_REG_PTR_X86.pSS;break;\n\t\tdefault:return false;\n\t\t}\n\t\tif(*pdwValue==(WORD)Value)\n\t\t\treturn false;\n\t\t*pdwValue=(WORD)Value;\n\t\tSetItemTextColor(m_hGeneRegItem[n],1,m_ChgColor);\n\t\tString.Format(WSTR(\"%04X\"),*pdwValue);\n\t}\n\telse\n\t\treturn false;\n\tgpSyser->m_pDebugger->SaveRegister();\n\tif(n==REG_GENE_EFL)\n\t{\n\t\tUpdateEFlagContext();\n\t}\n\telse if(n==REG_GENE_EIP)\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.UpdateAllView();\n\t}\n\tm_hLastItem = m_hGeneRegItem[n];\n\tUPDATE_CONTEXT();\n\treturn true;\n}\n\nvoid CGeneRegList::UpdateCommentContext(X86_CPU_REG_PTR& pPtr)\n{\n\tCHAR szBuffer[256];\n\tWCHAR szBufferW[256];\n\tint StrType;\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pEAX,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pEAX,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pEAX,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \t\t\n\tSetItemText(m_hGeneRegItem[REG_GENE_EAX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pEBX,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pEBX,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pEBX,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EBX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pECX,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pECX,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pECX,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ECX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pEDX,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pEDX,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pEDX,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EDX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pESI,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pESI,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pESI,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ESI],2,szBufferW);\n\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pEDI,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pEDI,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pEDI,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\n\tSetItemText(m_hGeneRegItem[REG_GENE_EDI],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pEBP,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pEBP,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pEBP,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EBP],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(*CPU_REG_PTR_X86.pESP==0x7ffb8)\n\t\tszBufferW[0]=0;\n\tif(GETSYM(*pPtr.pESP,szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(*pPtr.pESP,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(*pPtr.pESP,szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ESP],2,szBufferW);\n\tszBufferW[0]=0;\n\t//if(GETSYM(*CPU_REG_PTR_X86.pEIP,szBuffer,sizeof(szBuffer)))\n\t//{\n\t//\tTStrCpy(szBufferW,szBuffer);\n\t//}\n\t//else if(!GET_STRING_SYM(*CPU_REG_PTR_X86.pEIP,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0])))\n\t//{\n\tif(GET_ALMOST_SYM(*pPtr.pEIP,szBuffer))\n\t\tTStrCpy(szBufferW,szBuffer);\n\t//} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EIP],2,szBufferW);\n\n}\n\nvoid CGeneRegList::UpdateContext()\n{\n\tDWORD Address;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false || IsWindow()==false)\n\t\treturn;\n\tDWORD dwCurrentCpuID=0;\n#ifdef CODE_OS_NT_DRV\t\n\tdwCurrentCpuID = GetCurrentCPULocalAPICID();\n#endif\n\n\t\n\tif(dwCurrentCpuID!=m_nCPUIndex)\t\n\t\tgpSyser->m_pDebugger->GetCPUX86RegPtr(&m_X86RegPtr,m_nCPUIndex);\n\telse\n\t\tm_X86RegPtr=X86_REG_PTR;\n\t\n\t//////////////////////////////////////////////////////////////////\n\t//EAX\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EAX],1,*CPU_REG_PTR_X86.pEAX,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EAX],1,*CPU_REG_PTR_X86.pEAX);\n\tif(*CPU_REG_PTR_X86.pEAX == m_PrevCPUReg.EAX)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EAX],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EAX],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//EBX\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EBX],1,*CPU_REG_PTR_X86.pEBX,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EBX],1,*CPU_REG_PTR_X86.pEBX);\n\tif(*CPU_REG_PTR_X86.pEBX == m_PrevCPUReg.EBX)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBX],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBX],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//ECX\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ECX],1,*CPU_REG_PTR_X86.pECX,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ECX],1,*CPU_REG_PTR_X86.pECX);\n\tif(*CPU_REG_PTR_X86.pECX == m_PrevCPUReg.ECX)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ECX],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ECX],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//EDX\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EDX],1,*CPU_REG_PTR_X86.pEDX,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EDX],1,*CPU_REG_PTR_X86.pEDX);\n\tif(*CPU_REG_PTR_X86.pEDX == m_PrevCPUReg.EDX)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDX],1,m_NormalColor);\n\telse\n\t{\n\t\t\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDX],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//ESI\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ESI],1,*CPU_REG_PTR_X86.pESI,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ESI],1,*CPU_REG_PTR_X86.pESI);\n\tif(*CPU_REG_PTR_X86.pESI == m_PrevCPUReg.ESI)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESI],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESI],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//EDI\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EDI],1,*CPU_REG_PTR_X86.pEDI,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EDI],1,*CPU_REG_PTR_X86.pEDI);\n\tif(*CPU_REG_PTR_X86.pEDI == m_PrevCPUReg.EDI)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDI],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDI],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//EBP\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EBP],1,*CPU_REG_PTR_X86.pEBP,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EBP],1,*CPU_REG_PTR_X86.pEBP);\n\tif(*CPU_REG_PTR_X86.pEBP == m_PrevCPUReg.EBP)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBP],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBP],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//ESP\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ESP],1,*CPU_REG_PTR_X86.pESP,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ESP],1,*CPU_REG_PTR_X86.pESP);\n\tif(*CPU_REG_PTR_X86.pESP == m_PrevCPUReg.ESP)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESP],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESP],1,m_ChgColor);\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//EIP\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EIP],1,*CPU_REG_PTR_X86.pEIP,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EIP],1,*CPU_REG_PTR_X86.pEIP);\n\tif(*CPU_REG_PTR_X86.pEIP == m_PrevCPUReg.EIP)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EIP],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EIP],1,m_ChgColor);\n\t}\n\tUpdateCommentContext(m_X86RegPtr);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlags\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EFL],1,*(DWORD*)CPU_REG_PTR_X86.pEFL,WSTR(\"%08X\"));\n\tif(*(DWORD*)CPU_REG_PTR_X86.pEFL == m_PrevCPUReg.EFL)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EFL],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EFL],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//CS\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_CS],1,*CPU_REG_PTR_X86.pCS,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pCS == m_PrevCPUReg.CS)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_CS],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_CS],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pCS,&Address))\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_CS_BASE],1,Address,WSTR(\"%08X\"));\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_CS_BASE],1,WSTR(\"????????\"));\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//DS\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_DS],1,*CPU_REG_PTR_X86.pDS,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pDS == m_PrevCPUReg.DS)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_DS],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_DS],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pDS,&Address))\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_DS_BASE],1,Address,WSTR(\"%08X\"));\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_DS_BASE],1,WSTR(\"????????\"));\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//ES\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ES],1,*CPU_REG_PTR_X86.pES,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pES == m_PrevCPUReg.ES)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ES],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ES],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pES,&Address))\n\t\t{\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_ES_BASE],1,Address,WSTR(\"%08X\"));\n\t\t\tSetItemData(m_hGeneRegItem[REG_GENE_ES_BASE],1,Address);\n\t\t}\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_ES_BASE],1,WSTR(\"????????\"));\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//FS\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_FS],1,*CPU_REG_PTR_X86.pFS,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pFS == m_PrevCPUReg.FS)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_FS],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_FS],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pFS,&Address))\n\t\t{\n\t\t\tSetItemData(m_hGeneRegItem[REG_GENE_FS_BASE],1,Address);\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_FS_BASE],1,Address,WSTR(\"%08X\"));\n\t\t}\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_FS_BASE],1,WSTR(\"????????\"));\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//GS\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_GS],1,*CPU_REG_PTR_X86.pGS,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pGS == m_PrevCPUReg.GS)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_GS],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_GS],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pGS,&Address))\n\t\t{\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_GS_BASE],1,Address,WSTR(\"%08X\"));\n\t\t\tSetItemData(m_hGeneRegItem[REG_GENE_GS_BASE],1,Address);\n\t\t}\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_GS_BASE],1,WSTR(\"????????\"));\n\t}\n\t//////////////////////////////////////////////////////////////////\n\t//SS\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_SS],1,*CPU_REG_PTR_X86.pSS,WSTR(\"%04X\"));\n\tif(*CPU_REG_PTR_X86.pSS == m_PrevCPUReg.SS)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_SS],1,m_NormalColor);\n\telse\n\t{\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_SS],1,m_ChgColor);\n\t\tif(gpSyser->m_pDebugger->GetSegRegBase(*CPU_REG_PTR_X86.pSS,&Address))\n\t\t{\n\t\t\tSetItemNum(m_hGeneRegItem[REG_GENE_SS_BASE],1,Address,WSTR(\"%08X\"));\n\t\t\tSetItemData(m_hGeneRegItem[REG_GENE_SS_BASE],1,Address);\n\t\t}\n\t\telse\n\t\t\tSetItemText(m_hGeneRegItem[REG_GENE_SS_BASE],1,WSTR(\"????????\"));\n\t}\n#ifdef CODE_OS_NT_DRV\t\n\t//////////////////////////////////////////////////////////////////\n\t//GDTR\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_GDTR],1,*CPU_REG_PTR_X86.pGDTRBase,WSTR(\"%08X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//GDTR Base\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_GDTRBASE],1,*CPU_REG_PTR_X86.pGDTRBase,WSTR(\"%08X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//GDTR Limit\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_GDTRLIMIT],1,*CPU_REG_PTR_X86.pGDTRLimit,WSTR(\"%04X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//IDTR\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_IDTR],1,*CPU_REG_PTR_X86.pIDTRBase,WSTR(\"%08X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//IDTR Base\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_IDTRBASE],1,*CPU_REG_PTR_X86.pIDTRBase,WSTR(\"%08X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//IDTR Limit\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_IDTRLIMIT],1,*CPU_REG_PTR_X86.pIDTRLimit,WSTR(\"%04X\"));\t\n\t//////////////////////////////////////////////////////////////////\n\t//LDTR\n\t//////////////////////////////////////////////////////////////////\t\n\tSetItemNum(m_hGeneRegItem[REG_GENE_LDTR],1,*CPU_REG_PTR_X86.pLDTR,WSTR(\"%04X\"));\n\t//////////////////////////////////////////////////////////////////\n\t//TR\n\t//////////////////////////////////////////////////////////////////\n\tSetItemNum(m_hGeneRegItem[REG_GENE_TR],1,*CPU_REG_PTR_X86.pTR,WSTR(\"%04X\"));\n#endif\n\tUpdateEFlagContext();\n\n\tm_PrevCPUReg.EAX = *CPU_REG_PTR_X86.pEAX;\n\tm_PrevCPUReg.EBX = *CPU_REG_PTR_X86.pEBX;\n\tm_PrevCPUReg.ECX = *CPU_REG_PTR_X86.pECX;\n\tm_PrevCPUReg.EDX = *CPU_REG_PTR_X86.pEDX;\n\tm_PrevCPUReg.EDI = *CPU_REG_PTR_X86.pEDI;\n\tm_PrevCPUReg.ESI = *CPU_REG_PTR_X86.pESI;\n\tm_PrevCPUReg.EBP = *CPU_REG_PTR_X86.pEBP;\n\tm_PrevCPUReg.ESP = *CPU_REG_PTR_X86.pESP;\n\tm_PrevCPUReg.EIP = *CPU_REG_PTR_X86.pEIP;\n\tm_PrevCPUReg.EFL = *(DWORD*)CPU_REG_PTR_X86.pEFL;\n\tm_PrevCPUReg.CS = *CPU_REG_PTR_X86.pCS;\n\tm_PrevCPUReg.DS = *CPU_REG_PTR_X86.pDS;\n\tm_PrevCPUReg.ES = *CPU_REG_PTR_X86.pES;\n\tm_PrevCPUReg.FS = *CPU_REG_PTR_X86.pFS;\n\tm_PrevCPUReg.GS = *CPU_REG_PTR_X86.pGS;\n\tm_PrevCPUReg.SS = *CPU_REG_PTR_X86.pSS;\n\t\n\tUpdateClient();\n}\n\nvoid CGeneRegList::UpdateEFlagContext()\n{\n\tEFL_REG*pPrevEFlag=(EFL_REG*)&m_PrevCPUReg.EFL;\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->AF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_AF],1,CPU_REG_PTR_X86.pEFL->AF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->AF==CPU_REG_PTR_X86.pEFL->AF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_AF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_AF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->CF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_CF],1,CPU_REG_PTR_X86.pEFL->CF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->CF==CPU_REG_PTR_X86.pEFL->CF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_CF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_CF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->DF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_DF],1,CPU_REG_PTR_X86.pEFL->DF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->DF==CPU_REG_PTR_X86.pEFL->DF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_DF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_DF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->IF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_IF],1,CPU_REG_PTR_X86.pEFL->IF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->IF==CPU_REG_PTR_X86.pEFL->IF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_IF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_IF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->OF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_OF],1,CPU_REG_PTR_X86.pEFL->OF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->OF==CPU_REG_PTR_X86.pEFL->OF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_OF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_OF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->PF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_PF],1,CPU_REG_PTR_X86.pEFL->PF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->PF==CPU_REG_PTR_X86.pEFL->PF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_PF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_PF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->SF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_SF],1,CPU_REG_PTR_X86.pEFL->SF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->SF==CPU_REG_PTR_X86.pEFL->SF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_SF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_SF],1,m_ChgColor);\n\t//////////////////////////////////////////////////////////////////\n\t//EFlag->ZF\n\t//////////////////////////////////////////////////////////////////\n\tSetItemText(m_hGeneRegItem[REG_GENE_ZF],1,CPU_REG_PTR_X86.pEFL->ZF?WSTR(\"1\"):WSTR(\"0\"));\n\tif(pPrevEFlag->ZF==CPU_REG_PTR_X86.pEFL->ZF)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ZF],1,m_NormalColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ZF],1,m_ChgColor);\n}\n\nvoid CGeneRegList::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tDWORD Address;\n\tif(Col!=0)\n\t\treturn;\n\tif(USHexStrToNum((WISP_PCSTR)GetItemText(hItem,1),&Address)==false)\n\t\treturn;\n\tVIEW_DATA(Address);\n}\nvoid CGeneRegList::RunTraceUpdateContext(DWORD ModifyBitMask,X86_REG_CONTEXT* pReg,DWORD EIP)\n{\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EIP],1,EIP,WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EIP],1,EIP);\n\tif(ModifyBitMask & EIP_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EIP],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EIP],1,m_NormalColor);\n\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EAX],1,pReg->GeneReg[EAX_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EAX],1,pReg->GeneReg[EAX_IDX]);\n\tif(ModifyBitMask & EAX_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EAX],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EAX],1,m_NormalColor);\n\t\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EBX],1,pReg->GeneReg[EBX_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EBX],1,pReg->GeneReg[EBX_IDX]);\n\tif(ModifyBitMask & EBX_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBX],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBX],1,m_NormalColor);\n\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ECX],1,pReg->GeneReg[ECX_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ECX],1,pReg->GeneReg[ECX_IDX]);\n\tif(ModifyBitMask & ECX_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ECX],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDX],1,m_NormalColor);\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EDX],1,pReg->GeneReg[EDX_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EDX],1,pReg->GeneReg[EDX_IDX]);\n\tif(ModifyBitMask & EDX_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDX],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDX],1,m_NormalColor);\n\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ESP],1,pReg->GeneReg[ESP_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ESP],1,pReg->GeneReg[ESP_IDX]);\n\tif(ModifyBitMask & ESP_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESP],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESP],1,m_NormalColor);\n\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EBP],1,pReg->GeneReg[EBP_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EBP],1,pReg->GeneReg[EBP_IDX]);\n\tif(ModifyBitMask & EBP_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBP],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EBP],1,m_NormalColor);\n\tSetItemNum(m_hGeneRegItem[REG_GENE_ESI],1,pReg->GeneReg[ESI_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_ESI],1,pReg->GeneReg[ESI_IDX]);\n\tif(ModifyBitMask & ESI_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESI],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_ESI],1,m_NormalColor);\n\t\n\tSetItemNum(m_hGeneRegItem[REG_GENE_EDI],1,pReg->GeneReg[EDI_IDX],WSTR(\"%08X\"));\n\tSetItemData(m_hGeneRegItem[REG_GENE_EDI],1,pReg->GeneReg[EDI_IDX]);\n\tif(ModifyBitMask & EDI_MODIFY_BIT_MASK)\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDI],1,m_ChgColor);\n\telse\n\t\tSetItemTextColor(m_hGeneRegItem[REG_GENE_EDI],1,m_NormalColor);\n\t\n\tRunTraceUpdateCommentContext(pReg);\n\treturn;\n}\nvoid CGeneRegList::RunTraceUpdateCommentContext(X86_REG_CONTEXT *pReg)\n{\n\tCHAR szBuffer[256];\n\tWCHAR szBufferW[256];\n\tint StrType;\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_EAX],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_EAX],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_EAX],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \t\t\n\tSetItemText(m_hGeneRegItem[REG_GENE_EAX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_EBX],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_EBX],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_EBX],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EBX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_ECX],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_ECX],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_ECX],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ECX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_EDX],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_EDX],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_EDX],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EDX],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_ESI],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_ESI],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_ESI],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ESI],2,szBufferW);\n\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_EDI],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_EDI],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_EDI],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\n\tSetItemText(m_hGeneRegItem[REG_GENE_EDI],2,szBufferW);\n\tszBufferW[0]=0;\n\tif(GETSYM(pReg->GeneReg[REG_GENE_EBP],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_EBP],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_EBP],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EBP],2,szBufferW);\n\tszBufferW[0]=0;\n\n\tif(GETSYM(pReg->GeneReg[REG_GENE_ESP],szBuffer,sizeof(szBuffer)))\n\t{\n\t\tTStrCpy(szBufferW,szBuffer);\n\t}\n\telse if(!GET_STRING_SYM(pReg->GeneReg[REG_GENE_ESP],szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0]),StrType))\n\t{\n\t\tif(GET_ALMOST_SYM(pReg->GeneReg[REG_GENE_ESP],szBuffer))\n\t\t\tTStrCpy(szBufferW,szBuffer);\n\t} \n\tSetItemText(m_hGeneRegItem[REG_GENE_ESP],2,szBufferW);\n\tszBufferW[0]=0;\n\t//if(GETSYM(*CPU_REG_PTR_X86.pEIP,szBuffer,sizeof(szBuffer)))\n\t//{\n\t//\tTStrCpy(szBufferW,szBuffer);\n\t//}\n\t//else if(!GET_STRING_SYM(*CPU_REG_PTR_X86.pEIP,szBufferW,sizeof(szBufferW)/sizeof(szBufferW[0])))\n\t//{\n\tif(GET_ALMOST_SYM(pReg->EIP,szBuffer))\n\t\tTStrCpy(szBufferW,szBuffer);\n\t//} \n\tSetItemText(m_hGeneRegItem[REG_GENE_EIP],2,szBufferW);\n}"
  },
  {
    "path": "Project/Syser/Source/GeneRegList.h",
    "content": "#ifndef _GENE_REG_LIST_H_\n#define _GENE_REG_LIST_H_\n\n\nenum REG_GENE_INDEX\n{\n\tREG_GENE_EAX=0,\n\tREG_GENE_EBX,\n\tREG_GENE_ECX,\n\tREG_GENE_EDX,\n\tREG_GENE_ESI,\n\tREG_GENE_EDI,\n\tREG_GENE_EBP,\n\tREG_GENE_ESP,\n\tREG_GENE_EIP,\n\tREG_GENE_EFL,\n\tREG_GENE_CS,\n\tREG_GENE_DS,\n\tREG_GENE_ES,\n\tREG_GENE_FS,\n\tREG_GENE_GS,\n\tREG_GENE_SS,\n\tREG_GENE_AF,\n\tREG_GENE_CF,\n\tREG_GENE_DF,\n\tREG_GENE_IF,\n\tREG_GENE_OF,\n\tREG_GENE_PF,\n\tREG_GENE_SF,\n\tREG_GENE_ZF,\n\tREG_GENE_CS_BASE,\n\tREG_GENE_DS_BASE,\n\tREG_GENE_ES_BASE,\n\tREG_GENE_FS_BASE,\n\tREG_GENE_GS_BASE,\n\tREG_GENE_SS_BASE,\n#ifdef CODE_OS_NT_DRV\t\n\tREG_GENE_GDTR,\t\n\tREG_GENE_IDTR,\n\tREG_GENE_LDTR,\n\tREG_GENE_TR,\n\tREG_GENE_GDTRBASE,\t\n\tREG_GENE_GDTRLIMIT,\t\n\tREG_GENE_IDTRBASE,\n\tREG_GENE_IDTRLIMIT,\n#endif\n\tREG_GENE_REGCOUNT\n};\n\nclass CGeneRegList : public CWispList\n{\n\t//typedef bool (CGeneRegList::*REG_HOTKEY_FP)(IN INT RegIndex);\n\n\t//class CRegHotKey\n\t//{\n\t//public:\n\t//\tUINT m_RegIndex;\n\t//\tREG_HOTKEY_FP m_fpHotKey;\n\t//\tCRegHotKey(){};\n\t//\tCRegHotKey(UINT Index,REG_HOTKEY_FP fpHotKey):m_RegIndex(Index),m_fpHotKey(fpHotKey){};\n\t//\t~CRegHotKey(){}\n\t//};\n\ttypedef TMap<UINT,UINT> REGHOTKEYMAP;\npublic:\n\tCGeneRegList();\n\tvirtual ~CGeneRegList();\npublic:\n\tHANDLE\t\tm_hGeneRegItem[REG_GENE_REGCOUNT];\n\tX86_CPU_REG\tm_PrevCPUReg;\n\tCOLORREF\tm_ChgColor;\n\tCOLORREF\tm_NormalColor;\n\tHANDLE\t\tm_hLastItem;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventShowCode)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowData)\n\tDECLARE_WISP_MSG_EVENT(OnShowData)\n\tDECLARE_WISP_MSG_EVENT(OnShowCode)\n\n\tvoid\tPopup();\n\tvoid\tResetContext();\n\tvoid\tUpdateContext();\n\tvoid UpdateCommentContext(X86_CPU_REG_PTR& pPtr);\n\tvoid\tRunTraceUpdateContext(DWORD ModifyBitMask,X86_REG_CONTEXT *pReg,DWORD EIP);\n\tvoid\tRunTraceUpdateCommentContext(X86_REG_CONTEXT *pReg);\n\tvoid\tUpdateEFlagContext();\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n\tCWispMenu m_PopupMenu;\n\tHANDLE m_hMenuShowCode;\n\tHANDLE m_hMenuShowData;\n\tint GetCPUIndex()const {return m_nCPUIndex;}\n\tvoid SetCPUIndex(int Index) {m_nCPUIndex=Index;}\n\tvoid\tAttachShortcutKey();\nprivate:\n\tint\tm_nCPUIndex;\n\tX86_CPU_REG_PTR m_X86RegPtr;\n\tREGHOTKEYMAP m_HotKeyMap;\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/GlobalVariable.cpp",
    "content": "#include \"Stdafx.h\"\n#include \"GlobalVariable.h\"\nULONG gOSMajorVersion=0; \nULONG gOSMinorVersion=0; \nULONG gOSBuildNumber=0;\nBOOLEAN gOSCheckedBuild=FALSE;\nbool gInt0xeHook=false;\n"
  },
  {
    "path": "Project/Syser/Source/GlobalVariable.h",
    "content": "#ifndef _GLOBALVARIABLE_H_\n#define _GLOBALVARIABLE_H_\nextern ULONG gOSMajorVersion; \nextern ULONG gOSMinorVersion; \nextern ULONG gOSBuildNumber;\nextern BOOLEAN gOSCheckedBuild;\nextern bool gInt0xeHook;\n#endif //_GLOBALVARIABLE_H_"
  },
  {
    "path": "Project/Syser/Source/HardWareInterruptCtrl.cpp",
    "content": "#include \"stdafx.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"LocalAPIC.h\"\n#include \"IOAPIC.h\"\n#include \"PIC_8259.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool gbIsSaveInterruptShieldRegister=false;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n// void DisableAllHardInterrupt()\n// {\n// \t__asm pushad\n// \tif(!gbIsSaveInterruptShieldRegister)\n// \t{\n// \t\tif(gbIsUseAPIC)\n// \t\t{\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\t\n// \t\t\t\tmov eax,gdwLocalAPICLineAddress\n// \t\t\t\tmov eax,[eax+0x80]\n// \t\t\t\tmov gdwLocalAPICTaskPriority,eax\n// \t\t\t\t\n// \t\t\t}\n// \t\t\tSaveIOAPICInterruptVectorTable();\n// \t\t}\n// \t\telse\n// \t\t{\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\t\n// \t\t\t\tin  al,0x21\n// \t\t\t\tmov gdwPIC8259Shield_1,al\t\t\t\t\n// \t\t\t\tmov ecx,0x100\n// local_1:\n// \t\t\t\tloop local_1\n// \t\t\t\tin al,0xa1\n// \t\t\t\tmov gdwPIC8259Shield_2,al\n// \t\t\t\tmov ecx,0x100\n// local_2:\n// \t\t\t\tloop local_2\n// \t\t\t}\n// \t\t}\n// \t\tgbIsSaveInterruptShieldRegister=true;\n// \t}\n// \n// \tif(gbIsUseAPIC)\n// \t{\n// \t\t__asm\n// \t\t{\n// \t\t\t\n// \t\t\tmov eax,gdwLocalAPICLineAddress\n// \t\t\tmov dword ptr [eax+0x80],0xff\n// \t\t\t\n// \t\t}\t\n// \t}\n// \telse\n// \t{\t\n// \t\t__asm\n// \t\t{\n// \t\t\t\n// \t\t\tmov al,0xff\n// \t\t\tout 0x21,al\n// \t\t\tmov ecx,0x100\n// local_3:\t\t\n// \t\t\tloop local_3\t\t\t\n// \t\t\tout 0xa1,al\t\t\t\n// \t\t\tmov ecx,0x100\n// local_4:\t\t\n// \t\t\tloop local_4\t\n// \t\t\tin al,0x21\n// \t\t\tmov ecx,0x100\n// local_5:\n// \t\t\tloop local_5\n// \t\t\tin al,0xa1\n// \t\t\tmov ecx,0x100\n// local_6:\n// \t\t\tloop local_6\n// \t\t\t\n// \t\t}\t\n// \t}\n// \t__asm popad\n// }\n// \n// __declspec (naked)void EnableAllHardInterrupt()\n// {\n// \t__asm\n// \t{\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es \n// \t\tmov ax,0x23 \n// \t\tmov ds,ax \n// \t\tmov es,ax\n// \t}\n// \tif(gbIsSaveInterruptShieldRegister)\n// \t{\n// \t\tif(gbIsUseAPIC)\n// \t\t{\n// \t\t\tRestoreIOAPICInterruptVectorTable();\n// \t\t\t__asm{\t\t\t\n// \t\t\t\tmov eax,gdwLocalAPICLineAddress\n// \t\t\t\tmov ebx,gdwLocalAPICTaskPriority\n// \t\t\t\tmov [eax+0x80],ebx\t\t\t\n// \t\t\t}\t\t\t\n// \t\t}\n// \t\telse\n// \t\t{\t\t\n// \t\t\t__asm{\t\t\t\n// \t\t\t\tmov al,gdwPIC8259Shield_1\n// \t\t\t\tout 0x21,al\t\t\t\t\n// \t\t\t\tmov ecx,0x100\n// local_1:\n// \t\t\t\tloop local_1\t\t\t\t\n// \t\t\t\tmov al,gdwPIC8259Shield_2\n// \t\t\t\tout 0xa1,al\t\t\t\t\n// \t\t\t\tmov ecx,0x100\n// local_2:\t\t\t\n// \t\t\t\tloop local_2\t\t\t\t\n// \t\t\t}\n// \t\t}\n// \t\tgbIsSaveInterruptShieldRegister=false;\n// \t}\t\n// \t__asm{\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tret\n// \t}\n// }\n\nvoid EnableHardWareInterrupt(int arg)\n{\n\tif(arg<0x10)\n\t{\n\t\tif(gbIsUseAPIC)\n\t\t\tEnableAPICHardWareInterrupt(arg);\n\t\telse\n\t\t\tSyserEnablePIC8259HardWareInterrupt(arg);\n\t}\n}\n\nDWORD GetHardwareInterruptVectorNum(DWORD dwNum)\n{\n\tif(!gbIsUseAPIC)\n\t{\n\t\tif(dwNum < 16)\n\t\t\treturn 0x30+dwNum;\t\n\t\treturn 0;\n\t}\n\treturn GetIOAPICInterruptVector(dwNum);\n}\n\n\nvoid SetInteruptEOI(DWORD dwInterruptNum)\n{\n\tDWORD* dwTemp;\n\t\n\tif(gbIsUseAPIC)\n\t{\n\t\tSetLocalAPICEOI(dwInterruptNum)\t;\n\t}\n\telse\n\t{\n\t\tSyserSet8259EOI(dwInterruptNum);\n\t}\t\t\t\t\n}"
  },
  {
    "path": "Project/Syser/Source/HardWareInterruptCtrl.h",
    "content": "#ifndef _HARDWAREINTERRUPTCTRL_H_\n#define _HARDWAREINTERRUPTCTRL_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nvoid SetInteruptEOI(DWORD dwInterruptNum);\nVOID SyserEnableAllHardInterrupt(VOID);\nvoid EnableHardWareInterrupt(INT arg);\nVOID SyserDisableAllHardInterrupt(VOID);\nextern bool gbIsSaveInterruptShieldRegister;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_HARDWAREINTERRUPTCTRL_H_"
  },
  {
    "path": "Project/Syser/Source/HwndCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"syser.h\"\n#include \"HwndCmd.h\"\n#include \"OSProcessThread.h\"\n#include \"OSData.h\"\n\nCWndHwnd::CWndHwnd(void* WindowHwndPtr)\n{\n\tmemset(&m_HwndInfo,0,sizeof(m_HwndInfo));\n}\nDWORD CWndHwnd::GetNextWindowCaption(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\nDWORD CWndHwnd::GetPrevWindowCaption(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\nDWORD CWndHwnd::GetParentWindowCaption(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\nDWORD CWndHwnd::GetFirstChildWindowCaption(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\nDWORD CWndHwnd::GetOwnerWindowCaption(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\nDWORD CWndHwnd::GetClassName(WCHAR* Caption,DWORD CaptionLen)\n{\n\treturn 0;\n}\n\nWND_STYLE_INFO gOSPredefineColor[]=\n{\n{1,\tWSTR(\"COLOR_SCROLLBAR\" )               },        \n{2,\tWSTR(\"COLOR_BACKGROUND\" )              },\n{3,\tWSTR(\"COLOR_ACTIVECAPTION\" )           },\n{4,\tWSTR(\"COLOR_INACTIVECAPTION\")          },\n{5,\tWSTR(\"COLOR_MENU\")              },\n{6,\tWSTR(\"COLOR_WINDOW\")            },\n{7,\tWSTR(\"COLOR_WINDOWFRAME\")       },\n{8,\tWSTR(\"COLOR_MENUTEXT\")          },\n{9,\tWSTR(\"COLOR_WINDOWTEXT\")        },\n{10,WSTR(\"COLOR_CAPTIONTEXT\")   },    \n{11,\tWSTR(\"COLOR_ACTIVEBORDER\")  },    \n{12,\tWSTR(\"COLOR_INACTIVEBORDER\")},    \n{13,\tWSTR(\"COLOR_APPWORKSPACE\")   },   \n{14,\tWSTR(\"COLOR_HIGHLIGHT\")      },   \n{15,\tWSTR(\"COLOR_HIGHLIGHTTEXT\")  },   \n{16,\tWSTR(\"COLOR_BTNFACE\")        },   \n{17,\tWSTR(\"COLOR_BTNSHADOW\")          },\n{18,\tWSTR(\"COLOR_GRAYTEXT\")\t\t   },\n{19,\tWSTR(\"COLOR_BTNTEXT\")\t\t\t   },\n{20,\tWSTR(\"COLOR_INACTIVECAPTIONTEXT\")}, \n{21,\tWSTR(\"COLOR_BTNHIGHLIGHT\")      },\n{22,\tWSTR(\"COLOR_3DDKSHADOW\")\t\t  },\n{23,\tWSTR(\"COLOR_3DLIGHT\")           },\n{24,\tWSTR(\"COLOR_INFOTEXT\")          },\n{26,\tWSTR(\"COLOR_INFOBK\")                  },\n{27,\tWSTR(\"COLOR_HOTLIGHT\")\t\t\t\t},\n{28,\tWSTR(\"COLOR_GRADIENTACTIVECAPTION\")\t},\n{29,\tWSTR(\"COLOR_GRADIENTINACTIVECAPTION\") },\n{30,\tWSTR(\"COLOR_MENUHILIGHT\")      },\n{31,\tWSTR(\"COLOR_MENUBAR\")\t\t\t },\n};\nWND_STYLE_INFO gOSClassStyle[]={\n{0x0001,WSTR(\"CS_VREDRAW\")},          \n{0x0002,WSTR(\"CS_HREDRAW\")},          \n{0x0008,WSTR(\"CS_DBLCLKS\")},          \n{0x0020,WSTR(\"CS_OWNDC\")},            \n{0x0040,WSTR(\"CS_CLASSDC\")},          \n{0x0080,WSTR(\"CS_PARENTDC\")},         \n{0x0200,WSTR(\"CS_NOCLOSE\")},          \n{0x0800,WSTR(\"CS_SAVEBITS\")},         \n{0x1000,WSTR(\"CS_BYTEALIGNCLIENT\")},  \n{0x2000,WSTR(\"CS_BYTEALIGNWINDOW\")},  \n{0x4000,WSTR(\"CS_GLOBALCLASS\")},      \n{0x00010000,WSTR(\"CS_IME\")},              \n{0x00020000,WSTR(\"CS_DROPSHADOW\")},       \n};\n\nWND_STYLE_INFO gOSPredefineCursor[]=\n{\n\t{0x10011,WSTR(\"IDC_ARROW\")},      \n\t{0x10013,WSTR(\"IDC_IBEAM\")},      \n\t{0x10015,WSTR(\"IDC_WAIT\")},       \n\t{0x10017,WSTR(\"IDC_CROSS\")},      \n\t{0x10019,WSTR(\"IDC_UPARROW\")},    \n\t{0x1001b,WSTR(\"IDC_SIZENWSE\")},   \n\t{0x1001d,WSTR(\"IDC_SIZENESW\")},   \n\t{0x1001f,WSTR(\"IDC_SIZEWE\")},     \n\t{0x10021,WSTR(\"IDC_SIZENS\")},     \n\t{0x10023,WSTR(\"IDC_SIZEALL\")},    \n\t{0x10025,WSTR(\"IDC_NO\")},              \n\t{0x10027,WSTR(\"IDC_APPSTARTING\")},\n\t{0x10029,WSTR(\"IDC_HELP\")},  \n\t{0x1002d,WSTR(\"IDC_HAND\")},  \n};\n\nWND_STYLE_INFO gWndStyleExInfo[]=\n{\n\t{0x08000000L,WSTR(\"WS_EX_NOACTIVATE\")},\n\t{0x02000000L,WSTR(\"WS_EX_COMPOSITED\")},\n\t{0x00400000L,WSTR(\"WS_EX_LAYOUTRTL\")},\n\t{0x00100000L,WSTR(\"WS_EX_NOINHERITLAYOUT\")},\n\t{0x00080000L,WSTR(\"WS_EX_LAYERED\")},\n\t{0x00040000L,WSTR(\"WS_EX_APPWINDOW\")},\n\t{0x00020000L,WSTR(\"WS_EX_STATICEDGE\")},\n\t{0x00010000L,WSTR(\"WS_EX_CONTROLPARENT\")},\n\t//{0x00004000L,WSTR(\"WS_EX_LEFTSCROLLBAR\")},\n\t//{0x00002000L,WSTR(\"WS_EX_RTLREADING\")},\n\t//{0x00001000L,WSTR(\"WS_EX_RIGHT\")},\n\t{0x00000400L,WSTR(\"WS_EX_CONTEXTHELP\")},\n\t{0x00000200L,WSTR(\"WS_EX_CLIENTEDGE\")},\n\t{0x00000100L,WSTR(\"WS_EX_WINDOWEDGE\")},\n\t{0x00000080L,WSTR(\"WS_EX_TOOLWINDOW\")},\n\t{0x00000040L,WSTR(\"WS_EX_MDICHILD\")},\n\t{0x00000020L,WSTR(\"WS_EX_TRANSPARENT\")},\t\n\t{0x00000010L,WSTR(\"WS_EX_ACCEPTFILES\")},\t\n\t{0x00000008L,WSTR(\"WS_EX_TOPMOST\")},\t\n\t{0x00000004L,WSTR(\"WS_EX_NOPARENTNOTIFY\")},\t\n\t{0x00000001L,WSTR(\"WS_EX_DLGMODALFRAME\")},\t\n};\n\nWCHAR* StyleExToString(DWORD Value,WCHAR* Buffer,DWORD BufferLen)\n{\n\tWCHAR ValueString[11];\n\tBuffer[0]=0;\n\tif((Value & WS_EX_OVERLAPPEDWINDOW)==WS_EX_OVERLAPPEDWINDOW)\n\t{\n\t\tTStrCat(Buffer,\"WS_EX_OVERLAPPEDWINDOW\");\n\t\tValue &= (~WS_EX_OVERLAPPEDWINDOW);\n\t}\n\telse if((Value &WS_EX_PALETTEWINDOW)==WS_EX_PALETTEWINDOW)\n\t{\n\t\tTStrCat(Buffer,\"WS_EX_PALETTEWINDOW\");\n\t\tValue &= (~WS_EX_PALETTEWINDOW);\n\t}\n\t\t\n\tfor(int i =0;i<sizeof(gWndStyleExInfo)/sizeof(gWndStyleExInfo[0]);i++)\n\t{\n\t\tif(Value & gWndStyleExInfo[i].Value)\n\t\t{\n\t\t\tif(Buffer[0])\n\t\t\t\tTStrCat(Buffer,\" | \");\n\t\t\tTStrCat(Buffer,gWndStyleExInfo[i].Name);\n\t\t\tValue&=~(gWndStyleExInfo[i].Value);\n\t\t}\n\t}\n\t\n\tif(Buffer[0])\n\t\tTStrCat(Buffer,\" | \");\n\tTStrCat(Buffer,Value&WS_EX_LEFTSCROLLBAR?\"WS_EX_LEFTSCROLLBAR\":\"WS_EX_RIGHTSCROLLBAR\");\n\tif(Buffer[0])\n\t\tTStrCat(Buffer,\" | \");\n\tTStrCat(Buffer,Value&WS_EX_RTLREADING?\"WS_EX_RTLREADING\":\"WS_EX_LTRREADING\");\t\n\tif(Buffer[0])\n\t\tTStrCat(Buffer,\" | \");\n\tTStrCat(Buffer,Value&WS_EX_RIGHT?\"WS_EX_RIGHT\":\"WS_EX_LEFT\");\n\tValue&= ~(WS_EX_LEFTSCROLLBAR|WS_EX_RTLREADING|WS_EX_RIGHT);\n\tif(Value)\n\t{\n\t\tif(Buffer[0])\n\t\t\tTStrCat(Buffer,\" | \");\n\t\tTSPrintf(ValueString,WSTR(\"0x%08x\"),Value);\n\t\tTStrCat(Buffer,ValueString);\n\t}\n\treturn Buffer;\n}\n\nWND_STYLE_INFO gWndStyleInfo[]=\n{\n\t{0x80000000L,WSTR(\"WS_POPUP\")},\n\t{0x40000000L,WSTR(\"WS_CHILD\")},\n\t{0x20000000L,WSTR(\"WS_MINIMIZE\")},\n\t{0x10000000L,WSTR(\"WS_VISIBLE\")},\n\t{0x08000000L,WSTR(\"WS_DISABLED\")},\n\t{0x04000000L,WSTR(\"WS_CLIPSIBLINGS\")},\n\t{0x02000000L,WSTR(\"WS_CLIPCHILDREN\")},\n\t{0x01000000L,WSTR(\"WS_MAXIMIZE\")},\n\t//{0x00C00000L,WSTR(\"WS_CAPTION\")},\n\t{0x00800000L,WSTR(\"WS_BORDER\")},\n\t{0x00400000L,WSTR(\"WS_DLGFRAME\")},\n\t{0x00200000L,WSTR(\"WS_VSCROLL\")},\n\t{0x00100000L,WSTR(\"WS_HSCROLL\")},\n\t{0x00080000L,WSTR(\"WS_SYSMENU\")},\n\t{0x00040000L,WSTR(\"WS_THICKFRAME\")},\n\t{0x00020000L,WSTR(\"WS_GROUP\")},\n\t{0x00100000L,WSTR(\"WS_TABSTOP\")},\n\t{0x00100000L,WSTR(\"WS_HSCROLL\")},\t\n};\n\nWCHAR* StyleToString(DWORD Value,WCHAR* Buffer,DWORD BufferLen)\n{\n\tWCHAR ValueString[11];\n\tBuffer[0]=0;\n\tif((Value & WS_OVERLAPPEDWINDOW)==WS_OVERLAPPEDWINDOW)\n\t{\n\t\tTStrCat(Buffer,\"WS_OVERLAPPEDWINDOW\");\n\t\tValue &= (~WS_OVERLAPPEDWINDOW);\n\t}\n\telse if((Value &WS_POPUPWINDOW)==WS_POPUPWINDOW)\n\t{\n\t\tTStrCat(Buffer,\"WS_POPUPWINDOW\");\n\t\tValue &= (~WS_POPUPWINDOW);\n\t}\n\telse if(Value & WS_CHILDWINDOW)\n\t{\n\t\tTStrCat(Buffer,\"WS_CHILDWINDOW\");\n\t\tValue &= (~WS_CHILDWINDOW);\n\t} if(Value==WS_OVERLAPPED)\n\t\tTStrCat(Buffer,\"WS_OVERLAPPED\");\n\tif((Value&WS_CAPTION)==WS_CAPTION)\n\t{\n\t\tif(Buffer[0])\n\t\t\tTStrCat(Buffer,\" | \");\n\t\tTStrCat(Buffer,\"WS_CAPTION\");\n\t\tValue &= (~WS_CAPTION);\n\t}\n\tfor(int i =0;i<sizeof(gWndStyleInfo)/sizeof(gWndStyleInfo[0]);i++)\n\t{\n\t\tif(Value & gWndStyleInfo[i].Value)\n\t\t{\n\t\t\tif(Buffer[0])\n\t\t\t\tTStrCat(Buffer,\" | \");\n\t\t\tTStrCat(Buffer,gWndStyleInfo[i].Name);\n\t\t\tValue&=~(gWndStyleInfo[i].Value);\n\t\t}\n\t}\n\tif(Value)\n\t{\n\t\tif(Buffer[0])\n\t\t\tTStrCat(Buffer,\" | \");\n\t\tTSPrintf(ValueString,WSTR(\"0x%08x\"),Value);\n\t\tTStrCat(Buffer,ValueString);\n\t}\n\treturn Buffer;\n}\n\nbool GetHwndInfoByWndStructForXP(void* OsWindowPtr,PSYSER_HWND_INFO SyserHwndInfo)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\tif(OsWindowPtr==NULL || SyserHwndInfo==NULL)\n\t\treturn false;\n\tmemset(SyserHwndInfo,0,sizeof(*SyserHwndInfo));\n\tif(SyserPrivateMemCopy((BYTE*)&HwndInfo,(BYTE*)OsWindowPtr,sizeof(HwndInfo))!=sizeof(HwndInfo))\n\t\treturn false;\n\tmemcpy(SyserHwndInfo,&HwndInfo,sizeof(HwndInfo));\n\treturn true;\n\n}\n\nbool GetHwndInfoByWndStructFor2K(void* OsWindowPtr,PSYSER_HWND_INFO SyserHwndInfo)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\tif(OsWindowPtr==NULL || SyserHwndInfo==NULL)\n\t\treturn false;\n\tmemset(SyserHwndInfo,0,sizeof(*SyserHwndInfo));\n\tif(SyserPrivateMemCopy((BYTE*)&HwndInfo,(BYTE*)OsWindowPtr,sizeof(HwndInfo))!=sizeof(HwndInfo))\n\t\treturn false;\n\tmemcpy(SyserHwndInfo,&HwndInfo,0x30);\n\tmemcpy(&SyserHwndInfo->ParentHwnd,&HwndInfo.PreviousHwnd,0x68);\n\treturn true;\n\n}\n\nbool GetHwndInfoByWndStructForVista(void* OsWindowPtr,PSYSER_HWND_INFO SyserHwndInfo)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\tif(OsWindowPtr==NULL || SyserHwndInfo==NULL)\n\t\treturn false;\n\tmemset(SyserHwndInfo,0,sizeof(*SyserHwndInfo));\n\tif(SyserPrivateMemCopy((BYTE*)&HwndInfo,(BYTE*)OsWindowPtr,sizeof(HwndInfo))!=sizeof(HwndInfo))\n\t\treturn false;\n\tmemcpy(SyserHwndInfo,&HwndInfo,0x7c);\n\tmemcpy(&SyserHwndInfo->Unknow5,&HwndInfo.WindowCaptionLen,0x20);\n\treturn true;\n\n}\n\n\nbool GetClassInfoByHwndInfoForXP_Vista(PSYSER_HWND_INFO SyserHwndInfo,PSYSER_HWND_CLASS_INFO SyserHwndClassInfo)\n{\n\tSYSER_HWND_CLASS_INFO ClassInfo;\n\tmemset(&ClassInfo,0,sizeof(ClassInfo));\n\tif(SyserPrivateMemCopy((BYTE*)&ClassInfo,(BYTE*)SyserHwndInfo->ClassInfo,sizeof(ClassInfo))!=sizeof(ClassInfo))\n\t\treturn false;\n\tmemcpy(SyserHwndClassInfo,&ClassInfo,sizeof(ClassInfo));\n\treturn true;\n}\nbool GetClassInfoByHwndInfoFor2K(PSYSER_HWND_INFO SyserHwndInfo,PSYSER_HWND_CLASS_INFO SyserHwndClassInfo)\n{\n\tSYSER_HWND_CLASS_INFO ClassInfo;\n\tmemset(&ClassInfo,0,sizeof(ClassInfo));\n\tif(SyserPrivateMemCopy((BYTE*)&ClassInfo,(BYTE*)SyserHwndInfo->ClassInfo,sizeof(ClassInfo))!=sizeof(ClassInfo))\n\t\treturn false;\n\tmemcpy(SyserHwndClassInfo,&ClassInfo,8);\n\tmemcpy(SyserHwndClassInfo->Unknow2,&ClassInfo.Unknow1,sizeof(ClassInfo)-8);\n\tOUTPUT(WSTR(\"GetClassInfoByHwndInfoFor2K  %08x\\n\"),SyserHwndClassInfo->lpszClassName);\n\treturn true;\n}\nbool GetClassInfoByHwndInfo(PSYSER_HWND_INFO SyserHwndInfo,PSYSER_HWND_CLASS_INFO SyserHwndClassInfo)\n{\n\tif(gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==0)\n\t\treturn GetClassInfoByHwndInfoFor2K(SyserHwndInfo,SyserHwndClassInfo);\n\tif((gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==1)|| (gpSyser->m_OSMajorVersion==6 && gpSyser->m_OSMinorVersion==0))\n\t\treturn GetClassInfoByHwndInfoForXP_Vista(SyserHwndInfo,SyserHwndClassInfo);\n\tmemset(SyserHwndClassInfo,0,sizeof(*SyserHwndClassInfo));\n\treturn false;\n}\nbool GetHwndInfoByWndStruct(void* OsWindowPtr,PSYSER_HWND_INFO SyserHwndInfo)\n{\t\n\tif(gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==1)\n\t\treturn GetHwndInfoByWndStructForXP(OsWindowPtr,SyserHwndInfo);\n\tif(gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==0)\n\t\treturn GetHwndInfoByWndStructFor2K(OsWindowPtr,SyserHwndInfo);\n\tif(gpSyser->m_OSMajorVersion==6 && gpSyser->m_OSMinorVersion==0)\n\t\treturn GetHwndInfoByWndStructForVista(OsWindowPtr,SyserHwndInfo);\n\treturn false;\n}\n\nDWORD GetHwndInfoByHandle(DWORD dwHwnd,DWORD Value,PSYSER_HWND_INFO pHwndInfo)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\tDWORD Type;\n\twhile(dwHwnd && GetHwndInfoByWndStruct(*(void**)&dwHwnd,&HwndInfo))\n\t{\n\t\tif(Value==HwndInfo.hWnd)\n\t\t{\n\t\t\tmemcpy(pHwndInfo,&HwndInfo,sizeof(HwndInfo));\n\t\t\treturn dwHwnd;\n\t\t}\n\t\tType = GetHwndInfoByHandle((DWORD)HwndInfo.ChildHwnd,Value,pHwndInfo);\n\t\tif(Type)\n\t\t\treturn Type;\n\t\tdwHwnd=(DWORD)HwndInfo.NextHwnd;\n\t}\n\treturn 0;\n}\nDWORD GetHwndInfoByHwnd(DWORD HwndID,PSYSER_HWND_INFO HwndInfo)\n{\n#ifdef CODE_OS_NT_DRV\n\tBOOL bOK;\n\tgpSyser->InitOSHwndRoot();\n\tCDbgProcess*pDbgProcess;\n\t\n\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"csrss\"));\n\tif(pDbgProcess==NULL)\n\t{\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"explorer\"));\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn 0;\n\t}\n\tgpSyser->MapToProcess(pDbgProcess);\n\tDWORD dwHwnd=gpSyser->m_OSHwndRoot;\n\treturn GetHwndInfoByHandle(dwHwnd,HwndID,HwndInfo);\n#endif \n\treturn 0;\n}\n\nstatic WCHAR gHwndName[256];\nstatic bool gbShowTitle;\n//static WCHAR gHwndTitle[]=WSTR(\"Handle    Class                         WinProc    TID  Module\\n\");\nstatic WCHAR gHwndTitle[]=WSTR(\"Handle   WinProc   TID     Class             Module\\n\");\nSYSER_PROCESS gHwndSyserProces;\nSYSER_THREAD gHwndSyserThread;\nstatic DWORD gHwndCount=0;\n#ifdef CODE_OS_NT_DRV\nbool hwnd_display_info(DWORD Address,DWORD dwDisplayFlags,SYSER_HWND_INFO &HwndInfo,DWORD dwParam)\n{\n\tWCHAR StyleString[512];\n\tDWORD ProcessID=0,ThreadID=0;\n\tDWORD dwLen;\n\tWCHAR StrNum[10];\n\tSYSER_HWND_CLASS_INFO ClassInfo;\n\t\n\tif((dwDisplayFlags&16)  || (dwDisplayFlags&8))\n\t{\n\t\tif(ReadDword((void*)HwndInfo.Thread,&dwLen))\n\t\t{\t\t\n\t\t\tif(GetThreadInfoByETHREAD((DWORD)dwLen,&gHwndSyserThread))\n\t\t\t{\t\t\t\t\t\n\t\t\t\tThreadID=gHwndSyserThread.ThreadID;\n\t\t\t\tif((dwDisplayFlags&16) && dwParam!=ThreadID)\n\t\t\t\t\treturn false;\n\t\t\t\tif(GetProcessInfoByEPROCESS(dwLen,&gHwndSyserProces))\n\t\t\t\t{\n\t\t\t\t\tProcessID = gHwndSyserProces.UniqueProcessId;\n\t\t\t\t\tif((dwDisplayFlags&8)  && ProcessID!=dwParam)\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(dwDisplayFlags&1)\n\t{\n\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"Hwnd\"),HwndInfo.hWnd,Address);\n\t\tOUTPUT(WSTR(\"    %-16s:%08x\\n\"),WSTR(\"Window Proc\"),HwndInfo.WndProc);\n\t\tif(HwndInfo.PreviousHwnd)\n\t\t\tif(ReadDword(HwndInfo.PreviousHwnd,&Address))\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"Previous\"),Address,HwndInfo.PreviousHwnd);\t\n\t\tif(HwndInfo.NextHwnd)\n\t\t\tif(ReadDword(HwndInfo.NextHwnd,&Address))\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"Next\"),Address,HwndInfo.NextHwnd);\n\t\tif(HwndInfo.ParentHwnd)\n\t\t\tif(ReadDword(HwndInfo.ParentHwnd,&Address))\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"Parent\"),Address,HwndInfo.ParentHwnd);\n\t\tif(HwndInfo.ChildHwnd)\n\t\t\tif(ReadDword(HwndInfo.ChildHwnd,&Address))\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"1st Child\"),Address,HwndInfo.ChildHwnd);\n\t\tif(HwndInfo.OwnerHwnd)\n\t\t\tif(ReadDword(HwndInfo.OwnerHwnd,&Address))\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x (%08x)\\n\"),WSTR(\"Owner\"),Address,HwndInfo.OwnerHwnd);\n\n\t\tStyleToString(HwndInfo.Style,StyleString,sizeof(StyleString)/sizeof(StyleString[0]));\n\t\tOUTPUT(WSTR(\"    %-16s:%08x (%s)\\n\"),WSTR(\"Style\"),HwndInfo.Style,StyleString);\n\t\tStyleExToString(HwndInfo.StyleEx,StyleString,sizeof(StyleString)/sizeof(StyleString[0]));\n\t\tOUTPUT(WSTR(\"    %-16s:%08x (%s)\\n\"),WSTR(\"Ex. Style\"),HwndInfo.StyleEx,StyleString);\n\n\n\t\tif(HwndInfo.Style&WS_CHILD) \n\t\t\tOUTPUT(WSTR(\"    %-16s:%04x\\n\"),WSTR(\"Child Id\"),HwndInfo.ControlID);\n\t\telse\n\t\t{\n\t\t\tif(HwndInfo.Menu)\n\t\t\t{\n\t\t\t\tif(ReadDword((void*)HwndInfo.Menu,&Address)==false)\n\t\t\t\t\tAddress=HwndInfo.Menu;\n\t\t\t\tOUTPUT(WSTR(\"    %-16s:%06x\\n\"),WSTR(\"Menu\"),Address);\n\t\t\t}\n\t\t}\n\n\t\tif(HwndInfo.UserData)\n\t\t\tOUTPUT(WSTR(\"    %-16s:%08x\\n\"),WSTR(\"User Data\"),HwndInfo.UserData);\n\t\tOUTPUT(WSTR(\"    %-16s:%d, %d, %d, %d (%d x %d)\\n\"),WSTR(\"Window Rect\"),HwndInfo.WndLeft,HwndInfo.WndTop,HwndInfo.WndRight,HwndInfo.WndBottom,HwndInfo.WndRight-HwndInfo.WndLeft,HwndInfo.WndBottom-HwndInfo.WndTop);\n\t\tOUTPUT(WSTR(\"    %-16s:%d, %d, %d, %d (%d x %d)\\n\"),WSTR(\"Client Rect\"),HwndInfo.CliLeft-HwndInfo.WndLeft,\n\t\t\tHwndInfo.CliTop-HwndInfo.WndTop,HwndInfo.CliRight-HwndInfo.WndRight,HwndInfo.CliBottom-HwndInfo.WndBottom,HwndInfo.CliRight-HwndInfo.CliLeft,HwndInfo.CliBottom-HwndInfo.CliTop);\n\t}\n\telse\n\t{\n\t\tTSPrintf(StrNum,WSTR(\"%06x\"),HwndInfo.hWnd);\n\t\tTSPrintf(gHwndName,WSTR(\"%-9s\"),StrNum);\n\t\tOUTPUT(gHwndName);\n\t\t\n\t\tOUTPUT(WSTR(\"%08x  \"),HwndInfo.WndProc);\n\n\t\tif(ReadDword((void*)HwndInfo.Thread,&dwLen))\n\t\t{\t\t\n\t\t\tif(GetThreadInfoByETHREAD((DWORD)dwLen,&gHwndSyserThread)==false)\n\t\t\t\tgHwndSyserThread.ThreadID=0;\n\t\t}\n\t\telse \n\t\t\tgHwndSyserThread.ThreadID=0;\n\n\t\t\n\t\t\n\n\t\tOUTPUT(WSTR(\"%06x  \"),gHwndSyserThread.ThreadID);\n\t\tif(GetClassInfoByHwndInfo(&HwndInfo,&ClassInfo))\n\t\t{\t\t\t\n\t\t\tif(ClassInfo.lpszClassName)\t\t\t\n\t\t\t{\t\t\t\t\n\t\t\t\tif(SyserPrivateFindByte((BYTE*)ClassInfo.lpszClassName,0,256)!=NULL)\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tTStrCpy(gHwndName,(char*)ClassInfo.lpszClassName);\n\t\t\t\t\tOUTPUT(WSTR(\"%-32s  \"),gHwndName);\n\t\t\t\t}\n\t\t\t}\t\t\t\t\t\t\n\t\t}\n\t\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\n\t\t{\n\t\t\tif((DWORD)Iter->m_PEProcess==gHwndSyserThread.Process)\n\t\t\t{\n\t\t\t\tCDbgModule*pDbgModule = Iter->m_ModuleList.GetModule(HwndInfo.WndProc);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tAnsiToUnicode(pDbgModule->m_ModuleTitle,gHwndName,sizeof(gHwndName)/sizeof(gHwndName[0]));\n\t\t\t\t\tOUTPUT(gHwndName);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpDbgModule = gpSyser->m_pSysDebugger->m_ModuleList.GetModule(HwndInfo.WndProc);\n\t\t\t\t\tif(pDbgModule)\n\t\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\t\tAnsiToUnicode(pDbgModule->m_ModuleTitle,gHwndName,sizeof(gHwndName)/sizeof(gHwndName[0]));\n\t\t\t\t\t\tOUTPUT(gHwndName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t}\n\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t}\n\treturn true;\n}\n\n\n\nvoid hwnd_display_list(DWORD dwAddress,DWORD dwDisplayFlags,DWORD Param1)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\t\n\twhile(dwAddress && GetHwndInfoByWndStruct(*(void**)&dwAddress,&HwndInfo))\n\t{\t\n\t\tif(gbShowTitle==false && ((dwDisplayFlags&0x1)==0))\n\t\t{\n\t\t\tOUTPUT(gHwndTitle);\n\t\t\tgbShowTitle=true;\n\t\t}\n\t\tif(hwnd_display_info(dwAddress,dwDisplayFlags,HwndInfo,Param1))\n\t\t\tgHwndCount++;\n\t\tif(dwDisplayFlags&0x1)\n\t\t\tOUTPUT(WSTR(\"\\n\"));//ϸʾϢ\n\t\tif(dwDisplayFlags&0x2)\n\t\t\thwnd_display_list((DWORD)HwndInfo.ChildHwnd,dwDisplayFlags,Param1);\n\t\tdwAddress=(DWORD)HwndInfo.NextHwnd;\n\t\tif(dwDisplayFlags&0x8000)\n\t\t\tbreak;\n\t}\n}\nconst WCHAR cmd_hwnd_usage[]=\n{\n\tL\"hwnd: Display window handle information\\n\"\n\tL\"Format: hwnd [-xc] [hwnd | thread | process]\\n\"\n\tL\"Example1: hwnd 10016 \\n\"\n\tL\"Example2: hwnd -x 10018\\n\"\n\tL\"Example3: hwnd -c\\n\"\n};\nint hwnd_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\t\n\tDWORD Address;\n\tDWORD dwDisplayFlags=0;\n\tgbShowTitle=false;\n\tDWORD dwCount=0;\n\tint i;\n\tpSyser->InitOSHwndRoot();\n\tAddress=pSyser->m_OSHwndRoot;\n\tgHwndCount=0;\n\targc--;\n\tfor(i=0;i<argc;i++)\n\t{\n\t\tif(argv[i+1][0]=='/' || argv[i+1][0]=='-')\n\t\t{\n\t\t\tif((argv[i+1][1]=='x' || argv[i+1][1]=='X')&&argv[i+1][2]==0)\n\t\t\t\tdwDisplayFlags |= 0x1;\n\t\t\telse if((argv[i+1][1]=='c' || argv[i+1][1]=='C')&&argv[i+1][2]==0)\n\t\t\t\tdwDisplayFlags |= 0x2;\n\t\t\telse \n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"hwnd input error!\\n\"));\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\targv[i+1][0]=0;\n\t\t}\n\t\telse\n\t\t\tdwCount++;\n\t}\n\tSYSER_VALUE_TYPE Type;\n\tSYSER_HWND_INFO HwndInfo;\n\tCDbgProcess*pDbgProcess=NULL;\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tDWORD dwParam;\n\n\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"csrss\"));\n\tif(pDbgProcess==NULL)\n\t\treturn 0;\n\tgpSyser->MapToProcess(pDbgProcess);\t\t\n\n\tif(dwCount)\n\t{\n\t\tfor(i=0;i<argc;i++)\n\t\t{\n\t\t\tif(CALCEXP(argv[i+1],&dwParam)==false)\n\t\t\t\tcontinue;\n\t\t\tType = GetValueType(dwParam);\n\t\t\tAddress=pSyser->m_OSHwndRoot;\n\t\t\tswitch(Type)\n\t\t\t{\n\t\t\tcase VALUE_TYPE_PROCESS_PTR:\n\t\t\t\tif(GetProcessInfoByEPROCESS(dwParam,&Process)==false)\n\t\t\t\t\tcontinue;\n\t\t\t\t\tdwParam=Process.UniqueProcessId;\n\t\t\tcase VALUE_TYPE_PROCESS_ID:\t\t\n\t\t\t\tdwDisplayFlags|=10;\n\t\t\t\tbreak;\n\t\t\tcase VALUE_TYPE_THREAD_PTR:\n\t\t\t\tif(GetThreadInfoByETHREAD(dwParam,&Thread)==false)\n\t\t\t\t\tcontinue;\n\t\t\tcase VALUE_TYPE_THREAD_ID:\n\t\t\t\tdwDisplayFlags|=18;\n\t\t\t\tbreak;\n\t\t\tcase VALUE_TYPE_HWND_ID:\n\t\t\t\tdwParam = GetHwndInfoByHwnd(dwParam,&HwndInfo);\n\t\t\tcase VALUE_TYPE_HWND_PTR:\n\t\t\t\tAddress=dwParam;\n\t\t\t\tdwDisplayFlags|=0x8000;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\thwnd_display_list(Address,dwDisplayFlags,dwParam);\n\t\t}\n\t}\n\telse\n\t{\n\t\tdwDisplayFlags|=4;\n\t\tdwParam=0;\n\t\thwnd_display_list(Address,dwDisplayFlags,dwParam);\n\t}\n\tif(gHwndCount>1)\n\t\tOUTPUT(WSTR(\"%d Hwnd(s)\\n\"),gHwndCount);\n\treturn 0;\n}\n#endif\nconst WCHAR cmd_bmsg_usage[]=\n{\n\tL\"bpx: Breadpoint on Window message\\n\"\n\tL\"Format: bmsg hWnd [begin-msg [end-msg]] [if condition_string] [do command_string]\\n\"\n\tL\"Example1: bmsg 70370 WM_RBUTTONDOWN\\n\"\n\tL\"Example2: bmsg 10018 WM_MOUSEFIRST WM_MOUSELAST\\n\"\n\tL\"Example3: bmsg 10018 WM_CHAR if (*esi)&FF==0 do d eip\\n\"\n};\nint get_do_command_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szDoCmd,int MaxSize);\nint get_command_condition_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szCondition,int MaxSize);\n\n#ifdef CODE_OS_NT_DRV\n\nint bmsg_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwValue,dwParam;\n\tint n;\n\tCHAR Name[256],Condition[256],DoCmd[256];\n\tif(argc<3)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 0;\n\t}\n\tUnicodeToAnsi(argv[1],Name,sizeof(Name));\n\tif(get_command_condition_string(argc,argv,szCommandLine,Condition,256)>0)\n\t{\n\t\tif(CALCEXP(Condition,NULL)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid condition string !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tget_do_command_string(argc,argv,szCommandLine,DoCmd,256);\n\tfor(n=2;n<argc;n++)\n\t{\n\t\tif(TStrICmp(argv[n],\"if\")==0)\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n\targc=n;\n\tif(argc < 3)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&dwParam)==false)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn 0;\n\t}\n\tDWORD dwBegin,dwEnd=0x80000000;\n\tbool bBeginOK=false;\n\tif(CALCEXP(argv[2],&dwBegin)==false)\n\t{\n\t\tfor(n=0;stMsgList[n].MsgName;n++)\n\t\t{\n\t\t\tif(TStrICmp(argv[2],stMsgList[n].MsgName)==0)\n\t\t\t{\n\t\t\t\tdwBegin=stMsgList[n].MsgNumber;\n\t\t\t\tbBeginOK=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(bBeginOK==false)\n\t\t{\n\t\t\tOUTPUT_COMMAND_USAGE;\n\t\t\treturn 0;\n\t\t}\n\t}\n\tif(argc>3)\n\t{\n\t\tbBeginOK=false;\n\t\tif(CALCEXP(argv[3],&dwEnd)==false)\n\t\t{\n\t\t\tfor(n=0;stMsgList[n].MsgName;n++)\n\t\t\t{\n\t\t\t\tif(TStrICmp(argv[2],stMsgList[n].MsgName)==0)\n\t\t\t\t{\n\t\t\t\t\tdwEnd=stMsgList[n].MsgNumber;\n\t\t\t\t\tbBeginOK=true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bBeginOK==false)\n\t\t\t{\n\t\t\t\tOUTPUT_COMMAND_USAGE;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t}\n\tchar Condition1[320];\n\tif(dwEnd==0x80000000)\n\t\tTSPrintf(Condition1,\"(*(esp+4)==%x && *(esp+8)==%x)\",dwParam,dwBegin);\n\telse\n\t\tTSPrintf(Condition1,\"(*(esp+4)==%x && *(esp+8)>=%x && *(esp+8)<%x)\",dwParam,dwBegin,dwEnd);\n\tif(Condition[0])\n\t{\n\t\tTStrCat(Condition1,\"&&(\");\n\t\tTStrCat(Condition1,Condition);\n\t\tTStrCat(Condition1,\")\");\n\t}\n\tpSyser->InitOSHwndRoot();\n\tSYSER_HWND_INFO HwndInfo;\n\tdwParam = GetHwndInfoByHwnd(dwParam,&HwndInfo);\n\tif(dwParam==0)\n\t{\n\t\tOUTPUT(WSTR(\"Invalid window handle\\n\"));\n\t\treturn 0;\n\t}\n\tDWORD dwLen;\n\tmemset(&gHwndSyserThread,0,sizeof(gHwndSyserThread));\n\tif(ReadDword((void*)HwndInfo.Thread,&dwLen))\n\t{\t\t\n\t\tif(GetThreadInfoByETHREAD((DWORD)dwLen,&gHwndSyserThread)==false)\n\t\t\tgHwndSyserThread.Process=0;\n\t}\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\n\t{\n\t\tif((DWORD)Iter->m_PEProcess==gHwndSyserThread.Process)\n\t\t{\n\t\t\tgpSyser->MapToProcess(&*Iter);\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tif(gpSyser->m_SyserUI.InsertCodeBP(HwndInfo.WndProc,Name,Condition1,DoCmd)==false)\n\t\tOUTPUT(WSTR(\"Error : Fail to set code breakpoint at %08X!\\n\"),HwndInfo.WndProc);\n\telse\n\t\tOUTPUT(WSTR(\"Set code break point at %<B>%08X%<1>!\\n\"),HwndInfo.WndProc);\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn 0;\n}\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/HwndCmd.h",
    "content": "#ifndef __HWNDCMD__H__\n\n#define __HWNDCMD__H__\n\n#ifdef CODE_OS_NT_DRV\n\n#define WS_POPUPWINDOW\t\t\t0x80880000L\n#define WS_OVERLAPPEDWINDOW\t\t0x00cf0000L\n#define WS_CHILDWINDOW\t\t\t0x40000000L\n#define WS_CAPTION\t\t\t\t0x00c00000L\n#define WS_CHILD\t\t\t\t0x40000000L\n#define WS_OVERLAPPED\t\t\t0x00000000L\n#define WS_EX_OVERLAPPEDWINDOW\t0x00000300L\n#define WS_EX_PALETTEWINDOW\t\t0x00000188L\n#define WS_EX_RIGHT             0x00001000L\n#define WS_EX_RTLREADING        0x00002000L\n#define WS_EX_LEFTSCROLLBAR     0x00004000L\n\n#endif\n\ntypedef struct _WND_STYLE_INFO\n{\n\tDWORD Value;\n\tWCHAR *Name;\n}WND_STYLE_INFO,*PWND_STYLE_INFO;\nextern WND_STYLE_INFO gWndStyleExInfo[18];\nextern WND_STYLE_INFO gWndStyleInfo[17];\nextern WND_STYLE_INFO gOSPredefineColor[30];\nextern WND_STYLE_INFO gOSClassStyle[13];\nextern WND_STYLE_INFO gOSPredefineCursor[14];\nstruct _SYSER_HWND_INFO;\ntypedef struct _SYSER_HWND_INFO\n{\n\tDWORD hWnd;\t\t\t\t\t\t\t//0\n\tDWORD Unknow1;\t\t\t\t\t\t//4\n\tDWORD Thread;\t\t\t\t\t\t//8\n\tDWORD Unknow2[4];\t\t\t\t\t//c\n\tDWORD Style;\t\t\t\t\t\t//1c\n\tDWORD StyleEx;\t\t\t\t\t\t//20\n\tDWORD InstanceHandle\t;\t\t\t//24\n\tDWORD Unknow3;\t\t\t\t\t\t//28\n\t_SYSER_HWND_INFO* NextHwnd;\t\t\t//2c\n\t_SYSER_HWND_INFO* PreviousHwnd;\t\t//30\n\t_SYSER_HWND_INFO* ParentHwnd;\t\t//34\n\t_SYSER_HWND_INFO* ChildHwnd;\t\t//38\n\t_SYSER_HWND_INFO* OwnerHwnd;\t\t//3c\n\tint\tWndLeft;\t\t\t\t\t\t//40\n\tint WndTop;\t\t\t\t\t\t\t//44\n\tint WndRight;\t\t\t\t\t\t//48\n\tint WndBottom;\t\t\t\t\t\t//4c\n\tint CliLeft;\t\t\t\t\t\t//50\n\tint CliTop;\t\t\t\t\t\t\t//54\n\tint CliRight;\t\t\t\t\t\t//58\n\tint CliBottom;\t\t\t\t\t\t//5c\n\tDWORD WndProc;\t\t\t\t\t\t//60\n\tDWORD ClassInfo;\t\t\t\t\t//64\n\tDWORD Unknow4[4];\t\t\t\t\t//68\n\tunion{\n\t\tDWORD Menu;\t\t\t\t\t\t//78\n\t\tDWORD ControlID;\t\t\t\t//78 \n\t};\t\n\tDWORD Unknow5;\t\t\t\t\t\t//7c\n\tDWORD WindowCaptionLen;\t\t\t\t//80\n\tDWORD Unknow9;\t\t\t\t\t\t//84\n\tDWORD WindowCaptionBuffer;\t\t\t//88\n\tDWORD Unknow21[3];\t\t\t\t\t//8c\n\tDWORD UserData;\t\t\t\t\t\t//98\n\tDWORD Unknow11;\t\t\t\t\t\t//9c\n}SYSER_HWND_INFO,*PSYSER_HWND_INFO;\n\nstruct _SYSER_HWND_CLASS_INFO;\ntypedef struct _SYSER_HWND_CLASS_INFO\n{\nDWORD Next;\t\t\t\t\t\t\t//0\nDWORD Flags;\t\t\t\t\t\t//4\nDWORD Unknow1;\t\t\t\t\t\t//8\nDWORD Unknow2[0x24/sizeof(DWORD)];\t//c\nDWORD style;\t\t\t\t\t\t//0x30\nDWORD lpfnWndProc;\t\t\t\t\t//0x34\nDWORD cbClsExtra;\t\t\t\t\t//0x38\nDWORD cbWndExtra;\t\t\t\t\t//0x3c\nDWORD hInstance;\t\t\t\t\t//0x40\nDWORD IconHandle;\t\t\t\t\t//0x44\nDWORD hCursor;\t\t\t\t\t\t//0x48\nDWORD hbrBackground;\t\t\t\t//0x4c\nDWORD lpszMenuName;\t\t\t\t\t//0x50\nDWORD lpszClassName;\t\t\t\t//0x54\nDWORD hIconSm;\t\t\t\t\t\t//0x58\n}SYSER_HWND_CLASS_INFO,*PSYSER_HWND_CLASS_INFO;\n\nbool GetHwndInfoByWndStruct(void* OsWindowPtr,PSYSER_HWND_INFO SyserHwndInfo);\nbool GetClassInfoByHwndInfo(PSYSER_HWND_INFO SyserHwndInfo,PSYSER_HWND_CLASS_INFO SyserHwndClassInfo);\nDWORD GetHwndInfoByHwnd(DWORD HwndID,PSYSER_HWND_INFO HwndInfo);\nclass CWndHwnd\n{\npublic:\n\tCWndHwnd(void* WindowHwndPtr=NULL);\n\t~CWndHwnd();\n\tDWORD GetNextWindowCaption(WCHAR* Caption,DWORD CaptionLen);\n\tDWORD GetPrevWindowCaption(WCHAR* Caption,DWORD CaptionLen);\n\tDWORD GetParentWindowCaption(WCHAR* Caption,DWORD CaptionLen);\n\tDWORD GetFirstChildWindowCaption(WCHAR* Caption,DWORD CaptionLen);\n\tDWORD GetOwnerWindowCaption(WCHAR* Caption,DWORD CaptionLen);\n\tDWORD GetClassName(WCHAR* ClassName,DWORD ClassNameLen);\n\tSYSER_HWND_CLASS_INFO m_HwndInfo;\n};\n\nclass CSyser;\nDECLARE_SYSER_CMD(hwnd_command);\nDECLARE_SYSER_CMD(bmsg_command);\nextern const WCHAR cmd_bmsg_usage[];\nextern const WCHAR cmd_hwnd_usage[];\n#endif //__HWNDCMD__H__\n"
  },
  {
    "path": "Project/Syser/Source/HwndWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"HwndWnd.h\"\n#include \"HwndCmd.h\"\n#include \"OSProcessThread.h\"\n\nWISP_MSG_MAP_BEGIN(CHwndProcessAndThread)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnClientUpdate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CHwndProcessAndThread)\n\nWISP_MSG_EVENT_MAP_END\nbool CHwndProcessAndThread::OnCreate(WISP_MSG*pMsg)\n{\n\treturn true;\n}\nvoid CHwndProcessAndThread::UpdateContext()\n{\n\t\n}\n\nbool CHwndProcessAndThread::OnClientUpdate(WISP_MSG*pMsg)\n{\n\tCWispWnd::OnUpdateClient(pMsg);\n\tWISP_RECT rc;\n\tWCHAR Name[10];\n\tDWORD dwAddress;\n\tSYSER_THREAD Thread;\n\tSYSER_PROCESS Process;\n\trc.x=12;\n\trc.y=12;\n\trc.cx=80;\n\trc.cy=16;\n\tm_ClientDC.DrawString(WSTR(\"Process ID:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tm_ClientDC.DrawString(WSTR(\"Thread ID:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tPSYSER_HWND_INFO pHwndInfo=pForm->GetHwndInfo();\n\trc.y-=20;\n\trc.x+=200;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->Thread);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\tif(ReadDword(*(void**)&pHwndInfo->Thread,&dwAddress)==false)\n\t\treturn false;\n\tif(GetThreadInfoByETHREAD((DWORD)dwAddress,&Thread)==false)\n\t\treturn false;\n\tif(GetProcessInfoByEPROCESS((DWORD)Thread.Process,&Process)==false)\n\t\treturn false;\n\trc.x-=100;\n\tTSPrintf(Name,WSTR(\"%08x\"),Process.UniqueProcessId);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"%08x\"),Thread.ThreadID);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\treturn false;\n}\n\nenum _CHILD_WND_ID\n{\nCMD_ID_NEXTHWND=WISP_ID_USER_START,\nCMD_ID_PREVIOUSHWND,\nCMD_ID_PARENTHWND,\nCMD_ID_CHILDHWND,\nCMD_ID_OWNERHWND,\n};\n\n\nWISP_MSG_MAP_BEGIN(CHwndClassWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnClientUpdate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CHwndClassWnd)\n\nWISP_MSG_EVENT_MAP_END\n\nbool CHwndClassWnd::OnCreate(WISP_MSG*pMsg)\n{\n\n\treturn true;\n}\nvoid CHwndClassWnd::UpdateContext()\n{\n\n}\n\nbool CHwndClassWnd::OnClientUpdate(WISP_MSG*pMsg)\n{\n\tWISP_RECT rc;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tPSYSER_HWND_CLASS_INFO pHwndClassInfo=pForm->GetHwndClassInfo();\n\tDWORD dwLen;\n\tWCHAR Name[256];\n\tCWispWnd::OnUpdateClient(pMsg);\n\tint m;\n\trc.x=12;\n\trc.y=12;\n\trc.cx=80;\n\trc.cy=16;\n\tm_ClientDC.DrawString(WSTR(\"Class Name:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Class Style:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Class Bytes:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Class Atom:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Window Bytes:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Menu Name:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Icon Handle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Cursor:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\t\n\tm_ClientDC.DrawString(WSTR(\"Bkgnd Brush:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.x=175;\n\trc.y=80;\n\trc.cx=180;\n\trc.cy=16;\n\tm_ClientDC.DrawString(WSTR(\"Instance Handle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\n\tm_ClientDC.DrawString(WSTR(\"Window Proc:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.x=95;\n\trc.y=12;\n\trc.cx=80;\n\trc.cy=16;\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndClassInfo->style);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"%d\"),pHwndClassInfo->cbClsExtra);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"%d\"),pHwndClassInfo->cbWndExtra);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"(None)\"));\n\tif(pHwndClassInfo->IconHandle)\n\t{\n\t\tif(ReadDword(*(void**)&pHwndClassInfo->IconHandle,&dwLen))\n\t\t\tTSPrintf(Name,WSTR(\"%08x\"),dwLen);\n\t}\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"(None)\"));\n\tif(pHwndClassInfo->hCursor)\n\t{\n\t\tif(ReadDword(*(void**)&pHwndClassInfo->hCursor,&dwLen))\n\t\t{\n\t\t\tTSPrintf(Name,WSTR(\"%08x\"),dwLen);\n\t\t\tfor(m =0;m<sizeof(gOSPredefineCursor)/sizeof(gOSPredefineCursor[0]);m++)\n\t\t\t{\n\t\t\t\tif(gOSPredefineCursor[m].Value==dwLen)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(Name,WSTR(\"%s\"),gOSPredefineCursor[m].Name);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=19;\n\tTSPrintf(Name,WSTR(\"(None)\"));\n\tif(pHwndClassInfo->hbrBackground)\n\t{\n\t\tif(ReadDword(*(void**)&pHwndClassInfo->hbrBackground,&dwLen))\n\t\t{\n\t\t\tTSPrintf(Name,WSTR(\"%08x\"),dwLen);\n\t\t\tfor(m =0;m<sizeof(gOSPredefineColor)/sizeof(gOSPredefineColor[0]);m++)\n\t\t\t{\n\t\t\t\tif(gOSPredefineColor[m].Value==dwLen)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(Name,WSTR(\"%s\"),gOSPredefineColor[m].Name);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\treturn false;\n}\n\nCHwndStyleWnd::CHwndStyleWnd()\n{\n\n}\nCHwndStyleWnd::~CHwndStyleWnd()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CHwndStyleWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CHwndStyleWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CHwndStyleWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_StyleList.Create(WSTR(\"\"),12,25,345,65,this,CMD_ID_MODULE_LIST_WND,WISP_WLS_SELECTED_ALWAYS|WISP_WS_THIN_BORDER);\n\tm_StyleList.InsertColumn(NULL,340);\n\tm_StyleExList.Create(WSTR(\"\"),12,110,345,65,this,CMD_ID_MODULE_LIST_WND,WISP_WLS_SELECTED_ALWAYS|WISP_WS_THIN_BORDER);\n\tm_StyleList.InsertColumn(NULL,340);\n\tm_StyleStr.Create(WSTR(\"\"),12,8,170,16,this);\n\tm_StyleExStr.Create(WSTR(\"\"),12,93,170,16,this);\n\tUpdateContext();\n\treturn true;\n}\n\nvoid CHwndStyleWnd::UpdateContext()\n{\n\tWCHAR Buffer[128];\n\tint i;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tPSYSER_HWND_INFO pHwndInfo=pForm->GetHwndInfo();\n\tm_StyleExList.ClearChildItem();\n\tDWORD Value=pHwndInfo->StyleEx;\n\tOUTPUT(WSTR(\"offset %d %d %08x [%08x] [%08x]\\n\"),(BYTE*)&pHwndInfo->StyleEx-(BYTE*)pHwndInfo, (BYTE*)&pHwndInfo->Style-(BYTE*)pHwndInfo,pHwndInfo,pHwndInfo->Style,pHwndInfo->StyleEx);\n\tOUTPUT(WSTR(\"sizeof(gWndStyleExInfo)/sizeof(gWndStyleExInfo[0])=%d %08x %08x\\n\"),sizeof(gWndStyleExInfo)/sizeof(gWndStyleExInfo[0]),pHwndInfo->StyleEx,pHwndInfo->Style);\n\tfor(i =0;i<sizeof(gWndStyleExInfo)/sizeof(gWndStyleExInfo[0]);i++)\n\t{\n\t\tif(Value & gWndStyleExInfo[i].Value)\n\t\t{\n\t\t\tm_StyleExList.InsertItem(gWndStyleExInfo[i].Name);\n\t\t\tValue&=~(gWndStyleExInfo[i].Value);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%08x & %08x\\n\"),Value,gWndStyleExInfo[i].Value);\n\t\t}\n\t}\n\tTStrCat(Buffer,Value&WS_EX_LEFTSCROLLBAR?\"WS_EX_LEFTSCROLLBAR\":\"WS_EX_RIGHTSCROLLBAR\");\n\tm_StyleExList.InsertItem(Buffer);\n\tTStrCat(Buffer,Value&WS_EX_RTLREADING?\"WS_EX_RTLREADING\":\"WS_EX_LTRREADING\");\t\n\tm_StyleExList.InsertItem(Buffer);\n\tTStrCat(Buffer,Value&WS_EX_RIGHT?\"WS_EX_RIGHT\":\"WS_EX_LEFT\");\n\tm_StyleExList.InsertItem(Buffer);\n\tif(Value)\n\t{\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x\"),Value);\n\t\tm_StyleExList.InsertItem(Buffer);\n\t}\n\tOUTPUT(WSTR(\"sizeof(gWndStyleInfo)/sizeof(gWndStyleInfo[0])=%d\\n\"),sizeof(gWndStyleInfo)/sizeof(gWndStyleInfo[0]));\n\tm_StyleList.ClearChildItem();\n\tValue=pHwndInfo->Style;\n\tfor(i =0;i<sizeof(gWndStyleInfo)/sizeof(gWndStyleInfo[0]);i++)\n\t{\n\t\tif(Value & gWndStyleInfo[i].Value)\n\t\t{\n\t\t\tm_StyleList.InsertItem(gWndStyleInfo[i].Name);\t\t\t\n\t\t\tValue&=~(gWndStyleInfo[i].Value);\n\t\t}\n\t}\n\tif(Value)\n\t{\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x\"),Value);\n\t\tm_StyleList.InsertItem(Buffer);\n\t}\n\tTSPrintf(Buffer,WSTR(\"Window Styles:      %08x\"),pHwndInfo->Style);\n\tm_StyleStr.SetWindowText(Buffer);\n\tTSPrintf(Buffer,WSTR(\"Extended Styles:    %08x\"),pHwndInfo->StyleEx);\n\tm_StyleExStr.SetWindowText(Buffer);\n}\nCHwndOtherWnd::CHwndOtherWnd()\n{\n\n}\nCHwndOtherWnd::~CHwndOtherWnd()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CHwndOtherWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnClientUpdate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CHwndOtherWnd)\n\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CHwndOtherWnd)\nWISP_MSG_CMD_MAP(CMD_ID_NEXTHWND,OnGotoNextHwnd)\nWISP_MSG_CMD_MAP(CMD_ID_PREVIOUSHWND,OnGotoPreviousHwnd)\nWISP_MSG_CMD_MAP(CMD_ID_PARENTHWND,OnGotoParentHwnd)\nWISP_MSG_CMD_MAP(CMD_ID_CHILDHWND,OnGotoChildHwnd)\nWISP_MSG_CMD_MAP(CMD_ID_OWNERHWND,OnGotoOwnerHwnd)\nWISP_MSG_CMD_MAP_END\n\nbool CHwndOtherWnd::OnGotoNextHwnd(IN WISP_MSG*pMsg)\n{\n\tOUTPUT(WSTR(\"Clicked Next Hwnd %08x\\n\"),m_NextHwnd);\n\tif(m_NextHwnd==0)\n\t\treturn true;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tpForm->UpdateContext(m_NextHwnd);\t\n\treturn false;\n}\nbool CHwndOtherWnd::OnGotoPreviousHwnd(IN WISP_MSG*pMsg)\n{\n\tif(m_PreviousHwnd==0)\n\t\treturn true;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tpForm->UpdateContext(m_PreviousHwnd);\t\n\treturn true;\n}\nbool CHwndOtherWnd::OnGotoParentHwnd(IN WISP_MSG*pMsg)\n{\n\tif(m_ParentHwnd==0)\n\t\treturn true;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tpForm->UpdateContext(m_ParentHwnd);\t\n\treturn true;\n}\nbool CHwndOtherWnd::OnGotoChildHwnd(IN WISP_MSG*pMsg)\n{\n\tif(m_FirstChildHwnd==0)\n\t\treturn true;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tpForm->UpdateContext(m_FirstChildHwnd);\t\n\treturn true;\n}\nbool CHwndOtherWnd::OnGotoOwnerHwnd(IN WISP_MSG*pMsg)\n{\n\tif(m_OwnerWnd==0)\n\t\treturn true;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tpForm->UpdateContext(m_OwnerHwnd);\t\n\treturn true;\n}\nbool CHwndOtherWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tWISP_RECT rc={12,12,344,30},rc2={56,25,74,12};\n\tm_NextGroup.Create(WSTR(\"Next Window\"),&rc,this);\n\trc.y+=32;\n\tm_PreviousGroup.Create(WSTR(\"Previous Window\"),&rc,this);\n\trc.y+=32;\n\tm_ParentGroup.Create(WSTR(\"Parent Window\"),&rc,this);\n\trc.y+=32;\n\tm_FirstChildGroup.Create(WSTR(\"First Child Window\"),&rc,this);\n\trc.y+=32;\n\tm_OnwerGroup.Create(WSTR(\"Owner Window\"),&rc,this);\t\n\t\n\tm_NextURL.Create(NULL,&rc2,this,CMD_ID_NEXTHWND);\n\trc2.y+=32;\n\tm_PreviousURL.Create(NULL,&rc2,this,CMD_ID_PREVIOUSHWND);\t\n\trc2.y+=32;\n\tm_ParentURL.Create(NULL,&rc2,this,CMD_ID_PARENTHWND);\n\trc2.y+=32;\n\tm_FirstChildURL.Create(NULL,&rc2,this,CMD_ID_CHILDHWND);\n\trc2.y+=32;\n\tm_OwnerURL.Create(NULL,&rc2,this,CMD_ID_OWNERHWND);\n\n\treturn true;\n}\nbool CHwndOtherWnd::OnClientUpdate(WISP_MSG*pMsg)\n{\n\tCWispWnd::OnUpdateClient(pMsg);\n\tWCHAR Name[10]=WSTR(\"Handle:\"),Catpion[10]=WSTR(\"Caption \");\n\tWISP_RECT rc={15,25,40,12},rc2={138,25,214,12};\t\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\tm_ClientDC.DrawString(Catpion,&rc2,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=32;rc2.y+=32;\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\tm_ClientDC.DrawString(Catpion,&rc2,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=32;rc2.y+=32;\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\tm_ClientDC.DrawString(Catpion,&rc2,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=32;rc2.y+=32;\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\tm_ClientDC.DrawString(Catpion,&rc2,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=32;rc2.y+=32;\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\tm_ClientDC.DrawString(Catpion,&rc2,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\treturn false;\n}\n\nvoid CHwndOtherWnd::UpdateContext()\n{\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tPSYSER_HWND_INFO pHwndInfo=pForm->GetHwndInfo();\n\tWCHAR Name[20],NullName[]=WSTR(\"NULL\");\n\tDWORD dwAddress;\n\tm_NextHwnd=0;\n\tm_PreviousHwnd=0;\n\tm_ParentHwnd=0;\n\tm_FirstChildHwnd=0;\n\tm_OwnerHwnd=0;\n\tif(pHwndInfo->NextHwnd && ReadDword(pHwndInfo->NextHwnd,&dwAddress))\n\t{\n\t\tTSPrintf(Name,WSTR(\"%08X\"),dwAddress);\n\t\tm_NextURL.SetWindowText(Name);\n\t\tm_NextHwnd=*(DWORD*)&pHwndInfo->NextHwnd;\n\t}\n\telse\n\t\tm_NextURL.SetWindowText(NullName);\n\tif(pHwndInfo->PreviousHwnd && ReadDword(pHwndInfo->PreviousHwnd,&dwAddress))\n\t{\n\t\tTSPrintf(Name,WSTR(\"%08X\"),dwAddress);\n\t\tm_PreviousURL.SetWindowText(Name);\n\t\tm_PreviousHwnd=*(DWORD*)&pHwndInfo->PreviousHwnd;\t\t\n\t}\n\telse\n\t\tm_PreviousURL.SetWindowText(NullName);\n\tif(pHwndInfo->ChildHwnd && ReadDword(pHwndInfo->ChildHwnd,&dwAddress))\n\t{\n\t\tTSPrintf(Name,WSTR(\"%08X\"),dwAddress);\n\t\tm_FirstChildURL.SetWindowText(Name);\n\t\tm_FirstChildHwnd=*(DWORD*)&pHwndInfo->ChildHwnd;\n\t}\n\telse\n\t\tm_FirstChildURL.SetWindowText(NullName);\n\tif(pHwndInfo->ParentHwnd && ReadDword(pHwndInfo->ParentHwnd,&dwAddress))\n\t{\n\t\tTSPrintf(Name,WSTR(\"%08X\"),dwAddress);\n\t\tm_ParentURL.SetWindowText(Name);\n\t\tm_ParentHwnd=*(DWORD*)&pHwndInfo->ParentHwnd;\n\t}\n\telse\n\t\tm_ParentURL.SetWindowText(NullName);\n\tif(pHwndInfo->OwnerHwnd && ReadDword(pHwndInfo->OwnerHwnd,&dwAddress))\n\t{\n\t\tTSPrintf(Name,WSTR(\"%08X\"),dwAddress);\n\t\tm_OwnerURL.SetWindowText(Name);\n\t\tm_OwnerHwnd=*(DWORD*)&pHwndInfo->OwnerHwnd;\n\t}\n\telse\n\t\tm_OwnerURL.SetWindowText(NullName);\n}\n\nCHwndGeneralWnd::CHwndGeneralWnd()\n{\n\n}\nCHwndGeneralWnd::~CHwndGeneralWnd()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CHwndGeneralWnd)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnClientUpdate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CHwndGeneralWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CHwndGeneralWnd::OnCreate(WISP_MSG*pMsg)\n{\n\t\n\treturn true;\n}\nvoid CHwndGeneralWnd::UpdateContext()\n{\n\n}\nbool CHwndGeneralWnd::OnClientUpdate(WISP_MSG*pMsg)\n{\n\tWISP_RECT rc;\n\tCHwndPropertyForm* pForm=(CHwndPropertyForm*)m_OwnerWnd;\n\tPSYSER_HWND_INFO pHwndInfo=pForm->GetHwndInfo();\n\tDWORD dwLen;\n\tWCHAR Name[256];\n\tCWispWnd::OnUpdateClient(pMsg);\n\trc.x=12;\n\trc.y=6;\n\trc.cx=180;\n\trc.cy=16;\n\tm_ClientDC.DrawString(WSTR(\"Window Caption:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Window Handle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Window Proc:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Window Rectangle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Client Rectangle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Instance Handle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"Menu Handle:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.y+=20;\t\n\tm_ClientDC.DrawString(WSTR(\"User Data:\"),&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\trc.x=140;\n\trc.y=6;\n\trc.cx=180;\n\trc.cy=16;\n\tif(pHwndInfo->WindowCaptionLen && pHwndInfo->WindowCaptionBuffer)\n\t{\t\t\n\t\tdwLen=pHwndInfo->WindowCaptionLen;\n\t\tif(pHwndInfo->WindowCaptionLen>sizeof(Name))\n\t\t\tdwLen=sizeof(Name)-2;\n\t\tSafeMemCopy((BYTE*)Name,*(BYTE**)&pHwndInfo->WindowCaptionBuffer,dwLen);\t\n\t\tName[dwLen/sizeof(WCHAR)]=0;\n\t\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\t\t\n\t}\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->hWnd);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->WndProc);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"(%d, %d)-(%d, %d), %dx%d\"),\n\t\tpHwndInfo->WndLeft,\n\t\tpHwndInfo->WndTop,\n\t\tpHwndInfo->WndRight,\n\t\tpHwndInfo->WndBottom,\n\t\tpHwndInfo->WndRight-pHwndInfo->WndLeft,\n\t\tpHwndInfo->WndBottom-pHwndInfo->WndTop);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"(%d, %d)-(%d, %d), %dx%d\"),\n\t\tpHwndInfo->CliLeft-pHwndInfo->WndLeft,\n\t\tpHwndInfo->CliTop-pHwndInfo->WndTop,\n\t\tpHwndInfo->CliRight-pHwndInfo->WndRight,\n\t\tpHwndInfo->CliBottom-pHwndInfo->WndBottom,\n\t\tpHwndInfo->CliRight-pHwndInfo->CliLeft,\n\t\tpHwndInfo->CliBottom-pHwndInfo->CliTop);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->InstanceHandle);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tName[0]=0;\n\tif(pHwndInfo->Style&WS_CHILD) \n\t\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->ControlID);\n\telse\n\t{\n\t\tdwLen=pHwndInfo->Menu;\n\t\tif(pHwndInfo->Menu)\n\t\t{\n\t\t\tReadDword(*(void**)&pHwndInfo->Menu,&dwLen);\t\t\t\t\t\t\t\n\t\t}\t\t\n\t\tTSPrintf(Name,WSTR(\"%08x\"),dwLen);\n\t}\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\trc.y+=20;\n\tTSPrintf(Name,WSTR(\"%08x\"),pHwndInfo->UserData);\n\tm_ClientDC.DrawString(Name,&rc,WISP_DT_VCENTER|WISP_DT_SINGLELINE);\t\n\treturn false;\n}\n\n\n\nenum CHwndPropertyForm::WISP_FORM_ID\n{\t\n\tCMD_ID_BT_EDIT = WISP_ID_USER_START,\n\tCMD_ID_MAIN_TAB,\n\tCMD_ID_COMBOBOX_MODULE,\n\tCMD_ID_WND_PE_HEADER,\t\n\tCMD_ID_WND_RELOCATIONS,\n\tCMD_ID_WND_IMPORT,\n\tCMD_ID_WND_EXPORT,\n\tCMD_ID_BP_DATA_LIST,\n};\n\nWISP_FORM_RES_ITEM CHwndPropertyForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,386,268},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"PE Explorer\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t},\n\t\n\t{\n\t\tWISP_CTRL_TAB,\n\t\t{6,6,368,206},\n\t\tCMD_ID_MAIN_TAB,\n\t\tWISP_WS_THIN_BORDER,\n\t\tNULL,\n\t},\t\t\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CHwndPropertyForm)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CHwndPropertyForm)\nWISP_MSG_CMD_MAP(CMD_ID_COMBOBOX_MODULE,OnModuleSelectComboxCmd)\nWISP_MSG_CMD_MAP(CMD_ID_MAIN_TAB,OnTabActiveChange)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CHwndPropertyForm)\n\n\nWISP_MSG_EVENT_MAP_END\n\nCHwndPropertyForm::CHwndPropertyForm()\n{\n\tm_pFormRes = m_FormRes;\t\n\tm_pMainTab=NULL;\n\tmemset(&m_HwndInfo,0,sizeof(m_HwndInfo));\n}\nbool CHwndPropertyForm::OnTabActiveChange(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_TAB_ACTIVE_CHG)\n\t{\n\t\tif(pMsg->Command.Param1==1)\n\t\t\tm_pStyleWnd->UpdateContext();\n\t}\n\t\n\treturn  true;\n\n}\n\nCHwndPropertyForm::~CHwndPropertyForm()\n{\n\n}\nvoid CHwndPropertyForm::UpdateContext(DWORD ModuleBase)\n{\n\tm_HwndInfoAddress=ModuleBase;\n\tmemset(&m_HwndInfo,0,sizeof(m_HwndInfo));\n\tif(!IsWindow())\n\t\treturn;\n\tGetHwndInfoByWndStruct(*(void**)&ModuleBase,&m_HwndInfo);\n\tm_pGeneralWnd->UpdateContext();\n\tm_pStyleWnd->UpdateContext();\t\n\tm_pOtherWnd->UpdateContext();\n\tm_pClassWnd->UpdateContext();\n}\n\n\n\nvoid CHwndPropertyForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreateForm(NULL);\n\t}\n}\nbool CHwndPropertyForm::OnModuleSelectComboxCmd(IN WISP_MSG* pMsg)\n{\n\n\treturn true;\n}\n\nbool CHwndPropertyForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_pMainTab = (CWispTabWnd*) GetFormItem(CMD_ID_MAIN_TAB);\n\tm_pGeneralWnd=new CHwndGeneralWnd;\t\n\tm_pGeneralWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_pGeneralWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"General\"),m_pGeneralWnd);\n\tm_pGeneralWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tm_pStyleWnd=new CHwndStyleWnd;\n\tm_pStyleWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_pStyleWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Style\"),m_pStyleWnd);\n\tm_pStyleWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tm_pOtherWnd = new CHwndOtherWnd;\n\tm_pOtherWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_pOtherWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Windows\"),m_pOtherWnd);\n\tm_pOtherWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tm_pClassWnd = new CHwndClassWnd;\n\tm_pClassWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_pClassWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Class\"),m_pClassWnd);\n\tm_pClassWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\n\tm_pProcessAndThread = new CHwndProcessAndThread;\n\tm_pProcessAndThread->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_pProcessAndThread->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Process\"),m_pProcessAndThread);\n\tm_pProcessAndThread->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\n\treturn true;\n}\n\n\nWISP_MSG_MAP_BEGIN(CHwndListWnd) \nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CHwndListWnd)\nWISP_MSG_EVENT_MAP(EVENT_ID_GOTO,OnEventGoto)\nWISP_MSG_EVENT_MAP(EVENT_ID_PE_EXPLORER,OnEventPEExplorer)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MENU_RES_ITEM HwndListMenu[]=\n{\n\t{WSTR(\"Goto\"),EVENT_ID_GOTO,8,WISP_MIS_NORMAL},\n\t{WSTR(\"Properties\"),EVENT_ID_PE_EXPLORER,14,WISP_MIS_NORMAL},\n\tWISP_MENU_RES_END\n};\n\nCHwndListWnd::CHwndListWnd()\n{\n\t\n}\n\nCHwndListWnd::~CHwndListWnd()\n{\n\n}\n\nvoid CHwndListWnd::ItemClickNotify(HANDLE hItem,int Col)\n{\n\t\n}\n\nbool CHwndListWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,13*16+12));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_Style|=WISP_WLS_EMPTY_SEL_RECT;\n\tm_PopupMenu.CreatePopupMenu(HwndListMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tInsertColumn(WSTR(\"HWND\"),60);\n\tInsertColumn(WSTR(\"Name\"),200);\n\tInsertColumn(WSTR(\"Class Name\"),200);\n\t\n\tUpdateContext(NULL,GetWindowHwndHead());\n\treturn true;\n}\n\nbool CHwndListWnd::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CHwndListWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CHwndListWnd::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tif(pMsg->KeyEvent.bKeyDown && pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t{\n\t\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(hItem)\n\t\t\tm_PopupMenu.Popup();\n\t}\n\treturn true;\n}\n\nvoid CHwndListWnd::Popup()\n{\t\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"HWND\"),0,0,500,350,NULL,CMD_ID_MODULE_LIST_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WS_NORMAL|WISP_WLS_TREE);\n\t\tSetOwner(&gpSyser->m_MainFrame.m_SystemExplorer);\n\t\tCenter();\n\t}\t\n}\nDWORD CHwndListWnd::GetWindowHwndHead()\n{\n#ifdef CODE_OS_NT_DRV\n\tgpSyser->InitOSHwndRoot();\n\treturn gpSyser->m_OSHwndRoot;\n#endif\n\treturn 0;\n}\nvoid CHwndListWnd::UpdateContext(HANDLE hItem,DWORD dwAddress)\n{\n\tCDbgProcess*pDbgProcess=NULL;\n\tDWORD dwLen,dwHeader;\n\tHANDLE hSubItem;\n\tWCHAR Name[256];\n\tSYSER_HWND_CLASS_INFO ClassInfo;\n\tClearChildItem(hItem);\n\tdwHeader=dwAddress;\t\t\n\tif(dwAddress==0)\n\t\treturn;\n\tSYSER_HWND_INFO HwndInfo;\n\twhile(dwAddress && GetHwndInfoByWndStruct(*(void**)&dwAddress,&HwndInfo))\n\t{\n\t\thSubItem = InsertItem(HwndInfo.hWnd,hItem);\n\t\tSetItemData(hSubItem,0,dwAddress);\t\t\n\t\tif(GetClassInfoByHwndInfo(&HwndInfo,&ClassInfo))\n\t\t{\t\t\t\n\t\t\tif(ClassInfo.lpszClassName)\t\t\t\n\t\t\t{\t\t\t\t\n\t\t\t\tif(SyserPrivateFindByte(*(BYTE**)&ClassInfo.lpszClassName,0,256)!=NULL)\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tSetItemTextA(hSubItem,2,*(const CHAR**)&ClassInfo.lpszClassName);\n\t\t\t\t}\n\t\t\t}\t\t\t\t\t\t\n\t\t}\n\t\tif(HwndInfo.WindowCaptionLen && HwndInfo.WindowCaptionBuffer)\n\t\t{\n\t\t\tdwLen=HwndInfo.WindowCaptionLen;\n\t\t\tif(HwndInfo.WindowCaptionLen>sizeof(Name))\n\t\t\t\tdwLen=sizeof(Name)-2;\n\t\t\tSafeMemCopy((BYTE*)Name,*(BYTE**)&HwndInfo.WindowCaptionBuffer,dwLen);\n\t\t\tName[dwLen/sizeof(WCHAR)]=0;\n\t\t\tSetItemText(hSubItem,1,Name);\n\t\t}\n\t\tUpdateContext(hSubItem,*(DWORD*)&HwndInfo.ChildHwnd);\n\t\tdwAddress=*(DWORD*)&HwndInfo.NextHwnd;\n\t}\n\t\n}\nbool CHwndListWnd::OnEventPEExplorer(IN WISP_MSG*pMsg)\n{\n\tULPOS ModuleBase;\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tModuleBase = (ULPOS)GetItemData(hItem,0);\n\n\tgpSyser->m_MainFrame.m_HwndPropertyForm.Popup();\n\tgpSyser->m_MainFrame.m_HwndPropertyForm.UpdateContext(ModuleBase);\n\t\n\treturn true;\n}\nbool CHwndListWnd::OnEventGoto(IN WISP_MSG*pMsg)\n{\n\tULPOS ModuleBase;\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tModuleBase = (ULPOS)GetItemData(hItem,0);\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(ModuleBase);\n\treturn true;\n}\n\n\n\n"
  },
  {
    "path": "Project/Syser/Source/HwndWnd.h",
    "content": "#ifndef __HWND_WND__H_\n#define __HWND_WND__H_\n#include \"HwndCmd.h\"\n\nclass CHwndProcessAndThread : public CWispWnd\n{\npublic:\n\tCHwndProcessAndThread(){};\n\t~CHwndProcessAndThread(){};\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClientUpdate)\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid UpdateContext();\n};\n\nclass CHwndClassWnd : public CWispWnd\n{\npublic:\n\tCHwndClassWnd(){};\n\t~CHwndClassWnd(){};\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClientUpdate)\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\n\tvoid UpdateContext();\n};\n\nclass CHwndStyleWnd : public CWispWnd\n{\npublic:\n\tCHwndStyleWnd();\n\t~CHwndStyleWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid UpdateContext();\n\tCWispList m_StyleList;\n\tCWispList m_StyleExList;\n\tCWispStaticStr m_StyleStr;\n\tCWispStaticStr m_StyleExStr;\n};\n\nclass CHwndGeneralWnd : public CWispWnd\n{\npublic:\n\tCHwndGeneralWnd();\n\t~CHwndGeneralWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClientUpdate)\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid UpdateContext();\n};\n\nclass CHwndOtherWnd : public CWispWnd\n{\npublic:\n\tCHwndOtherWnd();\n\t~CHwndOtherWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClientUpdate)\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnGotoNextHwnd)\n\tDECLARE_WISP_MSG_CMD(OnGotoPreviousHwnd)\n\tDECLARE_WISP_MSG_CMD(OnGotoParentHwnd)\n\tDECLARE_WISP_MSG_CMD(OnGotoChildHwnd)\n\tDECLARE_WISP_MSG_CMD(OnGotoOwnerHwnd)\n\tvoid UpdateContext();\n\tCWispStaticGroup m_NextGroup;\n\tCWispStaticGroup m_PreviousGroup;\n\tCWispStaticGroup m_ParentGroup;\n\tCWispStaticGroup m_FirstChildGroup;\n\tCWispStaticGroup m_OnwerGroup;\t\n\tCWispStaticURL m_NextURL;\n\tCWispStaticURL m_PreviousURL;\n\tCWispStaticURL m_ParentURL;\n\tCWispStaticURL m_FirstChildURL;\n\tCWispStaticURL m_OwnerURL;\n\tDWORD m_NextHwnd;\n\tDWORD m_PreviousHwnd;\n\tDWORD m_ParentHwnd;\n\tDWORD m_FirstChildHwnd;\n\tDWORD m_OwnerHwnd;\n};\n\nclass CHwndPropertyForm : public CWispForm\n{\npublic:\n\tCHwndPropertyForm();\n\t~CHwndPropertyForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\t\n\tvoid Popup();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnModuleSelectComboxCmd)\n\tDECLARE_WISP_MSG_CMD(OnTabActiveChange)\n\npublic:\n\tvoid UpdateContext(DWORD ModuleBase);\n\tPSYSER_HWND_INFO GetHwndInfo()\n\t{\n\t\tGetHwndInfoByWndStruct(*(void**)&m_HwndInfoAddress,&m_HwndInfo);\n\t\treturn &m_HwndInfo;\n\t}\n\tPSYSER_HWND_CLASS_INFO GetHwndClassInfo()\n\t{\n\t\tGetClassInfoByHwndInfo(&m_HwndInfo,&m_HwndClassInfo);\n\t\treturn &m_HwndClassInfo;\n\t}\nprivate:\t\n\tCWispTabWnd *m_pMainTab;\n\tCHwndGeneralWnd* m_pGeneralWnd;\n\tCHwndStyleWnd* m_pStyleWnd;\t\n\tCHwndOtherWnd*\tm_pOtherWnd;\n\tCHwndClassWnd* m_pClassWnd;\n\tCHwndProcessAndThread* m_pProcessAndThread;\n\tDWORD m_HwndInfoAddress;\n\tSYSER_HWND_INFO m_HwndInfo;\n\tSYSER_HWND_CLASS_INFO m_HwndClassInfo;\n\n};\n\nclass CHwndListWnd : public CWispList\n{\npublic:\n\tCHwndListWnd();\n\t~CHwndListWnd();\n\tvoid\tPopup();\n\tvoid\tUpdateContext(HANDLE hItem,DWORD dwOSHwnd);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventGoto)\n\tDECLARE_WISP_MSG_EVENT(OnEventPEExplorer)\n\tDWORD GetWindowHwndHead();\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\npublic:\t\n\tCWispMenu\tm_PopupMenu;\n};\n\n#endif //__HWND_WND__H_"
  },
  {
    "path": "Project/Syser/Source/IBMAsciiWnd.cpp",
    "content": "#include \"stdafx.h\"\n#include \"IBMAsciiWnd.h\"\nWISP_MSG_MAP_BEGIN(CIBMAsciiWnd)\n\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\nCIBMAsciiWnd::CIBMAsciiWnd()\n{\n\tm_pFormRes = m_FormRes;\t\n\tm_FontType=2;\n}\nCIBMAsciiWnd::~CIBMAsciiWnd()\n{\n\n}\nbool CIBMAsciiWnd::OnFormCreate(IN WISP_MSG*pMsg)\n{\t\n\tSetBGColor(ColorOption.clrSDBK);\t\n\treturn true;\n}\nvoid CIBMAsciiWnd::DrawIndex(int x,int y)\n{\n\tWCHAR pString[64];\n\tWCHAR pString2[10];\n\tint i;\n\tm_ClientDC.SetTextColor(WISP_RGB(0,0,0xff));\n\tfor(i=0;i<16;i++)  \n\t{\n\t\tpString[i*2]='0'+i;\n\t\tpString2[0]='0'+i;\n\t\tpString2[1]='0';\n\t\tpString[i*2+1]=' ';\n\t\tif(i>9)\n\t\t{\n\t\t\tpString[i*2]='A'+i-10;\n\t\t\tpString2[0]='A'+i-10;\n\t\t}\n\t\tTSPrintf(pString2,WSTR(\"%02X(%-3d)\"),i*16,i*16);\n\t\tm_ClientDC.DrawString(0,y+32+i*32,pString2,7,0,1);//ÿе\n\t}\n\tm_ClientDC.DrawString(x,y,pString,32,0,1);//1к\n\tint n=0;\n\tfor(i=0;i<16;i++)\n\t{\n\t\tpString[i*2]='0'+i;\n\t\tpString[i*2+1]=' ';\n\t\tif(i>9)\n\t\t{\n\t\t\tpString[i*2]='1';\n\t\t\tpString[i*2+1]='0'+i-10;\n\t\t}\n\t}\n\tm_ClientDC.DrawString(x,y+32+i*32,pString,20,0,1);  //һеĺ\n\tm_ClientDC.DrawString(x+12*20-8,y+32+i*32,&pString[20],12,0,1);\n\t\n}\nvoid CIBMAsciiWnd::DrawGrid(int x,int y,int cx,int cy)\n{\n\tWCHAR pString[64];\n\tWCHAR pString2[64];\n\tint i,j;\n\tm_ClientDC.SetTextColor(WISP_RGB(0,0,0xff));\n\tpString[0]=0xda;\n\tfor(i=0;i<16;i++)\n\t{\n\t\tpString[i*2+1]=0xc4;\n\t\tpString[i*2+2]=0xc2;\n\t}\n\tpString[32]=0xbf;\n\tm_ClientDC.DrawString(x,y,pString,33,0,1);\n\tfor(i=0;i<16;i++)\n\t{\n\t\tpString[0]=0xb3;\n\t\tpString2[0]=0xc3;\n\t\tfor(j=0;j<15;j++)\n\t\t{\n\t\t\tpString[j*2+1]=0x20;\n\t\t\tpString[j*2+1+1]=0xb3;\n\t\t\tpString2[j*2+1]=0xc4;\n\t\t\tpString2[j*2+1+1]=0xc5;\n\t\t}\n\t\tpString[31]=0x20;\n\t\tpString[32]=0xb3;\n\t\tpString2[31]=0xc4;\n\t\tpString2[32]=0xb4;\n\t\tm_ClientDC.DrawString(x,y+16+(i*2)*16,pString,33,0,1);\n\t\tif(i!=15)\t\n\t\t\tm_ClientDC.DrawString(x,y+32+(i*2)*16,pString2,33,0,1);\n\t\tif(i==8)\n\t\t{\n\t\t\tpString[0]=0xc4;\n\t\t\tm_ClientDC.SetTextColor(WISP_RGB(0xff,0,0));\n\t\t\tfor(j=0;j<16;j++)\n\t\t\t{\n\t\t\t\tm_ClientDC.DrawString(x+12+j*24,y+(i*2)*16,pString,1,0,1);\n\t\t\t}\n\t\t\tm_ClientDC.SetTextColor(WISP_RGB(0,0,0xff));\n\t\t}\n\t}\n\t\n\tpString[0]=0xc0;\n\tfor(i=0;i<16;i++)\n\t{\n\t\tpString[i*2+1]=0xc4;\n\t\tpString[i*2+2]=0xc1;\n\t}\n\tpString[32]=0xd9;\n\tm_ClientDC.DrawString(x,y+32+(15*2)*16,pString,33,0,1);\n}\nbool CIBMAsciiWnd::OnUpdateClient(IN WISP_MSG *pMsg)\n{\n\tCWispForm::OnUpdateClient(pMsg);\n\tWCHAR pString[100];\n\n\tm_ClientDC.SetTextType(2);\n\tint x=28+60,y=24;\n\tDrawGrid(x,y,0,0);\n\tDrawIndex(x+12,y-16);\n\n\tmemset(pString,0,sizeof(pString));\n\tint i,m,n;\n\tm_ClientDC.SetTextColor(ColorOption.clrText);\n\tm_ClientDC.SetTextColor(WISP_RGB(192,192,192));\n\tm_ClientDC.SetTextType(m_FontType);\n\tfor(i = 1; i < 256; i++)\n\t{\n\t\tm=i/16;\n\t\tn=i%16;\n\t\tpString[0]=(WCHAR)i;\n\t\tm_ClientDC.DrawString(x+12+n*24,y+16+m*32,pString,1,0,1);\n\t}\n\n\treturn false;\n}\n\nbool CIBMAsciiWnd::SetFont(int FontType)\n{\n\tbool bOK=false;\n\tif(FontType>=2 && FontType<=4)\n\t{\n\t\tm_FontType=FontType;\n\t\tSetWindowText(m_gTitileName[FontType-2]);\n\t\tbOK=true;\n\t}\t\n\treturn bOK;\n}\nvoid CIBMAsciiWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreateForm(NULL);\n\t}\n}\n\nWCHAR* CIBMAsciiWnd::m_gTitileName[3]=\n{\n\tWSTR(\"IBM ASCII\"),\t\n\tWSTR(\"EBCDIC\"),\n\tWSTR(\"ANSI ASCII\"),\n};\nWISP_FORM_RES_ITEM CIBMAsciiWnd::m_FormRes[]=\n{\t\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,600},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t},\n\t{WISP_CTRL_NULL}\n};"
  },
  {
    "path": "Project/Syser/Source/IBMAsciiWnd.h",
    "content": "#ifndef __IBMASCIIWND_H__\n#define __IBMASCIIWND_H__\nclass CIBMAsciiWnd:public CWispForm\n{\n\t\npublic:\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tCIBMAsciiWnd();\n\t~CIBMAsciiWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\t//DECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tvoid Popup();\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tvoid DrawGrid(int x,int y,int cx,int cy);\n\tvoid DrawString(WCHAR* pStr,int x,int y,int Len);\n\tvoid DrawIndex(int x,int y);\n\tbool SetFont(int FontType);\nprivate:\n\tint m_FontType;\n\tstatic WCHAR* m_gTitileName[3];\n};\n#endif //_IBMASCIIWND_H__"
  },
  {
    "path": "Project/Syser/Source/IDTWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"IdtWnd.h\"\n#include \"X86Define.h\"\n#include \"X86Optr.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CIDTWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\nWISP_MSG_MAP_END(CWispList)\n\nCIDTWnd::CIDTWnd()\n{\n#ifdef CODE_OS_WIN\n\tm_pIDTAddress = idtdata;\n\tm_dwIDTSize = 0x7ff;\n#else\n\tm_pIDTAddress = (void *)SyserGetIDTBase(&m_dwIDTSize);\n#endif\n\n\tm_dwBeginIndex = 0;\n}\n\nCIDTWnd::~CIDTWnd()\n{\n}\n\n\nvoid CIDTWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"IDT\"),CWispRect(0,0,540,350),NULL,0,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nbool CIDTWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tInsertColumn(WISP_STR(\"Int\"),40);\n\tInsertColumn(WISP_STR(\"Type\"),80);\n\tInsertColumn(WISP_STR(\"Sel:Offset\"),90);\n\tInsertColumn(WISP_STR(\"Attributes\"),100);\n\tInsertColumn(WISP_STR(\"Symbol/Owner\"),90);\n\tSetWindowText(WISP_STR(\"IDT TABLE\"));\n\tUpdateContext();\n\treturn true;\n}\n\nbool CIDTWnd::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nvoid CIDTWnd::UpdateContext()\n{\n\tClearChildItem();\n\tInsertIDT();\n}\n\nbool CIDTWnd::InsertIDT()\n{\t\n\tWISP_CHAR display[64];\n\tHANDLE hItem;\n\n\tDWORD dwSelector,dwIDTSize,dwOffset;\n\tVADDR32 dwIDTBase;\n//\tDWORD dwLow,dwHigh;\n//\tDWORD dwSegmentBase,dwSegmentLimit;\n\tDWORD i = 0,j;\t\t\n\tWCHAR *Format=WSTR(\"%04x  %s  %04x:%08x  DPL=%d %s\");\n//\tWCHAR DisplayBuf[0x200];\n\tX86_GATE_DECR *pGateDecr;\n\tstatic WCHAR *DescType[16]={\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS16   \"),\n\t\tWSTR(\"LDT     \"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG16 \"),\n\t\tWSTR(\"TaskG   \"),\n\t\tWSTR(\"IntG16  \"),\n\t\tWSTR(\"TrapG16 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG32 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"IntG32  \"),\n\t\tWSTR(\"TrapG32 \"),\n\t};\n\n\tdwIDTBase = PTR_TO_NUM(m_pIDTAddress);\n\tdwIDTSize = m_dwIDTSize;\n\n\tj = (dwIDTSize + 1) / sizeof(X86_GATE_DECR);\n\tpGateDecr = (X86_GATE_DECR*)NUM_TO_PTR(dwIDTBase);\n\n\t\n\tfor(i = 0;i < j;i++)\n\t{\n\t\tdwSelector = pGateDecr[i].Selector;\n\t\tTSPrintf(display,WISP_STR(\"%02X\"),i);\n\t\thItem = InsertItem(display);\n\t\tSetItemText(hItem,1,DescType[pGateDecr[i].Type]);\n\t\tdwOffset = pGateDecr[i].OffsetLow | (pGateDecr[i].OffsetHigh << 16);\n#ifdef CODE_OS_NT_DRV\n\t\textern DWORD\t\t\tgOldInterruptProcAddress[0x100];\n\t\tif(gOldInterruptProcAddress[i])\n\t\t{\n\t\t\tDWORD SelfStart = *(DWORD*)&gpSyser->m_DriverObject->DriverStart;\t\t\n\t\t\tif(dwOffset>SelfStart&&dwOffset<SelfStart+gpSyser->m_DriverObject->DriverSize)\n\t\t\t\tdwOffset=gOldInterruptProcAddress[i];\n\t\t}\n#endif\n\t\tSetItemText(hItem,2,DescType[pGateDecr[i].Type]);\t\t\n\t\tTSPrintf(display,WISP_STR(\"%04X:%08X\"),dwSelector,dwOffset);\n\t\tSetItemText(hItem,2,display);\n\t\tTSPrintf(display,WISP_STR(\"DPL=%d %s\"),pGateDecr[i].DPL,pGateDecr[i].P ? WSTR(\"P \"):WSTR(\"NP\"));\n\t\tSetItemText(hItem,3,display);\n\t}\n\treturn true;\n}\n\nvoid\tSetIDTBaseAddress(void *IDTBase,DWORD dwIDTSize,DWORD dwIndex)\n{\n\n}\n\nBYTE CIDTWnd::idtdata[8*256]={\n0x22,0xBC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x69,0x3F,0x08,0x00,0x00,0xEE,0x94,0xF1,\n0x78,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,0x87,0x3F,0x08,0x00,0x00,0xEE,0x94,0xF1,\n0xE5,0xC1,0x08,0x00,0x00,0xEE,0x4D,0x80,0x26,0xC3,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x96,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,0x57,0xCA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x78,0x11,0x50,0x00,0x00,0x85,0x00,0x00,0x71,0xCE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x74,0xCF,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA5,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,\n0xB4,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,0xC3,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,\n0xD2,0x3F,0x08,0x00,0x00,0x8E,0x94,0xF1,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4F,0xE0,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6A,0xE1,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0xA0,0x00,0x00,0x85,0x4D,0x80,0xB6,0xE2,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,\n0xF6,0xB4,0x08,0x00,0x00,0xEE,0x4D,0x80,0xE1,0xB5,0x08,0x00,0x00,0xEE,0x4D,0x80,\n0x44,0xB7,0x08,0x00,0x00,0xEE,0x4D,0x80,0xF0,0x3F,0x08,0x00,0x00,0xEE,0x94,0xF1,\n0xFF,0x3F,0x08,0x00,0x00,0xEE,0x94,0xF1,0x4C,0xDF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC0,0xE4,0x08,0x00,0x00,0x8E,0x6C,0x80,0x0E,0x40,0x08,0x00,0x00,0x8E,0x94,0xF1,\n0x84,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1D,0x40,0x08,0x00,0x00,0x8E,0x94,0xF1,\n0x2C,0x40,0x08,0x00,0x00,0x8E,0x94,0xF1,0xFC,0xF0,0x08,0x00,0x00,0x8E,0x8E,0x81,\n0xAC,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4A,0x40,0x08,0x00,0x00,0x8E,0x94,0xF1,\n0x80,0x8E,0x08,0x00,0x00,0x8E,0x6C,0x80,0xC4,0xC4,0x08,0x00,0x00,0x8E,0xB7,0x81,\n0xCC,0x54,0x08,0x00,0x00,0x8E,0xA1,0x81,0x04,0xE6,0x08,0x00,0x00,0x8E,0x8F,0x81,\n0x3B,0x40,0x08,0x00,0x00,0x8E,0x94,0xF1,0xF2,0xA7,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE4,0xF6,0x08,0x00,0x00,0x8E,0xBC,0x81,0xA4,0xBA,0x08,0x00,0x00,0x8E,0xB5,0x81,\n0x10,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE1,0x3F,0x08,0x00,0x00,0xEE,0x94,0xF1,\n0x24,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x2E,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x38,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x42,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x56,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x60,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6A,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x74,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x7E,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x88,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0x92,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x9C,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA6,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB0,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBA,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC4,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xCE,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD8,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE2,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xEC,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,0xF6,0xA8,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x00,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0A,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x14,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1E,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x28,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x32,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x3C,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x46,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x50,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x5A,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x64,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6E,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x78,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x82,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x8C,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0x96,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xA0,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xAA,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB4,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBE,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC8,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xD2,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xDC,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE6,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xF0,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,0xFA,0xA9,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x04,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0E,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x18,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x22,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x2C,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x36,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x40,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4A,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x54,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x5E,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x68,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x72,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x7C,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x86,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x90,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0x9A,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xA4,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0xAE,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB8,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0xC2,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xCC,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0xD6,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE0,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0xEA,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xF4,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,0xFE,0xAA,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x08,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x12,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x1C,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x26,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x30,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x3A,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x44,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x4E,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x58,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x62,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x6C,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x76,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x80,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x8A,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x94,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x9E,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xA8,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0xB2,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xBC,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0xC6,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD0,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0xDA,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE4,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0xEE,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xF8,0xAB,0x08,0x00,0x00,0x8E,0x4D,0x80,0x02,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x0C,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x16,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x20,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x2A,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x34,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x3E,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x48,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x52,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x5C,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x66,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x70,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x7A,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x84,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x8E,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x98,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA2,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xAC,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0xB6,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC0,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0xCA,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD4,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0xDE,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE8,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0xF2,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xFC,0xAC,0x08,0x00,0x00,0x8E,0x4D,0x80,0x06,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x10,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1A,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x24,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x2E,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x38,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x42,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x4C,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x56,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x60,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6A,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x74,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x7E,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x88,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0x92,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x9C,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0xA6,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB0,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBA,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC4,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0xCE,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD8,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE2,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xEC,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,0xF6,0xAD,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x00,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0A,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x14,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x1E,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x28,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x32,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x3C,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x46,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x50,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x5A,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x64,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x6E,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x78,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x82,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x8C,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0x96,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xA0,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xAA,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xB4,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xBE,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xC8,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xD2,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xD9,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xE0,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xE7,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xEE,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0xF5,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,0xFC,0xAE,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x03,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x0A,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x11,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x18,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x1F,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x26,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x2D,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x34,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x3B,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x42,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n0x49,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,0x50,0xAF,0x08,0x00,0x00,0x8E,0x4D,0x80,\n};\n"
  },
  {
    "path": "Project/Syser/Source/IDTWnd.h",
    "content": "#ifndef _IDTWND_H_\n#define _IDTWND_H_\n\nclass CIDTWnd :\tpublic CWispList\n{\npublic:\n\tCIDTWnd();\n\t~CIDTWnd();\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnClose);\n\tbool\tInsertIDT();\n\tvoid\tSetIDTBaseAddress(void *IDTBase,DWORD dwIDTSize=0x7ff,DWORD dwIndex=0);\n\tstatic BYTE idtdata[8*256];\n\tVOID *\tm_pIDTAddress;\n\tDWORD\tm_dwIDTSize;\n\tDWORD\tm_dwBeginIndex;\n};\n \n#endif\n"
  },
  {
    "path": "Project/Syser/Source/IOAPIC.cpp",
    "content": "#include \"stdafx.h\"\n#include \"Syser.h\"\n#include \"IOAPIC.h\"\n#include \"LocalAPIC.h\"\n#include \"X86Optr.h\"\n#include \"SerialPort.h\"\nDWORD gdwIOAPICPhysAddress=0;\nDWORD gdwIOAPICLineAddress=0;\nbool gbIsUseAPIC=false;\nIOAPICInterruptVectorTable IOAPICInterruptVectorTab[0x20];\n\nDWORD dwAPICPatchInterruptVectorNum[]=\n{\n\t\tSYSER_APIC_TIME_INTERRUPT_VECTOR,\t\t\t//index 0 Timter\n\t\tSYSER_APIC_KEYBOARD_INTERRUPT_VECTOR,\t\t//index 1 keyboard\t\n\t\tSYSER_APIC_TIME_INTERRUPT_VECTOR,\t\t\t//index 2\n\t\tSYSER_APIC_COM2_INTERRUPT_VECTOR,\t\t\t//index 3\n\t\tSYSER_APIC_COM1_INTERRUPT_VECTOR,\t\t\t//index 4\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index 5\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index 6\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index 7\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index 8\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index 9\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index a\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index b\n\t\tSYSER_APIC_MOUSE_INTERRUPT_VECTOR,\t\t\t//index c mouse\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index d\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index e\n\t\t0x0,\t\t\t\t\t\t\t\t\t\t//index f\n};\n\n#define IOAPIC_DEFAULT_PHYSICAL_BASE\t\t\t\t\t0xFEC00000\n#define MSR_INDEX_IA32_APIC_BASE\t\t\t\t\t\t0x1b\n#define MSR_APIC_GLOBAL_ENABLE_BIT_MASK\t\t\t\t\t0x800\n#define MSR_APIC_BASE_ADDRESS_BIT_MASK\t\t\t\t\t0xfffff000\n#define CPUID_1_EDX_FEATURE_APIC_ON_CHIP_BIT_MASK\t\t0x200\n\nbool GetIOAPICBase()\n{\n\tDWORD dwPhysicalAddress = IOAPIC_DEFAULT_PHYSICAL_BASE;\n\tCPUID_INFO\tCpuInfo;\n\tDWORD dwLineAddr = 0;\n\tDWORD dwRdmsrEax = 0;\n\tDWORD dwRdmsrEdx = 0;\n \tDWORD dwCpuidEax = 0;\n \tDWORD dwCpuidEdx = 0;\n\n\tgbIsUseAPIC = FALSE;\n\tif(SyserIsSupportCPUIDInstruction() == FALSE)\n\t\treturn FALSE;\n\tif(SyserIsSupportRDMSRInstruction() == FALSE)\n\t\treturn FALSE;\n// \t__asm\n// \t{\n// \t\tpushad\t\t\n// \t\tmov eax,1\n// \t\tcpuid\n// \t\tmov dwCpuidEax,eax\n// \t\tmov dwCpuidEdx,edx\n// \t\tmov ecx,MSR_INDEX_IA32_APIC_BASE\n// \t\trdmsr \n// \t\tmov dwRdmsrEax,eax\n// \t\tmov dwRdmsrEdx,edx\t\n// \t\tpopad\n// \t}\n\n\tSyserGetCPUID(&CpuInfo,1);\n\tSyserGetApicInfo(&dwRdmsrEax,&dwRdmsrEdx);\n\n\tdwCpuidEax = CpuInfo.dwEAX;\n\tdwCpuidEdx = CpuInfo.dwEDX;\n\n\tif((dwRdmsrEax & MSR_APIC_GLOBAL_ENABLE_BIT_MASK) &&( dwCpuidEdx & CPUID_1_EDX_FEATURE_APIC_ON_CHIP_BIT_MASK))\n\t{\n\t\tfor(;dwPhysicalAddress != 0xfec10000 ;dwPhysicalAddress += 0x1000)\n\t\t{\n\t\t\tif(MapToVAddr(dwPhysicalAddress, (VADDR32 *)&dwLineAddr) == TRUE)\n\t\t\t\tbreak;\n\t\t}\t\n\t\tif(dwPhysicalAddress==0xfec10000)\n\t\t\treturn false;\n\t\tgdwIOAPICPhysAddress = dwPhysicalAddress;\n\t\tgdwIOAPICLineAddress = dwLineAddr;\n\t\tgdwLocalAPICPhysAddress = dwRdmsrEax & MSR_APIC_BASE_ADDRESS_BIT_MASK;\n\t\tif(MapToVAddr(gdwLocalAPICPhysAddress, (VADDR32 *)&dwLineAddr) == FALSE)\n\t\t\treturn false;\n\t\tgdwLocalAPICLineAddress =dwLineAddr;\n\t\tgbIsUseAPIC = true;\n\t}\n\telse\n\t\treturn false;\n\treturn true;\n}\n//õ IOAPIC ݣ dwIndex \nDWORD GetIOAPICData(DWORD dwIndex)\n{\n\tDWORD *pIoapicLineAddress,dwReturn = 0;\n\tif(gbIsUseAPIC)\n\t{\n\t\tpIoapicLineAddress = *(DWORD **)&gdwIOAPICLineAddress;\n// \t\t__asm\n// \t\t{\n// \t\t\tpushfd\n// \t\t\tpushad\n// \t\t\tmov eax,pIoapicLineAddress\n// \t\t\tmov ebx,dwIndex\n// \t\t\tcli\n// \t\t\tmov [eax],ebx\n// \t\t\tmov eax, [eax+0x10]\n// \t\t\tmov dwReturn,eax\n// \t\t\tpopad\n// \t\t\tpopfd\n// \t\t}\t\n\n\t\tdwReturn = SyserGetIOAPICData(pIoapicLineAddress,dwIndex);\n\t}\n\treturn dwReturn;\n}\n\nvoid SetIOAPICData(DWORD dwIndex,DWORD dwValue)\n{\n\tDWORD *pIoapicLineAddress;\n\tif(gbIsUseAPIC)\n\t{\n\t\tpIoapicLineAddress = *(DWORD **)&gdwIOAPICLineAddress;\t\t\n// \t\t__asm\n// \t\t{\n// \t\t\tpushfd\n// \t\t\tpushad\n// \t\t\tmov eax,pIoapicLineAddress\n// \t\t\tmov ebx,dwIndex\n// \t\t\tmov ecx,dwValue\n// \t\t\tcli\n// \t\t\tmov [eax],ebx\n// \t\t\tmov [eax+0x10],ecx\n// \t\t\tpopad\n// \t\t\tpopfd\n// \t\t}\n\n\t\tSyserSetIOAPICData(pIoapicLineAddress,dwIndex,dwValue);\n\t\treturn ;\n\t}\n}\n\nbool SetIOAPICInterruptVector(DWORD dwInterruptVector, DWORD dwLow,DWORD dwHeig)\n{\n\tSetIOAPICData(dwInterruptVector*2+0x10,dwLow);\n\tSetIOAPICData(dwInterruptVector*2+0x11,dwHeig);\n\treturn TRUE;\n}\n\n//ͨӲжϵĵ\nDWORD GetIOAPICInterruptVector(DWORD dwHardwareIndex)\n{\n\tdwHardwareIndex = dwHardwareIndex * 2 + 0x10;\t \n\tdwHardwareIndex = GetIOAPICData(dwHardwareIndex);\t\n\treturn dwHardwareIndex & 0xff;\n}\n\nDWORD GetIOAPICInterruptNum()//ȡioapic жϸ\n{\n\tDWORD dwRet;\n\tdwRet = GetIOAPICData(1);\n\tdwRet >>= 0x10;\n\tdwRet &= 0xff;\n\tif(dwRet > 0x20)\n\t\tdwRet = 0x20;\n\treturn dwRet;\n}\n\nvoid SaveIOAPICInterruptVectorTable()\n{\n\tDWORD dwInterruptNum;\n\tif(!gbIsUseAPIC)\n\t\treturn;\n\tdwInterruptNum = GetIOAPICInterruptNum();\n\tfor(DWORD i=0;i<dwInterruptNum;i++)\n\t{\n\t\tIOAPICInterruptVectorTab[i].dwVectorLow = GetIOAPICData(0x10 + i * 2);\n\t\tIOAPICInterruptVectorTab[i].dwVectorHigh = GetIOAPICData(0x11 + i * 2);\t\t\n\t}\n}\n\nvoid RestoreIOAPICInterruptVectorTable()\n{\n\tDWORD dwLow,dwHigh;\n\tDWORD dwInterruptNum;\n\tif(!gbIsUseAPIC)\n\t\treturn;\n\tdwInterruptNum = GetIOAPICInterruptNum();\n\tfor(DWORD i = 0;i<dwInterruptNum;i++)\n\t{\n\t\tif(i==1 && i==0xc)\n\t\t{\n\t\t\tdwLow=GetIOAPICData(0x10 + i * 2);\n\t\t\tif(dwLow&0x1000)\n\t\t\t{\n// \t\t\t\t__asm\n// \t\t\t\t{\n// \t\t\t\t\tpush eax\n// \t\t\t\t\tin al,0x64\n// \t\t\t\t\ttest al,1\n// \t\t\t\t\tjz local_001\n// \t\t\t\t\tin al,0x60\n// \t\t\t\t\tpush 0x100 \n// \t\t\t\t\tpush 0x100\n// \t\t\t\t\tcall Beep\n// local_001:\t\t\t\t\t\t\n// \t\t\t\t\tpop eax \n// \t\t\t\t}\n\n\t\t\t\tSyserIOAPICBeep();\n\t\t\t}\n\t\t}\n\t\tSetIOAPICData(0x11 + i * 2, IOAPICInterruptVectorTab[i].dwVectorHigh );\n\t\tSetIOAPICData(0x10 + i * 2, IOAPICInterruptVectorTab[i].dwVectorLow );\n\t\t\n\t}\n}\n\nvoid EnableAPICHardWareInterrupt(DWORD arg)\n{\n\tDWORD dwInterruptVectorNum;\n\tDWORD dwHigh,MaskValue;\n\tif(arg < 0x10)\n\t{\n\t\tif(gCPUNumbers==1)\n\t\t\tMaskValue=0x900;\n\t\telse\n\t\t\tMaskValue=0x800;\n\t\tdwInterruptVectorNum = dwAPICPatchInterruptVectorNum[arg]|MaskValue;//Fixed ModeCPUȼ\n\t\tdwHigh=0xff;\n\t\tdwHigh = dwHigh>>(8-gCPUNumbers);\n\t\tdwHigh<<=24;\n\t\tSetIOAPICInterruptVector(arg,dwInterruptVectorNum,dwHigh);\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/IOAPIC.h",
    "content": "#ifndef _IOAPIC_H_\n#define _IOAPIC_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n#define SYSER_APIC_TIME_INTERRUPT_VECTOR\t\t\t0xfa\n#define SYSER_APIC_KEYBOARD_INTERRUPT_VECTOR\t\t0xf8 \n#define SYSER_APIC_MOUSE_INTERRUPT_VECTOR\t\t\t0xf9\n\ntypedef struct stIOAPICInterruptVectorTable{\n\tDWORD dwVectorLow;\n\tDWORD dwVectorHigh;\n}IOAPICInterruptVectorTable;\nextern DWORD gdwIOAPICPhysAddress;\nextern DWORD gdwIOAPICLineAddress;\nextern bool gbIsUseAPIC;\nbool GetIOAPICBase();\nvoid SetIOAPICData(DWORD dwIndex,DWORD dwValue);\nDWORD GetIOAPICData(DWORD dwIndex);\nvoid EnableLocalAPICInterrupt();\nvoid RestoreIOAPICInterruptVectorTable();\nvoid SaveIOAPICInterruptVectorTable();\n//õ IOAPIC ֵ֧жϵĿ\nDWORD GetIOAPICInterruptNum();//õ IOAPIC ֵ֧жϵĿ\nDWORD GetIOAPICInterruptVector(DWORD dwHardwareIndex);\nbool SetIOAPICInterruptVector(DWORD dwInterruptVector, DWORD dwLow,DWORD dwHeig);\nvoid EnableAPICHardWareInterrupt(DWORD arg);\n\nextern IOAPICInterruptVectorTable IOAPICInterruptVectorTab[0x20];\n\nVOID\tSyserGetApicInfo(DWORD\t*RdmsrEax,DWORD *RdmsrEdx);\n\nDWORD\tSyserGetIOAPICData(DWORD*  IoApicLineAddress, DWORD\tIndex);\nDWORD\tSyserSetIOAPICData(DWORD*  IoApicLineAddress, DWORD\tIndex,DWORD\tData);\nVOID\tSyserIOAPICBeep(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_IOAPIC_H_"
  },
  {
    "path": "Project/Syser/Source/Initialize.cpp",
    "content": "#include \"stdafx.h\"\n#include \"Initialize.h\"\n\n\nvoid InitOSVersionInfo()\n{\n\tgOSCheckedBuild=PsGetVersion(&gOSMajorVersion,&gOSMinorVersion,&gOSBuildNumber,NULL);\n}"
  },
  {
    "path": "Project/Syser/Source/Initialize.h",
    "content": "#ifndef _INITIALIZE_H_\n#define _INITIALIZE_H_\n#endif //_INITIALIZE_H_"
  },
  {
    "path": "Project/Syser/Source/InputDriver.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"InputDriver.h\"\n#include \"X86Optr.h\"\n#include \"Interrupt2D.h\"\n#include \"SerialPort.h\"\n#include \"Services.h\"\n#include \"ObjectDirectory.h\"\n#include \"pci.h\"\n#include \"IOAPIC.h\"\n#include \"PIC_8259.h\"\n#include \"TimerInterrupt.h\"\n#include \"NMIInterruptHandle.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Mouse.h\"\n#include \"PS2Mouse.h\"\n#include \"UHCIDevice.h\"\n#include \"Int0xe.h\"\n#include \"Int0xd.h\"\n#include \"Int3.h\"\n#include \"VirtualPCSupport.h\"\n#include \"VMWareSupport.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool gbInterruptInstalled=false;\nbool gHasPS2Keyboard=false;\nbool gHasPS2Mouse=false;\nextern bool*pbSyserDisabled;\nbool bKeytoSoftice = false;\nDWORD gHardInt1Vector=0xffffffff;\nDWORD gHardIntCVector=0xffffffff;\nDWORD gHardInt8Vector=0xffffffff;\nULONG gSystemTimerFrequency = 0;\nULONGLONG gSystemTickCount = 0;\nDWORD dwMouseErrorWait = 0;\nDWORD dwWaitMouseCounter = 0;\nDWORD dwTmpVar2 = 0;\nUINT nKeyBufferLength = KEYBUFFERMAXLENGTH;\nDWORD dwInterruptF8Address = 0;\nDWORD dwInterruptFaAddress = 0;\nDWORD dwInterruptF9Address = 0;\nDWORD dwBakFlags = 0;\nDWORD dwSofticeDriverBase = 0;\nLONGLONG TscPerSec = 0;\nbool gbChangeDrmState = FALSE;\nbool bKeyLedCmd = FALSE;\nbool bKeyNumLockStat = FALSE;\nbool bKeyCapsLockStat = FALSE;\nbool bKeyScrollLockStat = FALSE;\nbool bKeyScrollLockStatInitOK = FALSE;\nbool bKeyNumLockStatInitOK = FALSE;\nbool bKeyCapsLockStatInitOK = FALSE;\nBYTE byteOrgWRITE_PORT_UCHARInstruction[5];\nbool bREAD_PORT_UCHAR_PatchOK = FALSE;\nBYTE byteOrgREAD_PORT_UCHARInstruction[5];\nbool bWRITE_PORT_UCHAR_PatchOK = FALSE;\nvoid (*pSofticeActivePointer)(void) = NULL;\nbool bActiveSoftice = FALSE;\nDWORD dwTimeCounter = 0;\nDWORD dwMyCounter1 = 0;\t\t\t\t\t\t\t\t//ж϶ʱжϲĴùܼʱжϰĿʼƫ 0з Windows ʱ\n\t\t\t\t\t\t\t\t\t\t\t\t\t//жϰƫ 1 ҪȴжϵĲУǵȴжϵĲ 3У\n\t\t\t\t\t\t\t\t\t\t\t\t\t//ڷص Windows ʱŲҵ\nDWORD dwMyOperationMouseCounter = 0;\t\t\t\t//ڱʱжϵĸdwMouseInterruptCounter - dwMyOperationMouseCounter ĲǱ򱻼غ Windows жϵĸ\nDWORD dwActivateCounter = 0;\t\t\t\t\t\t//غ󱻼Ĵ\nDWORD dwMouseUnAlignCounter = 0;\t\t\t\t\t//ȼʱ ûжĵĴ\nDWORD dwMouseAlignCounter = 0;\t\t\t\t\t\t//ȼʱ ĵĴ dwMouseUnAlignCounter + dwMouseAlignCounter == dwActivateCounter\nDWORD dwMouseUnAlignMofifyCounter = 0;\t\t\t\t//ȼʱ ûжĵĴڷ Windows ʱȷĴ\nDWORD dwMouseUnAlignErrorCounter = 0;\t\t\t\t//ȼʱ ûжĵĴڷ Windows ʱȻûбĴ dwMouseAlignMofifyCounter + dwMouseAlignErrorCounter + dwMouseUnalignNotModifyCounter== dwMouseUnAlignCounter\nDWORD dwMouseInterruptCounter = 0;\t\t\t\t\t//жϵܴ򱻰װʱʼ㣬 Windows жϣͱжϵܺͣ\nDWORD dwWindowsMouseCounter = 0;\t\t\t\t\t//Windows жϵĴdwWindowsMouseCounter + dwMyOperationMouseCounter == dwMouseInterruptCounter\nDWORD dwMouseUnalignNotModifyCounter = 0;\t\t\t//ȼʱ ûжĵĴڷ Windows ʱñ\nDWORD dwWaitMouseInterrupt = FALSE;\nDWORD dwKeyLedFlags = 0;\nDWORD dwPhysical_0_LinesAddress=0xffffffff;\t\t\t\t\t//ַ 0 ӳεַ\nDWORD OwnerPageDirItemAddress = 0;\nDWORD OwnerPageTabItemAddress = 0;\n\n\nDWORD dwOldInterruptFA = 0;\nDWORD dwOldInterruptF8 = 0;\nDWORD dwOldInterruptF9 = 0;\n\nbool bInt1HereStat = 0;\nbool bInt3HereStat = 0;\n\nKeyInterruptVariable stKeyGlobalVariable = {\n\tFALSE,\t\t\t\t\t\t\t\t\t//bool IsActive = FALSE;\t\t\t\t\t\t//0  ûнģʽ //1  ˲ģʽ\t\n\tFALSE,\t\t\t\t\t\t\t\t\t//bool IsInsideActive = FALSE;\t\t\t\t\t//Ƽжϵѭ\n\tFUNCKEYRELEASE,\t\t\t\t\t\t\t//DWORD dwFuncKeyState = FUNCKEYRELEASE;\t\t//ܼ״̬0ܼûб£1ܼ\n\t0,\n\t0,\n\tNULL,\n\t0,\n\tNULL,\t\t\t\t\t\t\t\t\t//̵ָ\n\tNULL,\t\t\t\t\t\t\t\t\t//ָ\n\t0x10,\n\t0,\n\t0x1d,\n\t0x58,\n\t0,\n\t0,\n\t0,\n\t0,\n\t0x38,//chAltKeyScanCode\n\t0,//chCurrentScanCode\n\t0,//dwIOAPICLineAddress\n\t0,//dwIOAPICPhysAddress\n\t0,//dwLocalAPICPhysAddress\n\t0,//dwLocalAPICLineAddress\n\tFALSE,//bIsUseAPIC\n\t0,//DWORD dwOldMouseInterrupt\t\n\t0,//\tbMouseResponseState\n\t0,//dwMouseDataIndexжһݰеĵڼݡݰпܰĸݻݡ\n\t0,\n\t0,//dwLocalAPICTaskPriority\n\t0,//chPrveScanCode\n};\nBYTE chWindowsKeyArray[0x10];   //ûģ  READ_PORT_UCHAR õģ\n\t\t\t\t\t\t\t\t//ûеҪi8042prt.sys ˿60ʱģ 60˿\nbool bRightCtrlKey = FALSE;\nDWORD dwCurrentReadIndex = 0;\nDWORD dwCurrentWriteIndex = 0;\nDWORD dwCurrentWindowsKeyLen = 0;\n#define MAX_WINDOWSKEYBUFFER_LENGTH 0x10\nDWORD dwEflag;\nDWORD dwInSofticeDebug = 0;\t\t\t\t\t\t//Ƿ Softice ʽ\nBYTE *SoftIceActive = NULL;\t\t\t\t\t\t//ñҪжǷ ҵļжǷ Softice ԡ\n\nINT nTempVar = 0;\t\t\t\t\t\t\t\t\t//ʱʱᱻɾ\nDWORD dwRPUC = 0;\nDWORD dwRPUCLookup = 0;\nDWORD dwWPUC = 0;\nDWORD dwWPUCLookup = 0;\nbool gbActiveMethod = FALSE;\t\t\t\t\t\t//ʽǼ̼\n/*\nBYTE ShiftKeyTable[]=\n{\n\t0xff,0x1b,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x2d,0x3d,0x08,0x09,\n\t0x71,0x77,0x65,0x72,0x74,0x79,0x75,0x69,0x6f,0x70,0x5b,0x5d,0x0d,0xff,0x41,0x73,\n\t0x44,0x46,0x47,0x48,0x4a,0x4b,0x4c,0x3b,0x27,0x60,0xff,0x5c,0x7a,0x78,0x43,0x76,\n\t0x42,0x6e,0x6d,0x2c,0x2e,0x2f,0xff,0x2a,0xff,0x20,0xff,0x97,0x98,0x99,0x9a,0x9b,\n\t0x9c,0x9d,0x9e,0x9f,0xa0,0xff,0xff,0x87,0x83,0x85,0x2d,0x81,0x35,0x82,0x2b,0x88,\n\t0x84,0x86,0x89,0x8a,0xff,0xff,0xff,0xa1,0xa2,\n};\n\nBYTE ShiftKeyTable1[]=\n{\n\t0x00,0x1b,0x21,0x40,0x23,0x24,0x25,0x5e,0x26,0x2a,0x28,0x29,0x5f,0x2b,0x08,0x8f,\n\t0x51,0x57,0x45,0x52,0x54,0x59,0x55,0x49,0x4f,0x50,0x7b,0x7d,0x0d,0x00,0x41,0x53,\n\t0x44,0x46,0x47,0x48,0x4a,0x4b,0x4c,0x3a,0x22,0x7e,0x00,0x7c,0x5a,0x58,0x43,0x56,\n\t0x42,0x4e,0x4d,0x3c,0x3e,0x3f,0x00,0x2a,0x00,0x20,0x00,0xa3,0xa4,0xa5,0xa6,0xa7,\n\t0xa8,0xa9,0xaa,0xab,0xac,0x00,0x00,0x87,0xe2,0x85,0x2d,0xe0,0x35,0xe1,0x2b,0x88,\n\t0xe3,0x86,0x89,0x8a,0x00,0x00,0x00,0xad,0xae,\n};\n\n\n\nBYTE NormalTable1[]=\n{\n\t0x00,0x1b,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x2d,0x3d,0x08,0x09,\n\t0x71,0x77,0x65,0x72,0x74,0x79,0x75,0x69,0x6f,0x70,0x5b,0x5d,0x0d,0x00,0x61,0x73,\n\t0x64,0x66,0x67,0x68,0x6a,0x6b,0x6c,0x3b,0x27,0x60,0x00,0x5c,0x7a,0x78,0x63,0x76,\n\t0x62,0x6e,0x6d,0x2c,0x2e,0x2f,0x00,0x2a,0x00,0x20,0x00,0x97,0x98,0x99,0x9a,0x9b,\n\t0x9c,0x9d,0x9e,0x9f,0xa0,0x00,0x00,0x87,0x83,0x85,0x2d,0x81,0x35,0x82,0x2b,0x88,\n\t0x84,0x86,0x89,0x8a,0x00,0x00,0x00,0xa1,0xa2,\n};\n*/\nBYTE ExternTable[]=\n{\n\t0xff,\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\t0xff,\t\t\t\t\t//scancode 01 0x01 'Esc'\n\t0xff,\t\t\t\t\t//scancode 02 0x02\t'1'\n\t0xff,\t\t\t\t\t//scancode 03 0x03\t'2'\n\t0xff,\t\t\t\t\t//scancode 04 0x04\t'3'\n\t0xff,\t\t\t\t\t//scancode 05 0x05\t'4'\n\t0xff,\t\t\t\t\t//scancode 06 0x06\t'5'\n\t0xff,\t\t\t\t\t//scancode 07 0x07\t'6'\n\t0xff,\t\t\t\t\t//scancode 08 0x08\t'7'\n\t0xff,\t\t\t\t\t//scancode 09 0x09\t'8'\n\t0xff,\t\t\t\t\t//scancode 10 0x0a\t'9'\n\t0xff,\t\t\t\t\t//scancode 11 0x0b  '0'\n\t0xff,\t\t\t\t\t//scancode 12 0x0c  '-_'\n\t0xff,\t\t\t\t\t//scancode 13 0x0d  '=+'\t\n\t0xff,\t\t\t\t\t//scancode 14 0x0e  'Back Space'\n\t0xff,\t\t\t\t\t//scancode 15 0x0f  'Tab'\n\t0xff,\t\t\t\t\t//scancode 16 0x10\t'Q'\n\t0xff,\t\t\t\t\t//scancode 17 0x11\t'W'\n\t0xff,\t\t\t\t\t//scancode 18 0x12\t'E'\n\t0xff,\t\t\t\t\t//scancode 19 0x13\t'R'\n\t0xff,\t\t\t\t\t//scancode 20 0x14\t'T'\n\t0xff,\t\t\t\t\t//scancode 21 0x15\t'Y'\n\t0xff,\t\t\t\t\t//scancode 22 0x16\t'U'\n\t0xff,\t\t\t\t\t//scancode 23 0x17\t'I'\n\t0xff,\t\t\t\t\t//scancode 24 0x18\t'O'\n\t0xff,\t\t\t\t\t//scancode 25 0x19\t'P'\n\t0xff,\t\t\t\t\t//scancode 26 0x1a\t'[{'\n\t0xff,\t\t\t\t\t//scancode 27 0x1b\t'P'\n\tWISP_VK_RETURN,\t\t\t//scancode 28 0x1c\t'}]'\n\tWISP_VK_RCONTROL,\t\t//scancode 29 0x1d\t'Left Ctrl'\n\t0xff,\t\t\t\t\t//scancode 30 0x1E\t'A'\n\t0xff,\t\t\t\t\t//scancode 31 0x1F\t'S'\n\t0xff,\t\t\t\t\t//scancode 32 0x20\t'D'\n\t0xff,\t\t\t\t\t//scancode 33 0x21\t'F'\n\t0xff,\t\t\t\t\t//scancode 34 0x22\t'G'\n\t0xff,\t\t\t\t\t//scancode 35 0x23\t'H'\n\t0xff,\t\t\t\t\t//scancode 36 0x24\t'J'\n\t0xff,\t\t\t\t\t//scancode 37 0x25\t'K'\n\t0xff,\t\t\t\t\t//scancode 38 0x26\t'L'\n\t0xff,\t\t\t\t\t\t//scancode 39 0x27\t';:'\n\t0xff,\t\t\t\t\t\t//scancode 40 0x28\t''\"'\n\t0xff,\t\t\t\t\t\t//scancode 41 0x29  ''\n\t0xff,\t\t\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\t0xff,\t\t\t\t\t\t//scancode 43 0x2b  '\\|'\n\t0xff,\t\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\t0xff,\t\t\t\t\t\t//scancode 45 0x2d\t'X'\n\t0xff,\t\t\t\t\t\t//scancode 46 0x2E\t'C'\n\t0xff,\t\t\t\t\t\t//scancode 47 0x2F\t'V'\n\t0xff,\t\t\t\t\t\t//scancode 48 0x30\t'B'\n\t0xff,\t\t\t\t\t\t//scancode 49 0x31\t'N'\n\t0xff,\t\t\t\t\t\t//scancode 50 0x32\t'M'\n\t0xff,\t\t\t\t\t\t//scancode 51 0x33  ',<'\n\t0xff,\t\t\t\t\t\t//scancode 52 0x34  ',>'\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\t0xff,\t\t\t\t\t\t//scancode 54 0x36  'Right Shift'\n\tWISP_VK_PRINT,\t\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_RALT,\t\t\t\t//scancode 56 0x38  'Left Alt'\n\t0xff,\t\t\t\t\t\t//scancode 57 0x39  'Blank Space' \n\t0xff,\t\t\t\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\t0xff,\t\t\t\t\t\t//scancode 59 0x3b  'F1' \n\t0xff,\t\t\t\t\t\t//scancode 60 0x3c  'F2'\n\t0xff,\t\t\t\t\t\t//scancode 61 0x3d  'F3'\n\t0xff,\t\t\t\t\t\t//scancode 62 0x3e  'F4'\n\t0xff,\t\t\t\t\t\t//scancode 63 0x3f  'F5'\n\t0xff,\t\t\t\t\t\t//scancode 64 0x40  'F6'\n\t0xff,\t\t\t\t\t\t//scancode 65 0x41  'F7'\n\t0xff,\t\t\t\t\t\t//scancode 66 0x42  'F8'\n\t0xff,\t\t\t\t\t\t//scancode 67 0x43  'F9'\n\t0xff,\t\t\t\t\t\t//scancode 68 0x44  'F10'\n\t0xff,\t\t\t\t\t\t//scancode 69 0x45  'Num Lock'   \n\t0xff,\t\t\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\tWISP_VK_HOME,\t\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_UP,\t\t\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_PAGE_UP,\t\t\t//scancode 73 0x49  'Page Up'С\n\t0xff,\t\t\t\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_LEFT,\t\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\t0xff,\t\t\t\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_RIGHT,\t\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\t0xff,\t\t\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_END,\t\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_DOWN,\t\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_PAGE_DOWN,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_INSERT,\t\t\t\t//scancode 82 0x52  'Ins'С\n\tWISP_VK_DELETE,\t\t\t\t//scancode 83 0x53  'Del'С\n\t0xff,\t\t\t\t\t\t//scancode 84 0x54\n\t0xff,\t\t\t\t\t\t//scancode 85 0x55\n\t0xff,\t\t\t\t\t\t//scancode 86 0x56\n\t0xff,\t\t\t\t\t\t//scancode 87 0x57  'F11'\n\t0xff,\t\t\t\t\t\t//scancode 88 0x58  'F12'\n\t0xff,\t\t\t\t\t\t//scancode 89 0x59  ''\n\t0xff,\t\t\t\t\t\t//scancode 90 0x5a  ''\n\tWISP_VK_LWIN,\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\tWISP_VK_RWIN,\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\tWISP_VK_APPS,\t\t\t\t//scancode 93 0x5d  'Apps'\n\tWISP_VK_0X5E,\t\t\t\t//scancode 94 0x5e  'Power'\n\tWISP_VK_SLEEP,\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t0xff,\t\t\t\t\t\t//scancode 96 0x60\t\n\t0xff,\t\t\t\t\t\t//scancode 97 0x61  \n\t0xff,\t\t\t\t\t\t//scancode 98 0x62\n\t0xff,\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n};\n//E0 2A E0 37 'Print Screen'  //E0 B7 E0 AA 'Print Screen' ̧\n//E1 1D 45 E1 9D C5'Pause Break'  ̧ʱûɨ\nBYTE NormalTable[2][0x80]=\n{\n\t{\n\t0xff,\t\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\tWISP_VK_ESCAPE,\t\t\t\t//scancode 01 0x01 'Esc'\n\tWISP_VK_1,\t\t\t\t\t//scancode 02 0x02\t'1'\n\tWISP_VK_2,\t\t\t\t\t//scancode 03 0x03\t'2'\n\tWISP_VK_3,\t\t\t\t\t//scancode 04 0x04\t'3'\n\tWISP_VK_4,\t\t\t\t\t//scancode 05 0x05\t'4'\n\tWISP_VK_5,\t\t\t\t\t//scancode 06 0x06\t'5'\n\tWISP_VK_6,\t\t\t\t\t//scancode 07 0x07\t'6'\n\tWISP_VK_7,\t\t\t\t\t//scancode 08 0x08\t'7'\n\tWISP_VK_8,\t\t\t\t\t//scancode 09 0x09\t'8'\n\tWISP_VK_9,\t\t\t\t\t//scancode 10 0x0a\t'9'\n\tWISP_VK_0,\t\t\t\t\t//scancode 11 0x0b  '0'\n\tWISP_VK_OEM_MINUS,\t\t\t//scancode 12 0x0c  '-_'\n\tWISP_VK_OEM_PLUS,\t\t\t//scancode 13 0x0d  '=+'\t\n\tWISP_VK_BACK,\t\t\t\t//scancode 14 0x0e  'Back Space'\n\tWISP_VK_TAB,\t\t\t\t//scancode 15 0x0f  'Tab'\n\tWISP_VK_Q,\t\t\t\t\t//scancode 16 0x10\t'Q'\n\tWISP_VK_W,\t\t\t\t\t//scancode 17 0x11\t'W'\n\tWISP_VK_E,\t\t\t\t\t//scancode 18 0x12\t'E'\n\tWISP_VK_R,\t\t\t\t\t//scancode 19 0x13\t'R'\n\tWISP_VK_T,\t\t\t\t\t//scancode 20 0x14\t'T'\n\tWISP_VK_Y,\t\t\t\t\t//scancode 21 0x15\t'Y'\n\tWISP_VK_U,\t\t\t\t\t//scancode 22 0x16\t'U'\n\tWISP_VK_I,\t\t\t\t\t//scancode 23 0x17\t'I'\n\tWISP_VK_O,\t\t\t\t\t//scancode 24 0x18\t'O'\n\tWISP_VK_P,\t\t\t\t\t//scancode 25 0x19\t'P'\n\tWISP_VK_LSQUARE_BRACKET,\t//scancode 26 0x1a\t'[{'\n\tWISP_VK_RSQUARE_BRACKET,\t//scancode 27 0x1b\t'P'\n\tWISP_VK_RETURN,\t\t\t\t//scancode 28 0x1c\t'Enter'\n\tWISP_VK_CONTROL,\t\t\t//scancode 29 0x1d\t'Left Ctrl'\n\tWISP_VK_A,\t\t\t\t\t//scancode 30 0x1E\t'A'\n\tWISP_VK_S,\t\t\t\t\t//scancode 31 0x1F\t'S'\n\tWISP_VK_D,\t\t\t\t\t//scancode 32 0x20\t'D'\n\tWISP_VK_F,\t\t\t\t\t//scancode 33 0x21\t'F'\n\tWISP_VK_G,\t\t\t\t\t//scancode 34 0x22\t'G'\n\tWISP_VK_H,\t\t\t\t\t//scancode 35 0x23\t'H'\n\tWISP_VK_J,\t\t\t\t\t//scancode 36 0x24\t'J'\n\tWISP_VK_K,\t\t\t\t\t//scancode 37 0x25\t'K'\n\tWISP_VK_L,\t\t\t\t\t//scancode 38 0x26\t'L'\n\tWISP_VK_SEMI,\t\t\t\t//scancode 39 0x27\t';:'\n\tWISP_VK_QUOT,\t\t\t\t//scancode 40 0x28\t''\"'\n\t0xff,\t\t\t\t\t\t//scancode 41 0x29  ''\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\tWISP_VK_OEM_5,\t\t\t\t//scancode 43 0x2b  '\\|'\n\tWISP_VK_Z,\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\tWISP_VK_X,\t\t\t\t\t//scancode 45 0x2d\t'X'\n\tWISP_VK_C,\t\t\t\t\t//scancode 46 0x2E\t'C'\n\tWISP_VK_V,\t\t\t\t\t//scancode 47 0x2F\t'V'\n\tWISP_VK_B,\t\t\t\t\t//scancode 48 0x30\t'B'\n\tWISP_VK_N,\t\t\t\t\t//scancode 49 0x31\t'N'\n\tWISP_VK_M,\t\t\t\t\t//scancode 50 0x32\t'M'\n\tWISP_VK_OEM_COMMA,\t\t\t//scancode 51 0x33  ',<'\n\tWISP_VK_OEM_PERIOD,\t\t\t//scancode 52 0x34  ',>'\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 54 0x36  'Right Shift'\n\tWISP_VK_MULTIPLY,\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_ALT,\t\t\t\t//scancode 56 0x38  'Left Alt'\n\tWISP_VK_SPACE,\t\t\t\t//scancode 57 0x39  'Blank Space' \n\tWISP_VK_CAPITAL,\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\tWISP_VK_F1,\t\t\t\t\t//scancode 59 0x3b  'F1' \n\tWISP_VK_F2,\t\t\t\t\t//scancode 60 0x3c  'F2'\n\tWISP_VK_F3,\t\t\t\t\t//scancode 61 0x3d  'F3'\n\tWISP_VK_F4,\t\t\t\t\t//scancode 62 0x3e  'F4'\n\tWISP_VK_F5,\t\t\t\t\t//scancode 63 0x3f  'F5'\n\tWISP_VK_F6,\t\t\t\t\t//scancode 64 0x40  'F6'\n\tWISP_VK_F7,\t\t\t\t\t//scancode 65 0x41  'F7'\n\tWISP_VK_F8,\t\t\t\t\t//scancode 66 0x42  'F8'\n\tWISP_VK_F9,\t\t\t\t\t//scancode 67 0x43  'F9'\n\tWISP_VK_F10,\t\t\t\t//scancode 68 0x44  'F10'\n\tWISP_VK_NUMLOCK,\t\t\t//scancode 69 0x45  'Num Lock'   Pause Break  0xE1 0x1D 0x45 0xE1 0x9D 0xC5\n\tWISP_VK_SCROLL,\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\tWISP_VK_NUMPAD7,\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_NUMPAD8,\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_NUMPAD9,\t\t\t//scancode 73 0x49  'Page Up'С\n\tWISP_VK_SUBTRACT,\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_NUMPAD4,\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\tWISP_VK_NUMPAD5,\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_NUMPAD6,\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\tWISP_VK_ADD,\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_NUMPAD1,\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_NUMPAD2,\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_NUMPAD3,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_NUMPAD0,\t\t\t//scancode 82 0x52  'Ins'С\n    WISP_VK_DECIMAL,\t\t\t//scancode 83 0x53  'Del'С\n\t0xff,\t\t\t\t\t\t//scancode 84 0x54\n\t0xff,\t\t\t\t\t\t//scancode 85 0x55\n\t0xff,\t\t\t\t\t\t//scancode 86 0x56\n\tWISP_VK_F11,\t\t\t\t//scancode 87 0x57  'F11'\n\tWISP_VK_F12,\t\t\t\t//scancode 88 0x58  'F12'\n\t0xff,\t\t\t\t\t\t//scancode 89 0x59  ''\n\t0xff,\t\t\t\t\t\t//scancode 90 0x5a  ''\n\t0xff,\t\t\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\t0xff,\t\t\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\t0xff,\t\t\t\t\t\t//scancode 93 0x5d  'Window Apps'\n\t0xff,\t\t\t\t\t\t//scancode 94 0x5e  'Power'\n\t0xff,\t\t\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t0xff,\t\t\t\t\t\t//scancode 96 0x60\t\n\tWISP_VK_PAUSE,\t\t\t\t//scancode 97 0x61  \n\t0xff,\t\t\t\t\t\t//scancode 98 0x62\n\t0xff,\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n},\n{\n\t0xff,\t\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\tWISP_VK_ESCAPE,\t\t\t\t//scancode 01 0x01 'Esc'\n\tWISP_VK_1,\t\t\t\t\t//scancode 02 0x02\t'1'\n\tWISP_VK_2,\t\t\t\t\t//scancode 03 0x03\t'2'\n\tWISP_VK_3,\t\t\t\t\t//scancode 04 0x04\t'3'\n\tWISP_VK_4,\t\t\t\t\t//scancode 05 0x05\t'4'\n\tWISP_VK_5,\t\t\t\t\t//scancode 06 0x06\t'5'\n\tWISP_VK_6,\t\t\t\t\t//scancode 07 0x07\t'6'\n\tWISP_VK_7,\t\t\t\t\t//scancode 08 0x08\t'7'\n\tWISP_VK_8,\t\t\t\t\t//scancode 09 0x09\t'8'\n\tWISP_VK_9,\t\t\t\t\t//scancode 10 0x0a\t'9'\n\tWISP_VK_0,\t\t\t\t\t//scancode 11 0x0b  '0'\n\tWISP_VK_OEM_MINUS,\t\t\t//scancode 12 0x0c  '-_'\n\tWISP_VK_OEM_PLUS,\t\t\t//scancode 13 0x0d  '=+'\t\n\tWISP_VK_BACK,\t\t\t\t//scancode 14 0x0e  'Back Space'\n\tWISP_VK_TAB,\t\t\t\t//scancode 15 0x0f  'Tab'\n\tWISP_VK_A,\t\t\t\t\t//scancode 16 0x10\t'Q'\n\tWISP_VK_Z,\t\t\t\t\t//scancode 17 0x11\t'W'\n\tWISP_VK_E,\t\t\t\t\t//scancode 18 0x12\t'E'\n\tWISP_VK_R,\t\t\t\t\t//scancode 19 0x13\t'R'\n\tWISP_VK_T,\t\t\t\t\t//scancode 20 0x14\t'T'\n\tWISP_VK_Y,\t\t\t\t\t//scancode 21 0x15\t'Y'\n\tWISP_VK_U,\t\t\t\t\t//scancode 22 0x16\t'U'\n\tWISP_VK_I,\t\t\t\t\t//scancode 23 0x17\t'I'\n\tWISP_VK_O,\t\t\t\t\t//scancode 24 0x18\t'O'\n\tWISP_VK_P,\t\t\t\t\t//scancode 25 0x19\t'P'\n\tWISP_VK_LSQUARE_BRACKET,\t//scancode 26 0x1a\t'[{'\n\tWISP_VK_RSQUARE_BRACKET,\t//scancode 27 0x1b\t'P'\n\tWISP_VK_RETURN,\t\t\t\t//scancode 28 0x1c\t'Enter'\n\tWISP_VK_CONTROL,\t\t\t//scancode 29 0x1d\t'Left Ctrl'\n\tWISP_VK_Q,\t\t\t\t\t//scancode 30 0x1E\t'A'\n\tWISP_VK_S,\t\t\t\t\t//scancode 31 0x1F\t'S'\n\tWISP_VK_D,\t\t\t\t\t//scancode 32 0x20\t'D'\n\tWISP_VK_F,\t\t\t\t\t//scancode 33 0x21\t'F'\n\tWISP_VK_G,\t\t\t\t\t//scancode 34 0x22\t'G'\n\tWISP_VK_H,\t\t\t\t\t//scancode 35 0x23\t'H'\n\tWISP_VK_J,\t\t\t\t\t//scancode 36 0x24\t'J'\n\tWISP_VK_K,\t\t\t\t\t//scancode 37 0x25\t'K'\n\tWISP_VK_L,\t\t\t\t\t//scancode 38 0x26\t'L'\n\tWISP_VK_M,//WISP_VK_SEMI,\t\t\t\t//scancode 39 0x27\t';:'\n\tWISP_VK_QUOT,\t\t\t\t//scancode 40 0x28\t''\"'\n\t0xff,\t\t\t\t\t\t//scancode 41 0x29  ''\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\tWISP_VK_OEM_5,\t\t\t\t//scancode 43 0x2b  '\\|'\n\tWISP_VK_W,\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\tWISP_VK_X,\t\t\t\t\t//scancode 45 0x2d\t'X'\n\tWISP_VK_C,\t\t\t\t\t//scancode 46 0x2E\t'C'\n\tWISP_VK_V,\t\t\t\t\t//scancode 47 0x2F\t'V'\n\tWISP_VK_B,\t\t\t\t\t//scancode 48 0x30\t'B'\n\tWISP_VK_N,\t\t\t\t\t//scancode 49 0x31\t'N'\n\tWISP_VK_SEMI,//WISP_VK_M,\t\t\t\t\t//scancode 50 0x32\t'M'\n\tWISP_VK_OEM_COMMA,\t\t\t//scancode 51 0x33  ',<'\n\tWISP_VK_OEM_PERIOD,\t\t\t//scancode 52 0x34  ',>'\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 54 0x36  'Right Shift'\n\tWISP_VK_MULTIPLY,\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_ALT,\t\t\t\t//scancode 56 0x38  'Left Alt'\n\tWISP_VK_SPACE,\t\t\t\t//scancode 57 0x39  'Blank Space' \n\tWISP_VK_CAPITAL,\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\tWISP_VK_F1,\t\t\t\t\t//scancode 59 0x3b  'F1' \n\tWISP_VK_F2,\t\t\t\t\t//scancode 60 0x3c  'F2'\n\tWISP_VK_F3,\t\t\t\t\t//scancode 61 0x3d  'F3'\n\tWISP_VK_F4,\t\t\t\t\t//scancode 62 0x3e  'F4'\n\tWISP_VK_F5,\t\t\t\t\t//scancode 63 0x3f  'F5'\n\tWISP_VK_F6,\t\t\t\t\t//scancode 64 0x40  'F6'\n\tWISP_VK_F7,\t\t\t\t\t//scancode 65 0x41  'F7'\n\tWISP_VK_F8,\t\t\t\t\t//scancode 66 0x42  'F8'\n\tWISP_VK_F9,\t\t\t\t\t//scancode 67 0x43  'F9'\n\tWISP_VK_F10,\t\t\t\t//scancode 68 0x44  'F10'\n\tWISP_VK_NUMLOCK,\t\t\t//scancode 69 0x45  'Num Lock'   Pause Break  0xE1 0x1D 0x45 0xE1 0x9D 0xC5\n\tWISP_VK_SCROLL,\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\tWISP_VK_NUMPAD7,\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_NUMPAD8,\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_NUMPAD9,\t\t\t//scancode 73 0x49  'Page Up'С\n\tWISP_VK_SUBTRACT,\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_NUMPAD4,\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\tWISP_VK_NUMPAD5,\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_NUMPAD6,\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\tWISP_VK_ADD,\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_NUMPAD1,\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_NUMPAD2,\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_NUMPAD3,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_NUMPAD0,\t\t\t//scancode 82 0x52  'Ins'С\n\tWISP_VK_DECIMAL,\t\t\t//scancode 83 0x53  'Del'С\n\t0xff,\t\t\t\t\t\t//scancode 84 0x54\n\t0xff,\t\t\t\t\t\t//scancode 85 0x55\n\tWISP_VK_OEM_102,\t\t\t\t\t\t//scancode 86 0x56\n\tWISP_VK_F11,\t\t\t\t//scancode 87 0x57  'F11'\n\tWISP_VK_F12,\t\t\t\t//scancode 88 0x58  'F12'\n\t0xff,\t\t\t\t\t\t//scancode 89 0x59  ''\n\t0xff,\t\t\t\t\t\t//scancode 90 0x5a  ''\n\t0xff,\t\t\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\t0xff,\t\t\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\t0xff,\t\t\t\t\t\t//scancode 93 0x5d  'Window Apps'\n\t0xff,\t\t\t\t\t\t//scancode 94 0x5e  'Power'\n\t0xff,\t\t\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t0xff,\t\t\t\t\t\t//scancode 96 0x60\t\n\tWISP_VK_PAUSE,\t\t\t\t//scancode 97 0x61  \n\t0xff,\t\t\t\t\t\t//scancode 98 0x62\n\t0xff,\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n},\n};\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nDWORD GetScanCode(DWORD WispVKCode)\n{\n\tDWORD ScanCode=0;\n\tfor(int i=0;i<sizeof(NormalTable[0])/sizeof(NormalTable[0][0]);i++)\n\t{\n\t\tif(NormalTable[SyserOption.iKeyboardLayer][i]==WispVKCode)\n\t\t\tScanCode=i;\n\t}\n\treturn ScanCode;\n}\n/*\nunsigned char rawData[212] =\n{\n\t\t0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x20, 0x00, 0x12, 0x00, 0x21, 0x00, \n\t\t0x22, 0x00, 0x23, 0x00, 0x17, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x32, 0x00, 0x31, 0x00, \n\t\t0x18, 0x00, 0x19, 0x00, 0x10, 0x00, 0x13, 0x00, 0x1F, 0x00, 0x14, 0x00, 0x16, 0x00, 0x2F, 0x00, \n\t\t0x11, 0x00, 0x2D, 0x00, 0x15, 0x00, 0x2C, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0x05, 0x00, \n\t\t0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x1C, 0x00, 0x01, 0x00, \n\t\t0x0E, 0x00, 0x0F, 0x00, 0x39, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x2B, 0x00, \n\t\t0x2B, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x3A, 0x00, \n\t\t0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, \n\t\t0x43, 0x00, 0x44, 0x00, 0x57, 0x00, 0x58, 0x00, 0xE0, 0x37, 0x46, 0x00, 0xE0, 0x46, 0xE0, 0x52, \n\t\t0xE0, 0x47, 0xE0, 0x49, 0xE0, 0x53, 0xE0, 0x4F, 0xE0, 0x51, 0xE0, 0x4D, 0xE0, 0x4B, 0xE0, 0x50, \n\t\t0xE0, 0x48, 0x45, 0x00, 0xE0, 0x35, 0x37, 0x00, 0x4A, 0x00, 0x4E, 0x00, 0xE0, 0x1C, 0x4F, 0x00, \n\t\t0x50, 0x00, 0x51, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, \n\t\t0x52, 0x00, 0x53, 0x00, 0x56, 0x00, 0xE0, 0x5D, 0x00, 0x00, 0x59, 0x00, 0x5D, 0x00, 0x5E, 0x00, \n\t\t0x5F, 0x00, 0x00, 0x00, \n} ;\n\nBYTE OldNormalTable[]=\n{\n\t0xff,0x1b,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x5f,0x2b,0x08,0x8f,\n\t0x51,0x57,0x45,0x52,0x54,0x59,0x55,0x49,0x4f,0x50,0x7b,0x7d,0x0d,0xff,0x41,0x53,\n\t0x44,0x46,0x47,0x48,0x4a,0x4b,0x4c,0x3a,0x22,0x7e,0xff,0x7c,0x5a,0x58,0x43,0x56,\n\t0x42,0x4e,0x4d,0x3c,0x3e,0x3f,0xff,0x2a,0xff,0x20,0xff,0xa3,0xa4,0xa5,0xa6,0xa7,\n\t0xa8,0xa9,0xaa,0xab,0xac,0x00,0xff,0x87,0xe2,0x85,0x2d,0xe0,0x35,0xe1,0x2b,0x88,\n\t0xe3,0x86,0x89,0x8a,0xff,0xff,0xff,0xad,0xae,\n};\nBYTE AltKeyTable[]=\n{\n\t0x00,0x1b,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x2d,0x3d,0x08,0x09,\n\t0x71,0xd9,0x65,0xd8,0x8d,0x79,0x75,0x69,0x6f,0x70,0x5b,0x5d,0x0d,0x00,0x61,0xc7,\n\t0xd5,0x66,0x67,0x68,0x6a,0x6b,0xd7,0x3b,0x27,0x60,0x00,0x5c,0x7a,0x78,0xd4,0x76,\n\t0x62,0x6e,0x6d,0x2c,0x2e,0x2f,0x00,0x2a,0x00,0x20,0x00,0xbb,0xbc,0xbd,0xbe,0xbf,\n\t0xc0,0xc1,0xc2,0xc3,0xc4,0x00,0x00,0x87,0xca,0xcc,0x2d,0x81,0x35,0x82,0x2b,0x88,\n\t0xcb,0xcd,0x89,0x8a,0x00,0x00,0x00,0xc5,0xc6,\n};\nBYTE CtrlKeyTable[]=\n{\n\t0x00,0x1b,0x21,0x40,0x23,0x24,0x25,0x5e,0x26,0x2a,0x28,0x29,0x5f,0x2b,0x08,0x8f,\n\t0x51,0x57,0x45,0x52,0x54,0x59,0x55,0x49,0x4f,0x50,0x7b,0x7d,0x0d,0x00,0x41,0x53,\n\t0x44,0x46,0x47,0x48,0x4a,0x4b,0xdd,0x3a,0x22,0x7e,0x00,0x7c,0x5a,0x58,0xda,0xdb,\n\t0x42,0x4e,0xdc,0x3c,0x3e,0x3f,0x00,0x2a,0x00,0x20,0x00,0xaf,0xb0,0xb1,0xb2,0xb3,\n\t0xb4,0xb5,0xb6,0xb7,0xb8,0x00,0x00,0xf6,0xf2,0xf4,0x2d,0xf0,0x35,0xf1,0x2b,0xf7,\n\t0xf3,0xf5,0x30,0x2e,0x00,0x00,0x00,0xb9,0xba,\n};\nBYTE CtrlAltKeyTable[]=\n{\n\t0x00,0x1b,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x2d,0x3d,0x08,0x09,\n\t0x71,0x77,0x65,0x72,0x74,0x79,0x75,0x69,0x6f,0x70,0x5b,0x5d,0x0d,0x00,0x61,0x73,\n\t0x64,0x66,0x67,0x68,0x6a,0x6b,0x6c,0x3b,0x27,0x60,0x00,0x5c,0x7a,0x78,0xdf,0x76,\n\t0x62,0x6e,0x6d,0x2c,0x2e,0x2f,0x00,0x2a,0x00,0x20,0x00,0x97,0x98,0x99,0x9a,0x9b,\n\t0x9c,0x9d,0x9e,0x9f,0xa0,0x00,0x00,0x8e,0xfe,0x90,0x2d,0xfc,0x92,0xfd,0x2b,0x8f,\n\t0xff,0x91,0x89,0x8a,0x00,0x00,0x00,0xa1,0xa2,\n};\n*/\n//WORD ExitMouseBuffer[0x1024];\n// __declspec (naked) void WaitKeyboardOutPutBufferFull()\n// {\n// \t__asm {\n// \t\tpush ecx\n// \t\tpush eax\n// \t\tmov ecx, 0x2000\n// local_2:\t\t\n// \t\tin al, 0x64\n// \t\tpush ecx\n// \t\tmov ecx,0x14\n// local_1:\t\t\n// \t\tloop local_1\n// \t\tpop ecx\n// \t\ttest al,1\n// \t\tloope local_2\n// \t\tpop eax\n// \t\tpop ecx\n// \t\tret\n// \t}\n// }\n\n// __declspec (naked) void WaitKeyboardInputBufferEmpte()\n// {\n// \t__asm{\n// \t\tpush ecx\n// \t\tpush eax\n// \t\tmov ecx, 0x2000\n// local_2:\n// \t\tin al, 0x64\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_1:\t\t\n// \t\tloop local_1\n// \t\tpop ecx\n// \t\ttest al,2\n// \t\tloopne local_2\n// \t\tpop eax\n// \t\tpop ecx\n// \t\tret\n// \t}\n// }\n\n//  void SimulateKeyboardInput(BYTE scancode,bool isDisableInterrupt)\n// {\n// \tDWORD dwIsInterrupt = 0;\n// \tif(isDisableInterrupt)\n// \t\tdwIsInterrupt = 1;\n// \t__asm{\n// \t\tpushad\n// \t\tmov ah,scancode\n// \t\tmov edx, dwIsInterrupt\n// \t\tcmp edx,0\n// \t\tjz local_b\n// \t\tmov al, 0x20\t\t\t\t\t\t// \n// \t\tout 0x64,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_1:\n// \t\tloop local_1\n// \t\tpop ecx\n// \t\t\n// \t\tcall WaitKeyboardOutPutBufferFull\n// \t\tin al, 0x60\t\t\t\t\t\t\t//\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_2:\n// \t\tloop local_2\n// \t\tpop ecx\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al,0x60\t\t\t\t\t\t\t//д \n// \t\tout 0x64,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_3:\n// \t\tloop local_3\n// \t\tpop ecx\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al,cl\n// \t\tand al,0xfe\t\t\t\t\t\t\t//ֹ̲ж  \n// \t\tout 0x60,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_4:\n// \t\tloop local_4\n// \t\tpop ecx\n// local_b:\t\t\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al, 0xd2\t\t\t\t\t\t//д \n// \t\tout 0x64,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_5:\n// \t\tloop local_5\n// \t\tpop ecx\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al,ah\n// \t\tout 0x60,al\t\t\t\t\t\t\t//дɨ\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_6:\n// \t\tloop local_6\n// \t\tpop ecx\n// \t\tcall WaitKeyboardOutPutBufferFull\n// \t\tor dl,dl\n// \t\tjz local_a\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al,0x60\n// \t\tout 0x64,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_7:\n// \t\tloop local_7\n// \t\tpop ecx\n// \t\tcall WaitKeyboardInputBufferEmpte\n// \t\tmov al,cl\n// \t\tor al,1\n// \t\tout 0x60,al\n// \t\tpush ecx\n// \t\tmov ecx, 0x14\n// local_8:\n// \t\tloop local_8\n// \t\tpop ecx\n// \t\tcall WaitKeyboardInputBufferEmpte\n// local_a:\t\t\n// \t\tpopad\t\t\n// \t}\n// }\n\n// __declspec (naked) void StoreDSRegister()\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tmov ax,stKeyGlobalVariable.wDSRegister;\n// \t\tmov ds, ax\n// \t\tpop eax\n// \t\tret\n// \t}\n// }\n\nBYTE byteCurrentPort64Value;\nbool KeyboardHandler()\n{\t\n\tif(stKeyGlobalVariable.chCurrentScanCode & 0x80)        //̷ſʱ\n\t{\n\t\tif((stKeyGlobalVariable.chCurrentScanCode  & 0x7f)== stKeyGlobalVariable.chFuncKeyScanCode)\n\t\t\tstKeyGlobalVariable.dwFuncKeyState = FUNCKEYRELEASE;\t\t\n\t\treturn false;\n\t}\n\n\tif(stKeyGlobalVariable.chCurrentScanCode == stKeyGlobalVariable.chFuncKeyScanCode)\n\t{\n\t\tbRightCtrlKey = (stKeyGlobalVariable.chPrveScanCode == 0xe0) ? TRUE:FALSE;\n\t\tstKeyGlobalVariable.dwFuncKeyState = FUNCKEYPRESS;\n\t\treturn false;\n\t}\n\tif(stKeyGlobalVariable.dwFuncKeyState != FUNCKEYPRESS)\n\t{//ctrl down\n\t\treturn false;\n\t}\n\tif(stKeyGlobalVariable.chCurrentScanCode == stKeyGlobalVariable.chSecondKeyScanCode)\n\t{//f12 down active\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n// __declspec (naked) void Interrupt_0xF8_Keyboard_Service()\n// {\n// \t__asm{\n// \t\tpushfd\n// \t\tcmp cs:gbActive,0\n// \t\tjnz local_2\n// \t\tpush eax\n// \t\tin al,0x64\n// \t\ttest al,1 \n// \t\tpop eax \n// \t\tjnz local_2\n// \t\tpopfd\n// \t\tret\n// local_2:\n// \t\tpopfd\n// \t\tpush cs:KeyboardInterruptService\n// \t\tret\n// \t}\n// }\n\n__declspec (naked) void KeyboardInterruptService()\n{\n\t__asm\n\t{\n\t\tcmp\t\tss:gbActive,0\n\t\tjnz\t\tSyserActived\n\t\tpush\tds\n\t\tpush\teax\t\t\t//vc ڵúʱᱣ eax,ecx,edx\n\t\tpush\tecx\n\t\tpush\tedx\n\t\tmov\t\tax,ss\n\t\tmov\t\tds,ax\n\t\tin\t\tal,0x64\n\t\tmov\t\tbyteCurrentPort64Value,al \n\t\tin\t\tal,0x60\n\t\tmov\t\tstKeyGlobalVariable.chCurrentScanCode,al\n\t}\n\t//\n\tif(gpSyserCfg->m_DebugKeyboardInterrupt)\n\t{\n\t\tgpSyser->DbgPrint(0,0,WSTR(\"Keyboard P60=%02x P64=%02x\"),stKeyGlobalVariable.chCurrentScanCode,byteCurrentPort64Value);\n\t\tif(stKeyGlobalVariable.chCurrentScanCode==0xe0)\n\t\t\tgpSyser->DbgPrint(0,16,WSTR(\"0xe0 Keyboard P60=%02x P64=%02x\"),stKeyGlobalVariable.chCurrentScanCode,byteCurrentPort64Value);\n\t\t//else\n\t\t//\tgpSyser->DbgPrint(0,16,WSTR(\"                                             \"),stKeyGlobalVariable.chCurrentScanCode,byteCurrentPort64Value);\n\t}\n\tif(KeyboardHandler()==false || gpSyser->m_bInitSuccess==false || gbLoadImage)\n\t{\n\t\tstKeyGlobalVariable.chPrveScanCode = stKeyGlobalVariable.chCurrentScanCode;\n\t\tInsertKeyboardBuffer(stKeyGlobalVariable.chCurrentScanCode);\n\t\t__asm\n\t\t{\n\t\t\tpop edx\n\t\t\tpop ecx\n\t\t\tpop eax\n\t\t\tpop ds\n\t\t\tret\n\t\t}\n\t}\n\t//DisableDebugRegisterMontior();\n\t__asm\n\t{\n\t\tpop edx\n\t\tpop ecx\n\t\tpop eax\n\t\tpop ds\n\t\tpop ss:stKeyGlobalVariable.dwOldKeyboardInterrupt\n\t\tcall SyserStopOtherCPUs\n\t\tcall SyserDisableDebugRegisterMontior\n\t\tmov ss:OldESP,esp\n\t\tmov ss:Reg.GeneReg[ESP_IDX*4],esp\n\t\tmov esp,ss:gpStackBufferTop\n\t\tpushad\n\t\tpush fs\n\t\tpush ds\n\t\tpush es\t\n\t\tmov ax,NT_FS\n\t\tmov fs,ax\n\t\tmov ax,ss\n\t\tmov ds,ax\n\t\tmov es,ax\n\t\tmov ebp,esp\n\t\tcld\n\t}\n\t////////////////////////\n\t//pbSyserDisabledӳActive Syser,ԴлʱActiveᵼʾ\n\tif(pbSyserDisabled==NULL || *pbSyserDisabled==false)\n\t{\n\t\tSyserLoadReg();\n\t\tgpSyser->AttachPopupProcess(Reg.CR[3]);\t\t\n\t\tgpSyser->m_bSaveReg=false;\n\t\tgpSyser->Active();\t\t\n\t\tSyserSaveReg();\n\t}\n\telse if(pbSyserDisabled && *pbSyserDisabled)\n\t{\n\t\t*pbSyserDisabled=false;//˱־ȴSysBootʾصActive\n\t\tSyserEnableDebugRegisterMontior();\n\t}\n\telse\n\t{\n\t\tSyserEnableDebugRegisterMontior();\n\t}\n\tif(bRightCtrlKey)\n\t\tSyserSimulateWindowsKeyboardInput(0xe0);\n\tSyserSimulateWindowsKeyboardInput(stKeyGlobalVariable.chFuncKeyScanCode | 0x80);\n\t////////////////////////\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t__asm\n\t{\n\t\tpop     es\n\t\tpop     ds\n\t\tpop     fs\n\t\tpopad\n\t\tmov esp,ss:OldESP\n\t\tcall SyserSyncMouseInterrupt\t\t\n\t\txchg eax,[esp+8]\n\t\ttest eax,0x100\n\t\tjnz local_00099\n\t\tcall SyserEnableAllHardInterrupt\n\t\tcall SyserStartOtherCPUs\n\t\tjmp local_101\nlocal_00099:\n\t\tcall SyserDisableAllHardInterrupt\nlocal_101:\n\t\txchg eax,[esp+8]\n\t\tcmp cs:gGenInterruptNumber,0xffffffff\n\t\tjnz local_00100\n\t\tcmp cs:bGoToSoftice,0\n\t\tjz tmpgosoftice\n\t\tmov ss:bGoToSoftice,0\n\t\tcall pSofticeActivePointer\ntmpgosoftice:\n\t\tiretd\nlocal_00100:\n\t\tmov ss:gGenInterruptNumber,0xffffffff;\n\t\tjmp cs:[gGenInterruptOffset]\n\t}\n\t__asm\n\t{\nSyserActived:\n\t\tlea esp,[esp+4]\n\t\tpushad\n\t\tpush ds\n\t\tmov ax,ss\n\t\tmov ds,ax\n\t\tin al,0x64\n\t\tmov byteCurrentPort64Value,al \n\t\tin al,0x60\n\t\tmov stKeyGlobalVariable.chCurrentScanCode,al\n\t}\n\tif(gpSyserCfg->m_DebugKeyboardInterrupt)\n\t{\n\t\tgpSyser->DbgPrint(400,40,WSTR(\"Keyboard P60=%02x P64=%02x\"),stKeyGlobalVariable.chCurrentScanCode,byteCurrentPort64Value);\n\t\tif(stKeyGlobalVariable.chCurrentScanCode==0x60||stKeyGlobalVariable.chCurrentScanCode==0xe0)\n\t\t\tgpSyser->DbgPrint(400,60,WSTR(\"Keyboard P60=%02x P64=%02x\"),stKeyGlobalVariable.chCurrentScanCode,byteCurrentPort64Value);\n\t}\n\tif(stKeyGlobalVariable.chCurrentScanCode & 0x80)//Ǽ̧\n\t{\t\n\t\tif((stKeyGlobalVariable.chCurrentScanCode  & 0x7f)== stKeyGlobalVariable.chFuncKeyScanCode)\n\t\t\tstKeyGlobalVariable.dwFuncKeyState = FUNCKEYRELEASE;\t\t\n\t\tif((stKeyGlobalVariable.chCurrentScanCode & 0x7f) < 0x60)\n\t\t{\n\t\t\tif(stKeyGlobalVariable.chPrveScanCode==0xe0)\n\t\t\t{\n\t\t\t\tgpSyser->OnKeyEvent(ExternTable[(stKeyGlobalVariable.chCurrentScanCode & 0x7F)],false);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(stKeyGlobalVariable.chPrveScanCode==0xe1)\n\t\t\t\t{\n\t\t\t\t\tif(stKeyGlobalVariable.chCurrentScanCode==0x9d)\n\t\t\t\t\t\tstKeyGlobalVariable.chPrveScanCode=0xe1;\n\t\t\t\t\telse if(stKeyGlobalVariable.chCurrentScanCode==0xc5)\n\t\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_PAUSE,false);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tgpSyser->OnKeyEvent(NormalTable[SyserOption.iKeyboardLayer][(stKeyGlobalVariable.chCurrentScanCode & 0x7F)],false);\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\t\n\t\tif(stKeyGlobalVariable.chCurrentScanCode < 0x60)\n\t\t{\n\t\t\tif(stKeyGlobalVariable.chCurrentScanCode == stKeyGlobalVariable.chFuncKeyScanCode)\n\t\t\t{\t\t\t\t\n\t\t\t\tstKeyGlobalVariable.dwFuncKeyState = FUNCKEYPRESS;\t\t\t\n\t\t\t}\n\t\t\tif(stKeyGlobalVariable.chPrveScanCode==0xe0)\n\t\t\t{\n\t\t\t\tgpSyser->OnKeyEvent(ExternTable[(stKeyGlobalVariable.chCurrentScanCode)],true);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(stKeyGlobalVariable.chPrveScanCode==0xe1)\n\t\t\t\t{\n\t\t\t\t\tif(stKeyGlobalVariable.chCurrentScanCode==0x1d)\n\t\t\t\t\t\tstKeyGlobalVariable.chPrveScanCode=0xe1;\n\t\t\t\t\telse if(stKeyGlobalVariable.chCurrentScanCode==0x45)\n\t\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_PAUSE,true);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tgpSyser->OnKeyEvent(NormalTable[SyserOption.iKeyboardLayer][(stKeyGlobalVariable.chCurrentScanCode)],true);\n\t\t\t}\n\t\t}\n\t}\n\t//if(!(SoftIceActive && *SoftIceActive))// softice ûдҪԼͼӲжϽ־\n\tSetInteruptEOI(1);\n\tstKeyGlobalVariable.chPrveScanCode=stKeyGlobalVariable.chCurrentScanCode;\n\t__asm\n\t{\n\t\tpop ds\n\t\tpopad\n\t\tiretd\n\t}\n}\n\n// __declspec (naked) void SaveDSRegister()\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush ebx\n// \t\tmov bx, ds\t\t\n// \t\tmov eax,0x10\n// \t\tmov ds,ax\n// \t\tmov stKeyGlobalVariable.wDSRegister,bx\n// \t\tpop ebx\n// \t\tpop eax\n// \t\tret\n// \t}\n// }\n\nBYTE gMouseID=0;\n\nvoid InitPS2MouseDevice()\n{\n\tBYTE Value;\n\tbool ReadMouseRet;\n\tif(gInVMWARE||gInVirtualPC)\n\t{\n\t\tdwMousePrePackageSize=4;\n\t\tgHasPS2Mouse=true;\n\t\tgpSyserCfg->m_CheckPS2Mouse=1;\n\t\tgpSyserCfg->m_PS2MouseType=4;\t\t\n\t}\t\n\t\n\tif(gpSyserCfg->m_CheckPS2Mouse==0)\n\t{\n\t\t//if(gHasPS2Keyboard==false)\n\t\t//\tgHasPS2Keyboard=CheckPS2Keyboard();\n\t\tdwMousePrePackageSize=3;\n\t\tgHasPS2Mouse=true;\n\t\tif(gHasPS2Mouse==false)\n\t\t{\n\t\t\tdwMousePrePackageSize=0;\n\t\t\tif(SendMouseCommand(0xf2))\n\t\t\t{\n\t\t\t\twhile(ReadMouseRet = SyserReadPort60(&Value,false))\n\t\t\t\t{\n\t\t\t\t\tif(Value==0xfa)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif(Value==0xfe)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tif(Value>=3)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwMousePrePackageSize=4;\n\t\t\t\t\t\tgHasPS2Mouse=true;\n\t\t\t\t\t}\n\t\t\t\t\tif(Value==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwMousePrePackageSize=3;\n\t\t\t\t\t\tgHasPS2Mouse=true;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(ReadMouseRet==false)\n\t\t\t\t{\n\t\t\t\t\tDbgPrint(\"Syser: ReadPort60 (%x) error!\\n\",Value);\n\t\t\t\t}\n\t\t\t\t/*\n\t\t\t\tSendMouseCommand(0xe5);\n\t\t\t\tTestTouchPad();\n\t\t\t\tSendMouseCommand(0xe4);\n\t\t\t\t*/\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDbgPrint(\"Syser: Send Mouse Command (0xF2) error!\\n\");\n\t\t\t}\n\t\t}\n\t\tgpSyserCfg->WriteDwordValue(CHECK_PS2_MOUSE,1);\n\t\tgpSyserCfg->WriteDwordValue(PS2MOUSE_TYPE,dwMousePrePackageSize);\n\t\tgpSyserCfg->WriteDwordValue(NULL_PS2_KEYBOARD,gHasPS2Keyboard?0:1);\n\t}\n\telse \n\t{\n\t\tgHasPS2Mouse=true;\n\t\tswitch(gpSyserCfg->m_PS2MouseType)\n\t\t{\n\t\tcase 3:\n\t\t\tdwMousePrePackageSize=3;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tdwMousePrePackageSize=4;\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\tdwMousePrePackageSize=6;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tgHasPS2Mouse=false;\n\t\t\tbreak;\n\t\t}\n\t\tgHasPS2Keyboard=gpSyserCfg->m_PS2NULLKeyboard?false:true;\n\t}\n\t//if(gHasPS2Mouse)\n\t//\tDbgPrint(\"Syser : %s PS2 Mouse %d Button\\n\",gHasPS2Mouse?\"Find\":\"Can't Find\",dwMousePrePackageSize);\n\t//DbgPrint(\"Syser : %s PS2 Keyboard\\n\",gHasPS2Keyboard?\"Find\":\"Can't Find\");\n}\n\nbool InstallAllInterrupt()\n{\n\tDWORD dwInterruptNumber = 0;\n\tWORD CurCS;\n\t//bool ReadMouseRet;\n\t//SaveDSRegister();//Ķý쳣 fuck M$\n\t//ҳĿ¼ҳռһ poke peek ʹá\n\tgPrevTSC=SyserGetTSC();\n\tgTSCTickCount = InitSTCTickCount();\n\tInitPS2MouseDevice();//\n\tSyserClrCR0WP();\n\tSyserCloseInterrupt();\n\t\n\tgpSyser->ResetInputState();\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tmov al,0xc0\n// \t\tout 0x20,al\n// \t\tpop eax\n// \t}\n\n\tSyserWritePortByte(0x20,0xc0);\n\tif(gpSyserCfg->m_DisableRWPortHook==0)\n\t{\n\t\tPatchSystemREAD_PORT_UCHAR(TRUE);\n\t\tPatchSystemWRITE_PORT_UCHAR(TRUE);\n\t}\n\tGetIOAPICBase();\n\tif(gbIsUseAPIC)\n\t\t::DbgPrint(\"Syser : IOAPIC %08x[%08x] LocalAPIC %08x[%08x]\\n\",gdwIOAPICPhysAddress,gdwIOAPICLineAddress,gdwLocalAPICPhysAddress,gdwLocalAPICLineAddress);\n\tTscPerSec=0;\n\tTscPerSec=CalibrateByTimer();\n\tbIsExecuteTimerInterrupt = false;\n\tTimeSecond=0xff;\n\tTimeHour=0;\n\tTimeMinute=0;\n\t//װж\n\tgHardInt1Vector = GetHardwareInterruptVectorNum(1);\n\tif(gbIsUseAPIC==false||gHardInt1Vector!=0xff)\n\t\tInstallInterruptHandle((BYTE)gHardInt1Vector,(VADDR32)KeyboardInterruptService);\n#if SUPPORT_COM_INTERRUPT\n\tgHardInt4Vector = GetHardwareInterruptVectorNum(4);\n\tif(gbIsUseAPIC==false||gHardInt4Vector!=0xff)\n\t\tInstallInterruptHandle((BYTE)gHardInt4Vector,(VADDR32)SerialCom1Com3Proc);\n\tgHardInt3Vector = GetHardwareInterruptVectorNum(3);\n\tif(gbIsUseAPIC==false||gHardInt3Vector!=0xff)\n\t\tInstallInterruptHandle((BYTE)gHardInt3Vector,(VADDR32)SerialCom2Com4Proc);\n#endif\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\txor eax,eax\n// \t\tmov ax,cs\n// \t\tmov CurCS,ax\n// \t\tpop eax\n// \t}\n\n\tCurCS = SyserGetCurCSeg();\n\n\tInstallInterruptHandle(0x1,(VADDR32)SyserInt01Proc,SYS_SEG_GATE_DECR_TYPE_32INT_GATE,3);\n\tInstallInterruptHandle(0x3,(VADDR32)SyserInt03Proc,SYS_SEG_GATE_DECR_TYPE_32INT_GATE,3);\n\tif(gCPUNumbers>1)\n\t\tInstallInterruptHandle(0x2,(VADDR32)SyserNMIInterruptService,SYS_SEG_GATE_DECR_TYPE_32INT_GATE,3,CurCS);\n\tif(gpSyserCfg->m_DisableHookException==0)\n\t{\n\t\tInstallInterruptHandle(0x6,(VADDR32)SyserInt06Proc);\n\t\tInstallInterruptHandle(0xb,(VADDR32)SyserInt0bProc);\n\t\tInstallInterruptHandle(0xc,(VADDR32)SyserInt0cProc);\n\t\tInstallInterruptHandle(0xd,(VADDR32)SyserInt0dProc);\n\t}\n\tif(gInt0xeHook==false)\n\t{\n\t\tgInt0xeHook = InstallInterruptHandle(0xe,(VADDR32)SyserInt0eProc);\t\t\n\t\tgSyserInt0eAddress = GetCurrentCPUInterruptProcAddress(0xe);\n\t}\n\tInstallInterruptHandle(0x2d,(VADDR32)SyserInt2dProc);\n\t\n\tif(bWRITE_PORT_UCHAR_PatchOK)\n\t{\t/*\n\t\tGetCurrentWindowLEDState(KEYBOARD_SCROLL_LOCK);\n\t\tGetCurrentWindowLEDState(KEYBOARD_SCROLL_LOCK);\n\t\tGetCurrentWindowLEDState(KEYBOARD_NUM_LOCK);\n\t\tGetCurrentWindowLEDState(KEYBOARD_NUM_LOCK);\n\t\tGetCurrentWindowLEDState(KEYBOARD_CAPS_LOCK);\n\t\tGetCurrentWindowLEDState(KEYBOARD_CAPS_LOCK);\n\t\t*/\n\t}\t\n\tif(gbIsUseAPIC==false)\n\t{\n\t\t//װʱж\n\t\t//gdwTimerInterruptNum = GetHardwareInterruptVectorNum(8);\n\t\t//InstallInterruptHandle((BYTE)gdwTimerInterruptNum,(VADDR32)TimeInterrupeService);\n\t\t//װж\n\t\tif(gHasPS2Mouse)\n\t\t{\n\t\t\tgPS2MouseInterruptNum = GetHardwareInterruptVectorNum(0xC);\n\t\t\tInstallInterruptHandle((BYTE)gPS2MouseInterruptNum,(VADDR32)MouseInterruptService);\n// \t\t\t__asm \n// \t\t\t{\n// \t\t\t\tpush eax\n// \t\t\t\tin al,0x64\n// \t\t\t\ttest al,1 \n// \t\t\t\tjz local_009\n// \t\t\t\tin al,0x60\n// local_009:\n// \t\t\t\tpop eax \n// \t\t\t}\n\n\t\t\tSyserWaitMouseStatus();\n\t\t}\n\t}\n\telse\n\t{\n\t\t//װ APIC ʱж\n\t\t//InstallInterruptHandle(SYSER_APIC_TIME_INTERRUPT_VECTOR,(VADDR32)Interrupt_0xFA_Timer_Service);\n\t\t//װ APIC ļж\n\t\tInstallInterruptHandle(SYSER_APIC_KEYBOARD_INTERRUPT_VECTOR,(VADDR32)SyserInterrupt_0xF8_Keyboard_Service);\n\t\t//װ APIC ж\n\t\tif(gHasPS2Mouse)\n\t\t\tInstallInterruptHandle(SYSER_APIC_MOUSE_INTERRUPT_VECTOR,(VADDR32)SyserInterrupt_0xF9_Mouse_Service);\n#if SUPPORT_COM_INTERRUPT\n\t\tInstallInterruptHandle(SYSER_APIC_COM1_INTERRUPT_VECTOR,(VADDR32)Interrupt_0xFB_Com1_Com3_Service);\n\t\tInstallInterruptHandle(SYSER_APIC_COM2_INTERRUPT_VECTOR,(VADDR32)Interrupt_0xFC_Com2_Com4_Service);\n#endif\n\t}\n    InitBranchMointer();\n\tSyserOpenInterrupt();\n\tgbInterruptInstalled = true;\n\tSyserRestoreCR0();\n\treturn true;\n}\n\nbool UninstallAllInterrupt()\n{\n\tSyserClrCR0WP();\n\tSyserCloseInterrupt();\n\tUninstallInterruptHandle((BYTE)gHardInt1Vector);\n#if SUPPORT_COM_INTERRUPT\n\tUninstallInterruptHandle((BYTE)gHardInt3Vector);\n\tUninstallInterruptHandle((BYTE)gHardInt4Vector);\n#endif\n\tif(gHasPS2Mouse)\n\t{\n\t\tif(gbIsUseAPIC)\n\t\t\tUninstallInterruptHandle(SYSER_APIC_MOUSE_INTERRUPT_VECTOR);\n\t\telse\n\t\t{\n\t\t\tUninstallInterruptHandle((BYTE)gPS2MouseInterruptNum);\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\tpush eax\n// \t\t\t\tin al,0x64\n// \t\t\t\ttest al,1 \n// \t\t\t\tjz local_009\n// \t\t\t\tin al,0x60\n// local_009:\n// \t\t\t\tpop eax\n// \t\t\t}\n\n\t\t\tSyserWaitMouseStatus();\n\t\t}\n\t}\n\tif(gbIsUseAPIC==false)\n\t{\n\t\t//UninstallInterruptHandle((BYTE)gdwTimerInterruptNum);\n\t}\n\telse\n\t{\n\t\t//UninstallInterruptHandle(SYSER_APIC_TIME_INTERRUPT_VECTOR);\n\t\tUninstallInterruptHandle(SYSER_APIC_KEYBOARD_INTERRUPT_VECTOR);\n#if SUPPORT_COM_INTERRUPT\n\t\tUninstallInterruptHandle(SYSER_APIC_COM1_INTERRUPT_VECTOR);\n\t\tUninstallInterruptHandle(SYSER_APIC_COM2_INTERRUPT_VECTOR);\n#endif\n\t}\n\tUninstallInterruptHandle(1);\n\tUninstallInterruptHandle(3);\n\tif(gCPUNumbers>1)\n\t\tUninstallInterruptHandle(0x2);\n\tif(gpSyserCfg->m_DisableHookException==0)\n\t{\n\t\tUninstallInterruptHandle(0x6);\n\t\tUninstallInterruptHandle(0xb);\n\t\tUninstallInterruptHandle(0xc);\n\t\tUninstallInterruptHandle(0xd);\n\t}\t\n\tif(gInt0xeHook==true)\n\t{\n\t\tif(UninstallInterruptHandle(0xe))\n\t\t{\n\t\t\tgInt0xeHook=false;\n\t\t\tgSyserInt0eAddress=0;\n\t\t}\n\t}\n\tUninstallInterruptHandle(0x2d);\n\tif(gpSyserCfg->m_DisableRWPortHook==0)\n\t{\n\t\tPatchSystemWRITE_PORT_UCHAR(FALSE);\n\t\tPatchSystemREAD_PORT_UCHAR(FALSE);\n\t}\n\t\n\tSyserOpenInterrupt();\n\tgbInterruptInstalled = false;\n\tSyserRestoreCR0();\n\treturn TRUE;\n}\n\n\n// void WaitMouseInputBufferEmpte()\n// {\n// \t__asm\n// \t{\t\t\n// \t\tpush eax\n// \t\tpush ecx\n// \t\tmov ecx,2\n// local_2:\n// \t\tpush ecx\n// \t\txor ecx,ecx\n// local_1:\n// \t\tin al, 0x64\n// \t\ttest al,2\t\t\n// \t\tloopne local_1\t\t\n// \t\tpop ecx\n// \t\tjz local_3\n// \t\tloop local_2\n// local_3:\n// \t\tpop ecx\n// \t\tpop eax\t\t\n// \t}\n// }\n\n// void WaitMouseOutPutBufferFull()\n// {\n// \t__asm{\n// \t\tpush ecx\n// \t\tpush eax\n// \t\tmov ecx,0x2000\n// local_1:\t\t\n// \t\tin al,0x64\n// \t\tand al,0x21\n// \t\tcmp al,0x21\n// \t\tloopne local_1\t\t\n// \t\tpop eax\n// \t\tpop ecx\n// \t}\n// }\n// void CleanMouseOutPutBuffer()\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush ecx\n// \t\tmov ecx,0x1000\n// \t\tin al, 0x64\n// \t\ttest al, 0x21\n// \t\tjz local_1\n// \t\tin al,0x60\n// local_2:\n// \t\tloop local_2\n// local_1:\n// \t\tpop ecx\n// \t\tpop eax\n// \t}\n// }\n\nvoid WriteMouseCommandPrefix(BYTE chCmd)\n{\n\tULONG_PTR\tFlags;\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\tSyserWaitMouseInputBufferEmpte();\n\tSendCommandTo64Port(chCmd);\n\tSyserRestoreFlags(Flags);\n}\n// bool MouseCommand(BYTE chCmd)\n// {\n// \t__asm\n// \t{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t}\n// \tstKeyGlobalVariable.bMouseResponseState = FALSE;\n// \tWriteMouseCommandPrefix(0xd4);\n// \tWriteMouseCommandByte(chCmd);\n// \tif(ReadMouseByte() == 0xfa)\n// \t\tstKeyGlobalVariable.bMouseResponseState = TRUE;\n// \t__asm\n// \t{\n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \treturn stKeyGlobalVariable.bMouseResponseState;\n// }\n// bool IsMouseOutPutBufferFull()\n// {\n// \tbool bRet = 0;\n// \t__asm{\n// \t\tin al,0x64\n// \t\ttest al,0x21\n// \t\tcmp al,0x21\n// \t\tjnz local_1\n// \t\tmov bRet,1\t\t\n// local_1:\n// \t}\t\n// \treturn bRet;\n// }\n\n// void WriteMouseCommandByte(BYTE chCmd)\n// {\n// \tif(IsMouseOutPutBufferFull())\n// \t\tSyserCleanMouseOutPutBuffer();\n// \t__asm{\n// \t\tmov al,chCmd\n// \t\tout 0x60,al\n// \t}\n// }\n// void SaveEflag()\n// {\n// \t__asm{\n// \t\tpushfd\n// \t\tpop eax\n// \t\tmov dwEflag,eax\n// \t}\n// }\n// void StoreEflag()\n// {\n// \t__asm{\n// \t\tpush dwEflag\n// \t\tpopfd\n// \t}\n// }\n// BYTE ReadMouseByte()\n// {\n// \tBYTE byteRet;\n// \tSyserWaitMouseOutPutBufferFull();\n// \t__asm{\n// \t\tpush eax\n// \t\tin al,0x60\n// \t\tmov byteRet ,al\n// \t\tpop eax\n// \t}\n// \treturn byteRet;\n// }\n\n//0x0e,0x24,0x08,0x1f,0x1b,0x08,0x24,0x10,0x08,0x28,0x07,0x28,0x2b,0xfc,0x28,0x28,0xf2,0x28,0x26,0xe9,0x28,0x1e,0xe2,0x28\nDWORD CalcPackageBeginOffset()\n{\n\tint i, k , j;\n\n\tfor (i = 0; i < 4; i++)\n\t{\n\t\tif(MouseBeginBuffer[i] & 8)\n\t\t{\n\t\t\t\n\t\t\tk = 0;\n\t\t\tfor(j = i + 3; j < MOUSE_BEGINDATA_MAX; j+=3)\n\t\t\t{\n\t\t\t\tif(MouseBeginBuffer[j] & 0x8)\n\t\t\t\t\tk++;\n\t\t\t\telse\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tif(k == 7)\n\t\t\t{\n\t\t\t\tdwMousePrePackageSize = 3;\n\t\t\t\tbreak;\t\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tk = 0;\n\t\t\tfor(j = i + 4; j < MOUSE_BEGINDATA_MAX; j+=4)\n\t\t\t{\n\t\t\t\tif(MouseBeginBuffer[j] & 0x8)\n\t\t\t\t\tk++;\t\t\t\t\t\n\t\t\t\telse\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(k == 5)\n\t\t\t{\n\t\t\t\tdwMousePrePackageSize = 4;\t\t\t\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse\n\t\t\t\tdwMousePrePackageSize = 0xff;\n\t\t}\n\t}\n\tif(i)\n\t{\n\t\tdwMousePackageBeginOffset = dwMousePrePackageSize - i;\n\t}\n\telse\n\t\tdwMousePackageBeginOffset = i;\n\n\treturn dwMousePackageBeginOffset;\n}\n\nDWORD dwWrite60Counter1 = 0;\nUCHAR   NEW_READ_PORT_UCHAR( IN DWORD Port )\n{\n\tUCHAR uRet;\n// \t__asm\n// \t{\n// \t\tmov edx,Port\n// \t\tin al,dx \n// \t\tmov uRet,al\n// \t}\n\n\tuRet = SyserReadPortByte(Port);\n\n\tif(Port == 0x60) \n\t{\n\t\tif(!bIsMouseData)//Ƕ̵\n\t\t{\n\t\t\tif(dwCurrentWindowsKeyLen != 0)\n\t\t\t{\n\t\t\t\tuRet = chWindowsKeyArray[dwCurrentReadIndex];\n\t\t\t\tdwCurrentReadIndex++;\n\t\t\t\tdwCurrentReadIndex &= 0xf;\n// \t\t\t\t__asm{\n// \t\t\t\t\tlock dec dwCurrentWindowsKeyLen\n// \t\t\t\t}\n\n\t\t\t\tInterlockedDecrement((PLONG)&dwCurrentWindowsKeyLen);\n\t\t\t}\n\t\t}\n\t\telse   //\n\t\t{\n\t\t\tbIsMouseData = FALSE;//Ѿ\t\n\t\t\t//OUTPUT(WSTR(\"%<b>%02x \"),uRet);\n\t\t\t//dwWrite60Counter1++;\n\t\t\t//if((dwWrite60Counter1%30)==0)\n\t\t\t//\tOUTPUT(WSTR(\"\\n\"));\n\t\t}\n\t}\n\telse\n\t{\n\t\tif( Port == 0x64)\n\t\t{\n\t\t\tif(!bIsMouseData)//ǷΪ״̬\n\t\t\t{\n\t\t\t\t\n\t\t\t\tif(dwCurrentWindowsKeyLen == 0 || (uRet & 0x31)==0x31)\n\t\t\t\t\treturn (UCHAR)uRet;\n\t\t\t\tuRet &= 0x1e;\n\t\t\t\tuRet |= 1;\n\t\t\t\treturn (UCHAR)uRet;\n\t\t\t}\t\t\t\n\t\t}\t\t\n\t}\n\t/*\n\tif(Port >= (PUCHAR)0x3f8 && Port <= (PUCHAR)0x3ff)\n\t{\n\t\tOUTPUT(WSTR(\"Read %04x %02x\"),Port,uRet);\n\t}*/\n\treturn (UCHAR)uRet;\t\n}\n\n\nvoid InsertKeyboardBuffer(BYTE chScanCode)\n{\n\tif(dwCurrentWindowsKeyLen < MAX_WINDOWSKEYBUFFER_LENGTH)\n\t{\t\t\n\t\tchWindowsKeyArray[dwCurrentWriteIndex] = chScanCode;\n\t\tdwCurrentWriteIndex++;\n\t\tdwCurrentWriteIndex &= 0xf;\n\n\t\t//__asm lock inc dwCurrentWindowsKeyLen\n\t\tInterlockedIncrement((PLONG)&dwCurrentWindowsKeyLen);\n\t}\n}\n\n\n\n\n\n\n/*\ntypedef struct stSofticeIdFind\n{\n\tDWORD dwIntNum1;\n\tDWORD dwIntNum1JmpOffset;\t\t\t\t\t//softice ʱ\tpush OldWindowsHandleAddress\n\t\t\t\t\t\t\t\t\t\t\t//\t\t\t\t\t\tjmp SofticeHandleAddress\n\t\t\t\t\t\t\t\t\t\t\t// \tjmp ָ E98631f7ff  DWORD  fff73186\n\tDWORD dwIntNum2;\n\tDWORD dwIntNum2JmpOffset;\t\t\t\t\t//ͬ\n\tDWORD dwIntNum3;\n\tDWORD dwIntNum3JmpOffset;\t\t\t\t\t//ͬ\t\n\tDWORD dwIntNum1BaseOffset;\t\t\t\t\t// dword  softice ж 1 Ĵĵַ softice ַƫ\n\tDWORD dwActiveFunctionBaseOffset;\t\t//softice ڲļ softice ַƫ\n\tDWORD dwActiveFlagsBaseOffset;\t\t\t//softice ڲļ byte  softice ַƫ\n}SOFTICEFINDDATA;\n*/\nSOFTICEFINDDATA stSofticeCode[]=\n{\n\t{0xc,0xfff238ce,0xd,0xfff23923,0xe,0xfff23d12,0xdefb5,0x0421a,0xdd621},//3.2\t\n\t{0xb,0xfff2f9b4,0xc,0xfff2fb13,0xd,0xfff2fb68,0xd2ef5,0x0440e,0xd161a},//3.1\n\t{1,0xfff3b5ef,2,0xfff3c1a9,3,0xfff3b981,0xc7f69,0x04fd3,0xc661a},//3.0\n\t{1,0xfff73186,2,0xfff73d1a,3,0xfff73518,0xaf729,0x2360f,0xadcc2},//2.7\t\n\t{1,0xfff77159,2,0xfff77c81,3,0xfff774eb,0xa9b5d,0x2260b,0xa7182},//2.6\n\t{1,0xfff787e9,2,0xfff79311,3,0xfff78b7b,0xa84bd,0x225fb,0xa5e62},//2.5\n\t{1,0xfff819b7,2,0xfff824b6,3,0xfff81d20,0x9d58b,0x20804,0x9bf42},//2.0\n\t{1,0xfff8c54a,2,0xfff8cfd4,3,0xfff8c898,0x8d04b,0x1ae5e,0x8ba1d},//4.05 жϵƫƣActiveSoftice,bActiveSoftice\n};\n/*\nDWORD stSofticeCode[][6]={\n\t{0xfff8c54a,0xfff8cfd4,0xfff8c898,0x8d04b,0x1ae5e,0x8ba1d},//4.05 жϵƫƣActiveSoftice,bActiveSoftice\n\t{0xfff819b7,0xfff824b6,0xfff81d20,0x9d58b,0x20804,0x9bf42},//2.0\n\t{0xfff787e9,0xfff79311,0xfff78b7b,0xa84bd,0x225fb,0xa5e62},//2.5\n\t{0xfff77159,0xfff77c81,0xfff774eb,0xa9b5d,0x2260b,0xa7182},//2.6\n\t{0xfff73186,0xfff73d1a,0xfff73518,0xaf729,0x242a9,0xadcc2},//2.7\t\n\t{0xfff3b5ef,0xfff3c1a9,0xfff3b981,0xc7f69,0x04fd3,0xc661a},//3.0\n};\n*/\n\nDWORD CheckSofticeExist()//õ Softice ļصĻַ\n{\n\tDWORD dwIdtRegister;\n\tDWORD dwInterruptAddress;\n\tDWORD *dwTmpAddress;\n\tST_DESC* stIDTBaseAddr;\n\tDWORD i,dwNumber;\t\n\n\tdwSofticeDriverBase = 0;\t\t\t\t\n\tpSofticeActivePointer = NULL;\n\tdwIdtRegister = SyserGetIDTBase();\n\tstIDTBaseAddr = (ST_DESC*)dwIdtRegister;\t\t\n\tdwNumber = sizeof(stSofticeCode) / sizeof(stSofticeCode[0]);\n\ti = 0;\n\t__try\n\t{\n\t\tfor (i = 0; i < dwNumber; i++)\n\t\t{\t\t\t\t\t\n\t\t\t/*\n\t\t\tdwInterruptAddress = stIDTBaseAddr[stSofticeCode[i].dwIntNum2].wBaseAddrHigh;\n\t\t\tdwInterruptAddress <<=16;\n\t\t\tdwInterruptAddress |= stIDTBaseAddr[stSofticeCode[i].dwIntNum2].wBaseAddrLow;\n\t\t\tif(*(char *)dwInterruptAddress != 0x68)\n\t\t\tcontinue;\n\t\t\tif(*(unsigned char *)(dwInterruptAddress+5) != 0xe9)// softice ûаװƳ\n\t\t\tcontinue;\n\t\t\tdwTmpAddress = (DWORD *)(6+dwInterruptAddress);\n\t\t\tif(stSofticeCode[i].dwIntNum2JmpOffset!=*dwTmpAddress)\n\t\t\tcontinue;\n\t\t\t*/\n\t\t\tdwInterruptAddress = stIDTBaseAddr[stSofticeCode[i].dwIntNum3].wBaseAddrHigh;\n\t\t\tdwInterruptAddress <<=16;\n\t\t\tdwInterruptAddress |= stIDTBaseAddr[stSofticeCode[i].dwIntNum3].wBaseAddrLow;\n\t\t\tif(*(char *)dwInterruptAddress != 0x68)\n\t\t\t\tcontinue;\n\t\t\tif(*(unsigned char *)(dwInterruptAddress+5) != 0xe9)// softice ûаװƳ\n\t\t\t\tcontinue;\n\t\t\tdwTmpAddress = (DWORD *)(6+dwInterruptAddress);\n\t\t\tif(stSofticeCode[i].dwIntNum3JmpOffset!=*dwTmpAddress)\n\t\t\t\tcontinue;\t\t\n\t\t\tdwInterruptAddress = stIDTBaseAddr[stSofticeCode[i].dwIntNum1].wBaseAddrHigh;\n\t\t\tdwInterruptAddress <<=16;\n\t\t\tdwInterruptAddress |= stIDTBaseAddr[stSofticeCode[i].dwIntNum1].wBaseAddrLow;\n\t\t\tif(*(char *)dwInterruptAddress != 0x68)\n\t\t\t\tcontinue;\t\t\n\t\t\tif(*(unsigned char *)(dwInterruptAddress+5) != 0xe9)// softice ûаװƳ\n\t\t\t\tcontinue;\t\t\n\t\t\tdwTmpAddress = (DWORD *)(6+ dwInterruptAddress);\n\t\t\tif(stSofticeCode[i].dwIntNum1JmpOffset!=*dwTmpAddress)\n\t\t\t\tcontinue;\t\t\n\t\t\tdwSofticeDriverBase = dwInterruptAddress - stSofticeCode[i].dwIntNum1BaseOffset;\n\t\t\tpSofticeActivePointer = (void (*)(void))(dwSofticeDriverBase + stSofticeCode[i].dwActiveFunctionBaseOffset);\n\t\t\tSoftIceActive = (BYTE *)(stSofticeCode[i].dwActiveFlagsBaseOffset + dwSofticeDriverBase);\t\t\n\t\t\tbreak;\t\t\n\t\t}\n\t}\n\t__except(1)\n\t{\n\n\t}\t\n\treturn 1;\n}\nvoid SetKeyboardLEDState(DWORD bNumLock,DWORD bScrollLock,DWORD bCapsLock)\n{\n\tULONG_PTR\tFlags;\n\tBYTE bLEDState = 0;\n\tBYTE bRet = 0;\n\tif(bNumLock)\n\t\tbLEDState |= 2;\n\tif(bScrollLock)\n\t\tbLEDState |= 1;\n\tif(bCapsLock)\n\t\tbLEDState |= 4;\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\tSetKeyboardPortState(FALSE);\n\tSendCommandTo60Port(0xed);\n\tSyserWaitKeyboardOutPutBufferFull();\t\n\tSyserGetPortState();\n\tSendCommandTo60Port(bLEDState);\n\tSyserGetPortState();\n\tSetKeyboardPortState(TRUE);\n\tSyserRestoreFlags(Flags);\n}\nvoid SetKeyboardPortState(bool bState)\n{\n\tBYTE byteCmd;\n\tbyteCmd = bState ? 0xae : 0xad;\n\tSendCommandTo64Port(byteCmd);\n}\n\n// void SendCommandTo64Port(BYTE byteCmd)//˿ 64 \n// {\t\n// \tWaitKeyboardInputBufferEmpte();\n// \t__asm{\n// \t\tpush eax\n// \t\tmov al,byteCmd\n// \t\tout 0x64,al \n// \t\tpush ecx\n// \t\tmov ecx,0x1000\n// delay:\n// \t\tjmp local_next\n// local_next:\t\t\n// \t\tloop delay\n// \t\tpop ecx\n// \t\tpop eax\n// \t}\t\n// }\n// \n// \n// void SendCommandTo60Port(BYTE byteCmd)//˿ 60 \n// {\t\n// \tWaitKeyboardInputBufferEmpte();\n// \t__asm{\n// \t\tpush eax\n// \t\tmov al,byteCmd\n// \t\tout 0x60,al \n// \t\tpush ecx\n// delay:\n// \t\tjmp local_next\n// local_next:\t\t\n// \t\tloop delay\n// \t\tpop ecx\n// \t\tpop eax\n// \t}\t\t\n// }\n\n// void GetPortState()//ڸ̷Ժúȡ̵ķֵ\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush ecx\n// \t\tmov ecx,1000\t\t\n// local_3:\t\t\n// \t\tin al,0x64\n// \t\tpush ecx\n// \t\tmov ecx,8\n// local_2:\t\n// \t\tjmp local_1\n// local_1:\n// \t\tloop local_2\n// \t\tpop ecx\n// \t\ttest al,1\n// \t\tloope local_3\n// \t\tjz local_4\n// \t\tin al,0x60\n// \t\tcmp al,0xfa\n// \t\tjnz local_3\n// local_4:\n// \t\tpop ecx\n// \t\tpop eax\n// \t}\n// }\nbool GetCurrentWindowLEDState(DWORD dwKeyIndex)\n{\t\n\tswitch(dwKeyIndex) {\n\tcase KEYBOARD_CAPS_LOCK:\t\t\n\t\tSyserSimulateWindowsKeyboardInput(0x3a);//Caps Lock 3a\n\t\tdwKeyLedFlags = KEYBOARD_CAPS_LOCK | 0x80000000;\n\t\tSyserSimulateWindowsKeyboardInput(0x3a | 0x80);//Caps Lock 3a\t\t\n\t\treturn bKeyCapsLockStat;\t\t\t\t\n\tcase KEYBOARD_NUM_LOCK:\t\t\n\t\tSyserSimulateWindowsKeyboardInput(0x45);//Caps Lock 45\n\t\tdwKeyLedFlags = KEYBOARD_NUM_LOCK | 0x80000000;\n\t\tSyserSimulateWindowsKeyboardInput(0x45 | 0x80);//Caps Lock 45\t\t\n\t\treturn bKeyNumLockStat;\t\t\t\t\n\tcase KEYBOARD_SCROLL_LOCK:\t\t\n\t\tSyserSimulateWindowsKeyboardInput(0x46);//Caps Lock 46\n\t\tdwKeyLedFlags = KEYBOARD_SCROLL_LOCK | 0x80000000;\n\t\tSyserSimulateWindowsKeyboardInput(0x46 | 0x80);//Caps Lock 46\t\t\n\t\treturn bKeyScrollLockStat;\t\t\n\tdefault:\n\t\treturn FALSE;\n\t}\t\n}\n// void SimulateWindowsKeyboardInput(BYTE byteScanCode)\n// {\n// \tULONG_PTR\tFlags;\n// \tInsertKeyboardBuffer(byteScanCode);\n// \tSyserSaveFlags(&Flags);\n// \t__asm{\n// \t\tcli\n// \t\tpushfd\t\t\n// \t\tpush cs\n// \t\tpush offset local_7\n// \t\tjmp dword ptr cs:stKeyGlobalVariable.dwOldKeyboardInterrupt\n// local_7:\n// \t}\n// \tSyserRestoreFlags(Flags);\n// }\nDWORD dwPortCounter = 0;\nDWORD dwEDPortCounter = 0;\nDWORD dwWrite60Counter = 0;\nvoid NEW_WRITE_PORT_UCHAR(IN PUCHAR  Port, IN UCHAR  Value)\n{\n\tDWORD dwPort;\n\t\n\tdwPort = (DWORD)Port;\n\tif(Port == (PUCHAR)0x60)\n\t{\t\t\n\t\tif(Value == (UCHAR)0xed)//Զ˿ 0x60 дֵ 0xed ǲLED Ƶ֡ 0x60дǲ LED\n\t\t{\n\t\t\tdwEDPortCounter++;\n\t\t\tbKeyLedCmd = TRUE;\n\t\t}\n\t\telse\n\t\t{\t\t\t\n\t\t\tif(bKeyLedCmd)\n\t\t\t{\t\t\t\t\t\t\n\t\t\t\tdwPortCounter++;\n\t\t\t\tbKeyLedCmd = FALSE;\n\t\t\t\tswitch(dwPortCounter)\n\t\t\t\t{\n\t\t\t\tcase 1:\n\t\t\t\tcase 2:\n\t\t\t\t\t{\n\t\t\t\t\t\tif(bKeyScrollLockStatInitOK == FALSE)\n\t\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\t\tbKeyScrollLockStat = (Value & 1)?FALSE:TRUE;\n\t\t\t\t\t\t\tbKeyScrollLockStatInitOK = TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\tcase 3:\n\t\t\t\tcase 4:\n\t\t\t\t\t{\n\t\t\t\t\t\tif(bKeyNumLockStatInitOK == FALSE)\n\t\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\t\tbKeyNumLockStat = (Value & 2)?FALSE:TRUE;\n\t\t\t\t\t\t\tbKeyNumLockStatInitOK = TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\tcase 5:\n\t\t\t\tcase 6:\n\t\t\t\t\t{\n\t\t\t\t\t\tif(bKeyCapsLockStatInitOK == FALSE)\n\t\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\t\tbKeyCapsLockStat = (Value & 4)?FALSE:TRUE;\n\t\t\t\t\t\t\tbKeyCapsLockStatInitOK = TRUE;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\tdefault:\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t\t\n\t\t}\t\t\t\t\n// \t\t__asm{\n// \t\t\tmov edx,dwPort\n// \t\t\tmov al,Value\n// \t\t\tout dx,al\n// \t\t}\n\n\t\tSyserWritePortByte(dwPort,Value);\n\t}\t\n\telse\n\t{\n// \t\t__asm{\n// \t\t\t\tmov edx,dwPort\n// \t\t\t\tmov al,Value\n// \t\t\t\tout dx,al\n// \t\t\t}\n\n\t\tSyserWritePortByte(dwPort,Value);\n\t}\n}\n\nvoid PatchSystemWRITE_PORT_UCHAR(bool bIsPatch)\n{\n\tBYTE* dwSystemWRITE_PORT_UCHAR;\n\n\tDWORD dwPatchNEW_WRITE_PORT_UCHAR,i;\n\t\n\tdwSystemWRITE_PORT_UCHAR = (BYTE*)WRITE_PORT_UCHAR;\n\n\tif(bIsPatch && bWRITE_PORT_UCHAR_PatchOK == FALSE)\n\t{\n\t\tdwPatchNEW_WRITE_PORT_UCHAR = (DWORD)NEW_WRITE_PORT_UCHAR;\n\t\tfor(i = 0; i < 5; i++)\n\t\t{\n\t\t\tbyteOrgWRITE_PORT_UCHARInstruction[i] = dwSystemWRITE_PORT_UCHAR[i];\n\t\t}\n\t\tdwSystemWRITE_PORT_UCHAR[0] = 0xe9;\n\t\t*(DWORD*)(&dwSystemWRITE_PORT_UCHAR[1]) = dwPatchNEW_WRITE_PORT_UCHAR -(5 + (DWORD)WRITE_PORT_UCHAR);\n\t\tbWRITE_PORT_UCHAR_PatchOK = TRUE;\n\t}\n\telse\n\t{\n\t\tif(bWRITE_PORT_UCHAR_PatchOK)\n\t\t{\n\t\t\tfor(i = 0; i < 5; i++)\n\t\t\t{\n\t\t\t\tdwSystemWRITE_PORT_UCHAR[i] = byteOrgWRITE_PORT_UCHARInstruction[i];\n\t\t\t}\n\t\t\tbWRITE_PORT_UCHAR_PatchOK = FALSE;\n\t\t}\n\t}\n}\nvoid PatchSystemREAD_PORT_UCHAR(bool bIsPatch)\n{\n\tBYTE* dwSystemREAD_PORT_UCHAR;\n\n\tDWORD dwPatchNEW_READ_PORT_UCHAR,i;\n\tULONG_PTR\tFlags;\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\tdwSystemREAD_PORT_UCHAR = (BYTE*)READ_PORT_UCHAR;\n\n\tif(bIsPatch && bREAD_PORT_UCHAR_PatchOK == FALSE)\n\t{\n\t\tdwPatchNEW_READ_PORT_UCHAR = (DWORD)NEW_READ_PORT_UCHAR;\n\t\tfor(i = 0; i < 5; i++)\n\t\t{\n\t\t\tbyteOrgREAD_PORT_UCHARInstruction[i] = dwSystemREAD_PORT_UCHAR[i];\n\t\t}\n\t\tdwSystemREAD_PORT_UCHAR[0] = 0xe9;\n\t\t*(DWORD*)(&dwSystemREAD_PORT_UCHAR[1]) = dwPatchNEW_READ_PORT_UCHAR -(5 + (DWORD)READ_PORT_UCHAR);\n\t\tbREAD_PORT_UCHAR_PatchOK = TRUE;\n\t}\n\telse\n\t{\n\t\tif(bREAD_PORT_UCHAR_PatchOK)\n\t\t{\n\t\t\tfor(i = 0; i < 5; i++)\n\t\t\t{\n\t\t\t\tdwSystemREAD_PORT_UCHAR[i] = byteOrgREAD_PORT_UCHARInstruction[i];\n\t\t\t}\n\t\t\tbREAD_PORT_UCHAR_PatchOK = FALSE;\n\t\t}\n\t}\n\tSyserRestoreFlags(Flags);\n}\n\n// __declspec (naked) void SyncMouseInterrupt()\n// {\n// \t__asm\n// \t{\t\t\n// \t\tpush eax\n// \t\tpush ecx\n// \t\tpush ds\n// \t\tmov ax,0x10\n// \t\tmov ds,ax\n// \t\tmov ecx,0x88000\t\t\t//㹻ʱȴжϵķҪȴ 3 ж\n// \t\tmov eax,dwMousePackageBeginOffset\n// \t\tcmp eax,stKeyGlobalVariable.dwMouseDataIndex\n// \t\t\n// \t\tjz local_ex\n// \t\tmov dwWaitMouseInterrupt,1\n// \t\tsti\n// local_1:\n// \t\tcmp eax, stKeyGlobalVariable.dwMouseDataIndex\n// \t\tloopne local_1\n// \t\tcli\n// local_ex:\n// \t\tmov gbActive,FALSE\n// \t\tpop ds\n// \t\tpop ecx\n// \t\tpop eax\n// \t\tret\n// \t}\n// }\n\n\n// bool CheckPS2Keyboard()\n// {\n// \tbool  ReadMouseRet;\n// \tBYTE Value;\n// \tint i=0;\n// \tBYTE PS2KeyboardID[2];\n// \t__asm\n// \t{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t}\n// \tif(SendCommandTo60Port(0xF2)==false)\n// \t\tgoto local_quit;\n// \tif(ReadPort60(&Value,false)==false)\n// \t\tgoto local_quit;\n// \tif(Value!=0xfa)\n// \t\tgoto local_quit;\n// \ti = 0;\n// \twhile(ReadMouseRet = ReadPort60(&Value,false))\n// \t{\n// \t\tif(i<2)\n// \t\t\tPS2KeyboardID[i]=Value;\n// \t\ti++;\n// \t}\n// local_quit:\n// \t__asm\n// \t{\n// \t\tpopfd \n// \t\tpopad \n// \t}\n// \treturn i>=2;\n// }\n\nbool SendCommandTo60Port(BYTE byteCmd)//˿ 60 \n{\t\n\tbool bRet=false;\n\tif(SyserWaitI8042InputBufferEmpty())\n\t{\n// \t\t__asm{\n// \t\t\tpush eax\n// \t\t\tmov al,byteCmd\n// \t\t\tout 0x60,al \n// \t\t\tpop eax\n// \t\t}\n\n\t\tSyserWritePortByte(0x60,byteCmd);\n\t\tbRet = SyserWaitI8042InputBufferEmpty();\n\t}\n\treturn bRet;\n}\n\nbool SendMouseCommand(BYTE CommandByte)\n{\n\tbool bRet=false;\n\tBYTE Value;\n\tint i;\n\tX86SaveRegs\tRegs;\n\tWORD\tFlags;\n\tSyserSaveFlagsLow16(&Flags);\n\tSyserPushad(&Regs);\n\tSyserCli();\n// \t__asm\n// \t{\n// \t\tpushf\n// \t\tpushad\n// \t\tcli\n// \t}\n\tfor(i = 0; i < 20;i++)\n\t{\n\t\tif(SendCommandTo64Port(0xd4))\n\t\t{\n\t\t\tif(SyserClearI8042OutputBuffer())\n\t\t\t{\n\t\t\t\tbRet = SendCommandTo60Port(CommandByte);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif(bRet)\n\t{\n\t\tif(SyserReadPort60(&Value,true))\n\t\t{\n\t\t\tif(Value==0xfa)\n\t\t\t\tbRet=true;\n\t\t}\n\t}\n\n// \t__asm{\n// \t\tpopad\n// \t\tpopf\n// \t}\n\n\tSyserPopad(&Regs);\n\tSyserRestoreFlagsLow16(Flags);\n\treturn bRet;\n}\n\n// bool ReadPort60(BYTE* ReturnValue,bool IsMouse)\n// {\n// \tbool bRet=false;\n// \tBYTE Value;\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tpush ecx\n// \t\tpush ebx\n// \t\tmov bl,1 \n// \t\tcmp IsMouse,0\n// \t\tjz local_005\n// \t\tor bl,0x20\n// local_005:\n// \t\tmov ecx,0x800000\n// local_001:\t\t\n// \t\tin al,0x64\n// \t\tand al,bl\n// \t\tcmp al,bl\n// \t\tjz local_002\n// \t\tloop local_001\n// \t\tjmp local_quit\n// local_002:\n// \t\tmov bRet,1\n// \t\tin al,0x60 \n// \t\tmov Value,al\n// local_quit:\t\t\n// \t\tpop ebx\n// \t\tpop ecx\n// \t\tpop eax\n// \t}\n// \t*ReturnValue=Value;\n// \treturn bRet;\n// }\n\n// bool WaitI8042InputBufferEmpty()\n// {\n// \tbool bRet=false;\n// \t__asm\n// \t{\n// \t\tpush ecx\n// \t\tpush eax\n// \t\tmov ecx,0x800000\n// local_000:\t\t\n// \t\tin al,0x64\n// \t\ttest al,2\n// \t\tjz local_001\n// \t\tloop local_000\n// \t\tjmp local_quit\n// local_001:\n// \t\tpush ecx \n// \t\tmov ecx,100\n// local_005:\n// \t\tjmp local_004\n// local_004:\n// \t\tloop local_005\n// \t\tpop ecx\n// local_003:\n// \t\tin al,0x64\n// \t\ttest al,2 \n// \t\tjz local_002\n// \t\tloop local_003\n// \t\tjmp local_quit\n// local_002:\n// \t\tmov bRet,1\n// local_quit:\n// \t\tpop eax\n// \t\tpop ecx\n// \t}\n// \treturn bRet;\n// }\n\nbool SendCommandTo64Port(BYTE byteCmd)//˿ 64 \n{\t\n\tbool bRet=false;\n\tif(SyserWaitI8042InputBufferEmpty())\n\t{\n// \t\t__asm{\n// \t\t\tpush eax\n// \t\t\tmov al,byteCmd\n// \t\t\tout 0x64,al \n// \t\t\tpop eax\n// \t\t}\n\n\t\tSyserWritePortByte(0x64,byteCmd);\n\t\tbRet = SyserWaitI8042InputBufferEmpty();\n\t}\n\treturn bRet;\n}\n\n// bool ClearI8042OutputBuffer()\n// {\n// \tbool bRet=false;\n// \t__asm\n// \t{\n// \t\tpush ecx\n// \t\tpush eax\n// \t\txor ecx,ecx\n// local_000:\t\t\n// \t\tin al,0x64\n// \t\ttest al,0x1\n// \t\tjz local_007\n// \t\tin al,0x60\n// \t\tmov eax,0x20\n// local_001:\n// \t\tjmp local_002\n// local_002:\n// \t\tdec eax\n// \t\tjnz local_001\n// \t\tloop local_000\n// \t\tjmp local_quit\n// local_007:\n// \t\tmov bRet,1\n// local_quit:\n// \t\tpop eax\n// \t\tpop ecx\n// \t}\n// \treturn bRet;\n// }\n\n\n"
  },
  {
    "path": "Project/Syser/Source/InputDriver.h",
    "content": "#ifndef _INPUT_DRIVER_H_\n#define _INPUT_DRIVER_H_\n\n#define KEYBUFFERMAXLENGTH\t\t\t\t\t0x200\n#define FUNCKEYPRESS\t\t\t\t\t\t1  //ܼʱ  dwFuncKeyState ֵ\n#define FUNCKEYRELEASE\t\t\t\t\t\t0 //ܼͷʱ  dwFuncKeyState ֵ\n#define MOUSE_DATA_MAX\t\t\t\t\t\t0x100\n#define MOUSE_BEGINDATA_MAX\t\t\t\t\t24\n#define MOUSE_INTERRUPT_LEFT_PRESS\t\t\t0x1\n#define MOUSE_INTERRUPT_RIGHT_PRESS\t\t\t0x2\n#define MOUSE_INTERRUPT_MIDDLE_PRESS\t\t0x4\n#define MAX_WINDOWSKEYBUFFER_LENGTH\t\t\t0x10\n#define DISABLE_IOAPIC_HARDWARE_INTERRUPT\t1\n#define DEBUGKEYBORADEXIT\t\t\t\t\t0\n\n\n#define KEYBOARD_CAPS_LOCK\t\t\t\t\t4\n#define KEYBOARD_NUM_LOCK\t\t\t\t\t2\n#define KEYBOARD_SCROLL_LOCK\t\t\t\t1\n\n#include <windows.h>\n\nDWORD GetHardwareInterruptVectorNum(DWORD dwNum);\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern bool gbInterruptInstalled;\nextern DWORD UHCI_Number;// UHCI USB HOST CONTROL NUMBER\nextern DWORD UHCIFrameBaseRegister[10];\nextern bool bWRITE_PORT_UCHAR_PatchOK;\nextern bool bREAD_PORT_UCHAR_PatchOK;\nextern BYTE byteOrgWRITE_PORT_UCHARInstruction[];\nextern BYTE byteOrgREAD_PORT_UCHARInstruction[];\nextern DWORD dwKeyLedFlags;\nextern DWORD dwWaitMouseCounter;\nextern DWORD dwPhysical_0_LinesAddress;\nextern DWORD OwnerPageDirItemAddress;\nextern DWORD OwnerPageTabItemAddress;\nextern bool bEscKeyStat;\nextern bool bKeyLedCmd;\nextern bool bKeyScrollLockStat;\nextern bool bKeyNumLockStat;\nextern bool bKeyCapsLockStat;\nextern bool bKeyScrollLockStatInitOK;\nextern bool bKeyNumLockStatInitOK;\nextern bool bKeyCapsLockStatInitOK;\nextern bool gbChangeDrmState;\nextern bool gbKeyActiveMethod;\nextern __int64 TscPerSec;\n\nextern bool gTouchPad;\nextern BYTE gTouchPadMode;\n\nextern bool bKeytoSoftice;\nextern bool bInt1HereStat;\nextern bool bInt3HereStat;\n\ntypedef struct stSofticeIdFind\n{\n\tDWORD dwIntNum1;\n\tDWORD dwIntNum1JmpOffset;\t\t\t\t\t//softice ʱ\tpush OldWindowsHandleAddress\n\t\t\t\t\t\t\t\t\t\t\t\t//\t\t\t\t\t\tjmp SofticeHandleAddress\n\t\t\t\t\t\t\t\t\t\t\t\t// \tjmp ָ E98631f7ff  DWORD  fff73186\n\tDWORD dwIntNum2;\n\tDWORD dwIntNum2JmpOffset;\t\t\t\t\t//ͬ\n\tDWORD dwIntNum3;\n\tDWORD dwIntNum3JmpOffset;\t\t\t\t\t//ͬ\t\n\tDWORD dwIntNum1BaseOffset;\t\t\t\t\t// dword  softice ж 1 Ĵĵַ softice ַƫ\n\tDWORD dwActiveFunctionBaseOffset;\t\t\t//softice ڲļ softice ַƫ\n\tDWORD dwActiveFlagsBaseOffset;\t\t\t\t//softice ڲļ byte  softice ַƫ\n}SOFTICEFINDDATA;\n\n\ntypedef struct _st_desc\n{\n\tWORD wBaseAddrLow;\n\tWORD wSegmentSec;\n\tWORD wAttribture;\n\tWORD wBaseAddrHigh;\n}ST_DESC;\n\n\n//\n//\tҪcommon-x86.incеĶͬ\n//\n\ntypedef struct _KeyInterruptVariable{\n\tbool IsActive;\t\t\t\t\t\t\t\t//0  ûнģʽ //1  ˲ģʽ\n\tbool IsInsideActive;\t\t\t\t\t\t//Ƽжϵѭ\n\tDWORD dwFuncKeyState;\t\t\t\t\t\t//ܼ״̬0ܼûб£1ܼ\n\tDWORD dwOldKeyboardInterrupt;\t\t\t\t//ԭʼļжϵڵַ\n\tUINT nCurrentKeyBufferIndex;\t\t\t\t//̻ĵǰ\n\tST_DESC *timer;\t\t\t\t\t\t\t\t//̵ָ\n\tDWORD dwOldTimerInterrupt;\n\tST_DESC *keyboard;\t\t\t\t\t\t\t//̵ָ\n\tST_DESC *mouse;\t\t\t\t\t\t\t\t//ָ\n\tWORD wSystemDataSegment;\t\t\t\t\t//Windows ϵͳ 㻷ݶεѡ\n\tWORD wDSRegister;\t\t\t\t\t\t\t// DS ԭʼֵ\n\tBYTE chFuncKeyScanCode;\t\t\t\t\t\t//ȼɨ    Ctrl ɨ\n\tBYTE chSecondKeyScanCode;\t\t\t\t\t//ȼɨ    a ɨ\t\t\t\t\t\t\t\t\n\tBYTE IsSaveInterruptInformation;\t\t\t//˿ 21  A1 ֵǷ񱣴ˣΪ 1\n\tBYTE Interrupt8259Shield_1;\t\t\t\t\t//˿ 21 ֵ\n\tBYTE Interrupt8259Shield_2;\t\t\t\t\t//˿ A1 ֵ\n\tBYTE chAltKeyState;\t\t\t\t\t\t\t//ALT ״̬\n\tBYTE chAltKeyScanCode;\t\t\t\t\t\t// ALT ɨ\n\tBYTE chCurrentScanCode;\t\t\t\t\t\t//ǰİ ɨ\n\tDWORD dwIOAPICLineAddress;\n\tDWORD dwIOAPICPhysAddress;\n\tDWORD dwLocalAPICPhysAddress;\n\tDWORD dwLocalAPICLineAddress;\n\tbool bIsUseAPIC;\n\tDWORD dwOldMouseInterrupt;\t  \n\tbool bMouseResponseState;\n\tDWORD dwMouseDataIndex;\n\tBYTE chCurrentMouseData;\n\tDWORD dwLocalAPICTaskPriority;\n\tBYTE chPrveScanCode;\n\tBYTE chKeyBuffer[KEYBUFFERMAXLENGTH];\t\t\t//̻\n\n} KeyInterruptVariable;\nextern bool gHasPS2Keyboard;\nextern bool gHasPS2Mouse;\n#ifdef CODE_OS_NT_DRV\nextern SYSTEM_QUERY_TIME_ADJUSTMENT SystemTimeAdjustment;\n#endif\nextern DWORD dwInterruptF8Address;\nextern DWORD dwInterruptF9Address;\nextern DWORD dwInterruptFaAddress;\nextern DWORD dwInterruptFbAddress;\nextern DWORD dwInterruptFcAddress;\nextern BYTE chWindowsKeyArray[];   //ûģ  READ_PORT_UCHAR õģ\n\t\t\t\t\t\t\t\t//ûеҪi8042prt.sys ˿60ʱģ 60˿\nextern DWORD dwCurrentReadIndex;\nextern DWORD dwCurrentWriteIndex;\nextern DWORD dwCurrentWindowsKeyLen;\nextern bool bIsMouseData;\n\n\nextern DWORD dwWaitMouseInterrupt;\nextern DWORD dwEflag;\nextern KeyInterruptVariable stKeyGlobalVariable;\nextern INT nTempVar;\nextern BYTE *SoftIceActive;\nextern BYTE NormalTable[2][0x80];\nextern BYTE ExternTable[];\n/*\nextern BYTE ShiftKeyTable[];\nextern BYTE AltKeyTable[];\nextern BYTE CtrlKeyTable[];\nextern BYTE CtrlAltKeyTable[];\n*/\nextern DWORD dwSofticeDriverBase;\nextern DWORD dwRPUC;\nextern bool bActiveSoftice;\nextern DWORD dwRPUCLookup;\nextern DWORD dwWPUCLookup;\nextern DWORD dwWPUC;\nextern DWORD dwTmpVar;\nextern ST_DESC *dwTmpIdt;\nextern DWORD gHardInt1Vector;\nextern DWORD dwOldInterruptFA;\nextern DWORD dwOldInterruptF8;\nextern DWORD dwOldInterruptF9;\nextern void (*pSofticeActivePointer)(void);\n\n//extern stSerialMouse aSerialMouseData[];\nUCHAR NEW_READ_PORT_UCHAR(IN DWORD Port);\n\n//VOID SaveDSRegister(VOID);\n//VOID StoreDSRegister(VOID);\nvoid KeyboardInterruptService();\nVOID SyserWaitKeyboardInputBufferEmpte(VOID);\nVOID SyserWaitKeyboardOutPutBufferFull(VOID);\nvoid SyserSimulateKeyboardInput(BYTE scancode,bool isDisableInterrupt = FALSE);\nVOID\tSyserWaitMouseStatus(VOID);\n\n\nbool InstallAllInterrupt();\nbool UninstallAllInterrupt();\n\n//bool GetIOAPICBase();\nvoid Delay();\n\n//void MouseInterruptService();\nVOID SyserWaitMouseInputBufferEmpte(VOID);\nVOID SyserWaitMouseOutPutBufferFull(VOID);\nbool IsMouseOutPutBufferFull();\nvoid SyserCleanMouseOutPutBuffer();\nvoid WriteMouseCommandPrefix(BYTE chCmd);\nvoid WriteMouseCommandByte(BYTE chCmd);\nbool SyserIsMouseOutPutBufferFull();\n// void SaveEflag();\n// void StoreEflag();\nBYTE SyserReadMouseByte(VOID);\nDWORD CalcPackageBeginOffset();\nvoid InsertKeyboardBuffer(BYTE chScanCode);\n\n\n\n\nDWORD CheckSofticeExist();\n\nbool SendCommandTo60Port(BYTE byteCmd);//˿ 60 \nvoid SetKeyboardPortState(bool bState);\nbool SendCommandTo64Port(BYTE byteCmd);//˿ 64 \nvoid SetKeyboardLEDState(DWORD bScrollLock,DWORD bNumLock,DWORD bCapsLock);\nVOID SyserGetPortState(VOID);//ڸ̷Ժúȡ̵ķֵ\nVOID SyserSimulateWindowsKeyboardInput(BYTE byteScanCode);\nbool GetCurrentWindowLEDState(DWORD dwKeyIndex);\nvoid NEW_WRITE_PORT_UCHAR(IN PUCHAR  Port, IN UCHAR  Value);\nvoid PatchSystemWRITE_PORT_UCHAR(bool bIsPatch);\nvoid PatchSystemREAD_PORT_UCHAR(bool bIsPatch);\n//void SerialMouseInterruptService();\n//bool CheckSerialMouse();\nVOID SyserSyncMouseInterrupt(VOID);\nextern bool bRightCtrlKey;\n\n\n//void Interrupt_0xF9_Mouse_Service();\nVOID SyserInterrupt_0xF8_Keyboard_Service(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n/* redefinition!\ntypedef struct _IMAGE_DATA_DIRECTORY {\n\tDWORD   VirtualAddress;\n\tDWORD   Size;\n} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;\n#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES    16\ntypedef struct _IMAGE_DOS_HEADER {      // DOS .EXE header\n\tWORD   e_magic;                     // Magic number\n\tWORD   e_cblp;                      // Bytes on last page of file\n\tWORD   e_cp;                        // Pages in file\n\tWORD   e_crlc;                      // Relocations\n\tWORD   e_cparhdr;                   // Size of header in paragraphs\n\tWORD   e_minalloc;                  // Minimum extra paragraphs needed\n\tWORD   e_maxalloc;                  // Maximum extra paragraphs needed\n\tWORD   e_ss;                        // Initial (relative) SS value\n\tWORD   e_sp;                        // Initial SP value\n\tWORD   e_csum;                      // Checksum\n\tWORD   e_ip;                        // Initial IP value\n\tWORD   e_cs;                        // Initial (relative) CS value\n\tWORD   e_lfarlc;                    // File address of relocation table\n\tWORD   e_ovno;                      // Overlay number\n\tWORD   e_res[4];                    // Reserved words\n\tWORD   e_oemid;                     // OEM identifier (for e_oeminfo)\n\tWORD   e_oeminfo;                   // OEM information; e_oemid specific\n\tWORD   e_res2[10];                  // Reserved words\n\tLONG   e_lfanew;                    // File address of new exe header\n} IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;\ntypedef struct _IMAGE_FILE_HEADER {\n\tWORD    Machine;\n\tWORD    NumberOfSections;\n\tDWORD   TimeDateStamp;\n\tDWORD   PointerToSymbolTable;\n\tDWORD   NumberOfSymbols;\n\tWORD    SizeOfOptionalHeader;\n\tWORD    Characteristics;\n} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;\ntypedef struct _IMAGE_OPTIONAL_HEADER {\n\t//\n\t// Standard fields.\n\t//\n\n\tWORD    Magic;\n\tBYTE    MajorLinkerVersion;\n\tBYTE    MinorLinkerVersion;\n\tDWORD   SizeOfCode;\n\tDWORD   SizeOfInitializedData;\n\tDWORD   SizeOfUninitializedData;\n\tDWORD   AddressOfEntryPoint;\n\tDWORD   BaseOfCode;\n\tDWORD   BaseOfData;\n\n\t//\n\t// NT additional fields.\n\t//\n\n\tDWORD   ImageBase;\n\tDWORD   SectionAlignment;\n\tDWORD   FileAlignment;\n\tWORD    MajorOperatingSystemVersion;\n\tWORD    MinorOperatingSystemVersion;\n\tWORD    MajorImageVersion;\n\tWORD    MinorImageVersion;\n\tWORD    MajorSubsystemVersion;\n\tWORD    MinorSubsystemVersion;\n\tDWORD   Win32VersionValue;\n\tDWORD   SizeOfImage;\n\tDWORD   SizeOfHeaders;\n\tDWORD   CheckSum;\n\tWORD    Subsystem;\n\tWORD    DllCharacteristics;\n\tDWORD   SizeOfStackReserve;\n\tDWORD   SizeOfStackCommit;\n\tDWORD   SizeOfHeapReserve;\n\tDWORD   SizeOfHeapCommit;\n\tDWORD   LoaderFlags;\n\tDWORD   NumberOfRvaAndSizes;\n\tIMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];\n} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;\ntypedef struct _IMAGE_OPTIONAL_HEADER64 {\n\tWORD        Magic;\n\tBYTE        MajorLinkerVersion;\n\tBYTE        MinorLinkerVersion;\n\tDWORD       SizeOfCode;\n\tDWORD       SizeOfInitializedData;\n\tDWORD       SizeOfUninitializedData;\n\tDWORD       AddressOfEntryPoint;\n\tDWORD       BaseOfCode;\n\tULONGLONG   ImageBase;\n\tDWORD       SectionAlignment;\n\tDWORD       FileAlignment;\n\tWORD        MajorOperatingSystemVersion;\n\tWORD        MinorOperatingSystemVersion;\n\tWORD        MajorImageVersion;\n\tWORD        MinorImageVersion;\n\tWORD        MajorSubsystemVersion;\n\tWORD        MinorSubsystemVersion;\n\tDWORD       Win32VersionValue;\n\tDWORD       SizeOfImage;\n\tDWORD       SizeOfHeaders;\n\tDWORD       CheckSum;\n\tWORD        Subsystem;\n\tWORD        DllCharacteristics;\n\tULONGLONG   SizeOfStackReserve;\n\tULONGLONG   SizeOfStackCommit;\n\tULONGLONG   SizeOfHeapReserve;\n\tULONGLONG   SizeOfHeapCommit;\n\tDWORD       LoaderFlags;\n\tDWORD       NumberOfRvaAndSizes;\n\tIMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];\n} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;\n\n#define IMAGE_DIRECTORY_ENTRY_EXPORT          0   // Export Directory\n#define IMAGE_DIRECTORY_ENTRY_IMPORT          1   // Import Directory\n#define IMAGE_DIRECTORY_ENTRY_RESOURCE        2   // Resource Directory\n#define IMAGE_DIRECTORY_ENTRY_EXCEPTION       3   // Exception Directory\n#define IMAGE_DIRECTORY_ENTRY_SECURITY        4   // Security Directory\n#define IMAGE_DIRECTORY_ENTRY_BASERELOC       5   // Base Relocation Table\n#define IMAGE_DIRECTORY_ENTRY_DEBUG           6   // Debug Directory\n//      IMAGE_DIRECTORY_ENTRY_COPYRIGHT       7   // (X86 usage)\n#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE    7   // Architecture Specific Data\n#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR       8   // RVA of GP\n#define IMAGE_DIRECTORY_ENTRY_TLS             9   // TLS Directory\n#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG    10   // Load Configuration Directory\n#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT   11   // Bound Import Directory in headers\n#define IMAGE_DIRECTORY_ENTRY_IAT            12   // Import Address Table\n#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT   13   // Delay Load Import Descriptors\n#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14   // COM Runtime descriptor\n#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER      56\n#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER      28\n#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER    224\n#define IMAGE_SIZEOF_NT_OPTIONAL64_HEADER    240\n\n#define IMAGE_NT_OPTIONAL_HDR32_MAGIC      0x10b\n#define IMAGE_NT_OPTIONAL_HDR64_MAGIC      0x20b\n#define IMAGE_ROM_OPTIONAL_HDR_MAGIC       0x107\n\n#ifdef _WIN64\ntypedef IMAGE_OPTIONAL_HEADER64             IMAGE_OPTIONAL_HEADER;\ntypedef PIMAGE_OPTIONAL_HEADER64            PIMAGE_OPTIONAL_HEADER;\n#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER     IMAGE_SIZEOF_NT_OPTIONAL64_HEADER\n#define IMAGE_NT_OPTIONAL_HDR_MAGIC         IMAGE_NT_OPTIONAL_HDR64_MAGIC\n#else\ntypedef IMAGE_OPTIONAL_HEADER32             IMAGE_OPTIONAL_HEADER;\ntypedef PIMAGE_OPTIONAL_HEADER32            PIMAGE_OPTIONAL_HEADER;\n#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER     IMAGE_SIZEOF_NT_OPTIONAL32_HEADER\n#define IMAGE_NT_OPTIONAL_HDR_MAGIC         IMAGE_NT_OPTIONAL_HDR32_MAGIC\n#endif\n\ntypedef struct _IMAGE_NT_HEADERS64 {\n\tDWORD Signature;\n\tIMAGE_FILE_HEADER FileHeader;\n\tIMAGE_OPTIONAL_HEADER64 OptionalHeader;\n} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;\n\ntypedef struct _IMAGE_NT_HEADERS {\n\tDWORD Signature;\n\tIMAGE_FILE_HEADER FileHeader;\n\tIMAGE_OPTIONAL_HEADER32 OptionalHeader;\n} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;\n\n\n\n#ifdef _WIN64\ntypedef IMAGE_NT_HEADERS64                  IMAGE_NT_HEADERS;\ntypedef PIMAGE_NT_HEADERS64                 PIMAGE_NT_HEADERS;\n#else\ntypedef IMAGE_NT_HEADERS32                  IMAGE_NT_HEADERS;\ntypedef PIMAGE_NT_HEADERS32                 PIMAGE_NT_HEADERS;\n#endif\n#define IMAGE_SIZEOF_SHORT_NAME              8\n\ntypedef struct _IMAGE_SECTION_HEADER {\n\tBYTE    Name[IMAGE_SIZEOF_SHORT_NAME];\n\tunion {\n\t\tDWORD   PhysicalAddress;\n\t\tDWORD   VirtualSize;\n\t} Misc;\n\tDWORD   VirtualAddress;\n\tDWORD   SizeOfRawData;\n\tDWORD   PointerToRawData;\n\tDWORD   PointerToRelocations;\n\tDWORD   PointerToLinenumbers;\n\tWORD    NumberOfRelocations;\n\tWORD    NumberOfLinenumbers;\n\tDWORD   Characteristics;\n} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;\n\n#define IMAGE_SIZEOF_SECTION_HEADER          40\n\ntypedef struct _IMAGE_IMPORT_DESCRIPTOR {\n\tunion {\n\t\tDWORD   Characteristics;            // 0 for terminating null import descriptor\n\t\tDWORD   OriginalFirstThunk;         // RVA to original unbound IAT (PIMAGE_THUNK_DATA)\n\t};\n\tDWORD   TimeDateStamp;                  // 0 if not bound,\n\t// -1 if bound, and real date\\time stamp\n\t//     in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)\n\t// O.W. date/time stamp of DLL bound to (Old BIND)\n\n\tDWORD   ForwarderChain;                 // -1 if no forwarders\n\tDWORD   Name;\n\tDWORD   FirstThunk;                     // RVA to IAT (if bound this IAT has actual addresses)\n} IMAGE_IMPORT_DESCRIPTOR;\ntypedef IMAGE_IMPORT_DESCRIPTOR UNALIGNED *PIMAGE_IMPORT_DESCRIPTOR;\n*/\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nDWORD GetWin32KServiceTable();\n//bool MouseCommand(BYTE chCmd);\nbool SyserClearI8042OutputBuffer();\nbool SyserReadPort60(BYTE* ReturnValue,bool IsMouse);\nbool SyserWaitI8042InputBufferEmpty(VOID);\nbool SendMouseCommand(BYTE CommandByte);\nextern DWORD MouseInterruptCount;\n\nVOID SyserSimulateKeyboardInput(BYTE scancode,bool isInterrupt);\n//bool CheckPS2Keyboard();\nvoid InitPS2MouseDevice();\nDWORD GetScanCode(DWORD WispVKCode);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid TestTouchPad();\n\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/Int0x6.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Services.h\"\n// \n// \n//  __declspec(naked) void Int06Proc()\n//  {\n//  \t__asm\n//  \t{\n// \t\tpush dword ptr 0x6 \n// \t\tcall SaveExceptionRegister\n// \t\tlea esp,[esp+4]\n// \t\tpushfd\n// \t\tpushad\n// \t\tmov ebp,esp\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov eax,0x23\n// \t\tmov ds,ax\n// \t\tmov es,ax\t\t\n// \t}\n// \t__asm\n// \t{\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tret\n// \t}\n// }"
  },
  {
    "path": "Project/Syser/Source/Int0x6.h",
    "content": "#ifndef __INT0X6_H__\n#define  __INT0X6_H__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID SyserInt06Proc(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //__INT0X6_H__"
  },
  {
    "path": "Project/Syser/Source/Int0xb.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Services.h\"\n\n// \n// __declspec(naked) void Int0bProc()\n// {\n// \t__asm\n// \t{\n// \t\tpush dword ptr 0xb\n// \t\tcall SaveExceptionRegister\n// \t\tlea esp,[esp+4]\n// \t\tpushfd\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov eax,0x23\n// \t\tmov ds,ax\n// \t\tmov es,ax\n// \t}\n// \t__asm\n// \t{\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tret\n// \t}\n// }"
  },
  {
    "path": "Project/Syser/Source/Int0xb.h",
    "content": "#ifndef __INT0XB_H__\n#define __INT0XB_H__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID SyserInt0bProc(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n#endif //__INT0XB_H__"
  },
  {
    "path": "Project/Syser/Source/Int0xc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Services.h\"\n\n// \n// __declspec(naked) void Int0cProc()\n// {\n// \t__asm\n// \t{\n// \t\tpush dword ptr 0xc\n// \t\tcall SaveExceptionRegister\n// \t\tlea esp,[esp+4]\n// \t\tpushfd\n// \t\tpushad\n// \t\tmov ebp,esp\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov ax,0x23\n// \t\tmov ds,ax\n// \t\tmov es,ax\n// \t\tmov ax,0x30\n// \t\tmov fs,ax\n// \t}\n// \t__asm\n// \t{\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tret\n// \t}\n// }"
  },
  {
    "path": "Project/Syser/Source/Int0xc.h",
    "content": "#ifndef __INT0XC_H__\n#define __INT0XC_H__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID SyserInt0cProc(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //__INT0XC_H__"
  },
  {
    "path": "Project/Syser/Source/Int0xd.cpp",
    "content": "#include \"stdafx.h\"\n#include \"int0xd.h\"\n#include \"Syser.h\"\n\nbool Int0dHandle(DWORD *StackPointer)\n{\n\tDWORD begin,end;\n\t\n\tbegin = (DWORD)SyserPrivateReadByte;\n\tend =(DWORD) SyserPrivateReadError;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=(DWORD)SyserPrivateReadError;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserPrivateWriteByte;\n\tend =(DWORD) SyserPrivateWriteError;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=(DWORD)SyserPrivateWriteError;\n\t\treturn true;\n\t}\n\n\tbegin = (DWORD)SyserPrivateReadMSR;\n\tend =(DWORD) SyserPrivateReadMSRError;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=(DWORD)SyserPrivateReadMSRError;\n\t\treturn true;\n\t}\n\n\tbegin = (DWORD)SyserPrivateWriteMSR;\n\tend =(DWORD) SyserPrivateWriteMSRError;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=(DWORD)SyserPrivateWriteMSRError;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserPrivateGetTSC;\n\tend =(DWORD) SyserPrivateGetTSCError;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=(DWORD)SyserPrivateGetTSCError;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserDetectLastBranchType;\n\tend =(DWORD) InitBranchMointer;\n\tif(StackPointer[0]>begin&&StackPointer[0]<end)\n\t{\n\t\tStackPointer[0]=StackPointer[0]+2;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n// \n// \n// __declspec(naked) void\tInt0dProc()\n// {\n// \tDWORD* Int0dStackPointer;\n// \t__asm\n// \t{\n// \t\tpush dword ptr 0xd \n// \t\tcall SaveExceptionRegister\n// \t\tlea esp,[esp+4]//; push dword ptr 0xd\n// \t\tpushfd\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov eax,0x23\n// \t\tmov ds,ax\n// \t\tmov es,ax\n// \t\tmov eax,0x30 \n// \t\tmov fs,ax\n// \t\tmov ebp,esp\n// \t\tlea esp,[esp-4]\n// \t\tmov Int0dStackPointer,ebp\n// \t\t/*\n// \t\teflags         [ebp+40]          \n// \t\tcs             [ebp+3c]\n// \t\teip            [ebp+38]          \n// \t\terrorcode      [ebp+34]          \n// \t\twinorgintd     [ebp+30]          \n// \t\teflags         [ebp+2c]          \n// \t\teax            [ebp+28]          \n// \t\tecx            [ebp+24]\n// \t\tedx            [ebp+20]          \n// \t\tebx            [ebp+1c]          \n// \t\tesp            [ebp+18]          \n// \t\tebp            [ebp+14]          \n// \t\tesi            [ebp+10]\n// \t\tedi            [ebp+c]\n// \t\tds             [ebp+8]\n// \t\tes             [ebp+4]\n// \t\tfs             [ebp+0]\n// \t\t*/\n// \t\tadd Int0dStackPointer,0x38\n// \t}\t\n// \t\n// \tif(Int0dHandle(Int0dStackPointer))\n// \t{  \n// \t\t__asm\n// \t\t{\n// \t\t\tlea esp,[esp+4]  //Ƕ Int0dStackPointer ֲ\n// \t\t\tpop fs\n// \t\t\tpop es\n// \t\t\tpop ds\n// \t\t\tpopad   \n// \t\t\tpopfd\n// \t\t\tlea esp,[esp+8]   //;code error;windows return address\n// \t\t\tiretd\n// \t\t}\n// \t}\n// \t__asm\n// \t{\n// \t\tlea esp,[esp+4]\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tret\n// \t}\n// }\n"
  },
  {
    "path": "Project/Syser/Source/Int0xd.h",
    "content": "#ifndef _INT0XD_H_\n#define _INT0XD_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//ͨ쳣\nVOID SyserInt0dProc(VOID);\n\nbool Int0dHandle(DWORD *StackPointer);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n#endif //_INT0XD_H_"
  },
  {
    "path": "Project/Syser/Source/Int0xe.cpp",
    "content": "#include \"stdafx.h\"\n#include \"int0xe.h\"\n#include \"Syser.h\"\n#include \"SyserMemoryReadWrite.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"OSProcessThread.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nbool HandleBpr(DWORD PagedCR2,DWORD ErrorCode,DWORD*P);\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nbool Int0eHandle(DWORD *StackPointer)\n{\n\tDWORD begin,end;\n\tbegin = (DWORD)SyserPrivateReadByte;\n\tend =(DWORD) SyserPrivateReadError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateReadError;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserPrivateWriteByte;\n\tend =(DWORD) SyserPrivateWriteError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateWriteError;\n\t\treturn true;\n\t}\n\t\n\tbegin = (DWORD)SyserPrivateMemCopy;\n\tend =(DWORD) SyserPrivateMemCopyError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateMemCopyError;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserVideoMemCopy;\n\tend =(DWORD) SyserPrivateMemCopyError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateMemCopyError;\n\t\treturn true;\n\t}\t\n\tbegin = (DWORD)SyserPrivateFindByte;\n\tend =(DWORD) SyserPrivateFindMemoryError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateFindMemoryError;\n\t\treturn true;\n\t}\t\n\tbegin = (DWORD)SyserPrivateMemSearch;\n\tend =(DWORD) SyserPrivateMemorySearchError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateMemorySearchError;\n\t\treturn true;\n\t}\t\n\tbegin = (DWORD)SyserPrivatePagePresent;\n\tend =(DWORD) SyserPrivatePageNotPresent;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivatePageNotPresent;\n\t\treturn true;\n\t}\n\tbegin = (DWORD)SyserPrivateMemCmp;\n\tend =(DWORD) SyserPrivateMemCmpError;\n\tif(StackPointer[1]>begin&&StackPointer[1]<end)\n\t{\n\t\tStackPointer[1]=(DWORD)SyserPrivateMemCmpError;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n//int _0E_TickCount=0;\nDWORD gdwActiveInt0eProcAddress;\nDWORD gSyserInt0eAddress;\n\n// \n// __declspec(naked) void Active_Int0eProcStub()\n// {\n// \t__asm\n// \t{\n// \t\tPush ss:gdwActiveInt0eProcAddress\n// \t\tjmp Int0eProc\n// \t}\n// }\n\n\nvoid ActiveHookInt0e(bool bInstall)\n{\n\tDWORD IDTBase,IDTSize;\n\tPX86_GATE_DECR pDecr;\n\tIDTBase=SyserGetIDTBase(&IDTSize);\n\tpDecr = *(PX86_GATE_DECR*)&IDTBase;\n\tif(bInstall)\n\t{\t\t\n\t\tgdwActiveInt0eProcAddress = MAKE_DWORD(pDecr[0xe].OffsetHigh, pDecr[0xe].OffsetLow);\n\t\tif(gdwActiveInt0eProcAddress != (DWORD)SyserActive_Int0eProcStub)\n\t\t{\n\t\t\tif(gSyserInt0eAddress)\n\t\t\t{\n\t\t\t\tIDTBase=gSyserInt0eAddress;\t\t\t\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tIDTBase=(DWORD)SyserActive_Int0eProcStub;\n\t\t\t}\n\t\t\tpDecr[0xe].OffsetHigh=(WORD)(IDTBase>>16);\n\t\t\tpDecr[0xe].OffsetLow=(WORD)(IDTBase&0xffff);\n\t\t}\n\t}\n\telse\n\t{\n\t\tpDecr[0xe].OffsetHigh=(WORD)(gdwActiveInt0eProcAddress>>16);\n\t\tpDecr[0xe].OffsetLow=(WORD)(gdwActiveInt0eProcAddress&0xffff);\n\t}\n}\nDWORD g1count=0;\n\n\n// \n// \n// __declspec(naked) void SyserInt0eProc()\n// {\n// \tDWORD* Int0eStackPointer;\n// \tDWORD PagedCR2;\n// \n// \t__asm\n// \t{\n// \t\tpush dword ptr 0xE\n// \t\tcall SaveExceptionRegister\n// \t\tlea esp,[esp+4]   // push dword ptr 0xe\n// \t\tpushfd\n// \t\tpushad\n// \t\tmov ebp,esp\n// \t\tlea esp,[esp-0x8]    //ֲĿռ\n// \t\tmov Int0eStackPointer,ebp \n// \t\tmov eax,cr2 \n// \t\tmov PagedCR2,eax\n// \t\t/*\n// \t\teflags       [ebp+34]\n// \t\tcs           [ebp+30]\n// \t\teip          [ebp+2c]\n// \t\terror        [ebp+28]\n// \t\twinorginte   [ebp+24]\n// \t\teflags       [ebp+20]\n// \t\teax          [ebp+1c]\n// \t\tecx          [ebp+18]\n// \t\tedx          [ebp+14]\n// \t\tebx          [ebp+10]\n// \t\tesp          [ebp+c]\n// \t\tebp          [ebp+8]\n// \t\tesi          [ebp+4]\n// \t\tedi          [ebp+0] \n// \t\t*/\n// \t\tadd Int0eStackPointer,0x28\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov ax,0x23 \n// \t\tmov ds,ax \n// \t\tmov es,ax\n// \t\tmov ax,0x30\n// \t\tmov fs,ax\n// \t\tmov eax,cr2\n// \t\tCLD\n// \t}\n// \t//GetLastBranchAddress();\n// \t\n// \tif(Int0eHandle(Int0eStackPointer))//жǲ Syser.sys ڲ쳣\n// \t{\n// \t\t//_0E_TickCount--;\n// \t\t__asm\n// \t\t{\n// \t\t\tpop fs\n// \t\t\tpop es\n// \t\t\tpop ds\n// \t\t\tlea esp,[esp+8]   //ֲ\n// \t\t\tpopad\n// \t\t\tpopfd\n// \t\t\tlea esp,[esp+8]   // errorcode  windows return address\n// \t\t\tiretd             //ֱӷ\n// \t\t}\n// \t}\n// \n// \tif(gpSyser)\n// \t{\n// \t\tif(HandleBpr(PagedCR2,Int0eStackPointer[0],Int0eStackPointer))\n// \t\t{\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\tpop fs\n// \t\t\t\tpop es\n// \t\t\t\tpop ds \n// \t\t\t\tlea esp,[esp+8]//ֲ\n// \t\t\t\tpopad\n// \t\t\t\tpopfd\n// \t\t\t\tlea esp,[esp+8]   // errorcode  windows return address\t\t\t\n// \t\t\t\tOR DWORD PTR[esp+8],0x100\n// \t\t\t\tIRETD\n// \t\t\t}\t\t\t\n// \t\t}\t\t\n// \t}\n// \t\n// \t//_0E_TickCount--;\n// \n// \tif(Int0eStackPointer[3]&0x100)//ڵԵʱһȱҳ쳣\n// \t{\t\t\n// \t\tEnableAllHardInterrupt();\n// \t\tSyserStartOtherCPUs();\t\t\n// \t}\n// \t__asm\n// \t{\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds \n// \t\tlea esp,[esp+8]//ֲ\n// \t\tpopad\n// \t\tpopfd\n// \t\tret            //صԭʼWINDOWSжϴַ\n// \t}\n// }\n\n\nDWORD dwHandleBpr=0;\nDWORD HandleBprcOUNT=0;\nbool HandleBpr(DWORD PagedCR2,DWORD ErrorCode,DWORD*P )\n{\n\tDWORD dwValue,PageAlignment;\n\tDWORD Process,Thread;\n\tbool bOK;\n\tstatic int count1=0;\n\tif(ErrorCode&1)\n\t\treturn false;\n\tbOK = GetCurrentProcessAndThread(&Process,&Thread);\n\tif(bOK==false)\n\t\treturn false;\n\n\tBP_RANGE_LIST::IT BeginIT,EndIT;\n\tPROC_RANGE_BP_MAP::IT FindIT = gpSyser->m_RangeBPList.Find(Process);\n\tif(FindIT == gpSyser->m_RangeBPList.End())\n\t\treturn false;\n\t\n\tDWORD PtePtr=0,PageSize=0,PTESize=0,StartAddr1=0,EndAddr1=0;\n\tPtePtr = (DWORD)GetPTE(PagedCR2,&PageSize,&PTESize,false);\n\tif(!PtePtr)\n\t\treturn false;\n\tStartAddr1 = PagedCR2 & (~(PageSize-1));\n\tEndAddr1 = StartAddr1+PageSize;\t\t\n\tBeginIT = FindIT->Begin();\n\tEndIT = FindIT->End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\t\t\t\n\t\tDWORD StartAddr = BeginIT->RangeStartAddress;\n\t\tDWORD EndAddr = BeginIT->RangeStartAddress+BeginIT->RangeLength-1;\n\t\tif(!(BeginIT->Type & BP_SET_BPR_TYPE))\n\t\t\tcontinue;\n\t\tif(!((EndAddr < StartAddr1) || (StartAddr >= EndAddr1)))\n\t\t\n\t\t//\tif((StartAddr>=StartAddr1 && StartAddr < EndAddr1) || (EndAddr>StartAddr1 && EndAddr < EndAddr1) || (StartAddr < StartAddr1 && EndAddr >EndAddr1))\n\t\t{\t\t\n\t\t\t\n\t\t\tif(ReadDword((void*)PtePtr,&dwValue))\n\t\t\t{\n\t\t\t\tif(WriteDword((void*)PtePtr,dwValue|1))\n\t\t\t\t{\n\t\t\t\t\tBeginIT->Type |= BP_REV_BPR_TYPE;\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.SetTracePageRangeCondition(PagedCR2,P[1]);\t\t\t\t\t\t\t\n\t\t\t\t\treturn true;\t\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\t\t\t\t\t\n\t\t}\n\t}\n\n\treturn false;\n}"
  },
  {
    "path": "Project/Syser/Source/Int0xe.h",
    "content": "#ifndef _INT0XE_H_\n#define _INT0XE_H_\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//ȱҳ쳣\nVOID SyserInt0eProc(VOID);\nextern DWORD gdwActiveInt0eProcAddress;\nVOID SyserActive_Int0eProcStub(VOID);\nvoid ActiveHookInt0e(bool bInstall);\nbool Int0eHandle(DWORD *StackPointer);\nextern DWORD gSyserInt0eAddress;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_INT0XE_H_"
  },
  {
    "path": "Project/Syser/Source/Int1.cpp",
    "content": "#include \"stdafx.h\"\n#include \"Int1.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Syser.h\"\n#include \"Services.h\"\n#include \"Int0xe.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nDWORD gIntCounter=0;\nVADDR32\tgOldInt01Proc=0;\nDWORD dwgSetDbgReg=0;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n// __declspec(naked) void  Int01Proc()\n// {\n// \t__asm\n// \t{\t\t\n// \t\tPUSHFD\n// \t\tCMP\t\tDWORD PTR[esp+8],offset CloseDebugRegisterMontior+1\n// \t\tJNZ HANDLE_SET_DBG_REG\n// \t\tPUSH\tEAX\n// \t\tMOV\t\tEAX,0\n// \t\tMOV\t\tDR6,EAX\n// \t\tPOP\t\tEAX\n// \t\tPOPFD\n// \t\tLEA\t\tESP,[ESP+4]\n// \t\tIRETD\n// HANDLE_SET_DBG_REG:\n// \t\tCMP\t\tSS:gbActive,0\t\t//ûбת\n// \t\tJZ\t\tENTER_PROC\n// \t\tjmp HANDLE_SET_DBG_REG\n// \t\tPOPFD\t\t\t\t\t\t//ߵһִ\n// \t\tRET\t\t\n// ENTER_PROC:\n// \t\tPOPFD\n// \t\tCALL\tStopOtherCPUs\n// \t\tCALL\tDisableDebugRegisterMontior    //Ȼж1 Զر Debug register пֹͣCPU֮ǰCPUжϣжDebug rigister ؿܱá\n// \t\tPOP\t\tSS:gOldInt01Proc\t\t\n// \t\tcmp ESP,SS:gpStackBuffer\n// \t\tjb local_uu\n// \t\tcmp ESP,SS:gpStackBufferTop\n// \t\tja local_uu \n// \t\tpush 0\n// \t\tpush EBP\n// \t\tpush ESP\n// \t\tpush Reg.EIP\n// \t\tPUSH 0X31313131\n// \t\tMOV EAX,KeBugCheckEx\n// \t\tcall eax\n// local_uu:\n// \t\tMOV\t\tSS:OldESP,ESP\n// \t\tMOV\t\tESP,SS:gpStackBufferTop\n// \t\tPUSHAD\n// \t\tPUSH FS\n// \t\tPUSH DS\n// \t\tPUSH ES\n// \t\tMOV\t\tAX,0x23\t\t\n// \t\tMOV\t\tDS,AX\n// \t\tMOV\t\tES,AX\n// \t\tMOV\t\tEBP,ESP\n// \t\tCLD\n// \t}\n// \n// \tLoadReg();\t\n// \tActiveHookInt0e(true);\n// \tgpSyser->AttachPopupProcess(Reg.CR[3]);\n// \tgIntCounter++;\n// \t\n// \tif(gpSyser->m_pDebugger->HandleInt1(Reg.EIP)==false)//Syser Active\n// \t{\t\t\n// \t\tActiveHookInt0e(false);\n// \t\tSetLastBranchMointer();\n// \t\tEnableDebugRegisterMontior();\n// \t\t__asm\n// \t\t{\n// \t\t\tPOP     ES\n// \t\t\tPOP     DS\n// \t\t\tPOP     FS\n// \t\t\tPOPAD\n// \t\t\tMOV\t\tESP,SS:OldESP\n// \t\t\tCALL\tStartOtherCPUs\n// \t\t\tJMP\t\tCS:[gOldInt01Proc]\n// \t\t}\n// \t}\t\n// \tActiveHookInt0e(false);\n// \tSetLastBranchMointer();\n// \tSaveReg();\n// \t__asm\n// \t{\n// \t\tPOP     ES\n// \t\tPOP     DS\n// \t\tPOP     FS\n// \t\tPOPAD\n// \t\tMOV\t\tESP,SS:OldESP\n// \t\tMOV\t\tSS:OldESP,0\n// \t\tCALL\tSyserSyncMouseInterrupt\n// \t\tXCHG\tEAX,[ESP+8]\n// \t\tTEST\tEAX,0x100\n// \t\tJNZ\t\tSTEP_NEXT\n// \t\tCALL\tEnableAllHardInterrupt\n// \t\tCALL\tStartOtherCPUs\n// \t\tJMP\t\tlocal_101\n// STEP_NEXT:\n// \t\tCALL\tDisableAllHardInterrupt\n// local_101:\n// \t\tXCHG\tEAX,[ESP+8]\n// \t\tCMP\t\tSS:gGenInterruptNumber,0xFFFFFFFF\n// \t\tJNZ\t\tlocal_00100\n// \t\tCMP\t\tSS:bGoToSoftice,0\n// \t\tJZ\t\ttmpgosoftice\n// \t\tMOV\t\tSS:bGoToSoftice,0\n// \t\tCALL\tpSofticeActivePointer\n// tmpgosoftice:\n// \t\tIRETD\n// local_00100:\n// \t\tMOV\t\tSS:gGenInterruptNumber,0xFFFFFFFF;\n// \t\tJMP\t\tCS:[gGenInterruptOffset]\n// \t}\n// }\n"
  },
  {
    "path": "Project/Syser/Source/Int1.h",
    "content": "#ifndef _INT1_H_\n#define _INT1_H_\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//VOID  SyserInt01Proc(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n#endif //_INT1_H_"
  },
  {
    "path": "Project/Syser/Source/Int3.cpp",
    "content": "#include \"stdafx.h\"\n#include \"Int3.h\"\n#include \"Int0xe.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Syser.h\"\n#include \"Services.h\"\n#include \"MultiCPU.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVADDR32\tgOldInt03Proc=0;\nextern DWORD gIntCounter;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n// __declspec(naked) void  Int03Proc()\n// {\n// \t__asm\n// \t{\n// \t\tPUSHFD\n// \t\tCMP\t\tSS:gbActive,1\n// \t\tJNZ\t\tSYSER_NOT_ACTIVE\n// \t\tPOPFD\n// \t\tRET\n// SYSER_NOT_ACTIVE:\n// \t\tPOPFD\n// \t\tCALL\tSyserStopOtherCPUs\n// \t\tCALL\tDisableDebugRegisterMontior\t\t\n// \t\tPOP\t\tSS:gOldInt03Proc\t\t\t\t\n// \t\tcmp ESP,SS:gpStackBuffer\n// \t\tjb local_uu\n// \t\tcmp ESP,SS:gpStackBufferTop\n// \t\tja local_uu \n// \t\tpush 0\n// \t\tpush 0\n// \t\tpush ESP\n// \t\tpush 0\n// \t\tPUSH 0X33333333\n// \t\tMOV EAX,KeBugCheckEx\n// \t\tcall eax\n// local_uu:\n// \t\tMOV\t\tSS:OldESP,esp\n// \t\tMOV\t\tESP,SS:gpStackBufferTop\n// \t\tPUSHAD \n// \t\tPUSH\tFS\n// \t\tPUSH\tDS\n// \t\tPUSH\tES\n// \t\tMOV\t\tAX,NT_DS\n// \t\tMOV\t\tDS,AX\n// \t\tMOV\t\tES,AX\n// \t\tMOV\t\tEBP,ESP\n// \t\tCLD\n// \t}\n// \n// \tLoadReg();\n// \tActiveHookInt0e(true);\t\n// \tgpSyser->AttachPopupProcess(Reg.CR[3]);\n// \t\n// \tif(gpSyser->m_pDebugger->HandleInt3(Reg.EIP-1)==false)//Syser Active\n// \t{\n// \t\tActiveHookInt0e(false);\n// \t\tEnableDebugRegisterMontior();\n// \t\t__asm\n// \t\t{\n// \t\t\tPOP     ES\n// \t\t\tPOP     DS\n// \t\t\tPOP     FS\n// \t\t\tPOPAD\n// \t\t\tMOV\t\tESP,SS:OldESP\n// \t\t\tCALL\tSyserStartOtherCPUs\n// \t\t\tJMP\t\tSS:[gOldInt03Proc]\n// \t\t}\n// \t}\n// \tActiveHookInt0e(false);\n// \tSaveReg();\n// \t__asm\n// \t{\n// \t\tPOP     ES\n// \t\tPOP     DS\n// \t\tPOP     FS\n// \t\tPOPAD\n// \t\tMOV\t\tESP,SS:OldESP\n// \t\tMOV\t\tSS:OldESP,0\n// \t\tCALL\tSyserSyncMouseInterrupt\n// \t\tXCHG\tEAX,[ESP+8]    // EFLAGS \n// \t\tTEST\tEAX,0x100\n// \t\tJNZ\t\tSTEP_NEXT     //Եʽ˳ģ򲻿ӲжҲ cpu ִָ\n// \t\tCALL\tEnableAllHardInterrupt   \n// \t\tCALL\tSyserStartOtherCPUs\n// \t\tJMP\t\tlocal_101\n// STEP_NEXT:\n// \t\tCALL\tDisableAllHardInterrupt\n// local_101:\n// \t\tXCHG\tEAX,[ESP+8]\n// \t\tCMP\t\tCS:gGenInterruptNumber,0xFFFFFFFF\n// \t\tJNZ\t\tlocal_00100\t\t\n// \t\tCMP\t\tCS:bGoToSoftice,0\n// \t\tJZ\t\ttmpgosoftice\n// \t\tMOV\t\tSS:bGoToSoftice,0\n// \t\tCALL\tpSofticeActivePointer\n// tmpgosoftice:\n// \t\tCMP\t\tSS:gbBugCheckExExit,1\n// \t\tMOV\t\tSS:gbBugCheckExExit,0\n// \t\tJNZ\t\tlocal_ppp\n// \t\tTEST\tDWORD PTR[ESP+8],0x100\n// \t\tJZ\t\tlocal_ppp\n// \t\tAND\t\tDWORD PTR[ESP+8],0xFFFFFEFF\n// \t\tPUSHFD\n// \t\tOR\t\tDWORD PTR[ESP],0x100\n// \t\tPOPFD\n// local_ppp:\n// \t\tIRETD\n// local_00100:\n// \t\tMOV\t\tSS:gGenInterruptNumber,0xFFFFFFFF;\n// \t\tJMP\t\tCS:[gGenInterruptOffset]\n// \t}\n// }\n"
  },
  {
    "path": "Project/Syser/Source/Int3.h",
    "content": "#ifndef _INTEERUP3_H_\n#define _INTEERUP3_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//extern VADDR32\t\t\tgOldInt03Proc;\nVOID  SyserInt03Proc(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_INTEERUP3_H_"
  },
  {
    "path": "Project/Syser/Source/Interrupt2D.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"Interrupt2D.h\"\n\nLONG\tbInt2DBusy = 0;\n\n__declspec (naked) void Int2DService()\n{\n\tDWORD dwEAX,dwEBX,dwECX,dwEDX,dwEBP;\n\t__asm\n\t{\t\n\t\tpushad\n\t\tpush fs\n\t\tpush ds\n\t\tpush es\n\t\tmov ax,0x30\n\t\tmov fs,ax\n\t\tmov ax,ss\n\t\tmov eax,0x10\n\t\tmov ds,ax\n\t\tmov es,ax\n\t\tmov ebp,esp\n\t\tlea esp,[esp-0x18]\n\t\tmov eax,[ebp+0x1c]\n\t\tmov dwEBX,eax\n\t\tmov eax,[ebp+0x20]\n\t\tmov dwEDX,eax\n\t\tmov eax,[ebp+0x24]\n\t\tmov dwECX,eax\n\t\tmov eax,[ebp+0x28]\n\t\tmov dwEAX,eax\n\t\tmov eax,[ebp+0x2c]\n\t\tmov dwEBP,eax\n\t}\n\tswitch(dwEAX)\n\t{\n\tcase 1:\n\t\t{\n\t\t\tif(gpSyser->m_OSVer==DRV_OS_XP)\n\t\t\t{\n\t\t\t\tif(dwEDX)\n\t\t\t\t{\n\t\t\t\t\tInt2D_OutputDebugString((char *)dwECX);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(gpSyser->m_OSVer==DRV_OS_2K)\n\t\t\t{\n\t\t\t\tif(IsValidPage(dwECX))\n\t\t\t\t{\n\t\t\t\t\tInt2D_OutputDebugString(*(char **)(4+dwECX));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 2:\n\t\t//gpSyser->m_MainFrame.m_ConsoleWnd.Printf(WSTR(\"%<e>(INT 2D )Debug Prompt EIP=%08x EAX=%08X EBX=%08X ECX=%08X EDX=%08X\\n\"),dwEBP,dwEAX,dwEBX,dwECX,dwEDX);\n\t\tbreak;\n\tcase 3:\n\t\tLoadSystemModuleSymbols((PANSI_STRING)dwECX,dwEDX);\n\t\tbreak;\n\tcase 4:\n\t\t//gpSyser->m_MainFrame.m_ConsoleWnd.Printf(WSTR(\"%<e>(INT 2D )Unload Symbol EIP=%08x EAX=%08X EBX=%08X ECX=%08X EDX=%08X\\n\"),dwEBP,dwEAX,dwEBX,dwECX,dwEDX);\n\t\tbreak;\n\tdefault:\n\t\t//gpSyser->m_MainFrame.m_ConsoleWnd.Printf(WSTR(\"%<e>(INT 2D )unkonw functions EIP=%08x EAX=%08X EBX=%08X ECX=%08X EDX=%08X\\n\"),dwEBP,dwEAX,dwEBX,dwECX,dwEDX);\n\t\tbreak;\n\t}\n\t__asm\n\t{\n\t\tmov\t\tesp,ebp\n\t\tpop     es\n\t\tpop     ds\n\t\tpop     fs\n\t\tpopad\n\t\tret\n\t}\n}\n\nvoid Int2D_OutputDebugString(char *string)\n{\n\tstatic LARGE_INTEGER PrevTime;\n\tKIRQL OldIRQL;\n\tWISP_CHAR buf[512];\n\tLARGE_INTEGER CurrentTime;\n\tif(gpSyserCfg->m_DisableDbgMsg || string == NULL || IsValidPage((VADDR32)string) == false)\n\t\treturn;\n\n\tint Length=0;\n\tif(SyserOption.iShowDbgSrcProcName)\n\t{\n\t\tCDbgProcess*pProcess;\n\t\tpProcess = gpSyser->m_SysInfo.GetProcessByCR3(GetCR3Reg());\n\t\tif(pProcess)\n\t\t{\n\t\t\tif(pProcess->m_CR3==gpSyser->m_pSysDebugger->m_CR3)\n\t\t\t\tpProcess = gpSyser->m_pSysDebugger;\n\t\t\tTStrCpy(buf,(PCWSTR)pProcess->m_ProcessName);\n\t\t\tTStrCat(buf,\" : \");\n\t\t\tLength = TStrLen(buf);\n\t\t}\n\t}\n\tif(SyserOption.iDebugOutputSwitch)\n\t\tSyserAnsiToUnicode(string,&buf[Length],sizeof(buf)/sizeof(WISP_CHAR)-Length-1);\n\n\tif(KeGetCurrentIrql()<= DISPATCH_LEVEL)\n\t{\n\t\tif(SyserOption.iDebugOutputSwitch&SYSER_DBG_MSG_KERNEL)\n\t\t\tgpSyser->m_MainFrame.m_ConsoleWnd.Output(buf);\n\n\t\tif(SyserOption.iDebugOutputSwitch & SYSER_DBG_MSG_USER)\n\t\t{\n\t\t\tKeAcquireSpinLock(&gpSyser->m_SpinLock,&OldIRQL);\n\t\t\tgpSyser->InsertDbgMsg(buf);\n\t\t\tKeReleaseSpinLock(&gpSyser->m_SpinLock,OldIRQL);\n\t\t\tif(gpSyser->m_pMsgKEvent)\n\t\t\t\tKeSetEvent(gpSyser->m_pMsgKEvent,0,FALSE);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(SyserOption.iDebugOutputSwitch&SYSER_DBG_MSG_KERNEL)\n\t\t\tgpSyser->m_MainFrame.m_ConsoleWnd.Output(buf);\n\t\tgpSyser->InsertDbgMsg(buf);\n\t}\n}\n\n\nWCHAR LoadSystemModuleNameBuf[512];\nvoid LoadSystemModuleSymbols(PANSI_STRING pModuleName,DWORD dwModuleBaseAddress)\n{\n\tDWORD Len;\n\tif(dwModuleBaseAddress==0||pModuleName==NULL)\n\t\treturn;\n\tif(IsValidPage((VADDR32)pModuleName,sizeof(ANSI_STRING))==false)\n\t\treturn;\n\tif(pModuleName->Buffer==NULL)\n\t\treturn;\n\tif(IsValidPage((VADDR32)pModuleName->Buffer)==false)\n\t\treturn;\n\tif(pModuleName->Buffer[0]==0)\n\t\treturn;\n\tLen = pModuleName->Length>512?511:pModuleName->Length+1;\n\tTStrCpyLimit(LoadSystemModuleNameBuf,pModuleName->Buffer,Len);\n\t//gpSyser->m_RootWnd.m_ConsoleWnd.Printf(WSTR(\"Load Symbol %s\\n\"),LoadSystemModuleNameBuf);\n}\n\nstatic DWORD SafeReadDwordValue(DWORD* Address,DWORD DefaultValue)\n{\t\n\tif(IsValidPage((VADDR32)Address))\n\t\treturn *Address;\n\telse\n\t\treturn DefaultValue;\t\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/Interrupt2D.h",
    "content": "#ifndef _INTERRUPT2D_H_\n#define _INTERRUPT2D_H_\n\nvoid Int2DService();\nvoid Int2D_OutputDebugString(char *string);\nvoid LoadSystemModuleSymbols(PANSI_STRING pModuleName,DWORD dwModuleBaseAddress);\nextern ST_DESC*\tInt2DDesc; \nextern VADDR32\tgOldInt2DProc;\nextern LONG\tbInt2DBusy;\n\nDWORD SafeReadDwordValue(DWORD* Address,DWORD DefaultValue=0);\nbool IsValidAddress(void* Address,DWORD size=4);\nVOID BreakPrintDpcForIsr(PKDPC Dpc,PDEVICE_OBJECT DeviceObject,PIRP Irp,PCHAR string);\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/InterruptPatch.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"InterruptPatch.h\"\n\nINTERRUPT_STUB gInterruptStub[MAX_INTERRUPT_STUB];\n\nvoid InitInterruptStub()\n{\n\tZeroMemory(gInterruptStub,sizeof(gInterruptStub));\n\tfor(int i = 0; i < MAX_INTERRUPT_STUB; i++)\n\t{\n\t\tgInterruptStub[i].RetPCode=0xc3;\n\t\tgInterruptStub[i].PushPCode=0x68;\n\t\tgInterruptStub[i].PushPCode2=0x68;\n\t}\n}\n\nPINTERRUPT_STUB GetInterruptStub()\n{\n\tfor(int i = 0; i < MAX_INTERRUPT_STUB; i++)\n\t{\n\t\tif(gInterruptStub[i].OldInterruptAddress==0 &&gInterruptStub[i].InterruptVector==0&&gInterruptStub[i].IDTBaseAddress==0)\n\t\t{\n\t\t\treturn &gInterruptStub[i];\n\t\t}\n\t}\n\treturn NULL;\n}\nDWORD GetOrgInterruptAddress(PINTERRUPT_STUB pStub)\n{\n\tfor(int i=0;i<MAX_INTERRUPT_STUB;i++)\n\t{\n\t\tif(pStub==gInterruptStub+i)\n\t\t{\n\t\t\tif(gInterruptStub[i].OldInterruptAddress && gInterruptStub[i].IDTBaseAddress)\n\t\t\t\treturn gInterruptStub[i].OldInterruptAddress;\n\t\t}\n\t}\n\treturn 0;\n}\n\nvoid ReleaseInterruptStub(PINTERRUPT_STUB IStub)\n{\n\tZeroMemory(IStub,sizeof(INTERRUPT_STUB));\n\tIStub->RetPCode=0xc3;\n\tIStub->PushPCode=0x68;\n\tIStub->PushPCode2=0x68;\n}"
  },
  {
    "path": "Project/Syser/Source/InterruptPatch.h",
    "content": "#ifndef _INTERRUPTPATCH_H_\n#define _INTERRUPTPATCH_H_\n\n#include \"X86Define.h\"\n#define MAX_INTERRUPT_STUB 256\n\n#include <pshpack1.h>\ntypedef struct _INTERRUPT_STUB\n{\n\tBYTE PushPCode;\n\tDWORD OldInterruptAddress;\n\tBYTE PushPCode2;\n\tDWORD OwnerInterruptAddress;\n\tBYTE RetPCode;\n\tBYTE InterruptVector;\n\tDWORD IDTBaseAddress;\n\tX86_GATE_DECR GateDecr;\n}INTERRUPT_STUB,*PINTERRUPT_STUB;\n#include <poppack.h>\n\nextern INTERRUPT_STUB gInterruptStub[MAX_INTERRUPT_STUB];\nDWORD GetOrgInterruptAddress(PINTERRUPT_STUB pStub);\nvoid InitInterruptStub();\nvoid ReleaseInterruptStub(PINTERRUPT_STUB IStub);\nPINTERRUPT_STUB GetInterruptStub();\n\n#endif //_INTERRUPTPATCH_H_"
  },
  {
    "path": "Project/Syser/Source/IntraPatch.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"IntraPatch.h\"\nSYSERINTRABREAKPOINT gSyserPatchBreakPoint[1];\nvoid InstallSyserPatchBreakPoint()\n{\n\n}\nvoid UninstallSyserPatchBreakPoint()\n{\n\n}\n\nvoid testfun()\n{\n\t\n}"
  },
  {
    "path": "Project/Syser/Source/IntraPatch.h",
    "content": "#ifndef _INTRAPATCH_H_\n#define _INTRAPATCH_H_\ntypedef struct _SYSERINTRAPATCHBREAKPOINT\n{\n\tDWORD BPAddress;\n\tvoid* BeginPatchRoutine;\n\tvoid* EndPatchRoutine;\n\tBYTE  OrgIntruction[16];\n}SYSERINTRABREAKPOINT,*PSYSERINTRABREAKPOINT;\n#endif //_INTRAPATCH_H_"
  },
  {
    "path": "Project/Syser/Source/KernelObjectCmd.cpp",
    "content": "#include \"stdafx.h\"\n#include \"Syser.h\"\n\nbool bShowCommandTitle;\nbool bShowDebugInfo;\n\nint objdir_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tWISP_CHAR TypeName[65],ObjectName[65];\n\tOBJFINDDATA FindData;\n\tDWORD dwObjectCounter;\n\tDWORD dwDir;\n\tPWSTR pCmdLine;\n\tDWORD ObjectHeader;\n\tbool\tbTitle = false;\n\tdwDir=dwObjectRootDirectory;\n\tdwObjectCounter=0;\n\n\tif(argc>2)//пܶм\n\t{\n\t\tpCmdLine=TStrIStr(szCommandLine,\"objdir\");\n\t\tif(pCmdLine==NULL)\n\t\t\targc=1;\n\t\telse\n\t\t{\n\t\t\tpCmdLine+=6;\n\t\t\twhile(*pCmdLine==' ' || *pCmdLine=='\\t')\n\t\t\t\tpCmdLine++;\n\t\t\targv[1]=pCmdLine;\n\t\t}\n\n\t\targc=2;\n\t}\n\n\tif(argc==2)\n\t{\t\t\t\n\t\tdwDir = GetObjectDirectoryHandleByName(argv[1]);\n\t\tif(dwDir==0)\n\t\t{\n\t\t\tif(CALCEXP(argv[1],&ObjectHeader)==FALSE)\n\t\t\t\treturn 1;\n\t\t\tdwDir=ObjectHeader;\n\t\t}\n\t}\n\tif(IsDirectoryObjectType(dwDir))\n\t{\n\t\tFindData.ObjectHandle=dwDir;\n\t\tFindData.NextObjectPointer=NULL;\n\t\tFindData.DirectoryItemIndex=0;\n\t\twhile(FindNextObject(FindData))\n\t\t{\n\t\t\tif(bTitle==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Object   ObjHdr   %-40s%-20s\\n\"),WSTR(\"Name\"),WSTR(\"Type\"));\n\t\t\t\tbTitle=true;\n\t\t\t}\n\t\t\tdwObjectCounter++;\n\t\t\tGetObjectTypeName(FindData.ReturnObjectHandle,TypeName);\t\n\t\t\tGetObjectName(FindData.ReturnObjectHandle,ObjectName);\n\t\t\tObjectHeader = GetObjectHeader(FindData.ReturnObjectHandle);\n\t\t\tOUTPUT(WSTR(\"%08x %08x %-40s%-20s\\n\"),FindData.ReturnObjectHandle, ObjectHeader,ObjectName,TypeName);\n\t\t}\n\t\tOUTPUT(WSTR(\"%d Object(s)\" ),dwObjectCounter);\n\t\treturn 0;\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"Object   ObjHdr   %-40s%-20s\\n\"),WSTR(\"Name\"),WSTR(\"Type\"));\n\t\tGetObjectTypeName(dwDir,TypeName);\t\n\t\tGetObjectName(dwDir,ObjectName);\n\t\tObjectHeader = GetObjectHeader(dwDir);\n\t\tOUTPUT(WSTR(\"%08x %08x %-40s%-20s\\n\"),dwDir,ObjectHeader,ObjectName,TypeName);\n\t}\n\treturn 0;\n}\n\n\nbool DeviceCommandCallBack(DWORD ObjectHandle,WISP_CHAR**Name)\n{\n\tWISP_CHAR ObjectName[65];\n\tWISP_CHAR DisplayFormat[]=WSTR(\"%08X %08X %08X %08X %08X %08X %s\\n\");\n\tbool bFound=false;\n\tPDEVICE_OBJECT DeviceObject;\n\tDWORD          dwValue;\n\n\tif(bShowCommandTitle)\n\t{\n\t\tOUTPUT(WSTR(\"RefCnt   DrvObj   NextDev  AttDev   CurIrp   DevExten Name\\n\"));\n\t\tbShowCommandTitle=false;\n\t}\t\t\t\n\tDeviceObject=*(PDEVICE_OBJECT*)&ObjectHandle;\n\tGetObjectName(ObjectHandle,ObjectName);\t\n\tif(Name)\n\t{\n\t\tif( USHexStrToNum(Name[0], &dwValue) )\n\t\t{\n\t\t\tif(dwValue == (DWORD)DeviceObject)\n\t\t\t     bFound=true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TIMatchWithPattern(Name[0], ObjectName))\n\t\t\t{\n\t\t\t\tbFound=true;\n\t\t\t}\n\t\t}\n\t\tif(bFound==false)\n\t\t\treturn true;\n\t}\n\tdwListObjectCounter++;\n\tOUTPUT(DisplayFormat,\n\t\tDeviceObject->ReferenceCount,\n\t\tDeviceObject->DriverObject,\n\t\tDeviceObject->NextDevice,\n\t\tDeviceObject->AttachedDevice,\n\t\tDeviceObject->CurrentIrp,\n\t\tDeviceObject->DeviceExtension,\n\t\tObjectName\n\t\t);\n\tif(bFound)\n\t{\n\t\tif( TStrChr(Name[0], WISP_CHAR('*')) || TStrChr(Name[0], WISP_CHAR('?')) )\n\t\t\treturn true;\n\t\tWISP_CHAR* DeviceTypeName[]=\n\t\t{\n\t\t\tWSTR(\"\"),\n\t\t\tWSTR(\"FILE_DEVICE_BEEP\"),\n\t\t\tWSTR(\"FILE_DEVICE_CD_ROM\"),\n\t\t\tWSTR(\"FILE_DEVICE_CD_ROM_FILE_SYSTEM\"),\t\t\t\n\t\t\tWSTR(\"FILE_DEVICE_CONTROLLER\"),\n\t\t\tWSTR(\"FILE_DEVICE_DATALINK\"),\n\t\t\tWSTR(\"FILE_DEVICE_DFS\"),\n\t\t\tWSTR(\"FILE_DEVICE_DISK\"),\n\t\t\tWSTR(\"FILE_DEVICE_DISK_FILE_SYSTEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_FILE_SYSTEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_INPORT_PORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_KEYBOARD\"),\n\t\t\tWSTR(\"FILE_DEVICE_MAILSLOT\"),\n\t\t\tWSTR(\"FILE_DEVICE_MIDI_IN\"),\n\t\t\tWSTR(\"FILE_DEVICE_MIDI_OUT\"),\n\t\t\tWSTR(\"FILE_DEVICE_MOUSE\"),\n\t\t\tWSTR(\"FILE_DEVICE_MULTI_UNC_PROVIDER\"),\n\t\t\tWSTR(\"FILE_DEVICE_NAMED_PIPE\"),\n\t\t\tWSTR(\"FILE_DEVICE_NETWORK\"),\n\t\t\tWSTR(\"FILE_DEVICE_NETWORK_BROWSER\"),\n\t\t\tWSTR(\"FILE_DEVICE_NETWORK_FILE_SYSTEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_NULL\"),\n\t\t\tWSTR(\"FILE_DEVICE_PARALLEL_PORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_PHYSICAL_NETCARD\"),\n\t\t\tWSTR(\"FILE_DEVICE_PRINTER\"),\n\t\t\tWSTR(\"FILE_DEVICE_SCANNER\"),\n\t\t\tWSTR(\"FILE_DEVICE_SERIAL_MOUSE_PORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_SERIAL_PORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_SCREEN\"),\n\t\t\tWSTR(\"FILE_DEVICE_SOUND\"),\n\t\t\tWSTR(\"FILE_DEVICE_STREAMS\"),\n\t\t\tWSTR(\"FILE_DEVICE_TAPE\"),\n\t\t\tWSTR(\"FILE_DEVICE_TAPE_FILE_SYSTEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_TRANSPORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_UNKNOWN\"),\n\t\t\tWSTR(\"FILE_DEVICE_VIDEO\"),\n\t\t\tWSTR(\"FILE_DEVICE_VIRTUAL_DISK\"),\n\t\t\tWSTR(\"FILE_DEVICE_WAVE_IN\"),\n\t\t\tWSTR(\"FILE_DEVICE_WAVE_OUT\"),\n\t\t\tWSTR(\"FILE_DEVICE_8042_PORT\"),\n\t\t\tWSTR(\"FILE_DEVICE_NETWORK_REDIRECTOR\"),\n\t\t\tWSTR(\"FILE_DEVICE_BATTERY\"),\n\t\t\tWSTR(\"FILE_DEVICE_BUS_EXTENDER\"),\n\t\t\tWSTR(\"FILE_DEVICE_MODEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_VDM\"),\n\t\t\tWSTR(\"FILE_DEVICE_MASS_STORAGE\"),\n\t\t\tWSTR(\"FILE_DEVICE_SMB\"),\n\t\t\tWSTR(\"FILE_DEVICE_KS\"),\n\t\t\tWSTR(\"FILE_DEVICE_CHANGER\"),\n\t\t\tWSTR(\"FILE_DEVICE_SMARTCARD\"),\n\t\t\tWSTR(\"FILE_DEVICE_ACPI\"),\n\t\t\tWSTR(\"FILE_DEVICE_DVD\"),\n\t\t\tWSTR(\"FILE_DEVICE_FULLSCREEN_VIDEO\"),\n\t\t\tWSTR(\"FILE_DEVICE_DFS_FILE_SYSTEM\"),\n\t\t\tWSTR(\"FILE_DEVICE_DFS_VOLUME\"),\n\t\t\tWSTR(\"FILE_DEVICE_SERENUM\"),\n\t\t\tWSTR(\"FILE_DEVICE_TERMSRV\"),\n\t\t\tWSTR(\"FILE_DEVICE_KSEC\"),\n\t\t\tWSTR(\"FILE_DEVICE_FIPS\"),\n\t\t\tNULL,\n\t\t};\n\n\n\n\n\t\tWISP_CHAR FileAligment[30]=WSTR(\"\");\t\t\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"Timer*\"),DeviceObject->Timer);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"Flags\"),DeviceObject->Flags);\n\t\tif(DeviceObject->Flags&DO_VERIFY_VOLUME)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_VERIFY_VOLUME\"));\n\t\tif(DeviceObject->Flags&DO_BUFFERED_IO)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_BUFFERED_IO\"));\n\t\tif(DeviceObject->Flags&DO_DIRECT_IO)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_DIRECT_IO\"));\n\t\tif(DeviceObject->Flags&DO_EXCLUSIVE)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_EXCLUSIVE\"));\n\t\tif(DeviceObject->Flags&DO_MAP_IO_BUFFER)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_MAP_IO_BUFFER\"));\n\t\tif(DeviceObject->Flags&DO_DEVICE_HAS_NAME)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_DEVICE_HAS_NAME\"));\n\t\tif(DeviceObject->Flags&DO_DEVICE_INITIALIZING)\t\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_DEVICE_INITIALIZING\"));\n\t\tif(DeviceObject->Flags&DO_SYSTEM_BOOT_PARTITION)\t\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_SYSTEM_BOOT_PARTITION\"));\n\t\tif(DeviceObject->Flags&DO_LONG_TERM_REQUESTS)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_LONG_TERM_REQUESTS\"));\n\t\tif(DeviceObject->Flags&DO_NEVER_LAST_DEVICE)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_NEVER_LAST_DEVICE\"));\n\t\tif(DeviceObject->Flags&DO_SHUTDOWN_REGISTERED)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_SHUTDOWN_REGISTERED\"));\n\t\tif(DeviceObject->Flags&DO_BUS_ENUMERATED_DEVICE)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_BUS_ENUMERATED_DEVICE\"));\n\t\tif(DeviceObject->Flags&DO_POWER_PAGABLE)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_POWER_PAGABLE\"));\n\t\tif(DeviceObject->Flags&DO_POWER_INRUSH)\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_POWER_INRUSH\"));\n\t\tif(DeviceObject->Flags&DO_LOW_PRIORITY_FILESYSTEM)\t\n\t\t\tOUTPUT(WSTR(\"%-20s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DO_LOW_PRIORITY_FILESYSTEM\"));\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"Characteristics\"),DeviceObject->Characteristics);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"Vpb*\"),DeviceObject->Vpb);\t\t\n\t\tWISP_CHAR* NameDeviceType;\n\t\tif(DeviceObject->DeviceType>sizeof(DeviceTypeName)/sizeof(DeviceTypeName[0]))\n\t\t\tNameDeviceType=DeviceTypeName[0];\n\t\telse\n\t\t\tNameDeviceType=DeviceTypeName[DeviceObject->DeviceType];\n\t\tOUTPUT(WSTR(\"%-20s : %-8x %s\\n\"),WSTR(\"Device Type\"),DeviceObject->DeviceType,NameDeviceType);\n\t\tOUTPUT(WSTR(\"%-20s : %d\\n\"),WSTR(\"StackSize\"),DeviceObject->StackSize);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"&Queue\"),&DeviceObject->Queue);\n\t\t\n\t\tswitch(DeviceObject->AlignmentRequirement) {\n\t\tcase FILE_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_WORD_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_WORD_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_LONG_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_LONG_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_QUAD_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_QUAD_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_OCTA_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_OCTA_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_32_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_32_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_64_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_64_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_128_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_128_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_256_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_256_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\n\t\tcase FILE_512_BYTE_ALIGNMENT:\n\t\t\tTSPrintf(FileAligment,WSTR(\"FILE_512_BYTE_ALIGNMENT\\n\"));\n\t\t\tbreak;\t\t\n\t\t}\n\t\tOUTPUT(WSTR(\"%-20s : %08x %s\\n\"),WSTR(\"AlignmentRequirement\"),DeviceObject->AlignmentRequirement,FileAligment);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"&DeviceQueue\"),&DeviceObject->DeviceQueue);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"&Dpc\"),&DeviceObject->Dpc);\n\t\tOUTPUT(WSTR(\"%-20s : %d\\n\"),WSTR(\"ActiveThreadCount\"),DeviceObject->ActiveThreadCount);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"SecurityDescriptor*\"),DeviceObject->SecurityDescriptor);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"&DeviceLock\"),&DeviceObject->DeviceLock);\n\t\tOUTPUT(WSTR(\"%-20s : %04x\\n\"),WSTR(\"SectorSize\"),DeviceObject->SectorSize);\n\t\tOUTPUT(WSTR(\"%-20s : %04x\\n\"),WSTR(\"Spare1\"),DeviceObject->Spare1);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"DeviceObjectExtn*\"),DeviceObject->DeviceObjectExtension);\n\t\tOUTPUT(WSTR(\"%-20s : %08x\\n\"),WSTR(\"Reserved*\"),DeviceObject->Reserved);\n\t}\t\n\treturn true;\n}\n\nint device_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOBJFINDDATA FindData;\n\tbShowCommandTitle = true;\n\tdwListObjectCounter=0;\n\tif(argc==1)\n\t\targv=NULL;\n\telse if(argc==2)\n\t{\n\t\targv[0]=argv[1];\n\t\targv[1]=NULL;\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"DEVICE [device-name | pdevice-object]\\n\"));\t\n\t\treturn 0;\n//\t\tfor(int i=1;i < argc;i++)\t\n//\t\t\targv[i-1]=argv[i];\t\t\n//\t\targv[argc-1]=NULL;\n\t}\n\tFindFirstObject(NULL,FindData);\n\tListObject(FindData,DEVICE_OBJECT_TYPE,DeviceCommandCallBack,argv);\n\tif(dwListObjectCounter)\n\t\tOUTPUT(WSTR(\"%d Object (s)\\n\"),dwListObjectCounter);\t\n\treturn 0;\n}\n\n//fix to the follow line for support UNC name and pdriver-object, by AllenZhang\n//\nbool DriverCommandCallBack(DWORD ObjectHandle,WISP_CHAR**Name)\n{\n\tWISP_CHAR ObjectName[65];\n\tWISP_CHAR DisplayFormat[]=WSTR(\"%08X %08X %08X %08X %08X %08X %08X %s\\n\");\n\tbool bFound=false;\n\tPDRIVER_OBJECT DriverObject;\n\tDWORD          dwValue;\n\n\tDriverObject = *(PDRIVER_OBJECT*)&ObjectHandle;\n\tif(bShowCommandTitle)\n\t{\n\t\tOUTPUT(WSTR(\"Start    Size     DrvSect  pDrvExt  DrvInit  DrvStaIO DrvUnld  Name\\n\"));\n\t\tbShowCommandTitle=false;\n//\t\tbShowDebugInfo = 0;\n\t}\t\n\tGetObjectName(ObjectHandle,ObjectName);\t\n\tif(Name)\n\t{\t\t\n\t\tif( USHexStrToNum(Name[0], &dwValue) )\n\t\t{\n//\t\t\tif(0 == bShowDebugInfo)\n//\t\t\t{\n//\t\t\t\tOUTPUT(WSTR(\"Input is(%s), dwDriverObject(%08X)\\n\"), Name[0], dwValue);\n//\t\t\t\tbShowDebugInfo = 1;\n//\t\t\t}\n\t\t\tif(dwValue == (DWORD)DriverObject->DriverSection)\n\t\t\t     bFound=true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TIMatchWithPattern(Name[0], ObjectName))\n\t\t\t{\n\t\t\t\tbFound=true;\n\t\t\t}\n\t\t}\n\t\tif(bFound==false)\n\t\t\treturn true;\n\t}\n\tdwListObjectCounter++;\n\tOUTPUT(DisplayFormat,\n\t\tDriverObject->DriverStart,\n\t\tDriverObject->DriverSize,\n\t\tDriverObject->DriverSection,\n\t\tDriverObject->DriverExtension,\n\t\tDriverObject->DriverInit,\n\t\tDriverObject->DriverStartIo,\n\t\tDriverObject->DriverUnload,\n\t\tObjectName\n\t\t);\n\tif(bFound)\n\t{\n\t\t// add by allenzhang filter the UNC name\n\t\tif( TStrChr(Name[0], WISP_CHAR('*')) || TStrChr(Name[0], WISP_CHAR('?')) )\n\t\t\treturn true;\n\t\t// add end\n\t\tOUTPUT(WSTR(\"%-16s : %08x\\n\"),WSTR(\"AddDevice\"),0);\n\t\tOUTPUT(WSTR(\"%-16s : %08x\\n\"),WSTR(\"DeviceObject*\"),DriverObject->DeviceObject);\n\t\tOUTPUT(WSTR(\"%-16s : %08x\\n\"),WSTR(\"Flags\"),DriverObject->Flags);\n\t\tif(DriverObject->Flags&DRVO_UNLOAD_INVOKED)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_UNLOAD_INVOKED\"));\n\t\tif(DriverObject->Flags&DRVO_LEGACY_DRIVER)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_LEGACY_DRIVER\"));\n\t\tif(DriverObject->Flags&DRVO_BUILTIN_DRIVER)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_BUILTIN_DRIVER\"));\n\t\tif(DriverObject->Flags&DRVO_REINIT_REGISTERED)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_REINIT_REGISTERED\"));\n\t\tif(DriverObject->Flags&DRVO_INITIALIZED)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_INITIALIZED\"));\n\t\tif(DriverObject->Flags&DRVO_BOOTREINIT_REGISTERED)\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_BOOTREINIT_REGISTERED\"));\n\t\tif(DriverObject->Flags&DRVO_LEGACY_RESOURCES)\t\n\t\t\tOUTPUT(WSTR(\"%-16s : %-8s %s\\n\"),WSTR(\"\"),WSTR(\"\"),WSTR(\"DRVO_LEGACY_RESOURCES\"));\n\n\n\t\tOUTPUT(WSTR(\"%-16s : %s\\n\"),WSTR(\"HardwareDatabase\"),DriverObject->HardwareDatabase->Buffer);\n\t\tOUTPUT(WSTR(\"%-16s : %08x\\n\"),WSTR(\"FastIoDispatch*\"),DriverObject->FastIoDispatch);\n\t\tWISP_CHAR* MJ_NAME[]=\n\t\t{\n\t\t\tWSTR(\"IRP_MJ_CREATE\"),\n\t\t\tWSTR(\"IRP_MJ_CREATE_NAMED_PIPE\"),\n\t\t\tWSTR(\"IRP_MJ_CLOSE\"),\n\t\t\tWSTR(\"IRP_MJ_READ\"),\n\t\t\tWSTR(\"IRP_MJ_WRITE\"),\n\t\t\tWSTR(\"IRP_MJ_QUERY_INFORMATION\"),\n\t\t\tWSTR(\"IRP_MJ_SET_INFORMATION\"),\n\t\t\tWSTR(\"IRP_MJ_QUERY_EA\"),\n\t\t\tWSTR(\"IRP_MJ_SET_EA\"),\n\t\t\tWSTR(\"IRP_MJ_FLUSH_BUFFERS\"),\n\t\t\tWSTR(\"IRP_MJ_QUERY_VOLUME_INFORMATION\"),\n\t\t\tWSTR(\"IRP_MJ_SET_VOLUME_INFORMATION\"),\n\t\t\tWSTR(\"IRP_MJ_DIRECTORY_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_FILE_SYSTEM_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_DEVICE_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_INTERNAL_DEVICE_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_SHUTDOWN\"),\n\t\t\tWSTR(\"IRP_MJ_LOCK_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_CLEANUP\"),\n\t\t\tWSTR(\"IRP_MJ_CREATE_MAILSLOT\"),\n\t\t\tWSTR(\"IRP_MJ_QUERY_SECURITY\"),\n\t\t\tWSTR(\"IRP_MJ_SET_SECURITY\"),\n\t\t\tWSTR(\"IRP_MJ_POWER\"),\n\t\t\tWSTR(\"IRP_MJ_SYSTEM_CONTROL\"),\n\t\t\tWSTR(\"IRP_MJ_DEVICE_CHANGE\"),\n\t\t\tWSTR(\"IRP_MJ_QUERY_QUOTA\"),\n\t\t\tWSTR(\"IRP_MJ_SET_QUOTA\"),\n\t\t\tWSTR(\"IRP_MJ_PNP\"),\n\t\t\tWSTR(\"IRP_MJ_PNP_POWER\"),\n\t\t\tNULL,\t\n\t\t};\n\t\t\n\t\tDWORD tmpvar,tmp1var;\n\t\ttmp1var=*(DWORD*) &DriverObject->DriverStart;\n\t\tfor(int i = 0; i <= IRP_MJ_MAXIMUM_FUNCTION;i++)\n\t\t{\n\t\t\ttmpvar=*(DWORD*) &DriverObject->MajorFunction[i];\n\t\t\tif(tmpvar>tmp1var && tmpvar<tmp1var+DriverObject->DriverSize)\n\t\t\t\tOUTPUT(WSTR(\"%-35s at 8:%08x\\n\"),MJ_NAME[i],tmpvar);\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(tmpvar!=(DWORD)gDefaultPDriverDispatch)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"%<b>%-35s at 8:%08x\\n\"),MJ_NAME[i],tmpvar);\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t}\n\treturn true;\n}\n\nint driver_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOBJFINDDATA FindData;\n\tbShowCommandTitle=true;\n\tdwListObjectCounter=0;\n\tif(argc==1)\n\t\targv=NULL;\n\telse if(argc==2)\n\t{\n\t\targv[0]=argv[1];\n\t\targv[1]=NULL;\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"DRIVER [driver-name | pdriver-object] Object\\n\"));\t\n\t\treturn 0;\n\t}\t\n\tFindFirstObject(NULL,FindData);\n\tListObject(FindData,DRIVER_OBJECT_TYPE,DriverCommandCallBack,argv);\n\tif(dwListObjectCounter)\n\t\tOUTPUT(WSTR(\"%d Object (s)\\n\"),dwListObjectCounter);\t\n\treturn 0;\n}\n\nint apc_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOUTPUT(WSTR(\"Function not implemented\\n\"));\n\treturn 0;\n}\n\nbool KmutexCommandCallBack(DWORD ObjectHandle,WISP_CHAR**Name)\n{\n\tWISP_CHAR ObjectName[65];\n\tWISP_CHAR DisplayFormat[]=WSTR(\"%08X %s %8x(%3x) %s %x  %s\\n\");\n\tPKMUTANT KMutantObject;\n\n\tif(bShowCommandTitle)\n\t{\n\t\tOUTPUT(WSTR(\"Address  State     Own.KTEB(PIT) Aban APC  Name\\n\"));\n\t\tbShowCommandTitle=false;\n\t}\n\tKMutantObject = *(PKMUTANT*)&ObjectHandle;\n\tdwListObjectCounter++;\n\tGetObjectName(ObjectHandle,ObjectName);\n\tOUTPUT(DisplayFormat,ObjectHandle,KMutantObject->Header.SignalState?WSTR(\"Signalled\"):WSTR(\"Clear    \"),KMutantObject->OwnerThread,0,KMutantObject->Abandoned?WSTR(\"Y  \"):WSTR(\"N  \"),KMutantObject->ApcDisable,ObjectName);\n\treturn true;\n}\n\nint kmutex_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOBJFINDDATA FindData;\n\tbShowCommandTitle = true;\n\tdwListObjectCounter=0;\n\tif(argc==1)\n\t\targv=NULL;\n\telse\n\t{\n\t\tfor(int i=1;i < argc;i++)\t\n\t\t\targv[i-1]=argv[i];\t\t\n\t\targv[argc-1]=NULL;\n\t}\n\tFindFirstObject(NULL,FindData);\n\tListObject(FindData,MUTANT_OBJECT_TYPE,KmutexCommandCallBack,argv);\n\tOUTPUT(WSTR(\"%d Object (s)\\n\"),dwListObjectCounter);\n\treturn 0;\n}\n\nbool KeventCommandCallBack(DWORD ObjectHandle,WISP_CHAR**Name)\n{\n\tWISP_CHAR ObjectName[65];\n\tWISP_CHAR DisplayFormat[]=WSTR(\"%08X %s %s %s\\n\");\n\tWISP_CHAR *EventType[] ={ WSTR(\"Notification\"),WSTR(\"Kernel      \"),WSTR(\"Unknown      \"),};\n\tPKEVENT KEventObject;\n\tBYTE EventTypeId;\n\n\tif(bShowCommandTitle)\n\t{\n\t\tOUTPUT(WSTR(\"Address  Type         State     Name\\n\"));\n\t\tbShowCommandTitle=false;\n\t}\n\tKEventObject = *(PKEVENT*)&ObjectHandle;\n\tdwListObjectCounter++;\n\tGetObjectName(ObjectHandle,ObjectName);\n\tEventTypeId = ReadByteDefaultValue(*(DWORD**)&ObjectHandle,0xff);\n\tif(EventTypeId != ReadByteDefaultValue(*(DWORD**)&ObjectHandle,0xf0))\n\t\tEventTypeId=2;\n\tif(EventTypeId>2)\n\t\tEventTypeId=2;\n\tOUTPUT(DisplayFormat,ObjectHandle,EventType[EventTypeId],KEventObject->Header.SignalState?WSTR(\"Signalled\"):WSTR(\"Clear    \"),ObjectName);\n\treturn true;\n}\nint kevent_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOBJFINDDATA FindData;\n\tbShowCommandTitle = true;\n\tdwListObjectCounter=0;\n\tif(argc==1)\n\t\targv=NULL;\n\telse\n\t{\n\t\tfor(int i=1;i < argc;i++)\t\n\t\t\targv[i-1]=argv[i];\t\t\n\t\targv[argc-1]=NULL;\n\t}\n\tFindFirstObject(NULL,FindData);\n\tListObject(FindData,EVENT_OBJECT_TYPE,KeventCommandCallBack,argv);\n\tOUTPUT(WSTR(\"%d Object (s)\"),dwListObjectCounter);\n\treturn 0;\n}\nbool KsemCommandCallBack(DWORD ObjectHandle,WISP_CHAR**Name)\n{\n\tWISP_CHAR ObjectName[65];\n\tWISP_CHAR DisplayFormat[]=WSTR(\"%08X %08X %s %s\\n\");\t\t\n\tPKSEMAPHORE KSemaphoreObject;\n\t\n\tif(bShowCommandTitle)\n\t{\n\t\tOUTPUT(WSTR(\"Address  Limit    State     Name\\n\"));\n\t\tbShowCommandTitle=false;\n\t}\n\tKSemaphoreObject = *(PKSEMAPHORE*)&ObjectHandle;\n\tdwListObjectCounter++;\t\t\n\tGetObjectName(ObjectHandle,ObjectName);\t\t\n\tOUTPUT(DisplayFormat,ObjectHandle,KSemaphoreObject->Limit,KSemaphoreObject->Header.SignalState?WSTR(\"Signalled\"):WSTR(\"Clear    \"),ObjectName);\n\treturn true;\t\n}\nint ksem_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tOBJFINDDATA FindData;\n\tbShowCommandTitle = true;\n\tdwListObjectCounter=0;\n\tif(argc==1)\n\t\targv=NULL;\n\telse\n\t{\n\t\tfor(int i=1;i < argc;i++)\t\n\t\t\targv[i-1]=argv[i];\t\t\n\t\targv[argc-1]=NULL;\n\t}\n\tFindFirstObject(NULL,FindData);\n\tListObject(FindData,SEMAPHORE_OBJECT_TYPE,KsemCommandCallBack,argv);\n\tOUTPUT(WSTR(\"%d Object (s)\\n\"),dwListObjectCounter);\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Syser/Source/KernelObjectCmd.h",
    "content": "#ifndef __SYSTEMKERNELOBJECT__H__\n#define __SYSTEMKERNELOBJECT__H__\n\n#endif //__SYSTEMKERNELOBJECT__H__"
  },
  {
    "path": "Project/Syser/Source/KeyMappingPage.cpp",
    "content": "#include \"StdAfx.h\"\n#ifdef CODE_OS_NT_DRV\n#include \"Syser.h\"\n#endif\n//#include \"SyserOptionApp.h\"\n#include \"KeyMappingPage.h\"\n#include \"SyserResource.h\"\n//using namespace std;\nBYTE gExternTable[]=\n{\n\t0xff,\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\t0xff,\t\t\t\t\t//scancode 01 0x01 'Esc'\n\t0xff,\t\t\t\t\t//scancode 02 0x02\t'1'\n\t0xff,\t\t\t\t\t//scancode 03 0x03\t'2'\n\t0xff,\t\t\t\t\t//scancode 04 0x04\t'3'\n\t0xff,\t\t\t\t\t//scancode 05 0x05\t'4'\n\t0xff,\t\t\t\t\t//scancode 06 0x06\t'5'\n\t0xff,\t\t\t\t\t//scancode 07 0x07\t'6'\n\t0xff,\t\t\t\t\t//scancode 08 0x08\t'7'\n\t0xff,\t\t\t\t\t//scancode 09 0x09\t'8'\n\t0xff,\t\t\t\t\t//scancode 10 0x0a\t'9'\n\t0xff,\t\t\t\t\t//scancode 11 0x0b  '0'\n\t0xff,\t\t\t\t\t//scancode 12 0x0c  '-_'\n\t0xff,\t\t\t\t\t//scancode 13 0x0d  '=+'\t\n\t0xff,\t\t\t\t\t//scancode 14 0x0e  'Back Space'\n\t0xff,\t\t\t\t\t//scancode 15 0x0f  'Tab'\n\t0xff,\t\t\t\t\t//scancode 16 0x10\t'Q'\n\t0xff,\t\t\t\t\t//scancode 17 0x11\t'W'\n\t0xff,\t\t\t\t\t//scancode 18 0x12\t'E'\n\t0xff,\t\t\t\t\t//scancode 19 0x13\t'R'\n\t0xff,\t\t\t\t\t//scancode 20 0x14\t'T'\n\t0xff,\t\t\t\t\t//scancode 21 0x15\t'Y'\n\t0xff,\t\t\t\t\t//scancode 22 0x16\t'U'\n\t0xff,\t\t\t\t\t//scancode 23 0x17\t'I'\n\t0xff,\t\t\t\t\t//scancode 24 0x18\t'O'\n\t0xff,\t\t\t\t\t//scancode 25 0x19\t'P'\n\t0xff,\t\t\t\t\t//scancode 26 0x1a\t'[{'\n\t0xff,\t\t\t\t\t//scancode 27 0x1b\t'P'\n\tWISP_VK_RETURN,\t\t\t//scancode 28 0x1c\t'}]'\n\tWISP_VK_RCONTROL,\t\t//scancode 29 0x1d\t'Left Ctrl'\n\t0xff,\t\t\t\t\t//scancode 30 0x1E\t'A'\n\t0xff,\t\t\t\t\t//scancode 31 0x1F\t'S'\n\t0xff,\t\t\t\t\t//scancode 32 0x20\t'D'\n\t0xff,\t\t\t\t\t//scancode 33 0x21\t'F'\n\t0xff,\t\t\t\t\t//scancode 34 0x22\t'G'\n\t0xff,\t\t\t\t\t//scancode 35 0x23\t'H'\n\t0xff,\t\t\t\t\t//scancode 36 0x24\t'J'\n\t0xff,\t\t\t\t\t//scancode 37 0x25\t'K'\n\t0xff,\t\t\t\t\t//scancode 38 0x26\t'L'\n\t0xff,\t\t\t\t\t\t//scancode 39 0x27\t';:'\n\t0xff,\t\t\t\t\t\t//scancode 40 0x28\t''\"'\n\t0xff,\t\t\t\t\t\t//scancode 41 0x29  ''\n\t0xff,\t\t\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\t0xff,\t\t\t\t\t\t//scancode 43 0x2b  '\\|'\n\t0xff,\t\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\t0xff,\t\t\t\t\t\t//scancode 45 0x2d\t'X'\n\t0xff,\t\t\t\t\t\t//scancode 46 0x2E\t'C'\n\t0xff,\t\t\t\t\t\t//scancode 47 0x2F\t'V'\n\t0xff,\t\t\t\t\t\t//scancode 48 0x30\t'B'\n\t0xff,\t\t\t\t\t\t//scancode 49 0x31\t'N'\n\t0xff,\t\t\t\t\t\t//scancode 50 0x32\t'M'\n\t0xff,\t\t\t\t\t\t//scancode 51 0x33  ',<'\n\t0xff,\t\t\t\t\t\t//scancode 52 0x34  ',>'\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\t0xff,\t\t\t\t\t\t//scancode 54 0x36  'Right Shift'\n\tWISP_VK_PRINT,\t\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_RALT,\t\t\t\t//scancode 56 0x38  'Left Alt'\n\t0xff,\t\t\t\t\t\t//scancode 57 0x39  'Blank Space' \n\t0xff,\t\t\t\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\t0xff,\t\t\t\t\t\t//scancode 59 0x3b  'F1' \n\t0xff,\t\t\t\t\t\t//scancode 60 0x3c  'F2'\n\t0xff,\t\t\t\t\t\t//scancode 61 0x3d  'F3'\n\t0xff,\t\t\t\t\t\t//scancode 62 0x3e  'F4'\n\t0xff,\t\t\t\t\t\t//scancode 63 0x3f  'F5'\n\t0xff,\t\t\t\t\t\t//scancode 64 0x40  'F6'\n\t0xff,\t\t\t\t\t\t//scancode 65 0x41  'F7'\n\t0xff,\t\t\t\t\t\t//scancode 66 0x42  'F8'\n\t0xff,\t\t\t\t\t\t//scancode 67 0x43  'F9'\n\t0xff,\t\t\t\t\t\t//scancode 68 0x44  'F10'\n\t0xff,\t\t\t\t\t\t//scancode 69 0x45  'Num Lock'   \n\t0xff,\t\t\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\tWISP_VK_HOME,\t\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_UP,\t\t\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_PAGE_UP,\t\t\t//scancode 73 0x49  'Page Up'С\n\t0xff,\t\t\t\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_LEFT,\t\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\t0xff,\t\t\t\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_RIGHT,\t\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\t0xff,\t\t\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_END,\t\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_DOWN,\t\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_PAGE_DOWN,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_INSERT,\t\t\t\t//scancode 82 0x52  'Ins'С\n\tWISP_VK_DELETE,\t\t\t\t//scancode 83 0x53  'Del'С\n\t0xff,\t\t\t\t\t\t//scancode 84 0x54\n\t0xff,\t\t\t\t\t\t//scancode 85 0x55\n\t0xff,\t\t\t\t\t\t//scancode 86 0x56\n\t0xff,\t\t\t\t\t\t//scancode 87 0x57  'F11'\n\t0xff,\t\t\t\t\t\t//scancode 88 0x58  'F12'\n\t0xff,\t\t\t\t\t\t//scancode 89 0x59  ''\n\t0xff,\t\t\t\t\t\t//scancode 90 0x5a  ''\n\tWISP_VK_LWIN,\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\tWISP_VK_RWIN,\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\tWISP_VK_APPS,\t\t\t\t//scancode 93 0x5d  'Apps'\n\tWISP_VK_0X5E,\t\t\t\t//scancode 94 0x5e  'Power'\n\tWISP_VK_SLEEP,\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t0xff,\t\t\t\t\t\t//scancode 96 0x60\t\n\t0xff,\t\t\t\t\t\t//scancode 97 0x61  \n\t0xff,\t\t\t\t\t\t//scancode 98 0x62\n\t0xff,\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n};\n//E0 2A E0 37 'Print Screen'  //E0 B7 E0 AA 'Print Screen' ̧\n//E1 1D 45 E1 9D C5'Pause Break'  ̧ʱûɨ\nBYTE gNormalTable[]=\n{\n\t0xff,\t\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\tWISP_VK_ESCAPE,\t\t\t\t//scancode 01 0x01 'Esc'\n\tWISP_VK_1,\t\t\t\t\t//scancode 02 0x02\t'1'\n\tWISP_VK_2,\t\t\t\t\t//scancode 03 0x03\t'2'\n\tWISP_VK_3,\t\t\t\t\t//scancode 04 0x04\t'3'\n\tWISP_VK_4,\t\t\t\t\t//scancode 05 0x05\t'4'\n\tWISP_VK_5,\t\t\t\t\t//scancode 06 0x06\t'5'\n\tWISP_VK_6,\t\t\t\t\t//scancode 07 0x07\t'6'\n\tWISP_VK_7,\t\t\t\t\t//scancode 08 0x08\t'7'\n\tWISP_VK_8,\t\t\t\t\t//scancode 09 0x09\t'8'\n\tWISP_VK_9,\t\t\t\t\t//scancode 10 0x0a\t'9'\n\tWISP_VK_0,\t\t\t\t\t//scancode 11 0x0b  '0'\n\tWISP_VK_OEM_MINUS,\t\t\t//scancode 12 0x0c  '-_'\n\tWISP_VK_OEM_PLUS,\t\t\t//scancode 13 0x0d  '=+'\t\n\tWISP_VK_BACK,\t\t\t\t//scancode 14 0x0e  'Back Space'\n\tWISP_VK_TAB,\t\t\t\t//scancode 15 0x0f  'Tab'\n\tWISP_VK_Q,\t\t\t\t\t//scancode 16 0x10\t'Q'\n\tWISP_VK_W,\t\t\t\t\t//scancode 17 0x11\t'W'\n\tWISP_VK_E,\t\t\t\t\t//scancode 18 0x12\t'E'\n\tWISP_VK_R,\t\t\t\t\t//scancode 19 0x13\t'R'\n\tWISP_VK_T,\t\t\t\t\t//scancode 20 0x14\t'T'\n\tWISP_VK_Y,\t\t\t\t\t//scancode 21 0x15\t'Y'\n\tWISP_VK_U,\t\t\t\t\t//scancode 22 0x16\t'U'\n\tWISP_VK_I,\t\t\t\t\t//scancode 23 0x17\t'I'\n\tWISP_VK_O,\t\t\t\t\t//scancode 24 0x18\t'O'\n\tWISP_VK_P,\t\t\t\t\t//scancode 25 0x19\t'P'\n\tWISP_VK_LSQUARE_BRACKET,\t//scancode 26 0x1a\t'[{'\n\tWISP_VK_RSQUARE_BRACKET,\t//scancode 27 0x1b\t'P'\n\tWISP_VK_RETURN,\t\t\t\t//scancode 28 0x1c\t'Enter'\n\tWISP_VK_CONTROL,\t\t\t//scancode 29 0x1d\t'Left Ctrl'\n\tWISP_VK_A,\t\t\t\t\t//scancode 30 0x1E\t'A'\n\tWISP_VK_S,\t\t\t\t\t//scancode 31 0x1F\t'S'\n\tWISP_VK_D,\t\t\t\t\t//scancode 32 0x20\t'D'\n\tWISP_VK_F,\t\t\t\t\t//scancode 33 0x21\t'F'\n\tWISP_VK_G,\t\t\t\t\t//scancode 34 0x22\t'G'\n\tWISP_VK_H,\t\t\t\t\t//scancode 35 0x23\t'H'\n\tWISP_VK_J,\t\t\t\t\t//scancode 36 0x24\t'J'\n\tWISP_VK_K,\t\t\t\t\t//scancode 37 0x25\t'K'\n\tWISP_VK_L,\t\t\t\t\t//scancode 38 0x26\t'L'\n\tWISP_VK_SEMI,\t\t\t\t//scancode 39 0x27\t';:'\n\tWISP_VK_QUOT,\t\t\t\t//scancode 40 0x28\t''\"'\n\t0xff,\t\t\t\t\t\t//scancode 41 0x29  ''\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\tWISP_VK_OEM_5,\t\t\t\t//scancode 43 0x2b  '\\|'\n\tWISP_VK_Z,\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\tWISP_VK_X,\t\t\t\t\t//scancode 45 0x2d\t'X'\n\tWISP_VK_C,\t\t\t\t\t//scancode 46 0x2E\t'C'\n\tWISP_VK_V,\t\t\t\t\t//scancode 47 0x2F\t'V'\n\tWISP_VK_B,\t\t\t\t\t//scancode 48 0x30\t'B'\n\tWISP_VK_N,\t\t\t\t\t//scancode 49 0x31\t'N'\n\tWISP_VK_M,\t\t\t\t\t//scancode 50 0x32\t'M'\n\tWISP_VK_OEM_COMMA,\t\t\t//scancode 51 0x33  ',<'\n\tWISP_VK_OEM_PERIOD,\t\t\t//scancode 52 0x34  ',>'\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\tWISP_VK_SHIFT,\t\t\t\t//scancode 54 0x36  'Right Shift'\n\tWISP_VK_MULTIPLY,\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_ALT,\t\t\t\t//scancode 56 0x38  'Left Alt'\n\tWISP_VK_SPACE,\t\t\t\t//scancode 57 0x39  'Blank Space' \n\tWISP_VK_CAPITAL,\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\tWISP_VK_F1,\t\t\t\t\t//scancode 59 0x3b  'F1' \n\tWISP_VK_F2,\t\t\t\t\t//scancode 60 0x3c  'F2'\n\tWISP_VK_F3,\t\t\t\t\t//scancode 61 0x3d  'F3'\n\tWISP_VK_F4,\t\t\t\t\t//scancode 62 0x3e  'F4'\n\tWISP_VK_F5,\t\t\t\t\t//scancode 63 0x3f  'F5'\n\tWISP_VK_F6,\t\t\t\t\t//scancode 64 0x40  'F6'\n\tWISP_VK_F7,\t\t\t\t\t//scancode 65 0x41  'F7'\n\tWISP_VK_F8,\t\t\t\t\t//scancode 66 0x42  'F8'\n\tWISP_VK_F9,\t\t\t\t\t//scancode 67 0x43  'F9'\n\tWISP_VK_F10,\t\t\t\t//scancode 68 0x44  'F10'\n\tWISP_VK_NUMLOCK,\t\t\t//scancode 69 0x45  'Num Lock'   Pause Break  0xE1 0x1D 0x45 0xE1 0x9D 0xC5\n\tWISP_VK_SCROLL,\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\tWISP_VK_NUMPAD7,\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_NUMPAD8,\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_NUMPAD9,\t\t\t//scancode 73 0x49  'Page Up'С\n\tWISP_VK_SUBTRACT,\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_NUMPAD4,\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\tWISP_VK_NUMPAD5,\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_NUMPAD6,\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\tWISP_VK_ADD,\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_NUMPAD1,\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_NUMPAD2,\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_NUMPAD3,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_NUMPAD0,\t\t\t//scancode 82 0x52  'Ins'С\n\tWISP_VK_DECIMAL,\t\t\t//scancode 83 0x53  'Del'С\n\t0xff,\t\t\t\t\t\t//scancode 84 0x54\n\t0xff,\t\t\t\t\t\t//scancode 85 0x55\n\t0xff,\t\t\t\t\t\t//scancode 86 0x56\n\tWISP_VK_F11,\t\t\t\t//scancode 87 0x57  'F11'\n\tWISP_VK_F12,\t\t\t\t//scancode 88 0x58  'F12'\n\t0xff,\t\t\t\t\t\t//scancode 89 0x59  ''\n\t0xff,\t\t\t\t\t\t//scancode 90 0x5a  ''\n\t0xff,\t\t\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\t0xff,\t\t\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\t0xff,\t\t\t\t\t\t//scancode 93 0x5d  'Window Apps'\n\t0xff,\t\t\t\t\t\t//scancode 94 0x5e  'Power'\n\t0xff,\t\t\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t0xff,\t\t\t\t\t\t//scancode 96 0x60\t\n\tWISP_VK_PAUSE,\t\t\t\t//scancode 97 0x61  \n\t0xff,\t\t\t\t\t\t//scancode 98 0x62\n\t0xff,\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n};\n\ntypedef struct _KSC_NAME\n{\n\tchar* KeyName;\n\tBYTE VKCode;\n}KSC_NAME;\nKSC_NAME gKeyNameMap[]=\n{\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 00 0x00 յûжӦļ\n\t{\"Esc\",\t\tWISP_VK_ESCAPE},\t\t\t\t//scancode 01 0x01 'Esc'\n\t{\"1\",\t\tWISP_VK_1},\t\t\t\t\t//scancode 02 0x02\t'1'\n\t{\"2\",\t\tWISP_VK_2},\t\t\t\t\t//scancode 03 0x03\t'2'\n\t{\"3\",\t\tWISP_VK_3},\t\t\t\t\t//scancode 04 0x04\t'3'\n\t{\"4\",\t\tWISP_VK_4},\t\t\t\t\t//scancode 05 0x05\t'4'\n\t{\"5\",\t\tWISP_VK_5},\t\t\t\t\t//scancode 06 0x06\t'5'\n\t{\"6\",\t\tWISP_VK_6},\t\t\t\t\t//scancode 07 0x07\t'6'\n\t{\"7\",\t\tWISP_VK_7},\t\t\t\t\t//scancode 08 0x08\t'7'\n\t{\"8\",\t\tWISP_VK_8},\t\t\t\t\t//scancode 09 0x09\t'8'\n\t{\"9\",\t\tWISP_VK_9},\t\t\t\t\t//scancode 10 0x0a\t'9'\n\t{\"0\",\t\tWISP_VK_0},\t\t\t\t\t//scancode 11 0x0b  '0'\n\t{\"-\",\t\tWISP_VK_OEM_MINUS},\t\t\t//scancode 12 0x0c  '-_'\n\t{\"+\",\t\tWISP_VK_OEM_PLUS},\t\t\t//scancode 13 0x0d  '=+'\t\n\t{\"Backspace\",WISP_VK_BACK},\t\t\t\t//scancode 14 0x0e  'Back Space'\n\t{\"Tab\",\t\tWISP_VK_TAB},\t\t\t\t//scancode 15 0x0f  'Tab'\n\t{\"Q\",\t\tWISP_VK_Q},\t\t\t\t\t//scancode 16 0x10\t'Q'\n\t{\"W\",\t\tWISP_VK_W},\t\t\t\t\t//scancode 17 0x11\t'W'\n\t{\"E\",\t\tWISP_VK_E},\t\t\t\t\t//scancode 18 0x12\t'E'\n\t{\"R\",\t\tWISP_VK_R},\t\t\t\t\t//scancode 19 0x13\t'R'\n\t{\"T\",\t\tWISP_VK_T},\t\t\t\t\t//scancode 20 0x14\t'T'\n\t{\"Y\",\t\tWISP_VK_Y},\t\t\t\t\t//scancode 21 0x15\t'Y'\n\t{\"U\",\t\tWISP_VK_U},\t\t\t\t\t//scancode 22 0x16\t'U'\n\t{\"I\",\t\tWISP_VK_I},\t\t\t\t\t//scancode 23 0x17\t'I'\n\t{\"O\",\t\tWISP_VK_O},\t\t\t\t\t//scancode 24 0x18\t'O'\n\t{\"P\",\t\tWISP_VK_P},\t\t\t\t\t//scancode 25 0x19\t'P'\n\t{\"[\",\t\tWISP_VK_LSQUARE_BRACKET},\t//scancode 26 0x1a\t'[{'\n\t{\"]\",\t\tWISP_VK_RSQUARE_BRACKET},\t//scancode 27 0x1b\t'P'\n\t{\"Enter\",\tWISP_VK_RETURN},\t\t\t\t//scancode 28 0x1c\t'Enter'\n\t{\"Ctrl\",\tWISP_VK_CONTROL},\t\t\t//scancode 29 0x1d\t'Left Ctrl'\n\t{\"A\",\t\tWISP_VK_A},\t\t\t\t\t//scancode 30 0x1E\t'A'\n\t{\"S\",\t\tWISP_VK_S},\t\t\t\t\t//scancode 31 0x1F\t'S'\n\t{\"D\",\t\tWISP_VK_D},\t\t\t\t\t//scancode 32 0x20\t'D'\n\t{\"F\",\t\tWISP_VK_F},\t\t\t\t\t//scancode 33 0x21\t'F'\n\t{\"G\",\t\tWISP_VK_G},\t\t\t\t\t//scancode 34 0x22\t'G'\n\t{\"H\",\t\tWISP_VK_H},\t\t\t\t\t//scancode 35 0x23\t'H'\n\t{\"J\",\t\tWISP_VK_J},\t\t\t\t\t//scancode 36 0x24\t'J'\n\t{\"K\",\t\tWISP_VK_K},\t\t\t\t\t//scancode 37 0x25\t'K'\n\t{\"L\",\t\tWISP_VK_L},\t\t\t\t\t//scancode 38 0x26\t'L'\n\t{\";\",\t\tWISP_VK_SEMI},\t\t\t\t//scancode 39 0x27\t';:'\n\t{\"'\",\t\tWISP_VK_QUOT},\t\t\t\t//scancode 40 0x28\t''\"'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 41 0x29  ''\n\t{\"Shift\",\tWISP_VK_SHIFT},\t\t\t\t//scancode 42 0x2a  'Left Shift'\n\t{\"\\\\\",\t\tWISP_VK_OEM_5},\t\t\t\t//scancode 43 0x2b  '\\|'\n\t{\"Z\",\t\tWISP_VK_Z},\t\t\t\t\t//scancode 44 0x2c\t'Z'\n\t{\"X\",\t\tWISP_VK_X},\t\t\t\t\t//scancode 45 0x2d\t'X'\n\t{\"C\",\t\tWISP_VK_C},\t\t\t\t\t//scancode 46 0x2E\t'C'\n\t{\"V\",\t\tWISP_VK_V},\t\t\t\t\t//scancode 47 0x2F\t'V'\n\t{\"B\",\t\tWISP_VK_B},\t\t\t\t\t//scancode 48 0x30\t'B'\n\t{\"N\",\t\tWISP_VK_N},\t\t\t\t\t//scancode 49 0x31\t'N'\n\t{\"M\",\t\tWISP_VK_M},\t\t\t\t\t//scancode 50 0x32\t'M'\n\t{\",\",\t\tWISP_VK_OEM_COMMA},\t\t\t//scancode 51 0x33  ',<'\n\t{\".\",\t\tWISP_VK_OEM_PERIOD},\t\t\t//scancode 52 0x34  ',>'\n\t{\"/\",\t\tWISP_VK_OEM_2},\t\t\t\t//scancode 53 0x35  '/?'\n\t{\"Shift\",\tWISP_VK_SHIFT},\t\t\t\t//scancode 54 0x36  'Right Shift'\n\t{\"*\",\t\tWISP_VK_MULTIPLY},\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\t{\"Alt\",\t\tWISP_VK_ALT},\t\t\t\t//scancode 56 0x38  'Left Alt'\n\t{\"Space\",\tWISP_VK_SPACE},\t\t\t\t//scancode 57 0x39  'Blank Space' \n\t{\"Caps Lock\",WISP_VK_CAPITAL},\t\t\t//scancode 58 0x3a\t'Caps Lock'\n\t{\"F1\",\t\tWISP_VK_F1},\t\t\t\t\t//scancode 59 0x3b  'F1' \n\t{\"F2\",\t\tWISP_VK_F2},\t\t\t\t\t//scancode 60 0x3c  'F2'\n\t{\"F3\",\t\tWISP_VK_F3},\t\t\t\t\t//scancode 61 0x3d  'F3'\n\t{\"F4\",\t\tWISP_VK_F4},\t\t\t\t\t//scancode 62 0x3e  'F4'\n\t{\"F5\",\t\tWISP_VK_F5},\t\t\t\t\t//scancode 63 0x3f  'F5'\n\t{\"F6\",\t\tWISP_VK_F6},\t\t\t\t\t//scancode 64 0x40  'F6'\n\t{\"F7\",\t\tWISP_VK_F7},\t\t\t\t\t//scancode 65 0x41  'F7'\n\t{\"F8\",\t\tWISP_VK_F8},\t\t\t\t\t//scancode 66 0x42  'F8'\n\t{\"F9\",\t\tWISP_VK_F9},\t\t\t\t\t//scancode 67 0x43  'F9'\n\t{\"F10\",\t\tWISP_VK_F10},\t\t\t\t//scancode 68 0x44  'F10'\n\t{\"Num Lock\",\t\tWISP_VK_NUMLOCK},\t\t\t//scancode 69 0x45  'Num Lock'   Pause Break  0xE1 0x1D 0x45 0xE1 0x9D 0xC5\n\t{\"\",\t\tWISP_VK_SCROLL},\t\t\t\t//scancode 70 0x46  'Scroll Lock'\n\t{\"Numeric pad 7\",\t\tWISP_VK_NUMPAD7},\t\t\t//scancode 71 0x47  'Home'\n\t{\"Numeric pad 8\",\t\tWISP_VK_NUMPAD8},\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\t{\"Numeric pad 9\",\t\tWISP_VK_NUMPAD9},\t\t\t//scancode 73 0x49  'Page Up'С\n\t{\"\",\t\tWISP_VK_SUBTRACT},\t\t\t//scancode 74 0x4a  '-'С\n\t{\"Numeric pad 4\",\t\tWISP_VK_NUMPAD4},\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\t\t\t\t\t\t\n\t{\"Numeric pad 5\",\t\tWISP_VK_NUMPAD5},\t\t\t//scancode 76 0x4c  '5' С\n\t{\"Numeric pad 6\",\t\tWISP_VK_NUMPAD6},\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\t{\"\",\t\tWISP_VK_ADD},\t\t\t\t//scancode 78 0x4e  '+' \n\t{\"Numeric pad 1\",\t\tWISP_VK_NUMPAD1},\t\t\t//scancode 79 0x4f  'End' С\n\t{\"Numeric pad 2\",\t\tWISP_VK_NUMPAD2},\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\t{\"Numeric pad 3\",\t\tWISP_VK_NUMPAD3},\t\t\t//scancode 81 0x51  'Page Dn'С\n\t{\"Numeric pad 0\",\t\tWISP_VK_NUMPAD0},\t\t\t//scancode 82 0x52  'Ins'С\n\t{\"Decimal\",\t\tWISP_VK_DECIMAL},\t\t\t//scancode 83 0x53  'Del'С\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 84 0x54\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 85 0x55\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 86 0x56\n\t{\"F11\",\t\tWISP_VK_F11},\t\t\t\t//scancode 87 0x57  'F11'\n\t{\"F12\",\t\tWISP_VK_F12},\t\t\t\t//scancode 88 0x58  'F12'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 89 0x59  ''\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 90 0x5a  ''\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 91 0x5b  'Left Windows'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 92 0x5c  'Right Windows'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 93 0x5d  'Window Apps'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 94 0x5e  'Power'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 95 0x5f  'Sleep'\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 96 0x60\t\n\t{\"\",\t\tWISP_VK_PAUSE},\t\t\t\t//scancode 97 0x61  \n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 98 0x62\n\t{\"\",\t\t0xff},\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n\t{\"Up\",\t\tWISP_VK_UP},\t\t\t\t\t\t//scancode 98 0x62\n\t{\"Down\",\t\tWISP_VK_DOWN},\t\t\t\t\t\t//scancode 99 0x63  'Wake Up'\n\n};\n\n\n\nenum CKeyMappingPage::WISP_FORM_ID\n{\n\tCMD_ID_KEYMAP_LIST_COMMANDS = WISP_ID_USER_START,\n\tCMD_ID_KEYMAP_STRING_COMMANDS,\n\tCMD_ID_KEYMAP_STRING_EXISTING,\n\tCMD_ID_KEYMAP_LIST_EXISTING ,\n\tCMD_ID_KEYMAP_STRING_NEW_KEY,\n\tCMD_ID_KEYMAP_GROUP_DESCRIPTION,\n\tCMD_ID_KEYMAP_EDIT_NEW_KEY,\n\tCMD_ID_STATIC_GROUP,\n\tCMD_ID_KEYMAP_ADD,\n\tCMD_ID_KEYMAP_REMOVE,\n\tCMD_ID_KEYMAP_APPLY,\n\tCMD_ID_KEYMAP_RELOAD,\n\tCMD_ID_KEYMAP_DEFAULT_BT,\n\tCMD_ID_KEYMAP_DEFAULT,\n};\n\nWISP_FORM_RES_ITEM CKeyMappingPage::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,560,410},\n\t\tWISP_ID_NULL,\n#ifdef _SYSER_ \n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"SyserDebugger HotKey configure\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tWSTR(\"Syser HotKey configure !\"),\n#else\n\t\tWISP_WS_NULL,\n#endif\t\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,530,330},\n\t\tCMD_ID_STATIC_GROUP,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Key Mapping\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{20,30,80,16},\n\t\tCMD_ID_KEYMAP_STRING_COMMANDS,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Commands\"),\n\t},\t\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{20,50,300,280},\n\t\tCMD_ID_KEYMAP_LIST_COMMANDS,\n\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE,\n\t\t\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{340,30,80,16},\n\t\tCMD_ID_KEYMAP_STRING_EXISTING,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Existing\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{340,50,80,170},\n\t\tCMD_ID_KEYMAP_LIST_EXISTING,\n\t\tWISP_WS_THIN_BORDER,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{340,310,80,20},\n\t\tCMD_ID_KEYMAP_EDIT_NEW_KEY,\n\t\tWISP_WS_THIN_BORDER,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{340,225,190,70},\n\t\tCMD_ID_KEYMAP_GROUP_DESCRIPTION,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Description\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{340,295,100,16},\n\t\tCMD_ID_KEYMAP_STRING_NEW_KEY,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Press New Key:\"),\n\t},\n\t\t{\n\t\t\tWISP_CTRL_BUTTON,\n\t\t\t{430,310,100,20},\n\t\t\tCMD_ID_KEYMAP_DEFAULT_BT,\n\t\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\t\tWSTR(\"Default\"),\n\t\t\tNULL,\n\t\t\tNULL\n\t\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,50,100,20},\n\t\tCMD_ID_KEYMAP_ADD,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Assign\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,80,100,20},\n\t\tCMD_ID_KEYMAP_REMOVE,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Remove\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,350,100,20},\n\t\tCMD_ID_KEYMAP_APPLY,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Save\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{10,350,100,20},\n\t\tCMD_ID_KEYMAP_RELOAD,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Reload\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{120,350,100,20},\n\t\tCMD_ID_KEYMAP_DEFAULT,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Default\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CKeyMappingPage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnResize)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CKeyMappingPage)\n\tWISP_MSG_CMD_MAP(CMD_ID_KEYMAP_LIST_COMMANDS,OnFileListCommand)\n\tWISP_MSG_CMD_MAP(CMD_ID_KEYMAP_EDIT_NEW_KEY,OnNewKeyEdit)\n\tWISP_MSG_CMD_MAP(CMD_ID_KEYMAP_LIST_EXISTING,OnExistKeyList)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CKeyMappingPage)\n\tWISP_MSG_EVENT_MAP(CMD_ID_KEYMAP_ADD,OnButtonAdd)\n\tWISP_MSG_EVENT_MAP(CMD_ID_KEYMAP_REMOVE,OnButtonRemove)\n\tWISP_MSG_EVENT_MAP(CMD_ID_KEYMAP_APPLY,OnButtonSave)\n\tWISP_MSG_EVENT_MAP(CMD_ID_KEYMAP_RELOAD,OnButtonReload)\n\tWISP_MSG_EVENT_MAP(CMD_ID_KEYMAP_DEFAULT,OnButtonDefault)\nWISP_MSG_EVENT_MAP_END\n\nCKeyMappingPage::CKeyMappingPage()\n{\n\tm_pFormRes = m_FormRes;\n#ifndef CODE_OS_NT_DRV\n\tGetSystemDirectory(m_HotKeyFile,MAX_FN_LEN);\n\tTStrCat(m_HotKeyFile,\"\\\\drivers\\\\SyserHotKey.cfg\");\n\tGetWindowsDirectoryW(m_szSystemRootDir,MAX_FN_LEN);\n\tm_PreviousKeyType=0;\n#endif\n\n}\n\nbool CKeyMappingPage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pGroup = (CWispStaticGroup*) GetFormItem(CMD_ID_STATIC_GROUP);\n\tm_pGroupDescription = (CWispStaticGroup*) GetFormItem(CMD_ID_KEYMAP_GROUP_DESCRIPTION);\n\tm_pCommandsList = (CWispList*) GetFormItem(CMD_ID_KEYMAP_LIST_COMMANDS);\n\tm_pExistList = (CWispList*) GetFormItem(CMD_ID_KEYMAP_LIST_EXISTING);\n\tm_ExistStr=(CWispStaticStr*)GetFormItem(CMD_ID_KEYMAP_STRING_EXISTING);\n\tm_CommandStr=(CWispStaticStr*)GetFormItem(CMD_ID_KEYMAP_STRING_COMMANDS);\n\tm_NewKeyStr=(CWispStaticStr*)GetFormItem(CMD_ID_KEYMAP_STRING_NEW_KEY);\n\tm_NewKeyEdit=(CWispEdit*)GetFormItem(CMD_ID_KEYMAP_EDIT_NEW_KEY);\n\tm_pSaveBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_APPLY);\n\tm_pDefaultBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_DEFAULT);\n\tm_pReloadBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_RELOAD);\n\tm_pAddBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_ADD);\n\tm_pRemoveBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_REMOVE);\n\t\n\tm_pDefaultSignBT = (CWispButton*) GetFormItem(CMD_ID_KEYMAP_DEFAULT_BT);\n\tm_pExistList->InsertColumn(NULL,0,WISP_WLCS_NORMAL);\n\t\n\tm_pCommandsList->m_Style|=WISP_WLS_VERT_LINE;\n\tm_pCommandsList->InsertColumn(NULL,200,WISP_WLCS_NORMAL);\n\tm_pCommandsList->InsertColumn(NULL,90,WISP_WLCS_NORMAL);\n\tLoadHotKeyConfigFile();\n\t\n\treturn true;\n}\n\nbool CKeyMappingPage::OnResize(IN WISP_MSG*pMsg)\n{\n#ifdef _SYSER_\n\treturn true;\n#endif\n\tm_pGroup->Resize(m_ClientRect.cx-20,m_ClientRect.cy-50);\n\n\tm_pCommandsList->Resize(m_pGroup->m_WindowRect.cx-230,m_pGroup->m_WindowRect.cy-50);\n\tm_pExistList->Resize(m_pExistList->m_WindowRect.cx ,m_pGroup->m_WindowRect.cy-160);\n\t//m_pExistList->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x+ m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+50);\n\tm_pExistList->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x - m_ScrWindowRect.x + m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+50);\n\tm_ExistStr->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x+ m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+30);\n\tm_NewKeyStr->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x+ m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+m_pGroup->m_WindowRect.cy - 36);\n\tm_NewKeyEdit->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x+ m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+m_pGroup->m_WindowRect.cy - 16);\n\tm_pGroupDescription->MoveToWindow(m_pCommandsList->m_ScrWindowRect.x+ m_pCommandsList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+m_pGroup->m_WindowRect.cy - 106);\n\tm_pRemoveBT->MoveToWindow(m_pExistList->m_ScrWindowRect.x + m_pExistList->m_WindowRect.cx+10,m_pRemoveBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pDefaultSignBT->MoveToWindow(m_pExistList->m_ScrWindowRect.x + m_pExistList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+m_pGroup->m_WindowRect.cy - 16);\n\tm_pRemoveBT->MoveToWindow(m_pExistList->m_ScrWindowRect.x + m_pExistList->m_WindowRect.cx+10,m_pRemoveBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pAddBT->MoveToWindow(m_pExistList->m_ScrWindowRect.x +m_pExistList->m_WindowRect.cx+10,m_pGroup->m_WindowRect.y+50);\n\tm_pReloadBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x-m_ScrWindowRect.x,m_pGroup->m_ScrWindowRect.y-m_ScrWindowRect.y+m_pGroup->m_WindowRect.cy+10);\n\tm_pDefaultBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x-m_ScrWindowRect.x+m_pReloadBT->m_WindowRect.cx+10,m_pGroup->m_ScrWindowRect.y-m_ScrWindowRect.y+m_pGroup->m_WindowRect.cy+10);\n\tm_pSaveBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x + m_pGroup->m_ScrWindowRect.cx - m_pSaveBT->m_WindowRect.cx - m_ScrWindowRect.x,m_pReloadBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\t\n\treturn true;\n}\nbool CKeyMappingPage::OnExistKeyList(IN WISP_MSG*pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\t\tcase WISP_CMD_ITEM_SELECTED:\n\t\t\tm_pRemoveBT->EnableWindow(true);\n\t\t\tbreak;\n\t}\n\t\n\treturn true;\n}\n\nWCHAR* CKeyMappingPage::GetHotKeyName(DWORD dwFuncKey,DWORD dwSecondKey,WCHAR* Buffer)\n{\n\tint i;\n\tBuffer[0]=0;\n\tif(dwSecondKey==0)\n\t{\n\t\tfor(i=0;i<sizeof(gKeyNameMap)/sizeof(gKeyNameMap[0]);i++)\n\t\t{\n\t\t\tif(dwFuncKey==gKeyNameMap[i].VKCode)\n\t\t\t{\n\t\t\t\tTStrCpy(Buffer,gKeyNameMap[i].KeyName);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(dwFuncKey&WISP_MOD_CTRL)\n\t\t\tTStrCpy(Buffer,\"Ctrl+\");\n\t\tif(dwFuncKey&WISP_MOD_ALT)\n\t\t\tTStrCat(Buffer,\"Alt+\");\n\t\tif(dwFuncKey&WISP_MOD_SHIFT)\n\t\t\tTStrCat(Buffer,\"Shift+\");\n\t\tfor(i=0;i<sizeof(gKeyNameMap)/sizeof(gKeyNameMap[0]);i++)\n\t\t{\n\t\t\tif(dwSecondKey==gKeyNameMap[i].VKCode)\n\t\t\t{\n\t\t\t\tTStrCat(Buffer,gKeyNameMap[i].KeyName);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\t\t\t\n\t}\t\n\treturn Buffer;\n}\n\nWCHAR* CKeyMappingPage::GetHotKeyName(DWORD KeyValue,WCHAR* Buffer)\n{\n\tint i;\n\tDWORD dwSecondKey,dwFuncKey;\n\tif(Buffer==NULL)\n\t\treturn NULL;\n\tBuffer[0]=0;\n\tdwSecondKey = KeyValue & 0xffffff;\n\tdwFuncKey = KeyValue & 0xff000000;\n\tif(dwSecondKey==0)\n\t{\n\t\tfor(i=0;i<sizeof(gKeyNameMap)/sizeof(gKeyNameMap[0]);i++)\n\t\t{\n\t\t\tif(dwFuncKey==gKeyNameMap[i].VKCode)\n\t\t\t{\n\t\t\t\tTStrCpy(Buffer,gKeyNameMap[i].KeyName);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(dwFuncKey&WISP_MOD_CTRL)\n\t\t\tTStrCpy(Buffer,\"Ctrl+\");\n\t\tif(dwFuncKey&WISP_MOD_ALT)\n\t\t\tTStrCat(Buffer,\"Alt+\");\n\t\tif(dwFuncKey&WISP_MOD_SHIFT)\n\t\t\tTStrCat(Buffer,\"Shift+\");\n\t\tfor(i=0;i<sizeof(gKeyNameMap)/sizeof(gKeyNameMap[0]);i++)\n\t\t{\n\t\t\tif(dwSecondKey==gKeyNameMap[i].VKCode)\n\t\t\t{\n\t\t\t\tTStrCat(Buffer,gKeyNameMap[i].KeyName);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\t\t\t\n\t}\t\n\treturn Buffer;\n}\n\nbool CKeyMappingPage::OnFileListCommand(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tNUM_PTR Num;\n\tDWORD dwFuncKey;\n\tDWORD dwSecondCode;\n\tWCHAR Buf[50]={0};\n\tDWORD dwHotKeyCmdID;\n\tCMDHOTKEYMAP::IT FindIT;\n\tCWispList p1;\n\tHOTKEYLIST* pList;\n\tHOTKEYLIST::IT BeginIT,EndIT;\n\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_SELECTED:\t\t\n\t\thItem = m_pCommandsList->GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(hItem)\n\t\t{\n\t\t\tm_pAddBT->EnableWindow(false);\n\t\t\tm_NewKeyEdit->SetWindowText(WSTR(\"\"));\n\t\t\tdwHotKeyCmdID=(DWORD)m_pCommandsList->GetItemData(hItem,1);\n\t\t\tm_pExistList->ClearChildItem();\n\t\t\tFindIT = m_CmdHotKeyMap.Find(dwHotKeyCmdID);\n\t\t\tif(FindIT!=m_CmdHotKeyMap.End())\n\t\t\t{\n\t\t\t\tpList = &*FindIT;\n\t\t\t\tBeginIT=pList->Begin();\n\t\t\t\tEndIT=pList->End();\n\t\t\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t\t\t{\n\t\t\t\t\tdwFuncKey=BeginIT->FuncKeyCode;\n\t\t\t\t\tdwSecondCode=BeginIT->SecondKeyCode;\n\t\t\t\t\tGetHotKeyName(dwFuncKey,dwSecondCode,Buf);\n\t\t\t\t\tNum=dwSecondCode;\n\t\t\t\t\tNum<<=32;\n\t\t\t\t\tNum|=dwFuncKey;\n\t\t\t\t\thItem = m_pExistList->InsertItem(Buf);\n\t\t\t\t\tm_pExistList->SetItemData(hItem,0,Num);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\t\t\t\t\n\t\t}\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_UNSELECTED:\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_CHANGED:\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CKeyMappingPage::OnNewKeyEdit(IN WISP_MSG*pMsg)\n{\n\tint i;\n\tWCHAR Name[50]={0};\n\tbool bFind=false;\n\tbool bCtrl=false;\n\tbool bAtl=false;\n\tbool bShift=false;\n\tDWORD nKey,nPrevKey;\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\t{\n\t\t\tnKey=pMsg->Command.Param1;\n\t\t\tm_PreviousKeyType=nKey;\n\t\t\tbCtrl=(nKey & WISP_MOD_CTRL)?true:false;\n\t\t\tbAtl=(nKey & WISP_MOD_ALT)?true:false;\n\t\t\tbShift=(nKey & WISP_MOD_SHIFT)?true:false;\n\t\t\tnKey=nKey & (~(WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT));\t\t\t\n\t\t\tfor(i=0;i<sizeof(gKeyNameMap)/sizeof(gKeyNameMap[0]);i++)\n\t\t\t{\n\n\t\t\t\tif(gKeyNameMap[i].VKCode==nKey)\n\t\t\t\t{\n\t\t\t\t\tif(bCtrl)\n\t\t\t\t\t\tTStrCpy(Name,\"Ctrl+\");\n\t\t\t\t\tif(bAtl)\n\t\t\t\t\t\tTStrCat(Name,\"Alt+\");\n\t\t\t\t\tif(bShift)\n\t\t\t\t\t\tTStrCat(Name,\"Shift+\");\n\t\t\t\t\tif(nKey!=WISP_VK_SHIFT && nKey!=WISP_VK_CONTROL && nKey!=WISP_VK_ALT)\n\t\t\t\t\t\tTStrCat(Name,gKeyNameMap[i].KeyName);\n\t\t\t\t\tm_NewKeyEdit->SetWindowText(Name);\n\t\t\t\t\tbFind=true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t\tif(!bFind)\n\t\t\t\tm_NewKeyEdit->SetWindowText(Name);\n\t\t}\n\t\treturn false;\n\tcase WISP_CMD_EN_INPUT_KEY_UP:\n\t\tnKey=pMsg->Command.Param1;\n\t\tnKey=nKey & (~(WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT));\n\t\tnPrevKey=m_PreviousKeyType;\n\t\tnPrevKey=nPrevKey & (~(WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT));\n\t\tif((nKey==WISP_VK_SHIFT || nKey==WISP_VK_CONTROL || nKey==WISP_VK_ALT) && (nPrevKey==WISP_VK_SHIFT || nPrevKey==WISP_VK_CONTROL || nPrevKey==WISP_VK_ALT))\n\t\t{\n\t\t\tm_NewKeyEdit->SetWindowText(Name);\n\t\t\treturn false;\n\t\t}\n\t\tm_pAddBT->EnableWindow(true);\n\t\tm_pDefaultSignBT->EnableWindow(true);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CKeyMappingPage::IsListItem(PCWSTR szName)\n{\n\tHANDLE hItem = m_pCommandsList->GetFirstItem();\n\twhile(hItem)\n\t{\n\t\tif(m_pCommandsList->GetItemText(hItem)==szName)\n\t\t\treturn true;\n\t\thItem = m_pCommandsList->GetNextItem(hItem);\n\t}\n\treturn false;\n}\nKEY_PAIR CKeyMappingPage::GetHotKey()\n{\n\tKEY_PAIR Key;\n\tKey.SecondKeyCode=0;\n\tKey.FuncKeyCode=m_PreviousKeyType;\n\tif(m_PreviousKeyType & (WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT))\n\t{\n\t\tKey.FuncKeyCode=m_PreviousKeyType & (WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT);\n\t\tKey.SecondKeyCode = m_PreviousKeyType & (~(WISP_MOD_CTRL|WISP_MOD_ALT|WISP_MOD_SHIFT));\n\t}\n\treturn Key;\n}\nbool CKeyMappingPage::OnButtonAdd(IN WISP_MSG*pMsg)\n{\n\t//MsgBox(WSTR(\"Do you want to add this and delete the existing assignment?\"),WSTR(\"Key assignment already exists\"),WISP_MB_YESNO);\n\tHOTKEYLIST::IT FindIT;\n\tHOTKEYLIST* pList;\n\tHANDLE hItem;\n\tKEY_PAIR Key;;\n\tWCHAR Buf[50];\n\t\n\tpList=GetCurrentHotKeyList();\n\tif(pList==NULL)\n\t\treturn true;\n\thItem = m_pCommandsList->GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tDWORD Num=(DWORD)m_pCommandsList->GetItemData(hItem,1);\t\n\tif(Num==0)//Ǽȼֻ֧һ\n\t{\n\t\tpList->Clear();\n\t\tm_pExistList->ClearChildItem();\n\t}\n\tKey = GetHotKey();\n\tFindIT = pList->Find(Key);\n\t\n\tif(FindIT==pList->End())\n\t{\n\t\tpList->Append(Key);\n\t}\n\tDWORD nKey=Key.FuncKeyCode;\n\tGetHotKeyName(nKey,Key.SecondKeyCode,Buf);\n\thItem = m_pExistList->InsertItem(Buf);\n\tm_pExistList->SetItemData(hItem,0,*(NUM_PTR*)&Key);\n\tm_NewKeyEdit->SetWindowText(WSTR(\"\"));\n\tm_pSaveBT->EnableWindow(TRUE);\n\tm_pReloadBT->EnableWindow(TRUE);\n\tm_pAddBT->EnableWindow(false);\n\treturn true;\n}\nHOTKEYLIST* CKeyMappingPage::GetCurrentHotKeyList()\n{\n\tHANDLE hItem = m_pCommandsList->GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn NULL;\n\tDWORD Num=(DWORD)m_pCommandsList->GetItemData(hItem,1);\t\n\tCMDHOTKEYMAP::IT FindIT=m_CmdHotKeyMap.Find(Num);\n\tif(FindIT!=m_CmdHotKeyMap.End())\n\t{\n\t\treturn &*FindIT;\n\t}\n\treturn NULL;\n}\nbool CKeyMappingPage::OnButtonRemove(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = m_pExistList->GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tHOTKEYLIST* pList;\n\tHOTKEYLIST::IT FindIT;\n\tNUM_PTR Num;\n\tif(hItem)\n\t{\n\t\tpList=GetCurrentHotKeyList();\n\t\tif(pList==NULL)\n\t\t\treturn true;\n\t\tNum = m_pExistList->GetItemData(hItem,0);\n\t\tFindIT = pList->Find( *(KEY_PAIR*)&Num);\n\t\t\n\t\tif(FindIT!=pList->End())\n\t\t{\n\t\t\tpList->Remove(FindIT);\n\t\t}\n\t\tm_pExistList->RemoveItem(hItem);\n\t\tm_pExistList->Update();\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t}\n\treturn true;\n}\n\nbool CKeyMappingPage::OnButtonSave(IN WISP_MSG*pMsg)\n{\n\tif(SaveHotKeyConfigFile()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CKeyMappingPage::OnButtonReload(IN WISP_MSG*pMsg)\n{\n\tif(LoadHotKeyConfigFile()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CKeyMappingPage::OnButtonDefault(IN WISP_MSG*pMsg)\n{\n\tLoadDefaultAll();\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\nvoid CKeyMappingPage::LoadDefaultAll()\n{\n\tCLocalFileIO File;\n\tFile.DeleteFile(m_HotKeyFile);\n\tCMDHOTKEYMAP::IT MapIT;\n\tfor(MapIT=m_CmdHotKeyMap.Begin();MapIT!=m_CmdHotKeyMap.End();MapIT++)\n\t{\n\t\tMapIT->Clear();\n\t}\n\tm_CmdHotKeyMap.Clear();\n\tLoadHotKeyConfigFile();\n\tSaveHotKeyConfigFile();\n\tm_pExistList->ClearChildItem();\n}\nbool CKeyMappingPage::LoadHotKeyConfigFileByMap(CMDHOTKEYMAP *pCmdHotKeyMap)\n{\n\tif(!pCmdHotKeyMap)\n\t\treturn false;\n\tKEY_PAIR KeyPair;\n\tint nCount=0;\n\tHOTKEYLIST* pList;\n\tCMDHOTKEYMAP::IT MapIT;\n\tWCHAR HotKeyName[50];\t\n\tHOTKEYLIST::IT FindIT;\n\tHANDLE hItem;\t\n\t\n\tm_CmdHotKeyMap.Clear();\n\tfor(MapIT=pCmdHotKeyMap->Begin();MapIT!=pCmdHotKeyMap->End();MapIT++)\n\t{\n\t\tm_CmdHotKeyMap.InsertUnique(MapIT.Key(),*MapIT);\n\t}\n\tm_pCommandsList->ClearChildItem();\n\tm_ItemHotkey[0] = m_pCommandsList->InsertItem(WSTR(\"Globals Hot key configuration\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[0],1,0-1);\n\tm_ItemHotkey[1] = m_pCommandsList->InsertItem(WSTR(\"Shortcut key for code windows\"));;\n\tm_pCommandsList->SetItemData(m_ItemHotkey[1],1,0-1);\n\tm_ItemHotkey[2] = m_pCommandsList->InsertItem(WSTR(\"Shortcut key for data windows\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[2],1,0-1);\n\tm_ItemHotkey[3] =m_pCommandsList->InsertItem(WSTR(\"Shortcut key for stack windows\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[3],1,0-1);\n\tm_ItemHotkey[4]=m_pCommandsList->InsertItem(WSTR(\"Shortcut key for register windows\"));;\n\tm_pCommandsList->SetItemData(m_ItemHotkey[4],1,0-1);\n\n\tfor(int i = 0;i < 5;i++)\n\t{\n\t\tfor(int j=0;j<gKeyConfig[i].Count-1;j++)\n\t\t{\n\t\t\tMapIT=m_CmdHotKeyMap.Find(gKeyConfig[i].pHotKeyInfo[j].CommandID);\n\t\t\thItem = m_pCommandsList->InsertItemA(gKeyConfig[i].pHotKeyInfo[j].KeyName,m_ItemHotkey[i]);\n\t\t\tKeyPair.FuncKeyCode=gKeyConfig[i].pHotKeyInfo[j].FuncKeyCode;\n\t\t\tKeyPair.SecondKeyCode=gKeyConfig[i].pHotKeyInfo[j].SecondKeyCode;\n\t\t\tif(MapIT!=m_CmdHotKeyMap.End())\n\t\t\t{\n\t\t\t\tif(MapIT->Count())\n\t\t\t\t{\n\t\t\t\t\tKeyPair=*MapIT->Begin();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMapIT = m_CmdHotKeyMap.InsertUnique(gKeyConfig[i].pHotKeyInfo[j].CommandID,HOTKEYLIST());\n\t\t\t\tpList=&*MapIT;\n\t\t\t\tpList->Append(KeyPair);\n\t\t\t}\n\t\t\tm_pCommandsList->SetItemData(hItem,1,gKeyConfig[i].pHotKeyInfo[j].CommandID);\n\t\t\t//if(KeyPair.FuncKeyCode)\n\t\t\tm_pCommandsList->SetItemText(hItem,1,GetHotKeyName(KeyPair.FuncKeyCode,KeyPair.SecondKeyCode,HotKeyName));\n\t\t}\n\t}\n\n\treturn true;\n\n}\nbool CKeyMappingPage::LoadHotKeyConfigFile()\n{\t\n\tDWORD* Buffer,*pOrgBuffer;\n\tULSIZE nBufLen=0x1000;\n\tint nRealLen;\n\tCLocalFileIO File;\n\tDWORD dwNum,i,j,m;\n\tDWORD dwKeyCmdID;\n\tKEY_PAIR KeyPair;\n\tint nCount=0;\n\tHOTKEYLIST* pList;\n\tCMDHOTKEYMAP::IT MapIT;\n\tm_CmdHotKeyMap.Clear();\n#ifdef CODE_OS_NT_DRV\n\tif(gpSyser)\n\t\treturn LoadHotKeyConfigFileByMap(&gpSyser->m_CmdHotKeyMap);\n#endif\n\tBuffer=new DWORD[(nBufLen+3)/sizeof(sizeof(DWORD))];\n\tif(Buffer==NULL)\n\t\treturn false;\n\tpOrgBuffer=Buffer;\n\tif(LoadSyserHotKeyOption(m_HotKeyFile,Buffer,nBufLen,&nRealLen))\n\t{\n\t\tBuffer++;\n\t\tdwNum=*Buffer++;\n\t\tfor(i=0;i<dwNum;i++)\n\t\t{\n\t\t\tdwKeyCmdID=*Buffer++;\n\t\t\tm=*Buffer++;\t\t\t\n\t\t\tMapIT = m_CmdHotKeyMap.InsertUnique(dwKeyCmdID,HOTKEYLIST());\n\t\t\tpList=&*MapIT;\n\t\t\tfor(j=0;j<m;j++)\n\t\t\t{\n\t\t\t\tKeyPair.FuncKeyCode=*Buffer++;\n\t\t\t\tKeyPair.SecondKeyCode=*Buffer++;\t\t\t\t\n\t\t\t\tpList->Append(KeyPair);\n\t\t\t\tnCount++;\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\tm_pCommandsList->ClearChildItem();\n\n\tWCHAR HotKeyName[50];\t\n\tHOTKEYLIST::IT FindIT;\n\tHANDLE hItem;\n\tm_ItemHotkey[0] = m_pCommandsList->InsertItem(WSTR(\"Globals Hot key configuration\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[0],1,0-1);\n\tm_ItemHotkey[1] = m_pCommandsList->InsertItem(WSTR(\"Shortcut key for code windows\"));;\n\tm_pCommandsList->SetItemData(m_ItemHotkey[1],1,0-1);\n\tm_ItemHotkey[2] = m_pCommandsList->InsertItem(WSTR(\"Shortcut key for data windows\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[2],1,0-1);\n\tm_ItemHotkey[3] =m_pCommandsList->InsertItem(WSTR(\"Shortcut key for stack windows\"));\n\tm_pCommandsList->SetItemData(m_ItemHotkey[3],1,0-1);\n\tm_ItemHotkey[4]=m_pCommandsList->InsertItem(WSTR(\"Shortcut key for register windows\"));;\n\tm_pCommandsList->SetItemData(m_ItemHotkey[4],1,0-1);\n\t//hItem = m_pCommandsList->InsertItem(WSTR(\"\"));;\n\t//m_pCommandsList->SetItemData(hItem,1,0-1);\n\tfor(int i = 0;i < 5;i++)\n\t{\n\t\tfor(int j=0;j<gKeyConfig[i].Count-1;j++)\n\t\t{\n\t\t\tMapIT=m_CmdHotKeyMap.Find(gKeyConfig[i].pHotKeyInfo[j].CommandID);\n\t\t\thItem = m_pCommandsList->InsertItemA(gKeyConfig[i].pHotKeyInfo[j].KeyName,m_ItemHotkey[i]);\n\t\t\tKeyPair.FuncKeyCode=gKeyConfig[i].pHotKeyInfo[j].FuncKeyCode;\n\t\t\tKeyPair.SecondKeyCode=gKeyConfig[i].pHotKeyInfo[j].SecondKeyCode;\n\t\t\tif(MapIT!=m_CmdHotKeyMap.End())\n\t\t\t{\n\t\t\t\tif(MapIT->Count())\n\t\t\t\t{\n\t\t\t\t\tKeyPair=*MapIT->Begin();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMapIT = m_CmdHotKeyMap.InsertUnique(gKeyConfig[i].pHotKeyInfo[j].CommandID,HOTKEYLIST());\n\t\t\t\tpList=&*MapIT;\n\t\t\t\tpList->Append(KeyPair);\n\t\t\t}\n\t\t\tm_pCommandsList->SetItemData(hItem,1,gKeyConfig[i].pHotKeyInfo[j].CommandID);\n\t\t\t//if(KeyPair.FuncKeyCode)\n\t\t\tm_pCommandsList->SetItemText(hItem,1,GetHotKeyName(KeyPair.FuncKeyCode,KeyPair.SecondKeyCode,HotKeyName));\n\t\t}\n\t}\n\n\tdelete []pOrgBuffer;\n\treturn true;\n}\n\nbool CKeyMappingPage::SaveHotKeyConfigFile()\n{\n\tDWORD* Buffer;\n\tDWORD* pEndBuf;\n\tULSIZE nBufLen=0x1000;\n\tint nRealLen;\n\tCLocalFileIO File;\n\tDWORD dwSize=0;\n\tDWORD dwNum=(DWORD)m_CmdHotKeyMap.Count();\n\tCMDHOTKEYMAP::IT BeginIT;\n\tHOTKEYLIST::IT ListIT;\n\n\tBuffer=new DWORD[(nBufLen+3)/sizeof(sizeof(DWORD))];\n\tif(Buffer==NULL)\n\t\treturn false;\n\tpEndBuf=Buffer;\n\tpEndBuf++;\t\n\t*pEndBuf++=dwNum;\t\n\tfor(BeginIT=m_CmdHotKeyMap.Begin();BeginIT!=m_CmdHotKeyMap.End();BeginIT++)\n\t{\t\t\t\n\t\tdwNum=(DWORD)BeginIT->Count();\n\t\tif(dwNum==0)\n\t\t\tcontinue;\t\t\t\n\t\tdwNum=BeginIT.Key();\n\t\t*pEndBuf++=dwNum;\t\t\t\n\t\tdwNum=(DWORD)BeginIT->Count();\n\t\t*pEndBuf++=dwNum;\t\t\t\n\t\tListIT=BeginIT->Begin();\n\t\tfor(;ListIT!=BeginIT->End();ListIT++)\n\t\t{\n\t\t\t*pEndBuf++=ListIT->FuncKeyCode;\n\t\t\t*pEndBuf++=ListIT->SecondKeyCode;\t\t\t\t\n\t\t}\n\t\tdwSize++;\n\t}\n\tBuffer[1]=dwSize;\n\tnRealLen = *(int*)&pEndBuf-*(int*)&Buffer;\n#ifndef CODE_OS_NT_DRV\n\tSaveSyserHotKeyOption(m_HotKeyFile,Buffer,nRealLen);\n#else\n\tSaveSyserHotKeyBufferDriver(Buffer,nRealLen);\t\n#endif\n\tdelete []Buffer;\n\treturn true;\n}\n\nvoid CKeyMappingPage::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreateForm();\n\t\t//m_Style=WISP_WS_BORDER;\n\t\t//RecalcLayout();\n\t\tOnResize(NULL);\n\t\t//Create(540,400,NULL,WISP_SKBS_NORMAL,WISP_SH_NORMAL);\n\t\tCenter();\n\t}\n}"
  },
  {
    "path": "Project/Syser/Source/KeyMappingPage.h",
    "content": "#ifndef _KEY_MAPPING_PAGE_H_\n#define _KEY_MAPPING_PAGE_H_\n#include \"../../Code/Source/Code.h\"\n#include \"../../Syser/Source/SyserOption.h\"\n\n\n\n\ntypedef TList<KEY_PAIR> HOTKEYLIST;\ntypedef TMap<DWORD,HOTKEYLIST> CMDHOTKEYMAP;\n\nclass CKeyMappingPage : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG(OnResize);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnFileListCommand)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnButtonAdd)\n\tDECLARE_WISP_MSG_EVENT(OnButtonRemove)\n\tDECLARE_WISP_MSG_EVENT(OnButtonSave)\n\tDECLARE_WISP_MSG_EVENT(OnButtonReload)\n\tDECLARE_WISP_MSG_EVENT(OnButtonDefault)\n\tDECLARE_WISP_MSG_EVENT(OnNewKeyEdit)\n\tDECLARE_WISP_MSG_EVENT(OnExistKeyList)\n\tCKeyMappingPage();\n\tCWispStaticGroup*m_pGroup;\n\tCWispStaticGroup*m_pGroupDescription;\n\tCWispStaticStr* m_CommandStr;\n\tCWispStaticStr* m_NewKeyStr;\n\tCWispEdit* m_NewKeyEdit;\n\tCWispStaticStr* m_ExistStr;\n\tCWispList*\tm_pCommandsList;\n\tCWispList*\tm_pExistList;\n\tCWispButton*m_pSaveBT;\n\tCWispButton*m_pDefaultSignBT;\n\tCWispButton*m_pReloadBT;\n\tCWispButton*m_pDefaultBT;\n\tCWispButton*m_pAddBT;\n\tCWispButton*m_pRemoveBT;\n\tCHAR\tm_HotKeyFile[MAX_FN_LEN];\n\tWCHAR\tm_szSystemRootDir[MAX_FN_LEN];\n\tbool\tLoadHotKeyConfigFile();\n\tbool\tLoadHotKeyConfigFileByMap(CMDHOTKEYMAP *pCmdHotKeyMap);\n\tbool\tSaveHotKeyConfigFile();\n\tbool\tIsListItem(PCWSTR szName);\n\tint\t\tm_PreviousKeyType;\n\tWCHAR* GetHotKeyName(DWORD dwFuncKey,DWORD dwSecondKey,WCHAR* Buffer);\n\tWCHAR* GetHotKeyName(DWORD KeyValue,WCHAR* Buffer);\n\tCMDHOTKEYMAP m_CmdHotKeyMap;\n\tHOTKEYLIST* GetCurrentHotKeyList();\n\tKEY_PAIR GetHotKey();\n\tvoid LoadDefaultAll();\n\tvoid Popup();\n\t//CMDHOTKEYMAP m_CurrentCMDHotKeyMap;\n\n\tHANDLE m_ItemHotkey[5];\n\t//HANDLE m_CodeViewHotkey;\n\t//HANDLE m_DataViewHotkey;\n\t//HANDLE m_StackViewHotkey;\n\t//HANDLE m_RegisterViewHotkey;\n\n};\n\n#endif   //_KEY_MAPPING_PAGE_H_\n\n"
  },
  {
    "path": "Project/Syser/Source/Keyboard.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"Keyboard.h\"\nbool gUsbRightControl=false;\nbool gbUsbKeyboardActive=false;\nDWORD USBCOUNTPP=0;\n\nvoid TranslateUSBKey(BYTE*pPrevData,BYTE*pNewData)\n{\n\tbool bPrevMod,bMod;\n\tUINT VKey;\n\t//OUTPUT(WSTR(\"%02X %02X %02X %02X %02X %02X %02X %02X\\n\"),pNewData[0],pNewData[1],pNewData[2],pNewData[3],pNewData[4],pNewData[5],pNewData[6],pNewData[7]);\n\tif(pNewData[2] == 1 && pNewData[3] == 1 && pNewData[4] == 1 && pNewData[5] == 1 && pNewData[6] == 1 && pNewData[7] == 1)\n\t\treturn;\n\tif(*(WORD*)pNewData || *(WORD*)pPrevData)\n\t{\n\t\tfor(int n=0;USBModKeyTransTable[n].KeyType;n++)\n\t\t{\n\t\t\tbMod = (*(WORD*)pNewData & USBModKeyTransTable[n].Mask)!=0;\n\t\t\tbPrevMod = (*(WORD*)pPrevData & USBModKeyTransTable[n].Mask)!=0;\n\t\t\tif(bPrevMod^bMod)\n\t\t\t\tgpSyser->OnKeyEvent(USBModKeyTransTable[n].KeyType,bMod);\n\t\t}\n\t}\n\tfor(int n=2;pNewData[n]&&n<8;n++)\n\t{\n\t\tVKey = USBKeyTransTable[pNewData[n]];\n\t\tif(VKey!=WISP_VK_NULL && TStrNChr(&pPrevData[2],pNewData[n],6)==NULL)\n\t\t{\n\t\t\tgpSyser->OnKeyEvent(VKey,true);\n\t\t}\n\t}\n\tfor(int n=2;pPrevData[n]&&n<8;n++)\n\t{\n\t\tVKey = USBKeyTransTable[pPrevData[n]];\n\t\tif(VKey!=WISP_VK_NULL && TStrNChr(&pNewData[2],pPrevData[n],6)==NULL)\n\t\t{\n\t\t\tgpSyser->OnKeyEvent(VKey,false);\n\t\t}\n\t}\n\tmemcpy(pPrevData,pNewData,8);\n}\n\nUSB_MOD_TRANS USBModKeyTransTable[]=\n{\n\t{WISP_VK_LCONTROL,\t\t0x0001},\n\t{WISP_VK_LSHIFT,\t\t0x0002},\n\t{WISP_VK_LALT,\t\t\t0x0004},\n\t{WISP_VK_LWIN,\t\t\t0x0008},\n\t{WISP_VK_RCONTROL,\t\t0x0010},\n\t{WISP_VK_RSHIFT,\t\t0x0020},\n\t{WISP_VK_RALT,\t\t\t0x0040},\n\t{WISP_VK_RWIN,\t\t\t0x0080},\n\t{WISP_VK_NULL,\t\t\t0}\n};\n\nUINT USBKeyTransTable[256]=\n{\n\tWISP_VK_NULL,\t\t\t\t//0x00\n\tWISP_VK_NULL,\t\t\t\t//0x01\n\tWISP_VK_NULL,\t\t\t\t//0x02\n\tWISP_VK_NULL,\t\t\t\t//0x03\n\tWISP_VK_A,\t\t\t\t\t//0x04\n\tWISP_VK_B,\t\t\t\t\t//0x05\n\tWISP_VK_C,\t\t\t\t\t//0x06\n\tWISP_VK_D,\t\t\t\t\t//0x07\n\tWISP_VK_E,\t\t\t\t\t//0x08\n\tWISP_VK_F,\t\t\t\t\t//0x09\n\tWISP_VK_G,\t\t\t\t\t//0x0A\n\tWISP_VK_H,\t\t\t\t\t//0x0B\n\tWISP_VK_I,\t\t\t\t\t//0x0C\n\tWISP_VK_J,\t\t\t\t\t//0x0D\n\tWISP_VK_K,\t\t\t\t\t//0x0E\n\tWISP_VK_L,\t\t\t\t\t//0x0F\n\tWISP_VK_M,\t\t\t\t\t//0x10\n\tWISP_VK_N,\t\t\t\t\t//0x11\n\tWISP_VK_O,\t\t\t\t\t//0x12\n\tWISP_VK_P,\t\t\t\t\t//0x13\n\tWISP_VK_Q,\t\t\t\t\t//0x14\n\tWISP_VK_R,\t\t\t\t\t//0x15\n\tWISP_VK_S,\t\t\t\t\t//0x16\n\tWISP_VK_T,\t\t\t\t\t//0x17\n\tWISP_VK_U,\t\t\t\t\t//0x18\n\tWISP_VK_V,\t\t\t\t\t//0x19\n\tWISP_VK_W,\t\t\t\t\t//0x1A\n\tWISP_VK_X,\t\t\t\t\t//0x1B\n\tWISP_VK_Y,\t\t\t\t\t//0x1C\n\tWISP_VK_Z,\t\t\t\t\t//0x1D\n\tWISP_VK_1,\t\t\t\t\t//0x1E\n\tWISP_VK_2,\t\t\t\t\t//0x1F\n\tWISP_VK_3,\t\t\t\t\t//0x20\n\tWISP_VK_4,\t\t\t\t\t//0x21\n\tWISP_VK_5,\t\t\t\t\t//0x22\n\tWISP_VK_6,\t\t\t\t\t//0x23\n\tWISP_VK_7,\t\t\t\t\t//0x24\n\tWISP_VK_8,\t\t\t\t\t//0x25\n\tWISP_VK_9,\t\t\t\t\t//0x26\n\tWISP_VK_0,\t\t\t\t\t//0x27\n\tWISP_VK_RETURN,\t\t\t\t//0x28\n\tWISP_VK_ESCAPE,\t\t\t\t//0x29\t\n\tWISP_VK_BACK,\t\t\t\t//0x2A\n\tWISP_VK_TAB,\t\t\t\t//0x2B\n\tWISP_VK_SPACE,\t\t\t\t//0x2C\n\tWISP_VK_OEM_MINUS,\t\t\t//0x2D//WISP_VK_OEM_MINUS\n\tWISP_VK_OEM_PLUS,\t\t\t//0x2E\n\tWISP_VK_LSQUARE_BRACKET,\t//0x2F\n\tWISP_VK_RSQUARE_BRACKET,\t//0x30\n\tWISP_VK_OEM_5,\t\t\t\t//0x31\n\tWISP_VK_NULL,\t\t\t\t//0x32//WISP_VK_OEM_5\n\tWISP_VK_SEMI,\t\t\t\t//0x33\n\tWISP_VK_QUOT,\t\t\t\t//0x34\n\tWISP_VK_OEM_3,\t\t\t\t//0x35\n\tWISP_VK_OEM_COMMA,\t\t\t//0x36\n\tWISP_VK_OEM_PERIOD,\t\t\t//0x37\n\tWISP_VK_OEM_2,\t\t\t\t//0x38\n\tWISP_VK_CAPS_LOCK,\t\t\t//0x39\n\tWISP_VK_F1,\t\t\t\t\t//0x3A\n\tWISP_VK_F2,\t\t\t\t\t//0x3B\n\tWISP_VK_F3,\t\t\t\t\t//0x3C\n\tWISP_VK_F4,\t\t\t\t\t//0x3D\n\tWISP_VK_F5,\t\t\t\t\t//0x3E\n\tWISP_VK_F6,\t\t\t\t\t//0x3F\n\tWISP_VK_F7,\t\t\t\t\t//0x40\n\tWISP_VK_F8,\t\t\t\t\t//0x41\n\tWISP_VK_F9,\t\t\t\t\t//0x42\n\tWISP_VK_F10,\t\t\t\t//0x43\n\tWISP_VK_F11,\t\t\t\t//0x44\n\tWISP_VK_F12,\t\t\t\t//0x45\n\tWISP_VK_PRINT,\t\t\t\t//0x46  //e0 37\n\tWISP_VK_SCROLL_LOCK,\t\t//0x47\n\tWISP_VK_NULL,\t\t\t\t//0xe0 0x46\n\tWISP_VK_INSERT,\t\t\t\t//0xe0 0x52  'Ins'С\n\tWISP_VK_HOME,\t\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_PAGE_UP,\t\t\t//scancode 73 0x49  'Page Up'С\n\tWISP_VK_DELETE,\t\t\t\t//scancode 83 0x53  'Del'С\n\tWISP_VK_END,\t\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_PAGE_DOWN,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_RIGHT,\t\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\tWISP_VK_LEFT,\t\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\n\tWISP_VK_DOWN,\t\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_UP,\t\t\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_NUMLOCK,\t\t\t//scancode 69 0x45  'Num Lock'   Pause Break  0xE1 0x1D 0x45 0xE1 0x9D 0xC5\n\tWISP_VK_OEM_2,\t\t\t\t//scancode 53 0x35  '/?'\n\tWISP_VK_MULTIPLY,\t\t\t//scancode 55 0x37  '*'С . 'Print Screen* Sys Rq' 0xE0 0x2A 0xE0 0x37 0xE0 0xB7 0xE0 0xAA\n\tWISP_VK_SUBTRACT,\t\t\t//scancode 74 0x4a  '-'С\n\tWISP_VK_ADD,\t\t\t\t//scancode 78 0x4e  '+' \n\tWISP_VK_RETURN,\t\t\t\t//scancode 28 0x1c\t'}]'\n\tWISP_VK_NUMPAD1,\t\t\t//scancode 79 0x4f  'End' С\n\tWISP_VK_NUMPAD2,\t\t\t//scancode 80 0x50  'Down Arrow Key'С\n\tWISP_VK_NUMPAD3,\t\t\t//scancode 81 0x51  'Page Dn'С\n\tWISP_VK_NUMPAD4,\t\t\t//scancode 75 0x4b  'Left Arrow Key'С .\n\tWISP_VK_NUMPAD5,\t\t\t//scancode 76 0x4c  '5' С\n\tWISP_VK_NUMPAD6,\t\t\t//scancode 77 0x4d  'Right Arrow Key' С\n\tWISP_VK_NUMPAD7,\t\t\t//scancode 71 0x47  'Home'\n\tWISP_VK_NUMPAD8,\t\t\t//scancode 72 0x48  'Up Arrow Key'С .\n\tWISP_VK_NUMPAD9,\t\t\t//scancode 73 0x49  'Page Up'С\n\tWISP_VK_NUMPAD0,\t\t\t//scancode 82 0x52  'Ins'С\n\tWISP_VK_DECIMAL,\t\t\t//scancode 83 0x53  'Del'С\n\tWISP_VK_NULL,\t\t\t\t//scancode 86 0x56\n\tWISP_VK_APPS,\t\t\t\t//scancode 93 0x5d  'Apps'\n\tWISP_VK_NULL,\t\t\t\t//\n\tWISP_VK_NULL,\t\t\t\t//scancode 93 0x5d  'Window Apps'\n\tWISP_VK_NULL,\t\t\t\t//scancode 94 0x5e  'Power'\n\tWISP_VK_NULL,\t\t\t\t//scancode 95 0x5f  'Sleep'\n};\n"
  },
  {
    "path": "Project/Syser/Source/Keyboard.h",
    "content": "#ifndef _KEYBOARD_H_\n#define _KEYBOARD_H_\n\nstruct USB_MOD_TRANS\n{\n\tUINT\tKeyType;\n\tWORD\tMask;\n};\n\nextern\tUINT USBKeyTransTable[256];\nextern\tUSB_MOD_TRANS USBModKeyTransTable[];\nvoid\tTranslateUSBKey(BYTE*pPrevData,BYTE*pNewData);\n\n\nstruct USB_HOOK_PARAM\n{\n\tPUSAGE_AND_PAGE  ChangedUsageList;\n\tULONG  UsageListLength;\n\tHIDP_KEYBOARD_DIRECTION  KeyAction;\n\tPHIDP_KEYBOARD_MODIFIER_STATE  ModifierState;\n\tPHIDP_INSERT_SCANCODES  InsertCodesProcedure;\n\tPVOID  InsertCodesContext;\n};\n\nextern bool gUsbRightControl;\nextern bool gbUsbKeyboardActive;\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/LastBranch.cpp",
    "content": "#include \"stdafx.h\"\n#include \"LastBranch.h\"\n#include \"X86Optr.h\"\n\nstatic int gLastBranchType=0;\n\nint GetLastBranchType()\n{\n\treturn gLastBranchType;\n}\nbool GetLastBranchAddress(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tif(gLastBranchType==-1)\n\t\treturn false;\n\n\treturn gfnGetLastBranchInfo[gLastBranchType](Index,FromAddr,ToAddr);\n}\n\nbool GetLastBranchAddressPentium(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp,dwTmp2;\n\tif(Index!=0)\n\t\treturn false;\n\tSyserReadMSR(0x1db,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr = dwTmp2;\n\tSyserReadMSR(0x1dc,&dwTmp,&dwTmp2);\n\tif(ToAddr)\n\t\t*ToAddr = dwTmp2;\n\treturn true;\n}\n\nbool GetLastBranchAddressPentiumPro(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>3)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 3;\n\tdwTmp2 += 4;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 3;\n\tSyserReadMSR(0x1db+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp;\n\treturn true;\n}\n\n\nbool GetLastBranchAddressPentium4New_16(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>15)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 15;\n\tdwTmp2 += 16;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 15;\n\tIndex = dwTmp2;\n\tSyserReadMSR(0x680+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tSyserReadMSR(0x6C0+Index,&dwTmp,&dwTmp2);\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp2;\n\treturn true;\n}\n\nbool GetLastBranchAddressPentium4New_4(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>3)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 3;\n\tdwTmp2 += 4;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 3;\n\tIndex = dwTmp2;\n\tSyserReadMSR(0x40+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tSyserReadMSR(0x60+Index,&dwTmp,&dwTmp2);\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp2;\n\treturn true;\n}\n\nbool GetLastBranchAddressPentium4New_8(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>7)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 7;\n\tdwTmp2 += 8;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 7;\n\tIndex = dwTmp2;\n\tSyserReadMSR(0x40+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tSyserReadMSR(0x60+Index,&dwTmp,&dwTmp2);\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp2;\n\treturn true;\n}\n\nbool GetLastBranchAddressPentiumM_8(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>7)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 7;\n\tdwTmp2 += 8;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 7;\n\tSyserReadMSR(0x40+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp;\n\treturn true;\n}\n\nbool GetLastBranchAddressPentiumM_4(DWORD Index,DWORD* FromAddr,DWORD* ToAddr)\n{\n\tDWORD dwTmp=0,dwTmp2=0;\n\tif(Index>3)\n\t\treturn false;\n\tSyserReadMSR(0x1c9,&dwTmp,&dwTmp2);\n\tdwTmp2 &= 3;\n\tdwTmp2 += 4;\n\tdwTmp2 -= Index;\n\tdwTmp2 &= 3;\n\tSyserReadMSR(0x40+dwTmp2,&dwTmp,&dwTmp2);\n\tif(FromAddr)\n\t\t*FromAddr=dwTmp2;\n\tif(ToAddr)\n\t\t*ToAddr=dwTmp;\n\treturn true;\n}\n\n\n// \n// \n// int DetectLastBranchType()\n// {\n// \tDWORD Type=0,Index=0,Index2=0;\n// \tDWORD  From=0,To=0,From1=0,To1=0,Tos1=0,Tos2=0,From2=0,To2=0;\n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t\tmov ecx,0x1d9 \n// \t\txor eax,eax \n// \t\txor edx,edx \n// \t\trdmsr \n// \t\tor eax,1 \n// \t\twrmsr\n// \t\tcall local_001\n// \t\tnop\n// local_001:\n// \t\tpop eax\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tmov Tos1,eax\n// \t\tcall local_002\n// \t\tnop\n// local_002:\n// \t\tpop eax \n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tmov Tos2,eax \t\t\n// \t\tpopfd\n// \t\tpopad\n// \t}\t\n// \tif((Tos1 & 0xf) == (Tos2 & 0xf))  //ڵ P6  û MSR_LASTBRANCH_TOP \n// \t\treturn 0;\n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t\tcall local_003\n// \t\tnop\n// local_003:\n// \t\tpop eax\n// \t\tlea eax,[eax-5]\n// \t\tmov From,eax\n// \t\tlea eax,[eax+6]\n// \t\tmov To,eax\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tand eax,3\n// \t\tmov ecx, eax\t\t\n// \t\tadd ecx, 0x1db\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\trdmsr\n// \t\tmov From1, eax\n// \t\tmov To1, edx\t\t\n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \tif((From == From1 && To == To1) || (From == To1 && To == From1))\n// \t\treturn 1;\n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t\tcall local_004\n// \t\tnop\n// local_004:\n// \t\tpop eax\n// \t\tlea eax,[eax-5]\n// \t\tmov From,eax\n// \t\tlea eax,[eax+6]\n// \t\tmov To,eax\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tand eax,7\n// \t\tmov Index,eax\n// \t\tmov ecx, eax\t\t\n// \t\tadd ecx, 0x40\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\trdmsr\n// \t\tmov From1, eax\n// \t\tmov To1, edx\t\n// \t\tjmp local_102\n// \t\tnop\n// local_102:\n// \t\tjmp local_103\n// \t\t\tnop\n// local_103:\n// \t\tjmp local_104\n// \t\t\tnop\n// local_104:\n// \t\tjmp local_105\n// \t\t\tnop\n// local_105:\t\t\n// \t\tmov ecx,0x1d9 \n// \t\txor eax,eax \n// \t\txor edx,edx \n// \t\trdmsr \n// \t\tand eax,7 \n// \t\tmov Index2,eax \n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \tif((From == From1 && To == To1) || (From == To1 && To == From1))//һѭջмԪ\n// \t{\t\t\t\t\n// \t\treturn Index==Index2 ? 2 : 3;  // Index == Index2 \tѭջ4Ԫ  8 Ԫ\n// \t}\t\t\n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t\tcall local_034\n// \t\tnop\n// local_034:\n// \t\tpop eax\n// \t\tlea eax,[eax-5]\n// \t\tmov From,eax\n// \t\tlea eax,[eax+6]\n// \t\tmov To,eax\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tand eax,7\n// \t\tmov Index,eax\t\t\n// \t\tmov ecx, eax\t\t\n// \t\tadd ecx, 0x40\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\trdmsr\n// \t\tmov From1, eax\t\t\n// \t\tmov ecx,Index \n// \t\tadd ecx,0x60 \n// \t\txor eax,eax \n// \t\txor edx,edx\n// \t\trdmsr\t\t\n// \t\tmov To1,eax\n// \t\tjmp local_005\n// \t\tnop\n// local_005:\n// \t\tjmp local_006\n// \t\tnop \n// local_006:\n// \t\tjmp local_007\n// \t\tnop \n// local_007:\n// \t\tjmp local_008\n// \t\tnop \n// local_008:\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tand eax,7 \n// \t\tmov Index2,eax \n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \tif((From == From1 && To == To1) || (From == To1 && To == From1))//һѭջмԪ\n// \t{\t\t\t\t\n// \t\treturn Index==Index2 ? 4 : 5;  // Index == Index2 \tѭջ4Ԫ  8 Ԫ\n// \t}\t\t\n// \n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcli\n// \t\tcall local_036\n// \t\tnop\n// local_036:\n// \t\tpop eax\n// \t\tlea eax,[eax-5]\n// \t\tmov From,eax\n// \t\tlea eax,[eax+6]\n// \t\tmov To,eax\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\tmov ecx, 0x1c9 \n// \t\trdmsr\n// \t\tand eax,15\n// \t\tmov Index,eax\t\t\n// \t\tmov ecx, eax\t\t\n// \t\tadd ecx, 0x680\n// \t\txor eax, eax \n// \t\txor edx, edx\n// \t\trdmsr\n// \t\tmov From1, eax\t\t\n// \t\tmov ecx,Index \n// \t\tadd ecx,0x6c0 \n// \t\txor eax,eax \n// \t\txor edx,edx\n// \t\trdmsr\t\t\n// \t\tmov To1,eax\t\t\n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \tif((From == From1 && To == To1) || (From == To1 && To == From1))\n// \t\treturn 6;\n// \treturn -1;\n// }\n\nbool InitBranchMointer()\n{\t\n\tif(gpCPUIDInfo==NULL || SyserIsSupportCPUIDInstruction()==false || SyserIsSupportRDMSRInstruction()==false)\n\t\treturn false;\t\n\tif((gpCPUIDInfo[1].dwEAX&0xf00)<0x600)\n\t\treturn false;\t\t\n\tgLastBranchType = SyserDetectLastBranchType();\n\tif(gLastBranchType==-1)\n\t\treturn false;\n\tgbHaveLastBranchMointer = true;\n\tSetLastBranchMointer();\n\treturn true;\n}\nbool SetLastBranchMointer()\n{\n\tDWORD dwHigh,dwLow;\n\tif(gLastBranchType==-1)\n\t\treturn false;\n\tSyserReadMSR(0x1d9,&dwHigh,&dwLow);\n\tdwLow |= 1;\n\tSyserWriteMSR(0x1d9,dwHigh,dwLow);\n\treturn true;\n}\n\n\nGETLASTBRANCHINFO gfnGetLastBranchInfo[7]=\n{\n\tGetLastBranchAddressPentium,\n\tGetLastBranchAddressPentiumPro,\n\tGetLastBranchAddressPentiumM_4,\n\tGetLastBranchAddressPentiumM_8,\n\tGetLastBranchAddressPentium4New_4,\n\tGetLastBranchAddressPentium4New_8,\n\tGetLastBranchAddressPentium4New_16,\n};\n\n"
  },
  {
    "path": "Project/Syser/Source/LastBranch.h",
    "content": "#ifndef __LASTBRANCH__H__\n#define __LASTBRANCH__H__\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool\t\tSetLastBranchMointer();\nbool\t\tInitBranchMointer();\nbool\t\tGetLastBranchAddress(DWORD Index,DWORD* FromAddr,DWORD* ToAdd);\n\ntypedef bool (*GETLASTBRANCHINFO)(DWORD Index,DWORD* FromAddr,DWORD* ToAddr);\nextern GETLASTBRANCHINFO gfnGetLastBranchInfo[7];\nint SyserDetectLastBranchType(VOID);\nint GetLastBranchType();\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //__LASTBRANCH__H__\n\n"
  },
  {
    "path": "Project/Syser/Source/Lex2.cpp",
    "content": "#include \"stdafx.h\"\n#ifdef CODE_OS_NT_DRV\t\n#define FILE MYFILE\ntypedef void MYFILE;\n#undef stdout \n#undef stdin\n#define stdout 0\n#define stdin 0 \n#endif\n/* A lexical scanner generated by flex */\n\n/* Scanner skeleton version:\n * $Header: z:\\\\cvsroot/Syser/Source/Syser/Lex2.cpp,v 1.1 2005/03/08 09:23:05 rock Exp $\n */\n\n#define FLEX_SCANNER\n#define YY_FLEX_MAJOR_VERSION 2\n#define YY_FLEX_MINOR_VERSION 5\n\n//#include <stdio.h>\n//#include <unistd.h>\n\n\n/* cfront 1.2 defines \"c_plusplus\" instead of \"__cplusplus\" */\n#ifdef c_plusplus\n#ifndef __cplusplus\n#define __cplusplus\n#endif\n#endif\n\n\n#ifdef __cplusplus\n\n//#include <stdlib.h>\n\n/* Use prototypes in function declarations. */\n#define YY_USE_PROTOS\n\n/* The \"const\" storage-class-modifier is valid. */\n#define YY_USE_CONST\n\n#else\t/* ! __cplusplus */\n\n#if __STDC__\n\n#define YY_USE_PROTOS\n#define YY_USE_CONST\n\n#endif\t/* __STDC__ */\n#endif\t/* ! __cplusplus */\n\n#ifdef __TURBOC__\n #pragma warn -rch\n #pragma warn -use\n#include <io.h>\n#include <stdlib.h>\n#define YY_USE_CONST\n#define YY_USE_PROTOS\n#endif\n\n#ifdef YY_USE_CONST\n#define yyconst const\n#else\n#define yyconst\n#endif\n\n\n#ifdef YY_USE_PROTOS\n#define YY_PROTO(proto) proto\n#else\n#define YY_PROTO(proto) ()\n#endif\n\n/* Returned upon end-of-file. */\n#define YY_NULL 0\n\n/* Promotes a possibly negative, possibly signed char to an unsigned\n * integer for use as an array index.  If the signed char is negative,\n * we want to instead treat it as an 8-bit unsigned char, hence the\n * double cast.\n */\n#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)\n\n/* Enter a start condition.  This macro really ought to take a parameter,\n * but we do it the disgusting crufty way forced on us by the ()-less\n * definition of BEGIN.\n */\n#define BEGIN yy_start = 1 + 2 *\n\n/* Translate the current start state into a value that can be later handed\n * to BEGIN to return to the state.  The YYSTATE alias is for lex\n * compatibility.\n */\n#define YY_START ((yy_start - 1) / 2)\n#define YYSTATE YY_START\n\n/* Action number for EOF rule of a given start state. */\n#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)\n\n/* Special action meaning \"start processing a new file\". */\n#define YY_NEW_FILE yyrestart( yyin )\n\n#define YY_END_OF_BUFFER_CHAR 0\n\n/* Size of default input buffer. */\n#define YY_BUF_SIZE 16384\n\ntypedef struct yy_buffer_state *YY_BUFFER_STATE;\n\nextern int yyleng;\nextern FILE *yyin, *yyout;\n\n#define EOB_ACT_CONTINUE_SCAN 0\n#define EOB_ACT_END_OF_FILE 1\n#define EOB_ACT_LAST_MATCH 2\n\n/* The funky do-while in the following #define is used to turn the definition\n * int a single C statement (which needs a semi-colon terminator).  This\n * avoids problems with code like:\n *\n * \tif ( condition_holds )\n *\t\tyyless( 5 );\n *\telse\n *\t\tdo_something_else();\n *\n * Prior to using the do-while the compiler would get upset at the\n * \"else\" because it interpreted the \"if\" statement as being all\n * done when it reached the ';' after the yyless() call.\n */\n\n/* Return all but the first 'n' matched characters back to the input stream. */\n\n#define yyless(n) \\\n\tdo \\\n\t\t{ \\\n\t\t/* Undo effects of setting up yytext. */ \\\n\t\t*yy_cp = yy_hold_char; \\\n\t\tYY_RESTORE_YY_MORE_OFFSET \\\n\t\tyy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \\\n\t\tYY_DO_BEFORE_ACTION; /* set up yytext again */ \\\n\t\t} \\\n\twhile ( 0 )\n\n#define unput(c) yyunput( c, yytext_ptr )\n\n/* The following is because we cannot portably get our hands on size_t\n * (without autoconf's help, which isn't available because we want\n * flex-generated scanners to compile on their own).\n */\ntypedef unsigned int yy_size_t;\n\n\nstruct yy_buffer_state\n\t{\n\tFILE *yy_input_file;\n\n\tchar *yy_ch_buf;\t\t/* input buffer */\n\tchar *yy_buf_pos;\t\t/* current position in input buffer */\n\n\t/* Size of input buffer in bytes, not including room for EOB\n\t * characters.\n\t */\n\tyy_size_t yy_buf_size;\n\n\t/* Number of characters read into yy_ch_buf, not including EOB\n\t * characters.\n\t */\n\tint yy_n_chars;\n\n\t/* Whether we \"own\" the buffer - i.e., we know we created it,\n\t * and can realloc() it to grow it, and should free() it to\n\t * delete it.\n\t */\n\tint yy_is_our_buffer;\n\n\t/* Whether this is an \"interactive\" input source; if so, and\n\t * if we're using stdio for input, then we want to use getc()\n\t * instead of fread(), to make sure we stop fetching input after\n\t * each newline.\n\t */\n\tint yy_is_interactive;\n\n\t/* Whether we're considered to be at the beginning of a line.\n\t * If so, '^' rules will be active on the next match, otherwise\n\t * not.\n\t */\n\tint yy_at_bol;\n\n\t/* Whether to try to fill the input buffer when we reach the\n\t * end of it.\n\t */\n\tint yy_fill_buffer;\n\n\tint yy_buffer_status;\n#define YY_BUFFER_NEW 0\n#define YY_BUFFER_NORMAL 1\n\t/* When an EOF's been seen but there's still some text to process\n\t * then we mark the buffer as YY_EOF_PENDING, to indicate that we\n\t * shouldn't try reading from the input source any more.  We might\n\t * still have a bunch of tokens to match, though, because of\n\t * possible backing-up.\n\t *\n\t * When we actually see the EOF, we change the status to \"new\"\n\t * (via yyrestart()), so that the user can continue scanning by\n\t * just pointing yyin at a new input file.\n\t */\n#define YY_BUFFER_EOF_PENDING 2\n\t};\n\nstatic YY_BUFFER_STATE yy_current_buffer = 0;\n\n/* We provide macros for accessing buffer states in case in the\n * future we want to put the buffer states in a more general\n * \"scanner state\".\n */\n#define YY_CURRENT_BUFFER yy_current_buffer\n\n\n/* yy_hold_char holds the character lost when yytext is formed. */\nstatic char yy_hold_char;\n\nstatic int yy_n_chars;\t\t/* number of characters read into yy_ch_buf */\n\n\nint yyleng;\n\n/* Points to current character in buffer. */\nstatic char *yy_c_buf_p = (char *) 0;\nstatic int yy_init = 1;\t\t/* whether we need to initialize */\nstatic int yy_start = 0;\t/* start state number */\n\n/* Flag which is used to allow yywrap()'s to do buffer switches\n * instead of setting up a fresh yyin.  A bit of a hack ...\n */\nstatic int yy_did_buffer_switch_on_eof;\n\nvoid yyrestart YY_PROTO(( FILE *input_file ));\n\nvoid yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));\nvoid yy_load_buffer_state YY_PROTO(( void ));\nYY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));\nvoid yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));\nvoid yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));\nvoid yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));\n#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )\n\nYY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));\nYY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));\nYY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));\n\nstatic void *yy_flex_alloc YY_PROTO(( yy_size_t ));\nstatic void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));\nstatic void yy_flex_free YY_PROTO(( void * ));\n\n#define yy_new_buffer yy_create_buffer\n\n#define yy_set_interactive(is_interactive) \\\n\t{ \\\n\tif ( ! yy_current_buffer ) \\\n\t\tyy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \\\n\tyy_current_buffer->yy_is_interactive = is_interactive; \\\n\t}\n\n#define yy_set_bol(at_bol) \\\n\t{ \\\n\tif ( ! yy_current_buffer ) \\\n\t\tyy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \\\n\tyy_current_buffer->yy_at_bol = at_bol; \\\n\t}\n\n#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)\n\ntypedef unsigned char YY_CHAR;\nFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;\ntypedef int yy_state_type;\nextern char *yytext;\n#define yytext_ptr yytext\n\nstatic yy_state_type yy_get_previous_state YY_PROTO(( void ));\nstatic yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));\nstatic int yy_get_next_buffer YY_PROTO(( void ));\nstatic void yy_fatal_error YY_PROTO(( yyconst char msg[] ));\n\n/* Done after the current pattern has been matched and before the\n * corresponding action - sets up yytext.\n */\n#define YY_DO_BEFORE_ACTION \\\n\tyytext_ptr = yy_bp; \\\n\tyyleng = (int) (yy_cp - yy_bp); \\\n\tyy_hold_char = *yy_cp; \\\n\t*yy_cp = '\\0'; \\\n\tyy_c_buf_p = yy_cp;\n\n#define YY_NUM_RULES 200\n#define YY_END_OF_BUFFER 201\nstatic yyconst short int yy_accept[812] =\n    {   0,\n        0,    0,    0,    0,  201,  199,    1,    3,    2,  160,\n      199,  148,  162,  155,  199,  145,  146,  156,  157,  147,\n      158,  154,  161,  140,  139,  168,  169,  163,  170,  164,\n      167,  138,  138,  152,  153,  165,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  150,  166,  151,  159,  200,\n      200,    1,    3,    0,    2,  182,    0,  144,    0,  149,\n        0,    0,    0,    0,    0,    0,  187,  183,  192,    0,\n        0,  185,  175,  188,  176,  189,  173,  171,    0,  142,\n      196,    0,  186,  142,  140,    0,    0,  140,  140,    0,\n\n      139,  139,  139,  172,  177,  179,  181,  180,  178,  138,\n        0,    0,  193,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,   65,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,   77,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  194,\n      184,  197,    0,    0,    0,    0,    0,    0,  129,    0,\n        0,    0,    0,    0,    0,  143,    0,    0,  174,  195,\n        0,  142,    0,  198,    0,  142,  140,  141,  139,  190,\n      191,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,   74,\n      138,  138,  138,   79,  138,  138,  138,  138,   84,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  110,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,    0,    0,    0,    0,    0,    0,    0,    0,\n        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,\n      142,  141,  141,  138,  138,  138,  138,  138,  138,  138,\n\n      138,  138,  138,  138,  138,   17,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,   51,\n      138,   53,  138,   55,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,   68,   69,  138,  138,  138,  138,\n      138,   76,  138,   80,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  106,  138,  138,\n      109,  138,  138,  138,  138,  117,  138,  119,  138,  138,\n      138,    0,    0,    0,  128,  132,    0,    0,    0,    0,\n\n        0,    0,  134,    0,    0,    0,    0,    0,  141,  138,\n      138,    6,  138,  138,    9,  138,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n       29,  138,  138,  138,   36,  138,  138,  138,  138,  138,\n      138,   44,  138,  138,  138,  138,   50,  138,   52,   54,\n       56,   57,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,   72,   73,  138,  138,  138,   82,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,   98,  138,  138,  138,  138,  138,  138,  138,\n      108,  138,  138,  138,  114,  138,  116,  138,  138,  138,\n\n      123,    0,  135,  125,  133,    0,    0,    0,    0,  127,\n      131,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,   18,  138,  138,  138,  138,  138,  138,\n      138,   23,  138,  138,   30,  138,   34,   35,  138,  138,\n      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,   61,  138,  138,  138,   66,  138,  138,\n       71,   75,   78,  138,  138,  138,  138,  138,  138,  138,\n      138,  138,  138,   93,  138,  138,   96,  138,   99,  100,\n      101,  103,  104,  138,  107,  138,  112,  138,  138,  138,\n      138,  138,  124,  136,  126,    0,  137,  138,  138,  138,\n\n        8,   10,  138,  138,   13,  138,  138,  138,  138,  138,\n      138,  138,  138,   24,   25,   26,  138,   28,   31,   32,\n      138,  138,   38,  138,  138,  138,   42,  138,  138,  138,\n       48,  138,  138,  138,  138,   60,  138,  138,  138,  138,\n      138,   81,  138,  138,  138,   87,  138,  138,   90,  138,\n      138,  138,  138,  138,  138,  138,  111,  138,  138,  118,\n      138,  122,  130,  138,  138,    7,  138,  138,   14,  138,\n      138,  138,  138,  138,  138,   22,  138,  138,  138,   39,\n      138,  138,  138,   46,   47,  138,  138,  138,   59,  138,\n      138,  138,  138,   70,  138,   85,   86,   88,   89,   91,\n\n      138,   94,  138,  138,  138,  105,  113,  115,  120,  138,\n        5,  138,  138,  138,   45,  138,  138,  138,  138,  138,\n      138,  138,  138,   41,  138,  138,  121,  138,  138,   63,\n       64,  138,   83,   92,  138,   97,  138,    4,   11,   12,\n       15,  138,  138,  138,  138,  138,  138,   37,  138,   43,\n      138,   58,   62,  138,  138,  138,  138,  138,   20,  138,\n       27,  138,  138,  138,  138,  138,  102,  138,   19,  138,\n      138,  138,  138,   67,  138,   16,  138,  138,  138,  138,\n      138,  138,  138,  138,  138,  138,   21,  138,  138,  138,\n      138,  138,  138,  138,   95,  138,  138,  138,  138,  138,\n\n      138,  138,  138,  138,  138,   40,  138,  138,   49,   33,\n        0\n    } ;\n\nstatic yyconst int yy_ec[256] =\n    {   0,\n        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,\n        4,    5,    6,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    7,    8,    9,   10,    1,   11,   12,   13,   14,\n       15,   16,   17,   18,   19,   20,   21,   22,   23,   24,\n       25,   26,   27,   28,   27,   29,   30,   31,   32,   33,\n       34,   35,   36,    1,   37,   37,   37,   37,   38,   39,\n       40,   40,   40,   40,   40,   41,   40,   40,   40,   40,\n       40,   40,   40,   40,   42,   40,   40,   43,   40,   40,\n       44,   45,   46,   47,   48,    1,   49,   50,   51,   52,\n\n       53,   54,   55,   56,   57,   40,   58,   59,   60,   61,\n       62,   63,   40,   64,   65,   66,   67,   68,   69,   70,\n       71,   72,   73,   74,   75,   76,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1\n    } ;\n\nstatic yyconst int yy_meta[77] =\n    {   0,\n        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    3,    1,    1,    1,    1,    1,    1,    4,\n        1,    5,    5,    5,    5,    5,    5,    5,    5,    5,\n        1,    1,    1,    1,    1,    1,    6,    7,    8,    9,\n       10,    9,    9,    1,    1,    1,    1,    9,    6,    6,\n        6,    6,    7,    8,    9,    9,    9,    9,   10,    9,\n        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,\n        9,    9,    1,    1,    1,    1\n    } ;\n\nstatic yyconst short int yy_base[824] =\n    {   0,\n        0,    0, 1116, 1115, 1130, 1133,   75, 1133,   81, 1095,\n       80,   80, 1094,   79, 1082, 1133, 1133, 1092,   75, 1133,\n       76,   77,   96,  128,  179, 1094, 1133,   81, 1090,   84,\n     1133,    0,   85, 1133, 1133, 1089, 1074,   58,   67,  106,\n       75,   82, 1059,   67, 1058, 1052,  111, 1055,   60, 1064,\n      119,  126,  113,   78,  111, 1133,  115, 1133, 1133, 1133,\n     1095,  208, 1133,  220,  237, 1133,  174, 1133,  238, 1133,\n     1062,  132,  174, 1057, 1049,   77, 1133, 1133, 1133,  171,\n      300, 1133, 1133, 1133, 1133, 1133, 1096, 1133, 1091,  214,\n     1133, 1107, 1133,  218,  175,  216,  350,  119,  189,    0,\n\n        0,  191,  190, 1133, 1075, 1133, 1133, 1133, 1074,    0,\n      241, 1062, 1133,  332, 1044, 1052,  210, 1055, 1054, 1041,\n      226, 1042, 1033, 1038, 1033, 1030,  215, 1037, 1033, 1030,\n     1036, 1026,    0,  225, 1030, 1024,  134, 1020,  237, 1035,\n      233, 1037,  241, 1027, 1023,  238,  233, 1027, 1023,  254,\n      245, 1019,  172, 1024, 1023, 1015,  258, 1022, 1020, 1133,\n     1133, 1133,  381,    0, 1022,  264, 1023, 1010,  218, 1010,\n     1021, 1010, 1021, 1017, 1011, 1133,  389,    0, 1133, 1133,\n      413, 1133, 1064, 1133,  422,  292, 1133,  293, 1133, 1133,\n     1133,  282,  281, 1014, 1012,  269,  291, 1013, 1001,  304,\n\n     1009,  395,  999,  298, 1011,  400,  995,  253,  314,  291,\n      999, 1008, 1003, 1004,  990,  988,  354, 1003,  998,  986,\n      368,  999,  999,  994,  986,  986,  991,  978,  993,    0,\n      988,  978,  982,    0,  983,  988,  983,  982,    0,  973,\n      980,  976,  965,  966,  961,  361,  969,  970,  965,  958,\n      971,  959,  961,  968,  954,  952,  952,  954,  951,  369,\n      962,    0,  961,  951,  955,  950,  958,  943,  956,  958,\n      957,  946,  446,  483,  947,  949,  949,  944,  938,  946,\n      946,  935,  937,  942,  939,  940,  931,  471,  525,  453,\n      485,  387,  369,  926,  933,  396,  924,  918,  934,  464,\n\n      933,  934,  919,  922,  918,    0,  919,  927,  931,  399,\n      929,  953,  950,  916,  463,  913,  911,  915,  922,  909,\n      917,  905,  896,  910,  908,  905,  899,  936,  905,    0,\n      902,    0,  903,    0,  893,  891,  899,  888,  888,  900,\n      882,  891,  891,  889,    0,    0,  891,  883,  893,  879,\n      883,    0,  882,    0,  892,  889,  875,  880,  872,  873,\n      887,  886,  885,  880,  879,  874,  865,  863,  864,  876,\n      860,  872,  862,  866,  871,  870,  861,    0,  870,  849,\n        0,  504,  856,  861,  860,    0,  847,    0,  847,  848,\n      858,  455,    0,  849, 1133, 1133,  855,  844,  853,  853,\n\n      841,  837, 1133,  843,  848,  846,  472,    0, 1133,  834,\n      844,    0,  831,  844,    0,  845,  836,  841,  832,  839,\n      825,  841,  838,  830,  826,  466,  829,  543,  817,  855,\n        0,  817,  831,  818,    0,  817,  814,  819,  822,  825,\n      822,  826,  811,  820,  804,  804,    0,  820,    0,    0,\n        0,  820,  806,  807,  812,  813,  800,  799,  808,  803,\n      808,  797,    0,    0,  805,  803,  796,    0,  791,  796,\n      785,  789,  800,  783,  782,  783,  795,  794,  778,  790,\n      781,  775,    0,  788,  785,  787,  771,  780,  786,  782,\n        0,  780,  780,  782,    0,  769,    0,  780,  771,  779,\n\n        0,  773, 1133, 1133, 1133,  771,  758,  771,  773, 1133,\n     1133,  757,  759,  759,  766,  758,  751,  760,  748,  750,\n      761,  752,  757,    0,  743,  738,  745,  745,  777,  780,\n      777,    0,  738,  748,  488,  743,    0,    0,  746,  745,\n      744,  737,  746,  730,  742,  730,  729,  737,  722,  724,\n      736,  719,  719,    0,  735,  721,  720,    0,  730,  723,\n        0,    0,    0,  726,  729,  716,  712,  706,  715,  711,\n      719,  705,  704,    0,  716,  704,    0,  718,    0,    0,\n      718,    0,    0,  699,    0,  710,    0,  703,  709,  702,\n      701,  693, 1133, 1133, 1133,  705, 1133,  708,  694,  702,\n\n        0,    0,  691,  704,    0,  686,  702,  691,  692,  691,\n      690,  680,  692,    0,    0,    0,  690,    0,    0,    0,\n      680,  678,    0,  689,  687,  680,    0,  689,  679,  682,\n        0,  686,  686,  684,  679,    0,  665,  666,  665,  680,\n      661,    0,  675,  672,  663,    0,  670,  658,    0,  650,\n      667,  655,  655,  656,  665,  662,    0,  661,  661,    0,\n      659,    0, 1133,  660,  656,    0,  656,  642,    0,  648,\n      635,  644,  650,  638,  654,    0,  652,  641,  633,    0,\n      650,  638,  631,    0,    0,  636,  628,  628,    0,  639,\n      625,  624,  638,    0,  635,    0,    0,    0,    0,    0,\n\n      635,    0,  622,  614,  635,    0,    0,    0,    0,  617,\n        0,  631,  628,  621,    0,  620,  621,  611,  622,  622,\n      619,  598,  610,    0,  600,  603,    0,  571,  582,    0,\n        0,  570,    0,    0,  565,    0,  543,    0,    0,    0,\n        0,  538,  541,  528,  522,  538,  542,    0,  528,    0,\n      531,    0,    0,  522,  520,  519,  523,  519,    0,  525,\n        0,  524,  524,  512,  503,  519,    0,  507,    0,  494,\n      497,  504,  490,    0,  492,    0,  476,  485,  467,  477,\n      480,  449,   43,   51,   99,  135,    0,  236,  272,  287,\n      291,  302,  345,  367,    0,  393,  399,  414,  437,  436,\n\n      427,  428,  437,  450,  451,    0,  450,  451,    0,    0,\n     1133,  596,  606,  616,  622,  628,  638,  645,  648,  652,\n      656,  660,  666\n    } ;\n\nstatic yyconst short int yy_def[824] =\n    {   0,\n      811,    1,  812,  812,  811,  811,  811,  811,  811,  811,\n      813,  811,  811,  811,  814,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  815,  815,  811,  811,  811,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  813,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  814,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  816,\n      811,  817,  811,  816,   24,  818,  811,  811,  811,  819,\n\n       25,  811,  811,  811,  811,  811,  811,  811,  811,  815,\n      813,  814,  811,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  811,\n      811,  811,  813,  820,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  814,  821,  811,  811,\n      811,  811,  817,  811,  811,  822,  811,  819,  811,  811,\n      811,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  813,  813,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  814,  814,  811,\n      823,  811,  811,  815,  815,  815,  815,  815,  815,  815,\n\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  813,  274,  811,  811,  811,  811,  811,  811,  811,\n\n      811,  811,  811,  811,  811,  811,  814,  289,  811,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n\n      815,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  811,  811,  811,  811,  811,  815,  815,  815,\n\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  811,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n\n      815,  815,  815,  815,  815,  815,  815,  815,  815,  815,\n        0,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811\n    } ;\n\nstatic yyconst short int yy_nxt[1210] =\n    {   0,\n        6,    7,    8,    9,    9,    9,    7,   10,   11,   12,\n       13,   14,   15,   16,   17,   18,   19,   20,   21,   22,\n       23,   24,   25,   25,   25,   25,   25,   25,   25,   25,\n       26,   27,   28,   29,   30,   31,   32,   32,   32,   32,\n       33,   32,   32,   34,    6,   35,   36,   37,   32,   38,\n       39,   40,   41,   42,   43,   32,   44,   32,   45,   46,\n       47,   48,   49,   50,   51,   52,   53,   54,   55,   32,\n       32,   32,   56,   57,   58,   59,   62,   63,   64,   64,\n       64,   62,   64,   63,   65,   65,   65,   64,   68,   70,\n       78,   83,   88,  111,   85,  788,   89,  112,   90,   90,\n\n       90,   90,   90,   90,   90,   90,   90,  789,   84,   86,\n       87,   91,   79,  105,  106,  117,   92,  108,  109,  115,\n      133,  116,  118,  141,   69,  119,  142,  134,  120,   93,\n      128,   71,   72,  125,  156,  126,   73,  174,   74,  157,\n      129,  175,   75,  130,  127,  131,   76,   94,  160,   95,\n       95,   95,   95,   95,   95,   95,   96,   96,  121,  137,\n      187,  158,  790,  138,  122,   97,  159,  123,   98,   99,\n      100,  144,  139,  153,  145,  146,  124,  154,  149,  155,\n       97,  150,   68,  176,  147,  187,   98,  148,  161,  151,\n      166,  237,  167,  238,   99,  168,  152,  100,   94,  791,\n\n      101,  101,  101,  101,  101,  101,  101,  101,  101,   62,\n       63,   64,   64,   64,   62,   81,   97,  811,   69,  102,\n      103,   64,   63,   64,   64,   64,   64,  169,  264,  187,\n      189,   97,  189,  170,  171,   94,  265,  102,   64,   63,\n       65,   65,   65,   64,  811,  103,   67,  187,  189,   68,\n       67,  181,  182,   97,  182,  181,  182,  189,  182,  163,\n      163,  163,  163,  163,  163,  163,  181,  182,   97,  280,\n      181,  182,  182,   67,  213,  214,  182,  226,  281,  218,\n      227,  255,   67,  233,  219,   69,   67,   67,  220,  245,\n      234,   67,  253,  240,  246,  248,  256,  249,   67,  792,\n\n      241,   67,  242,   67,  243,   67,  250,  164,   80,  254,\n      259,  261,   80,  324,  269,  262,  270,  260,  328,  325,\n      276,  177,  177,  177,  177,  177,  177,  177,  277,  297,\n      182,  294,  182,  292,  293,   80,  301,  793,  302,  303,\n      295,  329,  298,  794,   80,  182,  296,  304,   80,   80,\n      182,  292,  305,   80,  316,  308,  795,  309,  796,  293,\n       80,  317,  326,   80,  310,   80,  185,   80,  185,  178,\n      327,  186,  186,  186,  186,  186,  186,  186,  186,  186,\n      192,  193,  194,  195,  196,  197,  198,  199,  200,   68,\n      201,  202,  203,  797,  204,  205,  206,  207,  208,  209,\n\n      210,  176,  273,  273,  273,  273,  273,  273,  273,  409,\n      288,  288,  288,  288,  288,  288,  288,  312,  336,  337,\n      341,  379,  313,  364,  342,   69,  365,  409,  409,  290,\n      380,  290,  798,   81,  291,  291,  291,  291,  291,  291,\n      291,  291,  291,  186,  186,  186,  186,  186,  186,  186,\n      186,  186,  319,  409,   68,  412,  320,  427,  799,  800,\n      413,  314,  801,   68,  428,  321,  322,  392,  392,  392,\n      392,  392,  392,  392,  291,  291,  291,  291,  291,  291,\n      291,  291,  291,  176,  176,  802,  803,  804,  805,  806,\n       69,   68,  407,  407,  407,  407,  407,  407,  407,   69,\n\n      807,  808,  809,  810,  393,  393,  393,  393,  393,  393,\n      393,  393,  393,  787,  417,   81,   81,  433,  526,  393,\n      393,  393,  418,  182,  434,  182,  527,   69,  786,  785,\n      784,  393,  393,  393,  393,  393,  393,  176,  182,  619,\n      783,  782,  781,  182,  620,  780,  408,  408,  408,  408,\n      408,  408,  408,  408,  408,  492,  779,  778,  777,  776,\n      493,  408,  408,  408,  494,  529,  775,  530,  774,   81,\n      531,  532,  773,  408,  408,  408,  408,  408,  408,  772,\n      771,  770,  769,  768,  767,  766,  765,  764,  763,  762,\n      761,  760,  759,  758,  757,  533,   60,   60,   60,   60,\n\n       60,   60,   60,   60,   60,   60,   67,  756,   67,   67,\n       67,   67,   67,   67,   67,   67,   80,  755,  754,   80,\n       80,   80,   80,   80,   80,   80,  110,  110,  110,  110,\n      110,  110,   90,  753,   90,   90,  752,   90,  183,  183,\n      183,  183,  183,  183,  183,  183,  183,  183,   96,   96,\n      751,   96,  188,  188,  188,  188,  274,  274,  274,  274,\n      289,  289,  289,  289,  186,  750,  749,  186,  748,  186,\n      291,  747,  746,  291,  745,  291,  744,  743,  742,  741,\n      740,  739,  738,  737,  736,  735,  734,  733,  732,  731,\n      730,  729,  728,  727,  726,  725,  724,  723,  722,  721,\n\n      720,  719,  718,  717,  716,  715,  714,  713,  712,  711,\n      710,  709,  708,  707,  706,  705,  704,  703,  702,  701,\n      700,  699,  698,  697,  696,  695,  694,  693,  692,  691,\n      690,  689,  688,  687,  686,  685,  684,  683,  682,  681,\n      680,  679,  678,  677,  676,  675,  674,  673,  672,  671,\n      670,  669,  668,  667,  666,  665,  664,  663,  662,  661,\n      660,  659,  658,  657,  656,  655,  654,  653,  652,  651,\n      650,  649,  648,  647,  646,  645,  644,  643,  642,  641,\n      640,  639,  638,  637,  636,  635,  634,  633,  632,  631,\n      630,  629,  628,  627,  626,  625,  624,  623,  622,  621,\n\n      618,  617,  616,  615,  614,  613,  612,  611,  610,  609,\n      608,  607,  606,  605,  604,  603,  602,  601,  600,  599,\n      598,  597,  596,  595,  594,  593,  592,  591,  590,  589,\n      588,  587,  586,  585,  584,  583,  582,  581,  580,  579,\n      578,  577,  576,  575,  574,  573,  572,  571,  570,  569,\n      568,  567,  566,  565,  564,  563,  562,  561,  560,  559,\n      558,  557,  556,  555,  554,  553,  552,  551,  550,  549,\n      548,  547,  546,  545,  544,  543,  542,  541,  540,  539,\n      538,  537,  536,  535,  534,  528,  525,  524,  523,  522,\n      521,  520,  519,  518,  517,  516,  515,  514,  513,  512,\n\n      511,  510,  509,  508,  507,  506,  505,  504,  503,  502,\n      501,  500,  499,  498,  497,  496,  495,  491,  490,  489,\n      488,  487,  486,  485,  484,  483,  482,  481,  480,  479,\n      478,  477,  476,  475,  474,  473,  472,  471,  470,  469,\n      468,  467,  466,  465,  464,  463,  462,  461,  460,  459,\n      458,  457,  456,  455,  454,  453,  452,  451,  450,  449,\n      448,  447,  446,  445,  444,  443,  442,  441,  440,  439,\n      438,  437,  436,  435,  432,  431,  430,  429,  426,  425,\n      424,  423,  422,  421,  420,  419,  416,  415,  414,  411,\n      410,  406,  405,  404,  403,  402,  401,  400,  399,  398,\n\n      397,  396,  395,  394,  391,  390,  389,  388,  387,  386,\n      385,  384,  383,  382,  381,  378,  377,  376,  375,  374,\n      373,  372,  371,  370,  369,  368,  367,  366,  363,  362,\n      361,  360,  359,  358,  357,  356,  355,  354,  353,  352,\n      351,  350,  349,  348,  347,  346,  345,  344,  343,  340,\n      339,  338,  335,  334,  333,  332,  331,  330,  323,  318,\n      315,  311,  307,  306,  300,  299,  184,  287,  286,  285,\n      284,  283,  282,  279,  278,  275,  272,  271,  268,  267,\n      266,  263,  258,  257,  252,  251,  247,  244,  239,  236,\n      235,  232,  231,  230,  229,  228,  225,  224,  223,  222,\n\n      221,  217,  216,  215,  212,  211,   81,  191,  190,  184,\n      180,  179,  173,  172,  165,  162,  143,  140,  136,  135,\n      132,  114,  113,  107,  104,   82,   81,   77,   66,  811,\n       61,   61,    5,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n\n      811,  811,  811,  811,  811,  811,  811,  811,  811\n    } ;\n\nstatic yyconst short int yy_chk[1210] =\n    {   0,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,\n        1,    1,    1,    1,    1,    1,    7,    7,    7,    7,\n        7,    7,    9,    9,    9,    9,    9,    9,   11,   12,\n       14,   19,   22,   33,   21,  783,   22,   33,   22,   22,\n\n       22,   22,   22,   22,   22,   22,   22,  784,   19,   21,\n       21,   23,   14,   28,   28,   39,   23,   30,   30,   38,\n       44,   38,   39,   49,   11,   39,   49,   44,   39,   23,\n       42,   12,   12,   41,   54,   41,   12,   76,   12,   54,\n       42,   76,   12,   42,   41,   42,   12,   24,   57,   24,\n       24,   24,   24,   24,   24,   24,   24,   24,   40,   47,\n       98,   55,  785,   47,   40,   24,   55,   40,   24,   24,\n       24,   51,   47,   53,   51,   51,   40,   53,   52,   53,\n       24,   52,   67,   80,   51,   98,   24,   51,   57,   52,\n       72,  137,   72,  137,   24,   72,   52,   24,   25,  786,\n\n       25,   25,   25,   25,   25,   25,   25,   25,   25,   62,\n       62,   62,   62,   62,   62,   80,   25,   95,   67,   25,\n       25,   64,   64,   64,   64,   64,   64,   73,  153,   99,\n      103,   25,  102,   73,   73,   96,  153,   25,   65,   65,\n       65,   65,   65,   65,   95,   25,   69,   99,  103,  111,\n       69,   90,   90,   96,   90,   94,   94,  102,   94,   69,\n       69,   69,   69,   69,   69,   69,   90,   90,   96,  169,\n       94,   94,   90,   69,  117,  117,   94,  127,  169,  121,\n      127,  147,   69,  134,  121,  111,   69,   69,  121,  141,\n      134,   69,  146,  139,  141,  143,  147,  143,   69,  788,\n\n      139,   69,  139,   69,  139,   69,  143,   69,   81,  146,\n      150,  151,   81,  208,  157,  151,  157,  150,  210,  208,\n      166,   81,   81,   81,   81,   81,   81,   81,  166,  193,\n      186,  192,  186,  188,  188,   81,  196,  789,  196,  197,\n      192,  210,  193,  790,   81,  186,  192,  197,   81,   81,\n      186,  188,  197,   81,  204,  200,  791,  200,  792,  188,\n       81,  204,  209,   81,  200,   81,   97,   81,   97,   81,\n      209,   97,   97,   97,   97,   97,   97,   97,   97,   97,\n      114,  114,  114,  114,  114,  114,  114,  114,  114,  163,\n      114,  114,  114,  793,  114,  114,  114,  114,  114,  114,\n\n      114,  177,  163,  163,  163,  163,  163,  163,  163,  293,\n      177,  177,  177,  177,  177,  177,  177,  202,  217,  217,\n      221,  260,  202,  246,  221,  163,  246,  293,  292,  181,\n      260,  181,  794,  177,  181,  181,  181,  181,  181,  181,\n      181,  181,  181,  185,  185,  185,  185,  185,  185,  185,\n      185,  185,  206,  292,  273,  296,  206,  310,  796,  797,\n      296,  202,  798,  392,  310,  206,  206,  273,  273,  273,\n      273,  273,  273,  273,  290,  290,  290,  290,  290,  290,\n      290,  290,  290,  288,  407,  799,  800,  801,  802,  803,\n      273,  274,  288,  288,  288,  288,  288,  288,  288,  392,\n\n      804,  805,  807,  808,  274,  274,  274,  274,  274,  274,\n      274,  274,  274,  782,  300,  288,  407,  315,  426,  274,\n      274,  274,  300,  291,  315,  291,  426,  274,  781,  780,\n      779,  274,  274,  274,  274,  274,  274,  289,  291,  535,\n      778,  777,  775,  291,  535,  773,  289,  289,  289,  289,\n      289,  289,  289,  289,  289,  382,  772,  771,  770,  768,\n      382,  289,  289,  289,  382,  428,  766,  428,  765,  289,\n      428,  428,  764,  289,  289,  289,  289,  289,  289,  763,\n      762,  760,  758,  757,  756,  755,  754,  751,  749,  747,\n      746,  745,  744,  743,  742,  428,  812,  812,  812,  812,\n\n      812,  812,  812,  812,  812,  812,  813,  737,  813,  813,\n      813,  813,  813,  813,  813,  813,  814,  735,  732,  814,\n      814,  814,  814,  814,  814,  814,  815,  815,  815,  815,\n      815,  815,  816,  729,  816,  816,  728,  816,  817,  817,\n      817,  817,  817,  817,  817,  817,  817,  817,  818,  818,\n      726,  818,  819,  819,  819,  819,  820,  820,  820,  820,\n      821,  821,  821,  821,  822,  725,  723,  822,  722,  822,\n      823,  721,  720,  823,  719,  823,  718,  717,  716,  714,\n      713,  712,  710,  705,  704,  703,  701,  695,  693,  692,\n      691,  690,  688,  687,  686,  683,  682,  681,  679,  678,\n\n      677,  675,  674,  673,  672,  671,  670,  668,  667,  665,\n      664,  661,  659,  658,  656,  655,  654,  653,  652,  651,\n      650,  648,  647,  645,  644,  643,  641,  640,  639,  638,\n      637,  635,  634,  633,  632,  630,  629,  628,  626,  625,\n      624,  622,  621,  617,  613,  612,  611,  610,  609,  608,\n      607,  606,  604,  603,  600,  599,  598,  596,  592,  591,\n      590,  589,  588,  586,  584,  581,  578,  576,  575,  573,\n      572,  571,  570,  569,  568,  567,  566,  565,  564,  560,\n      559,  557,  556,  555,  553,  552,  551,  550,  549,  548,\n      547,  546,  545,  544,  543,  542,  541,  540,  539,  536,\n\n      534,  533,  531,  530,  529,  528,  527,  526,  525,  523,\n      522,  521,  520,  519,  518,  517,  516,  515,  514,  513,\n      512,  509,  508,  507,  506,  502,  500,  499,  498,  496,\n      494,  493,  492,  490,  489,  488,  487,  486,  485,  484,\n      482,  481,  480,  479,  478,  477,  476,  475,  474,  473,\n      472,  471,  470,  469,  467,  466,  465,  462,  461,  460,\n      459,  458,  457,  456,  455,  454,  453,  452,  448,  446,\n      445,  444,  443,  442,  441,  440,  439,  438,  437,  436,\n      434,  433,  432,  430,  429,  427,  425,  424,  423,  422,\n      421,  420,  419,  418,  417,  416,  414,  413,  411,  410,\n\n      406,  405,  404,  402,  401,  400,  399,  398,  397,  394,\n      391,  390,  389,  387,  385,  384,  383,  380,  379,  377,\n      376,  375,  374,  373,  372,  371,  370,  369,  368,  367,\n      366,  365,  364,  363,  362,  361,  360,  359,  358,  357,\n      356,  355,  353,  351,  350,  349,  348,  347,  344,  343,\n      342,  341,  340,  339,  338,  337,  336,  335,  333,  331,\n      329,  328,  327,  326,  325,  324,  323,  322,  321,  320,\n      319,  318,  317,  316,  314,  313,  312,  311,  309,  308,\n      307,  305,  304,  303,  302,  301,  299,  298,  297,  295,\n      294,  287,  286,  285,  284,  283,  282,  281,  280,  279,\n\n      278,  277,  276,  275,  272,  271,  270,  269,  268,  267,\n      266,  265,  264,  263,  261,  259,  258,  257,  256,  255,\n      254,  253,  252,  251,  250,  249,  248,  247,  245,  244,\n      243,  242,  241,  240,  238,  237,  236,  235,  233,  232,\n      231,  229,  228,  227,  226,  225,  224,  223,  222,  220,\n      219,  218,  216,  215,  214,  213,  212,  211,  207,  205,\n      203,  201,  199,  198,  195,  194,  183,  175,  174,  173,\n      172,  171,  170,  168,  167,  165,  159,  158,  156,  155,\n      154,  152,  149,  148,  145,  144,  142,  140,  138,  136,\n      135,  132,  131,  130,  129,  128,  126,  125,  124,  123,\n\n      122,  120,  119,  118,  116,  115,  112,  109,  105,   92,\n       89,   87,   75,   74,   71,   61,   50,   48,   46,   45,\n       43,   37,   36,   29,   26,   18,   15,   13,   10,    5,\n        4,    3,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n      811,  811,  811,  811,  811,  811,  811,  811,  811,  811,\n\n      811,  811,  811,  811,  811,  811,  811,  811,  811\n    } ;\n\nstatic yy_state_type yy_last_accepting_state;\nstatic char *yy_last_accepting_cpos;\n\n/* The intent behind this definition is that it'll catch\n * any uses of REJECT which flex missed.\n */\n#define REJECT reject_used_but_not_detected\n#define yymore() yymore_used_but_not_detected\n#define YY_MORE_ADJ 0\n#define YY_RESTORE_YY_MORE_OFFSET\nchar *yytext;\n#define INITIAL 0\n#include \"Lex2.h\"\n#ifdef CODE_OS_NT_DRV\n#define malloc mymalloc\n#define free myfree\n#define realloc myrealloc\nvoid myfree(void *);\nvoid* mymalloc(size_t size);\nvoid* myrealloc(void* path, size_t size);\n//#define FILE MYFILE\n//typedef void MYFILE;\n#endif\n#define YY_FATAL_ERROR\n/* Included code before lex code */\n/*************** Includes and Defines *****************************/\n/*\n__abstract  |\n__alignof |\n__asm |\n__assume |\n__based |\n__box  |\n__cdecl |\n__declspec |\n__delegate  |\n__event |\n__except |\n__fastcall |\n__forceinline |\n__gc  |\n__hook | \n__identifier |\n__if_exists |\n__if_not_exists |\n__inline |\n__int8 |\n__int16 |\n__int32 |\n__int64 |\n__interface |\n__leave |\n__m64 |\n__m128 |\n__m128d |\n__m128i |\n__multiple_inheritance |\n__nogc  |\n__noop |\n__pin  |\n__property  |\n__raise |\n__sealed |\n__single_inheritance |\n__stdcall |\n__super |\n__try_cast | \n__try |\n__except | \n__finally |\n__unhook  |\n__uuidof |\n__value  |\n__virtual_inheritance |\n__w64 |\nbool |\nbreak |\ncase |\ncatch |\nchar |\nclass |\nconst |\nconst_cast |\ncontinue |\ndefault |\ndelete |\ndeprecated  |\ndllexport  |\ndllimport  |\ndo |\ndouble |\ndynamic_cast |\nelse |\nenum |\nexplicit |\nextern |\nfalse |\nfloat |\nfor |\nfriend |\ngoto |\nif |\ninline |\nint |\nlong |\nmutable |\nnaked  |\nnamespace |\nnew |\nnoinline  |\nnoreturn |\nnothrow  |\nnovtable  |\noperator |\nprivate |\nproperty | \nprotected |\npublic |\nregister |\nreinterpret_cast |\nreturn |\nselectany  |\nshort |\nsigned |\nsizeof |\nstatic |\nstatic_cast |\nstruct |\nswitch |\ntemplate |\nthis |\nthread  |\nthrow |\ntrue |\ntry |\ntypedef |\ntypeid |\ntypename |\nunion |\nunsigned | \nusing |  \nuuid | \nvirtual | \nvoid |\nvolatile |\n__wchar_t |\nwchar_t |\nwhile   |\n*/\n\n\ntypedef char * YYSTYPE; /* interface with lexer: should be  in  header\n                        file*/\n\nchar  *  yylval;  /*  We  will always point at the text of the lexeme.\n          This makes it easy to print out nice trees when  YYDEBUG  is\n          enabled.   (see  C++  grammar  file  and  its  definition of\n          YYDEBUG_LEXER_TEXT to be \"yylval\" */\n\n\n\n#define WHITE_RETURN(x) /* do nothing */\n\n#define NEW_LINE_RETURN() WHITE_RETURN('\\n')\n\n#define PA_KEYWORD_RETURN(x)   RETURN_VAL(x)  /* standard C PArser Keyword */\n#define CPP_KEYWORD_RETURN(x)  PA_KEYWORD_RETURN(x)  /* C++ keyword */\n#define PPPA_KEYWORD_RETURN(x) RETURN_VAL(x)  /* both PreProcessor and PArser keyword */\n#define PP_KEYWORD_RETURN(x)   IDENTIFIER_RETURN()\n#define COMMENT_RETURN()\tRETURN_VAL(x)\n\n\n\n#define NUMERICAL_RETURN(x) RETURN_VAL(x)            /* some sort of constant */\n#define LITERAL_RETURN(x)   RETURN_VAL(x)            /* a string literal */\n\n#define RETURN_VAL(x) yylval = yytext; return(x);\n\n#define isatty(a) (1)\n#define fileno(a) (1)\n#define YY_SKIP_YYWRAP\nint main1(int argc, char*argv[]);\nint yywrap(){return 1;}\n#undef YY_INPUT\n#define YY_INPUT(b,r,ms) (r = my_yyinput(b,ms))\n#ifndef min\n#define min(a,b) ((a)<(b)?(a):(b))\n#endif\nint my_yyinput(char* buf,int max_size);\n#define ECHO\n#define COMMENT 1\n\n\n/* Macros after this point can all be overridden by user definitions in\n * section 1.\n */\n\n#ifndef YY_SKIP_YYWRAP\n#ifdef __cplusplus\nextern \"C\" int yywrap YY_PROTO(( void ));\n#else\nextern int yywrap YY_PROTO(( void ));\n#endif\n#endif\n\n#ifndef YY_NO_UNPUT\nstatic void yyunput YY_PROTO(( int c, char *buf_ptr ));\n#endif\n\n#ifndef yytext_ptr\nstatic void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));\n#endif\n\n#ifdef YY_NEED_STRLEN\nstatic int yy_flex_strlen YY_PROTO(( yyconst char * ));\n#endif\n\n#ifndef YY_NO_INPUT\n#ifdef __cplusplus\nstatic int yyinput YY_PROTO(( void ));\n#else\nstatic int input YY_PROTO(( void ));\n#endif\n#endif\n\n#if YY_STACK_USED\nstatic int yy_start_stack_ptr = 0;\nstatic int yy_start_stack_depth = 0;\nstatic int *yy_start_stack = 0;\n#ifndef YY_NO_PUSH_STATE\nstatic void yy_push_state YY_PROTO(( int new_state ));\n#endif\n#ifndef YY_NO_POP_STATE\nstatic void yy_pop_state YY_PROTO(( void ));\n#endif\n#ifndef YY_NO_TOP_STATE\nstatic int yy_top_state YY_PROTO(( void ));\n#endif\n\n#else\n#define YY_NO_PUSH_STATE 1\n#define YY_NO_POP_STATE 1\n#define YY_NO_TOP_STATE 1\n#endif\n\n#ifdef YY_MALLOC_DECL\nYY_MALLOC_DECL\n#else\n#if __STDC__\n#ifndef __cplusplus\n#include <stdlib.h>\n#endif\n#else\n/* Just try to get by without declaring the routines.  This will fail\n * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)\n * or sizeof(void*) != sizeof(int).\n */\n#endif\n#endif\n\n/* Amount of stuff to slurp up with each read. */\n#ifndef YY_READ_BUF_SIZE\n#define YY_READ_BUF_SIZE 8192\n#endif\n\n/* Copy whatever the last rule matched to the standard output. */\n\n#ifndef ECHO\n/* This used to be an fputs(), but since the string might contain NUL's,\n * we now use fwrite().\n */\n#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )\n#endif\n\n/* Gets input and stuffs it into \"buf\".  number of characters read, or YY_NULL,\n * is returned in \"result\".\n */\n#ifndef YY_INPUT\n#define YY_INPUT(buf,result,max_size) \\\n\tif ( yy_current_buffer->yy_is_interactive ) \\\n\t\t{ \\\n\t\tint c = '*', n; \\\n\t\tfor ( n = 0; n < max_size && \\\n\t\t\t     (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\\n\t\t\tbuf[n] = (char) c; \\\n\t\tif ( c == '\\n' ) \\\n\t\t\tbuf[n++] = (char) c; \\\n\t\tif ( c == EOF && ferror( yyin ) ) \\\n\t\t\tYY_FATAL_ERROR( \"input in flex scanner failed\" ); \\\n\t\tresult = n; \\\n\t\t} \\\n\telse if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \\\n\t\t  && ferror( yyin ) ) \\\n\t\tYY_FATAL_ERROR( \"input in flex scanner failed\" );\n#endif\n\n/* No semi-colon after return; correct usage is to write \"yyterminate();\" -\n * we don't want an extra ';' after the \"return\" because that will cause\n * some compilers to complain about unreachable statements.\n */\n#ifndef yyterminate\n#define yyterminate() return YY_NULL\n#endif\n\n/* Number of entries by which start-condition stack grows. */\n#ifndef YY_START_STACK_INCR\n#define YY_START_STACK_INCR 25\n#endif\n\n/* Report a fatal error. */\n#ifndef YY_FATAL_ERROR\n#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )\n#endif\n\n/* Default declaration of generated scanner - a define so the user can\n * easily add parameters.\n */\n#ifndef YY_DECL\n#define YY_DECL int yylex YY_PROTO(( void ))\n#endif\n\n/* Code executed at the beginning of each rule, after yytext and yyleng\n * have been set up.\n */\n#ifndef YY_USER_ACTION\n#define YY_USER_ACTION\n#endif\n\n/* Code executed at the end of each rule. */\n#ifndef YY_BREAK\n#define YY_BREAK break;\n#endif\n\n#define YY_RULE_SETUP \\\n\tYY_USER_ACTION\n\nYY_DECL\n\t{\n\tregister yy_state_type yy_current_state;\n\tregister char *yy_cp = NULL, *yy_bp = NULL;\n\tregister int yy_act;\n\n\n\n\n\n\tif ( yy_init )\n\t\t{\n\t\tyy_init = 0;\n\n#ifdef YY_USER_INIT\n\t\tYY_USER_INIT;\n#endif\n\n\t\tif ( ! yy_start )\n\t\t\tyy_start = 1;\t/* first start state */\n\n\t\tif ( ! yyin )\n\t\t\tyyin = stdin;\n\n\t\tif ( ! yyout )\n\t\t\tyyout = stdout;\n\n\t\tif ( ! yy_current_buffer )\n\t\t\tyy_current_buffer =\n\t\t\t\tyy_create_buffer( yyin, YY_BUF_SIZE );\n\n\t\tyy_load_buffer_state();\n\t\t}\n\n\twhile ( 1 )\t\t/* loops until end-of-file is reached */\n\t\t{\n\t\tyy_cp = yy_c_buf_p;\n\n\t\t/* Support of yytext. */\n\t\t*yy_cp = yy_hold_char;\n\n\t\t/* yy_bp points to the position in yy_ch_buf of the start of\n\t\t * the current run.\n\t\t */\n\t\tyy_bp = yy_cp;\n\n\t\tyy_current_state = yy_start;\nyy_match:\n\t\tdo\n\t\t\t{\n\t\t\tregister YY_CHAR yy_c = (YY_CHAR)yy_ec[YY_SC_TO_UI(*yy_cp)];\n\t\t\tif ( yy_accept[yy_current_state] )\n\t\t\t\t{\n\t\t\t\tyy_last_accepting_state = yy_current_state;\n\t\t\t\tyy_last_accepting_cpos = yy_cp;\n\t\t\t\t}\n\t\t\twhile ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )\n\t\t\t\t{\n\t\t\t\tyy_current_state = (int) yy_def[yy_current_state];\n\t\t\t\tif ( yy_current_state >= 812 )\n\t\t\t\t\tyy_c = (YY_CHAR)yy_meta[(unsigned int) yy_c];\n\t\t\t\t}\n\t\t\tyy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];\n\t\t\t++yy_cp;\n\t\t\t}\n\t\twhile ( yy_base[yy_current_state] != 1133 );\n\nyy_find_action:\n\t\tyy_act = yy_accept[yy_current_state];\n\t\tif ( yy_act == 0 )\n\t\t\t{ /* have to back up */\n\t\t\tyy_cp = yy_last_accepting_cpos;\n\t\t\tyy_current_state = yy_last_accepting_state;\n\t\t\tyy_act = yy_accept[yy_current_state];\n\t\t\t}\n\n\t\tYY_DO_BEFORE_ACTION;\n\n\ndo_action:\t/* This label is used only to access EOF actions. */\n\n\n\t\tswitch ( yy_act )\n\t{ /* beginning of action switch */\n\t\t\tcase 0: /* must back up */\n\t\t\t/* undo the effects of YY_DO_BEFORE_ACTION */\n\t\t\t*yy_cp = yy_hold_char;\n\t\t\tyy_cp = yy_last_accepting_cpos;\n\t\t\tyy_current_state = yy_last_accepting_state;\n\t\t\tgoto yy_find_action;\n\ncase 1:\nYY_RULE_SETUP\n{\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\tYY_BREAK\ncase 2:\nYY_RULE_SETUP\n{\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\tYY_BREAK\ncase 3:\nYY_RULE_SETUP\n{\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\tYY_BREAK\ncase 4:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___ABSTRACT);}\n\tYY_BREAK\ncase 5:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___ALIGNOF);}\n\tYY_BREAK\ncase 6:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___ASM);}\n\tYY_BREAK\ncase 7:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___ASSUME);}\n\tYY_BREAK\ncase 8:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___BASED);}\n\tYY_BREAK\ncase 9:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___BOX);}\n\tYY_BREAK\ncase 10:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___CDECL);}\n\tYY_BREAK\ncase 11:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___DECLSPEC);}\n\tYY_BREAK\ncase 12:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___DELEGATE);}\n\tYY_BREAK\ncase 13:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___EVENT);}\n\tYY_BREAK\ncase 14:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___EXCEPT);}\n\tYY_BREAK\ncase 15:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___FASTCALL);}\n\tYY_BREAK\ncase 16:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___FORCEINLINE);}\n\tYY_BREAK\ncase 17:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___GC);}\n\tYY_BREAK\ncase 18:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___HOOK);}\n\tYY_BREAK\ncase 19:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___IDENTIFIER);}\n\tYY_BREAK\ncase 20:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___IF_EXISTS);}\n\tYY_BREAK\ncase 21:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___IF_NOT_EXISTS);}\n\tYY_BREAK\ncase 22:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INLINE);}\n\tYY_BREAK\ncase 23:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INT8);}\n\tYY_BREAK\ncase 24:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INT16);}\n\tYY_BREAK\ncase 25:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INT32);}\n\tYY_BREAK\ncase 26:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INT64);}\n\tYY_BREAK\ncase 27:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___INTERFACE);}\n\tYY_BREAK\ncase 28:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___LEAVE);}\n\tYY_BREAK\ncase 29:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___M64);}\n\tYY_BREAK\ncase 30:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___M128);}\n\tYY_BREAK\ncase 31:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___M128D);}\n\tYY_BREAK\ncase 32:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___M128I);}\n\tYY_BREAK\ncase 33:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___MULTIPLE_INHERITANCE);}\n\tYY_BREAK\ncase 34:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___NOGC);}\n\tYY_BREAK\ncase 35:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___NOOP);}\n\tYY_BREAK\ncase 36:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___PIN);}\n\tYY_BREAK\ncase 37:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___PROPERTY);}\n\tYY_BREAK\ncase 38:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___RAISE);}\n\tYY_BREAK\ncase 39:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___SEALED);}\n\tYY_BREAK\ncase 40:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___SINGLE_INHERITANCE);}\n\tYY_BREAK\ncase 41:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___STDCALL);}\n\tYY_BREAK\ncase 42:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___SUPER);}\n\tYY_BREAK\ncase 43:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___TRY_CAST);}\n\tYY_BREAK\ncase 44:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___TRY);}\n\tYY_BREAK\ncase 45:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___FINALLY);}\n\tYY_BREAK\ncase 46:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___UNHOOK);}\n\tYY_BREAK\ncase 47:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___UUIDOF);}\n\tYY_BREAK\ncase 48:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___VALUE);}\n\tYY_BREAK\ncase 49:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___VIRTUAL_INHERITANCE);}\n\tYY_BREAK\ncase 50:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___W64);}\n\tYY_BREAK\ncase 51:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_BOOL);}\n\tYY_BREAK\ncase 52:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_BREAK);}\n\tYY_BREAK\ncase 53:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CASE);}\n\tYY_BREAK\ncase 54:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CATCH);}\n\tYY_BREAK\ncase 55:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CHAR);}\n\tYY_BREAK\ncase 56:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CLASS);}\n\tYY_BREAK\ncase 57:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CONST);}\n\tYY_BREAK\ncase 58:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CONST_CAST);}\n\tYY_BREAK\ncase 59:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CONTINUE);}\n\tYY_BREAK\ncase 60:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DEFAULT);}\n\tYY_BREAK\ncase 61:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DELETE);}\n\tYY_BREAK\ncase 62:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DEPRECATED);}\n\tYY_BREAK\ncase 63:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DLLEXPORT);}\n\tYY_BREAK\ncase 64:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DLLIMPORT);}\n\tYY_BREAK\ncase 65:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DO);}\n\tYY_BREAK\ncase 66:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DOUBLE);}\n\tYY_BREAK\ncase 67:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DYNAMIC_CAST);}\n\tYY_BREAK\ncase 68:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ELSE);}\n\tYY_BREAK\ncase 69:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ENUM);}\n\tYY_BREAK\ncase 70:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_EXPLICIT);}\n\tYY_BREAK\ncase 71:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_EXTERN);}\n\tYY_BREAK\ncase 72:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_FALSE);}\n\tYY_BREAK\ncase 73:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_FLOAT);}\n\tYY_BREAK\ncase 74:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_FOR);}\n\tYY_BREAK\ncase 75:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_FRIEND);}\n\tYY_BREAK\ncase 76:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_GOTO);}\n\tYY_BREAK\ncase 77:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_IF);}\n\tYY_BREAK\ncase 78:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_INLINE);}\n\tYY_BREAK\ncase 79:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_INT);}\n\tYY_BREAK\ncase 80:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LONG);}\n\tYY_BREAK\ncase 81:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MUTABLE);}\n\tYY_BREAK\ncase 82:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NAKED);}\n\tYY_BREAK\ncase 83:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NAMESPACE);}\n\tYY_BREAK\ncase 84:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NEW);}\n\tYY_BREAK\ncase 85:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NOINLINE);}\n\tYY_BREAK\ncase 86:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NORETURN);}\n\tYY_BREAK\ncase 87:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NOTHROW);}\n\tYY_BREAK\ncase 88:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NOVTABLE);}\n\tYY_BREAK\ncase 89:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_OPERATOR);}\n\tYY_BREAK\ncase 90:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRIVATE);}\n\tYY_BREAK\ncase 91:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PROPERTY);}\n\tYY_BREAK\ncase 92:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PROTECTED);}\n\tYY_BREAK\ncase 93:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PUBLIC);}\n\tYY_BREAK\ncase 94:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_REGISTER);}\n\tYY_BREAK\ncase 95:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_REINTERPRET_CAST);}\n\tYY_BREAK\ncase 96:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RETURN);}\n\tYY_BREAK\ncase 97:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SELECTANY);}\n\tYY_BREAK\ncase 98:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SHORT);}\n\tYY_BREAK\ncase 99:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SIGNED);}\n\tYY_BREAK\ncase 100:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SIZEOF);}\n\tYY_BREAK\ncase 101:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_STATIC);}\n\tYY_BREAK\ncase 102:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_STATIC_CAST);}\n\tYY_BREAK\ncase 103:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_STRUCT);}\n\tYY_BREAK\ncase 104:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SWITCH);}\n\tYY_BREAK\ncase 105:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TEMPLATE);}\n\tYY_BREAK\ncase 106:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_THIS);}\n\tYY_BREAK\ncase 107:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_THREAD);}\n\tYY_BREAK\ncase 108:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_THROW);}\n\tYY_BREAK\ncase 109:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TRUE);}\n\tYY_BREAK\ncase 110:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TRY);}\n\tYY_BREAK\ncase 111:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TYPEDEF);}\n\tYY_BREAK\ncase 112:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TYPEID);}\n\tYY_BREAK\ncase 113:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_TYPENAME);}\n\tYY_BREAK\ncase 114:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_UNION);}\n\tYY_BREAK\ncase 115:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_UNSIGNED);}\n\tYY_BREAK\ncase 116:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_USING);}\n\tYY_BREAK\ncase 117:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_UUID);}\n\tYY_BREAK\ncase 118:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_VIRTUAL);}\n\tYY_BREAK\ncase 119:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_VOID);}\n\tYY_BREAK\ncase 120:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_VOLATILE);}\n\tYY_BREAK\ncase 121:\nYY_RULE_SETUP\n{RETURN_VAL(LEX___WCHAR_T);}\n\tYY_BREAK\ncase 122:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_WCHAR_T);}\n\tYY_BREAK\ncase 123:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_WHILE);}\n\tYY_BREAK\ncase 124:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_DEFINE);}\n\tYY_BREAK\ncase 125:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_ERROR);}\n\tYY_BREAK\ncase 126:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_IMPORT);}\n\tYY_BREAK\ncase 127:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_UNDEF);}\n\tYY_BREAK\ncase 128:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_ELIF);}\n\tYY_BREAK\ncase 129:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_IF);}\n\tYY_BREAK\ncase 130:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_INCLUDE);}\n\tYY_BREAK\ncase 131:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_USING);}\n\tYY_BREAK\ncase 132:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_ELSE);}\n\tYY_BREAK\ncase 133:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_IFDEF);}\n\tYY_BREAK\ncase 134:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_LINE);}\n\tYY_BREAK\ncase 135:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_ENDIF);}\n\tYY_BREAK\ncase 136:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_IFNDEF);}\n\tYY_BREAK\ncase 137:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PRE_GRAMA);}\n\tYY_BREAK\ncase 138:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_IDENTIFIER);}\n\tYY_BREAK\ncase 139:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_INTEGERconstant);}\n\tYY_BREAK\ncase 140:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_OCTALconstant);}\n\tYY_BREAK\ncase 141:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_HEXconstant);}\n\tYY_BREAK\ncase 142:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_FLOATINGconstant);}\n\tYY_BREAK\ncase 143:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CHARACTERconstant);}\n\tYY_BREAK\ncase 144:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_STRINGliteral);}\n\tYY_BREAK\ncase 145:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LP);}\n\tYY_BREAK\ncase 146:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RP);}\n\tYY_BREAK\ncase 147:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_COMMA);}\n\tYY_BREAK\ncase 148:\nYY_RULE_SETUP\n{RETURN_VAL('#') ;}\n\tYY_BREAK\ncase 149:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_POUNDPOUND);}\n\tYY_BREAK\ncase 150:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LC);}\n\tYY_BREAK\ncase 151:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RC);}\n\tYY_BREAK\ncase 152:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LB);}\n\tYY_BREAK\ncase 153:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RB);}\n\tYY_BREAK\ncase 154:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DOT);}\n\tYY_BREAK\ncase 155:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_AND);}\n\tYY_BREAK\ncase 156:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_STAR);}\n\tYY_BREAK\ncase 157:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PLUS);}\n\tYY_BREAK\ncase 158:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MINUS);}\n\tYY_BREAK\ncase 159:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NEGATE);}\n\tYY_BREAK\ncase 160:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NOT);}\n\tYY_BREAK\ncase 161:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DIV);}\n\tYY_BREAK\ncase 162:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MOD);}\n\tYY_BREAK\ncase 163:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LT);}\n\tYY_BREAK\ncase 164:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_GT);}\n\tYY_BREAK\ncase 165:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_XOR);}\n\tYY_BREAK\ncase 166:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PIPE);}\n\tYY_BREAK\ncase 167:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_QUESTION);}\n\tYY_BREAK\ncase 168:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_COLON);}\n\tYY_BREAK\ncase 169:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_SEMICOLON);}\n\tYY_BREAK\ncase 170:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ASSIGN);}\n\tYY_BREAK\ncase 171:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DOTstar);}\n\tYY_BREAK\ncase 172:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_CLCL);}\n\tYY_BREAK\ncase 173:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ARROW);}\n\tYY_BREAK\ncase 174:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ARROWstar);}\n\tYY_BREAK\ncase 175:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ICR);}\n\tYY_BREAK\ncase 176:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DECR);}\n\tYY_BREAK\ncase 177:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LS);}\n\tYY_BREAK\ncase 178:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RS);}\n\tYY_BREAK\ncase 179:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LE);}\n\tYY_BREAK\ncase 180:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_GE);}\n\tYY_BREAK\ncase 181:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_EQ);}\n\tYY_BREAK\ncase 182:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_NE);}\n\tYY_BREAK\ncase 183:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ANDAND);}\n\tYY_BREAK\ncase 184:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_OROR);}\n\tYY_BREAK\ncase 185:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MULTassign);}\n\tYY_BREAK\ncase 186:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_DIVassign);}\n\tYY_BREAK\ncase 187:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MODassign);}\n\tYY_BREAK\ncase 188:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_PLUSassign);}\n\tYY_BREAK\ncase 189:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_MINUSassign);}\n\tYY_BREAK\ncase 190:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_LSassign);}\n\tYY_BREAK\ncase 191:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_RSassign);}\n\tYY_BREAK\ncase 192:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ANDassign);}\n\tYY_BREAK\ncase 193:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ERassign);}\n\tYY_BREAK\ncase 194:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ORassign);}\n\tYY_BREAK\ncase 195:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_ELLIPSIS);}\n\tYY_BREAK\ncase 196:\nYY_RULE_SETUP\n{BEGIN COMMENT;RETURN_VAL(LEX_COMMENT_BLOCK_BEGIN);}\n\tYY_BREAK\ncase 197:\nYY_RULE_SETUP\n{BEGIN 0;RETURN_VAL(LEX_COMMENT_BLOCK_END);}\n\tYY_BREAK\ncase 198:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_COMMENT_LINE);}\n\tYY_BREAK\ncase 199:\nYY_RULE_SETUP\n{RETURN_VAL(LEX_UNKNOW);}\n\tYY_BREAK\ncase 200:\nYY_RULE_SETUP\nECHO;\n\tYY_BREAK\ncase YY_STATE_EOF(INITIAL):\ncase YY_STATE_EOF(COMMENT):\n\tyyterminate();\n\n\tcase YY_END_OF_BUFFER:\n\t\t{\n\t\t/* Amount of text matched not including the EOB char. */\n\t\tint yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;\n\n\t\t/* Undo the effects of YY_DO_BEFORE_ACTION. */\n\t\t*yy_cp = yy_hold_char;\n\t\tYY_RESTORE_YY_MORE_OFFSET\n\n\t\tif ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )\n\t\t\t{\n\t\t\t/* We're scanning a new file or input source.  It's\n\t\t\t * possible that this happened because the user\n\t\t\t * just pointed yyin at a new source and called\n\t\t\t * yylex().  If so, then we have to assure\n\t\t\t * consistency between yy_current_buffer and our\n\t\t\t * globals.  Here is the right place to do so, because\n\t\t\t * this is the first action (other than possibly a\n\t\t\t * back-up) that will match for the new input source.\n\t\t\t */\n\t\t\tyy_n_chars = yy_current_buffer->yy_n_chars;\n\t\t\tyy_current_buffer->yy_input_file = yyin;\n\t\t\tyy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;\n\t\t\t}\n\n\t\t/* Note that here we test for yy_c_buf_p \"<=\" to the position\n\t\t * of the first EOB in the buffer, since yy_c_buf_p will\n\t\t * already have been incremented past the NUL character\n\t\t * (since all states make transitions on EOB to the\n\t\t * end-of-buffer state).  Contrast this with the test\n\t\t * in input().\n\t\t */\n\t\tif ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )\n\t\t\t{ /* This was really a NUL. */\n\t\t\tyy_state_type yy_next_state;\n\n\t\t\tyy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;\n\n\t\t\tyy_current_state = yy_get_previous_state();\n\n\t\t\t/* Okay, we're now positioned to make the NUL\n\t\t\t * transition.  We couldn't have\n\t\t\t * yy_get_previous_state() go ahead and do it\n\t\t\t * for us because it doesn't know how to deal\n\t\t\t * with the possibility of jamming (and we don't\n\t\t\t * want to build jamming into it because then it\n\t\t\t * will run more slowly).\n\t\t\t */\n\n\t\t\tyy_next_state = yy_try_NUL_trans( yy_current_state );\n\n\t\t\tyy_bp = yytext_ptr + YY_MORE_ADJ;\n\n\t\t\tif ( yy_next_state )\n\t\t\t\t{\n\t\t\t\t/* Consume the NUL. */\n\t\t\t\tyy_cp = ++yy_c_buf_p;\n\t\t\t\tyy_current_state = yy_next_state;\n\t\t\t\tgoto yy_match;\n\t\t\t\t}\n\n\t\t\telse\n\t\t\t\t{\n\t\t\t\tyy_cp = yy_c_buf_p;\n\t\t\t\tgoto yy_find_action;\n\t\t\t\t}\n\t\t\t}\n\n\t\telse switch ( yy_get_next_buffer() )\n\t\t\t{\n\t\t\tcase EOB_ACT_END_OF_FILE:\n\t\t\t\t{\n\t\t\t\tyy_did_buffer_switch_on_eof = 0;\n\n\t\t\t\tif ( yywrap() )\n\t\t\t\t\t{\n\t\t\t\t\t/* Note: because we've taken care in\n\t\t\t\t\t * yy_get_next_buffer() to have set up\n\t\t\t\t\t * yytext, we can now set up\n\t\t\t\t\t * yy_c_buf_p so that if some total\n\t\t\t\t\t * hoser (like flex itself) wants to\n\t\t\t\t\t * call the scanner after we return the\n\t\t\t\t\t * YY_NULL, it'll still work - another\n\t\t\t\t\t * YY_NULL will get returned.\n\t\t\t\t\t */\n\t\t\t\t\tyy_c_buf_p = yytext_ptr + YY_MORE_ADJ;\n\n\t\t\t\t\tyy_act = YY_STATE_EOF(YY_START);\n\t\t\t\t\tgoto do_action;\n\t\t\t\t\t}\n\n\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\tif ( ! yy_did_buffer_switch_on_eof )\n\t\t\t\t\t\tYY_NEW_FILE;\n\t\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\tcase EOB_ACT_CONTINUE_SCAN:\n\t\t\t\tyy_c_buf_p =\n\t\t\t\t\tyytext_ptr + yy_amount_of_matched_text;\n\n\t\t\t\tyy_current_state = yy_get_previous_state();\n\n\t\t\t\tyy_cp = yy_c_buf_p;\n\t\t\t\tyy_bp = yytext_ptr + YY_MORE_ADJ;\n\t\t\t\tgoto yy_match;\n\n\t\t\tcase EOB_ACT_LAST_MATCH:\n\t\t\t\tyy_c_buf_p =\n\t\t\t\t&yy_current_buffer->yy_ch_buf[yy_n_chars];\n\n\t\t\t\tyy_current_state = yy_get_previous_state();\n\n\t\t\t\tyy_cp = yy_c_buf_p;\n\t\t\t\tyy_bp = yytext_ptr + YY_MORE_ADJ;\n\t\t\t\tgoto yy_find_action;\n\t\t\t}\n\t\tbreak;\n\t\t}\n\n\tdefault:\n\t\tYY_FATAL_ERROR(\n\t\t\t\"fatal flex scanner internal error--no action found\" );\n\t} /* end of action switch */\n\t\t} /* end of scanning one token */\n\t} /* end of yylex */\n\n\n/* yy_get_next_buffer - try to read in a new buffer\n *\n * Returns a code representing an action:\n *\tEOB_ACT_LAST_MATCH -\n *\tEOB_ACT_CONTINUE_SCAN - continue scanning from current position\n *\tEOB_ACT_END_OF_FILE - end of file\n */\n\nstatic int yy_get_next_buffer()\n\t{\n\tregister char *dest = yy_current_buffer->yy_ch_buf;\n\tregister char *source = yytext_ptr;\n\tregister int number_to_move, i;\n\tint ret_val;\n\n\tif ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )\n\t\tYY_FATAL_ERROR(\n\t\t\"fatal flex scanner internal error--end of buffer missed\" );\n\n\tif ( yy_current_buffer->yy_fill_buffer == 0 )\n\t\t{ /* Don't try to fill the buffer, so this is an EOF. */\n\t\tif ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )\n\t\t\t{\n\t\t\t/* We matched a single character, the EOB, so\n\t\t\t * treat this as a final EOF.\n\t\t\t */\n\t\t\treturn EOB_ACT_END_OF_FILE;\n\t\t\t}\n\n\t\telse\n\t\t\t{\n\t\t\t/* We matched some text prior to the EOB, first\n\t\t\t * process it.\n\t\t\t */\n\t\t\treturn EOB_ACT_LAST_MATCH;\n\t\t\t}\n\t\t}\n\n\t/* Try to read more data. */\n\n\t/* First move last chars to start of buffer. */\n\tnumber_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;\n\n\tfor ( i = 0; i < number_to_move; ++i )\n\t\t*(dest++) = *(source++);\n\n\tif ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )\n\t\t/* don't do the read, it's not guaranteed to return an EOF,\n\t\t * just force an EOF\n\t\t */\n\t\tyy_current_buffer->yy_n_chars = yy_n_chars = 0;\n\n\telse\n\t\t{\n\t\tint num_to_read =\n\t\t\tyy_current_buffer->yy_buf_size - number_to_move - 1;\n\n\t\twhile ( num_to_read <= 0 )\n\t\t\t{ /* Not enough room in the buffer - grow it. */\n#ifdef YY_USES_REJECT\n\t\t\tYY_FATAL_ERROR(\n\"input buffer overflow, can't enlarge buffer because scanner uses REJECT\" );\n#else\n\n\t\t\t/* just a shorter name for the current buffer */\n\t\t\tYY_BUFFER_STATE b = yy_current_buffer;\n\n\t\t\tint yy_c_buf_p_offset =\n\t\t\t\t(int) (yy_c_buf_p - b->yy_ch_buf);\n\n\t\t\tif ( b->yy_is_our_buffer )\n\t\t\t\t{\n\t\t\t\tint new_size = b->yy_buf_size * 2;\n\n\t\t\t\tif ( new_size <= 0 )\n\t\t\t\t\tb->yy_buf_size += b->yy_buf_size / 8;\n\t\t\t\telse\n\t\t\t\t\tb->yy_buf_size *= 2;\n\n\t\t\t\tb->yy_ch_buf = (char *)\n\t\t\t\t\t/* Include room in for 2 EOB chars. */\n\t\t\t\t\tyy_flex_realloc( (void *) b->yy_ch_buf,\n\t\t\t\t\t\t\t b->yy_buf_size + 2 );\n\t\t\t\t}\n\t\t\telse\n\t\t\t\t/* Can't grow it, we don't own it. */\n\t\t\t\tb->yy_ch_buf = 0;\n\n\t\t\tif ( ! b->yy_ch_buf )\n\t\t\t\tYY_FATAL_ERROR(\n\t\t\t\t\"fatal error - scanner input buffer overflow\" );\n\n\t\t\tyy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];\n\n\t\t\tnum_to_read = yy_current_buffer->yy_buf_size -\n\t\t\t\t\t\tnumber_to_move - 1;\n#endif\n\t\t\t}\n\n\t\tif ( num_to_read > YY_READ_BUF_SIZE )\n\t\t\tnum_to_read = YY_READ_BUF_SIZE;\n\n\t\t/* Read in more data. */\n\t\tYY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),\n\t\t\tyy_n_chars, num_to_read );\n\n\t\tyy_current_buffer->yy_n_chars = yy_n_chars;\n\t\t}\n\n\tif ( yy_n_chars == 0 )\n\t\t{\n\t\tif ( number_to_move == YY_MORE_ADJ )\n\t\t\t{\n\t\t\tret_val = EOB_ACT_END_OF_FILE;\n\t\t\tyyrestart( yyin );\n\t\t\t}\n\n\t\telse\n\t\t\t{\n\t\t\tret_val = EOB_ACT_LAST_MATCH;\n\t\t\tyy_current_buffer->yy_buffer_status =\n\t\t\t\tYY_BUFFER_EOF_PENDING;\n\t\t\t}\n\t\t}\n\n\telse\n\t\tret_val = EOB_ACT_CONTINUE_SCAN;\n\n\tyy_n_chars += number_to_move;\n\tyy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;\n\tyy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;\n\n\tyytext_ptr = &yy_current_buffer->yy_ch_buf[0];\n\n\treturn ret_val;\n\t}\n\n\n/* yy_get_previous_state - get the state just before the EOB char was reached */\n\nstatic yy_state_type yy_get_previous_state()\n\t{\n\tregister yy_state_type yy_current_state;\n\tregister char *yy_cp;\n\n\tyy_current_state = yy_start;\n\n\tfor ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )\n\t\t{\n\t\tregister YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);\n\t\tif ( yy_accept[yy_current_state] )\n\t\t\t{\n\t\t\tyy_last_accepting_state = yy_current_state;\n\t\t\tyy_last_accepting_cpos = yy_cp;\n\t\t\t}\n\t\twhile ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )\n\t\t\t{\n\t\t\tyy_current_state = (int) yy_def[yy_current_state];\n\t\t\tif ( yy_current_state >= 812 )\n\t\t\t\tyy_c = (YY_CHAR)yy_meta[(unsigned int) yy_c];\n\t\t\t}\n\t\tyy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];\n\t\t}\n\n\treturn yy_current_state;\n\t}\n\n\n/* yy_try_NUL_trans - try to make a transition on the NUL character\n *\n * synopsis\n *\tnext_state = yy_try_NUL_trans( current_state );\n */\n\n#ifdef YY_USE_PROTOS\nstatic yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )\n#else\nstatic yy_state_type yy_try_NUL_trans( yy_current_state )\nyy_state_type yy_current_state;\n#endif\n\t{\n\tregister int yy_is_jam;\n\tregister char *yy_cp = yy_c_buf_p;\n\n\tregister YY_CHAR yy_c = 1;\n\tif ( yy_accept[yy_current_state] )\n\t\t{\n\t\tyy_last_accepting_state = yy_current_state;\n\t\tyy_last_accepting_cpos = yy_cp;\n\t\t}\n\twhile ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )\n\t\t{\n\t\tyy_current_state = (int) yy_def[yy_current_state];\n\t\tif ( yy_current_state >= 812 )\n\t\t\tyy_c = (YY_CHAR)yy_meta[(unsigned int) yy_c];\n\t\t}\n\tyy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];\n\tyy_is_jam = (yy_current_state == 811);\n\n\treturn yy_is_jam ? 0 : yy_current_state;\n\t}\n\n\n#ifndef YY_NO_UNPUT\n#ifdef YY_USE_PROTOS\nstatic void yyunput( int c, register char *yy_bp )\n#else\nstatic void yyunput( c, yy_bp )\nint c;\nregister char *yy_bp;\n#endif\n\t{\n\tregister char *yy_cp = yy_c_buf_p;\n\n\t/* undo effects of setting up yytext */\n\t*yy_cp = yy_hold_char;\n\n\tif ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )\n\t\t{ /* need to shift things up to make room */\n\t\t/* +2 for EOB chars. */\n\t\tregister int number_to_move = yy_n_chars + 2;\n\t\tregister char *dest = &yy_current_buffer->yy_ch_buf[\n\t\t\t\t\tyy_current_buffer->yy_buf_size + 2];\n\t\tregister char *source =\n\t\t\t\t&yy_current_buffer->yy_ch_buf[number_to_move];\n\n\t\twhile ( source > yy_current_buffer->yy_ch_buf )\n\t\t\t*--dest = *--source;\n\n\t\tyy_cp += (int) (dest - source);\n\t\tyy_bp += (int) (dest - source);\n\t\tyy_current_buffer->yy_n_chars =\n\t\t\tyy_n_chars = yy_current_buffer->yy_buf_size;\n\n\t\tif ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )\n\t\t\tYY_FATAL_ERROR( \"flex scanner push-back overflow\" );\n\t\t}\n\n\t*--yy_cp = (char) c;\n\n\n\tyytext_ptr = yy_bp;\n\tyy_hold_char = *yy_cp;\n\tyy_c_buf_p = yy_cp;\n\t}\n#endif\t/* ifndef YY_NO_UNPUT */\n\n\n#ifndef YY_NO_INPUT\n#ifdef __cplusplus\nstatic int yyinput()\n#else\nstatic int input()\n#endif\n\t{\n\tint c;\n\n\t*yy_c_buf_p = yy_hold_char;\n\n\tif ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )\n\t\t{\n\t\t/* yy_c_buf_p now points to the character we want to return.\n\t\t * If this occurs *before* the EOB characters, then it's a\n\t\t * valid NUL; if not, then we've hit the end of the buffer.\n\t\t */\n\t\tif ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )\n\t\t\t/* This was really a NUL. */\n\t\t\t*yy_c_buf_p = '\\0';\n\n\t\telse\n\t\t\t{ /* need more input */\n\t\t\tint offset = *(int*)&yy_c_buf_p - *(int*)&yytext_ptr;\n\t\t\t++yy_c_buf_p;\n\n\t\t\tswitch ( yy_get_next_buffer() )\n\t\t\t\t{\n\t\t\t\tcase EOB_ACT_LAST_MATCH:\n\t\t\t\t\t/* This happens because yy_g_n_b()\n\t\t\t\t\t * sees that we've accumulated a\n\t\t\t\t\t * token and flags that we need to\n\t\t\t\t\t * try matching the token before\n\t\t\t\t\t * proceeding.  But for input(),\n\t\t\t\t\t * there's no matching to consider.\n\t\t\t\t\t * So convert the EOB_ACT_LAST_MATCH\n\t\t\t\t\t * to EOB_ACT_END_OF_FILE.\n\t\t\t\t\t */\n\n\t\t\t\t\t/* Reset buffer status. */\n\t\t\t\t\tyyrestart( yyin );\n\n\t\t\t\t\t/* fall through */\n\n\t\t\t\tcase EOB_ACT_END_OF_FILE:\n\t\t\t\t\t{\n\t\t\t\t\tif ( yywrap() )\n\t\t\t\t\t\treturn EOF;\n\n\t\t\t\t\tif ( ! yy_did_buffer_switch_on_eof )\n\t\t\t\t\t\tYY_NEW_FILE;\n#ifdef __cplusplus\n\t\t\t\t\treturn yyinput();\n#else\n\t\t\t\t\treturn input();\n#endif\n\t\t\t\t\t}\n\n\t\t\t\tcase EOB_ACT_CONTINUE_SCAN:\n\t\t\t\t\tyy_c_buf_p = yytext_ptr + offset;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\tc = *(unsigned char *) yy_c_buf_p;\t/* cast for 8-bit char's */\n\t*yy_c_buf_p = '\\0';\t/* preserve yytext */\n\tyy_hold_char = *++yy_c_buf_p;\n\n\n\treturn c;\n\t}\n#endif /* YY_NO_INPUT */\n\n#ifdef YY_USE_PROTOS\nvoid yyrestart( FILE *input_file )\n#else\nvoid yyrestart( input_file )\nFILE *input_file;\n#endif\n\t{\n\tif ( ! yy_current_buffer )\n\t\tyy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );\n\n\tyy_init_buffer( yy_current_buffer, input_file );\n\tyy_load_buffer_state();\n\t}\n\n\n#ifdef YY_USE_PROTOS\nvoid yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )\n#else\nvoid yy_switch_to_buffer( new_buffer )\nYY_BUFFER_STATE new_buffer;\n#endif\n\t{\n\tif ( yy_current_buffer == new_buffer )\n\t\treturn;\n\n\tif ( yy_current_buffer )\n\t\t{\n\t\t/* Flush out information for old buffer. */\n\t\t*yy_c_buf_p = yy_hold_char;\n\t\tyy_current_buffer->yy_buf_pos = yy_c_buf_p;\n\t\tyy_current_buffer->yy_n_chars = yy_n_chars;\n\t\t}\n\n\tyy_current_buffer = new_buffer;\n\tyy_load_buffer_state();\n\n\t/* We don't actually know whether we did this switch during\n\t * EOF (yywrap()) processing, but the only time this flag\n\t * is looked at is after yywrap() is called, so it's safe\n\t * to go ahead and always set it.\n\t */\n\tyy_did_buffer_switch_on_eof = 1;\n\t}\n\n\n#ifdef YY_USE_PROTOS\nvoid yy_load_buffer_state( void )\n#else\nvoid yy_load_buffer_state()\n#endif\n\t{\n\tyy_n_chars = yy_current_buffer->yy_n_chars;\n\tyytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;\n\tyyin = yy_current_buffer->yy_input_file;\n\tyy_hold_char = *yy_c_buf_p;\n\t}\n\n\n#ifdef YY_USE_PROTOS\nYY_BUFFER_STATE yy_create_buffer( FILE *file, int size )\n#else\nYY_BUFFER_STATE yy_create_buffer( file, size )\nFILE *file;\nint size;\n#endif\n\t{\n\tYY_BUFFER_STATE b;\n\n\tb = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );\n\tif ( ! b )\n\t\tYY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );\n\n\tb->yy_buf_size = size;\n\n\t/* yy_ch_buf has to be 2 characters longer than the size given because\n\t * we need to put in 2 end-of-buffer characters.\n\t */\n\tb->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );\n\tif ( ! b->yy_ch_buf )\n\t\tYY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );\n\n\tb->yy_is_our_buffer = 1;\n\n\tyy_init_buffer( b, file );\n\n\treturn b;\n\t}\n\n\n#ifdef YY_USE_PROTOS\nvoid yy_delete_buffer( YY_BUFFER_STATE b )\n#else\nvoid yy_delete_buffer( b )\nYY_BUFFER_STATE b;\n#endif\n\t{\n\tif ( ! b )\n\t\treturn;\n\n\tif ( b == yy_current_buffer )\n\t\tyy_current_buffer = (YY_BUFFER_STATE) 0;\n\n\tif ( b->yy_is_our_buffer )\n\t\tyy_flex_free( (void *) b->yy_ch_buf );\n\n\tyy_flex_free( (void *) b );\n\t}\n\n\n\n#ifdef YY_USE_PROTOS\nvoid yy_init_buffer( YY_BUFFER_STATE b, FILE *file )\n#else\nvoid yy_init_buffer( b, file )\nYY_BUFFER_STATE b;\nFILE *file;\n#endif\n\n\n\t{\n\tyy_flush_buffer( b );\n\n\tb->yy_input_file = file;\n\tb->yy_fill_buffer = 1;\n\n#if YY_ALWAYS_INTERACTIVE\n\tb->yy_is_interactive = 1;\n#else\n#if YY_NEVER_INTERACTIVE\n\tb->yy_is_interactive = 0;\n#else\n\tb->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;\n#endif\n#endif\n\t}\n\n\n#ifdef YY_USE_PROTOS\nvoid yy_flush_buffer( YY_BUFFER_STATE b )\n#else\nvoid yy_flush_buffer( b )\nYY_BUFFER_STATE b;\n#endif\n\n\t{\n\tif ( ! b )\n\t\treturn;\n\n\tb->yy_n_chars = 0;\n\n\t/* We always need two end-of-buffer characters.  The first causes\n\t * a transition to the end-of-buffer state.  The second causes\n\t * a jam in that state.\n\t */\n\tb->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;\n\tb->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;\n\n\tb->yy_buf_pos = &b->yy_ch_buf[0];\n\n\tb->yy_at_bol = 1;\n\tb->yy_buffer_status = YY_BUFFER_NEW;\n\n\tif ( b == yy_current_buffer )\n\t\tyy_load_buffer_state();\n\t}\n\n\n#ifndef YY_NO_SCAN_BUFFER\n#ifdef YY_USE_PROTOS\nYY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )\n#else\nYY_BUFFER_STATE yy_scan_buffer( base, size )\nchar *base;\nyy_size_t size;\n#endif\n\t{\n\tYY_BUFFER_STATE b;\n\n\tif ( size < 2 ||\n\t     base[size-2] != YY_END_OF_BUFFER_CHAR ||\n\t     base[size-1] != YY_END_OF_BUFFER_CHAR )\n\t\t/* They forgot to leave room for the EOB's. */\n\t\treturn 0;\n\n\tb = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );\n\tif ( ! b )\n\t\tYY_FATAL_ERROR( \"out of dynamic memory in yy_scan_buffer()\" );\n\n\tb->yy_buf_size = size - 2;\t/* \"- 2\" to take care of EOB's */\n\tb->yy_buf_pos = b->yy_ch_buf = base;\n\tb->yy_is_our_buffer = 0;\n\tb->yy_input_file = 0;\n\tb->yy_n_chars = b->yy_buf_size;\n\tb->yy_is_interactive = 0;\n\tb->yy_at_bol = 1;\n\tb->yy_fill_buffer = 0;\n\tb->yy_buffer_status = YY_BUFFER_NEW;\n\n\tyy_switch_to_buffer( b );\n\n\treturn b;\n\t}\n#endif\n\n\n#ifndef YY_NO_SCAN_STRING\n#ifdef YY_USE_PROTOS\nYY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )\n#else\nYY_BUFFER_STATE yy_scan_string( yy_str )\nyyconst char *yy_str;\n#endif\n\t{\n\tint len;\n\tfor ( len = 0; yy_str[len]; ++len )\n\t\t;\n\n\treturn yy_scan_bytes( yy_str, len );\n\t}\n#endif\n\n\n#ifndef YY_NO_SCAN_BYTES\n#ifdef YY_USE_PROTOS\nYY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )\n#else\nYY_BUFFER_STATE yy_scan_bytes( bytes, len )\nyyconst char *bytes;\nint len;\n#endif\n\t{\n\tYY_BUFFER_STATE b;\n\tchar *buf;\n\tyy_size_t n;\n\tint i;\n\n\t/* Get memory for full buffer, including space for trailing EOB's. */\n\tn = len + 2;\n\tbuf = (char *) yy_flex_alloc( n );\n\tif ( ! buf )\n\t\tYY_FATAL_ERROR( \"out of dynamic memory in yy_scan_bytes()\" );\n\n\tfor ( i = 0; i < len; ++i )\n\t\tbuf[i] = bytes[i];\n\n\tbuf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;\n\n\tb = yy_scan_buffer( buf, n );\n\tif ( ! b )\n\t\tYY_FATAL_ERROR( \"bad buffer in yy_scan_bytes()\" );\n\n\t/* It's okay to grow etc. this buffer, and we should throw it\n\t * away when we're done.\n\t */\n\tb->yy_is_our_buffer = 1;\n\n\treturn b;\n\t}\n#endif\n\n\n#ifndef YY_NO_PUSH_STATE\n#ifdef YY_USE_PROTOS\nstatic void yy_push_state( int new_state )\n#else\nstatic void yy_push_state( new_state )\nint new_state;\n#endif\n\t{\n\tif ( yy_start_stack_ptr >= yy_start_stack_depth )\n\t\t{\n\t\tyy_size_t new_size;\n\n\t\tyy_start_stack_depth += YY_START_STACK_INCR;\n\t\tnew_size = yy_start_stack_depth * sizeof( int );\n\n\t\tif ( ! yy_start_stack )\n\t\t\tyy_start_stack = (int *) yy_flex_alloc( new_size );\n\n\t\telse\n\t\t\tyy_start_stack = (int *) yy_flex_realloc(\n\t\t\t\t\t(void *) yy_start_stack, new_size );\n\n\t\tif ( ! yy_start_stack )\n\t\t\tYY_FATAL_ERROR(\n\t\t\t\"out of memory expanding start-condition stack\" );\n\t\t}\n\n\tyy_start_stack[yy_start_stack_ptr++] = YY_START;\n\n\tBEGIN(new_state);\n\t}\n#endif\n\n\n#ifndef YY_NO_POP_STATE\nstatic void yy_pop_state()\n\t{\n\tif ( --yy_start_stack_ptr < 0 )\n\t\tYY_FATAL_ERROR( \"start-condition stack underflow\" );\n\n\tBEGIN(yy_start_stack[yy_start_stack_ptr]);\n\t}\n#endif\n\n\n#ifndef YY_NO_TOP_STATE\nstatic int yy_top_state()\n\t{\n\treturn yy_start_stack[yy_start_stack_ptr - 1];\n\t}\n#endif\n\n#ifndef YY_EXIT_FAILURE\n#define YY_EXIT_FAILURE 2\n#endif\n\n#ifdef YY_USE_PROTOS\nstatic void yy_fatal_error( yyconst char msg[] )\n#else\nstatic void yy_fatal_error( msg )\nchar msg[];\n#endif\n\t{\n\t(void) fprintf( stderr, \"%s\\n\", msg );\n\texit( YY_EXIT_FAILURE );\n\t}\n\n\n\n/* Redefine yyless() so it works in section 3 code. */\n\n#undef yyless\n#define yyless(n) \\\n\tdo \\\n\t\t{ \\\n\t\t/* Undo effects of setting up yytext. */ \\\n\t\tyytext[yyleng] = yy_hold_char; \\\n\t\tyy_c_buf_p = yytext + n; \\\n\t\tyy_hold_char = *yy_c_buf_p; \\\n\t\t*yy_c_buf_p = '\\0'; \\\n\t\tyyleng = n; \\\n\t\t} \\\n\twhile ( 0 )\n\n\n/* Internal utility routines. */\n\n#ifndef yytext_ptr\n#ifdef YY_USE_PROTOS\nstatic void yy_flex_strncpy( char *s1, yyconst char *s2, int n )\n#else\nstatic void yy_flex_strncpy( s1, s2, n )\nchar *s1;\nyyconst char *s2;\nint n;\n#endif\n\t{\n\tregister int i;\n\tfor ( i = 0; i < n; ++i )\n\t\ts1[i] = s2[i];\n\t}\n#endif\n\n#ifdef YY_NEED_STRLEN\n#ifdef YY_USE_PROTOS\nstatic int yy_flex_strlen( yyconst char *s )\n#else\nstatic int yy_flex_strlen( s )\nyyconst char *s;\n#endif\n\t{\n\tregister int n;\n\tfor ( n = 0; s[n]; ++n )\n\t\t;\n\n\treturn n;\n\t}\n#endif\n\n\n#ifdef YY_USE_PROTOS\nstatic void *yy_flex_alloc( yy_size_t size )\n#else\nstatic void *yy_flex_alloc( size )\nyy_size_t size;\n#endif\n\t{\n\treturn (void *) malloc( size );\n\t}\n\n#ifdef YY_USE_PROTOS\nstatic void *yy_flex_realloc( void *ptr, yy_size_t size )\n#else\nstatic void *yy_flex_realloc( ptr, size )\nvoid *ptr;\nyy_size_t size;\n#endif\n\t{\n\t/* The cast to (char *) in the following accommodates both\n\t * implementations that use char* generic pointers, and those\n\t * that use void* generic pointers.  It works with the latter\n\t * because both ANSI C and C++ allow castless assignment from\n\t * any pointer type to void*, and deal with argument conversions\n\t * as though doing an assignment.\n\t */\n\treturn (void *) realloc( (char *) ptr, size );\n\t}\n\n#ifdef YY_USE_PROTOS\nstatic void yy_flex_free( void *ptr )\n#else\nstatic void yy_flex_free( ptr )\nvoid *ptr;\n#endif\n\t{\n\tfree( ptr );\n\t}\n\n#if YY_MAIN\nint main()\n\t{\n\tyylex();\n\treturn 0;\n\t}\n#endif\n\n\n/* I won't bother to provide any error recovery. I won't  even  handle\nunknown characters */\n\n/*******************************************************************/\nint isaTYPE(char* string)\n{  \n    return ('A' <= string[0] && 'Z' >= string[0]);\n}\nchar* myinputptr=\"int main(int argc, char* argv[]);\";\nchar* myinputlim;\nint my_yyinput(char* buf,int max_size)\n{\n\tint n = min(max_size,*(int*)&myinputlim - *(int*)&myinputptr);\n\tif(n > 0)\n\t{\n\t\tmemcpy(buf,myinputptr,n);\n\t\tmyinputptr += n;\n\t}\n\treturn n;\n}\n#ifndef CODE_OS_NT_DRV\n#ifdef CODE_OS_WIN\nint main1(int argc, char* argv[])\n#else\nint main(int argc, char* argv[])\n#endif\n{\nFILE* fp;\n\tsize_t filelen=strlen(myinputptr);\n\n\tif(argc==2)\n\t{\n\t\tfp = fopen(argv[1],\"r\");\n\t\tif(fp)\n\t\t{\n\t\t\tfilelen = fseek(fp,0,SEEK_END);\n\t\t\tfilelen = ftell(fp);\n\t\t\tif(filelen<=0x1000000)\n\t\t\t{\n\t\t\t\tfseek(fp,0,SEEK_SET);\n\t\t\t\tmyinputptr = (char*)malloc(filelen);\n\t\t\t\tmemset(myinputptr,0,filelen); \n\t\t\t\tfilelen = fread(myinputptr,1,filelen,fp);\n\t\t\t\t//printf(\"read file %d\\n\",filelen,myinputptr);\n\t\t\t}\n\t\t\telse\n\t\t\t\tfilelen = strlen(myinputptr);\n\t\t\tfclose(fp);\n\t\t}\n\t}\n\tmyinputlim=myinputptr+filelen;\n\tint retvalue=-1;\t\n\twhile(retvalue=yylex())\n{\n\t//printf(\"retvalue=%d %s\\n\",retvalue,yylval);\n}\n\t//printf(\"exit retvalue=%d %s\\n\",retvalue,yylval);\nreturn 0;\n}\n#endif\n\n\n#ifdef CODE_OS_NT_DRV \ntypedef TMap<void*,unsigned int > CALLOCMAP;\nCALLOCMAP* gpLexAllocList=NULL; \nvoid myfree(void *ptr)\n{\n\tCALLOCMAP::IT FindIT ;\n\tFindIT = gpLexAllocList->Find(ptr);\n\tif(FindIT!=gpLexAllocList->End())\n\t{\n\t\tgpLexAllocList->Remove(FindIT);\n\t\tdelete ptr;\n\t\tif(gpLexAllocList->Count()==0)\n\t\t{\n\t\t\tdelete gpLexAllocList;\n\t\t\tgpLexAllocList=NULL;\n\t\t}\n\t}\n}\nvoid* mymalloc(size_t size)\n{\n\tvoid* ptr=NULL;\n\tptr = (void*)new char[size];\n\tif(ptr)\n\t{\n\t\tif(gpLexAllocList==NULL)\n\t\t{\n\t\t\tgpLexAllocList=new CALLOCMAP;\n\t\t\tif(gpLexAllocList==NULL)\n\t\t\t\treturn NULL;\n\t\t}\n\t\tgpLexAllocList->InsertUnique(ptr,size);\n\t}\n\treturn ptr;\n}\nvoid* myrealloc(void* ptr, size_t size)\n{\n\tchar *TmpPtr=NULL;\t\n\tCALLOCMAP::IT FindIT ;\n\tFindIT = gpLexAllocList->Find(ptr);\n\tif(FindIT!=gpLexAllocList->End())\n\t{\n\t\tif(*FindIT>=size)\n\t\t\treturn ptr;\n\t\tTmpPtr = (char*)mymalloc(size);\n\t\tmemcpy(TmpPtr,ptr,*FindIT);\n\t\tmyfree(ptr);\n\t}\n\treturn TmpPtr;\n}\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Lex2.h",
    "content": "#ifndef _LEXTAB_H_\n#define _LEXTAB_H_\nenum{\nLEX___ABSTRACT=0x200,\nLEX___ALIGNOF,\nLEX___ASM,\nLEX___ASSUME,\nLEX___BASED,\nLEX___BOX,\nLEX___CDECL,\nLEX___DECLSPEC,\nLEX___DELEGATE,\nLEX___EVENT,\nLEX___EXCEPT,\nLEX___FASTCALL,\nLEX___FORCEINLINE,\nLEX___GC,\nLEX___HOOK,\nLEX___IDENTIFIER,\nLEX___IF_EXISTS,\nLEX___IF_NOT_EXISTS,\nLEX___INLINE,\nLEX___INT8,\nLEX___INT16,\nLEX___INT32,\nLEX___INT64,\nLEX___INTERFACE,\nLEX___LEAVE,\nLEX___M64,\nLEX___M128,\nLEX___M128D,\nLEX___M128I,\nLEX___MULTIPLE_INHERITANCE,\nLEX___NOGC,\nLEX___NOOP,\nLEX___PIN,\nLEX___PROPERTY,\nLEX___RAISE,\nLEX___SEALED,\nLEX___SINGLE_INHERITANCE,\nLEX___STDCALL,\nLEX___SUPER,\nLEX___TRY_CAST,\nLEX___TRY,\nLEX___FINALLY,\nLEX___UNHOOK,\nLEX___UUIDOF,\nLEX___VALUE,\nLEX___VIRTUAL_INHERITANCE,\nLEX___W64,\nLEX_BOOL,\nLEX_BREAK,\nLEX_CASE,\nLEX_CATCH,\nLEX_CHAR,\nLEX_CLASS,\nLEX_CONST,\nLEX_CONST_CAST,\nLEX_CONTINUE,\nLEX_DEFAULT,\nLEX_DELETE,\nLEX_DEPRECATED,\nLEX_DLLEXPORT,\nLEX_DLLIMPORT,\nLEX_DO,\nLEX_DOUBLE,\nLEX_DYNAMIC_CAST,\nLEX_ELSE,\nLEX_ENUM,\nLEX_EXPLICIT,\nLEX_EXTERN,\nLEX_FALSE,\nLEX_FLOAT,\nLEX_FOR,\nLEX_FRIEND,\nLEX_GOTO,\nLEX_IF,\nLEX_INLINE,\nLEX_INT,\nLEX_LONG,\nLEX_MUTABLE,\nLEX_NAKED,\nLEX_NAMESPACE,\nLEX_NEW,\nLEX_NOINLINE,\nLEX_NORETURN,\nLEX_NOTHROW,\nLEX_NOVTABLE,\nLEX_OPERATOR,\nLEX_PRIVATE,\nLEX_PROPERTY,\nLEX_PROTECTED,\nLEX_PUBLIC,\nLEX_REGISTER,\nLEX_REINTERPRET_CAST,\nLEX_RETURN,\nLEX_SELECTANY,\nLEX_SHORT,\nLEX_SIGNED,\nLEX_SIZEOF,\nLEX_STATIC,\nLEX_STATIC_CAST,\nLEX_STRUCT,\nLEX_SWITCH,\nLEX_TEMPLATE,\nLEX_THIS,\nLEX_THREAD,\nLEX_THROW,\nLEX_TRUE,\nLEX_TRY,\nLEX_TYPEDEF,\nLEX_TYPEID,\nLEX_TYPENAME,\nLEX_UNION,\nLEX_UNSIGNED,\nLEX_USING,\nLEX_UUID,\nLEX_VIRTUAL,\nLEX_VOID,\nLEX_VOLATILE,\nLEX___WCHAR_T,\nLEX_WCHAR_T,\nLEX_WHILE,\n\n\nLEX_PRE_DEFINE,\nLEX_PRE_ERROR,\nLEX_PRE_IMPORT,\nLEX_PRE_UNDEF,\nLEX_PRE_ELIF,\nLEX_PRE_IF,\nLEX_INCLUDE,\nLEX_PRE_USING,\nLEX_PRE_ELSE,\nLEX_PRE_IFDEF,\nLEX_PRE_LINE,\nLEX_PRE_ENDIF,\nLEX_PRE_IFNDEF,\nLEX_PRE_GRAMA,\n\n\nLEX_INTEGERconstant,\nLEX_OCTALconstant,\nLEX_HEXconstant,\nLEX_FLOATINGconstant,\nLEX_CHARACTERconstant,\nLEX_STRINGliteral,\nLEX_LP,\nLEX_RP,\nLEX_COMMA,\nLEX_POUNDPOUND,\nLEX_LC,\nLEX_RC,\nLEX_LB,\nLEX_RB,\nLEX_DOT,\nLEX_AND,\nLEX_STAR,\nLEX_PLUS,\nLEX_MINUS,\nLEX_NEGATE,\nLEX_NOT,\nLEX_DIV,\nLEX_MOD,\nLEX_LT,\nLEX_GT,\nLEX_XOR,\nLEX_PIPE,\nLEX_QUESTION,\nLEX_COLON,\nLEX_SEMICOLON,\nLEX_ASSIGN,\nLEX_DOTstar,\nLEX_CLCL,\nLEX_ARROW,\nLEX_ARROWstar,\nLEX_ICR,\nLEX_DECR,\nLEX_LS,\nLEX_RS,\nLEX_LE,\nLEX_GE,\nLEX_EQ,\nLEX_NE,\nLEX_ANDAND,\nLEX_OROR,\nLEX_MULTassign,\nLEX_DIVassign,\nLEX_MODassign,\nLEX_PLUSassign,\nLEX_MINUSassign,\nLEX_LSassign,\nLEX_RSassign,\nLEX_ANDassign,\nLEX_ERassign,\nLEX_ORassign,\nLEX_ELLIPSIS,\nLEX_COMMENT_BLOCK_BEGIN,\nLEX_COMMENT_BLOCK_END,\nLEX_COMMENT_LINE,\nLEX_IDENTIFIER,\nLEX_WHITE_SPACE,\nLEX_UNKNOW,\n};\nint yylex();\n#ifdef CODE_OS_NT_DRV\nvoid yyrestart( void* );\n#else\nvoid yyrestart( FILE* );\n#endif\n\n\nextern int yyleng;\nextern char* myinputptr;\nextern char* myinputlim;\nextern  char* yytext;\nextern  char* yylval;\n#endif //_LEXTAB_H_\n"
  },
  {
    "path": "Project/Syser/Source/LocalAPIC.cpp",
    "content": "#include \"stdafx.h\"\n#include \"LocalAPIC.h\"\n#include \"IOAPIC.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nDWORD gdwLocalAPICTaskPriority=0;\nDWORD gdwLocalAPICLineAddress=0;\nDWORD gdwLocalAPICPhysAddress=0;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid DisableAllLocalAPICInterrupt()\n{\n\tif(gbIsUseAPIC)\n\t{\t\t\n\t\tDWORD* TaskPriorityRegister=*(DWORD**)&gdwLocalAPICLineAddress;\n\t\tTaskPriorityRegister[0x80/sizeof(DWORD)]=0xff;\n\t}\n}\nvoid EnableLocalAPICInterrupt()\n{\n\tif(gbIsUseAPIC)\n\t{\n\t\tDWORD* TaskPriorityRegister=*(DWORD**)&gdwLocalAPICLineAddress;\n\t\tTaskPriorityRegister[0x80/sizeof(DWORD)]=0xef;\n\t}\n}\nvoid SetLocalAPICEOI(DWORD dwInterruptNum)\n{\n\tDWORD* pdwTemp;\n\tpdwTemp =*(DWORD**)&gdwLocalAPICLineAddress;\n\tpdwTemp[0xb0/sizeof(DWORD)]=0;\t\n}\nDWORD GetLocalAPICID()\n{\n\tDWORD LocalApicID;\n\tDWORD *APICIDRegister = *(DWORD**)&gdwLocalAPICLineAddress;\n\tLocalApicID = APICIDRegister[0x20/sizeof(DWORD)];\n\tLocalApicID>>=18;\n\treturn LocalApicID;\n}\nvoid SaveLocalApic(PSAVELOCALAPIC Save)\n{\n\tDWORD *pLapic = *(DWORD**)&gdwLocalAPICLineAddress,i;\n\tSave->APIC_ID=pLapic[0x20/sizeof(DWORD)];\n\tSave->APICVersion=pLapic[0x30/sizeof(DWORD)];\n\tSave->TaskPriority=pLapic[0x80/sizeof(DWORD)];\n\tSave->ArbitrationPriority=pLapic[0x90/sizeof(DWORD)];\n\tSave->ProcessorPriority=pLapic[0xa0/sizeof(DWORD)];\n\tSave->LogicalDestination=pLapic[0xd0/sizeof(DWORD)];\n\tSave->DestinationFormat=pLapic[0xe0/sizeof(DWORD)];\n\tSave->SpuriousInterruptVector=pLapic[0xf0/sizeof(DWORD)];\n\tSave->ErrorStatus=pLapic[0x280/sizeof(DWORD)];\n\tSave->InterruptCommandLow=pLapic[0x300/sizeof(DWORD)];\n\tSave->InterruptCommandHigh=pLapic[0x310/sizeof(DWORD)];\n\tSave->LVTTimer=pLapic[0x320/sizeof(DWORD)];\n\tSave->LVTThermalSensor=pLapic[0x330/sizeof(DWORD)];\n\tSave->LVTPerformanceMonitoringCounters=pLapic[0x340/sizeof(DWORD)];\n\tSave->LVTLINT0=pLapic[0x350/sizeof(DWORD)];\n\tSave->LVTLINT1=pLapic[0x360/sizeof(DWORD)];\n\tSave->LVTError=pLapic[0x370/sizeof(DWORD)];\n\tSave->InitialCount=pLapic[0x380/sizeof(DWORD)];\n\tSave->CurrentCount=pLapic[0x390/sizeof(DWORD)];\n\tSave->DivideConfiguration=pLapic[0x3e0/sizeof(DWORD)];\n\tfor(i = 0; i < 8;i++)\n\t{\n\t\tSave->InService[i]=pLapic[(0x100+i*0x10)/sizeof(DWORD)];\n\t\tSave->TriggerMode[i]=pLapic[(0x180+i*0x10)/sizeof(DWORD)];\n\t\tSave->InterruptRequest[i]=pLapic[(0x200+i*0x10)/sizeof(DWORD)];\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/LocalAPIC.h",
    "content": "#ifndef __ASM_APICDEF_H\n#define __ASM_APICDEF_H \n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define\t\tAPIC_DEFAULT_PHYS_BASE\t\t\t\t0xfee00000\n \n#define\t\t\tAPIC_ID_INDEX\t\t\t\t\t0x20\n#define\t\t\tAPIC_ID_MASK\t\t\t\t\t(0x0F<<24)\n#define\t\t\tGET_APIC_ID(x)\t\t\t\t\t(((x)>>24)&0x0F)\n#define\t\t\tAPIC_LVR_INDEX\t\t\t\t\t0x30\n#define\t\t\tAPIC_LVR_MASK\t\t\t\t\t0xFF00FF\n#define\t\t\tGET_APIC_VERSION(x)\t\t\t\t((x)&0xFF)\n#define\t\t\tGET_APIC_MAXLVT(x)\t\t\t\t(((x)>>16)&0xFF)\n#define\t\t\tAPIC_INTEGRATED(x)\t\t\t\t((x)&0xF0)\n#define\t\t\tAPIC_TASKPRI_INDEX\t\t\t\t0x80\n#define\t\t\tAPIC_TPRI_MASK\t\t\t\t\t0xFF\n#define\t\t\tAPIC_ARBPRI_INDEX\t\t\t\t0x90\n#define\t\t\tAPIC_ARBPRI_MASK\t\t\t\t0xFF\n#define\t\t\tAPIC_PROCPRI_INDEX\t\t\t\t0xA0\n#define\t\t\tAPIC_EOI_INDEX\t\t\t\t\t0xB0\n#define\t\t\tAPIC_EIO_ACK\t\t\t\t\t0x0\t\t/* Write this to the EOI register */\n#define\t\t\tAPIC_RRR_INDEX\t\t\t\t\t0xC0\n#define\t\t\tAPIC_LDR_INDEX\t\t\t\t\t0xD0\n#define\t\t\tAPIC_LDR_MASK\t\t\t\t\t(0xFF<<24)\n#define\t\t\tGET_APIC_LOGICAL_ID(x)\t\t\t(((x)>>24)&0xFF)\n#define\t\t\tSET_APIC_LOGICAL_ID(x)\t\t\t(((x)<<24))\n#define\t\t\tAPIC_ALL_CPUS\t\t\t\t\t0xFF\n#define\t\t\tAPIC_DFR_INDEX\t\t\t\t\t0xE0\n#define\t\t\tAPIC_SPIV_INDEX\t\t\t\t\t0xF0\n#define\t\t\tAPIC_SPIV_FOCUS_DISABLED\t\t(1<<9)\n#define\t\t\tAPIC_SPIV_APIC_ENABLED\t\t\t(1<<8)\n#define\t\t\tAPIC_ISR_INDEX\t\t\t\t\t0x100\n#define\t\t\tAPIC_TMR_INDEX\t\t\t\t\t0x180\n#define \t\tAPIC_IRR_INDEX\t\t\t\t\t0x200\n#define \t\tAPIC_ESR_INDEX\t\t\t\t\t0x280\n#define\t\t\tAPIC_ESR_SEND_CS\t\t\t\t0x00001\n#define\t\t\tAPIC_ESR_RECV_CS\t\t\t\t0x00002\n#define\t\t\tAPIC_ESR_SEND_ACC\t\t\t\t0x00004\n#define\t\t\tAPIC_ESR_RECV_ACC\t\t\t\t0x00008\n#define\t\t\tAPIC_ESR_SENDILL\t\t\t\t0x00020\n#define\t\t\tAPIC_ESR_RECVILL\t\t\t\t0x00040\n#define\t\t\tAPIC_ESR_ILLREGA\t\t\t\t0x00080\n#define\t\t\tAPIC_ICR_INDEX\t\t\t\t\t0x300\n#define\t\t\tAPIC_DEST_SELF\t\t\t\t\t0x40000\n#define\t\t\tAPIC_DEST_ALLINC\t\t\t\t0x80000\n#define\t\t\tAPIC_DEST_ALLBUT\t\t\t\t0xC0000\n#define\t\t\tAPIC_ICR_RR_MASK\t\t\t\t0x30000\n#define\t\t\tAPIC_ICR_RR_INVALID\t\t\t\t0x00000\n#define\t\t\tAPIC_ICR_RR_INPROG\t\t\t\t0x10000\n#define\t\t\tAPIC_ICR_RR_VALID\t\t\t\t0x20000\n#define\t\t\tAPIC_INT_LEVELTRIG\t\t\t\t0x08000\n#define\t\t\tAPIC_INT_ASSERT\t\t\t\t\t0x04000\n#define\t\t\tAPIC_ICR_BUSY\t\t\t\t\t0x01000\n#define\t\t\tAPIC_DEST_LOGICAL\t\t\t\t0x00800\n#define\t\t\tAPIC_DM_FIXED\t\t\t\t\t0x00000\n#define\t\t\tAPIC_DM_LOWEST\t\t\t\t\t0x00100\n#define\t\t\tAPIC_DM_SMI\t\t\t\t\t\t0x00200\n#define\t\t\tAPIC_DM_REMRD\t\t\t\t\t0x00300\n#define\t\t\tAPIC_DM_NMI\t\t\t\t\t\t0x00400\n#define\t\t\tAPIC_DM_INIT\t\t\t\t\t0x00500\n#define\t\t\tAPIC_DM_STARTUP\t\t\t\t\t0x00600\n#define\t\t\tAPIC_DM_EXTINT\t\t\t\t\t0x00700\n#define\t\t\tAPIC_VECTOR_MASK\t\t\t\t0x000FF\n#define\t\t\tAPIC_ICR2_INDEX\t\t\t\t\t0x310\n#define\t\t\tGET_APIC_DEST_FIELD(x)\t\t\t(((x)>>24)&0xFF)\n#define\t\t\tSET_APIC_DEST_FIELD(x)\t\t\t((x)<<24)\n#define\t\t\tAPIC_LVTT_INDEX\t\t\t\t\t0x320\n#define\t\t\tAPIC_LVTPC_INDEX\t\t\t\t0x340\n#define\t\t\tAPIC_LVT0_INDEX\t\t\t\t\t0x350\n#define\t\t\tAPIC_LVT_TIMER_BASE_MASK\t\t(0x3<<18)\n#define\t\t\tGET_APIC_TIMER_BASE(x)\t\t\t(((x)>>18)&0x3)\n#define\t\t\tSET_APIC_TIMER_BASE(x)\t\t\t(((x)<<18))\n#define\t\t\tAPIC_TIMER_BASE_CLKIN\t\t\t0x0\n#define\t\t\tAPIC_TIMER_BASE_TMBASE\t\t\t0x1\n#define\t\t\tAPIC_TIMER_BASE_DIV\t\t\t\t0x2\n#define\t\t\tAPIC_LVT_TIMER_PERIODIC\t\t\t(1<<17)\n#define\t\t\tAPIC_LVT_MASKED\t\t\t\t\t(1<<16)\n#define\t\t\tAPIC_LVT_LEVEL_TRIGGER\t\t\t(1<<15)\n#define\t\t\tAPIC_LVT_REMOTE_IRR\t\t\t\t(1<<14)\n#define\t\t\tAPIC_INPUT_POLARITY\t\t\t\t(1<<13)\n#define\t\t\tAPIC_SEND_PENDING\t\t\t\t(1<<12)\n#define\t\t\tGET_APIC_DELIVERY_MODE(x)\t\t(((x)>>8)&0x7)\n#define\t\t\tSET_APIC_DELIVERY_MODE(x,y)\t\t(((x)&~0x700)|((y)<<8))\n#define\t\t\tAPIC_MODE_FIXED\t\t\t\t\t0x0\n#define\t\t\tAPIC_MODE_NMI\t\t\t\t\t0x4\n#define\t\t\tAPIC_MODE_EXINT\t\t\t\t\t0x7\n#define \t\tAPIC_LVT1_INDEX\t\t\t\t\t0x360\n#define\t\t\tAPIC_LVTERR_INDEX\t\t\t\t0x370\n#define\t\t\tAPIC_TMICT_INDEX\t\t\t\t0x380\n#define\t\t\tAPIC_TMCCT_INDEX\t\t\t\t0x390\n#define\t\t\tAPIC_TDCR_INDEX\t\t\t\t\t0x3E0\n#define\t\t\tAPIC_TDR_DIV_TMBASE\t\t\t\t(1<<2)\n#define\t\t\tAPIC_TDR_DIV_1\t\t\t\t\t0xB\n#define\t\t\tAPIC_TDR_DIV_2\t\t\t\t\t0x0\n#define\t\t\tAPIC_TDR_DIV_4\t\t\t\t\t0x1\n#define\t\t\tAPIC_TDR_DIV_8\t\t\t\t\t0x2\n#define\t\t\tAPIC_TDR_DIV_16\t\t\t\t\t0x3\n#define\t\t\tAPIC_TDR_DIV_32\t\t\t\t\t0x8\n#define\t\t\tAPIC_TDR_DIV_64\t\t\t\t\t0x9\n#define\t\t\tAPIC_TDR_DIV_128\t\t\t\t0xA\n\n\n#define\t\t\tMAX_IO_APICS\t\t\t\t\t8\n\n/*\n * the local APIC register structure, memory mapped. Not terribly well\n * tested, but we might eventually use this one in the future - the\n * problem why we cannot use it right now is the P5 APIC, it has an\n * errata which cannot take 8-bit reads and writes, only 32-bit ones ...\n */\n\n\n\ntypedef struct stLocalApic {\n\n/*000*/\tstruct { DWORD reserved[4]; } __reserved_01;\n\n/*010*/\tstruct { DWORD reserved[4]; } __reserved_02;\n\n/*020*/\tstruct { /* APIC ID Register */\n\t\tDWORD   __reserved_1\t: 24,\n\t\t\tphys_apic_id\t\t:  4,\n\t\t\t__reserved_2\t\t:  4;\n\t\tDWORD reserved[3];\n\t} id;\n\n/*030*/\tconst\n\tstruct { /* APIC Version Register */\n\t\tDWORD   version\t\t\t:  8,\n\t\t\t__reserved_1\t\t:  8,\n\t\t\tmax_lvt\t\t\t\t:  8,\n\t\t\t__reserved_2\t\t:  8;\n\t\tDWORD reserved[3];\n\t} version;\n\n/*040*/\tstruct { DWORD reserved[4]; } __reserved_03;\n\n/*050*/\tstruct { DWORD reserved[4]; } __reserved_04;\n\n/*060*/\tstruct { DWORD reserved[4]; } __reserved_05;\n\n/*070*/\tstruct { DWORD reserved[4]; } __reserved_06;\n\n/*080*/\tstruct { /* Task Priority Register */\n\t\tDWORD   priority\t\t:  8,\n\t\t\t__reserved_1\t\t: 24;\n\t\tDWORD __reserved_2[3];\n\t} tpr;\n\n/*090*/\tconst\n\tstruct { /* Arbitration Priority Register */\n\t\tDWORD   priority\t\t:  8,\n\t\t\t__reserved_1\t\t: 24;\n\t\tDWORD __reserved_2[3];\n\t} apr;\n\n/*0A0*/\tconst\n\tstruct { /* Processor Priority Register */\n\t\tDWORD   priority\t\t:  8,\n\t\t\t__reserved_1\t\t: 24;\n\t\tDWORD __reserved_2[3];\n\t} ppr;\n\n/*0B0*/\tstruct { /* End Of Interrupt Register */\n\t\tDWORD   eoi;\n\t\tDWORD reserved[3];\n\t} eoi;\n\n/*0C0*/\tstruct { DWORD reserved[4]; } __reserved_07;\n\n/*0D0*/\tstruct { /* Logical Destination Register */\n\t\tDWORD   __reserved_1\t: 24,\n\t\t\tlogical_dest\t\t:  8;\n\t\tDWORD __reserved_2[3];\n\t} ldr;\n\n/*0E0*/\tstruct { /* Destination Format Register */\n\t\tDWORD   __reserved_1\t: 28,\n\t\t\tmodel\t\t\t\t:  4;\n\t\tDWORD __reserved_2[3];\n\t} dfr;\n\n/*0F0*/\tstruct { /* Spurious Interrupt Vector Register */\n\t\tDWORD\tspurious_vector\t:  8,\n\t\t\tapic_enabled\t\t:  1,\n\t\t\tfocus_cpu\t\t\t:  1,\n\t\t\t__reserved_2\t\t: 22;\n\t\tDWORD __reserved_3[3];\n\t} svr;\n\n/*100*/\tstruct { /* In Service Register */\n/*170*/\t\tDWORD bitfield;\n\t\tDWORD reserved[3];\n\t} isr [8];\n\n/*180*/\tstruct { /* Trigger Mode Register */\n/*1F0*/\t\tDWORD bitfield;\n\t\tDWORD reserved[3];\n\t} tmr [8];\n\n/*200*/\tstruct { /* Interrupt Request Register */\n/*270*/\t\tDWORD bitfield;\n\t\tDWORD reserved[3];\n\t} irr [8];\n\n/*280*/\tunion { /* Error Status Register */\n\t\tstruct {\n\t\t\tDWORD   send_cs_error\t\t\t:  1,\n\t\t\t\treceive_cs_error\t\t\t:  1,\n\t\t\t\tsend_accept_error\t\t\t:  1,\n\t\t\t\treceive_accept_error\t\t:  1,\n\t\t\t\t__reserved_1\t\t\t\t:  1,\n\t\t\t\tsend_illegal_vector\t\t\t:  1,\n\t\t\t\treceive_illegal_vector\t\t:  1,\n\t\t\t\tillegal_register_address\t:  1,\n\t\t\t\t__reserved_2\t\t\t\t: 24;\n\t\t\tDWORD __reserved_3[3];\n\t\t} error_bits;\n\t\tstruct {\n\t\t\tDWORD errors;\n\t\t\tDWORD __reserved_3[3];\n\t\t} all_errors;\n\t} esr;\n\n/*290*/\tstruct { DWORD reserved[4]; } __reserved_08;\n\n/*2A0*/\tstruct { DWORD reserved[4]; } __reserved_09;\n\n/*2B0*/\tstruct { DWORD reserved[4]; } __reserved_10;\n\n/*2C0*/\tstruct { DWORD reserved[4]; } __reserved_11;\n\n/*2D0*/\tstruct { DWORD reserved[4]; } __reserved_12;\n\n/*2E0*/\tstruct { DWORD reserved[4]; } __reserved_13;\n\n/*2F0*/\tstruct { DWORD reserved[4]; } __reserved_14;\n\n/*300*/\tstruct { /* Interrupt Command Register 1 */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\tdelivery_mode\t\t:  3,\n\t\t\tdestination_mode\t:  1,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\t__reserved_1\t\t:  1,\n\t\t\tlevel\t\t\t\t:  1,\n\t\t\ttrigger\t\t\t\t:  1,\n\t\t\t__reserved_2\t\t:  2,\n\t\t\tshorthand\t\t\t:  2,\n\t\t\t__reserved_3\t\t:  12;\n\t\tDWORD __reserved_4[3];\n\t} icr1;\n\n/*310*/\tstruct { /* Interrupt Command Register 2 */\n\t\tunion {\n\t\t\tDWORD   __reserved_1\t: 24,\n\t\t\t\tphys_dest\t\t\t:  4,\n\t\t\t\t__reserved_2\t\t:  4;\n\t\t\tDWORD   __reserved_3\t: 24,\n\t\t\t\tlogical_dest\t\t:  8;\n\t\t} dest;\n\t\tDWORD __reserved_4[3];\n\t} icr2;\n\n/*320*/\tstruct { /* LVT - Timer */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\t__reserved_1\t\t:  4,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\t__reserved_2\t\t:  3,\n\t\t\tmask\t\t\t\t:  1,\n\t\t\ttimer_mode\t\t\t:  1,\n\t\t\t__reserved_3\t\t: 14;\n\t\tDWORD __reserved_4[3];\n\t} lvt_timer;\n\n/*330*/\tstruct { DWORD reserved[4]; } __reserved_15;\n\n/*340*/\tstruct { /* LVT - Performance Counter */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\tdelivery_mode\t\t:  3,\n\t\t\t__reserved_1\t\t:  1,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\t__reserved_2\t\t:  3,\n\t\t\tmask\t\t\t\t:  1,\n\t\t\t__reserved_3\t\t: 15;\n\t\tDWORD __reserved_4[3];\n\t} lvt_pc;\n\n/*350*/\tstruct { /* LVT - LINT0 */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\tdelivery_mode\t\t:  3,\n\t\t\t__reserved_1\t\t:  1,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\tpolarity\t\t\t:  1,\n\t\t\tremote_irr\t\t\t:  1,\n\t\t\ttrigger\t\t\t\t:  1,\n\t\t\tmask\t\t\t\t:  1,\n\t\t\t__reserved_2\t\t: 15;\n\t\tDWORD __reserved_3[3];\n\t} lvt_lint0;\n\n/*360*/\tstruct { /* LVT - LINT1 */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\tdelivery_mode\t\t:  3,\n\t\t\t__reserved_1\t\t:  1,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\tpolarity\t\t\t:  1,\n\t\t\tremote_irr\t\t\t:  1,\n\t\t\ttrigger\t\t\t\t:  1,\n\t\t\tmask\t\t\t\t:  1,\n\t\t\t__reserved_2\t\t: 15;\n\t\tDWORD __reserved_3[3];\n\t} lvt_lint1;\n\n/*370*/\tstruct { /* LVT - Error */\n\t\tDWORD   vector\t\t\t:  8,\n\t\t\t__reserved_1\t\t:  4,\n\t\t\tdelivery_status\t\t:  1,\n\t\t\t__reserved_2\t\t:  3,\n\t\t\tmask\t\t\t\t:  1,\n\t\t\t__reserved_3\t\t: 15;\n\t\tDWORD __reserved_4[3];\n\t} lvt_error;\n\n/*380*/\tstruct { /* Timer Initial Count Register */\n\t\tDWORD   initial_count;\n\t\tDWORD __reserved_2[3];\n\t} timer_icr;\n\n/*390*/\tconst\n\tstruct { /* Timer Current Count Register */\n\t\tDWORD   curr_count;\n\t\tDWORD __reserved_2[3];\n\t} timer_ccr;\n\n/*3A0*/\tstruct { DWORD reserved[4]; } __reserved_16;\n\n/*3B0*/\tstruct { DWORD reserved[4]; } __reserved_17;\n\n/*3C0*/\tstruct { DWORD reserved[4]; } __reserved_18;\n\n/*3D0*/\tstruct { DWORD reserved[4]; } __reserved_19;\n\n/*3E0*/\tstruct { /* Timer Divide Configuration Register */\n\t\tDWORD   divisor\t\t\t:  4,\n\t\t\t__reserved_1\t\t: 28;\n\t\tDWORD __reserved_2[3];\n\t} timer_dcr;\n\n/*3F0*/\tstruct { DWORD reserved[4]; } __reserved_20;\n\n} LocalAPIC, *PLocalAPIC;\ntypedef struct _SAVELOCALAPIC\n{\n\tunion\n\t{\n\t\tDWORD APIC_ID;\n\t};\n\tunion\n\t{\n\t\tDWORD APICVersion;\n\t};\n\tunion\n\t{\n\t\tDWORD TaskPriority;\n\t};\n\tunion\n\t{\n\t\tDWORD ArbitrationPriority;\n\t};\n\tunion\n\t{\n\t\tDWORD ProcessorPriority;\n\t};\n\tunion\n\t{\n\t\tDWORD EOI;\n\t};\n\tunion\n\t{\n\t\tDWORD LogicalDestination;\n\t};\n\tunion\n\t{\n\t\tDWORD DestinationFormat;\n\t};\n\tunion\n\t{\n\t\tDWORD SpuriousInterruptVector;\n\t};\n\tunion\n\t{\n\t\tDWORD SpuriousInterruptVector;\n\t};\n\tDWORD InService[8];\n\tDWORD TriggerMode[8];\n\tDWORD InterruptRequest[8];\n\tDWORD ErrorStatus;\n\tDWORD InterruptCommandLow;\n\tDWORD InterruptCommandHigh;\n\tDWORD LVTTimer;\n\tDWORD LVTThermalSensor;\n\tDWORD LVTPerformanceMonitoringCounters;\n\tDWORD LVTLINT0;\n\tDWORD LVTLINT1;\n\tDWORD LVTError;\n\tDWORD InitialCount;\n\tDWORD CurrentCount;\n\tDWORD DivideConfiguration;\n}SAVELOCALAPIC,*PSAVELOCALAPIC;\n\nextern DWORD gdwLocalAPICLineAddress;\nextern DWORD gdwLocalAPICPhysAddress;\nextern DWORD gdwLocalAPICTaskPriority;\nvoid EnableLocalAPICInterrupt();\nvoid SetLocalAPICEOI(DWORD dwInterruptNum);\nDWORD GetLocalAPICID();\nvoid SaveLocalApic(PSAVELOCALAPIC Save);\nvoid DisableAllLocalAPICInterrupt();\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/LogicStateCAD.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LogicStateCAD.h\"\n\nCLogicStateCAD::CLogicStateCAD()\n{\n}\n\nCLogicStateCAD::~CLogicStateCAD()\n{\n\n}\n\nbool CLogicStateCAD::LoadRecord(PCSTR FileName)\n{\n\tif(m_FileStream.Open(FileName)==false)\n\t\treturn false;\n\tSTStatePathEntry::Load(m_FileStream,&m_StateRoot,sizeof(STStatePathEntry));\n\tm_FileStream.Close();\n\treturn true;\n}\n\nvoid CLogicStateCAD::ClearRecord()\n{\n\tm_StateRoot.NextEntry.Clear();\n}\n\nbool CLogicStateCAD::InsertRecord(const STReportInfo&ReportInfo,const TList<STRecogCode>&RecogCodeList,const TList<STPathMethod>&PathMethodList)\n{\n\tTList<STRecogCode>::IT RecogCodeIter;\n\tTList<STPathMethod>::IT PathMethodIter;\n\tTStatePathEntrySet::IT SPEIter;\n\tSTStatePathEntry Entry,*pParentEntry;\n\tCODE_ASSERT(RecogCodeList.Count()==PathMethodList.Count()+1);\n\tpParentEntry = &m_StateRoot;\n\tRecogCodeIter = RecogCodeList.Begin();\n\tPathMethodIter = PathMethodList.Begin();\n\twhile(RecogCodeIter!=RecogCodeList.End())\n\t{\n\t\tEntry.RecogCode = *RecogCodeIter;\n\t\tif(RecogCodeIter->CodeType == STRecogCode::IGNORE_ENTRY)\n\t\t{\n\t\t\tif(pParentEntry->NextEntry.Count()>1)\n\t\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t\tSPEIter = pParentEntry->NextEntry.Insert(Entry);\n\t\tif(SPEIter == pParentEntry->NextEntry.End())\n\t\t\tSPEIter = pParentEntry->NextEntry.Find(Entry);\n\t\tCODE_ASSERT(SPEIter != m_StateRoot.NextEntry.End());\n\t\tpParentEntry = &(*SPEIter);\n\t\tif(PathMethodIter==PathMethodList.End())\n\t\t\tpParentEntry->ReportInfo = ReportInfo;\n\t\telse\n\t\t\tpParentEntry->PathMethod = *PathMethodIter;\n\t\tRecogCodeIter++;\n\t\tPathMethodIter++;\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/LogicStateCAD.h",
    "content": "#ifndef _LOGIC_STATE_CAD_H_\n#define _LOGIC_STATE_CAD_H_\n\nstruct STReportInfo\t\t\t//ĿϢ\n{\n\tenum\n\t{\n\t\tRI_TYPE_COMMENT,\n\t\tRI_TYPE_REPORT\n\t};\n\tUINT\t\tID;\n\tUINT\t\tType;\n\tCStrW\t\tName;\n\t//л\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Stream.Puts(&ID,sizeof(ID));\n\t\tLength+=Stream.Puts(&Type,sizeof(Type));\n\t\tLength+=Name.Save(Stream);\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Stream.Gets(&ID,sizeof(ID));\n\t\tLength+=Stream.Gets(&Type,sizeof(Type));\n\t\tLength+=Name.Load(Stream);\n\t\treturn Length;\n\t}\n};\n\nstruct STFuncCode\t\t\t//\n{\n\tWORD\tFuncSize;\t\t//С\n\tWORD\tInstrCount;\t\t//ָ\n\tDWORD\tdbCheckSum;\t\t//ָBYTEУ\n\tDWORD\tdwCheckSum;\t\t//ָWORDУ\n\tDWORD\tddCheckSum;\t\t//ָDWORDУ\n\tbool operator<(const STFuncCode&FuncCode)const\n\t{\n\t\tif(ddCheckSum<FuncCode.ddCheckSum)\n\t\t\treturn true;\n\t\tif(ddCheckSum>FuncCode.ddCheckSum)\n\t\t\treturn false;\n\t\tif(dwCheckSum<FuncCode.dwCheckSum)\n\t\t\treturn true;\n\t\tif(dwCheckSum>FuncCode.dwCheckSum)\n\t\t\treturn false;\n\t\tif(dbCheckSum<FuncCode.dbCheckSum)\n\t\t\treturn true;\n\t\tif(dbCheckSum>FuncCode.dbCheckSum)\n\t\t\treturn false;\n\t\tif(InstrCount<FuncCode.InstrCount)\n\t\t\treturn true;\n\t\tif(InstrCount>FuncCode.InstrCount)\n\t\t\treturn false;\n\t\tif(FuncSize<FuncCode.FuncSize)\n\t\t\treturn true;\n\t\tif(FuncSize>FuncCode.FuncSize)\n\t\t\treturn false;\n\t\treturn false;\n\t}\n\tbool operator==(const STFuncCode&FuncCode)const\n\t{\n\t\treturn\tFuncSize==FuncCode.FuncSize && InstrCount==FuncCode.InstrCount && \n\t\t\t\tdbCheckSum==FuncCode.dbCheckSum && dwCheckSum==FuncCode.dwCheckSum && ddCheckSum==FuncCode.ddCheckSum;\n\t}\n\tbool operator!=(const STFuncCode&FuncCode)const\n\t{\n\t\treturn !operator==(FuncCode);\n\t}\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\treturn Stream.Puts(this,sizeof(STFuncCode));\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\treturn Stream.Gets(this,sizeof(STFuncCode));\n\t}\n};\n\nstruct STRecogCode\n{\n\tenum RECOG_CODE_TYPE\n\t{\n\t\tFUNCTION,\n\t\tIGNORE_ENTRY\n\t};\n\tRECOG_CODE_TYPE CodeType;\n\tunion\n\t{\n\t\tSTFuncCode FuncCode;\n\t};\n\tbool operator<(const STRecogCode&RecogCode)const\n\t{\n\t\tswitch(CodeType)\n\t\t{\n\t\tcase FUNCTION:\n\t\t\treturn FuncCode < RecogCode.FuncCode;\n\t\tdefault:\n\t\t\tCODE_WARNING(\"Error : Ƿʶ\");\n\t\t\treturn false;\n\t\t}\n\t}\n\tbool operator!=(const STRecogCode&RecogCode)const\n\t{\n\t\tif(CodeType!=RecogCode.CodeType)\n\t\t\treturn true;\n\t\tswitch(CodeType)\n\t\t{\n\t\tcase FUNCTION:\n\t\t\treturn FuncCode < RecogCode.FuncCode;\n\t\tdefault:\n\t\t\treturn false;\n\t\t}\n\t}\n};\n\ntypedef TSet<STRecogCode>\t\tCRecogCodeSet;\n\nstruct STPathMethod\n{\n\tenum METHOD_TYPE\n\t{\n\t\tOFFSET,\n\t\t//Offset Ŀڻַƫ\n\t\t//Length Ŀ곤\n\t\t//Delta  ƫƣCall\n\t\tADDR_PTR,\n\t\t//Offset Ŀڻַƫ\n\t\t//Length Ŀ곤\n\t\t//Delta  ĿַƫƣVFTable\n\t\tOFFSET_PTR,\n\t\t//Offset Ŀڻַƫ\n\t\tCPP_INIT_TERM_TABLE\n\t\t//Offset 캯ʼַƫ\n\t\t//Delta  캯ַʼַƫ\n\t};\n\tMETHOD_TYPE\tMethod;\n\tint\tOffset;\n\tint\tLength;\n\tint\tDelta;\n};\n\nstruct STStatePathEntry\n{\n\tSTRecogCode\t\tRecogCode;\n\tSTReportInfo\tReportInfo;\n\tSTPathMethod\tPathMethod;\n\tTSet<STStatePathEntry>\tNextEntry;\n\tinline bool operator<(const STStatePathEntry&Entry)const{return RecogCode < Entry.RecogCode;}\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length = 0;\n\t\tLength=Stream.Puts(&RecogCode,sizeof(RecogCode));\n\t\tLength+=Stream.Puts(&PathMethod,sizeof(PathMethod));\n\t\tLength+=ReportInfo.Save(Stream);\n\t\tLength+=NextEntry.Save(Stream);\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint Length = 0;\n\t\tLength=Stream.Gets(&RecogCode,sizeof(RecogCode));\n\t\tLength+=Stream.Gets(&PathMethod,sizeof(PathMethod));\n\t\tLength+=ReportInfo.Load(Stream);\n\t\tLength+=NextEntry.Load(Stream);\n\t\treturn Length;\n\t}\n};\n\ntypedef TSet<STStatePathEntry>\tTStatePathEntrySet;\n\nstruct STFuncDescr\n{\n\tCStrA\tName;\n\tCStrA\tFullName;\n\tint\tSave(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Name.Save(Stream);\n\t\tLength+=FullName.Save(Stream);\n\t\treturn Length;\n\t}\n\tint\tLoad(ALTFileStream&Stream)\n\t{\n\t\tint Length;\n\t\tLength=Name.Load(Stream);\n\t\tLength+=FullName.Load(Stream);\n\t\treturn Length;\n\t}\n};\n\ntypedef TMap<STFuncCode,STFuncDescr> CFuncDescrMap;\n\nclass CLogicStateCAD\n{\npublic:\n\tCLogicStateCAD();\n\t~CLogicStateCAD();\npublic:\n\tbool\tLoadRecord(PCSTR FileName);\n\tbool\tInsertRecord(const STReportInfo&ReportInfo,const TList<STRecogCode>&RecogCodeList,const TList<STPathMethod>&PathMethodList);\n\tvoid\tClearRecord();\n\tSTStatePathEntry\tm_StateRoot;\n\tCALTFileStream\t\tm_FileStream;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/MainFrame.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SystemIoctl.h\"\n#ifdef CODE_OS_WIN\n#include \"SyserApp.h\"\n#endif\nextern DWORD dwgErrorCode;\n#define MAX_TIP_WIDTH\t\t\t400\n\nWISP_MSG_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(EVENT_ID_DEBUG_PLUNGE,OnDebugPlunge)\n\tWISP_MSG_MAP(EVENT_ID_DEBUG_TERMINATE,OnDebugTerminate)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_BEGIN_MOVE,OnBeginMove)\n\tWISP_MSG_MAP(WISP_WM_END_MOVE,OnEndMove)\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REG_VIEW,OnEventRegView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATA_VIEW_FORM,OnEventDataViewForm)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CALL_STACK,OnEventCallStack)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BREAK_POINT,OnEventBreakPoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CONTINUE,OnEventContinue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RETURN,OnEventReturn)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STEP,OnEventStep)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PROCEED,OnEventProceed)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STEP_BRANCH,OnEventStepBranch)\nWISP_MSG_EVENT_MAP_DEFAULT_END(OnMenuEventPluginItem)\n\nCMainFrame::CMainFrame()\n{\n\tm_pRegWnd=NULL;\n}\n\nCMainFrame::~CMainFrame()\n{\n\tif(m_pRegWnd)\n\t\tdelete []m_pRegWnd;\n}\n\nbool CMainFrame::OnMenuEventPluginItem(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CMainFrame::OnDebugPlunge(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_SyserUI.m_SyserDI.OnDebugPlunge(pMsg->Command.Param1);\n\treturn true;\n}\n\nbool CMainFrame::OnDebugTerminate(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_SyserUI.m_SyserDI.OnDebugTerminate(pMsg->Command.Param1!=0);\n\treturn true;\n}\n\nbool CMainFrame::OnCreate(IN WISP_MSG*pMsg)\n{\n\tdwgErrorCode=903;\n\tAttachTitleDIB(WispTKDIB(\"\\\\SyserIcon\\\\Syser.ico\",0));\n\tif(m_MainTabWnd.Create(NULL,CWispRect(0,0,m_ClientRect.cx,m_ClientRect.cy),this,0,WISP_TWS_BUTTOM)==false)\n\t\treturn false;\n\tif(m_SystemExplorer.Create(NULL,CWispRect(0,0,0,0),&m_MainTabWnd,CMD_ID_SYSTEM_EXPLORER,WISP_WS_VIRTUAL)==false)\n\t\treturn false;\n\tif(m_ConsoleWnd.Create(NULL,CWispRect(0,0,0,0),&m_MainTabWnd,CMD_ID_CONSOLE,WISP_WS_NULL)==false)\n\t\treturn false;\n\tdwgErrorCode=905;\n\tm_SourceDebugFrameWnd.Create(NULL,&m_MainTabWnd.m_ClientRect,&m_MainTabWnd,0,WISP_WS_NULL|WISP_SWS_HORZ|WISP_WS_VIRTUAL);\n\tm_ConsoleWnd.Printf(WISP_STR(\"Wisp Syser Console\\n\"));\n\tm_MainTabWnd.InsertWnd(WISP_STR(\"System Explorer Ctrl+1\"),&m_SystemExplorer,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,62));\n\tm_MainTabWnd.InsertWnd(WISP_STR(\"Command Console Ctrl+2\"),&m_ConsoleWnd,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,63));\n\tm_MainTabWnd.InsertWnd(WISP_STR(\"Source Explorer Ctrl+3\"),&m_SourceDebugFrameWnd,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,15*16+6));\n#ifdef CODE_OS_NT_DRV\n\tm_CloseBT.Create(NULL,m_ClientRect.cx-18,2,16,16,NULL,WISP_ID_CLOSE,WISP_BS_NORMAL);\n\tm_CloseBT.SetDIBList(WispDIBList(\"\\\\Skin\\\\Default\\\\Close.bmp\",16,16));\n\tm_CloseBT.SetOwner(this);\n#endif\n\tm_TipStr.Create(NULL,m_ClientRect.cx-MAX_TIP_WIDTH,m_ClientRect.cy-16,MAX_TIP_WIDTH,16,&m_MainTabWnd,0,WISP_WS_NULL);\n#ifdef CODE_OS_NT_DRV\n\tgpSyser->m_SysInfo.UpdateHostSN();\n#endif\n\tHookKeyEvent();\n\tgpSyser->AttachHotKey(EVENT_ID_REG_VIEW,this);\n\tgpSyser->AttachHotKey(EVENT_ID_DATA_VIEW_FORM,this);\n\tgpSyser->AttachHotKey(EVENT_ID_CALL_STACK,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BREAK_POINT,this);\n\tgpSyser->AttachHotKey(EVENT_ID_CONTINUE,this);\n\tgpSyser->AttachHotKey(EVENT_ID_RETURN,this);\n\tgpSyser->AttachHotKey(EVENT_ID_STEP,this);\n\tgpSyser->AttachHotKey(EVENT_ID_PROCEED,this);\n\tgpSyser->AttachHotKey(EVENT_ID_STEP_BRANCH,this);\n\treturn true;\n}\n\nbool CMainFrame::OnClose(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_NT_DRV\n\tgpSyser->Exit();\n\treturn false;\n#else\n\treturn true;\n#endif\n}\n\nbool CMainFrame::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tDetachTitleDIB();\n\treturn true;\n}\n\nbool CMainFrame::OnSize(IN WISP_MSG*pMsg)\n{\n\tint TipSize = m_ClientRect.cx - m_MainTabWnd.m_TabItemWidth;\n\tMAX_LIMIT(TipSize,MAX_TIP_WIDTH);\n\tMIN_LIMIT(TipSize,0);\n\tm_TipStr.MoveToClient(m_ClientRect.cx-TipSize,m_ClientRect.cy-16);\n\tm_TipStr.Resize(TipSize,m_TipStr.m_WindowRect.cy);\n\tm_MainTabWnd.Resize(m_ClientRect.cx,m_ClientRect.cy);\n#ifdef CODE_OS_NT_DRV\n\tm_CloseBT.MoveToClient(m_ClientRect.cx-18,2);\n#endif\n\treturn true;\n}\n\nbool CMainFrame::OnBeginMove(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_NT_DRV\n\tgpSyser->LockUpdate();\n\tgpSyser->m_RootPosBackup = gpSyser->m_RootPos;\n\tgpSyser->m_bMovingFrame = true;\n#endif\n\treturn true;\n}\n\nbool CMainFrame::OnEndMove(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_NT_DRV\n\tgpSyser->RestoreMovingFrame();\n\tWISP_POINT NewPos;\n\tgpSyser->UnlockUpdate();\n\tNewPos = gpSyser->m_RootPos;\n\tgpSyser->m_RootPos = gpSyser->m_RootPosBackup;\n\tgpSyser->RestoreScreen();\n\tgpSyser->m_RootPos = NewPos;\n\tgpSyser->BackupScreen();\n\tUpdate();\n\tgpSyser->UpdateFrameBuffer();\n\tgpSyser->m_bMovingFrame = false;\n#endif\n\treturn true;\n}\n\nvoid CMainFrame::ProcessMoveFrame()\n{\n\tint xDelta,yDelta;\n\txDelta=0;yDelta=0;\n\tif(gpCurWisp->m_KeyMap[WISP_VK_LEFT])\n\t\txDelta-=20;\n\tif(gpCurWisp->m_KeyMap[WISP_VK_RIGHT])\n\t\txDelta+=20;\n\tif(gpCurWisp->m_KeyMap[WISP_VK_UP])\n\t\tyDelta-=20;\n\tif(gpCurWisp->m_KeyMap[WISP_VK_DOWN])\n\t\tyDelta+=20;\n\tgpSyser->MoveFrame(xDelta,yDelta);\n}\n\nbool CMainFrame::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_pModalWnd)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n#ifdef CODE_OS_NT_DRV\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_CONTROL:\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_ALT:\n\t\t\tif(gpSyser->m_bMovingFrame == false)\n\t\t\t\tOnBeginMove(NULL);\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_LEFT:\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_RIGHT:\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_UP:\n\t\tcase WISP_MOD_CTRL|WISP_MOD_ALT|WISP_VK_DOWN:\n\t\t\tif(gpSyser->m_bMovingFrame)\n\t\t\t{\n\t\t\t\tProcessMoveFrame();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n#endif\n\t\tcase WISP_VK_DELETE|WISP_MOD_ALT|WISP_MOD_CTRL:\n\t\t\tRUNCMD(WSTR(\"hboot\"));\n\t\t\treturn false;\n\t\t\tbreak;\n\t\tcase WISP_VK_ESCAPE:\n\t\t\tif(m_pWispBase->m_pFocusWnd && m_pWispBase->m_pFocusWnd->m_CtrlType!=WISP_CTRL_EDIT)\n\t\t\t\tSetDefaultFocus();\n\t\t\tbreak;\n\t\tcase WISP_VK_1|WISP_MOD_CTRL:\n\t\tcase WISP_VK_2|WISP_MOD_CTRL:\n\t\tcase WISP_VK_3|WISP_MOD_CTRL:\n\t\tcase WISP_VK_4|WISP_MOD_CTRL:\n\t\tcase WISP_VK_5|WISP_MOD_CTRL:\n\t\tcase WISP_VK_6|WISP_MOD_CTRL:\n\t\tcase WISP_VK_7|WISP_MOD_CTRL:\n\t\tcase WISP_VK_8|WISP_MOD_CTRL:\n\t\tcase WISP_VK_9|WISP_MOD_CTRL:\n\t\t\tm_MainTabWnd.SetActiveWnd(WISP_VK(pMsg->KeyEvent.KeyType) - WISP_VK_1);\n\t\t\treturn false;\n\t\t\tbreak;\n#ifdef CODE_OS_NT_DRV\n\t\tcase WISP_VK_F4:\n\t\t\tif(gpSyser->m_bScrRestored)\n\t\t\t{\n\t\t\t\tgpSyser->m_pRootWnd->Update();\n\t\t\t\tUPDATE_CODE_VIEW();\n\t\t\t\tUPDATE_DATA_VIEW();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tgpSyser->RestoreScreen();\n\t\t\t}\n\t\t\tbreak;\n#endif\n\t\t}\n\t}\n\telse\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_MOD_ALT|WISP_VK_CONTROL:\n\t\tcase WISP_MOD_CTRL|WISP_VK_ALT:\n#ifdef CODE_OS_NT_DRV\n\t\t\tif(gpSyser->m_bMovingFrame)\n\t\t\t\tOnEndMove(NULL);\n#endif\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventRegView(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventRegView(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventRegView(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventDataViewForm(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventDataViewForm(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventDataViewForm(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventCallStack(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventCallStack(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventCallStack(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventBreakPoint(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventBreakPoint(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventBreakPoint(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventContinue(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventContinue(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventContinue(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventReturn(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventReturn(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventReturn(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventStep(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventStep(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventStep(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventProceed(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventProceed(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tm_SourceDebugFrameWnd.OnEventProceed(pMsg);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnEventStepBranch(IN WISP_MSG*pMsg)\n{\n\tUINT Index = m_MainTabWnd.GetActiveWndIndex();\n\tswitch(Index)\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\tcase CONSOLE_VIEW:\n\t\tm_SystemExplorer.OnEventStepBranch(pMsg);\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nvoid CMainFrame::SetDefaultFocus()\n{\n\tswitch(gpSyser->m_MainFrame.m_MainTabWnd.GetActiveWndIndex())\n\t{\n\tcase SYSTEM_EXPLORER_VIEW:\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd.Focus();\n\t\tbreak;\n\tcase CONSOLE_VIEW:\n\t\tgpSyser->m_MainFrame.m_ConsoleWnd.Focus();\n\t\tbreak;\n\tcase SOURCE_EXPLORER_VIEW:\n\t\t{\n\t\t\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*) gpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MultiSourceCodeView.GetActiveWnd();\n\t\t\tif(pSourceCodeWnd)\n\t\t\t\tpSourceCodeWnd->Focus();\n\t\t\telse\n\t\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.Focus();\n\t\t}\n\t\tbreak;\n\t}\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/MainFrame.h",
    "content": "#ifndef _SYSER_ROOT_WND_H_\n#define _SYSER_ROOT_WND_H_\n\n#include \"ConsoleWnd.h\"\n#include \"SystemExplorer.h\"\n#include \"SourceDebugFrameWnd.h\"\n#include \"CallStackWnd.h\"\n#include \"DataViewForm.h\"\n#include \"PEExplorer.h\"\n#include \"IBMAsciiWnd.h\"\n#include \"KeyMappingPage.h\"\n#include \"HwndWnd.h\"\n#include \"WndStringReference.h\"\n\nclass CMainFrame : public CWispWnd\n{\npublic:\n\tCMainFrame();\n\t~CMainFrame();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnDebugPlunge)\n\tDECLARE_WISP_MSG(OnDebugTerminate)\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnBeginMove)\n\tDECLARE_WISP_MSG(OnEndMove)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventRegView)\n\tDECLARE_WISP_MSG_EVENT(OnEventDataViewForm)\n\tDECLARE_WISP_MSG_EVENT(OnEventCallStack)\n\tDECLARE_WISP_MSG_EVENT(OnEventBreakPoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventContinue)\n\tDECLARE_WISP_MSG_EVENT(OnEventReturn)\n\tDECLARE_WISP_MSG_EVENT(OnEventStep)\n\tDECLARE_WISP_MSG_EVENT(OnEventProceed)\n\tDECLARE_WISP_MSG_EVENT(OnEventStepBranch)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventPluginItem)\npublic:\n\tvoid\tSetDefaultFocus();\n\tCWispButton\t\t\t\tm_CloseBT;\n\tCWispTabWnd\t\t\t\tm_MultiCPURegView;\n\tCGeneRegList*\t\t\tm_pRegWnd;\n\tCDataViewForm\t\t\tm_DataViewForm;\n\tCSystemExplorer\t\t\tm_SystemExplorer;\n\tCConsoleWnd\t\t\t\tm_ConsoleWnd;\n\tCSourceDebugFrameWnd\tm_SourceDebugFrameWnd;\n\tCWispTabWnd\t\t\t\tm_MainTabWnd;\n\tCWispProgressForm\t\tm_ProgressForm;\n\tCDebuggerSelectForm\t\tm_DebuggerSelectForm;\n\tCPluginListForm\t\t\tm_PluginListForm;\n\tCKeyMappingPage\t\t\tm_KeyMapForm;\n\tCWispSoftKeyboard\t\tm_SoftKeyboard;\n\tCBreakPointForm\t\t\tm_BreakPointForm;\n\tCPageMapWnd\t\t\t\tm_PageMapWnd;\n\tCX86RegHelpTabWnd\t\tm_RegHelpWnd;\n\tCWispCalcWnd\t\t\tm_WispCalcWnd;\n\tCObjectDirectoryWnd\t\tm_ObjectWnd;\n\tCDataOperatorDlg\t\tm_DataOperatorDlg;\n\tCCrossReferenceForm\t\tm_CrossReferenceForm;\n\tCCommentList\t\t\tm_CommentList;\n\tCCallStackWnd\t\t\tm_CallStackWnd;\n\tCRunTraceWnd\t\t\tm_RunTraceWnd;\n\tCModuleListWnd\t\t\tm_ModuleList;\n\tCHwndListWnd\t\t\tm_HwndListWnd;\n\tCHwndPropertyForm\t\tm_HwndPropertyForm;\n\tCProcessList\t\t\tm_ProcessList;\n\tCIDTWnd\t\t\t\t\tm_IDTWnd;\n\tCGDTWnd\t\t\t\t\tm_GDTWnd;\n\tCWispStaticStr\t\t\tm_TipStr;\n\tCStringReferenceList\tm_StringReferenceWnd;\n\tCFindListWnd\t\t\tm_FindListWnd;\n\tCPEExplorerForm\t\t\tm_PEExplorerForm;\n\tCIBMAsciiWnd\t\t\tm_IBMAsciiWnd;\n\tCIBMAsciiWnd\t\t\tm_EBEDICWnd;\n\tCIBMAsciiWnd\t\t\tm_ANSIAsciiWnd;\nprivate:\n\tvoid ProcessMoveFrame();\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/MakeFile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/Syser/Source/ModuleListWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"ModuleListWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CModuleListWnd) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CModuleListWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO,OnEventGoto)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PE_EXPLORER,OnEventPEExplorer)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MENU_RES_ITEM ModuleListMenu[]=\n{\n\t{WSTR(\"Goto Module Base \"),EVENT_ID_GOTO,8,WISP_MIS_NORMAL},\n\t{WSTR(\"PE Explorer \"),EVENT_ID_PE_EXPLORER,14,WISP_MIS_NORMAL},\n\tWISP_MENU_RES_END\n};\n\nCModuleListWnd::CModuleListWnd()\n{\n\tm_pDbgModule = NULL;\n\tm_bSelectModule = false;\n}\n\nCModuleListWnd::~CModuleListWnd()\n{\n\n}\n\nvoid CModuleListWnd::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tif(m_bSelectModule)\n\t{\n\t\tm_pDbgModule=(CDbgModule*)GetItemData(hItem);\n\t\tDestroy();\n\t}\n}\n\nbool CModuleListWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,13*16+12));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_Style|=WISP_WLS_EMPTY_SEL_RECT;\n\tm_PopupMenu.CreatePopupMenu(ModuleListMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tInsertColumn(WSTR(\"Name\"),100);\n\tInsertColumn(WSTR(\"Base\"),60);\n\tInsertColumn(WSTR(\"Size\"),68);\n\tInsertColumn(WSTR(\"Symbols\"),50);\n\tInsertColumn(WSTR(\"Path\"),150);\n\tUpdateContext();\n\treturn true;\n}\n\nbool CModuleListWnd::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CModuleListWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CModuleListWnd::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tif(pMsg->KeyEvent.bKeyDown && pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t{\n\t\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(hItem)\n\t\t\tm_PopupMenu.Popup();\n\t}\n\treturn true;\n}\n\nvoid CModuleListWnd::Popup(bool\tbSelectModule)\n{\n\tif(bSelectModule)\n\t{\n\t\tm_bSelectModule = true;\n\t\tCreate(WSTR(\"Modules\"),0,0,500,350,NULL,CMD_ID_MODULE_LIST_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WS_NORMAL);\n\t\tSetOwner(&gpSyser->m_MainFrame.m_SystemExplorer);\n\t\tCenter();\n\t\tShow(WISP_SH_MODAL_BLOCK);\n\t}\n\telse\n\t{\n\t\tif(IsWindow())\n\t\t{\n\t\t\tDestroy();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tCreate(WSTR(\"Modules\"),0,0,500,350,NULL,CMD_ID_MODULE_LIST_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WS_NORMAL);\n\t\t\tSetOwner(&gpSyser->m_MainFrame.m_SystemExplorer);\n\t\t\tCenter();\n\t\t}\n\t}\n}\n\nvoid CModuleListWnd::UpdateContext()\n{\n\tint Count;\n\tHANDLE hItem;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tif(gpSyser->m_pDebugger==NULL)\n\t\treturn;\n\tClearChildItem();\n\tCDbgModuleMap::IT Iter = gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\thItem = InsertItemA(Iter->m_ModuleTitle);\n\t\tuNumToStr(Iter->m_ModuleBase,szBuffer);\n\t\tSetItemText(hItem,1,szBuffer);\n\t\tSetItemNum(hItem,2,Iter->m_ModuleSize,WSTR(\"%08X\"));\n\t\tCount = 0;\n\t\tif(Iter->m_pSymbolModule)\n\t\t\tCount = Iter->m_pSymbolModule->m_SymbolMap.Count();\n\t\tSetItemNum(hItem,3,Count,WSTR(\"%d\"));\n\t\tSetItemTextA(hItem,4,Iter->m_ModuleFullName);\n\t\tSetItemData(hItem,0,(NUM_PTR)&(*Iter));\n\t\tSetItemData(hItem,1,Iter->m_ModuleBase);\n\t\tIter++;\n\t}\n\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t{\n\t\tIter = gpSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\t\twhile(Iter.IsExist())\n\t\t{\n\t\t\thItem = InsertItemA(Iter->m_ModuleTitle);\n\t\t\tuNumToStr(Iter->m_ModuleBase,szBuffer);\n\t\t\tSetItemText(hItem,1,szBuffer);\n\t\t\tuNumToStr(Iter->m_ModuleSize,szBuffer);\n\t\t\tSetItemNum(hItem,2,Iter->m_ModuleSize,WSTR(\"%08X\"));\n\t\t\tCount = 0;\n\t\t\tif(Iter->m_pSymbolModule)\n\t\t\t\tCount = Iter->m_pSymbolModule->m_SymbolMap.Count();\n\t\t\tuNumToStr(Count,szBuffer,10);\n\t\t\tSetItemNum(hItem,3,Count,WSTR(\"%d\"));\n\t\t\tSetItemTextA(hItem,4,Iter->m_ModuleFullName);\n\t\t\tSetItemData(hItem,0,(NUM_PTR)&(*Iter));\n\t\t\tSetItemData(hItem,1,Iter->m_ModuleBase);\n\t\t\tIter++;\n\t\t}\n\t}\n}\nbool CModuleListWnd::OnEventPEExplorer(IN WISP_MSG*pMsg)\n{\n\tULPOS ModuleBase;\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tModuleBase = (ULPOS)GetItemData(hItem,1);\n\tgpSyser->m_MainFrame.m_PEExplorerForm.Popup();\n\tgpSyser->m_MainFrame.m_PEExplorerForm.UpdateContext(ModuleBase);\n\treturn true;\n}\nbool CModuleListWnd::OnEventGoto(IN WISP_MSG*pMsg)\n{\n\tULPOS ModuleBase;\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tModuleBase = (ULPOS)GetItemData(hItem,1);\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(ModuleBase);\n\treturn true;\n}\n\n\n"
  },
  {
    "path": "Project/Syser/Source/ModuleListWnd.h",
    "content": "#ifndef _MODULE_LIST_WND_\n#define _MODULE_LIST_WND_\n\nclass CModuleListWnd : public CWispList\n{\npublic:\n\tCModuleListWnd();\n\t~CModuleListWnd();\n\tvoid\tPopup(bool\tbSelectModule=false);\n\tvoid\tUpdateContext();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventGoto)\n\tDECLARE_WISP_MSG_EVENT(OnEventPEExplorer)\n\t\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\npublic:\t\n\tbool\tm_bSelectModule;\n\tCWispMenu\tm_PopupMenu;\n\tCDbgModule*\tm_pDbgModule;\n};\n\n#endif //_MODULE_LIST_WND_"
  },
  {
    "path": "Project/Syser/Source/Mouse.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"InputDriver.h\"\n#include \"Syser.h\"\n#include \"Mouse.h\"\n#include \"Keyboard.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nULONGLONG gPrevMouseTickCount;\nULONGLONG gCurrMouseTickCount;\nULONGLONG gPrevLButtonDownTickCount;\nULONGLONG gPrevRButtonDownTickCount;\nULONGLONG gPrevMButtonDownTickCount;\nULONGLONG gMaxDblClkInterval=400;\nbool gLButtonDblClkSecond=false;\nbool gRButtonDblClkSecond=false;\nbool gMButtonDblClkSecond=false;\nbool bIsMouseData = false;\nBYTE MouseBeginBuffer[0x24];\nDWORD dwMouseBeginBufferIndex = 0;\nMouseDataPackage MouseBuffer[0x100];\nMouseDataPackage CurrentMouseData;\t\t\t\t\t\t//ǰƶ\nMouseDataPackage PrevMouseData;\t\t\t\t\t\t\t//һƶ\nMouseDataPackage *pMouseDataPackage = MouseBuffer;\nDWORD dwMouseBufferIndex = 0;\t\t\t\t\t\t\t//껺ƶݰΪλ\nDWORD dwMousePrePackageSize = 0;\t\t\t\t\t\t//ƶݰֽ  3   4\nDWORD dwMousePackageBeginOffset = 0;\t\t\t\t\t//Windows ݰҶ̵ƫƣǷ 0 \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t//ƳҪģ WindowsĻһΡ\n\nextern ULONGLONG gTSCTickCount;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid TranslateUSBMouse(char*pData,char*pBtStatus)\n{\n\tchar cFirstData,cXOffset,cYOffset,cZOffset;\n\tULONGLONG TmpTickCount,Interval;\n\tbool bButtonState,bDoubleClick;\n\tTmpTickCount=SyserGetTSC();\n\tcFirstData=pData[0];\n\tcXOffset=pData[1];\n\tcYOffset=pData[2];\n\tcZOffset=pData[3];\n\tif(cYOffset != 0 || cXOffset != 0)\n\t\tgpSyser->OnMouseMove(cXOffset,cYOffset);\n\tif(cZOffset)\n\t\tgpSyser->OnMouseWheel(cZOffset);\n\tif((*pBtStatus & MOUSE_INTERRUPT_LEFT_PRESS) != (cFirstData & MOUSE_INTERRUPT_LEFT_PRESS))\n\t{\n\t\tbDoubleClick=false;\n\t\tbButtonState = cFirstData & MOUSE_INTERRUPT_LEFT_PRESS;\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gLButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(cYOffset==0&&cYOffset==0)\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevLButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_LBUTTON);\n\t\t\t\t\t\tgLButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t{\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,cFirstData & MOUSE_INTERRUPT_LEFT_PRESS);\n\t\t}\n\t}\n\tif((*pBtStatus & MOUSE_INTERRUPT_RIGHT_PRESS) != (cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS))\n\t{\n\t\tbDoubleClick=false;\n\t\tbButtonState = (cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0;\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gRButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(cYOffset==0&&cYOffset==0)\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevRButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_RBUTTON);\n\t\t\t\t\t\tgRButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0);\n\t}\n\tif((*pBtStatus & MOUSE_INTERRUPT_MIDDLE_PRESS) != (cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS))\n\t{\n\t\tbDoubleClick=false;\n\t\tbButtonState = (cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS)!=0;\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gMButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(cYOffset==0&&cYOffset==0)\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevMButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_MBUTTON);\n\t\t\t\t\t\tgMButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_MBUTTON,(cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS)!=0);\n\t}\n\t*pBtStatus = *pData;\t\n}"
  },
  {
    "path": "Project/Syser/Source/Mouse.h",
    "content": "#ifndef _MOUSE_H_\n#define _MOUSE_H_\ntypedef union PS2MousePackage{//PS2ݵĸʽ\n\tstruct {\n\t\tCHAR cFirstData;\n\t\tCHAR cXOffset;\n\t\tCHAR cYOffset;\n\t}D2;\n\tstruct {\n\t\tCHAR cFirstData;\n\t\tCHAR cXOffset;\n\t\tCHAR cYOffset;\n\t\tCHAR cZOffset;\n\t}D3;\n\tstruct{\n\t\tunion\n\t\t{\n\t\t\tBYTE Left:1;\n\t\t\tBYTE Right:1;\n\t\t\tBYTE Gesture:1;\n\t\t\tBYTE ReservedBit0:1;\n\t\t\tBYTE Reserved:1;\n\t\t\tBYTE Finger:1;\n\t\t\tBYTE ReservedBit1:2;\n\t\t\tBYTE Byte0;\n\t\t};\n\t\tunion \n\t\t{\n\t\t\tBYTE XMiddle4:4;\n\t\t\tBYTE YMiddle4:4;\n\t\t\tBYTE Byte1;\n\t\t};\n\t\tunion{\n\t\t\tBYTE ZPressure;\n\t\t\tBYTE Byte2;\n\t\t};\n\n\t\tunion{\n\t\t\tBYTE Left1:1;\n\t\t\tBYTE Right1:1;\n\t\t\tBYTE Gesture1:1;\n\t\t\tBYTE Reserved:1;\n\t\t\tBYTE XHighBit:1;\n\t\t\tBYTE YHighBit:1;\n\t\t\tBYTE ReservedBit3:2;\n\t\t\tBYTE Byte3;\n\t\t};\n\t\tunion{\n\t\t\tBYTE XLowBit;\n\t\t\tBYTE Byte4;\n\t\t};\n\t\tunion\n\t\t{\n\t\t\tBYTE YLowBit;\n\t\t\tBYTE Byte5;\n\t\t};\n\t}D6;\n\tstruct{\n\t\tunion{\n\t\t\tBYTE Left:1;\n\t\t\tBYTE Right:1;\n\t\t\tBYTE W1Bit:1;\n\t\t\tBYTE ReservedBit0:1;\n\t\t\tBYTE W23Bit:2;\n\t\t\tBYTE ReservedBit1:2;\n\t\t\tBYTE Byte0;\n\t\t};\n\t\tunion \n\t\t{\n\t\t\tBYTE XMiddle4:4;\n\t\t\tBYTE YMiddle4:4;\n\t\t\tBYTE Byte1;\n\t\t};\n\t\tunion{\n\t\t\tBYTE ZPressure;\n\t\t\tBYTE Byte2;\n\t\t};\n\t\t\n\t\tunion{\n\t\t\tBYTE LU:1;\n\t\t\tBYTE RD:1;\n\t\t\tBYTE W0Bit:1;\n\t\t\tBYTE ReservedBit2:1;\n\t\t\tBYTE XHighBit:1;\n\t\t\tBYTE YHighBit:1;\n\t\t\tBYTE ReservedBit3:2;\n\t\t\tBYTE Byte3;\n\t\t};\n\t\tunion{\n\t\t\tBYTE XLowBit;\n\t\t\tBYTE Byte4;\n\t\t};\n\t\tunion\n\t\t{\n\t\t\tBYTE YLowBit;\n\t\t\tBYTE Byte5;\n\t\t};\n\t\t\n\t}WModeD6;\n\tDWORD dwData;\n\tBYTE chArray[4];\n}MouseDataPackage;//PS2ݵĸʽ\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern MouseDataPackage CurrentMouseData;  //ǰƶ\nextern MouseDataPackage PrevMouseData;\t\t//һƶ\nextern MouseDataPackage MouseBuffer[];\nextern BYTE MouseBeginBuffer[];\nextern DWORD dwMouseBufferIndex;\nextern MouseDataPackage *pMouseDataPackage;\nextern DWORD dwMousePrePackageSize;\t\t\t\t//ƶݰֽ  3   4\nextern DWORD dwMousePackageBeginOffset;\t\t\t//Windows ݰҶ̵ƫƣǷ 0 \n\t\t\t\t\t\t\t\t\t\t\t\t//˳Ҫģ WindowsĻһΡ\nextern DWORD dwMouseBeginBufferIndex;\nextern ULONGLONG gPrevMouseTickCount;\nextern ULONGLONG gCurrMouseTickCount;\nextern ULONGLONG gPrevLButtonDownTickCount;\nextern ULONGLONG gPrevRButtonDownTickCount;\nextern ULONGLONG gPrevMButtonDownTickCount;\nextern bool gLButtonDblClkSecond;\nextern bool gRButtonDblClkSecond;\nextern bool gMButtonDblClkSecond;\nextern ULONGLONG gMaxDblClkInterval;\nextern ULONGLONG gTSCTickCount;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid TranslateUSBMouse(char*pData,char*pBtStatus);\n\n#endif //_MOUSE_H_"
  },
  {
    "path": "Project/Syser/Source/MultiCPU.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"MultiCPU.h\"\n#include \"X86Optr.h\"\n#include \"LocalAPIC.h\"\n#include \"IOAPIC.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nDWORD gSystemFSRegisterSelector=0x30;\nDWORD gSystemSSRegisterSelector=0x10;\nDWORD gSystemCSRegisterSelector=0X8;\nDWORD gCPUNumbers = 1;\nPKPCR gDefaultPCR=(PKPCR)0xffdff000;\nPKPCR*gPCRArray=&gDefaultPCR;\nBYTE  gCPULocalAPIC_ID[256];\nDWORD gdwMulitCpuSpinlock=0;\nDWORD gdwCurrentCPUIndex=0xffffffff;   //\nDWORD gdwMulitCpuSendIPIFlags=0;\nDWORD gSystemDSRegisterSelector=0x23;\nPKDPC gpMultiCpuDPC=NULL;\nPCPUSTRUCT gpCPUStruct=NULL;\nDWORD gdwExitNmiLock=0;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\ntypedef int (*PFN_KeSetAffinityThread)(PKTHREAD,int);\n\nULONG GetCPUCount()\n{\n\ttypedef ULONG (*PFN_KeQueryActiveProcessorCount)(OUT PKAFFINITY  ActiveProcessors);\n\tULONG CPUCount;\n\tUNICODE_STRING UnicodeName;\n\tKAFFINITY  ActiveProcessor;\n\tPCCHAR pKeNumberProcessors;\n\tPFN_KeQueryActiveProcessorCount pfnKeQueryActiveProcessorCount;\n\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"KeQueryActiveProcessorCount\"));\n\tpfnKeQueryActiveProcessorCount=(PFN_KeQueryActiveProcessorCount)MmGetSystemRoutineAddress(&UnicodeName);\n\tif(pfnKeQueryActiveProcessorCount)\n\t{\n\t\tCPUCount = pfnKeQueryActiveProcessorCount(&ActiveProcessor);\n\t}\n\telse\n\t{\n\t\tRtlInitUnicodeString(&UnicodeName,WSTR(\"KeNumberProcessors\"));\n\t\tpKeNumberProcessors=(PCCHAR)MmGetSystemRoutineAddress(&UnicodeName);\n\t\tif(pKeNumberProcessors==NULL)\n\t\t{\n\t\t\treturn 1;\n\t\t}\n\t\tCPUCount = (ULONG)*pKeNumberProcessors;\n\t}\n\treturn CPUCount;\n}\n\nbool InitMultiCPUInformation()\n{\n\tPKTHREAD pThread;\n\tULONG CpuID,i;\n\tULONG IdtBase;\n\tDWORD* dwPCRAddr=NULL;\n\tULONG TargetProcessor;\n\tULONG TargetProcessor2;\n\tUNICODE_STRING UnicodeName;\n\tPFN_KeSetAffinityThread pfnKeSetAffinityThread;\n\tmemset(gCPULocalAPIC_ID,0xff,sizeof(gCPULocalAPIC_ID));\n\tgCPUNumbers = GetCPUCount();\n\tDbgPrint(\"Syser : CPU Numbers = %d\\n\",gCPUNumbers);\n\n\tif(gCPUNumbers==1)\n\t\treturn true;\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"KeSetAffinityThread\"));\n\tpfnKeSetAffinityThread=(PFN_KeSetAffinityThread)MmGetSystemRoutineAddress(&UnicodeName);\n\tif(pfnKeSetAffinityThread==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : Fail to find KeSetAffinityThread\\n\");\n\t\treturn false;\n\t}\n\tdwPCRAddr = new DWORD[gCPUNumbers+1];\n\tif(dwPCRAddr==NULL)\n\t\treturn false;\n\tmemset(dwPCRAddr,0,(gCPUNumbers+1)*sizeof(DWORD));\n\tgPCRArray = (PKPCR*)dwPCRAddr;\n\tgpMCPUReg = new X86_REG_CONTEXT[gCPUNumbers];\n\tif(gpMCPUReg==NULL)\n\t{\n\t\tif(dwPCRAddr)\n\t\t{\n\t\t\tdelete dwPCRAddr;\n\t\t\tdwPCRAddr=NULL;\n\t\t}\n\t\treturn false;\n\t}\n\tExceptionReg=new X86_REG_CONTEXT[gCPUNumbers];\n\tif(ExceptionReg==NULL)\n\t{\n\t\tif(dwPCRAddr)\n\t\t{\n\t\t\tdelete dwPCRAddr;\n\t\t\tdwPCRAddr=NULL;\n\t\t}\n\t\tif(gpMCPUReg)\n\t\t{\n\t\t\tdelete gpMCPUReg;\n\t\t\tgpMCPUReg=NULL;\n\t\t}\n\t\treturn false;\n\t}\n\tgpMCPULocalApic = new SAVELOCALAPIC[gCPUNumbers];\n\tif(gpMCPULocalApic==NULL)\n\t{\n\t\tif(dwPCRAddr)\n\t\t\tdelete dwPCRAddr;\n\t\tif(gpMCPUReg)\n\t\t{\n\t\t\tdelete gpMCPUReg;\n\t\t\tgpMCPUReg=NULL;\n\t\t}\n\t\treturn false;\n\t}\n\t\n\tTargetProcessor = KeGetCurrentProcessorNumber();//ȡõǰCPU ID ˳ʱҪָ\n\tpThread = KeGetCurrentThread();\n\tCpuID=1;\n\tfor(i=0;i<gCPUNumbers;i++,CpuID<<=1)\n\t{\n\t\tpfnKeSetAffinityThread(pThread,CpuID);\n\t\tdwPCRAddr[i]=GetSegmentBaseAddress(0x30);\n\t}\n\tCpuID=1<<TargetProcessor;\n\tpfnKeSetAffinityThread(pThread,CpuID);\t\n\treturn\ttrue;\n}\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern DWORD gLoopCpuNumber;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n// __declspec(naked) void  StartOtherCPUs()\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp cs:gCPUNumbers,1 \n// \t\tjbe local_quit111\n// \t\tpush eax \n// \t\tpush ds \n// \t\tmov eax,cs:gSystemSSRegisterSelector \n// \t\tmov ds,ax\n// \t\tcmp dword ptr gLoopCpuNumber,0    //gLoopCpuNumber жǷнѭ cpu \n// \t\tjz local_00222\n// \n// \t\tlock inc gdwExitNmiLock\n// \t\tmov gdwMulitCpuSpinlock,0 \n// \t\tmov gdwCurrentCPUIndex,0xffffffff\n// local_011:\n// \t\tcmp gdwExitNmiLock,0  //ȴCPUȫ˳ж2\n// \t\tjnz local_011\n// local_00222:\n// \t\tpop ds \n// \t\tpop eax\n// local_quit111:\n// \t\tpopfd\n// \t\tret\n// \t}\n// }\n\n// void __declspec(naked) StopOtherCPUs()\n// {\n// \tDWORD TmpCurrentCPUIndex;\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp cs:gCPUNumbers,1\n// \t\tjnz local_001\n// \t\tpopfd\n// \t\tret\n// local_001:\n// \t\tpushad\n// \t\tpush ds\n// \t\tmov eax, cs:gSystemSSRegisterSelector\n// \t\tmov ds,ax\n// \t\tmov ebp,esp\n// \t\tsub esp,4\n// \t}\n// \tTmpCurrentCPUIndex = GetCurrentCPULocalAPICID();\n// \t__asm\n// \t{\n// \t\tmov eax,TmpCurrentCPUIndex\n// local_020:\n// \t\tlock bts gdwMulitCpuSpinlock,0x1f  //ͬʱжCPUִָֻһCPUܻø\n// \t\tjnb local_003\n// \t\tmov ecx,100\n// local_002:\n// \t\tloop local_002\n// \t\tmov eax,TmpCurrentCPUIndex\n// \t\tcmp eax,gdwCurrentCPUIndex\n// \t\tjnz local_006\n// \t\tinc gdwMulitCpuSpinlock        //ǰCPUѾֹͣCPU ֻļֱ˳\n// \t\tjmp local_quit\n// local_006:\n// \t\tpush 10\n// \t\tpush 10\n// \t\tcall Beep\n// \t\tcmp gdwMulitCpuSpinlock,0      //CPU ȴCPUͷŵ   \n// \t\tjnz local_006\n// \t\tjmp local_020\n// local_003:\n// \t\tmov gdwCurrentCPUIndex,eax\n// \t\tinc gdwMulitCpuSpinlock\t\t\n// \t\tmov eax, gdwLocalAPICLineAddress\n// local_009:\n// \t\ttest DWORD PTR [eax+0x300],0x1000         //Delivery Mode  жʱ Send Pending\n// \t\tjnz local_009\n// \t\tmov ebx,0xc44ff                           //NMI ģʽ EDGE  ߵƽ  All Excluding Self\n// \t\tmov gdwMulitCpuSendIPIFlags,1\n// \t\tmov [eax+0x300],ebx\n// local_011:\n// \t\ttest DWORD PTR [eax+0x300],0x1000         //ȴжϱ\n// \t\tjnz local_011\n// local_12:\n// \t\tcmp gdwMulitCpuSendIPIFlags,0\t\t\t//ȴCPUѭ\n// \t\tjnz local_12\t\t\n// local_quit:\n// \t\tadd esp,4\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tret\n// \t}\n// }\n\nDWORD GetCurrentCPULocalAPICID()\n{\n\tDWORD LocalApicID,i;\n\tPKPCR FSBaseAddress;\n\tif(gCPUNumbers==1)\n\t\treturn 0;\n\tLocalApicID = GetLocalAPICID();\n\tif(gCPULocalAPIC_ID[LocalApicID]<=0xf)\n\t\treturn gCPULocalAPIC_ID[LocalApicID];\n\tFSBaseAddress =(PKPCR) GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector);\n\tfor(i=0;i<gCPUNumbers;i++)\n\t{\n\t\tif(gPCRArray[i]==FSBaseAddress)\n\t\t{\n\t\t\tgCPULocalAPIC_ID[LocalApicID]=(BYTE)i;\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn 0;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/MultiCPU.h",
    "content": "#ifndef _MULITCPU_H_\n#define _MULITCPU_H_\n\n#ifdef CODE_OS_NT_DRV\nextern PKPCR gDefaultPCR;\nextern PKPCR* gPCRArray;\n#endif\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern ULONG gCPUNumbers;\nextern ULONG gdwCurrentCPUIndex;\nextern BYTE gCPULocalAPIC_ID[256];\nextern DWORD gdwMulitCpuSpinlock;\nextern DWORD gdwMulitCpuSendIPIFlags;\nextern DWORD gSystemFSRegisterSelector;\nextern DWORD gSystemSSRegisterSelector;\nextern DWORD gSystemCSRegisterSelector;\nextern DWORD gSystemDSRegisterSelector;\n\nVOID SyserStartOtherCPUs(VOID);\nVOID SyserStopOtherCPUs(VOID);\nbool InitMultiCPUInformation();\nDWORD GetCurrentCPULocalAPICID();\n\ntypedef struct _CPUSTRUCT\n{\n\tDWORD LocalAPICID;\n\tPDECSRIPTOR GDT;\n\tPDECSRIPTOR IDT;\n}CPUSTRUCT,*PCPUSTRUCT;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n#endif //_MULITCPU_H_"
  },
  {
    "path": "Project/Syser/Source/MultiCodeView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"MultiCodeView.h\"\n\nWISP_MSG_MAP_BEGIN(CMultiCodeView)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispMultiTabView)\n\nbool CMultiCodeView::OnCreate(IN WISP_MSG*pMsg)\n{\n\tInsertView(NULL);\n\tSetOwner(this);\n\treturn true;\n}\n\nvoid CMultiCodeView::OnTabChanged(CWispWnd*pWnd)\n{\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_pCurCodeView = (CCodeView*) pWnd;\n\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateItemState();\n}\n\nvoid CMultiCodeView::SetActiveAddress(ULPOS Address,bool bRecordAddr)\n{\n\tCCodeView*pActiveView=(CCodeView*)GetActiveWnd();\n\tif(pActiveView)\n\t\tpActiveView->SetStartAddress(Address,bRecordAddr);\n}\n\nULPOS CMultiCodeView::GetActiveAddress()\n{\n\tCCodeView*pActiveView=(CCodeView*)GetActiveWnd();\n\tif(pActiveView)\n\t\treturn pActiveView->m_CurAddr;\n\telse\n\t\treturn 0;\n}\n\nCCodeView* CMultiCodeView::InsertView(CCodeView*pSrcWnd)\n{\n\tif(m_WndList.Count()>=9)\n\t\treturn NULL;\n\tCCodeView*pCodeView;\n\tpCodeView = new CCodeView;\n\tpCodeView->Create(NULL,0,0,0,0,this,CMD_ID_CODE_VIEW_START+m_WndList.Count(),WISP_WLS_EMPTY_SEL_RECT|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS);\n\tpCodeView->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tpCodeView->m_pCodeDoc =&gpSyser->m_SyserUI.m_CodeDoc;\n\tInsertWnd(WISP_STR(\"????????\"),pCodeView,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,126));\n\tSetActiveWnd(m_WndList.Count()-1);\n\tif(pSrcWnd)\n\t\tpCodeView->SetStartAddress(pSrcWnd->m_CurAddr);\n\treturn pCodeView;\n}\n\nvoid CMultiCodeView::RemoveView(CCodeView*pRemoveWnd)\n{\n\tif(m_WndList.Count()<2)\n\t\treturn;\n\tRemoveWnd(pRemoveWnd);\n}\n\nvoid CMultiCodeView::UpdateAllView()\n{\n\tCCodeView*pCodeView;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tpCodeView = (CCodeView*)WndIt->pWnd;\n\t\tpCodeView->UpdateView();\n\t\tWndIt++;\n\t}\n}\n\nvoid CMultiCodeView::ResetContext()\n{\n\tRemoveAllWnd();\n\tInsertView(NULL);\n}\n\nbool CMultiCodeView::IsBookMark(ULPOS Address)\n{\n\tTSet<ULPOS>::IT Iter = m_BookMark.Find(Address);\n\treturn Iter!=m_BookMark.End();\n}\n\nvoid CMultiCodeView::ToggleBookMark(ULPOS Address)\n{\n\tTSet<ULPOS>::IT Iter;\n\tIter = m_BookMark.Find(Address);\n\tif(Iter==m_BookMark.End())\n\t\tm_BookMark.InsertUnique(Address);\n\telse\n\t\tm_BookMark.Remove(Iter);\n\tUpdateAllView();\n}\n\nvoid CMultiCodeView::ToggleBookMark()\n{\n\tCCodeView*pCodeView=(CCodeView*)GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn;\n\tHANDLE hItem = pCodeView->GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn;\n\tToggleBookMark((ULPOS)pCodeView->GetItemData(hItem,1));\n\tSYSTEM_EXPLORER.UpdateItemState();\n}\n\nvoid CMultiCodeView::GotoNextBookMark()\n{\n\tCCodeView*pActiveView=(CCodeView*)GetActiveWnd();\n\tif(pActiveView==NULL)\n\t\treturn;\n\tTSet<ULPOS>::IT Iter=m_BookMark.FindAlmost(pActiveView->m_CurAddr);\n\tif(Iter.IsExist())\n\t\tIter++;\n\tif(Iter.IsExist()==false)\n\t\tIter = m_BookMark.Begin();\n\tif(Iter.IsExist())\n\t\tVIEW_CODE(*Iter);\n}\n\nvoid CMultiCodeView::GotoPrevBookMark()\n{\n\tCCodeView*pActiveView=(CCodeView*)GetActiveWnd();\n\tif(pActiveView==NULL)\n\t\treturn;\n\tTSet<ULPOS>::IT Iter=m_BookMark.FindAlmost(pActiveView->m_CurAddr);\n\tif(Iter.IsExist() && pActiveView->m_CurAddr == *Iter)\n\t\tIter--;\n\tif(Iter.IsExist()==false)\n\t\tIter = m_BookMark.Last();\n\tif(Iter.IsExist())\n\t\tVIEW_CODE(*Iter);\n}\n\nvoid CMultiCodeView::ClearAllBookMark()\n{\n\tm_BookMark.Clear();\n\tUpdateAllView();\n\tSYSTEM_EXPLORER.UpdateItemState();\n}\n"
  },
  {
    "path": "Project/Syser/Source/MultiCodeView.h",
    "content": "#ifndef _MULTI_CODE_VIEW_H_\n#define _MULTI_CODE_VIEW_H_\n\n#include \"CodeView.h\"\n\n#define CODE_VIEW_COUNT\t\t4\n\n\nclass CMultiCodeView : public CWispMultiTabView\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tvoid\tOnTabChanged(CWispWnd*pWnd);\n\tvoid\tSetActiveAddress(ULPOS Address,bool bRecordAddr=true);\n\tULPOS\tGetActiveAddress();\n\tvoid\tToggleBookMark(ULPOS Address);\n\tvoid\tToggleBookMark();\n\tvoid\tGotoNextBookMark();\n\tvoid\tGotoPrevBookMark();\n\tvoid\tClearAllBookMark();\n\tbool\tIsBookMark(ULPOS Address);\n\tCCodeView*\tInsertView(CCodeView*pSrcWnd = NULL);\n\tvoid\tRemoveView(CCodeView*pRemoveWnd);\n\tvoid\tUpdateAllView();\n\tvoid\tResetContext();\n\tTSet<ULPOS> m_BookMark;\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Syser/Source/MultiDataView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CMultiDataView)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispMultiTabView)\n\nWISP_MSG_EVENT_MAP_BEGIN(CMultiDataView)\n\tWISP_MSG_EVENT_MAP(WISP_MULTI_TAB_CMD_EXPAND_VIEW,OnEventExpandView)\n\tWISP_MSG_EVENT_MAP(WISP_MULTI_TAB_CMD_NEW_VIEW,OnEventNewView)\nWISP_MSG_EVENT_MAP_END\n\nbool CMultiDataView::OnEventExpandView(IN WISP_MSG*pMsg)\n{\n\tif(m_WindowRect.cy>((CWispSplitWnd*)m_ParentWnd)->m_WindowRect.cy-20)\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.AdjustSplitViewSize();\n\telse\n\t\t((CWispSplitWnd*)m_ParentWnd)->ExpandWnd(0);\n\treturn true;\n}\n\nbool CMultiDataView::OnEventNewView(IN WISP_MSG*pMsg)\n{\n\tCDataView*pActiveView;\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tpActiveView=(CDataView*)GetActiveWnd();\n\t\tInsertView(pActiveView);\n\t}\n\treturn true;\n}\n\nbool CMultiDataView::OnCreate(IN WISP_MSG*pMsg)\n{\n\tInsertView(NULL);\n\treturn true;\n}\n\nvoid CMultiDataView::SetActiveDataWidth(int Width)\n{\n\tCDataView*pActiveView=(CDataView*)GetActiveWnd();\n\tif(pActiveView)\n\t\tpActiveView->SetDataWidth(Width);\n}\n\nint CMultiDataView::GetActiveDataWidth()\n{\n\tCDataView*pActiveView=(CDataView*)GetActiveWnd();\n\tif(pActiveView)\n\t\treturn pActiveView->GetDataWidth();\n\treturn 1; //ĬϵĿ byte\n}\n\nvoid CMultiDataView::SetActiveAddress(DWORD Address,WCHAR* pCmdString)\n{\n\tCDataView*pActiveView=(CDataView*)GetActiveWnd();\n\tif(pActiveView)\n\t{\n\t\tpActiveView->ViewAddress(Address);\n\t\tif(pCmdString!=NULL)\n\t\t\tpActiveView->SetFloatCmdString(pCmdString);\n\t}\n}\n\nDWORD CMultiDataView::GetActiveAddress()\n{\n\tCDataView*pActiveView=(CDataView*)GetActiveWnd();\n\tif(pActiveView)\n\t\treturn (DWORD)pActiveView->m_CurAddr;\n\telse\n\t\treturn 0;\n}\n\nCDataView* CMultiDataView::InsertView(CDataView*pSrcWnd)\n{\n\tif(m_WndList.Count()>=9)\n\t\treturn NULL;\n\tCDataView*pNewView = new CDataView;\n\tpNewView->Create(NULL,CWispRect(0,0,0,0),this,CMD_ID_DATA_VIEW_START+m_WndList.Count(),WISP_WS_NULL);\n\tpNewView->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tInsertWnd(WISP_STR(\"????????\"),pNewView,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,127));\n\tSetActiveWnd(m_WndList.Count()-1);\n\tSetActiveAddress(pSrcWnd?(DWORD)pSrcWnd->m_CurAddr:0);\n\tif(pSrcWnd)\n\t\tpNewView->m_ShowLength = pSrcWnd->m_ShowLength;\n\treturn pNewView;\n}\n\nvoid CMultiDataView::RemoveView(CDataView*pRemoveWnd)\n{\n\tif(m_WndList.Count()<2)\n\t\treturn;\n\tRemoveWnd(pRemoveWnd);\n}\n\nvoid CMultiDataView::UpdateAllView()\n{\n\tCDataView*pDataView;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tpDataView = (CDataView*)WndIt->pWnd;\n\t\tpDataView->Update();\n\t\tWndIt++;\n\t}\n}\n\nvoid CMultiDataView::SaveContextAllView()\n{\n\tCDataView*pDataView;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tpDataView = (CDataView*)WndIt->pWnd;\n\t\tpDataView->SaveContext();\n\t\tWndIt++;\n\t}\n}\n\nvoid CMultiDataView::ResetContext()\n{\n\tRemoveAllWnd();\n\tInsertView(NULL);\n}\n\n\n"
  },
  {
    "path": "Project/Syser/Source/MultiDataView.h",
    "content": "#ifndef _MULTI_DATA_VIEW_H_\n#define _MULTI_DATA_VIEW_H_\n\n#include \"DataView.h\"\n\nclass CMultiDataView : public CWispMultiTabView\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventExpandView);\n\tDECLARE_WISP_MSG_EVENT(OnEventNewView)\n\tvoid\tSetActiveAddress(DWORD Address,WCHAR* pCmdString=NULL);\n\tvoid\tSetActiveDataWidth(int Width);\n\tint\t\tGetActiveDataWidth();\n\tDWORD\tGetActiveAddress();\n\tCDataView*\tInsertView(CDataView*pSrcWnd = NULL);\n\tvoid\tRemoveView(CDataView*pRemoveWnd);\n\tvoid\tUpdateAllView();\n\tvoid\tResetContext();\n\tvoid\tSaveContextAllView();//洢ݴʾĵǰݣʾ ı\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/MultiSourceCodeView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"MultiSourceCodeView.h\"\n\nWISP_MSG_MAP_BEGIN(CMultiSourceCodeView)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispMultiTabView)\n\nWISP_MSG_EVENT_MAP_BEGIN(CMultiSourceCodeView)\nWISP_MSG_EVENT_MAP_END\n\nbool CMultiSourceCodeView::OnCommand(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->Command.CmdID>=WISP_WM_USER_START+0x1000)\n\t{\n\t\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_SELECTED)\n\t\t{\n#if 0  //֪ʲôܣע͵\n\t\t\tCMDSELECTSOURCECODELINE SelectLine;\n\t\t\tCSourceFrameWnd* pSourceFrameWnd=(CSourceFrameWnd*) GetChildWnd(pMsg->Command.CmdID);\n\t\t\tCSourceCodeWnd* pSourceCodeWnd =&pSourceFrameWnd->m_RightWnd;\n\t\t\tSelectLine.LineNum = (DWORD)pSourceCodeWnd->GetItemData(pMsg->Command.Param2,0);\n\t\t\tSelectLine.SourceFileId = pSourceFrameWnd->m_RightWnd.GetSourceFileID() ;\n\t\t\tCSDSModule*pSDSModule=pSourceFrameWnd->m_RightWnd.m_pSDSModule;\n\t\t\tPSDSOURCEFILEID pSourceFileID;\n\t\t\tDWORD Count;\n\t\t\tchar buf[200];\n\t\t\tpSourceFileID = pSDSModule->GetSourceFileByID(SelectLine.SourceFileId);\n\t\t\tif(pSourceFileID==NULL)\n\t\t\t\treturn false;\n\t\t\tSDLINELIST LineList;\n\t\t\tCount = pSDSModule->GetLineBySourceFileID(SelectLine.SourceFileId,SelectLine.LineNum,&LineList);\n\t\t\tif(Count==0)\n\t\t\t{\n\t\t\t\tPSDLINE pLine = pSDSModule->GetContiguityLineBySourceFileID(SelectLine.SourceFileId,SelectLine.LineNum);\n\t\t\t\tif(pLine)\n\t\t\t\t\tLineList.Append(pLine);\n\t\t\t}\n\t\t\tif(LineList.Count())\n\t\t\t{\n\t\t\t\tSDLINELIST::IT BeginIT,EndIT;\n\t\t\t\tBeginIT=LineList.Begin();\n\t\t\t\tEndIT=LineList.End();\n\t\t\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(buf,\"%08x %s \\n\",(*BeginIT)->Rav,pSDSModule->GetFuncNameByRva((*BeginIT)->Rav));\n\t\t\t\t}\n\t\t\t}\n#endif\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CMultiSourceCodeView::OnCloseTabWnd(CWispWnd*pWnd)\n{\n\tSOURCE_CODE_WND_ID WndID;\n\tCSourceCodeWnd*pSourceFrameWnd=(CSourceCodeWnd*)pWnd;\n\tWndID.FileID = pSourceFrameWnd->m_CurrentFileID;\n\tWndID.pSDSModule = pSourceFrameWnd->m_pSDSModule;\n\tTSet<SOURCE_CODE_WND_ID>::IT Iter = m_OpenedSourceCodeWnd.Find(WndID);\n\tif(Iter!=m_OpenedSourceCodeWnd.End())\n\t\tm_OpenedSourceCodeWnd.Remove(WndID);\n\tHANDLE hItem = gpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem&&gpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.GetItemLevel(hItem)==1)\n\t{\n\t\tif(Iter->pSDSModule == (CSDSModule*)gpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.GetItemData(hItem))\n\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.UnselectItem(hItem);\n\t}\n\treturn true;\n}\n\nvoid CMultiSourceCodeView::OnClosedTabWnd()\n{\n\tif(m_WndList.Count()==0)\n\t{\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\t}\n}\n\nvoid CMultiSourceCodeView::OnTabChanged(CWispWnd*pWnd)\n{\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n}\n\nbool CMultiSourceCodeView::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetBGColor(ColorOption.clrBackground);\n\treturn true;\n}\n\nvoid CMultiSourceCodeView::UpdateAllView()\n{\n\tCSourceCodeWnd*pSourceCodeWnd; \n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tpSourceCodeWnd = (CSourceCodeWnd*)WndIt->pWnd;\n\t\tpSourceCodeWnd->LoadModuleImage();\n\t\tpSourceCodeWnd->UpdateView();\n\t\tWndIt++;\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/MultiSourceCodeView.h",
    "content": "#ifndef _MULTISOURCECODEVIEW_H_\n#define _MULTISOURCECODEVIEW_H_\n\n#include \"SourceCodeWnd.h\"\n\ntypedef struct stCmdSelectSourceCodeLine\n{\n\tDWORD SourceFileId;\n\tDWORD LineNum;\n}CMDSELECTSOURCECODELINE,*PCMDSELECTSOURCECODELINE;\n\n\nstruct SOURCE_CODE_WND_ID\n{\n\tDWORD FileID;\n\tCSDSModule*pSDSModule;\n\tCSourceCodeWnd*pSourceCodeWnd;\n\tbool operator==(const SOURCE_CODE_WND_ID&WndID)const\n\t{\n\t\treturn WndID.FileID == FileID && WndID.pSDSModule == pSDSModule;\n\t}\n\tbool operator<(const SOURCE_CODE_WND_ID&WndID)const\n\t{\n\t\tif(FileID<WndID.FileID)\n\t\t\treturn true;\n\t\tif(FileID>WndID.FileID)\n\t\t\treturn false;\n\t\treturn PTR_TO_NUM(pSDSModule)<PTR_TO_NUM(WndID.pSDSModule);\n\t}\n};\n\nclass CMultiSourceCodeView:public CWispMultiTabView\n{\npublic:\n\tCWispDIBList* m_SourceLineStateDIBList;\n\tTSet<SOURCE_CODE_WND_ID> m_OpenedSourceCodeWnd;\n#ifdef CODE_OS_WIN\n\tHCURSOR m_HCurrentEIPCursor;\n\tHCURSOR m_HDragEIPCurosr;\n#endif\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCmdAddrChg)\n\tbool OnCloseTabWnd(CWispWnd*pWnd);\n\tvoid OnClosedTabWnd();\n\tvoid OnTabChanged(CWispWnd*pWnd);\n\tvoid UpdateAllView();\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/NMIInterruptHandle.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"MultiCPU.h\"\n#include \"LocalAPIC.h\"\n#include \"NMIInterruptHandle.h\"\n#include \"Syser.h\"\n\n#define SAVECONTEXT_OFFSET 8\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\tDWORD dwgcou=0;\n\tDWORD dwkCount=0;\n\tDWORD gLoopCpuNumber=0;\n\tbool gbSyserDRXChg=false;\t\t\t//ActiveʾDRĴǷ񱻸ı\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n// \n// __declspec(naked) void LoadContext()\n// {\n// \tDWORD CurrentCpuID;\n// \tX86_REG_CONTEXT TmpContext;\t\n// \t__asm\n// \t{\n// \t\tpush ebp \n// \t\tmov ebp,esp \n// \t\tsub esp,__LOCAL_SIZE\n// \t\tmov eax,dr0\n// \t\tmov TmpContext.DR[0*4],eax\n// \t\tmov eax,dr1\n// \t\tmov TmpContext.DR[1*4],eax\n// \t\tmov eax,dr2\n// \t\tmov TmpContext.DR[2*4],eax\n// \t\tmov eax,dr3\n// \t\tmov TmpContext.DR[3*4],eax\n// \t\tmov eax,dr6\n// \t\tmov TmpContext.DR[6*4],eax\n// \t\tmov eax,dr7\n// \t\tmov TmpContext.DR[7*4],eax\n// \t\tsldt word ptr TmpContext.LDT\n// \t\tstr word ptr TmpContext.TR\n// \t\tsgdt fword ptr TmpContext.GDTLimit\n// \t\tsidt fword ptr TmpContext.IDTLimit\n// \t\tmov eax,[ebp+0x10]\n// \t\tmov TmpContext.GeneReg[EDI_IDX*4],eax \n// \t\tmov eax,[ebp+0x14]\n// \t\tmov TmpContext.GeneReg[ESI_IDX*4],eax \n// \t\tmov eax,[ebp+0x18]\n// \t\tmov TmpContext.GeneReg[EBP_IDX*4],eax \n// \t\tmov eax,[ebp+0x1c]\n// \t\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n// \t\tmov eax,[ebp+0x20]\n// \t\tmov TmpContext.GeneReg[EBX_IDX*4],eax \n// \t\tmov eax,[ebp+0x24]\n// \t\tmov TmpContext.GeneReg[EDX_IDX*4],eax \n// \t\tmov eax,[ebp+0x28]\n// \t\tmov TmpContext.GeneReg[ECX_IDX*4],eax \n// \t\tmov eax,[ebp+0x2c]\n// \t\tmov TmpContext.GeneReg[EAX_IDX*4],eax \n// \t\tmov eax,[ebp+0x40]\n// \t\tmov TmpContext.EFlags,eax \n// \t\tmov eax,[ebp+0x38]\n// \t\tmov TmpContext.EIP,eax \n// \t\t\n// \t\tmov eax,cr0\n// \t\tmov TmpContext.CR[0*4],eax\n// \t\tmov eax,cr2\n// \t\tmov TmpContext.CR[2*4],eax\n// \t\tmov eax,cr3\n// \t\tmov TmpContext.CR[3*4],eax\n// \t\t_emit(0x0f)//mov eax,cr4 M$ ı֧ mov eax,cr4 ָ\n// \t\t_emit(0x20)\n// \t\t_emit(0xe0)\n// \t\tmov TmpContext.CR[4*4],eax\n// \t\tmov eax,TmpContext.EFlags\n// \t\ttest eax,0x20000\n// \t\tjz local_001\n// \t\tmov eax,[ebp+0x44]\n// \t\tmov TmpContext.GeneReg[ESP_IDX*4],eax\n// \t\tmov eax,[ebp+0x48]\n// \t\tmov TmpContext.SegReg[SS_IDX*2],ax\n// \t\tmov eax,[ebp+0x4c]\n// \t\tmov TmpContext.SegReg[ES_IDX*2],ax\n// \t\tmov eax,[ebp+0x50]\n// \t\tmov TmpContext.SegReg[DS_IDX*2],ax\n// \t\tmov eax,[ebp+0x54]\n// \t\tmov TmpContext.SegReg[FS_IDX*2],ax\n// \t\tmov eax,[ebp+0x58]\n// \t\tmov TmpContext.SegReg[GS_IDX*2],ax\n// \t\tjmp local_002\n// local_001:\n// \t\tmov eax,[ebp+8]\n// \t\tmov TmpContext.SegReg[ES_IDX*2],ax \n// \t\tmov eax,[ebp+0xc]\n// \t\tmov TmpContext.SegReg[DS_IDX*2],ax\n// \t\tmov ax,fs \n// \t\tmov TmpContext.SegReg[FS_IDX*2],ax\n// \t\tmov ax,gs\n// \t\tmov TmpContext.SegReg[GS_IDX*2],ax\n// \t\tmov eax,[ebp+0x3c]\n// \t\tmov TmpContext.SegReg[CS_IDX*2],ax\n// \t\ttest ax,3\n// \t\tjnz local_005\n// \t\tlea eax,[ebp+0x44]\n// \t\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n// \t\tmov ax,ss \n// \t\tmov TmpContext.SegReg[SS_IDX*2],ax\n// \t\tjmp local_002\n// local_005:\n// \t\tmov eax,[ebp+0x44]\n// \t\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n// \t\tmov eax,[ebp+0x48]\n// \t\tmov TmpContext.SegReg[SS_IDX*2],ax\n// local_002:\t\t\n// \t}\n// \tCurrentCpuID = GetCurrentCPULocalAPICID();\n// \tSaveLocalApic(&gpMCPULocalApic[CurrentCpuID]);\n// \tgpMCPUReg[CurrentCpuID]=TmpContext;\n// \tgpMCPUReg[CurrentCpuID].LocalAPIC=&gpMCPULocalApic[CurrentCpuID];\n// \t__asm\n// \t{\n// \t\tmov esp,ebp \n// \t\tpop ebp\n// \t\tret\n// \t}\n// }\n\nvoid UpdateOtherCPUDRX()\n{\n\tgbSyserDRXChg = true;\n}\n\n// \n// void EnterLoop(DWORD* dwPtr)\n// {\n// \t__asm\n// \t{\n// \t\tmov eax,gdwLocalAPICLineAddress \n// \t\tmov ebx,[eax+0x80]\n// \t\tpush ebx\n// \t\tmov ebx,0xff\n// \t\tmov [eax+0x80],ebx\n// \t}\n// \n// \tDWORD CurrentCpuID = GetCurrentCPULocalAPICID();\n// \tgdwMulitCpuSendIPIFlags=0;\n// \t__asm lock inc dword ptr gLoopCpuNumber\n// \twhile(gdwMulitCpuSpinlock)\n// \t{\n// \t\tif(gbSyserDRXChg)//2 CPUҪԷʾ\n// \t\t{\n// \t\t\tSaveSyserDRX();\n// \t\t\tgbSyserDRXChg = false;\n// \t\t}\n// \t}\n// \t__asm lock dec dword ptr gLoopCpuNumber\n// \t__asm\n// \t{\n// \t\tmov eax,gdwLocalAPICLineAddress\n// \t\tpop ebx\n// \t\tmov [eax+0x80],ebx\n// \t}\n// }\n\n// \n// void SaveSyserDRX()\n// {\n// \t__asm\n// \t{\n// \t\tpush\teax\n// \t\tmov\t\teax,SyserDR[0*4]\n// \t\tmov\t\tdr0,eax\n// \t\tmov\t\teax,SyserDR[1*4]\n// \t\tmov\t\tdr1,eax\n// \t\tmov\t\teax,SyserDR[2*4]\n// \t\tmov\t\tdr2,eax\n// \t\tmov\t\teax,SyserDR[3*4]\n// \t\tmov\t\tdr3,eax\n// \t\txor\t\teax,eax \n// \t\tmov\t\tdr6,eax\n// \t\tmov\t\teax,SyserDR[7*4]\n// \t\tand\t\teax,0xffffdfff\n// \t\tmov\t\tdr7,eax\n// \t\tpop\t\teax\n// \t}\n// }\n// \n// __declspec(naked) void SaveSyserDRXNew()\n// {\n// \t__asm\n// \t{\n// \t\tpush\teax\n// \t\tmov\t\teax,SyserDR[2*4]\n// \t\tmov\t\tdr2,eax\n// \t\tmov\t\teax,SyserDR[1*4]\n// \t\tmov\t\tdr1,eax\t\t\n// \t\tmov\t\teax,SyserDR[3*4]\n// \t\tmov\t\tdr3,eax\n// \t\tmov\t\teax,SyserDR[0*4]\n// \t\tmov\t\tdr0,eax\n// \t\txor\t\teax,eax \n// \t\tmov\t\tdr6,eax\n// \t\tmov\t\teax,SyserDR[7*4]\n// \t\tand\t\teax,0xffffdfff\n// \t\tmov\t\tdr7,eax\n// \t\tpop\t\teax\n// \t\tret\n// \t}\n// }\n// \n\n//DWORD int2eip=0;\n//DWORD gNmiCount=0;\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nextern DWORD gdwExitNmiLock;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n// \n// __declspec (naked) void NMIInterruptService()\n// {\n// \tDWORD *dwEBP;\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp\t\tss:gCPUNumbers,1\n// \t\tjnz\t\tMultiCPUMachine\n// \t\tpopfd\n// \t\tret     // ڵcpu Ļֱӷص windows ж. fixme \n// MultiCPUMachine:\n// \t\tpushad\n// \t\tpush\tds\n// \t\tpush\tes\t\t\n// \t\tcli\n// \t\tmov\t\tax,ss\n// \t\tmov\t\tds,ax\n// \t\tmov\t\tes,ax\n// \t\tmov eax,[esp+12*4]\n// \t\tmov int2eip,eax\n// \t\tlock inc gNmiCount\n// \t}\n// \t\n// \tDisableDebugRegisterMontior();\n// \tLoadContext();\n// \t__asm\n// \t{\n// \t\tpush esp \n// \t\tcall EnterLoop\t\t\n// \t}\t\n// \tif(gpSyser->m_bDbgRegAccessMon)\n// \t\tSaveSyserDRXNew();\n// \tif(gNmiCount<2)\n// \t\tEnableDebugRegisterMontior();\n// \t__asm\n// \t{\n// \t\tlock dec gNmiCount\n// \t\tpop\t\tes\n// \t\tpop\t\tds\n// \t\tpopad\n// \t\tpopfd\n// \t\tlea\t\tesp,[esp+4]\n// \t\tmov\t\tgdwExitNmiLock,0\n// \t\tiretd\n// \t}\n// }\n"
  },
  {
    "path": "Project/Syser/Source/NMIInterruptHandle.h",
    "content": "#ifndef _NMIINTERRUPTHANDLE_H_\n#define _NMIINTERRUPTHANDLE_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID SyserLoadContext(VOID);\nVOID SyserEnterLoop(DWORD* dwPtr);\nVOID\tSyserNMIInterruptService(VOID);\nVOID\tSyserEnterLoop(DWORD* dwPtr);\nvoid\tUpdateOtherCPUDRX();\nVOID\tSyserSaveSyserDRX(VOID);\nVOID\tSyserSaveSyserDRXNew(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_NMIINTERRUPTHANDLE_H_\n"
  },
  {
    "path": "Project/Syser/Source/NTDLLDefine.h",
    "content": "#ifndef _NTDLL_DEFINE_H_\n#define _NTDLL_DEFINE_H_\n\n#define STATUS_INFO_LENGTH_MISMATCH      ((NTSTATUS)0xC0000004L)\n\n#ifndef CONST\n#define CONST               const\n#endif\n\n#define InitializeObjectAttributes( p, n, a, r, s ) { \\\n\t(p)->Length = sizeof( OBJECT_ATTRIBUTES );          \\\n\t(p)->RootDirectory = r;                             \\\n\t(p)->Attributes = a;                                \\\n\t(p)->ObjectName = n;                                \\\n\t(p)->SecurityDescriptor = s;                        \\\n\t(p)->SecurityQualityOfService = NULL;               \\\n} \n\ntypedef enum _SYSTEMINFOCLASS\n{\n\tSystemBasicInformation,             // 0x002C\n\tSystemProcessorInformation,         // 0x000C\n\tSystemPerformanceInformation,       // 0x0138\n\tSystemTimeInformation,              // 0x0020\n\tSystemPathInformation,              // not implemented\n\tSystemProcessInformation,           // 0x00C8+ per process\n\tSystemCallInformation,              // 0x0018 + (n * 0x0004)\n\tSystemConfigurationInformation,     // 0x0018\n\tSystemProcessorCounters,            // 0x0030 per cpu\n\tSystemGlobalFlag,                   // 0x0004\n\tSystemInfo10,                       // not implemented\n\tSystemModuleInformation,            // 0x0004 + (n * 0x011C)\n\tSystemLockInformation,              // 0x0004 + (n * 0x0024)\n\tSystemInfo13,                       // not implemented\n\tSystemPagedPoolInformation,         // checked build only\n\tSystemNonPagedPoolInformation,      // checked build only\n\tSystemHandleInformation,            // 0x0004  + (n * 0x0010)\n\tSystemObjectInformation,            // 0x0038+ + (n * 0x0030+)\n\tSystemPageFileInformation,          // 0x0018+ per page file\n\tSystemInstemulInformation,          // 0x0088\n\tSystemInfo20,                       // invalid info class\n\tSystemCacheInformation,             // 0x0024\n\tSystemPoolTagInformation,           // 0x0004 + (n * 0x001C)\n\tSystemInfo23,                       // 0x0000, or 0x0018 per cpu\n\tSystemDpcInformation,               // 0x0014\n\tSystemInfo25,                       // checked build only\n\tSystemLoadDriver,                   // 0x0018, set mode only\n\tSystemUnloadDriver,                 // 0x0004, set mode only\n\tSystemTimeAdjustmentInformation,    // 0x000C, 0x0008 writeable\n\tSystemInfo29,                       // checked build only\n\tSystemInfo30,                       // checked build only\n\tSystemInfo31,                       // checked build only\n\tSystemCrashDumpInformation,         // 0x0004\n\tSystemInfo33,                       // 0x0010\n\tSystemCrashDumpStateInformation,    // 0x0004\n\tSystemDebuggerInformation,          // 0x0002\n\tSystemThreadSwitchInformation,      // 0x0030\n\tSystemRegistryQuotaInformation,     // 0x000C\n\tSystemAddDriver,                    // 0x0008, set mode only\n\tSystemPrioritySeparationInformation,// 0x0004, set mode only\n\tSystemInfo40,                       // not implemented\n\tSystemInfo41,                       // not implemented\n\tSystemInfo42,                       // invalid info class\n\tSystemInfo43,                       // invalid info class\n\tSystemTimeZoneInformation,          // 0x00AC\n\tSystemLookasideInformation,         // n * 0x0020\n\tMaxSystemInfoClass\n}\nSYSTEMINFOCLASS, *PSYSTEMINFOCLASS, **PPSYSTEMINFOCLASS;\ntypedef struct _UNICODE_STRING {\n\tUSHORT Length;\n\tUSHORT MaximumLength;\n\tPWSTR  Buffer;\n} UNICODE_STRING;\ntypedef UNICODE_STRING *PUNICODE_STRING;\ntypedef struct _OBJECT_ATTRIBUTES {\n\tULONG Length;\n\tHANDLE RootDirectory;\n\tPUNICODE_STRING ObjectName;\n\tULONG Attributes;\n\tPVOID SecurityDescriptor;        // Points to type SECURITY_DESCRIPTOR\n\tPVOID SecurityQualityOfService;  // Points to type SECURITY_QUALITY_OF_SERVICE\n} OBJECT_ATTRIBUTES;\ntypedef OBJECT_ATTRIBUTES *POBJECT_ATTRIBUTES;\ntypedef CONST OBJECT_ATTRIBUTES *PCOBJECT_ATTRIBUTES;\n\ntypedef LONG NTSTATUS;\ntypedef ULONG ACCESS_MASK;\ntypedef ACCESS_MASK *PACCESS_MASK;\ntypedef struct _IO_STATUS_BLOCK {\n\tunion {\n\t\tNTSTATUS Status;\n\t\tPVOID Pointer;\n\t};\n\n\tULONG_PTR Information;\n} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;\n\n#define OBJ_INHERIT             0x00000002L\n#define OBJ_PERMANENT           0x00000010L\n#define OBJ_EXCLUSIVE           0x00000020L\n#define OBJ_CASE_INSENSITIVE    0x00000040L\n#define OBJ_OPENIF              0x00000080L\n#define OBJ_OPENLINK            0x00000100L\n#define OBJ_KERNEL_HANDLE       0x00000200L\n#define OBJ_FORCE_ACCESS_CHECK  0x00000400L\n#define OBJ_VALID_ATTRIBUTES    0x000007F2L\n\n#define OBJ_CASE_INSENSITIVE    0x00000040L\ntypedef struct _SYSTEM_HANDLE_INFORMATION{\n\tULONG ProcessId;\n\tUCHAR ObjectTypeNumber;\n\tUCHAR Flags;\n\tUSHORT Handle;\n\tPVOID Object;\n\tACCESS_MASK GrantedAccess;\n}SYSTEM_HANDLE_INFORMATION,*PSYSTEM_HANDLE_INFORMATION;\n\ntypedef struct _SYSTEM_HANDLE_LIST\n{\n\tDWORD Counter;\n\tSYSTEM_HANDLE_INFORMATION Handle[1];\n}SYSTEM_HANDLE_LIST,*PSYSTEM_HANDLE_LIST;\n\ntypedef enum _OBJECT_INFORMATION_CLASS\n{\n\tObjectBasicInformation,\n\tObjectNameInformation,\n\tObjectTypeInformation,\n\tObjectAllTypesInformation,\n\tObjectHandleInformation,\n}OBJECT_INFORMATION_CLASS;\ntypedef struct _OBJECT_NAME_INFORMATION\n{\n\tUNICODE_STRING Name;\n}OBJECT_NAME_INFORMATION,*POBJECT_NAME_INFORMATION;\n\ntypedef struct _DIRECTORY_BASIC_INFORMATION \n{\n\tUNICODE_STRING ObjectName;\n\tUNICODE_STRING ObjectTypeName;\n} DIRECTORY_BASIC_INFORMATION, *PDIRECTORY_BASIC_INFORMATION;\n\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWOPENFILE)(\n\t\t\t\t\t\t\t\t\t\tOUT PHANDLE  FileHandle,\n\t\t\t\t\t\t\t\t\t\tIN ACCESS_MASK  DesiredAccess,\n\t\t\t\t\t\t\t\t\t\tIN POBJECT_ATTRIBUTES  ObjectAttributes,\n\t\t\t\t\t\t\t\t\t\tOUT PIO_STATUS_BLOCK  IoStatusBlock,\n\t\t\t\t\t\t\t\t\t\tIN ULONG  ShareAccess,\n\t\t\t\t\t\t\t\t\t\tIN ULONG  OpenOptions\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWOPENSECTION)(\n\t\t\t\t\t\t\t\t\t\tOUT PHANDLE  SectionHandle,\n\t\t\t\t\t\t\t\t\t\tIN ACCESS_MASK  DesiredAccess,\n\t\t\t\t\t\t\t\t\t\tIN POBJECT_ATTRIBUTES  ObjectAttributes\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWCLOSE)(\n\t\t\t\t\t\t\t\t\t\tIN HANDLE  Handle\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWQUERYSYSTEMINFORMATION)(\n\t\t\t\t\t\t\t\t\t\tSYSTEMINFOCLASS sic,\n\t\t\t\t\t\t\t\t\t\tPVOID pData,\n\t\t\t\t\t\t\t\t\t\tDWORD dSize,\n\t\t\t\t\t\t\t\t\t\tPDWORD pdSize\n\t\t\t\t\t\t\t\t\t\t);\ntypedef NTSYSAPI VOID (NTAPI *PRTLINITUNICODESTRING)(\n\t\t\t\t\t\t\t\t\t\tPUNICODE_STRING DestinationString,\n\t\t\t\t\t\t\t\t\t\tPCWSTR SourceString\n\t\t\t\t\t\t\t\t\t\t);\n\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWQUERYOBJECT)(\n\t\t\t\t\t\t\t\t\t\tIN HANDLE ObjectHandle,\n\t\t\t\t\t\t\t\t\t\tIN OBJECT_INFORMATION_CLASS ObjectInformationClass,\n\t\t\t\t\t\t\t\t\t\tOUT PVOID ObjectInformation,\n\t\t\t\t\t\t\t\t\t\tIN ULONG ObjectInformationLength,\n\t\t\t\t\t\t\t\t\t\tOUT PULONG ReturnLength\n\t\t\t\t\t\t\t\t\t\t);\n\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWCREATEDIRECTORYOBJECT)(\n\t\t\t\t\t\tOUT PHANDLE DirectoryHandle,\n\t\t\t\t\t\tIN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\tIN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t\t);\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWOPENDIRECTORYOBJECT)(\n\t\t\t\t\t  OUT PHANDLE DirectoryHandle,\n\t\t\t\t\t  IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t  IN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t  );\n\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWQUERYDIRECTORYOBJECT)(\n\t\t\t\t\t   IN HANDLE DirectoryHandle,\n\t\t\t\t\t   OUT PVOID Buffer,\n\t\t\t\t\t   IN ULONG BufferLength,\n\t\t\t\t\t   IN BOOLEAN ReturnSingleEntry,\n\t\t\t\t\t   IN BOOLEAN RestartScan,\n\t\t\t\t\t   IN OUT PULONG Context,\n\t\t\t\t\t   OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t   );\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWOPENSYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t OUT PHANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\t IN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t\t );\ntypedef NTSYSAPI NTSTATUS (NTAPI * PZWQUERYSYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t  IN HANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t  IN OUT PUNICODE_STRING TargetName,\n\t\t\t\t\t\t  OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t\t  );\ntypedef NTSYSAPI NTSTATUS (NTAPI *PZWCREATESYMBOLICLINKOBJECT)(\n\t\t\t\t\t\t   OUT PHANDLE SymbolicLinkHandle,\n\t\t\t\t\t\t   IN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\t   IN POBJECT_ATTRIBUTES ObjectAttributes,\n\t\t\t\t\t\t   IN PUNICODE_STRING TargetName\n\t\t\t\t\t\t   );\n#define DIRECTORY_QUERY                 (0x0001)\n#define DIRECTORY_TRAVERSE              (0x0002)\n#define DIRECTORY_CREATE_OBJECT         (0x0004)\n#define DIRECTORY_CREATE_SUBDIRECTORY   (0x0008)\n\n#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)\n\n#define SYMBOLIC_LINK_QUERY (0x0001)\n\n#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)\n\ntypedef struct _FINDDATABUF\n{\n\n\tDIRECTORY_BASIC_INFORMATION DirectoryBaseInfo;\n\tWCHAR Buffer[4096];\n}FINDDATABUF,*PFINDDATABUF;\ntypedef struct _FIND_OBJECT_DATA\n{\n\tWCHAR Name[260];\n\tWCHAR* CurrentDirName;\n\tHANDLE FindHandle;\n\tULONG Context;\n\tPFINDDATABUF FindDataBuffer;\n\tULONG NameMaxLen;\n}FIND_OBJECT_DATA,*PFIND_OBJECT_DATA;\n#endif /* _NTDLL_DEFINE_H_ */\n"
  },
  {
    "path": "Project/Syser/Source/NTUtility.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NTUtility.h\"\n#include \"X86Optr.h\"\n\nWORD NTAllocSelector(DWORD Base,DWORD Limit,BYTE bCodeSeg,BYTE bWritable,BYTE bSeg32,BYTE bDplDwon)\n{\n\tSEG_DESCRIPTOR\tseg;\n    WORD\t\t\tSelectors;\n    seg.limit_0_15 = LOW_WORD(Limit);\n    seg.base_0_15 = LOW_WORD(Base); \n    seg.base_16_23 = LOW_BYTE(HIGH_WORD(Base));\n    seg.accessed = 0;\n\tseg.readwrite = bWritable;\n    seg.conforming = bDplDwon;\n    seg.code_data = bCodeSeg;\n    seg.app_system = 1;\n    seg.dpl = 0;\n    seg.present = 1;\n    seg.limit_16_19 = LOW_BYTE(HIGH_WORD(Limit)) & 0xF;\n    seg.always_0 = 0;\n    seg.seg_16_32 = bSeg32;\n    seg.granularity = 1;\n    seg.base_24_31 = HIGH_BYTE(HIGH_WORD(Base));\n\tKeI386AllocateGdtSelectors(&Selectors,1);\n\tKeI386SetGdtSelector(Selectors,&seg);\n\treturn Selectors;\n}\n\nvoid NTReleaseSelector(WORD Selectors)\n{\n\tKeI386ReleaseGdtSelectors(&Selectors,1);\n}\n\nBYTE ReadVideoCRTRegByte(BYTE Index)\n{\n\tBYTE Result;\n// \t__asm\n// \t{\n// \t\tmov al,Index\n// \t\tmov dx,0x3D4\n// \t\tout dx,al\n// \t\tmov dx,0x3D5\n// \t\tin  al,dx\n// \t\tmov Result,al\n// \t}\n\n\tSyserWritePortByte(0x3D4,Index);\n\tResult = SyserReadPortByte(0x3D5);\n\n\treturn Result;\n}\n\nBYTE ReadCmosRegister(BYTE Index)\n{\n\tBYTE Result;\n// \t__asm\n// \t{\n// \t\tmov al,Index\n// \t\tout 0x70,al\n// \t\tin  al,0x71\n// \t\tmov Result,al\n// \t}\n\n\tSyserWritePortByte(0x70,Index);\n\tResult = SyserReadPortByte(0x71);\n\treturn Result;\n}\n\nUINT GetOSVer(ULONG* pMajorVersion,ULONG* pMinorVersion,ULONG* pBuildNumber)\n{\n\tstatic UINT\tOSVer=0;\n\tstatic bool bInitOsV=false;\n\tstatic ULONG MajorVersion,MinorVersion,BuildNumber;\n\tif(bInitOsV==false)\n\t{\t\n\t\tPsGetVersion(&MajorVersion,&MinorVersion,&BuildNumber,NULL);\n\t\tOSVer=((MajorVersion)<<8)+(MinorVersion);\n\t\tbInitOsV=true;\n\t}\n\t*pMajorVersion=MajorVersion;\n\t*pMinorVersion=MinorVersion;\n\t*pBuildNumber=BuildNumber;\n\tif(OSVer>=0x501) //бϵͳ.\n\t\treturn DRV_OS_XP;\n\telse\n\t\treturn DRV_OS_2K;\n}\n\n// void ResetSystem()\n// {\n// \t__asm\n// \t{\n// \t\tin   al, 61h\t//PC/XT PPI port B \n// \t\tpush ecx\n// \t\tmov  ecx, 20\n// this_label1:\t\t\t\t//CODE XREF: hboot+8\u0019j\n// \t\tloop    this_label1\n// \t\tpop     ecx\n// \t\tor      al, 0Ch\n// \t\tout     61h, al\t\t//PC/XT PPI port B \n// \t\tpush    ecx\n// \t\tmov     ecx, 14h\n// this_label2:              //CODE XREF: hboot+15\u0019j\n// \t\tloop    this_label2\n// \t\tpop     ecx\n// \t\tmov     dx, 674h\n// \t\tmov     al, 0\n// \t\tout     dx, al\n// \t\tmov     dx, 670h\n// \t\tout     dx, al\n// \t\tmov     al, 0FEh\n// \t\tout     64h, al //AT Keyboard controller 8042.\n// \t\t\t\t\t\t//Resend the last transmission\n// \t\tmov     ecx,600000h\n// this_label3:\n// \t\tloop    this_label3\n// \t}\n// }\n\nchar WaitForKey()\n{\n\tchar res;\n// \t__asm\n// \t{\n// local_loop:\n// \t\tin al,0x64\n// \t\ttest al,1\n// \t\tjz local_loop\n// \t\tin al,0x60\n// \t\tmov res,al\n// \t}\n\n\twhile(SyserReadPortByte(0x64) == 0);\n\tres = SyserReadPortByte(0x60);\n\n\treturn res;\n}\n\n\nvoid Beep(DWORD Counter,DWORD frequency)\n{\n\tBYTE Port61Value;\n//     __asm\n// \t{\n// \t\tpush eax \n// \t\tpush ebx\n// \t\tpush ecx \n// \t\tin al,0x61\n// \t\tmov Port61Value,al\n// \t\tand al,0xfe\n// \t\tout 0x61,al\n// \t\tmov ecx,frequency\t\t\n// \t\tmov al,0xb6\n// \t\tout 0x43,al \n// \t\tmov al,cl\n// \t\tout 0x42,al \n// \t\tjmp local_2\n// local_2:\n// \t\tmov al,ch\n// \t\tout 0x42,al \t\t\n// \t\tin al,0x61\n//         or al,3\n// \t\tout 0x61,al\n// \t\tmov ebx,Counter\n// local_1:\n// \t\tin al,0x61\n// \t\ttest al,0x20\n// \t\tjnz local_1\n// \t\tdec ebx \n// \t\tjz local_3\n// local_4:\n// \t\tin al,0x61\n// \t\ttest al,0x20 \n// \t\tjz local_4\n// \t\tjmp local_1\n// local_3:\n// \t\tmov al,Port61Value\n// \t\tout 0x61,al \n// \t\tpop ecx\n// \t\tpop ebx\n// \t\tpop eax\n// \t}\n\n\tPort61Value = SyserReadPortByte(0x61);\n\tSyserWritePortByte(0x61,Port61Value&0xfe);\n\tSyserWritePortByte(0x43,0xb6);\n\tSyserWritePortByte(0x42,(BYTE)frequency);\n\tSyserWritePortByte(0x42,(BYTE)((frequency&0xff00)>>8));\n\tSyserWritePortByte(0x61,SyserReadPortByte(0x61)|3);\n\n\tdo \n\t{\n\t\twhile(SyserReadPortByte(0x61)&0x20);\n\n\t\tCounter--;\n\t\tif (!Counter)\n\t\t{\n\t\t\tbreak;\n\t\t}\n\n\t\twhile(SyserReadPortByte(0x61)&0x20);\n\t} while (TRUE);\n\n\tSyserWritePortByte(0x61,Port61Value);\n}\n\nULSIZE\tGetVirtualAddressBlockSize(ULPOS Address)\n{\n\tULSIZE Size=0;\n\tAddress&=MP_NOT_MASK;\n\twhile(MmIsAddressValid((void*)Address))\n\t{\n\t\tAddress+=MP_SIZE;\n\t\tSize+=MP_SIZE;\n\t}\n\treturn Size;\n}\n\n// void* GetCurrentPEB()\n// {\n// \tvoid*pPEB;\n// \t__asm\n// \t{\n// \t\tmov eax,fs:[0x30]\n// \t\tmov pPEB,eax\n// \t}\n// \treturn pPEB;\n// }\n\n\nbool IsAddressValid(void* Addr)\n{\n\treturn MmIsAddressValid(Addr)!=0;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/NTUtility.h",
    "content": "#ifndef _NT_UTILITY_H_\n#define _NT_UTILITY_H_\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef struct seg_descriptor \n{\n    WORD\tlimit_0_15;\n    WORD\tbase_0_15;\n    BYTE\tbase_16_23;\n    BYTE    accessed    : 1 ;\n    BYTE    readwrite   : 1;\n    BYTE    conforming  : 1;\n    BYTE    code_data   : 1;\n    BYTE    app_system  : 1;\n    BYTE    dpl         : 2;\n    BYTE    present     : 1;\n    BYTE    limit_16_19 : 4;\n    BYTE    unused      : 1;\n    BYTE    always_0    : 1;\n    BYTE    seg_16_32   : 1;\n    BYTE\tgranularity : 1;\n    BYTE\tbase_24_31;\n}SEG_DESCRIPTOR;\n\nextern \"C\"\n{\n\tNTSYSAPI NTSTATUS NTAPI \n\tKeI386AllocateGdtSelectors(PUSHORT pSelectorArray,DWORD NumberOfSelectors);\n\tNTSYSAPI NTSTATUS NTAPI \n\tKeI386ReleaseGdtSelectors(PUSHORT pSelectorArray,DWORD NumberOfSelectors);\n\tNTSYSAPI NTSTATUS NTAPI\n\tKeI386SetGdtSelector(DWORD Selector,PVOID pDescriptor);\n}\n\nenum\n{\n\tDRV_OS_2K = 0,\n\tDRV_OS_XP,\n};\n\nUINT GetOSVer(ULONG* MajorVersion,ULONG* MinorVersion,ULONG* BuildNumber);\n\n#define VGA_BIOS_ROM_ADDRESS\t\t\t0xC0000\n#define ROM_BIOS_ROM_ADDRESS\t\t\t0xF0000\n\nWORD\tNTAllocSelector(DWORD Base,DWORD Limit,BYTE bCodeSeg,BYTE bWritable,BYTE bSeg32,BYTE bDplDwon);\nvoid\tNTReleaseSelector(WORD Selectors);\n\nBYTE\tReadVideoCRTRegByte(BYTE Index);\nBYTE\tReadCmosRegister(BYTE Index);\nVOID\tSyserResetSystem(VOID);\n\nbool\tIsAddressValid(void*p);\nchar\tWaitForKey();\nvoid\tBeep(DWORD Counter=0 ,DWORD frequency=0);\n\nULSIZE\tGetVirtualAddressBlockSize(ULPOS Address);\n\n//PVOID\tGetCurrentPEB(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif\n\n "
  },
  {
    "path": "Project/Syser/Source/NotCompatible.cpp",
    "content": "#include \"stdafx.h\"\n#include \"NotCompatible.h\"\n/*\nNTSTATUS GetProcessByThread(PETHREAD Thread,PEPROCESS* Process)\n{\n\tNTSTATUS Status=STATUS_SUCCESS;\n\tDWORD Offset=0;\n\tunsigned char* pstr;\n\t*Process=NULL;\n\tif(gOSMajorVersion==4)\n\t{\n\t\tOffset = 0x22c;\n\t}else if(gOSMajorVersion==5)\n\t{\n\t\tswitch(gOSMinorVersion)\n\t\t{\n\t\tcase 0:\n\t\t\tOffset = 0x22c;\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\tOffset = 0x220;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tOffset = 0x228;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(Offset)\n\t{\n\t\tpstr = (unsigned char*)Thread;\n\t\t*Process = *(PEPROCESS*)&pstr[Offset];\n\t\tif(*Process==NULL)\n\t\t\t*Process=gSystemProcess;\n\t}\n\telse\n\t{\n\t\treturn STATUS_NOT_IMPLEMENTED;\n\t}\n\treturn Status;\n}\nNTSTATUS GetThreadImpersonation(PETHREAD Thread,bool* Impersonation)\n{\n\tNTSTATUS Status=STATUS_SUCCESS;\n\tDWORD Offset=0;\n\tunsigned char* pstr;\n\tunsigned char Value;\n\tpstr = (unsigned char*)Thread;\n\tif(gOSMajorVersion==4)\n\t{\n\t\tValue = pstr[0x23b];\n\t}else if(gOSMajorVersion==5)\n\t{\n\t\tswitch(gOSMinorVersion)\n\t\t{\n\t\tcase 0:\n\t\t\tValue = pstr[0x23b];\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\tValue = pstr[0x248];\n\t\t\tValue >>= 3;\n\t\t\tValue &=1;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tValue = pstr[0x250];\n\t\t\tValue >>= 3;\n\t\t\tValue &=1;\n\t\t\tbreak;\n\t\tdefault :\n\t\t\tStatus=STATUS_INVALID_PARAMETER;\n\t\t}\n\t}else\n\t\tStatus=STATUS_INVALID_PARAMETER;\n\t*Impersonation=(Value&1)==1;\n\treturn Status;\n}\n*/\n\n//GetSegmentBaseAddress()\nvoid UpdateSystemKernelDRX()\n{\n\tDWORD BaseAddress;\n\tBaseAddress = GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector);\n\t\n}"
  },
  {
    "path": "Project/Syser/Source/NotCompatible.h",
    "content": "#ifndef _NOTCOMPATIBLE_H_\n#define _NOTCOMPATIBLE_H_\nNTSTATUS GetProcessByThread(PETHREAD Thread,PEPROCESS* Process);\nNTSTATUS GetThreadImpersonation(PETHREAD Thread,bool* Impersonation);\n#endif //_NOTCOMPATIBLE_H_"
  },
  {
    "path": "Project/Syser/Source/NtstatStr.cpp",
    "content": "#include \"stdafx.h\"\n#include \"NtstatStr.h\"\n\nNTSTATUS_STR gNtstatusTable[]=\n{\n\t\t   {\"STATUS_WAIT_0\"    ,\"STATUS_WAIT_0\",0x00000000L},\n           {\"STATUS_WAIT_1\"    ,\"STATUS_WAIT_1\",0x00000001L},\n           {\"STATUS_WAIT_2\"    ,\"STATUS_WAIT_2\",0x00000002L},\n           {\"STATUS_WAIT_3\"    ,\"STATUS_WAIT_3\",0x00000003L},\n           {\"STATUS_WAIT_63\"    ,\"STATUS_WAIT_63\",0x0000003FL},\n           {\"The success status codes 128 - 191 are reserved for wait completion\"\n\"status with an abandoned mutant object.\"    ,\"STATUS_ABANDONED\",0x00000080L},\n           {\"STATUS_ABANDONED_WAIT_0\"    ,\"STATUS_ABANDONED_WAIT_0\",0x00000080L},\n           {\"STATUS_ABANDONED_WAIT_63\"    ,\"STATUS_ABANDONED_WAIT_63\",0x000000BFL},\n           {\"STATUS_USER_APC\"    ,\"STATUS_USER_APC\",0x000000C0L},\n           {\"STATUS_KERNEL_APC\"    ,\"STATUS_KERNEL_APC\",0x00000100L},\n           {\"STATUS_ALERTED\"    ,\"STATUS_ALERTED\",0x00000101L},\n           {\"STATUS_TIMEOUT\"    ,\"STATUS_TIMEOUT\",0x00000102L},\n           {\"The operation that was requested is pending completion.\"    ,\"STATUS_PENDING\",0x00000103L},\n           {\"A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.\"    ,\"STATUS_REPARSE\",0x00000104L},\n           {\"Returned by enumeration APIs to indicate more information is available to successive calls.\"    ,\"STATUS_MORE_ENTRIES\",0x00000105L},\n           {\"Indicates not all privileges referenced are assigned to the caller.\"\n\"This allows, for example, all privileges to be disabled without having to know exactly which privileges are assigned.\"    ,\"STATUS_NOT_ALL_ASSIGNED\",0x00000106L},\n           {\"Some of the information to be translated has not been translated.\"    ,\"STATUS_SOME_NOT_MAPPED\",0x00000107L},\n           {\"An open/create operation completed while an oplock break is underway.\"    ,\"STATUS_OPLOCK_BREAK_IN_PROGRESS\",0x00000108L},\n           {\"A new volume has been mounted by a file system.\"    ,\"STATUS_VOLUME_MOUNTED\",0x00000109L},\n           {\"This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted.\"\n\"The commit has now been completed.\"    ,\"STATUS_RXACT_COMMITTED\",0x0000010AL},\n           {\"This indicates that a notify change request has been completed due to closing the handle which made the notify change request.\"    ,\"STATUS_NOTIFY_CLEANUP\",0x0000010BL},\n           {\"This indicates that a notify change request is being completed and that the information is not being returned in the caller's buffer.\"\n\"The caller now needs to enumerate the files to find the changes.\"    ,\"STATUS_NOTIFY_ENUM_DIR\",0x0000010CL},\n           {\"{No Quotas}\"\n\"No system quota limits are specifically set for this account.\"    ,\"STATUS_NO_QUOTAS_FOR_ACCOUNT\",0x0000010DL},\n           {\"{Connect Failure on Primary Transport}\"\n\"An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed.\"\n\"The computer WAS able to connect on a secondary transport.\"    ,\"STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED\",0x0000010EL},\n           {\"Page fault was a transition fault.\"    ,\"STATUS_PAGE_FAULT_TRANSITION\",0x00000110L},\n           {\"Page fault was a demand zero fault.\"    ,\"STATUS_PAGE_FAULT_DEMAND_ZERO\",0x00000111L},\n           {\"Page fault was a demand zero fault.\"    ,\"STATUS_PAGE_FAULT_COPY_ON_WRITE\",0x00000112L},\n           {\"Page fault was a demand zero fault.\"    ,\"STATUS_PAGE_FAULT_GUARD_PAGE\",0x00000113L},\n           {\"Page fault was satisfied by reading from a secondary storage device.\"    ,\"STATUS_PAGE_FAULT_PAGING_FILE\",0x00000114L},\n           {\"Cached page was locked during operation.\"    ,\"STATUS_CACHE_PAGE_LOCKED\",0x00000115L},\n           {\"Crash dump exists in paging file.\"    ,\"STATUS_CRASH_DUMP\",0x00000116L},\n           {\"Specified buffer contains all zeros.\"    ,\"STATUS_BUFFER_ALL_ZEROS\",0x00000117L},\n           {\"A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link.\"    ,\"STATUS_REPARSE_OBJECT\",0x00000118L},\n           {\"The device has succeeded a query-stop and its resource requirements have changed.\"    ,\"STATUS_RESOURCE_REQUIREMENTS_CHANGED\",0x00000119L},\n           {\"The translator has translated these resources into the global space and no further translations should be performed.\"    ,\"STATUS_TRANSLATION_COMPLETE\",0x00000120L},\n           {\"The directory service evaluated group memberships locally, as it was unable to contact a global catalog server.\"    ,\"STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY\",0x00000121L},\n           {\"A process being terminated has no threads to terminate.\"    ,\"STATUS_NOTHING_TO_TERMINATE\",0x00000122L},\n           {\"The specified process is not part of a job.\"    ,\"STATUS_PROCESS_NOT_IN_JOB\",0x00000123L},\n           {\"The specified process is part of a job.\"    ,\"STATUS_PROCESS_IN_JOB\",0x00000124L},\n           {\"{Volume Shadow Copy Service}\"\n\"The system is now ready for hibernation.\"    ,\"STATUS_VOLSNAP_HIBERNATE_READY\",0x00000125L},\n           {\"A file system or file system filter driver has successfully completed an FsFilter operation.\"    ,\"STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY\",0x00000126L},\n           {\"Debugger handled exception\"    ,\"DBG_EXCEPTION_HANDLED\",0x00010001L},\n           {\"Debugger continued\"    ,\"DBG_CONTINUE\",0x00010002L},\n           {\"{Object Exists}\"\n\"An attempt was made to create an object and the object name already existed.\"    ,\"STATUS_OBJECT_NAME_EXISTS\",0x40000000L},\n           {\"{Thread Suspended}\"\n\"A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded.\"    ,\"STATUS_THREAD_WAS_SUSPENDED\",0x40000001L},\n           {\"{Working Set Range Error}\"\n\"An attempt was made to set the working set minimum or maximum to values which are outside of the allowable range.\"    ,\"STATUS_WORKING_SET_LIMIT_RANGE\",0x40000002L},\n           {\"{Image Relocated}\"\n\"An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image.\"    ,\"STATUS_IMAGE_NOT_AT_BASE\",0x40000003L},\n           {\"This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created.\"    ,\"STATUS_RXACT_STATE_CREATED\",0x40000004L},\n           {\"{Segment Load}\"\n\"A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image.\"\n\"An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments.\"    ,\"STATUS_SEGMENT_NOTIFICATION\",0x40000005L},\n           {\"{Local Session Key}\"\n\"A user session key was requested for a local RPC connection. The session key returned is a constant value and not unique to this connection.\"    ,\"STATUS_LOCAL_USER_SESSION_KEY\",0x40000006L},\n           {\"{Invalid Current Directory}\"\n\"The process cannot switch to the startup current directory %hs.\"\n\"Select OK to set current directory to %hs, or select CANCEL to exit.\"    ,\"STATUS_BAD_CURRENT_DIRECTORY\",0x40000007L},\n           {\"{Serial IOCTL Complete}\"\n\"A serial I/O operation was completed by another write to a serial port.\"\n\"(The IOCTL_SERIAL_XOFF_COUNTER reached zero.)\"    ,\"STATUS_SERIAL_MORE_WRITES\",0x40000008L},\n           {\"{Registry Recovery}\"\n\"One of the files containing the system's Registry data had to be recovered by use of a log or alternate copy.\"\n\"The recovery was successful.\"    ,\"STATUS_REGISTRY_RECOVERED\",0x40000009L},\n           {\"{Redundant Read}\"\n\"To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy.\"\n\"This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device.\"    ,\"STATUS_FT_READ_RECOVERY_FROM_BACKUP\",0x4000000AL},\n           {\"{Redundant Write}\"\n\"To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information.\"\n\"This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device.\"    ,\"STATUS_FT_WRITE_RECOVERY\",0x4000000BL},\n           {\"{Serial IOCTL Timeout}\"\n\"A serial I/O operation completed because the time-out period expired.\"\n\"(The IOCTL_SERIAL_XOFF_COUNTER had not reached zero.)\"    ,\"STATUS_SERIAL_COUNTER_TIMEOUT\",0x4000000CL},\n           {\"{Password Too Complex}\"\n\"The Windows password is too complex to be converted to a LAN Manager password.\"\n\"The LAN Manager password returned is a NULL string.\"    ,\"STATUS_NULL_LM_PASSWORD\",0x4000000DL},\n           {\"{Machine Type Mismatch}\"\n\"The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load.\"    ,\"STATUS_IMAGE_MACHINE_TYPE_MISMATCH\",0x4000000EL},\n           {\"{Partial Data Received}\"\n\"The network transport returned partial data to its client. The remaining data will be sent later.\"    ,\"STATUS_RECEIVE_PARTIAL\",0x4000000FL},\n           {\"{Expedited Data Received}\"\n\"The network transport returned data to its client that was marked as expedited by the remote system.\"    ,\"STATUS_RECEIVE_EXPEDITED\",0x40000010L},\n           {\"{Partial Expedited Data Received}\"\n\"The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later.\"    ,\"STATUS_RECEIVE_PARTIAL_EXPEDITED\",0x40000011L},\n           {\"{TDI Event Done}\"\n\"The TDI indication has completed successfully.\"    ,\"STATUS_EVENT_DONE\",0x40000012L},\n           {\"{TDI Event Pending}\"\n\"The TDI indication has entered the pending state.\"    ,\"STATUS_EVENT_PENDING\",0x40000013L},\n           {\"Checking file system on %wZ\"    ,\"STATUS_CHECKING_FILE_SYSTEM\",0x40000014L},\n           {\"{Fatal Application Exit}\"\n\"%hs\"    ,\"STATUS_FATAL_APP_EXIT\",0x40000015L},\n           {\"The specified registry key is referenced by a predefined handle.\"    ,\"STATUS_PREDEFINED_HANDLE\",0x40000016L},\n           {\"{Page Unlocked}\"\n\"The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process.\"    ,\"STATUS_WAS_UNLOCKED\",0x40000017L},\n           {\"%hs\"    ,\"STATUS_SERVICE_NOTIFICATION\",0x40000018L},\n           {\"{Page Locked}\"\n\"One of the pages to lock was already locked.\"    ,\"STATUS_WAS_LOCKED\",0x40000019L},\n           {\"Application popup: %1 : %2\"    ,\"STATUS_LOG_HARD_ERROR\",0x4000001AL},\n           {\"STATUS_ALREADY_WIN32\"    ,\"STATUS_ALREADY_WIN32\",0x4000001BL},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_UNSIMULATE\",0x4000001CL},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_CONTINUE\",0x4000001DL},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_SINGLE_STEP\",0x4000001EL},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_BREAKPOINT\",0x4000001FL},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_EXCEPTION_CONTINUE\",0x40000020L},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_EXCEPTION_LASTCHANCE\",0x40000021L},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_EXCEPTION_CHAIN\",0x40000022L},\n           {\"{Machine Type Mismatch}\"\n\"The image file %hs is valid, but is for a machine type other than the current machine.\"    ,\"STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE\",0x40000023L},\n           {\"A yield execution was performed and no thread was available to run.\"    ,\"STATUS_NO_YIELD_PERFORMED\",0x40000024L},\n           {\"The resumable flag to a timer API was ignored.\"    ,\"STATUS_TIMER_RESUME_IGNORED\",0x40000025L},\n           {\"The arbiter has deferred arbitration of these resources to its parent\"    ,\"STATUS_ARBITRATION_UNHANDLED\",0x40000026L},\n           {\"The device \\\"%hs\\\" has detected a CardBus card in its slot, but the firmware on this system is not configured to allow the CardBus controller to be run in CardBus mode.\"\n\"The operating system will currently accept only 16-bit (R2) pc-cards on this controller.\"    ,\"STATUS_CARDBUS_NOT_SUPPORTED\",0x40000027L},\n           {\"Exception status code used by Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_CREATEWX86TIB\",0x40000028L},\n           {\"The CPUs in this multiprocessor system are not all the same revision level.  To use all processors the operating system restricts itself to the features of the least capable processor in the system.  Should problems occur with this system, contact\"\n\"the CPU manufacturer to see if this mix of processors is supported.\"    ,\"STATUS_MP_PROCESSOR_MISMATCH\",0x40000029L},\n           {\"The system was put into hibernation.\"    ,\"STATUS_HIBERNATED\",0x4000002AL},\n           {\"The system was resumed from hibernation.\"    ,\"STATUS_RESUME_HIBERNATION\",0x4000002BL},\n           {\"Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3].\"    ,\"STATUS_FIRMWARE_UPDATED\",0x4000002CL},\n           {\"A device driver is leaking locked I/O pages causing system degradation.  The system has automatically enabled tracking code in order to try and catch the culprit.\"    ,\"STATUS_DRIVERS_LEAKING_LOCKED_PAGES\",0x4000002DL},\n           {\"Debugger will reply later.\"    ,\"DBG_REPLY_LATER\",0x40010001L},\n           {\"Debugger can not provide handle.\"    ,\"DBG_UNABLE_TO_PROVIDE_HANDLE\",0x40010002L},\n           {\"Debugger terminated thread.\"    ,\"DBG_TERMINATE_THREAD\",0x40010003L},\n           {\"Debugger terminated process.\"    ,\"DBG_TERMINATE_PROCESS\",0x40010004L},\n           {\"Debugger got control C.\"    ,\"DBG_CONTROL_C\",0x40010005L},\n           {\"Debugger printed exception on control C.\"    ,\"DBG_PRINTEXCEPTION_C\",0x40010006L},\n           {\"Debugger received RIP exception.\"    ,\"DBG_RIPEXCEPTION\",0x40010007L},\n           {\"Debugger received control break.\"    ,\"DBG_CONTROL_BREAK\",0x40010008L},\n           {\"Debugger command communication exception.\"    ,\"DBG_COMMAND_EXCEPTION\",0x40010009L},\n           {\"{EXCEPTION}\"\n\"Guard Page Exception\"\n\"A page of memory that marks the end of a data structure, such as a stack or an array, has been accessed.\"    ,\"STATUS_GUARD_PAGE_VIOLATION\",0x80000001L},\n           {\"{EXCEPTION}\"\n\"Alignment Fault\"\n\"A datatype misalignment was detected in a load or store instruction.\"    ,\"STATUS_DATATYPE_MISALIGNMENT\",0x80000002L},\n           {\"{EXCEPTION}\"\n\"Breakpoint\"\n\"A breakpoint has been reached.\"    ,\"STATUS_BREAKPOINT\",0x80000003L},\n           {\"{EXCEPTION}\"\n\"Single Step\"\n\"A single step or trace operation has just been completed.\"    ,\"STATUS_SINGLE_STEP\",0x80000004L},\n           {\"{Buffer Overflow}\"\n\"The data was too large to fit into the specified buffer.\"    ,\"STATUS_BUFFER_OVERFLOW\",0x80000005L},\n           {\"{No More Files}\"\n\"No more files were found which match the file specification.\"    ,\"STATUS_NO_MORE_FILES\",0x80000006L},\n           {\"{Kernel Debugger Awakened}\"\n\"the system debugger was awakened by an interrupt.\"    ,\"STATUS_WAKE_SYSTEM_DEBUGGER\",0x80000007L},\n           {\"{Handles Closed}\"\n\"Handles to objects have been automatically closed as a result of the requested operation.\"    ,\"STATUS_HANDLES_CLOSED\",0x8000000AL},\n           {\"{Non-Inheritable ACL}\"\n\"An access control list (ACL},\"    ,\"STATUS_NO_INHERITANCE\",0x8000000BL},\n           {\"{GUID Substitution}\"\n\"During the translation of a global identifier (GUID) to a Windows security ID (SID), no administratively-defined GUID prefix was found.\"\n\"A substitute prefix was used, which will not compromise system security.\"\n\"However, this may provide a more restrictive access than intended.\"    ,\"STATUS_GUID_SUBSTITUTION_MADE\",0x8000000CL},\n           {\"{Partial Copy}\"\n\"Due to protection conflicts not all the requested bytes could be copied.\"    ,\"STATUS_PARTIAL_COPY\",0x8000000DL},\n           {\"{Out of Paper}\"\n\"The printer is out of paper.\"    ,\"STATUS_DEVICE_PAPER_EMPTY\",0x8000000EL},\n           {\"{Device Power Is Off}\"\n\"The printer power has been turned off.\"    ,\"STATUS_DEVICE_POWERED_OFF\",0x8000000FL},\n           {\"{Device Offline}\"\n\"The printer has been taken offline.\"    ,\"STATUS_DEVICE_OFF_LINE\",0x80000010L},\n           {\"{Device Busy}\"\n\"The device is currently busy.\"    ,\"STATUS_DEVICE_BUSY\",0x80000011L},\n           {\"{No More EAs}\"\n\"No more extended attributes (EAs) were found for the file.\"    ,\"STATUS_NO_MORE_EAS\",0x80000012L},\n           {\"{Illegal EA}\"\n\"The specified extended attribute (EA) name contains at least one illegal character.\"    ,\"STATUS_INVALID_EA_NAME\",0x80000013L},\n           {\"{Inconsistent EA List}\"\n\"The extended attribute (EA) list is inconsistent.\"    ,\"STATUS_EA_LIST_INCONSISTENT\",0x80000014L},\n           {\"{Invalid EA Flag}\"\n\"An invalid extended attribute (EA) flag was set.\"    ,\"STATUS_INVALID_EA_FLAG\",0x80000015L},\n           {\"{Verifying Disk}\"\n\"The media has changed and a verify operation is in progress so no reads or writes may be performed to the device, except those used in the verify operation.\"    ,\"STATUS_VERIFY_REQUIRED\",0x80000016L},\n           {\"{Too Much Information}\"\n\"The specified access control list (ACL},\"    ,\"STATUS_EXTRANEOUS_INFORMATION\",0x80000017L},\n           {\"This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted.\"\n\"The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired).\"    ,\"STATUS_RXACT_COMMIT_NECESSARY\",0x80000018L},\n           {\"{No More Entries}\"\n\"No more entries are available from an enumeration operation.\"    ,\"STATUS_NO_MORE_ENTRIES\",0x8000001AL},\n           {\"{Filemark Found}\"\n\"A filemark was detected.\"    ,\"STATUS_FILEMARK_DETECTED\",0x8000001BL},\n           {\"{Media Changed}\"\n\"The media may have changed.\"    ,\"STATUS_MEDIA_CHANGED\",0x8000001CL},\n           {\"{I/O Bus Reset}\"\n\"An I/O bus reset was detected.\"    ,\"STATUS_BUS_RESET\",0x8000001DL},\n           {\"{End of Media}\"\n\"The end of the media was encountered.\"    ,\"STATUS_END_OF_MEDIA\",0x8000001EL},\n           {\"Beginning of tape or partition has been detected.\"    ,\"STATUS_BEGINNING_OF_MEDIA\",0x8000001FL},\n           {\"{Media Changed}\"\n\"The media may have changed.\"    ,\"STATUS_MEDIA_CHECK\",0x80000020L},\n           {\"A tape access reached a setmark.\"    ,\"STATUS_SETMARK_DETECTED\",0x80000021L},\n           {\"During a tape access, the end of the data written is reached.\"    ,\"STATUS_NO_DATA_DETECTED\",0x80000022L},\n           {\"The redirector is in use and cannot be unloaded.\"    ,\"STATUS_REDIRECTOR_HAS_OPEN_HANDLES\",0x80000023L},\n           {\"The server is in use and cannot be unloaded.\"    ,\"STATUS_SERVER_HAS_OPEN_HANDLES\",0x80000024L},\n           {\"The specified connection has already been disconnected.\"    ,\"STATUS_ALREADY_DISCONNECTED\",0x80000025L},\n           {\"A long jump has been executed.\"    ,\"STATUS_LONGJUMP\",0x80000026L},\n           {\"A cleaner cartridge is present in the tape library.\"    ,\"STATUS_CLEANER_CARTRIDGE_INSTALLED\",0x80000027L},\n           {\"The Plug and Play query operation was not successful.\"    ,\"STATUS_PLUGPLAY_QUERY_VETOED\",0x80000028L},\n           {\"A frame consolidation has been executed.\"    ,\"STATUS_UNWIND_CONSOLIDATE\",0x80000029L},\n           {\"{Registry Hive Recovered}\"\n\"Registry hive (file):\"\n\"%hs\"\n\"was corrupted and it has been recovered. Some data might have been lost.\"    ,\"STATUS_REGISTRY_HIVE_RECOVERED\",0x8000002AL},\n           {\"The application is attempting to run executable code from the module %hs.  This may be insecure.  An alternative, %hs, is available.  Should the application use the secure module %hs?\"    ,\"STATUS_DLL_MIGHT_BE_INSECURE\",0x8000002BL},\n           {\"The application is loading executable code from the module %hs.  This is secure, but may be incompatible with previous releases of the operating system.  An alternative, %hs, is available.  Should the application use the secure module %hs?\"    ,\"STATUS_DLL_MIGHT_BE_INCOMPATIBLE\",0x8000002CL},\n           {\"Debugger did not handle the exception.\"    ,\"DBG_EXCEPTION_NOT_HANDLED\",0x80010001L},\n           {\"The cluster node is already up.\"    ,\"STATUS_CLUSTER_NODE_ALREADY_UP\",0x80130001L},\n           {\"The cluster node is already down.\"    ,\"STATUS_CLUSTER_NODE_ALREADY_DOWN\",0x80130002L},\n           {\"The cluster network is already online.\"    ,\"STATUS_CLUSTER_NETWORK_ALREADY_ONLINE\",0x80130003L},\n           {\"The cluster network is already offline.\"    ,\"STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE\",0x80130004L},\n           {\"The cluster node is already a member of the cluster.\"    ,\"STATUS_CLUSTER_NODE_ALREADY_MEMBER\",0x80130005L},\n           {\"{Operation Failed}\"\n\"The requested operation was unsuccessful.\"    ,\"STATUS_UNSUCCESSFUL\",0xC0000001L},\n           {\"{Not Implemented}\"\n\"The requested operation is not implemented.\"    ,\"STATUS_NOT_IMPLEMENTED\",0xC0000002L},\n           {\"{Invalid Parameter}\"\n\"The specified information class is not a valid information class for the specified object.\"    ,\"STATUS_INVALID_INFO_CLASS\",0xC0000003L},\n           {\"The specified information record length does not match the length required for the specified information class.\"    ,\"STATUS_INFO_LENGTH_MISMATCH\",0xC0000004L},\n           {\"The instruction at \\\"0x%08lx\\\" referenced memory at \\\"0x%08lx\\\". The memory could not be \\\"%s\\\".\"    ,\"STATUS_ACCESS_VIOLATION\",0xC0000005L},\n           {\"The instruction at \\\"0x%08lx\\\" referenced memory at \\\"0x%08lx\\\". The required data was not placed into memory because of an I/O error status of \\\"0x%08lx\\\".\"    ,\"STATUS_IN_PAGE_ERROR\",0xC0000006L},\n           {\"The pagefile quota for the process has been exhausted.\"    ,\"STATUS_PAGEFILE_QUOTA\",0xC0000007L},\n           {\"An invalid HANDLE was specified.\"    ,\"STATUS_INVALID_HANDLE\",0xC0000008L},\n           {\"An invalid initial stack was specified in a call to NtCreateThread.\"    ,\"STATUS_BAD_INITIAL_STACK\",0xC0000009L},\n           {\"An invalid initial start address was specified in a call to NtCreateThread.\"    ,\"STATUS_BAD_INITIAL_PC\",0xC000000AL},\n           {\"An invalid Client ID was specified.\"    ,\"STATUS_INVALID_CID\",0xC000000BL},\n           {\"An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine.\"    ,\"STATUS_TIMER_NOT_CANCELED\",0xC000000CL},\n           {\"An invalid parameter was passed to a service or function.\"    ,\"STATUS_INVALID_PARAMETER\",0xC000000DL},\n           {\"A device which does not exist was specified.\"    ,\"STATUS_NO_SUCH_DEVICE\",0xC000000EL},\n           {\"{File Not Found}\"\n\"The file %hs does not exist.\"    ,\"STATUS_NO_SUCH_FILE\",0xC000000FL},\n           {\"The specified request is not a valid operation for the target device.\"    ,\"STATUS_INVALID_DEVICE_REQUEST\",0xC0000010L},\n           {\"The end-of-file marker has been reached. There is no valid data in the file beyond this marker.\"    ,\"STATUS_END_OF_FILE\",0xC0000011L},\n           {\"{Wrong Volume}\"\n\"The wrong volume is in the drive.\"\n\"Please insert volume %hs into drive %hs.\"    ,\"STATUS_WRONG_VOLUME\",0xC0000012L},\n           {\"{No Disk}\"\n\"There is no disk in the drive.\"\n\"Please insert a disk into drive %hs.\"    ,\"STATUS_NO_MEDIA_IN_DEVICE\",0xC0000013L},\n           {\"{Unknown Disk Format}\"\n\"The disk in drive %hs is not formatted properly.\"\n\"Please check the disk, and reformat if necessary.\"    ,\"STATUS_UNRECOGNIZED_MEDIA\",0xC0000014L},\n           {\"{Sector Not Found}\"\n\"The specified sector does not exist.\"    ,\"STATUS_NONEXISTENT_SECTOR\",0xC0000015L},\n           {\"{Still Busy}\"\n\"The specified I/O request packet (IRP) cannot be disposed of because the I/O operation is not complete.\"    ,\"STATUS_MORE_PROCESSING_REQUIRED\",0xC0000016L},\n           {\"{Not Enough Quota}\"\n\"Not enough virtual memory or paging file quota is available to complete the specified operation.\"    ,\"STATUS_NO_MEMORY\",0xC0000017L},\n           {\"{Conflicting Address Range}\"\n\"The specified address range conflicts with the address space.\"    ,\"STATUS_CONFLICTING_ADDRESSES\",0xC0000018L},\n           {\"Address range to unmap is not a mapped view.\"    ,\"STATUS_NOT_MAPPED_VIEW\",0xC0000019L},\n           {\"Virtual memory cannot be freed.\"    ,\"STATUS_UNABLE_TO_FREE_VM\",0xC000001AL},\n           {\"Specified section cannot be deleted.\"    ,\"STATUS_UNABLE_TO_DELETE_SECTION\",0xC000001BL},\n           {\"An invalid system service was specified in a system service call.\"    ,\"STATUS_INVALID_SYSTEM_SERVICE\",0xC000001CL},\n           {\"{EXCEPTION}\"\n\"Illegal Instruction\"\n\"An attempt was made to execute an illegal instruction.\"    ,\"STATUS_ILLEGAL_INSTRUCTION\",0xC000001DL},\n           {\"{Invalid Lock Sequence}\"\n\"An attempt was made to execute an invalid lock sequence.\"    ,\"STATUS_INVALID_LOCK_SEQUENCE\",0xC000001EL},\n           {\"{Invalid Mapping}\"\n\"An attempt was made to create a view for a section which is bigger than the section.\"    ,\"STATUS_INVALID_VIEW_SIZE\",0xC000001FL},\n           {\"{Bad File}\"\n\"The attributes of the specified mapping file for a section of memory cannot be read.\"    ,\"STATUS_INVALID_FILE_FOR_SECTION\",0xC0000020L},\n           {\"{Already Committed}\"\n\"The specified address range is already committed.\"    ,\"STATUS_ALREADY_COMMITTED\",0xC0000021L},\n           {\"{Access Denied}\"\n\"A process has requested access to an object, but has not been granted those access rights.\"    ,\"STATUS_ACCESS_DENIED\",0xC0000022L},\n           {\"{Buffer Too Small}\"\n\"The buffer is too small to contain the entry. No information has been written to the buffer.\"    ,\"STATUS_BUFFER_TOO_SMALL\",0xC0000023L},\n           {\"{Wrong Type}\"\n\"There is a mismatch between the type of object required by the requested operation and the type of object that is specified in the request.\"    ,\"STATUS_OBJECT_TYPE_MISMATCH\",0xC0000024L},\n           {\"{EXCEPTION}\"\n\"Cannot Continue\"\n\"Windows cannot continue from this exception.\"    ,\"STATUS_NONCONTINUABLE_EXCEPTION\",0xC0000025L},\n           {\"An invalid exception disposition was returned by an exception handler.\"    ,\"STATUS_INVALID_DISPOSITION\",0xC0000026L},\n           {\"Unwind exception code.\"    ,\"STATUS_UNWIND\",0xC0000027L},\n           {\"An invalid or unaligned stack was encountered during an unwind operation.\"    ,\"STATUS_BAD_STACK\",0xC0000028L},\n           {\"An invalid unwind target was encountered during an unwind operation.\"    ,\"STATUS_INVALID_UNWIND_TARGET\",0xC0000029L},\n           {\"An attempt was made to unlock a page of memory which was not locked.\"    ,\"STATUS_NOT_LOCKED\",0xC000002AL},\n           {\"Device parity error on I/O operation.\"    ,\"STATUS_PARITY_ERROR\",0xC000002BL},\n           {\"An attempt was made to decommit uncommitted virtual memory.\"    ,\"STATUS_UNABLE_TO_DECOMMIT_VM\",0xC000002CL},\n           {\"An attempt was made to change the attributes on memory that has not been committed.\"    ,\"STATUS_NOT_COMMITTED\",0xC000002DL},\n           {\"Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort\"    ,\"STATUS_INVALID_PORT_ATTRIBUTES\",0xC000002EL},\n           {\"Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port.\"    ,\"STATUS_PORT_MESSAGE_TOO_LONG\",0xC000002FL},\n           {\"An invalid combination of parameters was specified.\"    ,\"STATUS_INVALID_PARAMETER_MIX\",0xC0000030L},\n           {\"An attempt was made to lower a quota limit below the current usage.\"    ,\"STATUS_INVALID_QUOTA_LOWER\",0xC0000031L},\n           {\"{Corrupt Disk}\"\n\"The file system structure on the disk is corrupt and unusable.\"\n\"Please run the Chkdsk utility on the volume %hs.\"    ,\"STATUS_DISK_CORRUPT_ERROR\",0xC0000032L},\n           {\"Object Name invalid.\"    ,\"STATUS_OBJECT_NAME_INVALID\",0xC0000033L},\n           {\"Object Name not found.\"    ,\"STATUS_OBJECT_NAME_NOT_FOUND\",0xC0000034L},\n           {\"Object Name already exists.\"    ,\"STATUS_OBJECT_NAME_COLLISION\",0xC0000035L},\n           {\"Attempt to send a message to a disconnected communication port.\"    ,\"STATUS_PORT_DISCONNECTED\",0xC0000037L},\n           {\"An attempt was made to attach to a device that was already attached to another device.\"    ,\"STATUS_DEVICE_ALREADY_ATTACHED\",0xC0000038L},\n           {\"Object Path Component was not a directory object.\"    ,\"STATUS_OBJECT_PATH_INVALID\",0xC0000039L},\n           {\"{Path Not Found}\"\n\"The path %hs does not exist.\"    ,\"STATUS_OBJECT_PATH_NOT_FOUND\",0xC000003AL},\n           {\"Object Path Component was not a directory object.\"    ,\"STATUS_OBJECT_PATH_SYNTAX_BAD\",0xC000003BL},\n           {\"{Data Overrun}\"\n\"A data overrun error occurred.\"    ,\"STATUS_DATA_OVERRUN\",0xC000003CL},\n           {\"{Data Late}\"\n\"A data late error occurred.\"    ,\"STATUS_DATA_LATE_ERROR\",0xC000003DL},\n           {\"{Data Error}\"\n\"An error in reading or writing data occurred.\"    ,\"STATUS_DATA_ERROR\",0xC000003EL},\n           {\"{Bad CRC}\"\n\"A cyclic redundancy check (CRC) checksum error occurred.\"    ,\"STATUS_CRC_ERROR\",0xC000003FL},\n           {\"{Section Too Large}\"\n\"The specified section is too big to map the file.\"    ,\"STATUS_SECTION_TOO_BIG\",0xC0000040L},\n           {\"The NtConnectPort request is refused.\"    ,\"STATUS_PORT_CONNECTION_REFUSED\",0xC0000041L},\n           {\"The type of port handle is invalid for the operation requested.\"    ,\"STATUS_INVALID_PORT_HANDLE\",0xC0000042L},\n           {\"A file cannot be opened because the share access flags are incompatible.\"    ,\"STATUS_SHARING_VIOLATION\",0xC0000043L},\n           {\"Insufficient quota exists to complete the operation\"    ,\"STATUS_QUOTA_EXCEEDED\",0xC0000044L},\n           {\"The specified page protection was not valid.\"    ,\"STATUS_INVALID_PAGE_PROTECTION\",0xC0000045L},\n           {\"An attempt to release a mutant object was made by a thread that was not the owner of the mutant object.\"    ,\"STATUS_MUTANT_NOT_OWNED\",0xC0000046L},\n           {\"An attempt was made to release a semaphore such that its maximum count would have been exceeded.\"    ,\"STATUS_SEMAPHORE_LIMIT_EXCEEDED\",0xC0000047L},\n           {\"An attempt to set a processes DebugPort or ExceptionPort was made, but a port already exists in the process or\"\n\"an attempt to set a file's CompletionPort made, but a port was already set in the file.\"    ,\"STATUS_PORT_ALREADY_SET\",0xC0000048L},\n           {\"An attempt was made to query image information on a section which does not map an image.\"    ,\"STATUS_SECTION_NOT_IMAGE\",0xC0000049L},\n           {\"An attempt was made to suspend a thread whose suspend count was at its maximum.\"    ,\"STATUS_SUSPEND_COUNT_EXCEEDED\",0xC000004AL},\n           {\"An attempt was made to suspend a thread that has begun termination.\"    ,\"STATUS_THREAD_IS_TERMINATING\",0xC000004BL},\n           {\"An attempt was made to set the working set limit to an invalid value (minimum greater than maximum, etc).\"    ,\"STATUS_BAD_WORKING_SET_LIMIT\",0xC000004CL},\n           {\"A section was created to map a file which is not compatible to an already existing section which maps the same file.\"    ,\"STATUS_INCOMPATIBLE_FILE_MAP\",0xC000004DL},\n           {\"A view to a section specifies a protection which is incompatible with the initial view's protection.\"    ,\"STATUS_SECTION_PROTECTION\",0xC000004EL},\n           {\"An operation involving EAs failed because the file system does not support EAs.\"    ,\"STATUS_EAS_NOT_SUPPORTED\",0xC000004FL},\n           {\"An EA operation failed because EA set is too large.\"    ,\"STATUS_EA_TOO_LARGE\",0xC0000050L},\n           {\"An EA operation failed because the name or EA index is invalid.\"    ,\"STATUS_NONEXISTENT_EA_ENTRY\",0xC0000051L},\n           {\"The file for which EAs were requested has no EAs.\"    ,\"STATUS_NO_EAS_ON_FILE\",0xC0000052L},\n           {\"The EA is corrupt and non-readable.\"    ,\"STATUS_EA_CORRUPT_ERROR\",0xC0000053L},\n           {\"A requested read/write cannot be granted due to a conflicting file lock.\"    ,\"STATUS_FILE_LOCK_CONFLICT\",0xC0000054L},\n           {\"A requested file lock cannot be granted due to other existing locks.\"    ,\"STATUS_LOCK_NOT_GRANTED\",0xC0000055L},\n           {\"A non close operation has been requested of a file object with a delete pending.\"    ,\"STATUS_DELETE_PENDING\",0xC0000056L},\n           {\"An attempt was made to set the control attribute on a file. This attribute is not supported in the target file system.\"    ,\"STATUS_CTL_FILE_NOT_SUPPORTED\",0xC0000057L},\n           {\"Indicates a revision number encountered or specified is not one known by the service. It may be a more recent revision than the service is aware of.\"    ,\"STATUS_UNKNOWN_REVISION\",0xC0000058L},\n           {\"Indicates two revision levels are incompatible.\"    ,\"STATUS_REVISION_MISMATCH\",0xC0000059L},\n           {\"Indicates a particular Security ID may not be assigned as the owner of an object.\"    ,\"STATUS_INVALID_OWNER\",0xC000005AL},\n           {\"Indicates a particular Security ID may not be assigned as the primary group of an object.\"    ,\"STATUS_INVALID_PRIMARY_GROUP\",0xC000005BL},\n           {\"An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client.\"    ,\"STATUS_NO_IMPERSONATION_TOKEN\",0xC000005CL},\n           {\"A mandatory group may not be disabled.\"    ,\"STATUS_CANT_DISABLE_MANDATORY\",0xC000005DL},\n           {\"There are currently no logon servers available to service the logon request.\"    ,\"STATUS_NO_LOGON_SERVERS\",0xC000005EL},\n           {\"A specified logon session does not exist. It may already have been terminated.\"    ,\"STATUS_NO_SUCH_LOGON_SESSION\",0xC000005FL},\n           {\"A specified privilege does not exist.\"    ,\"STATUS_NO_SUCH_PRIVILEGE\",0xC0000060L},\n           {\"A required privilege is not held by the client.\"    ,\"STATUS_PRIVILEGE_NOT_HELD\",0xC0000061L},\n           {\"The name provided is not a properly formed account name.\"    ,\"STATUS_INVALID_ACCOUNT_NAME\",0xC0000062L},\n           {\"The specified user already exists.\"    ,\"STATUS_USER_EXISTS\",0xC0000063L},\n           {\"The specified user does not exist.\"    ,\"STATUS_NO_SUCH_USER\",0xC0000064L},\n           {\"The specified group already exists.\"    ,\"STATUS_GROUP_EXISTS\",0xC0000065L},\n           {\"The specified group does not exist.\"    ,\"STATUS_NO_SUCH_GROUP\",0xC0000066L},\n           {\"The specified user account is already in the specified group account.\"\n\"Also used to indicate a group cannot be deleted because it contains a member.\"    ,\"STATUS_MEMBER_IN_GROUP\",0xC0000067L},\n           {\"The specified user account is not a member of the specified group account.\"    ,\"STATUS_MEMBER_NOT_IN_GROUP\",0xC0000068L},\n           {\"Indicates the requested operation would disable or delete the last remaining administration account.\"\n\"This is not allowed to prevent creating a situation in which the system cannot be administrated.\"    ,\"STATUS_LAST_ADMIN\",0xC0000069L},\n           {\"When trying to update a password, this return status indicates that the value provided as the current password is not correct.\"    ,\"STATUS_WRONG_PASSWORD\",0xC000006AL},\n           {\"When trying to update a password, this return status indicates that the value provided for the new password contains values that are not allowed in passwords.\"    ,\"STATUS_ILL_FORMED_PASSWORD\",0xC000006BL},\n           {\"When trying to update a password, this status indicates that some password update rule has been violated. For example, the password may not meet length criteria.\"    ,\"STATUS_PASSWORD_RESTRICTION\",0xC000006CL},\n           {\"The attempted logon is invalid. This is either due to a bad username or authentication information.\"    ,\"STATUS_LOGON_FAILURE\",0xC000006DL},\n           {\"Indicates a referenced user name and authentication information are valid, but some user account restriction has prevented successful authentication (such as time-of-day restrictions).\"    ,\"STATUS_ACCOUNT_RESTRICTION\",0xC000006EL},\n           {\"The user account has time restrictions and may not be logged onto at this time.\"    ,\"STATUS_INVALID_LOGON_HOURS\",0xC000006FL},\n           {\"The user account is restricted such that it may not be used to log on from the source workstation.\"    ,\"STATUS_INVALID_WORKSTATION\",0xC0000070L},\n           {\"The user account's password has expired.\"    ,\"STATUS_PASSWORD_EXPIRED\",0xC0000071L},\n           {\"The referenced account is currently disabled and may not be logged on to.\"    ,\"STATUS_ACCOUNT_DISABLED\",0xC0000072L},\n           {\"None of the information to be translated has been translated.\"    ,\"STATUS_NONE_MAPPED\",0xC0000073L},\n           {\"The number of LUIDs requested may not be allocated with a single allocation.\"    ,\"STATUS_TOO_MANY_LUIDS_REQUESTED\",0xC0000074L},\n           {\"Indicates there are no more LUIDs to allocate.\"    ,\"STATUS_LUIDS_EXHAUSTED\",0xC0000075L},\n           {\"Indicates the sub-authority value is invalid for the particular use.\"    ,\"STATUS_INVALID_SUB_AUTHORITY\",0xC0000076L},\n           {\"Indicates the ACL structure is not valid.\"    ,\"STATUS_INVALID_ACL\",0xC0000077L},\n           {\"Indicates the SID structure is not valid.\"    ,\"STATUS_INVALID_SID\",0xC0000078L},\n           {\"Indicates the SECURITY_DESCRIPTOR structure is not valid.\"    ,\"STATUS_INVALID_SECURITY_DESCR\",0xC0000079L},\n           {\"Indicates the specified procedure address cannot be found in the DLL.\"    ,\"STATUS_PROCEDURE_NOT_FOUND\",0xC000007AL},\n           {\"{Bad Image}\"\n\"The application or DLL %hs is not a valid Windows image. Please check this against your installation diskette.\"    ,\"STATUS_INVALID_IMAGE_FORMAT\",0xC000007BL},\n           {\"An attempt was made to reference a token that doesn't exist.\"\n\"This is typically done by referencing the token associated with a thread when the thread is not impersonating a client.\"    ,\"STATUS_NO_TOKEN\",0xC000007CL},\n           {\"Indicates that an attempt to build either an inherited ACL or ACE was not successful.\"\n\"This can be caused by a number of things. One of the more probable causes is the replacement of a CreatorId with an SID that didn't fit into the ACE or ACL.\"    ,\"STATUS_BAD_INHERITANCE_ACL\",0xC000007DL},\n           {\"The range specified in NtUnlockFile was not locked.\"    ,\"STATUS_RANGE_NOT_LOCKED\",0xC000007EL},\n           {\"An operation failed because the disk was full.\"    ,\"STATUS_DISK_FULL\",0xC000007FL},\n           {\"The GUID allocation server is [already] disabled at the moment.\"    ,\"STATUS_SERVER_DISABLED\",0xC0000080L},\n           {\"The GUID allocation server is [already] enabled at the moment.\"    ,\"STATUS_SERVER_NOT_DISABLED\",0xC0000081L},\n           {\"Too many GUIDs were requested from the allocation server at once.\"    ,\"STATUS_TOO_MANY_GUIDS_REQUESTED\",0xC0000082L},\n           {\"The GUIDs could not be allocated because the Authority Agent was exhausted.\"    ,\"STATUS_GUIDS_EXHAUSTED\",0xC0000083L},\n           {\"The value provided was an invalid value for an identifier authority.\"    ,\"STATUS_INVALID_ID_AUTHORITY\",0xC0000084L},\n           {\"There are no more authority agent values available for the given identifier authority value.\"    ,\"STATUS_AGENTS_EXHAUSTED\",0xC0000085L},\n           {\"An invalid volume label has been specified.\"    ,\"STATUS_INVALID_VOLUME_LABEL\",0xC0000086L},\n           {\"A mapped section could not be extended.\"    ,\"STATUS_SECTION_NOT_EXTENDED\",0xC0000087L},\n           {\"Specified section to flush does not map a data file.\"    ,\"STATUS_NOT_MAPPED_DATA\",0xC0000088L},\n           {\"Indicates the specified image file did not contain a resource section.\"    ,\"STATUS_RESOURCE_DATA_NOT_FOUND\",0xC0000089L},\n           {\"Indicates the specified resource type cannot be found in the image file.\"    ,\"STATUS_RESOURCE_TYPE_NOT_FOUND\",0xC000008AL},\n           {\"Indicates the specified resource name cannot be found in the image file.\"    ,\"STATUS_RESOURCE_NAME_NOT_FOUND\",0xC000008BL},\n           {\"{EXCEPTION}\"\n\"Array bounds exceeded.\"    ,\"STATUS_ARRAY_BOUNDS_EXCEEDED\",0xC000008CL},\n           {\"{EXCEPTION}\"\n\"Floating-point denormal operand.\"    ,\"STATUS_FLOAT_DENORMAL_OPERAND\",0xC000008DL},\n           {\"{EXCEPTION}\"\n\"Floating-point division by zero.\"    ,\"STATUS_FLOAT_DIVIDE_BY_ZERO\",0xC000008EL},\n           {\"{EXCEPTION}\"\n\"Floating-point inexact result.\"    ,\"STATUS_FLOAT_INEXACT_RESULT\",0xC000008FL},\n           {\"{EXCEPTION}\"\n\"Floating-point invalid operation.\"    ,\"STATUS_FLOAT_INVALID_OPERATION\",0xC0000090L},\n           {\"{EXCEPTION}\"\n\"Floating-point overflow.\"    ,\"STATUS_FLOAT_OVERFLOW\",0xC0000091L},\n           {\"{EXCEPTION}\"\n\"Floating-point stack check.\"    ,\"STATUS_FLOAT_STACK_CHECK\",0xC0000092L},\n           {\"{EXCEPTION}\"\n\"Floating-point underflow.\"    ,\"STATUS_FLOAT_UNDERFLOW\",0xC0000093L},\n           {\"{EXCEPTION}\"\n\"Integer division by zero.\"    ,\"STATUS_INTEGER_DIVIDE_BY_ZERO\",0xC0000094L},\n           {\"{EXCEPTION}\"\n\"Integer overflow.\"    ,\"STATUS_INTEGER_OVERFLOW\",0xC0000095L},\n           {\"{EXCEPTION}\"\n\"Privileged instruction.\"    ,\"STATUS_PRIVILEGED_INSTRUCTION\",0xC0000096L},\n           {\"An attempt was made to install more paging files than the system supports.\"    ,\"STATUS_TOO_MANY_PAGING_FILES\",0xC0000097L},\n           {\"The volume for a file has been externally altered such that the opened file is no longer valid.\"    ,\"STATUS_FILE_INVALID\",0xC0000098L},\n           {\"When a block of memory is allotted for future updates, such as the memory allocated to hold discretionary access control and primary group information, successive updates may exceed the amount of memory originally allotted.\"\n\"Since quota may already have been charged to several processes which have handles to the object, it is not reasonable to alter the size of the allocated memory.\"\n\"Instead, a request that requires more memory than has been allotted must fail and the STATUS_ALLOTED_SPACE_EXCEEDED error returned.\"    ,\"STATUS_ALLOTTED_SPACE_EXCEEDED\",0xC0000099L},\n           {\"Insufficient system resources exist to complete the API.\"    ,\"STATUS_INSUFFICIENT_RESOURCES\",0xC000009AL},\n           {\"An attempt has been made to open a DFS exit path control file.\"    ,\"STATUS_DFS_EXIT_PATH_FOUND\",0xC000009BL},\n           {\"STATUS_DEVICE_DATA_ERROR\"    ,\"STATUS_DEVICE_DATA_ERROR\",0xC000009CL},\n           {\"STATUS_DEVICE_NOT_CONNECTED\"    ,\"STATUS_DEVICE_NOT_CONNECTED\",0xC000009DL},\n           {\"STATUS_DEVICE_POWER_FAILURE\"    ,\"STATUS_DEVICE_POWER_FAILURE\",0xC000009EL},\n           {\"Virtual memory cannot be freed as base address is not the base of the region and a region size of zero was specified.\"    ,\"STATUS_FREE_VM_NOT_AT_BASE\",0xC000009FL},\n           {\"An attempt was made to free virtual memory which is not allocated.\"    ,\"STATUS_MEMORY_NOT_ALLOCATED\",0xC00000A0L},\n           {\"The working set is not big enough to allow the requested pages to be locked.\"    ,\"STATUS_WORKING_SET_QUOTA\",0xC00000A1L},\n           {\"{Write Protect Error}\"\n\"The disk cannot be written to because it is write protected.\"\n\"Please remove the write protection from the volume %hs in drive %hs.\"    ,\"STATUS_MEDIA_WRITE_PROTECTED\",0xC00000A2L},\n           {\"{Drive Not Ready}\"\n\"The drive is not ready for use; its door may be open.\"\n\"Please check drive %hs and make sure that a disk is inserted and that the drive door is closed.\"    ,\"STATUS_DEVICE_NOT_READY\",0xC00000A3L},\n           {\"The specified attributes are invalid, or incompatible with the attributes for the group as a whole.\"    ,\"STATUS_INVALID_GROUP_ATTRIBUTES\",0xC00000A4L},\n           {\"A specified impersonation level is invalid.\"\n\"Also used to indicate a required impersonation level was not provided.\"    ,\"STATUS_BAD_IMPERSONATION_LEVEL\",0xC00000A5L},\n           {\"An attempt was made to open an Anonymous level token.\"\n\"Anonymous tokens may not be opened.\"    ,\"STATUS_CANT_OPEN_ANONYMOUS\",0xC00000A6L},\n           {\"The validation information class requested was invalid.\"    ,\"STATUS_BAD_VALIDATION_CLASS\",0xC00000A7L},\n           {\"The type of a token object is inappropriate for its attempted use.\"    ,\"STATUS_BAD_TOKEN_TYPE\",0xC00000A8L},\n           {\"The type of a token object is inappropriate for its attempted use.\"    ,\"STATUS_BAD_MASTER_BOOT_RECORD\",0xC00000A9L},\n           {\"An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references.\"    ,\"STATUS_INSTRUCTION_MISALIGNMENT\",0xC00000AAL},\n           {\"The maximum named pipe instance count has been reached.\"    ,\"STATUS_INSTANCE_NOT_AVAILABLE\",0xC00000ABL},\n           {\"An instance of a named pipe cannot be found in the listening state.\"    ,\"STATUS_PIPE_NOT_AVAILABLE\",0xC00000ACL},\n           {\"The named pipe is not in the connected or closing state.\"    ,\"STATUS_INVALID_PIPE_STATE\",0xC00000ADL},\n           {\"The specified pipe is set to complete operations and there are current I/O operations queued so it cannot be changed to queue operations.\"    ,\"STATUS_PIPE_BUSY\",0xC00000AEL},\n           {\"The specified handle is not open to the server end of the named pipe.\"    ,\"STATUS_ILLEGAL_FUNCTION\",0xC00000AFL},\n           {\"The specified named pipe is in the disconnected state.\"    ,\"STATUS_PIPE_DISCONNECTED\",0xC00000B0L},\n           {\"The specified named pipe is in the closing state.\"    ,\"STATUS_PIPE_CLOSING\",0xC00000B1L},\n           {\"The specified named pipe is in the connected state.\"    ,\"STATUS_PIPE_CONNECTED\",0xC00000B2L},\n           {\"The specified named pipe is in the listening state.\"    ,\"STATUS_PIPE_LISTENING\",0xC00000B3L},\n           {\"The specified named pipe is not in message mode.\"    ,\"STATUS_INVALID_READ_MODE\",0xC00000B4L},\n           {\"{Device Timeout}\"\n\"The specified I/O operation on %hs was not completed before the time-out period expired.\"    ,\"STATUS_IO_TIMEOUT\",0xC00000B5L},\n           {\"The specified file has been closed by another process.\"    ,\"STATUS_FILE_FORCED_CLOSED\",0xC00000B6L},\n           {\"Profiling not started.\"    ,\"STATUS_PROFILING_NOT_STARTED\",0xC00000B7L},\n           {\"Profiling not stopped.\"    ,\"STATUS_PROFILING_NOT_STOPPED\",0xC00000B8L},\n           {\"The passed ACL did not contain the minimum required information.\"    ,\"STATUS_COULD_NOT_INTERPRET\",0xC00000B9L},\n           {\"The file that was specified as a target is a directory and the caller specified that it could be anything but a directory.\"    ,\"STATUS_FILE_IS_A_DIRECTORY\",0xC00000BAL},\n           {\"The request is not supported.\"    ,\"STATUS_NOT_SUPPORTED\",0xC00000BBL},\n           {\"This remote computer is not listening.\"    ,\"STATUS_REMOTE_NOT_LISTENING\",0xC00000BCL},\n           {\"A duplicate name exists on the network.\"    ,\"STATUS_DUPLICATE_NAME\",0xC00000BDL},\n           {\"The network path cannot be located.\"    ,\"STATUS_BAD_NETWORK_PATH\",0xC00000BEL},\n           {\"The network is busy.\"    ,\"STATUS_NETWORK_BUSY\",0xC00000BFL},\n           {\"This device does not exist.\"    ,\"STATUS_DEVICE_DOES_NOT_EXIST\",0xC00000C0L},\n           {\"The network BIOS command limit has been reached.\"    ,\"STATUS_TOO_MANY_COMMANDS\",0xC00000C1L},\n           {\"An I/O adapter hardware error has occurred.\"    ,\"STATUS_ADAPTER_HARDWARE_ERROR\",0xC00000C2L},\n           {\"The network responded incorrectly.\"    ,\"STATUS_INVALID_NETWORK_RESPONSE\",0xC00000C3L},\n           {\"An unexpected network error occurred.\"    ,\"STATUS_UNEXPECTED_NETWORK_ERROR\",0xC00000C4L},\n           {\"The remote adapter is not compatible.\"    ,\"STATUS_BAD_REMOTE_ADAPTER\",0xC00000C5L},\n           {\"The printer queue is full.\"    ,\"STATUS_PRINT_QUEUE_FULL\",0xC00000C6L},\n           {\"Space to store the file waiting to be printed is not available on the server.\"    ,\"STATUS_NO_SPOOL_SPACE\",0xC00000C7L},\n           {\"The requested print file has been canceled.\"    ,\"STATUS_PRINT_CANCELLED\",0xC00000C8L},\n           {\"The network name was deleted.\"    ,\"STATUS_NETWORK_NAME_DELETED\",0xC00000C9L},\n           {\"Network access is denied.\"    ,\"STATUS_NETWORK_ACCESS_DENIED\",0xC00000CAL},\n           {\"{Incorrect Network Resource Type}\"\n\"The specified device type (LPT, for example) conflicts with the actual device type on the remote resource.\"    ,\"STATUS_BAD_DEVICE_TYPE\",0xC00000CBL},\n           {\"{Network Name Not Found}\"\n\"The specified share name cannot be found on the remote server.\"    ,\"STATUS_BAD_NETWORK_NAME\",0xC00000CCL},\n           {\"The name limit for the local computer network adapter card was exceeded.\"    ,\"STATUS_TOO_MANY_NAMES\",0xC00000CDL},\n           {\"The network BIOS session limit was exceeded.\"    ,\"STATUS_TOO_MANY_SESSIONS\",0xC00000CEL},\n           {\"File sharing has been temporarily paused.\"    ,\"STATUS_SHARING_PAUSED\",0xC00000CFL},\n           {\"No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.\"    ,\"STATUS_REQUEST_NOT_ACCEPTED\",0xC00000D0L},\n           {\"Print or disk redirection is temporarily paused.\"    ,\"STATUS_REDIRECTOR_PAUSED\",0xC00000D1L},\n           {\"A network data fault occurred.\"    ,\"STATUS_NET_WRITE_FAULT\",0xC00000D2L},\n           {\"The number of active profiling objects is at the maximum and no more may be started.\"    ,\"STATUS_PROFILING_AT_LIMIT\",0xC00000D3L},\n           {\"{Incorrect Volume}\"\n\"The target file of a rename request is located on a different device than the source of the rename request.\"    ,\"STATUS_NOT_SAME_DEVICE\",0xC00000D4L},\n           {\"The file specified has been renamed and thus cannot be modified.\"    ,\"STATUS_FILE_RENAMED\",0xC00000D5L},\n           {\"{Network Request Timeout}\"\n\"The session with a remote server has been disconnected because the time-out interval for a request has expired.\"    ,\"STATUS_VIRTUAL_CIRCUIT_CLOSED\",0xC00000D6L},\n           {\"Indicates an attempt was made to operate on the security of an object that does not have security associated with it.\"    ,\"STATUS_NO_SECURITY_ON_OBJECT\",0xC00000D7L},\n           {\"Used to indicate that an operation cannot continue without blocking for I/O.\"    ,\"STATUS_CANT_WAIT\",0xC00000D8L},\n           {\"Used to indicate that a read operation was done on an empty pipe.\"    ,\"STATUS_PIPE_EMPTY\",0xC00000D9L},\n           {\"Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied.\"    ,\"STATUS_CANT_ACCESS_DOMAIN_INFO\",0xC00000DAL},\n           {\"Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL},\"    ,\"STATUS_CANT_TERMINATE_SELF\",0xC00000DBL},\n           {\"Indicates the Sam Server was in the wrong state to perform the desired operation.\"    ,\"STATUS_INVALID_SERVER_STATE\",0xC00000DCL},\n           {\"Indicates the Domain was in the wrong state to perform the desired operation.\"    ,\"STATUS_INVALID_DOMAIN_STATE\",0xC00000DDL},\n           {\"This operation is only allowed for the Primary Domain Controller of the domain.\"    ,\"STATUS_INVALID_DOMAIN_ROLE\",0xC00000DEL},\n           {\"The specified Domain did not exist.\"    ,\"STATUS_NO_SUCH_DOMAIN\",0xC00000DFL},\n           {\"The specified Domain already exists.\"    ,\"STATUS_DOMAIN_EXISTS\",0xC00000E0L},\n           {\"An attempt was made to exceed the limit on the number of domains per server for this release.\"    ,\"STATUS_DOMAIN_LIMIT_EXCEEDED\",0xC00000E1L},\n           {\"Error status returned when oplock request is denied.\"    ,\"STATUS_OPLOCK_NOT_GRANTED\",0xC00000E2L},\n           {\"Error status returned when an invalid oplock acknowledgment is received by a file system.\"    ,\"STATUS_INVALID_OPLOCK_PROTOCOL\",0xC00000E3L},\n           {\"This error indicates that the requested operation cannot be completed due to a catastrophic media failure or on-disk data structure corruption.\"    ,\"STATUS_INTERNAL_DB_CORRUPTION\",0xC00000E4L},\n           {\"An internal error occurred.\"    ,\"STATUS_INTERNAL_ERROR\",0xC00000E5L},\n           {\"Indicates generic access types were contained in an access mask which should already be mapped to non-generic access types.\"    ,\"STATUS_GENERIC_NOT_MAPPED\",0xC00000E6L},\n           {\"Indicates a security descriptor is not in the necessary format (absolute or self-relative).\"    ,\"STATUS_BAD_DESCRIPTOR_FORMAT\",0xC00000E7L},\n           {\"An access to a user buffer failed at an \\\"expected\\\" point in time.\"\n\"This code is defined since the caller does not want to accept STATUS_ACCESS_VIOLATION in its filter.\"    ,\"STATUS_INVALID_USER_BUFFER\",0xC00000E8L},\n           {\"If an I/O error is returned which is not defined in the standard FsRtl filter, it is converted to the following error which is guaranteed to be in the filter.\"\n\"In this case information is lost, however, the filter correctly handles the exception.\"    ,\"STATUS_UNEXPECTED_IO_ERROR\",0xC00000E9L},\n           {\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter.\"\n\"In this case information is lost, however, the filter correctly handles the exception.\"    ,\"STATUS_UNEXPECTED_MM_CREATE_ERR\",0xC00000EAL},\n           {\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter.\"\n\"In this case information is lost, however, the filter correctly handles the exception.\"    ,\"STATUS_UNEXPECTED_MM_MAP_ERROR\",0xC00000EBL},\n           {\"If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter.\"\n\"In this case information is lost, however, the filter correctly handles the exception.\"    ,\"STATUS_UNEXPECTED_MM_EXTEND_ERR\",0xC00000ECL},\n           {\"The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process.\"    ,\"STATUS_NOT_LOGON_PROCESS\",0xC00000EDL},\n           {\"An attempt has been made to start a new session manager or LSA logon session with an ID that is already in use.\"    ,\"STATUS_LOGON_SESSION_EXISTS\",0xC00000EEL},\n           {\"An invalid parameter was passed to a service or function as the first argument.\"    ,\"STATUS_INVALID_PARAMETER_1\",0xC00000EFL},\n           {\"An invalid parameter was passed to a service or function as the second argument.\"    ,\"STATUS_INVALID_PARAMETER_2\",0xC00000F0L},\n           {\"An invalid parameter was passed to a service or function as the third argument.\"    ,\"STATUS_INVALID_PARAMETER_3\",0xC00000F1L},\n           {\"An invalid parameter was passed to a service or function as the fourth argument.\"    ,\"STATUS_INVALID_PARAMETER_4\",0xC00000F2L},\n           {\"An invalid parameter was passed to a service or function as the fifth argument.\"    ,\"STATUS_INVALID_PARAMETER_5\",0xC00000F3L},\n           {\"An invalid parameter was passed to a service or function as the sixth argument.\"    ,\"STATUS_INVALID_PARAMETER_6\",0xC00000F4L},\n           {\"An invalid parameter was passed to a service or function as the seventh argument.\"    ,\"STATUS_INVALID_PARAMETER_7\",0xC00000F5L},\n           {\"An invalid parameter was passed to a service or function as the eighth argument.\"    ,\"STATUS_INVALID_PARAMETER_8\",0xC00000F6L},\n           {\"An invalid parameter was passed to a service or function as the ninth argument.\"    ,\"STATUS_INVALID_PARAMETER_9\",0xC00000F7L},\n           {\"An invalid parameter was passed to a service or function as the tenth argument.\"    ,\"STATUS_INVALID_PARAMETER_10\",0xC00000F8L},\n           {\"An invalid parameter was passed to a service or function as the eleventh argument.\"    ,\"STATUS_INVALID_PARAMETER_11\",0xC00000F9L},\n           {\"An invalid parameter was passed to a service or function as the twelfth argument.\"    ,\"STATUS_INVALID_PARAMETER_12\",0xC00000FAL},\n           {\"An attempt was made to access a network file, but the network software was not yet started.\"    ,\"STATUS_REDIRECTOR_NOT_STARTED\",0xC00000FBL},\n           {\"An attempt was made to start the redirector, but the redirector has already been started.\"    ,\"STATUS_REDIRECTOR_STARTED\",0xC00000FCL},\n           {\"A new guard page for the stack cannot be created.\"    ,\"STATUS_STACK_OVERFLOW\",0xC00000FDL},\n           {\"A specified authentication package is unknown.\"    ,\"STATUS_NO_SUCH_PACKAGE\",0xC00000FEL},\n           {\"A malformed function table was encountered during an unwind operation.\"    ,\"STATUS_BAD_FUNCTION_TABLE\",0xC00000FFL},\n           {\"Indicates the specified environment variable name was not found in the specified environment block.\"    ,\"STATUS_VARIABLE_NOT_FOUND\",0xC0000100L},\n           {\"Indicates that the directory trying to be deleted is not empty.\"    ,\"STATUS_DIRECTORY_NOT_EMPTY\",0xC0000101L},\n           {\"{Corrupt File}\"\n\"The file or directory %hs is corrupt and unreadable.\"\n\"Please run the Chkdsk utility.\"    ,\"STATUS_FILE_CORRUPT_ERROR\",0xC0000102L},\n           {\"A requested opened file is not a directory.\"    ,\"STATUS_NOT_A_DIRECTORY\",0xC0000103L},\n           {\"The logon session is not in a state that is consistent with the requested operation.\"    ,\"STATUS_BAD_LOGON_SESSION_STATE\",0xC0000104L},\n           {\"An internal LSA error has occurred. An authentication package has requested the creation of a Logon Session but the ID of an already existing Logon Session has been specified.\"    ,\"STATUS_LOGON_SESSION_COLLISION\",0xC0000105L},\n           {\"A specified name string is too long for its intended use.\"    ,\"STATUS_NAME_TOO_LONG\",0xC0000106L},\n           {\"The user attempted to force close the files on a redirected drive, but there were opened files on the drive, and the user did not specify a sufficient level of force.\"    ,\"STATUS_FILES_OPEN\",0xC0000107L},\n           {\"The user attempted to force close the files on a redirected drive, but there were opened directories on the drive, and the user did not specify a sufficient level of force.\"    ,\"STATUS_CONNECTION_IN_USE\",0xC0000108L},\n           {\"RtlFindMessage could not locate the requested message ID in the message table resource.\"    ,\"STATUS_MESSAGE_NOT_FOUND\",0xC0000109L},\n           {\"An attempt was made to duplicate an object handle into or out of an exiting process.\"    ,\"STATUS_PROCESS_IS_TERMINATING\",0xC000010AL},\n           {\"Indicates an invalid value has been provided for the LogonType requested.\"    ,\"STATUS_INVALID_LOGON_TYPE\",0xC000010BL},\n           {\"Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system.\"\n\"This causes the protection attempt to fail, which may cause a file creation attempt to fail.\"    ,\"STATUS_NO_GUID_TRANSLATION\",0xC000010CL},\n           {\"Indicates that an attempt has been made to impersonate via a named pipe that has not yet been read from.\"    ,\"STATUS_CANNOT_IMPERSONATE\",0xC000010DL},\n           {\"Indicates that the specified image is already loaded.\"    ,\"STATUS_IMAGE_ALREADY_LOADED\",0xC000010EL},\n           {\"STATUS_ABIOS_NOT_PRESENT\"    ,\"STATUS_ABIOS_NOT_PRESENT\",0xC000010FL},\n           {\"STATUS_ABIOS_LID_NOT_EXIST\"    ,\"STATUS_ABIOS_LID_NOT_EXIST\",0xC0000110L},\n           {\"STATUS_ABIOS_LID_ALREADY_OWNED\"    ,\"STATUS_ABIOS_LID_ALREADY_OWNED\",0xC0000111L},\n           {\"STATUS_ABIOS_NOT_LID_OWNER\"    ,\"STATUS_ABIOS_NOT_LID_OWNER\",0xC0000112L},\n           {\"STATUS_ABIOS_INVALID_COMMAND\"    ,\"STATUS_ABIOS_INVALID_COMMAND\",0xC0000113L},\n           {\"STATUS_ABIOS_INVALID_LID\"    ,\"STATUS_ABIOS_INVALID_LID\",0xC0000114L},\n           {\"STATUS_ABIOS_SELECTOR_NOT_AVAILABLE\"    ,\"STATUS_ABIOS_SELECTOR_NOT_AVAILABLE\",0xC0000115L},\n           {\"STATUS_ABIOS_INVALID_SELECTOR\"    ,\"STATUS_ABIOS_INVALID_SELECTOR\",0xC0000116L},\n           {\"Indicates that an attempt was made to change the size of the LDT for a process that has no LDT.\"    ,\"STATUS_NO_LDT\",0xC0000117L},\n           {\"Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors.\"    ,\"STATUS_INVALID_LDT_SIZE\",0xC0000118L},\n           {\"Indicates that the starting value for the LDT information was not an integral multiple of the selector size.\"    ,\"STATUS_INVALID_LDT_OFFSET\",0xC0000119L},\n           {\"Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors.\"    ,\"STATUS_INVALID_LDT_DESCRIPTOR\",0xC000011AL},\n           {\"The specified image file did not have the correct format. It appears to be NE format.\"    ,\"STATUS_INVALID_IMAGE_NE_FORMAT\",0xC000011BL},\n           {\"Indicates that the transaction state of a registry sub-tree is incompatible with the requested operation.\"\n\"For example, a request has been made to start a new transaction with one already in progress,\"\n\"or a request has been made to apply a transaction when one is not currently in progress.\"    ,\"STATUS_RXACT_INVALID_STATE\",0xC000011CL},\n           {\"Indicates an error has occurred during a registry transaction commit.\"\n\"The database has been left in an unknown, but probably inconsistent, state.\"\n\"The state of the registry transaction is left as COMMITTING.\"    ,\"STATUS_RXACT_COMMIT_FAILURE\",0xC000011DL},\n           {\"An attempt was made to map a file of size zero with the maximum size specified as zero.\"    ,\"STATUS_MAPPED_FILE_SIZE_ZERO\",0xC000011EL},\n           {\"Too many files are opened on a remote server.\"\n\"This error should only be returned by the Windows redirector on a remote drive.\"    ,\"STATUS_TOO_MANY_OPENED_FILES\",0xC000011FL},\n           {\"The I/O request was canceled.\"    ,\"STATUS_CANCELLED\",0xC0000120L},\n           {\"An attempt has been made to remove a file or directory that cannot be deleted.\"    ,\"STATUS_CANNOT_DELETE\",0xC0000121L},\n           {\"Indicates a name specified as a remote computer name is syntactically invalid.\"    ,\"STATUS_INVALID_COMPUTER_NAME\",0xC0000122L},\n           {\"An I/O request other than close was performed on a file after it has been deleted,\"\n\"which can only happen to a request which did not complete before the last handle was closed via NtClose.\"    ,\"STATUS_FILE_DELETED\",0xC0000123L},\n           {\"Indicates an operation has been attempted on a built-in (speciaL},\"\n\"For example, built-in accounts cannot be deleted.\"    ,\"STATUS_SPECIAL_ACCOUNT\",0xC0000124L},\n           {\"The operation requested may not be performed on the specified group because it is a built-in special group.\"    ,\"STATUS_SPECIAL_GROUP\",0xC0000125L},\n           {\"The operation requested may not be performed on the specified user because it is a built-in special user.\"    ,\"STATUS_SPECIAL_USER\",0xC0000126L},\n           {\"Indicates a member cannot be removed from a group because the group is currently the member's primary group.\"    ,\"STATUS_MEMBERS_PRIMARY_GROUP\",0xC0000127L},\n           {\"An I/O request other than close and several other special case operations was attempted using a file object that had already been closed.\"    ,\"STATUS_FILE_CLOSED\",0xC0000128L},\n           {\"Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads.\"    ,\"STATUS_TOO_MANY_THREADS\",0xC0000129L},\n           {\"An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified.\"    ,\"STATUS_THREAD_NOT_IN_PROCESS\",0xC000012AL},\n           {\"An attempt was made to establish a token for use as a primary token but the token is already in use. A token can only be the primary token of one process at a time.\"    ,\"STATUS_TOKEN_ALREADY_IN_USE\",0xC000012BL},\n           {\"Page file quota was exceeded.\"    ,\"STATUS_PAGEFILE_QUOTA_EXCEEDED\",0xC000012CL},\n           {\"{Out of Virtual Memory}\"\n\"Your system is low on virtual memory. To ensure that Windows runs properly, increase the size of your virtual memory paging file. For more information, see Help.\"    ,\"STATUS_COMMITMENT_LIMIT\",0xC000012DL},\n           {\"The specified image file did not have the correct format, it appears to be LE format.\"    ,\"STATUS_INVALID_IMAGE_LE_FORMAT\",0xC000012EL},\n           {\"The specified image file did not have the correct format, it did not have an initial MZ.\"    ,\"STATUS_INVALID_IMAGE_NOT_MZ\",0xC000012FL},\n           {\"The specified image file did not have the correct format, it did not have a proper e_lfarlc in the MZ header.\"    ,\"STATUS_INVALID_IMAGE_PROTECT\",0xC0000130L},\n           {\"The specified image file did not have the correct format, it appears to be a 16-bit Windows image.\"    ,\"STATUS_INVALID_IMAGE_WIN_16\",0xC0000131L},\n           {\"The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role.\"    ,\"STATUS_LOGON_SERVER_CONFLICT\",0xC0000132L},\n           {\"The time at the Primary Domain Controller is different than the time at the Backup Domain Controller or member server by too large an amount.\"    ,\"STATUS_TIME_DIFFERENCE_AT_DC\",0xC0000133L},\n           {\"The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required.\"    ,\"STATUS_SYNCHRONIZATION_REQUIRED\",0xC0000134L},\n           {\"{Unable To Locate Component}\"\n\"This application has failed to start because %hs was not found. Re-installing the application may fix this problem.\"    ,\"STATUS_DLL_NOT_FOUND\",0xC0000135L},\n           {\"The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines.\"    ,\"STATUS_OPEN_FAILED\",0xC0000136L},\n           {\"{Privilege Failed}\"\n\"The I/O permissions for the process could not be changed.\"    ,\"STATUS_IO_PRIVILEGE_FAILED\",0xC0000137L},\n           {\"{Ordinal Not Found}\"\n\"The ordinal %ld could not be located in the dynamic link library %hs.\"    ,\"STATUS_ORDINAL_NOT_FOUND\",0xC0000138L},\n           {\"{Entry Point Not Found}\"\n\"The procedure entry point %hs could not be located in the dynamic link library %hs.\"    ,\"STATUS_ENTRYPOINT_NOT_FOUND\",0xC0000139L},\n           {\"{Application Exit by CTRL+C}\"\n\"The application terminated as a result of a CTRL+C.\"    ,\"STATUS_CONTROL_C_EXIT\",0xC000013AL},\n           {\"{Virtual Circuit Closed}\"\n\"The network transport on your computer has closed a network connection. There may or may not be I/O requests outstanding.\"    ,\"STATUS_LOCAL_DISCONNECT\",0xC000013BL},\n           {\"{Virtual Circuit Closed}\"\n\"The network transport on a remote computer has closed a network connection. There may or may not be I/O requests outstanding.\"    ,\"STATUS_REMOTE_DISCONNECT\",0xC000013CL},\n           {\"{Insufficient Resources on Remote Computer}\"\n\"The remote computer has insufficient resources to complete the network request. For instance, there may not be enough memory available on the remote computer to carry out the request at this time.\"    ,\"STATUS_REMOTE_RESOURCES\",0xC000013DL},\n           {\"{Virtual Circuit Closed}\"\n\"An existing connection (virtual circuit) has been broken at the remote computer. There is probably something wrong with the network software protocol or the network hardware on the remote computer.\"    ,\"STATUS_LINK_FAILED\",0xC000013EL},\n           {\"{Virtual Circuit Closed}\"\n\"The network transport on your computer has closed a network connection because it had to wait too long for a response from the remote computer.\"    ,\"STATUS_LINK_TIMEOUT\",0xC000013FL},\n           {\"The connection handle given to the transport was invalid.\"    ,\"STATUS_INVALID_CONNECTION\",0xC0000140L},\n           {\"The address handle given to the transport was invalid.\"    ,\"STATUS_INVALID_ADDRESS\",0xC0000141L},\n           {\"{DLL Initialization Failed}\"\n\"Initialization of the dynamic link library %hs failed. The process is terminating abnormally.\"    ,\"STATUS_DLL_INIT_FAILED\",0xC0000142L},\n           {\"{Missing System File}\"\n\"The required system file %hs is bad or missing.\"    ,\"STATUS_MISSING_SYSTEMFILE\",0xC0000143L},\n           {\"{Application Error}\"\n\"The exception %s (0x%08lx) occurred in the application at location 0x%08lx.\"    ,\"STATUS_UNHANDLED_EXCEPTION\",0xC0000144L},\n           {\"{Application Error}\"\n\"The application failed to initialize properly (0x%lx). Click on OK to terminate the application.\"    ,\"STATUS_APP_INIT_FAILURE\",0xC0000145L},\n           {\"{Unable to Create Paging File}\"\n\"The creation of the paging file %hs failed (%lx). The requested size was %ld.\"    ,\"STATUS_PAGEFILE_CREATE_FAILED\",0xC0000146L},\n           {\"{No Paging File Specified}\"\n\"No paging file was specified in the system configuration.\"    ,\"STATUS_NO_PAGEFILE\",0xC0000147L},\n           {\"{Incorrect System Call Level}\"\n\"An invalid level was passed into the specified system call.\"    ,\"STATUS_INVALID_LEVEL\",0xC0000148L},\n           {\"{Incorrect Password to LAN Manager Server}\"\n\"You specified an incorrect password to a LAN Manager 2.x or MS-NET server.\"    ,\"STATUS_WRONG_PASSWORD_CORE\",0xC0000149L},\n           {\"{EXCEPTION}\"\n\"A real-mode application issued a floating-point instruction and floating-point hardware is not present.\"    ,\"STATUS_ILLEGAL_FLOAT_CONTEXT\",0xC000014AL},\n           {\"The pipe operation has failed because the other end of the pipe has been closed.\"    ,\"STATUS_PIPE_BROKEN\",0xC000014BL},\n           {\"{The Registry Is Corrupt}\"\n\"The structure of one of the files that contains Registry data is corrupt, or the image of the file in memory is corrupt, or the file could not be recovered because the alternate copy or log was absent or corrupt.\"    ,\"STATUS_REGISTRY_CORRUPT\",0xC000014CL},\n           {\"An I/O operation initiated by the Registry failed unrecoverably.\"\n\"The Registry could not read in, or write out, or flush, one of the files that contain the system's image of the Registry.\"    ,\"STATUS_REGISTRY_IO_FAILED\",0xC000014DL},\n           {\"An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread.\"    ,\"STATUS_NO_EVENT_PAIR\",0xC000014EL},\n           {\"The volume does not contain a recognized file system.\"\n\"Please make sure that all required file system drivers are loaded and that the volume is not corrupt.\"    ,\"STATUS_UNRECOGNIZED_VOLUME\",0xC000014FL},\n           {\"No serial device was successfully initialized. The serial driver will unload.\"    ,\"STATUS_SERIAL_NO_DEVICE_INITED\",0xC0000150L},\n           {\"The specified local group does not exist.\"    ,\"STATUS_NO_SUCH_ALIAS\",0xC0000151L},\n           {\"The specified account name is not a member of the local group.\"    ,\"STATUS_MEMBER_NOT_IN_ALIAS\",0xC0000152L},\n           {\"The specified account name is already a member of the local group.\"    ,\"STATUS_MEMBER_IN_ALIAS\",0xC0000153L},\n           {\"The specified local group already exists.\"    ,\"STATUS_ALIAS_EXISTS\",0xC0000154L},\n           {\"A requested type of logon (e.g., Interactive, Network, Service) is not granted by the target system's local security policy.\"\n\"Please ask the system administrator to grant the necessary form of logon.\"    ,\"STATUS_LOGON_NOT_GRANTED\",0xC0000155L},\n           {\"The maximum number of secrets that may be stored in a single system has been exceeded. The length and number of secrets is limited to satisfy United States State Department export restrictions.\"    ,\"STATUS_TOO_MANY_SECRETS\",0xC0000156L},\n           {\"The length of a secret exceeds the maximum length allowed. The length and number of secrets is limited to satisfy United States State Department export restrictions.\"    ,\"STATUS_SECRET_TOO_LONG\",0xC0000157L},\n           {\"The Local Security Authority (LSA) database contains an internal inconsistency.\"    ,\"STATUS_INTERNAL_DB_ERROR\",0xC0000158L},\n           {\"The requested operation cannot be performed in fullscreen mode.\"    ,\"STATUS_FULLSCREEN_MODE\",0xC0000159L},\n           {\"During a logon attempt, the user's security context accumulated too many security IDs. This is a very unusual situation.\"\n\"Remove the user from some global or local groups to reduce the number of security ids to incorporate into the security context.\"    ,\"STATUS_TOO_MANY_CONTEXT_IDS\",0xC000015AL},\n           {\"A user has requested a type of logon (e.g., interactive or network) that has not been granted. An administrator has control over who may logon interactively and through the network.\"    ,\"STATUS_LOGON_TYPE_NOT_GRANTED\",0xC000015BL},\n           {\"The system has attempted to load or restore a file into the registry, and the specified file is not in the format of a registry file.\"    ,\"STATUS_NOT_REGISTRY_FILE\",0xC000015CL},\n           {\"An attempt was made to change a user password in the security account manager without providing the necessary Windows cross-encrypted password.\"    ,\"STATUS_NT_CROSS_ENCRYPTION_REQUIRED\",0xC000015DL},\n           {\"A Windows Server has an incorrect configuration.\"    ,\"STATUS_DOMAIN_CTRLR_CONFIG_ERROR\",0xC000015EL},\n           {\"An attempt was made to explicitly access the secondary copy of information via a device control to the Fault Tolerance driver and the secondary copy is not present in the system.\"    ,\"STATUS_FT_MISSING_MEMBER\",0xC000015FL},\n           {\"A configuration registry node representing a driver service entry was ill-formed and did not contain required value entries.\"    ,\"STATUS_ILL_FORMED_SERVICE_ENTRY\",0xC0000160L},\n           {\"An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE.\"    ,\"STATUS_ILLEGAL_CHARACTER\",0xC0000161L},\n           {\"No mapping for the Unicode character exists in the target multi-byte code page.\"    ,\"STATUS_UNMAPPABLE_CHARACTER\",0xC0000162L},\n           {\"The Unicode character is not defined in the Unicode character set installed on the system.\"    ,\"STATUS_UNDEFINED_CHARACTER\",0xC0000163L},\n           {\"The paging file cannot be created on a floppy diskette.\"    ,\"STATUS_FLOPPY_VOLUME\",0xC0000164L},\n           {\"{Floppy Disk Error}\"\n\"While accessing a floppy disk, an ID address mark was not found.\"    ,\"STATUS_FLOPPY_ID_MARK_NOT_FOUND\",0xC0000165L},\n           {\"{Floppy Disk Error}\"\n\"While accessing a floppy disk, the track address from the sector ID field was found to be different than the track address maintained by the controller.\"    ,\"STATUS_FLOPPY_WRONG_CYLINDER\",0xC0000166L},\n           {\"{Floppy Disk Error}\"\n\"The floppy disk controller reported an error that is not recognized by the floppy disk driver.\"    ,\"STATUS_FLOPPY_UNKNOWN_ERROR\",0xC0000167L},\n           {\"{Floppy Disk Error}\"\n\"While accessing a floppy-disk, the controller returned inconsistent results via its registers.\"    ,\"STATUS_FLOPPY_BAD_REGISTERS\",0xC0000168L},\n           {\"{Hard Disk Error}\"\n\"While accessing the hard disk, a recalibrate operation failed, even after retries.\"    ,\"STATUS_DISK_RECALIBRATE_FAILED\",0xC0000169L},\n           {\"{Hard Disk Error}\"\n\"While accessing the hard disk, a disk operation failed even after retries.\"    ,\"STATUS_DISK_OPERATION_FAILED\",0xC000016AL},\n           {\"{Hard Disk Error}\"\n\"While accessing the hard disk, a disk controller reset was needed, but even that failed.\"    ,\"STATUS_DISK_RESET_FAILED\",0xC000016BL},\n           {\"An attempt was made to open a device that was sharing an IRQ with other devices.\"\n\"At least one other device that uses that IRQ was already opened.\"\n\"Two concurrent opens of devices that share an IRQ and only work via interrupts is not supported for the particular bus type that the devices use.\"    ,\"STATUS_SHARED_IRQ_BUSY\",0xC000016CL},\n           {\"{FT Orphaning}\"\n\"A disk that is part of a fault-tolerant volume can no longer be accessed.\"    ,\"STATUS_FT_ORPHANING\",0xC000016DL},\n           {\"The system bios failed to connect a system interrupt to the device or bus for\"\n\"which the device is connected.\"    ,\"STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT\",0xC000016EL},\n           {\"Tape could not be partitioned.\"    ,\"STATUS_PARTITION_FAILURE\",0xC0000172L},\n           {\"When accessing a new tape of a multivolume partition, the current blocksize is incorrect.\"    ,\"STATUS_INVALID_BLOCK_LENGTH\",0xC0000173L},\n           {\"Tape partition information could not be found when loading a tape.\"    ,\"STATUS_DEVICE_NOT_PARTITIONED\",0xC0000174L},\n           {\"Attempt to lock the eject media mechanism fails.\"    ,\"STATUS_UNABLE_TO_LOCK_MEDIA\",0xC0000175L},\n           {\"Unload media fails.\"    ,\"STATUS_UNABLE_TO_UNLOAD_MEDIA\",0xC0000176L},\n           {\"Physical end of tape was detected.\"    ,\"STATUS_EOM_OVERFLOW\",0xC0000177L},\n           {\"{No Media}\"\n\"There is no media in the drive.\"\n\"Please insert media into drive %hs.\"    ,\"STATUS_NO_MEDIA\",0xC0000178L},\n           {\"A member could not be added to or removed from the local group because the member does not exist.\"    ,\"STATUS_NO_SUCH_MEMBER\",0xC000017AL},\n           {\"A new member could not be added to a local group because the member has the wrong account type.\"    ,\"STATUS_INVALID_MEMBER\",0xC000017BL},\n           {\"Illegal operation attempted on a registry key which has been marked for deletion.\"    ,\"STATUS_KEY_DELETED\",0xC000017CL},\n           {\"System could not allocate required space in a registry log.\"    ,\"STATUS_NO_LOG_SPACE\",0xC000017DL},\n           {\"Too many Sids have been specified.\"    ,\"STATUS_TOO_MANY_SIDS\",0xC000017EL},\n           {\"An attempt was made to change a user password in the security account manager without providing the necessary LM cross-encrypted password.\"    ,\"STATUS_LM_CROSS_ENCRYPTION_REQUIRED\",0xC000017FL},\n           {\"An attempt was made to create a symbolic link in a registry key that already has subkeys or values.\"    ,\"STATUS_KEY_HAS_CHILDREN\",0xC0000180L},\n           {\"An attempt was made to create a Stable subkey under a Volatile parent key.\"    ,\"STATUS_CHILD_MUST_BE_VOLATILE\",0xC0000181L},\n           {\"The I/O device is configured incorrectly or the configuration parameters to the driver are incorrect.\"    ,\"STATUS_DEVICE_CONFIGURATION_ERROR\",0xC0000182L},\n           {\"An error was detected between two drivers or within an I/O driver.\"    ,\"STATUS_DRIVER_INTERNAL_ERROR\",0xC0000183L},\n           {\"The device is not in a valid state to perform this request.\"    ,\"STATUS_INVALID_DEVICE_STATE\",0xC0000184L},\n           {\"The I/O device reported an I/O error.\"    ,\"STATUS_IO_DEVICE_ERROR\",0xC0000185L},\n           {\"A protocol error was detected between the driver and the device.\"    ,\"STATUS_DEVICE_PROTOCOL_ERROR\",0xC0000186L},\n           {\"This operation is only allowed for the Primary Domain Controller of the domain.\"    ,\"STATUS_BACKUP_CONTROLLER\",0xC0000187L},\n           {\"Log file space is insufficient to support this operation.\"    ,\"STATUS_LOG_FILE_FULL\",0xC0000188L},\n           {\"A write operation was attempted to a volume after it was dismounted.\"    ,\"STATUS_TOO_LATE\",0xC0000189L},\n           {\"The workstation does not have a trust secret for the primary domain in the local LSA database.\"    ,\"STATUS_NO_TRUST_LSA_SECRET\",0xC000018AL},\n           {\"The SAM database on the Windows Server does not have a computer account for this workstation trust relationship.\"    ,\"STATUS_NO_TRUST_SAM_ACCOUNT\",0xC000018BL},\n           {\"The logon request failed because the trust relationship between the primary domain and the trusted domain failed.\"    ,\"STATUS_TRUSTED_DOMAIN_FAILURE\",0xC000018CL},\n           {\"The logon request failed because the trust relationship between this workstation and the primary domain failed.\"    ,\"STATUS_TRUSTED_RELATIONSHIP_FAILURE\",0xC000018DL},\n           {\"The Eventlog log file is corrupt.\"    ,\"STATUS_EVENTLOG_FILE_CORRUPT\",0xC000018EL},\n           {\"No Eventlog log file could be opened. The Eventlog service did not start.\"    ,\"STATUS_EVENTLOG_CANT_START\",0xC000018FL},\n           {\"The network logon failed. This may be because the validation authority can't be reached.\"    ,\"STATUS_TRUST_FAILURE\",0xC0000190L},\n           {\"An attempt was made to acquire a mutant such that its maximum count would have been exceeded.\"    ,\"STATUS_MUTANT_LIMIT_EXCEEDED\",0xC0000191L},\n           {\"An attempt was made to logon, but the netlogon service was not started.\"    ,\"STATUS_NETLOGON_NOT_STARTED\",0xC0000192L},\n           {\"The user's account has expired.\"    ,\"STATUS_ACCOUNT_EXPIRED\",0xC0000193L},\n           {\"{EXCEPTION}\"\n\"Possible deadlock condition.\"    ,\"STATUS_POSSIBLE_DEADLOCK\",0xC0000194L},\n           {\"Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.\"    ,\"STATUS_NETWORK_CREDENTIAL_CONFLICT\",0xC0000195L},\n           {\"An attempt was made to establish a session to a network server, but there are already too many sessions established to that server.\"    ,\"STATUS_REMOTE_SESSION_LIMIT\",0xC0000196L},\n           {\"The log file has changed between reads.\"    ,\"STATUS_EVENTLOG_FILE_CHANGED\",0xC0000197L},\n           {\"The account used is an Interdomain Trust account. Use your global user account or local user account to access this server.\"    ,\"STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT\",0xC0000198L},\n           {\"The account used is a Computer Account. Use your global user account or local user account to access this server.\"    ,\"STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT\",0xC0000199L},\n           {\"The account used is an Server Trust account. Use your global user account or local user account to access this server.\"    ,\"STATUS_NOLOGON_SERVER_TRUST_ACCOUNT\",0xC000019AL},\n           {\"The name or SID of the domain specified is inconsistent with the trust information for that domain.\"    ,\"STATUS_DOMAIN_TRUST_INCONSISTENT\",0xC000019BL},\n           {\"A volume has been accessed for which a file system driver is required that has not yet been loaded.\"    ,\"STATUS_FS_DRIVER_REQUIRED\",0xC000019CL},\n           {\"There is no user session key for the specified logon session.\"    ,\"STATUS_NO_USER_SESSION_KEY\",0xC0000202L},\n           {\"The remote user session has been deleted.\"    ,\"STATUS_USER_SESSION_DELETED\",0xC0000203L},\n           {\"Indicates the specified resource language ID cannot be found in the\"\n\"image file.\"    ,\"STATUS_RESOURCE_LANG_NOT_FOUND\",0xC0000204L},\n           {\"Insufficient server resources exist to complete the request.\"    ,\"STATUS_INSUFF_SERVER_RESOURCES\",0xC0000205L},\n           {\"The size of the buffer is invalid for the specified operation.\"    ,\"STATUS_INVALID_BUFFER_SIZE\",0xC0000206L},\n           {\"The transport rejected the network address specified as invalid.\"    ,\"STATUS_INVALID_ADDRESS_COMPONENT\",0xC0000207L},\n           {\"The transport rejected the network address specified due to an invalid use of a wildcard.\"    ,\"STATUS_INVALID_ADDRESS_WILDCARD\",0xC0000208L},\n           {\"The transport address could not be opened because all the available addresses are in use.\"    ,\"STATUS_TOO_MANY_ADDRESSES\",0xC0000209L},\n           {\"The transport address could not be opened because it already exists.\"    ,\"STATUS_ADDRESS_ALREADY_EXISTS\",0xC000020AL},\n           {\"The transport address is now closed.\"    ,\"STATUS_ADDRESS_CLOSED\",0xC000020BL},\n           {\"The transport connection is now disconnected.\"    ,\"STATUS_CONNECTION_DISCONNECTED\",0xC000020CL},\n           {\"The transport connection has been reset.\"    ,\"STATUS_CONNECTION_RESET\",0xC000020DL},\n           {\"The transport cannot dynamically acquire any more nodes.\"    ,\"STATUS_TOO_MANY_NODES\",0xC000020EL},\n           {\"The transport aborted a pending transaction.\"    ,\"STATUS_TRANSACTION_ABORTED\",0xC000020FL},\n           {\"The transport timed out a request waiting for a response.\"    ,\"STATUS_TRANSACTION_TIMED_OUT\",0xC0000210L},\n           {\"The transport did not receive a release for a pending response.\"    ,\"STATUS_TRANSACTION_NO_RELEASE\",0xC0000211L},\n           {\"The transport did not find a transaction matching the specific\"\n\"token.\"    ,\"STATUS_TRANSACTION_NO_MATCH\",0xC0000212L},\n           {\"The transport had previously responded to a transaction request.\"    ,\"STATUS_TRANSACTION_RESPONDED\",0xC0000213L},\n           {\"The transport does not recognized the transaction request identifier specified.\"    ,\"STATUS_TRANSACTION_INVALID_ID\",0xC0000214L},\n           {\"The transport does not recognize the transaction request type specified.\"    ,\"STATUS_TRANSACTION_INVALID_TYPE\",0xC0000215L},\n           {\"The transport can only process the specified request on the server side of a session.\"    ,\"STATUS_NOT_SERVER_SESSION\",0xC0000216L},\n           {\"The transport can only process the specified request on the client side of a session.\"    ,\"STATUS_NOT_CLIENT_SESSION\",0xC0000217L},\n           {\"{Registry File Failure}\"\n\"The registry cannot load the hive (file):\"\n\"%hs\"\n\"or its log or alternate.\"\n\"It is corrupt, absent, or not writable.\"    ,\"STATUS_CANNOT_LOAD_REGISTRY_FILE\",0xC0000218L},\n           {\"{Unexpected Failure in DebugActiveProcess}\"\n\"An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error.\"    ,\"STATUS_DEBUG_ATTACH_FAILED\",0xC0000219L},\n           {\"{Fatal System Error}\"\n\"The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x).\"\n\"The system has been shut down.\"    ,\"STATUS_SYSTEM_PROCESS_TERMINATED\",0xC000021AL},\n           {\"{Data Not Accepted}\"\n\"The TDI client could not handle the data received during an indication.\"    ,\"STATUS_DATA_NOT_ACCEPTED\",0xC000021BL},\n           {\"{Unable to Retrieve Browser Server List}\"\n\"The list of servers for this workgroup is not currently available.\"    ,\"STATUS_NO_BROWSER_SERVERS_FOUND\",0xC000021CL},\n           {\"NTVDM encountered a hard error.\"    ,\"STATUS_VDM_HARD_ERROR\",0xC000021DL},\n           {\"{Cancel Timeout}\"\n\"The driver %hs failed to complete a cancelled I/O request in the allotted time.\"    ,\"STATUS_DRIVER_CANCEL_TIMEOUT\",0xC000021EL},\n           {\"{Reply Message Mismatch}\"\n\"An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message.\"    ,\"STATUS_REPLY_MESSAGE_MISMATCH\",0xC000021FL},\n           {\"{Mapped View Alignment Incorrect}\"\n\"An attempt was made to map a view of a file, but either the specified base address or the offset into the file were not aligned on the proper allocation granularity.\"    ,\"STATUS_MAPPED_ALIGNMENT\",0xC0000220L},\n           {\"{Bad Image Checksum}\"\n\"The image %hs is possibly corrupt. The header checksum does not match the computed checksum.\"    ,\"STATUS_IMAGE_CHECKSUM_MISMATCH\",0xC0000221L},\n           {\"{Delayed Write Failed}\"\n\"Windows was unable to save all the data for the file %hs. The data has been lost.\"\n\"This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere.\"    ,\"STATUS_LOST_WRITEBEHIND_DATA\",0xC0000222L},\n           {\"The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window.\"    ,\"STATUS_CLIENT_SERVER_PARAMETERS_INVALID\",0xC0000223L},\n           {\"The user's password must be changed before logging on the first time.\"    ,\"STATUS_PASSWORD_MUST_CHANGE\",0xC0000224L},\n           {\"The object was not found.\"    ,\"STATUS_NOT_FOUND\",0xC0000225L},\n           {\"The stream is not a tiny stream.\"    ,\"STATUS_NOT_TINY_STREAM\",0xC0000226L},\n           {\"A transaction recover failed.\"    ,\"STATUS_RECOVERY_FAILURE\",0xC0000227L},\n           {\"The request must be handled by the stack overflow code.\"    ,\"STATUS_STACK_OVERFLOW_READ\",0xC0000228L},\n           {\"A consistency check failed.\"    ,\"STATUS_FAIL_CHECK\",0xC0000229L},\n           {\"The attempt to insert the ID in the index failed because the ID is already in the index.\"    ,\"STATUS_DUPLICATE_OBJECTID\",0xC000022AL},\n           {\"The attempt to set the object's ID failed because the object already has an ID.\"    ,\"STATUS_OBJECTID_EXISTS\",0xC000022BL},\n           {\"Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream.\"    ,\"STATUS_CONVERT_TO_LARGE\",0xC000022CL},\n           {\"The request needs to be retried.\"    ,\"STATUS_RETRY\",0xC000022DL},\n           {\"The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation.\"    ,\"STATUS_FOUND_OUT_OF_SCOPE\",0xC000022EL},\n           {\"The bucket array must be grown. Retry transaction after doing so.\"    ,\"STATUS_ALLOCATE_BUCKET\",0xC000022FL},\n           {\"The property set specified does not exist on the object.\"    ,\"STATUS_PROPSET_NOT_FOUND\",0xC0000230L},\n           {\"The user/kernel marshalling buffer has overflowed.\"    ,\"STATUS_MARSHALL_OVERFLOW\",0xC0000231L},\n           {\"The supplied variant structure contains invalid data.\"    ,\"STATUS_INVALID_VARIANT\",0xC0000232L},\n           {\"Could not find a domain controller for this domain.\"    ,\"STATUS_DOMAIN_CONTROLLER_NOT_FOUND\",0xC0000233L},\n           {\"The user account has been automatically locked because too many invalid logon attempts or password change attempts have been requested.\"    ,\"STATUS_ACCOUNT_LOCKED_OUT\",0xC0000234L},\n           {\"NtClose was called on a handle that was protected from close via NtSetInformationObject.\"    ,\"STATUS_HANDLE_NOT_CLOSABLE\",0xC0000235L},\n           {\"The transport connection attempt was refused by the remote system.\"    ,\"STATUS_CONNECTION_REFUSED\",0xC0000236L},\n           {\"The transport connection was gracefully closed.\"    ,\"STATUS_GRACEFUL_DISCONNECT\",0xC0000237L},\n           {\"The transport endpoint already has an address associated with it.\"    ,\"STATUS_ADDRESS_ALREADY_ASSOCIATED\",0xC0000238L},\n           {\"An address has not yet been associated with the transport endpoint.\"    ,\"STATUS_ADDRESS_NOT_ASSOCIATED\",0xC0000239L},\n           {\"An operation was attempted on a nonexistent transport connection.\"    ,\"STATUS_CONNECTION_INVALID\",0xC000023AL},\n           {\"An invalid operation was attempted on an active transport connection.\"    ,\"STATUS_CONNECTION_ACTIVE\",0xC000023BL},\n           {\"The remote network is not reachable by the transport.\"    ,\"STATUS_NETWORK_UNREACHABLE\",0xC000023CL},\n           {\"The remote system is not reachable by the transport.\"    ,\"STATUS_HOST_UNREACHABLE\",0xC000023DL},\n           {\"The remote system does not support the transport protocol.\"    ,\"STATUS_PROTOCOL_UNREACHABLE\",0xC000023EL},\n           {\"No service is operating at the destination port of the transport on the remote system.\"    ,\"STATUS_PORT_UNREACHABLE\",0xC000023FL},\n           {\"The request was aborted.\"    ,\"STATUS_REQUEST_ABORTED\",0xC0000240L},\n           {\"The transport connection was aborted by the local system.\"    ,\"STATUS_CONNECTION_ABORTED\",0xC0000241L},\n           {\"The specified buffer contains ill-formed data.\"    ,\"STATUS_BAD_COMPRESSION_BUFFER\",0xC0000242L},\n           {\"The requested operation cannot be performed on a file with a user mapped section open.\"    ,\"STATUS_USER_MAPPED_FILE\",0xC0000243L},\n           {\"{Audit Failed}\"\n\"An attempt to generate a security audit failed.\"    ,\"STATUS_AUDIT_FAILED\",0xC0000244L},\n           {\"The timer resolution was not previously set by the current process.\"    ,\"STATUS_TIMER_RESOLUTION_NOT_SET\",0xC0000245L},\n           {\"A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached.\"    ,\"STATUS_CONNECTION_COUNT_LIMIT\",0xC0000246L},\n           {\"Attempting to login during an unauthorized time of day for this account.\"    ,\"STATUS_LOGIN_TIME_RESTRICTION\",0xC0000247L},\n           {\"The account is not authorized to login from this station.\"    ,\"STATUS_LOGIN_WKSTA_RESTRICTION\",0xC0000248L},\n           {\"{UP/MP Image Mismatch}\"\n\"The image %hs has been modified for use on a uniprocessor system, but you are running it on a multiprocessor machine.\"\n\"Please reinstall the image file.\"    ,\"STATUS_IMAGE_MP_UP_MISMATCH\",0xC0000249L},\n           {\"There is insufficient account information to log you on.\"    ,\"STATUS_INSUFFICIENT_LOGON_INFO\",0xC0000250L},\n           {\"{Invalid DLL Entrypoint}\"\n\"The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state.\"\n\"The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly.\"    ,\"STATUS_BAD_DLL_ENTRYPOINT\",0xC0000251L},\n           {\"{Invalid Service Callback Entrypoint}\"\n\"The %hs service is not written correctly. The stack pointer has been left in an inconsistent state.\"\n\"The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly.\"    ,\"STATUS_BAD_SERVICE_ENTRYPOINT\",0xC0000252L},\n           {\"The server received the messages but did not send a reply.\"    ,\"STATUS_LPC_REPLY_LOST\",0xC0000253L},\n           {\"There is an IP address conflict with another system on the network\"    ,\"STATUS_IP_ADDRESS_CONFLICT1\",0xC0000254L},\n           {\"There is an IP address conflict with another system on the network\"    ,\"STATUS_IP_ADDRESS_CONFLICT2\",0xC0000255L},\n           {\"{Low On Registry Space}\"\n\"The system has reached the maximum size allowed for the system part of the registry.  Additional storage requests will be ignored.\"    ,\"STATUS_REGISTRY_QUOTA_LIMIT\",0xC0000256L},\n           {\"The contacted server does not support the indicated part of the DFS namespace.\"    ,\"STATUS_PATH_NOT_COVERED\",0xC0000257L},\n           {\"A callback return system service cannot be executed when no callback is active.\"    ,\"STATUS_NO_CALLBACK_ACTIVE\",0xC0000258L},\n           {\"The service being accessed is licensed for a particular number of connections.\"\n\"No more connections can be made to the service at this time because there are already as many connections as the service can accept.\"    ,\"STATUS_LICENSE_QUOTA_EXCEEDED\",0xC0000259L},\n           {\"The password provided is too short to meet the policy of your user account.\"\n\"Please choose a longer password.\"    ,\"STATUS_PWD_TOO_SHORT\",0xC000025AL},\n           {\"The policy of your user account does not allow you to change passwords too frequently.\"\n\"This is done to prevent users from changing back to a familiar, but potentially discovered, password.\"\n\"If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned.\"    ,\"STATUS_PWD_TOO_RECENT\",0xC000025BL},\n           {\"You have attempted to change your password to one that you have used in the past.\"\n\"The policy of your user account does not allow this. Please select a password that you have not previously used.\"    ,\"STATUS_PWD_HISTORY_CONFLICT\",0xC000025CL},\n           {\"You have attempted to load a legacy device driver while its device instance had been disabled.\"    ,\"STATUS_PLUGPLAY_NO_DEVICE\",0xC000025EL},\n           {\"The specified compression format is unsupported.\"    ,\"STATUS_UNSUPPORTED_COMPRESSION\",0xC000025FL},\n           {\"The specified hardware profile configuration is invalid.\"    ,\"STATUS_INVALID_HW_PROFILE\",0xC0000260L},\n           {\"The specified Plug and Play registry device path is invalid.\"    ,\"STATUS_INVALID_PLUGPLAY_DEVICE_PATH\",0xC0000261L},\n           {\"{Driver Entry Point Not Found}\"\n\"The %hs device driver could not locate the ordinal %ld in driver %hs.\"    ,\"STATUS_DRIVER_ORDINAL_NOT_FOUND\",0xC0000262L},\n           {\"{Driver Entry Point Not Found}\"\n\"The %hs device driver could not locate the entry point %hs in driver %hs.\"    ,\"STATUS_DRIVER_ENTRYPOINT_NOT_FOUND\",0xC0000263L},\n           {\"{Application Error}\"\n\"The application attempted to release a resource it did not own. Click on OK to terminate the application.\"    ,\"STATUS_RESOURCE_NOT_OWNED\",0xC0000264L},\n           {\"An attempt was made to create more links on a file than the file system supports.\"    ,\"STATUS_TOO_MANY_LINKS\",0xC0000265L},\n           {\"The specified quota list is internally inconsistent with its descriptor.\"    ,\"STATUS_QUOTA_LIST_INCONSISTENT\",0xC0000266L},\n           {\"The specified file has been relocated to offline storage.\"    ,\"STATUS_FILE_IS_OFFLINE\",0xC0000267L},\n           {\"{Windows Evaluation Notification}\"\n\"The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product.\"    ,\"STATUS_EVALUATION_EXPIRATION\",0xC0000268L},\n           {\"{Illegal System DLL Relocation}\"\n\"The system DLL %hs was relocated in memory. The application will not run properly.\"\n\"The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL.\"    ,\"STATUS_ILLEGAL_DLL_RELOCATION\",0xC0000269L},\n           {\"{License Violation}\"\n\"The system has detected tampering with your registered product type. This is a violation of your software license. Tampering with product type is not permitted.\"    ,\"STATUS_LICENSE_VIOLATION\",0xC000026AL},\n           {\"{DLL Initialization Failed}\"\n\"The application failed to initialize because the window station is shutting down.\"    ,\"STATUS_DLL_INIT_FAILED_LOGOFF\",0xC000026BL},\n           {\"{Unable to Load Device Driver}\"\n\"%hs device driver could not be loaded.\"\n\"Error Status was 0x%x\"    ,\"STATUS_DRIVER_UNABLE_TO_LOAD\",0xC000026CL},\n           {\"DFS is unavailable on the contacted server.\"    ,\"STATUS_DFS_UNAVAILABLE\",0xC000026DL},\n           {\"An operation was attempted to a volume after it was dismounted.\"    ,\"STATUS_VOLUME_DISMOUNTED\",0xC000026EL},\n           {\"An internal error occurred in the Win32 x86 emulation subsystem.\"    ,\"STATUS_WX86_INTERNAL_ERROR\",0xC000026FL},\n           {\"Win32 x86 emulation subsystem Floating-point stack check.\"    ,\"STATUS_WX86_FLOAT_STACK_CHECK\",0xC0000270L},\n           {\"The validation process needs to continue on to the next step.\"    ,\"STATUS_VALIDATE_CONTINUE\",0xC0000271L},\n           {\"There was no match for the specified key in the index.\"    ,\"STATUS_NO_MATCH\",0xC0000272L},\n           {\"There are no more matches for the current index enumeration.\"    ,\"STATUS_NO_MORE_MATCHES\",0xC0000273L},\n           {\"The NTFS file or directory is not a reparse point.\"    ,\"STATUS_NOT_A_REPARSE_POINT\",0xC0000275L},\n           {\"The Windows I/O reparse tag passed for the NTFS reparse point is invalid.\"    ,\"STATUS_IO_REPARSE_TAG_INVALID\",0xC0000276L},\n           {\"The Windows I/O reparse tag does not match the one present in the NTFS reparse point.\"    ,\"STATUS_IO_REPARSE_TAG_MISMATCH\",0xC0000277L},\n           {\"The user data passed for the NTFS reparse point is invalid.\"    ,\"STATUS_IO_REPARSE_DATA_INVALID\",0xC0000278L},\n           {\"The layered file system driver for this IO tag did not handle it when needed.\"    ,\"STATUS_IO_REPARSE_TAG_NOT_HANDLED\",0xC0000279L},\n           {\"The NTFS symbolic link could not be resolved even though the initial file name is valid.\"    ,\"STATUS_REPARSE_POINT_NOT_RESOLVED\",0xC0000280L},\n           {\"The NTFS directory is a reparse point.\"    ,\"STATUS_DIRECTORY_IS_A_REPARSE_POINT\",0xC0000281L},\n           {\"The range could not be added to the range list because of a conflict.\"    ,\"STATUS_RANGE_LIST_CONFLICT\",0xC0000282L},\n           {\"The specified medium changer source element contains no media.\"    ,\"STATUS_SOURCE_ELEMENT_EMPTY\",0xC0000283L},\n           {\"The specified medium changer destination element already contains media.\"    ,\"STATUS_DESTINATION_ELEMENT_FULL\",0xC0000284L},\n           {\"The specified medium changer element does not exist.\"    ,\"STATUS_ILLEGAL_ELEMENT_ADDRESS\",0xC0000285L},\n           {\"The specified element is contained within a magazine that is no longer present.\"    ,\"STATUS_MAGAZINE_NOT_PRESENT\",0xC0000286L},\n           {\"The device requires reinitialization due to hardware errors.\"    ,\"STATUS_REINITIALIZATION_NEEDED\",0xC0000287L},\n           {\"The device has indicated that cleaning is necessary.\"    ,\"STATUS_DEVICE_REQUIRES_CLEANING\",0x80000288L},\n           {\"The device has indicated that it's door is open. Further operations require it closed and secured.\"    ,\"STATUS_DEVICE_DOOR_OPEN\",0x80000289L},\n           {\"The file encryption attempt failed.\"    ,\"STATUS_ENCRYPTION_FAILED\",0xC000028AL},\n           {\"The file decryption attempt failed.\"    ,\"STATUS_DECRYPTION_FAILED\",0xC000028BL},\n           {\"The specified range could not be found in the range list.\"    ,\"STATUS_RANGE_NOT_FOUND\",0xC000028CL},\n           {\"There is no encryption recovery policy configured for this system.\"    ,\"STATUS_NO_RECOVERY_POLICY\",0xC000028DL},\n           {\"The required encryption driver is not loaded for this system.\"    ,\"STATUS_NO_EFS\",0xC000028EL},\n           {\"The file was encrypted with a different encryption driver than is currently loaded.\"    ,\"STATUS_WRONG_EFS\",0xC000028FL},\n           {\"There are no EFS keys defined for the user.\"    ,\"STATUS_NO_USER_KEYS\",0xC0000290L},\n           {\"The specified file is not encrypted.\"    ,\"STATUS_FILE_NOT_ENCRYPTED\",0xC0000291L},\n           {\"The specified file is not in the defined EFS export format.\"    ,\"STATUS_NOT_EXPORT_FORMAT\",0xC0000292L},\n           {\"The specified file is encrypted and the user does not have the ability to decrypt it.\"    ,\"STATUS_FILE_ENCRYPTED\",0xC0000293L},\n           {\"The system has awoken\"    ,\"STATUS_WAKE_SYSTEM\",0x40000294L},\n           {\"The guid passed was not recognized as valid by a WMI data provider.\"    ,\"STATUS_WMI_GUID_NOT_FOUND\",0xC0000295L},\n           {\"The instance name passed was not recognized as valid by a WMI data provider.\"    ,\"STATUS_WMI_INSTANCE_NOT_FOUND\",0xC0000296L},\n           {\"The data item id passed was not recognized as valid by a WMI data provider.\"    ,\"STATUS_WMI_ITEMID_NOT_FOUND\",0xC0000297L},\n           {\"The WMI request could not be completed and should be retried.\"    ,\"STATUS_WMI_TRY_AGAIN\",0xC0000298L},\n           {\"The policy object is shared and can only be modified at the root\"    ,\"STATUS_SHARED_POLICY\",0xC0000299L},\n           {\"The policy object does not exist when it should\"    ,\"STATUS_POLICY_OBJECT_NOT_FOUND\",0xC000029AL},\n           {\"The requested policy information only lives in the Ds\"    ,\"STATUS_POLICY_ONLY_IN_DS\",0xC000029BL},\n           {\"The volume must be upgraded to enable this feature\"    ,\"STATUS_VOLUME_NOT_UPGRADED\",0xC000029CL},\n           {\"The remote storage service is not operational at this time.\"    ,\"STATUS_REMOTE_STORAGE_NOT_ACTIVE\",0xC000029DL},\n           {\"The remote storage service encountered a media error.\"    ,\"STATUS_REMOTE_STORAGE_MEDIA_ERROR\",0xC000029EL},\n           {\"The tracking (workstation) service is not running.\"    ,\"STATUS_NO_TRACKING_SERVICE\",0xC000029FL},\n           {\"The server process is running under a SID different than that required by client.\"    ,\"STATUS_SERVER_SID_MISMATCH\",0xC00002A0L},\n           {\"The specified directory service attribute or value does not exist.\"    ,\"STATUS_DS_NO_ATTRIBUTE_OR_VALUE\",0xC00002A1L},\n           {\"The attribute syntax specified to the directory service is invalid.\"    ,\"STATUS_DS_INVALID_ATTRIBUTE_SYNTAX\",0xC00002A2L},\n           {\"The attribute type specified to the directory service is not defined.\"    ,\"STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED\",0xC00002A3L},\n           {\"The specified directory service attribute or value already exists.\"    ,\"STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS\",0xC00002A4L},\n           {\"The directory service is busy.\"    ,\"STATUS_DS_BUSY\",0xC00002A5L},\n           {\"The directory service is not available.\"    ,\"STATUS_DS_UNAVAILABLE\",0xC00002A6L},\n           {\"The directory service was unable to allocate a relative identifier.\"    ,\"STATUS_DS_NO_RIDS_ALLOCATED\",0xC00002A7L},\n           {\"The directory service has exhausted the pool of relative identifiers.\"    ,\"STATUS_DS_NO_MORE_RIDS\",0xC00002A8L},\n           {\"The requested operation could not be performed because the directory service is not the master for that type of operation.\"    ,\"STATUS_DS_INCORRECT_ROLE_OWNER\",0xC00002A9L},\n           {\"The directory service was unable to initialize the subsystem that allocates relative identifiers.\"    ,\"STATUS_DS_RIDMGR_INIT_ERROR\",0xC00002AAL},\n           {\"The requested operation did not satisfy one or more constraints associated with the class of the object.\"    ,\"STATUS_DS_OBJ_CLASS_VIOLATION\",0xC00002ABL},\n           {\"The directory service can perform the requested operation only on a leaf object.\"    ,\"STATUS_DS_CANT_ON_NON_LEAF\",0xC00002ACL},\n           {\"The directory service cannot perform the requested operation on the Relatively Defined Name (RDN) attribute of an object.\"    ,\"STATUS_DS_CANT_ON_RDN\",0xC00002ADL},\n           {\"The directory service detected an attempt to modify the object class of an object.\"    ,\"STATUS_DS_CANT_MOD_OBJ_CLASS\",0xC00002AEL},\n           {\"An error occurred while performing a cross domain move operation.\"    ,\"STATUS_DS_CROSS_DOM_MOVE_FAILED\",0xC00002AFL},\n           {\"Unable to Contact the Global Catalog Server.\"    ,\"STATUS_DS_GC_NOT_AVAILABLE\",0xC00002B0L},\n           {\"The requested operation requires a directory service, and none was available.\"    ,\"STATUS_DIRECTORY_SERVICE_REQUIRED\",0xC00002B1L},\n           {\"The reparse attribute cannot be set as it is incompatible with an existing attribute.\"    ,\"STATUS_REPARSE_ATTRIBUTE_CONFLICT\",0xC00002B2L},\n           {\"A group marked use for deny only  can not be enabled.\"    ,\"STATUS_CANT_ENABLE_DENY_ONLY\",0xC00002B3L},\n           {\"{EXCEPTION}\"\n\"Multiple floating point faults.\"    ,\"STATUS_FLOAT_MULTIPLE_FAULTS\",0xC00002B4L},\n           {\"{EXCEPTION}\"\n\"Multiple floating point traps.\"    ,\"STATUS_FLOAT_MULTIPLE_TRAPS\",0xC00002B5L},\n           {\"The device has been removed.\"    ,\"STATUS_DEVICE_REMOVED\",0xC00002B6L},\n           {\"The volume change journal is being deleted.\"    ,\"STATUS_JOURNAL_DELETE_IN_PROGRESS\",0xC00002B7L},\n           {\"The volume change journal is not active.\"    ,\"STATUS_JOURNAL_NOT_ACTIVE\",0xC00002B8L},\n           {\"The requested interface is not supported.\"    ,\"STATUS_NOINTERFACE\",0xC00002B9L},\n           {\"A directory service resource limit has been exceeded.\"    ,\"STATUS_DS_ADMIN_LIMIT_EXCEEDED\",0xC00002C1L},\n           {\"{System Standby Failed}\"\n\"The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode.\"    ,\"STATUS_DRIVER_FAILED_SLEEP\",0xC00002C2L},\n           {\"Mutual Authentication failed. The server's password is out of date at the domain controller.\"    ,\"STATUS_MUTUAL_AUTHENTICATION_FAILED\",0xC00002C3L},\n           {\"The system file %1 has become corrupt and has been replaced.\"    ,\"STATUS_CORRUPT_SYSTEM_FILE\",0xC00002C4L},\n           {\"{EXCEPTION}\"\n\"Alignment Error\"\n\"A datatype misalignment error was detected in a load or store instruction.\"    ,\"STATUS_DATATYPE_MISALIGNMENT_ERROR\",0xC00002C5L},\n           {\"The WMI data item or data block is read only.\"    ,\"STATUS_WMI_READ_ONLY\",0xC00002C6L},\n           {\"The WMI data item or data block could not be changed.\"    ,\"STATUS_WMI_SET_FAILURE\",0xC00002C7L},\n           {\"{Virtual Memory Minimum Too Low}\"\n\"Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file.\"\n\"During this process, memory requests for some applications may be denied. For more information, see Help.\"    ,\"STATUS_COMMITMENT_MINIMUM\",0xC00002C8L},\n           {\"{EXCEPTION}\"\n\"Register NaT consumption faults.\"\n\"A NaT value is consumed on a non speculative instruction.\"    ,\"STATUS_REG_NAT_CONSUMPTION\",0xC00002C9L},\n           {\"The medium changer's transport element contains media, which is causing the operation to fail.\"    ,\"STATUS_TRANSPORT_FULL\",0xC00002CAL},\n           {\"Security Accounts Manager initialization failed because of the following error:\"\n\"%hs\"\n\"Error Status: 0x%x.\"\n\"Please click OK to shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information.\"    ,\"STATUS_DS_SAM_INIT_FAILURE\",0xC00002CBL},\n           {\"This operation is supported only when you are connected to the server.\"    ,\"STATUS_ONLY_IF_CONNECTED\",0xC00002CCL},\n           {\"Only an administrator can modify the membership list of an administrative group.\"    ,\"STATUS_DS_SENSITIVE_GROUP_VIOLATION\",0xC00002CDL},\n           {\"A device was removed so enumeration must be restarted.\"    ,\"STATUS_PNP_RESTART_ENUMERATION\",0xC00002CEL},\n           {\"The journal entry has been deleted from the journal.\"    ,\"STATUS_JOURNAL_ENTRY_DELETED\",0xC00002CFL},\n           {\"Cannot change the primary group ID of a domain controller account.\"    ,\"STATUS_DS_CANT_MOD_PRIMARYGROUPID\",0xC00002D0L},\n           {\"{Fatal System Error}\"\n\"The system image %s is not properly signed.\"\n\"The file has been replaced with the signed file.\"\n\"The system has been shut down.\"    ,\"STATUS_SYSTEM_IMAGE_BAD_SIGNATURE\",0xC00002D1L},\n           {\"Device will not start without a reboot.\"    ,\"STATUS_PNP_REBOOT_REQUIRED\",0xC00002D2L},\n           {\"Current device power state cannot support this request.\"    ,\"STATUS_POWER_STATE_INVALID\",0xC00002D3L},\n           {\"The specified group type is invalid.\"    ,\"STATUS_DS_INVALID_GROUP_TYPE\",0xC00002D4L},\n           {\"In mixed domain no nesting of global group if group is security enabled.\"    ,\"STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN\",0xC00002D5L},\n           {\"In mixed domain, cannot nest local groups with other local groups, if the group is security enabled.\"    ,\"STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN\",0xC00002D6L},\n           {\"A global group cannot have a local group as a member.\"    ,\"STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER\",0xC00002D7L},\n           {\"A global group cannot have a universal group as a member.\"    ,\"STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER\",0xC00002D8L},\n           {\"A universal group cannot have a local group as a member.\"    ,\"STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER\",0xC00002D9L},\n           {\"A global group cannot have a cross domain member.\"    ,\"STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER\",0xC00002DAL},\n           {\"A local group cannot have another cross domain local group as a member.\"    ,\"STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER\",0xC00002DBL},\n           {\"Can not change to security disabled group because of having primary members in this group.\"    ,\"STATUS_DS_HAVE_PRIMARY_MEMBERS\",0xC00002DCL},\n           {\"The WMI operation is not supported by the data block or method.\"    ,\"STATUS_WMI_NOT_SUPPORTED\",0xC00002DDL},\n           {\"There is not enough power to complete the requested operation.\"    ,\"STATUS_INSUFFICIENT_POWER\",0xC00002DEL},\n           {\"Security Account Manager needs to get the boot password.\"    ,\"STATUS_SAM_NEED_BOOTKEY_PASSWORD\",0xC00002DFL},\n           {\"Security Account Manager needs to get the boot key from floppy disk.\"    ,\"STATUS_SAM_NEED_BOOTKEY_FLOPPY\",0xC00002E0L},\n           {\"Directory Service can not start.\"    ,\"STATUS_DS_CANT_START\",0xC00002E1L},\n           {\"Directory Services could not start because of the following error:\"\n\"%hs\"\n\"Error Status: 0x%x.\"\n\"Please click OK to shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information.\"    ,\"STATUS_DS_INIT_FAILURE\",0xC00002E2L},\n           {\"Security Accounts Manager initialization failed because of the following error:\"\n\"%hs\"\n\"Error Status: 0x%x.\"\n\"Please click OK to shutdown this system and reboot into Safe Mode, check the event log for more detailed information.\"    ,\"STATUS_SAM_INIT_FAILURE\",0xC00002E3L},\n           {\"The requested operation can be performed only on a global catalog server.\"    ,\"STATUS_DS_GC_REQUIRED\",0xC00002E4L},\n           {\"A local group can only be a member of other local groups in the same domain.\"    ,\"STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY\",0xC00002E5L},\n           {\"Foreign security principals cannot be members of universal groups.\"    ,\"STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS\",0xC00002E6L},\n           {\"Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased.\"    ,\"STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED\",0xC00002E7L},\n           {\"STATUS_MULTIPLE_FAULT_VIOLATION\"    ,\"STATUS_MULTIPLE_FAULT_VIOLATION\",0xC00002E8L},\n           {\"This operation can not be performed on the current domain.\"    ,\"STATUS_CURRENT_DOMAIN_NOT_ALLOWED\",0xC00002E9L},\n           {\"The directory or file cannot be created.\"    ,\"STATUS_CANNOT_MAKE\",0xC00002EAL},\n           {\"The system is in the process of shutting down.\"    ,\"STATUS_SYSTEM_SHUTDOWN\",0xC00002EBL},\n           {\"Directory Services could not start because of the following error:\"\n\"%hs\"\n\"Error Status: 0x%x.\"\n\"Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.\"    ,\"STATUS_DS_INIT_FAILURE_CONSOLE\",0xC00002ECL},\n           {\"Security Accounts Manager initialization failed because of the following error:\"\n\"%hs\"\n\"Error Status: 0x%x.\"\n\"Please click OK to shutdown the system. You can use the recovery console to diagnose the system further.\"    ,\"STATUS_DS_SAM_INIT_FAILURE_CONSOLE\",0xC00002EDL},\n           {\"A security context was deleted before the context was completed.  This is considered a logon failure.\"    ,\"STATUS_UNFINISHED_CONTEXT_DELETED\",0xC00002EEL},\n           {\"The client is trying to negotiate a context and the server requires user-to-user but didn't send a TGT reply.\"    ,\"STATUS_NO_TGT_REPLY\",0xC00002EFL},\n           {\"An object ID was not found in the file.\"    ,\"STATUS_OBJECTID_NOT_FOUND\",0xC00002F0L},\n           {\"Unable to accomplish the requested task because the local machine does not have any IP addresses.\"    ,\"STATUS_NO_IP_ADDRESSES\",0xC00002F1L},\n           {\"The supplied credential handle does not match the credential associated with the security context.\"    ,\"STATUS_WRONG_CREDENTIAL_HANDLE\",0xC00002F2L},\n           {\"The crypto system or checksum function is invalid because a required function is unavailable.\"    ,\"STATUS_CRYPTO_SYSTEM_INVALID\",0xC00002F3L},\n           {\"The number of maximum ticket referrals has been exceeded.\"    ,\"STATUS_MAX_REFERRALS_EXCEEDED\",0xC00002F4L},\n           {\"The local machine must be a Kerberos KDC (domain controller) and it is not.\"    ,\"STATUS_MUST_BE_KDC\",0xC00002F5L},\n           {\"The other end of the security negotiation is requires strong crypto but it is not supported on the local machine.\"    ,\"STATUS_STRONG_CRYPTO_NOT_SUPPORTED\",0xC00002F6L},\n           {\"The KDC reply contained more than one principal name.\"    ,\"STATUS_TOO_MANY_PRINCIPALS\",0xC00002F7L},\n           {\"Expected to find PA data for a hint of what etype to use, but it was not found.\"    ,\"STATUS_NO_PA_DATA\",0xC00002F8L},\n           {\"The client certificate does not contain a valid UPN, or does not match the client name \"\n\"in the logon request.  Please contact your administrator.\"    ,\"STATUS_PKINIT_NAME_MISMATCH\",0xC00002F9L},\n           {\"Smartcard logon is required and was not used.\"    ,\"STATUS_SMARTCARD_LOGON_REQUIRED\",0xC00002FAL},\n           {\"An invalid request was sent to the KDC.\"    ,\"STATUS_KDC_INVALID_REQUEST\",0xC00002FBL},\n           {\"The KDC was unable to generate a referral for the service requested.\"    ,\"STATUS_KDC_UNABLE_TO_REFER\",0xC00002FCL},\n           {\"The encryption type requested is not supported by the KDC.\"    ,\"STATUS_KDC_UNKNOWN_ETYPE\",0xC00002FDL},\n           {\"A system shutdown is in progress.\"    ,\"STATUS_SHUTDOWN_IN_PROGRESS\",0xC00002FEL},\n           {\"The server machine is shutting down.\"    ,\"STATUS_SERVER_SHUTDOWN_IN_PROGRESS\",0xC00002FFL},\n           {\"This operation is not supported on a computer running Windows Server 2003 for Small Business Server\"    ,\"STATUS_NOT_SUPPORTED_ON_SBS\",0xC0000300L},\n           {\"The WMI GUID is no longer available\"    ,\"STATUS_WMI_GUID_DISCONNECTED\",0xC0000301L},\n           {\"Collection or events for the WMI GUID is already disabled.\"    ,\"STATUS_WMI_ALREADY_DISABLED\",0xC0000302L},\n           {\"Collection or events for the WMI GUID is already enabled.\"    ,\"STATUS_WMI_ALREADY_ENABLED\",0xC0000303L},\n           {\"The Master File Table on the volume is too fragmented to complete this operation.\"    ,\"STATUS_MFT_TOO_FRAGMENTED\",0xC0000304L},\n           {\"Copy protection failure.\"    ,\"STATUS_COPY_PROTECTION_FAILURE\",0xC0000305L},\n           {\"Copy protection error - DVD CSS Authentication failed.\"    ,\"STATUS_CSS_AUTHENTICATION_FAILURE\",0xC0000306L},\n           {\"Copy protection error - The given sector does not contain a valid key.\"    ,\"STATUS_CSS_KEY_NOT_PRESENT\",0xC0000307L},\n           {\"Copy protection error - DVD session key not established.\"    ,\"STATUS_CSS_KEY_NOT_ESTABLISHED\",0xC0000308L},\n           {\"Copy protection error - The read failed because the sector is encrypted.\"    ,\"STATUS_CSS_SCRAMBLED_SECTOR\",0xC0000309L},\n           {\"Copy protection error - The given DVD's region does not correspond to the\"\n\"region setting of the drive.\"    ,\"STATUS_CSS_REGION_MISMATCH\",0xC000030AL},\n           {\"Copy protection error - The drive's region setting may be permanent.\"    ,\"STATUS_CSS_RESETS_EXHAUSTED\",0xC000030BL},\n           {\"The kerberos protocol encountered an error while validating the KDC certificate during smartcard Logon.  There\"\n\"is more information in the system event log.\"    ,\"STATUS_PKINIT_FAILURE\",0xC0000320L},\n           {\"The kerberos protocol encountered an error while attempting to utilize the smartcard subsystem.\"    ,\"STATUS_SMARTCARD_SUBSYSTEM_FAILURE\",0xC0000321L},\n           {\"The target server does not have acceptable kerberos credentials.\"    ,\"STATUS_NO_KERB_KEY\",0xC0000322L},\n           {\"The transport determined that the remote system is down.\"    ,\"STATUS_HOST_DOWN\",0xC0000350L},\n           {\"An unsupported preauthentication mechanism was presented to the kerberos package.\"    ,\"STATUS_UNSUPPORTED_PREAUTH\",0xC0000351L},\n           {\"The encryption algorithm used on the source file needs a bigger key buffer than the one used on the destination file.\"    ,\"STATUS_EFS_ALG_BLOB_TOO_BIG\",0xC0000352L},\n           {\"An attempt to remove a processes DebugPort was made, but a port was not already associated with the process.\"    ,\"STATUS_PORT_NOT_SET\",0xC0000353L},\n           {\"An attempt to do an operation on a debug port failed because the port is in the process of being deleted.\"    ,\"STATUS_DEBUGGER_INACTIVE\",0xC0000354L},\n           {\"This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller.\"    ,\"STATUS_DS_VERSION_CHECK_FAILURE\",0xC0000355L},\n           {\"The specified event is currently not being audited.\"    ,\"STATUS_AUDITING_DISABLED\",0xC0000356L},\n           {\"The machine account was created pre-NT4.  The account needs to be recreated.\"    ,\"STATUS_PRENT4_MACHINE_ACCOUNT\",0xC0000357L},\n           {\"A account group can not have a universal group as a member.\"    ,\"STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER\",0xC0000358L},\n           {\"The specified image file did not have the correct format, it appears to be a 32-bit Windows image.\"    ,\"STATUS_INVALID_IMAGE_WIN_32\",0xC0000359L},\n           {\"The specified image file did not have the correct format, it appears to be a 64-bit Windows image.\"    ,\"STATUS_INVALID_IMAGE_WIN_64\",0xC000035AL},\n           {\"Client's supplied SSPI channel bindings were incorrect.\"    ,\"STATUS_BAD_BINDINGS\",0xC000035BL},\n           {\"The client's session has expired, so the client must reauthenticate to continue accessing the remote resources.\"    ,\"STATUS_NETWORK_SESSION_EXPIRED\",0xC000035CL},\n           {\"AppHelp dialog canceled thus preventing the application from starting.\"    ,\"STATUS_APPHELP_BLOCK\",0xC000035DL},\n           {\"The SID filtering operation removed all SIDs.\"    ,\"STATUS_ALL_SIDS_FILTERED\",0xC000035EL},\n           {\"The driver was not loaded because the system is booting into safe mode.\"    ,\"STATUS_NOT_SAFE_MODE_DRIVER\",0xC000035FL},\n           {\"Access to %1 has been restricted by your Administrator by the default software restriction policy level.\"    ,\"STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT\",0xC0000361L},\n           {\"Access to %1 has been restricted by your Administrator by location with policy rule %2 placed on path %3\"    ,\"STATUS_ACCESS_DISABLED_BY_POLICY_PATH\",0xC0000362L},\n           {\"Access to %1 has been restricted by your Administrator by software publisher policy.\"    ,\"STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER\",0xC0000363L},\n           {\"Access to %1 has been restricted by your Administrator by policy rule %2.\"    ,\"STATUS_ACCESS_DISABLED_BY_POLICY_OTHER\",0xC0000364L},\n           {\"The driver was not loaded because it failed it's initialization call.\"    ,\"STATUS_FAILED_DRIVER_ENTRY\",0xC0000365L},\n           {\"The \\\"%hs\\\" encountered an error while applying power or reading the device configuration.\"\n\"This may be caused by a failure of your hardware or by a poor connection.\"    ,\"STATUS_DEVICE_ENUMERATION_ERROR\",0xC0000366L},\n           {\"An operation is blocked waiting for an oplock.\"    ,\"STATUS_WAIT_FOR_OPLOCK\",0x00000367L},\n           {\"The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached.\"    ,\"STATUS_MOUNT_POINT_NOT_RESOLVED\",0xC0000368L},\n           {\"The device object parameter is either not a valid device object or is not attached to the volume specified by the file name.\"    ,\"STATUS_INVALID_DEVICE_OBJECT_PARAMETER\",0xC0000369L},\n           {\"A Machine Check Error has occurred. Please check the system eventlog for additional information.\"    ,\"STATUS_MCA_OCCURED\",0xC000036AL},\n           {\"Driver %2 has been blocked from loading.\"    ,\"STATUS_DRIVER_BLOCKED_CRITICAL\",0xC000036BL},\n           {\"Driver %2 has been blocked from loading.\"    ,\"STATUS_DRIVER_BLOCKED\",0xC000036CL},\n           {\"There was error [%2] processing the driver database.\"    ,\"STATUS_DRIVER_DATABASE_ERROR\",0xC000036DL},\n           {\"System hive size has exceeded its limit.\"    ,\"STATUS_SYSTEM_HIVE_TOO_LARGE\",0xC000036EL},\n           {\"A dynamic link library (DLL},\"    ,\"STATUS_INVALID_IMPORT_OF_NON_DLL\",0xC000036FL},\n           {\"The Directory Service is shuting down.\"    ,\"STATUS_DS_SHUTTING_DOWN\",0x40000370L},\n           {\"An incorrect PIN was presented to the smart card\"    ,\"STATUS_SMARTCARD_WRONG_PIN\",0xC0000380L},\n           {\"The smart card is blocked\"    ,\"STATUS_SMARTCARD_CARD_BLOCKED\",0xC0000381L},\n           {\"No PIN was presented to the smart card\"    ,\"STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED\",0xC0000382L},\n           {\"No smart card available\"    ,\"STATUS_SMARTCARD_NO_CARD\",0xC0000383L},\n           {\"The requested key container does not exist on the smart card\"    ,\"STATUS_SMARTCARD_NO_KEY_CONTAINER\",0xC0000384L},\n           {\"The requested certificate does not exist on the smart card\"    ,\"STATUS_SMARTCARD_NO_CERTIFICATE\",0xC0000385L},\n           {\"The requested keyset does not exist\"    ,\"STATUS_SMARTCARD_NO_KEYSET\",0xC0000386L},\n           {\"A communication error with the smart card has been detected.\"    ,\"STATUS_SMARTCARD_IO_ERROR\",0xC0000387L},\n           {\"The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.\"    ,\"STATUS_DOWNGRADE_DETECTED\",0xC0000388L},\n           {\"The smartcard certificate used for authentication has been revoked.\"\n\"Please contact your system administrator.  There may be additional information in the\"\n\"event log.\"    ,\"STATUS_SMARTCARD_CERT_REVOKED\",0xC0000389L},\n           {\"An untrusted certificate authority was detected While processing the\"\n\"smartcard certificate used for authentication.  Please contact your system\"\n\"administrator.\"    ,\"STATUS_ISSUING_CA_UNTRUSTED\",0xC000038AL},\n           {\"The revocation status of the smartcard certificate used for\"\n\"authentication could not be determined. Please contact your system administrator.\"    ,\"STATUS_REVOCATION_OFFLINE_C\",0xC000038BL},\n           {\"The smartcard certificate used for authentication was not trusted.  Please\"\n\"contact your system administrator.\"    ,\"STATUS_PKINIT_CLIENT_FAILURE\",0xC000038CL},\n           {\"The smartcard certificate used for authentication has expired.  Please\"\n\"contact your system administrator.\"    ,\"STATUS_SMARTCARD_CERT_EXPIRED\",0xC000038DL},\n           {\"The driver could not be loaded because a previous version of the driver is still in memory.\"    ,\"STATUS_DRIVER_FAILED_PRIOR_UNLOAD\",0xC000038EL},\n           {\"The smartcard provider could not perform the action since the context was acquired as silent.\"    ,\"STATUS_SMARTCARD_SILENT_CONTEXT\",0xC000038FL},\n           {\"The current user's delegated trust creation quota has been exceeded.\"    ,\"STATUS_PER_USER_TRUST_QUOTA_EXCEEDED\",0xC0000401L},\n           {\"The total delegated trust creation quota has been exceeded.\"    ,\"STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED\",0xC0000402L},\n           {\"The current user's delegated trust deletion quota has been exceeded.\"    ,\"STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED\",0xC0000403L},\n           {\"The requested name already exists as a unique identifier.\"    ,\"STATUS_DS_NAME_NOT_UNIQUE\",0xC0000404L},\n           {\"The requested object has a non-unique identifier and cannot be retrieved.\"    ,\"STATUS_DS_DUPLICATE_ID_FOUND\",0xC0000405L},\n           {\"The group cannot be converted due to attribute restrictions on the requested group type.\"    ,\"STATUS_DS_GROUP_CONVERSION_ERROR\",0xC0000406L},\n           {\"{Volume Shadow Copy Service}\"\n\"Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation.\"    ,\"STATUS_VOLSNAP_PREPARE_HIBERNATE\",0xC0000407L},\n           {\"Kerberos sub-protocol User2User is required.\"    ,\"STATUS_USER2USER_REQUIRED\",0xC0000408L},\n           {\"The system detected an overrun of a stack-based buffer in this application.  This\"\n\"overrun could potentially allow a malicious user to gain control of this application.\"    ,\"STATUS_STACK_BUFFER_OVERRUN\",0xC0000409L},\n           {\"The Kerberos subsystem encountered an error.  A service for user protocol request was made \"\n\"against a domain controller which does not support service for user.\"    ,\"STATUS_NO_S4U_PROT_SUPPORT\",0xC000040AL},\n           {\"An attempt was made by this server to make a Kerberos constrained delegation request for a target\"\n\"outside of the server's realm.  This is not supported, and indicates a misconfiguration on this\"\n\"server's allowed to delegate to list.  Please contact your administrator.\"    ,\"STATUS_CROSSREALM_DELEGATION_FAILURE\",0xC000040BL},\n           {\"The revocation status of the domain controller certificate used for smartcard\"\n\"authentication could not be determined.  There is additional information in the system event\"\n\"log. Please contact your system administrator.\"    ,\"STATUS_REVOCATION_OFFLINE_KDC\",0xC000040CL},\n           {\"An untrusted certificate authority was detected while processing the\"\n\"domain controller certificate used for authentication.  There is additional information in\"\n\"the system event log.  Please contact your system administrator.\"    ,\"STATUS_ISSUING_CA_UNTRUSTED_KDC\",0xC000040DL},\n           {\"The domain controller certificate used for smartcard logon has expired.\"\n\"Please contact your system administrator with the contents of your system event log.\"    ,\"STATUS_KDC_CERT_EXPIRED\",0xC000040EL},\n           {\"The domain controller certificate used for smartcard logon has been revoked.\"\n\"Please contact your system administrator with the contents of your system event log.\"    ,\"STATUS_KDC_CERT_REVOKED\",0xC000040FL},\n           {\"Data present in one of the parameters is more than the function can operate on.\"    ,\"STATUS_PARAMETER_QUOTA_EXCEEDED\",0xC0000410L},\n           {\"The system has failed to hibernate (The error code is %hs).  Hibernation will be disabled until the system is restarted.\"    ,\"STATUS_HIBERNATION_FAILURE\",0xC0000411L},\n           {\"An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed.\"    ,\"STATUS_DELAY_LOAD_FAILED\",0xC0000412L},\n           {\"Logon Failure: The machine you are logging onto is protected by an authentication firewall.  The specified account is not allowed to authenticate to the machine.\"    ,\"STATUS_AUTHENTICATION_FIREWALL_FAILED\",0xC0000413L},\n           {\"%hs is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator.\"    ,\"STATUS_VDM_DISALLOWED\",0xC0000414L},\n           {\"{Display Driver Stopped Responding}\"\n\"The %hs display driver has stopped working normally.  Save your work and reboot the system to restore full display functionality.\"\n\"The next time you reboot the machine a dialog will be displayed giving you a chance to report this failure to Microsoft.\"    ,\"STATUS_HUNG_DISPLAY_DRIVER_THREAD\",0xC0000415L},\n\t\t\t{\"An assertion failure has occurred.\"    ,\"STATUS_ASSERTION_FAILURE\",0xC0000420L},\n\t\t\t{ \"An exception has occurred in a user mode callback and the kernel callback frame should be removed.\"\n    ,\"STATUS_CALLBACK_POP_STACK\",0xC0000423L},\n           {\"The attempted write operation encountered a write already in progress for some portion of the range.\"    ,\"STATUS_ENCOUNTERED_WRITE_IN_PROGRESS\",0xC0000433L},\n           {\"WOW Assertion Error.\"    ,\"STATUS_WOW_ASSERTION\",0xC0009898L},\n           {\"Debugger did not perform a state change.\"    ,\"DBG_NO_STATE_CHANGE\",0xC0010001L},\n           {\"Debugger has found the application is not idle.\"    ,\"DBG_APP_NOT_IDLE\",0xC0010002L},\n           {\"The string binding is invalid.\"    ,\"RPC_NT_INVALID_STRING_BINDING\",0xC0020001L},\n           {\"The binding handle is not the correct type.\"    ,\"RPC_NT_WRONG_KIND_OF_BINDING\",0xC0020002L},\n           {\"The binding handle is invalid.\"    ,\"RPC_NT_INVALID_BINDING\",0xC0020003L},\n           {\"The RPC protocol sequence is not supported.\"    ,\"RPC_NT_PROTSEQ_NOT_SUPPORTED\",0xC0020004L},\n           {\"The RPC protocol sequence is invalid.\"    ,\"RPC_NT_INVALID_RPC_PROTSEQ\",0xC0020005L},\n           {\"The string UUID is invalid.\"    ,\"RPC_NT_INVALID_STRING_UUID\",0xC0020006L},\n           {\"The endpoint format is invalid.\"    ,\"RPC_NT_INVALID_ENDPOINT_FORMAT\",0xC0020007L},\n           {\"The network address is invalid.\"    ,\"RPC_NT_INVALID_NET_ADDR\",0xC0020008L},\n           {\"No endpoint was found.\"    ,\"RPC_NT_NO_ENDPOINT_FOUND\",0xC0020009L},\n           {\"The timeout value is invalid.\"    ,\"RPC_NT_INVALID_TIMEOUT\",0xC002000AL},\n           {\"The object UUID was not found.\"    ,\"RPC_NT_OBJECT_NOT_FOUND\",0xC002000BL},\n           {\"The object UUID has already been registered.\"    ,\"RPC_NT_ALREADY_REGISTERED\",0xC002000CL},\n           {\"The type UUID has already been registered.\"    ,\"RPC_NT_TYPE_ALREADY_REGISTERED\",0xC002000DL},\n           {\"The RPC server is already listening.\"    ,\"RPC_NT_ALREADY_LISTENING\",0xC002000EL},\n           {\"No protocol sequences have been registered.\"    ,\"RPC_NT_NO_PROTSEQS_REGISTERED\",0xC002000FL},\n           {\"The RPC server is not listening.\"    ,\"RPC_NT_NOT_LISTENING\",0xC0020010L},\n           {\"The manager type is unknown.\"    ,\"RPC_NT_UNKNOWN_MGR_TYPE\",0xC0020011L},\n           {\"The interface is unknown.\"    ,\"RPC_NT_UNKNOWN_IF\",0xC0020012L},\n           {\"There are no bindings.\"    ,\"RPC_NT_NO_BINDINGS\",0xC0020013L},\n           {\"There are no protocol sequences.\"    ,\"RPC_NT_NO_PROTSEQS\",0xC0020014L},\n           {\"The endpoint cannot be created.\"    ,\"RPC_NT_CANT_CREATE_ENDPOINT\",0xC0020015L},\n           {\"Not enough resources are available to complete this operation.\"    ,\"RPC_NT_OUT_OF_RESOURCES\",0xC0020016L},\n           {\"The RPC server is unavailable.\"    ,\"RPC_NT_SERVER_UNAVAILABLE\",0xC0020017L},\n           {\"The RPC server is too busy to complete this operation.\"    ,\"RPC_NT_SERVER_TOO_BUSY\",0xC0020018L},\n           {\"The network options are invalid.\"    ,\"RPC_NT_INVALID_NETWORK_OPTIONS\",0xC0020019L},\n           {\"There are no remote procedure calls active on this thread.\"    ,\"RPC_NT_NO_CALL_ACTIVE\",0xC002001AL},\n           {\"The remote procedure call failed.\"    ,\"RPC_NT_CALL_FAILED\",0xC002001BL},\n           {\"The remote procedure call failed and did not execute.\"    ,\"RPC_NT_CALL_FAILED_DNE\",0xC002001CL},\n           {\"An RPC protocol error occurred.\"    ,\"RPC_NT_PROTOCOL_ERROR\",0xC002001DL},\n           {\"The transfer syntax is not supported by the RPC server.\"    ,\"RPC_NT_UNSUPPORTED_TRANS_SYN\",0xC002001FL},\n           {\"The type UUID is not supported.\"    ,\"RPC_NT_UNSUPPORTED_TYPE\",0xC0020021L},\n           {\"The tag is invalid.\"    ,\"RPC_NT_INVALID_TAG\",0xC0020022L},\n           {\"The array bounds are invalid.\"    ,\"RPC_NT_INVALID_BOUND\",0xC0020023L},\n           {\"The binding does not contain an entry name.\"    ,\"RPC_NT_NO_ENTRY_NAME\",0xC0020024L},\n           {\"The name syntax is invalid.\"    ,\"RPC_NT_INVALID_NAME_SYNTAX\",0xC0020025L},\n           {\"The name syntax is not supported.\"    ,\"RPC_NT_UNSUPPORTED_NAME_SYNTAX\",0xC0020026L},\n           {\"No network address is available to use to construct a UUID.\"    ,\"RPC_NT_UUID_NO_ADDRESS\",0xC0020028L},\n           {\"The endpoint is a duplicate.\"    ,\"RPC_NT_DUPLICATE_ENDPOINT\",0xC0020029L},\n           {\"The authentication type is unknown.\"    ,\"RPC_NT_UNKNOWN_AUTHN_TYPE\",0xC002002AL},\n           {\"The maximum number of calls is too small.\"    ,\"RPC_NT_MAX_CALLS_TOO_SMALL\",0xC002002BL},\n           {\"The string is too long.\"    ,\"RPC_NT_STRING_TOO_LONG\",0xC002002CL},\n           {\"The RPC protocol sequence was not found.\"    ,\"RPC_NT_PROTSEQ_NOT_FOUND\",0xC002002DL},\n           {\"The procedure number is out of range.\"    ,\"RPC_NT_PROCNUM_OUT_OF_RANGE\",0xC002002EL},\n           {\"The binding does not contain any authentication information.\"    ,\"RPC_NT_BINDING_HAS_NO_AUTH\",0xC002002FL},\n           {\"The authentication service is unknown.\"    ,\"RPC_NT_UNKNOWN_AUTHN_SERVICE\",0xC0020030L},\n           {\"The authentication level is unknown.\"    ,\"RPC_NT_UNKNOWN_AUTHN_LEVEL\",0xC0020031L},\n           {\"The security context is invalid.\"    ,\"RPC_NT_INVALID_AUTH_IDENTITY\",0xC0020032L},\n           {\"The authorization service is unknown.\"    ,\"RPC_NT_UNKNOWN_AUTHZ_SERVICE\",0xC0020033L},\n           {\"The entry is invalid.\"    ,\"EPT_NT_INVALID_ENTRY\",0xC0020034L},\n           {\"The operation cannot be performed.\"    ,\"EPT_NT_CANT_PERFORM_OP\",0xC0020035L},\n           {\"There are no more endpoints available from the endpoint mapper.\"    ,\"EPT_NT_NOT_REGISTERED\",0xC0020036L},\n           {\"No interfaces have been exported.\"    ,\"RPC_NT_NOTHING_TO_EXPORT\",0xC0020037L},\n           {\"The entry name is incomplete.\"    ,\"RPC_NT_INCOMPLETE_NAME\",0xC0020038L},\n           {\"The version option is invalid.\"    ,\"RPC_NT_INVALID_VERS_OPTION\",0xC0020039L},\n           {\"There are no more members.\"    ,\"RPC_NT_NO_MORE_MEMBERS\",0xC002003AL},\n           {\"There is nothing to unexport.\"    ,\"RPC_NT_NOT_ALL_OBJS_UNEXPORTED\",0xC002003BL},\n           {\"The interface was not found.\"    ,\"RPC_NT_INTERFACE_NOT_FOUND\",0xC002003CL},\n           {\"The entry already exists.\"    ,\"RPC_NT_ENTRY_ALREADY_EXISTS\",0xC002003DL},\n           {\"The entry is not found.\"    ,\"RPC_NT_ENTRY_NOT_FOUND\",0xC002003EL},\n           {\"The name service is unavailable.\"    ,\"RPC_NT_NAME_SERVICE_UNAVAILABLE\",0xC002003FL},\n           {\"The network address family is invalid.\"    ,\"RPC_NT_INVALID_NAF_ID\",0xC0020040L},\n           {\"The requested operation is not supported.\"    ,\"RPC_NT_CANNOT_SUPPORT\",0xC0020041L},\n           {\"No security context is available to allow impersonation.\"    ,\"RPC_NT_NO_CONTEXT_AVAILABLE\",0xC0020042L},\n           {\"An internal error occurred in RPC.\"    ,\"RPC_NT_INTERNAL_ERROR\",0xC0020043L},\n           {\"The RPC server attempted an integer divide by zero.\"    ,\"RPC_NT_ZERO_DIVIDE\",0xC0020044L},\n           {\"An addressing error occurred in the RPC server.\"    ,\"RPC_NT_ADDRESS_ERROR\",0xC0020045L},\n           {\"A floating point operation at the RPC server caused a divide by zero.\"    ,\"RPC_NT_FP_DIV_ZERO\",0xC0020046L},\n           {\"A floating point underflow occurred at the RPC server.\"    ,\"RPC_NT_FP_UNDERFLOW\",0xC0020047L},\n           {\"A floating point overflow occurred at the RPC server.\"    ,\"RPC_NT_FP_OVERFLOW\",0xC0020048L},\n           {\"The list of RPC servers available for auto-handle binding has been exhausted.\"    ,\"RPC_NT_NO_MORE_ENTRIES\",0xC0030001L},\n           {\"The file designated by DCERPCCHARTRANS cannot be opened.\"    ,\"RPC_NT_SS_CHAR_TRANS_OPEN_FAIL\",0xC0030002L},\n           {\"The file containing the character translation table has fewer than 512 bytes.\"    ,\"RPC_NT_SS_CHAR_TRANS_SHORT_FILE\",0xC0030003L},\n           {\"A null context handle is passed as an [in] parameter.\"    ,\"RPC_NT_SS_IN_NULL_CONTEXT\",0xC0030004L},\n           {\"The context handle does not match any known context handles.\"    ,\"RPC_NT_SS_CONTEXT_MISMATCH\",0xC0030005L},\n           {\"The context handle changed during a call.\"    ,\"RPC_NT_SS_CONTEXT_DAMAGED\",0xC0030006L},\n           {\"The binding handles passed to a remote procedure call do not match.\"    ,\"RPC_NT_SS_HANDLES_MISMATCH\",0xC0030007L},\n           {\"The stub is unable to get the call handle.\"    ,\"RPC_NT_SS_CANNOT_GET_CALL_HANDLE\",0xC0030008L},\n           {\"A null reference pointer was passed to the stub.\"    ,\"RPC_NT_NULL_REF_POINTER\",0xC0030009L},\n           {\"The enumeration value is out of range.\"    ,\"RPC_NT_ENUM_VALUE_OUT_OF_RANGE\",0xC003000AL},\n           {\"The byte count is too small.\"    ,\"RPC_NT_BYTE_COUNT_TOO_SMALL\",0xC003000BL},\n           {\"The stub received bad data.\"    ,\"RPC_NT_BAD_STUB_DATA\",0xC003000CL},\n           {\"A remote procedure call is already in progress for this thread.\"    ,\"RPC_NT_CALL_IN_PROGRESS\",0xC0020049L},\n           {\"There are no more bindings.\"    ,\"RPC_NT_NO_MORE_BINDINGS\",0xC002004AL},\n           {\"The group member was not found.\"    ,\"RPC_NT_GROUP_MEMBER_NOT_FOUND\",0xC002004BL},\n           {\"The endpoint mapper database entry could not be created.\"    ,\"EPT_NT_CANT_CREATE\",0xC002004CL},\n           {\"The object UUID is the nil UUID.\"    ,\"RPC_NT_INVALID_OBJECT\",0xC002004DL},\n           {\"No interfaces have been registered.\"    ,\"RPC_NT_NO_INTERFACES\",0xC002004FL},\n           {\"The remote procedure call was cancelled.\"    ,\"RPC_NT_CALL_CANCELLED\",0xC0020050L},\n           {\"The binding handle does not contain all required information.\"    ,\"RPC_NT_BINDING_INCOMPLETE\",0xC0020051L},\n           {\"A communications failure occurred during a remote procedure call.\"    ,\"RPC_NT_COMM_FAILURE\",0xC0020052L},\n           {\"The requested authentication level is not supported.\"    ,\"RPC_NT_UNSUPPORTED_AUTHN_LEVEL\",0xC0020053L},\n           {\"No principal name registered.\"    ,\"RPC_NT_NO_PRINC_NAME\",0xC0020054L},\n           {\"The error specified is not a valid Windows RPC error code.\"    ,\"RPC_NT_NOT_RPC_ERROR\",0xC0020055L},\n           {\"A UUID that is valid only on this computer has been allocated.\"    ,\"RPC_NT_UUID_LOCAL_ONLY\",0x40020056L},\n           {\"A security package specific error occurred.\"    ,\"RPC_NT_SEC_PKG_ERROR\",0xC0020057L},\n           {\"Thread is not cancelled.\"    ,\"RPC_NT_NOT_CANCELLED\",0xC0020058L},\n           {\"Invalid operation on the encoding/decoding handle.\"    ,\"RPC_NT_INVALID_ES_ACTION\",0xC0030059L},\n           {\"Incompatible version of the serializing package.\"    ,\"RPC_NT_WRONG_ES_VERSION\",0xC003005AL},\n           {\"Incompatible version of the RPC stub.\"    ,\"RPC_NT_WRONG_STUB_VERSION\",0xC003005BL},\n           {\"The RPC pipe object is invalid or corrupted.\"    ,\"RPC_NT_INVALID_PIPE_OBJECT\",0xC003005CL},\n           {\"An invalid operation was attempted on an RPC pipe object.\"    ,\"RPC_NT_INVALID_PIPE_OPERATION\",0xC003005DL},\n           {\"Unsupported RPC pipe version.\"    ,\"RPC_NT_WRONG_PIPE_VERSION\",0xC003005EL},\n           {\"The RPC pipe object has already been closed.\"    ,\"RPC_NT_PIPE_CLOSED\",0xC003005FL},\n           {\"The RPC call completed before all pipes were processed.\"    ,\"RPC_NT_PIPE_DISCIPLINE_ERROR\",0xC0030060L},\n           {\"No more data is available from the RPC pipe.\"    ,\"RPC_NT_PIPE_EMPTY\",0xC0030061L},\n           {\"Invalid asynchronous remote procedure call handle.\"    ,\"RPC_NT_INVALID_ASYNC_HANDLE\",0xC0020062L},\n           {\"Invalid asynchronous RPC call handle for this operation.\"    ,\"RPC_NT_INVALID_ASYNC_CALL\",0xC0020063L},\n           {\"Some data remains to be sent in the request buffer.\"    ,\"RPC_NT_SEND_INCOMPLETE\",0x400200AFL},\n           {\"An attempt was made to run an invalid AML opcode\"    ,\"STATUS_ACPI_INVALID_OPCODE\",0xC0140001L},\n           {\"The AML Interpreter Stack has overflowed\"    ,\"STATUS_ACPI_STACK_OVERFLOW\",0xC0140002L},\n           {\"An inconsistent state has occurred\"    ,\"STATUS_ACPI_ASSERT_FAILED\",0xC0140003L},\n           {\"An attempt was made to access an array outside of its bounds\"    ,\"STATUS_ACPI_INVALID_INDEX\",0xC0140004L},\n           {\"A required argument was not specified\"    ,\"STATUS_ACPI_INVALID_ARGUMENT\",0xC0140005L},\n           {\"A fatal error has occurred\"    ,\"STATUS_ACPI_FATAL\",0xC0140006L},\n           {\"An invalid SuperName was specified\"    ,\"STATUS_ACPI_INVALID_SUPERNAME\",0xC0140007L},\n           {\"An argument with an incorrect type was specified\"    ,\"STATUS_ACPI_INVALID_ARGTYPE\",0xC0140008L},\n           {\"An object with an incorrect type was specified\"    ,\"STATUS_ACPI_INVALID_OBJTYPE\",0xC0140009L},\n           {\"A target with an incorrect type was specified\"    ,\"STATUS_ACPI_INVALID_TARGETTYPE\",0xC014000AL},\n           {\"An incorrect number of arguments were specified\"    ,\"STATUS_ACPI_INCORRECT_ARGUMENT_COUNT\",0xC014000BL},\n           {\"An address failed to translate\"    ,\"STATUS_ACPI_ADDRESS_NOT_MAPPED\",0xC014000CL},\n           {\"An incorrect event type was specified\"    ,\"STATUS_ACPI_INVALID_EVENTTYPE\",0xC014000DL},\n           {\"A handler for the target already exists\"    ,\"STATUS_ACPI_HANDLER_COLLISION\",0xC014000EL},\n           {\"Invalid data for the target was specified\"    ,\"STATUS_ACPI_INVALID_DATA\",0xC014000FL},\n           {\"An invalid region for the target was specified\"    ,\"STATUS_ACPI_INVALID_REGION\",0xC0140010L},\n           {\"An attempt was made to access a field outside of the defined range\"    ,\"STATUS_ACPI_INVALID_ACCESS_SIZE\",0xC0140011L},\n           {\"The Global system lock could not be acquired\"    ,\"STATUS_ACPI_ACQUIRE_GLOBAL_LOCK\",0xC0140012L},\n           {\"An attempt was made to reinitialize the ACPI subsystem\"    ,\"STATUS_ACPI_ALREADY_INITIALIZED\",0xC0140013L},\n           {\"The ACPI subsystem has not been initialized\"    ,\"STATUS_ACPI_NOT_INITIALIZED\",0xC0140014L},\n           {\"An incorrect mutex was specified\"    ,\"STATUS_ACPI_INVALID_MUTEX_LEVEL\",0xC0140015L},\n           {\"The mutex is not currently owned\"    ,\"STATUS_ACPI_MUTEX_NOT_OWNED\",0xC0140016L},\n           {\"An attempt was made to access the mutex by a process that was not the owner\"    ,\"STATUS_ACPI_MUTEX_NOT_OWNER\",0xC0140017L},\n           {\"An error occurred during an access to Region Space\"    ,\"STATUS_ACPI_RS_ACCESS\",0xC0140018L},\n           {\"An attempt was made to use an incorrect table\"    ,\"STATUS_ACPI_INVALID_TABLE\",0xC0140019L},\n           {\"The registration of an ACPI event failed\"    ,\"STATUS_ACPI_REG_HANDLER_FAILED\",0xC0140020L},\n           {\"An ACPI Power Object failed to transition state\"    ,\"STATUS_ACPI_POWER_REQUEST_FAILED\",0xC0140021L},\n           {\"Session name %1 is invalid.\"    ,\"STATUS_CTX_WINSTATION_NAME_INVALID\",0xC00A0001L},\n           {\"The protocol driver %1 is invalid.\"    ,\"STATUS_CTX_INVALID_PD\",0xC00A0002L},\n           {\"The protocol driver %1 was not found in the system path.\"    ,\"STATUS_CTX_PD_NOT_FOUND\",0xC00A0003L},\n           {\"The Client Drive Mapping Service Has Connected on Terminal Connection.\"    ,\"STATUS_CTX_CDM_CONNECT\",0x400A0004L},\n           {\"The Client Drive Mapping Service Has Disconnected on Terminal Connection.\"    ,\"STATUS_CTX_CDM_DISCONNECT\",0x400A0005L},\n           {\"A close operation is pending on the Terminal Connection.\"    ,\"STATUS_CTX_CLOSE_PENDING\",0xC00A0006L},\n           {\"There are no free output buffers available.\"    ,\"STATUS_CTX_NO_OUTBUF\",0xC00A0007L},\n           {\"The MODEM.INF file was not found.\"    ,\"STATUS_CTX_MODEM_INF_NOT_FOUND\",0xC00A0008L},\n           {\"The modem (%1) was not found in MODEM.INF.\"    ,\"STATUS_CTX_INVALID_MODEMNAME\",0xC00A0009L},\n           {\"The modem did not accept the command sent to it.\"\n\"Verify the configured modem name matches the attached modem.\"    ,\"STATUS_CTX_RESPONSE_ERROR\",0xC00A000AL},\n           {\"The modem did not respond to the command sent to it.\"\n\"Verify the modem is properly cabled and powered on.\"    ,\"STATUS_CTX_MODEM_RESPONSE_TIMEOUT\",0xC00A000BL},\n           {\"Carrier detect has failed or carrier has been dropped due to disconnect.\"    ,\"STATUS_CTX_MODEM_RESPONSE_NO_CARRIER\",0xC00A000CL},\n           {\"Dial tone not detected within required time.\"\n\"Verify phone cable is properly attached and functional.\"    ,\"STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE\",0xC00A000DL},\n           {\"Busy signal detected at remote site on callback.\"    ,\"STATUS_CTX_MODEM_RESPONSE_BUSY\",0xC00A000EL},\n           {\"Voice detected at remote site on callback.\"    ,\"STATUS_CTX_MODEM_RESPONSE_VOICE\",0xC00A000FL},\n           {\"Transport driver error\"    ,\"STATUS_CTX_TD_ERROR\",0xC00A0010L},\n           {\"The client you are using is not licensed to use this system. Your logon request is denied.\"    ,\"STATUS_CTX_LICENSE_CLIENT_INVALID\",0xC00A0012L},\n           {\"The system has reached its licensed logon limit.\"\n\"Please try again later.\"    ,\"STATUS_CTX_LICENSE_NOT_AVAILABLE\",0xC00A0013L},\n           {\"The system license has expired. Your logon request is denied.\"    ,\"STATUS_CTX_LICENSE_EXPIRED\",0xC00A0014L},\n           {\"The specified session cannot be found.\"    ,\"STATUS_CTX_WINSTATION_NOT_FOUND\",0xC00A0015L},\n           {\"The specified session name is already in use.\"    ,\"STATUS_CTX_WINSTATION_NAME_COLLISION\",0xC00A0016L},\n           {\"The requested operation cannot be completed because the Terminal Connection is currently busy processing a connect, disconnect, reset, or delete operation.\"    ,\"STATUS_CTX_WINSTATION_BUSY\",0xC00A0017L},\n           {\"An attempt has been made to connect to a session whose video mode is not supported by the current client.\"    ,\"STATUS_CTX_BAD_VIDEO_MODE\",0xC00A0018L},\n           {\"The application attempted to enable DOS graphics mode.\"\n\"DOS graphics mode is not supported.\"    ,\"STATUS_CTX_GRAPHICS_INVALID\",0xC00A0022L},\n           {\"The requested operation can be performed only on the system console.\"\n\"This is most often the result of a driver or system DLL requiring direct console access.\"    ,\"STATUS_CTX_NOT_CONSOLE\",0xC00A0024L},\n           {\"The client failed to respond to the server connect message.\"    ,\"STATUS_CTX_CLIENT_QUERY_TIMEOUT\",0xC00A0026L},\n           {\"Disconnecting the console session is not supported.\"    ,\"STATUS_CTX_CONSOLE_DISCONNECT\",0xC00A0027L},\n           {\"Reconnecting a disconnected session to the console is not supported.\"    ,\"STATUS_CTX_CONSOLE_CONNECT\",0xC00A0028L},\n           {\"The request to control another session remotely was denied.\"    ,\"STATUS_CTX_SHADOW_DENIED\",0xC00A002AL},\n           {\"A process has requested access to a session, but has not been granted those access rights.\"    ,\"STATUS_CTX_WINSTATION_ACCESS_DENIED\",0xC00A002BL},\n           {\"The Terminal Connection driver %1 is invalid.\"    ,\"STATUS_CTX_INVALID_WD\",0xC00A002EL},\n           {\"The Terminal Connection driver %1 was not found in the system path.\"    ,\"STATUS_CTX_WD_NOT_FOUND\",0xC00A002FL},\n           {\"The requested session cannot be controlled remotely.\"\n\"You cannot control your own session, a session that is trying to control your session,\"\n\"a session that has no user logged on, nor control other sessions from the console.\"    ,\"STATUS_CTX_SHADOW_INVALID\",0xC00A0030L},\n           {\"The requested session is not configured to allow remote control.\"    ,\"STATUS_CTX_SHADOW_DISABLED\",0xC00A0031L},\n           {\"The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client.\"    ,\"STATUS_RDP_PROTOCOL_ERROR\",0xC00A0032L},\n           {\"Your request to connect to this Terminal server has been rejected.\"\n\"Your Terminal Server Client license number has not been entered for this copy of the Terminal Client.\"\n\"Please call your system administrator for help in entering a valid, unique license number for this Terminal Server Client.\"\n\"Click OK to continue.\"    ,\"STATUS_CTX_CLIENT_LICENSE_NOT_SET\",0xC00A0033L},\n           {\"Your request to connect to this Terminal server has been rejected.\"\n\"Your Terminal Server Client license number is currently being used by another user.\"\n\"Please call your system administrator to obtain a new copy of the Terminal Server Client with a valid, unique license number.\"\n\"Click OK to continue.\"    ,\"STATUS_CTX_CLIENT_LICENSE_IN_USE\",0xC00A0034L},\n           {\"The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported.\"    ,\"STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE\",0xC00A0035L},\n           {\"Remote control could not be terminated because the specified session is not currently being remotely controlled.\"    ,\"STATUS_CTX_SHADOW_NOT_RUNNING\",0xC00A0036L},\n           {\"A device is missing in the system BIOS MPS table. This device will not be used.\"\n\"Please contact your system vendor for system BIOS update.\"    ,\"STATUS_PNP_BAD_MPS_TABLE\",0xC0040035L},\n           {\"A translator failed to translate resources.\"    ,\"STATUS_PNP_TRANSLATION_FAILED\",0xC0040036L},\n           {\"A IRQ translator failed to translate resources.\"    ,\"STATUS_PNP_IRQ_TRANSLATION_FAILED\",0xC0040037L},\n           {\"Driver %2 returned invalid ID for a child device (%3).\"    ,\"STATUS_PNP_INVALID_ID\",0xC0040038L},\n           {\"The requested section is not present in the activation context.\"    ,\"STATUS_SXS_SECTION_NOT_FOUND\",0xC0150001L},\n           {\"Windows was not able to process the application binding information.\"\n\"Please refer to your System Event Log for further information.\"    ,\"STATUS_SXS_CANT_GEN_ACTCTX\",0xC0150002L},\n           {\"The application binding data format is invalid.\"    ,\"STATUS_SXS_INVALID_ACTCTXDATA_FORMAT\",0xC0150003L},\n           {\"The referenced assembly is not installed on your system.\"    ,\"STATUS_SXS_ASSEMBLY_NOT_FOUND\",0xC0150004L},\n           {\"The manifest file does not begin with the required tag and format information.\"    ,\"STATUS_SXS_MANIFEST_FORMAT_ERROR\",0xC0150005L},\n           {\"The manifest file contains one or more syntax errors.\"    ,\"STATUS_SXS_MANIFEST_PARSE_ERROR\",0xC0150006L},\n           {\"The application attempted to activate a disabled activation context.\"    ,\"STATUS_SXS_ACTIVATION_CONTEXT_DISABLED\",0xC0150007L},\n           {\"The requested lookup key was not found in any active activation context.\"    ,\"STATUS_SXS_KEY_NOT_FOUND\",0xC0150008L},\n           {\"A component version required by the application conflicts with another component version already active.\"    ,\"STATUS_SXS_VERSION_CONFLICT\",0xC0150009L},\n           {\"The type requested activation context section does not match the query API used.\"    ,\"STATUS_SXS_WRONG_SECTION_TYPE\",0xC015000AL},\n           {\"Lack of system resources has required isolated activation to be disabled for the current thread of execution.\"    ,\"STATUS_SXS_THREAD_QUERIES_DISABLED\",0xC015000BL},\n           {\"The referenced assembly could not be found.\"    ,\"STATUS_SXS_ASSEMBLY_MISSING\",0xC015000CL},\n           {\"A kernel mode component is releasing a reference on an activation context.\"    ,\"STATUS_SXS_RELEASE_ACTIVATION_CONTEXT\",0x4015000DL},\n           {\"An attempt to set the process default activation context failed because the process default activation context was already set.\"    ,\"STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET\",0xC015000EL},\n           {\"The activation context being deactivated is not the most recently activated one.\"    ,\"STATUS_SXS_EARLY_DEACTIVATION\",0xC015000FL},\n           {\"The activation context being deactivated is not active for the current thread of execution.\"    ,\"STATUS_SXS_INVALID_DEACTIVATION\",0xC0150010L},\n           {\"The activation context being deactivated has already been deactivated.\"    ,\"STATUS_SXS_MULTIPLE_DEACTIVATION\",0xC0150011L},\n           {\"The activation context of system default assembly could not be generated.\"    ,\"STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY\",0xC0150012L},\n           {\"A component used by the isolation facility has requested to terminate the process.\"    ,\"STATUS_SXS_PROCESS_TERMINATION_REQUESTED\",0xC0150013L},\n           {\"The activation context activation stack for the running thread of execution is corrupt.\"    ,\"STATUS_SXS_CORRUPT_ACTIVATION_STACK\",0xC0150014L},\n           {\"The application isolation metadata for this process or thread has become corrupt.\"    ,\"STATUS_SXS_CORRUPTION\",0xC0150015L},\n           {\"The cluster node is not valid.\"    ,\"STATUS_CLUSTER_INVALID_NODE\",0xC0130001L},\n           {\"The cluster node already exists.\"    ,\"STATUS_CLUSTER_NODE_EXISTS\",0xC0130002L},\n           {\"A node is in the process of joining the cluster.\"    ,\"STATUS_CLUSTER_JOIN_IN_PROGRESS\",0xC0130003L},\n           {\"The cluster node was not found.\"    ,\"STATUS_CLUSTER_NODE_NOT_FOUND\",0xC0130004L},\n           {\"The cluster local node information was not found.\"    ,\"STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND\",0xC0130005L},\n           {\"The cluster network already exists.\"    ,\"STATUS_CLUSTER_NETWORK_EXISTS\",0xC0130006L},\n           {\"The cluster network was not found.\"    ,\"STATUS_CLUSTER_NETWORK_NOT_FOUND\",0xC0130007L},\n           {\"The cluster network interface already exists.\"    ,\"STATUS_CLUSTER_NETINTERFACE_EXISTS\",0xC0130008L},\n           {\"The cluster network interface was not found.\"    ,\"STATUS_CLUSTER_NETINTERFACE_NOT_FOUND\",0xC0130009L},\n           {\"The cluster request is not valid for this object.\"    ,\"STATUS_CLUSTER_INVALID_REQUEST\",0xC013000AL},\n           {\"The cluster network provider is not valid.\"    ,\"STATUS_CLUSTER_INVALID_NETWORK_PROVIDER\",0xC013000BL},\n           {\"The cluster node is down.\"    ,\"STATUS_CLUSTER_NODE_DOWN\",0xC013000CL},\n           {\"The cluster node is not reachable.\"    ,\"STATUS_CLUSTER_NODE_UNREACHABLE\",0xC013000DL},\n           {\"The cluster node is not a member of the cluster.\"    ,\"STATUS_CLUSTER_NODE_NOT_MEMBER\",0xC013000EL},\n           {\"A cluster join operation is not in progress.\"    ,\"STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS\",0xC013000FL},\n           {\"The cluster network is not valid.\"    ,\"STATUS_CLUSTER_INVALID_NETWORK\",0xC0130010L},\n           {\"No network adapters are available.\"    ,\"STATUS_CLUSTER_NO_NET_ADAPTERS\",0xC0130011L},\n           {\"The cluster node is up.\"    ,\"STATUS_CLUSTER_NODE_UP\",0xC0130012L},\n           {\"The cluster node is paused.\"    ,\"STATUS_CLUSTER_NODE_PAUSED\",0xC0130013L},\n           {\"The cluster node is not paused.\"    ,\"STATUS_CLUSTER_NODE_NOT_PAUSED\",0xC0130014L},\n           {\"No cluster security context is available.\"    ,\"STATUS_CLUSTER_NO_SECURITY_CONTEXT\",0xC0130015L},\n           {\"The cluster network is not configured for internal cluster communication.\"    ,\"STATUS_CLUSTER_NETWORK_NOT_INTERNAL\",0xC0130016L},\n           {\"The cluster node has been poisoned.\"    ,\"STATUS_CLUSTER_POISONED\",0xC0130017L},\n           {\"Log service found an invalid log sector.\"    ,\"STATUS_LOG_SECTOR_INVALID\",0xC01A0001L},\n           {\"Log service encountered a log sector with invalid block parity.\"    ,\"STATUS_LOG_SECTOR_PARITY_INVALID\",0xC01A0002L},\n           {\"Log service encountered a remapped log sector.\"    ,\"STATUS_LOG_SECTOR_REMAPPED\",0xC01A0003L},\n           {\"Log service encountered a partial or incomplete log block.\"    ,\"STATUS_LOG_BLOCK_INCOMPLETE\",0xC01A0004L},\n           {\"Log service encountered an attempt access data outside the active log range.\"    ,\"STATUS_LOG_INVALID_RANGE\",0xC01A0005L},\n           {\"Log service user log marshalling buffers are exhausted.\"    ,\"STATUS_LOG_BLOCKS_EXHAUSTED\",0xC01A0006L},\n           {\"Log service encountered an attempt read from a marshalling area with an invalid read context.\"    ,\"STATUS_LOG_READ_CONTEXT_INVALID\",0xC01A0007L},\n           {\"Log service encountered an invalid log restart area.\"    ,\"STATUS_LOG_RESTART_INVALID\",0xC01A0008L},\n           {\"Log service encountered an invalid log block version.\"    ,\"STATUS_LOG_BLOCK_VERSION\",0xC01A0009L},\n           {\"Log service encountered an invalid log block.\"    ,\"STATUS_LOG_BLOCK_INVALID\",0xC01A000AL},\n           {\"Log service encountered an attempt to read the log with an invalid read mode.\"    ,\"STATUS_LOG_READ_MODE_INVALID\",0xC01A000BL},\n           {\"Log service encountered a log stream with no restart area.\"    ,\"STATUS_LOG_NO_RESTART\",0x401A000CL},\n           {\"Log service encountered a corrupted metadata file.\"    ,\"STATUS_LOG_METADATA_CORRUPT\",0xC01A000DL},\n           {\"Log service encountered a metadata file that could not be created by the log file system.\"    ,\"STATUS_LOG_METADATA_INVALID\",0xC01A000EL},\n           {\"Log service encountered a metadata file with inconsistent data.\"    ,\"STATUS_LOG_METADATA_INCONSISTENT\",0xC01A000FL},\n           {\"Log service encountered an attempt to erroneously allocate or dispose reservation space.\"    ,\"STATUS_LOG_RESERVATION_INVALID\",0xC01A0010L},\n           {\"Log service cannot delete log file or file system container.\"    ,\"STATUS_LOG_CANT_DELETE\",0xC01A0011L},\n           {\"Log service has reached the maximum allowable containers allocated to a log file.\"    ,\"STATUS_LOG_CONTAINER_LIMIT_EXCEEDED\",0xC01A0012L},\n           {\"Log service has attempted to read or write backwards past the start of the log.\"    ,\"STATUS_LOG_START_OF_LOG\",0xC01A0013L},\n           {\"Log policy could not be installed because a policy of the same type is already present.\"    ,\"STATUS_LOG_POLICY_ALREADY_INSTALLED\",0xC01A0014L},\n           {\"Log policy in question was not installed at the time of the request.\"    ,\"STATUS_LOG_POLICY_NOT_INSTALLED\",0xC01A0015L},\n           {\"The installed set of policies on the log is invalid.\"    ,\"STATUS_LOG_POLICY_INVALID\",0xC01A0016L},\n           {\"A policy on the log in question prevented the operation from completing.\"    ,\"STATUS_LOG_POLICY_CONFLICT\",0xC01A0017L},\n           {\"Log space cannot be reclaimed because the log is pinned by the archive tail.\"    ,\"STATUS_LOG_PINNED_ARCHIVE_TAIL\",0xC01A0018L},\n           {\"Log record is not a record in the log file.\"    ,\"STATUS_LOG_RECORD_NONEXISTENT\",0xC01A0019L},\n           {\"Number of reserved log records or the adjustment of the number of reserved log records is invalid.\"    ,\"STATUS_LOG_RECORDS_RESERVED_INVALID\",0xC01A001AL},\n           {\"Reserved log space or the adjustment of the log space is invalid.\"    ,\"STATUS_LOG_SPACE_RESERVED_INVALID\",0xC01A001BL},\n           {\"A new or existing archive tail or base of the active log is invalid.\"    ,\"STATUS_LOG_TAIL_INVALID\",0xC01A001CL},\n           {\"Log space is exhausted.\"    ,\"STATUS_LOG_FULL\",0xC01A001DL},\n           {\"The log could not be set to the requested size.\"    ,\"STATUS_COULD_NOT_RESIZE_LOG\",0x80190009L},\n           {NULL,NULL,0},\n};\n\n\n"
  },
  {
    "path": "Project/Syser/Source/NtstatStr.h",
    "content": "#ifndef _NTSTATSTR_H_\n#define _NTSTATSTR_H_\ntypedef struct _NTSTATUS_STR\n{\n\tchar* Description;\n\tchar* Name;\n\tunsigned long Code;\n}NTSTATUS_STR,*P_NTSTATUS_STR;\nextern NTSTATUS_STR gNtstatusTable[];\n#endif //_NTSTATSTR_H_"
  },
  {
    "path": "Project/Syser/Source/OHCIDevice.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"OHCIDevice.h\"\n#include \"Keyboard.h\"\n#include \"Mouse.h\"\n\n\nCOHCIDevice::COHCIDevice()\n{\n\tfor(int n=0;n<MAX_OHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tSTZeroMemory(m_OHCIMouse[n]);\n\t}\n\tfor(int n=0;n<MAX_OHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tSTZeroMemory(m_OHCIKeyboard[n]);\n\t}\n\tm_OHCIKeyboardCount = m_OHCIMouseCount = 0;\n}\n\nCOHCIDevice::~COHCIDevice()\n{\n}\n\nbool COHCIDevice::Init()\n{\n\tfor(int n=0;n<MAX_OHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tInitOHCIInputDevice(&m_OHCIMouse[n].DevInfo);\n\t}\n\tfor(int n=0;n<MAX_OHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tInitOHCIInputDevice(&m_OHCIKeyboard[n].DevInfo);\n\t}\n\tm_OHCIKeyboardCount = m_OHCIMouseCount = 0;\n\treturn true;\n}\n\nvoid COHCIDevice::Release()\n{\n\tfor(int n=0;n<MAX_OHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tReleaseOHCIInputDevice(&m_OHCIMouse[n].DevInfo);\n\t}\n\tfor(int n=0;n<MAX_OHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tReleaseOHCIInputDevice(&m_OHCIKeyboard[n].DevInfo);\n\t}\n\tm_OHCICtrlList.Clear();\n\tm_PhyscialMemoryCacheMap.Clear();\n}\n\nbool COHCIDevice::CacheMapToVAddr(ULPOS PhysicalAddress,ULPOS* VirtualAddress)\n{\n\tTMap<ULPOS,ULPOS>::IT FindIT;\n\tULPOS SwapVal;\n\tULPOS AlignPhysicalAddress,PhysicalAddressMod;\n\n\tAlignPhysicalAddress=(PhysicalAddress&0xFFFFF000);\n\tPhysicalAddressMod = PhysicalAddress - AlignPhysicalAddress;\n\tFindIT = m_PhyscialMemoryCacheMap.Find(AlignPhysicalAddress);\n\tif(FindIT==m_PhyscialMemoryCacheMap.End())\n\t{\n\t\tif(MapToVAddr(AlignPhysicalAddress,&SwapVal)==0)\n\t\t\treturn false;\n\t\tFindIT = m_PhyscialMemoryCacheMap.InsertUnique(AlignPhysicalAddress,SwapVal);\n\t}\n\t*VirtualAddress = *FindIT;\n\t*VirtualAddress |= PhysicalAddressMod;\n\treturn true;\n}\n\nvoid COHCIDevice::Attach()\n{\n\tint Level;\n\tDWORD EDAddr;\n\tOHCI_ED*pED;\n\tOHCI_HCCA*pHCCA;\n\tfor(TList<OHCI_CTRL_INFO>::IT Iter=m_OHCICtrlList.Begin();Iter!=m_OHCICtrlList.End();Iter++)\n\t{\n\t\t//OUTPUT(WSTR(\"Search OHCI %08X\\n\"),Iter->pOHCIRegs->HCCA);\n\t\tif(CacheMapToVAddr(Iter->pOHCIRegs->HCCA,(ULPOS*)&pHCCA)==false)\n\t\t\tcontinue;\n\t\tfor(int n=0;n<MAX_OHCI_DEVICE_FRAME_PERIOD;n++)\n\t\t{\n\t\t\t//OUTPUT(WSTR(\"Search Frame %d\\n\"),n);\n\t\t\tLevel = 10;\n\t\t\tEDAddr = pHCCA->IntTab[n];\n\t\t\twhile(Level>0 && EDAddr && CacheMapToVAddr(EDAddr,(ULPOS*)&pED))\n\t\t\t{\n\t\t\t\t//OUTPUT(WSTR(\"ED %08X\\n\"),EDAddr);\n\t\t\t\tif(OHCI_IsSkipED(pED->hwINFO)==false)\n\t\t\t\t\tRecognizeOHCIDevice(pHCCA,pED);\n\t\t\t\tif(pED->hwNextED == EDAddr)\n\t\t\t\t\tbreak;\n\t\t\t\tEDAddr = pED->hwNextED;\n\t\t\t\tLevel--;\n\t\t\t}\n\t\t}\n\t}\n\t/*\n\tfor(int n=0;n<m_OHCIMouseCount;n++)\n\t{\n\t\tOUTPUT(WSTR(\"%d Found USB Mouse %X\\n\"),n,m_OHCIMouse[n].DevInfo.pDeviceED);\n\t}*/\n}\n\nvoid COHCIDevice::Detach()\n{\n\tint n;\n\tfor(n=0;n<m_OHCIMouseCount;n++)\n\t{\n\t\tDetachOHCIDevice(&m_OHCIMouse[m_OHCIMouseCount-n-1].DevInfo);\n\t}\n\tm_OHCIMouseCount = 0;\n\tfor(n=0;n<m_OHCIKeyboardCount;n++)\n\t{\n\t\tDetachOHCIDevice(&m_OHCIKeyboard[m_OHCIKeyboardCount-n-1].DevInfo);\n\t}\n\tm_OHCIKeyboardCount = 0;\n\t//m_PhyscialMemoryCacheMap.Clear();\n}\n\nvoid COHCIDevice::RecognizeOHCIDevice(OHCI_HCCA*pHCCA,OHCI_ED*pED)\n{\n\tDWORD Length;\n\tOHCI_TD*pTD;\n\t//OUTPUT(WSTR(\"pED->hwINFO %08X pED->hwHeadP %08X pED->hwTailP %08X\\n\"),pED->hwINFO,pED->hwHeadP,pED->hwTailP);\n\tif(pED->hwHeadP==pED->hwTailP || MapToVAddr(pED->hwHeadP&0xFFFFFFF0,(ULPOS*)&pTD)==0)\n\t\treturn;\n\tLength = pTD->hwBE - pTD->hwCBP + 1;\n\tif(pTD->hwINFO.DP!=2)\n\t\treturn;//IN\n\t//OUTPUT(WSTR(\"Length = %X ,pTD->hwINFO.DP = %X,pTD->hwINFO = %08X , pTD->hwCBP = %08X , pTD->hwNextTD = %08X , pTD->hwBE = %08X\\n\"),Length,pTD->hwINFO.DP,pTD->hwINFO,pTD->hwCBP,pTD->hwNextTD,pTD->hwBE);\n\tif(Length>=4 && Length<=16 && Length!=8)\n\t{\n\t\tif(m_OHCIMouseCount<MAX_OHCI_MOUSE_DEVICE)\n\t\t{\n\t\t\tfor(int n=0;n<m_OHCIMouseCount;n++)\n\t\t\t{\n\t\t\t\tif(m_OHCIMouse[n].DevInfo.pDeviceED->hwINFO == pED->hwINFO)\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\tAttachOHCIDevice(&m_OHCIMouse[m_OHCIMouseCount].DevInfo,pED,pTD,pHCCA);\n\t\t\tm_OHCIMouse[m_OHCIMouseCount].BtStatus = 0;\n\t\t\tm_OHCIMouseCount++;\n\t\t}\n\t}\n\telse if(Length==8)\n\t{\n\t\tif(m_OHCIKeyboardCount<MAX_OHCI_KEYBOARD_DEVICE)\n\t\t{\n\t\t\tfor(int n=0;n<m_OHCIKeyboardCount;n++)\n\t\t\t{\n\t\t\t\tif(m_OHCIKeyboard[n].DevInfo.pDeviceED->hwINFO == pED->hwINFO)\n\t\t\t\t\treturn;\n\t\t\t}\n\t\t\tAttachOHCIDevice(&m_OHCIKeyboard[m_OHCIKeyboardCount].DevInfo,pED,pTD,pHCCA);\n\t\t\tZeroMemory(m_OHCIKeyboard[m_OHCIKeyboardCount].PrevData,8);\n\t\t\tm_OHCIKeyboardCount++;\n\t\t}\n\t}\n}\n\nvoid COHCIDevice::OHCIMouseService()\n{\n\tOHCI_DEVICE_INFO*pDevInfo;\n\tOHCI_MOUSE_DEVICE*pMouseDev;\n\tOHCI_TD*pTD;\n\tfor(int n=0;n<m_OHCIMouseCount;n++)\n\t{\n\t\tpDevInfo = &m_OHCIMouse[n].DevInfo;\n\t\tfor(int i=0;i<OHCI_DEVICE_TD_COUNT;i++)\n\t\t{\n\t\t\tpTD = (OHCI_TD*)&pDevInfo->pTDListBuffer[i*OHCI_TD_LENGTH];\n\t\t\tif(pTD->hwINFO.CC==OHCI_TD_NOERROR)\n\t\t\t{\n\t\t\t\tpMouseDev = &m_OHCIMouse[n];\n\t\t\t\tTranslateUSBMouse((char*)&pTD[1],&pMouseDev->BtStatus);\n\t\t\t\tOHCIPacketDone(pDevInfo);//ָTD\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif(pDevInfo->pDeviceED->hwHeadP == pDevInfo->pDeviceED->hwTailP)\n\t\t\tOHCIPacketDone(pDevInfo);\n\t}\n}\n\nvoid COHCIDevice::OHCIKeyboardService()\n{\n\tOHCI_DEVICE_INFO*pDevInfo;\n\tOHCI_TD*pTD;\n\tfor(int n=0;n<m_OHCIKeyboardCount;n++)\n\t{\n\t\tpDevInfo = &m_OHCIKeyboard[n].DevInfo;\n\t\tfor(int i=0;i<OHCI_DEVICE_TD_COUNT;i++)\n\t\t{\n\t\t\tpTD = (OHCI_TD*)&pDevInfo->pTDListBuffer[i*OHCI_TD_LENGTH];\n\t\t\tif(pTD->hwINFO.CC==OHCI_TD_NOERROR)\n\t\t\t{\n\t\t\t\tTranslateUSBKey(m_OHCIKeyboard[n].PrevData,(BYTE*)&pTD[1]);\n\t\t\t\tOHCIPacketDone(pDevInfo);//ָTD\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tif(pDevInfo->pDeviceED->hwHeadP == pDevInfo->pDeviceED->hwTailP)\n\t\t\tOHCIPacketDone(pDevInfo);\n\t}\n}\n\nvoid COHCIDevice::OHCIPacketDone(OHCI_DEVICE_INFO*pDevInfo)\n{\n\tOHCI_TD*pNewTD;\n\tfor(int i=0;i<OHCI_DEVICE_TD_COUNT;i++)\n\t{\n\t\tpNewTD = (OHCI_TD*)&pDevInfo->pTDListBuffer[i*OHCI_TD_LENGTH];\n\t\tpNewTD->hwINFO = pDevInfo->OrghwINFO;\n\t\tpNewTD->hwINFO.EC  = 0;\n\t\tpNewTD->hwINFO.CC  = OHCI_TD_NOTACCESS;\n\n\t\tpNewTD->hwCBP = pDevInfo->TDListBufferPA+i*OHCI_TD_LENGTH+sizeof(OHCI_TD);\n\t\tpNewTD->hwBE = pNewTD->hwCBP+pDevInfo->Length;\n\t\tpNewTD->hwNextTD = pDevInfo->TDListBufferPA+(i+1)*OHCI_TD_LENGTH;\t\t\n\t}\n\tpDevInfo->pDeviceED->hwHeadP = pDevInfo->TDListBufferPA;\n\tpDevInfo->pDeviceED->hwTailP = pDevInfo->TDListBufferPA+OHCI_DEVICE_TD_COUNT*OHCI_TD_LENGTH;\n}\n\nvoid COHCIDevice::InitOHCIInputDevice(OHCI_DEVICE_INFO*pDevInfo)\n{\n\tULONGLONG PhysAddr;\n\tpDevInfo->pTDListBuffer = (BYTE*) gpUserHeap[0]->AlignAllocate(OHCI_TDLIST_LENGTH,0x400);\n\tZeroMemory(pDevInfo->pTDListBuffer,OHCI_TDLIST_LENGTH);\n\tPhysAddr = 0;\n\tMapToPAddr((ULPOS)pDevInfo->pTDListBuffer,&PhysAddr);\n\tpDevInfo->TDListBufferPA = (DWORD)PhysAddr;\n}\n\nvoid COHCIDevice::ReleaseOHCIInputDevice(OHCI_DEVICE_INFO*pDevInfo)\n{\n\tgpUserHeap[0]->AlignFree(pDevInfo->pTDListBuffer);\n}\n\nvoid COHCIDevice::AttachOHCIDevice(OHCI_DEVICE_INFO*pDevInfo,OHCI_ED*pED,OHCI_TD*pTD,OHCI_HCCA*pHCCA)\n{\n\tULONGLONG PhysAddr;\n\tpDevInfo->OldED = *pED;\n\tpDevInfo->OrghwINFO = pTD->hwINFO;\n\tpDevInfo->pDeviceED = pED;\n\tpDevInfo->pHCCA = pHCCA;\n\tpDevInfo->Length = pTD->hwBE-pTD->hwCBP;\n\n\t//OUTPUT(WSTR(\"OHCI Attach pDeviceED %08X , pNewTD %08X\\n\"),pDevInfo->pDeviceED,pDevInfo->pTDListBuffer);\n\t/*\n\tif(pTD->hwBE-pTD->hwCBP==7)\n\tOUTPUT(WSTR(\"Found Keyboard Device!\\n\"));\n\telse\n\tOUTPUT(WSTR(\"Found Mouse Device!\\n\"));\n\t*/\n\tZeroMemory(pDevInfo->pTDListBuffer,OHCI_TDLIST_LENGTH);\n\tOHCI_TD*pNewTD;\n\tfor(int i=0;i<OHCI_DEVICE_TD_COUNT;i++)\n\t{\n\t\tpNewTD = (OHCI_TD*)&pDevInfo->pTDListBuffer[i*OHCI_TD_LENGTH];\n\t\tpNewTD->hwINFO = pDevInfo->OrghwINFO;\n\t\tpNewTD->hwINFO.EC  = 0;\n\t\tpNewTD->hwINFO.CC  = OHCI_TD_NOTACCESS;\n\n\t\tpNewTD->hwCBP = pDevInfo->TDListBufferPA+i*OHCI_TD_LENGTH+sizeof(OHCI_TD);\n\t\tpNewTD->hwBE = pNewTD->hwCBP+pDevInfo->Length;\n\t\tpNewTD->hwNextTD = pDevInfo->TDListBufferPA+(i+1)*OHCI_TD_LENGTH;\t\t\n\t}\n\tpED->hwHeadP = pDevInfo->TDListBufferPA;\n\tpED->hwTailP = pDevInfo->TDListBufferPA+OHCI_DEVICE_TD_COUNT*OHCI_TD_LENGTH;\n}\n\nvoid COHCIDevice::DetachOHCIDevice(OHCI_DEVICE_INFO*pDevInfo)\n{\n\t//OUTPUT(WSTR(\"OHCI Detach\\n\"));\n\t*pDevInfo->pDeviceED = pDevInfo->OldED;\n}\n"
  },
  {
    "path": "Project/Syser/Source/OHCIDevice.h",
    "content": "#ifndef _OHCI_DEVICE_H_\n#define _OHCI_DEVICE_H_\n\nstruct OHCI_REGS\n{\n\t/* control and status registers */\n\tDWORD\tRevision;\n\tDWORD\tControl;\n\tDWORD\tCmdStatus;\n\tDWORD\tIntrStatus;\n\tDWORD\tIntrEnable;\n\tDWORD\tIntrDisable;\n\t/* memory pointers */\n\tDWORD\tHCCA;\n\tDWORD\ted_periodcurrent;\n\tDWORD\ted_controlhead;\n\tDWORD\ted_controlcurrent;\n\tDWORD\ted_bulkhead;\n\tDWORD\ted_bulkcurrent;\n\tDWORD\tDoneHead;\n\t/* frame counters */\n\tDWORD\tFMInterVal;\n\tDWORD\tFMRemaining;\n\tDWORD\tFMNumber;\n\tDWORD\tPerioDicstart;\n\tDWORD\tlsthresh;\n};\n\nstruct OHCI_CTRL_INFO\n{\n\tint\t\t\tBus;\n\tint\t\t\tDevFN;\n\tOHCI_REGS*\tpOHCIRegs;\n};\n\n#define OHCI_IsSkipED(x)\t\t\t\t(((x)&(1<<14))!=0)\n#define OHCI_GetMPS(x)\t\t\t\t\t(((x)>>16)&0x3FF)\n#define OHCI_IsLowSpeed(x)\t\t\t\t(((x)&(1<<13))!=0)\n\n\nstruct OHCI_ED\n{\n\tDWORD\thwINFO;\n\tDWORD\thwTailP;\n\tDWORD\thwHeadP;\n\tDWORD\thwNextED;\n};\n\nstruct OHCI_TD_INFO\n{\n\tDWORD Reserved:18;\n\tDWORD R:1;\n\tDWORD DP:2;\n\tDWORD DI:3;\n\tDWORD T:2;\n\tDWORD EC:2;\n\tDWORD CC:4;\n};\n\nstruct OHCI_TD\n{\n\tOHCI_TD_INFO hwINFO;\n\tDWORD\thwCBP;\n\tDWORD\thwNextTD;\n\tDWORD\thwBE;\n};\n\nstruct OHCI_HCCA\n{\n\tDWORD\tIntTab[32];\n\tWORD\tFrameNum;\n\tWORD\tPad1;\n\tDWORD\tDoneHead;\n};\n\n#define MAX_OHCI_DEVICE_FRAME_PERIOD\t32\n#define MAX_OHCI_MOUSE_DEVICE\t\t\t8\n#define MAX_OHCI_KEYBOARD_DEVICE\t\t8\n\n#define OHCI_DEVICE_TD_COUNT\t\t\t2\n#define OHCI_DATA_BUFF_LENGTH\t\t\t0x20\n#define OHCI_TD_LENGTH\t\t\t\t\t(OHCI_DATA_BUFF_LENGTH+sizeof(OHCI_TD))\n#define OHCI_TDLIST_LENGTH\t\t\t\t((OHCI_DEVICE_TD_COUNT+1)*OHCI_TD_LENGTH)\n\nstruct OHCI_DEVICE_INFO\n{\n\tOHCI_ED\tOldED;\n\tOHCI_TD_INFO OrghwINFO;\n\tDWORD\tLength;\n\tDWORD\tTDListBufferPA;\n\tOHCI_HCCA*pHCCA;\n\tOHCI_ED*pDeviceED;\n\tBYTE*\tpTDListBuffer;\n};\n\nstruct OHCI_KEYBOARD_DEVICE\n{\n\tOHCI_DEVICE_INFO DevInfo;\n\tBYTE PrevData[8];\n};\n\nstruct OHCI_MOUSE_DEVICE\n{\n\tOHCI_DEVICE_INFO DevInfo;\n\tchar BtStatus;\n};\n\n#define OHCI_TD_NOERROR\t\t\t\t\t0\n#define OHCI_TD_NOTACCESS\t\t\t\t0xE\n\n///////////////////////////////////////////\n//OHCI Buffer\n///////////////////////////////////////////\n\nclass COHCIDevice\n{\npublic:\n\tCOHCIDevice();\n\t~COHCIDevice();\npublic:\n\tTMap<ULPOS,ULPOS>\t\tm_PhyscialMemoryCacheMap;\n\tTList<OHCI_CTRL_INFO>\tm_OHCICtrlList;\t\t//OHCI Ϣ\n\tOHCI_KEYBOARD_DEVICE\tm_OHCIKeyboard[MAX_OHCI_KEYBOARD_DEVICE];\n\tint\t\t\t\t\t\tm_OHCIKeyboardCount;\n\tOHCI_MOUSE_DEVICE\t\tm_OHCIMouse[MAX_OHCI_MOUSE_DEVICE];\n\tint\t\t\t\t\t\tm_OHCIMouseCount;\n\tbool\tInit();\n\tvoid\tRelease();\n\tvoid\tAttach();\n\tvoid\tDetach();\n\tvoid\tRecognizeOHCIDevice(OHCI_HCCA*pHCCA,OHCI_ED*pED);\n\tvoid\tOHCIMouseService();\n\tvoid\tOHCIKeyboardService();\n\tvoid\tOHCIPacketDone(OHCI_DEVICE_INFO*pDevInfo);\n\tvoid\tInitOHCIInputDevice(OHCI_DEVICE_INFO*pDevInfo);\n\tvoid\tReleaseOHCIInputDevice(OHCI_DEVICE_INFO*pDevInfo);\n\tvoid\tAttachOHCIDevice(OHCI_DEVICE_INFO*pDevInfo,OHCI_ED*pED,OHCI_TD*pTD,OHCI_HCCA*pHCCA);\n\tvoid\tDetachOHCIDevice(OHCI_DEVICE_INFO*pDevInfo);\n\tbool\tCacheMapToVAddr(ULPOS PhysicalAddress,ULPOS* VirtualAddress);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/OHCIMouse.cpp",
    "content": "#include \"stdafx.h\"\n#include \"OHCIMouse.h\""
  },
  {
    "path": "Project/Syser/Source/OHCIMouse.h",
    "content": "#ifndef _OHCIMOUSE_H_\n#define _OHCIMOUSE_H_\n#endif //_OHCIMOUSE_H_"
  },
  {
    "path": "Project/Syser/Source/OSData.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OSData.h\"\n\nWINDOWS_MSG_ENTRY stMsgList[]=\n{\n\t{0x00000000,\"CB_OKAY\"},                        \n\t{0x00000000,\"LB_OKAY\"},                        \n\t{0x00000000,\"WM_NULL\"},                        \n\t{0x00000001,\"WM_CREATE\"},                      \n\t{0x00000002,\"WM_DESTROY\"},                     \n\t{0x00000003,\"WM_MOVE\"},    \n\t{0x0004, \"WM_SIZEWAIT\"},\n\t{0x00000005,\"WM_SIZE\"},                        \n\t{0x00000006,\"WM_ACTIVATE\"},                    \n\t{0x00000007,\"WM_SETFOCUS\"},                    \n\t{0x00000008,\"WM_KILLFOCUS\"}, \n\t{0x0009, \"WM_SETVISIBLE\"},\n\t{0x0000000A,\"WM_ENABLE\"},                      \n\t{0x0000000B,\"WM_SETREDRAW\"},                   \n\t{0x0000000C,\"WM_SETTEXT\"},                     \n\t{0x0000000D,\"WM_GETTEXT\"},                     \n\t{0x0000000E,\"WM_GETTEXTLENGTH\"},               \n\t{0x0000000F,\"WM_PAINT\"},                       \n\t{0x00000010,\"WM_CLOSE\"},                       \n\t{0x00000011,\"WM_QUERYENDSESSION\"},             \n\t{0x00000012,\"WM_QUIT\"},                        \n\t{0x00000013,\"WM_QUERYOPEN\"},                   \n\t{0x00000014,\"WM_ERASEBKGND\"},                  \n\t{0x00000015,\"WM_SYSCOLORCHANGE\"},              \n\t{0x00000016,\"WM_ENDSESSION\"},  \n\t{0x0017, \"WM_SYSTEMERROR\"},\n\t{0x00000018,\"WM_SHOWWINDOW\"},   \n\t{0x0019, \"WM_CTLCOLOR\"},\n\t{0x0000001A,\"WM_SETTINGCHANGE\"},               \n\t{0x0000001A,\"WM_WININICHANGE\"},                \n\t{0x0000001B,\"WM_DEVMODECHANGE\"},               \n\t{0x0000001C,\"WM_ACTIVATEAPP\"},                 \n\t{0x0000001D,\"WM_FONTCHANGE\"},                  \n\t{0x0000001E,\"WM_TIMECHANGE\"},                  \n\t{0x0000001F,\"WM_CANCELMODE\"},                  \n\t{0x00000020,\"WM_SETCURSOR\"},                   \n\t{0x00000021,\"WM_MOUSEACTIVATE\"},               \n\t{0x00000022,\"WM_CHILDACTIVATE\"},               \n\t{0x00000023,\"WM_QUEUESYNC\"},                   \n\t{0x00000024,\"WM_GETMINMAXINFO\"},               \n\t{0x00000026,\"WM_PAINTICON\"},                   \n\t{0x00000027,\"WM_ICONERASEBKGND\"},              \n\t{0x00000028,\"WM_NEXTDLGCTL\"},   \n\t{0x0029, \"WM_ALTTABACTIVE\"},\n\t{0x0000002A,\"WM_SPOOLERSTATUS\"},               \n\t{0x0000002B,\"WM_DRAWITEM\"},                    \n\t{0x0000002C,\"WM_MEASUREITEM\"},                 \n\t{0x0000002D,\"WM_DELETEITEM\"},                  \n\t{0x0000002E,\"WM_VKEYTOITEM\"},                  \n\t{0x0000002F,\"WM_CHARTOITEM\"},                  \n\t{0x0030, \"WM_SETFONT\"},\n\t{0x0031, \"WM_GETFONT\"},\n\t{0x0032, \"WM_SETHOTKEY\"},\n\t{0x0033, \"WM_GETHOTKEY\"},\n\t{0x0034, \"WM_FILESYSCHANGE\"},\n\t{0x0035, \"WM_ISACTIVEICON\"},\n\t{0x0036, \"WM_QUERYPARKICON\"},\n\t{0x0037, \"WM_QUERYDRAGICON\"},\n\t{0x0038, \"WM_QUERYSAVESTATE\"},\n\t{0x0039, \"WM_COMPAREITEM\"},\n              \n\t{0x0000003D,\"WM_GETOBJECT\"},                   \n\t{0x00000041,\"WM_COMPACTING\"},                  \n\t{0x00000044,\"WM_COMMNOTIFY\"},                  \n\t{0x00000046,\"WM_WINDOWPOSCHANGING\"},           \n\t{0x00000047,\"WM_WINDOWPOSCHANGED\"},            \n\t{0x00000048,\"WM_POWER\"},                       \n\t{0x0000004A,\"WM_COPYDATA\"},                    \n\t{0x0000004B,\"WM_CANCELJOURNAL\"},               \n\t{0x0000004E,\"WM_NOTIFY\"},                      \n\t{0x00000050,\"WM_INPUTLANGCHANGEREQUEST\"},      \n\t{0x00000051,\"WM_INPUTLANGCHANGE\"},             \n\t{0x00000052,\"WM_TCARD\"},                       \n\t{0x00000053,\"WM_HELP\"},                        \n\t{0x00000054,\"WM_USERCHANGED\"},                 \n\t{0x00000055,\"WM_NOTIFYFORMAT\"},                \n\t{0x0000007B,\"WM_CONTEXTMENU\"},                 \n\t{0x0000007C,\"WM_STYLECHANGING\"},               \n\t{0x0000007D,\"WM_STYLECHANGED\"},                \n\t{0x0000007E,\"WM_DISPLAYCHANGE\"},               \n\t{0x0000007F,\"WM_GETICON\"},                     \n\t{0x00000080,\"WM_SETICON\"},                     \n\t{0x00000081,\"WM_NCCREATE\"},                    \n\t{0x00000082,\"WM_NCDESTROY\"},                   \n\t{0x00000083,\"WM_NCCALCSIZE\"},                  \n\t{0x00000084,\"WM_NCHITTEST\"},                   \n\t{0x00000085,\"WM_NCPAINT\"},                     \n\t{0x00000086,\"WM_NCACTIVATE\"},                  \n\t{0x00000087,\"WM_GETDLGCODE\"},                  \n\t{0x00000088,\"WM_SYNCPAINT\"},                   \n\t{0x000000A0,\"WM_NCMOUSEMOVE\"},                 \n\t{0x000000A1,\"WM_NCLBUTTONDOWN\"},               \n\t{0x000000A2,\"WM_NCLBUTTONUP\"},                 \n\t{0x000000A3,\"WM_NCLBUTTONDBLCLK\"},             \n\t{0x000000A4,\"WM_NCRBUTTONDOWN\"},               \n\t{0x000000A5,\"WM_NCRBUTTONUP\"},                 \n\t{0x000000A6,\"WM_NCRBUTTONDBLCLK\"},             \n\t{0x000000A7,\"WM_NCMBUTTONDOWN\"},               \n\t{0x000000A8,\"WM_NCMBUTTONUP\"},                 \n\t{0x000000A9,\"WM_NCMBUTTONDBLCLK\"},             \n\t{0x000000B0,\"EM_GETSEL\"},                      \n\t{0x000000B1,\"EM_SETSEL\"},                      \n\t{0x000000B2,\"EM_GETRECT\"},                     \n\t{0x000000B3,\"EM_SETRECT\"},                     \n\t{0x000000B4,\"EM_SETRECTNP\"},                   \n\t{0x000000B5,\"EM_SCROLL\"},                      \n\t{0x000000B6,\"EM_LINESCROLL\"},                  \n\t{0x000000B7,\"EM_SCROLLCARET\"},                 \n\t{0x000000B8,\"EM_GETMODIFY\"},                   \n\t{0x000000B9,\"EM_SETMODIFY\"},                   \n\t{0x000000BA,\"EM_GETLINECOUNT\"},                \n\t{0x000000BB,\"EM_LINEINDEX\"},                   \n\t{0x000000BC,\"EM_SETHANDLE\"},                   \n\t{0x000000BD,\"EM_GETHANDLE\"},                   \n\t{0x000000BE,\"EM_GETTHUMB\"},                    \n\t{0x000000C1,\"EM_LINELENGTH\"},                  \n\t{0x000000C2,\"EM_REPLACESEL\"},                  \n\t{0x000000C4,\"EM_GETLINE\"},                     \n\t{0x000000C5,\"EM_LIMITTEXT\"},                   \n\t{0x000000C5,\"EM_SETLIMITTEXT\"},                \n\t{0x000000C6,\"EM_CANUNDO\"},                     \n\t{0x000000C7,\"EM_UNDO\"},                        \n\t{0x000000C8,\"EM_FMTLINES\"},                    \n\t{0x000000C9,\"EM_LINEFROMCHAR\"},                \n\t{0x000000CB,\"EM_SETTABSTOPS\"},                 \n\t{0x000000CC,\"EM_SETPASSWORDCHAR\"},             \n\t{0x000000CD,\"EM_EMPTYUNDOBUFFER\"},             \n\t{0x000000CE,\"EM_GETFIRSTVISIBLELINE\"},         \n\t{0x000000CF,\"EM_SETREADONLY\"},                 \n\t{0x000000D0,\"EM_SETWORDBREAKPROC\"},            \n\t{0x000000D1,\"EM_GETWORDBREAKPROC\"},            \n\t{0x000000D2,\"EM_GETPASSWORDCHAR\"},             \n\t{0x000000D3,\"EM_SETMARGINS\"},                  \n\t{0x000000D4,\"EM_GETMARGINS\"},                  \n\t{0x000000D5,\"EM_GETLIMITTEXT\"},                \n\t{0x000000D6,\"EM_POSFROMCHAR\"},                 \n\t{0x000000D7,\"EM_CHARFROMPOS\"},                 \n\t{0x000000D8,\"EM_SETIMESTATUS\"},                \n\t{0x000000D9,\"EM_GETIMESTATUS\"},                \n\t{0x000000F0,\"BM_GETCHECK\"},                    \n\t{0x000000F1,\"BM_SETCHECK\"},                    \n\t{0x000000F2,\"BM_GETSTATE\"},                    \n\t{0x000000F3,\"BM_SETSTATE\"},                    \n\t{0x000000F4,\"BM_SETSTYLE\"},                    \n\t{0x000000F5,\"BM_CLICK\"},                       \n\t{0x000000F6,\"BM_GETIMAGE\"},                    \n\t{0x000000F7,\"BM_SETIMAGE\"},                    \n\t{0x00000100,\"WM_KEYFIRST\"},                    \n\t{0x00000100,\"WM_KEYDOWN\"},                     \n\t{0x00000101,\"WM_KEYUP\"},                       \n\t{0x00000102,\"WM_CHAR\"},                        \n\t{0x00000103,\"WM_DEADCHAR\"},                    \n\t{0x00000104,\"WM_SYSKEYDOWN\"},                  \n\t{0x00000105,\"WM_SYSKEYUP\"},                    \n\t{0x00000106,\"WM_SYSCHAR\"},                     \n\t{0x00000107,\"WM_SYSDEADCHAR\"},                 \n\t{0x00000108,\"WM_KEYLAST\"},                     \n\t{0x0000010D,\"WM_IME_STARTCOMPOSITION\"},        \n\t{0x0000010E,\"WM_IME_ENDCOMPOSITION\"},          \n\t{0x0000010F,\"WM_IME_COMPOSITION\"},             \n\t{0x0000010F,\"WM_IME_KEYLAST\"},                 \n\t{0x00000110,\"WM_INITDIALOG\"},                  \n\t{0x00000111,\"WM_COMMAND\"},                     \n\t{0x00000112,\"WM_SYSCOMMAND\"},                  \n\t{0x00000113,\"WM_TIMER\"},                       \n\t{0x00000114,\"WM_HSCROLL\"},                     \n\t{0x00000115,\"WM_VSCROLL\"},                     \n\t{0x00000116,\"WM_INITMENU\"},                    \n\t{0x00000117,\"WM_INITMENUPOPUP\"},               \n\t{0x0000011F,\"WM_MENUSELECT\"},                  \n\t{0x00000120,\"WM_MENUCHAR\"},                    \n\t{0x00000121,\"WM_ENTERIDLE\"},                   \n\t{0x00000122,\"WM_MENURBUTTONUP\"},               \n\t{0x00000123,\"WM_MENUDRAG\"},                    \n\t{0x00000124,\"WM_MENUGETOBJECT\"},               \n\t{0x00000125,\"WM_UNINITMENUPOPUP\"},             \n\t{0x00000126,\"WM_MENUCOMMAND\"},                 \n\t{0x00000127,\"WM_KEYBOARDCUES\"},                \n\t{0x00000132,\"WM_CTLCOLORMSGBOX\"},              \n\t{0x00000133,\"WM_CTLCOLOREDIT\"},                \n\t{0x00000134,\"WM_CTLCOLORLISTBOX\"},             \n\t{0x00000135,\"WM_CTLCOLORBTN\"},                 \n\t{0x00000136,\"WM_CTLCOLORDLG\"},                 \n\t{0x00000137,\"WM_CTLCOLORSCROLLBAR\"},           \n\t{0x00000138,\"WM_CTLCOLORSTATIC\"},              \n\t{0x00000140,\"CB_GETEDITSEL\"},                  \n\t{0x00000141,\"CB_LIMITTEXT\"},                   \n\t{0x00000142,\"CB_SETEDITSEL\"},                  \n\t{0x00000143,\"CB_ADDSTRING\"},                   \n\t{0x00000144,\"CB_DELETESTRING\"},                \n\t{0x00000145,\"CB_DIR\"},                         \n\t{0x00000146,\"CB_GETCOUNT\"},                    \n\t{0x00000147,\"CB_GETCURSEL\"},                   \n\t{0x00000148,\"CB_GETLBTEXT\"},                   \n\t{0x00000149,\"CB_GETLBTEXTLEN\"},                \n\t{0x0000014A,\"CB_INSERTSTRING\"},                \n\t{0x0000014B,\"CB_RESETCONTENT\"},                \n\t{0x0000014C,\"CB_FINDSTRING\"},                  \n\t{0x0000014D,\"CB_SELECTSTRING\"},                \n\t{0x0000014E,\"CB_SETCURSEL\"},                   \n\t{0x0000014F,\"CB_SHOWDROPDOWN\"},                \n\t{0x00000150,\"CB_GETITEMDATA\"},                 \n\t{0x00000151,\"CB_SETITEMDATA\"},                 \n\t{0x00000152,\"CB_GETDROPPEDCONTROLRECT\"},       \n\t{0x00000153,\"CB_SETITEMHEIGHT\"},               \n\t{0x00000154,\"CB_GETITEMHEIGHT\"},               \n\t{0x00000155,\"CB_SETEXTENDEDUI\"},               \n\t{0x00000156,\"CB_GETEXTENDEDUI\"},               \n\t{0x00000157,\"CB_GETDROPPEDSTATE\"},             \n\t{0x00000158,\"CB_FINDSTRINGEXACT\"},             \n\t{0x00000159,\"CB_SETLOCALE\"},                   \n\t{0x0000015A,\"CB_GETLOCALE\"},                   \n\t{0x0000015B,\"CB_MSGMAX\"},                      \n\t{0x0000015B,\"CB_GETTOPINDEX\"},                 \n\t{0x0000015C,\"CB_SETTOPINDEX\"},                 \n\t{0x0000015D,\"CB_GETHORIZONTALEXTENT\"},         \n\t{0x0000015E,\"CB_SETHORIZONTALEXTENT\"},         \n\t{0x0000015F,\"CB_GETDROPPEDWIDTH\"},             \n\t{0x00000160,\"CB_SETDROPPEDWIDTH\"},             \n\t{0x00000161,\"CB_INITSTORAGE\"},                 \n\t{0x00000162,\"CB_MSGMAX\"},                      \n\t{0x00000163,\"CB_MSGMAX\"},                      \n\t{0x00000163,\"CB_MULTIPLEADDSTRING\"},           \n\t{0x00000180,\"LB_ADDSTRING\"},                   \n\t{0x00000181,\"LB_INSERTSTRING\"},                \n\t{0x00000182,\"LB_DELETESTRING\"},                \n\t{0x00000183,\"LB_SELITEMRANGEEX\"},              \n\t{0x00000184,\"LB_RESETCONTENT\"},                \n\t{0x00000185,\"LB_SETSEL\"},                      \n\t{0x00000186,\"LB_SETCURSEL\"},                   \n\t{0x00000187,\"LB_GETSEL\"},                      \n\t{0x00000188,\"LB_GETCURSEL\"},                   \n\t{0x00000189,\"LB_GETTEXT\"},                     \n\t{0x0000018A,\"LB_GETTEXTLEN\"},                  \n\t{0x0000018B,\"LB_GETCOUNT\"},                    \n\t{0x0000018C,\"LB_SELECTSTRING\"},                \n\t{0x0000018D,\"LB_DIR\"},                         \n\t{0x0000018E,\"LB_GETTOPINDEX\"},                 \n\t{0x0000018F,\"LB_FINDSTRING\"},                  \n\t{0x00000190,\"LB_GETSELCOUNT\"},                 \n\t{0x00000191,\"LB_GETSELITEMS\"},                 \n\t{0x00000192,\"LB_SETTABSTOPS\"},                 \n\t{0x00000193,\"LB_GETHORIZONTALEXTENT\"},         \n\t{0x00000194,\"LB_SETHORIZONTALEXTENT\"},         \n\t{0x00000195,\"LB_SETCOLUMNWIDTH\"},              \n\t{0x00000196,\"LB_ADDFILE\"},                     \n\t{0x00000197,\"LB_SETTOPINDEX\"},                 \n\t{0x00000198,\"LB_GETITEMRECT\"},                 \n\t{0x00000199,\"LB_GETITEMDATA\"},                 \n\t{0x0000019A,\"LB_SETITEMDATA\"},                 \n\t{0x0000019B,\"LB_SELITEMRANGE\"},                \n\t{0x0000019C,\"LB_SETANCHORINDEX\"},              \n\t{0x0000019D,\"LB_GETANCHORINDEX\"},              \n\t{0x0000019E,\"LB_SETCARETINDEX\"},               \n\t{0x0000019F,\"LB_GETCARETINDEX\"},               \n\t{0x000001A0,\"LB_SETITEMHEIGHT\"},               \n\t{0x000001A1,\"LB_GETITEMHEIGHT\"},               \n\t{0x000001A2,\"LB_FINDSTRINGEXACT\"},             \n\t{0x000001A5,\"LB_SETLOCALE\"},                   \n\t{0x000001A6,\"LB_GETLOCALE\"},                   \n\t{0x000001A7,\"LB_SETCOUNT\"},                    \n\t{0x000001A8,\"LB_INITSTORAGE\"},                 \n\t{0x000001A8,\"LB_MSGMAX\"},                      \n\t{0x000001A9,\"LB_ITEMFROMPOINT\"},               \n\t{0x000001B0,\"LB_MSGMAX\"},                      \n\t{0x000001B1,\"LB_MULTIPLEADDSTRING\"},           \n\t{0x000001B1,\"LB_MSGMAX\"},                      \n\t{0x00000200,\"WM_MOUSEMOVE\"},                   \n\t{0x00000200,\"WM_MOUSEFIRST\"},                  \n\t{0x00000201,\"WM_LBUTTONDOWN\"},                 \n\t{0x00000202,\"WM_LBUTTONUP\"},                   \n\t{0x00000203,\"WM_LBUTTONDBLCLK\"},               \n\t{0x00000204,\"WM_RBUTTONDOWN\"},                 \n\t{0x00000205,\"WM_RBUTTONUP\"},                   \n\t{0x00000206,\"WM_RBUTTONDBLCLK\"},               \n\t{0x00000207,\"WM_MBUTTONDOWN\"},                 \n\t{0x00000208,\"WM_MBUTTONUP\"},                   \n\t{0x00000209,\"WM_MOUSELAST\"},                   \n\t{0x00000209,\"WM_MBUTTONDBLCLK\"},               \n\t{0x0000020A,\"WM_MOUSEWHEEL\"},                  \n\t{0x0000020A,\"WM_MOUSELAST\"},                   \n\t{0x00000210,\"WM_PARENTNOTIFY\"},                \n\t{0x00000211,\"WM_ENTERMENULOOP\"},               \n\t{0x00000212,\"WM_EXITMENULOOP\"},                \n\t{0x00000213,\"WM_NEXTMENU\"},                    \n\t{0x00000214,\"WM_SIZING\"},                      \n\t{0x00000215,\"WM_CAPTURECHANGED\"},              \n\t{0x00000216,\"WM_MOVING\"},                      \n\t{0x00000218,\"WM_POWERBROADCAST\"},              \n\t{0x00000219,\"WM_DEVICECHANGE\"},                \n\t{0x00000220,\"WM_MDICREATE\"},                   \n\t{0x00000221,\"WM_MDIDESTROY\"},                  \n\t{0x00000222,\"WM_MDIACTIVATE\"},                 \n\t{0x00000223,\"WM_MDIRESTORE\"},                  \n\t{0x00000224,\"WM_MDINEXT\"},                     \n\t{0x00000225,\"WM_MDIMAXIMIZE\"},                 \n\t{0x00000226,\"WM_MDITILE\"},                     \n\t{0x00000227,\"WM_MDICASCADE\"},                  \n\t{0x00000228,\"WM_MDIICONARRANGE\"},              \n\t{0x00000229,\"WM_MDIGETACTIVE\"},    \n\t{0x022A, \"WM_DROPOBJECT\"},\n\t{0x022B, \"WM_QUERYDROPOBJECT\"},\n\t{0x022C, \"WM_BEGINDRAG\"},\n\t{0x022D, \"WM_DRAGLOOP\"},\n\t{0x022E, \"WM_DRAGSELECT\"},\n\t{0x022F, \"WM_DRAGMOVE\"},\n\t{0x00000230,\"WM_MDISETMENU\"},                  \n\t{0x00000231,\"WM_ENTERSIZEMOVE\"},               \n\t{0x00000232,\"WM_EXITSIZEMOVE\"},                \n\t{0x00000233,\"WM_DROPFILES\"},                   \n\t{0x00000234,\"WM_MDIREFRESHMENU\"},              \n\t{0x00000281,\"WM_IME_SETCONTEXT\"},              \n\t{0x00000282,\"WM_IME_NOTIFY\"},                  \n\t{0x00000283,\"WM_IME_CONTROL\"},                 \n\t{0x00000284,\"WM_IME_COMPOSITIONFULL\"},         \n\t{0x00000285,\"WM_IME_SELECT\"},                  \n\t{0x00000286,\"WM_IME_CHAR\"},                    \n\t{0x00000288,\"WM_IME_REQUEST\"},                 \n\t{0x00000290,\"WM_IME_KEYDOWN\"},                 \n\t{0x00000291,\"WM_IME_KEYUP\"},                   \n\t{0x000002A0,\"WM_NCMOUSEHOVER\"},                \n\t{0x000002A1,\"WM_MOUSEHOVER\"},                  \n\t{0x000002A2,\"WM_NCMOUSELEAVE\"},                \n\t{0x000002A3,\"WM_MOUSELEAVE\"},                  \n\t{0x00000300,\"WM_CUT\"},                         \n\t{0x00000301,\"WM_COPY\"},                        \n\t{0x00000302,\"WM_PASTE\"},                       \n\t{0x00000303,\"WM_CLEAR\"},                       \n\t{0x00000304,\"WM_UNDO\"},                        \n\t{0x00000305,\"WM_RENDERFORMAT\"},                \n\t{0x00000306,\"WM_RENDERALLFORMATS\"},            \n\t{0x00000307,\"WM_DESTROYCLIPBOARD\"},            \n\t{0x00000308,\"WM_DRAWCLIPBOARD\"},               \n\t{0x00000309,\"WM_PAINTCLIPBOARD\"},              \n\t{0x0000030A,\"WM_VSCROLLCLIPBOARD\"},            \n\t{0x0000030B,\"WM_SIZECLIPBOARD\"},               \n\t{0x0000030C,\"WM_ASKCBFORMATNAME\"},             \n\t{0x0000030D,\"WM_CHANGECBCHAIN\"},               \n\t{0x0000030E,\"WM_HSCROLLCLIPBOARD\"},            \n\t{0x0000030F,\"WM_QUERYNEWPALETTE\"},             \n\t{0x00000310,\"WM_PALETTEISCHANGING\"},           \n\t{0x00000311,\"WM_PALETTECHANGED\"},              \n\t{0x00000312,\"WM_HOTKEY\"},                      \n\t{0x00000317,\"WM_PRINT\"},                       \n\t{0x00000318,\"WM_PRINTCLIENT\"},                 \n\t{0x00000358,\"WM_HANDHELDFIRST\"},               \n\t{0x0000035F,\"WM_HANDHELDLAST\"},                \n\t{0x00000360,\"WM_AFXFIRST\"},  \n\t{0x0360, \"WM_QUERYAFXWNDPROC\"},\n\t{0x0361, \"WM_SIZEPARENT\"},\n\t{0x0362, \"WM_SETMESSAGESTRING\"},\n\t{0x0363, \"WM_IDLEUPDATECMDUI\"},\n\t{0x0364, \"WM_INITIALUPDATE\"},\n\t{0x0365, \"WM_COMMANDHELP\"},\n\t{0x0366, \"WM_HELPHITTEST\"},\n\t{0x0367, \"WM_EXITHELPMODE\"},\n\t{0x0368, \"WM_RECALCPARENT\"},\n\t{0x0369, \"WM_SIZECHILD\"},\n\t{0x036A, \"WM_KICKIDLE\"},\n\t{0x036B, \"WM_QUERYCENTERWND\"},\n\t{0x036C, \"WM_DISABLEMODAL\"},\n\t{0x036D, \"WM_FLOATSTATUS\"},\n\t{0x036E, \"WM_ACTIVATETOPLEVEL\"},\n\t{0x036F, \"WM_QUERY3DCONTROLS\"},\n\t                  \n\t{0x0000037F,\"WM_AFXLAST\"},                     \n\t{0x00000380,\"WM_PENWINFIRST\"},                 \n\t{0x0000038F,\"WM_PENWINLAST\"}, \n\t{0x03E0, \"WM_DDE_FIRST\"},\n\t{0x03E0, \"WM_DDE_INITIATE\"},\n\t{0x03E1, \"WM_DDE_TERMINATE\"},\n\t{0x03E2, \"WM_DDE_ADVISE\"},\n\t{0x03E3, \"WM_DDE_UNADVISE\"},\n\t{0x03E4, \"WM_DDE_ACK\"},\n\t{0x03E5, \"WM_DDE_DATA\"},\n\t{0x03E6, \"WM_DDE_REQUEST\"},\n\t{0x03E7, \"WM_DDE_POKE\"},\n\t{0x03E8, \"WM_DDE_LAST\"},\n\t{0x03E8, \"WM_DDE_EXECUTE\"},\n\t{0x00000400,\"WM_USER\"},                        \n\t{0x00000400,\"TBM_GETPOS\"},                     \n\t{0x00000401,\"CBEM_INSERTITEMA\"},               \n\t{0x00000401,\"SB_SETTEXTA\"},                    \n\t{0x00000401,\"TBM_GETRANGEMIN\"},                \n\t{0x00000401,\"RB_INSERTBANDA\"},                 \n\t{0x00000401,\"PBM_SETRANGE\"},                   \n\t{0x00000401,\"HKM_SETHOTKEY\"},                  \n\t{0x00000401,\"TTM_ACTIVATE\"},                   \n\t{0x00000402,\"HKM_GETHOTKEY\"},                  \n\t{0x00000402,\"CBEM_SETIMAGELIST\"},              \n\t{0x00000402,\"SB_GETTEXTA\"},                    \n\t{0x00000402,\"RB_DELETEBAND\"},                  \n\t{0x00000402,\"PBM_SETPOS\"},                     \n\t{0x00000402,\"TBM_GETRANGEMAX\"},                \n\t{0x00000403,\"PBM_DELTAPOS\"},                   \n\t{0x00000403,\"TTM_SETDELAYTIME\"},               \n\t{0x00000403,\"SB_GETTEXTLENGTHA\"},              \n\t{0x00000403,\"TBM_GETTIC\"},                     \n\t{0x00000403,\"RB_GETBARINFO\"},                  \n\t{0x00000403,\"HKM_SETRULES\"},                   \n\t{0x00000403,\"CBEM_GETIMAGELIST\"},              \n\t{0x00000404,\"PBM_SETSTEP\"},                    \n\t{0x00000404,\"TTM_ADDTOOLA\"},                   \n\t{0x00000404,\"CBEM_GETITEMA\"},                  \n\t{0x00000404,\"RB_SETBARINFO\"},                  \n\t{0x00000404,\"TBM_SETTIC\"},                     \n\t{0x00000404,\"SB_SETPARTS\"},                    \n\t{0x00000405,\"RB_GETBANDINFO\"},                 \n\t{0x00000405,\"CBEM_SETITEMA\"},                  \n\t{0x00000405,\"PBM_STEPIT\"},                     \n\t{0x00000405,\"TBM_SETPOS\"},                     \n\t{0x00000405,\"TTM_DELTOOLA\"},                   \n\t{0x00000406,\"TBM_SETRANGE\"},                   \n\t{0x00000406,\"CBEM_GETCOMBOCONTROL\"},           \n\t{0x00000406,\"SB_GETPARTS\"},                    \n\t{0x00000406,\"RB_SETBANDINFOA\"},                \n\t{0x00000406,\"TTM_NEWTOOLRECTA\"},               \n\t{0x00000406,\"PBM_SETRANGE32\"},                 \n\t{0x00000407,\"SB_GETBORDERS\"},                  \n\t{0x00000407,\"RB_SETPARENT\"},                   \n\t{0x00000407,\"PBM_GETRANGE\"},                   \n\t{0x00000407,\"TTM_RELAYEVENT\"},                 \n\t{0x00000407,\"TBM_SETRANGEMIN\"},                \n\t{0x00000407,\"CBEM_GETEDITCONTROL\"},            \n\t{0x00000408,\"RB_HITTEST\"},                     \n\t{0x00000408,\"CBEM_SETEXSTYLE\"},                \n\t{0x00000408,\"SB_SETMINHEIGHT\"},                \n\t{0x00000408,\"PBM_GETPOS\"},                     \n\t{0x00000408,\"CBEM_SETEXSTYLE\"},                \n\t{0x00000408,\"TBM_SETRANGEMAX\"},                \n\t{0x00000408,\"TTM_GETTOOLINFOA\"},               \n\t{0x00000409,\"CBEM_GETEXSTYLE\"},                \n\t{0x00000409,\"CBEM_GETEXTENDEDSTYLE\"},          \n\t{0x00000409,\"CBEM_GETEXSTYLE\"},                \n\t{0x00000409,\"SB_SIMPLE\"},                      \n\t{0x00000409,\"RB_GETRECT\"},                     \n\t{0x00000409,\"PBM_SETBARCOLOR\"},                \n\t{0x00000409,\"TBM_CLEARTICS\"},                  \n\t{0x00000409,\"TTM_SETTOOLINFOA\"},               \n\t{0x0000040A,\"TBM_SETSEL\"},                     \n\t{0x0000040A,\"CBEM_HASEDITCHANGED\"},            \n\t{0x0000040A,\"TTM_HITTESTA\"},                   \n\t{0x0000040A,\"RB_INSERTBANDW\"},                 \n\t{0x0000040A,\"SB_GETRECT\"},                     \n\t{0x0000040B,\"TTM_GETTEXTA\"},                   \n\t{0x0000040B,\"SB_SETTEXTW\"},                    \n\t{0x0000040B,\"RB_SETBANDINFOW\"},                \n\t{0x0000040B,\"TBM_SETSELSTART\"},                \n\t{0x0000040B,\"CBEM_INSERTITEMW\"},               \n\t{0x0000040C,\"RB_GETBANDCOUNT\"},                \n\t{0x0000040C,\"CBEM_SETITEMW\"},                  \n\t{0x0000040C,\"TBM_SETSELEND\"},                  \n\t{0x0000040C,\"SB_GETTEXTW\"},                    \n\t{0x0000040C,\"TTM_UPDATETIPTEXTA\"},             \n\t{0x0000040D,\"SB_GETTEXTLENGTHW\"},              \n\t{0x0000040D,\"CBEM_GETITEMW\"},                  \n\t{0x0000040D,\"RB_GETROWCOUNT\"},                 \n\t{0x0000040D,\"TTM_GETTOOLCOUNT\"},               \n\t{0x0000040E,\"CBEM_SETEXTENDEDSTYLE\"},          \n\t{0x0000040E,\"TTM_ENUMTOOLSA\"},                 \n\t{0x0000040E,\"SB_ISSIMPLE\"},                    \n\t{0x0000040E,\"TBM_GETPTICS\"},                   \n\t{0x0000040E,\"RB_GETROWHEIGHT\"},                \n\t{0x0000040F,\"SB_SETICON\"},                     \n\t{0x0000040F,\"TBM_GETTICPOS\"},                  \n\t{0x0000040F,\"TTM_GETCURRENTTOOLA\"},            \n\t{0x00000410,\"TTM_WINDOWFROMPOINT\"},            \n\t{0x00000410,\"TBM_GETNUMTICS\"},                 \n\t{0x00000410,\"SB_SETTIPTEXTA\"},                 \n\t{0x00000410,\"RB_IDTOINDEX\"},                   \n\t{0x00000411,\"RB_GETTOOLTIPS\"},                 \n\t{0x00000411,\"TTM_TRACKACTIVATE\"},              \n\t{0x00000411,\"SB_SETTIPTEXTW\"},                 \n\t{0x00000411,\"TBM_GETSELSTART\"},                \n\t{0x00000412,\"RB_SETTOOLTIPS\"},                 \n\t{0x00000412,\"TTM_TRACKPOSITION\"},              \n\t{0x00000412,\"TBM_GETSELEND\"},                  \n\t{0x00000412,\"SB_GETTIPTEXTA\"},                 \n\t{0x00000413,\"RB_SETBKCOLOR\"},                  \n\t{0x00000413,\"TTM_SETTIPBKCOLOR\"},              \n\t{0x00000413,\"TBM_CLEARSEL\"},                   \n\t{0x00000413,\"SB_GETTIPTEXTW\"},                 \n\t{0x00000414,\"SB_GETICON\"},                     \n\t{0x00000414,\"TTM_SETTIPTEXTCOLOR\"},            \n\t{0x00000414,\"TBM_SETTICFREQ\"},                 \n\t{0x00000414,\"RB_GETBKCOLOR\"},                  \n\t{0x00000415,\"RB_SETTEXTCOLOR\"},                \n\t{0x00000415,\"TTM_GETDELAYTIME\"},               \n\t{0x00000415,\"TBM_SETPAGESIZE\"},                \n\t{0x00000416,\"RB_GETTEXTCOLOR\"},                \n\t{0x00000416,\"TTM_GETTIPBKCOLOR\"},              \n\t{0x00000416,\"TBM_GETPAGESIZE\"},                \n\t{0x00000417,\"TTM_GETTIPTEXTCOLOR\"},            \n\t{0x00000417,\"TBM_SETLINESIZE\"},                \n\t{0x00000417,\"RB_SIZETORECT\"},                  \n\t{0x00000418,\"TBM_GETLINESIZE\"},                \n\t{0x00000418,\"RB_BEGINDRAG\"},                   \n\t{0x00000418,\"TTM_SETMAXTIPWIDTH\"},             \n\t{0x00000419,\"RB_ENDDRAG\"},                     \n\t{0x00000419,\"TBM_GETTHUMBRECT\"},               \n\t{0x00000419,\"TTM_GETMAXTIPWIDTH\"},             \n\t{0x0000041A,\"RB_DRAGMOVE\"},                    \n\t{0x0000041A,\"TBM_GETCHANNELRECT\"},             \n\t{0x0000041A,\"TTM_SETMARGIN\"},                  \n\t{0x0000041B,\"TBM_SETTHUMBLENGTH\"},             \n\t{0x0000041B,\"TTM_GETMARGIN\"},                  \n\t{0x0000041B,\"RB_GETBARHEIGHT\"},                \n\t{0x0000041C,\"TBM_GETTHUMBLENGTH\"},             \n\t{0x0000041C,\"TTM_POP\"},                        \n\t{0x0000041C,\"RB_GETBANDINFOW\"},                \n\t{0x0000041D,\"RB_GETBANDINFOA\"},                \n\t{0x0000041D,\"TBM_SETTOOLTIPS\"},                \n\t{0x0000041D,\"TTM_UPDATE\"},                     \n\t{0x0000041E,\"TBM_GETTOOLTIPS\"},                \n\t{0x0000041E,\"RB_MINIMIZEBAND\"},                \n\t{0x0000041F,\"TBM_SETTIPSIDE\"},                 \n\t{0x0000041F,\"RB_MAXIMIZEBAND\"},                \n\t{0x00000420,\"TBM_SETBUDDY\"},                   \n\t{0x00000421,\"TBM_GETBUDDY\"},                   \n\t{0x00000422,\"RB_GETBANDBORDERS\"},              \n\t{0x00000423,\"RB_SHOWBAND\"},                    \n\t{0x00000425,\"RB_SETPALETTE\"},                  \n\t{0x00000426,\"RB_GETPALETTE\"},                  \n\t{0x00000427,\"RB_MOVEBAND\"},                    \n\t{0x00000428,\"RB_SETBANDFOCUS\"},                \n\t{0x00000429,\"RB_GETBANDFOCUS\"},                \n\t{0x0000042A,\"RB_CYCLEFOCUS\"},                  \n\t{0x0000042B,\"RB_SETEXTENDEDSTYLE\"},            \n\t{0x00000432,\"TTM_ADDTOOLW\"},                   \n\t{0x00000433,\"TTM_DELTOOLW\"},                   \n\t{0x00000434,\"TTM_NEWTOOLRECTW\"},               \n\t{0x00000435,\"TTM_GETTOOLINFOW\"},               \n\t{0x00000436,\"TTM_SETTOOLINFOW\"},               \n\t{0x00000437,\"TTM_HITTESTW\"},                   \n\t{0x00000438,\"TTM_GETTEXTW\"},                   \n\t{0x00000439,\"TTM_UPDATETIPTEXTW\"},             \n\t{0x0000043A,\"TTM_ENUMTOOLSW\"},                 \n\t{0x0000043B,\"TTM_GETCURRENTTOOLW\"},            \n\t{0x00000464,\"IPM_CLEARADDRESS\"},               \n\t{0x00000464,\"ACM_OPENA\"},                      \n\t{0x00000465,\"UDM_SETRANGE\"},                   \n\t{0x00000465,\"ACM_PLAY\"},                       \n\t{0x00000465,\"IPM_SETADDRESS\"},                 \n\t{0x00000466,\"IPM_GETADDRESS\"},                 \n\t{0x00000466,\"ACM_STOP\"},                       \n\t{0x00000466,\"UDM_GETRANGE\"},                   \n\t{0x00000467,\"ACM_OPENW\"},                      \n\t{0x00000467,\"IPM_SETRANGE\"},                   \n\t{0x00000467,\"UDM_SETPOS\"},                     \n\t{0x00000468,\"IPM_SETFOCUS\"},                   \n\t{0x00000468,\"UDM_GETPOS\"},                     \n\t{0x00000469,\"IPM_ISBLANK\"},                    \n\t{0x00000469,\"UDM_SETBUDDY\"},                   \n\t{0x0000046A,\"UDM_GETBUDDY\"},                   \n\t{0x0000046B,\"UDM_SETACCEL\"},                   \n\t{0x0000046C,\"UDM_GETACCEL\"},                   \n\t{0x0000046D,\"UDM_SETBASE\"},                    \n\t{0x0000046E,\"UDM_GETBASE\"},                    \n\t{0x0000046F,\"UDM_SETRANGE32\"},                 \n\t{0x00000470,\"UDM_GETRANGE32\"},                 \n\t{0x00000485,\"DL_BEGINDRAG\"},                   \n\t{0x00000486,\"DL_DRAGGING\"},                    \n\t{0x00000487,\"DL_DROPPED\"},                     \n\t{0x00000488,\"DL_CANCELDRAG\"},                  \n\t{0x00001000,\"LVM_GETBKCOLOR\"},                 \n\t{0x00001000,\"MCM_FIRST\"},                      \n\t{0x00001000,\"LVM_FIRST\"},                      \n\t{0x00001000,\"DTM_FIRST\"},                      \n\t{0x00001001,\"LVM_SETBKCOLOR\"},                 \n\t{0x00001001,\"MCM_GETCURSEL\"},                  \n\t{0x00001001,\"DTM_GETSYSTEMTIME\"},              \n\t{0x00001002,\"LVM_GETIMAGELIST\"},               \n\t{0x00001002,\"MCM_SETCURSEL\"},                  \n\t{0x00001002,\"DTM_SETSYSTEMTIME\"},              \n\t{0x00001003,\"MCM_GETMAXSELCOUNT\"},             \n\t{0x00001003,\"LVM_SETIMAGELIST\"},               \n\t{0x00001003,\"DTM_GETRANGE\"},                   \n\t{0x00001004,\"DTM_SETRANGE\"},                   \n\t{0x00001004,\"LVM_GETITEMCOUNT\"},               \n\t{0x00001004,\"MCM_SETMAXSELCOUNT\"},             \n\t{0x00001005,\"LVM_GETITEMA\"},                   \n\t{0x00001005,\"DTM_SETFORMATA\"},                 \n\t{0x00001005,\"MCM_GETSELRANGE\"},                \n\t{0x00001006,\"MCM_SETSELRANGE\"},                \n\t{0x00001006,\"DTM_SETMCCOLOR\"},                 \n\t{0x00001006,\"LVM_SETITEMA\"},                   \n\t{0x00001007,\"DTM_GETMCCOLOR\"},                 \n\t{0x00001007,\"LVM_INSERTITEMA\"},                \n\t{0x00001007,\"MCM_GETMONTHRANGE\"},              \n\t{0x00001008,\"LVM_DELETEITEM\"},                 \n\t{0x00001008,\"DTM_GETMONTHCAL\"},                \n\t{0x00001008,\"MCM_SETDAYSTATE\"},                \n\t{0x00001009,\"LVM_DELETEALLITEMS\"},             \n\t{0x00001009,\"DTM_SETMCFONT\"},                  \n\t{0x00001009,\"MCM_GETMINREQRECT\"},              \n\t{0x0000100A,\"LVM_GETCALLBACKMASK\"},            \n\t{0x0000100A,\"MCM_SETCOLOR\"},                   \n\t{0x0000100A,\"DTM_GETMCFONT\"},                  \n\t{0x0000100B,\"LVM_SETCALLBACKMASK\"},            \n\t{0x0000100B,\"MCM_GETCOLOR\"},                   \n\t{0x0000100C,\"LVM_GETNEXTITEM\"},                \n\t{0x0000100C,\"MCM_SETTODAY\"},                   \n\t{0x0000100D,\"MCM_GETTODAY\"},                   \n\t{0x0000100E,\"MCM_HITTEST\"},                    \n\t{0x0000100F,\"LVM_SETITEMPOSITION\"},            \n\t{0x0000100F,\"MCM_SETFIRSTDAYOFWEEK\"},          \n\t{0x00001010,\"LVM_GETITEMPOSITION\"},            \n\t{0x00001010,\"MCM_GETFIRSTDAYOFWEEK\"},          \n\t{0x00001011,\"LVM_GETSTRINGWIDTHA\"},            \n\t{0x00001011,\"MCM_GETRANGE\"},                   \n\t{0x00001012,\"LVM_HITTEST\"},                    \n\t{0x00001012,\"MCM_SETRANGE\"},                   \n\t{0x00001013,\"LVM_ENSUREVISIBLE\"},              \n\t{0x00001013,\"MCM_GETMONTHDELTA\"},              \n\t{0x00001014,\"LVM_SCROLL\"},                     \n\t{0x00001014,\"MCM_SETMONTHDELTA\"},              \n\t{0x00001015,\"MCM_GETMAXTODAYWIDTH\"},           \n\t{0x00001015,\"LVM_REDRAWITEMS\"},                \n\t{0x00001016,\"LVM_ARRANGE\"},                    \n\t{0x00001017,\"LVM_EDITLABELA\"},                 \n\t{0x00001018,\"LVM_GETEDITCONTROL\"},             \n\t{0x00001019,\"LVM_GETCOLUMNA\"},                 \n\t{0x0000101A,\"LVM_SETCOLUMNA\"},                 \n\t{0x0000101B,\"LVM_INSERTCOLUMNA\"},              \n\t{0x0000101C,\"LVM_DELETECOLUMN\"},               \n\t{0x0000101D,\"LVM_GETCOLUMNWIDTH\"},             \n\t{0x0000101D,\"LVM_SETCOLUMNWIDTH\"},             \n\t{0x0000101E,\"LVM_GETHEADER\"},                  \n\t{0x00001021,\"LVM_CREATEDRAGIMAGE\"},            \n\t{0x00001022,\"LVM_GETVIEWRECT\"},                \n\t{0x00001023,\"LVM_GETTEXTCOLOR\"},               \n\t{0x00001024,\"LVM_SETTEXTCOLOR\"},               \n\t{0x00001025,\"LVM_GETTEXTBKCOLOR\"},             \n\t{0x00001026,\"LVM_SETTEXTBKCOLOR\"},             \n\t{0x00001027,\"LVM_GETTOPINDEX\"},                \n\t{0x00001028,\"LVM_GETCOUNTPERPAGE\"},            \n\t{0x00001029,\"LVM_GETORIGIN\"},                  \n\t{0x0000102A,\"LVM_UPDATE\"},                     \n\t{0x0000102B,\"LVM_SETITEMSTATE\"},               \n\t{0x0000102C,\"LVM_GETITEMSTATE\"},               \n\t{0x0000102D,\"LVM_GETITEMTEXTA\"},               \n\t{0x0000102E,\"LVM_SETITEMTEXTA\"},               \n\t{0x0000102F,\"LVM_SETITEMCOUNT\"},               \n\t{0x00001030,\"LVM_SORTITEMS\"},                  \n\t{0x00001031,\"LVM_SETITEMPOSITION32\"},          \n\t{0x00001032,\"LVM_GETSELECTEDCOUNT\"},           \n\t{0x00001032,\"DTM_SETFORMATW\"},                 \n\t{0x00001033,\"LVM_GETITEMSPACING\"},             \n\t{0x00001034,\"LVM_GETISEARCHSTRINGA\"},          \n\t{0x00001035,\"LVM_SETICONSPACING\"},             \n\t{0x00001036,\"LVM_SETEXTENDEDLISTVIEWSTYLE\"},   \n\t{0x00001037,\"LVM_GETEXTENDEDLISTVIEWSTYLE\"},   \n\t{0x00001038,\"LVM_GETSUBITEMRECT\"},             \n\t{0x00001039,\"LVM_SUBITEMHITTEST\"},             \n\t{0x0000103A,\"LVM_SETCOLUMNORDERARRAY\"},        \n\t{0x0000103B,\"LVM_GETCOLUMNORDERARRAY\"},        \n\t{0x0000103C,\"LVM_SETHOTITEM\"},                 \n\t{0x0000103D,\"LVM_GETHOTITEM\"},                 \n\t{0x0000103E,\"LVM_SETHOTCURSOR\"},               \n\t{0x0000103F,\"LVM_GETHOTCURSOR\"},               \n\t{0x00001040,\"LVM_APPROXIMATEVIEWRECT\"},        \n\t{0x00001041,\"LVM_SETWORKAREAS\"},               \n\t{0x00001042,\"LVM_GETSELECTIONMARK\"},           \n\t{0x00001043,\"LVM_SETSELECTIONMARK\"},           \n\t{0x00001044,\"LVM_SETBKIMAGEA\"},                \n\t{0x00001045,\"LVM_GETBKIMAGEA\"},                \n\t{0x00001046,\"LVM_GETWORKAREAS\"},               \n\t{0x00001047,\"LVM_SETHOVERTIME\"},               \n\t{0x00001048,\"LVM_GETHOVERTIME\"},               \n\t{0x00001049,\"LVM_GETNUMBEROFWORKAREAS\"},       \n\t{0x0000104A,\"LVM_SETTOOLTIPS\"},                \n\t{0x0000104B,\"LVM_GETITEMW\"},                   \n\t{0x0000104C,\"LVM_SETITEMW\"},                   \n\t{0x0000104D,\"LVM_INSERTITEMW\"},                \n\t{0x0000104E,\"LVM_GETTOOLTIPS\"},                \n\t{0x00001051,\"LVM_SORTITEMSEX\"},                \n\t{0x00001057,\"LVM_GETSTRINGWIDTHW\"},            \n\t{0x0000105F,\"LVM_GETCOLUMNW\"},                 \n\t{0x00001060,\"LVM_SETCOLUMNW\"},                 \n\t{0x00001061,\"LVM_INSERTCOLUMNW\"},              \n\t{0x00001073,\"LVM_GETITEMTEXTW\"},               \n\t{0x00001074,\"LVM_SETITEMTEXTW\"},               \n\t{0x00001075,\"LVM_GETISEARCHSTRINGW\"},          \n\t{0x00001076,\"LVM_EDITLABELW\"},                 \n\t{0x0000108A,\"LVM_SETBKIMAGEW\"},                \n\t{0x0000108B,\"LVM_GETBKIMAGEW\"},                \n\t{0x00001100,\"TVM_INSERTITEMA\"},                \n\t{0x00001100,\"TV_FIRST\"},                       \n\t{0x00001101,\"TVM_DELETEITEM\"},                 \n\t{0x00001102,\"TVM_EXPAND\"},                     \n\t{0x00001104,\"TVM_GETITEMRECT\"},                \n\t{0x00001105,\"TVM_GETCOUNT\"},                   \n\t{0x00001106,\"TVM_GETINDENT\"},                  \n\t{0x00001107,\"TVM_SETINDENT\"},                  \n\t{0x00001108,\"TVM_GETIMAGELIST\"},               \n\t{0x00001109,\"TVM_SETIMAGELIST\"},               \n\t{0x0000110A,\"TVM_GETNEXTITEM\"},                \n\t{0x0000110B,\"TVM_SELECTITEM\"},                 \n\t{0x0000110C,\"TVM_GETITEMA\"},                   \n\t{0x0000110D,\"TVM_SETITEMA\"},                   \n\t{0x0000110E,\"TVM_EDITLABELA\"},                 \n\t{0x0000110F,\"TVM_GETEDITCONTROL\"},             \n\t{0x00001110,\"TVM_GETVISIBLECOUNT\"},            \n\t{0x00001111,\"TVM_HITTEST\"},                    \n\t{0x00001112,\"TVM_CREATEDRAGIMAGE\"},            \n\t{0x00001113,\"TVM_SORTCHILDREN\"},               \n\t{0x00001114,\"TVM_ENSUREVISIBLE\"},              \n\t{0x00001115,\"TVM_SORTCHILDRENCB\"},             \n\t{0x00001116,\"TVM_ENDEDITLABELNOW\"},            \n\t{0x00001117,\"TVM_GETISEARCHSTRINGA\"},          \n\t{0x00001118,\"TVM_SETTOOLTIPS\"},                \n\t{0x00001119,\"TVM_GETTOOLTIPS\"},                \n\t{0x0000111A,\"TVM_SETINSERTMARK\"},              \n\t{0x0000111B,\"TVM_SETITEMHEIGHT\"},              \n\t{0x0000111C,\"TVM_GETITEMHEIGHT\"},              \n\t{0x0000111D,\"TVM_SETBKCOLOR\"},                 \n\t{0x0000111E,\"TVM_SETTEXTCOLOR\"},               \n\t{0x0000111F,\"TVM_GETBKCOLOR\"},                 \n\t{0x00001120,\"TVM_GETTEXTCOLOR\"},               \n\t{0x00001121,\"TVM_SETSCROLLTIME\"},              \n\t{0x00001122,\"TVM_GETSCROLLTIME\"},              \n\t{0x00001125,\"TVM_SETINSERTMARKCOLOR\"},         \n\t{0x00001126,\"TVM_GETINSERTMARKCOLOR\"},         \n\t{0x00001127,\"TVM_GETITEMSTATE\"},               \n\t{0x0000113E,\"TVM_GETITEMW\"},                   \n\t{0x0000113F,\"TVM_SETITEMW\"},                   \n\t{0x00001140,\"TVM_GETISEARCHSTRINGW\"},          \n\t{0x00001141,\"TVM_EDITLABELW\"},                 \n\t{0x00001146,\"TVM_INSERTITEMW\"},                \n\t{0x00001200,\"HDM_FIRST\"},                      \n\t{0x00001200,\"HDM_GETITEMCOUNT\"},               \n\t{0x00001201,\"HDM_INSERTITEMA\"},                \n\t{0x00001202,\"HDM_DELETEITEM\"},                 \n\t{0x00001203,\"HDM_GETITEMA\"},                   \n\t{0x00001204,\"HDM_SETITEMA\"},                   \n\t{0x00001205,\"HDM_LAYOUT\"},                     \n\t{0x00001206,\"HDM_HITTEST\"},                    \n\t{0x00001207,\"HDM_GETITEMRECT\"},                \n\t{0x00001208,\"HDM_SETIMAGELIST\"},               \n\t{0x00001209,\"HDM_GETIMAGELIST\"},               \n\t{0x0000120A,\"HDM_INSERTITEMW\"},                \n\t{0x0000120B,\"HDM_GETITEMW\"},                   \n\t{0x0000120C,\"HDM_SETITEMW\"},                   \n\t{0x0000120F,\"HDM_ORDERTOINDEX\"},               \n\t{0x00001210,\"HDM_CREATEDRAGIMAGE\"},            \n\t{0x00001211,\"HDM_GETORDERARRAY\"},              \n\t{0x00001212,\"HDM_SETORDERARRAY\"},              \n\t{0x00001213,\"HDM_SETHOTDIVIDER\"},              \n\t{0x00001216,\"HDM_SETFILTERCHANGETIMEOUT\"},     \n\t{0x00001217,\"HDM_EDITFILTER\"},                 \n\t{0x00001218,\"HDM_CLEARFILTER\"},                \n\t{0x00001300,\"TCM_FIRST\"},                      \n\t{0x00001302,\"TCM_GETIMAGELIST\"},               \n\t{0x00001303,\"TCM_SETIMAGELIST\"},               \n\t{0x00001304,\"TCM_GETITEMCOUNT\"},               \n\t{0x00001305,\"TCM_GETITEMA\"},                   \n\t{0x00001306,\"TCM_SETITEMA\"},                   \n\t{0x00001307,\"TCM_INSERTITEMA\"},                \n\t{0x00001308,\"TCM_DELETEITEM\"},                 \n\t{0x00001309,\"TCM_DELETEALLITEMS\"},             \n\t{0x0000130A,\"TCM_GETITEMRECT\"},                \n\t{0x0000130B,\"TCM_GETCURSEL\"},                  \n\t{0x0000130C,\"TCM_SETCURSEL\"},                  \n\t{0x0000130D,\"TCM_HITTEST\"},                    \n\t{0x0000130E,\"TCM_SETITEMEXTRA\"},               \n\t{0x00001328,\"TCM_ADJUSTRECT\"},                 \n\t{0x00001329,\"TCM_SETITEMSIZE\"},                \n\t{0x0000132A,\"TCM_REMOVEIMAGE\"},                \n\t{0x0000132B,\"TCM_SETPADDING\"},                 \n\t{0x0000132C,\"TCM_GETROWCOUNT\"},                \n\t{0x0000132D,\"TCM_GETTOOLTIPS\"},                \n\t{0x0000132E,\"TCM_SETTOOLTIPS\"},                \n\t{0x0000132F,\"TCM_GETCURFOCUS\"},                \n\t{0x00001330,\"TCM_SETCURFOCUS\"},                \n\t{0x00001331,\"TCM_SETMINTABWIDTH\"},             \n\t{0x00001332,\"TCM_DESELECTALL\"},                \n\t{0x00001333,\"TCM_HIGHLIGHTITEM\"},              \n\t{0x00001334,\"TCM_SETEXTENDEDSTYLE\"},           \n\t{0x00001335,\"TCM_GETEXTENDEDSTYLE\"},           \n\t{0x0000133C,\"TCM_GETITEMW\"},                   \n\t{0x0000133D,\"TCM_SETITEMW\"},                   \n\t{0x0000133E,\"TCM_INSERTITEMW\"},                \n\t{0x00001400,\"PGM_FIRST\"},                      \n\t{0x00001401,\"PGM_SETCHILD\"},                   \n\t{0x00001402,\"PGM_RECALCSIZE\"},                 \n\t{0x00001403,\"PGM_FORWARDMOUSE\"},               \n\t{0x00001404,\"PGM_SETBKCOLOR\"},                 \n\t{0x00001405,\"PGM_GETBKCOLOR\"},                 \n\t{0x00001406,\"PGM_SETBORDER\"},                  \n\t{0x00001407,\"PGM_GETBORDER\"},                  \n\t{0x00001408,\"PGM_SETPOS\"},                     \n\t{0x00001409,\"PGM_GETPOS\"},                     \n\t{0x0000140A,\"PGM_SETBUTTONSIZE\"},              \n\t{0x0000140B,\"PGM_GETBUTTONSIZE\"},              \n\t{0x0000140C,\"PGM_GETBUTTONSTATE\"},             \n\t{0x00002000,\"CCM_FIRST\"},                      \n\t{0x00002001,\"PBM_SETBKCOLOR\"},                 \n\t{0x00002001,\"CCM_SETBKCOLOR\"},                 \n\t{0x00002002,\"CCM_SETCOLORSCHEME\"},             \n\t{0x00002003,\"CCM_GETCOLORSCHEME\"},             \n\t{0x00002004,\"PGM_GETDROPTARGET\"},              \n\t{0x00002004,\"CCM_GETDROPTARGET\"},              \n\t{0x00002005,\"MCM_SETUNICODEFORMAT\"},           \n\t{0x00002005,\"RB_SETUNICODEFORMAT\"},            \n\t{0x00002005,\"LVM_SETUNICODEFORMAT\"},           \n\t{0x00002005,\"CCM_SETUNICODEFORMAT\"},           \n\t{0x00002005,\"UDM_SETUNICODEFORMAT\"},           \n\t{0x00002005,\"HDM_SETUNICODEFORMAT\"},           \n\t{0x00002005,\"TBM_SETUNICODEFORMAT\"},           \n\t{0x00002006,\"CCM_GETUNICODEFORMAT\"},           \n\t{0x00002006,\"RB_GETUNICODEFORMAT\"},            \n\t{0x00002006,\"HDM_GETUNICODEFORMAT\"},           \n\t{0x00002006,\"TBM_GETUNICODEFORMAT\"},           \n\t{0x00002006,\"UDM_GETUNICODEFORMAT\"},           \n\t{0x00002006,\"MCM_GETUNICODEFORMAT\"},           \n\t{0x00002006,\"LVM_GETUNICODEFORMAT\"},           \n\t{0x00002007,\"CCM_SETVERSION\"},                 \n\t{0x00002008,\"CCM_GETVERSION\"},                 \n\t{0x00002009,\"CCM_SETNOTIFYWINDOW\"},            \n\t{0x00002200,\"CCM_LAST\"},                       \n\t{0x00008000,\"WM_APP\"},                         \n\t{0x00012014,\"HDM_SETBITMAPMARGIN\"},            \n\t{0x00012015,\"HDM_GETBITMAPMARGIN\"},            \n\t{0xFFFFFFFE,\"CB_ERRSPACE\"},                    \n\t{0xFFFFFFFE,\"LB_ERRSPACE\"},                    \n\t{0xFFFFFFFF,\"CB_ERR\"},                         \n\t{0xFFFFFFFF,\"LB_ERR\"},                         \n\t{0x0000,NULL}\n};\n\n"
  },
  {
    "path": "Project/Syser/Source/OSData.h",
    "content": "#ifndef _OS_DATA_H_\n#define _OS_DATA_H_\n\n \ntypedef struct _WINDOWS_MSG_ENTRY\n{\n\tint MsgNumber;\n\tPSTR MsgName;\n}WINDOWS_MSG_ENTRY;\n\nextern WINDOWS_MSG_ENTRY stMsgList[];\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/OSProcessThread.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OSProcessThread.h\"\n#include \"Syser.h\"\n#define OS_INFO_FLAG_BUILDNUMBER 0x1\nDWORD gPsActiveProcessHead=0;\nDWORD gPsIdleProcess=0;\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nextern DWORD gSystemFSRegisterSelector;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nOS_OFFSET_INFO OSOffsetInfo[]=\n{\n\t{\n0,0,5,0,2195,\n0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n0x50,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n0x54,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n0xa0,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n0xa4,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n0x194,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n0x128,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n0x1b0,\t\t\t\t //EPROCESS_Peb_OFFSET;\n0x9c,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n0x1fc,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n0x44,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n0x1a4,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n0x1a8,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n0x1e4,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n0x18,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n0x1c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n0x28,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n0x20,\t\t\t\t //KTHREAD_Teb_OFFSET;\n0xdc,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n0xffffffff,\t\t\t //KTHREAD_TrapFrame_OFFSET;\n0xffffffff,\t\t\t //KTHREAD_State_OFFSET;\n0x230,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n\t},\n\t{\n\t\t0,0,5,1,2600,\n0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n0x50,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n0x54,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n0x88,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n0x8c,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n0x11C,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n0xc4,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n0x1b0,\t\t\t\t //EPROCESS_Peb_OFFSET;\n0x84,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n0x174,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n0x44,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n0x1b0,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n0x1b4,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n0x1f0,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n0x18,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n0x1c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n0x28,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n0x20,\t\t\t\t //KTHREAD_Teb_OFFSET;\n0xe0,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n0x134,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n0x2d,\t\t\t\t //KTHREAD_State_OFFSET;\n0x224,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n},\n{\n\t0,0,6,0,6000,\n0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n0x50,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n0x54,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n0xa0,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n0xa4,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n0xf8,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n0xdc,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n0x188,\t\t\t\t //EPROCESS_Peb_OFFSET;\n0x9c,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n0x14c,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n0x48,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n0x1c4,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n0x1c8,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n0x210,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n0x28,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n0x2c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n0x30,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n0x84,\t\t\t\t //KTHREAD_Teb_OFFSET;\n0x12C,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n0x120,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n0x5c,\t\t\t\t //KTHREAD_State_OFFSET;\n0x1f4,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n},\n{\n0,1,6,1,7000,\n0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n0x50,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n0x54,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n0xB8,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n0xBc,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n0x270,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n0xf4,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n0x1a0,\t\t\t\t //EPROCESS_Peb_OFFSET;\n0xb4,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n0x164,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n0x50,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n0x1e4,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n0x1e8,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n0x230,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n0x28,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n0x2c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n0x30,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n0x88,\t\t\t\t //KTHREAD_Teb_OFFSET;\n0x134,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n0x128,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n0x68,\t\t\t\t //KTHREAD_State_OFFSET;\n0x218,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n},\n\n{\n\t0,1,6,1,7100,\n0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n0x2c,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n0x30,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n0xB8,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n0xBc,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n0x274,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n0xf4,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n0x1a8,\t\t\t\t //EPROCESS_Peb_OFFSET;\n0xb4,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n0x16c,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n0x50,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n0x1e0,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n0x1e4,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n0x230,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n0x28,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n0x2c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n0x30,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n0x88,\t\t\t\t //KTHREAD_Teb_OFFSET;\n0xbc,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n0x128,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n0x68,\t\t\t\t //KTHREAD_State_OFFSET;\n0x218,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n},\n\n{\n\t0,1,6,1,7600,\n\t\t0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n\t\t0x20,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n\t\t0x2c,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n\t\t0x30,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n\t\t0xB8,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\t\t0xBc,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n\t\t0x274,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n\t\t0xf4,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n\t\t0x1a8,\t\t\t\t //EPROCESS_Peb_OFFSET;\n\t\t0xb4,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n\t\t0x16c,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n\t\t0x50,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n\t\t0x1e0,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n\t\t0x1e4,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n\t\t0x230,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n\t\t0x28,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n\t\t0x2c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n\t\t0x30,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n\t\t0x88,\t\t\t\t //KTHREAD_Teb_OFFSET;\n\t\t0xbc,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n\t\t0x128,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n\t\t0x68,\t\t\t\t //KTHREAD_State_OFFSET;\n\t\t0x218,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n\t\t0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n\t\t0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n\t},\n\t\t{\n\t0,1,6,1,7601,\n\t\t0x18,                //KPROCESS_DirectoryTableBase_OFFSET;\n\t\t0x1c,\t\t\t\t //KPROCESS_LdtDescriptor_OFFSET;\n\t\t0x2c,\t\t\t\t //KPROCESS_ThreadListHead_Flink_OFFSET;\n\t\t0x30,\t\t\t\t //KPROCESS_ThreadListHead_Blink_OFFSET;\n\t\t0xB8,\t\t\t\t //EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\t\t0xBc,\t\t\t\t //EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n\t\t0x278,\t\t\t\t //EPROCESS_VadRoot_OFFSET;\n\t\t0xf4,\t\t\t\t //EPROCESS_ObjectTable_OFFSET;\n\t\t0x1a8,\t\t\t\t //EPROCESS_Peb_OFFSET;\n\t\t0xb4,\t\t\t\t //EPROCESS_UniqueProcessId_OFFSET;\n\t\t0x16c,\t\t\t\t //EPROCESS_ImageFileName_OFFSET;\n\t\t0x50,\t\t\t\t //KTHREAD_ApcState_Process_OFFSET;\n\t\t0x1e0,\t\t\t\t //KTHREAD_ThreadListEntry_Flink_OFFSET;\n\t\t0x1e4,\t\t\t\t //KTHREAD_ThreadListEntry_Blink_OFFSET;\n\t\t0x230,\t\t\t\t //ETHREAD_Cid_UniqueThread_OFFSET;\n\t\t0x28,\t\t\t\t //KTHREAD_InitialStack_OFFSET;\n\t\t0x2c,\t\t\t\t //KTHREAD_StackLimit_OFFSET;\n\t\t0x30,\t\t\t\t //KTHREAD_KernelStack_OFFSET;\n\t\t0x88,\t\t\t\t //KTHREAD_Teb_OFFSET;\n\t\t0xbc,\t\t\t\t //KTHREAD_ServiceTable_OFFSET;\n\t\t0x128,\t\t\t\t //KTHREAD_TrapFrame_OFFSET;\n\t\t0x68,\t\t\t\t //KTHREAD_State_OFFSET;\n\t\t0x218,\t\t\t\t //ETHREAD_StartAddress_OFFSET;\n\t\t0x6cc,\t\t\t\t //TEB_Win32ClientInfo_OFFSET;\n\t\t0x8,\t\t\t\t //WIN32CLIENT_hwnd_OFFSET;\n\t},\n};\n\nPOS_OFFSET_INFO gOSOffsetInfo=OSOffsetInfo;\nbool InitOSOffsetInfo(DWORD OSMajorVersion,DWORD OSMinorVersion,DWORD OSBuildNumber)\n{\n\t\n\tfor(int i=0;i<sizeof(OSOffsetInfo)/sizeof(OSOffsetInfo[0]);i++)\n\t{\n\t\tif(OSMajorVersion==OSOffsetInfo[i].dwMajorVersion && OSMinorVersion==OSOffsetInfo[i].dwMinorVersion)\n\t\t{\n\t\t\tif(OSOffsetInfo[i].dwFlags& OS_INFO_FLAG_BUILDNUMBER)\n\t\t\t{\n\t\t\t\tif(OSOffsetInfo[i].dwBuildNumber==OSBuildNumber)\n\t\t\t\t{\n\t\t\t\t\tgOSOffsetInfo=OSOffsetInfo+i;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tgOSOffsetInfo=OSOffsetInfo+i;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nbool GetCurrentProcessAndThread(DWORD* Process,DWORD* Thread)\n{\n\tDWORD dwLimit,dwFSBase=0;\n#ifdef CODE_OS_NT_DRV\n\tdwFSBase=GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector,&dwLimit);\n\tif(dwFSBase==0)\n\t\treturn false;\n#endif\n\tdwFSBase+=0x124;\n\tif(ReadDword((void*)dwFSBase,&dwLimit)==false)\n\t\treturn false;\n\tif(Thread)\n\t\t*Thread=dwLimit;\n\tdwFSBase = dwLimit+gOSOffsetInfo->KTHREAD_ApcState_Process_OFFSET;\n\tif(ReadDword((void*)dwFSBase,&dwLimit)==false)\n\t\treturn false;\n\tif(Process)\n\t\t*Process=dwLimit;\n\treturn true;\n}\n\nbool GetIdleProcessAndThread(DWORD* Process,DWORD* Thread)\n{\n\tDWORD dwLimit,dwFSBase=0;\n#ifdef CODE_OS_NT_DRV\n\tdwFSBase=GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector,&dwLimit);\n\tif(dwFSBase==0)\n\t\treturn false;\n#endif\n\tdwFSBase+=0x12c;\n\tif(ReadDword((void*)dwFSBase,&dwLimit)==false)\n\t\treturn false;\n\tif(Thread)\n\t\t*Thread=dwLimit;\n\tdwFSBase = dwLimit+gOSOffsetInfo->KTHREAD_ApcState_Process_OFFSET;\n\tif(ReadDword((void*)dwFSBase,&dwLimit)==false)\n\t\treturn false;\n\tif(Process)\n\t\t*Process=dwLimit;\n\treturn true;\n}\nbool InitPsActiveProcessHead()\n{\n\tDWORD Process,Thread,dwTemp;\n\tDWORD MajorVersion=0;\n\tDWORD MinorVersion=0;\n\tDWORD BuildNumber=0;\n#ifdef CODE_OS_NT_DRV\n\tPsGetVersion(&MajorVersion,&MinorVersion,&BuildNumber,NULL);\n\tif(InitOSOffsetInfo(MajorVersion,MinorVersion,BuildNumber)==false)\n\t\treturn false;\n#endif\n\tif(GetCurrentProcessAndThread(&Process,&Thread)==false)\n\t\treturn false;\n\tProcess+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n\tif(ReadDword((void*)Process,&dwTemp)==false)\n\t\treturn false;\n\tgPsActiveProcessHead=dwTemp;\n\tif(GetIdleProcessAndThread(&Process,&Thread)==false)\n\t\treturn false;\n\tgPsIdleProcess=Process;\n\tDbgPrint(\"Syser : PsActiveProcessHead=0x%08x PsIdleProcess=%08x\\n\",gPsActiveProcessHead,gPsIdleProcess);\n\treturn true;\n}\nbool GetThreadInfoByETHREAD(DWORD pOSThread,PSYSER_THREAD pThread)\n{\n\tDWORD dwTemp,dwValue,dwProcess;\n\tif(pOSThread==0)\n\t\treturn false;\n\tpThread->OSThread=(void*)pOSThread;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->ETHREAD_Cid_UniqueThread_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->ThreadID=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_TrapFrame_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->TrapFrame=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_State_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->State=(dwTemp & 0xff);\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_InitialStack_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->InitialStack=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_StackLimit_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->StackLimit=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_KernelStack_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->KernelStack=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_Teb_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->Teb=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_ApcState_Process_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->Process=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_ServiceTable_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->ServiceTable=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->ETHREAD_StartAddress_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpThread->StartAddress=dwTemp;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_ApcState_Process_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tdwProcess=dwTemp;\n\tdwValue = dwTemp+gOSOffsetInfo->KPROCESS_ThreadListHead_Flink_OFFSET;\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_ThreadListEntry_Flink_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\t\n\tif(dwProcess==0 || dwTemp==dwValue)\n\t\tpThread->NextThread=0;\n\telse\n\t\tpThread->NextThread=dwTemp-gOSOffsetInfo->KTHREAD_ThreadListEntry_Flink_OFFSET;\n\t\n\tif(ReadDword((void*)(pOSThread+gOSOffsetInfo->KTHREAD_ThreadListEntry_Blink_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tif(dwProcess==0|| dwTemp==dwValue)\n\t\tpThread->PrevThread=0;\n\telse\n\t\tpThread->PrevThread=dwTemp-gOSOffsetInfo->KTHREAD_ThreadListEntry_Flink_OFFSET;\n\n\treturn true;\n}\nbool GetNextThread(PSYSER_THREAD pThread)\n{\n\tif(pThread->NextThread==0)\n\t\treturn false;\n\treturn GetThreadInfoByETHREAD(pThread->NextThread,pThread);\n}\n\nbool GetPrevThread(PSYSER_THREAD pThread)\n{\n\tif(pThread->PrevThread==0)\n\t\treturn false;\n\treturn GetThreadInfoByETHREAD(pThread->PrevThread,pThread);\n}\n\nbool GetThreadByID(DWORD ThreadID,PSYSER_THREAD pThread)\n{\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tbool bOK,bOK1;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\t\t\t\t\t\t\n\t\tmemset(&Thread,0,sizeof(Thread));\n\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK1)\n\t\t{\n\t\t\tif(ThreadID==Thread.ThreadID)\n\t\t\t{\n\t\t\t\tmemcpy(pThread,&Thread,sizeof(Thread));\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tbOK1=GetNextThread(&Thread);\n\t\t}\n\t\tbOK = GetNextProcess(&Process);\n\t}\n\treturn false;\n}\n\nbool GetProcessInfoByEPROCESS(DWORD pOSProcess,PSYSER_PROCESS pProcess)\n{\n\tDWORD dwTemp,i,dwValue;\n\tBYTE Value;\n\tpProcess->OSProcess=(void*)pOSProcess;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->KPROCESS_DirectoryTableBase_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->PDT=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->EPROCESS_VadRoot_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->VadRoot=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->EPROCESS_ObjectTable_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->ObjectTable=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->EPROCESS_Peb_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->Peb=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->EPROCESS_UniqueProcessId_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->UniqueProcessId=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->KPROCESS_LdtDescriptor_OFFSET),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->LDTBaseAddress=dwTemp;\n\tif(ReadDword((void*)(pOSProcess+gOSOffsetInfo->KPROCESS_LdtDescriptor_OFFSET+4),&dwTemp)==false)\n\t\treturn false;\n\tpProcess->LDTLimit=dwTemp;\n\tfor(i=0;i<16;i++)\n\t{\n\t\tif(ReadByte((void*)(pOSProcess+gOSOffsetInfo->EPROCESS_ImageFileName_OFFSET+i),&Value)==false)\n\t\t\treturn false;\n\t\tpProcess->ImageFileName[i]=Value;\n\t\tif(Value==0)\n\t\t\tbreak;\n\t\tif(Value=='.')\n\t\t{\n\t\t\tpProcess->ImageFileName[i]=0;\n\t\t\tbreak;\n\t\t}\n\t}\n\tpProcess->ImageFileName[15]=0;\n\tpProcess->ThreadHead=0;\n\tpProcess->ThreadTail=0;\n\tdwValue=pOSProcess+gOSOffsetInfo->KPROCESS_ThreadListHead_Flink_OFFSET;\n\tif(ReadDword((void*)(dwValue),&dwTemp)==false)\n\t\treturn false;\n\tif(dwValue!=dwTemp && dwTemp)\n\t{\n\t\tdwTemp-=gOSOffsetInfo->KTHREAD_ThreadListEntry_Flink_OFFSET;\n\t\tpProcess->ThreadHead=(void*)dwTemp;\n\t\tdwValue=pOSProcess+gOSOffsetInfo->KPROCESS_ThreadListHead_Blink_OFFSET;\n\t\tif(ReadDword((void*)(dwValue),&dwTemp)==false)\n\t\t\treturn false;\n\t\tdwTemp-=gOSOffsetInfo->KTHREAD_ThreadListEntry_Flink_OFFSET;\n\t\tpProcess->ThreadTail=(void*)dwTemp;\n\t}\n\treturn true;\n}\nbool GetFirstProcess(PSYSER_PROCESS pProcess)\n{\n\tDWORD dwTemp,dwNext;\n\tmemset(pProcess,0,sizeof(*pProcess));\n\tif(ReadDword((void*)gPsActiveProcessHead,&dwTemp)==false)\n\t\treturn false;\n\tdwTemp-=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\tif(GetProcessInfoByEPROCESS(dwTemp,pProcess)==false)\n\t\treturn false;\n\tdwTemp+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\tpProcess->Next=0;\n\tif(ReadDword((void*)dwTemp,&dwNext))\n\t{\n\t\tif(dwNext==gPsIdleProcess)\n\t\t\treturn true;\n\t\tif(dwNext==gPsActiveProcessHead)\n\t\t{\n\t\t\tdwNext=gPsIdleProcess;\n\t\t\tdwNext+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\t\t}\n\t\tpProcess->Next=dwNext;\t\t\n\t}\n\treturn true;\n}\nbool GetNextProcess(PSYSER_PROCESS pProcess)\n{\n\tDWORD dwTemp,dwNext;\n\tif(pProcess->Next==0)\n\t\treturn false;\n\tdwTemp=pProcess->Next;\n\tdwTemp-=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\tif(GetProcessInfoByEPROCESS(dwTemp,pProcess)==false)\n\t\treturn false;\n\tdwTemp+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\tpProcess->Next=0;\n\tif(ReadDword((void*)dwTemp,&dwNext))\n\t{\n\t\tif(dwNext==gPsIdleProcess)\n\t\t\treturn true;\n\t\tif(*(DWORD*)&pProcess->OSProcess==gPsIdleProcess)\n\t\t\treturn true;\n\t\tif(dwNext==gPsActiveProcessHead)\n\t\t{\n\t\t\tdwNext=gPsIdleProcess;\n\t\t\tdwNext+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\t\t\tif(ReadDword((void*)gPsActiveProcessHead,&dwTemp))//߼window7 ϵ Idle Process  system Process ͬ\n\t\t\t{\n\t\t\t\tif(dwTemp==dwNext)\n\t\t\t\t\tdwNext=0;\n\t\t\t}\n\t\t\t//if(gOSOffsetInfo->dwBuildNumber>=7000)\n\t\t\t//{\n\t\t\t//\tdwNext=0; //in windows 7 ,The Idle Process's next link isn't 0\n\t\t\t//}\n\t\t\t//else\n\t\t\t//{\n\t\t\t//\tdwNext=gPsIdleProcess;  //in windows xp and windows 2k and vista . The Idle Process's next link is 0\n\t\t\t//\tdwNext+=gOSOffsetInfo->EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\t\t\t//}\t\t\t\n\t\t}\n\t\tpProcess->Next=dwNext;\t\t\n\t}\n\treturn true;\n}\nbool GetProcessByID(DWORD ProcessID,PSYSER_PROCESS pProcess)\n{\n\tSYSER_PROCESS Process;\n\tbool bOK;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\n\t\tif(Process.UniqueProcessId==ProcessID)\n\t\t{\n\t\t\tmemcpy(pProcess,&Process,sizeof(SYSER_PROCESS));\n\t\t\treturn true;\n\t\t}\n\t\tbOK=GetNextProcess(&Process);\n\t}\n\treturn false;\n}\nbool GetProcessByName(char* Name,PSYSER_PROCESS pProcess)\n{\n\tSYSER_PROCESS Process;\n\tbool bOK;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\n\t\tif(TStrICmp(Name,Process.ImageFileName)==0)\t\t\n\t\t{\n\t\t\tmemcpy(pProcess,&Process,sizeof(SYSER_PROCESS));\n\t\t\treturn true;\n\t\t}\n\t\tbOK=GetNextProcess(&Process);\n\t}\n\treturn false;\n}\n\nbool GetProcessByThreadID(DWORD ThreadID,PSYSER_PROCESS pProcess)\n{\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tbool bOK,bOK1;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\t\t\t\t\t\t\n\t\tmemset(&Thread,0,sizeof(Thread));\n\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK1)\n\t\t{\n\t\t\tif(ThreadID==Thread.ThreadID)\n\t\t\t{\n\t\t\t\tmemcpy(pProcess,&Process,sizeof(Process));\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tbOK1=GetNextThread(&Thread);\n\t\t}\n\t\tbOK = GetNextProcess(&Process);\n\t}\n\treturn false;\n}\n\nbool GetProcessByETHREAD(DWORD EThread,PSYSER_PROCESS pProcess)\n{\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tbool bOK,bOK1;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\t\t\t\t\t\t\n\t\tmemset(&Thread,0,sizeof(Thread));\n\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK1)\n\t\t{\n\t\t\tif(EThread==(DWORD)Thread.OSThread)\n\t\t\t{\n\t\t\t\tmemcpy(pProcess,&Process,sizeof(Process));\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tbOK1=GetNextThread(&Thread);\n\t\t}\n\t\tbOK = GetNextProcess(&Process);\n\t}\n\treturn false;\n}\nbool GetCurrentProcessInfo(PSYSER_PROCESS pProcess)\n{\n\tDWORD dwCurProc,dwCurThread;\n\tmemset(pProcess,0,sizeof(*pProcess));\n\tif(GetCurrentProcessAndThread(&dwCurProc,&dwCurThread))\n\t{\n\t\treturn GetProcessInfoByEPROCESS(dwCurProc,pProcess);\n\t}\n\treturn false;\t\n}\nbool GetCurrentThreadInfo(PSYSER_THREAD pThread)\n{\n\tDWORD dwCurProc,dwCurThread;\n\tmemset(pThread,0,sizeof(*pThread));\n\tif(GetCurrentProcessAndThread(&dwCurProc,&dwCurThread))\n\t{\n\t\treturn GetThreadInfoByETHREAD(dwCurThread,pThread);\n\t}\n\treturn false;\t\n}\nbool GetProcessByEPROCESS(DWORD EProcess,PSYSER_PROCESS pProcess)\n{\n\tSYSER_PROCESS Process;\n\tbool bOK;\n\tbOK = GetFirstProcess(&Process);\n\twhile(bOK)\n\t{\n\t\tif((DWORD)Process.OSProcess == EProcess)\n\t\t{\n\t\t\tmemcpy(pProcess,&Process,sizeof(SYSER_PROCESS));\n\t\t\treturn true;\n\t\t}\n\t\tbOK=GetNextProcess(&Process);\n\t}\n\treturn false;\n}\n#ifdef CODE_OS_NT_DRV\nint thread_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tWCHAR Title[]=WSTR(\"TID   Krnl TEB  StackBtm  StkTop    StackPtr  User TEB  StartEIP State Process(Id)\\n\");\n\tSYSER_PROCESS pProcess;\n\tSYSER_THREAD pThread;\n\tWCHAR Name[17];\n\tbool bOK,bOK1;\n\tDWORD dwCount=0;\n\tDWORD dwCurThread,dwCurProcess;\n\tGetCurrentProcessAndThread(&dwCurProcess,&dwCurThread);\n\tif(argc==1)\n\t{\n\t\tOUTPUT(Title);\n\t\tbOK = GetFirstProcess(&pProcess);\n\t\twhile(bOK)\n\t\t{\t\t\t\t\n\t\t\tTStrCpyLimit(Name,pProcess.ImageFileName,16);\t\t\t\n\t\t\tmemset(&pThread,0,sizeof(pThread));\n\t\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)pProcess.ThreadHead,&pThread);\n\t\t\twhile(bOK1)\n\t\t\t{\n\t\t\t\tif(dwCurThread!=(DWORD)pThread.OSThread)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"%04x  %08x  %08x  %08x  %08x  %08x  %08x %d     %s(%2x)\\n\"),pThread.ThreadID,\n\t\t\t\t\t\tpThread.OSThread,\n\t\t\t\t\t\tpThread.StackLimit,\n\t\t\t\t\t\tpThread.InitialStack,\n\t\t\t\t\t\tpThread.KernelStack,\n\t\t\t\t\t\tpThread.Teb,\n\t\t\t\t\t\tpThread.StartAddress,\n\t\t\t\t\t\tpThread.State,\n\t\t\t\t\t\tName,pProcess.UniqueProcessId);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"%<7>%04x  %08x  %08x  %08x  %08x  %08x  %08x %d     %s(%2x)\\n\"),pThread.ThreadID,\n\t\t\t\t\t\tpThread.OSThread,\n\t\t\t\t\t\tpThread.StackLimit,\n\t\t\t\t\t\tpThread.InitialStack,\n\t\t\t\t\t\tpThread.KernelStack,\n\t\t\t\t\t\tpThread.Teb,\n\t\t\t\t\t\tpThread.StartAddress,\n\t\t\t\t\t\tpThread.State,\n\t\t\t\t\t\tName,pProcess.UniqueProcessId);\n\t\t\t\t}\n\t\t\t\tdwCount++;\n\t\t\t\tbOK1=GetNextThread(&pThread);\n\t\t\t}\n\t\t\tbOK = GetNextProcess(&pProcess);\n\t\t}\n\t\tif(dwCount)\n\t\t\tOUTPUT(WSTR(\"thread totals (%d)\\n\"),dwCount); \n\t\treturn 0;\n\t}\n\t\n\targc--;\n\tint i;\n\tSYSER_VALUE_TYPE ValueType;\n\tDWORD dwValue;\n\tbool bTitle=false;\n\tCDbgProcess*pDbgProcess;\n\tWCHAR szBuffer[MAX_FN_LEN];\n#ifdef CODE_OS_NT_DRV\n\tfor(i=0;i<argc;i++)\n\t{\t\t\n\t\tif(CALCEXP(argv[i+1],&dwValue)==FALSE)\n\t\t{\n\t\t\t\n\t\t\tpDbgProcess=pSyser->m_SysInfo.GetProcess(argv[i+1]);\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tdwValue=(DWORD)pDbgProcess->GetEPROCESS();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCpyLimit(szBuffer,argv[i+1],MAX_FN_LEN);\n\t\t\t\tTStrCat(szBuffer,\".exe\");\n\t\t\t\tpDbgProcess=pSyser->m_SysInfo.GetProcess(szBuffer);\n\t\t\t\tif(pDbgProcess)\n\t\t\t\t{\n\t\t\t\t\tdwValue=(DWORD)pDbgProcess->GetEPROCESS();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tValueType=VALUE_TYPE_PROCESS_PTR;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tValueType = GetValueType(dwValue);\n\t\t\tif(ValueType==VALUE_TYPE_UNKNOW || ValueType==VALUE_TYPE_HWND_ID || ValueType == VALUE_TYPE_HWND_PTR)\n\t\t\t\tcontinue;\n\t\t}\n\n#endif\t\t\n\t\tbOK=false;\n\t\tswitch(ValueType)\n\t\t{\n\t\tcase VALUE_TYPE_THREAD_PTR:\n\t\t\tbOK=GetThreadInfoByETHREAD(dwValue,&pThread);\t\n\t\t\tif(bOK)\n\t\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_THREAD_ID:\t\t\t\n\t\t\tbOK = GetThreadByID(dwValue,&pThread);\t\n\t\t\tif(bOK)\n\t\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\t\tbreak;\t\t\n\t\tcase VALUE_TYPE_PROCESS_ID:\n\t\t\tbOK=GetProcessByID(dwValue,&pProcess);\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_PROCESS_PTR:\n\t\t\tbOK=GetProcessInfoByEPROCESS(dwValue,&pProcess);\n\t\t\tbreak;\n\n\t\t}\n\t\n\t\tif(bOK==false)\n\t\t\tcontinue;\t\t\t\t\t\n\t\tif(bTitle==false)\n\t\t{\n\t\t\tbTitle=true;\n\t\t\tOUTPUT(Title);\n\t\t}\n\t\tTStrCpyLimit(Name,pProcess.ImageFileName,16);\n\n\t\tif(ValueType==VALUE_TYPE_THREAD_PTR || VALUE_TYPE_THREAD_ID==ValueType)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%04x  %08x  %08x  %08x  %08x  %08x  %08x %d     %s(%2x)\\n\"),pThread.ThreadID,\n\t\t\t\tpThread.OSThread,\n\t\t\t\tpThread.StackLimit,\n\t\t\t\tpThread.InitialStack,\n\t\t\t\tpThread.KernelStack,\n\t\t\t\tpThread.Teb,\n\t\t\t\tpThread.StartAddress,\n\t\t\t\tpThread.State,\n\t\t\t\tName,pProcess.UniqueProcessId);\t\n\t\t\tdwCount++;\n\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmemset(&pThread,0,sizeof(pThread));\n\t\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)pProcess.ThreadHead,&pThread);\n\t\t\twhile(bOK1)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"%04x  %08x  %08x  %08x  %08x  %08x  %08x %d     %s(%2x)\\n\"),pThread.ThreadID,\n\t\t\t\t\tpThread.OSThread,\n\t\t\t\t\tpThread.StackLimit,\n\t\t\t\t\tpThread.InitialStack,\n\t\t\t\t\tpThread.KernelStack,\n\t\t\t\t\tpThread.Teb,\n\t\t\t\t\tpThread.StartAddress,\n\t\t\t\t\tpThread.State,\n\t\t\t\t\tName,pProcess.UniqueProcessId);\n\t\t\t\tbOK1=GetNextThread(&pThread);\n\t\t\t\tdwCount++; \n\t\t\t}\n\t\t}\n\t}\n\tif(dwCount)\n\t\tOUTPUT(WSTR(\"thread totals (%d)\\n\"),dwCount); \n\treturn 0;\n}\n\n#endif\n\nSYSER_VALUE_TYPE FindHwndType(DWORD dwHwnd,DWORD Value)\n{\n\tSYSER_HWND_INFO HwndInfo;\n\tSYSER_VALUE_TYPE Type;\n\twhile(dwHwnd && GetHwndInfoByWndStruct(*(void**)&dwHwnd,&HwndInfo))\n\t{\n\t\tif(Value==dwHwnd)\n\t\t\treturn VALUE_TYPE_HWND_PTR;\n\t\tif(Value==HwndInfo.hWnd)\n\t\t\treturn VALUE_TYPE_HWND_ID;\n\t\tType = FindHwndType((DWORD)HwndInfo.ChildHwnd,Value);\n\t\tif(Type==VALUE_TYPE_HWND_PTR || Type==VALUE_TYPE_HWND_ID)\n\t\t\treturn Type;\t\t\t\n\t\tdwHwnd=(DWORD)HwndInfo.NextHwnd;\n\t}\n\treturn VALUE_TYPE_UNKNOW;\n}\nSYSER_VALUE_TYPE IsHwndValueType(DWORD Value)\n{\n\tBOOL bOK;\n\tgpSyser->InitOSHwndRoot();\t\n\tSYSER_HWND_INFO HwndInfo;\n#ifdef CODE_OS_NT_DRV \n\tCDbgProcess*pDbgProcess;\n\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"csrss\"));\n\tif(pDbgProcess==NULL)\n\t{\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"explorer\"));\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn VALUE_TYPE_UNKNOW;\n\t}\n\tgpSyser->MapToProcess(pDbgProcess);\n#endif\n\tDWORD dwHwnd=gpSyser->m_OSHwndRoot;\n\treturn FindHwndType(dwHwnd,Value);\n\n}\nSYSER_VALUE_TYPE GetValueType(DWORD Value)\n{\n\tSYSER_PROCESS pProcess;\n\tSYSER_THREAD pThread;\n\tBOOL bOK,bOK1;\n\tbOK = GetFirstProcess(&pProcess);\n\twhile(bOK)\n\t{\t\t\t\t\t\t\n\t\tif(Value==(DWORD)pProcess.OSProcess)\n\t\t\treturn VALUE_TYPE_PROCESS_PTR;\n\t\tif(Value==(DWORD)pProcess.UniqueProcessId)\n\t\t\treturn VALUE_TYPE_PROCESS_ID;\n\t\tmemset(&pThread,0,sizeof(pThread));\n\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)pProcess.ThreadHead,&pThread);\n\t\twhile(bOK1)\n\t\t{\n\t\t\tif(Value==(DWORD)pThread.ThreadID)\n\t\t\t\treturn VALUE_TYPE_THREAD_ID;\n\t\t\tif(Value==(DWORD)pThread.OSThread)\n\t\t\t\treturn VALUE_TYPE_THREAD_PTR;\n\t\t\tbOK1=GetNextThread(&pThread);\n\t\t}\n\t\tbOK = GetNextProcess(&pProcess);\n\t}\n\treturn IsHwndValueType(Value);\n}\n\n\nDWORD  GetEProcessPointer(WCHAR* args)\n{\n#ifdef CODE_OS_NT_DRV\n\tSYSER_PROCESS pProcess;\n\tSYSER_THREAD pThread;\n\tSYSER_VALUE_TYPE ValueType;\n\tDWORD dwValue=0;\n\tbool bOK;\n\tCDbgProcess*pDbgProcess;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\n\tif(args==NULL)\n\t\treturn 0;\n\n\tif(CALCEXP(args,&dwValue)==FALSE)\n\t{\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(args);\n\t\tif(pDbgProcess)\n\t\t{\n\t\t\tdwValue=(DWORD)pDbgProcess->GetEPROCESS();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpyLimit(szBuffer,args,MAX_FN_LEN);\n\t\t\tTStrCat(szBuffer,\".exe\");\n\t\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(szBuffer);\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tdwValue=(DWORD)pDbgProcess->GetEPROCESS();\n\t\t\t}\n\t\t}\n\t\treturn dwValue;\n\t}\n\telse\n\t{\n\t\tValueType = GetValueType(dwValue);\n\t\tif(ValueType==VALUE_TYPE_UNKNOW || ValueType==VALUE_TYPE_HWND_ID || ValueType == VALUE_TYPE_HWND_PTR)\n\t\t\treturn 0;\n\t}\n\n\t\n\tbOK=false;\n\tswitch(ValueType)\n\t{\n\tcase VALUE_TYPE_THREAD_PTR:\n\t\tbOK=GetThreadInfoByETHREAD(dwValue,&pThread);\t\n\t\tif(bOK)\n\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\tbreak;\n\tcase VALUE_TYPE_THREAD_ID:\t\t\t\n\t\tbOK = GetThreadByID(dwValue,&pThread);\t\n\t\tif(bOK)\n\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\tbreak;\t\t\n\tcase VALUE_TYPE_PROCESS_ID:\n\t\tbOK=GetProcessByID(dwValue,&pProcess);\n\t\tbreak;\n\tcase VALUE_TYPE_PROCESS_PTR:\n\t\tbOK=GetProcessInfoByEPROCESS(dwValue,&pProcess);\n\t\tbreak;\n\t}\n\treturn *(DWORD*)&pProcess.OSProcess;\n#endif\t\n\treturn 0;\n}"
  },
  {
    "path": "Project/Syser/Source/OSProcessThread.h",
    "content": "#ifndef __OSPROCESSTHREAD__H__\n#define __OSPROCESSTHREAD__H__\n\n\ntypedef struct _SYSER_KTRAP_FRAME /* sizeof 0000008c 140 */\n{\n\t/* off 0x0000 */\tunsigned long\tDbgEbp;\n\t/* off 0x0004 */\tunsigned long\tDbgEip;\n\t/* off 0x0008 */\tunsigned long\tDbgArgMark;\n\t/* off 0x000c */\tunsigned long\tDbgArgPointer;\n\t/* off 0x0010 */\tunsigned short\tTempSegCs;\n\t/* off 0x0012 */\tunsigned char\tLogging;\n\t/* off 0x0013 */\tunsigned char\tReserved;\n\t/* off 0x0014 */\tunsigned long\tTempEsp;\n\t/* off 0x0018 */\tunsigned long\tDr0;\n\t/* off 0x001c */\tunsigned long\tDr1;\n\t/* off 0x0020 */\tunsigned long\tDr2;\n\t/* off 0x0024 */\tunsigned long\tDr3;\n\t/* off 0x0028 */\tunsigned long\tDr6;\n\t/* off 0x002c */\tunsigned long\tDr7;\n\t/* off 0x0030 */\tunsigned long\tSegGs;\n\t/* off 0x0034 */\tunsigned long\tSegEs;\n\t/* off 0x0038 */\tunsigned long\tSegDs;\n\t/* off 0x003c */\tunsigned long\tEdx;\n\t/* off 0x0040 */\tunsigned long\tEcx;\n\t/* off 0x0044 */\tunsigned long\tEax;\n\t/* off 0x0048 */\tunsigned long\tPreviousPreviousMode;\n\t///* off 0x004c */\tstruct _EXCEPTION_REGISTRATION_RECORD*\tExceptionList;\n\t/* off 0x004c */\tvoid*\t\t\tExceptionList;\n\t/* off 0x0050 */\tunsigned long\tSegFs;\n\t/* off 0x0054 */\tunsigned long\tEdi;\n\t/* off 0x0058 */\tunsigned long\tEsi;\n\t/* off 0x005c */\tunsigned long\tEbx;\n\t/* off 0x0060 */\tunsigned long\tEbp;\n\t/* off 0x0064 */\tunsigned long\tErrCode;\n\t/* off 0x0068 */\tunsigned long\tEip;\n\t/* off 0x006c */\tunsigned long\tSegCs;\n\t/* off 0x0070 */\tunsigned long\tEFlags;\n\t/* off 0x0074 */\tunsigned long\tHardwareEsp;\n\t/* off 0x0078 */\tunsigned long\tHardwareSegSs;\n\t/* off 0x007c */\tunsigned long\tV86Es;\n\t/* off 0x0080 */\tunsigned long\tV86Ds;\n\t/* off 0x0084 */\tunsigned long\tV86Fs;\n\t/* off 0x0088 */\tunsigned long\tV86Gs;\n}SYSER_KTRAP_FRAME,*PSYSER_KTRAP_FRAME;\n\ntypedef struct _SYSER_PROCESS\n{\n\tvoid* OSProcess;\n\tDWORD UniqueProcessId;\n\tDWORD PDT;\n\tDWORD LDTBaseAddress;\n\tDWORD LDTLimit;\n\tchar ImageFileName[16];\n\tDWORD Next;\n\tDWORD VadRoot;\n\tDWORD Peb;\n\tvoid* ThreadHead;\n\tvoid* ThreadTail;\n\tDWORD ObjectTable;\n}SYSER_PROCESS,*PSYSER_PROCESS;\ntypedef struct _SYSER_THREAD\n{\n\tvoid* OSThread;\n\tDWORD ThreadID;\n\tDWORD InitialStack;\n\tDWORD StackLimit;\n\tDWORD KernelStack;\n\tDWORD Teb;\n\tDWORD Process;\n\tDWORD ServiceTable;\n\tDWORD NextThread;\n\tDWORD PrevThread;\n\tDWORD StartAddress;\n\tDWORD TrapFrame;\n\tDWORD State;\n}SYSER_THREAD,*PSYSER_THREAD;\nbool InitPsActiveProcessHead();\nbool GetCurrentProcessAndThread(DWORD* Process,DWORD* Thread);\nbool GetIdleProcessAndThread(DWORD* Process,DWORD* Thread);\nbool GetNextProcess(PSYSER_PROCESS pProcess);\nbool GetFirstProcess(PSYSER_PROCESS pProcess);\nbool GetThreadInfoByETHREAD(DWORD pOSThread,PSYSER_THREAD pThread);\nbool GetProcessInfoByEPROCESS(DWORD pOSProcess,PSYSER_PROCESS pProcess);\nbool GetNextThread(PSYSER_THREAD pThread);\nbool GetPrevThread(PSYSER_THREAD pThread);\nbool GetThreadByID(DWORD ThreadID,PSYSER_THREAD pThread);\nbool GetProcessByThreadID(DWORD ThreadID,PSYSER_PROCESS pProcess);\nbool GetProcessByETHREAD(DWORD EThread,PSYSER_PROCESS pProcess);\nbool GetCurrentProcessInfo(PSYSER_PROCESS pProcess);\nbool GetCurrentThreadInfo(PSYSER_THREAD pThread);\nextern DWORD gPsActiveProcessHead;\nextern DWORD gPsIdleProcess;\n//extern DWORD KTHREAD_ApcState_Process_OFFSET;\n//extern DWORD EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n//extern DWORD EPROCESS_ActiveProcessLinks_Flink_OFFSET;\ntypedef struct _OS_OFFSET_INFO\n{\n\tDWORD cbSize;\n\tDWORD dwFlags;\n\tDWORD dwMajorVersion;\n\tDWORD dwMinorVersion;\n\tDWORD dwBuildNumber;\n\tDWORD KPROCESS_DirectoryTableBase_OFFSET;\n\tDWORD KPROCESS_LdtDescriptor_OFFSET;\n\tDWORD KPROCESS_ThreadListHead_Flink_OFFSET;\n\tDWORD KPROCESS_ThreadListHead_Blink_OFFSET;\n\tDWORD EPROCESS_ActiveProcessLinks_Flink_OFFSET;\n\tDWORD EPROCESS_ActiveProcessLinks_Blink_OFFSET;\n\tDWORD EPROCESS_VadRoot_OFFSET;\n\tDWORD EPROCESS_ObjectTable_OFFSET;\n\tDWORD EPROCESS_Peb_OFFSET;\n\tDWORD EPROCESS_UniqueProcessId_OFFSET;\n\tDWORD EPROCESS_ImageFileName_OFFSET;\n\tDWORD KTHREAD_ApcState_Process_OFFSET;\n\tDWORD KTHREAD_ThreadListEntry_Flink_OFFSET;\n\tDWORD KTHREAD_ThreadListEntry_Blink_OFFSET;\n\tDWORD ETHREAD_Cid_UniqueThread_OFFSET;\n\tDWORD KTHREAD_InitialStack_OFFSET;\n\tDWORD KTHREAD_StackLimit_OFFSET;\n\tDWORD KTHREAD_KernelStack_OFFSET;\n\tDWORD KTHREAD_Teb_OFFSET;\n\tDWORD KTHREAD_ServiceTable_OFFSET;\n\tDWORD KTHREAD_TrapFrame_OFFSET;\n\tDWORD KTHREAD_State_OFFSET;\n\tDWORD ETHREAD_StartAddress_OFFSET;\n\tDWORD TEB_Win32ClientInfo_OFFSET;\n\tDWORD WIN32CLIENT_hwnd_OFFSET;\n}OS_OFFSET_INFO,*POS_OFFSET_INFO;\n\n\nextern POS_OFFSET_INFO gOSOffsetInfo;\ntypedef enum _SYSER_VALUE_TYPE {\n\tVALUE_TYPE_PROCESS_PTR,\n\tVALUE_TYPE_THREAD_PTR,\n\tVALUE_TYPE_HWND_PTR,\n\tVALUE_TYPE_PROCESS_ID,\n\tVALUE_TYPE_THREAD_ID,\n\tVALUE_TYPE_HWND_ID,\n\tVALUE_TYPE_UNKNOW,\n}SYSER_VALUE_TYPE;\nSYSER_VALUE_TYPE GetValueType(DWORD Value);\nbool GetProcessByID(DWORD ProcessID,PSYSER_PROCESS pProcess);\nbool GetProcessByEPROCESS(DWORD EProcess,PSYSER_PROCESS pProcess);\nbool GetProcessByName(char* Name,PSYSER_PROCESS pProcess);\nbool InitOSOffsetInfo(DWORD OSMajorVersion,DWORD OSMinorVersion,DWORD OSBuildNumber);\nclass CSyser;\nint thread_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser);\nDWORD  GetEProcessPointer(WCHAR* args);\n#endif //__OSPROCESSTHREAD__H__"
  },
  {
    "path": "Project/Syser/Source/ObjFileView.cpp",
    "content": "#include \"stdafx.h\"\n#include \"ObjFileView.h\"\n#include \"../../SyserApp/Source/NoPDBSymbol.h\"\n\n\nSTFLAGSARRAY CObjFileView::X86X87RegisterArray[]={\n{\"none\",0 ,\"none\"},\n{\"AL\",1 ,\"AL\"},\n{\"CL\",2 ,\"CL\"},\n{\"DL\",3 ,\"DL\"},\n{\"BL\",4 ,\"BL\"},\n{\"AH\",5 ,\"AH\"},\n{\"CH\",6 ,\"CH\"},\n{\"DH\",7 ,\"DH\"},\n{\"BH\",8 ,\"BH\"},\n{\"AX\",9 ,\"AX\"},\n{\"CX\",10 ,\"CX\"},\n{\"DX\",11 ,\"DX\"},\n{\"BX\",12 ,\"BX\"},\n{\"SP\",13 ,\"SP\"},\n{\"BP\",14 ,\"BP\"},\n{\"SI\",15 ,\"SI\"},\n{\"DI\",16 ,\"DI\"},\n{\"EAX\",17 ,\"EAX\"},\n{\"ECX\",18 ,\"ECX\"},\n{\"EDX\",19 ,\"EDX\"},\n{\"EBX\",20 ,\"EBX\"},\n{\"ESP\",21 ,\"ESP\"},\n{\"EBP\",22 ,\"EBP\"},\n{\"ESI\",23 ,\"ESI\"},\n{\"EDI\",24 ,\"EDI\"},\n{\"ES\",25 ,\"ES\"},\n{\"CS\",26 ,\"CS\"},\n{\"SS\",27 ,\"SS\"},\n{\"DS\",28 ,\"DS\"},\n{\"FS\",29 ,\"FS\"},\n{\"GS\",30 ,\"GS\"},\n{\"IP\",31 ,\"IP\"},\n{\"FLAGS\",32 ,\"FLAGS\"},\n{\"EIP\",33 ,\"EIP\"},\n{\"EFLAGS\",34 ,\"EFLAGS\"},\n{\"TEMP\",40 ,\"TEMP\"},\n{\"TEMPH\",41 ,\"TEMPH\"},\n{\"QUOTE\",42 ,\"QUOTE\"},\n{\"Reserved\",43 ,\"Reserved\"},\n{\"Reserved\",44 ,\"Reserved\"},\n{\"Reserved\",45 ,\"Reserved\"},\n{\"Reserved\",46 ,\"Reserved\"},\n{\"Reserved\",47 ,\"Reserved\"},\n{\"CR0\",80 ,\"CR0\"},\n{\"CR1\",81 ,\"CR1\"},\n{\"CR2\",82 ,\"CR2\"},\n{\"CR3\",83 ,\"CR3\"},\n{\"DR0\",90 ,\"DR0\"},\n{\"DR1\",91 ,\"DR1\"},\n{\"DR2\",92 ,\"DR2\"},\n{\"DR3\",93 ,\"DR3\"},\n{\"DR4\",94 ,\"DR4\"},\n{\"DR5\",95 ,\"DR5\"},\n{\"DR6\",96 ,\"DR6\"},\n{\"DR7\",97 ,\"DR7\"},\n{\"ST(0)\",128 ,\"ST(0)\"},\n{\"ST(2)\",130 ,\"ST(2)\"},\n{\"ST(3)\",131 ,\"ST(3)\"},\n{\"ST(4)\",132 ,\"ST(4)\"},\n{\"ST(5)\",133 ,\"ST(5)\"},\n{\"ST(6)\",134 ,\"ST(6)\"},\n{\"ST(7)\",135 ,\"ST(7)\"},\n{\"CONTROL\",136 ,\"CONTROL\"},\n{\"STATUS\",137 ,\"STATUS\"},\n{\"TAG\",138 ,\"TAG\"},\n{\"FPIP\",139 ,\"FPIP\"},\n{\"FPCS\",140 ,\"FPCS\"},\n{\"FPDO\",141 ,\"FPDO\"},\n{\"FPDS\",142 ,\"FPDS\"},\n{\"ISEM\",143 ,\"ISEM\"},\n{\"FPEIP\",144 ,\"FPEIP\"},\n{\"FPEDO\",145 ,\"FPEDO\"},\n};\n\nSTFLAGSARRAY CObjFileView::COMPILE_LanguageArray[]={\n{\"C\",0 ,\"C\"},\n{\"C++\",1 ,\"C++\"},\n{\"Fortran\",2 ,\"Fortran\"},\n{\"Masm\",3 ,\"Masm\"},\n{\"Pascal\",4 ,\"Pascal\"},\n{\"Basic\",5 ,\"Basic\"},\n{\"Cobol\",6 ,\"Cobol\"},\n};\nSTFLAGSARRAY CObjFileView::COMPILE_machineArray[]={\n{\"Intel 8080\", 0x00 ,\"Intel 8080\"},\n{\"Intel 8086\", 0x01 ,\"Intel 8086\"},\n{\"Intel 80286\", 0x02 ,\"Intel 80286\"},\n{\"Intel 80386\", 0x03 ,\"Intel 80386\"},\n{\"Intel 80486\", 0x04 ,\"Intel 80486\"},\n{\"Intel Pentium\", 0x05 ,\"Intel Pentium\"},\n{\"Intel Pentium Pro\", 0x06 ,\"Intel Pentium Pro\"},\n{\"MIPS R4000\", 0x10 ,\"MIPS R4000\"},\n{\"Reserved for future MIPS processor\", 0x11 ,\"Reserved for future MIPS processor\"},\n{\"Reserved for future MIPS processor\", 0x12 ,\"Reserved for future MIPS processor\"},\n{\"MC68000\", 0x20 ,\"MC68000\"},\n{\"MC68010\", 0x21 ,\"MC68010\"},\n{\"MC68020\", 0x22 ,\"MC68020\"},\n{\"MC68030\", 0x23 ,\"MC68030\"},\n{\"MC68040\", 0x24 ,\"MC68040\"},\n{\"DEC Alpha\", 0x30 ,\"DEC Alpha\"},\n{\"PPC601\", 0x40 ,\"PPC601\"},\n{\"PPC603\", 0x41 ,\"PPC603\"},\n{\"PPC604\", 0x42 ,\"PPC604\"},\n{\"PPC620\", 0x43 ,\"PPC620\"},\n};\nSTFLAGSARRAY CObjFileView::MachineTypeArray[]={\n{\"IMAGE_FILE_MACHINE_UNKNOWN\", 0x0 ,\"Contents assumed to be applicable to any machine type. \"},\n{\"IMAGE_FILE_MACHINE_ALPHA\", 0x184 ,\"Alpha AXP?. \"},\n{\"IMAGE_FILE_MACHINE_ARM\", 0x1c0 ,\"\"},\n{\"IMAGE_FILE_MACHINE_ALPHA64\", 0x284 ,\"Alpha AXP? 64-bit. \"},\n{\"IMAGE_FILE_MACHINE_I386\", 0x14c ,\"Intel 386 or later, and compatible processors. \"},\n{\"IMAGE_FILE_MACHINE_IA64\", 0x200 ,\"Intel IA64? \"},\n{\"IMAGE_FILE_MACHINE_M68K\", 0x268 ,\"Motorola 68000 series. \"},\n{\"IMAGE_FILE_MACHINE_MIPS16\", 0x266 ,\"\"},\n{\"IMAGE_FILE_MACHINE_MIPSFPU\", 0x366 ,\"MIPS with FPU \"},\n{\"IMAGE_FILE_MACHINE_MIPSFPU16\", 0x466 ,\"MIPS16 with FPU \"},\n{\"IMAGE_FILE_MACHINE_POWERPC\", 0x1f0 ,\"Power PC, little endian. \"},\n{\"IMAGE_FILE_MACHINE_R3000\", 0x162 ,\"\"},  \n{\"IMAGE_FILE_MACHINE_R4000\", 0x166 ,\"MIPS? little endian. \"},\n{\"IMAGE_FILE_MACHINE_R10000\", 0x168 ,\"\"},\n{\"IMAGE_FILE_MACHINE_SH3\", 0x1a2 ,\"Hitachi SH3 \"},\n{\"IMAGE_FILE_MACHINE_SH4\", 0x1a6 ,\"Hitachi SH4 \"},\n{\"IMAGE_FILE_MACHINE_THUMB\", 0x1c2,\"\"},\n};\n\nSTFLAGSARRAY CObjFileView::FileHeaderCharacteristicsArray[]={\n{\"IMAGE_FILE_RELOCS_STRIPPED\", 0x0001 ,\"Image only, Windows CE, Windows NT and above. Indicates that the file does not contain base relocations and must therefore be loaded at its preferred base address. If the base address is not available, the loader reports an error. Operating systems running on top of MS-DOS (Win32s?) are generally not able to use the preferred base address and so cannot run these images. However, beginning with version 4.0, Windows will use an application's preferred base address. The default behavior of the linker is to strip base relocations from EXEs. \"},\n{\"IMAGE_FILE_EXECUTABLE_IMAGE\", 0x0002 ,\"Image only. Indicates that the image file is valid and can be run. If this flag is not set, it generally indicates a linker error. \"},\n{\"IMAGE_FILE_LINE_NUMS_STRIPPED\", 0x0004 ,\"COFF line numbers have been removed. \"},\n{\"IMAGE_FILE_LOCAL_SYMS_STRIPPED\", 0x0008 ,\"COFF symbol table entries for local symbols have been removed. \"},\n{\"IMAGE_FILE_AGGRESSIVE_WS_TRIM\", 0x0010 ,\"Aggressively trim working set. \"},\n{\"IMAGE_FILE_LARGE_ADDRESS_AWARE\", 0x0020 ,\"App can handle > 2gb addresses. \"},\n{\"IMAGE_FILE_16BIT_MACHINE\", 0x0040 ,\"Use of this flag is reserved for future use. \"},\n{\"IMAGE_FILE_BYTES_REVERSED_LO\", 0x0080 ,\"Little endian: LSB precedes MSB in memory. \"},\n{\"IMAGE_FILE_32BIT_MACHINE\", 0x0100 ,\"Machine based on 32-bit-word architecture. \"},\n{\"IMAGE_FILE_DEBUG_STRIPPED\", 0x0200 ,\"Debugging information removed from image file. \"},\n{\"IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP\", 0x0400 ,\"If image is on removable media, copy and run from swap file. \"},\n{\"IMAGE_FILE_SYSTEM\", 0x1000 ,\"The image file is a system file, not a user program. \"},\n{\"IMAGE_FILE_DLL\", 0x2000 ,\"The image file is a dynamic-link library (DLL). Such files are considered executable files for almost all purposes, although they cannot be directly run. \"},\n{\"IMAGE_FILE_UP_SYSTEM_ONLY\", 0x4000 ,\"File should be run only on a UP machine. \"},\n{\"IMAGE_FILE_BYTES_REVERSED_HI\", 0x8000 ,\"Big endian: MSB precedes LSB in memory. \"},\n};\nSTFLAGSARRAY CObjFileView::RleFlagsArray[]={\n{\"IMAGE_REL_I386_ABSOLUTE\", 0x0000 ,\"This relocation is ignored. \"},\n{\"IMAGE_REL_I386_DIR16\", 0x0001 ,\"Not supported. \"},\n{\"IMAGE_REL_I386_REL16\", 0x0002 ,\"Not supported. \"},\n{\"IMAGE_REL_I386_DIR32\", 0x0006 ,\"The targets 32-bit virtual address. \"},\n{\"IMAGE_REL_I386_DIR32NB\", 0x0007 ,\"The targets 32-bit relative virtual address. \"},\n{\"IMAGE_REL_I386_SEG12\", 0x0009 ,\"Not supported. \"},\n{\"IMAGE_REL_I386_SECTION\", 0x000A ,\"The 16-bit-section index of the section containing the target. This is used to support debugging information. \"},\n{\"IMAGE_REL_I386_SECREL\", 0x000B ,\"The 32-bit offset of the target from the beginning of its section. This is used to support debugging information as well as static thread local storage. \"},\n{\"IMAGE_REL_I386_REL32\", 0x0014 ,\"The 32-bit relative displacement to the target. This supports the x86 relative branch and call instructions. \"},\n};\nSTFLAGSARRAY CObjFileView::FlagsArray[]={\n{\"IMAGE_SCN_TYPE_REG\", 0x00000000 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_TYPE_DSECT\", 0x00000001 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_TYPE_NOLOAD\", 0x00000002 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_TYPE_GROUP\", 0x00000004 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_TYPE_NO_PAD\", 0x00000008 ,\"Section should not be padded to next boundary. This is obsolete and replaced by IMAGE_SCN_ALIGN_1BYTES. This is valid for object files only. \"},\n{\"IMAGE_SCN_TYPE_COPY\", 0x00000010 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_CNT_CODE\", 0x00000020 ,\"Section contains executable code. \"},\n{\"IMAGE_SCN_CNT_INITIALIZED_DATA\", 0x00000040 ,\"Section contains initialized data. \"},\n{\"IMAGE_SCN_CNT_UNINITIALIZED_DATA\", 0x00000080 ,\"Section contains uninitialized data. \"},\n{\"IMAGE_SCN_LNK_OTHER\", 0x00000100 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_LNK_INFO\", 0x00000200 ,\"Section contains comments or other information. The .drectve section has this type. This is valid for object files only. \"},\n{\"IMAGE_SCN_TYPE_OVER\", 0x00000400 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_LNK_REMOVE\", 0x00000800 ,\"Section will not become part of the image. This is valid for object files only. \"},\n{\"IMAGE_SCN_LNK_COMDAT\", 0x00001000 ,\"Section contains COMDAT data. See Section 5.5.6, COMDAT Sections, for more information. This is valid for object files only. \"},\n{\"IMAGE_SCN_MEM_FARDATA\", 0x00008000 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_MEM_PURGEABLE\", 0x00020000 ,\"Reserved for future use. \"}, \n{\"IMAGE_SCN_MEM_16BIT\", 0x00020000 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_MEM_LOCKED\", 0x00040000 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_MEM_PRELOAD\", 0x00080000 ,\"Reserved for future use. \"},\n{\"IMAGE_SCN_LNK_NRELOC_OVFL\", 0x01000000 ,\"Section contains extended relocations. \"},\n{\"IMAGE_SCN_MEM_DISCARDABLE\", 0x02000000 ,\"Section can be discarded as needed. \"},\n{\"IMAGE_SCN_MEM_NOT_CACHED\", 0x04000000 ,\"Section cannot be cached. \"},\n{\"IMAGE_SCN_MEM_NOT_PAGED\", 0x08000000 ,\"Section is not pageable. \"},\n{\"IMAGE_SCN_MEM_SHARED\", 0x10000000 ,\"Section can be shared in memory. \"},\n{\"IMAGE_SCN_MEM_EXECUTE\", 0x20000000 ,\"Section can be executed as code. \"},\n{\"IMAGE_SCN_MEM_READ\", 0x40000000 ,\"Section can be read. \"},\n{\"IMAGE_SCN_MEM_WRITE\", 0x80000000 ,\"Section can be written to. \"},\n{\"IMAGE_SCN_ALIGN_1BYTES\", 0x00100000 ,\"Align data on a 1-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_2BYTES\", 0x00200000 ,\"Align data on a 2-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_4BYTES\", 0x00300000 ,\"Align data on a 4-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_8BYTES\", 0x00400000 ,\"Align data on a 8-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_16BYTES\", 0x00500000 ,\"Align data on a 16-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_32BYTES\", 0x00600000 ,\"Align data on a 32-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_64BYTES\", 0x00700000 ,\"Align data on a 64-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_128BYTES\", 0x00800000 ,\"Align data on a 128-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_256BYTES\", 0x00900000 ,\"Align data on a 256-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_512BYTES\", 0x00A00000 ,\"Align data on a 512-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_1024BYTES\", 0x00B00000 ,\"Align data on a 1024-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_2048BYTES\", 0x00C00000 ,\"Align data on a 2048-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_4096BYTES\", 0x00D00000 ,\"Align data on a 4096-byte boundary. This is valid for object files only. \"},\n{\"IMAGE_SCN_ALIGN_8192BYTES\", 0x00E00000 ,\"Align data on a 8192-byte boundary. This is valid for object files only. \"},\n\n};\nSTFLAGSARRAY CObjFileView::SymBaseTypeArray[]={\n{\"IMAGE_SYM_TYPE_NULL\", 0 ,\"No type information or unknown base type. Microsoft tools use this setting.  \"},\n{\"IMAGE_SYM_TYPE_VOID\", 1 ,\"No valid type; used with void pointers and functions. \"},\n{\"IMAGE_SYM_TYPE_CHAR\", 2 ,\"Character (signed byte). \"},\n{\"IMAGE_SYM_TYPE_SHORT\", 3 ,\"Two-byte signed integer. \"},\n{\"IMAGE_SYM_TYPE_INT\", 4 ,\"Natural integer type (normally four bytes in Windows NT). \"},\n{\"IMAGE_SYM_TYPE_LONG\", 5 ,\"Four-byte signed integer. \"},\n{\"IMAGE_SYM_TYPE_FLOAT\", 6 ,\"Four-byte floating-point number. \"},\n{\"IMAGE_SYM_TYPE_DOUBLE\", 7 ,\"Eight-byte floating-point number. \"},\n{\"IMAGE_SYM_TYPE_STRUCT\", 8 ,\"Structure. \"},\n{\"IMAGE_SYM_TYPE_UNION\", 9 ,\"Union. \"},\n{\"IMAGE_SYM_TYPE_ENUM\", 10 ,\"Enumerated type. \"},\n{\"IMAGE_SYM_TYPE_MOE\", 11 ,\"Member of enumeration (a specific value). \"},\n{\"IMAGE_SYM_TYPE_BYTE\", 12 ,\"Byte; unsigned one-byte integer. \"},\n{\"IMAGE_SYM_TYPE_WORD\", 13 ,\"Word; unsigned two-byte integer. \"},\n{\"IMAGE_SYM_TYPE_UINT\", 14 ,\"Unsigned integer of natural size (normally, four bytes). \"},\n{\"IMAGE_SYM_TYPE_DWORD\", 15 ,\"Unsigned four-byte integer.\"}, \n};\nSTFLAGSARRAY CObjFileView::SymComplexTypeArray[]={\n{\"IMAGE_SYM_DTYPE_NULL\", 0 ,\"No derived type; the symbol is a simple scalar variable.  \"},\n{\"IMAGE_SYM_DTYPE_POINTER\", 1 ,\"Pointer to base type. \"},\n{\"IMAGE_SYM_DTYPE_FUNCTION\", 2 ,\"Function returning base type. \"},\n{\"IMAGE_SYM_DTYPE_ARRAY\", 3 ,\"Array of base type. \"},\n};\n#if 0\nenum{\nIMAGE_SYM_CLASS_END_OF_FUNCTION= -1,// (0xFF) Special symbol representing end of function, for debugging purposes. \nIMAGE_SYM_CLASS_NULL= 0,// No storage class assigned. \nIMAGE_SYM_CLASS_AUTOMATIC= 1,// Automatic (stack) variable. The Value field specifies stack frame offset. \nIMAGE_SYM_CLASS_EXTERNAL= 2,// Used by Microsoft tools for external symbols. The Value field indicates the size if the section number is IMAGE_SYM_UNDEFINED (0). If the section number is not 0, then the Value field specifies the offset within the section. \nIMAGE_SYM_CLASS_STATIC= 3,// The Value field specifies the offset of the symbol within the section. If the Value is 0, then the symbol represents a section name. \nIMAGE_SYM_CLASS_REGISTER= 4,// Register variable. The Value field specifies register number. \nIMAGE_SYM_CLASS_EXTERNAL_DEF= 5,// Symbol is defined externally. \nIMAGE_SYM_CLASS_LABEL= 6,// Code label defined within the module. The Value field specifies the offset of the symbol within the section. \nIMAGE_SYM_CLASS_UNDEFINED_LABEL= 7,// Reference to a code label not defined. \nIMAGE_SYM_CLASS_MEMBER_OF_STRUCT= 8,// Structure member. The Value field specifies nth member. \nIMAGE_SYM_CLASS_ARGUMENT= 9,// Formal argument (parameter)of a function. The Value field specifies nth argument. \nIMAGE_SYM_CLASS_STRUCT_TAG= 10,// Structure tag-name entry. \nIMAGE_SYM_CLASS_MEMBER_OF_UNION= 11,// Union member. The Value field specifies nth member. \nIMAGE_SYM_CLASS_UNION_TAG= 12,// Union tag-name entry. \nIMAGE_SYM_CLASS_TYPE_DEFINITION= 13,// Typedef entry. \nIMAGE_SYM_CLASS_UNDEFINED_STATIC= 14,// Static data declaration. \nIMAGE_SYM_CLASS_ENUM_TAG= 15,// Enumerated type tagname entry. \nIMAGE_SYM_CLASS_MEMBER_OF_ENUM= 16,// Member of enumeration. Value specifies nth member. \nIMAGE_SYM_CLASS_REGISTER_PARAM= 17,// Register parameter. \nIMAGE_SYM_CLASS_BIT_FIELD= 18,// Bit-field reference. Value specifies nth bit in the bit field. \nIMAGE_SYM_CLASS_BLOCK= 100,// A .bb (beginning of block) or .eb (end of block) record. Value is the relocatable address of the code location. \nIMAGE_SYM_CLASS_FUNCTION= 101,// Used by Microsoft tools for symbol records that define the extent of a function: begin function (named .bf), end function (.ef), and lines in function (.lf). For .lf records, Value gives the number of source lines in the function. For .ef records, Value gives the size of function code. \nIMAGE_SYM_CLASS_END_OF_STRUCT= 102,// End of structure entry. \nIMAGE_SYM_CLASS_FILE= 103,// Used by Microsoft tools, as well as traditional COFF format, for the source-file symbol record. The symbol is followed by auxiliary records that name the file. \nIMAGE_SYM_CLASS_SECTION= 104,// Definition of a section (Microsoft tools use STATIC storage class instead). \nIMAGE_SYM_CLASS_WEAK_EXTERNAL= 105,// Weak external. See Section 5.5.3, Auxiliary Format 3: Weak Externals, for more information. \n};\n#endif\nSTFLAGSARRAY CObjFileView::SymStorageClassArray[]={\n{\"IMAGE_SYM_CLASS_END_OF_FUNCTION\", -1,\" (0xFF) Special symbol representing end of function, for debugging purposes. \"},\n{\"IMAGE_SYM_CLASS_NULL\", 0 ,\"No storage class assigned. \"},\n{\"IMAGE_SYM_CLASS_AUTOMATIC\", 1 ,\"Automatic (stack) variable. The Value field specifies stack frame offset. \"},\n{\"IMAGE_SYM_CLASS_EXTERNAL\", 2 ,\"Used by Microsoft tools for external symbols. The Value field indicates the size if the section number is IMAGE_SYM_UNDEFINED (0). If the section number is not 0, then the Value field specifies the offset within the section. \"},\n{\"IMAGE_SYM_CLASS_STATIC\", 3 ,\"The Value field specifies the offset of the symbol within the section. If the Value is 0, then the symbol represents a section name. \"},\n{\"IMAGE_SYM_CLASS_REGISTER\", 4 ,\"Register variable. The Value field specifies register number. \"},\n{\"IMAGE_SYM_CLASS_EXTERNAL_DEF\", 5 ,\"Symbol is defined externally. \"},\n{\"IMAGE_SYM_CLASS_LABEL\", 6 ,\"Code label defined within the module. The Value field specifies the offset of the symbol within the section. \"},\n{\"IMAGE_SYM_CLASS_UNDEFINED_LABEL\", 7 ,\"Reference to a code label not defined. \"},\n{\"IMAGE_SYM_CLASS_MEMBER_OF_STRUCT\", 8 ,\"Structure member. The Value field specifies nth member. \"},\n{\"IMAGE_SYM_CLASS_ARGUMENT\", 9 ,\"Formal argument (parameter)of a function. The Value field specifies nth argument. \"},\n{\"IMAGE_SYM_CLASS_STRUCT_TAG\", 10 ,\"Structure tag-name entry. \"},\n{\"IMAGE_SYM_CLASS_MEMBER_OF_UNION\", 11 ,\"Union member. The Value field specifies nth member. \"},\n{\"IMAGE_SYM_CLASS_UNION_TAG\", 12 ,\"Union tag-name entry. \"},\n{\"IMAGE_SYM_CLASS_TYPE_DEFINITION\", 13 ,\"Typedef entry. \"},\n{\"IMAGE_SYM_CLASS_UNDEFINED_STATIC\", 14 ,\"Static data declaration. \"},\n{\"IMAGE_SYM_CLASS_ENUM_TAG\", 15 ,\"Enumerated type tagname entry. \"},\n{\"IMAGE_SYM_CLASS_MEMBER_OF_ENUM\", 16 ,\"Member of enumeration. Value specifies nth member. \"},\n{\"IMAGE_SYM_CLASS_REGISTER_PARAM\", 17 ,\"Register parameter. \"},\n{\"IMAGE_SYM_CLASS_BIT_FIELD\", 18 ,\"Bit-field reference. Value specifies nth bit in the bit field. \"},\n{\"IMAGE_SYM_CLASS_BLOCK\", 100 ,\"A .bb (beginning of block) or .eb (end of block) record. Value is the relocatable address of the code location. \"},\n{\"IMAGE_SYM_CLASS_FUNCTION\", 101 ,\"Used by Microsoft tools for symbol records that define the extent of a function: begin function (named .bf), end function (.ef), and lines in function (.lf). For .lf records, Value gives the number of source lines in the function. For .ef records, Value gives the size of function code. \"},\n{\"IMAGE_SYM_CLASS_END_OF_STRUCT\", 102 ,\"End of structure entry. \"},\n{\"IMAGE_SYM_CLASS_FILE\", 103 ,\"Used by Microsoft tools, as well as traditional COFF format, for the source-file symbol record. The symbol is followed by auxiliary records that name the file. \"},\n{\"IMAGE_SYM_CLASS_SECTION\", 104 ,\"Definition of a section (Microsoft tools use STATIC storage class instead). \"},\n{\"IMAGE_SYM_CLASS_WEAK_EXTERNAL\", 105 ,\"Weak external. See Section 5.5.3, Auxiliary Format 3: Weak Externals, for more information. \"},\n};\nWISP_MSG_MAP_BEGIN(CObjFileView)\n//WISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n//WISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList) \n\nWISP_MSG_EVENT_MAP_BEGIN(CObjFileView)\n//WISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_HEX_DISPLAY,OnHexDisplayEvent)\n//WISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_DELETE_WATCH,OnDeleteWatchEvent)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CObjFileView)\n//WISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_HEX_DISPLAY,OnHexDisplayEvent)\n//WISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_DELETE_WATCH,OnDeleteWatchEvent)\nWISP_MSG_CMD_MAP_END\nCObjFileView::CObjFileView()\n{\n}\nCObjFileView::~CObjFileView()\n{\n}\n\nbool CObjFileView::OnCreate(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem,hSubItem,hNextItem,hOldItem;\n\tDWORD Characteristics;\n\tCNoPDBSymbol NoPDBSymbol;\n\tchar NameSymBuf[256];\n\tNoPDBSymbol.Init();\n\t//D:\\Prg\\syser\\Project\\Win32\\Syser\\Debug\n\t//m_ObjFile.Open(\"D:\\\\Prg\\\\syser\\\\Project\\\\Win32\\\\Syser\\\\Debug\\\\addtypeviewerdlg.obj\");\n\n\t//m_ObjFile.Open(\"D:\\\\Prg\\\\syser\\\\Source\\\\Syser\\\\objchk_wxp_x86\\\\i386\\\\addtypeviewerdlg.obj\");\n\t//m_ObjFile.Open(\"D:\\\\temp\\\\Debug\\\\stdafx.obj\");\n\t//m_ObjFile.Open(\"D:\\\\temp\\\\Debug\\\\nnnView.obj\");\n\tm_ObjFile.Open(\"D:\\\\delete\\\\Debug\\\\main.obj\");\n\tInsertColumn(WSTR(\"Name\"),200);\n\tInsertColumn(WSTR(\"Value\"),100);\n\tInsertColumn(WSTR(\"Type\"),100);\n\tInsertColumn(WSTR(\"Offset\"),5);\n\tchar *SectionName;\n\tint i,j,k;\n\tPOBJ_RELOCATION_ITEM pRel;\n\tPOBJ_LINENUMBER pLineNum;\n\tbool FirstSymbolSection=true;\n\tchar* SymbolName;\n\tchar RelName[20];\n//\tWCHAR WName[100];\n\tDWORD Size;\n\t//OBJ_SECTION*m_Section;\n\t//int\tm_SectCount;\n\thItem = InsertItemA(\"FILE_HEADER\");\n\n\thSubItem = InsertItemA(\"Machine\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.Machine,WSTR(\"%08x\"));\n\thSubItem = InsertItemA(\"NumberOfSections\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.NumberOfSections,WSTR(\"%d\"));\n\thSubItem = InsertItemA(\"TimeDateStamp\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.TimeDateStamp,WSTR(\"%08x\"));\n\thSubItem = InsertItemA(\"PointerToSymbolTable\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.PointerToSymbolTable,WSTR(\"%d\"));\n\thSubItem = InsertItemA(\"NumberOfSymbols\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.NumberOfSymbols,WSTR(\"%08x\"));\n\thSubItem = InsertItemA(\"SizeOfOptionalHeader\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.SizeOfOptionalHeader,WSTR(\"%d\"));\n\thSubItem = InsertItemA(\"Characteristics\",hItem);\n\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjHead.Characteristics,WSTR(\"%08x\"));\n\tfor(i = 0; i < sizeof(FileHeaderCharacteristicsArray)/sizeof(FileHeaderCharacteristicsArray[0]);i++)\n\t{\n\t\tif(m_ObjFile.m_ObjHead.Characteristics&FileHeaderCharacteristicsArray[i].FlagsValue)\n\t\t{\n\t\t\thNextItem = InsertItemA(FileHeaderCharacteristicsArray[i].FlagsName,hSubItem);\n\t\t\tSetItemNum(hNextItem,1,FileHeaderCharacteristicsArray[i].FlagsValue,WSTR(\"%08x\"));\n\t\t}\n\t}\n\tfor(i = 0; i < m_ObjFile.m_SectCount; i++)\n\t{\n\t\tSectionName = m_ObjFile.GetSectionName(i);\n\t\tif(SectionName)\n\t\t{\n\t\t\thItem = InsertItemA(SectionName);\n\t\t\thSubItem = InsertItemA(\"VirtualSize\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].Misc.VirtualSize,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"VirtualAddress\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].VirtualAddress,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"SizeOfRawData\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].SizeOfRawData,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"PointerToRawData\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].PointerToRawData,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"PointerToRelocations\",hItem);\n\t\t\t\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].PointerToRelocations,WSTR(\"%08x\"));\n\t\t\tif(m_ObjFile.m_Section[i].PointerToRelocations&&m_ObjFile.m_Section[i].NumberOfRelocations)\n\t\t\t{\n\t\t\t\tSize = sizeof(OBJ_RELOCATION_ITEM)*m_ObjFile.m_Section[i].NumberOfRelocations;\n\t\t\t\tpRel = new OBJ_RELOCATION_ITEM[m_ObjFile.m_Section[i].NumberOfRelocations];\n\t\t\t\tm_ObjFile.ReadFile(m_ObjFile.m_Section[i].PointerToRelocations,pRel,Size);\n\t\t\t\tfor(k = 0; k < m_ObjFile.m_Section[i].NumberOfRelocations;k++)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(RelName,\"Rel[%d]\",k);\n\t\t\t\t\thOldItem = InsertItemA(RelName,hSubItem);\n\t\t\t\t\thNextItem = InsertItemA(\"VirtualAddress\",hOldItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,pRel[k].VirtualAddress);\n\t\t\t\t\thNextItem = InsertItemA(\"SymbolTableIndex\",hOldItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,pRel[k].SymbolTableIndex);\n\t\t\t\t\tSymbolName = m_ObjFile.GetSymbolNameByIndex(pRel[k].SymbolTableIndex);\n\t\t\t\t\tif(SymbolName)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(NoPDBSymbol.m_UnDecorateSymbolName(SymbolName,NameSymBuf,sizeof(NameSymBuf),0))\n\t\t\t\t\t\t\tInsertItemA(NameSymBuf,hNextItem);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tInsertItemA(SymbolName,hNextItem);\n\t\t\t\t\t\tdelete []SymbolName;\n\t\t\t\t\t}\n\t\t\t\t\thNextItem = InsertItemA(\"Type\",hOldItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,pRel[k].Type);\n\t\t\t\t\tfor(int p = 0; p < sizeof(RleFlagsArray)/sizeof(RleFlagsArray[0]);p++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pRel[k].Type==RleFlagsArray[p].FlagsValue)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t//TStrCpy(WName,RleFlagsArray[p].FlagsName);\n\t\t\t\t\t\t\tSetItemTextA(hNextItem,1,RleFlagsArray[p].FlagsName);\n\t\t\t\t\t\t\t//hChildItem = InsertItemA(RleFlagsArray[p].FlagsName,hNextItem);\n\t\t\t\t\t\t\t//SetItemNum(hChildItem,1,RleFlagsArray[p].FlagsValue,WSTR(\"%08x\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\tdelete []pRel;\n\t\t\t}\n\t\t\thSubItem = InsertItemA(\"PointerToLinenumbers\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].PointerToLinenumbers,WSTR(\"%08x\"));\n\t\t\tif(m_ObjFile.m_Section[i].PointerToLinenumbers&&m_ObjFile.m_Section[i].NumberOfLinenumbers)\n\t\t\t{\n\t\t\t\tSize = sizeof(OBJ_LINENUMBER)*m_ObjFile.m_Section[i].NumberOfLinenumbers;\n\t\t\t\tpLineNum = new OBJ_LINENUMBER[m_ObjFile.m_Section[i].NumberOfLinenumbers];\n\t\t\t\tm_ObjFile.ReadFile(m_ObjFile.m_Section[i].PointerToLinenumbers,pLineNum,Size);\n\t\t\t\tfor(k = 0; k < m_ObjFile.m_Section[i].NumberOfLinenumbers;k++)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(RelName,\"Line[%d]\",k);\n\t\t\t\t\thOldItem = InsertItemA(RelName,hSubItem);\n\t\t\t\t\tif(pLineNum[k].Linenumber==0)\n\t\t\t\t\t{\n\t\t\t\t\t\thNextItem = InsertItemA(\"SymbolTableIndex\",hOldItem);\n\t\t\t\t\t\tSymbolName = m_ObjFile.GetSymbolNameByIndex(pLineNum[k].Type.SymbolTableIndex);\n\t\t\t\t\t\tif(SymbolName)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(NoPDBSymbol.m_UnDecorateSymbolName(SymbolName,NameSymBuf,sizeof(NameSymBuf),0))\n\t\t\t\t\t\t\t\tInsertItemA(NameSymBuf,hNextItem);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tInsertItemA(SymbolName,hNextItem);\n\t\t\t\t\t\t\tdelete []SymbolName;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\thNextItem = InsertItemA(\"VirtualAddress\",hOldItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,pLineNum[k].Type.VirtualAddress);\n\t\t\t\t\thNextItem = InsertItemA(\"Linenumber\",hOldItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,pLineNum[k].Linenumber);\n\t\t\t\t}\n\t\t\t\tdelete []pLineNum;\n\t\t\t}\n\t\t\thSubItem = InsertItemA(\"NumberOfRelocations\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].NumberOfRelocations,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"NumberOfLinenumbers\",hItem);\n\t\t\tSetItemNum(hSubItem,1,m_ObjFile.m_Section[i].NumberOfLinenumbers,WSTR(\"%08x\"));\n\t\t\thSubItem = InsertItemA(\"Characteristics\",hItem);\n\t\t\tCharacteristics = m_ObjFile.m_Section[i].Characteristics;\n\t\t\tSetItemNum(hSubItem,1,Characteristics,WSTR(\"%08x\"));\n\t\t\tfor(j = 0; j < 27; j++)\n\t\t\t{\n\t\t\t\tif(Characteristics&FlagsArray[j].FlagsValue)\n\t\t\t\t{\n\t\t\t\t\thNextItem = InsertItemA(FlagsArray[j].FlagsName,hSubItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,FlagsArray[j].FlagsValue,WSTR(\"%08x\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor(j=27;j<sizeof(FlagsArray)/sizeof(FlagsArray[0]);j++)\n\t\t\t{\n\t\t\t\tif((Characteristics&0xf00000)==FlagsArray[j].FlagsValue)\n\t\t\t\t{\n\t\t\t\t\thNextItem = InsertItemA(FlagsArray[j].FlagsName,hSubItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,FlagsArray[j].FlagsValue,WSTR(\"%08x\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(TStrCmp(SectionName,\".debug$S\")==0||TStrCmp(SectionName,\".debug$P\")==0)\n\t\t\t{\n\t\t\t\tAnalyserSymbolSection(hItem,&m_ObjFile.m_Section[i],FirstSymbolSection);\n\t\t\t\tFirstSymbolSection=false;\n\t\t\t}else if(TStrCmp(SectionName,\".debug$T\")==0)\n\t\t\t{\n\t\t\t\tAnalyserTypeSection(hItem,&m_ObjFile.m_Section[i],true);\n\t\t\t}\n\t\t}\n\t}\n\thItem = InsertItemA(\"Symbols\");\n\tWORD symtype;\n\tchar TempChar='\\0';\n\tchar* NameFull;\n\tfor(i=0;(unsigned int)i<m_ObjFile.m_ObjHead.NumberOfSymbols;i++)\n\t{\n\t\tTSPrintf(RelName,\"Sym[%d]\",i);\n\t\thNextItem = InsertItemA(RelName,hItem);\t\t\n\t\tSymbolName = m_ObjFile.GetSymbolNameByIndex(i);\n\t\thSubItem = InsertItemA(\"Name\",hNextItem);\n\t\tif(SymbolName)\n\t\t{\n\t\t\tif(NoPDBSymbol.m_UnDecorateSymbolName(SymbolName,NameSymBuf,sizeof(NameSymBuf),0))\n\t\t\t\tSetItemTextA(hSubItem,1,NameSymBuf);\n\t\t\telse\n\t\t\t\tSetItemTextA(hSubItem,1,SymbolName);\n\t\t\tNameFull=SymbolName;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tNameFull=&TempChar;\n\t\t}\n\t\thSubItem = InsertItemA(\"Value\",hNextItem);\n\t\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjSymAry[i].Value);\n\t\tsymtype = m_ObjFile.m_ObjSymAry[i].Type&0xff;\n\t\tif(symtype<sizeof(SymBaseTypeArray)/sizeof(SymBaseTypeArray[0]))\n\t\t{\n\t\t\tInsertItemA(SymBaseTypeArray[symtype].FlagsName,hNextItem);\n\t\t}\n\t\tsymtype = (m_ObjFile.m_ObjSymAry[i].Type&0xff00)>>8;\n\t\tif(symtype<sizeof(SymComplexTypeArray)/sizeof(SymComplexTypeArray[0]))\n\t\t{\n\t\t\tInsertItemA(SymComplexTypeArray[symtype].FlagsName,hNextItem);\n\t\t}\n\t\thSubItem = InsertItemA(\"SectionNumber\",hNextItem);\t\n\t\tswitch(m_ObjFile.m_ObjSymAry[i].SectionNumber)\n\t\t{\n\t\tcase 0:\n\t\t\tSetItemTextA(hSubItem,1,\"IMAGE_SYM_UNDEFINED\");\n\t\t\tbreak;\n\t\tcase -1:\n\t\t\tSetItemTextA(hSubItem,1,\"IMAGE_SYM_ABSOLUTE\");\n\t\t\tbreak;\n\t\tcase -2:\n\t\t\tSetItemTextA(hSubItem,1,\"IMAGE_SYM_DEBUG\");\n\t\t\tbreak;\n\t\tdefault:\n\t\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjSymAry[i].SectionNumber);\n\t\t}\n\t\tfor(k = 0; k < sizeof(SymStorageClassArray)/sizeof(SymStorageClassArray[0]);k++)\n\t\t{\n\t\t\tif(m_ObjFile.m_ObjSymAry[i].StorageClass==SymStorageClassArray[k].FlagsValue)\n\t\t\t{\n\t\t\t\thSubItem = InsertItemA(\"StorageClass\",hNextItem);\n\t\t\t\tSetItemTextA(hSubItem,1,SymStorageClassArray[k].FlagsName);\n\t\t\t}\n\t\t}\n\t\thSubItem = InsertItemA(\"NumberOfAuxSymbols\",hNextItem);\n\t\tSetItemNum(hSubItem,1,m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols);\n\t\tif(m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].StorageClass==IMAGE_SYM_CLASS_EXTERNAL//IMAGE_SYM_CLASS_EXTERNAL\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].Type==0x20\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].SectionNumber>0)\n\t\t{\n\t\t\tOBJ_IMAGE_AUX_SYMBOL* AuxFuncDefine=(OBJ_IMAGE_AUX_SYMBOL*)&m_ObjFile.m_ObjSymAry[i+1];\n\t\t\thNextItem = InsertItemA(\"Function Definitions\",hNextItem);\n\t\t\thSubItem = InsertItemA(\"TagIndex\",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->Sym.TagIndex);\n\t\t\thSubItem = InsertItemA(\"TotalSize\",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->Sym.Misc.TotalSize);\n\t\t\thSubItem = InsertItemA(\"PointerToLinenumber\",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->Sym.FcnAry.Function.PointerToLinenumber);\n\t\t\thSubItem = InsertItemA(\"PointerToNextFunction\",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->Sym.FcnAry.Function.PointerToNextFunction);\n\t\t\thSubItem = InsertItemA(\"Unused.\",hNextItem);\n\t\t}\n\t\tif(m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].StorageClass==101)\n\t\t{\n\t\t\tOBJ_IMAGE_AUX_SYMBOL* AuxFuncDefine=(OBJ_IMAGE_AUX_SYMBOL*)&m_ObjFile.m_ObjSymAry[i+1];\n\t\t\tif(TStrCmp(NameFull,\".bf\")==0)\n\t\t\t{\n\t\t\t\thNextItem = InsertItemA(\".bf Auxiliary\",hNextItem);\n\t\t\t\thSubItem = InsertItemA(\"Unused\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"Linenumber\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Linenumber,WSTR(\"%d\"));\n\t\t\t\thSubItem = InsertItemA(\"Unused1\",hNextItem);\n\t\t\t\t//SetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"PointerToNextFunction\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.PointerToNextFunction);\n\t\t\t\thSubItem = InsertItemA(\"Unused2\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused2);\n\t\t\t}else if(TStrCmp(NameFull,\".lf\")==0)\n\t\t\t{\n\t\t\t\thNextItem = InsertItemA(\".lf Auxiliary\",hNextItem);\n\t\t\t\thSubItem = InsertItemA(\"Unused\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"Linenumber\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Linenumber,WSTR(\"%d\"));\n\t\t\t\thSubItem = InsertItemA(\"Unused1\",hNextItem);\n\t\t\t\t//SetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"PointerToNextFunction\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.PointerToNextFunction);\n\t\t\t\thSubItem = InsertItemA(\"Unused2\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused2);\n\t\t\t}else if(TStrCmp(NameFull,\".ef\")==0)\n\t\t\t{\n\t\t\t\thNextItem = InsertItemA(\".ef Auxiliary\",hNextItem);\n\t\t\t\thSubItem = InsertItemA(\"Unused\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"Linenumber\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Linenumber,WSTR(\"%d\"));\n\t\t\t\thSubItem = InsertItemA(\"Unused1\",hNextItem);\n\t\t\t\t//SetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused);\n\t\t\t\thSubItem = InsertItemA(\"PointerToNextFunction\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.PointerToNextFunction);\n\t\t\t\thSubItem = InsertItemA(\"Unused2\",hNextItem);\n\t\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->bf.Unused2);\n\t\t\t}\n\t\t}\n\t\tif(m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].StorageClass==IMAGE_SYM_CLASS_FILE)\n\t\t{\n\t\t\tif(TStrCmp(NameFull,\".file\")==0)\n\t\t\t{\n\t\t\t\tOBJ_IMAGE_AUX_SYMBOL* AuxFuncDefine=(OBJ_IMAGE_AUX_SYMBOL*)&m_ObjFile.m_ObjSymAry[i+1];\n\t\t\t\thNextItem = InsertItemA(\".file Auxiliary\",hNextItem);\n\t\t\t\tInsertItemA((const char*)AuxFuncDefine->File.Name,hNextItem);\n\t\t\t}\n\t\t}\n\t\tif(m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].StorageClass==IMAGE_SYM_CLASS_WEAK_EXTERNAL\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].SectionNumber==0\n\t\t\t&&m_ObjFile.m_ObjSymAry[i].Value==0)\n\t\t{\n\t\t\tOBJ_IMAGE_AUX_SYMBOL* AuxFuncDefine=(OBJ_IMAGE_AUX_SYMBOL*)&m_ObjFile.m_ObjSymAry[i+1];\n\t\t\thNextItem = InsertItemA(\"Weak Externals Auxiliary\",hNextItem);\n\t\t\thSubItem = InsertItemA(\"TagIndex\",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->WeakExternals.TagIndex);\n\t\t\thSubItem = InsertItemA(\"Characteristics \",hNextItem);\n\t\t\tSetItemNum(hSubItem,1,AuxFuncDefine->WeakExternals.Characteristics);\n\t\t}\n\t\ti += m_ObjFile.m_ObjSymAry[i].NumberOfAuxSymbols;\n\t\tif(SymbolName)\n\t\t\tdelete []SymbolName;\n\t}\n\tNoPDBSymbol.Release();\n\treturn true;\n}\n\nbool CObjFileView::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_ObjFile.Close();\n\treturn true;\n}\nbool CObjFileView::AnalyserSymbolSection(HANDLE hItem,OBJ_SECTION* ObjSection,bool FirstSymbolSection)\n{\n\tchar NameBuf[256];\n\tint i;\n\tBYTE *pStart;\n\tchar BufName[20];\n\tSYMRECORD* SymRecord;\n\tDWORD Index = 0;\n\tHANDLE hNextItem,hSubItem,hRootItem;\n\tDWORD Counter=0;\n\tif(FirstSymbolSection)\n\t\tCounter=4;\n\tpStart = &m_ObjFile.m_FileBody[ObjSection->PointerToRawData+Counter];\n\tSymRecord = (SYMRECORD*)pStart;\n\twhile(Counter<ObjSection->SizeOfRawData)\n\t{\n\t\tTSPrintf(BufName,\"Sym[%d]\",Index);\n\t\thRootItem = hSubItem = InsertItemA(BufName,hItem);\n\t\thNextItem = InsertItemA(\"Size\",hSubItem);\n\t\tSetItemNum(hNextItem,1,SymRecord->Length);\n\t\thNextItem = InsertItemA(\"Type\",hSubItem);\n\t\tSetItemNum(hNextItem,1,SymRecord->u1.Type);\n\t\tswitch(SymRecord->u1.Type)\n\t\t{\n\t\tcase SYM_S_COMPILE:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_COMPILE\");\n\t\t\t\thNextItem = InsertItemA(\"Machine\",hSubItem);\n\t\t\t\tfor(i =0;i < sizeof(COMPILE_machineArray)/sizeof(COMPILE_machineArray[0]);i++)\n\t\t\t\t{\n\t\t\t\t\tif(SymRecord->u.S_COMPILE.Machine==COMPILE_machineArray[i].FlagsValue)\n\t\t\t\t\t\tSetItemTextA(hNextItem,1,COMPILE_machineArray[i].FlagsName);\n\t\t\t\t}\n\t\t\t\thNextItem = InsertItemA(\"Language\",hSubItem);\n\t\t\t\tbool bFind=false;\n\t\t\t\tfor(i = 0;i<sizeof(COMPILE_LanguageArray)/sizeof(COMPILE_LanguageArray[0]);i++)\n\t\t\t\t{\n\t\t\t\t\tif(SymRecord->u.S_COMPILE.flags[0]==COMPILE_LanguageArray[i].FlagsValue)\n\t\t\t\t\t{\n\t\t\t\t\t\tbFind=true;\n\t\t\t\t\t\tSetItemTextA(hNextItem,1,COMPILE_LanguageArray[i].FlagsName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tWORD TempFlags=*(WORD*)&SymRecord->u.S_COMPILE.flags[1];\n\t\t\t\thNextItem = InsertItemA(\"PCodePresent\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TempFlags&1);\n\t\t\t\thNextItem = InsertItemA(\"FloatPrecision\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,(TempFlags>>1)&3);\n\t\t\t\thNextItem = InsertItemA(\"FloatPackage\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,(TempFlags>>3)&3);\n\t\t\t\thNextItem = InsertItemA(\"AmbientData\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,(TempFlags>>5)&7);\n\t\t\t\thNextItem = InsertItemA(\"AmbientCode\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,(TempFlags>>8)&7);\n\t\t\t\thNextItem = InsertItemA(\"Mode32\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,(TempFlags>>11)&1);\n\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_COMPILE.version[1],SymRecord->u.S_COMPILE.version[0]+1);\n\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SYM_S_REGISTER:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_REGISTER\");\n\t\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_REGISTER.TypeIndex);\n\t\t\t\tfor(i = 0;i < sizeof(X86X87RegisterArray)/sizeof(X86X87RegisterArray[0]);i++)\n\t\t\t\t{\n\t\t\t\t\tif(SymRecord->u.S_REGISTER.Register==X86X87RegisterArray[i].FlagsValue)\n\t\t\t\t\t{\n\t\t\t\t\t\thNextItem = InsertItemA(\"Register\",hSubItem);\n\t\t\t\t\t\tSetItemTextA(hNextItem,1,X86X87RegisterArray[i].FlagsName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_REGISTER.Name[1],SymRecord->u.S_REGISTER.Name[0]+1);\n\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SYM_S_BPREL32:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_BPREL32\");\n\t\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_BPREL32.TypeIndex);\n\t\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_BPREL32.Offset);\n\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_BPREL32.Name[1],SymRecord->u.S_BPREL32.Name[0]+1);\n\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t}\t\t\t\n\t\t\tbreak;\n\t\tcase SYM_S_LPROC32:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_LPROC32\");\n\t\t\t\thNextItem = InsertItemA(\"pParent\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pParent);\n\t\t\t\thNextItem = InsertItemA(\"pEnd\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pEnd);\n\t\t\t\thNextItem = InsertItemA(\"pNext\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pNext);\n\t\t\t\thNextItem = InsertItemA(\"ProcLength\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.ProcLength);\n\t\t\t\thNextItem = InsertItemA(\"DebugStart\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.DebugStart);\n\t\t\t\thNextItem = InsertItemA(\"DebugEnd\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.DebugEnd);\n\t\t\t\thNextItem = InsertItemA(\"ProcType\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.ProcType);\n\t\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Offset);\n\t\t\t\thNextItem = InsertItemA(\"Segment\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Segment);\n\t\t\t\thNextItem = InsertItemA(\"Flags\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Flags);\n\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_GPROC32.Name[1],SymRecord->u.S_GPROC32.Name[0]+1);\n\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SYM_S_GPROC32:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_GPROC32\");\n\t\t\t\thNextItem = InsertItemA(\"pParent\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pParent);\n\t\t\t\thNextItem = InsertItemA(\"pEnd\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pEnd);\n\t\t\t\thNextItem = InsertItemA(\"pNext\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.pNext);\n\t\t\t\thNextItem = InsertItemA(\"ProcLength\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.ProcLength);\n\t\t\t\thNextItem = InsertItemA(\"DebugStart\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.DebugStart);\n\t\t\t\thNextItem = InsertItemA(\"DebugEnd\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.DebugEnd);\n\t\t\t\thNextItem = InsertItemA(\"ProcType\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.ProcType);\n\t\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Offset);\n\t\t\t\thNextItem = InsertItemA(\"Segment\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Segment);\n\t\t\t\thNextItem = InsertItemA(\"Flags\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_GPROC32.Flags);\n\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_GPROC32.Name[1],SymRecord->u.S_GPROC32.Name[0]+1);\n\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SYM_S_GDATA32:\n\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_GDATA32\");\n\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.TypeIndex);\n\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.Offset);\n\t\t\thNextItem = InsertItemA(\"Segment\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.Segment);\n\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_LDATA32.Name[1],SymRecord->u.S_LDATA32.Name[0]+1);\n\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\tbreak;\n\t\tcase SYM_S_LDATA32:\n\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_LDATA32\");\n\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.TypeIndex);\n\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.Offset);\n\t\t\thNextItem = InsertItemA(\"Segment\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LDATA32.Segment);\n\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_LDATA32.Name[1],SymRecord->u.S_LDATA32.Name[0]+1);\n\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\tbreak;\n\t\tcase SYM_S_LABEL32:\n\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_LABEL32\");\n\t\t\thNextItem = InsertItemA(\"Offset\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LABEL32.Offset);\n\t\t\thNextItem = InsertItemA(\"Segment\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LABEL32.Segment);\n\t\t\thNextItem = InsertItemA(\"Flags\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_LABEL32.Flags);\n\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_LABEL32.Name[1],SymRecord->u.S_LABEL32.Name[0]+1);\n\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\tbreak;\n\t\tcase SYM_S_UDT:\n\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_UDT\");\n\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_UDT.TypeIndex);\n\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_UDT.Name[1],SymRecord->u.S_UDT.Name[0]+1);\n\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\tbreak;\n\t\tcase SYM_S_CONSTANT:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"SYM_S_CONSTANT\");\n\t\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_CONSTANT.TypeIndex);\n\t\t\t\tif(SymRecord->u.S_CONSTANT.Value<0x8000)\n\t\t\t\t{\n\t\t\t\t\thNextItem = InsertItemA(\"Value\",hSubItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,SymRecord->u.S_CONSTANT.Value);\n\t\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_CONSTANT.Name[1],SymRecord->u.S_CONSTANT.Name[0]+1);\n\t\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\thNextItem = InsertItemA(\"Value\",hSubItem);\n\t\t\t\t\tint NameOffset=0;\n\t\t\t\t\tswitch(SymRecord->u.S_CONSTANT.Value)\n\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\tcase LF_CHAR\t\t:\n\t\t\t\t\t\tNameOffset=1;SetItemNum(hNextItem,1,SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_SHORT\t\t:\n\t\t\t\t\t\tNameOffset=2;SetItemNum(hNextItem,1,*(short*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_USHORT\t\t:\n\t\t\t\t\t\tNameOffset=2;SetItemNum(hNextItem,1,*(unsigned short*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_LONG\t\t:\n\t\t\t\t\t\tNameOffset=4;SetItemNum(hNextItem,1,*(long*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_ULONG\t\t:\n\t\t\t\t\t\tNameOffset=4;SetItemNum(hNextItem,1,*(unsigned long*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_REAL32\t\t:\n\t\t\t\t\t\tNameOffset=4;break;\n\t\t\t\t\tcase LF_REAL64\t\t:\n\t\t\t\t\t\tNameOffset=8;break;\n\t\t\t\t\tcase LF_REAL80\t\t:\n\t\t\t\t\t\tNameOffset=10;break;\n\t\t\t\t\tcase LF_REAL128\t\t:\n\t\t\t\t\t\tNameOffset=16;break;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase LF_QUADWORD\t:\n\t\t\t\t\t\tNameOffset=8;SetItemNum(hNextItem,1,*(UINT*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_UQUADWORD\t:\n\t\t\t\t\t\tNameOffset=8;SetItemNum(hNextItem,1,*(UINT*)&SymRecord->u.S_CONSTANT.Name[0]);break;\n\t\t\t\t\tcase LF_REAL48\t\t:\n\t\t\t\t\t\tNameOffset=16;break;\n\t\t\t\t\tcase LF_COMPLEX32\t:\n\t\t\t\t\t\tNameOffset=8;break;\n\t\t\t\t\tcase LF_COMPLEX64\t:\n\t\t\t\t\t\tNameOffset=16;break;\n\t\t\t\t\tcase LF_COMPLEX80\t:\n\t\t\t\t\t\tNameOffset=20;break;\n\t\t\t\t\tcase LF_COMPLEX128\t:\n\t\t\t\t\t\tNameOffset=32;break;\n\t\t\t\t\tcase LF_VARSTRING\t:\n\t\t\t\t\t\tNameOffset = *(unsigned short*)&SymRecord->u.S_CONSTANT.Name[0]+2;break;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tTStrCpyLimit(NameBuf,&SymRecord->u.S_CONSTANT.Name[NameOffset+1],SymRecord->u.S_CONSTANT.Name[NameOffset]+1);\n\t\t\t\t\thNextItem = InsertItemA(\"SymName\",hSubItem);\n\t\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tCounter+=2;\n\t\tCounter+=SymRecord->Length;\n\t\tSymRecord=(SYMRECORD*)&SymRecord->u1.Start[SymRecord->Length];\n\t\tIndex++;\n\t}\n\treturn true;\n}\nbool CObjFileView::AnalyserTypeSection(HANDLE hItem,OBJ_SECTION* ObjSection,bool FirstTypeSection)\n{\n\tchar NameBuf[256];\n//\tint j;\n\tBYTE *pStart;\n\tchar BufName[20];\n\tTYPERECORD* TypeRecord;\n\tDWORD Index = 0x1000;\n\tHANDLE hNextItem,hSubItem,hRootItem;\n\tDWORD Counter=0;\n\tif(FirstTypeSection)\n\t\tCounter=4;\n\tpStart = &m_ObjFile.m_FileBody[ObjSection->PointerToRawData+Counter];\n\tTypeRecord = (TYPERECORD*)pStart;\n\twhile(Counter<ObjSection->SizeOfRawData)\n\t{\n\t\tTSPrintf(BufName,\"Type[%x]\",Index);\n\t\thRootItem = hSubItem = InsertItemA(BufName,hItem);\n\t\thNextItem = InsertItemA(\"Size\",hSubItem);\n\t\tSetItemNum(hNextItem,1,TypeRecord->Length);\n\t\thNextItem = InsertItemA(\"Type\",hSubItem);\n\t\tSetItemNum(hNextItem,1,TypeRecord->u1.Type);\n\t\tswitch(TypeRecord->u1.Type)\n\t\t{\n\t\tcase LF_CLASS:\n\t\t\t{\n\t\t\t\tint NameOffset=0;\n\t\t\t\tSetItemTextA(hRootItem,1,\"LF_CLASS\");\n\t\t\t\thNextItem = InsertItemA(\"Count\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.Count);\n\t\t\t\thNextItem = InsertItemA(\"property\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.property);\n\t\t\t\thNextItem = InsertItemA(\"@field\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.field);\n\t\t\t\thNextItem = InsertItemA(\"@dList\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.dList);\n\t\t\t\thNextItem = InsertItemA(\"@vshape\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.vshape);\n\t\t\t\tif(TypeRecord->u.LF_CLASS.u.Length.Number<0x8000)\n\t\t\t\t{\n\t\t\t\t\thNextItem = InsertItemA(\"length\",hSubItem);\n\t\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_CLASS.u.Length.Number);\n\t\t\t\t\tNameOffset=2;\n\t\t\t\t\tTStrCpyLimit(NameBuf,&TypeRecord->u.LF_CLASS.u.Name[NameOffset+1],TypeRecord->u.LF_CLASS.u.Name[NameOffset]+1);\n\t\t\t\t\thNextItem = InsertItemA(\"TypeName\",hSubItem);\n\t\t\t\t\tSetItemTextA(hNextItem,1,NameBuf);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\tcase LF_STRUCTURE:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_STRUCTURE\");\n\t\t\tbreak;\n\t\tcase LF_UNION:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_UNION\");\n\t\t\tbreak;\n\t\tcase LF_ENUMERATE:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_ENUMERATE\");\n\t\t\tbreak;\n\t\tcase LF_ARRAY:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_ARRAY\");\n\t\t\tbreak;\n\t\tcase LF_ARGLIST:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_ARGLIST\");\n\t\t\tbreak;\n\t\tcase LF_FIELDLIST:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_FIELDLIST\");\n\t\t\tbreak;\n\t\tcase LF_LABEL:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_LABEL\");\n\t\t\tbreak;\n\t\tcase LF_PRECOMP:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_PRECOMP\");\n\t\t\tbreak;\n\t\tcase LF_MEMBERMODIFY:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_MEMBERMODIFY\");\n\t\t\tbreak;\n\t\tcase LF_POINTER:\n\t\t\t{\n\t\t\t\tSetItemTextA(hRootItem,1,\"LF_POINTER\");\n\t\t\t\thNextItem = InsertItemA(\"TypeIndex\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.TypeIndex);\n\t\t\t\thNextItem = InsertItemA(\"ptrtype\",hSubItem);\n\t\t\t\tswitch(TypeRecord->u.LF_POINTER.ptrtype)\n\t\t\t\t{\n\t\t\t\tcase 0:\tSetItemTextA(hNextItem,1,\"Near\");break;\n\t\t\t\tcase 1:SetItemTextA(hNextItem,1,\"Far\");break;\n\t\t\t\tcase 2:SetItemTextA(hNextItem,1,\"Huge\");break;\n\t\t\t\tcase 3:SetItemTextA(hNextItem,1,\"Based on segment\");break;\n\t\t\t\tcase 4:SetItemTextA(hNextItem,1,\"Based on value\");break;\n\t\t\t\tcase 5:SetItemTextA(hNextItem,1,\"Based on segment of value\");break;\n\t\t\t\tcase 6:SetItemTextA(hNextItem,1,\"Based on address of symbol\");break;\n\t\t\t\tcase 7:SetItemTextA(hNextItem,1,\"Based on segment of symbol address\");break;\n\t\t\t\tcase 8:SetItemTextA(hNextItem,1,\"Based on type\");break;\n\t\t\t\tcase 9:SetItemTextA(hNextItem,1,\"Based on self\");break;\n\t\t\t\tcase 10:SetItemTextA(hNextItem,1,\"Near 32 bit pointer\");break;\n\t\t\t\tcase 11:SetItemTextA(hNextItem,1,\"Far 32 bit pointer\");break;\n\t\t\t\tcase 12:SetItemTextA(hNextItem,1,\"64 bit pointer\");break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(TypeRecord->u.LF_POINTER.ptrtype>=13&&TypeRecord->u.LF_POINTER.ptrtype<=31)\n\t\t\t\t\t\tSetItemTextA(hNextItem,1,\"Reserved\");\n\t\t\t\t}\n\t\t\t\thNextItem = InsertItemA(\"ptrmode\",hSubItem);\n\t\t\t\tswitch(TypeRecord->u.LF_POINTER.ptrmode)\n\t\t\t\t{\n\t\t\t\tcase 0:\tSetItemTextA(hNextItem,1,\"Pointer\");break;\n\t\t\t\tcase 1:SetItemTextA(hNextItem,1,\"Reference\");break;\n\t\t\t\tcase 2:SetItemTextA(hNextItem,1,\"Pointer to data member\");break;\n\t\t\t\tcase 3:SetItemTextA(hNextItem,1,\"Pointer to method\");break;\n\t\t\t\tdefault:\n\t\t\t\t\tif(TypeRecord->u.LF_POINTER.ptrmode>=4&&TypeRecord->u.LF_POINTER.ptrmode<=7)\n\t\t\t\t\t\tSetItemTextA(hNextItem,1,\"Reserved\");\n\t\t\t\t}\n\t\t\t\thNextItem = InsertItemA(\"isflat32\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.isflat32);\n\t\t\t\thNextItem = InsertItemA(\"volatile\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.volatileType);\n\t\t\t\thNextItem = InsertItemA(\"const\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.constType);\n\t\t\t\thNextItem = InsertItemA(\"unaligned \",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.unaligned);\n\t\t\t\thNextItem = InsertItemA(\"restrict\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.restrict);\n\t\t\t\thNextItem = InsertItemA(\"unused\",hSubItem);\n\t\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_POINTER.unused);\n\t\t\t}\n\t\t\t\n\t\t\tbreak;\n\t\tcase LF_PROCEDURE:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_PROCEDURE\");\n\t\t\tbreak;\n\t\tcase LF_MFUNCTION:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_MFUNCTION\");\n\t\t\thNextItem = InsertItemA(\"Rvtype\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Rvtype);\n\t\t\thNextItem = InsertItemA(\"Class\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Class);\n\t\t\thNextItem = InsertItemA(\"This\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.This);\n\t\t\thNextItem = InsertItemA(\"Call\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Call);\n\t\t\thNextItem = InsertItemA(\"Res\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Res);\n\t\t\thNextItem = InsertItemA(\"Parms\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Parms);\n\t\t\thNextItem = InsertItemA(\"Arglist\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Arglist);\n\t\t\thNextItem = InsertItemA(\"Thisadjust\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MFUNCTION.Thisadjust);\n\t\t\tbreak;\n\t\tcase LF_VTSHAPE:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_VTSHAPE\");\n\t\t\tbreak;\n\t\tcase LF_MODIFIER:\n\t\t\tSetItemTextA(hRootItem,1,\"LF_MODIFIER\");\n\t\t\thNextItem = InsertItemA(\"Index\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MODIFIER.TypeIndex);\n\t\t\thNextItem = InsertItemA(\"Attribute\",hSubItem);\n\t\t\tSetItemNum(hNextItem,1,TypeRecord->u.LF_MODIFIER.Attribute);\n\t\t\tbreak;\n\t\t}\n\t\tCounter+=2;\n\t\tCounter+=TypeRecord->Length;\n\t\tTypeRecord=(TYPERECORD*)&TypeRecord->u1.Start[TypeRecord->Length];\n\t\tIndex++;\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/ObjFileView.h",
    "content": "#ifndef _OBJFILEVIEW_H_\n#define _OBJFILEVIEW_H_\ntypedef struct _STFLAGSARRAY\n{\n\tchar* FlagsName;\n\tDWORD FlagsValue;\n\tchar* Description;\n}STFLAGSARRAY;\nenum{\n\t\n\tLF_MODIFIER\t\t=0x1001,\n\tLF_POINTER\t\t=0x1002,\n\tLF_ARRAY\t\t=0x1003,\n\tLF_CLASS\t\t=0x1004,\n\tLF_STRUCTURE\t=0x1005,\n\tLF_UNION\t\t=0x1006,\n\tLF_ENUM\t\t\t=0x1007,\n\tLF_PROCEDURE\t=0x1008,\n\tLF_MFUNCTION\t=0x1009,\n\tLF_VTSHAPE\t\t=0x000a,\n\tLF_COBOL0\t\t=0x100a,\n\tLF_COBOL1\t\t=0x000c,\n\tLF_BARRAY\t\t=0x100b,\n\tLF_LABEL\t\t=0x000e,\n\tLF_NULL\t\t\t=0x000f,\n\tLF_NOTTRAN\t\t=0x0010,\n\tLF_DIMARRAY\t\t=0x100c,\n\tLF_VFTPATH\t\t=0x100d,\n\tLF_PRECOMP\t\t=0x100e,\n\tLF_ENDPRECOMP\t=0x0014,\n\tLF_OEM\t\t\t=0x100f,\n\tLF_TYPESERVER\t=0x0016,\n\tLF_SKIP\t\t\t=0x1200,\n\tLF_ARGLIST\t\t=0x1201,\n\tLF_DEFARG\t\t=0x1202,\n\tLF_FIELDLIST\t=0x1203,\n\tLF_DERIVED\t\t=0x1204,\n\tLF_BITFIELD\t\t=0x1205,\n\tLF_METHODLIST\t=0x1206,\n\tLF_DIMCONU\t\t=0x1207,\n\tLF_DIMCONLU\t\t=0x1208,\n\tLF_DIMVARU\t\t=0x1209,\n\tLF_DIMVARLU\t\t=0x120a,\n\tLF_REFSYM\t\t=0x120c,\n\tLF_BCLASS\t\t=0x1400,\n\tLF_VBCLASS\t\t=0x1401,\n\tLF_IVBCLASS\t\t=0x1402,\n\tLF_ENUMERATE\t=0x0403,\n\tLF_FRIENDFCN\t=0x1403,\n\tLF_INDEX\t\t=0x1404,\n\tLF_MEMBER\t\t=0x1405,\n\tLF_STMEMBER\t\t=0x1406,\n\tLF_METHOD\t\t=0x1407,\n\tLF_NESTTYPE\t\t=0x1408,\n\tLF_VFUNCTAB\t\t=0x1409,\n\tLF_FRIENDCLS\t=0x140a,\n\tLF_ONEMETHOD\t=0x140b,\n\tLF_VFUNCOFF\t\t=0x140c,\n\tLF_NESTTYPEEX\t=0x140d,\n\tLF_MEMBERMODIFY\t=0x140e,\n\t\t\n\tLF_CHAR\t\t\t=0x8000,\n\tLF_SHORT\t\t=0x8001,\n\tLF_USHORT\t\t=0x8002,\n\tLF_LONG\t\t\t=0x8003,\n\tLF_ULONG\t\t=0x8004,\n\tLF_REAL32\t\t=0x8005,\n\tLF_REAL64\t\t=0x8006,\n\tLF_REAL80\t\t=0x8007,\n\tLF_REAL128\t\t=0x8008,\n\tLF_QUADWORD\t\t=0x8009,\n\tLF_UQUADWORD\t=0x800a,\n\tLF_REAL48\t\t=0x800b,\n\tLF_COMPLEX32\t=0x800c,\n\tLF_COMPLEX64\t=0x800d,\n\tLF_COMPLEX80\t=0x800e,\n\tLF_COMPLEX128\t=0x800f,\n\tLF_VARSTRING\t=0x8010,\n\tLF_PAD0=0xf0,\n\tLF_PAD1=0xf1,\n\tLF_PAD2=0xf2,\n\tLF_PAD3=0xf3,\n\tLF_PAD4=0xf4,\n\tLF_PAD5=0xf5,\n\tLF_PAD6=0xf6,\n\tLF_PAD7=0xf7,\n\tLF_PAD8=0xf8,\n\tLF_PAD9=0xf9,\n\tLF_PADA=0xfa,\n\tLF_PADB=0xfb,\n\tLF_PADC=0xfc,\n\tLF_PADD=0xfd,\n\tLF_PADE=0xfe,\n\tLF_PADF=0xff,\n};\nenum\n{\n\tSYM_S_COMPILE=0x1,\n\tSYM_S_REGISTER=0x1001,\n\tSYM_S_BPREL32=0x1006,\n\tSYM_S_LPROC32=0x100a,\n\tSYM_S_GPROC32=0x100b,\n\tSYM_S_LDATA32=0x1007,\n\tSYM_S_GDATA32=0x1008,\n\tSYM_S_LABEL32=0x209,\n\tSYM_S_UDT=0x1003,\n\tSYM_S_CONSTANT=0x1002,\n};\nenum\n{\n\tTYPE_S_COMPILE=0x1,\n\tTYPE_S_REGISTER=0x1001,\n\tTYPE_S_BPREL32=0x1006,\n\tTYPE_S_LPROC32=0x100a,\n\tTYPE_S_GPROC32=0x100b,\n\tTYPE_S_LDATA32=0x1007,\n\tTYPE_S_GDATA32=0x1008,\n\tTYPE_S_LABEL32=0x209,\n\tTYPE_S_UDT=0x1003,\n\tTYPE_S_CONSTANT=0x1002,\n};\n#include <pshpack1.h>\ntypedef struct _SymRecord{\n\tWORD Length;\n\tunion{\n\t\tWORD Type;\n\t\tBYTE Start[2];\n\t}u1;\n\t\n\tunion{\n\t\tstruct {\n\t\t\tBYTE Machine;\n\t\t\tBYTE flags[3];\n\t\t\tBYTE version[1];\n\t\t}S_COMPILE;\n\t\tstruct {\n\t\t\tDWORD SymOff;\n\t\t\tWORD Segment;\n\t\t}S_SSEARCH ;\n\t\tstruct {\n\t\t\t\n\t\t}S_END ;\n\t\tstruct {\n\t\t\tBYTE SkipData[1];\n\t\t}S_SKIP ;\n\t\tstruct {\n\n\t\t}S_CVRESERVE;\n\t\tstruct {\n\t\t\tDWORD Signature;\n\t\t\tBYTE Name[1];\n\t\t}S_OBJNAME;\n\t\tstruct {\n\n\t\t}S_ENDARG;\n\t\tstruct {\n\n\t\t}S_COBOLUDT;\n\t\tstruct {\n\n\t\t}S_MANYREG;\n\t\tstruct {\n\n\t\t}S_RETURN ;\n\t\tstruct {\n\n\t\t}S_ENTRYTHIS ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tWORD Register;\n\t\t\tBYTE Name[1];\n\t\t}S_REGISTER ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tWORD Value;\n\t\t\tBYTE Name[1];\n\t\t}S_CONSTANT ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tBYTE Name[1];\n\t\t}S_UDT;\n\t\tstruct {\n\n\t\t}S_COBOLUDT1 ;\n\t\tstruct {\n\n\t\t}S_MANYREG1 ;\n\t\tstruct {\n\t\t\tint Offset;\n\t\t\tDWORD TypeIndex;\n\t\t\tBYTE Name[1];\n\t\t}S_BPREL32 ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Name[1];\n\t\t}S_LDATA32 ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Name[1];\n\t\t}S_GDATA32 ;\n\t\tstruct {\n\n\t\t}S_PUB32 ;\n\t\tstruct {\n\t\t\tDWORD pParent;\n\t\t\tDWORD pEnd;\n\t\t\tDWORD pNext;\n\t\t\tDWORD ProcLength;\n\t\t\tDWORD DebugStart;\n\t\t\tDWORD DebugEnd;\n\t\t\tDWORD ProcType;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_LPROC32 ;\n\t\tstruct {\n\t\t\tDWORD pParent;\n\t\t\tDWORD pEnd;\n\t\t\tDWORD pNext;\n\t\t\tDWORD ProcLength;\n\t\t\tDWORD DebugStart;\n\t\t\tDWORD DebugEnd;\n\t\t\tDWORD ProcType;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_GPROC32 ;\n\t\tstruct {\n\n\t\t}S_THUNK32 ;\n\t\tstruct {\n\n\t\t}S_BLOCK32 ;\n\t\tstruct {\n\n\t\t}S_WITH32 ;\n\t\tstruct {\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_LABEL32 ;\n\t\tstruct {\n\n\t\t}S_CEXMODEL32 ;\n\t\tstruct {\n\n\t\t}S_VFTTABLE32 ;\n\t\tstruct {\n\n\t\t}S_REGREL32 ;\n\t\tstruct {\n\n\t\t}S_LTHREAD32 ;\n\t\tstruct {\n\n\t\t}S_GTHREAD32 ;\n\t\tstruct {\n\n\t\t}S_LPROCMIPS ;\n\t\tstruct {\n\n\t\t}S_GPROCMIPS ;\n\t\tstruct {\n\n\t\t}S_PROCREF ;\n\t\tstruct {\n\n\t\t}S_DATAREF ;\n\t\tstruct {\n\n\t\t}S_ALIGN ;\n\t}u;\n}SYMRECORD;\ntypedef union _LeafNumbers\n{\n\tWORD NumbersType;\n\tWORD Number;\n\tBYTE Value[1];\n}LeafNumbers;\n\ntypedef struct _TypeRecord{\n\tWORD Length;\n\tunion{\n\t\tWORD Type;\n\t\tBYTE Start[2];\n\t}u1;\n\n\tunion{\n\t\tstruct {\n\t\t\tWORD Count;\n\t\t\tWORD property;\n\t\t\tDWORD field;\n\t\t\tDWORD dList;\n\t\t\tDWORD vshape;\n\t\t\tunion{\n\t\t\t\tLeafNumbers Length;\n\t\t\t\tBYTE Name[1];\n\t\t\t}u;\n\t\t}LF_CLASS;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tWORD Attribute;\n\t\t}LF_MODIFIER ;\n\t\tstruct {\n\t\tDWORD\tRvtype;\n\t\tDWORD\tClass;\n\t\tDWORD\tThis;\n\t\tBYTE\tCall;\n\t\tBYTE\tRes;\n\t\tWORD Parms;\n\t\tDWORD Arglist;\n\t\tDWORD Thisadjust;\n\t\t}LF_MFUNCTION ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tunion{\n\t\t\tDWORD Attribute;\n\t\t\tDWORD ptrtype:5;\n\t\t\tDWORD ptrmode:3;\n\t\t\tDWORD isflat32:1;\n\t\t\tDWORD volatileType:1;\n\t\t\tDWORD constType:1;\n\t\t\tDWORD unaligned:1;\n\t\t\tDWORD restrict:1;\n\t\t\tDWORD unused:19;\n\t\t\t};\n\t\t\tBYTE variant[1];\n\t\t}LF_POINTER ;\n\t\tstruct {\n\n\t\t}S_CVRESERVE;\n\t\tstruct {\n\t\t\tDWORD Signature;\n\t\t\tBYTE Name[1];\n\t\t}S_OBJNAME;\n\t\tstruct {\n\n\t\t}S_ENDARG;\n\t\tstruct {\n\n\t\t}S_COBOLUDT;\n\t\tstruct {\n\n\t\t}S_MANYREG;\n\t\tstruct {\n\n\t\t}S_RETURN ;\n\t\tstruct {\n\n\t\t}S_ENTRYTHIS ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tWORD Register;\n\t\t\tBYTE Name[1];\n\t\t}S_REGISTER ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tWORD Value;\n\t\t\tBYTE Name[1];\n\t\t}S_CONSTANT ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tBYTE Name[1];\n\t\t}S_UDT;\n\t\tstruct {\n\n\t\t}S_COBOLUDT1 ;\n\t\tstruct {\n\n\t\t}S_MANYREG1 ;\n\t\tstruct {\n\t\t\tint Offset;\n\t\t\tDWORD TypeIndex;\n\t\t\tBYTE Name[1];\n\t\t}S_BPREL32 ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Name[1];\n\t\t}S_LDATA32 ;\n\t\tstruct {\n\t\t\tDWORD TypeIndex;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Name[1];\n\t\t}S_GDATA32 ;\n\t\tstruct {\n\n\t\t}S_PUB32 ;\n\t\tstruct {\n\t\t\tDWORD pParent;\n\t\t\tDWORD pEnd;\n\t\t\tDWORD pNext;\n\t\t\tDWORD ProcLength;\n\t\t\tDWORD DebugStart;\n\t\t\tDWORD DebugEnd;\n\t\t\tDWORD ProcType;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_LPROC32 ;\n\t\tstruct {\n\t\t\tDWORD pParent;\n\t\t\tDWORD pEnd;\n\t\t\tDWORD pNext;\n\t\t\tDWORD ProcLength;\n\t\t\tDWORD DebugStart;\n\t\t\tDWORD DebugEnd;\n\t\t\tDWORD ProcType;\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_GPROC32 ;\n\t\tstruct {\n\n\t\t}S_THUNK32 ;\n\t\tstruct {\n\n\t\t}S_BLOCK32 ;\n\t\tstruct {\n\n\t\t}S_WITH32 ;\n\t\tstruct {\n\t\t\tDWORD Offset;\n\t\t\tWORD Segment;\n\t\t\tBYTE Flags;\n\t\t\tBYTE Name[1];\n\t\t}S_LABEL32 ;\n\t\tstruct {\n\n\t\t}S_CEXMODEL32 ;\n\t\tstruct {\n\n\t\t}S_VFTTABLE32 ;\n\t\tstruct {\n\n\t\t}S_REGREL32 ;\n\t\tstruct {\n\n\t\t}S_LTHREAD32 ;\n\t\tstruct {\n\n\t\t}S_GTHREAD32 ;\n\t\tstruct {\n\n\t\t}S_LPROCMIPS ;\n\t\tstruct {\n\n\t\t}S_GPROCMIPS ;\n\t\tstruct {\n\n\t\t}S_PROCREF ;\n\t\tstruct {\n\n\t\t}S_DATAREF ;\n\t\tstruct {\n\n\t\t}S_ALIGN ;\n\t}u;\n}TYPERECORD;\n#include <poppack.h>\nclass CObjFileView:public CWispList\n{\npublic:\n\tCObjFileView();\n\t~CObjFileView();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnHexDisplayEvent)\n\tDECLARE_WISP_MSG_EVENT(OnDeleteWatchEvent)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowData)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnViewerCmd)\n\tCObjFile m_ObjFile;\n\tstatic STFLAGSARRAY FlagsArray[];\n\tstatic STFLAGSARRAY RleFlagsArray[];\t\n\tstatic STFLAGSARRAY MachineTypeArray[];\n\tstatic STFLAGSARRAY SymBaseTypeArray[];\n\tstatic STFLAGSARRAY SymComplexTypeArray[];\n\tstatic STFLAGSARRAY SymStorageClassArray[];\n\tstatic STFLAGSARRAY COMPILE_machineArray[];\n\tstatic STFLAGSARRAY COMPILE_LanguageArray[];\n\tstatic STFLAGSARRAY X86X87RegisterArray[];\n\tstatic STFLAGSARRAY FileHeaderCharacteristicsArray[];\n\tbool AnalyserSymbolSection(HANDLE hItem,OBJ_SECTION* ObjSection,bool FirstSymbolSection);\n\tbool AnalyserTypeSection(HANDLE hItem,OBJ_SECTION* ObjSection,bool FirstTypeSection);\n};\n#endif"
  },
  {
    "path": "Project/Syser/Source/ObjectDirectory.cpp",
    "content": "#include \"Stdafx.h\"\n#include \"Syser.h\"\n\nDWORD dwObjectRootDirectory = 0;\nWISP_CHAR *ObjectTypeName[]= {\n\tWSTR(\"Directory\"),\n\tWSTR(\"Mutant\"),\n\tWSTR(\"Thread\"),\n\tWSTR(\"Controller\"),\n\tWSTR(\"Profile\"),\n\tWSTR(\"Event\"),\n\tWSTR(\"Type\"),\n\tWSTR(\"Section\"),\n\tWSTR(\"EventPair\"),\n\tWSTR(\"SymbolicLink\"),\n\tWSTR(\"Timer\"),\n\tWSTR(\"File\"),\n\tWSTR(\"Driver\"),\n\tWSTR(\"Device\"),\n\tWSTR(\"Token\"),\n\tWSTR(\"IoCompletion\"),\n\tWSTR(\"Process\"),\n\tWSTR(\"Adapter\"),\n\tWSTR(\"Key\"),\n\tWSTR(\"Port\"),\n\tWSTR(\"Semaphore\"),\t\n\tWSTR(\"WmiGuid\"),\n\tNULL,\n};\n\nbool GetFileObjectName(FILE_OBJECT* FileObject,WCHAR* ObjectName,DWORD dwBufferLen)\n{\n\tWCHAR* Name;\n\tbool bOK;\n\tDWORD dwLen;\n\tObjectName[0]=0;\t\n\tName = (WCHAR*)ReadDword(&FileObject->FileName.Buffer,&bOK);\n\tif(!bOK)\n\t\treturn false;\n\tif(ReadWord(&FileObject->FileName.Length,(WORD*)&dwLen)==false)\n\t\treturn false;\n\tif(dwLen==0 || Name==0)\n\t\treturn false;\n\tdwLen>>=1;\n\tif(dwLen>64)\n\t\tdwLen=64;\n\tSyserPrivateMemCopy((BYTE *)ObjectName, (BYTE *)Name,dwLen<<1);\t\n\tObjectName[dwLen]=0;\n\treturn true;\n}\n\n\n\nbool GetObjectName(DWORD ObjectHandle,WCHAR* ObjectName)\n{\t\n\tDWORD dwTmp;\n\tBYTE dwLen;\n\tWISP_CHAR *Name=NULL;\n\tObjectName[0]=0;\n\tif(ObjectHandle==0)\n\t\treturn false;\n\tdwLen =(BYTE) ReadByteDefaultValue((DWORD *)(ObjectHandle-0xc),0);\n\tif(dwLen==0)\t\n\t\treturn false;\n\tdwTmp = ObjectHandle-0x18 - dwLen;\n\tdwLen = ReadByteDefaultValue((DWORD *)(dwTmp+4),0);\n\tif(dwLen==0)\n\t\treturn false;\n\tdwLen>>=1;\n\tName = (WISP_CHAR*)ReadDwordDefaultValue((DWORD *)(dwTmp+8),0);\n\tif(Name==NULL)\n\t\treturn false;\n\tif(dwLen>64)\n\t\tdwLen=64;\n\tSyserPrivateMemCopy((BYTE *)ObjectName, (BYTE *)Name,dwLen<<1);\t\n\tObjectName[dwLen] = 0;\n\treturn true;\n}\nDWORD GetObjectTypeID(DWORD ObjectHandle)\n{\n\tWISP_CHAR ObjectTypeNameBuf[64];\n\tint i,j;\n\tif(GetObjectTypeName(ObjectHandle,ObjectTypeNameBuf)==false)\n\t\treturn MAX_OBJECT_TYPE;\n\tj = sizeof(ObjectTypeName)/sizeof(ObjectTypeName[0]);\n\tfor(i = 0; i < j-1;i++)\n\t{\n\t\tif(TStrCmp(ObjectTypeName[i],ObjectTypeNameBuf)==0)\n\t\t\treturn i;\n\t}\n\treturn MAX_OBJECT_TYPE;\n}\nbool GetObjectTypeName(DWORD ObjectHandle,WCHAR *TypeName)\n{\n\tWCHAR* Name;\n\tDWORD dwValue;\n\tDWORD dwLen;\n\tTypeName[0]=0;\n\n\tdwValue = ReadDwordDefaultValue((DWORD *)(ObjectHandle-0x10),0);\n\tif(dwValue==0)\n\t\treturn false;\n\tName=(WCHAR*)ReadDwordDefaultValue ((void*)(dwValue+0x44),0);\n\tif(Name==NULL)\n\t\treturn false;\n\tdwLen = ReadWordDefaultValue ((void*)(dwValue+0x40),0);\n\tif(dwLen==0)\n\t\treturn false;\n\tdwLen>>=1;\n\tif(dwLen>64)\n\t\tdwLen=64;\n\tSyserPrivateMemCopy((BYTE *)TypeName, (BYTE *)Name,dwLen<<1);\t\n\tTypeName[dwLen]=0;\n\treturn true;\n}\n\nbool FindFirstObject(WISP_CHAR *ObjectName,OBJFINDDATA &FindData)\n{\n\tif(ObjectName==NULL)\n\t{\n\t\tFindData.ObjectHandle=GetObjectRootDirectoryHandle();\n\t\tFindData.ReturnObjectHandle=0;\n\t\tFindData.NextObjectPointer=NULL;\n\t\tFindData.DirectoryItemIndex=0;\n\t\treturn true;\n\t}\n\treturn false;\n}\nbool FindNextObject(OBJFINDDATA &FindData)\n{\t\n\tint i;\n\tDWORD ObjectHandle;\n\tPObjectPointer Pointer;\n\tif(FindData.ObjectHandle==0)\n\t{\n\t\tif(FindFirstObject(NULL,FindData)==false)\n\t\t\treturn false;\n\t}\n\tfor(;FindData.DirectoryItemIndex<0x25;FindData.DirectoryItemIndex++)\n\t{\t\t\n\t\tif(FindData.NextObjectPointer)\n\t\t{\n\t\t\tFindData.ReturnObjectHandle = ReadDwordDefaultValue(&FindData.NextObjectPointer->ObjectHandle,0);\n\t\t\tFindData.NextObjectPointer = (PObjectPointer)ReadDwordDefaultValue((DWORD*)&FindData.NextObjectPointer->Next,0);\n\t\t}else\n\t\t{\n\t\t\tPointer = (PObjectPointer)ReadDwordDefaultValue((DWORD*)& FindData.ObjectDirectoryTablePointer->Pointer[FindData.DirectoryItemIndex],0);\n\t\t\tif(Pointer==NULL)\n\t\t\t\tcontinue;\n\t\t\tFindData.ReturnObjectHandle = ReadDwordDefaultValue(&Pointer->ObjectHandle,0);\t\t\t\n\t\t\tFindData.NextObjectPointer = (PObjectPointer)ReadDwordDefaultValue((DWORD*)&Pointer->Next,0);\n\t\t}\n\t\tif(FindData.NextObjectPointer==NULL)\n\t\t\tFindData.DirectoryItemIndex++;\n\t\treturn true;\n\t}\n\treturn false;\n}\nDWORD dwListObjectCounter = 0;\n\nbool ListObject(OBJFINDDATA &FindData,DWORD ObjectType,ObjectOperatorCallBack CallBack,WISP_CHAR **Name)\n{\n\tOBJFINDDATA CurFindData;\n\twhile(FindNextObject(FindData))\n\t{\n\t\t\n\t\tif(GetObjectTypeID(FindData.ReturnObjectHandle)==ObjectType)\n\t\t{\n\t\t\tif(CallBack!=NULL)\n\t\t\t\tif(CallBack(FindData.ReturnObjectHandle,Name)==false)\n\t\t\t\t\treturn false;\t\t\t\n\t\t}\n\t\tif(IsDirectoryObjectType(FindData.ReturnObjectHandle))\n\t\t{\n\t\t\tCurFindData.ObjectHandle=FindData.ReturnObjectHandle;\n\t\t\tCurFindData.DirectoryItemIndex=0;\n\t\t\tCurFindData.NextObjectPointer=NULL;\n\t\t\tif(ListObject(CurFindData,ObjectType,CallBack,Name)==false)\n\t\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nDWORD GetObjectRootDirectoryHandle()\n{\n\tif(dwObjectRootDirectory==0)\t\t\n\t\tInitObjectDirectory();\n\treturn dwObjectRootDirectory;\n}\n\nDWORD GetObjectDirectoryHandleByName(WISP_CHAR * Name,DWORD dwParentDirectoryHandle)\n{\n\tWISP_CHAR PathSeparator='\\\\';\n\tWISP_CHAR *SubDirName = NULL;\n\tWISP_CHAR ObjectName[MAX_PATH+1];\n\tWISP_CHAR PathName[MAX_PATH+1];\n\tWISP_CHAR *DirectoryName=PathName;\t\t\n\t//DWORD dwSum,dwOldSum;\n\tDWORD *Pointer;\t\n\tDWORD dwStrLen,i,dwLen,dwTmpValue;\n\tPObjectPointer PObjPointer;\n\n\t\n\tif(Name==NULL)\n\t\treturn 0;\n\tdwTmpValue = TStrLen(Name);\n\tif(dwTmpValue>=MAX_PATH)\n\t\treturn 0;\n\tObjectName[MAX_PATH]=0;\n\tPathName[MAX_PATH]=0;\n\tTStrCpyLimit(DirectoryName,Name,MAX_PATH);\n\tif(dwParentDirectoryHandle==0)\n\t\tdwParentDirectoryHandle=GetObjectRootDirectoryHandle();\n\tif(DirectoryName[0]==PathSeparator)\n\t\tDirectoryName++;\n\tdwStrLen = TStrLen(DirectoryName);\n\tfor(i = 0; i < dwStrLen && DirectoryName[0]==PathSeparator;i++,DirectoryName++);\n\tSubDirName = TStrChr(DirectoryName,PathSeparator);\t\n\twhile(SubDirName!=NULL)\n\t{\t\t\t\n\t\tSubDirName[0]=0;\n\t\tdwParentDirectoryHandle = GetChildObjectHandleByName(DirectoryName,dwParentDirectoryHandle);\n\t\tif(dwParentDirectoryHandle==0)\n\t\t\treturn 0;\t\t\n\t\tif(IsDirectoryObjectType(dwParentDirectoryHandle)==false)\n\t\t\treturn 0;\n\t\tDirectoryName = SubDirName+1;\n\t\tdwStrLen = TStrLen(DirectoryName);\n\t\tfor(i = 0; i < dwStrLen && DirectoryName[0]==PathSeparator;i++,DirectoryName++);\n\t\tSubDirName = TStrChr(DirectoryName,PathSeparator);\n\t}\t\n\treturn GetChildObjectHandleByName(DirectoryName,dwParentDirectoryHandle);\n}\nbool IsDirectoryObjectType(DWORD ObjectHandle)\n{\n\tDWORD dwTypeId = GetObjectTypeID(ObjectHandle);\n\treturn dwTypeId==DIRECTORY_OBJECT_TYPE;\t\n}\nDWORD GetChildObjectHandleByName(WISP_CHAR * DirectoryName,DWORD dwParentDirectoryHandle)\n{\n\tWISP_CHAR PathSeparator='\\\\';\n\tWISP_CHAR *SubDirName = NULL;\n\tWISP_CHAR ObjectName[MAX_PATH+1];\n\tDWORD dwSum,dwOldSum;\n\tDWORD *Pointer;\n\tDWORD dwTmpValue;\n\tDWORD dwLen;\n\tPObjectPointer PObjPointer;\n\tint i;\n\n\tif(DirectoryName==NULL)\n\t\treturn 0;\t\t\n\tif(dwParentDirectoryHandle==0)\n\t\tdwParentDirectoryHandle=GetObjectRootDirectoryHandle();\n\tdwLen = TStrLen(DirectoryName);\n\tfor(i = 0; i < (int)dwLen && DirectoryName[0]==PathSeparator;i++,DirectoryName++);\t\n\tdwLen\t= TStrLen(DirectoryName);\n\tif(dwLen==0)\n\t\treturn 0;\n\tdwSum = 0;\n\tfor(i = 0; i < (int)dwLen; i++)\n\t{\t\t\t\n\t\tdwOldSum = dwSum;\n\t\tdwSum >>=1;\n\t\tdwOldSum *= 3;\n\t\tdwSum += dwOldSum;\n\t\tdwTmpValue = DirectoryName[i];\n\t\tif(dwTmpValue>='a' && dwTmpValue <='z')\n\t\t\tdwTmpValue-=0x20;\n\t\tdwSum+=dwTmpValue;\n\t}\n\tdwSum %= 0x25;\t\t\t\n\tPObjPointer = (PObjectPointer)ReadDwordDefaultValue((DWORD*)(dwParentDirectoryHandle+dwSum*4),0);\n\twhile(PObjPointer!=NULL)\n\t{\t\t\t\t\t\t\n\t\tdwTmpValue = ReadDwordDefaultValue(&PObjPointer->ObjectHandle,0);\n\t\tif(dwTmpValue==0)\n\t\t\treturn 0;\n\t\tif(GetObjectName(dwTmpValue,ObjectName)==true)\n\t\t{\n\t\t\tif(TStrICmp(ObjectName,DirectoryName)==0)\n\t\t\t\treturn dwTmpValue;\n\t\t}\n\t\tPObjPointer = (PObjectPointer)ReadDwordDefaultValue((DWORD *)&PObjPointer->Next,0);\n\t}\n\treturn 0;\n}\nDWORD GetObjectHeader(DWORD ObjectHandle)\n{\n\tBYTE Len;\n\tLen =ReadByteDefaultValue((DWORD *)(ObjectHandle-0xc),0);\n\treturn ObjectHandle-0x18 - Len;\n}\nbool InitObjectDirectory()\n{\t\n\tPVOID\t\t\t\tpObject;\t\n\tHANDLE\t\t\t\tHandle;\n\tNTSTATUS\t\t\tStatus;\t\n\tUNICODE_STRING\t\tRootDirectory;\n\tOBJECT_ATTRIBUTES\tObjAtt;\n\n\tif(dwObjectRootDirectory)\n\t\treturn true;\t\t\n\tRtlInitUnicodeString(&RootDirectory,OBJECT_ROOT_DIRECTORY);\t\n\tObjAtt.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjAtt.ObjectName=&RootDirectory;\n\tObjAtt.SecurityDescriptor=0;\n\tObjAtt.Attributes=0x40;\n\tObjAtt.SecurityQualityOfService=0;\n\tObjAtt.RootDirectory=0;\t\n\tStatus =ZwOpenDirectoryObject(&Handle,1,&ObjAtt);\n\tif (!NT_SUCCESS(Status))\n\t{\n\t\t::DbgPrint(\"ZwOpenDirectoryObject Fault\");\n\t\treturn false;\n\t}\n\tStatus = ObReferenceObjectByHandle(Handle,1,0,0,(PVOID*)&dwObjectRootDirectory,0);\n\tif (!NT_SUCCESS(Status))\n\t{\n\t\t::DbgPrint(\"ObReferenceObjectByHandle Fault\");\n\t\tZwClose(Handle);\n\t\treturn false;\n\t}\n\tObfDereferenceObject((PVOID)dwObjectRootDirectory);\n\tZwClose(Handle);\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/ObjectDirectory.h",
    "content": "#ifndef _OBJECTDIRECTORY_H_\n#define _OBJECTDIRECTORY_H_\n\n\n\ntypedef struct _OBJECT_DIRECTORY_ENTRY\n{\n\t/*000*/ struct _OBJECT_DIRECTORY_ENTRY *NextEntry;\n\t/*004*/ POBJECT             Object;\n\t/*008*/ }\n\tOBJECT_DIRECTORY_ENTRY,\n\t\t* POBJECT_DIRECTORY_ENTRY,\n\t\t**PPOBJECT_DIRECTORY_ENTRY;\n\n\t// -----------------------------------------------------------------\n\n#define OBJECT_HASH_TABLE_SIZE 37\n\ntypedef struct _OBJECT_DIRECTORY\n{\n\t/*000*/ POBJECT_DIRECTORY_ENTRY HashTable [OBJECT_HASH_TABLE_SIZE];\n\t/*094*/ POBJECT_DIRECTORY_ENTRY CurrentEntry;\n\t/*098*/ BOOLEAN         CurrentEntryValid;\n\t/*099*/ BYTE          Reserved1;\n\t/*09A*/ WORD          Reserved2;\n\t/*09C*/ DWORD          Reserved3;\n\t/*0A0*/ }\n\tOBJECT_DIRECTORY,\n\t\t* POBJECT_DIRECTORY,\n\t\t**PPOBJECT_DIRECTORY;\n\t/*\ntypedef struct _LIST_ENTRY {\n\t\tstruct _LIST_ENTRY *Flink;\n\t\tstruct _LIST_ENTRY *Blink;\n\t} LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;\n*/\ntypedef struct _OBJECT_CREATOR_INFO\n{\n\t/*000*/ LIST_ENTRY ObjectList;   // OBJECT_CREATOR_INFO\n\t/*008*/ HANDLE   UniqueProcessId;\n\t/*00C*/ WORD    Reserved1;\n\t/*00E*/ WORD    Reserved2;\n\t/*010*/ }\n\tOBJECT_CREATOR_INFO,\n\t\t* POBJECT_CREATOR_INFO,\n\t\t**PPOBJECT_CREATOR_INFO;\n\ttypedef struct _QUOTA_BLOCK\n\t{\n\t\t/*000*/ DWORD Flags;\n\t\t/*004*/ DWORD ChargeCount;\n\t\t/*008*/ DWORD PeakPoolUsage [2]; // NonPagedPool, PagedPool\n\t\t/*010*/ DWORD PoolUsage   [2]; // NonPagedPool, PagedPool\n\t\t/*018*/ DWORD PoolQuota   [2]; // NonPagedPool, PagedPool\n\t\t/*020*/ }\n\t\tQUOTA_BLOCK,\n\t\t\t* PQUOTA_BLOCK,\n\t\t\t**PPQUOTA_BLOCK;\n#define OB_FLAG_CREATE_INFO\t\t\t0x01 // has OBJECT_CREATE_INFO\n#define OB_FLAG_KERNEL_MODE\t\t\t0x02 // created by kernel\n#define OB_FLAG_CREATOR_INFO\t\t0x04 // has OBJECT_CREATOR_INFO\n#define OB_FLAG_EXCLUSIVE\t\t\t0x08 // OBJ_EXCLUSIVE\n#define OB_FLAG_PERMANENT\t\t\t0x10 // OBJ_PERMANENT\n#define OB_FLAG_SECURITY\t\t\t0x20 // has security descriptor\n#define OB_FLAG_SINGLE_PROCESS\t\t0x40 // no HandleDBList\ntypedef struct _OBJECT_HEADER\n{\n\t/*000*/ DWORD    PointerCount;    // number of references\n\t/*004*/ DWORD    HandleCount;    // number of open handles\n\t/*008*/ POBJECT_TYPE ObjectType;\n\t/*00C*/ BYTE     NameOffset;     // -> OBJECT_NAME\n\t/*00D*/ BYTE     HandleDBOffset;   // -> OBJECT_HANDLE_DB\n\t/*00E*/ BYTE     QuotaChargesOffset; // -> OBJECT_QUOTA_CHARGES\n\t/*00F*/ BYTE     ObjectFlags;    // OB_FLAG_*\n\t/*010*/ union\n\t{ // OB_FLAG_CREATE_INFO ? ObjectCreateInfo : QuotaBlock\n\t\t/*010*/   PQUOTA_BLOCK    QuotaBlock;\n\t\t/*010*/   POBJECT_CREATOR_INFO ObjectCreateInfo;\n\t\t/*014*/   };\n\t\t/*014*/ PSECURITY_DESCRIPTOR SecurityDescriptor;\n\t\t/*018*/ }\n\t\tOBJECT_HEADER,\n\t\t\t* POBJECT_HEADER,\n\t\t\t**PPOBJECT_HEADER;\n\n\n\ntypedef struct _OBJECT_NAME\n{\n\t/*000*/ POBJECT_DIRECTORY Directory;\n\t/*004*/ UNICODE_STRING  Name;\n\t/*00C*/ DWORD       Reserved;\n\t/*010*/ }\n\tOBJECT_NAME,\n\t\t* POBJECT_NAME,\n\t\t**PPOBJECT_NAME;\n\ntypedef struct _OBJECT_HANDLE_DB\n{\n\t/*000*/ union\n\t{\n\t\t/*000*/   struct _EPROCESS       *Process;\n\t\t/*000*/   struct _OBJECT_HANDLE_DB_LIST *HandleDBList;\n\t\t/*004*/   };\n\t\t/*004*/ DWORD HandleCount;\n\t\t/*008*/ }\n\t\tOBJECT_HANDLE_DB,\n\t\t\t* POBJECT_HANDLE_DB,\n\t\t\t**PPOBJECT_HANDLE_DB;\n\n#define OBJECT_HANDLE_DB_ \tsizeof (OBJECT_HANDLE_DB)\n\n\t\t\t\t// -----------------------------------------------------------------\n\ntypedef struct _OBJECT_HANDLE_DB_LIST\n{\n\t/*000*/ DWORD      Count;\n\t/*004*/ OBJECT_HANDLE_DB Entries [1];\n\t/*???*/ }\n\tOBJECT_HANDLE_DB_LIST,\n\t\t* POBJECT_HANDLE_DB_LIST,\n\t\t**PPOBJECT_HANDLE_DB_LIST;\n\n#define OBJECT_HANDLE_DB_LIST_ \t\tsizeof (OBJECT_HANDLE_DB_LIST)\n\n\n#define OB_SECURITY_CHARGE 0x00000800\n\ntypedef struct _OBJECT_QUOTA_CHARGES\n{\n\t/*000*/ DWORD PagedPoolCharge;\n\t/*004*/ DWORD NonPagedPoolCharge;\n\t/*008*/ DWORD SecurityCharge;\n\t/*00C*/ DWORD Reserved;\n\t/*010*/ }\n\tOBJECT_QUOTA_CHARGES,\n\t\t* POBJECT_QUOTA_CHARGES,\n\t\t**PPOBJECT_QUOTA_CHARGES;//If the OB_FLAG_CREATE_INFO bit of the ObjectFlags in the OBJECT_HEADER is zero, the QuotaBlock member points to a QUOTA_BLOCK structure (Listing 6) that contains statistical information about the current resource usage of the object.\n\n\t\n\n\n\n\ntypedef struct stObjectPointer{\n\tstruct stObjectPointer *Next;\n\tDWORD\tObjectHandle;\n}ObjectPointer,*PObjectPointer;\ntypedef struct stObjectDirectoryPointerTable\n{\n\tPObjectPointer Pointer[0x25];\n}ObjectDirectoryPointerTable,*PObjectDirectoryPointerTable;\n\ntypedef struct stObjFindData{\n\tunion {\n\t\tPObjectDirectoryPointerTable ObjectDirectoryTablePointer;\n\t\tDWORD\tObjectHandle;\n\t};\t\n\tDWORD\tDirectoryItemIndex;\n\tDWORD\tReturnObjectHandle;\n\tPObjectPointer NextObjectPointer;\n}OBJFINDDATA;\n\ntypedef enum{\n\tDIRECTORY_OBJECT_TYPE,\n\tMUTANT_OBJECT_TYPE,\n\tTHREAD_OBJECT_TYPE,\n\tCONTROLLER_OBJECT_TYPE,\n\tPROFILE_OBJECT_TYPE,\n\tEVENT_OBJECT_TYPE,\n\tTYPE_OBJECT_TYPE,\n\tSECTION_OBJECT_TYPE,\n\tEVENTPAIR_OBJECT_TYPE,\n\tSYMBOLICLINK_OBJECT_TYPE,\n\tTIMER_OBJECT_TYPE,\n\tFILE_OBJECT_TYPE,\n\tDRIVER_OBJECT_TYPE,\n\tDEVICE_OBJECT_TYPE,\n\tTOKEN_OBJECT_TYPE,\n\tIOCOMPLETION_OBJECT_TYPE,\n\tPROCESS_OBJECT_TYPE,\n\tADAPTER_OBJECT_TYPE,\n\tKEY_OBJECT_TYPE,\n\tPORT_OBJECT_TYPE,\n\tSEMAPHORE_OBJECT_TYPE,\n\tMAX_OBJECT_TYPE,\n}OBJECT_TYPE_ID;\n#define OBJECT_ROOT_DIRECTORY L\"\\\\\"\ntypedef bool (*ObjectOperatorCallBack)(DWORD,WISP_CHAR**);\nbool InitObjectDirectory();\nextern DWORD dwObjectRootDirectory;\nextern DWORD dwListObjectCounter;\nbool GetObjectTypeName(DWORD ObjectHandle,WCHAR *TypeName);\nbool GetObjectName(DWORD ObjectHandle,WCHAR* ObjectName);\nDWORD GetObjectRootDirectoryHandle();\nDWORD GetObjectDirectoryHandleByName(WISP_CHAR * DirectoryName,DWORD dwParentDirectoryHandle=0);\nDWORD GetObjectTypeID(DWORD ObjectHandle);\nDWORD GetChildObjectHandleByName(WISP_CHAR * DirectoryName,DWORD dwParentDirectoryHandle);\nbool FindFirstObject(WISP_CHAR *ObjectName,OBJFINDDATA &FindData);\nbool FindNextObject(OBJFINDDATA &FindData);\nbool IsDirectoryObjectType(DWORD ObjectHandle);\nDWORD GetObjectHeader(DWORD ObjectHandle);\nbool ListObject(OBJFINDDATA &FindData,DWORD ObjectType,ObjectOperatorCallBack CallBack,WISP_CHAR **Name=NULL);\nbool GetFileObjectName(FILE_OBJECT* FileObject,WCHAR* ObjectName,DWORD dwBufferLen);\n#endif /* _OBJECTDIRECTORY_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/ObjectDirectoryWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"ObjectDirectoryWnd.h\"\n#ifdef CODE_OS_WIN\n#include \"Ring3Object.h\"\n#endif\n\nWISP_MSG_MAP_BEGIN(CObjectDirectoryWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispSplitWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CObjectDirectoryWnd)\n\tWISP_MSG_CMD_MAP(CHILD_WND_ID_OBJECTDIRECTORYTRE,OnCmdObjectDirectory)\n\tWISP_MSG_CMD_MAP(CHILD_WND_ID_OBJECTLIST,OnCmdObjectList)\nWISP_MSG_CMD_MAP_END\n\n\nbool CObjectDirectoryWnd::OnCmdObjectDirectory(IN WISP_MSG *pMsg)\n{\t\n\tNUM_PTR NumPtr;\n\tWCHAR* String;\n\tWISP_CHAR\twcBuf[MAX_PATH]={0};\n\tDWORD\t\tObjectHandle;\n\tHANDLE hSubItem,hItem;\n\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_EXPANDED||pMsg->Command.CmdMsg==WISP_CMD_ITEM_SELECTED)\n\t{\n\t\thItem = (HANDLE)pMsg->Command.Param2;\n\t\thSubItem = m_ObjectDirectoryTree.GetItem(0,hItem);\n\t\tif(hSubItem==NULL)\n\t\t{\n\t\t\tm_ObjectList.ClearChildItem();\n\t\t\tObjectList(hItem);\n\t\t\treturn true;\n\t\t}\n\t\tNumPtr = m_ObjectDirectoryTree.GetItemData(hItem,0);\n\t\tObjectHandle = *(DWORD*)&NumPtr;\n\t\tString = m_ObjectDirectoryTree.GetItemText(hSubItem,0);\n\t\t\n\t\tif(TStrCmp(String, WISP_STR(\"..\"))==0)\n\t\t{\n\t\t\tm_ObjectDirectoryTree.ClearChildItem(hItem);\n\t\t\tm_ObjectList.ClearChildItem();\n#ifdef CODE_OS_WIN\n\t\t\tInitContext(hItem);\n#else\n\t\t\tInitContext(ObjectHandle,hItem);\n#endif\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_ObjectList.ClearChildItem();\n\t\t\tObjectList(hItem);\n\t\t}\n\t}\n\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_UNEXPANDED)\n\t{\n\t\thItem = (HANDLE)pMsg->Command.Param2;\n\t\thSubItem = m_ObjectDirectoryTree.GetItem(0,hItem);\n\t\tif(hSubItem==NULL)\n\t\t\treturn true;\n\t\tm_ObjectDirectoryTree.ClearChildItem(hItem);\n\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hItem);\n\t}\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::OnCmdObjectList(IN WISP_MSG *pMsg)\n{\t\t\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::OnCreate(IN WISP_MSG *pMsg)\n{\t\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,17));\n\tm_ObjectDirectoryTree.Create(NULL,0,0,140,m_ClientRect.cy,this,CHILD_WND_ID_OBJECTDIRECTORYTRE,WISP_WLS_TREE);\n\tm_ObjectList.Create(NULL,0,0,0,0,this,CHILD_WND_ID_OBJECTLIST,WISP_WLS_TREE|WISP_WLS_COLUMN_TITLE);\n\tInsertWnd(&m_ObjectDirectoryTree,0,m_ObjectDirectoryTree.m_WindowRect.cx);\n\tInsertWnd(&m_ObjectList,0,0);\n\tAdjustWndPos();\n\tm_ObjectList.InsertColumn(WSTR(\"Name\"),170);\n\tm_ObjectList.InsertColumn(WSTR(\"Type\"),80);\n\tm_ObjectList.InsertColumn(WSTR(\"SymLink\"),100);\n\tm_ObjectDirectoryTree.InsertColumn(NULL,100);\n\tm_ObjectList.SetOwner(this);\n\tm_ObjectDirectoryTree.SetOwner(this);\n\tUpdateContext();\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::OnClose(IN WISP_MSG*pMsg)\n{\n#ifdef _SYSER_\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n#endif\n\treturn true;\n}\n\nvoid CObjectDirectoryWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Objects\"),CWispRect(0,0,400,300),NULL,0,WISP_SWS_HORZ|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nvoid CObjectDirectoryWnd::UpdateContext()\n{\n#ifdef CODE_OS_NT_DRV\n\tInitContext(0,NULL);\n#else\n\tInitContext();\n#endif\n}\n\nbool CObjectDirectoryWnd::InitContext()\n{\n#if CODE_OS_NT_DRV\n\tDWORD ObjectHandle;\n\tOBJFINDDATA FindData;\n\tWISP_CHAR TypeName[65],ObjectName[65];\n\tHANDLE hItem,hListItem,hChildItem;\n\tObjectHandle = dwObjectRootDirectory;\t\n\tFindData.ObjectHandle=ObjectHandle;\n\tFindData.NextObjectPointer=NULL;\n\tFindData.DirectoryItemIndex=0;\n\thItem=NULL;\n\twhile(FindNextObject(FindData))\n\t{\t\t\t\t\t\t\n\t\tGetObjectTypeName(FindData.ReturnObjectHandle,TypeName);\n\t\tGetObjectName(FindData.ReturnObjectHandle,ObjectName);\n\t\tif(IsDirectoryObjectType(FindData.ReturnObjectHandle))\t\t\n\t\t{\n\t\t\thChildItem = m_ObjectDirectoryTree.InsertItem(ObjectName,hItem);\n\t\t\tm_ObjectDirectoryTree.SetItemData(hChildItem,0,FindData.ReturnObjectHandle);\n\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hChildItem);\n\t\t}\n\t\thListItem = m_ObjectList.InsertItem(ObjectName);\n\t\tm_ObjectList.SetItemData(hListItem,0,FindData.ReturnObjectHandle);\n\t\tm_ObjectList.SetItemText(hListItem,1,TypeName);\t\t\n\t}\t\n#else\n\t{\n\t\tLoadAPI();\n\t\tbool bOK;\n\t\tFIND_OBJECT_DATA FindObjectData;\n\t\tHANDLE hItem,hSubItem;\n\t\thItem = NULL;\n\t\tbOK = FindFirstObject(L\"\\\\\",&FindObjectData);\n\t\tif(bOK)\n\t\t{\n\t\t\twhile(bOK)\n\t\t\t{\n\t\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"Directory\")==0)\n\t\t\t\t{\n\t\t\t\t\thSubItem = m_ObjectDirectoryTree.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer,hItem);\n\t\t\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hSubItem);\n\t\t\t\t}\n\t\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t\t}\n\t\t\tCloseFindObject(&FindObjectData);\n\t\t}\n\n\t}\n#endif\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::InitContext(DWORD ObjectHandle,HANDLE hItem)\n{\t\n#ifdef CODE_OS_NT_DRV\n\tOBJFINDDATA FindData;\n\tWISP_CHAR TypeName[65],ObjectName[65];\n\tHANDLE hListItem,hChildItem;\n\tif(ObjectHandle==0)\n\t\tObjectHandle = dwObjectRootDirectory;\t\n\tFindData.ObjectHandle=ObjectHandle;\n\tFindData.NextObjectPointer=NULL;\n\tFindData.DirectoryItemIndex=0;\n\twhile(FindNextObject(FindData))\n\t{\t\t\t\t\t\t\n\t\tGetObjectTypeName(FindData.ReturnObjectHandle,TypeName);\n\t\tGetObjectName(FindData.ReturnObjectHandle,ObjectName);\n\t\tif(IsDirectoryObjectType(FindData.ReturnObjectHandle))\t\t\n\t\t{\n\t\t\thChildItem = m_ObjectDirectoryTree.InsertItem(ObjectName,hItem);\n\t\t\tm_ObjectDirectoryTree.SetItemData(hChildItem,0,FindData.ReturnObjectHandle);\n\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hChildItem);\n\t\t}\n\t\thListItem = m_ObjectList.InsertItem(ObjectName);\n\t\tm_ObjectList.SetItemData(hListItem,0,FindData.ReturnObjectHandle);\n\t\tm_ObjectList.SetItemText(hListItem,1,TypeName);\t\t\n\t}\t\n#endif\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::InitContext(HANDLE hItem)\n{\n#ifdef CODE_OS_WIN\n\tbool bOK;\n\tWCHAR FullPathName[512];\n\tHANDLE hSubItem;\n\tFIND_OBJECT_DATA FindObjectData;\n\tWCHAR TargetName[512];\n\tUNICODE_STRING LinkTargetName;\n\tDWORD FullPathNameLen;\n\tULONG ReturnLength;\n\tTStrCpy(FullPathName,\"\\\\\");\n\tm_ObjectDirectoryTree.GetItemFullPath(hItem,0,&FullPathName[1]);\n\tFullPathNameLen=TStrLen(FullPathName);\n\tbOK = FindFirstObject(FullPathName,&FindObjectData);\n\tif(bOK)\n\t{\n\t\twhile(bOK)\n\t\t{\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"Directory\")==0)\n\t\t\t{\n\t\t\t\thSubItem = m_ObjectDirectoryTree.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer,hItem);\n\t\t\t\tm_ObjectDirectoryTree.InsertItem(WSTR(\"..\"),hSubItem);\n\t\t\t}\n\t\t\thSubItem = m_ObjectList.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\tm_ObjectList.SetItemText(hSubItem,1,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer);\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"SymbolicLink\")==0)\n\t\t\t{\n\t\t\t\tFullPathName[FullPathNameLen]=0;\n\t\t\t\tTStrCat(FullPathName,\"\\\\\");\n\t\t\t\tTStrCat(FullPathName,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\t\tLinkTargetName.Buffer=TargetName;\n\t\t\t\tLinkTargetName.MaximumLength=sizeof(TargetName);\n\t\t\t\tLinkTargetName.Length =sizeof(TargetName)-2;\n\t\t\t\tif(GetSymbolicLink(FullPathName,&LinkTargetName,&ReturnLength))\n\t\t\t\t{\n\t\t\t\t\tm_ObjectList.SetItemText(hSubItem,2,LinkTargetName.Buffer);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t}\n\t\tCloseFindObject(&FindObjectData);\n\t}\n\tm_ObjectList.Update();\n#endif\n\treturn true;\n}\n\nbool CObjectDirectoryWnd::ObjectList(HANDLE hItem)\n{\n#ifdef CODE_OS_WIN\n\tbool bOK;\n\tWCHAR FullPathName[512];\n\tHANDLE hSubItem;\n\tFIND_OBJECT_DATA FindObjectData;\n\tWCHAR TargetName[512];\n\tUNICODE_STRING LinkTargetName;\n\tDWORD FullPathNameLen;\n\tULONG ReturnLength;\n\tTStrCpy(FullPathName,\"\\\\\");\n\tm_ObjectDirectoryTree.GetItemFullPath(hItem,0,&FullPathName[1]);\n\tFullPathNameLen=TStrLen(FullPathName);\n\tbOK = FindFirstObject(FullPathName,&FindObjectData);\n\tif(bOK)\n\t{\n\t\twhile(bOK)\n\t\t{\n\t\t\thSubItem = m_ObjectList.InsertItem(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\tm_ObjectList.SetItemText(hSubItem,1,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer);\n\t\t\tif(TStrICmp(FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectTypeName.Buffer,\"SymbolicLink\")==0)\n\t\t\t{\n\t\t\t\tFullPathName[FullPathNameLen]=0;\n\t\t\t\tTStrCat(FullPathName,\"\\\\\");\n\t\t\t\tTStrCat(FullPathName,FindObjectData.FindDataBuffer->DirectoryBaseInfo.ObjectName.Buffer);\n\t\t\t\tLinkTargetName.Buffer=TargetName;\n\t\t\t\tLinkTargetName.MaximumLength=sizeof(TargetName);\n\t\t\t\tLinkTargetName.Length =sizeof(TargetName)-2;\n\t\t\t\tif(GetSymbolicLink(FullPathName,&LinkTargetName,&ReturnLength))\n\t\t\t\t{\n\t\t\t\t\tm_ObjectList.SetItemText(hSubItem,2,LinkTargetName.Buffer);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbOK = FindNextObject(&FindObjectData);\n\t\t}\n\t\tCloseFindObject(&FindObjectData);\n\t}\n\tm_ObjectList.Update();\n#endif //CODE_OS_WIN\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/ObjectDirectoryWnd.h",
    "content": "#ifndef _OBJECT_DIRECTORY_WND_H_\n#define _OBJECT_DIRECTORY_WND_H_\n#ifdef CODE_OS_NT_DRV \n#include \"ObjectDirectory.h\"\n#endif\n\nenum\n{\n\tCHILD_WND_ID_OBJECTDIRECTORYTRE=WISP_ID_USER_START+600,\n\tCHILD_WND_ID_OBJECTLIST,\n};\n\nclass CObjectDirectoryWnd:public CWispSplitWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCmdObjectDirectory)\n\tDECLARE_WISP_MSG_CMD(OnCmdObjectList)\n\tCWispList m_ObjectDirectoryTree;\n\tCWispList m_ObjectList;\n\tbool\tInitContext();\n\tbool\tInitContext(DWORD ObjectHandle,HANDLE hItem);\n\tbool\tInitContext(HANDLE hItem);\n\tbool\tObjectList(HANDLE hItem);\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/OtherCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"OtherCmd.h\"\n\n\nconst WCHAR cmd_dx_usage[]=\n{\n\tL\"d,db,dw,dd: Show memory data\\n\"\n\tL\"Format: d[b,w,d] address\\n\"\n\tL\"Example1: d[b,w,d] 401000\\n\"\n\tL\"Example2: d[b,w,d] ESI+8\\n\"\n\tL\"Example3: d[b,w,d] +\\n\"\n\tL\"Example4: d[b,w,d] -\\n\"\n\tL\"Example5: d[b,w,d] + offset\\n\"\n\tL\"Example6: d[b,w,d] - offset\\n\"\n\n};\n\nconst WCHAR cmd_wcd_usage[]=\n{\n\tL\"wc,wd: Code,Data Window command\\n\"\n\tL\"Format: wc[d] [+][-] [address][index_of_windows]\\n\"\n\tL\"Example1: wc[d] eip+5\\n\"\n\tL\"Example2: wc[d] 1                   (focus code[data] window 1)\\n\"\n\tL\"Example3: wc[d] +                   (add new code[data] window)\\n\"\n\tL\"Example4: wc[d] -                   (remove current code[data] window)\\n\"\n};\nconst WCHAR cmd_data_usage[]=\n{\n\tL\"data: Data Window command\\n\"\n\tL\"Format: data [+][-] [address][index_of_windows]\\n\"\n\tL\"Example1: data eip+5\\n\"\n\tL\"Example2: data 1                   (focus data window 1)\\n\"\n\tL\"Example3: data +                   (add new data window)\\n\"\n\tL\"Example4: data -                   (remove current data window)\\n\"\n};\nconst WCHAR cmd_code_usage[]=\n{\n\tL\"code: Code Window command\\n\"\n\tL\"Format: code [+][-] [address][index_of_windows]\\n\"\n\tL\"Example1: code eip+5\\n\"\n\tL\"Example2: code 1                   (focus code window 1)\\n\"\n\tL\"Example3: code +                   (add new code window)\\n\"\n\tL\"Example4: code -                   (remove current code window)\\n\"\n};\n/*\nconst WCHAR cmd_isf_usage[]=\n{\n\tL\"isf: Identify standard C(++) library function\\n\"\n\tL\"Format: isf address    (if address is a standard C(++) library function and symbols will be inserted automaticly)\\n\"\n\tL\"Example1: isf 401000\\n\"\n};\n*/\nconst WCHAR cmd_cv_usage[]=\n{\n\tL\"cv: Dump CodeView context to console (then you can save console histroy by loader)\\n\"\n\tL\"Format: cv\\n\"\n\tL\"Example1: cv\\n\"\n};\n\nconst WCHAR cmd_dv_usage[]=\n{\n\tL\"dv: Dump DataView context to console (then you can save console histroy by loader)\\n\"\n\tL\"Format: dv\\n\"\n\tL\"Example1: dv\\n\"\n};\n\nSYSER_CMD_ENTRY\tOtherCmdTable[]=\n{\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\t//Info\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"?\"),\t\t\tWSTR(\"Calculate expression\"),\t\t\t\t\t\texp_command},\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\t//View\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\n\t{WSTR(\"cv\"),\t\tWSTR(\"Print Code View string to console\"),\t\t\tcv_command,\t\t\tcmd_cv_usage},\n\t{WSTR(\"dv\"),\t\tWSTR(\"Print Data View string to console\"),\t\t\tdv_command,\t\t\tcmd_dv_usage},\n\t{WSTR(\"sw\"),\t\tWSTR(\"Show data at stack watch\"),\t\t\t\t\tsw_command},\n\t{WSTR(\"d\"),\t\t\tWSTR(\"Show memory data\"),\t\t\t\t\t\t\tdb_command,\t\t\tcmd_dx_usage},\n\t{WSTR(\"db\"),\t\tWSTR(\"Show memory data (BYTE)\"),\t\t\t\t\tdb_command,\t\t\tcmd_dx_usage},\n\t{WSTR(\"dw\"),\t\tWSTR(\"Show memory data (WORD)\"),\t\t\t\t\tdb_command,\t\t\tcmd_dx_usage},\n\t{WSTR(\"dd\"),\t\tWSTR(\"Show memory data (DWORD)\"),\t\t\t\t\tdb_command,\t\t\tcmd_dx_usage},\n\t{WSTR(\"wc\"),\t\tWSTR(\"focus code view (wc + to add new view)\"),\t\twc_command,\t\t\tcmd_wcd_usage},\n\t{WSTR(\"code\"),\t\tWSTR(\"focus code view (code + to add new view)\"),\twc_command,\t\t\tcmd_code_usage},\n\t{WSTR(\"wd\"),\t\tWSTR(\"focus data view (wd + to add new view)\"),\t\twd_command,\t\t\tcmd_wcd_usage},\n\t{WSTR(\"data\"),\t\tWSTR(\"focus data view (data + to add new view)\"),\twd_command,\t\t\tcmd_data_usage},\n\t{WSTR(\"ws\"),\t\tWSTR(\"focus stack watch list (HotKey ALT+S)\"),\t\tws_command},\n\t{WSTR(\"ww\"),\t\tWSTR(\"focus watch list (HotKey ALT+S)\"),\t\t\tww_command},\n\t{WSTR(\"wr\"),\t\tWSTR(\"focus register list (HotKey ALT+R)\"),\t\t\twr_command},\n\t{WSTR(\"wf\"),\t\tWSTR(\"focus FPU register list (HotKey ALT+F)\"),\t\twf_command},\n\t{WSTR(\"wx\"),\t\tWSTR(\"focus XMM register list (HotKey ALT+X)\"),\t\twx_command},\n\t{WSTR(\"dex\"),\t\tWSTR(\"switch data view float address mode\"),\t\tdex_command},\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\t//Memory\n\t////////////////////////////////////////////////////////////////////////////////////////////\n\t//{WSTR(\"isf\"),\t\tWSTR(\"Identify standard C(++) library function\"),\tisf_command,\t\tcmd_isf_usage},\n\t{NULL,NULL,NULL}\n};\n\nint dex_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\t\t\n\tCDataView*pDataView;\n\tULONG Index=0;\n\tif(argc==1)\n\t{\n\t\tCTabWndList::IT WndIt=gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.m_WndList.Begin();\n\t\twhile(WndIt!=gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.m_WndList.End())\n\t\t{\n\t\t\tpDataView = (CDataView*)WndIt->pWnd;\n\t\t\tOUTPUT(WSTR(\"DataView[%d] Float Address %<f>%s\\n\"),Index,pDataView->IsFloatMode()?WSTR(\"On \"):WSTR(\"Off\"));\t\t\n\t\t\tWndIt++;\n\t\t\tIndex++;\n\t\t}\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&Index)==false)\n\t\tIndex = 0;\n\tpDataView = (CDataView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetWnd(Index);\n\tif(pDataView==NULL)\n\t{\t\t\n\t\tpDataView = ADD_DATA_VIEW();\n\t}\n\tif(pDataView==NULL)\n\t\treturn 0;\n\tOUTPUT(WSTR(\"DataView[%d] Float Address %<f>%s\\n\"),Index,pDataView->IsFloatMode()?WSTR(\"Off\"):WSTR(\"On\"));\t\n\tpDataView->ToggleFloatMode();\n\treturn 0;\n}\n\nint cv_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWCHAR szBuffer[MAX_LINE_CHAR];\n\tCCodeView*pCodeView=ACTIVE_CODE_VIEW;\n\tif(pCodeView==NULL)\n\t\treturn -1;\n\tHANDLE hItem = pCodeView->GetScrStartItem();\n\twhile(hItem)\n\t{\n\t\tpCodeView->GetItemText(hItem,ITEM_ADDRESS,szBuffer,MAX_LINE_CHAR);\n\t\tOUTPUT(WSTR(\"%s \"),szBuffer);\n\t\tpCodeView->GetItemText(hItem,ITEM_BIN_DATA,szBuffer,MAX_LINE_CHAR);\n\t\tOUTPUT(WSTR(\"%-20s \"),szBuffer);\n\t\tpCodeView->GetItemText(hItem,ITEM_ASM_CODE,szBuffer,MAX_LINE_CHAR);\n\t\tOUTPUT(WSTR(\"%-30s \"),szBuffer);\n\t\tpCodeView->GetItemText(hItem,ITEM_COMMENT,szBuffer,MAX_LINE_CHAR);\n\t\tOUTPUT(WSTR(\"%s\\n\"),szBuffer);\n\t\thItem = pCodeView->GetNextItem(hItem);\n\t}\n\treturn 0;\n}\n\nint dv_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tBYTE DataBuffer[0x20];\n\tWISP_CHAR Buffer[512],szSpace[32];\n\tint nItem,Turn,BeginLine=0;\n\tDWORD nByte,CurPos;\n\tint ItemIndex;\n\tULPOS Address;\n\tULPOS OldAddress=0-1;;\n\tint nTotalLines=8;\n\tCDataView*pDataView=ACTIVE_DATA_VIEW;\n\tif(pDataView==NULL)\n\t\treturn -1;\n\tnTotalLines=pDataView->m_nLinePerPage;\n\tif(argc>1)\n\t{\n\t\tif(CALCEXP(argv[1],&Address))\n\t\t{\n\t\t\tOldAddress=pDataView->m_CurAddr;\n\t\t\tpDataView->m_CurAddr=Address;\n\t\t}\n\t\tif(argc>2)\n\t\t{\n\t\t\tif(CALCEXP(argv[2],&Address))\n\t\t\t\tnTotalLines=Address;\n\t\t}\n\t}\n\tfor(int nLine=0;nLine<nTotalLines;nLine++)\n\t{\n\t\tAddress=pDataView->m_CurAddr+nLine*pDataView->m_nByte_Line;\n\t\tOUTPUT(WSTR(\"%08X   \"),Address);\n\t\tnByte=pDataView->m_ImageSize+pDataView->m_ImageBase-pDataView->m_CurAddr-nLine*pDataView->m_nByte_Line;\n\t\tif(nByte>(DWORD)pDataView->m_nByte_Line)\n\t\t\tnByte=(DWORD)pDataView->m_nByte_Line;\n\t\t//ֽ\n\t\tTStrCpy(szSpace,pDataView->m_Spaces);\n\t\tszSpace[pDataView->m_ShowLength]=0;\n\n\t\tnItem=(int)nByte/pDataView->m_ShowLength;\n\t\tif(nByte%pDataView->m_ShowLength)\n\t\t\tnItem++;\n\t\tTurn=pDataView->m_ShowLength*2+pDataView->m_ShowLength;\n\t\tpDataView->m_LenArray[HEX_HEX_INDEX][nLine]=Turn*nItem;\n\t\tfor(ItemIndex=0;ItemIndex<nItem;ItemIndex++)\n\t\t{\n\t\t\tif(pDataView->ReadData(Address+ItemIndex*pDataView->m_ShowLength,DataBuffer,pDataView->m_ShowLength)==0)\n\t\t\t\tTStrCpy(Buffer,pDataView->m_UnReadable);\n\t\t\telse\n\t\t\t\tTHexBytesToStr(DataBuffer,Buffer,(int)nByte,pDataView->m_ShowLength,szSpace);\n\t\t\tCurPos=pDataView->m_CurAddr+nLine*pDataView->m_nByte_Line+ItemIndex*pDataView->m_ShowLength;\n\t\t\tBuffer[pDataView->m_ShowLength*2]=0;\n\t\t\tOUTPUT(WSTR(\"%s \"),Buffer);\n\t\t}\n\t\tfor(DWORD ByteIndex=0 ; ByteIndex < nByte; ByteIndex++)\n\t\t{\n\t\t\tif(pDataView->ReadData((DWORD)(Address+ByteIndex),DataBuffer,1)==0)\n\t\t\t\tTStrCpy(Buffer,pDataView->m_UnReadableASCII);\n\t\t\telse\n\t\t\t\tTHexBytesToASCII(DataBuffer,Buffer,1);\n\t\t\tCurPos=pDataView->m_CurAddr+nLine*pDataView->m_nByte_Line+ByteIndex;\n\t\t\tOUTPUT(WSTR(\"%c\"),*Buffer);\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t}\n\tif(OldAddress!=0-1)\n\t\tpDataView->m_CurAddr=OldAddress;\n\treturn 0;\n}\n\nint sw_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn 0;\n\tif(argc==1)\n\t{\n\t\tif(X86_REG_PTR.pESP)\n\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StackWatchList.UpdateContext(*X86_REG_PTR.pESP);\n\t}\n\telse\n\t{\n\t\tULPOS Address;\n\t\tif(CALCEXP(argv[1],&Address)==false)\n\t\t{\n\t\t\tOUTPUT_INPUT_ERROR;\n\t\t\treturn -1;\n\t\t}\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StackWatchList.UpdateContext(Address);\n\t}\n\treturn 0;\n}\n\nint wd_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tCDataView* pDataView;\n\tULONG Address,Index,NewAddr;\n\tASSERT_DEBUGGER_OPENED\n\tNewAddr = 0;\n\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SYSTEM_EXPLORER_VIEW);\n\tif(argc==1)\n\t{\n\t\tpDataView =(CDataView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t}\n\telse\n\t{\n\t\tif(argv[1][0]=='-')\n\t\t{//رյǰDataView\n\t\t\tif(gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetWndCount()>1)\n\t\t\t{\n\t\t\t\tIndex = gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWndIndex();\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.RemoveWnd(Index);\n\t\t\t\tgpSyser->m_MainFrame.SetDefaultFocus();\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\telse if(argv[1][0]=='+')\n\t\t{//DataView\n\t\t\tNewAddr = ACTIVE_DATA_VIEW->m_CurAddr;\n\t\t\tpDataView = ADD_DATA_VIEW();\n\t\t\tif(pDataView==NULL)\n\t\t\t\treturn 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(CALCEXP(argv[1],&Index)==false)\n\t\t\t\tIndex = 0;\n\t\t\tpDataView =(CDataView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetWnd(Index);\n\t\t\tif(pDataView==NULL)\n\t\t\t{\n\t\t\t\tNewAddr = ACTIVE_DATA_VIEW->m_CurAddr;\n\t\t\t\tpDataView = ADD_DATA_VIEW();\n\t\t\t\tif(pDataView==NULL)\n\t\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.ChangeActiveWnd(pDataView);\n\t\t\t}\n\t\t}\n\t}\n\tif(argc>2 && CALCEXP(argv[2],&Address))\n\t\tpDataView->ViewAddress(Address);\n\telse if(NewAddr)\n\t\tpDataView->ViewAddress(NewAddr);\n\tpDataView->Focus();\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint wc_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tCCodeView*pCodeView;\n\tULONG Address,Index,NewAddr;\n\tASSERT_DEBUGGER_OPENED\n\tNewAddr = 0;\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SYSTEM_EXPLORER_VIEW);\n\tif(argc==1)\n\t{\n\t\tpCodeView =(CCodeView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\t}\n\telse\n\t{\n\t\tif(argv[1][0]=='-')\n\t\t{//رյǰCodeView\n\t\t\tif(pSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetWndCount()>1)\n\t\t\t{\n\t\t\t\tIndex = pSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWndIndex();\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.RemoveWnd(Index);\n\t\t\t\tgpSyser->m_MainFrame.SetDefaultFocus();\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\telse if(argv[1][0]=='+')\n\t\t{//CodeView\n\t\t\tNewAddr = ACTIVE_CODE_VIEW->m_CurAddr;\n\t\t\tpCodeView = ADD_CODE_VIEW();\n\t\t\tif(pCodeView==NULL)\n\t\t\t\treturn 1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(CALCEXP(argv[1],&Index)==false)\n\t\t\t\tIndex = 0;\n\t\t\tpCodeView = (CCodeView*) gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetWnd(Index);\n\t\t\tif(pCodeView==NULL)\n\t\t\t{\n\t\t\t\tNewAddr = ACTIVE_CODE_VIEW->m_CurAddr;\n\t\t\t\tpCodeView = ADD_CODE_VIEW();\n\t\t\t\tif(pCodeView==NULL)\n\t\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.ChangeActiveWnd(pCodeView);\n\t\t\t}\n\t\t}\n\t}\n\tif(argc>2 && CALCEXP(argv[2],&Address))\n\t\tpCodeView->SetStartAddress(Address,true);\n\telse if(NewAddr)\n\t\tpCodeView->SetStartAddress(NewAddr,true);\n\tpCodeView->Focus();\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint ws_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(0);\n\tpSyser->m_MainFrame.m_SystemExplorer.m_ContextTabWnd.SetActiveWnd(0);\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint ww_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(0);\n\tpSyser->m_MainFrame.m_SystemExplorer.m_ContextTabWnd.SetActiveWnd(1);\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint wr_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(0);\n\tCWispTabWnd* pWndRegTab=(CWispTabWnd*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiCPUTabWnd.GetActiveWnd();\n\tpWndRegTab->SetActiveWnd(0);\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint wf_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(0);\n\tCWispTabWnd* pWndRegTab=(CWispTabWnd*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiCPUTabWnd.GetActiveWnd();\n\tpWndRegTab->SetActiveWnd(1);\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint wx_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(0);\n\tCWispTabWnd* pWndRegTab=(CWispTabWnd*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiCPUTabWnd.GetActiveWnd();\n\tpWndRegTab->SetActiveWnd(2);\n\t//pSyser->m_MainFrame.m_SystemExplorer.m_RegTabWnd.SetActiveWnd(2);\n\tOUTPUT(WSTR(\"Press ESC to return console\\n\"));\n\treturn 0;\n}\n\nint exp_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tCHAR szBuffer[256];\n\tWCHAR szSym[256];\n\tDWORD Value;\n\tif(argc < 2)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(USHexStrToNum(argv[1],&Value) && GETSYM(Value,szBuffer))\n\t{\n\t\tTStrCpy(szSym,szBuffer);\n\t\tOUTPUT(WSTR(\"%<F>%s\\n\"),szSym);\n\t}\n\telse if(CALCEXP(argv[1],&Value)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %s is Invalid !\\n\"),argv[1]);\n\t\treturn -1;\n\t}\n\telse\n\t\tOUTPUT(WSTR(\"Hex : %X\\n\"),Value);\n\tOUTPUT(WSTR(\"Dec : %d\\n\"),Value);\n/*\tif(Value<0x100)\n\t{\n\t\tOUTPUT(WSTR(\"Bin : \"));\n\t\tfor(int i = 0; i < 8;i++)\n\t\t{\n\t\t\tif(i==2 || i==5)\n\t\t\t\tOUTPUT(WSTR(\" \"));\n\t\t\tOUTPUT(WSTR(\"%d\"),(Value>>(7-i))&1);\n\t\t\t\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t}\n*/\n\treturn 0;\n}\n\nint db_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwBaseAddress;\n\tDWORD dwAddress;\n\tCDataView*pActiveView;\n\tWCHAR* CmdString=NULL;\n\tbool bNext=false;\n\tif(argc>3)\n\t\treturn 1;\n\tswitch(argv[0][1])\n\t{\n\tcase 'b':\n\tcase 'B':\n\t\tif(pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveDataWidth()==1)\n\t\t\tbNext=true;\n\t\telse\n\t\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveDataWidth(1);\n\t\tbreak;\n\tcase 'w':\n\tcase 'W':\n\t\tif(pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveDataWidth()==2)\n\t\t\tbNext=true;\n\t\telse\n\t\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveDataWidth(2);\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tif(pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveDataWidth()==4)\n\t\t\tbNext=true;\n\t\telse\n\t\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveDataWidth(4);\n\t\tbreak;\n\t}\n\tif(argc==1)\n\t{\n\t\tif(bNext==false)//һǸıʾ\n\t\t\treturn 0;\n\t\t//ֻһʾûиıʾһĻ\n\t\tpActiveView=(CDataView*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t\tif(pActiveView==NULL)\n\t\t\treturn 1;\t\t\t\n\t\tdwAddress = pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveAddress();\t\t\n\t\tdwAddress+=pActiveView->m_nLinePerPage*0x10;\n\t\tif(pActiveView->m_bShowOffset)\n\t\t\tdwAddress-=0x10;\n\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(dwAddress,CmdString);\n\t\treturn 0;\n\t}\n\tif(argc==2)\n\t{\n\t\tpActiveView=(CDataView*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t\tif(pActiveView==NULL)\n\t\t\treturn 1;\t\n\t\tif(TStrICmp(argv[1],WSTR(\"-\"))==0)\n\t\t{\n\t\t\tpActiveView->OnPrevPos(NULL);\n\t\t\treturn 0;\n\t\t}\n\t\telse if(TStrICmp(argv[1],WSTR(\"+\"))==0)\n\t\t{\n\t\t\tpActiveView->OnNextPos(NULL);\n\t\t\treturn 0;\n\t\t}\n\n\t\tCmdString=argv[1];\n\t\tif(CALCEXP(argv[1],&dwAddress)==FALSE)\n\t\t{\n\t\t \treturn 1;\n\t\t}\n\t\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(dwAddress,CmdString);\n\t\treturn 0;\n\t}\n\n\tif(argc==3)\n\t{\n\t\tWCHAR *param1,*param2;\n\t\tparam1=argv[1];\n\t\tparam2=argv[2];\n\t\tdo\n\t\t{\n\t\t\targc--;\n\t\t\tif(TStrICmp(param1,WSTR(\"-\"))==0)\n\t\t\t{\n\t\t\t\tif(CALCEXP(param2,&dwAddress)==FALSE)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tpActiveView=(CDataView*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t\t\t\tif(pActiveView==NULL)\n\t\t\t\t\treturn 1;\t\t\t\n\t\t\t\tdwBaseAddress = pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveAddress();\n\t\t\t\tdwAddress=dwBaseAddress-dwAddress;\n\t\t\t\tbreak;\n\n\t\t\t}else if(TStrICmp(param1,WSTR(\"+\"))==0)\n\t\t\t{\n\t\t\t\tif(CALCEXP(param2,&dwAddress)==FALSE)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tpActiveView=(CDataView*)pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\t\t\t\tif(pActiveView==NULL)\n\t\t\t\t\treturn 1;\t\t\t\n\t\t\t\tdwBaseAddress = pSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveAddress();\n\t\t\t\tdwAddress=dwBaseAddress+dwAddress;\n\t\t\t\tbreak;\n\t\t\t}\n#ifdef CODE_OS_NT_DRV\n\t\t\telse\n\t\t\tif(TStrICmp(param1,WSTR(\"-P\"))==0)\n\t\t\t{\n\t\t\t\tif(CALCEXP(param2,&dwAddress)==FALSE)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\t\t\t\tif(MapToVAddr(dwAddress,&dwAddress)==false)\n\t\t\t\t\treturn 1;\n\t\t\t\tbreak;\n\t\t\t}\n#endif\n\t\t\tparam1=argv[2];\n\t\t\tparam2=argv[1];\n\t\t}while(argc!=1);\n\t}\n\n\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(dwAddress,CmdString);\n\treturn 0;\n}\n\n/*\nint isf_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tULPOS Address;\n\tif(argc<=1)\n\t{\n\t\tOUTPUT_COMMAND_USAGE;\n\t\treturn -1;\n\t}\n\tif(CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT_INVALID_ADDRESS;\n\t\treturn -1;\n\t}\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL)\n\t\treturn true;\n\tgpSyser->m_SyserUI.InsertAnalyzerComment(pDbgModule,Address);\n\tUPDATE_CODE_VIEW();\n\treturn 0;\n}\n*/\n"
  },
  {
    "path": "Project/Syser/Source/OtherCmd.h",
    "content": "#ifndef _OTHER_CMD_H_\n#define _OTHER_CMD_H_\n\nDECLARE_SYSER_CMD(exp_command);\nDECLARE_SYSER_CMD(cv_command);\nDECLARE_SYSER_CMD(dv_command);\nDECLARE_SYSER_CMD(sw_command);\nDECLARE_SYSER_CMD(db_command);\nDECLARE_SYSER_CMD(wd_command);\nDECLARE_SYSER_CMD(wc_command);\nDECLARE_SYSER_CMD(ws_command);\nDECLARE_SYSER_CMD(ww_command);\nDECLARE_SYSER_CMD(wr_command);\nDECLARE_SYSER_CMD(wf_command);\nDECLARE_SYSER_CMD(wx_command);\nDECLARE_SYSER_CMD(isf_command);\nDECLARE_SYSER_CMD(dex_command);\n\nextern SYSER_CMD_ENTRY OtherCmdTable[];\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/PCSystem.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"PCSystem.h\"\n\n\nCPCSystem::CPCSystem()\n{\n\tm_pPCIOps = NULL;\n\tm_VmwareVideoCommandPort=0;\n\tm_VmwareVideoDatePort=0;\n\tm_VmwareSecondFrameBuffer=NULL;\n}\n\nCPCSystem::~CPCSystem()\n{\n\n}\n\nbool CPCSystem::Init()\n{\n\tif(InitPCI())\n\t{\n\t\tSearchPCIDevice();\n\t\tInitVmwareVideo();\n\t}\n\tInitUSB();\n\treturn true;\n}\n\n\nvoid CPCSystem::InitVmwareVideo()\n{\n\tif(gInVMWARE==false)\n\t\treturn;\n\n\tPCI_CONFIG_COMMON PCIConfigREG;\n\tDWORD dwOldValue,dwPhysicalAddr;\n\tDWORD dwSize=0;\n\t//pci_dev dev;\n\tbool bFound=false;\n\tint j;\n\n\tfor(j =0;j<0x100;j++)\n\t{\n\t\t//dev.bus = j;\n\t\tfor(int i = 0; i < 0x100; i++)\n\t\t{\n\t\t\t//dev.devfn = i;\n\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(j,i,PCI_VENDOR_ID,&PCIConfigREG.VendorID);\n\t\t\tif(PCIConfigREG.VendorID != 0xffff && PCIConfigREG.VendorID != 0)\n\t\t\t{\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_REVISION_ID,(DWORD *)&PCIConfigREG.RevisionID);\n\t\t\t\tif(PCIConfigREG.BaseClass==3&&PCIConfigREG.SubClass==0&&PCIConfigREG.ProgIf==0)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tfor(int k =0; k <6;k++)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_0+k*4,&dwOldValue);\n\t\t\t\t\t\tif(dwOldValue!=0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(dwOldValue&1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_VmwareVideoCommandPort=*(WORD*)&dwOldValue;\n\t\t\t\t\t\t\t\tm_VmwareVideoCommandPort&=0xfffe;\n\t\t\t\t\t\t\t\tm_VmwareVideoDatePort=m_VmwareVideoCommandPort+1;\n\t\t\t\t\t\t\t}else\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t//m_VmwareSecondFrameBuffer = (DWORD*)dwOldValue;\n\t\t\t\t\t\t\t\tDWORD Addr1;\n\t\t\t\t\t\t\t\tdwPhysicalAddr=dwOldValue;\n\t\t\t\t\t\t\t\tMapToVAddr(dwOldValue,&Addr1);\n\t\t\t\t\t\t\t\tm_VmwareSecondFrameBuffer =(DWORD*) Addr1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\n\t\t\t\t\t\tbFound=true;\n\t\t\t\t\t}\t\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bFound)\n\t\t\t\tbreak;\n\t\t}\n\t\tif(bFound)\n\t\t\tbreak;\n\t}\n\t::DbgPrint(\"Syser : m_VmwareVideoCommandPort=%04x %04x %08x[%08x]\\n\",m_VmwareVideoCommandPort,m_VmwareVideoDatePort,m_VmwareSecondFrameBuffer,dwPhysicalAddr);\n}\n\nvoid CPCSystem::Release()\n{\n\tReleasePCI();\n\tReleaseUSB();\n}\n\nbool CPCSystem::InitPCI()\n{\n\tm_pPCIOps = pci_init();\n\treturn m_pPCIOps!=NULL;\n}\n\nvoid CPCSystem::ReleasePCI()\n{\n\tm_pPCIOps = NULL;\n}\n\nbool CPCSystem::InitUSB()\n{\n\tm_UHCIDevice.Init();\n\tm_OHCIDevice.Init();\n\treturn true;\n}\n\nvoid CPCSystem::ReleaseUSB()\n{\n\tm_OHCIDevice.Release();\n\tm_UHCIDevice.Release();\n}\n\nvoid CPCSystem::SearchPCIDevice()\n{\n\tWORD  VendorID,DeviceID;\n\tfor(int bus =0;bus<0x100;bus++)\n\t{\n\t\tfor(int fn = 0; fn < 0x100; fn++)\n\t\t{\n\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(bus,fn,PCI_VENDOR_ID,&VendorID);\n\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(bus,fn,PCI_DEVICE_ID,&DeviceID);\n\t\t\tif(VendorID!=0xFFFF && VendorID && DeviceID!=0xFFFF && DeviceID)\n\t\t\t\tRecognizePCIDevice(bus,fn);\n\t\t}\n\t}\t\n}\n\nvoid CPCSystem::RecognizePCIDevice(int Bus,int DevFN)\n{\n\tBYTE ProgIf;\n\tOHCI_REGS*pOHCIRegs;\n\tDWORD DevClass,Value;\n\tReadPCICFGDWord(Bus,DevFN,PCI_REVISION_ID,&DevClass);\n\tswitch(HIGH_WORD(DevClass))\n\t{\n\tcase PCI_CLASS_SERIAL_USB:\n\t\tProgIf = (BYTE)(DevClass>>8);\n\t\tswitch(ProgIf)\n\t\t{\n\t\tcase 0://UHCI\n\t\t\tReadPCICFGDWord(Bus,DevFN,PCI_BASE_ADDRESS_4,&Value);\n\t\t\tif(Value&1)\n\t\t\t{\n\t\t\t\tTList<UHCI_CTRL_INFO>::IT  Iter = m_UHCIDevice.m_UHCICtrlList.Append();\n\t\t\t\tIter->USBBase = (WORD)(Value&0xFFE0);\n\t\t\t\tIter->FrameBase = SyserReadPortDword(Iter->USBBase+8) & 0xFFFFF000;\n\t\t\t\tIter->Bus = Bus;\n\t\t\t\tIter->DevFN = DevFN;\n\t\t\t\tOUTPUT(WSTR(\"Syser : Find UHCI Ctrl %d [Bus %02X Device %02X Function %02X USBBase %X FrameBase %08X]\\n\"),m_UHCIDevice.m_UHCICtrlList.Count()-1,Iter->Bus,Iter->DevFN>>3,Iter->DevFN&7,Iter->USBBase,Iter->FrameBase);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x10://OHCI\n\t\t\t{\n\t\t\t\tReadPCICFGDWord(Bus,DevFN,PCI_BASE_ADDRESS_0,&Value);\n\t\t\t\tif(MapToVAddr(Value,(ULPOS*)&pOHCIRegs)==0)\n\t\t\t\t\tbreak;\n\t\t\t\tTList<OHCI_CTRL_INFO>::IT  Iter = m_OHCIDevice.m_OHCICtrlList.Append();\n\t\t\t\tIter->Bus = Bus;\n\t\t\t\tIter->DevFN = DevFN;\n\t\t\t\tIter->pOHCIRegs = pOHCIRegs;\n\t\t\t\tOUTPUT(WSTR(\"Syser : Find OHCI Ctrl %d [Bus %02X Device %02X Function %02X]\\n\"),m_OHCIDevice.m_OHCICtrlList.Count()-1,Iter->Bus,Iter->DevFN>>3,Iter->DevFN&7);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x20://EHCI\n\t\t\tOUTPUT(WSTR(\"Syser : Find EHCI Ctrl\\n\"));\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\t}\n}\n\nvoid CPCSystem::ReadPCICFGByte(int Bus,int DevFN,int Offset,BYTE*Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->read_byte(&dev,Offset,Val);\n}\n\nvoid CPCSystem::ReadPCICFGWord(int Bus,int DevFN,int Offset,WORD*Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->read_word(&dev,Offset,Val);\n}\n\nvoid CPCSystem::ReadPCICFGDWord(int Bus,int DevFN,int Offset,DWORD*Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->read_dword(&dev,Offset,Val);\n}\n\nvoid CPCSystem::WritePCICFGByte(int Bus,int DevFN,int Offset,BYTE Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->write_byte(&dev,Offset,Val);\n}\n\nvoid CPCSystem::WritePCICFGWord(int Bus,int DevFN,int Offset,WORD Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->write_word(&dev,Offset,Val);\n}\n\nvoid CPCSystem::WritePCICFGDWord(int Bus,int DevFN,int Offset,DWORD Val)\n{\n\tpci_dev dev;\n\tif(m_pPCIOps==NULL)\n\t\treturn;\n\tdev.bus = Bus;\n\tdev.devfn = DevFN;\n\tm_pPCIOps->write_dword(&dev,Offset,Val);\n}\n\nvoid CPCSystem::AttachUSBDevice()\n{\n\tm_UHCIDevice.Attach();\n\tm_OHCIDevice.Attach();\n}\n\nvoid CPCSystem::DetachUSBDevice()\n{\n\tm_OHCIDevice.Detach();\n\tm_UHCIDevice.Detach();\n}\n\nvoid CPCSystem::USBDeviceService()\n{\n\tgpSyser->m_PCSystem.m_UHCIDevice.UHCIMouseService();\n\tgpSyser->m_PCSystem.m_UHCIDevice.UHCIKeyboardService();\n\tgpSyser->m_PCSystem.m_OHCIDevice.OHCIMouseService();\n\tgpSyser->m_PCSystem.m_OHCIDevice.OHCIKeyboardService();\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/PCSystem.h",
    "content": "#ifndef _PC_SYSTEM_H_\n#define _PC_SYSTEM_H_\n\n#include \"UHCIDevice.h\"\n#include \"OHCIDevice.h\"\n\nclass CPCSystem\n{\npublic:\n\tCPCSystem();\n\t~CPCSystem();\n\tbool\tInit();\n\tvoid\tRelease();\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//PCI\nprivate:\n\tpci_ops*\tm_pPCIOps;\npublic:\n\tbool\t\tInitPCI();\n\tvoid\t\tReleasePCI();\n\tvoid\t\tSearchPCIDevice();\n\tvoid\t\tRecognizePCIDevice(int Bus,int DevFN);\n\tvoid\t\tReadPCICFGByte(int Bus,int DevFN,int Offset,BYTE*Val);\n\tvoid\t\tReadPCICFGWord(int Bus,int DevFN,int Offset,WORD*Val);\n\tvoid\t\tReadPCICFGDWord(int Bus,int DevFN,int Offset,DWORD*Val);\n\tvoid\t\tWritePCICFGByte(int Bus,int DevFN,int Offset,BYTE Val);\n\tvoid\t\tWritePCICFGWord(int Bus,int DevFN,int Offset,WORD Val);\n\tvoid\t\tWritePCICFGDWord(int Bus,int DevFN,int Offset,DWORD Val);\n//PCI\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//USB\npublic:\n\tCUHCIDevice\tm_UHCIDevice;\n\tCOHCIDevice\tm_OHCIDevice;\n\tbool\t\tInitUSB();\n\tvoid\t\tReleaseUSB();\n\tvoid\t\tAttachUSBDevice();\n\tvoid\t\tDetachUSBDevice();\n\tvoid\t\tUSBDeviceService();\n\tvoid\t\tInitVmwareVideo();\n\tWORD\t\tm_VmwareVideoCommandPort;\n\tWORD\t\tm_VmwareVideoDatePort;\n\tDWORD*\t\tm_VmwareSecondFrameBuffer;\n//USB\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/PEExplorer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"PEExplorer.h\"\n\n\nchar* TimeDateStampToString(DWORD TimeDateStamp,char* TimeString)\n{\n\tDWORD val= TimeDateStamp;\n\tDWORD dat =val/86400;\n\tDWORD dat1 =val%86400;\n\tDWORD hour=dat1/3600;\n\tDWORD hour1=dat1%3600;\n\tDWORD minute=hour1/60;\n\tDWORD minute1=hour1%60;\n\tDWORD second=minute1;\n\tDWORD year=dat/365+1970;\n\tDWORD year1=dat%365,i;\n\tDWORD dat2 = (year/4 - 1970/4) - (year/100 - 1970/100) + (year/400-1970/400);\n\tWORD wDayOfWeek=(WORD)((dat+1)%7);\n\tif(((year%4)==0&& (year%100)!=0) || ((year %400)==0))    \n\t\tdat2--;\n\tDWORD month[12]={31,28,31,30,31,30,31,31,30,31,30,31};\n\tif(year1<dat2)\n\t{\n\t\tyear--;\n\t}\n\tdat2 = (year-1970)*365+(year/4 - 1970/4) - (year/100 - 1970/100) + (year/400-1970/400);\n\tif(((year%4)==0&& (year%100)!=0) || ((year %400)==0))    \n\t\tdat2--,month[1]++;;\n\tdat -= dat2;\n\n\tfor(i=0;i<12;i++)\n\t{\n\t\tif(dat>=month[i])\n\t\t\tdat-=month[i];\n\t\telse\n\t\t\tbreak;\n\t}\n\tdat++;\t\n\tWORD wYear=(WORD)year;\n\tWORD wMonth=(WORD)i+1;\n\tWORD wDay=(WORD)dat;\n\tWORD wHour=(WORD)hour;\n\tWORD wMinute=(WORD)minute;\n\tWORD wSecond=(WORD)second;\n\tTSPrintf(TimeString,\"%02d/%02d/%d %02d:%02d:%02d\",wDay,wMonth,wYear,wHour,wMinute,wSecond);\n\treturn TimeString;\n}\n\nDWORD GetModuleBaseByName(char* FileName)\n{\n\tDWORD BaseAddress=0;\n\tCDbgModuleMap::IT Iter = gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\n\twhile(Iter.IsExist())\n\t{\n\t\tif(TStrICmp(Iter->m_ModuleName,FileName)==0)\n\t\t{\n\t\t\tBaseAddress = Iter->m_ModuleBase;\n\t\t\tbreak;\n\t\t}\n\t\tIter++;\n\t}\t\n\treturn BaseAddress;\n}\n\nenum {\n\tCMD_ID_PEHEADER_1=WISP_ID_USER_START+0x100,\n\tCMD_ID_PEHEADER_2,\n\tCMD_ID_IMPORT_LIST1,\n\tCMD_ID_IMPORT_LIST2,\n\tCMD_ID_WND_DATA_DIRECTORY,\n\n};\nenum CPEExplorerForm::WISP_FORM_ID\n{\t\n\tCMD_ID_BT_EDIT = WISP_ID_USER_START,\n\tCMD_ID_MAIN_TAB,\n\tCMD_ID_COMBOBOX_MODULE,\n\tCMD_ID_WND_PE_HEADER,\t\n\tCMD_ID_WND_RELOCATIONS,\n\tCMD_ID_WND_IMPORT,\n\tCMD_ID_WND_EXPORT,\n\tCMD_ID_BP_DATA_LIST,\n};\n\nWISP_FORM_RES_ITEM CPEExplorerForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,780,390},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"PE Explorer\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\",\n\t},\n\t{\n\t\tWISP_CTRL_COMBO_BOX,\n\t\t{5,5,135,20},\n\t\tCMD_ID_COMBOBOX_MODULE,\n\t\tWISP_ES_EDIT_NORMAL|WISP_ES_READONLY,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_TAB,\n\t\t{5,30,765,330},\n\t\tCMD_ID_MAIN_TAB,\n\t\tWISP_WS_THIN_BORDER,\n\t\tNULL,\n\t},\t\t\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CPEExplorerForm)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CPEExplorerForm)\n\tWISP_MSG_CMD_MAP(CMD_ID_COMBOBOX_MODULE,OnModuleSelectComboxCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CPEExplorerForm)\n\n\nWISP_MSG_EVENT_MAP_END\n\nCPEExplorerForm::CPEExplorerForm()\n{\n\tm_pFormRes = m_FormRes;\t\n\tm_pMainTab=NULL;\n\tm_PEHeaderWnd=NULL;\n\tm_PERelcationWnd=NULL;\n\tm_PEImportWnd=NULL;\n\tm_PEExportWnd=NULL;\n}\n\nCPEExplorerForm::~CPEExplorerForm()\n{\n\tif(m_MemPEFile.IsOpened())\n\t\tm_MemPEFile.Close();\n}\nvoid CPEExplorerForm::UpdateContext(DWORD ModuleBase)\n{\n\tif(!IsWindow())\n\t\treturn;\n\tif(SetPEModuleBase(ModuleBase)==false)\n\t\treturn;\n\tChangeModule(ModuleBase);\n\tm_PEHeaderWnd->LoadPEFile(&m_MemPEFile);\n\tm_PERelcationWnd->LoadPEFile(&m_MemPEFile);\n\tm_PEImportWnd->LoadPEFile(&m_MemPEFile);\n\tm_PEExportWnd->LoadPEFile(&m_MemPEFile);\n\tm_DataDirectoryWnd->LoadPEFile(&m_MemPEFile);\n}\n\n\nbool CPEExplorerForm::SetPEModuleBase(DWORD ModuleBase)\n{\n\tif(m_MemPEFile.IsOpened())\n\t{\n\t\tm_MemPEFile.Close();\t\n\t}\n\treturn m_MemPEFile.Open(ModuleBase,PE_OPEN_ALL,CDebugger::ReadMemory,gpSyser->m_pDebugger);\t\t\n}\nvoid CPEExplorerForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreateForm(NULL);\n\t}\n}\nbool CPEExplorerForm::OnModuleSelectComboxCmd(IN WISP_MSG* pMsg)\n{\n\tNUM_PTR ItemData;\n\tif(pMsg->Command.CmdMsg == WISP_CMD_COMBOX_SELCHANGE)\n\t{\n\t\tItemData = m_ModuleSelectList->m_ComboList.GetItemData((HANDLE)pMsg->Command.Param2);\n\t\tUpdateContext((DWORD)ItemData);\n\t}\n\treturn true;\n}\nbool CPEExplorerForm::ChangeModule(DWORD BaseAddress)\n{\n\tHANDLE hItem=NULL;\n\tDWORD Index=0,Count;\n\tNUM_PTR ItemData;\n\n\tCount = m_ModuleSelectList->m_ComboList.GetItemCount();\n\tdo \n\t{\n\t\thItem = m_ModuleSelectList->m_ComboList.GetItem(Index);\n\t\tif(hItem==NULL)\n\t\t\tbreak;\n\t\tItemData = m_ModuleSelectList->m_ComboList.GetItemData(hItem);\n\t\tif(BaseAddress==(DWORD)ItemData)\n\t\t{\n\t\t\tm_ModuleSelectList->SelectItem(Index);\n\t\t\tbreak;\n\t\t}\n\t\tIndex++;\n\t} while(Index < Count);\n\treturn true;\n}\nbool CPEExplorerForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_pMainTab = (CWispTabWnd*) GetFormItem(CMD_ID_MAIN_TAB);\n\tm_PEHeaderWnd = new CPEHeaderWnd;\n\tm_PEHeaderWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_PE_HEADER,WISP_WS_NULL);\n\tm_PEHeaderWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"PE Header\"),m_PEHeaderWnd);\n\tm_PEHeaderWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tm_ModuleSelectList = (CWispComboBox*)GetFormItem(CMD_ID_COMBOBOX_MODULE);\n\n\tCDbgModuleMap::IT Iter = gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\twhile(Iter.IsExist())\n\t{\t\t\n\t\tHANDLE hListItem = m_ModuleSelectList->m_ComboList.InsertItemA(Iter->m_ModuleName);\n\t\tm_ModuleSelectList->m_ComboList.SetItemData(hListItem,0,Iter->m_ModuleBase);\t\n\t\tIter++;\n\t}\t\t\n\tm_ModuleSelectList->SelectItem(0);\n\tm_DataDirectoryWnd = new CPEDataDirectoryWnd;\n\tm_DataDirectoryWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_DATA_DIRECTORY,WISP_WS_NULL);\n\tm_DataDirectoryWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Data Directories\"),m_DataDirectoryWnd);\n\tm_DataDirectoryWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\n\tm_PERelcationWnd = new CPERelcationWnd;\n\tm_PERelcationWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_RELOCATIONS,WISP_WS_NULL);\n\tm_PERelcationWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Relocations\"),m_PERelcationWnd);\n\tm_PERelcationWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\n\tm_PEImportWnd = new CPEImportWnd;\n\tm_PEImportWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_IMPORT,WISP_WS_NULL);\n\tm_PEImportWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Imports\"),m_PEImportWnd);\n\tm_PEImportWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\n\tm_PEExportWnd = new CPEExportWnd;\n\tm_PEExportWnd->Create(NULL,0,0,0,0,m_pMainTab,CMD_ID_WND_EXPORT,WISP_WS_NULL);\n\tm_PEExportWnd->SetOwner(this);\n\tm_pMainTab->InsertWnd(WSTR(\"Exports\"),m_PEExportWnd);\n\tm_PEExportWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\n\treturn true;\n}\n\n\nCPEHeaderWnd::CPEHeaderWnd()\n{\n\n}\nCPEHeaderWnd::~CPEHeaderWnd()\n{\n\n}\nWISP_MSG_MAP_BEGIN(CPEHeaderWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CPEHeaderWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CPEHeaderWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_pPEHeaderList1.Create(NULL,5,5,372,294,this,CMD_ID_PEHEADER_1,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tm_pPEHeaderList2.Create(NULL,385,5,372,294,this,CMD_ID_PEHEADER_2,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tInitPEHeaderList();\n\treturn true;\n}\nbool CPEHeaderWnd::LoadPEFile(CMemPEFile* pMemPEFile)\n{\n\tchar TimeString[50];\n\t\n\tTimeDateStampToString(pMemPEFile->m_PEHead.TimeDateStamp-gpSyser->m_TimeZoneBias,TimeString);\n\tm_pPEHeaderList1.SetItemNum(m_Item[0],1,pMemPEFile->m_PEHead.Machine,WSTR(\"0x%04x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[1],1,pMemPEFile->m_PEHead.NumberOfSections,WSTR(\"0x%04x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[2],1,pMemPEFile->m_PEHead.TimeDateStamp,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemTextA(m_Item[2],2,TimeString);\n\tm_pPEHeaderList1.SetItemNum(m_Item[3],1,pMemPEFile->m_PEHead.PointerToSymbolTable,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[4],1,pMemPEFile->m_PEHead.NumberOfSymbols,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[5],1,pMemPEFile->m_PEHead.SizeOfOptionalHeader,WSTR(\"0x%04x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[6],1,pMemPEFile->m_PEHead.Characteristics,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[7],1,pMemPEFile->m_PEHead.Magic,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[8],1,(pMemPEFile->m_PEHead.MinorLinkerVersion << 8) | pMemPEFile->m_PEHead.MajorLinkerVersion,WSTR(\"0x%04x\"));\n\tTSPrintf(TimeString,\"%d.%d\",pMemPEFile->m_PEHead.MajorLinkerVersion,pMemPEFile->m_PEHead.MinorLinkerVersion);\n\tm_pPEHeaderList1.SetItemTextA(m_Item[8],2,TimeString);\n\tm_pPEHeaderList1.SetItemNum(m_Item[9],1,pMemPEFile->m_PEHead.SizeOfCode,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[10],1,pMemPEFile->m_PEHead.SizeOfInitializedData,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[11],1,pMemPEFile->m_PEHead.SizeOfUninitializedData,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[12],1,pMemPEFile->m_PEHead.AddressOfEntryPoint,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[13],1,pMemPEFile->m_PEHead.BaseOfCode,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[14],1,pMemPEFile->m_PEHead.BaseOfData,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList1.SetItemNum(m_Item[15],1,pMemPEFile->m_PEHead.ImageBase,WSTR(\"0x%08x\"));\n\n\tm_pPEHeaderList2.SetItemNum(m_HItem[0],1,pMemPEFile->m_PEHead.SectionAlignment,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[1],1,pMemPEFile->m_PEHead.FileAlignment,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[2],1,(pMemPEFile->m_PEHead.MinorOperatingSystemVersion <<16)| pMemPEFile->m_PEHead.MajorOperatingSystemVersion,WSTR(\"0x%08x\"));\n\tTSPrintf(TimeString,\"%d.%d\",pMemPEFile->m_PEHead.MajorOperatingSystemVersion,pMemPEFile->m_PEHead.MinorOperatingSystemVersion);\n\tm_pPEHeaderList1.SetItemTextA(m_HItem[2],2,TimeString);\n\tm_pPEHeaderList2.SetItemNum(m_HItem[3],1,(pMemPEFile->m_PEHead.MinorImageVersion<<16)|pMemPEFile->m_PEHead.MajorImageVersion,WSTR(\"0x%08x\"));\n\tTSPrintf(TimeString,\"%d.%d\",pMemPEFile->m_PEHead.MajorImageVersion,pMemPEFile->m_PEHead.MinorImageVersion);\n\tm_pPEHeaderList1.SetItemTextA(m_HItem[3],2,TimeString);\n\tm_pPEHeaderList2.SetItemNum(m_HItem[4],1,(pMemPEFile->m_PEHead.MinorSubsystemVersion<<16)|pMemPEFile->m_PEHead.MajorSubsystemVersion,WSTR(\"0x%08x\"));\n\tTSPrintf(TimeString,\"%d.%d\",pMemPEFile->m_PEHead.MajorSubsystemVersion,pMemPEFile->m_PEHead.MinorSubsystemVersion);\n\tm_pPEHeaderList1.SetItemTextA(m_HItem[4],2,TimeString);\n\tm_pPEHeaderList2.SetItemNum(m_HItem[5],1,pMemPEFile->m_PEHead.Win32VersionValue,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[6],1,pMemPEFile->m_PEHead.SizeOfImage,WSTR(\"0x%08x\"));\n\tTSPrintf(TimeString,\"%d bytes\",pMemPEFile->m_PEHead.SizeOfImage);\n\tm_pPEHeaderList2.SetItemTextA(m_HItem[6],2,TimeString);\n\tm_pPEHeaderList2.SetItemNum(m_HItem[7],1,pMemPEFile->m_PEHead.SizeOfHeaders,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[8],1,pMemPEFile->m_PEHead.CheckSum,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[9],1,pMemPEFile->m_PEHead.Subsystem,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[10],1,pMemPEFile->m_PEHead.DllCharacteristics,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[11],1,pMemPEFile->m_PEHead.SizeOfStackReserve,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[12],1,pMemPEFile->m_PEHead.SizeOfStackCommit,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[13],1,pMemPEFile->m_PEHead.SizeOfHeapReserve,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[14],1,pMemPEFile->m_PEHead.SizeOfHeapCommit,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[15],1,pMemPEFile->m_PEHead.LoaderFlags,WSTR(\"0x%08x\"));\n\tm_pPEHeaderList2.SetItemNum(m_HItem[16],1,pMemPEFile->m_PEHead.NumberOfRvaAndSizes,WSTR(\"0x%08x\"));\n\treturn true;\n}\nbool CPEHeaderWnd::InitPEHeaderList()\n{\t\t\n\tm_pPEHeaderList1.InsertColumn(WSTR(\"Field Name\"),165);\n\tm_pPEHeaderList1.InsertColumn(WSTR(\"Date Value\"),80);\n\tm_pPEHeaderList1.InsertColumn(WSTR(\"Description\"),120);\n\tm_Item[0]=m_pPEHeaderList1.InsertItem(WSTR(\"Machine\"));\n\tm_Item[1]=m_pPEHeaderList1.InsertItem(WSTR(\"Number of Sections\"));\n\tm_Item[2]=m_pPEHeaderList1.InsertItem(WSTR(\"Time Date Stamp\"));\n\tm_Item[3]=m_pPEHeaderList1.InsertItem(WSTR(\"Pointer to Symbol Table\"));\n\tm_Item[4]=m_pPEHeaderList1.InsertItem(WSTR(\"Number of Symbols\"));\n\tm_Item[5]=m_pPEHeaderList1.InsertItem(WSTR(\"Size of Optional Header\"));\n\tm_Item[6]=m_pPEHeaderList1.InsertItem(WSTR(\"Characteristics\"));\n\tm_Item[7]=m_pPEHeaderList1.InsertItem(WSTR(\"Magic\"));\n\tm_Item[8]=m_pPEHeaderList1.InsertItem(WSTR(\"Linker Version\"));\n\tm_Item[9]=m_pPEHeaderList1.InsertItem(WSTR(\"Size of code\"));\n\tm_Item[10]=m_pPEHeaderList1.InsertItem(WSTR(\"Size of Initialized Data\"));\n\tm_Item[11]=m_pPEHeaderList1.InsertItem(WSTR(\"Size of Uninitialized Data\"));\n\tm_Item[12]=m_pPEHeaderList1.InsertItem(WSTR(\"Address of entry Point\"));\n\tm_Item[13]=m_pPEHeaderList1.InsertItem(WSTR(\"Base of code\"));\n\tm_Item[14]=m_pPEHeaderList1.InsertItem(WSTR(\"Base of data\"));\n\tm_Item[15]=m_pPEHeaderList1.InsertItem(WSTR(\"Image Base\"));\t\n\tm_pPEHeaderList2.InsertColumn(WSTR(\"Field Name\"),165);\n\tm_pPEHeaderList2.InsertColumn(WSTR(\"Date Value\"),90);\n\tm_pPEHeaderList2.InsertColumn(WSTR(\"Description\"),110);\n\n\n\n\tm_HItem[0]=m_pPEHeaderList2.InsertItem(WSTR(\"Section Alignment\"));\n\tm_HItem[1]=m_pPEHeaderList2.InsertItem(WSTR(\"File Alignment\"));\n\tm_HItem[2]=m_pPEHeaderList2.InsertItem(WSTR(\"Operating System Version\"));\n\tm_HItem[3]=m_pPEHeaderList2.InsertItem(WSTR(\"Image Version\"));\n\tm_HItem[4]=m_pPEHeaderList2.InsertItem(WSTR(\"Subsystem Version\"));\n\tm_HItem[5]=m_pPEHeaderList2.InsertItem(WSTR(\"Win32 Version Value\"));\n\tm_HItem[6]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Image\"));\n\tm_HItem[7]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Headers\"));\n\tm_HItem[8]=m_pPEHeaderList2.InsertItem(WSTR(\"Checksum\"));\n\tm_HItem[9]=m_pPEHeaderList2.InsertItem(WSTR(\"Subsystem\"));\n\tm_HItem[10]=m_pPEHeaderList2.InsertItem(WSTR(\"Dll Characteristics\"));\n\tm_HItem[11]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Stack Reserve\"));\n\tm_HItem[12]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Stack Commit\"));\n\tm_HItem[13]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Heap Reserve\"));\n\tm_HItem[14]=m_pPEHeaderList2.InsertItem(WSTR(\"Size of Heap Commit\"));\n\tm_HItem[15]=m_pPEHeaderList2.InsertItem(WSTR(\"Loader Flags\"));\n\tm_HItem[16]=m_pPEHeaderList2.InsertItem(WSTR(\"Number of Data Directories\"));\n\treturn true;\n}\n\nCPERelcationWnd::CPERelcationWnd()\n{\n\n}\nCPERelcationWnd::~CPERelcationWnd()\n{\n\n}\nWISP_MSG_MAP_BEGIN(CPERelcationWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CPERelcationWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CPERelcationWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_RelPageList.Create(NULL,5,5,372,294,this,CMD_ID_PEHEADER_1,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tm_RelEntryList.Create(NULL,385,5,372,294,this,CMD_ID_PEHEADER_2,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tInitList();\n\treturn true;\n}\nbool CPERelcationWnd::LoadPEFile(CMemPEFile* pMemPEFile)\n{\n\treturn true;\n}\nbool CPERelcationWnd::InitList()\n{\t\t\n\tm_RelPageList.InsertColumn(WSTR(\"RVA\"),165);\n\tm_RelPageList.InsertColumn(WSTR(\"Items\"),90);\n\tm_RelPageList.InsertColumn(WSTR(\"Owner\"),110);\n\tm_RelEntryList.InsertColumn(WSTR(\"Offset\"),165);\n\tm_RelEntryList.InsertColumn(WSTR(\"Types\"),90);\n\treturn true;\n}\n\n\nCPEImportWnd::CPEImportWnd()\n{\n\n}\nCPEImportWnd::~CPEImportWnd()\n{\n\n}\nWISP_MSG_MAP_BEGIN(CPEImportWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CPEImportWnd)\n\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CPEImportWnd)\nWISP_MSG_CMD_MAP(CMD_ID_IMPORT_LIST1,OnModuleSelected)\nWISP_MSG_CMD_MAP_END\nDWORD CPEImportWnd::GetModuleBaseByName(char* FileName)\n{\n\tDWORD BaseAddress=0;\n\tCDbgModuleMap::IT Iter = gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\n\twhile(Iter.IsExist())\n\t{\n\t\tif(TStrICmp(Iter->m_ModuleName,FileName)==0)\n\t\t{\n\t\t\tBaseAddress = Iter->m_ModuleBase;\n\t\t\tbreak;\n\t\t}\n\t\tIter++;\n\t}\t\n\treturn BaseAddress;\n}\nbool CPEImportWnd::OnModuleSelected(WISP_MSG*pMsg)\n{\n\tCMemPEFile ImportPEFile;\n\tbool bImportOpen=false;\n\tDWORD FunAddress;\n\tint Index;\n\tDWORD ImportModuleBase=0;\n\tif(pMsg->Command.CmdMsg!=WISP_CMD_ITEM_SELECTED)\t\n\t\treturn true;\n\tif(gpSyser->m_pDebugger==NULL)\n\t\treturn true;\t\n\tm_ImportEntryList.ClearChildItem();\n\tHANDLE hItem = m_ImportModuleList.GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tNUM_PTR ItemData;\n\tItemData = m_ImportModuleList.GetItemData(hItem);\n\tint i = (int)ItemData,j,k;\n\tif(i >= m_pMemPEFile->m_ImportModuleCount)\n\t\treturn true;\n\tk = m_pMemPEFile->m_ImportModule[i].FuncCount;\n\tIMPORT_FUNC* pFunc=\tm_pMemPEFile->m_ImportModule[i].FuncList;\n\t\n\tImportModuleBase = GetModuleBaseByName(m_pMemPEFile->m_ImportModule[i].FileName);\n\tif(ImportModuleBase)\n\t{\n\t\tbImportOpen = ImportPEFile.Open(ImportModuleBase,PE_OPEN_ALL|PE_OPEN_NO_IMPORT,CDebugger::ReadMemory,gpSyser->m_pDebugger);\t\t\t\t\n\t}\n\tfor(j=0;j<k;j++)\n\t{\n\t\thItem = m_ImportEntryList.InsertItem(pFunc[j].ThunkAddr,NULL,WSTR(\"0x%08X\"));\n\t\tm_ImportEntryList.SetItemData(hItem,0,pFunc[j].ThunkAddr);\n\t\tif(bImportOpen)\n\t\t{\n\t\t\tFunAddress = ImportPEFile.GetExportFunc(pFunc[j].FuncName,&Index);\n\t\t\tm_ImportEntryList.SetItemNum(hItem,1,Index,WSTR(\"0x%04X\"));\t\n\t\t\tm_ImportEntryList.SetItemNum(hItem,2,FunAddress,WSTR(\"0x%08X\"));\n\t\t\tm_ImportEntryList.SetItemData(hItem,2,FunAddress);\n\t\t}\t\t\n\t\tm_ImportEntryList.SetItemTextA(hItem,3,pFunc[j].FuncName);\n\t}\n\tif(bImportOpen)\n\t\tImportPEFile.Close();\n\treturn true;\n}\n\nbool CPEImportWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_ImportModuleList.Create(NULL,5,5,225,294,this,CMD_ID_IMPORT_LIST1,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tm_ImportEntryList.Create(NULL,240,5,510,294,this,CMD_ID_IMPORT_LIST2,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tInitList();\n\treturn true;\n}\nbool CPEImportWnd::LoadPEFile(CMemPEFile* pMemPEFile)\n{\n\tint i,j;\n\tHANDLE hItem;\n\tDWORD ImportModuleBase;\n\tm_pMemPEFile=pMemPEFile;\n\tj=pMemPEFile->m_ImportModuleCount;\n\tm_ImportModuleList.ClearChildItem();\n\tfor(i=0;i<j;i++)\n\t{\t\t\n\t\thItem = m_ImportModuleList.InsertItem(pMemPEFile->m_ImportModule[i].Address,NULL,WSTR(\"0x%08X\"));\n\t\tm_ImportModuleList.SetItemData(hItem,2,pMemPEFile->m_ImportModule[i].Address);\n\t\tm_ImportModuleList.SetItemTextA(hItem,1,pMemPEFile->m_ImportModule[i].FileName);\n\t\tm_ImportModuleList.SetItemData(hItem,0,i);\n\t\tImportModuleBase = GetModuleBaseByName(pMemPEFile->m_ImportModule[i].FileName);\n\t\tm_ImportModuleList.SetItemData(hItem,1,ImportModuleBase);\n\t\tm_ImportModuleList.SetItemNum(hItem,2,pMemPEFile->m_ImportModule[i].FuncCount,WSTR(\"%d\"));\t\t\n\t}\n\treturn true;\n}\nbool CPEImportWnd::InitList()\n{\t\t\n\tm_ImportModuleList.InsertColumn(WSTR(\"RVA\"),70);\n\tm_ImportModuleList.InsertColumn(WSTR(\"Name\"),100);\n\tm_ImportModuleList.InsertColumn(WSTR(\"Count\"),40);\n\tm_ImportEntryList.InsertColumn(WSTR(\"RVA\"),70);\n\tm_ImportEntryList.InsertColumn(WSTR(\"Hint\"),50);\n\tm_ImportEntryList.InsertColumn(WSTR(\"Entry Point\"),70);\n\tm_ImportEntryList.InsertColumn(WSTR(\"Name\"),270);\n\treturn true;\n}\n\nCPEExportWnd::CPEExportWnd()\n{\n\n}\nCPEExportWnd::~CPEExportWnd()\n{\n\n}\nWISP_MSG_MAP_BEGIN(CPEExportWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CPEExportWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CPEExportWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_ExportEntryList.Create(NULL,5,5,736,294,this,CMD_ID_PEHEADER_1,\t\tWISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tInitList();\n\treturn true;\n}\nbool CPEExportWnd::LoadPEFile(CMemPEFile* pMemPEFile)\n{\n\tint i = 0,j; \n\tHANDLE hItem;\n\tm_ExportEntryList.ClearChildItem();\n\tj = pMemPEFile->m_ExportFuncCount;\n\tfor(i=0;i<j;i++)\n\t{\t\t\n\t\thItem = m_ExportEntryList.InsertItem(pMemPEFile->m_ExportFunc[i].Address,NULL,WSTR(\"0x%08X\"));\n\t\tm_ExportEntryList.SetItemData(hItem,0,pMemPEFile->m_ExportFunc[i].Address);\n\t\tm_ExportEntryList.SetItemNum(hItem,1,pMemPEFile->m_ExportFunc[i].FuncOrd,WSTR(\"%d\"));\n\t\tm_ExportEntryList.SetItemNum(hItem,2,pMemPEFile->m_ExportFunc[i].ThunkAddr,WSTR(\"0x%08X\"));\n\t\tm_ExportEntryList.SetItemData(hItem,2,pMemPEFile->m_ExportFunc[i].ThunkAddr);\n\t\tm_ExportEntryList.SetItemTextA(hItem,3,pMemPEFile->m_ExportFunc[i].FuncName);\t\t\n\t}\n\treturn true;\n}\nbool CPEExportWnd::InitList()\n{\t\t\n\tm_ExportEntryList.InsertColumn(WSTR(\"Entry Point\"),80);\n\tm_ExportEntryList.InsertColumn(WSTR(\"Ord\"),50);\n\tm_ExportEntryList.InsertColumn(WSTR(\"Thunk\"),80);\n\tm_ExportEntryList.InsertColumn(WSTR(\"Name\"),490);\t\n\treturn true;\n}\nCPEExportList::CPEExportList()\n{\n\n}\n\nCPEExportList::~CPEExportList()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CPEExportList) \n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\nWISP_MSG_MAP_END(CWispList)\n\n\nbool CPEExportList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CellRC;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tNUM_PTR ItemData;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tGetItemCellRect(hItem,2,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t{\n\t\t\tItemData = GetItemData(hItem,2);\n\t\t\tVIEW_DATA((DWORD)ItemData);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tItemData = GetItemData(hItem,0);\n\t\t\tVIEW_CODE((DWORD)ItemData,true);\n\t\t}\n\t}\t\n\treturn true;\n}\n\nCPEImportModuleList::CPEImportModuleList()\n{\n\n}\n\nCPEImportModuleList::~CPEImportModuleList()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CPEImportModuleList) \nWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\nWISP_MSG_MAP_END(CWispList)\n\n\nbool CPEImportModuleList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CellRC;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tNUM_PTR ItemData;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tGetItemCellRect(hItem,0,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t{\n\t\t\tItemData = GetItemData(hItem,2);\n\t\t\tVIEW_DATA((DWORD)ItemData);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tItemData = GetItemData(hItem,1);\n\t\t\tVIEW_DATA((DWORD)ItemData);\n\t\t}\n\t}\t\n\treturn true;\n}\n\nCPEImportEntryList::CPEImportEntryList()\n{\n\n}\n\nCPEImportEntryList::~CPEImportEntryList()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CPEImportEntryList) \nWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\nWISP_MSG_MAP_END(CWispList)\n\n\nbool CPEImportEntryList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CellRC;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tNUM_PTR ItemData;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tGetItemCellRect(hItem,0,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t{\n\t\t\tItemData = GetItemData(hItem,0);\n\t\t\tVIEW_DATA((DWORD)ItemData);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tItemData = GetItemData(hItem,2);\n\t\t\tVIEW_CODE((DWORD)ItemData,true);\n\t\t}\n\t}\t\n\treturn true;\n}\n\nCPEDataDirectoryWnd::CPEDataDirectoryWnd()\n{\n\n}\nCPEDataDirectoryWnd::~CPEDataDirectoryWnd()\n{\n\n}\nWISP_MSG_MAP_BEGIN(CPEDataDirectoryWnd)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispWnd)\nWISP_MSG_EVENT_MAP_BEGIN(CPEDataDirectoryWnd)\n\nWISP_MSG_EVENT_MAP_END\nbool CPEDataDirectoryWnd::OnCreate(WISP_MSG*pMsg)\n{\n\tm_DataDirectoryList.Create(NULL,5,5,450,278,this,CMD_ID_WND_DATA_DIRECTORY,WISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tInitList();\n\treturn true;\n}\nbool CPEDataDirectoryWnd::LoadPEFile(CMemPEFile* pMemPEFile)\n{\n\tDWORD i,Address;\n\tfor(i=0;i<pMemPEFile->m_PEHead.NumberOfRvaAndSizes;i++)\n\t{\n\t\tAddress=pMemPEFile->m_PEHead.DataDirectory[i].VirtualAddress;\n\t\tif(Address)\n\t\t\tAddress+=pMemPEFile->m_ImageBase;\n\t\tm_DataDirectoryList.SetItemNum(m_DataDirectoryItem[i],1,Address,WSTR(\"0x%08X\"));\n\t\tm_DataDirectoryList.SetItemData(m_DataDirectoryItem[i],1,Address);\n\t\tm_DataDirectoryList.SetItemNum(m_DataDirectoryItem[i],2,pMemPEFile->m_PEHead.DataDirectory[i].Size,WSTR(\"0x%08X\"));\n\t}\n\treturn true;\n}\nbool CPEDataDirectoryWnd::InitList()\n{\t\t\n\tm_DataDirectoryList.InsertColumn(WSTR(\"Directory Name\"),205);\n\tm_DataDirectoryList.InsertColumn(WSTR(\"Virtual Address\"),90);\n\tm_DataDirectoryList.InsertColumn(WSTR(\"Size\"),90);\n\tm_DataDirectoryItem[0]=m_DataDirectoryList.InsertItem(WSTR(\"Export Table\"));\n\tm_DataDirectoryItem[1]=m_DataDirectoryList.InsertItem(WSTR(\"Import Table\"));\n\tm_DataDirectoryItem[2]=m_DataDirectoryList.InsertItem(WSTR(\"Resource Table\"));\n\tm_DataDirectoryItem[3]=m_DataDirectoryList.InsertItem(WSTR(\"Exception Table\"));\n\tm_DataDirectoryItem[4]=m_DataDirectoryList.InsertItem(WSTR(\"Certificate Table\"));\n\tm_DataDirectoryItem[5]=m_DataDirectoryList.InsertItem(WSTR(\"Relocation Table\"));\n\tm_DataDirectoryItem[6]=m_DataDirectoryList.InsertItem(WSTR(\"Debug Data\"));\n\tm_DataDirectoryItem[7]=m_DataDirectoryList.InsertItem(WSTR(\"Architecture-specific data\"));\n\tm_DataDirectoryItem[8]=m_DataDirectoryList.InsertItem(WSTR(\"Machine Value (MIPS GP)\"));\n\tm_DataDirectoryItem[9]=m_DataDirectoryList.InsertItem(WSTR(\"TLS Table\"));\n\tm_DataDirectoryItem[10]=m_DataDirectoryList.InsertItem(WSTR(\"Load Configuration Table\"));\n\tm_DataDirectoryItem[11]=m_DataDirectoryList.InsertItem(WSTR(\"Bound Import Table\"));\n\tm_DataDirectoryItem[12]=m_DataDirectoryList.InsertItem(WSTR(\"Import Address Table\"));\n\tm_DataDirectoryItem[13]=m_DataDirectoryList.InsertItem(WSTR(\"Delay Import Descriptor\"));\n\tm_DataDirectoryItem[14]=m_DataDirectoryList.InsertItem(WSTR(\"COM+ Runtime Header\"));\n\tm_DataDirectoryItem[15]=m_DataDirectoryList.InsertItem(WSTR(\"(15) Reserved\"));\n\treturn true;\n}\n\nCPEDataDirectoryList::CPEDataDirectoryList()\n{\n\n}\n\nCPEDataDirectoryList::~CPEDataDirectoryList()\n{\n\n}\n\nWISP_MSG_MAP_BEGIN(CPEDataDirectoryList) \nWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\nWISP_MSG_MAP_END(CWispList)\n\n\nbool CPEDataDirectoryList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tNUM_PTR ItemData;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\t\t\n\t\tItemData = GetItemData(hItem,1);\n\t\tVIEW_DATA((DWORD)ItemData);\t\t\n\t}\t\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/PEExplorer.h",
    "content": "#ifndef _PE_EXPLORER_FORM_H_\n#define _PE_EXPLORER_FORM_H_\nclass CPEDataDirectoryList:public CWispList\n{\npublic:\n\tCPEDataDirectoryList();\n\t~CPEDataDirectoryList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnMouseDBClick)\t\t\n};\nclass CPEDataDirectoryWnd : public CWispWnd\n{\npublic:\n\tCPEDataDirectoryWnd();\n\t~CPEDataDirectoryWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tbool InitList();\n\tCPEDataDirectoryList m_DataDirectoryList;\n\tHANDLE m_DataDirectoryItem[16];\n\tbool LoadPEFile(CMemPEFile* pMemPEFile);\n};\n\nclass CPEExportList:public CWispList\n{\npublic:\n\tCPEExportList();\n\t~CPEExportList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnMouseDBClick)\t\n};\nclass CPEExportWnd : public CWispWnd\n{\npublic:\n\tCPEExportWnd();\n\t~CPEExportWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tbool InitList();\n\tCPEExportList m_ExportEntryList;\n\tbool LoadPEFile(CMemPEFile* pMemPEFile);\n};\n\nclass CPEImportModuleList:public CWispList\n{\npublic:\n\tCPEImportModuleList();\n\t~CPEImportModuleList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnMouseDBClick)\t\n};\nclass CPEImportEntryList:public CWispList\n{\npublic:\n\tCPEImportEntryList();\n\t~CPEImportEntryList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnMouseDBClick)\t\n\t//DECLARE_WISP_MSG_EVENT_MAP\n\t//DECLARE_WISP_MSG_CMD_MAP\n};\nclass CPEImportWnd : public CWispWnd\n{\npublic:\n\tCPEImportWnd();\n\t~CPEImportWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnModuleSelected)\t\n\tbool InitList();\n\tCPEImportModuleList m_ImportModuleList;\n\tCPEImportEntryList m_ImportEntryList;\n\tCMemPEFile* m_pMemPEFile;\n\tbool LoadPEFile(CMemPEFile* pMemPEFile);\n\tDWORD GetModuleBaseByName(char* FileName);\n\n};\nclass CPERelcationWnd : public CWispWnd\n{\npublic:\n\tCPERelcationWnd();\n\t~CPERelcationWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tbool InitList();\n\tCWispList m_RelPageList;\n\tCWispList m_RelEntryList;\n\tbool LoadPEFile(CMemPEFile* pMemPEFile);\n\n};\nclass CPEHeaderWnd : public CWispWnd\n{\npublic:\n\tCPEHeaderWnd();\n\t~CPEHeaderWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tbool InitPEHeaderList();\n\tCWispList\tm_pPEHeaderList1;\n\tCWispList\tm_pPEHeaderList2;\n\tbool LoadPEFile(CMemPEFile* pMemPEFile);\n\tHANDLE m_Item[16];\n\tHANDLE m_HItem[17];\n};\nclass CPEExplorerForm : public CWispForm\n{\npublic:\n\tCPEExplorerForm();\n\t~CPEExplorerForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\t\n\tvoid Popup();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnModuleSelectComboxCmd)\n\npublic:\n\tvoid UpdateContext(DWORD ModuleBase);\n\tbool SetPEModuleBase(DWORD ModuleBase);\n\tbool ChangeModule(DWORD BaseAddress);\nprivate:\t\n\tHANDLE m_DataDirectoryItem[16];\n\tCMemPEFile m_MemPEFile;\n\tCPEHeaderWnd* m_PEHeaderWnd;\n\tCWispTabWnd* m_pMainTab;\n\tCPERelcationWnd* m_PERelcationWnd;\n\tCPEImportWnd* m_PEImportWnd;\n\tCPEExportWnd* m_PEExportWnd;\n\tCPEDataDirectoryWnd* m_DataDirectoryWnd;\n\tCWispComboBox* m_ModuleSelectList;\n};\n\n\n#endif  //_PE_EXPLORER_FORM_H_\n\n"
  },
  {
    "path": "Project/Syser/Source/PIC_8259.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PIC_8259.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nBYTE gdwPIC8259Shield_1=0;\nBYTE gdwPIC8259Shield_2=0;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n// \n// void EnablePIC8259HardWareInterrupt(DWORD arg)\n// {\n// \tif(arg < 0x8)\n// \t{\n// \t\t__asm{\n// \t\t\tpush ebx\n// \t\t\tpush eax\n// \t\t\tmov ebx, arg\n// \t\t\tin al,0x21\n// \t\t\tpush ecx\n// \t\t\tmov ecx, 0x100\n// local_1:\t\t\t\t\n// \t\t\tloop local_1\n// \t\t\tpop ecx\n// \t\t\tbtr eax,ebx\n// \t\t\tout 0x21,al\n// \t\t\tpush ecx\n// \t\t\tmov ecx,0x100\n// local_2:\t\t\t\t\n// \t\t\tloop local_2\n// \t\t\tpop ecx\t\n// \t\t\tpop eax \n// \t\t\tpop ebx\n// \t\t}\n// \t}\n// \telse\n// \t{\n// \t\targ -= 8;\n// \t\t__asm{\n// \t\t\tpush ebx \n// \t\t\tpush eax \n// \t\t\tpush ecx\n// \t\t\tmov ebx, arg\n// \t\t\tin al,0xa1\n// \t\t\tmov ecx,0x100\n// local_3:\t\t\t\t\n// \t\t\tloop local_3\n// \t\t\tbtr eax,ebx\n// \t\t\tout 0xa1,al\n// \t\t\tmov ecx,0x100\n// local_4:\t\t\t\t\n// \t\t\tloop local_4\n// \t\t\tin al,0x21\n// \t\t\tmov ecx,0x100\n// local_5:\n// \t\t\tloop local_5\n// \t\t\tand al,0xfb\n// \t\t\tout 0x21,al\n// \t\t\tmov ecx,0x100\n// local_6:\t\t\t\t\n// \t\t\tloop local_6\n// \t\t\tpop ecx\n// \t\t\tpop eax \n// \t\t\tpop ebx\n// \t\t}\n// \t}\n// }\n// void Set8259EOI(DWORD dwInterruptNum)\n// {\n// \tif(dwInterruptNum < 0x10)\n// \t{\n// \t\tif(dwInterruptNum >= 8)\n// \t\t{\n// \n// \t\t\t__asm{\n// \t\t\t\tpush eax \n// \t\t\t\tpush ecx\n// \t\t\t\tmov eax, dwInterruptNum\n// \t\t\t\tsub eax,8\n// \t\t\t\tadd eax,0x60\n// \t\t\t\tout 0xa0,al\t\n// \t\t\t\t\n// \t\t\t\tmov ecx,0x200\n// local_2:\t\t\n// \t\t\t\tloop local_2\t\n// \t\t\t\tmov al,0x62\n// \t\t\t\tout 0x20,al\n// \t\t\t\tmov ecx,0x200\n// local_3:\n// \t\t\t\tloop local_3\n// \t\t\t\tpop ecx\n// \t\t\t\tpop eax\n// \t\t\t}\n// \t\t}\n// \t\telse\n// \t\t{\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\tpush eax\n// \t\t\t\tmov eax,dwInterruptNum\n// \t\t\t\tadd eax,0x60\n// \t\t\t\tout 0x20,al\n// \t\t\t\tpush ecx\n// \t\t\t\tmov ecx,0x200\n// local_1:\t\t\n// \t\t\t\tloop local_1\n// \t\t\t\tpop ecx\n// \t\t\t\tpop eax\n// \t\t\t}\n// \t\t}\n// \t}\n// }"
  },
  {
    "path": "Project/Syser/Source/PIC_8259.h",
    "content": "#ifndef _PIC_8259_H_\n#define _PIC_8259_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\nVOID SyserEnablePIC8259HardWareInterrupt(DWORD arg);\nVOID SyserSet8259EOI(DWORD dwInterruptNum);\nextern BYTE gdwPIC8259Shield_1;\nextern BYTE gdwPIC8259Shield_2;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_PIC_8259_H_"
  },
  {
    "path": "Project/Syser/Source/PS2Mouse.cpp",
    "content": "#include \"stdafx.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Mouse.h\"\n#include \"PS2Mouse.h\"\n#include \"Syser.h\"\n#include \"TouchPad.h\"\nDWORD gPS2MouseInterruptNum=0;\nbool IsAlpsTouchPad()\n{\n\tint i,j=0,n=0;\n\tbool bOK;\n\n\tfor(i = 0;i<6;i++)\n\t{\n\t\tif(MouseBeginBuffer[i]&0x80)\t\t\n\t\t\tn++,j=i;\n\t}\n\tif(n!=1)\n\t\treturn false;\n\tfor(i = j,n=0;i<j+18;i++)\n\t{\n\t\tif(((MouseBeginBuffer[i]&0x88) == 0x88) \n\t\t\t&& ((MouseBeginBuffer[i+3]&0x88)==0x8)\n\t\t\t&& ((MouseBeginBuffer[i+1]&0x80) == 0)\n\t\t\t&& ((MouseBeginBuffer[i+2]&0x80) == 0)\n\t\t\t&& ((MouseBeginBuffer[i+4]&0x80) == 0)\n\t\t\t&& ((MouseBeginBuffer[i+5]&0x80) == 0))\n\t\t\tn++;\n\t}\n\treturn n==3;\n}\nbool IsSynapticsTouchPad()\n{\n\tint i,n=0;\n\tBYTE* p=MouseBeginBuffer;;\n\tfor(i = 0; i < 6;i++)\n\t{\n\t\tif(((p[i]&0xc0)==0x80) \n\t\t\t&& ((p[i+3]&0xc0)==0xc0)\n\t\t\t&& ((p[i+6]&0xc0)==0x80)\n\t\t\t&& ((p[i+9]&0xc0)==0xc0)\n\t\t\t&& ((p[i+12]&0xc0)==0x80)\n\t\t\t&& ((p[i+15]&0xc0)==0xc0))\n\t\t{\n\t\t\tn++;\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\treturn n==1;\n}\nDWORD CalcMouseBeginIndex()\n{\n\tDWORD i,j,k,n;\n\tbool bFirst;\n\n\tfor(i = 0,j = MouseInterruptCount-23; i < dwMousePrePackageSize;j++,i++)\n\t{\n\t\tif(MouseBeginBuffer[j%24]&8)\n\t\t{\n\t\t\tbFirst = true;\n\t\t\tfor(k = 0,n = j; k < (24 / dwMousePrePackageSize);k++,n+=dwMousePrePackageSize)\n\t\t\t{\n\t\t\t\tif((MouseBeginBuffer[n%24]&8)==0)\n\t\t\t\t{\n\t\t\t\t\tbFirst = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bFirst)\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif(i)\n\t\ti = dwMousePrePackageSize - i;\n\treturn i;\n}\nDWORD dwMyMouseCounter = 0;\n\n// __declspec (naked) void Interrupt_0xF9_Mouse_Service()\n// {\n// \t__asm{\n// \t\tpushfd\n// \t\tcmp cs:gbActive,0\n// \t\tjnz local_2\n// \t\tpush eax  \n// \t\tin al,0x64 \n// \t\ttest al,1 \n// \t\tpop eax \n// \t\tjnz local_2\n// \t\tpopfd\n// \t\t//push cs:dwInterruptF9Address\n// \t\tret\t\t\n// local_2:\n// \t\tpopfd\n// \t\tpush cs:MouseInterruptService\n// \t\tret\n// \t}\n// }\n\nDWORD dwIC=0;\n// BYTE nnByte;\n// __declspec (naked) void MouseInterruptService()\n// {\n// \t__asm{\n// \t\tcmp cs:gbActive,TRUE\n// \t\tjz local_1\n// \t\tmov ss:bIsMouseData,TRUE\n// \t\tret\t\t\n// local_1:\t\n// \t\tlea esp,[esp+4]\n// \t\tpushad\n// \t\tpushfd\n// \t\tin al,0x64\n// \t\tand eax,0xff\n// \t\tmov nnByte,al\n// \t\tmov ebx,eax\t\t\t\n// \t\tin al,0x60 \n// \t\tmov stKeyGlobalVariable.chCurrentMouseData,al\n// \t}\n// \tPS2MouseOperation();\n// \tMouseInterruptCount++;\n// \tSetInteruptEOI(0xc);\n// \t__asm\n// \t{\n// \t\tpopfd\n// \t\tpopad\n// \t\tiretd\n// \t}\n// }\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nextern ULONGLONG gTSCTickCount;\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nDWORD gPS2ModifyCount=0;\nDWORD gPS2OKPackageCount=0;\nvoid PS2MouseOperation()\n{\n\tULONGLONG TmpTickCount,Interval;\n\tbool bButtonState,bDoubleClick;\n\tint i;\n\tMouseBeginBuffer[MouseInterruptCount%24]=stKeyGlobalVariable.chCurrentMouseData;\n\n\tstKeyGlobalVariable.dwMouseDataIndex ++;\n\n\tif(dwMousePrePackageSize==6)\n\t{\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 1)\n\t\t\tCurrentMouseData.D6.Byte0 = stKeyGlobalVariable.chCurrentMouseData;\t\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 2)\t\t\n\t\t\tCurrentMouseData.D6.Byte1 = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 3)\t\t\n\t\t\tCurrentMouseData.D6.Byte2 = stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\t\t\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 4)\t\t\n\t\t\tCurrentMouseData.D6.Byte3 = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 5)\n\t\t\tCurrentMouseData.D6.Byte4 = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 6)\n\t\t\tCurrentMouseData.D6.Byte5 = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == dwMousePrePackageSize)\n\t\t{\t\t\t\n\t\t\tif(gbSynapticsTouchPad==false && gbAlpsTouchPad==false && MouseInterruptCount>23)\n\t\t\t{\n\t\t\t\tgbAlpsTouchPad = IsAlpsTouchPad();\n\t\t\t\t//OUTPUT(WSTR(\"gbAlpsTouchPad=%d\\n\"),gbAlpsTouchPad);\n\t\t\t\tif(gbAlpsTouchPad==false)\n\t\t\t\t{\n\t\t\t\t\tgbSynapticsTouchPad=IsSynapticsTouchPad();\n\t\t\t\t\t//OUTPUT(WSTR(\"gbSynapticsTouchPad=%d\\n\"),gbSynapticsTouchPad);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(gbAlpsTouchPad)\n\t\t\t{\n\t\t\t\tif(MouseInterruptCount>23&&((CurrentMouseData.D6.Byte0&0x88)!=0x88||(CurrentMouseData.D6.Byte3&0x88)!=0x8))\n\t\t\t\t{\n\t\t\t\t\tif((PrevMouseData.D6.Byte1&0x88)==0x88&&(PrevMouseData.D6.Byte4&0x88)==0x8&&(CurrentMouseData.D6.Byte1&0x88)==0x88&&(CurrentMouseData.D6.Byte4&0x88)==0x8)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=5;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte2&0x88)==0x88&&(PrevMouseData.D6.Byte5&0x88)==0x8&&(CurrentMouseData.D6.Byte2&0x88)==0x88&&(CurrentMouseData.D6.Byte5&0x88)==0x8)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=4;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte0&0x88)==0x88 && (PrevMouseData.D6.Byte3&0x88)==0x8&&(CurrentMouseData.D6.Byte0&0x88)==0x88&&(CurrentMouseData.D6.Byte3&0x88)==0x8)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=3;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte1&0x88)==0x88&&(PrevMouseData.D6.Byte4&0x88)==0x8&&(CurrentMouseData.D6.Byte1&0x88)==0x88&&(CurrentMouseData.D6.Byte4&0x88)==0x8)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=2;\n\t\t\t\t\telse\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=1;\n\t\t\t\t\tCurrentMouseData.D6.Byte0=0x88;\n\t\t\t\t\tCurrentMouseData.D6.Byte3=0x8;\n\n\t\t\t\t\tgPS2ModifyCount++;\n\t\t\t\t\tif(gPS2ModifyCount>10)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwMousePrePackageSize=3;\n\t\t\t\t\t}\n\t\t\t\t\tgPS2OKPackageCount=0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(gbSynapticsTouchPad)\n\t\t\t{\t\t\t\n\t\t\t\tif(MouseInterruptCount>23&&((CurrentMouseData.D6.Byte0&0xc0)!=0x80||(CurrentMouseData.D6.Byte3&0xc0)!=0xc0))\n\t\t\t\t{\n\t\t\t\t\tif((PrevMouseData.D6.Byte1&0xc0)==0x80&&(PrevMouseData.D6.Byte4&0xc0)==0xc0&&(CurrentMouseData.D6.Byte1&0xc0)==0x80&&(CurrentMouseData.D6.Byte4&0xc0)==0xc0)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=5;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte2&0xc0)==0x80&&(PrevMouseData.D6.Byte5&0xc0)==0xc0&&(CurrentMouseData.D6.Byte2&0xc0)==0x80&&(CurrentMouseData.D6.Byte5&0xc0)==0xc0)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=4;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte0&0xc0)==0xc0 && (PrevMouseData.D6.Byte3&0xc0)==0x80&&(CurrentMouseData.D6.Byte0&0xc0)==0xc0&&(CurrentMouseData.D6.Byte3&0xc0)==0x80)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=3;\n\t\t\t\t\telse if((PrevMouseData.D6.Byte1&0xc0)==0xc0&&(PrevMouseData.D6.Byte4&0xc0)==0x80&&(CurrentMouseData.D6.Byte1&0xc0)==0xc0&&(CurrentMouseData.D6.Byte4&0xc0)==0x80)\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=2;\n\t\t\t\t\telse\n\t\t\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex=1;\n\t\t\t\t\tCurrentMouseData.D6.Byte0=0x80;\n\t\t\t\t\tCurrentMouseData.D6.Byte3|=0xC0;\n\t\t\t\t\t\n\t\t\t\t\tgPS2ModifyCount++;\n\t\t\t\t\tif(gPS2ModifyCount>10)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwMousePrePackageSize=3;\n\t\t\t\t\t}\n\t\t\t\t\tgPS2OKPackageCount=0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\n\t\t\t\t\tgPS2OKPackageCount++;\n\t\t\t\t\tif(gPS2OKPackageCount>10&&gPS2ModifyCount>=1)\n\t\t\t\t\t\tgPS2ModifyCount--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(stKeyGlobalVariable.dwMouseDataIndex == dwMousePrePackageSize)\n\t\t\t{\t\t\n\t\t\t\tif(gbSynapticsTouchPad)\n\t\t\t\t\tAnalyzerTouchPadPackage();\n\t\t\t\tif(gbAlpsTouchPad)\n\t\t\t\t\tAlpsAnalyzerTouchPadPackage();\n\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\t\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 1)\n\t\t\tCurrentMouseData.D3.cFirstData = stKeyGlobalVariable.chCurrentMouseData;\t\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 2)\t\t\n\t\t\tCurrentMouseData.D3.cXOffset = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 3)\t\t\n\t\t\tCurrentMouseData.D3.cYOffset = -stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\t\t\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 4)\t\t\n\t\t\tCurrentMouseData.D3.cZOffset = stKeyGlobalVariable.chCurrentMouseData;\n\t\tif(stKeyGlobalVariable.dwMouseDataIndex == dwMousePrePackageSize)\n\t\t{\n\t\t\tTmpTickCount=SyserGetTSC();\n\t\t\tif((CurrentMouseData.D3.cFirstData&8)==0)\n\t\t\t\tPrevMouseData.D3.cFirstData=CurrentMouseData.D3.cFirstData;\n\t\t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\t\n\t\t\tif(CurrentMouseData.D3.cYOffset != 0 || CurrentMouseData.D3.cXOffset != 0)\n\t\t\t{\t\t\t\n\t\t\t\tgpSyser->OnMouseMove(CurrentMouseData.D3.cXOffset,CurrentMouseData.D3.cYOffset);\n\t\t\t}\n\t\t\tif(CurrentMouseData.D3.cZOffset)\n\t\t\t{\n\t\t\t\tgpSyser->OnMouseWheel(-CurrentMouseData.D3.cZOffset);\n\t\t\t}\n\t\t\tif((PrevMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS) != (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS))\n\t\t\t{\t\t\t\t\n\t\t\t\tbDoubleClick=false;\n\t\t\t\tbButtonState = CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS;\n\t\t\t\tif(bButtonState)\n\t\t\t\t{\n\t\t\t\t\tif(gLButtonDblClkSecond==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(CurrentMouseData.D3.cYOffset==0&&CurrentMouseData.D3.cXOffset==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tInterval = (TmpTickCount-gPrevLButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_LBUTTON);\n\t\t\t\t\t\t\t\tgLButtonDblClkSecond=false;\n\t\t\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!bDoubleClick)\n\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,bButtonState);\n\t\t\t}\n\t\t\tif((PrevMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS) != (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS))\n\t\t\t{\t\t\t\t\n\t\t\t\tbDoubleClick=false;\n\t\t\t\tbButtonState = (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0;\n\t\t\t\tif(bButtonState)\n\t\t\t\t{\n\t\t\t\t\tif(gRButtonDblClkSecond==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(CurrentMouseData.D3.cYOffset==0&&CurrentMouseData.D3.cXOffset==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tInterval = (TmpTickCount-gPrevRButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_RBUTTON);\n\t\t\t\t\t\t\t\tgRButtonDblClkSecond=false;\n\t\t\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!bDoubleClick)\n\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0);\n\t\t\t}\n\t\t\tif((PrevMouseData.D3.cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS) != (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS))\n\t\t\t{\t\t\t\t\n\t\t\t\tbDoubleClick=false;\n\t\t\t\tbButtonState = (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS)!=0;\n\t\t\t\tif(bButtonState)\n\t\t\t\t{\n\t\t\t\t\tif(gMButtonDblClkSecond==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(CurrentMouseData.D3.cYOffset==0&&CurrentMouseData.D3.cXOffset==0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tInterval = (TmpTickCount-gPrevMButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_MBUTTON);\n\t\t\t\t\t\t\t\tgMButtonDblClkSecond=false;\n\t\t\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\t\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgMButtonDblClkSecond=true;\n\t\t\t\t\t\t\tgPrevMButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!bDoubleClick)\n\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_MBUTTON,(CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS)!=0);\n\t\t\t}\n\n\t\t\tPrevMouseData.D3.cFirstData = CurrentMouseData.D3.cFirstData;\n\t\t\tPrevMouseData.D3.cXOffset = CurrentMouseData.D3.cXOffset;\n\t\t\tPrevMouseData.D3.cYOffset = CurrentMouseData.D3.cYOffset;\n\t\t\tPrevMouseData.D3.cZOffset = CurrentMouseData.D3.cZOffset;\n\t\t\t\n\t\t\tif((PrevMouseData.D3.cFirstData&8)==0&&MouseInterruptCount>=23)\n\t\t\t{\n\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex = CalcMouseBeginIndex();\n\t\t\t\t//OUTPUT(WSTR(\"[%d]Mouse offset modify %d\\n\"),dwMousePrePackageSize,stKeyGlobalVariable.dwMouseDataIndex);\n\t\t\t\tMouseInterruptCount=0;\n\t\t\t\tgPS2ModifyCount++;\n\t\t\t\tif(gPS2ModifyCount>=10)\n\t\t\t\t{\n\t\t\t\t\tif(dwMousePrePackageSize==3)\n\t\t\t\t\t\tdwMousePrePackageSize=4;\n\t\t\t\t\telse\n\t\t\t\t\tdwMousePrePackageSize=6;\n\t\t\t\t\tgPS2ModifyCount=0;\n\t\t\t\t}\n\t\t\t\tgPS2OKPackageCount=0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif((PrevMouseData.D3.cFirstData&8)==0)\n\t\t\t\t{\n\t\t\t\t\tgPS2ModifyCount++;\n\t\t\t\t\tgPS2OKPackageCount=0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tgPS2OKPackageCount++;\n\t\t\t\t\tif(gPS2OKPackageCount>10&&gPS2ModifyCount>=1)\n\t\t\t\t\t\tgPS2ModifyCount--;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n}"
  },
  {
    "path": "Project/Syser/Source/PS2Mouse.h",
    "content": "#ifndef _PS2MOUSE_H_\n#define _PS2MOUSE_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nDWORD CalcMouseBeginIndex();\nvoid MouseInterruptService();\nVOID SyserInterrupt_0xF9_Mouse_Service(VOID);\nextern DWORD gPS2MouseInterruptNum;\nvoid PS2MouseOperation();\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_PS2MOUSE_H_"
  },
  {
    "path": "Project/Syser/Source/PageMapWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"PageMapWnd.h\"\n#include \"X86Define.h\"\n#include \"X86Optr.h\"\n\n#define PAE_PAGE\n\nWISP_MSG_MAP_BEGIN(CPageMapWnd)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispSplitWnd)\n\nbool CPageMapWnd::OnCommand(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CtrlType==WISP_CTRL_LIST)\n\t{\n\t\tif(pMsg->Command.CmdID==WND_ID_PAGEDIRECTLIST)\n\t\t{\n\t\t\tHANDLE hItem = pMsg->Command.Param2;\n\t\t\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_EXPANDED)\n\t\t\t{\n\t\t\t\t//gpCurWisp->DbgPrint(0,WISP_STR(\"WND_ID_PAGEDIRECTLIST  WISP_CMD_PL_EXPANDED\"));\n\t\t\t}\n\t\t\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_UNEXPANDED)\n\t\t\t{\n\t\t\t\t//gpCurWisp->DbgPrint(1,WISP_STR(\"WND_ID_PAGEDIRECTLIST  WISP_CMD_PL_COLLAPSED\"));\n\t\t\t}\n\t\t\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_SELECTED)\n\t\t\t{\n\t\t\t\t//m_PageDirectList.GetItemData(pItem,3)\n\t\t\t\tm_PageTableList.ClearChildItem();\n\t\t\t\tif(m_PageTableBaseAddress!=0)\n\t\t\t\t\tInsertPageTableList(pMsg);\n\t\t\t\t//gpCurWisp->DbgPrint(2,WISP_STR(\"%08x\"),m_PageDirectList.GetItemData(pItem,3));\n\t\t\t}\n\t\t\t//gpCurWisp->DbgPrint(3,WISP_STR(\"WND_ID_PAGEDIRECTLIST\"));\n\t\t}\n\t\tif(pMsg->Command.CmdID==WND_ID_PAGETABLELIST)\n\t\t{\n\t\t\t//gpCurWisp->DbgPrint(1,WISP_STR(\"WND_ID_PAGETABLELIST\"));\n\t\t}\t\t\n\t}\n\treturn true;\n}\n\nCPageMapWnd::CPageMapWnd()\n{\n\tm_PAE = false;\n#ifdef CODE_OS_WIN\n\tm_PageTableBaseAddress=NULL;\n\tm_PageDirectBaseAddress=NULL;\t\n#else\n\tif(GetX86CR4() & CR4_PAE_BIT_MASK)\n\t{\n\t\tm_PageTableBaseAddress = (DWORD *)0xc0000000;\n\t\tm_PageDirectBaseAddress = (DWORD *)0xc0600000;\n\t}\n\telse\n\t{\n\t\tm_PageTableBaseAddress = (DWORD *)0xc0000000;\n\t\tm_PageDirectBaseAddress = (DWORD *)0xc0300000;\n\t}\n#endif\n}\n\nCPageMapWnd::~CPageMapWnd()\n{\n}\n\nvoid CPageMapWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Page Map\"),CWispRect(0,0,400,300),NULL,0,WISP_SWS_HORZ|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nvoid CPageMapWnd::UpdateContext()\n{\n#ifdef CODE_OS_NT_DRV\n\tDWORD dwTmpVar;\n#endif\n\tHANDLE hItem;\n\tint i,j;\n\tX86_PDE *pCurrentPDEBegin;\n\tX86_PDE_4M *pCurrentPDE4M;\n\tDWORD *dwPDEValue;\n\tULONGLONG DisplayValue;\n\tWISP_CHAR DisplayOut[100];\n\tWCHAR *Format=WSTR(\"%sP %s %s %s %s %s %s\");\n\n\tpCurrentPDEBegin = (X86_PDE *)m_PageDirectBaseAddress;\n#ifdef CODE_OS_WIN\n#  ifdef PAE_PAGE\n\tif(1)\n#  else\n\tif(0)\n#  endif\n#else\n\tif(GetX86CR4() & 0x20)\n#endif\n\t{\t\t\n\t\tX86_36_PDE* PDE_36 = (X86_36_PDE*)m_PageDirectBaseAddress;\n\t\tX86_36_PDE_2M *PDE_36_2M;\n\t\tfor(j = 0,i = 0; i < 512 * 4; i++)\t\n\t\t{\t\t\n\t\t\tdwPDEValue = (DWORD *)&PDE_36[i];\n#ifndef CODE_OS_WIN\n\t\t\tif(ReadDword(dwPDEValue,&dwTmpVar)==false)\n\t\t\t\tcontinue;\n#endif\n\t\t\tif(!PDE_36[i].u.P)\n\t\t\t\tcontinue;\t\n\t\t\tif(PDE_36[i].u.Page2M)\n\t\t\t{\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\tPDE_36_2M = (X86_36_PDE_2M *)&PDE_36[i];\n\t\t\t\tDisplayValue=PDE_36_2M->PDE36Value2M;\n\t\t\t\tDisplayValue&= 0xffffffffffe00000i64;\n\t\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%013I64X\"),DisplayValue);\n\t\t\t\thItem = m_PageDirectList.InsertItem(DisplayOut);\n\t\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X - %08X\"),i*0x200000,i*0x200000+0x1fffff);\n\t\t\t\tm_PageDirectList.SetItemText(hItem,1,DisplayOut);\t\t\t\t\t\t\n\n\t\t\t\tTSPrintf(DisplayOut,Format,\n\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\tPDE_36_2M[i].u.G ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\t\tPDE_36_2M[i].u.D ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\t\tPDE_36_2M[i].u.A ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\t\tPDE_36_2M[i].u.US ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\t\tPDE_36_2M[i].u.RW ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\t\tWSTR(\"2M\")\n\t\t\t\t\t);\t\t\t\n\t\t\t\tm_PageDirectList.SetItemText(hItem,2,DisplayOut);\n\t\t\t\tm_PageDirectList.SetItemNum(hItem,3,i);\n\t\t\t}else\n\t\t\t{\n\t\t\t\tDisplayValue=*(ULONGLONG*)&PDE_36[i];\n\t\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%013I64X\"),DisplayValue);\n\t\t\t\thItem = m_PageDirectList.InsertItem(DisplayOut);\n\n\t\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X - %08X\"),i*0x200000,i*0x200000+0x1fffff);\n\t\t\t\tm_PageDirectList.SetItemText(hItem,1,DisplayOut);\n\t\t\t\tTSPrintf(DisplayOut,Format,\t\t\t\n\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\tPDE_36[i].u.A ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\t\tPDE_36[i].u.US ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\t\tPDE_36[i].u.RW ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\t\tWSTR(\"  \")\n\t\t\t\t\t);\t\t\t\n\t\t\t\tm_PageDirectList.SetItemText(hItem,2,DisplayOut);\t\t\t\n\t\t\t\tm_PageDirectList.SetItemNum(hItem,3,i);\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\t\n\tfor(j = 0,i = 0; i < 1024; i++)\n\t{\n\t\tdwPDEValue = (DWORD *)&pCurrentPDEBegin[i];\n#ifndef CODE_OS_WIN\n\t\tif(ReadDword(dwPDEValue,&dwTmpVar)==false)\n\t\t\tcontinue;\n#endif\n\t\tif(!pCurrentPDEBegin[i].u.Present)\n\t\t\tcontinue;\t\n\t\tif(pCurrentPDEBegin[i].u.Page4M)\n\t\t{\n\t\t\tpCurrentPDE4M = (X86_PDE_4M *)&pCurrentPDEBegin[i];\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X\"),*dwPDEValue&0xfff00000);\t\t\t\n\t\t\thItem = m_PageDirectList.InsertItem(DisplayOut);\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X - %08X\"),i*0x400000,i*0x400000+0x3fffff);\n\t\t\tm_PageDirectList.SetItemText(hItem,1,DisplayOut);\t\t\t\t\t\t\n\n\t\t\tTSPrintf(DisplayOut,Format,\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tpCurrentPDE4M->GlobePage ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\tpCurrentPDE4M->Dirty ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\tpCurrentPDE4M->Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\tpCurrentPDE4M->UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\tpCurrentPDE4M->ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\tWSTR(\"4M\")\n\t\t\t\t);\t\t\t\n\t\t\tm_PageDirectList.SetItemText(hItem,2,DisplayOut);\n\t\t\tm_PageDirectList.SetItemNum(hItem,3,i);\n\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X\"),*dwPDEValue&0xfffff000);\n\t\t\thItem = m_PageDirectList.InsertItem(DisplayOut);\n\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X - %08X\"),i*0x400000,i*0x400000+0x3fffff);\n\t\t\tm_PageDirectList.SetItemText(hItem,1,DisplayOut);\t\t\t\t\t\t\n\t\t\tTSPrintf(DisplayOut,Format,\t\t\t\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tpCurrentPDEBegin[i].u.Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\tpCurrentPDEBegin[i].u.UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\tpCurrentPDEBegin[i].u.ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\tWSTR(\"  \")\n\t\t\t\t);\t\t\t\n\t\t\tm_PageDirectList.SetItemText(hItem,2,DisplayOut);\t\t\t\n\t\t\tm_PageDirectList.SetItemNum(hItem,3,i);\n\t\t}\n\t}\n\n}\n\nbool CPageMapWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tBYTE *pByte;\n\tpByte = (BYTE *)m_PageTableBaseAddress;\n\tdelete []m_PageTableBaseAddress;\n#else\n#endif\n\treturn true;\n}\n\nbool CPageMapWnd::InsertPageTableList(IN WISP_MSG *pMsg)\n{\n\tint i;//,j;\n\tWCHAR *Format1=WSTR(\"%sP %s %s %s %s %s %s\");\n\tX86_PDE *pCurrentPDEBegin;\n\tX86_PTE *pPageTableBegin;\t\n\tDWORD dwPageDirectEntryIndex,dwTmpVar;\n\tDWORD dwPTEValue,dwPDEValue;\n\tWISP_CHAR DisplayOut[100];\n\tHANDLE hItem = (HANDLE*)pMsg->Command.Param2;\n\tdwPageDirectEntryIndex =(DWORD) m_PageTableList.GetItemData(hItem,3);\n#ifdef CODE_OS_WIN\n#  ifdef PAE_PAGE\n\tif(1)\n#  else\n\tif(0)\n#  endif\n#else\n\tif(GetX86CR4() & 0x20)\n#endif\t\n\t{\n\t\tX86_36_PDE *PDE_36;\n\t\tX86_36_PTE *PTE_36;\n\t\tPDE_36 = (X86_36_PDE *)m_PageDirectBaseAddress;\n#ifndef CODE_OS_WIN\n\t\tif(ReadDword(&PDE_36[dwPageDirectEntryIndex],&dwTmpVar)==false)\n\t\t\treturn true;\n#endif\n\t\tif(!PDE_36[dwPageDirectEntryIndex].u.P)\n\t\t\treturn true;\n\t\tif(PDE_36[dwPageDirectEntryIndex].u.Page2M)\n\t\t\treturn true;\n\t\tPTE_36 = (X86_36_PTE*)RT_PBYTE(m_PageTableBaseAddress,dwPageDirectEntryIndex << 12);\n\t\tdwPDEValue = dwPageDirectEntryIndex * 0x200000;\n\t\tfor(i = 0; i < 512; i++)\n\t\t{\n\t\t\tif(ReadDword(&PTE_36[i],&dwTmpVar)==false)\n\t\t\t\treturn true;\n\t\t\tif(!PTE_36[i].u.P)\n\t\t\t\tcontinue;\n\t\t\tdwPTEValue = *(DWORD *)(&PTE_36[i]);\t\t\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X\"),dwPDEValue + (i<<12));\n\t\t\thItem =\tm_PageTableList.InsertItem(DisplayOut);\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%01X%08X\"),PTE_36[i].u.BaseAddressHigh,dwPTEValue & 0xfffff000);\n\t\t\tm_PageTableList.SetItemText(hItem,1,DisplayOut);\n\n\n\t\t\tTSPrintf(DisplayOut,Format1,\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tPTE_36[i].u.G ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\tPTE_36[i].u.D ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\tPTE_36[i].u.A ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\tPTE_36[i].u.US ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\tPTE_36[i].u.RW ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\tWSTR(\"  \"));\t\t\n\t\t\tm_PageTableList.SetItemText(hItem,2,DisplayOut);\n\n\t\t}\n\t\treturn true;\n\t}\n\tpCurrentPDEBegin = (X86_PDE *)m_PageDirectBaseAddress;\n#ifndef CODE_OS_WIN\n\tif(ReadDword(&pCurrentPDEBegin[dwPageDirectEntryIndex],&dwTmpVar)==false)\n\t\treturn true;\n#endif\n\tif(pCurrentPDEBegin[dwPageDirectEntryIndex].u.Page4M)\n\t\treturn true;\n\tif(!pCurrentPDEBegin[dwPageDirectEntryIndex].u.Present)\n\t\treturn true;\n\tdwPDEValue = dwPageDirectEntryIndex * 0x400000;\n\tpPageTableBegin = (X86_PTE *)RT_PBYTE(m_PageTableBaseAddress,dwPageDirectEntryIndex << 12);\n\tfor(i = 0; i < 1024;i++)\n\t{\n\t\tif(ReadDword(&pPageTableBegin[i],&dwTmpVar)==false)\n\t\t\treturn true;\n\t\tif(!pPageTableBegin[i].Present)\n\t\t\tcontinue;\n\t\tdwPTEValue = *(DWORD *)(&pPageTableBegin[i]);\t\t\n\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X\"),dwPDEValue + (i<<12));\n\t\thItem =\tm_PageTableList.InsertItem(DisplayOut);\n\t\tTSPrintf(DisplayOut,WISP_STR(\"%08X\"),dwPTEValue & 0xfffff000);\n\t\tm_PageTableList.SetItemText(hItem,1,DisplayOut);\n\n\t\t\n\t\tTSPrintf(DisplayOut,Format1,\t\t\t\t\t\t\t\t\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tpPageTableBegin[i].GlobePage ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\tpPageTableBegin[i].Dirty ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\tpPageTableBegin[i].Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\tpPageTableBegin[i].UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\tpPageTableBegin[i].ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\tWSTR(\"  \"));\t\t\n\t\tm_PageTableList.SetItemText(hItem,2,DisplayOut);\n\t}\n\treturn true;\n}\n\nbool CPageMapWnd::OnCreate(IN WISP_MSG *pMsg)\n{\t\n#ifdef CODE_OS_WIN\n\tCLocalFileIO PageTableFile;\n\tBYTE *pByte;\n\tint nLen;\n\tHANDLE hFile;\n\tif(PageTableFile.OpenFile(\"PageTable.bin\",&hFile))\n\t{\t\n\t\tnLen = (int)PageTableFile.GetFileLength(hFile);\n\t\tpByte= new BYTE[nLen];\n\t\tm_PageTableBaseAddress = (DWORD *)pByte;\n\t\tPageTableFile.ReadFile(hFile,(void*)m_PageTableBaseAddress,nLen);\n\t\tm_PageDirectBaseAddress =(DWORD *) (pByte+0x300000);\n\t\tPageTableFile.CloseHandle(hFile);\n\t}else\n\t{\n\t\tm_PageTableBaseAddress=NULL;\n\t\tm_PageDirectBaseAddress=NULL;\n\t\treturn true;\n\t}\n#endif\n\tm_PageDirectList.Create(NULL,CWispRect(0,0,m_ClientRect.cx / 2,m_ClientRect.cy),this,WND_ID_PAGEDIRECTLIST,WISP_WLS_COLUMN_TITLE);\n\tm_PageDirectList.InsertColumn(WISP_STR(\"Page Table Physical Address\"),68);\n\tm_PageDirectList.InsertColumn(WISP_STR(\"Lines Address\"),120);\n\tm_PageDirectList.InsertColumn(WISP_STR(\"Attribute\"),120);\n\tm_PageDirectList.InsertColumn(WISP_STR(\"\"),80);\n\n\tm_PageTableList.Create(NULL,CWispRect(m_ClientRect.cx / 2,0,m_ClientRect.cx / 2,m_ClientRect.cy),this,WND_ID_PAGETABLELIST,WISP_WLS_COLUMN_TITLE);\n\tm_PageTableList.InsertColumn(WISP_STR(\"Lines Address\"),120);\n\tm_PageTableList.InsertColumn(WISP_STR(\"Physical\"),80);\n\tm_PageTableList.InsertColumn(WISP_STR(\"Attribute\"),120);\n\tm_PageTableList.InsertColumn(WISP_STR(\"\"),80);\n\tInsertWnd(&m_PageDirectList,0,100);\n\tInsertWnd(&m_PageTableList,0,100);\n\tAdjustWndPos();\n\tUpdateContext();\n\treturn true;\n}\n\nbool CPageMapWnd::OnClose(IN WISP_MSG *pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\n\n"
  },
  {
    "path": "Project/Syser/Source/PageMapWnd.h",
    "content": "#ifndef _PAGEMAPWND_H_\n#define _PAGEMAPWND_H_\n\nenum\n{\n\tWND_ID_PAGEDIRECTLIST = WISP_ID_USER_START,\n\tWND_ID_PAGETABLELIST,\n};\n\nclass CPageMapWnd :\tpublic CWispSplitWnd\n{\n\tbool\t\t\tm_PAE;\npublic:\n\tCPageMapWnd();\n\t~CPageMapWnd();\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnClose);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnCommand);\n\tbool\tInsertPageTableList(IN WISP_MSG *pMsg);\n\tCWispList m_PageDirectList;\n\tCWispList m_PageTableList;\n\tDWORD*\t\t\tm_PageDirectBaseAddress;\n\tDWORD*\t\t\tm_PageTableBaseAddress;\n\t\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/PatchKeBugCheckEx.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//\n//\túܱŤ\n//\n\nVOID FASTCALL SyserOnPatchBugCheckExMIniCall(PVOID*\tNextAddress);\n\nVOID SyserNopLoop(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid OnPatchBugCheckEx()\n{\n\tstatic DWORD gPrevExceptionEIP;\n\tstatic DWORD gPrevExceptionInterruptNum;\n\tDWORD* pStack=*(DWORD**)&Reg.GeneReg[ESP_IDX];\n\tDWORD looplabel;\n\tDWORD CurrentCpuID;\n\tDWORD dwCurEIP;\n\tDWORD* dwValue;\n\tCurrentCpuID = GetCurrentCPULocalAPICID();\n\n\tOUTPUT(WSTR(\"%<f>Syser : KeBugCheck %x, {%08x, %08x, %08x, %08x}\\n\"),pStack[1],pStack[2],pStack[3],pStack[4],pStack[5]);\n\tSRCEXPLR_OUTPUT(WSTR(\"%<f>Syser : KeBugCheck %x, {%08x, %08x, %08x, %08x}\\n\"),pStack[1],pStack[2],pStack[3],pStack[4],pStack[5]);\n\tSYSEXPLR_OUTPUT(WSTR(\"%<f>Syser : KeBugCheck %x, {%08x, %08x, %08x, %08x}\\n\"),pStack[1],pStack[2],pStack[3],pStack[4],pStack[5]);\n\tif(gpSyser->m_bFaultsStat==false)\n\t\treturn ;\n\tdwCurEIP=ExceptionReg[CurrentCpuID].EIP;\n\n\tif(pStack[4]==0x7f)\n\t{\n\t\tif(pStack[5]==ExceptionInterruptNum)\n\t\t\tgoto local_001;\n\t}\n\n\tif(dwCurEIP==pStack[2]||dwCurEIP==pStack[3]||dwCurEIP==pStack[4]||dwCurEIP==pStack[5])\n\t{\nlocal_001:\n\t\tif((dwCurEIP>=gpSyser->m_SysInfo.m_SyserBase && \n\t\t\tdwCurEIP<gpSyser->m_SysInfo.m_SyserHighBase))\n\t\t{\t\t\t\t\n\t\t\tOUTPUT(WSTR(\"%<6>Syser : SYSER crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\tcall local_0021\n// local_0011:\n// \n// \t\t\t\tjmp local_0011\n// local_0021:\n// \t\t\t\tpop eax \n// \t\t\t\tmov looplabel,eax\n// \t\t\t}\n\n\t\t\tSyserOnPatchBugCheckExMIniCall((PVOID*)&looplabel);\n\t\t\tSyserNopLoop();\n\t\t\tReg.EIP=looplabel;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(gPrevExceptionEIP == dwCurEIP && gPrevExceptionInterruptNum == ExceptionReg[CurrentCpuID].ExceptionInterruptNumber)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tReg.GeneReg[EAX_IDX]=ExceptionReg[CurrentCpuID].GeneReg[EAX_IDX];\n\t\t\tReg.GeneReg[EBX_IDX]=ExceptionReg[CurrentCpuID].GeneReg[EBX_IDX];\n\t\t\tReg.GeneReg[ECX_IDX]=ExceptionReg[CurrentCpuID].GeneReg[ECX_IDX];\n\t\t\tReg.GeneReg[EDX_IDX]=ExceptionReg[CurrentCpuID].GeneReg[EDX_IDX];\n\t\t\tReg.GeneReg[ESP_IDX]=ExceptionReg[CurrentCpuID].GeneReg[ESP_IDX];\n\t\t\tReg.GeneReg[EBP_IDX]=ExceptionReg[CurrentCpuID].GeneReg[EBP_IDX];\n\t\t\tReg.GeneReg[ESI_IDX]=ExceptionReg[CurrentCpuID].GeneReg[ESI_IDX];\n\t\t\tReg.GeneReg[EDI_IDX]=ExceptionReg[CurrentCpuID].GeneReg[EDI_IDX];\n\t\t\tReg.SegReg[CS_IDX]=ExceptionReg[CurrentCpuID].SegReg[CS_IDX];\n\t\t\tReg.SegReg[DS_IDX]=ExceptionReg[CurrentCpuID].SegReg[DS_IDX];\n\t\t\tReg.SegReg[ES_IDX]=ExceptionReg[CurrentCpuID].SegReg[ES_IDX];\n\t\t\tReg.SegReg[FS_IDX]=ExceptionReg[CurrentCpuID].SegReg[FS_IDX];\n\t\t\tReg.SegReg[GS_IDX]=ExceptionReg[CurrentCpuID].SegReg[GS_IDX];\n\t\t\tReg.SegReg[SS_IDX]=ExceptionReg[CurrentCpuID].SegReg[SS_IDX];\n\t\t\tReg.EIP=ExceptionReg[CurrentCpuID].EIP;\n\t\t\tReg.EFlags=ExceptionReg[CurrentCpuID].EFlags;\n\t\t\tOldESP=ExceptionReg[CurrentCpuID].GeneReg[ESP_IDX];\n\t\t\tOldESP-=0xc;\n\t\t\tdwValue=(DWORD*)OldESP;\n\t\t\tgPrevExceptionEIP=ExceptionReg[CurrentCpuID].EIP;\n\t\t\tgPrevExceptionInterruptNum=ExceptionReg[CurrentCpuID].ExceptionInterruptNumber;\n\t\t\tOUTPUT(WSTR(\"%<3>Syser : system crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n\t\t\tOUTPUT(WSTR(\"%<3>Syser : reboot after syser exitting!\\n\"));\n\t\t\tSYSEXPLR_OUTPUT(WSTR(\"%<3>Syser : system crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n\t\t\tSYSEXPLR_OUTPUT(WSTR(\"%<3>Syser : reboot after syser exitting!\\n\"));\n\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MonitorTabWnd.SetActiveWnd(1);\n\t\t\tSRCEXPLR_OUTPUT(WSTR(\"%<3>Syser : system crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n\t\t\tSRCEXPLR_OUTPUT(WSTR(\"%<3>Syser : reboot after syser exitting!\\n\"));\t\t\t\n\t\t\tRUNCMD(WSTR(\"T\"));\t\t\t\t\n\t\t\tgpSyser->m_pDebugger->m_bPrevPatchBP=false;\n\t\t\tgbBugCheckExExit=true;\n\n\t\t\twhile(WaitForKey()!=1);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(ExceptionReg[CurrentCpuID].EIP<gpSyser->m_SysInfo.m_SyserBase || ExceptionReg[CurrentCpuID].EIP>=gpSyser->m_SysInfo.m_SyserHighBase)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<3>Syser : system crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n\t\t\tOUTPUT(WSTR(\"%<3>Syser : reboot after syser exitting!\\n\"));\n\t\t\tSYSEXPLR_OUTPUT(WSTR(\"%<3>Syser : system crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n\t\t\tSYSEXPLR_OUTPUT(WSTR(\"%<3>Syser : reboot after syser exitting!\\n\"));\n\t\t\tgpSyser->Active();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<6>Syser : SYSER crash  , exception EIP = %08X\\n\"),ExceptionReg[CurrentCpuID].EIP);\n// \t\t\t__asm\n// \t\t\t{\n// \t\t\t\tcall local_002\n// local_0013:\n// \t\t\t\tjmp local_0013\n// local_002:\n// \t\t\t\tpop eax \n// \t\t\t\t\tmov looplabel,eax\n// \t\t\t}\n\n\t\t\tSyserOnPatchBugCheckExMIniCall((PVOID*)&looplabel);\n\t\t\tSyserNopLoop();\n\t\t\tReg.EIP=looplabel;\n\t\t}\n\t}\n}\n\nvoid PatchKeBugCheckEx()\n{\n\tBYTE Value=0;\n\tvoid* pKeBugCheckEx=(void*)KeBugCheckEx;\n\tif(pKeBugCheckEx==NULL)\n\t\treturn;\n\tif(ReadByte((BYTE*)pKeBugCheckEx,&Value)==false)\n\t\treturn;\n\tgpBugCheckExAddress=*(DWORD*)&pKeBugCheckEx;\n\tgbBugCheckExFirstByteIsCC = (Value==0xcc)?true:false;\n\tPATCH_SYSTEM(\"KeBugCheckEx\",pKeBugCheckEx,OnPatchBugCheckEx);\n\tgbBugCheckExFlags=true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/PatchKeBugCheckEx.h",
    "content": "#ifndef __PATCHKEBUGCHECKEX__\n#define __PATCHKEBUGCHECKEX__\n\nvoid PatchKeBugCheckEx();\nvoid OnPatchBugCheckEx();\n\n#endif //__PATCHKEBUGCHECKEX__\n"
  },
  {
    "path": "Project/Syser/Source/PluginListForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"PluginListForm.h\"\n\nenum CPluginListForm::WISP_FORM_ID\n{\n\tCMD_ID_PLUGIN_LIST = WISP_ID_USER_START,\n};\n\nWISP_FORM_RES_ITEM CPluginListForm::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,200},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Plugin List\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tWSTR(\"Syser Plugin List !\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{5,5,300,160},\n\t\tCMD_ID_PLUGIN_LIST,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{315,30,64,64},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{312,120,70,20},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nCPluginListForm::CPluginListForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCPluginListForm::~CPluginListForm()\n{\n}\n\nWISP_MSG_MAP_BEGIN(CPluginListForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nvoid CPluginListForm::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tUpdateContext();\n\t\tShow();\n\t}\n\telse\n\t\tCreateForm();\n}\n\nvoid CPluginListForm::UpdateContext()\n{\n\tHANDLE hItem;\n\tfor(CPluginMap::IT It=gpSyser->m_PluginMap.Begin();It!=gpSyser->m_PluginMap.End();It++)\n\t{\n\t\thItem=m_pPluginList->InsertItem((PCWSTR)It.Key());\n\t\tm_pPluginList->SetItemText(hItem,1,It->PluginInfo);\n\t}\n}\n\nbool CPluginListForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tm_pPluginList = (CWispList*)GetFormItem(CMD_ID_PLUGIN_LIST);\n\tm_pPluginList->InsertColumn(WSTR(\"Module Name\"),100);\n\tm_pPluginList->InsertColumn(WSTR(\"Information\"),190);\n\tUpdateContext();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/PluginListForm.h",
    "content": "#ifndef _PLUGIN_LIST_FORM_H_\n#define _PLUGIN_LIST_FORM_H_\n\n\nclass CPluginListForm : public CWispForm\n{\npublic:\n\tCPluginListForm();\n\t~CPluginListForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tvoid Popup();\n\tvoid UpdateContext();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\npublic:\n\tCWispList* m_pPluginList;\n};\n\n\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/ProcessList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ProcessList.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CProcessList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispList)\n\nCProcessList::CProcessList()\n{\n}\n\nCProcessList::~CProcessList()\n{\n}\n\nvoid CProcessList::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WISP_STR(\"Processes\"),CWispRect(0,0,500,350),NULL,0,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WS_NORMAL);\n\t\tCenter();\n\t}\n}\n\nbool CProcessList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,15));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_Style|=WISP_WLS_EMPTY_SEL_RECT;\n\tInsertColumn(WISP_STR(\"Name\"),200);\n\tInsertColumn(WISP_STR(\"ID\"),80);\n#ifdef CODE_OS_NT_DRV\n\tInsertColumn(WISP_STR(\"CR3\"),80);\n\tInsertColumn(WISP_STR(\"PEB\"),80);\n\tInsertColumn(WISP_STR(\"EPROCESS\"),80);\n#else\n\tInsertColumn(WISP_STR(\"User Name\"),80);\n#endif\n\tUpdateContext();\n\treturn true;\n}\n\nbool CProcessList::OnClose(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nvoid CProcessList::UpdateContext()\n{\n#ifdef CODE_OS_NT_DRV\n\tHANDLE hItem;\n\tWCHAR szBuffer[128];\n\tClearChildItem();\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\n\t{\n\t\t\n\t\thItem = InsertItem((PWSTR)Iter->m_ProcNameW);\n\t\tTSPrintf(szBuffer,WSTR(\"%04X\"),Iter->m_PID);\n\t\tSetItemText(hItem,1,szBuffer);\n\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Iter->m_CR3);\n\t\tSetItemText(hItem,2,szBuffer);\n\t\tSetItemData(hItem,0,(NUM_PTR)&(*Iter));\n\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Iter->m_pCurrentPEB);\n\t\tSetItemText(hItem,3,szBuffer);\n\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Iter->m_PEProcess);\n\t\tSetItemText(hItem,4,szBuffer);\n\t}\n#else\n\tClearChildItem();\n\tm_hSystemItem = InsertItem(WSTR(\"System Process List\"));\n\tSetItemText(m_hSystemItem,1,WSTR(\"SYSTEM\"));\n\tListOSProcess();\n#endif\n}\n\n#ifdef CODE_OS_WIN\n\nbool GetProcessUser(HANDLE hProcess, WCHAR*szUserName,int MaxLen)\n{\n\tSID_NAME_USE sn;\n\tWCHAR szDomainName[MAX_FN_LEN];\n\tDWORD Length,NameLen;\n\tbool Result;\n\tHANDLE hToken;\n\tTOKEN_USER*pTokenUser;\n\t*szUserName=0;\n\tif(OpenProcessToken(hProcess, TOKEN_QUERY, &hToken)==FALSE)\n\t{\n\t\treturn false;\n\t}\n\tLength=0;\n\tGetTokenInformation(hToken,TokenUser, NULL, 0, &Length);\n\tif(Length==0)\n\t{\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\tpTokenUser = (TOKEN_USER*)new BYTE[Length];\n\tif(GetTokenInformation(hToken,TokenUser,pTokenUser,Length,&Length)==false)\n\t{\n\t\tdelete pTokenUser;\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\tLength = MAX_FN_LEN;\n\tNameLen = MaxLen;\n\tResult = LookupAccountSidW(NULL,pTokenUser->User.Sid,szUserName,&NameLen,szDomainName,&Length,&sn)!=FALSE;\n\tdelete pTokenUser;\n\tCloseHandle(hToken);\n\treturn Result;\n}\n\nbool CProcessList::ListOSProcess()\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tHANDLE hProcess;\n\tHANDLE hSystemItem,hUserItem,hParentItem,hItem;\n\tPROCESS_MEMORY_COUNTERS mc;\n\tPROCESSENTRY32W pe32;\n\n\tHANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);\n\tif(hProcessSnap == INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tint UserCount,SystemCount;\n\n\tUserCount=SystemCount=0;\n\thSystemItem = GetItem(0,m_hSystemItem);\n\thUserItem = GetNextItem(m_hSystemItem);\n\tpe32.dwSize = sizeof(PROCESSENTRY32W);\n\tif(Process32FirstW(hProcessSnap,&pe32))\n\t{\n\t\tdo\n\t\t{\n\t\t\thProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,pe32.th32ProcessID);\n\t\t\tGetProcessUser(hProcess,szBuffer,MAX_FN_LEN);\n\t\t\tif(*szBuffer==0)\n\t\t\t\tTStrCpy(szBuffer,WSTR(\"SYSTEM\"));\n\t\t\tif(TStrCmp(szBuffer,WSTR(\"SYSTEM\")))\n\t\t\t{\n\t\t\t\thParentItem = NULL;\n\t\t\t\thItem = hUserItem;\n\t\t\t\tUserCount++;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\thParentItem = m_hSystemItem;\n\t\t\t\thItem = hSystemItem;\n\t\t\t\tSystemCount++;\n\t\t\t}\n\t\t\thItem = InsertItem(TGetFileName(pe32.szExeFile),hParentItem);\n\t\t\tSTZeroMemory(mc);\n\t\t\tGetProcessMemoryInfo(hProcess,&mc,sizeof(mc));\n\t\t\tSetItemData(hItem,0,pe32.th32ProcessID);\n\t\t\tSetItemNum(hItem,1,pe32.th32ProcessID,WSTR(\"0x%X\"));\n\t\t\tSetItemText(hItem,2,szBuffer);\n\t\t\tif(hParentItem)\n\t\t\t\thSystemItem = GetNextItem(hItem);\n\t\t\telse\n\t\t\t\thUserItem = GetNextItem(hItem);\n\t\t\tCloseHandle(hProcess);\n\t\t}while(Process32NextW(hProcessSnap, &pe32));\n\t}\n\tCloseHandle(hProcessSnap);\n\tSetItemChildCount(NULL,UserCount+1);\n\tSetItemChildCount(m_hSystemItem,SystemCount);\n\treturn true;\n}\n\n#endif\n\nbool CProcessList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\n\treturn true;\n}\n\n#ifdef CODE_OS_WIN\n\nvoid CProcessList::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tWCHAR szItem[256],szCmd[256];\n\tif(hItem == m_hSystemItem)\n\t{\n\t\treturn;\n\t}\n\tGetItemText(hItem,1,szItem,256);\n\tif(szItem[0]!='0'||szItem[1]!='x')\n\t{\n\t\treturn;\n\t}\n\n\tRUNCMD(WSTR(\"close\"));\n\tTSPrintf(szCmd,WSTR(\"open \\\\PID:%s\"),&szItem[2]);\n\tRUNCMD(szCmd);\n\tDestroy();\n}\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/ProcessList.h",
    "content": "#ifndef _PROCESS_LIST_H_\n#define _PROCESS_LIST_H_\n\n#include \"DbgProcess.h\" \n\nclass CProcessList : public CWispList\n{\npublic:\n\tCProcessList();\n\t~CProcessList();\n\tvoid\tPopup();\n\tvoid\tUpdateContext();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n#ifdef CODE_OS_WIN\n\tHANDLE\tm_hSystemItem;\n\tbool\tListOSProcess();\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n#endif\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/PromptQuit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"PromptQuit.h\"\nint PromptQuit(char* DisplayString,LONG TimeOut)\n{\n\tint LoopCount;\n\tLARGE_INTEGER  Interval;\n\tPHYSICAL_ADDRESS PhysicaAddressl;\n\tSIZE_T Size;\n\tBYTE *VideoBuffer=NULL;\n\tint RetValue=0;\n\tInterval.QuadPart =TimeOut;\n\tSize=0x8000;\n\tPhysicaAddressl.QuadPart=0xb8000;\n\tVideoBuffer = (BYTE*)MmMapIoSpace(PhysicaAddressl,Size,MmNonCached);\n\tLoopCount=0;\n\t\n\tDisplayTextString(DisplayString,0,24,VideoBuffer);\n\tVidDisplayStringXY(\"Press Esc to cancel loading SYSER\",180,408,1);\n\tfor(;LoopCount<250;LoopCount++)\n\t{\n\t\t__asm\n\t\t{\n\t\t\tpush eax\n\t\t\txor eax,eax\n\t\t\tin al,0x64\n\t\t\ttest al,1 \n\t\t\tjz local_001\n\t\t\tin al,0x60 \n\t\t\tmov RetValue,eax\nlocal_001:\n\t\t\tpop eax \n\t\t}\n\t\tif(RetValue)\n\t\t\tbreak;\n\t\tKeDelayExecutionThread(KernelMode,FALSE,&Interval);\n\t}\n\tDisplayTextString( \"                                                                              \",0,24,VideoBuffer);\n\tULONG  MajorVersion;\n\tULONG  MinorVersion;\n\tULONG  BuildNumber;\n\tPsGetVersion(&MajorVersion,&MinorVersion,&BuildNumber,NULL);\n\tif(MajorVersion == 5 && MinorVersion == 0)\n\t\tVidSolidColorFill(180,408,180+280,408+13,15);\n\telse\n\t\tVidSolidColorFill(180,408,180+280,408+13,1);\n\tif(VideoBuffer)\n\t\tMmUnmapIoSpace(VideoBuffer,Size);\n\treturn RetValue;\n}\nvoid DisplayTextString(char* DisplayString,int x,int y,BYTE* VideoBuffer)\n{\n\tint i;\n\tint StartOffset = y*80*2+x*2;\n\tif(StartOffset>25*80*2||DisplayString==NULL||VideoBuffer==NULL)\n\t\treturn ;\n\tfor(i=0;DisplayString[i];i++)\n\t{\n\t\tVideoBuffer[StartOffset+i*2]=DisplayString[i];\n\t\tVideoBuffer[StartOffset+i*2+1]=0x7; \n\t}\n}"
  },
  {
    "path": "Project/Syser/Source/PromptQuit.h",
    "content": "#ifndef _PROMPTQUIT_H_\n#define _PROMPTQUIT_H_\nvoid DisplayTextString(char* DisplayString,int x,int y,BYTE* VideoBuffer);\nint PromptQuit(char* DisplayString,LONG TimeOut=-10000);\n#endif //_PROMPTQUIT_H_"
  },
  {
    "path": "Project/Syser/Source/RegHelpWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"RegHelpWnd.h\" \nREGISTERBITNAME PageDirEntry4K[]={\n\t{WSTR(\"Page-Table Base Address\"),31,20,NULL},\t\n\t{WSTR(\"Avail\"),11,3,WSTR(\"Available for system programmer's use\")},\n\t{WSTR(\"G\"),8,1,WSTR(\"Global page (Ignored)\")},\n\t{WSTR(\"P\\nS\"),7,1,WSTR(\"Page size(0 indicates 4 KBytes)\")},\n\t{WSTR(\"0\"),6,1,WSTR(\"Reserved (set to 0)\")},\n\t{WSTR(\"A\"),5,1,WSTR(\"Accessed\")},\n\t{WSTR(\"P\\nC\\nD\"),4,1,WSTR(\"Cache disabled\")},\n\t{WSTR(\"P\\nW\\nT\"),3,1,WSTR(\"Write-through\")},\n\t{WSTR(\"U\\n/\\nS\"),2,1,WSTR(\"User/Supervisor\")},\n\t{WSTR(\"R\\n/\\nW\"),1,1,WSTR(\"Read/Write\")},\n\t{WSTR(\"P\"),0,1,WSTR(\"Present\")},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME PageTabEntry4K[]={\n\t{WSTR(\"Page Base Address\"),31,20,NULL},\t\n\t{WSTR(\"Avail\"),11,3,WSTR(\"Available for system programmer's use\")},\n\t{WSTR(\"G\"),8,1,WSTR(\"Global Page\")},\n\t{WSTR(\"P\\nA\\nT\"),7,1,WSTR(\"Page Table Attribute Index\")},\n\t{WSTR(\"D\"),6,1,WSTR(\"Dirty\")},\n\t{WSTR(\"A\"),5,1,WSTR(\"Accessed\")},\n\t{WSTR(\"P\\nC\\nD\"),4,1,WSTR(\"Cache disabled\")},\n\t{WSTR(\"P\\nW\\nT\"),3,1,WSTR(\"Write-through\")},\n\t{WSTR(\"U\\n/\\nS\"),2,1,WSTR(\"User/Supervisor\")},\n\t{WSTR(\"R\\n/\\nW\"),1,1,WSTR(\"Read/Write\")},\n\t{WSTR(\"P\"),0,1,WSTR(\"Present\")},\n\t{NULL,0,0,NULL},\n};\n\n\nREGISTERBITNAME PageDirEntry4M[]={\n\t{WSTR(\"Page Base Address\"),31,10,NULL},\n\t{WSTR(\"Reserved\"),21,9,NULL},\n\t{WSTR(\"P\\nA\\nT\"),12,1,WSTR(\"Page Table Attribute Index\")},\n\t{WSTR(\"Avail.\"),11,3,WSTR(\"Available for system programmer's use\")},\n\t{WSTR(\"G\"),8,1,WSTR(\"Global page\")},\n\t{WSTR(\"P\\nS\"),7,1,WSTR(\"Page size(1 indicates 4 MBytes)\")},\n\t{WSTR(\"D\"),6,1,WSTR(\"Dirty\")},\n\t{WSTR(\"A\"),5,1,WSTR(\"Accessed\")},\n\t{WSTR(\"P\\nC\\nD\"),4,1,WSTR(\"Cache disabled\")},\n\t{WSTR(\"P\\nW\\nT\"),3,1,WSTR(\"Write-through\")},\n\t{WSTR(\"U\\n/\\nS\"),2,1,WSTR(\"User/Supervisor\")},\n\t{WSTR(\"R\\n/\\nW\"),1,1,WSTR(\"Read/Write\")},\n\t{WSTR(\"P\"),0,1,WSTR(\"Present\")},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME DataSegmentDesc0[]={\n\t{WSTR(\"Base 31:24\"),31,8,NULL},\n\t{WSTR(\"G\"),23,1,NULL},\n\t{WSTR(\"B\"),22,1,NULL},\n\t{WSTR(\"0\"),21,1,NULL},\n\t{WSTR(\"A\\nV\\nL\"),20,1,NULL},\n\t{WSTR(\"Limit\\n19:16\"),19,4,NULL},\n\t{WSTR(\"P\"),15,1,NULL},\n\t{WSTR(\"D\\nP\\nL\"),14,2,NULL},\n\t{WSTR(\"1\"),12,1,NULL},\n\t{WSTR(\"Type\"),11,4,NULL},\n\t{WSTR(\"Base 23:16\"),7,8,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME DataSegmentDesc1[]={\n\t{WSTR(\"Base Address 15:00\"),31,16,NULL},\n\t{WSTR(\"Segment Limit 15:00\"),15,16,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME CodeSegmentDesc0[]={\n\t{WSTR(\"Base 31:24\"),31,8,NULL},\n\t{WSTR(\"G\"),23,1,NULL},\n\t{WSTR(\"D\"),22,1,NULL},\n\t{WSTR(\"0\"),21,1,NULL},\n\t{WSTR(\"A\\nV\\nL\"),20,1,NULL},\n\t{WSTR(\"Limit\\n19:16\"),19,4,NULL},\n\t{WSTR(\"P\"),15,1,NULL},\n\t{WSTR(\"D\\nP\\nL\"),14,2,NULL},\n\t{WSTR(\"1\"),12,1,NULL},\n\t{WSTR(\"Type\"),11,4,NULL},\n\t{WSTR(\"Base 23:16\"),7,8,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME CodeSegmentDesc1[]={\n\t{WSTR(\"Base Address 15:00\"),31,16,NULL},\n\t{WSTR(\"Segment Limit 15:00\"),15,16,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME SystemSegmentDesc0[]={\n\t{WSTR(\"Base 31:24\"),31,8,NULL},\n\t{WSTR(\"G\"),23,1,NULL},\t\n\t{WSTR(\"0\"),21,1,NULL},\t\n\t{WSTR(\"Limit\\n19:16\"),19,4,NULL},\n\t{WSTR(\"P\"),15,1,NULL},\n\t{WSTR(\"D\\nP\\nL\"),14,2,NULL},\n\t{WSTR(\"0\"),12,1,NULL},\n\t{WSTR(\"Type\"),11,4,NULL},\n\t{WSTR(\"Base 23:16\"),7,8,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME SystemSegmentDesc1[]={\n\t{WSTR(\"Base Address 15:00\"),31,16,NULL},\n\t{WSTR(\"Segment Limit 15:00\"),15,16,NULL},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME stCR0Name[]={\n\t{WSTR(\"P\\nG\"),31,1,NULL},\n\t{WSTR(\"C\\nD\"),30,1,NULL},\n\t{WSTR(\"N\\nW\"),29,1,NULL},\n\t{WSTR(\"A\\nM\"),18,1,NULL},\n\t{WSTR(\"W\\nP\"),16,1,NULL},\n\t{WSTR(\"N\\nE\"),5,1,NULL},\n\t{WSTR(\"E\\nT\"),4,1,NULL},\n\t{WSTR(\"T\\nS\"),3,1,NULL},\n\t{WSTR(\"E\\nM\"),2,1,NULL},\n\t{WSTR(\"M\\nP\"),1,1,NULL},\n\t{WSTR(\"P\\nE\"),0,1,NULL},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME stCR2Name[]={\n\t{WSTR(\"Page-Fault Linear Address\"),31,32,NULL},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME stCR3Name[]={\n\t{WSTR(\"Page-Directory Base\"),31,20,NULL},\n\t{WSTR(\"P\\nC\\nD\"),4,1,NULL},\n\t{WSTR(\"P\\nW\\nT\"),3,1,NULL},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME stCR4Name[]={\n\t{WSTR(\"Reserved (Set to 0)\"),31,21,NULL},\n\t{WSTR(\"\"),10,1,WSTR(\"OSXMMEX\")},\n\t{WSTR(\"\"),9,1,WSTR(\"OSFXSR\")},\n\t{WSTR(\"P\\nC\\nE\"),8,1,NULL},\n\t{WSTR(\"P\\nG\\nE\"),7,1,NULL},\n\t{WSTR(\"M\\nC\\nE\"),6,1,NULL},\n\t{WSTR(\"P\\nA\\nE\"),5,1,NULL},\n\t{WSTR(\"P\\nS\\nE\"),4,1,NULL},\n\t{WSTR(\"D\\nE\"),3,1,NULL},\n\t{WSTR(\"T\\nS\\nD\"),2,1,NULL},\n\t{WSTR(\"P\\nV\\nI\"),1,1,NULL},\n\t{WSTR(\"V\\nM\\nE\"),0,1,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stEFlagsName[]={\n\t{WSTR(\"Reserved(set to 0)\"),31,10,NULL},\n\t{WSTR(\"I\\nD\"),21,1,WSTR(\"ID   -- Identification Flag\")},\n\t{WSTR(\"V\\nI\\nP\"),20,1,WSTR(\"VIP  -- Virtual Interrupt Pending\")},\n\t{WSTR(\"V\\nI\\nF\"),19,1,WSTR(\"VIF  -- Virtual Interrupt Flag\")},\n\t{WSTR(\"A\\nC\"),18,1,WSTR(\"AC   -- Alignment Check\")},\n\t{WSTR(\"V\\nM\"),17,1,WSTR(\"VM   -- Virtual-8086 Mode\")},\n\t{WSTR(\"R\\nF\"),16,1,WSTR(\"RF   -- Resume Flag\")},\n\t{WSTR(\"0\"),15,1,NULL},\n\t{WSTR(\"N\\nT\"),14,1,WSTR(\"NT   -- Nested Task Flag\")},\n\t{WSTR(\"IOPL\"),13,2,WSTR(\"IOPL -- I/O Privilege Level\")},\t\n\t{WSTR(\"O\\nF\"),11,1,NULL},\n\t{WSTR(\"D\\nF\"),10,1,NULL},\n\t{WSTR(\"I\\nF\"),9,1,WSTR(\"IF   -- Interrupt Enable Flag\")},\n\t{WSTR(\"T\\nF\"),8,1,WSTR(\"TF   -- Trap Flag\")},\n\t{WSTR(\"S\\nF\"),7,1,WSTR(\"SF   -- Sign Flag\")},\n\t{WSTR(\"Z\\nF\"),6,1,WSTR(\"ZF   -- Zero Flag\")},\n\t{WSTR(\"0\"),5,1,NULL},\n\t{WSTR(\"A\\nF\"),4,1,WSTR(\"AF   -- Auxiliary Carry Flag\")},\n\t{WSTR(\"0\"),3,1,NULL},\n\t{WSTR(\"P\\nF\"),2,1,WSTR(\"PF   -- Parity Flag\")},\n\t{WSTR(\"1\"),1,1,NULL},\n\t{WSTR(\"C\\nF\"),0,1,WSTR(\"CF   -- Carry Flag\")},\n\t{NULL,0,0,NULL},\n};\n\nREGISTERBITNAME stDR7Name[]={\n\t{WSTR(\"L\\n0\"),0,1,NULL},\n\t{WSTR(\"G\\n0\"),1,1,NULL},\n\t{WSTR(\"L\\n1\"),2,1,NULL},\n\t{WSTR(\"G\\n1\"),3,1,NULL},\n\t{WSTR(\"L\\n2\"),4,1,NULL},\n\t{WSTR(\"G\\n2\"),5,1,NULL},\n\t{WSTR(\"L\\n3\"),6,1,NULL},\n\t{WSTR(\"G\\n3\"),7,1,NULL},\n\t{WSTR(\"L\\nE\"),8,1,NULL},\n\t{WSTR(\"G\\nE\"),9,1,NULL},\n\t{WSTR(\"1\"),10,1,NULL},\n\t{WSTR(\"0\"),11,1,NULL},\n\t{WSTR(\"0\"),12,1,NULL},\n\t{WSTR(\"G\\nD\"),13,1,NULL},\n\t{WSTR(\"0\"),14,1,NULL},\n\t{WSTR(\"0\"),15,1,NULL},\n\t{WSTR(\"R/W\\n0\"),17,2,NULL},\n\t{WSTR(\"LEN\\n0\"),19,2,NULL},\n\t{WSTR(\"R/W\\n1\"),21,2,NULL},\n\t{WSTR(\"LEN\\n1\"),23,2,NULL},\n\t{WSTR(\"R/W\\n2\"),25,2,NULL},\n\t{WSTR(\"LEN\\n2\"),27,2,NULL},\n\t{WSTR(\"R/W\\n3\"),29,2,NULL},\n\t{WSTR(\"LEN\\n4\"),31,2,NULL},\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR6Name[]={\n\t{WSTR(\"B\\n0\"),0,1,NULL},\n\t{WSTR(\"B\\n1\"),1,1,NULL},\n\t{WSTR(\"B\\n2\"),2,1,NULL},\n\t{WSTR(\"B\\n3\"),3,1,NULL},\n\t{WSTR(\"1\"),4,1,NULL},\n\t{WSTR(\"1\"),5,1,NULL},\n\t{WSTR(\"1\"),6,1,NULL},\n\t{WSTR(\"1\"),7,1,NULL},\n\t{WSTR(\"1\"),8,1,NULL},\n\t{WSTR(\"1\"),9,1,NULL},\n\t{WSTR(\"1\"),10,1,NULL},\n\t{WSTR(\"1\"),11,1,NULL},\n\t{WSTR(\"0\"),12,1,NULL},\n\t{WSTR(\"B\\nD\"),13,1,NULL},\n\t{WSTR(\"B\\nS\"),14,1,NULL},\n\t{WSTR(\"B\\nT\"),15,1,NULL},\n\t{WSTR(\"Reserved(set to 1)\"),31,16,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR5Name[]={\t\n\t{WSTR(\"Reserved\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR4Name[]={\t\n\t{WSTR(\"Reserved\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR3Name[]={\n\t{WSTR(\"Breakpoint Linear Address\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR2Name[]={\n\t{WSTR(\"Breakpoint 2 Linear Address\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR1Name[]={\n\t{WSTR(\"Breakpoint 1 Linear Address\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\nREGISTERBITNAME stDR0Name[]={\n\t{WSTR(\"Breakpoint 0 Linear Address\"),31,32,NULL},\t\n\t{NULL,0,0,NULL},\n};\n\nWISP_MSG_MAP_BEGIN(CRegHelpWnd)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\nWISP_MSG_MAP_END(CWispWnd)\n\nCRegHelpWnd::CRegHelpWnd()\n{\n\tm_RegisterGroup=-1;\n}\n\nCRegHelpWnd::~CRegHelpWnd()\n{\n}\n\n\n#define BEGIN_X_POS 60\n#define BEGIN_Y_POS 30\n#define FIELDWIDTH  15\n#define FIELDHEIGH\t45\n#define DATA_LEN\t32\n#define WIDTH_LEN\t(FIELDWIDTH*DATA_LEN+1)\n\nbool CRegHelpWnd::OnUpdateClient(IN WISP_MSG *pMsg)\n{\n//\tWISP_CHAR DisplayOut[4];\n\t\n//\tWISP_RECT rc;\n\tint\t\t\tFontHeight,x,y;\n\tFontHeight = m_ClientDC.GetTextHeight(WISP_CHAR(\"M\"));\n\n\tm_ClientDC.DrawFullRect(&m_ClientRect,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_WHITE]);\n\n\tx = 10;y = 10;\n\tif(m_RegisterGroup == CONTROL_REGISTER)\n\t{\n\t\tDrawRegister(x,y,0x80000fff,0xfffff800,0x7ff,0,m_ClientDC,stCR4Name,WSTR(\"CR4\"));\n\t\ty = y + FontHeight+FIELDHEIGH+45;\n\t\tDrawRegister(x,y,0x8000183d,0x00000fe7,0x81c,0,m_ClientDC,stCR3Name,WSTR(\"CR3\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0x0,0x0,0,m_ClientDC,stCR2Name,WSTR(\"CR2\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0xffffffff,0x0,0,m_ClientDC,NULL,WSTR(\"CR1\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0xf00f807f,0x1ffaffc0,0x7007803f,0,m_ClientDC,stCR0Name,WSTR(\"CR0\"));\t\n\t}\n\tif(m_RegisterGroup==DEBUG_REGISTER)\n\t{\t\t\t\n\t\tDrawRegister(x,y,0xffffffff,0x0000dc00,0xaaaab3ff,0,m_ClientDC,stDR7Name,WSTR(\"DR7\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x8001ffff,0xffff1ff0,0xf00f,0,m_ClientDC,stDR6Name,WSTR(\"DR6\"));\t\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0xffffffff,0x0,0,m_ClientDC,stDR5Name,WSTR(\"DR5\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0xffffffff,0x0,0,m_ClientDC,stDR4Name,WSTR(\"DR4\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0x0,0x0,0,m_ClientDC,stDR3Name,WSTR(\"DR0 - DR3\"));\n\t\t/*\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0x0,0x0,0,m_ClientDC,stDR2Name,WSTR(\"DR2\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0x0,0x0,0,m_ClientDC,stDR1Name,WSTR(\"DR1\"));\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80000001,0x0,0x0,0,m_ClientDC,stDR0Name,WSTR(\"DR0\"));\t\n\t\t*/\n\t}\n\tif(m_RegisterGroup==SEGMENT_DESCRIPTOR_REGISTER)\n\t{\n\t\tDrawRegister(x,y,0x81f9f981,0x00200000,0x80f8d880,0,m_ClientDC,DataSegmentDesc0);\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80018001,0x00000000,0x8000,0,m_ClientDC,DataSegmentDesc1);\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x81f9f981,0x00200000,0x80f8d880,0,m_ClientDC,CodeSegmentDesc0);\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80018001,0x00000000,0x8000,0,m_ClientDC,CodeSegmentDesc1);\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x81f9f981,0x00700000,0x80f8d880,0,m_ClientDC,SystemSegmentDesc0);\n\t\ty = y + FontHeight+FIELDHEIGH;\n\t\tDrawRegister(x,y,0x80018001,0x0,0x8000,0,m_ClientDC,SystemSegmentDesc1);\n\t}\n\tif(m_RegisterGroup==FLAGS_REGISTER)\n\t{\n\t\tDrawRegister(40,y,0x807fffff,0xffc0802a,0x003fefff,1,m_ClientDC,stEFlagsName);\n\t}\n\tif(m_RegisterGroup==PAGEDIRENTRY4M_REGISTER)\n\t{\n\t\tDrawRegister(x,y,0x80603bff,0x003fe000,0x002019ff,0,m_ClientDC,PageDirEntry4M);\n\t}\n\tif(m_RegisterGroup==PAGEDIRENTRY4K_REGISTER)\n\t{\n\t\tDrawRegister(x,y,0x80003bff,0,0x000009ff,0,m_ClientDC,PageDirEntry4K);\n\t\ty=225;\n\t\tDrawRegister(x,y,0x80003bff,0,0x000009ff,0,m_ClientDC,PageTabEntry4K);\n\t}\n\treturn false;\n}\n\nbool CRegHelpWnd::DrawRegister(int x, int y,unsigned int NumberMask,unsigned int  ReservedMask,unsigned int LineMask,unsigned int OtherMask, CWispDC DrawDC,REGISTERBITNAME *RegBitName,WISP_CHAR *RegisterName)\n{\n\t\n\tWISP_CHAR DisplayOut[4];\n\tWISP_RECT rc;//,FillRect;\n\tint\t\t\tFontHeight,i;\n\t\n\tFontHeight = DrawDC.GetTextHeight(WISP_CHAR(\"M\"));\n\t//ɫ\n\trc.x = x;rc.y = y;rc.cx = WIDTH_LEN; rc.cy=FIELDHEIGH+FontHeight;\n\tDrawDC.DrawFullRect(&rc,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_WHITE]);\n\t//ıɫ\t\n\trc.x = x;rc.y = y+FontHeight;rc.cx = FIELDWIDTH;rc.cy = FIELDHEIGH;\t\t\n\tfor(i = 31; i >= 0; i--)\n\t{\n\t\trc.x = x + (31 - i) * FIELDWIDTH;\n\t\tif((ReservedMask>>i)&1)\n\t\t{\n\t\t\tDrawDC.DrawFullRect(&rc,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_LIGHT_GRAY]);\n\t\t}\n\t}\n\t//λԼķָ\n\trc.x = x;rc.y = y;rc.cx = FIELDWIDTH;rc.cy = FontHeight;\t\n\tfor(i = 31; i >= 0; i--)\n\t{\n\t\trc.x = x + (31 - i) * FIELDWIDTH;\n\t\tif((NumberMask >> i)&1)\n\t\t{\n\t\t\tTSPrintf(DisplayOut,WISP_STR(\"%d\"),i);\t\t\t\n\t\t\tDrawDC.DrawString(DisplayOut,&rc,WISP_DT_CENTER|WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\t\t}\n\t\tif((LineMask >> i) & 1 && i != 31)\n\t\t{\n\t\t\tDrawDC.DrawVLine(rc.x,rc.y+FontHeight,rc.y+FontHeight+FIELDHEIGH-1,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_BLACK]);\n\t\t}\n\n\t}\n\t//\n\tif(RegBitName)\n\t{\n\t\trc.x = x;rc.y = y+FontHeight;rc.cy=FIELDHEIGH;\n\t\ti = 0;\n\t\tint DescriptorFieldMaxLen = 0,nTmp;\n\t\tbool bDescriptorExist = false;\n\t\twhile(RegBitName[i].BitLen && i <= 31)\n\t\t{\n\t\t\trc.x = x + (31 - RegBitName[i].BeginBitIndex) * FIELDWIDTH;\n\t\t\trc.cx = FIELDWIDTH * RegBitName[i].BitLen;\n\t\t\tif(RegBitName[i].RegName)\n\t\t\t\tDrawDC.DrawString(RegBitName[i].RegName,&rc,WISP_DT_CENTER|WISP_DT_VCENTER);\n\t\t\t\n\t\t\tif(RegBitName[i].Descriptor)\n\t\t\t{\n\t\t\t\tbDescriptorExist=true;\n\t\t\t\tnTmp = DrawDC.GetTextExtent(RegBitName[i].Descriptor) - (31 - RegBitName[i].BeginBitIndex) * FIELDWIDTH;\n\t\t\t\tif(nTmp > DescriptorFieldMaxLen)\n\t\t\t\t\tDescriptorFieldMaxLen = nTmp;\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t\t\n\t\t//˵\n\t\tif(bDescriptorExist)\n\t\t{\n\t\t\trc.x = x - DescriptorFieldMaxLen;rc.y = y + FIELDHEIGH+FontHeight;rc.cy = FontHeight;\n\t\t\ti = 0;\n\t\t\tint j = 0,tmpx,tmpy,tmpx2,tmpy2;\n\t\t\ttmpx = rc.x;\n\t\t\ttmpy2 = y + FIELDHEIGH+FontHeight+2;\n\t\t\twhile(RegBitName[i].BitLen && i <= 31)\n\t\t\t{\n\t\t\t\tif(RegBitName[i].Descriptor)\n\t\t\t\t{\n#define TEMP_HIGHT (FontHeight+2)\t\t\t\t\t\n\t\t\t\t\trc.y = y + FIELDHEIGH+FontHeight +20 + (TEMP_HIGHT * j);\n\t\t\t\t\trc.cx = DrawDC.GetTextExtent(RegBitName[i].Descriptor);\n\t\t\t\t\ttmpx = rc.x+rc.cx;\n\t\t\t\t\ttmpy = rc.y+TEMP_HIGHT/2-2;\n\t\t\t\t\ttmpx2 = x + (31 - RegBitName[i].BeginBitIndex) * FIELDWIDTH + FIELDWIDTH/2;\t\t\t\t\t\n\t\t\t\t\tDrawDC.DrawHLine(tmpx,tmpx2,tmpy,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_BLACK]);\n\t\t\t\t\tDrawDC.DrawVLine(tmpx2,tmpy2,tmpy,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_BLACK]);\t\t\t\t\t\n\t\t\t\t\tDrawDC.DrawString(RegBitName[i].Descriptor,&rc,WISP_DT_LEFT|WISP_DT_SINGLELINE|WISP_DT_VCENTER);\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\t//߿\n\trc.x = x;rc.y = y+FontHeight;rc.cx = WIDTH_LEN; rc.cy=FIELDHEIGH;\n\tDrawDC.DrawRect(&rc,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_BLACK]);\n\t//Ĵ\n\tif(RegisterName)\n\t{\n\t\trc.x = x + WIDTH_LEN+1+8;\n\t\trc.y = y + FontHeight;\n\t\tDrawDC.DrawString(RegisterName,&rc,WISP_DT_LEFT|WISP_DT_VCENTER|WISP_DT_NOCLIP);\n\t}\n\treturn 0;\n}\n\nint CRegHelpWnd::SetRegisterGroup(int index)\n{\n\tif(index >= 0 && m_RegisterGroup <MAX_REGISTER_GROUP_INDEX)\n\t\tm_RegisterGroup = index;\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Syser/Source/RegHelpWnd.h",
    "content": "#ifndef _REGHELPWND_H_\n#define _REGHELPWND_H_ \n\n\nenum{\n\tCONTROL_REGISTER,\n\tDEBUG_REGISTER,\n\tSEGMENT_DESCRIPTOR_REGISTER,\n\tFLAGS_REGISTER,\n\tPAGEDIRENTRY4M_REGISTER,\n\tPAGEDIRENTRY4K_REGISTER,\n\tMAX_REGISTER_GROUP_INDEX,\n};\n\ntypedef struct stRegisterBitName\n{\n\tWISP_CHAR *RegName;\n\tint BeginBitIndex;\n\tint BitLen;\n\tWISP_CHAR *Descriptor;\n}REGISTERBITNAME;\n\nclass CRegHelpWnd :\tpublic CWispWnd\n{\n\tint m_RegisterGroup;\npublic:\n\tCRegHelpWnd();\n\t~CRegHelpWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tbool\tDrawRegister(int x, int y,unsigned int NumberMask,unsigned int  ReservedMask,unsigned int LineMask,unsigned int OtherMask, CWispDC DrawDC,REGISTERBITNAME *RegBitName=NULL,WISP_CHAR *RegisterName=NULL);\t\n\tint\t\tSetRegisterGroup(int index);\n};\n#endif /* _REGHELPWND_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/Resource.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Resource.h\"\n#include \"SyserResource.h\"\n\n\n\n\n"
  },
  {
    "path": "Project/Syser/Source/Resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by Syser.rc\n//\n#define IDR_RT_MANIFEST                 1\n#define IDI_ICON_SYSER                  101\n#define IDC_CURSOR_CUR_EIP              103\n#define IDS_STRING104                   104\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        105\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Ring3Object.cpp",
    "content": "#include \"Stdafx.h\"\n#include \"Ring3Object.h\"\n\nstatic HMODULE hNtdllModule=NULL;\n\nPZWCLOSE pZwClose=NULL;\nPZWOPENFILE pZwOpenFile=NULL;\nPZWOPENSECTION pZwOpenSection=NULL;\nPZWQUERYOBJECT pZwQueryObject=NULL;\nPRTLINITUNICODESTRING pRtlInitUnicodeString=NULL;\nPZWOPENDIRECTORYOBJECT pZwOpenDirectoryObject=NULL;\nPZWQUERYDIRECTORYOBJECT pZwQueryDirectoryObject=NULL;\nPZWQUERYSYSTEMINFORMATION pZwQuerySystemInformation=NULL;\nPZWOPENSYMBOLICLINKOBJECT pZwOpenSymbolicLinkObject=NULL;\nPZWQUERYSYMBOLICLINKOBJECT pZwQuerySymbolicLinkObject=NULL;\nbool UnloadAPI()\n{\n\tif(hNtdllModule)\n\t\tFreeLibrary(hNtdllModule);\n\treturn TRUE;\n}\n\nbool LoadAPI()\n{\n\thNtdllModule = GetModuleHandle(\"ntdll.dll\");\n\tif(!hNtdllModule)\n\t\treturn false;\n\tpZwClose = (PZWCLOSE)GetProcAddress(hNtdllModule,\"ZwClose\");\n\tif(!pZwClose)\n\t\treturn false;\n\tpZwQuerySystemInformation = (PZWQUERYSYSTEMINFORMATION)GetProcAddress(hNtdllModule,\"ZwQuerySystemInformation\");\n\tif(!pZwQuerySystemInformation)\n\t\treturn false;\n\tpZwOpenSection = (PZWOPENSECTION)GetProcAddress(hNtdllModule,\"ZwOpenSection\");\t\n\tif(!pZwOpenSection)\n\t\treturn false;\n\tpZwOpenFile = (PZWOPENFILE)GetProcAddress(hNtdllModule,\"ZwOpenFile\");\n\tif(!pZwOpenFile)\n\t\treturn false;\n\tpRtlInitUnicodeString = (PRTLINITUNICODESTRING)GetProcAddress(hNtdllModule,\"RtlInitUnicodeString\");\t\n\tif(!pRtlInitUnicodeString)\n\t\treturn false;\n\tpZwQueryObject = (PZWQUERYOBJECT)GetProcAddress(hNtdllModule,\"ZwQueryObject\");\n\tif(!pZwQueryObject)\n\t\treturn false;\n\tpZwOpenDirectoryObject = (PZWOPENDIRECTORYOBJECT)GetProcAddress(hNtdllModule,\"ZwOpenDirectoryObject\");\n\tif(!pZwOpenDirectoryObject)\n\t\treturn false;\n\tpZwQueryDirectoryObject = (PZWQUERYDIRECTORYOBJECT)GetProcAddress(hNtdllModule,\"ZwQueryDirectoryObject\");\n\tif(!pZwQueryDirectoryObject)\n\t\treturn false;\n\tpZwOpenSymbolicLinkObject = (PZWOPENSYMBOLICLINKOBJECT)GetProcAddress(hNtdllModule,\"ZwOpenSymbolicLinkObject\");\n\tif(!pZwOpenSymbolicLinkObject)\n\t\treturn false;\n\tpZwQuerySymbolicLinkObject = (PZWQUERYSYMBOLICLINKOBJECT)GetProcAddress(hNtdllModule,\"ZwQuerySymbolicLinkObject\");\n\tif(!pZwQuerySymbolicLinkObject)\n\t\treturn false;\n\treturn true;\n}\nbool GetSymbolicLink(WCHAR* LinkName,OUT UNICODE_STRING* LinkTargetName,OUT PULONG ReturnLength)\n{\n\tNTSTATUS NTStatus;\n\tHANDLE SymbolicHandle=NULL;\n\tUNICODE_STRING UnicodeString;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tif(pRtlInitUnicodeString==NULL)\n\t\tif(LoadAPI()==false)\n\t\t\treturn false;\n\tif(pRtlInitUnicodeString)\n\t\tpRtlInitUnicodeString(&UnicodeString,LinkName);\n\tInitializeObjectAttributes(&ObjectAttributes,&UnicodeString,OBJ_CASE_INSENSITIVE,0,NULL);\n\tNTStatus = pZwOpenSymbolicLinkObject(&SymbolicHandle,SYMBOLIC_LINK_QUERY,&ObjectAttributes);\n\tif(NTStatus)\n\t\treturn false;\n\t\n\tNTStatus = pZwQuerySymbolicLinkObject(SymbolicHandle,LinkTargetName,ReturnLength);\n\tif(NTStatus)\n\t{\n\t\tpZwClose(SymbolicHandle);\n\t\treturn false;\n\t}\n\tpZwClose(SymbolicHandle);\n\treturn true;\n}\n\n\nbool FindFirstObject(WCHAR* DirectoryName,INOUT PFIND_OBJECT_DATA pFindData)\n{\n\tNTSTATUS NTStatus;\n\tUNICODE_STRING DirString;\n\tHANDLE DirectoryHandle=NULL;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tpRtlInitUnicodeString(&DirString,DirectoryName);\n\tpFindData->FindDataBuffer = new FINDDATABUF;\n\tmemset(pFindData->FindDataBuffer,0,sizeof(FINDDATABUF));\n\tpFindData->CurrentDirName = new WCHAR[TStrLen(DirectoryName)+1];\n\n\tTStrCpy(pFindData->CurrentDirName,DirectoryName);\n\tInitializeObjectAttributes(&ObjectAttributes,&DirString,OBJ_CASE_INSENSITIVE,0,NULL);\n\tNTStatus = pZwOpenDirectoryObject(&pFindData->FindHandle,DIRECTORY_QUERY,&ObjectAttributes);\n\tif(NTStatus)\n\t{\n\t\tdelete pFindData->FindDataBuffer;\n\t\tpFindData->FindDataBuffer=NULL;\n\t\tdelete pFindData->CurrentDirName;\n\t\tpFindData->CurrentDirName=NULL;\n\t\tpFindData->FindHandle=NULL;\n\t\treturn false;\n\t}\n\tNTStatus = pZwQueryDirectoryObject(pFindData->FindHandle,pFindData->FindDataBuffer,sizeof(FINDDATABUF),TRUE,TRUE,&pFindData->Context,&pFindData->NameMaxLen);\n\tif(NTStatus)\n\t{\n\t\tpZwClose(pFindData->FindHandle);\n\t\tdelete pFindData->FindDataBuffer;\n\t\tpFindData->FindDataBuffer=NULL;\n\t\tdelete pFindData->CurrentDirName;\n\t\tpFindData->FindHandle=NULL;\n\t\tpFindData->FindHandle=NULL;\n\t\treturn false;\n\t}\n\treturn true;\n}\nbool FindNextObject(INOUT PFIND_OBJECT_DATA pFindData)\n{\n\tNTSTATUS NTStatus;\n\tNTStatus = pZwQueryDirectoryObject(pFindData->FindHandle,pFindData->FindDataBuffer,sizeof (FINDDATABUF),TRUE,FALSE,&pFindData->Context,&pFindData->NameMaxLen);\n\tif(NTStatus)\n\t{\n\t\treturn false;\n\t}\n\treturn true;\n}\nvoid CloseFindObject(PFIND_OBJECT_DATA pFindData)\n{\n\tif(pFindData->FindHandle)\n\t{\n\t\tpZwClose(pFindData->FindHandle);\n\t\tpFindData->FindHandle=NULL;\n\t}\n\tif(pFindData->FindDataBuffer)\n\t{\n\t\tdelete pFindData->FindDataBuffer;\n\t\tpFindData->FindDataBuffer=NULL;\n\t}\n\tif(pFindData->CurrentDirName)\n\t{\n\t\tdelete pFindData->CurrentDirName;\n\t\tpFindData->CurrentDirName=NULL;\n\t}\n\n\treturn;\n}"
  },
  {
    "path": "Project/Syser/Source/Ring3Object.h",
    "content": "#ifndef _LOADHLPMODULE_H_\n#define _LOADHLPMODULE_H_\n#include \"NTDLLDefine.h\" \nextern PZWCLOSE pZwClose;\nextern PZWOPENFILE pZwOpenFile;\nextern PZWQUERYOBJECT pZwQueryObject;\nextern PZWOPENSECTION pZwOpenSection;\nextern PRTLINITUNICODESTRING pRtlInitUnicodeString;\nextern PZWOPENDIRECTORYOBJECT pZwOpenDirectoryObject;\nextern PZWQUERYDIRECTORYOBJECT pZwQueryDirectoryObject;\nextern PZWQUERYSYSTEMINFORMATION pZwQuerySystemInformation;\nextern PZWOPENSYMBOLICLINKOBJECT pZwOpenSymbolicLinkObject;\nextern PZWQUERYSYMBOLICLINKOBJECT pZwQuerySymbolicLinkObject;\nbool UnloadAPI();\nbool LoadAPI();\nbool GetSymbolicLink(WCHAR* LinkName,OUT UNICODE_STRING *LinkTargetName,OUT PULONG ReturnLength);\nvoid CloseFindObject(PFIND_OBJECT_DATA pFindData);\nbool FindNextObject(INOUT PFIND_OBJECT_DATA pFindData);\nbool FindFirstObject(WCHAR* DirectoryName,INOUT PFIND_OBJECT_DATA pFindData);\n\n#endif //_LOADHLPMODULE_H_"
  },
  {
    "path": "Project/Syser/Source/RunTrace.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"RunTrace.h\"\n#include \"Syser.h\"\n\nCRunTrace::CRunTrace()\n{\n\tm_MaxCount = 300;\n\tm_pRunTrace = new STRUNTRACE[m_MaxCount];\n\tmemset(m_pRunTrace,0,sizeof(STRUNTRACE)*m_MaxCount);\n\tm_CurIndex=0;\n\tm_RegisterModifyMap=new DWORD[m_MaxCount];\n\tmemset(m_RegisterModifyMap,0,sizeof(DWORD)*m_MaxCount);\n\tm_ModifyRegister=new DWORD[m_MaxCount*2];\n\tmemset(m_ModifyRegister,0,sizeof(DWORD)*m_MaxCount*2);\n\tm_bFirstInsert=true;\n\tm_CurrentModifyIndex=0;\n\tm_MoveModifyIndex=0;\n\tm_FirstRegIndex=0;\n\tm_FirstRegModifyRegister=0;\n}\n\nCRunTrace::~CRunTrace()\n{\n\tdelete []m_pRunTrace;\n\tdelete []m_RegisterModifyMap;\n\tdelete []m_ModifyRegister;\n\tm_RegisterModifyMap=NULL;\n\tm_ModifyRegister=NULL;\n\tm_pRunTrace=NULL;\n\tm_MaxCount=0;\n\t\n}\nUINT CRunTrace::GetRunTraceCount()\n{\n\tif(m_Count>m_MaxCount)\n\t\treturn m_MaxCount;\n\treturn m_Count;\n}\nUINT CRunTrace::Insert(ULPOS StartAddress,ULPOS EIP,ULPOS CodeViewIndex)\n{\n\tULPOS Index;\n\tX86_REG_CONTEXT TempReg;\n\tDWORD RegModifyMap=0;\n\tDWORD ModifyIndex=0,MaxIndex=m_MaxCount*2;\n\t\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn 0;\n\tif(m_CurIndex>=m_MaxCount)\n\t{\n\t\tHeadNext();\n\t}\n\tIndex = m_CurIndex % m_MaxCount;\n\tm_pRunTrace[Index].CodeViewStartAddress=StartAddress;\n\tm_pRunTrace[Index].EIPOffset = (WORD)(EIP-StartAddress);\n\tm_pRunTrace[Index].CodeViewIndex =(WORD) CodeViewIndex;\n\t//OUTPUT(WSTR(\"insert %08x %08x\\n\"),StartAddress,EIP);\n\tif(m_bFirstInsert)\n\t{\n\t\tm_bFirstInsert=false;\n#ifdef CODE_OS_WIN\n\t\tm_FirstReg.GeneReg[EAX_IDX]=*X86_REG_PTR.pEAX;\n\t\tm_FirstReg.GeneReg[ECX_IDX]=*X86_REG_PTR.pECX;\n\t\tm_FirstReg.GeneReg[EDX_IDX]=*X86_REG_PTR.pEDX;\n\t\tm_FirstReg.GeneReg[EBX_IDX]=*X86_REG_PTR.pEBX;\n\t\tm_FirstReg.GeneReg[ESP_IDX]=*X86_REG_PTR.pESP;\n\t\tm_FirstReg.GeneReg[EBP_IDX]=*X86_REG_PTR.pEBP;\n\t\tm_FirstReg.GeneReg[ESI_IDX]=*X86_REG_PTR.pESI;\n\t\tm_FirstReg.GeneReg[EDI_IDX]=*X86_REG_PTR.pEDI;\n\t\tm_FirstReg.EIP=*X86_REG_PTR.pEIP;\n\t\tm_FirstReg.EFlags=*(DWORD*)X86_REG_PTR.pEFL;\n#else\n\t\tm_FirstReg=Reg;\n#endif\n\t\tm_CurrentReg=m_FirstReg;\n\t}\n\telse\n\t{\n#ifdef CODE_OS_WIN\n\t\tTempReg.GeneReg[EAX_IDX]=*X86_REG_PTR.pEAX;\n\t\tTempReg.GeneReg[ECX_IDX]=*X86_REG_PTR.pECX;\n\t\tTempReg.GeneReg[EDX_IDX]=*X86_REG_PTR.pEDX;\n\t\tTempReg.GeneReg[EBX_IDX]=*X86_REG_PTR.pEBX;\n\t\tTempReg.GeneReg[ESP_IDX]=*X86_REG_PTR.pESP;\n\t\tTempReg.GeneReg[EBP_IDX]=*X86_REG_PTR.pEBP;\n\t\tTempReg.GeneReg[ESI_IDX]=*X86_REG_PTR.pESI;\n\t\tTempReg.GeneReg[EDI_IDX]=*X86_REG_PTR.pEDI;\n\t\tTempReg.EIP=*X86_REG_PTR.pEIP;\n\t\tTempReg.EFlags=*(DWORD*)X86_REG_PTR.pEFL;\n#else\n\t\tTempReg=Reg;\n#endif\n\t\tif(TempReg.GeneReg[EAX_IDX]!=m_CurrentReg.GeneReg[EAX_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EAX_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[EAX_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[EBX_IDX]!=m_CurrentReg.GeneReg[EBX_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EBX_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[EBX_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[ECX_IDX]!=m_CurrentReg.GeneReg[ECX_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|ECX_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[ECX_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[EDX_IDX]!=m_CurrentReg.GeneReg[EDX_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EDX_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[EDX_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[ESP_IDX]!=m_CurrentReg.GeneReg[ESP_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|ESP_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[ESP_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[EBP_IDX]!=m_CurrentReg.GeneReg[EBP_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EBP_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[EBP_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[ESI_IDX]!=m_CurrentReg.GeneReg[ESI_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|ESI_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[ESI_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.GeneReg[EDI_IDX]!=m_CurrentReg.GeneReg[EDI_IDX])\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EDI_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.GeneReg[EDI_IDX];\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tif(TempReg.EIP!=m_CurrentReg.EIP)\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EIP_MODIFY_BIT_MASK;\t\t\t\n\t\t}\n\t\tif(TempReg.EFlags!=m_CurrentReg.EFlags)\n\t\t{\n\t\t\tRegModifyMap = RegModifyMap|EFL_MODIFY_BIT_MASK;\n\t\t\tm_ModifyRegister[m_CurrentModifyIndex%MaxIndex]=TempReg.EFlags;\n\t\t\tm_CurrentModifyIndex++;\n\t\t}\n\t\tm_CurrentReg = TempReg;\n\t\tm_RegisterModifyMap[Index]=RegModifyMap;\n\t}\n\tm_CurIndex++;\n\tm_MoveIndex=m_CurIndex%m_MaxCount;\n\tm_Count++;\n\tif(m_Count>m_MaxCount)\n\t\treturn m_MaxCount;\n\treturn m_Count;\n}\nint CRunTrace::GetModifyRegisterCount(DWORD RegModifyMask)\n{\n\tint i,Count=0;\n\tfor(i = 0;i<32;i++)\n\t{\n\t\tif(RegModifyMask&1)\n\t\t\tCount++;\n\t\tRegModifyMask>>=1;\n\t}\n\treturn Count;\n}\nvoid CRunTrace::GetRegisterContext(DWORD Offset,X86_REG_CONTEXT* pRegContext,DWORD *RegModifyMask)\n{\n\tDWORD RegModifyMap=0;\n\tDWORD MapIndex,MaxIndex=m_MaxCount*2;\n\tMapIndex=m_FirstRegModifyRegister;\n\tDWORD i =0;\n\t*pRegContext=m_FirstReg;\n\tif(Offset==0)\n\t{\n\t\tif(RegModifyMask)\n\t\t\t*RegModifyMask = m_RegisterModifyMap[(m_FirstRegModifyRegister+i)%m_MaxCount];\n\t\treturn;\n\t}\n\tfor(i = 1; i <= Offset;i++)\n\t{\n\t\tRegModifyMap = m_RegisterModifyMap[(m_FirstRegModifyRegister+i)%m_MaxCount];\n\t\tif(RegModifyMap==0)\n\t\t\tcontinue;\n\t\tif(RegModifyMap&EAX_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[EAX_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&EBX_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[EBX_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&ECX_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[ECX_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&EDX_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[EDX_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&ESP_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[ESP_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&EBP_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[EBP_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&ESI_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[ESI_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&EDI_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->GeneReg[EDI_IDX]=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t\tif(RegModifyMap&EFL_MODIFY_BIT_MASK)\n\t\t{\n\t\t\tpRegContext->EFlags=m_ModifyRegister[MapIndex%MaxIndex];\n\t\t\tMapIndex++;\n\t\t}\n\t}\n\tif(RegModifyMask)\n\t\t*RegModifyMask=RegModifyMap;\n}\nvoid CRunTrace::HeadNext()\n{\n\tDWORD RegModifyMask;\n\tX86_REG_CONTEXT\t NewFirstReg;\n\tGetRegisterContext(1,&NewFirstReg,&RegModifyMask); \n\tm_FirstRegIndex++;\n\tm_FirstRegIndex=m_FirstRegIndex%m_MaxCount;\n\tm_FirstRegModifyRegister+=GetModifyRegisterCount(m_RegisterModifyMap[m_FirstRegIndex]);\n\tm_FirstReg=NewFirstReg;\n\t\n}\nvoid CRunTrace::Clear()\n{\n\tm_CurIndex=0;\n\tm_Count;\n}\nPSTRUNTRACE CRunTrace::GetNextTrace()\n{\n\tm_MoveIndex++;\n\tm_MoveIndex%=m_MaxCount;\n\tif(m_MoveIndex>=m_CurIndex)\n\t{\n\t\tm_MoveIndex=m_CurIndex;\n\t\treturn NULL;\n\t}\n\treturn &m_pRunTrace[m_MoveIndex];\n}\nPSTRUNTRACE CRunTrace::GetPrevTrace()\n{\n\tif(m_MoveIndex==0)\n\t{\n\t\treturn m_pRunTrace;\n\t}\n\tm_MoveIndex--;\n\treturn &m_pRunTrace[m_MoveIndex];\n}\n\nPSTRUNTRACE CRunTrace::GetTraceByIndex(DWORD Index)\n{\n\tif(Index>=m_MaxCount||Index>=m_CurIndex)\n\t\treturn NULL;\n\treturn &m_pRunTrace[(m_FirstRegIndex+Index)%m_MaxCount];\n}"
  },
  {
    "path": "Project/Syser/Source/RunTrace.h",
    "content": "#ifndef _RUN_TRACE_H_\n#define _RUN_TRACE_H_\n\ntypedef struct _STRUNSTRACE\n{\n\tULPOS CodeViewStartAddress;\n\tWORD EIPOffset;\n\tWORD CodeViewIndex;\n}STRUNTRACE,*PSTRUNTRACE;\n\nenum\n{\n\tEAX_MODIFY_BIT_MASK= 1,\n\tEBX_MODIFY_BIT_MASK= 2,\n\tECX_MODIFY_BIT_MASK= 4,\n\tEDX_MODIFY_BIT_MASK= 8,\n\tESP_MODIFY_BIT_MASK= 0x10,\n\tEBP_MODIFY_BIT_MASK= 0x20,\n\tESI_MODIFY_BIT_MASK= 0x40,\n\tEDI_MODIFY_BIT_MASK= 0x80,\n\tEFL_MODIFY_BIT_MASK= 0x100,\n\tEIP_MODIFY_BIT_MASK= 0x200,\n\tES_MODIFY_BIT_MASK= 0x400,\n\tCS_MODIFY_BIT_MASK= 0x800,\n\tDS_MODIFY_BIT_MASK= 0x1000,\n\tFS_MODIFY_BIT_MASK= 0x2000,\n\tGS_MODIFY_BIT_MASK= 0x4000,\n\tSS_MODIFY_BIT_MASK= 0x8000,\n\tCR0_MODIFY_BIT_MASK= 0x10000,\n\tCR1_MODIFY_BIT_MASK= 0x20000,\n\tCR2_MODIFY_BIT_MASK= 0x40000,\n\tCR3_MODIFY_BIT_MASK= 0x80000,\n\tCR4_MODIFY_BIT_MASK= 0x100000,\n\tDR0_MODIFY_BIT_MASK= 0x200000,\n\tDR1_MODIFY_BIT_MASK= 0x400000,\n\tDR2_MODIFY_BIT_MASK= 0x800000,\n\tDR3_MODIFY_BIT_MASK= 0x1000000,\n\tDR4_MODIFY_BIT_MASK= 0x2000000,\n\tDR5_MODIFY_BIT_MASK= 0x4000000,\n\tDR6_MODIFY_BIT_MASK= 0x8000000,\n\tDR7_MODIFY_BIT_MASK= 0x10000000,\n};\n\nclass CRunTrace\n{\n\tULSIZE\tm_MaxCount;\n\tULPOS\tm_CurIndex;\n\tPSTRUNTRACE m_pRunTrace;\n\tbool\t\tm_bFirstInsert;\n\tULPOS m_MoveIndex;\n\tULPOS m_CurrentModifyIndex;\n\tULPOS m_MoveModifyIndex;\n\tULPOS m_FirstRegIndex; \n\tULPOS m_FirstRegModifyRegister;\n\tX86_REG_CONTEXT m_FirstReg;\n\tX86_REG_CONTEXT m_CurrentReg;\n\tDWORD* m_RegisterModifyMap;\n\tDWORD* m_ModifyRegister;\n\tDWORD m_Count;\n\t\npublic:\n\tCRunTrace();\n\tvoid GetRegisterContext(DWORD Offset,X86_REG_CONTEXT* pRegContext,DWORD *RegModifyMask);\n\tint GetModifyRegisterCount(DWORD RegModifyMask);\n\t~CRunTrace();\n\tPSTRUNTRACE GetNextTrace();\n\tPSTRUNTRACE GetPrevTrace();\n\tUINT Insert(ULPOS StartAddress,ULPOS EIP,ULPOS CodeViewIndex);\n\tvoid Clear();\n\tPSTRUNTRACE GetTraceByIndex(DWORD Index);\n\tvoid HeadNext();\n\tUINT GetRunTraceCount();\n};\n\n#endif //_RUN_TRACE_H_"
  },
  {
    "path": "Project/Syser/Source/RunTraceWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"RunTraceWnd.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CRunTraceWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose) \n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CRunTraceWnd)\n\tWISP_MSG_EVENT_MAP(WISP_ID_COPY,OnEventCopy)\nWISP_MSG_EVENT_MAP_END\n\nCRunTraceWnd::CRunTraceWnd()\n{\n\n}\n\nCRunTraceWnd::~CRunTraceWnd()\n{\n\n}\n\nvoid CRunTraceWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreate(WSTR(\"Run Trace List\"),0,0,500,280,NULL,CMD_ID_RUN_TRACE,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL|WISP_WLS_EMPTY_SEL_RECT);\n\t\tCenter();\n\t}\t\n}\n\nbool CRunTraceWnd::OnClose(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.SetDefaultFocus();\t\n\treturn true;\n}\n\nbool CRunTraceWnd::OnEventCopy(IN WISP_MSG* pMsg)\n{\n\treturn true;\n}\n\nvoid CRunTraceWnd::UpdateContext()\n{\n\tint i = 0,Count;\n\tHANDLE hItem;\n\tDWORD Address;\n\tWCHAR buf[200];\n\tWCHAR buf1[20];\n\tPSTRUNTRACE pRunTrace;\n\tCCodeView*pCodeView;\n\tX86_REG_CONTEXT RegContext;\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tDWORD RegModifyMask;\n\tif(IsWindow()==false)\n\t\treturn;\n\tClearChildItem();\n\tpCodeView = (CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tCount = gpSyser->m_MainFrame.m_SystemExplorer.m_TraceCount-1;\n\tpRunTrace = gpSyser->m_MainFrame.m_SystemExplorer.m_RunTrace.GetTraceByIndex(i);\n\twhile(pRunTrace)\n\t{\n\t\t\n\t\tszColorBuffer[0]=0;\n\t\tAddress = pRunTrace->CodeViewStartAddress+pRunTrace->EIPOffset;\n\t\tTSPrintf(buf,WSTR(\"%d\"),Count - i);\n\t\t\n\t\thItem = InsertItem(buf);\n\t\tSetItemTextColor(hItem,0,ColorOption.clrText);\n\t\tSetItemData(hItem,0,i);\n\n\t\tSetItemNum(hItem,1,Address,WSTR(\"%08X\"));\n\t\tSetItemTextColor(hItem,1,ColorOption.clrCVAddr);\n\t\tif(pCodeView)\n\t\t\tpCodeView->ColorDasm(Address,MAX_INSTR_LEN,szColorBuffer);\n\t\tSetItemColorText(hItem,2,szColorBuffer);\n\t\tbuf[0]=0;\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_RunTrace.GetRegisterContext(i,&RegContext,&RegModifyMask);\n\t\tif(RegModifyMask!=0)\n\t\t{\n\t\t\tif(RegModifyMask&EAX_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"EAX=%08X \"),RegContext.GeneReg[EAX_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&EBX_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"EBX=%08X \"),RegContext.GeneReg[EBX_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&ECX_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"ECX=%08X \"),RegContext.GeneReg[ECX_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&EDX_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"EDX=%08X \"),RegContext.GeneReg[EDX_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&ESI_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"ESI=%08X \"),RegContext.GeneReg[ESI_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&EDI_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"EDI=%08X \"),RegContext.GeneReg[EDI_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&ESP_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"ESP=%08X \"),RegContext.GeneReg[ESP_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t\tif(RegModifyMask&EBP_MODIFY_BIT_MASK)\n\t\t\t{\n\t\t\t\tTSPrintf(buf1,WSTR(\"EBP=%08X \"),RegContext.GeneReg[EBP_IDX]);\n\t\t\t\tTStrCat(buf,buf1);\n\t\t\t}\n\t\t}\n\t\tSetItemText(hItem,3,buf);\n\t\tSetItemTextColor(hItem,3,ColorOption.clrChgText);\n\t\ti++;pRunTrace = gpSyser->m_MainFrame.m_SystemExplorer.m_RunTrace.GetTraceByIndex(i);\n\t}\n\tif(hItem)\n\t{\n\t\tif(IsItemVisible(hItem)==false)\n\t\t{\n\t\t\tEnableVisible(hItem);\n\t\t}\n\t}\n}\n\nbool CRunTraceWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\tm_ColorTable[COLOR_BK\t   ]=ColorOption.clrCVBK;\n\tm_ColorTable[COLOR_ADDRESS ]=ColorOption.clrCVAddr;\n\tm_ColorTable[COLOR_PREFIX  ]=ColorOption.clrCVPrefix;\n\tm_ColorTable[COLOR_OPCODE  ]=ColorOption.clrCVOpCode;\n\tm_ColorTable[COLOR_REGISTER]=ColorOption.clrCVReg;\n\tm_ColorTable[COLOR_SEG_REG ]=ColorOption.clrCVSegReg;\n\tm_ColorTable[COLOR_IMMED   ]=ColorOption.clrCVImmed;\n\tm_ColorTable[COLOR_OPTR    ]=ColorOption.clrCVOptr;\n\tm_ColorTable[COLOR_SYMBOL  ]=ColorOption.clrCVSymbol;\n\tm_ColorTable[COLOR_COMMENT ]=ColorOption.clrCVComment;\n\tm_ColorTable[COLOR_KEYWORD ]=ColorOption.clrCVKeyword;\n\tm_ColorTable[COLOR_STR     ]=ColorOption.clrCVStr;\n\tm_ColorTable[COLOR_BPX_STRIP]=ColorOption.clrCVBPXStrip;\n\tm_ColorTable[COLOR_EIP_STRIP]=ColorOption.clrCVEIPStrip;\n\tm_ColorTable[COLOR_BPXEIP_STRIP]=ColorOption.clrCVBPXEIPStrip;\n\tm_ClientDC.SetColorTable(m_ColorTable);\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,181));\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tInsertColumn(WSTR(\"Back\"),40);\n\tInsertColumn(WSTR(\"Address\"),60);\n\tInsertColumn(WSTR(\"Instruction\"),180);\n\tInsertColumn(WSTR(\"Modified Registers\"),120);\n\tSetBGColor(SC_BLACK);\n\tUpdateContext();\n\treturn true;\n}\n\nbool CRunTraceWnd::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown && pMsg->KeyEvent.KeyType == WISP_VK_RETURN)\n\t{\n\t\tOnMouseDBClick(NULL);\n\t}\n\treturn true;\n}\n\nbool CRunTraceWnd::OnMouseDBClick(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tNUM_PTR NumPtr;\n\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tNumPtr = GetItemData(hItem);\n\tgpSyser->m_MainFrame.m_SystemExplorer.SetRunTrace((UINT)NumPtr);\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/RunTraceWnd.h",
    "content": "#ifndef _RUN_TRACE_WND_H\n#define _RUN_TRACE_WND_H\n\nclass CRunTraceWnd:public CWispList\n{\npublic:\n\tCRunTraceWnd();\n\t~CRunTraceWnd();\n\tvoid Popup();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMouseDBClick);\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventCopy)\n\tCOLORREF\tm_ColorTable[MAX_COLOR];\n\tvoid UpdateContext();\n};\n\n#endif //_RUN_TRACE_WND_H\n"
  },
  {
    "path": "Project/Syser/Source/SDDefine.h",
    "content": "#ifndef _SD_DEFINE_H_\n#define _SD_DEFINE_H_\n\n#define SD_CMD_SIGN\t\t\t0x53434453 //SDCS\n#define SD_RES_SIGN\t\t\t0x53524453 //SDRS\n#define SD_MAX_LENGTH\t\t0x00010000\n\nstruct SD_PACKET\n{\n\tDWORD\tSign;\n\tDWORD\tCRCCode;\n\tint\t\tLength;\n\tunion\n\t{\n\t\tWCHAR szCmd[1];\n\t\tDCHAR CSStream[1];\n\t}Data;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SDSModuleList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SDSModuleList.h\"\n#include \"Syser.h\"\n\n\nWISP_MENU_RES_ITEM SDSModuleMenu[]=\n{\n\t{WSTR(\"Set As Active Module\"),EVENT_ID_SET_AS,56},\n\t{WSTR(\"Unload\"),EVENT_ID_REMOVE,23},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CSDSModuleList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CSDSModuleList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REMOVE,OnEventRemove)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_AS,OnEventSetAsActiveModule)\nWISP_MSG_EVENT_MAP_END\n\nCSDSModuleList::CSDSModuleList()\n{\n}\n\nCSDSModuleList::~CSDSModuleList()\n{\n}\n\nbool CSDSModuleList::OnCreate(IN WISP_MSG* pMsg)\n{\n\tCWispDIBList*pDIBList = WispTKDIBList(\"\\\\Toolbar.bmp\",16,16);\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_pIconCFile=pDIBList->GetDIB(15*16+8);\n\tm_pIconCPPFile=pDIBList->GetDIB(15*16+6);;\n\tm_pIconHFile=pDIBList->GetDIB(15*16+7);;\n\tm_pIconModule=pDIBList->GetDIB(14*16+3);;\n\tm_SDSModulePopupMenu.CreatePopupMenu(SDSModuleMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tInsertColumn(WSTR(\"Module Name\"),150);\n\tInsertColumn(WSTR(\"File Count / Size\"),150);\n\tSetOwner(this);\n\tm_hActiveModule = NULL;\n\treturn true;\n}\n\nbool CSDSModuleList::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_SDSModulePopupMenu.Destroy();\n\treturn true;\n}\n\nbool CSDSModuleList::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(pMsg->KeyEvent.KeyType ==WISP_VK_RETURN && pMsg->KeyEvent.bKeyDown && GetItemLevel(hItem)==1)\n\t{\n\t\tItemDBClickNotify(hItem,1);\n\t}\n\tif(pMsg->KeyEvent.KeyType ==WISP_VK_RBUTTON && pMsg->KeyEvent.bKeyDown==false && GetItemLevel(hItem)==0)\n\t{\n\t\tPopupMenu();\n\t}\n\treturn true;\n}\n\nvoid CSDSModuleList::PopupMenu()\n{\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tm_SDSModulePopupMenu.EnableItem(EVENT_ID_SET_AS,hItem && hItem!=m_hActiveModule);\n\tm_SDSModulePopupMenu.Popup();\n}\n\nbool CSDSModuleList::OnEventSetAsActiveModule(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(GetItemLevel(hItem)==0)\n\t{\n\t\tSetActiveModule((CSDSModule*)GetItemData(hItem));\n\t}\n\treturn true;\n}\n\nbool CSDSModuleList::OnEventRemove(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\thItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(GetItemLevel(hItem)==0)\n\t{\n\t\tgpSyser->m_SyserUI.UnloadSDSModule((CSDSModule*)GetItemData(hItem));\n\t}\n\treturn true;\n}\n\nvoid CSDSModuleList::ItemDBClickNotify(HANDLE hItem,int Col)\n{\n\tint Level = GetItemLevel(hItem);\n\tif(Level==0)\n\t{\n\t\tif(m_pActiveSDSModule!=(CSDSModule*)GetItemData(hItem))\n\t\t\tSetActiveModule(hItem);\n\t}\n\tif(Level==1)\n\t{\n\t\tCSDSModule*pSDSModule = (CSDSModule*) GetItemData(hItem);\n\t\tDWORD SourceFileId = (DWORD)GetItemData(hItem,1);\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.ShowSourceFile(pSDSModule,SourceFileId,1);\n\t\tFocus();\n\t}\n}\n\nvoid CSDSModuleList::InsertSymbolModule(CSDSModule*pSDSModule)\n{\n\tPCSTR ModuleName;\n\tModuleName = TGetFileName((PCSTR)pSDSModule->m_ModuleFileName);\n\tHANDLE hItem = InsertItemA(ModuleName,NULL,WISP_WLIS_NORMAL,m_pIconModule);\n\tSetItemNum(hItem,1,pSDSModule->GetSourceFileCountInPackages(),WSTR(\"%d Source Code File(s)\"));\n\tSetItemData(hItem,0,(NUM_PTR)pSDSModule);\n\tif(m_pActiveSDSModule==NULL)\n\t{\n\t\tSetActiveModule(hItem);\n\t}\n\tUpdateModuleFileList(hItem,pSDSModule);\n}\n\nvoid CSDSModuleList::SetActiveModule(HANDLE hItem)\n{\n\tif(m_hActiveModule)\n\t{\n\t\tSetItemTextColor(m_hActiveModule,0,m_FontColor);\n\t\tUnexpandItem(m_hActiveModule);\n\t}\n\tm_hActiveModule = hItem;\n\tm_pActiveSDSModule = (CSDSModule*)GetItemData(hItem);\n\tSetItemTextColor(m_hActiveModule,0,ColorOption.clrSelectedFrame);\n\tExpandItem(m_hActiveModule);\n}\n\nCSDSModule* CSDSModuleList::GetActiveModule()const\n{\n\treturn m_pActiveSDSModule;\n}\n\nvoid CSDSModuleList::SetActiveModule(CSDSModule*pSDSModule)\n{\n\tHANDLE hItem;\n\tif(m_pActiveSDSModule==pSDSModule)\n\t\treturn;\n\thItem = GetNextItem(NULL);\n\twhile(hItem)\n\t{\n\t\tif(pSDSModule==(CSDSModule*)GetItemData(hItem))\n\t\t{\n\t\t\tSetActiveModule(hItem);\n\t\t\treturn;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t}\n}\n\nbool CSDSModuleList::RemoveSymbolModule(CSDSModule*pSDSModule)\n{\n\tHANDLE hItem;\n\thItem = GetNextItem(NULL);\n\twhile(hItem)\n\t{\n\t\tif(pSDSModule==(CSDSModule*)GetItemData(hItem))\n\t\t{\n\t\t\tif(m_pActiveSDSModule==pSDSModule)\n\t\t\t{\n\t\t\t\tm_pActiveSDSModule = NULL;\n\t\t\t\tm_hActiveModule = NULL;\n\t\t\t}\n\t\t\tTSet<SOURCE_CODE_WND_ID>::IT Iter = gpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MultiSourceCodeView.m_OpenedSourceCodeWnd.Begin();\n\t\t\twhile(Iter.IsExist())\n\t\t\t{\n\t\t\t\tif(Iter->pSDSModule==pSDSModule)\n\t\t\t\t{\n\t\t\t\t\tCSourceCodeWnd*pSrcWnd = Iter->pSourceCodeWnd;\n\t\t\t\t\tIter++;\n\t\t\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MultiSourceCodeView.RemoveWnd(pSrcWnd);\n\t\t\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UnloadSDSModule(pSDSModule);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tIter++;\n\t\t\t}\n\t\t\tRemoveItem(hItem);\n\t\t\tif(gpSyser->m_bActive)\n\t\t\t\tUpdate();\n\t\t\treturn true;\n\t\t}\n\t\thItem = GetNextItem(hItem);\n\t}\n\treturn false;\n}\n\nvoid CSDSModuleList::UpdateModuleFileList(HANDLE hModuleItem,CSDSModule*pSDSModule)\n{\n\tCWispDIB*pTypeDIB;\n\tPSDSOURCEFILEID pSourceFileList;\n\tDWORD SourceFileCount;\n\tHANDLE hItem;\n\tDWORD dwDIBIndex;\n\tDWORD i;\n\tpSourceFileList=pSDSModule->GetSourceFileList(&SourceFileCount);\n\tif(pSourceFileList)\n\t{\n\t\tfor(i = 0; i <SourceFileCount;i++)\n\t\t{\n\t\t\tif(pSourceFileList[i].FileLen==0)\n\t\t\t\tcontinue;\n\t\t\tchar* ExtName;\n\t\t\tchar *Name=TStrRChr(pSourceFileList[i].uName.Name,'\\\\');\n\t\t\tExtName = TGetFileExt(&Name[1]);\n\t\t\tdwDIBIndex=15*16+9;\n\t\t\tif(ExtName)\n\t\t\t{\n\t\t\t\tif(TStrICmp(ExtName,\"c\")==0)\n\t\t\t\t\tpTypeDIB=m_pIconCFile;\n\t\t\t\telse if(TStrICmp(ExtName,\"cpp\")==0)\n\t\t\t\t\tpTypeDIB=m_pIconCPPFile;\n\t\t\t\telse if(TStrICmp(ExtName,\"h\")==0 || TStrICmp(ExtName,\"hpp\")==0)\n\t\t\t\t\tpTypeDIB=m_pIconHFile;\n\t\t\t\telse\n\t\t\t\t\tpTypeDIB=NULL;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpTypeDIB=m_pIconHFile;\n\t\t\t}\n\t\t\tif(Name)\n\t\t\t\thItem = InsertItemA(&Name[1],hModuleItem,WISP_WLIS_NORMAL,pTypeDIB);\n\t\t\telse\n\t\t\t\thItem = InsertItemA(pSourceFileList[i].uName.Name,hModuleItem,WISP_WLIS_NORMAL,pTypeDIB);\n\n\t\t\tSetItemNum(hItem,1,pSourceFileList[i].FileLen,WSTR(\"%d Byte(s)\"));\n\t\t\tSetItemData(hItem,0,(NUM_PTR)pSDSModule);\n\t\t\tSetItemData(hItem,1,pSourceFileList[i].FileID);\n\t\t}\n\t}\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SDSModuleList.h",
    "content": "#ifndef _SDS_MODULE_LIST_H_\n#define _SDS_MODULE_LIST_H_\n\nclass CSDSModuleList : public CWispList\n{\npublic:\n\tCSDSModuleList();\n\t~CSDSModuleList();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventRemove)\n\tDECLARE_WISP_MSG_EVENT(OnEventSetAsActiveModule)\n\tvoid\tPopupMenu();\n\tCWispDIB*m_pIconCFile;\n\tCWispDIB*m_pIconCPPFile;\n\tCWispDIB*m_pIconHFile;\n\tCWispDIB*m_pIconModule;\n\tHANDLE\t\tm_hActiveModule;\n\tCSDSModule*\tm_pActiveSDSModule;\n\tCWispMenu\tm_SDSModulePopupMenu;\n\tvoid SetActiveModule(HANDLE hItem);\n\tvoid SetActiveModule(CSDSModule* pSDSModule);\n\tvoid ItemDBClickNotify(HANDLE hItem,int Col);\n\tvoid InsertSymbolModule(CSDSModule*pSDSModule);\n\tbool RemoveSymbolModule(CSDSModule*pSDSModule);\n\tvoid UpdateModuleFileList(HANDLE hModuleItem,CSDSModule*pSDSModule);\n\tCSDSModule* GetActiveModule()const;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SDServer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SDServer.h\"\n\nCSDServer::CSDServer()\n{\n\tm_bWorking = false;\n\tm_pRes = NULL;\n}\n\nCSDServer::~CSDServer()\n{\n\n}\n\nbool CSDServer::Init(CSyserConnect*pConnect)\n{\n\tm_pConnect = pConnect;\n\tm_RemoteTermWnd.Create(NULL,0,0,0,0,NULL,0,WISP_WS_VIRTUAL);\n\tm_RemoteTermWnd.AttachConsole(&gpSyser->m_MainFrame.m_ConsoleWnd);\n\tm_pRes = (SD_PACKET*)new BYTE[SD_MAX_LENGTH];\n\tm_pRes->Sign = SD_RES_SIGN;\n\tm_Stream.m_Length = 0;\n\tm_Stream.m_Buffer = (void*)m_pRes->Data.CSStream;;\n\tm_RemoteTermWnd.m_pStream = &m_Stream;\n\treturn true;\n}\n\nvoid CSDServer::Release()\n{\n\tSafeDelete(m_pRes);\n\tm_RemoteTermWnd.Destroy();\n}\n\nvoid CSDServer::StartServer()\n{\n\tm_bWorking = true;\n\twhile(m_bWorking && IS_CTRL_BREAK==false)\n\t{\n\t\tif(WaitForCmd())\n\t\t\tDoCommand();\n\t}\n}\n\nbool CSDServer::SendCmdResCSStream()\n{\n\tint Size;\n\tBYTE*Buffer;\n\tm_pRes->Length = ST_FIELD_OFF(SD_PACKET,Data.CSStream[0])+m_Stream.m_Length+4;\n\tm_pRes->Data.CSStream[m_Stream.m_Length/4]=0;\n\tm_pRes->CRCCode = 0;\n\tm_pRes->CRCCode = GetCRCCode((BYTE*)m_pRes,m_pRes->Length);\n\tBuffer = (BYTE*) m_pRes;\n\tSize = 0;\n\twhile(Size<m_pRes->Length)\n\t{\n\t\tSize+=m_pConnect->SendData(&Buffer[Size],m_pRes->Length-Size);\n\t}\n\treturn true;\n}\n\nvoid CSDServer::DoCommand()\n{\n\tOUTPUT(WSTR(\"SDServer : cmd %s\\n\"),m_pCmd->Data.szCmd);\n\tm_Stream.m_Length = 0;\n\tm_RemoteTermWnd.TermRunCmd(m_pCmd->Data.szCmd);\n\tSendCmdResCSStream();\n\t//m_bWorking = false;\n}\n\nbool CSDServer::WaitForCmd()\n{\n\tint NeededSize;\n\tNeededSize = sizeof(SD_PACKET);\n\tm_pCmd = NULL;\n\tm_pConnect->m_BufSize = 0;\n\twhile(m_bWorking && IS_CTRL_BREAK==false && m_pConnect->m_BufSize < NeededSize)\n\t{\n\t\tm_pConnect->RecvDataBuffer();\n\t\tif(m_pCmd == NULL && m_pConnect->m_BufSize>=sizeof(SD_PACKET))\n\t\t{\n\t\t\tm_pCmd = (SD_PACKET*)m_pConnect->m_Buffer;\n\t\t\tif(m_pCmd->Length > SD_MAX_LENGTH)\n\t\t\t\treturn false;\n\t\t\tif(m_pCmd->Sign!=SD_CMD_SIGN)\n\t\t\t\treturn false;\n\t\t\tNeededSize = m_pCmd->Length;\n\t\t}\n\t}\n\treturn m_pConnect->m_BufSize >= NeededSize;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SDServer.h",
    "content": "#ifndef _SD_SERVER_H_\n#define _SD_SERVER_H_\n\n#include \"SDDefine.h\"\n#include \"SyserConnect.h\"\n\nclass CSDServer;\nclass CSDStream : public ALTFileStream\n{\npublic:\n\tvoid*\tm_Buffer;\n\tint\t\tm_Length;\n\tint\tPuts(void*Buffer,int Size)\n\t{\n\t\tif(m_Length>=SD_MAX_LENGTH)\n\t\t\treturn 0;\n\t\tif(m_Length+Size>SD_MAX_LENGTH)\n\t\t\tSize=SD_MAX_LENGTH-m_Length;\n\t\tmemcpy(RT_PVOID(m_Buffer,m_Length),Buffer,Size);\n\t\tm_Length+=Size;\n\t\treturn Size;\n\t}\n\tint\tGets(void*Buffer,int Size){return 0;}\n};\n\nclass CSDServer\n{\npublic:\n\tCSDServer();\n\t~CSDServer();\npublic:\n\tbool\tInit(CSyserConnect*pConnect);\n\tvoid\tRelease();\n\tvoid\tStartServer();\n\tvoid\tDoCommand();\n\tbool\tWaitForCmd();\n\tbool\tSendCmdResCSStream();\npublic:\n\tbool\tm_bWorking;\n\tCSDStream m_Stream;\n\tSD_PACKET*m_pRes;\n\tSD_PACKET*m_pCmd;\n\tCSyserConnect*m_pConnect;\n\tCWispTerminalWnd m_RemoteTermWnd;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SEHChainWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SEHChainWnd.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CSEHChainWnd) \nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\nWISP_MSG_EVENT_MAP_BEGIN(CSEHChainWnd)\n\nWISP_MSG_EVENT_MAP_END\n\nCSEHChainWnd::CSEHChainWnd()\n{\n\n}\nCSEHChainWnd::~CSEHChainWnd()\n{\n\n}\nbool CSEHChainWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tInsertColumn(WSTR(\"Address\"),70);\n\tInsertColumn(WSTR(\"SE Handler\"),200);\n\tUpdateContext();\n\treturn true;\n}\nvoid CSEHChainWnd::UpdateContext()\n{\n\tX86_CPU_REG_PTR RegPtr;\n\tSEHCHAIN SEHChain;\n\tHANDLE hItem;\n\tWCHAR Buffer[20];\n\tDWORD Address,Size;\n\tgpSyser->m_pDebugger->GetX86RegPtr( &RegPtr);\n\tgpSyser->m_pDebugger->GetSegRegBase(*RegPtr.pFS,&Address,&Size);\n\t\n\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&SEHChain,sizeof(SEHCHAIN))!=sizeof(SEHCHAIN))\n\t\treturn;\n\twhile(SEHChain.Next!=0xffffffff)\n\t{\n\t\tAddress=SEHChain.Next;\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&SEHChain,sizeof(SEHCHAIN))!=sizeof(SEHCHAIN))\n\t\t\tbreak;\n\t\tTSPrintf(Buffer,WSTR(\"%08X\"),Address);\n\t\thItem  = InsertItem(Buffer);\n\t\tSetItemNum(hItem,1,SEHChain.Handler);\n\t}\n\n\n}\nbool CSEHChainWnd::OnClose(IN WISP_MSG* pMsg)\n{\n\tShow(WISP_SH_HIDDEN);\n\treturn false;\n}"
  },
  {
    "path": "Project/Syser/Source/SEHChainWnd.h",
    "content": "#ifndef _SEHCHAINWND_H_\n#define _SEHCHAINWND_H_\ntypedef struct _SEHCHAIN \n{\n\tDWORD Next;\n\tDWORD Handler;\n}SEHCHAIN,*PSEHCHAIN;\nclass CSEHChainWnd:public CWispList\n{\npublic:\n\tCSEHChainWnd();\n\t~CSEHChainWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid UpdateContext();\n};\n#endif //_SEHCHAINWND_H_"
  },
  {
    "path": "Project/Syser/Source/SSERegisterList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\nWISP_MSG_MAP_BEGIN(CSSERegisterList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\nWISP_MSG_MAP_END(CWispList)\n\nCSSERegisterList::CSSERegisterList(void)\n{\n\tZeroMemory(m_OldXMMRegister,sizeof(m_OldXMMRegister));\n};\n\nbool CSSERegisterList::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextItem(NULL);\n\tif(hItem)\n\t\tSelectItem(hItem);\n\treturn true;\n}\n\nbool CSSERegisterList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_ChgColor = ColorOption.clrChgText;\n\tm_NormalColor = ColorOption.clrText;\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\n\tSetDefaultTextColor(m_NormalColor);\n\tSetBGColor(ColorOption.clrBackground);\n\n\tInsertColumn(WISP_STR(\"Register\"),60);\n\tInsertColumn(WISP_STR(\"Value\"),240,WISP_WLCS_EDITABLE);\n\tm_hSSE128RegItem[SSE_REG_0] = InsertItem(WISP_STR(\"XMM0\"));\n\tm_hSSE128RegItem[SSE_REG_1] = InsertItem(WISP_STR(\"XMM1\"));\n\tm_hSSE128RegItem[SSE_REG_2] = InsertItem(WISP_STR(\"XMM2\"));\n\tm_hSSE128RegItem[SSE_REG_3] = InsertItem(WISP_STR(\"XMM3\"));\n\tm_hSSE128RegItem[SSE_REG_4] = InsertItem(WISP_STR(\"XMM4\"));\n\tm_hSSE128RegItem[SSE_REG_5] = InsertItem(WISP_STR(\"XMM5\"));\n\tm_hSSE128RegItem[SSE_REG_6] = InsertItem(WISP_STR(\"XMM6\"));\n\tm_hSSE128RegItem[SSE_REG_7] = InsertItem(WISP_STR(\"XMM7\"));\n\tResetContext();\n\treturn true;\n}\n\nvoid CSSERegisterList::UpdateContext()\n{\n#ifdef CODE_OS_NT_DRV\n\tDWORD dwCR0,dwCR4,dwTmp;\n\tWISP_CHAR DisplayBuf[64];\n\tDWORD *pValue;\n\tint i,j;\n\tdwCR0 = GetCR0Register();\n\tdwCR4 = GetCR4Register();\n\tif(dwCR0 & 4)\t\n\t\treturn;\n\tif((gpCPUIDInfo[1].dwEDX & 0x2000000) == 0)\n\t\treturn;\n\tif((dwCR4 & 0x200) == 0)\n\t\treturn;\n\tif(SyserGetFpuErrorState())\n\t\treturn ;\t\n\tdwTmp = (DWORD)FxsaveBuffer;\n\tdwTmp &= 0xfffffff0;\n\n\tX86_FXSAVE((BYTE *)dwTmp);\n\tpValue = (DWORD *)(160+dwTmp);\n\tfor(i = 0; i < 8; i++)\n\t{\n\t\tTSPrintf(DisplayBuf,WSTR(\"%08x %08x %08x %08x\"),pValue[3],pValue[2],pValue[1],pValue[0]);\n\t\tSetItemText(m_hSSE128RegItem[i],1,DisplayBuf);\n\t\tfor(j=0;j<4;j++)\n\t\t{\n\t\t\tif(pValue[j]!=m_OldXMMRegister[i][j])\n\t\t\t{\n\t\t\t\tm_OldXMMRegister[i][j] = pValue[j];\n\t\t\t\tSetItemTextColor(m_hSSE128RegItem[i],1,m_ChgColor);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(j==4)\n\t\t\tSetItemTextColor(m_hSSE128RegItem[i],1,m_NormalColor);\n\t\tpValue = pValue+4;\n\t}\n#endif\n}\n\nvoid CSSERegisterList::ResetContext()\n{\n\tSelectItem(m_hSSE128RegItem[SSE_REG_0]);\n\tSetItemText(m_hSSE128RegItem[SSE_REG_0],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_1],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_2],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_3],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_4],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_5],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_6],1,WSTR(\"????????\"));\n\tSetItemText(m_hSSE128RegItem[SSE_REG_7],1,WSTR(\"????????\"));\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SSERegisterList.h",
    "content": "#ifndef _SSEREGISTERLIST_H_\n#define _SSEREGISTERLIST_H_\n\nenum SSE_REG_INDEX\n{\n\tSSE_REG_0,\n\tSSE_REG_1,\n\tSSE_REG_2,\n\tSSE_REG_3,\n\tSSE_REG_4,\n\tSSE_REG_5,\n\tSSE_REG_6,\n\tSSE_REG_7,\n\tSSE_REG_COUNT,\n};\n\n\nclass CSSERegisterList : public CWispList\n{\n\tHANDLE\tm_hSSE128RegItem[SSE_REG_COUNT];\n\tDWORD\tm_OldXMMRegister[8][4];\n\tCOLORREF\tm_ChgColor;\n\tCOLORREF\tm_NormalColor;\npublic:\n\tCSSERegisterList(void);\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tvoid UpdateContext();\n\tvoid ResetContext();\n\tint GetCPUIndex()const {return m_nCPUIndex;}\n\tvoid SetCPUIndex(int Index) {m_nCPUIndex=Index;}\nprivate:\n\tint\tm_nCPUIndex;\n\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SearchDialog.cpp",
    "content": "#include \"stdafx.h\"\n#include \"SearchDialog.h\"\n#include \"ModuleListWnd.h\"\n#include \"Syser.h\"\n\nPCWSTR CSearchDialog::m_FindDataType[]=\n{\n\tWSTR(\"Text (Ansi)\"),\n\tWSTR(\"Text (Unicode)\"),\n\tWSTR(\"BYTE (s)\"),\n\tWSTR(\"WORD  Value\"),\n\tWSTR(\"DWORD Value\"),\n\tWSTR(\"QWORD Value\"),\n\tNULL\n};\n\nenum CSearchDialog::WISP_FORM_ID\n{\n\tCMD_ID_COMBOBOX_TYPE = WISP_ID_USER_START,\n\tCMD_ID_EDIT_VALUE,\n\tCMD_ID_CASE_CHECK,\n\tCMD_ID_RADIOBOX_DIRECTION_DOWN,\n\tCMD_ID_RADIOBOX_DIRECTION_UP,\n\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\tCMD_ID_EDIT_END_ADDRESS,\n\tCMD_ID_BUTTON_SELECT_MODULE,\n\tCMD_ID_BUTTON_FIND,\n\tCMD_ID_BUTTON_FIND_NEXT,\n};\n\nWISP_FORM_RES_ITEM CSearchDialog::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,391,220},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Search\"),\n\t\t\"\\\\Toolbar.bmp#16#16:119\",\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,364,80},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Search Method\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,32,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:119\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{40,32,45,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Type\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_COMBO_BOX,\n\t\t{80,30,135,20},\n\t\tCMD_ID_COMBOBOX_TYPE,\n\t\tWISP_ES_EDIT_NORMAL|WISP_ES_READONLY,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{230,30,100,20},\n\t\tCMD_ID_CASE_CHECK,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Match case\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,62,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:5\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{40,62,45,18},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Value\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{80,60,280,18},\n\t\tCMD_ID_EDIT_VALUE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{20,116,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\Toolbar.bmp#16#16:13*16+12\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,95,364,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Range\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{40,116,40,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Begin\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{80,115,70,16},\n\t\tCMD_ID_EDIT_BEGIN_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{160,116,25,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"End\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{190,115,70,16},\n\t\tCMD_ID_EDIT_END_ADDRESS,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{270,113,90,20},\n\t\tCMD_ID_BUTTON_SELECT_MODULE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Select Module\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{100,160,68,20},\n\t\tCMD_ID_BUTTON_FIND,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Find\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{210,160,68,20},\n\t\tCMD_ID_BUTTON_FIND_NEXT,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Find Next\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CSearchDialog)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CSearchDialog)\n\tWISP_MSG_CMD_MAP(CMD_ID_COMBOBOX_TYPE,OnTypeComboxCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSearchDialog)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_SELECT_MODULE,OnButtonSelectModule)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_FIND,OnButtonFind)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_FIND_NEXT,OnButtonFindNext)\nWISP_MSG_EVENT_MAP_END\n\nCSearchDialog::CSearchDialog()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCSearchDialog::~CSearchDialog()\n{\n}\n\nvoid CSearchDialog::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tDestroy();\n\t}\n\telse\n\t{\n\t\tCreateForm(NULL);\n\t\tCenter();\n\t}\n}\n\nbool CSearchDialog::OnFormCreate(IN WISP_MSG* pMsg)\n{\t\n\tm_BeginAddressEdit\t=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_BEGIN_ADDRESS);\n\tm_EndAddressEdit\t=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_END_ADDRESS);\n\tm_ValueEdit\t\t\t=\t(CWispEdit*)GetFormItem(CMD_ID_EDIT_VALUE);\n\tm_TypeComboBox\t\t=\t(CWispComboBox*)GetFormItem(CMD_ID_COMBOBOX_TYPE);\n\tm_pCaseCheckBox\t\t=\t(CWispCheckBox*)GetFormItem(CMD_ID_CASE_CHECK);\n\n\tfor(int i=0;m_FindDataType[i];i++)\n\t\tm_TypeComboBox->m_ComboList.InsertItem(m_FindDataType[i]);\n\tm_TypeComboBox->SelectItem(0);\n\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(*X86_REG_PTR.pEIP);\n\tif(pDbgModule==NULL)\n\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(*X86_REG_PTR.pEIP);\n\tif(pDbgModule)\n\t{\n\t\tWCHAR szBuffer[32];\n\t\tuNumToStr(pDbgModule->m_ModuleBase,szBuffer);\n\t\tm_BeginAddressEdit->SetWindowText(szBuffer);\n\t\tuNumToStr(pDbgModule->m_ModuleBase+pDbgModule->m_ModuleSize,szBuffer);\n\t\tm_EndAddressEdit->SetWindowText(szBuffer);\n\t}\n\treturn true;\n}\n\nbool CSearchDialog::OnTypeComboxCmd(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_COMBOX_SELCHANGE)\n\t{\n\t\tm_pCaseCheckBox->EnableWindow(pMsg->Command.Param1<=FIND_DATA_TYPE_TEXT_UNI);\n\t}\n\treturn true;\n}\n\nbool CSearchDialog::OnButtonSelectModule(IN WISP_MSG* pMsg)\n{\n\tCModuleListWnd ModuleList;\n\tModuleList.Popup(true);\n\tif(ModuleList.m_pDbgModule)\n\t{\n\t\tWCHAR szBuffer[32];\n\t\tuNumToStr(ModuleList.m_pDbgModule->m_ModuleBase,szBuffer);\n\t\tm_BeginAddressEdit->SetWindowText(szBuffer);\n\t\tuNumToStr(ModuleList.m_pDbgModule->m_ModuleBase+ModuleList.m_pDbgModule->m_ModuleSize,szBuffer);\n\t\tm_EndAddressEdit->SetWindowText(szBuffer);\n\t\tUpdateClient();\n\t}\n\treturn true;\n}\n\nbool CSearchDialog::OnButtonFind(IN WISP_MSG* pMsg)\n{\n\tint Index = m_TypeComboBox->GetCurSelItem();\n\tif(Index==-1)\n\t\treturn true;\n\tif(m_ValueEdit->m_WndText.Length()==0)\n\t\tgoto ErrorExit;\n\tif( USHexStrToNum((PCWSTR)m_BeginAddressEdit->GetWindowText(),&m_BeginAddress)==false ||\n\t\tUSHexStrToNum((PCWSTR)m_EndAddressEdit->GetWindowText(),&m_EndAddress)==false || m_BeginAddress>=m_EndAddress)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"Invalid Search Range !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t\treturn true;\n\t}\n\tm_bCase = true;\n\tZeroMemory(m_FindData,sizeof(m_FindData));\n\tswitch(Index)\n\t{\n\t\tcase FIND_DATA_TYPE_TEXT_ANSI:\n\t\t\tm_FindDataLength = UnicodeToAnsi(m_ValueEdit->m_WndText,(PSTR)m_FindData,sizeof(m_FindData));\n\t\t\tm_bCase = m_pCaseCheckBox->IsChecked();\n\t\t\tbreak;\n\t\tcase FIND_DATA_TYPE_TEXT_UNI:\n\t\t\tm_FindDataLength = TStrCpyLimit((PWSTR)m_FindData,(PCWSTR)m_ValueEdit->m_WndText,sizeof(m_FindData)/2)*2;\n\t\t\tm_bCase = m_pCaseCheckBox->IsChecked();\n\t\t\tbreak;\n\t\tcase FIND_DATA_TYPE_BYTES:\n\t\t\tm_FindDataLength = THexStrToBytes((PCWSTR)m_ValueEdit->m_WndText,m_FindData,sizeof(m_FindData));\n\t\t\tif(m_FindDataLength==0)\n\t\t\t\tgoto ErrorExit;\n\t\t\tbreak;\n\t\tcase FIND_DATA_TYPE_WORD:\n\t\t\tif(USHexStrToNum((PCWSTR)m_ValueEdit->GetWindowText(),(WORD *)m_FindData)==false)\n\t\t\t\tgoto ErrorExit;\n\t\t\tm_FindDataLength = 2;\n\t\t\tbreak;\n\t\tcase FIND_DATA_TYPE_DWORD:\n\t\t\tif(USHexStrToNum((PCWSTR)m_ValueEdit->GetWindowText(),(DWORD*)m_FindData)==false)\n\t\t\t\tgoto ErrorExit;\n\t\t\tm_FindDataLength = 4;\n\t\t\tbreak;\n\t\tcase FIND_DATA_TYPE_QWORD:\n\t\t\tif(USHexStrToNum((PCWSTR)m_ValueEdit->GetWindowText(),(QWORD*)m_FindData)==false)\n\t\t\t\tgoto ErrorExit;\n\t\t\tm_FindDataLength = 8;\n\t\t\tbreak;\n\t}\n\tm_CurPos = gpSyser->m_pDebugger->SearchMem(m_BeginAddress,m_EndAddress-m_BeginAddress,m_FindData,m_FindDataLength,m_bCase);\n\tif(m_CurPos==-1)\n\t{\n\t\tgpCurWisp->MsgBox(WSTR(\"The special data was not found !\"),WSTR(\"Data Search\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t}\n\telse\n\t{\n\t\tGetFormItem(CMD_ID_BUTTON_FIND_NEXT)->EnableWindow(true);\n\t\tVIEW_DATA(m_CurPos,m_FindDataLength);\n\t}\n\treturn true;\nErrorExit:\n\tgpCurWisp->MsgBox(WSTR(\"Invalid Search Data !\"),WSTR(\"Error\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\treturn true;\n}\n\nbool CSearchDialog::OnButtonFindNext(IN WISP_MSG* pMsg)\n{\n\tm_CurPos = gpSyser->m_pDebugger->SearchMem(m_CurPos+m_FindDataLength,m_EndAddress-m_CurPos,m_FindData,m_FindDataLength,m_bCase);\n\tif(m_CurPos==-1)\n\t{\n\t\tGetFormItem(CMD_ID_BUTTON_FIND_NEXT)->EnableWindow(false);\n\t\tgpCurWisp->MsgBox(WSTR(\"The special data was not found !\"),WSTR(\"Data Search\"),WISP_MB_OK|WISP_MB_ICONERROR);\n\t}\n\telse\n\t{\n\t\tVIEW_DATA(m_CurPos,m_FindDataLength);\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/SearchDialog.h",
    "content": "#ifndef _SEARCH_DIALOG_H_\n#define _SEARCH_DIALOG_H_\n\nenum\n{\n\tFIND_DATA_TYPE_TEXT_ANSI = 0,\n\tFIND_DATA_TYPE_TEXT_UNI,\n\tFIND_DATA_TYPE_BYTES,\n\tFIND_DATA_TYPE_WORD,\n\tFIND_DATA_TYPE_DWORD,\n\tFIND_DATA_TYPE_QWORD,\n\tMAX_FIND_DATA_TYPE\n};\n\n#define MAX_SEARCH_DATA_LENGTH\t\t64\n\nclass CSearchDialog : public CWispForm\n{\npublic:\n\tCSearchDialog();\n\t~CSearchDialog();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnTypeComboxCmd)\n\tDECLARE_WISP_MSG_EVENT(OnButtonSelectModule)\n\tDECLARE_WISP_MSG_EVENT(OnButtonFind)\n\tDECLARE_WISP_MSG_EVENT(OnButtonFindNext)\n\tvoid\tPopup();\npublic:\t\n\tCWispComboBox*\tm_TypeComboBox;\n\tCWispEdit*\t\tm_BeginAddressEdit;\n\tCWispEdit*\t\tm_EndAddressEdit;\n\tCWispEdit*\t\tm_ValueEdit;\n\tCWispCheckBox*\tm_pCaseCheckBox;\n\tULPOS\t\t\tm_BeginAddress;\n\tULPOS\t\t\tm_EndAddress;\n\tULPOS\t\t\tm_CurPos;\n\tbool\t\t\tm_bCase;\n\tBYTE\t\t\tm_FindData[MAX_SEARCH_DATA_LENGTH];\n\tint\t\t\t\tm_FindDataLength;\n\tstatic PCWSTR\tm_FindDataType[];\n};\n#endif //_DATAVIEWFINDDLG_H_"
  },
  {
    "path": "Project/Syser/Source/SerialMouse.cpp",
    "content": "#include \"stdafx.h\"\n#include \"SerialMouse.h\"\n#include \"InputDriver.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Syser.h\"\n#include \"Mouse.h\"\nstSerialMouse aSerialMouseData[]={\n\t{0x3f8,0x4,0x2},//Microsoft mode compatible      COM1\n\t{0x2f8,0x3,0x2},//Microsoft mode compatible      COM2\n\t{0x3f8,0x4,0x3},//Mouse system mode compatible   COM1\n\t{0x2f8,0x3,0x3},//Mouse system mode compatible   COM2\n};\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nWORD wSerialMousePort = 0x2f8;\nBYTE byte3F8 = 0;\nBYTE byte3FD = 0;\nDWORD dwSerialMouseInterruptCounter = 0;\nDWORD dwMouseMoveEventCounter = 0;\nVOID SyserSerialMouseInterruptServiceInternal(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\nVOID SyserSerialMouseInterruptServiceInternal(VOID)\n{\n\tdo \n\t{\n\t\tif(byte3FD & 0x2)//ݹ\n\t\t{\n\t\t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\n\t\t\tdwMouseBeginBufferIndex = 0;\n\t\t\tdwMousePrePackageSize = 0;\n\t\t\tbreak;\n\t\t}\n\t\tif(dwMouseBeginBufferIndex < 3 && dwMousePrePackageSize == 0)\n\t\t{\t\t\n\t\t\tMouseBeginBuffer[dwMouseBeginBufferIndex++] = stKeyGlobalVariable.chCurrentMouseData;\t\t\n\t\t\tif(stKeyGlobalVariable.chCurrentMouseData & 0x40)\n\t\t\t{\n\t\t\t\tdwMousePackageBeginOffset = dwMouseBeginBufferIndex;\n\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex = 1;\n\t\t\t\tdwMousePrePackageSize = 3;\n\t\t\t\tCurrentMouseData.D3.cFirstData = stKeyGlobalVariable.chCurrentMouseData;\n\t\t\t}\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tstKeyGlobalVariable.dwMouseDataIndex ++;\n\n\t\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 1)\n\t\t\t\tCurrentMouseData.D3.cFirstData = stKeyGlobalVariable.chCurrentMouseData;\t\t\t\n\t\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 2)\t\t\n\t\t\t\tCurrentMouseData.D3.cXOffset = ((CurrentMouseData.D3.cFirstData & 0x3) << 6) | stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\n\t\t\tif(stKeyGlobalVariable.dwMouseDataIndex == 3)\t\t\n\t\t\t\tCurrentMouseData.D3.cYOffset = ((CurrentMouseData.D3.cFirstData & 0xc) << 4) | stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\n\n\t\t\tif(stKeyGlobalVariable.dwMouseDataIndex == dwMousePrePackageSize)\n\t\t\t{\n\t\t\t\tdwMouseMoveEventCounter++;\n\t\t\t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\n\t\t\t\tif((PrevMouseData.D3.cFirstData & 0x10) != (CurrentMouseData.D3.cFirstData & 0x10))\t\t\t\n\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(CurrentMouseData.D3.cFirstData & 0x10)!=0);\n\t\t\t\tif((PrevMouseData.D3.cFirstData & 0x20) != (CurrentMouseData.D3.cFirstData & 0x20))\t\t\t\n\t\t\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,(CurrentMouseData.D3.cFirstData & 0x20)!=0);\n\t\t\t\tif(CurrentMouseData.D3.cYOffset != 0 || CurrentMouseData.D3.cXOffset != 0)\t\t\t\n\t\t\t\t\tgpSyser->OnMouseMove(CurrentMouseData.D3.cXOffset,CurrentMouseData.D3.cYOffset);\t\t\t\n\n\t\t\t\tPrevMouseData.D3.cFirstData = CurrentMouseData.D3.cFirstData;\n\t\t\t\tPrevMouseData.D3.cXOffset = CurrentMouseData.D3.cXOffset;\n\t\t\t\tPrevMouseData.D3.cYOffset = CurrentMouseData.D3.cYOffset;\t\t\t\t\n\t\t\t}\n\t\t}\n\t} while (FALSE);\n}\n// \n// __declspec (naked) void SerialMouseInterruptService()\n// {\n// \t__asm{\t\n// \t\tcmp cs:dwOldInterruptF9,1\n// \t\tjnz local_007\n// \t\tmov ss:dwOldInterruptF9,0\n// \t\tpush cs:dwInterruptF9Address\n// \t\tret\n// local_007:\n// \t\tcmp cs:gbActive,TRUE\n// \t\tjz local_1\n// \t\tpush dword ptr cs:stKeyGlobalVariable.dwOldMouseInterrupt\n// \t\tret\t\t\n// local_1:\n// \t\tpushad\n// \t\tpushfd\t\t\t\n// \t\tpush ds\n// \t\tmovzx edx,wSerialMousePort\n// \t\tlea edx,[edx+5]\n// \t\tin al,dx\n// \t\tmov byte3FD,al\n// \t\tlea edx,[edx-5]\n// \t\tin al,dx\t\n// \t\tmov stKeyGlobalVariable.chCurrentMouseData,al\n// \t}\n// \n// \tif(byte3FD & 0x2)//ݹ\n// \t{\n// \t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\n// \t\tdwMouseBeginBufferIndex = 0;\n// \t\tdwMousePrePackageSize = 0;\n// \t\tgoto local_quit;\n// \t}\n// \tif(dwMouseBeginBufferIndex < 3 && dwMousePrePackageSize == 0)\n// \t{\t\t\n// \t\tMouseBeginBuffer[dwMouseBeginBufferIndex++] = stKeyGlobalVariable.chCurrentMouseData;\t\t\n// \t\tif(stKeyGlobalVariable.chCurrentMouseData & 0x40)\n// \t\t{\n// \t\t\tdwMousePackageBeginOffset = dwMouseBeginBufferIndex;\n// \t\t\tstKeyGlobalVariable.dwMouseDataIndex = 1;\n// \t\t\tdwMousePrePackageSize = 3;\n// \t\t\tCurrentMouseData.D3.cFirstData = stKeyGlobalVariable.chCurrentMouseData;\n// \t\t}\t\t\n// \t}\n// \telse\n// \t{\n// \t\tstKeyGlobalVariable.dwMouseDataIndex ++;\n// \n// \t\tif(stKeyGlobalVariable.dwMouseDataIndex == 1)\n// \t\t\tCurrentMouseData.D3.cFirstData = stKeyGlobalVariable.chCurrentMouseData;\t\t\t\n// \t\tif(stKeyGlobalVariable.dwMouseDataIndex == 2)\t\t\n// \t\t\tCurrentMouseData.D3.cXOffset = ((CurrentMouseData.D3.cFirstData & 0x3) << 6) | stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\n// \t\tif(stKeyGlobalVariable.dwMouseDataIndex == 3)\t\t\n// \t\t\tCurrentMouseData.D3.cYOffset = ((CurrentMouseData.D3.cFirstData & 0xc) << 4) | stKeyGlobalVariable.chCurrentMouseData;\t\t\t\t\t\n// \n// \t\tif(stKeyGlobalVariable.dwMouseDataIndex == dwMousePrePackageSize)\n// \t\t{\n// \t\t\tdwMouseMoveEventCounter++;\n// \t\t\tstKeyGlobalVariable.dwMouseDataIndex = 0;\n// \t\t\tif((PrevMouseData.D3.cFirstData & 0x10) != (CurrentMouseData.D3.cFirstData & 0x10))\t\t\t\n// \t\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(CurrentMouseData.D3.cFirstData & 0x10)!=0);\n// \t\t\tif((PrevMouseData.D3.cFirstData & 0x20) != (CurrentMouseData.D3.cFirstData & 0x20))\t\t\t\n// \t\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,(CurrentMouseData.D3.cFirstData & 0x20)!=0);\n// \t\t\tif(CurrentMouseData.D3.cYOffset != 0 || CurrentMouseData.D3.cXOffset != 0)\t\t\t\n// \t\t\t\tgpSyser->OnMouseMove(CurrentMouseData.D3.cXOffset,CurrentMouseData.D3.cYOffset);\t\t\t\n// \n// \t\t\tPrevMouseData.D3.cFirstData = CurrentMouseData.D3.cFirstData;\n// \t\t\tPrevMouseData.D3.cXOffset = CurrentMouseData.D3.cXOffset;\n// \t\t\tPrevMouseData.D3.cYOffset = CurrentMouseData.D3.cYOffset;\t\t\t\t\n// \t\t}\n// \t}\n// local_quit:\n// \tSetInteruptEOI(0x3);\n// \t__asm{\n// \t\tpop ds\n// \t\tpopfd\n// \t\tpopad\n// \t\tiretd\n// \t}\t\n// }\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool SyserCheckSerialMouse(WORD\tPortNum,BYTE\tDataLen);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\nbool CheckSerialMouse()\n{\n\tint i;\n\tWORD wPortNum;\n\tBYTE byteDataLen;\n\tbool bRet;\n\n\tfor(i = 0; i < sizeof(aSerialMouseData)/sizeof(stSerialMouse); i++)\n\t{\n\t\tbRet = FALSE;\n\t\twPortNum = aSerialMouseData[i].wSerialPort;\n\t\tbyteDataLen = aSerialMouseData[i].byteDataLen;\n// \t\t__asm{\n// \t\t\tpush eax \n// \t\t\tpush ebx \n// \t\t\tpush ecx \n// \t\t\tpush edx\n// \t\t\tmovzx edx,wPortNum\n// \t\t\tadd edx,3\n// \t\t\tpush edx\n// \t\t\tmov eax,0x80\n// \t\t\tout dx,al \n// \t\t\tdec edx\n// \t\t\tdec edx\n// \t\t\tmov eax,0\n// \t\t\tout dx,al \n// \t\t\tdec edx\n// \t\t\tmov eax,0x60      //ôڵĲ\n// \t\t\tout dx,al      \n// \t\t\tpop edx\n// \t\t\tmovzx eax,byte ptr byteDataLen\n// \t\t\tout dx,al        //ݳ\n// \t\t\tdec edx\n// \t\t\tdec edx \n// \t\t\txor eax,eax\n// \t\t\tout dx,al        //ֹж\n// \t\t\tadd edx,4\n// \t\t\tin al,dx \n// \t\t\tdec edx\n// \t\t\tmov eax,1\n// \t\t\tout dx,al //׼ߵ״̬\n// \t\t\tsub edx,4\n// \t\t\tmov ecx,0x8000\n// local_1:\n// \t\t\tin al,dx        //ûõ\n// \t\t\tloop local_1\n// \t\t\tadd edx,5\n// \t\t\tin al,dx \n// \t\t\tcmp byteDataLen,3\n// \t\t\tjz local_2\n// \t\t\tdec edx\n// \t\t\tmov al,0xb\n// \t\t\tout dx,al        //ж\n// \t\t\tmov ebx,3\n// local_6:\n// \t\t\tmovzx edx,word ptr wPortNum\n// \t\t\tadd edx,5\n// \t\t\tmov ecx,0x8000\n// local_3:\n// \t\t\tin al,dx \n// \t\t\ttest al,1\n// \t\t\tloope local_3\n// \t\t\tjecxz local_4\n// \t\t\tsub edx,5\n// \t\t\tin al,dx \n// \t\t\tcmp al,0x4d;'M'\n// \t\t\tjz local_5\n// \t\t\tdec ebx\n// \t\t\tjnz local_6\n// \t\t\tjmp local_4\n// local_2:\n// \t\t\tdec edx\n// \t\t\tmov al,0xb\n// \t\t\tout dx,al \n// \t\t\tjmp local_8\n// local_8:\n// \t\t\tin al,dx \n// \t\t\tcmp al,0xb\n// \t\t\tjnz local_4\n// local_5:\n// \t\t\tmovzx edx,word ptr wPortNum\n// \t\t\tinc edx\n// \t\t\tmov al,1\n// \t\t\tout dx,al \n// \t\t\tmov bRet,TRUE\n// local_4:\n// \t\t\tpop edx \n// \t\t\tpop ecx \n// \t\t\tpop ebx \n// \t\t\tpop eax\n// \t\t}\n\n\t\tbRet = SyserCheckSerialMouse(wPortNum,byteDataLen);\n\t\tif(bRet)\n\t\t\tbreak;\n\t}\n\treturn TRUE;\n}"
  },
  {
    "path": "Project/Syser/Source/SerialMouse.h",
    "content": "#ifndef _SERIALMOUSE_H_H\n#define _SERIALMOUSE_H_H\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\ntypedef struct _stSerialMouse\n{\n\tWORD wSerialPort;\n\tDWORD dwHardwareNum;\n\tBYTE byteDataLen;\n}stSerialMouse;\nVOID SyserSerialMouseInterruptService(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n#endif //_SERIALMOUSE_H_H"
  },
  {
    "path": "Project/Syser/Source/SerialPort.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SerialPort.h\"\n#include \"Services.h\"\n#include \"HardWareInterruptCtrl.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID SyserIODelay(VOID);\nVOID SyserSerialDLAB(WORD BasePort,bool bSet);\nint SyserSerialSendData(WORD BasePort,void* Buffer,int BufSize);\nint SyserSerialRecvData(WORD BasePort,void*Buffer,int BufSize);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n// void __declspec(naked) IODelay()\n// {\n// \t__asm\n// \t{\n// \t\tjmp Next\n// Next:\n// \t\tret\n// \t}\n// }\n// \n// void __declspec(naked) SerialDLAB(WORD BasePort,bool bSet)\n// {\n// \t__asm\n// \t{\n// \t\t////////////////////////////////\n// \t\t//proc\n// \t\tpush\tebp\n// \t\tmov\t\tebp,esp\n// \t\tpush    edx\n// \t\tpush\teax\n// \t\t////////////////////////////////\n// \t\tmov     dx,BasePort\n// \t\tadd     dx, 3              // point to Line Control Reg\n// \t\tin      al, dx             // get current state\n// \t\tcall\tIODelay\n// \t\tmov\t\tah,bSet\n// \t\txor\t\tah,ah\n// \t\tjz\t\tDisable\n// \t\tor      al, 80h            // set DLAB to 1\n// \t\tjmp\t\tNext\n// Disable:\n// \t\tand\t\tal, 7fh\n// Next:\n// \t\tout     dx, al\n// \t\t////////////////////////////////\n// \t\t//endp\n// \t\tpop\t\teax\n// \t\tpop\t\tedx\n// \t\tmov\t\tesp, ebp\n// \t\tpop\t\tebp\n// \t\tret\t\t8\n// \t\t////////////////////////////////\n// \t}\n// }\n// \n// \n// int __declspec(naked) SerialSendData(WORD BasePort,void*Buffer,int BufSize)\n// {\n// \t__asm\n// \t{\n// \t\t////////////////////////////////\n// \t\t//proc\n// \t\tpush\tebp\n// \t\tmov\t\tebp,esp\n// \t\tpush\tesi\n// \t\tpush    edx\n// \t\tpush\tecx\n// \t\t////////////////////////////////\n// \t\tmov     dx, BasePort\n// \t\tmov\t\tesi,Buffer\n// \t\tmov\t\tecx,BufSize\n// \t\tcld\n// send_next:\n// \t\tadd     dx, 6\t\t\t\t// modem status register\n// \t\tin      al, dx\n// \t\tcall\tIODelay\n// \t\ttest    al, 80h\t\t\t\t// remote problem ?, DCD=0\n// \t\tjz      send_exit\t\t\t// jump if so \n// \t\tdec     dx\t\t\t\t\t// line status register\n// \t\tin      al, dx\n// \t\tcall\tIODelay\n// \t\ttest    al, 20h\t\t\t\t// xmit holding reg ready? \n// \t\tjz      send_exit\t\t\t// jump if not\n// \t\tmov     dx, BasePort\t\t// transmit holding register\n// \t\tlodsb\t\t\t\t\t\t// get byte into al from [esi]\n// \t\tout     dx, al\t\t\t\t// send byte\n// \t\tcall\tIODelay\n// \t\tloop    send_next\n// send_exit:\n// \t\t////////////////////////////////\n// \t\t//endp\n// \t\tmov\t\teax,BufSize\n// \t\tsub\t\teax,ecx\n// \t\tpop\t\tecx\n// \t\tpop\t\tedx\n// \t\tpop\t\tesi\n// \t\tmov\t\tesp, ebp\n// \t\tpop\t\tebp\n// \t\tret\t\t0ch\n// \t\t////////////////////////////////\n// \t}\n// }\n// \n// int __declspec(naked) SerialRecvData(WORD BasePort,void*Buffer,int BufSize)\n// {\n// \t__asm\n// \t{\n// \t\t////////////////////////////////\n// \t\t//proc\n// \t\tpush\tebp\n// \t\tmov\t\tebp,esp\n// \t\tpush\tedi\n// \t\tpush    edx\n// \t\tpush\tecx\n// \t\t////////////////////////////////\n// \t\tmov     dx, BasePort\n// \t\tmov\t\tecx,BufSize\n// \t\tmov\t\tedi,Buffer\n// \t\tadd     dx, 4\t\t\t\t//modem control register\n// \t\tmov     al, 3\t\t\t\t//set Data Terminal Ready\n// \t\tout     dx, al\t\t\t\t//and Request to Send\n// \t\tcld\n// \t\tmov     dx, BasePort\t\t//base I/O address\n// get_next:\n// \t\tadd     dx, 5\t\t\t\t//line status register\n// \t\tin      al, dx\t\t\t\t//get error & data ready bits\n// \t\ttest    al, 0eh             //any received byte (bl=1) ?\n// \t\tjnz     get_exit\t\t\t//loop if not\n// \t\ttest    al, 1\t\t\t\t//any received byte (bl=1) ?\n// \t\tjz\t\tget_exit\t\t\t//loop if not\n// \t\tmov     dx, BasePort\t\t//receive register\n// \t\tin      al, dx\t\t\t\t//get byte\n// \t\tstosb\n// \t\tloop    get_next\n// get_exit:\n// \t\t////////////////////////////////\n// \t\t//endp\n// \t\tmov\t\teax,BufSize\n// \t\tsub\t\teax,ecx\n// \t\tpop\t\tecx\n// \t\tpop\t\tedx\n// \t\tpop\t\tedi\n// \t\tmov\t\tesp, ebp\n// \t\tpop\t\tebp\n// \t\tret\t\t0ch\n// \t\t////////////////////////////////\n// \t}\n// }\n\nCSerialPortConnect::CSerialPortConnect()\n{\n\tm_hSerialPortDevice = NULL;\n\tm_Buffer = NULL;\n\tm_ComPort = 0;\n}\n\nCSerialPortConnect::~CSerialPortConnect()\n{\n\n}\n\nbool CSerialPortConnect::Init()\n{\n\tHANDLE hDir,hLink;\n\tWCHAR szBuffer[256];\n\tOBJECT_ATTRIBUTES\tObjAttr;\n\tUNICODE_STRING\t\tUnicodeName;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tULPOS BiosAddr;\n\tULONG Length;\n\tif(MapToVAddr(0x0,&BiosAddr)==0)\n\t{\n\t\tOUTPUT(WSTR(\"Syser : Can't find com port!\\n\"));\n\t\treturn false;\n\t}\n\tm_ComPort = GET_WORD(BiosAddr,0x400+((SyserOption.iComPort-1)%4)*2);\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"\\\\??\"));\n\tInitializeObjectAttributes(&ObjAttr,&UnicodeName,OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tif(!NT_SUCCESS(ZwOpenDirectoryObject(&hDir,DIRECTORY_QUERY,&ObjAttr)))\n\t{\n\t\tOUTPUT(WSTR(\"Syser : Can't open\\\\??!\\n\"));\n\t\treturn false;\n\t}\n\tTSPrintf(szBuffer,WSTR(\"com%d\"),SyserOption.iComPort);\n\tRtlInitUnicodeString(&UnicodeName,szBuffer);\n\tInitializeObjectAttributes(&ObjAttr,&UnicodeName,OBJ_CASE_INSENSITIVE,hDir,NULL);\n\tif(!NT_SUCCESS(ZwOpenSymbolicLinkObject(&hLink,GENERIC_READ,&ObjAttr)))\n\t{\n\t\tOUTPUT(WSTR(\"Syser : Can't open COM Device!\\n\"));\n\t\treturn false;\n\t}\n\tUnicodeName.MaximumLength = sizeof(szBuffer)/sizeof(WCHAR);\n\tUnicodeName.Length = 0;\n\tUnicodeName.Buffer = szBuffer;\n\tif(!NT_SUCCESS(ZwQuerySymbolicLinkObject(hLink,&UnicodeName,&Length)))\n\t{\n\t\tOUTPUT(WSTR(\"Syser : Can't Query COM Device Symbol Link !\\n\"));\n\t\treturn false;\n\t}\n\tZwClose(hLink);\n\tm_hSerialPortDevice = NULL;\n\tInitializeObjectAttributes(&ObjAttr,&UnicodeName,OBJ_KERNEL_HANDLE,NULL,NULL);\n\tZwCreateFile(&m_hSerialPortDevice,GENERIC_READ,&ObjAttr,&IOStatus,NULL,FILE_ATTRIBUTE_NORMAL,0,FILE_OPEN,0,NULL,0);\n\tOUTPUT(WSTR(\"Syser : COM%d port = 0x%X , Device Handle = 0x%08X\\n\"),SyserOption.iComPort,m_ComPort,m_hSerialPortDevice);\n\tm_MaxBufSize = SD_MAX_LENGTH;\n\tm_Buffer = new BYTE[m_MaxBufSize];\n\tm_BufSize = 0;\n\treturn true;\n}\n\nvoid CSerialPortConnect::Release()\n{\n\tif(m_hSerialPortDevice)\n\t\tZwClose(m_hSerialPortDevice);\n\tSafeDelete(m_Buffer);\n}\n\nint CSerialPortConnect::RecvData(void*Buffer,int BufSize)\n{\n\treturn SyserSerialRecvData(m_ComPort,Buffer,BufSize);\n}\n\nint CSerialPortConnect::SendData(void*Buffer,int BufSize)\n{\n\treturn SyserSerialSendData(m_ComPort,Buffer,BufSize);\n}\n\n\nDWORD\tgHardInt4Vector = 0;\nDWORD\tgHardInt3Vector = 0;\nST_DESC* Com1Com3Desc=NULL;\nST_DESC* Com2Com4Desc=NULL;\nVADDR32 gOldCom1Com3Proc=0;\nVADDR32 gOldCom2Com4Proc=0;\nDWORD dwInterruptFbAddress=0;\nDWORD dwInterruptFcAddress=0;\n// \n// __declspec(naked) void  SerialCom1Com3Proc()\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp cs:gbActive,1\n// \t\tjz local_001\n// \t\tpopfd\n// \t\tret\n// local_001:\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es\n// \t\tmov eax,0x10\n// \t\tmov ds,ax\n// \t\tmov es,ax\n// \t}\n// \tSetInteruptEOI(4);\n// \t__asm\n// \t{\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tpopfd\n// \t\tlea esp,[esp+4]\n// \t\tiretd\n// \t}\n// }\n// \n// __declspec(naked) void  SerialCom2Com4Proc()\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\t\n// \t\tcmp cs:gbActive,1\n// \t\tjz local_001\n// \t\tpopfd\n// \t\tret\n// local_001:\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es\n// \t\tmov eax,0x10\n// \t\tmov ds,ax\n// \t\tmov es,ax\n// \t}\n// \tSetInteruptEOI(3);\n// \t__asm\n// \t{\n// \t\tpop es\n// \t\tpop ds\t\t\n// \t\tpopad\n// \t\tpopfd\n// \t\tlea esp,[esp+4]\n// \t\tiretd\n// \t}\n// }\n\n// \n// __declspec (naked) void Interrupt_0xFB_Com1_Com3_Service()\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp cs:gbActive,0\n// \t\tjnz local_2\n// \t\tpopfd\n// \t\tret\n// \t}\n// \t__asm\n// \t{\n// local_2:\n// \t\tpopfd\n// \t\tpush cs:SerialCom1Com3Proc\n// \t\tret\n// \t}\n// }\n// \n// __declspec (naked) void Interrupt_0xFC_Com2_Com4_Service()\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tcmp cs:gbActive,0\n// \t\tjnz local_2\n// \t\tpopfd\n// \t\tret\n// \t}\n// \t__asm\n// \t{\n// local_2:\n// \t\tpopfd\n// \t\tpush cs:SerialCom2Com4Proc\n// \t\tret\n// \t}\n// }\n\n"
  },
  {
    "path": "Project/Syser/Source/SerialPort.h",
    "content": "#ifndef _SERIALPORT_H_\n#define _SERIALPORT_H_\n\n#include \"InputDriver.h\"\n#include \"SyserConnect.h\"\n\nclass CSerialPortConnect : public CSyserConnect\n{\npublic:\n\tCSerialPortConnect();\n\t~CSerialPortConnect();\npublic:\n\tbool\tInit();\n\tvoid\tRelease();\n\tint\t\tRecvData(void*Buffer,int BufSize);\n\tint\t\tSendData(void*Buffer,int BufSize);\nprivate:\n\tHANDLE\tm_hSerialPortDevice;\n\tWORD\tm_ComPort;\n};\n\n\nextern DWORD\tgHardInt4Vector;\nextern DWORD\tgHardInt3Vector;\nextern ST_DESC* Com1Com3Desc;\nextern ST_DESC* Com2Com4Desc;\nextern VADDR32 gOldCom1Com3Proc;\nextern VADDR32 gOldCom2Com4Proc;\nextern DWORD dwSerialCom1Com3Counter;\nextern DWORD dwSerialCom2Com4Counter; \n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nVOID\tSyserSerialCom1Com3Proc(VOID);\nVOID\tSyserSerialCom2Com4Proc(VOID);\nVOID\tSyserInterrupt_0xFB_Com1_Com3_Service(VOID);\nVOID\tSyserInterrupt_0xFC_Com2_Com4_Service(VOID);\n#define SYSER_APIC_COM1_INTERRUPT_VECTOR\t(0xfb)\n#define SYSER_APIC_COM2_INTERRUPT_VECTOR\t(0xfc)\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif /* _SERIALPORT_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/Services.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserMemoryReadWrite.h\"\n#include \"Services.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"MultiCPU.h\"\n#include \"Keyboard.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool\t\t\tgbSystemCrash = false;\nbool\t\t\tgbActive=false;\nbool\t\t\tgbBugCheckExExit=false;\nbool\t\t\tgbBugCheckExFlags=false;\nDWORD\t\t\tgPrevStepEIP=0;\t\t\t\t\t\t//ǰһεִе EIP ַҪһЩ\n\t\t\t\t\t\t\t\t\t\t\t\t\t//ǰһִеĵ pushfd ôҪջе tf ־\n\t\t\t\t\t\t\t\t\t\t\t\t\t//һ˳ʱǵ˳ġñΪ 0 \nDWORD\t\t\tgGenInterruptOffset;\nX86_GATE_DECR\tgOldInterruptDescropterTable[0x100];\nDWORD\t\t\tgOldInterruptProcAddress[0x100];\nbool\t\t\tbGoToSoftice;\nDWORD\t\t\tgSofticeDriverEntry = 0;\t\t\t//ڼ Softice ʱ ntice.sys  DriverEntry ڵַ;\n\t\t\t\t\t\t\t\t\t\t\t\t\t// ntice.sys ģװʱҪ  patch ϵ㡣\n\t\t\t\t\t\t\t\t\t\t\t\t\t//жϱʱǰԼװжϴԼ ϵͳ\n\t\t\t\t\t\t\t\t\t\t\t\t\t// patch жء ntice.sys װɺǴ°װ\n\nDWORD\t\t\tSyserDR[8];\nDWORD\t\t\tgSofticeDriverEntryReturnAddress=0;\nbool\t\t\tgbTemplateTraceFlag = false;\nDWORD\t\t\tgGenInterruptNumber = 0xFFFFFFFF;\n\nDWORD\t\t\tOldESP;\nBYTE*\t\t\tgpStackBuffer;\nBYTE*\t\t\tgpStackBufferTop;\nBYTE*\t\t\tgpStackBufferBottom;\nBYTE\t\t\tFpuRegisterImage[2][FPU_REGISTER_IMAGE_SIZE];\nBYTE\t\t\tFxsaveBuffer[512+15];\nDWORD\t\t\tCurrentFpuImageIndex = 0;\nbool\t\t\tbSaveFpuFlags = false;\nWORD\t\t\tgSystemSSSegment;\n\nDWORD\tgpBugCheckExAddress=0;\nbool\tgbBugCheckExFirstByteIsCC=false;\nDWORD\tInt01ReEnter_DR6;\nDWORD\tInt01ReEnter_DR1;\nDWORD\tInt01ReEnter_EIP;\nDWORD\tInt01ReEnter_DR7;\nDWORD\tpRootWndCount=0;\nDWORD\tpRootWndCount11=0;\nDWORD\tpRootWndCount12=0;\nDWORD\tInt01ExecuteCount=0;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n\n\n\n/*\nջ   \n1 ж3в\n\t\t\tR3_SS\n\t\t\tR3_ESP\n\t\t\tEFLAGS\n\t\t\tCS\n\t\t\tEIP\n\n2 ж0в\n            EFLAGS\n\t\t\tCS\n\t\t\tEIP\n\n3 жv86ģʽв\n\t\t\tV86_GS\n\t\t\tV86_FS\n\t\t\tV86_DS\n\t\t\tV86_ES\n\t\t\tV86_SS\n\t\t\tV86_ESP\n\t\t\tEFALGS\n\t\t\tCS\n\t\t\tEIP\n*/\n\n// \n// DWORD dwLoadRegTmpCpuID;\n// DWORD dwValue;\n// \n// __declspec(naked) void LoadReg()\n// {\n// \t__asm\n// \t{\n// \t\tpush ebx\n// \t\tmov eax,dr0\n// \t\tmov Reg.DR[0*4],eax\n// \t\tmov eax,dr1\n// \t\tmov Reg.DR[1*4],eax\n// \t\tmov eax,dr2\n// \t\tmov Reg.DR[2*4],eax\n// \t\tmov eax,dr3\n// \t\tmov Reg.DR[3*4],eax\n// \t\tmov eax,dr6\n// \t\tmov Reg.DR[6*4],eax\n// \t\tmov eax,dr7\n// \t\tmov Reg.DR[7*4],eax\n// \t\tmov eax,cr0\n// \t\tmov Reg.CR[0*4],eax\t\t\n// \t\tmov eax,cr2\n// \t\tmov Reg.CR[2*4],eax\n// \t\tmov eax,cr3\n// \t\tmov Reg.CR[3*4],eax\n// \t\t_emit(0x0f)//mov eax,cr4\n// \t\t_emit(0x20)\n// \t\t_emit(0xe0)\n// \t\tmov Reg.CR[4*4],eax\n// \n// \t\tmov eax,[ebp+12]\n// \t\tmov Reg.GeneReg[EDI_IDX*4],eax\n// \t\tmov eax,[ebp+12+4]\n// \t\tmov Reg.GeneReg[ESI_IDX*4],eax\n// \n// \t\tmov eax,[ebp+12+8]\n// \t\tmov Reg.GeneReg[EBP_IDX*4],eax\n// \n// \t\tmov ebx,OldESP\n// \t\tmov Reg.GeneReg[ESP_IDX*4],ebx\n// \n// \t\tmov eax,[ebx+8]\n// \t\tmov Reg.EFlags,eax\n// \t\tmov ReturnContext.rEflags,eax\n// \t\tmov eax,[ebp+12+16]\n// \t\tmov Reg.GeneReg[EBX_IDX*4],eax\n// \t\tmov eax,[ebp+12+20]\n// \t\tmov Reg.GeneReg[EDX_IDX*4],eax\n// \t\tmov eax,[ebp+12+24]\n// \t\tmov Reg.GeneReg[ECX_IDX*4],eax\n// \t\tmov eax,[ebp+12+28]\n// \t\tmov Reg.GeneReg[EAX_IDX*4],eax\n// \n// \t\tmov eax,[ebx]\n// \t\tmov Reg.EIP,eax\n// \t\tmov ReturnContext.rEIP,eax\n// \t\tmovzx eax,word ptr [ebx+4]\n// \t\tmov word ptr Reg.SegReg[CS_IDX*2],ax\n// \t\tmov ReturnContext.rCS,eax\n// \t\tmov eax,Reg.EFlags\n// \t\ttest eax,0x20000\t\t\t//Virtual Mode\n// \t\tjz local_1\n// \n// \t\tmov eax,[ebx+0x0C]                // v86ģʽ\n// \t\tmov Reg.GeneReg[ESP_IDX*4],eax\n// \t\tmov ReturnContext.r3ESP,eax\n// \t\tmov eax,[ebx+0x10]\n// \t\tmov Reg.SegReg[SS_IDX*2],ax\n// \t\tmov ReturnContext.r3SS,eax\n// \n// \t\tmov eax,[ebx+0x14]\n// \t\tmov Reg.SegReg[ES_IDX*2],ax\n// \t\tmov ReturnContext.rV86ES,eax\n// \n// \t\tmov eax,[ebx+0x18]\n// \t\tmov Reg.SegReg[DS_IDX*2],ax\n// \t\tmov ReturnContext.rV86DS,eax\n// \n// \t\tmov eax,[ebx+0x1C]\n// \t\tmov Reg.SegReg[FS_IDX*2],ax\n// \t\tmov ReturnContext.rV86FS,eax\n// \t\tmov eax,[ebx+0x20]\n// \t\tmov Reg.SegReg[GS_IDX*2],ax\n// \t\tmov ReturnContext.rV86GS,eax\n// \n// \t\tjmp local_3\n// local_1:\n// \t\tmov ax,Reg.SegReg[CS_IDX*2]\n// \t\ttest ax,0x3\n// \t\tjz local_2\n// \n// \t\tmov eax,[ebx+0x0C]              // ring3  Ҫ±Գ esp,ss \n// \t\tmov Reg.GeneReg[ESP_IDX*4],eax\n// \t\tmov ReturnContext.r3ESP,eax\n// \t\tmovzx eax,[ebx+0x10]\n// \t\tmov Reg.SegReg[SS_IDX*2],ax\n// \t\tmov ReturnContext.r3SS,eax\n// \t\tjmp local_4\n// local_2:                     \n// \t\txor eax,eax                     // ring0 \n// \t\tmov ax,ss\n// \t\tmov Reg.SegReg[SS_IDX*2],ax\n// \t\tadd Reg.GeneReg[ESP_IDX*4],12   //ļ12 жϵķֳ  \n// \t\t                                // push eflags\n// \t\t                                // push cs\n// \t\t\t\t\t\t\t\t\t\t// push eip\n//        // Ҫ ֳе ݵȫλ\n// \n// local_4:\n// \t\txor eax,eax\n// \t\tmov ax,[ebp]\n// \t\tmov Reg.SegReg[ES_IDX*2],ax\n// \t\tmov ax,[ebp+4]\n// \t\tmov Reg.SegReg[DS_IDX*2],ax\n// \t\tmov ax,[ebp+8]\n// \t\tmov Reg.SegReg[FS_IDX*2],ax\n// \t\tmov ax,gs\n// \t\tmov Reg.SegReg[GS_IDX*2],ax\n// local_3:\n// \t\tpop ebx\n// \t\t\n// \t}\n// \tSaveFpuRegister();\n// \tReg.IDTBase = SyserGetIDTBase(&dwValue);\n// \tReg.IDTLimit = (WORD)dwValue;\n// \n// \tReg.GDTBase = SyserGetGDTBase(&dwValue);\n// \tReg.GDTLimit = (WORD)dwValue;\n// \n// \tif(gCPUNumbers>1)\n// \t{\n// \t\tdwLoadRegTmpCpuID=GetCurrentCPULocalAPICID();\n// \t\tgpMCPUReg[dwLoadRegTmpCpuID]=Reg;\t\t\n// \t\tSaveLocalApic(&gpMCPULocalApic[dwLoadRegTmpCpuID]);\t\t\n// \t\tgpMCPUReg[dwLoadRegTmpCpuID].LocalAPIC=&gpMCPULocalApic[dwLoadRegTmpCpuID];\n// \t}\n// \tReadOnlyActiveReg=Reg;\n// \t__asm ret\n// }\n\nvoid SaveFpuRegister()\n{\n\tDWORD pFpuRegister;\n\tCurrentFpuImageIndex ^=1;\n\tpFpuRegister = (DWORD)&FpuRegisterImage[CurrentFpuImageIndex];\n\tif((Reg.CR[0] & 4) || (Reg.CR[0] & 0x10) == 0)\n\t{\n\t\tbSaveFpuFlags = false;\n\t\treturn;\n\t}\n\tbSaveFpuFlags = true;\n\t//__asm clts\n\tSyserCltr();\n\tmemset((void*)pFpuRegister,0,108);\n\n// \t__asm\n// \t{\n// \t\tmov eax,pFpuRegister\n// \t\tfnsave BYTE PTR [eax]\n// \t\tfrstor BYTE PTR [eax]\n// \t}\n\n\tSyserFnsave((PUCHAR)pFpuRegister);\n\tSyserFrstor((PUCHAR)pFpuRegister);\n}\nvoid RestorFpuRegister()\n{\n\tDWORD pFpuRegister;\t\n\tif(bSaveFpuFlags==false)\n\t\treturn;\n\tpFpuRegister = (DWORD)&FpuRegisterImage[CurrentFpuImageIndex];\n// \t__asm\n// \t{\n// \t\tmov eax,pFpuRegister\n// \t\tfrstor BYTE PTR [eax]\n// \t}\n\n\tSyserFrstor((PUCHAR)pFpuRegister);\n\t\n\tbSaveFpuFlags=false;\n}\n\n// \n// __declspec(naked) void  SaveReg()\n// {\n// \tif(gpSyser->m_bDbgRegAccessMon)\n// \t{\n// \t\tEnableHardwaveBreakpoint();\n// \t\tReg.DR[7]|=0x2000;\n// \t\tgpSyser->m_bUpdateReg=true;\n// \t}\n// \tif((Reg.EFlags&0x100)==0)\n// \t\tgPrevStepEIP=0;\n// \tRestorFpuRegister();\n// \tif(gpSyser->m_bUpdateReg==false)\n// \t{\n// \t\t__asm\n// \t\t{\n// \t\t\tpush eax\n// \t\t\tpush ebx\n// \t\t\tmov eax,cr0 \n// \t\t\tcmp eax,Reg.CR[0*4]\n// \t\t\tjz local_ppp \n// \t\t\tmov eax,Reg.CR[0*4]\n// \t\t\tmov cr0,eax\n// local_ppp:\n// \t\t\tmov eax,Reg.EFlags\n// \t\t\tand eax,0xFFFFFEFF\n// \t\t\tmov ebx,OldESP\n// \t\t\tmov [ebx+8],eax\n// \t\t\tmov eax,0xFFFF0FF0\n// \t\t\tmov dr6,eax\n// \t\t\tpop ebx\n// \t\t\tpop eax\n// \t\t}\n// \t\t\n// \t\t__asm ret;\n// \t}\n// \tgpSyser->m_bUpdateReg=false;\n// \t__asm\n// \t{\n// \t\tsldt word ptr Reg.LDT\n// \t\tstr word ptr Reg.TR\n// \t\tsgdt fword ptr Reg.GDTLimit\n// \t\tsidt fword ptr Reg.IDTLimit\n// \t\tmov eax,Reg.DR[0*4]\n// \t\tmov dr0,eax\n// \t\tmov eax,Reg.DR[1*4]\n// \t\tmov dr1,eax\n// \t\tmov eax,Reg.DR[2*4]\n// \t\tmov dr2,eax\n// \t\tmov eax,Reg.DR[3*4]\n// \t\tmov dr3,eax\n// \t\tmov eax,0xFFFF0FF0\t\t\t//DR6\n// \t\tmov dr6,eax\n// \t\tmov eax,Reg.DR[7*4]\n// \t\tmov dr7,eax\n// \t\tmov eax,cr0 \n// \t\tcmp eax,Reg.CR[0*4]\n// \t\tjz local_ppp1 \n// \t\tmov eax,Reg.CR[0*4]\n// \t\tmov cr0,eax\n// local_ppp1:\n// \t\tmov eax,Reg.CR[2*4]\n// \t\tmov cr2,eax\n// \t\tmov eax,Reg.CR[3*4]\n// \t\tmov cr3,eax\n// \t\tmov eax,Reg.EFlags\n// \t\ttest eax,0x20000\t\t\t// v86 ģʽת\n// \t\tjnz local_0023\n// \t\tmov ax,word ptr Reg.SegReg[ES_IDX*2]\n// \t\tmov [ebp],ax\n// \t\tmov ax,word ptr Reg.SegReg[DS_IDX*2]\n// \t\tmov [ebp+4],ax\n// \t\tmov ax,word ptr Reg.SegReg[FS_IDX*2]\n// \t\tmov [ebp+8],ax\n// \t\tmov ax,word ptr Reg.SegReg[GS_IDX*2]\n// \t\tmov gs,ax\n// \t\tjmp local_987\n// local_0023:                   // v86 ģʽ\n// \t\tmov ebx,OldESP\n// \t\tmov eax,Reg.GeneReg[ESP_IDX*4]\n// \t\tmov [ebx+0x0C],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[SS_IDX*2]\n// \t\tmov [ebx+0x10],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[ES_IDX*2]\n// \t\tmov eax,0x1234\n// \t\tmov [ebx+0x14],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[DS_IDX*2]\n// \t\tmov [ebx+0x18],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[FS_IDX*2]\n// \t\tmov [ebx+0x1C],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[GS_IDX*2]\n// \t\tmov [ebx+0x20],eax\n// local_987:\n// \t\tmov eax,Reg.GeneReg[EDI_IDX*4]\n// \t\tmov [ebp+12],eax\n// \t\tmov eax,Reg.GeneReg[ESI_IDX*4]\n// \t\tmov [ebp+12+4],eax\n// \t\tmov eax,Reg.GeneReg[EBP_IDX*4]\n// \t\tmov [ebp+12+8],eax\n// \t\t//mov [ebp+12+12],eax\n// \t\tmov eax,Reg.GeneReg[EBX_IDX*4]\n// \t\tmov [ebp+12+16],eax\n// \t\tmov eax,Reg.GeneReg[EDX_IDX*4]\n// \t\tmov [ebp+12+20],eax\n// \t\tmov eax,Reg.GeneReg[ECX_IDX*4]\n// \t\tmov [ebp+12+24],eax\n// \t\tmov eax,Reg.GeneReg[EAX_IDX*4]\n// \t\tmov [ebp+12+28],eax\n// \t\tpush ebx\t\t\n// \t\tmov ax,ReadOnlyActiveReg.SegReg[CS_IDX*2]\n// \t\ttest ax,0x3\n// \t\tjnz local_2skip\n// \t\tmov eax,Reg.GeneReg[ESP_IDX*4]   //r0 ʱû޸ ESP ֵ\n// \t\tsub eax,12\n// \t\tmov OldESP,eax\n// local_2skip:\n// \t\tmov ebx,OldESP\n// \t\tmov eax,Reg.EIP\n// \t\tmov [ebx],eax\n// \t\tmovzx eax,Reg.SegReg[CS_IDX*2]\n// \t\tmov [ebx+4],eax\n// \t\tmov eax,Reg.EFlags\n// \t\tmov [ebx+8],eax\n// \t\tmov ax,ReadOnlyActiveReg.SegReg[CS_IDX*2]\n// \t\ttest ax,0x3\n// \t\tjz local_098skip\n// \t\tmov eax,Reg.GeneReg[ESP_IDX*4]\n// \t\tmov [ebx+0xc],eax\n// \t\tmovzx eax,word ptr Reg.SegReg[SS_IDX*2]\n// \t\tmov [ebx+0x10],ax\n// local_098skip:\n// \t\tpop ebx\t\t\n// \t}\n// \t\n// \t__asm ret;\n// }\n\nvoid UnloadSystemModuleSymbols(PSTRING pModuleName,PKD_SYMBOLS_INFO pSymInfo)\n{\n\tDWORD dwBaseAddress;\n\tif(ReadDword(&pSymInfo->BaseOfDll,&dwBaseAddress)==false)\n\t\tdwBaseAddress=0;\n\t//DbgPrint(\"UnloadSystemModuleSymbols %08X\\n\",pSymInfo->BaseOfDll);\n\tgpSyser->m_SyserUI.m_SyserDI.OnUnloadModule(gpSyser->m_pSysDebugger,(ULPOS)dwBaseAddress);\n}\n\n// \n// __declspec(naked) void Int2dProc()\n// {\n// \tDWORD SrvID,Arg1,Arg2;\n// \t__asm\n// \t{\n// \t\tpushad\n// \t\tpush ds\n// \t\tpush es\n// \t\tpush fs\n// \t\tmov bp,NT_DS\n// \t\tmov ds,bp\n// \t\tmov es,bp\n// \t\tmov bp,NT_FS\n// \t\tmov fs,bp\n// \t\tmov ebp,esp\n// \t\tsub esp,__LOCAL_SIZE\n// \t\tmov SrvID,eax;\n// \t\tmov Arg1,ecx;\n// \t\tmov Arg2,edx;\n// \t}\n// \tswitch(SrvID)\n// \t{\n// \tcase 3:\n// \t\tbreak;\n// \tcase 4:\n// \t\tUnloadSystemModuleSymbols((PSTRING)Arg1,(PKD_SYMBOLS_INFO)Arg2);\t\n// \t\tbreak;\n// \t}\n// \t__asm\n// \t{\n// \t\tmov esp,ebp\n// \t\tpop fs\n// \t\tpop es\n// \t\tpop ds\n// \t\tpopad\n// \t\tret\n// \t}\n// }\n\n#define DEBUG_SOFTICE_DRIVERENTRY 0\n\nLONG gbLoadImage=0;\n\nvoid CreateProcessHookProc(IN HANDLE ParentId,IN HANDLE ProcessId,IN BOOLEAN Create)\n{\n\tKeWaitForSingleObject(&gpSyser->m_ImageLoadSyncEvent, Executive, KernelMode, TRUE, 0);\n\tif(Create)\n\t{\n\t\tCDbgProcess*pProcess = gpSyser->m_SysInfo.InsertProcess((DWORD)ProcessId);\n\t\tif(gpSyser->m_pCsrssProcess==NULL && pProcess && TStrICmp((PCSTR)pProcess->m_ProcName,\"csrss\")==0)\n\t\t\tgpSyser->m_pCsrssProcess = pProcess;\n\t}\n\telse\n\t{\n\t\tif((DWORD)ProcessId!=gpSyser->m_pSysDebugger->m_PID)\n\t\t\tgpSyser->m_SysInfo.RemoveProcess((DWORD)ProcessId);\n\t\tif(gpSyser->m_bActive==false && gpSyser->m_bUserScrBackuped)\n\t\t\tgpSyser->RestoreScreen();\n\t}\n\tKeSetEvent(&gpSyser->m_ImageLoadSyncEvent, 0, FALSE);\n}\nDWORD RtlGetCurrentDirectory()\n{\n\tWORD FSSelector;\n\tDWORD SegLimit,SegBase,*Ptr;\n\t__try{\n// \t\t__asm {\n// \t\t\tPush eax\n// \t\t\tmov ax,fs \n// \t\t\tmov FSSelector,ax\n// \t\t\tpop eax\n// \t\t}\n\n\t\tFSSelector = SyserGetCurFSeg();\n\n\t\tSegBase = GetSegmentBaseAddress(FSSelector,&SegLimit);\n\t\tPtr= *(DWORD**)&SegBase;\n\t\tPtr=*(DWORD**)&Ptr[6];\n\t\tif(Ptr==NULL)\n\t\t\treturn 0;\n\t\tPtr=*(DWORD**)&Ptr[12];\n\t\tPtr=*(DWORD**)&Ptr[4];\n\t\tPtr=*(DWORD**)&Ptr[10];\n\t\treturn Ptr[0];\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\t::DbgPrint(\"Syser : RtlGetCurrentDirectory fail.\\n\");\n\t\treturn 0;\n\t}\n\t\n}\nvoid LoadImageHookProc(IN PUNICODE_STRING  FullImageName,IN HANDLE  ProcessId,IN PIMAGE_INFO  ImageInfo)\n{\n\tMODULE_ID ModuleID;\n\tKIRQL kOldIrql;\n\tbool bModuleTouched;\n\tWCHAR wszBuffer[MAX_FN_LEN];\n\tCHAR szFileName[MAX_FN_LEN] = {0};\n\tULPOS BaseAddress,HighBaseAddress;\n\tKeWaitForSingleObject(&gpSyser->m_ImageLoadSyncEvent, Executive, KernelMode, TRUE, 0);\n\t\n\tif(FullImageName==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : ImageHook FullImageName is NULL\\n\");\n\t\tKeSetEvent(&gpSyser->m_ImageLoadSyncEvent, 0, FALSE);\t\t\n\t\treturn;\n\t}\n\n\tCDbgProcess*pProcess = gpSyser->m_SysInfo.GetProcess((DWORD)ProcessId);\n\tif(pProcess==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : ImageHook GetProcess fail. ProcessID %x\\n\",(DWORD)ProcessId);\n\t\tKeSetEvent(&gpSyser->m_ImageLoadSyncEvent, 0, FALSE);\t\t\n\t\treturn;\n\t}\n\tgpSyser->m_pDebugger = pProcess;\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//淶ļ,ת\\??\\X:\\...ʽ\n\tUnicodeStrCpy(wszBuffer,FullImageName,MAX_FN_LEN);\n\tUnicodeToAnsi(wszBuffer,szFileName,MAX_FN_LEN);\n\tBaseAddress = (ULPOS)ImageInfo->ImageBase;\n\tHighBaseAddress = BaseAddress+ImageInfo->ImageSize;\n\n\tif(gpSyser->m_SysInfo.ConvertFileName(szFileName)==false && !ImageInfo->SystemModeImage && pProcess->m_ModuleList.m_DbgModuleMap.Count())\n\t{//̷ļ,ģ鲻\n\t\tif(gpSyser->m_OSMajorVersion==5 || gpSyser->m_OSMajorVersion==6)\n\t\t{\n\t\t\tDWORD wszCurDir = RtlGetCurrentDirectory();\n\t\t\t\n\t\t\tint Length;\n\t\t\tif((wszCurDir>>16)==':')\n\t\t\t{\n\t\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\t\tszFileName[4] = (char)wszCurDir;//̷\n\t\t\t\tszFileName[5] = ':';\n\t\t\t\tszFileName[6] = 0;\n\t\t\t\tLength = TStrLen(szFileName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tszFileName[0] = '\\\\';\n\t\t\t\tszFileName[1] = 0;\n\t\t\t\tLength=1;\n\t\t\t}\n\t\t\tUnicodeToAnsi(wszBuffer,&szFileName[Length],MAX_FN_LEN-Length);\n\t\t}\t\t\n\t}\n\tbModuleTouched = false;\n\t//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//õǰDebuggerΪǰ,ҪCR3\n\tModuleID = GetModuleID(BaseAddress,ImageInfo->ImageSize);\n\tgpSyser->m_SyserUI.m_SyserDI.OnLoadModule(pProcess,szFileName,BaseAddress,ImageInfo->ImageSize,ModuleID);\n\t//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//SystemʽcsrssûɹģĴ\n\tif(gpSyser->m_SysInfo.m_win32kImageBase==0 && ImageInfo->SystemModeImage && TCmpModuleName(szFileName,\"win32k.sys\"))\n\t{\n\t\t//DbgPrint(\"Syser : win32k loaded\\n\");\n\t\tgpSyser->m_SysInfo.m_win32kImageBase = (ULPOS)ImageInfo->ImageBase;\n\t\tgpSyser->m_SysInfo.m_win32kImageSize = (ULSIZE)ImageInfo->ImageSize;\n\t}\n\tif(pProcess==gpSyser->m_pCsrssProcess && gpSyser->m_pCsrssProcess)\n\t{\n\t\tfor(int n=0;szPublicModuleName[n];n++)\n\t\t{\n\t\t\tif(TCmpModuleName(szFileName,szPublicModuleName[n]))\n\t\t\t{\n\t\t\t\tCDbgModule*pDbgModule = gpSyser->m_pCsrssProcess->GetModule(szPublicModuleName[n]);\n\t\t\t\tif(pDbgModule && pDbgModule->m_pSymbolModule)\n\t\t\t\t{\n\t\t\t\t\t//DbgPrint(\"Syser : csrss %s loaded\\n\",szPublicModuleName[n]);\n\t\t\t\t\tpDbgModule->m_pSymbolModule->m_ModuleBase = pDbgModule->m_ModuleBase;\n\t\t\t\t\tpDbgModule->m_pSymbolModule->m_ModuleSize = pDbgModule->m_ModuleSize;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\t\t\n\t}\n\t//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\tfor(CSDSModuleMap::IT Iter=gpSyser->m_SyserUI.m_SDSModuleMap.Begin();Iter!=gpSyser->m_SyserUI.m_SDSModuleMap.End();Iter++)\n\t{//SDSģϵ\n\t\tif(Iter->GetModuleID()==ModuleID)//ģƥ\n\t\t{\n\t\t\tfor(TList<ULPOS>::IT BPIter = Iter->m_BreakPointList.Begin();BPIter!=Iter->m_BreakPointList.End();BPIter++)\n\t\t\t{\n\t\t\t\tif(bModuleTouched==false)\n\t\t\t\t{//Touchһģ鱣֤ģ鲻ȱҳ\n\t\t\t\t\tTouchModuleMemory(BaseAddress,ImageInfo->ImageSize);\n\t\t\t\t\tbModuleTouched = true;\n\t\t\t\t}\n\t\t\t\tpProcess->InsertCodeBP(BaseAddress+*BPIter,0,BP_STATE_ENABLE);\n\t\t\t}\n\t\t}\n\t}\n\tif(gpSyser->m_bPatchCopyOnWrite)\n\t{//Patch CopyOnWriteɹȫģϵ\n\t\tfor(CModuleBPMap::IT ModBPIter=gpSyser->m_SyserUI.m_ModuleBPMap.Begin();ModBPIter.IsExist();ModBPIter++)\n\t\t{\n\t\t\tif(ModBPIter.Key()>=BaseAddress && ModBPIter.Key()<HighBaseAddress && (ModBPIter->ModuleFileName == (const char*)szFileName))\n\t\t\t{\n\t\t\t\tTouchModuleMemory(ModBPIter.Key(),1);\n\t\t\t\tBREAK_POINT*pBP=pProcess->InsertCodeBP(ModBPIter.Key(),0,ModBPIter->State);\n\t\t\t\tif(pBP)\n\t\t\t\t{\n\t\t\t\t\tpBP->Name = ModBPIter->Name;\n\t\t\t\t\tpBP->Condition = ModBPIter->Condition;\n\t\t\t\t\tpBP->pModuleBP = &(*ModBPIter);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tfor(CModuleLoadBPMap::IT Iter=gpSyser->m_SyserUI.m_ModuleLoadBPMap.Begin();Iter!=gpSyser->m_SyserUI.m_ModuleLoadBPMap.End();Iter++)\n\t{//BPloadϵ\n\t\tif(Iter->State==BP_STATE_ENABLE && TCmpModuleName(szFileName,(PCSTR)Iter.Key()))\n\t\t{\n\t\t\tBYTE TouchData;\n\t\t\tBREAK_POINT*pBP;\n\t\t\tCMemPEFile MemPEFile;\n\t\t\tULPOS Address;\n\t\t\tif(MemPEFile.Open(BaseAddress,PE_OPEN_NO_IMPORT|PE_OPEN_NO_EXPORT,CImageFile::StaticReadRealMemory,NULL))\n\t\t\t{\n\t\t\t\tif(bModuleTouched==false)\n\t\t\t\t{\n\t\t\t\t\tTouchModuleMemory(BaseAddress,ImageInfo->ImageSize);\n\t\t\t\t\tbModuleTouched = true;\n\t\t\t\t}\n\t\t\t\tAddress = MemPEFile.m_PEHead.AddressOfEntryPoint+BaseAddress;\n\n\t\t\t\tpBP = pProcess->InsertCodeBP(Address,BP_TYPE_ONCE,BP_STATE_ENABLE);\n\t\t\t\tif(pBP)\n\t\t\t\t\tpBP->Name.Format(\"Module Entry point %s\",szFileName);\n\t\t\t\telse\n\t\t\t\t\t::DbgPrint(\"Syser : BPLoad fail to set BP at [%s]%08X\\n\",(PCSTR)pProcess->m_ProcName,Address);\n\t\t\t\tMemPEFile.Close();\n\t\t\t}\n\t\t\tif(Iter->Type&BP_TYPE_ONCE)\n\t\t\t\tgpSyser->m_SyserUI.m_ModuleLoadBPMap.Remove(Iter);\n\t\t\tbreak;\n\t\t}\n\t}\n\tKeSetEvent(&gpSyser->m_ImageLoadSyncEvent, 0, FALSE);\n}\n\n// \n// \n// __declspec(naked) void SofticeDriverEntryExitCallBack()\n// {\n// \t__asm\n// \t{\n// \t\tPUSHAD\n// \t\tPUSHFD\n// \t}\n// \tif(gpSyser->InstallDebug()==false)\n// \t{\n// \t\tgpSyser->DbgPrint(2,296,WSTR(\"SYSER : InstallDebug==false\"));\n// \t}\n// \tgSofticeDriverEntry=0;\n// \t__asm\n// \t{\n// \t\tPOPFD\n// \t\tPOPAD\n// \t\tPUSH SS:gSofticeDriverEntryReturnAddress\n// \t\tRET\n// \t}\n// }\n\n// \n// __declspec(naked) int  CloseDebugRegisterMontior()\n// {\n// \t__asm\n// \t{\n// \t\tnop\n// \t\tmov eax,dr0\n// \t\tret\n// \t}\n// }\n// \n// void DisableDebugRegisterMontior()\n// {\n// \t__asm\n// \t{\n// \t\tPUSHFD\n// \t\tpush eax\n// \t}\t\n// \tCloseDebugRegisterMontior();\t\n// \t__asm\n// \t{\n// \t\tpop eax\n// \t\tPOPFD\n// \t}\n// }\n// \n// \n// __declspec(naked)void OpenDebugRegisterMontior()\n// {\n// \t__asm\n// \t{\n// \t\tpush eax\t\t\n// \t\tmov eax,dr7 \n// \t\tor eax,0x2000\n// \t\tmov dr7,eax\n// \t\tpop eax \n// \t\tret\n// \t}\n// }\n// void EnableDebugRegisterMontior()\n// {\t\n// \t__asm push eax\n// \tif(gpSyser->m_bDbgRegAccessMon)\n// \t{\t\n// \t\t__asm call OpenDebugRegisterMontior\t\n// \t}\n// \t__asm pop eax\n// }\n\nvoid EnableHardwaveBreakpoint()\n{\n\tReg.DR[0] = SyserDR[0];\n\tReg.DR[1] = SyserDR[1];\n\tReg.DR[2] = SyserDR[2];\n\tReg.DR[3] = SyserDR[3];\n\tReg.DR[7] = SyserDR[7];\n}\n\n// void DisableHardwaveBreakpoint()\n// {\n// \t__asm\n// \t{\n// \t\tPUSH\tEAX\n// \t\tXOR\t\tEAX,EAX\n// \t\tMOV\t\tDR7,EAX\n// \t\tPOP\t\tEAX\n// \t}\n// }\n\n\nvoid ClearExceptionRegister()\n{\n\tDWORD CurrentCpuID;\n\tCurrentCpuID = GetCurrentCPULocalAPICID();\n\tmemset(&ExceptionReg[CurrentCpuID],0,sizeof(X86_REG_CONTEXT));\t\n}\n/*\n * [ebp+1c] push eflags\n * [ebp+18] push cs\n * [ebp+14] push eip\n * [ebp+10] push error_code\n * [ebp+c ] push window_address\n * [ebp+8 ] push interrupt index\n * [ebp+4 ] push call_ret\n * [ebp+0 ] push ebp\n */\n\nDWORD GetLocalAPICIDNew()\n{\n\tDWORD LocalApicID;\n\tDWORD *APICIDRegister = *(DWORD**)&gdwLocalAPICLineAddress;\n\tif(APICIDRegister==0)\n\t{\n\t\t//Beep(100,2000);\n\t\treturn 0;\n\t}\n\tLocalApicID = APICIDRegister[0x20/sizeof(DWORD)];\n\tLocalApicID>>=18;\n\treturn LocalApicID;\n}\n\nDWORD GetCurrentCPULocalAPICIDNew()\n{\n\tDWORD LocalApicID,i;\n\tPKPCR FSBaseAddress;\n\tif(gCPUNumbers==1)\n\t\treturn 0;\n\tLocalApicID = GetLocalAPICIDNew();\n\tif(gCPULocalAPIC_ID[LocalApicID]<=0xf)\n\t\treturn gCPULocalAPIC_ID[LocalApicID];\n\t//FSBaseAddress =(PKPCR) GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector);\n\t//for(i=0;i<gCPUNumbers;i++)\n\t//{\n\t//\tif(gPCRArray[i]==FSBaseAddress)\n\t//\t{\n\t//\t\tgCPULocalAPIC_ID[LocalApicID]=(BYTE)i;\n\t//\t\treturn i;\n\t//\t}\n\t//}\n\treturn 0;\n}\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n//DWORD gExceptionSpinLock=0;\n//static X86_REG_CONTEXT ExceptionTmpReg;\n//static \tDWORD gExceptionCurrentCpuID;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n// \n// \n// void __declspec(naked) SaveExceptionRegister()\n// {\n// \tDWORD Count;\n// \t__asm\n// \t{\n// \t\tpush ebp \n// \t\tmov ebp,esp\n// \t\tsub esp,__LOCAL_SIZE\n// \t\tmov Count,0\n// local_002:\n// \t\tinc  Count \n// \t\tcmp Count,0x1000\n// \t\tjg local_003\n// \t\tlock bts dword ptr gExceptionSpinLock,0x1f\n// \t\tjb local_002\n// local_003:\n// \t\tpush eax \n// \t\tpush ds \n// \t\tmov eax,0x10 \n// \t\tmov ds,ax \n// \t\tmov eax,[esp+4]\n// \t\tmov ExceptionTmpReg.GeneReg[EAX_IDX*4],eax \n// \t\txor eax,eax\n// \t\tmov eax,[esp]\n// \t\tmov ExceptionTmpReg.SegReg[DS_IDX*2],ax \n// \t\tmov ExceptionTmpReg.GeneReg[ECX_IDX*4],ecx \n// \t\tmov ExceptionTmpReg.GeneReg[EDX_IDX*4],edx \n// \t\tmov ExceptionTmpReg.GeneReg[EBX_IDX*4],ebx \n// \t\tmov ExceptionTmpReg.GeneReg[ESI_IDX*4],esi \n// \t\tmov ExceptionTmpReg.GeneReg[EDI_IDX*4],edi \n// \t\tmov eax,[ebp+0]\n// \t\tmov ExceptionTmpReg.GeneReg[EBP_IDX*4],eax\t\t\n// \t\tmov eax,[ebp+0x18]\n// \t\tmov ExceptionTmpReg.SegReg[CS_IDX*2],ax \n// \t\ttest ax,0x3\n// \t\tjz local_2\n// \t\tmov eax,[ebp+0x20] \n// \t\tmov ExceptionTmpReg.GeneReg[ESP_IDX*4],eax\n// \t\tmov eax,[ebp+0x24]\n// \t\tmov ExceptionTmpReg.SegReg[SS_IDX*2],ax \n// \t\tjmp local_3\n// local_2:\n// \t\tlea eax,[ebp+0x20]\n// \t\tmov ExceptionTmpReg.GeneReg[ESP_IDX*4],eax\n// \t\tmov ax,ss\n// \t\tmov ExceptionTmpReg.SegReg[SS_IDX*2],ax \n// local_3:\n// \t\txor eax,eax \n// \t\tmov ax,fs\n// \t\tmov ExceptionTmpReg.SegReg[FS_IDX*2],ax \n// \t\tmov ax,es\n// \t\tmov ExceptionTmpReg.SegReg[ES_IDX*2],ax \n// \t\tmov ax,gs\n// \t\tmov ExceptionTmpReg.SegReg[GS_IDX*2],ax\n// \t\tmov eax,[ebp+0x10]\n// \t\tmov ExceptionTmpReg.ExceptionInterruptErrorCode,eax \n// \t\tmov eax,[ebp+0x08]\n// \t\tmov ExceptionTmpReg.ExceptionInterruptNumber,eax\n// \t\tmov eax,[ebp+0x14]\n// \t\tmov ExceptionTmpReg.EIP,eax \n// \t\tmov eax,[ebp+0x1c]\n// \t\tmov ExceptionTmpReg.EFlags,eax \n// \t\tpop ds \n// \t\tpop eax\n// \t\tpushad\n// \t\tpushfd \n// \t\tcld\n// \t} \n// \n// \tif(gpSyser && gpSyser->m_bInitSuccess)\n// \t{\n// \t\tgExceptionCurrentCpuID = GetCurrentCPULocalAPICID();\n// \t\tif(ExceptionTmpReg.EIP < gpSyser->m_SysInfo.m_SyserBase || ExceptionTmpReg.EIP >=gpSyser->m_SysInfo.m_SyserHighBase)\n// \t\t\tExceptionReg[gExceptionCurrentCpuID]=ExceptionTmpReg;\n// \t}\n// \t__asm\n// \t{\n// \t\tlock btr dword ptr gExceptionSpinLock,0x1f\n// \t\tpopfd\n// \t\tpopad \n// \t\tmov esp,ebp\n// \t\tpop ebp\n// \t\tret\n// \t}\n// }\n// \n\n\nbool bgCtrlUpActive=false;\nvoid OnPatchTranslateUsageAndPagesToI8042ScanCodes()\n{\n\tUSB_HOOK_PARAM*pFuncParam=(USB_HOOK_PARAM*)(Reg.GeneReg[I_ESP]+4);\n\tif(pFuncParam->ChangedUsageList->UsagePage != HID_USAGE_PAGE_KEYBOARD)\n\t\treturn;\n\tif(pFuncParam->ChangedUsageList->Usage == 0xe0||pFuncParam->ChangedUsageList->Usage == 0xe4)\n\t{\n\t\tif(pFuncParam->KeyAction==HidP_Keyboard_Break)\n\t\t{\n\t\t\tif(bgCtrlUpActive)\n\t\t\t{\n\t\t\t\tbgCtrlUpActive=false;\n\t\t\t\tgpSyser->m_pDebugger->m_bPrevPatchBP = false;\n\t\t\t\tgpSyser->Active();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbgCtrlUpActive=false;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(pFuncParam->ChangedUsageList->Usage == 0x45)\n\t\t{\n\t\t\tif(pFuncParam->ModifierState->LeftControl || pFuncParam->ModifierState->RightControl)\n\t\t\t\tbgCtrlUpActive=true;\n\t\t\telse\n\t\t\t\tbgCtrlUpActive=false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbgCtrlUpActive=false;\n\t\t}\n\t}\n}\n\nvoid OnPatchMmUnmapViewOfSection()\n{\n\tIN PEPROCESS PEProcess;\n\tIN PVOID BaseAddress;\n\tgpSyser->m_pDebugger->ReadMemory(Reg.GeneReg[ESP_IDX]+8,&BaseAddress,sizeof(BaseAddress));\n\tgpSyser->m_pDebugger->ReadMemory(Reg.GeneReg[ESP_IDX]+4,&PEProcess,sizeof(PEProcess));\n\tDbgPrint(\"PEProcess = %08X , BaseAddress = %08X\\n\",PEProcess,BaseAddress);\n}\n\nvoid OnDebugSoftice()\n{\n\tDWORD *pTmpPointer;\n\tWISP_CHAR CommandName[64];\n\tgpSyser->m_pDebugger->RemoveSingleStep();\n\tTSPrintf(CommandName,WSTR(\"patch -d %08x\"),gSofticeDriverEntry);\n\tRUNCMD(CommandName);\n\tif(gpSyser->UninstallDebug()==false)\n\t\tgpSyser->DbgPrint(0,364,WSTR(\"UninstallDebug == false\"));\n\tpTmpPointer=(DWORD*)(Reg.GeneReg[ESP_IDX]);\n\tgSofticeDriverEntryReturnAddress=pTmpPointer[0];\n\tpTmpPointer[0]=(DWORD)SyserSofticeDriverEntryExitCallBack;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/Services.h",
    "content": "#ifndef _SERVICES_H_\n#define _SERVICES_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define\t\t\tFPU_REGISTER_IMAGE_SIZE\t108\nextern X86_GATE_DECR\tgOldInterruptDescropterTable[0x100];\nextern DWORD\t\t\tgOldInterruptProcAddress[0x100];\nextern bool\t\t\t\tbGoToSoftice;\nextern bool\t\t\t\tgbSystemCrash;\nextern bool\t\t\t\tgbActive;\nextern DWORD\t\t\tdwTestSampleEntryPoint;\nextern DWORD\t\t\tgSofticeDriverEntry;\nextern DWORD\t\t\tgSofticeDriverEntryReturnAddress;\nextern DWORD\t\t\tOldESP;\nextern DWORD\t\t\tCurrentFpuImageIndex;\nextern DWORD\t\t\tgGenInterruptNumber;\nextern DWORD\t\t\tgGenInterruptOffset;\n\nextern DWORD\t\t\tSyserDR[8];\nextern bool\t\t\t\tgbTemplateTraceFlag;//ʱһϵ\nextern BYTE*\t\t\tgpStackBufferBottom;\nextern BYTE*\t\t\tgpStackBufferTop;\nextern BYTE*\t\t\tgpStackBuffer;\nextern BYTE\t\t\t\tFpuRegisterImage[2][FPU_REGISTER_IMAGE_SIZE];\nextern BYTE\t\t\t\tFxsaveBuffer[512+15];\nextern WORD\t\t\t\tgSystemSSSegment;\nextern WORD\t\t\t\tgGenInterruptSelector;\nextern DWORD\t\t\tgPrevStepEIP;//ǰһεִе EIP ַҪһЩǰһִеĵ pushfd ôҪջе tf ־\n\t\t\t\t\t\t\t\t\t\t//һ˳ʱǵ˳ġñΪ 0 \nextern bool\t\t\t\tgbBugCheckExExit;\nextern bool\t\t\t\tgbBugCheckExFlags;\nextern DWORD\t\t\tgpBugCheckExAddress;\nextern bool\t\t\t\tgbBugCheckExFirstByteIsCC;\nextern LONG\t\t\t\tgbLoadImage;\n\nVOID SyserLoadReg(VOID);\nVOID SyserSaveReg(VOID);\n//ʧ쳣\nVOID SyserInt0bProc(VOID);\n//\nVOID SyserInt06Proc(VOID);\n//\nVOID SyserInt0cProc(VOID);\n//ж\nVOID SyserInt01Proc(VOID);\n//ж\nVOID SyserInt2dProc(VOID);\n\n//̴\nvoid CreateProcessHookProc(IN HANDLE  ParentId,IN HANDLE  ProcessId,IN BOOLEAN  Create);\n//̴߳\nvoid CreateThreadHookProc(IN HANDLE  ProcessId,IN HANDLE  ThreadId,IN BOOLEAN  Create);\n//ģװع\nvoid LoadImageHookProc(IN PUNICODE_STRING  FullImageName,IN HANDLE  ProcessId,IN PIMAGE_INFO  ImageInfo);\n\nvoid DebugOut(void);\nvoid DebugOut1(DWORD dwHeight);\nvoid WispTimeInterrupeService();\n\nbool InstallSwapContextHook();\nvoid RemoveSwapContextHook();\nvoid SaveFpuRegister();\nvoid RestorFpuRegister();\n\nVOID SyserDisableDebugRegisterMontior(VOID);\nVOID SyserEnableDebugRegisterMontior(VOID);\nvoid EnableHardwaveBreakpoint();\nVOID SyserDisableHardwaveBreakpoint(VOID);\n\nVOID SyserSofticeDriverEntryExitCallBack(VOID);\nVOID SyserSaveExceptionRegister(VOID);\nvoid ClearExceptionRegister();\nvoid OnPatchBugCheckEx();\nvoid OnPatchMmUnmapViewOfSection();\nvoid OnDebugSoftice();\nvoid OnPatchTranslateUsageAndPagesToI8042ScanCodes();\nint SyserCloseDebugRegisterMontior(VOID);\nVOID SyserOpenDebugRegisterMontior(VOID);\n//void PatchKeBugCheckEx();\n\ntypedef struct _KD_SYMBOLS_INFO \n{\n\tIN PVOID BaseOfDll;\n\tIN ULONG_PTR ProcessId;\n\tIN ULONG CheckSum;\n\tIN ULONG SizeOfImage;\n} KD_SYMBOLS_INFO, *PKD_SYMBOLS_INFO;\n\nvoid UnloadSystemModuleSymbols(PSTRING pModuleName,PKD_SYMBOLS_INFO pSymInfo);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Syser/Source/ShareCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"ShareCmd.h\"\n#include \"OSData.h\"\n#include \"ErrorCodeTable.h\"\n#include \"NtstatStr.h\"\n#include \"SystemIoctl.h\"\n#include \"BugCheckCode.h\"\n#include \"StringReference.h\"\n//#include <winioctl.h>\nSYSER_CMD_ENTRY\tShareCmdTable[]=\n{\n\t{WSTR(\"resize\"),\t\tWSTR(\"resize syser windows\"),\t\t\t\t\t\t\t\t\t\twindow_resize_command},\n\t{WSTR(\"lines\"),\t\t\tWSTR(\"Change the number of lines for the syser display.\"),\t\t\tlines_command},\n\t{WSTR(\"width\"),\t\t\tWSTR(\"Set the number of display columns in the syser window.\"),\t\twidth_command},\n\t{WSTR(\"ioctl\"),\t\t\tWSTR(\"Decodes the IOCTL and FSCTL codes into readable English.\"),\tioctl_command},\n\t{WSTR(\"ntstatus\"),\t\tWSTR(\"Display header-defined mnemonics for NTSTATUS error codes.\"),\tntstatus_command},\n\t{WSTR(\"winerror\"),\t\tWSTR(\"Display header-defined mnemonics for Win32 error codes.\"),\terrorcode_command},\n\t{WSTR(\"bugcheckcode\"),\tWSTR(\"Display Bug Check Code mnemonics for windows.\"),\t\t\t\tbugcheckcode_command},\n\t{WSTR(\"wmsg\"),\t\t\tWSTR(\"Display the names and message numbers of Windows messages.\"),\twmsg_command},\n\t{WSTR(\"zap\"),\t\t\tWSTR(\"Replace an embedded INT 1 or INT 3 with a NOP instruction.\"),\tzap_command},\t\n\t{WSTR(\"file\"),\t\t\tWSTR(\"List source code file\"),\t\t\t\t\t\t\t\t\t\tfile_command},\n\t{WSTR(\"watch\"),\t\t\tWSTR(\"Add source code variable watch\"),\t\t\t\t\t\t\t\twatch_source_command},\n\t{WSTR(\"table\"),\t\t\tWSTR(\"List source code module\"),\t\t\t\t\t\t\t\t\ttable_source_command},\n\t{WSTR(\"crc16\"),\t\t\tWSTR(\"Calculate crc16 value with memory region.\"),\t\t\t\t\tcrc_command},\n\t{WSTR(\"crc32\"),\t\t\tWSTR(\"Calculate crc32 value with memory region.\"),\t\t\t\t\tcrc_command},\n\t{WSTR(\"crc16-ccitt\"),\tWSTR(\"Calculate crc-ccitt value with memory region.\"),\t\t\t\tcrc_command},\n\t{NULL,NULL,NULL}\n};\ntypedef struct _IOCTL_STR\n{\n\tunsigned int TransferType:2;\n\tunsigned int FunctionCode:11;\n\tunsigned int Custom:1;\n\tunsigned int RequiredAccess:2;\n\tunsigned int DeviceType:15;\n\tunsigned int Common:1;\n}IOCTL_STR,*PIOCTL_STR;\n\nint table_source_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tWCHAR wFileName[512];\n\tCSDSModuleMap::IT BeginIT,EndIT;\n\tint Count;\n\tBeginIT=gpSyser->m_SyserUI.m_SDSModuleMap.Begin();\n\tEndIT=gpSyser->m_SyserUI.m_SDSModuleMap.End();\n\tCount = gpSyser->m_SyserUI.m_SDSModuleMap.Count();\n\tif(Count==0 || argc >2)\n\t{\n\t\tOUTPUT(WSTR(\"Error : not found symbol module.\\n\"));\n\t\treturn 1;\n\t}\n\tif(argc==1)\n\t{\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tTStrCpy(wFileName,(*BeginIT).GetSymbolModuleName());\n\t\t\tOUTPUT(WSTR(\"%s\\n\"),wFileName);\n\t\t}\n\t\treturn 0;\n\t}\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tTStrCpy(wFileName,(*BeginIT).GetSymbolModuleName());\n\t\tif(TStrICmp(wFileName,argv[1])==0)\n\t\t{\n\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.SetActiveModule(&(*BeginIT));\n\t\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t\t\tbreak;\n\t\t}\t\t\n\t}\t\n\treturn 0;\n}\n\nint watch_source_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tif(argc<2)\n\t{\n\t\tOUTPUT(WSTR(\"Error : watch variablename [variablename2 ..].\\n\"));\n\t\treturn 1;\n\t}\n\tif(CUR_SOURCE_SDSMODULE==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : not found symbol module.\\n\"));\n\t\treturn 1;\n\t}\n\tfor(int i = 1; i < argc;i++)\n\t{\n#ifdef CODE_OS_NT_DRV\n\t\tif(gpSyser->m_SysInfo.m_bSNPass==false && SOURC_DEBUGE_FRAME_WND.m_SourceVariableWatchWnd.GetItemCount(NULL,false)>1)\n\t\t{\n\t\t\tSOURC_DEBUGE_FRAME_WND.m_SourceVariableWatchWnd.m_pWispBase->MsgBox(WSTR(\"Unregister version limited\"),WSTR(\"Warning\"),WISP_MB_OK);\n\t\t\treturn 0;\n\t\t}\n#endif\n\t\tSOURC_DEBUGE_FRAME_WND.m_SourceVariableWatchWnd.AddWatchByName(argv[i],NULL);\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t}\n\treturn 0;\n}\nint file_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tCSDSModule* pSDSModule;\n\tPSDSOURCEFILEID SourceID;\n\tchar FileName[512];\n\tchar* pModuleName;\n\tWCHAR wFileName[512];\n\tpSDSModule=CUR_SOURCE_SDSMODULE;\n\tif(pSDSModule==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"Error : not found symbol module.\\n\"));\n\t\treturn 1;\n\t}\n\tif(argc==1)\n\t{\n\t\tDWORD SourceFileNum;\n\t\tSourceID = pSDSModule->GetSourceFileList(&SourceFileNum);\n\t\tif(SourceID==NULL)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : not found source file.\\n\"));\n\t\t\treturn 1;\n\t\t}\n\t\tfor(DWORD i = 0; i < SourceFileNum;i++)\n\t\t{\t\t\t\n\t\t\tif(SourceID[i].FileLen==0)\n\t\t\t\tcontinue;\n\t\t\tpModuleName=TStrRChr(SourceID[i].uName.Name,'\\\\');\n\t\t\tif(pModuleName)\n\t\t\t{\n\t\t\t\tpModuleName++;\n\t\t\t\tTStrCpy(wFileName,pModuleName);\n\t\t\t\tOUTPUT(WSTR(\"%s\\n\"),wFileName);\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tfor(int i = 1; i < argc;i++)\n\t{\n\t\tTStrCpy(FileName,argv[i]);\n\t\tSourceID = pSDSModule->GetSourceFileByName(FileName);\n\t\tif(SourceID==NULL)\n\t\t\tcontinue;\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t\tSOURC_DEBUGE_FRAME_WND.ShowSourceFile(pSDSModule,SourceID->FileID,0);\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t}\n\treturn 0;\n}\nint ioctl_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tchar* DeviceTypeName[]={\n\t\tNULL,\n\t\t\"BEEP\",\n\t\t\"CD_ROM\",\n\t\t\"CD_ROM_FILE_SYSTEM\",\n\t\t\"CONTROLLER\",\n\t\t\"DATALINK\",\n\t\t\"DFS\",\n\t\t\"DISK\",\n\t\t\"DISK_FILE_SYSTEM\",\n\t\t\"FILE_SYSTEM\",\n\t\t\"INPORT_PORT\",\n\t\t\"KEYBOARD\",\n\t\t\"MAILSLOT\",\n\t\t\"MIDI_IN\",\n\t\t\"MIDI_OUT\",\n\t\t\"MOUSE\",\n\t\t\"MULTI_UNC_PROVIDER\",\n\t\t\"NAMED_PIPE\",\n\t\t\"NETWORK\",\n\t\t\"NETWORK_BROWSER\",\n\t\t\"NETWORK_FILE_SYSTEM\",\n\t\t\"NULL\",\n\t\t\"PARALLEL_PORT\",\n\t\t\"PHYSICAL_NETCARD\",\n\t\t\"PRINTER\",\n\t\t\"SCANNER\",\n\t\t\"SERIAL_MOUSE_PORT\",\n\t\t\"SERIAL_PORT\",\n\t\t\"SCREEN\",\n\t\t\"SOUND\",\n\t\t\"STREAMS\",\n\t\t\"TAPE\",\n\t\t\"TAPE_FILE_SYSTEM\",\n\t\t\"TRANSPORT\",\n\t\t\"UNKNOWN\",\n\t\t\"VIDEO\",\n\t\t\"VIRTUAL_DISK\",\n\t\t\"WAVE_IN\",\n\t\t\"WAVE_OUT\",\n\t\t\"8042_PORT\",\n\t\t\"NETWORK_REDIRECTOR\",\n\t\t\"BATTERY\",\n\t\t\"BUS_EXTENDER\",\n\t\t\"MODEM\",\n\t\t\"VDM\",\n\t\t\"MASS_STORAGE\",\n\t\t\"SMB\",\n\t\t\"KS\",\n\t\t\"CHANGER\",\n\t\t\"SMARTCARD\",\n\t\t\"ACPI\",\n\t\t\"DVD\",\n\t\t\"FULLSCREEN_VIDEO\",\n\t\t\"DFS_FILE_SYSTEM\",\n\t\t\"DFS_VOLUME\",\n\t\t\"SERENUM\",\n\t\t\"TERMSRV\",\n\t\t\"KSEC\",\n\t\t\"FIPS\",\n\t\t\"INFINIBAND\",\n\t};\n\tDWORD ControlCode;\n\tint i;\n\tbool bTitle=false;\n\tWCHAR DeviceTypeNameBuf[50];\n\tPIOCTL_STR pIoctl;\n\tint k;\n\tif(argc==1)\n\t{\n\t\tfor( k =0; gSysIoctl[k].Name;k++)\n\t\t{\n\t\t\t\n\t\t\tOUTPUT(WSTR(\"%08X \"),gSysIoctl[k].Code);\n\t\t\tTStrCpy(DeviceTypeNameBuf,gSysIoctl[k].Name);\n\t\t\tOUTPUT(WSTR(\"FILE_DEVICE_\"));\n\t\t\tOUTPUT(DeviceTypeNameBuf);\n\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t\t\n\t\t}\n\t\t//OUTPUT(WSTR(\"IOCTL ctl-code\\n\"));\n\t\treturn 1;\n\t}\n\tpIoctl = (PIOCTL_STR)&ControlCode;\n\tfor(i = 1; i < argc; i++)\n\t{\n\t\tif(CALCEXP(argv[i],&ControlCode)==false)\n\t\t{\n\t\t\tchar tmpname[128]=\"FILE_DEVICE_\";\n\t\t\t\n\t\t\tfor(k = 0; gSysIoctl[k].Name;k++)\n\t\t\t{\n\t\t\t\tstrcpy(tmpname+12,gSysIoctl[k].Name);\n\t\t\t\tif(TStrIStr(tmpname,argv[i]))\n\t\t\t\t{\n\t\t\t\t\tControlCode=gSysIoctl[k].Code;\n\t\t\t\t\tgoto local_001;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\nlocal_001:\n\n\t\tOUTPUT(WSTR(\"    Control Code:  %08x \"),ControlCode);\n\t\tfor(k =0; gSysIoctl[k].Name;k++)\n\t\t{\n\t\t\tif(gSysIoctl[k].Code==ControlCode)\n\t\t\t{\n\t\t\t\tTStrCpy(DeviceTypeNameBuf,gSysIoctl[k].Name);\n\t\t\t\tOUTPUT(DeviceTypeNameBuf);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t\tif(pIoctl->Common==0)\n\t\t{\n\t\t\tif(pIoctl->DeviceType>0 && pIoctl->DeviceType<=0x3b)\n\t\t\t{\n\t\t\t\tTStrCpy(DeviceTypeNameBuf,\"FILE_DEVICE_\");\n\t\t\t\tTStrCat(DeviceTypeNameBuf,DeviceTypeName[pIoctl->DeviceType]);\n\t\t\t\tOUTPUT(WSTR(\"    Device Type:   %s\"),DeviceTypeNameBuf);\n\t\t\t}else\n\t\t\t\tOUTPUT(WSTR(\"    Device Type:   %x(Microsoft reserved)\"),pIoctl->DeviceType);\n\t\t\t\n\t\t}else\n\t\t{\n\t\t\tOUTPUT(WSTR(\"    Device Type:   %x(vendor-assigned) \"),pIoctl->DeviceType|0x8000);\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n    Function:      \"));\n\t\tif(pIoctl->Custom==0)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"0x%x (%d)(Microsoft Reserved) \"),pIoctl->FunctionCode,pIoctl->FunctionCode);\n\t\t}else\n\t\t{\n\t\t\tOUTPUT(WSTR(\"0x%x (%d) \"),pIoctl->FunctionCode|0x800,pIoctl->FunctionCode|0x800);\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n    Method:        \"));\n\t\tswitch(pIoctl->TransferType)\n\t\t{\n\t\tcase METHOD_BUFFERED:  \n\t\t\tOUTPUT(WSTR(\"METHOD_BUFFERED \"));\n\t\t\tbreak;\n\t\tcase METHOD_IN_DIRECT:   \n\t\t\tOUTPUT(WSTR(\"METHOD_IN_DIRECT \"));\n\t\t\tbreak;\n\t\tcase METHOD_OUT_DIRECT:  \n\t\t\tOUTPUT(WSTR(\"METHOD_OUT_DIRECT \"));\n\t\t\tbreak;\n\t\tcase METHOD_NEITHER:     \n\t\t\tOUTPUT(WSTR(\"METHOD_NEITHER \"));\n\t\t\tbreak;\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n    Access:        \"));\n\t\tswitch(pIoctl->RequiredAccess)\n\t\t{\n\t\tcase FILE_ANY_ACCESS:  \n\t\t\tOUTPUT(WSTR(\"FILE_ANY_ACCESS \"));\n\t\t\tbreak;\n\t\tcase FILE_READ_ACCESS:   \n\t\t\tOUTPUT(WSTR(\"FILE_READ_ACCESS \"));\n\t\t\tbreak;\n\t\tcase FILE_WRITE_ACCESS:  \n\t\t\tOUTPUT(WSTR(\"FILE_WRITE_ACCESS \"));\n\t\t\tbreak;\n\t\tcase FILE_WRITE_ACCESS|FILE_READ_ACCESS:     \n\t\t\tOUTPUT(WSTR(\"FILE_READ_ACCESS|FILE_WRITE_ACCESS \"));\n\t\t\tbreak;\n\t\t}\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t}\n\treturn 1;\n}\nint wmsg_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint i,j;\n\tDWORD dwIndex,Count=0;\n\n\tWCHAR Buf[256];\n\tif(argc==1)\n\t{\n\t\tfor(i = 0; stMsgList[i].MsgName; i++)\n\t\t{\n\t\t\tCount++;\n\t\t\tTStrCpy(Buf,stMsgList[i].MsgName);\n\t\t\tOUTPUT(WSTR(\"%04x  %s\\n\"),stMsgList[i].MsgNumber,Buf);\t\n\t\t}\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\t\treturn 0;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tif(CALCEXP(argv[i],&dwIndex))\n\t\t{\n\t\t\tfor(j = 0; stMsgList[j].MsgName; j++)\n\t\t\t{\n\t\t\t\tif(stMsgList[j].MsgNumber==dwIndex)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,stMsgList[j].MsgName);\n\t\t\t\t\tOUTPUT(WSTR(\"%04x  %<b>%s\\n\"),stMsgList[j].MsgNumber,Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t\t//break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(j = 0; stMsgList[j].MsgName; j++)\n\t\t\t{\n\t\t\t\tif(TStrNICmp(argv[i], stMsgList[j].MsgName,TStrLen(argv[i]))==0)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,stMsgList[j].MsgName);\n\t\t\t\t\tOUTPUT(WSTR(\"%<b>%04x  %<1>%s\\n\"),stMsgList[j].MsgNumber,Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\t\n\tif(Count)\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\treturn 0;\n}\n\nint zap_command(int argc, WCHAR* argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tWORD wOrgInstr;\n\tif(argc != 1)\n\t\treturn -1;\n\tX86_CPU_REG_PTR pReg;\n\tpSyser->m_pDebugger->GetX86RegPtr(&pReg);\n\t\n\tpSyser->m_pDebugger->ReadMemory(*pReg.pEIP-2,&wOrgInstr,2);\n\tif(wOrgInstr==0x1cd || wOrgInstr==0x3cd)\n\t{\n\t\twOrgInstr=0x9090;\n\t\tpSyser->m_pDebugger->WriteMemory(*pReg.pEIP-2,&wOrgInstr,2);\n\t}\n\telse\n\t{\n\t\tif((wOrgInstr&0xff00)==0xcc00 ||(wOrgInstr&0xff00)==0xf100)\n\t\t{\n\t\t\twOrgInstr=0x9090;\n\t\t\tpSyser->m_pDebugger->WriteMemory(*pReg.pEIP-1,&wOrgInstr,1);\n\t\t}else\n\t\t{\n\t\t\tOUTPUT(WSTR(\"NO embedded INT 1 or INT 3\\n\"));\n\t\t}\n\t}\n\tUPDATE_CONTEXT();\n\treturn 0;\n}\nint errorcode_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint i,j;\n\tDWORD dwIndex,Count=0;\n\tWCHAR Buf[400];\n\tif(argc==1)\n\t{\n\t\tfor(i = 0; ErrorCodes[i].Name; i++)\n\t\t{\n\t\t\tCount++;\n\t\t\tTStrCpy(Buf,ErrorCodes[i].Name);\n\t\t\tOUTPUT(WSTR(\"0X%08x  %s\\n\"),ErrorCodes[i].Code,Buf);\t\n\t\t\t//TStrCpy(Buf,ErrorCodes[i].Description);\n\t\t\t//OUTPUT(WSTR(\"%s\\n\"),Buf);\n\t\t}\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\t\treturn 0;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tif(CALCEXP(argv[i],&dwIndex))\n\t\t{\n\t\t\tfor(j = 0; ErrorCodes[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(ErrorCodes[j].Code==dwIndex)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,ErrorCodes[j].Name);\n\t\t\t\t\t\n\t\t\t\t\tOUTPUT(WSTR(\"0X%08x  %<b>%s \"),ErrorCodes[j].Code,Buf);\n\t\t\t\t\tTStrCpy(Buf,ErrorCodes[j].Description);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t\t//break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(j = 0; ErrorCodes[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(TStrNICmp(argv[i], ErrorCodes[j].Name,TStrLen(argv[i]))==0)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,ErrorCodes[j].Name);\n\t\t\t\t\tOUTPUT(WSTR(\"%<b>0X%08x  %<1>%s \"),ErrorCodes[j].Code,Buf);\n\t\t\t\t\tTStrCpy(Buf,ErrorCodes[j].Description);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\t\n\tif(Count)\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\n\treturn 0;\n}\n\nint bugcheckcode_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint i,j;\n\tDWORD dwIndex,Count=0;\n\tWCHAR Buf[400];\n\tif(argc==1)\n\t{\n\t\tfor(i = 0; gBugCheckCode[i].Name; i++)\n\t\t{\n\t\t\tCount++;\n\t\t\tTStrCpy(Buf,gBugCheckCode[i].Name);\n\t\t\tOUTPUT(WSTR(\"0X%08x  %s\\n\"),gBugCheckCode[i].BucCheckCode,Buf);\t\n\t\t}\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\t\treturn 0;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tif(CALCEXP(argv[i],&dwIndex))\n\t\t{\n\t\t\tfor(j = 0; gBugCheckCode[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(gBugCheckCode[j].BucCheckCode==dwIndex)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,gBugCheckCode[j].Name);\n\n\t\t\t\t\tOUTPUT(WSTR(\"0X%08x  %<b>%s \"),gBugCheckCode[j].BucCheckCode,Buf);\n\t\t\t\t\tTStrCpy(Buf,gBugCheckCode[j].Name);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t\t//break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(j = 0; gBugCheckCode[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(TStrNICmp(argv[i], gBugCheckCode[j].Name,TStrLen(argv[i]))==0)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,gBugCheckCode[j].Name);\n\t\t\t\t\tOUTPUT(WSTR(\"%<b>0X%08x  %<1>%s \"),gBugCheckCode[j].BucCheckCode,Buf);\n\t\t\t\t\tTStrCpy(Buf,gBugCheckCode[j].Name);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\t\n\tif(Count)\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\n\treturn 0;\n}\nint ntstatus_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint i,j;\n\tDWORD dwIndex,Count=0;\n\tWCHAR Buf[400];\n\tif(argc==1)\n\t{\n\t\tfor(i = 0; gNtstatusTable[i].Name; i++)\n\t\t{\n\t\t\tCount++;\n\t\t\tTStrCpy(Buf,gNtstatusTable[i].Name);\n\t\t\tOUTPUT(WSTR(\"0X%08x  %s\\n\"),gNtstatusTable[i].Code,Buf);\t\n\t\t\t//TStrCpy(Buf,ErrorCodes[i].Description);\n\t\t\t//OUTPUT(WSTR(\"%s\\n\"),Buf);\n\t\t}\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\t\treturn 0;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tif(CALCEXP(argv[i],&dwIndex))\n\t\t{\n\t\t\tfor(j = 0; gNtstatusTable[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(gNtstatusTable[j].Code==dwIndex)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,gNtstatusTable[j].Name);\n\n\t\t\t\t\tOUTPUT(WSTR(\"0X%08x  %<b>%s \"),gNtstatusTable[j].Code,Buf);\n\t\t\t\t\tTStrCpy(Buf,gNtstatusTable[j].Description);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t\t//break;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(j = 0; gNtstatusTable[j].Name; j++)\n\t\t\t{\n\t\t\t\tif(TStrNICmp(argv[i], gNtstatusTable[j].Name,TStrLen(argv[i]))==0)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buf,gNtstatusTable[j].Name);\n\t\t\t\t\tOUTPUT(WSTR(\"%<b>0X%08x  %<1>%s \"),gNtstatusTable[j].Code,Buf);\n\t\t\t\t\tTStrCpy(Buf,gNtstatusTable[j].Description);\n\t\t\t\t\tOUTPUT(WSTR(\"\\n\"),Buf);\n\t\t\t\t\tCount++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\t\n\tif(Count)\n\t\tOUTPUT(WSTR(\"totals (%<e>%d%<1>)\\n\"),Count);\n\n\treturn 0;\n}\nint lines_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint Height,Lines,Width;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : lines number\\n\"));\n\t\treturn 0;\n\t}else if(argc!=2||USDecStrToNum(argv[1],&Lines)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : lines number\\n\"));\n\t\treturn 0;\n\t}\n\tWidth=gpSyser->m_MainFrame.m_WindowRect.cx;\n\tHeight = gpSyser->m_FontList[WISP_FONT_6X12].m_Height * Lines;\n\tif(Height>=gpSyser->m_RealFrameBuffer.Height)\n\t\tHeight=gpSyser->m_RealFrameBuffer.Height;\n\tgpSyser->m_MainFrame.Resize(Width,Height);\n\treturn 0;\n}\nint width_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tint Height,Count,Width;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : width number\\n\"));\n\t\treturn 0;\n\t}else if(argc!=2||USDecStrToNum(argv[1],&Count)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : width number\\n\"));\n\t\treturn 0;\n\t}\n\tHeight=gpSyser->m_MainFrame.m_WindowRect.cy;\n\tWidth = gpSyser->m_FontList[WISP_FONT_6X12].m_Width * Count;\n\tif(Width>=gpSyser->m_RealFrameBuffer.Width)\n\t\tWidth=gpSyser->m_RealFrameBuffer.Width;\n\tgpSyser->m_MainFrame.Resize(Width,Height);\n\treturn 0;\n}\n\nint window_resize_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tint Width,Height;\n\tif(argc == 1)\n\t{\n\t\tWidth = gpSyser->m_RealFrameBuffer.Width;\n\t\tHeight = gpSyser->m_RealFrameBuffer.Height;\n\t}\n\telse if(argc!=3 || USDecStrToNum(argv[1],&Width) == false ||\n\t\tUSDecStrToNum(argv[2],&Height) == false)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : ws width height\\n\"));\n\t\treturn 1;\n\t}\n\tif(Width > 2048 || Height > 1536)\n\t{\n\t\tOUTPUT(WSTR(\"Error : window is too larger !\\n\"));\n\t\treturn 1;\n\t}\n\tif(Width < 320 || Height < 200)\n\t{\n\t\tOUTPUT(WSTR(\"Error : window is too smaller !\\n\"));\n\t\treturn 1;\n\t}\n#ifdef CODE_OS_NT_DRV\n\n\tgpSyser->RestoreScreen();\n\tgpSyser->m_MainFrame.Resize(Width,Height);\n\tgpSyser->CenterScreen();\n\tgpSyser->BackupScreen();\n#else\n\tgpSyser->m_MainFrame.Resize(Width,Height);\n#endif\n\treturn 0;\n}\n\nint crc_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tunsigned int crc=0;\n\tULONG length;\n\tULONG Address;\n\tBYTE value;\n\tif(argc != 3)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : %s address size\\n\"),argv[0]);\n\t\treturn 1;\n\t}\n\tif(!CALCEXP(argv[1],&Address))\n\t{\n\t\tOUTPUT(WSTR(\"Usage : %s address size\\n\"),argv[0]);\n\t\treturn 1;\n\t}\n\tif(!CALCEXP(argv[2],&length))\n\t{\n\t\tOUTPUT(WSTR(\"Usage : %s address size\\n\"),argv[0]);\n\t\treturn 1;\n\t}\n\tif(TStrICmp(argv[0],\"crc16-ccitt\")==0)\n\t{\n\t\tcrc=0xffff;\n\t\twhile( length-- ) {\n\t\t\tif(pSyser->m_pDebugger->ReadMemory(Address,&value,1)==0)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Syser : read memory failed, Address is %08x!\\n\"),Address);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcrc = ( crc << 8 ) ^ crc16table_ccitt[ (( crc >> 8 ) ^ value)&0xff ];\n\t\t\tAddress++;\n\t\t}\t\n\t\tOUTPUT(WSTR(\"CRC16/ccitt %04X\\n\"),crc&0xffff);\n\t}\n\telse if(TStrICmp(argv[0],\"crc16\")==0)\n\t{\t\t\n\t\twhile (length--)\n\t\t{\n\t\t\tif(pSyser->m_pDebugger->ReadMemory(Address,&value,1)==0)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Syser : read memory failed, Address is %08x!\\n\"),Address);\t\t\t\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcrc =(crc >> 8) ^ crc16_table[(crc ^ value) & 0xff] ;\n\t\t\tAddress++;\n\t\t}\t\t\n\t\tOUTPUT(WSTR(\"CRC16 %04X\\n\"),crc);\n\t} \n\telse if(TStrICmp(argv[0],\"crc32\")==0)\n\t{\n\t\tcrc=0xffffffff;\t\n\t\twhile(length--)\n\t\t{\n\t\t\tif(pSyser->m_pDebugger->ReadMemory(Address,&value,1)==0)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Syser : read memory failed, Address is %08x!\\n\"),Address);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcrc = (crc >> 8) ^ crc32_table[(crc & 0xFF) ^ value];\n\t\t\tAddress++;\n\t\t}\n\t\tcrc^=0xffffffff;\n\t\tOUTPUT(WSTR(\"CRC32 %08X\\n\"),crc);\n\t}\n\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Syser/Source/ShareCmd.h",
    "content": "#ifndef _SHARECMD_H_\n#define _SHARECMD_H_\nextern SYSER_CMD_ENTRY\tShareCmdTable[];\nDECLARE_SYSER_CMD(wmsg_command);\nDECLARE_SYSER_CMD(zap_command);\nDECLARE_SYSER_CMD(errorcode_command);\nDECLARE_SYSER_CMD(ntstatus_command);\nDECLARE_SYSER_CMD(ioctl_command);\nDECLARE_SYSER_CMD(lines_command);\nDECLARE_SYSER_CMD(width_command);\nDECLARE_SYSER_CMD(window_resize_command);\nDECLARE_SYSER_CMD(bugcheckcode_command);\nDECLARE_SYSER_CMD(file_command);\nDECLARE_SYSER_CMD(watch_source_command);\nDECLARE_SYSER_CMD(table_source_command);\nDECLARE_SYSER_CMD(crc_command);\n\n#endif //_SHARECMD_H_"
  },
  {
    "path": "Project/Syser/Source/SourceCodeWatchList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SourceCodeWatchList.h\"\n\nWISP_MENU_RES_ITEM SourceWatchMenu[]=\n{\n\t{WSTR(\"Add\"),EVENT_ID_ADD,8*16},\n\t{WSTR(\"Remove\"),EVENT_ID_REMOVE,12*16+10},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CSourceCodeWatchList) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CSourceCodeWatchList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADD,OnEventAdd);\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REMOVE,OnEventRemove);\nWISP_MSG_EVENT_MAP_END\n\nCSourceCodeWatchList::CSourceCodeWatchList(void)\n{\n\tm_hLastItem = NULL;\n}\n\nCSourceCodeWatchList::~CSourceCodeWatchList(void)\n{\n}\n\nbool CSourceCodeWatchList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_Style|=WISP_WLS_VERT_LINE;\n\tm_PopupMenu.CreatePopupMenu(SourceWatchMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hRemoveItem = m_PopupMenu.GetItem(EVENT_ID_REMOVE);\n\tInsertColumn(WISP_STR(\"Expression[F2]\"),90,WISP_WLCS_EDITABLE);\n\tInsertColumn(WISP_STR(\"Value\"),70);\n\tInsertColumn(WISP_STR(\"Context\"),60);\n\tResetContext();\n\treturn true;\n}\n\nbool CSourceCodeWatchList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CSourceCodeWatchList::OnEventAdd(IN WISP_MSG*pMsg)\n{\n\tBeginEditItem(m_hLastItem,0);\n\treturn true;\n}\n\nbool CSourceCodeWatchList::OnEventRemove(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem && hItem!=m_hLastItem)\n\t\tRemoveItem(hItem);\n\treturn true;\n}\n\nbool CSourceCodeWatchList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\t{\n\t\t\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tm_PopupMenu.EnableItem(m_hRemoveItem,hItem!=NULL && hItem!=m_hLastItem);\n\t\t\tm_PopupMenu.Popup();\n\t\t}\n\t\telse if(pMsg->KeyEvent.KeyType == WISP_VK_F2)\n\t\t{\n\t\t\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tif(hItem!=NULL)\n\t\t\t{\n\t\t\t\tBeginEditItem(hItem,0);\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSourceCodeWatchList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\treturn false;\n\treturn true;\n}\n\nbool CSourceCodeWatchList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(hItem==m_hLastItem)\n\t{\n\t\tif(String.Length())\n\t\t{\n\t\t\tm_hLastItem = InsertItem((WISP_PCSTR)NULL);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tif(String.Length()==0)\n\t{\n\t\tRemoveItem(hItem);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nvoid CSourceCodeWatchList::ItemChangedNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(Col==0)\n\t\tCalcLineExp(hItem);\n}\n\nvoid CSourceCodeWatchList::UpdateContext()\n{\n\tHANDLE hItem=GetItem(0);\n\twhile(hItem)\n\t{\n\t\tif(hItem==m_hLastItem)\n\t\t\tbreak;\n\t\tCalcLineExp(hItem);\n\t\thItem = GetNextItem(hItem);\n\t}\n\tUpdateClient();\n}\n\nvoid CSourceCodeWatchList::ResetContext()\n{\n\tClearChildItem();\n\tm_hLastItem = InsertItem((WISP_PCSTR)NULL);\n\tSelectItem(m_hLastItem);\n}\n\nvoid CSourceCodeWatchList::CalcLineExp(HANDLE hItem)\n{\n\tCHAR  szBuffer[256];\n\tWCHAR szSymbol[256];\n\tPCWSTR pszSym;\n\tDWORD Result;\n\tpszSym = NULL;\n\tif(CALCEXP(GetItemText(hItem),&Result))\n\t{\n\t\tSetItemNum(hItem,1,Result);\n\t\tif(GETSYM(Result,szBuffer))\n\t\t{\n\t\t\tTStrCpy(szSymbol,szBuffer);\n\t\t\tpszSym = szSymbol;\n\t}\n\t}\n\telse\n\t\tSetItemText(hItem,1,WSTR(\"????????\"));\n\tSetItemText(hItem,2,pszSym);\n}\n"
  },
  {
    "path": "Project/Syser/Source/SourceCodeWatchList.h",
    "content": "#ifndef _SOURCE_CODE_WATCH_LIST_H_\n#define _SOURCE_CODE_WATCH_LIST_H_\n\nclass CSourceCodeWatchList : public CWispList\n{\npublic:\n\tCSourceCodeWatchList(void);\n\tvirtual ~CSourceCodeWatchList(void); \npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventAdd)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventRemove)\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tItemChangedNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tUpdateContext();\n\tvoid\tResetContext();\nprivate:\n\tHANDLE\tm_hLastItem;\n\tvoid\tCalcLineExp(HANDLE hItem);\n\tCWispMenu m_PopupMenu;\n\tHANDLE\tm_hRemoveItem;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SourceCodeWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserSymAnalyzer.h\"\n#include \"SourceCodeWnd.h\"\n#include \"Syser.h\"\n#include \"Lex2.h\"\n\nWISP_MENU_RES_ITEM SourceCodeWndMenu[]=\n{\n\t{WSTR(\"Insert/Remove  Breakpoint         F9\"),\t\tEVENT_ID_TOGGLE_BP,\t\t\t15*16+3},\n\t{WSTR(\"Enable/Disable Breakpoint\"),\t\t\t\t\tEVENT_ID_TOGGLE_BP_STATE,\t15*16+4},\n\t{WSTR(\"Toggle BookMark                   Ctrl+K\"),\tEVENT_ID_BOOKMARK_TOGGLE,\t13*16},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Go To Line                        Ctrl+G\"),\tEVENT_ID_GOTOLINE,\t16*16+11},\n\t{WSTR(\"Go To Here                        F7\"),\t\tEVENT_ID_GOTO,\t\t16*16+13},\n\t//{WSTR(\"Set EIP To Here\"),\t\t\t\t\t\t\tEVENT_ID_SET_EIP,\t16*16+15},//ں˵пŪƼ\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Add Watch\"),\t\t\t\t\t\t\t\t\tEVENT_ID_ADDWATCH,\t16*16+12},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Expansion All\"),\t\t\t\t\t\t\t\tEVENT_ID_EXPANSION,\t16*16+9},\n\t{WSTR(\"Collapse  All\"),\t\t\t\t\t\t\t\tEVENT_ID_COLLAPSE,\t16*16+10},\n\tWISP_MENU_RES_END\n};\n\nbool CSrcTXTFile::Open(PCSTR FileName,HANDLE*pHandleOpen,UINT Style)\n{\n\tULPOS nBegin,nEnd,nOffset;\n\tchar*FileBuffer,*szLine;\n\tif(CImageFile::Open(FileName,pHandleOpen)==false)\n\t\treturn false;\n\tFileBuffer=new char[m_FileSize+1];\n\tFileBuffer[m_FileSize]=0;\n\tReadFile(0,FileBuffer,m_FileSize);\n\tnBegin=nOffset=0;\n\tm_TxtStyle=Style;\n\twhile(nOffset<m_FileSize)\n\t{\n\t\tif(FileBuffer[nOffset]=='\\r' || FileBuffer[nOffset]=='\\n')\n\t\t{\n\t\t\tnEnd = nOffset;\n\t\t\tif(FileBuffer[nOffset]=='\\r' && FileBuffer[nOffset+1]=='\\n')\n\t\t\t\tnOffset=nEnd+2;\n\t\t\telse\n\t\t\t\tnOffset++;\n\t\t\tif(m_TxtStyle&TXTFILE_OPEN_CONTAIN_NEWLINE)\n\t\t\t\tnEnd=nOffset;\n\t\t\tszLine=new char[nEnd-nBegin+1];\n\t\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\t\tszLine[nEnd-nBegin]=0;\n\t\t\tm_StrList.Append(szLine);\n\t\t\tif(m_TxtStyle&TXTFILE_OPEN_CONTAIN_LINEOFFSET)\n\t\t\t\tm_LineOffsetLine.Append(nBegin);\n\t\t\tnBegin=nOffset;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnOffset++;\n\t\t}\n\t}\n\tif(nOffset!=nBegin)\n\t{\n\t\tnEnd = nOffset;\n\t\tszLine=new char[nEnd-nBegin+1];\n\t\tTStrNCpy(szLine,&FileBuffer[nBegin],nEnd-nBegin);\n\t\tszLine[nEnd-nBegin]=0;\n\t\tm_StrList.Append(szLine);\n\t\tif(m_TxtStyle&TXTFILE_OPEN_CONTAIN_LINEOFFSET)\n\t\t\tm_LineOffsetLine.Append(nBegin);\n\t}\n\tdelete FileBuffer;\n\treturn true;\n}\n\nWISP_MSG_MAP_BEGIN(CSourceCodeWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CSourceCodeWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EXPANSION,OnEventExpansion)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COLLAPSE,OnEventCollapse)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADDWATCH,OnEventAddWatch)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_BP,OnEventToggleBreakPoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TOGGLE_BP_STATE,OnEventToggleBreakPointState)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_TOGGLE,OnEventToggleBookMarks)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTOLINE,OnEventGoToLine)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTO,OnEventGotoHere)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SET_EIP,OnEventSetEIP)\t\nWISP_MSG_EVENT_MAP_END\n\nCSourceCodeWnd::CSourceCodeWnd()\n{\n\tm_FileOpen=false;\n\tm_TxtFileLineNumber=0;\n\tm_CurrentFileID=-1;\n\tm_CommentState=false;\n\tm_CurModuleBase = 0;//һδڴװʱĻַȣÿС\n}\n\nCSourceCodeWnd::~CSourceCodeWnd()\n{\n}\n\nbool CSourceCodeWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_Style|=WISP_WLS_VERT_LINE;\n\tInsertColumn(WSTR(\"Mark\"),40);\n\tInsertColumn(WSTR(\"Source Code\"),512);\n\tm_ListBTIndex = 1;\n\tShowColumnTitle(false);\n\tm_PopupMenu.CreatePopupMenu(SourceCodeWndMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_Color[COLOR_BK]=ColorOption.clrCVBK;\n\tm_Color[COLOR_ADDRESS ]=ColorOption.clrCVAddr;\n\tm_Color[COLOR_PREFIX  ]=ColorOption.clrCVPrefix;\n\tm_Color[COLOR_OPCODE  ]=ColorOption.clrCVOpCode;\n\tm_Color[COLOR_REGISTER]=ColorOption.clrCVReg;\n\tm_Color[COLOR_SEG_REG ]=ColorOption.clrCVSegReg;\n\tm_Color[COLOR_IMMED   ]=ColorOption.clrCVImmed;\n\tm_Color[COLOR_OPTR    ]=ColorOption.clrCVOptr;\n\tm_Color[COLOR_SYMBOL  ]=ColorOption.clrCVSymbol;\n\tm_Color[COLOR_COMMENT ]=ColorOption.clrCVComment;\n\tm_Color[COLOR_KEYWORD ]=ColorOption.clrCVKeyword;\n\tm_Color[COLOR_STR     ]=ColorOption.clrCVStr;\n\tm_Color[COLOR_BPX_STRIP]=ColorOption.clrCVBPXStrip;\n\tm_Color[COLOR_EIP_STRIP]=ColorOption.clrCVEIPStrip;\n\tm_Color[COLOR_BPXEIP_STRIP]=ColorOption.clrCVBPXEIPStrip;\n\n\tm_Color[CPLUSPLUS_KEYWORD]=ColorOption.clrSDKeyword;\n\tm_Color[CPLUSPLUS_IDENTIFIER]=ColorOption.clrSDId;\n\tm_Color[CPRE_KEYWORD]=ColorOption.clrSDPrekeyWord;\n\tm_Color[CPLUSPLUS_COMMENT_BLOCK]=ColorOption.clrSDCmtBlock;\n\tm_Color[CPLUSPLUS_COMMENT_LINE]=ColorOption.clrSDCmtLine;\n\tm_Color[CPLUSPLUS_STRING]=ColorOption.clrSDString;\n\tm_Color[CPLUSPLUS_NUMERICAL]=ColorOption.clrSDNum;\n\tm_Color[CPLUSPLUS_OPERATION]=ColorOption.clrSDOperation;\n\tm_Color[CPLUSPLUS_CLASS_NAME]=ColorOption.clrSDClassName;\n\tm_Color[CPLUSPLUS_STRUCT_NAME]=ColorOption.clrSDStructName;\n\tm_Color[CPLUSPLUS_UNION_NAME]=ColorOption.clrSDUnionName;\n\tm_Color[CPLUSPLUS_TYPEDEF_NAME]=ColorOption.clrSDTypedefName;\n\tm_Color[CPLUSPLUS_FUNCTION_NAME]=ColorOption.clrSDFunctionName;\n\tm_Color[CPLUSPLUS_UNKNOW]=ColorOption.clrSDUnknown;\n\n\tm_ClientDC.SetColorTable(m_Color);\n\tm_SelectBKColor = ColorOption.clrSDSelectedFrame;\n\tm_LostFocusSelBKColor = ColorOption.clrSDLostFocusSelFrame;\n\tSetBGColor(ColorOption.clrSDBK);\n\tSetDefaultTextColor(ColorOption.clrSDNum);\n\n\tm_StateDIBList=WispTKDIBList(\"\\\\SyserApp\\\\LineMark.bmp\",16,16);\n\tm_StateDIBList->SetColorKey(0);\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tif(m_FileOpen)\n\t\tClearChildItem();\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nvoid CSourceCodeWnd::PopupMenu(IN WISP_MSG*pMsg)\n{\n\tif(GetContextString()==false)\n\t\tm_PopupMenu.DisableItem(EVENT_ID_ADDWATCH);\n\telse \n\t\tm_PopupMenu.EnableItem(EVENT_ID_ADDWATCH);\n\tm_PopupMenu.Popup();\t\n}\n\nvoid CSourceCodeWnd::ItemRClickNotify(HANDLE hItem,int Col)\n{\n\tswitch(Col)\n\t{\n\tcase 0:\n\t\tOnEventToggleBookMarks(NULL);\n\t\tbreak;\n\t}\n}\n\nvoid CSourceCodeWnd::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tswitch(Col)\n\t{\n\tcase 0:\n\t\tOnEventToggleBreakPoint(NULL);\n\t\tbreak;\n\t}\n}\n\nbool CSourceCodeWnd::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tWCHAR szBuffer[512];\n\tif(IsColorString(String))\n\t{\n\t\tTStrCpyLimit(szBuffer,GetColorString(String),512);\n\t\tGetItemEditString()=szBuffer;\n\t}\n\treturn true;\n}\n\nbool CSourceCodeWnd::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\treturn false;\n}\n\nbool CSourceCodeWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tUINT Mark;\n\tWISP_RECT rc;\n\tCWispList::OnUpdateClient(pMsg);\n\trc.x=0;\n\tif(m_ColumnList.Count())\n\t\trc.x+=m_ColumnList.Begin()->Width-20;\n\trc.cx=16,rc.cy=16;\n\trc.y=m_TitleHeight;\n\tCItemList::IT ItemIter = m_CurItemIter;\n\tif(ItemIter!=m_RootItem.ChildItemList.End())\n\t{\n\t\tfor(int iLine=0; iLine<m_nLinePerPage;iLine++)\n\t\t{\n\t\t\tMark = (UINT)GetItemData(&(*ItemIter),0);\n\t\t\tif(Mark&CV_MARK_BOOK_MARK)\n\t\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(1));\n\t\t\tif(Mark&CV_MARK_EIP)\n\t\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(0));\n\t\t\tif(Mark&CV_MARK_BPX)\n\t\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(2));\n\t\t\telse if(Mark&CV_MARK_DISABLED_BPX)\n\t\t\t\tm_ClientDC.DrawDIB(&rc,m_StateDIBList->GetDIB(3));\n\t\t\trc.y+=m_ButtonSize.cy;\n\t\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CSourceCodeWnd::OnEventCollapse(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem,hSubItem,hFirstItem,hParentItem,hRootItem;\n\thItem = GetItem(0);\n\thRootItem=GetParentItem(hItem);\n\thFirstItem=GetScrStartItem();\n\thParentItem = GetParentItem(hFirstItem);\n\tif(hRootItem != hParentItem)\n\t\tEnableVisible(hParentItem,0);\n#if 1\n\twhile(hItem)\n\t{\n\t\thSubItem = GetItem(0,hItem);\n\t\tif(hSubItem)\n\t\t\tUnexpandItem(hItem);\n\t\thItem=GetNextItem(hItem);\n\t}\n#endif\n\tUpdate();\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnEventExpansion(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem,hSubItem;\n\thItem = GetItem(0);\n\twhile(hItem)\n\t{\n\t\thSubItem = GetItem(0,hItem);\n\t\tif(hSubItem)\n\t\t\tExpandItem(hItem);\n\t\thItem=GetNextItem(hItem);\n\t}\n\tUpdate();\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnEventAddWatch(IN WISP_MSG* pMsg)\n{\n\tSOURCE_WATCH_WND.AddWatchByName(m_ContextString);\n\treturn true;\n}\n\nbool CSourceCodeWnd::GetContextString()\n{\n\tchar NameBuffer[512];\n\tWISP_CHAR szTip[512];\n\tHANDLE hItem;\n\tWISP_RECT CellRect;\n\tWISP_PCSTR pStr;\n\tbool bRet=true,bPreId=false;\n\tint RetValue,LineLen,Col=1,PreState,CurrentIndex,BeginIdOffset=0,FirstIdPos,x,offset;\n\tCStrA OutBuffer;\n\tWISP_COLOR_CHAR*pCStr;\n\tchar* IdString;\n\tchar Buf[512];\n\tCItemList::IT ListIT;\n\tint NameBufferLen=sizeof(NameBuffer);\n\tPSDUDTDATAITEM pDataItem;\n\tDWORD ThisOffset=0,CurrentLineNum;\n\n\tm_ContextString.Empty();\n\tm_FullContextString.Empty();\n\tbool bIsFunc=false;\n\n\tPointToItem(m_RightButtonPoint,ListIT);\n\thItem = &*ListIT;\n\tif(hItem==NULL)\n\t\treturn true;\n\tGetItemCellRect(hItem,Col,&CellRect);\n\tif(m_RightButtonPoint.x < CellRect.x || m_RightButtonPoint.x > CellRect.x + CellRect.cx)\n\t\treturn false;\n\tTStrCpy(szTip,\"\");\n\tCurrentLineNum = (DWORD)GetItemData(hItem,1);\n\t\n\tx = m_RightButtonPoint.x-CellRect.x - m_TextMargin;\n\tpStr=GetItemText(hItem,Col);\n\toffset = m_ClientDC.PixelOffToTextOff(pStr,x);\n\tif(offset==-1)\n\t\treturn false;\n\tpCStr = (WISP_COLOR_CHAR*)GetColorString(pStr);\n\tTStrCpy(Buf,pCStr);\n\t\n\tmyinputptr=Buf;\n\tLineLen=TStrLen(Buf);\n\tmyinputlim=myinputptr+LineLen;\n\tCurrentIndex=0;\n\tRetValue=0;\n\tyyrestart(0);\n\tPreState=0;\n\tFirstIdPos = 0;\n\twhile(RetValue=yylex())\n\t{\n\t\tswitch(RetValue)\n\t\t{\n\t\tcase LEX_DOT:\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tcase LEX_ARROW:\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tcase LEX_IDENTIFIER:\n\t\t\tif(FirstIdPos==0)\n\t\t\t{\n\t\t\t\tFirstIdPos=CurrentIndex;\n\t\t\t}\n\t\t\tbPreId=true;\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbPreId=false;\n\t\t\tFirstIdPos=0;\n\t\t\tPreState=RetValue;\n\t\t}\n\t\tif(offset>=CurrentIndex&&offset<CurrentIndex+yyleng)\n\t\t{\n\t\t\tif(PreState!=LEX_IDENTIFIER)\n\t\t\t{\n\t\t\t\tbRet=false;\n\t\t\t\tgoto quit_001;\n\t\t\t}\n\t\t\t\n\t\t\tif(FirstIdPos!=CurrentIndex)\n\t\t\t{\n\t\t\t\tIdString=&Buf[FirstIdPos];\n\t\t\t\tBuf[CurrentIndex+yyleng]=0;\n\t\t\t\tpDataItem = m_pSDSModule->GetDataSymbolByString(IdString,m_CurrentFileID,CurrentLineNum,&bIsFunc,&ThisOffset);\n\t\t\t\tif(pDataItem==NULL)\n\t\t\t\t\treturn false;\n\t\t\t\tm_FullContextString=IdString;\n\t\t\t\tOutBuffer.Empty();\n\t\t\t\tif(!bIsFunc)\n\t\t\t\t{\n\t\t\t\t\tOutBuffer = m_pSDSModule->GetSDSymbolName(pDataItem->TypeId,NameBuffer,&NameBufferLen);\n\t\t\t\t\tOutBuffer+=\" \";\n\t\t\t\t\tif(pDataItem->TypeIdParentUDT)\n\t\t\t\t\t{\n\t\t\t\t\t\tPSDTYPE_INFILE pType = m_pSDSModule->GetTypeSymbol(pDataItem->TypeIdParentUDT);\n\t\t\t\t\t\tif(pType)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(pType->Type==SD_STRUCT||pType->Type==SD_CLASS||pType->Type==SD_UNION)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tOutBuffer+= m_pSDSModule->GetSDSymbolName(pDataItem->TypeIdParentUDT,NameBuffer,&NameBufferLen);\n\t\t\t\t\t\t\t\tOutBuffer+=\"::\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tOutBuffer+=pDataItem->uName.Name;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tbRet=false;\n\t\t\t\t\tgoto quit_001;\n\t\t\t\t}\n\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\tbRet=true;\n\t\t\t\tgoto quit_001;\n\t\t\t}\n\t\t\tPSDTYPE_INFILE pType;\n\t\t\tpType=m_pSDSModule->GetSymbolByName(yytext);\n\t\t\tif(pType==NULL)\n\t\t\t{\n\t\t\t\tif(GetVariable(yytext,hItem,OutBuffer)==true)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\t\tbRet=true;\n\t\t\t\t}else\n\t\t\t\t\tbRet=false;\n\t\t\t}\n\t\t\tgoto quit_001;\n\t\t}\n\t\tCurrentIndex+=yyleng;\n\t}\n\treturn false;\nquit_001:\t\n\tif(bRet)\n\t\tm_ContextString=yytext;\n\treturn bRet;\n}\n\nbool CSourceCodeWnd::OnEventGoToLine(IN WISP_MSG* pMsg)\n{\n\tint nLine;\n\tHANDLE hItem;\n\tCWispString szLine;\n\tWCHAR szStatic[64];\n\tTSPrintf(szStatic,WSTR(\"Line number (1 - %d):  \"),m_TxtFileLineNumber-1);\n\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\tszLine=WSTR(\"1\");\n\telse\n\t\tszLine.Format(WSTR(\"%d\"),(int)GetItemData(hItem,1));\n\tif(GetInputText(szLine,szStatic))\n\t{\n\t\tif(USDecStrToNum((PCWSTR)szLine,&nLine) && nLine>=1)\n\t\t{\n\t\t\thItem = GetItem(nLine-1);\n\t\t\tif(hItem)\n\t\t\t{\n\t\t\t\tEnableVisible(hItem);\n\t\t\t\tSelectItem(hItem);\n\t\t\t\tFocus();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nULPOS CSourceCodeWnd::GetItemAddress(HANDLE hItem)\n{\n\tULPOS Address;\n\tAddress = (ULPOS)GetItemData(hItem,1);\n\tif(GetItemLevel(hItem)==0)\n\t{\t//ѡԴϣAddressΪк\n\t\tLINENUMBERMAP::IT FindIT=m_LineMap.Find(Address);\n\t\tif(FindIT==m_LineMap.End())\n\t\t{\n\t\t\tPSDLINE pLine = m_pSDSModule->GetContiguityLineBySourceFileID(m_CurrentFileID,Address);\n\t\t\tif(pLine)\n\t\t\t\tAddress=pLine->Rva;\n\t\t\telse\n\t\t\t\tAddress=0;\n\t\t}\n\t\telse\n\t\t\tAddress = (*FindIT).pLine->Rva;\n\t}\n\treturn\tAddress;\t\n}\n\nbool CSourceCodeWnd::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tint Pos;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\tm_RightButtonPoint = pMsg->MsgMouseWndPT;\n\t\t\tm_RightButtonPoint = pMsg->MsgMouseCltPT;\n\t\t\tPointToItem(pMsg->MsgMouseCltPT,&Pos);\n\t\t\tif(Pos>LI_POS_CELL_AREA_START && Pos<LI_POS_CELL_AREA_END)\n\t\t\t\tPopupMenu(pMsg);//ڵһе˵\n\t\t\tbreak;\n\t\tcase WISP_VK_F7:\n\t\t\tOnEventGotoHere(NULL);\n\t\t\tbreak;\n\n\t\tcase WISP_VK_F9:\n\t\t\tOnEventToggleBreakPoint(NULL);\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CSourceCodeWnd::SyntaxColor(char* SourceCodeLine,WISP_COLOR_CHAR *szColorBuffer)\n{\n\tint RetValue;\n\tPSDTYPE_INFILE pType;\n\tPSDFUNCTIONITEM pFunc;\n\tint Count=0;\n\tmyinputptr=SourceCodeLine;\n\tmyinputlim=myinputptr+TStrLen(SourceCodeLine);\n\tColorStrCpy(szColorBuffer,\"\",CPLUSPLUS_UNKNOW,0);\n\tif(m_CommentState==false)\n\t\tyyrestart(0);\n\twhile(RetValue=yylex())\n\t{\n\t\t(*(int*)&Count)++;\n\t\tswitch(RetValue)\n\t\t{\n\t\tcase LEX_COMMENT_LINE:\n\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_COMMENT_LINE,0);\n\t\t\tbreak;\n\t\tcase LEX_COMMENT_BLOCK_BEGIN:\n\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_COMMENT_BLOCK,0);\n\t\t\tm_CommentState=true;\n\t\t\t//Count=0;\n\t\t\tbreak;\n\t\tcase LEX_COMMENT_BLOCK_END:\n\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_COMMENT_BLOCK,0);\n\t\t\tm_CommentState=false;\n\t\t\tbreak;\n\t\tcase LEX_IDENTIFIER:\n\t\t\t{\n\t\t\t\tpType = m_pSDSModule->GetSymbolByName(yytext);\n\t\t\t\tif(pType)\n\t\t\t\t{\n\t\t\t\t\tswitch(pType->Type)\n\t\t\t\t\t{\n\t\t\t\t\tcase SD_CLASS:\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_CLASS_NAME,0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SD_STRUCT:\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_STRUCT_NAME,0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SD_UNION:\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_UNION_NAME,0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SD_TYPEDEF:\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_TYPEDEF_NAME,0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_IDENTIFIER,0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpFunc = m_pSDSModule->GetFunctionSymbolByName(yytext);\n\t\t\t\t\tif(pFunc)\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_FUNCTION_NAME,0);\t\n\t\t\t\t\telse\n\t\t\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_IDENTIFIER,0);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LEX_ELLIPSIS:\n\t\tcase LEX_STRINGliteral:\n\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_STRING,0);\n\t\t\tbreak;\n\t\tcase LEX_INTEGERconstant:\n\t\tcase LEX_OCTALconstant:\n\t\tcase LEX_HEXconstant:\n\t\tcase LEX_FLOATINGconstant:\n\t\tcase LEX_CHARACTERconstant:\n\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_NUMERICAL,0);\n\t\t\tbreak;\n\t\t\n\t\tdefault:\n\t\t\tif(RetValue>=LEX___ABSTRACT && RetValue<=LEX_WHILE)\n\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_KEYWORD,0);\n\t\t\telse if(RetValue>=LEX_PRE_DEFINE && RetValue<=LEX_PRE_GRAMA)\n\t\t\t\tColorStrCat(szColorBuffer,yytext,CPRE_KEYWORD,0);\n\t\t\telse if(RetValue>=LEX_LP && RetValue<=LEX_ELLIPSIS)\n\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_OPERATION,0);\n\t\t\telse\n\t\t\t\tColorStrCat(szColorBuffer,yytext,CPLUSPLUS_UNKNOW,0);\n\t\t\t\n\t\t}\n\t}\n\tif(m_CommentState)\n\t{\n\t\tif(Count==0)\n\t\t{\n\t\t\tColorStrCpy(szColorBuffer,SourceCodeLine,CPLUSPLUS_COMMENT_BLOCK,0);\n\t\t}\n\t}\n}\n\nvoid CSourceCodeWnd::LoadSourceFile(char* Buffer,DWORD size,PSDSOURCEFILEID pSDSourceFileId)\n{\n\tHANDLE hItem;\n\tULPOS ModuleBase,Address,TmpRva;\n\tULSIZE ModuleSize,Count;\n\tBYTE CodeBuffer[50];\n\tchar szBuffer[256],*Name;\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tWCHAR LineNumberStr[20],*wNameBuf;\n\tint i,NameLen,CurrentLineLen,InstrLength;\n\tPSDLINE pLine;\n\tLINENUMBERMAP::IT FindIT;\n\tint CurLen=1000;\n\tm_pCodeDoc=&gpSyser->m_SyserUI.m_CodeDoc;\n\tif(m_FileOpen)\n\t\treturn;\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule)\n\t{\n\t\tModuleBase = pDbgModule->m_ModuleBase;\n\t\tModuleSize = pDbgModule->m_ModuleSize;\n\t}\n\telse\n\t{\n\t\tModuleBase = 0;\n\t\tModuleSize = 0;\n\t}\n\tm_CurrentFileID=pSDSourceFileId->FileID;\n\tm_FileOpen=true;\n\tm_TxtFile.Create((ULSIZE)size,(BYTE*)Buffer,false);\n\tm_TxtFile.Open(NULL,NULL,TXTFILE_OPEN_CONTAIN_NEWLINE|TXTFILE_OPEN_CONTAIN_LINEOFFSET);\n\tm_TxtFileLineNumber = m_TxtFile.m_StrList.Count();\n\tTTXTStrList::IT BeginIT,EndIT;\n\tBeginIT=m_TxtFile.m_StrList.Begin();\n\tEndIT=m_TxtFile.m_StrList.End();\n\twNameBuf=new WCHAR[CurLen];\n\tCount = m_pSDSModule->GetLineBySourceFileID(m_CurrentFileID,&m_LineMap);\n\tfor(i=1;BeginIT!=EndIT;BeginIT++,i++)\n\t{\n\t\tName = *BeginIT;\n\t\tSyntaxColor(Name,szColorBuffer);\n\t\tNameLen=TStrLen(Name)+1;\n\t\tif(NameLen>CurLen)\n\t\t{\n\t\t\tdelete []wNameBuf;\n\t\t\tCurLen = NameLen;\n\t\t\twNameBuf=new WCHAR[CurLen];\n\t\t}\n\t\tNameLen = AnsiToUnicode(Name,wNameBuf,NameLen);\n\t\tfor(int p=0;p<NameLen;p++)\n\t\t{\n\t\t\tszColorBuffer[p] = (szColorBuffer[p]&0xffff0000)|wNameBuf[p];\n\t\t\tif(wNameBuf[p]==0)\n\t\t\t\tszColorBuffer[p]=0;\n\t\t}\n\t\tuNumToStr(i,LineNumberStr,10);\n\t\thItem = InsertItem(LineNumberStr);\n\t\tSetItemData(hItem,0,CV_MARK_NULL);\n\t\tSetItemColorText(hItem,1,szColorBuffer);\n\t\tSetItemData(hItem,1,i);\n\t\tif(ModuleBase==0)\n\t\t\tcontinue;\n\t\tFindIT = m_LineMap.Find(i);\n\t\tif(FindIT==m_LineMap.End())\n\t\t\tcontinue;\t\t\t\t\n\t\tpLine = (*FindIT).pLine;\n\t\tif(pLine->Statement)\n\t\t{\n\t\t\tCurrentLineLen = pLine->Len;\n\t\t\tAddress = pLine->Rva+ModuleBase;\n\t\t\tTmpRva = pLine->Rva;\n\t\t\twhile(CurrentLineLen>0)\n\t\t\t{\n\t\t\t\tTSPrintf(szBuffer,\"%08x      \",Address);\n\t\t\t\tInstrLength = m_pCodeDoc->InstrLen(Address);\n\t\t\t\tif(InstrLength==0)\n\t\t\t\t\tInstrLength=1;\n\t\t\t\tm_pCodeDoc->ReadImage(Address,CodeBuffer,InstrLength);\n\t\t\t\tColorStrCpy(szColorBuffer,szBuffer,COLOR_ADDRESS,COLOR_BK);\n\t\t\t\tColorDasm(ModuleBase,Address,MAX_INSTR_LEN,&szColorBuffer[14]);\n\t\t\t\tHANDLE hSubItem = InsertItem(WSTR(\"\"),hItem);\n\t\t\t\tSetItemData(hSubItem,0,CV_MARK_NULL);\n\t\t\t\tSetItemColorText(hSubItem,1,szColorBuffer);\n\t\t\t\tSetItemData(hSubItem,1,TmpRva);\n\t\t\t\tCurrentLineLen-=InstrLength;\n\t\t\t\tAddress+=InstrLength;\n\t\t\t\tTmpRva+=InstrLength;\n\t\t\t}\n\t\t}\n\t}\n\tif(ModuleBase)\n\t\tm_CurModuleBase = ModuleBase;\n\tm_TxtFile.Close();\n\tdelete []wNameBuf;\n}\n\nint CSourceCodeWnd::GetSourceFileID()const\n{\n\treturn m_CurrentFileID;\n}\n\nCSDSModule*CSourceCodeWnd::GetSourceFileSymAnalyzer()const\n{\n\treturn m_pSDSModule;\n}\n\nWISP_COLOR_CHAR* CSourceCodeWnd::ColorDasm(DWORD ModuleBase,DWORD EIP,DWORD MaxSize,WISP_COLOR_CHAR*pColorString,DWORD nCodeAlgn)\n{\n\tDWORD\tLen;\n\tBYTE\tBuffer[64];\n\tWCHAR\tszBuffer[64];\n\tINSTRUCTION_INFORMATION DasmInstr;\n\tDasmInstr.CodeBuff = Buffer;\n\tDasmInstr.eip = EIP;\n\tDasmInstr.pasm = NULL;\n\tif(EIP<m_CurrentFunction.m_BeginAddress || EIP>=m_CurrentFunction.m_EndAddress)\n\t{\n\t\tPSDFUNCTIONITEM pFuncItem = m_pSDSModule->GetFunctionFromRav(EIP-ModuleBase);\n\t\tm_CurrentFunction.Init(m_pSDSModule,pFuncItem);\n\t}\n\tLen=m_pCodeDoc->Dasm(&DasmInstr,NULL,MaxSize);\n\tif(nCodeAlgn)\n\t{\n\t\tif(DasmInstr.OpCode==-1)\n\t\t{\n\t\t\tColorStrCpy(pColorString,WSTR(\"??\"),COLOR_IMMED,0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTHexBytesToStr(DasmInstr.CodeBuff,szBuffer,Len,1);\n\t\t\tColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t}\n\t\tpColorString+=TStrFillTail(pColorString,nCodeAlgn,(WISP_COLOR_CHAR)' ');\n\t}\n\tInstrToCS(&DasmInstr,pColorString);\n\treturn pColorString;\n}\n\nWISP_COLOR_CHAR*CSourceCodeWnd::InstrToCS(INSTRUCTION_INFORMATION*pDasmInstr,WISP_COLOR_CHAR*pColorString)\n{\n\tbool bFirstStr = TRUE;\n\t///////////////////////////////////////////////////\n\t//LOCKǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Lock!=-1)\n\t{\n\t\tColorStrCpy(pColorString,pDasmInstr->LockName,COLOR_PREFIX,0);\n\t\tColorStrCat(pColorString,\" \",0,0);\n\t\tif(bFirstStr)//ڴδʹö\n\t\t{\t\t\t\n\t\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpColorString+=TStrLen(pColorString);\n\t}\n\t///////////////////////////////////////////////////\n\t//REPǰ׺\n\t///////////////////////////////////////////////////\n\tif(pDasmInstr->Repeat!=-1)\n\t{\n\t\tColorStrCpy(pColorString,pDasmInstr->RepeatName,COLOR_PREFIX,0);\n\t\tColorStrCat(pColorString,\" \",0,0);\n\t\tif(bFirstStr)//ڴδʹö\n\t\t{\n\t\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\t\tbFirstStr = FALSE;\n\t\t}\n\t\telse\n\t\t\tpColorString+=TStrLen(pColorString);\n\t\tpColorString+=TStrLen(pColorString);\n\t}\n\t///////////////////////////////////////////////////\n\t//OPCODE\n\t///////////////////////////////////////////////////\n\tColorStrCpy(pColorString,pDasmInstr->Name,COLOR_OPCODE,0);\n\tColorStrCat(pColorString,\" \",0,0);\n\tif(*pDasmInstr->Name && bFirstStr)//ڴδʹö\n\t{\n\t\tpColorString+=TStrFillTail(pColorString,m_pCodeDoc->m_UxAlign,(WISP_COLOR_CHAR)' ');\n\t\tbFirstStr = FALSE;\n\t}\n\telse\n\t\tpColorString+=TStrLen(pColorString);\n\t///////////////////////////////////////////////////\n\t//Ԫ\n\t///////////////////////////////////////////////////\n\treturn OptItemToCS(pDasmInstr->op,3,pColorString,pDasmInstr,NULL);\n}\n\n\nWISP_COLOR_CHAR*CSourceCodeWnd::OptItemToCS(OPERAND_ITEM*OpArray,int nOp,WISP_COLOR_CHAR*pColorString,INSTRUCTION_INFORMATION*pDasmInstr,DIS_CPU*pCurrent_CPU)\n{\n\tDIS_ADDRESS*pAddr;\n\tOPERAND_ITEM*pOp;\n\tWCHAR szBuffer[32];\n\tbool bHasSymbols;\n\tfor(int n=0;n<nOp;n++)\n\t{\n\t\tpOp=&OpArray[n];\n\t\tif(pOp->mode==mode_invalid)\n\t\t\tbreak;\n\t\tif(n>0)\n\t\t{//\n\t\t\tpColorString+=ColorStrCpy(pColorString,\",\",COLOR_OPTR,0);\n\t\t}\n\t\tif(pOp->mode==mode_address)\n\t\t{//ַṹ\n\t\t\t\n\t\t\tpAddr=(DIS_ADDRESS*)&pOp->addr;\n\t\t\t//if(pDasmInstr->xxxxptr!=-1)\n\t\t\t{\n\t\t\t\t//pColorString+=ColorStrCpy(pColorString,\",\",COLOR_OPTR,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_SizeSym[pOp->opersize],COLOR_KEYWORD,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,\" PTR \",COLOR_KEYWORD,0);\n\t\t\t}\n\t\t\tif(pDasmInstr->SegmentPrefix!=-1)\n\t\t\t{\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_SegStr[pDasmInstr->SegmentPrefix],COLOR_SEG_REG,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,\":\",COLOR_OPTR,0);\n\t\t\t}\n\t\t\tpColorString+=ColorStrCpy(pColorString,\"[\",COLOR_OPTR,0);\n\t\t\tif(pAddr->base!=-1)//BaseĴ\n\t\t\t{\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->base],COLOR_REGISTER,0);\n\t\t\t}\n\t\t\tif(pAddr->index!=-1)//IndexĴ\n\t\t\t{\n\t\t\t\tif(pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"+\",COLOR_OPTR,0);\n\t\t\t\t}\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_RegStr[pAddr->address_size][pAddr->index],COLOR_REGISTER,0);\n\t\t\t\tif(pAddr->scale>=1)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"*\",COLOR_OPTR,0);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,CInstrSym::m_ScaleStr[pAddr->scale],COLOR_OPTR,0);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(pAddr->displacement || (pAddr->base==-1 && pAddr->index==-1))\n\t\t\t{//displacement\n\t\t\t\tbHasSymbols=false;\n\t\t\t\tif(pAddr->index!=-1 || pAddr->base!=-1)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"+\",COLOR_OPTR,0);\n\t\t\t\t}\n\t\t\t\tif(pAddr->index==-1&&pAddr->address_size==1&&pAddr->base==5)\n\t\t\t\t{\n\t\t\t\t\tchar* TempSymbol;\n\t\t\t\t\tTempSymbol = m_CurrentFunction.FindNameByRegisterOffset((DWORD)pAddr->displacement,pAddr->base,NULL);\n\t\t\t\t\tif(TempSymbol)\n\t\t\t\t\t{\n\t\t\t\t\t\tbHasSymbols=true;\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,TempSymbol,COLOR_SYMBOL,0);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(bHasSymbols==false)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pAddr->displacement_size],pAddr->displacement);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t}\n\t\t\t}\n\t\t\tpColorString+=ColorStrCpy(pColorString,\"]\",COLOR_OPTR,0);\n\t\t}\n\t\telse\n\t\t\tswitch(pOp->mode)\n\t\t{\n\t\t\tcase mode_register:\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_REGISTER,0);\n\t\t\t\tbreak;\n\t\t\tcase mode_segment:\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_SEG_REG,0);\n\t\t\t\tbreak;\n\t\t\tcase mode_far:\n\t\t\t\tTSPrintf(szBuffer,WSTR(\"%04X\"),pOp->farptr.segment);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,WSTR(\":\"),COLOR_OPTR,0);\n\t\t\t\tTSPrintf(szBuffer,CInstrSym::m_SizePtr[pOp->opersize-2],pOp->farptr.offset);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\tbreak;\n\t\t\tcase mode_near:\n\t\t\tcase mode_immed:\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->string,COLOR_IMMED,0);\n\t\t\t\tbreak;\n\t\t\tcase mode_datadup:\n\t\t\t\tif(n>0)\n\t\t\t\t\tbreak;\n\t\t\t\tfor(n=0;n<pOp->datadup.count;n++)\n\t\t\t\t{\n\t\t\t\t\tif(n>0)\n\t\t\t\t\t{\n\t\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\",\",COLOR_OPTR,0);\n\t\t\t\t\t}\n\t\t\t\t\tTSPrintf(szBuffer,WSTR(\"%02X\"),pOp->datadup.buffer[n]);\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase mode_symbol:\n\t\t\t\tif(pOp->symbol.offset)\n\t\t\t\t{\n\t\t\t\t\tpColorString+=ColorStrCpy(pColorString,\"OFFSET \",COLOR_KEYWORD,0);\n\t\t\t\t}\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,pOp->symbol.string,COLOR_SYMBOL,0);\n\t\t\t\tbreak;\n\t\t\tcase mode_align:\n\t\t\t\tif(n>0)\n\t\t\t\t\tbreak;\n\t\t\t\tTSPrintf(szBuffer,WSTR(\"%X\"),pOp->align.nBytes);\n\t\t\t\tpColorString+=ColorStrCpy(pColorString,szBuffer,COLOR_IMMED,0);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn pColorString;\n}\n\nvoid CSourceCodeWnd::LoadModuleImage()\n{\n\tULPOS ModuleBase;\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tchar szBuffer[256];\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tDWORD i = 1;\n\tSDLINELIST LineList;\n\tint CurrentLineLen,InstrLength;\n\tULPOS TmpRva,Address;\n\tSDLINELIST::IT LineBeginIT;\n\tPSDLINE pLine;\n\tif(m_FileOpen==false||m_pSDSModule==NULL)\n\t\treturn;\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tModuleBase=pDbgModule?pDbgModule->m_ModuleBase:0;\n\tHANDLE hItem,hSubItem;\n\tLINENUMBERMAP::IT FindIT;\n\thItem = GetFirstItem();\n\twhile(hItem)\n\t{\n\t\thSubItem = GetFirstItem(hItem);\n\t\tif(hSubItem)\n\t\t{\n\t\t\tif(ModuleBase && m_CurModuleBase == ModuleBase)\n\t\t\t\tbreak;\n\t\t\tClearChildItem(hItem);\n\t\t}\n\t\tif(ModuleBase)\n\t\t{\n\t\t\tFindIT = m_LineMap.Find(i);\n\t\t\tif(FindIT!=m_LineMap.End())\n\t\t\t{\n\t\t\t\tpLine = FindIT->pLine;\n\t\t\t\tCurrentLineLen = pLine->Len;\n\t\t\t\tAddress = pLine->Rva+ModuleBase;\n\t\t\t\tTmpRva=pLine->Rva;\n\t\t\t\twhile(CurrentLineLen>0)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(szBuffer,\"%08x      \",Address);\n\t\t\t\t\tInstrLength = m_pCodeDoc->InstrLen(Address);\n\t\t\t\t\tif(InstrLength==0)\n\t\t\t\t\t\tInstrLength=1;\n\t\t\t\t\tm_pCodeDoc->ReadImage(Address,CodeBuffer,InstrLength);\n\t\t\t\t\tColorStrCpy(szColorBuffer,szBuffer,COLOR_ADDRESS,COLOR_BK);\n\t\t\t\t\tColorDasm(ModuleBase,Address,MAX_INSTR_LEN,&szColorBuffer[14]);\n\t\t\t\t\tHANDLE hSubItem = InsertItem(WSTR(\"\"),hItem);\n\t\t\t\t\tSetItemColorText(hSubItem,1,szColorBuffer);\n\t\t\t\t\tSetItemData(hSubItem,1,TmpRva);\n\t\t\t\t\tSetItemData(hSubItem,0,CV_MARK_NULL);\n\t\t\t\t\tCurrentLineLen-=InstrLength;\n\t\t\t\t\tAddress+=InstrLength;\n\t\t\t\t\tTmpRva+=InstrLength;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tSetItemData(hItem,0,CV_MARK_NULL);\n\t\thItem = GetNextItem(hItem);\n\t\ti++;\n\t}\n\tif(ModuleBase && m_CurModuleBase!=ModuleBase)\n\t\tm_CurModuleBase = ModuleBase;\n}\n\nbool CSourceCodeWnd::UpdateView()\n{//EIPtrue\n\tif(m_FileOpen==false||m_pSDSModule==NULL)\n\t\treturn false;\n\tbool bContainEIP,bViewContainEIP;\n\tUINT Mark;\n\tDWORD LineNumber,LineCount=0;\n\tULPOS Rva,ModuleBase;\n\tPSDLINE pLine;\n\tLINENUMBERMAP::IT FindIT;\n\tHANDLE hSubItem,hItem;\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL && gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\n\tModuleBase = pDbgModule ? pDbgModule->m_ModuleBase : 0;\n\tbViewContainEIP = false;\n\tLineNumber = 1;\n\thItem = GetFirstItem();\n\twhile(hItem)\n\t{\n\t\tFindIT = m_LineMap.Find(LineNumber);\n\t\tif(!FindIT.IsExist())\n\t\t{//ûжӦ\n\t\t\tMark = CV_MARK_NULL;\n\t\t\tif(IsBookMark(LineNumber))\n\t\t\t\tMark|=CV_MARK_BOOK_MARK;\n\t\t\tSetItemData(hItem,0,Mark);\n\t\t\thItem=GetNextItem(hItem);\n\t\t\tLineNumber++;\n\t\t\tcontinue;\n\t\t}\n\t\t//жӦ\n\t\tpLine = (*FindIT).pLine;\n\t\tif(ModuleBase)\n\t\t{//ģ\n\t\t\tbContainEIP=false;\n\t\t\thSubItem = GetItem(0,hItem);\n\t\t\twhile(hSubItem)\n\t\t\t{\n\t\t\t\tRva=(DWORD)GetItemData(hSubItem,1);\n\t\t\t\tMark = m_pCodeDoc->GetLineMark(Rva+ModuleBase);\n\t\t\t\tif(Mark&CV_MARK_EIP)\n\t\t\t\t\tbContainEIP = true;\n\t\t\t\tSetItemData(hSubItem,0,Mark);\n\t\t\t\thSubItem=GetNextItem(hSubItem);\n\t\t\t}\n\t\t\tMark = m_pCodeDoc->GetLineMark(pLine->Rva+ModuleBase);\n\t\t\tif(bContainEIP)\n\t\t\t\tbViewContainEIP=true;\n\t\t\tif(bContainEIP)\n\t\t\t\tMark|=CV_MARK_EIP;\n\t\t\tif(IsBookMark(LineNumber))\n\t\t\t\tMark|=CV_MARK_BOOK_MARK;\n\t\t}\n\t\telse\n\t\t{//ģ鲻\n\t\t\tMark = CV_MARK_NULL;\n\t\t\tif(m_pSDSModule->m_BreakPointList.Count())\n\t\t\t{\n\t\t\t\tTList<ULPOS>::IT Iter = m_pSDSModule->m_BreakPointList.Find(pLine->Rva);\n\t\t\t\tif(Iter != m_pSDSModule->m_BreakPointList.End())\n\t\t\t\t\tMark|=CV_MARK_BPX;\n\t\t\t}\n\t\t\tif(IsBookMark(LineNumber))\n\t\t\t\tMark|=CV_MARK_BOOK_MARK;\n\t\t}\n\t\tSetItemData(hItem,0,Mark);\n\t\thItem=GetNextItem(hItem);\n\t\tLineNumber++;\n\t}\n\tUpdate();\n\treturn bViewContainEIP;\n}\n\nbool CSourceCodeWnd::GetStringValue(IN char* pString,IN int nLen,IN CStrA& OutBuffer)\n{\n\treturn true;\n}\nbool CSourceCodeWnd::ItemShowTipNotify(HANDLE hItem,int Col,int*pX,int*pY,WISP_PSTR szTip)\n{\n\tDWORD CurrentLineNum;\n\tWISP_RECT CellRect;\n\tWISP_PCSTR pStr;\n\tbool bRet=true;\n\tbool bPreId=false;\n\tint CurrentIndex;\n\tint BeginIdOffset=0;\n\tint RetValue;\n\tint LineLen;\n\tint PreState=0;\n\tCStrA OutBuffer;\n\tWISP_COLOR_CHAR*pCStr;\n\tint FirstIdPos;\n\tchar* IdString;\n\tchar Buf[512];\n\tint x,offset;\n\tif(Col!=1)\n\t\treturn false;\n\tTStrCpy(szTip,\"\");\n\tCurrentLineNum = (DWORD)GetItemData(hItem,1);\n\tGetItemCellRect(hItem,Col,&CellRect);\n\tx = m_pWispBase->m_MousePT.x - m_ScrClientRect.x-CellRect.x - m_TextMargin;\n\tpStr=GetItemText(hItem,Col);\n\toffset = m_ClientDC.PixelOffToTextOff(pStr,x);\n\tif(offset==-1)\n\t\treturn false;\n\tpCStr = (WISP_COLOR_CHAR*)GetColorString(pStr);\n\tTStrCpy(Buf,pCStr);\n\t*pX+=(x+10);\n\t*pY+=16;\n\tmyinputptr=Buf;\n\tLineLen=TStrLen(Buf);\n\tmyinputlim=myinputptr+LineLen;\n\tCurrentIndex=0;\n\tRetValue=0;\n\tyyrestart(0);\n\tPreState=0;\n\tFirstIdPos = 0;\n\twhile(RetValue=yylex())\n\t{\n\t\tswitch(RetValue) {\n\t\tcase LEX_DOT:\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tcase LEX_ARROW:\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tcase LEX_IDENTIFIER:\n\t\t\tif(FirstIdPos==0)\n\t\t\t{\n\t\t\t\tFirstIdPos=CurrentIndex;\n\t\t\t}\n\t\t\tbPreId=true;\n\t\t\tPreState=RetValue;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbPreId=false;\n\t\t\tFirstIdPos=0;\n\t\t\tPreState=RetValue;\n\t\t}\n\t\tif(offset>=CurrentIndex&&offset<CurrentIndex+yyleng)\n\t\t{\n\t\t\tif(PreState!=LEX_IDENTIFIER)\n\t\t\t{\n\t\t\t\tbRet=false;\n\t\t\t\tgoto quit_001;\n\t\t\t}\n\t\t\tif(FirstIdPos!=CurrentIndex)\n\t\t\t{\n\t\t\t\tchar NameBuffer[512];\n\t\t\t\tint NameBufferLen=sizeof(NameBuffer);\n\t\t\t\tPSDUDTDATAITEM pDataItem;\n\t\t\t\tDWORD ThisOffset=0;\n\t\t\t\tPSDFUNCTIONITEM pFuncItem;\n\t\t\t\tbool bIsFunc=false;\n\t\t\t\tIdString=&Buf[FirstIdPos];\n\t\t\t\tBuf[CurrentIndex+yyleng]=0;\n\t\t\t\tpDataItem = m_pSDSModule->GetDataSymbolByString(IdString,m_CurrentFileID,CurrentLineNum,&bIsFunc,&ThisOffset);\n\t\t\t\tif(pDataItem==NULL)\n\t\t\t\t\treturn false;\n\t\t\t\tOutBuffer.Empty();\n\t\t\t\tif(bIsFunc)\n\t\t\t\t{\n\t\t\t\t\tpFuncItem=(PSDFUNCTIONITEM)pDataItem;\n\t\t\t\t\tchar FuncName[512]={0};\n\t\t\t\t\tint FuncNameLen=sizeof(FuncName);\n\t\t\t\t\tm_pSDSModule->GetFunctionName(pFuncItem,FuncName,&FuncNameLen);\n\t\t\t\t\tOutBuffer=FuncName;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tOutBuffer = m_pSDSModule->GetSDSymbolName(pDataItem->TypeId,NameBuffer,&NameBufferLen);\n\t\t\t\t\tOutBuffer+=\" \";\n\t\t\t\t\tif(pDataItem->TypeIdParentUDT)\n\t\t\t\t\t{\n\t\t\t\t\t\tPSDTYPE_INFILE pType = m_pSDSModule->GetTypeSymbol(pDataItem->TypeIdParentUDT);\n\t\t\t\t\t\tif(pType)\n\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\tif(pType->Type==SD_STRUCT||pType->Type==SD_CLASS||pType->Type==SD_UNION)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tOutBuffer+= m_pSDSModule->GetSDSymbolName(pDataItem->TypeIdParentUDT,NameBuffer,&NameBufferLen);\n\t\t\t\t\t\t\t\tOutBuffer+=\"::\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tOutBuffer+=pDataItem->uName.Name;\n\t\t\t\t}\n\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\tbRet=true;\n\t\t\t\tgoto quit_001;\n\t\t\t}\n\t\t\tPSDTYPE_INFILE pType;\n\t\t\tpType=m_pSDSModule->GetSymbolByName(yytext);\n\t\t\tif(pType!=NULL)\n\t\t\t{\n\t\t\t\tswitch(pType->Type) {\n\t\t\t\tcase SD_TYPEDEF:\n\t\t\t\t\tOutBuffer.Empty();\n\t\t\t\t\tm_pSDSModule->DumpSDTypedefTypeToHeaderFile(pType,OutBuffer);\n\t\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SD_STRUCT:\n\t\t\t\t\tTStrCpy(szTip,\"struct \");\n\t\t\t\t\tTStrCat(szTip,yytext);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SD_CLASS:\n\t\t\t\t\tTStrCpy(szTip,\"class \");\n\t\t\t\t\tTStrCat(szTip,yytext);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SD_UNION:\n\t\t\t\t\tTStrCpy(szTip,\"union \");\n\t\t\t\t\tTStrCat(szTip,yytext);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SD_ENUMERATION:\n\t\t\t\t\tOutBuffer.Empty();\n\t\t\t\t\tm_pSDSModule->DumpSDEnumTypeToHeaderFile(pType,OutBuffer);\n\t\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t{\n\t\t\t\t\t\tif(GetVariable(yytext,hItem,OutBuffer)==true)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\t\t\t\tbRet=true;\n\t\t\t\t\t\t\tgoto quit_001;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbRet=false;\n\t\t\t\t\t\tgoto quit_001;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(GetVariable(yytext,hItem,OutBuffer)==true)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(szTip,(char*)OutBuffer);\n\t\t\t\t\tbRet=true;\n\t\t\t\t\tgoto quit_001;\n\t\t\t\t}else\n\t\t\t\t\tbRet=false;\n\t\t\t}\n\t\t\tgoto quit_001;\n\t\t}\n\t\tCurrentIndex+=yyleng;\n\t}\n\treturn true;\nquit_001:\n\treturn bRet;\n}\nbool CSourceCodeWnd::GetVariable(const char* Name,HANDLE hItem,CStrA& OutBuffer)\n{\n\tPSDTYPE_INFILE pType;\n\tbool bRet=false;\n\tchar NameBuffer[512];\n\tint NameBufferLen=sizeof(NameBuffer);\n\tSDLINELIST LineList;\n\tPSDFUNCTIONITEM pFuncItem;\n\tNUM_PTR LineNum = GetItemData(hItem,1);\n\tPSDLINE pLine=NULL;\n\tPSDUDTDATAITEM pDataItem;\n\tLINENUMBERMAP::IT FindIT;\n\tFindIT = m_LineMap.Find(*(DWORD*)&LineNum);\n\tif(FindIT==m_LineMap.End())\n\t{\n\t\tpLine = m_pSDSModule->GetContiguityLineBySourceFileID(m_CurrentFileID,*(DWORD*)&LineNum);\n\t}\n\telse\n\t\tpLine=(*FindIT).pLine;\t\n\tif(pLine)\n\t{\n\t\tpFuncItem = m_pSDSModule->GetFunctionFromRav(pLine->Rva);\n\t\tif(pFuncItem==NULL)\n\t\t\treturn bRet;\n\t\tif(pFuncItem!=m_CurrentFunction.m_pFunction)\n\t\t\tm_CurrentFunction.Init(m_pSDSModule,pFuncItem);\n\t\tpDataItem =m_CurrentFunction.GetDataSymbolByName((char*)Name);\n\t\tif(pDataItem)\n\t\t{\n\t\t\tOutBuffer = m_pSDSModule->GetSDSymbolName(pDataItem->TypeId,NameBuffer,&NameBufferLen);\n\t\t\tOutBuffer+=\" \";\n\t\t\tif(pDataItem->TypeIdParentUDT)\n\t\t\t{\n\t\t\t\tpType = m_pSDSModule->GetTypeSymbol(pDataItem->TypeIdParentUDT);\n\t\t\t\tif(pType)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tif(pType->Type==SD_STRUCT||pType->Type==SD_CLASS||pType->Type==SD_UNION)\n\t\t\t\t\t{\n\t\t\t\t\t\tOutBuffer+= m_pSDSModule->GetSDSymbolName(pDataItem->TypeIdParentUDT,NameBuffer,&NameBufferLen);\n\t\t\t\t\t\tOutBuffer+=\"::\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tOutBuffer+=pDataItem->uName.Name;\n\t\t\tbRet=true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpFuncItem = m_CurrentFunction.GetFunctionSymbolByName((char*)Name);\n\t\t\tif(pFuncItem)\n\t\t\t{\n\t\t\t\tchar FuncName[512]={0};\n\t\t\t\tint FuncNameLen=sizeof(FuncName);\n\t\t\t\tm_pSDSModule->GetFunctionName(pFuncItem,FuncName,&FuncNameLen);\n\t\t\t\tOutBuffer=FuncName;\n\t\t\t\tbRet=true;\n\t\t\t}\n\t\t}\n\t}\n\treturn bRet;\n}\n\nvoid CSourceCodeWnd::SetBeginLine(DWORD Rva)\n{\n\tDWORD LineRva;\n\tHANDLE hItem;\n\thItem = GetItem(NULL);\n\twhile(hItem)\n\t{\n\t\tLineRva = (DWORD)GetItemData(hItem,1);\n\t\tif(LineRva==Rva)\n\t\t\tbreak;\n\t\thItem = GetNextItem(hItem);\n\t}\n\tif(hItem)\n\t{\n\t\tif(IsItemVisible(hItem))\n\t\t\treturn;\n\t\tEnableVisible(hItem);\n\t\tSelectItem(hItem);\n\t}\n}\n\nbool CSourceCodeWnd::OnEventToggleBreakPoint(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tDWORD Address;\n\thItem =GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = GetItemAddress(hItem);\n\tif(Address == 0)\n\t\treturn true;\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL)\n\t{\n\t\tTList<ULPOS>::IT BPIter = m_pSDSModule->m_BreakPointList.Find(Address);\n\t\tif(BPIter==m_pSDSModule->m_BreakPointList.End())\n\t\t\tm_pSDSModule->m_BreakPointList.Append(Address);\n\t\telse\n\t\t\tm_pSDSModule->m_BreakPointList.Remove(BPIter);\n\t\tUpdateView();\n\t\treturn true;\n\t}\n\tAddress+=pDbgModule->m_ModuleBase;\n\tgpSyser->m_SyserUI.ToggleCodeBP(Address);\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnEventToggleBreakPointState(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = GetItemAddress(hItem);\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL)\n\t\treturn true;\n\tAddress+=pDbgModule->m_ModuleBase;\n\tgpSyser->m_SyserUI.ToggleCodeBPState(Address);\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnEventToggleBookMarks(IN WISP_MSG*pMsg)\n{\n\tToggleBookMark();\n\treturn true;\n}\n\n\nbool CSourceCodeWnd::OnEventSetEIP(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = GetItemAddress(hItem);\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL)\n\t\treturn true;\n\tAddress+=pDbgModule->m_ModuleBase;\n\t*X86_REG_PTR.pEIP=Address;\n\tgpSyser->m_pDebugger->SaveRegister();\n\tUPDATE_CONTEXT();\n\tUPDATE_SOURCE_CODE_VIEW();\n\treturn true;\n}\n\nbool CSourceCodeWnd::OnEventGotoHere(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tULPOS Address;\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = GetItemAddress(hItem);\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(m_pSDSModule->GetModuleID());\n\tif(pDbgModule==NULL)\n\t\treturn true;\n\tAddress+=pDbgModule->m_ModuleBase;\n\tgpSyser->m_pDebugger->InsertCodeBP(Address,BP_TYPE_DEBUG,BP_STATE_ENABLE);\n\tRUNCMD(WSTR(\"x\"));\n\treturn true;\n}\n\nvoid CSourceCodeWnd::ToggleBookMark()\n{\n\tHANDLE hItem;\n\tULONG iLine;\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn;\n\tif(GetItemLevel(hItem)==0)\n\t{\n\t\tiLine =(ULONG) GetItemData(hItem,1);\n\t}\n\telse\n\t{\t\t\n\t\thItem = GetParentItem(hItem);\n\t\tiLine= (ULONG) GetItemData(hItem,1);\n\t}\n\tTMap<ULONG,HANDLE>::IT Iter = m_BookMark.Find(iLine);\n\tif(Iter.IsExist())\n\t{\n\t\tm_BookMark.Remove(Iter);\n\t}\n\telse\n\t{\n\t\tm_BookMark.InsertUnique(iLine,hItem);\n\t}\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\tUpdateView();\n}\n\nbool CSourceCodeWnd::IsBookMark(ULONG iLine)\n{\n\treturn m_BookMark.Find(iLine)!=m_BookMark.End();\n}\n\nvoid CSourceCodeWnd::GotoNextBookMark()\n{\n\tULONG iLine;\n\tHANDLE hItem=GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\thItem = GetScrStartItem();\n\tif(hItem==NULL)\n\t\treturn;\n\tif(GetItemLevel(hItem)!=0)\n\t\thItem=GetParentItem(hItem);\n\tiLine = (ULONG)GetItemData(hItem,1);\n\tTMap<ULONG,HANDLE>::IT Iter=m_BookMark.FindAlmost(iLine);\n\tif(Iter.IsExist())\n\t\tIter++;\n\tif(Iter.IsExist()==false)\n\t\tIter = m_BookMark.Begin();\n\tif(Iter.IsExist())\n\t{\n\t\tEnableVisible(*Iter);\n\t\tSelectItem(*Iter);\n\t}\n}\n\nvoid CSourceCodeWnd::GotoPrevBookMark()\n{\n\tULONG iLine;\n\tHANDLE hItem=GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\thItem = GetScrStartItem();\n\tif(hItem==NULL)\n\t\treturn;\n\tif(GetItemLevel(hItem)!=0)\n\t\thItem=GetParentItem(hItem);\n\tiLine = (ULONG)GetItemData(hItem,1);\n\tTMap<ULONG,HANDLE>::IT Iter=m_BookMark.FindAlmost(iLine);\n\tif(Iter.IsExist() && GetFirstItem(NULL,WISP_WLIS_SELECTED) == *Iter)\n\t\tIter--;\n\tif(Iter.IsExist()==false)\n\t\tIter = m_BookMark.Last();\n\tif(Iter.IsExist())\n\t{\n\t\tEnableVisible(*Iter);\t\n\t\tSelectItem(*Iter);\n\t}\n}\n\nvoid CSourceCodeWnd::ClearAllBookMark()\n{\n\tm_BookMark.Clear();\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\tUpdateView();\n}\n\nint CCurrentFunction::m_GeneralRegisterIndexMap[8]=\n{\n\tCV_REG_EAX,\n\t\tCV_REG_ECX,\n\t\tCV_REG_EDX,\n\t\tCV_REG_EBX,\n\t\tCV_REG_ESP,\n\t\tCV_REG_EBP,\n\t\tCV_REG_ESI,\n\t\tCV_REG_EDI,\n};\n\nCCurrentFunction::CCurrentFunction()\n{\n\tm_BeginAddress=0;\n\tm_EndAddress=0;\n\tm_Size=0;\n\tm_pFunction=NULL;\n\tm_CurrentClass=NULL;\n\tm_pSDSModule=NULL;\n}\n\nCCurrentFunction::~CCurrentFunction()\n{\n\tm_ContextDataList.Clear();\n\tm_ContextFuncList.Clear();\n}\n\nvoid CCurrentFunction::Init(CSDSModule* pSDSModule,PSDFUNCTIONITEM pFuncItem)\n{\n\tif(pFuncItem==NULL)\n\t{\n\t\tm_BeginAddress=0;\n\t\tm_EndAddress=0;\n\t\tm_Size=0;\n\t\tm_pFunction=NULL;\n\t\tm_CurrentClass=NULL;\n\t\tm_ContextDataList.Clear();\n\t\tm_ContextFuncList.Clear();\n\t\tm_pSDSModule = pSDSModule;\n\t}\n\telse\n\t{\n\t\tm_pSDSModule = pSDSModule;\n\t\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(pSDSModule->m_ModuleFileName);\n\t\tif(pDbgModule)\n\t\t\tm_BeginAddress=pDbgModule->m_ModuleBase;\n\t\telse\n\t\t\tm_BeginAddress=0;\n\t\tm_EndAddress=m_BeginAddress+pFuncItem->Size;\n\t\tm_Size=pFuncItem->Size;\n\t\tm_pFunction=pFuncItem;\n\t\tInitVariableList();\n\t}\n}\nchar* CCurrentFunction::FindNameByRegisterOffset(IN DWORD Offset,IN DWORD RegIndex,PSDUDTDATAITEM* pUdtData)\n{\n\tCONTEXTDATALIST::IT BeginIT,EndIT;\n\tDWORD RegisterVal = m_GeneralRegisterIndexMap[RegIndex];\n\tPSDUDTDATAITEM pDataItem;\n\tif(pUdtData)\n\t\t*pUdtData=NULL;\n\tif(RegIndex>sizeof(m_GeneralRegisterIndexMap))\n\t\treturn NULL;\n\tBeginIT=m_ContextDataList.Begin();\n\tEndIT=m_ContextDataList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tpDataItem=*BeginIT;\n\t\tif(pDataItem->Location==LocIsRegRel&&pDataItem->u.LOCISREGREL.Register==RegisterVal&&Offset==pDataItem->u.LOCISREGREL.Offset)\n\t\t{\n\t\t\tif(pUdtData)\n\t\t\t\t*pUdtData=pDataItem;\n\t\t\treturn pDataItem->uName.Name;\n\t\t}\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CCurrentFunction::GetDataSymbolByName(char* Name,bool bCase)\n{\n\tif(Name==NULL)\n\t\treturn NULL;\n\tPSDUDTDATAITEM pDataItem;\n\tCONTEXTDATALIST::IT BeginIT,EndIT;\n\tBeginIT=m_ContextDataList.Begin();\n\tEndIT=m_ContextDataList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tpDataItem = *BeginIT;\n\t\tif(bCase)\n\t\t{\n\t\t\tif(TStrCmp(Name,pDataItem->uName.Name)==0)\n\t\t\t\treturn pDataItem;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrICmp(Name,pDataItem->uName.Name)==0)\n\t\t\t\treturn pDataItem;\n\t\t}\n\t}\n\tpDataItem=NULL;\n\tif(m_pFunction->TypeIDParentUDT)\n\t\tpDataItem = m_pSDSModule->GetUdtClassDataMemberByName(Name,m_pSDSModule->GetTypeSymbol(m_pFunction->TypeIDParentUDT));\n\tif(pDataItem==NULL)\n\t\tpDataItem = m_pSDSModule->GetDataSymbolByNameAndKind(Name,DataIsGlobal);\n\treturn pDataItem;\n}\nvoid CCurrentFunction::InitVariableList()\n{\n\tPSDUDTDATAITEM pDataItem;\n\tPSDTYPE_INFILE  pType;\n\tm_ContextDataList.Clear();\n\tDWORD i,j;\n\tfor(i = 0; i < m_pFunction->DataCounter; i++)\n\t{\n\t\tpDataItem = m_pSDSModule->GetDataSymbol(m_pFunction->pData.pDataMember[i]);\n\t\tif(pDataItem)\n\t\t\tm_ContextDataList.Append(pDataItem);\n\t}\n\tfor(i = 0; i < m_pFunction->BlockCounter; i++)\n\t{\n\t\tpType = m_pSDSModule->GetTypeSymbol(m_pFunction->pBlock.pBlockTypeIdArray[i]);\n\t\tPSDBLOCK pBlock = (PSDBLOCK)&pType[1];\n\t\tfor(j = 0; j < pBlock->DataCounter;j++)\n\t\t{\n\t\t\tpDataItem = m_pSDSModule->GetDataSymbol(pBlock->pDataMember[j]);\n\t\t\tif(pDataItem)\n\t\t\t\tm_ContextDataList.Append(pDataItem);\n\t\t}\n\t}\n\n\tpType = m_pSDSModule->GetTypeSymbol(m_pFunction->TypeIDParentUDT);\n\tif(pType!=m_CurrentClass&&pType)\n\t{\n\t\tm_ContextFuncList.Clear();\n\t\tAddUdtFuncMember(pType);\n\t\tm_CurrentClass=pType;\n\t}\n\treturn ;\n}\nvoid CCurrentFunction::AddUdtFuncMember(PSDTYPE_INFILE pType)\n{\n\tDWORD i;\n\tPSDFUNCTIONITEM pFuncItem;\n\tPSDUDTTYPE pUdtType;\n\tDWORD *pFuncIdArray;\n\tif(pType==NULL||(pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT&&pType->Type!=SD_UNION))\n\t\treturn;\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tif(pUdtType->FunctionCounter)\n\t{\n\t\tpFuncIdArray = pUdtType->pFunction.pFunctionMember;\n\t\tfor(i = 0; i < pUdtType->FunctionCounter;i++)\n\t\t{\n\t\t\tpFuncItem = m_pSDSModule->GetFunctionSymbol(pFuncIdArray[i]);\n\t\t\tif(pFuncItem)\n\t\t\t\tm_ContextFuncList.Append(pFuncItem);\n\t\t}\n\t}\n}\n\nvoid CCurrentFunction::AddUdtDataMember(PSDTYPE_INFILE pType)\n{\n\tDWORD i;\n\tPSDUDTDATAITEM pDataItem;\n\tPSDUDTTYPE pUdtType;\n\tDWORD *pDataIdArray;\n\tif(pType==NULL||(pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT&&pType->Type!=SD_UNION))\n\t\treturn;\n\tpUdtType =(PSDUDTTYPE) &pType[1];\n\tif(pUdtType->DataCounter)\n\t{\n\t\tpDataIdArray = pUdtType->pData.pDataMember;\n\t\tfor(i = 0; i < pUdtType->DataCounter;i++)\n\t\t{\n\t\t\tpDataItem = m_pSDSModule->GetDataSymbol(pDataIdArray[i]);\n\t\t\tif(pDataItem)\n\t\t\t\tm_ContextDataList.Append(pDataItem);\n\t\t}\n\t}\n}\n\nPSDFUNCTIONITEM CCurrentFunction::GetFunctionSymbolByName(char* Name,bool bCase)\n{\n\tPSDFUNCTIONITEM pFuncItem=NULL;\n\tif(m_pFunction->TypeIDParentUDT)\n\t\tpFuncItem = m_pSDSModule->GetUdtClassFuncMemberByName(Name,m_CurrentClass);\n\tif(pFuncItem==NULL)\n\t\tpFuncItem = m_pSDSModule->GetFunctionSymbolByName(Name);\n\treturn pFuncItem;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SourceCodeWnd.h",
    "content": "#ifndef _SOURCECODEWND_H_\n#define _SOURCECODEWND_H_\n\n#include \"SyserUI.h\"\n#include \"SyserSymAnalyzer.h\"\n\ntypedef TList<PSDUDTDATAITEM> CONTEXTDATALIST;\ntypedef TList<PSDFUNCTIONITEM> CONTEXTFUNCLIST;\n\nclass CCurrentFunction\n{\n\tstatic int m_GeneralRegisterIndexMap[8];\npublic:\n\tCCurrentFunction();\n\tvirtual ~CCurrentFunction();\n\tvoid Init(CSDSModule* pSDSModule,PSDFUNCTIONITEM pFuncItem=NULL);\n\tDWORD m_BeginAddress;\n\tDWORD m_EndAddress;\n\tDWORD m_Size;\n\tCSDSModule* m_pSDSModule;\n\tPSDFUNCTIONITEM m_pFunction; \n\tvoid InitVariableList();\n\tchar* FindNameByRegisterOffset(IN DWORD Offset,IN DWORD RegIndex=5,PSDUDTDATAITEM* pUdtData=NULL);\n\tCONTEXTDATALIST m_ContextDataList;\n\tCONTEXTFUNCLIST m_ContextFuncList;\n\tPSDTYPE_INFILE m_CurrentClass;\n\tvoid AddUdtDataMember(PSDTYPE_INFILE pType);\n\tvoid AddUdtFuncMember(PSDTYPE_INFILE pType);\n\tPSDUDTDATAITEM GetDataSymbolByName(char* Name,bool bCase=true);\n\tPSDFUNCTIONITEM GetFunctionSymbolByName(char* Name,bool bCase=true);\n};\n\n#define TXTFILE_OPEN_CONTAIN_NEWLINE\t\t0x1\t\t//еĩβ\n#define TXTFILE_OPEN_CONTAIN_LINEOFFSET\t\t0x2\t\t// m_LineOffsetLine Աбÿļеƫ\n\ntypedef TList<unsigned int>\t\tTTETLineOffsetList;\n\nclass CSrcTXTFile : public CTXTFile\n{\npublic:\n\tbool\tOpen(PCSTR FileName,HANDLE*pHandleOpen = NULL,UINT Style=0);\n\tTTETLineOffsetList m_LineOffsetLine;\n\tUINT\tm_TxtStyle;\n};\n\n\nclass CSourceCodeWnd:public CWispList\n{\n\tenum\n\t{\n\t\tCPLUSPLUS_KEYWORD = MAX_COLOR,\t//C++ Ĺؼ\n\t\tCPLUSPLUS_IDENTIFIER,\t\t\t//C++ġid\n\t\tCPRE_KEYWORD,\t\t\t\t\t//ԤĹؼ\n\t\tCPLUSPLUS_COMMENT_BLOCK,\t\t//עͿ Ҳǰ /*      */ мע\n\t\tCPLUSPLUS_COMMENT_LINE,\t\t\t//еע͡Ҳ // ʼע\n\t\tCPLUSPLUS_STRING,\n\t\tCPLUSPLUS_NUMERICAL,\n\t\tCPLUSPLUS_OPERATION,\n\t\tCPLUSPLUS_CLASS_NAME,\n\t\tCPLUSPLUS_STRUCT_NAME,\n\t\tCPLUSPLUS_UNION_NAME,\n\t\tCPLUSPLUS_TYPEDEF_NAME,\n\t\tCPLUSPLUS_FUNCTION_NAME,\n\t\tCPLUSPLUS_UNKNOW,\n\t\tSYNTAXCOLOR_MAX,\n\t};\n\tCOLORREF\tm_Color[SYNTAXCOLOR_MAX];\n\tCSrcTXTFile m_TxtFile;\n\tbool m_FileOpen;\n\tint m_TxtFileLineNumber;\n\tLINENUMBERMAP m_LineMap;\n\npublic:\n\tCSourceCodeWnd(void);\n\t~CSourceCodeWnd(void);\npublic:\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n\tvoid\tItemRClickNotify(HANDLE hItem,int Col);\n\tbool\tItemShowTipNotify(HANDLE hItem,int Col,int*pX,int*pY,WISP_PSTR szTip);\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventCollapse)\n\tDECLARE_WISP_MSG_EVENT(OnEventExpansion)\n\tDECLARE_WISP_MSG_EVENT(OnEventGoToLine)\n\tDECLARE_WISP_MSG_EVENT(OnEventAddWatch)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBreakPoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBreakPointState)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBookMarks);\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoHere)\n\tDECLARE_WISP_MSG_EVENT(OnEventSetEIP)\n\tWISP_COLOR_CHAR*ColorDasm(DWORD BaseAddress,DWORD EIP,DWORD MaxSize,WISP_COLOR_CHAR*pColorString,DWORD nCodeAlgn = 0);\n\tWISP_COLOR_CHAR*InstrToCS(OUT INSTRUCTION_INFORMATION*pDasmInstr,WISP_COLOR_CHAR*pColorString);//ɫ\n\tWISP_COLOR_CHAR*OptItemToCS(OPERAND_ITEM*OpArray,int nOp,WISP_COLOR_CHAR*pColorString,INSTRUCTION_INFORMATION*pDasmInstr,DIS_CPU*pCurrent_CPU);\n\tCSDSModule*\tGetSourceFileSymAnalyzer()const;\n\tULONGLONG\tGetBookMarkKey(HANDLE hItem);\n\tULPOS\tGetItemAddress(HANDLE hItem);\n\tbool\tUpdateView();//EIPtrue\n\tvoid\tLoadSourceFile(char* Buffer,DWORD size,PSDSOURCEFILEID pSDSourceFileId);\n\tint\t\tGetSourceFileID()const;\n\tbool\tGetVariable(const char* Name,HANDLE hItem,CStrA& OutBuffer);\n\tvoid\tLoadModuleImage();\n\tvoid\tSyntaxColor(char* SourceCodeLine,WISP_COLOR_CHAR* szColorBuffer);\n\tbool\tGetStringValue(IN char* pString,IN int nLen,OUT CStrA& OutBuffer);\n\tbool\tGetContextString();//Ҽʵʱµַ add watch Ĳ\n\tvoid\tSetBeginLine(DWORD Rva);\n\tvoid\tPopupMenu(IN WISP_MSG*pMsg);\n\t//BookMark\n\tbool\tIsBookMark(ULONG iLine);\n\tvoid\tToggleBookMark();\n\tvoid\tGotoNextBookMark();\n\tvoid\tGotoPrevBookMark();\n\tvoid\tClearAllBookMark();\n\tCCurrentFunction m_CurrentFunction;\n\tbool\t\t\tm_CommentState;\n\tDIS_CPU\t\t\tm_CurrentCpu;\n\tCSyserCodeDoc*\tm_pCodeDoc;\n\tCWispDIBList*\tm_StateDIBList;\n\tDWORD\t\t\tm_CurrentFileID;\n\tCSDSModule*\t\tm_pSDSModule;\n\tCWispMenu\t\tm_PopupMenu;\n\tWISP_POINT\t\tm_RightButtonPoint;\n\tTMap<ULONG,HANDLE> m_BookMark;\n\tULPOS\t\t\tm_CurModuleBase;\n\tCStrA m_ContextString;\n\tCStrA m_FullContextString;\n};\n#endif //_SOURCECODEWND_H_"
  },
  {
    "path": "Project/Syser/Source/SourceDebugClassView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SourceDebugClassView.h\"\n\nWISP_MENU_RES_ITEM SourceDebugClassViewMenu[]=\n{\n\t{WSTR(\"Find\"),EVENT_ID_SOURCEDEBUGCLASSVIEW_FIND,15*16+5},\n\tWISP_MENU_RES_END\n};\n\n\nWISP_MSG_MAP_BEGIN(CSourceDebugClassViewList) \n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CSourceDebugClassViewList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SOURCEDEBUGCLASSVIEW_FIND,OnFindDlg);\nWISP_MSG_EVENT_MAP_END\n\nbool CSourceDebugClassViewList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_F3)\n\t\t\treturn OnFindDlg(pMsg);\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\t\tm_PopupMenu.Popup();\n\t}\n\treturn true;\n}\nbool CSourceDebugClassViewList::OnFindDlg(IN WISP_MSG* pMsg)\n{\n\tm_FindDlg.CreateForm(NULL,WISP_SH_MODAL);\n\tm_FindDlg.SetContextList(this);\n\treturn true;\n}\nbool CSourceDebugClassViewList::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_PopupMenu.CreatePopupMenu(SourceDebugClassViewMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\treturn true;\n}\nvoid CSourceDebugClassViewList::FindItemByName(WCHAR* Name)\n{\n\tCWispString* pText;\n\tWCHAR* pTextName;\n\tif(Name==NULL)\n\t\treturn;\n\tif(m_CurrentFindItem==NULL)\n\t\tm_CurrentFindItem = GetItem(0);\n\tif(m_CurrentFindItem==NULL)\n\t\treturn;\n\tfor(;m_CurrentFindItem;)\n\t{\n\t\tpText = &GetItemText(m_CurrentFindItem);\n\t\tif(pText==NULL)\n\t\t\tcontinue;\n\t\tpTextName = *pText;\n\t\tif(TStrStr(pTextName,Name))\n\t\t{\n\t\t\tEnableVisible(m_CurrentFindItem,0);\n\t\t\tSelectItem(m_CurrentFindItem);\n\t\t\tm_CurrentFindItem = GetNextItem(m_CurrentFindItem);\n\t\t\tbreak;\n\t\t}\n\t\tm_CurrentFindItem = GetNextItem(m_CurrentFindItem);\n\t}\n\treturn;\n}\nenum CClassViewFindForm::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_FIND = WISP_ID_USER_START,\n\tCMD_ID_BUTTON_CLOSE,\n\tCMD_ID_EDIT_FINDTEXT,\n};\nWISP_FORM_RES_ITEM CClassViewFindForm::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,320,120},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Find\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tWSTR(\"Find\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,18,70,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Find what:  \"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{80,15,220,20},\n\t\tCMD_ID_EDIT_FINDTEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{54,50,78,21},\n\t\tCMD_ID_BUTTON_FIND,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Find Next\"),\n\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{186,50,78,21},\n\t\tWISP_ID_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Close\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CClassViewFindForm)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CClassViewFindForm)\nWISP_MSG_CMD_MAP(CMD_ID_EDIT_FINDTEXT,OnFindTextCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CClassViewFindForm)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_FIND,OnFindButtonEvent)\nWISP_MSG_EVENT_MAP_END\n\nCClassViewFindForm::CClassViewFindForm()\n{\n\tm_pFormRes = m_FormRes;\n}\nCClassViewFindForm::~CClassViewFindForm()\n{\n\n}\nbool CClassViewFindForm::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_FindButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_FIND);\n\tm_CloseButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_CLOSE);\n\tm_FindEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_FINDTEXT);\n\treturn true;\n}\nbool CClassViewFindForm::OnFindTextCmd(IN WISP_MSG* pMsg)\n{\n\tCWispString* FindText;\n\tswitch(pMsg->Command.CmdMsg) {\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\tif(pMsg->Command.Param1==WISP_VK_RETURN)\n\t\t{\n\t\t\tm_FindButton->Focus();\n\t\t\treturn OnFindButtonEvent(NULL);\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_EN_INPUT_KEY_UP:\n\t\tif(pMsg->Command.Param1==WISP_VK_RETURN)\n\t\t\treturn false;\n\t\tbreak;\n\tcase WISP_CMD_EN_CHANGED:\n\t\tFindText = &m_FindEdit->GetWindowText();\n\t\tm_FindButton->EnableWindow(FindText->IsEmpty()==false);\n\t\tm_FindButton->Update();\n\t\tbreak;\n\t}\n\treturn true;\n}\nbool CClassViewFindForm::OnFindButtonEvent(IN WISP_MSG* pMsg)\n{\n\tWCHAR* pFindText;\n\tif(m_pContextList==NULL)\n\t\treturn false;\n\tpFindText = m_FindEdit->GetWindowText();\n\tm_pContextList->FindItemByName(pFindText);\n\treturn true;\n}\nvoid CClassViewFindForm::SetContextList(CSourceDebugClassViewList* pContextList)\n{\n\tm_pContextList = pContextList;\n\treturn;\n}\nbool CClassViewFindForm::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tif(m_pContextList)\n\t\tm_pContextList->Focus();\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SourceDebugClassView.h",
    "content": "#ifndef _SOURCEDEBUGCLASSVIEW_H_\n#define _SOURCEDEBUGCLASSVIEW_H_\nclass CSourceDebugClassViewList;\nclass CClassViewFindForm : public CWispForm\n{\npublic:\n\tCClassViewFindForm();\n\t~CClassViewFindForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnFindTextCmd)\n\tDECLARE_WISP_MSG_EVENT(OnFindButtonEvent)\npublic:\n\tvoid SetContextList(CSourceDebugClassViewList* pContextList);\n\tvoid FindItemByName(WCHAR* Name);\n\tCWispButton* m_FindButton;\n\tCWispButton* m_CloseButton;\n\tCWispEdit* m_FindEdit;\n\tCSourceDebugClassViewList* m_pContextList;\t\n};\n\nclass CSourceDebugClassViewList : public CWispList\n{\npublic:\n\tCSourceDebugClassViewList(void){m_CurrentFindItem=NULL;};\n\tvirtual ~CSourceDebugClassViewList(void){}; \npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnFindDlg)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tvoid FindItemByName(WCHAR* Name);\n\tCClassViewFindForm m_FindDlg;\n\tCWispMenu m_PopupMenu;\n\tHANDLE m_CurrentFindItem;\n};\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SourceDebugFrameWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SourceDebugFrameWnd.h\"\n\n\nWISP_TOOLBAR_RES_ITEM SourceDebugToolbar[]=\n{\n\t{EVENT_ID_STEP,\t\t\t0,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Step\"),\t\t\t\t\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_PROCEED,\t\t1,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Proceed\"),\t\t\t\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_RETURN,\t\t2,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Return\"),\t\t\t\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_CONTINUE,\t\t3,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Continue\"),\t\t\t\t\t0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_BREAK_POINT,\t4,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Break point\")},\n\t{EVENT_ID_GOTOLINE,\t\t16*16+11,\tWISP_TBIS_BUTTON,WSTR(\"Go To Line Ctrl+G\"),\t\t\t0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_BOOKMARK_TOGGLE,\t13*16,\tWISP_TBIS_BUTTON,WSTR(\"Toggle BookMark Ctrl+K\"),\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_NEXT,\t13*16+1,WISP_TBIS_BUTTON,WSTR(\"Next BookMark Ctrl+N\"),\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_PREV,\t13*16+2,WISP_TBIS_BUTTON,WSTR(\"Previous BookMark Ctrl+P\"),\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_CLEAR,\t13*16+3,WISP_TBIS_BUTTON,WSTR(\"Clear BookMark Ctrl+L\"),\t\t0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_END\n};\n\nWISP_MENU_RES_ITEM SourceDebugMenu[]=\n{\n\t{WSTR(\"Continue      F5\"),\t\tEVENT_ID_CONTINUE,3,WISP_MIS_DISABLED},\n\t{WSTR(\"Return        F6\"),\t\tEVENT_ID_RETURN,2,WISP_MIS_DISABLED},\n\t{WSTR(\"Step          F8\"),\t\tEVENT_ID_STEP,0,WISP_MIS_DISABLED},\n\t{WSTR(\"Proceed       F10\"),\t\tEVENT_ID_PROCEED,1,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Break point   Ctrl+F9\"),\tEVENT_ID_BREAK_POINT,4},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM SourceDebugMonitorMenu[]=\n{\n\t{WSTR(\"Register View                 Alt+G\"),\t\tEVENT_ID_REG_VIEW,\t\t52},\n\t{WSTR(\"Data View                     Alt+D\"),\t\tEVENT_ID_DATA_VIEW_FORM,89},\n\t{WSTR(\"Call Stack                    Alt+C\"),\t\tEVENT_ID_CALL_STACK,\t18},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM SourceDebugViewMenu[]=\n{\n\t{WSTR(\"Toggle   BookMark    Ctrl+K\"),EVENT_ID_BOOKMARK_TOGGLE,13*16,WISP_MIS_DISABLED},\n\t{WSTR(\"Next     BookMark    Ctrl+N\"),EVENT_ID_BOOKMARK_NEXT,13*16+1,WISP_MIS_DISABLED},\n\t{WSTR(\"Previous BookMark    Ctrl+P\"),EVENT_ID_BOOKMARK_PREV,13*16+2,WISP_MIS_DISABLED},\n\t{WSTR(\"Clear    BookMark    Ctrl+L\"),EVENT_ID_BOOKMARK_CLEAR,13*16+3,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Go To Line           Ctrl+G\"),EVENT_ID_GOTOLINE,16*16+11,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM SourceMenu[]=\n{\n\t{WSTR(\"Debug\"),0,57,WISP_MIS_POPUP,SourceDebugMenu},\n\t{WSTR(\"Monitor\"),0,53,WISP_MIS_POPUP,SourceDebugMonitorMenu},\n\t{WSTR(\"View\"),0,126,WISP_MIS_POPUP,SourceDebugViewMenu},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CSourceDebugFrameWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispSplitWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CSourceDebugFrameWnd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSourceDebugFrameWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REG_VIEW,OnEventRegView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATA_VIEW_FORM,OnEventDataViewForm)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CALL_STACK,OnEventCallStack)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GOTOLINE,OnEventGoToLine)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STEP,OnEventStep)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PROCEED,OnEventProceed)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RETURN,OnEventReturn)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CONTINUE,OnEventContinue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BREAK_POINT,OnEventBreakPoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_TOGGLE,OnEventToggleBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_NEXT,OnEventNextBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_PREV,OnEventPrevBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_CLEAR,OnEventClearBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SDS_MODULE_LIST,OnHotKeyEventSDSModule)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_WATCH_LIST,OnHotKeyEventWatchList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CONSOLE_VIEW,OnHotKeyEventConsole)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_DEBUG,\t\t\tOnHotKeyEventMenuDebug)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_VIEW,\t\t\tOnHotKeyEventMenuView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_MONITOR,\t\tOnHotKeyEventMenuMonitor)\nWISP_MSG_EVENT_MAP_END\n\nCSourceDebugFrameWnd::CSourceDebugFrameWnd(void)\n{\n}\n\nCSourceDebugFrameWnd::~CSourceDebugFrameWnd(void)\n{\n}\n\nbool CSourceDebugFrameWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_IconDIBList.Load(\"\\\\SyserIcon\\\\SourceCodeIcon.bmp\",16,16,80);\n\n\tm_WndMenu.CreateWndMenu(this,WISP_ID_MAIN_MENU,SourceMenu,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_WndMenu.SetOwner(this);\n\tm_Toolbar.CreateEx(this,m_WndMenu.m_WindowRect.cy,-1,WISP_ID_MAIN_TOOLBAR,WISP_WS_NULL);\n\tm_Toolbar.LoadToolbar(WispTKDIBList(\"\\\\Toolbar.bmp\",16,16),SourceDebugToolbar);\n\tm_Toolbar.SetOwner(this);\n\tint MenuToolbarHeight = m_Toolbar.m_WindowRect.cy+m_WndMenu.m_WindowRect.cy;\n\tif(m_VertSplitWnd.Create(NULL,0,MenuToolbarHeight,m_ClientRect.cx,m_ClientRect.cy-MenuToolbarHeight,this,CMD_ID_SOURCE_VERT_SPLIT,WISP_SWS_VERT)==false)\n\t\treturn false;\n\tif(m_HorzSplitWnd.Create(NULL,0,0,0,0,&m_VertSplitWnd,CMD_ID_SOURCE_HORZ_SPLIT,WISP_SWS_HORZ)==false)\n\t\treturn false;\n\tm_ExplorerTabWnd.Create(NULL,0,0,0,0,&m_HorzSplitWnd,0,WISP_TWS_BUTTOM);\n\tm_MultiSourceCodeView.Create(NULL,0,0,0,0,&m_HorzSplitWnd,WND_CHILD_SOURCEFILETABWND,WISP_TWS_CLOSE_BT);\n\tm_SDSModuleList.Create(NULL,0,0,0,0,&m_ExplorerTabWnd,WND_CHILD_SDS_MODULE_LIST,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT);\n\tm_ExplorerTabWnd.InsertWnd(WSTR(\"SDS Modules ALT+S\"),&m_SDSModuleList,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,13*16+5));\n\t\n\tm_HorzSplitWnd.InsertWnd(&m_MultiSourceCodeView,0,m_ClientRect.cx/3*2);\n\tm_HorzSplitWnd.InsertWnd(&m_ExplorerTabWnd,0,m_ClientRect.cx/3*1);\n\tm_HorzSplitWnd.AdjustWndPos();\n\n\tm_MonitorTabWnd.Create(NULL,0,0,0,0,&m_VertSplitWnd,0,WISP_TWS_TOP);\n\tm_SourceVariableWatchWnd.Create(NULL,0,0,0,0,&m_MonitorTabWnd,WND_CHILD_SOURCE_CODE_WATCH_LIST,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT);\n\tif(m_TerminalWnd.Create(NULL,CWispRect(0,0,0,0),&m_MonitorTabWnd,CMD_ID_TERMINAL_WND,WISP_WS_NULL)==false)\n\t\treturn false;\n\tm_TerminalWnd.AttachConsole(&gpSyser->m_MainFrame.m_ConsoleWnd);\n\tm_MonitorTabWnd.InsertWnd(WSTR(\"Watch ALT+W\"),&m_SourceVariableWatchWnd,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,53));\n\tm_MonitorTabWnd.InsertWnd(WSTR(\"Console F1\"),&m_TerminalWnd,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,63));\n\n\tm_VertSplitWnd.InsertWnd(&m_HorzSplitWnd,0,m_ClientRect.cy-200);\n\tm_VertSplitWnd.InsertWnd(&m_MonitorTabWnd,0,200);\n\tm_VertSplitWnd.AdjustWndPos();\n\n\tgpSyser->AttachHotKey(EVENT_ID_CONTINUE,this);\n\tgpSyser->AttachHotKey(EVENT_ID_STEP,this);\n\tgpSyser->AttachHotKey(EVENT_ID_PROCEED,this);\n\tgpSyser->AttachHotKey(EVENT_ID_STEP_BRANCH,this);\n\tgpSyser->AttachHotKey(EVENT_ID_RETURN,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_TOGGLE,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_NEXT,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_PREV,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_CLEAR,this);\n\n\tRegisterHotKey(EVENT_ID_SDS_MODULE_LIST,WISP_VK_S,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_WATCH_LIST,WISP_VK_W,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_CONSOLE_VIEW,WISP_VK_F1,0);\n\tRegisterHotKey(EVENT_ID_GOTOLINE,WISP_VK_G,WISP_MOD_CTRL);\n\n\tRegisterHotKey(EVENT_ID_MENU_DEBUG,WISP_VK_D,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_MONITOR,WISP_VK_M,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_VIEW,WISP_VK_V,WISP_MOD_ALT);\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnHotKeyEventMenuDebug(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Debug\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSourceDebugFrameWnd::OnHotKeyEventMenuView(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"View\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSourceDebugFrameWnd::OnHotKeyEventMenuMonitor(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Monitor\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnHotKeyEventSDSModule(IN WISP_MSG* pMsg)\n{\n\tm_SDSModuleList.Focus();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnHotKeyEventWatchList(IN WISP_MSG* pMsg)\n{\n\tm_MonitorTabWnd.SetActiveWnd(0);\n\tm_SourceVariableWatchWnd.Focus();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnHotKeyEventConsole(IN WISP_MSG* pMsg)\n{\n\tm_MonitorTabWnd.SetActiveWnd(1);\t\n\tm_TerminalWnd.Focus();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventDataViewForm(IN WISP_MSG* pMsg)\n{\t\n\tgpSyser->m_MainFrame.m_SystemExplorer.OnEventDataViewForm(pMsg);\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventRegView(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.m_SystemExplorer.OnEventRegView(pMsg);\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_IconDIBList.Destroy();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_Toolbar.Resize(pMsg->Resize.NewSize.cx,m_Toolbar.m_WindowRect.cy);\n\tm_VertSplitWnd.Resize(m_ClientRect.cx,m_ClientRect.cy-m_Toolbar.m_WindowRect.cy-m_WndMenu.m_WindowRect.cy);\n\tAdjustSplitViewSize();\n\treturn true;\n}\n\n\nvoid CSourceDebugFrameWnd::AdjustSplitViewSize()\n{\n\tm_VertSplitWnd.ResizeWndSpace(0,m_ClientRect.cy*7/10);\n\tm_VertSplitWnd.AdjustWndPos();\n\tm_HorzSplitWnd.ResizeWndSpace(0,m_ClientRect.cx*7/10);\n\tm_HorzSplitWnd.AdjustWndPos();\n}\n\n\nbool CSourceDebugFrameWnd::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tCWispWnd*pActiveWnd = m_MultiSourceCodeView.GetActiveWnd();\n\tif(pActiveWnd)\n\t{\n\t\tpActiveWnd->Focus();\n\t\treturn false;\n\t}\n\treturn true;\t\n}\n\nvoid CSourceDebugFrameWnd::UpdateAllView(bool bShowEIPDoc)\n{\n\tif(bShowEIPDoc)\n\t{\n\t\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(*X86_REG_PTR.pEIP);\n\t\tif(pSDSModule)\n\t\t{\n\t\t\tm_SDSModuleList.SetActiveModule(pSDSModule);\n\t\t\tSDLINELIST LineList;\n\t\t\tif(pSDSModule->GetLineFromRva(*X86_REG_PTR.pEIP-pSDSModule->m_pCurDbgModule->m_ModuleBase,&LineList))\n\t\t\t\tShowSourceFile(pSDSModule,(*LineList[0])->FileID,(*LineList[0])->LineNumber);\n\t\t}\n\t}\n\tm_MultiSourceCodeView.UpdateAllView();\n\tm_SourceVariableWatchWnd.UpdateContext();\n}\n\nbool CSourceDebugFrameWnd::OnEventBreakPoint(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_BreakPointForm.Popup();\n\tif(pMsg->Command.CmdMsg == WISP_CMD_HOTKEY)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventCallStack(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_CallStackWnd.Popup();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventGoToLine(IN WISP_MSG* pMsg)\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*)m_MultiSourceCodeView.GetActiveWnd();\n\tif(pSourceCodeWnd)\n\t{\n\t\treturn pSourceCodeWnd->OnEventGoToLine(pMsg);\n\t}\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventStep(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"st\"));\n\treturn false;\n}\n\nbool CSourceDebugFrameWnd::OnEventProceed(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"sp\"));\n\treturn false;\n}\n\nbool CSourceDebugFrameWnd::OnEventReturn(IN WISP_MSG*pMsg)\n{\t\n\tRUNCMD(WSTR(\"p ret\"));\n\treturn false;\n}\n\nbool CSourceDebugFrameWnd::OnEventContinue(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"x\"));\n\treturn false;\n}\n\nCSourceCodeWnd* CSourceDebugFrameWnd::ShowSourceFile(CSDSModule*pSDSModule,DWORD FileID,DWORD LineNum)\n{\n\tWCHAR Name[MAX_FN_LEN];\n\tPSDSOURCEFILEID pSDSourceFileId;\n\tSOURCE_CODE_WND_ID SourceFileID;\n\tSourceFileID.FileID = FileID;\n\tSourceFileID.pSDSModule = pSDSModule;\n\tTSet<SOURCE_CODE_WND_ID>::IT Iter = m_MultiSourceCodeView.m_OpenedSourceCodeWnd.Find(SourceFileID);\n\tif(Iter.IsExist())\n\t{\n\t\tif(Iter->pSourceCodeWnd)\n\t\t\tm_MultiSourceCodeView.ChangeActiveWnd(Iter->pSourceCodeWnd);\n\t\tIter->pSourceCodeWnd->SetBeginLine(LineNum);\n\t\tIter->pSourceCodeWnd->LoadModuleImage();\n\t\tif(Iter->pSourceCodeWnd->UpdateView() && SyserOption.iFollowMode==SYSER_FM_AUTOMATIC)\n\t\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t}\n\telse\n\t{\n\t\tpSDSourceFileId = pSDSModule->GetSourceFileByID(FileID);\n\t\tif(pSDSourceFileId->FileLen==0)\n\t\t\treturn NULL;\n\t\tIter = m_MultiSourceCodeView.m_OpenedSourceCodeWnd.Insert(SourceFileID);\n\t\tif(Iter.IsExist()==false)\n\t\t\treturn NULL;\n\t\tIter->pSourceCodeWnd = new CSourceCodeWnd;\n\t\tIter->pSourceCodeWnd->m_pSDSModule = pSDSModule;\n\t\tIter->pSourceCodeWnd->m_CurrentFileID = FileID;\n\t\tIter->pSourceCodeWnd->Create(NULL,0,0,0,0,&m_MultiSourceCodeView,WISP_WM_USER_START+FileID,WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS);\n\t\tIter->pSourceCodeWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\tTStrCpy(Name,TGetFileName(pSDSourceFileId->uName.Name));\n\t\tm_MultiSourceCodeView.InsertWnd(Name,Iter->pSourceCodeWnd);\n\t\tIter->pSourceCodeWnd->LoadSourceFile(*(char**)&pSDSourceFileId->OffsetAtFile,pSDSourceFileId->FileLen,pSDSourceFileId);\n\t\tm_MultiSourceCodeView.ChangeActiveWnd(Iter->pSourceCodeWnd);\n\t\tIter->pSourceCodeWnd->SetBeginLine(LineNum);\n\t\tif(Iter->pSourceCodeWnd->UpdateView() && SyserOption.iFollowMode==SYSER_FM_AUTOMATIC)\n\t\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SOURCE_EXPLORER_VIEW);\n\t}\n\tUpdate();\n\treturn Iter->pSourceCodeWnd;\n}\n\nbool CSourceDebugFrameWnd::OnEventToggleBookMark(IN WISP_MSG*pMsg)\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*) m_MultiSourceCodeView.GetActiveWnd();\n\tif(pSourceCodeWnd)\n\t\tpSourceCodeWnd->ToggleBookMark();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventNextBookMark(IN WISP_MSG*pMsg)\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*) m_MultiSourceCodeView.GetActiveWnd();\n\tif(pSourceCodeWnd)\n\t\tpSourceCodeWnd->GotoNextBookMark();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventPrevBookMark(IN WISP_MSG*pMsg)\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*) m_MultiSourceCodeView.GetActiveWnd();\n\tif(pSourceCodeWnd)\n\t\tpSourceCodeWnd->GotoPrevBookMark();\n\treturn true;\n}\n\nbool CSourceDebugFrameWnd::OnEventClearBookMark(IN WISP_MSG*pMsg)\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*) m_MultiSourceCodeView.GetActiveWnd();\n\tif(pSourceCodeWnd)\n\t\tpSourceCodeWnd->ClearAllBookMark();\n\treturn true;\n}\n\nvoid CSourceDebugFrameWnd::UpdateItemState()\n{\n\tCSourceCodeWnd*pSourceCodeWnd = (CSourceCodeWnd*)m_MultiSourceCodeView.GetActiveWnd();\n\tbool bState;\n\tbState = pSourceCodeWnd!=NULL;\n\tm_WndMenu.EnableItem(EVENT_ID_GOTOLINE,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_GOTOLINE,bState);\n\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_TOGGLE,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_TOGGLE,bState);\n\n\tbState = pSourceCodeWnd?pSourceCodeWnd->m_BookMark.Count()>0:false;\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_NEXT,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_NEXT,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_PREV,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_PREV,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_CLEAR,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_CLEAR,bState);\n\n\tbState = gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_WndMenu.EnableItem(EVENT_ID_STEP,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_STEP,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_PROCEED,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_PROCEED,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_RETURN,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_RETURN,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_CONTINUE,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_CONTINUE,bState);\n\n\tm_Toolbar.Update();\n}\n\nvoid CSourceDebugFrameWnd::UnloadSDSModule(CSDSModule*pSDSModule)\n{\t\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tm_SourceVariableWatchWnd.UnloadSDSModule(pSDSModule);\t\n}"
  },
  {
    "path": "Project/Syser/Source/SourceDebugFrameWnd.h",
    "content": "#ifndef _SOURCEDEBUGFRAMEWND_H_\n#define _SOURCEDEBUGFRAMEWND_H_\n\n#include \"SyserSymAnalyzer.h\"\n#include \"MultiSourceCodeView.h\"\n#include \"SourceDebugClassView.h\"\n#include \"ObjFileView.h\"\n#include \"SDSModuleList.h\"\n#include \"SourceCodeWatchList.h\"\n#include \"TypeViewerWnd.h\"\n\nclass CSourceDebugFrameWnd : public CWispSplitWnd\n{\n\tenum SOURCEDEBUGMAINWNDCHILD\n\t{\n\t\tWND_CHILD_FILELISTEXPLORER=WISP_WM_USER_START+200,\n\t\tWND_CHILD_FUNCTIONEXPLORER,\n\t\tWND_CHILD_IMPORTTABLEVIEW,\n\t\tWND_CHILD_EXPORTTABLEVIEW,\n\t\tWND_CHILD_WATCHEXPLORER,\n\t\tWND_CHILD_SOURCEFILETABWND,\n\t\tWND_CHILD_SOURCECODEWND,\n\t\tWND_CHILD_SDS_MODULE_LIST,\n\t\tWND_CHILD_SOURCE_CODE_WATCH_LIST,\n\t};\npublic:\n\tCSDSModuleList\t\t\tm_SDSModuleList;\n\tCWispTabWnd\t\t\t\tm_ExplorerTabWnd;\n\tCWispTabWnd\t\t\t\tm_MonitorTabWnd;\n\tCTerminalWnd\t\t\tm_TerminalWnd;\n\tCMultiSourceCodeView\tm_MultiSourceCodeView;\n\tCTypeViewerWnd\t\t\tm_SourceVariableWatchWnd;\n\tCWispToolbar\t\t\tm_Toolbar;\n\tCMoveFramMenu\t\t\tm_WndMenu;\n\tCWispSplitWnd\t\t\tm_HorzSplitWnd;\n\tCWispSplitWnd\t\t\tm_VertSplitWnd;\n\tCWispDIBList\t\t\tm_IconDIBList;\n\tCSourceDebugFrameWnd();\n\t~CSourceDebugFrameWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventBreakPoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventDataViewForm)\n\tDECLARE_WISP_MSG_EVENT(OnEventRegView)\n\tDECLARE_WISP_MSG_EVENT(OnEventCallStack)\n\tDECLARE_WISP_MSG_EVENT(OnEventGoToLine)\n\tDECLARE_WISP_MSG_EVENT(OnEventContinue)\n\tDECLARE_WISP_MSG_EVENT(OnEventStep)\n\tDECLARE_WISP_MSG_EVENT(OnEventProceed)\n\tDECLARE_WISP_MSG_EVENT(OnEventReturn)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventNextBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventPrevBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventClearBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventSDSModule);\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventWatchList);\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventConsole);\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuDebug)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuView)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuMonitor)\n\tvoid\tAdjustSplitViewSize();\n\tvoid\tUpdateItemState();\n\tvoid\tUpdateAllView(bool bShowEIPDoc = false);\n\tvoid\tUnloadSDSModule(CSDSModule*pSDSModule);\n\tCSourceCodeWnd* ShowSourceFile(CSDSModule*pSDSModule,DWORD FileID,DWORD LineNum);\n};\n\n#endif // _SOURCEDEBUGFRAMEWND_H_ \n"
  },
  {
    "path": "Project/Syser/Source/SourceDebugStartPage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SourceDebugStartPage.h\"\n#include \"MultiSourceCodeView.h\"\n#ifndef CODE_OS_NT_DRV\n#include \"SyserApp.h\"\n#else\n#include \"SyserNTDrvApp.h\"\n#endif\n\n\nWISP_MSG_MAP_BEGIN(CSourceDebugStartPageWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CSourceDebugStartPageWnd)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CSourceDebugStartPageWnd)\n\tWISP_MSG_CMD_MAP(SYMBOLMODULE_CHILD_WND_ID,OnSelectSymbolModule)\nWISP_MSG_CMD_MAP_END\n\nCSourceDebugStartPageWnd::CSourceDebugStartPageWnd()\n{\n}\n\nCSourceDebugStartPageWnd::~CSourceDebugStartPageWnd()\n{\n}\n\nbool CSourceDebugStartPageWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tSetBGColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_WHITE]);\n\tWISP_RECT rc={21,80,474,410};\n\tm_SymbolModuleList.Create(WSTR(\"\"),&rc,this,SYMBOLMODULE_CHILD_WND_ID,WISP_WS_NULL|WISP_WLS_EMPTY_SEL_RECT);\n\tm_SymbolModuleList.InsertColumn(WSTR(\"\"),200);\n\treturn true;\n}\n\n\nbool CSourceDebugStartPageWnd::OnUpdateClient(IN WISP_MSG* pMsg)\n{\n\tint i = 0;\n\tWISP_RECT rc={20,40,225,16},TextRC={25,80,340,20};\n\tCWispWnd::OnUpdateClient(pMsg);\n\t\n\tm_ClientDC.DrawShadowString(&rc,WSTR(\"Select an exist symbol module\"),1);\n\trc.y=60;rc.cx=476,rc.cy = m_ClientRect.cy - 60 - 40;\n\tif(rc.cy < 40)\n\t\trc.cy=40;\n\tm_ClientDC.DrawRect(&rc,RGB(192,192,192));\n\trc.x++,rc.cx-=2,rc.cy=20;\n\tm_ClientDC.DrawFullRect(&rc,RGB(170,170,170));\n\n\tm_ClientDC.DrawString(WSTR(\" Name\"),&rc,WISP_DT_VCENTER|WISP_DT_LEFT);\n\trc.x+=340;\n\tm_ClientDC.DrawString(WSTR(\" Time\"),&rc,WISP_DT_VCENTER|WISP_DT_LEFT);\n\treturn false;\n}\n\nbool CSourceDebugStartPageWnd::OnRecalcLayout(IN WISP_MSG* pMsg)\n{\n\tCMultiSourceCodeView* pMultiSource = (CMultiSourceCodeView*)m_ParentWnd;\n\tResize(pMultiSource->m_ClientRect.cx ,pMultiSource->m_ClientRect.cy);\n\treturn true;\n}\n\nbool CSourceDebugStartPageWnd::OnSelectSymbolModule(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tif(pMsg->Command.CmdMsg==WISP_CMD_ITEM_SELECTED)\n\t{\n\t\thItem = pMsg->Command.Param2;\n\t\tNUM_PTR value = m_SymbolModuleList.GetItemData(hItem,0);\n\t\tPLOADMODULESYMBOL pLoadModule = (PLOADMODULESYMBOL)value;\n\t\tif(pLoadModule)\n\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.OnSelectSymbolModule(pLoadModule->pSyserSymAnalyzer);\n\t\telse\n\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.OnSelectSymbolModule(NULL);\n\t}\n\treturn true;\n}\n\nvoid CSourceDebugStartPageWnd::InsertSymbolModule(char* ModuleName,void*pData)\n{\n\tHANDLE hItem;\n\thItem = m_SymbolModuleList.InsertItemA(ModuleName);\n\tm_SymbolModuleList.SetItemData(hItem,0,*(DWORD*)&pData);\n\t\n\tUpdate();\n}\n\nbool CSourceDebugStartPageWnd::RemoveSymbolModule(void*pData)\n{\n\tHANDLE hItem;\n\tNUM_PTR value;\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.RemoveSymbolModule(pData);\n\thItem = m_SymbolModuleList.GetItem(NULL);\n\twhile(hItem)\n\t{\n\t\tvalue = m_SymbolModuleList.GetItemData(hItem,0);\n\t\tif((void*)value==pData)\n\t\t{\n\t\t\tm_SymbolModuleList.RemoveItem(hItem);\n\t\t\treturn true;\n\t\t}\n\t\thItem = m_SymbolModuleList.GetNextItem(hItem);\n\t}\n\tUpdate();\n\treturn false;\n}"
  },
  {
    "path": "Project/Syser/Source/SourceDebugStartPage.h",
    "content": "#ifndef _SOURCEDEBUGSTARTPAGE_H_\n#define _SOURCEDEBUGSTARTPAGE_H_\n\nclass CSourceDebugStartPageWnd:public CWispWnd\n{\n\tenum CSOURCEDEBUGSTARTWND_CHILD_WND_ID\n\t{\n\t\tSYMBOLMODULE_CHILD_WND_ID =WISP_WM_USER_START,\n\t};\npublic:\n\tCSourceDebugStartPageWnd(void);\n\t~CSourceDebugStartPageWnd(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG_CMD_MAP\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD(OnSelectSymbolModule)\n\tCWispList m_SymbolModuleList;\n\tvoid InsertSymbolModule(char*ModuleName,void*pData);\n\tbool RemoveSymbolModule(void*pData);\n};\n#endif //_SOURCEDEBUGSTARTPAGE_H_"
  },
  {
    "path": "Project/Syser/Source/SourceExplorer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SourceExplorer.h\"\n\nWISP_MSG_MAP_BEGIN(CSourceExplorer) \nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\n\nCSourceExplorer::CSourceExplorer()\n{\n\n}\n\nCSourceExplorer::~CSourceExplorer()\n{\n\n}\n\n\nbool CSourceExplorer::OnCreate(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CSourceExplorer::OnDestroy(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/SourceExplorer.h",
    "content": "#ifndef _SOURCE_EXPLORER_H_\n#define _SOURCE_EXPLORER_H_\n\nclass CSourceExplorer : public CWispWnd\n{\npublic:\n\tCSourceExplorer();\n\t~CSourceExplorer();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Sources",
    "content": "TARGETNAME=Syser\nTARGETPATH=..\\..\\..\\Bin\nTARGETTYPE=EXPORT_DRIVER\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /D_SYSER_\n\n!if defined(__DEMO__VERSION__)\nC_DEFINES = $(C_DEFINES) /D__DEMO__VERSION__\n!endif\n\n\nDLLDEF=SyserKDM.def\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nTARGETLIBS=\t..\\..\\EXEAnalyzer\\Source\\Obj\\i386\\EXEAnalyzer.lib\t\\\n\t\t\t..\\..\\Code\\Source\\Obj\\i386\\Code.lib\t\t\\\n\t\t\t..\\..\\Wisp\\Source\\Obj\\i386\\Wisp.lib\t\t\\\n\t\t\t..\\..\\..\\Addition\\BootVid\\bootvid.lib\t\\\n\t\t\t$(DDK_LIB_PATH)\\libcntpr.lib \\\n\t\t\t$(DDK_LIB_PATH)\\ntstrsafe.lib\n\t\t\t\n\nINCLUDES =\t..\\..\\..\\Addition\\SyserDebugger\n\nSOURCES=NTUtility.cpp\t\t\\\n\t\tResource.cpp\t\t\\\n\t\tSyser.cpp\t\t\t\\\n\t\tInputDriver.cpp\t\t\\\n\t\tSyserNTDrvApp.cpp\t\\\n\t\tDbgProcess.cpp\t\t\\\n\t\tX86Optr.cpp\t\t\t\\\n\t\tServices.cpp\t\t\\\n\t\tSysInfo.cpp\t\t\t\\\n\t\tConsoleWnd.cpp\t\t\\\n\t\tMainFrame.cpp\t\t\\\n\t\tMultiDataView.cpp\t\\\n\t\tMultiCodeView.cpp\t\\\n\t\tCodeView.cpp\t\t\\\n\t\tDataView.cpp\t\t\\\n\t\tVideoDriver.cpp\t\t\\\n\t\tOSData.cpp\t\t\t\\\n\t\tpci.cpp\t\t\t\t\\\n\t\tIDTWnd.cpp\t\t\t\\\n\t\tGDTWnd.cpp\t\t\t\\\n\t\tPageMapWnd.cpp\t\t\\\n\t\tRegHelpWnd.cpp\t\t\\\n\t\tSerialPort.cpp\t\t\\\n\t\tProcessList.cpp\t\t\\\n\t\tGeneRegList.cpp\t\t\\\n\t\tFpuRegisterList.cpp\t\\\n\t\tSSERegisterList.cpp\t\\\n\t\tWatchList.cpp\t\t\\\n\t\tStackWatchList.cpp\t\\\n\t\tObjectDirectory.cpp\t\\\n\t\tX86RegHelpTabWnd.cpp\t\\\n\t\tObjectDirectoryWnd.cpp\t\\\n\t\tSystemExplorer.cpp\t\\\n\t\tSourceExplorer.cpp\t\\\n\t\tGameSpy.cpp\t\t\t\\\n\t\tSyserUI.cpp\t\t\t\\\n\t\tDebuggerSelectForm.cpp\t\\\n\t\tPluginListForm.cpp\t\\\n\t\tSyserConfig.cpp\t\t\\\n\t\tSourceDebugFrameWnd.cpp\t\\\n\t\tMultiSourceCodeView.cpp\t\t\\\n\t\tSourceCodeWnd.cpp\t\\\n\t\tSyserSymAnalyzer.cpp\t\\\n\t\tSyserOption.cpp\t\t\\\n\t\tSyserMemoryReadWrite.cpp\t\\\n\t\tSourceDebugClassView.cpp\t\\\n\t\tLex2.cpp\t\t\\\n\t\tMultiCPU.cpp\t\t\\\n\t\tSyserConnect.cpp\t\\\n\t\tNMIInterruptHandle.cpp\t\\\n\t\tInterruptPatch.cpp\t\\\n\t\tLocalAPIC.cpp\t\t\\\n\t\tIOAPIC.cpp\t\t\\\n\t\tSDServer.cpp\t\t\\\n\t\tPIC_8259.cpp\t\t\\\n\t\tTimerInterrupt.cpp\t\\\n\t\tHardWareInterruptCtrl.cpp\t\\\n\t\tSerialMouse.cpp\t\t\\\n\t\tMouse.cpp\t\t\\\n\t\tPS2Mouse.cpp\t\t\\\n\t\tUHCIDevice.cpp\t\t\\\n\t\tOHCIDevice.cpp\t\t\\\n\t\tInt3.cpp\t\t\\\n\t\tInt1.cpp\t\t\\\n\t\tDataOperatorDlg.cpp\t\\\n\t\tAddTypeViewerDlg.cpp\t\\\n\t\tSearchDialog.cpp\t\\\n\t\tPCSystem.cpp\t\t\\\n\t\tSyserCmd.cpp\t\t\\\n\t\tBpintCmd.cpp\t\t\\\n\t\tDebugCmd.cpp\t\t\\\n\t\tOtherCmd.cpp\t\t\\\n\t\tUSBCmd.cpp\t\t\t\\\n\t\tKeyboard.cpp\t\t\\\n\t\tTouchPad.cpp\t\t\\\n\t\tTrackPoint.cpp\t\t\\\n\t\tCrossReferenceForm.cpp\t\\\n\t\tRunTrace.cpp\t\t\\\n\t\tRunTraceWnd.cpp\t\t\\\n\t\tModuleListWnd.cpp\t\\\n\t\tThreadListWnd.cpp\t\\\n\t\tCallStackWnd.cpp\t\\\n\t\tCallStack.cpp\t\t\\\n\t\tShareCmd.cpp\t\t\\\n\t\tFunctionListWnd.cpp\t\\\n\t\tErrorCodeWnd.cpp\t\\\n\t\tErrorCodeTable.cpp\t\\\n\t\tNtstatStr.cpp\t\t\\\n\t\tSystemIoctl.cpp\t\t\\\n\t\tSEHChainWnd.cpp\t\t\\\n\t\tInitialize.cpp\t\t\\\n\t\tGlobalVariable.cpp\t\\\n\t\tColorOption.cpp\t\t\\\n\t\tVMWareSupport.cpp\t\\\n\t\tBugCheckCode.cpp\t\\\n\t\tint0xd.cpp\t\t\\\n\t\tint0xe.cpp\t\t\\\n\t\tint0x6.cpp\t\t\\\n\t\tint0xc.cpp\t\t\\\n\t\tint0xb.cpp\t\t\\\n\t\tSDSModuleList.cpp\t\\\n\t\tSourceCodeWatchList.cpp\t\\\n\t\tCommentList.cpp\t\t\\\n\t\tTypeViewerWnd.cpp\t\\\n\t\tDataViewForm.cpp\t\\\n\t\tSyserDriver.rc\t\t\\\n\t\tVirtualPCSupport.cpp\t\\\n\t\tBreakPointForm.cpp\t\\\n\t\tCodeBPEdit.cpp\t\t\\\n\t\tDataBPEdit.cpp\t\t\\\n\t\tCopyOnWritePatch.cpp\t\\\n\t\tDump.cpp\t\t\\\n\t\tStringReference.cpp\t\\\n\t\tSyserAboutForm.cpp\t\\\n\t\tPEExplorer.cpp\t\t\\\n\t\tCmd_CPUID.cpp\t\t\\\n\t\tCmd_CPU.cpp\t\t\\\n\t\tcmd_msr.cpp\t\t\\\n\t\tIBMAsciiWnd.cpp\t\t\\\n\t\tKeyMappingPage.cpp\t\\\n\t\tKernelObjectCmd.cpp\t\\\n\t\tAnalyzer.cpp\t\t\\\n\t\tHwndCmd.cpp\t\t\\\n\t\tHwndWnd.cpp\t\t\\\n\t\tOSProcessThread.cpp\t\\\n\t\tWndStringReference.cpp\t\\\n\t\tLastBranch.cpp\t\t\\\n\t\tPatchKeBugCheckEx.cpp\t\\\n\t\tSyserCAbi.cpp\t\\\n\t\tSyserDriverMC.mc\n\t\t\nAMD64_SOURCES=..\\\n    common-amd64.asm\n\nI386_SOURCES=\\\n    common-x86.asm \\\n    interrupt-x86.asm \\\n    compatibility-x86.asm \\\n    Function.asm\n"
  },
  {
    "path": "Project/Syser/Source/StackWatchList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"StackWatchList.h\"\n#include \"StringReference.h\"\n\nWISP_MENU_RES_ITEM StackWatchMenu[]=\n{\n\t{WSTR(\"Show Data \"),\t\tEVENT_ID_SHOW_DATA,127},\n\t{WSTR(\"Show Code \"),\t\tEVENT_ID_SHOW_CODE,126},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Show ESP Address\"),\tEVENT_ID_SHOW_ESP_ADDR,119},\n\t{WSTR(\"Show EBP Address\"),\tEVENT_ID_SHOW_EBP_ADDR,119},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Address Mode\"),\t\tEVENT_ID_ADDRESS_MODE_HEX,\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Offset  Mode\"),\t\tEVENT_ID_OFFSET_MODE_HEX,\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Relative to ESP\"),\tEVENT_ID_RELATIVE_TO_ESP,\t0,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Relative to EBP\"),\tEVENT_ID_RELATIVE_TO_EBP,\t0,WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Low->High Address\"),\tEVENT_ID_ADDRESS_ORFER,\t0},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CStackWatchList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_CMD_MAP_BEGIN(CStackWatchList)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSLIDE,OnCmdVSlide);\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CStackWatchList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_EBP_ADDR,\t\tOnEventShowEBP)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_ESP_ADDR,\t\tOnEventShowESP)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_CODE,\t\t\tOnEventShowCode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_DATA,\t\t\tOnEventShowData)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_CODE_BY_ADDRESS,\t\t\tOnShowCodeByAddress)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SHOW_DATA_BY_ADDRESS,\t\t\tOnShowDataByAddress)\n\t\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADDRESS_MODE_HEX,\tOnEventAddressModeHex)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OFFSET_MODE_HEX,\tOnEventOffsetModeHex)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RELATIVE_TO_ESP,\tOnEventRelativeToESP)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RELATIVE_TO_EBP,\tOnEventRelativeToEBP)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADDRESS_ORFER,\t\tOnEventToggleAddressOrder)\n\nWISP_MSG_EVENT_MAP_END\n\n\nCStackWatchList::CStackWatchList()\n{\n\tm_ScrollSpace = 2;\n\tm_AddrLowToHigh=true;\n}\n\nbool CStackWatchList::OnCmdVSlide(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,false);\n\t}\n\treturn true;\n}\n\nbool CStackWatchList::OnEventShowEBP(IN WISP_MSG*pMsg)\n{\n\tUpdateContext(*X86_REG_PTR.pEBP);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventShowESP(IN WISP_MSG*pMsg)\n{\n\tUpdateContext(*X86_REG_PTR.pESP);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventShowCode(IN WISP_MSG*pMsg)\n{\t\n\tDWORD Value;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tULPOS Address=(ULPOS)GetItemData(hItem,1);\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\tVIEW_CODE((ULPOS)GetItemData(hItem,1),true);\n\treturn true;\n}\n\nbool CStackWatchList::OnShowCodeByAddress(IN WISP_MSG*pMsg)\n{\t\n\tDWORD Value;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tULPOS Address=(ULPOS)GetItemData(hItem,0);\n\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_CODE((ULPOS)GetItemData(hItem,0),true);\n\treturn true;\n}\n\n\n\nbool CStackWatchList::OnEventShowData(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tULPOS Address=(ULPOS)GetItemData(hItem,1);\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_DATA((ULPOS)GetItemData(hItem,1));\n\treturn true;\n}\n\nbool CStackWatchList::OnShowDataByAddress(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tULPOS Address=(ULPOS)GetItemData(hItem,0);\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_DATA((ULPOS)GetItemData(hItem,0));\n\treturn true;\n}\n\nbool CStackWatchList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_Style|=WISP_WLS_VERT_LINE;\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tHANDLE hItem;\n\tint FontWidth = m_ClientDC.GetTextExtent(WSTR(\"X\"));\n\tInsertColumn(WISP_STR(\"Address\"),FontWidth*9);\n\tInsertColumn(WISP_STR(\"Value[F2]\"),FontWidth*10,WISP_WLCS_EDITABLE);\n\tInsertColumn(WISP_STR(\"Context\"),100);\n\tm_CurAddr = 0;\n\tfor(int n=0;n<m_nLinePerPage;n++)\n\t{\n\t\thItem = InsertItem(WISP_STR(\"????????\"));\n\t\tSetItemText(hItem,1,WISP_STR(\"????????\"));\n\t}\n\tm_ScrollBar[WISP_SB_VERT]->Style = WISP_SS_NORMAL;\n\tm_ScrollBar[WISP_SB_VERT]->bHide = false;\n\tm_PopupMenu.CreatePopupMenu(StackWatchMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hMenuShowCode = m_PopupMenu.GetItem(EVENT_ID_SHOW_CODE);\n\tm_hMenuShowData = m_PopupMenu.GetItem(EVENT_ID_SHOW_DATA);\n\tm_hAddrLowToHigh = m_PopupMenu.GetItem(EVENT_ID_ADDRESS_ORFER);\n\n\tAttachShortcutKey();\n\treturn true;\n}\n\nvoid\tCStackWatchList::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SHOW_CODE,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN,EVENT_ID_SHOW_CODE);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SHOW_DATA_BY_ADDRESS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL | WISP_VK_RETURN,EVENT_ID_SHOW_DATA_BY_ADDRESS);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SHOW_DATA,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_RETURN,EVENT_ID_SHOW_DATA);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SHOW_CODE_BY_ADDRESS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_RETURN,EVENT_ID_SHOW_CODE_BY_ADDRESS);\n\n}\n\nbool CStackWatchList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CStackWatchList::OnSize(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Resize.NewSizeDelta.cy==0)\n\t\treturn true;\n\tResetContext();\n\tif(gpSyser->m_pDebugger==NULL || gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\tUpdateContext(*X86_REG_PTR.pESP);\n\treturn true;\n}\n\nbool CStackWatchList::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tif(gpSyser->m_pDebugger==NULL || gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn false;\n\tif(pMsg->ScrollEvent.SBType==WISP_SB_VERT)\n\t{\n\t\tswitch(pMsg->ScrollEvent.Event)\n\t\t{\n\t\tcase WISP_SB_PAGE_UP:\n\t\t\tif(m_AddrLowToHigh)\n\t\t\t\tUpdateContext(m_CurAddr-(sizeof(VALUE_TYPE)*m_ScrollBar[WISP_SB_VERT]->Page),true);\n\t\t\telse\n\t\t\t\tUpdateContext(m_CurAddr+(sizeof(VALUE_TYPE)*m_ScrollBar[WISP_SB_VERT]->Page),true);\n\t\t\tbreak;\n\t\tcase WISP_SB_PAGE_DOWN:\n\t\t\tif(m_AddrLowToHigh)\n\t\t\t\tUpdateContext(m_CurAddr+(sizeof(VALUE_TYPE)*m_ScrollBar[WISP_SB_VERT]->Page),true);\n\t\t\telse\n\t\t\t\tUpdateContext(m_CurAddr-(sizeof(VALUE_TYPE)*m_ScrollBar[WISP_SB_VERT]->Page),true);\n\t\t\tbreak;\n\t\tcase WISP_SB_DEC:\n\t\t\tif(m_AddrLowToHigh)\n\t\t\t\tUpdateContext(m_CurAddr-sizeof(VALUE_TYPE),true);\n\t\t\telse\n\t\t\t\tUpdateContext(m_CurAddr+sizeof(VALUE_TYPE),true);\n\t\t\tbreak;\n\t\tcase WISP_SB_INC:\n\t\t\tif(m_AddrLowToHigh)\n\t\t\t\tUpdateContext(m_CurAddr+sizeof(VALUE_TYPE),true);\n\t\t\telse\n\t\t\t\tUpdateContext(m_CurAddr-sizeof(VALUE_TYPE),true);\n\t\t\tbreak;\n\t\tcase WISP_SB_POS_CHANGE:\n\t\t\tif(m_AddrLowToHigh)\n\t\t\t\tUpdateContext(m_CurAddr+pMsg->ScrollEvent.Delta*sizeof(VALUE_TYPE),true);\n\t\t\telse\n\t\t\t\tUpdateContext(m_CurAddr-pMsg->ScrollEvent.Delta*sizeof(VALUE_TYPE),true);\n\t\t\treturn false;\n\t\t\tbreak;\n\t\t}\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace);\n\t\treturn false;\n\t}\n\treturn true;\n}\nDWORD\tCStackWatchList::FindShortcutKey(DWORD CmdID)\n{\n\tSTACKHOTKEYMAP::IT BeginIT,EndIT;\n\n\tBeginIT = m_HotKeyMap.Begin();\n\tEndIT = m_HotKeyMap.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif(*BeginIT == CmdID)\n\t\t\treturn BeginIT.Key();\n\t}\n\treturn 0;\n}\nvoid CStackWatchList::PopupMenu(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tCWispDIB*pIcon;\n\tULPOS Address;\n\tbool bIsAddressVailed=false;\n\tBYTE Buffer;\n\tWCHAR szBuffer[128];\n\tWCHAR wHotKeyBuffer[50];\n\t\t\n\tif(pMsg)\n\t{\n\t\tWISP_RECT CellRC;\n\t\tGetItemCellRect(GetItem(0),0,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t{\n\t\t}\n\t}\n\n\t\n\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\t\n\tif(hItem)\n\t{\t\t\n\t\tAddress = (ULPOS)GetItemData(hItem,1);\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Buffer,sizeof(Buffer))==sizeof(Buffer))\n\t\t{\n\t\t\tbIsAddressVailed=true;\n\t\t}\n\t\tWISP_PCSTR pszText = (WISP_PCSTR)GetItemText(hItem,1);\n\t\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_SHOW_CODE_BY_ADDRESS),wHotKeyBuffer);\t\n\t\tTSPrintf(szBuffer,WSTR(\"Show code at:%s  %s\"),pszText,wHotKeyBuffer);\n\t\tm_PopupMenu.SetItemText(m_hMenuShowCode,szBuffer);\n\t\tgpSyser->m_MainFrame.m_KeyMapForm.GetHotKeyName(FindShortcutKey(EVENT_ID_SHOW_DATA_BY_ADDRESS),wHotKeyBuffer);\t\n\t\tTSPrintf(szBuffer,WSTR(\"Show data at:%s  %s\"),pszText,wHotKeyBuffer);\n\t\tm_PopupMenu.SetItemText(m_hMenuShowData,szBuffer);\t\t\n\t}\n\tm_PopupMenu.EnableItem(m_hMenuShowCode,hItem!=NULL && bIsAddressVailed);\n\tm_PopupMenu.EnableItem(m_hMenuShowData,hItem!=NULL && bIsAddressVailed);\n\tm_PopupMenu.CheckItem(EVENT_ID_ADDRESS_MODE_HEX,m_AddrShowMode == STACK_WATCH_ADDRESS_MOD);\n\tm_PopupMenu.CheckItem(EVENT_ID_OFFSET_MODE_HEX,m_AddrShowMode == STACK_WATCH_OFFSET_MOD);\n\tm_PopupMenu.CheckItem(EVENT_ID_RELATIVE_TO_ESP,m_AddrShowMode == STACK_WATCH_REL_TO_ESP_MOD);\n\tm_PopupMenu.CheckItem(EVENT_ID_RELATIVE_TO_EBP,m_AddrShowMode == STACK_WATCH_REL_TO_EBP_MOD);\n\tif(m_AddrLowToHigh)\n\t{\n\t\tpIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*10+15);\n\t\tTStrCpy(szBuffer,WSTR(\"High-->Low Address\"));\t\t\n\t}\n\telse\n\t{\n\t\tpIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*10+14);\n\t\tTStrCpy(szBuffer,WSTR(\"Low-->High Address\"));\n\t}\n\tm_PopupMenu.SetItemText(m_hAddrLowToHigh,szBuffer);\n\tm_PopupMenu.SetItemIcon(m_hAddrLowToHigh,pIcon);\n\tm_PopupMenu.Popup();\n}\n\n\nbool CStackWatchList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\t\n\tHANDLE hItem;\n\tSTACKHOTKEYMAP::IT FindIT;\n\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT!=m_HotKeyMap.End())\n\t\t{\t\t\t\n\t\t\tWISP_MSG Msg;\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\n\t\t\treturn OnEvent(&Msg);\n\t\t}\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\tPopupMenu(pMsg);\n\t\t\tbreak;\n\t\tcase WISP_VK_F2:\n\t\t\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tif(hItem)\n\t\t\t\tBeginEditItem(hItem,1);\n\t\t\tbreak;\n\t\tcase WISP_VK_W:\n\t\t\tOnEventToggleAddressOrder(NULL);\n\t\t\tbreak;\n\t\tcase WISP_VK_S:\n\t\t\tOnEventToggleAddressOrder(NULL);\n\t\t\tbreak;\n\n\t\t}\n\t}\n\treturn true;\n}\n\n\n\nbool CStackWatchList::GetValueSym(ULPOS Address,VALUE_TYPE Value,WISP_COLOR_CHAR* szColorBuffer,int ccLen,COMMENT_TYPE* CommentType)\n{\n\tCHAR szBufferA[256];\n\tCHAR szRetBuf[256];\n\tWCHAR szBuffer[256];\n\tCHAR* pStr;\n\tbool bSuccess;\n\tint nLen=0;\n\tint StrType;\n\tULPOS DestAddress;\n\tszColorBuffer[0]=0;\n\tszBuffer[0] = 0;\n\tif(Address == *X86_REG_PTR.pESP)\n\t\tnLen = ColorStrCpy(szColorBuffer,\"<-ESP \",SC_WHITE,SC_LIGHT_RED);\n\tif(Address == *X86_REG_PTR.pEBP)\n\t\tnLen += ColorStrCat(szColorBuffer,\"<-EBP \",SC_WHITE,SC_LIGHT_GREEN);\n\t\n\t\tGetSEHSym(Address,Value,szColorBuffer,ccLen);\n\n\tif(GET_STRING_SYM(Value,szBuffer,ccLen-nLen-1,StrType))\n\t{\n\t\tif(StrType == CT_ASCII)\n\t\t\tColorStrCat(szColorBuffer,szBuffer,SC_BLUE,0);\n\t\telse if(StrType == CT_UINCODE)\n\t\t\tColorStrCat(szColorBuffer,szBuffer,SC_LIGHT_BROWN,0);\n\t\tif(CommentType)\n\t\t\t*CommentType=(COMMENT_TYPE)StrType;\n\t\treturn true;\n\t}\n\tbSuccess = GET_ALMOST_SYM(Value,szBufferA);\n\tszRetBuf[0]=0;\n\tif(bSuccess)\n\t{\n\t\t*CommentType=CT_SYMBOLS;\n\t\tpStr = TStrChr(szBufferA,'+');\n\t\tif(pStr)\n\t\t{\t\t\t\t\t\t\n\t\t\tnLen = gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(Value,szRetBuf,NULL);\n\t\t\tif(nLen)\n\t\t\t{\n\t\t\t\tif(gpSyser->m_SyserUI.m_CodeDoc.GetInstrDesAddress(Value-nLen,&DestAddress))\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(szRetBuf,\"Return to %08X from %08X \",Value,DestAddress);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(szRetBuf,\"Return to %08X \",Value);\n\t\t\t\t}\t\t\t\t\t\t\t\t\n\t\t\t}\t\n\t\t\telse\n\t\t\t\tszRetBuf[0]=0;\n\t\t}\n\t\tColorStrCat(szColorBuffer,szRetBuf,SC_RED,0);\t\t\n\t\tColorStrCat(szColorBuffer,szBufferA,SC_WHITE,0);\t\t\n\t}\n\telse\n\t{\n\t\t\n\t\tszBufferA[0]=0;\n\t\tnLen = gpSyser->m_SyserUI.m_CodeDoc.IsPrevCodeCallInstr(Value,szRetBuf,NULL);\t\t\t\n\t\tif(nLen==0)\n\t\t\treturn false;\n\t\tif(gpSyser->m_SyserUI.m_CodeDoc.GetInstrDesAddress(Value-nLen,&DestAddress))\n\t\t{\n\t\t\tTSPrintf(szRetBuf,\"Return to %08X from %08X\",Value,DestAddress);\n\t\t}\n\t\telse\n\t\t\tTSPrintf(szRetBuf,\"(return to %08X)\",Value);\t\t\n\t\tColorStrCat(szColorBuffer,szRetBuf,SC_RED,0);\t\t\n\t\t*CommentType=CT_RETURN_ADDRESS;\n\t}\n\n\t\t\n\n\treturn true;\n}\n\nvoid CStackWatchList::ItemClickNotify(HANDLE hItem,int Col)\n{\n\tswitch(Col)\n\t{\n\tcase 0:\n\t\tswitch(m_AddrShowMode)\n\t\t{\n\t\tcase STACK_WATCH_ADDRESS_MOD:\n\t\t\tOnEventOffsetModeHex(NULL);\n\t\t\tbreak;\n\t\tcase STACK_WATCH_OFFSET_MOD:\n\t\t\tOnEventRelativeToESP(NULL);\n\t\t\tbreak;\n\t\tcase STACK_WATCH_REL_TO_ESP_MOD:\n\t\t\tOnEventRelativeToEBP(NULL);\n\t\t\tbreak;\n\t\tcase STACK_WATCH_REL_TO_EBP_MOD:\n\t\t\tOnEventAddressModeHex(NULL);\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\t}\n}\n\nvoid CStackWatchList::GetAddressString(ULPOS Address,WISP_PSTR szBuffer)\n{\n\tWISP_CHAR szRelStr[32];\n\tint BaseAddress,Offset;\n\tswitch(m_AddrShowMode)\n\t{\n\tcase STACK_WATCH_ADDRESS_MOD:\n\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Address);\n\t\treturn;\n\tcase STACK_WATCH_OFFSET_MOD:\n\t\tBaseAddress=(int)m_BaseActiveAddress;\n\t\tOffset = (int)Address-BaseAddress;\n\t\tTStrCpy(szRelStr,\"$\");\n\t\tbreak;\n\tcase STACK_WATCH_REL_TO_ESP_MOD:\n\t\tBaseAddress=(int)*X86_REG_PTR.pESP;\n\t\tOffset = (int)Address-BaseAddress;\n\t\tTStrCpy(szRelStr,\"ESP\");\n\t\tbreak;\n\tcase STACK_WATCH_REL_TO_EBP_MOD:\n\t\tBaseAddress=(int)*X86_REG_PTR.pEBP;\n\t\tOffset = (int)Address-BaseAddress;\n\t\tTStrCpy(szRelStr,\"EBP\");\n\t\tbreak;\n\t}\n\tif(Offset>0)\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"%s+%X\"),szRelStr,Offset);\n\t}\n\telse if(Offset==0)\n\t{\n\t\tTStrCpy(szBuffer,szRelStr);\n\t\tTStrCat(szBuffer,\"==>\");\n\t}\n\telse\n\t{\n\t\tTSPrintf(szBuffer,WSTR(\"%s-%X\"),szRelStr,-Offset);\n\t}\n}\nvoid CStackWatchList::GetSEHSym(ULPOS Address,VALUE_TYPE Value,WISP_COLOR_CHAR* szColorBuffer,int ccLen)\n{\n\tSEH_MAP::IT FindIT;\n\tFindIT = m_SehMap.Find(Address);\n\tif(FindIT!=m_SehMap.End())\n\t{\n\t\tif(FindIT==m_SehMap.Last())\n\t\t\tColorStrCat(szColorBuffer,\"End of SEH chain\",SC_RED,0);\t\t\t\n\t\telse\n\t\t\tColorStrCat(szColorBuffer,\"Pointer to next SEH record\",SC_RED,0);\t\t\t\n\t}\n\telse if(m_RSehMap.Find(Value)!=m_RSehMap.End())\n\t{\t\n\t\tFindIT = m_SehMap.Find(Address-4);\n\t\tif(FindIT!=m_SehMap.End())\n\t\t\tColorStrCat(szColorBuffer,\"SEH Handler\",SC_RED,0);\t\t\n\t}\n}\nvoid CStackWatchList::InitSEHMap()\n{\n\tm_SehMap.Clear();\n\tm_RSehMap.Clear();\n\tDWORD dwSEH,dwSize,dwFSBase;\n\tif(gpSyser->m_pDebugger->GetSegRegBase( *X86_REG_PTR.pFS ,&dwFSBase,&dwSize))\n\t{\n\t\tSEH_STR SehHeader;\n\t\tSehHeader.dwNext=dwFSBase;\t\t\n\t\tint i = 0; \n\t\tdwSEH=dwFSBase;\n\t\tif(gpSyser->m_SyserUI.m_CodeDoc.ReadMemory(dwFSBase ,&dwSEH,sizeof(dwSEH))!=sizeof(dwSEH))\n\t\t\treturn;\n\t\tfor(i = 0; i< 100;i++)\n\t\t{\n\t\t\tif(gpSyser->m_SyserUI.m_CodeDoc.ReadMemory(dwSEH ,&SehHeader,sizeof(SehHeader))!=sizeof(SehHeader))\n\t\t\t\tbreak;\t\t\t\n\t\t\tm_SehMap.InsertUnique(dwSEH,SehHeader.SEHHandler);\n\n\t\t\tm_RSehMap.InsertUnique(SehHeader.SEHHandler,dwSEH);\n\t\t\tdwSEH = SehHeader.dwNext;\n\t\t\tif(SehHeader.dwNext==0xffffffff)\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t\t\n}\nvoid CStackWatchList::UpdateContext(ULPOS Address,bool bRelocal)\n{\n\tHANDLE hItem;\n\tVALUE_TYPE Data;\n\tWCHAR szBuffer[256];\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tInitSEHMap();\n\tif(bRelocal)\n\t{\n\t\tm_CurAddr = Address;\n\t}\n\telse\n\t{\n\t\tif(m_AddrLowToHigh)\n\t\t{\n\t\t\tif(Address<m_CurAddr+m_nLinePerPage*sizeof(DWORD)/4 || Address>=m_CurAddr+sizeof(VALUE_TYPE)*m_nLinePerPage*3/4)\n\t\t\t\tm_CurAddr = Address - sizeof(VALUE_TYPE)*(m_nLinePerPage/2);\n\t\t}\n\t\telse\n\t\t{\t\t\t\n\t\t\tif(Address>m_CurAddr-m_nLinePerPage*sizeof(DWORD)/4 || Address<=m_CurAddr-sizeof(VALUE_TYPE)*m_nLinePerPage*3/4)\n\t\t\t\tm_CurAddr = Address + sizeof(VALUE_TYPE)*(m_nLinePerPage/2);\t\t\t\n\t\t}\n\t\tAddress = m_CurAddr;\n\t}\n\thItem = GetNextItem(NULL,WISP_WLIS_NORMAL);\n\twhile(hItem!=NULL)\n\t{\n\t\tGetAddressString(Address,szBuffer);\n\t\tif(Address == *X86_REG_PTR.pESP )\n\t\t{\n\t\t\tColorStrCpy(szColorBuffer,szBuffer,SC_WHITE,SC_LIGHT_RED);\n\t\t\tSetItemColorText(hItem,0,szColorBuffer);\n\t\t} \n\t\telse if(Address == *X86_REG_PTR.pEBP)\n\t\t{\n\t\t\tColorStrCpy(szColorBuffer,szBuffer,SC_WHITE,SC_LIGHT_GREEN);\n\t\t\tSetItemColorText(hItem,0,szColorBuffer);\n\t\t}\n\t\telse\n\t\t\tSetItemText(hItem,0,szBuffer);\n\t\tData = 0;\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Data,sizeof(Data))==sizeof(Data))\n\t\t\tTSPrintf(szBuffer,WSTR(\"%08X\"),Data);\n\t\telse\n\t\t\tTStrCpy(szBuffer,WSTR(\"????????\"));\n\t\tSetItemData(hItem,0,Address);\n\t\tSetItemText(hItem,1,szBuffer);\n\t\tSetItemData(hItem,1,Data);\n\t\tCOMMENT_TYPE CommentType;\n\t\tGetValueSym(Address,Data,szColorBuffer,sizeof(szColorBuffer)/sizeof(szColorBuffer[0]),&CommentType);\n\t\t\n\t\tSetItemColorText(hItem,2,szColorBuffer);\t\t\n\t\tif(m_AddrLowToHigh)\n\t\t\tAddress+=sizeof(VALUE_TYPE);\n\t\telse\n\t\t\tAddress-=sizeof(VALUE_TYPE);\n\t\thItem = GetNextItem(hItem,WISP_WLIS_NORMAL);\n\t}\n\tUpdateClient();\n}\n\nvoid CStackWatchList::ResetContext()\n{\n\tHANDLE hItem;\n\tSetItemChildCount(NULL,m_nLinePerPage);\n\tEmptyChildItemContext();\n\thItem = GetItem(0);\n\tif(hItem)\n\t\tSelectItem(hItem);\n\tSetScrollBarInfo(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,m_nLinePerPage*(m_ScrollSpace+m_ScrollSpace+1),m_nLinePerPage);\n\tm_SehMap.Clear();\n\tm_RSehMap.Clear();\n}\n\nbool CStackWatchList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(gpSyser->m_pDebugger==NULL||gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn false;\n\tif(Col==1)\n\t{\n\t\tif(GetItemText(hItem,1)==WSTR(\"????????\"))\n\t\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CStackWatchList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\t//WCHAR szBuffer[256];\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tVALUE_TYPE Value;\n\tif(CALCEXP(String,&Value)==false)\n\t\treturn false;\n\tif(Col==0)\n\t{\n\t\t\n\t}\n\telse if(Col==1)\n\t{\n\t\tif(GetItemText(hItem,Col)==String)\n\t\t\treturn false;\n\t\tULPOS Address = (ULPOS)GetItemData(hItem,0);\n\t\tif(gpSyser->m_pDebugger->WriteMemory(Address,&Value,sizeof(Value))!=sizeof(Value))\n\t\t\treturn false;\n\t\tGetItemEditString().Format(WSTR(\"%08X\"),Value);\n\t\tCOMMENT_TYPE CommentType;\n\t\tGetValueSym(Address,Value,szColorBuffer,sizeof(szColorBuffer)/sizeof(szColorBuffer[0]),&CommentType);\n\t\tSetItemColorText(hItem,2,szColorBuffer);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CStackWatchList::OnEventAddressModeHex(IN WISP_MSG*pMsg)\n{\n\tm_AddrShowMode=STACK_WATCH_ADDRESS_MOD;\n\tUpdateContext(m_CurAddr,true);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventOffsetModeHex(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tm_BaseActiveAddress=(ULPOS)GetItemData(hItem);\n\tm_AddrShowMode=STACK_WATCH_OFFSET_MOD;\n\tUpdateContext(m_CurAddr,true);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventRelativeToESP(IN WISP_MSG*pMsg)\n{\n\tm_AddrShowMode=STACK_WATCH_REL_TO_ESP_MOD;\n\tUpdateContext(m_CurAddr,true);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventRelativeToEBP(IN WISP_MSG*pMsg)\n{\n\tm_AddrShowMode=STACK_WATCH_REL_TO_EBP_MOD;\n\tUpdateContext(m_CurAddr,true);\n\treturn true;\n}\n\nbool CStackWatchList::OnEventToggleAddressOrder(IN WISP_MSG*pMsg)\n{\n\tULPOS Address;\n\t\n\tif(m_AddrLowToHigh)\t\n\t\tAddress=m_CurAddr+m_nLinePerPage*sizeof(DWORD);\t\n\telse\t\n\t\tAddress=m_CurAddr-m_nLinePerPage*sizeof(DWORD);\t\n\tm_AddrLowToHigh=!m_AddrLowToHigh;\n\tUpdateContext(Address,true);\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Syser/Source/StackWatchList.h",
    "content": "#ifndef _STACK_WATCH_LIST_H_\n#define _STACK_WATCH_LIST_H_\n\ntypedef DWORD\tVALUE_TYPE;\n\nenum STACK_WATCH_ADDR_MOD\n{\n\tSTACK_WATCH_ADDRESS_MOD = 0,\n\tSTACK_WATCH_OFFSET_MOD,\n\tSTACK_WATCH_REL_TO_ESP_MOD,\n\tSTACK_WATCH_REL_TO_EBP_MOD\n};\n\ntypedef enum _COMMENT_TYPE\n{\n\tCT_ASCII=0,\n\tCT_UINCODE=1,\n\tCT_SYMBOLS,\n\tCT_RETURN_ADDRESS\n}COMMENT_TYPE;\n\nclass CStackWatchList : public CWispList\n{\n\n\ttypedef struct _SEH_STR\n\t{\n\t\tDWORD dwNext;\n\t\tDWORD SEHHandler;\n\t}SEH_STR;\n\ttypedef TMap<DWORD,DWORD> SEH_MAP;\n\n\t//typedef bool (CStackWatchList::*STACK_HOTKEY_FP)(IN UINT Index);\n\n\t//class CStackHotKey\n\t//{\n\t//public:\n\t//\tUINT m_ColIndex;\n\t//\tSTACK_HOTKEY_FP m_fpHotKey;\n\t//\tCStackHotKey(){};\n\t//\tCStackHotKey(UINT Index,STACK_HOTKEY_FP fpHotKey):m_ColIndex(Index),m_fpHotKey(fpHotKey){};\n\t//\t~CStackHotKey(){}\n\t//};\n\n\ttypedef TMap<UINT,UINT> STACKHOTKEYMAP;\npublic:\n\tCStackWatchList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnCmdVSlide)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventShowEBP)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowESP)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowCode)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowData)\n\tDECLARE_WISP_MSG_EVENT(OnEventAddressModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventOffsetModeHex)\n\tDECLARE_WISP_MSG_EVENT(OnEventRelativeToESP)\n\tDECLARE_WISP_MSG_EVENT(OnEventRelativeToEBP)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleAddressOrder)\n\tDECLARE_WISP_MSG_EVENT(OnShowCodeByAddress)\n\tDECLARE_WISP_MSG_EVENT(OnShowDataByAddress)\n\npublic:\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n\tvoid\tGetAddressString(ULPOS Address,WISP_PSTR szBuffer);\n\tvoid\tUpdateContext(ULPOS Address,bool bRelocal=false);\n\tvoid\tResetContext();\n\t\n\tbool\tGetValueSym(ULPOS Address,VALUE_TYPE Value,WISP_COLOR_CHAR* szBuffer,int ccLen,COMMENT_TYPE* CommentType);\n\tvoid\tGetSEHSym(ULPOS Address,VALUE_TYPE Value,WISP_COLOR_CHAR* szColorBuffer,int ccLen);\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tPopupMenu(IN WISP_MSG* pMsg);\n\tvoid\tAttachShortcutKey();\n\tDWORD\tFindShortcutKey(DWORD CmdID);\n\tvoid\tInitSEHMap();\n\tint\t\tm_ScrollSpace;\n\tULPOS\tm_CurAddr;\n\tHANDLE\tm_hMenuShowCode;\n\tHANDLE\tm_hMenuShowData;\n\tHANDLE\tm_hAddrLowToHigh;\n\tCWispMenu m_PopupMenu;\n\tSTACK_WATCH_ADDR_MOD\tm_AddrShowMode;\n\tULPOS\t\tm_BaseActiveAddress;\n\tWISP_POINT m_RightMenuPoint;\n\t/*******************************************************************************************/\n\t/* m_AddrLowToHigh = true ַʾӵ͵ַߵַ                                       */\n\t/*******************************************************************************************/\n\tbool\tm_AddrLowToHigh;   \n\tSTACKHOTKEYMAP m_HotKeyMap;\n\tSEH_MAP m_SehMap;\n\tSEH_MAP m_RSehMap;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/Syser/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#ifndef CODE_OS_NT_DRV\n#include <iostream>\n#include <fstream>\n#include <list>  \n#include <map> \n#include <vector>\n#include <algorithm> \nusing namespace std;\n#endif \n   \n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n//#include \"../../SerialNumber/Source/SerialNumber.h\"\n//#include \"../../SerialNumber/Source/Validate.h\"\n\n\n#include \"X86Define.h\"\n#include <SyserDebugger.h>\n#include \"../../Addition/DiaSDK2005/include/cvconst.h\"\n\n#ifdef\tCODE_OS_NT_DRV\n\n#include <windef.h>\n#include <wingdi.h>\n#include <winddi.h>\n#include <ntddvdeo.h>\n#include <hidusage.h>\n#include <hidpi.h>\n#include \"NTUtility.h\" \n#include \"Undoc.h\"\n#include \"pcidef.h\"\n#include \"pci.h\"\n#include \"SyserDefine.h\"\n#include \"OSData.h\"\n#include \"X86Optr.h\"\n#include \"GlobalVariable.h\"\n\n#include \"../../SysBoot/Source/SysBoot.h\"\n#include \"../../SysLang/Source/SysLang.h\"\n//#include \"../../SDbgMsg/Source/SDbgMsg.h\"\n#include \"../../BootVid/Source/bootvid.h\"\n\n#define\tAnsiToUnicode\t\t\tSyserAnsiToUnicode\n#define\tUnicodeToAnsi\t\t\tSyserUnicodeToAnsi\n\n#else\t//CODE_OS_WIN\n\n#include <DbgHelp.h>\n#include <tlhelp32.h>\n#include <PsApi.h>\n#include \"SyserDefine.h\"\n#include \"../../WinWisp/Source/WinWisp.h\"\n#include \"../../SyserApp/Source/SourceDebug.h\"\n#include \"../../SyserApp/Source/NoPDBSymbol.h\"\n\n#endif\n\n#include \"Resource.h\"\n#include \"SyserResource.h\"\n#include \"SyserOption.h\"\n#include \"ColorOption.h\"\n#include \"SyserMemoryReadWrite.h\"\n#include \"../../Addition/SyserDebugger/SDSymbol.h\"\n#include \"../../Addition/SyserDebugger/SyserVersion.h\"\n#endif\n\n\n\n\n"
  },
  {
    "path": "Project/Syser/Source/StringReference.cpp",
    "content": "#include \"stdafx.h\"\n#include \"StringReference.h\"\n#include \"Syser.h\"\nCFindString::CFindString()\n{\n\n}\nCFindString::~CFindString()\n{\n\n}\n\nbool CFindString::IsPrint(const BYTE cChar)\n{\n\tif (cChar<0x20 || cChar==0xff)\n\t\treturn false;\n\treturn true;\n}\n\nbool CFindString::IsAlpha(const BYTE cChar)\n{\n\treturn (cChar>=0x20 && cChar <=0x7f)? true:false;\n}\n/////////////////////////////////////////////////////////\n//        λΧ   λ  ַ ַ\n// ˫ֽ2  B0A1F7FE   6768    6763    \n/////////////////////////////////////////////////////////\nbool CFindString::IsSimplified(const WORD wChar)\n{\n\tBYTE LowByte,HighByte;\n\n\tHighByte = wChar & 0x00ff;\n\tLowByte  = wChar >> 8;\n\n\tif ((HighByte >= 0xb0 && HighByte <= 0xf7) && (LowByte  >= 0xa1 && LowByte <= 0xfe))\t\n\t\treturn true;\n\treturn false;\n}\n/////////////////////////////////////////////////////////\n//        λΧ   λ  ַ  ַ\n// ˫ֽ5  A840A9A0    192     166  ͼη\n// ˫ֽ1  A1A1A9FE    846     718  ͼη\n/////////////////////////////////////////////////////////\nbool CFindString::IsGraphic(const WORD wChar)\n{\n\tBYTE LowByte,HighByte;\n\t\n\tHighByte = wChar & 0x00ff;\n\tLowByte  = wChar >>8;\n\t\n\tif((LowByte >= 0xa1 && LowByte <= 0xfe) && (HighByte >= 0xa1 && HighByte <= 0xa9))\n\t\treturn true;\t\n\tif((LowByte  >= 0x40 && LowByte  <= 0xa0) && (HighByte >= 0xa8 && HighByte <= 0xa9))\n\t\treturn true;\n\treturn false;\n}\nbool CFindString::SearchImageMemory(DWORD Address)\n{\n\tCMemPEFile MemPEFile;\n\tint i;\n\tDWORD BaseAddress;\n\tCDbgModule*pDbgModule;\n#ifdef CODE_OS_NT_DRV\n\tpDbgModule = gpSyser->m_pSysDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL)\n#endif\n\t\tpDbgModule = gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL)\n\t\treturn false;\n\t\n\tBaseAddress = pDbgModule->m_ModuleBase;\n\tif(BaseAddress==0)\n\t\tBaseAddress+=0x400000;\n\tif(MemPEFile.Open(BaseAddress,PE_OPEN_NO_IMPORT|PE_OPEN_NO_EXPORT,CDebugger::ReadMemory,gpSyser->m_pDebugger)==false)\n\t\treturn false;\n\tfor(i = 0 ; i < MemPEFile.m_SectCount;i++)\n\t{\n\t\tif(MemPEFile.m_Section[i].Characteristics & IMAGE_SCN_MEM_EXECUTE)\n\t\t{\n\t\t\tSearchSectionMemory(MemPEFile.m_Section[i].VirtualAddress+BaseAddress,MemPEFile.m_Section[i].VirtualSize,MemPEFile.m_ImageBase,MemPEFile.m_ImageSize);\n\t\t}\n\t}\t\n\tMemPEFile.Close();\n\treturn true;\n}\n#define  SHOW_HEX 0\n\nbool CFindString::SearchSectionMemory(DWORD Address,DWORD dwSize,DWORD ImageBase,DWORD ImageSize)\n{\n\tDWORD i,Length;\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tchar DisBuffer[256];\n\tchar DisBuffer2[256];\n\tBYTE OutBuffer[512];\n\tint OutputLen;\n\tWCHAR wBuffer[256];\n\tbool bIsUnicode=true;\n\tCInstrSym InstrSym;\n\tINSTRUCTION_INFORMATION InstInfo;\n\tDWORD InstLen;\n\tULONGLONG Value;\n\tInstInfo.CodeMode=1;\n\tInstInfo.CodeBuff=CodeBuffer;\n\tInstInfo.pasm=DisBuffer2;\n\tCodeBuffer[0]=0;\n\tDWORD Count=0;\n\tfor(i=0;i<dwSize;i+=Length)\n\t{\n\n\t\tLength=gpSyser->m_pDebugger->ReadMemory(Address+i,CodeBuffer,MAX_INSTR_LEN);\n\t\tif(Length==0)\n\t\t{\n\t\t\tAddress = ((Address+i)&0xfffff000) + 0x1000;\n\t\t\tLength = 0x1000-((Address+i)%0xfff);\n\t\t\tcontinue;\n\t\t}\n\t\tInstInfo.eip=Address+i;\t\n\t\tInstLen = InstrSym.Disassembler(&InstInfo);\n\t\tif(InstLen==0)\n\t\t{\n\t\t\tLength+=1;\n\t\t\tcontinue;\n\t\t}\n\t\tLength=InstLen;\n\n\t\tif(TStrICmp(InstInfo.Name,\"mov\")==0)\n\t\t{\n\t\t\tif(InstInfo.op[1].mode==mode_address)\n\t\t\t\tgoto local_001;\n\t\t\tif(InstInfo.op[1].mode==mode_immed &&InstInfo.op[1].opersize==4)\n\t\t\t{\t\t\t\t\n\t\t\t\tif(InstInfo.op[1].immed.immed_value>ImageBase && InstInfo.op[1].immed.immed_value<ImageBase+ImageSize)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tif(gpSyser->m_pDebugger->ReadMemory((ULPOS)InstInfo.op[1].immed.immed_value,DisBuffer,sizeof(DisBuffer))==sizeof(DisBuffer))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(GetString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen)==true)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(OutputLen ==2)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(GetUnicodeString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tValue =OutputLen/sizeof(WCHAR);\n\t\t\t\t\t\t\t\t\tValue|=0x80000000;\n\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[1].immed.immed_value;\n\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tTStrCpy(wBuffer,InstInfo.pasm);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tValue =OutputLen;\n\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[1].immed.immed_value;\n\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTStrCpy(wBuffer,OutBuffer);\n\t\t\t\t\t\t\t\tAnsiToUnicode((const char*)OutBuffer,wBuffer,256);\n\t\t\t\t\t\t\t\n\t#if SHOW_HEX\n\t\t\t\t\t\t\t\tif(OutputLen>3)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfor(int k = 0;k<OutputLen;k++)\n\t\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%02x \"),OutBuffer[k]);\n\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t\t\t\t\t\t\t}\n\t#endif\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrICmp(InstInfo.Name,\"lea\")==0)\n\t\t\t{\nlocal_001:\n\t\t\t\tif(InstInfo.op[1].mode==mode_immed && InstInfo.op[1].opersize==4)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tif(InstInfo.op[1].addr.displacement >ImageBase && InstInfo.op[1].addr.displacement<ImageBase+ImageSize)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(gpSyser->m_pDebugger->ReadMemory((ULPOS)InstInfo.op[1].addr.displacement,DisBuffer,sizeof(DisBuffer))==sizeof(DisBuffer))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(GetString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tTStrCpy(wBuffer,InstInfo.pasm);\n\n\t\t\t\t\t\t\t\tif(OutputLen ==2)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(GetUnicodeString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen))\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tValue =OutputLen/sizeof(WCHAR);\n\t\t\t\t\t\t\t\t\t\tValue|=0x80000000;\n\t\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[1].addr.displacement;\n\t\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tValue =OutputLen;\n\t\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[1].addr.displacement;\n\t\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tTStrCpy(wBuffer,OutBuffer);\n\t\t\t\t\t\t\t\t\tAnsiToUnicode((const char*)OutBuffer,wBuffer,256);\n\t\t\t\t\t\t\t\t\t\n\t\t#if SHOW_HEX\n\t\t\t\t\t\t\t\t\tif(OutputLen>3)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfor(int k = 0;k<OutputLen;k++)\n\t\t\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%02x \"),OutBuffer[k]);\n\t\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t\t\t\t\t\t\t\t}\n\t\t#endif\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\t\t\n\t\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\tif(TStrICmp(InstInfo.Name,\"push\")==0)\n\t\t\t{\n\t\t\t\tif(InstInfo.op[0].immed.immed_value>ImageBase && InstInfo.op[0].immed.immed_value<ImageBase+ImageSize)\n\t\t\t\t{\n\t\t\t\t\tif(gpSyser->m_pDebugger->ReadMemory((ULPOS)InstInfo.op[0].immed.immed_value,DisBuffer,sizeof(DisBuffer))==sizeof(DisBuffer))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(GetString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(OutputLen ==2)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tif(GetUnicodeString((BYTE*)DisBuffer,sizeof(DisBuffer),OutBuffer,sizeof(OutBuffer),&OutputLen))\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tValue =OutputLen/sizeof(WCHAR);\n\t\t\t\t\t\t\t\t\tValue|=0x80000000;\n\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[0].immed.immed_value;\n\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tValue =OutputLen;\n\t\t\t\t\t\t\t\t\tValue<<=32;\n\t\t\t\t\t\t\t\t\tValue|=InstInfo.op[0].immed.immed_value;\n\t\t\t\t\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.InsertUnique(Address+i,Value);\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTStrCpy(wBuffer,OutBuffer);\n\t\t\t\t\t\t\t\tAnsiToUnicode((const char*)OutBuffer,wBuffer,256);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t#if SHOW_HEX\n\t\t\t\t\t\t\t\tif(OutputLen>3)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tfor(int k = 0;k<OutputLen;k++)\n\t\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%02x \"),OutBuffer[k]);\n\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t\t\t\t\t\t\t}\n\t\t\t#endif\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t}\t\t\t\n\t\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t}\n\treturn true;\n}\nbool CFindString::GetString(IN const BYTE *InputBuffer,IN int InputBufferLen,IN OUT BYTE *OutputBuffer,IN int OutputBufferLen,OUT int *OutputLen)\n{\n\tbool bFound = true;\n\tint nLen = 0,i=0;\n\tOutputBuffer[0]=0;\n\twhile (i < InputBufferLen && nLen<OutputBufferLen-2)\n\t{\t\t\n\t\tif ('\\0' == InputBuffer[i])\n\t\t\tbreak;\t\t\t\t\n\t\tif ('\\r' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++ = 'r';\n\t\t\tnLen += 2;\n\t\t}\n\t\telse if ('\\n' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++ = 'n';\n\t\t\tnLen += 2;\n\t\t}\n\t\telse if ('\\t' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++ = 't';\n\t\t\tnLen += 2;\n\t\t}\n\t\telse if (IsAlpha(InputBuffer[i]))\n\t\t{\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\t++nLen;\t\t\t\n\t\t}\n\t\telse if (IsGraphic(\t*(WORD *)&InputBuffer[i]) || IsSimplified(*(WORD *)&InputBuffer[i]))\n\t\t{\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\t++i;\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\tnLen += 2;\n\t\t}\n\t\telse \n\t\t{\n\t\t\tbFound = FALSE;\n\t\t\tbreak;\n\t\t}\n\t\t++i;\n\t}\n\n\tif (0 == nLen)\n\t\tbFound = FALSE;\n\n\t*OutputBuffer = '\\0';\n\n\tif (bFound)\n\t{\n\t\tif (i >= InputBufferLen)\n\t\t{\n\t\t\tTStrCpy((char *)&OutputBuffer[InputBufferLen - 4], \" ...\");\n\t\t\tnLen = InputBufferLen; \n\t\t}\n\t\telse\n\t\t\tnLen+=1;\n\t}\n\n\tif (OutputLen)\n\t\t*OutputLen = nLen;\n\n\treturn bFound;\n}\nbool CFindString::GetUnicodeString(IN const BYTE *InputBuffer,IN int InputBufferLen,IN OUT BYTE *OutputBuffer,IN int OutputBufferLen,OUT int *OutputLen)\n{\n\tbool bFound = true;\n\tint nLen = 0,i=0;\n\n\twhile (i < InputBufferLen && nLen<OutputBufferLen-2)\n\t{\n\t\t\n\t\tif ('\\0' == InputBuffer[i] && '\\0' == InputBuffer[i + 1])\n\t\t\tbreak;\n\t\t\n\t\tif ('\\r' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\t*OutputBuffer++ = 'r';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\tnLen += 4;\n\t\t}\n\t\telse if ('\\n' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\t*OutputBuffer++ = 'n';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\tnLen += 4;\n\t\t}\n\t\telse if ('\\t' == InputBuffer[i])\n\t\t{\n\t\t\t*OutputBuffer++ = '\\\\';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\t*OutputBuffer++ = 't';\n\t\t\t*OutputBuffer++='\\0';\n\t\t\tnLen += 4;\n\t\t}\n\t\telse if (IsAlpha(InputBuffer[i]))\n\t\t{\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\tif(InputBuffer[i+1]!=0)\n\t\t\t{\n\t\t\t\tbFound = FALSE;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t*OutputBuffer++='\\0';\n\t\t\tnLen+=2;\n\t\t}\n\t\telse if (IsGraphic(\t*(WORD *)&InputBuffer[i]) || IsSimplified(*(WORD *)&InputBuffer[i]))\n\t\t{\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\t++i;\n\t\t\t*OutputBuffer++ = InputBuffer[i];\n\t\t\tnLen += 2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbFound = FALSE;\n\t\t\tbreak;\n\t\t}\n\t\ti+=2;\n\t}\n\n\tif (0 == nLen)\n\t\tbFound = FALSE;\n\n\t*OutputBuffer++ = '\\0';\n\t*OutputBuffer++ = '\\0';\n\tif (bFound)\n\t{\n\t\tif (i >= InputBufferLen)\n\t\t{\n\t\t\tTStrCpy((char *)&OutputBuffer[InputBufferLen - 4], \" ...\");\n\t\t\tnLen = InputBufferLen; \n\t\t}\n\t\telse\n\t\t\tnLen+=2;\n\t}\n\n\tif (OutputLen)\n\t\t*OutputLen = nLen;\n\n\treturn bFound;\n}"
  },
  {
    "path": "Project/Syser/Source/StringReference.h",
    "content": "#ifndef _STRINGREFERENCE_H_\n#define _STRINGREFERENCE_H_\n\nclass CFindString\n{\npublic:\n\tbool IsPrint(const BYTE cChar);\n\tbool IsAlpha(const BYTE cChar);\n\tbool IsSimplified(const WORD wChar);\n\tbool IsGraphic(const WORD wChar);\n\tbool SearchImageMemory(DWORD Address);\n\tbool SearchSectionMemory(DWORD Address,DWORD dwSize,DWORD ImageBase,DWORD ImageSize);\npublic:\n\tCFindString();\n\t~CFindString();\n\tbool GetString(IN const BYTE *InputBuffer,IN int InputBufferLen,IN OUT BYTE *OutputBuffer,IN int OutputBufferLen,OUT int *OutputLen);\n\tbool GetUnicodeString(IN const BYTE *InputBuffer,IN int InputBufferLen,IN OUT BYTE *OutputBuffer,IN int OutputBufferLen,OUT int *OutputLen);\n\n};\n\n#endif //_STRINGREFERENCE_H_"
  },
  {
    "path": "Project/Syser/Source/SymbolDownloader.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SymbolDownloader.h\"\n#include \"NoPDBSymbol.h\"\n#ifdef CODE_OS_WIN\n#include <shlobj.h>\n#include \"SyserApp.h\"\n#endif\n\nchar* CSymbolDownloaderDlg::m_SymbolSiteDefaultPath=\"http://msdl.microsoft.com/download/symbols\";\nenum CSymbolDownloaderDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_ADDFILE = WISP_ID_USER_START,\n\t\tCMD_ID_BUTTON_DELFILE,\n\t\tCMD_ID_BUTTON_GETSYMBOL,\n\t\tCMD_ID_BUTTON_STOP,\n\t\tCMD_ID_LIST_FILE,\n\t\tCMD_ID_EDIT_SYMBOLSITE,\n\t\tCMD_ID_BUTTON_RESETSYMBOLSITE,\n\t\tCMD_ID_EDIT_PDBSAVEPATH,\n\t\tCMD_ID_BUTTON_BROWSEPDBSAVEPATH,\n\t\tCMD_ID_EDIT_SDSSAVEPATH,\n\t\tCMD_ID_BUTTON_BROWSESDSSAVEPATH,\n};\nWISP_MSG_MAP_BEGIN(CSymbolDownloaderDlg)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n//WISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\n//WISP_MSG_CMD_MAP_BEGIN(CSymbolDownloaderDlg)\n//WISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSymbolDownloaderDlg)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_RESETSYMBOLSITE,OnEventButtonResetSymbolSite)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_BROWSEPDBSAVEPATH,OnEventButtonBrowsePDBSavePath)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_BROWSESDSSAVEPATH,OnEventButtonBrowseSDSSavePath)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_STOP,OnEventButtonStop)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_ADDFILE,OnEventButtonAddFile)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_DELFILE,OnEventButtonDelFile)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_GETSYMBOL,OnEventButtonGetSymbol)\nWISP_MSG_EVENT_MAP_END\n\nWISP_FORM_RES_ITEM CSymbolDownloaderDlg::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,680,600},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL//WSTR(\"Symbol Downloader\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{520,40,76,24},\n\t\tCMD_ID_BUTTON_ADDFILE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Add File(s)\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"ļб\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{520,75,76,24},\n\t\tCMD_ID_BUTTON_DELFILE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Del File(s)\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"ɾббѡֵļ\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{520,110,76,24},\n\t\tCMD_ID_BUTTON_GETSYMBOL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Get Symbols\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"бļصķļ\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{520,145,76,24},\n\t\tCMD_ID_BUTTON_GETSYMBOL,\n\t\tCMD_ID_BUTTON_STOP,\n\t\tWSTR(\"Stop\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"бļصķļ\")\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{16,40,500,360},\n\t\tCMD_ID_LIST_FILE,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL//WSTR(\"ļб\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{36,440,68,16},\n\t\t0xffffffff,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Symbol Site\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"ŷĵַ\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{36,467,68,16},\n\t\t0xffffffff,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Local PDB\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"ļıĿ¼\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{36,494,68,16},\n\t\t0xffffffff,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Path to SDS\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"Syser Debugger ļĿ¼\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{110,435,370,24},\n\t\tCMD_ID_EDIT_SYMBOLSITE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL//WSTR(\"break condition when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{110,462,370,24},\n\t\tCMD_ID_EDIT_PDBSAVEPATH,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL//WSTR(\"break condition when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{110,489,370,24},\n\t\tCMD_ID_EDIT_SDSSAVEPATH,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL//WSTR(\"break condition when break point touched\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{490,435,76,24},\n\t\tCMD_ID_BUTTON_RESETSYMBOLSITE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Reset\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"Ϊȱʡֵ\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{490,462,76,24},\n\t\tCMD_ID_BUTTON_BROWSEPDBSAVEPATH,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"ɾббѡֵļ\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{490,489,76,24},\n\t\tCMD_ID_BUTTON_BROWSESDSSAVEPATH,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t\tNULL,\n\t\tNULL//WSTR(\"бļصķļ\")\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nCSymbolDownloaderDlg::CSymbolDownloaderDlg()\n{\n\tm_pFormRes = m_FormRes;\n\tmemset(m_SymbolSitePath,0,sizeof(m_SymbolSitePath));\n\tstrcpy(m_SymbolSitePath,m_SymbolSiteDefaultPath);\n\tm_SDSSavePathIndex=0;\n\tm_PDBSavePathIndex=0;\n\tmemset(m_SDSSavePath,0,sizeof(m_SDSSavePath));\n\tmemset(m_PDBSavePath,0,sizeof(m_PDBSavePath));\n\tm_GetSymbolThread=false;\n\tm_Stop=false;\n\tInitializeCriticalSection(&m_CriticalSection);\n}\nCSymbolDownloaderDlg::~CSymbolDownloaderDlg()\n{\n\n}\nbool CSymbolDownloaderDlg::OnEventButtonResetSymbolSite(IN WISP_MSG*pMsg)\n{\n\tWCHAR* Text=new WCHAR[TStrLen(m_SymbolSiteDefaultPath)+1];\n\tTStrCpy(Text,m_SymbolSiteDefaultPath);\n\tTStrCpy(m_SymbolSitePath,m_SymbolSiteDefaultPath);\n\tm_SymbolSiteEdit->SetWindowText(Text);\n\tm_SymbolSiteEdit->Update();\n\treturn true;\n}\nint CALLBACK BrowsePDBSavePathCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)\n{\n\tchar PathName[1024];\n\tBOOL bRet;\n\tLPITEMIDLIST lpItemIDList=NULL;\n\tswitch(uMsg) {\n\tcase BFFM_INITIALIZED:\n\t\tSendMessage(hwnd,BFFM_SETSELECTIONA,1,lpData);\n\t\tbreak;\n\tcase BFFM_SELCHANGED:\n\t\tbRet = SHGetPathFromIDList((LPITEMIDLIST)lpData,PathName);\n\t\tif(bRet)\n\t\t{\n\t\t\tSendMessage(hwnd,BFFM_SETSTATUSTEXTA,0,(LPARAM)PathName);\n\t\t}\n\t\tbreak;\n\tcase BFFM_VALIDATEFAILED:\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nint CALLBACK BrowseCallbackSDSSavePathProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData)\n{\n\tchar PathName[1024];\n\tBOOL bRet;\n\tLPITEMIDLIST lpItemIDList=NULL;\n\tswitch(uMsg) {\n\tcase BFFM_INITIALIZED:\n\t\tSendMessage(hwnd,BFFM_SETSELECTIONA,1,lpData);\n\t\tbreak;\n\tcase BFFM_SELCHANGED:\n\t\tbRet = SHGetPathFromIDList((LPITEMIDLIST)lpData,PathName);\n\t\tif(bRet)\n\t\t{\n\t\t\tSendMessage(hwnd,BFFM_SETSTATUSTEXTA,0,(LPARAM)PathName);\n\t\t}\n\t\tbreak;\n\tcase BFFM_VALIDATEFAILED:\n\t\treturn 1;\n\t}\n\treturn 0;\n\treturn 0;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonBrowsePDBSavePath(IN WISP_MSG*pMsg)\n{\n\tchar PathName[1024];\n\tBOOL bRet;\n\tLPITEMIDLIST lpItemIDList=NULL;\n\tchar DisplayName[]=\"c:\\\\\";\n\tBROWSEINFO BrowseInfo;\n\tLPMALLOC pMalloc;\n\tmemset(&BrowseInfo,0,sizeof(BROWSEINFO));\n\tif(SHGetMalloc(&pMalloc)==E_FAIL)\n\t\treturn true;\n\tBrowseInfo.hwndOwner=gpSyser->m_hLocalWnd;;\n\tBrowseInfo.pszDisplayName=DisplayName;\n\tBrowseInfo.lpszTitle=\"ѡһ PDB ļĴĿ¼\";\n\tBrowseInfo.pidlRoot=NULL;\n\tBrowseInfo.ulFlags=\tBIF_VALIDATE|BIF_EDITBOX|BIF_RETURNFSANCESTORS|BIF_STATUSTEXT;\n\tBrowseInfo.lpfn=BrowsePDBSavePathCallbackProc;\n\tTStrCpy(m_PDBSavePath,\"C:\\\\windows\");\n\tBrowseInfo.lParam=(LPARAM)m_PDBSavePath;\n\tlpItemIDList = SHBrowseForFolder(&BrowseInfo);\n\tif(lpItemIDList==NULL)\n\t\treturn true;\n\tbRet = SHGetPathFromIDList(lpItemIDList,PathName);\n\tpMalloc->Free(lpItemIDList);\n\tpMalloc->Release();\n\tif(bRet)\n\t{\n\t\tWCHAR* pText = new WCHAR[TStrLen(PathName)+1];\n\t\tTStrCpy(pText,PathName);\n\t\tm_PDBSavePathEdit->SetWindowText(pText)\t;\n\t\tdelete []pText;\n\t}\n\treturn true;\n}\nbool CSymbolDownloaderDlg::OnEventButtonBrowseSDSSavePath(IN WISP_MSG*pMsg)\n{\n\tLPITEMIDLIST lpItemIDList=NULL;\n\tchar PathName[1024];\n\tBOOL bRet;\n\tchar DisplayName[]=\"\";\n\tBROWSEINFO BrowseInfo;\n\tLPMALLOC pMalloc;\n\tmemset(&BrowseInfo,0,sizeof(BROWSEINFO));\n\tif(SHGetMalloc(&pMalloc)==E_FAIL)\n\t\treturn true;\n\tBrowseInfo.hwndOwner=gpSyser->m_hLocalWnd;;\n\tBrowseInfo.pszDisplayName=DisplayName;\n\tBrowseInfo.lpszTitle=\"ѡһת SDS ļĴĿ¼\";\n\tBrowseInfo.pidlRoot=NULL;\n\tBrowseInfo.ulFlags=\tBIF_VALIDATE|BIF_EDITBOX|BIF_RETURNFSANCESTORS|BIF_STATUSTEXT;\n\tBrowseInfo.lpfn=BrowseCallbackSDSSavePathProc;\n\tTStrCpy(m_SDSSavePath,\"c:\\\\windows\");\n\tBrowseInfo.lParam=(LPARAM)m_SDSSavePath;\n\tlpItemIDList = SHBrowseForFolder(&BrowseInfo);\n\tif(lpItemIDList==NULL)\n\t\treturn true;\n\tbRet = SHGetPathFromIDList(lpItemIDList,PathName);\n\tpMalloc->Free(lpItemIDList);\n\tpMalloc->Release();\n\tif(bRet)\n\t{\n\t\tWCHAR* pText = new WCHAR[TStrLen(PathName)+1];\n\t\tTStrCpy(pText,PathName);\n\t\tm_SDSSavePathEdit->SetWindowText(pText)\t;\n\t\tdelete []pText;\n\t}\n\treturn true;\n}\nbool CSymbolDownloaderDlg::OnEventButtonAddFile(IN WISP_MSG*pMsg)\n{\n\n\tchar szBuffer[MAX_FN_LEN]=\"Binaries Files|*.exe;*.dll;*.cpl;*.sys;*.scr;*.ocx|All Files|*.*|\";\n\tchar szFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = gpSyser->m_hLocalInst;\n\tOpenFileName.hwndOwner = gpSyser->m_hLocalWnd;\n\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t{\n\t\tif(szBuffer[n]=='|')\n\t\t\tszBuffer[n]=0;\n\t}\n\tOpenFileName.lpstrFilter = szBuffer;\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tgpSyser->LockTimer();\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t{\n\t\tgpSyser->UnlockTimer();\n\t\treturn true;\n\t}\n\tgpSyser->UnlockTimer();\n\tWORKFILELIST::IT FindIT;\n\tHANDLE hItem;\n\tFindIT = m_CurrentFileList.InsertUnique(szFileName);\n\tif(FindIT!=m_CurrentFileList.End())\n\t{\n\t\t(*FindIT).FileName = FindIT.Key();\n\t\thItem = m_FileList->InsertItemA(szFileName);\n\t\tm_FileList->SetItemData(hItem,1,0);\n\t}\n\t/*\n\tFindIT = m_CurrentFileList.Find(szFileName);\n\tif(FindIT==m_CurrentFileList.End())\n\t{\n\t\tm_CurrentFileList.InsertUnique()\n\t\tm_CurrentFileList.Append(szFileName);\n\t}\n\t*/\n\tUpdate();\n\treturn true;\n}\nbool CSymbolDownloaderDlg::OnEventButtonStop(IN WISP_MSG*pMsg)\n{\n\tm_Stop=true;\n\treturn true;\n}\nbool CSymbolDownloaderDlg::OnEventButtonDelFile(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem,hNextItem;\n\tWCHAR* pFileName;\n\tchar* Name;\n\tWORKFILELIST::IT FindIT;\n\thItem = m_FileList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tdo \n\t{\n\t\tpFileName = m_FileList->GetItemText(hItem);\n\t\tName = new char[TStrLen(pFileName)+1];\n\t\tTStrCpy(Name,pFileName);\n\t\tFindIT = m_CurrentFileList.Find(Name);\n\t\tif(FindIT!=m_CurrentFileList.End())\n\t\t\tm_CurrentFileList.Remove(FindIT);\n\t\thNextItem = m_FileList->GetNextItem(hItem,WISP_WLIS_SELECTED);\n\t\tm_FileList->RemoveItem(hItem);\n\t\thItem=hNextItem;\n\t\tdelete Name;\n\t} while(hItem);\n\tUpdate();\n\treturn true;\n}\n\n\nDWORD WINAPI GetSymbolThread(LPVOID lpParameter)\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\tWCHAR* PathName;\n\tchar* pStr;\n\tCGetSymbolStat CurSymbolStat;\n\t\n\tCSymbolDownloaderDlg* pDlg = (CSymbolDownloaderDlg*)lpParameter;\n\tpDlg->m_GetSymbolThread=true;\n\tpDlg->m_Stop=false;\n\tfor(;pDlg->m_Stop==false;)\n\t{\n\n\t\tEnterCriticalSection(&pDlg->m_CriticalSection);\n\t\tBeginIT=pDlg->m_CurrentFileList.Begin();\n\t\tEndIT=pDlg->m_CurrentFileList.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tif((*BeginIT).Stat>=2)\n\t\t\t\tcontinue;\n\t\t\tbreak;\n\t\t}\n\t\tif(BeginIT==EndIT)\n\t\t{\n\t\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\t\tpDlg->m_GetSymbolThread=false;\n\t\t\tbreak;\n\t\t}\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\tPathName = pDlg->m_PDBSavePathEdit->GetWindowText();\n\t\t\tpStr = new char[TStrLen(PathName)+1];\n\t\t\tstPDBName.Name = pStr;\n\t\t\tTStrCpy(pStr,PathName);\n\t\t\tPDBIT = pDlg->m_PDBSavePathList.Find(stPDBName);\n\t\t\tif(PDBIT==pDlg->m_PDBSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stPDBName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete []pStr;\n\t\t\t\tstPDBName=*PDBIT;\n\t\t\t}\n\t\t\tPathName = pDlg->m_SDSSavePathEdit->GetWindowText();\n\t\t\tpStr = new char[TStrLen(PathName)+1];\n\t\t\tstSDSName.Name = pStr;\n\t\t\tTStrCpy(pStr,PathName);\n\t\t\tSDSIT = pDlg->m_SDSSavePathList.Find(stSDSName);\n\t\t\tif(SDSIT==pDlg->m_SDSSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stSDSName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete []pStr;\n\t\t\t\tstSDSName=*SDSIT;\n\t\t\t}\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\n\t\t}\n\t\t(*BeginIT).Stat=2;\n\t\tCurSymbolStat=(*BeginIT);\n\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\tWIN32_FIND_DATA FindData;\n\t\tHANDLE hFindHandle;\n\t\thFindHandle = FindFirstFile(CurSymbolStat.PDBSavePath,&FindData);\n\t\tif(INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.PDBSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\thFindHandle = FindFirstFile(CurSymbolStat.SDSSavePath,&FindData);\n\t\tif(INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.SDSSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\tpDlg->DownLoadSymbol(CurSymbolStat);\n\t}\n\treturn 0;\n}\n\nbool CSymbolDownloaderDlg::DownLoadSymbol(CGetSymbolStat& SymbolStat)\n{\n\tCPEFile PEFile;\n\tDWORD Index;\n\tPE_DEBUG_MISC DebugMisc;\n\tPE_DEBUG_PDB DebugPDB;\n\tPE_DEBUG_CODEVIEW DebugCodeView;\n\tPPE_DEBUG_DIRECTORY pDebugDirectory;\n\tPE_DATA_DIR DebugDataDirectory;\n\tDWORD DebugDirecotryNum=0;\n\tDWORD Signature;\n\tBOOL bRet;\n\tDWORD ErrorCode=0;\n\tDWORD SymbolFileType = 0xffffffff;\n\tDWORD ReadLen;\n\tDWORD PathLen;\n\tBYTE * Buffer=NULL;\n\tTList<char*>DeleteFileList;\n\tchar* NoPathFileName;\n\tchar FindPath[MAX_PATH+1];\n\tchar FileName[MAX_PATH+1];\n\tchar FindFileName[MAX_PATH+1];\n\n\t\n\tmemset(&DebugDataDirectory,0,sizeof(PE_DATA_DIR));\n\tif(PEFile.Open(SymbolStat.FileName)==false)\n\t\treturn false;\n\tif(PEFile.GetDataDirectory(6,&DebugDataDirectory)==false)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.VirtualAddress ==0)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.Size>0x10000||DebugDataDirectory.Size==0)\n\t\tgoto local_quit;\n\tNoPathFileName = TGetFileName(SymbolStat.FileName);\n\tPathLen = *(DWORD*)&NoPathFileName-*(DWORD*)&SymbolStat.FileName;\n\tBuffer=new BYTE[DebugDataDirectory.Size];\n\tmemset(Buffer,0,DebugDataDirectory.Size);\n\tReadLen = PEFile.ReadImageMemory(DebugDataDirectory.VirtualAddress+PEFile.m_PEHead.ImageBase,Buffer,DebugDataDirectory.Size);\n\tif(ReadLen!=DebugDataDirectory.Size)\n\t\tgoto local_quit;\n\tpDebugDirectory =(PPE_DEBUG_DIRECTORY) Buffer;\n\tDebugDirecotryNum = DebugDataDirectory.Size / sizeof(PE_DEBUG_DIRECTORY);\n\tfor(Index = 0; Index<DebugDirecotryNum;Index++)\n\t{\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_CODEVIEW&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&Signature,sizeof(Signature))==false)\n\t\t\t\tcontinue;\n\t\t\tif(Signature==0x53445352)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugPDB,sizeof(DebugPDB))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=3;\n\t\t\t}\n\t\t\telse if(Signature==0x3031424e)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugCodeView,sizeof(DebugCodeView))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=2;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_MISC&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugMisc,sizeof(PE_DEBUG_MISC))==false)\n\t\t\t\tcontinue;\n\t\t\tSymbolFileType=1;\n\t\t\tcontinue;\n\t\t}\n\t}\n\tsprintf(FindPath,\"srv*%s*%s\",SymbolStat.PDBSavePath,SymbolStat.FindPath);\nlocal_001:\n\tswitch(SymbolFileType)\n\t{\n\tcase 1:\n\t\tTStrCpy(FileName,DebugMisc.Data);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&PEFile.m_PEHead.TimeDateStamp),PEFile.m_PEHead.SizeOfImage,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tif(bRet)\n\t\t{\n\t\t\tif(GetDebugCodeviewByDbg(FindFileName,&DebugCodeView))\n\t\t\t{\n\t\t\t\tSymbolFileType=2;\n\t\t\t\tTStrNCpy(FileName,SymbolStat.FileName,PathLen+1);\n\t\t\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\t\t\tif(TStrICmp(FileName,FindFileName))\n\t\t\t\t{\n\t\t\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t\t\t{\n\t\t\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tgoto local_001;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 2:\n\t\tTStrCpy(FileName,DebugCodeView.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&DebugCodeView.TimeDateStamp),DebugCodeView.Age,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tbreak;\n\tcase 3:\n\t\tTStrCpy(FileName,DebugPDB.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,&DebugPDB.Guid,DebugPDB.Age,0,SSRVOPT_GUIDPTR,FindFileName,NULL,0);\n\t\tbreak;\n\tdefault:\n\t\tbRet=false;\n\t\tbreak;\n\t}\n\tif(bRet==false)\n\t{\n\t\t\n\t\tErrorCode = GetLastError();\n\t\tsprintf(FileName,\"%08x %d \\n\",ErrorCode,ErrorCode);\n\t\t::MessageBox(NULL,FileName,FileName,MB_OK);\n\t}\n\telse\n\t{\n\t\tTStrNCpy(FileName,SymbolStat.FileName,PathLen+1);\n\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\tif(TStrICmp(FileName,FindFileName))\n\t\t{\n\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t{\n\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t}\n\t\t}\n\t}\nlocal_quit:\n\tif(Buffer)\n\t\tdelete []Buffer;\n\tPEFile.Close();\n\treturn true;\n}\nbool CSymbolDownloaderDlg::TranslateSymbolFile(IN int Type,IN char* pExeFileName,OUT char* pSymbolFileName)\n{\n\tif(Type==1)\n\t{\n\t\tCSourceDebug PDBExplorer;\n\t\treturn PDBExplorer.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n\t}\n\tCNoPDBSymbol NoPDBSymbol;\n\tNoPDBSymbol.Init();\n\treturn NoPDBSymbol.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n}\nbool CSymbolDownloaderDlg::GetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView)\n{\n\tDWORD Signature=('0'<<24)+('1'<<16)+('B'<<8)+'N';\n\tDWORD i;\n\tbool bRet=false;\n\tCImageFile ImageFile;\n\tBYTE *Buf=NULL;\n\n\tif(ImageFile.Open(DbgFileName)==false)\n\t\treturn false;\n\tif(ImageFile.m_FileSize<=0x100000*10&&ImageFile.m_FileSize>100)\n\t{\n\t\tBuf = new BYTE[ImageFile.m_FileSize];\n\t\tif(ImageFile.ReadFile(0,Buf,ImageFile.m_FileSize)==false)\n\t\t{\n\t\t\tgoto local_quit;\n\t\t}\n\t\tfor(i = 0;i < ImageFile.m_FileSize-3;i++)\n\t\t{\n\t\t\tif(*(DWORD*)&Buf[i]==Signature)\n\t\t\t{\n\t\t\t\tbRet=true;\n\t\t\t\t*DebugCodeView =*(PPE_DEBUG_CODEVIEW)&Buf[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\t\nlocal_quit:\n\tif(Buf)\n\t\tdelete []Buf;\n\tImageFile.Close();\n\treturn bRet;\n}\nbool CSymbolDownloaderDlg::OnEventButtonGetSymbol(IN WISP_MSG*pMsg)\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSYMFINDPATHLIST::IT SYMIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tSTPATHNAME stSymFindPathName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\tWCHAR* PathName;\n\tchar* pStr;\n\t\n\tEnterCriticalSection(&m_CriticalSection);\n\tPathName = m_SymbolSiteEdit->GetWindowText();\n\tpStr = new char[TStrLen(PathName)+1];\n\tstSymFindPathName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tSYMIT = m_SymFindPathList.Find(stSymFindPathName);\n\tif(SYMIT==m_SymFindPathList.End())\n\t{\n\t\tm_SymFindPathList.Append(stSymFindPathName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstSymFindPathName=*SYMIT;\n\t}\n\n\tPathName = m_PDBSavePathEdit->GetWindowText();\n\tpStr = new char[TStrLen(PathName)+1];\n\tstPDBName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tPDBIT = m_PDBSavePathList.Find(stPDBName);\n\tif(PDBIT==m_PDBSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stPDBName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstPDBName=*PDBIT;\n\t}\n\tPathName = m_SDSSavePathEdit->GetWindowText();\n\tpStr = new char[TStrLen(PathName)+1];\n\tstSDSName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tSDSIT = m_SDSSavePathList.Find(stSDSName);\n\tif(SDSIT==m_SDSSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stSDSName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstSDSName=*SDSIT;\n\t}\n\tBeginIT=m_CurrentFileList.Begin();\n\tEndIT=m_CurrentFileList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\t\t\t(*BeginIT).FindPath=stSymFindPathName.Name;\n\t\t}\n\t}\n\tif(m_GetSymbolThread==false)\n\t{\n\t\t::CreateThread(NULL,0x100000,GetSymbolThread,this,0,&m_GetSymbolThreadID);\n\t}\n\tLeaveCriticalSection(&m_CriticalSection);\n\treturn true;\n}\nbool CSymbolDownloaderDlg::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tInitDbgHelp();\n\tm_AddFileButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_ADDFILE);\n\tm_DelFileButton =(CWispButton*)GetFormItem(CMD_ID_BUTTON_DELFILE);\n\tm_GetSymbolButton =(CWispButton*)GetFormItem(CMD_ID_BUTTON_GETSYMBOL);\n\tm_FileList = (CWispList*)GetFormItem(CMD_ID_LIST_FILE);\n\tm_SymbolSiteEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_SYMBOLSITE);\n\tm_SymbolSiteResetButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_RESETSYMBOLSITE);\n\tm_PDBSavePathEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_PDBSAVEPATH);\n\tm_BrowsePDBSavePathButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_BROWSEPDBSAVEPATH);\n\tm_SDSSavePathEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_SDSSAVEPATH);\n\tm_BrowseSDSSavePathButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_BROWSESDSSAVEPATH);\n\tm_FileList->InsertColumn(WSTR(\"FileName\"),400);\n\tm_FileList->InsertColumn(WSTR(\"Status\"),90);\n\tm_SymSetOptions(SYMOPT_DEBUG);\n\tLoadConfigFile();\n\treturn true;\n}\nbool CSymbolDownloaderDlg::LoadConfigFile()\n{\n\tchar Buffer[1024];\n\tWCHAR wBuffer[1024];\n\tDWORD Len;\n\tchar ConfigFileName[MAX_PATH];\n\tBOOL bRet;\n\tGetModulePath(ConfigFileName);\n\tTStrCat(ConfigFileName,\"SyserApp.ini\");\n\tif(gpFileIO->IsFileExist(ConfigFileName)==false)\n\t{\n\t\tHANDLE hFile;\n\t\tgpFileIO->CreateFile(ConfigFileName,&hFile);\n\t\tgpFileIO->CloseHandle(hFile);\n\t\tbRet = WritePrivateProfileString(\"main\",\"SymbolSite\",\"http://msdl.microsoft.com/download/symbols\",ConfigFileName);\n\t\tWritePrivateProfileString(\"main\",\"SdsSavePath\",\"c:\\\\DownLoadSymbols\",ConfigFileName);\n\t\tWritePrivateProfileString(\"main\",\"PdbSavePath\",\"c:\\\\SyserSymbols\",ConfigFileName);\n\t\tWritePrivateProfileString(\"list\",\"Counter\",\"0\",ConfigFileName);\n\t}\n\n\tLen = GetPrivateProfileString(\"main\",\"SymbolSite\",\"http://msdl.microsoft.com/download/symbols\",Buffer,sizeof(Buffer),ConfigFileName);\n\tTStrCpy(wBuffer,Buffer);\n\tm_SymbolSiteEdit->SetWindowText(wBuffer);\n\tLen = GetPrivateProfileString(\"main\",\"SdsSavePath\",\"c:\\\\DownLoadSymbols\",Buffer,sizeof(Buffer),ConfigFileName);\n\tTStrCpy(wBuffer,Buffer);\n\tm_PDBSavePathEdit->SetWindowText(wBuffer);\n\tLen = GetPrivateProfileString(\"main\",\"PdbSavePath\",\"c:\\\\SyserSymbols\",Buffer,sizeof(Buffer),ConfigFileName);\n\tTStrCpy(wBuffer,Buffer);\n\tm_SDSSavePathEdit->SetWindowText(wBuffer);\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::InitDbgHelp()\n{\n\tm_DbgHelpModule = LoadLibrary(\"DbgHelp.dll\");\n\tif(m_DbgHelpModule==NULL)\n\t\treturn false;\n\tLoadDbgHelpApi();\n\treturn true;\n}\nvoid CSymbolDownloaderDlg::ReleaseDbgHelp()\n{\n\tif(m_DbgHelpModule)\n\t\tFreeLibrary(m_DbgHelpModule);\n}\nbool CSymbolDownloaderDlg::LoadDbgHelpApi()\n{\n\tm_SymFindFileInPath =(fpSymFindFileInPath) GetProcAddress(m_DbgHelpModule,\"SymFindFileInPath\");\n\tm_SymSetOptions = (fpSymSetOptions)GetProcAddress(m_DbgHelpModule,\"SymSetOptions\");\n\tm_SymGetOptions = (fpSymGetOptions)GetProcAddress(m_DbgHelpModule,\"SymGetOptions\");\n/*\tm_UnDecorateSymbolName = (fpUnDecorateSymbolName)GetProcAddress(m_DbgHelpModule,\"UnDecorateSymbolName\");\n\t*/\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SymbolDownloader.h",
    "content": "#ifndef _SYMBOLDOWNLOADER_H_\n#define _SYMBOLDOWNLOADER_H_\n#include <DbgHelp.h>\ntypedef struct _STPATHNAME\n{\n\tchar* Name;\n\tbool operator ==(const struct _STPATHNAME dest)const\n\t{\n\t\treturn TStrCmp(Name,dest.Name)==0;\n\t}\n}STPATHNAME,*PSTPATHNAME;\nclass CGetSymbolStat\n{\npublic:\t\n\tDWORD Stat;\n\tchar* SDSSavePath;\n\tchar* PDBSavePath;\n\tchar* FindPath;\n\tchar* FileName;\n\tCGetSymbolStat()\n\t{\n\t\tStat=0;\n\t\tSDSSavePath=NULL;\n\t\tPDBSavePath=NULL;\n\t\tFindPath=NULL;\n\t\tFileName=NULL;\n\t}\n};\ntypedef TMap<CStrA,CGetSymbolStat> WORKFILELIST;\ntypedef TList<STPATHNAME> SDSSAVEPATHLIST;\ntypedef TList<STPATHNAME> PDBSAVEPATHLIST;\ntypedef TList<STPATHNAME> SYMFINDPATHLIST;\n#define IMAGEAPI_POINTER __stdcall\ntypedef BOOL \n(IMAGEAPI_POINTER* fpSymFindFileInPath)(\n\t\t\t\t\t   HANDLE hprocess,\n\t\t\t\t\t   PCSTR SearchPath,\n\t\t\t\t\t   PCSTR FileName,\n\t\t\t\t\t   PVOID id,\n\t\t\t\t\t   DWORD two,\n\t\t\t\t\t   DWORD three,\n\t\t\t\t\t   DWORD flags,\n\t\t\t\t\t   PSTR FoundFile,\n\t\t\t\t\t   PFINDFILEINPATHCALLBACK callback,\n\t\t\t\t\t   PVOID context\n\t\t\t\t\t   );\ntypedef DWORD \n(IMAGEAPI_POINTER*fpSymSetOptions)(\n\tDWORD SymOptions\n\t);\ntypedef DWORD\n(IMAGEAPI_POINTER* fpSymGetOptions)(void);\nclass CSymbolDownloaderDlg:public CWispForm\n{\n\tfpSymSetOptions m_SymSetOptions;\n\tfpSymGetOptions m_SymGetOptions;\n\tfpSymFindFileInPath m_SymFindFileInPath;\n\tHMODULE m_DbgHelpModule;\n\tDWORD m_GetSymbolThreadID;\n\tfriend DWORD WINAPI GetSymbolThread(LPVOID lpParameter);\n\tCRITICAL_SECTION m_CriticalSection;\n\tbool m_Stop;\n\tbool m_GetSymbolThread;\n\tchar m_SDSSavePath[512];\n\tchar m_PDBSavePath[512];\n\tchar m_SymbolSitePath[1024];\n\tstatic char *m_SymbolSiteDefaultPath;\n\tDWORD\tm_SDSSavePathIndex;\n\tDWORD\tm_PDBSavePathIndex;\n\tSDSSAVEPATHLIST m_SDSSavePathList;\n\tPDBSAVEPATHLIST m_PDBSavePathList;\n\tSYMFINDPATHLIST m_SymFindPathList;\n\tWORKFILELIST m_CurrentFileList;\n\tCWispButton* m_AddFileButton;\n\tCWispButton* m_DelFileButton;\n\tCWispButton* m_GetSymbolButton;\n\tCWispList* m_FileList;\n\tCWispEdit* m_SymbolSiteEdit;\n\tCWispButton* m_SymbolSiteResetButton;\n\tCWispEdit* m_PDBSavePathEdit;\n\tCWispButton* m_BrowsePDBSavePathButton;\n\tCWispEdit* m_SDSSavePathEdit;\n\tCWispButton* m_BrowseSDSSavePathButton;\npublic:\n\tCSymbolDownloaderDlg(void);\n\t~CSymbolDownloaderDlg(void);\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_CMD_MAP\n\t//DECLARE_WISP_MSG_CMD(OnAddressChg);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonResetSymbolSite)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonBrowsePDBSavePath)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonBrowseSDSSavePath)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonStop)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonAddFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonDelFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonGetSymbol)\n\tbool DownLoadSymbol(CGetSymbolStat& SymbolStat );\n\tbool GetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView);\n\tbool LoadConfigFile();\n\tbool TranslateSymbolFile(IN int Type,IN char* pExeFileName,OUT char* pSymbolFileName);\n\tbool InitDbgHelp();\n\tvoid ReleaseDbgHelp();\n\tbool LoadDbgHelpApi();\n};\n\nDWORD WINAPI GetSymbolThread(LPVOID lpParameter);\n#endif //_SYMBOLDOWNLOADER_H_"
  },
  {
    "path": "Project/Syser/Source/SysInfo.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SysInfo.h\"\n#include \"Syser.h\"\n#include \"X86Optr.h\"\n#include \"NTUtility.h\"\nextern DWORD \tdwgErrorCode;\n#define FREE_DAY_COUNT\t\t\t\t7\n\nPCSTR CSysInfo::m_gNtoskrnlName[]={\"ntoskrnl.exe\",\"ntkrnlpa.exe\",\"ntkrnlmp.exe\",\"ntkrpamp.exe\",NULL};\n\nbool ConvertFileNameByMacro(CHAR*szFileName,const CHAR*szMacro,const CHAR*szMacroStr)\n{\n\tint Len;\n\tCHAR szBuffer[MAX_FN_LEN];\n\tLen = TStrLen(szMacro);\n\tif(TStrNICmp(szFileName,szMacro,Len)==0)\n\t{\n\t\tTStrCpy(szBuffer,&szFileName[Len]);\n\t\tTStrCpy(szFileName,szMacroStr);\n\t\tTStrCat(szFileName,szBuffer);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nMODULE_ID GetModuleID(ULPOS ImageBase,ULSIZE ImageSize)\n{\n\tPE_HEAD*pHead;\n\tULPOS Offset;\n\t__try\n\t{\n\t\tif(_GET_WORD(ImageBase)!=0x4D5A && _GET_WORD(ImageBase)!=0x5A4D)\n\t\t\treturn 0;\n\t\tOffset = GET_DWORD(ImageBase,0x3C);\n\t\tif(ImageSize && Offset>=ImageSize-sizeof(PE_HEAD))\n\t\t\treturn 0;\n\t\tpHead = (PE_HEAD*)(ImageBase+Offset);\n\t\tif(pHead->Signature!=0x4550)\n\t\t\treturn 0;\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\t::DbgPrint(\"Syser : GetModuleID fail. base=%08x size=%08x\\n\",ImageBase,ImageSize);\n\t\treturn 0;\n\t}\n\treturn MAKE_MODULE_ID(pHead->CheckSum ,pHead->TimeDateStamp);\n}\n\nMODULE_ID GetModuleIDAndImageSize(ULPOS ImageBase,ULSIZE& ImageSize)\n{\n\tPE_HEAD*pHead;\n\tULPOS Offset;\n\t__try\n\t{\n\t\tif(_GET_WORD(ImageBase)!=0x4D5A && _GET_WORD(ImageBase)!=0x5A4D)\n\t\t\treturn 0;\n\t\tOffset = GET_DWORD(ImageBase,0x3C);\n\t\tif(ImageSize && Offset>=ImageSize-sizeof(PE_HEAD))\n\t\t\treturn 0;\n\t\tpHead = (PE_HEAD*)(ImageBase+Offset);\n\t\tif(pHead->Signature!=0x4550)\n\t\t\treturn 0;\n\t\tImageSize = pHead->SizeOfImage;\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\t::DbgPrint(\"Syser : GetModuleID fail. base=%08x size=%08x\\n\",ImageBase,ImageSize);\n\t\treturn 0;\n\t}\n\treturn MAKE_MODULE_ID(pHead->CheckSum ,pHead->TimeDateStamp);\n}\n\nCSysInfo::CSysInfo()\n{\n\tDWORD CR3;\n\tPEPROCESS curproc;\n\tm_pZwQueryVirtualMemory=NULL;\n\tm_SyserBase = m_SyserHighBase = 0;\n\tm_win32kImageBase = 0;\n\tm_win32kImageSize = 0;\n\tm_OSKernlBase = 0;\n\tm_W32ServiceTableAddress=0;\n\tm_W32ServiceTable=NULL;\n\tm_W32ServiceArgv=NULL;\n\tm_W32ServiceNumbers=0;\n\tm_OSMajorVersion=0;\n\tm_OSMinorVersion=0;\n\tm_OSBuildNumber=0;\n\tm_OSCheckBuild=FALSE;\n\tm_HidP_TranslateUsageAndPagesToI8042ScanCodes=0;\n\tm_OrgWindowsServiceTable=NULL;\n\tm_OrgWindowsServiceArgTable=NULL;\n\tm_LoCount=0;\n\tm_HiCount=0;\n\tm_OSKernelName[0]=0;\n\tm_SystemStartAddr = (DWORD)MM_SYSTEM_RANGE_START;\n\tm_OrgWindowIDT=NULL;\n    curproc = PsGetCurrentProcess();\n\tm_ProcNameOff = 0;\n    for(int i=0;i<0x400;i++)\n\t{\n        if(TStrICmp(\"System\",(char*)curproc+i)==0)\n\t\t{\n\t\t\tm_ProcNameOff = i;\n\t\t\tbreak;\n\t\t}\n    }\n\tCR3 = SyserGetCR3Reg();\n\tm_ProcCR3dwOff=0;\n    for(int i=0;i<0x100;i++)\n\t{\n\t\tif(((DWORD*)curproc)[i] ==CR3)\n\t\t{\n\t\t\tm_ProcCR3dwOff = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tm_PEBOffsetOfEPROCESS=0;\n\tGetPEBOffset(&m_PEBOffsetOfEPROCESS);\n\tGetSystemRoot();\n\tGetPathSymbolLinker();\n\tTStrCpy(m_szSystem32,m_szSystemRoot);\n\tTStrCat(m_szSystem32,WSTR(\"system32\\\\\"));\n\tTStrCpy(m_szSystem32Drivers,m_szSystem32);\n\tTStrCat(m_szSystem32Drivers,WSTR(\"drivers\\\\\"));\n\tUNICODE_STRING UnicodeName;\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"MmUnmapViewOfSection\"));\n\tm_MmUnmapViewOfSection=(DWORD)MmGetSystemRoutineAddress(&UnicodeName);\n\tPsGetVersion(&m_OSMajorVersion,&m_OSMinorVersion,&m_OSBuildNumber,NULL);\n\tUnicodeToAnsi(m_szSystemRoot,m_szSystemRootA,sizeof(m_szSystemRootA));\n\tUnicodeToAnsi(m_szSystem32,m_szSystem32A,sizeof(m_szSystem32A));\n\tUnicodeToAnsi(m_szSystem32Drivers,m_szSystem32DriversA,sizeof(m_szSystem32DriversA));\n\tm_bEvlVer = m_bSNPass = false;\n\t//m_SNType = SN_ERROR;\n\n}\n\nCSysInfo::~CSysInfo()\n{\n\t\n}\n\nbool CSysInfo::GetSystemRoot()\n{\n\tNTSTATUS Status;\n\tUNICODE_STRING UniSystemRootDir;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\tint Len;\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tZeroMemory(m_szSystemRoot,sizeof(m_szSystemRoot));\n\tTStrCpy(m_szSystemRoot,WSTR(\"\\\\??\\\\\"));\n\tUniSystemRootDir.Length=0;\n\tUniSystemRootDir.MaximumLength=sizeof(m_szSystemRoot);\n\tUniSystemRootDir.Buffer=&m_szSystemRoot[TStrLen(m_szSystemRoot)];\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"SystemRoot\");\n\tRegTable[0].EntryContext = &UniSystemRootDir;\n\tStatus = RtlQueryRegistryValues(RTL_REGISTRY_WINDOWS_NT,WSTR(\"\"),RegTable,NULL,NULL);\n\tif(NT_SUCCESS(Status))\n\t{\n\t\tLen = TStrLen(m_szSystemRoot);\n\t\tif(m_szSystemRoot[Len-1]!='\\\\')\n\t\t{\n\t\t\tm_szSystemRoot[Len]='\\\\';\n\t\t\tm_szSystemRoot[Len+1]=0;\n\t\t}\n\t\tTStrCpy(m_szSystemRootMarco,&m_szSystemRoot[6]);\n\t\treturn true;\n\t}\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tZeroMemory(m_szSystemRoot,sizeof(m_szSystemRoot));\n\tTStrCpy(m_szSystemRoot,WSTR(\"\\\\??\\\\\"));\n\tUniSystemRootDir.Length=0;\n\tUniSystemRootDir.MaximumLength=sizeof(m_szSystemRoot);\n\tUniSystemRootDir.Buffer=&m_szSystemRoot[TStrLen(m_szSystemRoot)];\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"SystemRoot\");\n\tRegTable[0].EntryContext = &UniSystemRootDir;\n\tStatus = RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,WSTR(\"Syser\"),RegTable,NULL,NULL);\n\tif(NT_SUCCESS(Status))\n\t{\n\t\tLen = TStrLen(m_szSystemRoot);\n\t\tif(m_szSystemRoot[Len-1]!='\\\\')\n\t\t{\n\t\t\tm_szSystemRoot[Len]='\\\\';\n\t\t\tm_szSystemRoot[Len+1]=0;\n\t\t}\n\t}\n\telse\n\t\tTStrCpy(m_szSystemRoot,WSTR(\"\\\\??\\\\C:\\\\WINDOWS\\\\\"));\n\tTStrCpy(m_szSystemRootMarco,&m_szSystemRoot[6]);\n\treturn true;\n}\n\nbool CSysInfo::ValidateSN()\n{\n\treturn true;\n// \tWCHAR szBuffer[256],szLicName[128];\n// #ifndef __DEMO__VERSION__\n// \tm_SNType = ValidateSerialNumber(m_LicNameStr,m_SNStr);\n// \tif(m_SNType!=SN_ERROR && m_SNType!=SN_CHARGEBACK)\n// \t{\n// \t\tTStrCpy(szLicName,(PCSTR)m_LicNameStr);\n// \t\tif(m_SNType == SN_STUDENT)\n// \t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Tuvefou!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Student Version : License to %s\n// \t\telse if(m_SNType == SN_PERSONAL)\n// \t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Qfstpobm!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Personal Version : License to %s\n// \t\telse if(m_SNType == SN_ENTERPRISE)\n// \t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Foufsqsjtf!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Enterprise Version : License to %s\n// \t\telse\n// \t\t\t*szBuffer=0;\n// \t\tfor(int n=0;szBuffer[n];n++)\n// \t\t\tszBuffer[n]--;\n// \t\tm_LicTip.Format(szBuffer,szLicName);\n// \t\tm_bEvlVer = false;\n// \t\treturn true;\n// \t}\n// #endif\n// \tif(IsValidInstTime(m_InstallTime.QuadPart)==false || m_CurrentTime.QuadPart==0 || m_SNType==SN_CHARGEBACK)\n// \t\tgoto InvalidLic;\n// \tLONGLONG dTime = m_CurrentTime.QuadPart - m_InstallTime.QuadPart;\n// \tdTime/=10000000;\n// \tdTime/=3600*24;\n// \tif(dTime>=0 && dTime<FREE_DAY_COUNT)\n// \t{\n// \t\tTStrCpy(szBuffer,WSTR(\"Fwbmvbujpo!wfstjpo!&e!ebzt!mfgu\"));//WSTR(\"Evaluation version %d days left\")\n// \t\tfor(int n=0;szBuffer[n];n++)\n// \t\t\tszBuffer[n]--;\n// \t\tm_LicTip.Format(szBuffer,FREE_DAY_COUNT-(int)dTime);\n// \t\tm_bEvlVer = true;\n// \t\treturn false;\n// \t}\n// InvalidLic:\n// \tTStrCpy(szBuffer,WSTR(\"Jowbmje!Mjdfotf\"));//WSTR(\"Invalid License\")\n// \tfor(int n=0;szBuffer[n];n++)\n// \t\tszBuffer[n]--;\n// \tm_LicTip = szBuffer;\n// \tm_bEvlVer = false;\n// \treturn false;\n}\n\nvoid CSysInfo::UpdateHostSN()\n{\n\tDWORD VerType;\n\tCHAR szBufferA[128];\n\tWCHAR szBuffer[128],StrBuffer[128];\n\n\t//SN///////////////////////////////////////////////\n\tTStrCpy(StrBuffer,WSTR(\"TO\"));//SN\n\tfor(int n=0;StrBuffer[n];n++)\n\t\tStrBuffer[n]--;\n\n\t*szBuffer=0;\n\tgpSyserCfg->ReadStringValue(StrBuffer,szBuffer);\n\tTStrCpy(szBufferA,szBuffer);\n\tm_SNStr = szBufferA;\n\n\t//LicName/////////////////////////////////////////\n\tTStrCpy(StrBuffer,WSTR(\"MjdObnf\"));//LicName\n\tfor(int n=0;StrBuffer[n];n++)\n\t\tStrBuffer[n]--;\n\n\t*szBuffer=0;\n\tgpSyserCfg->ReadStringValue(StrBuffer,szBuffer);\n\tTStrCpy(szBufferA,szBuffer);\n\tm_LicNameStr = szBufferA;\n\n\t//InstTime////////////////////////////////////////\n\tTStrCpy(StrBuffer,WSTR(\"JotuUjnf\"));//InstTime\n\tfor(int n=0;StrBuffer[n];n++)\n\t\tStrBuffer[n]--;\n\n\tm_InstallTime.QuadPart = m_CurrentTime.QuadPart = 0;\n\tgpSyserCfg->ReadQwordValue(StrBuffer,(QWORD*)&m_InstallTime.QuadPart);\n\tKeQuerySystemTime(&m_CurrentTime);\n\n\tm_bSNPass = ValidateSN();\n#ifndef __DEMO__VERSION__\n\t//::DbgPrint(\"Syser : CheckSN ok.............\\n\"); \n\tif(m_bSNPass==false)\n\t{\n\t\tWCHAR szBuffer[256],szLicName[128];\n\t\t//SYSER_SN_TYPE type;\n\t\tm_bSNPass=gpSyser->CheckSN(m_SNStr,m_LicNameStr);\n\t\tif(m_bSNPass)\n\t\t{\n\t\t\t//m_SNType=type;\n\t\t\tTStrCpy(szLicName,(PCSTR)m_LicNameStr);\n// \t\t\tif(m_SNType == SN_STUDENT)\n// \t\t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Tuvefou!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Student Version : License to %s\n// \t\t\telse if(m_SNType == SN_PERSONAL)\n// \t\t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Qfstpobm!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Personal Version : License to %s\n// \t\t\telse if(m_SNType == SN_ENTERPRISE)\n\t\t\t\tTStrCpy(szBuffer,WSTR(\"Tztfs!Efcvhhfs!Foufsqsjtf!Wfstjpo!;!Mjdfotf!up!&t\"));//Syser Debugger Enterprise Version : License to %s\n// \t\t\telse\n// \t\t\t\t*szBuffer=0;\n\t\t\tfor(int n=0;szBuffer[n];n++)\n\t\t\t\tszBuffer[n]--;\n\t\t\tm_LicTip.Format(szBuffer,szLicName);\n\t\t\tm_bEvlVer = false;\n\t\t\t//::DbgPrint(\"Syser : CheckSN ok\\n\");\n\t\t}\n\t}\n#endif\n\tTStrCpy(StrBuffer,WSTR(\"WfsUzqf\"));//VerType\n\tfor(int n=0;StrBuffer[n];n++)\n\t\tStrBuffer[n]--;\n\t//VerType = SN_ERROR;\n\tgpSyserCfg->ReadDwordValue(StrBuffer,&VerType);\n\tif(VerType!=0)\n\t{\n\t\tif(m_bSNPass==false)\n\t\t{\n\t\t\tVerType = 0;\n\t\t\tgpSyserCfg->WriteDwordValue(StrBuffer,VerType);\n\t\t}\n\t\telse if(VerType!=(DWORD)0)\n\t\t{\n\t\t\tVerType = (DWORD)1;\n\t\t\tgpSyserCfg->WriteDwordValue(StrBuffer,VerType);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_bSNPass)\n\t\t{\n\t\t\tVerType = (DWORD)1;\n\t\t\tgpSyserCfg->WriteDwordValue(StrBuffer,VerType);\n\t\t}\n\t}\n}\n\nvoid CSysInfo::GetSystemInformation()\n{\n\tCDbgModule*pModule;\n\tchar szFileName[MAX_FN_LEN];\n\tm_win32kImageBase = 0;\n\tm_win32kImageSize = 0;\n\tpModule = gpSyser->m_pSysDebugger->GetModule(\"win32k.sys\");\n\tif(pModule)\n\t{\n\t\tm_win32kImageBase = pModule->m_ModuleBase;\n\t\tm_win32kImageSize = pModule->m_ModuleSize;\n\t}\n\tpModule = gpSyser->m_pSysDebugger->GetModule(\"hidparse.sys\");\n\tif(pModule)\n\t{\n\t\tCMemPEFile MemPEFile;\n\t\tif(MemPEFile.Open(pModule->m_ModuleBase,PE_OPEN_NO_IMPORT,CImageFile::StaticReadRealMemory,NULL))\n\t\t{\n\t\t\tm_HidP_TranslateUsageAndPagesToI8042ScanCodes = MemPEFile.GetExportFunc(\"HidP_TranslateUsageAndPagesToI8042ScanCodes\");\n\t\t\t::DbgPrint(\"Syser : Found HidP_TranslateUsageAndPagesToI8042ScanCodes %08X!\\n\",m_HidP_TranslateUsageAndPagesToI8042ScanCodes);\t\n\t\t\tMemPEFile.Close();\n\t\t}\n\t}\n}\n\nbool CSysInfo::FindWin32KServiceSymName()\n{\n\tCPEFile PEFile;\n\tCHAR szFileName[MAX_FN_LEN];\n\tint n;\n\tULSIZE ReadLen;\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tDWORD ServiceNum;\n\tTNtcallNameIDMap::IT Iter;\n\tTStrCpy(szFileName,m_szSystem32A);\n\tTStrCat(szFileName,\"user32.dll\");\n\tPEFile.m_OpenMode|=PE_OPEN_NO_IMPORT;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn false;\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\t\t\n\t\tReadLen = PEFile.ReadImageMemory(PEFile.m_ExportFunc[n].Address,CodeBuffer,sizeof(CodeBuffer));\n\t\tif(ReadLen!=sizeof(CodeBuffer))continue;\n\t\tif((CodeBuffer[0]==0xb8&&CodeBuffer[5]==0xba && CodeBuffer[0xa]==0xff && CodeBuffer[0xb]==0x12)//xp\t\t\t\n\t\t\t)\n\t\t{\n\t\t\tServiceNum = *(DWORD*)&CodeBuffer[1];\n\t\t\tIter = m_Win32kNtcallMap.InsertUnique(ServiceNum,PEFile.m_ExportFunc[n].FuncName);\n\t\t\tif(Iter==m_Win32kNtcallMap.End())continue;\n\t\t}\t\t\n\t}\n\tPEFile.Close();\n\n\tTStrCpy(szFileName,m_szSystem32A);\n\tTStrCat(szFileName,\"gdi32.dll\");\n\tPEFile.m_OpenMode|=PE_OPEN_NO_IMPORT;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn false;\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\t\t\n\t\tReadLen = PEFile.ReadImageMemory(PEFile.m_ExportFunc[n].Address,CodeBuffer,sizeof(CodeBuffer));\n\t\tif(ReadLen!=sizeof(CodeBuffer))continue;\n\t\tif((CodeBuffer[0]==0xb8&&CodeBuffer[5]==0xba && CodeBuffer[0xa]==0xff && CodeBuffer[0xb]==0x12)//xp\t\t\t\n\t\t\t)\n\t\t{\n\t\t\tServiceNum = *(DWORD*)&CodeBuffer[1];\n\t\t\tIter = m_Win32kNtcallMap.InsertUnique(ServiceNum,PEFile.m_ExportFunc[n].FuncName);\n\t\t\tif(Iter==m_Win32kNtcallMap.End())continue;\n\t\t}\t\t\n\t}\n\tPEFile.Close();\n\treturn true;\n}\n\nbool CSysInfo::GetWin32KServiceTable()\n{\n\tCPEFile PEFile;\n\tCHAR szFileName[MAX_FN_LEN];\n\tDWORD CodeSectionVirtualAddress,CodeSectionVirtualSize;\n\tDWORD DataSectionInx=0,i,FilePos,ReadWriteLen,j;\n\tDWORD* pWin32ServiceTable=NULL;\n\tDWORD dwServiceNumbers=0;\n\tif(m_win32kImageBase==0)\n\t\treturn false;\n\tbool bFindServiceTable=false,bFindText=false,bFindData=false,bOK,bFindINIT=false;\n\tTStrCpy(szFileName,m_szSystem32A);\n\tTStrCat(szFileName,\"win32k.sys\");\n\tPEFile.m_OpenMode|=PE_OPEN_NO_IMPORT;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn false;\n\tfor(i = 1;i<=(DWORD)PEFile.m_SectCount;i++)\n\t{\n\t\tif(TStrNICmp(PEFile.m_Section[i].Name,\".data\",5)==0)\n\t\t{\n\t\t\tDataSectionInx=i;\n\t\t\tbFindData=true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrNICmp(PEFile.m_Section[i].Name,\".text\",5)==0)\n\t\t\t{\n\t\t\t\tCodeSectionVirtualAddress=PEFile.m_Section[i].VirtualAddress+PEFile.m_PEHead.ImageBase;\n\t\t\t\tCodeSectionVirtualSize=PEFile.m_Section[i].VirtualSize;\n\t\t\t\tbFindText=true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(TStrNICmp(PEFile.m_Section[i].Name,\"INIT\",4)==0)\n\t\t\t\t{\n\t\t\t\t\tbFindINIT=true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(bFindData==true&&bFindText==true)\n\t{\n\t\tpWin32ServiceTable = new DWORD[0x1400];\n\t\tif(pWin32ServiceTable!=NULL)\n\t\t{\n\t\t\tFilePos=MIN(PEFile.m_Section[DataSectionInx].VirtualSize,PEFile.m_Section[DataSectionInx].SizeOfRawData);\n\t\t\tReadWriteLen = FilePos > sizeof(DWORD)*0x1400 ? sizeof(DWORD)*0x1400 : FilePos;\n\t\t\tif(PEFile.MapToFile(PEFile.m_Section[DataSectionInx].VirtualAddress,&FilePos,false))\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(FilePos,pWin32ServiceTable,ReadWriteLen))\n\t\t\t\t{\n\t\t\t\t\tfor(i = 0; i < ReadWriteLen/sizeof(DWORD);i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pWin32ServiceTable[i]<CodeSectionVirtualAddress || pWin32ServiceTable[i]>=CodeSectionVirtualAddress+CodeSectionVirtualSize)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(i<0x100 || i >=0x1000)\n\t\t\t\t\t{\n\t\t\t\t\t\tbFindServiceTable=false;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tbFindServiceTable=true;\n\t\t\t\t\t\tdwServiceNumbers=i;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bFindServiceTable)\n\t\t\t{\n\t\t\t\tm_W32ServiceTable=new DWORD[dwServiceNumbers+1];\n\t\t\t\tif(m_W32ServiceTable)\n\t\t\t\t{\n\t\t\t\t\tmemset(m_W32ServiceTable,0,sizeof(DWORD)*(dwServiceNumbers+1));\n\t\t\t\t\tmemcpy(m_W32ServiceTable,pWin32ServiceTable,sizeof(DWORD)*dwServiceNumbers);\n\t\t\t\t}\n\t\t\t\tm_W32ServiceArgv = new BYTE[dwServiceNumbers+1];\n\t\t\t\tif(m_W32ServiceArgv)\n\t\t\t\t{\n\t\t\t\t\tmemset(m_W32ServiceArgv,0,sizeof(BYTE)*(dwServiceNumbers+1));\n\t\t\t\t\tmemcpy(m_W32ServiceArgv,&pWin32ServiceTable[dwServiceNumbers],sizeof(BYTE)*dwServiceNumbers);\n\t\t\t\t}\n\t\t\t\tif(m_W32ServiceTable&&m_W32ServiceArgv)\n\t\t\t\t{\n\t\t\t\t\tm_W32ServiceNumbers=dwServiceNumbers;\n\t\t\t\t\tm_W32ServiceTableAddress = PEFile.m_Section[DataSectionInx].VirtualAddress;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete []pWin32ServiceTable;\n\t\t}\t\n\t}\n\tif(bFindServiceTable)\n\t{\n\t\tif(m_win32kImageBase&&m_W32ServiceTableAddress)\n\t\t{\n\t\t\tm_W32ServiceTableAddress+=m_win32kImageBase;\n\t\t\tif(m_W32ServiceTable)\n\t\t\t{\n\t\t\t\tif(m_win32kImageBase!=PEFile.m_ImageBase)\n\t\t\t\t{\n\t\t\t\t\tDWORD Delta=m_win32kImageBase-PEFile.m_ImageBase;\n\t\t\t\t\tfor(DWORD i=0;i<m_W32ServiceNumbers;i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tm_W32ServiceTable[i]+=Delta;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t}\n\tPEFile.Close();\n\treturn bFindServiceTable;\n}\n\nvoid CSysInfo::OutputEnv()\n{\n\tOUTPUT(WSTR(\"Syser : SystemRoot = %s\\n\"),m_szSystemRoot);\n\tOUTPUT(WSTR(\"Syser : Win32 Service Table = 0x%08X\\n\"),m_W32ServiceTable);\n\tif(gpSysBootDevEx)\n\t\tOUTPUT(WSTR(\"Syser : SyserBoot Device Found ! DDraw hook is availabe !\\n\"));\n\tif(gpSysLangDevEx)\n\t\tOUTPUT(WSTR(\"Syser : SyserLanguage Device Found ! Safe Unicode Function is availabe !\\n\"));\n}\n\nbool CSysInfo::Init()\n{\n\tCDbgProcess*pProcess;\n\tDWORD Size,PID;\n\tPSYSTEM_MODULE pModule;\n\tNTSTATUS ntstatus=0x12345678;\n\tvoid*Buffer=NULL;\n\tSize=sizeof(SYSTEM_MODULE)*0x100;\n\tULONG ReturnLength=0;\n\tGetOSKernelName();\n\tNtcallInit();\n\tSize=sizeof(SYSTEM_PROCESS_INFORMATION)*0x100;\n\tBuffer = new BYTE[Size];\n\t\tdwgErrorCode=114;\n\twhile(Buffer)\n\t{\n\t\tif(NT_SUCCESS(ZwQuerySystemInformation(SystemProcessInformation,Buffer,Size,NULL)))\n\t\t\tbreak;\n\t\tdelete Buffer;\n\t\tBuffer=NULL;\n\t\tSize*=2;\n\t\tBuffer=new BYTE[Size];\n\t\tif(Buffer==NULL || Size>sizeof(SYSTEM_PROCESS_INFORMATION)*0x1000)\n\t\t{\n\t\t\tif(Buffer)\n\t\t\t\tdelete Buffer;\n\t\t\treturn false;\n\t\t}\n\t}\ndwgErrorCode=115;\n\tULONG Offset = 0;\n\tSYSTEM_PROCESS_INFORMATION*P=(SYSTEM_PROCESS_INFORMATION*)Buffer;\n    do\n    {\n\t\tP=(SYSTEM_PROCESS_INFORMATION*)((BYTE*)P+Offset);\n\t\tOffset = P->NextEntryOffset;\n\t\tPID = PTR_TO_NUM(P->UniqueProcessId);\n\t\tpProcess = InsertProcess(PID);\n\t\tif(pProcess==NULL)\n\t\t{\n\t\t\t::DbgPrint(\"Syser : Fail to InitProcessList !\\n\");\n\t\t\tdelete Buffer;\n\t\t\treturn false;\n\t\t}\n    }while(Offset);\n\tdwgErrorCode=117;\n    delete Buffer;\n\tgpSyser->m_pDebugger = GetProcess(WSTR(\"System\"));\n\tgpSyser->m_pCsrssProcess = GetProcess(WSTR(\"csrss\"));\n\tif(gpSyser->m_pDebugger)\n\t{\n\t\tgpSyser->m_pSysDebugger = gpSyser->m_pDebugger;\n\t\tgpSyser->MapToProcess(gpSyser->m_pDebugger);\n\t\tgpSyser->m_SyserUI.m_CodeDoc.Open(gpSyser->m_pDebugger->m_ProcName);\n\t}\n\tdwgErrorCode=118;\n\tif(gpSyser->m_pDebugger==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : Cann't find SYSTEM Process!\\n\");\n\t\treturn false;\n\t}\n\tLoadExpModList();\n\tdwgErrorCode=119;\n\tfor(CProcMap::IT Iter = m_ProcMap.Begin();Iter!=m_ProcMap.End();Iter++)\n\t{\n\t\tif(GetDllList(&(*Iter))==false)\n\t\t{\n\t\t\tif(GetDllListNew(&(*Iter))==false)\n\t\t\t{\n\t\t\t\t::DbgPrint(\"Syser : %s ExGetDllList except...\\n\",(char*)Iter->m_ProcName);\n\t\t\t}\n\t\t}\n\t}\n\tdwgErrorCode=120;\n\tGetDriverList();\n\tdwgErrorCode=121;\n\tgpSyser->m_SyserUI.SetPublicSymbolModuleBase();\n\tdwgErrorCode=122;\n\tGetSystemInformation();\t\n\tdwgErrorCode=123;\n\tGetServiceTable();\n\tdwgErrorCode=124;\n\tGetIDTTable();\n\tdwgErrorCode=125;\n\tOutputEnv();\n\tdwgErrorCode=126;\t\n\treturn true;\n}\n\nbool CSysInfo::NtcallInit()\n{\n\tCPEFile PEFile;\n\tchar FileName[MAX_FN_LEN];\n\tCHAR*Name=NULL;\n\tCSymbolModule* pSymbolModule;\t\n\tBYTE CodeBuffer[MAX_INSTR_LEN];\n\tint n;\n\tULONGLONG zwFunc[4]={0,0,0,0};\n\tULSIZE ReadLen;\n\tDWORD ServiceNum;\n\tULONGLONG llData;\n\tTNtcallMap::IT Iter;\n\tCDbgModule* pDbgModule;\n\n\tTStrCpy(FileName,m_szSystem32A);\n\tTStrCat(FileName,\"ntdll.dll\");\n\tPEFile.m_OpenMode|=PE_OPEN_NO_IMPORT;\n\tif(PEFile.Open(FileName)==false)\n\t{\n\t\t::DbgPrint(\"Syser : Ntcall initialize failed to load PE file symbol %s\\n\",FileName);\n\t\treturn false;\n\t}\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\n\t\tif(_GET_WORD(PEFile.m_ExportFunc[n].FuncName)=='tN')\n\t\t{\n\t\t\tReadLen = PEFile.ReadImageMemory(PEFile.m_ExportFunc[n].Address,CodeBuffer,sizeof(CodeBuffer));\n\t\t\tif(ReadLen!=sizeof(CodeBuffer))continue;\n\t\t\tif((CodeBuffer[0]==0xb8&&CodeBuffer[5]==0x8d&&CodeBuffer[0x9]==0xcd)||//2k\n\t\t\t\t(CodeBuffer[0]==0xb8&&CodeBuffer[5]==0xba&&CodeBuffer[0xa]==0xff&&CodeBuffer[0xb]==0x12)||//xp\n\t\t\t\t(CodeBuffer[0]==0xb8&&CodeBuffer[5]==0xba&&CodeBuffer[0xa]==0xff&&CodeBuffer[0xb]==0xd2)//2003\n\t\t\t\t)\n\t\t\t{\n\t\t\t\tServiceNum = *(DWORD*)&CodeBuffer[1];\n\t\t\t\tllData = PEFile.m_ExportFunc[n].Address-PEFile.m_ImageBase;\n\t\t\t\tllData <<= 32;\n\t\t\t\tllData |= ServiceNum;\n\t\t\t\tIter = m_NtcallMap.InsertUnique(PEFile.m_ExportFunc[n].FuncName,llData);\n\t\t\t\tif(Iter==m_NtcallMap.End())continue;\n\t\t\t}\n\t\t}\n\t}\n\tIter = m_NtcallMap.Find(\"NtQueryVirtualMemory\");\n\tif(Iter!=m_NtcallMap.End())\n\t\tzwFunc[3]=*Iter;\n\tPEFile.Close();\n\tif(m_OSKernelName[0])\n\t\tName = m_OSKernelName;\n\tif(Name==NULL)\n\t{\n\t\tif(gpSyser->m_pSysDebugger==NULL)\n\t\t\treturn true;\t\t\n\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule((ULPOS)KeSetEvent);\n\t\tif(pDbgModule==NULL)\n\t\t\treturn true;\n\t\tName = (char*)pDbgModule->m_ModuleFullName;\n\t}\n\tPEFile.m_OpenMode|=PE_OPEN_NO_IMPORT;\t\n\tif(PEFile.Open(Name)==false)\n\t{\n\t\t::DbgPrint(\"Syser : Ntcall initialize failed to load PE file symbol %s\\n\",(char*)Name);\n\t\treturn true;\n\t}\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\n\t\tif(_GET_WORD(PEFile.m_ExportFunc[n].FuncName)=='wZ')\n\t\t{\n\t\t\tReadLen = PEFile.ReadImageMemory(PEFile.m_ExportFunc[n].Address,CodeBuffer,sizeof(CodeBuffer));\n\t\t\tif(ReadLen==sizeof(CodeBuffer))\n\t\t\t{\n\t\t\t\tif(CodeBuffer[0]==0xb8||CodeBuffer[5]==0x8d||CodeBuffer[0x9]==0x9c||CodeBuffer[0xa]==0x6a)\n\t\t\t\t{\n\t\t\t\t\tServiceNum = *(DWORD*)&CodeBuffer[1];\n\t\t\t\t\tllData = PEFile.m_ExportFunc[n].Address-PEFile.m_ImageBase;\n\t\t\t\t\tllData <<= 32;\n\t\t\t\t\tllData |= ServiceNum;\n\t\t\t\t\tIter = m_NtcallMap.InsertUnique(PEFile.m_ExportFunc[n].FuncName,llData);\n\t\t\t\t\tif(zwFunc[0]==0)\n\t\t\t\t\t\tzwFunc[0]=llData;\n\t\t\t\t\telse if(zwFunc[1]==0)\n\t\t\t\t\t\tzwFunc[1]=llData;\n\t\t\t\t\telse if(zwFunc[2]==0)\n\t\t\t\t\t\tzwFunc[2]=llData;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(zwFunc[0] && zwFunc[1]&&zwFunc[2]&&zwFunc[3])\n\t{\n\t\tULONGLONG first,second,addr1,addr2,len1,len2,len3;\n\t\tif((zwFunc[0] & 0xffffffff)>(zwFunc[1] & 0xffffffff))\n\t\t{\n\t\t\tfirst = zwFunc[0] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[0]>>32) & 0xffffffff;\n\t\t\tsecond = zwFunc[1] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[1]>>32) & 0xffffffff;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfirst=zwFunc[1] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[1]>>32) & 0xffffffff;\n\t\t\tsecond=zwFunc[0] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[0]>>32) & 0xffffffff;\n\t\t}\n\t\tlen1= (addr1-addr2) / (first-second);\n\t\tif((zwFunc[1] & 0xffffffff)>(zwFunc[2] & 0xffffffff))\n\t\t{\n\t\t\tfirst = zwFunc[1] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[1]>>32) & 0xffffffff;\n\t\t\tsecond = zwFunc[2] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[2]>>32) & 0xffffffff;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfirst=zwFunc[2] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[2]>>32) & 0xffffffff;\n\t\t\tsecond=zwFunc[1] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[1]>>32) & 0xffffffff;\n\t\t}\n\t\tlen2= (addr1-addr2) / (first-second);\n\t\tif((zwFunc[0] & 0xffffffff)>(zwFunc[2] & 0xffffffff))\n\t\t{\n\t\t\tfirst = zwFunc[0] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[0]>>32) & 0xffffffff;\n\t\t\tsecond = zwFunc[2] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[2]>>32) & 0xffffffff;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfirst=zwFunc[2] & 0xffffffff;\n\t\t\taddr1 = (zwFunc[2]>>32) & 0xffffffff;\n\t\t\tsecond=zwFunc[0] & 0xffffffff;\n\t\t\taddr2 = (zwFunc[0]>>32) & 0xffffffff;\n\t\t}\n\t\tlen3= (addr1-addr2) / (first-second);\n\t\taddr2=0;\n\t\tif(len2 == len1 || len2 == len3)\n\t\t{\n\t\t\tif((zwFunc[0] & 0xffffffff)>(zwFunc[3] & 0xffffffff))\n\t\t\t{\n\t\t\t\tfirst = zwFunc[0] & 0xffffffff;\t\t\t\n\t\t\t\tsecond = zwFunc[3] & 0xffffffff;\n\t\t\t\taddr1 = (zwFunc[0] >> 32) & 0xffffffff;\n\t\t\t\taddr2 = addr1 -(first - second)*len1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfirst = zwFunc[3] & 0xffffffff;\t\t\t\n\t\t\t\tsecond = zwFunc[0] & 0xffffffff;\n\t\t\t\taddr1 = (zwFunc[0] >> 32) & 0xffffffff;\n\t\t\t\taddr2 = addr1 + (first - second)*len1;\n\t\t\t}\n\t\t}\n\t\tif(m_OSKernlBase)\n\t\t{\n\t\t\taddr2+=m_OSKernlBase;\n\t\t\tm_pZwQueryVirtualMemory = *(ZWQUERYVIRTUALMEMORY*)&addr2;\n\t\t\tDbgPrint(\"Syser : Find ZwQueryVirtualMemory address %08x\\n\",m_pZwQueryVirtualMemory);\n\t\t}\n\n\t}\n\tPEFile.Close();\n\treturn true;\n}\n\nvoid CSysInfo::Release()\n{\n\tgpSyser->m_SyserUI.m_CodeDoc.Close();\n\tfor(CProcMap::IT Iter=m_ProcMap.Begin();Iter!=m_ProcMap.End();Iter++)\n\t\tIter->Release();\n\tm_ProcMap.Clear();\n\tgpSyser->m_pSysDebugger=gpSyser->m_pDebugger=NULL;\n\tSafeDelete(m_OrgWindowsServiceTable);\n\tSafeDelete(m_OrgWindowsServiceArgTable);\n\tSafeDelete(m_OrgWindowIDT);\n\tSafeDelete(m_W32ServiceTable);\n\tSafeDelete(m_W32ServiceArgv);\n}\n\nbool CSysInfo::LoadExpModList()\n{\n\tCSymbolModule*pSymbolModule;\n\tCTXTFile File;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tCHAR szFileName[MAX_FN_LEN];\n\tCHAR* pFileName;\n\tTStrCpy(szFileName,m_szSystem32DriversA);\n\tTStrCat(szFileName,\"ModExSym.lst\");\n\tif(File.Open(szFileName)==false)\n\t{\n\t\tgpFileIO->WriteToFile(szFileName,DefaultPEExportList,TStrLen(DefaultPEExportList));\n\t\tif(File.Open(szFileName)==false)\n\t\t\treturn false;\n\t}\n\tfor(TTXTStrList::IT Iter=File.m_StrList.Begin();Iter!=File.m_StrList.End();Iter++)\n\t{\t\t\n\t\tTStrCpyLimit(szFileName,*Iter,MAX_FN_LEN);\n\t\tpFileName = TGetFileName(szFileName);\n\t\tif(m_OSKernelName[0] && pFileName)\n\t\t{\n\t\t\tbool bFind=false;\n\t\t\tfor(int i =0 ;m_gNtoskrnlName[i];i++)\n\t\t\t{\n\t\t\t\tif(TStrICmp(m_gNtoskrnlName[i],pFileName)==0)\n\t\t\t\t{\n\t\t\t\t\tbFind=true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bFind)\n\t\t\t\tcontinue;\n\t\t}\n\t\tif(ConvertFileName(szFileName)==false)\n\t\t{\n\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\tTStrCat(szFileName,*Iter);\n\t\t}\n\t\tif(pSymbolModule=gpSyser->m_SyserUI.LoadPESym(szFileName))\n\t\t{\n\t\t\tpSymbolModule->m_ReferenceCount++;//ü+1,֤ͷ\n\t\t\tAnsiToUnicode(szFileName,szBuffer,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"Syser : Load module %4d export symbols %s\\n\"),pSymbolModule->m_SymbolMap.Count(),szBuffer);\n\t\t}\n\t}\n\tFile.Close();\n\tif(m_OSKernelName[0])//ȷֻһ kernel ķű\n\t{\n\t\tif(pSymbolModule=gpSyser->m_SyserUI.LoadPESym(m_OSKernelName))\n\t\t{\n\t\t\tpSymbolModule->m_ReferenceCount++;//ü+1,֤ͷ\n\t\t\tAnsiToUnicode(m_OSKernelName,szBuffer,MAX_FN_LEN);\n\t\t\tOUTPUT(WSTR(\"Syser : Load module %4d export symbols %s\\n\"),pSymbolModule->m_SymbolMap.Count(),szBuffer);\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSysInfo::LoadSDSList()\n{\n\tCTXTFile File;\n\tCHAR szFileName[MAX_FN_LEN];\n\tTStrCpy(szFileName,m_szSystem32DriversA);\n\tTStrCat(szFileName,\"SDSInit.lst\");\n\tif(File.Open(szFileName)==false)\n\t\tfalse;\n\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\tfor(TTXTStrList::IT Iter=File.m_StrList.Begin();Iter!=File.m_StrList.End();Iter++)\n\t{\n\t\tTStrCpyLimit(&szFileName[4],*Iter,MAX_FN_LEN-4);\n\t\tgpSyser->m_SyserUI.LoadSDSModule(szFileName);\n\t}\n\tFile.Close();\n\treturn true;\n}\n\nCDbgProcess*CSysInfo::InsertProcess(DWORD PID)\n{\n\tif(GetProcess(PID)!=NULL)\n\t\treturn NULL;\n\tCProcMap::IT Iter = m_ProcMap.InsertUnique(PID);\n\tIter->InitProcess(PID);\n\treturn &(*Iter);\n}\n\nbool CSysInfo::RemoveProcess(DWORD PID)\n{\n\tCProcMap::IT ProcIter=m_ProcMap.Find(PID);\n\tif(ProcIter==m_ProcMap.End())\n\t\treturn false;\n\tCSDSModuleMap::IT Iter=gpSyser->m_SyserUI.m_SDSModuleMap.Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(Iter->m_ParentPID == PID)\n\t\t{\n\t\t\tCSDSModuleMap::IT RemoveIter = Iter;\n\t\t\tIter++;\n\t\t\tgpSyser->m_SyserUI.UnloadSDSModule(&(*RemoveIter));\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\tProcIter->Release();\n\tm_ProcMap.Remove(ProcIter);\n\treturn true;\n}\n\nCDbgProcess*CSysInfo::GetProcessByEPROCESS(DWORD EProcess)\n{\n\tfor(CProcMap::IT Iter=m_ProcMap.Begin();Iter!=m_ProcMap.End();Iter++)\n\t{\n\t\tif(Iter->m_PEProcess == *(PEPROCESS*)&EProcess)\t\t\n\t\t\treturn &(*Iter);\n\t}\t\n\treturn NULL;\n}\n\nCDbgProcess*CSysInfo::GetProcess(DWORD PID)\n{\n\tCProcMap::IT Iter=m_ProcMap.Find(PID);\n\tif(Iter==m_ProcMap.End())\n\t\treturn NULL;\n\tif(Iter->m_PID==0)\n\t\treturn gpSyser->m_pSysDebugger;\n\treturn &(*Iter);\n}\n\nCDbgProcess*CSysInfo::GetProcessByCR3(DWORD CR3)\n{\n\tfor(CProcMap::IT Iter=m_ProcMap.Begin();Iter!=m_ProcMap.End();Iter++)\n\t{\n\t\tif(Iter->m_CR3 == CR3 && Iter->m_PID)\n\t\t{\n\t\t\tif(Iter->m_PID==0)\n\t\t\t\treturn gpSyser->m_pSysDebugger;\n\t\t\treturn &(*Iter);\n\t\t}\n\t}\n\treturn NULL;\n}\n\nCDbgProcess*CSysInfo::GetProcess(WCHAR*szProcName)\n{\n\tfor(CProcMap::IT Iter=m_ProcMap.Begin();Iter!=m_ProcMap.End();Iter++)\n\t{\n\t\tif(TStrICmp(szProcName,(PCWSTR)Iter->m_ProcNameW)==0)\n\t\t\treturn &(*Iter);\n\t}\t\n\treturn NULL;\n}\n\nbool CSysInfo::GetProcessName(PEPROCESS curproc,WCHAR*ProcessName,int BufCount)\n{\n\tPWSTR pwStr;\n\tchar*NamePtr;\n\tif(m_ProcNameOff==0)\n\t{\n\t\tTStrCpy(ProcessName,\"<unknown>\");\n\t\treturn false;\n\t}\n    NamePtr=(char*)curproc+m_ProcNameOff;\n\tAnsiToUnicode(NamePtr,ProcessName,BufCount);\n\tpwStr = TStrRChr(ProcessName,(WCHAR)'.');\n\tif(pwStr)\n\t\t*pwStr=0;\n    return true;\n}\n\nDWORD CSysInfo::SearchMemory(DWORD BaseAddr,DWORD BaseSize,BYTE* Feature,DWORD Size)\n{\n\tBYTE Buffer[200];\n\tDWORD LSize,SectMaxPos=0;\n\tif(Size>sizeof(Buffer))\n\t\treturn 0;\n\tfor(DWORD Pos=0;Pos<BaseSize-Size;Pos++)\n\t{\n\t\tif(Pos+Size>SectMaxPos)\n\t\t{\n\t\t\tLSize=BaseSize-Pos;\n\t\t\tif(LSize > sizeof(Buffer))\n\t\t\t\tLSize = sizeof(Buffer);\n\t\t\tSectMaxPos = Pos + LSize;\n\t\t\tif(gpSyser->ReadMemory(BaseAddr+Pos,Buffer,LSize,gpSyser)==0)\n\t\t\t{\n\t\t\t\tPos+=sizeof(Buffer);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\t\tif(memcmp(&Buffer[Pos+sizeof(Buffer)-SectMaxPos],Feature,Size)==NULL)\n\t\t\treturn Pos+BaseAddr;\n\t}\n\treturn 0;\n}\n\nbool CSysInfo::ConvertFileName(CHAR*szFileName)\n{\n\tCHAR szBuffer[MAX_FN_LEN];\n\tif(TStrNCmp(szFileName,\"\\\\??\\\\\",4)==0)\n\t\treturn true;\n\tif(*szFileName!='\\\\' && szFileName[1]!=':')\n\t{\n\t\tTStrCpy(szBuffer,szFileName);\n\t\tTStrCpy(szFileName,m_szSystemRoot);\n\t\tTStrCat(szFileName,\"system32\\\\drivers\\\\\");\n\t\tTStrCat(szFileName,szBuffer);\n\t\treturn true;\n\t}\n\tif(ConvertFileNameByMacro(szFileName,\"\\\\SystemRoot\\\\\",m_szSystemRootA))\n\t\treturn true;\n\tif(ConvertFileNameByMacro(szFileName,m_szSystemRootMarco,m_szSystemRootA))\n\t\treturn true;\n\tif(ConvertFileNameByMacro(szFileName,\"system32\\\\\",m_szSystem32A))\n\t\treturn true;\n\tif(ConvertFileNameByMacro(szFileName,\"system32\\\\drivers\\\\\",m_szSystem32DriversA))\n\t\treturn true;\n\tif(ConvertFileNameByMacro(szFileName,\"\\\\device\\\\lanmanredirector\\\\\",\"\\\\\\\\\"))\n\t\treturn true;\n\tif(ConvertFileNameByMacro(szFileName,\"\\\\device\\\\mup\\\\\",\"\\\\\\\\\"))\n\t\treturn true;\n\tTList<CStrA>::IT Iter = m_SymbolPathList.Begin();\n\tfor(CHAR cPath='C';cPath<='Z' && Iter!=m_SymbolPathList.End();cPath++)\n\t{\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\C:\");\n\t\tszBuffer[4]=cPath;\n\t\tif(ConvertFileNameByMacro(szFileName,*Iter,szBuffer))\n\t\t\treturn true;\n\t\tIter++;\n\t}\n\treturn false;\n}\n\nvoid CSysInfo::GetPathSymbolLinker()\n{\n\tNTSTATUS            status;\n\tHANDLE              hLink;\n\tOBJECT_ATTRIBUTES   oa;\n\tUNICODE_STRING      Name;\n\tWCHAR               szBuffer[256];\n\tchar\t\t\t\tszBufferA[256];\n\tm_SymbolPathList.Clear();\n\tfor(WCHAR cPath='C';cPath<='Z';cPath++)\n\t{\n\t\tTStrCpy(szBuffer,\"\\\\??\\\\C:\");\n\t\tszBuffer[4]=cPath;\n\t\tName.Buffer=szBuffer;\n\t\tName.Length=wcslen(szBuffer)*2;\n\t\tName.MaximumLength=sizeof(szBuffer);\n\t\tInitializeObjectAttributes(&oa,&Name,OBJ_CASE_INSENSITIVE,NULL,NULL);\n\t\tif(!NT_SUCCESS(status=ZwOpenSymbolicLinkObject(&hLink,0x20001,&oa)))\t\t\t\n\t\t\treturn;\n\t\tName.Buffer=szBuffer;\n\t\tName.MaximumLength=Name.Length=sizeof(szBuffer);\n\t\tZeroMemory(szBuffer,sizeof(szBuffer));\n\t\tif(!NT_SUCCESS(status=ZwQuerySymbolicLinkObject(hLink,&Name,NULL)))\n\t\t\treturn;\n\t\tUnicodeToAnsi(szBuffer,szBufferA,256);\n\t\tm_SymbolPathList.Append(szBufferA);\n\t\tZwClose(hLink);\n\t}\n}\n\nbool CSysInfo::GetDriverList()\n{\n\tULONG Size;\n\tPEPROCESS Pr;\n\tMODULE_ID ModuleID;\n\tCDbgModule*pDbgModule;\n\tCHAR szFileName[MAX_FN_LEN];\n\tCSymbolModule*pSymbolModule;\n\tPSYSTEM_MODULE_INFORMATION pModInfo,p;\n\tZwQuerySystemInformation( SystemModuleInformation,&Size,0,&Size);\n\tif(Size==0)\n\t\treturn false;\n\tp = (PSYSTEM_MODULE_INFORMATION) new BYTE[Size];\n\tZwQuerySystemInformation( SystemModuleInformation,p,Size,0);\n\tpModInfo = p;\n\tPr=NULL;\n\tif(gpSyser->m_pCsrssProcess)\n\t{\n\t\tPsLookupProcessByProcessId((HANDLE)gpSyser->m_pCsrssProcess->m_PID,&Pr);\n\t\tif(Pr==NULL)\n\t\t{\n\t\t\tdelete p;\n\t\t\treturn false;\n\t\t}\n\t\tKeAttachProcess((PRKPROCESS)Pr);\n\t}\n\tfor(ULONG n=0; n<p->dCount; n++)\n\t{\n\t\tTStrCpyLimit(szFileName,(PCSTR)pModInfo->aSM[n].abName,MAX_FN_LEN);\n\t\tConvertFileName(szFileName);\n\t\tif(MmIsAddressValid(pModInfo->aSM[n].pAddress))\n\t\t\tModuleID = GetModuleID((ULPOS)pModInfo->aSM[n].pAddress,pModInfo->aSM[n].dSize);\n\t\telse\n\t\t\tModuleID = 0;\n\t\tgpSyser->m_SyserUI.m_SyserDI.OnLoadModule(gpSyser->m_pSysDebugger,szFileName,(ULPOS)pModInfo->aSM[n].pAddress,pModInfo->aSM[n].dSize,ModuleID);\n\t}\n\tif(Pr)\n\t\tKeDetachProcess();\n\tdelete p;\n\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(\"Syser.sys\");\n\tif(pDbgModule)\n\t{\n\t\tm_SyserBase =  pDbgModule->m_ModuleBase;\n\t\tm_SyserHighBase =  pDbgModule->m_ModuleBase+pDbgModule->m_ModuleSize;\n\t}\n\treturn true;\n}\n\n\nextern \"C\" NTSTATUS NTSYSAPI ZwOpenProcess(\n\t\t\t  OUT PHANDLE ProcessHandle,\n\t\t\t  IN ACCESS_MASK DesiredAccess,\n\t\t\t  IN POBJECT_ATTRIBUTES ObjectAttributes,\n\t\t\t  IN PCLIENT_ID ClientId OPTIONAL\n\t\t\t  );\nextern \"C\" NTSTATUS NTSYSAPI NtQueryVirtualMemory(\n\t\t\t\t\t IN HANDLE ProcessHandle,\n\t\t\t\t\t IN PVOID BaseAddress,\n\t\t\t\t\t IN MEMORY_INFORMATION_CLASS MemoryInformationClass,\n\t\t\t\t\t OUT PVOID MemoryInformation,\n\t\t\t\t\t IN ULONG MemoryInformationLength,\n\t\t\t\t\t OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t );\nextern \"C\" NTSTATUS NTSYSAPI __stdcall ZwQueryVirtualMemory(\n\t\t\t\t\t IN HANDLE ProcessHandle,\n\t\t\t\t\t IN PVOID BaseAddress,\n\t\t\t\t\t IN MEMORY_INFORMATION_CLASS MemoryInformationClass,\n\t\t\t\t\t OUT PVOID MemoryInformation,\n\t\t\t\t\t IN ULONG MemoryInformationLength,\n\t\t\t\t\t OUT PULONG ReturnLength OPTIONAL\n\t\t\t\t\t );\n\n\n\nbool CSysInfo::GetDllListNew(CDbgProcess*pProcess)\n{\n\tNTSTATUS ntstatus;\n\tMEMORY_BASIC_INFORMATION MemoryInfo;\n\tOBJECT_ATTRIBUTES   oa={sizeof(OBJECT_ATTRIBUTES), 0,NULL,NULL};\n\tHANDLE hProcess;\n\tPMEMORY_SECTION_NAME pName;\n\tWCHAR * PrevName;\n\tCLIENT_ID ClientID;\n\tCHAR szFileName[MAX_FN_LEN];\n\tbool bRetValue=true;\n\tDWORD nLength=0;\n\t\n\tif(pProcess==NULL || m_pZwQueryVirtualMemory==NULL)\n\t\treturn false;\n\tpName = (PMEMORY_SECTION_NAME)new BYTE[520+520];\n\tif(pName==NULL)\n\t\treturn false;\t\n\tPrevName=(WCHAR*)pName;\n\tPrevName=PrevName+260;\n\tPrevName[0]=0;\n\tClientID.UniqueProcess=(HANDLE)pProcess->m_PID;\n\tClientID.UniqueThread=0;\n\n\tntstatus = ZwOpenProcess(&hProcess,PROCESS_ALL_ACCESS,&oa,&ClientID);\n\tif(!NT_SUCCESS(ntstatus))\n\t{\n\t\tdelete pName;\n\t\treturn false;\t\t\n\t}\n\tPEPROCESS Pr=NULL;\n\tDWORD PrevAddress=0;\n\tDWORD PrevLen=0;\n\tMODULE_ID ModuleID;\n\tPsLookupProcessByProcessId((HANDLE)pProcess->m_PID,&Pr);\n\tif(Pr==NULL)\n\t\treturn false;\t\n\t__try\n\t{\n\tif(pProcess!=gpSyser->m_pSysDebugger)\n\t\tKeAttachProcess((PRKPROCESS)Pr);\n\tDWORD ImageSize=PrevLen;\n\tfor(DWORD i=0x0;i<0x7fffffff;i+=0x10000)\n\t{\t\t\t\n\t\tntstatus = m_pZwQueryVirtualMemory(hProcess,*(PVOID*)&i,MemorySectionName,pName,520,&nLength);\n\t\tnLength=i;\t\t\t\n\t\tif(!NT_SUCCESS(ntstatus))\n\t\t{\n\t\t\tcontinue;\n\t\t}\n\t\tntstatus = m_pZwQueryVirtualMemory(hProcess,*(PVOID*)&i,MemoryBasicInformation,&MemoryInfo,sizeof(MemoryInfo),&nLength);\n\t\tif(!NT_SUCCESS(ntstatus) || (MemoryInfo.Type & MEM_IMAGE)==0)\n\t\t{\t\t\t\t\n\t\t\tcontinue;\n\t\t}\n\t\tif(TStrICmp(pName->SectionFileName.Buffer,PrevName))\n\t\t{\n\t\t\tif(PrevName[0]!=0 && PrevAddress && PrevLen)\n\t\t\t{\n\t\t\t\tImageSize=PrevLen;\n\t\t\t\tModuleID = GetModuleIDAndImageSize(PrevAddress,ImageSize);\n\t\t\t\tUnicodeToAnsi(PrevName,szFileName,MAX_FN_LEN);\n\t\t\t\tif(TStrNICmp(szFileName,WSTR(\"\\\\??\\\\\"),4))\n\t\t\t\t{\n\t\t\t\t\tif(ConvertFileName(szFileName)==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\t\t\t\tUnicodeToAnsi(PrevName,&szFileName[4],MAX_FN_LEN-4);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tgpSyser->m_SyserUI.m_SyserDI.OnLoadModule(pProcess,szFileName,PrevAddress,ImageSize,ModuleID);\n\t\t\t}\n\t\t\tPrevAddress=i;\n\t\t\tPrevLen=MemoryInfo.RegionSize;\n\t\t\tTStrCpy(PrevName,pName->SectionFileName.Buffer);\n\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tPrevLen+=MemoryInfo.RegionSize;\n\t\t}\n\t\ti=i+MemoryInfo.RegionSize;\n\t\ti=i&0xffff0000;\n\t}\n\t\n\tif(PrevName[0]!=0 && PrevAddress && PrevLen)\n\t{\n\t\tImageSize=PrevLen;\n\t\tModuleID = GetModuleIDAndImageSize(PrevAddress,ImageSize);\n\t\tUnicodeToAnsi(PrevName,szFileName,MAX_FN_LEN);\n\t\tif(TStrNICmp(szFileName,WSTR(\"\\\\??\\\\\"),4))\n\t\t{\n\t\t\tif(ConvertFileName(szFileName)==false)\n\t\t\t{\n\t\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\t\tUnicodeToAnsi(PrevName,&szFileName[4],MAX_FN_LEN-4);\n\t\t\t}\n\t\t}\n\t\tgpSyser->m_SyserUI.m_SyserDI.OnLoadModule(pProcess,szFileName,PrevAddress,ImageSize,ModuleID);\n\t}\n\t\t\n\tdelete pName;\n\tif(pProcess!=gpSyser->m_pSysDebugger)\n\t\tKeDetachProcess();\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\tbRetValue=false;\t\t\n\t}\n\tZwClose(hProcess);\n\t\n\treturn bRetValue;\n}\nbool CSysInfo::GetDllList(CDbgProcess*pProcess)\n{\n\tbool bRetValue=true;\n\tMODULE_ID ModuleID;\n\tCHAR szFileName[MAX_FN_LEN];\n\tWCHAR wszFileName[MAX_FN_LEN],*pUserModeName;\n\tPEB *Peb;\n\tPEPROCESS Pr;\n\tPEB_LDR_DATA *Ldr;\n\tLDR_DATA_TABLE_ENTRY *M,*T;\n\tif(pProcess == NULL || pProcess->m_pCurrentPEB==NULL)\n\t\treturn false;\n\tPr=NULL;\n\tPsLookupProcessByProcessId((HANDLE)pProcess->m_PID,&Pr);\n\tif(Pr==NULL)\n\t\treturn false;\t\n\tif(pProcess!=gpSyser->m_pSysDebugger)\n\t\tKeAttachProcess((PRKPROCESS)Pr);\n\t__try\n\t{\n\t\tPeb=(PEB*)pProcess->m_pCurrentPEB;\n\t\t\n\t\tLdr=Peb->Ldr;\n\t\t\n\t\tM=(LDR_DATA_TABLE_ENTRY*)((BYTE*)Ldr->InMemoryOrderModuleList.Flink-8);\n\t\tT=M;\n\t\t\n\t\tdo\n\t\t{\n\t\t\tTStrCpyLimit(wszFileName,T->FullDllName.Buffer,T->FullDllName.Length/2+1);\n\t\t\tUnicodeToAnsi(wszFileName,szFileName,MAX_FN_LEN);\n\t\t\tif(TStrNICmp(T->FullDllName.Buffer,WSTR(\"\\\\??\\\\\"),4))\n\t\t\t{\n\t\t\t\tif(ConvertFileName(szFileName)==false)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\t\t\tUnicodeToAnsi(wszFileName,&szFileName[4],MAX_FN_LEN-4);\n\t\t\t\t}\n\t\t\t}\n\t\t\tModuleID = GetModuleID((ULPOS)T->DllBase,T->SizeOfImage);\n\t\t\tgpSyser->m_SyserUI.m_SyserDI.OnLoadModule(pProcess,szFileName,(ULPOS)T->DllBase,T->SizeOfImage,ModuleID);\n\t\t\tT=(LDR_DATA_TABLE_ENTRY*)T->InLoadOrderLinks.Flink;\n\t\t\t\n\t\t}while(T->InLoadOrderLinks.Flink!=(LIST_ENTRY*)M);\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\tbRetValue=false;\n\t\t//::DbgPrint(\"Syser : %s GetDllList except...\\n\",(PCSTR)pProcess->m_ProcName);\n\t}\n\tif(pProcess!=gpSyser->m_pSysDebugger)\n\t\tKeDetachProcess();\n\treturn bRetValue;\n}\n\n#ifdef AnsiToUnicode\n#undef AnsiToUnicode\n#endif\n\n#ifdef UnicodeToAnsi\n#undef UnicodeToAnsi\n#endif\n\nint SyserUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen)\n{\n\tKIRQL Irq;\n\tint n,Result;\n\tfor(n=0;WszBuf[n] && n<MaxLen;n++)\n\t{\n\t\tif(WszBuf[n]>0xFF)\n\t\t\tbreak;\n\t}\n\tif(WszBuf[n]==0 || n>=MaxLen)\n\t\treturn TStrCpyLimit(szBuf,WszBuf,MaxLen);\n\tif(gpSysLangDevEx)\n\t\treturn gpSysLangDevEx->pfnUnicodeToAnsi(WszBuf,szBuf,MaxLen);\n\treturn TStrCpyLimit(szBuf,WszBuf,MaxLen);\n}\n\nint SyserAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen)\n{\n\tint n,Result;\n\tfor(n=0;szBuf[n] && n<MaxLen;n++)\n\t{\n\t\tif(szBuf[n]&0x80)\n\t\t\tbreak;\n\t}\n\tif(szBuf[n]==0 || n>=MaxLen)\n\t\treturn TStrCpyLimit(WszBuf,szBuf,MaxLen);\n\tif(gpSysLangDevEx)\n\t\treturn gpSysLangDevEx->pfnAnsiToUnicode(szBuf,WszBuf,MaxLen);\n\tResult = 0;\n\t*WszBuf = 0;\n\treturn Result;\n}\n\nbool CSysInfo::GetIDTTable()\n{\n\tDWORD i;\n\tbool bOK;\n\tBYTE *PageBuffer;\n\tULPOS Pos=0,ReadSize;\n\t\n\tCDbgModule*pDbgModule=NULL;\n\t\n\tif(gpSyser->m_pSysDebugger==NULL)\n\t\treturn false;\n\tfor(i = 0;m_gNtoskrnlName[i];i++)\n\t{\n\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(m_gNtoskrnlName[i]);\n\t\tif(pDbgModule!=NULL)\n\t\t\tbreak;\n\t}\n\tif(pDbgModule==NULL||pDbgModule->m_ModuleBase==0||pDbgModule->m_ModuleSize==0)\n\t\treturn false;\n\tPageBuffer = new BYTE[0x1040];\n\tif(PageBuffer==NULL)return false;\n\tmemset(PageBuffer,0,0x1040);\n\tCPEFile PEFile;\n\tbOK = PEFile.Open(pDbgModule->m_ModuleFullName);\n\tif(bOK==false)\n\t{\n\t\tdelete PageBuffer;\n\t\treturn false;\n\t}\n\tfor(;Pos<PEFile.m_FileSize;Pos+=0x1000)\n\t{\n\t\tReadSize = (PEFile.m_FileSize-Pos) < 0x1020 ? (PEFile.m_FileSize-Pos) : 0x1020;\n\t\tif(PEFile.ReadFile(Pos,PageBuffer,ReadSize)==false)\n\t\t\tcontinue;\n\t\tfor(i = 0; i < ReadSize;i++)\n\t\t{\n\t\t\tif(((*(DWORD*)&PageBuffer[i]) == 0x88e00) && ((*(DWORD*)&PageBuffer[i+0x8]) == 0x88e00) && ((*(DWORD*)&PageBuffer[i+0x10]) == 0x88e00))\n\t\t\t{\n\t\t\t\tPos=Pos+i-4;\n\t\t\t\tif(PEFile.ReadFile(Pos,PageBuffer,0x800))\n\t\t\t\t{\n\t\t\t\t\tm_OrgWindowIDT = (PORGWINDOWSIDTENTRY)new BYTE[0x800];\n\t\t\t\t\tif(m_OrgWindowIDT)\n\t\t\t\t\t{\n\t\t\t\t\t\tmemcpy(m_OrgWindowIDT,PageBuffer,0x800);\n\t\t\t\t\t\tfor(int j  = 0 ; j < 0x100; j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(m_OrgWindowIDT[j].EntryPoint)\n\t\t\t\t\t\t\tm_OrgWindowIDT[j].EntryPoint=m_OrgWindowIDT[j].EntryPoint - PEFile.m_ImageBase + pDbgModule->m_ModuleBase;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete PageBuffer;\n\t\t\t\t\t\tPEFile.Close();\n\t\t\t\t\t\t//::DbgPrint(\"Syser : OrgWindowsIDT %08x\\n\",Pos);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tdelete PageBuffer;\n\t\t\t\tPEFile.Close();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\tdelete PageBuffer;\n\tPEFile.Close();\n\treturn false;\n}\n\nbool CSysInfo::GetOSKernelName()\n{\n\tULONG Size;\t\n\tCHAR szFileName[MAX_FN_LEN];\n\tNTSTATUS ntstatus;\n\tPSYSTEM_MODULE_INFORMATION pModInfo,p;\n\tntstatus = ZwQuerySystemInformation( SystemModuleInformation,NULL,0,&Size);\n\tif(ntstatus != STATUS_INFO_LENGTH_MISMATCH || Size==0)\t\n\t\treturn false;\n\tp = (PSYSTEM_MODULE_INFORMATION) new BYTE[Size];\n\tif(p==NULL)\n\t\treturn false;\n\tntstatus = ZwQuerySystemInformation( SystemModuleInformation,p,Size,0);\n\tif(!NT_SUCCESS(ntstatus))\n\t{\n\t\tdelete p;\n\t\treturn false;\n\t}\n\tpModInfo = p;\n\tfor(ULONG n=0; n<p->dCount; n++)\n\t{\n\t\tTStrCpyLimit(szFileName,(PCSTR)pModInfo->aSM[n].abName+pModInfo->aSM[n].wNameOffset,MAX_FN_LEN);\n\t\tfor(int i =0 ;m_gNtoskrnlName[i];i++)\n\t\t{\n\t\t\tif(TStrICmp(szFileName,m_gNtoskrnlName[i])==0)\n\t\t\t{\n\t\t\t\tTStrCpyLimit(szFileName,(PCSTR)pModInfo->aSM[n].abName,MAX_FN_LEN);\n\t\t\t\tif(ConvertFileName(szFileName)==false)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\t\t\t\t\tTStrCpyLimit(szFileName,(PCSTR)pModInfo->aSM[n].abName,MAX_FN_LEN-sizeof(\"\\\\??\\\\\"));\n\t\t\t\t}\n\t\t\t\tm_OSKernlBase = *(DWORD*)&pModInfo->aSM[n].pAddress;\n\t\t\t\t\n\t\t\t\tTStrCpy(m_OSKernelName,szFileName);\n\t\t\t\t::DbgPrint(\"Syser : Windows kernel name '%s' base=%08x\\n\",(PCSTR)pModInfo->aSM[n].abName+pModInfo->aSM[n].wNameOffset,m_OSKernlBase);\n\t\t\t\tdelete p;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\t\t\t\t\n\t}\t\n\tdelete p;\n\treturn false;\t\n}\n\n\nbool CSysInfo::GetServiceTable()\n{\n\tDWORD i;\n\tCDbgModule*pDbgModule=NULL;\n\tDWORD KeServiceDescriptorTableRav,ServiceCount,dwSize;\n\tif(gpSyser->m_pSysDebugger==NULL)\n\t\treturn false;\n\n\tif(GetWin32KServiceTable())\n\t\tFindWin32KServiceSymName();\n\tfor(i = 0; m_gNtoskrnlName[i];i++)\n\t{\n\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(m_gNtoskrnlName[i]);\n\t\tif(pDbgModule!=NULL) break;\n\t}\n\tif(pDbgModule==NULL||pDbgModule->m_ModuleBase==0||pDbgModule->m_ModuleSize==0)\n\t\treturn false;\n\tCPEFile PEFile;\n\tif(PEFile.Open(pDbgModule->m_ModuleFullName)==false)\n\t\treturn false;\n\tKeServiceDescriptorTableRav = PEFile.GetExportFunc(\"KeServiceDescriptorTable\");\n\tif(KeServiceDescriptorTableRav<=PEFile.m_ImageBase||KeServiceDescriptorTableRav>=(PEFile.m_ImageBase+PEFile.m_ImageSize))\n\t{\nerror_quit:\n\t\tPEFile.Close();\n\t\treturn false;\n\t}\n\t::DbgPrint(\"Syser : KeServiceDescriptorTable=%08x\\n\",KeServiceDescriptorTable);\n\tKeServiceDescriptorTableRav-=PEFile.m_ImageBase;\n\tKeServiceDescriptorTableRav+=pDbgModule->m_ModuleBase;\n\tDWORD ServiceTableBegin;\n\tPSERVICETABLE pServiceTable = *(PSERVICETABLE*)&KeServiceDescriptorTableRav;\n\tbool Success;\n\tif(ReadDword(&pServiceTable->LowCall,&m_LoCount)==false)\n\t\tgoto error_quit;\n\tif(ReadDword(&pServiceTable->HiCall,&m_HiCount)==false)\n\t\tgoto error_quit;\t\t\n\tServiceCount = m_HiCount - m_LoCount + 1;\t\n\tServiceTableBegin = *(DWORD*)&pServiceTable->ServiceTable;\n\tServiceTableBegin -= pDbgModule->m_ModuleBase;\n\tif(ServiceTableBegin>=PEFile.m_ImageSize||ServiceCount>=0x1000)\n\t{\n\t\tgoto error_quit;\n\t}\n\tm_OrgWindowsServiceTable = new DWORD[ServiceCount];\n\tif(m_OrgWindowsServiceTable==NULL)goto error_quit;\n\tm_OrgWindowsServiceArgTable = new DWORD[ServiceCount];\n\tif(m_OrgWindowsServiceArgTable == NULL)\n\t{\n\t\tdelete m_OrgWindowsServiceTable;\n\t\tm_OrgWindowsServiceTable = NULL;\n\t\tgoto error_quit;\n\t}\n\tmemset(m_OrgWindowsServiceTable,0,sizeof(DWORD)*ServiceCount);\n\tdwSize = ServiceTableBegin % 0x1000 + sizeof(DWORD)*ServiceCount;\n\tdwSize += (0x1000-1);\n\tBYTE *PageBuffer=new BYTE[dwSize/0x1000*0x1000];\n\tif(PageBuffer==NULL)\n\t{\n\t\tdelete m_OrgWindowsServiceArgTable;\n\t\tdelete m_OrgWindowsServiceTable;\n\t\tm_OrgWindowsServiceTable = NULL;\n\t\tm_OrgWindowsServiceArgTable = NULL;\n\t\tgoto error_quit;\n\t}\n\tPEFile.RelocLoad(pDbgModule->m_ModuleBase);\n\tfor(i = 0 ; i < dwSize/0x1000;i++)\n\t{\n\t\tPEFile.LoadPage(ServiceTableBegin - ServiceTableBegin%0x1000 + pDbgModule->m_ModuleBase + i*0x1000,&PageBuffer[i*0x1000]);\n\t}\n\tmemcpy(m_OrgWindowsServiceTable,&PageBuffer[ServiceTableBegin % 0x1000],sizeof(DWORD)*ServiceCount);\n\tdelete PageBuffer;\n\tPEFile.Close();\n\treturn true;\n}\n\nbool GetPEBOffset(ULONG* PEBOffset)\n{\n\tULONG Size,PID,Count=0,i=0;\n\tUCHAR* SearchBuffer;\n\tPEPROCESS Pr = NULL;\n\tvoid*Buffer;\n\tbool bOK;\n\tULONG Array[3]={0,0,0};\n\tif(PEBOffset)\n\t\t*PEBOffset=0;\n\t\n\tSize=sizeof(SYSTEM_PROCESS_INFORMATION)*0x100;\n\tBuffer = new BYTE[Size];\n\twhile(Buffer) \n\t{\n\t\tif(NT_SUCCESS(ZwQuerySystemInformation(SystemProcessInformation,Buffer,Size,NULL)))\n\t\t\tbreak;\n\t\tdelete Buffer;\n\t\tSize*=2;\n\t\tBuffer=new BYTE[Size];\n\t\tif(Buffer==NULL || Size>sizeof(SYSTEM_PROCESS_INFORMATION)*0x1000)\n\t\t\treturn false;\n\t}\n\tULONG Offset = 0;\n\tSYSTEM_PROCESS_INFORMATION*P=(SYSTEM_PROCESS_INFORMATION*)Buffer;\n\tdo\n\t{\n\t\tP=(SYSTEM_PROCESS_INFORMATION*)((BYTE*)P+Offset);\n\t\tOffset = P->NextEntryOffset;\n\t\tPID = PTR_TO_NUM(P->UniqueProcessId);\n\t\tif(PID<8)continue;\n\t\tPr = NULL;\n\t\tPsLookupProcessByProcessId(NUM_TO_PTR(PID),&Pr);\n\t\tif(Pr)\n\t\t{\n\t\t\tSearchBuffer=(UCHAR*)Pr;\n\t\t\tif(MmIsAddressValid((VOID*)&SearchBuffer[0x150])==false)\n\t\t\t\tcontinue;\t\t\t\n\t\t\tif(MmIsAddressValid((VOID*)&SearchBuffer[0x304])==false)\n\t\t\t\tcontinue;\n\t\t\tfor(int n = 0x150; n < 0x300;n++)\n\t\t\t{\n\t\t\t\tif((*(DWORD*)&SearchBuffer[n] & 0x7FFD0FFF)==0x7ffd0000)\n\t\t\t\t{\n\t\t\t\t\tArray[i]=n;\n\t\t\t\t\ti++;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(i>=3)\n\t\t\t\tbreak;\n\t\t}\n\t}while(Offset);\n\tdelete Buffer;\n\tbOK=true;\n\tfor(i = 0; i < 3;i++)\n\t{\n\t\tif(Array[i]!=Array[0])\n\t\t{\n\t\t\tbOK=false;\n\t\t\tbreak;\n\t\t}\n\t}\t\n\tif(bOK)\n\t{\n\t\tif(PEBOffset)\n\t\t\t*PEBOffset=Array[0];\t\t\n\t}\n\treturn bOK;\n}\n\nbool CSysInfo::PatchI8042Driver()\n{\n\tbool retvalue=false;\n\tCDbgModule*pModule;\n\tchar szFileName[MAX_FN_LEN];\n\tint i,j;\n\n\tchar* i8042[]={\"i8042prt.sys\",\"msi8042.sys\",\"l8042prt.sys\",NULL};\n\n\tfor(i = 0; i8042[i];i++)\n\t{\n\t\tpModule = gpSyser->m_pSysDebugger->GetModule(i8042[i]);\n\t\tif(pModule)\n\t\t\tbreak;\n\t}\t\n\tif(pModule==NULL)\n\t{\n\t\tDbgPrint(\"not found i8042\\n\");\n\t\treturn retvalue;\n\t}\n\t\n\tCPEFile PEFile;\n\tTStrCpy(szFileName,m_szSystem32DriversA);\n\tTStrCat(szFileName,i8042[i]);\n\t//PEFile.m_OpenMode|=PE_OPEN_NO_EXPORT;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn retvalue;\n\tDbgPrint(\"name = %s\\n\",szFileName);\n\tIMPORT_FUNC* pFuncREAD_PORT_UCHAR=NULL;\n\tIMPORT_FUNC* pFuncWRITE_PORT_UCHAR=NULL;\t\n\t/*\n\tIMPORT_FUNC*FuncList;\n\tfor(i = 0; i < PEFile.m_ImportModuleCount;i++)\n\t{\n\t\tDbgPrint(PEFile.m_ImportModule[i].ModuleName);\nDbgPrint(\"\\n\");\n\t\tFuncList = PEFile.m_ImportModule[i].FuncList;\n\t\tif(FuncList)\n\t\t{\n\t\t\tfor(j=0;j<PEFile.m_ImportModule[i].FuncCount;j++)\n\t\t\t{\n\t\t\t\tDbgPrint(FuncList[j].FuncName);\n\t\t\t\tDbgPrint(\"\\n\");\n\t\t\t}\n\t\t}\t\t\t\t\n\t}\n\t*/\n\tpFuncREAD_PORT_UCHAR = PEFile.GetImportModuleFunc(\"hal.dll\",\"READ_PORT_UCHAR\");\n\tif(pFuncREAD_PORT_UCHAR==NULL)\n\t\tpFuncREAD_PORT_UCHAR = PEFile.GetImportModuleFunc(\"hal.dll\",\"IMP_READ_PORT_UCHAR\");\n\tpFuncWRITE_PORT_UCHAR = PEFile.GetImportModuleFunc(\"hal.dll\",\"WRITE_PORT_UCHAR\");\n\tif(pFuncWRITE_PORT_UCHAR ==NULL) \n\t\tpFuncWRITE_PORT_UCHAR = PEFile.GetImportModuleFunc(\"hal.dll\",\"IMP_WRITE_PORT_UCHAR\");\n\t//DbgPrint(\"pFuncREAD_PORT_UCHAR=%08x pFuncWRITE_PORT_UCHAR=%08x\\n\",pFuncREAD_PORT_UCHAR,pFuncWRITE_PORT_UCHAR);\n\tif(pFuncREAD_PORT_UCHAR && pFuncWRITE_PORT_UCHAR)\n\t{\n\t\tretvalue=true;\n\t\t//::DbgPrint(\"%s BaseAddress =%08x\\n\",i8042[i],pModule->m_ModuleBase);\n\t\t//::DbgPrint(\"READ_PORT_UCHAR =%08x\\n\",pFuncREAD_PORT_UCHAR->ThunkAddr-PEFile.m_ImageBase+pModule->m_ModuleBase);\n\t\t//::DbgPrint(\"WRITE_PORT_UCHAR =%08x\\n\",pFuncWRITE_PORT_UCHAR->ThunkAddr-PEFile.m_ImageBase+pModule->m_ModuleBase);\n\t\t//::DbgPrint(\"pFuncWRITE_PORT_UCHAR->ThunkAddr=%08x\\n\",pFuncWRITE_PORT_UCHAR->ThunkAddr);\n\t\t//::DbgPrint(\"pFuncREAD_PORT_UCHAR->ThunkAddr=%08x\\n\",pFuncREAD_PORT_UCHAR->ThunkAddr);\n\t\t\n\t}\t\n\tPEFile.Close();\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SysInfo.h",
    "content": "#ifndef _SYS_INFO_H_\n#define _SYS_INFO_H_\n\n#include \"DbgProcess.h\"\n\ntypedef TMap<DWORD,CDbgProcess>\t\t\tCProcMap;\ntypedef TString<CHAR,true>\t\t\t\tCNtcallStr;\ntypedef TMap<CNtcallStr,ULONGLONG>\t\tTNtcallMap;\ntypedef TMap<ULONG,CNtcallStr>\t\t\tTNtcallNameIDMap;\ntypedef struct _ORGWINDOWSIDTENTRY\n{\n\tDWORD EntryPoint;\n\tWORD Attribute;\n\tWORD Selector;\n}ORGWINDOWSIDTENTRY,*PORGWINDOWSIDTENTRY;\n\ntypedef struct _SERVICEINDEXANDSYMBOL\n{\n\tchar*Name;\n\tDWORD Index;\n}SERVICEINDEXANDSYMBOL,*PSERVICEINDEXANDSYMBOL;\n\ntypedef enum _MEMORY_INFORMATION_CLASS {\n\tMemoryBasicInformation,\n\tMemoryWorkingSetList,\n\tMemorySectionName,\n\tMemoryBasicVlmInformation\n} MEMORY_INFORMATION_CLASS;\n\ntypedef struct _MEMORY_BASIC_INFORMATION { // Information Class 0\n\tPVOID BaseAddress;\n\tPVOID AllocationBase;\n\tULONG AllocationProtect;\n\tULONG RegionSize;\n\tULONG State;\n\tULONG Protect;\n\tULONG Type;\n} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;\n\ntypedef struct _MEMORY_SECTION_NAME { // Information Class 2\n\tUNICODE_STRING SectionFileName;\n} MEMORY_SECTION_NAME, *PMEMORY_SECTION_NAME;\n\nclass CSysInfo\n{\n\ttypedef NTSTATUS (__stdcall * ZWQUERYVIRTUALMEMORY)(\n\t\tIN HANDLE ProcessHandle,\n\t\tIN PVOID BaseAddress,\n\t\tIN MEMORY_INFORMATION_CLASS MemoryInformationClass,\n\t\tOUT PVOID MemoryInformation,\n\t\tIN ULONG MemoryInformationLength,\n\t\tOUT PULONG ReturnLength OPTIONAL\n\t\t);\npublic:\n\tCSysInfo();\n\t~CSysInfo();\npublic:\n\tbool\t\tInit();\n\tvoid\t\tRelease();\n\tbool\t\tValidateSN();\n\tvoid\t\tUpdateHostSN();\n\tvoid\t\tGetSystemInformation();\n\tbool\t\tGetWin32KServiceTable();\n\tCDbgProcess*InsertProcess(DWORD PID);\t\t\t\t//ͨPID\n\tbool\t\tRemoveProcess(DWORD PID);\t\t\t\t//ͨPIDɾһ̶\n\tCDbgProcess*GetProcess(DWORD PID);\n\tCDbgProcess*GetProcessByCR3(DWORD CR3);\n\tCDbgProcess*GetProcess(WCHAR*szProcName);\n\tCDbgProcess*GetProcessByEPROCESS(DWORD EProcess);\n\tDWORD\t\tSearchMemory(DWORD BaseAddr,DWORD BaseSize,BYTE* Feature,DWORD Size);\n\tvoid\t\tOutputEnv();\n\tbool\t\tGetSystemRoot();\n\tbool\t\tConvertFileName(CHAR*szFileName);\n\tvoid\t\tGetPathSymbolLinker();\n\tbool\t\tFindWin32KServiceSymName();\n\tbool\t\tPatchI8042Driver();\n#ifdef CODE_OS_NT_DRV\n\tbool\t\tGetDllList(CDbgProcess*pProcess);\n\tbool\t\tGetDllListNew(CDbgProcess*pProcess); //window7 use this function\n\tbool\t\tGetProcessName(PEPROCESS curproc,WCHAR*ProcessName,int BufCount);\n\tbool\t\tGetDriverList();\n\tbool\t\tGetServiceTable();\n\tbool\t\tNtcallInit();\n\tbool\t\tGetIDTTable();\t\n\tbool\t\tGetOSKernelName();\n#endif\n\tbool\t\tLoadExpModList();\n\tbool\t\tLoadSDSList();\npublic:\n\tDWORD\t\tm_SystemStartAddr;\n\tWCHAR\t\tm_szSystemRoot[MAX_FN_LEN];\n\tWCHAR\t\tm_szSystem32[MAX_FN_LEN];\n\tWCHAR\t\tm_szSystem32Drivers[MAX_FN_LEN];\n\tCHAR\t\tm_szSystemRootA[MAX_FN_LEN];\n\tCHAR\t\tm_szSystem32A[MAX_FN_LEN];\n\tCHAR\t\tm_szSystem32DriversA[MAX_FN_LEN];\n\tCHAR\t\tm_szSystemRootMarco[MAX_FN_LEN];\n\tCHAR\t\tm_OSKernelName[MAX_FN_LEN];\n\tULPOS\t\tm_SyserBase;\n\tULPOS\t\tm_SyserHighBase;\n\tint\t\t\tm_ProcNameOff;\n\tint\t\t\tm_ProcCR3dwOff;\n\tULONG\t\tm_PEBOffsetOfEPROCESS;\n\tCProcMap\tm_ProcMap;\n\tULPOS\t\tm_W32ServiceTableAddress;\n\tULPOS*\t\tm_W32ServiceTable;\n\tULPOS\t\tm_win32kImageBase;\n\tULSIZE\t\tm_win32kImageSize;\n\tBYTE*\t\tm_W32ServiceArgv;\n\tDWORD\t\tm_W32ServiceNumbers;\n\tULPOS\t\tm_MmUnmapViewOfSection;\n\tULPOS\t\tm_HidP_TranslateUsageAndPagesToI8042ScanCodes;\n\tZWQUERYVIRTUALMEMORY\tm_pZwQueryVirtualMemory;\n\tDWORD\t\tm_OSKernlBase;\n\tTNtcallMap\tm_NtcallMap;\n\tTNtcallNameIDMap\tm_Win32kNtcallMap;\n\tDWORD*\t\tm_OrgWindowsServiceArgTable;\n\tDWORD\t\tm_LoCount;\n\tDWORD\t\tm_HiCount;\n\tDWORD*\t\tm_OrgWindowsServiceTable;\n\tULONG\t\tm_OSMajorVersion; \n\tULONG\t\tm_OSMinorVersion; \n\tULONG\t\tm_OSBuildNumber;\n\tBOOLEAN\t\tm_OSCheckBuild;\n\tPORGWINDOWSIDTENTRY m_OrgWindowIDT;\n\tstatic\t\tPCSTR m_gNtoskrnlName[];\n\tCHAR\t\tm_szExpModListFN[MAX_FN_LEN];\n\tTList<CStrA>\tm_SymbolPathList;\n\tLARGE_INTEGER  m_CurrentTime;\n\tLARGE_INTEGER  m_InstallTime;\n\tbool\t\tm_bSNPass;\n\tbool\t\tm_bEvlVer;\n\t//SYSER_SN_TYPE\tm_SNType;\n\tCStrW\t\tm_LicTip;\n\tCStrA\t\tm_SNStr;\n\tCStrA\t\tm_LicNameStr;\t\n\n};\n\nint\tSyserUnicodeToAnsi(const WCHAR*WszBuf,char*szBuf,int MaxLen);\nint\tSyserAnsiToUnicode(const char*szBuf,WCHAR*WszBuf,int MaxLen);\nbool GetPEBOffset(ULONG* PEBOffset);\nMODULE_ID GetModuleID(ULPOS ImageBase,ULSIZE ImageSize);\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/Syser.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"ObjectDirectory.h\"\n#include \"SyserConfig.h\"\n#include \"VideoDriver.h\"\n#include \"Interrupt2D.h\"\n#include \"SyserSymAnalyzer.h\"\n#include \"Mouse.h\"\n#include \"syserdrivermc.h\"\n#include \"Int0xe.h\"\n#include \"VMWareSupport.h\"\n#include \"VirtualPCSupport.h\"\n#include \"OSProcessThread.h\"\n\nDWORD dwgErrorCode=0;\n\nvoid*\tCorrectVideoBuffer = NULL;\nSIZE_T\tCorrectVideoBufSize = 0;\n\nDWORD* LoadCFGHotKey()\n{\n\tDWORD* Buffer=new DWORD[0x10000/sizeof(DWORD)];\n\tint i,j,nRealLen;\n\tDWORD* pEndbuffer;\n\tif(Buffer==NULL)\n\t\treturn NULL;\n\tpEndbuffer=Buffer;\n\tif(LoadSyserHotKeyDriver(WSTR(\"Syser\"),WSTR(\"SyserHotKey.cfg\"),Buffer,0x10000,&nRealLen)==false)\n\t{\t\t\n\t\tpEndbuffer++;//skip crc\n\t\tpEndbuffer++;//skip total number\n\t\tfor(i=0,j=0;gDefaultHotkeyInfo[i].KeyName;i++)\n\t\t{\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].CommandID;\n\t\t\t*pEndbuffer++=1;\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].FuncKeyCode;\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].SecondKeyCode;\n\t\t}\n\t\tBuffer[1]=i;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t\tDbgPrint(\"Syser : Load Default HotKey configure ok!\\n\");\n\t}\n\telse\n\t\tDbgPrint(\"Syser : Load HotKey configure ok!\\n\");\n\treturn Buffer;\n}\n\nvoid LoadCFGDriver()\n{\n\tif(LoadSyserOptionDriver(WSTR(\"Syser\"),WSTR(\"Syser.cfg\"),&SyserOption,sizeof(SyserOption))==false)\n\t{\n\t\tif(SaveSyserOptionDriver(WSTR(\"Syser\"),WSTR(\"Syser.cfg\"),&OrgSyserOption,sizeof(OrgSyserOption)))\n\t\t\t::DbgPrint(\"Syser : Save default Syser.cfg\\n\");\n\t\telse\n\t\t\t::DbgPrint(\"Syser : Fail to save default Syser.cfg\\n\");\n\t\tSyserOption = OrgSyserOption;\n\t\tif(SyserOption.iKeyboardLayer != 0 && SyserOption.iKeyboardLayer != 1)//ҪֵҪϷ\n\t\t\tSyserOption.iKeyboardLayer = 0;\n\t}\n}\n\nvoid LoadColorCFGDriver()\n{\n\tif(LoadSyserOptionDriver(WSTR(\"Syser\"),WSTR(\"SyserColor.cfg\"),&ColorOption,sizeof(ColorOption))==false)\n\t{\n\t\tif(SaveSyserOptionDriver(WSTR(\"Syser\"),WSTR(\"SyserColor.cfg\"),&OrgColorOption,sizeof(OrgColorOption)))\n\t\t\t::DbgPrint(\"Syser : Save default SyserColor.cfg\\n\");\n\t\telse\n\t\t\t::DbgPrint(\"Syser : Fail to save default SyserColor.cfg\\n\");\n\t\tColorOption = OrgColorOption;\n\t}\n}\n\nbool EnterOnLoadSyserDriver()\n{\n\tInitObjectDirectory();\n\tInitInterruptStub();\n\tLoadCFGDriver();\n\tLoadColorCFGDriver();\n//////////////////////////////////////////////////////////////\n//ͨö\n\tMIN_LIMIT(SyserOption.iHeapSizeM,MIN_MAIN_HEAP);\n\tMAX_LIMIT(SyserOption.iHeapSizeM,MAX_MAIN_HEAP);\n\tgMainHeapSize = SyserOption.iHeapSizeM*0x100000;\n\tchar*testpt = new char;\n\tif(testpt==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : Create Syser Heap Fail ()!\\n\");\n\t\treturn false;\n\t}\n\tdelete testpt;\n//ͨö\n//////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////\n//Ļ\n\tint VideoHeapSize = (SyserOption.iMaxWndWidth*SyserOption.iMaxWndHeight*sizeof(COLORREF)+CHUNK_SIZE)*2;\n\tgpUserHeap[SYSER_SCREEN_HEAP] = new CFixedHeap;\n\tgpUserHeap[SYSER_SCREEN_HEAP]->Create(VideoHeapSize);\n\tgMaxUserHeapCount++;\n//Ļ\n//////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////\n//ԭ\n\tMIN_LIMIT(SyserOption.iSourceCodeHeapSizeM,MIN_SOURCE_CODE_HEAP);\n\tMAX_LIMIT(SyserOption.iSourceCodeHeapSizeM,MAX_SOURCE_CODE_HEAP);\n\tgpUserHeap[SYSER_SOURCE_DEBUG_HEAP] = new CFixedHeap;\n\tgMaxUserHeapCount++;\n\n//ԭ\n//////////////////////////////////////////////////////////////\n\tSyserInitSystemSegmentRegister();\n\tif(InitMultiCPUInformation()==false)\n\t{\n\t\t::DbgPrint(\"Syser : Initialize CPU Information Error!\\n\");\n\t\treturn false;\n\t}\n\tif(MapPhysical0()==false)\n\t{\n\t\t::DbgPrint(\"Syser : Map Physical Address 0 Error!\\n\");\n\t}\n\tInitCPUIDInfo();\n\tVMWareTest();\n\tVirtualPCTest();\n\tif(gInt0xeHook==false)\n\t{\n\t\tgInt0xeHook = InstallInterruptHandle(0xe,(VADDR32)SyserInt0eProc);\n\t\tgSyserInt0eAddress = GetCurrentCPUInterruptProcAddress(0xe);\n\t}\n\tif(InitPsActiveProcessHead()==false)\n\t\t::DbgPrint(\"Syser : Initialize PsActiveProcessHead error!\");\n\tdwgErrorCode=6;\n\treturn true;\n}\n\nvoid LeaveOnLoadSyserDriverFail(IN PDRIVER_OBJECT DriverObject)\n{\n\tif(gInt0xeHook==true)\n\t{\n\t\tif(UninstallInterruptHandle(0xe))\n\t\t\tgInt0xeHook=false;\n\t}\n\tUnmapPhysical0();\n\tReleaseCPUIDInfo();\n\tUNICODE_STRING SymbolicLinkName;\n\tRtlInitUnicodeString(&SymbolicLinkName,SYSER_LINK_NAME);\n\tif(DriverObject->DeviceObject)\n\t{\n\t\tIoDeleteDevice(DriverObject->DeviceObject);\n\t\tIoDeleteSymbolicLink(&SymbolicLinkName);\n\t}\n\tReleaseMemoryAllocUserHeap();\n\t::DbgPrint(\"Syser : Fail to load syser driver!\\n\");\n}\n\nvoid LeaveOnLoadSyserDriverSuccess()\n{\n}\n\nvoid OnUnloadSyserDriver()\n{\n\tif(gInt0xeHook==true)\n\t{\n\t\tif(UninstallInterruptHandle(0xe))\n\t\t\tgInt0xeHook=false;\n\t}\n\tUnmapPhysical0();\n\tReleaseCPUIDInfo();\n\tReleaseMemoryAllocUserHeap();\n}\n\nNTSTATUS MJFunction(IN PDEVICE_OBJECT DeviceObject,IN PIRP  Irp)\n{\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserDeviceCreate(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tUNICODE_STRING Name;\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIrp->IoStatus.Information = FILE_OPENED;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserDeviceClose(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIrp->IoStatus.Information = FILE_OPENED;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserShutDown(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tif(gCPUNumbers>1)\n\t{//reset͹ػж2⣬ShutDownʱж\n\t\tgpSyser->m_pDebugger->RemoveAllCodeBP();\n\t\tgpSyser->m_pDebugger->RemoveAllDataBP();\n\t\tUninstallInterruptHandle(0x2);\n\t}\n\tif(gpSyser)\n\t{\n\t\tif(gpSyserCfg->m_PS2MouseType!=dwMousePrePackageSize)\n\t\t\tgpSyserCfg->WriteDwordValue(PS2MOUSE_TYPE,dwMousePrePackageSize);\n\t}\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS SyserDeviceRead(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tKIRQL OldIRQL;\n\tint\tSize;\n\tPIO_STACK_LOCATION pCurStack;\n\tpCurStack = IoGetCurrentIrpStackLocation(Irp);\n\tSize = 0;\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\n\tIrp->IoStatus.Information = Size;\n\tIoCompleteRequest(Irp,IO_NO_INCREMENT);\n\treturn STATUS_SUCCESS;\n}\n\nvoid SyserDeviceControlDebugProcess(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tCDbgProcess*pProcess;\n\tSYSER_DEBUG_PROCESS*pSyserDbgProc;\n\tpSyserDbgProc = (SYSER_DEBUG_PROCESS*)Irp->AssociatedIrp.SystemBuffer;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_DEBUG_PROCESS)||Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpProcess = gpSyser->m_SysInfo.GetProcess(pSyserDbgProc->ProcessID);\n\tif(pProcess==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : Fail to set BP Invaild PID %04X\\n\",pSyserDbgProc->ProcessID);\n\t\treturn;\n\t}\n\tgpSyser->m_SyserUI.InsertLoadBP(pSyserDbgProc->ExeFullPathName,BP_TYPE_DEBUG|BP_TYPE_ONCE,BP_STATE_ENABLE);\n\tCSDSModule*pSDSModule=gpSyser->m_SyserUI.LoadSDSModule(pSyserDbgProc->SymbolFileName);\n\tif(pSDSModule && (pSyserDbgProc->Style & SDP_AUTO_UNLOAD_SDS))\n\t{\n\t\tpSDSModule->m_ParentPID = pSyserDbgProc->ProcessID;\n\t}\n}\n\nvoid SyserDeviceControlLoadDriver(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tPSYSER_DEBUG_DRIVER pSyserDebugDriver;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_DEBUG_DRIVER)||Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpSyserDebugDriver = (PSYSER_DEBUG_DRIVER)Irp->AssociatedIrp.SystemBuffer;\n\tpSyserDebugDriver->DriverPathName[sizeof(pSyserDebugDriver->DriverPathName)-1]=0;\n\tgpSyser->m_SyserUI.InsertLoadBP(pSyserDebugDriver->DriverPathName,BP_TYPE_DEBUG|BP_TYPE_ONCE,BP_STATE_ENABLE);\n\tpSyserDebugDriver->SymbolFileName[sizeof(pSyserDebugDriver->SymbolFileName)-1]=0;\n\tCSDSModule*pSDSModule=gpSyser->m_SyserUI.LoadSDSModule(pSyserDebugDriver->SymbolFileName);\n\tif(pSDSModule && (pSyserDebugDriver->Style & SDP_AUTO_UNLOAD_SDS))\n\t\tpSDSModule->m_ParentPID = gpSyser->m_pSysDebugger->m_PID;\n}\n\nvoid SyserDeviceControlLoadSDS(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tPSYSER_LOAD_SYMBOL_MODULE pLoadSymbolModule;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_LOAD_SYMBOL_MODULE)||Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpLoadSymbolModule=(PSYSER_LOAD_SYMBOL_MODULE)Irp->AssociatedIrp.SystemBuffer;\n\tpLoadSymbolModule->SymbolModuleName[sizeof(pLoadSymbolModule->SymbolModuleName)-1]=0;\n\tgpSyser->m_SyserUI.LoadSDSModule(pLoadSymbolModule->SymbolModuleName);\n}\n\nvoid SyserDeviceControlUnloadSDS(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tPSYSER_UNLOAD_SYMBOL_MODULE pUnloadSymbolModule;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_UNLOAD_SYMBOL_MODULE)||Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpUnloadSymbolModule = (PSYSER_UNLOAD_SYMBOL_MODULE)Irp->AssociatedIrp.SystemBuffer;\n\tpUnloadSymbolModule->SymbolModuleName[sizeof(pUnloadSymbolModule->SymbolModuleName)-1]=0;\n\tfor(CSDSModuleMap::IT Iter = gpSyser->m_SyserUI.m_SDSModuleMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(TStrICmp(pUnloadSymbolModule->SymbolModuleName,(PCSTR)Iter->m_SymbolFileName)==0)\n\t\t{\n\t\t\tgpSyser->m_SyserUI.UnloadSDSModule(&(*Iter));\n\t\t\treturn;\n\t\t}\n\t}\n}\n\nvoid SyserDeviceControlLoadExportSymbol(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tCSymbolModule*pSymbolModule;\n\tCHAR szFileName[MAX_FN_LEN];\n\tchar* pBuf;\n\tif(Irp->AssociatedIrp.SystemBuffer==NULL || IOStack->Parameters.DeviceIoControl.InputBufferLength==0)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpBuf=(char*)Irp->AssociatedIrp.SystemBuffer;\n\tpBuf[IOStack->Parameters.DeviceIoControl.InputBufferLength-1]=0;\t\n\tTStrCpy(szFileName,\"\\\\??\\\\\");\n\tTStrCpyLimit(&szFileName[4],pBuf,MAX_FN_LEN-4);\n\tif(pSymbolModule=gpSyser->m_SyserUI.LoadPESym(szFileName))\n\t{\n\t\tpSymbolModule->m_ReferenceCount++;//ü+1,֤ͷ\n\t\tDbgPrint(\"Syser : Load module export symbols %s\\n\",szFileName);\n\t}\n\telse\n\t\tDbgPrint(\"Syser : Fail to load module export symbols %s\\n\",szFileName);\n}\n\nvoid SyserDeviceControlLoadIDAMap(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tPSYSER_LOAD_IDA_MAPFILE pIDAMapFile;\n\tCSymbolModule*pSymbolModule;\n\tCHAR IDAMapFile[MAX_FN_LEN];\n\tCHAR ModuleName[MAX_FN_LEN];\n\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_LOAD_IDA_MAPFILE) || Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpIDAMapFile=(PSYSER_LOAD_IDA_MAPFILE)Irp->AssociatedIrp.SystemBuffer;\n\tpIDAMapFile->IDAMapFile[sizeof(pIDAMapFile->IDAMapFile)-1]=0;\n\tTStrCpy(IDAMapFile,\"\\\\??\\\\\");\n\tTStrCpyLimit(&IDAMapFile[4],pIDAMapFile->IDAMapFile,MAX_FN_LEN-4);\n\tTStrCpy(ModuleName,\"\\\\??\\\\\");\n\tpIDAMapFile->ModuleName[sizeof(pIDAMapFile->ModuleName)-1]=0;\n\tTStrCpyLimit(&ModuleName[4],pIDAMapFile->ModuleName,MAX_FN_LEN-4);\n\tif(pSymbolModule=gpSyser->m_SyserUI.LoadIDAMapFile(IDAMapFile,ModuleName))\n\t{\n\t\tpSymbolModule->m_ReferenceCount++;//ü+1,֤ͷ\n\t\tDbgPrint(\"Syser : Load module IDA Map file %s\\n\",IDAMapFile);\n\t}\n\telse\n\t\tDbgPrint(\"Syser : Fail to load module IDA Map file %s\\n\",IDAMapFile);\n}\n\nvoid SyserDeviceQuerySDS(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tPSYSER_QUER_SDS pSyserQuerSDS;\n\tbool bSDSLoadStat;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_QUER_SDS)||Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpSyserQuerSDS = (PSYSER_QUER_SDS)Irp->AssociatedIrp.SystemBuffer;\n\tbSDSLoadStat = gpSyser->m_SyserUI.QuerySDS(pSyserQuerSDS);\n\t*(bool*)Irp->AssociatedIrp.SystemBuffer=bSDSLoadStat;\n\tIrp->IoStatus.Information=sizeof(bool);\n\tIrp->IoStatus.Status=STATUS_SUCCESS;\n}\n\nvoid SyserDeviceControlReloadConfig(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tif(gpSyser)\n\t{\n\t\tgpSyserCfg->LoadConfig();\n\t\tLoadCFGDriver();\n\t\tif(gpSyserCfg->m_MouseDoubleClickTimeInterval)\n\t\t\tgMaxDblClkInterval=gpSyserCfg->m_MouseDoubleClickTimeInterval;\n\t\tDbgPrint(\"Syser : Reload config!\\n\");\n\t}\n}\n\nvoid SyserDeviceControlReloadColorConfig(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tif(gpSyser)\n\t{\n\t\tLoadColorCFGDriver();\n\t\tDbgPrint(\"Syser : Reload color config!\\n\");\n\t}\n}\n\nvoid SyserDeviceControlCorrectVideoParam(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tif(gpSyser->m_RealFrameBuffer.Buffer && CorrectVideoBuffer==NULL)\n\t\treturn;\n\tPEPROCESS Pr;\n\tSYSER_CORRECT_VIDEO_PARAM*pCorrectVideo;\n\tPHYSICAL_ADDRESS PhysAddress;\n\tpCorrectVideo = (SYSER_CORRECT_VIDEO_PARAM*)Irp->AssociatedIrp.SystemBuffer;\n\tif(IOStack->Parameters.DeviceIoControl.InputBufferLength!=sizeof(SYSER_CORRECT_VIDEO_PARAM))\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tgpSyser->m_RealFrameBuffer.LineDistance = pCorrectVideo->Pitch;\n\tPr=NULL;\n\tif(!NT_SUCCESS(PsLookupProcessByProcessId((HANDLE)pCorrectVideo->PID,&Pr)))\n\t\treturn;\n\tKeAttachProcess((PRKPROCESS)Pr);\n\tPhysAddress = MmGetPhysicalAddress(pCorrectVideo->FrameBuffer);\n\tKeDetachProcess();\n\tObDereferenceObject(Pr);\n\tif(PhysAddress.QuadPart)\n\t{\n\t\tif(CorrectVideoBuffer)\n\t\t\tMmUnmapIoSpace(CorrectVideoBuffer,CorrectVideoBufSize);\n\t\tCorrectVideoBufSize = pCorrectVideo->Pitch*pCorrectVideo->Height;\n\t\tCorrectVideoBuffer = MmMapIoSpace(PhysAddress,CorrectVideoBufSize,MmWriteCombined);\n\t\t::DbgPrint(\"Syser : PhysAddress = 0x%08X , Correct Video Buffer = 0x%08X\\n\",(DWORD)PhysAddress.QuadPart,CorrectVideoBuffer);\n\t\t::DbgPrint(\"Syser : Width = %08X , Height = %08X , Pitch = %08X\\n\",pCorrectVideo->Width,pCorrectVideo->Height,pCorrectVideo->Pitch);\n\n\t\tSyserFrameModeChange(pCorrectVideo->Width,pCorrectVideo->Height,pCorrectVideo->Bpp,CorrectVideoBuffer,pCorrectVideo->Pitch,0);\n\t}\n\telse\n\t{\n\t\t::DbgPrint(\"Syser : Fail to correct Video Buffer = 0x%08X PID[%04X]\\n\",pCorrectVideo->FrameBuffer,pCorrectVideo->PID);\n\t}\n}\n\n\nvoid SyserDeviceControlGetClipboard(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tchar szBuffer[32];\n\tif(Irp->AssociatedIrp.SystemBuffer==NULL || IOStack->Parameters.DeviceIoControl.OutputBufferLength==0)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tint Length = UnicodeToAnsi(gpSyser->m_ClipboardString,(PSTR)Irp->AssociatedIrp.SystemBuffer,IOStack->Parameters.DeviceIoControl.OutputBufferLength);\n\tIrp->IoStatus.Information=Length+1;\n\tIrp->IoStatus.Status=STATUS_SUCCESS;\n\tTStrOmit((PCSTR)Irp->AssociatedIrp.SystemBuffer,szBuffer,20);\n\tDbgPrint(\"Syser : Send Clipboard [%s] to Loader\\n\",szBuffer);\n}\n\nvoid SyserDeviceControlSetClipboard(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tchar szBuffer[32];\n\tchar* pBuf;\n\tif(Irp->AssociatedIrp.SystemBuffer==NULL ||IOStack->Parameters.DeviceIoControl.InputBufferLength==0)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tpBuf=(char*)Irp->AssociatedIrp.SystemBuffer;\n\tpBuf[IOStack->Parameters.DeviceIoControl.InputBufferLength-1]=0;\n\tgpSyser->SetClipboardString((PCSTR)Irp->AssociatedIrp.SystemBuffer);\n\tTStrOmit((PCSTR)Irp->AssociatedIrp.SystemBuffer,szBuffer,20);\n\tDbgPrint(\"Syser : Update Clipboard [%s]\\n\",szBuffer);\n}\n\nvoid SyserDeviceControlScreenShot(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tCHAR* szBuffer;\n\tULONG Length;\n\tif(Irp->AssociatedIrp.SystemBuffer==NULL||IOStack->Parameters.DeviceIoControl.InputBufferLength==0)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tszBuffer=(CHAR*)Irp->AssociatedIrp.SystemBuffer;\n\tszBuffer[IOStack->Parameters.DeviceIoControl.InputBufferLength-1]=0;\n\n\tif(gpSyser->SaveScreen(szBuffer))\n\t\tDbgPrint(\"Syser : Save ScreenShot to %s\\n\",szBuffer);\n\telse\n\t\tDbgPrint(\"Syser : Fail to save ScreenShot to %s\\n\",szBuffer);\n}\n\nvoid SyserDeviceSaveHistroys(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tCHAR szBuffer[MAX_FN_LEN];\n\tULONG Length;\n\tif(Irp->AssociatedIrp.SystemBuffer==NULL)\n\t{\n\t\tIrp->IoStatus.Status = STATUS_INVALID_PARAMETER;\n\t\treturn;\n\t}\n\tLength=IOStack->Parameters.DeviceIoControl.InputBufferLength+1;\n\tif(Length>MAX_FN_LEN-4)\n\t\tLength=MAX_FN_LEN-4;\n\tTStrCpy(szBuffer,\"\\\\??\\\\\");\n\tTStrCpyLimit(&szBuffer[4],(PCSTR)Irp->AssociatedIrp.SystemBuffer,Length);\n\tgpSyser->m_MainFrame.m_ConsoleWnd.SaveHistroys(szBuffer);\n\tDbgPrint(\"Syser : Save Histroys to %s\\n\",szBuffer);\n}\n\nvoid SyserDeviceSaveComments(PIO_STACK_LOCATION IOStack,PIRP Irp)\n{\n\tgpSyser->m_SyserUI.SaveComment();\n\tDbgPrint(\"Syser : Save Comments\\n\");\n}\n\nNTSTATUS SyserDeviceControl(IN PDEVICE_OBJECT DeviceObject,IN PIRP Irp)\n{\n\tNTSTATUS Status;\n\tPIO_STACK_LOCATION  IOStack;\n\tIOStack = IoGetCurrentIrpStackLocation(Irp);\n\tIrp->IoStatus.Status = STATUS_SUCCESS;\t\n\tIrp->IoStatus.Information=0;\n\tswitch(IOStack->Parameters.DeviceIoControl.IoControlCode)\n\t{\n\tcase IOCTL_SYSER_DEBUG_PROCESS:\n\t\tSyserDeviceControlDebugProcess(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_DEBUG_DRIVER:\n\t\tSyserDeviceControlLoadDriver(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_SAVE_HISTROYS:\n\t\tSyserDeviceSaveHistroys(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_SAVE_COMMENTS:\n\t\tSyserDeviceSaveComments(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_LOAD_SDS:\n\t\tSyserDeviceControlLoadSDS(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_UNLOAD_SDS:\n\t\tSyserDeviceControlUnloadSDS(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_LOAD_EXPORT_SYMBOL:\n\t\tSyserDeviceControlLoadExportSymbol(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_LOAD_IDA_MAPFILE:\n\t\tSyserDeviceControlLoadIDAMap(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_QUERY_SDS:\n\t\tSyserDeviceQuerySDS(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_RELOAD_CONFIG:\n\t\tSyserDeviceControlReloadConfig(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_RELOAD_COLOR_CONFIG:\n\t\tSyserDeviceControlReloadColorConfig(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_CORRECT_VIDEO_PARAM:\n\t\tSyserDeviceControlCorrectVideoParam(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_GET_CLIP_BOARD:\n\t\tSyserDeviceControlGetClipboard(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_SET_CLIP_BOARD:\n\t\tSyserDeviceControlSetClipboard(IOStack,Irp);\n\t\tbreak;\n\tcase IOCTL_SYSER_SCREEN_SHOT:\n\t\tSyserDeviceControlScreenShot(IOStack,Irp);\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\tStatus=Irp->IoStatus.Status;\n\tIoCompleteRequest(Irp, IO_NO_INCREMENT);\n\treturn Status;\n}\n\nvoid SyserUnload(IN PDRIVER_OBJECT DriverObject)\n{\n\tUNICODE_STRING SymbolicLinkName;\n\tif(gSyserHotKeyDriverBuffer && gSyserHotKeyDriverLen)\n\t{\n\t\tSaveSyserHotKeyDriver(WSTR(\"Syser\"),WSTR(\"SyserHotKey.cfg\"),gSyserHotKeyDriverBuffer,gSyserHotKeyDriverLen);\n\t}\n\tif(gpSyser)\n\t{\n\t\tif(gpSyserCfg->m_PS2MouseType!=dwMousePrePackageSize)\n\t\t\tgpSyserCfg->WriteDwordValue(PS2MOUSE_TYPE,dwMousePrePackageSize);\n\t\tgpSyser->Release();\n\t\t//SafeDelete(gpSyser);\n\t}\n\tif(gpSyserCfg)\n\t{\n\t\tdelete gpSyserCfg;\n\t\tgpSyserCfg = NULL;\n\t}\n\tRtlInitUnicodeString(&SymbolicLinkName,SYSER_LINK_NAME);\n\tIoDeleteSymbolicLink(&SymbolicLinkName);\n\tPDEVICE_OBJECT NextDeviceObject,DeviceObject;\n\tNextDeviceObject = DriverObject->DeviceObject;\n\twhile(NextDeviceObject)\n\t{\n\t\tDeviceObject = NextDeviceObject;\n\t\tNextDeviceObject = NextDeviceObject->NextDevice;\n\t\tIoDeleteDevice(DeviceObject);\n\t}\n\tif(CorrectVideoBuffer)\n\t\tMmUnmapIoSpace(CorrectVideoBuffer,CorrectVideoBufSize);\n\tOnUnloadSyserDriver();\n}\n\nPDRIVER_DISPATCH gDefaultPDriverDispatch=NULL;\nPDRIVER_OBJECT gDriverObject;\n\nNTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)\n{\n    UNICODE_STRING\tDeviceName,SymbolicLinkName,Name;\n\tNTSTATUS\t\tStatus;\n\tgDriverObject=DriverObject;\n\n\t\t\n\tDriverObject->DriverUnload = SyserUnload;\n\tif(EnterOnLoadSyserDriver()==false)\n\t{\n\t\tLeaveOnLoadSyserDriverFail(DriverObject);\n\t\treturn STATUS_UNSUCCESSFUL;\n\t} \n\tgDefaultPDriverDispatch = DriverObject->MajorFunction[IRP_MJ_CREATE];\n\n\tfor(int FunCount=0;FunCount<IRP_MJ_MAXIMUM_FUNCTION;FunCount++)\n\t\tDriverObject->MajorFunction[FunCount]=MJFunction;\n\n\tDriverObject->MajorFunction[IRP_MJ_CREATE]\t\t\t= SyserDeviceCreate;\n\tDriverObject->MajorFunction[IRP_MJ_READ]\t\t\t= SyserDeviceRead;\n    DriverObject->MajorFunction[IRP_MJ_CLOSE]\t\t\t= SyserDeviceClose;\n    DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL]\t= SyserDeviceControl;\n\tDriverObject->MajorFunction[IRP_MJ_SHUTDOWN]\t\t= SyserShutDown;\n\n\tgpSyserCfg = new CSyserConfig;\n\tif(gpSyserCfg==NULL)\n\t{\n\t\tLeaveOnLoadSyserDriverFail(NULL);\n\t\treturn STATUS_UNSUCCESSFUL;\n\t}\n\tgpSyserCfg->SetDriverRegistryPath(RegistryPath);\n\tgpSyserCfg->LoadConfig();\n\tdwgErrorCode=7;\n\tgpSyser = new CSyser;\n\tif(gpSyser==NULL)\n\t{\n\t\tLeaveOnLoadSyserDriverFail(NULL);\n\t\treturn STATUS_UNSUCCESSFUL;\n\t}\n\tif(gpSyserCfg->m_MouseDoubleClickTimeInterval)\n\t\tgMaxDblClkInterval=gpSyserCfg->m_MouseDoubleClickTimeInterval;\n\tgpSyser->m_DriverObject=DriverObject;\n\tgpSyser->m_DriverStartAddr=*(DWORD*)&DriverObject->DriverStart;\n\tgpSyser->m_DriverEndAddr=gpSyser->m_DriverStartAddr+DriverObject->DriverSize;\n\tInitTickCount();\n\tRtlInitUnicodeString(&DeviceName,SYSER_DEVICE_NAME);\n\tStatus = IoCreateDevice(DriverObject,0,&DeviceName,FILE_DEVICE_UNKNOWN,0,FALSE,&gpSyser->m_DeviceObject);\n\tif(!NT_SUCCESS(Status))\n\t{\n\t\tgpSyser->Release();\n\t\tdelete gpSyser;\n\t\tLeaveOnLoadSyserDriverFail(NULL);\n\t\treturn Status;\n\t}\n\tgpSyser->m_DeviceObject->Flags |= DO_BUFFERED_IO;\n\tgpSyser->m_DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;\n\tRtlInitUnicodeString(&SymbolicLinkName,SYSER_LINK_NAME);\n\tIoCreateSymbolicLink(&SymbolicLinkName,&DeviceName);\n\tdwgErrorCode=0;\n\tif(gpSyser->Init()==false)\n\t{\n\t\tgpSyser->Release();\n\t\tdelete gpSyser;\n\t\tgpSyser=NULL;\n\t\tLeaveOnLoadSyserDriverFail(DriverObject);\n\t\treturn STATUS_UNSUCCESSFUL;\n\t}\n\tLeaveOnLoadSyserDriverSuccess();\n\tIoRegisterShutdownNotification(gpSyser->m_DeviceObject);\n\t\n\treturn STATUS_SUCCESS;\n}\n\n\nNTSTATUS DllInitialize( IN PUNICODE_STRING pus )\n{\n\treturn STATUS_SUCCESS;\n}\n\nNTSTATUS DllUnload( )\n{\n\treturn STATUS_SUCCESS;\n}\n\nbool SyserErrorLog(VOID* IoObject,ULONG ErrorMsgID,UCHAR MajorFunctionCode,UCHAR RetryCount,ULONG IoControlCode,ULONG FinalStatus,WCHAR *String,WCHAR *String2,ULONGLONG DumpData1,ULONGLONG DumpData2)\n{\n\tBYTE TmpPointer;\n\tDWORD Str1Len=0,Str2Len=0,EntrySize,DumpDataSize=0;\n\tPIO_ERROR_LOG_PACKET ErrorLogEntry;\n\tif(String)\n\t\tStr1Len = (TStrLen(String)+1)*sizeof(WCHAR);\n\tif(String2)\n\t\tStr2Len = (TStrLen(String2)+1)*sizeof(WCHAR);\n\tif(DumpData1)\n\t\tDumpDataSize+=sizeof(ULONGLONG);\n\tif(DumpData2)\n\t\tDumpDataSize+=sizeof(ULONGLONG);\n\tEntrySize = sizeof(IO_ERROR_LOG_PACKET)+DumpDataSize+Str1Len+Str2Len;\n\tErrorLogEntry = (PIO_ERROR_LOG_PACKET)IoAllocateErrorLogEntry(IoObject,(UCHAR)EntrySize);\n\tif(ErrorLogEntry==NULL)\n\t\treturn false;\n\tErrorLogEntry->ErrorCode = ErrorMsgID;\n\tif(DumpDataSize)\n\t{\n\t\tErrorLogEntry->DumpDataSize=(USHORT)DumpDataSize;\n\t\tmemcpy(&ErrorLogEntry->DumpData[0],&DumpData1,sizeof(DumpData1));\n\t\tif(DumpData2)\n\t\t\tmemcpy((UCHAR*)&ErrorLogEntry->DumpData[0]+sizeof(DumpData1),&DumpData2,sizeof(DumpData2));\n\t}\n\tErrorLogEntry->NumberOfStrings=0;\n\tErrorLogEntry->StringOffset=0;\n\tif(Str1Len)\n\t{\n\t\tErrorLogEntry->NumberOfStrings++;\n\t\tErrorLogEntry->StringOffset=(UCHAR*)&ErrorLogEntry->DumpData[0]+DumpDataSize-(UCHAR*)ErrorLogEntry;\n\t\tmemcpy((UCHAR*)ErrorLogEntry+ErrorLogEntry->StringOffset,String,Str1Len);\n\t}\n\tif(Str2Len)\n\t{\n\t\tErrorLogEntry->NumberOfStrings++;\n\t\tif(ErrorLogEntry->StringOffset==0)\n\t\t\tErrorLogEntry->StringOffset=(UCHAR*)&ErrorLogEntry->DumpData[0]+DumpDataSize-(UCHAR*)ErrorLogEntry;\n\t\tmemcpy((UCHAR*)ErrorLogEntry+ErrorLogEntry->StringOffset+Str1Len,String2,Str2Len);\n\t}\n\tErrorLogEntry->FinalStatus =FinalStatus;\n\tErrorLogEntry->SequenceNumber=0;\n\tErrorLogEntry->IoControlCode=IoControlCode;\n\tErrorLogEntry->DeviceOffset.QuadPart=0;\n\tErrorLogEntry->EventCategory = 1;\n\tErrorLogEntry->RetryCount=RetryCount;\n\tErrorLogEntry->MajorFunctionCode =MajorFunctionCode;\n\tIoWriteErrorLogEntry(ErrorLogEntry);\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/Syser.def",
    "content": "NAME SYSER.SYS\nEXPORTS\n    DllInitialize PRIVATE\n    DllUnload     PRIVATE\n\tgpSyserPluginUI\n"
  },
  {
    "path": "Project/Syser/Source/Syser.h",
    "content": "#ifndef\t_SYSER_H_\n#define\t_SYSER_H_\n\n\n\n\n//#define REG_LIST\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_GeneRegList\n#define RUNCMD\t\t\t\t\t\tgpSyser->m_MainFrame.m_ConsoleWnd.RunCmd\n#define CALCEXP\t\t\t\t\t\tgpSyser->m_SyserUI.CalcExp\n#define GETSYM\t\t\t\t\t\tgpSyser->m_SyserUI.GetSym\n#define GET_ALMOST_SYM\t\t\t\tgpSyser->m_SyserUI.GetAlmostSym\n#define GET_STRING_SYM\t\t\t\tgpSyser->m_SyserUI.GetString\n#define SCR_DBG_PRINT\t\t\t\tgpSyser->DbgPrint\n//ǰĵļĴָṹ,ǺͶCPU޹ص\n#define X86_REG_PTR\t\t\t\t\tgpSyser->m_SyserUI.m_CodeDoc.m_X86RegPtr\n//ǰCPUļĴָṹǼĴĳԱ\n#define CPU_REG_PTR_X86\t\t\t\tm_X86RegPtr\n\n#define ACTIVE_CODE_VIEW\t\t\t((CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd())\n#define ACTIVE_DATA_VIEW\t\t\t((CDataView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd())\n#define SYSTEM_EXPLORER\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer\n#define SOURCE_WATCH_WND\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SourceVariableWatchWnd\n\n#define CENTER_VIEW_CODE\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.CenterViewCodeAddress\n#define VIEW_CODE\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.ViewCodeAddress\n#define VIEW_DATA\t\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.ViewDataAddress\n#define ADD_CODE_VIEW\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.InsertView\n#define ADD_DATA_VIEW\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.InsertView\n#define STR_REF_WND\t\t\t\t\tgpSyser->m_MainFrame.m_StringReferenceWnd\n\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n//\n#define\tUPDATE_CODE_VIEW\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.UpdateAllView\n#define\tUPDATE_DATA_VIEW\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.UpdateAllView\n#define\tUPDATE_MEMORY_VIEW\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateMemoryView\n#define\tSAVE_MEMORY_VIEW\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.SaveMemoryContext\n#define UPDATE_CONTEXT\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateContext\n#define UPDATE_SOURCE_CODE_VIEW\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateAllView\n#define UPDATE_BP_FORM\t\t\t\tgpSyser->m_MainFrame.Update\n\n//\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n//̨\n#define OUTPUT\t\t\t\t\t\tgpSyser->m_MainFrame.m_ConsoleWnd.Printf\n#define SYSEXPLR_OUTPUT\t\t\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd.Printf\n#define SRCEXPLR_OUTPUT\t\t\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_TerminalWnd.Printf\n\n#define OUTPUT_INPUT_ERROR\t\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Input error!\\n\"))\n#define OUTPUT_INVALID_ADDRESS\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Invalid Address!\\n\"))\n#define OUTPUT_INVALID_PARAM\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Invalid Parameter!\\n\"))\n#define OUTPUT_FAIL_TO_READ_MEM\t\tOUTPUT(WSTR(\"%<3>Error %<1>: Fail to read memory!\\n\"))\n#define OUTPUT_FAIL_TO_WRITE_MEM\tOUTPUT(WSTR(\"%<3>Error %<1>: Fail to write memory!\\n\"))\n#define OUTPUT_COMMAND_USAGE\t\t{WCHAR szCmdBuff[64];TSPrintf(szCmdBuff,WSTR(\"help %s\"),argv[0]);RUNCMD(szCmdBuff);}\n//̨\n/////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\n#define SOURC_DEBUGE_FRAME_WND\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd\n#define DECLARE_SYSER_CMD(Name)\t\tint Name(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n#define IS_CTRL_BREAK\t\t\t\t(gpSyser->m_KeyMap[WISP_VK_CONTROL] && gpSyser->m_KeyMap[WISP_VK_C])\n#define CUR_SOURCE_SDSMODULE\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.m_pActiveSDSModule\n#define ASSERT_DEBUGGER_OPENED\t\tif(!gpSyser->m_SyserUI.m_CodeDoc.IsOpened())return 1;\n#define PATCH_SYSTEM(n,a,f)\t\t\tgpSyser->m_pSysDebugger->PatchSystem(n,(ULPOS)(NUM_PTR)a,f)\n\nenum\n{\n\tSYSTEM_EXPLORER_VIEW = 0,\n\tCONSOLE_VIEW,\n\tSOURCE_EXPLORER_VIEW,\n\tMAX_VIEW\n};\nDWORD* LoadCFGHotKey();\n///////////////////////////////////////////////////////////\n//Ӧ\n#ifdef CODE_OS_WIN\n\n#include \"SyserApp.h\"\n#define SwitchHeap\n#define IsHeapFreeBelow(iHeap,Size)\t\t(false)\nvoid\tDbgPrint(PCSTR,...);\n//Ӧ\n///////////////////////////////////////////////////////////\n#else //CODE_OS_NT_DRV\n///////////////////////////////////////////////////////////\n//\n#include \"SyserNTDrvApp.h\"\n#include \"VMWareSupport.h\"\n#include \"GlobalVariable.h\"\n#define IsHeapFreeBelow(iHeap,Size)\t\t(gpUserHeap[iHeap]->m_FreeChunkCount<=((ULSIZE)(Size)/CHUNK_SIZE))\n\n#define\tSYSER_LINK_NAME\t\t\t\tWSTR(\"\\\\??\\\\Syser\")\n#define SYSER_MSG_EVENT_NAME\t\tWSTR(\"\\\\BaseNamedObjects\\\\SyserMsgEvent\")\n#define SYSER_DEVICE_NAME\t\t\tWSTR(\"\\\\Device\\\\Syser\")\n#define SYSER_PLUGIN_DEVICE_NAME\tWSTR(\"\\\\Device\\\\SyserPlugin\")\n#define SYSER_INIT\t\t\t\t\tWSTR(\"SyserInit\")\n\n//bool WriteSyserEventLog(VOID* IoObject,ULONG ErrorMsgID,WCHAR *String,WCHAR *String2);\nbool\tSyserErrorLog(VOID* IoObject,ULONG ErrorMsgID,UCHAR MajorFunctionCode=0,UCHAR RetryCount=0,ULONG IoControlCode=0,ULONG FinalStatus=0,WCHAR *String=NULL,WCHAR *String2=NULL,ULONGLONG DumpData1=0,ULONGLONG DumpData2=0);\nextern\tPDRIVER_DISPATCH gDefaultPDriverDispatch;\nvoid\tSaveHeapInfo();\nvoid\tReportHeapChangedInfo(PCSTR szMessage);\nvoid\tReportHeapInfo(PCSTR szMessage);\n\n//\n///////////////////////////////////////////////////////////\n#endif//CODE_OS_WIN\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Syser.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SyserVer.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDI_ICON_SYSER          ICON                    \"Res\\\\Syser.ico\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\nIDC_CURSOR_CUR_EIP      CURSOR                  \"res\\\\CurEIP.cur\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// RT_MANIFEST\n//\n\nIDR_RT_MANIFEST         RT_MANIFEST             \"res\\\\rt_manif.bin\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE \nBEGIN\n    IDS_STRING104           \"test1\"\nEND\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#include \"SyserVer.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserAboutForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserAboutForm.h\"\n\n\nenum CAboutForm::WISP_FORM_ID\n{\n\tCMD_ID_VERSION_EDIT = WISP_ID_USER_START,\n};\n\nWISP_FORM_RES_ITEM CAboutForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,300,250},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"About Syser\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{10,10,32,32},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:2\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{85,20,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Explorer.ico:1\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_URL,\n\t\t{110,20,180,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"http://www.sysersoft.com\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{85,50,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Email.ico:1\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_URL,\n\t\t{110,50,180,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"mailto:support@sysersoft.com\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,80,270,110},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Vesion Info\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{20,100,250,90},\n\t\tCMD_ID_VERSION_EDIT,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Syser Version\")\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{120,200,50,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CAboutForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nbool CAboutForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tWCHAR szBuffer[512],szVer[32],szDate[32];\n\tCWispBaseWnd*pWnd;\n\tpWnd = GetFormItem(CMD_ID_VERSION_EDIT);\n\tif(pWnd)\n\t{\n\t\tTStrCpy(szVer,VER_PRODUCTVERSION_STR);\n\t\tTStrCpy(szDate,__DATE__);\n\t\tTSPrintf(szBuffer,WSTR(\"Syser version : %s \\nBuild Date    : %s \\n\\nSyser Development Team\\n\\nwuyanfeng  ҷ\\nchenjunhao ¿\"),szVer,szDate,VER_PRODUCTBUILD_QFE);\n\t\tpWnd->SetWindowText(szBuffer);\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SyserAboutForm.h",
    "content": "#ifndef __SYSERABOUTFORM_H_\n#define __SYSERABOUTFORM_H_\n\nclass CAboutForm : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tCAboutForm(){m_pFormRes = m_FormRes;}\n};\n\n#endif //__SYSERABOUTFORM_H_"
  },
  {
    "path": "Project/Syser/Source/SyserApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\nDWORD dwgErrorCode=0;\n\nCSyser*\tgpSyser;\nCSyser\tSyser;\nCSyserPluginUI*gpSyserPluginUI;\n\nvoid DbgPrint(PCSTR szMsg,...)\n{\n}\n\nint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n\tgpSyser = &Syser;\n\treturn Syser.WinMainStart(hInstance,lpCmdLine,nCmdShow);\n}\n\nCSyser::CSyser(void)\n{\n\tm_hDebuggerModule = NULL;\n\tm_pDebugger = NULL;\n\tgpSyserPluginUI = &m_SyserUI;\n\tm_bInitializeOK=true;\t\n\tTIME_ZONE_INFORMATION TimeZoneInfo;\n\tGetTimeZoneInformation(&TimeZoneInfo);\n\tm_TimeZoneBias = TimeZoneInfo.Bias*60;\n}\n\nCSyser::~CSyser(void)\n{\n}\n\nvoid CSyser::LoadCFG()\n{\n\tchar szCfgFN[MAX_FN_LEN];\n\t//GetSystemDirectoryA(szCfgFN,MAX_FN_LEN);\n\t//TStrCat(szCfgFN,\"\\\\drivers\\\\Syser.cfg\");\n\tGetModulePath(szCfgFN);\n\tTStrCat(szCfgFN,\"Syser.cfg\");\n\tif(LoadSyserOption(szCfgFN,&SyserOption,sizeof(SyserOption))==false)\n\t{\n\t\tSaveSyserOption(szCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\t\tSyserOption = OrgSyserOption;\n\t}\n\tchar szColorCfgFN[MAX_FN_LEN];\n\tGetSystemDirectoryA(szColorCfgFN,MAX_FN_LEN);\n\tTStrCat(szColorCfgFN,\"\\\\drivers\\\\SyserColor.cfg\");\n\tif(LoadSyserOption(szColorCfgFN,&ColorOption,sizeof(ColorOption))==false)\n\t{\n\t\tSaveSyserOption(szColorCfgFN,&OrgColorOption,sizeof(OrgColorOption));\n\t\tColorOption = OrgColorOption;\n\t}\n\n}\n\nbool CSyser::LoadDebugger(WCHAR*szModuleName)\n{\n\tFPGetFileFilter fGetFileFilter;\n\tFPCreateDebugger fCreateDebugger;\n\tFPGetInfo fGetInfo;\n\tchar szFullName[MAX_FN_LEN];\n\tUnloadDebugger();\n\tGetModulePath(szFullName);\n\tint Legnth = TStrLen(szFullName);\n\tif(Legnth>MAX_FN_LEN)return false;\n\tUnicodeToAnsi(szModuleName,&szFullName[Legnth],MAX_FN_LEN - Legnth);\n\tm_hDebuggerModule = LoadLibrary(szFullName);\n\tif(m_hDebuggerModule==NULL)\n\t\treturn false;\n\t(FARPROC&)fCreateDebugger = GetProcAddress(m_hDebuggerModule,\"CreateDebugger\");\n\tif(fCreateDebugger==NULL)\n\t\treturn false;\n\t(FARPROC&)fGetFileFilter = GetProcAddress(m_hDebuggerModule,\"GetFileFilter\");\n\t(FARPROC&)fGetInfo = GetProcAddress(m_hDebuggerModule,\"GetInfo\");\n\tif(fGetFileFilter)\n\t{\n\t\tWCHAR szBuffer[MAX_FN_LEN];\n\t\tfGetFileFilter(szBuffer);\n\t\tgpSyser->m_szDbgFileNameFilter = szBuffer;\n\t}\n\tif(fGetInfo)\n\t{\n\t\tchar szBuffer[256];\n\t\tTStrCpy(szBuffer,\"Syser Debugger - \");\n\t\tfGetInfo(&szBuffer[TStrLen(szBuffer)]);\n\t\tSetWindowText(m_hLocalWnd,szBuffer);\n\t}\n\tm_pDebugger = (CX86Debugger*)fCreateDebugger(&m_SyserUI);\n\tif(m_pDebugger==NULL)\n\t{\n\t\tFreeLibrary(m_hDebuggerModule);\n\t\tm_hDebuggerModule = NULL;\n\t\treturn false;\n\t}\n\tm_pSysDebugger = m_pDebugger;\n\tm_pDebugger->Init(&gpSyser->m_SyserUI.m_SyserDI);\n\tm_MainFrame.m_SystemExplorer.AttachDebugger(m_pDebugger);\n\n\tm_MainFrame.m_SystemExplorer.UpdateItemState();\n\tm_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\treturn true;\n}\n\nvoid CSyser::UnloadDebugger()\n{\n\tif(m_pDebugger == NULL || m_hDebuggerModule == NULL)\n\t\treturn;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\tgpSyser->m_SyserUI.m_CodeDoc.Close();\n\tm_pDebugger->Release();\n\tm_pDebugger = NULL;\n\tFreeLibrary(m_hDebuggerModule);\n\tm_hDebuggerModule = NULL;\n\tgpSyser->m_szDbgFileNameFilter.Empty();\n\tm_MainFrame.m_SystemExplorer.DetachDebugger();\n\tUnloadPlugin();\n\tm_MainFrame.m_SystemExplorer.UpdateItemState();\n\tm_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n}\n\nXSCAN_RES CSyser::XScanPlugin(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParem)\n{\n\tif(TIMultiMatchWithPattern(\"*.dll\",FileName)==false)\n\t\treturn XSCAN_RES_IGNORE;\n\tLoadLibrary(FileName);\n\treturn XSCAN_RES_CONTINUE;\n}\n\nint CSyser::LoadPlugin()\n{\n\tchar szPlugin[MAX_FN_LEN];\t\n\tGetModulePath(szPlugin);\n\tTStrCat(szPlugin,\"Plugin\\\\i386\\\\*\");\n\treturn gpFileIO->XScan(szPlugin,XScanPlugin,NULL,false);\n}\n\nvoid CSyser::UnloadPlugin()\n{\n\tm_PluginMap.Clear();\n}\n\nbool CSyser::InitInstance()\n{\n\tm_pszDiskList = \"Wisp.dat;Syser.dat\";\n\tLoadCFG();\n\t\n\t//m_DefaultFontType = WISP_FONT_8X16;\n\tif(CWispApp::InitInstance()==FALSE)\n\t\treturn false;\n#ifdef CODE_OS_WIN\n\tm_FrameStyleEx|=WS_EX_ACCEPTFILES;\n#endif\n\tm_bHideMouse = true;\n\tm_hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IDI_ICON_SYSER));\n\tm_hCursorCurEIP = LoadCursor(m_hLocalInst,MAKEINTRESOURCE(IDC_CURSOR_CUR_EIP));\n\tCreateFrame(WSTR(\"Syser Debugger\"),\n\t\t\t\tMAX(GetSystemMetrics(SM_CXFULLSCREEN)*5/6,0x2D0),\n\t\t\t\tMAX(GetSystemMetrics(SM_CYFULLSCREEN)*5/6,190),0);\n\tInitHotKeyInfo();\n\t\n\tm_MainFrame.Create(NULL,0,0,m_FrameBuffer.Width,m_FrameBuffer.Height,NULL,WISP_ID_MAIN_FRAME,WISP_WS_BACK_TRANS);\n\tm_MainFrame.AddAdvStyle(WISP_WAS_DRAG_WND);\n\tm_MainFrame.m_pWispBase->SetKeyboardLayer(0);\n\tLoadPlugin();\n\tgpSyser->LoadDebugger(SyserOption.szDebuggerFileName);\n\tif(m_pDebugger==NULL)\n\t\tm_MainFrame.m_DebuggerSelectForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\n\tm_SyserUI.LoadAPIDefine();\n\tLoadHistroy();\n\tm_MainFrame.m_ConsoleWnd.RunModulePathBat(\"Syser.cmd\",NULL);\n\treturn true;\n}\n\nint\tCSyser::ExitInstance()\n{\n\tUnloadDebugger();\n\tUnloadPlugin();\n\tm_MainFrame.Destroy();\n\tDestroyFrame();\n\tDestroyIcon(m_hIcon);\n\tDestroyIcon(m_hCursorCurEIP);\n\treturn CWispApp::ExitInstance();\n}\n\nbool CSyser::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\n{\n\tchar\tszBuffer[MAX_FN_LEN];\n\tHDROP\thDrop;\n\tswitch(message)\n\t{\n\tcase WM_DROPFILES:\n\t\thDrop = (HDROP)wParam;\n\t\tDragQueryFile(hDrop,0,szBuffer,MAX_FN_LEN);\n\t\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened())\n\t\t\tgpSyser->m_SyserUI.m_CodeDoc.Close();\n\t\tif(gpSyser->m_SyserUI.m_CodeDoc.Open(szBuffer)==false)\n\t\t\tOUTPUT(WSTR(\"Error : Fail to open dropped file !\\n\"));\n\t\tbreak;\n\tdefault:\n\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\t}\n\treturn false;\n}\n\nvoid CSyser::LoadHistroy()\n{\n\tDWORD Style;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tchar szFileName[MAX_FN_LEN],*pStr;\n\tRECENT_HISTROY_ITEM Item;\n\tCTXTFile TXTFile;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"Histroy.lst\");\n\tif(TXTFile.Open(szFileName)==false)\n\t\treturn;\n\tm_HistroyList.Clear();\n\tfor(TTXTStrList::IT Iter = TXTFile.m_StrList.Begin();Iter!=TXTFile.m_StrList.End();Iter++)\n\t{\n\t\tStyle = SDP_NULL;\n\t\tpStr = TStrRChr(*Iter,'|');\n\t\tif(pStr)\n\t\t{\n\t\t\t*pStr++=0;\n\t\t\tif(USHexStrToNum(pStr,&Style)==false)\n\t\t\t\tStyle=SDP_NULL;\n\t\t}\n\t\tItem.FileName = *Iter;\n\t\tItem.Style = Style;\n\t\tif(gpFileIO->IsFileExist(Item.FileName))\n\t\t\tm_HistroyList.Append(Item);\n\t}\n\tTXTFile.Close();\n\tm_bHistroyModified = false;\n\tWISP_MENU_ITEM*pMenuItem = (WISP_MENU_ITEM*)m_MainFrame.m_SystemExplorer.m_WndMenu.GetItemByName(WSTR(\"Recent Files\"));\n\tif(pMenuItem && m_HistroyList.Count())\n\t{\n\t\tCWispMenu*pMenu = pMenuItem->pSubMenu;\n\t\tpMenu->RemoveAllItem();\n\t\tint CmdID=EVENT_ID_RECENT_FILE+1;\n\t\tfor(TList<RECENT_HISTROY_ITEM>::IT Iter = m_HistroyList.Begin();Iter!=m_HistroyList.End()&&CmdID<=EVENT_ID_RECENT_FILE_END;Iter++)\n\t\t{\n\t\t\tAnsiToUnicode(Iter->FileName,szBuffer,MAX_FN_LEN);\n\t\t\tCWispDIB*pTypeDIB;\n\t\t\tPCSTR pExtName = TGetFileExt((PCSTR)Iter->FileName);\n\t\t\tif(pExtName && TStrICmp(pExtName,\"exe\")==0)\n\t\t\t\tpTypeDIB = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,22);\n\t\t\telse\n\t\t\t\tpTypeDIB = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,15);\n\t\t\tpMenu->InsertItem(-1,szBuffer,WISP_MIS_NORMAL,CmdID,pTypeDIB);\n\t\t\tCmdID++;\n\t\t}\n\t\tpMenu->AdjustPopupMenuSize();\n\t}\n}\n\nvoid CSyser::SaveHistroy()\n{\n\tchar szBuffer[256];\n\tchar szFileName[MAX_FN_LEN];\n\tCImageFileStream File;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"Histroy.lst\");\n\tif(File.Create(szFileName)==false)\n\t\treturn;\n\tint n=0;\n\tfor(TList<RECENT_HISTROY_ITEM>::IT Iter = m_HistroyList.Begin();Iter!=m_HistroyList.End();Iter++)\n\t{\n\t\tFile.Puts(Iter->FileName.m_pData,Iter->FileName.Length());\n\t\tFile.Puts(szBuffer,TSPrintf(szBuffer,\"|%X\\r\\n\",Iter->Style));\n\t\tn++;\n\t}\n\tFile.Close();\n}\n\nvoid CSyser::InsertHistroy(PCSTR szFileName,DWORD Style)\n{\n\tRECENT_HISTROY_ITEM Item;\n\tTList<RECENT_HISTROY_ITEM>::IT Iter;\n\tItem.FileName = szFileName;\n\tItem.Style = Style;\n\tIter = m_HistroyList.Find(Item);\n\tif(Iter!=m_HistroyList.End())\n\t{\n\t\tif(Iter->Style == Style)\n\t\t\treturn;\n\t\tm_HistroyList.Remove(Iter);\n\t}\n\tif(m_HistroyList.Count()<EVENT_ID_RECENT_FILE_END-EVENT_ID_RECENT_FILE)\n\t{\n\t\tif(m_HistroyList.Count()==0)\n\t\t\tm_HistroyList.Append(Item);\n\t\telse\n\t\t\tm_HistroyList.InsertBefore(m_HistroyList.Begin(),Item);\n\t}\n\telse\n\t{\n\t\tm_HistroyList.InsertBefore(m_HistroyList.Begin(),Item);\n\t\tm_HistroyList.Remove(m_HistroyList.Last());\n\t}\n\tm_bHistroyModified = true;\n\tSaveHistroy();\n\tLoadHistroy();\n}\n\nDWORD* LoadCFGHotKey()\n{\n\tDWORD* Buffer=new DWORD[0x1000/sizeof(DWORD)];\n\tint i,j,nRealLen;\n\tDWORD* pEndbuffer;\n\tchar szHotKeyCfgFN[MAX_FN_LEN];\t\n\t\n\tif(Buffer==NULL)\n\t\treturn NULL;\n\tpEndbuffer=Buffer;\n\tGetSystemDirectoryA(szHotKeyCfgFN,MAX_FN_LEN);\n\tTStrCat(szHotKeyCfgFN,\"\\\\drivers\\\\SyserHotKey.cfg\");\n\tif(LoadSyserHotKeyOption(szHotKeyCfgFN,Buffer,0x1000,&nRealLen)==false)\n\t{\n\t\tpEndbuffer++;//skip crc\n\t\tpEndbuffer++;//skip total number\n\t\tfor(i=0,j=0;gDefaultHotkeyInfo[i].KeyName;i++)\n\t\t{\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].CommandID;\n\t\t\t*pEndbuffer++=1;\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].FuncKeyCode;\n\t\t\t*pEndbuffer++=gDefaultHotkeyInfo[i].SecondKeyCode;\n\t\t}\n\t\tBuffer[1]=i;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t\t*pEndbuffer++=0;\n\t}\n\treturn Buffer;\n}\nvoid CSyser::InitHotKeyInfo()\n{\n\tDWORD *Buffer=(DWORD*)LoadCFGHotKey();\n\tDWORD* OrgBuffer,i,j,k;\n\tCMDHOTKEYMAP::IT BeginIT;\n\tHOTKEYLIST* pList;\n\tKEY_PAIR KeyPair;\n\n\tif(Buffer==NULL)\n\t\treturn;\n\tOrgBuffer=Buffer;\n\tBuffer++;//skip crc\t\n\tBuffer++;//skip total number\n\tHOTKEYLIST TmpList;\n\tfor(i=0;i<OrgBuffer[1];i++)\n\t{\n\t\t::DbgPrint(\"Syser : Hotkey cmd %d\\n\",*Buffer);\n\t\tBeginIT = m_CmdHotKeyMap.InsertUnique(*Buffer++,TmpList);\n\t\tif(BeginIT==m_CmdHotKeyMap.End())\n\t\t\tbreak;\t\t\n\t\tk=*Buffer++;\n\t\tfor(j=0;j<k;j++)\n\t\t{\n\t\t\tKeyPair.FuncKeyCode=*Buffer++;\n\t\t\tKeyPair.SecondKeyCode=*Buffer++;\n\t\t\tpList=&(*BeginIT);\n\t\t\tpList->Append(KeyPair);\n\t\t}\t\t\n\t}\n\tdelete []OrgBuffer;\n}\n\nvoid CSyser::SetActiveHotKey(DWORD FuncKeyCode,DWORD SecondKeyCode)\n{\n\n}\n\nvoid CSyser::AttachHotKey(DWORD dwCmdID,CWispWnd* pWnd)\n{\t\n\tCMDHOTKEYMAP::IT FindIT;\n\tHOTKEYLIST::IT BeginIT;\n\tif(dwCmdID==0)\n\t\treturn;\n\tFindIT=m_CmdHotKeyMap.Find(dwCmdID);\n\tif(FindIT!=m_CmdHotKeyMap.End())\n\t{\n\t\tBeginIT=FindIT->Begin();\n\t\tfor(;BeginIT!=FindIT->End();BeginIT++)\n\t\t{\n\t\t\tif(BeginIT->SecondKeyCode)\n\t\t\t{\t\t\t\n\t\t\t\tpWnd->RegisterHotKey(dwCmdID,BeginIT->SecondKeyCode,BeginIT->FuncKeyCode);\n\t\t\t}\n\t\t\telse\n\t\t\t{\t\t\t\t\n\t\t\t\tpWnd->RegisterHotKey(dwCmdID,BeginIT->FuncKeyCode,0);\n\t\t\t}\n\t\t}\n\t}\t\n}\nULONG gCPUNumbers=1;\n\n\nDWORD CSyser::AttachShortcutKey(DWORD dwCmdID,TMap<UINT,UINT> & pMap)\n{\t\n\tCMDHOTKEYMAP::IT FindIT;\n\tHOTKEYLIST::IT BeginIT;\n\tif(dwCmdID==0)\n\t\treturn 0;\n\tFindIT=m_CmdHotKeyMap.Find(dwCmdID);\n\tif(FindIT!=m_CmdHotKeyMap.End())\n\t{\n\t\tBeginIT=FindIT->Begin();\n\t\tfor(;BeginIT!=FindIT->End();BeginIT++)\n\t\t{\n\t\t\tpMap.InsertUnique(BeginIT->SecondKeyCode|BeginIT->FuncKeyCode,dwCmdID);\n\t\t}\n\t\treturn FindIT->Count();\n\t}\t\n\treturn 0;\n}\n\nbool CSyser::InitOSHwndRoot()\n{\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SyserApp.h",
    "content": "#ifndef _SYSER_APP_H_\n#define _SYSER_APP_H_ \n\n#define CMoveFramMenu\t\t\tCWispMenu\n\n#include \"SyserUI.h\"\n#include \"MainFrame.h\"\n\ntypedef TMap<CStrW,SYSER_PLUGIN_MODULE> CPluginMap;\n\nstruct RECENT_HISTROY_ITEM\n{\n\tCIStrA\tFileName;\n\tDWORD\tStyle;\n\tbool\toperator==(const RECENT_HISTROY_ITEM &Obj)const\n\t{\n\t\treturn FileName==Obj.FileName;\n\t}\n};\ntypedef TList<KEY_PAIR> HOTKEYLIST;\ntypedef TMap<DWORD,HOTKEYLIST> CMDHOTKEYMAP;\n\nclass CSyser : public CLocalWispApp\n{\npublic:\n\tCSyser(void);\n\t~CSyser(void);\npublic:\n\tvirtual bool\tInitInstance();\n\tvirtual int\t\tExitInstance();\n\tvoid\tLoadCFG();\n\tbool\tLoadDebugger(WCHAR*szModuleName);\n\tvoid\tUnloadDebugger();\n\tint\t\tLoadPlugin();\n\tvoid\tUnloadPlugin();\n\tstatic\tXSCAN_RES XScanPlugin(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParem);\n\tCPluginMap\t\tm_PluginMap;\n\t\n\tHMODULE\t\t\tm_hDebuggerModule;\n\tCX86Debugger*\tm_pDebugger;\n\tCX86Debugger*\tm_pSysDebugger;\n\tHCURSOR\t\t\tm_hCursorCurEIP;\n\tCStrW\t\t\tm_szDbgFileNameFilter;\n\tCMainFrame\t\tm_MainFrame;\n\tCSyserUI\t\tm_SyserUI;\n\tCSourceDebug\tm_SourceDebug;\n\tCCurrentFunction m_CurrentFunctionContext;\n\tint\t\t\t\tm_TimeZoneBias;\n\tDWORD m_OSMajorVersion;\n\tDWORD m_OSMinorVersion;\n\tDWORD\tm_PopupThread;\t\t\t\t// Syser Active ʱǰ߳ KTHREAD\n\tDWORD\tm_PopupProcess;\t\t\t\t// Syser Active ʱǰ KPROCESS\n\tDWORD\tm_PopupThreadID;\t\t\t\t// Syser Active ʱǰ߳ ID\n\tDWORD\tm_PopupProcessID;\t\t\t\t// Syser Active ʱǰ ID\n\tSOUCEDEBUGCALLSTACKLIST m_SourceDebugCallStackList;\n\tvirtual\tbool WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);\n\tbool m_bInitializeOK;\n\tTList<RECENT_HISTROY_ITEM>\tm_HistroyList;\n\tbool\t\t\t\t\t\tm_bHistroyModified;\n\tvoid\tLoadHistroy();\n\tvoid\tSaveHistroy();\n\tvoid\tInsertHistroy(PCSTR szFileName,DWORD Style);\n\tCMDHOTKEYMAP m_CmdHotKeyMap;\n\tvoid InitHotKeyInfo();\n\tvoid SetActiveHotKey(DWORD FuncKeyCode,DWORD SecondKeyCode);\n\tvoid\tAttachHotKey(DWORD dwCmdID,CWispWnd* pWnd);\t\n\tDWORD AttachShortcutKey(DWORD dwCmdID,TMap<UINT,UINT> & pMap);\n\tTMap<UINT,UINT> m_ShortcutKeyMap;\n\tDWORD\t\t\tm_OSHwndRoot;\n\tbool InitOSHwndRoot();\n};\n\nextern CSyser*\t\t\tgpSyser;\nextern ULONG gCPUNumbers;\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserCAbi.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserCAbi.h\"\n\n//\n//\tCSyser\n//\n\nVOID SyserAttachPopupProcess(DWORD dwCR3)\n{\n\tgpSyser->AttachPopupProcess(dwCR3);\n}\n\n//\n//\tCSyser -> CDbgProcess\n//\n\nbool SyserDbgProcessHandleInt1(ULPOS Address)\n{\n\treturn gpSyser->m_pDebugger->HandleInt1(Address);\n}\n\nbool SyserDbgProcessHandleInt3(ULPOS Address)\n{\n\treturn gpSyser->m_pDebugger->HandleInt3(Address);\n}\n\nbool SyserIsgpSyserValid()\n{\n\treturn (gpSyser != NULL);\n}\n\nbool SyserGetIsDbgRegAccessMon(VOID)\n{\n\treturn gpSyser->m_bDbgRegAccessMon;\n}\n\nVOID SyserSetIsDbgRegAccessMon(bool newValue)\n{\n\tgpSyser->m_bDbgRegAccessMon = newValue;\n}\n\nbool SyserGetbUpdateReg(VOID)\n{\n\treturn gpSyser->m_bUpdateReg;\n}\n\nVOID SyserSetbUpdateReg(bool newValue)\n{\n\tgpSyser->m_bUpdateReg = newValue;\n}\n\nbool SyserGetInstallDebug(VOID)\n{\n\treturn gpSyser->InstallDebug();\n}\n\nVOID SyserDbgPrint(int x,int y,IN WCHAR*Format,...)\n{\n\tva_list Next;\n\tWCHAR szBuffer[0x200];\n\n\tva_start(Next,Format);\n\tTVSPrintf(szBuffer,Format,Next);\n\tva_end(Next);\n\n\tgpSyser->DbgPrint(x,y,szBuffer);\n}\n\nbool SyserGetbInitSuccess(VOID)\n{\n\treturn gpSyser->m_bInitSuccess;\n}\n\nbool SyserbIsgpSyserValid(VOID)\n{\n\treturn (bool)(gpSyser != NULL);\n}\n\nULONG_PTR\tSyserGetSysInfoSyserBase(VOID)\n{\n\treturn gpSyser->m_SysInfo.m_SyserBase;\n}\n\nULONG_PTR\tSyserGetSysInfoSyserHighBase(VOID)\n{\n\treturn gpSyser->m_SysInfo.m_SyserHighBase;\n}"
  },
  {
    "path": "Project/Syser/Source/SyserCAbi.h",
    "content": "#ifndef _SYSER_C_ABI_\n#define _SYSER_C_ABI_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//\n//\tCSyser\n//\n\nVOID SyserAttachPopupProcess(DWORD dwCR3);\n\n//\n//\tCSyser -> CDbgProcess -> HandleInt1\n//\n\nbool SyserDbgProcessHandleInt1(ULPOS Address);\n\n//\n//\tCSyser -> CDbgProcess -> HandleInt3\n//\n\nbool SyserDbgProcessHandleInt3(ULPOS Address);\n\n//\n//\tCSyser\n//\n\nbool SyserIsgpSyserValid(VOID);\n\n//\n//\tCSyser -> m_bDbgRegAccessMon\n//\n\nbool SyserGetIsDbgRegAccessMon(VOID);\nVOID SyserSetIsDbgRegAccessMon(bool newValue);\n\n//\n//\tCSyser -> m_bUpdateReg\n//\n\nbool SyserGetbUpdateReg(VOID);\nVOID SyserSetbUpdateReg(bool newValue);\n\n//\n//\tCSyser -> InstallDebug()\n//\nbool SyserGetInstallDebug(VOID);\n\n//\n//\tCSyser -> DbgPrint()\n//\n\nVOID SyserDbgPrint(int x,int y,IN WCHAR*Format,...);\n\n//\n//\tCSyser -> m_bInitSuccess\n//\n\nbool SyserGetbInitSuccess(VOID);\n\n//\n//\tgpSyser != NULL\n//\n\nbool SyserbIsgpSyserValid(VOID);\n\n//\n//\tCSyser -> m_SysInfo -> m_SyserBase\n//\n\nULONG_PTR\tSyserGetSysInfoSyserBase(VOID);\n\n//\n//\tCSyser -> m_SysInfo -> m_SyserHighBase\n//\n\nULONG_PTR\tSyserGetSysInfoSyserHighBase(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/SyserCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserCmd.h\"\n#include \"VideoDriver.h\"\n#include \"DbgProcess.h\"\n#include \"TimerInterrupt.h\"\n#include \"IOAPIC.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"PIC_8259.h\"\n#include \"UHCIDevice.h\"\n#include \"LocalAPIC.h\"\n#include \"Dump.h\"\n#include \"cmd_cpuid.h\"\n#include \"cmd_cpu.h\"\n#include \"HwndCmd.h\"\n#include \"OSProcessThread.h\"\n\nint get_do_command_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szDoCmd,int MaxSize);\nint get_command_condition_string(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,char* szCondition,int MaxSize);\nconst WCHAR cmd_faults_usage[]=\n{\n\tL\"faults: Turn fault trapping on or off.\\n\"\n\tL\"format: faults [ on | off ]\\n\"\n\tL\"Example1: faults on\\n\"\n};\n\nconst WCHAR cmd_bpint_usage[]=\n{\n\tL\"bpint: Set interrupt breakpoint\\n\"\n\tL\"format: bpint interrupt_index\\n\"\n\tL\"Example1: bpint 2e\\n\"\n};\n\nconst WCHAR cmd_bpr_usage[]=\n{\n\tL\"bpr: Set breakpoint at the range of memory(only support memory address < 2G)\\n\"\n\tL\"format: bpr process-type address length r|w|rw|x [if ...] [do ...]\\n\"\n\tL\"Example1: bpr notepad eip 800 x\\n\"\n\tL\"Example2: bpr 144 404000 3000 w\\n\"\n\tL\"Example3: bpr 82023D78 7c004000 3000 w\\n\"\n};\n\nconst WCHAR cmd_handle_usage[]=\n{\n\tL\"handle: Displays information about a handle or handles that one or all processes .\\n\"\n\tL\"format: handle [handle | 0] [process-type]\\n\"\n\tL\"Example1: handle 4\\n\"\n\tL\"Example2: handle 4 idle\\n\"\n\tL\"Example3: handle 0 idle\\n\"\n};\n\nconst WCHAR cmd_dt_usage[]=\n{\n\tL\"dt: Displays information about a local variable, global variable or data type. This can display information about simple data types, as well as structures and unions.\\n\"\n\tL\"format: dt Typename [address]\\n\"\n\tL\"Example1: dt _ETHREAD\\n\"\n\tL\"Example2: dt _EPROCESS 804d5788\\n\"\t\n};\n\nconst WCHAR cmd_apic_usage[]=\n{\n\tL\"apic: Dump local apic information\\n\"\n\tL\"Format: apic\\n\"\n};\n\nconst WCHAR cmd_ioapic_usage[]=\n{\n\tL\"ioapic: Dump ioapic information\\n\"\n\tL\"Format: ioapic\\n\"\n};\n\nconst WCHAR cmd_addr_usage[]=\n{\n\tL\"addr: Change process address space\\n\"\n\tL\"Format: addr [process_id][process_name][cr3]\\n\"\n\tL\"Example1: addr 0004         (switch to process which PID is 0004)\\n\"\n\tL\"Example2: addr calc         (switch to process calc)\\n\"\n\tL\"Example3: addr 36000        (switch to process which CR3 is 36000)\\n\"\n};\nconst WCHAR cmd_i3here_usage[]=\n{\n\tL\"i3here : Direct INT3 to Syser\\n\"\n\tL\"Format: i3here [ on | off | drv ]\\n\"\n\tL\"Example1: i3here on\\n\"\n};\nconst WCHAR cmd_proc_usage[]=\n{\n\tL\"proc: List processes in system\\n\"\n\tL\"Format: proc\\n\"\n};\n\nconst WCHAR cmd_cpu_usage[]=\n{\n\tL\"cpu: Display cpu information\\n\"\n\tL\"Format: cpu [cpu_index] [ cr0 | cr3 | cr4 | efl ]\\n\"\n\tL\"Example1: cpu 0\\n\"\n\tL\"Example2: cpu 0 cr0 cr4\\n\"\n\tL\"Example3: cpu efl\\n\"\n};\n\nconst WCHAR cmd_cpuid_usage[]=\n{\n\tL\"cpuid: Display CPUID information\\n\"\n\tL\"Format: cpuid\\n\"\n};\n\nconst WCHAR cmd_idt_usage[]=\n{\n\tL\"idt: Display IDT information\\n\"\n\tL\"Format: idt [idt_index]\\n\"\n\tL\"Example1: idt 8\\n\"\n};\n\nconst WCHAR cmd_gdt_usage[]=\n{\n\tL\"gdt: Display GDT information\\n\"\n\tL\"Format: gdt [gdt_sel]\\n\"\n\tL\"Example1: gdt 30\\n\"\n};\n\nconst WCHAR cmd_phys_usage[]=\n{\n\tL\"phys: Convert physical address to virtual address\\n\"\n\tL\"Format: phys [physical_address]\\n\"\n\tL\"Example1: phys 1100000\\n\"\n};\n\nconst WCHAR cmd_page_usage[]=\n{\n\tL\"page: Convert virtual address to physical address\\n\"\n\tL\"Format: page [virtual_address]\\n\"\n\tL\"Example1: page 401000\\n\"\n};\n\nconst WCHAR cmd_tss_usage[]=\n{\n\tL\"tss: Display task state segment\\n\"\n\tL\"Format: tss\\n\"\n};\n\nconst WCHAR cmd_dump_usage[]=\n{\n\tL\"dump: dump Bin data to file\\n\"\n\tL\"Format: dump address length dump_file_name\\n\"\n\tL\"Examle: dump 401000 1000 C:\\\\dump.bin\\n\"\n};\n\nconst WCHAR cmd_makepe_usage[]=\n{\n\tL\"makepe: dump PE module to file\\n\"\n\tL\"Format: makepe module_name dump_file_name\\n\"\n\tL\"Examle: makepe kernel32 C:\\\\kernel32.dll\\n\"\n};\n\n/*\n%<0>0 ------- Black\n%<1>1 ------- White \n%<2>2 ------- Red\n%<3>3 ------- Light Red\n%<4>4 ------- Green\n%<5>5 ------- Light Green\n%<6>6 ------- Blue\n%<7>7 ------- Light Blue\n%<8>8 ------- Brown\n%<9>9 ------- Light Brown\n%<A>A ------- Cyan\n%<B>B ------- Light Cyan\n%<C>C ------- Gray\n%<D>D ------- Light Gray\n%<E>E ------- Yellow\n%<F>F ------- Light Yellow\n*/\n\n\n\nSYSER_CMD_ENTRY\tSysCmdTable[]=\n{\n\t{WSTR(\"apic\"),\t\tWSTR(\"Dump local apic\"),\t\t\t\t\t\t\t\t\tlocalapic_command,\t\t\tcmd_apic_usage},\n\t{WSTR(\"ioapic\"),\tWSTR(\"Dump io apic\"),\t\t\t\t\t\t\t\t\t\tioapic_command,\t\t\t\tcmd_ioapic_usage},\n\t{WSTR(\"export\"),\tWSTR(\"Display Module export function\"),\t\t\t\t\t\texport_command},\n\t{WSTR(\"addr\"),\t\tWSTR(\"Display/change process context\"),\t\t\t\t\t\taddr_command,\t\t\t\tcmd_addr_usage},\n\t{WSTR(\"proc\"),\t\tWSTR(\"Display process information\"),\t\t\t\t\t\tproc_command,\t\t\t\tcmd_proc_usage},\n\t{WSTR(\"ver\"),\t\tWSTR(\"Show WinSyser Version\"),\t\t\t\t\t\t\t\tver_command},\n\t{WSTR(\"i\"),\t\t\tWSTR(\"Input data form I/O port\"),\t\t\t\t\t\t\tib_command},\n\t{WSTR(\"ib\"),\t\tWSTR(\"Input data form I/O port\"),\t\t\t\t\t\t\tib_command},\n\t{WSTR(\"iw\"),\t\tWSTR(\"Input data form I/O port\"),\t\t\t\t\t\t\tib_command},\n\t{WSTR(\"id\"),\t\tWSTR(\"Input data form I/O port\"),\t\t\t\t\t\t\tib_command},\n\t{WSTR(\"o\"),\t\t\tWSTR(\"Output data to I/O port\"),\t\t\t\t\t\t\tob_command},\n\t{WSTR(\"ob\"),\t\tWSTR(\"Output data to I/O port\"),\t\t\t\t\t\t\tob_command},\n\t{WSTR(\"ow\"),\t\tWSTR(\"Output data to I/O port\"),\t\t\t\t\t\t\tob_command},\n\t{WSTR(\"od\"),\t\tWSTR(\"Output data to I/O port\"),\t\t\t\t\t\t\tob_command},\n\t{WSTR(\"makepe\"),\tWSTR(\"dump PE Module to file\"),\t\t\t\t\t\t\t\tmakepe_command,\t\t\t\tcmd_makepe_usage},\n\t{WSTR(\"dump\"),\t\tWSTR(\"dump Bin data to file\"),\t\t\t\t\t\t\t\tdump_command,\t\t\t\tcmd_dump_usage},\n\t/////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ϵͳ\n\t{WSTR(\"idt\"),\t\tWSTR(\"Display interrupt descriptor table\"),\t\t\t\t\tidt_command,\t\t\t\tcmd_idt_usage},\n\t{WSTR(\"gdt\"),\t\tWSTR(\"Display global descriptor table\"),\t\t\t\t\tgdt_command,\t\t\t\tcmd_gdt_usage},\n\t{WSTR(\"ldt\"),\t\tWSTR(\"Display local descriptor table\"),\t\t\t\t\t\tldt_command},\n\t{WSTR(\"cpuid\"),\t\tWSTR(\"Show CPUID Information\"),\t\t\t\t\t\t\t\tcpuid_command,\t\t\t\tcmd_cpuid_usage},\n\t{WSTR(\"cpu\"),\t\tWSTR(\"Show cpu register\"),\t\t\t\t\t\t\t\t\tcpu_command,\t\t\t\tcmd_cpu_usage},\n\t{WSTR(\"page\"),\t\tWSTR(\"Display page table information\"),\t\t\t\t\t\tpage_command,\t\t\t\tcmd_page_usage},\n\t//ϵͳ\n\t/////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t{WSTR(\"bpint\"),\t\tWSTR(\"Breakpoint on interrupt\"),\t\t\t\t\t\t\tbpint_command},\n\t{WSTR(\"pci\"),\t\tWSTR(\"Dump PCI information\"),\t\t\t\t\t\t\t\tpci_command},\n\t{WSTR(\"ignore\"),\tWSTR(\"return to default exception handler\"),\t\t\t\tignore_command},\n\t{WSTR(\"faults\"),\tWSTR(\"Turn fault trapping on or off.\"),\t\t\t\t\t\tfaults_command,\t\t\t\tcmd_faults_usage},\n\t{WSTR(\"phys\"),\t\tWSTR(\"Display all virtual addresses for physical address\"),\tphys_command,\t\t\t\tcmd_phys_usage},\n\t{WSTR(\"tss\"),\t\tWSTR(\"Display task state segment\"),\t\t\t\t\t\t\ttss_command,\t\t\t\tcmd_tss_usage},\n\t{WSTR(\"irq\"),\t\tWSTR(\"Display hardware IRQ Information\"),\t\t\t\t\tirq_command},\n\t{WSTR(\"msr\"),\t\tWSTR(\"Display Model Specific Register information\"),\t\tmsr_command},\n\t{WSTR(\"peek\"),\t\tWSTR(\"Read from physical address\"),\t\t\t\t\t\t\tpeekb_command},\n\t{WSTR(\"peekb\"),\t\tWSTR(\"Read from physical address\"),\t\t\t\t\t\t\tpeekb_command},\n\t{WSTR(\"peekw\"),\t\tWSTR(\"Read from physical address\"),\t\t\t\t\t\t\tpeekb_command},\n\t{WSTR(\"peekd\"),\t\tWSTR(\"Read from physical address\"),\t\t\t\t\t\t\tpeekb_command},\n\t{WSTR(\"poke\"),\t\tWSTR(\"Write to physical address\"),\t\t\t\t\t\t\tpokeb_command},\n\t{WSTR(\"pokeb\"),\t\tWSTR(\"Write to physical address\"),\t\t\t\t\t\t\tpokeb_command},\n\t{WSTR(\"pokew\"),\t\tWSTR(\"Write to physical address\"),\t\t\t\t\t\t\tpokeb_command},\n\t{WSTR(\"poked\"),\t\tWSTR(\"Write to physical address\"),\t\t\t\t\t\t\tpokeb_command},\n\t{WSTR(\"ntcall\"),\tWSTR(\"Display NTOSKRNL system calls\"),\t\t\t\t\t\tntcall_command},\n\t{WSTR(\"ntcall2\"),\tWSTR(\"Display WIN32K system calls\"),\t\t\t\t\t\tntcall2_command},\t\n\t{WSTR(\"usb\"),\t\tWSTR(\"Display USB device or transaction information\"),\t\tusb_command},\n\t{WSTR(\"objdir\"),\tWSTR(\"Display info about an object directory\"),\t\t\t\tobjdir_command},\n\t{WSTR(\"device\"),\tWSTR(\"Display info about a device\"),\t\t\t\t\t\tdevice_command},\n\t{WSTR(\"driver\"),\tWSTR(\"Display info about a driver\"),\t\t\t\t\t\tdriver_command},\n\t{WSTR(\"kmutex\"),\tWSTR(\"Display info about a Kernel Mutex\"),\t\t\t\t\tkmutex_command},\n\t{WSTR(\"kevent\"),\tWSTR(\"Display info about a Kernel Event\"),\t\t\t\t\tkevent_command},\n\t{WSTR(\"ksem\"),\t\tWSTR(\"Display info about a Kernel Semaphore\"),\t\t\t\tksem_command},\n\t{WSTR(\"i1here\"),\tWSTR(\"Direct INT1 to Syser\"),\t\t\t\t\t\t\t\ti1here_command},\n\t{WSTR(\"i3here\"),\tWSTR(\"Direct INT3 to Syser\"),\t\t\t\t\t\t\t\ti3here_command,cmd_i3here_usage},\n\t{WSTR(\"genint\"),\tWSTR(\"Generate an interrupt\"),\t\t\t\t\t\t\t\tgenint_command},\n\t{WSTR(\"hboot\"),\t\tWSTR(\"Forces the system to reboot\"),\t\t \t\t\t\thboot_command},\n\t{WSTR(\"wf1\"),\t\tWSTR(\"Display FPU Register Informat\"),\t\t\t\t\t\twf1_command},\n\t{WSTR(\"center\"),\tWSTR(\"center syser windows\"),\t\t\t\t\t\t\t\twindow_center_command},\n\t{WSTR(\"vad\"),\t\tWSTR(\"Displays details of the virtual address descriptor (VAD) for one or more virtual addresses\"),\t\t\tvad_command},\n\t{WSTR(\"pte\"),\t\tWSTR(\"Displays the page table entry (PTE) and page directory entry (PDE) for the specified address\"),\t\tpte_command},\n\t{WSTR(\"DispInfo\"),\tWSTR(\"Show Display Information\"),\t\t\t\t\t\t\tdispinfo_command},\n\t{WSTR(\"uhcil\"),\t\tWSTR(\"Display UHCI QH or TD Pointed by Link\"),\t\t\t\tuhci_link_command},\n\t{WSTR(\"ohcied\"),\tWSTR(\"Display OHCI ED Struct Info\"),\t\t\t\t\t\tohci_ed_command},\n\t{WSTR(\"Plugin\"),\tWSTR(\"Display Syser Plugin List\"),\t\t\t\t\t\t\tplugin_command},\n\t{WSTR(\"thread\"),\tWSTR(\"Display thread information\"),\t\t\t\t\t\t\tthread_command},\n\t{WSTR(\"objtab\"),\tWSTR(\"Display user object table\"),\t\t\t\t\t\t\tobjtab_command},\n\t{WSTR(\"bpt\"),\t\tWSTR(\"Set breakpoint at thread\"),\t\t\t\t\t\t\tbpt_command},\n\t{WSTR(\"bpp\"),\t\tWSTR(\"Set breakpoint at process\"),\t\t\t\t\t\t\tbpp_command},\n\t//{WSTR(\"softice\"),\tWSTR(\"Active SoftIce\"),\t\t\t\t\t\t\t\t\t\tactivesoftice_command},\n\t//{WSTR(\"ikey\"),\t\tWSTR(\"keyboard input to softice\"),\t\t\t\t\t\t\tikey_command},\n\t//{WSTR(\"pagein\"),\tWSTR(\"Load a page into physical memory\"),\t\t\t\t\tpagein_command},\n\t//{WSTR(\"beep\"),\t\tWSTR(\"Beep\"),\t\t\t\t\t\t\t\t\t\t\t\tbeep_command},\n\t//{WSTR(\"sysertest\"),\tWSTR(\"sysertest\"),\t\t\t\t\t\t\t\t\t\t\tsysertest},\n\t{WSTR(\"hwnd\"),\t\tWSTR(\"Display window handle information\"),\t\t\t\t\thwnd_command,cmd_hwnd_usage},\n\t//{WSTR(\"test111\"),\t\tWSTR(\"test write memory command\"),\t\t\t\t\t\t\ttest_command},\n\t//{WSTR(\"testr\"),\t\tWSTR(\"test read memory command\"),\t\t\t\t\t\t\ttest_command},\n\t{WSTR(\"drm\"),\t\tWSTR(\"Set Debug Register Access BreakPoint\"),\t\t\t\tDebugRegisterMonitor_command},\n\t{WSTR(\"syserheapinfo\"),\tWSTR(\"Display syser heap information\"),\t\t\t\t\tsyserheapinfo_command},\n\t{WSTR(\"shutdown\"),\tWSTR(\"shutdown PC\"),\t\t\t\t\t\t\t\t\t\tacpi_shutdown_command},\n\t{WSTR(\"exitproc\"),\tWSTR(\"Terminate Current Process\"),\t\t\t\t\t\t\t\tTerminateProcess_command},\n\t{WSTR(\"bmsg\"),\tWSTR(\"Breakpoint on Window message\"),\t\t\t\t\t\t\t\tbmsg_command, cmd_bmsg_usage},\n\t\n\t{WSTR(\"do\"),\tWSTR(\"Display data auto add offset value to start address\"),\t\t\t\t\t\t\t\t\t\td_softice_command},\n\t{WSTR(\"uo\"),\tWSTR(\"Unassemble instructions auto add offset value to start address\"),\t\t\t\t\t\t\t\tu_softice_command},\n\t{WSTR(\"so\"),\tWSTR(\"Set 'do','uo' command offset value\"),\t\t\t\t\t\t\t\tset_softice_baseaddress_command},\n\t{WSTR(\"handle\"),\tWSTR(\"Displays information about a handle or handles that one or all processes\"),\t\t\t\t\t\t\t\thandle_command,cmd_handle_usage},\n\t{WSTR(\"dt\"),\tWSTR(\"Displays information about a handle or handles that one or all processes\"),\t\t\t\t\t\t\t\tdt_command,cmd_handle_usage},\n\t//{WSTR(\"bpr\"),\tWSTR(\"Set breakpoint at the range of memory(only support memory address < 2G)\"),\t\t\t\t\t\t\t\tbpr_command,cmd_bpr_usage},\n\t{WSTR(\"lastbranch\"),\tWSTR(\"Display last branch MSR register information\"),\t\t\t\t\t\t\t\tlastbranch_command},\t\n\t\n\t///////////////////////////////////////////////////////\n\t{NULL,NULL,NULL}\n};\n\nint beep_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\t\n\tDWORD Counter=10 ,frequency=0;\n\tif(argc>1)\n\t\tif(CALCEXP(argv[1],&Counter)==FALSE)\n\t\t\tCounter = 10;\n\tif(argc>2)\n\t\tif(CALCEXP(argv[2],&frequency)==FALSE)\n\t\t\tfrequency = 0;\n\tBeep(Counter,frequency);\n\treturn 0;\n}\n\nint wf1_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwCR0;\n\tBYTE FpuReg[108];\n\tWORD wFpuState,wFpuControl,wFpuTagWord;\n\tDWORD* pPointer,dwFpuTop,dwType;\n// \t__asm mov eax,cr0\n// \t__asm mov dwCR0,eax\n\n\tdwCR0 = SyserGetCR0Reg();\n\n\tif((dwCR0 & 4) || (dwCR0 & 0x10) == 0)\n\t\treturn 1;\n// \t__asm clts\n// \t__asm fnstsw word ptr [wFpuState]\n// \t__asm fnstcw word ptr [wFpuControl]\n\n\tSyserCltr();\n\tSyserFnstsw(&wFpuState);\n\tSyserFnstcw(&wFpuControl);\n\n\tmemset(FpuReg,0,sizeof(FpuReg));\n\tSyserFnsave(FpuReg);\n\tSyserFrstor(FpuReg);\n\n// \t__asm fnsave BYTE PTR [FpuReg]\n// \t__asm frstor BYTE PTR [FpuReg]\n\n\twFpuTagWord = *(WORD *)(8+FpuReg);\n\tdwFpuTop = (wFpuState >> 11) & 7;\n\tOUTPUT(WSTR(\"FPU State = %04x FPU Control = %04x FPU Tag Word = %04x Top Index = %d\\n\"),wFpuState,wFpuControl,wFpuTagWord,dwFpuTop);\n\tswitch(wFpuControl & 0x30) {\n\tcase 0:\n\t\tOUTPUT(WSTR(\"24 Bit Precision\\n\"));\n\t\tbreak;\n\tcase 0x10:\n\t\tOUTPUT(WSTR(\"Reserved\\n\"));\n\t\tbreak;\n\tcase 0x20:\n\t\tOUTPUT(WSTR(\"53 Bit Precision\\n\"));\n\t\tbreak;\n\tcase 0x30:\n\t\tOUTPUT(WSTR(\"64 Bit Precision\\n\"));\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\tfor(int i = 0,j=dwFpuTop; i < 8; i++,j++)\n\t{\n\t\tj = j % 8;\n\t\tdwType = (wFpuTagWord >> (j * 2))&3;\n\t\tpPointer = (DWORD *)(28+i*10+FpuReg);\n\t\tOUTPUT(WSTR(\"ST(%d) = %08x %08x Type = %d\\n\"),i,pPointer[1],pPointer[0],dwType);\n\t}\n\treturn 0;\n}\n\nint ikey_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tbKeytoSoftice ^= 1;\n\treturn 0;\n}\n\nint peekb_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD PhysicalAddress;\n\tDWORD* pPageTableItem,*dwPointer;\n\tWORD * wPointer;\n\tBYTE * bPointer;\n\tif(argc != 2|| CALCEXP(argv[1],&PhysicalAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(OwnerPageTabItemAddress == 0 && (dwPhysical_0_LinesAddress==0 || dwPhysical_0_LinesAddress== 0xffffffff))\n\t{\t\n\t\treturn 1;\n\t}\n\tpPageTableItem =*(DWORD **)&OwnerPageTabItemAddress;\n\tpPageTableItem[0] = ((PhysicalAddress & 0xfffff000) | 7);\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tmov eax,cr3 \n// \t\tmov cr3,eax\n// \t\tpop eax \n// \t}\n\n\tSyserFlushProcessInsCache();\n\n\tswitch(argv[0][4])\n\t{\n\tcase 0:\n\tcase 'b':\n\tcase 'B':\n\t\tbPointer = (BYTE*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\tOUTPUT(WSTR(\"%02x\\n\"),bPointer[0]);\n\t\tbreak;\n\tcase 'w':\n\tcase 'W':\n\t\twPointer = (WORD*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\tOUTPUT(WSTR(\"%04x\\n\"),wPointer[0]);\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tdwPointer = (DWORD*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\tOUTPUT(WSTR(\"%08x\\n\"),dwPointer[0]);\n\t\tbreak;\n\t}\n\treturn 0;\n}\n\nint pokeb_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD PhysicalAddress,dwValue;\n\tDWORD* pPageTableItem,*dwPointer;\n\n\tWORD * wPointer;\n\tBYTE * bPointer;\n\tif(argc != 3|| CALCEXP(argv[1],&PhysicalAddress)==FALSE || CALCEXP(argv[2],&dwValue)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(OwnerPageTabItemAddress == 0 && (dwPhysical_0_LinesAddress==0 || dwPhysical_0_LinesAddress== 0xffffffff))\n\t{\n\t\treturn 1;\n\t}\n\tpPageTableItem =*(DWORD **)&OwnerPageTabItemAddress;\n\tpPageTableItem[0] = ((PhysicalAddress & 0xfffff000) | 7);\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tmov eax,cr3\n// \t\tmov cr3,eax\n// \t\tpop eax\n// \t}\n\n\tSyserFlushProcessInsCache();\n\n\tswitch(argv[0][4])\n\t{\n\tcase 0:\n\tcase 'b':\n\tcase 'B':\n\t\tbPointer = (BYTE*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\tbPointer[0]=(BYTE)dwValue;\n\t\tOUTPUT(WSTR(\"%02x\\n\"),bPointer[0]);\n\t\tbreak;\n\tcase 'w':\n\tcase 'W':\n\t\twPointer = (WORD*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\twPointer[0]=(WORD)dwValue;\n\t\tOUTPUT(WSTR(\"%04x\\n\"),wPointer[0]);\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tdwPointer = (DWORD*)(dwPhysical_0_LinesAddress|(PhysicalAddress&0xfff));\n\t\tdwPointer[0]=dwValue;\n\t\tOUTPUT(WSTR(\"%08x\\n\"),dwPointer[0]);\n\t\tbreak;\n\t}\t\t\n\treturn 0;\n}\n\nint bpint_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD dwInterruptNumber;\n\tDWORD dwSegBase;\n\tWISP_CHAR CommandString[32];\n\t\n\tif(argc != 2|| CALCEXP(argv[1],&dwInterruptNumber)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(dwInterruptNumber>0xff)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(gOldInterruptProcAddress[dwInterruptNumber])//Ǵж\n\t{\n\t\tTSPrintf(CommandString,WSTR(\"bpx %08x\"),gOldInterruptProcAddress[dwInterruptNumber]);\n\t\tRUNCMD(CommandString);\n\t}else\n\t{\t\t\n\t\tX86_GATE_DECR* pGateDecr =(X86_GATE_DECR*) SyserGetIDTBase();\n\t\tswitch(pGateDecr[dwInterruptNumber].Type)\n\t\t{\n\t\tcase SYS_SEG_GATE_DECR_TYPE_32CALL_GATE:\n\t\tcase SYS_SEG_GATE_DECR_TYPE_32INT_GATE:\n\t\tcase SYS_SEG_GATE_DECR_TYPE_32TRAP_GATE:\n\t\t\tdwSegBase=GetSegmentBaseAddress(pGateDecr[dwInterruptNumber].Selector); \n\t\t\tTSPrintf(CommandString,WSTR(\"bpx %08x\"),dwSegBase+MAKE_DWORD(pGateDecr[dwInterruptNumber].OffsetHigh,pGateDecr[dwInterruptNumber].OffsetLow));\n\t\t\tRUNCMD(CommandString);\n\t\t\tbreak;\n\t\tcase SYS_SEG_GATE_DECR_TYPE_16TRAP_GATE:\n\t\tcase SYS_SEG_GATE_DECR_TYPE_16INT_GATE:\n\t\tcase SYS_SEG_GATE_DECR_TYPE_16CALL_GATE:\n\t\t\tbreak;\n\t\tcase SYS_SEG_GATE_DECR_TYPE_TASK_GATE:\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t}\t\n\treturn 0;\n}\nint ntcall2_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\t/*\n\tULPOS\t\tm_W32ServiceTableAddress;\n\tULPOS*\t\tm_W32ServiceTable;\n\tULONG\t\tm_Win32kImageBase;\n\tBYTE*\t\tm_W32ServiceArgv;\n\tDWORD\t\tm_W32ServiceNumbers;\n\t*/\n\tTNtcallNameIDMap::IT it;\n\tWCHAR NullStr[256];\n\n\tOUTPUT(WSTR(\"KeServiceDescriptorTableShadow line address %<f>%08x\\n\"),gpSyser->m_SysInfo.m_W32ServiceTableAddress);\n\t\n\tif(gpSyser->m_SysInfo.m_W32ServiceNumbers&&gpSyser->m_SysInfo.m_W32ServiceArgv&&gpSyser->m_SysInfo.m_W32ServiceTable)\n\t{\n\t\tfor(DWORD i=0;i<gpSyser->m_SysInfo.m_W32ServiceNumbers;i++)\n\t\t{\n\t\t\tNullStr[0]=0;\n\t\t\tit = gpSyser->m_SysInfo.m_Win32kNtcallMap.Find(i|0x1000);\n\t\t\tif(it!=gpSyser->m_SysInfo.m_Win32kNtcallMap.End())\n\t\t\t{\n\t\t\t\tTStrCpy(NullStr,(*it).m_pData);\n\t\t\t}\n\t\t\tOUTPUT(WSTR(\"%04X 0008:%08X %2d %s\\n\"),i|0x1000,gpSyser->m_SysInfo.m_W32ServiceTable[i],gpSyser->m_SysInfo.m_W32ServiceArgv[i],&NullStr[0]);\n\t\t}\n\t}\n\treturn 0;\n}\n\nint ntcall_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tCHAR szBuffer[256];\n\tWCHAR SymbolName[256],SymbolName2[256],szTitle[MAX_FN_LEN];;\n\tDWORD i,j,*ServiceTable,dwAddress;\n\tBYTE *ArgTable,ArgCount;\n\tPSERVICETABLE CurTable;\n\tCDbgModule*pDbgModule=NULL;\n\tbool bOrgSym=false;\n\tDWORD OrgAddress;\n\tbool bSame;\n\tTNtcallMap::IT BIter,EIter;\n\tDWORD dwCurrentIndex;\n\tbool bHaveId=false;\n\tDWORD dwMin,dwMax;\n\t\n\t//CALCEXP(argv[1],&dwInterruptNumber)==FALSE\n\tfor(i = 0;gpSyser->m_SysInfo.m_gNtoskrnlName[i];i++)\n\t{\n\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(gpSyser->m_SysInfo.m_gNtoskrnlName[i]);\n\t\tif(pDbgModule)\n\t\t\tbreak;\n\t}\n\tif(ReadDword(&KeServiceDescriptorTable->LowCall,&i)==false)\n\t\treturn 1;\n\tif(ReadDword(&KeServiceDescriptorTable->HiCall,&j)==false)\n\t\treturn 1;\n\tif(ReadDword(&KeServiceDescriptorTable->ServiceTable,(DWORD*)&ServiceTable)==false)\n\t\treturn 1;\n\tif(ReadDword(&KeServiceDescriptorTable->ArgTable,(DWORD*)&ArgTable)==false)\n\t\treturn 1;\n\tdwMin=i,dwMax=j;\n\tOUTPUT(WSTR(\"KeServiceDescriptorTable line address %<f>%08x\\n\"),KeServiceDescriptorTable);\n\tif(argc>=2)\n\t{\n\t\tbHaveId=true;\n\t\ti=1;\n\t\tj=argc;\n\t}\n\tfor(;i<j;i++)\n\t{\n\t\tif(bHaveId)\n\t\t{\n\t\t\tif(CALCEXP(argv[i],&dwCurrentIndex)==FALSE)\n\t\t\t\tcontinue;\n\t\t\tif(dwCurrentIndex>=dwMax)\n\t\t\t\tcontinue;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdwCurrentIndex=i;\n\t\t}\n\t\tif(ReadDword(&ServiceTable[dwCurrentIndex],&dwAddress)==false)\n\t\t\tcontinue;\n\t\tif(ReadByte(&ArgTable[dwCurrentIndex],&ArgCount)==false)\n\t\t\tcontinue;\t\t\n\t\tSymbolName[0]=0;\n\t\tSymbolName2[0]=0;\t\t\n\t\tBIter=pSyser->m_SysInfo.m_NtcallMap.Begin();\n\t\tEIter=pSyser->m_SysInfo.m_NtcallMap.End();\n\t\tbOrgSym=false;\n\t\tfor(;BIter!=EIter;BIter++)\n\t\t{\n\t\t\tif(dwCurrentIndex == (DWORD)*BIter)\n\t\t\t{\n\t\t\t\tif(bOrgSym)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(SymbolName2,(char*)BIter.Key());\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(SymbolName,(char*)BIter.Key());\n\t\t\t\t\tbOrgSym=true;\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\t\tbSame = true;\n\t\tOrgAddress=0;\n\t\tif(gpSyser->m_SysInfo.m_OrgWindowsServiceTable)\n\t\t{\n\t\t\tif(dwCurrentIndex < (gpSyser->m_SysInfo.m_HiCount-gpSyser->m_SysInfo.m_LoCount))\n\t\t\t\tif(dwAddress != gpSyser->m_SysInfo.m_OrgWindowsServiceTable[dwCurrentIndex])\n\t\t\t\t{\n\t\t\t\t\tOrgAddress = gpSyser->m_SysInfo.m_OrgWindowsServiceTable[dwCurrentIndex];\n\t\t\t\t\tbSame=false;\n\t\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(pDbgModule)\n\t\t\t{\n\t\t\t\tif(dwAddress <= pDbgModule->m_ModuleBase || dwAddress > (pDbgModule->m_ModuleBase+pDbgModule->m_ModuleSize))\n\t\t\t\t\tbSame=false;\n\t\t\t}\n\t\t}\n\t\tszTitle[0]=0;\n\t\tif(bSame)\n\t\t\tOUTPUT(WSTR(\"%04X 0008:%08X %2d \"),dwCurrentIndex,dwAddress,ArgCount>>2);\n\t\telse\n\t\t{\n\t\t\tCDbgModuleMap::IT Iter = pSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Find(dwAddress);\n\t\t\tif(Iter.IsExist()==false)\n\t\t\t\tIter = pSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Find(dwAddress);\n\t\t\tif(Iter.IsExist())\n\t\t\t{\n\t\t\t\tCDbgModule* pModule;\n\t\t\t\tpModule = &(*Iter);\n\t\t\t\tAnsiToUnicode(pModule->m_ModuleTitle,szTitle,MAX_FN_LEN);\n\t\t\t}\n\t\t\tif(OrgAddress)\n\t\t\t\tOUTPUT(WSTR(\"%04X %<f>0008:%08X (0008:%08x)\"),dwCurrentIndex,dwAddress,OrgAddress);\n\t\t\telse \n\t\t\t\tOUTPUT(WSTR(\"%04X %<f>0008:%08X\"),dwCurrentIndex,dwAddress);\n\t\t\tOUTPUT(WSTR(\" %2d \"),ArgCount>>2);\n\t\t}\n\t\tif(bOrgSym)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%s \"),SymbolName);\n\t\t\tif(SymbolName2[0]!=0)\n\t\t\t\tOUTPUT(WSTR(\"%<b>(%s)\"),SymbolName2);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(SymbolName2[0]!=0)\n\t\t\t\tOUTPUT(WSTR(\"%s\"),SymbolName2);\n\t\t}\n\t\tOUTPUT(WSTR(\" %<f>%s\"),szTitle);\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t}\n\t\n\treturn 0;\n}\n\n\n\nint irq_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD dwIndex = 0;\n\tDWORD dwCounter = 0xff;\n\tDWORD dwIRQVector;\n\tDWORD dwHardInterruptNum;\n\tDWORD i;\n\tDWORD dwInterruptInfoLow,dwInterruptInfoHigh;\n\tWCHAR *statevalue[]=\n\t{\n\t\tWSTR(\"Masked\"),\n\t\tWSTR(\"Unmasked\"),\n\t};\n\tWCHAR *state;\n\tbool bOrg=false;\n\tWCHAR *DeliveryMode[]=\n\t{\n\t\tWSTR(\"Fixed   \"),\n\t\tWSTR(\"Low. Pri\"),\n\t\tWSTR(\"SMI     \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"NMI     \"),\n\t\tWSTR(\"INIT    \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"ExtINT  \"),\n\t};\n\tWCHAR *format=WSTR(\"%02x    %02x      %s  %s    %s     %s  %d\\n\");\n\tfor(i =1;i < (DWORD)argc;i++)\n\t{\n\t\tif(TStrICmp(argv[i],\"/o\")==0 || TStrICmp(argv[i],\"-o\")==0)\n\t\t{\n\t\t\tbOrg=true;\n\t\t\tfor(int j = i;j<argc-1;j++)\n\t\t\t{\n\t\t\t\targv[j]=argv[j+1];\n\t\t\t\targv[j+1]=NULL;\n\t\t\t}\n\t\t\targc--;\n\t\t}\n\t}\n\tif(argc == 2)\n\t{\n\t\tif(CALCEXP(argv[1],&dwIndex)==FALSE)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tdwCounter = 1;\n\t}\n\tif(gbIsUseAPIC)\n\t{\n\t\tdwHardInterruptNum = GetIOAPICInterruptNum();\n\t\tif(dwHardInterruptNum <= dwIndex)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Bad inti value\\n\"));\n\t\t\treturn 1;\n\t\t}\n\t\tOUTPUT(WSTR(\"Inti  Vector  Delivery  Status     Trigger   Dest Mode Destination\\n\"));\t\t\n\t\tfor(i = 0; i < dwCounter;i++,dwIndex++)\n\t\t{\n\t\t\tif(dwIndex >= dwHardInterruptNum)\n\t\t\t\tbreak;\t\t\n\t\t\tif(bOrg)\n\t\t\t\tdwInterruptInfoLow = IOAPICInterruptVectorTab[i].dwVectorLow;\n\t\t\telse\n\t\t\t\tdwInterruptInfoLow = GetIOAPICData(0x10 + dwIndex * 2);\n\t\t\tif(dwInterruptInfoLow & 0x10000)\n\t\t\t\tcontinue;\n\t\t\tif(bOrg)\n\t\t\t\tdwInterruptInfoHigh = IOAPICInterruptVectorTab[i].dwVectorHigh;\n\t\t\telse\n\t\t\t\tdwInterruptInfoHigh = GetIOAPICData(0x11 + dwIndex * 2);\n\t\t\tOUTPUT(format,\n\t\t\t\t\tdwIndex,\n\t\t\t\t\tdwInterruptInfoLow & 0xff,\n\t\t\t\t\tDeliveryMode[((dwInterruptInfoLow>>8)&7)],\n\t\t\t\t\t(dwInterruptInfoLow & 0x1000)?WSTR(\"Pending\"):WSTR(\"Idle   \"),\n\t\t\t\t\t(dwInterruptInfoLow & 0x8000)?WSTR(\"Level\"):WSTR(\"Edge \"),\n\t\t\t\t\t(dwInterruptInfoLow & 0x800)?WSTR(\"Logical \"):WSTR(\"Physical\"),\n\t\t\t\t\tdwInterruptInfoHigh >> 24);\n\t\t}\n\t\tif(i != 0)\n\t\t{\n\t\tdwInterruptInfoLow = GetIOAPICData(0);\n\t\tdwInterruptInfoHigh = GetIOAPICData(1);\n\t\tOUTPUT(WSTR(\"I/O unit id register: %08X\\n\"),dwInterruptInfoLow);\n\t\tOUTPUT(WSTR(\"I/O unit version register: %08x\\n\"),dwInterruptInfoHigh);\n\t}\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"IRQ   Vector  Status\\n\"));\n\t\tfor(i = 0;i < dwCounter; i++,dwIndex++)\n\t\t{\n\t\t\tdwIRQVector = GetHardwareInterruptVectorNum(dwIndex);\n\t\t\tif(!dwIRQVector)\n\t\t\t\tbreak;\n\t\t\tif(dwIndex < 8)\n\t\t\t\tif((gdwPIC8259Shield_1 >> dwIndex) & 1)\n\t\t\t\t\tstate =statevalue[0];\n\t\t\t\telse\n\t\t\t\t\tstate =statevalue[1];\n\t\t\telse\n\t\t\t\tif((gdwPIC8259Shield_2 >> (dwIndex - 8)) & 1)\n\t\t\t\t\tstate =statevalue[0];\n\t\t\t\telse\n\t\t\t\t\tstate =statevalue[1];\n\t\t\tOUTPUT(WSTR(\"%02X    %02x      %s\\n\"),dwIndex,dwIRQVector,state);\n\t\t}\n\t\tif(i == 0)\n\t\t\tOUTPUT(WSTR(\"Bad IRQ parameter\\n\"));\n\t}\n\treturn 0;\n}\n\nint tss_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tVADDR32 dwGDTBase = 0;\n\tDWORD dwSelector,dwGDTSize = 0;\n\tDWORD dwTSSBase = 0,dwTSSSize = 0;\n\tTASK32SEGMENT *pTask32Segment;\n\tTASK16SEGMENT *pTask16Segment;\n\tDWORD dwAttributes,i,j;\n\tif(argc == 2)\n\t{\n\t\tif(CALCEXP(argv[1],&dwSelector)==FALSE)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tdwTSSBase =GetTSSBase(&dwTSSSize,dwSelector);\t\t\n\t}\n\tif(dwTSSSize == 0)\n\t{\n\t\tdwSelector = SyserGetTSSSelector();\n\t\tdwTSSBase =GetTSSBase(&dwTSSSize);\n\t}\t\n// \t__asm\n// \t{\n// \t\tlar eax,dwSelector\n// \t\tmov dwAttributes,eax\n// \t}\t\n\tdwAttributes = SyserLar(dwSelector);\n\n\tdwAttributes &= 0x9f00;\n\tdwTSSSize++;\n\tif(dwAttributes == 0x8900 || dwAttributes == 0x8b00)\n\t{\n\t\tpTask32Segment = *(TASK32SEGMENT **)&dwTSSBase;\n\t\tOUTPUT(WSTR(\"TR=%04X  BASE=%08X  LIMIT=%X\\n\"),dwSelector,dwTSSBase,dwTSSSize-1);\n\t\tOUTPUT(WSTR(\"LDT=%04X  GS=%04X  FS=%04X  DS=%04X  SS=%04x  CS=%04X  ES=%04X  CR3=%08X\\n\"),pTask32Segment->LDT,pTask32Segment->GS,pTask32Segment->FS,pTask32Segment->DS,pTask32Segment->SS,pTask32Segment->CS,pTask32Segment->ES,pTask32Segment->CR3);\n\t\tOUTPUT(WSTR(\"EAX=%08X  EBX=%08X  ECX=%08X  EDX=%08X  EIP=%08X\\n\"),pTask32Segment->eax,pTask32Segment->ebp,pTask32Segment->ecx,pTask32Segment->edi,pTask32Segment->eip);\n\t\tOUTPUT(WSTR(\"ESI=%08X  EDI=%08X  EBP=%08X  ESP=%08X  EFL=%08X\\n\"),pTask32Segment->esi,pTask32Segment->edi,pTask32Segment->ebp,pTask32Segment->esp,pTask32Segment->efl);\n\t\tOUTPUT(WSTR(\"SS0=%04X:%08X  SS1=%04X:%08X  SS2=%04X:%08X\\n\"),pTask32Segment->SS0,pTask32Segment->ESP0,pTask32Segment->SS1,pTask32Segment->ESP1,pTask32Segment->SS2,pTask32Segment->ESP2);\n\t\tif(pTask32Segment->io_map_base>=dwTSSSize)\n\t\t\tOUTPUT(WSTR(\"I/O Map Base=%04x  I/O Map Size=0\\n\"),pTask32Segment->io_map_base);\n\t\telse\n\t\t\tOUTPUT(WSTR(\"I/O Map Base=%04x  I/O Map Size=%x\\n\"),pTask32Segment->io_map_base,dwTSSSize-pTask32Segment->io_map_base);\n\t\tif(dwTSSSize >= 0x68+0x20)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Interrupt redirection bit map. Base=0x%08x Size=%d\\n\"),dwTSSBase+0x68,0x20);\n\t\t\tOUTPUT(WSTR(\"                %<B>  0 1 2 3 4 5 6 7 - 8 9 A B C D E F\\n\"));\n\t\t\tBYTE* pIrbm=(BYTE*)(dwTSSBase+0x68);\n\t\t\t\n\t\t\t\n\t\t\tBYTE MaskValue;\n\t\t\tBYTE Value;\n\t\t\t\n\t\t\tfor(j = 0,i=0,MaskValue=1; j < 16;j++)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"0x%08x %02x%02x %<B>%X \"),&pIrbm[j*2],pIrbm[j*2],pIrbm[j*2+1],j);\n\t\t\t\tValue=pIrbm[j*2];\n\t\t\t\tfor(i = 0,MaskValue=1;i< 8;i++,MaskValue<<=1)\n\t\t\t\t{\t\t\t\t\n\t\t\t\t\tif(Value&MaskValue)\n\t\t\t\t\t\tOUTPUT(WSTR(\"1 \"));\n\t\t\t\t\telse\n\t\t\t\t\t\tOUTPUT(WSTR(\"0 \"));\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"- \"));\n\t\t\t\tValue=pIrbm[j*2+1];\n\t\t\t\tfor(i = 0,MaskValue=1;i< 8;i++,MaskValue<<=1)\n\t\t\t\t{\t\t\t\t\n\t\t\t\t\tif(Value&MaskValue)\n\t\t\t\t\t\tOUTPUT(WSTR(\"1 \"));\n\t\t\t\t\telse\n\t\t\t\t\t\tOUTPUT(WSTR(\"0 \"));\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%<B>%X\\n\"),j);\n\t\t\t}\n\t\t\tOUTPUT(WSTR(\"                %<B>  0 1 2 3 4 5 6 7 - 8 9 A B C D E F\\n\"));\n\t\t}\n\t}\n\tif(dwAttributes == 0x8100 || dwAttributes == 0x8300)\n\t{\n\t\tpTask16Segment = *(TASK16SEGMENT **)&dwTSSBase;\n\t\tOUTPUT(WSTR(\"TR=%04X  BASE=%08X  LIMIT=%X\\n\"),dwSelector,dwTSSBase,dwTSSSize-1);\n\t\tOUTPUT(WSTR(\"LDT=%04X  DS=%04X  SS=%04x  CS=%04X  ES=%04X\\n\"),pTask16Segment->LDT,pTask16Segment->DS,pTask16Segment->SS,pTask16Segment->CS,pTask16Segment->ES);\n\t\tOUTPUT(WSTR(\"AX=%04X   BX=%04X  CX=%04X  DX=%04X  IP=%04X\\n\"),pTask16Segment->ax,pTask16Segment->bp,pTask16Segment->cx,pTask16Segment->di,pTask16Segment->ip);\n\t\tOUTPUT(WSTR(\"SI=%04X   DI=%04X  BP=%04X  SP=%04X  FL=%04X\\n\"),pTask16Segment->si,pTask16Segment->di,pTask16Segment->bp,pTask16Segment->sp,pTask16Segment->fl);\n\t\tOUTPUT(WSTR(\"SS0=%04X:%04X  SS1=%04X:%04X  SS2=%04X:%04X\\n\"),pTask16Segment->SS0,pTask16Segment->SP0,pTask16Segment->SS1,pTask16Segment->SP1,pTask16Segment->SS2,pTask16Segment->SP2);\n\t}\n\treturn 0;\n}\n\nint ldt_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser1)\n{\n\treturn gdt_command(argc,argv,szCommandLine,pSyser1);\n}\n\nint idt_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tCDbgModule*pDbgModule;\n\tDWORD dwSelector,dwIDTSize,dwOffset,dwTmpValue,*ptr;\n\tVADDR32 dwIDTBase;\n\tbool bSame;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tDWORD i = 0,j;\n\tWCHAR *Format=WSTR(\"%04x  %s  %04x:%08x                DPL=%d %s\");\n\tX86_GATE_DECR *pGateDecr;\n\tWCHAR *DescType[16]={\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS16   \"),\n\t\tWSTR(\"LDT     \"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG16 \"),\n\t\tWSTR(\"TaskG   \"),\n\t\tWSTR(\"IntG16  \"),\n\t\tWSTR(\"TrapG16 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG32 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"IntG32  \"),\n\t\tWSTR(\"TrapG32 \"),\n\t};\n\n\tdwIDTBase = SyserGetIDTBase(&dwIDTSize);\n\tj = (dwIDTSize + 1) / sizeof(X86_GATE_DECR);\n\tif(argc >= 2)\n\t{\n\t\tif(CALCEXP(argv[1],&dwSelector)==FALSE)\n\t\t{\t\t\t\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tif(dwSelector > 0xff)\n\t\t{\n\t\t\tdwIDTBase=dwSelector;\t\t\t\n\t\t\tif(ReadDword(*(void**)&dwIDTBase,&dwTmpValue)==false)\n\t\t\t{\t\t\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),*(void**)&dwIDTBase);\n\t\t\t\treturn 1;\n\t\t\t}\t\t\t\n\t\t\targc =1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\targc = 1;\n\t\t\ti = dwSelector;\n\t\t\tj = i+1;\n\t\t}\n\t}\n\tpGateDecr = *(X86_GATE_DECR**)&dwIDTBase;\n\tptr=(DWORD*)pGateDecr;\n\tif(argc == 1)\n\t{\n\t\tOUTPUT(WSTR(\"IDTBase=%08x  Limit=%x\\n\"),dwIDTBase,dwIDTSize);\n\t\tOUTPUT(WSTR(\"Int   Type      Sel : Offset                 Attributes    Module\\n\"));\n\t\tfor(; i < j; i++)\n\t\t{\t\t\n\t\t\tbSame=true;\n\t\t\tszBuffer[0]=0;\n\t\t\tif(ReadDword((void*)&ptr[i*2],&dwTmpValue)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),(void*)&ptr[i*2]);\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif(ReadDword((void*)&ptr[i*2+1],&dwTmpValue)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),(void*)&ptr[i*2+1]);\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tdwSelector = pGateDecr[i].Selector;\n\t\t\tdwOffset = pGateDecr[i].OffsetLow | (pGateDecr[i].OffsetHigh << 16);\n\t\t\tif(gOldInterruptProcAddress[i])\n\t\t\t{\n\t\t\t\tDWORD SelfStart = *(DWORD*)&pSyser->m_DriverObject->DriverStart;\n\t\t\t\tif(dwOffset>SelfStart&&dwOffset<(SelfStart+pSyser->m_DriverObject->DriverSize))\n\t\t\t\t\tdwOffset=gOldInterruptProcAddress[i];\n\t\t\t}\n\t\t\tif(gpSyser->m_SysInfo.m_OrgWindowIDT)\n\t\t\t{\n\t\t\t\tif(gpSyser->m_SysInfo.m_OrgWindowIDT[i].EntryPoint!=dwOffset)\n\t\t\t\t{\n\t\t\t\t\tbSame=false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(bSame)\n\t\t\t{\n\t\t\t\tOUTPUT(Format,i,DescType[pGateDecr[i].Type],dwSelector,dwOffset,pGateDecr[i].DPL,pGateDecr[i].P ? WSTR(\"P       \"):WSTR(\"NP      \"));\n\t\t\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(dwOffset);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(pDbgModule->m_ModuleTitle,szBuffer,MAX_FN_LEN);\n\t\t\t\t\tOUTPUT(WSTR(\"%s\"),szBuffer);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tOUTPUT(WSTR(\"<Unknown Module>\"));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"%04x  %s  %<F>%04x:%08x\"),i,DescType[pGateDecr[i].Type],dwSelector,dwOffset);\n\t\t\t\tOUTPUT(WSTR(\"(%04x:%08x) \"),gpSyser->m_SysInfo.m_OrgWindowIDT[i].Selector,gpSyser->m_SysInfo.m_OrgWindowIDT[i].EntryPoint);\n\t\t\t\tOUTPUT(WSTR(\"DPL=%d %s\"),pGateDecr[i].DPL,pGateDecr[i].P ? WSTR(\"P       \"):WSTR(\"NP      \"));\n\t\t\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(dwOffset);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(pDbgModule->m_ModuleTitle,szBuffer,MAX_FN_LEN);\n\t\t\t\t\tOUTPUT(WSTR(\"%<F>%s\"),szBuffer);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tOUTPUT(WSTR(\"%<F><Unknown Module>\"));\n\n\t\t\t\tpDbgModule = gpSyser->m_pSysDebugger->GetModule(gpSyser->m_SysInfo.m_OrgWindowIDT[i].EntryPoint);\n\t\t\t\tif(pDbgModule)\n\t\t\t\t{\n\t\t\t\t\tAnsiToUnicode(pDbgModule->m_ModuleTitle,szBuffer,MAX_FN_LEN);\n\t\t\t\t\tOUTPUT(WSTR(\"(%s)\"),szBuffer);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tOUTPUT(WSTR(\"(<Unknown Module>)\"));\n\n\t\t\t}\n\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t}\n\t}\n\treturn 0;\n}\n\nint gdt_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD dwSelector=0,dwGDTSize,dwShowSelector;\n\tVADDR32 dwGDTBase = 0;\n\tDWORD dwSegmentBase,dwSegmentLimit,dwTmpValue,*Ptr;\n\tDWORD i = 0,j;\n\tbool\tbLDTCommand = false;\n\tX86_SEGMENT_DESCRIPTOR *pSegDesc;\n\tint nOrgArgc;\n\n\tWCHAR *Format=WSTR(\"%04x  %s  %08x  %08x  %d    %s  %s %s %s\\n\");\n\tX86_GATE_DECR *GateDecr;\n\t\n\tWCHAR *DescType[16]=\n\t{\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS16   \"),\n\t\tWSTR(\"LDT     \"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG16 \"),\n\t\tWSTR(\"TaskG   \"),\n\t\tWSTR(\"IntG16  \"),\n\t\tWSTR(\"TrapG16 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"TSS32   \"),\n\t\tWSTR(\"CallG32 \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"IntG32  \"),\n\t\tWSTR(\"TrapG32 \"),\n\t};\n\tnOrgArgc = argc;\n\tif(argc == 2)\n\t{\n\t\tif(CALCEXP(argv[1],&dwSelector)==FALSE)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tif(dwSelector <= 0xffff)\n\t\t{\n\t\t\tif(dwSelector & 4)\n\t\t\t\tbLDTCommand = true;\n\t\t}\n\t}\n\tif((TStrICmp(argv[0],WSTR(\"LDT\")) == 0) && (argc == 1))\n\t{\n\t\tbLDTCommand = true;\n\t}\n\tif(bLDTCommand)\n\t{\n\t\tdwGDTBase = GetLDTBase(&dwGDTSize);\n\t\tif(dwGDTBase == 0)\n\t\t{\t\n\t\t\tOUTPUT(WSTR(\"No LDT\\n\"));\n\t\t\treturn 1;\n\t\t}\n\t}else\n\t\tdwGDTBase = SyserGetGDTBase(&dwGDTSize);\n\tj = (dwGDTSize + 1)/sizeof(X86_SEGMENT_DESCRIPTOR);\n\n\tif(argc == 2)\n\t{\n\t\tif(dwSelector > 0xffff)\n\t\t{\n\t\t\tdwGDTBase=dwSelector;\n\t\t\tif(ReadDword((void*)dwGDTBase,&dwTmpValue)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),dwGDTBase);\n\t\t\t\treturn 1;\n\t\t\t}\t\t\t\n\t\t\targc =1;\n\t\t}else\n\t\t{\t\t\t\n\t\t\targc = 1;\n\t\t\ti = dwSelector>>3;\n\t\t\tj = i+1;\n\t\t}\n\t}\n\tif((TStrICmp(argv[0],WSTR(\"ldtlist\")) == 0) && argc==9999)\n\t{\n\t\tCALCEXP(argv[1],&dwGDTBase);\n\t\tif(ReadDword((void*)dwGDTBase,&dwTmpValue)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),dwGDTBase);\n\t\t\treturn 1;\n\t\t}\t\t\t\n\t\tCALCEXP(argv[2],&dwGDTSize);\n\t\ti = 0;\n\t\tj = (dwGDTSize + 1)/sizeof(X86_SEGMENT_DESCRIPTOR);\n\t\targc = 1;\n\t\tnOrgArgc = 1;\n\t\tbLDTCommand = true;\n\t}\n\t\n\tif(argc == 1)\n\t{\t\n\t\tif(nOrgArgc == 1)\n\t\t{\n\t\t\tif(bLDTCommand)\n\t\t\t\tOUTPUT(WSTR(\"LDTBase=%08x  Limit=%x\\n\"),dwGDTBase,dwGDTSize);\n\t\t\telse\n\t\t\t\tOUTPUT(WSTR(\"GDTBase=%08x  Limit=%x\\n\"),dwGDTBase,dwGDTSize);\n\t\t}\n\t\tOUTPUT(WSTR(\"Sel.  Type      Base      Limit     DPL  Attributes\\n\"));\n\t\tpSegDesc = *(X86_SEGMENT_DESCRIPTOR **)&dwGDTBase;\n\t\tPtr=(DWORD*)pSegDesc;\n\t\tDWORD UpperLimit=0;\n\t\tfor(; i < j; i++)\n\t\t{\n\t\t\tif(ReadDword((void*)&Ptr[i*2],&dwTmpValue)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),&Ptr[i*2]);\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif(ReadDword((void*)&Ptr[i*2+1],&dwTmpValue)==false)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Error : %<3>Read virtual address %08x\\n\"),&Ptr[i*2+1]);\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tdwSegmentBase = (pSegDesc[i].base_H1<<24) |(pSegDesc[i].base_H0 << 16)|(pSegDesc[i].base_L1 << 8)|pSegDesc[i].base_L0;\n\t\t\tdwSegmentLimit = (pSegDesc[i].limit_H << 16) | (pSegDesc[i].limit_L1<<8)|pSegDesc[i].limit_L0;\n\t\t\tif(!pSegDesc[i].P)\n\t\t\t{\n\t\t\t\tOUTPUT(Format,bLDTCommand ? (i * 8) | 4:(i*8),WSTR(\"Reserved\"),dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"NP\"),WSTR(\"  \"),WSTR(\"  \"),WSTR(\" \"));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tdwShowSelector = (i*8)|pSegDesc[i].DPL;\n\t\t\t\tif(bLDTCommand)\n\t\t\t\t\tdwShowSelector |= 4;\n\t\t\tif(pSegDesc[i].DT)//洢\n\t\t\t{\n\t\t\t\tif(pSegDesc[i].G)\n\t\t\t\t\tdwSegmentLimit = (dwSegmentLimit << 12) | 0xfff;\n\t\t\t\t\n\t\t\t\tif(pSegDesc[i].TYPE & 8)//\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(Format,dwShowSelector,pSegDesc[i].D ? WSTR(\"Code32  \"):WSTR(\"Code16  \"),dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),(pSegDesc[i].TYPE & 2) ? WSTR(\"RE\") : WSTR(\"EO\"),(pSegDesc[i].TYPE & 4) ?WSTR(\"C \"):WSTR(\"  \"),(pSegDesc[i].TYPE & 1) ? WSTR(\"A\") : WSTR(\" \"));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tif(pSegDesc[i].TYPE & 4)\n\t\t\t\t\t{\n\t\t\t\t\t\tUpperLimit=dwSegmentLimit;\n\t\t\t\t\t\tif(pSegDesc[i].D)\n\t\t\t\t\t\t\tdwSegmentLimit=0xffffffff;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tdwSegmentLimit=0x0000ffff;\t\t\t\t\t\t\n\t\t\t\t\t\tUpperLimit+=1;\n\t\t\t\t\t\tOUTPUT(WSTR(\"%04x  %s  %08x  %08x-%08x  %d    %s  %s %s %s\\n\"),dwShowSelector,pSegDesc[i].D ? WSTR(\"Data32  \"):WSTR(\"Data16  \"),dwSegmentBase,UpperLimit,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),(pSegDesc[i].TYPE & 2) ? WSTR(\"RW\") : WSTR(\"RO\"),(pSegDesc[i].TYPE & 4) ? WSTR(\"ED\"):WSTR(\"  \"),(pSegDesc[i].TYPE & 1) ? WSTR(\"A\") : WSTR(\" \"));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tOUTPUT(Format,dwShowSelector,pSegDesc[i].D ? WSTR(\"Data32  \"):WSTR(\"Data16  \"),dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),(pSegDesc[i].TYPE & 2) ? WSTR(\"RW\") : WSTR(\"RO\"),(pSegDesc[i].TYPE & 4) ? WSTR(\"ED\"):WSTR(\"  \"),(pSegDesc[i].TYPE & 1) ? WSTR(\"A\") : WSTR(\" \"));\t\t\t\t\t\t\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t//ϵͳ\n\t\t\tif(\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_AVAIL ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_LDT ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_BUSY ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_AVAIL ||\n\t\t\t\tpSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_BUSY)\n\t\t\t{\n\t\t\t\tif(pSegDesc[i].TYPE == SYS_SEG_GATE_DECR_TYPE_LDT)\n\t\t\t\t{\n\t\t\t\t\tif((nOrgArgc == 2) && (TStrICmp(argv[0],WSTR(\"LDT\")) == 0) && (dwSelector >> 3) == i)\n\t\t\t\t\t{\n\t\t\t\t\t\tWCHAR NewCommandArgc[10];\n\t\t\t\t\t\tWCHAR NewCommandArgc1[10];\n\t\t\t\t\t\tTSPrintf(NewCommandArgc,WSTR(\"%08x\"),dwSegmentBase);\n\t\t\t\t\t\tTSPrintf(NewCommandArgc1,WSTR(\"%08x\"),dwSegmentLimit);\n\t\t\t\t\t\tWCHAR* newargv[]={WSTR(\"ldtlist\"),NewCommandArgc,NewCommandArgc1,NULL};\n\t\t\t\t\t\treturn gdt_command(9999,newargv,szCommandLine,pSyser);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tOUTPUT(Format,dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),WSTR(\"  \"),WSTR(\"  \"),WSTR(\" \"));\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tOUTPUT(Format,dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"),(pSegDesc[i].TYPE & 2) ? WSTR(\"B \"):WSTR(\"  \"),WSTR(\"  \"),WSTR(\" \"));\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tGateDecr = (X86_GATE_DECR* )(&pSegDesc[i]);\n\t\t\tdwSegmentLimit = GateDecr->OffsetLow | (GateDecr->OffsetHigh << 16);\n\t\t\tdwSegmentBase = GateDecr->Selector;\n\t\t\tif(GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_TASK_GATE)\n\t\t\t{\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif((GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_32CALL_GATE) && (GateDecr->Type == SYS_SEG_GATE_DECR_TYPE_16CALL_GATE))\n\t\t\t\tOUTPUT(WSTR(\"%04x  %s  %04x:%08x       %d    %s\\n\"),dwShowSelector,DescType[pSegDesc[i].TYPE],dwSegmentBase,dwSegmentLimit,pSegDesc[i].DPL,WSTR(\"P \"));\n\t\t}\n\t\treturn 0;\n\t}\n\treturn 0;\n}\n\nint phys_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tint Count;\n\tULPOS VAddr[0x100],Address;\n\tif(argc!=2 || CALCEXP(argv[1],&Address)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : phys LinesAddress\\n\"));\n\t\treturn 1;\n\t}\n\tCount = MapToVAddr(Address,VAddr,sizeof(VAddr)/sizeof(ULPOS));\n\tfor(int n=0;n<Count;n++)\n\t{\n\t\tOUTPUT(WSTR(\"%08X\\n\"),VAddr[n]);\n\t}\n\treturn 0;\n}\n\n#define PAGE_DIRECTORY_LINES_ADDRESS\t0xc0300000\n#define\tPAGE_TABLE_LINES_ADDRESS\t\t0xc0000000\n#define PAGE_DIRECTORY_36_LINES_ADDRESS\t0xc0600000\n#define\tPAGE_TABLE_36_LINES_ADDRESS\t\t0xc0000000\nint page_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tX86_PDE *pCurrentPDEBegin;\n\tX86_PDE_4M *pCurrentPDE4M;\n\tX86_PTE *dwPageTableBegin;\n\tPX86_36_PDE pCurrent36PDEBegin;\n\tPX86_36_PDE_2M pCurrent36PDE2M;\n\tPX86_36_PTE pPageTable36Begin;\n\tX86_36_PDE PDE36Value;\n\tX86_36_PDE_2M PDE36Value2M;\n\tX86_36_PTE PTE36Value;\n\tbool bPAE=false;  //36λַչʽñΪ档\n\tint i,j;\n\tbool bNXE=false;\n\tDWORD dwPageDirectoryIndex,dwPageTableIndex;\n\tDWORD *dwPDEValue;\n\tDWORD dwVirtualAddress,dwTmpVar;;\n\tWCHAR *Format=WSTR(\"%08x    %sP %s %s %s %s %s %s    %08x - %08x\\n\");\n\tWCHAR *Format1=WSTR(\"%08x    %08x      %sP %s %s %s %s %s %s\\n\");\n\tWCHAR *FormatPAE=WSTR(\"%09I64x   %08x - %08x  %cP R%c %c %c %c %c %s %s %s %s\\n\");\n\tWCHAR *Format1PAE=WSTR(\"%08x   %09I64x  %cP R%c %c %c %c %c %s %s %s %s\\n\");\n\n\tCPUID_INFO ExInfo,TmpInfo;\n\tmemset(&TmpInfo,0,sizeof(TmpInfo));\n\tmemset(&ExInfo,0,sizeof(ExInfo));\n\tSyserGetCPUID(&TmpInfo,0x80000000);\n\tDWORD dwHiMiscFeature,dwLoMiscFeature;\n\tif(TmpInfo.dwEAX>=0x80000001)\n\t{\t\t\n\t\tSyserGetCPUID(&ExInfo,0x80000001);\n\t\tif(((ExInfo.dwEDX & 0x20000000)>>29)==1 || ((ExInfo.dwEDX & 0x100000)>>20)==1)\n\t\t{\n\t\t\tbNXE=true;\n\t\t}\n\t\t\n\t\tif(bNXE)\n\t\t{\n\t\t\tif(SyserReadMSR(0xc0000080,&dwHiMiscFeature,&dwLoMiscFeature))\n\t\t\t{\n\t\t\t\tif(((dwLoMiscFeature&0x800)>>11)==0)\n\t\t\t\t\tbNXE=false;\n\t\t\t}\n\t\t}\t\t\t\t\n\t}\n\n\tbPAE = (GetCR4Register() & CR4_PAE_BIT_MASK) ? true : false;\n\tpCurrentPDEBegin = (X86_PDE *)PAGE_DIRECTORY_LINES_ADDRESS;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Page Directory Physical %08X\\n\"),Reg.CR[3]);\t\t\n\t\tif(bPAE)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Physical        Linear Address Range  Attributes\\n\"));\n\t\t\tpCurrent36PDEBegin=(PX86_36_PDE)PAGE_DIRECTORY_36_LINES_ADDRESS;\n\t\t\tpPageTable36Begin=(PX86_36_PTE)PAGE_TABLE_36_LINES_ADDRESS;\n\t\t\tfor(i = 0; i < 2048; i++)\n\t\t\t{\n\t\t\t\tif(SafeMemCopy((BYTE*)&PDE36Value,(BYTE*)&pCurrent36PDEBegin[i],sizeof(X86_36_PDE))==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(PDE36Value.u.P==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tPDE36Value2M.PDE36Value2M = PDE36Value.PDE36Value;\n\t\t\t\tif(PDE36Value2M.u.Page2M)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(FormatPAE,\n\t\t\t\t\t\tPDE36Value2M.PDE36Value2M&(~0xfff),\t\t\t\t\t\n\t\t\t\t\t\ti*0x200000,i*0x200000+0x1FFFFF,\n\t\t\t\t\t\tPDE36Value2M.u.P?' ':'N',\n\t\t\t\t\t\tPDE36Value2M.u.RW?'W':' ',\n\t\t\t\t\t\tPDE36Value2M.u.US?'U':'S',\t\t\t\t\t\t\n\t\t\t\t\t\tPDE36Value2M.u.A?'A':' ',\n\t\t\t\t\t\tPDE36Value2M.u.D?'D':' ',\n\t\t\t\t\t\tPDE36Value2M.u.G?'G':' ',\n\t\t\t\t\t\tPDE36Value2M.u.PCD?WSTR(\"CD\"):WSTR(\"  \"),\n\t\t\t\t\t\tPDE36Value2M.u.PWT?WSTR(\"WT\"):WSTR(\"  \"),\n\t\t\t\t\t\tWSTR(\"2M\"),\n\t\t\t\t\t\t(bNXE && PDE36Value2M.u.NXE)?WSTR(\"NE\"):WSTR(\"  \")\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(FormatPAE,\n\t\t\t\t\t\tPDE36Value.PDE36Value&(~0xfff),\t\t\t\t\t\n\t\t\t\t\t\ti*0x200000,i*0x200000+0x1FFFFF,\n\t\t\t\t\t\tPDE36Value.u.P?' ':'N',\n\t\t\t\t\t\tPDE36Value.u.RW?'W':' ',\n\t\t\t\t\t\tPDE36Value.u.US?'U':'S',\t\t\t\t\t\t\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\t' ',\n\t\t\t\t\t\tPDE36Value.u.PCD?WSTR(\"CD\"):WSTR(\"  \"),\n\t\t\t\t\t\tPDE36Value.u.PWT?WSTR(\"WT\"):WSTR(\"  \"),\n\t\t\t\t\t\tWSTR(\"\"),\n\t\t\t\t\t\t(bNXE && PDE36Value.u.NXE)?WSTR(\"NE\"):WSTR(\"  \")\n\t\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Physical     Attributes         Linear Address Range\\n\"));\n\t\t\tfor(j = 0,i = 0; i < 1024; i++)\n\t\t\t{\n\t\t\t\tdwPDEValue = (DWORD *)&pCurrentPDEBegin[i];\n\t\t\t\tif(ReadDword(&pCurrentPDEBegin[i],&dwTmpVar)==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(!pCurrentPDEBegin[i].u.Present)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(pCurrentPDEBegin[i].u.Page4M)\n\t\t\t\t{\n\t\t\t\t\tpCurrentPDE4M = (X86_PDE_4M *)&pCurrentPDEBegin[i];\n\t\t\t\t\tOUTPUT(Format,\n\t\t\t\t\t\t*dwPDEValue &0xfffff000,\n\t\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDE4M->GlobePage ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDE4M->Dirty ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDE4M->Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDE4M->UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\t\t\tpCurrentPDE4M->ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\t\t\tWSTR(\"4M\"),\n\t\t\t\t\t\ti*0x400000,i*0x400000+0x3FFFFF);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(Format,\n\t\t\t\t\t\t*dwPDEValue &0xfffff000,\n\t\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDEBegin[i].u.Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\t\t\tpCurrentPDEBegin[i].u.UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\t\t\tpCurrentPDEBegin[i].u.ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\t\t\tWSTR(\"  \"),\n\t\t\t\t\t\ti*0x400000,i*0x400000+0x3fffff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t\treturn 0;\n\t}\n\tif(argc == 2 )\n\t{\t\t\n\t\tif(CALCEXP(argv[1],&dwVirtualAddress) == false)\n\t\t\treturn 1;\n\t\tif(bPAE)\n\t\t{\n\t\t\tdwPageDirectoryIndex = dwVirtualAddress;\n\t\t\tdwPageDirectoryIndex >>= 21;\n\t\t\tpCurrent36PDEBegin=(PX86_36_PDE)PAGE_DIRECTORY_36_LINES_ADDRESS;\n\t\t\tpPageTable36Begin=(PX86_36_PTE)PAGE_TABLE_36_LINES_ADDRESS;\n\t\t\tif(SafeMemCopy((BYTE*)&PDE36Value,(BYTE*)&pCurrent36PDEBegin[dwPageDirectoryIndex],sizeof(X86_36_PDE))==0)\n\t\t\t\treturn 1;\n\t\t\tif(PDE36Value.u.P==0)\n\t\t\t\treturn 1;\n\t\t\tPDE36Value2M.PDE36Value2M = PDE36Value.PDE36Value;\n\t\t\tif(PDE36Value2M.u.Page2M)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Linear     Physical    Attributes\\n\"));\n\t\t\t\tOUTPUT(Format1PAE,\n\t\t\t\t\tdwVirtualAddress,\t\t\t\t\t\n\t\t\t\t\t(PDE36Value2M.PDE36Value2M&0x0000000fffe00000) | (dwVirtualAddress&0x1fffff),\n\t\t\t\t\tPDE36Value2M.u.P?' ':'N',\n\t\t\t\t\tPDE36Value2M.u.RW?'W':' ',\n\t\t\t\t\tPDE36Value2M.u.US?'U':'S',\n\t\t\t\t\tPDE36Value2M.u.A?'A':' ',\n\t\t\t\t\tPDE36Value2M.u.D?'D':' ',\n\t\t\t\t\tPDE36Value2M.u.G?'G':' ',\n\t\t\t\t\tPDE36Value2M.u.PCD?WSTR(\"CD\"):WSTR(\"  \"),\n\t\t\t\t\tPDE36Value2M.u.PWT?WSTR(\"WT\"):WSTR(\"  \"),\n\t\t\t\t\tWSTR(\"2M\"),\n\t\t\t\t\t(bNXE && PDE36Value2M.u.NXE)?WSTR(\"NE\"):WSTR(\"  \")\n\t\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdwPageDirectoryIndex<<=9;\n\t\t\t\tdwPageTableIndex = dwVirtualAddress;\n\t\t\t\tdwPageTableIndex = dwVirtualAddress >> 12;\n\t\t\t\tdwPageTableIndex &= 0x1ff;\n\n\t\t\t\tif(SafeMemCopy((BYTE*)&PTE36Value,(BYTE*)&pPageTable36Begin[dwPageDirectoryIndex+dwPageTableIndex],sizeof(X86_36_PTE))==0)\n\t\t\t\t\treturn 1;\n\t\t\t\tif(PTE36Value.u.P==0)\n\t\t\t\t\treturn 1;\n\t\t\t\tOUTPUT(WSTR(\"Linear     Physical    Attributes\\n\"));\n\t\t\t\tOUTPUT(Format1PAE,\n\t\t\t\t\tdwVirtualAddress,\t\t\t\t\t\n\t\t\t\t\t(PTE36Value.PTE36Value&0x0000000fffff000) | (dwVirtualAddress&0xfff),\n\t\t\t\t\tPTE36Value.u.P?' ':'N',\n\t\t\t\t\tPTE36Value.u.RW?'W':' ',\n\t\t\t\t\tPTE36Value.u.US?'U':'S',\n\t\t\t\t\tPTE36Value.u.A?'A':' ',\n\t\t\t\t\tPTE36Value.u.D?'D':' ',\n\t\t\t\t\tPTE36Value.u.G?'G':' ',\n\t\t\t\t\tPTE36Value.u.PCD?WSTR(\"CD\"):WSTR(\"  \"),\n\t\t\t\t\tPTE36Value.u.PWT?WSTR(\"WT\"):WSTR(\"  \"),\n\t\t\t\t\tWSTR(\"\"),\n\t\t\t\t\t(bNXE && (PDE36Value.u.NXE || PTE36Value.u.NXE))?WSTR(\"NE\"):WSTR(\"  \")\n\t\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdwPageDirectoryIndex = dwVirtualAddress;\n\t\t\tdwPageDirectoryIndex >>= 22;\n\t\t\tif(ReadDword(&pCurrentPDEBegin[dwPageDirectoryIndex],&dwTmpVar)==false)\n\t\t\t\treturn 1;\n\t\t\tif(!pCurrentPDEBegin[dwPageDirectoryIndex].u.Present)\n\t\t\t\treturn 1;\t\t\n\t\t\tOUTPUT(WSTR(\"Linear     Physical        Attributes\\n\"));\n\t\t\tif(pCurrentPDEBegin[dwPageDirectoryIndex].u.Page4M)\n\t\t\t{\n\t\t\t\tpCurrentPDE4M = (X86_PDE_4M *)&pCurrentPDEBegin[dwPageDirectoryIndex];\n\t\t\t\tdwPDEValue = (DWORD *)&pCurrentPDEBegin[dwPageDirectoryIndex];\n\t\t\t\tOUTPUT(Format1,\n\t\t\t\t\tdwVirtualAddress,\n\t\t\t\t\t(dwTmpVar & 0xffc00000) | (dwVirtualAddress & 0x3fffff),\n\t\t\t\t\tWSTR(\" \"),\n\t\t\t\t\tpCurrentPDE4M->GlobePage ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\t\tpCurrentPDE4M->Dirty ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\t\tpCurrentPDE4M->Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\t\tpCurrentPDE4M->UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\t\tpCurrentPDE4M->ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\t\tWSTR(\"4M\\n\"));\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tdwPageDirectoryIndex <<= 12;\n\t\t\tdwPageTableBegin = (X86_PTE*)(PAGE_TABLE_LINES_ADDRESS + dwPageDirectoryIndex);\n\t\t\tdwPageTableIndex = dwVirtualAddress;\n\t\t\tdwPageTableIndex = dwVirtualAddress >> 12;\n\t\t\tdwPageTableIndex &= 0x3ff;\n\t\t\tif(ReadDword(&dwPageTableBegin[dwPageTableIndex],&dwTmpVar)==false)\n\t\t\t\treturn 1;\n\t\t\tif(!dwPageTableBegin[dwPageTableIndex].Present)\n\t\t\t\treturn 1;\t\t\t\n\t\t\tOUTPUT(Format1,\n\t\t\t\tdwVirtualAddress,\n\t\t\t\t(dwTmpVar & 0xfffff000) | (dwVirtualAddress & 0xfff),\n\t\t\t\tWSTR(\" \"),\n\t\t\t\tdwPageTableBegin[dwPageTableIndex].GlobePage ? WSTR(\"G\"):WSTR(\" \"),\n\t\t\t\tdwPageTableBegin[dwPageTableIndex].Dirty ? WSTR(\"D\"):WSTR(\" \"),\n\t\t\t\tdwPageTableBegin[dwPageTableIndex].Accessed ? WSTR(\"A\"):WSTR(\" \"),\n\t\t\t\tdwPageTableBegin[dwPageTableIndex].UserPage ? WSTR(\"U\"):WSTR(\"S\"),\n\t\t\t\tdwPageTableBegin[dwPageTableIndex].ReadWrite ? WSTR(\"RW\"):WSTR(\"R \"),\n\t\t\t\tWSTR(\"  \\n\"));\n\t\t}\t\t\n\t}\n\treturn 0;\n\n}\n\nint export_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tif(argc!=2)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : export module_name\\n\"));\n\t\treturn 0;\n\t}\n\tCDbgModule* pModule = gpSyser->m_pDebugger->GetModule(argv[1]);\n\tif(pModule==NULL)\n\t{\n\t\tpModule = gpSyser->m_pSysDebugger->GetModule(argv[1]);\n\t\tif(pModule==NULL)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Can't find this module %s\\n\"),argv[1]);\n\t\t\treturn 1;\n\t\t}\n\t}\n\tWCHAR szBuffer[256];\n\tCPEFile* pPEFile = new CPEFile;\n\tpPEFile->SetRMProc(CImageFile::StaticReadRealMemory);\n\tpPEFile->m_ImageBase = pModule->m_ModuleBase;\n\tpPEFile->m_ImageSize = pModule->m_ModuleSize;\n\tpPEFile->m_FileObjType = FILE_OBJ_TYPE_OS_MEMORY_IMAGE;\n\tif(pPEFile->Open(NULL))\n\t{\n\t\tOUTPUT(WSTR(\"Address      Function Name\"));\n\t\tfor(int n=0;n<pPEFile->m_ExportFuncCount;n++)\n\t\t{\n\t\t\tAnsiToUnicode(pPEFile->m_ExportFunc[n].FuncName,szBuffer,256);\n\t\t\tOUTPUT(WSTR(\"%08X     %s\\n\"),pPEFile->m_ExportFunc[n].Address,szBuffer);\n\t\t}\n\t\tpPEFile->Close();\n\t}\n\tdelete pPEFile;\n\treturn 0;\n}\n\nint addr_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tCDbgProcess*pDbgProcess;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tDWORD PID;\n\tif(argc==1)\n\t\treturn proc_command(argc,argv,szCommandLine,pSyser);\n\tTStrCpyLimit(szBuffer,&szCommandLine[argv[1]-argv[0]],MAX_FN_LEN);\n\tpDbgProcess=pSyser->m_SysInfo.GetProcess(szBuffer);\n\tif(pDbgProcess)\n\t{\n\t\tpSyser->MapToProcess(pDbgProcess);\n\t\tgpSyser->m_SyserUI.m_SyserDI.UpdateContext();\n\t\treturn 0;\n\t}\n\tTStrCat(szBuffer,\".exe\");\n\tpDbgProcess=pSyser->m_SysInfo.GetProcess(szBuffer);\n\tif(pDbgProcess)\n\t{\n\t\tpSyser->MapToProcess(pDbgProcess);\n\t\tgpSyser->m_SyserUI.m_SyserDI.UpdateContext();\n\t\treturn 0;\n\t}\n\tif(CALCEXP(argv[1],&PID)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : Can't find process!\\n\"));\n\t\treturn 1;\n\t}\n\tpDbgProcess=pSyser->m_SysInfo.GetProcess(PID);\n\tif(pDbgProcess)\n\t{\n\t\tpSyser->MapToProcess(pDbgProcess);\n\t\tgpSyser->m_SyserUI.m_SyserDI.UpdateContext();\n\t\treturn 0;\n\t}\n\tOUTPUT(WSTR(\"Error : Can't find process!\\n\"));\n\treturn 1;\n}\n\n\n\n\nint proc_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tif(argc==1)\n\t{\n\t\tint Count;\n\t\tCount = 0;\n\t\tOUTPUT(WSTR(\"Process ID    CR3               EPROCESS Process Name\\n\"));\n\t\tfor(CProcMap::IT Iter=pSyser->m_SysInfo.m_ProcMap.Begin();Iter!=pSyser->m_SysInfo.m_ProcMap.End();Iter++)\n\t\t{\n\t\t\tif(&(*Iter)==pSyser->m_pDebugger)\n\t\t\t\tOUTPUT(WSTR(\"%<B>PID = 0x%04X  CR3 = 0x%08X  %08X [%s]\\n\"),Iter->m_PID,Iter->m_CR3,Iter->m_PEProcess,(PWSTR)Iter->m_ProcNameW);\n\t\t\telse\n\t\t\t\tOUTPUT(WSTR(\"PID = 0x%04X  CR3 = 0x%08X  %08X %<F>[%s]\\n\"),Iter->m_PID,Iter->m_CR3,Iter->m_PEProcess,(PWSTR)Iter->m_ProcNameW);\n\t\t\tCount++;\n\t\t}\n\t\tOUTPUT(WSTR(\"%d Process(s)\\n\"),Count);\n\t\treturn 0;\n\t}\n\targc--;\n\tint i;\n\tDWORD dwValue;\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tSYSER_VALUE_TYPE ValueType;\n\tbool bOK;\n\tbool bTitle=false;\n\tWCHAR Name[20];\n\tfor(i=0;i<argc;i++)\n\t{\n\t\tif(CALCEXP(argv[i+1],&dwValue)==FALSE)\n\t\t\tcontinue;\n\t\tValueType = GetValueType(dwValue);\n\t\tif(ValueType==VALUE_TYPE_UNKNOW || ValueType==VALUE_TYPE_HWND_ID || ValueType == VALUE_TYPE_HWND_PTR)\n\t\t\tcontinue;\n\t\tbOK=false;\n\t\tswitch(ValueType)\n\t\t{\n\t\tcase VALUE_TYPE_THREAD_PTR:\n\t\t\tbOK = GetProcessByETHREAD(dwValue,&Process);\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_PROCESS_ID:\n\t\t\tbOK=GetProcessByID(dwValue,&Process);\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_PROCESS_PTR:\n\t\t\tbOK=GetProcessInfoByEPROCESS(dwValue,&Process);\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_THREAD_ID:\n\t\t\tbOK=GetProcessByThreadID(dwValue,&Process);\n\t\t\tbreak;\n\t\t}\n\t\tif(bOK==false)\n\t\t\tcontinue;\n\t\tif(bTitle==false)\n\t\t{\n\t\t\tbTitle=true;\n\t\t\tOUTPUT(WSTR(\"Process ID    CR3               EPROCESS Process Name\\n\"));\n\t\t}\n\t\tTStrCpy(Name,Process.ImageFileName);\n\t\tOUTPUT(WSTR(\"PID = 0x%04X  CR3 = 0x%08X  %08X %<F>[%s]\\n\"),Process.UniqueProcessId,Process.PDT,Process.OSProcess,Name);\n\t}\n\treturn 0;\n}\n\nint ver_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tWISP_CHAR szBuffer[256];\n\tTStrCpy(szBuffer,\"Syser version : \");\n\tTStrCat(szBuffer,VER_PRODUCTVERSION_STR);\n\tTStrCat(szBuffer,\"\\nBuild Time    : \");\n\tTStrCat(szBuffer,__DATE__);\n\tTStrCat(szBuffer,\" \");\n\tTStrCat(szBuffer,__TIME__);\n\tTStrCat(szBuffer,\"\\n\");\n\tOUTPUT(szBuffer);\n\treturn 0;\n}\n\nint set_softice_baseaddress_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\n\tif(argc!=2 || CALCEXP(argv[1],&dwAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tdwSofticeDriverBase = dwAddress;\n\tOUTPUT(WSTR(\"Offset Value = %08x\\n\"), dwSofticeDriverBase);\n\treturn 0;\n}\n\nint d_softice_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\n\tif(argc!=2 || CALCEXP(argv[1],&dwAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\t\n\tif(dwSofticeDriverBase)\n\t{\n\t\t//dwAddress -= 0xf83c7000;\n\t\tdwAddress += dwSofticeDriverBase;\n\t}\t\n\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.SetActiveAddress(dwAddress);\n\tOUTPUT(WSTR(\"Offset Value = %08x\\n\"),dwSofticeDriverBase);\n\treturn 0;\n}\n\nint u_softice_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\n\tif(argc!=2 || CALCEXP(argv[1],&dwAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(dwSofticeDriverBase)\n\t{\n\t\t//dwAddress -= 0xf83c7000;\n\t\tdwAddress += dwSofticeDriverBase;\n\t}\n\tpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.SetActiveAddress(dwAddress);\n\tOUTPUT(WSTR(\"Offset Value = %08x\\n\"),dwSofticeDriverBase);\n\treturn 0;\n}\n\nint activesoftice_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tif(dwSofticeDriverBase)\n\t{\t\t\n\t\tbGoToSoftice=true;\n\t\tpSyser->m_bSaveReg=false;\n\t\tpSyser->Exit(TRUE);\n\t\t//pSofticeActivePointer();\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"SoftICE is not active.\\n\"));\n\t}\n\treturn 0;\n}\n\nint ib_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\t\n\n\tif(argc!=2 || CALCEXP(argv[1],&dwAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\t\n\tif(dwAddress > 0xffff)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn 1;\n\t}\n\tswitch(argv[0][1]) {\n\tcase 0:\t\n\tcase 'b':\n\tcase 'B':\n\t\tif(!gbIsUseAPIC)\n\t\t{\n\t\t\tif(dwAddress == 0x21)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"%02x\\n\"),gdwPIC8259Shield_1);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif(dwAddress == 0xa1)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"%02x\\n\"),gdwPIC8259Shield_2);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t\tOUTPUT(WSTR(\"%02x\\n\"), SyserReadPortByte(dwAddress));\n\t\tbreak;\n\tcase 'w':\n\tcase 'W':\n\t\tOUTPUT(WSTR(\"%04x\\n\"), SyserReadPortWord(dwAddress));\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tOUTPUT(WSTR(\"%08x\\n\"), SyserReadPortDword(dwAddress));\n\t\tbreak;\n\tdefault:\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn 1;\n\t}\n\t\n\treturn 0;\n}\n\nint ob_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress,dwValue;\n\tif(argc!=3 || CALCEXP(argv[1],&dwAddress)==FALSE ||CALCEXP(argv[2],&dwValue)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\t\n\tif(dwAddress > 0xffff)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tswitch(argv[0][1]) {\n\tcase 0:\n\tcase 'b':\n\tcase 'B':\n\t\tif(dwValue >= 0x100)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tif(!gbIsUseAPIC)\n\t\t{\n\t\t\tif(dwAddress == 0x21)\n\t\t\t{\n\t\t\t\tgdwPIC8259Shield_1 = (BYTE)dwValue;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif(dwAddress == 0xa1)\n\t\t\t{\n\t\t\t\tgdwPIC8259Shield_2 = (BYTE)dwValue;\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t}\n\t\tSyserWritePortByte(dwAddress,(BYTE)dwValue);\n\t\tbreak;\n\tcase 'W':\n\tcase 'w':\n\t\tif(dwValue>0x10000)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t\tSyserWritePortWord(dwAddress,(WORD)dwValue);\n\t\tbreak;\n\tcase 'd':\n\tcase 'D':\n\t\tSyserWritePortDword(dwAddress,dwValue);\n\t\tbreak;\n\tdefault:\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\t\n\treturn 0;\n}\n\n\n\nint setkeyboardLED_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\n\t\n\tif(argc == 1)\n\t{\n\t\tif(bKeyScrollLockStatInitOK)\n\t\t\tOUTPUT(WSTR(\"Scroll Lock %02x\\n\"),bKeyScrollLockStat);\n\t\tif(bKeyNumLockStatInitOK)\n\t\t\tOUTPUT(WSTR(\"Num Lock %02x\\n\"),bKeyNumLockStat);\n\t\tif(bKeyCapsLockStatInitOK)\n\t\t\tOUTPUT(WSTR(\"Caps Lock %02x\\n\"),bKeyCapsLockStat);\n\t\treturn 1;\n\t}\n\tif(argc!=2 || CALCEXP(argv[1],&dwAddress)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\t\n\tSetKeyboardLEDState(dwAddress & 1,dwAddress & 2,dwAddress & 4);\n\treturn 0;\n}\n\nint DebugRegisterMonitor_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD wStat = 0;\n\tif(argc > 2)\n\t{\nlocal_exit:\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\tOUTPUT(WSTR(\"example : drm      \\\"Show Debug Register Access State\\\"\\n\"));\n\t\tOUTPUT(WSTR(\"example : drm on   \\\"Set Debug Register Access BreakPoint\\\"\\n\"));\n\t\tOUTPUT(WSTR(\"example : drm off  \\\"Clean Debug Register Access BreakPoint\\\"\\n\"));\n\t\treturn -1;\n\t}\n\tif(argc == 1)\n\t{\n\t\tif(pSyser->m_bDbgRegAccessMon)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"drm on\\n\"));\n\t\t}\n\t\telse\n\t\t\tOUTPUT(WSTR(\"drm off\\n\"));\n\t\treturn 0;\n\t}\n\tif((argv[1][0] & 0xffdf) != 'O' || (argv[1][2] && argv[1][3]))\n\t{\t\t\n\t\tgoto local_exit;\n\t}\n\twStat = *(DWORD *)(&argv[1][1]);\n\twStat &= 0xffdfffdf;\n\tif(wStat == 'N')\n\t{\n\t\tpSyser->m_bDbgRegAccessMon = TRUE;\n\t\tReg.DR[7] |= 0x2000;\n\t\tpSyser->m_bUpdateReg=TRUE;\n\t\tOUTPUT(WSTR(\"drm on\\n\"));\n\t\treturn 0;\n\t}\n\tif((wStat == 0x460046) && (argv[1][3] == 0))\n\t{\n\t\tpSyser->m_bDbgRegAccessMon = FALSE;\n\t\tReg.DR[7] &= 0xffffdfff;\n\t\tpSyser->m_bUpdateReg=TRUE;\n\t\tOUTPUT(WSTR(\"drm off\\n\"));\n\t}\n\treturn 0;\n}\n\nint pci_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\t\n\tPCI_CONFIG_COMMON PCIConfigREG;\n\tDWORD dwOldValue;\n\tDWORD dwSize=0;\n\tpci_dev dev;\n\tint j;\n\n\tfor(j =0;j<0x100;j++)\n\t{\n\t\tdev.bus = j;\n\t\tfor(int i = 0; i < 0x100; i++)\n\t\t{\n\t\t\tdev.devfn = i;\n\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(j,i,PCI_VENDOR_ID,&PCIConfigREG.VendorID);\n\t\t\tif(PCIConfigREG.VendorID != 0xffff && PCIConfigREG.VendorID != 0)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Bus %02X Device %02X Function %02X\\n\"),j,i>>3,i&7);\n\t\t\t\tOUTPUT(WSTR(\"Vendor : %04X\\n\"),PCIConfigREG.VendorID);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(j,i,PCI_DEVICE_ID,&PCIConfigREG.DeviceID);\n\t\t\t\tOUTPUT(WSTR(\"Device : %04X\\n\"),PCIConfigREG.DeviceID);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_REVISION_ID,(DWORD *)&PCIConfigREG.RevisionID);\n\t\t\t\tOUTPUT(WSTR(\"Revision : %02X\\n\"),PCIConfigREG.RevisionID);\n\t\t\t\tOUTPUT(WSTR(\"Device class : %02X\\n\"),PCIConfigREG.BaseClass);\n\t\t\t\tOUTPUT(WSTR(\"Device subclass : %02X\\n\"),PCIConfigREG.SubClass);\n\t\t\t\tOUTPUT(WSTR(\"Device ProgIf : %02X\\n\"),PCIConfigREG.ProgIf);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_0,&dwOldValue);\n\t\t\t\t//gpSyser->m_PCSystem.WritePCICFGDWord(j,i,PCI_BASE_ADDRESS_0,0xffffffff);\n\t\t\t\t//gpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_0,&dwSize);\n\t\t\t\t//gpSyser->m_PCSystem.WritePCICFGDWord(j,i,PCI_BASE_ADDRESS_0,dwOldValue);\n\t\t\t\tOUTPUT(WSTR(\"Memory Base : %08X  Memory Limit:   %08X\\n\"),dwOldValue,dwSize);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_1,&dwOldValue);\n\t\t\t\tOUTPUT(WSTR(\"Memory Base : %08X  Memory Limit:   %08X\\n\"),dwOldValue,dwSize);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_2,&dwOldValue);\n\t\t\t\tOUTPUT(WSTR(\"Memory Base : %08X  Memory Limit:   %08X\\n\"),dwOldValue,dwSize);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_3,&dwOldValue);\n\t\t\t\tOUTPUT(WSTR(\"Memory Base : %08X  Memory Limit:   %08X\\n\"),dwOldValue,dwSize);\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_BASE_ADDRESS_4,&dwOldValue);\n\t\t\t\tOUTPUT(WSTR(\"Memory Base : %08X  Memory Limit:   %08X\\n\"),dwOldValue,dwSize);\n\t\t\t\tOUTPUT(WSTR(\"---------------------------------------------------------------------------------\\n\"),dwOldValue,dwSize);\n\t\t\t}\n\t\t}\n\t }\n\treturn 0;\n}\n\nint acpi_shutdown_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tPCI_CONFIG_COMMON PCIConfigREG;\n\tDWORD dwOldValue;\n\tDWORD dwSize=0;\n\tWORD Value;\n\tpci_dev dev;\n\tint j;\n\n\tfor(j =0;j<0x100;j++)\n\t{\n\t\tdev.bus = j;\n\t\tfor(int i = 0; i < 0x100; i++)\n\t\t{\n\t\t\tdev.devfn = i;\n\t\t\tgpSyser->m_PCSystem.ReadPCICFGWord(j,i,PCI_VENDOR_ID,&PCIConfigREG.VendorID);\n\t\t\tif(PCIConfigREG.VendorID != 0xffff && PCIConfigREG.VendorID != 0)\n\t\t\t{\t\t\t\t\n\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,PCI_REVISION_ID,(DWORD *)&PCIConfigREG.RevisionID);\t\t\t\t\n\t\t\t\tif(PCIConfigREG.BaseClass==6 &&PCIConfigREG.SubClass==1) //\n\t\t\t\t{\n\t\t\t\t\tgpSyser->m_PCSystem.ReadPCICFGDWord(j,i,0x40,(DWORD *)&dwOldValue);\n\t\t\t\t\tdwOldValue &= 0xff80;\n\t\t\t\t\tValue = SyserReadPortWord(dwOldValue + 4);\n\t\t\t\t\tValue |= 0x3C00;\n\t\t\t\t\tSyserWritePortWord( dwOldValue + 4,Value);\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\treturn 0;\n}\n\nint ignore_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tpSyser->m_bHandle = false;\n\treturn 0;\n}\n\nint pagein_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tDWORD dwAddress;\n\tif(argc < 2)\n\t\treturn -1;\n\tif(CALCEXP(argv[1],&dwAddress)==FALSE)\n\t\treturn 1;\n\tif(Reg.EFlags & 0x20000)\n\t{\n\t\tOUTPUT(WSTR(\"Paging is only supported in 32-bit mode.\\n\"));\n\t\treturn 1;\n\t}\n\tif((Reg.EFlags & 0x200)==0)\n\t{\n\t\tOUTPUT(WSTR(\"Interrupts must be enabled to page in memory.\\n\"));\n\t\treturn 1;\n\t}\n\tif(Reg.SegReg[CS_IDX] & 3)\n\t{\n\t\tif(dwAddress<0x80000000)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Function not implemented\\n\"));\n\t\t}\n\t}\n\treturn 0;\n}\n\nint i1here_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser* pSyser)\n{\n\tif(argc==1)\n\t{\n\t\tif(pSyser->m_bInterrupt1HereStat)\n\t\t\tOUTPUT(WSTR(\"I1Here is on\\n\"));\n\t\telse\n\t\t\tOUTPUT(WSTR(\"I1Here is off\\n\"));\n\t\treturn 1;\n\t}\n\tif(argc == 2)\n\t{\t\t\n\t\tif(TStrICmp(argv[1],WSTR(\"ON\"))==0)\n\t\t{\n\t\t\tpSyser->m_bInterrupt1HereStat=true;\n\t\t\treturn 1;\n\t\t}\n\t\tif(TStrICmp(argv[1],WSTR(\"Off\"))==0)\n\t\t{\n\t\t\tpSyser->m_bInterrupt1HereStat=false;\n\t\t\treturn 1;\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\treturn 0;\n}\n\nint i3here_command(int argc, WCHAR* argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tif(argc==1)\n\t{\n\t\tswitch(pSyser->m_Interrupt3HereStat)\n\t\t{\n\t\tcase 1:\n\t\t\tOUTPUT(WSTR(\"I3Here is on\\n\"));\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tOUTPUT(WSTR(\"I3Here is on for device drivers (addr > 2G)\\n\"));\n\t\t\tbreak;\n\t\tcase 0:\n\t\t\tOUTPUT(WSTR(\"I3Here is off\\n\"));\n\t\t\tbreak;\n\t\t}\t\t\t\t\t\n\t\treturn 0;\n\t}\n\tif(argc == 2)\n\t{\t\t\n\t\tif(TStrICmp(argv[1],WSTR(\"ON\"))==0)\n\t\t{\n\t\t\tpSyser->m_Interrupt3HereStat=1;\n\t\t\treturn 1;\n\t\t}\n\t\tif(TStrICmp(argv[1],WSTR(\"OFF\"))==0)\n\t\t{\n\t\t\tpSyser->m_Interrupt3HereStat=0;\n\t\t\treturn 1;\n\t\t}\n\t\tif(TStrICmp(argv[1],WSTR(\"DRV\"))==0)\n\t\t{\n\t\t\tpSyser->m_Interrupt3HereStat=2;\n\t\t\treturn 1;\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\treturn 0;\n}\n\nint genint_command(int argc, WCHAR* argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwInterruptNumber;\n\tif(argc != 2 || CALCEXP(argv[1],&dwInterruptNumber)==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(dwInterruptNumber>0xff)\n\t{\n\t\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\t\treturn -1;\n\t}\n\tif(Reg.SegReg[CS_IDX] & 0x3)\n\t{\n\t}\n\telse\n\t{\n\t\tgGenInterruptNumber = dwInterruptNumber;\n\t\tgGenInterruptOffset = MAKE_DWORD(gOldInterruptDescropterTable[dwInterruptNumber].OffsetHigh,gOldInterruptDescropterTable[dwInterruptNumber].OffsetLow);\n\t\tpSyser->Exit();\n\t}\n\treturn 0;\n}\n\n\n\nint hboot_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tSyserResetSystem();\n\treturn 0;\n}\n\n\n\nint\tvad_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tOUTPUT(WSTR(\"Process [%s] , PEPROCESS [%08X] VADRoot[%08X]\\n\"),\n\t\t(PCWSTR)gpSyser->m_pDebugger->m_ProcNameW,gpSyser->m_pDebugger->m_PEProcess,gpSyser->m_pDebugger->m_PEProcess->VadRoot);\n\treturn 1;\n}\n\nint bpr_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\t\n\n\tDWORD dwVirtualAddress;\n\tDWORD dwRangeStart;\n\tDWORD dwRangeLength;\n\tDWORD dwRangeEnd;\n\tDWORD dwMode;\n\tBP_RANGE_INFO Bpr;\n\tPROC_RANGE_BP_MAP::IT FindIT;\n\tBP_RANGE_LIST::IT BprIT;\n\tif(argc <4)\n\t\tgoto error_label;\n\tDWORD dwProcess = GetEProcessPointer(argv[1]);\n\tif(dwProcess==0)\n\t\tgoto error_label;\t\n\tif(CALCEXP(argv[2],&dwRangeStart) == false)\n\t\tgoto error_label;\n\tif(dwRangeStart>=0x80000000)\n\t\tgoto error_label;\n\tif(CALCEXP(argv[3],&dwRangeLength) == false)\n\t\tgoto error_label;\n\tdwRangeEnd = dwRangeStart+dwRangeLength;\n\tif(dwRangeEnd>=0x80000000)\n\t\tdwRangeLength = 0x80000000-dwRangeStart-1;\n\tdwMode = *(DWORD*)&argv[4][0];\n\tswitch(dwMode)\n\t{\n\t\tcase 'r':\n\t\tcase 'R':\t\t\t\n\t\t\tdwMode=BP_TYPE_READ;\n\t\t\tbreak;\n\t\tcase 'w':\n\t\tcase 'W':\n\t\t\tdwMode=BP_TYPE_WRITE;\n\t\t\tbreak;\n\t\tcase 'x':\n\t\tcase 'X':\n\t\t\tdwMode=BP_TYPE_EXECUTE;\n\t\t\tbreak;\n\t\tcase 0x720077:\n\t\tcase 0x720057:\n\t\tcase 0x770072:\n\t\tcase 0x770052:\n\t\tcase 0x520077:\n\t\tcase 0x520057:\n\t\tcase 0x570052:\n\t\tcase 0x570072:\n\t\t\tif(argv[4][2]!=0)\n\t\t\t\treturn 1;\n\t\t\t\tdwMode=BP_TYPE_READWRITE;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tdwMode=0;\n\t\t\tbreak;\n\t}\n\tif(dwMode==0)\n\t\treturn 1;\n\tCHAR Name[256],Condition[256],DoCmd[256];\n\tCondition[0]=0;\n\tDoCmd[0]=0;\n\n\tif(get_command_condition_string(argc,argv,szCommandLine,Condition,256)>0)\n\t{\n\t\tif(CALCEXP(Condition,NULL)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Error : Invalid condition string !\\n\"));\n\t\t\treturn -1;\n\t\t}\n\t}\n\tget_do_command_string(argc,argv,szCommandLine,DoCmd,256);\n\t\n\tFindIT = gpSyser->m_RangeBPList.Find(dwProcess);\n\tif(FindIT==gpSyser->m_RangeBPList.End())\n\t{\n\t\tFindIT = gpSyser->m_RangeBPList.InsertUnique(dwProcess,BP_RANGE_LIST());\n\t}\n\tif(FindIT == gpSyser->m_RangeBPList.End())\n\t\tgoto error_label;\n\t\n\tDWORD PageSize;\n\tDWORD PageSizeBak;\n\tDWORD PTESize=0;\n\tvoid* pteptr;\n\tpteptr = GetPTE(dwRangeStart,&PageSize,&PTESize);\n\tPageSizeBak=PageSize;\n\tBpr.RangeStartAddress=dwRangeStart;\n\tBpr.RangeLength=dwRangeLength;\n\tBpr.Type=dwMode;\n\tBpr.State=BP_STATE_ENABLE;\n\tBpr.PageSize=PageSize;\n\tBpr.PTECount=0;\n\tBpr.PTESize=(WORD)PTESize;\n\tBpr.PTEAddress=(DWORD)pteptr;\n\tBprIT = FindIT->Append(Bpr);\n\tif(BprIT!=FindIT->End())\n\t{\n\t\tBprIT->DoCmd=DoCmd;\n\t\tBprIT->Condition=Condition;\n\t}\n\treturn 0;\nerror_label:\n\tOUTPUT(cmd_bpr_usage);\n\treturn 1;\n}\n\n\n\nint\tpte_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwTmp;\n\tCR4REGISTER stCR4;\n\tCPUID_1_EDX_FEATURE stCPUID_1_EDX;\n\tX86_PDE *pCurrentPDEBegin;\n\tX86_PTE *dwPageTableBegin;\t\n\tX86_36_PDE* PDE36Value;\n\tX86_36_PDE_2M* PDE36Value2M;\n\tX86_36_PTE* PTE36Value;\n\tCPUID_INFO TmpInfo;\n\tDWORD dwPageDirectoryIndex;\n\tDWORD dwVirtualAddress;\n\tWCHAR *Format=WSTR(\"%08x    %sP %s %s %s %s %s %s    %08x - %08x\\n\");\n\tWCHAR *Format1=WSTR(\"%08x    %08x      %sP %s %s %s %s %s %s\\n\");\n\n\tpCurrentPDEBegin = (X86_PDE *)PAGE_DIRECTORY_LINES_ADDRESS;\n\tPDE36Value=(X86_36_PDE*)PAGE_DIRECTORY_36_LINES_ADDRESS;\n\tPDE36Value2M=(X86_36_PDE_2M*)PAGE_DIRECTORY_36_LINES_ADDRESS;\n\tif(argc == 2 )\n\t{\t\t\n\t\tif(CALCEXP(argv[1],&dwVirtualAddress) == false)\n\t\t\treturn 1;\t\t\n\t\tstCPUID_1_EDX = *(CPUID_1_EDX_FEATURE*)&gpCPUIDInfo[1].dwEDX;\n\t\tdwTmp = GetCR4Register();\t\t\n\t\tstCR4 = *(CR4REGISTER*)&dwTmp;\n\t\tif(stCR4.PAE)\t\n\t\t{\n\t\t\tdwPageDirectoryIndex = dwVirtualAddress;\n\t\t\tdwPageDirectoryIndex >>= 21;\n\t\t\tPTE36Value=(X86_36_PTE*)0xc0000000;\n\t\t\tPTE36Value=&PTE36Value[dwVirtualAddress>>12];\n\t\t\t\n\t\t\tOUTPUT(WSTR(\"PDE at   %08x        PTE at %08x\\n\"),&PDE36Value[dwPageDirectoryIndex],PTE36Value);\n\t\t\tDWORD pde_value,pte_value;\n\t\t\tpde_value=ReadDwordDefaultValue((DWORD*)&PDE36Value[dwPageDirectoryIndex],0);\n\t\t\tif(PDE36Value[dwPageDirectoryIndex].u.Page2M)\n\t\t\t\tpte_value = 0;\n\t\t\telse\n\t\t\t\tpte_value=ReadDwordDefaultValue((DWORD*)PTE36Value,0);\n\n\t\t\tOUTPUT(WSTR(\"contains %08x        contains %08x\\n\"),pde_value,pte_value);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t\n\t\t\tdwPageDirectoryIndex = dwVirtualAddress;\n\t\t\tdwPageDirectoryIndex >>= 22;\n\t\t\tdwPageTableBegin=(X86_PTE*)(0xc0000000+((dwVirtualAddress>>12)<<2));\n\t\t\t\n\t\t\tOUTPUT(WSTR(\"PDE at   %08x        PTE at %08x\\n\"),&pCurrentPDEBegin[dwPageDirectoryIndex],dwPageTableBegin);\n\t\t\tDWORD pde_value,pte_value;\n\t\t\tpde_value=ReadDwordDefaultValue((DWORD*)&pCurrentPDEBegin[dwPageDirectoryIndex],0);\n\t\t\tif(pCurrentPDEBegin[dwPageDirectoryIndex].u.Page4M)\n\t\t\t\tpte_value = 0;\n\t\t\telse\n\t\t\t\tpte_value=ReadDwordDefaultValue((DWORD*)dwPageTableBegin,0);\n\n\t\t\tOUTPUT(WSTR(\"contains %08x        contains %08x\\n\"),pde_value,pte_value);\n\t\t}\n\t\t\n\t}\n\treturn 0;\n}\nint\tfaults_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tif(argc==1)\n\t{\n\t\tif(pSyser->m_bFaultsStat)\n\t\t\tOUTPUT(WSTR(\"Faults is on\\n\"));\n\t\telse\n\t\t\tOUTPUT(WSTR(\"Faults is off\\n\"));\n\t\treturn 0;\n\t}\n\tif(argc == 2)\n\t{\t\t\n\t\tif(TStrICmp(argv[1],WSTR(\"ON\"))==0)\n\t\t{\n\t\t\tpSyser->m_bFaultsStat=true;\n\t\t\treturn 0;\n\t\t}\n\t\tif(TStrICmp(argv[1],WSTR(\"Off\"))==0)\n\t\t{\n\t\t\tpSyser->m_bFaultsStat=false;\n\t\t\treturn 0;\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Error : %<3>Input error !\\n\"));\n\treturn 1;\n}\n\nint window_center_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tgpSyser->RestoreScreen();\n\tgpSyser->CenterScreen();\n\tgpSyser->BackupScreen();\n\treturn 0;\n}\n\nint dispinfo_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tOUTPUT(WSTR(\"FrameBuffer\\n\"));\n\tOUTPUT(WSTR(\"Width = %d , Height = %d , Bpp = %d\\n\"),gpSyser->m_RealFrameBuffer.Width,gpSyser->m_RealFrameBuffer.Height,gpSyser->m_RealFrameBuffer.Bpp);\n\tOUTPUT(WSTR(\"LineDistance = 0x%08X\\n\"),gpSyser->m_RealFrameBuffer.LineDistance);\n\tOUTPUT(WSTR(\"Video Buffer = 0x%08X\\n\"),gpSyser->m_RealFrameBuffer.Buffer);\n\treturn 0;\n}\n\nint sysertest(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tOUTPUT(WSTR(\"SyserDR7 = %08X\\n\"),SyserDR[7]);\n\treturn 0;\n}\n\nint sdsrv_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tgpSyser->m_SDServer.StartServer();\n\treturn 0;\n}\n\n\nint plugin_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tOUTPUT(WSTR(\"Plugin Name        Information\\n\"));\n\tfor(CPluginMap::IT Iter=pSyser->m_PluginMap.Begin();Iter!=pSyser->m_PluginMap.End();Iter++)\n\t{\n\t\tOUTPUT(WSTR(\"%20s %s\\n\"),(PCWSTR)Iter.Key(),Iter->PluginInfo);\n\t}\n\treturn 0;\n}\n\nint ioapic_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD Vaule;\n\tif(gbIsUseAPIC==0)\n\t\treturn 1;\n\tOUTPUT(WSTR(\"IOAPIC Line Address %08x Physical Address %08x\\n\"),gdwIOAPICLineAddress,gdwIOAPICPhysAddress);\n\tVaule = GetIOAPICData(0);\n\tOUTPUT(WSTR(\"Address Offset   Default Value   Attribute   Value\\n\"));\n\tOUTPUT(WSTR(\"0                0x0             Read/Write  %08x\\n\"),Vaule);\n\tVaule = GetIOAPICData(1);\n\tOUTPUT(WSTR(\"1                0x00170011      Read Only   %08x\\n\"),Vaule);\n\tVaule = GetIOAPICData(2);\n\tOUTPUT(WSTR(\"2                0x0             Read Only   %08x\\n\\n\"),Vaule);\n\tirq_command(1,NULL,NULL,pSyser);\n\treturn 0;\n}\nint localapic_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tif(gbIsUseAPIC==0)\n\t\treturn 1;\n\tDWORD Value;\n\tDWORD* LocalApic;\n\tint i;\n\tWCHAR *DeliveryMode[]=\n\t{\n\t\tWSTR(\"Fixed   \"),\n\t\tWSTR(\"Low. Pri\"),\n\t\tWSTR(\"SMI     \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"NMI     \"),\n\t\tWSTR(\"INIT    \"),\n\t\tWSTR(\"Reserved\"),\n\t\tWSTR(\"ExtINT  \"),\n\t};\n\tLocalApic = *(DWORD**)&gdwLocalAPICLineAddress;\n\tOUTPUT(WSTR(\"Local APIC Line Address %08x Physical Address %08x\\n\"),gdwLocalAPICLineAddress,gdwLocalAPICPhysAddress);\n\tOUTPUT(WSTR(\"Index      IRR      ISR     TMR\\n\"));\n\tfor(i =0;i<8;i++)\n\t{\n\t\tOUTPUT(WSTR(\"(%02x-%02x)   %08x %08x %08x\\n\"),i*32,i*32+31,LocalApic[(0x200+i*10)/sizeof(DWORD)],LocalApic[(0x100+i*10)/sizeof(DWORD)],LocalApic[(0x180+i*10)/sizeof(DWORD)]);\n\t}\n\tOUTPUT(WSTR(\"\\n\"));\n\tValue = LocalApic[0x20/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Local APIC ID Register:                       %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x30/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Local APIC Version Register:                  %<b>%08x. Max. LVT Entry(16-23)=%d; Version(0-7bit)=%d\\n\"),Value,(Value>>16)&0xff,Value&0xff);\n\tOUTPUT(WSTR(\"Task Priority Register (TPR):                 %<b>%08x\\n\"),gdwLocalAPICTaskPriority);\n\tValue = LocalApic[0x90/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Arbitration Priority Register (APR):          %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0xa0/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Processor Priority Register (PPR):            %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0xd0/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Logical Destination Register:                 %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0xe0/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Destination Format Register:                  %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0xf0/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Spurious Interrupt Vector Register:           %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x100/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"In-Service Register:                          %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x180/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Trigger Mode Register:                        %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x200/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Interrupt Request Register:                   %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x280/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Error Status Register:                        %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x300/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Interrupt Command Register (ICR) [0-31]:      %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x310/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Interrupt Command Register (ICR) [32-63]:     %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x320/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT Timer Register:                           %<b>%08x %s\\n\"),Value,Value&0x1000?WSTR(\"IDLE        \"):WSTR(\"Send Pending\"),Value&0x10000?WSTR(\"Unmark\"):WSTR(\"Mark\"),Value&0x20000?WSTR(\"Periodic\"):WSTR(\"One-shot\"));\n\tValue = LocalApic[0x330/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT Thermal Sensor Register:                  %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x340/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT Performance Monitoring Counters Register: %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x350/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT LINT0 Register;                           %<b>%08x %s %s %s\\n\"),Value,DeliveryMode[(Value>>8)&0x7],Value&0x1000?WSTR(\"IDLE        \"):WSTR(\"Send Pending\"),Value&0x20000?WSTR(\"Unmark\"):WSTR(\"Mark  \"));\n\tValue = LocalApic[0x360/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT LINT1 Register:                           %<b>%08x %s %s %s\\n\"),Value,DeliveryMode[(Value>>8)&0x7],Value&0x1000?WSTR(\"IDLE        \"):WSTR(\"Send Pending\"),Value&0x20000?WSTR(\"Unmark\"):WSTR(\"Mark  \"));\n\tValue = LocalApic[0x370/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"LVT Error Register:                           %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x380/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Initial Count Register (for Timer):           %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x390/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Current Count Register (for Timer):           %<b>%08x\\n\"),Value);\n\tValue = LocalApic[0x3e0/sizeof(DWORD)];\n\tOUTPUT(WSTR(\"Divide Configuration Register (for Timer):    %<b>%08x\\n\"),Value);\n\treturn 0;\n}\n\n\n\nDWORD gHandleFirst[1024];\nDWORD gHandleSecond[1024];\n\ntypedef struct _XP2600_2180_HANDLE_TABLE_ENTRY /* sizeof 00000008 8 */\n{\n\tunion\n\t{\n\t\tvoid*\tObject;\n\t\tunsigned long\tObAttributes;\n\t\t//struct _XP2600_2180_HANDLE_TABLE_ENTRY_INFO*\tInfoTable;\n\t\tunsigned long\tValue;\n\t};\n\tunion\n\t{\n\t\tunsigned long\tGrantedAccess;\n\t\tstruct \n\t\t{\t\t\n\t\t\tunsigned short\tGrantedAccessIndex;\n\t\t\tunsigned short\tCreatorBackTraceIndex;\n\t\t};\n\t\tlong\tNextFreeTableEntry;\n\n\t};\n}HANDLE_TABLE_ENTRY,*PHANDLE_TABLE_ENTRY;\n\n\n\nextern \"C\"\nNTSTATUS\nObQueryNameString(\n\t\t\t\t  IN PVOID  Object,\n\t\t\t\t  OUT POBJECT_NAME_INFORMATION  ObjectNameInfo,\n\t\t\t\t  IN ULONG  Length,\n\t\t\t\t  OUT PULONG  ReturnLength\n\t\t\t\t  ); \nint Handle_List(DWORD RootAddress,DWORD dwHandleIndex)\n{\n\tDWORD* HandleTableEntry;\n\tDWORD dwFlags;\n\tDWORD i,ii,iii=0,j,jj,jjj=0,k,kk,kkk=0;\n\tDWORD* First;\n\tDWORD dwFirstValue;\n\tDWORD* Second;\n\tPHANDLE_TABLE_ENTRY Three;\n\tDWORD dwObjectHeader,dwObject;\n\tif(dwHandleIndex!=0-1)\n\t{\n\t\tiii=(dwHandleIndex & 0x7ffffffc) >> 21;\n\t\tjjj=((dwHandleIndex & 0x7ffffffc) >> 11) & 0x3ff;\n\t\tkkk=((dwHandleIndex & 0x7ffffffc) >> 2) & 0x1ff;\n\t}\n\t\n\tif(ReadDword((void*)RootAddress,&dwFirstValue)==false)\n\t\treturn 0;\n\tRootAddress=dwFirstValue;\n\tdwFlags=RootAddress&0x3;\n\tRootAddress&=0xfffffffc;\n\t\n\tswitch(dwFlags)\n\t{\n\tcase 0:\n\t\t{\n\t\t\ti=1;\n\t\t\tj=1;\n\t\t\tk=512;\n\t\t\tmemset(gHandleFirst,0,sizeof(gHandleFirst));\n\t\t\tmemset(gHandleSecond,0,sizeof(gHandleSecond));\n\t\t\tgHandleFirst[0]=(DWORD)gHandleSecond;\n\t\t\tgHandleSecond[0]=RootAddress;\n\t\t\tFirst=gHandleFirst;\n\t\t\tbreak;\n\t\t}\n\tcase 1:\n\t\t{\n\t\t\ti=1;j=1024;\n\t\t\tk=512;\n\t\t\tmemset(gHandleFirst,0,sizeof(gHandleFirst));\n\t\t\tmemset(gHandleSecond,0,sizeof(gHandleSecond));\n\t\t\tgHandleFirst[0]=RootAddress;\n\t\t\tFirst=gHandleFirst;\n\t\t\tbreak;\n\t\t}\n\tcase 2:\n\t\t{\n\t\t\tFirst=(DWORD*)RootAddress;\n\t\t\ti=1024;\n\t\t\tj=1024;\n\t\t\tk=512;\n\t\t\tbreak;\n\t\t}\n\t}\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tbool bOK;\n\tDWORD dwCountHandle=0;\n\tWCHAR TypeName[65];\n\tWCHAR ObjName[65];\n\tWCHAR KeyName[512];\n\tDWORD dwLen1;\n\tbool bDisplayTitle=false;\n\tif(dwHandleIndex!=0-1)\n\t{\n\t\tfor(ii=0;ii<=iii;ii++)\n\t\t{\n\t\t\tSecond = (DWORD*)ReadDword((void*)&First[ii],&bOK);\n\t\t\tif(Second==0)\n\t\t\t\tbreak;\n\t\t}\n\t\tif(Second==0)\n\t\t\treturn 0;\n\t\tfor(jj=0;jj<=jjj;jj++)\n\t\t{\n\t\t\tThree = (PHANDLE_TABLE_ENTRY)ReadDword((void*)&Second[jj],&bOK);\n\t\t\tif(Three==0)\n\t\t\t\tbreak;\n\t\t}\n\t\tif(Three==0)\n\t\t\treturn 0;\n\t\tdwHandleIndex=((iii<<19)+(jjj<<9)+kkk)<<2;\n\t\tif(ReadDword(&Three[kkk].Object,&dwObjectHeader)==false)\n\t\t\treturn 0;\n\t\tif(dwObjectHeader==0)\n\t\t\treturn 0;\t\t\n\t\tif(bDisplayTitle==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Handle    Object    TypeName            Name\\n\"));\n\t\t\tbDisplayTitle=true;\n\t\t}\n\t\tdwObject=(dwObjectHeader&0xfffffff8)+0x18;\n\t\tdwCountHandle++;\t\t\t\t\n\t\tOUTPUT(WSTR(\"%08x  [%08x]  \"),dwHandleIndex,dwObjectHeader+0x18);\n\t\tif(GetObjectTypeName(dwObject,TypeName))\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%-20s\"),TypeName);\n\t\t\tif(TStrICmp(TypeName,\"File\")==0)\n\t\t\t{\t\t\t\t\t\t\n\t\t\t\tFILE_OBJECT* FileObj=(FILE_OBJECT*)(dwObject);\n\t\t\t\tif(GetFileObjectName(FileObj,TypeName,0))\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"%s \"),TypeName);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\tif(ReadDword(&FileObj->DeviceObject,&dwObjectHeader))\n\t\t\t\t\t\tif(GetObjectName(dwObjectHeader,ObjName))\n\t\t\t\t\t\t\tOUTPUT(WSTR(\"%s \"),ObjName);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(GetObjectName(dwObject,ObjName))\n\t\t\tOUTPUT(WSTR(\"%s\"),ObjName);\n\t\tOUTPUT(WSTR(\"\\n\"));\n\t\treturn 1;\n\t}\n\n\tfor(ii=0;ii<i;ii++)\n\t{\t\t\n\t\tSecond = (DWORD*)ReadDword((void*)&First[ii],&bOK);\n\t\tif(Second==0)\n\t\t\tbreak;\n\t\t\n\t\tfor(jj=0;jj<j;jj++)\n\t\t{\n\t\t\tThree = (PHANDLE_TABLE_ENTRY)ReadDword((void*)&Second[jj],&bOK);\n\t\t\tif(Three==0)\n\t\t\t\tbreak;\n\t\t\tThree++;\n\t\t\t\n\t\t\tfor(kk=0;kk<k;kk++)\n\t\t\t{\n\t\t\t\tdwHandleIndex=((ii<<19)+(jj<<9)+kk+1)<<2;\n\t\t\t\tif(ReadDword(&Three[kk].Object,&dwObjectHeader)==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(dwObjectHeader==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(ReadDwordDefaultValue((void*)dwObjectHeader,0)==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(bDisplayTitle==false)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Handle    Object    TypeName            Name\\n\"));\n\t\t\t\t\tbDisplayTitle=true;\n\t\t\t\t}\n\t\t\t\tdwObject=(dwObjectHeader&0xfffffff8)+0x18;\n\t\t\t\tdwCountHandle++;\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"%08x  %08x  \"),dwHandleIndex,dwObject);\n\t\t\t\tif(GetObjectTypeName(dwObject,TypeName))\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"%-20s\"),TypeName);\n\t\t\t\t\tif(TStrICmp(TypeName,\"File\")==0)\n\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\tFILE_OBJECT* FileObj=(FILE_OBJECT*)(dwObject);\n\t\t\t\t\t\tif(GetFileObjectName(FileObj,TypeName,0))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tOUTPUT(WSTR(\"%s \"),TypeName);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(ReadDword(&FileObj->DeviceObject,&dwObjectHeader))\n\t\t\t\t\t\t\t\tif(GetObjectName(dwObjectHeader,ObjName))\n\t\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%s \"),ObjName);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(TStrICmp(TypeName,\"Process\")==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(GetProcessInfoByEPROCESS(dwObject,&Process))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tTStrCpy(ObjName,Process.ImageFileName);\n\t\t\t\t\t\t\tOUTPUT(WSTR(\"%s (%x)\"),ObjName,Process.UniqueProcessId);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(TStrICmp(TypeName,\"Thread\")==0)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\tif(GetThreadInfoByETHREAD(dwObject,&Thread))\n\t\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(GetProcessInfoByEPROCESS(Thread.Process,&Process))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tTStrCpy(ObjName,Process.ImageFileName);\n\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%s (%x\"),ObjName,Process.UniqueProcessId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tOUTPUT(WSTR(\":%x)\"),Thread.ThreadID);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(GetObjectName(dwObject,ObjName))\n\t\t\t\t\tOUTPUT(WSTR(\"%s\"),ObjName);\n\t\t\t\tOUTPUT(WSTR(\"\\n\"));\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Handle (%d)\\n\"),dwCountHandle);\n\treturn 0;\n}\n\nint test_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\n\treturn 0;\n}\nbool GetProcessInfoByValue(WCHAR* argv,PSYSER_PROCESS Process)\n{\n\tSYSER_THREAD Thread;\n\tDWORD dwValue=0;\n\tDWORD dwThread;\n\tif(argv==NULL)\n\t\treturn false;\n\tif(CALCEXP(argv,&dwValue)==false)\n\t{\n\t\tCDbgProcess*pDbgProcess;\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(argv);\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn false;\n\t\tdwValue=(DWORD)pDbgProcess->GetEPROCESS();\t\n\t\treturn GetProcessInfoByEPROCESS(dwValue,Process);\n\t}\n\tSYSER_VALUE_TYPE Type = GetValueType(dwValue);\n\tswitch(Type)\n\t{\n\tcase VALUE_TYPE_THREAD_ID:\n\t\tif(GetThreadByID(dwValue,&Thread))\n\t\t\treturn GetProcessInfoByEPROCESS(Thread.Process,Process);\n\t\tbreak;\n\tcase VALUE_TYPE_THREAD_PTR:\n\t\tif(GetThreadInfoByETHREAD(dwValue,&Thread)==false)\n\t\t\treturn false;\n\t\tdwValue=Thread.Process;\n\tcase VALUE_TYPE_PROCESS_PTR:\n\t\treturn GetProcessInfoByEPROCESS(dwValue,Process);\n\tcase VALUE_TYPE_PROCESS_ID:\n\t\treturn GetProcessByID(dwValue,Process);\t\t\t\t\t \n\t}\n\treturn false;\n\t\n}\nint handle_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tSYSER_PROCESS Process;\n\tWCHAR Name[32];\n\tDWORD dwThread,dwProcess;\n\tDWORD dwRootAddress;\n\tDWORD dwRootAddress1=0;\n\tbool bOK;\t\n\tDWORD dwHandle;\n\tif(argc==1)\n\t{\n\t\tif(GetCurrentProcessInfo(&Process)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"handle : Get Process information error!\\n\"));\n\t\t\treturn 1;\n\t\t}\t\t\n\t\tHandle_List(Process.ObjectTable,0-1);\n\t\treturn 0;\n\t}\n\tif(argc>3)\n\t{\nerror:\n\t\tOUTPUT(cmd_handle_usage);\n\t\treturn 1;\n\t}\n\tif(GetProcessInfoByValue(argv[1],&Process)==false)\t\t\n\t{\n\t\tif(CALCEXP(argv[1],&dwHandle)==false)\n\t\t{\n\t\t\tgoto error;\n\t\t}\n\t\tif(dwHandle==0 || dwHandle==0-1)\n\t\t\tdwHandle=0-1;\n\t\tif(argc==3)\n\t\t{\n\t\t\tif(GetProcessInfoByValue(argv[2],&Process)==false)\n\t\t\t\tgoto error;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(GetCurrentProcessInfo(&Process)==false)\n\t\t\t\tgoto error;\n\t\t}\n\t}\n\telse\n\t{\n\t\tdwHandle=0-1;\t\t\n\t\tif(argc==3)\n\t\t{\n\t\t\tif(CALCEXP(argv[2],&dwHandle))\n\t\t\t{\n\t\t\t\tif(dwHandle==0 || dwHandle==0-1)\n\t\t\t\t\tdwHandle=0-1;\n\t\t\t}\n\t\t\telse\n\t\t\t\tgoto error;\n\t\t}\n\t}\n\t\n\tHandle_List(Process.ObjectTable,dwHandle);\n\treturn 0;\n\n}\n\nint TerminateProcess_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD ExitCode=0,BaseAddress;\n\tDWORD CodeBufer[]={\n\t\t0x68909090,//push exitcode\n\t\t0,         //     exitcode          \n\t\t0xe8909090,//call GetCurrentProcess\n\t\t0,         //\t\t\n\t\t0xe8909050,//push eax   call TerminateProcess\n\t\t0x0,       //\n\t\t0xc3909090,//ret\t\t\n\t};\n\tif(argc>2)\n\t{\n\t\tOUTPUT(WSTR(\"Error: exitprocess exitcode\\n\"));\n\t\treturn 1;\n\t}\n\tif(argc==2)\n\t{\n\t\tCALCEXP(argv[1],&ExitCode);\n\t}\n\tCodeBufer[1]=ExitCode;\n\tif(pSyser->m_pOrgProcess->m_PID==0 || \n\t\tpSyser->m_pOrgProcess->m_PID==4 || \n\t\tTStrNICmp((WCHAR*)pSyser->m_pOrgProcess->m_ProcNameW,\"lsass.exe\",9)==0 ||\n\t\tTStrNICmp((WCHAR*)pSyser->m_pOrgProcess->m_ProcNameW,\"smss.exe\",8)==0 ||\n\t\tTStrNICmp((WCHAR*)pSyser->m_pOrgProcess->m_ProcNameW,\"services.exe\",12)==0 ||\n\t\tpSyser->m_pOrgProcess == pSyser->m_pCsrssProcess\n\t\t)\n\t{\n\t\tOUTPUT(WSTR(\"Error: not exit %s process\\n\"),(WCHAR*)pSyser->m_pOrgProcess->m_ProcNameW);\n\t\treturn 1;\n\t}\n\tif((Reg.SegReg[CS_IDX]&3)!=3 || gpSyser->m_pOrgProcess!=gpSyser->m_pDebugger || Reg.EIP>=0x80000000)\n\t{\n\t\treturn 1;\n\t}\t\n\tif(GetCurrentIRQLLevel()>=2)\n\t{\n\t\tOUTPUT(WSTR(\"Error: IRQL must be below DISPATCH_LEVEL.\\n\"));\n\t\treturn 1;\n\t}\n\tchar szSym[MAX_SYMBOL_LEN],szModule[MAX_FN_LEN];\n\tWCHAR szBuffer[MAX_SYMBOL_LEN],szModuleName[MAX_FN_LEN];\n\t\n\tCSymbolModule* pSymMod;\n\tpSymMod = pSyser->m_pDebugger->GetSymbolModule(\"kernel32.dll\");\n\tif(pSymMod)\n\t{\n\n\n\n\t\tDWORD GetCurrentProcessAddress;\n\t\tDWORD TerminateProcessAddress;\n\t\tbool bNXE=false,bPAE=false;\n\t\tCPUID_INFO ExInfo,TmpInfo;\n\t\tmemset(&TmpInfo,0,sizeof(TmpInfo));\n\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\tSyserGetCPUID(&TmpInfo,0x80000000);\n\t\tDWORD dwHiMiscFeature,dwLoMiscFeature;\n\t\tif(TmpInfo.dwEAX>=0x80000001)\n\t\t{\t\t\n\t\t\tSyserGetCPUID(&ExInfo,0x80000001);\n\t\t\tif(((ExInfo.dwEDX & 0x20000000)>>29)==1 || ((ExInfo.dwEDX & 0x100000)>>20)==1)\n\t\t\t{\n\t\t\t\tbNXE=true;\n\t\t\t}\n\t\t\tif(bNXE)\n\t\t\t{\n\t\t\t\tif(SyserReadMSR(0xc0000080,&dwHiMiscFeature,&dwLoMiscFeature))\n\t\t\t\t{\n\t\t\t\t\tif(((dwLoMiscFeature&0x800)>>11)==0)\n\t\t\t\t\t\tbNXE=false;\n\t\t\t\t}\n\t\t\t}\t\t\t\t\n\t\t}\n\n\t\tbPAE = (GetCR4Register() & CR4_PAE_BIT_MASK) ? true : false;\n\n\t\tif(pSymMod->GetAddress(\"GetCurrentProcess\",&GetCurrentProcessAddress)==false)\n\t\t\treturn 1;\n\t\tif(pSymMod->GetAddress(\"TerminateProcess\",&TerminateProcessAddress)==false)\n\t\t\treturn 1;\t\n\t\tRUNCMD(WSTR(\"r eip esp-3c\"));\n\t\t\n\t\tCodeBufer[3]=GetCurrentProcessAddress-Reg.EIP-5-8-3;\n\t\tCodeBufer[5]=TerminateProcessAddress-Reg.EIP-5-0x10-3;\n\t\tif(bPAE&&bNXE)\n\t\t{\n\t\t\tPX86_36_PDE pCurrent36PDEBegin;\n\t\t\tPX86_36_PDE_2M pCurrent36PDE2M;\n\t\t\tPX86_36_PTE pPageTable36Begin;\n\t\t\tpCurrent36PDE2M=(PX86_36_PDE_2M)0xc0600000;\n\t\t\tpCurrent36PDEBegin=(PX86_36_PDE)0xc0600000;\n\t\t\tpPageTable36Begin=(PX86_36_PTE)0xc0000000;\n\t\t\tif(pCurrent36PDEBegin[Reg.EIP>>21].u.Page2M)\n\t\t\t{\n\t\t\t\tpCurrent36PDEBegin[Reg.EIP>>21].u.NXE=0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpPageTable36Begin[Reg.EIP>>12].u.NXE=0;\n\t\t\t}\n\t\t}\n\t\tSafeMemCopy((BYTE*)Reg.EIP,(BYTE*)CodeBufer,sizeof(CodeBufer));\t\t\n\t\t//Reg.GeneReg[ESP_IDX]-=sizeof(CodeBufer);\n\t\t//Reg.GeneReg[ESP_IDX]-=0x14;\n\t\t//RUNCMD(WSTR(\"r esp esp-30\"));\n\t\t//RUNCMD(WSTR(\"x\"));\n\t}\t\n\t\n\tgpSyserCfg->m_ExceptionDebugInfo=1;\n\treturn 0;\n}\n\nPCWSTR SyserHeapName[]=\n{\n\tWSTR(\"Main   Heap     \"),\n\tWSTR(\"Screen Heap Ļ  \"),\n\tWSTR(\"Source Heap Դ\"),\n};\n\nint syserheapinfo_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tOUTPUT(WSTR(\"-------------------------------------------------------------\\n\"));\n\tOUTPUT(WSTR(\"Syser Kernel Debugger Inside Information\\n\"));\n\tfor(int n=0;n<gMaxUserHeapCount;n++)\n\t{\n\t\tOUTPUT(WSTR(\"%<F>%s %<1>ܿռ%<5>%10d%<1>k / ʣ%<5>%10d%<1>k\\n\"),SyserHeapName[n],gpUserHeap[n]->m_HeapSize/1024,gpUserHeap[n]->m_FreeChunkCount*MP_SIZE/1024);\n\t}\n\tOUTPUT(WSTR(\"-------------------------------------------------------------\\n\"));\n\treturn 0;\n}\ntypedef struct _SYSER_OBJTAB\n{\n\tDWORD Object;\n\tDWORD OwnerThread;\n\tunion\n\t{\n\t\tBYTE Flags[4];\n\t\tDWORD Value;\n\t\tWORD wValue[2];\n\t};\n\t\n}SYSER_OBJTAB,*PSYSER_OBJTAB;\n\nDWORD GetObjtabRoot()\n{\t\n\tif(gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==0)\n\t\treturn 0xA0200000;\t\t\t \n\tif(gpSyser->m_OSMajorVersion==5 && gpSyser->m_OSMinorVersion==1)\n\t\treturn 0xbc510000;\n\tif(gpSyser->m_OSMinorVersion==6 && gpSyser->m_OSMinorVersion==0)\n\t\treturn 0xff910000;\n\treturn 0;\n}\nbool GetObjtabEntry(PSYSER_OBJTAB Info,DWORD& Index,DWORD dwType)\n{\n\t\n\tDWORD Root=GetObjtabRoot();\n\tif(Root==0)\n\t\treturn false;\n\tPSYSER_OBJTAB ObjTab=(PSYSER_OBJTAB)Root;\n\tmemset(Info,0,sizeof(SYSER_OBJTAB));\n\tdo \n\t{\n\t\tif(SafeMemCopy((BYTE*)Info,(BYTE*)&ObjTab[Index],sizeof(SYSER_OBJTAB))!=sizeof(SYSER_OBJTAB))\n\t\t{\n\t\t\tIndex++;\n\t\t\treturn false;\n\t\t}\n\t\tIndex++;\n\t} while(dwType!=0-1 && Info->Flags[0]!=dwType);\t\t\n\treturn true;\n}\n\nint bpp_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwValue,Address;\n\tbool bOK=false,bOK1=false;\n\tSYSER_THREAD pThread;\t\n\tSYSER_VALUE_TYPE ValueType;\n\tPSYSER_KTRAP_FRAME pTrapFrame;\n\tSYSER_PROCESS pProcess;\n\n\tif(argc!=2)\n\t\treturn 0;\n\tif(CALCEXP(argv[1],&dwValue)==false)\n\t\treturn 0;\n\tmemset(&pThread,0,sizeof(pThread));\n\tValueType = GetValueType(dwValue);\n\tswitch(ValueType)\n\t{\n\tcase VALUE_TYPE_THREAD_PTR:\n\t\tbOK=GetThreadInfoByETHREAD(dwValue,&pThread);\t\n\t\tif(bOK)\n\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\tbreak;\n\tcase VALUE_TYPE_THREAD_ID:\t\t\t\n\t\tbOK = GetThreadByID(dwValue,&pThread);\t\n\t\tif(bOK)\n\t\t\tbOK=GetProcessByEPROCESS(pThread.Process,&pProcess);\n\t\tbreak;\t\t\n\tcase VALUE_TYPE_PROCESS_ID:\n\t\tbOK=GetProcessByID(dwValue,&pProcess);\n\t\tbreak;\n\tcase VALUE_TYPE_PROCESS_PTR:\n\t\tbOK=GetProcessInfoByEPROCESS(dwValue,&pProcess);\n\t\tbreak;\n\n\t}\n\t\n\tif(bOK==false)\n\t\treturn 0;\n\n\tmemset(&pThread,0,sizeof(pThread));\n\tbOK1 = GetThreadInfoByETHREAD((DWORD)pProcess.ThreadHead,&pThread);\n\tTMap<DWORD,DWORD> AddrMap;\n\tWCHAR cmdString[50];\n\tTSPrintf(cmdString,WSTR(\"addr %x\"),pProcess.UniqueProcessId);\n\tRUNCMD(cmdString);\n\twhile(bOK1)\n\t{\n\t\tpTrapFrame = (PSYSER_KTRAP_FRAME)pThread.TrapFrame;\n\t\tif(pTrapFrame)\n\t\t{\n\t\t\tAddress = (DWORD)&pTrapFrame->Eip;\n\t\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&dwValue,sizeof(dwValue))==sizeof(dwValue))\n\t\t\t{\n\t\t\t\tif(AddrMap.Find(dwValue)==AddrMap.End())\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(cmdString,WSTR(\"bpx %08x if PID==%x\"),dwValue,pProcess.UniqueProcessId);\n\t\t\t\t\tRUNCMD(cmdString);\n\t\t\t\t\tAddrMap.InsertUnique(dwValue,0);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tbOK1=GetNextThread(&pThread);\t\t\n\t}\n\tAddrMap.Clear();\n\treturn 0;\n}\n\nint bpt_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD dwValue,Address;\n\tbool bOK=false;\n\tSYSER_THREAD pThread;\n\tSYSER_VALUE_TYPE ValueType;\n\tPSYSER_KTRAP_FRAME pTrapFrame;\n\tSYSER_PROCESS pProcess;\n\t\n\tif(argc!=2)\n\t\treturn 0;\n\tif(CALCEXP(argv[1],&dwValue)==false)\n\t\treturn 0;\n\tmemset(&pThread,0,sizeof(pThread));\n\tValueType = GetValueType(dwValue);\n\tswitch(ValueType)\n\t{\n\t\tcase VALUE_TYPE_THREAD_PTR:\n\t\t\tbOK=GetThreadInfoByETHREAD(dwValue,&pThread);\t\n\t\t\tbreak;\n\t\tcase VALUE_TYPE_THREAD_ID:\t\t\t\n\t\t\tbOK = GetThreadByID(dwValue,&pThread);\t\n\t\t\tbreak;\n\t}\n\t\n\tif(bOK==false||pThread.TrapFrame==0)\n\t\treturn 0;\n\tmemset(&pProcess,0,sizeof(pProcess));\n\tbOK = GetProcessByEPROCESS(pThread.Process,&pProcess);\n\tif(bOK==false)\n\t\treturn 0;\n\t\n\tpTrapFrame = (PSYSER_KTRAP_FRAME)pThread.TrapFrame;\n\tAddress = (DWORD)&pTrapFrame->Eip;\n\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&dwValue,sizeof(dwValue))==sizeof(dwValue))\n\t{\n\t\tWCHAR cmdString[50];\n\t\tTSPrintf(cmdString,WSTR(\"addr %x\"),pProcess.UniqueProcessId);\n\t\tRUNCMD(cmdString);\n\t\tTSPrintf(cmdString,WSTR(\"bpx %08x if TID==%x\"),dwValue,pThread.ThreadID);\n\t\tRUNCMD(cmdString);\n\t}\n\treturn 0;\n}\nint objtab_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tCDbgProcess*pDbgProcess=NULL;\n\tDWORD dwParam;\n\tWCHAR unknowtype[]=WSTR(\"???\");\n\tWCHAR* pTypeName;\n\tWCHAR *TypeName[][2]=\n\t{\n\t\t{WSTR(\"FREE\"),\t\t\t\tWSTR(\"FREE\")},\n\t\t{WSTR(\"Hwnd\"),             WSTR(\"HWND\")},\n\t\t{WSTR(\"Menu\"),\t\t\t   WSTR(\"MENU\")},\n\t\t{WSTR(\"Icon/Cursor\"),\t   WSTR(\"ICON\")},\n\t\t{WSTR(\"DeferWindow\"),\t   WSTR(\"DFRW\")},\n\t\t{WSTR(\"Hook\"),\t\t\t   WSTR(\"HOOK\")},\n\t\t{WSTR(\"Thread Info\"),\t   WSTR(\"TINF\")},\n\t\t{WSTR(\"CB Format\"),\t\t   WSTR(\"CBF\")},\n\t\t{WSTR(\"Call Proc\"),\t\t   WSTR(\"CPD\")},\n\t\t{WSTR(\"Accel. Table\"),\t   WSTR(\"ACCL\")},\n\t\t{WSTR(\"Dde Object\"),\t\tWSTR(\"DDE\")},\n\t\t{WSTR(\"???\"),\t\t\t   WSTR(\"unkB\")},\n\t\t{WSTR(\"???\"),\t\t\t   WSTR(\"unkC\")},\n\t\t{WSTR(\"???\"),\t\t\t   WSTR(\"unkD\")},\n\t\t{WSTR(\"Kbd Layout\"),\tWSTR(\"KBD\")},\n\t\t{WSTR(\"Wndw Station\"),\t   WSTR(\"WSTN\")},\n\t};\n#ifdef CODE_OS_NT_DRV\n\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"csrss\"));\n\tif(pDbgProcess==NULL)\n\t\treturn 0;\n\tgpSyser->MapToProcess(pDbgProcess);\t\t\n#endif\n\tDWORD ObjtabRoot=GetObjtabRoot();\n\tif(ObjtabRoot==0)\n\t\treturn 0;\n\tDWORD dwIndex=0,dwType=0-1;\n\tSYSER_OBJTAB objtab;\n\tint i,m,j;\n\tWCHAR Title[]=WSTR(\"Object    Type            Id  Handle    Owner     Flags\\n\");\n\tDWORD owner;\n\tDWORD dwHandle;\n\tDWORD dwCount=0;\n\tif(argc==1)\n\t{\n\t\tdwIndex=0;\n\t\tdwType=-1;\n\t\tOUTPUT(Title);\n\t\twhile(GetObjtabEntry(&objtab,dwIndex,dwType))\n\t\t{\n\t\t\towner=0;\n\t\t\tif(objtab.Value)\n\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\tif(objtab.OwnerThread )\n\t\t\t\t\tReadDword((void*)objtab.OwnerThread,&owner);\n\t\t\t\tdwHandle=objtab.wValue[1];\n\t\t\t\tdwHandle<<=0x10;\n\t\t\t\tdwHandle+=dwIndex;\n\t\t\t\tif(objtab.Flags[0]<sizeof(TypeName)/sizeof(TypeName[0]))\n\t\t\t\t\tpTypeName=TypeName[objtab.Flags[0]][0];\n\t\t\t\telse\n\t\t\t\t\tpTypeName=unknowtype;\n\t\t\t\tOUTPUT(WSTR(\"%08x %-15s %02x %08x %08x %02x\\n\"),objtab.Object,pTypeName,objtab.Flags[0],dwHandle-1,owner,objtab.Flags[1]);\n\t\t\t\tdwCount++;\n\t\t\t}\n\t\t}\n\t\tOUTPUT(WSTR(\"Objects (%d)\\n\"),dwCount);\n\t\treturn 0;\n\t}\n\tif(argc>1)\n\t{\n\t\tfor(i=1;i<argc;i++)\n\t\t{\n\t\t\tif(argv[i][0]=='-' || argv[i][0]=='/')\n\t\t\t{\n\t\t\t\tif((argv[i][1]=='h' || argv[i][1]=='H')&& argv[i][2]==0)\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"OBJTAB [-h] [index | handle | type-name]\\n\\n\"));\n\t\t\t\t\tOUTPUT(WSTR(\"Object type names:\\n\"));\n\t\t\t\t\tfor(j=0;j<sizeof(TypeName)/sizeof(TypeName[0]);j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tOUTPUT(WSTR(\"%-4s  - %s\\n\"),TypeName[j][1],TypeName[j][0]);\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Objtab input error!\\n\"));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t\n\t\t\tif(CALCEXP(argv[i],&dwIndex)==false)\n\t\t\t{\n\t\t\t\tfor(m=0;m<sizeof(TypeName)/sizeof(TypeName[0]);m++)\n\t\t\t\t{\n\t\t\t\t\tif(TStrICmp(TypeName[m][1],argv[i])==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwType=m;\n\t\t\t\t\t\tdwIndex=0;\n\t\t\t\t\t\twhile(GetObjtabEntry(&objtab,dwIndex,dwType))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\towner=0;\n\t\t\t\t\t\t\tif(objtab.Value)\n\t\t\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif(objtab.OwnerThread )\n\t\t\t\t\t\t\t\t\tReadDword((void*)objtab.OwnerThread,&owner);\n\t\t\t\t\t\t\t\tdwHandle=objtab.wValue[1];\n\t\t\t\t\t\t\t\tdwHandle<<=0x10;\n\t\t\t\t\t\t\t\tdwHandle+=dwIndex;\n\t\t\t\t\t\t\t\tOUTPUT(WSTR(\"%08x %-15s %02x %08x %08x %02x\\n\"),objtab.Object,TypeName[m][0],objtab.Flags[0],dwHandle-1,owner,objtab.Flags[1]);\n\t\t\t\t\t\t\t\tdwCount++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(m==sizeof(TypeName)/sizeof(TypeName[0]))\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"Objtab input error!\\n\"));\n\t\t\t\t\treturn 0;\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(dwIndex>=0x10000)\n\t\t\t\t\tdwIndex&=0xffff;\n\t\t\t\tdwType=0-1;\n\t\t\t\tif(GetObjtabEntry(&objtab,dwIndex,dwType))\n\t\t\t\t{\n\t\t\t\t\towner=0;\n\t\t\t\t\tif(objtab.Value)\n\t\t\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\t\t\tif(objtab.OwnerThread )\n\t\t\t\t\t\t\tReadDword((void*)objtab.OwnerThread,&owner);\n\t\t\t\t\t\tdwHandle=objtab.wValue[1];\n\t\t\t\t\t\tdwHandle<<=0x10;\n\t\t\t\t\t\tdwHandle+=dwIndex;\n\t\t\t\t\t\tif(objtab.Flags[0]<sizeof(TypeName)/sizeof(TypeName[0]))\n\t\t\t\t\t\t\tpTypeName=TypeName[objtab.Flags[0]][0];\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tpTypeName=unknowtype;\n\t\t\t\t\t\tOUTPUT(WSTR(\"%08x %-15s %02x %08x %08x %02x\\n\"),objtab.Object,pTypeName,objtab.Flags[0],dwHandle-1,owner,objtab.Flags[1]);\n\t\t\t\t\t\tdwCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\t\t\t\t\t\t\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Objects (%d)\\n\"),dwCount);\n\treturn 0;\n}\n\nint dt_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\treturn 0;\n}\n\nint lastbranch_command(int argc,WCHAR *argv[],PCWSTR szCommandLine,CSyser *pSyser)\n{\n\tDWORD Index,From,To;\n\t\n\tfor(int i =0;i<16;i++)\n\t{\n\t\tif(GetLastBranchAddress(i,&From,&To)==false)\n\t\t\tbreak;\n\t\tOUTPUT(WSTR(\"[%d] MSR LastBranchFromIP %08X     LastBranchToIP %08X\\n\"),i,From,To);\n\t}\n\treturn 0;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserCmd.h",
    "content": "#ifndef _SYSER_CMD_\n#define _SYSER_CMD_\n\n#include \"DbgProcess.h\"\n#include \"USBCmd.h\"\n\nextern SYSER_CMD_ENTRY\tSysCmdTable[];\n\nDECLARE_SYSER_CMD(f_command);\nDECLARE_SYSER_CMD(objtab_command);\nDECLARE_SYSER_CMD(bpt_command);\nDECLARE_SYSER_CMD(bpp_command);\n//DECLARE_SYSER_CMD(bpr_command);\n\nDECLARE_SYSER_CMD(m_command);\nDECLARE_SYSER_CMD(ioapic_command);\nDECLARE_SYSER_CMD(localapic_command);\nDECLARE_SYSER_CMD(export_command);\nDECLARE_SYSER_CMD(test_command);\nDECLARE_SYSER_CMD(addr_command);\nDECLARE_SYSER_CMD(proc_command);\nDECLARE_SYSER_CMD(ver_command);\nDECLARE_SYSER_CMD(data_command);\nDECLARE_SYSER_CMD(code_command);\n\nDECLARE_SYSER_CMD(cpuid_command);\nDECLARE_SYSER_CMD(set_softice_baseaddress_command);\nDECLARE_SYSER_CMD(d_softice_command);\nDECLARE_SYSER_CMD(u_softice_command);\nDECLARE_SYSER_CMD(ib_command);\nDECLARE_SYSER_CMD(ob_command);\n\nDECLARE_SYSER_CMD(setkeyboardLED_command);\nDECLARE_SYSER_CMD(DebugRegisterMonitor_command);\nDECLARE_SYSER_CMD(r_command);\nDECLARE_SYSER_CMD(pci_command);\nDECLARE_SYSER_CMD(skip_command);\nDECLARE_SYSER_CMD(ignore_command);\nDECLARE_SYSER_CMD(p_command);\nDECLARE_SYSER_CMD(page_command);\nDECLARE_SYSER_CMD(phys_command);\nDECLARE_SYSER_CMD(idt_command);\nDECLARE_SYSER_CMD(gdt_command);\nDECLARE_SYSER_CMD(ldt_command);\nDECLARE_SYSER_CMD(tss_command);\nDECLARE_SYSER_CMD(irq_command);\nDECLARE_SYSER_CMD(msr_command);\nDECLARE_SYSER_CMD(peekb_command);\nDECLARE_SYSER_CMD(peekw_command);\nDECLARE_SYSER_CMD(peekd_command);\nDECLARE_SYSER_CMD(pokeb_command);\nDECLARE_SYSER_CMD(pokew_command);\nDECLARE_SYSER_CMD(poked_command);\nDECLARE_SYSER_CMD(bpint_command);\nDECLARE_SYSER_CMD(ntcall_command);\nDECLARE_SYSER_CMD(ntcall2_command);\nDECLARE_SYSER_CMD(objdir_command);\nDECLARE_SYSER_CMD(device_command);\nDECLARE_SYSER_CMD(driver_command);\nDECLARE_SYSER_CMD(kmutex_command);\nDECLARE_SYSER_CMD(kevent_command);\nDECLARE_SYSER_CMD(ksem_command);\nDECLARE_SYSER_CMD(peek_command);\nDECLARE_SYSER_CMD(poke_command);\nDECLARE_SYSER_CMD(msr_command);\nDECLARE_SYSER_CMD(pagein_command);\nDECLARE_SYSER_CMD(i3here_command);\nDECLARE_SYSER_CMD(i1here_command);\nDECLARE_SYSER_CMD(genint_command);\nDECLARE_SYSER_CMD(exp_command);\nDECLARE_SYSER_CMD(hboot_command);\nDECLARE_SYSER_CMD(wf1_command);\nDECLARE_SYSER_CMD(help_command);\nDECLARE_SYSER_CMD(beep_command);\nDECLARE_SYSER_CMD(syser_heap_information);\nDECLARE_SYSER_CMD(vad_command);\nDECLARE_SYSER_CMD(pte_command);\nDECLARE_SYSER_CMD(set_softice_baseaddress_command);\nDECLARE_SYSER_CMD(d_softice_command);\nDECLARE_SYSER_CMD(u_softice_command);\nDECLARE_SYSER_CMD(activesoftice_command);\nDECLARE_SYSER_CMD(ikey_command);\nDECLARE_SYSER_CMD(window_center_command);\nDECLARE_SYSER_CMD(sysertest);\nDECLARE_SYSER_CMD(dispinfo_command);\nDECLARE_SYSER_CMD(sdsrv_command);\nDECLARE_SYSER_CMD(plugin_command);\nDECLARE_SYSER_CMD(syserheapinfo_command);\nDECLARE_SYSER_CMD(acpi_shutdown_command);\nDECLARE_SYSER_CMD(TerminateProcess_command);\nDECLARE_SYSER_CMD(faults_command);\nDECLARE_SYSER_CMD(handle_command);\nDECLARE_SYSER_CMD(dt_command);\nDECLARE_SYSER_CMD(lastbranch_command);\n#endif /* _SYSER_CMD_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserConfig.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserConfig.h\"\n#include \"Syser.h\"\n\ntypedef struct _KEY_VALUE_FULL_INFORMATION_STRUCT\n{\n\tKEY_VALUE_FULL_INFORMATION KeyValueInformation;\n\tBYTE Value[512];\n}KEY_VALUE_FULL_INFORMATION_STRUCT,*PKEY_VALUE_FULL_INFORMATION_STRUCT;\n\nvoid CSyserConfig::SetDriverRegistryPath(PUNICODE_STRING RegistryPath)\n{\n\tif(RegistryPath==NULL)\n\t\tm_DriverRegistryPath[0]=0;\n\telse\n\t\tUnicodeStrCpy(m_DriverRegistryPath,RegistryPath,sizeof(m_DriverRegistryPath)/sizeof(WCHAR));\n}\n\nCSyserConfig::CSyserConfig()\n{\n\tm_RegStart=UNINITIALIZATION_VALUE;\n\tm_SupportSofticeCheck=UNINITIALIZATION_VALUE;\n\tm_SupportDebugRegisterMontior=UNINITIALIZATION_VALUE;\n\tm_SupportTimerInterrupt=UNINITIALIZATION_VALUE;\n\tm_SupportKeyboardLedProgram=UNINITIALIZATION_VALUE;\n\tm_DisableDisplay=UNINITIALIZATION_VALUE;\n\tm_DebugKeyboardInterrupt=UNINITIALIZATION_VALUE;\n\tm_ExceptionDebugInfo=UNINITIALIZATION_VALUE;\n\n\tm_PS2NULLKeyboard=UNINITIALIZATION_VALUE;\n\tm_CheckPS2Mouse=0;\n\tm_PS2MouseType=0;\n\tm_DisableCopyOnWrite = 0;\n\tm_MouseDoubleClickTimeInterval=UNINITIALIZATION_VALUE;\n\tm_PatchKeBugCheckEx=1;\n\tm_DisableUSBInput=UNINITIALIZATION_VALUE;\n\tm_DisableRWPortHook=0;\n\tm_DisableHookException=0;\n\tm_SupportVMWareMouse=0;\n}\n\nbool CSyserConfig::WriteDwordValue(WCHAR *pValue,DWORD dwValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tKEY_VALUE_FULL_INFORMATION_STRUCT KeyValueInformation;\n\tPKEY_VALUE_FULL_INFORMATION_STRUCT pKeyValueInformation;\n\tULONG BufLen;\n\tBufLen = sizeof(KeyValueInformation);\n\tpKeyValueInformation=&KeyValueInformation;\n\tif(pKey==NULL)\t\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_QUERY_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\t\t\t\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tntStatus = ZwSetValueKey(hKeyHandle,&ValueName,0,REG_DWORD,&dwValue,sizeof(DWORD));\n\tZwClose(hKeyHandle);\n\treturn ntStatus==STATUS_SUCCESS;\n}\n\nbool CSyserConfig::ReadDwordValue(WCHAR *pValue,DWORD *pdwRetValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tKEY_VALUE_FULL_INFORMATION_STRUCT KeyValueInformation;\n\tif(pKey==NULL)\t\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_QUERY_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tif(ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes)!=STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tif(ZwQueryValueKey(hKeyHandle,&ValueName,KeyValueFullInformation,&KeyValueInformation,sizeof(KeyValueInformation),&ResultLength)!=STATUS_SUCCESS)\n\t{\n\t\tZwClose(hKeyHandle);\n\t\treturn false;\n\t}\n\t*pdwRetValue = *(DWORD*)(RT_PBYTE(&KeyValueInformation,KeyValueInformation.KeyValueInformation.DataOffset));\n\tZwClose(hKeyHandle);\n\treturn true;\n}\n\nbool CSyserConfig::WriteQwordValue(WCHAR *pValue,QWORD qwValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\n\tif(pKey==NULL)\t\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_SET_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\t\t\t\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tntStatus = ZwSetValueKey(hKeyHandle,&ValueName,0,REG_QWORD,&qwValue,sizeof(QWORD));\n\tZwClose(hKeyHandle);\n\treturn ntStatus==STATUS_SUCCESS;\n}\n\nbool CSyserConfig::ReadQwordValue(WCHAR *pValue,QWORD *pRetQword,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tKEY_VALUE_FULL_INFORMATION_STRUCT KeyValueInformation;\n\tif(pKey==NULL)\t\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_QUERY_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tif(ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes) != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tif(ZwQueryValueKey(hKeyHandle,&ValueName,KeyValueFullInformation,&KeyValueInformation,sizeof(KeyValueInformation),&ResultLength)!=STATUS_SUCCESS)\n\t{\n\t\tZwClose(hKeyHandle);\n\t\treturn false;\n\t}\n\t*pRetQword = *(QWORD*)(RT_PBYTE(&KeyValueInformation,KeyValueInformation.KeyValueInformation.DataOffset));\n\tZwClose(hKeyHandle);\n\treturn true;\n}\n\n\nbool CSyserConfig::WriteStringValue(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tNTSTATUS ntStatus;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\n\tif(pKey==NULL)\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_SET_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tntStatus = ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes);\n\tif(ntStatus != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tntStatus = ZwSetValueKey(hKeyHandle,&ValueName,0,REG_SZ,szValue,TStrLen(szValue)*2+2);\n\tZwClose(hKeyHandle);\n\treturn ntStatus==STATUS_SUCCESS;\n}\n\nbool CSyserConfig::ReadStringValue(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey)\n{\n\tULONG ResultLength;\n\tUNICODE_STRING RegKey,ValueName;\n\tHANDLE hKeyHandle;\n\tACCESS_MASK DesiredAccess;\n\tOBJECT_ATTRIBUTES ObjectAttributes;\n\tKEY_VALUE_FULL_INFORMATION_STRUCT KeyValueInformation;\n\tif(pKey==NULL)\t\n\t\tif(m_DriverRegistryPath[0]==0)\n\t\t\treturn false;\n\t\telse\n\t\t\tpKey = &m_DriverRegistryPath[0];\n\tRtlInitUnicodeString(&RegKey,pKey);\n\tDesiredAccess=KEY_QUERY_VALUE;\n\tObjectAttributes.Length=sizeof(OBJECT_ATTRIBUTES);\n\tObjectAttributes.RootDirectory=0;\n\tObjectAttributes.ObjectName=&RegKey;\n\tObjectAttributes.Attributes=OBJ_CASE_INSENSITIVE;\n\tObjectAttributes.SecurityDescriptor=0;\n\tObjectAttributes.SecurityQualityOfService=0;\n\tif(ZwOpenKey(&hKeyHandle,DesiredAccess,&ObjectAttributes) != STATUS_SUCCESS)\n\t\treturn false;\n\tRtlInitUnicodeString(&ValueName,pValue);\n\tif(ZwQueryValueKey(hKeyHandle,&ValueName,KeyValueFullInformation,&KeyValueInformation,sizeof(KeyValueInformation),&ResultLength)!=STATUS_SUCCESS)\n\t{\n\t\tZwClose(hKeyHandle);\n\t\treturn false;\n\t}\n\tTStrCpy(szValue,(PCWSTR)RT_PBYTE(&KeyValueInformation,KeyValueInformation.KeyValueInformation.DataOffset));\n\tZwClose(hKeyHandle);\n\treturn true;\n}\n\nvoid CSyserConfig::LoadConfig()\n{\n\tReadDwordValue(SUPPORT_SOFTICE_CHECK,&m_SupportSofticeCheck);\n\tReadDwordValue(SUPPORT_TIMER_INTERRUPT,&m_SupportTimerInterrupt);\n\tReadDwordValue(SUPPORT_DEBUG_REGISTER_MONTIOR,&m_SupportDebugRegisterMontior);\n\tReadDwordValue(SUPPORT_KEYBOARD_LED_PROGRAM,&m_SupportKeyboardLedProgram);\n\tReadDwordValue(DISABLE_DISPLAY,&m_DisableDisplay);\n\tReadDwordValue(DEBUG_KEBOARD_INTERRUPT,&m_DebugKeyboardInterrupt);\n\tReadDwordValue(PATCH_KEBUGCHECKEX,&m_PatchKeBugCheckEx);\n\tReadDwordValue(EXCEPTION_DEBUG_INFO,&m_ExceptionDebugInfo);\n\tReadDwordValue(CHECK_PS2_MOUSE,&m_CheckPS2Mouse);\n\tReadDwordValue(PS2MOUSE_TYPE,&m_PS2MouseType);\n\tReadDwordValue(NULL_PS2_KEYBOARD,&m_PS2NULLKeyboard);\n\tReadDwordValue(DBLCLK_TIME_INTERVAL,&m_MouseDoubleClickTimeInterval);\n\tReadDwordValue(DISABLE_USBINPUT,&m_DisableUSBInput);\t\n\tReadDwordValue(DISABLE_RWPORTHOOK,&m_DisableRWPortHook);\t\n\tReadDwordValue(DISABLE_HOOKEXCEPTION,&m_DisableHookException);\t\n\tReadDwordValue(SUPPORT_VMWAREMOUSE,&m_SupportVMWareMouse);\n\tReadDwordValue(DISABLE_COPYONWRITE,&m_DisableCopyOnWrite);\t\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserConfig.h",
    "content": "#ifndef _SYSERCONFIG_H_\n#define _SYSERCONFIG_H_\n\n#include \"SyserRegistryConfig.h\"\n\n\nclass CSyserConfig\n{\n\tWCHAR m_DriverRegistryPath[256];\npublic:\t\n\tCSyserConfig();\n\t~CSyserConfig(){};\n\tbool ReadDwordValue(WCHAR *pValue,DWORD *pRetDword,WCHAR *pKey=NULL);\n\tbool WriteDwordValue(WCHAR *pValue,DWORD dwValue,WCHAR *pKey=NULL);\n\n\tbool ReadQwordValue(WCHAR *pValue,QWORD *pRetQword,WCHAR *pKey=NULL);\n\tbool WriteQwordValue(WCHAR *pValue,QWORD qwValue,WCHAR *pKey=NULL);\n\n\tbool WriteStringValue(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey=NULL);\n\tbool ReadStringValue(WCHAR *pValue,WCHAR* szValue,WCHAR *pKey=NULL);\n\tvoid LoadConfig();\n\tvoid SetDriverRegistryPath(PUNICODE_STRING RegistryPath);\n\tDWORD m_RegStart;\n\tDWORD m_SupportSofticeCheck;\n\tDWORD m_SupportDebugRegisterMontior;\n\tDWORD m_SupportTimerInterrupt;\n\tDWORD m_SupportKeyboardLedProgram;\n\tDWORD m_DisableDisplay;\n\tDWORD m_DebugKeyboardInterrupt;\n\tDWORD m_PatchKeBugCheckEx;\n\tDWORD m_ExceptionDebugInfo;\n\tDWORD m_CheckPS2Mouse;\n\tDWORD m_PS2MouseType;\n\tDWORD m_PS2NULLKeyboard;\n\tDWORD m_MouseDoubleClickTimeInterval;\n\tDWORD m_DisableUSBInput;\n\tDWORD m_DisableRWPortHook;\n\tDWORD m_DisableHookException;\n\tDWORD m_SupportVMWareMouse;\n\tDWORD m_DisableCopyOnWrite;\n};\n\n\n#endif /* _SYSERCONFIG_H_ */"
  },
  {
    "path": "Project/Syser/Source/SyserConnect.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserConnect.h\"\n\n\nCSyserConnect::CSyserConnect()\n{\n\n}\n\nCSyserConnect::~CSyserConnect()\n{\n\n}\n\nint CSyserConnect::RecvDataBuffer()\n{\n\tint Size;\n\tif(m_BufSize>=m_MaxBufSize)\n\t\tm_BufSize = 0;\n\tSize = RecvData(&m_Buffer[m_BufSize],m_MaxBufSize-m_BufSize);\n\tm_BufSize+=Size;\n\treturn Size;\n}\n"
  },
  {
    "path": "Project/Syser/Source/SyserConnect.h",
    "content": "#ifndef _SYSER_CONNECT_H_\n#define _SYSER_CONNECT_H_\n\nclass CSyserConnect\n{\npublic:\n\tCSyserConnect();\n\t~CSyserConnect();\npublic:\n\tvirtual bool\tInit() = 0;\n\tvirtual void\tRelease() = 0;\n\tvirtual int\t\tRecvData(void*Buffer,int BufSize) = 0;\n\tvirtual int\t\tSendData(void*Buffer,int BufSize) = 0;\n\tvirtual\tint\t\tRecvDataBuffer();\n\tBYTE*\tm_Buffer;\n\tint\t\tm_MaxBufSize;\n\tint\t\tm_BufSize;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SyserDefine.h",
    "content": "#ifndef _SYSER_DEFINE_H_\n#define _SYSER_DEFINE_H_\n\n#define SYSER_VERSION\t\t\t\t\"1.97\"\n\n#define\tMAIN_WND_NAME\t\t\t\t\"Syser : Active Hotkey [Ctrl+F12]\"\n\n#ifdef CODE_OS_WIN\n#define WM_SYSER_APP_RELOAD_CFG\t\t(WM_USER+0x101)\n#endif \n\n#define SDP_NULL\t\t\t\t\t0x00000000\n#define SDP_AUTO_UNLOAD_SDS\t\t\t0x00000001//˳ʱжصSDS\n///////////////////////////////////////////////\n//ϲʹ\n#define SDP_LOAD_SDS\t\t\t\t0x00010000\n#define SDP_LOAD_DEP_SDS\t\t\t0x00020000\n///////////////////////////////////////////////\ntypedef struct _SYSER_DEBUG_PROCESS\n{\n\tDWORD Style;\n\tDWORD ProcessID;\n\tchar ExeFullPathName[MAX_PATH];\n\tchar SymbolFileName[MAX_PATH];\n}SYSER_DEBUG_PROCESS,*PSYSER_DEBUG_PROCESS;\n\ntypedef struct _SYSER_DEBUG_DRIVER\n{\n\tDWORD Style;\n\tchar DriverPathName[MAX_PATH];\n\tchar SymbolFileName[MAX_PATH];\n}SYSER_DEBUG_DRIVER,*PSYSER_DEBUG_DRIVER;\n\ntypedef struct _SYSER_LOAD_IDA_MAPFILE\n{\n\tchar ModuleName[MAX_PATH];\n\tchar IDAMapFile[MAX_PATH];\n}SYSER_LOAD_IDA_MAPFILE,*PSYSER_LOAD_IDA_MAPFILE;\n\ntypedef struct _SYSER_PROCESS_MEMORY_READ_WRITE\n{\n\tDWORD ProcessID;\n\tvoid* Address;\n}SYSER_READ_PROCESS_MEMORY,*PSYSER_READ_PROCESS_MEMORY,SYSER_WRITE_PROCESS_MEMORY,*PSYSER_WRITE_PROCESS_MEMORY;\n\ntypedef struct _SYSER_CORRECT_VIDEO_PARAM\n{\n\tvoid*\tFrameBuffer;\n\tint\t\tBufferSize;\n\tint\t\tPitch;\n\tint\t\tWidth;\n\tint\t\tHeight;\n\tint\t\tBpp;\n\tUINT\tPID;\n}SYSER_CORRECT_VIDEO_PARAM,*PSYSER_CORRECT_VIDEO_PARAM;\n\ntypedef struct _SYSER_FRAME_BUFFER\n{\n\tint\t\tWidth;\n\tint\t\tHeight;\n\tint\t\tBpp;\n\tvoid*\tBaseBuffer;\n\tvoid*\tBuffer;\n\tint\t\tLineDistance;\n\tint\t\tPixelFormat;\n}SYSER_FRAME_BUFFER,*PSYSER_FRAME_BUFFER;\n\ntypedef struct _SYSER_LOAD_SYMBOL_MODULE\n{\n\tchar SymbolModuleName[MAX_PATH];\n}SYSER_LOAD_SYMBOL_MODULE,*PSYSER_LOAD_SYMBOL_MODULE;\n\ntypedef struct _SYSER_UNLOAD_SYMBOL_MODULE\n{\n\tchar SymbolModuleName[MAX_PATH];\n}SYSER_UNLOAD_SYMBOL_MODULE,*PSYSER_UNLOAD_SYMBOL_MODULE;\ntypedef struct _SYSER_QUER_SDS\n{\n\tDWORD PECheckSum;\n\tDWORD TimeDateStamp;\n\tchar FileName[MAX_PATH];\n}SYSER_QUER_SDS,*PSYSER_QUER_SDS;\n\n\nclass CSDSModule;\n\ntypedef struct stSourceDebugCallStack\n{\n\tDWORD ESP;\n\tDWORD EIP;\n\tDWORD EBP;\n\tDWORD ReturnAddress;\n}SOURCEDEBUGCALLSTACK;\n\ntypedef TList<SOURCEDEBUGCALLSTACK> SOUCEDEBUGCALLSTACKLIST;\n\nstruct SYSER_COMMENT_MODULE_HEAD\n{\n\tDWORD\tSignature;//\"CMT\"\n\tDWORD\tDateStamp;\n\tint\t\tCount;\n\tCHAR\tszDesFileName[4];\n};\n\n\nenum CALL_TYPE\n{\n\tTYPE_STDCALL,\n\tTYPE_CDECL,\n\tTYPE_FASTCALL,\n\tTYPE_INLINE,\n};\n\nstruct API_FUNC_DEF\n{\n\tCStrA Return;\n\tTList<CStrA> ParamList;\t\n\tCALL_TYPE CallType;\n\tint Load(ALTFileStream&Stream)\n\t{\n\t\tint TotalLength,Length;\n\t\tTotalLength = 0;\n\n\t\tLength=Return.Load(Stream);\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\n\t\tLength=ParamList.Load(Stream);\n\t\tif(Length==0)\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\n\t\tLength=Stream.Gets(&CallType,sizeof(CallType));\n\t\tif(Length!=sizeof(CallType))\n\t\t\treturn 0;\n\t\tTotalLength+=Length;\n\n\t\treturn TotalLength;\n\t}\n\tint Save(ALTFileStream&Stream)\n\t{\n\t\tint Length=Return.Save(Stream);\n\t\tLength+=ParamList.Save(Stream);\n\t\tLength+=Stream.Puts(&CallType,sizeof(CallType)); \n\t\treturn Length;\n\t}\n};\n\ntypedef TMap<CIStrA,API_FUNC_DEF>\tCAPIMap;\n\n#define DBG_MSG_WBUF_LEN\t\t\t\t\t0x1000\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_DEBUG_PROCESS\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0001,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_DEBUG_DRIVER\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0002,METHOD_BUFFERED,FILE_ANY_ACCESS)\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_RELOAD_CONFIG\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0010,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_RELOAD_COLOR_CONFIG\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0011,METHOD_BUFFERED,FILE_ANY_ACCESS)\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_SET_CLIP_BOARD\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0021,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_GET_CLIP_BOARD\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0022,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_SCREEN_SHOT\t\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0023,METHOD_BUFFERED,FILE_ANY_ACCESS)\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_CORRECT_VIDEO_PARAM\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0030,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_LOAD_SDS\t\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0031,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_UNLOAD_SDS\t\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0032,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_LOAD_EXPORT_SYMBOL\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0033,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_LOAD_IDA_MAPFILE\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0034,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_QUERY_SDS\t\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0035,METHOD_BUFFERED,FILE_ANY_ACCESS)\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_SAVE_HISTROYS\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0041,METHOD_BUFFERED,FILE_ANY_ACCESS)\n#define IOCTL_SYSER_SAVE_COMMENTS\t\t\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0042,METHOD_BUFFERED,FILE_ANY_ACCESS)\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n#define IOCTL_SYSER_BOOT_GET_FRAME_BUFFER\tCTL_CODE(FILE_DEVICE_UNKNOWN,0x0100,METHOD_BUFFERED,FILE_ANY_ACCESS)\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n\nenum\n{\n\tSYSER_MAIN_HEAP = 0,\n\tSYSER_SCREEN_HEAP,\n\tSYSER_SOURCE_DEBUG_HEAP\n};\n\n#define DERIVER_GROUP_NAME \"Syser\"\n#define DRIVER_NAME \"Syser\"\n#define DRIVER_RING3_NAME \"\\\\\\\\.\\\\Syser\"\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SyserDriver.rc",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser debugger core\"\n#define VER_INTERNALNAME_STR        \"Syser.sys\"\n#define VER_ORIGINALFILENAME_STR    \"Syser.sys\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserDriver.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser debugger core\"\n#define VER_INTERNALNAME_STR        \"Syser.sys\"\n#define VER_ORIGINALFILENAME_STR    \"Syser.sys\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\t\t\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserDriverMC.mc",
    "content": ";/*++ BUILD Version: 0001    // Increment this if a change has global effects\n;\n;Copyright (c) 1992, 1993  Microsoft Corporation\n;\n;Module Name:\n;\n;    moulog.mc\n;\n;Abstract:\n;\n;    Constant definitions for the I/O error code log values.\n;\n;Revision History:\n;\n;--*/\n;\n;#ifndef _MOULOG_\n;#define _MOULOG_\n;\n;//\n;//  Status values are 32 bit values layed out as follows:\n;//\n;//   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1\n;//   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0\n;//  +---+-+-------------------------+-------------------------------+\n;//  |Sev|C|       Facility          |               Code            |\n;//  +---+-+-------------------------+-------------------------------+\n;//\n;//  where\n;//\n;//      Sev - is the severity code\n;//\n;//          00 - Success\n;//          01 - Informational\n;//          10 - Warning\n;//          11 - Error\n;//\n;//      C - is the Customer code flag\n;//\n;//      Facility - is the facility code\n;//\n;//      Code - is the facility's status code\n;//\n;\nMessageIdTypedef=NTSTATUS\n\nSeverityNames=(Success=0x0:STATUS_SEVERITY_SUCCESS\n               Informational=0x1:STATUS_SEVERITY_INFORMATIONAL\n               Warning=0x2:STATUS_SEVERITY_WARNING\n               Error=0x3:STATUS_SEVERITY_ERROR\n              )\n\nFacilityNames=(System=0x0\n               RpcRuntime=0x2:FACILITY_RPC_RUNTIME\n               RpcStubs=0x3:FACILITY_RPC_STUBS\n               Io=0x4:FACILITY_IO_ERROR_CODE\n               syserclass=0x5:FACILITY_SYSERCLASS_ERROR_CODE\n              )\n\n\n\nMessageId=0x0001 Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_INSUFFICIENT_RESOURCES\nLanguage=English\nNot enough memory was available to allocate internal storage needed for the device %1.\n.\n\nMessageId=0x0002 Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_NO_BUFFER_ALLOCATED\nLanguage=English\nNot enough memory was available to allocate the ring buffer that holds incoming data for %1.\n.\n\nMessageId=0x0003 Facility=syserclass Severity=Informational SymbolicName=SYSERCLASS_NOT_ENOUGH_CONFIG_INFO\nLanguage=English\nSome firmware configuration information was incomplete, so defaults were used.\n.\n\nMessageId=0x0004 Facility=syserclass Severity=Informational SymbolicName=SYSERCLASS_USER_OVERRIDE\nLanguage=English\nUser configuration data is overriding firmware configuration data.\n.\n\nMessageId=0x0005 Facility=syserclass Severity=Warning SymbolicName=SYSERCLASS_NO_DEVICEMAP_CREATED\nLanguage=English\nUnable to create the device map entry for %1.\n.\n\nMessageId=0x0006 Facility=syserclass Severity=Warning SymbolicName=SYSERCLASS_NO_DEVICEMAP_DELETED\nLanguage=English\nUnable to delete the device map entry for %1.\n.\n\nMessageId=0x0007 Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_NO_PORT_DEVICE_OBJECT\nLanguage=English\nCould not locate the device object for one or more pointer port devices.\n.\n\nMessageId=0x0008 Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_NO_PORT_CONNECT\nLanguage=English\nCould not connect to port device %1.\n.\n\nMessageId=0x0009 Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_PORT_INTERRUPTS_NOT_ENABLED\nLanguage=English\nCould not enable interrupts on connected port device %1.\n.\n\nMessageId=0x000A Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_PORT_INTERRUPTS_NOT_DISABLED\nLanguage=English\nCould not disable interrupts on connected port device %1.\n.\n\nMessageId=0x000B Facility=syserclass Severity=Informational SymbolicName=SYSERCLASS_MOU_BUFFER_OVERFLOW\nLanguage=English\nThe ring buffer that stores incoming mouse data has overflowed (buffer size is configurable via the registry).\n.\n\nMessageId=0x000C Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_INTERNAL_ERROR\nLanguage=English\nThe driver for device %1 encountered an internal driver error.\n.\n\nMessageId=0x000D Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_COULD_NOT_CREATE_DEVICE\nLanguage=English\nThe driver could not create the required device object.\n.\n\nMessageId=0x000E Facility=syserclass Severity=Warning SymbolicName=SYSERCLASS_NO_RESOURCES_FOR_WAITWAKE\nLanguage=English\nThe driver could not obtain resources required to create a propper WaitWake IRP.\n.\n\nMessageId=0x000F Facility=syserclass Severity=Error SymbolicName=SYSERCLASS_ATTACH_DEVICE_FAILED \nLanguage=English\nCould not attach to the PnP device stack.\n.\n;#endif /* _MOULOG_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserKDM.def",
    "content": "NAME Syser.sys\nEXPORTS\n\tDllInitialize\t\tPRIVATE\n\tDllUnload\t\t\tPRIVATE\n\tgpSyserPluginUI\n"
  },
  {
    "path": "Project/Syser/Source/SyserMemoryReadWrite.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserMemoryReadWrite.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\tbool SyserCFlag(VOID) \n\t{ \n\t\tbool bSuccess = true;\n\t\t \t__asm\n\t\t \t{\n\t\t \t\tjnc local_001\n\t\t \t\tmov bSuccess,0\n\t\t local_001:\n\t\t \t}\n\t\treturn bSuccess;\n\t}\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nbool SafeWriteByte(void* Address,BYTE ByteValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateSafeWriteByte(Address,ByteValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool SafeWriteWord(void* Address,WORD WordValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateSafeWriteWord(Address,WordValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool SafeWriteDword(void* Address,DWORD DwordValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateSafeWriteDword(Address,DwordValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool WriteByte(void* Address,BYTE ByteValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateWriteByte(Address,ByteValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool WriteWord(void* Address,WORD WordValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateWriteWord(Address,WordValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool WriteDword(void* Address,DWORD DwordValue)\n{\n\tbool bSuccess=true;\n\tSyserPrivateWriteDword(Address,DwordValue);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\n\nbool ReadByte(void* Address,BYTE* ByteValue)\n{\n\tbool Success;\n\t*ByteValue=ReadByte(Address,&Success);\n\treturn Success;\n}\n\nbool ReadWord(void* Address,WORD* WordValue)\n{\n\tbool Success;\n\t*WordValue=ReadWord(Address,&Success);\n\treturn Success;\n}\n\nbool ReadDword(void* Address,DWORD* DwordValue)\n{\n\tbool Success;\n\t*DwordValue=ReadDword(Address,&Success);\n\treturn Success;\n}\n\nBYTE ReadByteDefaultValue(void* Address,BYTE DefaultValue)\n{\n\tBYTE ByteValue;\n\tbool Success;\n\tByteValue = ReadByte(Address,&Success);\n\tif(Success==false)\n\t\tByteValue=DefaultValue;\n\treturn ByteValue;\n}\n\nWORD ReadWordDefaultValue(void* Address,WORD DefaultValue)\n{\n\tWORD WordValue;\n\tbool Success;\n\tWordValue = ReadWord(Address,&Success);\n\tif(Success==false)\n\t\tWordValue=DefaultValue;\n\treturn WordValue;\n}\n\nDWORD ReadDwordDefaultValue(void* Address,DWORD DefaultValue)\n{\n\tDWORD DwordValue;\n\tbool Success;\n\tDwordValue = ReadDword(Address,&Success);\n\tif(Success==false)\n\t\tDwordValue=DefaultValue;\n\treturn DwordValue;\n}\n\nBYTE ReadByte(void* Address,bool* Success)\n{\n\tBYTE RetValue;\n\tbool bSuccess=true;\n\tRetValue = SyserPrivateReadByte(Address);\n\tbSuccess = SyserCFlag();\n\n\tif(Success)\n\t\t*Success=bSuccess;\n\treturn RetValue;\n}\n\nWORD ReadWord(void* Address,bool* Success)\n{\n\tWORD RetValue;\n\tbool bSuccess=true;\n\tRetValue = SyserPrivateReadWord(Address);\n\tbSuccess = SyserCFlag();\n\n\tif(Success)\n\t\t*Success=bSuccess;\n\treturn RetValue;\n}\n\nDWORD ReadDword(void* Address,bool* Success)\n{\n\tDWORD RetValue;\n\tbool bSuccess=true;\n\tRetValue = SyserPrivateReadDword(Address);\n\tbSuccess = SyserCFlag();\n\n\tif(Success)\n\t\t*Success=bSuccess;\n\treturn RetValue;\n}\n// \n// __declspec(naked) BYTE __stdcall PrivateReadByte(void* Address)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmovzx eax,byte ptr[esi]\n// \t\tlea esp,[esp+4]\n// \t\tpop esi\n// \t\tclc\n// \t\tret 4\n// \t}\n// }\n// \n// __declspec(naked)WORD __stdcall PrivateReadWord(void* Address)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmovzx eax,word ptr[esi]\n// \t\tlea esp,[esp+4]\n// \t\tpop esi\n// \t\tclc\n// \t\tret 4\n// \t}\n// }\n// \n// __declspec(naked)DWORD __stdcall PrivateReadDword(void* Address)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov eax,[esi]\n// \t\tlea esp,[esp+4]\n// \t\tpop esi\n// \t\tclc\n// \t\tret 4\n// \t}\n//}\n// \n// __declspec(naked)void __stdcall PrivateReadError()\n// {\n// \t__asm{\n// \t\tpop eax\n// \t\tpop esi\n// \t\tstc\n// \t\tret 4\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateWriteByte(void* Address,BYTE ByteValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov al,[esp+0x10]\n// \t\tmov [esi],al\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateWriteWord(void* Address,WORD WordValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov ax,[esp+0x10]\n// \t\tmov [esi],ax\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateWriteDword(void* Address,DWORD DwordValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax \n// \t\tmov esi,[esp+0xc]\n// \t\tmov eax,[esp+0x10]\n// \t\tmov [esi],eax\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateSafeWriteByte(void* Address,BYTE ByteValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov al,[esi]//ַʧܷ\n// \t\tmov eax,cr0\n// \t\tpush eax \n// \t\tand eax,0xfffeffff \n// \t\tmov cr0,eax \n// \t\tmov al,[esp+0x14]\n// \t\tmov [esi],al \n// \t\tpop eax \n// \t\tmov cr0,eax\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateSafeWriteWord(void* Address,WORD WordValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov ax,[esi]//ַʧܷ\n// \t\tmov eax,cr0\n// \t\tpush eax \n// \t\tand eax,0xfffeffff \n// \t\tmov cr0,eax \n// \t\tmov ax,[esp+0x14]\n// \t\tmov [esi],ax \n// \t\tpop eax \n// \t\tmov cr0,eax\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateSafeWriteDword(void* Address,DWORD DwordValue)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush eax\n// \t\tmov esi,[esp+0xc]\n// \t\tmov eax,[esi]//ַʧܷ\n// \t\tmov eax,cr0\n// \t\tpush eax\n// \t\tand eax,0xfffeffff\n// \t\tmov cr0,eax\n// \t\tmov eax,[esp+0x14]\n// \t\tmov [esi],eax\n// \t\tpop eax\n// \t\tmov cr0,eax\n// \t\tpop eax\n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateWriteError()\n// {\n// \t__asm{\n// \t\tpop eax\n// \t\tpop esi\n// \t\tstc\n// \t\tret 8\n// \t}\n// }\n// \n// __declspec(naked)int __stdcall PrivateMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpush ebp \n// \t\tmov ebp,esp\n// \t\tsub esp,4\n// \t\tpushfd\n// \t\tpush edi\n// \t\tpush esi \n// \t\tpush ecx\n// \t\tcld\n// \t\txor eax,eax\n// \t\tmov ecx,[ebp+0x10]\n// \t\tcmp ecx,0\t\t\t\t\t//жϿĳǷΪ㣬ֱ˳\n// \t\tjz local_006\n// \t\tmov esi,[ebp+0xc]\n// \t\tcmp esi,[ebp+8]            //ȽԭַĿַǷֱͬͬ˳\n// \t\tjz local_006\t\t\t\t\n// \t\tshr ecx,2\n// \t\tjecxz local_001\n// \t\tlodsb \n// \t\tdec esi\n// \t\trep lodsd\n// local_001:\n// \t\tmov ecx,[ebp+0x10]\n// \t\tand ecx,3 \n// \t\tjecxz local_002\n// \t\trep lodsb\t\t\t\t\t//жԴַǷȱҳ\n// local_002:\n// \t\tmov ecx,[ebp+0x10]\n// \t\tmov esi,[ebp+8]\n// \t\tshr ecx,2 \n// \t\tjecxz local_003\n// \t\tlodsb\n// \t\tdec esi\n// \t\trep lodsd\n// local_003:\n// \t\tmov ecx,[ebp+0x10]\n// \t\tand ecx,3 \n// \t\tjecxz local_004\n// \t\trep lodsb\t\t\t\t\t//жĿַǷȱҳ\n// local_004:\n// \t\tmov edi,[ebp+8]\n// \t\tmov esi,[ebp+0xc]\n// \t\tmov ecx,[ebp+0x10]\n// #ifdef CODE_OS_NT_DRV\n// \t\tmov eax,cr0\n// \t\tmov [ebp-4],eax\t\t\t\t//ԭʼ cr0 Ϣ\t\t\n// \t\tand eax,0xfffeffff \n// \t\tmov cr0,eax\t\t\t\t\t//ʱֹдλ\n// #endif\n// \t\tcmp edi,esi \n// \t\tjb local_009\n// \t\tlea eax,[esi+ecx]\n// \t\tcmp edi,eax \n// \t\tjae local_009\t\t\t\t//жĿĿʼַǷԭݵķΧ֮ڣֹݱ\n// \t\tstd\n// \t\tmov esi,eax \n// \t\tlea edi,[edi+ecx]\n// \t\tmov eax,ecx \n// \t\tshr ecx,2\n// \t\tjecxz local_010\n// \t\tlea esi,[esi-4]\n// \t\tlea edi,[edi-4]\n// \t\trep movsd\n// \t\tlea esi,[esi+3]\n// \t\tlea edi,[edi+3]\n// \t\tjmp local_011\n// local_010:\n// \t\tdec esi \n// \t\tdec edi\n// local_011:\n// \t\tmov ecx,eax \n// \t\tand ecx,3 \n// \t\trep movsb\n// \t\tjmp local_007\n// local_009:\t\n// \t\tmov eax,ecx\n// \t\tshr ecx,2\n// \t\tjecxz local_005\n// \t\trep movsd \n// local_005:\n// \t\tmov ecx,eax\n// \t\tand ecx,3 \n// \t\tjecxz local_007\n// \t\trep movsb\n// local_007:\n// #ifdef CODE_OS_NT_DRV\n// \t\tmov eax,[ebp-4]\t\t\n// \t\tmov cr0,eax \n// #endif\n// local_006:\n// \t\tmov eax,[ebp+0x10]\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tmov esp,ebp\n// \t\tpop ebp\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// \n// \n// __declspec(naked)int __stdcall VideoMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpush ebp \n// \t\tmov ebp,esp\n// \t\tsub esp,4\n// \t\tpushfd\n// \t\tpush edi\n// \t\tpush esi \n// \t\tpush ecx\n// \t\tcld\n// \t\txor eax,eax\n// \t\tmov ecx,[ebp+0x10]\n// \t\tcmp ecx,0\t\t\t\t\t//жϿĳǷΪ㣬ֱ˳\n// \t\tjz local_006\n// \t\tmov esi,[ebp+0xc]\n// \t\tmov edi,[ebp+8]            //ȽԭַĿַǷֱͬͬ˳\n// \t\t\t\t\t\t\t\t\t//?һȽ - ޾\n// \t\tjz local_006\t\t\t\t\n// \t\tshr ecx,2\n// \t\tjecxz local_001\n// \t\trep movsd\n// local_001:\n// \t\tmov ecx,[ebp+0x10]\n// \t\tand ecx,3\n// \t\tjecxz local_006\n// \t\trep movsb\n// local_006:\n// \t\tmov eax,[ebp+0x10]\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tmov esp,ebp\n// \t\tpop ebp\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// \n// __declspec(naked)void __stdcall PrivateMemCopyError()\n// {\n// \t__asm{\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tmov esp,ebp\n// \t\tpop ebp\n// \t\tstc\n// \t\tret 0xc\n// \t}\n// }\n// \n// __declspec(naked)BYTE* __stdcall PrivateFindByte(BYTE* Address1,BYTE Value,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tpush edi\n// \t\tpush esi\n// \t\tpush ecx\n// \t\tcld\n// \t\tmov eax,0\n// \t\tmov ecx,[esp+0x1c]\n// \t\tmov edi,[esp+0x14]\n// \t\tmov al,[esp+0x18]\n// \t\trepne scasb\n// \t\tmov eax,edi\n// \t\tjz local_001\n// \t\tmov eax,1\n// local_001:\n// \t\tlea eax,[eax-1]\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// \n// __declspec(naked)BYTE* __stdcall PrivateFindWord(BYTE* Address1,WORD Value,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tpush edi\n// \t\tpush esi\n// \t\tpush ecx\n// \t\tcld\n// \t\tmov eax,0\n// \t\tmov ecx,[esp+0x1c]\n// \t\tmov edi,[esp+0x14]\n// \t\tmov ax,[esp+0x18]\n// \t\trepne scasw\n// \t\tmov eax,edi\n// \t\tjz local_001\n// \t\tmov eax,2\n// local_001:\n// \t\tlea eax,[eax-2]\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// \n// __declspec(naked)BYTE* __stdcall PrivateFindDword(BYTE* Address1,DWORD Value,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tpush edi\n// \t\tpush esi\n// \t\tpush ecx\n// \t\tcld\n// \t\tmov eax,0\n// \t\tmov ecx,[esp+0x1c]\n// \t\tmov edi,[esp+0x14]\n// \t\tmov eax,[esp+0x18]\n// \t\trepne scasd\n// \t\tmov eax,edi \n// \t\tjz local_001\n// \t\tmov eax,4\n// local_001:\n// \t\tlea eax,[eax-4]\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tclc\n// \t\tret 0xc\n// \t} \n// }\n// \n// __declspec(naked)void __stdcall PrivateFindMemoryError()\n// {\n// \t__asm{\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tpopfd\n// \t\tstc\n// \t\tret 0xc\n// \t}\n// }\n\nbool MemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen,BYTE** ErrorAddress)\n{\n\tbool bSuccess=true;\n\tBYTE * pStr;\n\tpStr = SyserPrivateMemSearch(SourceAddrss,SourceLen,DestinationAddress,DestinationLen);\n\tbSuccess = SyserCFlag();\n\n\tif(ErrorAddress)\n\t\t*ErrorAddress=pStr;\n\treturn bSuccess;\n}\n\nBYTE* MemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen,bool* Success)\n{\n\tbool bSuccess=true;\n\tBYTE * pStr;\n\tpStr = SyserPrivateMemSearch(SourceAddrss,SourceLen,DestinationAddress,DestinationLen);\n\tbSuccess = SyserCFlag();\n\n\tif(Success)\n\t\t*Success=bSuccess;\n\treturn pStr;\n}\n// \n// /*\n// SourceAddrss\t\t\t[esp+0x10]\n// SourceLen\t\t\t\t[esp+0x14]\n// DestinationAddress\t\t[esp+0x1c]\n// DestinationLen\t\t\t[esp+0x20]\n// */\n// __declspec(naked)BYTE* __stdcall PrivateMemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen)\n// {\n// #define ARG_SourceAddrss 0x18\n// #define ARG_SourceLen ARG_SourceAddrss+4\n// #define ARG_DestinationAddress ARG_SourceAddrss+8\n// #define ARG_DestinationLen ARG_SourceAddrss+12\n// \t__asm\n// \t{\n// \t\tpush edi\n// \t\tpush esi\n// \t\tpush ecx\n// \t\tpush edx\n// \t\tpush ebx\n// \t\tcld\n// \t\tmov ecx,[esp+ARG_SourceLen]\n// \t\tjecxz local_002\n// \t\tcmp ecx,[esp+ARG_DestinationLen]\n// \t\tjnb local_001\n// local_006:\n// \t\tmov eax,0 \n// \t\tjmp local_002\n// local_001:\n// \t\tsub ecx,[esp+ARG_DestinationLen]\n// \t\tinc ecx\n// \t\tmov edi,[esp+ARG_SourceAddrss]\n// local_008:\n// \t\tmov esi,[esp+ARG_DestinationAddress]\n// \t\tmov al,[esi]\n// \t\trepne scasb\n// \t\tjnz local_002\n// \t\tmov ebx,ecx \n// \t\tmov edx,edi \n// \t\tmov ecx,[esp+ARG_DestinationLen]\n// \t\tlea edi,[edi-1]\n// \t\trepz cmpsb\n// \t\tjz local_009\n// \t\tmov ecx,ebx \n// \t\tjecxz local_006\n// \t\tmov edi,edx \n// \t\tjmp local_008\n// local_009:\n// \t\tmov eax,edx \n// \t\tlea eax,[eax-1]\n// \t\tjmp local_005\n// local_002:\n// \t\tmov eax,0\n// local_005:\n// \t\tpop ebx \n// \t\tpop edx\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tclc\n// \t\tret 0x10\n// \t}\n// }\n// \n// __declspec(naked)void  __stdcall PrivateMemorySearchError()\n// {\n// \t__asm{\n// \t\tmov eax,edi\n// \t\tpop ebx \n// \t\tpop edx\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tstc\n// \t\tret 0x10\n// \t}\n// }\n// \n// __declspec(naked)int __stdcall PrivatePagePresent(BYTE* Address,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tpush ecx \n// \t\tcld \n// \t\tmov esi,[esp+0x0c]\n// \t\tmov ecx,[esp+0x10]\n// \t\tjecxz local_002\n// \t\tshr ecx,2 \n// \t\tjecxz local_001\n// \t\tlodsd\n// local_001:\n// \t\tmov ecx,[esp+0x10]\n// \t\tand ecx,3 \n// \t\tjecxz local_002 \n// \t\tlodsb \n// local_002:\n// \t\tmov eax,1\n// \t\tpop ecx \n// \t\tpop esi\n// \t\tclc\n// \t\tret 8\n// \t}\n// }\n// __declspec(naked)int __stdcall PrivatePageNotPresent()\n// {\n// \t__asm \n// \t{\n// \t\tpop ecx \n// \t\tpop esi \n// \t\tmov eax,0 \n// \t\tstc\n// \t\tret 8\n// \t}\n// }\n\nbool SafeMemCmp(BYTE* SourceAddress,BYTE* DestAddress,DWORD Len,DWORD* ReturnLen)\n{\n\tbool bSuccess=true;\n\tDWORD  RetValue;\n\tRetValue = SyserPrivateMemCmp(SourceAddress,DestAddress,Len);\n\tbSuccess = SyserCFlag();\n\n\tif(ReturnLen)\n\t\t*ReturnLen=RetValue-*(DWORD*)&SourceAddress;\n\treturn bSuccess;\n}\n// __declspec(naked)DWORD  __stdcall PrivateMemCmp(BYTE* SourceAddr,BYTE* DestAddr,DWORD Len)\n// {\n// \t__asm\n// \t{\n// \t\tpush edi\n// \t\tpush esi\n// \t\tpush ecx\n// \t\tmov esi,[esp+0x10]\n// \t\tmov edi,[esp+0x14]\n// \t\tmov ecx,[esp+0x18]\n// \t\tjecxz local_002\n// \t\tcld\n// \t\trepz cmpsb\n// \t\tjz local_002\n// \t\tlea esi,[esi-1]\n// local_002:\t\t\n// \t\tmov eax,esi\n// \t\tpop ecx\n// \t\tpop esi\n// \t\tpop edi\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// __declspec(naked)DWORD __stdcall PrivateMemCmpError()\n// {\n// \t__asm \n// \t{\n// \t\tmov eax,esi\n// \t\tpop ecx \n// \t\tpop esi \n// \t\tpop edi\n// \t\tstc\n// \t\tret 0xc\n// \t}\n// }\nbool SafeVideoMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len)\n{\n\tbool bSuccess=true;\n\tSyserVideoMemCopy(DestAddress,SourceAddress,Len);\n\tbSuccess = SyserCFlag();\n\n\treturn bSuccess;\n}\nint SafeMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len)\n{\n\tbool bSuccess=true;\n\tDWORD dwDest;\n\tDWORD dwDestLen,dwSourceLen;\n\tDWORD dwSource;\n\tDWORD dwLen;\n\tDWORD i;\n\tBYTE byteValue;\n\tSyserPrivateMemCopy(DestAddress,SourceAddress,Len);\n\tbSuccess = SyserCFlag();\n\n\tif(bSuccess)\n\t\treturn Len;\n\tdwDest = *(DWORD*)&DestAddress;\t\n\tdwLen = dwDest&0xfff;\n\tdwLen+=Len;\n\tdwDest=dwDest & 0xfffff000;\n\tdwDestLen=Len;\n\tfor(i=0;i<dwLen;i+=0x1000,dwDest+=0x1000)\n\t{\n\t\tif(ReadByte(*(void**)&dwDest,&byteValue)==false)\n\t\t{\n\t\t\tdwDestLen = dwDest- *(DWORD*)&DestAddress;\n\t\t\tbreak;\n\t\t}\n\t}\t\n\tdwSource = *(DWORD*)&SourceAddress;\n\tdwLen = dwSource&0xfff;\n\tdwLen+=Len;\n\tdwSource=dwSource & 0xfffff000;\n\tdwSourceLen=Len;\n\tfor(i=0;i<dwLen;i+=0x1000,dwSource+=0x1000)\n\t{\n\t\tif(ReadByte(*(void**)&dwSource,&byteValue)==false)\n\t\t{\n\t\t\tdwSourceLen = dwSource- *(DWORD*)&SourceAddress;\n\t\t\tbreak;\n\t\t}\n\t}\n\tLen=MIN(dwSourceLen,dwDestLen);\n\tbSuccess=true;\n\tSyserPrivateMemCopy(DestAddress,SourceAddress,Len);\n\tbSuccess = SyserCFlag();\n\n\tif(bSuccess)\n\t\treturn Len;\n\treturn 0;\n}\n\n\n//+\n//FIXME TODO\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n\tBYTE __stdcall SyserPrivateReadByte(void* Address) { return 0; }\n\tWORD __stdcall SyserPrivateReadWord(void* Address) { return 0; }\n\tDWORD __stdcall SyserPrivateReadDword(void* Address) { return 0; }\n\n\tVOID __stdcall SyserPrivateReadError() {}\n\n\tVOID __stdcall SyserPrivateWriteByte(void* Address, BYTE ByteValue) {}\n\tVOID __stdcall SyserPrivateWriteWord(void* Address, WORD WordValue) {}\n\tVOID __stdcall SyserPrivateWriteDword(void* Address, DWORD DwordValue) {}\n\n\tVOID __stdcall SyserPrivateSafeWriteByte(void* Address, BYTE ByteValue) {}\n\tVOID __stdcall SyserPrivateSafeWriteWord(void* Address, WORD WordValue) {}\n\tVOID __stdcall SyserPrivateSafeWriteDword(void* Address, DWORD DwordValue) {}\n\n\n\tBYTE* __stdcall SyserPrivateFindDword(BYTE* Address1, DWORD Value, DWORD Len) { return 0; }\n\tBYTE* __stdcall SyserPrivateFindWord(BYTE* Address1, WORD Value, DWORD Len) { return 0; }\n\tBYTE* __stdcall SyserPrivateFindByte(BYTE* Address1, BYTE Value, DWORD Len) { return 0; }\n\tint __stdcall SyserPrivateMemCopy(BYTE* Address1, BYTE* Address2, DWORD Len) { return 0; }\n\tint __stdcall PrivateMemNCmp(DWORD* Address1, DWORD* Address2, DWORD Len) { return 0; }\n\n\tBYTE* __stdcall SyserPrivateMemSearch(BYTE* SourceAddrss, DWORD SourceLen, BYTE* DestinationAddress, DWORD DestinationLen) { return 0; }\n\tint __stdcall SyserPrivatePagePresent(BYTE* Address, DWORD Len) { return 0; }\n\tDWORD  __stdcall SyserPrivateMemCmp(BYTE* SourceAddr, BYTE* DestAddr, DWORD Len) { return 0; }\n\tint __stdcall SyserVideoMemCopy(BYTE* DestAddress, BYTE* SourceAddress, DWORD Len) { return 0; }\n#ifdef __cplusplus\n\t}\n#endif\n\n//~\n"
  },
  {
    "path": "Project/Syser/Source/SyserMemoryReadWrite.h",
    "content": "#ifndef _SYSER_MEMORY_READ_WRITE_H_\n#define _SYSER_MEMORY_READ_WRITE_H_\n\n\nbool SafeWriteByte(void* Address,BYTE ByteValue);\nbool SafeWriteWord(void* Address,WORD WordValue);\nbool SafeWriteDword(void* Address,DWORD DwordValue);\n\nbool WriteByte(void* Address,BYTE ByteValue);\nbool WriteWord(void* Address,WORD ByteValue);\nbool WriteDword(void* Address,DWORD ByteValue);\n\nbool ReadByte(void* Address,BYTE* ByteValue);\nbool ReadWord(void* Address,WORD* WordValue);\nbool ReadDword(void* Address,DWORD* DwordValue);\n\nBYTE ReadByte(void* Address,bool* Success=NULL);\nWORD ReadWord(void* Address,bool* Success=NULL);\nDWORD ReadDword(void* Address,bool* Success=NULL);\n \nBYTE ReadByteDefaultValue(void* Address,BYTE DefaultValue=MAX_BYTE);\nWORD ReadWordDefaultValue(void* Address,WORD DefaultValue=MAX_WORD);\nDWORD ReadDwordDefaultValue(void* Address,DWORD DefaultValue=MAX_DWORD);\n\nBYTE* MemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen,bool* Success);\nbool MemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen,BYTE** ErrorAddress);\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\nBYTE __stdcall SyserPrivateReadByte(void* Address);\nWORD __stdcall SyserPrivateReadWord(void* Address);\nDWORD __stdcall SyserPrivateReadDword(void* Address);\n\nVOID __stdcall SyserPrivateReadError();\n\nVOID __stdcall SyserPrivateWriteByte(void* Address,BYTE ByteValue);\nVOID __stdcall SyserPrivateWriteWord(void* Address,WORD WordValue);\nVOID __stdcall SyserPrivateWriteDword(void* Address,DWORD DwordValue);\n\nVOID __stdcall SyserPrivateSafeWriteByte(void* Address,BYTE ByteValue);\nVOID __stdcall SyserPrivateSafeWriteWord(void* Address,WORD WordValue);\nVOID __stdcall SyserPrivateSafeWriteDword(void* Address,DWORD DwordValue);\n\nVOID __stdcall SyserPrivateWriteError(VOID);\n\nBYTE* __stdcall SyserPrivateFindDword(BYTE* Address1,DWORD Value,DWORD Len);\nBYTE* __stdcall SyserPrivateFindWord(BYTE* Address1,WORD Value,DWORD Len);\nBYTE* __stdcall SyserPrivateFindByte(BYTE* Address1,BYTE Value,DWORD Len);\nint __stdcall SyserPrivateMemCopy(BYTE* Address1,BYTE* Address2,DWORD Len);\nint __stdcall PrivateMemNCmp(DWORD* Address1,DWORD* Address2,DWORD Len);\n\nVOID __stdcall SyserPrivateFindMemoryError(VOID);\nVOID __stdcall SyserPrivateMemCopyError(VOID);\n\nBYTE* __stdcall SyserPrivateMemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen);\nVOID __stdcall SyserPrivateMemorySearchError(VOID);\n\nint __stdcall SyserPrivatePagePresent(BYTE* Address,DWORD Len);\nint __stdcall SyserPrivatePageNotPresent(VOID);\n\nDWORD  __stdcall SyserPrivateMemCmp(BYTE* SourceAddr,BYTE* DestAddr,DWORD Len);\nDWORD __stdcall SyserPrivateMemCmpError(VOID);\nbool SafeMemCmp(BYTE* SourceAddress,BYTE* DestAddress,DWORD Len,DWORD* ReturnLen);\nint SafeMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len);\nint __stdcall SyserVideoMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len);\nbool SafeVideoMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif /* _SYSERMEMORYREADWRITE_H_ */\n"
  },
  {
    "path": "Project/Syser/Source/SyserNTDrvApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"MainFrame.h\"\n#include \"X86Optr.h\"\n#include \"Services.h\"\n#include \"Int0xe.h\"\n#include \"IOAPIC.h\"\n#include \"VideoDriver.h\"\n#include \"BpintCmd.h\"\n#include \"TimerInterrupt.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"Mouse.h\"\n#include \"Keyboard.h\"\n#include \"UHCIDevice.h\"\n#include \"NMIInterruptHandle.h\"\n#include \"VirtualPCSupport.h\"\n#include \"VMWareSupport.h\"\n#include \"CopyOnWritePatch.h\"\n#include \"OSProcessThread.h\"\n#include \"PatchKeBugCheckEx.h\"\nextern \tDWORD dwgErrorCode;\nbool gbVideoBufferOK=true;\nCSyser *gpSyser=NULL;\nCSyserConfig*gpSyserCfg=NULL;\nCSyserPluginUI *gpSyserPluginUI=NULL;\nSYSER_BOOT_DEVICE_EXTENSION*gpSysBootDevEx=NULL;\nSYSER_LANGUAGE_DEVICE_EXTENSION*gpSysLangDevEx=NULL;\n\nextern BYTE*gpStackBuffer;\nextern BYTE*gpStackBufferTop;\nextern BYTE*gpStackBufferBottom;\n\nWISP_MSG_MAP_BEGIN(CMoveFramMenu)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispMenu)\n\nbool CMoveFramMenu::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON && (m_Style&WISP_WMS_POPUP)==0 && pMsg->MsgMouseWndPT.x>m_WndMenuItemWidth)\n\t{\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t{\n\t\t\tm_pWispBase->BeginMoveWnd();\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CSyser::SyserWaitThread(void*)\n{\n\tdo\n\t{\n\t\tKeWaitForSingleObject(&gpSyser->m_WaitEvent, Executive, KernelMode,0,0);\n\t\tKeResetEvent(&gpSyser->m_WaitEvent);\t\t\n\t\tfor(CSyserDumpList::IT Iter = gpSyser->m_DumpList.Begin();Iter!=gpSyser->m_DumpList.End();Iter++)\n\t\t{\n\t\t\tif(gpFileIO->WriteToFile(Iter->DumpFileName,Iter->DumpData,Iter->DumpSize))\n\t\t\t{\n\t\t\t\t::DbgPrint(\"Syser : %d Byte(s) dump to %s\\n\",Iter->DumpSize,(PCSTR)Iter->DumpFileName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t::DbgPrint(\"Syser : Fait to dump data to %s\\n\",(PCSTR)Iter->DumpFileName);\n\t\t\t}\n\t\t\tgpUserHeap[SYSER_MAIN_HEAP]->Free(Iter->DumpData);\n\t\t\tIter->DumpData = NULL;\n\t\t\tIter->DumpSize = 0;\n\t\t}\n\t\tgpSyser->m_DumpList.Clear();\n\t}while(gpSyser->m_bWaitThread);\n\tPsTerminateSystemThread(STATUS_SUCCESS);\n}\n\nvoid CSyser::StartSyserWaitThread()\n{\n\tHANDLE hThread;\n\tKeInitializeEvent(&m_WaitEvent,NotificationEvent,FALSE);\n\tm_bWaitThread = true;\n\tPsCreateSystemThread(&hThread,THREAD_ALL_ACCESS,0,0,0,SyserWaitThread,0);\n\tm_ThreadPointer = NULL;\n\tObReferenceObjectByHandle(hThread,THREAD_ALL_ACCESS,NULL,KernelMode,&m_ThreadPointer,NULL);\n\tZwClose(hThread);\n}\n\nvoid CSyser::StopSyserWaitThread()\n{\n\tif(m_ThreadPointer)\n\t{\n\t\tm_bWaitThread = false;\n\t\tKeSetEvent(&m_WaitEvent,0,FALSE);\n\t\tKeWaitForSingleObject(m_ThreadPointer,Executive,KernelMode,FALSE,NULL);\n\t\tObDereferenceObject(gpSyser->m_ThreadPointer);\n\t}\n}\n\nCSyser::CSyser()\n{\n\tm_OSHwndRoot=0;\n\tm_ThreadPointer = NULL;\n\tm_CriticalEFlag = 0;\n\tgpSyserPluginUI = &m_SyserUI;\n\tm_pOrgProcess = \n\tm_pSysDebugger = \n\tm_pDebugger = NULL;\n\tm_OSMajorVersion=0;\n\tm_OSMinorVersion=0;\n\tm_OSBuildNumber=0;\n\tm_VideoBufBackup=NULL;\n\tm_bUpdateReg=false;\n\tm_bScrBackup=true;\n\tm_bUserScrBackuped = false;\n\tm_bHandle=false;\n\tm_bSaveReg=false;\n\tm_bPatchCopyOnWrite = false;\n\tm_bCopyOnWriteFastCall = false;\n\tm_bShowSplash = false;\n\t//m_RtlGetCurrentDirectory_U = NULL;\n\tgpStackBuffer = NULL;\n\tm_bHardDriverSuccess=m_bHookSuccess=false;\n\tgpFileIO = &m_FileIO;\n\tm_bFaultsStat=(SyserOption.ifaults!=0);\n\tm_bInterrupt1HereStat =  (SyserOption.i1here!=0);\n\tm_Interrupt3HereStat = SyserOption.i3here;\n\tm_bDbgRegAccessMon=false;\n\tm_OSVer = GetOSVer(&m_OSMajorVersion,&m_OSMinorVersion,&m_OSBuildNumber);\n\t::DbgPrint(\"Syser : OSVersion Major %d Minor %d Build %d\\n\",m_OSMajorVersion,m_OSMinorVersion,m_OSBuildNumber);\t\n\tm_bInitSuccess = false;\n\tm_bMovingFrame = false;\n\tm_pSyserConnect = NULL;\n\tSTZeroMemory(m_RealFrameBuffer);\n\tPDEVICE_OBJECT DeviceObject;\n\tPFILE_OBJECT FileObject;\n\tUNICODE_STRING UnicodeName;\n\tgpSysBootDevEx = NULL;\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"\\\\Device\\\\SyserBoot\"));\n\tif(NT_SUCCESS(IoGetDeviceObjectPointer(&UnicodeName,FILE_READ_DATA,&FileObject,&DeviceObject)))\n\t{\n\t\tObDereferenceObject(FileObject);\n\t\tgpSysBootDevEx = (SYSER_BOOT_DEVICE_EXTENSION*)DeviceObject->DeviceExtension;\n\t}\n\t::DbgPrint(\"Syser : Find SyserBoot DevEx = %08X\\n\",gpSysBootDevEx);\n\tgpSysLangDevEx = NULL;\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"\\\\Device\\\\SyserLanguage\"));\n\tif(NT_SUCCESS(IoGetDeviceObjectPointer(&UnicodeName,FILE_READ_DATA,&FileObject,&DeviceObject)))\n\t{\n\t\tObDereferenceObject(FileObject);\n\t\tgpSysLangDevEx = (SYSER_LANGUAGE_DEVICE_EXTENSION*)DeviceObject->DeviceExtension;\n\t} \n\t::DbgPrint(\"Syser : Find SysLang DevEx = %08X\\n\",gpSysLangDevEx);\n\n\tRtlInitUnicodeString(&UnicodeName,WSTR(\"PsRemoveLoadImageNotifyRoutine\"));\n\t(PVOID&)m_PsRemoveLoadImageNotifyRoutine=MmGetSystemRoutineAddress(&UnicodeName);\n\tKeInitializeSpinLock(&m_NotifyLock);\n}\n\nvoid CSyser::ShowSplash()\n{\n\tm_bShowSplash = false;\n\tif(m_FrameBuffer.Buffer==NULL || m_RealFrameBuffer.Buffer == NULL || SyserOption.iShowStartSplash == 0)\n\t\treturn;\n\tfor(int Off = 0;Off<m_RealFrameBuffer.BufferSize;Off+=MP_SIZE)\n\t{\n\t\tif(MmIsAddressValid((BYTE*)m_RealFrameBuffer.Buffer +Off)==false)\n\t\t{\n\t\t\t::DbgPrint(\"***************************************************************************\\n\");\n\t\t\t::DbgPrint(\"Syser : Invalid FrameBuf [%08X] ,Invalid Address [%08X]\\n\",m_RealFrameBuffer.Buffer,(BYTE*)m_RealFrameBuffer.Buffer+Off);\n\t\t\t::DbgPrint(\"***************************************************************************\\n\");\n\t\t\tgpSyser->m_RealFrameBuffer.Buffer = NULL;\n\t\t\treturn;\n\t\t}\n\t}\n\tm_OldStyle = m_MainFrame.m_Style;\n\tm_MainFrame.m_Style = WISP_WS_NULL;\n\tm_OldFrameSize.cx = m_MainFrame.m_WindowRect.cx;\n\tm_OldFrameSize.cy = m_MainFrame.m_WindowRect.cy;\n\tm_MainFrame.m_MainTabWnd.Show(WISP_SH_HIDDEN);\n\tm_MainFrame.m_CloseBT.Show(WISP_SH_HIDDEN);\n\tm_MainFrame.LoadBKDIB(\"\\\\SyserApp\\\\syser.bmp\");\n\tm_MainFrame.Resize(m_MainFrame.m_pBKDIB->Width(),m_MainFrame.m_pBKDIB->Height());\n\tCenterScreen();\n\tBackupScreen();\n\tm_MainFrame.Update();\n\tUpdateFrameBuffer();\n\tm_bShowSplash=true;\n}\n\nvoid CSyser::HideSplash()\n{\n\tif(m_bShowSplash==false || m_FrameBuffer.Buffer==NULL || m_RealFrameBuffer.Buffer == NULL || SyserOption.iShowStartSplash == 0)\n\t\treturn;\n\tRestoreScreen();\n\tm_MainFrame.m_Style = m_OldStyle;\n\tm_MainFrame.DetachBKDIB();\n\tm_DIBLib.ReleaseDIB(\"\\\\SyserApp\\\\syser.bmp\");\n\tm_MainFrame.m_MainTabWnd.Show();\n\tm_MainFrame.m_CloseBT.Show();\n\tm_MainFrame.Resize(m_OldFrameSize.cx,m_OldFrameSize.cy);\n\tCenterScreen();\n\tm_MainFrame.Update();\n}\n\nbool CSyser::SetClipboardString(PCSTR String)\n{\n\tm_ClipboardString.Preallocate(TStrLen(String)+1);\n\tm_ClipboardString.m_Length = SyserAnsiToUnicode(String,m_ClipboardString.m_pData,m_ClipboardString.m_MaxLength);\n\treturn true;\n}\n\nvoid CSyser::OnMouseMove(IN int DeltaX,IN int DeltaY)\n{\n\tDeltaY = DeltaY*SyserOption.iMouseSensitivity/10;\n\tDeltaX = DeltaX*SyserOption.iMouseSensitivity/10;\n\tCWispBase::OnMouseMove(DeltaX,DeltaY);\n}\n\nbool CSyser::Init()\n{\n\t\n\tKeInitializeEvent(&m_ImageLoadSyncEvent, SynchronizationEvent, TRUE);\n\tif(gpSysBootDevEx==NULL)\n\t{\n\t\t::DbgPrint(\"***************************************************\\n\");\n\t\t::DbgPrint(\"Syser : SysBoot.sys isn't actived ! Please reboot !\\n\");\n\t\t::DbgPrint(\"***************************************************\\n\");\n\t\treturn false;\n\t}\n\tif(gpSysBootDevEx)\n\t{\n\t\tif(gpSysBootDevEx->cbSize!=sizeof(SYSER_BOOT_DEVICE_EXTENSION) || \n\t\t\tgpSysBootDevEx->Version!=SYSER_BOOT_VER)\n\t\t{\n\t\t\t::DbgPrint(\"***************************************************************\\n\");\n\t\t\t::DbgPrint(\"Syser : Detected previous version SysBoot.sys ! Please reboot !\\n\");\n\t\t\t::DbgPrint(\"***************************************************************\\n\");\n\t\t\treturn false;\n\t\t}\n\t\tif(gpSysBootDevEx->bCanceled)\n\t\t{\n\t\t\tgpSysBootDevEx->bCanceled = false;\n\t\t\t::DbgPrint(\"Syser : User canceled!\\n\");\n\t\t\treturn false;\n\t\t}\n\t}\n\tm_bInitSuccess = false;\n\tif(InitFileIO()==false)\n\t{\n\t\t::DbgPrint(\"Syser : InitFileIO error!\\n\");\n\t\treturn false;\n\t}\n#ifndef __DEMO__VERSION__\n\tSERIALNAME* gStr= GetSerialNumber();\n\tfor(int i=0;i<28;i++)\n\t{\n\t\tm_GSnMap.InsertUnique(gStr[i].MulVal,gStr[i].Name);\n\t}\t\n#endif\n\tdwgErrorCode=9;\n\tm_SyserUI.LoadAPIDefine();\n\tdwgErrorCode=901;\n\tm_pszDiskList = \"Wisp.dat;Syser.dat\";\n\tm_DefaultFontType = SyserOption.iBigFont?WISP_FONT_8X16:WISP_FONT_6X12;\n\tif(CWispBase::Init()==false)\n\t{\n\t\t::DbgPrint(\"Syser : CWispBase::Init() error!\\n\");\n\t\treturn false;\n\t}\n\t\n\tdwgErrorCode=10;\n\tInitHotKeyInfo();\n\tm_OrgWindowWidth = SyserOption.iStartWndWidth;\n\tm_OrgWindowHeight = SyserOption.iStartWndHeight;\n\tMAX_LIMIT(m_OrgWindowWidth,SyserOption.iMaxWndWidth);\n\tMAX_LIMIT(m_OrgWindowHeight,SyserOption.iMaxWndHeight);\n\tMAX_LIMIT(m_OrgWindowWidth,2048);\n\tMAX_LIMIT(m_OrgWindowHeight,2048);\n\tdwgErrorCode=110;\n\tif(CreateFrame(WSTR(\"Syser Kernel Debugger\"),m_OrgWindowWidth,m_OrgWindowHeight,0)==false)\n\t{\n\t\t::DbgPrint(\"Syser : CreateFrame() error!\\n\");\n\t\treturn false;\n\t}\n\tdwgErrorCode=11;\n\tif(gpSyser->m_SysInfo.m_bSNPass==false && gpSyser->m_SysInfo.m_bEvlVer==false)\n\t{\n\t\t::DbgPrint(\"***************************************************\\n\");\n\t\t::DbgPrint(\"Syser : %ws\\n\",(PCWSTR)gpSyser->m_SysInfo.m_LicTip);\n\t\t::DbgPrint(\"***************************************************\\n\");\n\t\treturn false;\n\t}\n\tswitch(SyserOption.iVideoDetectMode)\n\t{\n\tcase SYSER_VDM_AUTO:\n\t\t::DbgPrint(\"Syser : Detect Video mode -> Auto\\n\");\n\t\tbreak;\n\tcase SYSER_VDM_USER:\n\t\t::DbgPrint(\"Syser : Detect Video mode -> User Mode\\n\");\n\t\tbreak;\n\tcase SYSER_VDM_KERNEL:\n\t\t::DbgPrint(\"Syser : Detect Video mode -> Kernel Mode\\n\");\n\t\tbreak;\n\tdefault:\n\t\t::DbgPrint(\"Syser : Detect Video mode -> Error Mode\\n\");\n\t\tbreak;\n\t}\n\tif(SyserOption.iVideoDetectMode!= SYSER_VDM_USER && InstallDdrawHook()==false)\n\t\treturn false;\n\tdwgErrorCode=12;\n\tif(m_PCSystem.Init()==false)\n\t{\n\t\t::DbgPrint(\"Syser : m_PCSystem.Init() error!\\n\");\n\t\treturn false;\n\t}\n\t\tdwgErrorCode=113;\n\tShowSplash();\n\tdwgErrorCode=13;\n\tif(m_SysInfo.Init()==false)\n\t{\n\t\tHideSplash();\n\t\t::DbgPrint(\"Syser : m_SysInfo.Init() error!\\n\");\n\t\treturn false;\n\t}\n\tm_SyserUI.LoadComment();\n\t//////////////////////////////////////////////////////////////\n\t//  ʼ Syser ջ\n\t//////////////////////////////////////////////////////////////\n\tMAX_LIMIT(SyserOption.iStackSizeK,4096);\n\tMIN_LIMIT(SyserOption.iStackSizeK,512);\n\tgpStackBuffer = new BYTE[SyserOption.iStackSizeK*1024];\n\tdwgErrorCode=14;\n\tif(gpStackBuffer==NULL)\n\t{\n\t\tHideSplash();\n\t\t::DbgPrint(\"Syser : new %dk StackBuffer error!\\n\",SyserOption.iStackSizeK);\n\t\treturn false;\n\t}\n\tZeroMemory(gpStackBuffer,SyserOption.iStackSizeK*1024);\n\tgpStackBufferTop = &gpStackBuffer[SyserOption.iStackSizeK*1024];\n\tgpStackBufferTop = (BYTE*)(((DWORD)gpStackBufferTop) & 0xFFFFFFF0);\n\t//////////////////////////////////////////////////////////////\n\tm_bSaveReg=false;\n\tdwgErrorCode=15;\n\tif(InstallDebug()==false)\n\t{\n\t\tHideSplash();\n\t\t::DbgPrint(\"Syser : InstallDebug() error!\\n\");\n\t\treturn false;\n\t}\n\tLoadPlugin();\n\tm_bInitSuccess = true;\n\tm_MainFrame.m_ConsoleWnd.RunModulePathBat(\"Syser.cmd\",\"-s\");\n\tHideSplash();\n\tdwgErrorCode=16;\n\tm_SysInfo.LoadSDSList();\n\tif(m_SysInfo.m_bSNPass || m_SysInfo.m_bEvlVer)\n\t{\n\t\tOUTPUT(WSTR(\"%<B>%s\\n\"),(PCWSTR)m_SysInfo.m_LicTip);\n\t\tSYSEXPLR_OUTPUT(WSTR(\"%<B>%s\\n\"),(PCWSTR)m_SysInfo.m_LicTip);\n\t}\n\tStartSyserWaitThread();\n\tdwgErrorCode=17;\n\t::DbgPrint(\"Syser : Version %s  Build Date %s!\\n\",VER_PRODUCTVERSION_STR,__DATE__);\n\t::DbgPrint(\"Syser : Load Success ! You can press \\\"CTRL+F12\\\" to active Syser !\\n\");\t\n\treturn true;\n}\n\nvoid CSyser::InitRemoteConnect()\n{\n\tm_pSyserConnect = NULL;\n\tswitch(SyserOption.iConnectType)\n\t{\n\tcase SYSER_NO_CONNECT:\n\t\tbreak;\n\tcase SYSER_SERIAL_PORT_CONNECT:\n\t\tif(m_SerialPortConnect.Init())\n\t\t\tm_pSyserConnect = &m_SerialPortConnect;\n\t\tbreak;\n\tdefault:\n\t\tOUTPUT(WSTR(\"Syser : Unknow Connect Type\\n\"));\n\t\tbreak;\n\t}\n\tif(m_pSyserConnect)\n\t\tm_SDServer.Init(m_pSyserConnect);\n}\n\nvoid CSyser::ReleaseRemoteConnect()\n{\n\tif(m_pSyserConnect)\n\t{\n\t\tm_SDServer.Release();\n\t\tm_pSyserConnect->Release();\n\t}\n}\n\nvoid CSyser::Release()\n{\n\tKeSetEvent(&m_ImageLoadSyncEvent,0,FALSE);\n\tgpSyser->m_pDebugger = gpSyser->m_pSysDebugger;\n\tStopSyserWaitThread();\n\tUnloadPlugin();\n\tReleaseBreakPoint();\n\tm_SysInfo.Release();\n\tm_PCSystem.Release();\n\tRemoveDdrawHook();\n\tUninstallDebug();//עϵҪж13֮ǰж\n\tCWispBase::Release();\n\tDestroyFrame();\n\tSafeDelete(gpStackBuffer);\n\t::DbgPrint(\"Syser : Unload Success!\\n\");\n}\n\nint CSyser::LoadPlugin()\n{\n\tchar szPlugin[MAX_FN_LEN];\n\tTStrCpy(szPlugin,m_szImagePath);\n\tTStrCat(szPlugin,\"Plugin\\\\i386\\\\*\");\n\treturn gpFileIO->XScan(szPlugin,XScanPlugin,NULL,true);\n}\n\nextern \"C\"\n{\n\tNTSYSAPI NTSTATUS NTAPI ZwLoadDriver(IN PUNICODE_STRING DriverServiceName);\n\tNTSYSAPI NTSTATUS NTAPI ZwUnloadDriver(IN PUNICODE_STRING DriverServiceName);\n}\n\nXSCAN_RES CSyser::XScanPlugin(CFileIO*pFileIO,PCSTR FullPathFileName,ULSIZE FileSize,void*CBParem)\n{\t\n\tPSTR FileName;\n\tWCHAR *WFileName;\n\tDWORD Len;\n\tchar RegString[] = \"\\\\Registry\\\\Machine\\\\System\\\\CurrentControlSet\\\\Services\\\\\";\n\tPUNICODE_STRING pRegistryServiceName;\n\tFileName = TGetFileName(FullPathFileName);\n\tLen = TStrLen(FileName);\n\tif(Len<=4)\n\t\treturn XSCAN_RES_CONTINUE;\n\tif(TStrICmp(&FileName[Len-4],\".sys\"))\n\t\treturn XSCAN_RES_CONTINUE;\n\tpRegistryServiceName =(PUNICODE_STRING) new char[(TStrLen(RegString)+Len)*sizeof(WCHAR)+sizeof(UNICODE_STRING)];\n\tWFileName=(WCHAR*)&pRegistryServiceName[1];\n\tTStrCpy(WFileName,RegString);\n\tTStrCat(WFileName,FileName);\n\tLen=TStrLen(WFileName);\n\tWFileName[Len-4]=0;\n\tRtlInitUnicodeString(pRegistryServiceName,WFileName);\n\tRegisterPluginService(pRegistryServiceName,FullPathFileName);\n\tZwLoadDriver(pRegistryServiceName);\n\treturn XSCAN_RES_CONTINUE;\n}\n\nbool CSyser::RegisterPluginService(PUNICODE_STRING ServiceName,PCSTR DriverFileFullName)\n{\n\tNTSTATUS Status;\n\tWCHAR* wszImagePath=NULL;\n\tHANDLE KeyHandle;\n\tDWORD DataSize;\n\tACCESS_MASK AccessMask=KEY_ALL_ACCESS;\n\tOBJECT_ATTRIBUTES ObjectAttributs;\n\tULONG TitleIndex=0;\n\tWCHAR DisplayNameValue[]=L\"DisplayName\";\n\tWCHAR TypeValue[]=L\"Type\";\n\tWCHAR ErrorControlValue[]=L\"ErrorControl\";\n\tWCHAR StartValue[]=L\"Start\";\n\tWCHAR ImagePathValue[]=L\"ImagePath\";\n\tWCHAR* TempName;\n\tUNICODE_STRING ValueName;\n\tPUNICODE_STRING pClass=NULL;\n\tDWORD dwValue;\n\tULONG CreateOptions=REG_OPTION_NON_VOLATILE,Disposition;\n\tInitializeObjectAttributes(&ObjectAttributs,ServiceName,OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwCreateKey(&KeyHandle,AccessMask,&ObjectAttributs,TitleIndex,pClass,CreateOptions,&Disposition);\n\tif(Status)\n\t\treturn false;\n\tDataSize=TStrLen(DriverFileFullName)+1;\n\twszImagePath=new WCHAR[DataSize];\n\tif(wszImagePath==NULL)goto ErrorQuit;\n\tTStrCpy(wszImagePath,DriverFileFullName);\n\tRtlInitUnicodeString(&ValueName,ImagePathValue);\n\tStatus = ZwSetValueKey(KeyHandle,&ValueName,TitleIndex,REG_EXPAND_SZ,wszImagePath,sizeof(WCHAR)*DataSize);\n\tif(Status)\n\t{\n\t\tdelete []wszImagePath;\n\t\tgoto ErrorQuit;\n\t}\n\tTempName = TGetFileName(wszImagePath);\n\tDataSize = TStrLen(TempName)+1;\n\tRtlInitUnicodeString(&ValueName,DisplayNameValue);\n\tStatus = ZwSetValueKey(KeyHandle,&ValueName,TitleIndex,REG_SZ,TempName,sizeof(WCHAR)*DataSize);\n\tdelete []wszImagePath;\n\tif(Status)goto ErrorQuit;\n\tRtlInitUnicodeString(&ValueName,TypeValue);\n\tdwValue=1;\n\tStatus = ZwSetValueKey(KeyHandle,&ValueName,TitleIndex,REG_DWORD,&dwValue,sizeof DWORD);\n\tif(Status)goto ErrorQuit;\n\tRtlInitUnicodeString(&ValueName,StartValue);\n\tdwValue=3;\n\tStatus = ZwSetValueKey(KeyHandle,&ValueName,TitleIndex,REG_DWORD,&dwValue,sizeof DWORD);\n\tif(Status)goto ErrorQuit;\n\tRtlInitUnicodeString(&ValueName,ErrorControlValue);\n\tdwValue=1;\n\tStatus = ZwSetValueKey(KeyHandle,&ValueName,TitleIndex,REG_DWORD,&dwValue,sizeof DWORD);\n\tif(Status==0)\n\t\treturn true;\nErrorQuit:\n\tZwClose(KeyHandle);\n\treturn false;\n}\n\nvoid CSyser::UnloadPlugin()\n{\n\tUNICODE_STRING ServiceName;\n\tWCHAR szName[MAX_LONG_NAME_LEN],*pszService;\n\tpszService = szName+TStrCpy(szName,\"\\\\Registry\\\\Machine\\\\System\\\\CurrentControlSet\\\\Services\\\\\");\n\tfor(CPluginMap::IT Iter=m_PluginMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tTStrCpy(pszService,(PCWSTR)Iter.Key());\n\t\tRtlInitUnicodeString(&ServiceName,szName);\n\t\tZwUnloadDriver(&ServiceName);\n\t}\n}\n\n\nvoid CSyser::ReleaseBreakPoint()\n{\n\tif(m_pSysDebugger==NULL)\n\t\treturn;\n\tif(m_bDbgRegAccessMon)\n\t{//ϵͳǵӲϵ\n\t\t::DbgPrint(\"Syser : Clear Hardware Breakpoint\\n\");\n\t\tZeroMemory(SyserDR,sizeof(SyserDR));\n\t\tSyserDisableDebugRegisterMontior();\n\t\tm_bDbgRegAccessMon = false;\n\t\tSyserSaveSyserDRX();\n\t\tUpdateOtherCPUDRX();\n\t\tSyserStopOtherCPUs();\n\t\tSyserStartOtherCPUs();\n\t}\n}\n\nbool CSyser::InitFileIO()\n{\n\tUNICODE_STRING UniImagePath;\n\tRTL_QUERY_REGISTRY_TABLE RegTable[2];\n\tZeroMemory(RegTable,sizeof(RegTable));\n\tZeroMemory(m_szImagePath,sizeof(m_szImagePath));\n\tUniImagePath.Length=0;\n\tUniImagePath.MaximumLength=sizeof(m_szImagePath);\n\tUniImagePath.Buffer=m_szImagePath;\n\tRegTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | RTL_QUERY_REGISTRY_REQUIRED;\n\tRegTable[0].Name = WSTR(\"ImagePath\");\n\tRegTable[0].EntryContext = &UniImagePath;\n\tif(!NT_SUCCESS(RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,WSTR(\"Syser\"),RegTable,NULL,NULL)))\n\t\treturn false;\n\tPWSTR pStr=TStrRChr(m_szImagePath,(WCHAR)'\\\\');\n\tif(pStr)\n\t\t*pStr=0;\n\tif(TStrICmp(m_szImagePath,WSTR(\"system32\\\\drivers\"))==0)\n\t{\n\t\tTStrCpy(m_szImagePath,m_SysInfo.m_szSystem32Drivers);\n\t}\n\tm_FileIO.SetCurDir(m_szImagePath);\n\tgpFileIO = &m_FileIO;\n\treturn true;\n}\n\nbool CSyser::CreateFrame(WISP_CHAR*WndName,int Width,int Height,int Bpp)\n{\n\tSwitchHeap(SYSER_SCREEN_HEAP);\n\tm_FrameBuffer.Width = Width;\n\tm_FrameBuffer.Height = Height;\n\tm_FrameBuffer.Bpp = 32;\n\tm_FrameBuffer.PixelFormat = 0;\n\tm_FrameBuffer.LineDistance = m_FrameBuffer.Width*sizeof(COLORREF);\n\tm_FrameBuffer.Flag = 0;\n\tm_FrameBuffer.BufferSize = SyserOption.iMaxWndWidth*SyserOption.iMaxWndHeight*sizeof(COLORREF);\n\tm_FrameBuffer.Buffer = new BYTE[m_FrameBuffer.BufferSize];\n\tm_VideoBufBackup = new BYTE[m_FrameBuffer.BufferSize];\n\tSwitchHeap(SYSER_MAIN_HEAP);\n\tm_RootPos.x = CENTER_ALGN(Width,m_RealFrameBuffer.Width);\n\tm_RootPos.y = CENTER_ALGN(Height,m_RealFrameBuffer.Height);\n\tSTZeroMemory(m_FrameRect);\n\tif(m_MainFrame.Create(WndName,0,0,Width,Height,NULL,0,WISP_WS_BORDER)==false)\n\t\treturn false;\n\tm_MainFrame.m_pWispBase->SetKeyboardLayer(SyserOption.iKeyboardLayer);\n\treturn true;\n}\n\nbool CSyser::ResizeHostFrame(int Width,int Height)\n{\n\treturn true;\n}\n\nbool CSyser::ResizingFrame(int Width,int Height)\n{\n\tif(Width > SyserOption.iMaxWndWidth  || Height > SyserOption.iMaxWndHeight)\n\t\treturn false;\n\tm_FrameBuffer.Width = Width;\n\tm_FrameBuffer.Height = Height;\n\treturn true;\n}\n\nvoid CSyser::DestroyFrame()\n{\n\tSafeDelete(m_FrameBuffer.Buffer);\n\tSafeDelete(m_VideoBufBackup);\n}\n\nvoid CSyser::RestoreMovingFrame()\n{\n\tfor(int n=0;n<m_FrameRect.cx;n++)\n\t{\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+n,m_FrameRect.y,WISP_RGB(255,255,255));\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+n,m_FrameRect.y+m_FrameRect.cy-1,WISP_RGB(255,255,255));\n\t}\n\n\tfor(int n=0;n<m_FrameRect.cy;n++)\n\t{\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x,m_FrameRect.y+n,WISP_RGB(255,255,255));\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+m_FrameRect.cx-1,m_FrameRect.y+n,WISP_RGB(255,255,255));\n\t}\n}\n\nvoid CSyser::DrawMovingFrame()\n{\n\tfor(int n=0;n<m_FrameRect.cx;n++)\n\t{\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+n,m_FrameRect.y,WISP_RGB(255,255,255));\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+n,m_FrameRect.y+m_FrameRect.cy-1,WISP_RGB(255,255,255));\n\t}\n\n\tfor(int n=0;n<m_FrameRect.cy;n++)\n\t{\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x,m_FrameRect.y+n,WISP_RGB(255,255,255));\n\t\tm_RealFrameBuffer.pDrawHAL->DrawXorPixel(&m_RealFrameBuffer,m_FrameRect.x+m_FrameRect.cx-1,m_FrameRect.y+n,WISP_RGB(255,255,255));\n\t}\n}\n\nbool CSyser::MoveFrame(int dx,int dy)\n{\n\tWISP_RECT Rect;\n\tm_RootPos.x+=dx;\n\tm_RootPos.y+=dy;\n\n\tRect.x=Rect.y=0;\n\tRect.cx=m_RealFrameBuffer.Width;\n\tRect.cy=m_RealFrameBuffer.Height;\n\n\tRestoreMovingFrame();\n\tm_FrameRect.x = m_RootPos.x;\n\tm_FrameRect.y = m_RootPos.y;\n\tm_FrameRect.cx = m_pRootWnd->m_WindowRect.cx;\n\tm_FrameRect.cy = m_pRootWnd->m_WindowRect.cy;\n\n\tif(ClipRect(&m_FrameRect,&Rect)==false)\n\t\treturn false;\n\tDrawMovingFrame();\n\treturn true;\n}\n\nbool CSyser::WakeUpMsgThread()\n{\n\tm_bMsgSleeping = false;\n\treturn true;\n}\n\nvoid CSyser::IdleEvent()\n{\n\tULONGLONG CurTSC,ms,Sub;\n\tms=0;\n\tCurTSC=SyserGetTSC();\n\tSub = CurTSC-gPrevTSC;\n\tms = Sub/gTSCTickCount;\n\tif(ms>20)\n\t{\n\t\tgPrevTSC=CurTSC;\n\t\tOnTimer(*(int*)&ms);\n\t}\n\tm_PCSystem.USBDeviceService();\n}\n\nbool CSyser::SleepMsgThread()\n{\n\tif(gpSyserCfg->m_SupportTimerInterrupt)\n\t{\n// \t\t__asm\n// \t\t{\n// \t\t\tsti\n// \t\t\thlt\n// \t\t}\n\n\t\tSyserSti();\n\t\tSyserHlt();\n\t}\n\telse\n\t{\n\t\twhile(m_InputMsgQueue.Count()==0)\n\t\t{\n\t\t\tIdleEvent();\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CSyser::EnterCriticalSection()\n{\n\tif(!gInVirtualPC)\n\t\tSyserCloseInterrupt();\n}\n\nvoid CSyser::LeaveCriticalSection()\n{\n\tif(!gInVirtualPC)\n\t\tSyserOpenInterrupt();\n}\n\nvoid CSyser::ResetInputState()\n{\n\tZeroMemory(m_KeyMap,sizeof(m_KeyMap));\n\tZeroMemory(m_LockMap,sizeof(m_LockMap));\n\tdwWaitMouseInterrupt = 0;\n\tdwMouseBeginBufferIndex = 0;\n\tstKeyGlobalVariable.dwMouseDataIndex=0;\n\tgLButtonDblClkSecond=false;\n\tgRButtonDblClkSecond=false;\n\tgMButtonDblClkSecond=false;\n\tm_RepKeyIndex=WISP_VK_NULL;\n\tm_RepKeyElapse = 0;\n\tm_RepKeyPeriod = 0;\n}\n\nvoid CSyser::Active()\n{\n\tif(m_pDebugger==NULL || gbActive || m_RealFrameBuffer.Buffer == NULL)\n\t{\n\t\tif(m_RealFrameBuffer.Buffer==NULL)\n\t\t{\n\t\t\t::DbgPrint(\"************************************************************\\n\");\n\t\t\t::DbgPrint(\"Syser : Fail to attach System Video Frame Buffer !\\n\");\n\t\t\tif(gInVMWARE)\n\t\t\t\t::DbgPrint(\"Syser : Please Install VMWare Tools !\\n\");\n\t\t\tif(gInVirtualPC)\n\t\t\t\t::DbgPrint(\"Syser : Please Install or Update Virtual Machine Additions !\\n\");\n\t\t\t::DbgPrint(\"************************************************************\\n\");\n\t\t}\n\t\treturn;\n\t}\n\t\n\tm_pOrgProcess = m_pDebugger;\t//ԭʼ\n\tSyserClrCR0WP();\n\tSyserDisableHardwaveBreakpoint();\n\tActiveHookInt0e(true);\n\tClearBPR();\n\tgpSyser->m_SyserUI.m_SyserDI.ResetTrace();\n\tgpSyser->m_pDebugger->RemoveAllCodeBP(BP_TYPE_DEBUG);\n\tm_MainFrame.Update();\n\n\tm_pDebugger->UpdateRegister();\n\tgbActive=true;\n\tgpSyser->m_SyserUI.m_SyserDI.OnDebugPlunge(0);\n\tResetInputState();\n\tMouseInterruptCount=0;\n\tstKeyGlobalVariable.dwMouseDataIndex=0;\n\tm_bExit=false;\n\tSyserDisableAllHardInterrupt();\n\tEnableHardWareInterrupt(1);\t\t\t\t//ж\n\tEnableLocalAPICInterrupt();\n\tif(gHasPS2Mouse)\n\t\tEnableHardWareInterrupt(0x0C);\t\t//ж\n\tSetInteruptEOI(1);\t\t\t\t\t\t//ӲжϽ־\n\tif(gpSyserCfg->m_SupportTimerInterrupt)\n\t{\n\t\tInstallTimeInterrupt();\n\t\tif(gbIsUseAPIC)\n\t\t\tEnableHardWareInterrupt(IOAPIC_TIMER_INTERRUPT_NUM);\t\t//ʱж\n\t\telse\n\t\t\tEnableHardWareInterrupt(0x08);\t\t//ʱж\n\t}\n#if SUPPORT_COM_INTERRUPT\n\tEnableHardWareInterrupt(0x03);\n\tEnableHardWareInterrupt(0x04);\n#endif\n// \t__asm\n// \t{\n// \t\tnop \n// \t\tnop \n// \t\tpush eax \n// \t\tin al,0x64 \n// \t\ttest al,1 \n// \t\tjz local_0098\n// \t\tpush eax\n// \t\tin al,0x60\n// \t\tpop eax\n// local_0098:\n// \t\ttest al,0xe0\n// \t\tjz local_0099\n// \t\ttest al,2 \n// \t\tjnz local_0099\n// \t\tmov al,0xff \n// \t\tout 0x60,al \n// \t\tnop \n// \t\tnop \n// local_0099:\n// \t\tpop eax \n// \t}\n\n\tBYTE\tvalue = 0;\n\tvalue = SyserReadPortByte(0x64);\n\tif(!(value&1))\n\t{\n\t\tSyserReadPortByte(0x60);\n\t}\n\n\tif (!(value&0xe0))\n\t{\n\t\tif (value&2)\n\t\t{\n\t\t\tSyserWritePortByte(0x60,0xff);\n\t\t}\n\t}\n\n\n\tif(gpSyserCfg->m_DisableUSBInput == 0 && gInVMWARE==false && gInVirtualPC==false)\t\t\t\n\t\t\tm_PCSystem.AttachUSBDevice();\n\tif(m_bScrBackup)\n\t\tBackupScreen();\n\t\n\tSyserOpenInterrupt();\t\t\t\t\t\t//ж\n\tif(gpSyser->m_SysInfo.m_bEvlVer==false && gpSyser->m_SysInfo.m_bSNPass==false)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>%s\\n\"),(PCWSTR)m_SysInfo.m_LicTip);\n\t\tSYSEXPLR_OUTPUT(WSTR(\"%<3>%s\\n\"),(PCWSTR)m_SysInfo.m_LicTip);\n\t}\n\tPump();\n\tSyserCloseInterrupt();\n\tif(gpSyserCfg->m_DisableUSBInput == 0 && gInVMWARE==false && gInVirtualPC==false)\n\t\t\tm_PCSystem.DetachUSBDevice();\n\tif(m_bScrBackup)\n\t{\n\t\tRestoreScreen();\n\t}\n\tif(gpSyserCfg->m_SupportTimerInterrupt)\n\t\tUninstallTimeInterrupt();\n\tif(m_pOrgProcess!=gpSyser->m_pDebugger)//ָԭʼ\n\t\tgpSyser->MapToProcess(m_pOrgProcess);\n\tSetBPR();\n\tActiveHookInt0e(false);\n\tEnableHardwaveBreakpoint();\n\tSyserRestoreCR0();\n}\n\nvoid CSyser::Exit(bool bRestoreScr)\n{\n\tif(gbSystemCrash)\n\t{\n\t\tRUNCMD(WSTR(\"hboot\"));\n\t}\n\tm_bScrBackup=bRestoreScr;\n\tm_bExit=true;\n\tif(m_bSaveReg)\n\t\tPrevReg=Reg;\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_TracePrevReg=Reg;\n\tSAVE_MEMORY_VIEW();\n}\n\nvoid CSyser::ClearInputState()\n{\n\tdwMouseBeginBufferIndex = 0;\n}\n\nvoid CSyser::BackupScreen()\n{\n\tint SrcDelta,DesDelta;\n\tBYTE*pSrc,*pDes,*pDes2;\n\tWISP_RECT ScrRect;\n\tif(m_RealFrameBuffer.Buffer == NULL || gpSyserCfg->m_DisableDisplay)\n\t\treturn;\n\n\tScrRect.x=ScrRect.y=0;\n\tScrRect.cx=m_RealFrameBuffer.Width;\n\tScrRect.cy=m_RealFrameBuffer.Height;\n\n\tm_BackupFrameRect.x = m_RootPos.x;\n\tm_BackupFrameRect.y = m_RootPos.y;\n\tm_BackupFrameRect.cx = m_FrameBuffer.Width;\n\tm_BackupFrameRect.cy = m_FrameBuffer.Height;\n\n\tif(ClipRect(&m_BackupFrameRect,&ScrRect)==false)\n\t{\n\t\tm_BackupFrameRect.cx = 0;\n\t\tm_BackupFrameRect.cy = 0;\n\t\treturn;\n\t}\n\tpSrc = RT_PBYTE(m_RealFrameBuffer.Buffer,(m_BackupFrameRect.x*m_RealFrameBuffer.Bpp)/8+m_BackupFrameRect.y*m_RealFrameBuffer.LineDistance);\n\tSrcDelta = m_RealFrameBuffer.LineDistance;\n\tpDes = m_VideoBufBackup;\n\tDesDelta = (m_BackupFrameRect.cx*m_RealFrameBuffer.Bpp)/8;\n\tif(gbVideoBufferOK)\n\t{\n\t\tfor(int y=0;y<m_BackupFrameRect.cy;y++)\n\t\t{\n\t\t\tgbVideoBufferOK=SafeVideoMemCopy(pDes,pSrc,DesDelta);\n\t\t\tif(gbVideoBufferOK==false)\n\t\t\t\tbreak;\n\t\t\tpSrc+=SrcDelta;\n\t\t\tpDes+=DesDelta;\n\t\t}\n\t}\t\n\tif(gbVideoBufferOK==false)\n\t{\n\t\t::DbgPrint(\"Syser : Video Buffer Read Write Error!\\n\");\n\t}\n\tm_bUserScrBackuped = true;\n}\n\nvoid CSyser::RestoreScreen()\n{\n\tint SrcDelta,DesDelta;\n\tBYTE*pSrc,*pDes;\t\n\tif(m_RealFrameBuffer.Buffer==NULL || gpSyserCfg->m_DisableDisplay)\n\t\treturn;\n\tpDes = RT_PBYTE(m_RealFrameBuffer.Buffer,(m_BackupFrameRect.x*m_RealFrameBuffer.Bpp)/8+m_BackupFrameRect.y*m_RealFrameBuffer.LineDistance);\n\tDesDelta = m_RealFrameBuffer.LineDistance;\n\tpSrc = m_VideoBufBackup;\n\tSrcDelta = (m_BackupFrameRect.cx*m_RealFrameBuffer.Bpp)/8;\n\tif(gbVideoBufferOK)\n\t{\n\t\tfor(int y=0;y<m_BackupFrameRect.cy;y++)\n\t\t{\n\t\t\tgbVideoBufferOK=SafeVideoMemCopy(pDes,pSrc,SrcDelta);\n\t\t\tpSrc+=SrcDelta;\n\t\t\tpDes+=DesDelta;\n\t\t}\n\t}\n\tm_bScrRestored = true;\n\tif(gInVMWARE)\n\t\tFlushVedioBuffer(0,0, m_RealFrameBuffer.Width,m_RealFrameBuffer.Height);\n\telse if(gInVirtualPC)\n\t\tFlushVirtualPCScreenBuffer(0,0,m_RealFrameBuffer.Width,m_RealFrameBuffer.Height);\n\tm_bUserScrBackuped = false;\n}\n\nvoid CSyser::CenterScreen()\n{\n\tm_RootPos.x = CENTER_ALGN(m_FrameBuffer.Width,m_RealFrameBuffer.Width);\n\tm_RootPos.y = CENTER_ALGN(m_FrameBuffer.Height,m_RealFrameBuffer.Height);\n\tMIN_LIMIT(m_RootPos.x,0);\n\tMIN_LIMIT(m_RootPos.y,0);\n}\n\nvoid CSyser::EndDraw(WISP_RECT*pUpdateRect)\n{\n\tDWORD Width=m_RealFrameBuffer.Width;\n\tDWORD Height=m_RealFrameBuffer.Height;\n\tif(gpSyserCfg->m_DisableDisplay || m_RealFrameBuffer.Buffer==NULL)\n\t\treturn;\n\tCopyToScreen(&m_RealFrameBuffer,&m_RootPos,pUpdateRect);\n\tm_bScrRestored = false;\n\n\tif(gInVMWARE)\n\t\tFlushVedioBuffer(0,0, m_RealFrameBuffer.Width,m_RealFrameBuffer.Height);\n\telse if(gInVirtualPC)\t\n\t\tFlushVirtualPCScreenBuffer(0,0,m_RealFrameBuffer.Width,m_RealFrameBuffer.Height);\t\n}\n\nULSIZE CSyser::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size,CSyser*pThis)\n{\n\treturn pThis->m_pDebugger->ReadMemory(Address,Buffer,Size);\n}\n\nbool CSyser::IntallHardDriver()\n{\n\tInstallAllInterrupt();\n\treturn true;\n}\n\nvoid CSyser::RemoveHardDriver()\n{\n\tUninstallAllInterrupt();\n}\n\nbool CSyser::InstallHooks()\n{\n\tPsSetCreateProcessNotifyRoutine(CreateProcessHookProc,false);\n\tif(m_PsRemoveLoadImageNotifyRoutine)\n\t{\n\t\tPsSetLoadImageNotifyRoutine(LoadImageHookProc);\n\t}\n\telse if(gpSysBootDevEx && gpSysBootDevEx->cbSize==sizeof(SYSER_BOOT_DEVICE_EXTENSION))\n\t\tgpSysBootDevEx->pfnLoadImageNotifyRoutine = LoadImageHookProc;\n\n\tSyserClrCR0WP();\n\tif(m_SysInfo.m_HidP_TranslateUsageAndPagesToI8042ScanCodes)\n\t\tPATCH_SYSTEM(\"USB Hid Hook\",m_SysInfo.m_HidP_TranslateUsageAndPagesToI8042ScanCodes,OnPatchTranslateUsageAndPagesToI8042ScanCodes);\n\t//if(m_SysInfo.m_MmUnmapViewOfSection)\n\t//\tPATCH_SYSTEM(\"MmUnmapViewOfSection Hook\",m_SysInfo.m_MmUnmapViewOfSection,OnPatchMmUnmapViewOfSection);\n\tPatchKeBugCheckEx();\n\tif(gpSyserCfg->m_DisableCopyOnWrite)\n\t\t::DbgPrint(\"Syser : Disable MiCopyOnWrite Patch!\\n\");\n\telse\n\t\tPatchMiCopyOnWrite();\n\tSyserRestoreCR0();\n\tif(gpSyser->m_bPatchCopyOnWrite==false)\n\t\t::DbgPrint(\"Syser : ******* Fail to patch MiCopyOnWrite ******* !\\n\");\n\treturn true;\n}\n\nvoid CSyser::RemoveHooks()\n{\n\tPsSetCreateProcessNotifyRoutine(CreateProcessHookProc,true);\n\tif(m_PsRemoveLoadImageNotifyRoutine)\n\t\tm_PsRemoveLoadImageNotifyRoutine(LoadImageHookProc);\n\telse if(gpSysBootDevEx && gpSysBootDevEx->pfnLoadImageNotifyRoutine==LoadImageHookProc)\n\t\tgpSysBootDevEx->pfnLoadImageNotifyRoutine = NULL;\n}\n\nvoid CSyser::DbgPrint(int x,int y,IN WCHAR*Format,...)\n{\n\tWISP_RECT Rect;\n\tva_list Next;\n\tWCHAR szBuffer[0x200];\n\tif(m_RealFrameBuffer.Buffer==NULL||gpSyserCfg->m_DisableDisplay)\n\t\treturn;\n\tva_start(Next,Format);\n\tTVSPrintf(szBuffer,Format,Next);\n\tva_end(Next);\n\tRect.x=Rect.y=0;\n\tRect.cx=m_RealFrameBuffer.Width;\n\tRect.cy=m_RealFrameBuffer.Height;\n\tCWispDC\tScreenDC(&m_RealFrameBuffer,&Rect);\n\tScreenDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\tScreenDC.SetTextBKColor(WISP_RGB(0,0,0));\n\tScreenDC.SetTextColor(WISP_RGB(255,255,0));\n\tScreenDC.DrawString(x,y,szBuffer);\n\tif(gInVMWARE)\n\t\tFlushVedioBuffer(x,y, m_RealFrameBuffer.Width,y+16);\n\telse if(gInVirtualPC)\n\t\tFlushVirtualPCScreenBuffer(x,y,m_RealFrameBuffer.Width,y+16);\n\n}\n\nbool CSyser::PumpCondition()\n{\n\tif(m_bExit)\n\t\treturn false;\n\tif(stKeyGlobalVariable.dwFuncKeyState == FUNCKEYPRESS && m_KeyMap[WISP_VK_F12])\n\t{\n\t\tm_bScrBackup=true;\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nvoid CSyser::MapToProcess(CDbgProcess*pProcess)\n{\n\tSyserSetCR3Reg(pProcess->m_CR3);\n\tm_bUpdateReg = true;\n\tm_pDebugger = pProcess;\n}\n\nbool CSyser::InstallDebug()\n{\n\tVADDR32 IDTBaseAddress;\n\tDWORD dwIdtSize;\n\tDWORD dwCopySize;\n\tm_bDbgRegAccessMon = false;\n\tCheckSofticeExist();\n\tInitBpintCmdEntryPointer();\n\tZeroMemory(gOldInterruptProcAddress,sizeof(gOldInterruptProcAddress));\n\tZeroMemory(gOldInterruptDescropterTable,sizeof(gOldInterruptDescropterTable));\n\tIDTBaseAddress = SyserGetIDTBase(&dwIdtSize);\n\tdwCopySize = MIN(sizeof(gOldInterruptDescropterTable),(dwIdtSize+1));\n\tmemcpy(gOldInterruptDescropterTable,(const void *)IDTBaseAddress,sizeof(gOldInterruptDescropterTable));\n\tfor(DWORD i = 0;i< dwCopySize / sizeof(X86_GATE_DECR);i++)\n\t{\n\t\tgOldInterruptProcAddress[i]=MAKE_DWORD(gOldInterruptDescropterTable[i].OffsetHigh,gOldInterruptDescropterTable[i].OffsetLow);\n\t}\n\tm_bHardDriverSuccess=m_bHookSuccess=false;\n\tm_bHardDriverSuccess=IntallHardDriver();\n\tif(m_bHardDriverSuccess==false)\n\t{\n\t\t::DbgPrint(\"Syser : Fail to IntallHardDriver !\\n\");\n\t\treturn false;\n\t}\n\tm_bHookSuccess=InstallHooks();\n\tif(m_bHookSuccess==false)\n\t{\n\t\tRemoveHardDriver();\n\t\t::DbgPrint(\"Syser : InstallHooks Error !\\n\");\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CSyser::UninstallDebug()\n{\n\tif(m_bHardDriverSuccess)\n\t\tRemoveHardDriver();\n\tif(m_bHookSuccess)\n\t\tRemoveHooks();\n\treturn true;\n}\n\nvoid  CSyser::ReportMsg(IN const WISP_CHAR* Format,...)\n{\n\tWISP_RECT Rect;\n\tva_list Next;\n\tWCHAR szBuffer[0x200];\n\tif(m_RealFrameBuffer.Buffer==NULL)\n\t\treturn;\n\tva_start(Next,Format);\n\tTVSPrintf(szBuffer,Format,Next);\n\tva_end(Next);\n\tRect.x=Rect.y=0;\n\tRect.cx=m_RealFrameBuffer.Width;\n\tRect.cy=m_RealFrameBuffer.Height;\n\tCWispDC\tScreenDC(&m_RealFrameBuffer,&Rect);\n\tScreenDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\tScreenDC.SetTextBKColor(WISP_RGB(0,0,0));\n\tScreenDC.SetTextColor(WISP_RGB(255,255,0));\n\tScreenDC.DrawString(0,0,szBuffer);\n\t//SYSEXPLR_OUTPUT(WSTR(\"%s\\n\"),szBuffer);\n}\n\n/*\n\n///////////////////////////////////////////////////////\n//        SwitchIDT\n//\n// Switch to each logical processor with Hyperthreading\n// and retrieve the base address of the relevant IDT\n///////////////////////////////////////////////////////\n\n\nBOOL SwitchIDT () {\n\n///////////////////////////////////////////////////////\n\nstruct IDT_INFO\n{\nunsigned short wReserved;\nunsigned short wLimit;\t\t     // size of table\nIDT_GATE* pIdt;\t\t\t// base address of table\n};\n\nIDT_INFO IdtInfo = {0};\n\nULONG lpProcessAffinityMask = 0;\nULONG lpSystemAffinityMask = 0;\n\n///////////////////////////////////////////////////////\n\n// Affinity Info\n\nGetProcessAffinityMask(\nGetCurrentProcess(),\t// HANDLE hProcess,\n&lpProcessAffinityMask,\t// OUT PDWORD_PTR lpProcessAffinityMask,\n&lpSystemAffinityMask);\t// OUT PDWORD_PTR lpSystemAffinityMask\n\n// function obtains lpProcessAffinityMask value from EPROCESS.Affinity\n// function obtains lpSystemAffinityMask value from BaseStaticServerData\n// both are generally same value of 0x03 (binary mask 11) \n// with Hyperthreading enabled\n\nfprintf (stderr, \"ProcessAffinityMask %x \\n\", lpProcessAffinityMask);\nfprintf (stderr, \"SystemAffinityMask %x \\n\", lpSystemAffinityMask);\n\n\n///////////////////////////////////////////////////////\n\n// Switch current thread to processor 1\nSetProcessAffinityMask(\nGetCurrentProcess(),\t// HANDLE hProcess,\n1);\t\t\t// DWORD_PTR dwProcessAffinityMask\n\nSleep(0); // Give OS a chance to switch to the desired CPU\n\n\n// Read IDTR register\n__asm sidt IdtInfo.wLimit\t\t\t\n\n// Output current IDT base address\nfprintf (stderr, \"CPU1 IDT Base %x \\n\", IdtInfo.pIdt);\n\n\n// Switch current thread to processor 2 if HT is enabled\nif (lpProcessAffinityMask != 1)\n{\nSetProcessAffinityMask(\nGetCurrentProcess(),\t// HANDLE hProcess,\n2);\t\t// DWORD_PTR dwProcessAffinityMask\n\nSleep(0); // Give OS a chance to switch to the desired CPU\n\n\n// Read IDTR register\n__asm sidt IdtInfo.wLimit\n\n// Output current IDT base address\nfprintf (stderr, \"CPU2 IDT Base %x \\n\", IdtInfo.pIdt);\n}\n\n///////////////////////////////////////////////////////\n\nreturn TRUE;\n\n}\t//\n\nHi,\n\nFirst, you need to get the physical address of the APIC by\nusing the RDMSR instruction to read the IA32_APIC_BASE_MSR value.\n\nAfter this, you can use the MmMapIoSpace function\nto map from this physical address to a virtual one.\n\nThe standard physical address for the apic is 0xFEC00000.\nYou can use \"PHYS 0xFEC00000\" in SoftICE to get the virtual address.\n\nThe address 0xFFDFF120 is the _KPRCB structure.\nYou can use WinDBG to see the whole structure.\nOr use the \"types _KPRCB\" in SoftICE.\n\nWhen you are using a MP/HT system, the two _KPRCB addresses\nare inside the KiProcessorBlock kernel variable.\n\n\nCode:\n\nlkd> dd KiProcessorBlock\n8054b080  ffdff120 f7acf120 00000000 00000000\n8054b090  00000000 00000000 00000000 00000000\n8054b0a0  00000000 00000000 00000000 00000000\n\nTo get the PCR address of each processor is just simple:\nFIRST KPCR address = 0xFFDFF120 - 0x120\nSECOND KPCR address = 0xF7ACF120 - 0x120\n\nWe can easily find the IDT address inside the KPCR structure.\nThe problem is that the KiProcessorBlock is not exported  \n\nRegards,\nOpc0de\n\n\nOops, I'm wrong.  \n\nYou can use my little trick at\nhttp://www.rootkit.com/newsread.php?newsid=101\nto get the KiProcessorBlock address.\n\nThe KiProcessorBlock is exported by the KdVersionBlock structure\nas you can see here:\nhttp://www.rootkit.com/newsread.php?newsid=153\n\nRegards,\nOpc0de\n\n  http://boomerang.sourceforge.net/\n*/\n#ifndef __DEMO__VERSION__\nPSERIALNAME CSyser::GetSerialNumber()\n{\n\treturn gSerialName;\n}\nbool CSyser::CheckSN(char* SerialNum,char* Name)\n{\n\treturn true;\n// \tchar Buf[9],ch1;\n// \tDWORD dwValue1,dwValue2,dwValue3,dwValue4;\n// \tint i,j;\n// \tchar SnName[256];\n// \tunsigned __int64 mx,mx1,mx2;\n// \tfor(i=0;i<8;i++)\n// \t\tBuf[i]=SerialNum[i];\n// \tBuf[i]=0;\n// \tSHexStrToNum(Buf,&dwValue1);\n// \tfor(i=0;i<8;i++)\n// \t\tBuf[i]=SerialNum[i+8];\n// \tBuf[i]=0;\n// \tSHexStrToNum(Buf,&dwValue2);\n// \tdwValue3=dwValue1-dwValue2;\n// \tdwValue4=dwValue1+dwValue2;\n// \tmx1=dwValue3;\n// \tmx2=dwValue4;\n// \tmx=mx1*mx2;\t\n// \tGSNMAP::IT FindIT=m_GSnMap.Find(mx);\n// \tif(FindIT!=m_GSnMap.End())\n// \t{\n// \t\tfor(int i=0;i<sizeof(gSerialName)/sizeof(gSerialName[0]);i++)\n// \t\t{\n// \t\t\tmemset(SnName,0,sizeof(SnName));\n// \t\t\tfor(j=0;Name[j];j++)\n// \t\t\t{\n// \t\t\t\tch1=Name[j];\n// \t\t\t\tif(ch1>='A'&&ch1<='Z')\n// \t\t\t\t\tch1=ch1+('a'-'A');\n// \t\t\t\tch1 = ((ch1^(0x7a+i))+0x2a)&0xff;\n// \t\t\t\tSnName[j]=ch1;\n// \t\t\t}\n// \t\t\tSnName[j]=0;\n// \t\t\tif(memcmp((*FindIT).m_pData,SnName,(*FindIT).m_Length)==0)\n// \t\t\t{\n// \t\t\t\tif(mx==0x77753661edc73e5d || mx==0x07d32d3fcdbf572d||mx==0x01497eb46d08b395)\n// \t\t\t\t\t*Type=SN_ENTERPRISE;\n// \t\t\t\telse if(mx==0xc15dd19fc39daf05)\n// \t\t\t\t\t*Type=SN_STUDENT;\n// \t\t\t\telse\n// \t\t\t\t\t*Type=SN_PERSONAL;\n// \t\t\t\treturn true;\n// \t\t\t}\n// \t\t}\n// \t}\n//\treturn false;\n}\n\nSERIALNAME CSyser::gSerialName[28]={\n\t{\"\\x32\\x3f\\x40\\x46\\x81\\x48\\x3d\\x49\\x38\\x49\\x32\\x84\\x3b\\x40\\x49\\x3d\\x3e\\x00\",0x4168ea9dc6497ee0},\n\t\t/*0*/\t/* \"Rolf-Dieter Klein\" ^0x7a+0x2a */\n\t{\"\\x40\\x47\\x44\\x46\\x44\\x3f\\x65\\x40\\x3e\\x3a\\x3e\\x3f\\x48\\x39\\x7f\\x42\\x3e\\x40\\x00\",0x2e7f9176e5e9ed50},\n\t/*1*/\t/* \"mfagan@mokonet.com\" ^0x7b+0x2a */\n\t{\"\\x35\\x47\\x3a\\x32\\x43\\x38\\x86\\x45\\x2f\\x45\\x3a\\x3f\\x00\",0x24a8a43bd4887d0},\n\t/*2*/\t/* \"Walter Gygli\" ^0x7c+0x2a */\n\t{\"\\x41\\x3c\\x3f\\x3d\\x87\\x3a\\x48\\x48\\x46\\x3d\\x3d\\x00\",0x581c9ca398ef4820},\n\t/*3*/\t/* \"John McCann\" ^0x7d+0x2a */\n\t{\"\\x37\\x3b\\x42\\x34\\x33\\x41\\x3a\\x00\",0x15a8386850c14168},\n\t/*4*/\t/* \"SOFTWIN\" ^0x7e+0x2a */\n\t{\"\\x48\\x46\\x41\\x44\\x37\\x34\\x3b\\x36\\x00\",0x289149745b1cf198},\n\t/*5*/\t/* \"acheruns\" ^0x7f+0x2a */\n\t{\"\\x1d\\x1e\\x0f\\x1a\\x12\\x0b\\x18\\xca\\x1d\\x13\\x1e\\x1e\\x0b\\x00\",0x3d1ea311acedcf50},\n\t/*6*/\t/* \"Stephan Sitta\" ^0x80+0x2a */\n\t{\"\\x14\\x12\\x16\\xcb\\x14\\x22\\x18\\x1e\\x19\\x10\\xcb\\x13\\x18\\x00\",0xb97a4907f773900},\n\t/*7*/\t/* \"kim kyoung ho\" ^0x81+0x2a */\n\t{\"\\x0b\\x0d\\x1a\\x17\\x18\\xcc\\x22\\x11\\x25\\x16\\x17\\x21\\x16\\x00\",0x1ee7bc52389c0d78},\n\t/*8*/\t/* \"Carol Zeynoun\" ^0x82+0x2a */\n\t{\"\\x12\\x20\\x16\\xcd\\x12\\x14\\x17\\x12\\x14\\x00\",0xb49ea594df126b48},\n\t/*9*/\t/* \"kuo kinki\" ^0x83+0x2a */\n\t{\"\\x18\\x10\\x0b\\x1a\\x28\\x00\",0x467f1c526445e2d0},\n\t/*10*/\t/* \"jbetz\" ^0x84+0x2a */\n\t{\"\\x0e\\x13\\x0a\\x15\\x1c\\x00\",0xbfae82b7a343038},\n\t/*11*/\t/* \"alenw\" ^0x85+0x2a */\n\t{\"\\x15\\x1d\\x1c\\x1f\\x1d\\x15\\x19\\xd0\\x13\\x0b\\x11\\x1b\\x11\\x00\",0x127f900f6857ef10},\n\t/*12*/\t/* \"Mutsumi Ogawa\" ^0x86+0x2a */\n\t{\"\\x14\\x18\\x16\\x0c\\x0d\\xd2\\x1e\\x18\\x0a\\x13\\x10\\x1d\\x0c\\x0e\\x00\",0xdf8be9c049491b8},\n\t/*13*/\t/* \"MikeD/Signatec\" ^0x87+0x2a */\n\t{\"\\x0d\\x27\\x10\\x0b\\x0d\\x13\\x1c\\x27\\xd2\\x26\\x13\\x16\\x13\\x00\",0x1dc9b0378c41c178},\n\t/*14*/\t/* \"kunikazu tada\" ^0x88+0x2a */\n\t{\"\\x0f\\x0a\\x15\\x16\\x25\\x10\\x00\",0x254d88b3358274d0},\n\t/*15*/\t/* \"libero\" ^0x89+0x2a */\n\t{\"\\x23\\x15\\x23\\x28\\x22\\x1d\\xd4\\x0b\\x0f\\x11\\x24\\x19\\x10\\x10\\x15\\x00\",0x7c308545acf1b18},\n\t/*16*/\t/* \"Sastry Kompella\" ^0x8a+0x2a */\n\t{\"\\x0a\\x0c\\x10\\xd5\\x23\\x0e\\x13\\x18\\x23\\x22\\x0e\\x0f\\x00\",0x1058a01846617cb8},\n\t/*17*/\t/* \"Kim Roberson\" ^0x8b+0x2a */\n\t{\"\\x19\\x0e\\x28\\x0f\\x29\\x22\\x0f\\x17\\x0c\\xd6\\x0e\\x0d\\x14\\x14\\x0b\\x17\\x0c\\x0c\\x00\",0x15e6528b84dc7808},\n\t/*18*/\t/* \"Christian Hoffmann\" ^0x8c+0x2a */\n\t{\"\\x19\\x29\\x0e\\x16\\x0d\\xd7\\x18\\x16\\x27\\x12\\x0b\\x0b\\x16\\x29\\x0c\\x00\",0xb3ee0572cb780ec0},\n\t/*19*/\t/* \"brian capellaro\" ^0x8d+0x2a */\n\t{\"\\x0a\\x27\\x26\\x11\\x00\",0x24c1669d1c52b0a0},\n\t/*20*/\t/* \"NSRI\" ^0x8e+0x2a */\n\t{\"\\x0b\\x0a\\x23\\x14\\x16\\xd9\\x24\\x26\\x14\\x27\\x00\",0x1be17f1a0793bca0},\n\t/*21*/\t/* \"NOVEC User\" ^0x8f+0x2a */\n\t{\"\\x1b\\x26\\x1b\\x1e\\x1e\\x23\\x28\\xda\\x1f\\x0f\\x0c\\x29\\x0a\\x1f\\xda\\x21\\x27\\x1c\\x22\\x00\",0x27f1ee3d581395a0},\n\t/*22*/\t/* \"Aladdin Europe GmbH\" ^0x90+0x2a */\n\t{\"\\x22\\x29\\x0f\\x1e\\x0d\\x1f\\x22\\x20\\x22\\x0f\\x1a\\x27\\x00\",0x16a2124a67be6bc8},\n\t/*23*/\t/* \"InterDigital\" ^0x91+0x2a */\n\t{\"\\x28\\x1d\\x0a\\x0a\\x15\\xdc\\x28\\x1d\\x14\\x20\\x1d\\x28\\x00\",0xc15dd19fc39daf05},\n\t/*24*/\t/* \"Larry Laxdal\" ^0x92+0x2a */\n\t{\"\\x7c\\xa5\\x7b\\xa2\\x6d\\x80\\x86\\x5b\\x59\\x59\\x83\\x90\\x00\",0x01497eb46d08b395},\n\t/*25*/\t/* \"Ϣ\" ^0x93+0x2a */\n\t{\"\\x11\\x1f\\x27\\x21\\x00\",0x07d32d3fcdbf572d},\n\t/*26*/\t/* \"SAIC\" ^0x94+0x2a */\n\t{\"\\x1a\\x28\\x1e\\x27\\x1e\\x0a\\xdf\\x24\\x16\\x00\",0x77753661edc73e5d},\n\t/*27*/\t/* \"Ekahau Oy\" ^0x95+0x2a */\n};\n\n#endif\n\nvoid CSyser::InitHotKeyInfo()\n{\n\tDWORD *Buffer=LoadCFGHotKey();\n\tif(Buffer==NULL)\n\t\treturn;\n\tDWORD* OrgBuffer,i,j,k;\n\tCMDHOTKEYMAP::IT BeginIT;\n\tKEY_PAIR KeyPair;\n\tOrgBuffer=Buffer;\n\tBuffer++;//skip crc\t\n\tBuffer++;//skip total number\n\tfor(i=0;i<OrgBuffer[1];i++)\n\t{\n\n\t\tBeginIT = m_CmdHotKeyMap.InsertUnique(*Buffer++,HOTKEYLIST());\n\t\tif(BeginIT!=m_CmdHotKeyMap.End())\n\t\t{\n\t\t\tk=*Buffer++;\n\t\t\tfor(j=0;j<k;j++)\n\t\t\t{\n\t\t\t\tKeyPair.FuncKeyCode=*Buffer++;\n\t\t\t\tKeyPair.SecondKeyCode=*Buffer++;\n\t\t\t\t(*BeginIT).Append(KeyPair);\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse\n\t\t\tbreak;\n\t}\n\t\n\tdelete []OrgBuffer;\n\tHOTKEYLIST::IT HotKeyIT;\n\tBeginIT=m_CmdHotKeyMap.Find(0);\n\tif(BeginIT!=m_CmdHotKeyMap.End())\n\t{\n\t\tHotKeyIT=BeginIT->Begin();\n\t\tfor(;HotKeyIT!=BeginIT->End();HotKeyIT++)\n\t\t{\n\t\t\tSetActiveHotKey(HotKeyIT->FuncKeyCode,HotKeyIT->SecondKeyCode);\n\t\t}\n\t}\n}\n\nvoid CSyser::SetActiveHotKey(DWORD FuncKeyCode,DWORD SecondKeyCode)\n{\t\n\tif(FuncKeyCode & WISP_MOD_CTRL)\n\t{\n\t\tFuncKeyCode= GetScanCode(WISP_VK_CONTROL);\n\t}\n\telse if(FuncKeyCode & WISP_MOD_ALT)\n\t{\n\t\tFuncKeyCode= GetScanCode(WISP_VK_ALT);\n\t}\n\telse if(FuncKeyCode & WISP_MOD_SHIFT)\n\t{\n\t\tFuncKeyCode= GetScanCode(WISP_VK_SHIFT);\n\t}\n\tSecondKeyCode = GetScanCode(SecondKeyCode);\n\tstKeyGlobalVariable.chFuncKeyScanCode=(BYTE)FuncKeyCode;\n\tstKeyGlobalVariable.chSecondKeyScanCode=(BYTE)SecondKeyCode;\n}\nvoid CSyser::AttachPopupProcess(DWORD dwCR3)\n{\n\tDWORD dwCurThread,dwCurProcess;\n\tSYSER_THREAD pThread;\n\tSYSER_PROCESS pProcess;\n\tActiveHookInt0e(true);\n\tGetCurrentProcessAndThread(&m_PopupProcess,&m_PopupThread);\n\tif(GetThreadInfoByETHREAD((DWORD)m_PopupThread,&pThread))\n\t{\n\t\tm_PopupThreadID=pThread.ThreadID;\n\t\tif(GetProcessInfoByEPROCESS(pThread.Process,&pProcess))\n\t\t\tm_PopupProcessID=pProcess.UniqueProcessId;\n\t}\n\tm_pDebugger=m_SysInfo.GetProcessByCR3(dwCR3);\n\tif(gpSyser->m_pDebugger==NULL)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Syser : not match process CR3=%08x\\n\"),dwCR3);\n\t\tm_pDebugger=m_pSysDebugger;\n\t}\n\tMapToProcess(m_pDebugger);\n\tm_pOrgProcess=m_pDebugger;\t\n\tm_SyserUI.m_CodeDoc.UpdatePID_TID(m_PopupProcessID,m_PopupThreadID);\n\tActiveHookInt0e(false);\n}\nvoid\tCSyser::AttachHotKey(DWORD dwCmdID,CWispWnd* pWnd)\n{\t\n\tCMDHOTKEYMAP::IT FindIT;\n\tHOTKEYLIST::IT BeginIT;\n\tif(dwCmdID==0)\n\t\treturn;\n\tFindIT=m_CmdHotKeyMap.Find(dwCmdID);\n\tif(FindIT!=m_CmdHotKeyMap.End())\n\t{\n\t\tBeginIT=FindIT->Begin();\n\t\tfor(;BeginIT!=FindIT->End();BeginIT++)\n\t\t{\n\t\t\tif(BeginIT->SecondKeyCode)\n\t\t\t{\t\t\t\n\t\t\t\tpWnd->RegisterHotKey(dwCmdID,BeginIT->SecondKeyCode,BeginIT->FuncKeyCode);\n\t\t\t}\n\t\t\telse\n\t\t\t{\t\t\t\t\n\t\t\t\tpWnd->RegisterHotKey(dwCmdID,BeginIT->FuncKeyCode,0);\n\t\t\t}\n\t\t}\n\t}\t\n}\n\n\nDWORD CSyser::AttachShortcutKey(DWORD dwCmdID,TMap<UINT,UINT> & pMap)\n{\t\n\tCMDHOTKEYMAP::IT FindIT;\n\tHOTKEYLIST::IT BeginIT;\n\tif(dwCmdID==0)\n\t\treturn 0;\n\tFindIT=m_CmdHotKeyMap.Find(dwCmdID);\n\tif(FindIT!=m_CmdHotKeyMap.End())\n\t{\n\t\tBeginIT=FindIT->Begin();\n\t\tfor(;BeginIT!=FindIT->End();BeginIT++)\n\t\t{\n\t\t\tpMap.InsertUnique(BeginIT->SecondKeyCode|BeginIT->FuncKeyCode,dwCmdID);\n\t\t}\n\t\treturn FindIT->Count();\n\t}\t\n\treturn 0;\n}\nbool CSyser::InitOSHwndRoot()\n{\n\tstatic bool bInit=false;\n\tBOOL bOK;\n\tDWORD dwHwndAddr,dwHwndAddr2;\t\n\tSYSER_PROCESS Process;\n\tSYSER_THREAD Thread;\n\tCDbgProcess*pDbgProcess;\n\tif(bInit)\n\t\treturn m_OSHwndRoot!=0;\n\tbInit=true;\n\tif(GetProcessByName(\"syserapp\", &Process))\n\t{\t\t\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"syserapp\"));\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn false;\n\t\tgpSyser->MapToProcess(pDbgProcess);\n\t\tbOK = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK)\n\t\t{\n\t\t\tif(Thread.Teb)\n\t\t\t{\n\t\t\t\tdwHwndAddr2=0;\n\t\t\t\tdwHwndAddr=Thread.Teb+gOSOffsetInfo->TEB_Win32ClientInfo_OFFSET+sizeof(DWORD)*6;\t\t\t\t\n\t\t\t\tif(ReadDword((void**)dwHwndAddr,&dwHwndAddr2))\n\t\t\t\t{\n\t\t\t\t\tif(dwHwndAddr2)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwHwndAddr2+=gOSOffsetInfo->WIN32CLIENT_hwnd_OFFSET;\n\t\t\t\t\t\tdwHwndAddr=0;\n\t\t\t\t\t\tif(ReadDword((void**)dwHwndAddr2,&dwHwndAddr))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(dwHwndAddr)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_OSHwndRoot=dwHwndAddr;\t\t\t\t\t\t\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\t\t\t\t\t\t\n\t\t\t}\n\t\t\tbOK=GetNextThread(&Thread);\n\t\t\tdwHwndAddr=0;\n\t\t}\n\t}\n\tif(GetProcessByName(\"explorer\", &Process))\n\t{\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"explorer\"));\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn false;\n\t\tgpSyser->MapToProcess(pDbgProcess);\n\t\tbOK = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK)\n\t\t{\n\t\t\tif(Thread.Teb)\n\t\t\t{\n\t\t\t\tdwHwndAddr2=0;\n\t\t\t\tdwHwndAddr=Thread.Teb+gOSOffsetInfo->TEB_Win32ClientInfo_OFFSET+sizeof(DWORD)*6;\t\t\t\t\n\t\t\t\tif(ReadDword((void**)dwHwndAddr,&dwHwndAddr2))\n\t\t\t\t{\n\t\t\t\t\tif(dwHwndAddr2)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwHwndAddr2+=gOSOffsetInfo->WIN32CLIENT_hwnd_OFFSET;\n\t\t\t\t\t\tdwHwndAddr=0;\n\t\t\t\t\t\tif(ReadDword((void**)dwHwndAddr2,&dwHwndAddr))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(dwHwndAddr)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_OSHwndRoot=dwHwndAddr;\t\t\t\t\t\t\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\t\t\t\t\t\t\n\t\t\t}\n\t\t\tbOK=GetNextThread(&Thread);\n\t\t\tdwHwndAddr=0;\n\t\t}\n\t}\n\tif(GetProcessByName(\"csrss\", &Process))\n\t{\n\t\tpDbgProcess=gpSyser->m_SysInfo.GetProcess(WSTR(\"csrss\"));\n\t\tif(pDbgProcess==NULL)\n\t\t\treturn false;\n\t\tgpSyser->MapToProcess(pDbgProcess);\n\t\tbOK = GetThreadInfoByETHREAD((DWORD)Process.ThreadHead,&Thread);\n\t\twhile(bOK)\n\t\t{\n\t\t\tif(Thread.Teb)\n\t\t\t{\n\t\t\t\tdwHwndAddr2=0;\n\t\t\t\tdwHwndAddr=Thread.Teb+gOSOffsetInfo->TEB_Win32ClientInfo_OFFSET+sizeof(DWORD)*6;\t\t\t\t\n\t\t\t\tif(ReadDword((void**)dwHwndAddr,&dwHwndAddr2))\n\t\t\t\t{\n\t\t\t\t\tif(dwHwndAddr2)\n\t\t\t\t\t{\n\t\t\t\t\t\tdwHwndAddr2+=gOSOffsetInfo->WIN32CLIENT_hwnd_OFFSET;\n\t\t\t\t\t\tdwHwndAddr=0;\n\t\t\t\t\t\tif(ReadDword((void**)dwHwndAddr2,&dwHwndAddr))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(dwHwndAddr)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_OSHwndRoot=dwHwndAddr;\t\t\t\t\t\t\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t}\t\t\t\t\t\t\n\t\t\t}\n\t\t\tbOK=GetNextThread(&Thread);\n\t\t\tdwHwndAddr=0;\n\t\t}\n\t}\n\treturn false;\n}\n\nvoid CSyser::ClearBPR()\n{\n\tPROC_RANGE_BP_MAP::IT BeginIT,EndIT;\n\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\tDWORD count=0;\n\tDWORD dwValue;\n\tif(!gpSyser->m_RangeBPList.Count())\n\t{\n\t\treturn;\n\t}\n\tBeginIT = gpSyser->m_RangeBPList.Begin();\n\tEndIT = gpSyser->m_RangeBPList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(BeginIT.Key());\n\t\tif(pDbgProcess==NULL)\n\t\t{\t\t\t\n\t\t\tcontinue;\n\t\t}\n\n\t\tgpSyser->MapToProcess(pDbgProcess);\n\n\t\tListBIT = BeginIT->Begin();\n\t\tListEIT = BeginIT->End();\n\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t{\n\t\t\tDWORD PageSize,PTESize;\n\t\t\tDWORD PtePtr;\n\t\t\tDWORD TotalSize,StartAddr,EndAddr;\n\t\t\tTotalSize=ListBIT->RangeLength;\n\t\t\tStartAddr=ListBIT->RangeStartAddress;\n\t\t\tEndAddr = StartAddr+ListBIT->RangeLength-1;\n\t\t\tfor(;StartAddr<EndAddr;)\n\t\t\t{\n\t\t\t\tPtePtr = (DWORD)GetPTE(StartAddr,&PageSize,&PTESize,false);\n\t\t\t\tif(!PtePtr)\n\t\t\t\t{\n\t\t\t\t\tPageSize=0x1000;\n\t\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\t\tStartAddr+=PageSize;\t\n\t\t\t\t\tOUTPUT(WSTR(\"ClearBPR SKIP page\\n\"));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\tStartAddr+=PageSize;\n\t\t\t\tif(ReadDword((void*)PtePtr,&dwValue))\n\t\t\t\t{\n\t\t\t\t\t//if(!(dwValue & 1))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(WriteDword((void*)PtePtr,(dwValue|1)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tListBIT->Type |= BP_REV_BPR_TYPE;\n\t\t\t\t\t\t\tdwValue = (DWORD)PtePtr;\t\n\t\t\t\t\t\t\tcount++;\n// \t\t\t\t\t\t\t__asm\n// \t\t\t\t\t\t\t{\n// \t\t\t\t\t\t\t\tinvlpg dwValue\n// \t\t\t\t\t\t\t\tpush eax \n// \t\t\t\t\t\t\t\tmov eax, cr3 \n// \t\t\t\t\t\t\t\tmov cr3, eax \n// \t\t\t\t\t\t\t\tpop eax\n// \t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tSyserFlushInsCache((BYTE*)PtePtr);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t//else\n\t\t\t\t//{\n\t\t\t\t//\tOUTPUT(WSTR(\"ClearBPR read ptr error\\n\"));\n\t\t\t\t//}\n\t\t\t}\t\t\t\t\n\t\t}\t\t\n\t}\n\t//if(count==0)\n\t//{\n\t//\tOUTPUT(WSTR(\"NOT CLEAR BPR. THIS IS A ERROR\\n\"));\n\t//}\n}\nvoid CSyser::ClearProcessBPR(DWORD dwProcess)\n{\n\tPROC_RANGE_BP_MAP::IT BeginIT,EndIT;\n\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\tDWORD dwValue;\n\tif(!gpSyser->m_RangeBPList.Count())\n\t\treturn;\n\t\n\tBeginIT = gpSyser->m_RangeBPList.Find(dwProcess);\n\tEndIT = gpSyser->m_RangeBPList.End();\n\tif(BeginIT==EndIT)\n\t\treturn;\n\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(BeginIT.Key());\n\tif(pDbgProcess==NULL)\n\t\treturn;\n\n\tgpSyser->MapToProcess(pDbgProcess);\n\tif(pDbgProcess)\n\t{\n\t\tListBIT = BeginIT->Begin();\n\t\tListEIT = BeginIT->End();\n\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t{\n\t\t\tDWORD PageSize,PTESize;\n\t\t\tDWORD PtePtr;\n\t\t\tDWORD TotalSize,StartAddr,EndAddr;\n\t\t\tTotalSize=ListBIT->RangeLength;\n\t\t\tStartAddr=ListBIT->RangeStartAddress;\n\t\t\tEndAddr = StartAddr+ListBIT->RangeLength-1;\n\t\t\tfor(;StartAddr<EndAddr;)\n\t\t\t{\n\t\t\t\tPtePtr = (DWORD)GetPTE(StartAddr,&PageSize,&PTESize,false);\n\t\t\t\tif(!PtePtr)\n\t\t\t\t{\n\t\t\t\t\tPageSize=0x1000;\n\t\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\t\tStartAddr+=PageSize;\t\t\t\t\t\t\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\tStartAddr+=PageSize;\n\t\t\t\tif(ReadDword((void*)PtePtr,&dwValue))\n\t\t\t\t{\n\t\t\t\t\t//if((dwValue & 0))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(WriteDword((void*)PtePtr,(dwValue|1)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tListBIT->Type |= BP_REV_BPR_TYPE;\n\t\t\t\t\t\t\tdwValue = (DWORD)PtePtr;\t\t\t\t\t\t\t\t\n// \t\t\t\t\t\t\t__asm\n// \t\t\t\t\t\t\t{\n// \t\t\t\t\t\t\t\tinvlpg dwValue\n// \t\t\t\t\t\t\t\tpush eax \n// \t\t\t\t\t\t\t\tmov eax, cr3 \n// \t\t\t\t\t\t\t\tmov cr3, eax \n// \t\t\t\t\t\t\t\tpop eax\n// \t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tSyserFlushInsCache((BYTE*)PtePtr);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\t\t\t\t\t\n\t\t}\n\t}\t\n\tgpSyser->m_RangeBPList.Remove(dwProcess);\n}\nvoid CSyser::SetBPR()\n{\n\tPROC_RANGE_BP_MAP::IT BeginIT,EndIT;\n\tBP_RANGE_LIST::IT ListBIT,ListEIT;\n\tDWORD dwValue;\n\tstatic int count=0;\n\tif(!gpSyser->m_RangeBPList.Count())\n\t\treturn;\n\tBeginIT = gpSyser->m_RangeBPList.Begin();\n\tEndIT = gpSyser->m_RangeBPList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tCDbgProcess* pDbgProcess = gpSyser->m_SysInfo.GetProcessByEPROCESS(BeginIT.Key());\n\t\tif(pDbgProcess)\n\t\t{\n\t\t\tgpSyser->MapToProcess(pDbgProcess);\n\t\t\t\n\t\t\tif(pDbgProcess)\n\t\t\t{\n\t\t\t\tListBIT = BeginIT->Begin();\n\t\t\t\tListEIT = BeginIT->End();\n\t\t\t\tfor(;ListBIT!=ListEIT;ListBIT++)\n\t\t\t\t{\n\t\t\t\t\tif(ListBIT->State != BP_STATE_ENABLE)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tDWORD PageSize,PTESize;\n\t\t\t\t\tDWORD PtePtr;\n\t\t\t\t\tDWORD TotalSize,StartAddr,EndAddr;\n\t\t\t\t\tTotalSize=ListBIT->RangeLength;\n\t\t\t\t\tStartAddr=ListBIT->RangeStartAddress;\n\t\t\t\t\tEndAddr = StartAddr+ListBIT->RangeLength-1;\n\t\t\t\t\tfor(;StartAddr<EndAddr;)\n\t\t\t\t\t{\n\t\t\t\t\t\tPtePtr = (DWORD)GetPTE(StartAddr,&PageSize,&PTESize);\n\t\t\t\t\t\tif(!PtePtr)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tPageSize=0x1000;\n\t\t\t\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\t\t\t\tStartAddr+=PageSize;\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tStartAddr &= (~(PageSize-1));\n\t\t\t\t\t\tStartAddr+=PageSize;\n\t\t\t\t\t\tif(ReadDword((void*)PtePtr,&dwValue)==false)\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tif((dwValue & 1)==0)\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tif(WriteDword((void*)PtePtr,(dwValue&0xfffffffe))==false)\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\tListBIT->Type |= BP_SET_BPR_TYPE;\n\t\t\t\t\t\tdwValue = (DWORD)PtePtr;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t//gpSyser->DbgPrint(0,0,WSTR(\"[%d]setbpr pte=[%08x] eip=%08x \\n\"),count++,PtePtr,Reg.EIP);\n//\t\t\t\t\t\t__asm\n// \t\t\t\t\t\t{\n// \t\t\t\t\t\t\tinvlpg dwValue\n// \t\t\t\t\t\t\tpush eax \n// \t\t\t\t\t\t\tmov eax, cr3 \n// \t\t\t\t\t\t\tmov cr3, eax \n// \t\t\t\t\t\t\tpop eax\n// \t\t\t\t\t\t}\n\n\t\t\t\t\t\tSyserFlushInsCache((BYTE*)PtePtr);\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\t\t\n\t}\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserNTDrvApp.h",
    "content": "#ifndef _SYSER_NT_DRV_APP_H_\n#define _SYSER_NT_DRV_APP_H_\n\n\nclass CMoveFramMenu : public CWispMenu\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n};\n\n#include \"X86Optr.h\"\n#include \"InputDriver.h\"\n#include \"SysInfo.h\"\n#include \"MainFrame.h\"\n#include \"pcidef.h\"\n#include \"Services.h\"\n#include \"SyserUI.h\"\n#include \"SyserConfig.h\"\n#include \"SyserSymAnalyzer.h\"\n#include \"SerialPort.h\"\n#include \"SDServer.h\"\n#include \"PCSystem.h\"\n\n#define\tMAX_PIXEL_BYTE_COUNT\t\t4\n#define\tMAX_VIEW_COUNT\t\t\t\t4\n\ntypedef TMap<CStrW,SYSER_PLUGIN_MODULE> CPluginMap;\n\nstruct SYSER_DUMP\n{\n\tBYTE*\tDumpData;\n\tint\t\tDumpSize;\n\tCStrA\tDumpFileName;\n};\ntypedef struct _SERIALNAME\n{\n\tchar* Name;\n\tunsigned __int64 MulVal;\n}SERIALNAME,*PSERIALNAME;\ntypedef TList<SYSER_DUMP>\t\tCSyserDumpList;\ntypedef TMap<unsigned __int64,CStrA> GSNMAP;\n\ntypedef TList<KEY_PAIR> HOTKEYLIST;\ntypedef TMap<DWORD,HOTKEYLIST> CMDHOTKEYMAP;\n\nclass CSyser : public CWispBase\n{\npublic:\n\tCSyser();\npublic:\t\n\tCPCSystem\t\tm_PCSystem;\n\tCSerialPortConnect m_SerialPortConnect;\n\tCSyserConnect*\tm_pSyserConnect;\n\tCSDServer\t\tm_SDServer;\n\tCDbgProcess*\tm_pSysDebugger;\n\tCDbgProcess*\tm_pDebugger;\n\tCDbgProcess*\tm_pCsrssProcess;\n\tCDbgProcess*\tm_pOrgProcess;\n\tCSysInfo\t\tm_SysInfo;\n\tCMainFrame\t\tm_MainFrame;\n\tCSyserUI\t\tm_SyserUI;\n\tbool\t\t\tm_bMovingFrame;\n\tWISP_POINT\t\tm_RootPos;\n\tWISP_POINT\t\tm_RootPosBackup;\n\tWISP_RECT\t\tm_FrameRect;\n\tCLocalFileIO\tm_FileIO;\n\tCOptionValue\tm_SyserOption;\n\tint\t\t\t\tm_OrgWindowWidth;\n\tint\t\t\t\tm_OrgWindowHeight;\n\tbool\t\t\tm_bShowSplash;\n\tbool\t\t\tm_bScrRestored;\t\t\t//F4Ļָ\n\tbool\t\t\tm_bScrBackup;\n\tbool\t\t\tm_bUserScrBackuped;\n\tbool\t\t\tm_bHandle;\n\tbool\t\t\tm_bExit;\n\tbool\t\t\tm_bSaveReg;\n\tbool\t\t\tm_bInitSuccess;\n\tbool\t\t\tm_bUpdateReg;\t\t\t//˳ʱǷҪ Reg .\n\tbool\t\t\tm_bInterrupt1HereStat;\n\tbool\t\t\tm_bFaultsStat;\n\tbool\t\t\tm_bDbgRegAccessMon;\n\tbool\t\t\tm_bPatchCopyOnWrite;\n\tbool\t\t\tm_bCopyOnWriteFastCall;\n\tDWORD\t\t\tm_Interrupt3HereStat;\t//ñΪʱ еж 3 \n\tDWORD\t\t\tm_CR0Active;\n\tPDRIVER_OBJECT\tm_DriverObject;\n\tPDEVICE_OBJECT\tm_DeviceObject;\n\tDWORD\t\t\tm_Win32KServiceTable;\n\tDWORD\t\t\tm_DriverStartAddr;\n\tDWORD\t\t\tm_DriverEndAddr;\n\tWCHAR\t\t\tm_szImagePath[MAX_FN_LEN];\n\tUINT\t\t\tm_OldStyle;\n\tWISP_SIZE\t\tm_OldFrameSize;\n\tNTSTATUS\t\t(*m_PsRemoveLoadImageNotifyRoutine)(IN PLOAD_IMAGE_NOTIFY_ROUTINE);\n\t//ULONG\t\t\t(*m_RtlGetCurrentDirectory_U)(ULONG MaximumLength, PWSTR Buffer);\npublic:\n\t//////////////////////////////////////////////////////\n\t//\n\t//////////////////////////////////////////////////////\n\tbool\tInit();\n\tvoid\tRelease();\n\tbool\tInitFileIO();\n\tvoid\tEndDraw(WISP_RECT*pUpdateRect);\n\tvoid\tActive();\n\tvoid\tExit(bool bRestoreScr=true);\n\tbool\tPumpCondition();\n\tbool\tWakeUpMsgThread();\n\tbool\tSleepMsgThread();\n\tvoid\tIdleEvent();\n\tvoid\tEnterCriticalSection();\n\tvoid\tLeaveCriticalSection();\n\tbool\tCreateFrame(WISP_CHAR*WndName,int Width,int Height,int Bpp);\n\tvoid\tDestroyFrame();\n\tbool\tMoveFrame(int dx,int dy);\n\tbool\tResizeHostFrame(int Width,int Height);\n\tbool\tResizingFrame(int Width,int Height);\n\tvoid\tBackupScreen();\n\tvoid\tRestoreScreen();\n\tvoid\tCenterScreen();\n\tvoid\tRestoreMovingFrame();\n\tvoid\tDrawMovingFrame();\n\tvoid\tReleaseBreakPoint();\n\tvoid\tInsertDbgMsg(PCWSTR szMsg);\n\tvoid\tShowSplash();\n\tvoid\tHideSplash();\n\tbool\tSetClipboardString(PCSTR String);\n\tvoid\tOnMouseMove(IN int DeltaX,IN int DeltaY);\n\tvoid\tReportMsg(IN const WISP_CHAR* Format,...);\n\tbool\tInitOSHwndRoot();\n\tUINT\tm_OSVer;\n\tULONG\tm_OSMajorVersion;\n\tULONG\tm_OSMinorVersion;\n\tULONG\tm_OSBuildNumber;\n\tDWORD\tm_PopupThread;\t\t\t\t// Syser Active ʱǰ߳ KTHREAD\n\tDWORD\tm_PopupProcess;\t\t\t\t// Syser Active ʱǰ KPROCESS\n\tDWORD\tm_PopupThreadID;\t\t\t\t// Syser Active ʱǰ߳ ID\n\tDWORD\tm_PopupProcessID;\t\t\t\t// Syser Active ʱǰ ID\n\tBYTE*\tm_VideoBufBackup;\n\tWISP_RECT\tm_BackupFrameRect;\n\tDWORD\tm_CriticalEFlag;\n\tWISP_FRAME_BUFFER m_RealFrameBuffer;\n\tKSPIN_LOCK m_NotifyLock; \n\tKEVENT\tm_ImageLoadSyncEvent;\n\tint m_TimeZoneBias;\n\tstatic\tvoid SyserWaitThread(void*);\n\tvoid\tStartSyserWaitThread();\n\tvoid\tStopSyserWaitThread();\n\t//////////////////////////////////////////////////////\n\t//ػ̣߳һЩӳеĲDump\n\tCSyserDumpList\tm_DumpList;\n\tKEVENT\tm_WaitEvent;\n\tPVOID\tm_ThreadPointer;\n\tbool\tm_bWaitThread;\n\tDWORD\tm_OSHwndRoot;\n\t//////////////////////////////////////////////////////\npublic:\n\t//////////////////////////////////////////////////////\n\t//\n\t//////////////////////////////////////////////////////\n\tbool\tm_bHardDriverSuccess;\n\tbool\tm_bHookSuccess;\n\tbool\tIntallHardDriver();\n\tvoid\tRemoveHardDriver();\n\tbool\tInstallHooks();\n\tvoid\tRemoveHooks();\n\tbool\tInstallDebug();\n\tbool\tUninstallDebug();\n\tvoid\tResetInputState();\n\tvoid\tClearInputState();\n\tvoid\tInitRemoteConnect();\n\tvoid\tReleaseRemoteConnect();\n\tvoid\tInitHotKeyInfo();\npublic:\n\t//////////////////////////////////////////////////////\n\t//\n\t//////////////////////////////////////////////////////\n\tstatic\tULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size,CSyser*pThis);\n\tvoid\tDbgPrint(int x,int y,IN WCHAR*Format,...);\n\tvoid\tMapToProcess(CDbgProcess*pProcess);\n\tbool\tInstallLoadImageHook();\n\tbool\tUninstallLoadImageHook();\n\tint\t\tLoadPlugin();\n\tvoid\tUnloadPlugin();\n\tstatic\tXSCAN_RES XScanPlugin(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParem);\n\tstatic  bool RegisterPluginService(PUNICODE_STRING ServiceName,PCSTR DriverFileFullName);\n\tCPluginMap m_PluginMap;\n\tCMDHOTKEYMAP m_CmdHotKeyMap;\n\tvoid\tSetActiveHotKey(DWORD FuncKeyCode,DWORD SecondKeyCode);\n\tvoid\tAttachHotKey(DWORD CmdList,CWispWnd* hWnd);\n\tDWORD AttachShortcutKey(DWORD dwCmdID,TMap<UINT,UINT> & pMap);\n\tvoid AttachPopupProcess(DWORD dwCR3);\n\tTMap<UINT,UINT> m_ShortcutKeyMap;\n\tPROC_RANGE_BP_MAP m_RangeBPList; //ڴ淶Χϵ\n\n\tvoid ClearBPR(); // syser ʱе bpr ϵ\n\tvoid ClearProcessBPR(DWORD dwProcess); // syser ʱе bpr ϵ\n\tvoid SetBPR();// syser ˳ʱҪ bpr ϵ\n\n#ifndef __DEMO__VERSION__\n\tstatic SERIALNAME gSerialName[28];\n\tvirtual\tPSERIALNAME GetSerialNumber();\n\tvirtual bool CheckSN(char* SerialNum,char* Name);\n\tGSNMAP\t\tm_GSnMap;\n#endif\n};\n\n\n\nvoid\tLoadCFG();\n\ntypedef struct _SERVICETABLE\n{\n\tvoid**\tServiceTable;\n\tDWORD\tLowCall;\n\tDWORD\tHiCall;\n\tPVOID*\tArgTable;\n}SERVICETABLE,*PSERVICETABLE;\n\n\nextern\tCSyser*gpSyser;\nextern\tCSyserConfig*gpSyserCfg;\nextern\tCSyserPluginUI*gpSyserPluginUI;\nextern\tSYSER_BOOT_DEVICE_EXTENSION*gpSysBootDevEx;\nextern\tSYSER_LANGUAGE_DEVICE_EXTENSION*gpSysLangDevEx;\n\nextern \"C\" NTSTATUS KeStackAttachProcess(PEPROCESS pProcess,KAPC_STATE* ApcState);\nextern \"C\" NTSTATUS KeUnstackDetachProcess(KAPC_STATE* ApcState);\nextern \"C\"\tPSERVICETABLE\tKeServiceDescriptorTable;\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SyserOption.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserOption.h\"\n#include \"../../Syser/Source/SyserResource.h\"\nHOTKEY_INFO gDefaultHotkeyInfo[]=\n{\n\t{\"ActiveHotKey\",WISP_MOD_CTRL,WISP_VK_F12,0},\n\t{\"Debug:Continue\",WISP_VK_F5,0,EVENT_ID_CONTINUE},\n\t{\"Debug:Return\",WISP_VK_F6,0,EVENT_ID_RETURN},\n\t{\"Debug:Step\",WISP_VK_F8,0,EVENT_ID_STEP},\n\t{\"Debug:Proceed\",WISP_VK_F10,0,EVENT_ID_PROCEED},\n\t{\"Debug:Step Branch\",WISP_VK_F11,0,EVENT_ID_STEP_BRANCH},\n\t{\"Debug:Break Point\",WISP_MOD_CTRL,WISP_VK_F9,EVENT_ID_BREAK_POINT},\n\t{\"Monitor:Register View\",WISP_MOD_ALT,WISP_VK_G,EVENT_ID_REG_VIEW},\n\t{\"Monitor:Data View\",WISP_MOD_ALT,WISP_VK_D,EVENT_ID_DATA_VIEW_FORM},\n\t{\"Monitor:Call Stack\",WISP_MOD_ALT,WISP_VK_C,EVENT_ID_CALL_STACK},\n\t{\"View:Toggle BookMark\",WISP_MOD_CTRL,WISP_VK_K,EVENT_ID_BOOKMARK_TOGGLE},\n\t{\"View:Previous BookMark\",WISP_MOD_CTRL,WISP_VK_P,EVENT_ID_BOOKMARK_PREV},\n\t{\"View:Next BookMark\",WISP_MOD_CTRL,WISP_VK_N,EVENT_ID_BOOKMARK_NEXT},\n\t{\"View:Clear BookMark\",WISP_MOD_CTRL,WISP_VK_L,EVENT_ID_BOOKMARK_CLEAR},\n\t\n\t{NULL,0,0},\n};\n\nHOTKEY_INFO gCodeViewShortcatKeys[]=\n{\n\t{\"Toggle symbols display\",0,WISP_VK_TAB,\t\t\t\t\t\t\t\t\tEVENT_ID_TOGGLE_SYMBOL},\n\t{\"Toggle full symbols display\",WISP_MOD_CTRL,WISP_VK_TAB,\t\t\t\tEVENT_ID_TOGGLE_FULL_SYMBOL},\n\t{\"Set register value to next trace\",0,WISP_VK_OEM_PLUS,\t\t\t\t\tEVENT_ID_GETNEXTTRACE},\n\t{\"Set register value to previous trace\",0,WISP_VK_OEM_MINUS,\t\t\t\tEVENT_ID_GETPREVTRACE},\n\t{\"Set start address to previous position\",0,WISP_VK_BACK,\t\t\t\t\tEVENT_ID_PREV_POS},\n\t{\"Set start address to next position\",WISP_MOD_CTRL,WISP_VK_RETURN,\tEVENT_ID_NEXT_POS},\n\t{\"Follow to the destination of be selected instruction\",0,WISP_VK_RETURN,\tEVENT_ID_FOLLOW_TO_DESTINATION},\n\t{\"Save the address of be selected instruction\",WISP_MOD_SHIFT,WISP_VK_RETURN, EVENT_ID_SAVE_POS},\n\t{\"Backwards disassemble code 1 byte\",WISP_MOD_CTRL,WISP_VK_UP,\t\t\tEVENT_ID_STARTADDRESS_DEC},\n\t{\"Forwards disassemble code 1 byte\",WISP_MOD_CTRL,WISP_VK_DOWN,\t\tEVENT_ID_STARTADDRESS_INC},\n\t{\"Insert/Remove Breakpoint\",WISP_VK_F9,\t0,\t\t\t\t\t\t\t\tEVENT_ID_TOGGLE_BP},\n\t{\"Run to here\",WISP_VK_F7,0,\t\t\t\t\t\t\t\t\t\t\t\tEVENT_ID_GOTO},\n\t{\"Display code window #0\",WISP_MOD_ALT,WISP_VK_1,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_0},\n\t{\"Display code window #1\",WISP_MOD_ALT,WISP_VK_2,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_1},\n\t{\"Display code window #2\",WISP_MOD_ALT,WISP_VK_3,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_2},\n\t{\"Display code window #3\",WISP_MOD_ALT,WISP_VK_4,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_3},\n\t{\"Display code window #4\",WISP_MOD_ALT,WISP_VK_5,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_4},\n\t{\"Display code window #5\",WISP_MOD_ALT,WISP_VK_6,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_5},\n\t{\"Display code window #6\",WISP_MOD_ALT,WISP_VK_7,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_6},\n\t{\"Display code window #7\",WISP_MOD_ALT,WISP_VK_8,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_7},\n\t{\"Display code window #8\",WISP_MOD_ALT,WISP_VK_9,\t\t\t\t\t\tEVENT_ID_ACTIVE_CODEVIEW_8},\n\t{NULL,0,0},\n};\n\nHOTKEY_INFO gDataViewShortcatKeys[]=\n{\n\n\t{\"Follow to value of current caret position in data view\",0,WISP_VK_RETURN,\t\t\t\t\t\t\t\t\tEVENT_ID_FOLLOW_VALUE_TO_DATAVIEW},\n\t{\"Follow to value of current caret position in code view\",WISP_MOD_SHIFT,WISP_VK_RETURN,\t\t\t\tEVENT_ID_FOLLOW_VALUE_TO_CODEVIEW},\n\t{\"Copy the value of current caret position to clipboard\",WISP_MOD_CTRL,WISP_VK_RETURN,\t\t\t\t\tEVENT_ID_COPY_VALUE_TO_CLIPBOARD},\n\t{\"Copy the address of current caret position to clipboard\",WISP_MOD_ALT,WISP_VK_RETURN,\t\t\t\tEVENT_ID_COPY_CARETPOSITION_TO_CLIPBOARD},\n\t{\"Copy the date of be selected area with separator\",WISP_MOD_CTRL,WISP_VK_X,\t\t\t\t\tEVENT_ID_COPY_SEL_VALUE},\n\t{\"Copy the date of be selected area without separator\",WISP_MOD_SHIFT,WISP_VK_X,\t\tEVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR},\n\t{\"Toggle the display mode of the address column\",WISP_MOD_CTRL,WISP_VK_O,\t\tEVENT_ID_TOGGLE_ADDRESS_MODE},\n\t{\"Toggle dynamic and static address mode\",WISP_MOD_CTRL,WISP_VK_M,\t\tEVENT_ID_TOGGLE_FLOAT_MODE},\n\t{\"Set start address to next position\",0,WISP_VK_OEM_PLUS,\t\tEVENT_ID_GOTO_NEXT_POS},\n\t{\"Set start address to prev position\",0,WISP_VK_OEM_MINUS,\t\tEVENT_ID_GOTO_PREV_POS},\n\t{\"Enable/Disable display offset \",WISP_MOD_CTRL,WISP_VK_S,\t\tEVENT_ID_DATA_SHOW_OFFICE},\n\t{\"Enable/Disable display toolbar \",WISP_MOD_CTRL,WISP_VK_T,\t\tEVENT_ID_DATAVIEW_TOOLBAR},\n\t{\"Copy the date of be selected area as C source code\",WISP_MOD_CTRL,WISP_VK_Z,\t\tEVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE},\t\n\t{\"Display data window #0\",WISP_MOD_ALT,WISP_VK_1,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_0},\t\n\t{\"Display data window #1\",WISP_MOD_ALT,WISP_VK_2,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_1},\t\n\t{\"Display data window #2\",WISP_MOD_ALT,WISP_VK_3,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_2},\t\n\t{\"Display data window #3\",WISP_MOD_ALT,WISP_VK_4,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_3},\t\n\t{\"Display data window #4\",WISP_MOD_ALT,WISP_VK_5,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_4},\t\n\t{\"Display data window #5\",WISP_MOD_ALT,WISP_VK_6,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_5},\t\n\t{\"Display data window #6\",WISP_MOD_ALT,WISP_VK_7,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_6},\t\n\t{\"Display data window #7\",WISP_MOD_ALT,WISP_VK_8,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_7},\t\n\t{\"Display data window #8\",WISP_MOD_ALT,WISP_VK_9,\t\t\t\t\t\tEVENT_ID_ACTIVE_DATAVIEW_8},\t\n\t{NULL,0,0},\n};\n\nHOTKEY_INFO gStackViewShortcatKeys[]=\n{\n\n\t{\"Follow to value of current caret position in data view\",0,WISP_VK_RETURN,\t\t\t\t\t\t\t\t\tEVENT_ID_SHOW_CODE},\n\t{\"Follow to value of current caret position in code view\",WISP_MOD_SHIFT,WISP_VK_RETURN,\t\t\t\tEVENT_ID_SHOW_DATA},\n\t{\"Copy the value of current caret position to clipboard\",WISP_MOD_CTRL,WISP_VK_RETURN,\t\t\t\t\tEVENT_ID_SHOW_DATA_BY_ADDRESS},\n\t{\"Copy the address of current caret position to clipboard\",WISP_MOD_ALT,WISP_VK_RETURN,\t\t\t\tEVENT_ID_SHOW_CODE_BY_ADDRESS},\n\n\t{NULL,0,0},\n};\n\nHOTKEY_INFO gCpuViewShortcatKeys[]=\n{\n\n\t{\"Set start address of data window to which value eax register\",WISP_MOD_ALT,WISP_VK_1,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EAX},\t\n\t{\"Set start address of data window to which value ebx register\",WISP_MOD_ALT,WISP_VK_2,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EBX},\t\n\t{\"Set start address of data window to which value ecx register\",WISP_MOD_ALT,WISP_VK_3,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_ECX},\t\n\t{\"Set start address of data window to which value edx register\",WISP_MOD_ALT,WISP_VK_4,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EDX},\t\n\t{\"Set start address of data window to which value esp register\",WISP_MOD_ALT,WISP_VK_5,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_ESP},\t\n\t{\"Set start address of data window to which value ebp register\",WISP_MOD_ALT,WISP_VK_6,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EBP},\t\n\t{\"Set start address of data window to which value esi register\",WISP_MOD_ALT,WISP_VK_7,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_ESI},\t\n\t{\"Set start address of data window to which value edi register\",WISP_MOD_ALT,WISP_VK_8,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EDI},\t\n\t{\"Set start address of data window to which value eip register\",WISP_MOD_ALT,WISP_VK_9,\t\t\t\t\t\tEVENT_ID_SET_DATAVIEW_EIP},\t\n\n\t{\"Set start address of code window to which value eax register\",WISP_MOD_SHIFT,WISP_VK_1,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EAX},\t\n\t{\"Set start address of code window to which value ebx register\",WISP_MOD_SHIFT,WISP_VK_2,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EBX},\t\n\t{\"Set start address of code window to which value ecx register\",WISP_MOD_SHIFT,WISP_VK_3,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_ECX},\t\n\t{\"Set start address of code window to which value edx register\",WISP_MOD_SHIFT,WISP_VK_4,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EDX},\t\n\t{\"Set start address of code window to which value esp register\",WISP_MOD_SHIFT,WISP_VK_5,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_ESP},\t\n\t{\"Set start address of code window to which value ebp register\",WISP_MOD_SHIFT,WISP_VK_6,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EBP},\t\n\t{\"Set start address of code window to which value esi register\",WISP_MOD_SHIFT,WISP_VK_7,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_ESI},\t\n\t{\"Set start address of code window to which value edi register\",WISP_MOD_SHIFT,WISP_VK_8,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EDI},\t\n\t{\"Set start address of code window to which value eip register\",WISP_MOD_SHIFT,WISP_VK_9,\t\t\t\t\t\tEVENT_ID_SET_CODEVIEW_EIP},\t\n\t{NULL,0,0},\n};\n\nHOTKEY_CONF gKeyConfig[5]=\n{\n\t{sizeof(gDefaultHotkeyInfo)/sizeof(gDefaultHotkeyInfo[0]),gDefaultHotkeyInfo},\n\t{sizeof(gCodeViewShortcatKeys)/sizeof(gCodeViewShortcatKeys[0]),gCodeViewShortcatKeys},\n\t{sizeof(gDataViewShortcatKeys)/sizeof(gDataViewShortcatKeys[0]),gDataViewShortcatKeys},\n\t{sizeof(gStackViewShortcatKeys)/sizeof(gStackViewShortcatKeys[0]),gStackViewShortcatKeys},\n\t{sizeof(gCpuViewShortcatKeys)/sizeof(gCpuViewShortcatKeys[0]),gCpuViewShortcatKeys},\n};\n\nCHAR DefaultPEExportList[]=\n{\n\t\"\\\\SystemRoot\\\\system32\\\\Kernel32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\GDI32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\User32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\AdvApi32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ws2_32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\msvcrt.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\comdlg32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\comctl32.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ImageHlp.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\win32k.sys\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ntoskrnl.exe\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ntkrnlpa.exe\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ntkrnlmp.exe\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ntkrpamp.exe\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\ntdll.dll\\r\\n\"\n\t\"\\\\SystemRoot\\\\system32\\\\hal.dll\\r\\n\"\n};\n\nint\tSyserOptionRef = 0;\n/*\nSDRemote\nUnExe\nSDWin32\n*/\nSYSER_OPTION OrgSyserOption=\n{\n\t0,//CRCCode\n\t0,//iBigFont\n\tSYSER_FM_AUTOMATIC,//iFollowMode\n\t1,//iShowStartSplash\n\t0,//iShowFullSym\n\t0,//iShowCCByte\n\t10,//iMouseSensitivity\n\t500,//iHistroyLines\n\t//Source Debug\n\t1,//iSourceCodeShowTips;\n\t1,//iSourceCodeSyntaxColors;\n\t1,//iSourceCodeShowLineNumbers;\n\t//Conect\n\tSYSER_SERIAL_PORT_CONNECT,//iConnectType\n\t1,//iComPort\n\t//Advance\n\tSYSER_VDM_AUTO,\t\t//iVideoDetectMode\n\t512,\t\t\t\t//iStackSizeK\n\t1,\t\t\t\t\t//iTimerIntEnable\n\tWSTR(\"SDWin32.dll\"),//szDebuggerFileName\n\t1024,\n\t768,\n\t1024,\n\t768,\n\t12, //iHeapSizeM\n\t15,\t//iSourceCodeHeapSizeM;\n\t0,  //Ĭֵ 0 Ǳ׼, 1  Azerty ̣Ƿļ\n\t2,//i3here;\n\t0,//i1here;\n\t1,//ifaults;\n};\n\nSYSER_OPTION SyserOption;\n\nSTRegOptVal SyserOptVal[]=\n{\n\t{WSTR(\"iFollowMode\"),\t\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iFollowMode\t\t},\n\t{WSTR(\"iShowStartSplash\"),\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iShowStartSplash\t},\n\t{WSTR(\"iShowFullSym\"),\t\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iShowFullSym\t\t},\n\t{WSTR(\"iShowCCByte\"),\t\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iShowCCByte\t\t},\n\t{WSTR(\"iMouseSensitivity\"),\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iMouseSensitivity\t},\n\t//Source Debug\n\t{WSTR(\"iSourceCodeShowTips\"),\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iSourceCodeShowTips},\n\t{WSTR(\"iSourceCodeSyntaxColors\"),\t\tSTOptVal::INT_VAL,\t&SyserOption.iSourceCodeSyntaxColors},\n\t{WSTR(\"iSourceCodeShowLineNumbers\"),\tSTOptVal::INT_VAL,\t&SyserOption.iSourceCodeShowLineNumbers},\n\t//Connect\n\t{WSTR(\"iConnectType\"),\t\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iConnectType},\n\t{WSTR(\"iComPort\"),\t\t\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iComPort},\n\t//Advance\n\t{WSTR(\"iHardTimerEnable\"),\t\t\t\tSTOptVal::INT_VAL,\t&SyserOption.iHardTimerEnable},\n\t{WSTR(\"szDebuggerFileName\"),\t\t\tSTOptVal::STR_VAL,\t&SyserOption.szDebuggerFileName,MAX_FN_LEN},\n\t{NULL}\n};\n\n#ifdef CODE_OS_NT_DRV\n\nbool LoadSyserHotKeyDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int BufLen,int* Length)\n{\n\tWCHAR SystemDriverPath[MAX_FN_LEN]=L\"\";\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tDWORD OpenMode,ShareMode;\n\tNTSTATUS Status;\n\tUNICODE_STRING UniName;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tWCHAR *NameBuf;\n\tLARGE_INTEGER Offset64;\n\tDWORD CRCCode;\n\tHANDLE hFile;\n\t*Length=0;\n\tif(GetSystemRootPath(RegistryServiceName,SystemDriverPath,sizeof(SystemDriverPath))==false)\n\t\treturn false;\n\tTStrCat(SystemDriverPath,L\"System32\\\\drivers\\\\\");\n\tTStrCat(SystemDriverPath,FileName);\n\tRtlInitUnicodeString(&UniName,SystemDriverPath);\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwOpenFile(&hFile,GENERIC_READ,&oa,&IOStatus,FILE_SHARE_READ,FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tStatus = ZwQueryInformationFile(hFile,&IOStatus,&StdInfo,sizeof(FILE_STANDARD_INFORMATION),FileStandardInformation);\n\tif(!NT_SUCCESS(Status))\n\t{\n\t\tZwClose(hFile);\n\t\treturn false;\n\t}\n\t*Length=(int)StdInfo.EndOfFile.QuadPart;\n\tif(StdInfo.EndOfFile.QuadPart>BufLen)\n\t{\n\t\tZwClose(hFile);\n\t\treturn false;\n\t}\n\tOffset64.QuadPart=0;\n\tStatus = ZwReadFile(hFile,NULL,NULL,NULL,&IOStatus,pOption,*Length,&Offset64,NULL);\n\tZwClose(hFile);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tCRCCode = GetCRCCode(RT_PBYTE(pOption,sizeof(CRCCode)),*Length-sizeof(DWORD));\n\tif(CRCCode==0 || CRCCode!=_GET_DWORD(pOption))\n\t\treturn false;\n\treturn true;\n}\nBYTE* gSyserHotKeyDriverBuffer=NULL;\nint gSyserHotKeyDriverLen=0;\nbool SaveSyserHotKeyBufferDriver(void*pOption,int Length)\n{\n\tif(Length==0)\n\t{\n\t\tif(gSyserHotKeyDriverBuffer)\n\t\t{\n\t\t\tdelete gSyserHotKeyDriverBuffer;\n\t\t\tgSyserHotKeyDriverBuffer=NULL;\n\t\t}\n\t\tgSyserHotKeyDriverLen=0;\n\t\treturn true;\n\n\t}\n\tif(Length<=gSyserHotKeyDriverLen)\n\t{\n\t\tmemcpy(gSyserHotKeyDriverBuffer,pOption,Length);\n\t\tgSyserHotKeyDriverLen=Length;\n\t\treturn true;\n\t}\n\tif(gSyserHotKeyDriverBuffer)\n\t\tdelete gSyserHotKeyDriverBuffer;\n\tgSyserHotKeyDriverLen=0;\n\tgSyserHotKeyDriverBuffer = new BYTE[Length];\n\tif(gSyserHotKeyDriverBuffer==NULL)\n\t\treturn false;\n\tgSyserHotKeyDriverLen=Length;\n\tmemcpy(gSyserHotKeyDriverBuffer,pOption,Length);\n\treturn true;\n}\nbool SaveSyserHotKeyDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length)\n{\n\tWCHAR SystemDriverPath[MAX_FN_LEN]=L\"\";\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tDWORD OpenMode,ShareMode;\n\tNTSTATUS Status;\n\tUNICODE_STRING UniName;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tWCHAR *NameBuf;\n\tLARGE_INTEGER Offset64;\n\tDWORD CRCCode;\n\tHANDLE hFile;\n\tif(GetSystemRootPath(RegistryServiceName,SystemDriverPath,sizeof(SystemDriverPath))==false)\n\t\treturn false;\n\tTStrCat(SystemDriverPath,L\"System32\\\\drivers\\\\\");\n\tTStrCat(SystemDriverPath,FileName);\n\tRtlInitUnicodeString(&UniName,SystemDriverPath);\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwCreateFile(&hFile,GENERIC_WRITE,&oa,&IOStatus,NULL,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,\n\t\tFILE_OVERWRITE_IF,FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED,NULL,0);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tOffset64.QuadPart=0;\n\t_PUT_DWORD(pOption,GetCRCCode(RT_PBYTE(pOption,sizeof(DWORD)),Length-sizeof(DWORD)));\n\tStatus = ZwWriteFile(hFile,NULL,NULL,NULL,&IOStatus,pOption,Length,&Offset64,NULL);\n\tZwClose(hFile);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\treturn true;\n}\n\nbool LoadSyserOptionDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length)\n{\n\tWCHAR SystemDriverPath[MAX_FN_LEN]=L\"\";\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tDWORD OpenMode,ShareMode;\n\tNTSTATUS Status;\n\tUNICODE_STRING UniName;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tWCHAR *NameBuf;\n\tLARGE_INTEGER Offset64;\n\tDWORD CRCCode;\n\tHANDLE hFile;\n\n\tif(GetSystemRootPath(RegistryServiceName,SystemDriverPath,sizeof(SystemDriverPath))==false)\n\t\treturn false;\n\tTStrCat(SystemDriverPath,L\"System32\\\\drivers\\\\\");\n\tTStrCat(SystemDriverPath,FileName);\n\tRtlInitUnicodeString(&UniName,SystemDriverPath);\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwOpenFile(&hFile,GENERIC_READ,&oa,&IOStatus,FILE_SHARE_READ,FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tStatus = ZwQueryInformationFile(hFile,&IOStatus,&StdInfo,sizeof(FILE_STANDARD_INFORMATION),FileStandardInformation);\n\tif(!NT_SUCCESS(Status))\n\t{\n\t\tZwClose(hFile);\n\t\treturn false;\n\t}\n\tOffset64.QuadPart = (ULONGLONG)Length;\n\tif(StdInfo.EndOfFile.QuadPart!=Offset64.QuadPart)\n\t{\n\t\tZwClose(hFile);\n\t\treturn false;\n\t}\n\tOffset64.QuadPart=0;\n\tStatus = ZwReadFile(hFile,NULL,NULL,NULL,&IOStatus,pOption,Length,&Offset64,NULL);\n\tZwClose(hFile);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tCRCCode = GetCRCCode(RT_PBYTE(pOption,sizeof(CRCCode)),Length-sizeof(DWORD));\n\tif(CRCCode==0 || CRCCode!=_GET_DWORD(pOption))\n\t\treturn false;\n\treturn true;\n}\n\nbool SaveSyserOptionDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length)\n{\n\tWCHAR SystemDriverPath[MAX_FN_LEN]=L\"\";\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tDWORD OpenMode,ShareMode;\n\tNTSTATUS Status;\n\tUNICODE_STRING UniName;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tWCHAR *NameBuf;\n\tLARGE_INTEGER Offset64;\n\tDWORD CRCCode;\n\tHANDLE hFile;\n\tif(GetSystemRootPath(RegistryServiceName,SystemDriverPath,sizeof(SystemDriverPath))==false)\n\t\treturn false;\n\tTStrCat(SystemDriverPath,L\"System32\\\\drivers\\\\\");\n\tTStrCat(SystemDriverPath,FileName);\n\tRtlInitUnicodeString(&UniName,SystemDriverPath);\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwCreateFile(&hFile,GENERIC_WRITE,&oa,&IOStatus,NULL,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,\n\t\t\tFILE_OVERWRITE_IF,FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED,NULL,0);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\tOffset64.QuadPart=0;\n\t_PUT_DWORD(pOption,GetCRCCode(RT_PBYTE(pOption,sizeof(DWORD)),Length-sizeof(DWORD)));\n\tStatus = ZwWriteFile(hFile,NULL,NULL,NULL,&IOStatus,pOption,Length,&Offset64,NULL);\n\tZwClose(hFile);\n\tif(!NT_SUCCESS(Status))\n\t\treturn false;\n\treturn true;\n}\n#endif //CODE_OS_NT_DRV\n\nbool LoadSyserOption(PCSTR FileName,void*pOption,int Length)\n{\n\tDWORD CRCCode;\n\tCImageFile CfgFile;\n\tif(CfgFile.Open(FileName)==false)\n\t\treturn false;\n\tif(CfgFile.m_FileSize!=Length)\n\t\tgoto ErrorExit;\n\tif(CfgFile.ReadFile(pOption,Length)==false)\n\t\tgoto ErrorExit;\n\tCRCCode = GetCRCCode(RT_PBYTE(pOption,sizeof(CRCCode)),Length-sizeof(DWORD));\n\tif(CRCCode==0 || CRCCode !=_GET_DWORD(pOption))\n\t\tgoto ErrorExit;\n\tCfgFile.Close();\n\treturn true;\nErrorExit:\n\tCfgFile.Close();\n\treturn false;\n}\n\nbool SaveSyserOption(PCSTR FileName,void*pOption,int Length)\n{\n\tbool Result;\n\tCImageFile CfgFile;\n\tif(CfgFile.Create(FileName)==false)\n\t\treturn false;\n\tResult = true;\n\t_PUT_DWORD(pOption,GetCRCCode(RT_PBYTE(pOption,sizeof(DWORD)),Length-sizeof(DWORD)));\n\tif(CfgFile.WriteFile(pOption,Length)==false)\n\t\tResult = false;\n\tCfgFile.Close();\n\treturn Result;\n}\n\nbool LoadSyserHotKeyOption(PCSTR FileName,void*pOption,ULSIZE BufLen,int* Length)\n{\n\tDWORD CRCCode;\n\tCImageFile CfgFile;\n\tif(CfgFile.Open(FileName)==false)\n\t\treturn false;\n\tif(CfgFile.m_FileSize>BufLen)\n\t\tgoto ErrorExit;\n\t*Length=CfgFile.m_FileSize;\n\tif(CfgFile.ReadFile(pOption,CfgFile.m_FileSize)==false)\n\t\tgoto ErrorExit;\n\tCRCCode = GetCRCCode(RT_PBYTE(pOption,sizeof(CRCCode)),CfgFile.m_FileSize-sizeof(DWORD));\n\tif(CRCCode==0 || CRCCode !=_GET_DWORD(pOption))\n\t\tgoto ErrorExit;\n\tCfgFile.Close();\n\treturn true;\nErrorExit:\n\tCfgFile.Close();\n\treturn false;\n}\n\nbool SaveSyserHotKeyOption(PCSTR FileName,void*pOption,int Length)\n{\n\tbool Result;\n\tCImageFile CfgFile;\n\tif(CfgFile.Create(FileName)==false)\n\t\treturn false;\n\tResult = true;\n\t_PUT_DWORD(pOption,GetCRCCode(RT_PBYTE(pOption,sizeof(DWORD)),Length-sizeof(DWORD)));\n\tif(CfgFile.WriteFile(pOption,Length)==false)\n\t\tResult = false;\n\tCfgFile.Close();\n\treturn Result;\n}\n\n//////////////////////////////////////////////////////////////////////////////\n//Option ListSyser Win32 Debugger\nWISP_OPTION_ITEM SyserWin32DebuggerOption[]=\n{\n\t{WSTR(\"Show Full Symbol (Include Module Name)\"),OPTION_SELECT_INT,&SyserOption.iShowFullSym,sizeof(int),CWispOptionForm::m_NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Mouse Sensitivity [1 - 30]\"),OPTION_INT,&SyserOption.iMouseSensitivity,sizeof(int),NULL,TValueTest<int,1,30>,&SyserOptionRef},\n\t{WSTR(\"Default Debugger Module\"),OPTION_STRING,&SyserOption.szDebuggerFileName,MAX_FN_LEN,NULL,NULL,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserSourceDebuggerOption[]=\n{\n\t{WSTR(\"Syntax Color\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeSyntaxColors,sizeof(int),CWispOptionForm::m_NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Tips\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowTips ,sizeof(int),CWispOptionForm::m_NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Line Numbers\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowLineNumbers ,sizeof(int),CWispOptionForm::m_NoYesList,NULL,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserMainOption[]=\n{\n\t{WSTR(\"Debugger\"),OPTION_TITLE,SyserWin32DebuggerOption},\n\t{WSTR(\"Source Code Debugger\"),OPTION_TITLE,SyserSourceDebuggerOption},\n\t{NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CSyserOptionForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispOptionForm)\n\n\nbool CSyserOptionForm::OnFormCreate(WISP_MSG*pMsg)\n{\n\tCWispOptionForm::OnFormCreate(pMsg);\n\tFillOptionTreeValue();\n\tResize(m_WindowRect.cx+m_BorderSize*2,m_WindowRect.cy+m_CaptionRect.cy+m_BorderSize*2);\n\tSetWindowText(WISP_STR(\"Option\"));\n\treturn false;\n}\n\nCSyserOptionForm::CSyserOptionForm()\n{\n\tm_pOptionItem = SyserMainOption;\n}\n\nbool CSyserOptionForm::InitWnd()\n{\n\tm_Style|=WISP_WS_FRAME;\n\treturn CWispOptionForm::InitWnd();\n}\n\nvoid CSyserOptionForm::OptionApplyNotify()\n{\n\tchar szCfgFN[MAX_FN_LEN];\n\tif(SyserOptionRef)\n\t{\n\t\tSyserOptionRef = 0;\n\t\tGetModulePath(szCfgFN);\n\t\tTStrCat(szCfgFN,\"Syser.cfg\");\n\t\tSaveSyserOption(szCfgFN,&SyserOption,sizeof(SyserOption));\n\t}\n}\n\n\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserOption.h",
    "content": "#ifndef _SYSER_OPTION_H_\n#define _SYSER_OPTION_H_\n\nenum SYSER_CONNECT_TYPE\n{\n\tSYSER_NO_CONNECT = 0,\n\tSYSER_SERIAL_PORT_CONNECT,\n\tSYSER_NET_CARD_CONNECT\n};\n\nenum SYSER_FOLLOW_MODE\n{\n\tSYSER_FM_AUTOMATIC = 0,\n\tSYSER_FM_SYSTEM_EXPLORER,\n\tSYSER_FM_SOURCE_EXPLORER\n};\n\nenum VIDEO_DETECT_MODE \n{\n\tSYSER_VDM_AUTO = 0,\n\tSYSER_VDM_USER,\n\tSYSER_VDM_KERNEL,\n};\n\n#define MIN_MAIN_HEAP\t\t\t15\n#define MAX_MAIN_HEAP\t\t\t40\n\n#define MIN_SYMBOL_HEAP\t\t\t4\n#define MAX_SYMBOL_HEAP\t\t\t40\n\n#define MIN_SOURCE_CODE_HEAP\t6\n#define MAX_SOURCE_CODE_HEAP\t60\n\n#define HEAP_MIN_FREE_SIZE\t\t\t0x10000\n#define MAIN_HEAP_MIN_FREE_SIZE\t\t0x100000\n\n\ntypedef struct _KEY_PAIR\n{\n\tDWORD FuncKeyCode;\n\tDWORD SecondKeyCode;\n\tbool operator == (const struct _KEY_PAIR& dest) const\n\t{\n\t\tif(FuncKeyCode==dest.FuncKeyCode && SecondKeyCode == dest.SecondKeyCode)\n\t\t\treturn true;\n\t\treturn false;\n\t}\n}KEY_PAIR,*PKEY_PAIR;\n\ntypedef struct _HOTKEY_INFO\n{\n\tchar* KeyName;\n\tDWORD FuncKeyCode;\n\tDWORD SecondKeyCode;\n\tDWORD CommandID;\n\tDWORD TypeIndex;//Ǵȫֵ hotkey(дڵĿݼ)  shortcat key  ÿڵĿݼ ֻ뽹ڱʱõĿݼ\n\tchar* Description;\n}HOTKEY_INFO,*PHOTKEY_INFO;\n\n\n\ntypedef  struct _HOTKEY_CONF\n{\n\tint Count;\n\tHOTKEY_INFO* pHotKeyInfo;\n}HOTKEY_CONF;\n\n\nextern HOTKEY_CONF gKeyConfig[5];\nstruct SYSER_OPTION\n{\n\tDWORD\tCRCCode;//Ч,ƻǷ޸ʱ,װȱʡ\n\tint\t\tiBigFont;\n\tint\t\tiFollowMode;\n\tint\t\tiShowStartSplash;\n\tint\t\tiShowFullSym;\n\tint\t\tiShowCCByte;\n\tint\t\tiMouseSensitivity;\n\tint\t\tiHistroyLines;\n\t//Source Debug\n\tint\t\tiSourceCodeShowTips;\n\tint\t\tiSourceCodeSyntaxColors;\n\tint\t\tiSourceCodeShowLineNumbers;\n\t//Conect\n\tint\t\tiConnectType;\n\tint\t\tiComPort;\n\t//Advance\n\tint\t\tiVideoDetectMode;\n\tint\t\tiStackSizeK;\n\tint\t\tiHardTimerEnable;\n\tWCHAR\tszDebuggerFileName[MAX_FN_LEN];\n\tint\t\tiStartWndWidth;\n\tint\t\tiStartWndHeight;\n\tint\t\tiMaxWndWidth;\n\tint\t\tiMaxWndHeight;\n\tint\t\tiHeapSizeM;\n\tint\t\tiSourceCodeHeapSizeM;\n\tint\t\tiKeyboardLayer;\n\tint\t\ti3here;\n\tint\t\ti1here;\n\tint\t\tifaults;\n};\n\nextern SYSER_OPTION OrgSyserOption;\nextern SYSER_OPTION SyserOption;\n\nextern STRegOptVal SyserOptVal[];\nextern CHAR DefaultPEExportList[];\nextern HOTKEY_INFO gDefaultHotkeyInfo[];\nextern BYTE* gSyserHotKeyDriverBuffer;\nextern int gSyserHotKeyDriverLen;\n\nbool LoadSyserOption(PCSTR FileName,void*pOption,int Length);\nbool SaveSyserOption(PCSTR FileName,void*pOption,int Length);\nbool LoadSyserHotKeyOption(PCSTR FileName,void*pOption,ULSIZE BufLen,int* Length);\nbool SaveSyserHotKeyOption(PCSTR FileName,void*pOption,int Length);\nbool LoadSyserOptionDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length);\nbool SaveSyserOptionDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length);\nbool LoadSyserHotKeyDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int BufLen,int* Length);\nbool SaveSyserHotKeyDriver(WCHAR* RegistryServiceName,WCHAR* FileName,void*pOption,int Length);\nbool SaveSyserHotKeyBufferDriver(void*pOption,int Length);\nclass CSyserOptionForm : public CWispOptionForm\n{\npublic:\n\tCSyserOptionForm();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tbool InitWnd();\n\tvoid OptionApplyNotify();\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserRegistryConfig.h",
    "content": "#ifndef _SYSERREGISTRYCONFIG_H_\n#define _SYSERREGISTRYCONFIG_H_\n\n#define SUPPORT_SOFTICE_CHECK\t\t\t\tL\"SofticeExistCheck\"\n#define SUPPORT_TIMER_INTERRUPT\t\t\t\tL\"TimerInterrupt\"\n#define SUPPORT_DEBUG_REGISTER_MONTIOR\t\tL\"DebugRegisterMontior\"\n#define SUPPORT_KEYBOARD_LED_PROGRAM\t\tL\"KeyboardLedProgram\"\n#define DISABLE_DISPLAY\t\t\t\t\t\tL\"DisableDisplay\"\n#define DEBUG_KEBOARD_INTERRUPT\t\t\t\tL\"DebugKeyboardInterrupt\"\n#define PATCH_KEBUGCHECKEX\t\t\t\t\tL\"PatchKeBugCheckEx\"\n#define EXCEPTION_DEBUG_INFO\t\t\t\tL\"ExceptionDebugInfo\"\n#define CHECK_PS2_MOUSE\t\t\t\t\t\tL\"CheckPS2Mouse\"\n#define PS2MOUSE_TYPE\t\t\t\t\t\tL\"PS2MouseType\"\n#define NULL_PS2_KEYBOARD\t\t\t\t\tL\"NULLPS2Keyboard\"\n#define DBLCLK_TIME_INTERVAL\t\t\t\tL\"MouseDoubleClickTimeInterval\"\n#define DISABLE_USBINPUT\t\t\t\t\tL\"DisableUSBInput\"\n#define DISABLE_RWPORTHOOK\t\t\t\t\tL\"DisableRWPortHook\"\n#define DISABLE_HOOKEXCEPTION\t\t\t\tL\"DisableHookException\"\n#define DISABLE_COPYONWRITE\t\t\t\t\tL\"DisableCopyOnWrite\"\n\n#define SUPPORT_VMWAREMOUSE\t\t\t\t\tL\"SupportVMWareMouse\"\n#define UNINITIALIZATION_VALUE\t\t\t\t(0x0)\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/SyserResource.h",
    "content": "#ifndef _RESOURCE_H_\n#define _RESOURCE_H_\n\nenum\n{\n\tCMD_ID_SYSTEM_EXPLORER = WISP_ID_USER_START,\n\tCMD_ID_CONSOLE,\n\tCMD_ID_SOURCE_EXPLORER,\n\tCMD_ID_GAME_SPY,\n\tCMD_ID_BOCHS_PC_SCREEN,\n\tCMD_ID_PROC_COMBOX,\n\tCMD_ID_MAP_WND,\n\tCMD_ID_IDT_WND,\n\tCMD_ID_LDT_WND,\n\tCMD_ID_GDT_WND,\n\tCMD_ID_RUN_TRACE,\n\tCMD_ID_CALL_STACK,\n\tCMD_ID_COMMENT_LIST,\n\tCMD_ID_MODULE_LIST_WND,\n\tCMD_ID_THREAD_LIST_WND,\n\tCMD_ID_SEH_LIST_WND,\n\tCMD_ID_CALC_WND,\n\tCMD_ID_SOURCE_VERT_SPLIT,\n\tCMD_ID_SOURCE_HORZ_SPLIT,\n\tCMD_ID_SYSTEM_MAIN_SPLIT,\n\tCMD_ID_SYSTEM_VIEW_SPLIT,\n\tCMD_ID_SYSTEM_MONITOR_SPLIT,\n\tCMD_ID_MULTI_CODE_VIEW_TAB,\n\tCMD_ID_MULTI_DATA_VIEW_TAB,\n\tCMD_ID_TERMINAL_WND,\n\tCMD_ID_GENERAL_REGISTER_WND,\n\tCMD_ID_FPU_REGISTER_WND,\n\tCMD_ID_ESS_REGISTER_WND,\n\tEVENT_ID_TIMER_DBGMSG,\n\tEVENT_ID_DEBUG_PLUNGE,\n\tEVENT_ID_DEBUG_TERMINATE,\n\tEVENT_ID_ENTER_DEBUGGER,\n\tEVENT_ID_OPEN,\n\tEVENT_ID_CLOSE,\n\tEVENT_ID_SAVE_COMMENT,\n\tEVENT_ID_LOAD_COMMENT,\n\tEVENT_ID_LOAD_SYMBOL,\n\tEVENT_ID_BREAK,\n\tEVENT_ID_NEXT_POS,\n\tEVENT_ID_PREV_POS,\n\tEVENT_ID_SAVE_POS,\n\tEVENT_ID_EMPTY_POS_LIST,\n\tEVENT_ID_TRANSFER_REFERENCE,\n\tEVENT_ID_OPERAND_REFERENCE,\n\tEVENT_ID_RESET,\n\tEVENT_ID_STEP,\n\tEVENT_ID_PROCEED,\n\tEVENT_ID_STEP_BRANCH,\n\tEVENT_ID_RETURN,\n\tEVENT_ID_CONTINUE,\n\tEVENT_ID_BREAK_POINT,\n\tEVENT_ID_DEBUGGER_SELECT,\n\tEVENT_ID_DEBUGGER_OPTION,\n\tEVENT_ID_PLUGIN_LIST,\n\tEVENT_ID_GEN_REG,\n\tEVENT_ID_FPU_REG,\n\tEVENT_ID_XMM_REG,\n\tEVENT_ID_SDS_MODULE_LIST,\n\tEVENT_ID_SOURCE_CODE_VIEW,\n\tEVENT_ID_WATCH_LIST,\n\tEVENT_ID_CONSOLE_VIEW,\n\tEVENT_ID_STACK_WATCH_LIST,\n\tEVENT_ID_IDT,\n\tEVENT_ID_GDT,\n\tEVENT_ID_LDT,\n\tEVENT_ID_PROCESS,\n\tEVENT_ID_THREAD,\n\tEVENT_ID_MODULE,\n\tEVENT_ID_FUNCTIONS_WND,\n\tEVENT_ID_HWNDLIST_WND,\n\tEVENT_ID_RUN_TRACE_WND,\n\tEVENT_ID_MEMORY_SEARCH,\n\tEVENT_ID_COMMENT_LIST,\n\tEVENT_ID_PAGE_MAP,\n\tEVENT_ID_REG_HELP,\n\tEVENT_ID_ABOUT,\n\tEVENT_ID_CHECK_NEW_VERSION,\n\tEVENT_ID_OBJECTWND,\n\tEVENT_ID_RUN,\n\tEVENT_ID_CALC,\n\tEVENT_ID_CALL_STACK,\n\tEVENT_ID_REG_VIEW,\n\tEVENT_ID_DATA_VIEW_FORM,\n\tEVENT_ID_SOFT_KB,\n\tEVENT_ID_HOTKEY_CONFIGURE,\n\tEVENT_ID_PE_EXPLORER,\n\tEVENT_ID_IBM_ASCII,\n\tEVENT_ID_EBCDIC,\n\tEVENT_ID_ANSI_ASCII,\n\tEVENT_ID_ABOUT_SYSER,\n\tEVENT_ID_SHOW_MENU,\n\tEVENT_ID_EDITMENU_UNDO,\n\tEVENT_ID_EDITMENU_REDO,\n\tEVENT_ID_EDITMENU_CUT,\n\tEVENT_ID_EDITMENU_COPY,\n\tEVENT_ID_EDITMENU_PASTE,\n\tEVENT_ID_EDITMENU_GOTO,\n\tEVENT_ID_EDITMENU_FIND,\n\tEVENT_ID_EDITMENU_RELPACE,\n\tEVENT_ID_BOOKMARK_TOGGLE,\n\tEVENT_ID_BOOKMARK_NEXT,\n\tEVENT_ID_BOOKMARK_PREV,\n\tEVENT_ID_BOOKMARK_CLEAR,\n\tEVENT_ID_SEH_CHAIN,\n\tEVENT_ID_MENU_FILE,\n\tEVENT_ID_MENU_DEBUG,\n\tEVENT_ID_MENU_MONITOR,\n\tEVENT_ID_MENU_VIEW,\n\tEVENT_ID_MENU_INFORMATION,\n\tEVENT_ID_MENU_OPTION,\n\tEVENT_ID_MENU_TOOL,\n\tEVENT_ID_MENU_HELP,\n\tEVENT_ID_RECENT_FILE,\n\tEVENT_ID_RECENT_FILE_END = \tEVENT_ID_RECENT_FILE+8,\n\tEVENT_ID_SET_AS,\n\tCMD_ID_INSTR_INFO,\n\n\t//////////////////////////////////////////\n\t//// CStackWatchList\n\t//////////////////////////////////////////\n\n\tEVENT_ID_SET_DATAVIEW_EAX,\n\tEVENT_ID_SET_DATAVIEW_EBX,\n\tEVENT_ID_SET_DATAVIEW_ECX,\n\tEVENT_ID_SET_DATAVIEW_EDX,\n\tEVENT_ID_SET_DATAVIEW_ESP,\n\tEVENT_ID_SET_DATAVIEW_EBP,\n\tEVENT_ID_SET_DATAVIEW_ESI,\n\tEVENT_ID_SET_DATAVIEW_EDI,\n\tEVENT_ID_SET_DATAVIEW_EIP,\n\tEVENT_ID_SET_CODEVIEW_EAX,\n\tEVENT_ID_SET_CODEVIEW_EBX,\n\tEVENT_ID_SET_CODEVIEW_ECX,\n\tEVENT_ID_SET_CODEVIEW_EDX,\n\tEVENT_ID_SET_CODEVIEW_ESP,\n\tEVENT_ID_SET_CODEVIEW_EBP,\n\tEVENT_ID_SET_CODEVIEW_ESI,\n\tEVENT_ID_SET_CODEVIEW_EDI,\n\tEVENT_ID_SET_CODEVIEW_EIP,\n\t//////////////////////////////////////////\n\t//// CStackWatchList\n\t//////////////////////////////////////////\n\tEVENT_ID_SHOW_CODE,\n\tEVENT_ID_SHOW_CODE_BY_ADDRESS,\n\tEVENT_ID_SHOW_ESP_ADDR,\n\tEVENT_ID_SHOW_EBP_ADDR,\t\n\t//////////////////////////////////////////\n\t//// CDataView\n\t//////////////////////////////////////////\n\tEVENT_ID_DATAVIEW,\n\tEVENT_ID_SHOW_DATA,\n\tEVENT_ID_SHOW_DATA_BY_ADDRESS,\n\tEVENT_ID_SHOW_DATA_NEWWND,\n\tEVENT_ID_DASM_ADDRESS,\n\tEVENT_ID_DASM_ADDRESS_NEWWND,\n\tEVENT_ID_SHOW_PHYS_ADDR,\n\tEVENT_ID_DISASSEMBLE_PHYS_ADDR,\n\tEVENT_ID_DATAVIEW_TOOLBAR,\n\tEVENT_ID_ATTACH_TYPE,\n\tEVENT_ID_DATA_SHOW_OFFICE,\n\tEVENT_ID_FIND_DATA,\n\tEVENT_ID_FLOAT_ADDRESS_MODE,\n\tEVENT_ID_TOGGLE_ADDRESS_MODE,\n\tEVENT_ID_ACTIVE_DATAVIEW_0,\n\tEVENT_ID_ACTIVE_DATAVIEW_1,\n\tEVENT_ID_ACTIVE_DATAVIEW_2,\n\tEVENT_ID_ACTIVE_DATAVIEW_3,\n\tEVENT_ID_ACTIVE_DATAVIEW_4,\n\tEVENT_ID_ACTIVE_DATAVIEW_5,\n\tEVENT_ID_ACTIVE_DATAVIEW_6,\n\tEVENT_ID_ACTIVE_DATAVIEW_7,\n\tEVENT_ID_ACTIVE_DATAVIEW_8,\n\tDATAOPERATOR_ID_BYTEFLIP,\t\t\t\n\tDATAOPERATOR_ID_INVERSEBITS,\t\t\n\tDATAOPERATOR_ID_SHIFTLEFT,\t\t\t\n\tDATAOPERATOR_ID_SHIFTRIGHT,\t\t\n\tDATAOPERATOR_ID_ROTATELEFT,\t\t\n\tDATAOPERATOR_ID_ROTATERIGHT,\t\t\n\tDATAOPERATOR_ID_BLOCKSHIFTLEFT,\t\n\tDATAOPERATOR_ID_BLOCKSHIFTRIGHT,\t\n\tDATAOPERATOR_ID_XOR,\t\t\t\t\n\tDATAOPERATOR_ID_OR,\t\t\t\t\n\tDATAOPERATOR_ID_AND,\t\t\t\t\n\tDATAOPERATOR_ID_CHANGESIGN,\t\t\n\tDATAOPERATOR_ID_ADD,\t\t\t\t\n\tDATAOPERATOR_ID_SUBTRACT,\t\t\t\n\tDATAOPERATOR_ID_MULTIPLY,\t\t\t\n\tDATAOPERATOR_ID_DIVIDE,\t\t\t\n\tDATAOPERATOR_ID_MOD,\t\t\t\t\n\tDATAOPERATOR_ID_UPPERCASE,\t\t\t\n\tDATAOPERATOR_ID_LOWERCASE,\t\t\t\n\tDATAOPERATOR_ID_INVERSECASE,\t\n\t//////////////////////////////////////////\n\t//// Thread\n\t//////////////////////////////////////////\n\tEVENT_ID_GOTO_THREAD_STRUCT,\n\tEVENT_ID_GOTO_PROCESS_STRUCT,\n\tEVENT_ID_GOTO_START_ADDRESS,\n\tEVENT_ID_GOTO_THREAD_EIP,\n\tEVENT_ID_SET_BREAKPOINT_AT_THREAD,\n\tEVENT_ID_SET_BREAKPOINT_AT_PROCESS,\n\t//////////////////////////////////////////\n\t//// CCodeView\n\t//////////////////////////////////////////\n\tEVENT_ID_CODEVIEW,\n\tEVENT_ID_FM_AUTOMATIC,\n\tEVENT_ID_FM_SYSTEM_EXPLORER,\n\tEVENT_ID_FM_SOURCE_CODE_EXPLORER,\n\tEVENT_ID_ANALYZE_FROM_ADDRESS,\n\tEVENT_ID_FOLLOW_VALUE_TO_DATAVIEW,\n\tEVENT_ID_FOLLOW_VALUE_TO_CODEVIEW,\n\tEVENT_ID_FOLLOW_VALUE_TO_DATAVIEW_WITH_OFFSET,\n\tEVENT_ID_COPY_VALUE_TO_CLIPBOARD,\n\tEVENT_ID_COPY_CARETPOSITION_TO_CLIPBOARD,\n\tEVENT_ID_COPY_SEL_VALUE,\n\tEVENT_ID_COPY_SEL_VALUE_AS_C_SOURCE_CODE,\n\tEVENT_ID_COPY_SEL_VALUE_NO_SEPARATOR,\n\tEVENT_ID_TOGGLE_FLOAT_MODE,\n\tEVENT_ID_ADDRESS_MODE_HEX,\n\tEVENT_ID_OFFSET_MODE_HEX,\n\tEVENT_ID_TOGGLE_SYMBOL,\n\tEVENT_ID_TOGGLE_FULL_SYMBOL,\n\tEVENT_ID_RELATIVE_TO_ESP,\n\tEVENT_ID_RELATIVE_TO_EBP,\n\tEVENT_ID_ADDRESS_ORFER,\n\tEVENT_ID_RELATIVE_TO_EIP,\n\tEVENT_ID_CODEVIEW_EDIT_CODE,\n\tEVENT_ID_CODEVIEW_EDIT_COMMENT,\n\tEVENT_ID_STRING_REFERENCE,\n\tEVENT_ID_STRING_REFERENCE_WISPLIST,\n\tEVENT_ID_GETNEXTTRACE,\n\tEVENT_ID_GETPREVTRACE,\n\tEVENT_ID_FOLLOW_TO_DESTINATION,\n\tEVENT_ID_STARTADDRESS_INC,\n\tEVENT_ID_STARTADDRESS_DEC,\n\tEVENT_ID_ACTIVE_CODEVIEW_0,\n\tEVENT_ID_ACTIVE_CODEVIEW_1,\n\tEVENT_ID_ACTIVE_CODEVIEW_2,\n\tEVENT_ID_ACTIVE_CODEVIEW_3,\n\tEVENT_ID_ACTIVE_CODEVIEW_4,\n\tEVENT_ID_ACTIVE_CODEVIEW_5,\n\tEVENT_ID_ACTIVE_CODEVIEW_6,\n\tEVENT_ID_ACTIVE_CODEVIEW_7,\n\tEVENT_ID_ACTIVE_CODEVIEW_8,\n\tEVENT_ID_GOTO_NEXT_POS,\n\tEVENT_ID_GOTO_PREV_POS,\n\n\t//////////////////////////////////////////\n\t//// CStringReference\n\t//////////////////////////////////////////\n\tEVENT_ID_SR_SEARCH_AGAIN,\n\tEVENT_ID_SR_SEARCH,\n\t//////////////////////////////////////////\n\t//// CTypeViewerWnd\n\t//////////////////////////////////////////\n\tEVENT_ID_TYPEVIEWERWND_HEX_DISPLAY,\n\tEVENT_ID_TYPEVIEWERWND_DELETE_WATCH,\n\t//////////////////////////////////////////\n\t//// CWatchList CComment\n\t//////////////////////////////////////////\n\tEVENT_ID_ADD,\n\tEVENT_ID_GOTO,\n\tEVENT_ID_ANALYZE,\n\tEVENT_ID_REMOVE,\n\t//////////////////////////////////////////\n\t//// CMultiCodeView\n\t//////////////////////////////////////////\n\tCMD_ID_CODE_VIEW_START,\n\tCMD_ID_CODE_VIEW_END = CMD_ID_CODE_VIEW_START+10,\n\t//////////////////////////////////////////\n\t//// CMultiDataView\n\t//////////////////////////////////////////\n\tCMD_ID_DATA_VIEW_START,\n\tCMD_ID_DATA_VIEW_END = CMD_ID_DATA_VIEW_START+10,\n\t//////////////////////////////////////////\n\t//// \n\t//////////////////////////////////////////\n\tCMD_ID_PLUGIN_START,\n\t//////////////////////////////////////////\n\t//// CSourceDebugClassViewList\n\t//////////////////////////////////////////\n\tEVENT_ID_SOURCEDEBUGCLASSVIEW_FIND,\n\t//////////////////////////////////////////\n\t//// CSourceCodeFrame \n\t//////////////////////////////////////////\n\tEVENT_ID_SOURCECODEFRAME_TOGGLE_BP,\n\tEVENT_ID_SOURCECODEFRAME_TOGGLE_BP_STATE,\n\tEVENT_ID_SOURCECODEFRAME_REMOVE_BP_ALL,\n\tEVENT_ID_SOURCECODEFRAME_REMOVE_BP_DISABLE,\n\tEVENT_ID_SOURCECODEFRAME_TOGGLE_BOOKMARKS,\n\tEVENT_ID_SOURCECODEFRAME_CLEAR_ALL_BOOKMARKS,\n\tEVENT_ID_SOURCECODEFRAME_SET_EIP,\n\t//////////////////////////////////////////\n\t//// CSourceCodeWnd\n\t//////////////////////////////////////////\n\tEVENT_ID_ADDWATCH,\n\tEVENT_ID_EXPANSION,\n\tEVENT_ID_COLLAPSE,\n\tEVENT_ID_GOTOLINE,\n\n\tEVENT_ID_TOGGLE_BP,\n\tEVENT_ID_TOGGLE_BP_STATE,\n\tEVENT_ID_ENABLE_BP_ALL,\n\tEVENT_ID_REMOVE_BP_ALL,\n\tEVENT_ID_DISABLE_BP_ALL,\n\tEVENT_ID_TOGGLE_BOOKMARKS,\n\tEVENT_ID_CLEAR_ALL_BOOKMARKS,\n\tEVENT_ID_SET_EIP,\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserSymAnalyzer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SyserSymAnalyzer.h\"\n\nSDBASETYPENAME BaseTypeNameStruct[27]=\n{\n\t{btNoType,\"NoType\"},\n\t{btVoid,\"void\"},\n\t{btInt1,\"char\"},\n\t{btInt2,\"wchar\"},\n\t//{btInt,\"short\"},\n\t{btInt1,\"char\"},\n\t{btInt2,\"short\"},\n\t{btInt4,\"int\"},\n\t{btInt8,\"__int64\"},\n\t{btUint2,\"unsigned short int\"},\n\t{btUint1,\"unsigned char\"},\n\t{btUint2,\"unsigned short\"},\n\t{btUint4,\"unsigned int\"},\n\t{btUint8,\"unsigned __int64\"},\n\t{btInt4,\"float\"},\n\t{btInt8,\"double\"},\n\t{btBCD,\"BCD\"},\n\t{btUint1,\"bool\"},\n\t{btInt4,\"long\"},\n\t{btUint4,\"unsigned long\"},\n\t{btCurrency,\"Currency\"},\n\t{btDate,\"date\"},\n\t{btVariant,\"variant\"},\n\t{btComplex,\"complex\"},\n\t{btBit,\"bit\"},\n\t{btBSTR,\"BSTR\"},\n\t{btHresult,\"HRESULT\"},\n};\n\nDWORD GetBaseTypeIdByName(char*Name)\n{\n\tDWORD i,Count = sizeof(BaseTypeNameStruct)/sizeof(BaseTypeNameStruct[0]);\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tif(TStrCmp(BaseTypeNameStruct[i].Name,Name)==0)\n\t\t\treturn BaseTypeNameStruct[i].Type;\n\t}\n\treturn 0;\n}\n\nvoid CSDSModule::SetModuleFileName(PCSTR szFileName)\n{\n\tm_ModuleFileName = szFileName;\n}\n\nbool CSDSModule::LoadSymFile(PCSTR FileName)\n{\n\tSDSYMBOLFILE SymFileHeader;\n\tULLSIZE ReadLen;\n\tif(m_bInitOK)\n\t\treturn true;\n\tif(gpFileIO->OpenFile(FileName,&m_hFileHandle)==false)\n\t{\n\t\treturn false;\n\t}\n\tmemset(&SymFileHeader,0,sizeof(SymFileHeader));\n\tReadLen = gpFileIO->ReadFile(m_hFileHandle,&SymFileHeader,sizeof(SymFileHeader),0);\n\tif(ReadLen!=sizeof(SymFileHeader))\n\t{\n\t\tgpFileIO->CloseHandle(m_hFileHandle);\t\t\n\t\treturn false;\n\t}\n\tif(SymFileHeader.Version!=SYSER_DEBUG_SYMBOL_FILE_VER)\n\t{\n\t\tgpFileIO->CloseHandle(m_hFileHandle);\t\t\n\t\treturn false;\n\t}\n\tm_SymFileSize = gpFileIO->GetFileLength(m_hFileHandle);\n\tif(IsHeapFreeBelow(SYSER_SOURCE_DEBUG_HEAP,m_SymFileSize*2))\n\t{\n\t\treturn false;\n\t}\n\tm_FileBuffer = new char[(unsigned int)m_SymFileSize];\n\tif(m_FileBuffer==NULL)\n\t{\n\t\tgpFileIO->CloseHandle(m_hFileHandle);\n\t\treturn false;\n\t}\n\tReadLen = gpFileIO->ReadFile(m_hFileHandle,m_FileBuffer,(ULSIZE)m_SymFileSize,0);\n\tif(ReadLen!=m_SymFileSize)\n\t{\n\t\tgpFileIO->CloseHandle(m_hFileHandle);\n\t\tdelete []m_FileBuffer;\n\t\treturn false;\n\t}\n\tif(CheckSDSymbolFileCheckSum()==false)\n\t{\n\t\tgpFileIO->CloseHandle(m_hFileHandle);\n\t\tdelete []m_FileBuffer;\t\t\n\t\treturn false;\n\t}\n\tm_SDSymbolFile = (PSDSYMBOLFILE)m_FileBuffer;\n\tSymRelocation(m_SDSymbolFile);\n\tgpFileIO->CloseHandle(m_hFileHandle);\n\tCreateName2IDMap();\n\tm_SymbolFileName = FileName;\n\tm_bInitOK=true;\n\treturn true;\n}\n\nvoid CSDSModule::UnloadSymFile()\n{\n\tif(m_bInitOK==false)\n\t\treturn ;\n\tif(m_FileBuffer)\n\t\tdelete []m_FileBuffer;\n\t//m_SymbolMap.Clear();\n\tDeleteName2IDMap();\n\tm_bInitOK=false;\n}\n\nCSDSModule::CSDSModule()\n{\n\tm_SymFileSize=0;\n\tm_hFileHandle=NULL;\n\tm_SDSymbolFile=NULL;\n\tm_FileBuffer=NULL;\t\t\n\tm_StrTable=NULL;\n\tm_bInitOK=false;\n\tm_MemoryUsed = 0;\n\tm_ParentPID = 0;\n}\n\nCSDSModule::~CSDSModule()\n{\n\tUnloadSymFile();\n}\n\n\nMODULE_ID CSDSModule::GetSDSMouleID(PCSTR szSDSFileName)\n{\n\tHANDLE hFile;\n\tSDSYMBOLFILE SymFileHeader;\n\tULSIZE ReadLen;\n\tif(gpFileIO->OpenFile(szSDSFileName,&hFile)==false)\n\t\treturn 0;\n\tSTZeroMemory(SymFileHeader);\n\tReadLen = gpFileIO->ReadFile(hFile,&SymFileHeader,sizeof(SymFileHeader),0);\n\tgpFileIO->CloseHandle(hFile);\n\tif(ReadLen!=sizeof(SymFileHeader) || SymFileHeader.Sig!=SYSER_DEBUG_SYMBOL_FILE_SIG ||SymFileHeader.Version!=SYSER_DEBUG_SYMBOL_FILE_VER)\n\t\treturn 0;\n\treturn MAKE_MODULE_ID(SymFileHeader.ModuleID.OrgPECheckSum,SymFileHeader.ModuleID.TimeDateStamp);\n}\n\nMODULE_ID CSDSModule::GetModuleID()\n{\n\tif(m_SDSymbolFile==NULL)\n\t\treturn 0;\n\treturn MAKE_MODULE_ID(m_SDSymbolFile->ModuleID.OrgPECheckSum,m_SDSymbolFile->ModuleID.TimeDateStamp);\n}\n\nPSDSOURCEFILEID CSDSModule::GetSourceFileList(OUT DWORD *SourceFileNum)const\n{\n\tif(SourceFileNum)\n\t\t*SourceFileNum=m_SDSymbolFile->SourceFileCounter;\n\treturn m_SDSymbolFile->UnionSourceFileIDTable.SourceFileIDTablePointer;\n}\nDWORD CSDSModule::GetSourceFileCountInPackages()const\n{\n\treturn m_SDSymbolFile->PackageSourceFileCounter;\n}\n/*\nconst char* CSDSModule::GetSymbolNameByRVA(DWORD Rva)\n{\n\tSYMORDATAINDEXLIST::IT FindIt;\n\tSYMORDATAINDEX FindValue;\n\tFindValue.Rva=Rva;\n\tFindIt = m_SymbolMap.Find(FindValue);\t\n\tif(FindIt==m_SymbolMap.End())\n\t\treturn NULL;\n\treturn GetSymbolName(*FindIt);\t\t\n}\n*/\nvoid CSDSModule::SymRelocation(PSDSYMBOLFILE pSymbolFile)\n{\n\tDWORD *SymIndexTable;\n\tDWORD *StrIndexTable;\n\tDWORD *FunctionIndexTable;\n\tDWORD TempDword;\n\tDWORD i;\n\tDWORD BaseAddress=*(DWORD*)&pSymbolFile;\t\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDFUNCTIONITEM pFuncItem;\n\tPSDSOURCEFILEID pSourceFileID;\n\t//SYMORDATAINDEX SymOrDataIndex={0,0,0};\n\tDWORD StringTableBaseAddress;\n\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ \n\t////////////////////////////////////////////////////////////////////////\n\tTempDword = BaseAddress+pSymbolFile->UnionStringIndexTable.StringIndexTableOffset;\n\tStrIndexTable=*(DWORD**)&TempDword;\n\tm_StrTable=(char**)StrIndexTable;\n\tStringTableBaseAddress=BaseAddress+pSymbolFile->UnionStringTable.StringTableOffset;\n\tfor(i = 0; i < pSymbolFile->StringTotalNum; i++)\n\t{\n\t\tStrIndexTable[i]+=StringTableBaseAddress;\n\t}\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ ļͷ\n\t////////////////////////////////////////////////////////////////////////\n\tBYTE* TempPtr=(BYTE*)pSymbolFile;\n\tpSymbolFile->UnionLineNumber.pLineNumberTablePointer =(PSDLINE)&TempPtr[m_SDSymbolFile->UnionLineNumber.LineNumberOffset];\n\t\n\tpSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer = (PSDFUNCTIONITEM*)&TempPtr[pSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTableOffset];\n\tpSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer = (PSDTYPE_INFILE*)&TempPtr[pSymbolFile->UnionSymbolIndexTable.SymbolIndexTableOffset];\n\tpSymbolFile->UnionSourceFileIDTable.SourceFileIDTablePointer =(PSDSOURCEFILEID)&TempPtr[pSymbolFile->UnionSourceFileIDTable.SourceFileIDTableOffset];\n\tpSymbolFile->UnionDataInformation.DataInformationPointer =(PSDUDTDATAITEM)&TempPtr[pSymbolFile->UnionDataInformation.DataInformationOffset];\n\tpSymbolFile->UnionPublicSymbol.PublicSymbolPointer =(PSDPUBLICSYMBOL) &TempPtr[pSymbolFile->UnionPublicSymbol.PublicSymbolOffset];\n\tif(pSymbolFile->uPDBFileName.PDBFileNameOffset)\n\t\tpSymbolFile->uPDBFileName.PDBFileName=(char*)&TempPtr[pSymbolFile->uPDBFileName.PDBFileNameOffset];\n\telse\n\t\tpSymbolFile->uPDBFileName.PDBFileName = m_StrTable[0];\n\tif(pSymbolFile->uPEFileName.PEFileNameOffset)\n\t\tpSymbolFile->uPEFileName.PEFileName=(char*)&TempPtr[pSymbolFile->uPEFileName.PEFileNameOffset];\n\telse\n\t\tpSymbolFile->uPEFileName.PEFileName = m_StrTable[0];\n\t\n\tif(pSymbolFile->uPEFileFullName.PEFileFullNameOffset)\n\t\tpSymbolFile->uPEFileFullName.PEFileFullName=(char*)&TempPtr[pSymbolFile->uPEFileFullName.PEFileFullNameOffset];\n\telse\n\t\tpSymbolFile->uPEFileFullName.PEFileFullName = m_StrTable[0];\n\t\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ source code file \n\t////////////////////////////////////////////////////////////////////////\t\t\n\tpSourceFileID =pSymbolFile->UnionSourceFileIDTable.SourceFileIDTablePointer;\n\tfor(i = 0; i < pSymbolFile->SourceFileCounter;i++)\n\t{\n\t\tpSourceFileID[i].uName.Name=m_StrTable[pSourceFileID[i].uName.MemberNameInStringTableIndex];\n\t\tpSourceFileID[i].OffsetAtFile+=BaseAddress;\n\t}\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ \n\t////////////////////////////////////////////////////////////////////////\t\t\n\tSymIndexTable=(DWORD*)pSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer;\t\t\n\t//SymOrDataIndex.Type = RVA_FUNCTION_BODY;\n\tfor(i = 0; i < pSymbolFile->SymbolTotalNum; i++)\n\t{\n\t\tSymIndexTable[i]+=BaseAddress;\n\t\tpType=*(PSDTYPE_INFILE*)&SymIndexTable[i];\n\t\tpType->uName.Name = m_StrTable[pType->uName.StringTableIndex];\n\t\tif(pType->Type==SD_ENUMERATION)\n\t\t{\n\t\t\tPSDENUMERATIONTYPE pEnum = (PSDENUMERATIONTYPE)&pType[1];\n\t\t\tDWORD EnumCount = pEnum->DataCount;\n\t\t\tfor(DWORD j = 0; j < EnumCount;j++)\n\t\t\t{\n\t\t\t\tpEnum->EnumerationDataMember[j].u.Name=m_StrTable[pEnum->EnumerationDataMember[j].u.MemberNameInStringTableIndex];\n\t\t\t}\n\t\t}\n\t\tif(pType->Type==SD_STRUCT||pType->Type==SD_CLASS||pType->Type==SD_UNION)\n\t\t{\n\t\t\tPSDUDTTYPE pUdtType = (PSDUDTTYPE)&pType[1];\n\t\t\tif(pUdtType->DataCounter)\n\t\t\t\tpUdtType->pData.DataMemberOffset += *(DWORD*)&pType; \n\t\t\telse\n\t\t\t\tpUdtType->pData.DataMemberOffset=0;\n\t\t\tif(pUdtType->FunctionCounter)\n\t\t\t\tpUdtType->pFunction.FunctionMemberOffset += *(DWORD*)&pType;\n\t\t\telse\n\t\t\t\tpUdtType->pFunction.FunctionMemberOffset=0;\n\t\t\tif(pUdtType->BaseClassCounter)\n\t\t\t\tpUdtType->pBaseClass.BaseClassMemberOffset += *(DWORD*)&pType;\n\t\t\telse\n\t\t\t\tpUdtType->pBaseClass.BaseClassMemberOffset=0;\n\t\t\tif(pUdtType->VTableCount)\n\t\t\t\tpUdtType->pVTable.VTableMemberOffset += *(DWORD*)&pType;\n\t\t\telse\n\t\t\t\tpUdtType->pVTable.VTableMemberOffset=0;\n\t\t}\n\t}\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ \n\t////////////////////////////////////////////////////////////////////////\t\t\n\tFunctionIndexTable=(DWORD*)pSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer;\n\tPSDFUNCTIONITEM* pFuncItemArray=(PSDFUNCTIONITEM*)FunctionIndexTable;\n\t//SymOrDataIndex.Type = RVA_FUNCTION_BODY;\n\tfor(i = 1; i < pSymbolFile->FunctionSymbolNum; i++)\n\t{\n\t\tFunctionIndexTable[i]+=BaseAddress;\n\t\tpFuncItem=*(PSDFUNCTIONITEM*)&FunctionIndexTable[i];\n\t\tif(pFuncItem->DataCounter)\n\t\t\tpFuncItem->pData.DataMemberOffset+=(*(DWORD*)&pFuncItem);\n\t\telse\n\t\t\tpFuncItem->pData.DataMemberOffset=0;\n\t\tif(pFuncItem->BlockCounter)\n\t\t\tpFuncItem->pBlock.BlockOffset+=(*(DWORD*)&pFuncItem);\n\t\telse\n\t\t\tpFuncItem->pBlock.BlockOffset=0;\n\t\tpFuncItem->uName.Name = m_StrTable[pFuncItem->uName.MemberNameInStringTableIndex];\t\t\n\t\t//SymOrDataIndex.Name = pFuncItem->uName.Name;\t\t\t\n\t\t//SymOrDataIndex.Index=i;\n\t\t//SymOrDataIndex.Rva=pFuncItem->Rva;\n\t\t//m_SymbolMap.Append(SymOrDataIndex);\n\t}\n\t////////////////////////////////////////////////////////////////////////\n\t//////ضλ ݱ\n\t////////////////////////////////////////////////////////////////////////\t\t\t\t\n\t//SymOrDataIndex.Type=RVA_DATA_ITEM;\n\tPSDUDTDATAITEM pDataArray = pSymbolFile->UnionDataInformation.DataInformationPointer;\n\tfor(i = 0; i < pSymbolFile->DataInformationNum; i++)\n\t{\t\t\n\t\tpUdtDataItem=&pDataArray[i];\n\t\tpUdtDataItem->uName.Name = m_StrTable[pUdtDataItem->uName.StringTableIndex];\n\t\tif(pUdtDataItem->Location==LocIsStatic)\n\t\t{\n\t\t\t//SymOrDataIndex.Name = pUdtDataItem->uName.Name;\n\t\t\t//SymOrDataIndex.Index=i;\n\t\t\t//SymOrDataIndex.Rva=pUdtDataItem->u.LOCISSTATIC.Rav;\n\t\t\t//m_SymbolMap.Append(SymOrDataIndex);\n\t\t}\n\t}\n\t//SymOrDataIndex.Type=RVA_PUBLIC_SYMBOL;\n\tTempDword = pSymbolFile->PublicSymbolCounter;\n\tPSDPUBLICSYMBOL pPubArray = pSymbolFile->UnionPublicSymbol.PublicSymbolPointer;\n\tfor(i = 0; i < TempDword; i++)\n\t{\n\t\tpPubArray[i].uName.Name = m_StrTable[pPubArray[i].uName.StringTableIndex];\n\t\tpPubArray[i].UndecoratedName.Name = m_StrTable[pPubArray[i].UndecoratedName.StringTableIndex];\n\t\t//SymOrDataIndex.Name = pPubArray[i].uName.Name;\n\t\t//SymOrDataIndex.Index=i;\n\t\t//SymOrDataIndex.Rva=pPubArray[i].Rva;\n\t\t//m_SymbolMap.Append(SymOrDataIndex);\n\t}\n}\nPSDPUBLICSYMBOL CSDSModule::GetPublicSymbol(unsigned int index)const\n{\n\tif(index >= m_SDSymbolFile->PublicSymbolCounter)\n\t\tindex=0;\n\treturn &m_SDSymbolFile->UnionPublicSymbol.PublicSymbolPointer[index];\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolByNameAndLocation(char* Name,int nLocation)const\n{\n\tDWORD dwDataCount;\n\tPSDUDTDATAITEM pDataItem,pDataItemArray;\n\tdwDataCount=m_SDSymbolFile->DataInformationNum;\n\tpDataItemArray = m_SDSymbolFile->UnionDataInformation.DataInformationPointer;\n\tfor(DWORD i = 1; i < dwDataCount;i++)\n\t{\n\t\tpDataItem = &pDataItemArray[i];\n\t\t//if(pDataItem->Location==nLocation)\n\t\t{\n\t\t\tif(TStrCmp(Name,pDataItem->uName.Name)==0)\n\t\t\t\treturn pDataItem;\n\t\t}\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolByName(char* Name)const\n{\n\tDWORD dwDataCount;\n\tPSDUDTDATAITEM pDataItem,pDataItemArray;\n\tdwDataCount=m_SDSymbolFile->DataInformationNum;\n\tpDataItemArray = m_SDSymbolFile->UnionDataInformation.DataInformationPointer;\n\tfor(DWORD i = 1; i < dwDataCount;i++)\n\t{\n\t\tpDataItem = &pDataItemArray[i];\t\t\n\t\tif(TStrCmp(Name,pDataItem->uName.Name)==0)\n\t\t\treturn pDataItem;\t\t\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolByNameAndKind(const char* Name,int nDataKind)const\n{\n\tDWORD dwDataCount;\n\tPSDUDTDATAITEM pDataItem,pDataItemArray;\n\tdwDataCount=m_SDSymbolFile->DataInformationNum;\n\tpDataItemArray = m_SDSymbolFile->UnionDataInformation.DataInformationPointer;\n\tfor(DWORD i = 1; i < dwDataCount;i++)\n\t{\n\t\tpDataItem = &pDataItemArray[i];\n\t\tif(pDataItem->KindData==nDataKind)\n\t\t{\n\t\t\tif(TStrCmp(Name,pDataItem->uName.Name)==0)\n\t\t\t\treturn pDataItem;\n\t\t}\n\t}\n\treturn NULL;\n}\n\nPSDUDTDATAITEM CSDSModule::GetDataSymbol(unsigned int index)const \n{\n\tif(index >= m_SDSymbolFile->DataInformationNum)\n\t\tindex = 0;\n\treturn &m_SDSymbolFile->UnionDataInformation.DataInformationPointer[index];\n}\nconst char* CSDSModule::GetTypeNameByID(unsigned int id)const\n{\n\tif(id >=m_SDSymbolFile->SymbolTotalNum)\n\t\tid = 0;\n\treturn GetTypeSymbol(id)->uName.Name;\n}\nPSDTYPE_INFILE CSDSModule::GetTypeSymbol(unsigned int index)const\n{\n\tif(index >=m_SDSymbolFile->SymbolTotalNum)\n\t\tindex = 0;\n\treturn m_SDSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer[index];\n}\nconst char* CSDSModule::GetDataName(PSDUDTDATAITEM pUdtDataItem)const\n{\n\t\n\tif(pUdtDataItem==NULL)\n\t\treturn m_StrTable[0];\n\treturn pUdtDataItem->uName.Name;\n}\nconst char* CSDSModule::GetTypeName(PSDTYPE_INFILE pSDType)const\n{\n\t\n\tif(pSDType==NULL)\n\t\treturn m_StrTable[0];\n\treturn pSDType->uName.Name;\n}\nconst char* CSDSModule::GetPublicSymbolName(PSDPUBLICSYMBOL pSDPublicSymbol)const\n{\n\tif(pSDPublicSymbol==NULL)\n\t\treturn m_StrTable[0];\n\treturn pSDPublicSymbol->uName.Name;\n}\n/*\nconst char* CSDSModule::GetSymbolName(SYMORDATAINDEX Symbol)const\n{\n\tif(Symbol.Type==RVA_FUNCTION_BODY)\n\t\treturn GetTypeName(GetTypeSymbol(Symbol.Index));\n\tif(Symbol.Type==RVA_DATA_ITEM)\n\t\treturn GetDataName(GetDataSymbol(Symbol.Index));\n\tif(Symbol.Type==RVA_PUBLIC_SYMBOL)\n\t\treturn GetPublicSymbolName(GetPublicSymbol(Symbol.Index));\n\treturn NULL;\n}\n*/\nvoid* CSDSModule::GetSymbolAddressBySymbolName(IN const char* SymbolName,OUT DWORD* SymbolLength)\n{\n\treturn NULL;\t\n}\nPSDSOURCEFILEID CSDSModule::GetSourceFileByID(IN DWORD SourceFileId)const\n{\n\tDWORD i;\n\tDWORD dwFileTotalNum=m_SDSymbolFile->SourceFileCounter;\n\tPSDSOURCEFILEID pSourceFileId = m_SDSymbolFile->UnionSourceFileIDTable.SourceFileIDTablePointer;\n\tfor(i =0;i < dwFileTotalNum;i++)\n\t\tif(pSourceFileId[i].FileID==SourceFileId)\n\t\t\treturn &pSourceFileId[i];\n\treturn NULL;\n}\nPSDSOURCEFILEID CSDSModule::GetSourceFileByName(const char* SourceFileName)const\n{\n\tDWORD i;\n\tchar* FileName;\n\tDWORD dwFileTotalNum=m_SDSymbolFile->SourceFileCounter;\n\tPSDSOURCEFILEID pSourceFileId = m_SDSymbolFile->UnionSourceFileIDTable.SourceFileIDTablePointer;\n\tfor(i =0;i < dwFileTotalNum;i++)\n\t{\n\t\tFileName=TStrRChr(pSourceFileId[i].uName.Name,'\\\\');\n\t\tif(FileName)\n\t\t{\n\t\t\tFileName++;\n\t\t\tif(TStrICmp(FileName,SourceFileName)==0)\n\t\t\t\treturn &pSourceFileId[i];\n\t\t}\n\t}\n\treturn NULL;\n}\nDWORD CSDSModule::GetLineBySourceFileID(DWORD SourceFileId,SDLINELIST* Line)const\n{\n\tDWORD Count=0;\n\tDWORD i;\n\tDWORD dwLineTotalNum=m_SDSymbolFile->LineNumberCounter;\n\tPSDLINE pLine = m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\tfor(i = 0; i < dwLineTotalNum;i++)\n\t{\n\t\tif(pLine[i].FileID==SourceFileId)\n\t\t{\n\t\t\tif(Line)\n\t\t\t\tLine->Append(&pLine[i]);\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}\nDWORD CSDSModule::GetLineFromRva(DWORD Rva,SDLINELIST* Line)const\n{\n\tDWORD Count=0;\n\tDWORD dwLineTotalNum=m_SDSymbolFile->LineNumberCounter;\n\tPSDLINE pLine = m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\tDWORD i;\n\tfor(i = 0; i < dwLineTotalNum;i++)\n\t{\n\t\tif(Rva >= pLine[i].Rva &&Rva < pLine[i].Rva + pLine[i].Len)\n\t\t{\n\t\t\tif(Line)\n\t\t\t\tLine->Append(&pLine[i]);\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Count;\n}\nDWORD CSDSModule::GetLineByRva(DWORD Rva,SDLINELIST* Line)const\n{\n\tDWORD Count=0;\n\tDWORD Begin,End;\n\tDWORD dwTotalNum = m_SDSymbolFile->LineNumberCounter; \n\tPSDLINE pLine=m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\tBegin=0;\n\tEnd=dwTotalNum-1;\n\tfor(;Begin<=End;)\n\t{\n\t\tif(Rva>pLine[(Begin+End)/2].Rva)\n\t\t\tBegin=(Begin+End)/2;\n\t\telse if(Rva==pLine[(Begin+End)/2].Rva)\n\t\t{\n\t\t\tLine->Append(&pLine[(Begin+End)/2]);\n\t\t\tCount=1;\n\t\t\tbreak;\n\t\t}\n\t\telse\n\t\t\tEnd=(Begin+End)/2;\n\t}\n\treturn Count;\n}\nDWORD CSDSModule::GetLineBySourceFileID(IN DWORD SourceFileId,INOUT LINENUMBERMAP* LineMap)const\n{\n\tDWORD Count=0;\n\tSDLINEINFO SDLineInfo;\n\tLINENUMBERMAP::IT FindIT;\n\tDWORD dwTotalNum = m_SDSymbolFile->LineNumberCounter;\n\tPSDLINE pLine=m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\n\tfor(unsigned int i = 0; i < dwTotalNum;i++)\n\t{\n\t\tif(pLine[i].FileID==SourceFileId)\n\t\t{\n\t\t\tSDLineInfo.Number=1;\n\t\t\tSDLineInfo.pLine=&pLine[i];\n\t\t\tif(LineMap)\n\t\t\t{\n\t\t\t\tFindIT = LineMap->InsertUnique(pLine[i].LineNumber,SDLineInfo);\n\t\t\t\tif(FindIT==LineMap->End())\n\t\t\t\t{\n\t\t\t\t\tFindIT=LineMap->Find(pLine[i].LineNumber);\n\t\t\t\t\t(*FindIT).Number++;\n\t\t\t\t}\n\t\t\t}\n\t\t\tCount++;\n\t\t}\n\t}\n\tif(Count>1)\n\t\tCount--,Count++;\n\treturn Count;\n}\nDWORD CSDSModule::GetLineBySourceFileID(DWORD SourceFileId,DWORD LineNum,SDLINELIST* Line)const\n{\n\tDWORD Count=0;\n\tDWORD dwTotalNum = m_SDSymbolFile->LineNumberCounter;\n\tPSDLINE pLine=m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\tfor(unsigned int i = 0; i < dwTotalNum;i++)\n\t{\n\t\tif(pLine[i].FileID==SourceFileId&&pLine[i].LineNumber==LineNum)\n\t\t{\n\t\t\tif(Line)\n\t\t\t\tLine->Append(&pLine[i]);\n\t\t\tCount++;\n\t\t}\n\t}\n\tif(Count>1)\n\t\tCount--,Count++;\n\treturn Count;\n}\nPSDLINE CSDSModule::GetContiguityLineBySourceFileID(DWORD SourceFileId,DWORD LineNum)const\n\n{\n\tDWORD CurrentLineNum=0xffffffff;\n\tDWORD LineTotalNum;\n\tPSDLINE pCurrentLine=NULL,pLine=m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer; \n\tDWORD Count=0;\n\tLineTotalNum = m_SDSymbolFile->LineNumberCounter;\n\tfor(unsigned int i = 0; i < LineTotalNum;i++)\n\t{\n\t\tif(pLine[i].FileID==SourceFileId&&pLine[i].LineNumber>LineNum)\n\t\t{\n\t\t\tif(CurrentLineNum > pLine[i].LineNumber)\n\t\t\t\tpCurrentLine = &pLine[i],CurrentLineNum=pLine[i].LineNumber;\n\t\t}\n\t}\n\treturn pCurrentLine;\n}\nPSDFUNCTIONITEM CSDSModule::GetFunctionByLineNumber(IN DWORD FileId,IN DWORD LineNum)const\n{\n\tSDLINELIST LineList;\n\tPSDLINE pLine;\n\tif(GetLineBySourceFileID(FileId,LineNum,&LineList))\n\t\tpLine = *LineList.Begin();\n\telse\n\t\tpLine = GetContiguityLineBySourceFileID(FileId,LineNum);\n\tif(pLine==NULL)\n\t\treturn NULL;\n\treturn GetFunctionFromRav(pLine->Rva);\n}\nPSDFUNCTIONITEM CSDSModule::GetFunctionFromRav(DWORD Rva)const\n{\n\tDWORD FunctionTotalNum=m_SDSymbolFile->FunctionSymbolNum;\n\tPSDFUNCTIONITEM* pFuncArray = m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer;\n\tPSDFUNCTIONITEM pFuncItem;\n\tfor(unsigned int i = 1; i < FunctionTotalNum;i++)\n\t{\t\t\n\t\tpFuncItem = pFuncArray[i];\n\t\tif(Rva >= pFuncItem->Rva && Rva <pFuncItem->Rva+pFuncItem->Size)\n\t\t\treturn pFuncItem;\n\t}\n\treturn NULL;\n}\nchar* CSDSModule::GetFuncNameByRva(DWORD Rva)const\n{\n\tDWORD FunctionTotalNum=m_SDSymbolFile->FunctionSymbolNum;\n\tPSDFUNCTIONITEM* pFuncArray=m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer;\n\tPSDFUNCTIONITEM pFuncItem;\n\tfor(unsigned int i = 1; i < FunctionTotalNum;i++)\n\t{\t\t\n\t\tpFuncItem = pFuncArray[i];\n\t\tif(Rva >= pFuncItem->Rva && Rva <pFuncItem->Rva+pFuncItem->Size)\n\t\t\treturn pFuncItem->uName.Name;\n\t}\n\treturn m_StrTable[0];\n}\nPSDTYPE_INFILE* CSDSModule::GetSymbolList(DWORD* ItemCount)const\n{\n\tif(ItemCount)\n\t\t*ItemCount = m_SDSymbolFile->SymbolTotalNum;\n\treturn m_SDSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer;\n}\n/*\nvoid CSDSModule::CreateSourceLineMap()\n{\n\tDWORD i;\n\tSOURCELINEMAP::IT FindIt;\n\tLINEINDEXLIST LineIndexList;\n\tLINEINDEXINFO LineIndexInfo;\n\tDWORD SourceFileID=0-1;\n\tDWORD dwLineTotalNum=m_SDSymbolFile->LineNumberCounter;\n\tPSDLINE pLine = m_SDSymbolFile->UnionLineNumber.pLineNumberTablePointer;\n\tSourceFileID=pLine[0].FileID;\n\tFindIt = m_SourceLineMap.InsertUnique(SourceFileID,LineIndexList);\t\n\tLineIndexInfo.BeginIndex=0;\n\tfor(i = 0; i < dwLineTotalNum;i++)\n\t{\n\t\tif(SourceFileID==pLine[i].FileID)\n\t\t\tcontinue;\t\t\n\t\tLineIndexInfo.Number=i-LineIndexInfo.BeginIndex;\t\t\t\n\t\t(*FindIt).Append(LineIndexInfo);\n\t\tSourceFileID=pLine[i].FileID;\n\t\tFindIt = m_SourceLineMap.InsertUnique(SourceFileID,LineIndexList);\n\t\tif(FindIt==m_SourceLineMap.End())\t\t\t\t\t\t\n\t\t\tFindIt=m_SourceLineMap.Find(SourceFileID);\t\t\t\t\t\n\t\tLineIndexInfo.BeginIndex=i;\t\t\n\t}\n\tLineIndexInfo.Number=i-LineIndexInfo.BeginIndex;\n\t(*FindIt).Append(LineIndexInfo);\n}\nvoid CSDSModule::DeleteSourceLineMap()\n{\n\tSOURCELINEMAP::IT BeginIT,EndIT;\n\tBeginIT=m_SourceLineMap.Begin();\n\tEndIT=m_SourceLineMap.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\t(*BeginIT).Clear();\n\t}\n\tm_SourceLineMap.Clear();\n}\n*/\nvoid CSDSModule::CreateDataName2IDMap()\n{\n\tDWORD dwDataCount;\n\tSYMNAMEIDKEY SymNameKey;\n\tPSDUDTDATAITEM pDataItem,pDataItemArray;\n\tdwDataCount=m_SDSymbolFile->DataInformationNum;\n\tpDataItemArray = m_SDSymbolFile->UnionDataInformation.DataInformationPointer;\n\tfor(DWORD i = 1; i < dwDataCount;i++)\n\t{\n\t\tpDataItem = &pDataItemArray[i];\t\n\t\tSymNameKey.m_Name=pDataItem->uName.Name;\n\t\tm_DataSymName2IDMap.InsertUnique(SymNameKey,i);\t\t\t\t\n\t}\n}\nvoid CSDSModule::DeleteDataName2IDMap()\n{\n\tm_DataSymName2IDMap.Clear();\n}\nvoid CSDSModule::CreateName2IDMap()\n{\n\tDWORD dwSymbolTotalNum;\n\tDWORD i;\n\tPSDTYPE_INFILE* pTypeArray = m_SDSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer;\n\tSYMNAMEIDKEY SymNameKey;\n\tdwSymbolTotalNum = m_SDSymbolFile->SymbolTotalNum;\n\tfor(i = 1; i < dwSymbolTotalNum;i++)\n\t{\n\t\tSymNameKey.m_Name=pTypeArray[i]->uName.Name;\n\t\tm_Sym2Name2IDMap.InsertUnique(SymNameKey,i);\t\t\n\t}\t\n\t//m_DataSymName2IDMap\n}\nvoid CSDSModule::DeleteName2IDMap()\n{\n\tm_Sym2Name2IDMap.Clear();\n}\nPSDTYPE_INFILE CSDSModule::GetSymbolByName(const char* Name,bool bCase)\n{\n\tPSDTYPE_INFILE* pTypeArray = m_SDSymbolFile->UnionSymbolIndexTable.SymbolIndexTablePointer;\n\tSYMNAMEIDKEY SymNameKey;\n\tSYM2NAME2IDMAP::IT FindIT1;\n\tDWORD dwSymbolTotalNum;\n\tSymNameKey.m_Name=(char*)Name;\n\tif(Name==NULL&&Name[0]==0)\n\t\treturn NULL;\n\tFindIT1 = m_Sym2Name2IDMap.Find(SymNameKey);\n\tdwSymbolTotalNum = m_SDSymbolFile->SymbolTotalNum;\n\tif(FindIT1!=m_Sym2Name2IDMap.End())\n\t{\n\t\tif(*FindIT1>=dwSymbolTotalNum)\n\t\t\treturn NULL;\n\t\treturn pTypeArray[*FindIT1];\n\t}\n\treturn NULL;\n}\nPSDCOMPILAND CSDSModule::GetCompilandList(OUT DWORD* Count)const\n{\n\tPSDCOMPILAND pSDCompiland;\n\tpSDCompiland =(PSDCOMPILAND)((char*)m_SDSymbolFile + m_SDSymbolFile->UniosCompiland.CompilandOffset);\n\tif(Count)\n\t\t*Count=m_SDSymbolFile->CompilandCounter;\n\treturn pSDCompiland;\n}\nPSDPUBLICSYMBOL CSDSModule::GetPublicSymbolList(OUT DWORD* Count)\n{\n\tif(Count)\n\t\t*Count = m_SDSymbolFile->PublicSymbolCounter;\n\treturn m_SDSymbolFile->UnionPublicSymbol.PublicSymbolPointer;\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolList(OUT DWORD* Count)\n{\n\tif(Count)\n\t\t*Count=m_SDSymbolFile->DataInformationNum;\n\treturn m_SDSymbolFile->UnionDataInformation.DataInformationPointer;\n}\nPCSTR CSDSModule::GetPEFileFullName()const\n{\t\n\treturn m_SDSymbolFile->uPEFileFullName.PEFileFullName;\n}\nPCSTR CSDSModule::GetSymbolModuleName()const\n{\t\n\treturn m_SDSymbolFile->uPEFileName.PEFileName;\n}\nPCSTR CSDSModule::GetPDBFileName()const\n{\n\treturn m_SDSymbolFile->uPDBFileName.PDBFileName;\n}\n\nPSDFUNCTIONITEM CSDSModule::GetFunctionSymbol(IN DWORD Index)const\n{\n\tif(Index>=m_SDSymbolFile->FunctionSymbolNum)\n\t\treturn NULL;\n\treturn m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer[Index];\n}\nPSDFUNCTIONITEM* CSDSModule::GetFunctionSymbolList(OUT DWORD* Count)\n{\n\tif(Count)\n\t\t*Count=m_SDSymbolFile->FunctionSymbolNum;\n\treturn m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer;\n}\n\nPSDFUNCTIONITEM CSDSModule::GetFunctionSymbolByName(const char*Name,bool bCase)const\n{\n\tPSDFUNCTIONITEM* pFunctArray;\n\tDWORD dwFunctionTotalNum,i;\n\tif(Name==NULL||Name[0]==0)\n\t\treturn NULL;\n\tdwFunctionTotalNum=m_SDSymbolFile->FunctionSymbolNum;\n\tpFunctArray=m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer;\n\tfor(i=1;i < dwFunctionTotalNum;i++)\n\t{\n\t\tif(bCase)\n\t\t{\n\t\t\tif(TStrCmp(pFunctArray[i]->uName.Name,Name)==0)\n\t\t\t\tbreak;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrICmp(pFunctArray[i]->uName.Name,Name)==0)\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif(i>=dwFunctionTotalNum)\n\t\treturn NULL;\n\treturn pFunctArray[i];\n}\n\nDWORD CSDSModule::DumpSDUDTTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer)\n{\n\tbool bArray=false;\n\tbool bFunctionPointer=false;\n\tbool bIsUnnamedUDT=false;\n\tDWORD PrevAccess;\n\tDWORD i,j;\n\tPSDTYPE_INFILE pSubType;\n\tPSDFUNCTIONITEM pFuncItem;\n\tPSDUDTDATAITEM pUdtData;\n\tchar* OrgName;\n\tPSDUDTBASECLASS pUdtBaseClassType;\n\tPSDUDTTYPE pUdtType = (PSDUDTTYPE)&SDTypeInfile[1];\n\tchar FuncName[0x400];\n\tint FuncNameLen = sizeof(FuncName)-1;\n\t//list<DWORD>::iterator FindOutputIT;\n\tOutBuffer.Empty();\n\n\tbIsUnnamedUDT=true;\n\tswitch(SDTypeInfile->Type) \n\t{\n\tcase SD_STRUCT:\n\t\tOutBuffer+=\"struct \";\n\t\tPrevAccess=CV_public;\n\t\tbreak;\n\tcase SD_CLASS:\n\t\tOutBuffer+=\"class \";\n\t\tPrevAccess=CV_private;\n\t\tbreak;\n\tcase SD_UNION:\n\t\tOutBuffer+=\"union \";\n\t\tPrevAccess=CV_public;\n\t\tbreak;\n\t}\n\tif(bIsUnnamedUDT==false)\n\t{\n\t\tOutBuffer+=SDTypeInfile->uName.Name;\n\t}\n\tOutBuffer+=\" \";\n\tif(pUdtType->BaseClassCounter)\n\t{\n\t\tOutBuffer+=\": \";\n\t\tfor(i = 0,j=0; i < pUdtType->BaseClassCounter;i++)\n\t\t{\n\n\t\t\tpSubType = GetTypeSymbol(pUdtType->pBaseClass.pBaseClassMember[i]);\n\t\t\tCODE_ASSERT(pSubType);\n\t\t\tpUdtBaseClassType = (PSDUDTBASECLASS)&pSubType[1];\n\t\t\tif(pUdtBaseClassType->bIsIndirectBaseClass)\n\t\t\t\tcontinue;\n\t\t\tif(j)\n\t\t\t{\n\t\t\t\tOutBuffer+=\",\";\n\t\t\t}\n\t\t\tif(pUdtBaseClassType->bIsVirtual)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"virtual \";\n\t\t\t}\n\t\t\tswitch(pUdtBaseClassType->Access)\n\t\t\t{\n\t\t\tcase CV_private:\n\t\t\t\tOutBuffer+=\"private \";\n\t\t\t\tbreak;\n\t\t\tcase CV_protected:\n\t\t\t\tOutBuffer+=\"protected \";\n\t\t\t\tbreak;\n\t\t\tcase CV_public:\n\t\t\t\tOutBuffer+=\"public \";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tOrgName = (char*)GetTypeNameByID(pUdtBaseClassType->TypeID);\n\t\t\tOutBuffer+=OrgName;\n\t\t\tj++;\n\t\t}\n\t}\n\tchar udtsize[50];\n\tTSPrintf(udtsize,\"/* sizeof %08x %d */\",SDTypeInfile->TypeSize,SDTypeInfile->TypeSize);\n\tOutBuffer+=udtsize;\n\tOutBuffer+=\"\\n{\\n\";\n\tif(pUdtType->FunctionCounter)\n\t{\n\t\tfor(i = 0; i < pUdtType->FunctionCounter;i++)\n\t\t{\n\t\t\tpFuncItem = GetSDFunctionByID(pUdtType->pFunction.pFunctionMember[i]);\n\t\t\tCODE_ASSERT(pFuncItem);\n\t\t\tbool bStatic = false;\n\t\t\tPSDTYPE_INFILE pSubType = GetTypeSymbol(pFuncItem->TypeID);\t\t\n\t\t\tif(PrevAccess!=pFuncItem->Access)\n\t\t\t{\n\t\t\t\tswitch(pFuncItem->Access)\n\t\t\t\t{\n\t\t\t\tcase CV_private:\n\t\t\t\t\tOutBuffer+=\"private:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_protected:\n\t\t\t\t\tOutBuffer+=\"protected:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_public:\n\t\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tPrevAccess=pFuncItem->Access;\n\t\t\t}\n\t\t\tCStrA pStrFuncName;\n\t\t\tGetUDTFunctionMemberName(pUdtType->pFunction.pFunctionMember[i],pStrFuncName);\n\t\t\tOutBuffer+=pStrFuncName;\n\t\t}\n\t}\n\tif(pUdtType->DataCounter)\n\t{\n\t\tswitch(SDTypeInfile->Type) \n\t\t{\n\t\tcase SD_STRUCT:\n\t\t\tif(PrevAccess!=CV_public)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t}\n\t\t\tPrevAccess=CV_public;\n\t\t\tbreak;\n\t\tcase SD_CLASS:\n\t\t\tPrevAccess=0xffffffff;\n\t\t\tbreak;\n\t\tcase SD_UNION:\n\t\t\tif(PrevAccess!=CV_public)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t}\n\t\t\tPrevAccess=CV_public;\n\t\t\tbreak;\n\t\t}\n\t\tCStrA DataName;\n\t\tfor(i = 0; i < pUdtType->DataCounter; i++)\n\t\t{\n\t\t\t\n\t\t\tpUdtData = GetDataSymbol(pUdtType->pData.pDataMember[i]);// m_DataTagVector[pUdtType->pData.pDataMember[i]];\n\t\t\tbIsUnnamedUDT=false;\n\t\t\tif(PrevAccess!=pUdtData->Access)\n\t\t\t{\n\t\t\t\tswitch(pUdtData->Access)\n\t\t\t\t{\n\t\t\t\tcase CV_private:\n\t\t\t\t\tOutBuffer+=\"private:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_protected:\n\t\t\t\t\tOutBuffer+=\"protected:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_public:\n\t\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tPrevAccess=pUdtData->Access;\n\t\t\t}\n\n\t\t\t{\n\t\t\t\tGetUDTDataMemberName(pUdtType->pData.pDataMember[i],DataName);\n\t\t\t\tOutBuffer+=DataName;\n\t\t\t}\n\n\t\t}\n\n\t}\n\tOutBuffer+=\"};\\n\";\n\treturn 0;\n}\nPSDFUNCTIONITEM CSDSModule::GetSDFunctionByID(IN DWORD Index)const\n{\n\tif(Index>=m_SDSymbolFile->FunctionSymbolNum)\n\t\treturn NULL;\n\treturn m_SDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTablePointer[Index];\n}\nchar* CSDSModule::GetUDTFunctionMemberName(DWORD FuncID,OUT CStrA& NameBuffer)\n{\n\tchar FuncName[0x400];\n\tPSDFUNCTIONITEM pFuncItem;\n\tint FuncNameLen;\n\tpFuncItem = GetSDFunctionByID(FuncID);\n\tCODE_ASSERT(pFuncItem);\n\tbool bStatic = false;\n\tPSDFUNCTIONTYPE pFunctionType;\n\tPSDTYPE_INFILE pSubType = GetTypeSymbol(pFuncItem->TypeID);\t\t\n\tNameBuffer.Empty();\n\tFuncNameLen = sizeof(FuncName)-1;\n\tGetFunctionName(pFuncItem,FuncName,&FuncNameLen);\n\tif(pSubType->Type==SD_FUNCTIONTYPE)\n\t{\n\t\tpFunctionType = (PSDFUNCTIONTYPE)&pSubType[1];\n\t\tif(pFunctionType->CallingConvention==CV_CALL_NEAR_STD)\n\t\t\tbStatic=true;\n\t}\n\tif(bStatic)\n\t{\n\t\tNameBuffer+=\"\\t\\tstatic \";\n\t\tNameBuffer+=FuncName;\n\t}\n\telse\n\t{\n\t\tNameBuffer+=\"\\t\\t\";\n\t\tNameBuffer+=FuncName;\n\t}\n\tNameBuffer+=\";\";\n\tif(pFuncItem->IsVirtual)\n\t{\n\t\tchar OffsetBuf[50];\n\t\tTSPrintf(OffsetBuf,\"/* VTable offset %08x */\",pFuncItem->VirtualBaseOffset);\n\t\tNameBuffer+=OffsetBuf;\n\t}\n\tNameBuffer+=\"\\n\";\n\treturn NULL;\n}\nchar* CSDSModule::GetUDTDataMemberName(IN DWORD DataID,OUT CStrA& NameBuffer)\n{\n#define MAX_LENGTH_NAME (0X400)\n\tchar ArrayTypeName[20];\n\tCStrA DataName;\n\tbool bArray=false;\n\tchar NullChar=0;\n\tchar TypeName[20];\n\tchar* CallConvention;\n\tchar* OrgDataName;\n\tchar *FuncName;\n\tint FuncNameLen;\n\tPSDUDTDATAITEM pUdtData;\n\tPSDTYPE_INFILE pSubType;\n\tbool bFunctionPointer;\n\tbool bUnnamedUDT=false;\n\tNameBuffer.Empty();\n\tFuncNameLen = MAX_LENGTH_NAME-1;\n\tFuncName=new char[MAX_LENGTH_NAME];\n\tpUdtData = GetDataSymbol(DataID);\n\tOrgDataName = pUdtData->uName.Name;\n\tGetSDSymbolName(pUdtData->TypeId,FuncName,&FuncNameLen);\n\tDataName.Empty();\n\tDataName=FuncName;\n\tif(pUdtData->Location == LocIsThisRel)\n\t{\n\t\tNameBuffer.Format(\"/* off 0x%04x */\\t\",pUdtData->u.LOCISTHISREL.Offset);\n\t}\n\tif(pUdtData->Location == LocIsStatic)\n\t\tNameBuffer+=\"static \";\n\tbFunctionPointer=false;\n\tCallConvention=NULL;\n\tpSubType = GetTypeSymbol(pUdtData->TypeId);\n\tTypeName[0]=0;\n\tArrayTypeName[0]=0;\n\tbArray=false;\n\tif(pSubType)\n\t{\n\t\tswitch(pSubType->Type) \n\t\t{\n\t\tcase SD_POINTER:\n\t\t\t{\n\t\t\t\tPSDPOINTERTYPE pSDPointer=(PSDPOINTERTYPE)&pSubType[1];\n\t\t\t\tPSDFUNCTIONTYPE pFunctionProc;\n\t\t\t\tpSubType = GetTypeSymbol(pSDPointer->TypeID);\n\t\t\t\tif(pSubType->Type==SD_FUNCTIONTYPE)\n\t\t\t\t{\n\t\t\t\t\tbFunctionPointer=true;\n\t\t\t\t\tpFunctionProc = (PSDFUNCTIONTYPE)&pSubType[1];\n\t\t\t\t\tCallConvention = GetCallConventionName(pFunctionProc->CallingConvention);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SD_ARRAY:\n\t\t\t{\t\n\t\t\t\tPSDARRAYTYPE pSDArrayType = (PSDARRAYTYPE)&pSubType[1];\n\t\t\t\tbUnnamedUDT = IsUnnamedUDT(pSDArrayType->TypeIDElement);\n\t\t\t\tpSubType= GetTypeSymbol(pSDArrayType->TypeIDElement);\n\t\t\t\tbArray=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tbUnnamedUDT = IsUnnamedUDT(pSubType->Id);\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(bUnnamedUDT)\n\t{\n\t\tCStrA OutBuffer;\n\t\tOutBuffer.Empty();\n\t\tint i;\n\t\tDumpSDUDTTypeToHeaderFile(pSubType,DataName);\n\t\tchar* pString = DataName;\n\t\tchar* pBegin = DataName;\n\t\tOutBuffer+=\"\\n\";\n\t\tfor( i = 0;pString[i];i++)\n\t\t\tif(pString[i]=='\\n')\n\t\t\t{\n\t\t\t\tOutBuffer+=\"\\t\";\n\t\t\t\tpString[i]=0;\n\t\t\t\tif(pString[i+1])\n\t\t\t\t{\n\t\t\t\t\tOutBuffer+=pBegin;\n\t\t\t\t\tOutBuffer+=\"\\n\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpString[i-1]=0;\n\t\t\t\t\tOutBuffer+=pBegin;\n\t\t\t\t}\n\t\t\t\tpBegin=&pString[i+1];\n\t\t\t}\n\t\t\tDataName=OutBuffer;\n\t\t\tif(bArray)\n\t\t\t{\n\t\t\t\tDataName+=TStrChr(FuncName,'[');\n\t\t\t}\n\t\t\tif(DataName.Length()>MAX_LENGTH_NAME)\n\t\t\t{\n\t\t\t\tdelete []FuncName;\n\t\t\t\tFuncName = new char[DataName.Length()+1];\n\n\t\t\t}\n\t\t\tTStrCpy(FuncName,(char*)DataName);\n\t}\n\tif(bFunctionPointer)\n\t{\n\t\tchar * pFunc =GetFuncParamBegin(FuncName);\n\t\tif(pFunc)\n\t\t{\n\t\t\tpFunc--;\n\t\t\t*pFunc=0;\n\t\t\tpFunc++;\n\t\t\tNameBuffer+=FuncName;\n\t\t\tNameBuffer+=pUdtData->uName.Name;\n\t\t\tNameBuffer+=\")\";\n\t\t\tNameBuffer+=pFunc;\n\t\t}\n\t}else if(bArray){\n\t\tchar* pIndexBegin = TStrChr(FuncName,'[');\n\t\tif(pIndexBegin)\n\t\t{\n\t\t\t*pIndexBegin=0;\n\t\t\tpIndexBegin++;\n\t\t\tNameBuffer+=FuncName;\n\t\t\tNameBuffer+=\" \";\n\t\t\tNameBuffer+=pUdtData->uName.Name;\n\t\t\tNameBuffer+=\"[\";\n\t\t\tNameBuffer+=pIndexBegin;\n\t\t}\n\t}else\n\t{\n\t\tNameBuffer+=FuncName;\n\t\tNameBuffer+=\"\\t\";\n\t\tNameBuffer+=pUdtData->uName.Name;\n\n\t\tif(pUdtData->Location == LocIsBitField)\n\t\t{\n\t\t\tNameBuffer+=\":\";\n\t\t\tchar buf[20];\n\t\t\tTSPrintf(buf,\"%d\",pUdtData->u.LOCISBITFIELD.Size);\n\t\t\tNameBuffer+=buf;\n\t\t}\n\t}\n\tNameBuffer+=\";\\n\";\n\tdelete []FuncName;\n\treturn NULL;\n}\nSDCALLCONVENTIONPAIR CSDSModule::m_CallConvention[24]=\n{\n\t{0xffffffff,\" \"},\n\t{CV_CALL_NEAR_C,\" __cdecl \"}, \n\t{CV_CALL_NEAR_FAST,\" __fastcall \"}, \n\t{CV_CALL_NEAR_STD,\" __stdcall \"},    \n\t{CV_CALL_NEAR_SYS,\" __syscall \"},    \n\t{CV_CALL_THISCALL,\" __thiscall \"},    \n\t{CV_CALL_MIPSCALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_GENERIC,\" Unknown calling convention in function \"},    \n\t{CV_CALL_ALPHACALL,\" Unknown calling convention in function \"},   \n\t{CV_CALL_PPCCALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_SHCALL,\" Unknown calling convention in function \"},      \n\t{CV_CALL_ARMCALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_AM33CALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_TRICALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_SH5CALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_M32RCALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_RESERVED,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_C,\" Unknown calling convention in function \"},       \n\t{CV_CALL_NEAR_PASCAL,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_PASCAL,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_FAST,\" Unknown calling convention in function \"},  \n\t{CV_CALL_SKIPPED,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_STD,\" Unknown calling convention in function \"}, \n\t{CV_CALL_FAR_SYS,\" Unknown calling convention in function \"},     \n};\nchar* CSDSModule::GetCallConventionName(DWORD dwType)\n{\n\treturn m_CallConvention[0].Name;\n\tint i;\n\tif(dwType>=sizeof(m_CallConvention)/sizeof(m_CallConvention[0]))\n\t\treturn m_CallConvention[0].Name;\n\tfor(i = 0; i < sizeof(m_CallConvention)/sizeof(m_CallConvention[0]);i++)\n\t\tif(m_CallConvention[i].Type==dwType)\n\t\t\treturn m_CallConvention[i].Name;\n\treturn m_CallConvention[0].Name;\n}\n\nbool CSDSModule::IsFunctionPointer(DWORD dwTypeID)\n{\n\tPSDTYPE_INFILE pType = GetTypeSymbol(dwTypeID);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type!=SD_POINTER)\n\t\treturn false;\n\treturn IsFunctionPointer(pType);\n}\nbool CSDSModule::IsFunctionPointer(PSDTYPE pType)\n{\n\treturn IsFunctionPointer(&pType->SDTypeInfile);\n}\nbool CSDSModule::IsFunctionPointer(PSDTYPE_INFILE SDTypeInfile)\n{\n\tPSDTYPE_INFILE pSubType;\n\tif(SDTypeInfile->Type!=SD_POINTER)\n\t\treturn false;\n\tPSDPOINTERTYPE pPointerType = (PSDPOINTERTYPE)&SDTypeInfile[1];\n\tpSubType = GetTypeSymbol(pPointerType->TypeID);\n\tif(pSubType==NULL)\n\t\treturn false;\n\treturn pSubType->Type==SD_FUNCTIONTYPE;\n}\nchar* CSDSModule::GetFuncParamBegin(char* FunctionPointerName)\n{\n\tint i;\n\tchar* Name;\n\tint Sum = 0;\n\tint Len = TStrLen(FunctionPointerName);\n\tName = TStrRChr(FunctionPointerName,')');\n\tLen =Len - TStrLen(Name);\n\tfor(i = Len;i>=0;i--)\n\t{\n\t\tif(FunctionPointerName[i]==')')\n\t\t\tSum++;\n\t\telse\n\t\t\tif(FunctionPointerName[i]=='(')\n\t\t\t\tSum--;\n\t\tif(Sum==0)\n\t\t\tbreak;\n\t}\n\treturn &FunctionPointerName[i];\n}\nchar* CSDSModule::GetFunctionName(IN PSDFUNCTIONITEM pFuncItem,OUT char* NameBuffer,INOUT int* BufferLength)\n{\t\t\t\n\tint dwCurrentLen=0;\n\tPSDTYPE_INFILE pSubType=NULL;\n\tchar pVirtual[]=\"virtual \";\n\tint len;\n\tchar pFuncEnd[5]=\")\";\n\tchar* CallConventionName;\n\n\tNameBuffer[0]=0;\n\tif(pFuncItem->IsVirtual)\n\t{\n\t\tdwCurrentLen = TStrLen(pVirtual);\n\t\tif(*BufferLength >dwCurrentLen)\n\t\t\tTStrCpy(NameBuffer,pVirtual);\n\t\t(*BufferLength) = (*BufferLength) - dwCurrentLen;\n\t}\n\tif(pFuncItem->TypeIDReturnValue)\n\t\tGetSDSymbolName(pFuncItem->TypeIDReturnValue,&NameBuffer[dwCurrentLen],BufferLength);\n\tif(pFuncItem->TypeID)\n\t{\n\t\tpSubType=GetTypeSymbol(pFuncItem->TypeID);\n\t\tif(pSubType->Type==SD_FUNCTIONTYPE)\n\t\t{\n\t\t\tSDFUNCTIONTYPE* pFunctionType = (SDFUNCTIONTYPE*)&pSubType[1];\n\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\tdwCurrentLen = TStrLen(CallConventionName);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,CallConventionName);\n\t\t\t*BufferLength=*BufferLength-dwCurrentLen;\n\t\t}\n\t}\n\n\n\tdwCurrentLen = TStrLen(pFuncItem->uName.Name);\n\tif(*BufferLength > dwCurrentLen)\n\t\tTStrCat(NameBuffer,pFuncItem->uName.Name);\n\t(*BufferLength) = (*BufferLength) - dwCurrentLen;\n\tif(*BufferLength > 1)\n\t\tTStrCat(NameBuffer,\"(\");\n\t(*BufferLength)--;\n\n\tfor(DWORD i = 0; i < pFuncItem->DataCounter; i++)\n\t{\n\t\tSDUDTDATAITEM* pUdtDataItem= GetDataSymbol(pFuncItem->pData.pDataMember[i]);\n\t\tif(pUdtDataItem->KindData==DataIsParam)\n\t\t{\n\t\t\tlen = TStrLen(NameBuffer);\n\t\t\tGetSDSymbolName(pUdtDataItem->TypeId,&NameBuffer[len],BufferLength);\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\" \");\n\t\t\t(*BufferLength)--;\n\t\t\tdwCurrentLen = TStrLen(pUdtDataItem->uName.Name);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,pUdtDataItem->uName.Name);\n\t\t\t(*BufferLength)=(*BufferLength)-dwCurrentLen;\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\",\");\n\t\t\t(*BufferLength)--;\n\t\t}\n\t}\n\tlen = TStrLen(NameBuffer);\n\tif(NameBuffer[len-1]==',')\n\t\tNameBuffer[len-1]=0;\n\tif(pFuncItem->IsPure)\n\t\tTStrCpy(pFuncEnd,\")=0\");\n\tdwCurrentLen = TStrLen(pFuncEnd);\n\tif(*BufferLength>dwCurrentLen)\n\t\tTStrCat(NameBuffer,pFuncEnd);\n\t(*BufferLength)=(*BufferLength)-dwCurrentLen;\n\treturn NameBuffer;\n}\nbool CSDSModule::IsUnnamedUDT(DWORD dwTypeID)\n{\n\tPSDTYPE_INFILE pType = GetTypeSymbol(dwTypeID);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type==SD_CLASS || pType->Type==SD_STRUCT || pType->Type==SD_UNION)\n\t\tif(((PSDCLASSTYPE)&pType[1])->IsUnnamed)\n\t\t\treturn true;\n\treturn false;\n}\n\nchar* CSDSModule::GetSDSymbolName(IN DWORD TypeID,OUT char *NameBuffer,INOUT int *BufferLength)\n{\n\treturn GetSDSymbolName(GetTypeSymbol(TypeID),NameBuffer,BufferLength);\n}\nchar* CSDSModule::GetSDSymbolName(IN PSDTYPE_INFILE SDTypeInfile,OUT char *NameBuffer,INOUT int *BufferLength)\n{\n\tSDTYPE_INFILE *SelfType;\n\tchar TypeName[50];\n\tint dwOrgBufferLen=*BufferLength;\n\tint dwCurrentLen;\n\tint len=0;\t\n\tchar* CallConventionName;\n\tif(NameBuffer)\n\t\tNameBuffer[0]=0;\n\tif(SDTypeInfile==NULL)\n\t\treturn NameBuffer;\t\n\tswitch(SDTypeInfile->Type) \n\t{\n\tcase SD_FUNCTIONTYPE:\n\t\t{\t\n\t\t\tSDFUNCTIONTYPE* pFunctionType= (SDFUNCTIONTYPE*)&SDTypeInfile[1];\n\t\t\tGetSDSymbolName(pFunctionType->TypeIDReturnValue,NameBuffer,BufferLength);\n\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\tdwCurrentLen = TStrLen(CallConventionName);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,CallConventionName);\n\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\"(\");\n\t\t\t(*BufferLength)--;\n\t\t\tlen = TStrLen(NameBuffer);\n\t\t\tfor(DWORD  i = 0; i< pFunctionType->ArgsCount;i++)\n\t\t\t{\n\t\t\t\tlen = TStrLen(NameBuffer);\n\t\t\t\tGetSDSymbolName(pFunctionType->TypeIDArgs[i],&NameBuffer[len],BufferLength);\n\t\t\t\tlen = TStrLen(NameBuffer);\n\t\t\t\tif(i!=pFunctionType->ArgsCount-1)\n\t\t\t\t{\n\t\t\t\t\tif(*BufferLength>1)\n\t\t\t\t\t{\n\t\t\t\t\t\tTStrCat(&NameBuffer[len],\",\");\n\t\t\t\t\t\tlen++;\n\t\t\t\t\t}\n\t\t\t\t\t(*BufferLength)--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(*BufferLength>1)\n\t\t\t{\n\t\t\t\tTStrCat(&NameBuffer[len],\")\");\n\t\t\t}\n\t\t\t(*BufferLength)--;\n\t\t}\n\t\treturn NameBuffer;\t\t\n\tcase SD_POINTER:\n\t\t{\t\t\n\t\t\tSDPOINTERTYPE* pPointerType;\n\t\t\tint MaxBufferLen=*BufferLength;\n\t\t\tCStrA TmpBuf;\n\n\t\t\tpPointerType = (SDPOINTERTYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetTypeSymbol(pPointerType->TypeID);\n\t\t\tGetSDSymbolName(pPointerType->TypeID,NameBuffer,BufferLength);\n\t\t\tdwCurrentLen = pPointerType->PointerDepth;\n\t\t\tTmpBuf.Fill('*',dwCurrentLen);\n\t\t\tif(SelfType->Type==SD_FUNCTIONTYPE)\n\t\t\t\tdwCurrentLen+=2;\n\t\t\tif(*BufferLength<=dwCurrentLen)\n\t\t\t{\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t\treturn NameBuffer;\n\t\t\t}\n\n\t\t\tif(SelfType->Type==SD_FUNCTIONTYPE)\n\t\t\t{\t\t\t\t\t\n\t\t\t\tPSDFUNCTIONTYPE pFunctionType = (PSDFUNCTIONTYPE)&SelfType[1];\n\t\t\t\tchar *NewName;\n\t\t\t\tchar* pCallConvention;\n\t\t\t\tDWORD len;\n\t\t\t\tchar NullChar=0;\n\t\t\t\tchar * pFunc;\n\t\t\t\tNewName = new char[MaxBufferLen];\n\t\t\t\tTStrCpy(NewName,NameBuffer);\n\t\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\t\tpCallConvention = TStrStr(NameBuffer,CallConventionName);\n\t\t\t\tpFunc =GetFuncParamBegin(NewName);\n\t\t\t\tif(pCallConvention==NULL)\n\t\t\t\t{\n\t\t\t\t\tpCallConvention = &NullChar;\n\t\t\t\t\tlen = (*(DWORD*)&pFunc-*(DWORD*)&NewName);\n\t\t\t\t}else\n\t\t\t\t\tlen = (*(DWORD*)&pCallConvention-*(DWORD*)&NameBuffer);\n\t\t\t\tNameBuffer[len]='(';\n\t\t\t\tlen++;\n\t\t\t\tlen+=TStrCpy(&NameBuffer[len],CallConventionName);\n\t\t\t\tTStrCpy(&NameBuffer[len],(char*)TmpBuf);\n\t\t\t\tTStrCat(NameBuffer,\")\");\n\t\t\t\tTStrCat(NameBuffer,pFunc);\n\t\t\t\tdelete NewName;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCat(NameBuffer,(char*)TmpBuf);\n\t\t\t}\n\n\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\treturn NameBuffer;\n\t\t}\t\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\t{\t\t\n\t\t\tSDREFERENCETYPE*pReferenceType;\n\t\t\tpReferenceType = (SDREFERENCETYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetTypeSymbol(pReferenceType->TypeID);\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\"&\");\n\t\t\t*BufferLength--;\n\t\t}\t\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\t{\n\t\t\tSDARRAYTYPE* pArrayType;\n\t\t\tbool bFunctionPointer=false;\n\t\t\tchar DigBuf[30];\n\n\t\t\tCStrA StrBufA;\n\t\t\tpArrayType = (SDARRAYTYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetTypeSymbol(pArrayType->TypeIDElement);\n\t\t\tif(SelfType==NULL)\n\t\t\t\treturn NameBuffer;\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tbFunctionPointer=IsFunctionPointer(SelfType);\n\t\t\tdwCurrentLen=0;\n\t\t\tfor(DWORD  i = 0; i < pArrayType->DimensionsSize; i++)\n\t\t\t{\n\t\t\t\tdwCurrentLen += TSPrintf(DigBuf,\"%d\",pArrayType->Dimensions[i].Size);\n\t\t\t\tdwCurrentLen+=2;\n\t\t\t\tStrBufA+=\"[\";\n\t\t\t\tStrBufA+=DigBuf;\n\t\t\t\tStrBufA+=\"]\";\n\t\t\t}\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t{\n\t\t\t\tif(bFunctionPointer)\n\t\t\t\t{\n\t\t\t\t\tCStrA pFuncParam;\n\t\t\t\t\tchar* pFunc = GetFuncParamBegin(NameBuffer);\n\t\t\t\t\tpFuncParam = pFunc;\n\t\t\t\t\tpFunc--;\n\t\t\t\t\tpFunc[0]=0;\n\t\t\t\t\tTStrCat(NameBuffer,(char*)StrBufA);\n\t\t\t\t\tTStrCat(NameBuffer,\")\");\n\t\t\t\t\tTStrCat(NameBuffer,(char*)pFuncParam);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tTStrCat(NameBuffer,(char*)StrBufA);\n\t\t\t}\n\n\t\t\t*BufferLength = *BufferLength-dwCurrentLen;\n\t\t\treturn NameBuffer;\n\t\t}\n\t\tbreak;\n\tcase SD_BASECLASS:\n\t\t{\n\t\t\tSDUDTBASECLASS* pUdtBaseClassType= (SDUDTBASECLASS*)&SDTypeInfile[1];\n\t\t\treturn \tGetSDSymbolName(pUdtBaseClassType->TypeID,NameBuffer,BufferLength);\n\t\t}\n\tcase SD_ENUMERATION:\n\t\tTStrCpy(TypeName,\"enum \");\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\tgoto local_002;\n\tcase SD_CLASS:\n\t\t/*\n\t\tTStrCpy(TypeName,\"\");\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\t*/\n\t\tgoto local_002;\n\tcase SD_STRUCT:\n\t\tTStrCpy(TypeName,\"struct \");\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\tgoto local_002;\n\tcase SD_UNION:\n\t\tTStrCpy(TypeName,\"union \");\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\tdefault:\nlocal_002:\n\t\t{\n\t\t\tif(SDTypeInfile->uName.Name)\n\t\t\t{\n\t\t\t\tdwCurrentLen = TStrLen(SDTypeInfile->uName.Name);\n\t\t\t\tif(dwCurrentLen<*BufferLength)\n\t\t\t\t\tTStrCpy(&NameBuffer[len],SDTypeInfile->uName.Name);\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdwCurrentLen = TStrLen(\"no name\");\n\t\t\t\tif(dwCurrentLen<*BufferLength)\n\t\t\t\t\tTStrCpy(&NameBuffer[len],\"no name\");\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t}\n\t\t}\n\t}\n\treturn NameBuffer;\n}\nDWORD CSDSModule::DumpSDTypedefTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer)\n{\n\tbool bFunctionPointer=false;\n\tchar OrgName[0x400];\n\tint OrgNameLen=sizeof(OrgName)-1;\n\tchar TypeName[20]=\"\\0\";\n\tPSDTYPEDEFTYPE pSDTypeDef=(PSDTYPEDEFTYPE)&SDTypeInfile[1];\n\tPSDTYPE_INFILE pSubType = GetTypeSymbol(pSDTypeDef->TypeID);\n\tPSDPOINTERTYPE pSDPointer;\n\tOutBuffer.Empty();\n\tswitch(pSubType->Type)\n\t{\n\tcase SD_POINTER:\n\t\tpSDPointer = (PSDPOINTERTYPE)&pSubType[1];\n\t\tpSubType = GetTypeSymbol(pSDPointer->TypeID);\n\t\tif(pSubType->Type == SD_FUNCTIONTYPE)\n\t\t\tbFunctionPointer=true;\n\t\tbreak;\n\t}\n\tGetSDSymbolName(pSDTypeDef->TypeID,OrgName,&OrgNameLen);\n\tif(bFunctionPointer)\n\t{\n\t\tchar * pFunc =GetFuncParamBegin(OrgName);\n\t\tif(pFunc)\n\t\t{\n\t\t\tpFunc--;\n\t\t\t*pFunc=0;\n\t\t\tpFunc++;\n\t\t\tOutBuffer+=\"typedef \";\n\t\t\tOutBuffer+=OrgName;\n\t\t\tOutBuffer+=SDTypeInfile->uName.Name;\n\t\t\tOutBuffer+=\")\";\n\t\t\tOutBuffer+=pFunc;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOutBuffer+=\"typedef \";\n\t\t\tOutBuffer+=TypeName;\n\t\t\tOutBuffer+=\" \";\n\t\t\tOutBuffer+=SDTypeInfile->uName.Name;\n\t\t}\n\t}\n\telse\n\t{\n\t\tOutBuffer+=\"typedef \";\n\t\tOutBuffer+=TypeName;\n\t\tOutBuffer+=OrgName;\n\t\tOutBuffer+=\" \";\n\t\tOutBuffer+=SDTypeInfile->uName.Name;\n\t}\n\n\treturn 0;\n}\n\nDWORD CSDSModule::DumpSDEnumTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile ,CStrA &OutBuffer)\n{\n\tchar WriteBuffer[50];\n\tSDENUMERATIONTYPE* pEnumationType;\n\tDWORD WriteByteSize=0;\n\tOutBuffer.Empty();\n\tOutBuffer+=\"enum \";\n\tOutBuffer+=SDTypeInfile->uName.Name;\n\tOutBuffer+=\"{\";\n\tpEnumationType = (SDENUMERATIONTYPE*)&SDTypeInfile[1];\n\tfor(unsigned int i = 0; i < pEnumationType->DataCount; i++)\t\n\t{\n\t\tOutBuffer+=\"\\t\";\n\t\tOutBuffer+=pEnumationType->EnumerationDataMember[i].u.Name;\n\t\tOutBuffer+=\"\\t=\";\n\t\tTSPrintf(WriteBuffer,\"0x%08x\\t,//%d\",pEnumationType->EnumerationDataMember[i].Value,pEnumationType->EnumerationDataMember[i].Value);\n\t\tOutBuffer+=WriteBuffer;\n\t}\n\tOutBuffer+=\"};\";\n\treturn WriteByteSize;\n}\nPSDFUNCTIONITEM CSDSModule::GetUdtClassFuncMemberByName(const char* Name,PSDTYPE_INFILE pType,bool bFullName)const\n{\n\tDWORD i;\n\tDWORD UdtNameLen=0;\n\tPSDUDTTYPE pUdtType;\n\tPSDFUNCTIONITEM pFuncItem;\n\tDWORD * pFuncIdArray;\n\tif(pType==NULL&&(pType->Type!=SD_STRUCT&&pType->Type!=SD_UNION&&pType->Type!=SD_CLASS))\n\t\treturn NULL;\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tpFuncIdArray = pUdtType->pFunction.pFunctionMember;\n\tif(bFullName==false)\n\t\tUdtNameLen = TStrLen(pType->uName.Name)+2;\n\tfor(i = 0; i < pUdtType->FunctionCounter;i++)\n\t{\n\t\tpFuncItem=GetFunctionSymbol(pFuncIdArray[i]);\n\t\tif(TStrCmp(&pFuncItem->uName.Name[UdtNameLen],Name)==0)\n\t\t\treturn pFuncItem;\n\t}\n\tpFuncIdArray = pUdtType->pBaseClass.pBaseClassMember;\n\tfor(i = 0; i < pUdtType->BaseClassCounter;i++)\n\t{\n\t\tpType=GetTypeSymbol(pFuncIdArray[i]);\n\t\tPSDUDTBASECLASS pBaseClass=(PSDUDTBASECLASS)&pType[1];\n\t\tpFuncItem = GetUdtClassFuncMemberByName(Name,GetTypeSymbol(pBaseClass->TypeID),bFullName);\n\t\tif(pFuncItem)\n\t\t\treturn pFuncItem;\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CSDSModule::GetUdtClassDataMemberByName(const char *Name,PSDTYPE_INFILE pType,DWORD* ThisOffset)const\n{\n\tDWORD i;\n\tCSDSModule pSDSModule;\n\tPSDUDTDATAITEM pDataItem;\n\tPSDUDTTYPE pUdtType;\n\tPSDUDTBASECLASS pBaseClass;\t\n\tif(pType==NULL||(pType->Type!=SD_STRUCT&&pType->Type!=SD_UNION&&pType->Type!=SD_CLASS))\n\t\treturn NULL;\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tDWORD * pDataIdArray = pUdtType->pData.pDataMember;\n\t\n\tfor(i = 0; i < pUdtType->DataCounter; i++)\n\t{\n\t\tpDataItem = GetDataSymbol(pDataIdArray[i]);\n\t\tif(TStrCmp(pDataItem->uName.Name,Name)==0)\n\t\t{\n\t\t\tif(ThisOffset)\n\t\t\t{\n\t\t\t\tif(pDataItem->Location==LocIsThisRel)\n\t\t\t\t\t*ThisOffset+=pDataItem->u.LOCISTHISREL.Offset;\n\t\t\t\telse\n\t\t\t\t\t*ThisOffset=pDataItem->u.LOCISSTATIC.Rva;\n\t\t\t}\n\t\t\treturn pDataItem;\n\t\t}\n\t}\n\tDWORD * pBaseClassIdArray= pUdtType->pBaseClass.pBaseClassMember;\n\tfor(i = 0; i < pUdtType->BaseClassCounter; i++)\n\t{\n\t\tpType = GetTypeSymbol(pBaseClassIdArray[i]);\n\t\tpBaseClass = (PSDUDTBASECLASS)&pType[1];\n\t\tpType = GetTypeSymbol(pBaseClass->TypeID);\n\t\tpDataItem = GetUdtClassDataMemberByName(Name,pType,ThisOffset);\n\t\tif(pDataItem)\n\t\t{\n\t\t\tif(ThisOffset)\n\t\t\t{\n\t\t\t\tif(pDataItem->Location==LocIsStatic)\n\t\t\t\t\t*ThisOffset=pDataItem->u.LOCISSTATIC.Rva;\n\t\t\t\tif(pDataItem->Location==LocIsThisRel)\n\t\t\t\t\t*ThisOffset+=pBaseClass->Offset;\n\t\t\t}\n\t\t\treturn pDataItem;\n\t\t}\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolByString(char* pStr,DWORD FileId,DWORD LineNum,bool* IsFunc,DWORD* RetOffset)const\n{\n\treturn GetDataSymbolByString (pStr,GetFunctionByLineNumber(FileId,LineNum),IsFunc,RetOffset);\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolByString(char* pStr,PSDFUNCTIONITEM pCurrentFunc,bool* IsFunc,DWORD* RetOffset)const\n{\n\tDWORD Len,i;\n\tchar* pBegin;\n\tPSDTYPE_INFILE pType=NULL;\n\tPSDFUNCTIONITEM pFuncItem;\n\tbool First=true;\n\tPSDUDTDATAITEM pDataItem;\n\tPSDPOINTERTYPE pPointerType;\n\tPSDREFERENCETYPE pReference;\n\tif(RetOffset)\n\t\t*RetOffset=0;\n\tif(IsFunc)\n\t\t*IsFunc=false;\n\tif(pCurrentFunc==NULL)\n\t\treturn NULL;\n\tLen = TStrLen(pStr);\n\tfor(i = 0; i < Len; i++)\n\t{\n\t\tif(pStr[i]=='.')\n\t\t{\n\t\t\tpStr[i]=0;\n\t\t\ti++;\n\t\t\tbreak;\n\t\t}\n\t\telse if(pStr[i]=='-')\n\t\t{\n\t\t\tpStr[i]=0;\n\t\t\ti+=2;\n\t\t\tbreak;\n\t\t}\n\t}\n\tpDataItem = GetDataSymbolInFunctionByName(pStr,pCurrentFunc);\n\tif(pDataItem==NULL)\n\t{\n\t\tif(pCurrentFunc->TypeIDParentUDT)\n\t\t{\n\t\t\tpDataItem = GetUdtClassDataMemberByName(pStr,GetTypeSymbol(pCurrentFunc->TypeIDParentUDT));\n\t\t}\n\t\tif(pDataItem==NULL)\n\t\t{\n\t\t\tpDataItem = GetDataSymbolByNameAndKind(pStr,DataIsGlobal);\n\t\t\tif(pDataItem==NULL)\n\t\t\t\treturn NULL;\n\t\t\tif(RetOffset)\n\t\t\t{\n\t\t\t\tif(pDataItem->Location==LocIsStatic)\n\t\t\t\t\t*RetOffset=pDataItem->u.LOCISSTATIC.Rva;\n\t\t\t}\n\t\t}\n\t}\n\t\n\tif(pDataItem->TypeId==0)\n\t{\n\t\tif(i!=Len)\n\t\t\treturn NULL;\n\t\tpFuncItem = GetFunctionSymbolByName(pStr);\n\t\tif(pFuncItem)\n\t\t\tif(IsFunc)\n\t\t\t\t*IsFunc=true;\n\t\treturn (PSDUDTDATAITEM)pFuncItem;\n\t}\n\tif(i==Len)\n\t\treturn pDataItem;\n\tpType = GetTypeSymbol(pDataItem->TypeId);\n\tif(pType->Type==SD_POINTER)\n\t{\n\t\tpPointerType =(PSDPOINTERTYPE) &pType[1];\n\t\tpType =GetTypeSymbol(pPointerType->TypeID);\n\t}\n\tif(pType->Type==SD_REFERENCE)\n\t{\n\t\tpReference =(PSDREFERENCETYPE) &pType[1];\n\t\tpType =GetTypeSymbol(pReference->TypeID);\n\t}\n\tif(pType==NULL|| (pType->Type!=SD_UNION&&pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT))\n\t\treturn NULL;\n\tpBegin = &pStr[i];\n\tpDataItem=NULL;\n\tfor(;i<Len;i++)\n\t{\n\t\tif(pStr[i]=='.')\n\t\t{\n\t\t\tpStr[i]=0;\n\t\t\tpDataItem = GetUdtClassDataMemberByName(pBegin,pType,RetOffset);\n\t\t\tif(pDataItem==NULL)\n\t\t\t{\n\t\t\t\tpFuncItem = GetUdtClassFuncMemberByName(pBegin,pType);\n\t\t\t\tif(pFuncItem)\n\t\t\t\t\tif(IsFunc)\n\t\t\t\t\t\t*IsFunc=true;\n\t\t\t\treturn (PSDUDTDATAITEM)pFuncItem;\n\t\t\t}\n\t\t\ti++;\n\t\t\tif(i==Len)\n\t\t\t\treturn pDataItem;\n\t\t\tpType = GetTypeSymbol(pDataItem->TypeId);\n\t\t\tpBegin=&pStr[i];\n\t\t\tif(pType->Type==SD_REFERENCE)\n\t\t\t{\n\t\t\t\tpReference =(PSDREFERENCETYPE) &pType[1];\n\t\t\t\tpType =GetTypeSymbol(pReference->TypeID);\n\t\t\t}\n\t\t\tif(pType==NULL|| (pType->Type!=SD_UNION&&pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT))\n\t\t\t\treturn NULL;\n\t\t}\n\t\telse if(pStr[i]=='-')\n\t\t{\n\t\t\tpStr[i]=0;\n\t\t\tpDataItem = GetUdtClassDataMemberByName(pBegin,pType,RetOffset);\n\t\t\tif(pDataItem==NULL)\n\t\t\t{\n\t\t\t\tpFuncItem = GetUdtClassFuncMemberByName(pBegin,pType);\n\t\t\t\tif(pFuncItem)\n\t\t\t\tif(IsFunc)\n\t\t\t\t\t*IsFunc=true;\n\t\t\t\treturn (PSDUDTDATAITEM)pFuncItem;\n\t\t\t}\n\t\t\ti+=2;\n\t\t\tif(i==Len)\n\t\t\t\treturn pDataItem;\n\t\t\tpType = GetTypeSymbol(pDataItem->TypeId);\n\t\t\tpBegin=&pStr[i];\n\t\t\tif(pType->Type==SD_POINTER)\n\t\t\t{\n\t\t\t\tpPointerType =(PSDPOINTERTYPE) &pType[1];\n\t\t\t\tpType =GetTypeSymbol(pPointerType->TypeID);\n\t\t\t}\n\t\t\tif(pType==NULL|| (pType->Type!=SD_UNION&&pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT))\n\t\t\t\treturn NULL;\n\t\t}\n\t}\n\tpDataItem=GetUdtClassDataMemberByName(pBegin,pType,RetOffset);\n\tif(pDataItem==NULL)\n\t{\n\t\tpFuncItem = GetUdtClassFuncMemberByName(pBegin,pType);\n\t\tif(pFuncItem)\n\t\t\tif(IsFunc)\n\t\t\t\t*IsFunc=true;\n\t\treturn (PSDUDTDATAITEM)pFuncItem;\n\t}\n\treturn pDataItem;\n}\nchar* CSDSModule::GetEnumerationByValue(DWORD TypeIndex,ULONGLONG ullValue)const\n{\n\tDWORD i;\n\tPSDTYPE_INFILE pType;\n\tPSDENUMERATIONTYPE pEnumType;\n\tpType = GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn NULL;\n\tpEnumType = (PSDENUMERATIONTYPE)&pType[1];\n\tfor(i = 0; i < pEnumType->DataCount;i++)\n\t{\n\t\tif(pEnumType->EnumerationDataMember[i].Value==ullValue)\n\t\t\treturn pEnumType->EnumerationDataMember[i].u.Name;\n\t}\n\treturn NULL;\n}\nPSDUDTDATAITEM CSDSModule::GetDataSymbolInFunctionByName(const char* Name,PSDFUNCTIONITEM pFuncItem)const\n{\n\tPSDUDTDATAITEM pDataItem;\n\tPSDTYPE_INFILE pType;\n\tPSDBLOCK pBlock;\n\tDWORD* pIdArray;\n\tDWORD Count,i,j;\n\tif(pFuncItem==NULL||Name==NULL||Name[0]==0)\n\t\treturn NULL;\n\tCount = pFuncItem->DataCounter;\n\tpIdArray=pFuncItem->pData.pDataMember;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tpDataItem=GetDataSymbol(pIdArray[i]);\n\t\tif(TStrCmp(pDataItem->uName.Name,Name)==0)\n\t\t\treturn pDataItem;\n\t}\n\tCount = pFuncItem->BlockCounter;\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tpType = GetTypeSymbol(pFuncItem->pBlock.pBlockTypeIdArray[i]);\n\t\tpBlock = (PSDBLOCK)&pType[1];\n\t\tfor(j = 0; j < pBlock->DataCounter;j++)\n\t\t{\n\t\t\tpDataItem = GetDataSymbol(pBlock->pDataMember[j]);\n\t\t\tif(TStrCmp(pDataItem->uName.Name,Name)==0)\n\t\t\t\treturn pDataItem;\n\t\t}\n\t}\n\tif(pFuncItem->TypeIDParentUDT==0)\n\t\treturn NULL;\n\tpType=GetTypeSymbol(pFuncItem->TypeIDParentUDT);\n\tDWORD ThisOffset;\n\tpDataItem = GetUdtClassDataMemberByName(Name,pType,&ThisOffset);\n\treturn pDataItem;\n}\nbool CSDSModule::CheckSDSymbolFileCheckSum()\n{\n\tPSDSYMBOLFILE\tpSDSymbolFile;\n\tDWORD OldCheckSum=0;\n\tULONGLONG CheckSum=0;\n\tDWORD* pBuffer=(DWORD*)m_FileBuffer;\n\tDWORD i,FileLen = *(DWORD*)&m_SymFileSize;\n\tpSDSymbolFile = (PSDSYMBOLFILE)m_FileBuffer;\n\tOldCheckSum = pSDSymbolFile->CheckSum;\n\tpSDSymbolFile->CheckSum = 0;\n\tfor(i = 0; i < FileLen/sizeof(DWORD);i++)\n\t{\n\t\tCheckSum+=pBuffer[i];\n\t}\n\tpSDSymbolFile->CheckSum=OldCheckSum;\n\tif(*(DWORD*)&CheckSum==OldCheckSum)\n\t\treturn true;\n\treturn false;\n}\nDWORD CSDSModule::GetTimeDateStamp()const\n{\n\tPSDSYMBOLFILE\tpSDSymbolFile;\n\tpSDSymbolFile = (PSDSYMBOLFILE)m_FileBuffer;\n\treturn pSDSymbolFile->ModuleID.TimeDateStamp;\n}\nDWORD CSDSModule::GetPECheckSum()const\n{\n\tPSDSYMBOLFILE\tpSDSymbolFile;\n\tpSDSymbolFile = (PSDSYMBOLFILE)m_FileBuffer;\n\treturn pSDSymbolFile->ModuleID.OrgPECheckSum;\n}"
  },
  {
    "path": "Project/Syser/Source/SyserSymAnalyzer.h",
    "content": "#ifndef _SYSERSYMANALYZER_H_\n#define _SYSERSYMANALYZER_H_\n#include \"../../Addition/SyserDebugger/SDSymbol.h\"\n\nenum\n{\n\tRVA_FUNCTION_BODY,\n\tRVA_DATA_ITEM,\n\tRVA_PUBLIC_SYMBOL,\n};\n\ntypedef struct _SYMNAMEIDKEY\n{\n\tchar* m_Name;\npublic:\t\n\tbool operator <(const struct _SYMNAMEIDKEY& Dest)const\n\t{\n\t\treturn TStrCmp(m_Name,Dest.m_Name)<0;\n\t}\n\tbool operator ==(const struct _SYMNAMEIDKEY& Dest)const\n\t{\n\t\treturn TStrCmp(m_Name,Dest.m_Name)==0;\n\t}\n}SYMNAMEIDKEY;\ntypedef TList<PSDLINE> SDLINELIST;\ntypedef TMap<SYMNAMEIDKEY,DWORD> SYM2NAME2IDMAP;\ntypedef struct _SDLINEINFO\n{\n\tPSDLINE pLine;\n\tDWORD Number;//ʾһкźͼRVAӦҪģ󣬻߱Żĺ\n}SDLINEINFO,*PSDLINEINFO;\ntypedef TMap<DWORD,SDLINEINFO> LINENUMBERMAP;\n\nclass CSDSModule\n{\n\tbool m_bInitOK;\n\tULLSIZE m_SymFileSize;\n\tHANDLE m_hFileHandle;\n\tchar** m_StrTable;\n\tchar*\tm_FileBuffer;\n\tSYM2NAME2IDMAP m_Sym2Name2IDMap;\n\tSYM2NAME2IDMAP m_DataSymName2IDMap;\n\t//const char* GetSymbolName(SYMORDATAINDEX Symbol)const;\npublic:\n\tPSDSYMBOLFILE\tm_SDSymbolFile;\n\tTList<ULPOS>\tm_BreakPointList;\n\tCIStrA\t\t\tm_ModuleFileName;\n\tCIStrA\t\t\tm_SymbolFileName;\n\tCDbgModule*\t\tm_pCurDbgModule;\t//ָǰ̵DbgModuleʱʹãgpSyser->m_SyserUI.GetSDSModuleByXXXXװ\n\tint\t\t\t\tm_MemoryUsed;\n\tDWORD\t\t\tm_ParentPID;\n\t//SYMORDATAINDEXLIST m_SymbolMap;\n\tCSDSModule();\n\t~CSDSModule();\n\tstatic MODULE_ID GetSDSMouleID(PCSTR szSDSFileName);\n\tMODULE_ID GetModuleID();\n\n\tvoid\tSetModuleFileName(PCSTR szFileName);\n\tDWORD GetTimeDateStamp()const;\n\tDWORD GetPECheckSum()const;\n\tvoid CreateName2IDMap();\n\tvoid DeleteName2IDMap();\t\n\tvoid CreateDataName2IDMap();\n\tvoid DeleteDataName2IDMap();\t\n\tbool LoadSymFile(IN PCSTR FileName);\n\tvoid SymRelocation(IN PSDSYMBOLFILE pSymbolFile);\n\tvoid UnloadSymFile();\n\tvoid* GetSymbolAddressBySymbolName(IN const char* SymbolName,OUT DWORD* SymbolLength=NULL);\n\t\n\tPSDUDTDATAITEM GetDataSymbol(IN unsigned int index)const;\n\tPSDTYPE_INFILE GetTypeSymbol(IN unsigned int index)const;\n\tPSDPUBLICSYMBOL GetPublicSymbol(IN unsigned int index)const;\n\n\tconst char* GetSymbolNameByRVA(IN DWORD Rva);\n\tconst char* GetDataName(IN PSDUDTDATAITEM pUdtDataItem)const;\n\tconst char* GetTypeName(IN PSDTYPE_INFILE pSDType)const;\n\tconst char* GetPublicSymbolName(IN PSDPUBLICSYMBOL pSDPublicSymbol)const;\n\tPSDSOURCEFILEID GetSourceFileList(OUT DWORD *SourceFileNum=NULL)const;\n\tPSDSOURCEFILEID GetSourceFileByID(IN DWORD SourceFileId)const;\n\tPSDSOURCEFILEID GetSourceFileByName(const char* SourceFileName)const;\n\tDWORD GetLineBySourceFileID(IN DWORD SourceFileId,INOUT SDLINELIST* Line)const;\n\tDWORD GetLineByRva(IN DWORD Rva,INOUT SDLINELIST* Line)const;\n\tDWORD GetLineFromRva(IN DWORD Rva,INOUT SDLINELIST* Line)const;\n\tPSDFUNCTIONITEM GetFunctionFromRav(DWORD Rva)const;\n\tDWORD GetLineBySourceFileID(IN DWORD SourceFileId,IN DWORD LineNum,INOUT SDLINELIST* Line)const;\n\tDWORD GetLineBySourceFileID(IN DWORD SourceFileId,INOUT LINENUMBERMAP* LineMap)const;\t\n\tPSDLINE GetContiguityLineBySourceFileID(IN DWORD SourceFileId,IN DWORD LineNum)const;\n\tPSDTYPE_INFILE GetSymbolByName(const char* Name,bool bCase=true);\n\tPSDFUNCTIONITEM GetFunctionSymbolByName(const char*Name,bool bCase=true)const;\n\tchar* GetFuncNameByRva(IN DWORD Rva)const;\n\tPSDCOMPILAND GetCompilandList(OUT DWORD* Count)const;\n\tPSDTYPE_INFILE* GetSymbolList(OUT DWORD* ItemCount)const;\n\tPSDPUBLICSYMBOL GetPublicSymbolList(OUT DWORD* Count=NULL);\n\tPSDUDTDATAITEM GetDataSymbolList(OUT DWORD* Count=NULL);\n\tPSDFUNCTIONITEM* GetFunctionSymbolList(OUT DWORD* Count);\n\tPCSTR GetPEFileFullName()const;\n\tPCSTR GetSymbolModuleName()const;\n\tPCSTR GetPDBFileName()const;\n\tconst char* GetTypeNameByID(unsigned int id)const;\n\tPSDFUNCTIONITEM GetSDFunctionByID(IN DWORD Index)const;\n\t//PSDFUNCTIONITEM GetFunctionByLineNumber(IN DWORD FileId,IN DWORD LineNum)const;\n\tPSDFUNCTIONITEM GetFunctionSymbol(IN DWORD Index)const;\n\tchar* GetUDTFunctionMemberName(DWORD FuncID,OUT CStrA& NameBuffer);\n\tDWORD DumpSDUDTTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer);\n\tchar* GetUDTDataMemberName(IN DWORD DataID,OUT CStrA& NameBuffer);\n\tstatic SDCALLCONVENTIONPAIR m_CallConvention[24];\n\tstatic char* GetCallConventionName(DWORD dwType);\n\tbool IsFunctionPointer(DWORD dwTypeID);\n\tbool IsFunctionPointer(PSDTYPE pType);\n\tbool IsFunctionPointer(PSDTYPE_INFILE SDTypeInfile);\n\tchar* GetFuncParamBegin(char* FunctionPointerName);\n\tchar* GetFunctionName(IN PSDFUNCTIONITEM pFuncItem,OUT char* NameBuffer,INOUT int* BufferLength);\n\tbool IsUnnamedUDT(DWORD dwTypeID);\n\tchar* GetSDSymbolName(IN DWORD TypeID,OUT char *NameBuffer,INOUT int *BufferLength);\n\tchar* GetSDSymbolName(IN PSDTYPE_INFILE SDTypeInfile,OUT char *NameBuffer,INOUT int *BufferLength);\n\tDWORD DumpSDTypedefTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer);\n\tDWORD DumpSDEnumTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile ,CStrA &OutBuffer);\n\tPSDUDTDATAITEM GetUdtClassDataMemberByName(const char *Name,PSDTYPE_INFILE pType,DWORD* ThisOffset=NULL)const;\n\tPSDFUNCTIONITEM GetUdtClassFuncMemberByName(const char* Name,PSDTYPE_INFILE pType,bool bFullName=false)const;\n\tPSDFUNCTIONITEM GetFunctionByLineNumber(IN DWORD FileId,IN DWORD LineNum)const;\n\tPSDUDTDATAITEM GetDataSymbolByString(char* pStr,PSDFUNCTIONITEM pCurrentFunc,bool* IsFunc=NULL,DWORD* RetOffset=NULL)const;\n\tPSDUDTDATAITEM GetDataSymbolByString(char* pStr,DWORD FileId,DWORD LineNum,bool* IsFunc=NULL,DWORD* RetOffset=NULL)const;\n\tPSDUDTDATAITEM GetDataSymbolInFunctionByName(const char* pStr,PSDFUNCTIONITEM pFuncItem)const;\n\tPSDUDTDATAITEM GetDataSymbolByNameAndKind(const char* Name,int nDataKind)const;\n\tPSDUDTDATAITEM GetDataSymbolByNameAndLocation(char* Name,int nDataKind)const;\n\tPSDUDTDATAITEM GetDataSymbolByName(char* Name)const;\n\tchar* GetEnumerationByValue(DWORD TypeIndex,ULONGLONG ullValue)const;\n\tbool CheckSDSymbolFileCheckSum();\n\tDWORD GetSourceFileCountInPackages()const;\t\n};\n\ntypedef TMap<MODULE_ID,CSDSModule> CSDSModuleMap;\n\nDWORD GetBaseTypeIdByName(char*Name);\n#endif /* _SYSERSYMANALYZER_H_ */"
  },
  {
    "path": "Project/Syser/Source/SyserUI.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"StringReference.h\"\n\nULSIZE ReadDbgProcMemory(ULPOS Address,void*Buffer,ULSIZE Size,void*Param)\n{\n#ifdef\tCODE_OS_NT_DRV\n\tULSIZE Len=0;\n\tbool bSuccess;\n\twhile(Size)\n\t{\n\t\tPUT_BYTE(Buffer,Len,ReadByte(RT_PVOID(Address,Len),&bSuccess));\n\t\tif(bSuccess==false)\n\t\t\tbreak;\n\t\tLen++;\n\t\tSize--;\n\t}\n\treturn Len;\n#else\n\treturn ((CDebugger*)Param)->ReadMemory(Address,Buffer,Size);\n#endif\n}\n\nvoid CSyserDI::OnLoadModule(CDebugger*pDbgProc,PCSTR szFileName,ULPOS ModuleBase,ULSIZE ModuleSize,MODULE_ID ModuleID)\n{\n\tCCommentModule*pCommentModule;\n\tCSymbolModule*pSymbolModule;\n\tCDbgModule*pDbgModule = pDbgProc->m_ModuleList.InsertModule(szFileName,ModuleBase,ModuleSize,ModuleID);\n\tif(pDbgModule==NULL)\n\t\treturn;\n\tif(pCommentModule = m_pCommentContainer->GetCommentModule(ModuleID))\n\t\tpDbgModule->AttachCommentModule(pCommentModule);\n\tif(pSymbolModule = m_pSymbolContainer->GetSymbolModule(ModuleID))\n\t{\n\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n\t\treturn;\n\t}\n/////////////////////////////////////////////////////////////////////////////////////\n#ifdef CODE_OS_WIN\n\tgpSyser->m_SyserUI.LoadTranslateSDS(szFileName,ModuleBase,ModuleSize);\n\tgpSyser->m_SyserUI.LoadPESym(szFileName,pDbgModule);\n#else\n\tCSDSModuleMap::IT Iter = gpSyser->m_SyserUI.m_SDSModuleMap.Find(ModuleID);\n\tif(Iter.IsExist())\n\t{\n\t\tpSymbolModule = m_pSymbolContainer->InsertSymbolModule(ModuleID);\n\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n\t\tgpSyser->m_SyserUI.LoadSDSSymbol(&(*Iter));\n\t}\n#endif\n}\n\nvoid CSyserDI::OnUnloadModule(CDebugger*pDbgProc,ULPOS ModuleBase)\n{\n\tCDbgModule*pDbgModule=pDbgProc->m_ModuleList.GetModule(ModuleBase);\n\tif(pDbgModule==NULL)\n\t\treturn;\n#ifdef CODE_OS_NT_DRV\n\t//////////////////////////////////////////////////////////////////////////\n\t//Unload SDS Module\n\tCSDSModule*pSDSModule = gpSyser->m_SyserUI.GetSDSModule(pDbgModule->m_ModuleBase);\n\tif(pSDSModule && pSDSModule->m_ParentPID == gpSyser->m_pDebugger->m_PID)\n\t{\n\t\tgpSyser->m_SyserUI.UnloadSDSModule(pSDSModule);\n\t}\n#endif\n\t//////////////////////////////////////////////////////////////////////////\n\t//ɾڴģϵĴϵ\n\tCCodeBPMap::IT Iter = pDbgProc->m_pCodeBPMap->Begin();\n\twhile(Iter.IsExist())\n\t{\n\t\tif(pDbgProc->m_PID == Iter->PID && Iter->Address>=pDbgModule->m_ModuleBase && Iter->Address<pDbgModule->m_ModuleBase+pDbgModule->m_ModuleSize)\n\t\t{//ΪڴͷţֻҪɾϵ\n\t\t\tCCodeBPMap::IT RemoveIter=Iter;\n\t\t\t//DbgPrint(\"Syser : Clear Module BP [%s] %08X %s\\n\",(PCSTR)pDbgProc->m_ProcName,RemoveIter->Address,(PCSTR)RemoveIter->Name);\n\t\t\tIter++;\n\t\t\tRemoveIter->State = BP_STATE_DISABLE;\n\t\t\tpDbgProc->RemoveCodeBP(&(*RemoveIter));\n\t\t}\n\t\telse\n\t\t\tIter++;\n\t}\n\t//////////////////////////////////////////////////////////////////////////\n\t//ɾϵͳģ\n\tpDbgProc->m_ModuleList.RemoveModule(pDbgModule->m_ModuleBase);\n\treturn;\n}\n\nbool CSyserDI::OnDebugTerminate(bool bCloseDoc)\n{\n\tif(bCloseDoc)\n\t{\n\t\tRUNCMD(WSTR(\"close\"));\n\t}\n\telse\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.LocalEIP(*X86_REG_PTR.pEIP);\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateContext();\n\t}\n\treturn true;\n}\n\nbool CSyserDI::OnDebugPlunge(UINT PlungeType)\n{\n\tif(SyserOption.iFollowMode!=SYSER_FM_AUTOMATIC)\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SyserOption.iFollowMode==SYSTEM_EXPLORER_VIEW?SYSTEM_EXPLORER_VIEW:SOURCE_EXPLORER_VIEW);\n\telse\n\t\tgpSyser->m_MainFrame.m_MainTabWnd.SetActiveWnd(SYSTEM_EXPLORER_VIEW);\n\n\tgpSyser->m_MainFrame.m_SystemExplorer.LocalEIP(*X86_REG_PTR.pEIP);\n\tgpSyser->m_MainFrame.m_SystemExplorer.InsertRunTrace();\n\tUpdateContext();\n\tfor(CPluginMap::IT Iter = gpSyser->m_PluginMap.Begin();Iter!=gpSyser->m_PluginMap.End();Iter++)\n\t{\n\t\tif(Iter->fpOnDebuggerPlunge)\n\t\t\tIter->fpOnDebuggerPlunge();\n\t}\n\tgpSyser->m_MainFrame.SetDefaultFocus();\n\treturn true;\n}\n\nbool CSyserDI::OnDebugTerminateMultiThread(bool bCloseDoc)\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = &gpSyser->m_MainFrame;\n\tMsg.Msg = EVENT_ID_DEBUG_TERMINATE;\n\tMsg.Command.Param1 = bCloseDoc;\n\tgpSyser->PostMessage(&Msg);\n\treturn true;\n}\n\nbool CSyserDI::OnDebugPlungeMultiThread(UINT PlungeType)\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = &gpSyser->m_MainFrame;\n\tMsg.Msg = EVENT_ID_DEBUG_PLUNGE;\n\tMsg.Command.Param1 = PlungeType;\n\tgpSyser->PostMessage(&Msg);\n\treturn true;\n}\n\nvoid CSyserDI::UpdateTraceConditionVal()\n{\n\tgpSyser->m_SyserUI.m_CodeDoc.UpdateEIPOpcode();\n}\n\nvoid CSyserDI::UpdateContext()\n{\n\tUPDATE_CONTEXT();\n\tUPDATE_SOURCE_CODE_VIEW(true);//Ensure Show EIP\n\tgpSyser->m_SyserUI.m_CallStack.UpdateContext();\n\tgpSyser->m_MainFrame.m_CallStackWnd.UpdateContext();\n}\n\nvoid CSyserDI::DisplayMsg(PCSTR szMessage)\n{\n\tWISP_CHAR szBuffer[512];\n\tAnsiToUnicode(szMessage,szBuffer,512);\n#ifdef CODE_OS_NT_DRV\n\tif(gbActive)\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd.Output(szBuffer);\n\telse\n\t\tSCR_DBG_PRINT(gpSyser->m_RootPos.x+(gpSyser->m_FrameBuffer.Width-TStrLen(szMessage)*8)/2,gpSyser->m_RealFrameBuffer.Height/2,WSTR(\"%s\"),szBuffer);\n#else\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_TerminalWnd.Output(szBuffer);\n#endif\n}\n\nbool CSyserDI::TestCondition(PCSTR szCondition,PBREAK_POINT pBP)\n{\n\tDWORD Result;\n\tif(*szCondition==0)\n\t\treturn true;\n\tif(pBP)\n\t\tgpSyser->m_SyserUI.m_CodeDoc.m_BPCount=pBP->BPCount;\n\treturn CALCEXP(szCondition,&Result) && Result!=0;\n}\n\nbool CSyserDI::RunCmd(PCSTR szCmd)\n{\n\tWCHAR szBuffer[256];\n\tAnsiToUnicode(szCmd,szBuffer,256);\n\tRUNCMD(szBuffer);\n\treturn true;\n}\n\nvoid CSyserDI::RunCmdList(PCSTR szCmd)\n{\n\tWCHAR szBuffer[1024];\n\tif(*szCmd==0)\n\t\treturn;\n\tAnsiToUnicode(szCmd,szBuffer,1024);\n\tgpSyser->m_MainFrame.m_ConsoleWnd.RunCmdList(szBuffer);\t\n}\n\n\nbool CSyserDI::CalcPageRangeCondition()\n{\n\treturn true;\n}\nCDebugger* CSyserDI::GetCurrentDebugger()\n{\n\treturn gpSyser->m_pDebugger;\n}\n\nCExpCalc::STExpItem* ColonOptrFunc(CExpCalc::STExpItemListIT&OptIter,CExpCalc::STExpItemList&ExpItemList,CSyserCodeDoc*pThis)\n{\n\tif(pThis->CheckCalcItem(0,OptIter,1,ExpItemList)==false)\n\t\treturn NULL;\n\tCExpCalc::STExpItemListIT PrevIter,NextIter;\n\tPrevIter = OptIter-1;\n\tNextIter = OptIter+1;\n\tif(PrevIter==ExpItemList.End())\n\t\treturn NULL;\n\tint n = I_ES;\n\twhile(n<=I_GS)\n\t{\n\t\tif(TStrNICmp(CInstrSym::m_SegStr[n],PrevIter->ItemStr,2)==0)\n\t\t\tbreak;\n\t\tn++;\n\t}\n\tif(n>I_GS)\n\t\treturn NULL;\n\tPrevIter->Value.Value = 0;\n\tgpSyser->m_pDebugger->GetSegRegBase(n,(DWORD*)&PrevIter->Value.Value);\n\tPrevIter->Value.Value=PrevIter->Value.Value + NextIter->Value.Value;\n\tpThis->RemoveCalcItem(OptIter,2,ExpItemList);\n\treturn &(*PrevIter);\n}\n\nCSyserCodeDoc::CSyserCodeDoc()\n{\n\tInsertOptFunc(\":\",3,(PFOptFunc)ColonOptrFunc,this);\n}\n\nCSyserCodeDoc::~CSyserCodeDoc()\n{\n}\n\nbool CSyserCodeDoc::AddrToSym(DWORD Address,PSTR szSym,int MaxLength)\n{\n\treturn gpSyser->m_SyserUI.GetSym(Address,szSym,MaxLength);\n}\n\nbool CSyserCodeDoc::GetInstrRefPoint(ULPOS*pAddress)\n{\n\tif(gpSyser->m_pDebugger->m_ModuleList.GetNearbySymbolAddrress(pAddress))\n\t\treturn true;\n#ifdef CODE_OS_NT_DRV\n\tif(gpSyser->m_pDebugger == gpSyser->m_pSysDebugger)\n\t\treturn false;\n\treturn gpSyser->m_pSysDebugger->m_ModuleList.GetNearbySymbolAddrress(pAddress);\n#else\n\treturn false;\n#endif\n}\n\nULSIZE CSyserCodeDoc::ReadMemory(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\treturn ReadImage(Address,Buffer,Size);\n}\n\nULONG CSyserCodeDoc::GetPtrValue(ULONG Address)\n{\n\tULONG Data=0;\n\tReadImage(Address,&Data,sizeof(Data));\n\treturn Data;\n}\n\nbool CSyserCodeDoc::GetValue(PCSTR szItem,ULONG*pValue)\n{\n\tCIStrW* ModuleName=NULL;\n\tif(gpSyser->m_pDebugger==NULL)\n\t\treturn false;\n\tif(CExpCalc::GetValue(szItem,pValue))\n\t\treturn true;\n\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t{\n\t\tfor(CDbgModuleMap::IT Iter=gpSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=gpSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t\t{\n\t\t\tif(Iter->GetAddress(szItem,(ULPOS*)pValue))\n\t\t\t\treturn true;\n\t\t}\n\t}\n\tfor(CDbgModuleMap::IT Iter=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t{\n#ifdef CODE_OS_NT_DRV\n\t\tif(Iter->m_pSymbolModule==NULL || Iter->m_pSymbolModule->m_ModuleBase)\n\t\t\tcontinue;\n#endif\n\t\tif(Iter->GetAddress(szItem,(ULPOS*)pValue))\n\t\t\treturn true;\n\t}\n#ifdef CODE_OS_NT_DRV\n\tfor(CSymbolContainer::IT Iter = gpSyser->m_SyserUI.m_SymbolContainer.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif(Iter->m_ModuleBase==0)\n\t\t\tcontinue;\n\t\tif(Iter->GetAddress(szItem,(ULPOS*)pValue))\n\t\t\treturn true;\n\t}\n#endif\n\treturn false;\n}\n\nbool CSyserCodeDoc::GetValue(PCWSTR szItem,ULONG*pValue)\n{\n\tCHAR szBuffer[256];\n\tUnicodeToAnsi(szItem,szBuffer,256);\n\treturn GetValue(szBuffer,pValue);\n}\n\nbool CSyserCodeDoc::Open(PCSTR Name)\n{\n\tif(gpSyser->m_pDebugger==NULL || IsOpened())\n\t\treturn false;\n\tgpSyser->m_pDebugger->GetX86RegPtr(&m_X86RegPtr);\n#ifdef CODE_OS_WIN\n\tif(gpSyser->m_pDebugger->Open(Name)==false)\n\t\treturn false;\n\tgpSyser->m_pSysDebugger = gpSyser->m_pDebugger;\n#endif\n\tCCodeDoc::Open(Name);\n\tgpSyser->m_SyserUI.m_SyserDI.ResetTrace();\n\tm_MainModuleName = Name;\n\tInsertX86RegSym(&m_X86RegPtr);\n\tInsertPtrSym(\"OPCODE\" ,&m_EIPOpcode,1);\n\tInsertPtrSym(\"OPCODE2\",&m_EIPOpcode,2);\n\tInsertPtrSym(\"OPCODE3\",&m_EIPOpcode,3);\n\tInsertPtrSym(\"OPCODE4\",&m_EIPOpcode,4);\n\tInsertPtrSym(\"PID\",&m_PopPID,4);\n\tInsertPtrSym(\"TID\",&m_PopTID,4);\n\tInsertPtrSym(\"BPCOUNT\",&m_BPCount,4);\n\t\n\tfor(CPluginMap::IT Iter = gpSyser->m_PluginMap.Begin();Iter!=gpSyser->m_PluginMap.End();Iter++)\n\t{\n\t\tif(Iter->fpOnDebuggerOpen)\n\t\t\tIter->fpOnDebuggerOpen();\n\t}\n#ifdef CODE_OS_WIN\n\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateItemState();\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\tUPDATE_CONTEXT();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tgpSyser->InsertHistroy(Name,0);\n#endif\n\treturn true;\n}\n\nvoid CSyserCodeDoc::Close()\n{\n\tif(IsOpened()==false)\n\t\treturn;\n\tfor(CPluginMap::IT Iter = gpSyser->m_PluginMap.Begin();Iter!=gpSyser->m_PluginMap.End();Iter++)\n\t{\n\t\tif(Iter->fpOnDebuggerClose)\n\t\t\tIter->fpOnDebuggerClose();\n\t}\n#ifdef CODE_OS_WIN\n\tif(gpSyser->m_pDebugger)\n\t\tgpSyser->m_pDebugger->Close();\n\tCSDSModuleMap::IT SDSIter,RemoveIter;\n\tSDSIter = gpSyser->m_SyserUI.m_SDSModuleMap.Begin();\n\twhile(SDSIter!=gpSyser->m_SyserUI.m_SDSModuleMap.End())\n\t{\n\t\tRemoveIter = SDSIter;\n\t\tSDSIter++;\n\t\tgpSyser->m_SyserUI.UnloadSDSModule(&(*RemoveIter));\n\t}\n#endif\n\tClearAllSym();\n\tCCodeDoc::Close();\n#ifdef CODE_OS_WIN\n\tif(gpSyser->m_bActive && gpSyser->m_MainFrame.IsWindow())\n\t{\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.ResetContext();\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.UpdateItemState();\n\t\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.UpdateItemState();\n\t\tgpSyser->m_MainFrame.UpdateClient();\n\t}\n#endif\n\tSTZeroMemory(m_X86RegPtr);\n\tm_MainModuleName.Empty();\n}\n\nvoid CSyserCodeDoc::UpdateEIPOpcode()\n{\n\tif(gpSyser->m_pDebugger->ReadMemory(*X86_REG_PTR.pEIP,&m_EIPOpcode,sizeof(m_EIPOpcode))!=sizeof(m_EIPOpcode))\n\t\tm_EIPOpcode = 0xFFFFFFFF;\n}\nvoid CSyserCodeDoc::UpdatePID_TID(DWORD PID,DWORD TID)\n{\n\tm_PopPID=PID;\n\tm_PopTID=TID;\n}\nvoid CSyserCodeDoc::GetCurInstrInfo(WCHAR*szInfo)\n{\n\tint n;\n\tBYTE Buffer[0x100];\n\tINSTRUCTION_INFORMATION InstrInfo;\n\tX86_CPU_REG_PTR CPURegPtr;\n\tDIS_CPU DisCPU;\n\tif(IsOpened()==false)\n\t\treturn;\n\tgpSyser->m_pDebugger->UpdateRegister();\n\tgpSyser->m_pDebugger->GetX86RegPtr(&CPURegPtr);\n\tDisCPU.gen_reg[I_EAX].erx = *CPURegPtr.pEAX;\n\tDisCPU.gen_reg[I_EBX].erx = *CPURegPtr.pEBX;\n\tDisCPU.gen_reg[I_ECX].erx = *CPURegPtr.pECX;\n\tDisCPU.gen_reg[I_EDX].erx = *CPURegPtr.pEDX;\n\tDisCPU.gen_reg[I_ESI].erx = *CPURegPtr.pESI;\n\tDisCPU.gen_reg[I_EDI].erx = *CPURegPtr.pEDI;\n\tDisCPU.gen_reg[I_EBP].erx = *CPURegPtr.pEBP;\n\tDisCPU.gen_reg[I_ESP].erx = *CPURegPtr.pESP;\n\tDisCPU.Eflags=*(DWORD*)CPURegPtr.pEFL;\n\tDisCPU.SEG_BASE[I_CS] = 0;\n\tDisCPU.SEG_BASE[I_DS] = 0;\n\tDisCPU.SEG_BASE[I_ES] = 0;\n\tDisCPU.SEG_BASE[I_FS] = 0;;\n\tDisCPU.SEG_BASE[I_GS] = 0;\n\tDisCPU.SEG_BASE[I_SS] = 0;\n\t\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pCS,&DisCPU.SEG_BASE[I_CS]);\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pDS,&DisCPU.SEG_BASE[I_DS]);\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pES,&DisCPU.SEG_BASE[I_ES]);\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pFS,&DisCPU.SEG_BASE[I_FS]);\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pGS,&DisCPU.SEG_BASE[I_GS]);\n\tgpSyser->m_pDebugger->GetSegRegBase(*CPURegPtr.pSS,&DisCPU.SEG_BASE[I_SS]);\n\t\n\tInstrInfo.CodeBuff = Buffer;\n\tInstrInfo.CodeMode = gpSyser->m_pDebugger->m_CodeMode;\n\tInstrInfo.pasm = NULL;\n\tInstrInfo.eip = *X86_REG_PTR.pEIP ;\n\tDasm(&InstrInfo,&DisCPU);\n\t*szInfo=0;\n\tfor(n=0;n<3;n++)\n\t{\n\t\tif(InstrInfo.op[n].mode == mode_address)\n\t\t{\t\t\t\n\t\t\tHandleAddressOp(&InstrInfo.op[n],szInfo,&InstrInfo);\t\t\t\t\t\t\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(n>=3)\n\t\treturn;\n}\n\nvoid CSyserCodeDoc::HandleAddressOpForCodeView(ULPOS Address,WISP_COLOR_CHAR* szInfo,int ccLen)\n{\n\tCHAR szSym[MAX_LONG_NAME_LEN];\n\tWCHAR szBuffer[256];\n\tDWORD dwAddress;\n\tint StrType;\n\t//if(ReadMemory(Address,&dwAddress,sizeof(dwAddress))==sizeof(dwAddress))\n\t//{\n\t//\tif(AddrToSym(Address,szSym,sizeof(szSym)/sizeof(WCHAR)))\n\t//\t{\n\t//\t\tColorStrCat(szInfo,szSym,SC_WHITE,0);\n\t//\t}\n\t//\telse\n\t//\t{\n\t//\t\tif(GET_STRING_SYM(dwAddress,szBuffer,sizeof(szBuffer)/sizeof(szBuffer[0]),StrType))\n\t//\t\t{\n\t//\t\t\tif(StrType == CT_ASCII)\n\t//\t\t\t\tColorStrCat(szInfo,szBuffer,SC_BLUE,0);\n\t//\t\t\telse if(StrType == CT_UINCODE)\n\t//\t\t\t\tColorStrCat(szInfo,szBuffer,SC_LIGHT_BROWN,0);\n\t//\t\t\treturn ;\n\t//\t\t}\n\t//\t}\t\t\n\t//}\n\tif(GET_STRING_SYM(Address,szBuffer,sizeof(szBuffer)/sizeof(szBuffer[0]),StrType))\n\t{\n\t\tif(StrType == CT_ASCII)\n\t\t\tColorStrCat(szInfo,szBuffer,SC_BLUE,0);\n\t\telse if(StrType == CT_UINCODE)\n\t\t\tColorStrCat(szInfo,szBuffer,SC_LIGHT_BROWN,0);\n\t\treturn ;\n\t}\n\telse\n\t{\n\t\tif(AddrToSym(Address,szSym,sizeof(szSym)/sizeof(WCHAR)))\n\t\t{\n\t\t\tColorStrCat(szInfo,szSym,SC_WHITE,0);\n\t\t}\n\t}\t\n}\n\nvoid CSyserCodeDoc::GetCurInstrInfoEx(WISP_COLOR_CHAR*szInfo,int ccLen)\n{\n\tint n;\n\tBYTE Buffer[0x100];\n\tINSTRUCTION_INFORMATION InstrInfo;\n\tX86_CPU_REG_PTR CPURegPtr;\n\tDIS_CPU DisCPU;\n\tULONG uPos;\n\tif(IsOpened()==false)\n\t\treturn;\n\tgpSyser->m_pDebugger->UpdateRegister();\n\tgpSyser->m_pDebugger->GetX86RegPtr(&CPURegPtr);\n\tDisCPU.gen_reg[I_EAX].erx = *CPURegPtr.pEAX;\n\tDisCPU.gen_reg[I_EBX].erx = *CPURegPtr.pEBX;\n\tDisCPU.gen_reg[I_ECX].erx = *CPURegPtr.pECX;\n\tDisCPU.gen_reg[I_EDX].erx = *CPURegPtr.pEDX;\n\tDisCPU.gen_reg[I_ESI].erx = *CPURegPtr.pESI;\n\tDisCPU.gen_reg[I_EDI].erx = *CPURegPtr.pEDI;\n\tDisCPU.gen_reg[I_EBP].erx = *CPURegPtr.pEBP;\n\tDisCPU.gen_reg[I_ESP].erx = *CPURegPtr.pESP;\n\tDisCPU.Eflags=*(DWORD*)CPURegPtr.pEFL;\n\tDisCPU.SEG_BASE[I_CS] = 0;\n\tDisCPU.SEG_BASE[I_DS] = 0;\n\tDisCPU.SEG_BASE[I_ES] = 0;\n\tDisCPU.SEG_BASE[I_FS] = 0;\n\tDisCPU.SEG_BASE[I_GS] = 0;\n\tDisCPU.SEG_BASE[I_SS] = 0;\n\n\tInstrInfo.CodeBuff = Buffer;\n\tInstrInfo.CodeMode = gpSyser->m_pDebugger->m_CodeMode;\n\tInstrInfo.pasm = NULL;\n\tInstrInfo.eip = *X86_REG_PTR.pEIP ;\n\tDasm(&InstrInfo,&DisCPU);\n\t*szInfo=0;\n\tfor(n=0;n<3;n++)\n\t{\n\t\tswitch(InstrInfo.op[n].mode)\n\t\t{\n\t\tcase mode_address:\n\t\t\tuPos = (ULONG)InstrInfo.op[n].addr.line_address;\n\t\t\tHandleAddressOpForCodeView(uPos,szInfo,ccLen);\n\t\t\tbreak;\n\t\tcase mode_register:\n\t\t\t{\n\t\t\t\tswitch(InstrInfo.op[n].reg.reg_index)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tuPos=*X86_REG_PTR.pEAX;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tuPos=*X86_REG_PTR.pECX;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tuPos=*X86_REG_PTR.pEDX;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tuPos=*X86_REG_PTR.pEBX;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tuPos=*X86_REG_PTR.pESP;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tuPos=*X86_REG_PTR.pEBP;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tuPos=*X86_REG_PTR.pESI;\n\t\t\t\t\tbreak;\t\t\t\t\n\t\t\t\tcase 7:\n\t\t\t\t\tuPos=*X86_REG_PTR.pEDI;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tHandleAddressOpForCodeView(uPos,szInfo,ccLen);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\t\n\t}\n\tif(n>=3)\n\t\treturn;\n}\n\nULSIZE CSyserCodeDoc::ReadImage(ULPOS Address,void*Buffer,ULSIZE Size)\n{\n\tULSIZE RDSize;\n\tif(!IsOpened())\n\t\treturn 0;\n\tRDSize=gpSyser->m_pDebugger->ReadMemory(Address,Buffer,Size);\n\tif(RDSize==0)\n\t\treturn 0;\n\tif(SyserOption.iShowCCByte==0)\n\t{\n\t\tfor(ULSIZE n=0;n<Size;n++)\n\t\t{\n\t\t\tif(GET_BYTE(Buffer,n)==0xCC)\n\t\t\t{\n\t\t\t\tBREAK_POINT*pBP=gpSyser->m_pDebugger->GetCodeBP(Address+n);\n\t\t\t\tif(pBP && pBP->State == BP_STATE_ENABLE)\n\t\t\t\t{\n\t\t\t\t\tPUT_BYTE(Buffer,n,pBP->CodeBackup);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn RDSize;\n}\n\nULPOS CSyserCodeDoc::GetNextAddress(ULPOS Address,int Count)\n{\n\tint CodeLen;\n\tif(Count >= 0)\n\t{\n\t\twhile(Count>0)\n\t\t{\n\t\t\tCodeLen = InstrLen(Address);\n\t\t\tif(CodeLen<=0)\n\t\t\t\tCodeLen=1;\n\t\t\tAddress += CodeLen;\n\t\t\tCount--;\n\t\t}\n\t}\n\telse\n\t{\n\t\twhile(Count<0)\n\t\t{\n\t\t\tCodeLen = PrevInstrLen(Address);\n\t\t\tif(CodeLen<=0)\n\t\t\t\tCodeLen=1;\n\t\t\tAddress -= CodeLen;\n\t\t\tCount++;\n\t\t}\n\t}\n\treturn Address;\n}\n\nbool CSyserCodeDoc::GetSymbol(ULPOS Address,WCHAR*szSymbol,int BufSize)\n{\t\n\tCHAR szBuffer[256];\n\tif(GETSYM(Address,szBuffer,256)==false)\n\t\treturn false;\n\tAnsiToUnicode(szBuffer,szSymbol,BufSize);\n\treturn true;\n}\n\nbool CSyserCodeDoc::GetComment(ULPOS Address,WCHAR*szComment,int BufSize)\n{\n\tPCSTR pszCmt;\n\tif(!IsOpened())\n\t\treturn false;\n\tif(pszCmt = gpSyser->m_pDebugger->m_ModuleList.GetComment(Address))\n\t{\n\t\tTStrCpyLimit(szComment,pszCmt,BufSize);\n\t\treturn true;\n\t}\n\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t{\n\t\tif(pszCmt = gpSyser->m_pSysDebugger->m_ModuleList.GetComment(Address))\n\t\t{\n\t\t\tTStrCpyLimit(szComment,pszCmt,BufSize);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CSyserCodeDoc::SetComment(ULPOS Address,WCHAR*szComment)\n{\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t{\n\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\treturn false;\n\t}\n\tif(!IsOpened())\n\t\treturn false;\n\tchar szBuffer[MAX_CMT_LEN];\n\tCCommentModule*pCmtMod;\n\tCDbgModule*pDbgModule = gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL)\n\t\treturn false;\n\tif(pDbgModule->m_pCommentModule==NULL)\n\t{\n\t\tpCmtMod = gpSyser->m_SyserUI.m_CommentContainer.GetCommentModule(pDbgModule->m_ModuleID);\n\t\tif(pCmtMod==NULL)\n\t\t{\n\t\t\tpCmtMod = gpSyser->m_SyserUI.m_CommentContainer.InsertCommentModule(pDbgModule->m_ModuleID);\n\t\t\tif(pCmtMod==NULL)\n\t\t\t\treturn false;\n\t\t\tpCmtMod->m_ModuleName = pDbgModule->m_ModuleFullName;\n\t\t\tgpSyser->m_SyserUI.AttachCommentModuleToProcess(pCmtMod);\n\t\t}\n\t}\n\tUnicodeToAnsi(szComment,szBuffer,MAX_CMT_LEN);\n\tif(pDbgModule->m_pCommentModule)\n\t\treturn pDbgModule->m_pCommentModule->SetComment(Address-pDbgModule->m_ModuleBase,szBuffer);\n\telse\n\t\treturn NULL;\n}\n\n\nbool CSyserCodeDoc::SetSymbol(ULPOS Address,WCHAR*szSymbol)\n{\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t{\n\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\treturn false;\n\t}\n\tif(!IsOpened())\n\t\treturn false;\n\tchar szBuffer[MAX_SYMBOL_LEN];\n\tCSymbolModule*pSymbolModule;\n\tCDbgModule*pDbgModule = gpSyser->m_pDebugger->m_ModuleList.GetModule(Address);\n\tif(pDbgModule==NULL)\n\t\treturn false;\n\tif(pDbgModule->m_pSymbolModule==NULL)\n\t{\n\t\tpSymbolModule = gpSyser->m_SyserUI.m_SymbolContainer.GetSymbolModule(pDbgModule->m_ModuleID);\n\t\tif(pSymbolModule==NULL)\n\t\t{\n\t\t\tpSymbolModule = gpSyser->m_SyserUI.m_SymbolContainer.InsertSymbolModule(pDbgModule->m_ModuleID);\n\t\t\tif(pSymbolModule==NULL)\n\t\t\t\treturn false;\n\t\t\tpSymbolModule->m_ModuleName = pDbgModule->m_ModuleFullName;\n\t\t\tgpSyser->m_SyserUI.AttachSymbolModuleToProcess(pSymbolModule);\n\t\t}\n\t}\n\tUnicodeToAnsi(szSymbol,szBuffer,MAX_SYMBOL_LEN);\n\tif(pDbgModule->m_pSymbolModule)\n\t\treturn pDbgModule->m_pSymbolModule->SetSymbol(Address-pDbgModule->m_ModuleBase,szBuffer);\n\telse\n\t\treturn NULL;\n}\n\nvoid CSyserCodeDoc::InsertX86RegSym(X86_CPU_REG_PTR*pRegPtr)\n{\n\tInsertPtrSym(\"CR2\",pRegPtr->pCR2,4);\n\tInsertPtrSym(\"EAX\",pRegPtr->pEAX,4);\n\tInsertPtrSym(\"EBX\",pRegPtr->pEBX,4);\n\tInsertPtrSym(\"ECX\",pRegPtr->pECX,4);\n\tInsertPtrSym(\"EDX\",pRegPtr->pEDX,4);\n\tInsertPtrSym(\"EBP\",pRegPtr->pEBP,4);\n\tInsertPtrSym(\"ESP\",pRegPtr->pESP,4);\n\tInsertPtrSym(\"ESI\",pRegPtr->pESI,4);\n\tInsertPtrSym(\"EDI\",pRegPtr->pEDI,4);\n\tInsertPtrSym(\"EIP\",pRegPtr->pEIP,4);\n\tInsertPtrSym(\"EFLAG\",pRegPtr->pEFL,4);\n\tInsertPtrSym(\"EFL\",pRegPtr->pEFL,4);\n\n\tInsertPtrSym(\"AX\",pRegPtr->pEAX,2);\n\tInsertPtrSym(\"BX\",pRegPtr->pEBX,2);\n\tInsertPtrSym(\"CX\",pRegPtr->pECX,2);\n\tInsertPtrSym(\"DX\",pRegPtr->pEDX,2);\n\tInsertPtrSym(\"BP\",pRegPtr->pEBP,2);\n\tInsertPtrSym(\"SP\",pRegPtr->pESP,2);\n\tInsertPtrSym(\"SI\",pRegPtr->pESI,2);\n\tInsertPtrSym(\"DI\",pRegPtr->pEDI,2);\n\tInsertPtrSym(\"IP\",pRegPtr->pEIP,2);\n\n\tInsertPtrSym(\"AH\",RT_PVOID(pRegPtr->pEAX,1),1);\n\tInsertPtrSym(\"BH\",RT_PVOID(pRegPtr->pEBX,1),1);\n\tInsertPtrSym(\"CH\",RT_PVOID(pRegPtr->pECX,1),1);\n\tInsertPtrSym(\"DH\",RT_PVOID(pRegPtr->pEDX,1),1);\n\n\tInsertPtrSym(\"AL\",pRegPtr->pEAX,1);\n\tInsertPtrSym(\"BL\",pRegPtr->pEBX,1);\n\tInsertPtrSym(\"CL\",pRegPtr->pECX,1);\n\tInsertPtrSym(\"DL\",pRegPtr->pEDX,1);\n}\n\nUINT CSyserCodeDoc::GetLineMark(ULPOS Address)\n{\n\tBREAK_POINT*pBP;\n\tUINT Mark = CV_MARK_NULL;\n\tif(!IsOpened())\n\t\treturn CV_MARK_NULL;\n\tpBP = gpSyser->m_pDebugger->GetCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\tif(pBP)\n\t{\n\t\tif(pBP->State == BP_STATE_ENABLE || pBP->State == BP_STATE_RECOV)\n\t\t\tMark|=CV_MARK_BPX;\n\t\telse if(pBP->State == BP_STATE_DISABLE)\n\t\t\tMark|=CV_MARK_DISABLED_BPX;\n\t}\n\telse \n\t{\n\t\tCModuleBPMap::IT Iter = gpSyser->m_SyserUI.m_ModuleBPMap.Find(Address);\n\t\tif(Iter.IsExist())\n\t\t{\n\t\t\tif(Iter->State == BP_STATE_ENABLE)\n\t\t\t\tMark|=CV_MARK_BPX;\n\t\t\telse\n\t\t\t\tMark|=CV_MARK_DISABLED_BPX;\n\t\t}\n\t}\n\tif(Address == *X86_REG_PTR.pEIP)\n\t\tMark|=CV_MARK_EIP;\n\tif(gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.IsBookMark(Address))\n\t\tMark|=CV_MARK_BOOK_MARK;\n\treturn Mark;\n}\n\nbool CSyserCodeDoc::IsExecutePointVisible(ULPOS Address,ULSIZE Size)\n{\n\tint Len;\n\tULPOS Off=0;\n\twhile(Off<Size)\n\t{\n\t\tif(Address+Off == *X86_REG_PTR.pEIP)\n\t\t\treturn true;\n\t\tLen=InstrLen(Address+Off);\n\t\tif(Len==0)\n\t\t\tLen=1;\n\t\tOff+=Len;\n\t}\n\treturn false;\n}\n\nPCSTR szPublicModuleName[]=\n{\n\t\"kernel32.dll\",\n\t\"user32.dll\",\n\t\"gdi32.dll\",\n\t\"advapi32.dll\",\n\t\"ws2_32.dll\",\n\tNULL\n};\n\nCSyserUI::CSyserUI()\n{\n\tm_SyserDI.m_pCodeDoc = &m_CodeDoc;\n\tm_SyserDI.m_pCommentContainer = &m_CommentContainer;\n\tm_SyserDI.m_pSymbolContainer = &m_SymbolContainer;\n}\n\nCSyserUI::~CSyserUI()\n{\n\n}\n\n#ifdef CODE_OS_WIN\n\nbool CSyserUI::ToggleCodeBP(ULPOS Address)\n{\n\tbool Result;\n\tBREAK_POINT*pBP = gpSyser->m_pDebugger->GetCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_PATCH|BP_TYPE_DEBUG);\n\tif(pBP)\n\t\tResult = gpSyser->m_pDebugger->RemoveCodeBP(pBP);\n\telse\n\t\tResult = gpSyser->m_pDebugger->InsertCodeBP(Address,0,BP_STATE_ENABLE)!=0;\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn Result;\n}\n\n\nbool CSyserUI::ToggleCodeBPState(ULPOS Address)\n{\n\tbool Result;\n\tBREAK_POINT*pBP;\n\tResult = false;\n\tpBP = gpSyser->m_pDebugger->GetCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_PATCH|BP_TYPE_DEBUG);\n\tif(pBP)\n\t{\n\t\tif(pBP->State==BP_STATE_ENABLE)\n\t\t\tResult = gpSyser->m_pDebugger->DisableCodeBP(pBP);\n\t\telse \n\t\t\tResult = gpSyser->m_pDebugger->EnableCodeBP(pBP);\n\t}\n\treturn Result;\n}\n\nbool CSyserUI::InsertCodeBP(ULPOS Address,PCSTR Name,PCSTR Contidion,PCSTR DoCmd)\n{\n\tBREAK_POINT*pBP;\n\tpBP = gpSyser->m_pDebugger->InsertCodeBP(Address,0,BP_STATE_ENABLE);\n\tif(pBP==NULL)\n\t\treturn false;\n\tif(Contidion && *Contidion)\n\t\tpBP->Condition = Contidion;\n\tif(Name && *Name)\n\t\tpBP->Name = Name;\n\tif(DoCmd && *DoCmd)\n\t\tpBP->DoCmd = DoCmd;\n\treturn true;\n}\n\nbool CSyserUI::RemoveCodeBP(ULPOS Address)\n{\n\treturn gpSyser->m_pDebugger->RemoveCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n}\n\nvoid CSyserUI::EnableAllModuleBP(bool bEnable)\n{\n}\n\nbool CSyserUI::EnableModuleBP(ULPOS Address,bool bEnable)\n{\n\treturn false;\n}\n\n#endif\n\n\n#ifdef CODE_OS_NT_DRV\n\nbool CSyserUI::ToggleCodeBP(ULPOS Address)\n{\n\tbool Result;\n\tif(IsPublicBP(Address)==false)\n\t{\n\t\tBREAK_POINT*pBP = gpSyser->m_pDebugger->GetCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_PATCH|BP_TYPE_DEBUG);\n\t\tif(pBP)\n\t\t\tResult = gpSyser->m_pDebugger->RemoveCodeBP(pBP);\n\t\telse\n\t\t\tResult = gpSyser->m_pDebugger->InsertCodeBP(Address,0,BP_STATE_ENABLE)!=0;\n\t}\n\telse\n\t{\n\t\tCModuleBPMap::IT ModBPIter=gpSyser->m_SyserUI.m_ModuleBPMap.Find(Address);\n\t\tif(ModBPIter.IsExist())\n\t\t{\n\t\t\tResult = RemoveCodeBP(Address);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tResult = InsertCodeBP(Address);\n\t\t}\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn Result;\n}\n\nbool CSyserUI::ToggleCodeBPState(ULPOS Address)\n{\n\tbool Result;\n\tBREAK_POINT*pBP;\n\tResult = false;\n\tif(IsPublicBP(Address)==false)\n\t{\n\t\tpBP = gpSyser->m_pDebugger->GetCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_PATCH|BP_TYPE_DEBUG);\n\t\tif(pBP)\n\t\t{\n\t\t\tif(pBP->State==BP_STATE_ENABLE)\n\t\t\t\tResult = gpSyser->m_pDebugger->DisableCodeBP(pBP);\n\t\t\telse \n\t\t\t\tResult = gpSyser->m_pDebugger->EnableCodeBP(pBP);\n\t\t}\n\t}\n\telse\n\t{\n\t\tCModuleBPMap::IT ModBPIter=gpSyser->m_SyserUI.m_ModuleBPMap.Find(Address);\n\t\tif(ModBPIter.IsExist())\n\t\t{\n\t\t\tfor(CProcMap::IT ProcIter=gpSyser->m_SysInfo.m_ProcMap.Begin();ProcIter.IsExist();ProcIter++)\n\t\t\t{\n\t\t\t\tif(ModBPIter->State==BP_STATE_ENABLE)\n\t\t\t\t\tProcIter->DisableCodeBP(Address);\n\t\t\t\telse\n\t\t\t\t\tProcIter->EnableCodeBP(Address);\n\t\t\t}\n\t\t\tResult = true;\n\t\t\tModBPIter->State = ModBPIter->State == BP_STATE_ENABLE?BP_STATE_DISABLE:BP_STATE_ENABLE;\n\t\t}\n\t}\n\tUPDATE_CODE_VIEW();\n\tUPDATE_SOURCE_CODE_VIEW();\n\tUPDATE_BP_FORM();\n\treturn Result;\n}\n\nbool CSyserUI::InsertCodeBP(ULPOS Address,PCSTR Name,PCSTR Contidion,PCSTR DoCmd)\n{\n\tBREAK_POINT*pBP;\n\tCHAR szModuleName[MAX_FN_LEN];\n\tif(IsPublicBP(Address,szModuleName)==false)\n\t{\n\t\tif(Address >= gpSyser->m_SysInfo.m_SyserBase && Address < gpSyser->m_SysInfo.m_SyserHighBase)\n\t\t\treturn false;\n\t\tpBP = gpSyser->m_pDebugger->InsertCodeBP(Address,0,BP_STATE_ENABLE);\n\t\tif(pBP==NULL)\n\t\t\treturn false;\n\t\tif(Contidion && *Contidion)\n\t\t\tpBP->Condition = Contidion;\n\t\tif(Name && *Name)\n\t\t\tpBP->Name = Name;\n\t\tif(DoCmd && *DoCmd)\n\t\t\tpBP->DoCmd = DoCmd;\n\t}\n\telse\n\t{\n\t\tCModuleBPMap::IT ModBPIter=gpSyser->m_SyserUI.m_ModuleBPMap.InsertUnique(Address);\n\t\tif(ModBPIter.IsExist()==false)\n\t\t\treturn false;\n\t\tModBPIter->ModuleFileName = szModuleName;\n\t\tModBPIter->State = BP_STATE_ENABLE;\n\t\tif(Contidion && *Contidion)\n\t\t\tModBPIter->Condition = Contidion;\n\t\tif(Name && *Name)\n\t\t{\n\t\t\tModBPIter->Name = Name;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tchar szSymbol[256];\n\t\t\tif(GetAlmostSym(Address,szSymbol))\n\t\t\t\tModBPIter->Name = szSymbol;\n\t\t}\n\t\tif(DoCmd && *DoCmd)\n\t\t\tModBPIter->DoCmd = DoCmd;\n\t\tfor(CProcMap::IT ProcIter=gpSyser->m_SysInfo.m_ProcMap.Begin();ProcIter.IsExist();ProcIter++)\n\t\t{\n\t\t\tpBP = ProcIter->InsertCodeBP(Address,0,BP_STATE_ENABLE);\n\t\t\tif(pBP)\n\t\t\t{\n\t\t\t\tpBP->Name = ModBPIter->Name;\n\t\t\t\tpBP->Condition = ModBPIter->Condition;\n\t\t\t\tpBP->DoCmd = ModBPIter->DoCmd;\n\t\t\t\tpBP->pModuleBP = &(*ModBPIter);\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSyserUI::RemoveCodeBP(ULPOS Address)\n{\n\tBREAK_POINT*pBP;\n\tCHAR szModuleName[MAX_FN_LEN];\n\tif(IsPublicBP(Address,szModuleName)==false)\n\t{\n\t\treturn gpSyser->m_pDebugger->RemoveCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t}\n\telse\n\t{\n\t\tCModuleBPMap::IT ModBPIter=gpSyser->m_SyserUI.m_ModuleBPMap.Find(Address);\n\t\tif(ModBPIter.IsExist()==false)\n\t\t\treturn false;\n\t\tgpSyser->m_SyserUI.m_ModuleBPMap.Remove(ModBPIter);\n\t\tfor(CProcMap::IT ProcIter=gpSyser->m_SysInfo.m_ProcMap.Begin();ProcIter.IsExist();ProcIter++)\n\t\t{\n\t\t\tProcIter->RemoveCodeBP(Address,BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CSyserUI::EnableAllModuleBP(bool bEnable)\n{\n\tfor(CModuleBPMap::IT ModBPIter=m_ModuleBPMap.Begin();ModBPIter.IsExist();ModBPIter++)\n\t{\n\t\tfor(CProcMap::IT ProcIter=gpSyser->m_SysInfo.m_ProcMap.Begin();ProcIter.IsExist();ProcIter++)\n\t\t{\n\t\t\tif(bEnable)\n\t\t\t\tProcIter->EnableCodeBP(ModBPIter.Key(),BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\t\telse\n\t\t\t\tProcIter->DisableCodeBP(ModBPIter.Key(),BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\t}\n\t\tModBPIter->State = bEnable?BP_STATE_ENABLE:BP_STATE_DISABLE;\n\t}\n}\n\nbool CSyserUI::EnableModuleBP(ULPOS Address,bool bEnable)\n{\n\tCModuleBPMap::IT ModBPIter=m_ModuleBPMap.Find(Address);\n\tif(ModBPIter.IsExist()==false)\n\t\treturn false;\n\tfor(CProcMap::IT ProcIter=gpSyser->m_SysInfo.m_ProcMap.Begin();ProcIter.IsExist();ProcIter++)\n\t{\n\t\tif(bEnable)\n\t\t\tProcIter->EnableCodeBP(ModBPIter.Key(),BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t\telse\n\t\t\tProcIter->DisableCodeBP(ModBPIter.Key(),BP_TYPE_INC_ALL,BP_TYPE_DEBUG|BP_TYPE_PATCH);\n\t}\n\tModBPIter->State = bEnable?BP_STATE_ENABLE:BP_STATE_DISABLE;\n\treturn true;\n}\n\nbool CSyserUI::IsPublicBP(ULPOS Address,PSTR ModuleName)\n{\n\tif(gpSyser->m_pCsrssProcess==NULL)\n\t\treturn false;\n\tCDbgModule*pDbgModule = gpSyser->m_pCsrssProcess->GetModule(Address);\n\tif(pDbgModule==NULL)\n\t\treturn false;\n\tfor(int n=0;szPublicModuleName[n];n++)\n\t{\n\t\tif(TStrICmp(pDbgModule->m_ModuleName,szPublicModuleName[n])==0)\n\t\t{\n\t\t\tif(ModuleName)\n\t\t\t\tTStrCpy(ModuleName,(PCSTR)pDbgModule->m_ModuleFullName);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nvoid CSyserUI::SetPublicSymbolModuleBase()\n{\n\tCDbgModule*pDbgModule;\n\tif(gpSyser->m_pCsrssProcess==NULL)\n\t\treturn;\n\tfor(int n=0;szPublicModuleName[n];n++)\n\t{\n\t\tpDbgModule = gpSyser->m_pCsrssProcess->GetModule(szPublicModuleName[n]);\n\t\tif(pDbgModule && pDbgModule->m_pSymbolModule)\n\t\t{\n\t\t\tpDbgModule->m_pSymbolModule->m_ModuleBase = pDbgModule->m_ModuleBase;\n\t\t\tpDbgModule->m_pSymbolModule->m_ModuleSize = pDbgModule->m_ModuleSize;\n\t\t}\n\t}\n}\n#endif\n\n\nbool CSyserUI::InsertLoadBP(PCSTR ModuleName,UINT Type,BP_STATE State)\n{\n\tCModuleLoadBPMap::IT Iter = m_ModuleLoadBPMap.InsertUnique(ModuleName);\n\tif(Iter.IsExist()==false)\n\t\treturn false;\n\tIter->Type = Type;\n\tIter->State = State;\n\treturn true;\n}\n\nbool CSyserUI::RemoveLoadBP(PCSTR ModuleName)\n{\n\treturn m_ModuleLoadBPMap.Remove(ModuleName)!=0;\n}\n\nvoid CSyserUI::EnableAllLoadBP(bool bEnable)\n{\n\tfor(CModuleLoadBPMap::IT Iter=m_ModuleLoadBPMap.Begin();Iter.IsExist();Iter++)\n\t{\n\t\tif((Iter->Type&(BP_TYPE_DEBUG|BP_TYPE_PATCH))==0)\n\t\t{\n\t\t\tIter->State = bEnable?BP_STATE_ENABLE:BP_STATE_DISABLE;\n\t\t}\n\t}\n}\n\nbool CSyserUI::RegisterPluginModule(PCWSTR ModuleName,SYSER_PLUGIN_MODULE*pPluginModule)\n{\n\tCPluginMap::IT Iter = gpSyser->m_PluginMap.InsertUnique(ModuleName,*pPluginModule);\n\tif(Iter==gpSyser->m_PluginMap.End())\n\t\treturn false;\n\tOUTPUT(WSTR(\"Syser : Register Plugin Module %s (%s)\\n\"),ModuleName,pPluginModule->PluginInfo);\n\treturn true;\n}\n\nbool CSyserUI::UnregisterPluginModule(PCWSTR ModuleName)\n{\n\tCPluginMap::IT Iter = gpSyser->m_PluginMap.Find(ModuleName);\n\tif(Iter==gpSyser->m_PluginMap.End())\n\t\treturn false;\n\tgpSyser->m_PluginMap.Remove(Iter);\n\tOUTPUT(WSTR(\"Syser : Unregister Plugin Module %s\\n\"),ModuleName);\n\treturn true;\n}\n\nHANDLE CSyserUI::InsertMenu(void*hParentMenu,const WCHAR*szMenuName,FPMenuProc fpMenuProc)\n{\n\tHANDLE hItem;\n\thItem = gpSyser->m_MainFrame.m_SystemExplorer.m_WndMenu.InsertItem(-1,szMenuName,0,0);\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_WndMenu.SetItemData(hItem,(NUM_PTR)fpMenuProc);\n\treturn hItem;\n}\n\nbool CSyserUI::RemoveMenu(HANDLE hMenu)\n{\n\treturn true;\n}\n\nvoid CSyserUI::Outputf(PCWSTR szMsg,...)\n{\n\tva_list Next;\n\tva_start(Next,szMsg);\n\tgpSyser->m_MainFrame.m_ConsoleWnd.VPrintf(szMsg,Next);\n\tva_end(Next);\n}\n\nvoid CSyserUI::Output(PCDSTR szMsg)\n{\n\tgpSyser->m_MainFrame.m_ConsoleWnd.Output((WISP_COLOR_CHAR*)szMsg);\n}\n\nbool CSyserUI::EnableMenu(HANDLE hMenu,bool bEnable)\n{\n\treturn true;\n}\n\nvoid* CSyserUI::GetMainTabWnd()\n{\n\treturn &gpSyser->m_MainFrame.m_MainTabWnd;\n}\n\nvoid* CSyserUI::GetMainMenu()\n{\n\treturn &gpSyser->m_MainFrame.m_SystemExplorer.m_WndMenu;\n}\n\nvoid* CSyserUI::GetWisp()\n{\n\treturn gpCurWisp;\n}\n\nbool CSyserUI::InsertCmd(PCWSTR szCmd,FPCmd pCmdProc,void*pUserData,PCWSTR pComment,PCWSTR pUsage)\n{\n\treturn gpSyser->m_MainFrame.m_ConsoleWnd.InsertCmd(szCmd,(CMDPROC)pCmdProc,pUserData,pComment,pUsage);\n}\n\nvoid CSyserUI::RemoveCmd(PCWSTR szCmd)\n{\n\tgpSyser->m_MainFrame.m_ConsoleWnd.RemoveCmd(szCmd);\n}\n\nint CSyserUI::RunCmd(PCWSTR szCmd)\n{\n\treturn RUNCMD(szCmd);\n}\n\nbool CSyserUI::CalcExp(const CHAR*szExp,ULONG*pResult)\n{\n\treturn m_CodeDoc.CalcExp(szExp,(ULONG*)pResult);\n}\n\nbool CSyserUI::CalcExp(const WCHAR*szExp,ULONG*pResult)\n{\n\tCHAR szBuffer[256];\n\tif(szExp==NULL)\n\t\treturn false;\n\tUnicodeToAnsi(szExp,szBuffer,256);\n\treturn m_CodeDoc.CalcExp(szBuffer,(ULONG*)pResult);\n}\n\nbool CSyserUI::SegmentFilter(const WCHAR*szExp,DWORD*pResult)\n{\n\treturn CalcExp(szExp,pResult);\n}\n\nbool CSyserUI::GetSegmentBaseAddress(const WCHAR* pStr,OUT WCHAR* pOutStr,OUT DWORD* SegmentBaseAddres,OUT DWORD* SegmentLimit)\n{\n\tint Len,i,j,k;\n\tint PrevEnd=0;\n\tchar DigBuf[9];\n\tDWORD SegmentSelector;\n\tWCHAR *pSegment=NULL;\n\tLen=TStrLen(pStr);\n\tfor(i = 1; i < Len;i++)\n\t{\n\t\tif(pStr[i]!=':')\n\t\t\tcontinue;\n\t\tif(i-PrevEnd>=2)\n\t\t{\n\t\t\tif(pStr[i-1]=='s'||pStr[i-1]=='S')\n\t\t\t{\n\t\t\t\tswitch(pStr[i-2]) {\n\t\t\t\tcase 'c':case 'C':case 'd':case 'D':case 'e':case 'E':\n\t\t\t\tcase 'f':case 'F':case 'g':case 'G':case 's':case 'S':\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor(k = 0,j = i-1;j>=PrevEnd;j--,k++)\n\t\t\t\t{\n\t\t\t\t\tif((pStr[j]>='0'&& pStr[j]<='9')||(pStr[j]>='a'&&pStr[j]<='f')||(pStr[j]>='A'&&pStr[j]<='F'))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(k&&k<9)\n\t\t\t\t{\n\t\t\t\t\tTStrNCpy(DigBuf,&pStr[j+1],k+1);\n\t\t\t\t\tSegmentSelector=0;\n\t\t\t\t\tUSHexStrToNum(DigBuf,&SegmentSelector);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSyserUI::GetSym(ULPOS Address,PSTR szSym,int MaxLength)\n{\n\tPCSTR pszSym;\n\tif(gpSyser->m_pDebugger==NULL)\n\t\treturn NULL;\n\tif(SyserOption.iShowFullSym)\n\t{\n\t\tif(gpSyser->m_pDebugger->m_ModuleList.GetFullSymbol(Address,szSym,MaxLength))\n\t\t\treturn true;\n\t\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger && gpSyser->m_pSysDebugger->m_ModuleList.GetFullSymbol(Address,szSym,MaxLength))\n\t\t\treturn true;\n\t\t//ģȫֿɼ\n\t\tif(gpSyser->m_SyserUI.m_SymbolContainer.GetFullSymbol(Address,szSym,MaxLength))\n\t\t\treturn true;\n\t}\n\telse\n\t{\n\t\tif(pszSym = gpSyser->m_pDebugger->m_ModuleList.GetSymbol(Address))\n\t\t{\n\t\t\tTStrCpyLimit(szSym,pszSym,MaxLength);\n\t\t\treturn true;\n\t\t}\n\t\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger && gpSyser->m_pSysDebugger)\n\t\t{\n\t\t\tif(pszSym = gpSyser->m_pSysDebugger->m_ModuleList.GetSymbol(Address))\n\t\t\t{\n\t\t\t\tTStrCpyLimit(szSym,pszSym,MaxLength);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t//ģȫֿɼ\n\t\tif(pszSym = gpSyser->m_SyserUI.m_SymbolContainer.GetSymbol(Address))\n\t\t{\n\t\t\tTStrCpyLimit(szSym,pszSym,MaxLength);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\nbool CSyserUI::GetString(ULPOS Address, WCHAR* szBuffer,int ccLen,int& type)\n{\n\tchar Buffer[256];\n\tif(IsUNICODEString(Address,szBuffer,ccLen)==true)\n\t{\n\t\ttype=1;\n\t\treturn true;\n\t}\n\tif(IsASCIIString(Address,Buffer,sizeof(Buffer))==false)\n\t\treturn false;\t\t \n\tTStrCpyLimit(szBuffer,Buffer,ccLen);\n\tAnsiToUnicode((const char*)Buffer,szBuffer,ccLen);\n\ttype=0;\n\treturn true;\n}\nbool CSyserUI::IsASCIIString(ULPOS Address,PSTR szBuffer,int ccLen)\n{\n\tCFindString FindString;\n\tBYTE InBuffer[256];\n\tBYTE OutBuffer[256];\n\tULSIZE Size;\n\tint OutLen;\n\tSize = m_CodeDoc.ReadMemory(Address,InBuffer,sizeof(InBuffer));\n\tif(Size<10)\n\t\treturn false;\n\tif(FindString.GetString(InBuffer,Size,(BYTE*)OutBuffer,sizeof(OutBuffer),&OutLen))\n\t{\t\t\n\t\tSize = TStrCpy(szBuffer,\"ASCII \\\"\");\n\t\tTStrCpyLimit(szBuffer+Size,OutBuffer,ccLen-Size-1);\n\t\tTStrCat(szBuffer,\"\\\"\");\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CSyserUI::IsUNICODEString(ULPOS Address,WCHAR* szBuffer,int ccLen)\n{\n\tCFindString FindString;\n\tBYTE InBuffer[256];\n\tWCHAR OutBuffer[256];\n\tULSIZE Size;\n\tint OutLen;\n\tSize = m_CodeDoc.ReadMemory(Address,InBuffer,sizeof(InBuffer));\n\tif(Size<10)\n\t\treturn false;\n\tif(FindString.GetUnicodeString(InBuffer,Size,(BYTE*)OutBuffer,sizeof(OutBuffer),&OutLen))\n\t{\t\t\n\t\tSize = TStrCpy(szBuffer,\"UNICODE \\\"\");\n\t\tTStrCpyLimit(szBuffer+Size,OutBuffer,ccLen-Size-1);\n\t\tTStrCat(szBuffer,\"\\\"\");\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CSyserUI::GetAlmostSym(ULPOS Address,PSTR szSym)\n{\n\tCHAR szBuffer[256];\n\tULPOS AlmostAddress = Address;\n\t*szSym=0;\n\tif(gpSyser->m_pDebugger->m_ModuleList.GetNearbySymbolAddrress(&AlmostAddress)==false)\n\t{\n\t\tif(gpSyser->m_pDebugger == gpSyser->m_pSysDebugger)\n\t\t\treturn false;\n\t\tif(gpSyser->m_pSysDebugger->m_ModuleList.GetNearbySymbolAddrress(&AlmostAddress)==false)\n\t\t\treturn false;\n\t}\n\tif(GetSym(AlmostAddress,szBuffer)==false)\n\t\treturn false;\n\tif(AlmostAddress==Address)\n\t{\n\t\tTStrCpy(szSym,szBuffer);\n\t}\n\telse if(AlmostAddress>Address)\n\t{\n\t\tTSPrintf(szSym,\"%s-0x%X\",szBuffer,AlmostAddress - Address);\n\t}\n\telse\n\t{\n\t\tTSPrintf(szSym,\"%s+0x%X\",szBuffer,Address - AlmostAddress);\n\t}\n\treturn true;\n}\n\nint CSyserUI::GetFullSymbol(PSTR szPart)\n{\n\tint Length = TStrLen(szPart);\n\n\tfor(CDbgModuleMap::IT ModeIter=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();ModeIter.IsExist();ModeIter++)\n\t\tif(ModeIter->m_pSymbolModule)\n\t\t\tfor(CSymbolMap::IT Iter = ModeIter->m_pSymbolModule->m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t\t\t\tif(TStrNICmp(szPart,(PCSTR)*Iter,Length)==0)\n\t\t\t\t\treturn TStrCpyLimit(szPart,(PCSTR)*Iter,MAX_SYMBOL_LEN);\n\n\tif(gpSyser->m_pDebugger != gpSyser->m_pSysDebugger)\n\tfor(CDbgModuleMap::IT ModeIter=gpSyser->m_pSysDebugger->m_ModuleList.m_DbgModuleMap.Begin();ModeIter.IsExist();ModeIter++)\n\t\tif(ModeIter->m_pSymbolModule)\n\t\t\tfor(CSymbolMap::IT Iter = ModeIter->m_pSymbolModule->m_SymbolMap.Begin();Iter.IsExist();Iter++)\n\t\t\t\tif(TStrNICmp(szPart,(PCSTR)*Iter,Length)==0)\n\t\t\t\t\treturn TStrCpyLimit(szPart,(PCSTR)*Iter,MAX_SYMBOL_LEN);\n\n\treturn Length;\n}\n\nint CSyserUI::GetInstrLen(DWORD Address)\n{\n\treturn m_CodeDoc.InstrLen(Address);\n}\n\nvoid CSyserUI::SetInstrMode(UINT Mode)\n{\n\treturn m_CodeDoc.SetMode(Mode);\n}\n\nbool CSyserUI::LoadComment()\n{\n\tchar szFileName[MAX_FN_LEN];\n#ifdef CODE_OS_NT_DRV\n\tTStrCpy(szFileName,gpSyser->m_SysInfo.m_szSystem32DriversA);\n\tTStrCat(szFileName,\"Syser.cmt\");\n#else\n\tGetSystemDirectory(szFileName,MAX_FN_LEN);\n\tTStrCat(szFileName,\"\\\\drivers\\\\Syser.cmt\");\n#endif\n\tCImageFileStream File;\n\tif(File.Open(szFileName)==false)\n\t\treturn false;\n\tCCommentContainer::IT DelIter,Iter;\n\tIter = m_CommentContainer.Begin();\n\twhile(Iter!=m_CommentContainer.End())\n\t{\n\t\tDelIter=Iter;\n\t\tIter++;\n\t\tDetachCommentModuleToProcess(&(*DelIter));\t\t\n\t}\n\tm_CommentContainer.Load(File);\n\tFile.Close();\n\tfor(CCommentContainer::IT Iter=m_CommentContainer.Begin();Iter!=m_CommentContainer.End();Iter++)\n\t{\n\t\tAttachCommentModuleToProcess(&(*Iter));\n\t\tIter->m_ReferenceCount++;//ü1֤פ\n\t}\n\tUPDATE_CODE_VIEW();\n\treturn true;\n}\n\nbool CSyserUI::SaveComment()\n{\n\tchar szFileName[MAX_FN_LEN];\n#ifdef CODE_OS_NT_DRV\n\tTStrCpy(szFileName,gpSyser->m_SysInfo.m_szSystem32DriversA);\n\tTStrCat(szFileName,\"Syser.cmt\");\n#else\n\tGetSystemDirectory(szFileName,MAX_FN_LEN);\n\tTStrCat(szFileName,\"\\\\drivers\\\\Syser.cmt\");\n#endif\n\tif(m_CommentContainer.Count()==0)\n\t{\n\t\tgpFileIO->DeleteFile(szFileName);\n\t\treturn true;\n\t}\n\tCImageFileStream File;\n\tif(File.Create(szFileName)==false)\n\t\treturn false;\n\tm_CommentContainer.Save(File);\n\tFile.Close();\n\tfor(CCommentContainer::IT Iter=m_CommentContainer.Begin();Iter!=m_CommentContainer.End();Iter++)\n\t{\n\t\tIter->m_ReferenceCount++;//ü1֤פ\n\t}\n\treturn true;\n}\n\nint CSyserUI::AttachSymbolModuleToProcess(CSymbolModule*pSymbolModule)\n{\n\tCDbgModule*pDbgModule;\n\tint Count=0;\n#ifdef CODE_OS_NT_DRV\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\t\n\t{\n\t\tpDbgModule = Iter->m_ModuleList.GetModuleByID(pSymbolModule->m_ModuleID);\n\t\tif(pDbgModule && pDbgModule->m_pSymbolModule==NULL)\n\t\t{\n\t\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n\t\t\tCount++;\n\t\t}\n\t}\n#else\n\tpDbgModule = gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(pSymbolModule->m_ModuleID);\n\tif(pDbgModule && pDbgModule->m_pSymbolModule==NULL)\n\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n#endif\n\treturn Count;\n}\n\nint CSyserUI::DetachSymbolModuleToProcess(CSymbolModule*pSymbolModule)\n{\n\tint Count=0;\n#ifdef CODE_OS_NT_DRV\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\t\n\t{\n\t\tfor(CDbgModuleMap::IT ModIter=Iter->m_ModuleList.m_DbgModuleMap.Begin();ModIter!=Iter->m_ModuleList.m_DbgModuleMap.End();ModIter++)\n\t\t{\n\t\t\tif(ModIter->m_pSymbolModule==pSymbolModule)\n\t\t\t{\n\t\t\t\tModIter->DetachSymbolModule(&gpSyser->m_SyserUI.m_SymbolContainer);\n\t\t\t\tCount++;\n\t\t\t}\n\t\t}\n\t}\n#else\n\tfor(CDbgModuleMap::IT Iter=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t{\n\t\tif(Iter->m_pSymbolModule==pSymbolModule)\n\t\t{\n\t\t\tIter->DetachSymbolModule(&m_SymbolContainer);\n\t\t\tCount++;\n\t\t}\n\t}\n#endif\n\treturn Count;\n}\n\n\nDWORD CSyserUI::WriteMemory(DWORD Address,void*Buffer,DWORD Size)\n{\n\tif(gpSyser == NULL || gpSyser->m_pDebugger == NULL || Size == 0 || Buffer == NULL)\n\t\treturn 0;\n\treturn gpSyser->m_pDebugger->WriteMemory(Address,Buffer,Size);\n}\nDWORD CSyserUI::ReadMemory(DWORD Address,void*Buffer,DWORD Size)\n{\n\tif(gpSyser == NULL || gpSyser->m_pDebugger == NULL || Size == 0 || Buffer == NULL)\n\t\treturn 0;\n\treturn gpSyser->m_pDebugger->ReadMemory(Address,Buffer,Size);\n}\nint CSyserUI::AttachCommentModuleToProcess(CCommentModule*pCmtMod)\n{\n\tCDbgModule*pDbgModule;\n\tint Count=0;\n#ifdef CODE_OS_NT_DRV\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\t\n\t{\n\t\tpDbgModule = Iter->m_ModuleList.GetModuleByID(pCmtMod->m_ModuleID);\n\t\tif(pDbgModule && pDbgModule->m_pCommentModule==NULL)\n\t\t{\n\t\t\tpDbgModule->AttachCommentModule(pCmtMod);\n\t\t\tCount++;\n\t\t}\n\t}\n#else\n\tpDbgModule = gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(pCmtMod->m_ModuleID);\n\tif(pDbgModule && pDbgModule->m_pCommentModule==NULL)\n\t\tpDbgModule->AttachCommentModule(pCmtMod);\n#endif\n\treturn Count;\n}\n\nint CSyserUI::DetachCommentModuleToProcess(CCommentModule*pCmtMod)\n{\n\tint Count=0;\n#ifdef CODE_OS_NT_DRV\n\tfor(CProcMap::IT Iter=gpSyser->m_SysInfo.m_ProcMap.Begin();Iter!=gpSyser->m_SysInfo.m_ProcMap.End();Iter++)\t\n\t{\n\t\tfor(CDbgModuleMap::IT ModIter=Iter->m_ModuleList.m_DbgModuleMap.Begin();ModIter!=Iter->m_ModuleList.m_DbgModuleMap.End();ModIter++)\n\t\t{\n\t\t\tif(ModIter->m_pCommentModule==pCmtMod)\n\t\t\t{\n\t\t\t\tModIter->DetachCommentModule(&gpSyser->m_SyserUI.m_CommentContainer);\n\t\t\t\tCount++;\n\t\t\t}\n\t\t}\n\t}\n#else\n\tfor(CDbgModuleMap::IT Iter=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();Iter!=gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.End();Iter++)\n\t{\n\t\tif(Iter->m_pCommentModule==pCmtMod)\n\t\t{\n\t\t\tIter->DetachCommentModule(&m_CommentContainer);\n\t\t\tCount++;\n\t\t}\n\t}\n#endif\n\treturn Count;\n}\nCSymbolModule*CSyserUI::LoadIDAMapFile(PCSTR szIDAMapFile,PCSTR szFileName,CDbgModule*pDbgModule)\n{\n\tMODULE_ID ModuleID;\n\tCHAR szSym[MAX_FN_LEN];\n\tCSymbolModule*pSymbolModule;\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t{\n\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\treturn NULL;\n\t}\n\tCPEFile PEFile;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn NULL;\n\tModuleID = MAKE_MODULE_ID(PEFile.m_PEHead.CheckSum,PEFile.m_PEHead.TimeDateStamp);\n\tpSymbolModule = m_SymbolContainer.GetSymbolModule(ModuleID);\n\tif(pSymbolModule==NULL)\n\t{\n\t\tpSymbolModule = m_SymbolContainer.InsertSymbolModule(ModuleID);\n\t\tif(pSymbolModule)\n\t\t\tpSymbolModule->m_ModuleName = szFileName;\n\t\tif(pDbgModule)\n\t\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n\t\telse\n\t\t\tAttachSymbolModuleToProcess(pSymbolModule);\n\t}\n\tCTXTFile TxtFile;\n\tif(TxtFile.Open(szIDAMapFile)==false)\n\t{\n\t\tPEFile.Close();\n\t\treturn NULL;\n\t}\n\tTTXTStrList::IT BeginIT,EndIT;\n\tDWORD SectionID;\n\tDWORD RVA;\n\tchar* c1;\n\tDWORD SectCount=(DWORD)PEFile.m_SectCount;\n\tfor(BeginIT=TxtFile.m_StrList.Begin(),EndIT=TxtFile.m_StrList.End();BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tc1=*BeginIT;\n\t\twhile(*c1==' ' || *c1=='\\t')c1++;\n\t\tif(c1[4]!=':')\n\t\t\tcontinue;\n\t\tc1[4]=0;\n\t\tif(SHexStrToNum(c1,&SectionID)==false)\n\t\t\tcontinue;\n\t\tif(SectCount<SectionID)\n\t\t\tcontinue;\n\t\tif(c1[13]=='H' || c1[13]=='h')\n\t\t\tcontinue;\n\t\tc1[13]=0;\n\t\tif(SHexStrToNum(&c1[5],&RVA)==false)\n\t\t\tcontinue;\n\t\tif(RVA>PEFile.m_Section[SectionID].VirtualSize)\n\t\t\tcontinue;\n\t\tc1+=14;\n\t\twhile(*c1==' ' || *c1=='\\t')\n\t\t\tc1++;\n\t\tRVA+=PEFile.m_Section[SectionID].VirtualAddress;\n\n\t\t//::DbgPrint(\"Section[%d]=%08x\\n\",SectionID,PEFile.m_Section[SectionID].VirtualAddress);\n\t\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t\t{\n\t\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\t\tTxtFile.Close();\n\t\t\tPEFile.Close();\n\t\t\treturn NULL;\n\t\t}\n\t\tpSymbolModule->InsertSymbol(RVA,c1);\n\t}\n\tTGetFileTitle(szFileName,szSym);\n\tpSymbolModule->InsertSymbol(0,szSym);\n\tPEFile.Close();\n\tTxtFile.Close();\n\treturn pSymbolModule;\n}\n\nchar* gMFCDllName[][2]=\n{\n\t{\"mfc42.dll\",\"mfc42.def\"},\n\t{\"mfc70.dll\",\"mfc70.def\"},\n\t{\"mfc71.dll\",\"mfc71.def\"},\n\t{\"mfc80.dll\",\"mfc80.def\"},\n\t{\"mfc90.dll\",\"mfc90.def\"},\n\t{\"mfc42d.dll\",\"mfc42d.def\"},\n\t{\"mfc70d.dll\",\"mfc70d.def\"},\n\t{\"mfc71d.dll\",\"mfc71d.def\"},\n\t{\"mfc80d.dll\",\"mfc80d.def\"},\n\t{\"mfc90d.dll\",\"mfc90d.def\"},\n\t{\"mfc42u.dll\",\"mfc42u.def\"},\n\t{\"mfc70u.dll\",\"mfc70u.def\"},\n\t{\"mfc71u.dll\",\"mfc71u.def\"},\n\t{\"mfc80u.dll\",\"mfc80u.def\"},\n\t{\"mfc90u.dll\",\"mfc90u.def\"},\n\t{\"mfc42ud.dll\",\"mfc42ud.def\"},\n\t{\"mfc70ud.dll\",\"mfc70ud.def\"},\n\t{\"mfc71ud.dll\",\"mfc71ud.def\"},\n\t{\"mfc80ud.dll\",\"mfc80ud.def\"},\n\t{\"mfc90ud.dll\",\"mfc90ud.def\"},\n};\n\nchar* IsMFCDll(PCSTR szFileName)\n{\n\tint i=0,n;\n\tn=TStrLen(szFileName);\n\tif(n>10)\n\t{\n\t\tfor(;i<sizeof(gMFCDllName)/sizeof(gMFCDllName[0]);i++)\n\t\t{\n\t\t\tif(TStrIStr(szFileName+n-10,gMFCDllName[i][0]))\n\t\t\t\treturn gMFCDllName[i][1];\n\t\t}\n\t}\n\n\treturn NULL;\n}\n\n\nchar* ReadMFCDefFile(char* FileName,int& Length)\n{\n\tCLocalFileIO File;\n\tHANDLE hFile;\n\tULLSIZE Size;\n\tchar* Buf=NULL;\n\tLength=0;\n\tif(File.OpenFile(FileName,&hFile))\n\t{\n\t\tSize = File.GetFileLength(hFile);\n\t\tif(Size<=0x100000)\n\t\t{\n\t\t\tBuf=new char[1+(ULONG)Size];\n\t\t\tif(Buf)\n\t\t\t{\n\t\t\t\tLength = File.ReadFile(hFile,Buf,(ULSIZE)Size,0);\n\t\t\t\tif(Length!=Size)\n\t\t\t\t{\n\t\t\t\t\tLength=0;\n\t\t\t\t\tdelete []Buf;\n\t\t\t\t\tBuf=NULL;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tFile.CloseHandle(hFile);\n\t}\n\treturn Buf;\n\t/*\n\tWCHAR SystemDriverPath[MAX_FN_LEN]=L\"\";\n\tOBJECT_ATTRIBUTES\toa;\n\tIO_STATUS_BLOCK\t\tIOStatus;\n\tDWORD OpenMode,ShareMode;\n\tNTSTATUS Status;\n\tUNICODE_STRING UniName;\n\tFILE_STANDARD_INFORMATION StdInfo;\n\tWCHAR *NameBuf;\n\tLARGE_INTEGER Offset64;\n\tDWORD CRCCode;\n\tHANDLE hFile;\n\tchar* Buf;\n\tRtlInitUnicodeString(&UniName,FileName);\n\tInitializeObjectAttributes(&oa,&UniName,OBJ_KERNEL_HANDLE|OBJ_CASE_INSENSITIVE,NULL,NULL);\n\tStatus = ZwOpenFile(&hFile,GENERIC_READ,&oa,&IOStatus,FILE_SHARE_READ,FILE_RANDOM_ACCESS|FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_COMPLETE_IF_OPLOCKED);\n\tif(!NT_SUCCESS(Status))\n\t\treturn NULL;\n\tStatus = ZwQueryInformationFile(hFile,&IOStatus,&StdInfo,sizeof(FILE_STANDARD_INFORMATION),FileStandardInformation);\n\tif(!NT_SUCCESS(Status))\n\t{\n\t\tZwClose(hFile);\n\t\treturn NULL;\n\t}\n\tif(StdInfo.EndOfFile.QuadPart>=0x100000)\n\t{\n\t\tZwClose(hFile);\n\t\treturn NULL;\n\t}\n\tBuf=new char[1+(int)StdInfo.EndOfFile.QuadPart];\n\tif(Buf==NULL)\n\t{\n\t\tZwClose(hFile);\n\t\treturn NULL;\n\t}\n\t\n\tBuf[StdInfo.EndOfFile.QuadPart]=0;\t\t\n\tOffset64.QuadPart=0;\n\tStatus = ZwReadFile(hFile,NULL,NULL,NULL,&IOStatus,Buf,(int)StdInfo.EndOfFile.QuadPart,&Offset64,NULL);\n\tZwClose(hFile);\n\tif(!NT_SUCCESS(Status))\n\t{\n\t\tdelete []Buf;\n\t\treturn NULL;\n\t}\n\tLength=(int)StdInfo.EndOfFile.QuadPart;\n\treturn Buf;\n\t*/\n}\nDWORD* InitMFCSym(char* Buf,int BufLen)\n{\n\tDWORD* NameArray=new DWORD[10000];\n\tDWORD Ord;\n\tif(NameArray==NULL)\n\t\treturn NULL;\n\tmemset(NameArray,0,sizeof(DWORD)*10000);\n\tint i=0,j=0,l;\n\tfor(;i<BufLen;i++)\n\t{\n\t\tif(Buf[i]=='\\n')\n\t\t{\n\t\t\tBuf[i]=0;\n\t\t\tfor(l=j;Buf[l]>='0' && Buf[l]<='9';l++);\n\t\t\tBuf[l]=0;\n\t\t\tl++;\n\t\t\tif(SDecStrToNum(Buf+j,&Ord))\n\t\t\t{\t\t\t\t\n\t\t\t\tfor(;Buf[l] && (Buf[l]==' ' || Buf[l]=='\\t');l++);\n\t\t\t\tif(Ord<10000)\n\t\t\t\t{\n\t\t\t\t\tNameArray[Ord]=(DWORD)&Buf[l];\n\t\t\t\t}\n\t\t\t}\n\t\t\tj=i+1;\n\t\t}\n\t}\n\treturn NameArray;\n}\nCSymbolModule*CSyserUI::LoadPESym(PCSTR szFileName,CDbgModule*pDbgModule)\n{\n\tMODULE_ID ModuleID;\n\tCHAR szSym[MAX_FN_LEN];\n\tCSymbolModule*pSymbolModule;\n\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t{\n\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\treturn NULL;\n\t}\n\tCPEFile PEFile;\n\tif(PEFile.Open(szFileName)==false)\n\t\treturn NULL;\n\tModuleID = MAKE_MODULE_ID(PEFile.m_PEHead.CheckSum,PEFile.m_PEHead.TimeDateStamp);\n\tpSymbolModule = m_SymbolContainer.GetSymbolModule(ModuleID);\n\tif(pSymbolModule==NULL)\n\t{\n\t\tpSymbolModule = m_SymbolContainer.InsertSymbolModule(ModuleID);\n\t\tif(pSymbolModule)\n\t\t\tpSymbolModule->m_ModuleName = szFileName;\n\t\tif(pDbgModule)\n\t\t\tpDbgModule->AttachSymbolModule(pSymbolModule);\n\t\telse\n\t\t\tAttachSymbolModuleToProcess(pSymbolModule);\n\t}\n\tchar* defname =IsMFCDll(szFileName);\n\tDWORD* pMFCSym=NULL;\n\tchar* TextBuf=NULL;\n\tif(defname)\n\t{\n\t\tint BufLen;\n\t\tchar* DefFileName;\n\t\tint nLen=0;\n#ifdef CODE_OS_WIN\n\t\tchar FileName[MAX_PATH];\n\t\tGetWindowsDirectory(FileName,sizeof(FileName));\n\t\tTStrCat(FileName,\"\\\\system32\\\\drivers\\\\plugin\\\\\");\n\t\tTStrCat(FileName,defname);\n\t\tDefFileName=FileName;\n#else\n\t\tnLen = TStrLen(gpSyser->m_SysInfo.m_szSystem32DriversA);\n\t\tTStrCat(gpSyser->m_SysInfo.m_szSystem32DriversA,\"plugin\\\\\");\n\t\tTStrCat(gpSyser->m_SysInfo.m_szSystem32DriversA,defname);\t\t\n\t\tDefFileName=gpSyser->m_SysInfo.m_szSystem32DriversA;\n#endif\t\t\t\t\n\t\tTextBuf=ReadMFCDefFile(DefFileName,BufLen);\t\t\n\t\tif(TextBuf)\n\t\t{\n\t\t\tpMFCSym = InitMFCSym(TextBuf,BufLen);\n\t\t\tif(pMFCSym==NULL)\n\t\t\t{\n\t\t\t\tdelete []TextBuf;\n\t\t\t\tTextBuf=NULL;\n\t\t\t}\n\t\t}\t\n\t\tDefFileName[nLen]=0;\n\t}\n\tchar* szSymName;\n\tfor(int n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\n\t\tif(IsHeapFreeBelow(SYSER_MAIN_HEAP,MAIN_HEAP_MIN_FREE_SIZE))\n\t\t{\n\t\t\tDbgPrint(\"Syser : Not enough memory to in symbol heap , please enlarge it in option!\\n\");\n\t\t\tPEFile.Close();\n\t\t\treturn NULL;\n\t\t}\n\t\tszSymName=PEFile.m_ExportFunc[n].FuncName;\n\t\tif(pMFCSym&&PEFile.m_ExportFunc[n].FuncOrd<10000)\n\t\t{\n\t\t\tif(pMFCSym[PEFile.m_ExportFunc[n].FuncOrd])\n\t\t\t{\n\t\t\t\tszSymName=(char*)pMFCSym[PEFile.m_ExportFunc[n].FuncOrd];\n\t\t\t}\n\t\t}\n\t\t\n\t\tpSymbolModule->InsertSymbol(PEFile.m_ExportFunc[n].Address-PEFile.m_ImageBase,szSymName);\n\t}\n\tif(pMFCSym)\n\t{\n\t\tdelete []pMFCSym;\n\t\tdelete []TextBuf;\n\t}\n\tTGetFileTitle(szFileName,szSym);\n\tpSymbolModule->InsertSymbol(0,szSym);\n\tPEFile.Close();\n\treturn pSymbolModule;\n}\n\n#ifdef CODE_OS_WIN\n\nint LoadSourceFileCallBack(IN char* OrgFileName,OUT char* NewFileName);\n\nbool CSyserUI::LoadTranslateSDS(PCSTR szFileName,ULPOS ModuleBase,ULSIZE ModuleSize)\n{\n\tchar szSymbolFileName[MAX_PATH];\n\tif(gpSyser->m_SourceDebug.IsTranslated(szFileName,szSymbolFileName)==false)\n\t\tif(gpSyser->m_SourceDebug.TranslateSymbolFile(szFileName,szSymbolFileName)==false)\n\t\t\treturn false;\n\tif(gpSyser->m_SyserUI.LoadSDSModule(szSymbolFileName)==NULL)\n\t\treturn false;\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_MultiSourceCodeView.UpdateAllView();\n\treturn true;\n}\n\n#endif\n\nCSDSModule*CSyserUI::GetSDSModule(ULPOS EIP)\n{\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModule(EIP);\n\tif(pDbgModule==NULL)\n\t{\n\t\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModule(EIP);\n\t\tif(pDbgModule==NULL)\n\t\t\treturn NULL;\n\t}\n\tCSDSModuleMap::IT Iter=m_SDSModuleMap.Find(pDbgModule->m_ModuleID);\n\tif(Iter.IsExist())\n\t{\n\t\tIter->m_pCurDbgModule = pDbgModule;\t\n\t\treturn &(*Iter);\n\t}\t\n\treturn NULL;\n}\n\nbool CSyserUI::IsSDSModuleInProcess(CSDSModule*pSDSModule)\n{\n\tMODULE_ID ModuleID = pSDSModule->GetModuleID();\n\tCDbgModule*pDbgModule=gpSyser->m_pDebugger->m_ModuleList.GetModuleByID(ModuleID);\n\tif(pDbgModule==NULL)\n\t{\n\t\tif(gpSyser->m_pDebugger!=gpSyser->m_pSysDebugger)\n\t\t\tpDbgModule=gpSyser->m_pSysDebugger->m_ModuleList.GetModuleByID(ModuleID);\n\t\tif(pDbgModule==NULL)\n\t\t{\n\t\t\tpSDSModule->m_pCurDbgModule = NULL;\n\t\t\treturn false;\n\t\t}\n\t}\n\tpSDSModule->m_pCurDbgModule = pDbgModule;\n\treturn true;\n}\n\n\nCSDSModule*CSyserUI::LoadSDSModule(PCSTR szSymbolModuleFile)\n{\n\tint SymCount,SrcCount;\n\tMODULE_ID ModuleID;\n////////////////////////////////////////////////////////////////////////////////////////////////////////\n//ѿռ䰲ȫ\n#ifdef CODE_OS_NT_DRV\n\tif(gpUserHeap[SYSER_SOURCE_DEBUG_HEAP]->m_HeapBuffer==NULL)\n\t\tgpUserHeap[SYSER_SOURCE_DEBUG_HEAP]->Create(SyserOption.iSourceCodeHeapSizeM*0x100000);\n\tif(IsHeapFreeBelow(SYSER_SOURCE_DEBUG_HEAP,0x100000))\n\t{\n\t\tDbgPrint(\"Syser : Not enough memory to in source code heap , please enlarge it in option!\\n\");\n\t\treturn NULL;\n\t}\n#endif\n//ѿռ䰲ȫ\n////////////////////////////////////////////////////////////////////////////////////////////////////////\n\tModuleID = CSDSModule::GetSDSMouleID(szSymbolModuleFile);\n\tif(ModuleID==0)\n\t\treturn NULL;\n\tSwitchHeap(SYSER_SOURCE_DEBUG_HEAP);\n\tCSDSModuleMap::IT Iter = m_SDSModuleMap.InsertUnique(ModuleID);\n\tif(Iter.IsExist()==false)\n\t{\n#ifdef CODE_OS_NT_DRV\n\t\tDbgPrint(\"Syser : Same SDS is already loaded!\\n\");\n#endif\n\t\tSwitchHeap(SYSER_MAIN_HEAP);\n\t\treturn NULL;\n\t}\n#ifdef CODE_OS_NT_DRV\n\tIter->m_MemoryUsed = gpUserHeap[SYSER_SOURCE_DEBUG_HEAP]->m_FreeChunkCount*CHUNK_SIZE;\n#endif\n\tif(Iter->LoadSymFile(szSymbolModuleFile)==false)\n\t{\n\t\tDbgPrint(\"Syser : Fail to load SDS %s\\n\",szSymbolModuleFile);\n\t\tm_SDSModuleMap.Remove(Iter);\n\t\tSwitchHeap(SYSER_MAIN_HEAP);\n\t\treturn NULL;\n\t}\n\tIter->m_ModuleFileName=TGetFileName(Iter->GetPEFileFullName());\n\tCSymbolModule*pSymbolModule = gpSyser->m_SyserUI.m_SymbolContainer.GetSymbolModule(ModuleID);\n\tif(pSymbolModule==NULL)\n\t{\n\t\tpSymbolModule = gpSyser->m_SyserUI.m_SymbolContainer.InsertSymbolModule(ModuleID);\n\t\tif(pSymbolModule==NULL)\n\t\t{\n\t\t\tDbgPrint(\"Syser : Fail to insert %s Symbol Module\\n\",szSymbolModuleFile);\t\t\t\n\t\t\tm_SDSModuleMap.Remove(Iter);\n\t\t\tSwitchHeap(SYSER_MAIN_HEAP);\n\t\t\treturn NULL;\n\t\t}\n\t\tpSymbolModule->m_ModuleName = Iter->m_ModuleFileName;\n\t\tgpSyser->m_SyserUI.AttachSymbolModuleToProcess(pSymbolModule);\n\t}\n\tSymCount=gpSyser->m_SyserUI.LoadSDSSymbol(&(*Iter));\n\tSrcCount=Iter->GetSourceFileCountInPackages();\n\tif(SrcCount==0)\n\t{//ûԴļSDSֻ\n\t\tm_SDSModuleMap.Remove(Iter);\n\t\tSwitchHeap(SYSER_MAIN_HEAP);\n\t\tDbgPrint(\"Syser : Load SDS %s < %d symbols >\\n\",TGetFileName(szSymbolModuleFile),SymCount);\n\t\treturn NULL;\n\t}\n\tpSymbolModule->m_ReferenceCount++;//ģü1\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.InsertSymbolModule(&(*Iter));\n#ifdef CODE_OS_NT_DRV\n\tIter->m_MemoryUsed -= gpUserHeap[SYSER_SOURCE_DEBUG_HEAP]->m_FreeChunkCount*CHUNK_SIZE;\n#endif\n\tSwitchHeap(SYSER_MAIN_HEAP);\n\tDbgPrint(\"Syser : Load SDS %s < %d symbols , %d source code files >\\n\",TGetFileName(szSymbolModuleFile),SymCount,SrcCount);\n\treturn &(*Iter);\n}\n\nbool CSyserUI::UnloadSDSModule(CSDSModule*pSDSModule)\n{\n\tMODULE_ID MID = pSDSModule->GetModuleID();\n\tCSDSModuleMap::IT Iter=m_SDSModuleMap.Find(MID);\n\tif(Iter.IsExist()==false)\n\t\treturn false;\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SDSModuleList.RemoveSymbolModule(&(*Iter));//жؽSDSModuleList\n\tCSymbolModule*pSymbolModule = m_SymbolContainer.GetSymbolModule(MID);\n\tif(pSymbolModule)//Ӧķģü1\n\t\tpSymbolModule->m_ReferenceCount--;\n\tDbgPrint(\"Syser : Unload SDS %s\\n\",TGetFileName((PCSTR)pSDSModule->m_SymbolFileName));\n\tm_SDSModuleMap.Remove(Iter);\n\treturn true;\n}\n\nint CSyserUI::LoadSDSSymbol(CSDSModule*pSDSModule)\n{\n\tint SymCount;\n\tDWORD Count=0,i;\n\tPSDUDTDATAITEM pUdtDataItem=NULL;\n\tPSDFUNCTIONITEM *pFuncItemArray=NULL;\n\tPSDPUBLICSYMBOL pPublic;\n\tCSymbolModule*pSymbolModule;\n\tif(pSDSModule==NULL || pSDSModule->m_SDSymbolFile==NULL)\n\t\treturn 0;\n\tpSymbolModule = m_SymbolContainer.GetSymbolModule(pSDSModule->GetModuleID());\n\tif(pSymbolModule==NULL)//ҶӦķģ\n\t\treturn 0;\n\tSymCount = 0;\n\tSwitchHeap(SYSER_SOURCE_DEBUG_HEAP);\n\tpUdtDataItem = pSDSModule->GetDataSymbolList(&Count);\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tif(pUdtDataItem[i].Location==LocIsStatic)\n\t\t{\n\t\t\tif(IsHeapFreeBelow(SYSER_SOURCE_DEBUG_HEAP,HEAP_MIN_FREE_SIZE))\n\t\t\t\tgoto LowMemory;\n\t\t\tpSymbolModule->InsertSymbol(pUdtDataItem[i].u.LOCISSTATIC.Rva,pUdtDataItem[i].uName.Name);\n\t\t\tSymCount++;\n\t\t}\n\t}\n\tpFuncItemArray = pSDSModule->GetFunctionSymbolList(&Count);\t\n\tfor(i = 1; i < Count; i++)\n\t{\n\t\tif(pFuncItemArray[i]->Rva)\n\t\t{\n\t\t\tif(IsHeapFreeBelow(SYSER_SOURCE_DEBUG_HEAP,HEAP_MIN_FREE_SIZE))\n\t\t\t\tgoto LowMemory;\n\t\t\tpSymbolModule->InsertSymbol(pFuncItemArray[i]->Rva,pFuncItemArray[i]->uName.Name);\n\t\t\tSymCount++;\n\t\t}\n\t}\n\tpPublic = pSDSModule->GetPublicSymbolList(&Count);\n\tfor(i = 1; i < Count; i++)\n\t{\n\t\tif(IsHeapFreeBelow(SYSER_SOURCE_DEBUG_HEAP,HEAP_MIN_FREE_SIZE))\n\t\t\tgoto LowMemory;\n\t\tpSymbolModule->InsertSymbol(pPublic[i].Rva,pPublic[i].uName.Name);\n\t\tSymCount++;\n\t}\n\tSwitchHeap(SYSER_MAIN_HEAP);\n\treturn SymCount;\nLowMemory:\n\tDbgPrint(\"Syser : Not enough memory to in source code heap , please enlarge it in option!\\n\");\n\tSwitchHeap(SYSER_MAIN_HEAP);\n\treturn SymCount;\n}\n\nbool CSyserUI::QuerySDS(PSYSER_QUER_SDS pSyserSDS)\n{\n\treturn false;\n}\n\nvoid CSyserUI::LoadAPIDefine()\n{\n\tint LoadSize,FileSize;\n\tchar szFileName[MAX_FN_LEN];\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"APIDef.lib\");\n\tCImageFileStream FileStream;\n\tif(FileStream.Open(szFileName))\n\t{\n\t\tLoadSize = m_APIMap.Load(FileStream);\n\t\tDbgPrint(\"Syser : Load API %d records\\n\",m_APIMap.Count());\n\t\tFileSize = FileStream.GetFileLength();\n\t\tif(LoadSize!=FileSize)\n\t\t\tDbgPrint(\"Syser : **********Invalid API Define Data , Load Size [%d] != File Size [%d]**********\\n\",LoadSize,FileSize);\n\t\tFileStream.Close();\n\t}\n\telse\n\t{\n\t\tDbgPrint(\"Syser : Fail to load APIDef %s\\n\",szFileName);\n\t}\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/SyserUI.h",
    "content": "#ifndef _SYSER_UI_H_\n#define _SYSER_UI_H_\n\n#include \"Analyzer.h\"\n#include \"CallStack.h\"\n#include \"SyserSymAnalyzer.h\"\n\nclass CSyserDI : public CDebugInterface\n{\npublic://CDebugInterfaceӿ\n\tvoid\tOnLoadModule(CDebugger*pDbgProc,PCSTR szFileName,ULPOS ModuleBase,ULSIZE ModuleSize,MODULE_ID ModuleID);\n\tvoid\tOnUnloadModule(CDebugger*pDbgProc,ULPOS ImageBase);\n\tbool\tOnDebugTerminate(bool bCloseDoc);\t\t\t//0\n\tbool\tOnDebugPlunge(UINT PlungeType=0);\t\t\t//0\n\tbool\tOnDebugTerminateMultiThread(bool bCloseDoc);//3\n\tbool\tOnDebugPlungeMultiThread(UINT PlungeType=0);//3\n\tvoid\tUpdateTraceConditionVal();\n\tvoid\tUpdateContext();\n\tvoid\tDisplayMsg(PCSTR szMessage);\n\tbool\tTestCondition(PCSTR szCondition,PBREAK_POINT pBP=NULL);\n\tbool\tRunCmd(PCSTR szCmd);\n\tvoid\tRunCmdList(PCSTR szCmd);\n\tCDebugger*GetCurrentDebugger();\n\tbool CalcPageRangeCondition();\n\tint CalcPageRangeCondition1();\n};\n\nclass CSyserCodeDoc : public CCodeDoc ,public CInstrSym ,public CExpCalc\n{\npublic:\n\tCSyserCodeDoc();\n\tvirtual ~CSyserCodeDoc();\npublic:\n\t//CInstrSymӿ\n\tbool\tAddrToSym(ULPOS Address,PSTR szSym,int MaxLength);\n\tbool\tGetInstrRefPoint(ULPOS*pAddress);\n\tULSIZE\tReadMemory(ULPOS Address,void*Buffer,ULSIZE Size);\npublic:\n\t//CCalcExpӿ\n\tULONG\tGetPtrValue(ULONG Address);\n\tbool\tGetValue(PCSTR szItem,ULONG*pValue);\n\tbool\tGetValue(PCWSTR szItem,ULONG*pValue);\npublic:\n\t//CCodeDoc\n\tbool\tOpen(PCSTR Name);\n\tvoid\tClose();\n\tULSIZE\tReadImage(ULPOS Address,void*Buffer,ULSIZE Size);\n\tULPOS\tGetNextAddress(ULPOS Address,int Count);\n\tbool\tGetSymbol(ULPOS Address,WCHAR*szSymbol,int BufSize);\n\tbool\tGetComment(ULPOS Address,WCHAR*szComment,int BufSize);\n\tbool\tSetSymbol(ULPOS Address,WCHAR*szSymbol);\n\tbool\tSetComment(ULPOS Address,WCHAR*szComment);\n\tUINT\tGetLineMark(ULPOS Address);\n\tbool\tIsExecutePointVisible(ULPOS Address,ULSIZE Size);\npublic:\n\tX86_CPU_REG_PTR m_X86RegPtr;\n\tDWORD\tm_EIPOpcode;\n\tDWORD\tm_PopPID;\t\t//ϵʱĽ ID\n\tDWORD\tm_PopTID;\t\t//ϵʱ߳ ID\n\tDWORD\tm_BPCount;\t\t//ǰϵִдǶ̬仯ġÿϵĽṹ\n\t\t\t\t\t\t\t//һϵ㴥ʱ̬ıλáֻһռλ\n\tCStrA\tm_MainModuleName;\n\tvoid\tUpdateEIPOpcode();\n\tvoid\tGetCurInstrInfo(WCHAR*szInfo);\n\tvoid\tGetCurInstrInfoEx(WISP_COLOR_CHAR*szInfo,int ccLen);// code view ڵǰ EIP  Comment ʵʹ\n\tvoid\tUpdatePID_TID(DWORD PID,DWORD TID);\nprivate:\n\tvoid\tInsertX86RegSym(X86_CPU_REG_PTR*pRegPtr);\n\tvoid\tHandleAddressOpForCodeView(ULPOS Address,WISP_COLOR_CHAR* szInfo,int ccLen);\n};\n\nstruct BP_LOAD\n{\n\tBP_STATE\tState;\n\tUINT\t\tType;\n};\n\ntypedef TMap<CIStrA,BP_LOAD>\tCModuleLoadBPMap;\ntypedef TList<BP_RANGE_INFO> BP_RANGE_LIST;\ntypedef TMap<DWORD,BP_RANGE_LIST> PROC_RANGE_BP_MAP;\n\nclass CSyserUI : public CSyserPluginUI\n{\npublic:\n\tCSyserUI();\n\t~CSyserUI();\npublic:\n\t/////////////////////////////////////////////////////\n\t//Plugin\n\tbool\t\tRegisterPluginModule(PCWSTR ModuleName,SYSER_PLUGIN_MODULE*pPluginModule);\n\tbool\t\tUnregisterPluginModule(PCWSTR ModuleName);\n\t//Plugin\n\t/////////////////////////////////////////////////////\npublic:\n\t/////////////////////////////////////////////////////\n\t//Process\n\tvoid\t\tAttackProcess(PCWSTR szProcName);\n\t//Process\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//Command\n\tbool\t\tInsertCmd(PCWSTR szCmd,FPCmd pCmdProc,void*pUserData,PCWSTR pComment,PCWSTR pUsage);\n\tvoid\t\tRemoveCmd(PCWSTR szCmd);\n\tint\t\t\tRunCmd(PCWSTR szCmd);\n\tvoid\t\tOutputf(PCWSTR szMsg,...);\n\tvoid\t\tOutput(PCDSTR szMsg);\n\t//Command\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//GUI\n\tHANDLE\t\tInsertMenu(HANDLE hParentMenu,const WCHAR*szMenuName,FPMenuProc fpMenuProc);\n\tbool\t\tRemoveMenu(HANDLE hMenu);\n\tbool\t\tEnableMenu(HANDLE hMenu,bool bEnable);\n\tvoid*\t\tGetMainTabWnd();\n\tvoid*\t\tGetMainMenu();\n\tvoid*\t\tGetWisp();\n\t//GUI\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//Symbol\n\tbool\t\tCalcExp(const WCHAR*szExp,ULONG*pResult);\n\tbool\t\tCalcExp(const CHAR*szExp,ULONG*pResult);\n\tbool\t\tSegmentFilter(const WCHAR*szExp,DWORD*pResult);\n\tbool\t\tGetSegmentBaseAddress(const WCHAR* pStr,OUT WCHAR* pOutStr,OUT DWORD* SegmentBaseAddres,OUT DWORD* SegmentLimit);\n\tbool\t\tGetSym(ULPOS Address,PSTR szSym,int MaxLength = MAX_SYMBOL_LEN);\n\tbool\t\tGetAlmostSym(ULPOS Address,PSTR szSym);\n\tbool\t\tIsASCIIString(ULPOS Address,PSTR szBuffer,int ccLen);\n\tbool\t\tIsUNICODEString(ULPOS Address,WCHAR* szBuffer,int ccLen);\n\tbool\t\tGetString(ULPOS Address, WCHAR* szBuffer,int ccLen,int& type);\n\tint\t\t\tGetFullSymbol(PSTR szPart);\n\t//Symbol\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//Comments\n\tbool\t\tLoadComment();\n\tbool\t\tSaveComment();\n\t//Comments\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//Instruction\n\tint\t\t\tGetInstrLen(DWORD Address);\n\tvoid\t\tSetInstrMode(UINT Mode);\n\t//Instruction\n\t/////////////////////////////////////////////////////\n\t/////////////////////////////////////////////////////\n\t//Process operation\n\tDWORD\tWriteMemory(DWORD Address,void*Buffer,DWORD Size);\n\tDWORD\tReadMemory(DWORD Address,void*Buffer,DWORD Size);\n\t//Process operation\n\t/////////////////////////////////////////////////////\n\n\tCSDSModule* GetSDSModule(ULPOS EIP);\n\tbool\t\tIsSDSModuleInProcess(CSDSModule*pSDSModule);//жָSDSModuleǷڵǰ߳\n\n\tbool\t\tToggleCodeBP(ULPOS Address);\n\tbool\t\tToggleCodeBPState(ULPOS Address);\n\n\tbool\t\tInsertCodeBP(ULPOS Address,PCSTR Name = NULL,PCSTR Contidion = NULL,PCSTR DoCmd = NULL);\n\tbool\t\tRemoveCodeBP(ULPOS Address);\n\n\tvoid\t\tEnableAllModuleBP(bool bEnable = true);\n\tbool\t\tEnableModuleBP(ULPOS Address,bool bEnable = true);\n\n\tbool\t\tInsertLoadBP(PCSTR ModuleName,UINT Type,BP_STATE State);\n\tbool\t\tRemoveLoadBP(PCSTR ModuleName);\n\tvoid\t\tEnableAllLoadBP(bool bEnable = true);\npublic:\n\tvoid\t\tLoadAPIDefine();\n\tbool\t\tIsPublicBP(ULPOS Address,PSTR ModuleName=NULL);\n\tvoid\t\tSetPublicSymbolModuleBase();\n\tCAPIMap\t\t\t\tm_APIMap;\n\tCSyserCodeDoc\t\tm_CodeDoc;\n\tCSymbolContainer\tm_SymbolContainer;\n\tCCommentContainer\tm_CommentContainer;\n\tCSyserDI\t\t\tm_SyserDI;\n\tCSDSModuleMap\t\tm_SDSModuleMap;\n\tCCallStack\t\t\tm_CallStack;\n\tCCodeBPMap\t\t\tm_CodeBPMap;\n\tCDataBPList\t\t\tm_DataBPList;\n\tCModuleBPMap\t\tm_ModuleBPMap;\n\tCModuleLoadBPMap\tm_ModuleLoadBPMap;\n\tint\t\t\tAttachSymbolModuleToProcess(CSymbolModule*pSymMod);\n\tint\t\t\tDetachSymbolModuleToProcess(CSymbolModule*pSymMod);\n\tint\t\t\tAttachCommentModuleToProcess(CCommentModule*pCmtMod);\n\tint\t\t\tDetachCommentModuleToProcess(CCommentModule*pCmtMod);\n\tCSymbolModule*LoadPESym(PCSTR szFileName,CDbgModule*pDbgMod=NULL);\n\tCSymbolModule*LoadIDAMapFile(PCSTR szIDAMapFile,PCSTR szFileName,CDbgModule*pDbgMod=NULL);\n\tbool\t\tLoadTranslateSDS(PCSTR szFileName,ULPOS ModuleBase,ULSIZE ModuleSize);\n\tCSDSModule*\tLoadSDSModule(PCSTR szSymbolModuleFile);\n\tbool\t\tUnloadSDSModule(CSDSModule*pSDSModule);\n\tint\t\t\tLoadSDSSymbol(CSDSModule*pSDSModule);\t//װSDSķŵģ\n\tbool\t\tQuerySDS(PSYSER_QUER_SDS pSyserSDS);\n};\n\nextern PCSTR szPublicModuleName[];\n\nULSIZE\t\t\tReadDbgProcMemory(ULPOS Address,void*Buffer,ULSIZE Size,void*Param);\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SyserVer.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_DRV\n#define VER_FILESUBTYPE             VFT2_DRV_SYSTEM\n#define VER_FILEDESCRIPTION_STR     \"Syser Ring3 Debugger\"\n#define VER_INTERNALNAME_STR        \"Syser.exe\"\n#define VER_ORIGINALFILENAME_STR    \"Syser.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"Syser Ring3 Debugger\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n"
  },
  {
    "path": "Project/Syser/Source/SystemExplorer.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"SystemExplorer.h\"\n\n#define  DEFAULT_MONITOR_VIEW_SIZE\t\t\t250\n\n//#define\t SYSER_SCREEN_SHOT\n\nWISP_MENU_RES_ITEM CharacterSetTableMenu[]=\n{\n\t{WSTR(\"IBM ASCII\"),EVENT_ID_IBM_ASCII,16*6+7},\t\n\t{WSTR(\"ANSI ASCII\"),EVENT_ID_ANSI_ASCII,16*6+7},\n\t{WSTR(\"EBCDIC\"),EVENT_ID_EBCDIC,16*6+7},\n\tWISP_MENU_RES_END\n};\nWISP_MENU_RES_ITEM RecentFileMenu[]=\n{\n\t{WSTR(\"Empty\"),EVENT_ID_RECENT_FILE,132},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM FileMenu[]=\n{\n\t{WSTR(\"Open\"),EVENT_ID_OPEN,8,WISP_MIS_DISABLED},\n\t{WSTR(\"Close\"),EVENT_ID_CLOSE,9,WISP_MIS_DISABLED},\n\t{WSTR(\"Load Symbol Files\"),EVENT_ID_LOAD_SYMBOL,10},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Recent Files\"),0,36,WISP_MIS_POPUP,RecentFileMenu},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Save Comments\"),EVENT_ID_SAVE_COMMENT,9*16+3,WISP_MIS_DISABLED},\n\t{WSTR(\"Load Comments\"),EVENT_ID_LOAD_COMMENT,9*16+3,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM DebugMenu[]=\n{\n#ifdef CODE_OS_WIN\n\t{WSTR(\"Reset\"),EVENT_ID_RESET,16},\n#endif\n\t{WSTR(\"Continue      F5\"),EVENT_ID_CONTINUE,3},\n\t{WSTR(\"Return        F6\"),EVENT_ID_RETURN,2},\n\t{WSTR(\"Step          F8\"),EVENT_ID_STEP,0},\n\t{WSTR(\"Proceed       F10\"),EVENT_ID_PROCEED,1},\n\t{WSTR(\"Step Branch   F11\"),EVENT_ID_STEP_BRANCH,0},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Break Point   Ctrl+F9\"),EVENT_ID_BREAK_POINT,4},\n\t{WSTR(\"Eanble All Breakpoints\"),EVENT_ID_ENABLE_BP_ALL,15*16+3},\n\t{WSTR(\"Disable All Breakpoints\"),EVENT_ID_DISABLE_BP_ALL,15*16+4},\n\t{WSTR(\"Remove All Breakpoints\"),EVENT_ID_REMOVE_BP_ALL,15*16+2},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM MonitorMenu[]=\n{\n\t{WSTR(\"Register View                 Alt+G\"),\t\tEVENT_ID_REG_VIEW,\t\t52},\n\t{WSTR(\"Data View                     Alt+D\"),\t\tEVENT_ID_DATA_VIEW_FORM,89},\n\t{WSTR(\"Call Stack                    Alt+C\"),\t\tEVENT_ID_CALL_STACK,\t18},\n\t{WSTR(\"Run Trace List\"),\t\t\t\t\t\t\tEVENT_ID_RUN_TRACE_WND,\t181},\n\t{WSTR(\"Comment List\"),\t\t\t\t\t\t\t\tEVENT_ID_COMMENT_LIST,\t9*16+3},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM ViewMenu[]=\n{\n\t{WSTR(\"Save Position                 Shift+Enter\"),\tEVENT_ID_SAVE_POS,16*1+8},\n\t{WSTR(\"Jump To Previous Position     Backspace\"),\tEVENT_ID_PREV_POS,16*1+5},\n\t{WSTR(\"Jump To Next Position         Ctrl+Enter\"),\tEVENT_ID_NEXT_POS,16*1+4},\n\t{WSTR(\"Empty Position List\"),\t\t\t\t\t\tEVENT_ID_EMPTY_POS_LIST,38},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Toggle   BookMark             Ctrl+K\"),EVENT_ID_BOOKMARK_TOGGLE,13*16},\n\t{WSTR(\"Previous BookMark             Ctrl+P\"),EVENT_ID_BOOKMARK_PREV,13*16+2},\n\t{WSTR(\"Next     BookMark             Ctrl+N\"),EVENT_ID_BOOKMARK_NEXT,13*16+1},\n\t{WSTR(\"Clear    BookMark             Ctrl+L\"),EVENT_ID_BOOKMARK_CLEAR,13*16+3},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM OptionMenu[]=\n{\n\t{WSTR(\"Option\"),\t\t\tEVENT_ID_DEBUGGER_OPTION,51},\n\t{WSTR(\"Debugger Select\"),\tEVENT_ID_DEBUGGER_SELECT,53},\n\t{WSTR(\"Plugin List\"),\t\tEVENT_ID_PLUGIN_LIST,29},\n\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM ToolsMenu[]=\n{\n\t{WSTR(\"Memory Search\"),\t\tEVENT_ID_MEMORY_SEARCH,\t13*16+15},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Calculator\"),EVENT_ID_CALC,6},\n\t{WSTR(\"Soft Keyboard\"),EVENT_ID_SOFT_KB,7},\n\n\t{WSTR(\"Set HotKey\"),EVENT_ID_HOTKEY_CONFIGURE,7},\n\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"PE Explorer\"),EVENT_ID_PE_EXPLORER,14},\t\n\t{WSTR(\"Character Set Tables\"),0,36,WISP_MIS_POPUP,CharacterSetTableMenu},\t\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM HelpMenu[]=\n{\n\t{WSTR(\"Register Help\"),EVENT_ID_REG_HELP,52},\n#ifdef CODE_OS_WIN\n\t{WSTR(\"Check New Version\"),\tEVENT_ID_CHECK_NEW_VERSION,104},\n#endif\n\t{WSTR(\"About Syser\"),EVENT_ID_ABOUT,\t\t\t\t62},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM InfoMenu[]=\n{\n#ifndef CODE_OS_WIN\n\t{WSTR(\"IDT\"),EVENT_ID_IDT,26},\n\t{WSTR(\"GDT\"),EVENT_ID_GDT,26},\n\t{WSTR(\"LDT\"),EVENT_ID_LDT,26},\n\t{WSTR(\"Page Map\"),EVENT_ID_PAGE_MAP,51},\n\tWISP_MENU_RES_SEPARATOR,\n#endif\n\t{WSTR(\"String References\"),EVENT_ID_STRING_REFERENCE,15},\n\t{WSTR(\"Processes\"),EVENT_ID_PROCESS,15},\n\t{WSTR(\"Threads\"),EVENT_ID_THREAD,13*16+4},\n\t{WSTR(\"Modules\"),EVENT_ID_MODULE,13*16+12},\n\t//{WSTR(\"Objects\"),EVENT_ID_OBJECTWND,17},\n\t//{WSTR(\"Functions\"),EVENT_ID_FUNCTIONS_WND,13*16+12},\n#ifndef CODE_OS_WIN\n\t{WSTR(\"HWND\"),EVENT_ID_HWNDLIST_WND,13*16+12},\n#endif\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM MainMenu[]=\n{\n#ifndef SYSER_SCREEN_SHOT\n#ifdef CODE_OS_WIN\n\t{WSTR(\"File\"),0,61,WISP_MIS_POPUP,FileMenu},\n#endif\n#endif\n\t{WSTR(\"Debug\"),0,57,WISP_MIS_POPUP,DebugMenu},\n\t{WSTR(\"Monitor\"),0,53,WISP_MIS_POPUP,MonitorMenu},\n\t{WSTR(\"View\"),0,126,WISP_MIS_POPUP,ViewMenu},\n\t{WSTR(\"Information\"),0,95,WISP_MIS_POPUP,InfoMenu},\n#ifndef SYSER_SCREEN_SHOT\n#ifdef CODE_OS_WIN\n\t{WSTR(\"Option\"),0,51,WISP_MIS_POPUP,OptionMenu},\n#endif\n#endif\n\t{WSTR(\"Tools\"),0,118,WISP_MIS_POPUP,ToolsMenu},\n\t{WSTR(\"Help\"),0,30,WISP_MIS_POPUP,HelpMenu},\n\tWISP_MENU_RES_END\n};\n\nWISP_TOOLBAR_RES_ITEM SystemExplorerToolbar[]=\n{\n#ifndef SYSER_SCREEN_SHOT\n#ifdef CODE_OS_WIN\n\t{EVENT_ID_OPEN,\t\t\t8,WISP_TBIS_BUTTON,WSTR(\"File -> Open\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_CLOSE,\t\t9,WISP_TBIS_BUTTON,WSTR(\"File -> Close\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_RESET,\t\t16,WISP_TBIS_BUTTON,WSTR(\"Debug -> Reset\"),0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n#endif\n#endif\n\t{EVENT_ID_STEP,\t\t\t0,WISP_TBIS_BUTTON,WSTR(\"Debug -> Step F8\")},\n\t{EVENT_ID_PROCEED,\t\t1,WISP_TBIS_BUTTON,WSTR(\"Debug -> Proceed F10\")},\n\t{EVENT_ID_RETURN,\t\t2,WISP_TBIS_BUTTON,WSTR(\"Debug -> Return F6\")},\n\t{EVENT_ID_CONTINUE,\t\t3,WISP_TBIS_BUTTON,WSTR(\"Debug -> Continue F5\")},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_SAVE_POS,\t\t 16*1+8,WISP_TBIS_BUTTON,WSTR(\"View -> Save Position     Shift+Enter\"),\t\t\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_PREV_POS,\t\t 16*1+5,WISP_TBIS_BUTTON,WSTR(\"View -> Jump To Previous Position    Backspace<-\"),\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_NEXT_POS,\t\t 16*1+4,WISP_TBIS_BUTTON,WSTR(\"View -> Jump To Next Position    Ctrl+Enter\"),\t\t0,WISP_WS_DISABLED},\n\t{EVENT_ID_EMPTY_POS_LIST,38,\tWISP_TBIS_BUTTON,WSTR(\"View -> Empty Position List\"),\t\t\t\t\t\t0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_BREAK_POINT,\t4,WISP_TBIS_BUTTON,WSTR(\"Debug -> Break point Ctrl+F9\")},\n\t{EVENT_ID_CALL_STACK,\t18,\t\tWISP_TBIS_BUTTON,WSTR(\"Monitor -> Call Stack ALT+C\")},\n\t{EVENT_ID_RUN_TRACE_WND,181,\tWISP_TBIS_BUTTON,WSTR(\"Monitor -> Run Trace List\")},\n\t{EVENT_ID_COMMENT_LIST,\t9*16+3,\tWISP_TBIS_BUTTON,WSTR(\"Monitor -> Comment List\")},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_BOOKMARK_TOGGLE,\t13*16,\tWISP_TBIS_BUTTON,WSTR(\"View -> Toggle BookMark Ctrl+K\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_PREV,\t13*16+2,WISP_TBIS_BUTTON,WSTR(\"View -> Previous BookMark Ctrl+P\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_NEXT,\t13*16+1,WISP_TBIS_BUTTON,WSTR(\"View -> Next BookMark Ctrl+N\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_BOOKMARK_CLEAR,\t13*16+3,WISP_TBIS_BUTTON,WSTR(\"View -> Clear BookMark Ctrl+L\"),0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_MEMORY_SEARCH,13*16+15,\tWISP_TBIS_BUTTON,WSTR(\"Tools -> Memory Search\")},\n\t{EVENT_ID_CALC,\t\t\t6,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Tools -> Calculator\")},\n\t{EVENT_ID_SOFT_KB,\t\t7,\t\t\tWISP_TBIS_BUTTON,WSTR(\"Tools -> Soft keyboard\")},\n\t////////////////////////////////////////////////////////////////////////////////\n\t{CMD_ID_INSTR_INFO,\t0,WISP_TBIS_EDIT|WISP_TBIS_RIGHT_ALIGN,WSTR(\"Instruction Information\"),300,\n\tWISP_ES_READONLY|WISP_WS_BORDER|WISP_ES_CENTER|WISP_WS_DISABLED|WISP_WS_BACK_TRANS},\n\tWISP_TOOLBAR_RES_STATIC_DIB(30),\n\t////////////////////////////////////////////////////////////////////////////////\n\tWISP_TOOLBAR_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CSystemExplorer)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CSystemExplorer)\n\tWISP_MSG_CMD_MAP(CMD_ID_SYSTEM_MAIN_SPLIT,OnCommandMainSplit)\n\tWISP_MSG_CMD_MAP(CMD_ID_SYSTEM_VIEW_SPLIT,OnCommandViewSplit)\n\tWISP_MSG_CMD_MAP(CMD_ID_SYSTEM_MONITOR_SPLIT,OnCommandMonitorSplit)\n\tWISP_MSG_CMD_MAP(CMD_ID_MODULE_LIST_WND,OnCommandModuleWnd)\n\tWISP_MSG_CMD_MAP(EVENT_ID_FUNCTIONS_WND,OnCommandFunctionWnd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSystemExplorer)\n\t///////////////////////////////////////////////////////////////////\n\t//File\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OPEN,\t\t\tOnEventOpen)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CLOSE,\t\t\tOnEventClose)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_SYMBOL,\tOnEventLoadSymbolFile)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_COMMENT,\tOnEventSaveComment)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_COMMENT,\tOnEventLoadComment)\n\t//File\n\t///////////////////////////////////////////////////////////////////\n\t//Debug\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RESET,\t\t\tOnEventReset)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CONTINUE,\t\tOnEventContinue)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RETURN,\t\t\tOnEventReturn)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STEP,\t\t\tOnEventStep)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PROCEED,\t\tOnEventProceed)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STEP_BRANCH,\tOnEventStepBranch)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BREAK_POINT,\tOnEventBreakPoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ENABLE_BP_ALL,\tOnEventEnableAllBreakpoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DISABLE_BP_ALL,\tOnEventDisableAllBreakpoint)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REMOVE_BP_ALL,\tOnEventRemoveAllBreakpoint)\n\t//Debug\n\t/////////////////////////////////////////////////////////////////////////\n\t//Analyze\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MEMORY_SEARCH,\tOnEventMemorySearch)\n\t//Analyze\n\t/////////////////////////////////////////////////////////////////////////\n\t//View\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REG_VIEW,\t\tOnEventRegView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATA_VIEW_FORM,\tOnEventDataViewForm)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CALL_STACK,\t\tOnEventCallStack)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RUN_TRACE_WND,\tOnEventRunTraceWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COMMENT_LIST,\tOnEventCommentList)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_NEXT_POS,\t\tOnEventNextPos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PREV_POS,\t\tOnEventPrevPos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_POS,\t\tOnEventSavePos)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EMPTY_POS_LIST,\tOnEventEmptyPosList)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_TOGGLE,OnEventToggleBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_NEXT,\tOnEventNextBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_PREV,\tOnEventPrevBookMark)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOKMARK_CLEAR,\tOnEventClearBookMark)\n\t//View\n\t/////////////////////////////////////////////////////////////////////////\n\t//Option\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUGGER_OPTION,OnEventDebuggerOption)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUGGER_SELECT,OnEventDebuggerSelect)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PLUGIN_LIST,\tOnEventPluginList)\n\t//Option\n\t/////////////////////////////////////////////////////////////////////////\n\t//Tools\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CALC,\t\t\tOnEventCalc)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SOFT_KB,\t\tOnEventSoftKB)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_HOTKEY_CONFIGURE,OnEventSetHotKey)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PE_EXPLORER,\tOnEventPEExplorer)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_IBM_ASCII,\t\tOnEventIBMAscii)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ANSI_ASCII,\t\tOnEventANSIAscii)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EBCDIC,\t\t\tOnEventEBCDIC)\n\t//Tools\n\t/////////////////////////////////////////////////////////////////////////\n\t//Information\n\tWISP_MSG_EVENT_MAP(EVENT_ID_IDT,\t\t\tOnEventIDT)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GDT,\t\t\tOnEventGDT)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LDT,\t\t\tOnEventLDT)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PAGE_MAP,\t\tOnEventPageMap)\n\t//-----------------------------------------------------------------------\n\tWISP_MSG_EVENT_MAP(EVENT_ID_PROCESS,\t\tOnEventProcess)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_THREAD,\t\t\tOnEventThreadWindow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MODULE,\t\t\tOnEventModuleWindow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_HWNDLIST_WND,\tOnEventHwndListWindow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FUNCTIONS_WND,\tOnEventFunctionWindow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OBJECTWND,\t\tOnEventObjectWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STRING_REFERENCE,OnEventStringReference)\n\n\t//Information\n\t/////////////////////////////////////////////////////////////////////////\n\t//Help\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REG_HELP,\t\tOnEventRegHelp)\n#ifdef CODE_OS_WIN\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CHECK_NEW_VERSION,OnMenuEventCheckNewVersion)\n#endif\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ABOUT,\t\t\tOnMenuEventAboutSyser)\n\t//Help\n\t/////////////////////////////////////////////////////////////////////////\n\t//HotKey\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SEH_CHAIN,\t\tOnEventSEHChainWindow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GEN_REG,\t\tOnHotKeyEventGeneReg)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_FPU_REG,\t\tOnHotKeyEventFPUReg)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_XMM_REG,\t\tOnHotKeyEventXMMReg)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STACK_WATCH_LIST,OnHotKeyEventStack)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_WATCH_LIST,\t\tOnHotKeyEventWatch)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CODEVIEW,\t\tOnHotKeyEventCodeView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DATAVIEW,\t\tOnHotKeyEventDataView)\n\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_FILE,\t\t\tOnHotKeyEventMenuFile)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_DEBUG,\t\t\tOnHotKeyEventMenuDebug)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_VIEW,\t\t\tOnHotKeyEventMenuView)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_MONITOR,\t\tOnHotKeyEventMenuMonitor)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_INFORMATION,\tOnHotKeyEventMenuInformation)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_OPTION,\t\tOnHotKeyEventMenuOption)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_TOOL,\t\t\tOnHotKeyEventMenuTools)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_MENU_HELP,\t\t\tOnHotKeyEventMenuHelp)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GETNEXTTRACE,\t\tOnGetNextTrace)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_GETPREVTRACE,\t\tOnGetPrevTrace)\n\t//HotKey\n\t/////////////////////////////////////////////////////////////////////////\nWISP_MSG_EVENT_MAP_DEFAULT_END(OnEventRecentFile)\n\nCSystemExplorer::CSystemExplorer()\n{\n\tm_pCurCodeView = NULL;\n\tm_CPUNumbers=1;\n}\n\nCSystemExplorer::~CSystemExplorer()\n{\n}\n\nbool CSystemExplorer::OnEventStringReference(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_FindListWnd.Create(WSTR(\"String Reference\"),0,0,564,344,NULL,EVENT_ID_STRING_REFERENCE_WISPLIST,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL|WISP_WLS_TREE);\n\treturn true;\n}\n\nbool CSystemExplorer::CreateRegWindows(IN WISP_MSG*pMsg)\n{\n\tint j=gCPUNumbers,i;\n\tWCHAR WndText[30];\n\tm_CPUNumbers=gCPUNumbers;\n\tm_pWndRegTab = new CWispTabWnd[j];\n\tif(m_pWndRegTab==NULL)\n\t\treturn false;\n\tm_pWndFpuReg=new CFpuRegisterList[j];\t\n\tm_pWndESSReg=new CSSERegisterList[j];\n\tm_pWndGeneReg=new CGeneRegList[j];\n\tif(m_pWndFpuReg==NULL || m_pWndESSReg==NULL || m_pWndGeneReg==NULL)\n\t{\n\t\tdelete []m_pWndRegTab;\n\t\tif(m_pWndFpuReg)\n\t\t\tdelete []m_pWndFpuReg;\n\t\tif(m_pWndESSReg)\n\t\t\tdelete []m_pWndESSReg;\n\t\tif(m_pWndGeneReg)\n\t\t\tdelete []m_pWndGeneReg;\n\t\treturn false;\n\t}\n\tif(m_MultiCPUTabWnd.Create(WSTR(\"\"),0,0,170,310,&m_MonitorSplitWnd,0,WISP_TWS_TOP)==false)\n\t{\n\t\tdelete []m_pWndRegTab;\n\t\tdelete []m_pWndFpuReg;\n\t\tdelete []m_pWndESSReg;\n\t\tdelete []m_pWndGeneReg;\n\t\treturn false;\n\t}\n\tfor(i=0;i<j;i++)\n\t{\t\t\n\t\tif(m_pWndRegTab[i].Create(WSTR(\"Reg\"),CWispRect(0,0,170,310),&m_MultiCPUTabWnd,0,WISP_TWS_BUTTOM)==false)\n\t\t\treturn false;\n\t\tif(m_pWndGeneReg[i].Create(NULL,CWispRect(0,0,0,0),&m_pWndRegTab[i],CMD_ID_GENERAL_REGISTER_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\t\treturn false;\n\t\tm_pWndGeneReg[i].SetOwner(this);\n\t\tm_pWndGeneReg[i].SetCPUIndex(i);\n\t\tif(m_pWndFpuReg[i].Create(NULL,CWispRect(0,0,0,0),&m_pWndRegTab[i],CMD_ID_FPU_REGISTER_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\t\treturn false;\n\t\tm_pWndFpuReg[i].SetOwner(this);\n\t\tm_pWndFpuReg[i].SetCPUIndex(i);\n\t\tif(m_pWndESSReg[i].Create(NULL,CWispRect(0,0,0,0),&m_pWndRegTab[i],CMD_ID_ESS_REGISTER_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\t\treturn false;\n\t\tm_pWndESSReg[i].SetOwner(this);\n\t\tm_pWndESSReg[i].SetCPUIndex(i);\n\t\tm_pWndRegTab[i].InsertWnd(WSTR(\"REG ALT+R\"),&m_pWndGeneReg[i],WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,52));\n\t\tm_pWndRegTab[i].InsertWnd(WSTR(\"FPU ALT+F\"),&m_pWndFpuReg[i],WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,58));\n\t\tm_pWndRegTab[i].InsertWnd(WSTR(\"XMM ALT+X\"),&m_pWndESSReg[i],WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,48));\n\t\tTSPrintf(WndText,WSTR(\" CPU %d \"),i);\n\t\tm_MultiCPUTabWnd.InsertWnd(WndText,&m_pWndRegTab[i]);\n\t}\n\t\n\treturn true;\n}\nbool CSystemExplorer::OnCreate(IN WISP_MSG*pMsg)\n{\n\tWISP_CHAR szBuffer[256];\n\tm_WndMenu.CreateWndMenu(this,WISP_ID_MAIN_MENU,MainMenu,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_WndMenu.SetOwner(this);\n\tm_ContextStr.Create(WSTR(\"\"),680,m_WndMenu.m_ClientRect.cy-16,138,16,&m_WndMenu,0,WISP_WS_NULL);\t\n\tm_VersionStr.Create(NULL,530,m_WndMenu.m_ClientRect.cy-16,138,16,&m_WndMenu,0,WISP_WS_NULL);\n\tm_VersionStr.m_WindowDC.m_TextColor=WISP_RGB(0xff,0,0);\n\tTStrCpy(szBuffer,\"Ver: \");\n\tTStrCat(szBuffer,VER_PRODUCTVERSION_STR);\n\tm_VersionStr.SetWindowText(szBuffer);\n\tm_Toolbar.CreateEx(this,m_WndMenu.m_WindowRect.cy,-1,WISP_ID_MAIN_TOOLBAR,WISP_WS_NULL);\n\tm_Toolbar.LoadToolbar(WispTKDIBList(\"\\\\Toolbar.bmp\",16,16),SystemExplorerToolbar);\n\tm_Toolbar.SetOwner(this);\n\tm_pInfoMsgWnd = m_Toolbar.GetToolbarItem(CMD_ID_INSTR_INFO);\n\tif(m_pInfoMsgWnd==NULL)\n\t\treturn false;\n\tif(m_MainSplitWnd.Create(NULL,CWispRect(0,m_Toolbar.m_WindowRect.cy+m_WndMenu.m_WindowRect.cy,m_ClientRect.cx,m_ClientRect.cy-m_Toolbar.m_WindowRect.cy-m_WndMenu.m_WindowRect.cy),this,CMD_ID_SYSTEM_MAIN_SPLIT,WISP_SWS_HORZ)==false)\n\t\treturn false;\n\tif(m_ViewSplitWnd.Create(NULL,CWispRect(0,0,0,0),&m_MainSplitWnd,CMD_ID_SYSTEM_VIEW_SPLIT,WISP_SWS_VERT)==false)\n\t\treturn false;\n\tm_ViewSplitWnd.SetOwner(this);\n\tif(m_MonitorSplitWnd.Create(NULL,CWispRect(0,0,0,0),&m_MainSplitWnd,CMD_ID_SYSTEM_MONITOR_SPLIT,WISP_SWS_VERT)==false)\n\t\treturn false;\n\tm_MonitorSplitWnd.SetOwner(this);\n\tm_MainSplitWnd.InsertWnd(&m_MonitorSplitWnd,0,DEFAULT_MONITOR_VIEW_SIZE);\n\tm_MainSplitWnd.InsertWnd(&m_ViewSplitWnd,0,200);\n\tm_MainSplitWnd.AdjustWndPos();\n\tif(m_MultiDataView.Create(NULL,CWispRect(0,0,0,0),&m_ViewSplitWnd,CMD_ID_MULTI_DATA_VIEW_TAB,WISP_TWS_TOP|WISP_TWS_CLOSE_BT|WISP_TWS_MULTI_VIEW_STYLE|WISP_TWS_HIDE_TAB_SINGLE)==false)\n\t\treturn false;\n\tif(m_MultiCodeView.Create(NULL,CWispRect(0,0,0,0),&m_ViewSplitWnd,CMD_ID_MULTI_CODE_VIEW_TAB,WISP_TWS_TOP|WISP_TWS_CLOSE_BT|WISP_TWS_MULTI_VIEW_STYLE|WISP_TWS_HIDE_TAB_SINGLE)==false)\n\t\treturn false;\n\tif(m_TerminalWnd.Create(NULL,CWispRect(0,0,0,0),&m_ViewSplitWnd,CMD_ID_TERMINAL_WND,WISP_WS_NULL)==false)\n\t\treturn false;\n\tm_TerminalWnd.AttachConsole(&gpSyser->m_MainFrame.m_ConsoleWnd);\n\tm_TerminalWnd.SetHistoryLines(350);\n\tm_ViewSplitWnd.InsertWnd(&m_MultiDataView,0,90);\n\tm_ViewSplitWnd.InsertWnd(&m_MultiCodeView,0,gpCurWisp->m_pRootWnd->m_ClientRect.cy/2);\n\tm_ViewSplitWnd.InsertWnd(&m_TerminalWnd,0,30);\n\tm_ViewSplitWnd.AdjustWndPos();\n\t\n\tif(CreateRegWindows(pMsg)==false)\n\t\treturn false;\n\t\n\tif(m_ContextTabWnd.Create(WSTR(\"Context\"),CWispRect(0,0,170,200),&m_MonitorSplitWnd,0,WISP_TWS_BUTTOM)==false)\n\t\treturn false;\n\tif(m_WatchList.Create(NULL,CWispRect(0,0,0,0),&m_ContextTabWnd,0,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\treturn false;\n\tif(m_StackWatchList.Create(NULL,CWispRect(0,0,0,0),&m_ContextTabWnd,0,WISP_WLS_COLUMN_TITLE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\treturn false;\n\tm_ContextTabWnd.InsertWnd(WSTR(\"Stack ALT+S\"),&m_StackWatchList,WispTKDIB(\"\\\\SyserIcon\\\\Stack.bmp\",0));\n\tm_ContextTabWnd.InsertWnd(WSTR(\"Watch ALT+W\"),&m_WatchList,WispTKDIB(\"\\\\SyserIcon\\\\Watch.bmp\",0));\n\n\t\n\tm_MonitorSplitWnd.InsertWnd(&m_MultiCPUTabWnd,0,m_MultiCPUTabWnd.m_WindowRect.cy);\n\t//m_MonitorSplitWnd.InsertWnd(&m_RegTabWnd,0,m_RegTabWnd.m_WindowRect.cy);\n\tm_MonitorSplitWnd.InsertWnd(&m_ContextTabWnd,0,m_ContextTabWnd.m_WindowRect.cy);\n\tm_MonitorSplitWnd.AdjustWndPos();\n\n\tRegisterHotKey(EVENT_ID_GEN_REG,WISP_VK_R,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_FPU_REG,WISP_VK_F,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_XMM_REG,WISP_VK_X,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_WATCH_LIST,WISP_VK_W,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_STACK_WATCH_LIST,WISP_VK_S,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_CODEVIEW,WISP_VK_F1,0);\n\tRegisterHotKey(EVENT_ID_DATAVIEW,WISP_VK_F1,WISP_MOD_SHIFT);\n\t\n\tRegisterHotKey(EVENT_ID_MENU_FILE,WISP_VK_F,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_DEBUG,WISP_VK_D,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_MONITOR,WISP_VK_M,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_VIEW,WISP_VK_V,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_INFORMATION,WISP_VK_I,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_OPTION,WISP_VK_O,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_TOOL,WISP_VK_T,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_MENU_HELP,WISP_VK_H,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_GETNEXTTRACE,WISP_VK_ADD,WISP_MOD_ALT);\n\tRegisterHotKey(EVENT_ID_GETPREVTRACE,WISP_VK_SUBTRACT,WISP_MOD_ALT);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_TOGGLE,this);\t\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_NEXT,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_PREV,this);\n\tgpSyser->AttachHotKey(EVENT_ID_BOOKMARK_CLEAR,this);\n\t\n\treturn true;\n}\n\nbool CSystemExplorer::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_WndMenu.Destroy();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventRecentFile(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tint Index;\n\tif(pMsg->Command.CmdID>EVENT_ID_RECENT_FILE && pMsg->Command.CmdID<=EVENT_ID_RECENT_FILE_END)\n\t{\n\t\tIndex = pMsg->Command.CmdID-EVENT_ID_RECENT_FILE-1;\n\t\tTList<RECENT_HISTROY_ITEM>::IT Iter = gpSyser->m_HistroyList[Index];\n\t\tif(Iter!=gpSyser->m_HistroyList.End())\n\t\t{\n\t\t\tgpSyser->m_SyserUI.m_CodeDoc.Close();\n\t\t\tgpSyser->m_SyserUI.m_CodeDoc.Open(Iter->FileName);\n\t\t}\n\t}\n#endif\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventRunTraceWnd(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_RunTraceWnd.Popup();\n\treturn true;\n}\nULSIZE\tPEFileRead(ULPOS Address,void*Buffer,ULSIZE Size,void*Param)\n{\n\tCX86Debugger* pDebug=(CX86Debugger* )Param;\n\treturn pDebug->ReadMemory(Address,Buffer,Size);\n}\nbool CSystemExplorer::OnEventOpen(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tif(gpSyser->m_pDebugger==NULL)\n\t\treturn true;\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tif(gpSyser->m_szDbgFileNameFilter.Length())\n\t{\n\t\tOPENFILENAME OpenFileName;\n\t\tSTZeroMemory(OpenFileName);\n\t\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\t\tOpenFileName.hInstance = gpSyser->m_hLocalInst;\n\t\tOpenFileName.hwndOwner = gpSyser->m_hLocalWnd;\n\t\tUnicodeToAnsi(gpSyser->m_szDbgFileNameFilter,szBuffer,sizeof(szBuffer));\n\t\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t\t{\n\t\t\tif(szBuffer[n]=='|')\n\t\t\t\tszBuffer[n]=0;\n\t\t}\n\t\tOpenFileName.lpstrFilter = szBuffer;\n\t\tOpenFileName.nMaxFile = sizeof(szFileName);\n\t\tOpenFileName.lpstrFile = szFileName;\n\t\t*szFileName = 0;\n\t\tgpSyser->LockTimer();\n\t\tif(GetOpenFileName(&OpenFileName)==false)\n\t\t{\n\t\t\tgpSyser->UnlockTimer();\n\t\t\treturn true;\n\t\t}\n\t\tgpSyser->UnlockTimer();\n\t\tTStrCpy(szFileName,OpenFileName.lpstrFile);\n\t}\n\telse\n\t{\n\t\t*szFileName=0;\n\t}\n\tif(gpSyser->m_SyserUI.m_CodeDoc.Open(szFileName)==false)\n\t\tSYSEXPLR_OUTPUT(WSTR(\"Fail to open file !\\n\"));\n\t\n#endif\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventClose(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"close\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventEnableAllBreakpoint(IN WISP_MSG* pMsg)\n{\n\tRUNCMD(WSTR(\"be *\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventDisableAllBreakpoint(IN WISP_MSG* pMsg)\n{\n\tRUNCMD(WSTR(\"bd *\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventRemoveAllBreakpoint(IN WISP_MSG* pMsg)\n{\n\tRUNCMD(WSTR(\"bc *\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventLoadComment(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_SyserUI.LoadComment();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventSaveComment(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_SyserUI.SaveComment();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventMemorySearch(IN WISP_MSG*pMsg)\n{\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\tm_SearchDialog.CreateForm(NULL);\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventCommentList(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_CommentList.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventLoadSymbolFile(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tchar szFileName[MAX_FN_LEN],szDir[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = gpSyser->m_hLocalInst;\n\tOpenFileName.hwndOwner = gpSyser->m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"Symbol Files\\0*.sds\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tGetModulePath(szDir);\n\tTStrCat(szDir,\"Symbols\");\n\tOpenFileName.lpstrInitialDir = szDir;\n\t*szFileName = 0;\n\tgpSyser->LockTimer();\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t{\n\t\tgpSyser->UnlockTimer();\n\t\treturn true;\n\t}\n\tgpSyser->UnlockTimer();\n\tgpSyser->m_SyserUI.LoadSDSModule(szFileName);\n#endif\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventPrevPos(IN WISP_MSG*pMsg)\n{\n\tm_pCurCodeView->OnEventPrevPos(pMsg);\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventNextPos(IN WISP_MSG*pMsg)\n{\n\tm_pCurCodeView->OnEventNextPos(pMsg);\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventSavePos(IN WISP_MSG*pMsg)\n{\n\tm_pCurCodeView->OnEventSavePos(pMsg);\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventEmptyPosList(IN WISP_MSG*pMsg)\n{\n\tm_pCurCodeView->OnEventEmptyPosList(pMsg);\n\treturn true;\n}\n\n\nbool CSystemExplorer::OnEventIDT(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_IDTWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventGDT(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_GDTWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventLDT(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_GDTWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventProcess(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_ProcessList.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventModuleWindow(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.m_ModuleList.Popup();\n\treturn true;\n}\nbool CSystemExplorer::OnEventHwndListWindow(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.m_HwndListWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventFunctionWindow(IN WISP_MSG* pMsg)\n{\n\tif(m_FunctionWnd.IsWindow()==false)\n\t{\n\t\tm_FunctionWnd.Create(WSTR(\"Functions\"),0,0,500,350,NULL,EVENT_ID_FUNCTIONS_WND,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tm_FunctionWnd.SetOwner(this);\n\t\tm_FunctionWnd.InsertColumn(WSTR(\"Function name\"),240);\n\t\tm_FunctionWnd.InsertColumn(WSTR(\"Start\"),80);\n\t\tm_FunctionWnd.InsertColumn(WSTR(\"Length\"),80);\n\t\tm_FunctionWnd.InsertColumn(WSTR(\"BP based frame\"),80);\n\t\t/*\n\t\tCDbgModule* pMod=\tgpSyser->m_pDebugger->m_ModuleList.GetModule(*gpSyser->m_pDebugger->m_pExecutePoint);\n\t\tCDbgModuleMap::IT DbgIT = gpSyser->m_pDebugger->m_ModuleList.m_DbgModuleMap.Begin();\n\t\tDbgIT++;\n\t\tpMod =& *DbgIT;\n\n\t\tm_Analyzer.Open(pMod->m_ModuleBase,pMod->m_ModuleSize,PEFileRead,gpSyser->m_pDebugger);\n\t\tm_Analyzer.AnalyzerFromExportFunction(100,1000);\n\t\t//m_Analyzer.AnalyzerFromEntryPoint(100,1000);\n\t\tTFuncMap::IT BeginIT,EndIT;\n\t\tBeginIT = m_Analyzer.m_FuncMap.Begin();\n\t\tEndIT=m_Analyzer.m_FuncMap.End();\n\t\tHANDLE hItem;\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\thItem = m_FunctionWnd.InsertItemW(BeginIT->m_Name,NULL);\n\t\t\tm_FunctionWnd.SetItemNum(hItem,1,BeginIT->m_Start,WSTR(\"%08X\"));\n\t\t\tm_FunctionWnd.SetItemData(hItem,1,BeginIT->m_Start);\n\t\t\tm_FunctionWnd.SetItemNum(hItem,2,BeginIT->m_End-BeginIT->m_Start,WSTR(\"%x\"));\n\t\t}\n\t\tm_Analyzer.Close();\n\t\t*/\n\t\tm_FunctionWnd.Center();\n\t}\n\telse\n\t{\n\t\tm_FunctionWnd.Show(WISP_SH_NORMAL);\n\t\tm_FunctionWnd.Center();\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnEventThreadWindow(IN WISP_MSG* pMsg)\n{\n\tif(m_ThreadListWnd.IsWindow()==false)\n\t{\n\t\tm_ThreadListWnd.Create(WSTR(\"Threads\"),0,0,500,350,NULL,CMD_ID_THREAD_LIST_WND,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tm_ThreadListWnd.UpdateContext();\n\t\tm_ThreadListWnd.Center();\n\t\tm_ThreadListWnd.Focus();\n\t}\n\telse\n\t{\n\t\tm_ThreadListWnd.Show(WISP_SH_NORMAL);\n\t\tm_ThreadListWnd.UpdateContext();\n\t\tm_ThreadListWnd.Center();\n\t\tm_ThreadListWnd.Focus();\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventPageMap(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_PageMapWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventObjectWnd(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_ObjectWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventRegHelp(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_RegHelpWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnMenuEventAboutSyser(IN WISP_MSG*pMsg)\n{\n\tCAboutForm\tAboutForm;\n\tAboutForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tAboutForm.Destroy();\n\treturn true;\n}\n\n#ifdef CODE_OS_WIN\nbool CSystemExplorer::OnMenuEventCheckNewVersion(IN WISP_MSG*pMsg)\n{\n\tShellExecute(NULL,\"open\",\"http://www.sysersoft.com/queryw32version.php?version=\" VER_PRODUCTVERSION_STR \"&date=\" __DATE__,NULL,NULL,SW_SHOWMAXIMIZED);\n\treturn true;\n}\n#endif\n\nbool CSystemExplorer::OnEventContinue(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"x\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventReset(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"reset\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventStep(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"t\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventStepBranch(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"tb\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventProceed(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"p\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventReturn(IN WISP_MSG*pMsg)\n{\n\tRUNCMD(WSTR(\"p ret\"));\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventBreakPoint(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_BreakPointForm.Popup();\n\tif(pMsg->Command.CmdMsg == WISP_CMD_HOTKEY)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventDebuggerSelect(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tgpSyser->m_MainFrame.m_DebuggerSelectForm.Popup();\n#endif\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventDebuggerOption(IN WISP_MSG*pMsg)\n{\n#ifdef CODE_OS_WIN\n\tif(m_SyserOptionForm.IsWindow())\n\t\tm_SyserOptionForm.Show();\n\telse\n\t\tm_SyserOptionForm.CreateForm();\n#endif\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventPluginList(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_PluginListForm.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventCalc(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_WispCalcWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventSoftKB(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_SoftKeyboard.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventSetHotKey(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_KeyMapForm.Popup(); \n\treturn true;\n}\n\nbool CSystemExplorer::OnEventPEExplorer(IN WISP_MSG*pMsg)\n{\n\tgpSyser->m_MainFrame.m_PEExplorerForm.Popup();\n\treturn true;\n}\nbool CSystemExplorer::OnEventIBMAscii(IN WISP_MSG*pMsg)\n{\n\n\tgpSyser->m_MainFrame.m_IBMAsciiWnd.Popup();\t\t\n\tgpSyser->m_MainFrame.m_IBMAsciiWnd.SetFont(2);\n\tgpSyser->m_MainFrame.m_IBMAsciiWnd.Update();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventANSIAscii(IN WISP_MSG*pMsg)\n{\n\t\n\tgpSyser->m_MainFrame.m_ANSIAsciiWnd.Popup();\t\t\t\n\tgpSyser->m_MainFrame.m_ANSIAsciiWnd.SetFont(4);\n\tgpSyser->m_MainFrame.m_ANSIAsciiWnd.Update();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventEBCDIC(IN WISP_MSG*pMsg)\n{\t\n\tgpSyser->m_MainFrame.m_EBEDICWnd.Popup();\t\t\t\n\tgpSyser->m_MainFrame.m_EBEDICWnd.SetFont(3);\n\tgpSyser->m_MainFrame.m_EBEDICWnd.Update();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventToggleBookMark(IN WISP_MSG*pMsg)\n{\n\tm_MultiCodeView.ToggleBookMark();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventNextBookMark(IN WISP_MSG*pMsg)\n{\n\tm_MultiCodeView.GotoNextBookMark();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventPrevBookMark(IN WISP_MSG*pMsg)\n{\n\tm_MultiCodeView.GotoPrevBookMark();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventClearBookMark(IN WISP_MSG*pMsg)\n{\n\tm_MultiCodeView.ClearAllBookMark();\n\treturn true;\n}\n\nvoid CSystemExplorer::UpdateItemState()\n{\n\tbool bState;\n#ifdef CODE_OS_WIN//ûЩ˵ûҪ޸\n\tbState = gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\n\tm_Toolbar.EnableItem(EVENT_ID_OPEN,!bState);\n\tm_WndMenu.EnableItem(EVENT_ID_OPEN,!bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_CLOSE,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_CLOSE,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_RESET,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_RESET,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_CONTINUE,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_CONTINUE,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_RETURN,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_RETURN,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_STEP,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_STEP,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_PROCEED,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_PROCEED,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_STEP_BRANCH,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_STEP_BRANCH,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_SAVE_COMMENT,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_SAVE_COMMENT,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_LOAD_COMMENT,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_LOAD_COMMENT,bState);\n\n\tm_Toolbar.EnableItem(EVENT_ID_RECENT_FILE,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_RECENT_FILE,bState);\n#endif\n\tbState = gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_Toolbar.EnableItem(EVENT_ID_SAVE_POS,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_SAVE_POS,bState);\n\n\tbState = m_pCurCodeView->m_AddrIter!=m_pCurCodeView->m_AddrList.Begin()\t&& gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_Toolbar.EnableItem(EVENT_ID_PREV_POS,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_PREV_POS,bState);\n\n\tbState=m_pCurCodeView->m_AddrIter!=m_pCurCodeView->m_AddrList.Last() && gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_Toolbar.EnableItem(EVENT_ID_NEXT_POS,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_NEXT_POS,bState);\n\n\tbState = (m_pCurCodeView->m_AddrList.Count() > 1) && gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_Toolbar.EnableItem(EVENT_ID_EMPTY_POS_LIST,bState);\n\tm_WndMenu.EnableItem(EVENT_ID_EMPTY_POS_LIST,bState);\n\n\tbState = gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_TOGGLE,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_TOGGLE,bState);\n\n\tbState = m_MultiCodeView.m_BookMark.Count()>0 && gpSyser->m_SyserUI.m_CodeDoc.IsOpened();\n\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_NEXT,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_NEXT,bState);\n\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_PREV,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_PREV,bState);\n\n\tm_WndMenu.EnableItem(EVENT_ID_BOOKMARK_CLEAR,bState);\n\tm_Toolbar.EnableItem(EVENT_ID_BOOKMARK_CLEAR,bState);\n\n\tm_Toolbar.Update();\n}\n\n\nvoid CSystemExplorer::InsertRunTrace()\n{\n\tCCodeView*pCodeView;\n\tUINT CodeViewIndex;\n\tpCodeView=(CCodeView*)m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn;\n\tCodeViewIndex = m_MultiCodeView.GetActiveWndIndex();\n\tm_TraceCount = m_RunTrace.Insert(pCodeView->m_CurAddr,*X86_REG_PTR.pEIP,CodeViewIndex);\n\tm_TraceMoveIndex = m_TraceCount;\n\tfor(DWORD i=0;i<m_CPUNumbers;i++)\n\t{\n\t\tm_pWndGeneReg[i].EnableWindow(true);\n\t}\n\t//REG_LIST.EnableWindow(true);\n}\n\nvoid CSystemExplorer::OnHide()\n{\n\tCCodeView*pActiveWnd=(CCodeView*)m_MultiCodeView.GetActiveWnd();\n\tif(pActiveWnd && pActiveWnd->m_TipFullItemTextWnd.IsVisible())\n\t{\n\t\tpActiveWnd->HideItemTip();\n\t}\n}\n\nbool CSystemExplorer::SetRunTrace(UINT Index)\n{\n\tPSTRUNTRACE pTrace;\n\tm_TraceMoveIndex=Index+2;\n\tpTrace = GetPrevTrace();\n\tif(pTrace==NULL)return false;\n\tCCodeView*pCodeView;\n\tpCodeView=(CCodeView*)m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn false;\n\tpCodeView->SetStartAddress(pTrace->CodeViewStartAddress);\n\tpCodeView->SetSelectItemByAddress(pTrace->CodeViewStartAddress+pTrace->EIPOffset);\n\treturn true;\n}\n\nPSTRUNTRACE CSystemExplorer::GetNextTrace()\n{\n\tDWORD EIP=0;\n\tPSTRUNTRACE pTrace;\n\tX86_REG_CONTEXT RegContext;\n\tDWORD RegModifyMask,i;\n\tif(m_TraceMoveIndex==m_TraceCount)\n\t\treturn NULL;\n\tm_TraceMoveIndex++;\n\tif(m_TraceMoveIndex==m_TraceCount)\n\t{\n\t\tfor(i=0;i<m_CPUNumbers;i++)\n\t\t{\n\t\t\tm_pWndGeneReg[i].EnableWindow(true);\n\t\t}\n\t}else\n\t{\n\t\tfor(i=0;i<m_CPUNumbers;i++)\n\t\t{\n\t\t\tif(m_pWndGeneReg[i].IsDisabled()==false)\n\t\t\t\tm_pWndGeneReg[i].EnableWindow(false);\n\t\t}\n\t}\n\tpTrace = m_RunTrace.GetTraceByIndex(m_TraceMoveIndex-1);\n\tif(pTrace==NULL)\n\t\treturn pTrace;\n\tEIP = pTrace->CodeViewStartAddress+pTrace->EIPOffset;\n\tm_RunTrace.GetRegisterContext(m_TraceMoveIndex-1,&RegContext,&RegModifyMask);\n\tCWispTabWnd* pWndRegTab = (CWispTabWnd*)m_MultiCPUTabWnd.GetActiveWnd();\n\tCGeneRegList* pWndGeneReg;\n\tif(pWndRegTab)\n\t{\n\t\tpWndGeneReg = (CGeneRegList*)pWndRegTab->GetWnd(0);\n\t\tpWndGeneReg->RunTraceUpdateContext(RegModifyMask,&RegContext,EIP);\n\t\tpWndGeneReg->Update();\n\t}\n\n\treturn pTrace;\n}\n\nPSTRUNTRACE CSystemExplorer::GetPrevTrace()\n{\n\tPSTRUNTRACE pTrace;\n\tDWORD EIP=0;\n\tX86_REG_CONTEXT RegContext;\n\tDWORD RegModifyMask,i;\n\tif(m_TraceMoveIndex==1)\n\t\treturn NULL;\n\tm_TraceMoveIndex--;\n\n\tfor(i=0;i<m_CPUNumbers;i++)\n\t{\n\t\tif(m_pWndGeneReg[i].IsDisabled()==false)\n\t\t\tm_pWndGeneReg[i].EnableWindow(false);\n\t}\n\n\tif(m_TraceMoveIndex==m_TraceCount)\n\t{\n\t\tfor(i=0;i<m_CPUNumbers;i++)\n\t\t{\t\t\t\n\t\t\tm_pWndGeneReg[i].EnableWindow(true);\n\t\t}\n\t}\n\tpTrace = m_RunTrace.GetTraceByIndex(m_TraceMoveIndex-1);\n\tif(pTrace==NULL)\n\t\treturn pTrace;\n\tEIP = pTrace->CodeViewStartAddress+pTrace->EIPOffset;\n\tm_RunTrace.GetRegisterContext(m_TraceMoveIndex-1,&RegContext,&RegModifyMask);\n\n\tCWispTabWnd* pWndRegTab = (CWispTabWnd*)m_MultiCPUTabWnd.GetActiveWnd();\n\tCGeneRegList* pWndGeneReg;\n\tif(pWndRegTab)\n\t{\n\t\tpWndGeneReg = (CGeneRegList*)pWndRegTab->GetWnd(0);\n\t\tpWndGeneReg->RunTraceUpdateContext(RegModifyMask,&RegContext,EIP);\n\t\tpWndGeneReg->Update();\n\t}\n\treturn pTrace;\n\n}\n\nbool CSystemExplorer::OnEventDataViewForm(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.m_DataViewForm.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventRegView(IN WISP_MSG* pMsg)\n{\n\tDWORD dwCurrentID=0,i;\n\tWCHAR WndText[20];\n\tif(gpSyser->m_MainFrame.m_pRegWnd==NULL)\n\t{\n\t\tgpSyser->m_MainFrame.m_pRegWnd=new CGeneRegList[gCPUNumbers];\n\t}\n#ifdef CODE_OS_NT_DRV\t\n\tdwCurrentID = GetCurrentCPULocalAPICID();\n#endif\n\t\n\tif(gpSyser->m_MainFrame.m_MultiCPURegView.IsWindow()==false)\n\t{\t\t\t\n\t\tgpSyser->m_MainFrame.m_MultiCPURegView.Create(WSTR(\"Register View\"),CWispRect(0,0,320,210),NULL,0,WISP_TWS_BUTTOM|WISP_WS_NORMAL);\n\t\tfor(i=0;i<gCPUNumbers;i++)\n\t\t{\n\t\t\tif(gpSyser->m_MainFrame.m_pRegWnd[i].Create(NULL,CWispRect(0,0,0,0),&gpSyser->m_MainFrame.m_MultiCPURegView,CMD_ID_GENERAL_REGISTER_WND,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_EMPTY_SEL_RECT)==false)\n\t\t\t\treturn false;\n\t\t\tgpSyser->m_MainFrame.m_pRegWnd[i].SetCPUIndex(i);\n\t\t\tif(i!=dwCurrentID)\n\t\t\t\tTSPrintf(WndText,WSTR(\" CPU %d \"),i);\n\t\t\telse\n\t\t\t\tTSPrintf(WndText,WSTR(\"*CPU %d \"),i);\n\t\t\tgpSyser->m_MainFrame.m_MultiCPURegView.InsertWnd(WndText,&gpSyser->m_MainFrame.m_pRegWnd[i]);\n\t\t\tgpSyser->m_MainFrame.m_pRegWnd[i].UpdateContext();\n\t\t}\t\t\n\t}\n\telse\n\t{\n\t\tgpSyser->m_MainFrame.m_MultiCPURegView.Destroy();\n\t\tfor(i=0;i<gCPUNumbers;i++)\n\t\t{\n\t\t\tgpSyser->m_MainFrame.m_pRegWnd[i].Destroy();\n\t\t}\n\t}\n\t\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventCallStack(IN WISP_MSG* pMsg)\n{\n\tgpSyser->m_MainFrame.m_CallStackWnd.Popup();\n\treturn true;\n}\n\nbool CSystemExplorer::OnEventSEHChainWindow(IN WISP_MSG* pMsg)\n{\n\tif(m_SEHChainWnd.IsWindow()==false)\n\t{\n\t\tm_SEHChainWnd.Create(WSTR(\"SEH Chain\"),0,0,620,280,NULL,CMD_ID_SEH_LIST_WND,WISP_WLS_COLUMN_TITLE|WISP_WS_NORMAL);\n\t\tm_SEHChainWnd.Center();\n\t}\n\telse\n\t{\n\t\tm_SEHChainWnd.Show(WISP_SH_NORMAL);\n\t\tm_SEHChainWnd.Center();\n\t}\n\treturn true;\n}\n\n\nbool CSystemExplorer::OnHotKeyEventGeneReg(IN WISP_MSG*pMsg)\n{\n\tCWispTabWnd* pWndRegTab = (CWispTabWnd*)m_MultiCPUTabWnd.GetActiveWnd();\n\tif(pWndRegTab)\n\t\tpWndRegTab->SetActiveWnd(0);\t\n\treturn false;\n}\n\nbool CSystemExplorer::OnHotKeyEventFPUReg(IN WISP_MSG*pMsg)\n{\n\tCWispTabWnd* pWndRegTab = (CWispTabWnd*)m_MultiCPUTabWnd.GetActiveWnd();\n\tif(pWndRegTab)\n\t\tpWndRegTab->SetActiveWnd(1);\t\n\n\t//m_WndMenu.OnKeyEvent(&Msg);\n//m_WndMenu.OnKeyEvent(&Msg);\n\treturn false;\n}\n\nbool CSystemExplorer::OnHotKeyEventXMMReg(IN WISP_MSG*pMsg)\n{\n\tCWispTabWnd* pWndRegTab = (CWispTabWnd*)m_MultiCPUTabWnd.GetActiveWnd();\n\tif(pWndRegTab)\n\t\tpWndRegTab->SetActiveWnd(2);\n\treturn false;\n}\n\nbool CSystemExplorer::OnHotKeyEventStack(IN WISP_MSG*pMsg)\n{\n\tm_ContextTabWnd.SetActiveWnd(0);\n\treturn false;\n}\n\nbool CSystemExplorer::OnHotKeyEventWatch(IN WISP_MSG*pMsg)\n{\n\tm_ContextTabWnd.SetActiveWnd(1);\n\treturn false;\n}\n\nbool CSystemExplorer::OnHotKeyEventMenuFile(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"File\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnHotKeyEventMenuDebug(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Debug\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuView(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"View\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuMonitor(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Monitor\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuInformation(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Information\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuOption(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Option\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuTools(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Tools\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnHotKeyEventMenuHelp(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_MSG Msg;\n\tm_WndMenu.Focus();\t\t\n\thItem=m_WndMenu.GetItemByName(WSTR(\"Help\"));\n\tif(hItem)\n\t{\n\t\tm_WndMenu.SetHoverItem(hItem);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RETURN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_DOWN;\n\t\tm_WndMenu.OnKeyEvent(&Msg);\n\t}\n\treturn true;\n}\n\n\nbool CSystemExplorer::OnHotKeyEventCodeView(IN WISP_MSG*pMsg)\n{\n\tCCodeView*pCodeView = (CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView)\n\t\tpCodeView->Focus();\n\treturn true;\n}\n\nbool CSystemExplorer::OnHotKeyEventDataView(IN WISP_MSG*pMsg)\n{\n\tCDataView*pDataView = (CDataView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiDataView.GetActiveWnd();\n\tif(pDataView)\n\t\tpDataView->Focus();\n\treturn true;\n}\n\nbool CSystemExplorer::OnCommandMainSplit(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK && pMsg->Command.Param1 == 0)\n\t{\n\t\tWISP_SPLIT_WND*pSplitWnd = (WISP_SPLIT_WND*)pMsg->Command.Param2; \n\t\tif(pSplitWnd->SizeXorY<DEFAULT_MONITOR_VIEW_SIZE/2)\n\t\t{\n\t\t\tm_MainSplitWnd.ResizeWndSpace(0,DEFAULT_MONITOR_VIEW_SIZE);\n\t\t\tm_MainSplitWnd.AdjustWndPos();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_MainSplitWnd.ResizeWndSpace(0,0);\n\t\t\tm_MainSplitWnd.AdjustWndPos();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnCommandModuleWnd(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK)\n\t{\n\t\thItem=(HANDLE)pMsg->Command.Param2; \n\t\t//gpSyser->m_MainFrame.m_ModuleList.\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnCommandFunctionWnd(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tNUM_PTR ItemData;\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK)\n\t{\n\t\thItem=(HANDLE)pMsg->Command.Param2; \n\t\tItemData = m_FunctionWnd.GetItemData(hItem,1);\n\t\tgpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.SetActiveAddress((DWORD)ItemData);\n\t}\n\treturn true;\n}\nbool CSystemExplorer::OnCommandMonitorSplit(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_LDBCLICK && pMsg->Command.Param1 == 0)\n\t{\n\t\tWISP_SPLIT_WND*pSplitWnd = (WISP_SPLIT_WND*)pMsg->Command.Param2; \n\t\tif(pSplitWnd->SizeXorY<100)\n\t\t{\n\t\t\tm_MonitorSplitWnd.ResizeWndSpace(0,300);\n\t\t\tm_MonitorSplitWnd.AdjustWndPos();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_MonitorSplitWnd.ResizeWndSpace(0,0);\n\t\t\tm_MonitorSplitWnd.AdjustWndPos();\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(pMsg->Command.CmdMsg == WISP_CMD_ITEM_RDBCLICK && pMsg->Command.Param1 == 0)\n\t\t{\n\t\t\tWISP_SPLIT_WND*pSplitWnd = (WISP_SPLIT_WND*)pMsg->Command.Param2; \n\t\t\tif(pSplitWnd->SizeXorY>300)\n\t\t\t{\n\t\t\t\tm_MonitorSplitWnd.ResizeWndSpace(0,300);\n\t\t\t\tm_MonitorSplitWnd.AdjustWndPos();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_MonitorSplitWnd.ResizeWndSpace(0,m_MonitorSplitWnd.m_ClientRect.cy-5);\n\t\t\t\tm_MonitorSplitWnd.AdjustWndPos();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnCommandViewSplit(IN WISP_MSG*pMsg)\n{\n\tWISP_SPLIT_WND*pSplitWnd = (WISP_SPLIT_WND*)pMsg->Command.Param2; \n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_LDBCLICK:\n\t\tif(pMsg->Command.Param1 == 0)\n\t\t{\n\t\t\tif(pSplitWnd->SizeXorY>=m_ClientRect.cy*2/10)\n\t\t\t{\n\t\t\t\tm_ViewSplitWnd.ResizeWndSpace(0,m_ClientRect.cy*2/10);\n\t\t\t\tm_ViewSplitWnd.AdjustWndPos();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\n\t\t\t}\n\t\t}\n\t\telse if(pMsg->Command.Param1 == 1)\n\t\t{\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_ITEM_RDBCLICK:\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_Toolbar.Resize(pMsg->Resize.NewSize.cx,m_Toolbar.m_WindowRect.cy);\n\tm_MainSplitWnd.Resize(m_ClientRect.cx,m_ClientRect.cy-m_Toolbar.m_WindowRect.cy-m_WndMenu.m_WindowRect.cy);\n\tAdjustSplitViewSize();\n\treturn true;\n}\n\nvoid CSystemExplorer::AdjustSplitViewSize()\n{\n\tm_ViewSplitWnd.ResizeWndSpace(0,m_ClientRect.cy*3/20);\n\tm_ViewSplitWnd.ResizeWndSpace(1,m_ClientRect.cy*12/20);\n\tm_ViewSplitWnd.ResizeWndSpace(2,m_ClientRect.cy*5/20);\n\tm_ViewSplitWnd.AdjustWndPos();\n}\n\nbool CSystemExplorer::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tm_TerminalWnd.Focus();\n\treturn false;\n}\n\nbool CSystemExplorer::AttachDebugger(CX86Debugger*pDebugger)\n{\n\treturn true;\n}\n\nvoid CSystemExplorer::DetachDebugger()\n{\n\tif(gpSyser->m_bActive)\n\t{\n\t\tm_MultiCodeView.RemoveAllWnd();\n\t\tm_MultiCodeView.InsertView(NULL);\n\t\tm_MultiDataView.RemoveAllWnd();\n\t\tm_MultiDataView.InsertView(NULL);\n\t}\n}\n\nvoid CSystemExplorer::LocalEIP(VADDR32 Address)\n{\n\tDWORD Start,End;\n\tWISP_CHAR WndTitle[64];\n\tint CurrentIndex;\n\tif(gpSyser->m_pDebugger->m_CodeMode!=gpSyser->m_SyserUI.m_CodeDoc.m_Mode)\n\t\tgpSyser->m_SyserUI.SetInstrMode(gpSyser->m_pDebugger->m_CodeMode);\n\tCCodeView*pCodeWnd=(CCodeView*)m_MultiCodeView.GetActiveWnd();\n\tif(pCodeWnd)\n\t{\n\t\tpCodeWnd->GetCodeRange(&Start,&End);\n\t\tTSPrintf(WndTitle,WSTR(\"%08X\"),Address);\n\t\tCurrentIndex=m_MultiCodeView.GetActiveWndIndex();\n\t\tm_MultiCodeView.SetTabText(CurrentIndex,WndTitle);\n\t\tif(Address < Start || Address >= End)\n\t\t{\n\t\t\tpCodeWnd->SetStartAddress(Address);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(gpSyser->m_SyserUI.m_CodeDoc.IsExecutePointVisible(Start,End-Start)==false)\n\t\t\t\tpCodeWnd->SetStartAddress(*X86_REG_PTR.pEIP);\n\t\t}\n\t}\n}\n\nvoid CSystemExplorer::CenterViewCodeAddress(VADDR32 Address)\n{\n\tm_pCurCodeView->CenterVisibleAddress(Address);\n}\n\nvoid CSystemExplorer::ViewCodeAddress(VADDR32 Address,bool bRecord)\n{\n\tm_pCurCodeView->SetStartAddress(Address,bRecord);\n}\n\nvoid CSystemExplorer::ViewDataAddress(VADDR32 Address,int SelLen)\n{\n\tCWispHexWnd*pDataWnd=(CWispHexWnd*)m_MultiDataView.GetActiveWnd();\n\tif(pDataWnd)\n\t{\n\t\tif(SelLen>0)\n\t\t{\n\t\t\tpDataWnd->m_bSelect=true;\n\t\t\tpDataWnd->m_SelStart = Address;\n\t\t\tpDataWnd->m_SelEnd = Address+SelLen-1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpDataWnd->m_bSelect=false;\n\t\t}\n\t\tpDataWnd->ViewAddress(Address);\n\t}\n}\n\nvoid CSystemExplorer::UpdateContext()\n{\t\n\tWCHAR szBuffer[MAX_LONG_NAME_LEN];\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn;\n\tDWORD dwCurrentCpuID=0,i;\n#ifdef CODE_OS_NT_DRV\t\n\tdwCurrentCpuID = GetCurrentCPULocalAPICID();\n#endif\n\tCWispBaseWnd* pFocusWnd = m_pWispBase->m_pFocusWnd;\n\t\n\tm_MultiCPUTabWnd.SetActiveWnd(dwCurrentCpuID);\n\tTSPrintf(szBuffer,WSTR(\"PID:%x TID:%x \"),gpSyser->m_PopupProcessID, gpSyser->m_PopupThreadID);\n\tm_ContextStr.SetWindowText(szBuffer);\n\tfor(i=0;i<gCPUNumbers;i++)\n\t{\t\t\t\t\t\t\n\t\tm_pWndGeneReg[i].UpdateContext();\n\t\tm_pWndFpuReg[i].UpdateContext();\n\t\tm_pWndESSReg[i].UpdateContext();\t\t\n\t\tif(gCPUNumbers >1 && (m_pWndGeneReg[i].GetCPUIndex()==dwCurrentCpuID))\n\t\t{\n\t\t\tTSPrintf(szBuffer,WSTR(\"*CPU %d \"),i);\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTSPrintf(szBuffer,WSTR(\" CPU %d \"),i);\t\t\t\n\t\t}\n\t\tm_MultiCPUTabWnd.SetTabText(i,szBuffer);\n\n\t\tif(gpSyser->m_MainFrame.m_pRegWnd)\n\t\t{\n\t\t\tif(gpSyser->m_MainFrame.m_pRegWnd[i].IsWindow())\n\t\t\t{\n\t\t\t\tgpSyser->m_MainFrame.m_pRegWnd[i].UpdateContext();\n\t\t\t\tif(i==dwCurrentCpuID)\n\t\t\t\t\tgpSyser->m_MainFrame.m_MultiCPURegView.SetActiveWnd(dwCurrentCpuID);\n\t\t\t\tgpSyser->m_MainFrame.m_MultiCPURegView.SetTabText(i,szBuffer);\n\t\t\t}\n\t\t}\t\t\n\t}\n\t\n\tm_WatchList.UpdateContext();\n\tm_StackWatchList.UpdateContext(*X86_REG_PTR.pESP);\n\tm_MultiCodeView.UpdateAllView();\n\tm_MultiDataView.UpdateAllView();\n\tgpSyser->m_SyserUI.m_CodeDoc.GetCurInstrInfo(szBuffer);\n\tm_pInfoMsgWnd->SetWindowText(szBuffer);\n\t\n\tgpSyser->m_MainFrame.m_DataViewForm.UpdateContext();\n\tgpSyser->m_MainFrame.m_RunTraceWnd.UpdateContext();\n\tpFocusWnd->Focus();\n\tUpdate();\n}\n\nvoid CSystemExplorer::UpdateMemoryView()\n{\n\tWCHAR szBuffer[MAX_LONG_NAME_LEN];\n\tif(gpSyser->m_MainFrame.m_ConsoleWnd.m_IsInBatProcess || gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn;\n\tgpSyser->m_MainFrame.m_DataViewForm.UpdateContext();\n\tm_WatchList.UpdateContext();\n\tm_StackWatchList.UpdateContext(*X86_REG_PTR.pESP);\n\tm_MultiCodeView.UpdateAllView();\n\tm_MultiDataView.UpdateAllView();\n\tgpSyser->m_SyserUI.m_CodeDoc.GetCurInstrInfo(szBuffer);\n\tm_pInfoMsgWnd->SetWindowText(szBuffer);\n\tUpdate();\n}\nvoid CSystemExplorer::SaveMemoryContext()\n{\n\tm_MultiDataView.SaveContextAllView();\n}\nvoid CSystemExplorer::ResetContext()\n{\n\tfor(DWORD i=0;i<gCPUNumbers;i++)\n\t{\n\t\tm_pWndGeneReg[i].ResetContext();\n\t\tm_pWndFpuReg[i].ResetContext();\n\t\tm_pWndESSReg[i].ResetContext();\n\t}\n\t\n\tm_StackWatchList.ResetContext();\n\tm_WatchList.ResetContext();\n\tm_MultiCodeView.ResetContext();\n\tm_MultiDataView.ResetContext();\n\tgpSyser->m_MainFrame.m_SourceDebugFrameWnd.m_SourceVariableWatchWnd.ResetContext();\n}\n\nbool CSystemExplorer::OnGetNextTrace(IN WISP_MSG*pMsg)\n{\n\tPSTRUNTRACE pRunTrace;\n\tpRunTrace = SYSTEM_EXPLORER.GetNextTrace();\n\tif(pRunTrace==NULL)\n\t\treturn false;\n\tCCodeView*pCodeView = (CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView)\n\t{\n\t\tpCodeView->SetStartAddress(pRunTrace->CodeViewStartAddress);\n\t\tpCodeView->SetSelectItemByAddress(pRunTrace->CodeViewStartAddress+pRunTrace->EIPOffset);\n\t}\n\treturn true;\n}\n\nbool CSystemExplorer::OnGetPrevTrace(IN WISP_MSG*pMsg)\n{\n\tPSTRUNTRACE pRunTrace;\n\tpRunTrace = SYSTEM_EXPLORER.GetPrevTrace();\n\tif(pRunTrace==NULL)\n\t\treturn true;\n\tCCodeView*pCodeView = (CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView)\n\t{\n\t\tpCodeView->SetStartAddress(pRunTrace->CodeViewStartAddress);\n\t\tpCodeView->SetSelectItemByAddress(pRunTrace->CodeViewStartAddress+pRunTrace->EIPOffset);\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/SystemExplorer.h",
    "content": "#ifndef _SYSTEM_EXPLORER_H_\n#define _SYSTEM_EXPLORER_H_\n\n#include \"IDTWnd.h\"\n#include \"GDTWnd.h\"\n#include \"PageMapWnd.h\"\n#include \"X86RegHelpTabWnd.h\"\n#include \"ProcessList.h\"\n#include \"ObjectDirectoryWnd.h\"\n#include \"BreakPointForm.h\"\n#include \"DebuggerSelectForm.h\"\n#include \"PluginListForm.h\"\n#include \"DataOperatorDlg.h\"\n#include \"CrossReferenceForm.h\"\n#include \"RunTrace.h\"\n#include \"RunTraceWnd.h\"\n#include \"ModuleListWnd.h\"\n#include \"ThreadListWnd.h\"\n#include \"CallStackWnd.h\"\n#include \"FunctionListWnd.h\"\n#include \"ErrorCodeWnd.h\"\n#include \"SEHChainWnd.h\"\n#include \"CommentList.h\"\n#include \"MultiCodeView.h\"\n#include \"MultiDataView.h\"\n#include \"GeneRegList.h\"\n#include \"WatchList.h\"\n#include \"StackWatchList.h\"\n#include \"FpuRegisterList.h\"\n#include \"SSERegisterList.h\"\n#include \"TypeViewerWnd.h\"\n#include \"SearchDialog.h\"\n#include \"SyserAboutForm.h\"\n#include \"Analyzer.h\"\n\nclass CSystemExplorer : public CWispWnd\n{\npublic:\n\tCSystemExplorer();\n\t~CSystemExplorer();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnSize);\n\tDECLARE_WISP_MSG(OnGetFocus);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCommandMainSplit)\n\tDECLARE_WISP_MSG_CMD(OnCommandViewSplit)\n\tDECLARE_WISP_MSG_CMD(OnCommandMonitorSplit)\n\tDECLARE_WISP_MSG_CMD(OnCommandModuleWnd)\n\tDECLARE_WISP_MSG_CMD(OnCommandFunctionWnd)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventRegView)\n\tDECLARE_WISP_MSG_EVENT(OnEventDataViewForm)\n\tDECLARE_WISP_MSG_EVENT(OnEventCallStack)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventGeneReg)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventFPUReg)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventXMMReg)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventStack)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventWatch)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventCodeView)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventDataView)\n\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuFile)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuDebug)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuView)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuMonitor)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuInformation)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuOption)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuTools)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeyEventMenuHelp)\n\tDECLARE_WISP_MSG_EVENT(OnHotKeySetting)\n\n\tDECLARE_WISP_MSG_EVENT(OnEventOpen)\n\tDECLARE_WISP_MSG_EVENT(OnEventLoadSymbolFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventClose)\n\tDECLARE_WISP_MSG_EVENT(OnEventSaveComment)\n\tDECLARE_WISP_MSG_EVENT(OnEventLoadComment)\n\tDECLARE_WISP_MSG_EVENT(OnEventMemorySearch)\n\tDECLARE_WISP_MSG_EVENT(OnEventIDT)\n\tDECLARE_WISP_MSG_EVENT(OnEventGDT)\n\tDECLARE_WISP_MSG_EVENT(OnEventLDT)\n\tDECLARE_WISP_MSG_EVENT(OnEventProcess)\n\tDECLARE_WISP_MSG_EVENT(OnEventPageMap)\n\tDECLARE_WISP_MSG_EVENT(OnEventRegHelp)\n\tDECLARE_WISP_MSG_EVENT(OnEventObjectWnd)\n\tDECLARE_WISP_MSG_EVENT(OnEventContinue)\n\tDECLARE_WISP_MSG_EVENT(OnEventReset)\n\tDECLARE_WISP_MSG_EVENT(OnEventStep)\n\tDECLARE_WISP_MSG_EVENT(OnEventStepBranch)\n\tDECLARE_WISP_MSG_EVENT(OnEventProceed)\n\tDECLARE_WISP_MSG_EVENT(OnEventReturn)\n\tDECLARE_WISP_MSG_EVENT(OnEventBreakPoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventDebuggerOption)\n\tDECLARE_WISP_MSG_EVENT(OnEventDebuggerSelect)\n\tDECLARE_WISP_MSG_EVENT(OnEventPluginList)\n\tDECLARE_WISP_MSG_EVENT(OnEventCalc)\n\tDECLARE_WISP_MSG_EVENT(OnEventSoftKB)\n\tDECLARE_WISP_MSG_EVENT(OnEventSetHotKey)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventPEExplorer)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventIBMAscii)\n\tDECLARE_WISP_MSG_EVENT(OnEventEBCDIC)\n\tDECLARE_WISP_MSG_EVENT(OnEventANSIAscii)\n\tDECLARE_WISP_MSG_EVENT(OnEventModuleWindow)\n\tDECLARE_WISP_MSG_EVENT(OnEventFunctionWindow)\n\tDECLARE_WISP_MSG_EVENT(OnEventThreadWindow)\n\tDECLARE_WISP_MSG_EVENT(OnEventHwndListWindow)\n\tDECLARE_WISP_MSG_EVENT(OnEventCallStackView)\n\tDECLARE_WISP_MSG_EVENT(OnEventSEHChainWindow)\n\tDECLARE_WISP_MSG_EVENT(OnEventToggleBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventNextBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventPrevBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventClearBookMark)\n\tDECLARE_WISP_MSG_EVENT(OnEventCommentList)\n\tDECLARE_WISP_MSG_EVENT(OnEventNextPos)\n\tDECLARE_WISP_MSG_EVENT(OnEventPrevPos)\n\tDECLARE_WISP_MSG_EVENT(OnEventSavePos)\n\tDECLARE_WISP_MSG_EVENT(OnEventEmptyPosList)\n\tDECLARE_WISP_MSG_EVENT(OnEventRunTraceWnd)\n\tDECLARE_WISP_MSG_EVENT(OnEventRecentFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventEnableAllBreakpoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventDisableAllBreakpoint)\n\tDECLARE_WISP_MSG_EVENT(OnEventRemoveAllBreakpoint)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventAboutSyser)\n\tDECLARE_WISP_MSG_EVENT(OnEventStringReference)\n\tDECLARE_WISP_MSG_EVENT(OnGetPrevTrace)\n\tDECLARE_WISP_MSG_EVENT(OnGetNextTrace)\t\n#ifdef CODE_OS_WIN\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventCheckNewVersion)\n#endif\npublic:\n\tbool\t\tAttachDebugger(CX86Debugger*pDebugger);\n\tvoid\t\tDetachDebugger();\n\tvoid\t\tLocalEIP(VADDR32 Address);\n\tvoid\t\tCenterViewCodeAddress(VADDR32 Address);\n\tvoid\t\tViewCodeAddress(VADDR32 Address,bool bRecord=false);\n\tvoid\t\tViewDataAddress(VADDR32 Address,int SelLen = 0);\n\tvoid\t\tUpdateContext();\n\tvoid\t\tSaveMemoryContext();\n\tvoid\t\tUpdateMemoryView();\n\tvoid\t\tResetContext();\n\tvoid\t\tAdjustSplitViewSize();\n\tvoid\t\tOnHide();\n\tvoid\t\tInsertRunTrace();\n\tPSTRUNTRACE GetNextTrace();\n\tPSTRUNTRACE GetPrevTrace();\n\tbool\t\tSetRunTrace(UINT Index);\n\tvoid\t\tUpdateItemState();\n\t// Reg,FPU,XMM Ĵ\n\tbool\t\tCreateRegWindows(IN WISP_MSG*pMsg);\npublic:\n#ifdef CODE_OS_WIN\n\tCSyserOptionForm\tm_SyserOptionForm;\n#endif\n\tCSearchDialog\t\tm_SearchDialog;\n\tCMoveFramMenu\t\tm_WndMenu;\n\tCWispStaticStr\t\tm_VersionStr;\n\tCWispStaticStr\t\tm_ContextStr;\n\tCWispBaseWnd*\t\tm_pInfoMsgWnd;\n\tCWispToolbar\t\tm_Toolbar;\n\t\n\tCWatchList\t\t\tm_WatchList;\n\tCStackWatchList\t\tm_StackWatchList;\n\tCWispTabWnd\t\t\tm_MultiCPUTabWnd;\n\t\n\n\tCWispTabWnd\t\t\tm_ContextTabWnd;\n\tCWispSplitWnd\t\tm_ViewSplitWnd;\n\tCWispSplitWnd\t\tm_MainSplitWnd;\n\tCWispSplitWnd\t\tm_MonitorSplitWnd;\n\tCMultiCodeView\t\tm_MultiCodeView;\n\tCMultiDataView\t\tm_MultiDataView;\n\n\n\tDWORD\t\t\t\tm_CPUNumbers;\n\tCFpuRegisterList*\tm_pWndFpuReg;\n\tCSSERegisterList*\tm_pWndESSReg;\n\tCGeneRegList*\t\tm_pWndGeneReg;\n\tCWispTabWnd*\t\tm_pWndRegTab;\n\n\tCTerminalWnd\t\tm_TerminalWnd;\t\n\tCCodeView*\t\t\tm_pCurCodeView;\n\n\t//////////////////////////////////////////////////////////////////////////////\n\t///              Run Trace\n\tCRunTrace\t\t\tm_RunTrace;\n\tX86_REG_CONTEXT\t\tm_TracePrevReg;\n\tULPOS\t\t\t\tm_TraceMoveIndex;\n\tULPOS\t\t\t\tm_TraceCount;\n\t///              Run Trace\n\t//////////////////////////////////////////////////////////////////////////////\t\n\t//////////////////////////////////////////////////////////////////////////////\n\t///              Module Window\n\tCThreadListWnd\t\tm_ThreadListWnd;\n\tCSEHChainWnd\t\tm_SEHChainWnd;\n\t///              Module Window\n\t//////////////////////////////////////////////////////////////////////////////\n\tULONGLONG\t\tm_StrReferenceModuleID;\t\t\n\tTMap<DWORD,ULONGLONG> m_StrReferenceMap;\n\n\tCAnalyzer m_Analyzer;\n\tCWispList\tm_FunctionWnd;\n};\n\n\n\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/SystemIoctl.cpp",
    "content": "#include \"stdafx.h\"\n#include \"SystemIoctl.h\"\n//#include <winioctl.h>\nSYS_IOCTL gSysIoctl[]={\n\t{\"IOCTL_BEEP_SET\",0x00010000},\n\t{\"IOCTL_CDROM_DISK_TYPE\",0x00020040},\n\t{\"IOCTL_CDROM_READ_TOC\",0x00024000},\n\t{\"IOCTL_CDROM_SEEK_AUDIO_MSF\",0x00024004},\n\t{\"IOCTL_CDROM_STOP_AUDIO\",0x00024008},\n\t{\"IOCTL_CDROM_PAUSE_AUDIO\",0x0002400c},\n\t{\"IOCTL_CDROM_RESUME_AUDIO\",0x00024010},\n\t{\"IOCTL_CDROM_GET_VOLUME\",0x00024014},\n\t{\"IOCTL_CDROM_PLAY_AUDIO_MSF\",0x00024018},\n\t{\"IOCTL_CDROM_SET_VOLUME\",0x00024028},\n\t{\"IOCTL_CDROM_READ_Q_CHANNEL\",0x0002402c},\n\t{\"IOCTL_CDROM_GET_LAST_SESSION\",0x00024038},\n\t{\"IOCTL_CDROM_RAW_READ\",0x0002403e},\n\t{\"IOCTL_CDROM_GET_DRIVE_GEOMETRY\",0x0002404c},\n\t{\"IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX\",0x00024050},\n\t{\"IOCTL_CDROM_READ_TOC_EX\",0x00024054},\n\t{\"IOCTL_CDROM_GET_CONFIGURATION\",0x00024058},\n\t{\"IOCTL_CDROM_CHECK_VERIFY\",0x00024800},\n\t{\"IOCTL_CDROM_MEDIA_REMOVAL\",0x00024804},\n\t{\"IOCTL_CDROM_EJECT_MEDIA\",0x00024808},\n\t{\"IOCTL_CDROM_LOAD_MEDIA\",0x0002480c},\n\t{\"IOCTL_CDROM_RESERVE\",0x00024810},\n\t{\"IOCTL_CDROM_RELEASE\",0x00024814},\n\t{\"IOCTL_CDROM_FIND_NEW_DEVICES\",0x00024818},\n\t{\"IOCTL_CDROM_UNLOAD_DRIVER\",0x00025008},\n\t{\"IOCTL_SCSI_GET_INQUIRY_DATA\",0x0004100c},\n\t{\"IOCTL_SCSI_GET_CAPABILITIES\",0x00041010},\n\t{\"IOCTL_SCSI_GET_ADDRESS\",0x00041018},\n\t{\"IOCTL_SCSI_RESCAN_BUS\",0x0004101c},\n\t{\"IOCTL_SCSI_GET_DUMP_POINTERS\",0x00041020},\n\t{\"IOCTL_SCSI_FREE_DUMP_POINTERS\",0x00041024},\n\t{\"IOCTL_SCSI_PASS_THROUGH\",0x0004d004},\n\t{\"IOCTL_SCSI_MINIPORT\",0x0004d008},\n\t{\"IOCTL_SCSI_PASS_THROUGH_DIRECT\",0x0004d014},\n\t{\"IOCTL_IDE_PASS_THROUGH\",0x0004d028},\n\t{\"IOCTL_ATA_PASS_THROUGH\",0x0004d02c},\n\t{\"IOCTL_ATA_PASS_THROUGH_DIRECT\",0x0004d030},\n\t{\"IOCTL_DISK_GET_DRIVE_GEOMETRY\",0x00070000},\n\t{\"IOCTL_DISK_VERIFY\",0x00070014},\n\t{\"IOCTL_DISK_PERFORMANCE\",0x00070020},\n\t{\"IOCTL_DISK_IS_WRITABLE\",0x00070024},\n\t{\"IOCTL_DISK_LOGGING\",0x00070028},\n\t{\"IOCTL_DISK_HISTOGRAM_STRUCTURE\",0x00070030},\n\t{\"IOCTL_DISK_HISTOGRAM_DATA\",0x00070034},\n\t{\"IOCTL_DISK_HISTOGRAM_RESET\",0x00070038},\n\t{\"IOCTL_DISK_REQUEST_STRUCTURE\",0x0007003c},\n\t{\"IOCTL_DISK_REQUEST_DATA\",0x00070040},\n\t{\"IOCTL_DISK_CONTROLLER_NUMBER\",0x00070044},\n\t{\"IOCTL_DISK_GET_PARTITION_INFO_EX\",0x00070048},\n\t{\"IOCTL_DISK_GET_DRIVE_LAYOUT_EX\",0x00070050},\n\t{\"IOCTL_DISK_PERFORMANCE_OFF\",0x00070060},\n\t{\"IOCTL_DISK_GET_DRIVE_GEOMETRY_EX\",0x000700a0},\n\t{\"IOCTL_DISK_UPDATE_PROPERTIES\",0x00070140},\n\t{\"IOCTL_DISK_SENSE_DEVICE\",0x000703e0},\n\t{\"IOCTL_DISK_INTERNAL_SET_VERIFY\",0x00070403},\n\t{\"IOCTL_DISK_INTERNAL_CLEAR_VERIFY\",0x00070407},\n\t{\"IOCTL_DISK_INTERNAL_SET_NOTIFY\",0x00070408},\n\t{\"IOCTL_DISK_GET_MEDIA_TYPES\",0x00070c00},\n\t{\"IOCTL_DISK_GET_PARTITION_INFO\",0x00074004},\n\t{\"IOCTL_DISK_GET_DRIVE_LAYOUT\",0x0007400c},\n\t{\"IOCTL_DISK_GET_LENGTH_INFO\",0x0007405c},\n\t{\"SMART_GET_VERSION\",0x00074080},\n\t{\"IOCTL_DISK_GET_CACHE_INFORMATION\",0x000740d4},\n\t{\"IOCTL_DISK_GET_CACHE_SETTING\",0x000740e0},\n\t{\"IOCTL_DISK_CHECK_VERIFY\",0x00074800},\n\t{\"IOCTL_DISK_MEDIA_REMOVAL\",0x00074804},\n\t{\"IOCTL_DISK_EJECT_MEDIA\",0x00074808},\n\t{\"IOCTL_DISK_LOAD_MEDIA\",0x0007480c},\n\t{\"IOCTL_DISK_RESERVE\",0x00074810},\n\t{\"IOCTL_DISK_RELEASE\",0x00074814},\n\t{\"IOCTL_DISK_FIND_NEW_DEVICES\",0x00074818},\n\t{\"IOCTL_DISK_SET_PARTITION_INFO\",0x0007c008},\n\t{\"IOCTL_DISK_SET_DRIVE_LAYOUT\",0x0007c010},\n\t{\"IOCTL_DISK_FORMAT_TRACKS\",0x0007c018},\n\t{\"IOCTL_DISK_REASSIGN_BLOCKS\",0x0007c01c},\n\t{\"IOCTL_DISK_FORMAT_TRACKS_EX\",0x0007c02c},\n\t{\"IOCTL_DISK_SET_PARTITION_INFO_EX\",0x0007c04c},\n\t{\"IOCTL_DISK_SET_DRIVE_LAYOUT_EX\",0x0007c054},\n\t{\"IOCTL_DISK_CREATE_DISK\",0x0007c058},\n\t{\"SMART_SEND_DRIVE_COMMAND\",0x0007c084},\n\t{\"SMART_RCV_DRIVE_DATA\",0x0007c088},\n\t{\"IOCTL_DISK_UPDATE_DRIVE_SIZE\",0x0007c0c8},\n\t{\"IOCTL_DISK_GROW_PARTITION\",0x0007c0d0},\n\t{\"IOCTL_DISK_SET_CACHE_INFORMATION\",0x0007c0d8},\n\t{\"IOCTL_DISK_SET_CACHE_SETTING\",0x0007c0e4},\n\t{\"IOCTL_DISK_DELETE_DRIVE_LAYOUT\",0x0007c100},\n\t{\"IOCTL_DISK_FORMAT_DRIVE\",0x0007c3cc},\n\t{\"IOCTL_DISK_SIMBAD\",0x0007d000},\n\t{\"FSCTL_REQUEST_OPLOCK_LEVEL_1\",0x00090000},\n\t{\"FSCTL_REQUEST_OPLOCK_LEVEL_2\",0x00090004},\n\t{\"FSCTL_REQUEST_BATCH_OPLOCK\",0x00090008},\n\t{\"FSCTL_OPLOCK_BREAK_ACKNOWLEDGE\",0x0009000c},\n\t{\"FSCTL_OPBATCH_ACK_CLOSE_PENDING\",0x00090010},\n\t{\"FSCTL_OPLOCK_BREAK_NOTIFY\",0x00090014},\n\t{\"FSCTL_LOCK_VOLUME\",0x00090018},\n\t{\"FSCTL_UNLOCK_VOLUME\",0x0009001c},\n\t{\"FSCTL_DISMOUNT_VOLUME\",0x00090020},\n\t{\"FSCTL_IS_VOLUME_MOUNTED\",0x00090028},\n\t{\"FSCTL_IS_PATHNAME_VALID\",0x0009002c},\n\t{\"FSCTL_MARK_VOLUME_DIRTY\",0x00090030},\n\t{\"FSCTL_QUERY_RETRIEVAL_POINTERS\",0x0009003b},\n\t{\"FSCTL_GET_COMPRESSION\",0x0009003c},\n\t{\"FSCTL_MARK_AS_SYSTEM_HIVE\",0x0009004f},\n\t{\"FSCTL_OPLOCK_BREAK_ACK_NO_2\",0x00090050},\n\t{\"FSCTL_INVALIDATE_VOLUMES\",0x00090054},\n\t{\"FSCTL_QUERY_FAT_BPB\",0x00090058},\n\t{\"FSCTL_REQUEST_FILTER_OPLOCK\",0x0009005c},\n\t{\"FSCTL_FILESYSTEM_GET_STATISTICS\",0x00090060},\n\t{\"FSCTL_GET_NTFS_VOLUME_DATA\",0x00090064},\n\t{\"FSCTL_GET_NTFS_FILE_RECORD\",0x00090068},\n\t{\"FSCTL_GET_VOLUME_BITMAP\",0x0009006f},\n\t{\"FSCTL_GET_RETRIEVAL_POINTERS\",0x00090073},\n\t{\"FSCTL_MOVE_FILE\",0x00090074},\n\t{\"FSCTL_IS_VOLUME_DIRTY\",0x00090078},\n\t{\"FSCTL_ALLOW_EXTENDED_DASD_IO\",0x00090083},\n\t{\"FSCTL_FIND_FILES_BY_SID\",0x0009008f},\n\t{\"FSCTL_SET_OBJECT_ID\",0x00090098},\n\t{\"FSCTL_GET_OBJECT_ID\",0x0009009c},\n\t{\"FSCTL_DELETE_OBJECT_ID\",0x000900a0},\n\t{\"FSCTL_SET_REPARSE_POINT\",0x000900a4},\n\t{\"FSCTL_GET_REPARSE_POINT\",0x000900a8},\n\t{\"FSCTL_DELETE_REPARSE_POINT\",0x000900ac},\n\t{\"FSCTL_ENUM_USN_DATA\",0x000900b3},\n\t{\"FSCTL_READ_USN_JOURNAL\",0x000900bb},\n\t{\"FSCTL_SET_OBJECT_ID_EXTENDED\",0x000900bc},\n\t{\"FSCTL_CREATE_OR_GET_OBJECT_ID\",0x000900c0},\n\t{\"FSCTL_SET_SPARSE\",0x000900c4},\n\t{\"FSCTL_SET_ENCRYPTION\",0x000900d7},\n\t{\"FSCTL_ENCRYPTION_FSCTL_IO\",0x000900db},\n\t{\"FSCTL_WRITE_RAW_ENCRYPTED\",0x000900df},\n\t{\"FSCTL_READ_RAW_ENCRYPTED\",0x000900e3},\n\t{\"FSCTL_CREATE_USN_JOURNAL\",0x000900e7},\n\t{\"FSCTL_READ_FILE_USN_DATA\",0x000900eb},\n\t{\"FSCTL_WRITE_USN_CLOSE_RECORD\",0x000900ef},\n\t{\"FSCTL_EXTEND_VOLUME\",0x000900f0},\n\t{\"FSCTL_QUERY_USN_JOURNAL\",0x000900f4},\n\t{\"FSCTL_DELETE_USN_JOURNAL\",0x000900f8},\n\t{\"FSCTL_MARK_HANDLE\",0x000900fc},\n\t{\"FSCTL_SIS_COPYFILE\",0x00090100},\n\t{\"FSCTL_RECALL_FILE\",0x00090117},\n\t{\"FSCTL_FILE_PREFETCH\",0x00090120},\n\t{\"FSCTL_SECURITY_ID_CHECK\",0x000940b7},\n\t{\"FSCTL_QUERY_ALLOCATED_RANGES\",0x000940cf},\n\t{\"FSCTL_READ_FROM_PLEX\",0x0009411e},\n\t{\"FSCTL_SET_ZERO_DATA\",0x000980c8},\n\t{\"FSCTL_SET_COMPRESSION\",0x0009c040},\n\t{\"FSCTL_SIS_LINK_FILES\",0x0009c104},\n\t{\"FSCTL_HSM_MSG\",0x0009c108},\n\t{\"FSCTL_HSM_DATA\",0x0009c113},\n\t{\"IOCTL_KEYBOARD_QUERY_ATTRIBUTES\",0x000b0000},\n\t{\"IOCTL_HID_GET_DEVICE_DESCRIPTOR\",0x000b0003},\n\t{\"IOCTL_KEYBOARD_SET_TYPEMATIC\",0x000b0004},\n\t{\"IOCTL_HID_GET_REPORT_DESCRIPTOR\",0x000b0007},\n\t{\"IOCTL_KEYBOARD_SET_INDICATORS\",0x000b0008},\n\t{\"IOCTL_HID_READ_REPORT\",0x000b000b},\n\t{\"IOCTL_HID_WRITE_REPORT\",0x000b000f},\n\t{\"IOCTL_HID_GET_STRING\",0x000b0013},\n\t{\"IOCTL_HID_ACTIVATE_DEVICE\",0x000b001f},\n\t{\"IOCTL_KEYBOARD_QUERY_TYPEMATIC\",0x000b0020},\n\t{\"IOCTL_HID_DEACTIVATE_DEVICE\",0x000b0023},\n\t{\"IOCTL_HID_GET_DEVICE_ATTRIBUTES\",0x000b0027},\n\t{\"IOCTL_KEYBOARD_QUERY_INDICATORS\",0x000b0040},\n\t{\"IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION\",0x000b0080},\n\t{\"IOCTL_KEYBOARD_INSERT_DATA\",0x000b0100},\n\t{\"IOCTL_HID_SET_FEATURE\",0x000b0191},\n\t{\"IOCTL_HID_GET_FEATURE\",0x000b0192},\n\t{\"IOCTL_HID_GET_COLLECTION_DESCRIPTOR\",0x000b0193},\n\t{\"IOCTL_HID_SET_OUTPUT_REPORT\",0x000b0195},\n\t{\"IOCTL_HID_FLUSH_QUEUE\",0x000b0197},\n\t{\"IOCTL_HID_GET_POLL_FREQUENCY_MSEC\",0x000b0198},\n\t{\"IOCTL_GET_PHYSICAL_DESCRIPTOR\",0x000b019a},\n\t{\"IOCTL_HID_SET_POLL_FREQUENCY_MSEC\",0x000b019c},\n\t{\"IOCTL_HID_GET_HARDWARE_ID\",0x000b019e},\n\t{\"IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS\",0x000b01a0},\n\t{\"IOCTL_HID_GET_INPUT_REPORT\",0x000b01a2},\n\t{\"IOCTL_HID_GET_COLLECTION_INFORMATION\",0x000b01a8},\n\t{\"IOCTL_HID_GET_MANUFACTURER_STRING\",0x000b01ba},\n\t{\"IOCTL_HID_GET_PRODUCT_STRING\",0x000b01be},\n\t{\"IOCTL_HID_GET_SERIALNUMBER_STRING\",0x000b01c2},\n\t{\"IOCTL_HID_GET_INDEXED_STRING\",0x000b01e2},\n\t{\"IOCTL_INTERNAL_KEYBOARD_CONNECT\",0x000b0203},\n\t{\"IOCTL_HID_ENABLE_SECURE_READ\",0x000b020b},\n\t{\"IOCTL_HID_DISABLE_SECURE_READ\",0x000b020f},\n\t{\"IOCTL_INTERNAL_KEYBOARD_DISCONNECT\",0x000b0403},\n\t{\"IOCTL_KEYBOARD_QUERY_IME_STATUS\",0x000b1000},\n\t{\"IOCTL_KEYBOARD_SET_IME_STATUS\",0x000b1004},\n\t{\"IOCTL_INTERNAL_I8042_HOOK_KEYBOARD\",0x000b3fc3},\n\t{\"IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER\",0x000b3fc7},\n\t{\"IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER\",0x000b3fcb},\n\t{\"IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION\",0x000b3fcf},\n\t{\"IOCTL_INTERNAL_MOUSE_CONNECT\",0x000f0203},\n\t{\"IOCTL_INTERNAL_MOUSE_DISCONNECT\",0x000f0403},\n\t{\"IOCTL_INTERNAL_I8042_HOOK_MOUSE\",0x000f3fc3},\n\t{\"IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER\",0x000f3fc7},\n\t{\"IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION\",0x000f3fcf},\n\t{\"IOCTL_PF_SET_EXTENSION_POINTER\",0x00128058},\n\t{\"IOCTL_PAR_QUERY_INFORMATION\",0x00160004},\n\t{\"IOCTL_PAR_SET_INFORMATION\",0x00160008},\n\t{\"IOCTL_PAR_QUERY_DEVICE_ID\",0x0016000c},\n\t{\"IOCTL_PAR_QUERY_DEVICE_ID_SIZE\",0x00160010},\n\t{\"IOCTL_IEEE1284_GET_MODE\",0x00160014},\n\t{\"IOCTL_IEEE1284_NEGOTIATE\",0x00160018},\n\t{\"IOCTL_PAR_SET_WRITE_ADDRESS\",0x0016001c},\n\t{\"IOCTL_PAR_SET_READ_ADDRESS\",0x00160020},\n\t{\"IOCTL_PAR_GET_DEVICE_CAPS\",0x00160024},\n\t{\"IOCTL_PAR_GET_DEFAULT_MODES\",0x00160028},\n\t{\"IOCTL_PAR_PING\",0x0016002c},\n\t{\"IOCTL_PAR_QUERY_RAW_DEVICE_ID\",0x00160030},\n\t{\"IOCTL_PAR_ECP_HOST_RECOVERY\",0x00160034},\n\t{\"IOCTL_PAR_GET_READ_ADDRESS\",0x00160038},\n\t{\"IOCTL_PAR_GET_WRITE_ADDRESS\",0x0016003c},\n\t{\"IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO\",0x00160044},\n\t{\"IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE\",0x0016004c},\n\t{\"IOCTL_PAR_TEST\",0x00160050},\n\t{\"IOCTL_PAR_IS_PORT_FREE\",0x00160054},\n\t{\"IOCTL_PAR_QUERY_LOCATION\",0x00160058},\n\t{\"IOCTL_INTERNAL_SELECT_DEVICE\",0x0016005c},\n\t{\"IOCTL_INTERNAL_DESELECT_DEVICE\",0x00160060},\n\t{\"IOCTL_INTERNAL_PARCLASS_CONNECT\",0x00160078},\n\t{\"IOCTL_INTERNAL_PARCLASS_DISCONNECT\",0x0016007c},\n\t{\"IOCTL_INTERNAL_DISCONNECT_IDLE\",0x00160080},\n\t{\"IOCTL_INTERNAL_LOCK_PORT\",0x00160094},\n\t{\"IOCTL_INTERNAL_UNLOCK_PORT\",0x00160098},\n\t{\"IOCTL_INTERNAL_PARALLEL_PORT_FREE\",0x001600a0},\n\t{\"IOCTL_INTERNAL_LOCK_PORT_NO_SELECT\",0x001600d0},\n\t{\"IOCTL_INTERNAL_UNLOCK_PORT_NO_DESELECT\",0x001600d4},\n\t{\"IOCTL_NDIS_QUERY_GLOBAL_STATS\",0x00170002},\n\t{\"IOCTL_NDIS_QUERY_ALL_STATS\",0x00170006},\n\t{\"IOCTL_NDIS_DO_PNP_OPERATION\",0x00170008},\n\t{\"IOCTL_NDIS_QUERY_SELECTED_STATS\",0x0017000e},\n\t{\"IOCTL_NDIS_ENUMERATE_INTERFACES\",0x00170010},\n\t{\"IOCTL_NDIS_ADD_TDI_DEVICE\",0x00170014},\n\t{\"IOCTL_NDIS_GET_LOG_DATA\",0x0017001e},\n\t{\"IOCTL_NDIS_GET_VERSION\",0x00170020},\n\t{\"IOCTL_SCSISCAN_CMD\",0x00190012},\n\t{\"IOCTL_SCSISCAN_LOCKDEVICE\",0x00190016},\n\t{\"IOCTL_SCSISCAN_UNLOCKDEVICE\",0x0019001a},\n\t{\"IOCTL_SCSISCAN_SET_TIMEOUT\",0x0019001c},\n\t{\"IOCTL_SCSISCAN_GET_INFO\",0x00190022},\n\t{\"IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE\",0x001b0004},\n\t{\"IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE\",0x001b0008},\n\t{\"IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS\",0x001b000c},\n\t{\"IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS\",0x001b0010},\n\t{\"IOCTL_SERIAL_SET_BREAK_OFF\",0x001b0014},\n\t{\"IOCTL_SERIAL_IMMEDIATE_CHAR\",0x001b0018},\n\t{\"IOCTL_SERIAL_SET_TIMEOUTS\",0x001b001c},\n\t{\"IOCTL_SERIAL_GET_TIMEOUTS\",0x001b0020},\n\t{\"IOCTL_SERIAL_SET_DTR\",0x001b0024},\n\t{\"IOCTL_SERIAL_CLR_DTR\",0x001b0028},\n\t{\"IOCTL_SERIAL_RESET_DEVICE\",0x001b002c},\n\t{\"IOCTL_SERIAL_SET_RTS\",0x001b0030},\n\t{\"IOCTL_SERIAL_CLR_RTS\",0x001b0034},\n\t{\"IOCTL_SERIAL_SET_XOFF\",0x001b0038},\n\t{\"IOCTL_SERIAL_SET_XON\",0x001b003c},\n\t{\"IOCTL_SERIAL_GET_WAIT_MASK\",0x001b0040},\n\t{\"IOCTL_SERIAL_SET_WAIT_MASK\",0x001b0044},\n\t{\"IOCTL_SERIAL_WAIT_ON_MASK\",0x001b0048},\n\t{\"IOCTL_SERIAL_PURGE\",0x001b004c},\n\t{\"IOCTL_SERIAL_GET_BAUD_RATE\",0x001b0050},\n\t{\"IOCTL_SERIAL_GET_LINE_CONTROL\",0x001b0054},\n\t{\"IOCTL_SERIAL_GET_CHARS\",0x001b0058},\n\t{\"IOCTL_SERIAL_SET_CHARS\",0x001b005c},\n\t{\"IOCTL_SERIAL_GET_HANDFLOW\",0x001b0060},\n\t{\"IOCTL_SERIAL_SET_HANDFLOW\",0x001b0064},\n\t{\"IOCTL_SERIAL_GET_MODEMSTATUS\",0x001b0068},\n\t{\"IOCTL_SERIAL_GET_COMMSTATUS\",0x001b006c},\n\t{\"IOCTL_SERIAL_XOFF_COUNTER\",0x001b0070},\n\t{\"IOCTL_SERIAL_GET_PROPERTIES\",0x001b0074},\n\t{\"IOCTL_SERIAL_GET_DTRRTS\",0x001b0078},\n\t{\"IOCTL_SERIAL_LSRMST_INSERT\",0x001b007c},\n\t{\"IOCTL_SERIAL_CONFIG_SIZE\",0x001b0080},\n\t{\"IOCTL_SERIAL_GET_COMMCONFIG\",0x001b0084},\n\t{\"IOCTL_SERIAL_SET_COMMCONFIG\",0x001b0088},\n\t{\"IOCTL_SERIAL_GET_STATS\",0x001b008c},\n\t{\"IOCTL_SERIAL_CLEAR_STATS\",0x001b0090},\n\t{\"IOCTL_SERIAL_GET_MODEM_CONTROL\",0x001b0094},\n\t{\"IOCTL_SERIAL_SET_MODEM_CONTROL\",0x001b0098},\n\t{\"IOCTL_SERIAL_SET_FIFO_CONTROL\",0x001b009c},\n\t{\"IOCTL_TAPE_PREPARE\",0x001f4004},\n\t{\"IOCTL_TAPE_GET_POSITION\",0x001f400c},\n\t{\"IOCTL_TAPE_SET_POSITION\",0x001f4010},\n\t{\"IOCTL_TAPE_GET_DRIVE_PARAMS\",0x001f4014},\n\t{\"IOCTL_TAPE_GET_MEDIA_PARAMS\",0x001f401c},\n\t{\"IOCTL_TAPE_SET_MEDIA_PARAMS\",0x001f4020},\n\t{\"IOCTL_TAPE_GET_STATUS\",0x001f4024},\n\t{\"IOCTL_TAPE_MEDIA_REMOVAL\",0x001f4804},\n\t{\"IOCTL_TAPE_EJECT_MEDIA\",0x001f4808},\n\t{\"IOCTL_TAPE_LOAD_MEDIA\",0x001f480c},\n\t{\"IOCTL_TAPE_RESERVE\",0x001f4810},\n\t{\"IOCTL_TAPE_RELEASE\",0x001f4814},\n\t{\"IOCTL_TAPE_ERASE\",0x001fc000},\n\t{\"IOCTL_TAPE_WRITE_MARKS\",0x001fc008},\n\t{\"IOCTL_TAPE_SET_DRIVE_PARAMS\",0x001fc018},\n\t{\"IOCTL_TAPE_CREATE_PARTITION\",0x001fc028},\n\t{\"IOCTL_TDI_ACCEPT\",0x00210000},\n\t{\"IOCTL_TDI_CONNECT\",0x00210004},\n\t{\"IOCTL_TDI_DISCONNECT\",0x00210008},\n\t{\"IOCTL_TDI_LISTEN\",0x0021000c},\n\t{\"IOCTL_TDI_QUERY_INFORMATION\",0x00210012},\n\t{\"IOCTL_TDI_RECEIVE\",0x00210016},\n\t{\"IOCTL_TDI_RECEIVE_DATAGRAM\",0x0021001a},\n\t{\"IOCTL_TDI_SEND\",0x0021001d},\n\t{\"IOCTL_TDI_SEND_DATAGRAM\",0x00210021},\n\t{\"IOCTL_TDI_SET_EVENT_HANDLER\",0x00210024},\n\t{\"IOCTL_TDI_SET_INFORMATION\",0x00210029},\n\t{\"IOCTL_TDI_ASSOCIATE_ADDRESS\",0x0021002c},\n\t{\"IOCTL_TDI_DISASSOCIATE_ADDRESS\",0x00210030},\n\t{\"IOCTL_TDI_ACTION\",0x00210036},\n\t{\"IOCTL_INTERNAL_USB_SUBMIT_URB\",0x00220003},\n\t{\"IOCTL_INTERNAL_USB_RESET_PORT\",0x00220007},\n\t{\"IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO\",0x0022000f},\n\t{\"IOCTL_INTERNAL_USB_GET_PORT_STATUS\",0x00220013},\n\t{\"IOCTL_INTERNAL_USB_ENABLE_PORT\",0x00220017},\n\t{\"IOCTL_INTERNAL_USB_GET_HUB_COUNT\",0x0022001b},\n\t{\"IOCTL_INTERNAL_USB_CYCLE_PORT\",0x0022001f},\n\t{\"IOCTL_INTERNAL_USB_GET_HUB_NAME\",0x00220020},\n\t{\"IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION\",0x00220027},\n\t{\"IOCTL_USBPRINT_VENDOR_SET_COMMAND\",0x00220038},\n\t{\"IOCTL_USBPRINT_VENDOR_GET_COMMAND\",0x0022003c},\n\t{\"IOCTL_1394_CLASS\",0x0022021d},\n\t{\"IOCTL_USB_HCD_GET_STATS_1\",0x002203fc},\n\t{\"IOCTL_IEEE1394_API_REQUEST\",0x00220400},\n\t{\"IOCTL_USB_DIAGNOSTIC_MODE_OFF\",0x00220404},\n\t{\"IOCTL_USB_GET_NODE_INFORMATION\",0x00220408},\n\t{\"IOCTL_USB_GET_NODE_CONNECTION_INFORMATION\",0x0022040c},\n\t{\"IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION\",0x00220410},\n\t{\"IOCTL_USB_GET_NODE_CONNECTION_NAME\",0x00220414},\n\t{\"IOCTL_USB_DIAG_IGNORE_HUBS_ON\",0x00220418},\n\t{\"IOCTL_USB_DIAG_IGNORE_HUBS_OFF\",0x0022041c},\n\t{\"IOCTL_INTERNAL_USB_GET_BUS_INFO\",0x00220420},\n\t{\"IOCTL_GET_HCD_DRIVERKEY_NAME\",0x00220424},\n\t{\"IOCTL_INTERNAL_USB_GET_BUSGUID_INFO\",0x00220428},\n\t{\"IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO\",0x0022042c},\n\t{\"IOCTL_USB_HCD_DISABLE_PORT\",0x00220430},\n\t{\"IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE\",0x00220433},\n\t{\"IOCTL_USB_HCD_ENABLE_PORT\",0x00220434},\n\t{\"IOCTL_USB_GET_HUB_CAPABILITIES\",0x0022043c},\n\t{\"IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES\",0x00220440},\n\t{\"IOCTL_USB_HUB_CYCLE_PORT\",0x00220444},\n\t{\"IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX\",0x00220448},\n\t{\"IOCTL_VIDEO_ENABLE_VDM\",0x00230000},\n\t{\"IOCTL_VIDEO_DISABLE_VDM\",0x00230004},\n\t{\"IOCTL_VIDEO_REGISTER_VDM\",0x00230008},\n\t{\"IOCTL_VIDEO_SET_OUTPUT_DEVICE_POWER_STATE\",0x0023000c},\n\t{\"IOCTL_VIDEO_GET_OUTPUT_DEVICE_POWER_STATE\",0x00230010},\n\t{\"IOCTL_VIDEO_MONITOR_DEVICE\",0x00230014},\n\t{\"IOCTL_VIDEO_ENUM_MONITOR_PDO\",0x00230018},\n\t{\"IOCTL_VIDEO_INIT_WIN32K_CALLBACKS\",0x0023001c},\n\t{\"IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS\",0x00230020},\n\t{\"IOCTL_VIDEO_IS_VGA_DEVICE\",0x00230024},\n\t{\"IOCTL_VIDEO_USE_DEVICE_IN_SESSION\",0x00230028},\n\t{\"IOCTL_VIDEO_PREPARE_FOR_EARECOVERY\",0x0023002c},\n\t{\"IOCTL_VIDEO_SAVE_HARDWARE_STATE\",0x00230200},\n\t{\"IOCTL_VIDEO_RESTORE_HARDWARE_STATE\",0x00230204},\n\t{\"IOCTL_VIDEO_QUERY_AVAIL_MODES\",0x00230400},\n\t{\"IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES\",0x00230404},\n\t{\"IOCTL_VIDEO_QUERY_CURRENT_MODE\",0x00230408},\n\t{\"IOCTL_VIDEO_SET_CURRENT_MODE\",0x0023040c},\n\t{\"IOCTL_VIDEO_RESET_DEVICE\",0x00230410},\n\t{\"IOCTL_VIDEO_LOAD_AND_SET_FONT\",0x00230414},\n\t{\"IOCTL_VIDEO_SET_PALETTE_REGISTERS\",0x00230418},\n\t{\"IOCTL_VIDEO_SET_COLOR_REGISTERS\",0x0023041c},\n\t{\"IOCTL_VIDEO_ENABLE_CURSOR\",0x00230420},\n\t{\"IOCTL_VIDEO_DISABLE_CURSOR\",0x00230424},\n\t{\"IOCTL_VIDEO_SET_CURSOR_ATTR\",0x00230428},\n\t{\"IOCTL_VIDEO_QUERY_CURSOR_ATTR\",0x0023042c},\n\t{\"IOCTL_VIDEO_SET_CURSOR_POSITION\",0x00230430},\n\t{\"IOCTL_VIDEO_QUERY_CURSOR_POSITION\",0x00230434},\n\t{\"IOCTL_VIDEO_ENABLE_POINTER\",0x00230438},\n\t{\"IOCTL_VIDEO_DISABLE_POINTER\",0x0023043c},\n\t{\"IOCTL_VIDEO_SET_POINTER_ATTR\",0x00230440},\n\t{\"IOCTL_VIDEO_QUERY_POINTER_ATTR\",0x00230444},\n\t{\"IOCTL_VIDEO_SET_POINTER_POSITION\",0x00230448},\n\t{\"IOCTL_VIDEO_QUERY_POINTER_POSITION\",0x0023044c},\n\t{\"IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES\",0x00230450},\n\t{\"IOCTL_VIDEO_GET_BANK_SELECT_CODE\",0x00230454},\n\t{\"IOCTL_VIDEO_MAP_VIDEO_MEMORY\",0x00230458},\n\t{\"IOCTL_VIDEO_UNMAP_VIDEO_MEMORY\",0x0023045c},\n\t{\"IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES\",0x00230460},\n\t{\"IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES\",0x00230464},\n\t{\"IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES\",0x00230468},\n\t{\"IOCTL_VIDEO_SET_POWER_MANAGEMENT\",0x0023046c},\n\t{\"IOCTL_VIDEO_GET_POWER_MANAGEMENT\",0x00230470},\n\t{\"IOCTL_VIDEO_SHARE_VIDEO_MEMORY\",0x00230474},\n\t{\"IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY\",0x00230478},\n\t{\"IOCTL_VIDEO_SET_COLOR_LUT_DATA\",0x0023047c},\n\t{\"IOCTL_VIDEO_GET_CHILD_STATE\",0x00230480},\n\t{\"IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION\",0x00230484},\n\t{\"IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION\",0x00230488},\n\t{\"IOCTL_VIDEO_SWITCH_DUALVIEW\",0x0023048c},\n\t{\"IOCTL_VIDEO_SET_BANK_POSITION\",0x00230490},\n\t{\"IOCTL_BATTERY_QUERY_TAG\",0x00294040},\n\t{\"IOCTL_BATTERY_QUERY_INFORMATION\",0x00294044},\n\t{\"IOCTL_BATTERY_QUERY_STATUS\",0x0029404c},\n\t{\"IOCTL_BATTERY_SET_INFORMATION\",0x00298048},\n\t{\"IOCTL_GAMEENUM_EXPOSE_HARDWARE\",0x002a0000},\n\t{\"IOCTL_GAMEENUM_REMOVE_HARDWARE\",0x002a0004},\n\t{\"IOCTL_GAMEENUM_PORT_DESC\",0x002a0008},\n\t{\"IOCTL_GAMEENUM_PORT_PARAMETERS\",0x002a0403},\n\t{\"IOCTL_GAMEENUM_EXPOSE_SIBLING\",0x002a0407},\n\t{\"IOCTL_GAMEENUM_REMOVE_SELF\",0x002a040b},\n\t{\"IOCTL_GAMEENUM_ACQUIRE_ACCESSORS\",0x002a040f},\n\t{\"IOCTL_STORAGE_CHECK_VERIFY2\",0x002d0800},\n\t{\"IOCTL_STORAGE_LOAD_MEDIA2\",0x002d080c},\n\t{\"IOCTL_STORAGE_EJECTION_CONTROL\",0x002d0940},\n\t{\"IOCTL_STORAGE_MCN_CONTROL\",0x002d0944},\n\t{\"IOCTL_STORAGE_GET_MEDIA_TYPES\",0x002d0c00},\n\t{\"IOCTL_STORAGE_GET_MEDIA_TYPES_EX\",0x002d0c04},\n\t{\"IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER\",0x002d0c10},\n\t{\"IOCTL_STORAGE_GET_HOTPLUG_INFO\",0x002d0c14},\n\t{\"IOCTL_STORAGE_GET_DEVICE_NUMBER\",0x002d1080},\n\t{\"IOCTL_STORAGE_PREDICT_FAILURE\",0x002d1100},\n\t{\"IOCTL_STORAGE_QUERY_PROPERTY\",0x002d1400},\n\t{\"IOCTL_STORAGE_SET_READ_AHEAD\",0x002d4400},\n\t{\"IOCTL_STORAGE_CHECK_VERIFY\",0x002d4800},\n\t{\"IOCTL_STORAGE_MEDIA_REMOVAL\",0x002d4804},\n\t{\"IOCTL_STORAGE_EJECT_MEDIA\",0x002d4808},\n\t{\"IOCTL_STORAGE_LOAD_MEDIA\",0x002d480c},\n\t{\"IOCTL_STORAGE_RESERVE\",0x002d4810},\n\t{\"IOCTL_STORAGE_RELEASE\",0x002d4814},\n\t{\"IOCTL_STORAGE_FIND_NEW_DEVICES\",0x002d4818},\n\t{\"IOCTL_STORAGE_RESET_BUS\",0x002d5000},\n\t{\"IOCTL_STORAGE_RESET_DEVICE\",0x002d5004},\n\t{\"IOCTL_STORAGE_BREAK_RESERVATION\",0x002d5014},\n\t{\"IOCTL_STORAGE_SET_HOTPLUG_INFO\",0x002dcc18},\n\t{\"OBSOLETE_DISK_GET_WRITE_CACHE_STATE\",0x475356},\n\t{\"OBSOLETE_IOCTL_CDROM_GET_CONTROL\",0x147508},\n\t//{\"OBSOLETE_IOCTL_STORAGE_RESET_BUS\",0x3002368},\n\t//{\"OBSOLETE_IOCTL_STORAGE_RESET_DEVICE\",0x3002372},\n\t{\"OBSOLETE_IOCTL_STORAGE_RESET_BUS\",0x002dd000},\n\t{\"OBSOLETE_IOCTL_STORAGE_RESET_DEVICE\",0x002dd004},\n\t{\"IOCTL_KS_PROPERTY\",0x002f0003},\n\t{\"IOCTL_KS_ENABLE_EVENT\",0x002f0007},\n\t{\"IOCTL_KS_DISABLE_EVENT\",0x002f000b},\n\t{\"IOCTL_KS_METHOD\",0x002f000f},\n\t{\"IOCTL_KS_RESET_STATE\",0x002f001b},\n\t{\"IOCTL_KS_HANDSHAKE\",0x002f001f},\n\t{\"IOCTL_KS_READ_STREAM\",0x002f4017},\n\t{\"IOCTL_KS_WRITE_STREAM\",0x002f8013},\n\t{\"IOCTL_CHANGER_GET_PARAMETERS\",0x00304000},\n\t{\"IOCTL_CHANGER_GET_STATUS\",0x00304004},\n\t{\"IOCTL_CHANGER_GET_PRODUCT_DATA\",0x00304008},\n\t{\"IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS\",0x00304018},\n\t{\"IOCTL_CHANGER_SET_POSITION\",0x0030401c},\n\t{\"IOCTL_CHANGER_EXCHANGE_MEDIUM\",0x00304020},\n\t{\"IOCTL_CHANGER_MOVE_MEDIUM\",0x00304024},\n\t{\"IOCTL_CHANGER_REINITIALIZE_TRANSPORT\",0x00304028},\n\t{\"IOCTL_CHANGER_SET_ACCESS\",0x0030c010},\n\t{\"IOCTL_CHANGER_GET_ELEMENT_STATUS\",0x0030c014},\n\t{\"IOCTL_CHANGER_QUERY_VOLUME_TAGS\",0x0030c02c},\n\t{\"IOCTL_SMARTCARD_POWER\",0x00310004},\n\t{\"IOCTL_SMARTCARD_GET_ATTRIBUTE\",0x00310008},\n\t{\"IOCTL_SMARTCARD_SET_ATTRIBUTE\",0x0031000c},\n\t{\"IOCTL_SMARTCARD_CONFISCATE\",0x00310010},\n\t{\"IOCTL_SMARTCARD_TRANSMIT\",0x00310014},\n\t{\"IOCTL_SMARTCARD_EJECT\",0x00310018},\n\t{\"IOCTL_SMARTCARD_SWALLOW\",0x0031001c},\n\t{\"IOCTL_SMARTCARD_IS_PRESENT\",0x00310028},\n\t{\"IOCTL_SMARTCARD_IS_ABSENT\",0x0031002c},\n\t{\"IOCTL_SMARTCARD_SET_PROTOCOL\",0x00310030},\n\t{\"IOCTL_SMARTCARD_GET_STATE\",0x00310038},\n\t{\"IOCTL_SMARTCARD_GET_LAST_ERROR\",0x0031003c},\n\t{\"IOCTL_SMARTCARD_GET_PERF_CNTR\",0x00310040},\n\t{\"IOCTL_DVD_START_SESSION\",0x00335000},\n\t{\"IOCTL_DVD_READ_KEY\",0x00335004},\n\t{\"IOCTL_DVD_SEND_KEY\",0x00335008},\n\t{\"IOCTL_DVD_END_SESSION\",0x0033500c},\n\t{\"IOCTL_DVD_SET_READ_AHEAD\",0x00335010},\n\t{\"IOCTL_DVD_GET_REGION\",0x00335014},\n\t{\"IOCTL_DVD_READ_STRUCTURE\",0x00335140},\n\t{\"IOCTL_DVD_SEND_KEY2\",0x0033d018},\n\t{\"IOCTL_FSVIDEO_COPY_FRAME_BUFFER\",0x00340800},\n\t{\"IOCTL_FSVIDEO_WRITE_TO_FRAME_BUFFER\",0x00340804},\n\t{\"IOCTL_FSVIDEO_REVERSE_MOUSE_POINTER\",0x00340808},\n\t{\"IOCTL_FSVIDEO_SET_CURRENT_MODE\",0x0034080c},\n\t{\"IOCTL_FSVIDEO_SET_SCREEN_INFORMATION\",0x00340810},\n\t{\"IOCTL_FSVIDEO_SET_CURSOR_POSITION\",0x00340814},\n\t{\"IOCTL_SERENUM_EXPOSE_HARDWARE\",0x00370200},\n\t{\"IOCTL_SERENUM_REMOVE_HARDWARE\",0x00370204},\n\t{\"IOCTL_INTERNAL_SERENUM_REMOVE_SELF\",0x00370207},\n\t{\"IOCTL_SERENUM_PORT_DESC\",0x00370208},\n\t{\"IOCTL_SERENUM_GET_PORT_NAME\",0x0037020c},\n\t{\"IOCTL_DOT4_OPEN_CHANNEL\",0x003a2006},\n\t{\"IOCTL_DOT4_CLOSE_CHANNEL\",0x003a2008},\n\t{\"IOCTL_DOT4_READ\",0x003a200e},\n\t{\"IOCTL_DOT4_WRITE\",0x003a2011},\n\t{\"IOCTL_DOT4_ADD_ACTIVITY_BROADCAST\",0x003a2014},\n\t{\"IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST\",0x003a2018},\n\t{\"IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST\",0x003a201e},\n\t{\"IOCTL_DOT4_CREATE_SOCKET\",0x003a2022},\n\t{\"IOCTL_DOT4_WAIT_FOR_CHANNEL\",0x003a2026},\n\t{\"IOCTL_DOT4_DESTROY_SOCKET\",0x003a202a},\n\t{\"IOCTL_SA_GET_VERSION\",0x00412002},\n\t{\"IOCTL_SA_GET_CAPABILITIES\",0x00412006},\n\t{\"IOCTL_NVRAM_WRITE_BOOT_COUNTER\",0x00412026},\n\t{\"IOCTL_NVRAM_READ_BOOT_COUNTER\",0x0041202a},\n\t{\"IOCTL_SADISPLAY_LOCK\",0x00412032},\n\t{\"IOCTL_SADISPLAY_UNLOCK\",0x00412036},\n\t{\"IOCTL_SADISPLAY_BUSY_MESSAGE\",0x0041203a},\n\t{\"IOCTL_SADISPLAY_SHUTDOWN_MESSAGE\",0x0041203e},\n\t{\"IOCTL_SADISPLAY_CHANGE_LANGUAGE\",0x00412042},\n\t{\"IOCTL_FUNC_DISPLAY_STORE_BITMAP\",0x00412046},\n\t{\"IOCTL_MOUNTDEV_QUERY_UNIQUE_ID\",0x004d0000},\n\t{\"IOCTL_MOUNTDEV_QUERY_DEVICE_NAME\",0x004d0008},\n\t{\"IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME\",0x004d000c},\n\t{\"IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY\",0x004dc004},\n\t{\"IOCTL_MOUNTDEV_LINK_CREATED\",0x004dc010},\n\t{\"IOCTL_MOUNTDEV_LINK_DELETED\",0x004dc014},\n\t{\"IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS\",0x00560000},\n\t{\"IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE\",0x00560004},\n\t{\"IOCTL_VOLUME_IS_OFFLINE\",0x00560010},\n\t{\"IOCTL_VOLUME_IS_IO_CAPABLE\",0x00560014},\n\t{\"IOCTL_VOLUME_QUERY_FAILOVER_SET\",0x00560018},\n\t{\"IOCTL_VOLUME_QUERY_VOLUME_NUMBER\",0x0056001c},\n\t{\"IOCTL_VOLUME_LOGICAL_TO_PHYSICAL\",0x00560020},\n\t{\"IOCTL_VOLUME_PHYSICAL_TO_LOGICAL\",0x00560024},\n\t{\"IOCTL_VOLUME_IS_PARTITION\",0x00560028},\n\t{\"IOCTL_VOLUME_IS_CLUSTERED\",0x00560030},\n\t{\"IOCTL_VOLUME_SET_GPT_ATTRIBUTES\",0x00560034},\n\t{\"IOCTL_VOLUME_GET_GPT_ATTRIBUTES\",0x00560038},\n\t{\"IOCTL_VOLUME_READ_PLEX\",0x0056402e},\n\t{\"IOCTL_VOLUME_ONLINE\",0x0056c008},\n\t{\"IOCTL_VOLUME_OFFLINE\",0x0056c00c},\n\t{\"FT_INITIALIZE_SET\",0x00660000},\n\t{\"FT_REGENERATE\",0x00660004},\n\t{\"FT_CONFIGURE\",0x0066000b},\n\t{\"FT_VERIFY\",0x0066000c},\n\t{\"FT_BALANCED_READ_MODE\",0x0066001b},\n\t{\"FT_SYNC_REDUNDANT_COPY\",0x0066001c},\n\t{\"FT_SEQUENTIAL_WRITE_MODE\",0x00660023},\n\t{\"FT_PARALLEL_WRITE_MODE\",0x00660027},\n\t{\"FT_QUERY_SET_STATE\",0x00660028},\n\t{\"FT_CLUSTER_SET_MEMBER_STATE\",0x0066002c},\n\t{\"FT_CLUSTER_GET_MEMBER_STATE\",0x00660030},\n\t{\"FT_SECONDARY_READ\",0x00664012},\n\t{\"FT_PRIMARY_READ\",0x00664016},\n\t{\"FT_ENUMERATE_LOGICAL_DISKS\",0x00674008},\n\t{\"FT_QUERY_LOGICAL_DISK_INFORMATION\",0x0067400c},\n\t{\"FT_QUERY_NT_DEVICE_NAME_FOR_LOGICAL_DISK\",0x00674018},\n\t{\"FT_QUERY_DRIVE_LETTER_FOR_LOGICAL_DISK\",0x00674020},\n\t{\"FT_CHECK_IO\",0x00674024},\n\t{\"FT_QUERY_NT_DEVICE_NAME_FOR_PARTITION\",0x00674030},\n\t{\"FT_CHANGE_NOTIFY\",0x00674034},\n\t{\"FT_QUERY_LOGICAL_DISK_ID\",0x00674190},\n\t{\"FT_CREATE_LOGICAL_DISK\",0x0067c000},\n\t{\"FT_BREAK_LOGICAL_DISK\",0x0067c004},\n\t{\"FT_ORPHAN_LOGICAL_DISK_MEMBER\",0x0067c010},\n\t{\"FT_REPLACE_LOGICAL_DISK_MEMBER\",0x0067c014},\n\t{\"FT_INITIALIZE_LOGICAL_DISK\",0x0067c01c},\n\t{\"FT_SET_DRIVE_LETTER_FOR_LOGICAL_DISK\",0x0067c028},\n\t{\"FT_STOP_SYNC_OPERATIONS\",0x0067c038},\n\t{\"FT_CREATE_PARTITION_LOGICAL_DISK\",0x0067c194},\n\t{\"IOCTL_MOUNTMGR_QUERY_POINTS\",0x006d0008},\n\t{\"IOCTL_MOUNTMGR_CHANGE_NOTIFY\",0x006d4020},\n\t{\"IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES\",0x006d4028},\n\t{\"IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION\",0x006d402c},\n\t{\"IOCTL_MOUNTMGR_CREATE_POINT\",0x006dc000},\n\t{\"IOCTL_MOUNTMGR_DELETE_POINTS\",0x006dc004},\n\t{\"IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY\",0x006dc00c},\n\t{\"IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER\",0x006dc010},\n\t{\"IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS\",0x006dc014},\n\t{\"IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED\",0x006dc018},\n\t{\"IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED\",0x006dc01c},\n\t{\"IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE\",0x006dc024},\n\t{\"IOCTL_GET_VERSION\",0x80002000},\n\t{\"IOCTL_CANCEL_IO\",0x80002004},\n\t{\"IOCTL_WAIT_ON_DEVICE_EVENT\",0x80002008},\n\t{\"IOCTL_READ_REGISTERS\",0x8000200c},\n\t{\"IOCTL_WRITE_REGISTERS\",0x80002010},\n\t{\"IOCTL_GET_CHANNEL_ALIGN_RQST\",0x80002014},\n\t{\"IOCTL_GET_DEVICE_DESCRIPTOR\",0x80002018},\n\t{\"IOCTL_RESET_PIPE\",0x8000201c},\n\t{\"IOCTL_GET_USB_DESCRIPTOR\",0x80002020},\n\t{\"IOCTL_GET_PIPE_CONFIGURATION\",0x80002028},\n{NULL,0}\n};\n/*\ntypedef TMap<CStrA,int> IOCTLMAP;\nIOCTLMAP IoMap; \nvoid test1111()\n{\n\tofstream fff;\n\tfff.open(\"c:\\\\ttt.txt\");\n\tIOCTLMAP::IT BeginIT,EndIT;\n\tint i = 0;\n\tfor(;gSysIoctl[i].Name;i++)\n\t\tIoMap.InsertUnique(gSysIoctl[i].Name,gSysIoctl[i].Code);\n\tEndIT = IoMap.End();\n\tfor(BeginIT = IoMap.Begin();BeginIT!=EndIT;BeginIT++)\n\t\tfff<<\"{\\\"\"<<BeginIT.Key()<<\"\\\",\"<<*BeginIT<<\"},\"<<endl;\n\tfff.close();\n\n}\n*/"
  },
  {
    "path": "Project/Syser/Source/SystemIoctl.h",
    "content": "#ifndef _SYSTEM_IOCTL_H_\n#define _SYSTEM_IOCTL_H_\ntypedef struct _SYS_IOCTL \n{\n\tchar* Name;\n\tunsigned int Code;\n}SYS_IOCTL,*PSYS_IOCTL;\nextern SYS_IOCTL gSysIoctl[];\n#endif //_SYSTEM_IOCTL_H_"
  },
  {
    "path": "Project/Syser/Source/ThreadListWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"ThreadListWnd.h\"\n#include \"OSProcessThread.h\"\n\n\nWISP_MENU_RES_ITEM ThreadMenu[]=\n{\n\t\n\t{WSTR(\"Goto KTHREAD    Enter\"),\t\t\tEVENT_ID_GOTO_THREAD_STRUCT,7*16+7},\n\t{WSTR(\"Goto KPROCESS   Shift+Enter\"),\tEVENT_ID_GOTO_PROCESS_STRUCT,\t\t7*16+7},\n\t{WSTR(\"Goto thread eip\"),\t\t\t\tEVENT_ID_GOTO_THREAD_EIP,\t\t7*16+7},\n\t{WSTR(\"Goto thread StartAddress   \"),\tEVENT_ID_GOTO_START_ADDRESS,\t\t7*16+7},\n\t{WSTR(\"Set breakpoint at thread   \"),\tEVENT_ID_SET_BREAKPOINT_AT_THREAD,\t\t7*16+7},\n\t{WSTR(\"Set breakpoint at process   \"),\tEVENT_ID_SET_BREAKPOINT_AT_PROCESS,\t\t7*16+7},\n\t\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CThreadListWnd) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CThreadListWnd)\nWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_THREAD_STRUCT,\t\tOnEventGotoThreadStruct)\nWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_PROCESS_STRUCT,\t\tOnEventGotoProcessStruct)\nWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_START_ADDRESS,\t\t\tOnEventGotoStartAddress)\nWISP_MSG_EVENT_MAP(EVENT_ID_GOTO_THREAD_EIP,\t\t\tOnEventGotoThreadEIP)\nWISP_MSG_EVENT_MAP(EVENT_ID_SET_BREAKPOINT_AT_THREAD,\t\t\tOnEventSetBreakpointAtThread)\nWISP_MSG_EVENT_MAP(EVENT_ID_SET_BREAKPOINT_AT_PROCESS,\t\t\tOnEventSetBreakpointAtProcess)\nWISP_MSG_EVENT_MAP_END\n\n\nCThreadListWnd::CThreadListWnd()\n{\n\n}\nCThreadListWnd::~CThreadListWnd()\n{\n\n}\n\nbool CThreadListWnd::OnEventSetBreakpointAtThread(IN WISP_MSG*pMsg)\n{\n\tDWORD Address;\n\tbool bOK1;\n\tWCHAR CmdString[50];\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = (DWORD)GetItemData(hItem,TL_THREAD_ID);\n\tTSPrintf(CmdString,WSTR(\"bpt %x\"),Address);\n\tRUNCMD(CmdString);\n\treturn true;\n}\n\nbool CThreadListWnd::OnEventSetBreakpointAtProcess(IN WISP_MSG*pMsg)\n{\n\tDWORD Address;\n\tbool bOK1;\n\tWCHAR CmdString[50];\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tAddress = (DWORD)GetItemData(hItem,TL_PROCESS_ID);\n\tTSPrintf(CmdString,WSTR(\"bpp %x\"),Address);\n\tRUNCMD(CmdString);\n\treturn true;\n}\n\nbool CThreadListWnd::OnEventGotoThreadStruct(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\t\n\tAddress = (DWORD)GetItemData(hItem,TL_THREAD_ID);\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_DATA(Address);\n\treturn true;\n}\n\nbool CThreadListWnd::OnEventGotoProcessStruct(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\tAddress = (DWORD)GetItemData(hItem,TL_PROCESS_ID);\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_DATA(Address);\n\treturn true;\n}\n\nbool CThreadListWnd::OnEventGotoStartAddress(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\tAddress = (DWORD)GetItemData(hItem,TL_STARTADDRESS);\t\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_CODE(Address,true);\n\treturn true;\n}\n\nbool CThreadListWnd::OnEventGotoThreadEIP(IN WISP_MSG*pMsg)\n{\n\tDWORD Value;\n\tPSYSER_KTRAP_FRAME pTrapFrame;\n\tbool bOK1;\n\tSYSER_THREAD pThread;\n\tmemset(&pThread,0,sizeof(pThread));\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tDWORD Address;\n\tAddress = (DWORD)GetItemData(hItem,TL_THREAD_ID);\t\n\tbOK1 = GetThreadInfoByETHREAD((DWORD)Address,&pThread);\n\tif(bOK1==false)\n\t\treturn true;\n\n\tif(pThread.TrapFrame==0)\n\t\treturn true;\n\tpTrapFrame = (PSYSER_KTRAP_FRAME)pThread.TrapFrame;\n\tAddress = (DWORD)&pTrapFrame->Eip;\n\tif(gpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value))==sizeof(Value))\n\t\tVIEW_CODE(Value,true);\n\treturn true;\n}\n\n\nbool CThreadListWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\t\n\t//HANDLE hItem;\n\tTHREADHOTKEYMAP::IT FindIT;\n\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT!=m_HotKeyMap.End())\n\t\t{\t\t\t\n\t\t\tWISP_MSG Msg;\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\n\t\t\treturn OnEvent(&Msg);\n\t\t}\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\tm_PopupMenu.Popup();\n\t\t\tbreak;\n\t\tcase WISP_VK_F2:\n\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\n\nbool CThreadListWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\nbool CThreadListWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tAttachTitleDIB(WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,13*16+4));\n\tInsertColumn(WSTR(\"TID\"),60);\n\tInsertColumn(WSTR(\"PID\"),60);\n\tInsertColumn(WSTR(\"KernelStack\"),60);\n\t//InsertColumn(WSTR(\"InitialStack\"),60);\n\t//\n\t//InsertColumn(WSTR(\"StackLimit\"),60);\n\tInsertColumn(WSTR(\"ServiceTable\"),60);\n\tInsertColumn(WSTR(\"StartAddress\"),60);\n\tInsertColumn(WSTR(\"TrapFrame\"),60);\n\tInsertColumn(WSTR(\"ESP\"),60);\n\tInsertColumn(WSTR(\"EIP\"),60);\nInsertColumn(WSTR(\"Name\"),60);\n\tAttachShortcutKey();\n\tm_PopupMenu.CreatePopupMenu(ThreadMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\treturn true;\n}\n\nvoid\tCThreadListWnd::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO_THREAD_STRUCT,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_VK_RETURN,EVENT_ID_GOTO_THREAD_STRUCT);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO_PROCESS_STRUCT,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL | WISP_VK_RETURN,EVENT_ID_GOTO_PROCESS_STRUCT);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_GOTO_START_ADDRESS,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_SHIFT | WISP_VK_RETURN,EVENT_ID_GOTO_START_ADDRESS);\n\t//if(gpSyser->AttachShortcutKey(EVENT_ID_SHOW_CODE_BY_ADDRESS,m_HotKeyMap)==0)\n\t//\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_RETURN,EVENT_ID_SHOW_CODE_BY_ADDRESS);\n}\n\nvoid CThreadListWnd::UpdateContext()\n{\n#ifdef CODE_OS_NT_DRV\t\n\tSYSER_PROCESS pProcess;\n\tSYSER_THREAD pThread;\n\tHANDLE hItem;\n\tWCHAR Name[17]; \n\t\tWCHAR Name1[17]; \n\tDWORD dwCurThread,dwCurProcess;\n\tbool bOK,bOK1;\n\n\tif(GetCurrentProcessAndThread(&dwCurProcess,&dwCurThread)==false)\n\t\treturn ;\n\t\n\tbOK = GetFirstProcess(&pProcess);\n\twhile(bOK)\n\t{\t\t\t\t\n\t\tTStrCpyLimit(Name1,pProcess.ImageFileName,16);\n\t\tmemset(&pThread,0,sizeof(pThread));\n\t\tbOK1 = GetThreadInfoByETHREAD((DWORD)pProcess.ThreadHead,&pThread);\n\t\twhile(bOK1)\n\t\t{\n\t\t\tTSPrintf(Name,WSTR(\"%X\"),pThread.ThreadID);\n\t\t\thItem = InsertItem(Name);\n\t\t\tSetItemData(hItem,TL_THREAD_ID,*(int*)&pThread.OSThread);\n\t\t\tSetItemNum(hItem,TL_PROCESS_ID,*(int*)&pProcess.UniqueProcessId,WSTR(\"%X\"));\n\t\t\tSetItemData(hItem,TL_PROCESS_ID,*(int*)&pProcess.OSProcess);\n\t\t\t\n\t\t\t//SetItemNum(hItem,TL_INITIALSTACK,*(int*)&pThread.InitialStack,WSTR(\"%08X\"));\n\n\t\t\tSetItemNum(hItem,TL_KERNELSTACK,*(int*)&pThread.KernelStack,WSTR(\"%08X\"));\n\t\t\tSetItemData(hItem,TL_KERNELSTACK,*(int*)&pThread.KernelStack);\n\t\t\t//SetItemNum(hItem,TL_STACKLIMIT,*(int*)&pThread.StackLimit,WSTR(\"%08X\"));\n\t\t\t//SetItemData(hItem,TL_STACKLIMIT,*(int*)&pThread.StackLimit);\n\t\t\tSetItemNum(hItem,TL_SERVICETABLE,*(int*)&pThread.ServiceTable,WSTR(\"%08X\"));\n\t\t\tSetItemData(hItem,TL_SERVICETABLE,*(int*)&pThread.ServiceTable);\n\t\t\tSetItemNum(hItem, TL_STARTADDRESS,*(int*)&pThread.StartAddress,WSTR(\"%08X\"));\t\t\t\n\t\t\tSetItemData(hItem,TL_STARTADDRESS,*(int*)&pThread.StartAddress);\n\t\t\n\t\t\tSetItemNum(hItem, TL_TRAPFRAME,*(int*)&pThread.TrapFrame,WSTR(\"%08X\"));\t\t\t\n\t\t\tSetItemData(hItem,TL_TRAPFRAME,*(int*)&pThread.TrapFrame);\n\n\t\t\tDWORD Value,Address;\n\t\t\tPSYSER_KTRAP_FRAME pTrapFrame;\n\t\t\tpTrapFrame = (PSYSER_KTRAP_FRAME)pThread.TrapFrame;\n\t\t\tAddress = (DWORD)&pTrapFrame->Eip;\n\t\t\tValue=0;\n\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value));\t\t\t\n\t\t\tSetItemNum(hItem, TL_EIP,Value,WSTR(\"%08X\"));\t\t\t\n\t\t\tSetItemData(hItem,TL_EIP,Value);\n\t\t\t\n\t\t\tAddress = (DWORD)&pTrapFrame->HardwareEsp;\n\t\t\tValue=0;\n\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,&Value,sizeof(Value));\t\t\t\n\t\t\tSetItemNum(hItem, TL_ESP,Value,WSTR(\"%08X\"));\t\t\t\n\t\t\tSetItemData(hItem,TL_ESP,Value);\n\t\t\tSetItemText(hItem,TL_PROCESS_NAME,Name1);\n\t\t\t\n\t\t\t//SetItemNum(TL_SUSPEND,*(int*)&pThread.KernelStack,WSTR(\"%08X\"));\n\t\t\tbOK1=GetNextThread(&pThread);\n\t\t}\n\t\tbOK = GetNextProcess(&pProcess);\n\t}\n#endif\n}\n"
  },
  {
    "path": "Project/Syser/Source/ThreadListWnd.h",
    "content": "#ifndef _THREAD_LIST_WND_\n#define _THREAD_LIST_WND_\n\nclass CThreadListWnd:public CWispList\n{\n\ttypedef TMap<UINT,UINT> THREADHOTKEYMAP;\n\tenum{\n\t\tTL_THREAD_ID,\n\t\tTL_PROCESS_ID,\n\t\t//TL_INITIALSTACK,\n\t\tTL_KERNELSTACK,\n\t\t//TL_STACKLIMIT,\n\t\tTL_SERVICETABLE,\n\t\tTL_STARTADDRESS,\n\t\tTL_TRAPFRAME,\n\t\tTL_ESP,\n\t\tTL_EIP,\n\t\tTL_PROCESS_NAME,\n\t\tTL_SUSPEND\n\t};\npublic:\n\tCThreadListWnd();\n\t~CThreadListWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnDestroy)\t\n\tDECLARE_WISP_MSG_EVENT_MAP\n\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoThreadStruct)\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoProcessStruct)\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoStartAddress)\n\tDECLARE_WISP_MSG_EVENT(OnEventGotoThreadEIP)\n\tDECLARE_WISP_MSG_EVENT(OnEventSetBreakpointAtThread)\t\t\n\tDECLARE_WISP_MSG_EVENT(OnEventSetBreakpointAtProcess)\t\t\n\n\tCWispMenu m_PopupMenu;  \n\tvoid\tUpdateContext();\n\tvoid\tAttachShortcutKey();\n\tTHREADHOTKEYMAP m_HotKeyMap;\n};\n#endif //_MODULE_LIST_WND_"
  },
  {
    "path": "Project/Syser/Source/TimerInterrupt.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"TimerInterrupt.h\"\n#include \"IOAPIC.h\"\n#include \"X86Optr.h\"\n#include \"Syser.h\"\n#include \"HardWareInterruptCtrl.h\"\n#include \"UHCIDevice.h\"\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nDWORD dwTimerCounter = 0;\nBYTE byteOldRTC_Register_A=0;\nBYTE byteOldRTC_Register_B=0;\nBYTE byteOldRTC_Register_C=0;\nBYTE byteOldRTC_Register_D=0;\nBYTE TimeSecond=0xff;\nBYTE TimeHour=0;\nBYTE TimeMinute=0;\nbool bIsExecuteTimerInterrupt = false;\nBYTE dwTmpRTC;\nDWORD gdwOldTimerInterrupt=0;\nDWORD gdwTimerInterruptNum=0;\nULONGLONG gTSCTickCount=300000;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n__declspec (naked) void Interrupt_0xFA_Timer_Service()\n{\n\t__asm{\n\t\tpushfd\n\t\tcmp cs:bIsExecuteTimerInterrupt,1\n\t\tjz local_2\n\t\tpopfd\n\t\tret\nlocal_2:\n\t\tpushad\n\t\tpush ds \n\t\tpush es \n\t\tmov eax,0x23 \n\t\tmov ds,ax \n\t\tmov es,ax \n\n\t}\t\n\tdwTimerCounter++;\n\tif((dwTimerCounter%20)==0)\n\t\tgpSyser->OnTimer(20);\n\tgpSyser->m_PCSystem.USBDeviceService();\n\tSetInteruptEOI(IOAPIC_TIMER_INTERRUPT_NUM);\n\t__asm{\n\t\tpop es\n\t\tpop ds\n\t\tpopad\n\t\tpopfd\n\t\tlea esp,[esp+4]\n\t\tiretd\n\t}\n}\nbool InstallTimeInterrupt()\n{\t\n\tif(bIsExecuteTimerInterrupt)\n\t{\n\t\treturn true;\n\t}\n\tbIsExecuteTimerInterrupt=true;\n\tif(gbIsUseAPIC)\n\t{\n\t\t__asm{\n\t\t\tpush eax \n\t\t\tpush edx \n\t\t\tmov edx,0x43 \n\t\t\tmov al ,0x36 \n\t\t\tout dx,al \n\t\t\tjmp local_1 \nlocal_1:\n\t\t\tjmp local_2 \nlocal_2:\n\t\t\tmov eax, 1193\n\t\t\tsub edx,3 \n\t\t\tout dx,al \n\t\t\tmov al,ah \n\t\t\tjmp local_3 \nlocal_3: \n\t\t\tjmp local_4 \nlocal_4: \n\t\t\tout dx,al \n\t\t\tpop edx \n\t\t\tpop eax \n\t\t}\n\t\treturn true;\n\t}\n\t/*\n\t*\tBits[3:0] Periodic Rate Bits[3:0] Periodic Rate\n\t0000 none\t\t\t1000 3.90625 ms\n\t0001 3.90625 ms\t\t1001 7.8125 ms\n\t0010 7.8125 ms\t\t1010 15.625 ms\n\t0011 122.070 ms\t\t1011 31.25 ms\n\t0100 244.141 ms\t\t1100 62.5 ms\n\t0101 488.281 ms\t\t1101 125 ms\n\t0110 976.5625 ms\t1110 250 ms\n\t0111 1.953125 ms\t1111 500 ms\n\t*/\n\n\t__asm{\n\t\tpush eax\n\t\tpush edx\n\t\tpush ecx\n\t\tmov edx,71h\n\t\tmov ecx,0x8000\nlocal_001:\n\t\tdec edx\n\t\tmov al,0ah\n\t\tout dx,al\n\t\tinc edx\n\t\tin al,dx\n\t\ttest al,0x80\n\t\tloopnz local_001\t\t\n\t\tmov byteOldRTC_Register_A,al\n\t\tdec edx\n\t\tmov al,0bh\n\t\tout dx,al\n\t\tinc edx\t\t\t\n\t\tin al,dx\n\t\tmov byteOldRTC_Register_B,al\n\t\tmov ecx,0x8000\nlocal_007:\n\t\tmov al,0ah\n\t\tdec edx\n\t\tout dx,al\n\t\tinc edx\n\t\tin al,dx\n\t\ttest al,0x80\n\t\tloopnz local_007\t\t\n\t\tmov al,2bh  //7.8125 һж\n\t\tout dx,al\t\t\n\t\tmov al,0bh\n\t\tdec edx\n\t\tout dx,al\n\t\tinc edx\n\t\tmov al,byteOldRTC_Register_B\n\t\tor al,052h\n\t\tand al,0dfh\n\t\tout dx,al\n\t\tmov al,0ch\n\t\tdec edx\t\t\n\t\tout dx,al \n\t\tinc edx\n\t\tin al,dx\n\t\tpop ecx\n\t\tpop edx\n\t\tpop eax\n\t}\t\n\tTimeSecond=0xff;\t\n\treturn true;\n}\n\nbool UninstallTimeInterrupt()\n{\t\t\n\tif(bIsExecuteTimerInterrupt==false)\n\t\treturn true;\n\tif(gbIsUseAPIC)\n\t{\n\t\tbIsExecuteTimerInterrupt=false;\n\t\treturn true;\n\t}\n\t__asm\n\t{\n\t\tpush eax\n\t\tpush edx\n\t\tpush ecx\n\t\tmov dx,070h\n\t\tmov ecx,0x8000\nlocal_001:\t\t\n\t\tmov al,0ah\n\t\tout dx,al \t\t\n\t\tinc edx\n\t\tin al,dx\n\t\ttest al,80h\t\t\n\t\tloopnz local_001\n\t\tmov al,0ah\n\t\tdec edx\n\t\tout dx,al \n\t\tinc edx\n\t\tmov al,byteOldRTC_Register_A\n\t\tout dx,al \t\t\n\t\tdec edx\n\t\tmov al,0bh\n\t\tout dx,al \n\t\tinc edx\n\t\tmov al,byteOldRTC_Register_B\n\t\tout dx,al\n\t\tmov al,0ch\n\t\tdec edx\n\t\tout dx,al \n\t\tinc dx\n\t\tin al,dx\n\t\tpop ecx\n\t\tpop edx\n\t\tpop eax\n\t}\n\tbIsExecuteTimerInterrupt=false;\n\treturn true;\n}\n__declspec (naked) void TimeInterrupeService()\n{\t\n\t__asm{\n\t\tpushfd\n\t\tcmp cs:bIsExecuteTimerInterrupt,1\n\t\tjz local_2\n\t\tpopfd\n\t\tret\t\nlocal_2:\n\t\tpushad\t\n\t\tpush ds\n\t\tmov eax,0x10\n\t\tmov ds,ax\t\t\t\t\n\t}\n\tgSystemTickCount++;\n\tgpSyser->OnTimer(30);\n\tSyserWritePortByte(0x70,0xc);\n\tdwTmpRTC = SyserReadPortByte(0x71);\n\tgpSyser->m_PCSystem.USBDeviceService();\n\tif(dwTmpRTC & 0x10)\n\t{\n\t\tif(TimeSecond==0xff)\n\t\t{\n\t\t\t__asm{\n\t\t\t\tpush edx\n\t\t\t\tpush eax\n\t\t\t\tmov dx,071h\nlocal_1:\t\t\t\t\n\t\t\t\tdec edx\n\t\t\t\tmov al,0ah\n\t\t\t\tout dx,al \n\t\t\t\tinc dx\n\t\t\t\tin al,dx \n\t\t\t\ttest al,0x80\n\t\t\t\tjnz local_1\n\t\t\t\tdec edx\n\t\t\t\tmov al,0 \n\t\t\t\tout dx,al \n\t\t\t\tinc dx\n\t\t\t\tin al,dx\n\t\t\t\tmov TimeSecond,al \n\t\t\t\tdec edx\n\t\t\t\tmov al,2\n\t\t\t\tout dx,al\n\t\t\t\tinc edx\n\t\t\t\tin al,dx \n\t\t\t\tmov TimeMinute,al \n\t\t\t\tdec edx \n\t\t\t\tmov al,4\n\t\t\t\tout dx,al\n\t\t\t\tinc edx\n\t\t\t\tin al,dx\n\t\t\t\tmov TimeHour,al\n\t\t\t\tpop eax\n\t\t\t\tpop edx\n\t\t\t}\n\t\t\tTimeSecond = (TimeSecond >> 4) * 10 + (TimeSecond & 0xf);\n\t\t\tTimeMinute = (TimeMinute >> 4) * 10 + (TimeMinute & 0xf);\n\t\t\tTimeHour = (TimeHour >> 4) * 10 + (TimeHour & 0xf);\n\t\t}else\n\t\t{\n\t\t\tTimeSecond++;\n\t\t\tif(TimeSecond==60)\n\t\t\t{\n\t\t\t\tTimeSecond = 0;\n\t\t\t\tTimeMinute++;\n\t\t\t}\n\t\t\tif(TimeMinute == 60)\n\t\t\t{\n\t\t\t\tTimeMinute = 0;\n\t\t\t\tTimeHour++;\n\t\t\t}\n\t\t\tTimeHour %= 24;\n\t\t\t//gpSyser->m_MainFrame.Update();\n\t\t}\n\n\t}\n\tSetInteruptEOI(8);\n\t__asm{\t\n\t\tpop ds\t\t\n\t\tpopad\n\t\tpopfd\n\t\tlea esp,[esp+4]\n\t\tiretd\n\t}\n}\n\nULONG __declspec(naked) CalibrateByTimer()\n{\n#if 0\n\t_asm{\n\t\tpushfd\n\t\tpushad\n\t\tcli\nlocal_12345:\n\t\tmov al,0ah\n\t\tout 70h,al\t\t\n\t\tjmp short $+2\n\t\tin al,71h\n\t\ttest al,80h\n\t\tjnz local_12345\n\t\tmov al,0\n\t\tout 70h,al\n\t\tjmp short $+2\n\t\tin al,71h\n\t\tmov bl,al \nlocal_212:\t\t\n\t\tmov al,0ah\n\t\tout 70h,al\n\t\tjmp short $+2\n\t\tin al,71h\n\t\ttest al,80h\n\t\tjnz local_212\n\t\tmov al,0\n\t\tout 70h,al \n\t\tjmp short $+2\n\t\tin al,71h\n\t\tmov bh,al\n\t\trdtsc\n\t\tmov esi,eax\n\t\tmov edi,edx\n\t\tcmp bl,bh\n\t\tjz local_212\nlocal_213:\n\t\tmov al,0ah\n\t\tout 70h,al \n\t\tjmp short $+2\n\t\tin al,71h\n\t\ttest al,80h\n\t\tjnz local_213\n\t\tmov al,0\n\t\tout 70h,al \n\t\tjmp short $+2\n\t\tin al,71h\n\t\tmov bl,al\n\t\tcmp bh,bl\n\t\tjz local_213\t\t\n\t\tpopad\n\t\tpopfd\n\t}\n#endif\n\t__asm {\n\t\tpushfd\n\t\tpush esi\n\t\tpush edi\n\t\tpush ebx\n\t\tpush ecx\n\t\tpush edx\n\t\txor esi, esi\n\t\tcli\n\t\tmov ecx, 4\nloc_4456F:\n\t\tpush ecx\n\t\tmov al, 0D2h\n\t\tout 43h, al\n\t\tjmp short $+2\n\t\tin al, 40h\n\t\tmov cl, al\n\t\tin al, 40h\n\t\tmov ch, al\n\t\trdtsc\n\t\tmov edi, eax\n\t\txor ah, ah\nloc_44584:\n\t\tmov al, 0D2h\n\t\tout 43h, al\n\t\tin al, 40h\n\t\tmov bl, al\n\t\tin al, 40h\n\t\tmov bh, al\n\t\tor ah, ah\n\t\tjnz short loc_4459D\n\t\tcmp bx, cx\n\t\tjbe short loc_44584\n\t\tinc ah\n\t\tjmp short loc_44584\n\nloc_4459D:\n\t\tcmp bx, cx\n\t\tja short loc_44584\n\t\trdtsc\n\t\tsub eax, edi\n\t\tadd esi, eax\n\t\tpop ecx\n\t\tloop loc_4456F\n\t\tshr esi,2\n\t\tmov eax,esi\n\t\tpop edx\n\t\tpop ecx\n\t\tpop ebx\n\t\tpop edi\n\t\tpop esi\n\t\tpopfd\n\t\tretn\n\t}\n}\n\nULONGLONG gPrevTSC=0;\n\nULONGLONG InitSTCTickCount()\n{\t\n\tgPrevTSC=SyserGetTSC();\n\t__asm\n\t{\n\t\tpushfd\n\t\tpush esi\n\t\tpush edi\n\t\tpush ecx \n\t\tpush edx \n\t\tpush ebx\n\t\tpush eax\n\t\tpush eax\n\t\tcli\n\t\tin al,0x61\n\t\tmov [esp],eax  //8253 ͨ2ԭʼ״̬\n\t\tand al,0xfe\n\t\tout 0x61,al    //ر8253ͨ2,Ҳǽֹ8253ͨ2ļ\n\t\tmov al,0xb6    //д8253  дֽ,дֽ ͨ2\n\t\tout 0x43,al\n\t\t\n\t\tmov ax,1193  //ÿ 1000Hz   1ʱ RDTSC ļ Ҳ8253 ͨ2ļֵÿӻ 1000\n\t\tout 0x42,al \n\t\t\n\t\tmov al,ah\n\t\tout 0x42,al \n\t\txor ecx,ecx\n\t\tin al,0x61\n\t\tor al,1\n\t\tout 0x61,al\t// 8253 ͨ2   8253 ͨ2ʼ\n\t\txor edx,edx\n\t\tmov edi,300000\nlocal_00a:\n\t\tmov al,0xd8  ////д8253  ȶֽ,ٶֽ ͨ2\n\t\tout 0x43,al\n\t\tin al,0x42\n\t\tmov cl,al\n\t\tin al,0x42\n\t\tmov ch,al\n\t\tinc edx \n\t\tcmp edx,0x20000000\n\t\tjg local_111   //ֻ 8253 ͨ2 \n\t\tcmp cx,800\n\t\tjg local_00a\n\t\trdtsc\n\t\tmov edi,eax\n\t\tmov esi,edx\n\t\txor ah,ah\nlocal_009:\n\t\tmov al,0xd8\n\t\tout 0x43,al\n\t\tin al,0x42\n\t\tmov bl,al\n\t\tin al,0x42\n\t\tmov bh,al\n\t\tor ah, ah\n\t\tjnz local_010\n\t\tcmp bx,cx\n\t\tjbe local_009\n\t\tinc ah\n\t\tjmp local_009\nlocal_010:\n\t\tcmp bx, cx\n\t\tja local_009\n\t\trdtsc\n\t\tsub eax,edi\n\t\tsbb edx,esi\n\t\tmov edi,eax\nlocal_111:\n\t\tpop eax \n\t\tout 0x61,al\n\t\tpop eax\n\t\tmov eax,edi\n\t\tpop ebx \n\t\tlea esp,[esp+4]\n\t\t//pop edx \n\t\tpop ecx \n\t\tpop edi\n\t\tpop esi\n\t\tpopfd\n\t}\n}"
  },
  {
    "path": "Project/Syser/Source/TimerInterrupt.h",
    "content": "#ifndef _TIMERINTERRUPT_H_\n#define _TIMERINTERRUPT_H_\n//////////////////////////////////////////////////////////////////////////\n///      8253 ʱж ioapic ежϺ 2\n///     finaldoom ҵĻ 8253 ʱж ioapic ежϺ 0\n//////////////////////////////////////////////////////////////////////////\n#define IOAPIC_TIMER_INTERRUPT_NUM\t\t\t0\n\t\t\t\t\t\t\t\t\t\t\nvoid Interrupt_0xFA_Timer_Service();\nbool UninstallTimeInterrupt();\nbool InstallTimeInterrupt();\nvoid TimeInterrupeService();\nULONG  CalibrateByTimer();\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nextern ULONG gSystemTimerFrequency;\nextern ULONGLONG gSystemTickCount;\nextern BYTE byteOldRTC_Register_A;\nextern BYTE byteOldRTC_Register_B;\nextern BYTE TimeSecond;\nextern BYTE TimeHour;\nextern BYTE TimeMinute;\nextern bool bIsExecuteTimerInterrupt;\nextern DWORD gdwOldTimerInterrupt;\nextern DWORD gdwTimerInterruptNum;\nULONGLONG InitSTCTickCount();\nextern ULONGLONG gTSCTickCount;\nextern ULONGLONG gPrevTSC;\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif //_TIMERINTERRUPT_H_"
  },
  {
    "path": "Project/Syser/Source/TouchPad.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"TouchPad.h\"\n#include \"InputDriver.h\"\n#include \"Mouse.h\"\n#include \"Syser.h\"\nbool gTouchPad=false;\nBYTE gTouchPadMode=0;\nbool gbSynapticsTouchPad=false;\nbool gbAlpsTouchPad=false;\nvoid TestTouchPad()\n{\n\tbool ReadMouseRet;\n\tBYTE ResponeBuf[6];\n\tBYTE ResponeBuf2[6];\n\tDWORD i =0 ;\n\tBYTE Value;\n\tif(gHasPS2Mouse==false)\n\t\treturn;\n\tfor(i = 0; i < sizeof(ResponeBuf);i++)\n\t\tResponeBuf[i]=0;\n\ti=0;\n\twhile(ReadMouseRet = SyserReadPort60(&Value,true))\n\t{\n\t\tif(i<6)\n\t\t\tResponeBuf2[i]=Value;\n\t\ti++;\n\t}\n\ti = 0;\n\tif(SendMouseCommand(0xe8)==false)\n\t\treturn;\n\tif(SendMouseCommand(0x0)==false)\n\t\treturn;\n\tif(SendMouseCommand(0xe8)==false)\n\t\treturn;\n\tif(SendMouseCommand(0x0)==false)\n\t\treturn;\n\tif(SendMouseCommand(0xe8)==false)\n\t\treturn;\n\tif(SendMouseCommand(0x0)==false)\n\t\treturn;\n\tif(SendMouseCommand(0xe8)==false)\n\t\treturn;\n\tif(SendMouseCommand(0x1)==false)\n\t\treturn;\n\tif(SendMouseCommand(0xe9)==false)\n\t\treturn;\n\twhile(ReadMouseRet = SyserReadPort60(&Value,true))\n\t{\n\t\tif(i<6)\n\t\t\tResponeBuf[i]=Value;\n\t\ti++;\n\t}\n\tif(ResponeBuf[1]==0x47)\n\t{\n\t\tgTouchPad=true;\n\t\tif(ResponeBuf[2]&0x80)\n\t\t{\n\t\t\tdwMousePrePackageSize=6;\n\t\t}\n\t\tgTouchPadMode=ResponeBuf[2];\n\t}\n\telse\n\t{\n\t\tif(SendMouseCommand(0xe8)==false)\n\t\t\treturn;\n\t\tif(SendMouseCommand(ResponeBuf2[1]&3)==false)\n\t\t\treturn;\n\t}\n\n}\n\n\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\tDWORD gPreAbsoluteX=0;\n\tDWORD gPreAbsoluteY=0;\n\tDWORD MouseInterruptCount;\n\tBYTE gbPressure;\n\tDWORD gTouchPadCount;\n\textern ULONGLONG gTSCTickCount;\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nvoid AnalyzerTouchPadPackage()\n{\n\tDWORD AbsoluteX,AbsoluteY,X,Y;\n\tint XOffset,YOffset;\n\tDWORD w;\n\tULONGLONG TmpTickCount,Interval;\n\tchar TrackPointX,TrackPointY;\n\tbool bButtonState,bDoubleClick;\n\n\tAbsoluteX=(CurrentMouseData.D6.Byte3&0x10)|(CurrentMouseData.D6.Byte1&0xf);\n\tAbsoluteX<<=8;\n\tAbsoluteX|=CurrentMouseData.D6.Byte4;\n\tX = AbsoluteX;\n\tAbsoluteY=CurrentMouseData.D6.Byte3&0x20;\n\tAbsoluteY>>=1;\n\tAbsoluteY=AbsoluteY|((CurrentMouseData.D6.Byte1&0xf0)>>4);\n\tAbsoluteY<<=8;\n\tAbsoluteY|=CurrentMouseData.D6.Byte5;\n\tY = AbsoluteX;\n\tif(CurrentMouseData.D6.Byte2)\n\t{\n\t\tif(gbPressure==0)\n\t\t{\n\t\t\tgTouchPadCount=0;\n\t\t\t//gpSyser->DbgPrint(0,24,WSTR(\"[%d] %d %d %d %d\"),gTouchPadCount,gPreAbsoluteX,gPreAbsoluteY,AbsoluteX,AbsoluteY);\n\t\t\tgPreAbsoluteX=AbsoluteX;\n\t\t\tgPreAbsoluteY=AbsoluteY;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(gbPressure)\n\t\t{\n\t\t\t//gpSyser->DbgPrint(0,12,WSTR(\"[%d] %d %d %d %d\"),gTouchPadCount,gPreAbsoluteX,gPreAbsoluteY,AbsoluteX,AbsoluteY);\n\t\t}\n\t}\n\tgbPressure=CurrentMouseData.D6.Byte2;\n\tAbsoluteX = (gPreAbsoluteX+AbsoluteX)/2;\n\tAbsoluteY = (gPreAbsoluteY+AbsoluteY)/2;\n#if 0\n\tgpSyser->DbgPrint(600,0,WSTR(\"count=[%d] %02x %02x %02x %02x %02x %02x x=%d y=%d\"),MouseInterruptCount,CurrentMouseData.D6.Byte0,\n\t\tCurrentMouseData.D6.Byte1,\n\t\tCurrentMouseData.D6.Byte2,\n\t\tCurrentMouseData.D6.Byte3,\n\t\tCurrentMouseData.D6.Byte4,\n\t\tCurrentMouseData.D6.Byte5,\n\t\tAbsoluteX,\n\t\tAbsoluteY\n\t\t);\n#endif\n\t\n\tTmpTickCount = SyserGetTSC();\n\tXOffset=AbsoluteX-gPreAbsoluteX;\n\tYOffset=AbsoluteY-gPreAbsoluteY;\n\tYOffset/=6;\n\tXOffset/=6;\n\n\tif(CurrentMouseData.D6.ZPressure!=0||X!=0||Y!=0)\n\t{\n\t\tif(CurrentMouseData.D6.ZPressure==0)\n\t\t{\n\t\t\tTrackPointX=CurrentMouseData.D6.Byte4;\n\t\t\tTrackPointY=CurrentMouseData.D6.Byte5;\n\t\t}\n\t\tif((XOffset||YOffset))\n\t\t{\n\t\t\tif(CurrentMouseData.D6.ZPressure>40&&gTouchPadCount>10)\n\t\t\t\tgpSyser->OnMouseMove(XOffset,-YOffset);\n\t\t\tif(CurrentMouseData.D6.ZPressure==0)\n\t\t\t\tgpSyser->OnMouseMove(TrackPointX,-TrackPointY);\n\t\t\tif(CurrentMouseData.D6.ZPressure!=0)\n\t\t\t{\n\t\t\t\tgPreAbsoluteX=AbsoluteX;\n\t\t\t\tgPreAbsoluteY=AbsoluteY;\n\t\t\t}\n\t\t}\n\t}\n\n\tif((PrevMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS) != (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS))\n\t{\n\t\tbButtonState = CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS;\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gLButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(CurrentMouseData.D6.Byte2 == 0 ||(XOffset==0&&YOffset==0))\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevLButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_LBUTTON);\n\t\t\t\t\t\tgLButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_LEFT_PRESS);\n\t}\n\tif((PrevMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS) != (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS))\n\t{\n\t\tbDoubleClick=false;\n\t\tbButtonState = (CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0;\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gRButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(XOffset==0&&YOffset==0)\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevRButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_RBUTTON);\n\t\t\t\t\t\tgRButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(CurrentMouseData.D3.cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0);\n\t}\n\tgTouchPadCount++;\n\tPrevMouseData=CurrentMouseData;\n}\n/*\n* XXX - this entry is suspicious. First byte has zero lower nibble,\n* which is what a normal mouse would report. Also, the value 0x0e\n* isn't valid per PS/2 spec.\n*/\n\n/*\n* ALPS abolute Mode - new format\n*\n* byte 0:  1    ?    ?    ?    1    ?    ?    ?\n* byte 1:  0   x6   x5   x4   x3   x2   x1   x0\n* byte 2:  0   x10  x9   x8   x7    ?  fin  ges\n* byte 3:  0   y9   y8   y7    1    M    R    L\n* byte 4:  0   y6   y5   y4   y3   y2   y1   y0\n* byte 5:  0   z6   z5   z4   z3   z2   z1   z0\n*\n* ?'s can have different meanings on different models,\n* such as wheel rotation, extra buttons, stick buttons\n* on a dualpoint, etc.\n*/\nvoid AlpsAnalyzerTouchPadPackage()\n{\n\tDWORD AbsoluteX,AbsoluteY,X,Y;\n\tint XOffset,YOffset;\n\tDWORD w;\n\tULONGLONG TmpTickCount,Interval;\n\tchar TrackPointX,TrackPointY;\n\tbool bButtonState,bDoubleClick;\n\n\tAbsoluteX=CurrentMouseData.D6.Byte2&0x78;\n\tAbsoluteX<<=4;\n\tAbsoluteX|=CurrentMouseData.D6.Byte1&0x7f;\t\t\n\tX = AbsoluteX;\n\tAbsoluteY=CurrentMouseData.D6.Byte3&0x70;\n\tAbsoluteY<<=3;\n\tAbsoluteY|=CurrentMouseData.D6.Byte4&0x7f;\t\n\tY = AbsoluteX;\n\tif(CurrentMouseData.D6.Byte5)\n\t{\n\t\tif(gbPressure==0)\n\t\t{\n\t\t\tgTouchPadCount=0;\n\t\t\t//gpSyser->DbgPrint(0,24,WSTR(\"[%d] %d %d %d %d\"),gTouchPadCount,gPreAbsoluteX,gPreAbsoluteY,AbsoluteX,AbsoluteY);\n\t\t\tgPreAbsoluteX=AbsoluteX;\n\t\t\tgPreAbsoluteY=AbsoluteY;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(gbPressure)\n\t\t{\n\t\t\t//gpSyser->DbgPrint(0,12,WSTR(\"[%d] %d %d %d %d\"),gTouchPadCount,gPreAbsoluteX,gPreAbsoluteY,AbsoluteX,AbsoluteY);\n\t\t}\n\t}\n\tgbPressure=CurrentMouseData.D6.Byte5;\n\tAbsoluteX = (gPreAbsoluteX+AbsoluteX)/2;\n\tAbsoluteY = (gPreAbsoluteY+AbsoluteY)/2;\n#if 0\n\tgpSyser->DbgPrint(600,0,WSTR(\"count=[%d] %02x %02x %02x %02x %02x %02x x=%d y=%d\"),MouseInterruptCount,CurrentMouseData.D6.Byte0,\n\t\tCurrentMouseData.D6.Byte1,\n\t\tCurrentMouseData.D6.Byte2,\n\t\tCurrentMouseData.D6.Byte3,\n\t\tCurrentMouseData.D6.Byte4,\n\t\tCurrentMouseData.D6.Byte5,\n\t\tAbsoluteX,\n\t\tAbsoluteY\n\t\t);\n#endif\n\t\n\tTmpTickCount = SyserGetTSC();\n\tXOffset=AbsoluteX-gPreAbsoluteX;\n\tYOffset=AbsoluteY-gPreAbsoluteY;\n\t/*\n\tOUTPUT(WSTR(\"%02x %02x %02x %02x %02x %02x\\n\"),CurrentMouseData.D6.Byte0,\n\t\tCurrentMouseData.D6.Byte1,\n\t\tCurrentMouseData.D6.Byte2,\n\t\tCurrentMouseData.D6.Byte3,\n\t\tCurrentMouseData.D6.Byte4,\n\t\tCurrentMouseData.D6.Byte5);\n\tOUTPUT(WSTR(\"%d %d [%d][%d] (%d)(%d)\\n\"),AbsoluteX,AbsoluteY,gPreAbsoluteX,gPreAbsoluteY,XOffset,YOffset);\n\t*/\n\t//YOffset/=2;\n\t//XOffset/=2;\n\t\n\n\tif(CurrentMouseData.D6.Byte5!=0||X!=0||Y!=0)\n\t{\n\t\tif(CurrentMouseData.D6.Byte5==0)\n\t\t{\n\t\t\tTrackPointX=CurrentMouseData.D6.Byte4;\n\t\t\tTrackPointY=CurrentMouseData.D6.Byte5;\n\t\t}\n\t\tif((XOffset||YOffset))\n\t\t{\n\t\t\tif(CurrentMouseData.D6.Byte5>40&&gTouchPadCount>10)\n\t\t\t\tgpSyser->OnMouseMove(XOffset,YOffset);\n\t\t\tif(CurrentMouseData.D6.Byte5==0)\n\t\t\t\tgpSyser->OnMouseMove(TrackPointX,TrackPointY);\n\t\t\tif(CurrentMouseData.D6.Byte5!=0)\n\t\t\t{\n\t\t\t\tgPreAbsoluteX=AbsoluteX;\n\t\t\t\tgPreAbsoluteY=AbsoluteY;\n\t\t\t}\n\t\t}\n\t}\n\n\tif((PrevMouseData.D6.Byte3 & MOUSE_INTERRUPT_LEFT_PRESS) != (CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_LEFT_PRESS))\n\t{\n\t\tbButtonState = CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_LEFT_PRESS;\n\t\t/*\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gLButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(CurrentMouseData.D6.Byte5 == 0 ||(XOffset==0&&YOffset==0))\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevLButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_LBUTTON);\n\t\t\t\t\t\tgLButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgLButtonDblClkSecond=true;\n\t\t\t\t\tgPrevLButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t*/\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_LEFT_PRESS);\n\t}\n\tif((PrevMouseData.D6.Byte3 & MOUSE_INTERRUPT_RIGHT_PRESS) != (CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_RIGHT_PRESS))\n\t{\n\t\tbDoubleClick=false;\n\t\tbButtonState = (CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_RIGHT_PRESS)!=0;\n\t\t/*\n\t\tif(bButtonState)\n\t\t{\n\t\t\tif(gRButtonDblClkSecond==false)\n\t\t\t{\n\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(XOffset==0&&YOffset==0)\n\t\t\t\t{\n\t\t\t\t\tInterval = (TmpTickCount-gPrevRButtonDownTickCount) / gTSCTickCount;\n\t\t\t\t\tif(Interval<=gMaxDblClkInterval)\n\t\t\t\t\t{\n\t\t\t\t\t\tgpSyser->OnMouseButtonDBClick(WISP_VK_RBUTTON);\n\t\t\t\t\t\tgRButtonDblClkSecond=false;\n\t\t\t\t\t\tbDoubleClick=true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse \n\t\t\t\t{\n\t\t\t\t\tgRButtonDblClkSecond=true;\n\t\t\t\t\tgPrevRButtonDownTickCount=TmpTickCount;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(!bDoubleClick)\n\t\t*/\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(CurrentMouseData.D6.Byte3 & MOUSE_INTERRUPT_RIGHT_PRESS)!=0);\n\t}\n\tgTouchPadCount++;\n\tPrevMouseData=CurrentMouseData;\n}\n"
  },
  {
    "path": "Project/Syser/Source/TouchPad.h",
    "content": "#ifndef _TOUCHPAD_H_\n#define _TOUCHPAD_H_\nvoid TestTouchPad();\nextern bool gTouchPad;\nextern BYTE gTouchPadMode;\nvoid AnalyzerTouchPadPackage();\nvoid AlpsAnalyzerTouchPadPackage();\nextern bool gbSynapticsTouchPad;\nextern bool gbAlpsTouchPad;\nbool IsAlpsTouchPad();\nbool IsSynapticsTouchPad();\n#endif //_TOUCHPAD_H_"
  },
  {
    "path": "Project/Syser/Source/TrackPoint.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"TrackPoint.h\"\n#include \"InputDriver.h\"\n#include \"Mouse.h\"\n#include \"Syser.h\"\nvoid AnalyzerTrackPointPackage()\n{\n\n}\n"
  },
  {
    "path": "Project/Syser/Source/TrackPoint.h",
    "content": "#ifndef _TRACKPOINT_H_\n#define _TRACKPOINT_H_\nvoid AnalyzerTrackPointPackage();\n#endif //_TRACKPOINT_H_"
  },
  {
    "path": "Project/Syser/Source/TypeViewerWnd.cpp",
    "content": "#include \"stdafx.h\"\n#include \"TypeViewerWnd.h\"\n#include \"SyserSymAnalyzer.h\"\n#include \"Syser.h\"\n\n#define NORMAL_TEXT_COLOR WISP_RGB(255,255,255)\n#define CHANGE_TEXT_COLOR WISP_RGB(255,0,0)\n\nWISP_MENU_RES_ITEM TypeViewerMenu[]=\n{\n\t{WSTR(\"Delete Watch\"),EVENT_ID_TYPEVIEWERWND_DELETE_WATCH,12*16+10},\n\t{WSTR(\"Hexadecimal Display\"),EVENT_ID_TYPEVIEWERWND_HEX_DISPLAY,0*16+13},\n\tWISP_MENU_RES_END\n};\n\nenum CTypeViewerWnd::CHILD_CMD_ID\n{\n\tCHILD_CMD_TYPELIST=WISP_ID_USER_START,\n};\n\nWISP_MSG_MAP_BEGIN(CTypeViewerWnd)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList) \n\nWISP_MSG_EVENT_MAP_BEGIN(CTypeViewerWnd)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_HEX_DISPLAY,OnHexDisplayEvent)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TYPEVIEWERWND_DELETE_WATCH,OnDeleteWatchEvent)\nWISP_MSG_EVENT_MAP_END\n\nbool CTypeViewerWnd::OnHexDisplayEvent(IN WISP_MSG* pMsg)\n{\t\n\tTYPE_VALUE_ATTR ValueAttr;\t\n\tHANDLE hItem,hNextItem,hSelectItem;\n\tCWispString* str;\n\tWCHAR ValueBuf[512];\n\thItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\t\n\tif(hItem==NULL)\n\t\treturn true;\n\tif(hItem)\n\t\thNextItem=GetNextItem(hItem);\n\thSelectItem=hItem;\n\twhile(hItem)\n\t{\n\t\tValueAttr.ItemData = GetItemData(hItem,LIST_COLUMN_VALUE);\t\n\t\tValueAttr.Attr.Attribute^=ITEM_ATTRIBUTE_HEX;\t\t\n\t\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\tstr =&GetItemText(hItem);\n\t\thItem = GetNextListItem(hItem);\n\t\tif(hItem==hNextItem)\n\t\t\tbreak;\n\t}\n\tUpdateItemContext(hSelectItem,ValueBuf,sizeof(ValueBuf)/sizeof(ValueBuf[0]));\n\t//UpdateDisplay(hSelectItem);\n\treturn true;\n}\n\nPSDTYPE_INFILE CTypeViewerWnd::GetTypeByDataIndex(CSDSModule* pSDSModule,DWORD DataIndex)\n{\t\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUDTDataItem;\n\tPSDREFERENCETYPE pReferenceType;\n\tpUDTDataItem = pSDSModule->GetDataSymbol(DataIndex);\n\tif(pUDTDataItem==NULL)\n\t\treturn NULL;\n\tpType = pSDSModule->GetTypeSymbol(pUDTDataItem->TypeId);\n\tif(pType!=NULL)\n\t{\n\t\tif(pType->Type==SD_REFERENCE)\n\t\t{\n\t\t\tpReferenceType = (PSDREFERENCETYPE)&pType[1];\n\t\t\tpType = pSDSModule->GetTypeSymbol(pReferenceType->TypeID);\n\t\t}\n\t}\n\treturn pType;\n}\n\nbool CTypeViewerWnd::UpdateItemContext(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD Address)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType,pTmpType;\n\tPSDREFERENCETYPE pReferenceType;\n\tDWORD TypeIndex;\n\tCSDSModule* pSDSModule;\n\tDWORD ReadWriteLen,Attribute;\n\tVALUEUNION ValueUnion;\n\tPSDPOINTERTYPE pSDPointerType;\n\tPSDUDTDATAITEM pUDTDataItem;\n\tPSDENUMERATIONTYPE pEnumType;\n\tchar *EnumElementName=NULL;\n\tchar* pStr=(char*)&ValueBuf[0];\n\tbool bOK;\n\tmemset(&WatchData,0,sizeof(WatchData));\n\tbOK = GetItemDataAll(hItem,&WatchData);\n\tif(bOK==false)\n\t\treturn false;\n\tif(Address==0)\n\t\tAddress=WatchData.Value.Attr.Address;\n\tWatchData.Value.Attr.Address=Address;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\treturn true;\n\tAttribute = WatchData.Value.Attr.Attribute;\t\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\t\n\tif(pSDSModule==NULL)return false;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUDTDataItem=pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUDTDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUDTDataItem->TypeId;\n\t}\n\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\tswitch(pType->Type)\n\t{\n\tcase SD_ARRAY:\t\t\n\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),Address);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\tUpdateItemContextArray(hItem,ValueBuf,ValueBufLen,Address);\n\t\tbreak;\n\tcase SD_BASIC:\n\t\tGetBasicTypeValue(pSDSModule,pType,Address,Attribute,ValueBuf,&ValueUnion);\n\t\tSetItemTextColor(hItem,LIST_COLUMN_VALUE,NORMAL_TEXT_COLOR);\n\t\tif(WatchData.Type.ValueUnion.uint64value!=ValueUnion.uint64value)\n\t\t{\t\t\t\n\t\t\tSetItemTextColor(hItem,LIST_COLUMN_VALUE,CHANGE_TEXT_COLOR);\n\t\t}\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\tWatchData.Type.ValueUnion = ValueUnion;\n\t\tSetItemData(hItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\t\tbreak;\n\tcase SD_POINTER:\n\t\t{\n\t\t\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\t\t\tif(ReadWriteLen!=pType->TypeSize)\n\t\t\t\tbreak;\t\t\t\t\t\t\n\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x \"),ValueUnion.uintvalue);\n\t\t\tSetItemTextColor(hItem,LIST_COLUMN_VALUE,NORMAL_TEXT_COLOR);\n\t\t\tif(WatchData.Type.ValueUnion.uint64value!=ValueUnion.uint64value)\n\t\t\t{\t\t\t\n\t\t\t\tSetItemTextColor(hItem,LIST_COLUMN_VALUE,CHANGE_TEXT_COLOR);\n\t\t\t}\n\t\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\t\tpSDPointerType=(PSDPOINTERTYPE)&pType[1];\n\t\t\tif(pSDPointerType->PointerDepth==1)\n\t\t\t{\n\t\t\t\tpTmpType=pSDSModule->GetTypeSymbol(pSDPointerType->TypeID);\n\t\t\t\tif(pTmpType==NULL)break;\n\t\t\t\tif(pTmpType->Type==SD_CLASS || pTmpType->Type==SD_STRUCT || pTmpType->Type==SD_UNION)\n\t\t\t\t{\n\t\t\t\t\tUpdateItemContextUDTPointer(hItem,ValueBuf,ValueBufLen,ValueUnion.uintvalue);\n\t\t\t\t}\t\t\t\t\n\t\t\t\telse if(pTmpType->Type==SD_BASIC)\n\t\t\t\t{\t\t\t\t\t\n\t\t\t\t\tif(pTmpType->TypeSize==1)\n\t\t\t\t\t{\n\t\t\t\t\t\tTSPrintf(pStr,\"0x%08x \\\"\",ValueUnion.uintvalue);\n\t\t\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(ValueUnion.uintvalue,&pStr[12],ValueBufLen*sizeof(WCHAR)-15);\n\t\t\t\t\t\tfor(DWORD i=0;i < ReadWriteLen ;i++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(pStr[i+12]!=0)continue;\t\t\n\t\t\t\t\t\t\tpStr[i+12]='\"';pStr[i+13]=0;\n\t\t\t\t\t\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,pStr);\n\t\t\t\t\t\t\tbreak;\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tHANDLE hNextItem = GetNextListItem(hItem);\n\t\t\t\t\tTYPE_VALUE_ATTR ValueAttr;\n\t\t\t\t\tif(hNextItem!=NULL)\n\t\t\t\t\t{\n\t\t\t\t\t\tValueAttr.ItemData = GetItemData(hNextItem,LIST_COLUMN_VALUE);\n\t\t\t\t\t\tValueAttr.Attr.Address = ValueUnion.uintvalue;\n\t\t\t\t\t\tSetItemData(hNextItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\t\t\t\t\tGetBasicTypeValue(pSDSModule,pTmpType,ValueUnion.uintvalue,Attribute,ValueBuf,&ValueUnion);\n\t\t\t\t\t\tSetItemText(hNextItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\t\t\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\t{\n\t\t\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,4);\n\t\t\tif(ReadWriteLen!=4)\n\t\t\t\tbreak;\t\t\t\t\t\t\n\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),ValueUnion.uintvalue);\n\t\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\t\tpReferenceType=(PSDREFERENCETYPE)&pType[1];\t\t\t\n\t\t\tpTmpType=pSDSModule->GetTypeSymbol(pReferenceType->TypeID);\t\t\n\t\t\tif(pTmpType==NULL)break;\n\t\t\tif(pTmpType->Type==SD_CLASS || pTmpType->Type==SD_STRUCT || pTmpType->Type==SD_UNION)\n\t\t\t{\n\t\t\t\tUpdateItemContextUDTReference(hItem,ValueBuf,ValueBufLen,ValueUnion.uintvalue);\n\t\t\t}\n\t\t\telse if(pTmpType->Type==SD_BASIC)\n\t\t\t{\n\t\t\t\tTYPE_VALUE_ATTR ValueAttr;\n\n\t\t\t\tValueAttr.ItemData = GetItemData(hItem,LIST_COLUMN_VALUE);\n\t\t\t\tValueAttr.Attr.Address = ValueUnion.uintvalue;\n\t\t\t\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\t\t\tGetBasicTypeValue(pSDSModule,pTmpType,ValueUnion.uintvalue,Attribute,ValueBuf,&ValueUnion);\n\t\t\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t}\t\t\t\n\t\t}\t\t\n\t\tbreak;\n\tcase SD_ENUMERATION:\n\t\tpEnumType=(PSDENUMERATIONTYPE)&pType[1];\n\t\tpTmpType = pSDSModule->GetTypeSymbol(pEnumType->TypeID);\n\t\tif(GetBasicTypeValue(pSDSModule,pTmpType,Address,Attribute,ValueBuf,&ValueUnion))\n\t\t{\n\t\t\tEnumElementName = pSDSModule->GetEnumerationByValue(TypeIndex,ValueUnion.uint64value);\t\t\n\t\t}\n\t\tif(EnumElementName)\n\t\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,EnumElementName);\n\t\telse\n\t\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\t\tbreak;\n\tcase SD_CLASS:\n\tcase SD_STRUCT:\n\tcase SD_UNION:\n\t\tUpdateItemContextUDT(hItem,ValueBuf,ValueBufLen,Address);\n\t\tbreak;\n\t}\n\treturn true;\n}\n//ʾһUDTݵǰ3ֵ\nbool CTypeViewerWnd::UpdateItemContextUDT(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tHANDLE hSubItem;\n\tDWORD Address;\n\tDWORD TypeIndex;\n\tCSDSModule* pSDSModule ;\n\tif(hItem==NULL)\n\t\treturn false;\t\t\n\tChangeUDTBaseClassAddressByUDT(hItem,BaseAddress);\n\thSubItem = GetNextListItem(hItem);\n\tfor(;hSubItem;hSubItem = GetNextItem(hSubItem))\n\t{\n\t\tGetItemText(hSubItem,LIST_COLUMN_NAME,ValueBuf,ValueBufLen);\n\t\tif(GetItemDataAll(hSubItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tAddress=WatchData.Value.Attr.Address;\n\t\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\t\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\t\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE || pSDSModule==NULL || TypeIndex==0)\n\t\t\tcontinue;\n\t\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_DATA)\n\t\t{\n\t\t\tpUdtDataItem = WatchData.Name.Attr.pSDSModule->GetDataSymbol(TypeIndex);\n\t\t\tif(pUdtDataItem==NULL)\n\t\t\t\tcontinue;\n\t\t\tTypeIndex = pUdtDataItem->TypeId;\t\n\t\t\tif(pUdtDataItem->Location == LocIsThisRel) \n\t\t\t{\n\t\t\t\tAddress = BaseAddress+ pUdtDataItem->u.LOCISTHISREL.Offset;\n\t\t\t}\n\t\t}\n\t\tpType=WatchData.Name.Attr.pSDSModule->GetTypeSymbol(TypeIndex);\n\t\tif(pType==NULL)\n\t\t\tcontinue;\t\t\n\t\tUpdateItemContext(hSubItem,ValueBuf,ValueBufLen,Address);\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::ChangeUDTBaseClassAddress(HANDLE hItem,DWORD TypeIndex,DWORD Address)\n{\n\tHANDLE hSubItem;\n\tWATCH_DATA WatchData;\n\tWCHAR ValueBuf[256];\n\tbool bOK=false;\n\thSubItem = GetNextListItem(hItem);\n\t//hNextItem = GetListItem(hItem);\n\tfor(;hSubItem;hSubItem = GetNextItem(hSubItem))\n\t{\t\t\n\t\tif(GetItemDataAll(hSubItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tif(WatchData.Name.Attr.TypeIndex==TypeIndex && (WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_TYPE))\n\t\t{\n\t\t\tGetItemText(hSubItem,LIST_COLUMN_NAME,ValueBuf,256);\n\t\t\tWatchData.Value.Attr.Address=Address;\n\t\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\t\t\tbOK=true;\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn bOK;\n}\nbool CTypeViewerWnd::ChangeUDTBaseClassAddressPointer(HANDLE hItem,DWORD BaseAddress)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCSDSModule* pSDSModule;\n\tDWORD Address,Attribute;\n\tDWORD TypeIndex;\n\tPSDTYPE_INFILE pBaseClassType;\n\tPSDUDTBASECLASS pUdtBaseClassType;\n\tPSDPOINTERTYPE pPointerType;\n\tDWORD *pBaseClassIndex;\n\tPSDUDTTYPE pUdtType;\n\tDWORD i;\n\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\treturn false;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tTypeIndex=WatchData.Name.Attr.TypeIndex;\n\tpSDSModule=WatchData.Name.Attr.pSDSModule;\n\tif(pSDSModule==NULL || TypeIndex == 0)\n\t\treturn false;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type!=SD_POINTER)\n\t\treturn false;\n\tpPointerType =(PSDPOINTERTYPE) &pType[1];\n\tif(pPointerType->PointerDepth!=1)\n\t\treturn false;\n\tpType = pSDSModule->GetTypeSymbol(pPointerType->TypeID);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type!=SD_CLASS && pType->Type!=SD_STRUCT && pType->Type!=SD_UNION)\n\t\treturn false;\n\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tpBaseClassIndex = pUdtType->pBaseClass.pBaseClassMember;\n\tfor(i = 0; i < pUdtType->BaseClassCounter;i++)\n\t{\n\t\tpBaseClassType = pSDSModule->GetTypeSymbol(pBaseClassIndex[i]);\n\t\tpUdtBaseClassType = (PSDUDTBASECLASS)&pBaseClassType[1];\n\t\tAddress = BaseAddress+pUdtBaseClassType->Offset;\n\t\tChangeUDTBaseClassAddress(hItem,pUdtBaseClassType->TypeID,Address);\t\t\n\t}\n\treturn true;\n}\n\nbool CTypeViewerWnd::ChangeUDTBaseClassAddressByUDT(HANDLE hItem,DWORD BaseAddress)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCSDSModule* pSDSModule;\n\tDWORD Address,Attribute;\n\tDWORD TypeIndex;\n\tPSDTYPE_INFILE pBaseClassType;\n\tPSDUDTBASECLASS pUdtBaseClassType;\n\tDWORD *pBaseClassIndex;\n\tPSDUDTTYPE pUdtType;\n\tDWORD i;\n\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\treturn false;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tTypeIndex=WatchData.Name.Attr.TypeIndex;\n\tpSDSModule=WatchData.Name.Attr.pSDSModule;\n\tif(pSDSModule==NULL || TypeIndex == 0)\n\t\treturn false;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\t\n\tif(pType->Type!=SD_CLASS && pType->Type!=SD_STRUCT && pType->Type!=SD_UNION)\n\t\treturn false;\n\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tpBaseClassIndex = pUdtType->pBaseClass.pBaseClassMember;\n\tfor(i = 0; i < pUdtType->BaseClassCounter;i++)\n\t{\n\t\tpBaseClassType = pSDSModule->GetTypeSymbol(pBaseClassIndex[i]);\n\t\tpUdtBaseClassType = (PSDUDTBASECLASS)&pBaseClassType[1];\n\t\tAddress = BaseAddress+pUdtBaseClassType->Offset;\n\t\tChangeUDTBaseClassAddress(hItem,pUdtBaseClassType->TypeID,Address);\t\t\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::UpdateItemContextArray(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress)\n{\t\n\tPSDTYPE_INFILE pType,pArrayElementType;\n\tDWORD Attribute,Address;\n\tCSDSModule* pSDSModule;\n\tDWORD TypeIndex,i;\n\tWATCH_DATA WatchData;\n\tPSDUDTDATAITEM pUDTDataItem;\n\tPSDARRAYTYPE pArrayType;\n\tHANDLE hSubItem;\n\tif(hItem==NULL)\n\t\treturn false;\n\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\treturn false;\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tTypeIndex  = WatchData.Name.Attr.TypeIndex;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tAddress = BaseAddress;\n\tif(pSDSModule==NULL||TypeIndex==0)\n\t\treturn false;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUDTDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUDTDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUDTDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\tpArrayType = (PSDARRAYTYPE)&pType[1];\n\tif(pArrayType->DimensionsSize==1)\n\t{\n\t\thSubItem = GetNextListItem(hItem);\n\t\tpArrayElementType=pSDSModule->GetTypeSymbol(pArrayType->TypeIDElement);\n\t\tfor(i = 0; i < pArrayType->Dimensions[0].Size && hSubItem!=NULL;i++)\n\t\t{\n\t\t\tUpdateItemContext(hSubItem,ValueBuf,ValueBufLen,Address);\n\t\t\tAddress+=pArrayElementType->TypeSize;\n\t\t\thSubItem = GetNextItem(hSubItem);\n\t\t}\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::UpdateItemContextUDTPointer(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCSDSModule* pSDSModule;\n\tDWORD Address,Attribute;\n\tHANDLE hSubItem;\n\tDWORD TypeIndex;\n\n\tif(hItem==NULL)\n\t\treturn false;\t\n\tChangeUDTBaseClassAddressPointer(hItem,BaseAddress);\n\thSubItem = GetNextListItem(hItem);\n\n\tfor(;hSubItem;hSubItem = GetNextItem(hSubItem))\n\t{\n\t\tGetItemText(hSubItem,LIST_COLUMN_NAME,ValueBuf,ValueBufLen);\n\t\tAddress=0;\n\t\tif(GetItemDataAll(hSubItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\t\tAttribute=WatchData.Value.Attr.Attribute;\n\t\tpSDSModule=WatchData.Name.Attr.pSDSModule;\n\t\tif(Attribute&ITEM_ATTRIBUTE_UNINITIALIZE || pSDSModule==NULL || TypeIndex==0)\n\t\t\tcontinue;\n\t\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t\t{\n\t\t\tpUdtDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\t\tif(pUdtDataItem==NULL)\n\t\t\t\tcontinue;\n\t\t\tTypeIndex = pUdtDataItem->TypeId;\n\t\t\tif(pUdtDataItem->Location == LocIsThisRel) \n\t\t\t{\n\t\t\t\tAddress = BaseAddress+ pUdtDataItem->u.LOCISTHISREL.Offset;\n\t\t\t}\n\t\t}\n\t\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\t\tif(pType==NULL)\n\t\t\tcontinue;\t\t\n\t\tUpdateItemContext(hSubItem,ValueBuf,ValueBufLen,Address);\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::UpdateItemContextUDTReference(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress)\n{\n\tWATCH_DATA WatchData;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD Address;\n\tHANDLE hSubItem;\n\tDWORD TypeIndex;\n\tif(hItem==NULL)\n\t\treturn false;\t\n\n\thSubItem = GetNextListItem(hItem);\n\tfor(;hSubItem;hSubItem = GetNextItem(hSubItem))\n\t{\n\t\tGetItemText(hSubItem,LIST_COLUMN_NAME,ValueBuf,ValueBufLen);\n\t\tAddress=0;\n\t\tif(GetItemDataAll(hSubItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\t\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE || WatchData.Name.Attr.pSDSModule==NULL || TypeIndex==0)\n\t\t\tcontinue;\n\t\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_DATA)\n\t\t{\n\t\t\tpUdtDataItem = WatchData.Name.Attr.pSDSModule->GetDataSymbol(TypeIndex);\n\t\t\tif(pUdtDataItem==NULL)\n\t\t\t\tcontinue;\n\t\t\tTypeIndex = pUdtDataItem->TypeId;\n\t\t\tif(pUdtDataItem->Location == LocIsThisRel) \n\t\t\t{\n\t\t\t\tAddress = BaseAddress+ pUdtDataItem->u.LOCISTHISREL.Offset;\n\t\t\t}\n\t\t}\n\t\tpType=WatchData.Name.Attr.pSDSModule->GetTypeSymbol(TypeIndex);\n\t\tif(pType==NULL)\n\t\t\tcontinue;\t\t\n\t\tUpdateItemContext(hSubItem,ValueBuf,ValueBufLen,Address);\n\t}\n\treturn true;\n}\n\nbool CTypeViewerWnd::OnDeleteWatchEvent(IN WISP_MSG* pMsg)\n{\t\n\tHANDLE hFirstItem;\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\thFirstItem = GetItem(0);\n\tif(GetParentItem(hItem)!=GetParentItem(hFirstItem))\n\t\treturn false;\n\tif(hItem && hItem!=m_hLastItem)\n\t\tRemoveItem(hItem);\n\treturn true;\n}\n\nbool CTypeViewerWnd::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown && pMsg->KeyEvent.KeyType == WISP_VK_F2)\n\t{\n\t\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(hItem)\n\t\t\tBeginEditItem(hItem,0);\n\t\treturn true;\n\t}\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tif(pMsg->KeyEvent.KeyType == (WISP_MOD_CTRL| WISP_VK_H))\n\t\t\tm_PopupMenu.Popup();\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\t{\n\t\t\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tm_PopupMenu.EnableItem(m_hRemoveItem,hItem!=NULL && hItem!=m_hLastItem);\n\t\t\tm_PopupMenu.Popup();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CTypeViewerWnd::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tbool bOK;\n\tTYPE_NAME_ATTR NameAttr;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tTYPE_TYPE_ATTR TypeAttr;\n\tPSDREFERENCETYPE pReferenceType;\n\tTYPE_ADDRESS_ATTR AddressAttr;\n\tCSDSModule* pSdsModule;\n\tPSDTYPE_INFILE pType,pSubType;\t\n\tHANDLE hFirstItem;\n\tDWORD TypeIndex;\n\n\tif(hItem==NULL)\n\t\treturn false;\n\tbOK = GetItemDataAll(hItem,&NameAttr,&ValueAttr,&TypeAttr,&AddressAttr);\n\tif(bOK==false)\n\t\treturn false;\n\tTypeIndex=NameAttr.Attr.TypeIndex;\n\tswitch(Col) \n\t{\n\tcase LIST_COLUMN_VALUE:\n\t\tif(ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\t\treturn false;\n\t\tif(NameAttr.Attr.pSDSModule==NULL)\n\t\t\treturn false;\n\t\tpSdsModule=NameAttr.Attr.pSDSModule;\n\t\tif((ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_TYPE)&&(ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_VFTABLE))\n\t\t\treturn false;\n\t\tif(ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_DATA)\n\t\t{\n\t\t\tPSDUDTDATAITEM pUdtDataItem;\n\t\t\tpUdtDataItem=pSdsModule->GetDataSymbol(NameAttr.Attr.TypeIndex);\n\t\t\tif(pUdtDataItem==NULL)\n\t\t\t\treturn false;\n\t\t\tTypeIndex = pUdtDataItem->TypeId;\n\t\t}\n\t\tpType = pSdsModule->GetTypeSymbol(TypeIndex);\n\t\tif(pType==NULL)\n\t\t\treturn false;\n\t\tif(pType->Type==SD_REFERENCE)\n\t\t{\n\t\t\tpReferenceType = (PSDREFERENCETYPE)&pType[1];\n\t\t\tpSubType= pSdsModule->GetTypeSymbol(pReferenceType->TypeID);\n\t\t\tif(pSubType==NULL)\n\t\t\t\treturn false;\n\t\t\tpType = pSubType;\n\t\t}\n\t\treturn pType->Type==SD_BASIC || pType->Type==SD_POINTER;\n\tcase LIST_COLUMN_NAME:\n\t\thFirstItem = GetItem(0);\n\t\tif(GetParentItem(hItem)!=GetParentItem(hFirstItem))\n\t\t\treturn false;\n\t\tbreak;\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::ChangeValueBoolAndBitField1(DWORD Address,CSDSModule* pSDSModule,DWORD DataIndex,WCHAR* ValueBuf)\n{\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDTYPE_INFILE pType;\n\tVALUEUNION ValueUnion;\n\tDWORD ReadWriteLen,BaseTypeID;\n\tif(pSDSModule==NULL)\n\t\treturn false;\n\tpUdtDataItem=pSDSModule->GetDataSymbol(DataIndex);\n\tif(pUdtDataItem==NULL)\n\t\treturn false;\n\tpType = pSDSModule->GetTypeSymbol(pUdtDataItem->TypeId);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type==SD_BASIC)\n\t{\n\t\tBaseTypeID = GetBaseTypeIdByName(pType->uName.Name);\n\t\tReadWriteLen=0;\n\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\t\tif(ReadWriteLen!=pType->TypeSize)\n\t\t\treturn false;\n\t\tswitch(BaseTypeID)\n\t\t{\n\t\tcase btBool:\n\t\t\tif(ValueUnion.boolvalue)\n\t\t\t{\n\t\t\t\tValueUnion.boolvalue=false;\n\t\t\t\tTStrCpy(ValueBuf,\"false\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tValueUnion.boolvalue=true;\n\t\t\t\tTStrCpy(ValueBuf,\"true\");\n\t\t\t}\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->WriteMemory(Address,&ValueUnion,pType->TypeSize);\n\t\t\treturn true;\n\t\tcase btInt1:\n\t\tcase btInt2:\n\t\tcase btInt4:\n\t\tcase btLong:\n\t\tcase btInt8:\n\t\tcase btUint1:\n\t\tcase btUint2:\n\t\tcase btUint4:\n\t\tcase btULong:\n\t\tcase btUint8:\n\t\t\tif(pUdtDataItem->Location==LocIsBitField)\n\t\t\t{\n\t\t\t\tif(pUdtDataItem->u.LOCISBITFIELD.Size!=1)\n\t\t\t\t\tbreak;\t\t\t\t\n\t\t\t\tULONGLONG BitMask=1;\n\t\t\t\tBitMask<<=pUdtDataItem->u.LOCISBITFIELD.Position;\n\t\t\t\tValueUnion.uint64value^=BitMask;\n\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->WriteMemory(Address,&ValueUnion,pType->TypeSize);\n\t\t\t\tif(ValueUnion.uint64value&BitMask)\n\t\t\t\t\tTStrCpy(ValueBuf,\"1\");\n\t\t\t\telse\n\t\t\t\t\tTStrCpy(ValueBuf,\"0\");\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\n\nCTypeViewerWnd::CTypeViewerWnd()\n{\n\tm_hLastItem=NULL;\n}\n\nCTypeViewerWnd::~CTypeViewerWnd()\n{\n}\n\nbool CTypeViewerWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\t//Create(NULL,m_ClientRect,this,CHILD_CMD_TYPELIST,WISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER|WISP_WLS_TREE);\n\tInsertColumn(WSTR(\"Name F2\"),100,WISP_WLCS_EDITABLE);\n\tInsertColumn(WSTR(\"Value\"),400,WISP_WLCS_EDITABLE);\n\tInsertColumn(WSTR(\"Type\"),100);\n\tInsertColumn(WSTR(\"Offset\"),90);\n\tm_SelectBKColor = ColorOption.clrSelectedFrame;\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\n\tm_PopupMenu.CreatePopupMenu(TypeViewerMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hRemoveItem = m_PopupMenu.GetItem(EVENT_ID_TYPEVIEWERWND_DELETE_WATCH);\n\tResetContext();\n\treturn true;\n}\n\nbool CTypeViewerWnd::OnDestroy(IN WISP_MSG* pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nvoid CTypeViewerWnd::ExpandArrayType(HANDLE hItem,bool bIsData)\n{\n\tDWORD Attribute;\n\tDWORD TypeIndex;\n\tDWORD Address;\n\tbool bOK;\n\tTYPE_NAME_ATTR NameAttr;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tTYPE_TYPE_ATTR TypeAttr;\n\tTYPE_ADDRESS_ATTR AddressAttr;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType;\n\tPSDTYPE_INFILE pArrayElementType;\n\tPSDARRAYTYPE pArrayType;\n\tchar Name[20];\n\tDWORD MemoryAddress;\n\tDWORD i;\n\tif(hItem==NULL)\n\t\treturn;\n\tbOK = GetItemDataAll(hItem,&NameAttr,&ValueAttr,&TypeAttr,&AddressAttr);\n\tif(bOK==false)\n\t\treturn;\n\tAttribute = ValueAttr.Attr.Attribute;\n\tpSDSModule = NameAttr.Attr.pSDSModule;\n\tTypeIndex = NameAttr.Attr.TypeIndex;\n\tAddress = ValueAttr.Attr.Address;\n\tMemoryAddress=Address;\n\tif(pSDSModule==NULL||TypeIndex==0)\n\t\treturn;\n\tif(Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\treturn;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\t\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL||pType->Type!=SD_ARRAY)\n\t\treturn;\n\tpArrayType=(PSDARRAYTYPE)&pType[1];\n\tif(pArrayType->DimensionsSize>1)\n\t{\n\t\tpArrayElementType=pSDSModule->GetTypeSymbol(pArrayType->NextArrayID);\n\t}\t\n\telse\n\t{\n\t\tpArrayElementType=pSDSModule->GetTypeSymbol(pArrayType->TypeIDElement);\n\t\tAttribute &= ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\t\tAttribute |= ITEM_ATTRIBUTE_TYPE;\n\t\tfor(i = 0; i < pArrayType->Dimensions[0].Size;i++)\n\t\t{\n\t\t\tTSPrintf(Name,\"[%d]\",i);\n\t\t\tWatchType(pSDSModule,pArrayElementType->Id,MemoryAddress,Attribute,hItem,Name);\n\t\t\tMemoryAddress+=pArrayElementType->TypeSize;\n\t\t}\n\t}\t\n}\nvoid CTypeViewerWnd::AddArrayTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tWCHAR ValueBuf[30];\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr,DataIndex=TypeIndex;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tchar NameBuf[512]={0};\n\tint NameBufLen=sizeof(NameBuf);\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(bIsData)\n\t{\n\t\tDataIndex=TypeIndex;\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\n\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),Address);\n\tpSDSModule->GetSDSymbolName(pType,NameBuf,&NameBufLen);\n\tif(DataMemberName)\n\t\thItem = InsertItemA(DataMemberName,hItem,WISP_WLIS_NORMAL,pIcon);\n\telse\n\t\thItem = InsertItemA(NameBuf,hItem,WISP_WLIS_NORMAL,pIcon);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,NameBuf);\n\tTmpPtr[0]=bIsData?DataIndex:TypeIndex;\n\tTmpPtr[1]=*(DWORD*)&pSDSModule;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NumPtr);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\n\tTmpPtr[0]=Address;\n\tTmpPtr[1]=Attribute&ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tTmpPtr[1]|=(bIsData?ITEM_ATTRIBUTE_DATA:ITEM_ATTRIBUTE_TYPE);\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\t\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\tTmpPtr[0]=TypeIndex;\n\tTmpPtr[1]=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,NumPtr);\t\n\thItem = InsertItem(WSTR(\"..\"),hItem);\n\tTmpPtr[1]|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\t\n}\nvoid CTypeViewerWnd::ExpendVirtualFunctionTable(HANDLE hItem,PWATCH_DATA pWatchData)\n{\n\tWATCH_DATA WatchData;;\n\tDWORD Attribute;\n\tDWORD TypeIndex;\n\tchar NameBuffer[256];\n\tchar FuncNameBuffer[256];\n\tDWORD Address;\n\tconst char*Name;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType,pSubType;\n\tPSDUDTTYPE pUdtType;\n\tHANDLE hSubItem;\n\tPSDUDTVIRTUALTABLE pVTable;\n\tDWORD ReadWriteLen;\n\tDWORD i,j;\n\tBYTE CodeBuf[0x10];\n\tCWispDIB* pIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\tAttribute = pWatchData->Value.Attr.Attribute;\n\tpSDSModule = pWatchData->Name.Attr.pSDSModule;\n\tTypeIndex = pWatchData->Name.Attr.TypeIndex;\n\tAddress = pWatchData->Value.Attr.Address;\n\tif(pSDSModule==NULL || TypeIndex==0)\n\t\treturn;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem =pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpSubType = pSDSModule->GetSymbolByName(\"unsigned int\");\n\tif(pSubType==NULL)\n\t\treturn;\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tpUdtType = (PSDUDTTYPE)&pType[1];\n\tpVTable=pUdtType->pVTable.pVTableMember;\n\tif(pVTable==NULL)\n\t\treturn;\n\tmemset(&WatchData,0,sizeof(WatchData));\n\tfor(i = 0; i < pUdtType->VTableCount;i++)\n\t{\n\t\tif(pVTable[i].VTBaseClassTypeID==TypeIndex)\n\t\t{\n\t\t\tCWispListItemCell*   ListItemCell;\n\t\t\tDWORD dwVTBaseAddress= pSDSModule->m_pCurDbgModule->m_ModuleBase+pVTable[i].VTableRVA;;\n\t\t\tDWORD dwVFAddr;\n\t\t\tHANDLE hChildItem;\n\t\t\thSubItem=InsertItemA(\"__vfptr\",hItem,WISP_WLIS_NORMAL,pIcon);\n\t\t\tListItemCell = GetItemCell(hSubItem,LIST_COLUMN_TYPE);\t\t\t\t\n\t\t\tName = pSDSModule->m_pCurDbgModule->GetSymbol(dwVTBaseAddress);\t\t\t\n\t\t\tWatchData.Name.Attr.TypeIndex=pSubType->Id;\n\t\t\tWatchData.Name.Attr.pSDSModule=pSDSModule;\n\t\t\tWatchData.Value.Attr.Address=(DWORD)&ListItemCell->Data;//  pSDSModule->m_pCurDbgModule->m_ModuleBase+pVTable[i].VTableRVA;\n\t\t\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_TYPE;\n\t\t\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_VFTABLE;\n\t\t\tWatchData.Type.VFTable.Address=dwVTBaseAddress;\n\t\t\tTSPrintf(NameBuffer,\"0x%08x  %s\",dwVTBaseAddress,Name==NULL?\"\":Name);\n\t\t\tSetItemTextA(hSubItem,LIST_COLUMN_VALUE,NameBuffer);\n\t\t\tSetItemData(hSubItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\t\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\t\t\tSetItemData(hSubItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\t\t\tSetItemTextA(hSubItem,LIST_COLUMN_TYPE,\"*\");\n\t\t\t\n\t\t\tfor(j=0;j<pVTable[i].VTableSize / sizeof(DWORD);j++,dwVTBaseAddress+=4)\n\t\t\t{\n\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(dwVTBaseAddress,&dwVFAddr,4);\n\t\t\t\tif(ReadWriteLen!=4)\n\t\t\t\t\tbreak;\n\t\t\t\tif(dwVFAddr==0)\n\t\t\t\t\tbreak;\n\t\t\t\tTSPrintf(NameBuffer,\"[0x%x]\",j);\n\t\t\t\thChildItem = InsertItemA(NameBuffer,hSubItem,WISP_WLIS_NORMAL,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*18));\n\t\t\t\t\n\t\t\t\tListItemCell = GetItemCell(hChildItem,LIST_COLUMN_TYPE);\t\t\t\t\n\t\t\t\tName = pSDSModule->m_pCurDbgModule->GetSymbol(dwVFAddr);\t\n\t\t\t\tif(Name==NULL)\n\t\t\t\t{\n\t\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(dwVFAddr,CodeBuf,5);\n\t\t\t\t\tif(ReadWriteLen==5)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(CodeBuf[0]==0xe9)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tDWORD dwDestAddr;\n\t\t\t\t\t\t\tdwDestAddr=dwVFAddr+ *(DWORD*)&CodeBuf[1]+5-pSDSModule->m_pCurDbgModule->m_ModuleBase;\n\t\t\t\t\t\t\tPSDFUNCTIONITEM pFuncItem= pSDSModule->GetFunctionFromRav(dwDestAddr);\n\t\t\t\t\t\t\tNameBuffer[0]=0;\n\t\t\t\t\t\t\tint NameLen=sizeof(FuncNameBuffer);\n\t\t\t\t\t\t\tif(pFuncItem)\n\t\t\t\t\t\t\t{\t\n\t\t\t\t\t\t\t\tName = pSDSModule->GetFunctionName(pFuncItem,FuncNameBuffer,&NameLen);\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//Name=pSDSModule->GetFuncNameByRva(dwDestAddr);\n\t\t\t\t\t\t\t//Name = pSDSModule->m_pCurDbgModule->GetSymbol(dwDestAddr);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tWatchData.Name.Attr.TypeIndex=pSubType->Id;\n\t\t\t\tWatchData.Name.Attr.pSDSModule=pSDSModule;\n\t\t\t\tWatchData.Value.Attr.Address=(DWORD)&ListItemCell->Data;\n\t\t\t\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_TYPE;\n\t\t\t\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_VFTABLE;\n\t\t\t\tWatchData.Type.VFTable.Address=dwVFAddr;\n\t\t\t\tTSPrintf(NameBuffer,\"0x%08x  %s\",WatchData.Type.VFTable.Address,Name==NULL?\"\":Name);\n\t\t\t\tSetItemTextA(hChildItem,LIST_COLUMN_VALUE,NameBuffer);\n\t\t\t\tSetItemData(hChildItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\t\t\t\tSetItemData(hChildItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\t\t\t\tSetItemData(hChildItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\t\t\t\tSetItemTextA(hChildItem,LIST_COLUMN_TYPE,\"*\");\n\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\n}\nvoid CTypeViewerWnd::AddClassVFPTRWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName)\n{\n\tWCHAR ValueBuf[30];\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr,DataIndex=TypeIndex;\n\tPSDTYPE_INFILE pType;\n\tWATCH_DATA WatchData;\n//\tPSDUDTDATAITEM pUdtDataItem;\n\tHANDLE hParent,hNext;\n\tTYPE_NAME_ATTR NameAttr;\n\tchar NameBuf[512]={0};\n\tint NameBufLen=sizeof(NameBuf);\n\tif(pSDSModule==NULL)\n\t\treturn;\n\t\n\thParent = hNext = hItem;\n\twhile(hParent!=NULL)\n\t{\n\t\thParent = GetParentItem(hNext);\n\t\tif(hParent==NULL)\n\t\t\tbreak;\n\t\thNext = hParent;\n\t}\n\tif(hNext==NULL)\n\t\treturn;\n\tNameAttr.ItemData = GetItemData(hNext);\n\tmemset(&WatchData,0,sizeof(WatchData));\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),Address);\n\tpSDSModule->GetSDSymbolName(pType,NameBuf,&NameBufLen);\n\tif(DataMemberName)\n\t\thItem = InsertItemA(DataMemberName,hItem);\n\telse\n\t\thItem = InsertItemA(NameBuf,hItem);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,NameBuf);\n\tTmpPtr[0]=TypeIndex;\n\tTmpPtr[1]=*(DWORD*)&pSDSModule;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NumPtr);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\tTmpPtr[0]=Address;TmpPtr[1]=Attribute|ITEM_ATTRIBUTE_TYPE;\n\tTmpPtr[1]&=(~ITEM_ATTRIBUTE_DATA);\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\t\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\tTmpPtr[0]=TypeIndex;\n\tTmpPtr[1]=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,NumPtr);\t\n\thItem = InsertItem(WSTR(\"..\"),hItem);\n\tTmpPtr[1]|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\t\n}\n\nvoid CTypeViewerWnd::AddEnumerationTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tVALUEUNION ValueUnion;\n\tWCHAR ValueBuf[30]={0};\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr,DataIndex=TypeIndex;\n\tPSDTYPE_INFILE pType,pTmpType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDENUMERATIONTYPE pEnumType;\n\tchar NameBuf[512]={0};\n\tchar* EnumElementName=NULL;\n\tint NameBufLen=sizeof(NameBuf);\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(bIsData)\n\t{\n\t\tDataIndex=TypeIndex;\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL||pType->Type!=SD_ENUMERATION)\n\t\treturn;\n\tpEnumType=(PSDENUMERATIONTYPE)&pType[1];\n\t\n\tTSPrintf(ValueBuf,WSTR(\"%08x\"),Address);\n\tpSDSModule->GetSDSymbolName(pType,NameBuf,&NameBufLen);\n\tif(DataMemberName)\n\t\thItem = InsertItemA(DataMemberName,hItem);\n\telse\n\t\thItem = InsertItemA(NameBuf,hItem);\n\tTmpPtr[0]=bIsData?DataIndex:TypeIndex;\n\tTmpPtr[1]=*(DWORD*)&pSDSModule;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NumPtr);\n\t//SetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\tif(bIsData)\n\t{\n\t\tTmpPtr[0]=Address;TmpPtr[1]=Attribute|ITEM_ATTRIBUTE_TYPE;\n\t\tTmpPtr[1]&=(~ITEM_ATTRIBUTE_DATA);\n\t}\n\telse\n\t{\n\t\tTmpPtr[0]=Address;TmpPtr[1]=Attribute|ITEM_ATTRIBUTE_DATA;\n\t\tTmpPtr[1]&=(~ITEM_ATTRIBUTE_TYPE);\n\t}\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\n\tTmpPtr[0]=TypeIndex;\n\tTmpPtr[1]=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,NumPtr);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,NameBuf);\n\tpTmpType = pSDSModule->GetTypeSymbol(pEnumType->TypeID);\n\t\n\tif(GetBasicTypeValue(pSDSModule,pTmpType,Address,Attribute,ValueBuf,&ValueUnion))\n\t{\n\t\tEnumElementName = pSDSModule->GetEnumerationByValue(TypeIndex,ValueUnion.uint64value);\t\t\n\t}\n\tif(EnumElementName)\n\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,EnumElementName);\n\telse\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address);\n\n}\nvoid CTypeViewerWnd::AddPointerTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tWCHAR ValueBuf[30];\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tVALUEUNION ValueUnion;\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr,ReadWriteLen;\n\tPSDTYPE_INFILE pType,pElementType;\n\tPSDPOINTERTYPE pPointerType;\n\tTYPE_TYPE_ATTR TypeAddr;\n\tbool voidpointer=false;\n\tDWORD DataIndex;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tchar NameBuf[512]={0};\n\tint NameBufLen=sizeof(NameBuf);\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\n\tTypeAddr.ItemData=0;\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(bIsData)\n\t{\n\t\tDataIndex=TypeIndex;\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\n\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\t\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL||pType->Type!=SD_POINTER)\n\t\treturn;\n\tpPointerType = (PSDPOINTERTYPE)&pType[1];\n\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\tif(ReadWriteLen==pType->TypeSize &&ReadWriteLen)\n\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),ValueUnion.uintvalue);\n\telse\n\t\tTStrCpy(ValueBuf,UndefineValue);\n\n\tpElementType = pSDSModule->GetTypeSymbol(pPointerType->TypeID);\n\tpSDSModule->GetSDSymbolName(pType,NameBuf,&NameBufLen);\n\tvoidpointer = (TStrCmp(NameBuf,\"void*\")==0);\n\tif(pElementType->Type==SD_FUNCTIONTYPE)\n\t\tvoidpointer=true;\n\tNameBuf[0]=0;\n\tpSDSModule->GetSDSymbolName(pType,NameBuf,&NameBufLen);\n\tif(DataMemberName)\n\t\thItem = InsertItemA(DataMemberName,hItem,WISP_WLIS_NORMAL,pIcon);\n\telse\n\t\thItem = InsertItemA(NameBuf,hItem,WISP_WLIS_NORMAL,pIcon);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,NameBuf);\n\tTypeAddr.ValueUnion = ValueUnion;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAddr.ItemData);\n\tTmpPtr = (DWORD*)&NumPtr;\n\tTmpPtr[0] = bIsData?DataIndex:TypeIndex;\n\tTmpPtr[1]=*(DWORD*)&pSDSModule;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NumPtr);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,ValueBuf);\n\tTmpPtr[0]=Address;\n\tTmpPtr[1]=Attribute& ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tTmpPtr[1]|=(bIsData?ITEM_ATTRIBUTE_DATA:ITEM_ATTRIBUTE_TYPE);\n\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\n\t\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x \"));\n\tTypeAddr.ItemData=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAddr.ItemData);\n\tif(pElementType->Type==SD_BASIC && pElementType->TypeSize == 1)\n\t{\n\t\tTSPrintf(NameBuf,\"0x%08x \\\"\",ValueUnion.uintvalue);\n\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(ValueUnion.uintvalue,&NameBuf[12],sizeof(NameBuf)-15);\n\t\tfor(DWORD i = 0; i < ReadWriteLen;i++)\n\t\t{\n\t\t\tif(NameBuf[i+12]!=0)continue;\t\n\t\t\tNameBuf[i+12]='\"';NameBuf[i+13]=0;\n\t\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,NameBuf);\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(voidpointer==false)\n\t{\n\t\thItem = InsertItem(WSTR(\"..\"),hItem);\n\t\tTmpPtr[1]|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\tSetItemData(hItem,LIST_COLUMN_VALUE,NumPtr);\n\t}\n\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,NameBuf);\n\tTmpPtr[0]=TypeIndex;\n\tTmpPtr[1]=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,NumPtr);\n}\n\nvoid CTypeViewerWnd::WatchType(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName)\n{\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr;\n\tPSDTYPE_INFILE pType;\n\tbool bInsertItem=true;\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tif(hItem==NULL)\n\t{\n\t\tRemoveItem(m_hLastItem);\n\t\tm_hLastItem=NULL;\n\t}\n\tswitch(pType->Type) {\n\tcase SD_STRUCT:\n\tcase SD_UNION:\n\tcase SD_CLASS:\n\t\tAddUdtTypeWatch(pSDSModule,TypeIndex,Address,Attribute,hItem,DataMemberName);\n\t\tbreak;\n\tcase SD_BASIC:\n\t\tAddBasicTypeWatch(pSDSModule,TypeIndex,Address,Attribute,hItem,DataMemberName);\n\t\tbreak;\n\tcase SD_POINTER:\n\t\tAddPointerTypeWatch(pSDSModule,TypeIndex,Address,Attribute,hItem,DataMemberName);\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\tAddArrayTypeWatch(pSDSModule,TypeIndex,Address,Attribute,hItem,DataMemberName);\n\t\tbreak;\n\tcase SD_ENUMERATION:\n\t\tAddEnumerationTypeWatch(pSDSModule,TypeIndex,Address,Attribute,hItem,DataMemberName);\n\t\tbreak;\n\t}\t\n}\nvoid CTypeViewerWnd::AddBaseClassTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tchar Buf[256];\n\tchar* pStr=Buf;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD Len,DataIndex;\n\tWATCH_DATA WatchData;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tDWORD OldAttribute=Attribute;\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\n\tif(bIsData)\n\t{\n\t\tDataIndex=TypeIndex;\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\n\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\n\t\tTypeIndex = pUdtDataItem->TypeId;\n\t\tif(DataMemberName==NULL)\n\t\t\tDataMemberName=pUdtDataItem->uName.Name;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tif(pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT&&pType->Type!=SD_CLASS)\n\t\treturn;\n\tLen = TStrLen(pType->uName.Name)+9;\n\tif(Len > sizeof(Buf)/sizeof(Buf[0]))\n\t\tpStr=new char[Len];\n\tpStr[0]=0;\n\tswitch(pType->Type) {\n\t\tcase SD_CLASS:\n\t\t\tTSPrintf(pStr,\"class %s\",pType->uName.Name);\n\t\t\tbreak;\n\t\tcase SD_STRUCT:\n\t\t\tTSPrintf(pStr,\"struct %s\",pType->uName.Name);\n\t\t\tbreak;\n\t\tcase SD_UNION:\n\t\t\tTSPrintf(pStr,\"union %s\",pType->uName.Name);\n\t\t\tbreak;\n\t}\n\thItem = InsertItemA(pType->uName.Name,hItem);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pType->uName.Name);\n\tif(DataMemberName)\n\t\tSetItemTextA(hItem,LIST_COLUMN_NAME,DataMemberName);\n\tWatchData.Name.Attr.pSDSModule = pSDSModule;\n\tWatchData.Name.Attr.TypeIndex = bIsData ? DataIndex:TypeIndex;\t\n\tSetItemData(hItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,WSTR(\"{...}\"));\n\tWatchData.Type.ItemData=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\tWatchData.Value.Attr.Address = Address;\n\tAttribute = Attribute & ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tAttribute |= bIsData ? ITEM_ATTRIBUTE_DATA : ITEM_ATTRIBUTE_TYPE;\t\n\tWatchData.Value.Attr.Attribute=Attribute;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\thItem = InsertItem(WSTR(\"..\"),hItem);\n\tValueAttr.Attr.Address=0;\n\tValueAttr.Attr.Attribute = OldAttribute | ITEM_ATTRIBUTE_UNINITIALIZE;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\tif(pStr!=Buf)\n\t\tdelete pStr;\n}\nvoid CTypeViewerWnd::AddUdtTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tchar Buf[256];\n\tchar* pStr=Buf;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD Len,DataIndex;\n\tWATCH_DATA WatchData;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tDWORD OldAttribute=Attribute;\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\n\tif(bIsData)\n\t{\n\t\tDataIndex=TypeIndex;\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\n\t\tTypeIndex = pUdtDataItem->TypeId;\n\t\tif(DataMemberName==NULL)\n\t\t\tDataMemberName=pUdtDataItem->uName.Name;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tif(pType->Type!=SD_CLASS&&pType->Type!=SD_STRUCT&&pType->Type!=SD_CLASS)\n\t\treturn;\n\tLen = TStrLen(pType->uName.Name)+9;\n\tif(Len > sizeof(Buf)/sizeof(Buf[0]))\n\t\tpStr=new char[Len];\n\tpStr[0]=0;\n\tswitch(pType->Type) {\n\t\tcase SD_CLASS:\n\t\t\tTSPrintf(pStr,\"class %s\",pType->uName.Name);\n\t\t\tbreak;\n\t\tcase SD_STRUCT:\n\t\t\tTSPrintf(pStr,\"struct %s\",pType->uName.Name);\n\t\t\tbreak;\n\t\tcase SD_UNION:\n\t\t\tTSPrintf(pStr,\"union %s\",pType->uName.Name);\n\t\t\tbreak;\n\t}\n\thItem = InsertItemA(pType->uName.Name,hItem);\n\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pType->uName.Name);\n\tif(DataMemberName)\n\t\tSetItemTextA(hItem,LIST_COLUMN_NAME,DataMemberName);\n\tWatchData.Name.Attr.pSDSModule = pSDSModule;\n\tWatchData.Name.Attr.TypeIndex = bIsData ? DataIndex:TypeIndex;\t\n\tSetItemData(hItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,WSTR(\"{...}\"));\n\tWatchData.Type.ItemData=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\tWatchData.Value.Attr.Address = Address;\n\tAttribute = Attribute & ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tAttribute |= bIsData ? ITEM_ATTRIBUTE_DATA : ITEM_ATTRIBUTE_TYPE;\t\n\tWatchData.Value.Attr.Attribute=Attribute;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\thItem = InsertItem(WSTR(\"..\"),hItem);\n\tValueAttr.Attr.Address=0;\n\tValueAttr.Attr.Attribute = OldAttribute | ITEM_ATTRIBUTE_UNINITIALIZE;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\tif(pStr!=Buf)\n\t\tdelete pStr;\n}\nvoid CTypeViewerWnd::RemoveTypeAttachByAddress(DWORD Address)\n{\n\n}\nvoid CTypeViewerWnd::ModifyTypeAttachAddress(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address)\n{\n\n}\nbool CTypeViewerWnd::ChangeValue(HANDLE hItem)\n{\t\n\tVALUEUNION ValueUnion;\n\tPVALUEUNION pValue;\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDREFERENCETYPE pReferenceType;\n\tDWORD BaseTypeID,ReadWriteLen,TypeIndex;\n\tNUM_PTR NumPtr;\n\tWATCH_DATA WatchData;\n\tDWORD Attribute;\n\tDWORD Address,i;\n\tbool bOK=false;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr;\n\tWCHAR* szText;\n\tmemset(&WatchData,0,sizeof(WatchData));\n\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\treturn false;\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tAddress = WatchData.Value.Attr.Address;\t\n\tif(pSDSModule==NULL || Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\treturn false;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tszText=GetItemText(hItem,LIST_COLUMN_VALUE);\t\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\tmemset(&ValueUnion,0,sizeof(ValueUnion));\n\tif(pType->Type==SD_BASIC)\n\t{\nlocal_001:\n\t\tBaseTypeID = GetBaseTypeIdByName(pType->uName.Name);\n\t\tReadWriteLen=0;\n\t\t\n\t\tswitch(BaseTypeID)\n\t\t{\n\t\tcase btBool:\n\t\tcase btInt1:\n\t\tcase btInt2:\n\t\tcase btInt4:\n\t\tcase btLong:\n\t\tcase btInt8:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\tbOK = SHexStrToNum(szText,&ValueUnion.int64value);\n\t\t\telse\n\t\t\t\tbOK = SDecStrToNum(szText,&ValueUnion.int64value);\n\t\t\tbreak;\n\t\tcase btUint1:\n\t\tcase btUint2:\n\t\tcase btUint4:\n\t\tcase btULong:\n\t\tcase btUint8:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\tbOK = SHexStrToNum(szText,&ValueUnion.uint64value);\n\t\t\telse\n\t\t\t\tbOK = SDecStrToNum(szText,&ValueUnion.uint64value);\n\t\t\tbreak;\n\t\t}\n\t\tpValue=bOK?&ValueUnion:NULL;\n\t\tif(bOK)\n\t\t{\t\t\t\n\t\t\tModifyDataValue(Address,pSDSModule,TypeIndex,ValueUnion);\t\t\t\n\t\t}\n\t}\n\telse if(pType->Type==SD_POINTER)\n\t{\t\t\n\t\tfor(i=0; szText[i];i++)\n\t\t{\n\t\t\tif(szText[i]=='x' || szText[i]=='X')\n\t\t\t{\n\t\t\t\ti++;\n\t\t\t\tszText+=i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tbOK = SHexStrToNum(szText,&ValueUnion.uint64value);\n\t\tif(bOK)\n\t\t\tModifyDataValue(Address,pSDSModule,TypeIndex,ValueUnion);\n\t}\n\telse if(pType->Type==SD_REFERENCE)\n\t{\n\t\tPSDTYPE_INFILE pSubType;\n\t\tDWORD dwAddress  ;\n\t\tpReferenceType = (PSDREFERENCETYPE)&pType[1];\n\t\tpSubType = pSDSModule->GetTypeSymbol(pReferenceType->TypeID);\n\t\tif(pSubType)\n\t\t{\n\t\t\tif(pSubType->Type==SD_BASIC)\n\t\t\t{\n\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&dwAddress,4);\n\t\t\t\tif(ReadWriteLen==4)\n\t\t\t\t{\n\t\t\t\t\tAddress = dwAddress;\n\t\t\t\t\tTypeIndex = pReferenceType->TypeID;\n\t\t\t\t\tpType=pSubType;\n\t\t\t\t\tgoto local_001;\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t}\n\n\treturn bOK;\n}\n\nbool CTypeViewerWnd::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tHANDLE hFirstItem;\n\tif(hItem==m_hLastItem)\n\t{\n\t\tif(String.Length())\n\t\t{\n#ifdef CODE_OS_NT_DRV\t\t\t\n\t\t\tunsigned char Buf[] =\n\t\t\t{\n\t\t\t\t0x0F, 0x34, 0x28, 0x3F, 0x3D, 0x33, 0x29, 0x2E, 0x3F, 0x28, 0x7A, 0x2C, 0x3F, 0x28, 0x29, 0x33, \n\t\t\t\t\t0x35, 0x34, 0x7A, 0x36, 0x33, 0x37, 0x33, 0x2E, 0x3F, 0x3E, 0x00\n\t\t\t} ;\n\t\t\tunsigned char Buf1[] =\n\t\t\t{\n\t\t\t\t0x09, 0x2E, 0x2F, 0x3E, 0x3F, 0x34, 0x2E, 0x7A, 0x2C, 0x3F, 0x28, 0x29, 0x33, 0x35, 0x34, 0x7A, \n\t\t\t\t\t0x36, 0x33, 0x37, 0x33, 0x2E, 0x3F, 0x3E, 0x00\n\t\t\t} ;\n\t\t\tunsigned char Buf2[] =\n\t\t\t{\n\t\t\t\t0x0D, 0x3B, 0x28, 0x34, 0x33, 0x34, 0x3D, 0x00\n\t\t\t} ;\n\t\t\tWCHAR DisplayBuf[100];\n\t\t\tWCHAR DisplayBuf1[100];\n\t\t\tWCHAR DisplayBuf2[100];\n\t\t\tint i;\n\t\t\tfor(i=0;Buf[i];i++)\n\t\t\t{\n\t\t\t\tBuf[i]^=0x5a;\n\t\t\t\tDisplayBuf[i]=Buf[i];\n\t\t\t}\n\t\t\tDisplayBuf2[i]=0;\n\n\t\t\tfor(i=0;Buf1[i];i++)\n\t\t\t{\n\t\t\t\tBuf[i]^=0x5a;\n\t\t\t\tDisplayBuf1[i]=Buf1[i];\n\t\t\t}\n\t\t\tDisplayBuf2[i]=0;\n\n\t\t\tfor(i=0;Buf2[i];i++)\n\t\t\t{\n\t\t\t\tBuf[i]^=0x5a;\n\t\t\t\tDisplayBuf2[i]=Buf2[i];\n\t\t\t}\n\t\t\tDisplayBuf2[i]=0;\n\n\t\t\t\n\t\t\tif(gpSyser->m_SysInfo.m_bSNPass==false && GetItemCount(NULL,false)>1)\n\t\t\t{\n\t\t\t\tm_pWispBase->MsgBox(DisplayBuf,DisplayBuf2,WISP_MB_OK);\n\t\t\t\treturn false;\n\t\t\t}\n// \t\t\tif(gpSyser->m_SysInfo.m_bSNPass && gpSyser->m_SysInfo.m_SNType==SN_STUDENT && GetItemCount(NULL,false)>3)\n// \t\t\t{\n// \t\t\t\tm_pWispBase->MsgBox(DisplayBuf1,DisplayBuf2,WISP_MB_OK);\n// \t\t\t\treturn false;\n// \t\t\t}\n#endif\n#ifndef  __DEMO__VERSION__\n\t\t\tAddWatchByName((WCHAR*)String);\n#endif\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tif(String.Length()==0)\n\t{\n\t\thFirstItem = GetItem(0);\n\t\tif(GetParentItem(hItem)!=GetParentItem(hFirstItem))\n\t\t\treturn false;\n\t\tRemoveItem(hItem);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\nvoid CTypeViewerWnd::ItemChangedNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(hItem!=m_hLastItem)\n\t{\n\t\tChangeValue(hItem);\n\t\tUpdateContext();\n\t}\n}\nvoid CTypeViewerWnd::ItemExpandedNotify(HANDLE hItem)\n{\n\tHANDLE hSubItem;\n\tCSDSModule* pSDSModule;\n\tDWORD Address,Attribute,TypeIndex;\n\tWCHAR* SubName;\n\tTYPE_NAME_ATTR NameAttr;\n\tTYPE_VALUE_ATTR ValueAttr;\n\n\tNameAttr.ItemData =  GetItemData(hItem,LIST_COLUMN_NAME);\t\n\tTypeIndex = NameAttr.Attr.TypeIndex;\n\tpSDSModule = NameAttr.Attr.pSDSModule;\n\tValueAttr.ItemData=GetItemData(hItem,LIST_COLUMN_VALUE);\n\tAddress = ValueAttr.Attr.Address;\n\tAttribute = ValueAttr.Attr.Attribute;\n\thSubItem = GetItem(0,hItem);\n\tSubName = GetItemText(hSubItem,LIST_COLUMN_NAME);\n\tif(TStrCmp(SubName,\"..\")==0)\n\t{\n\t\tClearChildItem(hItem);\n\t\tExpandType(hItem);\n\t\tExpandItem(hItem);\n\t}\n}\nbool CTypeViewerWnd::OnViewerCmd(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem,hSubItem;\n\tCSDSModule* pSDSModule;\n\tDWORD Address,Attribute,TypeIndex;\n\tWCHAR* SubName;\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr;\n\thItem=(HANDLE)pMsg->Command.Param2;\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_CHANGED:\n\t\t{\n\t\t\tCODE_ASSERT(hItem!=NULL)\n\t\t\tChangeValue(hItem);\n\t\t\tUpdateContext();\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_ITEM_SELECTED:\n\t\tbreak;\n\tcase WISP_CMD_ITEM_EXPANDED:\n\t\thItem=(HANDLE)pMsg->Command.Param2;\n\t\tNumPtr = GetItemData(hItem,LIST_COLUMN_NAME);\n\t\tTypeIndex = TmpPtr[0];\n\t\tpSDSModule = *(CSDSModule**)&TmpPtr[1];\n\t\tNumPtr=GetItemData(hItem,LIST_COLUMN_VALUE);\n\t\tAddress = TmpPtr[0];\n\t\tAttribute = TmpPtr[1];\n\t\thSubItem = GetItem(0,hItem);\n\t\tSubName = GetItemText(hSubItem,LIST_COLUMN_NAME);\n\t\tif(TStrCmp(SubName,\"..\")==0)\n\t\t{\n\t\t\tClearChildItem(hItem);\n\t\t\tExpandType(hItem);\n\t\t}\n\t\tbreak;\n\t}\n\treturn true;\n}\nbool CTypeViewerWnd::ModifyDataValue(DWORD Address,CSDSModule* pSDSModule,DWORD TypeIndex,VALUEUNION ValueUnion)\n{\n\tPSDTYPE_INFILE pType;\n\tDWORD ReadWriteLen=0;\n\n\tif(pSDSModule==NULL || TypeIndex==0)\n\t\treturn false;;\n\t\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->Type==SD_BASIC||pType->Type==SD_POINTER)\n\t{\n\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->WriteMemory(Address,&ValueUnion,pType->TypeSize);\t\n\t}\n\treturn ReadWriteLen==pType->TypeSize;\n}\nWCHAR* CTypeViewerWnd::GetTypeValue(DWORD Address,CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Attribute,WCHAR* ValueBuf,DWORD BufLen,PVALUEUNION pDefValue)\n{\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tVALUEUNION ValueUnion;\n\tULONGLONG BitMask=1;\n\tPSDTYPE_INFILE pType;\n\tDWORD BaseTypeID,ReadWriteLen;\n\t\n\tValueBuf[0]=0;\n\tif(pSDSModule==NULL)\n\t\treturn ValueBuf;\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn ValueBuf;\n\tif(pType->Type==SD_POINTER)\n\t{\n\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\t\tif(ReadWriteLen==pType->TypeSize&&ReadWriteLen)\n\t\t{\n\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),ValueUnion.uintvalue);\n\t\t}\n\t}\n\tif(pType->Type==SD_BASIC)\n\t{\n\t\tBaseTypeID = GetBaseTypeIdByName(pType->uName.Name);\n\t\tReadWriteLen=0;\n\t\tif(pDefValue)\n\t\t{\n\t\t\tValueUnion=*pDefValue;\n\t\t\tReadWriteLen=pType->TypeSize;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\t\t}\n\t\tif(ReadWriteLen==pType->TypeSize&&ReadWriteLen)\n\t\t{\n\t\t\tswitch(BaseTypeID)\n\t\t\t{\n\t\t\tcase btChar:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%c\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btBool:\n\t\t\t\tif(ValueUnion.boolvalue)\n\t\t\t\t\tTStrCpy(ValueBuf,\"true\");\n\t\t\t\telse\n\t\t\t\t\tTStrCpy(ValueBuf,\"false\");\n\t\t\t\tbreak;\n\t\t\tcase btInt1:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt2:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.shortvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.shortvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt4:\n\t\t\tcase btLong:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.intvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.intvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt8:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),ValueUnion.int64value);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64d\"),ValueUnion.int64value);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint1:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.ucharvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.ucharvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint2:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.ushortvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.ushortvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint4:\n\t\t\tcase btULong:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.uintvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.uintvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint8:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),ValueUnion.uint64value);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64u\"),ValueUnion.uint64value);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btFloat:\n\t\t\tcase btDouble:\n\t\t\tdefault:\n\t\t\t\tTStrCpy(ValueBuf,UndefineValue);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpy(ValueBuf,UndefineValue);\n\t\t}\n\t}\n\treturn ValueBuf;\n}\nWCHAR* CTypeViewerWnd::GetDataValue(DWORD Address,CSDSModule* pSDSModule,DWORD DataIndex,DWORD Attribute,WCHAR* ValueBuf,DWORD BufLen,PVALUEUNION pDefValue)\n{\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tVALUEUNION ValueUnion;\n\tULONGLONG BitMask=1;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD BaseTypeID,ReadWriteLen;\n\tDWORD MaxBitCount;\n\tValueBuf[0]=0;\n\tif(pSDSModule==NULL)\n\t\treturn ValueBuf;\n\tpUdtDataItem=pSDSModule->GetDataSymbol(DataIndex);\n\tif(pUdtDataItem==NULL)\n\t\treturn ValueBuf;\n\tpType = pSDSModule->GetTypeSymbol(pUdtDataItem->TypeId);\n\tif(pType==NULL)\n\t\treturn ValueBuf;\n\tif(pType->Type==SD_BASIC)\n\t{\n\t\tBaseTypeID = GetBaseTypeIdByName(pType->uName.Name);\n\t\tReadWriteLen=0;\n\t\tif(pDefValue)\n\t\t{\n\t\t\tValueUnion=*pDefValue;\n\t\t\tReadWriteLen=pType->TypeSize;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\t\t}\n\t\tif(ReadWriteLen==pType->TypeSize&&ReadWriteLen)\n\t\t{\n\t\t\tif(pUdtDataItem->Location==LocIsBitField)\n\t\t\t{\n\t\t\t\tMaxBitCount = (pType->TypeSize*8);\n\t\t\t\tValueUnion.uint64value>>=pUdtDataItem->u.LOCISBITFIELD.Position;\n\t\t\t\tfor(DWORD i = 1; i < pUdtDataItem->u.LOCISBITFIELD.Size;i++)\n\t\t\t\t{\n\t\t\t\t\tBitMask<<=1;\n\t\t\t\t\tBitMask|=1;\n\t\t\t\t}\n\t\t\t\tValueUnion.uint64value&=BitMask;\n\t\t\t}\n\t\t\tswitch(BaseTypeID)\n\t\t\t{\n\t\t\tcase btChar:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%c\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btBool:\n\t\t\t\tif(ValueUnion.boolvalue)\n\t\t\t\t\tTStrCpy(ValueBuf,\"true\");\n\t\t\t\telse\n\t\t\t\t\tTStrCpy(ValueBuf,\"false\");\n\t\t\t\tbreak;\n\t\t\tcase btInt1:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.charvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt2:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.shortvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.shortvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt4:\n\t\t\tcase btLong:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.intvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),ValueUnion.intvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btInt8:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),ValueUnion.int64value);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64d\"),ValueUnion.int64value);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint1:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.ucharvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.ucharvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint2:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.ushortvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.ushortvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint4:\n\t\t\tcase btULong:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),ValueUnion.uintvalue);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),ValueUnion.uintvalue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btUint8:\n\t\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),ValueUnion.uint64value);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64u\"),ValueUnion.uint64value);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase btFloat:\n\t\t\tcase btDouble:\n\t\t\tdefault:\n\t\t\t\tTStrCpy(ValueBuf,UndefineValue);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpy(ValueBuf,UndefineValue);\n\t\t}\n\t}\n\treturn ValueBuf;\n}\nvoid CTypeViewerWnd::ExpandUDTType(HANDLE hItem,PWATCH_DATA pWatchData)\n{\n\tPSDTYPE_INFILE pBaseClassType;\n\tPSDUDTBASECLASS pUdtBaseClassType;\n\tDWORD *pBaseClassIndex;\n\tDWORD Attribute;\n\tDWORD TypeIndex;\n\tDWORD Address;\n\tTYPE_NAME_ATTR NameAttr;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tTYPE_TYPE_ATTR TypeAttr;\n\tTYPE_ADDRESS_ATTR AddressAttr;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType;\t\t\n\tPSDTYPE_INFILE pDataType;\n\tPSDUDTTYPE pUdtType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tNUM_PTR NumPtr; \n\tbool bBitFirst=false;\n\tDWORD *pDataIndex,MemberAddress,i,BitFieldBaseTypeId=0,BitFieldCount=0,PrevMemberEndAddr,*TmpPtr=(DWORD*)&NumPtr;\n\n\tif(hItem==NULL)\n\t\treturn;\n\tNameAttr = pWatchData->Name;\n\tValueAttr = pWatchData->Value;\n\tTypeAttr = pWatchData->Type;\n\tAddressAttr = pWatchData->Address;\n\n\tAttribute = ValueAttr.Attr.Attribute;\n\tpSDSModule = NameAttr.Attr.pSDSModule;\n\tTypeIndex = NameAttr.Attr.TypeIndex;\n\tAddress = ValueAttr.Attr.Address;\n\tPrevMemberEndAddr=Address;\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem=pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\t\n\tpUdtType =(PSDUDTTYPE)&pType[1];\t\n\t\n\tif(pUdtType->BaseClassCounter==0 && pUdtType->HasVirtualTable)\n\t{\t\t\n\t\tExpendVirtualFunctionTable(hItem,pWatchData);\n\t}\n\t\n\tpBaseClassIndex = pUdtType->pBaseClass.pBaseClassMember;\n\tfor(i = 0; i < pUdtType->BaseClassCounter;i++)\n\t{\n\t\tpBaseClassType = pSDSModule->GetTypeSymbol(pBaseClassIndex[i]);\n\t\tpUdtBaseClassType = (PSDUDTBASECLASS)&pBaseClassType[1];\n\t\tMemberAddress = Address+pUdtBaseClassType->Offset;\n\t\tAddUdtTypeWatch(pSDSModule,pUdtBaseClassType->TypeID,MemberAddress,Attribute,hItem,NULL,false);\n\t}\n\tpDataIndex = pUdtType->pData.pDataMember;\n\tfor(i = 0; i < pUdtType->DataCounter; i++)\n\t{\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(pDataIndex[i]);\n\t\tpDataType = pSDSModule->GetTypeSymbol(pUdtDataItem->TypeId);\n\t\tswitch(pUdtDataItem->Location) {\n\t\t\tcase LocIsThisRel:\n\t\t\t\tMemberAddress = Address+pUdtDataItem->u.LOCISTHISREL.Offset;\n\t\t\t\tbBitFirst=false;\n\t\t\t\tPrevMemberEndAddr=MemberAddress+pDataType->TypeSize;\n\t\t\t\tbreak;\n\t\t\tcase LocIsStatic:\n\t\t\t\t{\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\tMemberAddress = pSDSModule->m_pCurDbgModule->m_ModuleBase;;\n\t\t\t\t\tMemberAddress += pUdtDataItem->u.LOCISSTATIC.Rva;\n\t\t\t\t\tbBitFirst=false;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase LocIsBitField:\n\t\t\t\tif(bBitFirst==false)\n\t\t\t\t{\n\t\t\t\t\tbBitFirst=true;\n\t\t\t\t\tBitFieldBaseTypeId=pDataType->Id;\n\t\t\t\t\tMemberAddress = PrevMemberEndAddr;\n\t\t\t\t\tBitFieldCount=pUdtDataItem->u.LOCISBITFIELD.Position+pUdtDataItem->u.LOCISBITFIELD.Size;\n\t\t\t\t\tPrevMemberEndAddr+=pDataType->TypeSize;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(BitFieldBaseTypeId!=pDataType->Id||pUdtDataItem->u.LOCISBITFIELD.Position<BitFieldCount)\n\t\t\t\t\t{\n\t\t\t\t\t\tMemberAddress=PrevMemberEndAddr;\n\t\t\t\t\t\tBitFieldBaseTypeId=pDataType->Id;\n\t\t\t\t\t\tPrevMemberEndAddr+=pDataType->TypeSize;\n\t\t\t\t\t\tBitFieldCount=pUdtDataItem->u.LOCISBITFIELD.Position+pUdtDataItem->u.LOCISBITFIELD.Size;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tBitFieldCount+=pUdtDataItem->u.LOCISBITFIELD.Size;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbBitFirst=false;\n\t\t}\t\n\t\tif(pDataType->Type==SD_BASIC)\n\t\t{\n\t\t\tAttribute|=ITEM_ATTRIBUTE_DATA;\n\t\t\tAttribute&=(~ITEM_ATTRIBUTE_TYPE);\t\t\t\n\t\t\tAddBasicTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tswitch(pDataType->Type)\n\t\t\t{\n\t\t\tcase SD_CLASS:\n\t\t\tcase SD_STRUCT:\n\t\t\tcase SD_UNION:\n\t\t\t\tAddUdtTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t\t\tbreak;\n\t\t\tcase SD_POINTER:\n\t\t\t\tAddPointerTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t\t\tbreak;\n\t\t\tcase SD_REFERENCE:\n\t\t\t\tAddPointerTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t\t\tbreak;\n\t\t\tcase SD_ENUMERATION:\n\t\t\t\tAddEnumerationTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t\t\tbreak;\n\t\t\tcase SD_ARRAY:\n\t\t\t\tAddArrayTypeWatch(pSDSModule,pUdtDataItem->DataId,MemberAddress,Attribute,hItem,pUdtDataItem->uName.Name,true);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n}\nvoid CTypeViewerWnd::UnloadSDSModule(CSDSModule*pSDSModule)\n{\n\tHANDLE hItem;\n\tWATCH_DATA WatchData;\n\tTList<HANDLE> DeleteList;\n\tTList<HANDLE>::IT BeginIT,EndIT;\n\thItem = GetNextItem();\n\tfor(;hItem!=m_hLastItem;hItem=GetNextItem(hItem))\n\t{\n\t\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\t\tcontinue;\n\t\tif(pSDSModule == WatchData.Name.Attr.pSDSModule)\n\t\t\tDeleteList.Append(hItem);\t\t\t\n\t}\n\tBeginIT=DeleteList.Begin();\n\tEndIT=DeleteList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\tRemoveItem(*BeginIT);\n}\n\nvoid CTypeViewerWnd::ExpandReferenceType(HANDLE hItem)\n{\n\tVALUEUNION ValueUnion;\n\tDWORD ReadWriteLen,MemberAddress;\n\tPSDREFERENCETYPE pReferenceType;\n\tDWORD Attribute;\n\tDWORD TypeIndex;\n\tDWORD Address;\n\tbool bOK;\n\tWATCH_DATA WatchData;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType;\n\tif(hItem==NULL)\n\t\treturn;\n\tmemset(&WatchData,0,sizeof(VALUEUNION));\n\tbOK = GetItemDataAll(hItem,&WatchData);\n\tif(bOK==false)\n\t\treturn;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\tAddress = WatchData.Value.Attr.Address;\n\tif(pSDSModule==NULL)\n\t\treturn;\t\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t\tpType = GetTypeByDataIndex(pSDSModule,TypeIndex);\t\t\n\telse\n\t\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\n\n\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,4);\n\tMemberAddress=ValueUnion.uintvalue;\n\n\tpReferenceType=(PSDREFERENCETYPE)&pType[1];\n\t\n\tWatchData.Value.Attr.Address=MemberAddress;\n\tWatchData.Name.Attr.TypeIndex = pType->Id;\n\tWatchData.Value.Attr.Attribute &= ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_TYPE;\n\tif(pType)\n\t{\n\t\tswitch(pType->Type)\n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_UNION:\n\t\tcase SD_STRUCT:\n\t\t\tExpandUDTType(hItem,&WatchData);\n\t\t\tbreak;\n\t\tcase SD_BASIC:\n\t\t\tAddBasicTypeWatch(pSDSModule,WatchData.Name.Attr.TypeIndex,MemberAddress,WatchData.Value.Attr.Attribute,hItem,\"\");\n\t\t\tbreak;\n\t\t}\t\t\t\n\t}\t\t\t\t\t\n\t\n}\nvoid CTypeViewerWnd::ExpandPointerType(HANDLE hItem,bool bIsData)\n{\n\tVALUEUNION ValueUnion;\n\tDWORD ReadWriteLen,MemberAddress;\n\tPSDPOINTERTYPE pSDPointerType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD Attribute;\n\tDWORD TypeIndex;\n\tDWORD Address;\n\tbool bOK;\n\tWATCH_DATA WatchData;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType,pSubType;\n\tif(hItem==NULL)\n\t\treturn;\n\tmemset(&WatchData,0,sizeof(VALUEUNION));\n\tbOK = GetItemDataAll(hItem,&WatchData);\n\tif(bOK==false)\n\t\treturn;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\tAddress = WatchData.Value.Attr.Address;\n\tif(pSDSModule==NULL||TypeIndex==0)\n\t\treturn;\t\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\n\t\n\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,&ValueUnion,pType->TypeSize);\n\tMemberAddress=ValueUnion.uintvalue;\n\t\n\tpSDPointerType=(PSDPOINTERTYPE)&pType[1];\n\tif(pSDPointerType->PointerDepth>1)\n\t{\n\t\tWatchType(pSDSModule,pSDPointerType->NextPointer,MemberAddress,Attribute,hItem,\"\");\n\t}\n\telse\n\t{\t\t\n\t\tWatchData.Value.Attr.Address=MemberAddress;\n\t\tWatchData.Name.Attr.TypeIndex = pSDPointerType->TypeID;\n\t\tWatchData.Value.Attr.Attribute &= ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\t\tWatchData.Value.Attr.Attribute |= ITEM_ATTRIBUTE_TYPE;\n\t\tpSubType = pSDSModule->GetTypeSymbol(pSDPointerType->TypeID);\n\t\tif(pSubType)\n\t\t{\n\t\t\tswitch(pSubType->Type)\n\t\t\t{\n\t\t\tcase SD_CLASS:\n\t\t\tcase SD_UNION:\n\t\t\tcase SD_STRUCT:\n\t\t\t\tExpandUDTType(hItem,&WatchData);\n\t\t\t\tbreak;\n\t\t\tcase SD_BASIC:\n\t\t\t\tAddBasicTypeWatch(pSDSModule,WatchData.Name.Attr.TypeIndex,MemberAddress,WatchData.Value.Attr.Attribute,hItem,\"\");\n\t\t\t\tbreak;\n\t\t\t}\t\t\t\n\t\t}\t\t\t\t\t\n\t}\n}\nvoid CTypeViewerWnd::AddBasicTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName,bool bIsData)\n{\n\tNUM_PTR NumPtr;\n\tDWORD *TmpPtr=(DWORD*)&NumPtr,DataIndex;\n\tWCHAR ValueBuf[30]=WSTR(\"????????\");\n\tHANDLE pCurItem;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDTYPE_INFILE pType;\n\tWATCH_DATA WatchData;\n\tVALUEUNION ValueUnion;\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(bIsData)\n\t{\n\t\tDataIndex = TypeIndex;\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(DataIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t\tif(DataMemberName==NULL)\n\t\t\tDataMemberName=pUdtDataItem->uName.Name;\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\n\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tmemset(&WatchData,0,sizeof(WatchData));\n\tAttribute &= ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\tAttribute|= bIsData?ITEM_ATTRIBUTE_DATA:ITEM_ATTRIBUTE_TYPE;\n\tpCurItem = InsertItemA(DataMemberName,hItem,WISP_WLIS_NORMAL,pIcon);\n\tWatchData.Name.Attr.TypeIndex = bIsData?DataIndex:TypeIndex;\n\tWatchData.Name.Attr.pSDSModule = pSDSModule;\t\n\tSetItemData(pCurItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\tWatchData.Value.Attr.Address=Address;\n\tWatchData.Value.Attr.Attribute=Attribute;\t\n\tSetItemData(pCurItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\t\n\tSetItemTextA(pCurItem,LIST_COLUMN_TYPE,pType->uName.Name);\n\tSetItemNum(pCurItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\tGetBasicTypeValue(pSDSModule,pType,Address,Attribute,ValueBuf,&ValueUnion);\n\tWatchData.Type.ValueUnion = ValueUnion;\n\tSetItemData(pCurItem,LIST_COLUMN_TYPE,WatchData.Type.ItemData);\n\tSetItemText(pCurItem,LIST_COLUMN_VALUE,ValueBuf);\n}\n\nbool CTypeViewerWnd::GetBasicTypeValue(CSDSModule* pSDSModule,PSDTYPE_INFILE pType,DWORD Address,DWORD Attribute,WCHAR* ValueBuf,PVALUEUNION pValueUnion)\n{\n\tWCHAR UndefineValue[]=WSTR(\"????????\");\n\tDWORD BaseTypeID,ReadWriteLen;\n\tValueBuf[0]=0;\n\tif(pSDSModule==NULL||pType==NULL)\n\t\treturn false;\n\tif(pType->Type!=SD_BASIC)\n\t\treturn false;\n\tmemset(pValueUnion,0,sizeof(VALUEUNION));\n\tBaseTypeID = GetBaseTypeIdByName(pType->uName.Name);\n\tReadWriteLen=0;\n\tif(pType->TypeSize > 0 && pType->TypeSize <= sizeof(VALUEUNION))\n\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(Address,pValueUnion,pType->TypeSize);\n\tif(ReadWriteLen==pType->TypeSize&&ReadWriteLen)\n\t{\n\t\tswitch(BaseTypeID)\n\t\t{\n\t\tcase btInt1:\n\t\tcase btChar:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tif(pValueUnion->charvalue<0 || pValueUnion->charvalue==0)\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%02x\"),pValueUnion->charvalue);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%02x '%c'\"),pValueUnion->charvalue,pValueUnion->charvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(pValueUnion->charvalue<0||pValueUnion->charvalue==0)\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),pValueUnion->charvalue);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d '%c'\"),pValueUnion->charvalue,pValueUnion->charvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btBool:\n\t\t\tif(pValueUnion->boolvalue)\n\t\t\t\tTStrCpy(ValueBuf,\"true\");\n\t\t\telse\n\t\t\t\tTStrCpy(ValueBuf,\"false\");\n\t\t\tbreak;\t\t\n\t\tcase btInt2:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),pValueUnion->ushortvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),pValueUnion->shortvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btInt4:\n\t\tcase btLong:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),pValueUnion->intvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),pValueUnion->intvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btInt8:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),pValueUnion->int64value);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64d\"),pValueUnion->int64value);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btUint1:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tif(pValueUnion->ucharvalue>0x80||pValueUnion->ucharvalue==0)\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%02x\"),pValueUnion->ucharvalue);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%0x '%c'\"),pValueUnion->ucharvalue,pValueUnion->ucharvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(pValueUnion->ucharvalue>0x80||pValueUnion->ucharvalue==0)\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d\"),pValueUnion->ucharvalue);\n\t\t\t\telse\n\t\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%d '%c'\"),pValueUnion->ucharvalue,pValueUnion->ucharvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btUint2:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%x\"),pValueUnion->ushortvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),pValueUnion->ushortvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btUint4:\n\t\tcase btULong:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%08x\"),pValueUnion->uintvalue);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%u\"),pValueUnion->uintvalue);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btUint8:\n\t\t\tif(Attribute&ITEM_ATTRIBUTE_HEX)\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"0x%I64x\"),pValueUnion->uint64value);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTSPrintf(ValueBuf,WSTR(\"%I64u\"),pValueUnion->uint64value);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase btFloat:\n\t\tcase btDouble:\n\t\tdefault:\n\t\t\tTStrCpy(ValueBuf,UndefineValue);\n\t\t}\n\t}\n\telse\n\t{\n\t\tTStrCpy(ValueBuf,UndefineValue);\n\t}\n\treturn true;\n}\n\nvoid CTypeViewerWnd::ExpandType(HANDLE hItem,bool bIsData)\n{\n\n\tDWORD TypeIndex;\n\tbool bOK;\n\tCSDSModule* pSDSModule;\n\tPSDTYPE_INFILE pType;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tWATCH_DATA WatchData;\n\tif(hItem==NULL)\n\t\treturn;\n\tbOK = GetItemDataAll(hItem,&WatchData);\n\tif(bOK==false)\n\t\treturn;\n\tif(WatchData.Value.Attr.Attribute & ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\treturn;\n\tif(WatchData.Name.Attr.pSDSModule==NULL)\n\t\treturn;\t\t\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\t\n\tpSDSModule = WatchData.Name.Attr.pSDSModule;\n\tif(pSDSModule==NULL)\n\t\treturn;\n\tif(WatchData.Value.Attr.Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUdtDataItem->TypeId;\n\t}\n\tpType=pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\t\n\tswitch(pType->Type) {\n\tcase SD_POINTER:\n\t\tExpandPointerType(hItem,bIsData);\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\tExpandArrayType(hItem,bIsData);\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\tExpandReferenceType(hItem);\n\t\tbreak;\n\tcase SD_ENUMERATION:\n\t\tbreak;\n\tcase SD_STRUCT:\n\tcase SD_CLASS:\n\tcase SD_UNION:\n\t\tExpandUDTType(hItem,&WatchData);\n\t\tbreak;\t\t\n\t}\n}\nvoid CTypeViewerWnd::InsertExpandItem(HANDLE hItem)\n{\n\tDWORD Attribute;\n\tCSDSModule* pSDSModule;\n\tDWORD TypeIndex;\n\tWATCH_DATA WatchData;\n\tPSDUDTDATAITEM pUDTDataItem;\n\tPSDTYPE_INFILE pType;\n\tHANDLE hNextItem,hSubItem;\n\tif(hItem==NULL)\n\t\treturn;\n\thNextItem = GetNextItem(hItem);\n\thSubItem = GetNextListItem(hItem);\n\tif(hSubItem!=hNextItem)\n\t\treturn;\n\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\treturn;\n\tAttribute = WatchData.Value.Attr.Attribute;\n\tpSDSModule=WatchData.Name.Attr.pSDSModule;\n\tTypeIndex = WatchData.Name.Attr.TypeIndex;\n\tif(pSDSModule==NULL||TypeIndex==0)\n\t\treturn;\n\tif(Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUDTDataItem = pSDSModule->GetDataSymbol(TypeIndex);\n\t\tif(pUDTDataItem==NULL)\n\t\t\treturn;\n\t\tTypeIndex=pUDTDataItem->TypeId;\n\t}\n\tpType = pSDSModule->GetTypeSymbol(TypeIndex);\n\tif(pType==NULL)\n\t\treturn;\n\tif(pType->Type==SD_CLASS || pType->Type == SD_STRUCT || pType->Type == SD_UNION)\n\t{\n\t\thSubItem = InsertItemA(\"..\",hItem);\n\t\tmemset(&WatchData,0,sizeof(WatchData));\n\t\tWatchData.Value.Attr.Attribute = ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\tSetItemData(hSubItem,LIST_COLUMN_NAME,WatchData.Name.ItemData);\n\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\t\treturn;\n\t}\n\tif(pType->Type==SD_POINTER||pType->Type==SD_REFERENCE)\n\t{\n\t\t\n\t\t\n\t}\n}\nvoid CTypeViewerWnd::UpdateContext()\n{\n\tHANDLE hItem;\n\tWISP_CHAR wName[512];\n\tchar Name[512];\n\tTYPE_VALUE_ATTR ValueAttr;\n\tWATCH_DATA WatchData;\n\tCSDSModuleMap::IT BeginIT,EndIT;\t\t\n\tCSDSModule* pSDSModule;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tDWORD VariableAddress;\n\thItem = GetItem(0);\n\tfor(;hItem!=m_hLastItem;hItem=GetNextItem(hItem))//ÿڵĵַ\n\t{\n\t\tif(GetItemText(hItem,LIST_COLUMN_NAME,wName,sizeof(wName)/sizeof(wName[0]))==0)\n\t\t{\t\t\t\n\t\t\tcontinue;\n\t\t}\n\t\tTStrCpy(Name,wName);\n\t\tif(GetVariableAddressByName(Name,&VariableAddress,&pUdtDataItem,&pSDSModule)==false)//ûзһûгʼ watch\n\t\t{\n\t\t\tClearChildItem(hItem);\n\t\t\tValueAttr.ItemData = GetItemData(hItem,LIST_COLUMN_VALUE);\n\t\t\tValueAttr.Attr.Attribute |= ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\t\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\t\tTStrCpy(Name,\"Error: symbol \\\"\");\n\t\t\tTStrCat(Name,wName);\n\t\t\tTStrCat(Name,\"\\\" not found\");\n\t\t\t//TSPrintf(wName,WSTR(\"Error: symbol \\\"%s\\\" not found\"),Name);\n\t\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,Name);\n\t\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,\"\");\n\t\t\tcontinue;\n\t\t}\n\t\tif(GetItemDataAll(hItem,&WatchData)==false)\n\t\t\tcontinue;\n\t\tif(WatchData.Value.Attr.Attribute& ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\t{\n\t\t\tAddWatchByName(wName,hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(WatchData.Value.Attr.Attribute & ITEM_ATTRIBUTE_DATA)\n\t\t\t{\n\t\t\t\tif(pUdtDataItem->DataId == WatchData.Name.Attr.TypeIndex)\n\t\t\t\t{\n\t\t\t\t\tif(VariableAddress!=WatchData.Value.Attr.Address)\n\t\t\t\t\t{\n\t\t\t\t\t\tWatchData.Value.Attr.Address=VariableAddress;\n\t\t\t\t\t\tSetItemData(hItem,LIST_COLUMN_VALUE,WatchData.Value.ItemData);\n\t\t\t\t\t}\n\t\t\t\t\t//InsertExpandItem(hItem);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tClearChildItem(hItem);\n\t\t\t\t\tAddWatchByName(wName,hItem);\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\n\t}\t\n\thItem = GetItem(0);\n\tfor(;hItem!=m_hLastItem;hItem=GetNextItem(hItem))//ÿڵĵַ\n\t{\n\t\tUpdateItemContext(hItem,wName,sizeof(wName)/sizeof(wName[0]),0);\n\t}\n}\nvoid CTypeViewerWnd::ResetContext()\n{\n\tClearChildItem();\n\tInsertLastItem();\n\tSelectItem(m_hLastItem);\n}\n\nbool CTypeViewerWnd::GetRegisterValue(DWORD RegisterIndex,DWORD* RegisterValue)\n{\n\tDWORD Index=0;\n\n\tswitch(RegisterIndex)\n\t{\n\tcase CV_REG_EAX:\t\t\n\t\t*RegisterValue=*X86_REG_PTR.pEAX;\n\t\tbreak;\n\tcase CV_REG_ECX:\n\t\t*RegisterValue=*X86_REG_PTR.pECX;\n\t\tbreak;\n\tcase CV_REG_EDX:\n\t\t*RegisterValue=*X86_REG_PTR.pEDX;\n\t\tbreak;\n\tcase CV_REG_EBX:\n\t\t*RegisterValue=*X86_REG_PTR.pEBX;\n\t\tbreak;\n\tcase CV_REG_ESP:\n\t\t*RegisterValue=*X86_REG_PTR.pESP;\n\t\tbreak;\n\tcase CV_REG_EBP:\n\t\t*RegisterValue=*X86_REG_PTR.pEBP;\n\t\tbreak;\n\tcase CV_REG_ESI:\n\t\t*RegisterValue=*X86_REG_PTR.pESI;\n\t\tbreak;\n\tcase CV_REG_EDI:\n\t\t*RegisterValue=*X86_REG_PTR.pEDI;\n\t\tbreak;\n\tdefault:\n\t\treturn false;\n\t}\n\treturn true;\t\n}\nbool CTypeViewerWnd::GetItemDataAll(HANDLE hItem,TYPE_NAME_ATTR* pNameAttr,TYPE_VALUE_ATTR* pValueAttr,TYPE_TYPE_ATTR* pTypeAttr,TYPE_ADDRESS_ATTR* pAddressAttr)\n{\n\tif(hItem==NULL)\n\t\treturn false;\n\tpNameAttr->ItemData=GetItemData(hItem,LIST_COLUMN_NAME);\n\tpValueAttr->ItemData=GetItemData(hItem,LIST_COLUMN_VALUE);\n\tpTypeAttr->ItemData=GetItemData(hItem,LIST_COLUMN_TYPE);\n\tpAddressAttr->ItemData=GetItemData(hItem,LIST_COLUMN_ADDRESS);\n\treturn true;\n}\nbool CTypeViewerWnd::GetItemDataAll(HANDLE hItem,PWATCH_DATA pWatchData)\n{\n\tif(hItem==NULL)\n\t\treturn false;\n\tpWatchData->Name.ItemData=GetItemData(hItem,LIST_COLUMN_NAME);\n\tpWatchData->Value.ItemData=GetItemData(hItem,LIST_COLUMN_VALUE);\n\tpWatchData->Type.ItemData=GetItemData(hItem,LIST_COLUMN_TYPE);\n\tpWatchData->Address.ItemData=GetItemData(hItem,LIST_COLUMN_ADDRESS);\n\treturn true;\n}\nvoid CTypeViewerWnd::InsertLastItem()\n{\t\n\tm_hLastItem = InsertItem((WISP_PCSTR)NULL);\n\tSetItemData(m_hLastItem,LIST_COLUMN_NAME,0);\n\tSetItemData(m_hLastItem,LIST_COLUMN_VALUE,0);\n\tSetItemData(m_hLastItem,LIST_COLUMN_TYPE,0);\n\tSetItemData(m_hLastItem,LIST_COLUMN_ADDRESS,0);\n}\nvoid CTypeViewerWnd::AddWatchByName(char* Name,HANDLE hItem)\n{\n\tWCHAR Buf[256];\n\tWCHAR *NameW=Buf;\n\tint Len;\n\tLen = TStrLen(Name)+1;\n\tif(Len>=sizeof(Buf)/sizeof(Buf[0]))\n\t\tNameW = new WCHAR[Len];\n\tTStrCpy(NameW,Name);\n\tAddWatchByName(NameW,hItem);\n\tif(NameW!=Buf)\n\t\tdelete []NameW;\n}\n\nvoid CTypeViewerWnd::AddWatchByName(WCHAR* Name,HANDLE hItem)\n{\n\tPSDUDTDATAITEM pDataItem;\n\tPSDFUNCTIONITEM pFunItem;\n\tchar NameBuf[256];\n\tchar* pName=NameBuf;\n\tDWORD Address=0;\n\tTYPE_NAME_ATTR NameAttr;\n\tTYPE_VALUE_ATTR ValueAttr;\n\tTYPE_TYPE_ATTR TypeAttr;\n\tTYPE_ADDRESS_ATTR AddressAttr;\n\tCSDSModule* pSdsModule;\n\tWCHAR WarnInfo[]=WSTR(\"Tuvefou!wfstjpo!mjnjufe\");//Unregister version limited\n\tWCHAR Warn[]=WSTR(\"Xbsojoh\");//Warning\n\t\n#ifdef CODE_OS_NT_DRV\n// \tif((gpSyser->m_SysInfo.m_bSNPass==false || gpSyser->m_SysInfo.m_SNType==SN_STUDENT) && GetItemCount(NULL,false)>1)\n// \t{\n// \t\tint nn;\n// \t\tfor(nn=0;WarnInfo[nn];nn++)\n// \t\t\tWarnInfo[nn]--;\n// \t\tfor(nn=0;Warn[nn];nn++)\n// \t\t\tWarn[nn]--;\n// \t\tm_pWispBase->MsgBox(WarnInfo,Warn,WISP_MB_OK);\n// \t\treturn ;\n// \t}\n#endif\n\tif(hItem==NULL)\n\t{\n\t\thItem=m_hLastItem;\n\t\tInsertLastItem();\n\t}\t\n\tAddressAttr.ItemData=0;\n\tNameAttr.Attr.TypeIndex=0;\n\tpSdsModule=NameAttr.Attr.pSDSModule=CUR_SOURCE_SDSMODULE;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NameAttr.ItemData);\n\tSetItemText(hItem,LIST_COLUMN_NAME,Name);\n\tValueAttr.Attr.Address=Address;\n\tValueAttr.Attr.Attribute=ITEM_ATTRIBUTE_DATA|ITEM_ATTRIBUTE_UNINITIALIZE|ITEM_ATTRIBUTE_WATCH_NAME;\n\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\tSetItemText(hItem,LIST_COLUMN_VALUE,WSTR(\"\"));\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address);\n\tif(CUR_SOURCE_SDSMODULE==NULL)\n\t\treturn;\n\tint Len = TStrLen(Name);\n\tif(Len>=sizeof(NameBuf))\n\t{\n\t\tpName= new char[Len+1];\n\t}\n\tTStrCpy(pName,Name);\n\tif(GetVariableAddressByName(pName,&Address,&pDataItem,&pSdsModule)==false)\n\t{\n\t\tif(GetFunctionAddressByName(pName,&Address,&pFunItem,&pSdsModule)==false)\n\t\t\tgoto local_quit;\n\t\tCWispListItemCell*   ListItemCell;\n\t\tNameAttr.Attr.TypeIndex=pFunItem->TypeID;\n\t\tNameAttr.Attr.pSDSModule=pSdsModule;\n\t\tPSDTYPE_INFILE pSubType=pSdsModule->GetTypeSymbol(pFunItem->TypeID);\n\t\tSetItemData(hItem,LIST_COLUMN_NAME,NameAttr.ItemData);\n\t\tTypeAttr.FunctionType.FunctionID=pFunItem->ID;\n\t\tListItemCell = GetItemCell(hItem,LIST_COLUMN_TYPE);\n\t\tTypeAttr.FunctionType.Address=Address;\n\t\tTypeAttr.FunctionType.FunctionID=pFunItem->ID;\n\t\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAttr.ItemData);\n\t\tValueAttr.Attr.Address= (DWORD)&ListItemCell->Data;\n\t\tValueAttr.Attr.Attribute&=(~ITEM_ATTRIBUTE_UNINITIALIZE);\n\t\tValueAttr.Attr.Attribute&=ITEM_ATTRIBUTE_TYPEDATA_MASK;\n\t\tValueAttr.Attr.Attribute|=(ITEM_ATTRIBUTE_TYPE);\n\t\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\t\n\t\tUpdateItemValue(hItem);\n\t\tgoto local_quit;\n\t}\n\tSetItemNum(hItem,LIST_COLUMN_ADDRESS,Address,WSTR(\"0x%08x\"));\n\tNameAttr.Attr.TypeIndex=pDataItem->DataId;\n\tNameAttr.Attr.pSDSModule=pSdsModule;\n\tSetItemData(hItem,LIST_COLUMN_NAME,NameAttr.ItemData);\n\tTypeAttr.ItemData=0;\n\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAttr.ItemData);\t\n\tValueAttr.Attr.Address=Address;\n\tValueAttr.Attr.Attribute&=(~ITEM_ATTRIBUTE_UNINITIALIZE);\n\tSetItemData(hItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\t\n\tUpdateItemValue(hItem);\nlocal_quit:\n\tif(pName!=NameBuf)\n\t\tdelete pName;\n}\n//ǻõǰEIPӦģбĵַǰûȫֱҲûеĻ᷵ʧ\nbool CTypeViewerWnd::GetVariableAddressByName(const char* VariableName,DWORD* VariableAddress,PSDUDTDATAITEM* DataItem,CSDSModule** SDSModule)\n{\n\tDWORD dwEIP,dwRVA;\n\tDWORD Address=0;\t\n\tPSDUDTDATAITEM pDataItem;\n\tDWORD dwModuleBase;\n\tCSDSModule* pSdsModule;\t\n\tPSDFUNCTIONITEM pFunItem;\n\tDWORD RegisterIndex,RegisterValue;\n\t\n\tpSdsModule = gpSyser->m_SyserUI.GetSDSModule(*X86_REG_PTR.pEIP);\n\tif(pSdsModule==NULL)\n\t\treturn false;\n\tdwEIP = *X86_REG_PTR.pEIP;\n\tdwModuleBase = pSdsModule->m_pCurDbgModule->m_ModuleBase;\n\tdwRVA = dwEIP - dwModuleBase;\n\t\n\t//õǰEIPڵĺ\n\tpFunItem = pSdsModule->GetFunctionFromRav(dwRVA);\n\tif(pFunItem==NULL)\n\t{\n\t\t//ǰEIPûжӦȫֱǷƥ\n\t\tpDataItem = pSdsModule->GetDataSymbolByNameAndKind(VariableName,DataIsGlobal);\n\t\tif(pDataItem==NULL)\n\t\t\treturn false;\n\t}\n\telse\t\t\n\t{\n\t\t//ͨںľֲңǳԱҲĳԱ\n\t\tpDataItem = pSdsModule->GetDataSymbolInFunctionByName(VariableName,pFunItem);\n\t\tif(pDataItem==NULL)\n\t\t{\n\t\t\tpDataItem = pSdsModule->GetDataSymbolByNameAndKind(VariableName,DataIsGlobal);\n\t\t\tif(pDataItem==NULL)\n\t\t\t\treturn false;\t\n\t\t}\n\t}\t\n\n\tswitch(pDataItem->Location)\n\t{\n\tcase LocIsRegRel:\n\t\tRegisterIndex = pDataItem->u.LOCISREGREL.Register;\n\t\tif(GetRegisterValue(RegisterIndex,&RegisterValue)==false)\n\t\t\treturn false;\n\t\tAddress=RegisterValue+pDataItem->u.LOCISREGREL.Offset;\n\t\tbreak;\n\tcase LocIsStatic:\n\t\tAddress=pDataItem->u.LOCISSTATIC.Rva;\n\t\tAddress+=dwModuleBase;\n\t\tbreak;\n\tcase LocIsThisRel:\t\n\t\tDWORD ThisPointer;\n\t\tif(GetThisAddressByMemberFunction(pSdsModule,pFunItem,&ThisPointer)==false)\n\t\t\treturn false;\n\t\tAddress=ThisPointer+pDataItem->u.LOCISREGREL.Offset;\n\t\tbreak;\n\tdefault:\n\t\treturn false;\n\t}\n\t*VariableAddress=Address;\n\t*DataItem=pDataItem;\n\t*SDSModule=pSdsModule;\n\treturn true;\n\n}\nbool CTypeViewerWnd::GetFunctionAddressByName(const char* VariableName,DWORD* VariableAddress,PSDFUNCTIONITEM* FunItem,CSDSModule** SDSModule)\n{\n\tDWORD dwEIP,dwRVA;\n\tDWORD Address=0;\t\n\tDWORD dwModuleBase;\n\tCSDSModule* pSdsModule;\t\n\tPSDFUNCTIONITEM pFunItem;\n\tPSDTYPE_INFILE pType;\n\n\tpSdsModule = gpSyser->m_SyserUI.GetSDSModule(*X86_REG_PTR.pEIP);\n\tif(pSdsModule==NULL)\n\t\treturn false;\n\tdwEIP = *X86_REG_PTR.pEIP;\n\tdwModuleBase = pSdsModule->m_pCurDbgModule->m_ModuleBase;\n\tdwRVA = dwEIP - dwModuleBase;\n\n\t//õǰEIPڵĺ\n\tpFunItem = pSdsModule->GetFunctionSymbolByName(VariableName);\n\n\tif(pFunItem==NULL)\n\t{\n\t\tpFunItem = pSdsModule->GetFunctionFromRav(dwRVA);\n\t\tif(pFunItem==NULL||pFunItem->TypeIDParentUDT==0)\n\t\t\treturn false;\t\n\t\tpType=pSdsModule->GetTypeSymbol(pFunItem->TypeIDParentUDT);\t\t\n\t\tpFunItem = pSdsModule->GetUdtClassFuncMemberByName(VariableName,pType);\n\t\tif(pFunItem==NULL)\n\t\t\treturn false;\n\t}\n\t*VariableAddress=dwModuleBase+pFunItem->Rva;\n\t*FunItem=pFunItem;\n\t*SDSModule=pSdsModule;\n\treturn true;\n\n}\n\nbool CTypeViewerWnd::UpdateItemValue(HANDLE hItem)\n{\n\tbool bOK;\n\tHANDLE hSubItem;\n\tWCHAR Buffer[256];\n\tchar FunBuffer[256];\n\tchar *pBuffer=(char*)Buffer;\n\tint Length=sizeof(Buffer);\n\tTYPE_NAME_ATTR NameAttr;\t\n\tTYPE_VALUE_ATTR ValueAttr;\n\tTYPE_TYPE_ATTR TypeAttr;\n\tDWORD ReadWriteLen,TypeIndex;\n\tTYPE_ADDRESS_ATTR AddressAttr;\n\tCSDSModule* pSdsModule;\n\tPSDTYPE_INFILE pType,pSubType;\n\tPSDPOINTERTYPE pPointerType;\n\tPSDREFERENCETYPE pReferenceType;\n\tPSDFUNCTIONITEM pFunItem;\n\tVALUEUNION ValueUnion;\n\tconst char *TypeName;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tCWispDIB*pIcon=WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\tTypeAttr.ItemData=0;\n\tmemset(&ValueUnion,0,sizeof(ValueUnion));\n\tif(hItem==NULL)\n\t\treturn false;\n\tbOK = GetItemDataAll(hItem,&NameAttr,&ValueAttr,&TypeAttr,&AddressAttr);\n\tif(bOK==false)\n\t\treturn bOK;\n\tTypeIndex=NameAttr.Attr.TypeIndex;\n\tpSdsModule = NameAttr.Attr.pSDSModule;\n\tif(pSdsModule==NULL)\n\t\treturn false;\n\tif(ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_UNINITIALIZE)\n\t\treturn false;\n\tif(ValueAttr.Attr.Attribute&ITEM_ATTRIBUTE_DATA)\n\t{\n\t\tpUdtDataItem=pSdsModule->GetDataSymbol(NameAttr.Attr.TypeIndex);\n\t\tif(pUdtDataItem==NULL)\n\t\t\treturn false;\n\t\tTypeIndex=pUdtDataItem->TypeId;\t\n\t\tswitch(pUdtDataItem->Access)\n\t\t{\t\t\t\n\t\tcase CV_private:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+15);\n\t\t\tbreak;\n\t\tcase CV_protected:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+14);\n\t\t\tbreak;\n\t\tcase CV_public:\n\t\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*17+13);\n\t\t\tbreak;\n\t\t}\t\t\t\t\n\t}\n\t\n\tpType = pSdsModule->GetTypeSymbol(TypeIndex);\n\tif(pType->Type==SD_FUNCTIONTYPE)\n\t\tpIcon = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,16*18);\n\tSetItemIcon(hItem,LIST_COLUMN_NAME,pIcon);\n\tDWORD * dwAddrFunction;\n\tswitch(pType->Type)\n\t{\n\tcase SD_FUNCTIONTYPE:\t\n\t\tdwAddrFunction=*(DWORD**)&ValueAttr.Attr.Address;\n\t\tValueUnion.ulongvalue = *dwAddrFunction;\t\t\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x  \"),ValueUnion.ulongvalue);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\n\t\tpFunItem=pSdsModule->GetFunctionSymbol(TypeAttr.FunctionType.FunctionID);\n\t\tif(pFunItem==NULL)\n\t\t\tbreak;\n\t\tTStrCpy(FunBuffer,Buffer);\n\t\tLength = sizeof(FunBuffer);\t\t\n\t\tpSdsModule->GetFunctionName(pFunItem,(char*)&FunBuffer[12],&Length);\t\t\n\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,(char*)FunBuffer);\n\t\tLength = sizeof(FunBuffer);\t\n\t\tpSdsModule->GetSDSymbolName(pType,FunBuffer,&Length);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,FunBuffer);\n\t\tbreak;\n\tcase SD_BASIC:\n\t\tGetBasicTypeValue(pSdsModule,pType,ValueAttr.Attr.Address,ValueAttr.Attr.Attribute,Buffer,&ValueUnion);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\n\t\tTypeAttr.ValueUnion=ValueUnion;\n\t\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAttr.ItemData);\n\t\tTypeName=pSdsModule->GetTypeName(pType);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,TypeName);\n\t\tbreak;\n\tcase SD_UNION:\n\tcase SD_CLASS:\n\tcase SD_STRUCT:\n\t\thSubItem = InsertItem(WSTR(\"..\"),hItem);\n\t\tValueAttr.Attr.Attribute|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\tValueAttr.Attr.Address=0;\n\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\tpSdsModule->GetSDSymbolName(pType,pBuffer,&Length);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pBuffer);\n\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,\"{...}\");\n\t\tbreak;\t\n\tcase SD_POINTER:\n\t\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\n\t\tif(pType->TypeSize>0 && pType->TypeSize<=sizeof(VALUEUNION))\n\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(ValueAttr.Attr.Address,&ValueUnion,pType->TypeSize);\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x\"),ValueUnion.ulongvalue);\n\t\tTypeAttr.ValueUnion=ValueUnion;\n\t\tSetItemData(hItem,LIST_COLUMN_TYPE,TypeAttr.ItemData);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\n\t\tpPointerType = (PSDPOINTERTYPE)&pType[1];\n\t\tif(pPointerType->PointerDepth==1)\n\t\t{\n\t\t\tpSubType = pSdsModule->GetTypeSymbol(pPointerType->TypeID);\n\t\t\tif(pSubType)\n\t\t\t{\n\t\t\t\tif(pSubType->Type==SD_BASIC && pSubType->TypeSize==1)\n\t\t\t\t{\n\t\t\t\t\tmemset(Buffer,0,sizeof(Buffer));\n\t\t\t\t\tTSPrintf(pBuffer,\"0x%08x \\\"\",ValueUnion.ulongvalue);\n\t\t\t\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(ValueUnion.ulongvalue,&pBuffer[12],256);\n\t\t\t\t\tfor(DWORD i=0;i < ReadWriteLen;i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pBuffer[12+i]!=0)continue;\n\t\t\t\t\t\tpBuffer[i+12]='\"';pBuffer[i+13]=0;\n\t\t\t\t\t\tSetItemTextA(hItem,LIST_COLUMN_VALUE,pBuffer);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\thSubItem = InsertItem(WSTR(\"..\"),hItem);\n\t\tValueAttr.Attr.Attribute|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\tValueAttr.Attr.Address=0;\n\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\t\t\n\t\tpSdsModule->GetSDSymbolName(pType,pBuffer,&Length);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pBuffer);\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\tpSdsModule->GetSDSymbolName(pType,pBuffer,&Length);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pBuffer);\n\t\tpReferenceType = (PSDREFERENCETYPE)&pType[1];\t\t\n\t\tpType = pSdsModule->GetTypeSymbol(pReferenceType->TypeID);\n\t\tif(pType==NULL)\n\t\t\treturn false;\n\t\tmemset(&ValueUnion,0,sizeof(VALUEUNION));\t\t\n\t\tReadWriteLen = gpSyser->m_pDebugger->ReadMemory(ValueAttr.Attr.Address,&ValueUnion,4);\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x\"),ValueUnion.ulongvalue);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\n\t\tif(pType->Type==SD_CLASS || pType->Type==SD_STRUCT || pType->Type==SD_UNION || pType->Type==SD_POINTER)\n\t\t{\n\t\t\thSubItem = InsertItem(WSTR(\"..\"),hItem);\n\t\t\tValueAttr.Attr.Attribute|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\t\tValueAttr.Attr.Address=0;\n\t\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\t}\t\t\n\t\tif(pType->Type==SD_BASIC)\n\t\t{\n\t\t\tGetBasicTypeValue(pSdsModule,pType,ValueUnion.ulongvalue,ValueAttr.Attr.Attribute,Buffer,&ValueUnion);\n\t\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\t\t\t\n\t\t}\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\tTSPrintf(Buffer,WSTR(\"0x%08x\"),ValueAttr.Attr.Address);\n\t\tSetItemText(hItem,LIST_COLUMN_VALUE,Buffer);\n\t\thSubItem = InsertItem(WSTR(\"..\"),hItem);\n\t\tValueAttr.Attr.Attribute|=ITEM_ATTRIBUTE_UNINITIALIZE;\n\t\tValueAttr.Attr.Address=0;\n\t\tSetItemData(hSubItem,LIST_COLUMN_VALUE,ValueAttr.ItemData);\n\t\tpSdsModule->GetSDSymbolName(pType,pBuffer,&Length);\n\t\tSetItemTextA(hItem,LIST_COLUMN_TYPE,pBuffer);\t\n\t\tbreak;\n\t}\n\t\n\treturn true;\n}\n\n//ͨĳԱλ this ָ롣 ÿԱһʽ this ָ\nbool CTypeViewerWnd::GetThisAddressByMemberFunction(CSDSModule* pSdsModule,PSDFUNCTIONITEM pFunItem,DWORD* ThisPointer)\n{\t\n\tPSDUDTDATAITEM pThisDataItem;\n\tbool bOk=true;\n\tDWORD RegisterIndex,RegisterValue,Address,dwModuleBase,dwValue;\n\tpThisDataItem = pSdsModule->GetDataSymbolInFunctionByName(\"this\",pFunItem);\n\tdwModuleBase = pSdsModule->m_pCurDbgModule->m_ModuleBase;\n\tif(pThisDataItem==NULL)\n\t\treturn false;\n\tswitch(pThisDataItem->Location)\n\t{\n\tcase LocIsEnregistered:\n\t\tRegisterIndex = pThisDataItem->u.LOCISENREGISTERED.Register;\n\t\tGetRegisterValue(RegisterIndex,&RegisterValue);\n\t\tAddress=RegisterValue;\n\t\tbreak;\n\tcase LocIsRegRel:\n\t\tRegisterIndex = pThisDataItem->u.LOCISREGREL.Register;\n\t\tGetRegisterValue(RegisterIndex,&RegisterValue);\n\t\tAddress=RegisterValue+pThisDataItem->u.LOCISREGREL.Offset;\n\t\tbreak;\n\tcase LocIsStatic:\n\t\tAddress=pThisDataItem->u.LOCISSTATIC.Rva;\n\t\tAddress+=dwModuleBase;\n\t\tbreak;\n\tdefault:\n\t\tbOk=false;\n\t\tbreak;\n\t}\n\tif(bOk)\t\n\t{\n\t\tif(gpSyser->m_pDebugger->ReadMemory(Address,&dwValue,sizeof(dwValue))==sizeof(dwValue))\n\t\t{\n\t\t\tif(ThisPointer)\n\t\t\t\t*ThisPointer=dwValue;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbOk=false;\n\t\t}\t\t\n\t}\n\treturn bOk;\n}"
  },
  {
    "path": "Project/Syser/Source/TypeViewerWnd.h",
    "content": "#ifndef _TYPEVIEWERWND_H_\n#define _TYPEVIEWERWND_H_\n#include \"../../Addition/SyserDebugger/SDSymbol.h\"\nenum\n{\n\tLIST_COLUMN_NAME=0, \n\tLIST_COLUMN_VALUE,\n\tLIST_COLUMN_TYPE,    \n\tLIST_COLUMN_ADDRESS, \n};\nenum\n{\n\tITEM_ATTRIBUTE_UNINITIALIZE =\t0x80000000,\n\tITEM_ATTRIBUTE_TYPE\t\t\t=\t0x40000000,\n\tITEM_ATTRIBUTE_DATA\t\t\t=\t0x20000000,\n\tITEM_ATTRIBUTE_LOCK\t\t\t=\t0x10000000,\n\tITEM_ATTRIBUTE_FLOAT\t\t=\t0x08000000,\n\tITEM_ATTRIBUTE_HEX\t\t\t=\t0x04000000,\n\tITEM_ATTRIBUTE_DEC\t\t\t=\t0x02000000,\n\tITEM_ATTRIBUTE_WATCH_NAME\t=\t0x01000000,\n\tITEM_ATTRIBUTE_VFTABLE\t\t=\t0x00800000,\n\tITEM_ATTRIBUTE_TYPEDATA_MASK = ~(ITEM_ATTRIBUTE_DATA|ITEM_ATTRIBUTE_TYPE),\n};\ntypedef union _VALUEUNION\n{\n\tunsigned char ucharvalue;\n\tunsigned short ushortvalue;\n\tunsigned int uintvalue;\n\tunsigned long ulongvalue;\n\tULONGLONG uint64value;\n\tchar charvalue;\n\tshort shortvalue;\n\tint intvalue;\n\tlong longvalue;\n\tLONGLONG int64value;\n\tbool boolvalue;\n}VALUEUNION,*PVALUEUNION;\ntypedef union _TYPEVIEW_NAME_ATTRIB\n{\n\tNUM_PTR ItemData;\n\tstruct \n\t{\n\t\tDWORD TypeIndex;\n\t\tCSDSModule* pSDSModule;\n\t}Attr;\t\t\n}TYPE_NAME_ATTR;\ntypedef union _TYPEVIEW_VALUE_ATTRIB\n{\n\tNUM_PTR ItemData;\n\tstruct {\n\t\tDWORD Address;\n\t\tDWORD Attribute;\n\t}Attr;\n}TYPE_VALUE_ATTR;\ntypedef union _TYPEVIEW_TYPE_ATTRIB\n{\n\tNUM_PTR ItemData;\n\tVALUEUNION ValueUnion;\t\n\tstruct _FUNSTR{\n\t\tDWORD Address;\t\t\n\t\tDWORD FunctionID;\n\t}FunctionType;\n\tstruct _VTABLE{\n\t\tDWORD Address;\n\t\tDWORD FunctionCount;\n\t}VFTable;\n}TYPE_TYPE_ATTR;\ntypedef union _TYPEVIEW_ADDRESS_ATTRIB\n{\n\tNUM_PTR ItemData;\n\n\tstruct {\n\t\tDWORD Address;\n\t\tDWORD Attribute;\n\t}Attr;\n}TYPE_ADDRESS_ATTR;\ntypedef struct _WATCH_DATA\n{\n\tTYPE_NAME_ATTR Name;\n\tTYPE_VALUE_ATTR Value;\n\tTYPE_TYPE_ATTR Type;\n\tTYPE_ADDRESS_ATTR Address;\n}WATCH_DATA,*PWATCH_DATA;\nclass CTypeViewerWnd:public CWispList\n{\n\tenum CHILD_CMD_ID;\npublic:\n\tCTypeViewerWnd();\n\t~CTypeViewerWnd();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_EVENT(OnHexDisplayEvent)\n\tDECLARE_WISP_MSG_EVENT(OnDeleteWatchEvent)\n\tDECLARE_WISP_MSG_EVENT(OnEventShowData)\n\tDECLARE_WISP_MSG_CMD(OnViewerCmd)\n\tbool BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool ChangeValueBoolAndBitField1(DWORD Address,CSDSModule* pSDSModule,DWORD DataIndex,WCHAR* ValueBuf);\n\tvoid ItemChangedNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid ItemExpandedNotify(HANDLE hItem);\n\tbool EndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid WatchType(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem=NULL,char* DataMemberName=NULL);\n\t\n\tvoid AddUdtTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem=NULL,char* DataMemberName=NULL,bool bIsData=false);\n\tvoid AddBaseClassTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem=NULL,char* DataMemberName=NULL,bool bIsData=false);\n\t\n\tvoid AddEnumerationTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem=NULL,char* DataMemberName=NULL,bool bIsData=false);\n\tvoid AddPointerTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName=NULL,bool bIsData=false);\n\tvoid AddArrayTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName=NULL,bool bIsData=false);\n\tvoid AddBasicTypeWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName=NULL,bool bIsData=false);\n\tvoid AddClassVFPTRWatch(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address,DWORD Attribute,HANDLE hItem,char* DataMemberName);\n\n\tvoid RemoveTypeAttachByAddress(DWORD Address);\n\tvoid ModifyTypeAttachAddress(CSDSModule* pSDSModule,DWORD TypeIndex,DWORD Address);\n\tbool ChangeValue(HANDLE hItem);\n\tbool GetBasicTypeValue(CSDSModule* pSDSModule,PSDTYPE_INFILE pType,DWORD Address,DWORD Attribute,WCHAR* ValueBuf,PVALUEUNION pValueUnion);\n\n\tvoid ExpandType(HANDLE hItem,bool bIsData=false);\n\tvoid ExpandPointerType(HANDLE hItem,bool bIsData);\t\n\tvoid ExpandArrayType(HANDLE hItem,bool bIsData=false);\n\tvoid ExpandUDTType(HANDLE hItem,PWATCH_DATA pWatchData);\n\tvoid ExpendVirtualFunctionTable(HANDLE hItem,PWATCH_DATA pWatchData);\n\t//bool GetBasicTypeValue(CSDSModule* pSDSModule,PSDTYPE_INFILE pType,DWORD Address,PVALUEUNION pValueUnion);\n\tWCHAR* GetDataValue(IN DWORD Address,IN CSDSModule* pSDSModule,IN DWORD DataIndex,IN DWORD Attribute,OUT WCHAR* ValueBuf,IN DWORD BufLen,PVALUEUNION pDefValue=NULL);\n\tWCHAR* GetTypeValue(IN DWORD Address,IN CSDSModule* pSDSModule,IN DWORD TypeIndex,IN DWORD Attribute,OUT WCHAR* ValueBuf,IN DWORD BufLen,PVALUEUNION pDefValue=NULL);\n\tbool ModifyDataValue(DWORD Address,CSDSModule* pSDSModule,DWORD TypeIndex,VALUEUNION ValueUnion);\n\tbool ChangeUDTBaseClassAddressByUDT(HANDLE hItem,DWORD BaseAddress);\n\tbool GetRegisterValue(DWORD RegisterIndex,DWORD* RegisterValue);\n\tPSDTYPE_INFILE GetTypeByDataIndex(CSDSModule* pSDSModule,DWORD DataIndex);\n\tvoid ExpandReferenceType(HANDLE hItem);\n\tvoid ResetContext();\n\tvoid UpdateContext();\n\tbool UpdateItemContext(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD Address=0);\n\tbool UpdateItemContextUDT(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress=0);\n\tbool UpdateItemContextUDTPointer(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress=0);\n\tbool UpdateItemContextUDTReference(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress=0);\n\tvoid AddWatchByName(char* Name,HANDLE hItem=NULL);\n\tvoid AddWatchByName(WCHAR* Name,HANDLE hItem=NULL);\n\n\tbool GetItemDataAll(HANDLE hItem,PWATCH_DATA pWatchData);\n\tbool GetItemDataAll(HANDLE hItem,TYPE_NAME_ATTR* pNameAttr,TYPE_VALUE_ATTR* pValueAttr,TYPE_TYPE_ATTR* pTypeAttr,TYPE_ADDRESS_ATTR* pAddressAttr);\n\tbool GetThisAddressByMemberFunction(CSDSModule* pSdsModule,PSDFUNCTIONITEM pFunItem,DWORD* ThisPointer);\n\t\n\tbool GetFunctionAddressByName(const char* VariableName,DWORD* VariableAddress,PSDFUNCTIONITEM* DataItem,CSDSModule** SDSModule);\n\tbool GetVariableAddressByName(const char* VariableName,DWORD* VariableAddress,PSDUDTDATAITEM* DataItem,CSDSModule** SDSModule);\n\tbool UpdateItemValue(HANDLE hItem);\n\tbool UpdateItemValueForUDTType(HANDLE hItem,PSDTYPE_INFILE pType,CSDSModule* pSdsModule);\n\tvoid InsertLastItem();\n\tvoid UnloadSDSModule(CSDSModule*pSDSModule);\n\n\tvoid InsertExpandItem(HANDLE hItem);\n\tbool ChangeUDTBaseClassAddress(HANDLE hItem,DWORD TypeIndex,DWORD Address);\n\tbool ChangeUDTBaseClassAddressPointer(HANDLE hItem,DWORD BaseAddress);\n\tbool UpdateItemContextArray(HANDLE hItem,WCHAR* ValueBuf,DWORD ValueBufLen,DWORD BaseAddress);\n\tCSDSModule*m_pSDSModule;\n\tCWispMenu m_PopupMenu;\n\tHANDLE\tm_hRemoveItem;\n\tHANDLE m_hLastItem;\n};\t\n#endif //_TYPEVIEWERWND_H_"
  },
  {
    "path": "Project/Syser/Source/UHCIDevice.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"UHCIDevice.h\"\n#include \"InputDriver.h\"\n#include \"Syser.h\"\n#include \"Keyboard.h\"\n#include \"Mouse.h\"\n\n\nvoid CUHCIDevice::UHCIMouseService()\n{\n\tUHCI_DEVICE_INFO*pDevInfo;\n\tUHCI_MOUSE_DEVICE*pMouseDev;\n\tUHCI_TD*pTD;\n\tfor(int n=0;n<m_UHCIMouseCount;n++)\n\t{\n\t\tpMouseDev = &m_UHCIMouse[n];\n\t\tpDevInfo = &m_UHCIMouse[n].DevInfo;\n\t\tpTD = (UHCI_TD*)(&pDevInfo->pTDListBuffer[pDevInfo->CurTDIndex*UHCI_TD_LENGTH]);\n\t\tif((pTD->Status&0x00800000) == 0)\n\t\t{\n\t\t\tTranslateUSBMouse((char*) &pTD[1],&pMouseDev->BtStatus);\n\t\t\tUHCIPacketDone(pDevInfo);\n\t\t}\n\t}\n}\n\nvoid CUHCIDevice::UHCIKeyboardService()\n{\n\tBYTE*pData;\n\tUHCI_DEVICE_INFO*pDevInfo;\n\tUHCI_KEYBOARD_DEVICE*pKeyboardDev;\n\tUHCI_TD*pTD;\n\tfor(int n=0;n<m_UHCIKeyboardCount;n++)\n\t{\n\t\tpKeyboardDev = &m_UHCIKeyboard[n];\n\t\tpDevInfo = &m_UHCIKeyboard[n].DevInfo;\n\t\tpTD = (UHCI_TD*)(&pDevInfo->pTDListBuffer[pDevInfo->CurTDIndex*UHCI_TD_LENGTH]);\n\t\tif((pTD->Status&0x00800000) == 0)\n\t\t{\n\t\t\tpData = (BYTE*) &pTD[1];\n\t\t\tTranslateUSBKey(pKeyboardDev->PrevData,pData);\n\t\t\tUHCIPacketDone(pDevInfo);\n\t\t}\n\t}\n}\n\nvoid CUHCIDevice::UHCIPacketDone(UHCI_DEVICE_INFO*pDevInfo)\n{\n\tUHCI_TD*pTD;\n\tpDevInfo->CurTDIndex++;\n\tif(pDevInfo->CurTDIndex>=UHCI_DEVICE_TD_COUNT)\n\t\tpDevInfo->CurTDIndex=0;\n\tpTD = (UHCI_TD*)(&pDevInfo->pTDListBuffer[pDevInfo->CurTDIndex*UHCI_TD_LENGTH]);\n\tpTD->Status |= 0x00800000;\n}\n\nCUHCIDevice::CUHCIDevice()\n{\n\tfor(int n=0;n<MAX_UHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tSTZeroMemory(m_UHCIMouse[n]);\n\t}\n\tfor(int n=0;n<MAX_UHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tSTZeroMemory(m_UHCIKeyboard[n]);\n\t}\n\tm_UHCIKeyboardCount = m_UHCIMouseCount = 0;\n}\n\nCUHCIDevice::~CUHCIDevice()\n{\n}\n\nbool CUHCIDevice::Init()\n{\n\tfor(int n=0;n<MAX_UHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tInitUHCIInputDevice(&m_UHCIMouse[n].DevInfo);\n\t}\n\tfor(int n=0;n<MAX_UHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tInitUHCIInputDevice(&m_UHCIKeyboard[n].DevInfo);\n\t}\n\tm_UHCIKeyboardCount = m_UHCIMouseCount = 0;\n\treturn true;\n}\n\nvoid CUHCIDevice::Release()\n{\n\tfor(int n=0;n<MAX_UHCI_MOUSE_DEVICE;n++)\n\t{\n\t\tReleaseUHCIInputDevice(&m_UHCIMouse[n].DevInfo);\n\t}\n\tfor(int n=0;n<MAX_UHCI_KEYBOARD_DEVICE;n++)\n\t{\n\t\tReleaseUHCIInputDevice(&m_UHCIKeyboard[n].DevInfo);\n\t}\n\tm_UHCICtrlList.Clear();\n\tm_PhyscialMemoryCacheMap.Clear();\n}\n\nbool CUHCIDevice::CacheMapToVAddr(ULPOS PhysicalAddress,ULPOS* VirtualAddress)\n{\n\tTMap<ULPOS,ULPOS>::IT FindIT;\n\tULPOS SwapVal;\n\tULPOS AlignPhysicalAddress,PhysicalAddressMod;\n\n\tAlignPhysicalAddress=(PhysicalAddress&0xFFFFF000);\n\tPhysicalAddressMod = PhysicalAddress - AlignPhysicalAddress;\n\tFindIT = m_PhyscialMemoryCacheMap.Find(AlignPhysicalAddress);\n\tif(FindIT==m_PhyscialMemoryCacheMap.End())\n\t{\n\t\tif(MapToVAddr(AlignPhysicalAddress,&SwapVal)==0)\n\t\t\treturn false;\n\t\tFindIT = m_PhyscialMemoryCacheMap.InsertUnique(AlignPhysicalAddress,SwapVal);\n\t}\n\t*VirtualAddress = *FindIT;\n\t*VirtualAddress |= PhysicalAddressMod;\n\treturn true;\n}\n\nvoid CUHCIDevice::Attach()\n{\n\tint nUHCI;\n\tDWORD Link,*FrameList,dwTmpVar;\n\tUHCI_TD*pTD;\n\tUHCI_QH*pQH;\n\tnUHCI = 0;\n\tfor(TList<UHCI_CTRL_INFO>::IT Iter=m_UHCICtrlList.Begin();Iter!=m_UHCICtrlList.End();Iter++)\n\t{\n\t\t//OUTPUT(WSTR(\"Search UHCI Device %d\\n\"),nUHCI);\n\t\tif(CacheMapToVAddr(Iter->FrameBase,(DWORD*)&FrameList)==false)\n\t\t{\n\t\t\t//OUTPUT(WSTR(\"Syser : Fail to Map Iter->FrameBase [%08X]\\n\"),Iter->FrameBase);\n\t\t\tcontinue;\n\t\t}\n\t\tfor(int nFP=0;nFP<MAX_UHCI_DEVICE_FRAME_PERIOD;nFP++)\n\t\t{\n\t\t\tLink = FrameList[nFP];\n\t\t\tif(UHCI_LinkIsTail(Link))\n\t\t\t\tbreak;\n\t\t\tif(UHCI_LinkIsQH(Link))\n\t\t\t{\n\t\t\t\tif(CacheMapToVAddr(UHCI_GetLinkPhysAddr(Link),(DWORD*)&pQH)==false)\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(CacheMapToVAddr(UHCI_GetLinkPhysAddr(Link),(DWORD*)&pTD)==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(UHCI_LinkIsTail(pTD->Link) || UHCI_LinkIsQH(pTD->Link)==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tif(CacheMapToVAddr(UHCI_GetLinkPhysAddr(pTD->Link),(DWORD*)&pQH)==false)\n\t\t\t\t\tcontinue;\n\t\t\t}\n\t\t\twhile(UHCI_LinkIsTail(pQH->Link)==false && UHCI_LinkIsQH(pQH->Link))\n\t\t\t{\n\t\t\t\tif(UHCI_LinkIsTail(pQH->Element)==false && UHCI_LinkIsQH(pQH->Element)==false)\n\t\t\t\t{\n\t\t\t\t\tif(CacheMapToVAddr(UHCI_GetLinkPhysAddr(pQH->Element),(DWORD*)&pTD)==false)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tRecognizeUHCIDevice(pTD,pQH);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(CacheMapToVAddr(UHCI_GetLinkPhysAddr(pQH->Link),&dwTmpVar)==false)\n\t\t\t\t\tbreak;\n\t\t\t\t*(DWORD*)&pQH = dwTmpVar;\n\t\t\t}\n\t\t}\n\t\tnUHCI++;\n\t}\n\t/*\n\tfor(int n=0;n<m_UHCIMouseCount;n++)\n\t{\n\t\tOUTPUT(WSTR(\"%d Found USB Mouse %X\\n\"),n,m_UHCIMouse[n].DevInfo.pTDHead);\n\t}*/\n}\n\nvoid CUHCIDevice::Detach()\n{\n\tfor(int n=0;n<m_UHCIMouseCount;n++)\n\t{\n\t\t*m_UHCIMouse[m_UHCIMouseCount-n-1].DevInfo.pTDHead = m_UHCIMouse[m_UHCIMouseCount-n-1].DevInfo.OldTDListPhysAddr;\t\t\n\t}\n\tm_UHCIMouseCount = 0;\n\tfor(int n=0;n<m_UHCIKeyboardCount;n++)\n\t{\n\t\t*m_UHCIKeyboard[m_UHCIKeyboardCount-n-1].DevInfo.pTDHead = m_UHCIKeyboard[m_UHCIKeyboardCount-n-1].DevInfo.OldTDListPhysAddr;\n\t}\n\tm_UHCIKeyboardCount = 0;\n\t//m_PhyscialMemoryCacheMap.Clear();\n}\n\nvoid CUHCIDevice::RecognizeUHCIDevice(UHCI_TD*pTD,UHCI_QH*pQH)\n{\n\tBYTE PID = (BYTE)pTD->TDToken;\n\tDWORD MaxLen = (pTD->TDToken>>21)+1;\n\n\tif(PID == 0x69)\n\t{//OUTPUT(WSTR(\"pQH %08X , pQH->Element %08X , MaxLen = %X , Link = %08X , Status = %08X , TDToken = %08X , TDBuffer = %08X\\n\"),pQH,pQH->Element,MaxLen,pTD->Link,pTD->Status,pTD->TDToken,pTD->TDBuffer);\n\t\tif(MaxLen>=4 && MaxLen<=16 && MaxLen!=8)\n\t\t{\n\t\t\tif(m_UHCIMouseCount<MAX_UHCI_MOUSE_DEVICE)\n\t\t\t{\n\t\t\t\tfor(int n=0;n<m_UHCIMouseCount;n++)\n\t\t\t\t{\n\t\t\t\t\tif(m_UHCIMouse[n].DevInfo.pTDHead == &pQH->Element)\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tm_UHCIMouse[m_UHCIMouseCount].BtStatus=0;\n\t\t\t\tResetUHCIInputDevice(&m_UHCIMouse[m_UHCIMouseCount].DevInfo,pTD,pQH);\n\t\t\t\tm_UHCIMouseCount++;\n\t\t\t}\n\t\t}\n\t\telse if(MaxLen == 8)\n\t\t{\n\t\t\tif(m_UHCIKeyboardCount<MAX_UHCI_KEYBOARD_DEVICE)\n\t\t\t{\n\t\t\t\tfor(int n=0;n<m_UHCIKeyboardCount;n++)\n\t\t\t\t{\n\t\t\t\t\tif(m_UHCIKeyboard[n].DevInfo.pTDHead == &pQH->Element)\n\t\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tZeroMemory(m_UHCIKeyboard[m_UHCIKeyboardCount].PrevData,8);\n\t\t\t\tResetUHCIInputDevice(&m_UHCIKeyboard[m_UHCIKeyboardCount].DevInfo,pTD,pQH);\n\t\t\t\tm_UHCIKeyboardCount++;\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid CUHCIDevice::InitUHCIInputDevice(UHCI_DEVICE_INFO*pDeviceInfo)\n{\n\tULONGLONG PhysAddr;\n\tpDeviceInfo->pTDListBuffer = (BYTE*)gpUserHeap[SYSER_MAIN_HEAP]->AlignAllocate(UHCI_DEVICE_TD_COUNT*UHCI_TD_LENGTH+0x100,0x400);\n\tZeroMemory(pDeviceInfo->pTDListBuffer,UHCI_DEVICE_TD_COUNT*UHCI_TD_LENGTH+0x100);\n\tPhysAddr = 0;\n\tMapToPAddr((ULPOS)pDeviceInfo->pTDListBuffer,&PhysAddr);\n\tpDeviceInfo->TDListBufferPA = (DWORD)PhysAddr;\n\tUHCI_TD* pTD;\n\tfor(int i=0;i<UHCI_DEVICE_TD_COUNT;i++)\n\t{\n\t\tpTD = (UHCI_TD*)&pDeviceInfo->pTDListBuffer[i*UHCI_TD_LENGTH];\n\t\tpTD->Link = pDeviceInfo->TDListBufferPA+(i+1)*UHCI_TD_LENGTH;\n\t\tpTD->TDBuffer = pDeviceInfo->TDListBufferPA+i*UHCI_TD_LENGTH+sizeof(UHCI_TD);\n\t\tpTD->Status = 0;\n\t}\n}\n\n\nvoid CUHCIDevice::ResetUHCIInputDevice(UHCI_DEVICE_INFO*pDevInfo,UHCI_TD*pTD,UHCI_QH*pQH)\n{\n\tUHCI_TD*pNewTD;\n\tfor(int i=0;i<UHCI_DEVICE_TD_COUNT;i++)\n\t{\n\t\tpNewTD = (UHCI_TD*)&pDevInfo->pTDListBuffer[i*UHCI_TD_LENGTH];\n\t\tpNewTD->Status = pTD->Status;\n\t\tpNewTD->TDToken = (i % 2)?(pTD->TDToken & 0xFFF7FFFF):(pTD->TDToken | 0x80000);\n\t}\n\tpNewTD->Link = pDevInfo->TDListBufferPA;\n\tpDevInfo->CurTDIndex = 0;\n\tpNewTD = (UHCI_TD*)pDevInfo->pTDListBuffer;\n\tpNewTD->Status = pTD->Status|0x00800000;\n\tpDevInfo->pTDHead = &pQH->Element;\n\tpDevInfo->OldTDListPhysAddr = pQH->Element;\n\t*pDevInfo->pTDHead = pDevInfo->TDListBufferPA;\n}\n\nvoid CUHCIDevice::ReleaseUHCIInputDevice(UHCI_DEVICE_INFO*pDeviceInfo)\n{\n\tgpUserHeap[0]->AlignFree(pDeviceInfo->pTDListBuffer);\n}\n\n\n"
  },
  {
    "path": "Project/Syser/Source/UHCIDevice.h",
    "content": "#ifndef _UHCI_DEVICE_H_\n#define _UHCI_DEVICE_H_\n\n#define UHCI_LinkIsTail(x)\t\t(((x)&1)!=0)\n#define UHCI_LinkIsQH(x)\t\t(((x)&2)!=0)\n#define UHCI_GetLinkPhysAddr(x)\t((x)&0xFFFFFFF0)\n#define UHCI_GetLinkTypeName(x)\t(UHCI_LinkIsQH(x)?WSTR(\"QH\"):WSTR(\"TD\"))\n\nstruct UHCI_CTRL_INFO\n{\n\tint\t\tBus;\n\tint\t\tDevFN;\n\tDWORD\tFrameBase;\n\tWORD\tUSBBase;\n};\n\nstruct UHCI_QH\n{\n\tDWORD Link; \n\tDWORD Element;\n};\n\nstruct UHCI_TD\n{\n\tDWORD\tLink;\n\tDWORD\tStatus;\n\tDWORD\tTDToken;\n\tDWORD\tTDBuffer;\n};\n\n#define MAX_UHCI_DEVICE_FRAME_PERIOD\t0x10\n#define MAX_UHCI_MOUSE_DEVICE\t\t\t8\n#define MAX_UHCI_KEYBOARD_DEVICE\t\t8\n\n#define UHCI_DEVICE_TD_COUNT\t\t\t10\n#define UHCI_DATA_BUFF_LENGTH\t\t\t0x20\n#define UHCI_TD_LENGTH\t\t\t\t\t(UHCI_DATA_BUFF_LENGTH+sizeof(UHCI_TD))\n\nstruct UHCI_DEVICE_INFO\n{\n\tDWORD*\tpTDHead;\n\tDWORD\tOldTDListPhysAddr;\n\tDWORD\tTDListBufferPA;\n\tBYTE*\tpTDListBuffer;\n\tint\t\tCurTDIndex;\n};\n\nstruct UHCI_KEYBOARD_DEVICE\n{\n\tUHCI_DEVICE_INFO DevInfo;\n\tBYTE PrevData[8];\n};\n\nstruct UHCI_MOUSE_DEVICE\n{\n\tUHCI_DEVICE_INFO DevInfo;\n\tchar BtStatus;\n};\n\nclass CUHCIDevice\n{\npublic:\n\tCUHCIDevice();\n\t~CUHCIDevice();\npublic:\n\tTMap<ULPOS,ULPOS>\t\tm_PhyscialMemoryCacheMap;\n\tTList<UHCI_CTRL_INFO>\tm_UHCICtrlList;\t\t//UHCI Ϣ\n\tUHCI_KEYBOARD_DEVICE\tm_UHCIKeyboard[MAX_UHCI_KEYBOARD_DEVICE];\n\tint\t\t\t\t\t\tm_UHCIKeyboardCount;\n\tUHCI_MOUSE_DEVICE\t\tm_UHCIMouse[MAX_UHCI_MOUSE_DEVICE];\n\tint\t\t\t\t\t\tm_UHCIMouseCount;\n\tbool\tInit();\n\tvoid\tRelease();\n\tvoid\tAttach();\n\tvoid\tDetach();\n\tvoid\tRecognizeUHCIDevice(UHCI_TD*pTD,UHCI_QH*pQH);\n\tvoid\tInitUHCIInputDevice(UHCI_DEVICE_INFO*pDeviceInfo);\n\tvoid\tResetUHCIInputDevice(UHCI_DEVICE_INFO*pDeviceInfo,UHCI_TD*pTD,UHCI_QH*pQH);\n\tvoid\tReleaseUHCIInputDevice(UHCI_DEVICE_INFO*pDeviceInfo);\n\tvoid\tUHCIMouseService();\n\tvoid\tUHCIKeyboardService();\n\tvoid\tUHCIPacketDone(UHCI_DEVICE_INFO*pDevInfo);\n\tbool\tCacheMapToVAddr(ULPOS PhysicalAddress,ULPOS* VirtualAddress);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/UHCIMouse.cpp",
    "content": "#include \"stdafx.h\"\n#include \"UHCIMouse.h\"\n#include \"InputDriver.h\"\n#include \"Syser.h\"\n\nchar cPrevFirstData=0,cPrevXOffset=0,cPrevYOffset=0,cPrevZOffset=0;\nvoid UsbMouseService()\n{\n\tchar cFirstData,cXOffset,cYOffset,cZOffset;\n\tchar *pData;\n\tif((pUsbStructBuf[dwUSBMouseIndex*8+1] & 0x00800000) == 0)\n\t{\n\t\tpData = (char *) &pUsbStructBuf[dwUSBMouseIndex*8+0x4];\n\t\tcFirstData=pData[0];\n\t\tcXOffset=pData[1];\n\t\tcYOffset=pData[2];\n\t\tcZOffset=pData[3];\n\t\tif(cYOffset != 0 || cXOffset != 0)\n\t\t\tgpSyser->OnMouseMove(cXOffset,cYOffset);\n\t\tif(cZOffset)\n\t\t{\n\t\t\tgpSyser->OnMouseWheel(cZOffset);\n\t\t}\n\t\tif((cPrevFirstData & MOUSE_INTERRUPT_LEFT_PRESS) != (cFirstData & MOUSE_INTERRUPT_LEFT_PRESS))\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_LBUTTON,cFirstData & MOUSE_INTERRUPT_LEFT_PRESS);\n\t\tif((cPrevFirstData & MOUSE_INTERRUPT_RIGHT_PRESS) != (cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS))\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_RBUTTON,(cFirstData & MOUSE_INTERRUPT_RIGHT_PRESS)!=0);\n\t\tif((cPrevFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS) != (cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS))\n\t\t\tgpSyser->OnKeyEvent(WISP_VK_MBUTTON,(cFirstData & MOUSE_INTERRUPT_MIDDLE_PRESS)!=0);\n\t\tcPrevZOffset=cZOffset;\n\t\tcPrevYOffset=cYOffset;\n\t\tcPrevXOffset=cXOffset;\n\t\tcPrevFirstData=cFirstData;\n\t\tdwUSBMouseIndex++;\n\t\tif(dwUSBMouseIndex==10)\n\t\t\tdwUSBMouseIndex=0;\n\t\tpUsbStructBuf[dwUSBMouseIndex*8+1] |= 0x00800000;\n\t}\n}\n\nvoid InstallUsbMouseQueue()\n{\n\tint i,m;\n\tbool bFound;\n\tfor(i = 0; i < (int)UHCI_Number;i++)\n\t{\n\t\tDWORD dwPortAddr = UHCIFrameBaseRegister[i];\n\t\tDWORD dwPhysicalAddress,dwValue=0,dwCounter,dwValue2;\n\t\tdwCounter= 20;\n\t\tdwPhysicalAddress = ReadPortDword(dwPortAddr+8);\n\t\tdwPhysicalAddress &= 0xfffff000;\n\t\tbFound=false;\n\t\twhile ((dwValue&1) == 0 && dwCounter!=0)\n\t\t{\n\t\t\tif(ReadPhysicalAddress(dwPhysicalAddress,dwValue))\n\t\t\t{\n\t\t\t\tif((dwValue & 0xff0) == 0)\n\t\t\t\t{\n\t\t\t\t\tbFound=true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdwValue2 = dwValue;\n\t\t\t\tdwPhysicalAddress=dwValue&0xfffffff0;\n\t\t\t}\n\t\t\tdwCounter--;\n\t\t}\n\t\tif(bFound)\n\t\t{\n\t\t\tDWORD dwValueTemp = (dwValue&0xfffff000)+0x1c8;\n\t\t\tif(ReadPhysicalAddress(dwValueTemp,dwValue2))\n\t\t\t{\n\t\t\t\tif((dwValue2 & 0xff)==0x69)\n\t\t\t\t{\n\t\t\t\t\tif((dwValue2>>21) == 3 || (dwValue2>>21) == 2)\n\t\t\t\t\t{\n\t\t\t\t\t\tDWORD dwMouseQueueAddress=dwValue;\n\t\t\t\t\t\t//OUTPUT(WSTR(\"dwMouseQueueAddress= %08x %08x\"),dwValue,pUsbStructBuf);\n\t\t\t\t\t\tfor(m =0;m<10;m++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpUsbStructBuf[m*8]=UsbStructBufPhysicalAddress+m*0x20+0x20;\n\t\t\t\t\t\t\tpUsbStructBuf[m*8+3]=UsbStructBufPhysicalAddress+m*0x20+0x10;\n\t\t\t\t\t\t\tpUsbStructBuf[m*8+2]=(m % 2)?(dwValue2 & 0xfff7ffff):(dwValue2 | 0x80000);\n\t\t\t\t\t\t\tpUsbStructBuf[m*8+1]=0x1c000000;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpUsbStructBuf[1]=0x1c800000;\n\t\t\t\t\t\tdwUSBMouseIndex = 0;\n\t\t\t\t\t\tpUsbStructBuf[(m-1)*8]=UsbStructBufPhysicalAddress;\n\t\t\t\t\t\tDWORD dwTmp;\n\t\t\t\t\t\tif(MapToVAddr((dwMouseQueueAddress&0xfffffff0)+4,&dwTmp))\n\t\t\t\t\t\t\tif(bUsbMouseInstallFlags==false)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tUSBQueueHeadPoint=(DWORD *) dwTmp;\n\t\t\t\t\t\t\t\tOLDUSBQueueHeadPoint=USBQueueHeadPoint[0];\n\t\t\t\t\t\t\t\tUSBQueueHeadPoint[0]=(DWORD)UsbStructBufPhysicalAddress;\n\t\t\t\t\t\t\t\tbUsbMouseInstallFlags = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid UninstallUsbMouseQueue()\n{\n\tif(bUsbMouseInstallFlags)\n\t{\n\t\tUSBQueueHeadPoint[0]=OLDUSBQueueHeadPoint;\n\t\tbUsbMouseInstallFlags=false;\n\t}\n}\n"
  },
  {
    "path": "Project/Syser/Source/UHCIMouse.h",
    "content": "#ifndef _UHCIMOUSE_H_\n#define _UHCIMOUSE_H_\n\n\nextern  char cFirstData,cXOffset,cYOffset,cZOffset;\nextern  char cPrevFirstData,cPrevXOffset,cPrevYOffset,cPrevZOffset;\nvoid\tUsbMouseService();\nvoid\tInstallUsbMouseQueue();\nvoid\tUninstallUsbMouseQueue();\n\n#endif //_UHCIMOUSE_H_"
  },
  {
    "path": "Project/Syser/Source/USBCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"USBCmd.h\"\n#include \"UHCIDevice.h\"\n\nvoid DumpUHCILink(DWORD Link)\n{\n\tif(UHCI_LinkIsTail(Link))\n\t{\n\t\tOUTPUT(WSTR(\" ->| Link Tail\\n\"));\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\" --> %s [%08X]\\n\"),UHCI_GetLinkTypeName(Link),Link);\n\t}\n}\n\nvoid DumpUHCIQHList(DWORD Link)\n{\n\tUHCI_QH*pQH;\n\twhile(UHCI_LinkIsTail(Link)==false)\n\t{\n\t\tif(MapToVAddr(UHCI_GetLinkPhysAddr(Link),(DWORD*)&pQH)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<3>Invalid QH %08X\\n\"),Link);\n\t\t\treturn;\n\t\t}\n\t\tOUTPUT(WSTR(\"%<B>QH\"));\n\t\tDumpUHCILink(pQH->Link);\n\t\tif(UHCI_LinkIsTail(pQH->Link)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"|--Element\"));\n\t\t\tDumpUHCILink(pQH->Element);\n\t\t}\n\t\tLink = pQH->Link;\n\t\tif(UHCI_LinkIsQH(Link)==false)\n\t\t\treturn;\n\t\tif(IS_CTRL_BREAK)\n\t\t\treturn;\n\t}\n}\n\nvoid DumpUHCITD(UHCI_TD*pTD)\n{\n\tOUTPUT(WSTR(\"|- TDToken PID[%<F>%02X%<1>] MaxLen[%<F>%04X%<1>]\\n\"),(BYTE)pTD->TDToken,(pTD->TDToken>>21)+1);\n\tOUTPUT(WSTR(\"|- Status [%<F>%08X%<1>]\\n\"),pTD->Status);\n\tOUTPUT(WSTR(\"|- TDBuffer [%<F>%08X%<1>]\\n\"),pTD->TDBuffer);\n}\n\nvoid DumpUHCITDList(DWORD Link)\n{\n\tUHCI_TD*pTD;\n\tint n=0;\n\tpTD = NULL;\n\twhile(UHCI_LinkIsTail(Link)==false && n<20)\n\t{\n\t\tif(pTD)\n\t\t\tDumpUHCITD(pTD);\n\t\tif(MapToVAddr(UHCI_GetLinkPhysAddr(Link),(DWORD*)&pTD)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<3>Invalid TD %08X\\n\"),Link);\n\t\t\treturn;\n\t\t}\n\t\tOUTPUT(WSTR(\"%<B>TD\"));\n\t\tDumpUHCILink(pTD->Link);\n\t\tLink = pTD->Link;\n\t\tif(UHCI_LinkIsQH(Link))\n\t\t\treturn;\n\t\tif(IS_CTRL_BREAK)\n\t\t\treturn;\n\t\tn++;\n\t}\n\tif(n==20)\n\t\tOUTPUT(WSTR(\"................\\n\"));\n}\n\nvoid DumpUHCILinkList(DWORD Link)\n{\n\tif(UHCI_LinkIsQH(Link))\n\t{\n\t\tDumpUHCIQHList(Link);\n\t}\n\telse\n\t{\n\t\tDumpUHCITDList(Link);\n\t}\n}\n\nbool IsTDExistFrame(DWORD Link)\n{\n\tif(UHCI_LinkIsTail(Link))\n\t\treturn false;\n\tif(UHCI_LinkIsQH(Link)==false)\n\t\treturn true;\n\tUHCI_QH*pQH = NULL;\n\twhile(UHCI_LinkIsTail(Link)==false && UHCI_LinkIsQH(Link))\n\t{\n\t\tif(pQH && UHCI_LinkIsTail(pQH->Element)==false && UHCI_LinkIsQH(pQH->Element)==false)\n\t\t\treturn true;\n\t\tif(MapToVAddr(UHCI_GetLinkPhysAddr(Link),(DWORD*)&pQH)==false)\n\t\t\treturn false;\n\t\tLink = pQH->Link;\n\t}\n\treturn false;\n}\n\nvoid DumpUHCIFrame(UHCI_CTRL_INFO*pUHCIInfo)\n{\n\tint Index;\n\tDWORD PhysAddr;\n\tDWORD FP;\n\tOUTPUT(WSTR(\"UHCI Bus %02X Device %02X Function %02X USBBase %X FrameBase %08X\\n\"),pUHCIInfo->Bus,pUHCIInfo->DevFN>>3,pUHCIInfo->DevFN&7,pUHCIInfo->USBBase,pUHCIInfo->FrameBase);\n\tPhysAddr = pUHCIInfo->FrameBase;\n\tIndex=0;\n\twhile(ReadPhysicalAddress(PhysAddr,FP) && UHCI_LinkIsTail(FP)==false)\n\t{\n\t\tif(IsTDExistFrame(FP))\n\t\t\tOUTPUT(WSTR(\"Frame[%04X] FP[%08X] --> %s\\n\"),Index,FP,UHCI_GetLinkTypeName(FP));\n\t\tPhysAddr+=4;\n\t\tIndex++;\n\t}\n}\n\n////////////////////////////////////////////////////////////\n//OHCI\nvoid DumpOHCIED(const OHCI_ED&ED)\n{\n\tif(OHCI_IsSkipED(ED.hwINFO))\n\t{\n\t\tOUTPUT(WSTR(\"%<C>Skip ED %<1>-> %08X\\n\"),ED.hwNextED);\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"%<B>ED %<1>-> %08X\\n\"),ED.hwNextED);\n\t\tOUTPUT(WSTR(\"|- FA [%02X] EN [%02X] D [%X] S [%X] K [%X] F [%X] MPS [%04X]\\n\"),ED.hwINFO&0x7F,(ED.hwINFO>>7)&0xF,(ED.hwINFO>>11)&0x3,(ED.hwINFO>>13)&0x1,(ED.hwINFO>>14)&0x1,(ED.hwINFO>>15)&0x1,(ED.hwINFO>>16)&0x7FF);\n\t\tOUTPUT(WSTR(\"|-TailP [%08X]\\n\"),ED.hwTailP&0xFFFFFFF0);\n\t\tOUTPUT(WSTR(\"|-HeadP [%08X] H [%X] C [%X]\\n\"),ED.hwHeadP&0xFFFFFFF0,ED.hwHeadP&0x1,(ED.hwHeadP>>1)&0x1);\n\t}\n}\n\n\nvoid DumpOHCIFrame(OHCI_CTRL_INFO*pOHCIInfo)\n{\n\tint Index;\n\tDWORD*pAddr;\n\tOHCI_ED*pED;\n\tOUTPUT(WSTR(\"OHCI BarOHCI %08X HCCA %08X\\n\"),pOHCIInfo->pOHCIRegs,pOHCIInfo->pOHCIRegs->HCCA);\n\tif(MapToVAddr(pOHCIInfo->pOHCIRegs->HCCA,(ULPOS*)&pAddr)==false)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Bad HCCA Address %08X\\n\"),pOHCIInfo->pOHCIRegs->HCCA);\n\t\treturn;\n\t}\n\tOUTPUT(WSTR(\"Frame Interrput Table\\n\"));\n\tfor(int n=0;n<32;n++)\n\t{\n\t\tif(MapToVAddr(pAddr[n],(ULPOS*)&pED)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<3>Error ED\\n\"));\n\t\t\tcontinue;\n\t\t}\n\t\tDumpOHCIED(*pED);\n\t}\n\tOUTPUT(WSTR(\"TDDoneHead %08X\\n\"),pAddr[0x21]);\n}\n\n//OHCI\n////////////////////////////////////////////////////////////\n\nint ohci_ed_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD Link;\n\tOHCI_ED*pED;\n\tif(argc==2 && CALCEXP(argv[1],(ULONG*)&Link))\n\t{\n\t\tif((Link&0xF)||MapToVAddr(Link,(ULPOS*)&pED)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%<3>Error : Bad ED Physical Address!\\n\"));\n\t\t\treturn 1;\n\t\t}\n\t\tDumpOHCIED(*pED);\n\t}\n\treturn 0;\n}\n\n\nint uhci_link_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD Link;\n\tif(argc==2 && CALCEXP(argv[1],(ULONG*)&Link))\n\t{\n\t\tDumpUHCILinkList(Link);\n\t}\n\treturn 0;\n}\n\nint usb_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tint Index;\n\tif(argc==1)\n\t{\n\t\tIndex = 0;\n\t\tfor(TList<UHCI_CTRL_INFO>::IT Iter = gpSyser->m_PCSystem.m_UHCIDevice.m_UHCICtrlList.Begin();Iter!=gpSyser->m_PCSystem.m_UHCIDevice.m_UHCICtrlList.End();Iter++)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%d. UHCI USBBase %X FrameBase %08X\\n\"),Index,Iter->USBBase,Iter->FrameBase);\n\t\t\tIndex++;\n\t\t}\n\t\tfor(TList<OHCI_CTRL_INFO>::IT Iter = gpSyser->m_PCSystem.m_OHCIDevice.m_OHCICtrlList.Begin();Iter!=gpSyser->m_PCSystem.m_OHCIDevice.m_OHCICtrlList.End();Iter++)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"%d. OHCI BarOHCI %08X HCCA %08X\\n\"),Index,Iter->pOHCIRegs,Iter->pOHCIRegs->HCCA);\n\t\t\tIndex++;\n\t\t}\n\t\treturn 0;\n\t}\n\tif(argc==2 && CALCEXP(argv[1],(ULONG*)&Index))\n\t{\n\t\tfor(TList<UHCI_CTRL_INFO>::IT Iter = gpSyser->m_PCSystem.m_UHCIDevice.m_UHCICtrlList.Begin();Iter!=gpSyser->m_PCSystem.m_UHCIDevice.m_UHCICtrlList.End();Iter++)\n\t\t{\n\t\t\tif(Index==0)\n\t\t\t{\n\t\t\t\tDumpUHCIFrame(&(*Iter));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex--;\n\t\t}\n\t\tfor(TList<OHCI_CTRL_INFO>::IT Iter = gpSyser->m_PCSystem.m_OHCIDevice.m_OHCICtrlList.Begin();Iter!=gpSyser->m_PCSystem.m_OHCIDevice.m_OHCICtrlList.End();Iter++)\n\t\t{\n\t\t\tif(Index==0)\n\t\t\t{\n\t\t\t\tDumpOHCIFrame(&(*Iter));\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tIndex--;\n\t\t}\n\t}\n\tOUTPUT(WSTR(\"Usage : usb [Index]\\n\"));\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Syser/Source/USBCmd.h",
    "content": "#ifndef _USB_CMD_H_\n#define _USB_CMD_H_\n\nDECLARE_SYSER_CMD(uhci_link_command);\nDECLARE_SYSER_CMD(usb_command);\nDECLARE_SYSER_CMD(ohci_ed_command);\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/Undoc.h",
    "content": "// My header which contains undocumented structures & function prototypes\n// used in BS\n//\n// Some structs are taken from Bo Branten's ntifs.h, some from NTOSKRNL.PDB for\n// Whistler build 2462 (this build contain type info in them), and other sources\n\n#ifndef __UNDOC_ \n#define __UNDOC_\n\n\n#ifdef __cplusplus\nextern \"C\"  {\n#endif\n\ntypedef unsigned long DWORD, *PDWORD;\ntypedef unsigned short WORD, *PWORD;\ntypedef unsigned char BYTE, *PBYTE;\n\ntypedef struct _KTHREAD *PKTHREAD, *PRKTHREAD;\ntypedef struct _KPROCESS *PKPROCESS ,*PRKPROCESS;\ntypedef struct _PEB *PPEB;\ntypedef struct _KINTERRUPT *PKINTERRUPT;\ntypedef struct _IO_TIMER *PIO_TIMER;\ntypedef struct _OBJECT_TYPE *POBJECT_TYPE;\ntypedef struct _CALLBACK_OBJECT *PCALLBACK_OBJECT;\ntypedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;\ntypedef struct _BUS_HANDLER *PBUS_HANDLER;\n\n#define ACCESS_ALLOWED_ACE_TYPE         (0x0)\n#define ACCESS_DENIED_ACE_TYPE          (0x1)\n#define SYSTEM_AUDIT_ACE_TYPE           (0x2)\n#define SYSTEM_ALARM_ACE_TYPE           (0x3)\n\n#define ANSI_DOS_STAR                   ('<')\n#define ANSI_DOS_QM                     ('>')\n#define ANSI_DOS_DOT                    ('\"')\n\n#define DOS_STAR                        (L'<')\n#define DOS_QM                          (L'>')\n#define DOS_DOT                         (L'\"')\n\n#define FILE_ACTION_ADDED               0x00000001\n#define FILE_ACTION_REMOVED             0x00000002\n#define FILE_ACTION_MODIFIED            0x00000003\n#define FILE_ACTION_RENAMED_OLD_NAME    0x00000004\n#define FILE_ACTION_RENAMED_NEW_NAME    0x00000005\n#define FILE_ACTION_ADDED_STREAM        0x00000006\n#define FILE_ACTION_REMOVED_STREAM      0x00000007\n#define FILE_ACTION_MODIFIED_STREAM     0x00000008\n\n#define FILE_EA_TYPE_BINARY             0xfffe\n#define FILE_EA_TYPE_ASCII              0xfffd\n#define FILE_EA_TYPE_BITMAP             0xfffb\n#define FILE_EA_TYPE_METAFILE           0xfffa\n#define FILE_EA_TYPE_ICON               0xfff9\n#define FILE_EA_TYPE_EA                 0xffee\n#define FILE_EA_TYPE_MVMT               0xffdf\n#define FILE_EA_TYPE_MVST               0xffde\n#define FILE_EA_TYPE_ASN1               0xffdd\n#define FILE_EA_TYPE_FAMILY_IDS         0xff01\n\n#define FILE_NEED_EA                    0x00000080\n\n#define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001\n#define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002\n#define FILE_NOTIFY_CHANGE_NAME         0x00000003\n#define FILE_NOTIFY_CHANGE_ATTRIBUTES   0x00000004\n#define FILE_NOTIFY_CHANGE_SIZE         0x00000008\n#define FILE_NOTIFY_CHANGE_LAST_WRITE   0x00000010\n#define FILE_NOTIFY_CHANGE_LAST_ACCESS  0x00000020\n#define FILE_NOTIFY_CHANGE_CREATION     0x00000040\n#define FILE_NOTIFY_CHANGE_EA           0x00000080\n#define FILE_NOTIFY_CHANGE_SECURITY     0x00000100\n#define FILE_NOTIFY_CHANGE_STREAM_NAME  0x00000200\n#define FILE_NOTIFY_CHANGE_STREAM_SIZE  0x00000400\n#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800\n#define FILE_NOTIFY_VALID_MASK          0x00000fff\n\n#define FILE_OPLOCK_BROKEN_TO_LEVEL_2   0x00000007\n#define FILE_OPLOCK_BROKEN_TO_NONE      0x00000008\n\n#define FILE_OPBATCH_BREAK_UNDERWAY     0x00000009\n\n#define FILE_CASE_SENSITIVE_SEARCH      0x00000001\n#define FILE_CASE_PRESERVED_NAMES       0x00000002\n#define FILE_UNICODE_ON_DISK            0x00000004\n#define FILE_PERSISTENT_ACLS            0x00000008\n#define FILE_FILE_COMPRESSION           0x00000010\n#define FILE_VOLUME_IS_COMPRESSED       0x00008000\n\n#define FILE_PIPE_BYTE_STREAM_TYPE      0x00000000\n#define FILE_PIPE_MESSAGE_TYPE          0x00000001\n\n#define FILE_PIPE_BYTE_STREAM_MODE      0x00000000\n#define FILE_PIPE_MESSAGE_MODE          0x00000001\n\n#define FILE_PIPE_QUEUE_OPERATION       0x00000000\n#define FILE_PIPE_COMPLETE_OPERATION    0x00000001\n\n#define FILE_PIPE_INBOUND               0x00000000\n#define FILE_PIPE_OUTBOUND              0x00000001\n#define FILE_PIPE_FULL_DUPLEX           0x00000002\n\n#define FILE_PIPE_DISCONNECTED_STATE    0x00000001\n#define FILE_PIPE_LISTENING_STATE       0x00000002\n#define FILE_PIPE_CONNECTED_STATE       0x00000003\n#define FILE_PIPE_CLOSING_STATE         0x00000004\n\n#define FILE_PIPE_CLIENT_END            0x00000000\n#define FILE_PIPE_SERVER_END            0x00000001\n\n#define FILE_PIPE_READ_DATA             0x00000000\n#define FILE_PIPE_WRITE_SPACE           0x00000001\n\n#define FILE_STORAGE_TYPE_SPECIFIED             0x00000041  // FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE\n#define FILE_STORAGE_TYPE_DEFAULT               (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_DIRECTORY             (StorageTypeDirectory << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_FILE                  (StorageTypeFile << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_DOCFILE               (StorageTypeDocfile << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_JUNCTION_POINT        (StorageTypeJunctionPoint << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_CATALOG               (StorageTypeCatalog << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_STRUCTURED_STORAGE    (StorageTypeStructuredStorage << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_EMBEDDING             (StorageTypeEmbedding << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_STORAGE_TYPE_STREAM                (StorageTypeStream << FILE_STORAGE_TYPE_SHIFT)\n#define FILE_MINIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_DEFAULT\n#define FILE_MAXIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_STREAM\n#define FILE_STORAGE_TYPE_MASK                  0x000f0000\n#define FILE_STORAGE_TYPE_SHIFT                 16\n\n#define FILE_VC_QUOTA_NONE              0x00000000\n#define FILE_VC_QUOTA_TRACK             0x00000001\n#define FILE_VC_QUOTA_ENFORCE           0x00000002\n#define FILE_VC_QUOTA_MASK              0x00000003\n\n#define FILE_VC_QUOTAS_LOG_VIOLATIONS   0x00000004\n#define FILE_VC_CONTENT_INDEX_DISABLED  0x00000008\n\n#define FILE_VC_LOG_QUOTA_THRESHOLD     0x00000010\n#define FILE_VC_LOG_QUOTA_LIMIT         0x00000020\n#define FILE_VC_LOG_VOLUME_THRESHOLD    0x00000040\n#define FILE_VC_LOG_VOLUME_LIMIT        0x00000080\n\n#define FILE_VC_QUOTAS_INCOMPLETE       0x00000100\n#define FILE_VC_QUOTAS_REBUILDING       0x00000200\n\n#define FILE_VC_VALID_MASK              0x000003ff\n\n#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)\n#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)\n\n#define FSRTL_FSP_TOP_LEVEL_IRP         (0x01)\n#define FSRTL_CACHE_TOP_LEVEL_IRP       (0x02)\n#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP   (0x03)\n#define FSRTL_FAST_IO_TOP_LEVEL_IRP     (0x04)\n#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG    (0x04)\n\n#define FSRTL_WILD_CHARACTER            0x08\n\n#define IO_CHECK_CREATE_PARAMETERS      0x0200\n#define IO_ATTACH_DEVICE                0x0400\n\n#define IO_ATTACH_DEVICE_API            0x80000000\n\n#define IO_COMPLETION_QUERY_STATE       0x0001\n#define IO_COMPLETION_MODIFY_STATE      0x0002\n#define IO_COMPLETION_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)\n\n#define IO_TYPE_APC                     18\n#define IO_TYPE_DPC                     19\n#define IO_TYPE_DEVICE_QUEUE            20\n#define IO_TYPE_EVENT_PAIR              21\n#define IO_TYPE_INTERRUPT               22\n#define IO_TYPE_PROFILE                 23\n\n#define LPC_REQUEST                     0x0001\n#define LPC_REPLY                       0x0002\n#define LPC_DATAGRAM                    0x0003\n#define LPC_LOST_REPLY                  0x0004\n#define LPC_PORT_CLOSED                 0x0005\n#define LPC_CLIENT_DIED                 0x0006\n#define LPC_EXCEPTION                   0x0007\n#define LPC_DEBUG_EVENT                 0x0008\n#define LPC_ERROR_EVENT                 0x0009\n#define LPC_CONNECTION_REQUEST          0x000A\n\n#define MAILSLOT_CLASS_FIRSTCLASS       1\n#define MAILSLOT_CLASS_SECONDCLASS      2\n\n#define MAILSLOT_SIZE_AUTO              0\n\n#define MAP_PROCESS                     1L\n#define MAP_SYSTEM                      2L\n\n#define MEM_DOS_LIM                     0x40000000\n#define MEM_IMAGE                       SEC_IMAGE\n\n#define OB_TYPE_TYPE                    1\n#define OB_TYPE_DIRECTORY               2\n#define OB_TYPE_SYMBOLIC_LINK           3\n#define OB_TYPE_TOKEN                   4\n#define OB_TYPE_PROCESS                 5\n#define OB_TYPE_THREAD                  6\n#define OB_TYPE_EVENT                   7\n#define OB_TYPE_EVENT_PAIR              8\n#define OB_TYPE_MUTANT                  9\n#define OB_TYPE_SEMAPHORE               10\n#define OB_TYPE_TIMER                   11\n#define OB_TYPE_PROFILE                 12\n#define OB_TYPE_WINDOW_STATION          13\n#define OB_TYPE_DESKTOP                 14\n#define OB_TYPE_SECTION                 15\n#define OB_TYPE_KEY                     16\n#define OB_TYPE_PORT                    17\n#define OB_TYPE_ADAPTER                 18\n#define OB_TYPE_CONTROLLER              19\n#define OB_TYPE_DEVICE                  20\n#define OB_TYPE_DRIVER                  21\n#define OB_TYPE_IO_COMPLETION           22\n#define OB_TYPE_FILE                    23\n\n#define PORT_CONNECT                    0x0001\n#define PORT_ALL_ACCESS                 (STANDARD_RIGHTS_ALL |\\\n                                         PORT_CONNECT)\n\n#define SEC_BASED                       0x00200000\n#define SEC_NO_CHANGE                   0x00400000\n#define SEC_FILE                        0x00800000\n#define SEC_IMAGE                       0x01000000\n//#define SEC_COMMIT                      0x08000000\n#define SEC_NOCACHE                     0x10000000\n\n#define SECURITY_WORLD_SID_AUTHORITY    {0,0,0,0,0,1}\n#define SECURITY_WORLD_RID              (0x00000000L)\n\n#define THREAD_STATE_INITIALIZED        0\n#define THREAD_STATE_READY              1\n#define THREAD_STATE_RUNNING            2\n#define THREAD_STATE_STANDBY            3\n#define THREAD_STATE_TERMINATED         4\n#define THREAD_STATE_WAIT               5\n#define THREAD_STATE_TRANSITION         6\n#define THREAD_STATE_UNKNOWN            7\n\n#define TOKEN_ASSIGN_PRIMARY            (0x0001)\n#define TOKEN_DUPLICATE                 (0x0002)\n#define TOKEN_IMPERSONATE               (0x0004)\n#define TOKEN_QUERY                     (0x0008)\n#define TOKEN_QUERY_SOURCE              (0x0010)\n#define TOKEN_ADJUST_PRIVILEGES         (0x0020)\n#define TOKEN_ADJUST_GROUPS             (0x0040)\n#define TOKEN_ADJUST_DEFAULT            (0x0080)\n\n#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\\\n                          TOKEN_ASSIGN_PRIMARY     |\\\n                          TOKEN_DUPLICATE          |\\\n                          TOKEN_IMPERSONATE        |\\\n                          TOKEN_QUERY              |\\\n                          TOKEN_QUERY_SOURCE       |\\\n                          TOKEN_ADJUST_PRIVILEGES  |\\\n                          TOKEN_ADJUST_GROUPS      |\\\n                          TOKEN_ADJUST_DEFAULT)\n\n#define TOKEN_READ       (STANDARD_RIGHTS_READ     |\\\n                          TOKEN_QUERY)\n\n#define TOKEN_WRITE      (STANDARD_RIGHTS_WRITE    |\\\n                          TOKEN_ADJUST_PRIVILEGES  |\\\n                          TOKEN_ADJUST_GROUPS      |\\\n                          TOKEN_ADJUST_DEFAULT)\n\n#define TOKEN_EXECUTE    (STANDARD_RIGHTS_EXECUTE)\n\n#define TOKEN_SOURCE_LENGTH 8\n\n#define FSCTL_GET_VOLUME_INFORMATION    0x90064\n#define FSCTL_READ_MFT_RECORD           0x90068\n\n#define FSCTL_MAILSLOT_PEEK             CTL_CODE(FILE_DEVICE_MAILSLOT, 0, METHOD_NEITHER, FILE_READ_DATA)\n\n#define FSCTL_PIPE_ASSIGN_EVENT         CTL_CODE(FILE_DEVICE_NAMED_PIPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_DISCONNECT           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_LISTEN               CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_PEEK                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_DATA)\n#define FSCTL_PIPE_QUERY_EVENT          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_TRANSCEIVE           CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER,  FILE_READ_DATA | FILE_WRITE_DATA)\n#define FSCTL_PIPE_WAIT                 CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_IMPERSONATE          CTL_CODE(FILE_DEVICE_NAMED_PIPE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_SET_CLIENT_PROCESS   CTL_CODE(FILE_DEVICE_NAMED_PIPE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)\n#define FSCTL_PIPE_QUERY_CLIENT_PROCESS CTL_CODE(FILE_DEVICE_NAMED_PIPE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)\n\n#define FSCTL_PIPE_INTERNAL_READ        CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2045, METHOD_BUFFERED, FILE_READ_DATA)\n#define FSCTL_PIPE_INTERNAL_WRITE       CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2046, METHOD_BUFFERED, FILE_WRITE_DATA)\n#define FSCTL_PIPE_INTERNAL_TRANSCEIVE  CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2047, METHOD_NEITHER, FILE_READ_DATA | FILE_WRITE_DATA)\n#define FSCTL_PIPE_INTERNAL_READ_OVFLOW CTL_CODE(FILE_DEVICE_NAMED_PIPE, 2048, METHOD_BUFFERED, FILE_READ_DATA)\n\n#define IOCTL_REDIR_QUERY_PATH          CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)\n\ntypedef PVOID PNOTIFY_SYNC;\ntypedef PVOID POBJECT;\ntypedef PVOID PPS_IMPERSONATION_INFO;\ntypedef PVOID PSECURITY_CLIENT_CONTEXT;\n\ntypedef struct _EPROCESS_QUOTA_BLOCK        *PEPROCESS_QUOTA_BLOCK;\ntypedef struct _HANDLE_TABLE                *PHANDLE_TABLE;\ntypedef struct _KEVENT_PAIR                 *PKEVENT_PAIR;\ntypedef struct _LPC_MESSAGE                 *PLPC_MESSAGE;\ntypedef struct _MMWSL                       *PMMWSL;\ntypedef struct _PEB                         *PPEB;\ntypedef struct _SERVICE_DESCRIPTOR_TABLE    *PSERVICE_DESCRIPTOR_TABLE;\ntypedef struct _TEB                         *PTEB;\n\ntypedef struct _SYSTEM_QUERY_TIME_ADJUSTMENT\n{\n\tULONG TimeAdjustment;\n\tULONG MaximumIncrement;\n\tBOOLEAN TimeSynchronization;\n}SYSTEM_QUERY_TIME_ADJUSTMENT,*PSYSTEM_QUERY_TIME_ADJUSTMENT;\n\n\ntypedef enum _FAST_IO_POSSIBLE {\n    FastIoIsPossible,\n    FastIoIsNotPossible,\n    FastIoIsQuestionable\n} FAST_IO_POSSIBLE;\n\ntypedef enum _FILE_STORAGE_TYPE {\n    StorageTypeDefault = 1,\n    StorageTypeDirectory,\n    StorageTypeFile,\n    StorageTypeJunctionPoint,\n    StorageTypeCatalog,\n    StorageTypeStructuredStorage,\n    StorageTypeEmbedding,\n    StorageTypeStream\n} FILE_STORAGE_TYPE;\n\ntypedef enum _IO_COMPLETION_INFORMATION_CLASS {\n    IoCompletionBasicInformation\n} IO_COMPLETION_INFORMATION_CLASS;\n\ntypedef enum _MMFLUSH_TYPE {\n    MmFlushForDelete,\n    MmFlushForWrite\n} MMFLUSH_TYPE;\n\ntypedef enum _OBJECT_INFO_CLASS {\n    ObjectBasicInfo,\n    ObjectNameInfo,\n    ObjectTypeInfo,\n    ObjectAllTypesInfo,\n    ObjectProtectionInfo\n} OBJECT_INFO_CLASS;\n\ntypedef enum _PORT_INFORMATION_CLASS {\n    PortNoInformation\n} PORT_INFORMATION_CLASS;\n\ntypedef enum _SID_NAME_USE {\n    SidTypeUser = 1,\n    SidTypeGroup,\n    SidTypeDomain,\n    SidTypeAlias,\n    SidTypeWellKnownGroup,\n    SidTypeDeletedAccount,\n    SidTypeInvalid,\n    SidTypeUnknown\n} SID_NAME_USE;\n\ntypedef enum _TOKEN_INFORMATION_CLASS {\n    TokenUser = 1,\n    TokenGroups,\n    TokenPrivileges,\n    TokenOwner,\n    TokenPrimaryGroup,\n    TokenDefaultDacl,\n    TokenSource,\n    TokenType,\n    TokenImpersonationLevel,\n    TokenStatistics,\n    TokenRestrictedSids\n} TOKEN_INFORMATION_CLASS;\n\ntypedef enum _TOKEN_TYPE {\n    TokenPrimary = 1,\n    TokenImpersonation\n} TOKEN_TYPE;\n\ntypedef struct _HARDWARE_PTE {\n    ULONG Valid             : 1;\n    ULONG Write             : 1;\n    ULONG Owner             : 1;\n    ULONG WriteThrough      : 1;\n    ULONG CacheDisable      : 1;\n    ULONG Accessed          : 1;\n    ULONG Dirty             : 1;\n    ULONG LargePage         : 1;\n    ULONG Global            : 1;\n    ULONG CopyOnWrite       : 1;\n    ULONG Prototype         : 1;\n    ULONG Reserved          : 1;\n    ULONG PageFrameNumber   : 20;\n} HARDWARE_PTE, *PHARDWARE_PTE;\n\ntypedef struct _KAPC_STATE {\n    LIST_ENTRY  ApcListHead[2];\n    PEPROCESS   Process;\n    BOOLEAN     KernelApcInProgress;\n    BOOLEAN     KernelApcPending;\n    BOOLEAN     UserApcPending;\n} KAPC_STATE, *PKAPC_STATE;\n\n\ntypedef struct _KTRAP_FRAME\n{\n    DWORD DbgEbp;\n    DWORD DbgEip;\n    DWORD DbgArgMark;\n    DWORD DbgArgPointer;\n    DWORD TempSegCs;\n    DWORD TempEsp;\n    DWORD Dr0;\n    DWORD Dr1;\n    DWORD Dr2;\n    DWORD Dr3;\n    DWORD Dr6;\n    DWORD Dr7;\n    DWORD SegGs;\n    DWORD SegEs;\n    DWORD SegDs;\n    DWORD Edx;\n    DWORD Ecx;\n    DWORD Eax;\n    DWORD PreviousPreviousMode;\n    struct _EXCEPTION_REGISTRATION_RECORD* ExceptionList;\n    DWORD SegFs;\n    DWORD Edi;\n    DWORD Esi;\n    DWORD Ebx;\n    DWORD Ebp;\n    DWORD ErrCode;\n    DWORD Eip;\n    DWORD SegCs;\n    DWORD EFlags;\n    DWORD HardwareEsp;\n    DWORD HardwareSegSs;\n    DWORD V86Es;\n    DWORD V86Ds;\n    DWORD V86Fs;\n    DWORD V86Gs;\n} KTRAP_FRAME;\n\ntypedef struct _KPROCESS {\n    DISPATCHER_HEADER   Header;\n    LIST_ENTRY          ProfileListHead;\n    UCHAR               DirectoryTableBase[8];\n    UCHAR               LdtDescriptor[8];\n    UCHAR               Int21Descriptor[8];\n    USHORT              IopmOffset;\n    UCHAR               Iopl;\n    UCHAR               VdmFlag;\n    ULONG               ActiveProcessors;\n    ULONG               KernelTime;\n    ULONG               UserTime;\n    LIST_ENTRY          ReadyListHead;  \n    LIST_ENTRY          SwapListEntry;\n    LIST_ENTRY          ThreadListHead;\n    KSPIN_LOCK          ProcessLock;\n    KAFFINITY           Affinity;\n    USHORT              StackCount;\n    UCHAR               BasePriority;\n    UCHAR               ThreadQuantum;\n    BOOLEAN             AutoAlignment;\n    UCHAR               State;\n    UCHAR               ThreadSeed;\n    BOOLEAN             DisableBoost;\n} KPROCESS, *PKPROCESS;\n\ntypedef struct _KTHREAD {\n    DISPATCHER_HEADER           Header;\n    LIST_ENTRY                  MutantListHead;\n    PVOID                       InitialStack;\n    PVOID                       StackLimit;\n    PTEB                        Teb;\n    PVOID                       TlsArray;\n    PVOID                       KernelStack;\n    BOOLEAN                     DebugActive;\n    UCHAR                       State;\n    USHORT                      Alerted;\n    UCHAR                       Iopl;\n    UCHAR                       NpxState;\n    UCHAR                       Saturation;\n    UCHAR                       Priority;\n    KAPC_STATE                  ApcState;\n    ULONG                       ContextSwitches;\n    NTSTATUS                    WaitStatus;\n    UCHAR                       WaitIrql;\n    UCHAR                       WaitMode;\n    UCHAR                       WaitNext;\n    UCHAR                       WaitReason;\n    PVOID                       WaitBlockList;\n    LIST_ENTRY                  WaitListEntry;\n    ULONG                       WaitTime;\n    UCHAR                       BasePriority;\n    UCHAR                       DecrementCount;\n    UCHAR                       PriorityDecrement;\n    UCHAR                       Quantum;\n    KWAIT_BLOCK                 WaitBlock[4];\n    ULONG                       LegoData;\n    ULONG                       KernelApcDisable;\n    ULONG                       UserAffinity;\n    BOOLEAN                     SystemAffinityActive;\n    UCHAR                       Pad[3];\n    PSERVICE_DESCRIPTOR_TABLE   ServiceDescriptorTable;\n    PVOID                       Queue;\n    KSPIN_LOCK                  ApcQueueLock;\n    KTIMER                      Timer;\n    LIST_ENTRY                  QueueListEntry;\n    ULONG                       Affinity;\n    BOOLEAN                     Preempted;\n    BOOLEAN                     ProcessReadyQueue;\n    BOOLEAN                     KernelStackResident;\n    UCHAR                       NextProcessor;\n    PVOID                       CallbackStack;\n    PVOID                       Win32Thread;\n    KTRAP_FRAME\t\t\t\t\t*TrapFrame;\n    PVOID                       ApcStatePointer[2];\n    BOOLEAN                     EnableStackSwap;\n    BOOLEAN                     LargeStack;\n    UCHAR                       ResourceIndex;\n    UCHAR                       PreviousMode;\n    ULONG                       KernelTime;\n    ULONG                       UserTime;\n    KAPC_STATE                  SavedApcState;\n    BOOLEAN                     Alertable;\n    UCHAR                       ApcStateIndex;\n    BOOLEAN                     ApcQueueable;\n    BOOLEAN                     AutoAlignment;\n    PVOID                       StackBase;\n    KAPC                        SuspendApc;\n    KSEMAPHORE                  SuspendSemaphore;\n    LIST_ENTRY                  ThreadListEntry;\n    UCHAR                       FreezeCount;\n    UCHAR                       SuspendCount;\n    UCHAR                       IdealProcessor;\n    BOOLEAN                     DisableBoost;\n} KTHREAD, *PKTHREAD;\n\ntypedef struct _MMSUPPORT {\n    LARGE_INTEGER   LastTrimTime;\n    ULONG           LastTrimFaultCount;\n    ULONG           PageFaultCount;\n    ULONG           PeakWorkingSetSize;\n    ULONG           WorkingSetSize;\n    ULONG           MinimumWorkingSetSize;\n    ULONG           MaximumWorkingSetSize;\n    PMMWSL          VmWorkingSetList;\n    LIST_ENTRY      WorkingSetExpansionLinks;\n    BOOLEAN         AllowWorkingSetAdjustment;\n    BOOLEAN         AddressSpaceBeingDeleted;\n    UCHAR           ForegroundSwitchCount;\n    UCHAR           MemoryPriority;\n} MMSUPPORT, *PMMSUPPORT;\n\ntypedef struct _SID_IDENTIFIER_AUTHORITY {\n    UCHAR Value[6];\n} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;\n\ntypedef struct _SID {\n    UCHAR                       Revision;\n    UCHAR                       SubAuthorityCount;\n    SID_IDENTIFIER_AUTHORITY    IdentifierAuthority;\n    ULONG                       SubAuthority[1];\n} SID, *PREAL_SID;\n\ntypedef struct _BITMAP_DESCRIPTOR {\n    ULONGLONG   StartLcn;\n    ULONGLONG   ClustersToEndOfVol;\n    UCHAR       Map[1];\n} BITMAP_DESCRIPTOR, *PBITMAP_DESCRIPTOR; \n\ntypedef struct _CACHE_UNINITIALIZE_EVENT {\n    struct _CACHE_UNINITIALIZE_EVENT    *Next;\n    KEVENT                              Event;\n} CACHE_UNINITIALIZE_EVENT, *PCACHE_UNINITIALIZE_EVENT;\n\ntypedef struct _CC_FILE_SIZES {\n    LARGE_INTEGER AllocationSize;\n    LARGE_INTEGER FileSize;\n    LARGE_INTEGER ValidDataLength;\n} CC_FILE_SIZES, *PCC_FILE_SIZES;\n\ntypedef struct _EPROCESS {\n    KPROCESS                        Pcb;\n    NTSTATUS                        ExitStatus;\n    KEVENT                          LockEvent;\n    ULONG                           LockCount;\n    LARGE_INTEGER                   CreateTime;\n    LARGE_INTEGER                   ExitTime;\n    PKTHREAD                        LockOwner;\n    ULONG                           UniqueProcessId;\n    LIST_ENTRY                      ActiveProcessLinks;\n    ULONGLONG                       QuotaPeakPoolUsage;\n    ULONGLONG                       QuotaPoolUsage;\n    ULONG                           PagefileUsage;\n    ULONG                           CommitCharge;\n    ULONG                           PeakPagefileUsage;\n    ULONG                           PeakVirtualSize;\n    ULONGLONG                       VirtualSize;\n    MMSUPPORT                       Vm;\n    ULONG                           LastProtoPteFault;\n    ULONG                           DebugPort;\n    ULONG                           ExceptionPort;\n    PHANDLE_TABLE                   ObjectTable;\n    PACCESS_TOKEN                   Token;\n    KMUTEX                          WorkingSetLock;\n    ULONG                           WorkingSetPage;\n    BOOLEAN                         ProcessOutswapEnabled;\n    BOOLEAN                         ProcessOutswapped;\n    BOOLEAN                         AddressSpaceInitialized;\n    BOOLEAN                         AddressSpaceDeleted;\n    KMUTEX                          AddressCreationLock;\n    KSPIN_LOCK                      HyperSpaceLock;\n    PETHREAD                        ForkInProgress;\n    USHORT                          VmOperation;\n    BOOLEAN                         ForkWasSuccessful;\n    UCHAR                           MmAgressiveWsTrimMask;\n    PKEVENT                         VmOperationEvent;\n    HARDWARE_PTE                    PageDirectoryPte;\n    ULONG                           LastFaultCount;\n    ULONG                           ModifiedPageCount;\n    PVOID                           VadRoot;\n    PVOID                           VadHint;\n    ULONG                           CloneRoot;\n    ULONG                           NumberOfPrivatePages;\n    ULONG                           NumberOfLockedPages;\n    USHORT                          NextPageColor;\n    BOOLEAN                         ExitProcessCalled;\n    BOOLEAN                         CreateProcessReported;\n    HANDLE                          SectionHandle;\n    PPEB                            Peb;\n    PVOID                           SectionBaseAddress;\n    PEPROCESS_QUOTA_BLOCK           QuotaBlock;\n    NTSTATUS                        LastThreadExitStatus;\n    PPROCESS_WS_WATCH_INFORMATION   WorkingSetWatch;\n    HANDLE                          Win32WindowStation;\n    HANDLE                          InheritedFromUniqueProcessId;\n    ACCESS_MASK                     GrantedAccess;\n    ULONG                           DefaultHardErrorProcessing;\n    PVOID                           LdtInformation;\n    PVOID                           VadFreeHint;\n    PVOID                           VdmObjects;\n    KMUTANT                         ProcessMutant;\n    UCHAR                           ImageFileName[16];\n    ULONG                           VmTrimFaultValue;\n    UCHAR                           SetTimerResolution;\n    UCHAR                           PriorityClass;\n    UCHAR                           SubSystemMinorVersion;\n    UCHAR                           SubSystemMajorVersion;\n    PVOID                           Win32Process;\n} EPROCESS, *PEPROCESS;\n\n\ntypedef struct _MMVad{\n\tDWORD\t\t\t\t\t\t\tStartingVpn;\n\tDWORD\t\t\t\t\t\t\tEndingVpn;\n\tstruct _MMVad*\t\t\t\t\tParent;\n\tstruct _MMVad*\t\t\t\t\tLeftChild;\n\tstruct _MMVad*\t\t\t\t\tRightChild;\n\tstruct {\n\t\tDWORD\t\t\t\t\t\tCommitCharge:19;\n\t\tDWORD\t\t\t\t\t\tPhysicalMapping:1;\n\t\tDWORD\t\t\t\t\t\tImageMap:1;\n\t\tDWORD\t\t\t\t\t\tUserPhysicalPages:1;\n\t\tDWORD\t\t\t\t\t\tNoChange:1;\n\t\tDWORD\t\t\t\t\t\tWriteWatch:1;\n\t\tDWORD\t\t\t\t\t\tProtection:5;\n\t\tDWORD\t\t\t\t\t\tLargePages:1;\n\t\tDWORD\t\t\t\t\t\tMemCommit:1;\n\t\tDWORD\t\t\t\t\t\tPrivateMemory:1;\n\t}u;\n\tPVOID\t\t\t\t\t\t\tControlArea;\n\tDWORD\t\t\t\t\t\t\tFirstPrototypePte;\n\tDWORD\t\t\t\t\t\t\tLastContiguousPte;\n\tstruct  {\n\t\tDWORD\t\t\t\t\t\tFileOffset:24;\n\t\tDWORD\t\t\t\t\t\tSecNoChange:1;\n\t\tDWORD\t\t\t\t\t\tOneSecured:1;\n\t\tDWORD\t\t\t\t\t\tMultipleSecured:1;\n\t\tDWORD\t\t\t\t\t\tReadOnly:1;\n\t\tDWORD\t\t\t\t\t\tLongVad:1;\n\t\tDWORD\t\t\t\t\t\tExtendableFile:1;\n\t\tDWORD\t\t\t\t\t\tInherit:1;\n\t\tDWORD\t\t\t\t\t\tCopyOnWrite:1;\t\t\n\t}u2;\n}MMVad,*PMMVad;\n\ntypedef struct _ETHREAD {\n    KTHREAD                 Tcb;\n    LARGE_INTEGER           CreateTime;\n    LARGE_INTEGER           ExitTime;\n    NTSTATUS                ExitStatus;\n    LIST_ENTRY              PostBlockList;\n    LIST_ENTRY              TerminationPortList;\n    KSPIN_LOCK              ActiveTimerListLock;\n    LIST_ENTRY              ActiveTimerListHead;\n    CLIENT_ID               Cid;\n    KSEMAPHORE              LpcReplySemaphore;\n    PLPC_MESSAGE            LpcReplyMessage;\n    ULONG                   LpcReplyMessageId;\n    ULONG                   PerformanceCountLow;\n    PPS_IMPERSONATION_INFO  ImpersonationInfo;\n    LIST_ENTRY              IrpList;\n    PVOID                   TopLevelIrp;\n    PVOID                   DeviceToVerify;\n    ULONG                   ReadClusterSize;\n    BOOLEAN                 ForwardClusterOnly;\n    BOOLEAN                 DisablePageFaultClustering;\n    BOOLEAN                 DeadThread;\n    BOOLEAN                 HasTerminated;\n    PKEVENT_PAIR            EventPair;\n    ACCESS_MASK             GrantedAccess;\n    PEPROCESS               ThreadsProcess;\n    PKSTART_ROUTINE         StartAddress;\n    PVOID                   Win32StartAddress;\n    BOOLEAN                 LpcExitThreadCalled;\n    BOOLEAN                 HardErrorsAreDisabled;\n    BOOLEAN                 LpcReceivedMsgIdValid;\n    BOOLEAN                 ActiveImpersonationInfo;\n    ULONG                   PerformanceCountHigh;\n} ETHREAD, *PETHREAD;\n\n/*\n * When needing these parameters cast your PIO_STACK_LOCATION to\n * PEXTENDED_IO_STACK_LOCATION\n */\n#if !defined(_ALPHA_)\n#include <pshpack4.h>\n#endif\ntypedef struct _EXTENDED_IO_STACK_LOCATION {\n\n    /* Included for padding */\n    UCHAR MajorFunction;\n    UCHAR MinorFunction;\n    UCHAR Flags;\n    UCHAR Control;\n\n    union {\n\n        struct {\n            ULONG                   OutputBufferLength;\n            ULONG                   InputBufferLength;\n            ULONG                   FsControlCode;\n            PVOID                   Type3InputBuffer;\n        } FileSystemControl;\n\n        struct {\n            PLARGE_INTEGER          Length;\n            ULONG                   Key;\n            LARGE_INTEGER           ByteOffset;\n        } LockControl;\n\n        struct {\n            ULONG                   Length;\n            ULONG                   CompletionFilter;\n        } NotifyDirectory;\n\n        struct {\n            ULONG                   Length;\n            PUNICODE_STRING         FileName;\n            FILE_INFORMATION_CLASS  FileInformationClass;\n            ULONG                   FileIndex;\n        } QueryDirectory;\n\n        struct {\n            ULONG                   Length;\n            PVOID                   EaList;\n            ULONG                   EaListLength;\n            ULONG                   EaaIndex;\n        } QueryEa;\n\n        struct {\n            ULONG                   Length;\n            FS_INFORMATION_CLASS    FsInformationClass;\n        } SetVolume;\n\n    } Parameters;\n\n} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;\n#if !defined(_ALPHA_)\n#include <poppack.h>\n#endif\n\ntypedef struct _FILE_ACCESS_INFORMATION {\n    ACCESS_MASK AccessFlags;\n} FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION;\n\ntypedef struct _FILE_ALLOCATION_INFORMATION {\n    LARGE_INTEGER AllocationSize;\n} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;\n\ntypedef struct _FILE_BOTH_DIR_INFORMATION {\n    ULONG           NextEntryOffset;\n    ULONG           FileIndex;\n    LARGE_INTEGER   CreationTime;\n    LARGE_INTEGER   LastAccessTime;\n    LARGE_INTEGER   LastWriteTime;\n    LARGE_INTEGER   ChangeTime;\n    LARGE_INTEGER   EndOfFile;\n    LARGE_INTEGER   AllocationSize;\n    ULONG           FileAttributes;\n    ULONG           FileNameLength;\n    ULONG           EaSize;\n    CCHAR           ShortNameLength;\n    WCHAR           ShortName[12];\n    WCHAR           FileName[1];\n} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;\n\ntypedef struct _FILE_COMPLETION_INFORMATION {\n    HANDLE  Port;\n    ULONG   Key;\n} FILE_COMPLETION_INFORMATION, *PFILE_COMPLETION_INFORMATION;\n\ntypedef struct _FILE_COMPRESSION_INFORMATION {\n    LARGE_INTEGER   CompressedFileSize;\n    USHORT          CompressionFormat;\n    UCHAR           CompressionUnitShift;\n    UCHAR           ChunkShift;\n    UCHAR           ClusterShift;\n    UCHAR           Reserved[3];\n} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;\n\ntypedef struct _FILE_COPY_ON_WRITE_INFORMATION {\n    BOOLEAN ReplaceIfExists;\n    HANDLE  RootDirectory;\n    ULONG   FileNameLength;\n    WCHAR   FileName[1];\n} FILE_COPY_ON_WRITE_INFORMATION, *PFILE_COPY_ON_WRITE_INFORMATION;\n\ntypedef struct _FILE_DIRECTORY_INFORMATION {\n    ULONG           NextEntryOffset;\n    ULONG           FileIndex;\n    LARGE_INTEGER   CreationTime;\n    LARGE_INTEGER   LastAccessTime;\n    LARGE_INTEGER   LastWriteTime;\n    LARGE_INTEGER   ChangeTime;\n    LARGE_INTEGER   EndOfFile;\n    LARGE_INTEGER   AllocationSize;\n    ULONG           FileAttributes;\n    ULONG           FileNameLength;\n    WCHAR           FileName[1];\n} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;\n\ntypedef struct _FILE_EA_INFORMATION {\n    ULONG EaSize;\n} FILE_EA_INFORMATION, *PFILE_EA_INFORMATION;\n\ntypedef struct _FILE_FS_ATTRIBUTE_INFORMATION {\n    ULONG   FileSystemAttributes;\n    LONG    MaximumComponentNameLength;\n    ULONG   FileSystemNameLength;\n    WCHAR   FileSystemName[1];\n} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;\n\ntypedef struct _FILE_FS_CONTROL_INFORMATION {\n    LARGE_INTEGER   FreeSpaceStartFiltering;\n    LARGE_INTEGER   FreeSpaceThreshold;\n    LARGE_INTEGER   FreeSpaceStopFiltering;\n    LARGE_INTEGER   DefaultQuotaThreshold;\n    LARGE_INTEGER   DefaultQuotaLimit;\n    ULONG           FileSystemControlFlags;\n} FILE_FS_CONTROL_INFORMATION, *PFILE_FS_CONTROL_INFORMATION;\n\n// typedef struct _FILE_FS_LABEL_INFORMATION {\n//     ULONG VolumeLabelLength;\n//     WCHAR VolumeLabel[1];\n// } FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION;\n\n// typedef struct _FILE_FS_SIZE_INFORMATION {\n//     LARGE_INTEGER   TotalAllocationUnits;\n//     LARGE_INTEGER   AvailableAllocationUnits;\n//     ULONG           SectorsPerAllocationUnit;\n//     ULONG           BytesPerSector;\n// } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION;\n\n// typedef struct _FILE_FS_VOLUME_INFORMATION {\n//     LARGE_INTEGER   VolumeCreationTime;\n//     ULONG           VolumeSerialNumber;\n//     ULONG           VolumeLabelLength;\n//     BOOLEAN         SupportsObjects;\n//     WCHAR           VolumeLabel[1];\n// } FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION;\n\ntypedef struct _FILE_FULL_DIR_INFORMATION {\n    ULONG           NextEntryOffset;\n    ULONG           FileIndex;\n    LARGE_INTEGER   CreationTime;\n    LARGE_INTEGER   LastAccessTime;\n    LARGE_INTEGER   LastWriteTime;\n    LARGE_INTEGER   ChangeTime;\n    LARGE_INTEGER   EndOfFile;\n    LARGE_INTEGER   AllocationSize;\n    ULONG           FileAttributes;\n    ULONG           FileNameLength;\n    ULONG           EaSize;\n    WCHAR           FileName[1];\n} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;\n\ntypedef struct _FILE_GET_EA_INFORMATION {\n    ULONG   NextEntryOffset;\n    UCHAR   EaNameLength;\n    CHAR    EaName[1];\n} FILE_GET_EA_INFORMATION, *PFILE_GET_EA_INFORMATION;\n\ntypedef struct _FILE_GET_QUOTA_INFORMATION {\n    ULONG   NextEntryOffset;\n    ULONG   SidLength;\n    SID     Sid;\n} FILE_GET_QUOTA_INFORMATION, *PFILE_GET_QUOTA_INFORMATION;\n\ntypedef struct _FILE_INTERNAL_INFORMATION {\n    LARGE_INTEGER IndexNumber;\n} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;\n\ntypedef struct _FILE_LINK_INFORMATION {\n    BOOLEAN ReplaceIfExists;\n    HANDLE  RootDirectory;\n    ULONG   FileNameLength;\n    WCHAR   FileName[1];\n} FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;\n\ntypedef struct _FILE_LOCK_ANCHOR {\n    LIST_ENTRY GrantedFileLockList;\n    LIST_ENTRY PendingFileLockList;\n} FILE_LOCK_ANCHOR, *PFILE_LOCK_ANCHOR;\n\ntypedef struct _FILE_MAILSLOT_PEEK_BUFFER {\n    ULONG ReadDataAvailable;\n    ULONG NumberOfMessages;\n    ULONG MessageLength;\n} FILE_MAILSLOT_PEEK_BUFFER, *PFILE_MAILSLOT_PEEK_BUFFER;\n\ntypedef struct _FILE_MAILSLOT_QUERY_INFORMATION {\n    ULONG           MaximumMessageSize;\n    ULONG           MailslotQuota;\n    ULONG           NextMessageSize;\n    ULONG           MessagesAvailable;\n    LARGE_INTEGER   ReadTimeout;\n} FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION;\n\ntypedef struct _FILE_MAILSLOT_SET_INFORMATION {\n    PLARGE_INTEGER ReadTimeout;\n} FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION;\n\ntypedef struct _FILE_MODE_INFORMATION {\n    ULONG Mode;\n} FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION;\n\n// This structure is included in the Windows 2000 DDK but is missing in the\n// Windows NT 4.0 DDK\n#if (_WIN32_WINNT < 0x0500)\ntypedef struct _FILE_NAME_INFORMATION {\n    ULONG FileNameLength;\n    WCHAR FileName[1];\n} FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;\n#endif // (_WIN32_WINNT < 0x0500)\n\ntypedef struct _FILE_ALL_INFORMATION {\n    FILE_BASIC_INFORMATION      BasicInformation;\n    FILE_STANDARD_INFORMATION   StandardInformation;\n    FILE_INTERNAL_INFORMATION   InternalInformation;\n    FILE_EA_INFORMATION         EaInformation;\n    FILE_ACCESS_INFORMATION     AccessInformation;\n    FILE_POSITION_INFORMATION   PositionInformation;\n    FILE_MODE_INFORMATION       ModeInformation;\n    FILE_ALIGNMENT_INFORMATION  AlignmentInformation;\n    FILE_NAME_INFORMATION       NameInformation;\n} FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION;\n\ntypedef struct _FILE_NAMES_INFORMATION {\n    ULONG NextEntryOffset;\n    ULONG FileIndex;\n    ULONG FileNameLength;\n    WCHAR FileName[1];\n} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;\n\ntypedef struct _FILE_NOTIFY_INFORMATION {\n    ULONG NextEntryOffset;\n    ULONG Action;\n    ULONG FileNameLength;\n    WCHAR FileName[1];\n} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;\n\ntypedef struct _FILE_OBJECTID_INFORMATION {\n    OBJECTID ObjectId;\n} FILE_OBJECTID_INFORMATION, *PFILE_OBJECTID_INFORMATION;\n\ntypedef struct _FILE_OLE_CLASSID_INFORMATION {\n    GUID ClassId;\n} FILE_OLE_CLASSID_INFORMATION, *PFILE_OLE_CLASSID_INFORMATION;\n\ntypedef struct _FILE_OLE_ALL_INFORMATION {\n    FILE_BASIC_INFORMATION          BasicInformation;\n    FILE_STANDARD_INFORMATION       StandardInformation;\n    FILE_INTERNAL_INFORMATION       InternalInformation;\n    FILE_EA_INFORMATION             EaInformation;\n    FILE_ACCESS_INFORMATION         AccessInformation;\n    FILE_POSITION_INFORMATION       PositionInformation;\n    FILE_MODE_INFORMATION           ModeInformation;\n    FILE_ALIGNMENT_INFORMATION      AlignmentInformation;\n    USN                             LastChangeUsn;\n    USN                             ReplicationUsn;\n    LARGE_INTEGER                   SecurityChangeTime;\n    FILE_OLE_CLASSID_INFORMATION    OleClassIdInformation;\n    FILE_OBJECTID_INFORMATION       ObjectIdInformation;\n    FILE_STORAGE_TYPE               StorageType;\n    ULONG                           OleStateBits;\n    ULONG                           OleId;\n    ULONG                           NumberOfStreamReferences;\n    ULONG                           StreamIndex;\n    ULONG                           SecurityId;\n    BOOLEAN                         ContentIndexDisable;\n    BOOLEAN                         InheritContentIndexDisable;\n    FILE_NAME_INFORMATION           NameInformation;\n} FILE_OLE_ALL_INFORMATION, *PFILE_OLE_ALL_INFORMATION;\n\ntypedef struct _FILE_OLE_DIR_INFORMATION {\n    ULONG               NextEntryOffset;\n    ULONG               FileIndex;\n    LARGE_INTEGER       CreationTime;\n    LARGE_INTEGER       LastAccessTime;\n    LARGE_INTEGER       LastWriteTime;\n    LARGE_INTEGER       ChangeTime;\n    LARGE_INTEGER       EndOfFile;\n    LARGE_INTEGER       AllocationSize;\n    ULONG               FileAttributes;\n    ULONG               FileNameLength;\n    FILE_STORAGE_TYPE   StorageType;\n    GUID                OleClassId;\n    ULONG               OleStateBits;\n    BOOLEAN             ContentIndexDisable;\n    BOOLEAN             InheritContentIndexDisable;\n    WCHAR               FileName[1];\n} FILE_OLE_DIR_INFORMATION, *PFILE_OLE_DIR_INFORMATION;\n\ntypedef struct _FILE_OLE_INFORMATION {\n    LARGE_INTEGER                   SecurityChangeTime;\n    FILE_OLE_CLASSID_INFORMATION    OleClassIdInformation;\n    FILE_OBJECTID_INFORMATION       ObjectIdInformation;\n    FILE_STORAGE_TYPE               StorageType;\n    ULONG                           OleStateBits;\n    BOOLEAN                         ContentIndexDisable;\n    BOOLEAN                         InheritContentIndexDisable;\n} FILE_OLE_INFORMATION, *PFILE_OLE_INFORMATION;\n\ntypedef struct _FILE_OLE_STATE_BITS_INFORMATION {\n    ULONG StateBits;\n    ULONG StateBitsMask;\n} FILE_OLE_STATE_BITS_INFORMATION, *PFILE_OLE_STATE_BITS_INFORMATION;\n\ntypedef struct _FILE_PIPE_ASSIGN_EVENT_BUFFER {\n    HANDLE  EventHandle;\n    ULONG   KeyValue;\n} FILE_PIPE_ASSIGN_EVENT_BUFFER, *PFILE_PIPE_ASSIGN_EVENT_BUFFER;\n\ntypedef struct _FILE_PIPE_CLIENT_PROCESS_BUFFER {\n    PVOID ClientSession;\n    PVOID ClientProcess;\n} FILE_PIPE_CLIENT_PROCESS_BUFFER, *PFILE_PIPE_CLIENT_PROCESS_BUFFER;\n\ntypedef struct _FILE_PIPE_EVENT_BUFFER {\n    ULONG NamedPipeState;\n    ULONG EntryType;\n    ULONG ByteCount;\n    ULONG KeyValue;\n    ULONG NumberRequests;\n} FILE_PIPE_EVENT_BUFFER, *PFILE_PIPE_EVENT_BUFFER;\n\ntypedef struct _FILE_PIPE_INFORMATION {\n    ULONG ReadMode;\n    ULONG CompletionMode;\n} FILE_PIPE_INFORMATION, *PFILE_PIPE_INFORMATION;\n\ntypedef struct _FILE_PIPE_LOCAL_INFORMATION {\n    ULONG NamedPipeType;\n    ULONG NamedPipeConfiguration;\n    ULONG MaximumInstances;\n    ULONG CurrentInstances;\n    ULONG InboundQuota;\n    ULONG ReadDataAvailable;\n    ULONG OutboundQuota;\n    ULONG WriteQuotaAvailable;\n    ULONG NamedPipeState;\n    ULONG NamedPipeEnd;\n} FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION;\n\ntypedef struct _FILE_PIPE_PEEK_BUFFER {\n    ULONG   NamedPipeState;\n    ULONG   ReadDataAvailable;\n    ULONG   NumberOfMessages;\n    ULONG   MessageLength;\n    CHAR    Data[1];\n} FILE_PIPE_PEEK_BUFFER, *PFILE_PIPE_PEEK_BUFFER;\n\ntypedef struct _FILE_PIPE_REMOTE_INFORMATION {\n    LARGE_INTEGER   CollectDataTime;\n    ULONG           MaximumCollectionCount;\n} FILE_PIPE_REMOTE_INFORMATION, *PFILE_PIPE_REMOTE_INFORMATION;\n\ntypedef struct _FILE_PIPE_WAIT_FOR_BUFFER {\n    LARGE_INTEGER   Timeout;\n    ULONG           NameLength;\n    BOOLEAN         TimeoutSpecified;\n    WCHAR           Name[1];\n} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;\n\ntypedef struct _FILE_QUOTA_INFORMATION {\n    ULONG           NextEntryOffset;\n    ULONG           SidLength;\n    LARGE_INTEGER   ChangeTime;\n    LARGE_INTEGER   QuotaUsed;\n    LARGE_INTEGER   QuotaThreshold;\n    LARGE_INTEGER   QuotaLimit;\n    SID             Sid;\n} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;\n\ntypedef struct _FILE_RENAME_INFORMATION {\n    BOOLEAN ReplaceIfExists;\n    HANDLE  RootDirectory;\n    ULONG   FileNameLength;\n    WCHAR   FileName[1];\n} FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;\n\ntypedef struct _FILE_STREAM_INFORMATION {\n    ULONG           NextEntryOffset;\n    ULONG           StreamNameLength;\n    LARGE_INTEGER   StreamSize;\n    LARGE_INTEGER   StreamAllocationSize;\n    WCHAR           StreamName[1];\n} FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION;\n\ntypedef struct _FSRTL_COMMON_FCB_HEADER {\n    CSHORT          NodeTypeCode;\n    CSHORT          NodeByteSize;\n    UCHAR           Flags;\n    UCHAR           IsFastIoPossible;\n#if (_WIN32_WINNT >= 0x0400)\n    UCHAR           Flags2;\n    UCHAR           Reserved;\n#endif // (_WIN32_WINNT >= 0x0400)\n    PERESOURCE      Resource;\n    PERESOURCE      PagingIoResource;\n    LARGE_INTEGER   AllocationSize;\n    LARGE_INTEGER   FileSize;\n    LARGE_INTEGER   ValidDataLength;\n} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;\n\ntypedef struct _GENERATE_NAME_CONTEXT {\n    USHORT  Checksum;\n    BOOLEAN CheckSumInserted;\n    UCHAR   NameLength;\n    WCHAR   NameBuffer[8];\n    ULONG   ExtensionLength;\n    WCHAR   ExtensionBuffer[4];\n    ULONG   LastIndexValue;\n} GENERATE_NAME_CONTEXT, *PGENERATE_NAME_CONTEXT;\n\ntypedef struct _MAPPING_PAIR {\n    ULONGLONG Vcn;\n    ULONGLONG Lcn;\n} MAPPING_PAIR, *PMAPPING_PAIR;\n\ntypedef struct _GET_RETRIEVAL_DESCRIPTOR {\n    ULONG           NumberOfPairs;\n    ULONGLONG       StartVcn;\n    MAPPING_PAIR    Pair[1];\n} GET_RETRIEVAL_DESCRIPTOR, *PGET_RETRIEVAL_DESCRIPTOR;\n\n\ntypedef struct _IO_COMPLETION_BASIC_INFORMATION {\n    LONG Depth;\n} IO_COMPLETION_BASIC_INFORMATION, *PIO_COMPLETION_BASIC_INFORMATION;\n\ntypedef struct _KEVENT_PAIR {\n    USHORT Type;\n    USHORT Size;\n    KEVENT Event1;\n    KEVENT Event2;\n} KEVENT_PAIR, *PKEVENT_PAIR;\n\ntypedef struct _KQUEUE {\n    DISPATCHER_HEADER   Header;\n    LIST_ENTRY          EntryListHead;\n    ULONG               CurrentCount;\n    ULONG               MaximumCount;\n    LIST_ENTRY          ThreadListHead;\n} KQUEUE, *PKQUEUE;\n\ntypedef struct _LPC_MESSAGE {\n    USHORT      DataLength;\n    USHORT      Length;\n    USHORT      MessageType;\n    USHORT      DataInfoOffset;\n    CLIENT_ID   ClientId;\n    ULONG       MessageId;\n    ULONG       CallbackId;\n} LPC_MESSAGE, *PLPC_MESSAGE;\n\ntypedef struct _LPC_OTHER_SIDE_MEMORY {\n    ULONG Length;\n    ULONG ViewSize;\n    PVOID ViewBase;\n} LPC_OTHER_SIDE_MEMORY, *PLPC_OTHER_SIDE_MEMORY;\n\ntypedef struct _LPC_THIS_SIDE_MEMORY {\n    ULONG   Length;\n    HANDLE  SectionHandle;\n    ULONG   OffsetInSection;\n    ULONG   ViewSize;\n    PVOID   ViewBase;\n    PVOID   OtherSideViewBase;\n} LPC_THIS_SIDE_MEMORY, *PLPC_THIS_SIDE_MEMORY;\n\ntypedef struct _MOVEFILE_DESCRIPTOR {\n     HANDLE         FileHandle; \n     ULONG          Reserved;   \n     LARGE_INTEGER  StartVcn; \n     LARGE_INTEGER  TargetLcn;\n     ULONG          NumVcns; \n     ULONG          Reserved1;  \n} MOVEFILE_DESCRIPTOR, *PMOVEFILE_DESCRIPTOR;\n\ntypedef struct _OBJECT_BASIC_INFO {\n    UCHAR Unknown1[8];\n    ULONG HandleCount;\n    ULONG ReferenceCount;\n    ULONG PagedQuota;\n    ULONG NonPagedQuota;\n    UCHAR Unknown2[32];\n} OBJECT_BASIC_INFO, *POBJECT_BASIC_INFO;\n\ntypedef struct _OBJECT_NAME_INFO {\n    UNICODE_STRING  ObjectName;\n    WCHAR           ObjectNameBuffer[1];\n} OBJECT_NAME_INFO, *POBJECT_NAME_INFO;\n\ntypedef struct _OBJECT_PROTECTION_INFO {\n    BOOLEAN Inherit;\n    BOOLEAN ProtectHandle;\n} OBJECT_PROTECTION_INFO, *POBJECT_PROTECTION_INFO;\n\ntypedef struct _OBJECT_TYPE {\n    ERESOURCE               Mutex;\n    LIST_ENTRY              TypeList;\n    UNICODE_STRING          Name;\n    LONG                    DefaultObject;\n    ULONG                   Index;\n    ULONG                   TotalNumberOfObjects;\n    ULONG                   TotalNumberOfHandles;\n    ULONG                   HighWaterNumberOfObjects;\n    ULONG                   HighWaterNumberOfHandles;\n    //OBJECT_TYPE_INITIALIZER TypeInfo;\n    ULONG                   Key;\n} OBJECT_TYPE, *POBJECT_TYPE;\n\ntypedef struct _OBJECT_TYPE_INFO {\n    UNICODE_STRING  ObjectTypeName;\n    UCHAR           Unknown[0x58];\n    WCHAR           ObjectTypeNameBuffer[1];\n} OBJECT_TYPE_INFO, *POBJECT_TYPE_INFO;\n\ntypedef struct _OBJECT_ALL_TYPES_INFO {\n    ULONG               NumberOfObjectTypes;\n    OBJECT_TYPE_INFO    ObjectsTypeInfo[1];\n} OBJECT_ALL_TYPES_INFO, *POBJECT_ALL_TYPES_INFO;\n\ntypedef struct _PATHNAME_BUFFER {\n    ULONG PathNameLength;\n    WCHAR Name[1];\n} PATHNAME_BUFFER, *PPATHNAME_BUFFER;\n\ntypedef struct _PUBLIC_BCB {\n    CSHORT          NodeTypeCode;\n    CSHORT          NodeByteSize;\n    ULONG           MappedLength;\n    LARGE_INTEGER   MappedFileOffset;\n} PUBLIC_BCB, *PPUBLIC_BCB;\n\ntypedef struct _QUERY_PATH_REQUEST {\n    ULONG                   PathNameLength;\n    PIO_SECURITY_CONTEXT    SecurityContext;\n    WCHAR                   FilePathName[1];\n} QUERY_PATH_REQUEST, *PQUERY_PATH_REQUEST;\n\ntypedef struct _QUERY_PATH_RESPONSE {\n    ULONG LengthAccepted;\n} QUERY_PATH_RESPONSE, *PQUERY_PATH_RESPONSE;\n\ntypedef struct _RETRIEVAL_POINTERS_BUFFER {\n    ULONG               ExtentCount;\n    LARGE_INTEGER       StartingVcn;\n    struct {\n        LARGE_INTEGER   NextVcn;\n        LARGE_INTEGER   Lcn;\n    } Extents[1];\n} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;\n\ntypedef struct _SERVICE_DESCRIPTOR_TABLE {\n    PVOID   ServiceTable;\n    PULONG  CounterTable;\n    ULONG   TableSize;\n    PUCHAR  ArgumentTable;\n} SERVICE_DESCRIPTOR_TABLE, *PSERVICE_DESCRIPTOR_TABLE;\n\ntypedef struct _SID_AND_ATTRIBUTES {\n    PSID    Sid;\n    ULONG   Attributes;\n} SID_AND_ATTRIBUTES, *PSID_AND_ATTRIBUTES;\n\ntypedef struct _STARTING_VCN_INPUT_BUFFER {\n    LARGE_INTEGER StartingVcn;\n} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;\n\ntypedef struct _TOKEN_SOURCE {\n    CCHAR   SourceName[TOKEN_SOURCE_LENGTH];\n    LUID    SourceIdentifier;\n} TOKEN_SOURCE, *PTOKEN_SOURCE;\n\ntypedef struct _TOKEN_CONTROL {\n    LUID            TokenId;\n    LUID            AuthenticationId;\n    LUID            ModifiedId;\n    TOKEN_SOURCE    TokenSource;\n} TOKEN_CONTROL, *PTOKEN_CONTROL;\n\ntypedef struct _TOKEN_DEFAULT_DACL {\n    PACL DefaultDacl;\n} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;\n\n\ntypedef struct _TOKEN_OWNER {\n    PSID Owner;\n} TOKEN_OWNER, *PTOKEN_OWNER;\n\ntypedef struct _TOKEN_PRIMARY_GROUP {\n    PSID PrimaryGroup;\n} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;\n\n\ntypedef struct _TOKEN_STATISTICS {\n    LUID                            TokenId;\n    LUID                            AuthenticationId;\n    LARGE_INTEGER                   ExpirationTime;\n    TOKEN_TYPE                      TokenType;\n    SECURITY_IMPERSONATION_LEVEL    ImpersonationLevel;\n    ULONG                           DynamicCharged;\n    ULONG                           DynamicAvailable;\n    ULONG                           GroupCount;\n    ULONG                           PrivilegeCount;\n    LUID                            ModifiedId;\n} TOKEN_STATISTICS, *PTOKEN_STATISTICS;\n\ntypedef struct _TOKEN_USER {\n    SID_AND_ATTRIBUTES User;\n} TOKEN_USER, *PTOKEN_USER;\n\nNTKERNELAPI\nBOOLEAN\nCcCanIWrite (\n    IN PFILE_OBJECT FileObject,\n    IN ULONG        BytesToWrite,\n    IN BOOLEAN      Wait,\n    IN BOOLEAN      Retrying\n);\n\nNTKERNELAPI\nBOOLEAN\nCcCopyRead (\n    IN PFILE_OBJECT         FileObject,\n    IN PLARGE_INTEGER       FileOffset,\n    IN ULONG                Length,\n    IN BOOLEAN              Wait,\n    OUT PVOID               Buffer,\n    OUT PIO_STATUS_BLOCK    IoStatus\n);\n\nNTKERNELAPI\nBOOLEAN\nCcCopyWrite (\n    IN PFILE_OBJECT     FileObject,\n    IN PLARGE_INTEGER   FileOffset,\n    IN ULONG            Length,\n    IN BOOLEAN          Wait,\n    IN PVOID            Buffer\n);\n\ntypedef VOID (*PCC_POST_DEFERRED_WRITE) (\n    IN PVOID Context1,\n    IN PVOID Context2\n);\n\nNTKERNELAPI\nVOID\nCcDeferWrite (\n    IN PFILE_OBJECT             FileObject,\n    IN PCC_POST_DEFERRED_WRITE  PostRoutine,\n    IN PVOID                    Context1,\n    IN PVOID                    Context2,\n    IN ULONG                    BytesToWrite,\n    IN BOOLEAN                  Retrying\n);\n\nNTKERNELAPI\nVOID\nCcFastCopyRead (\n    IN PFILE_OBJECT         FileObject,\n    IN ULONG                FileOffset,\n    IN ULONG                Length,\n    IN ULONG                PageCount,\n    OUT PVOID               Buffer,\n    OUT PIO_STATUS_BLOCK    IoStatus\n);\n\nNTKERNELAPI\nVOID\nCcFastCopyWrite (\n    IN PFILE_OBJECT FileObject,\n    IN ULONG        FileOffset,\n    IN ULONG        Length,\n    IN PVOID        Buffer\n);\n\nNTKERNELAPI\nVOID\nCcFlushCache (\n    IN PSECTION_OBJECT_POINTERS SectionObjectPointer,\n    IN PLARGE_INTEGER           FileOffset OPTIONAL,\n    IN ULONG                    Length,\n    OUT PIO_STATUS_BLOCK        IoStatus OPTIONAL\n);\n\ntypedef VOID (*PDIRTY_PAGE_ROUTINE) (\n    IN PFILE_OBJECT     FileObject,\n    IN PLARGE_INTEGER   FileOffset,\n    IN ULONG            Length,\n    IN PLARGE_INTEGER   OldestLsn,\n    IN PLARGE_INTEGER   NewestLsn,\n    IN PVOID            Context1,\n    IN PVOID            Context2\n);\n\nNTKERNELAPI\nLARGE_INTEGER\nCcGetDirtyPages (\n    IN PVOID                LogHandle,\n    IN PDIRTY_PAGE_ROUTINE  DirtyPageRoutine,\n    IN PVOID                Context1,\n    IN PVOID                Context2\n);\n\nNTKERNELAPI\nPFILE_OBJECT\nCcGetFileObjectFromBcb (\n    IN PVOID Bcb\n);\n\nNTKERNELAPI\nPFILE_OBJECT\nCcGetFileObjectFromSectionPtrs (\n    IN PSECTION_OBJECT_POINTERS SectionObjectPointer\n);\n\nNTKERNELAPI\nLARGE_INTEGER\nCcGetLsnForFileObject (\n    IN PFILE_OBJECT     FileObject,\n    OUT PLARGE_INTEGER  OldestLsn OPTIONAL\n);\n\ntypedef BOOLEAN (*PACQUIRE_FOR_LAZY_WRITE) (\n    IN PVOID    Context,\n    IN BOOLEAN  Wait\n);\n\ntypedef VOID (*PRELEASE_FROM_LAZY_WRITE) (\n    IN PVOID Context\n);\n\ntypedef BOOLEAN (*PACQUIRE_FOR_READ_AHEAD) (\n    IN PVOID    Context,\n    IN BOOLEAN  Wait\n);\n\ntypedef VOID (*PRELEASE_FROM_READ_AHEAD) (\n    IN PVOID Context\n);\n\ntypedef struct _CACHE_MANAGER_CALLBACKS {\n    PACQUIRE_FOR_LAZY_WRITE     AcquireForLazyWrite;\n    PRELEASE_FROM_LAZY_WRITE    ReleaseFromLazyWrite;\n    PACQUIRE_FOR_READ_AHEAD     AcquireForReadAhead;\n    PRELEASE_FROM_READ_AHEAD    ReleaseFromReadAhead;\n} CACHE_MANAGER_CALLBACKS, *PCACHE_MANAGER_CALLBACKS;\n\n\ntypedef struct _PEB_LDR_DATA {\n    ULONG Length;\n    BOOLEAN Initialized;\n    HANDLE SsHandle;\n    LIST_ENTRY InLoadOrderModuleList;\n    LIST_ENTRY InMemoryOrderModuleList;\n    LIST_ENTRY InInitializationOrderModuleList;\n} PEB_LDR_DATA, *PPEB_LDR_DATA;\n\n#include <pshpack1.h>\ntypedef struct _LDR_DATA_TABLE_ENTRY\n{\n    struct _LIST_ENTRY InLoadOrderLinks;\n    struct _LIST_ENTRY InMemoryOrderLinks;\n    struct _LIST_ENTRY InInitializationOrderLinks;\n    void* DllBase;\n    void* EntryPoint;\n    DWORD SizeOfImage;\n    struct _UNICODE_STRING FullDllName;\n    struct _UNICODE_STRING BaseDllName;\n    DWORD Flags;\n    WORD LoadCount;\n    WORD TlsIndex;\n    struct _LIST_ENTRY HashLinks;\n    void* SectionPointer;\n    DWORD CheckSum;\n    DWORD TimeDateStamp;\n    void* LoadedImports;\n    void* EntryPointActivationContext;\n} LDR_DATA_TABLE_ENTRY;\n\n#include <poppack.h>\n\ntypedef struct _PEB_FREE_BLOCK {\n    struct _PEB_FREE_BLOCK *Next;\n    ULONG Size;\n} PEB_FREE_BLOCK, *PPEB_FREE_BLOCK;\n\n\nstruct _CURDIR\n{\n    struct _UNICODE_STRING DosPath;\n    void* Handle;\n};\n\nstruct _RTL_DRIVE_LETTER_CURDIR\n{\n    WORD Flags;\n    WORD Length;\n    DWORD TimeStamp;\n    struct _STRING DosPath;\n};\n\n\nstruct _RTL_USER_PROCESS_PARAMETERS\n{\n    DWORD MaximumLength;\n    DWORD Length;\n    DWORD Flags;\n    DWORD DebugFlags;\n    void* ConsoleHandle;\n    DWORD ConsoleFlags;\n    void* StandardInput;\n    void* StandardOutput;\n    void* StandardError;\n    struct _CURDIR CurrentDirectory;\n    struct _UNICODE_STRING DllPath;\n    struct _UNICODE_STRING ImagePathName;\n    struct _UNICODE_STRING CommandLine;\n    void* Environment;\n    DWORD StartingX;\n    DWORD StartingY;\n    DWORD CountX;\n    DWORD CountY;\n    DWORD CountCharsX;\n    DWORD CountCharsY;\n    DWORD FillAttribute;\n    DWORD WindowFlags;\n    DWORD ShowWindowFlags;\n    struct _UNICODE_STRING WindowTitle;\n    struct _UNICODE_STRING DesktopInfo;\n    struct _UNICODE_STRING ShellInfo;\n    struct _UNICODE_STRING RuntimeData;\n    struct _RTL_DRIVE_LETTER_CURDIR CurrentDirectores[32];\n};\n\n#include <pshpack1.h>\ntypedef struct _PEB\n{\n    BYTE InheritedAddressSpace;\n    BYTE ReadImageFileExecOptions;\n    BYTE BeingDebugged;\n    BYTE SpareBool;\n    void* Mutant;\n    void* ImageBaseAddress;\n    struct _PEB_LDR_DATA* Ldr;\n    struct _RTL_USER_PROCESS_PARAMETERS* ProcessParameters;\n    void* SubSystemData;\n    void* ProcessHeap;\n    void* FastPebLock;\n    void* FastPebLockRoutine;\n    void* FastPebUnlockRoutine;\n    DWORD EnvironmentUpdateCount;\n    void* KernelCallbackTable;\n    DWORD SystemReserved[2];\n    struct _PEB_FREE_BLOCK* FreeList;\n    DWORD TlsExpansionCounter;\n    void* TlsBitmap;\n    DWORD TlsBitmapBits[2];\n    void* ReadOnlySharedMemoryBase;\n    void* ReadOnlySharedMemoryHeap;\n    void** ReadOnlyStaticServerData;\n    void* AnsiCodePageData;\n    void* OemCodePageData;\n    void* UnicodeCaseTableData;\n    DWORD NumberOfProcessors;\n    DWORD NtGlobalFlag;\n    LARGE_INTEGER CriticalSectionTimeout;\n    DWORD HeapSegmentReserve;\n    DWORD HeapSegmentCommit;\n    DWORD HeapDeCommitTotalFreeThreshold;\n    DWORD HeapDeCommitFreeBlockThreshold;\n    DWORD NumberOfHeaps;\n    DWORD MaximumNumberOfHeaps;\n    void** ProcessHeaps;\n    void* GdiSharedHandleTable;\n    void* ProcessStarterHelper;\n    DWORD GdiDCAttributeList;\n    void* LoaderLock;\n    DWORD OSMajorVersion;\n    DWORD OSMinorVersion;\n    WORD OSBuildNumber;\n    WORD OSCSDVersion;\n    DWORD OSPlatformId;\n    DWORD ImageSubsystem;\n    DWORD ImageSubsystemMajorVersion;\n    DWORD ImageSubsystemMinorVersion;\n    DWORD ImageProcessAffinityMask;\n    DWORD GdiHandleBuffer[34];\n    void* PostProcessInitRoutine;\n    void* TlsExpansionBitmap;\n    DWORD TlsExpansionBitmapBits[32];\n    DWORD SessionId;\n    ULARGE_INTEGER AppCompatFlags;\n    void* pShimData;\n    void* AppCompatInfo;\n    UNICODE_STRING CSDVersion;\n    void* ActivationContextData;\n    void* ProcessAssemblyStorageMap;\n    void* SystemDefaultActivationContextData;\n    void* SystemAssemblyStorageMap;\n    DWORD MinimumStackCommit;\n} PEB;\n\n#include <poppack.h>\n\n\nNTSYSAPI\nPVOID\nNTAPI\nRtlImageDirectoryEntryToData(\n    PVOID BaseOfImage,\n    BOOLEAN MappedAsImage,\n    USHORT DirectoryEntry,\n    PULONG Size\n    );\n\n\n//  GDT selectors - These defines are R0 selector numbers, which means\n//                  they happen to match the byte offset relative to\n//                  the base of the GDT.\n//\n\n#define KGDT_NULL       0\n#define KGDT_R0_CODE    8\n#define KGDT_R0_DATA    16\n#define KGDT_R3_CODE    24\n#define KGDT_R3_DATA    32\n#define KGDT_TSS        40\n#define KGDT_R0_PCR     48\n#define KGDT_R3_TEB     56\n#define KGDT_VDM_TILE   64\n#define KGDT_LDT        72\n#define KGDT_DF_TSS     80\n#define KGDT_NMI_TSS    88\n\n//\n// Exception Registration structure\n//\n\ntypedef struct _EXCEPTION_REGISTRATION_RECORD {\n    struct _EXCEPTION_REGISTRATION_RECORD *Next;\n    PEXCEPTION_ROUTINE Handler;\n} EXCEPTION_REGISTRATION_RECORD;\n\ntypedef EXCEPTION_REGISTRATION_RECORD *PEXCEPTION_REGISTRATION_RECORD;\n\n\n//typedef LARGE_INTEGER   QWORD;\n\n// =================================================================\n// SYSTEM INFO CLASSES\n// =================================================================\n\ntypedef enum _SYSTEMINFOCLASS\n    {\n    SystemBasicInformation,             // 0x002C\n    SystemProcessorInformation,         // 0x000C\n    SystemPerformanceInformation,       // 0x0138\n    SystemTimeInformation,              // 0x0020\n    SystemPathInformation,              // not implemented\n    SystemProcessInformation,           // 0x00C8+ per process\n    SystemCallInformation,              // 0x0018 + (n * 0x0004)\n    SystemConfigurationInformation,     // 0x0018\n    SystemProcessorCounters,            // 0x0030 per cpu\n    SystemGlobalFlag,                   // 0x0004\n    SystemInfo10,                       // not implemented\n    SystemModuleInformation,            // 0x0004 + (n * 0x011C)\n    SystemLockInformation,              // 0x0004 + (n * 0x0024)\n    SystemInfo13,                       // not implemented\n    SystemPagedPoolInformation,         // checked build only\n    SystemNonPagedPoolInformation,      // checked build only\n    SystemHandleInformation,            // 0x0004  + (n * 0x0010)\n    SystemObjectInformation,            // 0x0038+ + (n * 0x0030+)\n    SystemPageFileInformation,          // 0x0018+ per page file\n    SystemInstemulInformation,          // 0x0088\n    SystemInfo20,                       // invalid info class\n    SystemCacheInformation,             // 0x0024\n    SystemPoolTagInformation,           // 0x0004 + (n * 0x001C)\n    SystemInfo23,                       // 0x0000, or 0x0018 per cpu\n    SystemDpcInformation,               // 0x0014\n    SystemInfo25,                       // checked build only\n    SystemLoadDriver,                   // 0x0018, set mode only\n    SystemUnloadDriver,                 // 0x0004, set mode only\n    SystemTimeAdjustmentInformation,    // 0x000C, 0x0008 writeable\n    SystemInfo29,                       // checked build only\n    SystemInfo30,                       // checked build only\n    SystemInfo31,                       // checked build only\n    SystemCrashDumpInformation,         // 0x0004\n    SystemInfo33,                       // 0x0010\n    SystemCrashDumpStateInformation,    // 0x0004\n    SystemDebuggerInformation,          // 0x0002\n    SystemThreadSwitchInformation,      // 0x0030\n    SystemRegistryQuotaInformation,     // 0x000C\n    SystemAddDriver,                    // 0x0008, set mode only\n    SystemPrioritySeparationInformation,// 0x0004, set mode only\n    SystemInfo40,                       // not implemented\n    SystemInfo41,                       // not implemented\n    SystemInfo42,                       // invalid info class\n    SystemInfo43,                       // invalid info class\n    SystemTimeZoneInformation,          // 0x00AC\n    SystemLookasideInformation,         // n * 0x0020\n    MaxSystemInfoClass\n    }\n    SYSTEMINFOCLASS, *PSYSTEMINFOCLASS, **PPSYSTEMINFOCLASS;\n\n// =================================================================\n// SYSTEM INFO STRUCTURES\n// =================================================================\n// 00: SystemBasicInformation\n\ntypedef struct _SYSTEM_BASIC_INFORMATION\n    {\n    DWORD d00;                      // 0\n    DWORD dKeMaximumIncrement;      // x86: 0x0002625A or 0x00018730\n    DWORD dPageSize;                // bytes\n    DWORD dMmNumberOfPhysicalPages;\n    DWORD dMmLowestPhysicalPage;\n    DWORD dMmHighestPhysicalPage;\n    DWORD dAllocationGranularity;   // bytes\n    PVOID pLowestUserAddress;\n    PVOID pMmHighestUserAddress;\n    DWORD dKeActiveProcessors;\n    BYTE  bKeNumberProcessors;\n    BYTE  bReserved01;\n    WORD  wReserved02;\n    }\n        SYSTEM_BASIC_INFORMATION,\n     * PSYSTEM_BASIC_INFORMATION,\n    **PPSYSTEM_BASIC_INFORMATION;\n\n#define SYSTEM_BASIC_INFORMATION_ \\\n        sizeof (SYSTEM_BASIC_INFORMATION)\n\n// -----------------------------------------------------------------\n// 01: SystemProcessorInformation\n\ntypedef struct _SYSTEM_PROCESSOR_INFORMATION\n    {\n    WORD  wKeProcessorArchitecture; // 0=x86, 1=MIPS, 2=ALPHA, 3=PPC\n    WORD  wKeProcessorLevel;        // x86: family (5=Pentium)\n    WORD  wKeProcessorRevision;     // Pentium: H=model, L=stepping\n    WORD  w06;                      // 0\n    DWORD dKeFeatureBits;\n    }\n        SYSTEM_PROCESSOR_INFORMATION,\n     * PSYSTEM_PROCESSOR_INFORMATION,\n    **PPSYSTEM_PROCESSOR_INFORMATION;\n\n#define SYSTEM_PROCESSOR_INFORMATION_ \\\n        sizeof (SYSTEM_PROCESSOR_INFORMATION)\n\n// -----------------------------------------------------------------\n// 02: SystemPerformanceInformation\n\ntypedef struct _MM_INFO_COUNTERS\n    {\n    DWORD dPageFaults;\n    DWORD d04;\n    DWORD d08;\n    DWORD d0C;\n    DWORD d10;\n    DWORD d14;\n    DWORD d18;\n    DWORD d1C;\n    DWORD d20;\n    DWORD d24;\n    DWORD d28;\n    DWORD d2C;\n    DWORD d30;\n    }\n        MM_INFO_COUNTERS,\n     * PMM_INFO_COUNTERS,\n    **PPMM_INFO_COUNTERS;\n\n#define MM_INFO_COUNTERS_ \\\n        sizeof (MM_INFO_COUNTERS)\n\n// -----------------------------------------------------------------\n// 03: SystemTimeInformation\n\ntypedef struct _SYSTEM_TIME_INFORMATION\n    {\n    QWORD qKeBootTime;          // relative to 01-01-1601\n    QWORD qKeSystemTime;        // relative to 01-01-1601\n    QWORD dExpTimeZoneBias;     // utc time = local time + bias\n    DWORD dExpCurrentTimeZoneId;\n    DWORD dReserved01;\n    }\n        SYSTEM_TIME_INFORMATION,\n     * PSYSTEM_TIME_INFORMATION,\n    **PPSYSTEM_TIME_INFORMATION;\n\n#define SYSTEM_TIME_INFORMATION_ \\\n        sizeof (SYSTEM_TIME_INFORMATION)\n\n// -----------------------------------------------------------------\n// 04: SystemPathInformation (not implemented)\n\n// -----------------------------------------------------------------\n// 05: SystemProcessInformation\n//     see ExpGetProcessInformation()\n//     see also ExpCopyProcessInfo(), ExpCopyThreadInfo()\n\ntypedef struct _SYSTEM_THREAD\n    {\n    QWORD        qKernelTime;       // 100 nsec units\n    QWORD        qUserTime;         // 100 nsec units\n    QWORD        qCreateTime;       // relative to 01-01-1601\n    DWORD        d18;\n    PVOID        pStartAddress;\n    CLIENT_ID    Cid;               // process/thread ids\n    DWORD        dPriority;\n    DWORD        dBasePriority;\n    DWORD        dContextSwitches;\n    DWORD        dThreadState;      // 2=running, 5=waiting\n    KWAIT_REASON WaitReason;\n    DWORD        dReserved01;\n    }\n        SYSTEM_THREAD,\n     * PSYSTEM_THREAD,\n    **PPSYSTEM_THREAD;\n\n#define SYSTEM_THREAD_ \\\n        sizeof (SYSTEM_THREAD)\n\ntypedef struct _SYSTEM_THREAD_INFORMATION {\n    LARGE_INTEGER KernelTime;\n    LARGE_INTEGER UserTime;\n    LARGE_INTEGER CreateTime;\n    ULONG WaitTime;\n    PVOID StartAddress;\n    CLIENT_ID ClientId;\n    KPRIORITY Priority;\n    LONG BasePriority;\n    ULONG ContextSwitches;\n    ULONG ThreadState;\n    ULONG WaitReason;\n} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\ntypedef struct __SYSTEM_PROCESS_INFORMATION\n    {\n    DWORD          dNext;           // relative offset\n    DWORD          dThreadCount;\n    DWORD          dReserved01;\n    DWORD          dReserved02;\n    DWORD          dReserved03;\n    DWORD          dReserved04;\n    DWORD          dReserved05;\n    DWORD          dReserved06;\n    QWORD          qCreateTime;     // relative to 01-01-1601\n    QWORD          qUserTime;       // 100 nsec units\n    QWORD          qKernelTime;     // 100 nsec units\n    UNICODE_STRING usName;\n    KPRIORITY      BasePriority;\n    DWORD          dUniqueProcessId;\n    DWORD          dInheritedFromUniqueProcessId;\n    DWORD          dHandleCount;\n    DWORD          dReserved07;\n    DWORD          dReserved08;\n    VM_COUNTERS    VmCounters;\n    DWORD          dCommitCharge;   // bytes\n    SYSTEM_THREAD  ast [1];\n    }\n        _SYSTEM_PROCESS_INFORMATION1,\n     * _PSYSTEM_PROCESS_INFORMATION1,\n    **_PPSYSTEM_PROCESS_INFORMATION1;\n\n#define SYSTEM_PROCESS_INFORMATION_ \\\n        sizeof (SYSTEM_PROCESS_INFORMATION)\n\ntypedef struct _SYSTEM_PROCESS_INFORMATION {\n    ULONG NextEntryOffset;\n    ULONG NumberOfThreads;\n    LARGE_INTEGER SpareLi1;\n    LARGE_INTEGER SpareLi2;\n    LARGE_INTEGER SpareLi3;\n    LARGE_INTEGER CreateTime;\n    LARGE_INTEGER UserTime;\n    LARGE_INTEGER KernelTime;\n    UNICODE_STRING ImageName;\n    KPRIORITY BasePriority;\n    HANDLE UniqueProcessId;\n    HANDLE InheritedFromUniqueProcessId;\n    ULONG HandleCount;\n    ULONG SessionId;\n    ULONG SpareUl3;\n    SIZE_T PeakVirtualSize;\n    SIZE_T VirtualSize;\n    ULONG PageFaultCount;\n    ULONG PeakWorkingSetSize;\n    ULONG WorkingSetSize;\n    SIZE_T QuotaPeakPagedPoolUsage;\n    SIZE_T QuotaPagedPoolUsage;\n    SIZE_T QuotaPeakNonPagedPoolUsage;\n    SIZE_T QuotaNonPagedPoolUsage;\n    SIZE_T PagefileUsage;\n    SIZE_T PeakPagefileUsage;\n    SIZE_T PrivatePageCount;\n    SYSTEM_THREAD_INFORMATION ThreadInfo[1];\n} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;\n\n\n// -----------------------------------------------------------------\n// 06: SystemCallInformation\n//     see KeServiceDescriptorTable, KeServiceDescriptorTableShadow\n\ntypedef struct _SYSTEM_CALL_INFORMATION\n    {\n    DWORD dSize;                // bytes, including all entries\n    DWORD dTables;              // 2 or 4, 0=ntoskrnl, 1=win32k\n    DWORD adData [1];            // table sizes, table data\n    }\n        SYSTEM_CALL_INFORMATION,\n     * PSYSTEM_CALL_INFORMATION,\n    **PPSYSTEM_CALL_INFORMATION;\n\n#define SYSTEM_CALL_INFORMATION_ \\\n        sizeof (SYSTEM_CALL_INFORMATION)\n\n#define SYSTEM_CALL_INFORMATION_VALUES($psci) \\\n        (($psci)->adData + ($psci)->dTables)\n\n// -----------------------------------------------------------------\n// 07: SystemConfigurationInformation\n//     see IoGetConfigurationInformation ()\n\ntypedef struct _SYSTEM_CONFIGURATION_INFORMATION\n    {\n    DWORD dDiskCount;\n    DWORD dFloppyCount;\n    DWORD dCDRomCount;\n    DWORD dTapeCount;\n    DWORD dSerialCount;         // com port with mouse not included\n    DWORD dParallelCount;\n    }\n        SYSTEM_CONFIGURATION_INFORMATION,\n     * PSYSTEM_CONFIGURATION_INFORMATION,\n    **PPSYSTEM_CONFIGURATION_INFORMATION;\n\n#define SYSTEM_CONFIGURATION_INFORMATION_ \\\n        sizeof (SYSTEM_CONFIGURATION_INFORMATION)\n\n// -----------------------------------------------------------------\n// 08: SystemProcessorCounters\n//     see KiProcessorBlock\n\ntypedef struct _SYSTEM_PROCESSOR_COUNTERS\n    {\n    QWORD qProcessorTime;       // 100 nsec units\n    QWORD qTotalTime;           // 100 nsec units\n    QWORD qUserTime;            // 100 nsec units\n    QWORD qDpcTime;             // 100 nsec units\n    QWORD qInterruptTime;       // 100 nsec units\n    DWORD dInterruptCount;\n    DWORD dReserved01;\n    }\n        SYSTEM_PROCESSOR_COUNTERS,\n     * PSYSTEM_PROCESSOR_COUNTERS,\n    **PPSYSTEM_PROCESSOR_COUNTERS;\n\n#define SYSTEM_PROCESSOR_COUNTERS_ \\\n        sizeof (SYSTEM_PROCESSOR_COUNTERS)\n\n// -----------------------------------------------------------------\n// 09: SystemGlobalFlag\n//     see NtGlobalFlag\n\ntypedef struct _SYSTEM_GLOBAL_FLAG\n    {\n    DWORD dNtGlobalFlag;        // see Q147314, Q102985, Q105677\n    }\n        SYSTEM_GLOBAL_FLAG,\n     * PSYSTEM_GLOBAL_FLAG,\n    **PPSYSTEM_GLOBAL_FLAG;\n\n#define SYSTEM_GLOBAL_FLAG_ \\\n        sizeof (SYSTEM_GLOBAL_FLAG)\n\n// -----------------------------------------------------------------\n// 10: SystemInfo10 (not implemented)\n\n// -----------------------------------------------------------------\n// 11: SystemModuleInformation\n//     see ExpQueryModuleInformation\n\ntypedef struct _SYSTEM_MODULE\n    {\n    DWORD dReserved01;\n    DWORD d04;\n    PVOID pAddress;\n    DWORD dSize;                // bytes\n    DWORD dFlags;\n    WORD  wId;                  // zero based\n    WORD  wRank;                // 0 if not assigned\n    WORD  w18;\n    WORD  wNameOffset;\n    BYTE  abName [MAXIMUM_FILENAME_LENGTH];\n    }\n        SYSTEM_MODULE,\n     * PSYSTEM_MODULE,\n    **PPSYSTEM_MODULE;\n\n#define SYSTEM_MODULE_ \\\n        sizeof (SYSTEM_MODULE)\n\n// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\ntypedef struct _SYSTEM_MODULE_INFORMATION\n    {\n    DWORD         dCount;\n    SYSTEM_MODULE aSM [1];\n    }\n        SYSTEM_MODULE_INFORMATION,\n     * PSYSTEM_MODULE_INFORMATION,\n    **PPSYSTEM_MODULE_INFORMATION;\n\n#define SYSTEM_MODULE_INFORMATION_ \\\n        sizeof (SYSTEM_MODULE_INFORMATION)\n\nNTSTATUS NTAPI\nZwQuerySystemInformation (SYSTEMINFOCLASS sic,\n                          PVOID           pData,\n                          DWORD           dSize,\n                          PDWORD          pdSize);\n\n\n\n\nstruct _Wx86ThreadState\n{\n    DWORD* CallBx86Eip;\n    void* DeallocationCpu;\n    BYTE UseKnownWx86Dll;\n    char OleStubInvoked;\n};\n\ntypedef struct _ACTIVATION_CONTEXT_STACK\n{\n    DWORD Flags;\n    void* ActiveFrame;\n    struct _LIST_ENTRY FrameListCache;\n    DWORD NextCookieSequenceNumber;\n} ACTIVATION_CONTEXT_STACK;\n\n\ntypedef struct _GDI_TEB_BATCH\n{\n    DWORD Offset;\n    DWORD HDC;\n    DWORD Buffer[310];\n} GDI_TEB_BATCH;\n\n\ntypedef struct _TEB\n{\n    NT_TIB NtTib;\n    void* EnvironmentPointer;\n    CLIENT_ID ClientId;\n    void* ActiveRpcHandle;\n    void* ThreadLocalStoragePointer;\n    PEB* ProcessEnvironmentBlock;\n    DWORD LastErrorValue;\n    DWORD CountOfOwnedCriticalSections;\n    void* CsrClientThread;\n    void* Win32ThreadInfo;\n    DWORD User32Reserved[26];\n    DWORD UserReserved[5];\n    void* WOW32Reserved;\n    DWORD CurrentLocale;\n    DWORD FpSoftwareStatusRegister;\n    void* SystemReserved1[54];\n    long ExceptionCode;\n    BYTE SpareBytes1[44];\n    GDI_TEB_BATCH GdiTebBatch;\n    CLIENT_ID RealClientId;\n    void* GdiCachedProcessHandle;\n    DWORD GdiClientPID;\n    DWORD GdiClientTID;\n    void* GdiThreadLocalInfo;\n    DWORD Win32ClientInfo[62];\n    void* glDispatchTable[233];\n    DWORD glReserved1[29];\n    void* glReserved2;\n    void* glSectionInfo;\n    void* glSection;\n    void* glTable;\n    void* glCurrentRC;\n    void* glContext;\n    DWORD LastStatusValue;\n    UNICODE_STRING StaticUnicodeString;\n    WORD StaticUnicodeBuffer[261];\n    void* DeallocationStack;\n    void* TlsSlots[64];\n    LIST_ENTRY TlsLinks;\n    void* Vdm;\n    void* ReservedForNtRpc;\n    void* DbgSsReserved[2];\n    DWORD HardErrorsAreDisabled;\n    void* Instrumentation[16];\n    void* WinSockData;\n    DWORD GdiBatchCount;\n    BYTE InDbgPrint;\n    BYTE FreeStackOnTermination;\n    BYTE HasFiberData;\n    BYTE SpareB3;\n    DWORD Spare3;\n    void* ReservedForPerf;\n    void* ReservedForOle;\n    DWORD WaitingOnLoaderLock;\n    struct _Wx86ThreadState Wx86Thread;\n    void** TlsExpansionSlots;\n    DWORD ImpersonationLocale;\n    DWORD IsImpersonating;\n    void* NlsCache;\n    void* pShimData;\n    ACTIVATION_CONTEXT_STACK ActivationContextStack;\n} TEB;\n\nNTKERNELAPI\nVOID\nKeAttachProcess (\n    IN PRKPROCESS Process\n    );\n\nNTKERNELAPI\nVOID\nKeDetachProcess (\n    VOID\n    );\n\nNTSYSAPI\nNTSTATUS\nNTAPI\nZwOpenDirectoryObject(\n\t\t\t\t\t\tOUT PHANDLE DirectoryHandle,\n\t\t\t\t\t\tIN ACCESS_MASK DesiredAccess,\n\t\t\t\t\t\tIN POBJECT_ATTRIBUTES ObjectAttributes\n\t\t\t\t\t\t);\nNTSTATUS PsLookupProcessByProcessId(HANDLE ProcId, PEPROCESS* ppEP);\n\n#ifdef __cplusplus\n}\n#endif\n\n\n#endif __UNDOC_\n"
  },
  {
    "path": "Project/Syser/Source/VMWareSupport.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nbool SyserVMWareTest(VOID);\nVOID SyserIsDisableVmMouse(BYTE  *PortValue1,BYTE *PortValue2);\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\nbool gInVMWARE=false;\nbool gIsSupportVMMouse=false;\nbool VMWareTest()\n{\n\tBYTE PortValue1,PortValue2;\n\t__try\n\t{\n// \t\t__asm\n// \t\t{\n// \t\t\tpushad \n// \t\t\tpushfd\n// \t\t\txor ebx,ebx\n// \t\t\tmov ecx,0xa \n// \t\t\tmov eax, 'VMXh'\t\t\t; EAX=magic\n// \t\t\tmov dx, 'VX'\t\t\t; DX=magic\n// \t\t\tin  eax, dx\t\t\t\t; specially processed io cmd\n// \t\t\tcmp ebx, 'VMXh'\t\t\t; also eax/ecx modified (maybe vmw/os ver?)\n// \t\t\tjne local_001\n// \t\t\tmov gInVMWARE,1\n// local_001:\n// \t\t\tpopfd\n// \t\t\tpopad\n// \t\t}\n\n\t\tgInVMWARE = SyserVMWareTest();\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\tgInVMWARE=false;\n\t}\n\n\tif(gInVMWARE)\n\t{\n\t\t//gIsSupportVMMouse = IsSupportVMMouse();\n\t\tDbgPrint(\"Syser : Host machine is VMWare!\\n\");\t\t\n// \t\t__asm\n// \t\t{\n// \t\t\tpush eax \n// \t\t\tpush edx \n// \t\t\txor eax,eax \n// \t\t\tin al,0x64 \n// \t\t\tmov PortValue1,al \n// \t\t\txor eax,eax \n// \t\t\tin eax,0x64 \n// \t\t\tmov PortValue2,al \n// \t\t\tpop edx\n// \t\t\tpop eax\n// \t\t}\n\n\t\tSyserIsDisableVmMouse(&PortValue1,&PortValue2);\n\n\t\tif(PortValue1!=PortValue2)\n\t\t{\n\t\t\tDbgPrint(\"Syser : VMWare version < 5,need modify the virtual machine config file.(.vmx)\\n\");\t\t\t\n\t\t\tDbgPrint(\"Syser : Add the following one line:\\n\");\n\t\t\tDbgPrint(\"Syser :     vmmouse.present = FALSE\\n\");\n\t\t}\n\t}\n\treturn gInVMWARE;\n}\n// \n// \n// void FlushMouseBuffer(WORD CommandPort,WORD DataPort)\n// {\n// \t__asm\n// \t{\n// \t\tret\n// \t\tpush edx \n// \t\tpush eax\n// \t\tmov dx,CommandPort \n// \t\tmov eax,0x18\n// \t\tout dx,eax \n// \t\tmov dx,DataPort \n// \t\tmov eax,0 \n// \t\tout dx,eax \n// \t\tmov dx,CommandPort \n// \t\tmov eax,0x18\n// \t\tout dx,eax \n// \t\tmov dx,DataPort \n// \t\tmov eax,2 \n// \t\tout dx,eax \n// \t\tpop eax \n// \t\tpop edx\n// \t}\n// }\n\n\t/*\n\tout(pciһ˿ڣSET_CURSOR_POINT_FLAG\n\tout(pciڶ˿ڣ0x1\n\tout(pciһ˿ڣSET_CURSOR_POINT_X\n\tout(pciڶ˿ڣx꣩\n\tout(pciһ˿ڣSET_CURSOR_POINT_Y\n\tout(pciڶ˿ڣy꣩\n\tout(pciһ˿ڣSET_ACCESS_FLAG\n\tout(pciڶ˿ڣ0x1\n*/\nvoid GetVMWareMousePos(DWORD* mousex,DWORD* mousey)\n{\n\tDWORD x,y,CommandPort,DataPort;\n\tCommandPort = gpSyser->m_PCSystem.m_VmwareVideoCommandPort;\n\tDataPort=gpSyser->m_PCSystem.m_VmwareVideoDatePort;\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tpush edx\n// \t\tmov edx,CommandPort \n// \t\tmov eax,0x19 \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tin eax,dx \n// \t\tmov x,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,0x1a \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tin eax,dx \n// \t\tmov y,eax \n// \t\tpop edx \n// \t\tpop eax\n// \t}\n\n\tSyserWritePortDword(CommandPort,0x19);\n\tx = SyserReadPortDword(DataPort);\n\tSyserWritePortDword(CommandPort,0x1a);\n\ty = SyserReadPortDword(DataPort);\n\n\t*mousex=x;\n\t*mousey=y;\n}\nvoid SetVMWareMousePos(DWORD CommandPort,DWORD DataPort,DWORD mousex,DWORD mousey)\n{\n\tSyserWritePortDword(CommandPort,VMWARESET_CURSOR_POINT_FLAG);\n\tSyserWritePortDword(DataPort,1);\n\n\tSyserWritePortDword(CommandPort,VMWARESET_CURSOR_POINT_X);\n\tSyserWritePortDword(DataPort,mousex);\n\n\tSyserWritePortDword(CommandPort,VMWARESET_CURSOR_POINT_Y);\n\tSyserWritePortDword(DataPort,mousey);\n\n\tSyserWritePortDword(CommandPort,VMWARESET_ACCESS_FLAG);\n\tSyserWritePortDword(DataPort,0);\n// \t__asm\n// \t{\n// \t\tpush eax \n// \t\tpush edx\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_FLAG\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,1\n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_X\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousex \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_Y\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousey \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_ACCESS_FLAG \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,0 \n// \t\tout dx,eax\n// \t\t/*\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_FLAG\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,0\n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_X\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousex \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_Y\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousey \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_ACCESS_FLAG \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,0 \n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_FLAG\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,1\n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_X\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousex \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_Y\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousey \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_ACCESS_FLAG \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,0 \n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_FLAG\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,0\n// \t\tout dx,eax\n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_X\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousex \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_CURSOR_POINT_Y\n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,mousey \n// \t\tout dx,eax \n// \t\tmov edx,CommandPort \n// \t\tmov eax,VMWARESET_ACCESS_FLAG \n// \t\tout dx,eax \n// \t\tmov edx,DataPort\n// \t\tmov eax,1 \n// \t\tout dx,eax\n// \t\t*/\n// \t\tpop edx \n// \t\tpop eax\n// \t}\n}\nvoid FlushVmwareScreenBuffer(WORD CommandPort,WORD DataPort)\n{\n// \t__asm{\n// \t\tpush eax \n// \t\tpush edx\n// \t\tmov dx,CommandPort\n// \t\tmov eax,0x1b\n// \t\tout dx,eax \n// \t\tmov dx,DataPort \n// \t\tmov eax,0 \n// \t\tout dx,eax\n// \t\tmov dx,CommandPort\n// \t\tmov eax,0x1b\n// \t\tout dx,eax \n// \t\tmov dx,DataPort \n// \t\tmov eax,2 \n// \t\tout dx,eax\n// \t\tpop edx \n// \t\tpop eax\n// \t}\n\n\tSyserWritePortDword(CommandPort,0x1b);\n\tSyserWritePortDword(DataPort,0);\n\n\tSyserWritePortDword(CommandPort,0x1b);\n\tSyserWritePortDword(DataPort,2);\n}\n\n\n\nvoid Lru_trans_svga_command(ULONG i_ulong)\n{\n\tULONG*                  p_ulong;\n\tBOOL\t\t\t\t\ttBool;\n\tULONG\t\t\t\t\tt_ulong;\n\n\tif(gpSyser->m_PCSystem.m_VmwareSecondFrameBuffer==NULL)\n\t\treturn;\n\tp_ulong =gpSyser->m_PCSystem.m_VmwareSecondFrameBuffer;\n\ttBool = FALSE;\n\n\tif ((p_ulong[2]+4)==p_ulong[3])\n\t\ttBool = TRUE;\n\tif ((!tBool)&&((p_ulong[1]-4)==p_ulong[2]))\n\t{\n\t\tif (p_ulong[0]==p_ulong[3])\n\t\t\ttBool = TRUE;\n\t}\n\tp_ulong =gpSyser->m_PCSystem.m_VmwareSecondFrameBuffer;\n\tt_ulong = p_ulong[2]>>2;\n\tp_ulong[t_ulong] = i_ulong;\n\n\tif ((p_ulong[2]+4) == p_ulong[1])\n\t{\n\t\tp_ulong[2] = p_ulong[0];\n\t}\n\telse\n\t{\n\t\tp_ulong[2] = p_ulong[2]+4;\n\t}\n} \n\nvoid FlushVedioBuffer(int x,int y,int width,int heigh,int command)\n{\n\tLru_trans_svga_command(1);\n\tLru_trans_svga_command(x);\n\tLru_trans_svga_command(y);\n\tLru_trans_svga_command(width);\n\tLru_trans_svga_command(heigh);\n\t//if(command==0)\n\tFlushVmwareScreenBuffer(gpSyser->m_PCSystem.m_VmwareVideoCommandPort,gpSyser->m_PCSystem.m_VmwareVideoDatePort);\n\t//else\n\t//\tFlushMouseBuffer(gpSyser->m_PCSystem.m_VmwareVideoCommandPort,gpSyser->m_PCSystem.m_VmwareVideoDatePort);\n}\n\n// \n// \n// __declspec(naked) DWORD __stdcall VMWareCall(PVMVWARE_CALL pVMCParam)\n// {\n// \t__asm\n// \t{\n// \t\tpush ebp \n// \t\tmov ebp,esp \n// \t\tpush ecx\n// \t\tpushad\n// \t\tmov eax,[ebp+8]\n// \t\tmov word ptr[eax+0xc],'VX'\n// \t\tmov dword ptr[eax],'VMXh'\n// \t\tmov edi,[eax+14h]\n// \t\tmov esi,[eax+10h]\n// \t\tmov edx,[eax+0Ch]\n// \t\tmov ecx,[eax+8]\n// \t\tmov ebx,[eax+4]\n// \t\tmov eax,[eax]\n// \t\tin  eax,dx\n// \t\tmov [ebp-4],eax \n// \t\tmov eax,[ebp+8]\t\t\n// \t\tmov [eax+4],ebx\t\t\n// \t\tmov [eax+8],ecx\t\n// \t\tmov [eax+0Ch],edx\n// \t\tmov [eax+10h],esi\n// \t\tmov [eax+14h],edi\t\t\t\t\t\t\t\t\n// \t\tmov ebx,[ebp+8]\n// \t\tmov eax,[ebp-4]\n// \t\tmov [ebx],eax\n// \t\tpopad\n// \t\tpop eax\n// \t\tpop ebp\n// \t\tret 4\n// \t}\n// }\n// \n\nbool IsSupportVMMouse()\n{\n\tDWORD bret=0;\n\t\n\t//DbgPrint(\"Syser : IsSupportVMMouse\\n\");\n// \t__asm\n// \t{\n// \t\tpushad \n// \t\tmov eax,'VMXh'\n// \t\tmov ebx,0xa9b2a797\n// \t\tmov ecx,0xa \n// \t\tmov edx,'VX'\n// \t\tmov esi,0\n// \t\tmov edi,0 \n// \t\tin eax,dx \n// \t\tcmp ebx,'VMXh'\n// \t\tjnz local_001\n// \t\tmov bret,1\n// local_001:\n// \t\tpopad\n// \t}\n// \treturn bret==1;\n\n\tVMVWARE_CALL  VMCParam;\n\n\tVMCParam.Exist_flag=0xA9B2A797;\n\tVMCParam.Func_num=0xa;\n\tSyserVMWareCall(&VMCParam);\n/*\n\tDbgPrint(\"eax=%08x ebx=%08x ecx=%08x edx=%08x esi=%08x edi=%08x\\n\",VMCParam.Return_Status,VMCParam.Exist_flag,\n\t\tVMCParam.Func_num,VMCParam.Port,VMCParam.Trans_Src,VMCParam.Trans_Dest);\n*/\n\tif ((VMCParam.Exist_flag!=0x564D5868)||(VMCParam.Return_Status==0xffffffff))\n\t\treturn false;\n\tVMCParam.Exist_flag=0;\n\tVMCParam.Func_num=0xa;\n\tSyserVMWareCall(&VMCParam);\n/*\n\tDbgPrint(\"eax=%08x ebx=%08x ecx=%08x edx=%08x esi=%08x edi=%08x\\n\",VMCParam.Return_Status,VMCParam.Exist_flag,\n\t\tVMCParam.Func_num,VMCParam.Port,VMCParam.Trans_Src,VMCParam.Trans_Dest);\n*/\n\tif ((VMCParam.Exist_flag!=0x564D5868)||(VMCParam.Return_Status==0xffffffff))\n\t\treturn false;\n\treturn true;\n\n}\n\nbool GetVMMouseData(PTRANS_MOUSEDATA pTranMouseData)\n{\t\t\n\tDWORD dwData,dwExit;\n\n\tdwData=SyserReadPortDword(0x64);\n\n\tif ((dwData&0xffff0000)==0xffff0000)\n\t\treturn false;\n\tdwData=dwData&0xffff;\n\t//if (dwData==0)\n\t//\treturn false;\n\t//if ((dwData%4)!=0)\n\t//\treturn false;\n\n\tdwExit=dwData;\t\n\tdwData=SyserReadPortDword(0x60);\n\tpTranMouseData->Priority_flag=(USHORT)((dwData>>0x10)&0xffff);\n\tpTranMouseData->ButtonStatus=(USHORT)((dwData)&0xffff);\n\tdwData=SyserReadPortDword(0x60);\n\tpTranMouseData->DeltaX=dwData;\n\tdwData=SyserReadPortDword(0x60);\n\tpTranMouseData->DeltaY=dwData;\n\tdwData=SyserReadPortDword(0x60);\n\tpTranMouseData->DeltaWheel=dwData;\n\tdwExit=dwExit>>2;\n\tif (dwExit)\n\t\treturn true;\n\treturn false;\n}\n"
  },
  {
    "path": "Project/Syser/Source/VMWareSupport.h",
    "content": "#ifndef _VMWARE_SUPPORT_H_\n#define _VMWARE_SUPPORT_H_\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n\n//     Vmware  vmware  vmware tools ͨŵһӿڡ\n//     ſ IO ˿ 0x5658ʱ裺\n//     EAX = 0x564D5868 ( VMXh )\n//     ECX  16 λΪܺšʵһ\n//     ECX ĸ 16 λΪܲ\n//     EDX = 0x5658 ( VX )Ϊ IO ˿ںš\n//\n//     0xa   õ vmware 汾\n//\n//     л̱ṩϸ\ntypedef struct _VMVWARE_CALL{\n\tunsigned long     Return_Status;    //vm_eax  \n\tunsigned long     Exist_flag;       //vm_ebx\n\tunsigned long     Func_num;         //vm_ecx\n\tunsigned long     Port;\t\t\t\t//vm_edx\n\tunsigned long     Trans_Src;\t\t//vm_esi\n\tunsigned long     Trans_Dest;\t\t//vm_edi\n}VMVWARE_CALL,*PVMVWARE_CALL;\nvoid FlushVedioBuffer(int x,int y,int width,int heigh,int command = 0);\nextern bool gInVMWARE;\nextern bool gIsSupportVMMouse;\nbool VMWareTest();\nDWORD __stdcall SyserVMWareCall(PVMVWARE_CALL pVMCParam);\nbool IsSupportVMMouse();\ntypedef struct _TRANS_MOUSEDATA{\n\tUSHORT    Priority_flag;\n\tUSHORT    ButtonStatus;\n\tDWORD   DeltaX;\n\tDWORD   DeltaY;\n\tDWORD   DeltaWheel;\n}TRANS_MOUSEDATA,*PTRANS_MOUSEDATA;\nbool GetVMMouseData(PTRANS_MOUSEDATA pTranMouseData);\n#define VMWARESET_CURSOR_POINT_FLAG\t\t\t0x18\n#define VMWARESET_CURSOR_POINT_X\t\t\t0x19\n#define VMWARESET_CURSOR_POINT_Y\t\t\t0x1a\n#define VMWARESET_ACCESS_FLAG               0x1B\nvoid SetVMWareMousePos(DWORD CommandPort,DWORD DataPort,DWORD mousex,DWORD mousey);\nvoid GetVMWareMousePos(DWORD* mousex,DWORD* mousey);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/VideoDriver.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"VideoDriver.h\"\n#include \"Syser.h\"\n#include \"VMWareSupport.h\"\n#include \"VirtualPCSupport.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\nSYSER_FRAME_BUFFER*\t\tpCurFrameBuffer = NULL;\nSYSER_FRAME_BUFFER*\t\tpPrevFrameBuffer = NULL;\nbool\t\t\t\t\tbDisabled = false;\n\nbool*\tpbSyserDisabled = NULL;\nPDRIVER_OBJECT VideoDriver;\nPDEVICE_OBJECT DeviceObject;\nPDEVICE_OBJECT Video0Device;\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\nvoid SyserFrameModeChange(int Width,int Height,int Bpp,void*FrameBuffer,int Pitch,UINT PixelFormat)\n{\n\tif(\tWidth == gpSyser->m_RealFrameBuffer.Width && Height == gpSyser->m_RealFrameBuffer.Height && \n\t\tBpp == gpSyser->m_RealFrameBuffer.Bpp && FrameBuffer == gpSyser->m_RealFrameBuffer.Buffer &&\n\t\tPitch == gpSyser->m_RealFrameBuffer.LineDistance && PixelFormat == gpSyser->m_RealFrameBuffer.PixelFormat)\n\t\treturn;\n\n\t::DbgPrint(\"Syser : Mode Change %d X %d x %d -> Video Buffer[0x%08X] , Pitch [0x%X]\\n\",Width,Height,Bpp,FrameBuffer,Pitch);\n\tif(FrameBuffer)\n\t{\n\t\tint Size = Pitch*Height;\n\t\tfor(int Off = 0;Off<Size;Off+=MP_SIZE)\n\t\t{\n\t\t\tif(MmIsAddressValid((BYTE*)FrameBuffer+Off)==false)\n\t\t\t{\n\t\t\t\tDbgPrint(\"***************************************************************************\\n\");\n\t\t\t\tDbgPrint(\"Syser : Invalid FrameBuf [%08X] ,Invalid Address [%08X]\\n\",FrameBuffer,(BYTE*)FrameBuffer+Off);\n\t\t\t\tDbgPrint(\"***************************************************************************\\n\");\n\t\t\t\tgpSyser->m_RealFrameBuffer.Buffer = NULL;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\tgpSyser->m_RealFrameBuffer.Width = Width;\n\tgpSyser->m_RealFrameBuffer.Height = Height;\n\tgpSyser->m_RealFrameBuffer.Bpp = Bpp;\n\tgpSyser->m_RealFrameBuffer.Buffer = FrameBuffer;\n\tgpSyser->m_RealFrameBuffer.LineDistance = Pitch;\n\tgpSyser->GetFrameBufferDrawHAL(&gpSyser->m_RealFrameBuffer);\n\tif(gpSyser->m_pRootWnd)\n\t{\n\t\tif(Width < gpSyser->m_MainFrame.m_WindowRect.cx || Height < gpSyser->m_MainFrame.m_WindowRect.cy)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Syser : Resize %d %d\\n\"),Width,Height);\n\t\t\tgpSyser->m_MainFrame.Resize(Width,Height);\n\t\t}\n\t\telse if(Width > gpSyser->m_MainFrame.m_WindowRect.cx || Height > gpSyser->m_MainFrame.m_WindowRect.cy)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Syser : Resize %d %d\\n\"),gpSyser->m_OrgWindowWidth,gpSyser->m_OrgWindowHeight);\n\t\t\tgpSyser->m_MainFrame.Resize(gpSyser->m_OrgWindowWidth,gpSyser->m_OrgWindowHeight);\n\t\t}\n\t}\n\tgpSyser->m_RootPos.x = CENTER_ALGN(gpSyser->m_MainFrame.m_WindowRect.cx,Width);\n\tgpSyser->m_RootPos.y = CENTER_ALGN(gpSyser->m_MainFrame.m_WindowRect.cy,Height);\n\tMIN_LIMIT(gpSyser->m_RootPos.x,0);\n\tMIN_LIMIT(gpSyser->m_RootPos.y,0);\n\tgpSyser->m_bScrBackup = true;\n}\n\nvoid SyserFrameBufferFlip(void*FrameBuffer)\n{\n\tgpSyser->m_RealFrameBuffer.Buffer = FrameBuffer;\n}\n\nvoid SyserActive()\n{\n\tgpSyser->Active();\n}\n\n\nNTSTATUS CompletionRoutine(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)\n{\n\tIoFreeIrp(Irp);\n\treturn STATUS_MORE_PROCESSING_REQUIRED;\n}\n\n\nbool InstallDdrawHook()\n{\n\tULPOS SyserRootImageBase;\n\tPEPROCESS Pr;\n\tULPOS Address;\n\tCDbgProcess*pProcess;\n\tNTSTATUS ntStatus;\n\tif(gpSysBootDevEx==NULL)\n\t{\n\t\t::DbgPrint(\"Syser : Fail to attach FrameBuffer , SysBoot isn't actived!\\n\");\n\t\treturn true;\n\t}\n\tif(gpSysBootDevEx->cbSize == sizeof(SYSER_BOOT_DEVICE_EXTENSION))\n\t{\n\t\t\tgpSysBootDevEx->pfnFrameModeChange = SyserFrameModeChange;\n\t\t\tgpSysBootDevEx->pfnFrameBufferFlip = SyserFrameBufferFlip;\n\t\t\tgpSysBootDevEx->pfnSyserActive = SyserActive;\n\t\t\tpbSyserDisabled = &gpSysBootDevEx->bDisabled;\n\t\t\tif(gpSysBootDevEx->pCurFrameBuffer)\n\t\t\t{\n\t\t\t\tSyserFrameModeChange(\tgpSysBootDevEx->pCurFrameBuffer->Width,gpSysBootDevEx->pCurFrameBuffer->Height,\n\t\t\t\t\t\t\t\t\t\tgpSysBootDevEx->pCurFrameBuffer->Bpp,gpSysBootDevEx->pCurFrameBuffer->Buffer,\n\t\t\t\t\t\t\t\t\t\tgpSysBootDevEx->pCurFrameBuffer->LineDistance,gpSysBootDevEx->pCurFrameBuffer->PixelFormat);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t::DbgPrint(\"Syser : Fail to attach Video FrameBuffer !\\n\");\n\t\t\t\tif(gInVMWARE)\n\t\t\t\t{\n\t\t\t\t\t::DbgPrint(\"*************************************\\n\");\n\t\t\t\t\t::DbgPrint(\"Syser : Please Install VMWare Tools !\\n\");\n\t\t\t\t\t::DbgPrint(\"*************************************\\n\");\n\t\t\t\t}\n\t\t\t\telse if(gInVirtualPC)\n\t\t\t\t{\n\t\t\t\t\t::DbgPrint(\"************************************************************\\n\");\n\t\t\t\t\t::DbgPrint(\"Syser : Please Install or Update Virtual Machine Additions !\\n\");\n\t\t\t\t\t::DbgPrint(\"************************************************************\\n\");\n\t\t\t\t}\n\t\t\t}\n\t}\n\telse\n\t{\n\t\t::DbgPrint(\"Syser : SyserBoot[0x%X] version isn't same as Syser[0x%X]!\\n\",gpSysBootDevEx->cbSize,sizeof(SYSER_BOOT_DEVICE_EXTENSION));\n\t}\n\treturn true;\n}\n\nbool RemoveDdrawHook()\n{\n\tif(gpSysBootDevEx)\n\t{\n\t\tgpSysBootDevEx->pfnFrameModeChange = NULL;\n\t\tgpSysBootDevEx->pfnFrameBufferFlip = NULL;\n\t\treturn true;\n\t}\n\treturn true;\n}\n\n\n"
  },
  {
    "path": "Project/Syser/Source/VideoDriver.h",
    "content": "#ifndef _VIDEO_DRIVER_H_\n#define _VIDEO_DRIVER_H_\n\nbool\tInstallDdrawHook();\nbool\tRemoveDdrawHook();\n\nULPOS\tGetWin32KServiceTable(CPEFile*pPEFile);\nvoid\tSyserFrameModeChange(int Width,int Height,int Bpp,void*FrameBuffer,int Pitch,UINT PixelFormat);\n\nextern\tSYSER_FRAME_BUFFER\tSyserFrameBuffer;\nextern\tSYSER_FRAME_BUFFER*\tpSyserFrameBuffer;\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/VirtualPCSupport.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n\n\nvoid FlushVirtualPCScreenBuffer(int nleft,int ntop,int nright,int nbottom)\n{\n\t__asm\n\t{\n\t\tpushad \n\t\tmov eax,nleft \n\t\tmov ebx,ntop\n\t\tmov ecx,nright\n\t\tmov edx,nbottom\n\t\t__emit (0xf)\n\t\t__emit (0x3f)\n\t\t__emit (0x1)\n\t\t__emit (0x12)\n\t\tpopad\n\t}\n}\n\n\nbool gInVirtualPC=false;\nbool VirtualPCTest()\n{\n\t__try\n\t{\n\t\t__asm\n\t\t{\n\t\t\tpushad\t\t\t\n\t\t\tmov  ebx, 0 // Flag\n\t\t\tmov  eax, 1 // VPC function number\n\t\t\t__emit 0Fh\n\t\t\t__emit 3Fh\n\t\t\t__emit 07h\n\t\t\t__emit 0Bh\n\t\t\ttest ebx, ebx\n\t\t\tjnz local_001\n\t\t\tmov gInVirtualPC,1\nlocal_001:\n\t\t\tpopad\n\t\t}\n\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{\n\t\tgInVirtualPC=false;\n\t}\n\tif(gInVirtualPC)\n\t\tDbgPrint(\"Syser : Host machine is VirtualPC !\\n\");\n\treturn gInVirtualPC;\n}"
  },
  {
    "path": "Project/Syser/Source/VirtualPCSupport.h",
    "content": "#ifndef _VIRTUALPC_SUPPORT_H_\n#define _VIRTUALPC_SUPPORT_H_\n\n\nvoid FlushVirtualPCScreenBuffer(int nleft,int ntop,int nright,int nbottom);\nextern bool gInVirtualPC;\nbool VirtualPCTest();\n\n#endif /* _VIRTUALPC_SUPPORT_H_ */"
  },
  {
    "path": "Project/Syser/Source/WatchList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"WatchList.h\"\n\nWISP_MENU_RES_ITEM WatchMenu[]=\n{\n\t{WSTR(\"Add\"),EVENT_ID_ADD,8*16},\n\t{WSTR(\"Remove\"),EVENT_ID_REMOVE,12*16+10},\n\tWISP_MENU_RES_END\n};\n\nWISP_MSG_MAP_BEGIN(CWatchList) \n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWatchList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ADD,OnEventAdd);\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REMOVE,OnEventRemove);\nWISP_MSG_EVENT_MAP_END\n\nCWatchList::CWatchList(void)\n{\n\tm_hLastItem = NULL;\n}\n\nCWatchList::~CWatchList(void)\n{\n}\n\nbool CWatchList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\n\tm_Style|=WISP_WLS_VERT_LINE;\n\tm_PopupMenu.CreatePopupMenu(WatchMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hRemoveItem = m_PopupMenu.GetItem(EVENT_ID_REMOVE);\n\tInsertColumn(WISP_STR(\"Expression[F2]\"),90,WISP_WLCS_EDITABLE);\n\tInsertColumn(WISP_STR(\"Value\"),70);\n\tInsertColumn(WISP_STR(\"Context\"),60);\n\tResetContext();\n\treturn true;\n}\n\nbool CWatchList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CWatchList::OnEventAdd(IN WISP_MSG*pMsg)\n{\n\tBeginEditItem(m_hLastItem,0);\n\treturn true;\n}\n\nbool CWatchList::OnEventRemove(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem && hItem!=m_hLastItem)\n\t\tRemoveItem(hItem);\n\treturn true;\n}\n\nbool CWatchList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\t{\n\t\t\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tm_PopupMenu.EnableItem(m_hRemoveItem,hItem!=NULL && hItem!=m_hLastItem);\n\t\t\tm_PopupMenu.Popup();\n\t\t}\n\t\telse if(pMsg->KeyEvent.KeyType == WISP_VK_F2)\n\t\t{\n\t\t\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tif(hItem!=NULL)\n\t\t\t{\n\t\t\t\tBeginEditItem(hItem,0);\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWatchList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(gpSyser->m_SyserUI.m_CodeDoc.IsOpened()==false)\n\t\treturn false;\n\treturn true;\n}\n\nbool CWatchList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(hItem==m_hLastItem)\n\t{\n\t\tif(String.Length())\n\t\t{\n\t\t\tm_hLastItem = InsertItem((WISP_PCSTR)NULL);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tif(String.Length()==0)\n\t{\n\t\tRemoveItem(hItem);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nvoid CWatchList::ItemChangedNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\tif(Col==0)\n\t\tCalcLineExp(hItem);\n}\n\nvoid CWatchList::UpdateContext()\n{\n\tHANDLE hItem=GetItem(0);\n\twhile(hItem)\n\t{\n\t\tif(hItem==m_hLastItem)\n\t\t\tbreak;\n\t\tCalcLineExp(hItem);\n\t\thItem = GetNextItem(hItem);\n\t}\n\tUpdateClient();\n}\n\nvoid CWatchList::ResetContext()\n{\n\tClearChildItem();\n\tm_hLastItem = InsertItem((WISP_PCSTR)NULL);\n\tSelectItem(m_hLastItem);\n}\n\nvoid CWatchList::CalcLineExp(HANDLE hItem)\n{\n\tCHAR  szBuffer[256];\n\tWCHAR szSymbol[256];\n\tPCWSTR pszSym;\n\tDWORD Result;\n\tpszSym = NULL;\n\tif(CALCEXP(GetItemText(hItem),&Result))\n\t{\n\t\tSetItemNum(hItem,1,Result);\n\t\tif(GETSYM(Result,szBuffer))\n\t\t{\n\t\t\tTStrCpy(szSymbol,szBuffer);\n\t\t\tpszSym = szSymbol;\n\t}\n\t}\n\telse\n\t\tSetItemText(hItem,1,WSTR(\"????????\"));\n\tSetItemText(hItem,2,pszSym);\n}\n"
  },
  {
    "path": "Project/Syser/Source/WatchList.h",
    "content": "#ifndef _WATCH_LIST_H_\n#define _WATCH_LIST_H_\n\nclass CWatchList : public CWispList\n{\npublic:\n\tCWatchList(void);\n\tvirtual ~CWatchList(void); \npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventAdd)\t\n\tDECLARE_WISP_MSG_EVENT(OnEventRemove)\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tItemChangedNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tUpdateContext();\n\tvoid\tResetContext();\nprivate:\n\tHANDLE\tm_hLastItem;\n\tvoid\tCalcLineExp(HANDLE hItem);\n\tCWispMenu m_PopupMenu;\n\tHANDLE\tm_hRemoveItem;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/WndStringReference.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"StringReference.h\"\n#include \"WndStringReference.h\"\n\nenum{\n\tCMD_SEARCH_CHANGE,\n};\n\n\nenum CFindStringForm::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_FIND = WISP_ID_USER_START,\n\tCMD_ID_BUTTON_CLOSE,\n\tCMD_ID_EDIT_FINDTEXT,\n};\nWISP_FORM_RES_ITEM CFindStringForm::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,320,120},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Find\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tWSTR(\"Find\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,18,70,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Find what:  \"),\n\t\tNULL,\n\t\tNULL\n\t\t},\n\t\t{\n\t\t\tWISP_CTRL_EDIT,\n\t\t\t{80,15,220,20},\n\t\t\tCMD_ID_EDIT_FINDTEXT,\n\t\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\t\tNULL,\n\t\t\tNULL,\n\t\t\tNULL\n\t\t},\n\t\t{\n\t\t\tWISP_CTRL_BUTTON,\n\t\t\t{54,50,78,21},\n\t\t\tCMD_ID_BUTTON_FIND,\n\t\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\t\tWSTR(\"Find Next\"),\n\n\t\t\t},\n\t\t\t{\n\t\t\t\tWISP_CTRL_BUTTON,\n\t\t\t\t{186,50,78,21},\n\t\t\t\tWISP_ID_CANCEL,\n\t\t\t\tWISP_BS_NORMAL,\n\t\t\t\tWSTR(\"Close\"),\n\t\t\t},\n\t\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CFindStringForm)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CFindStringForm)\nWISP_MSG_CMD_MAP(CMD_ID_EDIT_FINDTEXT,OnFindTextCmd)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CFindStringForm)\nWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_FIND,OnFindButtonEvent)\nWISP_MSG_EVENT_MAP_END\n\nCFindStringForm::CFindStringForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCFindStringForm::~CFindStringForm()\n{\n\n}\nbool CFindStringForm::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_FindButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_FIND);\n\tm_CloseButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_CLOSE);\n\tm_FindEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_FINDTEXT);\n\treturn true;\n}\nbool CFindStringForm::OnFindTextCmd(IN WISP_MSG* pMsg)\n{\n\tCWispString* FindText;\n\tswitch(pMsg->Command.CmdMsg) {\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\tif(pMsg->Command.Param1==WISP_VK_RETURN)\n\t\t{\n\t\t\tm_FindButton->Focus();\n\t\t\treturn OnFindButtonEvent(NULL);\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_EN_INPUT_KEY_UP:\n\t\tif(pMsg->Command.Param1==WISP_VK_RETURN)\n\t\t\treturn false;\n\t\tbreak;\n\tcase WISP_CMD_EN_CHANGED:\n\t\tFindText = &m_FindEdit->GetWindowText();\n\t\tm_FindButton->EnableWindow(FindText->IsEmpty()==false);\n\t\tm_FindButton->Update();\n\t\tbreak;\n\t}\n\treturn true;\n}\nbool CFindStringForm::OnFindButtonEvent(IN WISP_MSG* pMsg)\n{\n\tCWispString& pFindText = m_FindEdit->GetWindowText();\n\tif(m_pContextList)\n\t{\n\t\tif(m_pContextList->m_SearchString == pFindText)\n\t\t\tm_pContextList->OnEventSearchAgain(NULL);\n\t\telse\n\t\t\tm_pContextList->FindString(pFindText);\n\t}\n\treturn true;\n}\nvoid CFindStringForm::SetContextList(CStringReferenceList* pContextList)\n{\n\tm_pContextList = pContextList;\n\treturn;\n}\n\n\nWISP_MENU_RES_ITEM SRMenu[]=\n{\n\t{WSTR(\"Search          Ctrl+N\"),\tEVENT_ID_SR_SEARCH,\t\t7*16+7},\n\t{WSTR(\"Search again    Alt+N\"),\t\tEVENT_ID_SR_SEARCH_AGAIN,7*16+7},\n\t\tWISP_MENU_RES_END\n};\nWISP_MSG_MAP_BEGIN(CStringReferenceList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_CHAR,OnChar)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_CMD_MAP_BEGIN(CStringReferenceList)\n\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CStringReferenceList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SR_SEARCH_AGAIN,\t\tOnEventSearchAgain)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SR_SEARCH,\t\tOnEventSearch)\nWISP_MSG_EVENT_MAP_END\n\n\nbool CStringReferenceList::OnEventSearch(IN WISP_MSG*pMsg)\n{\n\tm_FindDlg.CreateForm(NULL);\n\tm_FindDlg.SetContextList(this);\n\treturn true;\n}\nbool CStringReferenceList::OnEventSearchAgain(IN WISP_MSG*pMsg)\n{\n\tWCHAR Buffer[256];\n\tPWCHAR pBuffer;\n\tint n,nCol;\n\tHANDLE hItem;\n\thItem= GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(m_SearchString.Length()==0)\n\t\treturn true;\n\tif(hItem==NULL)\n\t\thItem = GetNextListItem();\n\t\t\t\n\tn=m_SearchString.Length()+5;\n\tif(n>sizeof(Buffer)/sizeof(Buffer[0])-1)\n\t\tn=sizeof(Buffer)/sizeof(Buffer[0])-1;\n\tif(m_TypeWnd==0)\n\t\tnCol=1;\n\telse\n\t\tnCol=3;\n\tif(hItem)\n\t\thItem=GetNextListItem(hItem);\n\twhile(hItem)\n\t{\n\t\tGetItemText(hItem,nCol,Buffer,n);\n\t\tif(Buffer[0]=='L' && Buffer[1]=='\"')\n\t\t\tpBuffer=Buffer+2;\n\t\telse\n\t\t\tpBuffer=Buffer+1;\n\t\tif(TStrNICmp(pBuffer,(WISP_CHAR*)m_SearchString,m_SearchString.Length())==0)\n\t\t\tbreak;\n\t\thItem = GetNextListItem(hItem);\n\t}\n\tif(hItem)\n\t{\n\t\tSelectItem(hItem);\n\t\tEnableVisible(hItem);\t\t\t\t\t\n\t}\n\treturn true;\n}\n\nvoid CStringReferenceList::AttachShortcutKey()\n{\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SR_SEARCH_AGAIN,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_ALT | WISP_VK_N,EVENT_ID_SR_SEARCH_AGAIN);\n\tif(gpSyser->AttachShortcutKey(EVENT_ID_SR_SEARCH,m_HotKeyMap)==0)\n\t\tm_HotKeyMap.InsertUnique(WISP_MOD_CTRL | WISP_VK_N,EVENT_ID_SR_SEARCH);\n}\nbool CStringReferenceList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tSRHOTKEYMAP::IT FindIT;\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tFindIT = m_HotKeyMap.Find(pMsg->KeyEvent.KeyType);\n\t\tif(FindIT != m_HotKeyMap.End())\n\t\t{\n\t\t\tmemset(&Msg,0,sizeof(Msg));\n\t\t\tMsg.Command.CmdID=*FindIT;\t\t\t\n\t\t\treturn OnEvent(&Msg);\t\t\t\t\t\t\n\t\t}\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\t\tPopupMenu();\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\n\nCStringReferenceList::CStringReferenceList()\n{\n\tm_MaxMatchLen=0;\n}\n\n\n\nbool CStringReferenceList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CellRC;\n\tint nCol=1;\n\tHANDLE hItem= GetNextItem(NULL,WISP_WLIS_SELECTED);;\n\tULPOS Address=0;\n\tif(m_TypeWnd==0)\n\t\tnCol=1;\n\telse\n\t\tnCol=3;\n\tmemset(&CellRC,0,sizeof(CellRC));\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON && hItem)\n\t{\n\t\tGetItemCellRect(hItem,nCol,&CellRC);\n\t\tif(pMsg->MsgMouseWndPT.x >= CellRC.x && pMsg->MsgMouseWndPT.x<=CellRC.x+CellRC.cx)\n\t\t{\n\t\t\tVIEW_DATA((ULPOS)GetItemData(hItem,1));\n\t\t}\n\t\telse\n\t\t{\t\t\t\t\t\t\n\t\t\tVIEW_CODE((ULPOS)GetItemData(hItem,0),true);\t\t\t\n\t\t}\n\n\t}\t\n\treturn true;\n}\n\nbool CStringReferenceList::FindString(WISP_CHAR* pSearch)\n{\n\tint n,nCol;\n\tWCHAR Buffer[256];\n\tPWCHAR pBuffer;\n\tif(m_TypeWnd==0)\n\t\tnCol=1;\n\telse\n\t\tnCol=3;\n\tif(pSearch)\n\t\tm_SearchString=pSearch;\n\tn=m_SearchString.Length()+5;\n\tif(n>sizeof(Buffer)/sizeof(Buffer[0])-1)\n\t\tn=sizeof(Buffer)/sizeof(Buffer[0])-1;\n\tHANDLE hItem = GetNextItem(NULL);\n\twhile(hItem)\n\t{\n\t\tBuffer[255]=0;\n\t\tGetItemText(hItem,nCol,Buffer,sizeof(Buffer)-1);\n\t\tif(Buffer[0]=='L' && Buffer[1]=='\"')\n\t\t\tpBuffer=Buffer+2;\n\t\telse\n\t\t\tpBuffer=Buffer+1;\n\t\tpBuffer = TStrIStr(pBuffer,(WISP_CHAR*)m_SearchString);\n\t\tif(pBuffer)\n\t\t\tbreak;\n\t\thItem = GetNextItem(hItem);\n\t}\n\tif(hItem)\n\t{\n\t\tm_MaxMatchLen=m_SearchString.Length();\n\n\t\tSelectItem(hItem);\n\t\tEnableVisible(hItem);\n\t\n\t\tSendCmdMsg(CMD_SEARCH_CHANGE,1,0);\n\t}\n\telse\n\t{\t\t\n\t\tSendCmdMsg(CMD_SEARCH_CHANGE,0,0);\n\t}\n\treturn true;\n}\n\nbool CStringReferenceList::OnChar(IN WISP_MSG*pMsg)\n{\n\n\tint n;\n\tn = m_SearchString.Length();\n\t\n\tif(pMsg->Char.Char==0x8 || n>m_MaxMatchLen)\n\t{\t\t\n\t\tif(n)\n\t\t\tm_SearchString.Delete(n-1);\n\t\tif(pMsg->Char.Char!=0x8)\n\t\t\tm_SearchString+= pMsg->Char.Char;\t\n\t}\n\telse\n\t\tm_SearchString+= pMsg->Char.Char;\t\n\n\tif(pMsg->Char.Char==0x08)\n\t\tSendCmdMsg(CMD_SEARCH_CHANGE,1,0);\n\telse\n\t\tFindString();\n\treturn true;\n}\n\nbool CStringReferenceList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tSetDefaultTextColor(ColorOption.clrText);\n\tSetBGColor(ColorOption.clrBackground);\t\n\tm_SearchString.Empty();\n\tAttachShortcutKey();\n\tm_PopupMenu.CreatePopupMenu(SRMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_MenuSearchAgain = m_PopupMenu.GetItem(EVENT_ID_SR_SEARCH_AGAIN);\n\treturn true;\n}\n\nbool CStringReferenceList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\n\nvoid CStringReferenceList::PopupMenu()\n{\n\tHANDLE hItem;\t\t\n\thItem = GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tm_PopupMenu.EnableItem(m_MenuSearchAgain,m_SearchString.IsEmpty()==false);\n\tm_PopupMenu.Popup();\n}\n\n\nvoid CStringReferenceList::ItemClickNotify(HANDLE hItem,int Col)\n{\n\t\n}\n\n\nvoid CStringReferenceList::UpdateContext(ULPOS Address,bool bRelocal)\n{\n\tCFindString FindString;\n\tTMap<DWORD,ULONGLONG>::IT BeginIT,EndIT;\n\tWISP_COLOR_CHAR szColorBuffer[256];\n\tWCHAR StringBuf[256];\n\tHANDLE hItem,hSubItem;\n\tbool bUnicode=false;\n\tchar Str[256];\n\tTMap<DWORD,HANDLE> SortMap;\n\tTMap<DWORD,HANDLE>::IT SortIT;\n\tDWORD Len,ModuleAddress;\n\tCCodeView*pCodeView;\n\tNUM_PTR ItemData;\n\tpCodeView=(CCodeView*)gpSyser->m_MainFrame.m_SystemExplorer.m_MultiCodeView.GetActiveWnd();\n\tif(pCodeView==NULL)\n\t\treturn ;\t\t\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.Clear();\n\thItem=pCodeView->GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t{\n\t\tModuleAddress = (DWORD)GetItemData(hItem,1);\n\t}\n\telse\n\t\tModuleAddress =*X86_REG_PTR.pEIP;\n\tif(m_TypeWnd)\n\t{\n\t\tFindString.SearchImageMemory(ModuleAddress);\n\t\tBeginIT = gpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.Begin();\n\t\tEndIT = gpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.End();\n\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tbUnicode=false;\n\t\t\tAddress = (DWORD)(*BeginIT);\n\t\t\tItemData=*BeginIT;\n\t\t\tpCodeView->ColorDasm(BeginIT.Key(),MAX_INSTR_LEN,szColorBuffer);\n\t\t\thItem = InsertItem(BeginIT.Key(),NULL,WSTR(\"%08X\"));\t\t\t\t\t\n\t\t\tSetItemColorText(hItem,2,szColorBuffer);\n\t\t\tSetItemData(hItem,1,ItemData);\n\t\t\tItemData=BeginIT.Key();\n\t\t\tSetItemData(hItem,0,ItemData);\n\t\t\tLen=(DWORD)((*BeginIT)>>32);\n\t\t\tif(Len&0x80000000)\n\t\t\t{\n\t\t\t\tbUnicode=true;\t\n\t\t\t\tLen &= 0x7fffffff;\n\t\t\t}\n\t\t\tif(Len>256)\n\t\t\t\tLen=255;\n\n\t\t\tif(bUnicode)\n\t\t\t{\n\t\t\t\tStringBuf[0]='L';\n\t\t\t\tStringBuf[1]='\"';\n\t\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,StringBuf+2,Len*sizeof(WCHAR));\n\t\t\t\tStringBuf[1+Len]='\"';\n\t\t\t\tStringBuf[2+Len]=0;\n\t\t\t\tStringBuf[255]=0;\n\t\t\t\tSetItemText(hItem,1,L\"U\");\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tStr[0]=0;\n\t\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,Str,Len);\n\t\t\t\tStr[255]=0;\t\t\t\n\t\t\t\tTStrCpyLimit(StringBuf+1,Str,Len);\n\t\t\t\tStringBuf[0]='\"';\n\t\t\t\tTStrCat(StringBuf,\"\\\"\");\n\t\t\t\tSetItemText(hItem,1,L\"C\");\n\t\t\t}\n\n\t\t\tSetItemText(hItem,3,StringBuf);\n\t\t}\n\t}\n\telse\n\t{\n\t\tFindString.SearchImageMemory(*X86_REG_PTR.pEIP);\n\t\tBeginIT = gpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.Begin();\n\t\tEndIT = gpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tbUnicode=false;\n\t\t\tAddress = (DWORD)(*BeginIT);\n\t\t\tItemData = *BeginIT;\n\t\t\tpCodeView->ColorDasm(BeginIT.Key(),MAX_INSTR_LEN,szColorBuffer);\n\t\t\tSortIT = SortMap.Find(Address);\n\t\t\tif(SortIT!=SortMap.End())\n\t\t\t{\n\t\t\t\thItem=*SortIT;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\thItem = InsertItem(Address,NULL,WSTR(\"%08X\"));\n\t\t\t\tSortMap.InsertUnique(Address,hItem);\n\n\t\t\t\tSetItemData(hItem,1,ItemData);\n\t\t\t\tItemData=BeginIT.Key();\n\t\t\t\tItemData|=0x8000000000000000;\n\t\t\t\tSetItemData(hItem,0,ItemData);\n\n\t\t\t\tLen=(DWORD)((*BeginIT)>>32);\n\t\t\t\tif(Len&0x80000000)\n\t\t\t\t{\n\t\t\t\t\tbUnicode=true;\t\n\t\t\t\t\tLen &= 0x7fffffff;\n\t\t\t\t}\n\t\t\t\tif(Len>256)\n\t\t\t\t\tLen=255;\n\n\t\t\t\tif(bUnicode)\n\t\t\t\t{\n\t\t\t\t\tStringBuf[0]='L';\n\t\t\t\t\tStringBuf[1]='\"';\n\t\t\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,StringBuf+2,Len*sizeof(WCHAR));\n\t\t\t\t\tStringBuf[1+Len]='\"';\n\t\t\t\t\tStringBuf[2+Len]=0;\n\t\t\t\t\tStringBuf[255]=0;\n\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tStr[0]=0;\n\t\t\t\t\tgpSyser->m_pDebugger->ReadMemory(Address,Str,Len);\n\t\t\t\t\tStr[255]=0;\t\t\t\n\t\t\t\t\tTStrCpyLimit(StringBuf+1,Str,Len);\n\t\t\t\t\tStringBuf[0]='\"';\n\t\t\t\t\tTStrCat(StringBuf,\"\\\"\");\n\t\t\t\t}\n\t\t\t\tSetItemText(hItem,1,StringBuf);\n\t\t\t}\n\t\t\thSubItem = InsertItem(BeginIT.Key(),hItem,WSTR(\"%08X\"));\n\t\t\tSetItemColorText(hSubItem,1,szColorBuffer);\t\t\n\t\t\tSetItemData(hSubItem,0,BeginIT.Key());\n\t\t\tItemData = *BeginIT;\n\t\t\tSetItemData(hSubItem,1,ItemData);\n\t\t}\n\t\tSortMap.Clear();\n\t}\n}\n\nvoid CStringReferenceList::ResetContext()\n{\n\n}\n\nbool CStringReferenceList::BeginEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\n\treturn true;\n}\n\nbool CStringReferenceList::EndEditItemNotify(HANDLE hItem,int Col,CWispString&String)\n{\n\n\treturn false;\n}\n\n\nWISP_MSG_MAP_BEGIN(CFindListWnd)\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\nWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CFindListWnd)\nWISP_MSG_CMD_MAP(EVENT_ID_STRING_REFERENCE_WISPLIST,OnListWndCmd);\nWISP_MSG_CMD_MAP_END\n\n\nbool CFindListWnd::OnListWndCmd(IN WISP_MSG* pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase CMD_SEARCH_CHANGE:\n\t\tm_StatusWnd.m_StatusString = m_ListWnd.m_SearchString;\n\t\tif(pMsg->Command.Param1 == 0 )\n\t\t{\n\t\t\tif(m_StatusWnd.m_StatusString.Length()!=0)\n\t\t\tm_StatusWnd.m_StatusString += WSTR(\": not found\");\t\n\t\t}\n\t\t\n\t\tm_StatusWnd.Update();\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CFindListWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_TypeWnd=1;\n\tm_ListWnd.Create(WSTR(\"String Reference\"),0,0,556,300,this,EVENT_ID_STRING_REFERENCE_WISPLIST,WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_SELECTED_ALWAYS);\n\tm_ListWnd.SetWndType(1);\n\tgpSyser->m_MainFrame.m_SystemExplorer.m_StrReferenceMap.Clear();\n\tif(m_TypeWnd)\n\t{\n\t\tm_ListWnd.InsertColumn(WSTR(\"Address\"),60);\n\t\tm_ListWnd.InsertColumn(WSTR(\"Type\"),32);\n\t\tm_ListWnd.InsertColumn(WSTR(\"Disassembly\"),200);\n\t\tm_ListWnd.InsertColumn(WSTR(\"Text String\"),280);\t\t\t\t\n\t}\n\telse\n\t{\n\t\tm_ListWnd.InsertColumn(WSTR(\"Address\"),80);\n\t\tm_ListWnd.InsertColumn(WSTR(\"Text String/Disassembly\"),200);\t\n\t}\t\t\n\tm_ListWnd.m_SelectBKColor = ColorOption.clrSelectedFrame;\n\tm_ListWnd.SetDefaultTextColor(ColorOption.clrText);\n\tm_ListWnd.SetBGColor(ColorOption.clrBackground);\t\n\tm_StatusWnd.Create(NULL,0,300,564,20,this,0,WISP_WS_THIN_BORDER);\n\t\n\tm_StatusWnd.SetBGColor(ColorOption.clrBackground);\n\tm_StatusWnd.m_ClientDC.SetTextColor(ColorOption.clrText);\t\n\tm_ListWnd.UpdateContext(0,0);\n\treturn true;\n}\n\nbool CFindListWnd::OnSize(IN WISP_MSG* pMsg)\n{\n\tm_ListWnd.Resize(m_ClientRect.cx,m_ClientRect.cy-20);\n\tm_StatusWnd.Resize(m_ClientRect.cx,20);\n\tm_ListWnd.MoveToWindow(m_ClientRect.x,m_ClientRect.y);\n\tm_StatusWnd.MoveToWindow(m_ClientRect.x,m_ClientRect.y+m_ClientRect.cy-20);\n\treturn true;\n}\n\n\nWISP_MSG_MAP_BEGIN(CStatusWnd)\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\nWISP_MSG_MAP_END(CWispWnd)\n\nbool CStatusWnd::OnUpdateClient(IN WISP_MSG* pMsg)\n{\n\tCWispWnd::OnUpdateClient(pMsg);\n\tm_ClientDC.DrawString(4,2,(WISP_CHAR*)m_StatusString);\n\t\n\treturn false;\n}\n\n\nbool CStatusWnd::OnCreate(IN WISP_MSG* pMsg)\n{\n\tm_BorderSize=2;\n\tm_StatusString.Empty();\n\treturn true;\n}"
  },
  {
    "path": "Project/Syser/Source/WndStringReference.h",
    "content": "#ifndef __STRING_REFERENCE_LIST__H__\n#define __STRING_REFERENCE_LIST__H__\n\ntypedef DWORD\tVALUE_TYPE;\n\nclass CStringReferenceList;\n\nclass CFindStringForm : public CWispForm\n{\npublic:\n\tCFindStringForm();\n\t~CFindStringForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnFindTextCmd)\n\tDECLARE_WISP_MSG_EVENT(OnFindButtonEvent)\npublic:\n\t\n\tCWispButton* m_FindButton;\n\tCWispButton* m_CloseButton;\n\tCWispEdit* m_FindEdit;\n\tCStringReferenceList *m_pContextList;\n\tvoid SetContextList(CStringReferenceList* pContextList);\n};\n\n\nclass CStringReferenceList : public CWispList\n{\n\ttypedef TMap<UINT,UINT> SRHOTKEYMAP;\npublic:\n\n\tCStringReferenceList();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnChar)\t\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventSearchAgain)\n\tDECLARE_WISP_MSG_EVENT(OnEventSearch)\n\tDECLARE_WISP_MSG(OnMouseDBClick)\npublic:\n\tvoid\tItemClickNotify(HANDLE hItem,int Col);\n\tvoid\tUpdateContext(ULPOS Address,bool bRelocal=false);\n\tvoid\tResetContext();\n\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String);\n\tvoid\tPopupMenu();\n\tvoid\tSetWndType(int Type){m_TypeWnd=Type;}\n\tint\t\tm_TypeWnd;\n\tint\t\tm_MaxMatchLen;\n\tCWispMenu m_PopupMenu;      \n\tCWispString m_SearchString;\n\tSRHOTKEYMAP m_HotKeyMap;\n\tvoid\t\t\tAttachShortcutKey();\n\tCFindStringForm m_FindDlg;\n\tbool FindString(WISP_CHAR* pSearch=NULL);\n\tHANDLE m_MenuSearchAgain;\n\t\n};\n\n\nclass CStatusWnd : public CWispWnd\n{\npublic:\n\tCStatusWnd(){}\n\tvirtual ~CStatusWnd(){}\n\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnUpdateBorder)\n\tDECLARE_WISP_MSG(OnCreate)\n\t\n\tCWispString m_StatusString;\n};\n\n\nclass CFindListWnd : public CWispWnd\n{\npublic:\n\tCFindListWnd(){}\n\tvirtual ~CFindListWnd(){}\n\tCStatusWnd m_StatusWnd;\n\tCStringReferenceList m_ListWnd;\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnListWndCmd)\n\tvoid\tSetWndType(int Type){m_TypeWnd=Type;}\n\tint\t\tm_TypeWnd;\n};\n\n\n\n\n#endif  /__STRING_REFERENCE_LIST__H__\n"
  },
  {
    "path": "Project/Syser/Source/X86Define.h",
    "content": "#ifndef _X86_DEFINE_H_\n#define _X86_DEFINE_H_\n#include \"LocalAPIC.h\"\n//־Ĵλζ\nstruct EFLAG_REG\n{\n\tbool CF\t\t:1;\t\t//0\n\tbool b1\t\t:1;\t\t//1 \n\tbool PF\t\t:1;\t\t//2\n\tbool b3\t\t:1;\t\t//3\n\tbool AF\t\t:1;\t\t//4\n\tbool b5\t\t:1;\t\t//5\n\tbool ZF\t\t:1;\t\t//6\n\tbool SF\t\t:1;\t\t//7\n\tbool TF\t\t:1;\t\t//8\n\tbool IF\t\t:1;\t\t//9\n\tbool DF\t\t:1;\t\t//10\n\tbool OF\t\t:1;\t\t//11\n\tUINT IOPL\t:2;\t\t//12--13\n\tbool NT\t\t:1;\t\t//14\n\tbool bf\t\t:1;\t\t//15\n\tbool RF\t\t:1;\t\t//16\n\tbool VM\t\t:1;\t\t//17\n\tbool AC\t\t:1;\t\t//18\n\tbool VIF\t:1;\t\t//19\n\tbool VIP\t:1;\t\t//20\n\tbool ID\t\t:1;\t\t//21\n\tUINT Reserve:10;\t//22--23\n};\n\nstruct FPU_STATUS_REG\n{\n\tWORD IE:1;\n\tWORD DE:1;\n\tWORD ZE:1;\n\tWORD OE:1;\n\tWORD UE:1;\n\tWORD PE:1;\n\tWORD SF:1;\n\tWORD ES:1;\n\tWORD C0:1;\n\tWORD C1:1;\n\tWORD C2:1;\n\tWORD TOP:3;\n\tWORD C3:1;\n\tWORD B:1;\n};\n\nstruct FPU_TAG_WORD_REG\n{\n\tWORD TAG0:2;\n\tWORD TAG1:2;\n\tWORD TAG2:2;\n\tWORD TAG3:2;\n\tWORD TAG4:2;\n\tWORD TAG5:2;\n\tWORD TAG6:2;\n\tWORD TAG7:2;\n};\n\nstruct FPU_CONTROL_REG\n{\n\tWORD IM:1;\n\tWORD DM:1;\n\tWORD ZM:1;\n\tWORD OM:1;\n\tWORD UM:1;\n\tWORD PM:1;\n\tWORD Reserved1:2;\n\tWORD PC:2;\n\tWORD RC:2;\n\tWORD X:1;\n\tWORD Reserved2:3;\n};\n\n\ntypedef struct _FPU_SAVE_STATUS\n{\n\tWORD ControlWord;\n\tWORD Reserved1;\n\tWORD StatusWord;\n\tWORD Reserved2;\n\tWORD TagWord;\n\tWORD Reserved3;\n\tDWORD InstructionPointer;\n\tDWORD Zero:5;\n\tDWORD Opcode:11;\n\tDWORD InstructionPointerSelector:16;\n\tDWORD OperandPointerOffset;\n\tWORD Reserved4;\n\tWORD OperandPointerSelector;\n\tBYTE Reg[8][10];\n}FPU_SAVE_STATUS,*PFPU_SAVE_STATUS;\n\nstruct DEBUG_CTRL_REG\n{\n\tbool\tL0\t:1;\n\tbool\tG0\t:1;\n\tbool\tL1\t:1;\n\tbool\tG1\t:1;\n\tbool\tL2\t:1;\n\tbool\tG2\t:1;\n\tbool\tL3\t:1;\n\tbool\tG3\t:1;\n\tbool\tLE\t:1;\n\tbool\tGE\t:1;\t\n\tbool\t\t:3;\n\tbool\tGD\t:1;\n\tbool\t\t:2;\n\tUINT\tRWE0:2;\n\tUINT\tLEN0:2;\n\tUINT\tRWE1:2;\n\tUINT\tLEN1:2;\n\tUINT\tRWE2:2;\n\tUINT\tLEN2:2;\n\tUINT\tRWE3:2;\n\tUINT\tLEN3:2;\t\n};\n\nstruct DEBUG_STATUS_REG\n{\n\tbool\tB0\t:1;\n\tbool\tB1\t:1;\n\tbool\tB2\t:1;\n\tbool\tB3\t:1;\n\tUINT\t\t:9;\n\tbool\tBD\t:1;\n\tbool\tBS\t:1;\n\tbool\tBT\t:1;\n\tUINT\t\t:16;\n};\n\nenum GENE_REG_INDEX\n{\n\tEAX_IDX = 0,\n\tECX_IDX,\n\tEDX_IDX,\n\tEBX_IDX,\n\tESP_IDX,\n\tEBP_IDX,\n\tESI_IDX,\n\tEDI_IDX,\n\tGENE_IDX_MAX\n};\n\nenum SEG_REG_INDEX\n{\n\tES_IDX = 0,\n\tCS_IDX,\n\tSS_IDX,\n\tDS_IDX,\n\tFS_IDX,\n\tGS_IDX,\n\tSEG_IDX_MAX\n};\n\ntypedef struct _RETURN_CONTEXT\n{\n\tDWORD rEIP;\n\tDWORD rCS;\n\tDWORD rEflags;\n\tDWORD r3ESP;\n\tDWORD r3SS;\n\tDWORD rV86ES;\n\tDWORD rV86DS;\n\tDWORD rV86FS;\n\tDWORD rV86GS;\n}RETURN_CONTEXT,*PRETURN_CONTEXT;\n\ntypedef struct _X86_REG_CONTEXT\n{\n\tDWORD GeneReg[GENE_IDX_MAX];\n\tDWORD CR[5];\n\tDWORD DR[8];\n\tDWORD EIP;\n\tDWORD EFlags;\n\tWORD  SegReg[SEG_IDX_MAX];\n\tWORD  TR;\n\tWORD  LDT;\n\tWORD  Reserved1;\n\tWORD  GDTLimit;\n\tDWORD GDTBase;\n\tWORD  Reserved2;\n\tWORD  IDTLimit;\n\tDWORD IDTBase;\n\tDWORD ExceptionEIP;\t\t\t\t\t\t//쳣ʱEIP   ֻ쳣в\n\tDWORD ExceptionInterruptNumber;\t\t\t//쳣жϺ 0e ȱҳж, 0d ͨ쳣\n\tDWORD ExceptionInterruptErrorCode;\t\t//쳣Ĵ\n\tPSAVELOCALAPIC LocalAPIC;\n\tWORD FPUStatusWord;\n\tWORD FPUControlWord;\t\n\tWORD FPUTagWord;\n\tWORD Reserved3;\n\n}X86_REG_CONTEXT,*PX86_REG_CONTEXT;\n\nenum\n{\n\tSYS_SEG_GATE_DECR_TYPE_RESERVED_1\t= 0x00,\t\t//\n\tSYS_SEG_GATE_DECR_TYPE_16TSS_AVAIL\t= 0x01,\t\t//16λTSS()\n\tSYS_SEG_GATE_DECR_TYPE_LDT\t\t\t= 0x02,\t\t//LDT\n\tSYS_SEG_GATE_DECR_TYPE_16TSS_BUSY\t= 0x03,\t\t//16λTSS(æ)\n\tSYS_SEG_GATE_DECR_TYPE_16CALL_GATE\t= 0x04,\t\t//16λ\n\tSYS_SEG_GATE_DECR_TYPE_TASK_GATE\t= 0x05,\t\t//\n\tSYS_SEG_GATE_DECR_TYPE_16INT_GATE\t= 0x06,\t\t//16λж\n\tSYS_SEG_GATE_DECR_TYPE_16TRAP_GATE\t= 0x07,\t\t//16λ\n\tSYS_SEG_GATE_DECR_TYPE_RESERVED_2\t= 0x08,\t\t//\n\tSYS_SEG_GATE_DECR_TYPE_32TSS_AVAIL\t= 0x09,\t\t//32λTSS()\n\tSYS_SEG_GATE_DECR_TYPE_RESERVED_3\t= 0x0A,\t\t//\n\tSYS_SEG_GATE_DECR_TYPE_32TSS_BUSY\t= 0x0B,\t\t//32λTSS(æ)\n\tSYS_SEG_GATE_DECR_TYPE_32CALL_GATE\t= 0x0C,\t\t//32λ\n\tSYS_SEG_GATE_DECR_TYPE_RESERVED_4\t= 0x0D,\t\t//\n\tSYS_SEG_GATE_DECR_TYPE_32INT_GATE\t= 0x0E,\t\t//32λж\n\tSYS_SEG_GATE_DECR_TYPE_32TRAP_GATE\t= 0x0F,\t\t//32λ\n};\n\ntypedef DWORD\tREG32;\ntypedef DWORD\tVADDR32;\ntypedef DWORD\tPADDR32;\ntypedef WORD\tSELECTOR;\n\nstruct SELECTOR_DECR\n{\n\tUINT RPL:2;\n\tUINT TI:1;\n\tUINT Index:13;\n};\n\ntypedef struct _X86_GATE_DECR\n{\n\tWORD\t\tOffsetLow;\n\tSELECTOR\tSelector;\n\tBYTE\t\tDCount\t:5;\n\tBYTE\t\tReserved:3;\n\tBYTE\t\tType\t:4;\n\tBYTE\t\tDT\t\t:1;//storage segment (value=1) system segment and system gate (value=0)\n\tBYTE\t\tDPL\t\t:2;//Descriptor Privilege Level\n\tBYTE\t\tP\t\t:1;//Present\n\tWORD\t\tOffsetHigh;\n}X86_GATE_DECR,*PX86_GATE_DECR;\n\ntypedef struct _X86_SEGMENT_DESCRIPTOR\t\t//descriptor\n{\n\tDWORD limit_L0:8;\n\tDWORD limit_L1:8;\n\tDWORD base_L0:8;\n\tDWORD base_L1:8;\n\tDWORD base_H0:8;\n\tDWORD TYPE:4;\t\t\t\t\t\t\t//type\n\tDWORD DT:1;\t\t\t\t\t\t\t\t//storage segment (value=1) system segment and system gate (value=0)\n\tDWORD DPL:2;\t\t\t\t\t\t\t//Descriptor Privilege Level\n\tDWORD P:1;\t\t\t\t\t\t\t\t//Present\n\tDWORD limit_H:4;\n\tDWORD AVL:1;\t\t\t\t\t\t\t//soft accessed\n\tDWORD reseved:1;\t\t\t\t\t\t//reseved (value=0)\n\tDWORD D:1;\t\t\t\t\t\t\t\t// segment size BIT31(1) BIT16(0) (storage segment)\n\tDWORD G:1;\t\t\t\t\t\t\t\t//Granularity\n\tDWORD base_H1:8;\t\n}X86_SEGMENT_DESCRIPTOR;\n\ntypedef struct _X86_PDE_4M\n{\n\tDWORD\tPresent\t\t\t:1;\n\tDWORD\tReadWrite\t\t:1;\n\tDWORD\tUserPage\t\t:1;\n\tDWORD\tWriteThrough\t:1;\n\tDWORD\tCacheDisable\t:1;\n\tDWORD\tAccessed\t\t:1;\n\tDWORD\tDirty\t\t\t:1;\n\tDWORD\tPage4M\t\t\t:1;\n\tDWORD\tGlobePage\t\t:1;\n\tDWORD\tAvail\t\t\t:3;\n\tDWORD\tPageTabAttrIdx\t:1;\n\tDWORD\tReserved1\t\t:9;\n\tDWORD\tPageBase\t\t:10;\n}X86_PDE_4M,*PX86_PDE_4M;\n\ntypedef union _X86_PDE\n{\n\tstruct _u{\n\tDWORD\tPresent\t\t\t:1;\n\tDWORD\tReadWrite\t\t:1;\n\tDWORD\tUserPage\t\t:1;\n\tDWORD\tWriteThrough\t:1;\n\tDWORD\tCacheDisable\t:1;\n\tDWORD\tAccessed\t\t:1;\n\tDWORD\tReserved\t\t:1;\n\tDWORD\tPage4M\t\t\t:1;\n\tDWORD\tGlobePage\t\t:1;\n\tDWORD\tAvail\t\t\t:3;\n\tDWORD\tPageTabBase\t\t:20;\n\t}u;\n\tULONG  PDEValue;\n}X86_PDE,*PX86_PDE;\n\ntypedef union _X86_36_PDE\n{\n\tstruct _u{\n\t\tDWORD P:1;\n\t\tDWORD RW:1;\n\t\tDWORD US:1;\n\t\tDWORD PWT:1;\n\t\tDWORD PCD:1;\n\t\tDWORD A:1;\n\t\tDWORD Reserved:1;\n\t\tDWORD Page2M:1;\n\t\tDWORD Reserved1:1;\n\t\tDWORD Avail:3;\n\t\tDWORD BaseAddressLow:20;\n\t\tDWORD BaseAddressHigh:4;\n\t\tDWORD Reserved2:27;\n\t\tDWORD NXE:1;\n\t}u;\n\tULONGLONG PDE36Value;\n}X86_36_PDE,*PX86_36_PDE;\n\n\ntypedef union _X86_36_PDE_2M\n{\n\tstruct _u{\n\t\tDWORD P:1;\n\t\tDWORD RW:1;\n\t\tDWORD US:1;\n\t\tDWORD PWT:1;\n\t\tDWORD PCD:1;\n\t\tDWORD A:1;\n\t\tDWORD D:1;\n\t\tDWORD Page2M:1;\n\t\tDWORD G:1;\n\t\tDWORD Avail:3;\n\t\tDWORD PAT:1;\n\t\tDWORD Reserved:8;\n\t\tDWORD BaseAddress:11;\n\t\tDWORD BaseAddressHigh:4;\n\t\tDWORD Reserved1:27;\n\t\tDWORD NXE:1;\n\t}u;\n\tULONGLONG PDE36Value2M;\n}X86_36_PDE_2M,*PX86_36_PDE_2M;\n\ntypedef struct _X86_36_PDE_4M \n{\n\tDWORD P:1;\n\tDWORD RW:1;\n\tDWORD US:1;\n\tDWORD PWT:1;\n\tDWORD PCD:1;\n\tDWORD A:1;\n\tDWORD D:1;\n\tDWORD Page4M:1;\n\tDWORD G:1;\n\tDWORD Avail:3;\n\tDWORD PAT:1;\n\tDWORD BaseAddressHigh:4;\n\tDWORD Reserved:5;\n\tDWORD BaseAddressLow:10;\n}X86_36_PDE_4M,*PX86_36_PDE_4M;\n\ntypedef union _X86_36_PTE\n{\n\tstruct _u{\n\t\tDWORD P:1;\n\t\tDWORD RW:1;\n\t\tDWORD US:1;\n\t\tDWORD PWT:1;\n\t\tDWORD PCD:1;\n\t\tDWORD A:1;\n\t\tDWORD D:1;\n\t\tDWORD PAT:1;\n\t\tDWORD G:1;\n\t\tDWORD Avail:3;\n\t\tDWORD BaseAddressLow:20;\n\t\tDWORD BaseAddressHigh:4;\n\t\tDWORD Reserved:27;\n\t\tDWORD NXE:1;\n\t}u;\n\tULONGLONG PTE36Value;\t\n}X86_36_PTE,*PX86_36_PTE;\n\ntypedef struct _X86_PTE\n{\n\tDWORD\tPresent\t\t\t:1;\n\tDWORD\tReadWrite\t\t:1;\n\tDWORD\tUserPage\t\t:1;\n\tDWORD\tWriteThrough\t:1;\n\tDWORD\tCacheDisable\t:1;\n\tDWORD\tAccessed\t\t:1;\n\tDWORD\tDirty\t\t\t:1;\n\tDWORD\tPageTabAttrIdx\t:1;\n\tDWORD\tGlobePage\t\t:1;\n\tDWORD\tAvail\t\t\t:3;\n\tDWORD\tPageTabBase\t\t:20;\n}X86_PTE;\n\ntypedef struct _TASK32SEGMENT\n{\n\tWORD TaskLink;\n\tWORD TaskLink_word_filler;\n\t//-------------\n\tDWORD ESP0;\n\tWORD SS0;\n\tWORD SS0_word_filler;\n\tDWORD ESP1;\n\tWORD SS1;\n\tWORD SS1_word_filler;\n\tDWORD ESP2;\n\tWORD SS2;\n\tWORD SS2_word_filler;\n\t//-------------\n\tDWORD CR3;\n\tDWORD eip;\n\tDWORD efl;\n\tDWORD eax;\n\tDWORD ecx;\n\tDWORD edx;\n\tDWORD ebx;\n\tDWORD esp;\n\tDWORD ebp;\n\tDWORD esi;\n\tDWORD edi;\n\t//-------------\n\tWORD ES;\n\tWORD ES_word_filler;\n\tWORD CS;\n\tWORD CS_word_filler;\n\tWORD SS;\n\tWORD SS_word_filler;\n\tWORD DS;\n\tWORD DS_word_filler;\n\tWORD FS;\n\tWORD FS_word_filler;\n\tWORD GS;\n\tWORD GS_word_filler;\n\t//-------------\n\tWORD LDT;\n\tWORD LDT_word_filler;\n\t//-------------\n\tWORD Trap;\n\tWORD io_map_base;\n\tBYTE io_map;\n}TASK32SEGMENT,*PTASK32SEGMENT;\n\ntypedef struct _TASK16SEGMENT\n{\n\tWORD TaskLink;\n\t//-------------\n\tWORD SP0;\n\tWORD SS0;\n\tWORD SP1;\n\tWORD SS1;\n\tWORD SP2;\n\tWORD SS2;\n\t//-------------\n\tWORD ip;\n\tWORD fl;\n\tWORD ax;\n\tWORD cx;\n\tWORD dx;\n\tWORD bx;\n\tWORD sp;\n\tWORD bp;\n\tWORD si;\n\tWORD di;\n\t//-------------\n\tWORD ES;\n\tWORD CS;\n\tWORD SS;\n\tWORD DS;\n\t//-------------\n\tWORD LDT;\n}TASK16SEGMENT,*PTASK16SEGMENT;\n\ntypedef struct _CR4REGISTER\n{\n\tDWORD VEM:1;\t\t//Virtual-8086 Mode Extensions (bit 0 of CR4).\n\tDWORD PVI:1;\t\t//Protected-Mode Virtual Interrupts (bit 1 of CR4).\n\tDWORD TSD:1;\t\t//Time Stamp Disable (bit 2 of CR4).\n\tDWORD DE:1;\t\t\t//Debugging Extensions (bit 3 of CR4).\n\tDWORD PSE:1;\t\t//Page Size Extensions (bit 4 of CR4).\n\tDWORD PAE:1;\t\t//Physical Address Extension (bit 5 of CR4).\n\tDWORD MCE:1;\t\t//Machine-Check Enable (bit 6 of CR4).\n\tDWORD PGE:1;\t\t//Page Global Enable (bit 7 of CR4).\n\tDWORD PCE:1;\t\t//Performance-Monitoring Counter Enable (bit 8 of CR4).\n\tDWORD OSFXSR:1;\t\t//Operating System Support for FXSAVE and FXRSTOR instructions (bit 9 of\tCR4).\n\tDWORD OSXMMEXCPT:1;\t//Operating System Support for Unmasked SIMD Floating-Point Exceptions (bit 10 of CR4).\n\tDWORD Reserved:21;\n}CR4REGISTER,*PCR4REGISTER;\n\ntypedef struct _CR0REGISTER\n{\n\tULONG PE:1;                   //Paging (bit 31 of CR0)\n\tULONG MP:1;                   //Monitor Coprocessor (bit 1 of CR0).\n\tULONG EM:1;                   //Emulation (bit 2 of CR0)\n\tULONG TS:1;                   //Task Switched (bit 3 of CR0)\n\tULONG ET:1;                   //Extension Type (bit 4 of CR0)\n\tULONG NE:1;                   //Numeric Error (bit 5 of CR0)\n\tULONG ReservedBit6_15:10;\n\tULONG WP:1;                   //Write Protect (bit 16 of CR0)\n\tULONG ReservedBit17:1;\n\tULONG AM:1;                   //Alignment Mask (bit 18 of CR0)\n\tULONG ReservedBit19_28:10;\n\tULONG NW:1;                   //Not Write-through (bit 29 of CR0)\n\tULONG CD:1;                   //Cache Disable (bit 30 of CR0)\n\tULONG PG:1;                   //Paging (bit 31 of CR0)\n}CR0REGISTER,*PCR0REGISTER;\n\ntypedef struct _CR3REGISTER\n{\n\tULONG ReservedBit0_2:3;\n\tULONG PWT:1;                  //Page-level Cache Disable (bit 4 of CR3)\n\tULONG PCD:1;                  //Page-level Writes Transparent (bit 3 of CR3)\n\tULONG ReservedBit5_11:7;\t\n\tULONG PageDirectoryBase:20;\n}CR3REGISTER,*PCR3REGISTER;\n\ntypedef struct _PDECSRIPTOR\n{\n\tWORD Limit;\n\tDWORD Base;\n}PDECSRIPTOR,*PPDECSRIPTOR;\n\ntypedef struct _CPUID_1_EAX_VERSION\n{\n\tDWORD SteppingID:4;\n\tDWORD Model:4;\n\tDWORD Family:4;\n\tDWORD ProcessorType:2;\n\tDWORD Reserved:2;\n\tDWORD ExtendedModel:4;\n\tDWORD ExtendedFamily:8;\n\tDWORD Reserved1:4;\n}CPUID_1_EAX_VERSION,*PCPUID_1_EAX_VERSION;\n\ntypedef struct _CPUID_1_EDX_FEATURE\n{\n\tDWORD FPU:1;\t\t//Floating Point Unit On-Chip. The processor contains an x87 FPU.\n\tDWORD VME:1;\t\t//Virtual 8086 Mode Enhancements. Virtual 8086 mode enhancements,including CR4.VME for controlling the feature, CR4.PVI for protected mode virtual interrupts, software interrupt indirection, expansion of the TSS with the software indirection bitmap, and EFLAGS.VIF and EFLAGS.VIP flags.\n\tDWORD DE:1;\t\t\t//Debugging Extensions. Support for I/O breakpoints, including CR4.DE for controlling the feature, and optional trapping of accesses to DR4 and DR5.\n\tDWORD PSE:1;\t\t//Page Size Extension. Large pages of size 4 MByte are supported, including\tCR4.PSE for controlling the feature, the defined dirty bit in PDE (Page\tDirectory Entries), optional reserved bit trapping in CR3, PDEs, and PTEs.\n\tDWORD TSC:1;\t\t//Time Stamp Counter. The RDTSC instruction is supported, including CR4.TSD\tfor controlling privilege.\n\tDWORD MSR:1;\t\t//Model Specific Registers RDMSR and WRMSR Instructions. The RDMSR and WRMSR instructions are supported. Some of the MSRs are implementation dependent.\n\tDWORD PAE:1;\t\t//Physical Address Extension. Physical addresses greater than 32 bits are supported: extended page table entry formats, an extra level in the page translation tables is defined, 2-MByte pages are supported instead of 4 Mbyte pages if PAE bit is 1. The actual number of address bits beyond 32 is not defined, and is implementation specific.\n\tDWORD MCE:1;\t\t//Machine Check Exception. Exception 18 is defined for Machine Checks,including CR4.MCE for controlling the feature. This feature does not define the model-specific implementations of machine-check error logging,reporting, and processor shutdowns. Machine Check exception handlers may have to depend on processor version to do model specific processing of the\texception, or test for the presence of the Machine Check feature.\n\tDWORD CX8:1;\t\t//CMPXCHG8B Instruction. The compare-and-exchange 8 bytes (64 bits)\tinstruction is supported (implicitly locked and atomic).\n\tDWORD APIC:1;\t\t//APIC On-Chip. The processor contains an Advanced Programmable Interrupt Controller (APIC), responding to memory mapped commands in the physical address range FFFE0000H to FFFE0FFFH (by default - some processors permit the APIC to be relocated).\n\tDWORD Reserved:1;\t//Reserved\n\tDWORD SEP:1;\t\t//SYSENTER and SYSEXIT Instructions. The SYSENTER and SYSEXIT and associated MSRs are supported.\n\tDWORD MTRR:1;\t\t//Memory Type Range Registers. MTRRs are supported. The MTRRcap MSR\tcontains feature bits that describe what memory types are supported, how many variable MTRRs are supported, and whether fixed MTRRs are\tsupported.\n\tDWORD PGE:1;\t\t//PTE Global Bit. The global bit in page directory entries (PDEs) and page table entries (PTEs) is supported, indicating TLB entries that are common to\tdifferent processes and need not be flushed. The CR4.PGE bit controls this feature.\n\tDWORD MCA:1;\t\t//Machine Check Architecture. The Machine Check Architecture, which\tprovides a compatible mechanism for error reporting in P6 family, Pentium 4,Intel Xeon processors, and future processors, is supported. The MCG_CAP\tMSR contains feature bits describing how many banks of error reporting\tMSRs are supported.\n\tDWORD CMOV:1;\t\t//Conditional Move Instructions. The conditional move instruction CMOV is supported. In addition, if x87 FPU is present as indicated by the CPUID.FPU feature bit, then the FCOMI and FCMOV instructions are supported\n\tDWORD PAT:1;\t\t//Page Attribute Table. Page Attribute Table is supported. This feature\taugments the Memory Type Range Registers (MTRRs), allowing an operating\tsystem to specify attributes of memory on a 4K granularity through a linear\taddress.\n\tDWORD PSE_36:1;\t\t//36-Bit Page Size Extension. Extended 4-MByte pages that are capable of addressing physical memory beyond 4 GBytes are supported. This feature\tindicates that the upper four bits of the physical address of the 4-MByte page is encoded by bits 13-16 of the page directory entry.\n\tDWORD PSN:1;\t\t//Processor Serial Number. The processor supports the 96-bit processor\tidentification number feature and the feature is enabled.\n\tDWORD CLFSH:1;\t\t//CLFLUSH Instruction. CLFLUSH Instruction is supported.\n\tDWORD Reserved1:1;\t//Reserved\n\tDWORD DS:1;\t\t\t//Debug Store. The processor supports the ability to write debug information into a memory resident buffer. This feature is used by the branch trace store (BTS) and precise event-based sampling (PEBS) facilities\n\tDWORD ACPI:1;\t\t//Thermal Monitor and Software Controlled Clock Facilities. The processor implements internal MSRs that allow processor temperature to be monitored\tand processor performance to be modulated in predefined duty cycles under software control.\n\tDWORD MXX:1;\t\t//Intel MMX Technology. The processor supports the Intel MMX technology.\n\tDWORD FXSR:1;\t\t//FXSAVE and FXRSTOR Instructions. The FXSAVE and FXRSTOR instructions are supported for fast save and restore of the floating point context.Presence of this bit also indicates that CR4.OSFXSR is available for an operating system to indicate that it supports the FXSAVE and FXRSTOR instructions.\n\tDWORD SSE:1;\t\t//SSE. The processor supports the SSE extensions.\n\tDWORD SSE2:1;\t\t//SSE2. The processor supports the SSE2 extensions.\n\tDWORD SS:1;\t\t\t//Self Snoop. The processor supports the management of conflicting memory types by performing a snoop of its own cache structure for transactions issued to the bus.\n\tDWORD HTT:1;\t\t//Multi-Threading. The physical processor package is capable of supporting more than one logical processor.\n\tDWORD TM:1;\t\t\t//Thermal Monitor. The processor implements the thermal monitor automatic thermal control circuitry (TCC).\n\tDWORD Reserved2:1;\t//Reserved\n\tDWORD PBE:1;\t\t//Pending Break Enable. The processor supports the use of the FERR#/PBE# pin when the processor is in the stop-clock state (STPCLK# is asserted) to\tsignal the processor that an interrupt is pending and that the processor should return to normal operation to handle the interrupt. Bit 10 (PBE\tenable) in the IA32_MISC_ENABLE MSR enables this capability.\n}CPUID_1_EDX_FEATURE,*PCPUID_1_EDX_FEATURE;\n\ntypedef struct _CPUID_1_ECX_EXTENDED_FEATURE\n{\n\tULONG SSE3:1;                 //Streaming SIMD Extensions 3 (SSE3). A value of 1 indicates the processor supports this technology.\n\tULONG ReservedBit1:1;\n\tULONG ReservedBit2:1;\n\tULONG MONITOR:1;              //MONITOR/MWAIT. A value of 1 indicates the processor supports this feature.\n\tULONG DS_CPL:1;               //CPL Qualified Debug Store. A value of 1 indicates the processor\tsupports the extensions to the Debug Store feature to allow for\tbranch message storage qualified by CPL.\n\tULONG VMX:1;                  //Virtual Machine Extensions. A value of 1 indicates that the\tprocessor supports this technology\n\tULONG ReservedBit6:1;\n\tULONG EST:1;                  //Enhanced Intel SpeedStep? technology. A value of 1 indicates that the processor supports this technology.\n\tULONG TM2:1;                  //Thermal Monitor 2. A value of 1 indicates whether the processor\tsupports this technology.\n\tULONG SSSE3:1;                //A value of 1 indicates the presence of the Supplemental\tStreaming SIMD Extensions 4 (SSSE3). A value of 0 indicates the\tinstruction extensions are not present in the processor\n\tULONG CNXT_ID:1;              //L1 Context ID. A value of 1 indicates the L1 data cache mode can be set to either adaptive mode or shared mode. A value of 0 indicates this feature is not supported. See definition of the\tIA32_MISC_ENABLE MSR Bit 24 (L1 Data Cache Context Mode) for details.\n\tULONG ReservedBit11:1;\n\tULONG ReservedBit12:1;\n\tULONG CMPXCHG16B:1;           //CMPXCHG16B Available. A value of 1 indicates that the feature is available. See the CMPXCHG8B/CMPXCHG16BCompare and\tExchange Bytes section in this chapter for a description.\n\tULONG xTPR_Update_Control:1;  //xTPR Update Control. A value of 1 indicates that the processor supports changing IA32_MISC_ENABLES[bit 23].\n\tULONG ReservedBit15_31:17;\n}CPUID_1_ECX_EXTENDED_FEATURE,*PCPUID_1_ECX_EXTENDED_FEATURE;\n\ntypedef struct _MSR_IA32_MISC_ENABLE\n{\n\tULONG FastString:1;\n\tULONG ReservedBit1:1;\n\tULONG FPUMode:1;\n\tULONG TM1E:1;\n\tULONG SLD:1;\n\tULONG ReservedBit5:1;\n\tULONG TLCD:1;\n\tULONG PMA:1;\n\tULONG SLE:1;\n\tULONG PQD:1;\n\tULONG FerrIRE:1;\n\tULONG BTSU:1;\n\tULONG PEBSU:1;\n\tULONG TM2E:1;\n\tULONG ReservedBit14_17:4;\n\tULONG EMFSM:1;\n\tULONG ACLPD:1;\n\tULONG ReservedBit20_21:2;\n\tULONG LCPUIDMAXVAL:1;\n\tULONG ReservedBit23:1;\n\tULONG L1DCCM:1;\n\tULONG ReservedBit25_31:7;\n}MSR_IA32_MISC_ENABLE,*PMSR_IA32_MISC_ENABLE;\n\ntypedef struct _CPU_EFLAGS\n{\n\tULONG CF:1;\n\tULONG ReservedBit1_One:1;\n\tULONG PF:1;\n\tULONG ReservedBit3_Zero:1;\n\tULONG AF:1;\n\tULONG ReservedBit5_Zero:1;\n\tULONG ZF:1;\n\tULONG SF:1;\n\tULONG TF:1;\n\tULONG IF:1;\n\tULONG DF:1;\n\tULONG OF:1;\n\tULONG IOPL:2;\n\tULONG NT:1;\n\tULONG ReservedBit15_Zero:1;\n\tULONG RF:1;\n\tULONG VM:1;\n\tULONG AC:1;\n\tULONG VIF:1;\n\tULONG VIP:1;\n\tULONG ID:1;\n\tULONG ReservedBit22_31:10;\n}CPU_EFLAGS,*PCPU_EFLAGS;\n\ntypedef struct _AMD_CPUID_1_ECX \n{\n\tDWORD SSE3:1;           //SSE3 extensions.\n\tDWORD ReservedBit1_12:12;\n\tDWORD CMPXCHG16B:1;\n\tDWORD ReservedBit14_30:17;\n\tDWORD RAZ:1;\n}AMD_CPUID_1_ECX,*PAMD_CPUID_1_ECX;\n\ntypedef struct _AMD_CPUID_1_EDX \n{\n\tDWORD FPU:1;           //SSE3 extensions.\n\tDWORD VME:1;\n\tDWORD DE:1;\n\tDWORD PSE:1;\n\tDWORD TSC:1;\n\tDWORD MSR:1;\n\tDWORD PAE:1;\n\tDWORD MCE:1;\n\tDWORD CMPXCHG8B:1;\n\tDWORD APIC:1;\n\tDWORD ReservedBit10:1;\n\tDWORD SysEnterSysExit:1;\n\tDWORD MTRR:1;\n\tDWORD PGE:1;\n\tDWORD MCA:1;\n\tDWORD CMOV:1;\n\tDWORD PAT:1;\n\tDWORD PSE36:1;\n\tDWORD ReservedBit18:1;\n\tDWORD CLFSH:1;\n\tDWORD ReservedBit20_22:3;\n\tDWORD MMX:1;\n\tDWORD FXSR:1;\n\tDWORD SSE:1;\n\tDWORD SSE2:1;\n\tDWORD ReservedBit27:1;\n\tDWORD HTT:1;\n\tDWORD ReservedBit29_31:3;\n}AMD_CPUID_1_EDX,*PAMD_CPUID_1_EDX;\n\ntypedef struct _AMD_CPUID_80000001_ECX \n{\n\tDWORD LahfSahf:1;           //SSE3 extensions.\n\tDWORD CmpLegacy:1;\n\tDWORD SVM:1;\n\tDWORD ReservedBit3:1;\n\tDWORD AltMovCr8:1;\n\tDWORD ReservedBit5_31:27;\n}AMD_CPUID_80000001_ECX,*PAMD_CPUID_80000001_ECX;\n\ntypedef struct _AMD_CPUID_80000001_EDX \n{\n\tDWORD FPU:1;           //SSE3 extensions.\n\tDWORD VME:1;\n\tDWORD DE:1;\n\tDWORD PSE:1;\n\tDWORD TSC:1;\n\tDWORD MSR:1;\n\tDWORD PAE:1;\n\tDWORD MCE:1;\n\tDWORD CMPXCHG8B:1;\n\tDWORD APIC:1;\n\tDWORD ReservedBit10:1;\n\tDWORD SysCallSysRet:1;\n\tDWORD MTRR:1;\n\tDWORD PGE:1;\n\tDWORD MCA:1;\n\tDWORD CMOV:1;\n\tDWORD PAT:1;\n\tDWORD PSE36:1;\n\tDWORD ReservedBit18_19:2;\n\tDWORD NX:1;\n\tDWORD ReservedBit21:1;\n\tDWORD MmxExt:1;\n\tDWORD MMX:1;\n\tDWORD FXSR:1;\n\tDWORD FFXSR:1;\n\tDWORD ReservedBit26:1;\n\tDWORD RDTSCP:1;\n\tDWORD ReservedBit28:1;\n\tDWORD LM:1;\n\tDWORD _3DNowExt:1;\n\tDWORD _3DNow:1;\n}AMD_CPUID_80000001_EDX,*PAMD_CPUID_80000001_EDX;\n\n\n#define NT_CS\t\t(0x8)\n#define NT_UCS\t\t(0x1B)\n#define NT_DS\t\t(0x23)\n#define NT_FS\t\t(0x30)\n\n//Dr6\n#define DR6_BD\t\t\t0x2000\n#define DR6_BS\t\t\t0x4000\n#define DR6_BT\t\t\t0x8000\n\n#define DR6_NOT_BD\t\t0xFFFFDFFF\n#define DR6_NOT_BS\t\t0xFFFFBFFF\n#define DR6_NOT_BT\t\t0xFFFF7FFF\n\n#define CR4_VME_BIT_MASK\t\t0x1\n#define CR4_PVI_BIT_MASK\t\t0x2\n#define CR4_TSD_BIT_MASK\t\t0x4\n#define CR4_DE_BIT_MASK\t\t\t0x8\n#define CR4_PSE_BIT_MASK\t\t0x10\n#define CR4_PAE_BIT_MASK\t\t0x20\n#define CR4_MCE_BIT_MASK\t\t0x40\n#define CR4_PGE_BIT_MASK\t\t0x80\n#define CR4_PCE_BIT_MASK\t\t0x100\n#define CR4_OSFXSR_BIT_MASK\t\t0x200\n#define CR4_OSXMMEXCPT_BIT_MASK 0x400\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/X86Optr.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"X86Optr.h\"\n#include \"Syser.h\"\n#include \"Services.h\"\n#include \"IOAPIC.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\nX86_REG_CONTEXT\tReg;\nX86_REG_CONTEXT\tPrevReg;\nX86_REG_CONTEXT gExceptionReg;\nX86_REG_CONTEXT* ExceptionReg=&gExceptionReg;\nX86_REG_CONTEXT ReadOnlyActiveReg;\nRETURN_CONTEXT  ReturnContext;\nDWORD\t\t\tExceptionInterruptNum;\nDWORD\t\t\tExceptionInterruptErrorCode;\nDWORD\t\t\tGeneralReg[8];\nSAVELOCALAPIC*\tgpMCPULocalApic=NULL;\nX86_REG_CONTEXT*gpMCPUReg=NULL;\n//REG32\tCR0Backup=0;\nbool\tgbHaveLastBranchMointer = false;\nDWORD\tdwLastBranchFromEIP;\nDWORD\tdwLastBranchToEIP;\nDWORD\tdwLastIntFromEIP;\nDWORD\tdwLastIntToEIP;\n\nBYTE gIRQLLevel[16]={\n\t0x0,\n\t0xff,\n\t0xff,\n\t0x1,\n\t0x2,\t\n\t0x4,\n\t0x5,\n\t0x6,\n\t0x7,\n\t0x8,\n\t0x9,\n\t0xa,\n\t0x1b,\n\t0x1c,\n\t0x1d,\n\t0x1e\n};\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\nBYTE GetCurrentIRQLLevel()\n{\n\tDWORD Limit;\n\tDWORD BaseAddress;\n\tBYTE Level;\n\tif(gbIsUseAPIC)\n\t{\n\t\treturn gIRQLLevel[(gdwLocalAPICTaskPriority>>4)&0xf];\n\t}\n\telse\n\t{\n\t\tBaseAddress = GetSegmentBaseAddress((WORD)gSystemFSRegisterSelector,&Limit);\n\t\tBaseAddress+=0x24;\n\t\tLevel = ReadByteDefaultValue((void*)BaseAddress,0xff);\n\t}\n\treturn Level;\n}\nDWORD GetCPU_ID()\n{\n\tCPUID_INFO Info;\n\tSyserGetCPUID(&Info,1);\n\treturn (Info.dwEBX >>24);\n}\n//////////////////////////////////////////////////////////////////////////////////////\n//CPUID\n//\nCPUID_INFO*gpCPUIDInfo=NULL;\nDWORD gMaxCPUIDIndex = 0;\n// \n// void GetCPUID(CPUID_INFO *pCPUInfo,DWORD dwIndex)\n// {\n// \t__asm\n// \t{\n// \t\tpushad\n// \t\tpushfd\n// \t\tmov eax,dwIndex\n// \t\tcpuid\n// \t\tmov esi,pCPUInfo\n// \t\tmov [esi],eax\n// \t\tmov [esi+4],ebx\n// \t\tmov [esi+8],ecx\n// \t\tmov [esi+12],edx\n// \t\tpopfd\n// \t\tpopad\n// \t}\n// }\n\n// __declspec(naked) DWORD GetCPUIDMaxIndex()\n// {\n// \t__asm\n// \t{\n// \t\tPUSHAD\n// \t\tPUSHFD\n// \t\tMOV EAX,0\n// \t\tCPUID\n// \t\tMOV [esp+0x20],eax\n// \t\tPOPFD\n// \t\tPOPAD\n// \t\tret\n// \t}\n// }\n\nCPUID_INFO*InitCPUIDInfo()\n{\n\tif(SyserIsSupportCPUIDInstruction()==false)\n\t\treturn NULL;\n\tgMaxCPUIDIndex=SyserGetCPUIDMaxIndex();\n\tif(gMaxCPUIDIndex==0||gMaxCPUIDIndex>0x10)\n\t\treturn NULL;\n\tgpCPUIDInfo=new CPUID_INFO[gMaxCPUIDIndex+1];\n\tfor(DWORD i = 0; i <= gMaxCPUIDIndex;i++)\n\t\tSyserGetCPUID(&gpCPUIDInfo[i],i);\n\treturn gpCPUIDInfo;\n}\n\nvoid ReleaseCPUIDInfo(CPUID_INFO*pCPUIDInfo)\n{\n\tif(pCPUIDInfo==NULL)\n\t\tpCPUIDInfo = gpCPUIDInfo;\n\tif(pCPUIDInfo)\n\t\tdelete []pCPUIDInfo;\n\tpCPUIDInfo=NULL;\n}\n\n// bool IsSupportCPUIDInstruction()\n// {\n// \tstatic bool bInit = false;\n// \tstatic bool bHaveCPUIDInstruction = false;\n// \tif(bInit==false)\n// \t{\n// \t\t__asm\n// \t\t{\n// \t\t\tPUSHAD\n// \t\t\tPUSHFD\n// \t\t\tMOV\t\tEAX,[ESP]\n// \t\t\tMOV\t\tEBX,EAX\n// \t\t\tXOR\t\tEAX,0X200000\n// \t\t\tPUSH\tEAX\n// \t\t\tPOPF\n// \t\t\tPUSHF\n// \t\t\tPOP\t\tEAX\n// \t\t\tXOR\t\tEAX,EBX\n// \t\t\tMOV\t\tEAX,0\n// \t\t\tJZ\t\tExitFunc\n// \t\t\tCPUID\n// \t\t\tCMP\t\tEAX,1\n// \t\t\tJNB\t\tSuccess\n// \t\t\tMOV\t\tbHaveCPUIDInstruction,0\n// \t\t\tJMP\t\tExitFunc\n// Success:\n// \t\t\tMOV\t\tbHaveCPUIDInstruction,1\n// ExitFunc:\t\t\n// \t\t\tPOPFD\n// \t\t\tPOPAD\t\t\n// \t\t}\n// \t\tbInit = true;\n// \t}\n// \treturn bHaveCPUIDInstruction;\n// }\n\n//\n//CPUID\n//////////////////////////////////////////////////////////////////////////////////////\n\n\n\n// \n// __declspec(naked) __int64 __stdcall PrivateReadMSR(DWORD dwIndex)\n// {\n// \t__asm\n// \t{\n// \t\tmov ecx,[esp+4]\n// \t\trdmsr\n// \t\tclc\n// \t\tret 4\n// \t}\n// }\n\n\n// __declspec(naked) __int64 __stdcall PrivateReadMSRError()\n// {\n// \t__asm\n// \t{\n// \t\tstc \n// \t\tret 4\n// \t}\n// }\n// ;\n\n\n// __declspec(naked) void __stdcall PrivateWriteMSR(DWORD dwIndex,DWORD dwValueLow,DWORD dwValueHigh)\n// {\n// \t__asm\n// \t{\n// \t\tmov ecx,[esp+4]\n// \t\tmov eax,[esp+8]\n// \t\tmov edx,[esp+0xc]\n// \t\twrmsr\n// \t\tclc\n// \t\tret 0xc\n// \t}\n// }\n// __declspec(naked) void __stdcall PrivateWriteMSRError()\n// {\n// \t__asm\n// \t{\n// \t\tstc \n// \t\tret 0xc\n// \t}\n// }\n\n// bool ReadMSR(DWORD dwIndex,DWORD *dwHigh,DWORD *dwLow)\n// {\n// \tDWORD dwTmpHigh,dwTmpLow,dwRetValue=0;\n// \tif(IsSupportRDMSRInstruction()==FALSE)\n// \t\treturn FALSE;\n// \t__asm\n// \t{\n// \t\tpushad\t\t\t\t\n// \t\tmov ecx,dwIndex\n// \t\tpush ecx \n// \t\tcall SyserPrivateReadMSR\n// \t\tjb local_1 \t\t\n// \t\tmov dwTmpHigh,edx\n// \t\tmov dwTmpLow,eax\n// \t\tmov eax,1 \n// \t\tmov dwRetValue,eax\n// \t\tjmp local_2\n// local_1:\n// \t\tmov eax,0 \n// \t\tmov dwRetValue,eax\n// local_2:\n// \t\tpopad\n// \t}\n// \t*dwHigh=dwTmpHigh;\n// \t*dwLow=dwTmpLow;\n// \treturn dwRetValue==1;\n// }\n\n\n// __declspec(naked) __int64 __stdcall PrivateGetTSC()\n// {\n// \t__asm\n// \t{\n// \t\trdtsc\n// \t\tclc\n// \t\tret \n// \t}\n// }\n// \n// \n// __declspec(naked) __int64 __stdcall PrivateGetTSCError()\n// {\n// \t__asm\n// \t{\n// \t\tstc \n// \t\tret \n// \t}\n// }\n\n// __declspec(naked)ULONGLONG GetTSC()\n// {\n// \t__asm\n// \t{\n// \t\tcall PrivateGetTSC\n// \t\tret\n// \t}\n// }\n\n// bool ReadTSC(ULONGLONG *llValue)\n// {\n// \tDWORD dwHigh,dwLow,dwRetValue;\n// \t__asm{\t\t\n// \t\tpush eax \n// \t\tpush edx\n// \t\tcall PrivateGetTSC\n// \t\tjb local_001 \n// \t\tmov dwHigh,edx\n// \t\tmov dwLow,eax\n// \t\tmov eax,1\n// \t\tmov dwRetValue,eax\n// \t\tjmp local_002\n// local_001:\n// \t\tmov eax,0\n// \t\tmov dwRetValue,eax\n// local_002:\n// \t\tpop edx \n// \t\tpop eax\n// \t\t\n// \t}\n// \t*llValue=dwHigh;\n// \t*llValue<<=32;\n// \t*llValue|=dwLow;\n// \treturn dwRetValue==1;\n// }\n// bool WriteMSR(DWORD dwIndex,DWORD dwHigh,DWORD dwLow)\n// {\n// \tDWORD dwRetValue;\n// \tif(IsSupportRDMSRInstruction()==FALSE)\t\n// \t\treturn FALSE;\t\n// \t__asm{\n// \t\tpushad\n// \t\tpush edx\n// \t\tpush eax \n// \t\tpush ecx\n// \t\tcall SyserPrivateWriteMSR\n// \t\tmov eax,1 \n// \t\tjnb local_001\n// \t\tdec eax\n// local_001:\t\t\n// \t\tmov dwRetValue,eax\n// \t\tpopad\n// \t}\n// \treturn dwRetValue==1;\n// }\n\nbool SetBranchStepRun()\n{\n\tDWORD dwHigh,dwLow;\n\tif(gbHaveLastBranchMointer==false)\n\t\treturn false;\n\tSyserReadMSR(0x1d9,&dwHigh,&dwLow);\n\tdwLow |= 2;\n\tSyserWriteMSR(0x1d9,dwHigh,dwLow);\n\treturn true;\n}\nbool ClearBranchStepRun()\n{\n\tDWORD dwHigh,dwLow;\n\tif(gbHaveLastBranchMointer==false)\n\t\treturn false;\n\tSyserReadMSR(0x1d9,&dwHigh,&dwLow);\n\tdwLow &= 0xfffffffd;\n\tSyserWriteMSR(0x1d9,dwHigh,dwLow);\n\treturn true;\n}\n\n#define \tPDEBase\t\t((DWORD*)0xC0300000)\n#define \tPTEBase\t\t((DWORD*)0xC0000000)\n\nDWORD GetTSSBase(DWORD *pTSSSize,DWORD dwSelector)\n{\n\tVADDR32 dwGDTBase = 0;\n\tDWORD dwGDTSize = 0;\n\tDWORD dwTSSBase = 0;\n\tDWORD dwSize = 0;\n\tX86_SEGMENT_DESCRIPTOR *pSegDesc;\n\n\tif(dwSelector == 0)\n\t\tdwSelector = SyserGetTSSSelector();\n\tif(dwSelector & 4)\n\t\tdwGDTBase = GetLDTBase(&dwGDTSize);\n\telse\n\t\tdwGDTBase = SyserGetGDTBase(&dwGDTSize);\n\t\n\tif(dwGDTBase && ((dwSelector & 0xfffffff8) < dwGDTSize))\n\t{\n\t\tpSegDesc = (X86_SEGMENT_DESCRIPTOR *)(dwGDTBase+(dwSelector & 0xfffffff8));\n\t\tif(pSegDesc->P && (!pSegDesc->DT) && \n\t\t\t(pSegDesc->TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_AVAIL ||\n\t\t\tpSegDesc->TYPE == SYS_SEG_GATE_DECR_TYPE_16TSS_BUSY ||\n\t\t\tpSegDesc->TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_AVAIL ||\n\t\t\tpSegDesc->TYPE == SYS_SEG_GATE_DECR_TYPE_32TSS_BUSY))\n\t\t{\n\t\t\tdwTSSBase = (pSegDesc->base_H1 << 24) | (pSegDesc->base_H0 << 16) | (pSegDesc->base_L1 << 8) | pSegDesc->base_L0;\n\t\t\tdwSize = (pSegDesc->limit_H << 16) | (pSegDesc->limit_L1 << 8) | (pSegDesc->limit_L0);\n\t\t}\n\t}\n\tif(pTSSSize)\n\t\t*pTSSSize = dwSize;\n\treturn dwTSSBase;\n}\n\n// DWORD GetTSSSelector()\n// {\n// \tDWORD dwTSSSelector;\n// \t__asm\n// \t{\n// \t\txor eax,eax\n// \t\tstr ax\n// \t\tmov dwTSSSelector,eax\n// \t}\n// \treturn dwTSSSelector;\n// }\n\n// DWORD GetLDTSelector()\n// {\n// \tDWORD dwLDTSelector;\n// \t__asm\n// \t{\n// \t\txor eax,eax\n// \t\tsldt ax\n// \t\tmov dwLDTSelector,eax\n// \t}\n// \treturn dwLDTSelector;\n// }\n\n// VADDR32 GetIDTBase(DWORD *dwIdtSize)\n// {\n// \tBYTE SIDTBffer[8];\n// \tVADDR32 IDTBase;\n// \t__asm\n// \t{\n// \t\tpush esi\n// \t\tlea  esi,SIDTBffer\n// \t\tsidt [esi]\n// \t\tpop  esi\n// \t}\n// \tIDTBase = *(VADDR32*)&SIDTBffer[2];\n// \tif(dwIdtSize)\n// \t\t*dwIdtSize = (DWORD)*(WORD*)SIDTBffer;\n// \treturn IDTBase;\n// }\n\nVADDR32 GetLDTBase(DWORD *dwLdtSize,DWORD dwLdtSelector)\n{\n\tVADDR32 LDTBase = 0;\n\tVADDR32 GDTBase,GDTSize;\n\tX86_SEGMENT_DESCRIPTOR *pSegDesc;\n\tDWORD dwSize = 0;\n\n\tif(dwLdtSize)\n\t\t*dwLdtSize = 0;\n// \t__asm{\n// \t\tcmp dwLdtSelector,0\n// \t\tmov eax,dwLdtSelector\n// \t\tjnz local_1\n// \t\tsldt ax\n// \t\tmov dwLdtSelector,eax\n// local_1:\n// \t\tlsl eax,eax\n// \t\tjnz local_2\n// \t\tmov dwSize,eax\n// local_2:\n// \t}\n\n\tSyserGetLDTSelectorBySelector(&dwLdtSelector,&dwSize);\n\n\tif(dwSize)\n\t{\n\t\tGDTBase = SyserGetGDTBase(&GDTSize);\n\t\tif(dwLdtSelector <= GDTSize)\n\t\t{\n\t\t\tpSegDesc = (X86_SEGMENT_DESCRIPTOR *)(GDTBase + (dwLdtSelector & 0xfff8));\n\t\t\tif((!pSegDesc->DT) && pSegDesc->TYPE == SYS_SEG_GATE_DECR_TYPE_LDT)\n\t\t\t{\n\t\t\t\tLDTBase = (pSegDesc->base_H1 << 24) | (pSegDesc->base_H0 << 16) | (pSegDesc->base_L1 << 8) | (pSegDesc->base_L0);\n\t\t\t\tif(dwLdtSize)\n\t\t\t\t\t*dwLdtSize = dwSize;\n\t\t\t}\n\t\t}\n\t}\n\treturn LDTBase;\n}\n\n// VADDR32 GetGDTBase(DWORD *dwGdtSize)\n// {\n// \tVADDR32 GDTBase;\n// \tDWORD dwSize;\n// \t__asm\n// \t{\n// \t\tsub esp,6\n// \t\tsgdt [esp]\n// \t\tmovzx eax,word ptr[esp]\n// \t\tmov dwSize,eax\n// \t\tlea esp,[esp+2]\n// \t\tpop eax\n// \t\tmov GDTBase,eax\n// \t}\n// \tif(dwGdtSize)\n// \t\t*dwGdtSize = dwSize;\n// \treturn GDTBase;\n// }\n\n// SELECTOR GetCurCSeg()\n// {\n// \tSELECTOR CSeg;\n// \t__asm\n// \t{\t\t\n// \t\txor eax,eax\n// \t\tmov ax,cs\n// \t\tmov CSeg,ax\n// \t}\n// \treturn CSeg;\n// }\n\n// SELECTOR GetCurDSeg()\n// {\n// \tSELECTOR DSeg;\n// \t__asm\n// \t{\t\t\n// \t\tmov ax,ds\n// \t\tmov DSeg,ax\n// \t}\n// \treturn DSeg;\n// }\n// \n// REG32 GetCR0Reg()\n// {\n// \tREG32 uReg;\n// \t__asm\n// \t{\n// \t\tmov eax,cr0\n// \t\tmov uReg,eax\n// \t}\n// \treturn uReg;\n// }\n\n// void SetCR0Reg(IN REG32 uReg)\n// {\n// \t__asm\n// \t{\n// \t\tPush EAX \n// \t\tmov eax,uReg\n// \t\tmov cr0,eax\n// \t\tPOP EAX\n// \t}\n// }\n\n// REG32 GetCR3Reg()\n// {\n// \tREG32 uReg;\n// \t__asm\n// \t{\n// \t\tmov eax,cr3\n// \t\tmov uReg,eax\n// \t}\n// \treturn uReg;\n// }\n// \n// void SetCR3Reg(IN REG32 uReg)\n// {\n// \t__asm\n// \t{\n// \t\tPush EAX \n// \t\tmov eax,uReg\n// \t\tmov cr3,eax\n// \t\tPOP EAX\n// \t}\n// }\n\n// void ClrCR0WP()\n// {\n// \tif(CR0Backup&0x80000000)\n// \t{\n// \t\t__asm\n// \t\t{\n// \t\t\tpush eax\n// \t\t\tmov eax,cr0 \n// \t\t\tand eax,0xFFFEFFFF\n// \t\t\tmov cr0,eax\n// \t\t\tpop eax \n// \t\t}\n// \t\treturn;\n// \t}\n// \t\n// \t__asm\n// \t{\n// \t\tPush EAX \n// \t\tmov eax,cr0\n// \t\tmov CR0Backup,eax\n// \t\tand eax,0xFFFEFFFF\n// \t\tmov cr0,eax\n// \t\tPOP EAX\n// \t}\n// }\n\n// void SetCR0WP()\n// {\n// \t__asm\n// \t{\n// \t\tPush EAX \n// \t\tmov eax,cr0\n// \t\tmov CR0Backup,eax\n// \t\tor  eax,0x10000\n// \t\tmov cr0,eax\n// \t\tPOP EAX\n// \t}\n// }\n\n// void RestoreCR0()\n// {\n// \tif(CR0Backup&0x80000000)\n// \t{\t\n// \t\t_asm\n// \t\t{\n// \t\t\tPush EAX \n// \t\t\tmov eax,CR0Backup\n// \t\t\tmov cr0,eax\n// \t\t\tPOP EAX\n// \t\t}\n// \t\tCR0Backup=0;\n// \t}\n// }\n\n// DWORD ClearCR0WP()\n// {\n// \tDWORD OldCR0;\n// \t__asm\n// \t{\n// \t\tmov eax,cr0\n// \t\tpush eax \n// \t\tand eax,0xFFFEFFFF\n// \t\tmov cr0,eax \n// \t\tpop eax\n// \t\tmov OldCR0,eax\n// \t}\n// \treturn OldCR0;\n// }\n\n// void RestoreCR0WP(DWORD dwCR0)\n// {\n// \t__asm\n// \t{\n// \t\tpush eax\n// \t\tmov eax,dwCR0\n// \t\tmov cr0,eax\n// \t\tpop eax\n// \t}\n// }\n\n// REG32 GetDRX(IN UINT ID)\n// {\n// \tREG32 DRReg=0;\n// \tswitch(ID)\n// \t{\n// \tcase 0:\n// \t\t__asm mov eax,dr0\n// \t\tbreak;\n// \tcase 1:\n// \t\t__asm mov eax,dr1\n// \t\tbreak;\n// \tcase 2:\n// \t\t__asm mov eax,dr2\n// \t\t break;\n// \tcase 3:\n// \t\t__asm mov eax,dr3\n// \t\t break;\n// \tcase 6:\n// \t\t__asm mov eax,dr6\n// \t\t break;\n// \tcase 7:\n// \t\t__asm mov eax,dr7\n// \t\t break;\n// \t}\n// \t__asm mov DRReg,eax\n// \treturn DRReg;\n// }\n\n// void SetDRX(IN UINT ID,IN REG32 Reg1)\n// {\n// \t__asm{\n// \t\tpush eax \n// \t\tpush ecx\n// \t\tmov eax,Reg1\n// \t\tmov ecx,ID \n// \t\tcmp ecx,6 \n// \t\tjnz local_001\n// \t\tmov dr6,eax\n// \t\tjmp local_quit\n// local_001:\n// \t\tcmp ecx,7\n// \t\tjnz local_002\n// \t\tmov dr7,eax\n// \t\tjmp local_quit\n// local_002:\n// \t\tcmp ecx,0\n// \t\tjnz local_003\n// \t\tmov dr0,eax \n// \t\tjmp local_quit\n// local_003:\n// \t\tcmp ecx,1 \n// \t\tjnz local_004\n// \t\tmov dr1,eax \n// \t\tjmp local_quit\n// local_004:\n// \t\tcmp ecx,2 \n// \t\tjnz local_005 \n// \t\tmov dr2,eax \n// \t\tjmp local_quit\n// local_005:\n// \t\tcmp ecx,3\n// \t\tjnz local_quit\n// \t\tmov dr3,eax \n// local_quit:\n// \t\tpop ecx \n// \t\tpop eax\n// \t}\n// }\n\nbool MapToPAddr(IN ULPOS Address,OUT ULONGLONG*pResult)\n{\n\tDWORD PV,HighDD,dwTmp;\n\tDWORD*PDE=(DWORD*)0xC0300000;\n\tDWORD*PTE=(DWORD*)0xC0000000;\n\tCR4REGISTER stCR4;\n\tCPUID_1_EDX_FEATURE stCPUID_1_EDX;\n\tstCPUID_1_EDX = *(CPUID_1_EDX_FEATURE*)&gpCPUIDInfo[1].dwEDX;\n\t(DWORD&)stCR4 = GetCR4Register();\n\tif(stCR4.PAE)\n\t{\n\t\tPDE = (DWORD*)(0xC0600000+((Address >> 0x12) & 0x3ff8));\n\t\tif(ReadDword(PDE,&dwTmp)==false)\n\t\t\treturn false;\n\t\tif((PDE[0] & 1)== 0)\n\t\t\treturn false;\n\t\tif(PDE[0] & 0x80)//2Mҳ\n\t\t{\n\t\t\tif(pResult)\n\t\t\t\t*pResult = MAKE_QDWORD(PDE[1]&0xF,(PDE[0] & 0xffe00000) | (Address & 0x1fffff));\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tPTE=(DWORD*)(0xC0000000+((Address >> 9) & 0x7ffff8));\n\t\t\tif(ReadDword(PTE,&dwTmp)==false)\n\t\t\t\treturn false;\n\t\t\tif((PTE[0]&1)==0)\n\t\t\t\treturn false;\n\t\t\tif(pResult)\n\t\t\t\t*pResult=MAKE_QDWORD(PTE[1]&0xF,(PTE[0] & 0xfffff000) + (Address & 0xfff));\n\t\t\treturn true;\n\t\t}\n\t}\n\telse\n\t{\t\t\t\t\t\n\t\tif(ReadDword(&PDE[Address>>22],&dwTmp)==false)\n\t\t\treturn false;\n\t\tPV=PDE[Address>>22];\n\t\tif(PV&0x80)//жǷΪ 4M ҳ档\n\t\t{\t\t\t\n\t\t\tif(stCR4.PSE && stCPUID_1_EDX.PSE)//ж CPU Ƿ֧ 4M ҳ\n\t\t\t{\t\n\t\t\t\tif(!stCPUID_1_EDX.PSE_36)\n\t\t\t\t\tHighDD=0;\n\t\t\t\telse\n\t\t\t\t\tHighDD=(PV>>13)&0xf;\n\t\t\t\tif(pResult)\n\t\t\t\t\t*pResult = MAKE_QDWORD(HighDD,(PV&0xFFC00000) | (Address&0x3FFFFF));\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\t\n\t\tif(ReadDword(&PTE[Address>>12],&dwTmp)==false)\n\t\t\treturn false;\n\t\tPV=PTE[Address>>12];\n\t\tif((PV&1)==0)\n\t\t\treturn false;\n\t\tif(pResult)\n\t\t\t*pResult = (PV&0xFFFFF000) | (Address&0xFFF);\n\t\treturn true;\n\t}\n}\n\n//ȡַӦַС\nULSIZE GetVirtualPhysSize(IN ULPOS Address,IN ULSIZE MaxSize)\n{\n\tDWORD PV;\n\tDWORD dwTmp;\n\tULONGLONG\tPhysAddress,PrevPhysAddress;\n\tULSIZE Size,PrevPageSize,PageSize;\n\tDWORD*PDE=(DWORD*)0xC0300000;\n\tDWORD*PTE=(DWORD*)0xC0000000;\n\tAddress&=0xFFFFF000;\n\tCR4REGISTER stCR4;\n\tCPUID_1_EDX_FEATURE stCPUID_1_EDX;\n\tstCPUID_1_EDX = *(CPUID_1_EDX_FEATURE*)&gpCPUIDInfo[1].dwEDX;\n\tdwTmp = GetCR4Register();\n\tstCR4 = *(CR4REGISTER*)&dwTmp;\n\tSize = 0;\n\tif(stCR4.PAE)\n\t{\n\t\twhile(Address)\n\t\t{\n\t\t\tPDE = (DWORD*)(0xC0600000+((Address >> 0x12) & 0x3ff8));\n\t\t\tif(ReadDword(PDE,&dwTmp)==false)\n\t\t\t\treturn Size;\n\t\t\tif((PDE[0] & 1)== 0)\n\t\t\t\treturn Size;\n\t\t\tif(PDE[0] & 0x80)\n\t\t\t{\n\t\t\t\tPageSize=0x200000;\n\t\t\t\tPhysAddress =MAKE_QDWORD(PDE[1],(PDE[0] & 0xffe00000) | (Address & 0x1fffff) );\n\n\t\t\t\tif(Size && PhysAddress!=PrevPhysAddress+PrevPageSize)\n\t\t\t\t\treturn Size;\n\t\t\t\tPrevPhysAddress = PhysAddress;\n\t\t\t\tPrevPageSize = PageSize;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tPTE=(DWORD*)(0xC0000000+((Address >> 9) & 0x7ffff8));\n\t\t\t\tif(ReadDword(PTE,&dwTmp)==false)\n\t\t\t\t\treturn Size;\n\t\t\t\tif((PTE[0]&1)==0)\n\t\t\t\t\treturn Size;\n\t\t\t\tPageSize=0x1000;\n\t\t\t\tPhysAddress =MAKE_QDWORD(PTE[1],(PTE[0] & 0xfffff000) + (Address & 0xfff));\n\t\t\t\tif(Size && PhysAddress!=PrevPhysAddress+PrevPageSize)\n\t\t\t\t\treturn Size;\n\t\t\t\tPrevPhysAddress = PhysAddress;\n\t\t\t\tPrevPageSize = PageSize;\n\t\t\t}\n\t\t\tAddress+=PageSize;\n\t\t\tSize+=PageSize;\n\t\t\tif(Size >= MaxSize)\n\t\t\t\treturn Size;\n\t\t}\n\t}\n\telse\n\t{\n\t\twhile(Address)\n\t\t{\n\t\t\tif(ReadDword(&PDE[Address>>22],&dwTmp)==false)\n\t\t\t\treturn Size;\n\t\t\tPV=PDE[Address>>22];\t\t\t\n\t\t\tif(PV&0x80)//жǷΪ 4M ҳ档\n\t\t\t{\n\t\t\t\tif(stCR4.PSE && stCPUID_1_EDX.PSE)//ж CPU Ƿ֧ 4M ҳ\n\t\t\t\t{\n\t\t\t\t\tPageSize=0x400000;\n\t\t\t\t\tPhysAddress =MAKE_QDWORD(stCPUID_1_EDX.PSE_36? ((PV>>13)&0xf) : 0 ,(PV&0xFFC00000) | (Address&0x3FFFFF));\n\t\t\t\t\tif(Size && PhysAddress!=PrevPhysAddress+PrevPageSize)\n\t\t\t\t\t\treturn Size;\n\t\t\t\t\tPrevPhysAddress = PhysAddress;\n\t\t\t\t\tPrevPageSize = PageSize;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\treturn Size;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(ReadDword(&PTE[Address>>12],&dwTmp)==false)\n\t\t\t\t\treturn Size;\n\t\t\t\tPV=PTE[Address>>12];\n\t\t\t\t\n\t\t\t\tif((PV&1)==0)\n\t\t\t\t\treturn Size;\n\t\t\t\tPageSize=0x1000;\n\t\t\t\tPhysAddress = (PV&0xFFFFF000) | (Address&0xFFF);\n\t\t\t\tif(Size && PhysAddress!=PrevPhysAddress+PrevPageSize)\n\t\t\t\t\treturn Size;\n\t\t\t\tPrevPhysAddress = PhysAddress;\n\t\t\t\tPrevPageSize = PageSize;\n\t\t\t}\n\t\t\tAddress+=PageSize;\n\t\t\tSize+=PageSize;\n\t\t\tif(Size >= MaxSize)\n\t\t\t\treturn Size;\n\t\t}\n\t}\n\treturn Size;\n}\n\nbool MapPhysical0()\n{\n\tDWORD dwTmp,dwTmp1;\n\tCR4REGISTER stCR4;\n\tPHYSICAL_ADDRESS PhysAddress;\n\n\tdwTmp = GetCR4Register();\n\tstCR4 = *(CR4REGISTER*)&dwTmp;\t\n\tPhysAddress.QuadPart=0;\n\tdwPhysical_0_LinesAddress =(DWORD) MmMapIoSpace(PhysAddress,0x100000,MmNonCached);\n\tif(dwPhysical_0_LinesAddress==NULL)\n\t\treturn false;\n\tif(dwPhysical_0_LinesAddress)\n\t{\n\t\tif(stCR4.PAE)\t\n\t\t{\n\t\t\tOwnerPageDirItemAddress = 0xc0600000 +((dwPhysical_0_LinesAddress >> 21)<<3);\n\t\t\tOwnerPageTabItemAddress = 0xc0000000 +((dwPhysical_0_LinesAddress >> 21) << 12)+(((dwPhysical_0_LinesAddress >> 12) & 0x1ff)<<3);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tOwnerPageDirItemAddress = 0xc0300000 + ((dwPhysical_0_LinesAddress >> 22)<<2);\n\t\t\tOwnerPageTabItemAddress = 0xc0000000 + ((dwPhysical_0_LinesAddress >> 22) << 12)+(((dwPhysical_0_LinesAddress >> 12) & 0x3ff)<<2);\n\t\t}\n\t}\t\n\treturn true;\n}\nvoid UnmapPhysical0()\n{\n\tif(dwPhysical_0_LinesAddress!=0 && dwPhysical_0_LinesAddress!=0xffffffff)\n\t{\t\t\n\t\tMmUnmapIoSpace((PVOID)dwPhysical_0_LinesAddress,0x100000);\n\t\tdwPhysical_0_LinesAddress=0xffffffff;\n\t\tOwnerPageDirItemAddress = 0;\n\t\tOwnerPageTabItemAddress = 0;\n\t}\n}\n\nint MapToVAddr(IN ULPOS Address,OUT ULPOS*pResult,IN int MaxCount,IN ULPOS HighAddress,ULLPOS AcceptedLowestAddress)\n{\n\tint Count=0;\n\tULPOS VAddress;\n\tDWORD Index;\n\tDWORD*PDE=(DWORD*)0xC0300000;\n\tDWORD*PTE=(DWORD*)0xC0000000;\n\tDWORD dwTmp,dwTmp1;\n\tCR4REGISTER stCR4;\n\tCPUID_1_EDX_FEATURE stCPUID_1_EDX;\n\tstCPUID_1_EDX = *(CPUID_1_EDX_FEATURE*)&gpCPUIDInfo[1].dwEDX;\n\n\tdwTmp = GetCR4Register();\n\tstCR4 = *(CR4REGISTER*)&dwTmp;\n\tif(stCR4.PAE)\n\t{\n\t\tPDE=(DWORD*)0xC0600000;\n\t\tfor(DWORD nDir = 0; nDir < 512 * 4;nDir++)\n\t\t{\n\t\t\tif(ReadDword(&PDE[nDir*2],&dwTmp)==false)\n\t\t\t\tcontinue;\n\t\t\tif(ReadDword(&PDE[nDir*2+1],&dwTmp1)==false)\n\t\t\t\tcontinue;\n\t\t\tif((PDE[nDir*2]&1)==0)\n\t\t\t\tcontinue;\n\t\t\tif(PDE[nDir*2]&0x80)\n\t\t\t{\n\t\t\t\tif(HighAddress==PDE[nDir*2+1] && (Address & 0xFFE00000)==(PDE[nDir*2]&0xFFE00000))\n\t\t\t\t{\n\t\t\t\t\tVAddress = ((nDir / 512)<<30) | ((nDir % 512) <<21) | (Address &0x1FFFFF);\n\t\t\t\t\tif((ULLPOS)VAddress>=AcceptedLowestAddress)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pResult)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpResult[Count] = VAddress;\n\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(Count>=MaxCount)\n\t\t\t\t\t\t\treturn Count;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tPTE = (DWORD*)(nDir * 0x1000 + 0xC0000000);\n\t\t\t\tfor(Index = 0; Index<512;Index++)\n\t\t\t\t{\n\t\t\t\t\tif(ReadDword(&PTE[Index*2],&dwTmp)==false)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif(ReadDword(&PTE[Index*2+1],&dwTmp1)==false)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif((PTE[Index*2]&1) && (PTE[Index*2] & 0xFFFFF000) == (Address & 0xFFFFF000) && PTE[Index*2+1] == HighAddress)\n\t\t\t\t\t{\n\t\t\t\t\t\tVAddress = ((nDir / 512) << 30)|((nDir % 512) <<21)|(Index << 12)|(Address & 0xFFF);\n\t\t\t\t\t\tif((ULLPOS)VAddress>=AcceptedLowestAddress)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(pResult)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpResult[Count] = VAddress;\n\t\t\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(Count>=MaxCount)\n\t\t\t\t\t\t\t\treturn Count;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\t\n\t\tfor(DWORD nDir=0;nDir<0x400;nDir++)\n\t\t{\n\t\t\tif(ReadDword(&PDE[nDir],&dwTmp)==false)\n\t\t\t\tcontinue;\n\t\t\tif((PDE[nDir]&1) == 0)\n\t\t\t\tcontinue;\t\t\n\t\t\tif((PDE[nDir]&0x80))// 4M ҳ\n\t\t\t{\n\t\t\t\tif((PDE[nDir]&0xFFC00000)==(Address&0xFFC00000))\n\t\t\t\t{\n\t\t\t\t\tVAddress = ((nDir<<22)|(Address&0x3FFFFF));\n\t\t\t\t\tif((ULLPOS)VAddress>=AcceptedLowestAddress)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pResult)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpResult[Count] = VAddress;\n\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(Count>=MaxCount)\n\t\t\t\t\t\t\treturn Count;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tIndex = nDir*0x400;\n\t\t\t\tfor(DWORD nPage=0;nPage<0x400;nPage++,Index++)\n\t\t\t\t{\n\t\t\t\t\tif(ReadDword(&PTE[Index],&dwTmp1)==false)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif((PTE[Index]&1) && (PTE[Index]&0xFFFFF000)==(Address&0xFFFFF000))\n\t\t\t\t\t{\n\t\t\t\t\t\tVAddress = ((nDir<<22)|(nPage<<12))|(Address&0xFFF);\n\t\t\t\t\t\tif((ULLPOS)VAddress>=AcceptedLowestAddress)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(pResult)\n\t\t\t\t\t\t\t{\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tpResult[Count] = VAddress;\n\t\t\t\t\t\t\t\tCount++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(Count>=MaxCount)\n\t\t\t\t\t\t\t\treturn Count;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t}\n\t}\n\treturn Count;\n}\n\nbool IsValidPage(IN VADDR32 Address,IN int Size)\n{\n\tif(Size<=0)\n\t\treturn false;\n\tAddress -= Address%MP_SIZE;\n\tSize += (int)(Address%MP_SIZE);\n\twhile(Size>0)\n\t{\n\t\tif(GetPTE(Address)==NULL)\n\t\t\treturn false;\n\t\tSize-=MP_SIZE;\n\t\tAddress+=MP_SIZE;\n\t}\n\treturn true; \n}\n\nbool IsWritablePage(IN VADDR32 Address)\n{\n\tDWORD*PV;\n\tPV=GetPTE(Address);\n\tif((*PV&2)==0)\n\t\treturn false;\n\treturn true;\n}\n\nDWORD*GetPTE(VADDR32 Address,DWORD* PageSize,DWORD* PTESize,bool Present)\n{\n\tDWORD *PDE,*PTE;\n\tCR4REGISTER stCR4;\n\tDWORD dwTmp;\n\n\tdwTmp=GetCR4Register();\n\tstCR4 = *(CR4REGISTER*)&dwTmp;\n\tif(stCR4.PAE)\n\t{\n\t\tif(PTESize)\n\t\t\t*PTESize=8;\n\t\tPDE=(DWORD*)0xC0600000;\n\t\tPDE = (DWORD*)(0xC0600000+((Address >> 0x12) & 0x3ff8));\n\t\tif(ReadDword(PDE,&dwTmp)==false)\n\t\t\treturn NULL;\n\t\tif(Present)\n\t\t{\n\t\t\tif((PDE[0] & 1)== 0)\n\t\t\t\treturn NULL;\n\t\t}\n\n\t\tif(PDE[0] & 0x80)\n\t\t{\n\t\t\tif(PageSize)\n\t\t\t\t*PageSize=0x200000;\n\t\t\treturn &PDE[0];\n\t\t}\n\t\tPTE=(DWORD*)(0xC0000000+((Address >> 9) & 0x7ffff8));\n\t\tif(ReadDword(PTE,&dwTmp)==false)\n\t\t\treturn NULL;\n\t\tif(Present)\n\t\t{\n\t\t\tif((PTE[0]&1)==0)\n\t\t\t\treturn NULL;\n\t\t}\n\t\tif(PageSize)\n\t\t\t*PageSize=0x1000;\n\t\treturn &PTE[0];\n\t\t\n\t}\n\telse\n\t{\n\t\tDWORD*PV;\n\t\tif(PTESize)\n\t\t\t*PTESize=4;\n\t\tPV=&PDEBase[Address>>22];\n\t\tif(ReadDword(PV,&dwTmp)==false)\n\t\t\treturn NULL;\n\t\tif(Present)\n\t\t{\n\t\t\tif((*PV&1)==0)\n\t\t\t\treturn NULL;\n\t\t}\n\t\tif(*PV&0x80)\n\t\t{\n\t\t\tif(PageSize)\n\t\t\t\t*PageSize=0x400000;\n\t\t\treturn PV;\n\t\t}\n\t\tPV=&PTEBase[Address>>12];\n\t\tif(ReadDword(PV,&dwTmp)==false)\n\t\t\treturn NULL;\n\t\tif(Present)\n\t\t{\n\t\t\tif((*PV&1)==0)\n\t\t\t\treturn NULL;\n\t\t}\n\t\tif(PageSize)\n\t\t\t*PageSize=0x1000;\n\t\treturn PV;\n\t}\n}\n\nbool MakePageWritable(IN VADDR32 Address)\n{\n\tDWORD*PV;\n\tPV=GetPTE(Address);\n\tif(PV==NULL)\n\t\treturn false;\n\t*PV|=2;\n\treturn true;\n}\nDWORD GetCurrentCPUInterruptProcAddress(IN DWORD Index)\n{\n\tPX86_GATE_DECR pDecr;\n\tVADDR32 IDTSize;\n\tpDecr = (PX86_GATE_DECR)SyserGetIDTBase(&IDTSize);\n\treturn MAKE_DWORD(pDecr[Index].OffsetHigh,pDecr[Index].OffsetLow);\n}\nbool InstallInterruptHandle(IN BYTE Num,IN VADDR32 InterruptHandler,IN BYTE DescriptorType,IN BYTE DescriptorPrivilegeLevel,IN WORD Selector)\n{\n\tVADDR32 IDTBase;\n\tDWORD i;\n\tKIRQL OldIRQL = KeGetCurrentIrql();\n\tKfRaiseIrql(HIGH_LEVEL);\n\n\tULONG_PTR\tFlags;\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\tif(gCPUNumbers>1)\n\t{\n\t\tfor(i = 0; i < gCPUNumbers;i++)\n\t\t{\n\t\t\tIDTBase=(VADDR32)gPCRArray[i]->IDT;\n\t\t\tif(SetInterruptHandlerFunction(Num,IDTBase,InterruptHandler,DescriptorType,DescriptorPrivilegeLevel,Selector)==NULL)\n\t\t\t\tgoto Error_Exit;\n\t\t}\n\t}\n\telse\n\t{\n\t\tIDTBase = SyserGetIDTBase();\n\t\tif(SetInterruptHandlerFunction(Num,IDTBase,InterruptHandler,DescriptorType,DescriptorPrivilegeLevel,Selector)==NULL)\n\t\t\tgoto Error_Exit;\n\t}\n\tSyserRestoreFlags(Flags);\n\tKfLowerIrql(OldIRQL);\n\treturn true;\nError_Exit:\n\tSyserRestoreFlags(Flags);\n\tKfLowerIrql(OldIRQL);\n\treturn false;\n}\n\nPINTERRUPT_STUB SetInterruptHandlerFunction(IN BYTE Num,IN DWORD IDTBase,IN VADDR32 InterruptHandler,IN BYTE DescriptorType,IN BYTE DescriptorPrivilegeLevel,IN WORD Selector)\n{\n\tPINTERRUPT_STUB pIntStub;\n\tX86_GATE_DECR NewGetDecr;\n\tX86_GATE_DECR*pGateDecr;\n\tDWORD dwCR0;\n\tpIntStub = GetInterruptStub();\n\tif(pIntStub==NULL)\n\t\treturn NULL;\n\tpGateDecr = (X86_GATE_DECR*)(IDTBase+Num*sizeof(X86_GATE_DECR));\n\tpIntStub->GateDecr = *pGateDecr;\n\tpIntStub->OldInterruptAddress=MAKE_DWORD(pGateDecr->OffsetHigh,pGateDecr->OffsetLow);\n\tpIntStub->IDTBaseAddress=IDTBase;\n\tpIntStub->InterruptVector=Num;\n\tpIntStub->OwnerInterruptAddress=InterruptHandler;\n\tNewGetDecr=*pGateDecr;\n\tNewGetDecr.OffsetHigh = HIGH_WORD(pIntStub);\n\tNewGetDecr.OffsetLow = LOW_WORD(pIntStub);\n\tNewGetDecr.P=1;\n\tNewGetDecr.DT=0;\n\tNewGetDecr.DCount=0;\n\tNewGetDecr.Reserved=0;\n\tif(DescriptorType<0x10)\n\t{\n\t\tNewGetDecr.Type=DescriptorType;\n\t}\n\tif(DescriptorPrivilegeLevel<0x4)\n\t{\n\t\tNewGetDecr.DPL=DescriptorPrivilegeLevel;\n\t}\n\tif(Selector)\n\t{\n\t\tNewGetDecr.Selector=Selector;\n\t}\n\tdwCR0 = SyserClearCR0WP();\n\t*pGateDecr=NewGetDecr;\n\tSyserRestoreCR0WP(dwCR0);\n\treturn pIntStub;\n}\nDWORD UninstallInterruptHandle(IN BYTE Num)\n{\n\tDWORD Count=0;\n\tX86_GATE_DECR*pGateDecr;\n\tfor(int i = 0; i < sizeof(gInterruptStub)/sizeof(gInterruptStub[0]);i++)\n\t{\n\t\tif(gInterruptStub[i].InterruptVector==Num&&gInterruptStub[i].IDTBaseAddress)\n\t\t{\n\t\t\tCount++;\n\t\t\tpGateDecr = (X86_GATE_DECR*)(gInterruptStub[i].IDTBaseAddress+Num*sizeof(X86_GATE_DECR));\n\t\t\t*pGateDecr=gInterruptStub[i].GateDecr;\n\t\t\tReleaseInterruptStub(&gInterruptStub[i]);\n\t\t}\n\t}\n\treturn Count;\n}\n\n// BYTE ReadPortByte(DWORD wPort)\n// {\n// \tBYTE bRet;\n// \t__asm{\n// \t\tpush edx\n// \t\tpush eax\n// \t\tmov edx,wPort\n// \t\tin al,dx\n// \t\tmov bRet,al\n// \t\tpop eax\n// \t\tpop edx\n// \t}\n// \treturn bRet;\n// }\n\n// WORD ReadPortWord(DWORD wPort)\n// {\n// \tWORD wRet;\n// \t__asm{\n// \t\tpush edx\n// \t\tpush eax\n// \t\tmov edx,wPort\n// \t\tin ax,dx\n// \t\tmov wRet,ax\n// \t\tpop eax\n// \t\tpop edx\n// \t}\n// \treturn wRet;\n// }\n\n\n// DWORD ReadPortDword(DWORD wPort)\n// {\n// \tDWORD dwRet;\n// \t__asm{\n// \t\tpush edx\n// \t\tpush eax\n// \t\tmov edx,wPort\n// \t\tin eax,dx\n// \t\tmov dwRet,eax\n// \t\tpop eax\n// \t\tpop edx\n// \t}\n// \treturn dwRet;\n// }\n\n// void WritePortDword(DWORD dwPort, DWORD dwValue)\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush edx\n// \t\tmov edx,dwPort\n// \t\tmov eax,dwValue\n// \t\tout dx,eax\n// \t\tpop edx\n// \t\tpop eax\n// \t}\n// }\n\n// void WritePortWord(DWORD dwPort, WORD wValue)\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush edx\n// \t\tmov edx,dwPort\n// \t\tmov ax,wValue\n// \t\tout dx,ax\n// \t\tpop edx\n// \t\tpop eax\n// \t}\n// }\n// void WritePortByte(DWORD dwPort, BYTE byteValue)\n// {\n// \t__asm{\n// \t\tpush eax\n// \t\tpush edx\n// \t\tmov edx,dwPort\n// \t\tmov al,byteValue\n// \t\tout dx,al\n// \t\tpop edx\n// \t\tpop eax\n// \t}\n// }\n\nvoid CopyGeneralRegister(void)\n{\n\tmemcpy(GeneralReg,Reg.GeneReg,sizeof(GeneralReg));\n}\n\n// bool IsSupportRDMSRInstruction()\n// {\n// \tstatic bool bInitIsSupportRDMSRInstruction = false;\n// \tstatic bool bHaveReadWriteMSRInstruction = false;\n// \tDWORD bRet;\n// \tif(bInitIsSupportRDMSRInstruction==false)\n// \t{\t\n// \t\tif(SyserIsSupportCPUIDInstruction() == false)\n// \t\t{\n// \t\t\tbHaveReadWriteMSRInstruction = false;\n// \t\t\treturn false;\n// \t\t}\n// \t\t__asm{\t\n// \t\t\tpushad\t\t\n// \t\t\tmov eax,1\n// \t\t\tcpuid\n// \t\t\ttest edx,0x20        //жǷ֧ RDMSR WDMSR ָ\n// \t\t\tmov bHaveReadWriteMSRInstruction,0\n// \t\t\tjz local_1\t\t\t\n// \t\t\tmov bHaveReadWriteMSRInstruction,1\n// \tlocal_1:\t\t\t\n// \t\t\tpopad\n// \t\t}\n// \t\tbInitIsSupportRDMSRInstruction = true;\n// \t}\n// \treturn bHaveReadWriteMSRInstruction;\n// }\n\n// void* MemoryCopy(void *dst, const void*src,int count)\n// {\n// \tvoid * ret;\n// \tret = dst;\n// \t__asm{\n// \t\tpushad\n// \t\tpushfd\n// \t\tcld\n// \t\tmov esi,src\n// \t\tmov edi,dst\n// \t\tmov ecx,count\n// \t\tmov eax,esi\n// \t\tand eax,3\n// \t\tjz local_1\n// local_2:\n// \t\tjecxz local_quit\n// \t\tmovsb\n// \t\tdec ecx\n// \t\tdec eax\n// \t\tjnz local_2\n// local_1:\n// \t\tjecxz local_quit\n// \t\tmov eax,ecx\n// \t\tshr ecx,2\n// \t\trep movsd\n// \t\tand eax,3\n// \t\tmov ecx,eax\n// \t\trep movsb\n// local_quit:\n// \t\tpopfd\n// \t\tpopad\n// \t}\n// \treturn ret;\n// }\nbool ReadPhysicalAddress(DWORD dwPhysicalAddress,DWORD &dwValue)\n{\n\tVADDR32 dwLineAddress;\n\t\n\tif(MapToVAddr(dwPhysicalAddress,&dwLineAddress))\n\t{\n\t\tdwValue=*(DWORD *)dwLineAddress;\t\t\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\treturn false;\n\t}\n}\n\nDWORD SafeReadSegmentDword(DWORD Offset,WORD SegmentSelector)\n{\n\treturn 0;\n}\nDWORD GetSegmentBaseAddress(WORD SegmentSelector,DWORD *SegmentLimit)\n{\n\tVADDR32 TableBase;\n\tDWORD TableSize;\n\tDWORD BaseAddress;\n\tX86_SEGMENT_DESCRIPTOR* SegDesc;\n\tDWORD Limit;\n\tif(SegmentSelector&0xfff8)\n\t{\n\t\tif(SegmentSelector&0x4)\t\t\n\t\t\tTableBase = GetLDTBase(&TableSize);\n\t\telse\t\t\n\t\t\tTableBase = SyserGetGDTBase(&TableSize);\t\t\n\t\tif((SegmentSelector&0xfff8)>(WORD)TableSize)\n\t\t\tgoto errorout;\n\t\tSegDesc=(X86_SEGMENT_DESCRIPTOR*)TableBase;\n\t\tBaseAddress = SegDesc[(SegmentSelector>>3)].base_L0+ (SegDesc[(SegmentSelector>>3)].base_L1<<8)+(SegDesc[(SegmentSelector>>3)].base_H0<<16)+(SegDesc[(SegmentSelector>>3)].base_H1<<24);\t\t\n\t\tif(SegmentLimit)\n\t\t{\n// \t\t\t__asm{\n// \t\t\t\tpush eax\n// \t\t\t\tmovzx eax,SegmentSelector\n// \t\t\t\tlsl eax,eax\n// \t\t\t\tjz local_001\n// \t\t\t\txor eax,eax\n// local_001:\n// \t\t\t\tmov Limit,eax\n// \t\t\t\tpop eax \n// \t\t\t}\n\n\t\t\tLimit = SyserGetSegmentLimit(SegmentSelector);\n\n\t\t\t*SegmentLimit=Limit;\n\t\t}\n\t\treturn BaseAddress;\n\t}else\n\t{\nerrorout:\n\t\tif(SegmentLimit)\n\t\t\t*SegmentLimit=0;\n\t\treturn 0xffffffff;\n\t}\n}\n\nDWORD GetX86CR4(DWORD BitMask)\n{\n\tDWORD dwRet;\n// \t__asm{\n// \t\tpush eax \n// \t\t_emit(0x0f)\n// \t\t_emit(0x20)\n// \t\t_emit(0xe0)\n// \t\tmov dwRet,eax\n// \t\tpop eax\n// \t}\n\n\tdwRet = SyserGetCR4Reg();\n\n\tif(BitMask==0xffffffff)\n\t\treturn dwRet;\n\tBitMask %= 32;\n\tif(BitMask)\n\t\tdwRet>>=BitMask;\n\treturn dwRet&1;\n}\n\nDWORD GetCR4Register()\n{\t\n// \tDWORD dwRet;\n// \t__asm{\n// \t\tpush eax \n// \t\t_emit(0x0f)\n// \t\t_emit(0x20)\n// \t\t_emit(0xe0)\n// \t\tmov dwRet,eax\n// \t\tpop eax \n// \t}\n// \treturn dwRet;\n\n\treturn SyserGetCR4Reg();\n}\nDWORD SetCR4Register(DWORD NewValue)\n{\t\n\tDWORD OldValue;\n\tOldValue = GetCR4Register();\n// \t__asm{\n// \t\tpush eax \n// \t\tmov eax,NewValue\n// \t\t_emit(0x0f)\n// \t\t_emit(0x22)\n// \t\t_emit(0xe0)\n// \t\tpop eax \n// \t}\n\tSyserSetCR4Reg(NewValue);\n\treturn OldValue;\n}\nDWORD GetCR0Register()\n{\n// \tDWORD dwRet;\n// \t__asm{\n// \t\tpush eax \n// \t\tmov eax,cr0 \n// \t\tmov dwRet,eax \n// \t\tpop eax \n// \t}\n// \treturn dwRet;\n\n\treturn SyserGetCR0Reg();\n}\nbool X86_FXSAVE(BYTE *RegisterBuffer)\n{\n\tDWORD dwTmp = (DWORD)RegisterBuffer;\n\tif(dwTmp&0xf)\n\t\treturn false;\n// \t__asm\n// \t{\n// \t\tpush eax \n// \t\tmov eax, RegisterBuffer\n// \t\tfxsave dword ptr [eax]\n// \t\tpop eax\n// \t}\n\n\tSyserX86FxSave(RegisterBuffer);\n\n\treturn true;\n}\n// bool GetFpuErrorState()\n// {\n// \tDWORD dwError,dwMxcsr;\n// \t__asm\n// \t{\n// \t\tpushfd\n// \t\tpush eax\n// \t\tpush ebx\n// \t\tclts\n// \t\tstmxcsr dwMxcsr\n// \t\tmov eax,dwMxcsr\n// \t\tmov ebx,eax \n// \t\tshr ebx,7 \n// \t\tand eax,0x3f \n// \t\tand ebx,0x3f \n// \t\tand bl,al \n// \t\tnot bl \n// \t\ttest bl,al \n// \t\tmov dwError,0\n// \t\tjz local_1\n// \t\tmov dwError,1\n// local_1:\n// \t\tpop ebx\n// \t\tpop eax\n// \t\tpopfd\n// \t}\t\n// \treturn (dwError == 1);\n// }\n\nbool GetSegDescr(WORD Sel,X86_SEGMENT_DESCRIPTOR*pSegDescr)\n{\n\tSELECTOR_DECR*pSel;\n\tDWORD DTBase,DTSize;\n\tpSel = (SELECTOR_DECR*)&Sel;\n\tif(pSel->TI)\n\t\tDTBase = GetLDTBase(&DTSize);\n\telse\n\t\tDTBase = SyserGetGDTBase(&DTSize);\n\tif(DTBase==0)\n\t\treturn false;\n\tif(pSel->Index>=DTSize/sizeof(X86_SEGMENT_DESCRIPTOR))\n\t\treturn false;\n\tif(pSegDescr)\n\t\t*pSegDescr = ((X86_SEGMENT_DESCRIPTOR*)DTBase)[pSel->Index];\n\treturn true;\n}\n\n// void InitSystemSegmentRegister()\n// {\n// \t__asm\n// \t{\n// \t\tpush eax \n//\t\txor eax,eax\n//\t\tmov ax,fs \n//\t\tmov gSystemFSRegisterSelector,eax\n//\t\tmov ax,ss \n//\t\tmov gSystemSSRegisterSelector,eax \n//\t\tmov ax,cs \n//\t\tmov gSystemCSRegisterSelector,eax\n//\t\tmov ax,ds \n//\t\tmov gSystemDSRegisterSelector,eax\n//\t\tpop eax\n//\t}\n//}"
  },
  {
    "path": "Project/Syser/Source/X86Optr.h",
    "content": "#ifndef X86_OPTR_H_\n#define X86_OPTR_H_\n\n#include \"X86Define.h\"\n#include \"LastBranch.h\"\n#ifdef CODE_OS_NT_DRV\n#include \"MultiCPU.h\"\n#endif\n#include \"InterruptPatch.h\"\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#define IsSupportWRMSRInstruction SyserIsSupportRDMSRInstruction\nextern DWORD\t\t\tExceptionInterruptNum;\nextern DWORD\t\t\tExceptionInterruptErrorCode;\nextern X86_REG_CONTEXT*\tExceptionReg;\nextern X86_REG_CONTEXT\tReg;\nextern X86_REG_CONTEXT\tPrevReg;\nextern X86_REG_CONTEXT\tReadOnlyActiveReg;\nextern RETURN_CONTEXT  ReturnContext;\nextern X86_REG_CONTEXT*\tgpMCPUReg;\nextern SAVELOCALAPIC*\tgpMCPULocalApic;\n\ntypedef\tstruct\t_X86SaveRegs_\n{\n\tDWORD\tEdi;\n\tDWORD\tEsi;\n\tDWORD\tEbp;\n\tDWORD\tEsp;\n\tDWORD\tEbx;\n\tDWORD\tEdx;\n\tDWORD\tEcx;\n\tDWORD\tEax;\n}\tX86SaveRegs,*PX86SaveRegs;\n\n\tVOID  SyserCloseInterrupt(VOID);\n\tVOID  SyserOpenInterrupt(VOID);\n\n\tVOID  SyserSaveFlags(PULONG_PTR\t\t_SaveFlags);\n\tVOID  SyserRestoreFlags(ULONG_PTR\t_Flags);\n\n\tVOID  SyserSaveFlagsLow16(PWORD\t_SaveFlags);\n\tVOID  SyserRestoreFlagsLow16(WORD\t_Flags);\n\n\tVOID\tSyserPushad(PX86SaveRegs\tRegs);\n\tVOID\tSyserPopad(PX86SaveRegs\tRegs);\n\n\tVOID  SyserCld(VOID);\n\tVOID SyserCltr(VOID);\n\tDWORD SyserLar(DWORD\tSelector);\n\n\tVOID SyserCli(VOID);\n\tVOID SyserSti(VOID);\n\tVOID SyserHlt(VOID);\n\tVOID SyserFlushInsCache(BYTE*\tAddPte);\n\tVOID SyserFlushProcessInsCache(VOID);\n\tULONG64\tSyserGetRdTsc(VOID);\n\tVOID SyserFnsave(PUCHAR\tpState);\n\tVOID SyserFrstor(PUCHAR\tpState);\n\tVOID SyserFnstsw(PUSHORT\tpState);\n\tVOID SyserFnstcw(PUSHORT\tpControl);\n\n\tVOID\tSyserClearFlag(WORD\tvEs,PDWORD\tValue,DWORD\tClearFlag);\n\n\tDWORD SyserGetCPUIDMaxIndex();\n\nDWORD\t\tSyserGetTSSSelector();\nDWORD\t\tSyserGetLDTSelector();\nDWORD\t\tGetTSSBase(DWORD *pTSSSize = NULL,DWORD dwSelector = 0);\nVADDR32\t\tSyserGetIDTBase(DWORD* dwIDTSize=NULL);\nVADDR32\t\tSyserGetGDTBase(DWORD* dwGDTSize=NULL);\nVOID\t\tSyserGetLDTSelectorBySelector(DWORD* dwLdtSelector,DWORD* dwSize);\nVADDR32\t\tGetLDTBase(DWORD* dwLdtSize = NULL, DWORD dwLdtSelector = 0);\nSELECTOR\tSyserGetCurCSeg();\nSELECTOR\tSyserGetCurDSeg();\nSELECTOR\tSyserGetCurFSeg();\n\nREG32\t\tSyserGetCR0Reg();\nvoid\t\tSyserSetCR0Reg(IN REG32 uReg);\nREG32\t\tSyserGetCR3Reg();\nVOID\t\tSyserSetCR3Reg(IN REG32 Reg);\n\nREG32\t\tSyserGetCR4Reg();\nVOID\t\tSyserSetCR4Reg(IN REG32 uReg);\n\nVOID\t\tSyserSetCR0WP(void);\t\t\t\t\t//ҳλ\nVOID\t\tSyserClrCR0WP(void);\t\t\t\t\t//ҳλ\nVOID\t\tSyserRestoreCR0(void);\nULSIZE\t\tGetVirtualPhysSize(IN ULPOS Address,IN ULSIZE MaxSize);\nbool\t\tMapToPAddr(IN ULPOS Address,OUT ULONGLONG*pResult);\nint\t\t\tMapToVAddr(IN ULPOS Address,OUT ULPOS*pResult,IN int MaxCount = 1,IN ULPOS HighAddress = 0,ULLPOS AcceptedLowestAddress = 0);\n\nDWORD*\t\tGetPTE(VADDR32 Address,DWORD* PageSize=NULL,DWORD* PTESize=NULL,bool Present=1);\n\nbool\t\tIsValidPage(IN VADDR32 Address,IN int Size = 1);\nbool\t\tIsWritablePage(IN VADDR32 Address);\nbool\t\tIsAddressValid(void*p);\nbool\t\tMakePageWritable(IN VADDR32 Address);\nREG32\t\tSyserGetDRX(IN UINT ID);\nvoid\t\tSyserSetDRX(IN UINT ID,IN REG32 Reg);\nBYTE\t\tSyserReadPortByte(DWORD wPort);\nWORD\t\tSyserReadPortWord(DWORD wPort);\nDWORD\t\tSyserReadPortDword(DWORD wPort);\nvoid\t\tSyserWritePortDword(DWORD dwPort, DWORD dwValue);\nvoid\t\tSyserWritePortWord(DWORD dwPort, WORD wValue);\nvoid\t\tSyserWritePortByte(DWORD dwPort, BYTE byteValue);\n\nvoid\t\tCopyGeneralRegister(void);\nbool\t\tSyserIsSupportCPUIDInstruction(void);\nbool\t\tSyserIsSupportRDMSRInstruction(void);\nvoid*\t\tSyserMemoryCopy(void *dst, const void*src,int count);\nbool\t\tGetSegDescr(WORD Sel,X86_SEGMENT_DESCRIPTOR*pSegDescr);\n\nbool\t\tMapPhysical0();\nvoid\t\tUnmapPhysical0();\nbool\t\tGetLastBranchAddressPentiumM(DWORD Index,DWORD* FromAddr,DWORD* ToAddr);\nPINTERRUPT_STUB SetInterruptHandlerFunction(IN BYTE Num,IN DWORD IDTBase,IN VADDR32 InterruptHandler,BYTE DescriptorType=0x10,BYTE DescriptorPrivilegeLevel=0x4,WORD Selector=0);\nbool\t\tInstallInterruptHandle(IN BYTE Num,IN VADDR32 InterruptHandler,BYTE DescriptorType=0x10,BYTE DescriptorPrivilegeLevel=0x4,WORD Selector=0);\nDWORD\t\tUninstallInterruptHandle(IN BYTE Num);\n//////////////////////////////////////////////////////////////////////////////////////\n//CPUID\n//\nstruct CPUID_INFO\n{\n\tDWORD dwEAX;\n\tDWORD dwEBX;\n\tDWORD dwECX;\n\tDWORD dwEDX;\n};\n\nextern\t\tCPUID_INFO*\tgpCPUIDInfo;\nextern\t\tDWORD gMaxCPUIDIndex;\nextern\t\tDWORD dwLastBranchFromEIP;\nextern\t\tDWORD dwLastBranchToEIP;\nextern\t\tDWORD dwLastIntFromEIP;\nextern\t\tDWORD dwLastIntToEIP;\nextern\t\tbool gbHaveLastBranchMointer;\nVOID\t\tSyserGetCPUID(CPUID_INFO *CPUInfo,DWORD dwIndex);\nCPUID_INFO*\tInitCPUIDInfo();\nvoid\t\tReleaseCPUIDInfo(CPUID_INFO*pCPUIDInfo=NULL);\n//\n//CPUID\n//////////////////////////////////////////////////////////////////////////////////////\n\n\nDWORD\t\tGetCurrentCPUInterruptProcAddress(IN DWORD Index);\nbool\t\tSyserReadMSR(DWORD dwIndex,DWORD *dwHigh,DWORD *dwLow);\nbool\t\tSyserWriteMSR(DWORD dwIndex,DWORD dwHigh,DWORD dwLow);\n\nbool\t\tSetBranchStepRun();\nbool\t\tClearBranchStepRun();\n\nbool\t\tReadPhysicalAddress(DWORD dwPhyscialAddress,DWORD &dwValue);\nDWORD\t\tSyserGetSegmentLimit(WORD SegmentSelector);\nDWORD\t\tGetSegmentBaseAddress(WORD SegmentSelector,DWORD *SegmentLimit=NULL);\nDWORD\t\tGetX86CR4(DWORD BitMask=0xffffffff);\nDWORD\t\tGetCR0Register();\nDWORD\t\tGetCR4Register();\nDWORD\t\tSetCR4Register(DWORD NewValue);\nVOID\t\tSyserX86FxSave(BYTE *RegisterBuffer);\nbool\t\tX86_FXSAVE(BYTE *RegisterBuffer);\nbool\t\tSyserGetFpuErrorState();\nDWORD\t\tGetNoUseDebugRegister();\nbool\t\tReadTSC(OUT ULONGLONG *llValue);\nULONGLONG\tSyserGetTSC();\nBYTE GetCurrentIRQLLevel();\nDWORD GetCPU_ID();\nDWORD SyserClearCR0WP();\nVOID SyserRestoreCR0WP(DWORD dwCR0);\n\n__int64 __stdcall SyserPrivateReadMSR(DWORD dwIndex);\n__int64 __stdcall SyserPrivateReadMSRError(VOID);\nVOID __stdcall SyserPrivateWriteMSR(DWORD dwIndex,DWORD dwValueLow,DWORD dwValueHigh);\nVOID __stdcall SyserPrivateWriteMSRError(VOID);\n__int64 __stdcall SyserPrivateGetTSC();\n__int64 __stdcall SyserPrivateGetTSCError();\nVOID SyserInitSystemSegmentRegister(VOID);\n\n#ifdef __cplusplus\n}; // extern \"C\"\n#endif\n\n\n#endif\n"
  },
  {
    "path": "Project/Syser/Source/X86RegHelpTabWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"X86RegHelpTabWnd.h\"\n \nWISP_MSG_MAP_BEGIN(CX86RegHelpTabWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispTabWnd)\n\nCX86RegHelpTabWnd::CX86RegHelpTabWnd(void)\n{\n}\n\nCX86RegHelpTabWnd::~CX86RegHelpTabWnd(void)\n{\n}\n\nvoid CX86RegHelpTabWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreate(WISP_STR(\"Register Help Wnd\"),CWispRect(0,0,560,400));\n\t\tCenter();\n\t}\n}\n\nbool CX86RegHelpTabWnd::OnCreate(IN WISP_MSG *pMsg)\n{\n\tm_RegisterGroup[0].Create(WSTR(\"Control Register\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[0].SetRegisterGroup(CONTROL_REGISTER);\n\tInsertWnd(WSTR(\"Control\"),&m_RegisterGroup[0]);\n\tm_RegisterGroup[1].Create(WSTR(\"Debug Register\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[1].SetRegisterGroup(DEBUG_REGISTER);\n\tInsertWnd(WSTR(\"Debug\"),&m_RegisterGroup[1]);\n\tm_RegisterGroup[2].Create(WSTR(\"Segment Descriptor\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[2].SetRegisterGroup(SEGMENT_DESCRIPTOR_REGISTER);\n\tInsertWnd(WSTR(\"Segment Descriptor\"),&m_RegisterGroup[2]);\n\tm_RegisterGroup[3].Create(WSTR(\"Flags Register\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[3].SetRegisterGroup(FLAGS_REGISTER);\n\tInsertWnd(WSTR(\"Flags Register\"),&m_RegisterGroup[3]);\n\tm_RegisterGroup[4].Create(WSTR(\"Flags Register\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[4].SetRegisterGroup(PAGEDIRENTRY4M_REGISTER);\n\tInsertWnd(WSTR(\"Page Directory Entry (4M)\"),&m_RegisterGroup[4]);\n\tm_RegisterGroup[5].Create(WSTR(\"Flags Register\"),CWispRect(0,0,0,0),this,0,WISP_WS_NULL);\n\tm_RegisterGroup[5].SetRegisterGroup(PAGEDIRENTRY4K_REGISTER);\n\tInsertWnd(WSTR(\"Page Map (4K)\"),&m_RegisterGroup[5]);\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Syser/Source/X86RegHelpTabWnd.h",
    "content": "#ifndef _X86REGHELPTABWND_H_ \n#define _X86REGHELPTABWND_H_\n#include \"RegHelpWnd.h\"\n\nclass CX86RegHelpTabWnd :public CWispTabWnd\n{\npublic:\n\tCX86RegHelpTabWnd(void);\n\t~CX86RegHelpTabWnd(void);\n\tvoid\tPopup();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnClose)\n\tCRegHelpWnd m_RegisterGroup[MAX_REGISTER_GROUP_INDEX];\n};\n\n#endif /* _X86REGHELPTABWND_H_ */\n\n"
  },
  {
    "path": "Project/Syser/Source/buildchk_win7_x86.log",
    "content": "BUILD: Examining d:\\201512~1\\project\\syser\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Building generated files in d:\\201512~1\\project\\syser\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS0 NOLINK=1 PASS0ONLY=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\201512~1\\project\\syser\\source: TARGETPATH is ..\\..\\..\\Bin\n1> mc /h d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /r d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386  syserdrivermc.mc\n1>MC: Compiling syserdrivermc.mc\n1> if not exist d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\syserdrivermc.h echo error : d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\syserdrivermc.h not produced\n1>Compiling d:\\201512~1\\project\\syser\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\201512~1\\project\\syser\\source: TARGETPATH is ..\\..\\..\\Bin\n1>C:\\WinDDK\\7600.16385.1\\Bin\\x86\\oacr\\oacrcl /Ii386 /I. /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /D_DLL=1 /DNDEBUG /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /D_SYSER_ /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x06010000 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.1\\inc\\api\\warning.h /YlSyser /YcStdAfx.h /Fpd:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\StdAfx.pch /Fo\"d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1> ml /safeseh /c /coff /Cx /nologo /Ii386\\ /I. /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt /Zm  /Zi /D_X86_=1 /Di386=1  /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1  /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800    /DWIN32_LEAN_AND_MEAN=1   /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0  /Fod:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\common-x86.obj ..\\i386\\common-x86.asm\n1> Assembling: ..\\i386\\common-x86.asm\n1> ml /safeseh /c /coff /Cx /nologo /Ii386\\ /I. /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt /Zm  /Zi /D_X86_=1 /Di386=1  /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1  /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800    /DWIN32_LEAN_AND_MEAN=1   /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0  /Fod:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\interrupt-x86.obj ..\\i386\\interrupt-x86.asm\n1> Assembling: ..\\i386\\interrupt-x86.asm\n1> ml /safeseh /c /coff /Cx /nologo /Ii386\\ /I. /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt /Zm  /Zi /D_X86_=1 /Di386=1  /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1  /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800    /DWIN32_LEAN_AND_MEAN=1   /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0  /Fod:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\compatibility-x86.obj ..\\i386\\compatibility-x86.asm\n1> Assembling: ..\\i386\\compatibility-x86.asm\n1> ml /safeseh /c /coff /Cx /nologo /Ii386\\ /I. /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt /Zm  /Zi /D_X86_=1 /Di386=1  /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1  /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800    /DWIN32_LEAN_AND_MEAN=1   /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0  /Fod:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\function.obj ..\\i386\\function.asm\n1> Assembling: ..\\i386\\function.asm\n1> C:\\WinDDK\\7600.16385.1\\Bin\\x86\\oacr\\oacrcl @d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\cl.rsp\n1>OACR NOTE : Not starting monitor (oacrcl running in job that doesn't allow break-away)\n1> C:\\WinDDK\\7600.16385.1\\Bin\\x86\\oacr\\oacrlink /lib /out:..\\..\\..\\Bin\\i386\\Syser.lib @d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\lib.rsp\n1>Linking for d:\\201512~1\\project\\syser\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDLL=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\201512~1\\project\\syser\\source: TARGETPATH is ..\\..\\..\\Bin\n1> rc.exe -l 409 -DSXS_PROCESSOR_ARCHITECTURE=\"\"\"x86\"\"\"  -DSXS_TARGET=\"\"\"Syser.sys\"\"\"   -DSYSTEM_COMPATIBLE_ASSEMBLY_NAME=\"\"\"Microsoft.Windows.SystemCompatible\"\"\"  -DLSYSTEM_COMPATIBLE_ASSEMBLY_NAME=L\"\"\"Microsoft.Windows.SystemCompatible\"\"\"   -DSXS_ASSEMBLY_VERSION=\"\"\"\"\"\"  /r /fo d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\syserdriver.res /D_X86_=1 /Di386=1  /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1  /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800    /DWIN32_LEAN_AND_MEAN=1  /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0   /D_DLL=1 /DNDEBUG  /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /D_SYSER_ /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x06010000   /I..\\..\\..\\Addition\\SyserDebugger /Id:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\api /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\ddk /IC:\\WinDDK\\7600.16385.1\\inc\\crt .\\syserdriver.rc\n1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6908.0\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1> C:\\WinDDK\\7600.16385.1\\Bin\\x86\\oacr\\oacrlink /out:..\\..\\..\\Bin\\i386\\Syser.sys /machine:ix86 @d:\\201512~1\\project\\syser\\source\\objchk_win7_x86\\i386\\lnk.rsp\n"
  },
  {
    "path": "Project/Syser/Source/cmd_cpu.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"cmd_cpu.h\"\n\n\n\nint cpu_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\ttypedef struct _CPU_REG_INDEX\n\t{\n\t\tchar* name;\n\t\tbool Show;\n\t}CPU_REG_INDEX;\n\tint i;\n\tPSAVELOCALAPIC pLocalApic;\n\tDWORD dwCurrentCpuID;\n\tDWORD dwCPUIndex;\n\tPX86_REG_CONTEXT pReg;\n\tPDECSRIPTOR Decs;\n\tPCR4REGISTER pCR4;\n\tPCR3REGISTER pCR3;\n\tPCR0REGISTER pCR0;\n\tPCPU_EFLAGS pEfl;\n\tVADDR32 dwBase,dwSize,dwSelector;\n\tCPU_REG_INDEX RegIndex[]={{\"cr0\",false},{\"cr3\",false},{\"cr4\",false},{\"efl\",false}};\n\tdwCurrentCpuID = GetCurrentCPULocalAPICID();\n\tif(gCPUNumbers>1 && argc==1)\n\t{\n\t\t\n\t\tOUTPUT(WSTR(\"CPU PKPCR    IDT Base   GDT Base\t\\n\"));\n\t\tfor(DWORD i = 0; i < gCPUNumbers;i++)\n\t\t{\n\t\t\tif(dwCurrentCpuID==i)\n\t\t\t\tOUTPUT(WSTR(\"%<b>%d   %08x %08x   %08x\\n\"),i,gPCRArray[i],gPCRArray[i]->IDT,gPCRArray[i]->GDT);\n\t\t\telse\n\t\t\t\tOUTPUT(WSTR(\"%d   %08x %08x   %08x\\n\"),i,gPCRArray[i],gPCRArray[i]->IDT,gPCRArray[i]->GDT);\n\t\t}\n\t\treturn 0;\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tfor(int j = 0; j < sizeof(RegIndex)/sizeof(RegIndex[0]);j++)\n\t\t{\n\t\t\tif(TStrICmp(argv[i],RegIndex[j].name)==0)\n\t\t\t{\n\t\t\t\tRegIndex[j].Show=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(gCPUNumbers==1)\n\t{\n\t\tOUTPUT(WSTR(\"Generate Register\\n\"));\n\t\tOUTPUT(WSTR(\"EAX=0x%08X,EBX=0x%08X,ECX=0x%08X,EDX=0x%08X\\n\"),Reg.GeneReg[EAX_IDX],Reg.GeneReg[EBX_IDX],Reg.GeneReg[ECX_IDX],Reg.GeneReg[EDX_IDX]);\n\t\tOUTPUT(WSTR(\"EDI=0x%08X,ESI=0x%08X,EBP=0x%08X,ESP=0x%08X\\n\"),Reg.GeneReg[EDI_IDX],Reg.GeneReg[ESI_IDX],Reg.GeneReg[EBP_IDX],Reg.GeneReg[ESP_IDX]);\n\t\tOUTPUT(WSTR(\"EIP=0x%08X,EFlags=0x%08X\\n\"),Reg.EIP,Reg.EFlags);\n\t\tOUTPUT(WSTR(\"Segment Register\\n\"));\n\t\tOUTPUT(WSTR(\"CS=0x%04X,DS=0x%04X,ES=0x%04X,FS=0x%04X,GS=0x%04X,SS=0x%04X\\n\"),Reg.SegReg[CS_IDX],Reg.SegReg[DS_IDX],Reg.SegReg[ES_IDX],Reg.SegReg[FS_IDX],Reg.SegReg[GS_IDX],Reg.SegReg[SS_IDX]);\n\t\tOUTPUT(WSTR(\"Debug Register\\n\"));\n\t\tOUTPUT(WSTR(\"DR0=0x%08X,DR1=0x%08X,DR2=0x%08X,DR3=0x%08X\\n\"),Reg.DR[0],Reg.DR[1],Reg.DR[2],Reg.DR[3]);\n\t\tOUTPUT(WSTR(\"DR6=0x%08X,DR7=0x%08X\\n\"),Reg.DR[6],Reg.DR[7]);\n\t\tOUTPUT(WSTR(\"Control Register\\n\"));\n\t\tOUTPUT(WSTR(\"CR0=0x%08X,CR2=0x%08X,CR3=0x%08X,CR4=0x%08X\\n\"),Reg.CR[0],Reg.CR[2],Reg.CR[3],Reg.CR[4]);\n\t\tpCR4=(PCR4REGISTER)&Reg.CR[4];\n\t\tpCR3=(PCR3REGISTER)&Reg.CR[3];\n\t\tpCR0=(PCR0REGISTER)&Reg.CR[0];\n\t\tOUTPUT(WSTR(\"CR0=%08x PE=%d MP=%d EM=%d TS=%d ET=%d NE=%d WP=%d AM=%d CD=%d PG=%d\\n\"),Reg.CR[0],pCR0->PE,pCR0->MP,pCR0->EM,pCR0->TS,pCR0->ET,pCR0->NE,pCR0->WP,pCR0->AM,pCR0->CD,pCR0->PG);\n\t\tOUTPUT(WSTR(\"CR3=%08x PWT=%d PCD=%d Page-Directory Base=%08x\\n\"),Reg.CR[3],pCR3->PWT,pCR3->PCD,Reg.CR[3]&0xfffff000);\n\t\tOUTPUT(WSTR(\"CR4=%08x VEM=%d PVI=%d TSD=%d DE=%d PSE=%d PAE=%d MCE=%d PGE=%d PCE=%d OSFXSR=%d OSXMMEXCPT=%d\\n\"),Reg.CR[4],\n\t\t\tpCR4->VEM,pCR4->PVI,pCR4->TSD,pCR4->DE,pCR4->PSE,pCR4->PAE,pCR4->MCE,pCR4->PGE,pCR4->PCE,pCR4->OSFXSR,pCR4->OSXMMEXCPT);\n\t\tpEfl=(PCPU_EFLAGS)&Reg.EFlags;\n\t\tOUTPUT(WSTR(\"EFLAGS=%08x CF=%d PF=%d AF=%d ZF=%d SF=%d TF=%d IF=%d DF=%d OF=%d IOPL=%d NT=%d RF=%d VM=%d AC=%d VIF=%d VIP=%d ID=%d\\n\"),Reg.EFlags,\n\t\t\tpEfl->CF,pEfl->PF,pEfl->AF,pEfl->ZF,pEfl->SF,pEfl->TF,pEfl->IF,pEfl->DF,pEfl->OF,pEfl->IOPL,pEfl->NT,pEfl->RF,pEfl->VM,pEfl->AC,pEfl->VIF,pEfl->VIP,pEfl->ID);\n\t\tdwSelector = SyserGetTSSSelector();\n\t\tdwBase =\t\tGetTSSBase(&dwSize);\n\t\tOUTPUT(WSTR(\"TSS Selector=%04x Base=%08x Limit=%04x \"),dwSelector,dwBase,dwSize);\n\t\tdwBase =\t\tSyserGetIDTBase(&dwSize);\n\t\tOUTPUT(WSTR(\"IDT Base=%08x Limit=%04x\\n\"),dwBase,dwSize);\n\t\tdwBase =\t\tGetLDTBase(&dwSize);\n\t\tdwSelector = SyserGetLDTSelector();\n\t\tOUTPUT(WSTR(\"LDT Selector=%04x Base=%08x Limit=%04x \"),dwBase,dwSize);\n\t\tdwBase =\t\t\t\tSyserGetGDTBase(&dwSize);\n\t\tOUTPUT(WSTR(\"GDT Base=%08x Limit=%04x\\n\"),dwBase,dwSize);\t\n\t\tif(RegIndex[0].Show)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"                     %<F>CR0 = %08x\\n\"),Reg.CR[0]);\n\t\t\tOUTPUT(WSTR(\"             Paging [PG] = %d %<B>(CR0 31 bit) \\n\"),pCR0->PG);\n\t\t\tOUTPUT(WSTR(\"      Cache Disable [CD] = %d %<B>(CR0 30 bit)\\n\"),pCR0->CD);\n\t\t\tOUTPUT(WSTR(\"  Not Write-through [NW] = %d %<B>(CR0 29 bit)\\n\"),pCR0->NW);\n\t\t\tOUTPUT(WSTR(\"     Alignment Mask [AM] = %d %<B>(CR0 18 bit)\\n\"),pCR0->AM);\n\t\t\tOUTPUT(WSTR(\"      Write Protect [WP] = %d %<B>(CR0 16 bit)\\n\"),pCR0->WP);\n\t\t\tOUTPUT(WSTR(\"      Numeric Error [NE] = %d %<B>(CR0  5 bit)\\n\"),pCR0->NE);\n\t\t\tOUTPUT(WSTR(\"     Extension Type [ET] = %d %<B>(CR0  4 bit)\\n\"),pCR0->ET);\n\t\t\tOUTPUT(WSTR(\"      Task Switched [TS] = %d %<B>(CR0  3 bit)\\n\"),pCR0->TS);\n\t\t\tOUTPUT(WSTR(\"          Emulation [EM] = %d %<B>(CR0  2 bit)\\n\"),pCR0->EM);\n\t\t\tOUTPUT(WSTR(\"Monitor Coprocessor [MP] = %d %<B>(CR0  1 bit)\\n\"),pCR0->MP);\n\t\t\tOUTPUT(WSTR(\"  Protection Enable [PE] = %d %<B>(CR0  0 bit)\\n\"),pCR0->PE);\t\t\t\n\t\t}\n\t\tif(RegIndex[1].Show)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"                                %<F>CR3 = %08x\\n\"),Reg.CR[3]);\n\t\t\tOUTPUT(WSTR(\"     Page-level Cache Disable [PCD] = %d %<B>(CR3 4 bit) \\n\"),pCR3->PCD);\n\t\t\tOUTPUT(WSTR(\"Page-level Writes transparent [PWT] = %d %<B>(CR0 3 bit)\\n\"),pCR3->PWT);\n\t\t\tOUTPUT(WSTR(\"                Page-Directory Base = 0x%08x %<B>(CR0 12-31 bit)\\n\"),(pCR3->PageDirectoryBase << 12));\t\t\t\n\t\t}\n\t\tif(RegIndex[2].Show)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"                                                                              %<F>CR4 = %08x\\n\"),Reg.CR[4]);\n\t\t\tOUTPUT(WSTR(\"                                               Virtual-8086 Mode Extensions [VME] = %d %<B>(CR4  0 bit) \\n\"),pCR4->VEM);\n\t\t\tOUTPUT(WSTR(\"                                          Protected-Mode Virtual Interrupts [PVI] = %d %<B>(CR4  1 bit) \\n\"),pCR4->PVI);\n\t\t\tOUTPUT(WSTR(\"                                                         Time Stamp Disable [TSD] = %d %<B>(CR4  2 bit) \\n\"),pCR4->TSD);\n\t\t\tOUTPUT(WSTR(\"                                                        Debugging Extensions [DE] = %d %<B>(CR4  3 bit) \\n\"),pCR4->DE);\n\t\t\tOUTPUT(WSTR(\"                                                       Page Size Extensions [PSE] = %d %<B>(CR4  4 bit) \\n\"),pCR4->PSE);\n\t\t\tOUTPUT(WSTR(\"                                                 Physical Address Extension [PAE] = %d %<B>(CR4  5 bit) \\n\"),pCR4->PAE);\n\t\t\tOUTPUT(WSTR(\"                                                       Machine-Check Enable [MCE] = %d %<B>(CR4  6 bit) \\n\"),pCR4->MCE);\n\t\t\tOUTPUT(WSTR(\"                                                         Page Global Enable [PGE] = %d %<B>(CR4  7 bit) \\n\"),pCR4->PGE);\n\t\t\tOUTPUT(WSTR(\"                                      Performance-Monitoring Counter Enable [PCE] = %d %<B>(CR4  8 bit) \\n\"),pCR4->PCE);\n\t\t\tOUTPUT(WSTR(\"            Operating System Support for FXSAVE and FXRSTOR instructions [OSFXSR] = %d %<B>(CR4  9 bit) \\n\"),pCR4->OSFXSR);\n\t\t\tOUTPUT(WSTR(\"Operating System Support for Unmasked SIMD Floating-Point Exceptions [OSXMMEXCPT] = %d %<B>(CR4 10 bit) \\n\"),pCR4->OSXMMEXCPT);\n\t\t}\n\t\tif(RegIndex[3].Show)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"                  %<F>EFLAGS = %08x\\n\"),Reg.EFlags);\n\t\t\tOUTPUT(WSTR(\"                Carry Flag [CF] = %d %<B>(EFLAGS  0 bit) \\n\"),pEfl->CF);\n\t\t\tOUTPUT(WSTR(\"               Parity Flag [PF] = %d %<B>(EFLAGS  2 bit)\\n\"),pEfl->PF);\n\t\t\tOUTPUT(WSTR(\"      Auxiliary Carry Flag [AF] = %d %<B>(EFLAGS  4 bit)\\n\"),pEfl->AF);\n\t\t\tOUTPUT(WSTR(\"                 Zero Flag [ZF] = %d %<B>(EFLAGS  6 bit)\\n\"),pEfl->ZF);\n\t\t\tOUTPUT(WSTR(\"                 Sign Flag [SF] = %d %<B>(EFLAGS  7 bit)\\n\"),pEfl->SF);\n\t\t\tOUTPUT(WSTR(\"                 Trap Flag [TF] = %d %<B>(EFLAGS  8 bit)\\n\"),pEfl->TF);\n\t\t\tOUTPUT(WSTR(\"     Interrupt Enable Flag [IF] = %d %<B>(EFLAGS  9 bit)\\n\"),pEfl->IF);\n\t\t\tOUTPUT(WSTR(\"            Direction Flag [DF] = %d %<B>(EFLAGS 10 bit)\\n\"),pEfl->DF);\n\t\t\tOUTPUT(WSTR(\"             Overflow Flag [OF] = %d %<B>(EFLAGS 11 bit)\\n\"),pEfl->OF);\n\t\t\tOUTPUT(WSTR(\"     I/O Privilege Level [IOPL] = %d %<B>(EFLAGS 12-13 bit)\\n\"),pEfl->IOPL);\n\t\t\tOUTPUT(WSTR(\"               Nested Task [NT] = %d %<B>(EFLAGS 14 bit)\\n\"),pEfl->NT);\n\t\t\tOUTPUT(WSTR(\"               Resume Flag [RF] = %d %<B>(EFLAGS 16 bit)\\n\"),pEfl->RF);\n\t\t\tOUTPUT(WSTR(\"         Virtual-8086 Mode [VM] = %d %<B>(EFLAGS 17 bit)\\n\"),pEfl->VM);\n\t\t\tOUTPUT(WSTR(\"           Alignment Check [AC] = %d %<B>(EFLAGS 18 bit)\\n\"),pEfl->AC);\t\t\t\n\t\t\tOUTPUT(WSTR(\"  Virtual Intterrupt Flag [VIF] = %d %<B>(EFLAGS 19 bit)\\n\"),pEfl->VIF);\n\t\t\tOUTPUT(WSTR(\"Virtual Interrupt Pending [VIP] = %d %<B>(EFLAGS 20 bit)\\n\"),pEfl->VIP);\n\t\t\tOUTPUT(WSTR(\"                   ID Flag [ID] = %d %<B>(EFLAGS 21 bit)\\n\"),pEfl->ID);\t\t\t\n\n\t\t}\n\t}\n\telse\n\t{\n\t\tfor(i=1;i<argc;i++)\n\t\t{\n\t\t\tif(CALCEXP(argv[i],&dwCPUIndex)==FALSE)\n\t\t\t\tcontinue;\n\t\t\tif(dwCPUIndex>=gCPUNumbers)\n\t\t\t\tcontinue;\n\t\t\tif(dwCurrentCpuID==dwCPUIndex)\n\t\t\t\tpReg=&Reg;\n\t\t\telse\n\t\t\t\tpReg = &gpMCPUReg[dwCPUIndex];\n\t\t\tpLocalApic = &gpMCPULocalApic[dwCPUIndex];\n\t\t\tpCR4=(PCR4REGISTER)&pReg->CR[4];\n\t\t\tpCR3=(PCR3REGISTER)&pReg->CR[3];\n\t\t\tpCR0=(PCR0REGISTER)&pReg->CR[0];\n\t\t\tOUTPUT(WSTR(\"CPU %d\\n\"),dwCPUIndex);\n\t\t\tOUTPUT(WSTR(\"Generate Register\\n\"));\n\t\t\tOUTPUT(WSTR(\"EAX=0x%08X,EBX=0x%08X,ECX=0x%08X,EDX=0x%08X\\n\"),pReg->GeneReg[EAX_IDX],pReg->GeneReg[EBX_IDX],pReg->GeneReg[ECX_IDX],pReg->GeneReg[EDX_IDX]);\n\t\t\tOUTPUT(WSTR(\"EDI=0x%08X,ESI=0x%08X,EBP=0x%08X,ESP=0x%08X\\n\"),pReg->GeneReg[EDI_IDX],pReg->GeneReg[ESI_IDX],pReg->GeneReg[EBP_IDX],pReg->GeneReg[ESP_IDX]);\n\t\t\tOUTPUT(WSTR(\"EIP=0x%08X,EFlags=0x%08X\\n\"),pReg->EIP,pReg->EFlags);\n\t\t\tOUTPUT(WSTR(\"Segment Register\\n\"));\n\t\t\tOUTPUT(WSTR(\"CS=0x%04X,DS=0x%04X,ES=0x%04X,FS=0x%04X,GS=0x%04X,SS=0x%04X\\n\"),pReg->SegReg[CS_IDX],pReg->SegReg[DS_IDX],pReg->SegReg[ES_IDX],pReg->SegReg[FS_IDX],pReg->SegReg[GS_IDX],pReg->SegReg[SS_IDX]);\n\t\t\tOUTPUT(WSTR(\"Debug Register\\n\"));\n\t\t\tOUTPUT(WSTR(\"DR0=0x%08X,DR1=0x%08X,DR2=0x%08X,DR3=0x%08X\\n\"),pReg->DR[0],pReg->DR[1],pReg->DR[2],pReg->DR[3]);\n\t\t\tOUTPUT(WSTR(\"DR6=0x%08X,DR7=0x%08X\\n\"),pReg->DR[6],pReg->DR[7]);\n\t\t\tOUTPUT(WSTR(\"Control Register\\n\"));\n\t\t\tOUTPUT(WSTR(\"CR0=0x%08X,CR2=0x%08X,CR3=0x%08X,CR4=0x%08X\\n\"),pReg->CR[0],pReg->CR[2],pReg->CR[3],pReg->CR[4]);\n\t\t\tOUTPUT(WSTR(\"CR0=%08x PE=%d MP=%d EM=%d TS=%d ET=%d NE=%d WP=%d AM=%d CD=%d PG=%d\\n\"),pReg->CR[0],pCR0->PE,pCR0->MP,pCR0->EM,pCR0->TS,pCR0->ET,pCR0->NE,pCR0->WP,pCR0->AM,pCR0->CD,pCR0->PG);\n\t\t\tOUTPUT(WSTR(\"CR3=%08x PWT=%d PCD=%d Page-Directory Base=%08x\\n\"),pReg->CR[3],pCR3->PWT,pCR3->PCD,pReg->CR[3]&0xfffff000);\n\t\t\tOUTPUT(WSTR(\"CR4=%08x VEM=%d PVI=%d TSD=%d DE=%d PSE=%d PAE=%d MCE=%d PGE=%d PCE=%d OSFXSR=%d OSXMMEXCPT=%d\\n\"),pReg->CR[4],\n\t\t\t\tpCR4->VEM,pCR4->PVI,pCR4->TSD,pCR4->DE,pCR4->PSE,pCR4->PAE,pCR4->MCE,pCR4->PGE,pCR4->PCE,pCR4->OSFXSR,pCR4->OSXMMEXCPT);\n\t\t\tpEfl=(PCPU_EFLAGS)&pReg->EFlags;\n\t\t\tOUTPUT(WSTR(\"EFLAGS=%08x CF=%d PF=%d AF=%d ZF=%d SF=%d TF=%d IF=%d DF=%d OF=%d IOPL=%d NT=%d RF=%d VM=%d AC=%d VIF=%d VIP=%d ID=%d\\n\"),pReg->EFlags,\n\t\t\t\tpEfl->CF,pEfl->PF,pEfl->AF,pEfl->ZF,pEfl->SF,pEfl->TF,pEfl->IF,pEfl->DF,pEfl->OF,pEfl->IOPL,pEfl->NT,pEfl->RF,pEfl->VM,pEfl->AC,pEfl->VIF,pEfl->VIP,pEfl->ID);\n\n\t\t\tOUTPUT(WSTR(\"TSS Selector=%04x Base=%08x Limit=%04x \"),pReg->TR,0,0);\n\t\t\tOUTPUT(WSTR(\"IDT Base=%08x Limit=%04x\\n\"),pReg->IDTBase,pReg->IDTLimit);\n\t\t\tOUTPUT(WSTR(\"LDT Selector=%04x Base=%08x Limit=%04x \"),pReg->LDT,0,0);\n\t\t\tOUTPUT(WSTR(\"GDT Base=%08x Limit=%04x\\n\"),pReg->GDTBase,pReg->GDTLimit);\n\n\t\t\tOUTPUT(WSTR(\"\\n%<d>-------- Local apic --------\\n\"));\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"ID\"),pLocalApic->APIC_ID);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Version\"),pLocalApic->APICVersion);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Task Priority\"),pLocalApic->TaskPriority);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Arbitration Priority\"),pLocalApic->ArbitrationPriority);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Processor Priority\"),pLocalApic->ProcessorPriority);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Destination Format\"),pLocalApic->DestinationFormat);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Logical Destination\"),pLocalApic->LogicalDestination);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Spurious Vector\"),pLocalApic->SpuriousInterruptVector);\n\t\t\tOUTPUT(WSTR(\"%-20s: %08x %08x\\n\"),WSTR(\"Interrupt Command\"),pLocalApic->InterruptCommandHigh,pLocalApic->InterruptCommandLow);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"LVT (Timer)\"),pLocalApic->LVTTimer);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"LVT (Perf. Counter)\"),pLocalApic->LVTPerformanceMonitoringCounters);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"LVT (Lint0)\"),pLocalApic->LVTLINT0);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"LVT (Lint1)\"),pLocalApic->LVTLINT1);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"LVT (Error)\"),pLocalApic->LVTError);\t\t\t\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Timer Count\"),pLocalApic->InitialCount);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Timer Current\"),pLocalApic->CurrentCount);\n\t\t\tOUTPUT(WSTR(\"%-20s: %x\\n\"),WSTR(\"Timer Divide\"),pLocalApic->DivideConfiguration);\n\t\t\tif(RegIndex[0].Show)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                     %<F>CR0 = %08x\\n\"),Reg.CR[0]);\n\t\t\t\tOUTPUT(WSTR(\"             Paging [PG] = %d %<B>(CR0 31 bit) \\n\"),pCR0->PG);\n\t\t\t\tOUTPUT(WSTR(\"      Cache Disable [CD] = %d %<B>(CR0 30 bit)\\n\"),pCR0->CD);\n\t\t\t\tOUTPUT(WSTR(\"  Not Write-through [NW] = %d %<B>(CR0 29 bit)\\n\"),pCR0->NW);\n\t\t\t\tOUTPUT(WSTR(\"     Alignment Mask [AM] = %d %<B>(CR0 18 bit)\\n\"),pCR0->AM);\n\t\t\t\tOUTPUT(WSTR(\"      Write Protect [WP] = %d %<B>(CR0 16 bit)\\n\"),pCR0->WP);\n\t\t\t\tOUTPUT(WSTR(\"      Numeric Error [NE] = %d %<B>(CR0  5 bit)\\n\"),pCR0->NE);\n\t\t\t\tOUTPUT(WSTR(\"     Extension Type [ET] = %d %<B>(CR0  4 bit)\\n\"),pCR0->ET);\n\t\t\t\tOUTPUT(WSTR(\"      Task Switched [TS] = %d %<B>(CR0  3 bit)\\n\"),pCR0->TS);\n\t\t\t\tOUTPUT(WSTR(\"          Emulation [EM] = %d %<B>(CR0  2 bit)\\n\"),pCR0->EM);\n\t\t\t\tOUTPUT(WSTR(\"Monitor Coprocessor [MP] = %d %<B>(CR0  1 bit)\\n\"),pCR0->MP);\n\t\t\t\tOUTPUT(WSTR(\"  Protection Enable [PE] = %d %<B>(CR0  0 bit)\\n\"),pCR0->PE);\t\t\t\n\t\t\t}\n\t\t\tif(RegIndex[1].Show)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                                %<F>CR3 = %08x\\n\"),Reg.CR[3]);\n\t\t\t\tOUTPUT(WSTR(\"     Page-level Cache Disable [PCD] = %d %<B>(CR3 4 bit) \\n\"),pCR3->PCD);\n\t\t\t\tOUTPUT(WSTR(\"Page-level Writes transparent [PWT] = %d %<B>(CR0 3 bit)\\n\"),pCR3->PWT);\n\t\t\t\tOUTPUT(WSTR(\"                Page-Directory Base = 0x%08x %<B>(CR0 12-31 bit)\\n\"),(pCR3->PageDirectoryBase << 12));\t\t\t\n\t\t\t}\n\t\t\tif(RegIndex[2].Show)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                                                                              %<F>CR4 = %08x\\n\"),Reg.CR[4]);\n\t\t\t\tOUTPUT(WSTR(\"                                               Virtual-8086 Mode Extensions [VME] = %d %<B>(CR4  0 bit) \\n\"),pCR4->VEM);\n\t\t\t\tOUTPUT(WSTR(\"                                          Protected-Mode Virtual Interrupts [PVI] = %d %<B>(CR4  1 bit) \\n\"),pCR4->PVI);\n\t\t\t\tOUTPUT(WSTR(\"                                                         Time Stamp Disable [TSD] = %d %<B>(CR4  2 bit) \\n\"),pCR4->TSD);\n\t\t\t\tOUTPUT(WSTR(\"                                                        Debugging Extensions [DE] = %d %<B>(CR4  3 bit) \\n\"),pCR4->DE);\n\t\t\t\tOUTPUT(WSTR(\"                                                       Page Size Extensions [PSE] = %d %<B>(CR4  4 bit) \\n\"),pCR4->PSE);\n\t\t\t\tOUTPUT(WSTR(\"                                                 Physical Address Extension [PAE] = %d %<B>(CR4  5 bit) \\n\"),pCR4->PAE);\n\t\t\t\tOUTPUT(WSTR(\"                                                       Machine-Check Enable [MCE] = %d %<B>(CR4  6 bit) \\n\"),pCR4->MCE);\n\t\t\t\tOUTPUT(WSTR(\"                                                         Page Global Enable [PGE] = %d %<B>(CR4  7 bit) \\n\"),pCR4->PGE);\n\t\t\t\tOUTPUT(WSTR(\"                                      Performance-Monitoring Counter Enable [PCE] = %d %<B>(CR4  8 bit) \\n\"),pCR4->PCE);\n\t\t\t\tOUTPUT(WSTR(\"            Operating System Support for FXSAVE and FXRSTOR instructions [OSFXSR] = %d %<B>(CR4  9 bit) \\n\"),pCR4->OSFXSR);\n\t\t\t\tOUTPUT(WSTR(\"Operating System Support for Unmasked SIMD Floating-Point Exceptions [OSXMMEXCPT] = %d %<B>(CR4 10 bit) \\n\"),pCR4->OSXMMEXCPT);\n\t\t\t}\n\t\t\tif(RegIndex[3].Show)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                  %<F>EFLAGS = %08x\\n\"),pReg->EFlags);\n\t\t\t\tOUTPUT(WSTR(\"                Carry Flag [CF] = %d %<B>(EFLAGS  0 bit) \\n\"),pEfl->CF);\n\t\t\t\tOUTPUT(WSTR(\"               Parity Flag [PF] = %d %<B>(EFLAGS  2 bit)\\n\"),pEfl->PF);\n\t\t\t\tOUTPUT(WSTR(\"      Auxiliary Carry Flag [AF] = %d %<B>(EFLAGS  4 bit)\\n\"),pEfl->AF);\n\t\t\t\tOUTPUT(WSTR(\"                 Zero Flag [ZF] = %d %<B>(EFLAGS  6 bit)\\n\"),pEfl->ZF);\n\t\t\t\tOUTPUT(WSTR(\"                 Sign Flag [SF] = %d %<B>(EFLAGS  7 bit)\\n\"),pEfl->SF);\n\t\t\t\tOUTPUT(WSTR(\"                 Trap Flag [TF] = %d %<B>(EFLAGS  8 bit)\\n\"),pEfl->TF);\n\t\t\t\tOUTPUT(WSTR(\"     Interrupt Enable Flag [IF] = %d %<B>(EFLAGS  9 bit)\\n\"),pEfl->IF);\n\t\t\t\tOUTPUT(WSTR(\"            Direction Flag [DF] = %d %<B>(EFLAGS 10 bit)\\n\"),pEfl->DF);\n\t\t\t\tOUTPUT(WSTR(\"             Overflow Flag [OF] = %d %<B>(EFLAGS 11 bit)\\n\"),pEfl->OF);\n\t\t\t\tOUTPUT(WSTR(\"     I/O Privilege Level [IOPL] = %d %<B>(EFLAGS 12-13 bit)\\n\"),pEfl->IOPL);\n\t\t\t\tOUTPUT(WSTR(\"               Nested Task [NT] = %d %<B>(EFLAGS 14 bit)\\n\"),pEfl->NT);\n\t\t\t\tOUTPUT(WSTR(\"               Resume Flag [RF] = %d %<B>(EFLAGS 16 bit)\\n\"),pEfl->RF);\n\t\t\t\tOUTPUT(WSTR(\"         Virtual-8086 Mode [VM] = %d %<B>(EFLAGS 17 bit)\\n\"),pEfl->VM);\n\t\t\t\tOUTPUT(WSTR(\"           Alignment Check [AC] = %d %<B>(EFLAGS 18 bit)\\n\"),pEfl->AC);\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"  Virtual Intterrupt Flag [VIF] = %d %<B>(EFLAGS 19 bit)\\n\"),pEfl->VIF);\n\t\t\t\tOUTPUT(WSTR(\"Virtual Interrupt Pending [VIP] = %d %<B>(EFLAGS 20 bit)\\n\"),pEfl->VIP);\n\t\t\t\tOUTPUT(WSTR(\"                   ID Flag [ID] = %d %<B>(EFLAGS 21 bit)\\n\"),pEfl->ID);\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\n\n\treturn 0;\n}"
  },
  {
    "path": "Project/Syser/Source/cmd_cpu.h",
    "content": "#ifndef __CMD_CPU_H__\n#define __CMD_CPU_H__\nDECLARE_SYSER_CMD(cpu_command);\n#endif //__CMD_CPU_H__"
  },
  {
    "path": "Project/Syser/Source/cmd_cpuid.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"cmd_cpuid.h\"\n\n\nPCWSTR szProcessor[]=\n{\n\tWSTR(\"Original OEM Processor\"),\n\tWSTR(\"Intel OverDrive Processor\"),\n\tWSTR(\"Dual processor*\"),\n\tWSTR(\"Intel reserved\")\n};\n\ntypedef struct _TLBDESCRIPTOR\n{\n\tUCHAR Type;\n\tchar* Descriptor;\n}TLBDESCRIPTOR,*PTLBDESCRIPTOR;\n\nTLBDESCRIPTOR gTLBDescriptorArray[]=\n{\n\t{0x00, \"Null descriptor\"},\n\t{0x01, \"Instruction TLB: 4 KByte pages, 4-way set associative, 32 entries\"},\n\t{0x02, \"Instruction TLB: 4 MByte pages, 4-way set associative, 2 entries\"},\n\t{0x03, \"Data TLB: 4 KByte pages, 4-way set associative, 64 entries\"},\n\t{0x04, \"Data TLB: 4 MByte pages, 4-way set associative, 8 entries\"},\n\t{0x05, \"Data TLB1: 4 MByte pages, 4-way set associative, 32 entries\"},\n\t{0x06, \"1st-level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x08, \"1st-level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x0A, \"1st-level data cache: 8 KBytes, 2-way set associative, 32 byte line size\"},\n\t{0x0B, \"Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries\"},\n\t{0x0C, \"1st-level data cache: 16 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x22, \"3rd-level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x23, \"3rd-level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x25, \"3rd-level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x29, \"3rd-level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x2C, \"1st-level data cache: 32 KBytes, 8-way set associative, 64 byte line size\"},\n\t{0x30, \"1st-level instruction cache: 32 KBytes, 8-way set associative, 64 byte line size\"},\n\t{0x40, \"No 2nd-level cache or, if processor contains a valid 2nd-level cache, no 3rdlevel cache\"},\n\t{0x41, \"2nd-level cache: 128 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x42, \"2nd-level cache: 256 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x43, \"2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size\"},\n\t{0x44, \"2nd-level cache: 1 MByte, 4-way set associative, 32 byte line size\"},\n\t{0x45, \"2nd-level cache: 2 MByte, 4-way set associative, 32 byte line size\"},\n\t{0x46, \"3rd-level cache: 4 MByte, 4-way set associative, 64 byte line size\"},\n\t{0x47, \"3rd-level cache: 8 MByte, 8-way set associative, 64 byte line size\"},\n\t{0x49, \"2nd-level cache: 4 MByte, 16-way set associative, 64 byte line size\"},\n\t{0x50, \"Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 64 entries\"},\n\t{0x51, \"Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 128 entries\"},\n\t{0x52, \"Instruction TLB: 4 KByte and 2-MByte or 4-MByte pages, 256 entries\"},\n\t{0x56, \"Data TLB0: 4 MByte pages, 4-way set associative, 16 entries\"},\n\t{0x57, \"Data TLB0: 4 KByte pages, 4-way associative, 16 entries\"},\n\t{0x5B, \"Data TLB: 4 KByte and 4 MByte pages, 64 entries\"},\n\t{0x5C, \"Data TLB: 4 KByte and 4 MByte pages,128 entries\"},\n\t{0x5D, \"Data TLB: 4 KByte and 4 MByte pages,256 entries\"},\n\t{0x60, \"1st-level data cache: 16 KByte, 8-way set associative, 64 byte line size\"},\n\t{0x66, \"1st-level data cache: 8 KByte, 4-way set associative, 64 byte line size\"},\n\t{0x67, \"1st-level data cache: 16 KByte, 4-way set associative, 64 byte line size\"},\n\t{0x68, \"1st-level data cache: 32 KByte, 4-way set associative, 64 byte line size\"},\n\t{0x70, \"Trace cache: 12 K-op, 8-way set associative\"},\n\t{0x71, \"Trace cache: 16 K-op, 8-way set associative\"},\n\t{0x72, \"Trace cache: 32 K-op, 8-way set associative\"},\n\t{0x78, \"2nd-level cache: 1 MByte, 4-way set associative, 64byte line size\"},\n\t{0x79, \"2nd-level cache: 128 KByte, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x7A, \"2nd-level cache: 256 KByte, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x7B, \"2nd-level cache: 512 KByte, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x7C, \"2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size, 2 lines per sector\"},\n\t{0x7D, \"2nd-level cache: 2 MByte, 8-way set associative, 64byte line size\"},\n\t{0x7F, \"2nd-level cache: 512 KByte, 2-way set associative, 64-byte line size\"},\n\t{0x82, \"2nd-level cache: 256 KByte, 8-way set associative, 32 byte line size\"},\n\t{0x83, \"2nd-level cache: 512 KByte, 8-way set associative, 32 byte line size\"},\n\t{0x84, \"2nd-level cache: 1 MByte, 8-way set associative, 32 byte line size\"},\n\t{0x85, \"2nd-level cache: 2 MByte, 8-way set associative, 32 byte line size\"},\n\t{0x86, \"2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size\"},\n\t{0x87, \"2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size\"},\n\t{0xB0, \"Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries\"},\n\t{0xB3, \"Data TLB: 4 KByte pages, 4-way set associative, 128 entries\"},\n\t{0xB4, \"Data TLB1: 4 KByte pages, 4-way associative, 256 entries\"},\n\t{0xF0, \"64-Byte prefetching\"},\n\t{0xF1, \"128-Byte prefetching\"},\n\t{0x0,\"Reserved\"},\n};\nPTLBDESCRIPTOR GetTLBDescriptor(UCHAR Type)\n{\n\tint i;\n\tfor(i =0;i<sizeof(gTLBDescriptorArray)/sizeof(gTLBDescriptorArray[0]);i++)\n\t{\n\t\tif(Type==gTLBDescriptorArray[i].Type)\n\t\t\treturn &gTLBDescriptorArray[i];\n\t}\n\treturn &gTLBDescriptorArray[i-1];\n}\n\nint cpuid_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyser*pSyser)\n{\n\tOUTPUT(WSTR(\"Pentium TSC calibration. Processor at %<B>%u.%d MHZ\\n\"),(ULONG)(TscPerSec+500000)/1000000,((TscPerSec+50000)/100000)%10);\n\tOUTPUT(WSTR(\"CPUID Information\\n\"));\n\tWCHAR wszBuffer[20];\n\tchar szBuffer[20];\n\tbool bBrandString=false;\n\tDWORD dwTemp;\n\tbool bIsAMD=false,bIsIntel=false;\n\tchar* szBrandString;\n\tWCHAR wszBrandString[250];\n\tCPUID_INFO TmpInfo[5];\n\tCPUID_INFO ExInfo;\n\tDWORD ExtMaxIndex;\n\tDWORD MaxIndex;\n\tDWORD dwIndex;\n\tDWORD i;\n\tbool bShowAll=false;\n\tmemset(TmpInfo,0,sizeof(TmpInfo));\n\tSyserGetCPUID(TmpInfo,0);\n\tMaxIndex=TmpInfo[0].dwEAX;\n\tmemset(TmpInfo,0,sizeof(TmpInfo));\n\tSyserGetCPUID(TmpInfo,0x80000000);\n\tExtMaxIndex = TmpInfo[0].dwEAX;\n\tif(argc>1)\n\t{\n\t\tfor(i = 1; i< (DWORD)argc;i++)\n\t\t{\n\t\t\tif(TStrICmp(argv[i],\"-a\")==0)\n\t\t\t{\n\t\t\t\tbShowAll=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(bShowAll)\n\t\t{\n\t\t\tfor(i = 0; i <= MaxIndex;i++)\n\t\t\t{\n\t\t\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\t\t\tSyserGetCPUID(&ExInfo,i);\n\t\t\t\tOUTPUT(WSTR(\"CPUID[EAX=%08x] %08x %08x %08x %08x\\n\"),i,ExInfo.dwEAX,ExInfo.dwEBX,ExInfo.dwECX,ExInfo.dwEDX);\n\t\t\t}\n\t\t\tfor(i=0x80000000;i<=ExtMaxIndex;i++)\n\t\t\t{\n\t\t\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\t\t\tSyserGetCPUID(&ExInfo,i);\n\t\t\t\tOUTPUT(WSTR(\"CPUID[EAX=%08x] %08x %08x %08x %08x\\n\"),i,ExInfo.dwEAX,ExInfo.dwEBX,ExInfo.dwECX,ExInfo.dwEDX);\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\tfor(i = 1; i < (DWORD)argc;i++)\n\t\t{\n\t\t\tif(CALCEXP(argv[i],&dwIndex)==FALSE)\n\t\t\t\tcontinue;\n\t\t\tif(dwIndex <= MaxIndex || ((dwIndex>=0x80000000) && (dwIndex <= ExtMaxIndex)))\n\t\t\t{\n\t\t\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\t\t\tSyserGetCPUID(&ExInfo,dwIndex);\n\t\t\t\tOUTPUT(WSTR(\"CPUID[EAX=%08x] %08x %08x %08x %08x\\n\"),dwIndex,ExInfo.dwEAX,ExInfo.dwEBX,ExInfo.dwECX,ExInfo.dwEDX);\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t}\n\n\tSyserGetCPUID(TmpInfo,0x80000000);\n\tExtMaxIndex = TmpInfo[0].dwEAX;\n\tif(ExtMaxIndex>=0x80000004)\n\t{\n\t\tmemset(TmpInfo,0,sizeof(CPUID_INFO));\n\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\tSyserGetCPUID(&ExInfo,0x80000001);\n\t\tSyserGetCPUID(&TmpInfo[0],0x80000002);\n\t\tSyserGetCPUID(&TmpInfo[1],0x80000003);\n\t\tSyserGetCPUID(&TmpInfo[2],0x80000004);\n\t\tszBrandString=(char*)&TmpInfo[0];\n\t\tTStrCpy(wszBrandString,szBrandString);\n\t\tbBrandString=true;\n\t}\n\n\tmemset(TmpInfo,0,sizeof(TmpInfo));\n\tSyserGetCPUID(TmpInfo,0);\n\tMaxIndex=TmpInfo[0].dwEAX;\n\t//if(MaxIndex>=1)\n\t{\t\t\n\t\tZeroMemory(szBuffer,sizeof(szBuffer));\n\t\tPUT_DWORD(szBuffer,0,TmpInfo[0].dwEBX);\n\t\tPUT_DWORD(szBuffer,4,TmpInfo[0].dwEDX);\n\t\tPUT_DWORD(szBuffer,8,TmpInfo[0].dwECX);\n\t\tTStrCpy(wszBuffer,szBuffer);\n\t\tif(TStrCmp(\"AuthenticAMD\",wszBuffer)==0)\n\t\t{\n\t\t\tbIsAMD=true;\n\t\t\tOUTPUT(WSTR(\"AMD\\n\"));\n\t\t}\n\t\telse if(TStrCmp(\"GenuineIntel\",wszBuffer)==0)\n\t\t\tbIsIntel=true;\n\t\tOUTPUT(WSTR(\"                                        Vendor ID String = %<F>\\\"%s\\\"\\n\"),wszBuffer);\n\t}\n\tif(MaxIndex>=1)\n\t{\t\t\n\t\tSyserGetCPUID(&TmpInfo[1],1);\n\t\tif(bIsIntel)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"                                     Version Information = 0x%08X\\n\"),TmpInfo[1].dwEAX);\n\t\t\tCPUID_1_EAX_VERSION*pVer = (CPUID_1_EAX_VERSION*)&TmpInfo[1].dwEAX;\n\t\t\tPCPUID_1_ECX_EXTENDED_FEATURE pExtFeature=(PCPUID_1_ECX_EXTENDED_FEATURE)&TmpInfo[1].dwECX;\n\t\t\tOUTPUT(WSTR(\"                                          Processor Type = 0x%X %<F>%s\\n\"),pVer->ProcessorType,szProcessor[pVer->ProcessorType]);\n\t\t\tif(bBrandString)\n\t\t\t\tOUTPUT(WSTR(\"%<6>%s\\n\"),wszBrandString);\t\t\n\t\t\tif(pVer->Family==0xf)\n\t\t\t\tdwTemp = pVer->Family + pVer->ExtendedFamily;\n\t\t\tOUTPUT(WSTR(\"                                                  Family = 0x%X\\n\"),pVer->Family);\n\t\t\tif(pVer->Family==0xf || pVer->Family == 0x6)\t\t\n\t\t\t\tdwTemp=(pVer->Model+(pVer->ExtendedModel<<4));\t\t\n\t\t\tOUTPUT(WSTR(\"                                                   Model = 0x%X\\n\"),pVer->Model);\n\t\t\tOUTPUT(WSTR(\"                                             Stepping ID = 0x%X\\n\"),pVer->SteppingID);\n\t\t\tOUTPUT(WSTR(\"                                     %<F>Feature Information = CPUID EAX=0x00000001 EDX=0x%08X\\n\"),TmpInfo[1].dwEDX);\n\t\t\tCPUID_1_EDX_FEATURE*pFeature = (CPUID_1_EDX_FEATURE*)&TmpInfo[1].dwEDX;\n\t\t\tOUTPUT(WSTR(\"                             Floating Point Unit On-Chip = %d %<B>(EDX 0  bit)\\n\"),pFeature->FPU);\n\t\t\tOUTPUT(WSTR(\"                          Virtual 8086 Mode Enhancements = %d %<B>(EDX 1  bit)\\n\"),pFeature->VME);\n\t\t\tOUTPUT(WSTR(\"                                    Debugging Extensions = %d %<B>(EDX 2  bit)\\n\"),pFeature->DE);\n\t\t\tOUTPUT(WSTR(\"                                     Page Size Extension = %d %<B>(EDX 3  bit)\\n\"),pFeature->PSE);\n\t\t\tOUTPUT(WSTR(\"                                      Time Stamp Counter = %d %<B>(EDX 4  bit)\\n\"),pFeature->TSC);\n\t\t\tOUTPUT(WSTR(\"   Model Specific Registers RDMSR and WRMSR Instructions = %d %<B>(EDX 5  bit)\\n\"),pFeature->MSR);\n\t\t\tOUTPUT(WSTR(\"                              Physical Address Extension = %d %<B>(EDX 6  bit)\\n\"),pFeature->PAE);\n\t\t\tOUTPUT(WSTR(\"                                 Machine Check Exception = %d %<B>(EDX 7  bit)\\n\"),pFeature->MCE);\n\t\t\tOUTPUT(WSTR(\"                                   CMPXCHG8B Instruction = %d %<B>(EDX 8  bit)\\n\"),pFeature->CX8);\n\t\t\tOUTPUT(WSTR(\"                                            APIC On-Chip = %d %<B>(EDX 9  bit)\\n\"),pFeature->APIC);\n\t\t\tOUTPUT(WSTR(\"                       SYSENTER and SYSEXIT Instructions = %d %<B>(EDX 11 bit)\\n\"),pFeature->SEP);\n\t\t\tOUTPUT(WSTR(\"                             Memory Type Range Registers = %d %<B>(EDX 12 bit)\\n\"),pFeature->MTRR);\n\t\t\tOUTPUT(WSTR(\"                                          PTE Global Bit = %d %<B>(EDX 13 bit)\\n\"),pFeature->PGE);\n\t\t\tOUTPUT(WSTR(\"                              Machine Check Architecture = %d %<B>(EDX 14 bit)\\n\"),pFeature->MCA);\n\t\t\tOUTPUT(WSTR(\"                           Conditional Move Instructions = %d %<B>(EDX 15 bit)\\n\"),pFeature->CMOV);\n\t\t\tOUTPUT(WSTR(\"                                    Page Attribute Table = %d %<B>(EDX 16 bit)\\n\"),pFeature->PAT);\n\t\t\tOUTPUT(WSTR(\"                              36-Bit Page Size Extension = %d %<B>(EDX 17 bit)\\n\"),pFeature->PSE_36);\n\t\t\tOUTPUT(WSTR(\"                                 Processor Serial Number = %d %<B>(EDX 18 bit)\\n\"),pFeature->PSN);\n\t\t\tOUTPUT(WSTR(\"                                     CLFLUSH Instruction = %d %<B>(EDX 19 bit)\\n\"),pFeature->CLFSH);\n\t\t\tOUTPUT(WSTR(\"                                             Debug Store = %d %<B>(EDX 21 bit)\\n\"),pFeature->DS);\n\t\t\tOUTPUT(WSTR(\"Thermal Monitor and Software Controlled Clock Facilities = %d %<B>(EDX 22 bit)\\n\"),pFeature->ACPI);\n\t\t\tOUTPUT(WSTR(\"                                    Intel MMX Technology = %d %<B>(EDX 23 bit)\\n\"),pFeature->MXX);\n\t\t\tOUTPUT(WSTR(\"                         FXSAVE and FXRSTOR Instructions = %d %<B>(EDX 24 bit)\\n\"),pFeature->FXSR);\n\t\t\tOUTPUT(WSTR(\"                               Streaming SIMD Extensions = %d %<B>(EDX 25 bit)\\n\"),pFeature->SSE);\n\t\t\tOUTPUT(WSTR(\"                             Streaming SIMD Extensions 2 = %d %<B>(EDX 26 bit)\\n\"),pFeature->SSE2);\n\t\t\tOUTPUT(WSTR(\"                                              Self Snoop = %d %<B>(EDX 27 bit)\\n\"),pFeature->SS);\n\t\t\tOUTPUT(WSTR(\"                              Hyper-Threading Technology = %d %<B>(EDX 28 bit)\\n\"),pFeature->HTT);\n\t\t\tOUTPUT(WSTR(\"                                         Thermal Monitor = %d %<B>(EDX 29 bit)\\n\"),pFeature->TM);\n\t\t\tOUTPUT(WSTR(\"                                    Pending Break Enable = %d %<B>(EDX 31 bit)\\n\"),pFeature->PBE);\n\t\t\tOUTPUT(WSTR(\"                            %<F>Extended Feature Information = CPUID EAX=0x00000001 ECX=0x%08X\\n\"),TmpInfo[1].dwECX);\n\t\t\tOUTPUT(WSTR(\"                             Streaming SIMD Extensions 3 = %d %<B>(ECX 0  bit)\\n\"),pExtFeature->SSE3);\n\t\t\tOUTPUT(WSTR(\"                                           MONITOR/MWAIT = %d %<B>(ECX 3  bit)\\n\"),pExtFeature->MONITOR);\n\t\t\tOUTPUT(WSTR(\"                               CPL Qualified Debug Store = %d %<B>(ECX 4  bit)\\n\"),pExtFeature->DS_CPL);\n\t\t\tOUTPUT(WSTR(\"                              Virtual Machine Extensions = %d %<B>(ECX 5  bit)\\n\"),pExtFeature->VMX);\n\t\t\tOUTPUT(WSTR(\"                     Enhanced Intel SpeedStep technology = %d %<B>(ECX 7  bit)\\n\"),pExtFeature->EST);\n\t\t\tOUTPUT(WSTR(\"                                       Thermal Monitor 2 = %d %<B>(ECX 8  bit)\\n\"),pExtFeature->TM2);\n\t\t\t//OUTPUT(WSTR(\"                Supplemental Streaming SIMD Extensions 4 = %d %<B>(EDX 1  bit)\\n\"),pExtFeature->SSSE3);\n\t\t\tOUTPUT(WSTR(\"                                           L1 Context ID = %d %<B>(ECX 10 bit)\\n\"),pExtFeature->CNXT_ID);\n\t\t\tOUTPUT(WSTR(\"                                    CMPXCHG16B Available = %d %<B>(ECX 13 bit)\\n\"),pExtFeature->CMPXCHG16B);\n\t\t\tOUTPUT(WSTR(\"                                     xTPR Update Control = %d %<B>(ECX 14 bit)\\n\"),pExtFeature->xTPR_Update_Control);\n\t\t\tif(ExtMaxIndex>=0x80000004)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"%<F>Extended Processor Signature and Extended Feature Bits.(CPUID EAX=0x80000001 ECX=0x%08x EDX=0x%08x)\\n\"),ExInfo.dwECX,ExInfo.dwEDX);\n\t\t\t\tOUTPUT(WSTR(\"                      LAHF/SAHF available in 64-bit mode = %d %<B>(ECX 1  bit)\\n\"),ExInfo.dwECX&0x1);\n\t\t\t\tOUTPUT(WSTR(\"           SYSCALL/SYSRET available(when in 64-bit mode) = %d %<B>(EDX 11 bit)\\n\"),(ExInfo.dwEDX & 0x800)>>11);\n\t\t\t\tOUTPUT(WSTR(\"                           Execute Disable Bit available = %d %<B>(EDX 20 bit)\\n\"),(ExInfo.dwEDX & 0x100000)>>20);\n\t\t\t\tOUTPUT(WSTR(\"                                   Intel EM64T available = %d %<B>(EDX 29 bit)\\n\"),(ExInfo.dwEDX & 0x20000000)>>29);\n\t\t\t}\n\t\t\tOUTPUT(WSTR(\"%<f>CPU TLB Information\\n\"));\n\t\t\tSyserGetCPUID(TmpInfo,2);\n\t\t\tunsigned char* ucType;\n\t\t\tPTLBDESCRIPTOR pTlbDesc;\n\t\t\tucType = (unsigned char*)&TmpInfo[0];\t\t\n\t\t\tfor(int i = 1;i < sizeof(CPUID_INFO);i++)\n\t\t\t{\n\t\t\t\tif(ucType[i]==0)\n\t\t\t\t\tcontinue;\n\t\t\t\tpTlbDesc = GetTLBDescriptor(ucType[i]);\n\t\t\t\tTStrCpy(wszBrandString,pTlbDesc->Descriptor);\n\t\t\t\tOUTPUT(WSTR(\"%02x %s\\n\"),ucType[i],wszBrandString);\n\t\t\t}\n\t\t\tDWORD dwHiMiscFeature=0,dwLoMiscFeature=0;\n\t\t\tPMSR_IA32_MISC_ENABLE pMiscEnable;\n\t\t\tif(SyserReadMSR(0x1a0,&dwHiMiscFeature,&dwLoMiscFeature))\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                                    %<f>CPU IA32_MISC_ENABLE = MSR 0x000001A0 0x%08x 0x%08x\\n\"),dwHiMiscFeature,dwLoMiscFeature);\n\t\t\t\tpMiscEnable = (PMSR_IA32_MISC_ENABLE)&dwLoMiscFeature;\n\t\t\t\tOUTPUT(WSTR(\"                                     Fast-Strings Enable = %d %<B>(0  bit)\\n\"),pMiscEnable->FastString);\n\t\t\t\tOUTPUT(WSTR(\"               x87 FPU Fopcode Compatibility Mode Enable = %d %<B>(2  bit)\\n\"),pMiscEnable->FPUMode);\n\t\t\t\tOUTPUT(WSTR(\"                                Thermal Monitor 1 Enable = %d %<B>(3  bit)\\n\"),pMiscEnable->TM1E);\n\t\t\t\tOUTPUT(WSTR(\"                                      Split-Lock Disable = %d %<B>(4  bit)\\n\"),pMiscEnable->SLD);\n\t\t\t\tOUTPUT(WSTR(\"                               Third-Level Cache Disable = %d %<B>(6  bit)\\n\"),pMiscEnable->TLCD);\n\t\t\t\tOUTPUT(WSTR(\"                        Performance Monitoring Available = %d %<B>(7  bit)\\n\"),pMiscEnable->PMA);\n\t\t\t\tOUTPUT(WSTR(\"                                    Suppress Lock Enable = %d %<B>(8  bit)\\n\"),pMiscEnable->SLE);\n\t\t\t\tOUTPUT(WSTR(\"                                  Prefetch Queue Disable = %d %<B>(9  bit)\\n\"),pMiscEnable->PQD);\n\t\t\t\tOUTPUT(WSTR(\"                        FERR# Interrupt Reporting Enable = %d %<B>(10 bit)\\n\"),pMiscEnable->FerrIRE);\n\t\t\t\tOUTPUT(WSTR(\"                        Branch Trace Storage Unavailable = %d %<B>(11 bit)\\n\"),pMiscEnable->BTSU);\n\t\t\t\tOUTPUT(WSTR(\"                Precise Event Based Sampling Unavailable = %d %<B>(12 bit)\\n\"),pMiscEnable->PEBSU);\n\t\t\t\tOUTPUT(WSTR(\"                                              TM2 Enable = %d %<B>(13 bit)\\n\"),pMiscEnable->TM2E);\n\t\t\t\tOUTPUT(WSTR(\"                                      ENABLE MONITOR FSM = %d %<B>(18 bit)\\n\"),pMiscEnable->EMFSM);\n\t\t\t\tOUTPUT(WSTR(\"                    Adjacent Cache Line Prefetch Disable = %d %<B>(19 bit)\\n\"),pMiscEnable->ACLPD);\n\t\t\t\tOUTPUT(WSTR(\"                                      Limit CPUID MAXVAL = %d %<B>(22 bit)\\n\"),pMiscEnable->LCPUIDMAXVAL);\n\t\t\t\tOUTPUT(WSTR(\"                              L1 Data Cache Context Mode = %d %<B>(24 bit)\\n\"),pMiscEnable->L1DCCM);\n\t\t\t}\n\t\t\tif(SyserReadMSR(0xc0000080,&dwHiMiscFeature,&dwLoMiscFeature))\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"                                           %<f>CPU IA32_EFER = MSR 0xC0000080 0x%08x 0x%08x\\n\"),dwHiMiscFeature,dwLoMiscFeature);\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"                                          SYSCALL Enable = %d %<B>(0  bit)\\n\"),dwLoMiscFeature&0x1);\n\t\t\t\tOUTPUT(WSTR(\"                                      IA-32e Mode Enable = %d %<B>(8  bit)\\n\"),(dwLoMiscFeature&0x100)>>8);\n\t\t\t\tOUTPUT(WSTR(\"                                      IA-32e Mode Active = %d %<B>(10 bit)\\n\"),(dwLoMiscFeature&0x400)>>10);\n\t\t\t\tOUTPUT(WSTR(\"                              Execute Disable Bit Enable = %d %<B>(11 bit)\\n\"),(dwLoMiscFeature&0x800)>>11);\n\t\t\t}\n\n\t\t}\n\t\telse if(bIsAMD)\n\t\t{\n\t\t\tPAMD_CPUID_1_EDX pAMDEDX = (PAMD_CPUID_1_EDX)&TmpInfo[1].dwEDX;\n\t\t\tPAMD_CPUID_1_ECX pAMDECX = (PAMD_CPUID_1_ECX)&TmpInfo[1].dwECX;\n\t\t\tOUTPUT(WSTR(\"                                     %<F>Feature Information = CPUID EAX=0x00000001 EDX=0x%08X\\n\"),TmpInfo[1].dwEDX);\n\n\t\t\t//OUTPUT(WSTR(\"                                 %<F>Feature Information EDX = 0x%08X\\n\"),TmpInfo[1].dwEDX);\n\t\t\tif(bBrandString)\n\t\t\t\tOUTPUT(WSTR(\"%<6>%s\\n\"),wszBrandString);\t\n\t\t\tOUTPUT(WSTR(\"                             Floating Point Unit On-Chip = %d %<B>(EDX 0  bit)\\n\"),pAMDEDX->FPU);\n\t\t\tOUTPUT(WSTR(\"                          Virtual 8086 Mode Enhancements = %d %<B>(EDX 1  bit)\\n\"),pAMDEDX->VME);\n\t\t\tOUTPUT(WSTR(\"                                    Debugging Extensions = %d %<B>(EDX 2  bit)\\n\"),pAMDEDX->DE);\n\t\t\tOUTPUT(WSTR(\"                                     Page Size Extension = %d %<B>(EDX 3  bit)\\n\"),pAMDEDX->PSE);\n\t\t\tOUTPUT(WSTR(\"                                      Time Stamp Counter = %d %<B>(EDX 4  bit)\\n\"),pAMDEDX->TSC);\n\t\t\tOUTPUT(WSTR(\"   Model Specific Registers RDMSR and WRMSR Instructions = %d %<B>(EDX 5  bit)\\n\"),pAMDEDX->MSR);\n\t\t\tOUTPUT(WSTR(\"                              Physical Address Extension = %d %<B>(EDX 6  bit)\\n\"),pAMDEDX->PAE);\n\t\t\tOUTPUT(WSTR(\"                                 Machine Check Exception = %d %<B>(EDX 7  bit)\\n\"),pAMDEDX->MCE);\n\t\t\tOUTPUT(WSTR(\"                                   CMPXCHG8B Instruction = %d %<B>(EDX 8  bit)\\n\"),pAMDEDX->CMPXCHG8B);\n\t\t\tOUTPUT(WSTR(\"                                            APIC On-Chip = %d %<B>(EDX 9  bit)\\n\"),pAMDEDX->APIC);\n\t\t\tOUTPUT(WSTR(\"                       SYSENTER and SYSEXIT Instructions = %d %<B>(EDX 11 bit)\\n\"),pAMDEDX->SysEnterSysExit);\n\t\t\tOUTPUT(WSTR(\"                             Memory Type Range Registers = %d %<B>(EDX 12 bit)\\n\"),pAMDEDX->MTRR);\n\t\t\tOUTPUT(WSTR(\"                                          PGE Global Bit = %d %<B>(EDX 13 bit)\\n\"),pAMDEDX->PGE);\n\t\t\tOUTPUT(WSTR(\"                              Machine Check Architecture = %d %<B>(EDX 14 bit)\\n\"),pAMDEDX->MCA);\n\t\t\tOUTPUT(WSTR(\"                           Conditional Move Instructions = %d %<B>(EDX 15 bit)\\n\"),pAMDEDX->CMOV);\n\t\t\tOUTPUT(WSTR(\"                                    Page Attribute Table = %d %<B>(EDX 16 bit)\\n\"),pAMDEDX->PAT);\n\t\t\tOUTPUT(WSTR(\"                              36-Bit Page Size Extension = %d %<B>(EDX 17 bit)\\n\"),pAMDEDX->PSE36);\n\t\t\tOUTPUT(WSTR(\"                                     CLFLUSH Instruction = %d %<B>(EDX 19 bit)\\n\"),pAMDEDX->CLFSH);\n\t\t\tOUTPUT(WSTR(\"                                        MMX instructions = %d %<B>(EDX 23 bit)\\n\"),pAMDEDX->MMX);\n\t\t\tOUTPUT(WSTR(\"                         FXSAVE and FXRSTOR Instructions = %d %<B>(EDX 24 bit)\\n\"),pAMDEDX->FXSR);\n\t\t\tOUTPUT(WSTR(\"                               Streaming SIMD Extensions = %d %<B>(EDX 25 bit)\\n\"),pAMDEDX->SSE);\n\t\t\tOUTPUT(WSTR(\"                             Streaming SIMD Extensions 2 = %d %<B>(EDX 26 bit)\\n\"),pAMDEDX->SSE2);\n\t\t\tOUTPUT(WSTR(\"                              Hyper-Threading Technology = %d %<B>(EDX 28 bit)\\n\"),pAMDEDX->HTT);\t\t\t\n\t\t\t//OUTPUT(WSTR(\"                                 %<F>Feature Information ECX = 0x%08X\\n\"),TmpInfo[1].dwECX);\n\t\t\tOUTPUT(WSTR(\"                                     %<F>Feature Information = CPUID EAX=0x00000001 ECX=0x%08X\\n\"),TmpInfo[1].dwECX);\n\t\t\tOUTPUT(WSTR(\"                                    CMPXCHG16B Available = %d %<B>(ECX 0  bit)\\n\"),pAMDECX->CMPXCHG16B);\n\t\t\tOUTPUT(WSTR(\"                             Streaming SIMD Extensions 3 = %d %<B>(ECX 13 bit)\\n\"),pAMDECX->SSE3);\n\t\t\tif(ExtMaxIndex>=0x80000001)\n\t\t\t{\n\t\t\t\tmemset(&ExInfo,0,sizeof(ExInfo));\n\t\t\t\tSyserGetCPUID(&ExInfo,0x80000001);\n\t\t\t\tPAMD_CPUID_80000001_EDX pAMDEXEDX = (PAMD_CPUID_80000001_EDX)&ExInfo.dwEDX;\n\t\t\t\tPAMD_CPUID_80000001_ECX pAMDEXECX = (PAMD_CPUID_80000001_ECX)&ExInfo.dwECX;\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"                            %<F>Extended Feature Information = CPUID EAX=0x80000001 EDX=0x%08X\\n\"),ExInfo.dwEDX);\n\n\t\t\t\t//OUTPUT(WSTR(\"                        %<F>Extended Feature Information EDX = 0x%08X\\n\"),ExInfo.dwEDX);\n\t\t\t\tOUTPUT(WSTR(\"                             Floating Point Unit On-Chip = %d %<B>(EDX 0  bit)\\n\"),pAMDEXEDX->FPU);\n\t\t\t\tOUTPUT(WSTR(\"                          Virtual 8086 Mode Enhancements = %d %<B>(EDX 1  bit)\\n\"),pAMDEXEDX->VME);\n\t\t\t\tOUTPUT(WSTR(\"                                    Debugging Extensions = %d %<B>(EDX 2  bit)\\n\"),pAMDEXEDX->DE);\n\t\t\t\tOUTPUT(WSTR(\"                                     Page Size Extension = %d %<B>(EDX 3  bit)\\n\"),pAMDEXEDX->PSE);\n\t\t\t\tOUTPUT(WSTR(\"                                      Time Stamp Counter = %d %<B>(EDX 4  bit)\\n\"),pAMDEXEDX->TSC);\n\t\t\t\tOUTPUT(WSTR(\"   Model Specific Registers RDMSR and WRMSR Instructions = %d %<B>(EDX 5  bit)\\n\"),pAMDEXEDX->MSR);\n\t\t\t\tOUTPUT(WSTR(\"                              Physical Address Extension = %d %<B>(EDX 6  bit)\\n\"),pAMDEXEDX->PAE);\n\t\t\t\tOUTPUT(WSTR(\"                                 Machine Check Exception = %d %<B>(EDX 7  bit)\\n\"),pAMDEXEDX->MCE);\n\t\t\t\tOUTPUT(WSTR(\"                                   CMPXCHG8B Instruction = %d %<B>(EDX 8  bit)\\n\"),pAMDEXEDX->CMPXCHG8B);\n\t\t\t\tOUTPUT(WSTR(\"                                            APIC On-Chip = %d %<B>(EDX 9  bit)\\n\"),pAMDEXEDX->APIC);\n\t\t\t\tOUTPUT(WSTR(\"                         SYSCALL and SYSRET instructions = %d %<B>(EDX 11 bit)\\n\"),pAMDEXEDX->SysCallSysRet);\n\t\t\t\tOUTPUT(WSTR(\"                             Memory Type Range Registers = %d %<B>(EDX 12 bit)\\n\"),pAMDEXEDX->MTRR);\n\t\t\t\tOUTPUT(WSTR(\"                                          PGE Global Bit = %d %<B>(EDX 13 bit)\\n\"),pAMDEXEDX->PGE);\n\t\t\t\tOUTPUT(WSTR(\"                              Machine Check Architecture = %d %<B>(EDX 14 bit)\\n\"),pAMDEXEDX->MCA);\n\t\t\t\tOUTPUT(WSTR(\"                           Conditional Move Instructions = %d %<B>(EDX 15 bit)\\n\"),pAMDEXEDX->CMOV);\n\t\t\t\tOUTPUT(WSTR(\"                                    Page Attribute Table = %d %<B>(EDX 16 bit)\\n\"),pAMDEXEDX->PAT);\n\t\t\t\tOUTPUT(WSTR(\"                              36-Bit Page Size Extension = %d %<B>(EDX 17 bit)\\n\"),pAMDEXEDX->PSE36);\n\t\t\t\tOUTPUT(WSTR(\"                              No-execute page protection = %d %<B>(EDX 20 bit)\\n\"),pAMDEXEDX->NX);\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"                      AMD extensions to MMX instructions = %d %<B>(EDX 22 bit)\\n\"),pAMDEXEDX->MmxExt);\n\t\t\t\tOUTPUT(WSTR(\"                                        MMX instructions = %d %<B>(EDX 23 bit)\\n\"),pAMDEXEDX->MMX);\n\t\t\t\tOUTPUT(WSTR(\"                         FXSAVE and FXRSTOR Instructions = %d %<B>(EDX 24 bit)\\n\"),pAMDEXEDX->FXSR);\n\t\t\t\tOUTPUT(WSTR(\"           FXSAVE and FXRSTOR Instructions optimizations = %d %<B>(EDX 25 bit)\\n\"),pAMDEXEDX->FFXSR);\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"                                      RDTSCP instruction = %d %<B>(EDX 27 bit)\\n\"),pAMDEXEDX->RDTSCP);\n\t\t\t\tOUTPUT(WSTR(\"                                               Long mode = %d %<B>(EDX 29 bit)\\n\"),pAMDEXEDX->LM);\n\t\t\t\tOUTPUT(WSTR(\"                   AMD extensions to 3DNow! instructions = %d %<B>(EDX 30 bit)\\n\"),pAMDEXEDX->_3DNowExt);\n\t\t\t\tOUTPUT(WSTR(\"                                     3DNow! instructions = %d %<B>(EDX 31 bit)\\n\"),pAMDEXEDX->_3DNow);\t\n\t\t\t\t//OUTPUT(WSTR(\"                        %<F>Extended Feature Information ECX = 0x%08X\\n\"),ExInfo.dwECX);\n\t\t\t\tOUTPUT(WSTR(\"                            %<F>Extended Feature Information = CPUID EAX=0x80000001 ECX = 0x%08X\\n\"),ExInfo.dwECX);\n\t\t\t\tOUTPUT(WSTR(\"        LAHF and SAHF instruction support in 64-bit mode = %d %<B>(ECX 0 bit)\\n\"),pAMDEXECX->LahfSahf);\n\t\t\t\tOUTPUT(WSTR(\"                       Core multi-processing legacy mode = %d %<B>(ECX 1 bit)\\n\"),pAMDEXECX->CmpLegacy);\n\t\t\t\tOUTPUT(WSTR(\"                          Secure virtual machine feature = %d %<B>(ECX 2 bit)\\n\"),pAMDEXECX->SVM);\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"                              LOCK MOV CR0 means MOV CR8 = %d %<B>(ECX 4 bit)\\n\"),pAMDEXECX->AltMovCr8);\n\n\t\t\t}\n\t\t\tif(ExtMaxIndex>=0x80000005)\n\t\t\t{\t\t\t\t\n\t\t\t\tmemset(TmpInfo,0,sizeof(TmpInfo));\n\t\t\t\tSyserGetCPUID(TmpInfo,0x80000005);\n\t\t\t\tswitch(TmpInfo[0].dwEAX >>24)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Data TLB %<B>Reserved. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Data TLB %<B>Direct mapped. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0xff:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Data TLB %<B>Fully associative. \"));\t\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Data TLB %<B>%d-way associative. \"),(TmpInfo[0].dwEAX >>24));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),((TmpInfo[0].dwEAX>>16)&0xff));\n\t\t\t\tswitch((TmpInfo[0].dwEAX >>8)&0xff)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Instruction TLB %<B>Reserved. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Instruction TLB %<B>Direct mapped. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0xff:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Instruction TLB %<B>Fully associative. \"));\t\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 2M/4M Page Instruction TLB %<B>%d-way associative. \"),((TmpInfo[0].dwEAX >>8)&0xff));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),(TmpInfo[0].dwEAX&0xff));\n\t\t\t\tswitch(TmpInfo[0].dwEBX >>24)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Data TLB %<B>Reserved. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Data TLB %<B>Direct mapped. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0xff:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Data TLB %<B>Fully associative. \"));\t\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Data TLB %<B>%d-way associative. \"),(TmpInfo[0].dwEBX >>24));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),((TmpInfo[0].dwEBX>>16)&0xff));\n\t\t\t\tswitch((TmpInfo[0].dwEBX >>8)&0xff)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Instruction TLB %<B>Reserved. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Instruction TLB %<B>Direct mapped. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0xff:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Instruction TLB %<B>Fully associative. \"));\t\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L1 4K Page Instruction TLB %<B>%d-way associative. \"),((TmpInfo[0].dwEBX >>8)&0xff));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),(TmpInfo[0].dwEBX&0xff));\n\t\t\t\tif((TmpInfo[0].dwEDX >> 24))\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"L1 instruction cache %d KB, \"),(TmpInfo[0].dwEDX >> 24));\n\t\t\t\t\tswitch((TmpInfo[0].dwEDX >> 16)&0xff)\n\t\t\t\t\t{\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tOUTPUT(WSTR(\"Direct mapped. \"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 0xff:\n\t\t\t\t\t\tOUTPUT(WSTR(\"Fully associative. \"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tOUTPUT(WSTR(\"%d-way associative. \"),((TmpInfo[0].dwEDX >> 16)&0xff));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tOUTPUT(WSTR(\"cache line %d Bytes\\n\"),(TmpInfo[0].dwEDX&0xff));\n\t\t\t\t}\n\t\t\t\tif((TmpInfo[0].dwECX >> 24))\n\t\t\t\t{\n\t\t\t\t\tOUTPUT(WSTR(\"L1 data cache %d KB, \"),(TmpInfo[0].dwECX >> 24));\n\t\t\t\t\tswitch((TmpInfo[0].dwECX >> 16)&0xff)\n\t\t\t\t\t{\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tOUTPUT(WSTR(\"Direct mapped. \"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 0xff:\n\t\t\t\t\t\tOUTPUT(WSTR(\"Fully associative. \"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tOUTPUT(WSTR(\"%d-way associative. \"),((TmpInfo[0].dwECX >> 16)&0xff));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tOUTPUT(WSTR(\"cache line %d Bytes\\n\"),(TmpInfo[0].dwECX&0xff));\n\t\t\t\t}\n\t\t\t\t//OUTPUT(WSTR(\"L1 data cache %d KB, %d-way associative. cache line %d Bytes\\n\"),(TmpInfo[0].dwECX >> 24),((TmpInfo[0].dwECX >> 16)&0xff),(TmpInfo[0].dwECX&0xff));\n\t\t\t\t//OUTPUT(WSTR(\"EAX=%08x EBX=%08x ECX=%08x EDX=%08x\\n\"),TmpInfo[0].dwEAX,TmpInfo[0].dwEBX,TmpInfo[0].dwECX,TmpInfo[0].dwEDX);\n\t\t\t}\n\t\t\tif(ExtMaxIndex>=0x80000006)\n\t\t\t{\n\t\t\t\tWCHAR* Associative[]={\n\t\t\t\t\tWSTR(\"%<b>The L2 cache disabled.\"),\n\t\t\t\t\t\tWSTR(\"Direct mapped.\"),\n\t\t\t\t\t\tWSTR(\"2-way associative.\"),\n\t\t\t\t\t\tWSTR(\"Reserved\"),\n\t\t\t\t\t\tWSTR(\"4-way associative.\"),\n\t\t\t\t\t\tWSTR(\"Reserved\"),\n\t\t\t\t\t\tWSTR(\"8-way associative.\"),\n\t\t\t\t\t\tWSTR(\"Reserved\"),\n\t\t\t\t\t\tWSTR(\"16-way associative.\"),\n\t\t\t\t\t\tWSTR(\"Reserved\"),\n\t\t\t\t\t\tWSTR(\"32-way associative.\"),\n\t\t\t\t\t\tWSTR(\"48-way associative.\"),\n\t\t\t\t\t\tWSTR(\"64-way associative.\"),\n\t\t\t\t\t\tWSTR(\"96-way associative.\"),\n\t\t\t\t\t\tWSTR(\"128-way associative.\"),\n\t\t\t\t\t\tWSTR(\"Fully associative.\"),\n\t\t\t\t};\n\n\t\t\t\tmemset(TmpInfo,0,sizeof(TmpInfo));\n\t\t\t\tSyserGetCPUID(TmpInfo,0x80000006);\n\t\t\t\t//OUTPUT(WSTR(\"EAX=%08x EBX=%08x ECX=%08x EDX=%08x\\n\"),TmpInfo[0].dwEAX,TmpInfo[0].dwEBX,TmpInfo[0].dwECX,TmpInfo[0].dwEDX);\t\t\t\t\n\t\t\t\tswitch(TmpInfo[0].dwEAX >>28)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 2M/4M Page Data TLB %<B>disabled. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 2M/4M Page Data TLB %<B>%s. \"),Associative[TmpInfo[0].dwEAX >>28]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),((TmpInfo[0].dwEAX>>16)&0xfff));\n\t\t\t\tswitch((TmpInfo[0].dwEAX >>12)&0xf)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 2M/4M Page Instruction TLB %<B>disabled. \"));\n\t\t\t\t\tbreak;\t\t\t\t\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 2M/4M Page Instruction TLB %<B>%s. \"),Associative[((TmpInfo[0].dwEAX >>12)&0xf)]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),(TmpInfo[0].dwEAX&0xfff));\n\t\t\t\tswitch(TmpInfo[0].dwEBX >>28)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 4K Page Data TLB %<B>disabled. \"));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 4K Page Data TLB %<B>%s. \"),Associative[TmpInfo[0].dwEBX >>28]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),((TmpInfo[0].dwEBX>>16)&0xfff));\n\t\t\t\tswitch((TmpInfo[0].dwEBX >>12)&0xf)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 4K Page Instruction TLB %<B>disabled. \"));\n\t\t\t\t\tbreak;\t\t\t\t\n\t\t\t\tdefault:\n\t\t\t\t\tOUTPUT(WSTR(\"L2 4K Page Instruction TLB %<B>%s. \"),Associative[((TmpInfo[0].dwEBX >>12)&0xf)]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\t\t\n\t\t\t\tOUTPUT(WSTR(\"%d entries.\\n\"),(TmpInfo[0].dwEBX&0xfff));\t\t\t\t\n\t\t\t\tOUTPUT(WSTR(\" L2 cache %d KB, %s cache line %d Bytes\\n\"),(TmpInfo[0].dwECX >> 16),Associative[(TmpInfo[0].dwECX >> 12) & 0xf],(TmpInfo[0].dwECX & 0xff));\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"Not Support CPU Feature\\n\"));\n\t}\n\treturn 0;\n}"
  },
  {
    "path": "Project/Syser/Source/cmd_cpuid.h",
    "content": "#ifndef __CMD_CPUID_H__\n#define __CMD_CPUID_H__\nDECLARE_SYSER_CMD(cpuid_command);\n#endif //__CMD_CPUID_H__"
  },
  {
    "path": "Project/Syser/Source/cmd_msr.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Syser.h\"\n#include \"cmd_msr.h\"\n\ntypedef struct _stSMRName\n{\n\tDWORD Index;\n\tWCHAR* Name;\n}SMRNAME;\nSMRNAME MsrName[]=\n{\n\t{0x0,WSTR(\"IA32_P5_MC_ADDR\")},\n\t{0x1,WSTR(\"IA32_P5_MC_TYPE\")},\n\t{0x10,WSTR(\"IA32_TIME_STAMP_COUNTER\")},\n\t{0x11,WSTR(\"CESR\")},\n\t{0x12,WSTR(\"CTR0\")},\n\t{0x13,WSTR(\"CTR1\")},\n\t{0x17,WSTR(\"IA32_PLATFORM_ID\")},\n\t{0x1b,WSTR(\"IA32_APIC_BASE\")},\n\t{0x2A,WSTR(\"EBL_CR_POWERON\")},\n\t{0x2B,WSTR(\"MSR_EBC_SOFT_POWERON\")},\n\t{0x2C,WSTR(\"MSR_EBC_FREQUENCY_ID\")},\t\t\n\t{0x33,WSTR(\"TEST_CTL\")},\n\t{0x3A,WSTR(\"IA32_FEATURE_CONTROL\")},\n\t{0x40,WSTR(\"MSR_LASTBRANCH_0_FROM_IP\")},\n\t{0x41,WSTR(\"MSR_LASTBRANCH_1_FROM_IP\")},\n\t{0x42,WSTR(\"MSR_LASTBRANCH_2_FROM_IP\")},\n\t{0x43,WSTR(\"MSR_LASTBRANCH_3_FROM_IP\")},\n\t{0x44,WSTR(\"MSR_LASTBRANCH_4_FROM_IP\")},\n\t{0x45,WSTR(\"MSR_LASTBRANCH_5_FROM_IP\")},\n\t{0x46,WSTR(\"MSR_LASTBRANCH_6_FROM_IP\")},\n\t{0x47,WSTR(\"MSR_LASTBRANCH_7_FROM_IP\")},\n\t{0x60,WSTR(\"MSR_LASTBRANCH_0_TO_IP\")},\n\t{0x61,WSTR(\"MSR_LASTBRANCH_1_TO_IP\")},\n\t{0x62,WSTR(\"MSR_LASTBRANCH_2_TO_IP\")},\n\t{0x63,WSTR(\"MSR_LASTBRANCH_3_TO_IP\")},\n\t{0x64,WSTR(\"MSR_LASTBRANCH_4_TO_IP\")},\n\t{0x65,WSTR(\"MSR_LASTBRANCH_5_TO_IP\")},\n\t{0x66,WSTR(\"MSR_LASTBRANCH_6_TO_IP\")},\n\t{0x67,WSTR(\"MSR_LASTBRANCH_7_TO_IP\")},\n\t{0x79,WSTR(\"IA32_BIOS_UPDT_TRIG\")},\n\t{0x88,WSTR(\"BBL_CR_D0[63:0]\")},\n\t{0x89,WSTR(\"BBL_CR_D1[63:0]\")},\n\t{0x8A,WSTR(\"BBL_CR_D2[63:0]\")},\n\t{0x8b,WSTR(\"IA32_BIOS_SIGN_ID\")},\n\t{0x9b,WSTR(\"IA32_SMM_MONITOR_CTL\")},\n\t{0xC1,WSTR(\"PerfCtr0 (PERFCTR0)\")},\n\t{0xC2,WSTR(\"PerfCtr1 (PERFCTR1)\")},\n\t{0xfe,WSTR(\"IA32_MTRRCAP\")},\n\t{0x118,WSTR(\"BBL_CR_DECC[63:0]\")},\n\t{0x119,WSTR(\"IA32_MISC_CTL\")},\n\t{0x11A,WSTR(\"BBL_CR_CTL3\")},\n\t{0x11B,WSTR(\"BBL_CR_BUSY\")},\n\t{0x11E,WSTR(\"BBL_CR_CTL3\")},\n\t{0x174,WSTR(\"IA32_SYSENTER_CS\")},\n\t{0x175,WSTR(\"IA32_SYSENTER_ESP\")},\n\t{0x176,WSTR(\"IA32_SYSENTER_EIP\")},\n\t{0x179,WSTR(\"IA32_MCG_CAP\")},\n\t{0x17a,WSTR(\"IA32_MCG_STATUS\")},\n\t{0x17b,WSTR(\"IA32_MCG_CTL\")},\n\t{0x180,WSTR(\"IA32_MCG_EAX\")},\n\t{0x181,WSTR(\"IA32_MCG_EBX\")},\n\t{0x182,WSTR(\"IA32_MCG_ECX\")},\n\t{0x183,WSTR(\"IA32_MCG_EDX\")},\n\t{0x184,WSTR(\"IA32_MCG_EDI\")},\n\t{0x185,WSTR(\"IA32_MCG_ESI\")},\n\t{0x186,WSTR(\"IA32_MCG_EBP\")},\n\t{0x187,WSTR(\"IA32_MCG_ESP\")},\n\t{0x188,WSTR(\"IA32_MCG_EFLAGS\")},\n\t{0x189,WSTR(\"IA32_MCG_EIP\")},\n\t{0x18a,WSTR(\"IA32_MCG_MISC\")},\n\t{0x190,WSTR(\"IA32_MCG_R8\")},\n\t{0x191,WSTR(\"IA32_MCG_R9\")},\n\t{0x192,WSTR(\"IA32_MCG_R10\")},\n\t{0x193,WSTR(\"IA32_MCG_R11\")},\n\t{0x194,WSTR(\"IA32_MCG_R12\")},\n\t{0x195,WSTR(\"IA32_MCG_R13\")},\n\t{0x196,WSTR(\"IA32_MCG_R14\")},\n\t{0x197,WSTR(\"IA32_MCG_R15\")},\n\t{0x198,WSTR(\"IA32_PERF_STATUS\")},\n\t{0x199,WSTR(\"IA32_PERF_CTL\")},\n\t{0x19a,WSTR(\"IA32_CLOCK_MODULATION\")},\n\t{0x19b,WSTR(\"IA32_THERM_INTERRUPT\")},\n\t{0x19c,WSTR(\"IA32_THERM_STATUS\")},\n\t{0x1A0,WSTR(\"IA32_MISC_ENABLE\")},\n\t{0x1C9,WSTR(\"MSR_LASTBRANCH_TOS\")},\n\t{0x1D9,WSTR(\"IA32_DEBUGCTL\")},\n\t{0x1DB,WSTR(\"LASTBRANCHFROMIP\")},\n\t{0x1DC,WSTR(\"LASTBRANCHTOIP\")},\n\t{0x1DD,WSTR(\"LASTINTFROMIP\")},\n\t{0x1DE,WSTR(\"LASTINTTOIP\")},\n\t{0x1E0,WSTR(\"ROB_CR_BKUPTMPDR6\")},\n\t{0x200,WSTR(\"IA32_MTRR_PHYSBASE0\")},\n\t{0x201,WSTR(\"IA32_MTRR_PHYSMASK0\")},\n\t{0x202,WSTR(\"IA32_MTRR_PHYSBASE1\")},\n\t{0x203,WSTR(\"IA32_MTRR_PHYSMASK1\")},\n\t{0x204,WSTR(\"IA32_MTRR_PHYSBASE2\")},\n\t{0x205,WSTR(\"IA32_MTRR_PHYSMASK2\")},\n\t{0x206,WSTR(\"IA32_MTRR_PHYSBASK3\")},\n\t{0x207,WSTR(\"IA32_MTRR_PHYSMASK3\")},\n\t{0x208,WSTR(\"IA32_MTRR_PHYSBASE4\")},\n\t{0x209,WSTR(\"IA32_MTRR_PHYSMASK4\")},\n\t{0x20a,WSTR(\"IA32_MTRR_PHYSBASE5\")},\n\t{0x20b,WSTR(\"IA32_MTRR_PHYSMASK5\")},\n\t{0x20c,WSTR(\"IA32_MTRR_PHYSBASE6\")},\n\t{0x20d,WSTR(\"IA32_MTRR_PHYSMASK6\")},\n\t{0x20e,WSTR(\"IA32_MTRR_PHYSBASE7\")},\n\t{0x20f,WSTR(\"IA32_MTRR_PHYSMASK7\")},\n\t{0x250,WSTR(\"IA32_MTRR_FIX64K_00000\")},\n\t{0x258,WSTR(\"IA32_MTRR_FIX16K_80000\")},\n\t{0x259,WSTR(\"IA32_MTRR_FIX16K_A0000\")},\n\t{0x268,WSTR(\"IA32_MTRR_FIX4K_C0000\")},\n\t{0x269,WSTR(\"IA32_MTRR_FIX4K_C8000\")},\n\t{0x26a,WSTR(\"IA32_MTRR_FIX4K_E0000\")},\n\t{0x26b,WSTR(\"IA32_MTRR_FIX4K_D8000\")},\n\t{0x26c,WSTR(\"IA32_MTRR_FIX4K_E0000\")},\n\t{0x26d,WSTR(\"IA32_MTRR_FIX4K_E8000\")},\n\t{0x26e,WSTR(\"IA32_MTRR_FIX4K_F0000\")},\n\t{0x26f,WSTR(\"IA32_MTRR_FIX4K_F8000\")},\n\t{0x277,WSTR(\"IA32_CR_PAT\")},\n\t{0x2ff,WSTR(\"IA32_MTRR_DEF_TYPE\")},\n\t{0x3f1,WSTR(\"IA32_PEBS_ENABLE\")},\n\t{0x400,WSTR(\"IA32_MC0_CTL\")},\n\t{0x401,WSTR(\"IA32_MC0_STATUS\")},\n\t{0x402,WSTR(\"IA32_MC0_ADDR\")},\n\t{0x403,WSTR(\"IA32_MC0_MISC\")},\n\t{0x404,WSTR(\"IA32_MC1_CTL\")},\n\t{0x405,WSTR(\"IA32_MC1_STATUS\")},\n\t{0x406,WSTR(\"IA32_MC1_ADDR\")},\n\t{0x407,WSTR(\"IA32_MC1_MISC\")},\n\t{0x408,WSTR(\"IA32_MC2_CTL\")},\n\t{0x409,WSTR(\"IA32_MC2_STATUS\")},\n\t{0x40a,WSTR(\"IA32_MC2_ADDR\")},\n\t{0x40b,WSTR(\"IA32_MC2_MISC\")},\n\t{0x40c,WSTR(\"IA32_MC3_CTL\")},\n\t{0x40d,WSTR(\"IA32_MC3_STATUS\")},\n\t{0x40e,WSTR(\"IA32_MC3_ADDR\")},\n\t{0x40f,WSTR(\"IA32_MC3_MISC\")},\n\t{0x410,WSTR(\"IA32_MC4_CTL\")},\n\t{0x411,WSTR(\"IA32_MC4_STATUS\")},\n\t{0x412,WSTR(\"IA32_MC4_ADDR\")},\n\t{0x413,WSTR(\"IA32_MC4_MISC\")},\n\t{0x480,WSTR(\"IA32_VMX_BASIC\")},\n\t{0x481,WSTR(\"IA32_VMX_PINBASED_CTL\")},\n\t{0x482,WSTR(\"IA32_VMX_PROCBASED_C\")},\n\t{0x483,WSTR(\"IA32_VMX_EXIT_CTLS\")},\n\t{0x484,WSTR(\"IA32_VMX_ENTRY_CTLS\")},\n\t{0x485,WSTR(\"IA32_VMX_MISC_CTLS\")},\n\t{0x486,WSTR(\"IA32_VMX_CRO_FIXED0\")},\n\t{0x487,WSTR(\"IA32_VMX_CRO_FIXED1\")},\n\t{0x488,WSTR(\"IA32_VMX_CR4_FIXED0\")},\n\t{0x489,WSTR(\"IA32_VMX_CR4_FIXED1\")},\n\t{0x48A,WSTR(\"IA32_VMX_VMCS_ENUM\")},\n\t{0x600,WSTR(\"IA32_DS_AREA\")},\n\t{0x680,WSTR(\"MSR_LASTBRANCH_0_FROM_LIP\")},\n\t{0x681,WSTR(\"MSR_LASTBRANCH_1_FROM_LIP\")},\n\t{0x682,WSTR(\"MSR_LASTBRANCH_2_FROM_LIP\")},\n\t{0x683,WSTR(\"MSR_LASTBRANCH_3_FROM_LIP\")},\n\t{0x684,WSTR(\"MSR_LASTBRANCH_4_FROM_LIP\")},\n\t{0x685,WSTR(\"MSR_LASTBRANCH_5_FROM_LIP\")},\n\t{0x686,WSTR(\"MSR_LASTBRANCH_6_FROM_LIP\")},\n\t{0x687,WSTR(\"MSR_LASTBRANCH_7_FROM_LIP\")},\n\t{0x688,WSTR(\"MSR_LASTBRANCH_8_FROM_LIP\")},\n\t{0x689,WSTR(\"MSR_LASTBRANCH_9_FROM_LIP\")},\n\t{0x68a,WSTR(\"MSR_LASTBRANCH_10_FROM_LIP\")},\n\t{0x68b,WSTR(\"MSR_LASTBRANCH_11_FROM_LIP\")},\n\t{0x68c,WSTR(\"MSR_LASTBRANCH_12_FROM_LIP\")},\n\t{0x68d,WSTR(\"MSR_LASTBRANCH_13_FROM_LIP\")},\n\t{0x68e,WSTR(\"MSR_LASTBRANCH_14_FROM_LIP\")},\n\t{0x68f,WSTR(\"MSR_LASTBRANCH_15_FROM_LIP\")},\t\n\t{0x6c0,WSTR(\"MSR_LASTBRANCH_0_TO_LIP\")},\n\t{0x6c1,WSTR(\"MSR_LASTBRANCH_1_TO_LIP\")},\n\t{0x6c2,WSTR(\"MSR_LASTBRANCH_2_TO_LIP\")},\n\t{0x6c3,WSTR(\"MSR_LASTBRANCH_3_TO_LIP\")},\n\t{0x6c4,WSTR(\"MSR_LASTBRANCH_4_TO_LIP\")},\n\t{0x6c5,WSTR(\"MSR_LASTBRANCH_5_TO_LIP\")},\n\t{0x6c6,WSTR(\"MSR_LASTBRANCH_6_TO_LIP\")},\n\t{0x6c7,WSTR(\"MSR_LASTBRANCH_7_TO_LIP\")},\n\t{0x6c8,WSTR(\"MSR_LASTBRANCH_8_TO_LIP\")},\n\t{0x6c9,WSTR(\"MSR_LASTBRANCH_9_TO_LIP\")},\n\t{0x6ca,WSTR(\"MSR_LASTBRANCH_10_TO_LIP\")},\n\t{0x6cb,WSTR(\"MSR_LASTBRANCH_11_TO_LIP\")},\n\t{0x6cc,WSTR(\"MSR_LASTBRANCH_12_TO_LIP\")},\n\t{0x6cd,WSTR(\"MSR_LASTBRANCH_13_TO_LIP\")},\n\t{0x6ce,WSTR(\"MSR_LASTBRANCH_14_TO_LIP\")},\n\t{0x6cf,WSTR(\"MSR_LASTBRANCH_15_TO_LIP\")},\t\n\t{0x107cc,WSTR(\"MSR_IFSB_BUSQ0\")},\t\n\t{0x107cd,WSTR(\"MSR_IFSB_BUSQ1\")},\t\n\t{0x107ce,WSTR(\"MSR_IFSB_SNPQ0\")},\t\n\t{0x107cf,WSTR(\"MSR_IFSB_SNPQ1\")},\t\n\t{0x107d0,WSTR(\"MSR_IFSB_DRDY0\")},\t\n\t{0x107d1,WSTR(\"MSR_IFSB_DRDY1\")},\t\n\t{0x107d2,WSTR(\"MSR_IFSB_CTL6\")},\t\n\t{0x107d3,WSTR(\"MSR_IFSB_CNTR7\")},\t\n\t{0xC0000080,WSTR(\"IA32_EFER\")},\n\t{0xC0000081,WSTR(\"IA32_STAR\")},\n\t{0xC0000082,WSTR(\"IA32_LSTAR\")},\n\t{0xC0000083,WSTR(\"IA32_CSTAR\")},\n\t{0xC0000084,WSTR(\"IA32_FMASK\")},\n\t{0xC0000100,WSTR(\"IA32_FS_BASE\")},\n\t{0xC0000101,WSTR(\"IA32_GS_BASE\")},\n\t{0xC0000102,WSTR(\"IA32_KERNEL_GS_BASE\")},\n\t{0xC0000103,WSTR(\"TSC_AUX\")},\n\t{0xC0000408,WSTR(\"MC4_MISC1\")},\n\t{0xC0000409,WSTR(\"MC4_MISC2\")},\n\t{0xC000040a,WSTR(\"MC4_MISC3\")},\n\t\n\t{0xC0010000,WSTR(\"PerfEvtSel0\")},\n\t{0xC0010001,WSTR(\"PerfEvtSel1\")},\n\t{0xC0010002,WSTR(\"PerfEvtSel2\")},\n\t{0xC0010003,WSTR(\"PerfEvtSel3\")},\n\t{0xC0010004,WSTR(\"PerfCtr0\")},\n\t{0xC0010005,WSTR(\"PerfCtr1\")},\n\t{0xC0010006,WSTR(\"PerfCtr2\")},\n\t{0xC0010007,WSTR(\"PerfCtr3\")},\n\t{0xC0010010,WSTR(\"SYSCFG\")},\n\t{0xC0010016,WSTR(\"IORRBase0\")},\n\t{0xC0010017,WSTR(\"IORRMask0\")},\n\t{0xC0010018,WSTR(\"IORRBase1\")},\n\t{0xC0010019,WSTR(\"IORRMask1\")},\n\t{0xC001001a,WSTR(\"TOP_MEM\")},\n\t{0xC001001d,WSTR(\"TOP_MEM2\")},\n\t{0xC0010030,WSTR(\"Processor_Name_String\")},\n\t{0xC0010031,WSTR(\"Processor_Name_String\")},\n\t{0xC0010032,WSTR(\"Processor_Name_String\")},\n\t{0xC0010033,WSTR(\"Processor_Name_String\")},\n\t{0xC0010034,WSTR(\"Processor_Name_String\")},\n\t{0xC0010035,WSTR(\"Processor_Name_String\")},\n\t{0xC0010061,WSTR(\"P-State Current Limit\")},\n\t{0xC0010062,WSTR(\"P-State Control\")},\n\t{0xC0010063,WSTR(\"P-State Status\")},\n\t{0xC0010074,WSTR(\"CPU_Watchdog_Timer\")},\n\t{0xC0010111,WSTR(\"SMBASE\")},\n\t{0xC0010112,WSTR(\"SMM_ADDR\")},\n\t{0xC0010113,WSTR(\"SMM_MASK\")},\n\t{0xC0010114,WSTR(\"VM_CR\")},\n\t{0xC0010115,WSTR(\"IGNNE\")},\n\t{0xC0010116,WSTR(\"SMM_CTL\")},\n\t{0xC0010117,WSTR(\"VM_HSAVE_PA\")},\n\t{0xC0010118,WSTR(\"SVM_KEY_MSR\")},\n\t{0xC0010119,WSTR(\"SMM_KEY_MSR\")},\n\t{0xC001011a,WSTR(\"Local_SMI_Status\")},\n\t{0xC0010056,WSTR(\"SMI_Trigger_IO_Cycle\")},\n\t{0xC0010140,WSTR(\"OSVW_ID_Length\")},\t\n\t{0xC0010141,WSTR(\"OSVM Status\")},\n};\nWCHAR *GetMSRName(int dwIndex)\n{\n\tint j,i;\n\tj =sizeof(MsrName)/sizeof(MsrName[0]);\n\tfor(i =0; i<j;i++)\n\t{\n\t\tif(MsrName[i].Index==dwIndex)\n\t\t\treturn MsrName[i].Name;\n\t}\n\treturn NULL;\n}\nint msr_command(int argc, WCHAR *argv[],PCWSTR szCommandLine,CSyser*pSyser)\n{\n\tDWORD dwHighDword,dwLowDword;\n\tDWORD dwBeginIndex,dwCount;\n\tDWORD dwTmp,dwTmp2;\n\tint j;\n\tbool bWrite;\n\tWCHAR* Title=WSTR(\"Reg       Value                   Acc ID Name                   Description\\n\");\n\tbool bTitleShow;\n\tdwHighDword=0xffffffff;\n\tdwLowDword=0xffffffff;\n\tbool bUndocument;\n\tWCHAR* Format=WSTR(\"%-10x%08x:%08x   %s%-30s%s\\n\");\n\n\tbTitleShow=true\t;\n\tbWrite=false;\n\tbUndocument=false;\n\tdwCount=0xffffffff;\n\tdwBeginIndex=0;\n\tif(argc >= 2)\n\t{\n\t\tif(TStrICmp(argv[1],WSTR(\"-w\"))==0)\n\t\t{\t\t\t\n\t\t\tbWrite=true;\n\t\t\tif(argc==2 || argc==3)\n\t\t\t\treturn 0;\n\t\t\tif(CALCEXP(argv[2],&dwBeginIndex)==FALSE)\n\t\t\t{\n\t\t\t\tOUTPUT(WSTR(\"Syser: Input error!\\n\"));\n\t\t\t\treturn 0;\n\t\t\t}\t\t\t\t\t\t\n\t\t\tdwHighDword=0,dwLowDword=0;\n\t\t\tif(SyserReadMSR(dwBeginIndex,&dwHighDword,&dwLowDword)==false)\n\t\t\t\treturn 0;\t\t\n\n\t\t\tif(argc==4)\n\t\t\t{\n\t\t\t\tif(CALCEXP(argv[3],&dwTmp)==true)\n\t\t\t\t{\n\t\t\t\t\tdwLowDword=dwTmp;\n\t\t\t\t\tSyserWriteMSR(dwBeginIndex,dwHighDword,dwLowDword);\t\t\t\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tdwTmp2=dwTmp=0xffffffff;\n\t\t\tif(CALCEXP(argv[4],&dwTmp)==true)\n\t\t\t\tdwLowDword=dwTmp;\n\t\t\tif(CALCEXP(argv[3],&dwTmp2)==true)\n\t\t\t\tdwHighDword=dwTmp2;\n\t\t\tif(dwLowDword==dwTmp || dwHighDword==dwTmp2)\n\t\t\t{\n\t\t\t\tSyserWriteMSR(dwBeginIndex,dwHighDword,dwLowDword);\t\t\t\t\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\tdwCount=1;\n\t\tDWORD delt;\n\t\tdwBeginIndex=0;\n\n\t\tif(TStrICmp(argv[1],WSTR(\"-u\"))==0)\n\t\t{\n\t\t\tdelt=1;\n\t\t\tbUndocument=true;\n\t\t}\n\t\telse\n\t\t\tdelt=0;\n\t\tif(argc==delt+2)\n\t\t{\n\t\t\tif(CALCEXP(argv[1+delt],&dwTmp2)==true)\n\t\t\t\tdwBeginIndex=dwTmp2;\n\t\t}else\n\t\t\tif(argc==delt+3)\n\t\t\t{\n\t\t\t\tif(CALCEXP(argv[1+delt],&dwTmp2)==true)\n\t\t\t\t\tdwBeginIndex=dwTmp2;\n\t\t\t\tif(CALCEXP(argv[2+delt],&dwTmp)==true)\n\t\t\t\t\tdwCount=dwTmp-dwBeginIndex;\n\t\t\t}else\n\t\t\t\tdwCount=0xffffffff;\n\t}\n\tif(dwCount==0xffffffff)\t\t\n\t{\n\t\tj =sizeof(MsrName)/sizeof(MsrName[0]);\n\t\tfor(int i=0;i<j;i++)\n\t\t{\n\t\t\tdwHighDword=0,dwLowDword=0;\n\t\t\tif(SyserReadMSR(MsrName[i].Index,&dwHighDword,&dwLowDword))\n\t\t\t{\n\t\t\t\tif(bTitleShow==true)\n\t\t\t\t{\n\t\t\t\t\tbTitleShow=false;\n\t\t\t\t\tOUTPUT(Title);\n\t\t\t\t}\n\t\t\t\tOUTPUT(Format,MsrName[i].Index,dwHighDword,dwLowDword,WSTR(\"    \"),MsrName[i].Name,WSTR(\"A\"));\n\t\t\t}\n\t\t\telse\n\t\t\t\tif(bUndocument)\n\t\t\t\t\tOUTPUT(WSTR(\"Syser: Error reading MSR %x\\n\"),i);\n\t\t}\n\t}\n\telse\n\t{\n\t\tfor(int i = (int)dwBeginIndex,j=0;j<(int)dwCount;j++,i++)\n\t\t{\n\t\t\tdwHighDword=0,dwLowDword=0;\n\t\t\tif(SyserReadMSR(i,&dwHighDword,&dwLowDword))\n\t\t\t{\n\t\t\t\tWCHAR *name;\n\t\t\t\tname =GetMSRName(i);\n\t\t\t\tif(bTitleShow==true)\n\t\t\t\t{\n\t\t\t\t\tbTitleShow=false;\n\t\t\t\t\tOUTPUT(Title);\n\t\t\t\t}\n\t\t\t\tif(name==NULL)\n\t\t\t\t\tOUTPUT(Format,i,dwHighDword,dwLowDword,WSTR(\"    \"),WSTR(\"\"),WSTR(\"A\"));\n\t\t\t\telse\n\t\t\t\t\tOUTPUT(Format,i,dwHighDword,dwLowDword,WSTR(\"    \"),name,WSTR(\"A\"));\n\t\t\t}\n\t\t\telse\n\t\t\t\tif(bUndocument)\n\t\t\t\t\tOUTPUT(WSTR(\"Syser: Error reading MSR %x\\n\"),i);\n\t\t}\n\t}\n\treturn 0;\n}"
  },
  {
    "path": "Project/Syser/Source/cmd_msr.h",
    "content": "#ifndef __CMD_CPUID_H__\n#define __CMD_CPUID_H__\nDECLARE_SYSER_CMD(msr_command);\n#endif //__CMD_CPUID_H__"
  },
  {
    "path": "Project/Syser/Source/pci.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"X86Optr.h\"\n\n\npci_ops pci_direct_conf1 = { \n\tpci_conf1_read_config_byte,\n\tpci_conf1_read_config_word,\n\tpci_conf1_read_config_dword,\n\tpci_conf1_write_config_byte,\n\tpci_conf1_write_config_word,\n\tpci_conf1_write_config_dword\n};\n   pci_ops pci_direct_conf2 = {\n\tpci_conf2_read_config_byte,\n\tpci_conf2_read_config_word,\n\tpci_conf2_read_config_dword,\n\tpci_conf2_write_config_byte,\n\tpci_conf2_write_config_word,\n\tpci_conf2_write_config_dword\n};\npci_ops *CurrentPCI=NULL;\n#if 1\n#define CONFIG_CMD(dev, where)   (0x80000000 | (dev->bus << 16) | (dev->devfn << 8) | (where & ~3))\n\n int pci_conf1_read_config_byte( pci_dev *dev, int where, u8 *value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);\n\t*value = inb(0xCFC + (where&3));\n\treturn 0;\n}\n\n int pci_conf1_read_config_word( pci_dev *dev, int where, u16 *value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);    \n\t*value = inw(0xCFC + (where&2));\n\treturn 0;    \n}\n\n int pci_conf1_read_config_dword( pci_dev *dev, int where, u32 *value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);\n\t*value = inl(0xCFC);\n\treturn 0;    \n}\n\n int pci_conf1_write_config_byte( pci_dev *dev, int where, u8 value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);    \n\toutb(value, 0xCFC + (where&3));\n\treturn 0;\n}\n\n int pci_conf1_write_config_word( pci_dev *dev, int where, u16 value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);\n\toutw(value, 0xCFC + (where&2));\n\treturn 0;\n}\n\n int pci_conf1_write_config_dword( pci_dev *dev, int where, u32 value)\n{\n\toutl(CONFIG_CMD(dev,where), 0xCF8);\n\toutl(value, 0xCFC);\n\treturn 0;\n}\n\n#undef CONFIG_CMD\n\n\n\n/*\n * Functions for accessing PCI configuration space with type 2 accesses\n */\n\n#define IOADDR(devfn, where)\t((0xC000 | ((devfn & 0x78) << 5)) + where)\n#define FUNC(devfn)\t\t(((devfn & 7) << 1) | 0xf0)\n#define SET(dev)\t\tif (dev->devfn & 0x80) return PCIBIOS_DEVICE_NOT_FOUND;\t\t\\\n\t\t\t\toutb((BYTE)FUNC(dev->devfn), 0xCF8);\t\t\t\t\t\\\n\t\t\t\toutb((BYTE)dev->bus, 0xCFA);\n\n int pci_conf2_read_config_byte( pci_dev *dev, int where, u8 *value)\n{\n\tSET(dev);\n\t*value = inb(IOADDR(dev->devfn,where));\n\toutb (0, 0xCF8);\n\treturn 0;\n}\n\n int pci_conf2_read_config_word( pci_dev *dev, int where, u16 *value)\n{\n\tSET(dev);\n\t*value = inw(IOADDR(dev->devfn,where));\n\toutb (0, 0xCF8);\n\treturn 0;\n}\n\n int pci_conf2_read_config_dword( pci_dev *dev, int where, u32 *value)\n{\n\tSET(dev);\n\t*value = inl (IOADDR(dev->devfn,where));    \n\toutb (0, 0xCF8);    \n\treturn 0;\n}\n\n int pci_conf2_write_config_byte( pci_dev *dev, int where, u8 value)\n{\n\tSET(dev);\n\toutb (value, IOADDR(dev->devfn,where));\n\toutb (0, 0xCF8);    \n\treturn 0;\n}\n\n int pci_conf2_write_config_word( pci_dev *dev, int where, u16 value)\n{\n\tSET(dev);\n\toutw (value, IOADDR(dev->devfn,where));\n\toutb (0, 0xCF8);    \n\treturn 0;\n}\n\n int pci_conf2_write_config_dword( pci_dev *dev, int where, u32 value)\n{\n\tSET(dev);\n\toutl (value, IOADDR(dev->devfn,where));    \n\toutb (0, 0xCF8);    \n\treturn 0;\n}\n\n#undef SET\n#undef IOADDR\n#undef FUNC\n\n\n/*\n * Before we decide to use direct hardware access mechanisms, we try to do some\n * trivial checks to ensure it at least _seems_ to be working -- we just test\n * whether bus 00 contains a host bridge (this is similar to checking\n * techniques used in XFree86, but ours should be more reliable since we\n * attempt to make use of direct access hints provided by the PCI BIOS).\n *\n * This should be close to trivial, but it isn't, because there are buggy\n * chipsets (yes, you guessed it, by Intel and Compaq) that have no class ID.\n */\n int  pci_sanity_check( pci_ops *ops)\n{\n\tu16 x;\n\t pci_dev dev;\n\n\tdev.bus = 0;\n\tfor(dev.devfn=0; dev.devfn < 0x100; dev.devfn++)\n\t{\n\t\tif ((!ops->read_word(&dev, PCI_CLASS_DEVICE, &x) && (x == PCI_CLASS_BRIDGE_HOST || x == PCI_CLASS_DISPLAY_VGA)) || (!ops->read_word(&dev, PCI_VENDOR_ID, &x) && (x == PCI_VENDOR_ID_INTEL || x == PCI_VENDOR_ID_COMPAQ)))\n\t\t\treturn 1;\n\t}\n\treturn 0;\n}\n\npci_ops *  pci_init(void)\n{\n\tunsigned int tmp;\n\tULONG_PTR\tFlags;\n\tSyserSaveFlags(&Flags);\n\tSyserCloseInterrupt();\n\t\n\t/*\n\t * Check if configuration type 1 works.\n\t */\n\n\toutb (0x01, 0xCFB);\n\ttmp = inl (0xCF8);\n\toutl (0x80000000, 0xCF8);\n\tif (inl (0xCF8) == 0x80000000 &&\n\t\tpci_sanity_check(&pci_direct_conf1)) {\n\t\toutl (tmp, 0xCF8);\n\t\tSyserRestoreFlags(Flags);\n\t\treturn &pci_direct_conf1;\n\t}\n\toutl (tmp, 0xCF8);\n\n\n\t/*\n\t * Check if configuration type 2 works.\n\t */\n\n\toutb (0x00, 0xCFB);\n\toutb (0x00, 0xCF8);\n\toutb (0x00, 0xCFA);\n\tif (inb (0xCF8) == 0x00 && inb (0xCFA) == 0x00 &&\n\t\tpci_sanity_check(&pci_direct_conf2)) {\n\t\tSyserRestoreFlags(Flags);\n\t\treturn &pci_direct_conf2;\n\t}\n\tSyserRestoreFlags(Flags);\n\treturn NULL;\n}\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/pci.h",
    "content": "#ifndef LINUX_PCI_H\n#define LINUX_PCI_H\n\n/*\n * Under PCI, each device has 256 bytes of configuration address space,\n * of which the first 64 bytes are standardized as follows:\n */\n#define PCI_VENDOR_ID\t\t0x00\t/* 16 bits */\n#define PCI_DEVICE_ID\t\t0x02\t/* 16 bits */\n#define PCI_COMMAND\t\t0x04\t/* 16 bits */\n#define  PCI_COMMAND_IO\t\t0x1\t/* Enable response in I/O space */\n#define  PCI_COMMAND_MEMORY\t0x2\t/* Enable response in Memory space */\n#define  PCI_COMMAND_MASTER\t0x4\t/* Enable bus mastering */\n#define  PCI_COMMAND_SPECIAL\t0x8\t/* Enable response to special cycles */\n#define  PCI_COMMAND_INVALIDATE\t0x10\t/* Use memory write and invalidate */\n#define  PCI_COMMAND_VGA_PALETTE 0x20\t/* Enable palette snooping */\n#define  PCI_COMMAND_PARITY\t0x40\t/* Enable parity checking */\n#define  PCI_COMMAND_WAIT \t0x80\t/* Enable address/data stepping */\n#define  PCI_COMMAND_SERR\t0x100\t/* Enable SERR */\n#define  PCI_COMMAND_FAST_BACK\t0x200\t/* Enable back-to-back writes */\n\n#define PCI_STATUS\t\t0x06\t/* 16 bits */\n#define  PCI_STATUS_CAP_LIST\t0x10\t/* Support Capability List */\n#define  PCI_STATUS_66MHZ\t0x20\t/* Support 66 Mhz PCI 2.1 bus */\n#define  PCI_STATUS_UDF\t\t0x40\t/* Support User Definable Features [obsolete] */\n#define  PCI_STATUS_FAST_BACK\t0x80\t/* Accept fast-back to back */\n#define  PCI_STATUS_PARITY\t0x100\t/* Detected parity error */\n#define  PCI_STATUS_DEVSEL_MASK\t0x600\t/* DEVSEL timing */\n#define  PCI_STATUS_DEVSEL_FAST\t0x000\t\n#define  PCI_STATUS_DEVSEL_MEDIUM 0x200\n#define  PCI_STATUS_DEVSEL_SLOW 0x400\n#define  PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */\n#define  PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of \" */\n#define  PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */\n#define  PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */\n#define  PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */\n\n#define PCI_CLASS_REVISION\t0x08\t/* High 24 bits are class, low 8\n\t\t\t\t\t   revision */\n#define PCI_REVISION_ID         0x08    /* Revision ID */\n#define PCI_CLASS_PROG          0x09    /* Reg. Level Programming Interface */\n#define PCI_CLASS_DEVICE        0x0a    /* Device class */\n\n#define PCI_CACHE_LINE_SIZE\t0x0c\t/* 8 bits */\n#define PCI_LATENCY_TIMER\t0x0d\t/* 8 bits */\n#define PCI_HEADER_TYPE\t\t0x0e\t/* 8 bits */\n#define  PCI_HEADER_TYPE_NORMAL\t0\n#define  PCI_HEADER_TYPE_BRIDGE 1\n#define  PCI_HEADER_TYPE_CARDBUS 2\n\n#define PCI_BIST\t\t0x0f\t/* 8 bits */\n#define PCI_BIST_CODE_MASK\t0x0f\t/* Return result */\n#define PCI_BIST_START\t\t0x40\t/* 1 to start BIST, 2 secs or less */\n#define PCI_BIST_CAPABLE\t0x80\t/* 1 if BIST capable */\n\n/*\n * Base addresses specify locations in memory or I/O space.\n * Decoded size can be determined by writing a value of \n * 0xffffffff to the register, and reading it back.  Only \n * 1 bits are decoded.\n */\n#define PCI_BASE_ADDRESS_0\t0x10\t/* 32 bits */\n#define PCI_BASE_ADDRESS_1\t0x14\t/* 32 bits [htype 0,1 only] */\n#define PCI_BASE_ADDRESS_2\t0x18\t/* 32 bits [htype 0 only] */\n#define PCI_BASE_ADDRESS_3\t0x1c\t/* 32 bits */\n#define PCI_BASE_ADDRESS_4\t0x20\t/* 32 bits */\n#define PCI_BASE_ADDRESS_5\t0x24\t/* 32 bits */\n#define  PCI_BASE_ADDRESS_SPACE\t0x01\t/* 0 = memory, 1 = I/O */\n#define  PCI_BASE_ADDRESS_SPACE_IO 0x01\n#define  PCI_BASE_ADDRESS_SPACE_MEMORY 0x00\n#define  PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06\n#define  PCI_BASE_ADDRESS_MEM_TYPE_32\t0x00\t/* 32 bit address */\n#define  PCI_BASE_ADDRESS_MEM_TYPE_1M\t0x02\t/* Below 1M [obsolete] */\n#define  PCI_BASE_ADDRESS_MEM_TYPE_64\t0x04\t/* 64 bit address */\n#define  PCI_BASE_ADDRESS_MEM_PREFETCH\t0x08\t/* prefetchable? */\n#define  PCI_BASE_ADDRESS_MEM_MASK\t(~0x0fUL)\n#define  PCI_BASE_ADDRESS_IO_MASK\t(~0x03UL)\n/* bit 1 is reserved if address_space = 1 */\n\n/* Header type 0 (normal devices) */\n#define PCI_CARDBUS_CIS\t\t0x28\n#define PCI_SUBSYSTEM_VENDOR_ID\t0x2c\n#define PCI_SUBSYSTEM_ID\t0x2e  \n#define PCI_ROM_ADDRESS\t\t0x30\t/* Bits 31..11 are address, 10..1 reserved */\n#define  PCI_ROM_ADDRESS_ENABLE\t0x01\n#define PCI_ROM_ADDRESS_MASK\t(~0x7ffUL)\n\n#define PCI_CAPABILITY_LIST\t0x34\t/* Offset of first capability list entry */\n\n/* 0x35-0x3b are reserved */\n#define PCI_INTERRUPT_LINE\t0x3c\t/* 8 bits */\n#define PCI_INTERRUPT_PIN\t0x3d\t/* 8 bits */\n#define PCI_MIN_GNT\t\t0x3e\t/* 8 bits */\n#define PCI_MAX_LAT\t\t0x3f\t/* 8 bits */\n\n/* Header type 1 (PCI-to-PCI bridges) */\n#define PCI_PRIMARY_BUS\t\t0x18\t/* Primary bus number */\n#define PCI_SECONDARY_BUS\t0x19\t/* Secondary bus number */\n#define PCI_SUBORDINATE_BUS\t0x1a\t/* Highest bus number behind the bridge */\n#define PCI_SEC_LATENCY_TIMER\t0x1b\t/* Latency timer for secondary interface */\n#define PCI_IO_BASE\t\t0x1c\t/* I/O range behind the bridge */\n#define PCI_IO_LIMIT\t\t0x1d\n#define  PCI_IO_RANGE_TYPE_MASK\t0x0f\t/* I/O bridging type */\n#define  PCI_IO_RANGE_TYPE_16\t0x00\n#define  PCI_IO_RANGE_TYPE_32\t0x01\n#define  PCI_IO_RANGE_MASK\t~0x0f\n#define PCI_SEC_STATUS\t\t0x1e\t/* Secondary status register, only bit 14 used */\n#define PCI_MEMORY_BASE\t\t0x20\t/* Memory range behind */\n#define PCI_MEMORY_LIMIT\t0x22\n#define  PCI_MEMORY_RANGE_TYPE_MASK 0x0f\n#define  PCI_MEMORY_RANGE_MASK\t~0x0f\n#define PCI_PREF_MEMORY_BASE\t0x24\t/* Prefetchable memory range behind */\n#define PCI_PREF_MEMORY_LIMIT\t0x26\n#define  PCI_PREF_RANGE_TYPE_MASK 0x0f\n#define  PCI_PREF_RANGE_TYPE_32\t0x00\n#define  PCI_PREF_RANGE_TYPE_64\t0x01\n#define  PCI_PREF_RANGE_MASK\t~0x0f\n#define PCI_PREF_BASE_UPPER32\t0x28\t/* Upper half of prefetchable memory range */\n#define PCI_PREF_LIMIT_UPPER32\t0x2c\n#define PCI_IO_BASE_UPPER16\t0x30\t/* Upper half of I/O addresses */\n#define PCI_IO_LIMIT_UPPER16\t0x32\n/* 0x34 same as for htype 0 */\n/* 0x35-0x3b is reserved */\n#define PCI_ROM_ADDRESS1\t0x38\t/* Same as PCI_ROM_ADDRESS, but for htype 1 */\n/* 0x3c-0x3d are same as for htype 0 */\n#define PCI_BRIDGE_CONTROL\t0x3e\n#define  PCI_BRIDGE_CTL_PARITY\t0x01\t/* Enable parity detection on secondary interface */\n#define  PCI_BRIDGE_CTL_SERR\t0x02\t/* The same for SERR forwarding */\n#define  PCI_BRIDGE_CTL_NO_ISA\t0x04\t/* Disable bridging of ISA ports */\n#define  PCI_BRIDGE_CTL_VGA\t0x08\t/* Forward VGA addresses */\n#define  PCI_BRIDGE_CTL_MASTER_ABORT 0x20  /* Report master aborts */\n#define  PCI_BRIDGE_CTL_BUS_RESET 0x40\t/* Secondary bus reset */\n#define  PCI_BRIDGE_CTL_FAST_BACK 0x80\t/* Fast Back2Back enabled on secondary interface */\n\n/* Header type 2 (CardBus bridges) */\n#define PCI_CB_CAPABILITY_LIST\t0x14\n/* 0x15 reserved */\n#define PCI_CB_SEC_STATUS\t0x16\t/* Secondary status */\n#define PCI_CB_PRIMARY_BUS\t0x18\t/* PCI bus number */\n#define PCI_CB_CARD_BUS\t\t0x19\t/* CardBus bus number */\n#define PCI_CB_SUBORDINATE_BUS\t0x1a\t/* Subordinate bus number */\n#define PCI_CB_LATENCY_TIMER\t0x1b\t/* CardBus latency timer */\n#define PCI_CB_MEMORY_BASE_0\t0x1c\n#define PCI_CB_MEMORY_LIMIT_0\t0x20\n#define PCI_CB_MEMORY_BASE_1\t0x24\n#define PCI_CB_MEMORY_LIMIT_1\t0x28\n#define PCI_CB_IO_BASE_0\t0x2c\n#define PCI_CB_IO_BASE_0_HI\t0x2e\n#define PCI_CB_IO_LIMIT_0\t0x30\n#define PCI_CB_IO_LIMIT_0_HI\t0x32\n#define PCI_CB_IO_BASE_1\t0x34\n#define PCI_CB_IO_BASE_1_HI\t0x36\n#define PCI_CB_IO_LIMIT_1\t0x38\n#define PCI_CB_IO_LIMIT_1_HI\t0x3a\n#define  PCI_CB_IO_RANGE_MASK\t~0x03\n/* 0x3c-0x3d are same as for htype 0 */\n#define PCI_CB_BRIDGE_CONTROL\t0x3e\n#define  PCI_CB_BRIDGE_CTL_PARITY\t0x01\t/* Similar to standard bridge control register */\n#define  PCI_CB_BRIDGE_CTL_SERR\t\t0x02\n#define  PCI_CB_BRIDGE_CTL_ISA\t\t0x04\n#define  PCI_CB_BRIDGE_CTL_VGA\t\t0x08\n#define  PCI_CB_BRIDGE_CTL_MASTER_ABORT\t0x20\n#define  PCI_CB_BRIDGE_CTL_CB_RESET\t0x40\t/* CardBus reset */\n#define  PCI_CB_BRIDGE_CTL_16BIT_INT\t0x80\t/* Enable interrupt for 16-bit cards */\n#define  PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x100\t/* Prefetch enable for both memory regions */\n#define  PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200\n#define  PCI_CB_BRIDGE_CTL_POST_WRITES\t0x400\n#define PCI_CB_SUBSYSTEM_VENDOR_ID 0x40\n#define PCI_CB_SUBSYSTEM_ID\t0x42\n#define PCI_CB_LEGACY_MODE_BASE\t0x44\t/* 16-bit PC Card legacy mode base address (ExCa) */\n/* 0x48-0x7f reserved */\n\n/* Capability lists */\n\n#define PCI_CAP_LIST_ID\t\t0\t/* Capability ID */\n#define  PCI_CAP_ID_PM\t\t0x01\t/* Power Management */\n#define  PCI_CAP_ID_AGP\t\t0x02\t/* Accelerated Graphics Port */\n#define  PCI_CAP_ID_VPD\t\t0x03\t/* Vital Product Data */\n#define  PCI_CAP_ID_SLOTID\t0x04\t/* Slot Identification */\n#define  PCI_CAP_ID_MSI\t\t0x05\t/* Message Signalled Interrupts */\n#define  PCI_CAP_ID_CHSWP\t0x06\t/* CompactPCI HotSwap */\n#define PCI_CAP_LIST_NEXT\t1\t/* Next capability in the list */\n#define PCI_CAP_FLAGS\t\t2\t/* Capability defined flags (16 bits) */\n#define PCI_CAP_SIZEOF\t\t4\n\n/* Power Management Registers */\n\n#define PCI_PM_PMC              2       /* PM Capabilities Register */\n#define  PCI_PM_CAP_VER_MASK\t0x0007\t/* Version */\n#define  PCI_PM_CAP_PME_CLOCK\t0x0008\t/* PME clock required */\n#define  PCI_PM_CAP_RESERVED    0x0010  /* Reserved field */\n#define  PCI_PM_CAP_DSI\t\t0x0020\t/* Device specific initialization */\n#define  PCI_PM_CAP_AUX_POWER\t0x01C0\t/* Auxilliary power support mask */\n#define  PCI_PM_CAP_D1\t\t0x0200\t/* D1 power state support */\n#define  PCI_PM_CAP_D2\t\t0x0400\t/* D2 power state support */\n#define  PCI_PM_CAP_PME\t\t0x0800\t/* PME pin supported */\n#define  PCI_PM_CAP_PME_MASK    0xF800  /* PME Mask of all supported states */\n#define  PCI_PM_CAP_PME_D0      0x0800  /* PME# from D0 */\n#define  PCI_PM_CAP_PME_D1      0x1000  /* PME# from D1 */\n#define  PCI_PM_CAP_PME_D2      0x2000  /* PME# from D2 */\n#define  PCI_PM_CAP_PME_D3      0x4000  /* PME# from D3 (hot) */\n#define  PCI_PM_CAP_PME_D3cold  0x8000  /* PME# from D3 (cold) */\n#define PCI_PM_CTRL\t\t4\t/* PM control and status register */\n#define  PCI_PM_CTRL_STATE_MASK\t0x0003\t/* Current power state (D0 to D3) */\n#define  PCI_PM_CTRL_PME_ENABLE\t0x0100\t/* PME pin enable */\n#define  PCI_PM_CTRL_DATA_SEL_MASK\t0x1e00\t/* Data select (??) */\n#define  PCI_PM_CTRL_DATA_SCALE_MASK\t0x6000\t/* Data scale (??) */\n#define  PCI_PM_CTRL_PME_STATUS\t0x8000\t/* PME pin status */\n#define PCI_PM_PPB_EXTENSIONS\t6\t/* PPB support extensions (??) */\n#define  PCI_PM_PPB_B2_B3\t0x40\t/* Stop clock when in D3hot (??) */\n#define  PCI_PM_BPCC_ENABLE\t0x80\t/* Bus power/clock control enable (??) */\n#define PCI_PM_DATA_REGISTER\t7\t/* (??) */\n#define PCI_PM_SIZEOF\t\t8\n\n/* AGP registers */\n\n#define PCI_AGP_VERSION\t\t2\t/* BCD version number */\n#define PCI_AGP_RFU\t\t3\t/* Rest of capability flags */\n#define PCI_AGP_STATUS\t\t4\t/* Status register */\n#define  PCI_AGP_STATUS_RQ_MASK\t0xff000000\t/* Maximum number of requests - 1 */\n#define  PCI_AGP_STATUS_SBA\t0x0200\t/* Sideband addressing supported */\n#define  PCI_AGP_STATUS_64BIT\t0x0020\t/* 64-bit addressing supported */\n#define  PCI_AGP_STATUS_FW\t0x0010\t/* FW transfers supported */\n#define  PCI_AGP_STATUS_RATE4\t0x0004\t/* 4x transfer rate supported */\n#define  PCI_AGP_STATUS_RATE2\t0x0002\t/* 2x transfer rate supported */\n#define  PCI_AGP_STATUS_RATE1\t0x0001\t/* 1x transfer rate supported */\n#define PCI_AGP_COMMAND\t\t8\t/* Control register */\n#define  PCI_AGP_COMMAND_RQ_MASK 0xff000000  /* Master: Maximum number of requests */\n#define  PCI_AGP_COMMAND_SBA\t0x0200\t/* Sideband addressing enabled */\n#define  PCI_AGP_COMMAND_AGP\t0x0100\t/* Allow processing of AGP transactions */\n#define  PCI_AGP_COMMAND_64BIT\t0x0020 \t/* Allow processing of 64-bit addresses */\n#define  PCI_AGP_COMMAND_FW\t0x0010 \t/* Force FW transfers */\n#define  PCI_AGP_COMMAND_RATE4\t0x0004\t/* Use 4x rate */\n#define  PCI_AGP_COMMAND_RATE2\t0x0002\t/* Use 4x rate */\n#define  PCI_AGP_COMMAND_RATE1\t0x0001\t/* Use 4x rate */\n#define PCI_AGP_SIZEOF\t\t12\n\n/* Slot Identification */\n\n#define PCI_SID_ESR\t\t2\t/* Expansion Slot Register */\n#define  PCI_SID_ESR_NSLOTS\t0x1f\t/* Number of expansion slots available */\n#define  PCI_SID_ESR_FIC\t0x20\t/* First In Chassis Flag */\n#define PCI_SID_CHASSIS_NR\t3\t/* Chassis Number */\n\n/* Message Signalled Interrupts registers */\n\n#define PCI_MSI_FLAGS\t\t2\t/* Various flags */\n#define  PCI_MSI_FLAGS_64BIT\t0x80\t/* 64-bit addresses allowed */\n#define  PCI_MSI_FLAGS_QSIZE\t0x70\t/* Message queue size configured */\n#define  PCI_MSI_FLAGS_QMASK\t0x0e\t/* Maximum queue size available */\n#define  PCI_MSI_FLAGS_ENABLE\t0x01\t/* MSI feature enabled */\n#define PCI_MSI_RFU\t\t3\t/* Rest of capability flags */\n#define PCI_MSI_ADDRESS_LO\t4\t/* Lower 32 bits */\n#define PCI_MSI_ADDRESS_HI\t8\t/* Upper 32 bits (if PCI_MSI_FLAGS_64BIT set) */\n#define PCI_MSI_DATA_32\t\t8\t/* 16 bits of data for 32-bit devices */\n#define PCI_MSI_DATA_64\t\t12\t/* 16 bits of data for 64-bit devices */\n\n/* Include the ID list */\n\n#include \"pci_ids.h\"\n\n/*\n * The PCI interface treats multi-function devices as independent\n * devices.  The slot/function address of each device is encoded\n * in a single byte as follows:\n *\n *\t7:3 = slot\n *\t2:0 = function\n */\n#define PCI_DEVFN(slot,func)\t((((slot) & 0x1f) << 3) | ((func) & 0x07))\n#define PCI_SLOT(devfn)\t\t(((devfn) >> 3) & 0x1f)\n#define PCI_FUNC(devfn)\t\t((devfn) & 0x07)\n\n/* Ioctls for /proc/bus/pci/X/Y nodes. */\n#define PCIIOC_BASE\t\t('P' << 24 | 'C' << 16 | 'I' << 8)\n#define PCIIOC_CONTROLLER\t(PCIIOC_BASE | 0x00)\t/* Get controller for PCI device. */\n#define PCIIOC_MMAP_IS_IO\t(PCIIOC_BASE | 0x01)\t/* Set mmap state to I/O space. */\n#define PCIIOC_MMAP_IS_MEM\t(PCIIOC_BASE | 0x02)\t/* Set mmap state to MEM space. */\n#define PCIIOC_WRITE_COMBINE\t(PCIIOC_BASE | 0x03)\t/* Enable/disable write-combining. */\n\n\n\n/* This defines the direction arg to the DMA mapping routines. */\n#define PCI_DMA_BIDIRECTIONAL\t0\n#define PCI_DMA_TODEVICE\t1\n#define PCI_DMA_FROMDEVICE\t2\n#define PCI_DMA_NONE\t\t3\n\n#define DEVICE_COUNT_COMPATIBLE\t4\n#define DEVICE_COUNT_IRQ\t2\n#define DEVICE_COUNT_DMA\t2\n#define DEVICE_COUNT_RESOURCE\t12\n\n#define PCI_ANY_ID (~0)\n\n\n/*\n * The pci_dev structure is used to describe both PCI and ISAPnP devices.\n */\n\n\n/*\n *  For PCI devices, the region numbers are assigned this way:\n *\n *\t0-5\tstandard PCI regions\n *\t6\texpansion ROM\n *\t7-10\tbridges: address space assigned to buses behind the bridge\n */\n\n#define PCI_ROM_RESOURCE 6\n#define PCI_BRIDGE_RESOURCES 7\n#define PCI_NUM_RESOURCES 11\n  \n#define PCI_REGION_FLAG_MASK 0x0f\t/* These bits of resource flags tell us the PCI region flags */\n\n\n\n/*\n * Error values that may be returned by PCI functions.\n */\n#define PCIBIOS_SUCCESSFUL\t\t0x00\n#define PCIBIOS_FUNC_NOT_SUPPORTED\t0x81\n#define PCIBIOS_BAD_VENDOR_ID\t\t0x83\n#define PCIBIOS_DEVICE_NOT_FOUND\t0x86\n#define PCIBIOS_BAD_REGISTER_NUMBER\t0x87\n#define PCIBIOS_SET_FAILED\t\t0x88\n#define PCIBIOS_BUFFER_TOO_SMALL\t0x89\n\n\n#define PCI_FIXUP_HEADER\t1\t\t/* Called immediately after reading configuration header */\n#define PCI_FIXUP_FINAL\t\t2\t\t/* Final phase of device fixups */\n\n\n\n#define PCIPCI_FAIL\t\t1\n#define PCIPCI_TRITON\t\t2\n#define PCIPCI_NATOMA\t\t4\n#define PCIPCI_VIAETBF\t\t8\n\ntypedef struct _PCI_CONFIG_COMMON {\n\tWORD  VendorID;\n\tWORD  DeviceID;\n\tWORD  Command;\n\tWORD  Status;\n\tBYTE  RevisionID;\n\tBYTE  ProgIf;\n\tBYTE  SubClass;\n\tBYTE  BaseClass;\n\tBYTE  CacheLineSize;\n\tBYTE  LatencyTimer;\n\tBYTE  HeaderType;\n\tBYTE  BIST;\n\n\tunion {\n\t\tstruct _PCI_HEADER_TYPE_0 {\n\t\t\tDWORD  BaseAddresses[6];\n\t\t\tDWORD  Reserved1[2];\n\t\t\tDWORD  ROMBaseAddress;\n\t\t\tDWORD  Reserved2[2];\n\t\t\tBYTE  InterruptLine;\n\t\t\tBYTE  InterruptPin;\n\t\t\tBYTE  MinimumGrant;\n\t\t\tBYTE  MaximumLatency;\n\t\t} type0;\n\t\tstruct _PCI_HEADER_TYPE_1 {\n\t\t\tDWORD BaseAddresses0;\n\t\t\tDWORD BaseAddresses1;\n\t\t\tBYTE PrimaryBus;\n\t\t\tBYTE SecondBus;\n\t\t\tBYTE SubBuf;\n\t\t\tBYTE SecondLatencyTimer;\n\t\t\tBYTE IOBase;\n\t\t\tBYTE IOLimit;\n\t\t\tWORD SecondStatus;\n\t\t\tWORD MemoryBase;\n\t\t\tWORD MemoryLimit;\n\t\t\tWORD PrefetchMemoryBase;\n\t\t\tWORD PrefetchMemoryLimit;\n\t\t\tDWORD Upper32Base;\n\t\t\tDWORD Upper32Limit;\n\t\t\tWORD Upper16IOBase;\n\t\t\tWORD Upper16IOLimit;\n\t\t\tBYTE CapabilityPtr;\n\t\t\tBYTE Reserved[3];\n\t\t\tDWORD ROMBaseAddress;\n\t\t\tBYTE InterruptLine;\n\t\t\tBYTE InterruptPin;\n\t\t\tWORD BridgeControl;\n\t\t} type1;\n\t} u;\n\tBYTE  DeviceSpecific[192];\n} PCI_CONFIG_COMMON, *PPCI_CONFIG_COMMON;\n\n\n#endif /* LINUX_PCI_H */\n\n"
  },
  {
    "path": "Project/Syser/Source/pci_ids.h",
    "content": "/* Device classes and subclasses */\n#undef PCI_CLASS_NOT_DEFINED\n#define PCI_CLASS_NOT_DEFINED\t\t0x0000\n#define PCI_CLASS_NOT_DEFINED_VGA\t0x0001\n\n#define PCI_BASE_CLASS_STORAGE\t\t0x01\n#define PCI_CLASS_STORAGE_SCSI\t\t0x0100\n#define PCI_CLASS_STORAGE_IDE\t\t0x0101\n#define PCI_CLASS_STORAGE_FLOPPY\t0x0102\n#define PCI_CLASS_STORAGE_IPI\t\t0x0103\n#define PCI_CLASS_STORAGE_RAID\t\t0x0104\n#define PCI_CLASS_STORAGE_OTHER\t\t0x0180\n\n#define PCI_BASE_CLASS_NETWORK\t\t0x02\n#define PCI_CLASS_NETWORK_ETHERNET\t0x0200\n#define PCI_CLASS_NETWORK_TOKEN_RING\t0x0201\n#define PCI_CLASS_NETWORK_FDDI\t\t0x0202\n#define PCI_CLASS_NETWORK_ATM\t\t0x0203\n#define PCI_CLASS_NETWORK_OTHER\t\t0x0280\n\n#define PCI_BASE_CLASS_DISPLAY\t\t0x03\n#define PCI_CLASS_DISPLAY_VGA\t\t0x0300\n#define PCI_CLASS_DISPLAY_XGA\t\t0x0301\n#define PCI_CLASS_DISPLAY_3D\t\t0x0302\n#define PCI_CLASS_DISPLAY_OTHER\t\t0x0380\n\n#define PCI_BASE_CLASS_MULTIMEDIA\t0x04\n#define PCI_CLASS_MULTIMEDIA_VIDEO\t0x0400\n#define PCI_CLASS_MULTIMEDIA_AUDIO\t0x0401\n#define PCI_CLASS_MULTIMEDIA_PHONE\t0x0402\n#define PCI_CLASS_MULTIMEDIA_OTHER\t0x0480\n\n#define PCI_BASE_CLASS_MEMORY\t\t0x05\n#define PCI_CLASS_MEMORY_RAM\t\t0x0500\n#define PCI_CLASS_MEMORY_FLASH\t\t0x0501\n#define PCI_CLASS_MEMORY_OTHER\t\t0x0580\n\n#define PCI_BASE_CLASS_BRIDGE\t\t0x06\n#define PCI_CLASS_BRIDGE_HOST\t\t0x0600\n#define PCI_CLASS_BRIDGE_ISA\t\t0x0601\n#define PCI_CLASS_BRIDGE_EISA\t\t0x0602\n#define PCI_CLASS_BRIDGE_MC\t\t0x0603\n#define PCI_CLASS_BRIDGE_PCI\t\t0x0604\n#define PCI_CLASS_BRIDGE_PCMCIA\t\t0x0605\n#define PCI_CLASS_BRIDGE_NUBUS\t\t0x0606\n#define PCI_CLASS_BRIDGE_CARDBUS\t0x0607\n#define PCI_CLASS_BRIDGE_RACEWAY\t0x0608\n#define PCI_CLASS_BRIDGE_OTHER\t\t0x0680\n\n#define PCI_BASE_CLASS_COMMUNICATION\t0x07\n#define PCI_CLASS_COMMUNICATION_SERIAL\t0x0700\n#define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701\n#define PCI_CLASS_COMMUNICATION_MULTISERIAL 0x0702\n#define PCI_CLASS_COMMUNICATION_MODEM\t0x0703\n#define PCI_CLASS_COMMUNICATION_OTHER\t0x0780\n\n#define PCI_BASE_CLASS_SYSTEM\t\t0x08\n#define PCI_CLASS_SYSTEM_PIC\t\t0x0800\n#define PCI_CLASS_SYSTEM_DMA\t\t0x0801\n#define PCI_CLASS_SYSTEM_TIMER\t\t0x0802\n#define PCI_CLASS_SYSTEM_RTC\t\t0x0803\n#define PCI_CLASS_SYSTEM_PCI_HOTPLUG\t0x0804\n#define PCI_CLASS_SYSTEM_OTHER\t\t0x0880\n\n#define PCI_BASE_CLASS_INPUT\t\t0x09\n#define PCI_CLASS_INPUT_KEYBOARD\t0x0900\n#define PCI_CLASS_INPUT_PEN\t\t0x0901\n#define PCI_CLASS_INPUT_MOUSE\t\t0x0902\n#define PCI_CLASS_INPUT_SCANNER\t\t0x0903\n#define PCI_CLASS_INPUT_GAMEPORT\t0x0904\n#define PCI_CLASS_INPUT_OTHER\t\t0x0980\n\n#define PCI_BASE_CLASS_DOCKING\t\t0x0a\n#define PCI_CLASS_DOCKING_GENERIC\t0x0a00\n#define PCI_CLASS_DOCKING_OTHER\t\t0x0a80\n\n#define PCI_BASE_CLASS_PROCESSOR\t0x0b\n#define PCI_CLASS_PROCESSOR_386\t\t0x0b00\n#define PCI_CLASS_PROCESSOR_486\t\t0x0b01\n#define PCI_CLASS_PROCESSOR_PENTIUM\t0x0b02\n#define PCI_CLASS_PROCESSOR_ALPHA\t0x0b10\n#define PCI_CLASS_PROCESSOR_POWERPC\t0x0b20\n#define PCI_CLASS_PROCESSOR_MIPS\t0x0b30\n#define PCI_CLASS_PROCESSOR_CO\t\t0x0b40\n\n#define PCI_BASE_CLASS_SERIAL\t\t0x0c\n#define PCI_CLASS_SERIAL_FIREWIRE\t0x0c00\n#define PCI_CLASS_SERIAL_ACCESS\t\t0x0c01\n#define PCI_CLASS_SERIAL_SSA\t\t0x0c02\n#define PCI_CLASS_SERIAL_USB\t\t0x0c03\n#define PCI_CLASS_SERIAL_FIBER\t\t0x0c04\n#define PCI_CLASS_SERIAL_SMBUS\t\t0x0c05\n\n#define PCI_BASE_CLASS_INTELLIGENT\t0x0e\n#define PCI_CLASS_INTELLIGENT_I2O\t0x0e00\n\n#define PCI_BASE_CLASS_SATELLITE\t0x0f\n#define PCI_CLASS_SATELLITE_TV\t\t0x0f00\n#define PCI_CLASS_SATELLITE_AUDIO\t0x0f01\n#define PCI_CLASS_SATELLITE_VOICE\t0x0f03\n#define PCI_CLASS_SATELLITE_DATA\t0x0f04\n\n#define PCI_BASE_CLASS_CRYPT\t\t0x10\n#define PCI_CLASS_CRYPT_NETWORK\t\t0x1000\n#define PCI_CLASS_CRYPT_ENTERTAINMENT\t0x1001\n#define PCI_CLASS_CRYPT_OTHER\t\t0x1080\n\n#define PCI_BASE_CLASS_SIGNAL_PROCESSING 0x11\n#define PCI_CLASS_SP_DPIO\t\t0x1100\n#define PCI_CLASS_SP_OTHER\t\t0x1180\n\n#define PCI_CLASS_OTHERS\t\t0xff\n\n/* Vendors and devices.  Sort key: vendor first, device next. */\n\n#define PCI_VENDOR_ID_DYNALINK\t\t0x0675\n#define PCI_DEVICE_ID_DYNALINK_IS64PH\t0x1702\n\n#define PCI_VENDOR_ID_BERKOM\t\t\t0x0871\n#define PCI_DEVICE_ID_BERKOM_A1T\t\t0xffa1\n#define PCI_DEVICE_ID_BERKOM_T_CONCEPT\t\t0xffa2\n#define PCI_DEVICE_ID_BERKOM_A4T\t\t0xffa4\n#define PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO\t0xffa8\n\n#define PCI_VENDOR_ID_COMPAQ\t\t0x0e11\n#define PCI_DEVICE_ID_COMPAQ_TOKENRING\t0x0508\n#define PCI_DEVICE_ID_COMPAQ_1280\t0x3033\n#define PCI_DEVICE_ID_COMPAQ_TRIFLEX\t0x4000\n#define PCI_DEVICE_ID_COMPAQ_6010\t0x6010\n#define PCI_DEVICE_ID_COMPAQ_SMART2P\t0xae10\n#define PCI_DEVICE_ID_COMPAQ_NETEL100\t0xae32\n#define PCI_DEVICE_ID_COMPAQ_NETEL10\t0xae34\n#define PCI_DEVICE_ID_COMPAQ_NETFLEX3I\t0xae35\n#define PCI_DEVICE_ID_COMPAQ_NETEL100D\t0xae40\n#define PCI_DEVICE_ID_COMPAQ_NETEL100PI\t0xae43\n#define PCI_DEVICE_ID_COMPAQ_NETEL100I\t0xb011\n#define PCI_DEVICE_ID_COMPAQ_CISS\t0xb060\n#define PCI_DEVICE_ID_COMPAQ_CISSB\t0xb178\n#define PCI_DEVICE_ID_COMPAQ_THUNDER\t0xf130\n#define PCI_DEVICE_ID_COMPAQ_NETFLEX3B\t0xf150\n\n#define PCI_VENDOR_ID_NCR\t\t0x1000\n#define PCI_DEVICE_ID_NCR_53C810\t0x0001\n#define PCI_DEVICE_ID_NCR_53C820\t0x0002\n#define PCI_DEVICE_ID_NCR_53C825\t0x0003\n#define PCI_DEVICE_ID_NCR_53C815\t0x0004\n#define PCI_DEVICE_ID_NCR_53C860\t0x0006\n#define PCI_DEVICE_ID_NCR_53C896\t0x000b\n#define PCI_DEVICE_ID_NCR_53C895\t0x000c\n#define PCI_DEVICE_ID_NCR_53C885\t0x000d\n#define PCI_DEVICE_ID_NCR_53C875\t0x000f\n#define PCI_DEVICE_ID_NCR_53C1510\t0x0010\n#define PCI_DEVICE_ID_NCR_53C875J\t0x008f\n#define PCI_DEVICE_ID_NCR_YELLOWFIN\t0x0701\n\n#define PCI_VENDOR_ID_ATI\t\t0x1002\n/* Mach64 */\n#define PCI_DEVICE_ID_ATI_68800\t\t0x4158\n#define PCI_DEVICE_ID_ATI_215CT222\t0x4354\n#define PCI_DEVICE_ID_ATI_210888CX\t0x4358\n#define PCI_DEVICE_ID_ATI_215ET222\t0x4554\n/* Mach64 / Rage */\n#define PCI_DEVICE_ID_ATI_215GB\t\t0x4742\n#define PCI_DEVICE_ID_ATI_215GD\t\t0x4744\n#define PCI_DEVICE_ID_ATI_215GI\t\t0x4749\n#define PCI_DEVICE_ID_ATI_215GP\t\t0x4750\n#define PCI_DEVICE_ID_ATI_215GQ\t\t0x4751\n#define PCI_DEVICE_ID_ATI_215XL\t\t0x4752\n#define PCI_DEVICE_ID_ATI_215GT\t\t0x4754\n#define PCI_DEVICE_ID_ATI_215GTB\t0x4755\n#define PCI_DEVICE_ID_ATI_215_IV\t0x4756\n#define PCI_DEVICE_ID_ATI_215_IW\t0x4757\n#define PCI_DEVICE_ID_ATI_215_IZ\t0x475A\n#define PCI_DEVICE_ID_ATI_210888GX\t0x4758\n#define PCI_DEVICE_ID_ATI_215_LB\t0x4c42\n#define PCI_DEVICE_ID_ATI_215_LD\t0x4c44\n#define PCI_DEVICE_ID_ATI_215_LG\t0x4c47\n#define PCI_DEVICE_ID_ATI_215_LI\t0x4c49\n#define PCI_DEVICE_ID_ATI_215_LM\t0x4c4D\n#define PCI_DEVICE_ID_ATI_215_LN\t0x4c4E\n#define PCI_DEVICE_ID_ATI_215_LR\t0x4c52\n#define PCI_DEVICE_ID_ATI_215_LS\t0x4c53\n#define PCI_DEVICE_ID_ATI_264_LT\t0x4c54\n/* Mach64 VT */\n#define PCI_DEVICE_ID_ATI_264VT\t\t0x5654\n#define PCI_DEVICE_ID_ATI_264VU\t\t0x5655\n#define PCI_DEVICE_ID_ATI_264VV\t\t0x5656\n/* Rage128 Pro GL */\n#define PCI_DEVICE_ID_ATI_Rage128_PA\t0x5041\n#define PCI_DEVICE_ID_ATI_Rage128_PB\t0x5042\n#define PCI_DEVICE_ID_ATI_Rage128_PC\t0x5043\n#define PCI_DEVICE_ID_ATI_Rage128_PD\t0x5044\n#define PCI_DEVICE_ID_ATI_Rage128_PE\t0x5045\n#define PCI_DEVICE_ID_ATI_RAGE128_PF\t0x5046\n/* Rage128 Pro VR */\n#define PCI_DEVICE_ID_ATI_RAGE128_PG\t0x5047\n#define PCI_DEVICE_ID_ATI_RAGE128_PH\t0x5048\n#define PCI_DEVICE_ID_ATI_RAGE128_PI\t0x5049\n#define PCI_DEVICE_ID_ATI_RAGE128_PJ\t0x504A\n#define PCI_DEVICE_ID_ATI_RAGE128_PK\t0x504B\n#define PCI_DEVICE_ID_ATI_RAGE128_PL\t0x504C\n#define PCI_DEVICE_ID_ATI_RAGE128_PM\t0x504D\n#define PCI_DEVICE_ID_ATI_RAGE128_PN\t0x504E\n#define PCI_DEVICE_ID_ATI_RAGE128_PO\t0x504F\n#define PCI_DEVICE_ID_ATI_RAGE128_PP\t0x5050\n#define PCI_DEVICE_ID_ATI_RAGE128_PQ\t0x5051\n#define PCI_DEVICE_ID_ATI_RAGE128_PR\t0x5052\n#define PCI_DEVICE_ID_ATI_RAGE128_TR\t0x5452\n#define PCI_DEVICE_ID_ATI_RAGE128_PS\t0x5053\n#define PCI_DEVICE_ID_ATI_RAGE128_PT\t0x5054\n#define PCI_DEVICE_ID_ATI_RAGE128_PU\t0x5055\n#define PCI_DEVICE_ID_ATI_RAGE128_PV\t0x5056\n#define PCI_DEVICE_ID_ATI_RAGE128_PW\t0x5057\n#define PCI_DEVICE_ID_ATI_RAGE128_PX\t0x5058\n/* Rage128 GL */\n#define PCI_DEVICE_ID_ATI_RAGE128_RE\t0x5245\n#define PCI_DEVICE_ID_ATI_RAGE128_RF\t0x5246\n#define PCI_DEVICE_ID_ATI_RAGE128_RG\t0x534b\n#define PCI_DEVICE_ID_ATI_RAGE128_RH\t0x534c\n#define PCI_DEVICE_ID_ATI_RAGE128_RI\t0x534d\n/* Rage128 VR */\n#define PCI_DEVICE_ID_ATI_RAGE128_RK\t0x524b\n#define PCI_DEVICE_ID_ATI_RAGE128_RL\t0x524c\n#define PCI_DEVICE_ID_ATI_RAGE128_RM\t0x5345\n#define PCI_DEVICE_ID_ATI_RAGE128_RN\t0x5346\n#define PCI_DEVICE_ID_ATI_RAGE128_RO\t0x5347\n/* Rage128 M3 */\n#define PCI_DEVICE_ID_ATI_RAGE128_LE\t0x4c45\n#define PCI_DEVICE_ID_ATI_RAGE128_LF\t0x4c46\n/* Rage128 Pro Ultra */\n#define PCI_DEVICE_ID_ATI_RAGE128_U1\t0x5446\n#define PCI_DEVICE_ID_ATI_RAGE128_U2\t0x544C\n#define PCI_DEVICE_ID_ATI_RAGE128_U3\t0x5452\n/* Radeon M4 */\n#define PCI_DEVICE_ID_ATI_RADEON_LE\t0x4d45\n#define PCI_DEVICE_ID_ATI_RADEON_LF\t0x4d46\n/* Radeon NV-100 */\n#define PCI_DEVICE_ID_ATI_RADEON_N1\t0x5159\n#define PCI_DEVICE_ID_ATI_RADEON_N2\t0x515a\n/* Radeon */\n#define PCI_DEVICE_ID_ATI_RADEON_RA\t0x5144\n#define PCI_DEVICE_ID_ATI_RADEON_RB\t0x5145\n#define PCI_DEVICE_ID_ATI_RADEON_RC\t0x5146\n#define PCI_DEVICE_ID_ATI_RADEON_RD\t0x5147\n\n#define PCI_VENDOR_ID_VLSI\t\t0x1004\n#define PCI_DEVICE_ID_VLSI_82C592\t0x0005\n#define PCI_DEVICE_ID_VLSI_82C593\t0x0006\n#define PCI_DEVICE_ID_VLSI_82C594\t0x0007\n#define PCI_DEVICE_ID_VLSI_82C597\t0x0009\n#define PCI_DEVICE_ID_VLSI_82C541\t0x000c\n#define PCI_DEVICE_ID_VLSI_82C543\t0x000d\n#define PCI_DEVICE_ID_VLSI_82C532\t0x0101\n#define PCI_DEVICE_ID_VLSI_82C534\t0x0102\n#define PCI_DEVICE_ID_VLSI_82C535\t0x0104\n#define PCI_DEVICE_ID_VLSI_82C147\t0x0105\n#define PCI_DEVICE_ID_VLSI_VAS96011\t0x0702\n\n#define PCI_VENDOR_ID_ADL\t\t0x1005\n#define PCI_DEVICE_ID_ADL_2301\t\t0x2301\n\n#define PCI_VENDOR_ID_NS\t\t0x100b\n#define PCI_DEVICE_ID_NS_87415\t\t0x0002\n#define PCI_DEVICE_ID_NS_87560_LIO\t0x000e\n#define PCI_DEVICE_ID_NS_87560_USB\t0x0012\n#define PCI_DEVICE_ID_NS_87410\t\t0xd001\n\n#define PCI_VENDOR_ID_TSENG\t\t0x100c\n#define PCI_DEVICE_ID_TSENG_W32P_2\t0x3202\n#define PCI_DEVICE_ID_TSENG_W32P_b\t0x3205\n#define PCI_DEVICE_ID_TSENG_W32P_c\t0x3206\n#define PCI_DEVICE_ID_TSENG_W32P_d\t0x3207\n#define PCI_DEVICE_ID_TSENG_ET6000\t0x3208\n\n#define PCI_VENDOR_ID_WEITEK\t\t0x100e\n#define PCI_DEVICE_ID_WEITEK_P9000\t0x9001\n#define PCI_DEVICE_ID_WEITEK_P9100\t0x9100\n\n#define PCI_VENDOR_ID_DEC\t\t0x1011\n#define PCI_DEVICE_ID_DEC_BRD\t\t0x0001\n#define PCI_DEVICE_ID_DEC_TULIP\t\t0x0002\n#define PCI_DEVICE_ID_DEC_TGA\t\t0x0004\n#define PCI_DEVICE_ID_DEC_TULIP_FAST\t0x0009\n#define PCI_DEVICE_ID_DEC_TGA2\t\t0x000D\n#define PCI_DEVICE_ID_DEC_FDDI\t\t0x000F\n#define PCI_DEVICE_ID_DEC_TULIP_PLUS\t0x0014\n#define PCI_DEVICE_ID_DEC_21142\t\t0x0019\n#define PCI_DEVICE_ID_DEC_21052\t\t0x0021\n#define PCI_DEVICE_ID_DEC_21150\t\t0x0022\n#define PCI_DEVICE_ID_DEC_21152\t\t0x0024\n#define PCI_DEVICE_ID_DEC_21153\t\t0x0025\n#define PCI_DEVICE_ID_DEC_21154\t\t0x0026\n#define PCI_DEVICE_ID_DEC_21285\t\t0x1065\n#define PCI_DEVICE_ID_COMPAQ_42XX\t0x0046\n\n#define PCI_VENDOR_ID_CIRRUS\t\t0x1013\n#define PCI_DEVICE_ID_CIRRUS_7548\t0x0038\n#define PCI_DEVICE_ID_CIRRUS_5430\t0x00a0\n#define PCI_DEVICE_ID_CIRRUS_5434_4\t0x00a4\n#define PCI_DEVICE_ID_CIRRUS_5434_8\t0x00a8\n#define PCI_DEVICE_ID_CIRRUS_5436\t0x00ac\n#define PCI_DEVICE_ID_CIRRUS_5446\t0x00b8\n#define PCI_DEVICE_ID_CIRRUS_5480\t0x00bc\n#define PCI_DEVICE_ID_CIRRUS_5462\t0x00d0\n#define PCI_DEVICE_ID_CIRRUS_5464\t0x00d4\n#define PCI_DEVICE_ID_CIRRUS_5465\t0x00d6\n#define PCI_DEVICE_ID_CIRRUS_6729\t0x1100\n#define PCI_DEVICE_ID_CIRRUS_6832\t0x1110\n#define PCI_DEVICE_ID_CIRRUS_7542\t0x1200\n#define PCI_DEVICE_ID_CIRRUS_7543\t0x1202\n#define PCI_DEVICE_ID_CIRRUS_7541\t0x1204\n\n#define PCI_VENDOR_ID_IBM\t\t0x1014\n#define PCI_DEVICE_ID_IBM_FIRE_CORAL\t0x000a\n#define PCI_DEVICE_ID_IBM_TR\t\t0x0018\n#define PCI_DEVICE_ID_IBM_82G2675\t0x001d\n#define PCI_DEVICE_ID_IBM_MCA\t\t0x0020\n#define PCI_DEVICE_ID_IBM_82351\t\t0x0022\n#define PCI_DEVICE_ID_IBM_PYTHON\t0x002d\n#define PCI_DEVICE_ID_IBM_SERVERAID\t0x002e\n#define PCI_DEVICE_ID_IBM_TR_WAKE\t0x003e\n#define PCI_DEVICE_ID_IBM_MPIC\t\t0x0046\n#define PCI_DEVICE_ID_IBM_3780IDSP\t0x007d\n#define PCI_DEVICE_ID_IBM_CHUKAR\t0x0096\n#define\tPCI_DEVICE_ID_IBM_405GP\t\t0x0156\n#define PCI_DEVICE_ID_IBM_MPIC_2\t0xffff\n\n#define PCI_VENDOR_ID_COMPEX2\t\t0x101a // pci.ids says \"AT&T GIS (NCR)\"\n#define PCI_DEVICE_ID_COMPEX2_100VG\t0x0005\n\n#define PCI_VENDOR_ID_WD\t\t0x101c\n#define PCI_DEVICE_ID_WD_7197\t\t0x3296\n\n#define PCI_VENDOR_ID_AMI\t\t0x101e\n#define PCI_DEVICE_ID_AMI_MEGARAID3\t0x1960\n#define PCI_DEVICE_ID_AMI_MEGARAID\t0x9010\n#define PCI_DEVICE_ID_AMI_MEGARAID2\t0x9060\n\n#define PCI_VENDOR_ID_AMD\t\t0x1022\n#define PCI_DEVICE_ID_AMD_LANCE\t\t0x2000\n#define PCI_DEVICE_ID_AMD_LANCE_HOME\t0x2001\n#define PCI_DEVICE_ID_AMD_SCSI\t\t0x2020\n#define PCI_DEVICE_ID_AMD_FE_GATE_7006\t0x7006\n#define PCI_DEVICE_ID_AMD_FE_GATE_7007\t0x7007\n#define PCI_DEVICE_ID_AMD_FE_GATE_700C\t0x700C\n#define PCI_DEVIDE_ID_AMD_FE_GATE_700D\t0x700D\n#define PCI_DEVICE_ID_AMD_FE_GATE_700E\t0x700E\n#define PCI_DEVICE_ID_AMD_FE_GATE_700F\t0x700F\n#define PCI_DEVICE_ID_AMD_COBRA_7400\t0x7400\n#define PCI_DEVICE_ID_AMD_COBRA_7401\t0x7401\n#define PCI_DEVICE_ID_AMD_COBRA_7403\t0x7403\n#define PCI_DEVICE_ID_AMD_COBRA_7404\t0x7404\n#define PCI_DEVICE_ID_AMD_VIPER_7408\t0x7408\n#define PCI_DEVICE_ID_AMD_VIPER_7409\t0x7409\n#define PCI_DEVICE_ID_AMD_VIPER_740B\t0x740B\n#define PCI_DEVICE_ID_AMD_VIPER_740C\t0x740C\n#define PCI_DEVICE_ID_AMD_VIPER_7410\t0x7410\n#define PCI_DEVICE_ID_AMD_VIPER_7411\t0x7411\n#define PCI_DEVICE_ID_AMD_VIPER_7413\t0x7413\n#define PCI_DEVICE_ID_AMD_VIPER_7414\t0x7414\n\n#define PCI_VENDOR_ID_TRIDENT\t\t0x1023\n#define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX\t0x2000\n#define PCI_DEVICE_ID_TRIDENT_4DWAVE_NX\t0x2001\n#define PCI_DEVICE_ID_TRIDENT_9320\t0x9320\n#define PCI_DEVICE_ID_TRIDENT_9388\t0x9388\n#define PCI_DEVICE_ID_TRIDENT_9397\t0x9397\n#define PCI_DEVICE_ID_TRIDENT_939A\t0x939A\n#define PCI_DEVICE_ID_TRIDENT_9520\t0x9520\n#define PCI_DEVICE_ID_TRIDENT_9525\t0x9525\n#define PCI_DEVICE_ID_TRIDENT_9420\t0x9420\n#define PCI_DEVICE_ID_TRIDENT_9440\t0x9440\n#define PCI_DEVICE_ID_TRIDENT_9660\t0x9660\n#define PCI_DEVICE_ID_TRIDENT_9750\t0x9750\n#define PCI_DEVICE_ID_TRIDENT_9850\t0x9850\n#define PCI_DEVICE_ID_TRIDENT_9880\t0x9880\n#define PCI_DEVICE_ID_TRIDENT_8400\t0x8400\n#define PCI_DEVICE_ID_TRIDENT_8420\t0x8420\n#define PCI_DEVICE_ID_TRIDENT_8500\t0x8500\n\n#define PCI_VENDOR_ID_AI\t\t0x1025\n#define PCI_DEVICE_ID_AI_M1435\t\t0x1435\n\n#define PCI_VENDOR_ID_DELL              0x1028\n\n#define PCI_VENDOR_ID_MATROX\t\t0x102B\n#define PCI_DEVICE_ID_MATROX_MGA_2\t0x0518\n#define PCI_DEVICE_ID_MATROX_MIL\t0x0519\n#define PCI_DEVICE_ID_MATROX_MYS\t0x051A\n#define PCI_DEVICE_ID_MATROX_MIL_2\t0x051b\n#define PCI_DEVICE_ID_MATROX_MIL_2_AGP\t0x051f\n#define PCI_DEVICE_ID_MATROX_MGA_IMP\t0x0d10\n#define PCI_DEVICE_ID_MATROX_G100_MM\t0x1000\n#define PCI_DEVICE_ID_MATROX_G100_AGP\t0x1001\n#define PCI_DEVICE_ID_MATROX_G200_PCI\t0x0520\n#define PCI_DEVICE_ID_MATROX_G200_AGP\t0x0521\n#define\tPCI_DEVICE_ID_MATROX_G400\t0x0525\n#define PCI_DEVICE_ID_MATROX_VIA\t0x4536\n\n#define PCI_VENDOR_ID_CT\t\t0x102c\n#define PCI_DEVICE_ID_CT_65545\t\t0x00d8\n#define PCI_DEVICE_ID_CT_65548\t\t0x00dc\n#define PCI_DEVICE_ID_CT_65550\t\t0x00e0\n#define PCI_DEVICE_ID_CT_65554\t\t0x00e4\n#define PCI_DEVICE_ID_CT_65555\t\t0x00e5\n\n#define PCI_VENDOR_ID_MIRO\t\t0x1031\n#define PCI_DEVICE_ID_MIRO_36050\t0x5601\n\n#define PCI_VENDOR_ID_NEC\t\t0x1033\n#define PCI_DEVICE_ID_NEC_PCX2\t\t0x0046\n#define PCI_DEVICE_ID_NEC_NILE4\t\t0x005a\n#define PCI_DEVICE_ID_NEC_VRC5476       0x009b\n\n#define PCI_VENDOR_ID_FD\t\t0x1036\n#define PCI_DEVICE_ID_FD_36C70\t\t0x0000\n\n#define PCI_VENDOR_ID_SI\t\t0x1039\n#define PCI_DEVICE_ID_SI_5591_AGP\t0x0001\n#define PCI_DEVICE_ID_SI_6202\t\t0x0002\n#define PCI_DEVICE_ID_SI_503\t\t0x0008\n#define PCI_DEVICE_ID_SI_ACPI\t\t0x0009\n#define PCI_DEVICE_ID_SI_5597_VGA\t0x0200\n#define PCI_DEVICE_ID_SI_6205\t\t0x0205\n#define PCI_DEVICE_ID_SI_501\t\t0x0406\n#define PCI_DEVICE_ID_SI_496\t\t0x0496\n#define PCI_DEVICE_ID_SI_300\t\t0x0300\n#define PCI_DEVICE_ID_SI_315H\t\t0x0310\n#define PCI_DEVICE_ID_SI_315\t\t0x0315\n#define PCI_DEVICE_ID_SI_530\t\t0x0530\n#define PCI_DEVICE_ID_SI_540\t\t0x0540\n#define PCI_DEVICE_ID_SI_550\t\t0x0550\n#define PCI_DEVICE_ID_SI_540_VGA\t0x5300\n#define PCI_DEVICE_ID_SI_550_VGA\t0x5315\n#define PCI_DEVICE_ID_SI_601\t\t0x0601\n#define PCI_DEVICE_ID_SI_620\t\t0x0620\n#define PCI_DEVICE_ID_SI_630\t\t0x0630\n#define PCI_DEVICE_ID_SI_635\t\t0x0635\n#define PCI_DEVICE_ID_SI_640\t\t0x0640\n#define PCI_DEVICE_ID_SI_645\t\t0x0645\n#define PCI_DEVICE_ID_SI_650\t\t0x0650\n#define PCI_DEVICE_ID_SI_730\t\t0x0730\n#define PCI_DEVICE_ID_SI_735\t\t0x0735\n#define PCI_DEVICE_ID_SI_740\t\t0x0740\n#define PCI_DEVICE_ID_SI_745\t\t0x0745\n#define PCI_DEVICE_ID_SI_750\t\t0x0750\n#define PCI_DEVICE_ID_SI_630_VGA\t0x6300\n#define PCI_DEVICE_ID_SI_730_VGA\t0x7300\n#define PCI_DEVICE_ID_SI_900\t\t0x0900\n#define PCI_DEVICE_ID_SI_5107\t\t0x5107\n#define PCI_DEVICE_ID_SI_5300\t\t0x5300\n#define PCI_DEVICE_ID_SI_5511\t\t0x5511\n#define PCI_DEVICE_ID_SI_5513\t\t0x5513\n#define PCI_DEVICE_ID_SI_5571\t\t0x5571\n#define PCI_DEVICE_ID_SI_5591\t\t0x5591\n#define PCI_DEVICE_ID_SI_5597\t\t0x5597\n#define PCI_DEVICE_ID_SI_5598\t\t0x5598\n#define PCI_DEVICE_ID_SI_5600\t\t0x5600\n#define PCI_DEVICE_ID_SI_6300\t\t0x6300\n#define PCI_DEVICE_ID_SI_6306\t\t0x6306\n#define PCI_DEVICE_ID_SI_6326\t\t0x6326\n#define PCI_DEVICE_ID_SI_7001\t\t0x7001\n#define PCI_DEVICE_ID_SI_7016\t\t0x7016\n\n#define PCI_VENDOR_ID_HP\t\t0x103c\n#define PCI_DEVICE_ID_HP_DONNER_GFX\t0x1008\n#define PCI_DEVICE_ID_HP_TACHYON\t0x1028\n#define PCI_DEVICE_ID_HP_TACHLITE\t0x1029\n#define PCI_DEVICE_ID_HP_J2585A\t\t0x1030\n#define PCI_DEVICE_ID_HP_J2585B\t\t0x1031\n#define PCI_DEVICE_ID_HP_SAS\t\t0x1048\n#define PCI_DEVICE_ID_HP_DIVA1\t\t0x1049\n#define PCI_DEVICE_ID_HP_DIVA2\t\t0x104A\n#define PCI_DEVICE_ID_HP_SP2_0\t\t0x104B\n\n#define PCI_VENDOR_ID_PCTECH\t\t0x1042\n#define PCI_DEVICE_ID_PCTECH_RZ1000\t0x1000\n#define PCI_DEVICE_ID_PCTECH_RZ1001\t0x1001\n#define PCI_DEVICE_ID_PCTECH_SAMURAI_0\t0x3000\n#define PCI_DEVICE_ID_PCTECH_SAMURAI_1\t0x3010\n#define PCI_DEVICE_ID_PCTECH_SAMURAI_IDE 0x3020\n\n#define PCI_VENDOR_ID_ASUSTEK\t\t0x1043\n#define PCI_DEVICE_ID_ASUSTEK_0675\t0x0675\n\n#define PCI_VENDOR_ID_DPT\t\t0x1044\n#define PCI_DEVICE_ID_DPT\t\t0xa400\n\n#define PCI_VENDOR_ID_OPTI\t\t0x1045\n#define PCI_DEVICE_ID_OPTI_92C178\t0xc178\n#define PCI_DEVICE_ID_OPTI_82C557\t0xc557\n#define PCI_DEVICE_ID_OPTI_82C558\t0xc558\n#define PCI_DEVICE_ID_OPTI_82C621\t0xc621\n#define PCI_DEVICE_ID_OPTI_82C700\t0xc700\n#define PCI_DEVICE_ID_OPTI_82C701\t0xc701\n#define PCI_DEVICE_ID_OPTI_82C814\t0xc814\n#define PCI_DEVICE_ID_OPTI_82C822\t0xc822\n#define PCI_DEVICE_ID_OPTI_82C861\t0xc861\n#define PCI_DEVICE_ID_OPTI_82C825\t0xd568\n\n#define PCI_VENDOR_ID_ELSA\t\t0x1048\n#define PCI_DEVICE_ID_ELSA_MICROLINK\t0x1000\n#define PCI_DEVICE_ID_ELSA_QS3000\t0x3000\n\n#define PCI_VENDOR_ID_ELSA\t\t0x1048\n#define PCI_DEVICE_ID_ELSA_MICROLINK\t0x1000\n#define PCI_DEVICE_ID_ELSA_QS3000\t0x3000\n\n#define PCI_VENDOR_ID_SGS\t\t0x104a\n#define PCI_DEVICE_ID_SGS_2000\t\t0x0008\n#define PCI_DEVICE_ID_SGS_1764\t\t0x0009\n\n#define PCI_VENDOR_ID_BUSLOGIC\t\t      0x104B\n#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 0x0140\n#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER    0x1040\n#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT     0x8130\n\n#define PCI_VENDOR_ID_TI\t\t0x104c\n#define PCI_DEVICE_ID_TI_TVP4010\t0x3d04\n#define PCI_DEVICE_ID_TI_TVP4020\t0x3d07\n#define PCI_DEVICE_ID_TI_1130\t\t0xac12\n#define PCI_DEVICE_ID_TI_1031\t\t0xac13\n#define PCI_DEVICE_ID_TI_1131\t\t0xac15\n#define PCI_DEVICE_ID_TI_1250\t\t0xac16\n#define PCI_DEVICE_ID_TI_1220\t\t0xac17\n#define PCI_DEVICE_ID_TI_1221\t\t0xac19\n#define PCI_DEVICE_ID_TI_1210\t\t0xac1a\n#define PCI_DEVICE_ID_TI_1410\t\t0xac50\n#define PCI_DEVICE_ID_TI_1450\t\t0xac1b\n#define PCI_DEVICE_ID_TI_1225\t\t0xac1c\n#define PCI_DEVICE_ID_TI_1251A\t\t0xac1d\n#define PCI_DEVICE_ID_TI_1211\t\t0xac1e\n#define PCI_DEVICE_ID_TI_1251B\t\t0xac1f\n#define PCI_DEVICE_ID_TI_4410\t\t0xac41\n#define PCI_DEVICE_ID_TI_4451\t\t0xac42\n#define PCI_DEVICE_ID_TI_1420\t\t0xac51\n\n#define PCI_VENDOR_ID_SONY\t\t0x104d\n#define PCI_DEVICE_ID_SONY_CXD3222\t0x8039\n\n#define PCI_VENDOR_ID_OAK\t\t0x104e\n#define PCI_DEVICE_ID_OAK_OTI107\t0x0107\n\n/* Winbond have two vendor IDs! See 0x10ad as well */\n#define PCI_VENDOR_ID_WINBOND2\t\t0x1050\n#define PCI_DEVICE_ID_WINBOND2_89C940\t0x0940\n#define PCI_DEVICE_ID_WINBOND2_89C940F\t0x5a5a\n#define PCI_DEVICE_ID_WINBOND2_6692\t0x6692\n\n#define PCI_VENDOR_ID_ANIGMA\t\t0x1051\n#define PCI_DEVICE_ID_ANIGMA_MC145575\t0x0100\n  \n#define PCI_VENDOR_ID_EFAR\t\t0x1055\n#define PCI_DEVICE_ID_EFAR_SLC90E66_1\t0x9130\n#define PCI_DEVICE_ID_EFAR_SLC90E66_0\t0x9460\n#define PCI_DEVICE_ID_EFAR_SLC90E66_2\t0x9462\n#define PCI_DEVICE_ID_EFAR_SLC90E66_3\t0x9463\n\n#define PCI_VENDOR_ID_MOTOROLA\t\t0x1057\n#define PCI_VENDOR_ID_MOTOROLA_OOPS\t0x1507\n#define PCI_DEVICE_ID_MOTOROLA_MPC105\t0x0001\n#define PCI_DEVICE_ID_MOTOROLA_MPC106\t0x0002\n#define PCI_DEVICE_ID_MOTOROLA_RAVEN\t0x4801\n#define PCI_DEVICE_ID_MOTOROLA_FALCON\t0x4802\n#define PCI_DEVICE_ID_MOTOROLA_CPX8216\t0x4806\n\n#define PCI_VENDOR_ID_PROMISE\t\t0x105a\n#define PCI_DEVICE_ID_PROMISE_20265\t0x0d30\n#define PCI_DEVICE_ID_PROMISE_20267\t0x4d30\n#define PCI_DEVICE_ID_PROMISE_20246\t0x4d33\n#define PCI_DEVICE_ID_PROMISE_20262\t0x4d38\n#define PCI_DEVICE_ID_PROMISE_20268\t0x4d68\n#define PCI_DEVICE_ID_PROMISE_20268R    0x6268\n#define PCI_DEVICE_ID_PROMISE_5300\t0x5300\n\n#define PCI_VENDOR_ID_N9\t\t0x105d\n#define PCI_DEVICE_ID_N9_I128\t\t0x2309\n#define PCI_DEVICE_ID_N9_I128_2\t\t0x2339\n#define PCI_DEVICE_ID_N9_I128_T2R\t0x493d\n\n#define PCI_VENDOR_ID_UMC\t\t0x1060\n#define PCI_DEVICE_ID_UMC_UM8673F\t0x0101\n#define PCI_DEVICE_ID_UMC_UM8891A\t0x0891\n#define PCI_DEVICE_ID_UMC_UM8886BF\t0x673a\n#define PCI_DEVICE_ID_UMC_UM8886A\t0x886a\n#define PCI_DEVICE_ID_UMC_UM8881F\t0x8881\n#define PCI_DEVICE_ID_UMC_UM8886F\t0x8886\n#define PCI_DEVICE_ID_UMC_UM9017F\t0x9017\n#define PCI_DEVICE_ID_UMC_UM8886N\t0xe886\n#define PCI_DEVICE_ID_UMC_UM8891N\t0xe891\n\n#define PCI_VENDOR_ID_X\t\t\t0x1061\n#define PCI_DEVICE_ID_X_AGX016\t\t0x0001\n\n#define PCI_VENDOR_ID_MYLEX\t\t0x1069\n#define PCI_DEVICE_ID_MYLEX_DAC960_P\t0x0001\n#define PCI_DEVICE_ID_MYLEX_DAC960_PD\t0x0002\n#define PCI_DEVICE_ID_MYLEX_DAC960_PG\t0x0010\n#define PCI_DEVICE_ID_MYLEX_DAC960_LA\t0x0020\n#define PCI_DEVICE_ID_MYLEX_DAC960_LP\t0x0050\n#define PCI_DEVICE_ID_MYLEX_DAC960_BA\t0xBA56\n\n#define PCI_VENDOR_ID_PICOP\t\t0x1066\n#define PCI_DEVICE_ID_PICOP_PT86C52X\t0x0001\n#define PCI_DEVICE_ID_PICOP_PT80C524\t0x8002\n\n#define PCI_VENDOR_ID_APPLE\t\t0x106b\n#define PCI_DEVICE_ID_APPLE_BANDIT\t0x0001\n#define PCI_DEVICE_ID_APPLE_GC\t\t0x0002\n#define PCI_DEVICE_ID_APPLE_HYDRA\t0x000e\n#define PCI_DEVICE_ID_APPLE_UNI_N_FW\t0x0018\n#define PCI_DEVICE_ID_APPLE_KL_USB\t0x0019\n#define PCI_DEVICE_ID_APPLE_UNI_N_AGP\t0x0020\n#define PCI_DEVICE_ID_APPLE_UNI_N_GMAC\t0x0021\n\n#define PCI_VENDOR_ID_YAMAHA\t\t0x1073\n#define PCI_DEVICE_ID_YAMAHA_724\t0x0004\n#define PCI_DEVICE_ID_YAMAHA_724F\t0x000d\n#define PCI_DEVICE_ID_YAMAHA_740\t0x000a\n#define PCI_DEVICE_ID_YAMAHA_740C\t0x000c\n#define PCI_DEVICE_ID_YAMAHA_744\t0x0010\n#define PCI_DEVICE_ID_YAMAHA_754\t0x0012\n\n#define PCI_VENDOR_ID_NEXGEN\t\t0x1074\n#define PCI_DEVICE_ID_NEXGEN_82C501\t0x4e78\n\n#define PCI_VENDOR_ID_QLOGIC\t\t0x1077\n#define PCI_DEVICE_ID_QLOGIC_ISP1020\t0x1020\n#define PCI_DEVICE_ID_QLOGIC_ISP1022\t0x1022\n#define PCI_DEVICE_ID_QLOGIC_ISP2100\t0x2100\n#define PCI_DEVICE_ID_QLOGIC_ISP2200\t0x2200\n\n#define PCI_VENDOR_ID_CYRIX\t\t0x1078\n#define PCI_DEVICE_ID_CYRIX_5510\t0x0000\n#define PCI_DEVICE_ID_CYRIX_PCI_MASTER\t0x0001\n#define PCI_DEVICE_ID_CYRIX_5520\t0x0002\n#define PCI_DEVICE_ID_CYRIX_5530_LEGACY\t0x0100\n#define PCI_DEVICE_ID_CYRIX_5530_SMI\t0x0101\n#define PCI_DEVICE_ID_CYRIX_5530_IDE\t0x0102\n#define PCI_DEVICE_ID_CYRIX_5530_AUDIO\t0x0103\n#define PCI_DEVICE_ID_CYRIX_5530_VIDEO\t0x0104\n\n#define PCI_VENDOR_ID_LEADTEK\t\t0x107d\n#define PCI_DEVICE_ID_LEADTEK_805\t0x0000\n\n#define PCI_VENDOR_ID_INTERPHASE\t0x107e\n#define PCI_DEVICE_ID_INTERPHASE_5526\t0x0004\n#define PCI_DEVICE_ID_INTERPHASE_55x6\t0x0005\n#define PCI_DEVICE_ID_INTERPHASE_5575\t0x0008\n\n#define PCI_VENDOR_ID_CONTAQ\t\t0x1080\n#define PCI_DEVICE_ID_CONTAQ_82C599\t0x0600\n#define PCI_DEVICE_ID_CONTAQ_82C693\t0xc693\n\n#define PCI_VENDOR_ID_FOREX\t\t0x1083\n\n#define PCI_VENDOR_ID_OLICOM\t\t0x108d\n#define PCI_DEVICE_ID_OLICOM_OC3136\t0x0001\n#define PCI_DEVICE_ID_OLICOM_OC2315\t0x0011\n#define PCI_DEVICE_ID_OLICOM_OC2325\t0x0012\n#define PCI_DEVICE_ID_OLICOM_OC2183\t0x0013\n#define PCI_DEVICE_ID_OLICOM_OC2326\t0x0014\n#define PCI_DEVICE_ID_OLICOM_OC6151\t0x0021\n\n#define PCI_VENDOR_ID_SUN\t\t0x108e\n#define PCI_DEVICE_ID_SUN_EBUS\t\t0x1000\n#define PCI_DEVICE_ID_SUN_HAPPYMEAL\t0x1001\n#define PCI_DEVICE_ID_SUN_RIO_EBUS\t0x1100\n#define PCI_DEVICE_ID_SUN_RIO_GEM\t0x1101\n#define PCI_DEVICE_ID_SUN_RIO_1394\t0x1102\n#define PCI_DEVICE_ID_SUN_RIO_USB\t0x1103\n#define PCI_DEVICE_ID_SUN_GEM\t\t0x2bad\n#define PCI_DEVICE_ID_SUN_SIMBA\t\t0x5000\n#define PCI_DEVICE_ID_SUN_PBM\t\t0x8000\n#define PCI_DEVICE_ID_SUN_SCHIZO\t0x8001\n#define PCI_DEVICE_ID_SUN_SABRE\t\t0xa000\n#define PCI_DEVICE_ID_SUN_HUMMINGBIRD\t0xa001\n\n#define PCI_VENDOR_ID_CMD\t\t0x1095\n#define PCI_DEVICE_ID_CMD_640\t\t0x0640\n#define PCI_DEVICE_ID_CMD_643\t\t0x0643\n#define PCI_DEVICE_ID_CMD_646\t\t0x0646\n#define PCI_DEVICE_ID_CMD_647\t\t0x0647\n#define PCI_DEVICE_ID_CMD_648\t\t0x0648\n#define PCI_DEVICE_ID_CMD_649\t\t0x0649\n#define PCI_DEVICE_ID_CMD_670\t\t0x0670\n\n#define PCI_VENDOR_ID_VISION\t\t0x1098\n#define PCI_DEVICE_ID_VISION_QD8500\t0x0001\n#define PCI_DEVICE_ID_VISION_QD8580\t0x0002\n\n#define PCI_VENDOR_ID_BROOKTREE\t\t0x109e\n#define PCI_DEVICE_ID_BROOKTREE_848\t0x0350\n#define PCI_DEVICE_ID_BROOKTREE_849A\t0x0351\n#define PCI_DEVICE_ID_BROOKTREE_878_1\t0x036e\n#define PCI_DEVICE_ID_BROOKTREE_878\t0x0878\n#define PCI_DEVICE_ID_BROOKTREE_8474\t0x8474\n\n#define PCI_VENDOR_ID_SIERRA\t\t0x10a8\n#define PCI_DEVICE_ID_SIERRA_STB\t0x0000\n\n#define PCI_VENDOR_ID_SGI\t\t0x10a9\n#define PCI_DEVICE_ID_SGI_IOC3\t\t0x0003\n\n#define PCI_VENDOR_ID_ACC\t\t0x10aa\n#define PCI_DEVICE_ID_ACC_2056\t\t0x0000\n\n#define PCI_VENDOR_ID_WINBOND\t\t0x10ad\n#define PCI_DEVICE_ID_WINBOND_83769\t0x0001\n#define PCI_DEVICE_ID_WINBOND_82C105\t0x0105\n#define PCI_DEVICE_ID_WINBOND_83C553\t0x0565\n\n#define PCI_VENDOR_ID_DATABOOK\t\t0x10b3\n#define PCI_DEVICE_ID_DATABOOK_87144\t0xb106\n\n#define PCI_VENDOR_ID_PLX\t\t0x10b5\n#define PCI_DEVICE_ID_PLX_R685\t\t0x1030\n#define PCI_DEVICE_ID_PLX_ROMULUS\t0x106a\n#define PCI_DEVICE_ID_PLX_SPCOM800\t0x1076\n#define PCI_DEVICE_ID_PLX_1077\t\t0x1077\n#define PCI_DEVICE_ID_PLX_SPCOM200\t0x1103\n#define PCI_DEVICE_ID_PLX_DJINN_ITOO\t0x1151\n#define PCI_DEVICE_ID_PLX_R753\t\t0x1152\n#define PCI_DEVICE_ID_PLX_9050\t\t0x9050\n#define PCI_DEVICE_ID_PLX_9060\t\t0x9060\n#define PCI_DEVICE_ID_PLX_9060ES\t0x906E\n#define PCI_DEVICE_ID_PLX_9060SD\t0x906D\n#define PCI_DEVICE_ID_PLX_9080\t\t0x9080\n#define PCI_DEVICE_ID_PLX_GTEK_SERIAL2\t0xa001\n\n#define PCI_VENDOR_ID_MADGE\t\t0x10b6\n#define PCI_DEVICE_ID_MADGE_MK2\t\t0x0002\n#define PCI_DEVICE_ID_MADGE_C155S\t0x1001\n\n#define PCI_VENDOR_ID_3COM\t\t0x10b7\n#define PCI_DEVICE_ID_3COM_3C985\t0x0001\n#define PCI_DEVICE_ID_3COM_3C339\t0x3390\n#define PCI_DEVICE_ID_3COM_3C590\t0x5900\n#define PCI_DEVICE_ID_3COM_3C595TX\t0x5950\n#define PCI_DEVICE_ID_3COM_3C595T4\t0x5951\n#define PCI_DEVICE_ID_3COM_3C595MII\t0x5952\n#define PCI_DEVICE_ID_3COM_3C900TPO\t0x9000\n#define PCI_DEVICE_ID_3COM_3C900COMBO\t0x9001\n#define PCI_DEVICE_ID_3COM_3C905TX\t0x9050\n#define PCI_DEVICE_ID_3COM_3C905T4\t0x9051\n#define PCI_DEVICE_ID_3COM_3C905B_TX\t0x9055\n\n#define PCI_VENDOR_ID_SMC\t\t0x10b8\n#define PCI_DEVICE_ID_SMC_EPIC100\t0x0005\n\n#define PCI_VENDOR_ID_AL\t\t0x10b9\n#define PCI_DEVICE_ID_AL_M1445\t\t0x1445\n#define PCI_DEVICE_ID_AL_M1449\t\t0x1449\n#define PCI_DEVICE_ID_AL_M1451\t\t0x1451\n#define PCI_DEVICE_ID_AL_M1461\t\t0x1461\n#define PCI_DEVICE_ID_AL_M1489\t\t0x1489\n#define PCI_DEVICE_ID_AL_M1511\t\t0x1511\n#define PCI_DEVICE_ID_AL_M1513\t\t0x1513\n#define PCI_DEVICE_ID_AL_M1521\t\t0x1521\n#define PCI_DEVICE_ID_AL_M1523\t\t0x1523\n#define PCI_DEVICE_ID_AL_M1531\t\t0x1531\n#define PCI_DEVICE_ID_AL_M1533\t\t0x1533\n#define PCI_DEVICE_ID_AL_M1541\t\t0x1541\n#define PCI_DEVICE_ID_AL_M1621          0x1621\n#define PCI_DEVICE_ID_AL_M1631          0x1631\n#define PCI_DEVICE_ID_AL_M1641          0x1641\n#define PCI_DEVICE_ID_AL_M1647          0x1647\n#define PCI_DEVICE_ID_AL_M1651          0x1651\n#define PCI_DEVICE_ID_AL_M1543\t\t0x1543\n#define PCI_DEVICE_ID_AL_M3307\t\t0x3307\n#define PCI_DEVICE_ID_AL_M4803\t\t0x5215\n#define PCI_DEVICE_ID_AL_M5219\t\t0x5219\n#define PCI_DEVICE_ID_AL_M5229\t\t0x5229\n#define PCI_DEVICE_ID_AL_M5237\t\t0x5237\n#define PCI_DEVICE_ID_AL_M5243\t\t0x5243\n#define PCI_DEVICE_ID_AL_M5451\t\t0x5451\n#define PCI_DEVICE_ID_AL_M7101\t\t0x7101\n\n#define PCI_VENDOR_ID_MITSUBISHI\t0x10ba\n\n#define PCI_VENDOR_ID_SURECOM\t\t0x10bd\n#define PCI_DEVICE_ID_SURECOM_NE34\t0x0e34\n\n#define PCI_VENDOR_ID_NEOMAGIC\t\t0x10c8\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2070 0x0001\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128V 0x0002\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZV 0x0003\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2160 0x0004\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICMEDIA_256AV       0x0005\n#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZVPLUS   0x0083\n\n#define PCI_VENDOR_ID_ASP\t\t0x10cd\n#define PCI_DEVICE_ID_ASP_ABP940\t0x1200\n#define PCI_DEVICE_ID_ASP_ABP940U\t0x1300\n#define PCI_DEVICE_ID_ASP_ABP940UW\t0x2300\n\n#define PCI_VENDOR_ID_MACRONIX\t\t0x10d9\n#define PCI_DEVICE_ID_MACRONIX_MX98713\t0x0512\n#define PCI_DEVICE_ID_MACRONIX_MX987x5\t0x0531\n\n#define PCI_VENDOR_ID_TCONRAD\t\t0x10da\n#define PCI_DEVICE_ID_TCONRAD_TOKENRING\t0x0508\n\n#define PCI_VENDOR_ID_CERN\t\t0x10dc\n#define PCI_DEVICE_ID_CERN_SPSB_PMC\t0x0001\n#define PCI_DEVICE_ID_CERN_SPSB_PCI\t0x0002\n#define PCI_DEVICE_ID_CERN_HIPPI_DST\t0x0021\n#define PCI_DEVICE_ID_CERN_HIPPI_SRC\t0x0022\n\n#define PCI_VENDOR_ID_NVIDIA\t\t\t0x10de\n#define PCI_DEVICE_ID_NVIDIA_TNT\t\t0x0020\n#define PCI_DEVICE_ID_NVIDIA_TNT2\t\t0x0028\n#define PCI_DEVICE_ID_NVIDIA_UTNT2\t\t0x0029\n#define PCI_DEVICE_ID_NVIDIA_VTNT2\t\t0x002C\n#define PCI_DEVICE_ID_NVIDIA_UVTNT2\t\t0x002D\n#define PCI_DEVICE_ID_NVIDIA_ITNT2\t\t0x00A0\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR\t0x0100\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR\t0x0101\n#define PCI_DEVICE_ID_NVIDIA_QUADRO\t\t0x0103\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX\t0x0110\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX2\t0x0111\n#define PCI_DEVICE_ID_NVIDIA_QUADRO2_MXR\t0x0113\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS\t0x0150\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2\t0x0151\n#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA\t0x0152\n#define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO\t0x0153\n\n#define PCI_VENDOR_ID_IMS\t\t0x10e0\n#define PCI_DEVICE_ID_IMS_8849\t\t0x8849\n#define PCI_DEVICE_ID_IMS_TT128\t\t0x9128\n#define PCI_DEVICE_ID_IMS_TT3D\t\t0x9135\n\n#define PCI_VENDOR_ID_TEKRAM2\t\t0x10e1\n#define PCI_DEVICE_ID_TEKRAM2_690c\t0x690c\n\n#define PCI_VENDOR_ID_TUNDRA\t\t0x10e3\n#define PCI_DEVICE_ID_TUNDRA_CA91C042\t0x0000\n\n#define PCI_VENDOR_ID_AMCC\t\t0x10e8\n#define PCI_DEVICE_ID_AMCC_MYRINET\t0x8043\n#define PCI_DEVICE_ID_AMCC_PARASTATION\t0x8062\n#define PCI_DEVICE_ID_AMCC_S5933\t0x807d\n#define PCI_DEVICE_ID_AMCC_S5933_HEPC3\t0x809c\n\n#define PCI_VENDOR_ID_INTERG\t\t0x10ea\n#define PCI_DEVICE_ID_INTERG_1680\t0x1680\n#define PCI_DEVICE_ID_INTERG_1682\t0x1682\n#define PCI_DEVICE_ID_INTERG_2000\t0x2000\n#define PCI_DEVICE_ID_INTERG_2010\t0x2010\n#define PCI_DEVICE_ID_INTERG_5000\t0x5000\n\n#define PCI_VENDOR_ID_REALTEK\t\t0x10ec\n#define PCI_DEVICE_ID_REALTEK_8029\t0x8029\n#define PCI_DEVICE_ID_REALTEK_8129\t0x8129\n#define PCI_DEVICE_ID_REALTEK_8139\t0x8139\n\n#define PCI_VENDOR_ID_XILINX\t\t0x10ee\n#define PCI_DEVICE_ID_TURBOPAM\t\t0x4020\n\n#define PCI_VENDOR_ID_TRUEVISION\t0x10fa\n#define PCI_DEVICE_ID_TRUEVISION_T1000\t0x000c\n\n#define PCI_VENDOR_ID_INIT\t\t0x1101\n#define PCI_DEVICE_ID_INIT_320P\t\t0x9100\n#define PCI_DEVICE_ID_INIT_360P\t\t0x9500\n\n#define PCI_VENDOR_ID_CREATIVE\t\t0x1102 // duplicate: ECTIVA\n#define PCI_DEVICE_ID_CREATIVE_EMU10K1\t0x0002\n\n#define PCI_VENDOR_ID_ECTIVA\t\t0x1102 // duplicate: CREATIVE\n#define PCI_DEVICE_ID_ECTIVA_EV1938\t0x8938\n\n#define PCI_VENDOR_ID_TTI\t\t0x1103\n#define PCI_DEVICE_ID_TTI_HPT343\t0x0003\n#define PCI_DEVICE_ID_TTI_HPT366\t0x0004\n\n#define PCI_VENDOR_ID_VIA\t\t0x1106\n#define PCI_DEVICE_ID_VIA_8363_0\t0x0305\n#define PCI_DEVICE_ID_VIA_8371_0\t0x0391\n#define PCI_DEVICE_ID_VIA_8501_0\t0x0501\n#define PCI_DEVICE_ID_VIA_82C505\t0x0505\n#define PCI_DEVICE_ID_VIA_82C561\t0x0561\n#define PCI_DEVICE_ID_VIA_82C586_1\t0x0571\n#define PCI_DEVICE_ID_VIA_82C576\t0x0576\n#define PCI_DEVICE_ID_VIA_82C585\t0x0585\n#define PCI_DEVICE_ID_VIA_82C586_0\t0x0586\n#define PCI_DEVICE_ID_VIA_82C595\t0x0595\n#define PCI_DEVICE_ID_VIA_82C596\t0x0596\n#define PCI_DEVICE_ID_VIA_82C597_0\t0x0597\n#define PCI_DEVICE_ID_VIA_82C598_0\t0x0598\n#define PCI_DEVICE_ID_VIA_8601_0\t0x0601\n#define PCI_DEVICE_ID_VIA_8605_0\t0x0605\n#define PCI_DEVICE_ID_VIA_82C680\t0x0680\n#define PCI_DEVICE_ID_VIA_82C686\t0x0686\n#define PCI_DEVICE_ID_VIA_82C691\t0x0691\n#define PCI_DEVICE_ID_VIA_82C693\t0x0693\n#define PCI_DEVICE_ID_VIA_82C693_1\t0x0698\n#define PCI_DEVICE_ID_VIA_82C926\t0x0926\n#define PCI_DEVICE_ID_VIA_82C416\t0x1571\n#define PCI_DEVICE_ID_VIA_82C595_97\t0x1595\n#define PCI_DEVICE_ID_VIA_82C586_2\t0x3038\n#define PCI_DEVICE_ID_VIA_82C586_3\t0x3040\n#define PCI_DEVICE_ID_VIA_6305\t\t0x3044\n#define PCI_DEVICE_ID_VIA_82C596_3\t0x3050\n#define PCI_DEVICE_ID_VIA_82C596B_3\t0x3051\n#define PCI_DEVICE_ID_VIA_82C686_4\t0x3057\n#define PCI_DEVICE_ID_VIA_82C686_5\t0x3058\n#define PCI_DEVICE_ID_VIA_8233_5\t0x3059\n#define PCI_DEVICE_ID_VIA_8233_7\t0x3065\n#define PCI_DEVICE_ID_VIA_82C686_6\t0x3068\n#define PCI_DEVICE_ID_VIA_8233_0\t0x3074\n#define PCI_DEVICE_ID_VIA_8633_0\t0x3091\n#define PCI_DEVICE_ID_VIA_8367_0\t0x3099\n#define PCI_DEVICE_ID_VIA_86C100A\t0x6100\n#define PCI_DEVICE_ID_VIA_8231\t\t0x8231\n#define PCI_DEVICE_ID_VIA_8231_4\t0x8235\n#define PCI_DEVICE_ID_VIA_8365_1\t0x8305\n#define PCI_DEVICE_ID_VIA_8371_1\t0x8391\n#define PCI_DEVICE_ID_VIA_8501_1\t0x8501\n#define PCI_DEVICE_ID_VIA_82C597_1\t0x8597\n#define PCI_DEVICE_ID_VIA_82C598_1\t0x8598\n#define PCI_DEVICE_ID_VIA_8601_1\t0x8601\n#define PCI_DEVICE_ID_VIA_8505_1\t0X8605\n#define PCI_DEVICE_ID_VIA_8633_1\t0xB091\n#define PCI_DEVICE_ID_VIA_8367_1\t0xB099\n\n#define PCI_VENDOR_ID_SIEMENS           0x110A\n#define PCI_DEVICE_ID_SIEMENS_DSCC4     0x2102\n\n#define PCI_VENDOR_ID_SMC2\t\t0x1113\n#define PCI_DEVICE_ID_SMC2_1211TX\t0x1211\n\n#define PCI_VENDOR_ID_VORTEX\t\t0x1119\n#define PCI_DEVICE_ID_VORTEX_GDT60x0\t0x0000\n#define PCI_DEVICE_ID_VORTEX_GDT6000B\t0x0001\n#define PCI_DEVICE_ID_VORTEX_GDT6x10\t0x0002\n#define PCI_DEVICE_ID_VORTEX_GDT6x20\t0x0003\n#define PCI_DEVICE_ID_VORTEX_GDT6530\t0x0004\n#define PCI_DEVICE_ID_VORTEX_GDT6550\t0x0005\n#define PCI_DEVICE_ID_VORTEX_GDT6x17\t0x0006\n#define PCI_DEVICE_ID_VORTEX_GDT6x27\t0x0007\n#define PCI_DEVICE_ID_VORTEX_GDT6537\t0x0008\n#define PCI_DEVICE_ID_VORTEX_GDT6557\t0x0009\n#define PCI_DEVICE_ID_VORTEX_GDT6x15\t0x000a\n#define PCI_DEVICE_ID_VORTEX_GDT6x25\t0x000b\n#define PCI_DEVICE_ID_VORTEX_GDT6535\t0x000c\n#define PCI_DEVICE_ID_VORTEX_GDT6555\t0x000d\n#define PCI_DEVICE_ID_VORTEX_GDT6x17RP\t0x0100\n#define PCI_DEVICE_ID_VORTEX_GDT6x27RP\t0x0101\n#define PCI_DEVICE_ID_VORTEX_GDT6537RP\t0x0102\n#define PCI_DEVICE_ID_VORTEX_GDT6557RP\t0x0103\n#define PCI_DEVICE_ID_VORTEX_GDT6x11RP\t0x0104\n#define PCI_DEVICE_ID_VORTEX_GDT6x21RP\t0x0105\n#define PCI_DEVICE_ID_VORTEX_GDT6x17RP1\t0x0110\n#define PCI_DEVICE_ID_VORTEX_GDT6x27RP1\t0x0111\n#define PCI_DEVICE_ID_VORTEX_GDT6537RP1\t0x0112\n#define PCI_DEVICE_ID_VORTEX_GDT6557RP1\t0x0113\n#define PCI_DEVICE_ID_VORTEX_GDT6x11RP1\t0x0114\n#define PCI_DEVICE_ID_VORTEX_GDT6x21RP1\t0x0115\n#define PCI_DEVICE_ID_VORTEX_GDT6x17RP2\t0x0120\n#define PCI_DEVICE_ID_VORTEX_GDT6x27RP2\t0x0121\n#define PCI_DEVICE_ID_VORTEX_GDT6537RP2\t0x0122\n#define PCI_DEVICE_ID_VORTEX_GDT6557RP2\t0x0123\n#define PCI_DEVICE_ID_VORTEX_GDT6x11RP2\t0x0124\n#define PCI_DEVICE_ID_VORTEX_GDT6x21RP2\t0x0125\n\n#define PCI_VENDOR_ID_EF\t\t0x111a\n#define PCI_DEVICE_ID_EF_ATM_FPGA\t0x0000\n#define PCI_DEVICE_ID_EF_ATM_ASIC\t0x0002\n\n#define PCI_VENDOR_ID_IDT\t\t0x111d\n#define PCI_DEVICE_ID_IDT_IDT77201\t0x0001\n\n#define PCI_VENDOR_ID_FORE\t\t0x1127\n#define PCI_DEVICE_ID_FORE_PCA200PC\t0x0210\n#define PCI_DEVICE_ID_FORE_PCA200E\t0x0300\n\n#define PCI_VENDOR_ID_IMAGINGTECH\t0x112f\n#define PCI_DEVICE_ID_IMAGINGTECH_ICPCI\t0x0000\n\n#define PCI_VENDOR_ID_PHILIPS\t\t0x1131\n#define PCI_DEVICE_ID_PHILIPS_SAA7145\t0x7145\n#define PCI_DEVICE_ID_PHILIPS_SAA7146\t0x7146\n\n#define PCI_VENDOR_ID_EICON\t\t0x1133\n#define PCI_DEVICE_ID_EICON_DIVA20PRO\t0xe001\n#define PCI_DEVICE_ID_EICON_DIVA20\t0xe002\n#define PCI_DEVICE_ID_EICON_DIVA20PRO_U\t0xe003\n#define PCI_DEVICE_ID_EICON_DIVA20_U\t0xe004\n#define PCI_DEVICE_ID_EICON_DIVA201\t0xe005\n#define PCI_DEVICE_ID_EICON_MAESTRA\t0xe010\n#define PCI_DEVICE_ID_EICON_MAESTRAQ\t0xe012\n#define PCI_DEVICE_ID_EICON_MAESTRAQ_U\t0xe013\n#define PCI_DEVICE_ID_EICON_MAESTRAP\t0xe014\n \n#define PCI_VENDOR_ID_CYCLONE\t\t0x113c\n#define PCI_DEVICE_ID_CYCLONE_SDK\t0x0001\n\n#define PCI_VENDOR_ID_ALLIANCE\t\t0x1142\n#define PCI_DEVICE_ID_ALLIANCE_PROMOTIO\t0x3210\n#define PCI_DEVICE_ID_ALLIANCE_PROVIDEO\t0x6422\n#define PCI_DEVICE_ID_ALLIANCE_AT24\t0x6424\n#define PCI_DEVICE_ID_ALLIANCE_AT3D\t0x643d\n\n#define PCI_VENDOR_ID_SYSKONNECT\t0x1148\n#define PCI_DEVICE_ID_SYSKONNECT_FP\t0x4000\n#define PCI_DEVICE_ID_SYSKONNECT_TR\t0x4200\n#define PCI_DEVICE_ID_SYSKONNECT_GE\t0x4300\n\n#define PCI_VENDOR_ID_VMIC\t\t0x114a\n#define PCI_DEVICE_ID_VMIC_VME\t\t0x7587\n\n#define PCI_VENDOR_ID_DIGI\t\t0x114f\n#define PCI_DEVICE_ID_DIGI_EPC\t\t0x0002\n#define PCI_DEVICE_ID_DIGI_RIGHTSWITCH\t0x0003\n#define PCI_DEVICE_ID_DIGI_XEM\t\t0x0004\n#define PCI_DEVICE_ID_DIGI_XR\t\t0x0005\n#define PCI_DEVICE_ID_DIGI_CX\t\t0x0006\n#define PCI_DEVICE_ID_DIGI_XRJ\t\t0x0009\n#define PCI_DEVICE_ID_DIGI_EPCJ\t\t0x000a\n#define PCI_DEVICE_ID_DIGI_XR_920\t0x0027\n#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_E\t0x0070\n#define PCI_DEVICE_ID_DIGI_DF_M_E\t0x0071\n#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_A\t0x0072\n#define PCI_DEVICE_ID_DIGI_DF_M_A\t0x0073\n\n#define PCI_VENDOR_ID_MUTECH\t\t0x1159\n#define PCI_DEVICE_ID_MUTECH_MV1000\t0x0001\n\n#define PCI_VENDOR_ID_XIRCOM\t\t0x115d\n#define PCI_DEVICE_ID_XIRCOM_X3201_ETH\t0x0003\n#define PCI_DEVICE_ID_XIRCOM_X3201_MDM\t0x0103\n\n#define PCI_VENDOR_ID_RENDITION\t\t0x1163\n#define PCI_DEVICE_ID_RENDITION_VERITE\t0x0001\n#define PCI_DEVICE_ID_RENDITION_VERITE2100 0x2000\n\n#define PCI_VENDOR_ID_SERVERWORKS\t  0x1166\n#define PCI_DEVICE_ID_SERVERWORKS_HE\t  0x0008\n#define PCI_DEVICE_ID_SERVERWORKS_LE\t  0x0009\n#define PCI_DEVICE_ID_SERVERWORKS_CIOB30  0x0010\n#define PCI_DEVICE_ID_SERVERWORKS_CMIC_HE 0x0011\n#define PCI_DEVICE_ID_SERVERWORKS_OSB4\t  0x0200\n#define PCI_DEVICE_ID_SERVERWORKS_CSB5\t  0x0201\n#define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211\n#define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212\n#define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220\n#define PCI_DEVICE_ID_SERVERWORKS_CSB5USB PCI_DEVICE_ID_SERVERWORKS_OSB4USB\n#define PCI_DEVICE_ID_SERVERWORKS_CSB5ISA 0x0230\n\n#define PCI_VENDOR_ID_SBE\t\t0x1176\n#define PCI_DEVICE_ID_SBE_WANXL100\t0x0301\n#define PCI_DEVICE_ID_SBE_WANXL200\t0x0302\n#define PCI_DEVICE_ID_SBE_WANXL400\t0x0104\n\n#define PCI_VENDOR_ID_TOSHIBA\t\t0x1179\n#define PCI_DEVICE_ID_TOSHIBA_601\t0x0601\n#define PCI_DEVICE_ID_TOSHIBA_TOPIC95\t0x060a\n#define PCI_DEVICE_ID_TOSHIBA_TOPIC97\t0x060f\n\n#define PCI_VENDOR_ID_RICOH\t\t0x1180\n#define PCI_DEVICE_ID_RICOH_RL5C465\t0x0465\n#define PCI_DEVICE_ID_RICOH_RL5C466\t0x0466\n#define PCI_DEVICE_ID_RICOH_RL5C475\t0x0475\n#define PCI_DEVICE_ID_RICOH_RL5C476\t0x0476\n#define PCI_DEVICE_ID_RICOH_RL5C478\t0x0478\n\n#define PCI_VENDOR_ID_ARTOP\t\t0x1191\n#define PCI_DEVICE_ID_ARTOP_ATP8400\t0x0004\n#define PCI_DEVICE_ID_ARTOP_ATP850UF\t0x0005\n#define PCI_DEVICE_ID_ARTOP_ATP860\t0x0006\n#define PCI_DEVICE_ID_ARTOP_ATP860R\t0x0007\n#define PCI_DEVICE_ID_ARTOP_AEC7610\t0x8002\n#define PCI_DEVICE_ID_ARTOP_AEC7612UW\t0x8010\n#define PCI_DEVICE_ID_ARTOP_AEC7612U\t0x8020\n#define PCI_DEVICE_ID_ARTOP_AEC7612S\t0x8030\n#define PCI_DEVICE_ID_ARTOP_AEC7612D\t0x8040\n#define PCI_DEVICE_ID_ARTOP_AEC7612SUW\t0x8050\n#define PCI_DEVICE_ID_ARTOP_8060\t0x8060\n\n#define PCI_VENDOR_ID_ZEITNET\t\t0x1193\n#define PCI_DEVICE_ID_ZEITNET_1221\t0x0001\n#define PCI_DEVICE_ID_ZEITNET_1225\t0x0002\n\n#define PCI_VENDOR_ID_OMEGA\t\t0x119b\n#define PCI_DEVICE_ID_OMEGA_82C092G\t0x1221\n\n#define PCI_VENDOR_ID_FUJITSU_ME\t0x119e\n#define PCI_DEVICE_ID_FUJITSU_FS155\t0x0001\n#define PCI_DEVICE_ID_FUJITSU_FS50\t0x0003\n\n#define PCI_SUBVENDOR_ID_KEYSPAN\t0x11a9\n#define PCI_SUBDEVICE_ID_KEYSPAN_SX2\t0x5334\n\n#define PCI_VENDOR_ID_GALILEO\t\t0x11ab\n#define PCI_DEVICE_ID_GALILEO_GT64011\t0x4146\n\n#define PCI_VENDOR_ID_LITEON\t\t0x11ad\n#define PCI_DEVICE_ID_LITEON_LNE100TX\t0x0002\n\n#define PCI_VENDOR_ID_V3\t\t0x11b0\n#define PCI_DEVICE_ID_V3_V960\t\t0x0001\n#define PCI_DEVICE_ID_V3_V350\t\t0x0001\n#define PCI_DEVICE_ID_V3_V961\t\t0x0002\n#define PCI_DEVICE_ID_V3_V351\t\t0x0002\n\n#define PCI_VENDOR_ID_NP\t\t0x11bc\n#define PCI_DEVICE_ID_NP_PCI_FDDI\t0x0001\n\n#define PCI_VENDOR_ID_ATT\t\t0x11c1\n#define PCI_DEVICE_ID_ATT_L56XMF\t0x0440\n#define PCI_DEVICE_ID_ATT_VENUS_MODEM\t0x480\n\n#define PCI_VENDOR_ID_SPECIALIX\t\t0x11cb\n#define PCI_DEVICE_ID_SPECIALIX_IO8\t0x2000\n#define PCI_DEVICE_ID_SPECIALIX_XIO\t0x4000\n#define PCI_DEVICE_ID_SPECIALIX_RIO\t0x8000\n#define PCI_SUBDEVICE_ID_SPECIALIX_SPEED4 0xa004\n\n#define PCI_VENDOR_ID_AURAVISION\t0x11d1\n#define PCI_DEVICE_ID_AURAVISION_VXP524\t0x01f7\n\n#define PCI_VENDOR_ID_ANALOG_DEVICES\t0x11d4\n#define PCI_DEVICE_ID_AD1889JS\t\t0x1889\n\n#define PCI_VENDOR_ID_IKON\t\t0x11d5\n#define PCI_DEVICE_ID_IKON_10115\t0x0115\n#define PCI_DEVICE_ID_IKON_10117\t0x0117\n\n#define PCI_VENDOR_ID_ZORAN\t\t0x11de\n#define PCI_DEVICE_ID_ZORAN_36057\t0x6057\n#define PCI_DEVICE_ID_ZORAN_36120\t0x6120\n\n#define PCI_VENDOR_ID_KINETIC\t\t0x11f4\n#define PCI_DEVICE_ID_KINETIC_2915\t0x2915\n\n#define PCI_VENDOR_ID_COMPEX\t\t0x11f6\n#define PCI_DEVICE_ID_COMPEX_ENET100VG4\t0x0112\n#define PCI_DEVICE_ID_COMPEX_RL2000\t0x1401\n\n#define PCI_VENDOR_ID_RP\t\t0x11fe\n#define PCI_DEVICE_ID_RP32INTF\t\t0x0001\n#define PCI_DEVICE_ID_RP8INTF\t\t0x0002\n#define PCI_DEVICE_ID_RP16INTF\t\t0x0003\n#define PCI_DEVICE_ID_RP4QUAD\t\t0x0004\n#define PCI_DEVICE_ID_RP8OCTA\t\t0x0005\n#define PCI_DEVICE_ID_RP8J\t\t0x0006\n#define PCI_DEVICE_ID_RPP4\t\t0x000A\n#define PCI_DEVICE_ID_RPP8\t\t0x000B\n#define PCI_DEVICE_ID_RP8M\t\t0x000C\n\n#define PCI_VENDOR_ID_CYCLADES\t\t0x120e\n#define PCI_DEVICE_ID_CYCLOM_Y_Lo\t0x0100\n#define PCI_DEVICE_ID_CYCLOM_Y_Hi\t0x0101\n#define PCI_DEVICE_ID_CYCLOM_4Y_Lo\t0x0102\n#define PCI_DEVICE_ID_CYCLOM_4Y_Hi\t0x0103\n#define PCI_DEVICE_ID_CYCLOM_8Y_Lo\t0x0104\n#define PCI_DEVICE_ID_CYCLOM_8Y_Hi\t0x0105\n#define PCI_DEVICE_ID_CYCLOM_Z_Lo\t0x0200\n#define PCI_DEVICE_ID_CYCLOM_Z_Hi\t0x0201\n#define PCI_DEVICE_ID_PC300_RX_2\t0x0300\n#define PCI_DEVICE_ID_PC300_RX_1\t0x0301\n#define PCI_DEVICE_ID_PC300_TE_2\t0x0310\n#define PCI_DEVICE_ID_PC300_TE_1\t0x0311\n\n#define PCI_VENDOR_ID_ESSENTIAL\t\t0x120f\n#define PCI_DEVICE_ID_ESSENTIAL_ROADRUNNER\t0x0001\n\n#define PCI_VENDOR_ID_O2\t\t0x1217\n#define PCI_DEVICE_ID_O2_6729\t\t0x6729\n#define PCI_DEVICE_ID_O2_6730\t\t0x673a\n#define PCI_DEVICE_ID_O2_6832\t\t0x6832\n#define PCI_DEVICE_ID_O2_6836\t\t0x6836\n\n#define PCI_VENDOR_ID_3DFX\t\t0x121a\n#define PCI_DEVICE_ID_3DFX_VOODOO\t0x0001\n#define PCI_DEVICE_ID_3DFX_VOODOO2\t0x0002\n#define PCI_DEVICE_ID_3DFX_BANSHEE\t0x0003\n#define PCI_DEVICE_ID_3DFX_VOODOO3\t0x0005\n\n#define PCI_VENDOR_ID_SIGMADES\t\t0x1236\n#define PCI_DEVICE_ID_SIGMADES_6425\t0x6401\n\n#define PCI_VENDOR_ID_CCUBE\t\t0x123f\n\n#define PCI_VENDOR_ID_AVM\t\t0x1244\n#define PCI_DEVICE_ID_AVM_B1\t\t0x0700\n#define PCI_DEVICE_ID_AVM_C4\t\t0x0800\n#define PCI_DEVICE_ID_AVM_A1\t\t0x0a00\n#define PCI_DEVICE_ID_AVM_C2\t\t0x1100\n#define PCI_DEVICE_ID_AVM_T1\t\t0x1200\n\n#define PCI_VENDOR_ID_DIPIX\t\t0x1246\n\n#define PCI_VENDOR_ID_STALLION\t\t0x124d\n#define PCI_DEVICE_ID_STALLION_ECHPCI832 0x0000\n#define PCI_DEVICE_ID_STALLION_ECHPCI864 0x0002\n#define PCI_DEVICE_ID_STALLION_EIOPCI\t0x0003\n\n#define PCI_VENDOR_ID_OPTIBASE\t\t0x1255\n#define PCI_DEVICE_ID_OPTIBASE_FORGE\t0x1110\n#define PCI_DEVICE_ID_OPTIBASE_FUSION\t0x1210\n#define PCI_DEVICE_ID_OPTIBASE_VPLEX\t0x2110\n#define PCI_DEVICE_ID_OPTIBASE_VPLEXCC\t0x2120\n#define PCI_DEVICE_ID_OPTIBASE_VQUEST\t0x2130\n\n#define PCI_VENDOR_ID_ESS\t\t0x125d\n#define PCI_DEVICE_ID_ESS_ESS1968\t0x1968\n#define PCI_DEVICE_ID_ESS_AUDIOPCI\t0x1969\n#define PCI_DEVICE_ID_ESS_ESS1978\t0x1978\n\n#define PCI_VENDOR_ID_SATSAGEM\t\t0x1267\n#define PCI_DEVICE_ID_SATSAGEM_NICCY\t0x1016\n#define PCI_DEVICE_ID_SATSAGEM_PCR2101\t0x5352\n#define PCI_DEVICE_ID_SATSAGEM_TELSATTURBO 0x5a4b\n\n#define PCI_VENDOR_ID_HUGHES\t\t0x1273\n#define PCI_DEVICE_ID_HUGHES_DIRECPC\t0x0002\n\n#define PCI_VENDOR_ID_ENSONIQ\t\t0x1274\n#define PCI_DEVICE_ID_ENSONIQ_CT5880\t0x5880\n#define PCI_DEVICE_ID_ENSONIQ_ES1370\t0x5000\n#define PCI_DEVICE_ID_ENSONIQ_ES1371\t0x1371\n\n#define PCI_VENDOR_ID_ROCKWELL\t\t0x127A\n\n#define PCI_VENDOR_ID_ITE\t\t0x1283\n#define PCI_DEVICE_ID_ITE_IT8172G\t0x8172\n\n/* formerly Platform Tech */\n#define PCI_VENDOR_ID_ESS_OLD\t\t0x1285\n#define PCI_DEVICE_ID_ESS_ESS0100\t0x0100\n\n#define PCI_VENDOR_ID_ALTEON\t\t0x12ae\n#define PCI_DEVICE_ID_ALTEON_ACENIC\t0x0001\n\n#define PCI_VENDOR_ID_USR\t\t0x12B9\n\n#define PCI_SUBVENDOR_ID_CONNECT_TECH\t\t\t0x12c4\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_232\t\t0x0001\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_232\t\t0x0002\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_232\t\t0x0003\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485\t\t0x0004\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_4_4\t0x0005\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485\t\t0x0006\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485_2_2\t0x0007\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_485\t\t0x0008\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_2_6\t0x0009\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH081101V1\t0x000A\n#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH041101V1\t0x000B\n\n#define PCI_VENDOR_ID_PICTUREL\t\t0x12c5\n#define PCI_DEVICE_ID_PICTUREL_PCIVST\t0x0081\n\n#define PCI_VENDOR_ID_NVIDIA_SGS\t0x12d2\n#define PCI_DEVICE_ID_NVIDIA_SGS_RIVA128 0x0018\n\n#define PCI_SUBVENDOR_ID_CHASE_PCIFAST\t\t0x12E0\n#define PCI_SUBDEVICE_ID_CHASE_PCIFAST4\t\t0x0031\n#define PCI_SUBDEVICE_ID_CHASE_PCIFAST8\t\t0x0021\n#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16\t0x0011\n#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16FMC\t0x0041\n#define PCI_SUBVENDOR_ID_CHASE_PCIRAS\t\t0x124D\n#define PCI_SUBDEVICE_ID_CHASE_PCIRAS4\t\t0xF001\n#define PCI_SUBDEVICE_ID_CHASE_PCIRAS8\t\t0xF010\n\n#define PCI_VENDOR_ID_AUREAL\t\t0x12eb\n#define PCI_DEVICE_ID_AUREAL_VORTEX_1\t0x0001\n#define PCI_DEVICE_ID_AUREAL_VORTEX_2\t0x0002\n\n#define PCI_VENDOR_ID_CBOARDS\t\t0x1307\n#define PCI_DEVICE_ID_CBOARDS_DAS1602_16 0x0001\n\n#define PCI_VENDOR_ID_SIIG\t\t0x131f\n#define PCI_DEVICE_ID_SIIG_1S_10x_550\t0x1000\n#define PCI_DEVICE_ID_SIIG_1S_10x_650\t0x1001\n#define PCI_DEVICE_ID_SIIG_1S_10x_850\t0x1002\n#define PCI_DEVICE_ID_SIIG_1S1P_10x_550\t0x1010\n#define PCI_DEVICE_ID_SIIG_1S1P_10x_650\t0x1011\n#define PCI_DEVICE_ID_SIIG_1S1P_10x_850\t0x1012\n#define PCI_DEVICE_ID_SIIG_1P_10x\t0x1020\n#define PCI_DEVICE_ID_SIIG_2P_10x\t0x1021\n#define PCI_DEVICE_ID_SIIG_2S_10x_550\t0x1030\n#define PCI_DEVICE_ID_SIIG_2S_10x_650\t0x1031\n#define PCI_DEVICE_ID_SIIG_2S_10x_850\t0x1032\n#define PCI_DEVICE_ID_SIIG_2S1P_10x_550\t0x1034\n#define PCI_DEVICE_ID_SIIG_2S1P_10x_650\t0x1035\n#define PCI_DEVICE_ID_SIIG_2S1P_10x_850\t0x1036\n#define PCI_DEVICE_ID_SIIG_4S_10x_550\t0x1050\n#define PCI_DEVICE_ID_SIIG_4S_10x_650\t0x1051\n#define PCI_DEVICE_ID_SIIG_4S_10x_850\t0x1052\n#define PCI_DEVICE_ID_SIIG_1S_20x_550\t0x2000\n#define PCI_DEVICE_ID_SIIG_1S_20x_650\t0x2001\n#define PCI_DEVICE_ID_SIIG_1S_20x_850\t0x2002\n#define PCI_DEVICE_ID_SIIG_1P_20x\t0x2020\n#define PCI_DEVICE_ID_SIIG_2P_20x\t0x2021\n#define PCI_DEVICE_ID_SIIG_2S_20x_550\t0x2030\n#define PCI_DEVICE_ID_SIIG_2S_20x_650\t0x2031\n#define PCI_DEVICE_ID_SIIG_2S_20x_850\t0x2032\n#define PCI_DEVICE_ID_SIIG_2P1S_20x_550\t0x2040\n#define PCI_DEVICE_ID_SIIG_2P1S_20x_650\t0x2041\n#define PCI_DEVICE_ID_SIIG_2P1S_20x_850\t0x2042\n#define PCI_DEVICE_ID_SIIG_1S1P_20x_550\t0x2010\n#define PCI_DEVICE_ID_SIIG_1S1P_20x_650\t0x2011\n#define PCI_DEVICE_ID_SIIG_1S1P_20x_850\t0x2012\n#define PCI_DEVICE_ID_SIIG_4S_20x_550\t0x2050\n#define PCI_DEVICE_ID_SIIG_4S_20x_650\t0x2051\n#define PCI_DEVICE_ID_SIIG_4S_20x_850\t0x2052\n#define PCI_DEVICE_ID_SIIG_2S1P_20x_550\t0x2060\n#define PCI_DEVICE_ID_SIIG_2S1P_20x_650\t0x2061\n#define PCI_DEVICE_ID_SIIG_2S1P_20x_850\t0x2062\n\n#define PCI_VENDOR_ID_DOMEX\t\t0x134a\n#define PCI_DEVICE_ID_DOMEX_DMX3191D\t0x0001\n\n#define PCI_VENDOR_ID_QUATECH\t\t0x135C\n#define PCI_DEVICE_ID_QUATECH_QSC100\t0x0010\n#define PCI_DEVICE_ID_QUATECH_DSC100\t0x0020\n#define PCI_DEVICE_ID_QUATECH_DSC200\t0x0030\n#define PCI_DEVICE_ID_QUATECH_QSC200\t0x0040\n#define PCI_DEVICE_ID_QUATECH_ESC100D\t0x0050\n#define PCI_DEVICE_ID_QUATECH_ESC100M\t0x0060\n\n#define PCI_VENDOR_ID_SEALEVEL\t\t0x135e\n#define PCI_DEVICE_ID_SEALEVEL_U530\t0x7101\n#define PCI_DEVICE_ID_SEALEVEL_UCOMM2\t0x7201\n#define PCI_DEVICE_ID_SEALEVEL_UCOMM422\t0x7402\n#define PCI_DEVICE_ID_SEALEVEL_UCOMM232\t0x7202\n#define PCI_DEVICE_ID_SEALEVEL_COMM4\t0x7401\n#define PCI_DEVICE_ID_SEALEVEL_COMM8\t0x7801\n\n#define PCI_VENDOR_ID_HYPERCOPE\t\t0x1365\n#define PCI_DEVICE_ID_HYPERCOPE_PLX\t0x9050\n#define PCI_SUBDEVICE_ID_HYPERCOPE_OLD_ERGO\t0x0104\n#define PCI_SUBDEVICE_ID_HYPERCOPE_ERGO\t\t0x0106\n#define PCI_SUBDEVICE_ID_HYPERCOPE_METRO\t0x0107\n#define PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2\t0x0108\n#define PCI_SUBDEVICE_ID_HYPERCOPE_PLEXUS\t0x0109\n\n#define PCI_VENDOR_ID_KAWASAKI\t\t0x136b\n#define PCI_DEVICE_ID_MCHIP_KL5A72002\t0xff01\n\n#define PCI_VENDOR_ID_LMC\t\t0x1376\n#define PCI_DEVICE_ID_LMC_HSSI\t\t0x0003\n#define PCI_DEVICE_ID_LMC_DS3\t\t0x0004\n#define PCI_DEVICE_ID_LMC_SSI\t\t0x0005\n#define PCI_DEVICE_ID_LMC_T1\t\t0x0006\n\n#define PCI_VENDOR_ID_NETGEAR\t\t0x1385\n#define PCI_DEVICE_ID_NETGEAR_GA620\t0x620a\n\n#define PCI_VENDOR_ID_APPLICOM\t\t0x1389\n#define PCI_DEVICE_ID_APPLICOM_PCIGENERIC 0x0001\n#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 0x0002\n#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 0x0003\n\n#define PCI_VENDOR_ID_MOXA\t\t0x1393\n#define PCI_DEVICE_ID_MOXA_C104\t\t0x1040\n#define PCI_DEVICE_ID_MOXA_C168\t\t0x1680\n#define PCI_DEVICE_ID_MOXA_CP204J\t0x2040\n#define PCI_DEVICE_ID_MOXA_C218\t\t0x2180\n#define PCI_DEVICE_ID_MOXA_C320\t\t0x3200\n\n#define PCI_VENDOR_ID_CCD\t\t0x1397\n#define PCI_DEVICE_ID_CCD_2BD0\t\t0x2bd0\n#define PCI_DEVICE_ID_CCD_B000\t\t0xb000\n#define PCI_DEVICE_ID_CCD_B006\t\t0xb006\n#define PCI_DEVICE_ID_CCD_B007\t\t0xb007\n#define PCI_DEVICE_ID_CCD_B008\t\t0xb008\n#define PCI_DEVICE_ID_CCD_B009\t\t0xb009\n#define PCI_DEVICE_ID_CCD_B00A\t\t0xb00a\n#define PCI_DEVICE_ID_CCD_B00B\t\t0xb00b\n#define PCI_DEVICE_ID_CCD_B00C\t\t0xb00c\n#define PCI_DEVICE_ID_CCD_B100\t\t0xb100\n\n#define PCI_VENDOR_ID_3WARE\t\t0x13C1\n#define PCI_DEVICE_ID_3WARE_1000\t0x1000\n\n#define PCI_VENDOR_ID_ABOCOM\t\t0x13D1\n#define PCI_DEVICE_ID_ABOCOM_2BD1       0x2BD1\n\n#define PCI_VENDOR_ID_CMEDIA\t\t0x13f6\n#define PCI_DEVICE_ID_CMEDIA_CM8338A\t0x0100\n#define PCI_DEVICE_ID_CMEDIA_CM8338B\t0x0101\n#define PCI_DEVICE_ID_CMEDIA_CM8738\t0x0111\n#define PCI_DEVICE_ID_CMEDIA_CM8738B\t0x0112\n\n#define PCI_VENDOR_ID_LAVA\t\t0x1407\n#define PCI_DEVICE_ID_LAVA_DSERIAL\t0x0100 /* 2x 16550 */\n#define PCI_DEVICE_ID_LAVA_QUATRO_A\t0x0101 /* 2x 16550, half of 4 port */\n#define PCI_DEVICE_ID_LAVA_QUATRO_B\t0x0102 /* 2x 16550, half of 4 port */\n#define PCI_DEVICE_ID_LAVA_PORT_PLUS\t0x0200 /* 2x 16650 */\n#define PCI_DEVICE_ID_LAVA_QUAD_A\t0x0201 /* 2x 16650, half of 4 port */\n#define PCI_DEVICE_ID_LAVA_QUAD_B\t0x0202 /* 2x 16650, half of 4 port */\n#define PCI_DEVICE_ID_LAVA_SSERIAL\t0x0500 /* 1x 16550 */\n#define PCI_DEVICE_ID_LAVA_PORT_650\t0x0600 /* 1x 16650 */\n#define PCI_DEVICE_ID_LAVA_PARALLEL\t0x8000\n#define PCI_DEVICE_ID_LAVA_DUAL_PAR_A\t0x8002 /* The Lava Dual Parallel is */\n#define PCI_DEVICE_ID_LAVA_DUAL_PAR_B\t0x8003 /* two PCI devices on a card */\n#define PCI_DEVICE_ID_LAVA_BOCA_IOPPAR\t0x8800\n\n#define PCI_VENDOR_ID_TIMEDIA\t\t0x1409\n#define PCI_DEVICE_ID_TIMEDIA_1889\t0x7168\n\n#define PCI_VENDOR_ID_OXSEMI\t\t0x1415\n#define PCI_DEVICE_ID_OXSEMI_16PCI954\t0x9501\n#define PCI_DEVICE_ID_OXSEMI_16PCI952\t0x950A\n#define PCI_DEVICE_ID_OXSEMI_16PCI95N\t0x9511\n\n#define PCI_VENDOR_ID_AIRONET\t\t0x14b9\n#define PCI_DEVICE_ID_AIRONET_4800_1\t0x0001\n#define PCI_DEVICE_ID_AIRONET_4800\t0x4500 // values switched?  see\n#define PCI_DEVICE_ID_AIRONET_4500\t0x4800 // drivers/net/aironet4500_card.c\n\n#define PCI_VENDOR_ID_TITAN\t\t0x14D2\n#define PCI_DEVICE_ID_TITAN_110L\t0x8011\n#define PCI_DEVICE_ID_TITAN_210L\t0x8021\n#define PCI_DEVICE_ID_TITAN_100\t\t0xA001\n#define PCI_DEVICE_ID_TITAN_200\t\t0xA005\n#define PCI_DEVICE_ID_TITAN_400\t\t0xA003\n#define PCI_DEVICE_ID_TITAN_800B\t0xA004\n\n#define PCI_VENDOR_ID_PANACOM\t\t0x14d4\n#define PCI_DEVICE_ID_PANACOM_QUADMODEM\t0x0400\n#define PCI_DEVICE_ID_PANACOM_DUALMODEM\t0x0402\n\n#define PCI_VENDOR_ID_AFAVLAB\t\t0x14db\n#define PCI_DEVICE_ID_AFAVLAB_TK9902\t0x2120\n\n#define PCI_VENDOR_ID_BROADCOM\t\t0x14e4\n#define PCI_DEVICE_ID_TIGON3\t\t0x1644\n\n#define PCI_VENDOR_ID_SYBA\t\t0x1592\n#define PCI_DEVICE_ID_SYBA_2P_EPP\t0x0782\n#define PCI_DEVICE_ID_SYBA_1P_ECP\t0x0783\n\n#define PCI_VENDOR_ID_MORETON\t\t0x15aa\n#define PCI_DEVICE_ID_RASTEL_2PORT\t0x2000\n\n#define PCI_VENDOR_ID_ZOLTRIX\t\t0x15b0\n#define PCI_DEVICE_ID_ZOLTRIX_2BD0\t0x2bd0 \n\n#define PCI_VENDOR_ID_PDC\t\t0x15e9\n#define PCI_DEVICE_ID_PDC_1841\t\t0x1841\n\n#define PCI_VENDOR_ID_SYMPHONY\t\t0x1c1c\n#define PCI_DEVICE_ID_SYMPHONY_101\t0x0001\n\n#define PCI_VENDOR_ID_TEKRAM\t\t0x1de1\n#define PCI_DEVICE_ID_TEKRAM_DC290\t0xdc29\n\n#define PCI_VENDOR_ID_3DLABS\t\t0x3d3d\n#define PCI_DEVICE_ID_3DLABS_300SX\t0x0001\n#define PCI_DEVICE_ID_3DLABS_500TX\t0x0002\n#define PCI_DEVICE_ID_3DLABS_DELTA\t0x0003\n#define PCI_DEVICE_ID_3DLABS_PERMEDIA\t0x0004\n#define PCI_DEVICE_ID_3DLABS_MX\t\t0x0006\n#define PCI_DEVICE_ID_3DLABS_PERMEDIA2\t0x0007\n#define PCI_DEVICE_ID_3DLABS_GAMMA\t0x0008\n#define PCI_DEVICE_ID_3DLABS_PERMEDIA2V\t0x0009\n\n#define PCI_VENDOR_ID_AVANCE\t\t0x4005\n#define PCI_DEVICE_ID_AVANCE_ALG2064\t0x2064\n#define PCI_DEVICE_ID_AVANCE_2302\t0x2302\n\n#define PCI_VENDOR_ID_NETVIN\t\t0x4a14\n#define PCI_DEVICE_ID_NETVIN_NV5000SC\t0x5000\n\n#define PCI_VENDOR_ID_S3\t\t0x5333\n#define PCI_DEVICE_ID_S3_PLATO_PXS\t0x0551\n#define PCI_DEVICE_ID_S3_ViRGE\t\t0x5631\n#define PCI_DEVICE_ID_S3_TRIO\t\t0x8811\n#define PCI_DEVICE_ID_S3_AURORA64VP\t0x8812\n#define PCI_DEVICE_ID_S3_TRIO64UVP\t0x8814\n#define PCI_DEVICE_ID_S3_ViRGE_VX\t0x883d\n#define PCI_DEVICE_ID_S3_868\t\t0x8880\n#define PCI_DEVICE_ID_S3_928\t\t0x88b0\n#define PCI_DEVICE_ID_S3_864_1\t\t0x88c0\n#define PCI_DEVICE_ID_S3_864_2\t\t0x88c1\n#define PCI_DEVICE_ID_S3_964_1\t\t0x88d0\n#define PCI_DEVICE_ID_S3_964_2\t\t0x88d1\n#define PCI_DEVICE_ID_S3_968\t\t0x88f0\n#define PCI_DEVICE_ID_S3_TRIO64V2\t0x8901\n#define PCI_DEVICE_ID_S3_PLATO_PXG\t0x8902\n#define PCI_DEVICE_ID_S3_ViRGE_DXGX\t0x8a01\n#define PCI_DEVICE_ID_S3_ViRGE_GX2\t0x8a10\n#define PCI_DEVICE_ID_S3_ViRGE_MX\t0x8c01\n#define PCI_DEVICE_ID_S3_ViRGE_MXP\t0x8c02\n#define PCI_DEVICE_ID_S3_ViRGE_MXPMV\t0x8c03\n#define PCI_DEVICE_ID_S3_SONICVIBES\t0xca00\n\n#define PCI_VENDOR_ID_DCI\t\t0x6666\n#define PCI_DEVICE_ID_DCI_PCCOM4\t0x0001\n#define PCI_DEVICE_ID_DCI_PCCOM8\t0x0002\n\n#define PCI_VENDOR_ID_GENROCO\t\t0x5555\n#define PCI_DEVICE_ID_GENROCO_HFP832\t0x0003\n\n#define PCI_VENDOR_ID_INTEL\t\t0x8086\n#define PCI_DEVICE_ID_INTEL_21145\t0x0039\n#define PCI_DEVICE_ID_INTEL_82375\t0x0482\n#define PCI_DEVICE_ID_INTEL_82424\t0x0483\n#define PCI_DEVICE_ID_INTEL_82378\t0x0484\n#define PCI_DEVICE_ID_INTEL_82430\t0x0486\n#define PCI_DEVICE_ID_INTEL_82434\t0x04a3\n#define PCI_DEVICE_ID_INTEL_I960\t0x0960\n#define PCI_DEVICE_ID_INTEL_82562ET\t0x1031\n#define PCI_DEVICE_ID_INTEL_82559ER\t0x1209\n#define PCI_DEVICE_ID_INTEL_82092AA_0\t0x1221\n#define PCI_DEVICE_ID_INTEL_82092AA_1\t0x1222\n#define PCI_DEVICE_ID_INTEL_7116\t0x1223\n#define PCI_DEVICE_ID_INTEL_82596\t0x1226\n#define PCI_DEVICE_ID_INTEL_82865\t0x1227\n#define PCI_DEVICE_ID_INTEL_82557\t0x1229\n#define PCI_DEVICE_ID_INTEL_82437\t0x122d\n#define PCI_DEVICE_ID_INTEL_82371FB_0\t0x122e\n#define PCI_DEVICE_ID_INTEL_82371FB_1\t0x1230\n#define PCI_DEVICE_ID_INTEL_82371MX\t0x1234\n#define PCI_DEVICE_ID_INTEL_82437MX\t0x1235\n#define PCI_DEVICE_ID_INTEL_82441\t0x1237\n#define PCI_DEVICE_ID_INTEL_82380FB\t0x124b\n#define PCI_DEVICE_ID_INTEL_82439\t0x1250\n#define PCI_DEVICE_ID_INTEL_80960_RP\t0x1960\n#define PCI_DEVICE_ID_INTEL_82371SB_0\t0x7000\n#define PCI_DEVICE_ID_INTEL_82371SB_1\t0x7010\n#define PCI_DEVICE_ID_INTEL_82371SB_2\t0x7020\n#define PCI_DEVICE_ID_INTEL_82437VX\t0x7030\n#define PCI_DEVICE_ID_INTEL_82439TX\t0x7100\n#define PCI_DEVICE_ID_INTEL_82371AB_0\t0x7110\n#define PCI_DEVICE_ID_INTEL_82371AB\t0x7111\n#define PCI_DEVICE_ID_INTEL_82371AB_2\t0x7112\n#define PCI_DEVICE_ID_INTEL_82371AB_3\t0x7113\n#define PCI_DEVICE_ID_INTEL_82801AA_0\t0x2410\n#define PCI_DEVICE_ID_INTEL_82801AA_1\t0x2411\n#define PCI_DEVICE_ID_INTEL_82801AA_2\t0x2412\n#define PCI_DEVICE_ID_INTEL_82801AA_3\t0x2413\n#define PCI_DEVICE_ID_INTEL_82801AA_5\t0x2415\n#define PCI_DEVICE_ID_INTEL_82801AA_6\t0x2416\n#define PCI_DEVICE_ID_INTEL_82801AA_8\t0x2418\n#define PCI_DEVICE_ID_INTEL_82801AB_0\t0x2420\n#define PCI_DEVICE_ID_INTEL_82801AB_1\t0x2421\n#define PCI_DEVICE_ID_INTEL_82801AB_2\t0x2422\n#define PCI_DEVICE_ID_INTEL_82801AB_3\t0x2423\n#define PCI_DEVICE_ID_INTEL_82801AB_5\t0x2425\n#define PCI_DEVICE_ID_INTEL_82801AB_6\t0x2426\n#define PCI_DEVICE_ID_INTEL_82801AB_8\t0x2428\n#define PCI_DEVICE_ID_INTEL_82801BA_0\t0x2440\n#define PCI_DEVICE_ID_INTEL_82801BA_1\t0x2442\n#define PCI_DEVICE_ID_INTEL_82801BA_2\t0x2443\n#define PCI_DEVICE_ID_INTEL_82801BA_3\t0x2444\n#define PCI_DEVICE_ID_INTEL_82801BA_4\t0x2445\n#define PCI_DEVICE_ID_INTEL_82801BA_5\t0x2446\n#define PCI_DEVICE_ID_INTEL_82801BA_6\t0x2448\n#define PCI_DEVICE_ID_INTEL_82801BA_7\t0x2449\n#define PCI_DEVICE_ID_INTEL_82801BA_8\t0x244a\n#define PCI_DEVICE_ID_INTEL_82801BA_9\t0x244b\n#define PCI_DEVICE_ID_INTEL_82801BA_10\t0x244c\n#define PCI_DEVICE_ID_INTEL_82801BA_11\t0x244e\n#define PCI_DEVICE_ID_INTEL_82810_MC1\t0x7120\n#define PCI_DEVICE_ID_INTEL_82810_IG1\t0x7121\n#define PCI_DEVICE_ID_INTEL_82810_MC3\t0x7122\n#define PCI_DEVICE_ID_INTEL_82810_IG3\t0x7123\n#define PCI_DEVICE_ID_INTEL_82443LX_0\t0x7180\n#define PCI_DEVICE_ID_INTEL_82443LX_1\t0x7181\n#define PCI_DEVICE_ID_INTEL_82443BX_0\t0x7190\n#define PCI_DEVICE_ID_INTEL_82443BX_1\t0x7191\n#define PCI_DEVICE_ID_INTEL_82443BX_2\t0x7192\n#define PCI_DEVICE_ID_INTEL_82443MX_0\t0x7198\n#define PCI_DEVICE_ID_INTEL_82443MX_1\t0x7199\n#define PCI_DEVICE_ID_INTEL_82443MX_2\t0x719a\n#define PCI_DEVICE_ID_INTEL_82443MX_3\t0x719b\n#define PCI_DEVICE_ID_INTEL_82372FB_0\t0x7600\n#define PCI_DEVICE_ID_INTEL_82372FB_1\t0x7601\n#define PCI_DEVICE_ID_INTEL_82372FB_2\t0x7602\n#define PCI_DEVICE_ID_INTEL_82372FB_3\t0x7603\n#define PCI_DEVICE_ID_INTEL_82454GX\t0x84c4\n#define PCI_DEVICE_ID_INTEL_82450GX\t0x84c5\n#define PCI_DEVICE_ID_INTEL_82451NX\t0x84ca\n\n#define PCI_VENDOR_ID_COMPUTONE\t\t0x8e0e\n#define PCI_DEVICE_ID_COMPUTONE_IP2EX\t0x0291\n#define PCI_DEVICE_ID_COMPUTONE_PG\t0x0302\n#define PCI_SUBVENDOR_ID_COMPUTONE\t0x8e0e\n#define PCI_SUBDEVICE_ID_COMPUTONE_PG4\t0x0001\n#define PCI_SUBDEVICE_ID_COMPUTONE_PG8\t0x0002\n#define PCI_SUBDEVICE_ID_COMPUTONE_PG6\t0x0003\n\n#define PCI_VENDOR_ID_KTI\t\t0x8e2e\n#define PCI_DEVICE_ID_KTI_ET32P2\t0x3000\n\n#define PCI_VENDOR_ID_ADAPTEC\t\t0x9004\n#define PCI_DEVICE_ID_ADAPTEC_7810\t0x1078\n#define PCI_DEVICE_ID_ADAPTEC_7821\t0x2178\n#define PCI_DEVICE_ID_ADAPTEC_38602\t0x3860\n#define PCI_DEVICE_ID_ADAPTEC_7850\t0x5078\n#define PCI_DEVICE_ID_ADAPTEC_7855\t0x5578\n#define PCI_DEVICE_ID_ADAPTEC_5800\t0x5800\n#define PCI_DEVICE_ID_ADAPTEC_3860\t0x6038\n#define PCI_DEVICE_ID_ADAPTEC_1480A\t0x6075\n#define PCI_DEVICE_ID_ADAPTEC_7860\t0x6078\n#define PCI_DEVICE_ID_ADAPTEC_7861\t0x6178\n#define PCI_DEVICE_ID_ADAPTEC_7870\t0x7078\n#define PCI_DEVICE_ID_ADAPTEC_7871\t0x7178\n#define PCI_DEVICE_ID_ADAPTEC_7872\t0x7278\n#define PCI_DEVICE_ID_ADAPTEC_7873\t0x7378\n#define PCI_DEVICE_ID_ADAPTEC_7874\t0x7478\n#define PCI_DEVICE_ID_ADAPTEC_7895\t0x7895\n#define PCI_DEVICE_ID_ADAPTEC_7880\t0x8078\n#define PCI_DEVICE_ID_ADAPTEC_7881\t0x8178\n#define PCI_DEVICE_ID_ADAPTEC_7882\t0x8278\n#define PCI_DEVICE_ID_ADAPTEC_7883\t0x8378\n#define PCI_DEVICE_ID_ADAPTEC_7884\t0x8478\n#define PCI_DEVICE_ID_ADAPTEC_7885\t0x8578\n#define PCI_DEVICE_ID_ADAPTEC_7886\t0x8678\n#define PCI_DEVICE_ID_ADAPTEC_7887\t0x8778\n#define PCI_DEVICE_ID_ADAPTEC_7888\t0x8878\n#define PCI_DEVICE_ID_ADAPTEC_1030\t0x8b78\n\n#define PCI_VENDOR_ID_ADAPTEC2\t\t0x9005\n#define PCI_DEVICE_ID_ADAPTEC2_2940U2\t0x0010\n#define PCI_DEVICE_ID_ADAPTEC2_2930U2\t0x0011\n#define PCI_DEVICE_ID_ADAPTEC2_7890B\t0x0013\n#define PCI_DEVICE_ID_ADAPTEC2_7890\t0x001f\n#define PCI_DEVICE_ID_ADAPTEC2_3940U2\t0x0050\n#define PCI_DEVICE_ID_ADAPTEC2_3950U2D\t0x0051\n#define PCI_DEVICE_ID_ADAPTEC2_7896\t0x005f\n#define PCI_DEVICE_ID_ADAPTEC2_7892A\t0x0080\n#define PCI_DEVICE_ID_ADAPTEC2_7892B\t0x0081\n#define PCI_DEVICE_ID_ADAPTEC2_7892D\t0x0083\n#define PCI_DEVICE_ID_ADAPTEC2_7892P\t0x008f\n#define PCI_DEVICE_ID_ADAPTEC2_7899A\t0x00c0\n#define PCI_DEVICE_ID_ADAPTEC2_7899B\t0x00c1\n#define PCI_DEVICE_ID_ADAPTEC2_7899D\t0x00c3\n#define PCI_DEVICE_ID_ADAPTEC2_7899P\t0x00cf\n\n#define PCI_VENDOR_ID_ATRONICS\t\t0x907f\n#define PCI_DEVICE_ID_ATRONICS_2015\t0x2015\n\n#define PCI_VENDOR_ID_HOLTEK\t\t0x9412\n#define PCI_DEVICE_ID_HOLTEK_6565\t0x6565\n\n#define PCI_VENDOR_ID_NETMOS\t\t0x9710\n#define PCI_DEVICE_ID_NETMOS_9735\t0x9735\n#define PCI_DEVICE_ID_NETMOS_9835\t0x9835\n\n#define PCI_SUBVENDOR_ID_EXSYS\t\t0xd84d\n#define PCI_SUBDEVICE_ID_EXSYS_4014\t0x4014\n\n#define PCI_VENDOR_ID_TIGERJET\t\t0xe159\n#define PCI_DEVICE_ID_TIGERJET_300\t0x0001\n#define PCI_DEVICE_ID_TIGERJET_100\t0x0002\n\n#define PCI_VENDOR_ID_ARK\t\t0xedd8\n#define PCI_DEVICE_ID_ARK_STING\t\t0xa091\n#define PCI_DEVICE_ID_ARK_STINGARK\t0xa099\n#define PCI_DEVICE_ID_ARK_2000MT\t0xa0a1\n\n#define PCI_VENDOR_ID_MICROGATE\t\t0x13c0\n#define PCI_DEVICE_ID_MICROGATE_USC\t0x0010\n#define PCI_DEVICE_ID_MICROGATE_SCC\t0x0020\n#define PCI_DEVICE_ID_MICROGATE_SCA\t0x0030\n\n"
  },
  {
    "path": "Project/Syser/Source/pcidef.h",
    "content": "#ifndef _PCIDEF_H_\n#define _PCIDEF_H_ \n#define outl(value,port)\tSyserWritePortDword(port,value)\n#define outw(value,port)\tSyserWritePortWord(port,value)\n#define outb(value,port)\tSyserWritePortByte(port,value)\n#define inl\t\t\t\t\tSyserReadPortDword\n#define inw\t\t\t\t\tSyserReadPortWord\n#define inb\t\t\t\t\tSyserReadPortByte\n#define u16\t\t\t\t\tWORD\n#define u32\t\t\t\t\tDWORD\n#define u8\t\t\t\t\tBYTE\n//#define PCIBIOS_DEVICE_NOT_FOUND 0\n//#define PCI_CLASS_DEVICE 0\n\ntypedef struct pci_dev_t\n{\n\tint bus;\n\tint devfn;\n}pci_dev;\ntypedef struct st_pci_ops_t {\n\tint (*read_byte)( pci_dev *, int where, u8 *val);\n\tint (*read_word)( pci_dev *, int where, u16 *val);\n\tint (*read_dword)( pci_dev *, int where, u32 *val);\n\tint (*write_byte)( pci_dev *, int where, u8 val);\n\tint (*write_word)( pci_dev *, int where, u16 val);\n\tint (*write_dword)( pci_dev *, int where, u32 val);\n}pci_ops;\n\n\npci_ops *  pci_init(void);\nint  pci_sanity_check(pci_ops *ops);\nint pci_conf2_write_config_dword( pci_dev *dev, int where, u32 value);\nint pci_conf2_write_config_word( pci_dev *dev, int where, u16 value);\nint pci_conf2_write_config_byte( pci_dev *dev, int where, u8 value);\nint pci_conf2_read_config_dword( pci_dev *dev, int where, u32 *value);\nint pci_conf2_read_config_word( pci_dev *dev, int where, u16 *value);\nint pci_conf2_read_config_byte( pci_dev *dev, int where, u8 *value);\nint pci_conf1_read_config_byte( pci_dev *dev, int where, u8 *value);\nint pci_conf1_read_config_word( pci_dev *dev, int where, u16 *value);\nint pci_conf1_read_config_dword( pci_dev *dev, int where, u32 *value); \nint pci_conf1_write_config_byte( pci_dev *dev, int where, u8 value);\nint pci_conf1_write_config_word( pci_dev *dev, int where, u16 value);\nint pci_conf1_write_config_dword( pci_dev *dev, int where, u32 value);\nextern pci_ops pci_direct_conf2;\nextern pci_ops pci_direct_conf1;\nextern pci_ops *CurrentPCI;\n#endif\n\n"
  },
  {
    "path": "Project/Syser/Source/pcreplus.cpp",
    "content": "/**\n * @file pcreplus.cpp\n * @brief Wrapper classes for PCRE using C++\n * @author Simon Steele\n * @note Copyright (c) 2002-2003 Simon Steele <s.steele@pnotepad.org>\n *\n * Programmers Notepad 2 : The license file (license.[txt|html]) describes \n * the conditions under which this source may be modified / distributed.\n *\n * This code uses PCRE to provide regular expressions support - see pcre_license.txt.\n */\n\n#include \"stdafx.h\"\n#include \"pcreplus.h\"\n\n/*#ifdef PCRE_STATIC\n\t#pragma comment(lib, \"libpcre.lib\") \n\t#pragma message(\"Automatically linking with libpcre.lib\")\n#endif*/\n\nnamespace PCRE\n{\n\nRegExp::RegExp()\n{\n\tm_pRE = NULL;\n\tm_pStudyData = NULL;\n\tm_pSubStringVector = NULL;\n\tm_strmatch = NULL;\n}\n\nRegExp::RegExp(const char* expression, int flags)\n{\n\tm_pRE = NULL;\n\tm_pStudyData = NULL;\n\tm_pSubStringVector = NULL;\n\tm_strmatch = NULL;\n\n\tcompile(expression, (flags != -1) ? flags : PCRE_DEFAULT_FLAGS);\n}\n\nRegExp::~RegExp()\n{\n\tclear();\n}\n\nvoid RegExp::Compile(const char* expression, int flags /*= -1*/)\n{\n\tcompile(expression, (flags != -1) ? flags : PCRE_DEFAULT_FLAGS);\n}\n\n/**\n * @brief Study/Analyse the regular expression to see if we can optimise it.\n * Useful if you are going to use the expression multiple times.\n *\n * @note Throws an REException if the study fails.\n * This is from the PCRE manual as of version 4.2: At present, \n * studying a  pattern  is  useful  only  for  non-anchored  patterns  \n * that do not have a single fixed starting character. A  bitmap  of  \n * possible  starting  characters  is created.\n */\nvoid RegExp::Study()\n{\n\tconst char* pError;\n\tm_pStudyData = pcre_study(m_pRE, 0, &pError);\n\t\n\tif(pError != NULL)\n\t{\n\t\t;//throw REException(pError);\n\t}\n}\n\n/**\n * @brief See if the pattern matches all or part of str.\n * @param str The string to try to match.\n * @param offset Offset into the string to match from. Default 0.\n */\nbool RegExp::Match(const char* str, int offset)\n{\n\treturn match(str, strlen(str), offset, 0);\n}\n\nbool RegExp::Match(const char* str, int length, int offset)\n{\n\treturn match(str, length, offset, 0);\n}\n\nbool RegExp::GetNamedMatch(const char* name, char** str)\n{\n\tconst char* buf;\n\tint result = pcre_get_named_substring(m_pRE, m_strmatch, m_pSubStringVector, m_lastResult, name, &buf);\n\tif( result >= 0 )\n\t{\n\t\t*str = (char*)buf;\n\t\t//pcre_free_substring(buf);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\t/*\n\t\tif(result != PCRE_ERROR_NOSUBSTRING)\n\t\t\tthrow REException(result);\n\t\t*/\n\t\treturn false;\n\t}\n}\n\n/**\n * @brief clear down anything held for the current regular expression.\n */\nvoid RegExp::clear()\n{\n\tif(m_pRE)\n\t{\n\t\tpcre_free(m_pRE);\n\t\tm_pRE = NULL;\n\t}\n\t\n\tif(m_pStudyData)\n\t{\n\t\tpcre_free(m_pStudyData);\n\t\tm_pStudyData = NULL;\n\t}\n\t\n\tif(m_pSubStringVector)\n\t{\n\t\tdelete [] m_pSubStringVector;\n\t\tm_pSubStringVector = NULL;\n\t}\n\n\tm_nCaptureGroups = 0;\n\n\tm_strmatch = 0;\n\tm_strmatchlen = 0;\n\tm_lastResult = 0;\n}\n\n/**\n * @brief Compile the regular expression string into a PCRE compiled expression.\n * \n * @note Throws an REException if the compile fails.\n */\nvoid RegExp::compile(const char* expression, int flags)\n{\n\tclear();\n\n\tconst char* pError = NULL;\n\tint eoffset = 0;\n\tm_pRE = pcre_compile(expression, flags, &pError, &eoffset, NULL);\n\t\n\tif(!m_pRE)\n\t{\n\t\t//throw REException(pError, eoffset);\n\t}\n\n\t// Now we find out how many capture groups there are in the expression.\n\tint nGroups;\n\tint result = pcre_fullinfo(m_pRE, m_pStudyData, PCRE_INFO_CAPTURECOUNT, &nGroups );\n\t\n\tif(result == 0)\n\t{\n\t\t// The size of the array to hold the captures must be a multiple of 3.\n\t\t// There may also be a group before and after the groups, so add 2.\n\t\tm_nCaptureGroups = (nGroups + 2) * 3;\n\t}\n\telse\n\t{\n\t\t// pcre_fullinfo failed.\n\t\t//throw REException(result);\n\t}\n}\n\nbool RegExp::match(const char* str, int length, int offset, int flags)\n{\n\tif(m_pSubStringVector == NULL)\n\t{\n\t\tm_pSubStringVector = new int[m_nCaptureGroups];\n\t}\n\n\tint result = 0;\n\n\t// Hmmm.... store these for later use - this is possibly bad, but it's fast.\n\tm_strmatch = str;\n\tm_strmatchlen = length;\n\n\tresult = pcre_exec(m_pRE, m_pStudyData, str, length, offset, \n\t\tflags, m_pSubStringVector, m_nCaptureGroups);\n\n\tm_lastResult = result;\n\n\treturn result > 0;\n}\n\n\nREException::REException(const char* message, int offset)\n{\n\tset(message, offset);\n}\n\nREException::REException(int errCode)\n{\n\tint acode = abs(errCode);\n\tif(acode <= 8)\n\t{\n\t\tstatic const char* errors[8] = \n\t\t{\n\t\t\t\"no match\",\t\t\t\t/*PCRE_ERROR_NOMATCH        (-1)*/\n\t\t\t\t\"null argument\",\t\t/*PCRE_ERROR_NULL           (-2)*/\n\t\t\t\t\"bad option\",\t\t\t/*PCRE_ERROR_BADOPTION      (-3)*/\n\t\t\t\t\"bad magic number\",\t\t/*PCRE_ERROR_BADMAGIC       (-4)*/\n\t\t\t\t\"unknown node\",\t\t\t/*PCRE_ERROR_UNKNOWN_NODE   (-5)*/\n\t\t\t\t\"no memory\",\t\t\t/*PCRE_ERROR_NOMEMORY       (-6)*/\n\t\t\t\t\"no substring\",\t\t\t/*PCRE_ERROR_NOSUBSTRING    (-7)*/\n\t\t\t\t\"match limit reached\"\t/*PCRE_ERROR_MATCHLIMIT\t\t(-8)*/\n\t\t};\n\t\tset(errors[acode-1]);\n\t}\n\telse\n\t\tset(NULL);\n}\n\nREException::REException(const REException& copy)\n{\n\tset(copy.m_pMsg, copy.m_offset);\n}\n\nREException::~REException()\n{\n\tif(m_pMsg != NULL)\n\t\tdelete [] m_pMsg;\n}\n\nvoid REException::set(const char* message, int offset)\n{\n\tif(message)\n\t{\n\t\tm_pMsg = new char[strlen(message)+1];\n\t\tstrcpy(m_pMsg, message);\n\t}\n\telse\n\t\tm_pMsg = NULL;\n\n\tm_offset = offset;\n}\n\nconst char* REException::GetMessage()\n{\n\treturn m_pMsg;\n}\n\nint REException::GetOffset()\n{\n\treturn m_offset;\n}\n\n\n} // namespace PCRE"
  },
  {
    "path": "Project/Syser/Source/pcreplus.h",
    "content": "/**\n * @file pcreplus.h\n * @brief Wrapper classes for PCRE using C++\n * @author Simon Steele\n * @note Copyright (c) 2002-2003 Simon Steele <s.steele@pnotepad.org>\n *\n * Programmers Notepad 2 : The license file (license.[txt|html]) describes \n * the conditions under which this source may be modified / distributed.\n *\n * This code uses PCRE to provide regular expressions support - see pcre_license.txt.\n */\n\n#ifndef pcreplus_h__included\n#define pcreplus_h__included\n\n#define PCRE_STATIC\n\n//extern \"C\" {\n\t#include \"..\\..\\..\\Pcre\\Source\\Pcre.h\"\n//}\n\n#ifndef PCRE_DEFAULT_FLAGS\n\t#ifndef PCRE_NO_UTF8\n\t\t#define PCRE_DEFAULT_FLAGS\tPCRE::RegExp::UTF8\n\t#else\n\t\t#define PCRE_DEFAULT_FLAGS 0\n\t#endif\n#endif\n\nnamespace PCRE\n{\n\nclass RegExp\n{\n\tpublic:\n\t\tRegExp();\n\t\tRegExp(const char* expression, int flags = -1);\n\t\t~RegExp();\n\n\t\tvoid Compile(const char* expression, int flags = -1);\n\n\t\tvoid Study();\n\t\t\n\t\tbool Match(const char* str, int offset = 0);\n\t\tbool Match(const char* str, int length, int offset);\n\n\t\tbool GetNamedMatch(const char* name, char** str);\n\n\t\tenum {\n\t\t\tAnchored\t\t= PCRE_ANCHORED,\n\t\t\tCaseInsensitive = PCRE_CASELESS,\n\t\t\tDollarEndOnly\t= PCRE_DOLLAR_ENDONLY,\t// Dollar matches do not include newlines.\n\t\t\tDotMatchesAll\t= PCRE_DOTALL,\t\t\t// Include newlines in . matches\n\t\t\tExtended\t\t= PCRE_EXTENDED,\t\t// Ignore unescaped whitespace in pattern.\n\t\t\tMultiLine\t\t= PCRE_MULTILINE,\n\t\t\tNoAutoCapture\t= PCRE_NO_AUTO_CAPTURE,\t// Disable numbered capturing parentheses.\n\t\t\tUnGreedy\t\t= PCRE_UNGREEDY,\t\t// Invert operator greediness.\n\t\t\tUTF8\t\t\t= PCRE_UTF8,\t\t\t// Enable UTF-8 Support.\n\t\t};\n\n\tprotected:\n\t\tvoid clear();\n\t\tvoid compile(const char* expression, int flags);\n\t\tbool match(const char* str, int length, int offset, int flags);\n\n\tprotected:\n\t\tpcre*\t\tm_pRE;\n\t\tpcre_extra*\tm_pStudyData;\n\t\tconst char*\tm_strmatch;\n\t\tint\t\t\tm_strmatchlen;\n\t\tint\t\t\tm_lastResult;\n\t\tint*\t\tm_pSubStringVector;\n\t\tint\t\t\tm_nCaptureGroups;\n};\n\n/**\n * @brief Exception class used by RegExp\n */\nclass REException\n{\n\tpublic:\n\t\tREException(const char* message, int offset = -1);\n\t\tREException(int errCode);\n\t\tREException(const REException& copy);\n\t\t~REException();\n\t\tvoid set(const char* message, int offset = -1);\n\t\tconst char* GetMessage();\n\t\tint GetOffset();\n\tprotected:\n\t\tchar*\tm_pMsg;\n\t\tint\t\tm_offset;\n};\n\n} // namespace PCRE\n\n#endif"
  },
  {
    "path": "Project/Syser/Source/syntax_color.l",
    "content": "%{\n#include \"Lex2.h\"\n#ifdef CODE_OS_NT_DRV\n#define malloc mymalloc\n#define free myfree\n#define realloc myrealloc\nvoid myfree(void *);\nvoid* mymalloc(size_t size);\nvoid* myrealloc(void* path, size_t size);\n//#define FILE MYFILE\n//typedef void MYFILE;\n#endif\n#define YY_FATAL_ERROR\n/* Included code before lex code */\n/*************** Includes and Defines *****************************/\n/*\n__abstract  |\n__alignof |\n__asm |\n__assume |\n__based |\n__box  |\n__cdecl |\n__declspec |\n__delegate  |\n__event |\n__except |\n__fastcall |\n__forceinline |\n__gc  |\n__hook | \n__identifier |\n__if_exists |\n__if_not_exists |\n__inline |\n__int8 |\n__int16 |\n__int32 |\n__int64 |\n__interface |\n__leave |\n__m64 |\n__m128 |\n__m128d |\n__m128i |\n__multiple_inheritance |\n__nogc  |\n__noop |\n__pin  |\n__property  |\n__raise |\n__sealed |\n__single_inheritance |\n__stdcall |\n__super |\n__try_cast | \n__try |\n__except | \n__finally |\n__unhook  |\n__uuidof |\n__value  |\n__virtual_inheritance |\n__w64 |\nbool |\nbreak |\ncase |\ncatch |\nchar |\nclass |\nconst |\nconst_cast |\ncontinue |\ndefault |\ndelete |\ndeprecated  |\ndllexport  |\ndllimport  |\ndo |\ndouble |\ndynamic_cast |\nelse |\nenum |\nexplicit |\nextern |\nfalse |\nfloat |\nfor |\nfriend |\ngoto |\nif |\ninline |\nint |\nlong |\nmutable |\nnaked  |\nnamespace |\nnew |\nnoinline  |\nnoreturn |\nnothrow  |\nnovtable  |\noperator |\nprivate |\nproperty | \nprotected |\npublic |\nregister |\nreinterpret_cast |\nreturn |\nselectany  |\nshort |\nsigned |\nsizeof |\nstatic |\nstatic_cast |\nstruct |\nswitch |\ntemplate |\nthis |\nthread  |\nthrow |\ntrue |\ntry |\ntypedef |\ntypeid |\ntypename |\nunion |\nunsigned | \nusing |  \nuuid | \nvirtual | \nvoid |\nvolatile |\n__wchar_t |\nwchar_t |\nwhile   |\n*/\n\n\ntypedef char * YYSTYPE; /* interface with lexer: should be  in  header\n                        file*/\n\nchar  *  yylval;  /*  We  will always point at the text of the lexeme.\n          This makes it easy to print out nice trees when  YYDEBUG  is\n          enabled.   (see  C++  grammar  file  and  its  definition of\n          YYDEBUG_LEXER_TEXT to be \"yylval\" */\n\n\n\n#define WHITE_RETURN(x) /* do nothing */\n\n#define NEW_LINE_RETURN() WHITE_RETURN('\\n')\n\n#define PA_KEYWORD_RETURN(x)   RETURN_VAL(x)  /* standard C PArser Keyword */\n#define CPP_KEYWORD_RETURN(x)  PA_KEYWORD_RETURN(x)  /* C++ keyword */\n#define PPPA_KEYWORD_RETURN(x) RETURN_VAL(x)  /* both PreProcessor and PArser keyword */\n#define PP_KEYWORD_RETURN(x)   IDENTIFIER_RETURN()\n#define COMMENT_RETURN()\tRETURN_VAL(x)\n\n\n\n#define NUMERICAL_RETURN(x) RETURN_VAL(x)            /* some sort of constant */\n#define LITERAL_RETURN(x)   RETURN_VAL(x)            /* a string literal */\n\n#define RETURN_VAL(x) yylval = yytext; return(x);\n\n#define isatty(a) (1)\n#define fileno(a) (1)\n#define YY_SKIP_YYWRAP\nint main1(int argc, char*argv[]);\nint yywrap(){return 1;}\n#undef YY_INPUT\n#define YY_INPUT(b,r,ms) (r = my_yyinput(b,ms))\n#ifndef min\n#define min(a,b) ((a)<(b)?(a):(b))\n#endif\nint my_yyinput(char* buf,int max_size);\n#define ECHO\n%}\n\nidentifier [a-zA-Z_][0-9a-zA-Z_]*\n\nexponent_part [eE][-+]?[0-9]+\nfractional_constant ([0-9]*\".\"[0-9]+)|([0-9]+\".\")\nfloating_constant (({fractional_constant}{exponent_part}?)|([0-9]+{exponent_part}))[FfLl]?\n\ninteger_suffix_opt ([uU]?[lL]?)|([lL][uU])\ndecimal_constant [1-9][0-9]*{integer_suffix_opt}\noctal_constant \"0\"[0-7]*{integer_suffix_opt}\nhex_constant \"0\"[xX][0-9a-fA-F]+{integer_suffix_opt}\n\nsimple_escape [abfnrtv'\"?\\\\]\noctal_escape  [0-7]{1,3}\nhex_escape \"x\"[0-9a-fA-F]+\n\nescape_sequence [\\\\]({simple_escape}|{octal_escape}|{hex_escape})\nc_char [^'\\\\\\n]|{escape_sequence}\ns_char [^\"\\\\\\n]|{escape_sequence}\n\n\nh_tab [\\011]\nform_feed [\\014]\nv_tab [\\013]\nc_return [\\015]\n\nhorizontal_white [ ]|{h_tab}\n\n%x COMMENT\n\n%%\n\n\n{horizontal_white}+     {\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\n({v_tab}|{c_return}|{form_feed})+   {\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\n\n({horizontal_white}|{v_tab}|{c_return}|{form_feed})*\"\\n\"   {\n\t\t\tRETURN_VAL(LEX_WHITE_SPACE);\n\t\t\t}\n\n__abstract                   {RETURN_VAL(LEX___ABSTRACT);}\n__alignof                    {RETURN_VAL(LEX___ALIGNOF);}\n__asm                        {RETURN_VAL(LEX___ASM);}\n__assume                     {RETURN_VAL(LEX___ASSUME);}\n__based                      {RETURN_VAL(LEX___BASED);}\n__box                        {RETURN_VAL(LEX___BOX);}\n__cdecl                      {RETURN_VAL(LEX___CDECL);}\n__declspec                   {RETURN_VAL(LEX___DECLSPEC);}\n__delegate                   {RETURN_VAL(LEX___DELEGATE);}\n__event                      {RETURN_VAL(LEX___EVENT);}\n__except                     {RETURN_VAL(LEX___EXCEPT);}\n__fastcall                   {RETURN_VAL(LEX___FASTCALL);}\n__forceinline                {RETURN_VAL(LEX___FORCEINLINE);}\n__gc                         {RETURN_VAL(LEX___GC);}\n__hook                       {RETURN_VAL(LEX___HOOK);}\n__identifier                 {RETURN_VAL(LEX___IDENTIFIER);}\n__if_exists                  {RETURN_VAL(LEX___IF_EXISTS);}\n__if_not_exists              {RETURN_VAL(LEX___IF_NOT_EXISTS);}\n__inline                     {RETURN_VAL(LEX___INLINE);}\n__int8                       {RETURN_VAL(LEX___INT8);}\n__int16                      {RETURN_VAL(LEX___INT16);}\n__int32                      {RETURN_VAL(LEX___INT32);}\n__int64                      {RETURN_VAL(LEX___INT64);}\n__interface                  {RETURN_VAL(LEX___INTERFACE);}\n__leave                      {RETURN_VAL(LEX___LEAVE);}\n__m64                        {RETURN_VAL(LEX___M64);}\n__m128                       {RETURN_VAL(LEX___M128);}\n__m128d                      {RETURN_VAL(LEX___M128D);}\n__m128i                      {RETURN_VAL(LEX___M128I);}\n__multiple_inheritance       {RETURN_VAL(LEX___MULTIPLE_INHERITANCE);}\n__nogc                       {RETURN_VAL(LEX___NOGC);}\n__noop                       {RETURN_VAL(LEX___NOOP);}\n__pin                        {RETURN_VAL(LEX___PIN);}\n__property                   {RETURN_VAL(LEX___PROPERTY);}\n__raise                      {RETURN_VAL(LEX___RAISE);}\n__sealed                     {RETURN_VAL(LEX___SEALED);}\n__single_inheritance         {RETURN_VAL(LEX___SINGLE_INHERITANCE);}\n__stdcall                    {RETURN_VAL(LEX___STDCALL);}\n__super                      {RETURN_VAL(LEX___SUPER);}\n__try_cast                   {RETURN_VAL(LEX___TRY_CAST);}\n__try                        {RETURN_VAL(LEX___TRY);}\n__finally                    {RETURN_VAL(LEX___FINALLY);}\n__unhook                     {RETURN_VAL(LEX___UNHOOK);}\n__uuidof                     {RETURN_VAL(LEX___UUIDOF);}\n__value                      {RETURN_VAL(LEX___VALUE);}\n__virtual_inheritance        {RETURN_VAL(LEX___VIRTUAL_INHERITANCE);}\n__w64                        {RETURN_VAL(LEX___W64);}\nbool                         {RETURN_VAL(LEX_BOOL);}\nbreak                        {RETURN_VAL(LEX_BREAK);}\ncase                         {RETURN_VAL(LEX_CASE);}\ncatch                        {RETURN_VAL(LEX_CATCH);}\nchar                         {RETURN_VAL(LEX_CHAR);}\nclass                        {RETURN_VAL(LEX_CLASS);}\nconst                        {RETURN_VAL(LEX_CONST);}\nconst_cast                   {RETURN_VAL(LEX_CONST_CAST);}\ncontinue                     {RETURN_VAL(LEX_CONTINUE);}\ndefault                      {RETURN_VAL(LEX_DEFAULT);}\ndelete                       {RETURN_VAL(LEX_DELETE);}\ndeprecated                   {RETURN_VAL(LEX_DEPRECATED);}\ndllexport                    {RETURN_VAL(LEX_DLLEXPORT);}\ndllimport                    {RETURN_VAL(LEX_DLLIMPORT);}\ndo                           {RETURN_VAL(LEX_DO);}\ndouble                       {RETURN_VAL(LEX_DOUBLE);}\ndynamic_cast                 {RETURN_VAL(LEX_DYNAMIC_CAST);}\nelse                         {RETURN_VAL(LEX_ELSE);}\nenum                         {RETURN_VAL(LEX_ENUM);}\nexplicit                     {RETURN_VAL(LEX_EXPLICIT);}\nextern                       {RETURN_VAL(LEX_EXTERN);}\nfalse                        {RETURN_VAL(LEX_FALSE);}\nfloat                        {RETURN_VAL(LEX_FLOAT);}\nfor                          {RETURN_VAL(LEX_FOR);}\nfriend                       {RETURN_VAL(LEX_FRIEND);}\ngoto                         {RETURN_VAL(LEX_GOTO);}\nif                           {RETURN_VAL(LEX_IF);}\ninline                       {RETURN_VAL(LEX_INLINE);}\nint                          {RETURN_VAL(LEX_INT);}\nlong                         {RETURN_VAL(LEX_LONG);}\nmutable                      {RETURN_VAL(LEX_MUTABLE);}\nnaked                        {RETURN_VAL(LEX_NAKED);}\nnamespace                    {RETURN_VAL(LEX_NAMESPACE);}\nnew                          {RETURN_VAL(LEX_NEW);}\nnoinline                     {RETURN_VAL(LEX_NOINLINE);}\nnoreturn                     {RETURN_VAL(LEX_NORETURN);}\nnothrow                      {RETURN_VAL(LEX_NOTHROW);}\nnovtable                     {RETURN_VAL(LEX_NOVTABLE);}\noperator                     {RETURN_VAL(LEX_OPERATOR);}\nprivate                      {RETURN_VAL(LEX_PRIVATE);}\nproperty                     {RETURN_VAL(LEX_PROPERTY);}\nprotected                    {RETURN_VAL(LEX_PROTECTED);}\npublic                       {RETURN_VAL(LEX_PUBLIC);}\nregister                     {RETURN_VAL(LEX_REGISTER);}\nreinterpret_cast             {RETURN_VAL(LEX_REINTERPRET_CAST);}\nreturn                       {RETURN_VAL(LEX_RETURN);}\nselectany                    {RETURN_VAL(LEX_SELECTANY);}\nshort                        {RETURN_VAL(LEX_SHORT);}\nsigned                       {RETURN_VAL(LEX_SIGNED);}\nsizeof                       {RETURN_VAL(LEX_SIZEOF);}\nstatic                       {RETURN_VAL(LEX_STATIC);}\nstatic_cast                  {RETURN_VAL(LEX_STATIC_CAST);}\nstruct                       {RETURN_VAL(LEX_STRUCT);}\nswitch                       {RETURN_VAL(LEX_SWITCH);}\ntemplate                     {RETURN_VAL(LEX_TEMPLATE);}\nthis                         {RETURN_VAL(LEX_THIS);}\nthread                       {RETURN_VAL(LEX_THREAD);}\nthrow                        {RETURN_VAL(LEX_THROW);}\ntrue                         {RETURN_VAL(LEX_TRUE);}\ntry                          {RETURN_VAL(LEX_TRY);}\ntypedef                      {RETURN_VAL(LEX_TYPEDEF);}\ntypeid                       {RETURN_VAL(LEX_TYPEID);}\ntypename                     {RETURN_VAL(LEX_TYPENAME);}\nunion                        {RETURN_VAL(LEX_UNION);}\nunsigned                     {RETURN_VAL(LEX_UNSIGNED);}\nusing                        {RETURN_VAL(LEX_USING);}\nuuid                         {RETURN_VAL(LEX_UUID);}\nvirtual                      {RETURN_VAL(LEX_VIRTUAL);}\nvoid                         {RETURN_VAL(LEX_VOID);}\nvolatile                     {RETURN_VAL(LEX_VOLATILE);}\n__wchar_t                    {RETURN_VAL(LEX___WCHAR_T);}\nwchar_t                      {RETURN_VAL(LEX_WCHAR_T);}\nwhile                        {RETURN_VAL(LEX_WHILE);}\n\n#define\t\t\t\t\t\t   {RETURN_VAL(LEX_PRE_DEFINE);}\n#error                         {RETURN_VAL(LEX_PRE_ERROR);}\n#import                        {RETURN_VAL(LEX_PRE_IMPORT);}\n#undef                         {RETURN_VAL(LEX_PRE_UNDEF);}\n#elif                          {RETURN_VAL(LEX_PRE_ELIF);}\n#if                            {RETURN_VAL(LEX_PRE_IF);}\n#include                       {RETURN_VAL(LEX_INCLUDE);}\n#using                         {RETURN_VAL(LEX_PRE_USING);}\n#else                          {RETURN_VAL(LEX_PRE_ELSE);}\n#ifdef                         {RETURN_VAL(LEX_PRE_IFDEF);}\n#line                          {RETURN_VAL(LEX_PRE_LINE);}\n#endif                         {RETURN_VAL(LEX_PRE_ENDIF);}\n#ifndef                        {RETURN_VAL(LEX_PRE_IFNDEF);}\n#pragma                        {RETURN_VAL(LEX_PRE_GRAMA);}\n\n{identifier}                   {RETURN_VAL(LEX_IDENTIFIER);}\n{decimal_constant}  \t\t   {RETURN_VAL(LEX_INTEGERconstant);}\n{octal_constant}    \t\t   {RETURN_VAL(LEX_OCTALconstant);}\n{hex_constant}      \t\t   {RETURN_VAL(LEX_HEXconstant);}\n{floating_constant} \t\t   {RETURN_VAL(LEX_FLOATINGconstant);}\n\"L\"?[']{c_char}+['] \t\t   {RETURN_VAL(LEX_CHARACTERconstant);}\n\"L\"?[\"]{s_char}*[\"]            {RETURN_VAL(LEX_STRINGliteral);}\n\n\"(\"               \t\t\t   {RETURN_VAL(LEX_LP);}\n\")\"               \t\t\t   {RETURN_VAL(LEX_RP);}\n\",\"               \t\t\t   {RETURN_VAL(LEX_COMMA);}\n\"#\"               \t\t\t   {RETURN_VAL('#') ;}\n\"##\"              \t\t\t   {RETURN_VAL(LEX_POUNDPOUND);}\n\"{\"               \t\t\t   {RETURN_VAL(LEX_LC);}\n\"}\"               \t\t\t   {RETURN_VAL(LEX_RC);}\n\"[\"               \t\t\t   {RETURN_VAL(LEX_LB);}\n\"]\"               \t\t\t   {RETURN_VAL(LEX_RB);}\n\".\"               \t\t\t   {RETURN_VAL(LEX_DOT);}\n\"&\"               \t\t\t   {RETURN_VAL(LEX_AND);}\n\"*\"               \t\t\t   {RETURN_VAL(LEX_STAR);}\n\"+\"               \t\t\t   {RETURN_VAL(LEX_PLUS);}\n\"-\"               \t\t\t   {RETURN_VAL(LEX_MINUS);}\n\"~\"               \t\t\t   {RETURN_VAL(LEX_NEGATE);}\n\"!\"               \t\t\t   {RETURN_VAL(LEX_NOT);}\n\"/\"               \t\t\t   {RETURN_VAL(LEX_DIV);}\n\"%\"               \t\t\t   {RETURN_VAL(LEX_MOD);}\n\"<\"               \t\t\t   {RETURN_VAL(LEX_LT);}\n\">\"               \t\t\t   {RETURN_VAL(LEX_GT);}\n\"^\"               \t\t\t   {RETURN_VAL(LEX_XOR);}\n\"|\"               \t\t\t   {RETURN_VAL(LEX_PIPE);}\n\"?\"               \t\t\t   {RETURN_VAL(LEX_QUESTION);}\n\":\"               \t\t\t   {RETURN_VAL(LEX_COLON);}\n\";\"               \t\t\t   {RETURN_VAL(LEX_SEMICOLON);}\n\"=\"               \t\t\t   {RETURN_VAL(LEX_ASSIGN);}\n\".*\"              \t\t\t   {RETURN_VAL(LEX_DOTstar);}\n\"::\"              \t\t\t   {RETURN_VAL(LEX_CLCL);}\n\"->\"              \t\t\t   {RETURN_VAL(LEX_ARROW);}\n\"->*\"             \t\t\t   {RETURN_VAL(LEX_ARROWstar);}\n\"++\"              \t\t\t   {RETURN_VAL(LEX_ICR);}\n\"--\"              \t\t\t   {RETURN_VAL(LEX_DECR);}\n\"<<\"              \t\t\t   {RETURN_VAL(LEX_LS);}\n\">>\"              \t\t\t   {RETURN_VAL(LEX_RS);}\n\"<=\"              \t\t\t   {RETURN_VAL(LEX_LE);}\n\">=\"              \t\t\t   {RETURN_VAL(LEX_GE);}\n\"==\"              \t\t\t   {RETURN_VAL(LEX_EQ);}\n\"!=\"              \t\t\t   {RETURN_VAL(LEX_NE);}\n\"&&\"              \t\t\t   {RETURN_VAL(LEX_ANDAND);}\n\"||\"              \t\t\t   {RETURN_VAL(LEX_OROR);}\n\"*=\"              \t\t\t   {RETURN_VAL(LEX_MULTassign);}\n\"/=\"              \t\t\t   {RETURN_VAL(LEX_DIVassign);}\n\"%=\"              \t\t\t   {RETURN_VAL(LEX_MODassign);}\n\"+=\"              \t\t\t   {RETURN_VAL(LEX_PLUSassign);}\n\"-=\"              \t\t\t   {RETURN_VAL(LEX_MINUSassign);}\n\"<<=\"             \t\t\t   {RETURN_VAL(LEX_LSassign);}\n\">>=\"             \t\t\t   {RETURN_VAL(LEX_RSassign);}\n\"&=\"              \t\t\t   {RETURN_VAL(LEX_ANDassign);}\n\"^=\"              \t\t\t   {RETURN_VAL(LEX_ERassign);}\n\"|=\"              \t\t\t   {RETURN_VAL(LEX_ORassign);}\n\"...\"             \t\t\t   {RETURN_VAL(LEX_ELLIPSIS);}\n\"/*\"\t\t\t\t\t\t   {BEGIN COMMENT;RETURN_VAL(LEX_COMMENT_BLOCK_BEGIN);}\n<COMMENT>\"*/\"\t\t\t\t   {BEGIN 0;RETURN_VAL(LEX_COMMENT_BLOCK_END);}\n\"//\".*\\n\t\t\t\t\t   {RETURN_VAL(LEX_COMMENT_LINE);}\n.\t\t\t\t\t\t\t   {RETURN_VAL(LEX_UNKNOW);}\n%%\n\n/* I won't bother to provide any error recovery. I won't  even  handle\nunknown characters */\n\n/*******************************************************************/\nint isaTYPE(char* string)\n{  \n    return ('A' <= string[0] && 'Z' >= string[0]);\n}\nchar* myinputptr=\"int main(int argc, char* argv[]);\";\nchar* myinputlim;\nint my_yyinput(char* buf,int max_size)\n{\n\tint n = min(max_size,*(int*)&myinputlim - *(int*)&myinputptr);\n\tif(n > 0)\n\t{\n\t\tmemcpy(buf,myinputptr,n);\n\t\tmyinputptr += n;\n\t}\n\treturn n;\n}\n#ifndef CODE_OS_NT_DRV\n#ifdef CODE_OS_WIN\nint main1(int argc, char* argv[])\n#else\nint main(int argc, char* argv[])\n#endif\n{\nFILE* fp;\n\tsize_t filelen=strlen(myinputptr);\n\n\tif(argc==2)\n\t{\n\t\tfp = fopen(argv[1],\"r\");\n\t\tif(fp)\n\t\t{\n\t\t\tfilelen = fseek(fp,0,SEEK_END);\n\t\t\tfilelen = ftell(fp);\n\t\t\tif(filelen<=0x1000000)\n\t\t\t{\n\t\t\t\tfseek(fp,0,SEEK_SET);\n\t\t\t\tmyinputptr = (char*)malloc(filelen);\n\t\t\t\tmemset(myinputptr,0,filelen);\n\t\t\t\tfilelen = fread(myinputptr,1,filelen,fp);\n\t\t\t\t//printf(\"read file %d\\n\",filelen,myinputptr);\n\t\t\t}\n\t\t\telse\n\t\t\t\tfilelen = strlen(myinputptr);\n\t\t\tfclose(fp);\n\t\t}\n\t}\n\tmyinputlim=myinputptr+filelen;\n\tint retvalue=-1;\t\n\twhile(retvalue=yylex())\n{\n\t//printf(\"retvalue=%d %s\\n\",retvalue,yylval);\n}\n\t//printf(\"exit retvalue=%d %s\\n\",retvalue,yylval);\nreturn 0;\n}\n#endif\n\n\n#ifdef CODE_OS_NT_DRV \ntypedef TMap<void*,unsigned int > CALLOCMAP;\nCALLOCMAP* gpLexAllocList=NULL; \nvoid myfree(void *ptr)\n{\n\tCALLOCMAP::IT FindIT ;\n\tFindIT = gpLexAllocList->Find(ptr);\n\tif(FindIT!=gpLexAllocList->End())\n\t{\n\t\tgpLexAllocList->Remove(FindIT);\n\t\tdelete ptr;\n\t\tif(gpLexAllocList->Count()==0)\n\t\t{\n\t\t\tdelete gpLexAllocList;\n\t\t\tgpLexAllocList=NULL;\n\t\t}\n\t}\n}\nvoid* mymalloc(size_t size)\n{\n\tvoid* ptr=NULL;\n\tptr = (void*)new char[size];\n\tif(ptr)\n\t{\n\t\tif(gpLexAllocList==NULL)\n\t\t{\n\t\t\tgpLexAllocList=new CALLOCMAP;\n\t\t\tif(gpLexAllocList==NULL)\n\t\t\t\treturn NULL;\n\t\t}\n\t\tgpLexAllocList->InsertUnique(ptr,size);\n\t}\n\treturn ptr;\n}\nvoid* myrealloc(void* ptr, size_t size)\n{\n\tchar *TmpPtr=NULL;\t\n\tCALLOCMAP::IT FindIT ;\n\tFindIT = gpLexAllocList->Find(ptr);\n\tif(FindIT!=gpLexAllocList->End())\n\t{\n\t\tif(*FindIT>=size)\n\t\t\treturn ptr;\n\t\tTmpPtr = (char*)mymalloc(size);\n\t\tmemcpy(TmpPtr,ptr,*FindIT);\n\t\tmyfree(ptr);\n\t}\n\treturn TmpPtr;\n}\n#endif"
  },
  {
    "path": "Project/Syser/Win32/Syser.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Syser\", \"Syser.vcproj\", \"{0624BDA6-0FF6-44BA-95A1-992E64270B5D}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E} = {142E5B2E-BB1F-42A2-B357-81F97F85F86E}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E} = {BB4C6B43-4809-417B-ADBC-981EFF82C18E}\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E} = {BB4C6B43-4809-417B-ADBC-981EFF82C18E}\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E} = {BB4C6B43-4809-417B-ADBC-981EFF82C18E}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SDWin32\", \"..\\..\\SDWin32\\Win32\\SDWin32.vcproj\", \"{BB4C6B43-4809-417B-ADBC-981EFF82C18E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Release|Win32.Build.0 = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.Build.0 = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Syser/Win32/Syser.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Syser\"\n\tProjectGUID=\"{0624BDA6-0FF6-44BA-95A1-992E64270B5D}\"\n\tRootNamespace=\"Syser\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS;_SYSER_\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"Psapi.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tModuleDefinitionFile=\"SyserUDM.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)Ring3D.pdb\"\n\t\t\t\tStripPrivateSymbols=\"\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"../../../Bin/i386/SyserUDM.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS;_SYSER_\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"Psapi.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/Syser.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tModuleDefinitionFile=\"SyserUDM.def\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)Ring3.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tImportLibrary=\"../../../Bin/i386/SyserUDM.lib\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AddTypeViewerDlg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Analyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BpintCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BreakPointForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BugCheckCode.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStack.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStackWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeBPEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ColorOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CommentList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ConsoleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CrossReferenceForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\Diasdk\\include\\cvconst.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataBPEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataOperatorDlg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataViewForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgProcess.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebuggerSelectForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\Diasdk\\include\\dia2.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeTable.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FpuRegisterList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FunctionListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GDTWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GeneRegList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IBMAsciiWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IDTWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InputDriver.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KeyMappingPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Lex2.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\LoadSourceFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LocalAPIC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ModuleListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiDataView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiSourceCodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"C:\\WINDDK\\2600.1106\\inc\\ddk\\wxp\\ntddk.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDLLDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NtstatStr.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"C:\\WINDDK\\2600.1106\\inc\\wxp\\ntstatus.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTUtility.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFileView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSData.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\osprocessthread.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OtherCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMapWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEExplorer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PluginListForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegHelpWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ring3Object.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTrace.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTraceWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSModuleList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SDSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SearchDialog.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SEHChainWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SerialPort.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ShareCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugClassView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugFrameWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SSERegisterList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StackWatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StringReference.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Syser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAboutForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserMemoryReadWrite.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserResource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserSymAnalyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserUI.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysInfo.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemExplorer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemIoctl.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ThreadListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TypeViewerWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Undoc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoDriver.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WndStringReference.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Optr.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86RegHelpTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\CurEIP.cur\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\Syser.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Syser.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AddTypeViewerDlg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\AnalyseCom.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Analyzer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BreakPointForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BugCheckCode.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStack.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStackWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeBPEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ColorOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CommentList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ConsoleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CrossReferenceForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataBPEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataOperatorDlg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataViewForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebuggerSelectForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeTable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FpuRegisterList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FunctionListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GDTWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GeneRegList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IBMAsciiWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IDTWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KeyMappingPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Lex2.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\LoadSourceFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ModuleListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiDataView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiSourceCodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NtstatStr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjFileView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSData.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\osprocessthread.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OtherCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMapWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEExplorer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PluginListForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegHelpWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ring3Object.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTrace.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTraceWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSModuleList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SearchDialog.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SEHChainWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ShareCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SourceDebug.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugClassView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugFrameWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SSERegisterList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StackWatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StringReference.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAboutForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserMemoryReadWrite.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserSymAnalyzer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserUI.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemExplorer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemIoctl.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ThreadListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TypeViewerWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WndStringReference.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86RegHelpTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Other Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\syntax_color.l\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\"..\\Source\\Res\\rt_manif.bin\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Syser/Win32/Syser.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{0624BDA6-0FF6-44BA-95A1-992E64270B5D}</ProjectGuid>\n    <RootNamespace>Syser</RootNamespace>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n    <Import Project=\"$(VCTargetsPath)\\BuildCustomizations\\masm.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n    <LinkIncremental>true</LinkIncremental>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n    <LinkIncremental>false</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <AdditionalIncludeDirectories>../../../Addition/SyserDebugger;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_SYSER_;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>Default</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>../../../Bin/i386/SyserD.exe</OutputFile>\n      <ModuleDefinitionFile>SyserUDM.def</ModuleDefinitionFile>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <ProgramDatabaseFile>../../../Bin/i386/$(ProjectName)Ring3D.pdb</ProgramDatabaseFile>\n      <StripPrivateSymbols />\n      <SubSystem>Windows</SubSystem>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention />\n      <ImportLibrary>../../../Bin/i386/SyserUDM.lib</ImportLibrary>\n      <TargetMachine>MachineX86</TargetMachine>\n      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <AdditionalIncludeDirectories>../../../Addition/SyserDebugger;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_SYSER_;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Link>\n      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\n      <OutputFile>../../../Bin/i386/Syser.exe</OutputFile>\n      <ModuleDefinitionFile>SyserUDM.def</ModuleDefinitionFile>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n      <ProgramDatabaseFile>../../../Bin/i386/$(ProjectName)Ring3.pdb</ProgramDatabaseFile>\n      <SubSystem>Windows</SubSystem>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n      <RandomizedBaseAddress>false</RandomizedBaseAddress>\n      <DataExecutionPrevention />\n      <ImportLibrary>../../../Bin/i386/SyserUDM.lib</ImportLibrary>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\WINDDK\\2600.1106\\inc\\ddk\\wxp\\ntddk.h\" />\n    <ClInclude Include=\"..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\WINDDK\\2600.1106\\inc\\wxp\\ntstatus.h\" />\n    <ClInclude Include=\"..\\..\\..\\Addition\\Diasdk\\include\\cvconst.h\" />\n    <ClInclude Include=\"..\\..\\..\\Addition\\Diasdk\\include\\dia2.h\" />\n    <ClInclude Include=\"..\\..\\..\\Addition\\SyserDebugger\\SDSymbol.h\" />\n    <ClInclude Include=\"..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h\" />\n    <ClInclude Include=\"..\\..\\SyserApp\\Source\\AnalyseCom.h\" />\n    <ClInclude Include=\"..\\..\\SyserApp\\Source\\LoadSourceFile.h\" />\n    <ClInclude Include=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.h\" />\n    <ClInclude Include=\"..\\..\\SyserApp\\Source\\SourceDebug.h\" />\n    <ClInclude Include=\"..\\Source\\AddTypeViewerDlg.h\" />\n    <ClInclude Include=\"..\\Source\\Analyzer.h\" />\n    <ClInclude Include=\"..\\Source\\BpintCmd.h\" />\n    <ClInclude Include=\"..\\Source\\BreakPointForm.h\" />\n    <ClInclude Include=\"..\\Source\\BugCheckCode.h\" />\n    <ClInclude Include=\"..\\Source\\CallStack.h\" />\n    <ClInclude Include=\"..\\Source\\CallStackWnd.h\" />\n    <ClInclude Include=\"..\\Source\\CodeBPEdit.h\" />\n    <ClInclude Include=\"..\\Source\\CodeView.h\" />\n    <ClInclude Include=\"..\\Source\\ColorOption.h\" />\n    <ClInclude Include=\"..\\Source\\CommentList.h\" />\n    <ClInclude Include=\"..\\Source\\ConsoleWnd.h\" />\n    <ClInclude Include=\"..\\Source\\CrossReferenceForm.h\" />\n    <ClInclude Include=\"..\\Source\\DataBPEdit.h\" />\n    <ClInclude Include=\"..\\Source\\DataOperatorDlg.h\" />\n    <ClInclude Include=\"..\\Source\\DataView.h\" />\n    <ClInclude Include=\"..\\Source\\DataViewForm.h\" />\n    <ClInclude Include=\"..\\Source\\DbgProcess.h\" />\n    <ClInclude Include=\"..\\Source\\DebugCmd.h\" />\n    <ClInclude Include=\"..\\Source\\DebuggerSelectForm.h\" />\n    <ClInclude Include=\"..\\Source\\ErrorCodeTable.h\" />\n    <ClInclude Include=\"..\\Source\\ErrorCodeWnd.h\" />\n    <ClInclude Include=\"..\\Source\\FpuRegisterList.h\" />\n    <ClInclude Include=\"..\\Source\\FunctionListWnd.h\" />\n    <ClInclude Include=\"..\\Source\\GDTWnd.h\" />\n    <ClInclude Include=\"..\\Source\\GeneRegList.h\" />\n    <ClInclude Include=\"..\\Source\\HwndCmd.h\" />\n    <ClInclude Include=\"..\\Source\\HwndWnd.h\" />\n    <ClInclude Include=\"..\\Source\\IBMAsciiWnd.h\" />\n    <ClInclude Include=\"..\\Source\\IDTWnd.h\" />\n    <ClInclude Include=\"..\\Source\\InputDriver.h\" />\n    <ClInclude Include=\"..\\Source\\KeyMappingPage.h\" />\n    <ClInclude Include=\"..\\Source\\Lex2.h\" />\n    <ClInclude Include=\"..\\Source\\LocalAPIC.h\" />\n    <ClInclude Include=\"..\\Source\\MainFrame.h\" />\n    <ClInclude Include=\"..\\Source\\ModuleListWnd.h\" />\n    <ClInclude Include=\"..\\Source\\MultiCodeView.h\" />\n    <ClInclude Include=\"..\\Source\\MultiDataView.h\" />\n    <ClInclude Include=\"..\\Source\\MultiSourceCodeView.h\" />\n    <ClInclude Include=\"..\\Source\\NTDLLDefine.h\" />\n    <ClInclude Include=\"..\\Source\\NtstatStr.h\" />\n    <ClInclude Include=\"..\\Source\\NTUtility.h\" />\n    <ClInclude Include=\"..\\Source\\ObjectDirectoryWnd.h\" />\n    <ClInclude Include=\"..\\Source\\ObjFileView.h\" />\n    <ClInclude Include=\"..\\Source\\OSData.h\" />\n    <ClInclude Include=\"..\\Source\\osprocessthread.h\" />\n    <ClInclude Include=\"..\\Source\\OtherCmd.h\" />\n    <ClInclude Include=\"..\\Source\\PageMapWnd.h\" />\n    <ClInclude Include=\"..\\Source\\PEExplorer.h\" />\n    <ClInclude Include=\"..\\Source\\PluginListForm.h\" />\n    <ClInclude Include=\"..\\Source\\ProcessList.h\" />\n    <ClInclude Include=\"..\\Source\\RegHelpWnd.h\" />\n    <ClInclude Include=\"..\\Source\\Resource.h\" />\n    <ClInclude Include=\"..\\Source\\Ring3Object.h\" />\n    <ClInclude Include=\"..\\Source\\RunTrace.h\" />\n    <ClInclude Include=\"..\\Source\\RunTraceWnd.h\" />\n    <ClInclude Include=\"..\\Source\\SDSModuleList.h\" />\n    <ClInclude Include=\"..\\Source\\SearchDialog.h\" />\n    <ClInclude Include=\"..\\Source\\SEHChainWnd.h\" />\n    <ClInclude Include=\"..\\Source\\SerialPort.h\" />\n    <ClInclude Include=\"..\\Source\\ShareCmd.h\" />\n    <ClInclude Include=\"..\\Source\\SourceCodeWatchList.h\" />\n    <ClInclude Include=\"..\\Source\\SourceCodeWnd.h\" />\n    <ClInclude Include=\"..\\Source\\SourceDebugClassView.h\" />\n    <ClInclude Include=\"..\\Source\\SourceDebugFrameWnd.h\" />\n    <ClInclude Include=\"..\\Source\\SSERegisterList.h\" />\n    <ClInclude Include=\"..\\Source\\StackWatchList.h\" />\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n    <ClInclude Include=\"..\\Source\\StringReference.h\" />\n    <ClInclude Include=\"..\\Source\\Syser.h\" />\n    <ClInclude Include=\"..\\Source\\SyserAboutForm.h\" />\n    <ClInclude Include=\"..\\Source\\SyserApp.h\" />\n    <ClInclude Include=\"..\\Source\\SyserCmd.h\" />\n    <ClInclude Include=\"..\\Source\\SyserDefine.h\" />\n    <ClInclude Include=\"..\\Source\\SyserMemoryReadWrite.h\" />\n    <ClInclude Include=\"..\\Source\\SyserOption.h\" />\n    <ClInclude Include=\"..\\Source\\SyserResource.h\" />\n    <ClInclude Include=\"..\\Source\\SyserSymAnalyzer.h\" />\n    <ClInclude Include=\"..\\Source\\SyserUI.h\" />\n    <ClInclude Include=\"..\\Source\\SysInfo.h\" />\n    <ClInclude Include=\"..\\Source\\SystemExplorer.h\" />\n    <ClInclude Include=\"..\\Source\\SystemIoctl.h\" />\n    <ClInclude Include=\"..\\Source\\ThreadListWnd.h\" />\n    <ClInclude Include=\"..\\Source\\TypeViewerWnd.h\" />\n    <ClInclude Include=\"..\\Source\\Undoc.h\" />\n    <ClInclude Include=\"..\\Source\\VideoDriver.h\" />\n    <ClInclude Include=\"..\\Source\\WatchList.h\" />\n    <ClInclude Include=\"..\\Source\\WndStringReference.h\" />\n    <ClInclude Include=\"..\\Source\\X86Define.h\" />\n    <ClInclude Include=\"..\\Source\\X86Optr.h\" />\n    <ClInclude Include=\"..\\Source\\X86RegHelpTabWnd.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"..\\Source\\Res\\CurEIP.cur\" />\n    <None Include=\"..\\Source\\Res\\rt_manif.bin\" />\n    <None Include=\"..\\Source\\syntax_color.l\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Image Include=\"..\\Source\\Res\\Syser.ico\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"..\\Source\\Syser.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\..\\SyserApp\\Source\\AnalyseCom.cpp\" />\n    <ClCompile Include=\"..\\..\\SyserApp\\Source\\LoadSourceFile.cpp\" />\n    <ClCompile Include=\"..\\..\\SyserApp\\Source\\NoPDBSymbol.cpp\" />\n    <ClCompile Include=\"..\\..\\SyserApp\\Source\\SourceDebug.cpp\" />\n    <ClCompile Include=\"..\\Source\\AddTypeViewerDlg.cpp\" />\n    <ClCompile Include=\"..\\Source\\Analyzer.cpp\" />\n    <ClCompile Include=\"..\\Source\\BreakPointForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\BugCheckCode.cpp\" />\n    <ClCompile Include=\"..\\Source\\CallStack.cpp\" />\n    <ClCompile Include=\"..\\Source\\CallStackWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\CodeBPEdit.cpp\" />\n    <ClCompile Include=\"..\\Source\\CodeView.cpp\" />\n    <ClCompile Include=\"..\\Source\\ColorOption.cpp\" />\n    <ClCompile Include=\"..\\Source\\CommentList.cpp\" />\n    <ClCompile Include=\"..\\Source\\ConsoleWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\CrossReferenceForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\DataBPEdit.cpp\" />\n    <ClCompile Include=\"..\\Source\\DataOperatorDlg.cpp\" />\n    <ClCompile Include=\"..\\Source\\DataView.cpp\" />\n    <ClCompile Include=\"..\\Source\\DataViewForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\DebugCmd.cpp\" />\n    <ClCompile Include=\"..\\Source\\DebuggerSelectForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\ErrorCodeTable.cpp\" />\n    <ClCompile Include=\"..\\Source\\ErrorCodeWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\FpuRegisterList.cpp\" />\n    <ClCompile Include=\"..\\Source\\FunctionListWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\GDTWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\GeneRegList.cpp\" />\n    <ClCompile Include=\"..\\Source\\HwndCmd.cpp\" />\n    <ClCompile Include=\"..\\Source\\HwndWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\IBMAsciiWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\IDTWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\KeyMappingPage.cpp\" />\n    <ClCompile Include=\"..\\Source\\Lex2.cpp\" />\n    <ClCompile Include=\"..\\Source\\MainFrame.cpp\" />\n    <ClCompile Include=\"..\\Source\\ModuleListWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\MultiCodeView.cpp\" />\n    <ClCompile Include=\"..\\Source\\MultiDataView.cpp\" />\n    <ClCompile Include=\"..\\Source\\MultiSourceCodeView.cpp\" />\n    <ClCompile Include=\"..\\Source\\NtstatStr.cpp\" />\n    <ClCompile Include=\"..\\Source\\ObjectDirectoryWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\ObjFileView.cpp\" />\n    <ClCompile Include=\"..\\Source\\OSData.cpp\" />\n    <ClCompile Include=\"..\\Source\\osprocessthread.cpp\" />\n    <ClCompile Include=\"..\\Source\\OtherCmd.cpp\" />\n    <ClCompile Include=\"..\\Source\\PageMapWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\PEExplorer.cpp\" />\n    <ClCompile Include=\"..\\Source\\PluginListForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\ProcessList.cpp\" />\n    <ClCompile Include=\"..\\Source\\RegHelpWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\Resource.cpp\" />\n    <ClCompile Include=\"..\\Source\\Ring3Object.cpp\" />\n    <ClCompile Include=\"..\\Source\\RunTrace.cpp\" />\n    <ClCompile Include=\"..\\Source\\RunTraceWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\SDSModuleList.cpp\" />\n    <ClCompile Include=\"..\\Source\\SearchDialog.cpp\" />\n    <ClCompile Include=\"..\\Source\\SEHChainWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\ShareCmd.cpp\" />\n    <ClCompile Include=\"..\\Source\\SourceCodeWatchList.cpp\" />\n    <ClCompile Include=\"..\\Source\\SourceCodeWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\SourceDebugClassView.cpp\" />\n    <ClCompile Include=\"..\\Source\\SourceDebugFrameWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\SSERegisterList.cpp\" />\n    <ClCompile Include=\"..\\Source\\StackWatchList.cpp\" />\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"..\\Source\\StringReference.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserAboutForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserApp.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserMemoryReadWrite.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserOption.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserSymAnalyzer.cpp\" />\n    <ClCompile Include=\"..\\Source\\SyserUI.cpp\" />\n    <ClCompile Include=\"..\\Source\\SystemExplorer.cpp\" />\n    <ClCompile Include=\"..\\Source\\SystemIoctl.cpp\" />\n    <ClCompile Include=\"..\\Source\\ThreadListWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\TypeViewerWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WatchList.cpp\" />\n    <ClCompile Include=\"..\\Source\\WndStringReference.cpp\" />\n    <ClCompile Include=\"..\\Source\\X86RegHelpTabWnd.cpp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\..\\Code\\Win32\\Code.vcxproj\">\n      <Project>{e50360c3-a8d9-4582-a0b8-0f8f88467113}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcxproj\">\n      <Project>{094fa380-e96b-4ccb-8f40-d58f53823984}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\SDWin32\\Win32\\SDWin32.vcxproj\">\n      <Project>{bb4c6b43-4809-417b-adbc-981eff82c18e}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\WinWisp\\Win32\\WinWisp.vcxproj\">\n      <Project>{142e5b2e-bb1f-42a2-b357-81f97f85f86e}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n    <ProjectReference Include=\"..\\..\\Wisp\\Win32\\Wisp.vcxproj\">\n      <Project>{d3a470e1-dbd8-4ccb-bbb4-46842d343f84}</Project>\n      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\n    </ProjectReference>\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n    <Import Project=\"$(VCTargetsPath)\\BuildCustomizations\\masm.targets\" />\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/Syser/Win32/SyserUDM.def",
    "content": "NAME Syser.exe\nEXPORTS\n\tgpSyserPluginUI\n"
  },
  {
    "path": "Project/Syser/Win32/Syser_VS2019.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio Version 16\nVisualStudioVersion = 16.0.34031.81\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Syser\", \"Syser.vcxproj\", \"{0624BDA6-0FF6-44BA-95A1-992E64270B5D}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcxproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcxproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcxproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcxproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SDWin32\", \"..\\..\\SDWin32\\Win32\\SDWin32.vcxproj\", \"{BB4C6B43-4809-417B-ADBC-981EFF82C18E}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Release|Win32.Build.0 = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{0624BDA6-0FF6-44BA-95A1-992E64270B5D}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Release|Win32.Build.0 = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{BB4C6B43-4809-417B-ADBC-981EFF82C18E}.Trial|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {422F7671-367E-4E22-848A-145BFD231AF0}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/Syser.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Syser\", \"Syser.vcproj\", \"{7252580C-EB1A-41A1-AAC9-0F8464B6354B}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\WinXPDrv32\\Code.vcproj\", \"{651091F4-30CA-4134-91EF-88FB5F4D7477}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\WinXPDrv32\\Wisp.vcproj\", \"{351A08EC-318C-460A-9B79-3ECCF444ACA1}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\WinXPDrv32\\EXEAnalyzer.vcproj\", \"{75EBA530-480B-4CB3-A1A5-5887AE6C0252}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Release|Win32.Build.0 = Release|Win32\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{7252580C-EB1A-41A1-AAC9-0F8464B6354B}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Release|Win32.Build.0 = Release|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{651091F4-30CA-4134-91EF-88FB5F4D7477}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release|Win32.Build.0 = Release|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Release|Win32.Build.0 = Release|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{75EBA530-480B-4CB3-A1A5-5887AE6C0252}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/Syser.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Syser\"\n\tProjectGUID=\"{7252580C-EB1A-41A1-AAC9-0F8464B6354B}\"\n\tRootNamespace=\"Syser\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WNET chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"ddkbuild_demo.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"ddkbuild_demo.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AddTypeViewerDlg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Analyzer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BpintCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BreakPointForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BugCheckCode.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStack.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStackWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_cpu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_cpuid.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_msr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeBPEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ColorOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CommentList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ConsoleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CopyOnWritePatch.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CrossReferenceForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataBPEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataOperatorDlg.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgProcess.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebugCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebuggerSelectForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Dump.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeTable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FpuRegisterList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FunctionListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GDTWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GeneRegList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GlobalVariable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HardWareInterruptCtrl.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IBMAsciiWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IDTWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Initialize.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InputDriver.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0x6.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xb.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xe.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int1.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int3.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InterruptPatch.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IOAPIC.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KernelObjectCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Keyboard.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KeyMappingPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LastBranch.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\lex2.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LocalAPIC.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ModuleListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Mouse.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCPU.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiDataView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiSourceCodeView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NMIInterruptHandle.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NotCompatible.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NtstatStr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTUtility.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectory.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OHCIDevice.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSData.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSProcessThread.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OtherCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMapWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PatchKeBugCheckEx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pci.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PCSystem.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEExplorer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PIC_8259.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PluginListForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PS2Mouse.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegHelpWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTrace.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTraceWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDServer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSModuleList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SearchDialog.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SEHChainWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SerialMouse.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SerialPort.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Services.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ShareCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugClassView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugFrameWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugStartPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SSERegisterList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StackWatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StringReference.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Syser.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAboutForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserCAbi.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserConfig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserConnect.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserMemoryReadWrite.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserNTDrvApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserSymAnalyzer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserUI.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysInfo.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemExplorer.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemIoctl.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemKernelObject.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ThreadListWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TimerInterrupt.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TouchPad.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TrackPoint.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TypeViewerWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\UHCIDevice.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\USBCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoDriver.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VirtualPCSupport.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VMWareSupport.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WatchList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WndStringReference.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Optr.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86RegHelpTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AddTypeViewerDlg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Analyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BpintCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BreakPointForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BugCheckCode.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStack.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CallStackWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_cpu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_cpuid.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cmd_msr.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeBPEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ColorOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CommentList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ConsoleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CopyOnWritePatch.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CrossReferenceForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\Diasdk\\include\\cvconst.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataBPEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataOperatorDlg.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DataView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgProcess.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DebuggerSelectForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\Diasdk\\include\\dia2.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Dump.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeTable.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ErrorCodeWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FpuRegisterList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\FunctionListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GDTWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GeneRegList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GlobalVariable.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HardWareInterruptCtrl.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\HwndWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IBMAsciiWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IDTWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Initialize.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InputDriver.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0x6.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xb.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int0xe.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int1.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Int3.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\InterruptPatch.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\IOAPIC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KernelObjectCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Keyboard.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\KeyMappingPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LastBranch.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LocalAPIC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ModuleListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Mouse.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiCPU.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiDataView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MultiSourceCodeView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NMIInterruptHandle.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NotCompatible.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NtstatStr.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTUtility.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectory.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ObjectDirectoryWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OHCIDevice.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSData.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OSProcessThread.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OtherCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PageMapWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PatchKeBugCheckEx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pci.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pci_ids.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcidef.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\pcreplus.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PCSystem.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PEExplorer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PIC_8259.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PluginListForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\PS2Mouse.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegHelpWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTrace.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RunTraceWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDServer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSModuleList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SDSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SearchDialog.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SEHChainWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SerialMouse.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SerialPort.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Services.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ShareCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceCodeWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugClassView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugFrameWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebugStartPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SSERegisterList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StackWatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StringReference.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Syser.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAboutForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserCAbi.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserConnect.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\syserdrivermc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserMemoryReadWrite.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserNTDrvApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserRegistryConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserResource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserSymAnalyzer.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserUI.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SysInfo.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemIoctl.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SystemKernelObject.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ThreadListWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TimerInterrupt.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TouchPad.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TrackPoint.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\TypeViewerWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\UHCIDevice.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Undoc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\USBCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoDriver.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VirtualPCSupport.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VMWareSupport.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WatchList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WndStringReference.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Define.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86Optr.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\X86RegHelpTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MakeFile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDriverMC.mc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserKDM.def\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserDriver.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"ASM\"\n\t\t\t>\n\t\t\t<Filter\n\t\t\t\tName=\"i386\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\common-x86.asm\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\common-x86.inc\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\compatibility-x86.asm\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\compatibility-x86.inc\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\Function.asm\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\Function.inc\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\interrupt-x86.asm\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\i386\\interrupt-x86.inc\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t\t<Filter\n\t\t\t\tName=\"amd64\"\n\t\t\t\t>\n\t\t\t\t<File\n\t\t\t\t\tRelativePath=\"..\\amd64\\common-amd64.asm\"\n\t\t\t\t\t>\n\t\t\t\t</File>\n\t\t\t</Filter>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_*_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_*_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Syser/WinXPDrv32/ddkbuild_demo.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@set __DEMO__VERSION__=YES\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Syser/amd64/common-amd64.asm",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n\nEXTERN\tHvmSubvertCpu:PROC\nEXTERN\tHvmResumeGuest:PROC\nEXTERN\tOldKiFastCallEntry:QWORD\n\n.CODE\n\nMyKiFastCallEntry PROC\njmp OldKiFastCallEntry\nMyKiFastCallEntry ENDP\n\t\nCmSubvert PROC\n\n\tpush\trax\n\tpush\trcx\n\tpush\trdx\n\tpush\trbx\n\tpush\trbp\n\tpush\trsi\n\tpush\trdi\n\tpush\tr8\n\tpush\tr9\n\tpush\tr10\n\tpush\tr11\n\tpush\tr12\n\tpush\tr13\n\tpush\tr14\n\tpush\tr15\n\n\tsub\trsp, 28h\n\n\tmov\trcx, rsp\n\tcall\tHvmSubvertCpu\n\t\n\tadd\trsp, 28h\n\t\n\tpop\tr15\n\tpop\tr14\n\tpop\tr13\n\tpop\tr12\n\tpop\tr11\n\tpop\tr10\n\tpop\tr9\n\tpop\tr8\n\tpop\trdi\n\tpop\trsi\n\tpop\trbp\n\tpop\trbx\n\tpop\trdx\n\tpop\trcx\n\tpop\trax\n\n\tret\nCmSubvert ENDP\nCmSlipIntoMatrix PROC\n\n\tcall\tHvmResumeGuest\n\n\tadd\trsp, 28h\n\n\tpop\tr15\n\tpop\tr14\n\tpop\tr13\n\tpop\tr12\n\tpop\tr11\n\tpop\tr10\n\tpop\tr9\n\tpop\tr8\n\tpop\trdi\n\tpop\trsi\n\tpop\trbp\n\tpop\trbx\n\tpop\trdx\n\tpop\trcx\n\tpop\trax\n\n\tret\n\nCmSlipIntoMatrix ENDP\n\nHvmGetCpuIdInfo PROC\n    push rbx\n    push rcx\n    push rdx\n    push rsi\n    mov rsi,rcx\n    mov eax,[rsi]\n    cpuid\n    mov [rsi], eax\n    mov [rsi+4], ebx\n    mov [rsi+8], ecx\n    mov [rsi+12], edx\n    pop rsi\n    pop rdx\n    pop rcx\n    pop rbx    \n\tret\nHvmGetCpuIdInfo ENDP\n\n;\n;\tRegister Opreation\n;\n\nHvmRegGetRdtscp PROC\n\tpush rsi\n\tmov rsi,rcx\n\trdtscp\n\tmov [rsi],eax\n\tmov [rsi+8],ecx\n\tmov [rsi+12],edx\n\tpop rsi\n\tret\nHvmRegGetRdtscp ENDP\n\nHvmRegGetTSC PROC\n;\trdtscp\n\trdtsc\n\tshl\t\trdx, 32\n\tor\t\trax, rdx\n\tret\nHvmRegGetTSC ENDP\n\nHvmRegGetRax PROC\n\tmov\t\trax, rax\n\tret\nHvmRegGetRax ENDP\n\n\nHvmRegGetRbx PROC\n\tmov\t\trax, rbx\n\tret\nHvmRegGetRbx ENDP\n\n\nHvmRegGetCs PROC\n\tmov\t\trax, cs\n\tret\nHvmRegGetCs ENDP\n\nHvmRegGetDs PROC\n\tmov\t\trax, ds\n\tret\nHvmRegGetDs ENDP\n\nHvmRegGetEs PROC\n\tmov\t\trax, es\n\tret\nHvmRegGetEs ENDP\n\nHvmRegGetSs PROC\n\tmov\t\trax, ss\n\tret\nHvmRegGetSs ENDP\n\nHvmRegGetFs PROC\n\tmov\t\trax, fs\n\tret\nHvmRegGetFs ENDP\n\nHvmRegGetGs PROC\n\tmov\t\trax, gs\n\tret\nHvmRegGetGs ENDP\n\nHvmRegGetCr0 PROC\n\tmov\t\trax, cr0\n\tret\nHvmRegGetCr0 ENDP\n\nHvmRegGetCr2 PROC\n\tmov\t\trax, cr2\n\tret\nHvmRegGetCr2 ENDP\n\nHvmRegGetCr3 PROC\n\tmov\t\trax, cr3\n\tret\nHvmRegGetCr3 ENDP\n\nHvmRegGetCr4 PROC\n\tmov\t\trax, cr4\n\tret\nHvmRegGetCr4 ENDP\n\nHvmRegGetCr8 PROC\n\tmov\t\trax, cr8\n\tret\nHvmRegGetCr8 ENDP\n\nHvmRegSetCr8 PROC\n\tmov\t\tcr8, rcx\n\tret\nHvmRegSetCr8 ENDP\n\nHvmRegGetDr6 PROC\n\tmov\t\trax, dr6\n\tret\nHvmRegGetDr6 ENDP\n\nHvmRegGetDr0 PROC\n\tmov\t\trax, dr0\n\tret\nHvmRegGetDr0 ENDP\n\nHvmRegGetDr1 PROC\n\tmov\t\trax, dr1\n\tret\nHvmRegGetDr1 ENDP\n\nHvmRegGetDr2 PROC\n\tmov\t\trax, dr2\n\tret\nHvmRegGetDr2 ENDP\n\nHvmRegGetDr3 PROC\n\tmov\t\trax, dr3\n\tret\nHvmRegGetDr3 ENDP\n\n;VOID HvmRegSetCR0(ULONG_PTR\tNewValue)\nHvmRegSetCR0 PROC\n\tmov\t\tcr0, rcx\n\tret\nHvmRegSetCR0 ENDP\n\n;VOID HvmRegSetCR2(ULONG_PTR\tNewValue)\nHvmRegSetCR2 PROC\n\tmov\t\tcr2, rcx\n\tret\nHvmRegSetCR2 ENDP\n\n;VOID HvmRegSetCR3(ULONG_PTR\tNewValue)\nHvmRegSetCR3 PROC\n\tmov\t\tcr3, rcx\n\tret\nHvmRegSetCR3 ENDP\n\n;VOID HvmRegSetCR4(ULONG_PTR\tNewValue)\nHvmRegSetCR4 PROC\n\tmov\t\tcr4, rcx\n\tret\nHvmRegSetCR4 ENDP\n\nHvmRegGetRflags PROC\n\tpushfq\n\tpop\t\trax\n\tret\nHvmRegGetRflags ENDP\n\nHvmRegGetRsp PROC\n\tmov\t\trax, rsp\n\tadd\t\trax, 8\n\tret\nHvmRegGetRsp ENDP\n\nHvmGetIdtBase PROC\n\tLOCAL\tidtr[10]:BYTE\n\t\n\tsidt\tidtr\n\tmov\t\trax, QWORD PTR idtr[2]\n\tret\nHvmGetIdtBase ENDP\n\nHvmGetIdtLimit PROC\n\tLOCAL\tidtr[10]:BYTE\n\t\n\tsidt\tidtr\n\tmov\t\tax, WORD PTR idtr[0]\n\tret\nHvmGetIdtLimit ENDP\n\nHvmGetGdtBase PROC\n\tLOCAL\tgdtr[10]:BYTE\n\n\tsgdt\tgdtr\n\tmov\t\trax, QWORD PTR gdtr[2]\n\tret\nHvmGetGdtBase ENDP\n\nHvmGetGdtLimit PROC\n\tLOCAL\tgdtr[10]:BYTE\n\n\tsgdt\tgdtr\n\tmov\t\tax, WORD PTR gdtr[0]\n\tret\nHvmGetGdtLimit ENDP\n\n;add by cini\nHvmGetLdtr PROC\n\tsldt\trax\n\tret\nHvmGetLdtr ENDP\n\n;add end\n\nHvmGetTrSelector PROC\n\tstr\trax\n\tret\nHvmGetTrSelector ENDP\n\n;ULONG_PTR\tHvmGetCR4(VOID)\nHvmGetCR4 PROC\n\tmov rax,cr4\n\tret\nHvmGetCR4 ENDP\n\n;VOID HvmSetCR4(ULONG_PTR\tNewValue);\nHvmSetCR4 PROC\n\tmov rax,rcx\n\tmov cr4,rax\n\tret\nHvmSetCR4 ENDP\n\n;\n;\tMSR Opreation\n;\n\n;ULONG64 MsrRead (ULONG32 reg );\nMsrRead PROC\n\trdmsr\t\t\t\t; MSR[ecx] --> edx:eax\n\tshl\t\trdx, 32\n\tor\t\trax, rdx\n\tret\nMsrRead ENDP\n\n; VOID MsrWrite (ULONG32 reg (rcx), ULONG64 MsrValue (rdx));\nMsrWrite PROC\n\tmov\t\trax, rdx\n\tshr\t\trdx, 32\n\twrmsr\n\tret\nMsrWrite ENDP\n\n; ULONG64 MsrReadWithEaxEdx (PULONG32 reg (rcx), PULONG32 eax (rdx), PULONG32 edx (r8));\n\nMsrReadWithEaxEdx PROC\n\tpush\tr9\n\tmov\t\tr9, rdx\n\tmov\t\tecx, dword ptr [rcx]\n\trdmsr\t\t\t\t; MSR[ecx] --> edx:eax\n\tmov\t\t[r9], eax\t\n\tmov\t\t[r8], edx\n\tshl\t\trdx, 32\n\tmov\t\tedx,eax\n\tpop\t\tr9\n\tret\nMsrReadWithEaxEdx ENDP\n\n;\n;\n;\n\nCmInitSpinLock PROC\n\tand\tdword ptr [rcx], 0\n\tret\nCmInitSpinLock ENDP\n\n\nCmAcquireSpinLock PROC\nloop_down:\n\tlock\tbts dword ptr [rcx], 0\n\tjb\tloop_down\n\tret\nCmAcquireSpinLock ENDP\n\n\nCmReleaseSpinLock PROC\n\tlock\tbtr dword ptr [rcx], 0\n\tret\nCmReleaseSpinLock ENDP\n\n; CmReloadGdtr (PVOID GdtBase (rcx), ULONG GdtLimit (rdx) );\n\nCmReloadGdtr PROC\n\tpush\trcx\n\tshl\t\trdx, 48\n\tpush\trdx\n\tlgdt\tfword ptr [rsp+6]\t; do not try to modify stack selector with this ;)\n\tpop\t\trax\n\tpop\t\trax\n\tret\nCmReloadGdtr ENDP\n\n; CmReloadIdtr (PVOID IdtBase (rcx), ULONG IdtLimit (rdx) );\n\nCmReloadIdtr PROC\n\tpush\trcx\n\tshl\t\trdx, 48\n\tpush\trdx\n\tlidt\tfword ptr [rsp+6]\n\tpop\t\trax\n\tpop\t\trax\n\tret\nCmReloadIdtr ENDP\n\n\nEND\n"
  },
  {
    "path": "Project/Syser/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/Syser/i386/Function.asm",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n.686p\n.MMX\n.XMM\n.model flat,StdCall\noption casemap:none\n\ninclude compatibility-x86.inc\n\n;ⲿ\n;EXTERN CloseDebugRegisterMontior@0:PROC\n\n;ԭͶ\n;SyserPrivateReadMSR Proto :DWORD\n\n;\n;extern gbActive:BYTE\n\n.DATA\n\n;bInit\tdb\t0\n\n\n.CODE\n\n;\n;\tLastBranch.cpp\n;\n\n;int SyserDetectLastBranchType(VOID);\nSyserDetectLastBranchType\tPROC\n\tlocal Index:DWORD\n\tlocal Index2:DWORD\n\tlocal From:DWORD\n\tlocal To:DWORD\n\tlocal From1:DWORD\n\tlocal To1:DWORD\n\tlocal Tos1:DWORD\n\tlocal Tos2:DWORD\n\tlocal From2:DWORD\n\tlocal To2:DWORD\n\tmov Index,0\n\tmov Index2,0\n\tmov From,0\n\tmov To,0\n\tmov From1,0\n\tmov To1,0\n\tmov Tos1,0\n\tmov Tos2,0\n\tmov From2,0\n\tmov To2,0\n\tpushad\n\tpushfd\n\tcli\n\tmov ecx,01D9h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tor eax,1\n\twrmsr\n\tcall @@001\n\tnop\n@@001:\n\tpop eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tmov Tos1,eax\n\tcall @@002\n\tnop\n@@002:\n\tpop eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tmov Tos2,eax\n\tpopfd\n\tpopad\n\t\n\tpush ebx\t\t;ڵ P6  û MSR_LASTBRANCH_TOP \n\tmov eax,Tos1\n\tand eax,0Fh\n\tmov ebx,Tos2\n\tand ebx,0Fh\n\ttest eax,ebx\n\tjnz @@EndIf\n\tpop ebx\n\txor eax,eax\n\tret\n\t\n@@EndIf:\n\tpop ebx\n\tpushad\n\tpushfd\n\tcli\n\tcall @@003\n\tnop\n@@003:\n\tpop eax\n\tlea eax,[eax-5]\n\tmov From,eax\n\tlea eax,[eax+6]\n\tmov To,eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tand eax,3\n\tmov ecx,eax\n\tadd ecx,01DBh\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov From1,eax\n\tmov To1,edx\n\tpopfd\n\tpopad\n\t\n\tmov eax,From\n\tcmp eax,From1\n\tjnz @@NextCon\n\tmov eax,To\n\tcmp eax,To1\n\tjnz @@NextCon\n\tjmp @@Ret1\n@@NextCon:\n\tmov eax,From\n\tcmp eax,To1\n\tjnz\t@@EndIf1\n\tmov eax,To\n\tcmp eax,From1\n\tjnz @@EndIf1\n@@Ret1:\n\tmov eax,1\n\tret\n\t\n@@EndIf1:\n\tpushad\n\tpushfd\n\tcli\n\tcall @@004\n\tnop\n@@004:\n\tpop eax\n\tlea eax,[eax-5]\n\tmov From,eax\n\tlea eax,[eax+6]\n\tmov To,eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tand eax,7\n\tmov Index,eax\n\tmov ecx,eax\n\tadd ecx,040h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov From1,eax\n\tmov To1,edx\n\tjmp @@102\n\tnop\n@@102:\n\tjmp @@103\n\tnop\n@@103:\n\tjmp @@104\n\tnop\n@@104:\n\tjmp @@105\n\tnop\n@@105:\n\tmov ecx,01D9h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tand eax,7\n\tmov Index2,eax\n\tpopfd\n\tpopad\n\t\n\tmov eax,From\t\t;һѭջмԪ\n\tcmp eax,From1\n\tjnz @@NextCon1\n\tmov eax,To\n\tcmp eax,To1\n\tjnz @@NextCon1\n\tjmp @@Ret2\n@@NextCon1:\n\tmov eax,From\n\tcmp eax,To1\n\tjnz\t@@EndIf2\n\tmov eax,To\n\tcmp eax,From1\n\tjnz @@EndIf2\n@@Ret2:\n\tmov eax,Index\t; Index == Index2 \tѭջ4Ԫ  8 Ԫ\n\tcmp eax,Index2\n\tjz @@Eax2\n\tmov eax,3\n\tret\n@@Eax2:\n\tmov eax,2\n\tret\n\t\n@@EndIf2:\n\tpushad\n\tpushfd\n\tcli\n\tcall @@034\n\tnop\n@@034:\n\tpop eax\n\tlea eax,[eax-5]\n\tmov From,eax\n\tlea eax,[eax+6]\n\tmov To,eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tand eax,7\n\tmov Index,eax\n\tmov ecx,eax\n\tadd ecx,040h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov From1,eax\n\tmov ecx,Index\n\tadd ecx,060h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov To1,eax\n\tjmp @@005\n\tnop\n@@005:\n\tjmp @@006\n\tnop\n@@006:\n\tjmp @@007\n\tnop\n@@007:\n\tjmp @@008\n\tnop\n@@008:\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tand eax,7\n\tmov Index2,eax\n\tpopfd\n\tpopad\n\t\n\tmov eax,From\t\t;һѭջмԪ\n\tcmp eax,From1\n\tjnz @@NextCon2\n\tmov eax,To\n\tcmp eax,To1\n\tjnz @@NextCon2\n\tjmp @@Ret3\n@@NextCon2:\n\tmov eax,From\n\tcmp eax,To1\n\tjnz\t@@EndIf3\n\tmov eax,To\n\tcmp eax,From1\n\tjnz @@EndIf3\n@@Ret3:\n\tmov eax,Index\t; Index == Index2 \tѭջ4Ԫ  8 Ԫ\n\tcmp eax,Index2\n\tjz @@Eax4\n\tmov eax,5\n\tret\n@@Eax4:\n\tmov eax,4\n\tret\n\t\n@@EndIf3:\n\tpushad\n\tpushfd\n\tcli\n\tcall @@036\n\tnop\n@@036:\n\tpop eax\n\tlea eax,[eax-5]\n\tmov From,eax\n\tlea eax,[eax+6]\n\tmov To,eax\n\txor eax,eax\n\txor edx,edx\n\tmov ecx,01C9h\n\trdmsr\n\tand eax,15\n\tmov Index,eax\n\tmov ecx,eax\n\tadd ecx,0680h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov From1,eax\n\tmov ecx,Index\n\tadd ecx,06C0h\n\txor eax,eax\n\txor edx,edx\n\trdmsr\n\tmov To1,eax\n\tpopfd\n\tpopad\n\t\n\tmov eax,From\t\t;һѭջмԪ\n\tcmp eax,From1\n\tjnz @@NextCon3\n\tmov eax,To\n\tcmp eax,To1\n\tjnz @@NextCon3\n\tjmp @@Ret4\n@@NextCon3:\n\tmov eax,From\n\tcmp eax,To1\n\tjnz\t@@EndIf4\n\tmov eax,To\n\tcmp eax,From1\n\tjnz @@EndIf4\n@@Ret4:\n\tmov eax,6\n\tret\n\t\n@@EndIf4:\n\tmov eax,0FFFFFFFFh\n\tret\nSyserDetectLastBranchType\tENDP\nEND\n"
  },
  {
    "path": "Project/Syser/i386/Function.inc",
    "content": ";\t/*\n;\t\tSyserʵص\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n"
  },
  {
    "path": "Project/Syser/i386/common-x86.asm",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n.686p\n.MMX\n.XMM\n.model flat,StdCall\noption casemap:none\n\ninclude common-x86.inc\n\n;ⲿ\n;EXTERN\t HvmSubvertCpu@4:PROC  \n;EXTERN\t HvmResumeGuest@0:PROC\nEXTERN   SyserIsSupportRDMSRInstruction@0:PROC\nEXTERN  InsertKeyboardBuffer@4:PROC\nEXTERN\tGetCurrentCPULocalAPICID@0:PROC\nEXTERN\tBeep@8:PROC\nEXTERN SaveFpuRegister@0:PROC\nEXTERN SaveLocalApic@4:PROC\nEXTERN EnableHardwaveBreakpoint@0:PROC\nEXTERN SyserGetbUpdateReg@0:PROC\nEXTERN SyserSetbUpdateReg@4:PROC\nEXTERN RestorFpuRegister@0:PROC\nEXTERN SyserGetIsDbgRegAccessMon@0:PROC\n\n;ԭͶ\nSyserPrivateReadMSR Proto :DWORD\nSyserPrivateGetTSC Proto\nSyserPrivateWriteMSR Proto :DWORD,:DWORD,:DWORD\nSyserGetIDTBase Proto :DWORD\nInsertKeyboardBuffer\tProto :BYTE\nSyserSaveFlags\tProto :DWORD\nSyserRestoreFlags Proto :DWORD\nBeep Proto :DWORD,:DWORD\nGetCurrentCPULocalAPICID Proto\nSaveFpuRegister\tProto\nSaveLocalApic\tProto :DWORD\nEnableHardwaveBreakpoint\tProto\nSyserGetbUpdateReg\tProto\nSyserSetbUpdateReg\tProto :DWORD\nRestorFpuRegister\tProto\nSyserGetIsDbgRegAccessMon\tProto\nSyserCloseDebugRegisterMontior\tProto\nSyserOpenDebugRegisterMontior\tProto\n\n;\nextern gSystemFSRegisterSelector:DWORD\nextern gSystemSSRegisterSelector:DWORD\nextern gSystemCSRegisterSelector:DWORD\nextern gSystemDSRegisterSelector:DWORD\nextern gbActive:BYTE\nextern stKeyGlobalVariable:KEYINTERRUPTVARIABLE\nextern dwMousePackageBeginOffset:DWORD\nextern dwWaitMouseInterrupt:DWORD\nextern gCPUNumbers:DWORD\nextern gLoopCpuNumber:DWORD\nextern gdwExitNmiLock:DWORD\nextern gdwMulitCpuSpinlock:DWORD\nextern gdwCurrentCPUIndex:DWORD\nextern gdwMulitCpuSendIPIFlags:DWORD\nextern gdwLocalAPICLineAddress:DWORD\nextern Reg:X86REGCONTEXT\nextern OldESP:DWORD\nextern gpMCPUReg:ptr X86REGCONTEXT\nextern ReadOnlyActiveReg:X86REGCONTEXT\nextern gpMCPULocalApic:ptr LOCALAPICINFO\nextern ReturnContext:RETURNCONTEXT\nextern gPrevStepEIP:DWORD\n\n;\n;\tGUEST_REGSṹӦ\n;\nCM_SAVE_ALL_NOSEGREGS MACRO\n        push edi\n        push esi\n        push ebp\n        push ebp ;        push esp\n        push ebx\n        push edx\n        push ecx\n        push eax\nENDM\n\nCM_RESTORE_ALL_NOSEGREGS MACRO\n        pop eax\n        pop ecx\n        pop edx\n        pop ebx\n        pop ebp ;        pop esp\n        pop ebp\n        pop esi\n        pop edi        \nENDM\n\n.DATA\n\nbInit\tdb\t0\nbHaveCPUIDInstruction\tdb 0\nCR0Backup\tdd\t0\nbInitIsSupportRDMSRInstruction db 0\nbHaveReadWriteMSRInstruction\tdb 0\n\n\n.CODE\n\n;\n;\t\n;\n\n;VOID  SyserSaveFlagsLow16(PWORD\t_SaveFlags);\nSyserSaveFlagsLow16\tPROC _SaveFlags\n\tpush eax\n\tpush esi\n\tpushf\n\tpop ax\n\tmov esi,_SaveFlags\n\tmov [esi],ax\n\tpop esi\n\tpop eax\n\tret\nSyserSaveFlagsLow16\tENDP\n\n;VOID  SyserRestoreFlagsLow16(WORD\t_Flags);\nSyserRestoreFlagsLow16\tPROC  _Flags\n\tpush eax\n\tpush _Flags\n\tpopf\n\tpop eax\n\tret\nSyserRestoreFlagsLow16\tENDP\n\n;VOID\tSyserPushad(PX86SaveRegs\tRegs);ԺԿÿŻ\nSyserPushad\tPROC Regs\n\tpushad\n\tmov esi,esp\n\tmov edi,Regs\n\tmov eax,[esi + X86SAVEREGS.SaveEdi]\n\tmov [edi + X86SAVEREGS.SaveEdi],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEsi]\n\tmov [edi + X86SAVEREGS.SaveEsi],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEbp]\n\tmov [edi + X86SAVEREGS.SaveEbp],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEsp]\n\tmov [edi + X86SAVEREGS.SaveEsp],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEbx]\n\tmov [edi + X86SAVEREGS.SaveEbx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEdx]\n\tmov [edi + X86SAVEREGS.SaveEdx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEcx]\n\tmov [edi + X86SAVEREGS.SaveEcx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEax]\n\tmov [edi + X86SAVEREGS.SaveEax],eax\n\tpopad\n\tret\nSyserPushad\tENDP\n\n;VOID\tSyserPopad(PX86SaveRegs\tRegs);ԺԿÿŻ\nSyserPopad\tPROC Regs\n\tpushad\n\tmov edi,esp\n\tmov esi,Regs\n\tmov eax,[esi + X86SAVEREGS.SaveEdi]\n\tmov [edi + X86SAVEREGS.SaveEdi],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEsi]\n\tmov [edi + X86SAVEREGS.SaveEsi],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEbp]\n\tmov [edi + X86SAVEREGS.SaveEbp],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEsp]\n\tmov [edi + X86SAVEREGS.SaveEsp],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEbx]\n\tmov [edi + X86SAVEREGS.SaveEbx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEdx]\n\tmov [edi + X86SAVEREGS.SaveEdx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEcx]\n\tmov [edi + X86SAVEREGS.SaveEcx],eax\n\tmov eax,[esi + X86SAVEREGS.SaveEax]\n\tmov [edi + X86SAVEREGS.SaveEax],eax\n\tpopad\n\tret\nSyserPopad\tENDP\n\n;VOID SyserCli(VOID);\nSyserCli\tPROC\n\tcli\n\tret\nSyserCli\tENDP\n\n;VOID SyserSti(VOID);\nSyserSti\tPROC\n\tsti\n\tret\nSyserSti\tENDP\n\n;VOID SyserHlt(VOID);\nSyserHlt\tPROC\n\thlt\n\tret\nSyserHlt\tENDP\n\n;VOID SyserCltr(VOID);\nSyserCltr\tPROC\n\tclts\n\tret\nSyserCltr\tENDP\n\n;VOID SyserFnsave(PUCHAR\tpState);\nSyserFnsave\tPROC pState\n\tpush eax\n\tmov eax,pState\n\tfnsave byte ptr [eax]\n\tpop eax\n\tret\nSyserFnsave\tENDP\n\n;VOID SyserFrstor(PUCHAR\tpState);\nSyserFrstor\tPROC pState\n\tpush eax\n\tmov eax,pState\n\tfrstor byte ptr [eax]\n\tpop eax\n\tret\nSyserFrstor\tENDP\n\n;VOID SyserFnstsw(PUSHORT\tpState);\nSyserFnstsw\tPROC pState\n\tpush eax\n\tpush ebx\n\tmov ebx,pState\n\txor eax,eax\n\tfnstsw ax\n\tmov word ptr[ebx],ax\n\tpop ebx\n\tpop eax\n\tret\nSyserFnstsw\tENDP\n\n;VOID SyserFnstcw(PUSHORT\tpControl);\nSyserFnstcw\tPROC pControl\n\tpush eax\n\tpush ebx\n\tmov ebx,pControl\n\tfnstcw word ptr [ebx]\n\tpop ebx\n\tpop eax\n\tret\nSyserFnstcw\tENDP\n\n;VOID SyserFlushInsCache(BYTE*\tAddPte);\nSyserFlushInsCache\tPROC\tAddPte\n\tinvlpg\tAddPte\n\tpush eax\n\tmov eax,cr3\n\tmov cr3,eax\n\tpop eax\n\tret\nSyserFlushInsCache\tENDP\n\n;VOID SyserFlushProcessInsCache(VOID);\nSyserFlushProcessInsCache\tPROC\n\tpush eax\n\tmov eax,cr3\n\tmov cr3,eax\n\tpop eax\n\tret\nSyserFlushProcessInsCache\tENDP\n\n;DWORD SyserLar(DWORD\tSelector);\nSyserLar\tPROC Selector\n\tpush ebx\n\tmov ebx,Selector\n\tlar eax,ebx\n\tpop ebx\n\tret\nSyserLar\tENDP\n\n;\n;\tSysDep.cpp\n;\n\n;ULONG64\tSyserGetRdTsc(VOID);\nSyserGetRdTsc\tPROC\n\trdtsc\n\tret\nSyserGetRdTsc\tENDP\n\n;\n;\tX86Optr.cpp\n;\n\n;VOID  SyserCloseInterrupt(VOID);\nSyserCloseInterrupt PROC\n\tcli\n\tret\nSyserCloseInterrupt ENDP\n\n;VOID  SyserOpenInterrupt(VOID);\nSyserOpenInterrupt PROC\n\tsti\n\tret\nSyserOpenInterrupt ENDP\n\n;VOID  SyserSaveFlags(PULONG_PTR\t_SaveFlags);\nSyserSaveFlags PROC _SaveFlags\n\tpush eax\n\tpush ebx\n\tpushfd\n\tpop eax\n\tmov ebx,_SaveFlags\n\tmov [ebx],eax\n\tpop ebx\n\tpop eax\t\n\tret\nSyserSaveFlags ENDP\n\n;VOID  SyserRestoreFlags(ULONG_PTR\t_Flags);\nSyserRestoreFlags PROC _Flags\n\tpush _Flags\n\tpopfd\n\tret\nSyserRestoreFlags ENDP\n\n;VOID  SyserCld(VOID);\nSyserCld PROC\n\tcld\n\tret\nSyserCld ENDP\n\n;VOID SyserGetCPUID(CPUID_INFO *pCPUInfo,DWORD dwIndex);\nSyserGetCPUID PROC pCPUInfo,dwIndex\n\tpushad\n\tpushfd\n\tmov eax,dwIndex\n\tcpuid\n\tmov esi,pCPUInfo\n\tmov [esi],eax\n\tmov [esi+4],ebx\n\tmov [esi+8],ecx\n\tmov [esi+12],edx\n\tpopfd\n\tpopad\n\tret\nSyserGetCPUID ENDP\n\n;DWORD SyserGetCPUIDMaxIndex();\nSyserGetCPUIDMaxIndex PROC\n\tpushad\n\tpushfd\n\tmov eax,0\n\tcpuid\n\tmov [esp+32],eax\n\tpopfd\n\tpopad\n\tret\nSyserGetCPUIDMaxIndex ENDP\n\n;bool SyserIsSupportCPUIDInstruction();\nSyserIsSupportCPUIDInstruction PROC\n\tpush ebp\n\tmov ebp,esp\n\tpush ebx\n\tpush ecx\n\tpush edx\n\tmovzx eax,bInit\n\ttest eax,eax\n\tjnz @@3\n\tpushad\n\tpushfd\n\tmov eax,[esp]\n\tmov ebx,eax\n\txor eax,200000h\n\tpush eax\n\tpopf\n\tpushf\n\tpop eax\n\txor eax,ebx\n\tmov eax,0\n\tjz @@2\n\tcpuid\n\tcmp eax,1\n\tjnb @@1\n\tmov bHaveCPUIDInstruction,0\n\tjmp @@2\n@@1:\n\tmov bHaveCPUIDInstruction,1\n@@2:\n\tpopfd\n\tpopad\n\tmov bInit,1\n@@3:\n\txor eax,eax\n\tmov al,bHaveCPUIDInstruction\n\tpop edx\n\tpop ecx\n\tpop ebx\n\tleave\n\tret\nSyserIsSupportCPUIDInstruction ENDP\n\n;__int64 __stdcall SyserPrivateReadMSR(DWORD dwIndex);\nSyserPrivateReadMSR PROC dwIndex\n\tmov ecx,dwIndex\n\trdmsr\n\tclc\n\tret 4\nSyserPrivateReadMSR ENDP\n\n;__int64 __stdcall SyserPrivateReadMSRError();\nSyserPrivateReadMSRError PROC\n\tstc\n\tret 4\nSyserPrivateReadMSRError ENDP\n\n;VOID __stdcall SyserPrivateWriteMSR(DWORD dwIndex,DWORD dwValueLow,DWORD dwValueHigh);\nSyserPrivateWriteMSR PROC dwIndex,dwValueLow,dwValueHigh\n\tmov ecx,dwIndex\n\tmov eax,dwValueLow\n\tmov edx,dwValueHigh\n\twrmsr\n\tclc\n\tret\nSyserPrivateWriteMSR ENDP\n\n;VOID __stdcall SyserPrivateWriteMSRError(VOID);\nSyserPrivateWriteMSRError PROC\n\tstc\n\tret 0Ch\nSyserPrivateWriteMSRError ENDP\n\n;bool SyserReadMSR(DWORD dwIndex,DWORD *dwHigh,DWORD *dwLow);\nSyserReadMSR PROC dwIndex,dwHigh,dwLow\n\tlocal dwRetValue:DWORD\n\tmov dwRetValue,0\n\tcall SyserIsSupportRDMSRInstruction\n\tmovzx eax, al\n\ttest eax,eax\n\tjz @@2\n\tpushad\n\tinvoke SyserPrivateReadMSR,dwIndex\n\tjb @@1\n\tmov dwRetValue,1\n\tpush ecx\n\tmov ecx,dwHigh\n\tmov [ecx],edx\n\tmov ecx,dwLow\n\tmov [ecx],eax\n\tpop ecx\n@@1:\n\tpopad\n@@2:\n\txor eax,eax\n\tcmp dwRetValue,1\n\tsetz al\n\tret\nSyserReadMSR ENDP\n\n;__int64 __stdcall SyserPrivateGetTSC();\nSyserPrivateGetTSC PROC\n\trdtsc\n\tclc\n\tret\nSyserPrivateGetTSC ENDP\n\n;__int64 __stdcall SyserPrivateGetTSCError();\nSyserPrivateGetTSCError PROC\n\tstc\n\tret\nSyserPrivateGetTSCError ENDP\n\n;ULONGLONG SyserGetTSC();\nSyserGetTSC PROC\n\tinvoke SyserPrivateGetTSC\n\tret\nSyserGetTSC ENDP\n\n;bool SyserWriteMSR(DWORD dwIndex,DWORD dwHigh,DWORD dwLow);\nSyserWriteMSR PROC dwIndex,dwHigh,dwLow\n\tlocal dwRetValue:DWORD\n\tmov dwRetValue,0\n\t;ԺҪעȥcall IsSupportRDMSRInstruction\n\tmovzx eax, al\n\ttest eax,eax\n\tjz @@1\n\tpushad\n\tinvoke SyserPrivateWriteMSR,dwIndex,dwHigh,dwLow\n\tmovzx eax,al\n\tmov dwRetValue,eax\n\tpopad\n@@1:\n\txor eax,eax\n\tcmp dwRetValue,1\n\tsetz al\n\tret\nSyserWriteMSR ENDP\n\n;DWORD SyserGetTSSSelector();\nSyserGetTSSSelector PROC\n\txor eax,eax\n\tstr ax\n\tret\nSyserGetTSSSelector\tENDP\n\n;DWORD SyserGetLDTSelector();\nSyserGetLDTSelector\tPROC\n\txor eax,eax\n\tsldt ax\n\tret\nSyserGetLDTSelector ENDP\n\n;VADDR32 SyserGetIDTBase(DWORD *dwIdtSize);\nSyserGetIDTBase PROC dwIdtSize\n\tlocal SIDTBffer:QWORD\n\tlocal vIDTBase:DWORD\n\tpush esi\n\tpush ebx\n\tlea esi,SIDTBffer\n\tsidt [esi]\n\tmov eax,[esi+2]\n\tmov vIDTBase,eax\n\tmov eax,dwIdtSize\n\ttest eax,eax\n\tjz @@1\n\tmov bx,[esi]\n\tmovzx ebx,bx\n\tmov [eax],ebx\n@@1:\n\tmov eax,vIDTBase\n\tpop ebx\n\tpop esi\n\tret\nSyserGetIDTBase ENDP\n\n;VADDR32 SyserGetGDTBase(DWORD *dwGdtSize);\nSyserGetGDTBase\tPROC dwGdtSize\n\tlocal dwSize:DWORD\n\tlocal GDTInfo:QWORD\n\tpush esi\n\tpush edi\n\tlea esi,GDTInfo\n\tsgdt [esi]\n\tmov edi,dwGdtSize\n\ttest edi,edi\n\tjz @@1\n\tmovzx eax,word ptr[esi]\n\tmov [edi],eax\n@@1:\n\tmov eax,[esi+2]\n\tpop edi\n\tpop esi\n\tret\nSyserGetGDTBase ENDP\n\n;SELECTOR SyserGetCurCSeg();\nSyserGetCurCSeg\tPROC\n\txor eax,eax\n\tmov ax,cs\n\tret\nSyserGetCurCSeg\tENDP\n\n;SELECTOR SyserGetCurDSeg();\nSyserGetCurDSeg\tPROC\n\txor eax,eax\n\tmov ax,ds\n\tret\nSyserGetCurDSeg\tENDP\n\n;SELECTOR SyserGetCurFSeg();\nSyserGetCurFSeg\tPROC\n\txor eax,eax\n\tmov ax,fs\n\tret\nSyserGetCurFSeg\tENDP\n\n;REG32 SyserGetCR0Reg();\nSyserGetCR0Reg\tPROC\n\tmov eax,cr0\n\tret\nSyserGetCR0Reg\tENDP\n\n;VOID SyserSetCR0Reg(IN REG32 uReg);\nSyserSetCR0Reg\tPROC uReg\n\tpush eax\n\tmov eax,uReg\n\tmov cr0,eax\n\tpop eax\n\tret\nSyserSetCR0Reg\tENDP\n\n;REG32 SyserGetCR3Reg();\nSyserGetCR3Reg\tPROC\n\tmov eax,cr3\n\tret\nSyserGetCR3Reg\tENDP\n\n;VOID SyserSetCR3Reg(IN REG32 uReg);\nSyserSetCR3Reg\tPROC uReg\n\tpush eax\n\tmov eax,uReg\n\tmov cr3,eax\n\tpop eax\n\tret\nSyserSetCR3Reg\tENDP\n\n;REG32 SyserGetCR4Reg();\nSyserGetCR4Reg\tPROC\n\tmov eax,cr4\n\tret\nSyserGetCR4Reg\tENDP\n\n;VOID SyserSetCR4Reg(IN REG32 uReg);\nSyserSetCR4Reg\tPROC uReg\n\tpush eax\n\tmov eax,uReg\n\tmov cr4,eax\n\tpop eax\n\tret\nSyserSetCR4Reg\tENDP\n\n;VOID SyserClrCR0WP()\nSyserClrCR0WP\tPROC\n\tpush eax\n\tmov eax,CR0Backup\n\tand eax,080000000h\n\tjz @@1\n\tmov eax,cr0\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tpop eax\n\tret\n@@1:\n\tmov eax,cr0\n\tmov CR0Backup,eax\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tpop eax\n\tret\nSyserClrCR0WP\tENDP\n\n;VOID SyserSetCR0WP();\nSyserSetCR0WP\tPROC\n\tpush eax\n\tmov eax,cr0\n\tmov CR0Backup,eax\n\tor eax,10000h\n\tmov cr0,eax\n\tpop eax\n\tret\nSyserSetCR0WP\tENDP\n\n;VOID SyserRestoreCR0();\nSyserRestoreCR0\tPROC\n\tpush eax\n\tmov eax,CR0Backup\n\tand eax,080000000h\n\tjz @@1\n\tmov eax,CR0Backup\n\tmov cr0,eax\n\txor eax,eax\n\tmov CR0Backup,eax\t\n@@1:\n\tpop eax\n\tret\nSyserRestoreCR0\tENDP\n\n;DWORD SyserClearCR0WP();\nSyserClearCR0WP\tPROC\n\tmov eax,cr0\n\tpush eax\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tpop eax\n\tret\nSyserClearCR0WP\tENDP\n\n;VOID SyserRestoreCR0WP(DWORD dwCR0);\nSyserRestoreCR0WP\tPROC dwCR0\n\tpush eax\n\tmov eax,dwCR0\n\tmov cr0,eax\n\tpop eax\n\tret\nSyserRestoreCR0WP\tENDP\n\n;REG32 SyserGetDRX(IN UINT ID);\nSyserGetDRX\tPROC ID\n\tpushfd\n\tpush ecx\n\tmov ecx,@@1\n\tmov eax,ID\n\tshl eax,2\n\tadd eax,ecx\n\tmov eax,[eax]\n\tpop ecx\n\tpopfd\n\tjmp eax\n@@1:\n\tdd @@2\n\tdd @@3\n\tdd @@4\n\tdd @@5\n\tdd @@1\n\tdd @@1\n\tdd @@6\n\tdd @@7\n@@2:\n\tmov eax,dr0\n\tret\n@@3:\n\tmov eax,dr1\n\tret\n@@4:\n\tmov eax,dr2\n\tret\n@@5:\n\tmov eax,dr3\n\tret\n@@6:\n\tmov eax,dr6\n\tret\n@@7:\n\tmov eax,dr7\n\tret\nSyserGetDRX ENDP\n\n;VOID SyserSetDRX(IN UINT ID,IN REG32 Reg1);\nSyserSetDRX\tPROC ID,Reg1\n\tpush eax\n\tpushfd\n\tpush ecx\n\tmov ecx,@@1\n\tmov eax,ID\n\tshl eax,2\n\tadd eax,ecx\n\tmov eax,[eax]\n\tpop ecx\n\tpopfd\n\tjmp eax\n@@1:\n\tdd @@2\n\tdd @@3\n\tdd @@4\n\tdd @@5\n\tdd @@1\n\tdd @@1\n\tdd @@6\n\tdd @@7\n@@2:\n\tmov eax,Reg1\n\tmov dr0,eax\n\tpop eax\n\tret\n@@3:\n\tmov eax,Reg1\n\tmov dr1,eax\n\tpop eax\n\tret\n@@4:\n\tmov eax,Reg1\n\tmov dr2,eax\n\tpop eax\n\tret\n@@5:\n\tmov eax,Reg1\n\tmov dr3,eax\n\tpop eax\n\tret\n@@6:\n\tmov eax,Reg1\n\tmov dr6,eax\n\tpop eax\n\tret\n@@7:\n\tmov eax,Reg1\n\tmov dr7,eax\n\tpop eax\n\tret\nSyserSetDRX\tENDP\n\n;BYTE SyserReadPortByte(DWORD wPort);\nSyserReadPortByte\tPROC wPort\n\tpush edx\n\tmov edx,wPort\n\tin al,dx\n\tmovzx eax,al\n\tpop edx\n\tret\nSyserReadPortByte\tENDP\n\n;WORD SyserReadPortWord(DWORD wPort);\nSyserReadPortWord\tPROC wPort\n\tpush edx\n\tmov edx,wPort\n\tin ax,dx\n\tmovzx eax,ax\n\tpop edx\n\tret\nSyserReadPortWord\tENDP\n\n;DWORD SyserReadPortDword(DWORD wPort);\nSyserReadPortDword\tPROC wPort\n\tpush edx\n\tmov edx,wPort\n\tin eax,dx\n\tpop edx\n\tret\nSyserReadPortDword\tENDP\n\n;VOID SyserWritePortDword(DWORD dwPort, DWORD dwValue);\nSyserWritePortDword\tPROC dwPort,dwValue\n\tpush eax\n\tpush edx\n\tmov edx,dwPort\n\tmov eax,dwValue\n\tout dx,eax\n\tpop edx\n\tpop eax\n\tret\nSyserWritePortDword\tENDP\n\n;VOID SyserWritePortWord(DWORD dwPort, WORD wValue);\nSyserWritePortWord\tPROC dwPort,wValue\n\tpush eax\n\tpush edx\n\tmov edx,dwPort\n\tmov ax,word ptr wValue\n\tout dx,ax\n\tpop edx\n\tpop eax\n\tret\nSyserWritePortWord\tENDP\n\n;VOID SyserWritePortByte(DWORD dwPort, BYTE byteValue);\nSyserWritePortByte\tPROC dwPort,byteValue\n\tpush eax\n\tpush edx\n\tmov edx,dwPort\n\tmov al,byte ptr byteValue\n\tout dx,al\n\tpop edx\n\tpop eax\n\tret\nSyserWritePortByte\tENDP\n\n;bool SyserIsSupportRDMSRInstruction();\nSyserIsSupportRDMSRInstruction\tPROC\n\txor eax,eax\n\tmov al,bInitIsSupportRDMSRInstruction\n\ttest eax,eax\n\tjnz @@3\n\txor eax,eax\n\tinvoke SyserIsSupportCPUIDInstruction\n\ttest eax,eax\n\tjz @@2\n\tpushad\n\tmov eax,1\n\tcpuid\n\ttest edx,020h\n\tmov bHaveReadWriteMSRInstruction,0\n\tjz @@1\n\tmov bHaveReadWriteMSRInstruction,1\n@@1:\n\tpopad\n\tmov bInitIsSupportRDMSRInstruction,1\n\tjmp @@1\n@@2:\n\tmov bHaveReadWriteMSRInstruction,0\n@@3:\n\txor eax,eax\n\tmov al,bHaveReadWriteMSRInstruction\n\tret\nSyserIsSupportRDMSRInstruction\tENDP\n\n;void* SyserMemoryCopy(void *dst, const void*src,int count);\nSyserMemoryCopy\tPROC dst,src,count\n\tpushad\n\tpushfd\n\tcld\n\tmov esi,src\n\tmov edi,dst\n\tmov ecx,count\n\tmov eax,esi\n\tand eax,3\n\tjz @@2\n@@1:\n\tjecxz @@3\n\tmovsb\n\tdec ecx\n\tdec eax\n\tjnz @@1\n@@2:\n\tjecxz @@3\n\tmov eax,ecx\n\tshr eax,2\n\trep movsd\n\tand eax,3\n\tmov ecx,eax\n\trep movsb\n@@3:\n\tpopfd\n\tpopad\n\tmov eax,dst\n\tret\nSyserMemoryCopy\tENDP\n\n;\n;\n;\n\n;VOID\tSyserGetLDTSelectorBySelector(DWORD* dwLdtSelector,DWORD* dwSize);\n;Ҫúõ\nSyserGetLDTSelectorBySelector\tPROC dwLdtSelector,dwSize\n\tpushfd\n\tpush eax\n\tpush esi\n\tcmp dwLdtSelector,0\n\tjz @@2\n\tcmp dwSize,0\n\tjz @@2\n\tmov esi,dwLdtSelector\n\tmov eax,[esi]\n\ttest eax,eax\n\tjnz @@1\n\tsldt ax\n\tmov [esi],eax\n@@1:\n\tlsl eax,eax\n\tjnz @@2\n\tmov esi,dwSize\n\tmov [esi],eax\n@@2:\n\tpop esi\n\tpop eax\n\tpopfd\n\tret\nSyserGetLDTSelectorBySelector\tENDP\n\n;DWORD\tSyserGetSegmentLimit(WORD SegmentSelector);\nSyserGetSegmentLimit\tPROC SegmentSelector\n\tmovzx eax,word ptr SegmentSelector\n\tlsl eax,eax\n\tjz @@1\n\txor eax,eax\n@@1:\n\tret\nSyserGetSegmentLimit\tENDP\n\n;VOID SyserX86FxSave(BYTE *RegisterBuffer);\nSyserX86FxSave\tPROC RegisterBuffer\n\tpush eax\n\tmov eax,RegisterBuffer\n\tfxsave dword ptr[eax]\n\tpop eax\n\tret\nSyserX86FxSave\tENDP\n\n;bool SyserGetFpuErrorState();\nSyserGetFpuErrorState\tPROC\n\tlocal dwError:DWORD\n\tlocal dwMxcsr:DWORD\n\tpushfd\n\tpush eax\n\tpush ebx\n\tmov dwError,0\n\tmov dwMxcsr,0\n\tclts\n\tstmxcsr dwMxcsr\n\tmov eax,dwMxcsr\n\tmov ebx,eax \n\tshr ebx,7 \n\tand eax,03fh \n\tand ebx,03fh \n\tand bl,al \n\tnot bl \n\ttest bl,al \n\tmov dwError,0\n\tjz @@1\n\tmov dwError,1\n@@1:\n\tpop ebx\n\tpop eax\n\tpopfd\n\txor eax,eax\n\tcmp dwError,1\n\tsetz al\n\tret\nSyserGetFpuErrorState\tENDP\n\n;VOID SyserInitSystemSegmentRegister(VOID);\nSyserInitSystemSegmentRegister\tPROC\n\tpush eax\n\txor eax,eax\n\tmov ax,fs\n\tmov gSystemFSRegisterSelector,eax\n\tmov ax,ss \n\tmov gSystemSSRegisterSelector,eax \n\tmov ax,cs \n\tmov gSystemCSRegisterSelector,eax\n\tmov ax,ds \n\tmov gSystemDSRegisterSelector,eax\n\tpop eax\n\tret\nSyserInitSystemSegmentRegister\tENDP\n\n;\n;\tInputDriver.cpp\n;\n\n;VOID SyserWaitKeyboardOutPutBufferFull(VOID);\nSyserWaitKeyboardOutPutBufferFull\tPROC\n\tpush ecx\n\tpush eax\n\tmov ecx,02000h\n@@1:\n\tin al,064h\n\tpush ecx\n\tmov ecx,014h\n@@2:\n\tloop @@2\n\tpop ecx\n\ttest al,1\n\tloope @@1\n\tpop eax\n\tpop ecx\n\tret\nSyserWaitKeyboardOutPutBufferFull\tENDP\n\n;VOID SyserWaitKeyboardInputBufferEmpte(VOID);\nSyserWaitKeyboardInputBufferEmpte\tPROC\n\tpush ecx\n\tpush eax\n\tmov ecx,02000h\n@@1:\n\tin al,064h\n\tpush ecx\n\tmov ecx,014h\n@@2:\n\tloop @@2\n\tpop ecx\n\ttest al,2\n\tloopne @@1\n\tpop eax\n\tpop ecx\n\tret\nSyserWaitKeyboardInputBufferEmpte\tENDP\n\n;VOID SyserSimulateKeyboardInput(BYTE scancode,bool isDisableInterrupt);\nSyserSimulateKeyboardInput\tPROC scancode,isDisableInterrupt\n\tlocal dwIsInterrupt:DWORD\n\tcmp isDisableInterrupt,0\n\tjz @@1\n\tmov dwIsInterrupt,0\n@@1:\n\tpushad\n\txor eax,eax\n\tmov ah,BYTE PTR scancode\n;\tand eax,0ffh\n;\tshl eax,8\n\tmov edx,dwIsInterrupt\n\tcmp edx,0\n\tjz @@6\n\tmov al,020\t\t; \n\tout 064h,al\n\tpush ecx\n\tmov ecx,014h\n@@2:\n\tloop @@2\n\tpop ecx\n\tcall SyserWaitKeyboardOutPutBufferFull\n\tin al, 060h\t\t;\n\tpush ecx\n\tmov ecx, 014h\n@@3:\n\tloop @@3\n\tpop ecx\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al,060h\t\t;д \n\tout 064h,al\n\tpush ecx\n\tmov ecx, 014h\n@@4:\n\tloop @@4\n\tpop ecx\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al,cl\n\tand al,0feh\t\t;ֹ̲ж  \n\tout 060h,al\n\tpush ecx\n\tmov ecx, 014h\n@@5:\n\tloop @@5\n\tpop ecx\n@@6:\t\t\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al, 0d2h\t;д \n\tout 064h,al\n\tpush ecx\n\tmov ecx, 014h\n@@7:\n\tloop @@7\n\tpop ecx\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al,ah\n\tout 060h,al\t\t;дɨ\n\tpush ecx\n\tmov ecx, 014h\n@@8:\n\tloop @@8\n\tpop ecx\n\tcall SyserWaitKeyboardOutPutBufferFull\n\tor dl,dl\n\tjz @@11\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al,060h\n\tout 064h,al\n\tpush ecx\n\tmov ecx, 014h\n@@9:\n\tloop @@9\n\tpop ecx\n\tcall SyserWaitKeyboardInputBufferEmpte\n\tmov al,cl\n\tor al,1\n\tout 060h,al\n\tpush ecx\n\tmov ecx, 014h\n@@10:\n\tloop @@10\n\tpop ecx\n\tcall SyserWaitKeyboardInputBufferEmpte\n@@11:\t\t\n\tpopad\t\t\n\tret\nSyserSimulateKeyboardInput\tENDP\n\n;VOID SyserInterrupt_0xF8_Keyboard_Service(VOID);\nSyserInterrupt_0xF8_Keyboard_Service\tPROC\n\tpushfd\n\tcmp gbActive,0\n\tjnz @@1\n\tpush eax\n\tin al,064h\n\ttest al,1\n\tpop eax\n\tjnz @@1\n\tpopfd\n\tret\n@@1:\n\tpopfd\n\t;push KeyboardInterruptService\n\tret\nSyserInterrupt_0xF8_Keyboard_Service\tENDP\n\n;VOID\tSyserWaitMouseStatus(VOID);\nSyserWaitMouseStatus\tPROC\n\tpush eax\n\tin al,064h\n\ttest al,1\n\tjz @@1\n\tin al,060h\n@@1:\n\tpop eax\n\tret\nSyserWaitMouseStatus\tENDP\n\n;VOID SyserWaitMouseInputBufferEmpte(VOID);\nSyserWaitMouseInputBufferEmpte\tPROC\n\tpush eax\n\tpush ecx\n\tmov ecx,2\n@@1:\n\tpush ecx\n\txor ecx,ecx\n@@2:\n\tin al,064h\n\ttest al,2\n\tloopne @@2\n\tpop ecx\n\tjz @@3\n\tloop @@1\n@@3:\n\tpop ecx\n\tpop eax\n\tret\nSyserWaitMouseInputBufferEmpte\tENDP\n\n;VOID SyserWaitMouseOutPutBufferFull(VOID);\nSyserWaitMouseOutPutBufferFull\tPROC\n\tpush ecx\n\tpush eax\n\tmov ecx,02000h\n@@1:\n\tin al,064h\n\tand al,021h\n\tcmp al,021h\n\tloopne @@1\n\tpop eax\n\tpop ecx\n\tret\nSyserWaitMouseOutPutBufferFull\tENDP\n\n;VOID SyserCleanMouseOutPutBuffer(VOID);\nSyserCleanMouseOutPutBuffer\tPROC\n\tpush eax\n\tpush ecx\n\tmov ecx,01000h\n\tin al,064h\n\ttest al,021h\n\tjz\t@@2 \n\tin al,060h\n@@1:\n\tloop @@1\n@@2:\n\tpop ecx\n\tpop eax\n\tret\nSyserCleanMouseOutPutBuffer\tENDP\n\n;bool SyserIsMouseOutPutBufferFull(VOID);\nSyserIsMouseOutPutBufferFull\tPROC\n\tin al,064h\n\ttest al,021h\n\tcmp al,021h\n\tjnz @@1\n\tmov eax,1\n\tjmp @@2\n@@1:\n\txor eax,eax\n@@2:\n\tret\nSyserIsMouseOutPutBufferFull\tENDP\n\n;VOID SyserWriteMouseCommandByte(BYTE chCmd);\nSyserWriteMouseCommandByte\tPROC chCmd\n\tpush eax\n\txor eax,eax\n\tcall SyserIsMouseOutPutBufferFull\n\ttest eax,eax\n\tjz @@1\n\tcall SyserCleanMouseOutPutBuffer\n@@1:\n\tmov al,byte ptr chCmd\n\tout 060h,al\n\tpop eax\n\tret\nSyserWriteMouseCommandByte\tENDP\n\n;BYTE SyserReadMouseByte(VOID);\nSyserReadMouseByte\tPROC\n\tcall SyserWaitMouseOutPutBufferFull\n\txor eax,eax\n\tin al,060h\n\tret\nSyserReadMouseByte\tENDP\n\n;VOID SyserGetPortState(VOID)//ڸ̷Ժúȡ̵ķֵ\nSyserGetPortState\tPROC\n\tpush eax\n\tpush ecx\n\tmov ecx,01000h\n@@1:\n\tin al,064h\n\tpush ecx\n\tmov ecx,8\n@@2:\n\tjmp @@3\n@@3:\n\tloop @@2\n\tpop ecx\n\ttest al,1\n\tloope @@1\n\tjz @@4\n\tin al,060h\n\tcmp al,0fah\n\tjnz @@1\n@@4:\n\tpop ecx\n\tpop eax\n\tret\nSyserGetPortState\tENDP\n\n;VOID SyserSimulateWindowsKeyboardInput(BYTE byteScanCode);\nSyserSimulateWindowsKeyboardInput\tPROC byteScanCode\n\tlocal Flags:DWORD\n\tpush eax\n\tlea eax,byteScanCode\n\tpush eax\n\tcall InsertKeyboardBuffer\n\tlea eax,Flags\n\tcall SyserSaveFlags\n\tcli\n\tpushfd\n\tpush cs\n\tpush @@1\n\tjmp dword ptr cs:stKeyGlobalVariable.dwOldKeyboardInterrupt\n@@1:\n\tinvoke SyserRestoreFlags,Flags\n\tpop eax\n\tret\nSyserSimulateWindowsKeyboardInput\tENDP\n\n;VOID SyserSyncMouseInterrupt(VOID);\nSyserSyncMouseInterrupt\tPROC\n\tpush eax\n\tpush ecx\n\tmov ax,010h\n\tmov ds,ax\n\tmov ecx,088000h\t\t\t\t;㹻ʱȴжϵķҪȴ 3 ж\n\tmov eax,dwMousePackageBeginOffset\n\tcmp eax,stKeyGlobalVariable.dwMouseDataIndex\n\tjz @@2\n\tmov dwWaitMouseInterrupt,1\n\tsti\n@@1:\n\tcmp eax,stKeyGlobalVariable.dwMouseDataIndex\n\tloopne @@1\n\tcli\n@@2:\n\tmov gbActive,0\n\tpop ds\n\tpop ecx\n\tpop eax\n\tret\nSyserSyncMouseInterrupt\tENDP\n\n;bool SyserReadPort60(BYTE* ReturnValue,bool IsMouse);\nSyserReadPort60\tPROC ReturnValue,IsMouse\n\tlocal bRet:BYTE\n\tlocal Value:BYTE\n\tpush ecx\n\tpush ebx\n\tmov bl,1\n\tcmp IsMouse,0\n\tjz @@1\n\tor bl,020h\n@@1:\n\tmov ecx,0800000h\n@@2:\n\tin al,064h\n\tand al,bl\n\tcmp al,bl\n\tjz @@3\n\tloop @@2\n\tjmp @@4\n@@3:\n\tmov bRet,1\n\tin al,060h\n\tmov Value,al\n@@4:\n\tcmp ReturnValue,0\n\tjz\t@@5\n\tmov ebx,ReturnValue\n\txor eax,eax\n\tmov al,byte ptr Value\n\tmov [ebx],al\n@@5:\n\txor eax,eax\n\tmov al,byte ptr bRet\n\tpop ebx\n\tpop ecx\n\tret\nSyserReadPort60\tENDP\n\n;bool SyserWaitI8042InputBufferEmpty(VOID);\nSyserWaitI8042InputBufferEmpty\tPROC\n\tlocal bRet:BYTE\n\tmov bRet,0\n\tpush ecx\n\tmov ecx,080000h\n@@1:\n\tin al,064h\n\ttest al,2\n\tjz @@2\n\tloop @@1\n\tjmp @@7\n@@2:\n\tpush ecx\n\tmov ecx,100\n@@3:\n\tjmp @@4\n@@4:\n\tloop @@3\n\tpop ecx\n@@5:\n\tin al,064h\n\ttest al,2\n\tjz @@6\n\tloop @@5\n\tjmp @@7\n@@6:\n\tmov bRet,1\n@@7:\n\tpop ecx\n\txor eax,eax\n\tmov al,byte ptr bRet\n\tret\nSyserWaitI8042InputBufferEmpty\tENDP\n\n;bool SyserClearI8042OutputBuffer(VOID);\nSyserClearI8042OutputBuffer\tPROC\n\tlocal bRet:BYTE\n\tmov bRet,0\n\tpush ecx\n\txor ecx,ecx\n@@1:\n\tin al,064h\n\ttest al,1\n\tjz @@4\n\tin al,060h\n\tmov eax,020h\n@@2:\n\tjmp @@3\n@@3:\n\tdec eax\n\tjnz @@2\n\tloop @@1\n\tjmp @@5\n@@4:\n\tmov bRet,1\n@@5:\t\n\tpop ecx\n\txor eax,eax\n\tmov al,byte ptr bRet\n\tret\nSyserClearI8042OutputBuffer\tENDP\n\n;\n;\tDbgProcess.cpp\n;\n;VOID\tSyserClearFlag(WORD\tvEs,PDWORD\tValue,DWORD\tClearFlag);\nSyserClearFlag\tPROC vEs,Value,ClearFlag\n\tpush es\n\tpush eax\n\tpush ebx\n\tpush ecx\n\tmov ecx,0FFFFFFFFh\n\txor ecx,ClearFlag\n\tmov ebx,Value\n    mov ax,word ptr vEs\n    mov es,ax\n    and es:[ebx],ecx\n\tpop ecx\n\tpop ebx\n\tpop eax\n\tpop es\n\tret\nSyserClearFlag\tENDP\n\n;VOID SyserBpintEntryPointer(VOID);\nSyserBpintEntryPointer\tPROC\n\n\t;\n\t;\t0\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t1\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t2\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t3\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t4\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t5\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t6\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t7\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t8\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\t9\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\ta\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\tb\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\tc\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\td\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\te\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\t\n\t;\n\t;\tf\n\t;\n\t\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\n\tpush 0\n\tjmp $\nSyserBpintEntryPointer\tENDP\n\n;VOID SyserBpintBreakEntry(VOID)\nSyserBpintBreakEntry\tPROC\nSyserBpintBreakEntry\tENDP\n\n;\n;\tMultiCPU.cpp\n;\n\n;VOID  SyserStartOtherCPUs(VOID);\nSyserStartOtherCPUs\tPROC\n\tpushfd\n\tcmp cs:gCPUNumbers,1\n\tjbe @@3\n\tpush eax\n\tpush ds\n\tmov eax,cs:gSystemSSRegisterSelector\n\tmov ds,ax\n\tcmp dword ptr gLoopCpuNumber,0    ;gLoopCpuNumber жǷнѭ cpu \n\tjz @@2\n\tlock inc gdwExitNmiLock\n\tmov gdwMulitCpuSpinlock,0\n\tmov gdwCurrentCPUIndex,0FFFFFFFFh\n@@1:\n\tcmp gdwExitNmiLock,0\n\tjnz @@1\n@@2:\n\tpop ds\n\tpop eax\n@@3:\n\tpopfd\n\tret\nSyserStartOtherCPUs\tENDP\n\n;VOID SyserStopOtherCPUs(VOID);\nSyserStopOtherCPUs\tPROC\n\tlocal TmpCurrentCPUIndex:DWORD\n\tpushfd\n\tcmp cs:gCPUNumbers,1\n\tjnz @@1\n\tpopfd\n\tret\n@@1:\n\tpushad\n\tpush ds\n\tmov eax,cs:gSystemSSRegisterSelector\n\tmov ds,ax\n\tmov ebp,esp\n\tsub esp,4\n\tcall GetCurrentCPULocalAPICID\n\tmov TmpCurrentCPUIndex,eax\n@@20:\n\tlock bts gdwMulitCpuSpinlock,01fh\t;ͬʱжCPUִָֻһCPUܻø\n\tjnb @@3\n\tmov ecx,0100h\n@@2:\n\tloop @@2\n\tmov eax,TmpCurrentCPUIndex\n\tcmp eax,gdwCurrentCPUIndex\n\tjnz @@6\n\tinc gdwMulitCpuSpinlock\t\t\t\t;ǰCPUѾֹͣCPU ֻļֱ˳\n\tjmp @@Quit\n@@6:\n\tinvoke Beep,10,10\n\tcmp gdwMulitCpuSpinlock,0\t\t\t;CPU ȴCPUͷŵ   \n\tjnz @@6\n\tjmp @@20\n@@3:\n\tmov gdwCurrentCPUIndex,eax\n\tinc gdwMulitCpuSpinlock\t\t\n\tmov eax, gdwLocalAPICLineAddress\n@@9:\n\ttest DWORD PTR [eax+0300h],01000h   ;Delivery Mode  жʱ Send Pending\n\tjnz @@9\n\tmov ebx,0c44ffh\t\t\t\t\t\t;NMI ģʽ EDGE  ߵƽ  All Excluding Self\n\tmov gdwMulitCpuSendIPIFlags,1\n\tmov [eax+0300h],ebx\n@@11:\n\ttest DWORD PTR [eax+0300h],01000h   ;ȴжϱ\n\tjnz @@11\n@@12:\n\tcmp gdwMulitCpuSendIPIFlags,0\t\t;ȴCPUѭ\n\tjnz @@12\n@@Quit:\n\tadd esp,4\n\tpop ds\n\tpopad\n\tpopfd\n\tret\nSyserStopOtherCPUs\tENDP\n\n;\n;\tIOAPIC.cpp\n;\n\n;VOID\tSyserGetApicInfo(DWORD\t*RdmsrEax,DWORD *RdmsrEdx);\nSyserGetApicInfo\tPROC\tRdmsrEax,RdmsrEdx\n\tpushfd\n\tpush eax\n\tpush ecx\n\tpush edx\n\tmov ecx,MSR_INDEX_IA32_APIC_BASE\n\trdmsr\n\tmov ecx,RdmsrEax\n\tmov [ecx],eax\n\tmov ecx,RdmsrEdx\n\tmov [ecx],edx\n\tpop edx\n\tpop ecx\n\tpop eax\n\tpopfd\n\tret\nSyserGetApicInfo\tENDP\n\n;DWORD\tSyserGetIOAPICData(DWORD*  IoApicLineAddress, DWORD\tIndex);\nSyserGetIOAPICData\tPROC\tIoApicLineAddress,Index\n\tlocal dwValue:DWORD\n\tpushfd\n\tpushad\n\tmov eax,IoApicLineAddress\n\tmov ebx,Index\n\tcli\n\tmov [eax],ebx\n\tmov eax,[eax+010h]\n\tmov dwValue,eax\n\tpopad\n\tpopfd\n\tmov eax,dwValue\n\tret\nSyserGetIOAPICData\tENDP\n\n;DWORD\tSyserSetIOAPICData(DWORD*  IoApicLineAddress, DWORD\tIndex,DWORD\tData);\nSyserSetIOAPICData\tPROC\tIoApicLineAddress,Index,Data\n\tpushfd\n\tpushad\n\tmov eax,IoApicLineAddress\n\tmov ebx,Index\n\tmov ecx,Data\n\tcli\n\tmov [eax],ebx\n\tmov [eax+010h],ecx\n\tpopad\n\tpopfd\n\tret\nSyserSetIOAPICData\tENDP\n\n;VOID\tSyserIOAPICBeep(VOID);\nSyserIOAPICBeep\tPROC\n\tpush eax\n\tin al,064h\n\ttest al,1\n\tjz @@Quit\n\tin al,060h\n\tpush 0100h\n\tpush 0100h\n\tcall Beep\n@@Quit:\n\tpop eax\n\tret\nSyserIOAPICBeep\tENDP\n\n;\n;\tNTUtility.cpp\n;\t\n\n;VOID SyserResetSystem(VOID);\nSyserResetSystem\tPROC\n\tin al,061h\t\t;PC/XT PPI port B \n\tpush ecx\n\tmov ecx,20\n@@1:\n\tloop @@1\n\tpop ecx\n\tor al,0Ch\n\tout 061h,al\t\t;PC/XT PPI port B \n\tpush ecx\n\tmov ecx,014h\n@@2:\n\tloop @@2\n\tpop ecx\n\tmov dx,674h\n\tmov al,0\n\tout dx,al\n\tmov dx,670h\n\tout dx,al\n\tmov al,0FEh\n\tout 64h,al\t\t;AT Keyboard controller 8042.\n\t\t\t\t\t;Resend the last transmission\n\tmov ecx,0600000h\n@@3:\n\tloop @@3\n\tret\nSyserResetSystem\tENDP\n\n;\n;\tSerialMouse.cpp\n;\n\n;bool SyserCheckSerialMouse(WORD\tPortNum,BYTE\tDataLen);\nSyserCheckSerialMouse\tPROC\tPortNum,DataLen\n\tlocal bRet:BYTE\n\tmov bRet,0\n\tpush eax\n\tpush ebx\n\tpush ecx\n\tpush edx\n\tmovzx edx,word ptr PortNum\n\tadd edx,3\n\tpush edx\n\tmov eax,080h\n\tout dx,al\n\tdec edx\n\tdec edx\n\tmov eax,0\n\tout dx,al\n\tdec edx\n\tmov eax,060h\t;ôڵĲ\n\tout dx,al\n\tpop edx\n\tmovzx eax,byte ptr DataLen\n\tout dx,al\t\t;ݳ\n\tdec edx\n\tdec edx\n\txor eax,eax\n\tout dx,al\t\t;ֹж\n\tadd edx,4\n\tin al,dx\n\tdec edx\n\tmov eax,1\n\tout dx,al\t\t;׼ߵ״̬\n\tsub edx,4\n\tmov ecx,08000h\n@@1:\n\tin al,dx\t\t;ûõ\n\tloop @@1\n\tadd edx,5\n\tin al,dx\n\tcmp DataLen,3\n\tjz @@2\n\tdec edx\n\tmov al,0bh\n\tout dx,al\t\t;ж\n\tmov ebx,3\n@@6:\n\tmovzx edx,word ptr PortNum\n\tadd edx,5\n\tmov ecx,08000h\n@@3:\n\tin al,dx\n\ttest al,1\n\tloope @@3\n\tjecxz @@4\n\tsub edx,5\n\tin al,dx\n\tcmp al,04dh\t;'M'\n\tjz @@5\n\tdec ebx\n\tjnz @@6\n\tjmp @@4\n@@2:\n\tdec edx\n\tmov al,0bh\n\tout dx,al\n\tjmp @@8\n@@8:\n\tin al,dx\n\tcmp al,0bh\n\tjnz @@4\n@@5:\n\tmovzx edx,word ptr PortNum\n\tinc edx\n\tmov al,1\n\tout dx,al\n\tmov bRet,1\n@@4:\n\tpop edx\n\tpop ecx\n\tpop ebx\n\tpop eax\n\tmov al,bRet\n\tret\nSyserCheckSerialMouse\tENDP\n\n;VOID SyserLoadReg(VOID);\nSyserLoadReg\tPROC\n\tlocal dwValue:DWORD\n\tlocal dwLoadRegTmpCpuID:DWORD\n\tpushad\n\tmov eax,dr0\n\tmov Reg.DR[0*4],eax\n\tmov eax,dr1\n\tmov Reg.DR[1*4],eax\n\tmov eax,dr2\n\tmov Reg.DR[2*4],eax\n\tmov eax,dr3\n\tmov Reg.DR[3*4],eax\n\tmov eax,dr6\n\tmov Reg.DR[6*4],eax\n\tmov eax,dr7\n\tmov Reg.DR[7*4],eax\n\t\n\tmov eax,cr0\n\tmov Reg.CR[0*4],eax\n\tmov eax,cr2\n\tmov Reg.CR[2*4],eax\n\tmov eax,cr3\n\tmov Reg.CR[3*4],eax\n\tmov eax,cr4\n\tmov Reg.CR[4*4],eax\n\t\n\tmov eax,[ebp+12]\n\tmov Reg.GeneReg[EDI_IDX*4],eax\n\tmov eax,[ebp+12+4]\n\tmov Reg.GeneReg[ESI_IDX*4],eax\n\n\tmov eax,[ebp+12+8]\n\tmov Reg.GeneReg[EBP_IDX*4],eax\n\n\tmov ebx,OldESP\n\tmov Reg.GeneReg[ESP_IDX*4],ebx\n\n\tmov eax,[ebx+8]\n\tmov Reg.EFlags,eax\n\tmov ReturnContext.rEflags,eax\n\tmov eax,[ebp+12+16]\n\tmov Reg.GeneReg[EBX_IDX*4],eax\n\tmov eax,[ebp+12+20]\n\tmov Reg.GeneReg[EDX_IDX*4],eax\n\tmov eax,[ebp+12+24]\n\tmov Reg.GeneReg[ECX_IDX*4],eax\n\tmov eax,[ebp+12+28]\n\tmov Reg.GeneReg[EAX_IDX*4],eax\n\n\tmov eax,[ebx]\n\tmov Reg.EIP,eax\n\tmov ReturnContext.rEIP,eax\n\tmovzx eax,word ptr [ebx+4]\n\tmov word ptr Reg.SegReg[CS_IDX*2],ax\n\tmov ReturnContext.rCS,eax\n\tmov eax,Reg.EFlags\n\t\n\ttest eax,020000h\t\t;Virtual Mode\n\tjz @@1\n\tmov eax,[ebx+0Ch]      ; v86ģʽ\n\tmov Reg.GeneReg[ESP_IDX*4],eax\n\tmov ReturnContext.r3ESP,eax\n\tmov eax,[ebx+010h]\n\tmov Reg.SegReg[SS_IDX*2],ax\n\tmov ReturnContext.r3SS,eax\n\n\tmov eax,[ebx+014h]\n\tmov Reg.SegReg[ES_IDX*2],ax\n\tmov ReturnContext.rV86ES,eax\n\n\tmov eax,[ebx+018h]\n\tmov Reg.SegReg[DS_IDX*2],ax\n\tmov ReturnContext.rV86DS,eax\n\n\tmov eax,[ebx+01Ch]\n\tmov Reg.SegReg[FS_IDX*2],ax\n\tmov ReturnContext.rV86FS,eax\n\tmov eax,[ebx+020h]\n\tmov Reg.SegReg[GS_IDX*2],ax\n\tmov ReturnContext.rV86GS,eax\n\tjmp @@3\n@@1:\n\tmov ax,Reg.SegReg[CS_IDX*2]\n\t\ttest ax,03h\n\t\tjz @@2\n\n\t\tmov eax,[ebx+0Ch]              ; ring3  Ҫ±Գ esp,ss \n\t\tmov Reg.GeneReg[ESP_IDX*4],eax\n\t\tmov ReturnContext.r3ESP,eax\n\t\tmovzx eax,byte ptr [ebx+010h]\n\t\tmov Reg.SegReg[SS_IDX*2],ax\n\t\tmov ReturnContext.r3SS,eax\n\t\tjmp @@4\n@@2:\n\t\txor eax,eax                     ; ring0 \n\t\tmov ax,ss\n\t\tmov Reg.SegReg[SS_IDX*2],ax\n\t\tadd Reg.GeneReg[ESP_IDX*4],12   ;ļ12 жϵķֳ  \n\t\t                                ; push eflags\n\t\t                                ; push cs\n\t\t\t\t\t\t\t\t\t\t; push eip\n       ;Ҫ ֳе ݵȫλ\n@@4:\n\t\txor eax,eax\n\t\tmov ax,[ebp]\n\t\tmov Reg.SegReg[ES_IDX*2],ax\n\t\tmov ax,[ebp+4]\n\t\tmov Reg.SegReg[DS_IDX*2],ax\n\t\tmov ax,[ebp+8]\n\t\tmov Reg.SegReg[FS_IDX*2],ax\n\t\tmov ax,gs\n\t\tmov Reg.SegReg[GS_IDX*2],ax\n@@3:\n\t\tcall SaveFpuRegister\n\t\tlea esi,dwValue\n\t\tinvoke SyserGetIDTBase,esi\n\t\tmov Reg.IDTBase,eax\n\t\tmov eax,dwValue\n\t\tmov Reg.IDTLimit,ax\n\t\tlea esi,dwValue\n\t\tinvoke SyserGetGDTBase,esi\n\t\tmov Reg.GDTBase,eax\n\t\tmov eax,dwValue\n\t\tmov Reg.GDTLimit,ax\n\t\tcmp gCPUNumbers,1\n\t\tjbe @@Quit\n\t\tinvoke GetCurrentCPULocalAPICID\n\t\tmov dwLoadRegTmpCpuID,eax\n\t\tmov ecx,SIZEOF X86REGCONTEXT\n\t\timul ecx\n\t\tadd eax,gpMCPUReg\n\t\tmov edi,eax\n\t\tlea esi,Reg\n\t\tpush edi\n\t\trep movsb\n\t\tpop edi\n\t\tmov eax,dwLoadRegTmpCpuID\n\t\tmov ecx,SIZEOF LOCALAPICINFO\n\t\timul ecx\n\t\tadd eax,gpMCPULocalApic\n\t\tpush eax\n\t\tpush edi\n\t\tinvoke SaveLocalApic,eax\n\t\tpop edi\n\t\tpop esi\n\t\tmov [esi + X86REGCONTEXT.LocalAPIC],edi\n\t\tlea esi,Reg\n\t\tlea edi,ReadOnlyActiveReg\n\t\tmov ecx,SIZEOF X86REGCONTEXT\n\t\trep movsb\n@@Quit:\n\t\tpopad\n\t\tret\nSyserLoadReg\tENDP\n\n\n;VOID\tSyserSaveReg(VOID);\nSyserSaveReg\tPROC\n\tpushad\n\tcall SyserGetIsDbgRegAccessMon\n\ttest eax,eax\n\tjz @@1\n\tinvoke EnableHardwaveBreakpoint\n\tor Reg.DR[7*4],02000h\n\tinvoke SyserSetbUpdateReg,1\n@@1:\n\tmov eax,Reg.EFlags\n\tand eax,0100h\n\ttest eax,eax\n\tjnz @@2\n\tmov gPrevStepEIP,0\n@@2:\n\tinvoke RestorFpuRegister\n\tinvoke SyserGetbUpdateReg\n\ttest al,al\n\tjnz @@3\n\tpush eax\n\tpush ebx\n\tmov eax,cr0 \n\tcmp eax,Reg.CR[0*4]\n\tjz @@ppp \n\tmov eax,Reg.CR[0*4]\n\tmov cr0,eax\n@@ppp:\n\tmov eax,Reg.EFlags\n\tand eax,0FFFFFEFFh\n\tmov ebx,OldESP\n\tmov [ebx+8],eax\n\tmov eax,0FFFF0FF0h\n\tmov dr6,eax\n\tpop ebx\n\tpop eax\n\tpopad \n\tret\n@@3:\n\tinvoke SyserSetbUpdateReg,0\n\tsldt word ptr Reg.LDT\n\tstr word ptr Reg.TR\n\tsgdt fword ptr Reg.GDTLimit\n\tsidt fword ptr Reg.IDTLimit\n\tmov eax,Reg.DR[0*4]\n\tmov dr0,eax\n\tmov eax,Reg.DR[1*4]\n\tmov dr1,eax\n\tmov eax,Reg.DR[2*4]\n\tmov dr2,eax\n\tmov eax,Reg.DR[3*4]\n\tmov dr3,eax\n\tmov eax,0FFFF0FF0h\t\t\t;DR6\n\tmov dr6,eax\n\tmov eax,Reg.DR[7*4]\n\tmov dr7,eax\n\tmov eax,cr0 \n\tcmp eax,Reg.CR[0*4]\n\tjz @@ppp1 \n\tmov eax,Reg.CR[0*4]\n\tmov cr0,eax\n@@ppp1:\n\tmov eax,Reg.CR[2*4]\n\tmov cr2,eax\n\tmov eax,Reg.CR[3*4]\n\tmov cr3,eax\n\tmov eax,Reg.EFlags\n\ttest eax,020000h\t\t\t; v86 ģʽת\n\tjnz @@0023\n\tmov ax,word ptr Reg.SegReg[ES_IDX*2]\n\tmov [ebp],ax\n\tmov ax,word ptr Reg.SegReg[DS_IDX*2]\n\tmov [ebp+4],ax\n\tmov ax,word ptr Reg.SegReg[FS_IDX*2]\n\tmov [ebp+8],ax\n\tmov ax,word ptr Reg.SegReg[GS_IDX*2]\n\tmov gs,ax\n\tjmp @@987\n@@0023:                   ; v86 ģʽ\n\tmov ebx,OldESP\n\tmov eax,Reg.GeneReg[ESP_IDX*4]\n\tmov [ebx+00Ch],eax\n\tmovzx eax,word ptr Reg.SegReg[SS_IDX*2]\n\tmov [ebx+010h],eax\n\tmovzx eax,word ptr Reg.SegReg[ES_IDX*2]\n\tmov eax,01234h\n\tmov [ebx+014h],eax\n\tmovzx eax,word ptr Reg.SegReg[DS_IDX*2]\n\tmov [ebx+018h],eax\n\tmovzx eax,word ptr Reg.SegReg[FS_IDX*2]\n\tmov [ebx+01Ch],eax\n\tmovzx eax,word ptr Reg.SegReg[GS_IDX*2]\n\tmov [ebx+020h],eax\n@@987:\n\tmov eax,Reg.GeneReg[EDI_IDX*4]\n\tmov [ebp+12],eax\n\tmov eax,Reg.GeneReg[ESI_IDX*4]\n\tmov [ebp+12+4],eax\n\tmov eax,Reg.GeneReg[EBP_IDX*4]\n\tmov [ebp+12+8],eax\n\t;mov [ebp+12+12],eax\n\tmov eax,Reg.GeneReg[EBX_IDX*4]\n\tmov [ebp+12+16],eax\n\tmov eax,Reg.GeneReg[EDX_IDX*4]\n\tmov [ebp+12+20],eax\n\tmov eax,Reg.GeneReg[ECX_IDX*4]\n\tmov [ebp+12+24],eax\n\tmov eax,Reg.GeneReg[EAX_IDX*4]\n\tmov [ebp+12+28],eax\n\tpush ebx\t\t\n\tmov ax,ReadOnlyActiveReg.SegReg[CS_IDX*2]\n\ttest ax,03h\n\tjnz @@2skip\n\tmov eax,Reg.GeneReg[ESP_IDX*4]   ;r0 ʱû޸ ESP ֵ\n\tsub eax,12\n\tmov OldESP,eax\n@@2skip:\n\tmov ebx,OldESP\n\tmov eax,Reg.EIP\n\tmov [ebx],eax\n\tmovzx eax,Reg.SegReg[CS_IDX*2]\n\tmov [ebx+4],eax\n\tmov eax,Reg.EFlags\n\tmov [ebx+8],eax\n\tmov ax,ReadOnlyActiveReg.SegReg[CS_IDX*2]\n\ttest ax,03h\n\tjz @@098skip\n\tmov eax,Reg.GeneReg[ESP_IDX*4]\n\tmov [ebx+0Ch],eax\n\tmovzx eax,word ptr Reg.SegReg[SS_IDX*2]\n\tmov [ebx+010h],ax\n@@098skip:\n\tpop ebx\t\t\n\tpopad\n\tret\nSyserSaveReg\tENDP\n\n;\n;\tServices.cpp\n;\n\n;int  SyserCloseDebugRegisterMontior(VOID);\nSyserCloseDebugRegisterMontior\tPROC\n\tnop\n\tmov eax,dr0\n\tret\nSyserCloseDebugRegisterMontior\tENDP\n\n;VOID SyserDisableDebugRegisterMontior(VOID);\nSyserDisableDebugRegisterMontior\tPROC\n\tpushfd\n\tpush eax\n\tinvoke SyserCloseDebugRegisterMontior\n\tpop eax\n\tpopfd\n\tret\nSyserDisableDebugRegisterMontior\tENDP\n\n;VOID SyserOpenDebugRegisterMontior(VOID);\nSyserOpenDebugRegisterMontior\tPROC\n\tpush eax\n\tmov eax,dr7\n\tor eax,02000h\n\tmov dr7,eax\n\tpop eax\n\tret\nSyserOpenDebugRegisterMontior\tENDP\n\n;VOID SyserEnableDebugRegisterMontior(VOID);\nSyserEnableDebugRegisterMontior\tPROC\n\tpush eax\n\tcall SyserGetIsDbgRegAccessMon\n\ttest eax,eax\n\tjz @@1\n\tcall SyserOpenDebugRegisterMontior\n@@1:\n\tpop eax\n\tret\nSyserEnableDebugRegisterMontior\tENDP\n\n;VOID SyserDisableHardwaveBreakpoint(VOID);\nSyserDisableHardwaveBreakpoint\tPROC\n\tpush eax\n\txor eax,eax\n\tmov dr7,eax\n\tpop eax\nSyserDisableHardwaveBreakpoint\tENDP\n\n;\n;\n;\n\n;VOID SyserOnPatchBugCheckExMIniCall(PVOID*\tNextAddress);\n@SyserOnPatchBugCheckExMIniCall@4 PROC SYSCALL NextAddress\n\tpop eax\n\tmov [ecx],eax\n\tadd eax,2\n\tpush eax\n\tret\n@SyserOnPatchBugCheckExMIniCall@4\tENDP\n\n;VOID SyserNopLoop(VOID);\nSyserNopLoop PROC\n@@1:\n\tjmp @@1\nSyserNopLoop ENDP\n\n;bool SyserCFlag(VOID);\nSyserCFlag\tPROC\n\tjnc @@1\n\txor eax,eax\n\tjmp @@2\n@@1:\n\tmov eax,1\n@@2:\n\tret\nSyserCFlag\tENDP\n\n;\n;\tSyserMemoryReadWrite.cpp\n;\n\n;BYTE SyserPrivateReadByte(void* Address);\nSyserPrivateReadByte\tPROC Address\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmovzx eax,byte ptr[esi]\n\tlea esp,[esp+4]\n\tpop esi\n\tclc\n\tret\nSyserPrivateReadByte\tENDP\n\n;WORD SyserPrivateReadWord(void* Address);\nSyserPrivateReadWord\tPROC Address\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmovzx eax,word ptr[esi]\n\tlea esp,[esp+4]\n\tpop esi\n\tclc\n\tret\nSyserPrivateReadWord\tENDP\n\n;DWORD\tSyserPrivateReadDword(void* Address);\nSyserPrivateReadDword\tPROC Address\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov eax,[esi]\n\tlea esp,[esp+4]\n\tpop esi\n\tclc\n\tret\nSyserPrivateReadDword\tENDP\n\n;VOID SyserPrivateReadError(VOID);\nSyserPrivateReadError\tPROC\n\tpop eax\n\tpop esi\n\tstc\n\tret 4\nSyserPrivateReadError\tENDP\n\n;VOID SyserPrivateWriteByte(void* Address,BYTE ByteValue);\nSyserPrivateWriteByte\tPROC Address,ByteValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov al,byte ptr ByteValue\n\tmov [esi],al\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateWriteByte\tENDP\n\n;VOID SyserPrivateWriteWord(void* Address,WORD WordValue);\nSyserPrivateWriteWord\tPROC Address,WordValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov ax,word ptr WordValue\n\tmov [esi],ax\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateWriteWord\tENDP\n\n;VOID SyserPrivateWriteDword(void* Address,DWORD DwordValue);\nSyserPrivateWriteDword\tPROC Address,DwordValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov eax,DwordValue\n\tmov [esi],eax\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateWriteDword\tENDP\n\n;VOID SyserPrivateSafeWriteByte(void* Address,BYTE ByteValue);\nSyserPrivateSafeWriteByte\tPROC Address,ByteValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov al,[esi]\t\t;ַʧܷ\n\tmov eax,cr0\n\tpush eax\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tmov al,byte ptr ByteValue\n\tmov [esi],al\n\tpop eax\n\tmov cr0,eax\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateSafeWriteByte\tENDP\n\n;VOID SyserPrivateSafeWriteWord(void* Address,WORD WordValue);\nSyserPrivateSafeWriteWord\tPROC Address,WordValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov ax,[esi]\t\t;ַʧܷ\n\tmov eax,cr0\n\tpush eax\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tmov ax,word ptr WordValue\n\tmov [esi],ax\n\tpop eax\n\tmov cr0,eax\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateSafeWriteWord\tENDP\n\n;VOID SyserPrivateSafeWriteDword(void* Address,DWORD DwordValue);\nSyserPrivateSafeWriteDword\tPROC Address,DwordValue\n\tpush esi\n\tpush eax\n\tmov esi,Address\n\tmov eax,[esi]\t\t;ַʧܷ\n\tmov eax,cr0\n\tpush eax\n\tand eax,0FFFEFFFFh\n\tmov cr0,eax\n\tmov eax,DwordValue\n\tmov [esi],eax\n\tpop eax\n\tmov cr0,eax\n\tpop eax\n\tpop esi\n\tclc\n\tret\nSyserPrivateSafeWriteDword\tENDP\n\n;VOID SyserPrivateWriteError(VOID);\nSyserPrivateWriteError\tPROC\n\tpop eax\n\tpop esi\n\tstc\n\tret 8\nSyserPrivateWriteError\tENDP\n\n;int SyserPrivateMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len);\nSyserPrivateMemCopy\tPROC DestAddress,SourceAddress,Len\nifdef CODE_OS_NT_DRV\n\tlocal BackCr0:DWORD\nendif\n\tpushfd\n\tpush edi\n\tpush esi\n\tpush ecx\n\tcld\n\txor eax,eax\n\tmov ecx,Len\n\tcmp ecx,0\t\t;жϿĳǷΪ00ֱ˳\n\tjz @@006\n\tmov esi,SourceAddress\n\tcmp esi,DestAddress\n\tjz @@006\n\tshr ecx,2\n\tjecxz @@001\n\tlodsb\n\tdec esi\n\trep lodsd\t\n@@001:\n\tmov ecx,Len\n\tand ecx,3\n\tjecxz @@002\n\trep lodsb\t\t;жԭַǷȱҳ\n@@002:\n\tmov ecx,Len\n\tmov esi,DestAddress\n\tshr ecx,2\n\tjecxz @@003\n\tlodsb\n\tdec esi\n\trep lodsd\n@@003:\n\tmov ecx,Len\n\tand ecx,3\n\tjecxz @@004\n\trep lodsb\t\t;жĿַǷȱҳ\n@@004:\n\tmov edi,DestAddress\n\tmov esi,SourceAddress\n\tmov ecx,Len\nifdef\tCODE_OS_NT_DRV\n\tmov eax,cr0\n\tmov BackCr0,eax\n\tand eax,0FFFEFFFFh\n\tmoc cr0,eax\nendif\n\tcmp edi,esi\n\tjb @@009\n\tlea eax,[esi+ecx]\n\tcmp edi,eax\n\tjae @@009\n\tstd\n\tmov esi,eax\n\tlea edi,[edi+ecx]\n\tmov eax,ecx\n\tshr ecx,2\n\tjecxz @@010\n\tlea esi,[esi-4]\n\tlea edi,[edi-4]\n\trep movsd\n\tlea esi,[esi+3]\n\tlea edi,[edi+3]\n\tjmp @@011\n@@010:\n\tdec esi\n\tdec edi\n@@011:\n\tmov ecx,eax\n\tand ecx,3\n\trep movsb\n\tjmp @@007\n@@009:\n\tmov eax,ecx\n\tshr ecx,2\n\tjecxz @@005\n\trep movsd\n@@005:\n\tmov ecx,eax\n\tand ecx,3\n\tjecxz @@007\n\trep movsb\n@@007:\nifdef\tCODE_OS_NT_DRV\n\tmov eax,BackCr0\n\tmov cr0,eax\nendif\n@@006:\n\tmov eax,Len\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tclc\n\tret\nSyserPrivateMemCopy\tENDP\n\n;int SyserVideoMemCopy(BYTE* DestAddress,BYTE* SourceAddress,DWORD Len);\nSyserVideoMemCopy\tPROC DestAddress,SourceAddress,Len\n\tpushfd\n\tpush edi\n\tpush esi\n\tpush ecx\n\tcld\n\txor eax,eax\n\tmov ecx,Len\n\tcmp ecx,0\t\t;жϿĳǷΪ㣬ֱ˳\n\tjz @@006\n\tmov esi,SourceAddress\n\tmov edi,DestAddress\n\tcmp esi,edi\t\t;ȽԭַĿַǷֱͬͬ˳\n\tjz @@006\n\tshr ecx,2\n\tjecxz @@001\n\trep movsd\n@@001:\n\tmov ecx,Len\n\tand ecx,3\n\tjecxz @@006\n\trep movsb\n@@006:\n\tmov eax,Len\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tclc\n\tret\nSyserVideoMemCopy\tENDP\n\n;VOID SyserPrivateMemCopyError(VOID);\nSyserPrivateMemCopyError\tPROC\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tmov esp,ebp\n\tpop ebp\n\tstc\n\tret 0Ch\nSyserPrivateMemCopyError\tENDP\n\n;BYTE* __stdcall SyserPrivateFindByte(BYTE* Address1,BYTE Value,DWORD Len);\nSyserPrivateFindByte\tPROC Address1,Value,Len\n\tpushfd\n\tpush edi\n\tpush esi\n\tpush ecx\n\tcld\n\tmov eax,0\n\tmov ecx,Len\n\tmov edi,Address1\n\tmov al,byte ptr Value\n\trepne scasb\n\tmov eax,edi\n\tjz @@001\n\tmov eax,1\n@@001:\n\tlea eax,[eax-1]\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tclc\n\tret\nSyserPrivateFindByte\tENDP\n\n;BYTE* __stdcall SyserPrivateFindWord(BYTE* Address1,WORD Value,DWORD Len);\nSyserPrivateFindWord\tPROC Address1,Value,Len\n\tpushfd\n\tpush edi\n\tpush esi\n\tpush ecx\n\tcld\n\tmov eax,0\n\tmov ecx,Len\n\tmov edi,Address1\n\tmov ax,word ptr Value\n\trepne scasw\n\tmov eax,edi\n\tjz @@001\n\tmov eax,2\n@@001:\n\tlea eax,[eax-2]\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tclc\n\tret\nSyserPrivateFindWord\tENDP\n\n;BYTE* __stdcall SyserPrivateFindDword(BYTE* Address1,DWORD Value,DWORD Len);\nSyserPrivateFindDword\tPROC Address1,Value,Len\n\tpushfd\n\tpush edi\n\tpush esi\n\tpush ecx\n\tcld\n\tmov eax,0\n\tmov ecx,Len\n\tmov edi,Address1\n\tmov eax,Value\n\trepne scasd\n\tmov eax,edi\n\tjz @@001\n\tmov eax,4\n@@001:\n\tlea eax,[eax-4]\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tclc\n\tret\nSyserPrivateFindDword\tENDP\n\n;VOID __stdcall SyserPrivateFindMemoryError(VOID);\nSyserPrivateFindMemoryError\tPROC\n\tpop ecx\n\tpop esi\n\tpop edi\n\tpopfd\n\tstc\n\tret\nSyserPrivateFindMemoryError\tENDP\n\n;BYTE* __stdcall SyserPrivateMemSearch(BYTE* SourceAddrss,DWORD SourceLen,BYTE *DestinationAddress,DWORD DestinationLen);\nSyserPrivateMemSearch\tPROC SourceAddrss,SourceLen,DestinationAddress,DestinationLen\n\tpush edi\n\tpush esi\n\tpush ecx\n\tpush edx\n\tpush ebx\n\tcld\n\tmov ecx,SourceLen\n\tjecxz @@002\n\tcmp ecx,DestinationLen\n\tjnb @@001\n@@006:\n\tmov eax,0\n\tjmp @@002\n@@001:\n\tsub ecx,DestinationLen\n\tinc ecx\n\tmov edi,SourceAddrss\n@@008:\n\tmov esi,DestinationAddress\n\tmov al,[esi]\n\trepne scasb\n\tjnz @@002\n\tmov ebx,ecx\n\tmov edx,edi\n\tmov ecx,DestinationLen\n\tlea edi,[edi-1]\n\trepz cmpsb\n\tjz @@009\n\tmov ecx,ebx\n\tjecxz @@006\n\tmov edi,edx\n\tjmp @@008\n@@009:\n\tmov eax,edx\n\tlea eax,[eax-1]\n\tjmp @@005\n@@002:\n\tmov eax,0\n@@005:\n\tpop ebx\n\tpop edx\n\tpop ecx\n\tpop esi\n\tpop edi\n\tclc\n\tret\nSyserPrivateMemSearch\tENDP\n\n;VOID SyserPrivateMemorySearchError(VOID);\nSyserPrivateMemorySearchError\tPROC\n\tmov eax,edi\n\tpop ebx\n\tpop edx\n\tpop ecx\n\tpop esi\n\tpop edi\n\tstc\n\tret 010h\nSyserPrivateMemorySearchError\tENDP\n\n;VOID SyserPrivatePagePresent(BYTE* Address,DWORD Len);\nSyserPrivatePagePresent\tPROC Address,Len\n\tpush esi\n\tpush ecx\n\tcld\n\tmov esi,Address\n\tmov ecx,Len\n\tjecxz @@002\n\tlodsd\n@@001:\n\tmov ecx,Len\n\tand ecx,3\n\tjecxz @@002\n\tlodsb\n@@002:\n\tmov eax,1\n\tpop ecx\n\tpop esi\n\tclc\n\tret\nSyserPrivatePagePresent\tENDP\n\n;int __stdcall SyserPrivatePageNotPresent(VOID);\nSyserPrivatePageNotPresent\tPROC\n\tpop ecx\n\tpop esi\n\tmov eax,0\n\tstc\n\tret 8\nSyserPrivatePageNotPresent\tENDP\n\n;DWORD SyserPrivateMemCmp(BYTE* SourceAddr,BYTE* DestAddr,DWORD Len);\nSyserPrivateMemCmp\tPROC SourceAddr,DestAddr,Len\n\tpush edi\n\tpush esi\n\tpush ecx\n\tmov esi,SourceAddr\n\tmov edi,DestAddr\n\tmov ecx,Len\n\tjecxz @@002\n\tcld\n\trepz cmpsb\n\tjz @@002\n\tlea esi,[esi-1]\n@@002:\n\tmov eax,esi\n\tpop ecx\n\tpop esi\n\tpop edi\n\tclc\n\tret\nSyserPrivateMemCmp\tENDP\n\n;DWORD __stdcall SyserPrivateMemCmpError(VOID);\nSyserPrivateMemCmpError\tPROC\n\tmov eax,esi\n\tpop ecx\n\tpop esi\n\tpop edi\n\tstc\n\tret 0Ch\nSyserPrivateMemCmpError\tENDP\n\n;\n;\tSerialPort.cpp\n;\n\n;VOID SyserIODelay(VOID);\nSyserIODelay\tPROC\n\tjmp @@Next\n@@Next:\n\tret\nSyserIODelay\tENDP\n\n;VOID SyserSerialDLAB(WORD BasePort,bool bSet);\nSyserSerialDLAB\tPROC BasePort,bSet\n\tpush edx\n\tpush eax\n\tmov dx,word ptr BasePort\n\tadd dx,3\n\tin al,dx\n\tcall SyserIODelay\n\tmov ah,byte ptr bSet\n\txor ah,ah\n\tjz @@Disable\n\tor al,080h\n\tjmp @@Next\n@@Disable:\n\tand al,07Fh\n@@Next:\n\tout dx,al\n\tpop eax\n\tpop edx\n\tret\nSyserSerialDLAB\tENDP\n\n;int SyserSerialSendData(WORD BasePort,void* Buffer,int BufSize);\nSyserSerialSendData\tPROC BasePort,Buffer,BufSize\n\tpush esi\n\tpush edx\n\tpush ecx\n\tmov dx,word ptr BasePort\n\tmov esi,Buffer\n\tmov ecx,BufSize\n\tcld\n@@send_next:\n\tadd dx,6\t\t; modem status register\n\tin al,dx\n\tcall SyserIODelay\n\ttest al,080h\t;remote problem? DCD=0\n\tjz @@send_exit\t;jump if so\n\tdec dx\t\t\t;line status register\n\tin al,dx\n\tcall SyserIODelay\n\ttest al,020h\t; xmit holding reg ready?\n\tjz @@send_exit\t;jmp if not\n\tmov dx,word ptr BasePort\t;transmit holding register\n\tlodsb\t\t\t;get byte into al from [esi]\n\tout dx,al\t\t;send byte\n\tcall SyserIODelay\n\tloop @@send_next\n@@send_exit:\n\tmov eax,BufSize\n\tsub eax,ecx\n\tpop ecx\n\tpop edx\n\tpop esi\n\tret\nSyserSerialSendData\tENDP\n\n;int SyserSerialRecvData(WORD BasePort,void*Buffer,int BufSize);\nSyserSerialRecvData\tPROC BasePort,Buffer,BufSize\n\tpush\tedi\n\tpush    edx\n\tpush\tecx\n\tmov     dx,word ptr BasePort\n\tmov\t\tecx,BufSize\n\tmov\t\tedi,Buffer\n\tadd     dx, 4\t\t\t\t;modem control register\n\tmov     al, 3\t\t\t\t;set Data Terminal Ready\n\tout     dx, al\t\t\t\t;and Request to Send\n\tcld\n\tmov     dx, word ptr BasePort\t\t;base I/O address\n@@get_next:\n\tadd     dx, 5\t\t\t\t;line status register\n\tin      al, dx\t\t\t\t;get error & data ready bits\n\ttest    al, 0eh             ;any received byte (bl=1) ?\n\tjnz     @@get_exit\t\t\t;loop if not\n\ttest    al, 1\t\t\t\t;any received byte (bl=1) ?\n\tjz\t\t@@get_exit\t\t\t;loop if not\n\tmov     dx, word ptr BasePort\t\t;receive register\n\tin      al, dx\t\t\t\t;get byte\n\tstosb\n\tloop    @@get_next\n@@get_exit:\n\tmov\t\teax,BufSize\n\tsub\t\teax,ecx\n\tpop\t\tecx\n\tpop\t\tedx\n\tpop\t\tedi\n\tret\nSyserSerialRecvData\tENDP\nEND\n"
  },
  {
    "path": "Project/Syser/i386/common-x86.inc",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n\n;\n;\tҪInputDriver.hеstruct _KeyInterruptVariableͬ\n;\n\nKEYINTERRUPTVARIABLE\tSTRUCT\n\t IsActive        db\t?\n\t IsInsideActive  db\t?\n\t                 db\t?\t\n\t                 db\t?\t\n\t dwFuncKeyState  dd\t?\n\t dwOldKeyboardInterrupt dd\t?\n\t nCurrentKeyBufferIndex dd\t?\n\t timer           dd          ?           \n\t dwOldTimerInterrupt dd\t\t?\n\t keyboard        dd          ?          \n\t mouse           dd          ?          \n\t wSystemDataSegment dw\t\t?\n\t wDSRegister     dw\t\t\t?\n\t chFuncKeyScanCode db\t\t\t?\n\t chSecondKeyScanCode db\t\t?\n\t IsSaveInterruptInformation db\t?\n\t Interrupt8259Shield_1 db\t\t?\n\t Interrupt8259Shield_2 db\t\t?\n\t chAltKeyState   db\t\t\t?\n\t chAltKeyScanCode db\t\t\t?\n\t chCurrentScanCode db\t\t\t?\n\t dwIOAPICLineAddress dd\t\t?\n\t dwIOAPICPhysAddress dd\t\t?\n\t dwLocalAPICPhysAddress dd\t?\n\t dwLocalAPICLineAddress dd\t?\n\t bIsUseAPIC      db\t\t\t?\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t dwOldMouseInterrupt dd\t\t?\n\t bMouseResponseState db\t\t?\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t dwMouseDataIndex dd\t\t?\n\t chCurrentMouseData db\t\t?\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t dwLocalAPICTaskPriority dd\t?\n\t chPrveScanCode  db\t\t\t?\n\t chKeyBuffer     db 512 dup(?)\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\n\t                 db\t\t\t?\t\nKEYINTERRUPTVARIABLE\tENDS\n\nX86SAVEREGS\tSTRUCT\n\tSaveEdi\tdd\t?\n\tSaveEsi\tdd\t?\n\tSaveEbp\tdd\t?\n\tSaveEsp\tdd\t?\n\tSaveEbx\tdd\t?\n\tSaveEdx\tdd\t?\n\tSaveEcx\tdd\t?\n\tSaveEax\tdd\t?\nX86SAVEREGS\tENDS\n\nEAX_IDX\t\tEQU 0\nECX_IDX\t\tEQU 1\nEDX_IDX\t\tEQU 2\nEBX_IDX\t\tEQU 3\nESP_IDX\t\tEQU 4\nEBP_IDX\t\tEQU 5\nESI_IDX\t\tEQU 6\nEDI_IDX\t\tEQU 7\nGENE_IDX_MAX \tEQU 8\n\nES_IDX\t\tEQU 0\nCS_IDX\t\tEQU 1\nSS_IDX\t\tEQU 2\nDS_IDX\t\tEQU 3\nFS_IDX\t\tEQU 4\nGS_IDX\t\tEQU 5\nSEG_IDX_MAX EQU 6\n\n\nX86REGCONTEXT\tSTRUCT\n\tGeneReg\tdd GENE_IDX_MAX dup(?)\n\tCR\t\tdd 5 dup(?)\n\tDR\t\tdd 8 dup(?)\n\tEIP\t\tdd ?\n\tEFlags\tdd ?\n\tSegReg\tdw SEG_IDX_MAX dup(?)\n\tTR\t\tdw ?\n\tLDT\t\tdw ?\n\tReserved1\tdw ?\n\tGDTLimit\tdw ?\n\tGDTBase\tdd\t?\n\tReserved2\tdw ?\n\tIDTLimit\tdw ?\n\tIDTBase\tdd\t?\n\tExceptionEIP\tdd\t?\t\t\t\t;쳣ʱEIP   ֻ쳣в\n\tExceptionInterruptNumber\tdd\t?\t;쳣жϺ 0e ȱҳж, 0d ͨ쳣\n\tExceptionInterruptErrorCode\tdd\t?\t;쳣Ĵ\n\tLocalAPIC\tdd\t?\n\tFPUStatusWord\tdw\t?\n\tFPUControlWord\tdw\t?\n\tFPUTagWord\t\tdw\t?\n\tReserved3\t\tdw\t?\nX86REGCONTEXT\tENDS\n\n;\n;\tstruct _RETURN_CONTEXT\n;\n\nRETURNCONTEXT\tSTRUCT\n\trEIP\t\tdd ?\n\trCS\t\t\tdd ?\n\trEflags\t\tdd ?\n\tr3ESP\t\tdd ?\n\tr3SS\t\tdd ?\n\trV86ES\t\tdd ?\n\trV86DS\t\tdd ?\n\trV86FS\t\tdd ?\n\trV86GS\t\tdd ?\nRETURNCONTEXT\tENDS\n\n;\n;\tAPIC\n;\n\nIOAPIC_DEFAULT_PHYSICAL_BASE\t\t\t\tEQU\t\t0FEC00000h\nMSR_INDEX_IA32_APIC_BASE\t\t\t\t\tEQU\t\t01Bh\nMSR_APIC_GLOBAL_ENABLE_BIT_MASK\t\t\t\tEQU\t\t0800h\nMSR_APIC_BASE_ADDRESS_BIT_MASK\t\t\t\tEQU\t\t0FFFFF000h\nCPUID_1_EDX_FEATURE_APIC_ON_CHIP_BIT_MASK\tEQU\t\t0200h\n\nLOCALAPICINFO\tSTRUCT\n\tAPIC_ID         dd ?\n\tAPICVersion     dd ?\n\tTaskPriority    dd ?\n\tArbitrationPriority dd ?\n\tProcessorPriority dd ?\n\tEOI             dd ?\n\tLogicalDestination dd ?\n\tDestinationFormat dd ?\n\tSpuriousInterruptVector dd ?\n\t                 db ? ; undefined\n\t                 db ? ; undefined\n\t                 db ? ; undefined\n\t                 db ? ; undefined\n\tInService       dd 8 dup(?)\n\tTriggerMode     dd 8 dup(?)\n\tInterruptRequest dd 8 dup(?)\n\tErrorStatus     dd ?\n\tInterruptCommandLow dd ?\n\tInterruptCommandHigh dd ?\n\tLVTTimer        dd ?\n\tLVTThermalSensor dd ?\n\tLVTPerformanceMonitoringCounters dd ?\n\tLVTLINT0        dd ?\n\tLVTLINT1        dd ?\n\tLVTError        dd ?\n\tInitialCount    dd ?\n\tCurrentCount    dd ?\n\tDivideConfiguration dd ?\nLOCALAPICINFO\tENDS"
  },
  {
    "path": "Project/Syser/i386/compatibility-x86.asm",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n.686p\n.MMX\n.XMM\n.model flat,StdCall\noption casemap:none\n\ninclude compatibility-x86.inc\n\n;ⲿ\n;EXTERN CloseDebugRegisterMontior@0:PROC\n\n;ԭͶ\n;SyserPrivateReadMSR Proto :DWORD\n\n;\n;extern gbActive:BYTE\n\n.DATA\n\n;bInit\tdb\t0\n\n\n.CODE\n\n;\n;\tVMWareSupport.cpp\n;\n\n;bool SyserVMWareTest(VOID);\nSyserVMWareTest\tPROC\n\tlocal bInVMWARE:DWORD\n\tpushad\n\tpushfd\n\tmov bInVMWARE,0\n\txor ebx,ebx\n\tmov ecx,0ah\n\tmov eax,'VMXh'\t; EAX=magic\n\tmov dx,'VX'\t\t; DX=magic\n\tin eax,dx\t\t; specially processed io cmd\n\tcmp ebx,'VMXh'\n\tjne @@NoInVmware\n\tmov bInVMWARE,1\n@@NoInVmware:\n\tpopfd\n\tpopad\n\txor eax,eax\n\tmov eax,bInVMWARE\n\tret\nSyserVMWareTest\tENDP\n\n;VOID SyserIsDisableVmMouse(BYTE  *PortValue1,BYTE *PortValue2);\nSyserIsDisableVmMouse\tPROC PortValue1,PortValue2\n\tpush eax\n\tpush edx\n\txor eax,eax\n\tin al,064h\n\tmov edx,PortValue1\n\tmov [edx],byte ptr al\n\txor eax,eax\n\tin eax,064h\n\tmov edx,PortValue2\n\tmov [edx],byte ptr al\n\tpop edx\n\tpop eax\n\tret\nSyserIsDisableVmMouse\tENDP\n\n;DWORD SyserVMWareCall(VMVWARE_CALL* pVMCParam);\nSyserVMWareCall\tPROC\tpVMCParam\n\tlocal Status:DWORD\n\tpushad\n\tmov eax,pVMCParam\n\tmov word ptr[eax + VMVWARE_CALL.Port],'VX'\n\tmov dword ptr[eax + VMVWARE_CALL.Return_Status],'VMXh'\n\tmov edi,[eax + VMVWARE_CALL.Trans_Dest]\n\tmov esi,[eax + VMVWARE_CALL.Trans_Src]\n\tmov edx,[eax + VMVWARE_CALL.Port]\n\tmov ecx,[eax + VMVWARE_CALL.Func_num]\n\tmov ebx,[eax + VMVWARE_CALL.Exist_flag]\n\tmov eax,[eax + VMVWARE_CALL.Return_Status]\n\tmov eax,[eax]\n\tin eax,dx\n\tmov Status,eax\n\tmov eax,pVMCParam\n\tmov [eax + VMVWARE_CALL.Exist_flag],ebx\n\tmov [eax + VMVWARE_CALL.Func_num],ecx\n\tmov [eax + VMVWARE_CALL.Port],edx\n\tmov [eax + VMVWARE_CALL.Trans_Src],esi\n\tmov [eax + VMVWARE_CALL.Trans_Dest],edi\n\tmov edi,Status\n\tmov [eax + VMVWARE_CALL.Return_Status],edi\n\tpopad\n\tmov eax,Status\n\tret\nSyserVMWareCall\tENDP\nEND\n"
  },
  {
    "path": "Project/Syser/i386/compatibility-x86.inc",
    "content": ";\t/*\n;\t\tVMWAREص\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n\nVMVWARE_CALL\tSTRUCT\n\tReturn_Status\tdd\t?\n\tExist_flag\t\tdd\t?\n\tFunc_num\t\tdd\t?\n\tPort\t\t\tdd\t?\n\tTrans_Src\t\tdd\t?\n\tTrans_Dest\t\tdd\t?\nVMVWARE_CALL\tENDS"
  },
  {
    "path": "Project/Syser/i386/interrupt-x86.asm",
    "content": ";\t/*\n;\t\tܷװ\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n.686p\n.MMX\n.XMM\n.model flat,StdCall\noption casemap:none\n\ninclude common-x86.inc\ninclude interrupt-x86.inc\n\n;ⲿ\nEXTERN SyserCloseDebugRegisterMontior@0:PROC\nEXTERN SyserStartOtherCPUs@0:PROC\nEXTERN SyserStopOtherCPUs@0:PROC\nEXTERN KeBugCheckEx@20:PROC\nEXTERN SyserLoadReg@0:PROC\nEXTERN ActiveHookInt0e@4:PROC\nEXTERN SyserAttachPopupProcess@4:PROC\nEXTERN SyserDbgProcessHandleInt1@4:PROC\nEXTERN SyserDbgProcessHandleInt3@4:PROC\nEXTERN SetLastBranchMointer@0:PROC\nEXTERN SyserEnableDebugRegisterMontior@0:PROC\nEXTERN SyserSaveReg@0:PROC\nEXTERN SyserSyncMouseInterrupt@0:PROC\nEXTERN SyserDisableDebugRegisterMontior@0:PROC\nEXTERN SetLastBranchMointer@0:PROC\nEXTERN Int0dHandle@4:PROC\nEXTERN Int0eHandle@4:PROC\nEXTERN SyserIsgpSyserValid@0:PROC\nEXTERN HandleBpr@12:PROC\nEXTERN SyserInt0eProc@0:PROC\nEXTERN PS2MouseOperation@0:PROC\nEXTERN SetInteruptEOI@4:PROC\nEXTERN GetCurrentCPULocalAPICID@0:PROC\nEXTERN SaveLocalApic@4:PROC\nEXTERN SyserGetIsDbgRegAccessMon@0:PROC\nEXTERN SaveIOAPICInterruptVectorTable@0:PROC\nEXTERN RestoreIOAPICInterruptVectorTable@0:PROC\nEXTERN SyserEnableAllHardInterrupt@0:PROC\nEXTERN SyserDisableAllHardInterrupt@0:PROC\nEXTERN UnloadSystemModuleSymbols@8:PROC\nEXTERN SyserGetInstallDebug@0:PROC\nEXTERN SyserDbgPrint:PROC\nEXTERN SyserGetbInitSuccess@0:PROC\nEXTERN SyserbIsgpSyserValid@0:PROC\nEXTERN SyserGetSysInfoSyserBase@0:PROC\nEXTERN SyserGetSysInfoSyserHighBase@0:PROC\nEXTERN SyserSerialMouseInterruptServiceInternal@0:PROC\n\n;ԭͶ\n;SyserPrivateReadMSR Proto :DWORD\nActiveHookInt0e Proto :BYTE\nSyserAttachPopupProcess Proto\t:DWORD\nSyserDbgProcessHandleInt1 Proto :DWORD\nSyserDbgProcessHandleInt3 Proto :DWORD\nSyserStartOtherCPUs Proto\nSyserStopOtherCPUs Proto\nSyserLoadReg Proto\nSyserDisableDebugRegisterMontior Proto\nSetLastBranchMointer Proto\nSyserEnableDebugRegisterMontior Proto\nSyserSaveReg Proto\nSyserSyncMouseInterrupt Proto\nSaveExceptionRegister\tProto\nInt0dHandle\tProto :DWORD\nInt0eHandle Proto :DWORD\nSyserIsgpSyserValid\tProto\nHandleBpr\tProto :DWORD,:DWORD,:DWORD\nSyserInt0eProc\tProto\nKeBugCheckEx Proto :DWORD,:DWORD,:DWORD,:DWORD,:DWORD\nPS2MouseOperation\tProto\nSetInteruptEOI\tProto :DWORD\nMouseInterruptService\tProto\nGetCurrentCPULocalAPICID\tProto\nSaveLocalApic\tProto :DWORD\nSyserSaveSyserDRX\tProto\nSyserSaveSyserDRXNew\tProto\nSyserLoadContext\tProto\nSyserGetIsDbgRegAccessMon\tProto\nSaveIOAPICInterruptVectorTable\tProto\nRestoreIOAPICInterruptVectorTable\tProto\nSyserEnableAllHardInterrupt\tProto\nSyserDisableAllHardInterrupt\tProto\nUnloadSystemModuleSymbols\tProto :DWORD,:DWORD\nSyserGetInstallDebug\tProto\nSyserGetbInitSuccess\tProto\nSyserbIsgpSyserValid\tProto\nSyserGetSysInfoSyserBase\tProto\nSyserGetSysInfoSyserHighBase\tProto\nSyserSaveExceptionRegister\tProto\nSyserSerialMouseInterruptServiceInternal\tProto\n\n;\nextern gbActive:BYTE\nextern gbBugCheckExExit:BYTE\nextern bIsMouseData:BYTE\nextern gOldInt01Proc:DWORD\nextern gOldInt03Proc:DWORD\nextern gpStackBufferTop:DWORD\nextern gpStackBuffer:DWORD\nextern Reg:X86REGCONTEXT\nextern OldESP:DWORD\nextern gIntCounter:DWORD\nextern gGenInterruptNumber:DWORD\nextern bGoToSoftice:BYTE\nextern pSofticeActivePointer:DWORD\nextern gGenInterruptOffset:DWORD\nextern gdwActiveInt0eProcAddress:DWORD\nextern stKeyGlobalVariable:KEYINTERRUPTVARIABLE\nextern MouseInterruptCount:DWORD\nextern gpMCPULocalApic:ptr \tLOCALAPICINFO\nextern gpMCPUReg:ptr X86REGCONTEXT\nextern gdwLocalAPICLineAddress:DWORD\nextern gdwMulitCpuSendIPIFlags:DWORD\nextern gLoopCpuNumber:DWORD\nextern gbSyserDRXChg:BYTE\nextern gdwMulitCpuSpinlock:DWORD\nextern SyserDR:ptr DWORD\nextern gdwExitNmiLock:DWORD\nextern gCPUNumbers:DWORD\nextern gdwPIC8259Shield_1:BYTE\nextern gdwPIC8259Shield_2:BYTE\nextern gbIsSaveInterruptShieldRegister:BYTE\nextern gdwLocalAPICTaskPriority:DWORD\nextern gbIsUseAPIC:BYTE\nextern gSofticeDriverEntry:DWORD\nextern gSofticeDriverEntryReturnAddress:DWORD\n;extern ExceptionTmpReg:X86REGCONTEXT\n;extern gExceptionCurrentCpuID:DWORD\nextern ExceptionReg:DWORD\nextern dwOldInterruptF9:DWORD\nextern dwInterruptF9Address:DWORD\nextern wSerialMousePort:DWORD\nextern byte3FD:BYTE\n\n.DATA\n\n;bInit\tdb\t0\nnnByte\tdb  0\ngNmiCount\tdd 0\nint2eip\t\tdd 0\ngExceptionSpinLock\tdd 0\ngExceptionCurrentCpuID\tdd 0\nExceptionTmpReg X86REGCONTEXT <>\n\nSofticeDriverEntryExitCallBackStrW db 053h, 000h, 059h, 000h, 053h, 000h, 045h, 000h, 052h, 000h, 020h, 000h, 03Ah, 000h, 020h, 000h\n    db 049h, 000h, 06Eh, 000h, 073h, 000h, 074h, 000h, 061h, 000h, 06Ch, 000h, 06Ch, 000h, 044h, 000h\n    db 065h, 000h, 062h, 000h, 075h, 000h, 067h, 000h, 03Dh, 000h, 03Dh, 000h, 066h, 000h, 061h, 000h\n    db 06Ch, 000h, 073h, 000h, 065h, 000h, 0,0\n;:\n;    SYSER : InstallDebug==false\n;================================================================================\n\n.CODE\n\n;\n;\tInt1.cpp\n;\n\n;VOID  SyserInt01Proc(VOID);\nSyserInt01Proc\tPROC\n\tpushfd\n;\tCMP\t\tDWORD PTR[esp+8],offset CloseDebugRegisterMontior+1\n\tjnz @@HandleSetDbgReg\n\tpush eax\n\txor eax,eax\n\tmov dr6,eax\n\tpop eax\n\tpopfd\n\tlea esp,[esp+4]\n\tiretd\n@@HandleSetDbgReg:\n\tcmp ss:gbActive,0\t;ûбת\n\tjz @@EntryProc\n\tjmp @@HandleSetDbgReg\n\tpopfd\t\t\t\t;ߵһִ\n\tret\n@@EntryProc:\n\tpopfd\n\tinvoke SyserStopOtherCPUs\n\tinvoke SyserDisableDebugRegisterMontior\n\tpop ss:gOldInt01Proc\n\tcmp esp,ss:gpStackBuffer\n\tjb @@uu\n\tcmp esp,ss:gpStackBufferTop\n\tja @@uu\n\tpush 0\n\tpush ebp\n\tpush esp\n\tpush Reg.EIP\n\tpush 031313131h\n\tmov eax,KeBugCheckEx\n\tcall eax\n@@uu:\n\tmov ss:OldESP,esp\n\tmov esp,ss:gpStackBufferTop\n\tpushad\n\tpush fs\n\tpush ds\n\tpush es\n\tmov ax,023h\n\tmov ds,ax\n\tmov es,ax\n\tmov ebp,esp\n\tcld\n\tinvoke SyserLoadReg\n\tinvoke ActiveHookInt0e,1\n\tinvoke SyserAttachPopupProcess,Reg.CR[3*4]\n\tinc gIntCounter\n\tinvoke SyserDbgProcessHandleInt1,Reg.EIP\n\ttest al,al\n\tjnz @@SyserNotActive\n\tinvoke ActiveHookInt0e,0\n\tinvoke SetLastBranchMointer\n\tinvoke SyserEnableDebugRegisterMontior\n\tpop es\n\tpop ds\n\tpop fs\n\tpopad\n\tmov esp,ss:OldESP\n\tjmp cs:[gOldInt01Proc]\n@@SyserNotActive:\n\tinvoke ActiveHookInt0e,0\n\tinvoke SetLastBranchMointer\n\tinvoke SyserSaveReg\n\tpop es\n\tpop ds\n\tpop fs\n\tpopad\n\tmov esp,ss:OldESP\n\tmov ss:OldESP,0\n\tinvoke SyserSyncMouseInterrupt\n\txchg eax,[esp+8]\n\ttest eax,0100h\n\tjnz @@StepNext\n\tinvoke SyserEnableAllHardInterrupt\n\tinvoke SyserStartOtherCPUs\n\tjmp @@PassSoftice\n@@StepNext:\n\tcall SyserDisableAllHardInterrupt\n@@PassSoftice:\n\txchg eax,[esp+8]\n\tcmp ss:gGenInterruptNumber,0FFFFFFFFh\n\tjnz @@PassGenInterrupt\n\tcmp ss:bGoToSoftice,0\n\tjz @@TmpGoSoftice\n\tmov ss:bGoToSoftice,0\n\tcall pSofticeActivePointer\n@@TmpGoSoftice:\n\tiretd\n@@PassGenInterrupt:\n\tmov ss:gGenInterruptNumber,0FFFFFFFFh\n\tjmp cs:[gGenInterruptOffset]\nSyserInt01Proc\tENDP\n\n;\n;\tInt3.cpp\n;\n\n;VOID  SyserInt03Proc(VOID)\nSyserInt03Proc\tPROC\n\tpushfd\n\tcmp ss:gbActive,1\n\tjnz @@SyserNotActive\n\tpopfd\n\tret\t\t;?ӦIret\n@@SyserNotActive:\n\tpopfd\n\tcall SyserStopOtherCPUs\n\tcall SyserDisableDebugRegisterMontior\n\tpop ss:gOldInt03Proc\n\tcmp esp,ss:gpStackBuffer\n\tjb @@uu\n\tcmp esp,ss:gpStackBufferTop\n\tja @@uu\n\tpush 0\n\tpush 0\n\tpush esp\n\tpush 0\n\tpush 033333333h\n\tmov eax,KeBugCheckEx\n\tcall eax\n@@uu:\n\tmov ss:OldESP,esp\n\tmov esp,ss:gpStackBufferTop\n\tpushad\n\tpush fs\n\tpush ds\n\tpush es\n\tmov ax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tmov ebp,esp\n\tcld\n\tinvoke SyserLoadReg\n\tinvoke ActiveHookInt0e,1\n\tinvoke SyserAttachPopupProcess,Reg.CR[3*4]\n\tinvoke SyserDbgProcessHandleInt3,Reg.EIP-1\n\ttest al,al\n\tjnz @@NoSyserActiveEntry\n\tinvoke ActiveHookInt0e,0\n\tinvoke SyserEnableDebugRegisterMontior\n\tpop es\n\tpop ds\n\tpop fs\n\tpopad\n\tmov esp,ss:OldESP\n\tinvoke SyserStartOtherCPUs\n\tjmp ss:[gOldInt03Proc]\n@@NoSyserActiveEntry:\n\tinvoke ActiveHookInt0e,0\n\tinvoke SyserSaveReg\n\tpop es\n\tpop ds\n\tpop fs\n\tpopad\n\tmov esp,ss:OldESP\n\tmov ss:OldESP,0\n\tinvoke SyserSyncMouseInterrupt\n\txchg eax,[esp+8]\t;eflags\n\ttest eax,0100h\n\tjnz @@StepNext\t\t\t\t;Եʽ˳ģ򲻿ӲжҲ cpu ִָ\n\tinvoke SyserEnableAllHardInterrupt\n\tinvoke SyserStartOtherCPUs\n\tjmp @@101\n@@StepNext:\n\tinvoke SyserDisableAllHardInterrupt \n@@101:\n\txchg eax,[esp+8]\n\tcmp cs:gGenInterruptNumber,0FFFFFFFFh\n\tjnz @@100\n\tcmp cs:bGoToSoftice,0\n\tjz @@tmpgosoftice\n\tmov ss:bGoToSoftice,0\n\tcall pSofticeActivePointer\n@@tmpgosoftice:\n\tcmp ss:gbBugCheckExExit,1\n\tmov ss:gbBugCheckExExit,0\n\tjnz @@ppp\n\ttest dword ptr[esp+8],0100h\n\tjz @@ppp\n\tand dword ptr[esp+8],0FFFFFEFFh\n\tpushfd\n\tor dword ptr[esp],0100h\n\tpopfd\n@@ppp:\n\tiretd\n@@100:\n\tmov ss:gGenInterruptNumber,0FFFFFFFFh\n\tjmp cs:[gGenInterruptOffset]\nSyserInt03Proc\tENDP\n\n;\n;\tInt0x6.cpp\n;\n\n;VOID SyserInt06Proc(VOID);\nSyserInt06Proc\tPROC\n\tpush dword ptr 06h\n\tinvoke SyserSaveExceptionRegister\n\tlea esp,[esp+4]\n\tpushfd\n\tpushad\n\tmov ebp,esp\n\tpush ds\n\tpush es\n\tpush fs\n\tmov eax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tret\t\t;Ϊʲôiretd\nSyserInt06Proc\tENDP\n\n;\n;\tInt0xb.cpp\n;\n\n;VOID SyserInt0bProc(VOID);\nSyserInt0bProc\tPROC\n\tpush dword ptr 0bh\n\tlea esp,[esp+4]\n\tpushfd\n\tpushad\n\tpush ds\n\tpush es\n\tpush fs\n\tmov eax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tret\nSyserInt0bProc\tENDP\n\n;\n;\tInt0xc.cpp\n;\n\n;VOID SyserInt0cProc(VOID);\nSyserInt0cProc\tPROC\n\tpush dword ptr 0ch\n\tcall SyserSaveExceptionRegister\n\tlea esp,[esp+4]\n\tpushfd\n\tpushad\n\tmov ebp,esp\n\tpush ds\n\tpush es\n\tpush fs\n\tmov ax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tmov ax,NT_FS\n\tmov fs,ax\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tret\nSyserInt0cProc\tENDP\n\n;\n;\tInt0xd.cpp\n;\n\n;VOID SyserInt0dProc(VOID);\nSyserInt0dProc\tPROC\n;\tlocal Int0dStackPointer:DWORD\t;,Ȼᵼ±ԼȥESPЩ\n\tpush dword ptr 0dh\n\tcall SyserSaveExceptionRegister\n\tlea esp,[esp+4]\t\t\t\t; push dword ptr 0dh\n\tpushfd\n\tpushad\n\tpush ds\n\tpush es\n\tpush fs\n\tmov eax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tmov eax,NT_FS \n\tmov fs,ax\n\tmov ebp,esp\n\tlea esp,[esp-4]\n\tmov [ebp-4],ebp\t\t;[ebp-4]൱Int0dStackPointer\n\tadd [ebp-4],038h\n\tinvoke Int0dHandle,[ebp-4]\n\ttest al,al\n\tjz @@Int0dQuit\n\tlea esp,[esp+4]\t\t;Ƕ Int0dStackPointer ֲ\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad   \n\tpopfd\n\tlea esp,[esp+8]\t\t;code error;windows return address\n\tiretd\n@@Int0dQuit:\n\tlea esp,[esp+4]\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tret\nSyserInt0dProc\tENDP\n\n;\n;\tInt0xe.cpp\n;\n\n;VOID SyserInt0eProc(VOID);\nSyserInt0eProc\tPROC\n;\tlocal Int0eStackPointer:DWORD\t[ebp-4]\n;\tlocal PagedCR2:DWORD\t[ebp-8]\n\tpush dword ptr 0Eh\n\tcall SyserSaveExceptionRegister\n\tlea esp,[esp+4]\t\t; push dword ptr 0xe\n\tpushfd\n\tpushad\n\tmov ebp,esp\n\tlea esp,[esp-08h]    ;ֲĿռ\n\tmov [ebp-4],ebp \n\tmov eax,cr2 \n\tmov [ebp-8],eax\n\tadd [ebp-4],028h\n\tpush ds\n\tpush es\n\tpush fs\n\tmov ax,NT_DS \n\tmov ds,ax \n\tmov es,ax\n\tmov ax,NT_FS\n\tmov fs,ax\n\tmov eax,cr2\n\tcld\n\tinvoke Int0eHandle,[ebp-4]\n\ttest al,al\n\tjz @@NoErrorInSyser\n\tpop fs\n\tpop es\n\tpop ds\n\tlea esp,[esp+8]\t;ֲ\n\tpopad\n\tpopfd\n\tlea esp,[esp+8]\t; errorcode  windows return address\n\tiretd\t\t\t;ֱӷ\n@@NoErrorInSyser:\n\tinvoke SyserIsgpSyserValid\n\ttest al,al\n\tjz @@gpSyserInValid\n\tpush edi\n\tmov edi,[ebp-4]\n\tpush edi\n\tpush [edi]\n\tpush [ebp-8]\n\tcall HandleBpr\n\tpop edi\n\ttest al,al\n\tjz @@gpSyserInValid\n\tpop fs\n\tpop es\n\tpop ds\n\tlea esp,[esp+8]\t;ֲ\n\tpopad\n\tpopfd\n\tlea esp,[esp+8]\t; errorcode  windows return address\n\tor dword ptr[esp+8],0100h\n\tiretd\n@@gpSyserInValid:\n\tpush edi\n\tmov edi,[ebp-4]\n\tadd edi,12\n\tand [edi],0100h\n\ttest edi,edi\n\tjz @@Quit\n\tinvoke SyserEnableAllHardInterrupt\n\tinvoke SyserStartOtherCPUs\n@@Quit:\n\tpop fs\n\tpop es\n\tpop ds\n\tlea esp,[esp+8]\t;ֲ\n\tpopad\n\tpopfd\n\tret\t\t\t\t;صԭʼWINDOWSжϴַ\nSyserInt0eProc\tENDP\n\n;VOID SyserActive_Int0eProcStub(VOID);\nSyserActive_Int0eProcStub\tPROC\n\tpush ss:gdwActiveInt0eProcAddress\n\tjmp SyserInt0eProc\nSyserActive_Int0eProcStub\tENDP\n\n;\n;\tPS2Mouse.cpp\n;\n\n;VOID SyserInterrupt_0xF9_Mouse_Service(VOID);\nSyserInterrupt_0xF9_Mouse_Service\tPROC\n\tpushfd\n\tcmp cs:gbActive,0\n\tjnz @@SyserActive\n\tpush eax\n\tin al,064h\n\ttest al,1\n\tpop eax\n\tjnz @@SyserActive\n\tpopfd\n\tret\n@@SyserActive:\n\tpopfd\n\tpush cs:MouseInterruptService\n\tret\nSyserInterrupt_0xF9_Mouse_Service\tENDP\n\n;VOID MouseInterruptService(VOID);\nMouseInterruptService\tPROC\n\tcmp cs:gbActive,1\n\tjz @@SyserActive\n\tmov ss:bIsMouseData,1\n\tret\n@@SyserActive:\n\tlea esp,[esp+4]\n\tpushad\n\tpushfd\n\tin al,064h\n\tand eax,0ffh\n\tmov nnByte,al\n\tmov ebx,eax\n\tin al,060h\n\tmov stKeyGlobalVariable.chCurrentMouseData,al\n\tinvoke PS2MouseOperation\n\tinc MouseInterruptCount\n\tinvoke SetInteruptEOI,0Ch\n\tpopfd\n\tpopad\n\tiretd\nMouseInterruptService\tENDP\n\n;\n;\tNMIInterruptHandle.cpp\n;\n\n;VOID SyserLoadContext(VOID);\nSyserLoadContext\tPROC\n\tlocal CurrentCpuID:DWORD\n\tlocal TmpContext:X86REGCONTEXT\n\tpushad\n\tpushfd\n\tmov eax,dr0\n\tmov TmpContext.DR[0*4],eax\n\tmov eax,dr1\n\tmov TmpContext.DR[1*4],eax\n\tmov eax,dr2\n\tmov TmpContext.DR[2*4],eax\n\tmov eax,dr3\n\tmov TmpContext.DR[3*4],eax\n\tmov eax,dr6\n\tmov TmpContext.DR[6*4],eax\n\tmov eax,dr7\n\tmov TmpContext.DR[7*4],eax\n\tsldt word ptr TmpContext.LDT\n\tstr word ptr TmpContext.TR\n\tsgdt fword ptr TmpContext.GDTLimit\n\tsidt fword ptr TmpContext.IDTLimit\n\tmov eax,[ebp+010h]\n\tmov TmpContext.GeneReg[EDI_IDX*4],eax \n\tmov eax,[ebp+014h]\n\tmov TmpContext.GeneReg[ESI_IDX*4],eax \n\tmov eax,[ebp+018h]\n\tmov TmpContext.GeneReg[EBP_IDX*4],eax \n\tmov eax,[ebp+01Ch]\n\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n\tmov eax,[ebp+020h]\n\tmov TmpContext.GeneReg[EBX_IDX*4],eax \n\tmov eax,[ebp+024h]\n\tmov TmpContext.GeneReg[EDX_IDX*4],eax \n\tmov eax,[ebp+028h]\n\tmov TmpContext.GeneReg[ECX_IDX*4],eax \n\tmov eax,[ebp+02Ch]\n\tmov TmpContext.GeneReg[EAX_IDX*4],eax \n\tmov eax,[ebp+040h]\n\tmov TmpContext.EFlags,eax \n\tmov eax,[ebp+038h]\n\tmov TmpContext.EIP,eax \n\t\n\tmov eax,cr0\n\tmov TmpContext.CR[0*4],eax\n\tmov eax,cr2\n\tmov TmpContext.CR[2*4],eax\n\tmov eax,cr3\n\tmov TmpContext.CR[3*4],eax\n\tmov eax,cr4\n\tmov TmpContext.CR[4*4],eax\n\tmov eax,TmpContext.EFlags\n\ttest eax,020000h\n\tjz @@001\n\tmov eax,[ebp+044h]\n\tmov TmpContext.GeneReg[ESP_IDX*4],eax\n\tmov eax,[ebp+048h]\n\tmov TmpContext.SegReg[SS_IDX*2],ax\n\tmov eax,[ebp+04Ch]\n\tmov TmpContext.SegReg[ES_IDX*2],ax\n\tmov eax,[ebp+050h]\n\tmov TmpContext.SegReg[DS_IDX*2],ax\n\tmov eax,[ebp+054h]\n\tmov TmpContext.SegReg[FS_IDX*2],ax\n\tmov eax,[ebp+058h]\n\tmov TmpContext.SegReg[GS_IDX*2],ax\n\tjmp @@002\n@@001:\n\tmov eax,[ebp+8]\n\tmov TmpContext.SegReg[ES_IDX*2],ax \n\tmov eax,[ebp+0Ch]\n\tmov TmpContext.SegReg[DS_IDX*2],ax\n\tmov ax,fs \n\tmov TmpContext.SegReg[FS_IDX*2],ax\n\tmov ax,gs\n\tmov TmpContext.SegReg[GS_IDX*2],ax\n\tmov eax,[ebp+03Ch]\n\tmov TmpContext.SegReg[CS_IDX*2],ax\n\ttest ax,3\n\tjnz @@005\n\tlea eax,[ebp+044h]\n\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n\tmov ax,ss \n\tmov TmpContext.SegReg[SS_IDX*2],ax\n\tjmp @@002\n@@005:\n\tmov eax,[ebp+044h]\n\tmov TmpContext.GeneReg[ESP_IDX*4],eax \n\tmov eax,[ebp+048h]\n\tmov TmpContext.SegReg[SS_IDX*2],ax\n@@002:\n\tinvoke GetCurrentCPULocalAPICID\n\tmov CurrentCpuID,eax\n\tmov ecx,SIZEOF LOCALAPICINFO\n\timul ecx\n\tadd eax,gpMCPULocalApic\n\tpush eax\t\t\t\t\t;&gpMCPULocalApic[CurrentCpuID]\n\tinvoke SaveLocalApic,eax\n\tlea esi,TmpContext\n\tmov ecx,SIZEOF X86REGCONTEXT\n\tmov eax,CurrentCpuID\n\timul ecx\n\tadd eax,gpMCPUReg\n\tmov edi,eax\n\trep movsb\n\tpop esi\n\tmov [eax + X86REGCONTEXT.LocalAPIC],esi\n\tpopfd\n\tpopad\n\tret\nSyserLoadContext\tENDP\n\n;VOID SyserEnterLoop(DWORD* dwPtr);\nSyserEnterLoop\tPROC\tdwPtr\n\tlocal CurrentCpuID:DWORD\n\tpushad\n\tpushfd\n\tmov eax,gdwLocalAPICLineAddress\n\tmov ebx,[eax+080h]\n\tpush ebx\n\tmov ebx,0ffh\n\tmov [eax+080h],ebx\n\tinvoke GetCurrentCPULocalAPICID\n\tmov CurrentCpuID,eax\n\tmov gdwMulitCpuSendIPIFlags,0\n\tlock inc dword ptr gLoopCpuNumber\n@@Loop:\n\tcmp gdwMulitCpuSpinlock,0\n\tjz @@QuitLoop\n\ttest gbSyserDRXChg,0\n\tjz @@ContineLoop\n\tcall SyserSaveSyserDRX\n\tmov gbSyserDRXChg,0\n@@ContineLoop:\t\n\tjmp @@Loop\n@@QuitLoop:\n\tlock dec dword ptr gLoopCpuNumber\n\tmov eax,gdwLocalAPICLineAddress\n\tpop ebx\n\tmov [eax+080h],ebx\n\tpopfd\n\tpopad\n\tret\nSyserEnterLoop\tENDP\n\n;VOID SyserSaveSyserDRX(VOID);\nSyserSaveSyserDRX\tPROC\n\tpush eax\n\tpush ecx\n\tmov ecx,SyserDR\n\tmov\teax,[ecx + 0*4]\n\tmov\tdr0,eax\n\tmov\teax,[ecx + 1*4]\n\tmov\tdr1,eax\n\tmov\teax,[ecx + 2*4]\n\tmov\tdr2,eax\n\tmov\teax,[ecx + 3*4]\n\tmov\tdr3,eax\n\txor\teax,eax \n\tmov\tdr6,eax\n\tmov\teax,[ecx + 7*4]\n\tand\teax,0ffffdfffh\n\tmov\tdr7,eax\n\tpop ecx\n\tpop eax\n\tret\nSyserSaveSyserDRX\tENDP\n\n;VOID SyserSaveSyserDRXNew(VOID);\nSyserSaveSyserDRXNew\tPROC\n\tpush\teax\n\tpush\tecx\n\tmov\t\tecx,SyserDR\n\tmov\t\teax,[ecx + 2*4]\n\tmov\t\tdr2,eax\n\tmov\t\teax,[ecx + 1*4]\n\tmov\t\tdr1,eax\t\t\n\tmov\t\teax,[ecx + 3*4]\n\tmov\t\tdr3,eax\n\tmov\t\teax,[ecx + 0*4]\n\tmov\t\tdr0,eax\n\txor\t\teax,eax \n\tmov\t\tdr6,eax\n\tmov\t\teax,[ecx + 7*4]\n\tand\t\teax,0ffffdfffh\n\tmov\t\tdr7,eax\n\tpop\t\tecx\n\tpop\t\teax\n\tret\nSyserSaveSyserDRXNew\tENDP\n\n;VOID SyserNMIInterruptService(VOID);\nSyserNMIInterruptService\tPROC\n\tlocal dwEBP:ptr DWORD\n\tpushfd\n\tcmp\t\tgCPUNumbers,1\n\tjnz\t\t@@MultiCPUMachine\n\tpopfd\n\tret\t\t\t\t\t\t;ڵcpu Ļֱӷص windows ж. fixme \n@@MultiCPUMachine:\n\tpushad\n\tpush\tds\n\tpush\tes\t\t\n\tcli\n\tmov\t\tax,ss\n\tmov\t\tds,ax\n\tmov\t\tes,ax\n\tmov eax,[esp+12*4]\n\tmov\t\tint2eip,eax\n\tlock inc gNmiCount\n\tinvoke SyserDisableDebugRegisterMontior\n\tinvoke SyserLoadContext\n\tpush esp\n\tcall SyserEnterLoop\n\tinvoke SyserGetIsDbgRegAccessMon\n\ttest al,0\n\tjz @@DbgRegAMonFalse\n\tcall SyserSaveSyserDRXNew\n@@DbgRegAMonFalse:\n\tcmp gNmiCount,2\n\tjge @@Quit\n\tinvoke SyserEnableDebugRegisterMontior\n@@Quit:\n\tlock dec gNmiCount\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tlea esp,[esp+4]\n\tmov gdwExitNmiLock,0\n\tiretd\nSyserNMIInterruptService\tENDP\n\n;\n;\tHardWareInterruptCtrl.cpp\n;\n\n;VOID SyserDisableAllHardInterrupt(VOID);\nSyserDisableAllHardInterrupt\tPROC\n\tpushad\n\tcmp gbIsSaveInterruptShieldRegister,0\n\tjnz @@5\n\tcmp  gbIsUseAPIC,0\n\tjz @@1\n\tmov eax,gdwLocalAPICLineAddress\n\tmov eax,[eax + 080h]\n\tmov gdwLocalAPICLineAddress,eax\n\tinvoke SaveIOAPICInterruptVectorTable\n\tjmp @@4\n@@1:\n\tin al,021h\n\tmov gdwPIC8259Shield_1,al\n\tmov ecx,0100h\n@@2:\n\tloop @@2\n\tin al,0A1h\n\tmov gdwPIC8259Shield_2,al\n\tmov ecx,0100h\n@@3:\n\tloop @@3\n@@4:\n\tmov gbIsSaveInterruptShieldRegister,1\n@@5:\n\tcmp gbIsUseAPIC,0\n\tjz @@6\n\tmov eax,gdwLocalAPICLineAddress\n\tmov dword ptr [eax+080h],0ffh\n\tjmp @@Quit\n@@6:\n\tmov al,0ffh\n\tout 021h,al\n\tmov ecx,0100h\n@@7:\n\tloop @@7\n\tout 0A1h,al\n\tmov ecx,0100h\n@@8:\n\tloop @@8\n\tin al,021h\n\tmov ecx,0100h\n@@9:\n\tloop @@9\n\tin al,0A1h\n\tmov ecx,0100h\n@@10:\n\tloop @@10\n@@Quit:\n\tpopad\n\tret\nSyserDisableAllHardInterrupt\tENDP\n\n;VOID SyserEnableAllHardInterrupt(VOID);\nSyserEnableAllHardInterrupt\tPROC\n\tpushad\n\tpush ds\n\tpush es\n\tmov ax,NT_DS\n\tmov ds,ax\n\tmov es,ax\n\tcmp gbIsSaveInterruptShieldRegister,0\n\tjz @@Quit\n\tcmp gbIsUseAPIC,0\n\tjz @@IsUseAPICElse\n\tinvoke RestoreIOAPICInterruptVectorTable\n\tmov eax,gdwLocalAPICLineAddress\n\tmov ebx,gdwLocalAPICTaskPriority\n\tmov [eax+080h],ebx\n\tjmp @@IfEnd\t\t\n@@IsUseAPICElse:\n\tmov al,gdwPIC8259Shield_1\n\tout 021h,al\t\t\t\t\n\tmov ecx,0100h\n@@1:\n\tloop @@1\t\t\t\t\n\tmov al,gdwPIC8259Shield_2\n\tout 0A1h,al\t\t\t\t\n\tmov ecx,0100h\n@@2:\t\t\t\n\tloop @@2\t\t\t\n@@IfEnd:\n\tmov gbIsSaveInterruptShieldRegister,0\n@@Quit:\n\tpop es\n\tpop ds\n\tpopad\n\tret\nSyserEnableAllHardInterrupt\tENDP\n\n;\n;\tServices.cpp\n;\n\n;VOID SyserInt2dProc(VOID);\nSyserInt2dProc\tPROC\n\tpushad\n\tpush ds\n\tpush es\n\tpush fs\n\tmov bp,NT_DS\n\tmov ds,bp\n\tmov es,bp\n\tmov bp,NT_FS\n\tmov fs,bp\n\tmov ebp,esp\n\tsub esp,12\n\tmov [ebp],eax;\t;SrvID\n\tmov [ebp-4],ecx\t;Arg1\n\tmov [ebp-8],edx\t;Arg2\n\tcmp eax,3\n\tjnz @@Case4\n\tjmp @@EndSwitch\n@@Case4:\n\tcmp eax,4\n\tjnz @@EndSwitch\n\tinvoke UnloadSystemModuleSymbols,[ebp-4],[ebp-8]\n@@EndSwitch:\n\tmov esp,ebp\n\tpop fs\n\tpop es\n\tpop ds\n\tpopad\n\tret\nSyserInt2dProc\tENDP\n\n;VOID SyserSofticeDriverEntryExitCallBack(VOID);\nSyserSofticeDriverEntryExitCallBack\tPROC\n\tpushad\n\tpushfd\n\tinvoke SyserGetInstallDebug\n\ttest eax,eax\n\tjnz @@1\n\tlea eax,SofticeDriverEntryExitCallBackStrW\n\tpush eax\n\tpush 296\n\tpush 2\n\tcall SyserDbgPrint\n\tadd esp,12\n@@1:\n\tmov gSofticeDriverEntry,0\n\tpopad\n\tpopfd\n\tpush ss:gSofticeDriverEntryReturnAddress\n\tret\nSyserSofticeDriverEntryExitCallBack\tENDP\n\n;\n;\tPIC_8259.cpp\n;\n\n;VOID SyserEnablePIC8259HardWareInterrupt(DWORD arg);\nSyserEnablePIC8259HardWareInterrupt\tPROC arg\n\tcmp arg,08h\n\tjnb @@Else\n\tpush ebx\n\tpush eax\n\tmov ebx,arg\n\tin al,021h\n\tpush ecx\n\tmov ecx,0100h\n@@1:\n\tloop @@1\n\tpop ecx\n\tbtr eax,ebx\n\tout 021h,al\n\tpush ecx\n\tmov ecx,0100h\n@@2:\n\tloop @@2\n\tpop ecx\n\tpop eax\n\tpop ebx\n\tjmp @@Quit\n@@Else:\n\tmov eax,arg\n\tsub eax,8\n\tmov arg,eax\n\tpush ebx\n\tpush eax\n\tpush ecx\n\tmov ebx,arg\n\tin al,0A1h\n\tmov ecx,0100h\n@@3:\n\tloop @@3\n\tbtr eax,ebx\n\tout 0A1h,al\n\tmov ecx,0100h\n@@4:\n\tloop @@4\n\tin al,021h\n\tmov ecx,0100h\n@@5:\n\tloop @@5\n\tand al,0FBh\n\tout 021h,al\n\tmov ecx,0100h\n@@6:\n\tloop @@6\n\tpop ecx\n\tpop eax\n\tpop ebx\n@@Quit:\n\tret\nSyserEnablePIC8259HardWareInterrupt\tENDP\n\n;VOID SyserSet8259EOI(DWORD dwInterruptNum);\nSyserSet8259EOI\tPROC dwInterruptNum\n\tcmp dwInterruptNum,010h\n\tjnb @@Quit\n\tcmp dwInterruptNum,8\n\tjb @@Else\n\tpush eax\n\tpush ecx\n\tmov eax,dwInterruptNum\n\tsub eax,8\n\tadd eax,060h\n\tout 0A0h,al\n\tmov ecx,0200h\n@@2:\n\tloop @@2\n\tmov al,062h\n\tout 020h,al\n\tmov ecx,0200h\n@@3:\n\tloop @@3\n\tpop ecx\n\tpop eax\n\tjmp @@Quit\t\n@@Else:\n\tpush eax\n\tmov eax,dwInterruptNum\n\tadd eax,060h\n\tout 020h,al\n\tpush ecx\n\tmov ecx,0200h\n@@1:\n\tloop @@1\n\tpop ecx\n\tpop eax\n@@Quit:\n\tret\nSyserSet8259EOI\tENDP\n\n;VOID SyserSaveExceptionRegister(VOID);\nSyserSaveExceptionRegister\tPROC\n\tpush ebp\n\tmov ebp,esp\n\tsub esp,4\n\tmov [ebp - 4],0\n@@002:\n\tinc dword ptr [ebp-4]\n\tcmp [ebp-4],01000h\n\tjg @@3\n\tlock bts dword ptr gExceptionSpinLock,01Fh\n\tjb @@002\n@@003:\n\tpush eax\n\tpush ds\n\tmov eax,010h\n\tmov ds,ax\n\tmov eax,[esp+4]\n\tmov ExceptionTmpReg.GeneReg[EAX_IDX*4],eax \n\txor eax,eax\n\tmov eax,[esp]\n\tmov ExceptionTmpReg.SegReg[DS_IDX*2],ax \n\tmov ExceptionTmpReg.GeneReg[ECX_IDX*4],ecx \n\tmov ExceptionTmpReg.GeneReg[EDX_IDX*4],edx \n\tmov ExceptionTmpReg.GeneReg[EBX_IDX*4],ebx \n\tmov ExceptionTmpReg.GeneReg[ESI_IDX*4],esi \n\tmov ExceptionTmpReg.GeneReg[EDI_IDX*4],edi \n\tmov eax,[ebp+0]\n\tmov ExceptionTmpReg.GeneReg[EBP_IDX*4],eax\t\t\n\tmov eax,[ebp+018h]\n\tmov ExceptionTmpReg.SegReg[CS_IDX*2],ax \n\ttest ax,03h\n\tjz @@2\n\tmov eax,[ebp+020h] \n\tmov ExceptionTmpReg.GeneReg[ESP_IDX*4],eax\n\tmov eax,[ebp+024h]\n\tmov ExceptionTmpReg.SegReg[SS_IDX*2],ax \n\tjmp @@3\n@@2:\n\tlea eax,[ebp+020h]\n\tmov ExceptionTmpReg.GeneReg[ESP_IDX*4],eax\n\tmov ax,ss\n\tmov ExceptionTmpReg.SegReg[SS_IDX*2],ax \n@@3:\n\txor eax,eax \n\tmov ax,fs\n\tmov ExceptionTmpReg.SegReg[FS_IDX*2],ax \n\tmov ax,es\n\tmov ExceptionTmpReg.SegReg[ES_IDX*2],ax \n\tmov ax,gs\n\tmov ExceptionTmpReg.SegReg[GS_IDX*2],ax\n\tmov eax,[ebp+010h]\n\tmov ExceptionTmpReg.ExceptionInterruptErrorCode,eax \n\tmov eax,[ebp+08h]\n\tmov ExceptionTmpReg.ExceptionInterruptNumber,eax\n\tmov eax,[ebp+014h]\n\tmov ExceptionTmpReg.EIP,eax \n\tmov eax,[ebp+01Ch]\n\tmov ExceptionTmpReg.EFlags,eax \n\tpop ds \n\tpop eax\n\tpushad\n\tpushfd \n\tcld\n\tcall SyserbIsgpSyserValid\n\ttest al,al\n\tjz @@EndIf\n\tcall SyserbIsgpSyserValid\n\ttest al,al\n\tjz @@EndIf\n\tcall GetCurrentCPULocalAPICID\n\tmov gExceptionCurrentCpuID,eax\n\tcall SyserGetSysInfoSyserBase\n\tcmp ExceptionTmpReg.EIP,eax\n\tjb @@IfBody\n\tcall SyserGetSysInfoSyserHighBase\n\tcmp ExceptionTmpReg.EIP,eax\n\tjnb @@IfBody\n\tjmp @@EndIf\n@@IfBody:\n\tmov eax,gExceptionCurrentCpuID\n\tmov ecx,SIZEOF X86REGCONTEXT\n\timul ecx\n\tadd eax,ExceptionReg\n\tmov edi,eax\n\tlea esi,ExceptionTmpReg\n\trep movsb\n@@EndIf:\n\tlock btr dword ptr gExceptionSpinLock,01Fh\n\tpopfd\n\tpopad \n\tmov esp,ebp\n\tpop ebp\n\tret\nSyserSaveExceptionRegister\tENDP\n\n;VOID SyserSerialCom1Com3Proc(VOID);\nSyserSerialCom1Com3Proc\tPROC\n\tpushfd\n\tcmp cs:gbActive,1\n\tjz @@001\n\tpopfd\n\tret\n@@001:\n\tpushad\n\tpush ds\n\tpush es\n\tmov eax,010h\n\tmov ds,ax\n\tmov es,ax\n\tinvoke SetInteruptEOI,4\n\tpop es\n\tpop ds\n\tpopad\n\tpopfd\n\tlea esp,[esp+4]\n\tiretd\nSyserSerialCom1Com3Proc\tENDP\n\n;VOID SyserSerialCom2Com4Proc(VOID);\nSyserSerialCom2Com4Proc\tPROC\n\tpushfd\t\n\tcmp cs:gbActive,1\n\tjz @@001\n\tpopfd\n\tret\n@@001:\n\tpushad\n\tpush ds\n\tpush es\n\tmov eax,010H\n\tmov ds,ax\n\tmov es,ax\n\tinvoke SetInteruptEOI,3;\n\tpop es\n\tpop ds\t\t\n\tpopad\n\tpopfd\n\tlea esp,[esp+4]\n\tiretd\nSyserSerialCom2Com4Proc\tENDP\n\n;VOID SyserInterrupt_0xFB_Com1_Com3_Service(VOID);\nSyserInterrupt_0xFB_Com1_Com3_Service\tPROC\n\tpushfd\n\tcmp cs:gbActive,0\n\tjnz @@2\n\tpopfd\n\tret\n@@2:\n\tpopfd\n\tpush cs:SyserSerialCom1Com3Proc\n\tret\nSyserInterrupt_0xFB_Com1_Com3_Service\tENDP\n\n;VOID SyserInterrupt_0xFC_Com2_Com4_Service(VOID);\nSyserInterrupt_0xFC_Com2_Com4_Service\tPROC\n\tpushfd\n\tcmp cs:gbActive,0\n\tjnz @@2\n\tpopfd\n\tret\n@@2:\n\tpopfd\n\tpush cs:SyserSerialCom2Com4Proc\n\tret\nSyserInterrupt_0xFC_Com2_Com4_Service\tENDP\n\n;\n;\tSerialMouse.cpp\n;\n\n;VOID SyserSerialMouseInterruptService(VOID);\nSyserSerialMouseInterruptService\tPROC\n\tcmp cs:dwOldInterruptF9,1\n\tjnz @@007\n\tmov ss:dwOldInterruptF9,0\n\tpush cs:dwInterruptF9Address\n\tret\n@@007:\n\tcmp cs:gbActive,1\n\tjz @@1\n\tpush dword ptr cs:stKeyGlobalVariable.dwOldMouseInterrupt\n\tret\t\t\n@@1:\n\tpushad\n\tpushfd\t\t\t\n\tpush ds\n\tmov edx,wSerialMousePort\n\tlea edx,[edx+5]\n\tin al,dx\n\tmov byte3FD,al\n\tlea edx,[edx-5]\n\tin al,dx\t\n\tmov stKeyGlobalVariable.chCurrentMouseData,al\n\tcall SyserSerialMouseInterruptServiceInternal\n\tinvoke SetInteruptEOI,3\n\tpop ds\n\tpopfd\n\tpopad\n\tiretd\nSyserSerialMouseInterruptService\tENDP\nEND\n"
  },
  {
    "path": "Project/Syser/i386/interrupt-x86.inc",
    "content": ";\t/*\n;\t\tжص\n;\t\t\n;\t\tʮ\n;\t\tQQ:764439262\n;\t*/\n\nNT_CS\tEQU\t08h\nNT_UCS\tEQU\t01bh\nNT_DS\tEQU\t023h\nNT_FS\tEQU 030h\n\n;DR6\nDR6_BD\tEQU\t02000h\nDR6_BS\tEQU\t04000h\nDR6_BT\tEQU\t08000h\n\nDR6_NOT_BD\tEQU\t\t0FFFFDFFFh\nDR6_NOT_BS\tEQU\t\t0FFFFBFFFh\nDR6_NOT_BT\tEQU\t\t0FFFF7FFFh\n\nCR4_VME_BIT_MASK\tEQU\t\t01h\nCR4_PVI_BIT_MASK\tEQU\t\t02h\nCR4_TSD_BIT_MASK\tEQU\t\t04h\nCR4_DE_BIT_MASK\t\tEQU\t\t08h\nCR4_PSE_BIT_MASK\tEQU\t\t010h\nCR4_PAE_BIT_MASK\tEQU\t\t020h\nCR4_MCE_BIT_MASK\tEQU\t\t040h\nCR4_PGE_BIT_MASK\tEQU\t\t080h\nCR4_PCE_BIT_MASK\tEQU\t\t0100h\nCR4_OSFXSR_BIT_MASK\tEQU\t\t0200h\nCR4_OSXMMEXCPT_BIT_MASK\tEQU 0400h"
  },
  {
    "path": "Project/Syser/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/Syser/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SyserApp/Source/AnalyseCom.cpp",
    "content": "// AnalyseCom.cpp : Defines the entry point for the console application.\n//\n\n#include \"stdafx.h\"\n\n// ddd1.cpp : Defines the entry point for the console application.\n//\n#include \"AnalyseCom.h\"\n\n//#include \"stdafx.h\"\n//#include <OAIdl.h>\n//#include <OleAuto.h>\n//#include <list>\n//#include <map>\n//#include <string>\n//#include <objbase.h>\n//using namespace std;\n//#define _CRT_SECURE_NO_WARNINGS\n//\n//typedef HRESULT (__stdcall *  DLLREGISTERSERVER)();\n//typedef HRESULT (__stdcall *  DLLUNREGISTERSERVER)();\n//typedef struct _COM_CLASS\n//{\n//\tint\t\t\tindex;\n//\tIUnknown* pIunknow;\n//}COM_CLASS,*PCOM_CLASS;\n//\n//typedef map<string,COM_CLASS> INTERFACE_MAP;\n//typedef map<string,DWORD> COMSYMBOL_MAP;\n//\n//\n//int Usage(_TCHAR* name)\n//{\n//\tint j=-1;\n//\tfor(int i=0;name[i];i++)\n//\t{\n//\t\tif(name[i]=='\\\\')\n//\t\t\tj=i;\n//\t}\n//\n//\tfprintf(stderr,\"Websense com symbol analyse version 1.0.0\\n\");\n//\tfprintf(stderr,\"(C) Websense Corporation, 2002-2009\\n\\n\");\n//\tfprintf(stderr,\"Usages: %S comfilename\\n\",name+j+1);\n//\treturn 0;\n//}\n//int GetComSymbols(char* dllname,COMSYMBOL_MAP& symmap);\n//int _tmain(int argc, _TCHAR* argv[])\n//{\n//\treturn 0;\n//}\nint GetComSymbols(char* dllname,COMSYMBOL_MAP& symmap)\n{\n\tchar* libname;\n\tchar funcname[0x200];\n\tITypeLib * pLib;\n\tHRESULT result;\n\tchar claid[500];\n\tTYPEATTR* pTypeAddr;\n\tITypeInfo* pTypeInfo;\n\tWCHAR oleName[MAX_PATH];\n\tDLLREGISTERSERVER fpDllRegisterServer=NULL;\n\tDLLUNREGISTERSERVER fpDllUnregisterServer=NULL;\n\tHMODULE hModule=NULL;\n\tFUNCDESC* FuncDesc;\n\tLPOLESTR wClsid;\n\tBSTR FuncName;\n\tIUnknown* IUnknow1;\t\n\tCOM_CLASS ComClass;\n\tINTERFACE_MAP::iterator BeginIT,EndIT;\n\tINTERFACE_MAP InterfaceMap;\n\tsprintf(claid,\"%s\",dllname);\n\tlibname=claid;\t\n\t\n\thModule = LoadLibrary(libname);;\n\n\tif(hModule)\n\t{\n\t\tfpDllRegisterServer =(DLLREGISTERSERVER) GetProcAddress(hModule,\"DllRegisterServer\");\n\t\tfpDllUnregisterServer =(DLLUNREGISTERSERVER) GetProcAddress(hModule,\"DllUnregisterServer\");\n\t}\n\tresult = LoadTypeLibEx(oleName,REGKIND_DEFAULT,&pLib);\t\n\tif(result!=0)\n\t\treturn 0;\n\tCoInitialize(NULL);\n\t{\t\n\t\tUINT count=0;\n\t\tUINT i;\n\t\tcount = pLib->GetTypeInfoCount();\n\t\tfor(i=0;i<count;i++)\n\t\t{\n\t\t\tresult = pLib->GetTypeInfo(i,&pTypeInfo);\n\t\t\tif(result==0)\n\t\t\t{\n\n\t\t\t\tif(pTypeInfo->GetTypeAttr(&pTypeAddr)>=0)\n\t\t\t\t{\t\n\t\t\t\t\tif(pTypeAddr->typekind==TKIND_COCLASS)\n\t\t\t\t\t{\t\t\t\t\t\t\n\t\t\t\t\t\tStringFromCLSID(pTypeAddr->guid,&wClsid);\n\t\t\t\t\t\tresult=0;\n\t\t\t\t\t\tsprintf(claid,\"%S\",wClsid);\n\t\t\t\t\t\tresult = CoCreateInstance(pTypeAddr->guid,NULL,    CLSCTX_INPROC_SERVER |CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER,  IID_IUnknown,(LPVOID*)&IUnknow1);\n\t\t\t\t\t\tif(result == REGDB_E_CLASSNOTREG && fpDllRegisterServer)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfpDllRegisterServer();\n\t\t\t\t\t\t\tresult = CoCreateInstance(pTypeAddr->guid,NULL,    CLSCTX_INPROC_SERVER |CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER, IID_IUnknown,(LPVOID*)&IUnknow1);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(result==0 && IUnknow1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tComClass.index=i;\n\t\t\t\t\t\t\tComClass.pIunknow=IUnknow1;\n\t\t\t\t\t\t\tInterfaceMap.insert(INTERFACE_MAP::value_type(claid,ComClass));\n\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tpTypeInfo->ReleaseTypeAttr(pTypeAddr);\t\t\n\t\t\t\t}\n\t\t\t\tpTypeInfo->Release();\n\t\t\t}\n\n\t\t}\n\n\t\tfor(i=0;i<count;i++)\n\t\t{\n\t\t\tresult = pLib->GetTypeInfo(i,&pTypeInfo);\n\t\t\tif(result==0)\n\t\t\t{\t\t\t\t\n\t\t\t\tif(pTypeInfo->GetTypeAttr(&pTypeAddr)>=0)\n\t\t\t\t{\n\n\t\t\t\t\tif(pTypeAddr->cFuncs)\n\t\t\t\t\t{\n\t\t\t\t\t\tStringFromCLSID(pTypeAddr->guid,&wClsid);\n\t\t\t\t\t\tresult=0;\n\t\t\t\t\t\tsprintf(claid,\"%S\",wClsid);\n\t\t\t\t\t\tprintf(\"%s\\n\",claid);\n\t\t\t\t\t\tfor(WORD j=0;j<pTypeAddr->cFuncs;j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(pTypeInfo->GetFuncDesc(j,&FuncDesc)>=0)\n\t\t\t\t\t\t\t{\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif(pTypeInfo->GetDocumentation(FuncDesc->memid,&FuncName,NULL,NULL,NULL)>=0)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsprintf(funcname,\"%S\",FuncName);\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\t\t\tSysFreeString(FuncName);\n\t\t\t\t\t\t\t\t\tBeginIT=InterfaceMap.begin();\n\t\t\t\t\t\t\t\t\tEndIT=InterfaceMap.end();\n\t\t\t\t\t\t\t\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tPVOID pObject;\n\t\t\t\t\t\t\t\t\t\tresult = BeginIT->second.pIunknow->QueryInterface(pTypeAddr->guid,&pObject);\n\t\t\t\t\t\t\t\t\t\tif(result>=0)\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tDWORD **pvt = (DWORD**)pObject;\n\t\t\t\t\t\t\t\t\t\t\tDWORD * pfvt=pvt[0];\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tDWORD offset=pfvt[FuncDesc->oVft/4];\n\t\t\t\t\t\t\t\t\t\t\toffset-=*(DWORD*)&hModule;\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tsymmap.insert(COMSYMBOL_MAP::value_type(funcname,offset));\n\t\t\t\t\t\t\t\t\t\t\tbreak;\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tpTypeInfo->ReleaseFuncDesc(FuncDesc);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t//if(pTypeAddr->cVars)\n\t\t\t\t\t//{\n\t\t\t\t\t//\tfor(WORD m=0;m<pTypeAddr->cVars;m++)\n\t\t\t\t\t//\t{\n\t\t\t\t\t//\t\t\n\t\t\t\t\t//\t\tif(pTypeInfo->GetVarDesc(m,&VarDesc)>=0)\n\t\t\t\t\t//\t\t{\n\t\t\t\t\t//\t\t\tif(pTypeInfo->GetDocumentation(VarDesc->memid,&VarName,NULL,NULL,NULL)>=0)\n\t\t\t\t\t//\t\t\t{\n\t\t\t\t\t//\t\t\t\tprintf(\"var %ws   %d  \\n\",VarName,VarDesc->varkind);\n\t\t\t\t\t//\t\t\t}\n\t\t\t\t\t//\t\t}\n\t\t\t\t\t//\t}\n\t\t\t\t\t//}\n\t\t\t\t\t//if(pTypeAddr->cImplTypes)\n\t\t\t\t\t//{\n\t\t\t\t\t//\tHREFTYPE hRefType;\n\t\t\t\t\t//\tfor(WORD n=0;n<pTypeAddr->cImplTypes;n++)\n\t\t\t\t\t//\t{\n\t\t\t\t\t//\t\tif(pTypeInfo->GetRefTypeOfImplType(n,&hRefType)>=0)\n\t\t\t\t\t//\t\t{\n\t\t\t\t\t//\t\t\tprintf(\"[%d] GetRefTypeOfImplType %x\\n\",n,hRefType);\n\t\t\t\t\t//\t\t}\n\t\t\t\t\t//\t}\n\t\t\t\t\t//}\n\t\t\t\t}\n\t\t\t\tpTypeInfo->ReleaseTypeAttr(pTypeAddr);\n\t\t\t\tpTypeInfo->Release();\n\t\t\t}\n\t\t}\n\t}\n\n\tpLib->Release();\n\tFreeLibrary(hModule);\n\tBeginIT=InterfaceMap.begin();\n\tEndIT=InterfaceMap.end();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tBeginIT->second.pIunknow->Release();\n\t}\n\tInterfaceMap.clear();\n\tCoUninitialize();\n\treturn symmap.size();\n}\n\n\n\n"
  },
  {
    "path": "Project/SyserApp/Source/AnalyseCom.h",
    "content": "\n#ifndef __ANALYSECOM_H__\n#define __ANALYSECOM_H__\n\n\n#include <OAIdl.h>\n#include <OleAuto.h>\n#include <list>\n#include <map>\n#include <string>\n\nusing namespace std;\n#define _CRT_SECURE_NO_WARNINGS\n\ntypedef HRESULT (__stdcall *  DLLREGISTERSERVER)();\ntypedef HRESULT (__stdcall *  DLLUNREGISTERSERVER)();\ntypedef struct _COM_CLASS\n{\n\tint\t\t\tindex;\n\tIUnknown* pIunknow;\n}COM_CLASS,*PCOM_CLASS;\n\ntypedef map<string,COM_CLASS> INTERFACE_MAP;\ntypedef map<string,DWORD> COMSYMBOL_MAP;\nint GetComSymbols(char* dllname,COMSYMBOL_MAP& symmap);\n\n#endif //__ANALYSECOM_H__\n"
  },
  {
    "path": "Project/SyserApp/Source/DXTest.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"DXTest.h\"\n#include \"SyserApp.h\"\n\nCSyserDX::CSyserDX()\n{\n\tm_pDD4=NULL;\n\tm_pDD=NULL;\n\tm_pFrameSurfacer=NULL;\n}\n\n\nbool CSyserDX::Init()\n{\n\tHRESULT hResult;\n\thResult=DirectDrawCreate(NULL, &m_pDD, NULL);\n\tif(hResult!=DD_OK)\n\t\tgoto FailExit;\n\thResult=m_pDD->QueryInterface(IID_IDirectDraw4,(LPVOID*)&m_pDD4);\n\tif(hResult!=DD_OK)\n\t{\n\t\tm_pDD->Release();\n\t\tgoto FailExit;\n\t}\n\tm_pDD4->SetCooperativeLevel(NULL,DDSCL_NORMAL);\n\treturn true;\nFailExit:\n\tOUTPUT(WSTR(\"%<F>SyserLoader : Your video driver doesn't support direct draw!\\n\"));\n\tOUTPUT(WSTR(\"%<F>SyserLoader : Syser could't lock frame buffer!\\n\"));\n\treturn false;\n}\n\nvoid CSyserDX::LockFrameSurfacer()\n{\n\tHRESULT hResult;\n\tDDSURFACEDESC2 SurfaceDesc;\n\n\tif(m_pDD4==NULL)\n\t\treturn;\n\n\tUnlockFrameSurfacer();\n\n\tSTZeroMemory(SurfaceDesc);\n\tSurfaceDesc.dwSize = sizeof(SurfaceDesc);\n\tSurfaceDesc.dwFlags = DDSD_CAPS;\n\tSurfaceDesc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;\n\thResult=m_pDD4->CreateSurface(&SurfaceDesc,&m_pFrameSurfacer,NULL);\n\tif(hResult!=DD_OK)\n\t{\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Fail to create surface !\\n\"));\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Your video driver doesn't support direct draw!\\n\"));\n\t\treturn;\n\t}\n\n\thResult=m_pFrameSurfacer->Lock(NULL,&SurfaceDesc,DDLOCK_SURFACEMEMORYPTR,NULL);\n\tif(hResult!=DD_OK)\n\t{\n\t\tm_pFrameSurfacer->Release();\n\t\tm_pFrameSurfacer=NULL;\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Fail to lock surface !\\n\"));\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Your video driver doesn't support direct draw!\\n\"));\n\t\treturn;\n\t}\n\n\tDWORD cbReturn;\n\tSYSER_CORRECT_VIDEO_PARAM CorrectVideoParam;\n\tCorrectVideoParam.Pitch= SurfaceDesc.lPitch;\n\tCorrectVideoParam.Width = SurfaceDesc.dwWidth;\n\tCorrectVideoParam.Height = SurfaceDesc.dwHeight;\n\tCorrectVideoParam.Bpp = SurfaceDesc.ddpfPixelFormat.dwRGBBitCount;\n\tCorrectVideoParam.FrameBuffer = SurfaceDesc.lpSurface;\n\tCorrectVideoParam.BufferSize = SurfaceDesc.dwHeight * SurfaceDesc.lPitch;\n\tCorrectVideoParam.PID = GetCurrentProcessId();\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser!=INVALID_HANDLE_VALUE)\n\t{\n\t\tOUTPUT(WSTR(\"SyserLoader : Notify Syser Kernel Debugger current display mode !\\n\"));\n\t\tDeviceIoControl(hSyser,IOCTL_SYSER_CORRECT_VIDEO_PARAM,&CorrectVideoParam,sizeof(CorrectVideoParam),NULL,0,&cbReturn,NULL);\n\t\tCloseHandle(hSyser);\n\t}\n\n}\n\nvoid CSyserDX::UnlockFrameSurfacer()\n{\n\tif(m_pFrameSurfacer)\n\t{\n\t\tm_pFrameSurfacer->Unlock(NULL);\n\t\tm_pFrameSurfacer->Release();\n\t\tm_pFrameSurfacer=NULL;\n\t}\n}\n\nvoid CSyserDX::Release()\n{\n\tSafeRelease(m_pDD4);\n\tSafeRelease(m_pDD);\n}\n\n"
  },
  {
    "path": "Project/SyserApp/Source/DXTest.h",
    "content": "#ifndef _DX_TEST_H_\n#define _DX_TEST_H_\n\nclass CSyserDX\n{\npublic:\n\tCSyserDX();\n\tbool Init();\n\tvoid Release();\n\tvoid LockFrameSurfacer();\n\tvoid UnlockFrameSurfacer();\npublic:\n\tLPDIRECTDRAW4\tm_pDD4;\n\tLPDIRECTDRAW\tm_pDD;\n\tLPDIRECTDRAWSURFACE4 m_pFrameSurfacer;\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/SyserApp/Source/DbgMsgFilter.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n#include \"DbgMsgFilter.h\"\n\n\nenum CDbgMsgFilterForm::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_CONTAIN_TEXT = WISP_ID_USER_START,\n\tCMD_ID_EDIT_NOT_CONTAIN_TEXT,\n\tCMD_ID_BT_RESET,\n\tCMD_ID_STATIC_TEXT\n};\n\nWISP_FORM_RES_ITEM CDbgMsgFilterForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,180},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Debug Message Filter (Supported ?*)\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,370,50},\n\t\tCMD_ID_STATIC_TEXT,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Display only message contain one or more of these\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,30,350,16},\n\t\tCMD_ID_EDIT_CONTAIN_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,70,370,50},\n\t\tCMD_ID_STATIC_TEXT,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Don't show message contain one or more of these\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,90,350,16},\n\t\tCMD_ID_EDIT_NOT_CONTAIN_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{125,130,60,18},\n\t\tCMD_ID_BT_RESET,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Reset\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{215,130,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CDbgMsgFilterForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_EVENT_MAP_BEGIN(CDbgMsgFilterForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BT_RESET,OnReset)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CDbgMsgFilterForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\nCDbgMsgFilterForm::CDbgMsgFilterForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCDbgMsgFilterForm::~CDbgMsgFilterForm()\n{\n\n}\n\nbool CDbgMsgFilterForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tWISP_CHAR wszBuffer[256];\n\tm_pContainWnd = GetFormItem(CMD_ID_EDIT_CONTAIN_TEXT);\n\tm_pNotContainWnd = GetFormItem(CMD_ID_EDIT_NOT_CONTAIN_TEXT);\n\n\tTStrCpy(m_szContain,\"*\");\n\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Inc\",m_szContain,sizeof(m_szContain));\n\tAnsiToUnicode(m_szContain,wszBuffer,256);\n\tm_pContainWnd->SetWindowText(wszBuffer);\n\n\t*m_szNotContain = 0;\n\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Exc\",m_szNotContain,sizeof(m_szNotContain));\n\tAnsiToUnicode(m_szNotContain,wszBuffer,256);\n\tm_pNotContainWnd->SetWindowText(wszBuffer);\n\treturn true;\n}\n\n\nbool CDbgMsgFilterForm::OnReset(IN WISP_MSG*pMsg)\n{\n\tm_pContainWnd->SetWindowText(WSTR(\"*\"));\n\tm_pNotContainWnd->SetWindowText(WSTR(\"\"));\n\treturn true;\n}\n\nbool CDbgMsgFilterForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tCWispString*pStr;\n\tchar szContain[256];\n\tchar szNotContain[256];\n\tif(pMsg->Command.CmdMsg != WISP_CMD_BT_UP)\n\t\treturn true;\n\tpStr = &m_pContainWnd->GetWindowText();\n\tUnicodeToAnsi(*pStr,szContain,256);\n\tpStr = &m_pNotContainWnd->GetWindowText();\n\tUnicodeToAnsi(*pStr,szNotContain,256);\n\tif(TStrICmp(szContain,m_szContain)==0 && TStrICmp(szNotContain,m_szNotContain)==0)\n\t\treturn true;\n\tif(TStrICmp(szContain,\"*\")==0 && *szNotContain==0)\n\t{\n\t\tDelRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Inc\");\n\t\tDelRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Exc\");\n\t}\n\telse\n\t{\n\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Inc\",szContain,REG_SZ);\n\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\SDbgMsg\\\\Exc\",szNotContain,REG_SZ);\n\t}\n\ttheApp.m_SyserInterface.ChangeMsgFilter();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/DbgMsgFilter.h",
    "content": "#ifndef _DBG_MSG_FILTER_H_\n#define _DBG_MSG_FILTER_H_\n\nclass CDbgMsgFilterForm : public CWispForm\n{\npublic:\n\tCDbgMsgFilterForm();\n\t~CDbgMsgFilterForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnReset)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK)\n\tCWispBaseWnd*m_pContainWnd;\n\tCWispBaseWnd*m_pNotContainWnd;\n\tchar\tm_szContain[256];\n\tchar\tm_szNotContain[256];\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/LoadIDAMapFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OpenFileForm.h\"\n#include \"SyserApp.h\"\n\nenum CLoadIDAMapForm::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_TEXT = WISP_ID_USER_START,\n\tCMD_ID_COMMAND_LINE_TEXT,\n\tCMD_ID_STATIC_TEXT,\n\tCMD_ID_BROWSE_MAP_FILE,\n\tCMD_ID_BROWSE_MODULE,\n\tCMD_ID_TRANSLATE_SYMBOL,\n\tCMD_ID_DEPENDENT_SYMBOL,\n\tCMD_ID_AUTO_UNLOAD_SYMBOL,\n};\n\nWISP_FORM_RES_ITEM CLoadIDAMapForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,180},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Load IDA map file to syser\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{15,30,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\SrcExplorer.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,370,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"IDA map file\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,30,250,16},\n\t\tCMD_ID_EDIT_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{15,90,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Process.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,70,370,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Map file corresponding module\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,90,250,16},\n\t\tCMD_ID_COMMAND_LINE_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{310,30,60,18},\n\t\tCMD_ID_BROWSE_MAP_FILE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{310,90,60,18},\n\t\tCMD_ID_BROWSE_MODULE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t},\n/*\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,125,370,100},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,145,270,20},\n\t\tCMD_ID_TRANSLATE_SYMBOL,\n\t\tWISP_CBS_NORMAL|WISP_WS_MARKED,\n\t\tWSTR(\"Translate&Load it's SDS\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,170,270,20},\n\t\tCMD_ID_DEPENDENT_SYMBOL,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Translate&Load dependent module's SDS\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,195,270,20},\n\t\tCMD_ID_AUTO_UNLOAD_SYMBOL,\n\t\tWISP_CBS_NORMAL|WISP_WS_MARKED,\n\t\tWSTR(\"Unload SDS when module unload\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{325,145,32,32},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:1\"\n\t},\n\t\n*/\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{100,130,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Ok\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{240,130,60,18},\n\t\tWISP_ID_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Cancel\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CLoadIDAMapForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_EVENT_MAP_BEGIN(CLoadIDAMapForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BROWSE_MAP_FILE,OnEventBrowseMapFile)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BROWSE_MODULE,OnEventBrowseModule)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(CLoadIDAMapForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\n\nbool CLoadIDAMapForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pMapFileNameEdit = (CWispEdit*) GetFormItem(CMD_ID_EDIT_TEXT);\n\tm_pFileModuleNameEdit  = (CWispEdit*) GetFormItem(CMD_ID_COMMAND_LINE_TEXT);\n\tm_pTransSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_TRANSLATE_SYMBOL);\n\tm_pLoadDepSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_DEPENDENT_SYMBOL);\n\tm_pAutoUnloadSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_AUTO_UNLOAD_SYMBOL);\n\t*m_FileModuleName = 0;\n\t*m_MapFileName = 0;\n\treturn true;\n}\n\nbool CLoadIDAMapForm::OnEventBrowseMapFile(IN WISP_MSG*pMsg)\n{\n\tchar szFileName[MAX_FN_LEN];\n\tWCHAR wszFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"Map Files(map)\\0*.map\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tAnsiToUnicode(szFileName,wszFileName,MAX_FN_LEN);\n\tm_pMapFileNameEdit->SetWindowText(wszFileName);\n\tUpdateClient();\n\treturn true;\n}\n\nbool CLoadIDAMapForm::OnEventBrowseModule(IN WISP_MSG*pMsg)\n{\n\tchar szFileName[MAX_FN_LEN];\n\tWCHAR wszFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"Executable Files(exe;dll;scr;sys)\\0*.exe;*.dll;*.scr;*.sys\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tAnsiToUnicode(szFileName,wszFileName,MAX_FN_LEN);\n\tm_pFileModuleNameEdit->SetWindowText(wszFileName);\n\tUpdateClient();\n\treturn true;\n}\n\nbool CLoadIDAMapForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tUnicodeToAnsi(m_pMapFileNameEdit->GetWindowText(),m_MapFileName,sizeof(m_MapFileName));\n\t\tif(*m_MapFileName==0)\n\t\t\treturn false;\n\t\tif(m_pFileModuleNameEdit->GetWindowText().Length())\n\t\t\tUnicodeToAnsi(m_pFileModuleNameEdit->GetWindowText(),m_FileModuleName,sizeof(m_FileModuleName));\n\t\telse\n\t\t\t*m_FileModuleName=0;\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/LoadIDAMapFile.h",
    "content": "#ifndef _LOAD_IDAMAP_FILE_H_\n#define _LOAD_IDAMAP_FILE_H_\n\nclass CLoadIDAMapForm : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventBrowseMapFile);\n\tDECLARE_WISP_MSG_EVENT(OnEventBrowseModule);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK);\n\tCLoadIDAMapForm(){m_pFormRes = m_FormRes;}\n\tCWispEdit*m_pMapFileNameEdit;\n\tCWispEdit*m_pFileModuleNameEdit;\n\tCWispCheckBox*m_pTransSymCheckBox;\n\tCWispCheckBox*m_pLoadDepSymCheckBox;\n\tCWispCheckBox*m_pAutoUnloadSymCheckBox;\n\tchar\tm_FileModuleName[MAX_FN_LEN];\n\tchar\tm_MapFileName[MAX_FN_LEN];\n};\n\n\n#endif  //_LOAD_IDAMAP_FILE_H_\n"
  },
  {
    "path": "Project/SyserApp/Source/LoadSourceFile.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LoadSourceFile.h\"\n#ifdef _SYSER_\n#include \"../../Syser/Source/Syser.h\"\n#else\n#include \"SyserApp.h\"\n#endif\n\nenum CLoadSourceFileDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_SKIP=WISP_ID_USER_START,\n\tCMD_ID_BUTTON_SKIPALL,\n\tCMD_ID_BUTTON_BROWSE,\n\tCMD_ID_LIST_TYPE,\n\tCMD_ID_RADIOBOX_FLOATTYPE,\n\tCMD_ID_RADIOBOX_LOCKTYPE,\n\tCMD_ID_RADIOBOX_DWORD,\n\tCMD_ID_RADIOBOX_QWORD,\n\tCMD_ID_RADIOBOX_HEX,\n\tCMD_ID_RADIOBOX_DECIMAL,\n\tCMD_ID_STATICSTR_FILENAME,\n\tCMD_ID_STATICSTR_DESCRIPTION,\n\tCMD_ID_EDIT_END_POSITION,\n\tCMD_ID_EDIT_VALUE,\n\tCMD_ID_CHECKBOX_COUNT,\n};\nWISP_FORM_RES_ITEM CLoadSourceFileDlg::m_FormRes[] = \n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,285,144},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER,\n\t\tWSTR(\"Attach Type\"),\n\t\t\"\\\\SyserIcon\\\\Plugin.ico\",\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{13,20,250,16},\n\t\tCMD_ID_STATICSTR_DESCRIPTION,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Unable to locate the following file:\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{13,70,250,16},\n\t\tCMD_ID_STATICSTR_FILENAME,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{13,87,75,21},\n\t\tCMD_ID_BUTTON_SKIP,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Skip\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{99,87,75,21},\n\t\tCMD_ID_BUTTON_SKIPALL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Skip All\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{185,87,75,21},\n\t\tCMD_ID_BUTTON_BROWSE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CLoadSourceFileDlg)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CLoadSourceFileDlg)\n\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CLoadSourceFileDlg)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_SKIP,OnSkipButtonEvent)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_SKIPALL,OnSkipAllButtonEvent)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_BROWSE,OnBrowseButtonEvent)\nWISP_MSG_EVENT_MAP_END\n\nCLoadSourceFileDlg::CLoadSourceFileDlg()\n{\n\tm_pFormRes = m_FormRes;\n\tm_FileName[0]=0;\n}\nCLoadSourceFileDlg::~CLoadSourceFileDlg()\n{\n}\nbool CLoadSourceFileDlg::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_SkipButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_SKIP);\n\tm_SkipAllButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_SKIPALL);\n\tm_BrowseButton=(CWispButton*)GetFormItem(CMD_ID_BUTTON_BROWSE);\n\tm_DesciptionStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_DESCRIPTION);\n\tm_FileNameStr=(CWispStaticStr*)GetFormItem(CMD_ID_STATICSTR_FILENAME);\n\tm_FileNameStr->SetWindowText(m_FileName);\n\treturn true;\n}\n\nbool CLoadSourceFileDlg::OnSkipButtonEvent(IN WISP_MSG* pMsg)\n{\n\tDestroy();\n\tm_Result=1;\n\treturn true;\n}\n\nbool CLoadSourceFileDlg::OnSkipAllButtonEvent(IN WISP_MSG* pMsg)\n{\n\tDestroy();\n\tm_Result=2;\n\treturn true;\n}\n#ifdef _SYSER_\nbool CLoadSourceFileDlg::OnBrowseButtonEvent(IN WISP_MSG* pMsg)\n{\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tWCHAR * FileExtName;\n\tOPENFILENAME OpenFileName;\n\tm_Result=1;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = gpSyser->m_hLocalInst;\n\tOpenFileName.hwndOwner = gpSyser->m_hLocalWnd;\n\tFileExtName = TGetFileName(m_FileName);\n\tTStrCpy(szBuffer,\"Source Files|\");\n\tTStrCat(szBuffer,FileExtName);\n\tTStrCat(szBuffer,\"|\");\n\tm_szFileName[0]=0;\n\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t{\n\t\tif(szBuffer[n]=='|')\n\t\t\tszBuffer[n]=0;\n\t}\n\tOpenFileName.lpstrFilter = szBuffer;\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tgpSyser->LockTimer();\n\tif(GetOpenFileName(&OpenFileName)==TRUE)\n\t{\n\t\tDestroy();\n\t\tm_Result=0;\n\t\tTStrCpy(m_szFileName,OpenFileName.lpstrFile);\n\t}\n\tgpSyser->UnlockTimer();\n\treturn true;\n}\n#else\nbool CLoadSourceFileDlg::OnBrowseButtonEvent(IN WISP_MSG* pMsg)\n{\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tWCHAR * FileExtName;\n\tOPENFILENAME OpenFileName;\n\tm_Result=1;\n\tSTZeroMemory(OpenFileName);\n\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tFileExtName = TGetFileName(m_FileName);\n\tTStrCpy(szBuffer,\"Source Files|\");\n\tTStrCat(szBuffer,FileExtName);\n\tTStrCat(szBuffer,\"|\");\n\tm_szFileName[0]=0;\n\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t{\n\t\tif(szBuffer[n]=='|')\n\t\t\tszBuffer[n]=0;\n\t}\n\tOpenFileName.lpstrFilter = szBuffer;\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\ttheApp.LockTimer();\n\n\tif(GetOpenFileName(&OpenFileName)==TRUE)\n\t{\n\t\tDestroy();\n\t\tm_Result=0;\n\t\tTStrCpy(m_szFileName,OpenFileName.lpstrFile);\n\t}\n\ttheApp.UnlockTimer();\n\treturn true;\n}\n#endif \n\nbool CLoadSourceFileDlg::CreateForm(IN CWispBaseWnd* pParentWnd,IN UINT ShowMode,IN char* FileName)\n{\n\tTStrCpy(m_FileName,FileName);\n\treturn CWispForm::CreateForm(pParentWnd,ShowMode);\n}\n\nint LoadSourceFileCallBack(IN char* OrgFileName,OUT char* NewFileName)\n{\n\treturn 2;\n\tint bRet=0;\n\tchar* pStr;\n#ifdef _SYSER_\n\tif(gpSyser->m_MainFrame.IsWindow()==false)\n\t\treturn 2;\n#else\n\tif(theApp.m_MainFrame.IsWindow()==false)\n\t\treturn 2;\n#endif\n\tpStr = TGetFileName(OrgFileName);\n\tCLoadSourceFileDlg Dlg;\n\tDlg.CreateForm(NULL,WISP_SH_MODAL_BLOCK,pStr);\n\tbRet=Dlg.m_Result;\n\tif(bRet==0)\n\t{\n\t\tTStrCpy(NewFileName,Dlg.m_szFileName);\n\t}\n\treturn bRet;\n}"
  },
  {
    "path": "Project/SyserApp/Source/LoadSourceFile.h",
    "content": "#ifndef _LOADSOURCEFILE_H_\n#define _LOADSOURCEFILE_H_\nclass CLoadSourceFileDlg:public CWispForm\n{\npublic:\n\tCLoadSourceFileDlg();\n\t~CLoadSourceFileDlg();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_EVENT(OnSkipButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnSkipAllButtonEvent)\n\tDECLARE_WISP_MSG_EVENT(OnBrowseButtonEvent)\n\n\tbool CreateForm(IN CWispBaseWnd* pParentWnd,IN UINT ShowMode,IN char* FileName);\npublic:\t\n\tCWispStaticStr* m_DesciptionStr;\n\tCWispStaticStr* m_FileNameStr;\n\tCWispButton*m_SkipButton;\n\tCWispButton*m_SkipAllButton;\n\tCWispButton*m_BrowseButton;\n\tWCHAR m_FileName[MAX_FN_LEN];\n\tchar m_szFileName[MAX_FN_LEN];\n};\nint LoadSourceFileCallBack(IN char* OrgFileName,OUT char* NewFileName);\n#endif //_LOADSOURCEFILE_H_"
  },
  {
    "path": "Project/SyserApp/Source/MainFrame.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n\nWISP_MSG_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_CMD_MAP(WISP_ID_MAIN_TAB,OnMainTabCommand)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_UPDATE_DRIVER_STATE,OnUpdateDriverState)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_MODULE,OnMenuEventLoadModule)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_EXPORT_SYMBOLS,OnMenuEventLoadExportSymbols)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_SYMBOL_SYSERAPP,OnMenuEventLoadSymbol)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_LOAD_IDA_MAP,OnMenuEventLoadIDAMap)\t\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TRANSLATE_SYMBOL,OnMenuEventTranslateSymbol)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_START_SYSER,OnMenuEventStartSyser)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_STOP_SYSER,OnMenuEventStopSyser)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_OPTION,OnMenuEventOption)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BOOT_OPTION,OnMenuEventBootOption)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_VIDEO_DETECT_MODE,OnMenuEventVideoDetectMode)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SYMBIL_DOWNLOADER,OnMenuEventSymDownloader)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DRV_LOADER,OnMenuEventDrvLoader)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_VEUNPACK,OnMenuEventVEUnpack)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EXIT,OnMenuEventExit)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_CHECKNEWVERSION,OnMenuEventCheckNewVersion)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SEND_CLIPBOARD,OnMenuEventSendClipboard)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_RECV_CLIPBOARD,OnMenuEventRecvClipboard)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUG_MESSAGE,OnMenuEventDebugMessage)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUG_MESSAGE_CLEAR,OnMenuEventClearDebugMessage)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUG_MESSAGE_FILTER,OnMenuEventDebugMessageFilter)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BUYNOW,OnMenuEventBuyNow)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REGISTER,OnMenuEventRegister)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_COMMAND_REFERENCE,OnMenuEventCmdRef)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DEBUG_HELP,OnMenuEventDebugHelp)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ABOUT_SYSERAPP,OnMenuEventAboutSyserApp)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_HISTROYS,OnMenuEventSaveHistroys)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_SYSER_HISTROYS,OnMenuEventSaveSyserHistroys)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_SAVE_COMMENTS,OnMenuEventSaveComments)\nWISP_MSG_EVENT_MAP_DEFAULT_END(OnMenuEventRecentFile)\n\nbool CMainFrame::OnMainTabCommand(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventLoadModule(IN WISP_MSG*pMsg)\n{\n\tDWORD Style;\n\tCOpenFileForm\tOpenFileForm;\n\tOpenFileForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tOpenFileForm.Destroy();\n\tif(OpenFileForm.m_Result!=WISP_ID_OK)\n\t\treturn true;\n\tStyle = SDP_NULL;\n\tif(OpenFileForm.m_bTransSym)\n\t\tStyle|=SDP_LOAD_SDS;\n\tif(OpenFileForm.m_bLoadDepSym)\n\t\tStyle|=SDP_LOAD_DEP_SDS;\n\tif(OpenFileForm.m_bAutoUnloadSym)\n\t\tStyle|=SDP_AUTO_UNLOAD_SDS;\n\ttheApp.m_SyserInterface.LoadModule(OpenFileForm.m_Filename,OpenFileForm.m_CmdLine,Style);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventLoadExportSymbols(IN WISP_MSG*pMsg)\n{\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tchar szSymbolFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"PE Module(exe;scr;dll;sys)\\0*.exe;*.scr;*.dll;*.sys\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tGetSystemDirectory(szBuffer,MAX_FN_LEN);\n\tOpenFileName.lpstrInitialDir = szBuffer;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tszSymbolFileName[0]=0;\n\tif(theApp.m_SyserInterface.TranslateExportSymbolFile(szFileName,szSymbolFileName))\n\t{\n\t\ttheApp.m_SyserInterface.LoadSDS(szSymbolFileName);\n\t}\t\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Error : Failed to load export symbols!\\n\"));\n\t}\n\t//theApp.m_SyserInterface.LoadModuleExportSymbols(szFileName);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventLoadSymbol(IN WISP_MSG*pMsg)\n{\t\n\tchar szFileName[MAX_FN_LEN],szDir[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"Symbol Files(*.sds)\\0*.sds\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tOpenFileName.lpstrInitialDir = NULL;\n\tGetModulePath(szDir);\n\tTStrCat(szDir,\"Symbols\");\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\ttheApp.m_SyserInterface.LoadSDS(szFileName);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventLoadIDAMap(IN WISP_MSG*pMsg)\n{\t\n#ifndef __DEMO__VERSION__\n\tCLoadIDAMapForm\tLoadIDAMapForm;\n\tLoadIDAMapForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tLoadIDAMapForm.Destroy();\n\tif(LoadIDAMapForm.m_Result!=WISP_ID_OK)\n\t\treturn true;\n\ttheApp.m_SyserInterface.LoadModuleIDAMapFile(LoadIDAMapForm.m_MapFileName,LoadIDAMapForm.m_FileModuleName);\n#else\n\ttheApp.MsgBox(WSTR(\"Evaluation version limited.\"),WSTR(\"Warnning..\"));\n#endif\n\treturn true;\n}\n\n\n\nbool CMainFrame::OnMenuEventTranslateSymbol(IN WISP_MSG*pMsg)\n{\n\tWCHAR wszBuffer[MAX_FN_LEN];\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"PE Files(exe;dll;ocx;scr;sys)\\0*.exe;*.dll;*.ocx;*.scr;*.sys\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tif(theApp.m_SyserInterface.TranslateSymbolFile(szFileName,szBuffer,true))\n\t{\n\t\tAnsiToUnicode(szBuffer,wszBuffer,MAX_FN_LEN);\n\t\tOUTPUT(WSTR(\"Translate debugging data to %s\\n\"),wszBuffer);\n\t}\n\telse\n\t{\n\t\tOUTPUT(WSTR(\"Counldn't find this module's debugging data !\\n\"));\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventRecentFile(IN WISP_MSG*pMsg)\n{\n\tint Index;\n\tif(pMsg->Command.CmdID>EVENT_ID_RECENT_FILE_SYSERAPP && pMsg->Command.CmdID<=EVENT_ID_RECENT_FILE_SYSERAPP_END)\n\t{\n\t\tIndex = pMsg->Command.CmdID-EVENT_ID_RECENT_FILE_SYSERAPP-1;\n\t\tTList<RECENT_HISTROY_ITEM>::IT Iter = theApp.m_HistroyList[Index];\n\t\ttheApp.m_SyserInterface.LoadModule(Iter->FileName,NULL,Iter->Style);\n\t}\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventSendClipboard(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.SendClipboardString();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventRecvClipboard(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.RecvClipboardString();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventDebugMessage(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.m_bCaptureDbgMsg = m_MainMenu.IsItemChecked(EVENT_ID_DEBUG_MESSAGE);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventClearDebugMessage(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_MainFrame.m_ConsoleWnd.ClearScreen();\n\treturn true;\n};\n\nbool CMainFrame::OnMenuEventDebugMessageFilter(IN WISP_MSG*pMsg)\n{\n\tCDbgMsgFilterForm DbgMsgFilterForm;\n\tDbgMsgFilterForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventStartSyser(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.StartSyserDriver();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventStopSyser(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.StopSyserDriver();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventOption(IN WISP_MSG*pMsg)\n{\n\tHANDLE hMutex = OpenMutex(MUTEX_ALL_ACCESS,false,\"Syser Option\");\n\tif(hMutex)\n\t{\n\t\tHWND hWnd = FindWindow(NULL,\"Syser Option\");\n\t\tif(hWnd)\n\t\t\tBringWindowToTop(hWnd);\n\t\tCloseHandle(hMutex);\n\t\treturn true;\n\t}\n\tCHAR szFileName[MAX_FN_LEN];\n\tSTARTUPINFO\tStartInfo;\n\tPROCESS_INFORMATION ProcInfo;\n\tmemset(&StartInfo,0,sizeof(STARTUPINFO));\n\tmemset(&ProcInfo,0,sizeof(PROCESS_INFORMATION));\n\tStartInfo.cb = sizeof(STARTUPINFO);\n\tStartInfo.dwFlags = STARTF_USESHOWWINDOW;\n\tStartInfo.wShowWindow = SW_SHOWDEFAULT;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"SyserOption.exe\");\n\tCreateProcess(szFileName,NULL,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&StartInfo,&ProcInfo);\n\treturn true;\n}\n\nbool CMainFrame::OnUpdateDriverState(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.UpdateDriverStatus();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventBootOption(IN WISP_MSG*pMsg)\n{\n\tCHAR szFileName[MAX_FN_LEN];\n\tSTARTUPINFO\tStartInfo;\n\tPROCESS_INFORMATION ProcInfo;\n\tmemset(&StartInfo,0,sizeof(STARTUPINFO));\n\tmemset(&ProcInfo,0,sizeof(PROCESS_INFORMATION));\n\tStartInfo.cb = sizeof(STARTUPINFO);\n\tStartInfo.dwFlags = STARTF_USESHOWWINDOW;\n\tStartInfo.wShowWindow = SW_SHOWDEFAULT;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"SyserOption.exe /boot\");\n\tCreateProcess(NULL,szFileName,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&StartInfo,&ProcInfo);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventVideoDetectMode(IN WISP_MSG*pMsg)\n{\n\tCHAR szFileName[MAX_FN_LEN];\n\tSTARTUPINFO\tStartInfo;\n\tPROCESS_INFORMATION ProcInfo;\n\tmemset(&StartInfo,0,sizeof(STARTUPINFO));\n\tmemset(&ProcInfo,0,sizeof(PROCESS_INFORMATION));\n\tStartInfo.cb = sizeof(STARTUPINFO);\n\tStartInfo.dwFlags = STARTF_USESHOWWINDOW;\n\tStartInfo.wShowWindow = SW_SHOWDEFAULT;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"SyserOption.exe /video\");\n\tCreateProcess(NULL,szFileName,NULL,NULL,FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&StartInfo,&ProcInfo);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventSymDownloader(IN WISP_MSG*pMsg)\n{\n\tchar szPathName[MAX_FN_LEN];\n\tGetModulePath(szPathName);\n\tTStrCat(szPathName,\"SymRecv.exe\");\n\tShellExecute(NULL,NULL,szPathName,NULL,NULL,SW_NORMAL);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventDrvLoader(IN WISP_MSG*pMsg)\n{\n\tchar szPathName[MAX_FN_LEN];\n\tGetModulePath(szPathName);\n\tTStrCat(szPathName,\"Drvloader.exe\");\n\tShellExecute(NULL,NULL,szPathName,NULL,NULL,SW_NORMAL);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventVEUnpack(IN WISP_MSG*pMsg)\n{\n\tchar szPathName[MAX_FN_LEN];\n\tGetModulePath(szPathName);\n\tTStrCat(szPathName,\"VEUnpack.exe\");\n\tShellExecute(NULL,NULL,szPathName,NULL,NULL,SW_NORMAL);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventExit(IN WISP_MSG*pMsg)\n{\n\tDestroy();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventCmdRef(IN WISP_MSG*pMsg)\n{\n\tchar szPathName[MAX_FN_LEN];\n\tGetModulePath(szPathName);\n\tTStrCat(szPathName,\"SyserCommand.chm\");\n\tShellExecute(NULL,NULL,szPathName,NULL,NULL,SW_MAXIMIZE);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventDebugHelp(IN WISP_MSG*pMsg)\n{\n\tchar szPathName[MAX_FN_LEN];\n\tGetModulePath(szPathName);\n\tTStrCat(szPathName,\"DebuggerHelp.chm\");\n\tShellExecute(NULL,NULL,szPathName,NULL,NULL,SW_MAXIMIZE);\n\treturn true;\n}\n\nbool CMainFrame::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_Style|=WISP_WS_BACK_TRANS;\n\tm_MainMenu.CreateWndMenu(this,WISP_ID_MAIN_MENU,MainMenu,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_MainToolBar.CreateEx(this,0,-1,WISP_ID_MAIN_TOOLBAR,WISP_WS_NULL);\n\tm_MainToolBar.LoadToolbar(WispTKDIBList(\"\\\\Toolbar.bmp\",16,16),MainToolbar);\n\tm_MainToolBar.Move(0,m_MainMenu.m_WindowRect.cy);\n\tm_MainTabWnd.Create(NULL,0,m_MainMenu.m_WindowRect.cy+m_MainToolBar.m_WindowRect.cy,m_ClientRect.cx,m_ClientRect.cy-m_MainToolBar.m_WindowRect.cy-m_MainMenu.m_WindowRect.cy,this,WISP_ID_MAIN_TAB,WISP_TWS_BUTTOM);\n\tm_ConsoleWnd.Create(NULL,0,0,0,0,&m_MainTabWnd,0,WISP_WS_NULL);\n\tm_MainTabWnd.InsertWnd(WSTR(\"Console & Debug Message\"),&m_ConsoleWnd,WispDIB(\"\\\\SyserIcon\\\\Console.ico\",0));\n\tm_MainTabWnd.RecalcLayout();\n\tint TipSize = m_MainTabWnd.m_ClientRect.cx - m_MainTabWnd.m_TabItemWidth - 5;\n\tMAX_LIMIT(TipSize,MAX_TIP_WIDTH);\n\tMIN_LIMIT(TipSize,0);\n\tm_TipStr.Create(NULL,m_MainTabWnd.m_TabItemWidth + 20,m_MainTabWnd.m_ClientRect.cy-16,TipSize,16,&m_MainTabWnd,0,WISP_WS_NULL);\n\tDWORD VerType=SN_ERROR;\n\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\VerType\",&VerType,sizeof(VerType));\n\tif(VerType>=SN_MAX)\n\t\tVerType = SN_ERROR;\n\tif(VerType!=SN_ERROR)\n\t\tm_MainMenu.RemoveItem(EVENT_ID_BUYNOW);\n\telse\n\t\tm_MainMenu.SetItemColor(EVENT_ID_BUYNOW,SYS_COLOR[SC_LIGHT_RED]);\n\ttheApp.m_SyserInterface.m_VerType = (SYSER_SN_TYPE)VerType;\n\tGetVersionString();\n\treturn true;\n}\n\nPCWSTR szVerString[]=\n{\n\tWSTR(\"Evaluation Version\"),\n\tWSTR(\"Personal Version : Licensed to %s\"),\n\tWSTR(\"Student Version : Licensed to %s\"),\n\tWSTR(\"Enterprise Version : Licensed to %s\"),\n};\n\nvoid CMainFrame::GetVersionString()\n{\n\tCHAR szLicName[256];\n\tWCHAR wszLicName[256],szBuffer[256];\n\tif(theApp.m_SyserInterface.m_VerType>=SN_MAX || theApp.m_SyserInterface.m_VerType<SN_ERROR)\n\t{\n\t\ttheApp.m_SyserInterface.m_VerType=SN_ERROR;\n\t}\n\t*szLicName=0;*wszLicName=0;\n\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\LicName\",szLicName,sizeof(szLicName));\n\tAnsiToUnicode(szLicName,wszLicName,256);\n\tTSPrintf(szBuffer,szVerString[theApp.m_SyserInterface.m_VerType],wszLicName);\n\tm_TipStr.SetWindowText(szBuffer);\n}\n\nbool CMainFrame::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_MainTabWnd.Resize(m_ClientRect.cx,m_ClientRect.cy-m_MainMenu.m_WindowRect.cy-m_MainToolBar.m_WindowRect.cy);\n\tint TipSize = m_MainTabWnd.m_ClientRect.cx - m_MainTabWnd.m_TabItemWidth - 5;\n\tMAX_LIMIT(TipSize,MAX_TIP_WIDTH);\n\tMIN_LIMIT(TipSize,0);\n\tm_TipStr.MoveToClient(m_MainTabWnd.m_TabItemWidth + 20,m_MainTabWnd.m_ClientRect.cy-16);\n\tm_TipStr.Resize(TipSize,m_TipStr.m_WindowRect.cy);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventCheckNewVersion(IN WISP_MSG*pMsg)\n{\n\ttheApp.CheckNewVersion();\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventBuyNow(IN WISP_MSG*pMsg)\n{\n\tShellExecute(NULL,\"open\",\"http://www.sysersoft.com/products.html\",NULL,NULL,SW_SHOWMAXIMIZED);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventRegister(IN WISP_MSG*pMsg)\n{\n\tchar szBuffer[256];\n\tm_RegForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tif(m_RegForm.m_Result != WISP_ID_OK)\n\t\treturn true;\t\n\tTStrCpy(szBuffer,(PCWSTR)m_RegForm.m_StrName);\n\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\LicName\",szBuffer,REG_SZ);\n\tTStrCpy(szBuffer,(PCWSTR)m_RegForm.m_StrSN);\n\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\SN\",szBuffer,REG_SZ);\n\tm_pWispBase->MsgBox(WSTR(\"You may need to restart syser debugger to validate this key!\"),WSTR(\"Notify\"),WISP_MB_OK);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventAboutSyserApp(IN WISP_MSG*pMsg)\n{\n\tCAboutForm\tAboutForm;\n\tAboutForm.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tAboutForm.Destroy();\n\treturn true;\n}\n\nvoid CMainFrame::UpdateSyserDriverItem(bool bEnable)\n{\n\tm_MainMenu.EnableItem(EVENT_ID_LOAD_MODULE,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_LOAD_EXPORT_SYMBOLS,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_LOAD_SYMBOL_SYSERAPP,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_SAVE_SYSER_HISTROYS,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_SAVE_COMMENTS,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_SEND_CLIPBOARD,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_RECV_CLIPBOARD,bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_START_SYSER,!bEnable);\n\tm_MainMenu.EnableItem(EVENT_ID_STOP_SYSER,bEnable);\n\tm_MainToolBar.EnableItem(EVENT_ID_LOAD_MODULE,bEnable);\n\tm_MainToolBar.EnableItem(EVENT_ID_LOAD_EXPORT_SYMBOLS,bEnable);\n\tm_MainToolBar.EnableItem(EVENT_ID_LOAD_SYMBOL_SYSERAPP,bEnable);\n\tm_MainToolBar.EnableItem(EVENT_ID_START_SYSER,!bEnable);\n\tm_MainToolBar.EnableItem(EVENT_ID_STOP_SYSER,bEnable);\n\tUpdate();\n}\n\nbool CMainFrame::OnMenuEventSaveHistroys(IN WISP_MSG*pMsg)\n{\n\tchar szFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"TEXT Files(*.txt)\\0*.txt\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tOpenFileName.Flags = OFN_OVERWRITEPROMPT;\n\tTStrCpy(szFileName,\"Histroy.txt\");\n\tif(GetSaveFileName(&OpenFileName)==false)\n\t\treturn true;\n\tm_ConsoleWnd.SaveHistroys(szFileName);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventSaveSyserHistroys(IN WISP_MSG*pMsg)\n{\n\tchar szFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"TEXT Files(*.txt)\\0*.txt\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tOpenFileName.Flags = OFN_OVERWRITEPROMPT;\n\tTStrCpy(szFileName,\"SyserLog.txt\");\n\tif(GetSaveFileName(&OpenFileName)==false)\n\t\treturn true;\n\ttheApp.m_SyserInterface.SaveSyserHistroys(szFileName);\n\treturn true;\n}\n\nbool CMainFrame::OnMenuEventSaveComments(IN WISP_MSG*pMsg)\n{\n\ttheApp.m_SyserInterface.SaveSyserComments();\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/SyserApp/Source/MainFrame.h",
    "content": "#ifndef _MAIN_FRAME_H_\n#define _MAIN_FRAME_H_\n\n#include \"ProcessList.h\"\n#include \"SyserAppCmd.h\"\n#include \"DbgMsgFilter.h\"\n#include \"OpenFileForm.h\"\n#include \"LoadIDAMapFile.h\"\n#include \"RegisterForm.h\"\n#include \"..\\..\\Syser\\Source\\SyserAboutForm.h\"\n\n#define\tMAX_TIP_WIDTH\t500\n\nclass CMainFrame : public CWispWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnSize);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnMainTabCommand)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnUpdateDriverState)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventLoadModule)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventLoadExportSymbols);\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventLoadSymbol)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventLoadIDAMap)\t\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventTranslateSymbol)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventStartSyser)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventStopSyser)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventSendClipboard)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventRecvClipboard)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventDebugMessage)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventClearDebugMessage)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventDebugMessageFilter)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventExit)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventOption)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventBootOption)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventVideoDetectMode)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventSymDownloader)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventDrvLoader)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventVEUnpack)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventCheckNewVersion)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventBuyNow);\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventRegister)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventCmdRef)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventDebugHelp)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventAboutSyserApp)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventRecentFile)\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventSaveHistroys);\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventSaveSyserHistroys);\n\tDECLARE_WISP_MSG_EVENT(OnMenuEventSaveComments);\npublic:\n\tCRegisterForm\tm_RegForm;\n\tCWispMenu\t\tm_MainMenu;\n\tCWispToolbar\tm_MainToolBar;\n\tCWispTabWnd\t\tm_MainTabWnd;\n\tCConsoleWnd\t\tm_ConsoleWnd;\n\t//CProcessList\tm_ProcessList;\n\tCWispProgressForm m_ProgressForm;\n\tWISP_SIZE\t\tm_OldFrameSize;\n\tCWispStaticStr\tm_TipStr;\n\tvoid\tGetVersionString();\n\tvoid\tUpdateSyserDriverItem(bool bEnable);\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/ModifyBoot.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ModifyBoot.h\"\n#include \"../../Syser/Source/Ring3Object.h\"\n\nint DisableNOGUIBOOT(bool Switch)\n{\n\tCLocalFileIO FileIO;\n\tchar KeyName[1024];\n\tHANDLE hFile;\n\tchar BufferString[1024];\n\tchar FileName[50]=\"c:\\\\boot.ini\";\n\tchar*Name,*Tmp;\n\tDWORD Len,DriverBitMask,DriverType;\n\tbool bFind=false;\n\tDWORD Attr;\n\tint i,RetValue;\n\tLen = TStrLen(FileName)+1;\n\tRetValue=0;\n\tif(GetBootINIKeyName(KeyName,sizeof(KeyName))==false)\n\t\treturn false;\n\tDriverBitMask = GetLogicalDrives();\n\tDriverBitMask>>=2;\n\tfor(i='c';i<='z';i++,DriverBitMask>>=1)\n\t{\n\t\tif((DriverBitMask&1)==0)continue;\n\t\tTSPrintf(FileName,\"%c:\\\\\",i);\n\t\tDriverType = GetDriveType(FileName);\n\t\tif(DriverType!=DRIVE_FIXED)continue;\n\t\tTSPrintf(FileName,\"%c:\\\\boot.ini\",i);\n\t\tif(FileIO.OpenFile(FileName,&hFile,FIO_READ))\n\t\t{\n\t\t\tRetValue++;\n\t\t\tFileIO.CloseHandle(hFile);\n\t\t\tAttr = ::GetFileAttributes(FileName);\n\t\t\tLen = GetPrivateProfileString(\"operating systems\",KeyName,NULL,BufferString,sizeof(BufferString),FileName);\n\t\t\tif(Len==0)\n\t\t\t\tcontinue;\n\t\t\tif(Switch)\n\t\t\t{\n\t\t\t\tif(TStrIStr(BufferString,\"/noguiboot\")==0)\n\t\t\t\t{\n\t\t\t\t\tLen = TStrLen(BufferString);\n\t\t\t\t\twhile(Len >=1 && (BufferString[Len-1]==' '||BufferString[Len-1]=='\\t'))Len--;\n\t\t\t\t\tSetFileAttributes(FileName,FILE_ATTRIBUTE_NORMAL);\n\t\t\t\t\tTStrCat(&BufferString[Len],\" /noguiboot\");\n\t\t\t\t\tWritePrivateProfileString(\"operating systems\",KeyName,BufferString,FileName);\n\t\t\t\t\tSetFileAttributes(FileName,Attr);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\tName = BufferString;\n\t\t\t\tdo \n\t\t\t\t{\n\t\t\t\t\tName = TStrIStr(Name,\"/noguiboot\");\n\t\t\t\t\tif(Name==NULL)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tTmp = Name;\n\t\t\t\t\twhile(Name[10])\n\t\t\t\t\t\tName[0]=Name[10],Name++;\n\t\t\t\t\tName[0]=0;\n\t\t\t\t\tbFind=true;\n\t\t\t\t\tName=Tmp;\n\t\t\t\t}while(Name);\n\t\t\t\tif(bFind)\n\t\t\t\t{\n\t\t\t\t\tSetFileAttributes(FileName,FILE_ATTRIBUTE_NORMAL);\n\t\t\t\t\tWritePrivateProfileString(\"operating systems\",KeyName,BufferString,FileName);\n\t\t\t\t\tSetFileAttributes(FileName,Attr);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn RetValue;\n}\n\nbool GetBootINIKeyName(char* RetKeyName,DWORD RetKeyLen)\n{\n\tDWORD KeyLen;\n\tWCHAR *KeyName;\n\tDWORD InputLen;\n\tchar WindowsDirectoryName[MAX_PATH];\n\tint RetLen,Len = sizeof(WindowsDirectoryName);\n\tchar* DirectoryName;\n\tchar DiskNum;\n\tRetLen = GetWindowsDirectory(WindowsDirectoryName,Len);\n\tif(RetLen == 0||RetLen>=Len)\n\t\treturn false;\n\tDirectoryName = TStrChr(WindowsDirectoryName,'\\\\');\n\tif(DirectoryName==NULL||DirectoryName[1]=='\\0')\n\t\treturn false;\n\tDiskNum = WindowsDirectoryName[0];\n\tDiskNum&=0xdf;\n\tif(DiskNum<'A' || DiskNum >'Z')\n\t\treturn false;\n\tInputLen = 8192;\n\tKeyName =(WCHAR*) new char[InputLen];\n\tKeyLen = GetBootIniKeyNameByDiskNum(DiskNum,KeyName,InputLen);\n\tif(KeyLen*sizeof(WCHAR)>=InputLen || KeyLen==0)\n\t\tgoto errorquit;\n\tTStrCat(KeyName,DirectoryName);\n\tKeyLen = TStrLen(KeyName);\n\tif(KeyLen+1>RetKeyLen)\n\t\tgoto errorquit;\n\tTStrCpy(RetKeyName,KeyName);\n\tdelete []KeyName;\n\treturn true;\nerrorquit:\n\tdelete []KeyName;\n\treturn false;\n}\n\nint GetBootIniKeyNameByDiskNum(DWORD PhysicalDiskNumber,WCHAR *RetName,DWORD BufRetLen)\n{\n\tWCHAR NameBuffer[260];\n\tWCHAR DirectoryNameBuf[260];\n\tWCHAR DirectoryEntryName[4096];\n\tWCHAR LinkNameBuf[4096];\n\tNTSTATUS NTStatus;\n\tBOOL RestartScan=TRUE;\n\tUNICODE_STRING DirectoryName;\n\tULONG Context=0,ReturnLength=0;\n\tHANDLE DirectoryHandle=NULL,SymbolicHandle=NULL;\n\t//OBJECT_ATTRIBUTES ObjectAttributes;\n\tPDIRECTORY_BASIC_INFORMATION pDirectoryBaseInformation=(PDIRECTORY_BASIC_INFORMATION)DirectoryEntryName;\n\tULONG DirectoryBaseInformationSize=sizeof(DirectoryEntryName);\n\tunsigned int iRet = -1;\n\tWCHAR* MapName=NULL;\n\t\n\tWCHAR* DiskLinkList[26];\n\tint DirectoryNameLen=0;\n\tif(LoadAPI()==false)\n\t{\n\t\t//MessageBox(NULL,\"װ NTDLL.DLL еĺ\",\"\",MB_OK);\n\t\tUnloadAPI();\n\t\treturn 0;\n\t}\n\tDirectoryName.Buffer=DirectoryNameBuf;\n\tmemset(DiskLinkList,0,sizeof(DiskLinkList));\n\tUNICODE_STRING LinkTargetName;\n\tSymbolicHandle=NULL;\n\t\n\tTSPrintf(NameBuffer,L\"\\\\global??\\\\%c:\",PhysicalDiskNumber);\n\tLinkTargetName.Buffer=LinkNameBuf;\n\tLinkTargetName.Length=sizeof(LinkNameBuf)-2;\n\tLinkTargetName.MaximumLength=sizeof(LinkNameBuf);\n\tif(GetSymbolicLink(NameBuffer,&LinkTargetName,&ReturnLength)==false)\n\t\treturn 0;\n\tMapName = (WCHAR*)new char[ReturnLength];\n\tTStrCpy(MapName,LinkTargetName.Buffer);\n\t\n\tFIND_OBJECT_DATA FindObjectData;\n\tTStrCpy(DirectoryName.Buffer,\"\\\\ArcName\");\n\tDirectoryNameLen=TStrLen(DirectoryName.Buffer);\n\tFindFirstObject(DirectoryName.Buffer,&FindObjectData);\n\tDirectoryHandle = FindObjectData.FindHandle;\n\tNTStatus = pZwQueryDirectoryObject(DirectoryHandle,pDirectoryBaseInformation,DirectoryBaseInformationSize,TRUE,RestartScan,&Context,&ReturnLength);\n\tif(NTStatus)\n\t{\n\t\tpZwClose(DirectoryHandle);\n\t\tUnloadAPI();\n\t\t//MessageBox(NULL,\"ѯĿ¼Ϣ\",\"\",MB_OK);\n\t\treturn 0;\n\t}\n\tRestartScan=FALSE;\n\tdo\n\t{\n\t\tif(TStrICmp(pDirectoryBaseInformation->ObjectTypeName.Buffer,\"SymbolicLink\")==0)\n\t\t{\n\t\t\tDirectoryName.Buffer[DirectoryNameLen]=0;\n\t\t\tTStrCat(DirectoryName.Buffer,\"\\\\\");\n\t\t\tTStrCat(DirectoryName.Buffer,pDirectoryBaseInformation->ObjectName.Buffer);\n\t\t\tif(GetSymbolicLink(DirectoryName.Buffer,&LinkTargetName,&ReturnLength))\n\t\t\t{\n\t\t\t\tif(GetSymbolicLink(LinkTargetName.Buffer,&LinkTargetName,&ReturnLength))\n\t\t\t\t{\n\t\t\t\t\tif(TStrICmp(LinkTargetName.Buffer,MapName)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tiRet = TStrLen(pDirectoryBaseInformation->ObjectName.Buffer);\n\t\t\t\t\t\tif(iRet<BufRetLen/sizeof(WCHAR)&&RetName)\n\t\t\t\t\t\t\tTStrCpy(RetName,pDirectoryBaseInformation->ObjectName.Buffer);\n\t\t\t\t\t\tpZwClose(DirectoryHandle);\n\t\t\t\t\t\tUnloadAPI();\n\t\t\t\t\t\treturn iRet;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\tNTStatus = pZwQueryDirectoryObject(DirectoryHandle,DirectoryEntryName,sizeof(DirectoryEntryName),TRUE,RestartScan,&Context,&ReturnLength);\n\t\tif(NTStatus)\n\t\t\tbreak;\n\t}while(1);\n\tpZwClose(DirectoryHandle);\n\tUnloadAPI();\n\treturn 0;\n}"
  },
  {
    "path": "Project/SyserApp/Source/ModifyBoot.h",
    "content": "#ifndef _MODIFYBOOT_H_\n#define _MODIFYBOOT_H_\nint GetBootIniKeyNameByDiskNum(DWORD PhysicalDiskNumber,WCHAR *RetName,DWORD BufRetLen);\nbool GetBootINIKeyName(char* RetKeyName,DWORD RetKeyLen);\nint DisableNOGUIBOOT(bool Switch);\n#endif //_MODIFYBOOT_H_"
  },
  {
    "path": "Project/SyserApp/Source/NTDriver.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NTDriver.h\"\n\nbool CreateDriver(PCSTR DriverName,PCSTR FullDriver,UINT StartType)\n{\n\tSC_HANDLE hDriver,hSCManager;\n\tbool Stopped = false;\n\thSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);\n\tif(hSCManager==NULL)\n\t\treturn false;\n\thDriver = OpenService(hSCManager,DriverName,SERVICE_ALL_ACCESS);\n\tif(hDriver)\n\t\tChangeServiceConfig(hSCManager,SERVICE_KERNEL_DRIVER,StartType,SERVICE_ERROR_NORMAL,FullDriver,NULL,NULL,NULL,NULL,NULL,NULL);\n\telse\n\t\thDriver = CreateService(hSCManager,DriverName,DriverName,SERVICE_ALL_ACCESS,SERVICE_KERNEL_DRIVER,StartType,SERVICE_ERROR_NORMAL,FullDriver,NULL,NULL,NULL,NULL,NULL);\n\tif(hDriver==NULL)\n\t{\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn false;\n\t}\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn true;\n}\n\nbool RemoveDriver(PCSTR DriverName)\n{\n\tSC_HANDLE hDriver,hSCManager;\n\tbool Result;\n\thSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);\n\tif(hSCManager==NULL)\n\t\treturn false;\n\thDriver = OpenService(hSCManager,DriverName,SERVICE_ALL_ACCESS);\n\tif(hDriver==NULL)\n\t{\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn true;\n\t}\n\tResult = DeleteService(hDriver)!=FALSE;\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn Result;\n}\n\nbool StartDriver(PCSTR DriverName)\n{\n\tbool Started;\n\tSERVICE_STATUS ss;\n\tSC_HANDLE hSCManager,hDriver;\n\thSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT);\n\tif(hSCManager==NULL)\n\t\treturn false;\n\thDriver=OpenService(hSCManager,DriverName,SERVICE_QUERY_STATUS|SERVICE_START);\n\tif(hDriver==NULL)\n\t{\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn false;\n\t}\n\tif(QueryServiceStatus(hDriver,&ss) && ss.dwCurrentState!=SERVICE_STOPPED)\n\t\tgoto ErrorExit;\n\tif(StartService(hDriver,0,NULL)==false)\n\t\tgoto ErrorExit;\n\tStarted=false;\n\tfor(int seconds=0;seconds<10;seconds++)\n\t{\n\t\tSleep(1000);\n\t\tif(QueryServiceStatus(hDriver,&ss) && ss.dwCurrentState==SERVICE_RUNNING)\n\t\t{\n\t\t\tStarted = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(Started==false)\n\t\tgoto ErrorExit;\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn true;\nErrorExit:\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn false;\n}\n\n\n#ifndef INST_DRV_ONLY\nbool StopDriver(PCSTR DriverName)\n{\n\tSERVICE_STATUS ss;\n\tSC_HANDLE hDriver,hSCManager;\n\tbool Stopped = false;\n\thSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS);\n\tif(hSCManager==NULL)\n\t\treturn false;\n\thDriver = OpenService(hSCManager,DriverName,SERVICE_ALL_ACCESS);\n\tif(hDriver==NULL)\n\t{\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn true;\n\t}\n\tif(QueryServiceStatus(hDriver,&ss)==false)\n\t\tgoto SuccessExit;\n\tif(ss.dwCurrentState==SERVICE_STOPPED)\n\t\tgoto SuccessExit;\n\tif(ControlService(hDriver,SERVICE_CONTROL_STOP,&ss)==false)\n\t\tgoto ErrorExit;\n\tStopped = false;\n\tfor(int seconds=0;seconds<10;seconds++)\n\t{\n\t\tif(QueryServiceStatus(hDriver,&ss) == false || ss.dwCurrentState==SERVICE_STOPPED)\n\t\t{\n\t\t\tStopped = true;\n\t\t\tbreak;\n\t\t}\n\t\tSleep(1000);\n\t}\n\tif(Stopped == false)\n\t\tgoto ErrorExit;\nSuccessExit:\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn true;\nErrorExit:\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn false;\n}\n\nbool IsDriverActive(PCSTR DriverName)\n{\n\tSERVICE_STATUS ss;\n\tSC_HANDLE hDriver,hSCManager;\n\thSCManager = OpenSCManager(NULL,NULL,SC_MANAGER_CONNECT);\n\tif(hSCManager==NULL)\n\t\treturn false;\n\thDriver = OpenService(hSCManager,DriverName,SERVICE_QUERY_STATUS);\n\tif(hDriver==NULL)\n\t{\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn false;\n\t}\n\tif(QueryServiceStatus(hDriver,&ss)==false)\n\t\tgoto ErrorExit;\n\tif(ss.dwCurrentState==SERVICE_RUNNING)\n\t{\n\t\tCloseServiceHandle(hDriver);\n\t\tCloseServiceHandle(hSCManager);\n\t\treturn true;\n\t}\nErrorExit:\n\tCloseServiceHandle(hDriver);\n\tCloseServiceHandle(hSCManager);\n\treturn false;\n}\n\n\nbool InstallDriver(PCSTR DriverName,PCSTR DriverFileName,UINT StartType,PCSTR GroupName,DWORD Tag)\n{\n\tUINT  OldStartType,OldTag;\n\tDWORD dwRegValue,Disposition,dwSize;\n\tHKEY hKey;\n\tbool bGroupChange=false;\n\tCHAR FullName[260],FullFileName[260],*pszName,OldGroupName[260];\n\tif(DriverFileName==NULL)\n\t{\n\t\tCHAR*pStr;\n\t\tGetModuleFileName(NULL,FullFileName,sizeof(FullFileName));\n\t\tpStr=strrchr(FullFileName,'\\\\');\n\t\tif(pStr==NULL)\n\t\t\treturn false;\n\t\tpStr[1]=0;\n\t\tstrcpy(&pStr[1],DriverName);\n\t\tstrcat(pStr,\".sys\");\n\t\tDriverFileName = FullFileName;\n\t}\n\telse\n\t{\n\t\tstrcpy(FullFileName,DriverFileName);\n\t}\n\tstrcpy(FullName,\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\\");\n\tstrcat(FullName,DriverName);\n\tif(RegCreateKeyEx(HKEY_LOCAL_MACHINE,FullName,0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(Disposition==REG_OPENED_EXISTING_KEY)\n\t{\n\t\tOldStartType = -1;\n\t\tdwSize = sizeof(OldStartType);\n\t\tRegQueryValueEx(hKey,\"Start\",NULL,NULL,(BYTE*)&OldStartType,&dwSize);\n\t\tdwSize = sizeof(OldTag);\n\t\tRegQueryValueEx(hKey,\"Tag\",NULL,NULL,(BYTE*)&OldTag,&dwSize);\n\t\tif(GroupName)\n\t\t{\n\t\t\tbGroupChange=true;\n\t\t\tdwSize=sizeof(OldGroupName);\n\t\t\tif(RegQueryValueEx(hKey,\"Group\",NULL,NULL,(BYTE*)OldGroupName,&dwSize) == ERROR_SUCCESS)\n\t\t\t{\n\t\t\t\t\tif(stricmp(OldGroupName,GroupName)==0)\n\t\t\t\t\t\tbGroupChange=false;\n\t\t\t}\n\t\t}\n\t\tdwSize=sizeof(FullName);\n\t\t\n\t\tif(bGroupChange ==false && OldTag == Tag && OldStartType == StartType && RegQueryValueEx(hKey,\"ImagePath\",NULL,NULL,(BYTE*)FullName,&dwSize) == ERROR_SUCCESS)\n\t\t{\n\t\t\tpszName = FullName;\n\t\t\tif(strnicmp(FullName,\"\\\\??\\\\\",4)==0)\n\t\t\t\tpszName+=4;\n\t\t\tif(stricmp(pszName,FullFileName)==0)\n\t\t\t{\n\t\t\t\tRegCloseKey(hKey);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\tdwRegValue = SERVICE_ERROR_NORMAL;\n\tif(RegSetValueEx(hKey,\"ErrorControl\",0,REG_DWORD,(BYTE*)&dwRegValue,sizeof(DWORD)) != ERROR_SUCCESS)\n\t\treturn false;\n\tdwRegValue = StartType;\n\tif(StartType>=0 && RegSetValueEx(hKey,\"Start\",0,REG_DWORD,(BYTE*)&dwRegValue,sizeof(DWORD)) != ERROR_SUCCESS)\n\t\treturn false;\n\tdwRegValue = SERVICE_KERNEL_DRIVER;\n\tif(RegSetValueEx(hKey,\"Type\",0,REG_DWORD,(BYTE*)&dwRegValue,sizeof(DWORD)) != ERROR_SUCCESS)\n\t\treturn false;\n\tdwSize = (DWORD)strlen(DriverName)+1;\n\tif(RegSetValueEx(hKey,\"DisplayName\",0,REG_SZ,(BYTE*)DriverName,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\tif(FullFileName[1]!=':')\n\t{\n\t\tstrcpy(FullName,FullFileName);\n\t}\n\telse\n\t{\n\t\tstrcpy(FullName,\"\\\\??\\\\\");\n\t\tstrcat(FullName,FullFileName);\n\t}\n\tdwSize = (DWORD)strlen(FullName)+1;\n\tif(RegSetValueEx(hKey,\"ImagePath\",0,REG_SZ,(BYTE*)FullName,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\t\n\tif(GroupName)\n\t{\n\t\tdwSize = (DWORD)strlen(GroupName)+1;\n\t\tif(RegSetValueEx(hKey,\"Group\",0,REG_SZ,(BYTE*)GroupName,dwSize) != ERROR_SUCCESS)\n\t\t\treturn false;\n\t}\n\tif(Tag!=-1)\n\t{\n\t\tif(RegSetValueEx(hKey,\"Tag\",0,REG_DWORD,(BYTE*)&Tag,sizeof(Tag)) != ERROR_SUCCESS)\n\t\t\treturn false;\n\t}\n\tRegCloseKey(hKey);\n\treturn CreateDriver(DriverName,DriverFileName,StartType);\n}\n\nbool UninstallDriver(PCSTR DriverName)\n{\n\tCHAR szBuffer[256],FullName[260];\n\tHKEY hKey;\n\tFILETIME Time;\n\tDWORD dwSize;\n\tstrcpy(FullName,\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\\");\n\tstrcat(FullName,DriverName);\n\tif(RegOpenKeyEx(HKEY_LOCAL_MACHINE,FullName,0,KEY_ALL_ACCESS,&hKey)!=ERROR_SUCCESS)\n\t\tgoto RemoveDriver;\n\tdwSize=sizeof(szBuffer);\n\twhile(RegEnumKeyEx(hKey,0,szBuffer,&dwSize,NULL,NULL,NULL,&Time)==ERROR_SUCCESS)\n\t{\n\t\tRegDeleteKey(hKey,szBuffer);\n\t\tdwSize=sizeof(szBuffer);\n\t}\n\tRegCloseKey(hKey);\n\tRegDeleteKey(HKEY_LOCAL_MACHINE,FullName);\nRemoveDriver:\n\treturn RemoveDriver(DriverName);\n}\n\nbool EnableDriver(PCSTR DriverName,PCSTR DriverFileName)\n{\n\tif(IsDriverActive(DriverName))\n\t\treturn true;\n\tInstallDriver(DriverName,DriverFileName);\n\treturn StartDriver(DriverName);\n}\n\nbool DisableDriver(PCSTR DriverName)\n{\n\treturn StopDriver(DriverName);\n}\n\nbool InstallServiceGroup(PCSTR szGroup,PCSTR szPosAfter)\n{\n\tDWORD Size;\n\tHKEY hKey;\n\tTList<CStrA> NameList;\n\tTList<CStrA>::IT Iter;\n\tPSTR pStr;\n\tchar*szList = NULL;\n\tif(RegOpenKeyEx(HKEY_LOCAL_MACHINE,\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\ServiceGroupOrder\",0,KEY_ALL_ACCESS,&hKey)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegQueryValueEx(hKey,\"List\",0,NULL,NULL,&Size)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\n\tSize+=100;\n\tszList = new char[Size];\n\tif(RegQueryValueEx(hKey,\"List\",0,NULL,(PBYTE)szList,&Size)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\n\tfor(pStr = szList;*pStr;pStr++)\n\t{\n\t\tIter = NameList.Append(pStr);\n\t\tpStr+=Iter->Length();\n\t}\n\tIter = NameList.Find(szGroup);\n\twhile(Iter != NameList.End())\n\t{\n\t\tNameList.Remove(Iter);\n\t\tIter = NameList.Find(szGroup);\n\t}\n\tif(szPosAfter==NULL)\n\t\tszPosAfter = \"<last>\";\n\tif(TStrICmp(szPosAfter,\"<first>\")==0)\n\t\tIter = NameList.InsertBefore(NameList.Begin(),szGroup);\n\telse if(TStrICmp(szPosAfter,\"<last>\")==0)\n\t\tIter = NameList.Append(szGroup);\n\telse\n\t{\n\t\tIter = NameList.Find(szPosAfter);\n\t\tif(Iter == NameList.End())\n\t\t\tIter = NameList.Last();\n\t\tNameList.InsertAfter(Iter,szGroup);\n\t}\n\tIter = NameList.Begin();\n\tpStr = szList;\n\twhile(Iter!=NameList.End())\n\t{\n\t\tTStrCpy(pStr,(PCSTR)*Iter);\n\t\tpStr+=Iter->Length()+1;\n\t\tIter++;\n\t}\n\t*pStr=0;\n\tif(RegSetValueEx(hKey,\"List\",0,REG_MULTI_SZ,(PBYTE)szList,(DWORD)(pStr-szList)+1)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\n\tdelete szList;\n\tRegCloseKey(hKey);\n\treturn true;\nErrorExit:\n\tif(szList)\n\t\tdelete szList;\n\tRegCloseKey(hKey);\n\treturn false;\n}\n\nbool UninstallServiceGroup(PCSTR szGroup)\n{\n\tDWORD Size;\n\tHKEY hKey;\n\tTList<CStrA> NameList;\n\tTList<CStrA>::IT Iter;\n\tPSTR pStr;\n\tchar*szList = NULL;\n\tif(RegOpenKeyEx(HKEY_LOCAL_MACHINE,\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\ServiceGroupOrder\",0,KEY_ALL_ACCESS,&hKey)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegQueryValueEx(hKey,\"List\",0,NULL,NULL,&Size)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\n\tSize+=100;\n\tszList = new char[Size];\n\tif(RegQueryValueEx(hKey,\"List\",0,NULL,(PBYTE)szList,&Size)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\n\tfor(pStr = szList;*pStr;pStr++)\n\t{\n\t\tIter = NameList.Append(pStr);\n\t\tpStr+=Iter->Length();\n\t}\n\tIter = NameList.Find(szGroup);\n\tif(Iter==NameList.End())\n\t\tgoto SuccessExit;\n\twhile(Iter != NameList.End())\n\t{\n\t\tNameList.Remove(Iter);\n\t\tIter = NameList.Find(szGroup);\n\t}\n\tIter = NameList.Begin();\n\tpStr = szList;\n\twhile(Iter!=NameList.End())\n\t{\n\t\tTStrCpy(pStr,(PCSTR)*Iter);\n\t\tpStr+=Iter->Length()+1;\n\t\tIter++;\n\t}\n\t*pStr=0;\n\tif(RegSetValueEx(hKey,\"List\",0,REG_MULTI_SZ,(PBYTE)szList,(DWORD)(pStr-szList)+1)!=ERROR_SUCCESS)\n\t\tgoto ErrorExit;\nSuccessExit:\n\tdelete szList;\n\tRegCloseKey(hKey);\n\treturn true;\nErrorExit:\n\tif(szList)\n\t\tdelete szList;\n\tRegCloseKey(hKey);\n\treturn false;\n}\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/NTDriver.h",
    "content": "#ifndef _INSTALL_DISK_H_\n#define _INSTALL_DISK_H_\n\n#include <WinSVC.h>\n\n//////////////////////////////////////////////////////////////////////////////////\n//װ\n//DriverName\n//DriverFileNameļ\n//////////////////////////////////////////////////////////////////////////////////\nbool InstallDriver(PCSTR DriverName,PCSTR DriverFileName=NULL,UINT StartType = SERVICE_DEMAND_START,PCSTR GroupName=NULL,DWORD Tag=-1);\n\n//////////////////////////////////////////////////////////////////////////////////\n//ж\n//DriverName\n//bDeleteFileǷɾļ\n//////////////////////////////////////////////////////////////////////////////////\nbool UninstallDriver(PCSTR DriverName);\n//////////////////////////////////////////////////////////////////////////////////\n//\n//DriverName\n//DriverFileNameļ\n//////////////////////////////////////////////////////////////////////////////////\nbool CreateDriver(PCSTR DriverName,PCSTR FullDriver,UINT StartType = SERVICE_DEMAND_START);\n//////////////////////////////////////////////////////////////////////////////////\n//ɾ\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool RemoveDriver(PCSTR DriverName);\n//////////////////////////////////////////////////////////////////////////////////\n//\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool StartDriver(PCSTR DriverName);\n//////////////////////////////////////////////////////////////////////////////////\n//ֹͣ\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool StopDriver(PCSTR DriverName);\n//////////////////////////////////////////////////////////////////////////////////\n//Ƿ\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool IsDriverActive(PCSTR DriverName);\n//////////////////////////////////////////////////////////////////////////////////\n//ԶװĿ¼µ\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool EnableDriver(PCSTR DriverName,PCSTR DriverFileName=NULL);\n//////////////////////////////////////////////////////////////////////////////////\n//ر\n//DriverName\n//////////////////////////////////////////////////////////////////////////////////\nbool DisableDriver(PCSTR DriverName);\n\nbool InstallServiceGroup(PCSTR szGroup,PCSTR szPosAfter);\nbool UninstallServiceGroup(PCSTR szGroup);\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/NoPDBSymbol.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"NoPDBSymbol.h\"\n#include \"AnalyseCom.h\"\nCNoPDBSymbol::CNoPDBSymbol()\n{\n\tm_CurrentSourceFileIndex=0;\n\tm_CurrentCompilandIndex=0;\n\tm_PEFileName=NULL;\n\tm_PDBFileName=NULL;\n\tm_OnlyImportSymbol=false;\n\tm_OnlyExportSymbol=false;\n}\nCNoPDBSymbol::~CNoPDBSymbol()\n{\n\n}\n\nbool CNoPDBSymbol::Init()\n{\n\tDWORD Options;\n\tm_DbgHelpModule = LoadLibrary(\"DbgHelp.dll\");\n\tif(m_DbgHelpModule==NULL)\n\t\treturn false;\n\tLoadDbgHelpApi();\n\tif(m_SymInitialize(MY_PROCESS_HANDLE,NULL,FALSE)==false)\n\t\treturn false;\n\tOptions = m_SymGetOptions();\n\tm_SymSetOptions(0);\n\treturn true;\n}\nbool CNoPDBSymbol::LoadDbgHelpApi()\n{\n\tm_SymInitialize = (fpSymInitialize)GetProcAddress(m_DbgHelpModule,\"SymInitialize\");\n\tm_SymLoadModule64 = (fpSymLoadModule64)GetProcAddress(m_DbgHelpModule,\"SymLoadModule64\");\n\tm_SymEnumSymbols = (fpSymEnumSymbols)GetProcAddress(m_DbgHelpModule,\"SymEnumSymbols\");\n\tm_SymEnumTypes = (fpSymEnumTypes)GetProcAddress(m_DbgHelpModule,\"SymEnumTypes\");\n\tm_SymEnumLines = (fpSymEnumLines)GetProcAddress(m_DbgHelpModule,\"SymEnumLines\");\n\tm_SymUnloadModule64 = (fpSymUnloadModule64)GetProcAddress(m_DbgHelpModule,\"SymUnloadModule64\");\n\tm_SymCleanup = (fpSymCleanup)GetProcAddress(m_DbgHelpModule,\"SymCleanup\");\n\tm_SymGetTypeInfo = (fpSymGetTypeInfo)GetProcAddress(m_DbgHelpModule,\"SymGetTypeInfo\");\n\tm_SymGetTypeFromName = (fpSymGetTypeFromName)GetProcAddress(m_DbgHelpModule,\"SymGetTypeFromName\");\n\tm_SymSetOptions = (fpSymSetOptions)GetProcAddress(m_DbgHelpModule,\"SymSetOptions\");\n\tm_SymGetOptions = (fpSymGetOptions)GetProcAddress(m_DbgHelpModule,\"SymGetOptions\");\n\tm_UnDecorateSymbolName = (fpUnDecorateSymbolName)GetProcAddress(m_DbgHelpModule,\"UnDecorateSymbolName\");\n\treturn true;\n}\nbool CNoPDBSymbol::ListGlobalSymbols(WCHAR* pExeFileName)\n{\n\tbool bRet;\n\tchar* FileName = new char[TStrLen(pExeFileName)+1];\n\tTStrCpy(FileName,pExeFileName);\n\tbRet = ListGlobalSymbols(FileName);\n\tdelete []FileName;\n\treturn bRet;\n}\nbool CNoPDBSymbol::ListGlobalSymbols(char* pExeFileName)\n{\n\tbool bRet = false;\n\tbool bLineRet=false;\n\tm_LoadModule64 = m_SymLoadModule64(MY_PROCESS_HANDLE,NULL,pExeFileName,NULL,0,0);\n\tif(m_LoadModule64==0)\n\t\treturn false;\n\tif(m_SymEnumSymbols(MY_PROCESS_HANDLE,m_LoadModule64,NULL,SymEnumSymbolsCallBackProc,this))\n\t{\n\t\tbRet=true;\n\t}\n\t/*\n\tif(m_SymEnumTypes(MY_PROCESS_HANDLE,m_LoadModule64,SymEnumTypesCallBackProc,this))\n\t{\n\t\tbRet=true;\n\t}\n\tif(m_SymEnumLines(MY_PROCESS_HANDLE,m_LoadModule64,NULL,NULL,SymEnumLinesCallBackProc,this))\n\t{\n\t\tbLineRet=true;\n\t}\n\tif(bLineRet)\n\t{\n\t\tCalculateLineLen();\n\t}\n\tOutputLineInfo();\n\t*/\n\tm_SymUnloadModule64(MY_PROCESS_HANDLE,m_LoadModule64);\n\tLoadPESym(pExeFileName);\n\tCOMSYMBOL_MAP symmap;\n\n\tPUBLIC_SYMBOL_MAP::iterator FindIT;\n\t\n\t\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\t\n\tmemset(&SdPublicSymbol,0,sizeof(SdPublicSymbol));\n\tSdPublicSymbol.UndecoratedName.Name=NULL;\n\t\n\tCOMSYMBOL_MAP::iterator BeginIT,EndIT;\n\tif(GetComSymbols(pExeFileName,symmap))\n\t{\n\t\tBeginIT=symmap.begin();\n\t\tEndIT=symmap.end();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tSdPublicSymbol.Rva=BeginIT->second;\n\t\t\tSdPublicSymbol.uName.Name = new char[BeginIT->first.length()+1];\n\t\t\tTStrCpy(SdPublicSymbol.uName.Name,BeginIT->first.c_str());\n\t\t\tSdPublicSymbol.IsComVftable=1;\n\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t\t}\n\t\tsymmap.clear();\n\t}\n\n\treturn true;\n}\nbool CNoPDBSymbol::LoadPESym(char* FileName)\n{\n\tPUBLIC_SYMBOL_MAP::iterator FindIT;\n\tint n,m;\n\tchar szSymA[1024];\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\tPSDPUBLICSYMBOL pSdPublicSymbol;\n\tIMPORT_MODULE* pImportModule;\n\tSTIMPORTMODULENAME stImportModuleName; \n\tlist<STIMPORTMODULENAME>::iterator ModuleNameIT;\n\tchar* ImportModuleName;\n\tCPEFile PEFile;\n\tif(PEFile.Open(FileName)==false)\n\t\treturn false;\n\tmemset(&SdPublicSymbol,0,sizeof(SdPublicSymbol));\n\tSdPublicSymbol.IsImportEntry=true;\n\tfor(n=0;n<PEFile.m_ImportModuleCount;n++)\n\t{\n\t\tpImportModule=&PEFile.m_ImportModule[n];\n\t\tstImportModuleName.Name=pImportModule->ModuleName;\n\t\tModuleNameIT = find(m_ImportModuleNameList.begin(),m_ImportModuleNameList.end(),stImportModuleName);\n\t\tif(ModuleNameIT==m_ImportModuleNameList.end())\n\t\t{\n\t\t\tImportModuleName = new char[TStrLen(pImportModule->ModuleName)+1];\n\t\t\tTStrCpy(ImportModuleName,pImportModule->ModuleName);\n\t\t\tstImportModuleName.Name = ImportModuleName;\n\t\t\tm_ImportModuleNameList.push_back(stImportModuleName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tImportModuleName = (*ModuleNameIT).Name;\n\t\t}\n\n\t\tfor(m=0;m<pImportModule->FuncCount;m++)\n\t\t{\n\t\t\tSdPublicSymbol.Rva = pImportModule->FuncList[m].ThunkAddr-PEFile.m_PEHead.ImageBase;\n\t\t\tFindIT = m_PublicSymbolList.find(SdPublicSymbol);\n\t\t\tif(FindIT==m_PublicSymbolList.end())\n\t\t\t{\t\t\t\n\t\t\t\t//TSPrintf(szSymA,\"Import_%s_%s\",pImportModule->ModuleName,pImportModule->FuncList[m].FuncName);\n\t\t\t\tTSPrintf(szSymA,\"%s\",pImportModule->FuncList[m].FuncName);\n\t\t\t\tSdPublicSymbol.uName.Name = new char[TStrLen(szSymA)+1];\n\t\t\t\tTStrCpy\t(SdPublicSymbol.uName.Name,szSymA);\n\t\t\t\tSdPublicSymbol.Length=0;\n\t\t\t\tSdPublicSymbol.UndecoratedName.Name=ImportModuleName;\n\t\t\t\t//m_PublicSymbolList.insert(SdPublicSymbol,SdPublicSymbol.Rva);\n\t\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t\t\t}else\n\t\t\t{\n\t\t\t\tpSdPublicSymbol=(PSDPUBLICSYMBOL)&(*FindIT).first;\n\t\t\t\tpSdPublicSymbol->IsImportEntry=true;\n\t\t\t\tpSdPublicSymbol->UndecoratedName.Name=ImportModuleName;\n\t\t\t\t//(*FindIT).first.IsImportEntry=true;\n\t\t\t\t//   (*FindIT).first.UndecoratedName.Name=ImportModuleName;\n\t\t\t}\n\t\t}\n\t\tpImportModule++;\n\t}\n\tSdPublicSymbol.IsImportEntry=false;\n\tSdPublicSymbol.IsExportEntry=true;\n\tSdPublicSymbol.UndecoratedName.Name=NULL;\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\n\t\tSdPublicSymbol.Rva = PEFile.m_ExportFunc[n].Address-PEFile.m_PEHead.ImageBase;\n\t\tFindIT=m_PublicSymbolList.find(SdPublicSymbol);\n\t\tif(FindIT==m_PublicSymbolList.end())\n\t\t{\t\t\t\n\t\t\tTStrCpy(szSymA,PEFile.m_ExportFunc[n].FuncName);\n\t\t\tSdPublicSymbol.uName.Name = new char[TStrLen(szSymA)+1];\n\t\t\tTStrCpy\t(SdPublicSymbol.uName.Name,szSymA);\n\t\t\tSdPublicSymbol.Length=0;\n\t\t\t//m_PublicSymbolList.insert(SdPublicSymbol,SdPublicSymbol.Rva);\n\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t\t}else\n\t\t{\n\t\t\tpSdPublicSymbol=(PSDPUBLICSYMBOL)&(*FindIT).first;\n\t\t\t//(*FindIT).first.IsExportEntry=true;\n\t\t\tpSdPublicSymbol->IsExportEntry=\ttrue;\n\t\t}\n\t}\n\tPEFile.Close();\n\treturn true;\n}\nBOOL CALLBACK SymEnumSymbolsCallBackProc(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext)\n{\n\tCNoPDBSymbol* pNoPDBSymbol = (CNoPDBSymbol*)UserContext;\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\tchar buf[1024];\n\tDWORD RetLen=0;\n\tDWORD64 Rva;\n\tWCHAR* Name=NULL;\n\tDWORD offset = 0;\n\tmemset(&SdPublicSymbol,0,sizeof(SdPublicSymbol));\n\tif(TStrNICmp(pSymInfo->Name,\"__imp_\",6)==0)\n\t{\n\t\toffset = 6;\n\t\tTStrCpy(buf,\"__imp_\");\n\t}\n\tRetLen = pNoPDBSymbol->m_UnDecorateSymbolName(&pSymInfo->Name[offset],&buf[offset],sizeof(buf)-1-offset,0);\n\tif(RetLen)\n\t{\n\t\tSdPublicSymbol.uName.Name = new char[RetLen+1+offset];\n\t\tTStrCpy(SdPublicSymbol.uName.Name,buf);\n\t}else\n\t{\n\t\tSdPublicSymbol.uName.Name=new char [TStrLen(pSymInfo->Name)+1];\n\t\tTStrCpy(SdPublicSymbol.uName.Name,pSymInfo->Name);\n\t}\n\n\tRva = pSymInfo->Address - pNoPDBSymbol->m_LoadModule64;\n\tSdPublicSymbol.Rva=*(DWORD*)&Rva;\n\tSdPublicSymbol.Length=pSymInfo->Size;\n\tpNoPDBSymbol->m_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t//pNoPDBSymbol.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\treturn true;\n}\nBOOL CALLBACK SymEnumLinesCallBackProc(PSRCCODEINFO LineInfo,PVOID UserContext)\n{\n\tDWORD64 Rva;\n\tCNoPDBSymbol* pNoPDBSymbol = (CNoPDBSymbol*)UserContext;\n\tNAMEANDIDPAIR SourceName2Id,CompilandName2Id;\n\tDWORD SourceFileID,CompilandID;\n\tPSDCOMPILAND pCompiland;\n\tID_TO_SOURCE_FILE_NAME_MAP::iterator FindIT;\n\tID_TO_COMPILAND_NAME_MAP::iterator CompilandFindIT;\n\tSDLINE SDLine;\n\tSourceName2Id.Name=LineInfo->FileName;\n\tFindIT = pNoPDBSymbol->m_IdToSourceFileNameMap.find(SourceName2Id);\n\tif(FindIT==pNoPDBSymbol->m_IdToSourceFileNameMap.end())\n\t{\n\t\tSourceName2Id.Name = new char[TStrLen(LineInfo->FileName)+1];\n\t\tTStrCpy(SourceName2Id.Name,LineInfo->FileName);\n\t\tSourceName2Id.Id = pNoPDBSymbol->m_CurrentSourceFileIndex++;\n\t\tSourceFileID = SourceName2Id.Id;\n\t\tpNoPDBSymbol->m_IdToSourceFileNameMap.insert(ID_TO_SOURCE_FILE_NAME_MAP::value_type(SourceName2Id,SourceFileID));\n\t}\n\telse\n\t{\n\t\tSourceFileID = FindIT->first.Id;\n\t}\n\tCompilandName2Id.Name=LineInfo->Obj;\n\tCompilandFindIT = pNoPDBSymbol->m_IdToCompilandMap.find(CompilandName2Id);\t\n\tif(CompilandFindIT == pNoPDBSymbol->m_IdToCompilandMap.end())\n\t{\n\t\tpCompiland = new SDCOMPILAND;\n\t\tmemset(pCompiland,0,sizeof(SDCOMPILAND));\n\t\tpCompiland->uName.Name = new char[TStrLen(LineInfo->Obj)+1];\n\t\tTStrCpy(pCompiland->uName.Name,LineInfo->Obj);\n\t\tpCompiland->CompilandId=pNoPDBSymbol->m_CurrentCompilandIndex++;\n\t\tCompilandID=pCompiland->CompilandId;\n\t\tpNoPDBSymbol->m_IdToCompilandMap.insert(ID_TO_COMPILAND_NAME_MAP::value_type(CompilandName2Id,pCompiland));\n\t}\n\telse\n\t{\n\t\tpCompiland = CompilandFindIT->second;\n\t\tCompilandID = pCompiland->CompilandId;\n\t}\n\tRva = LineInfo->Address-pNoPDBSymbol->m_LoadModule64;\n\tSDLine.Rva = *(DWORD*)&Rva;\n\tSDLine.FileID=SourceFileID;\n\tSDLine.CompilandId=CompilandID;\n\tSDLine.LineNumber=LineInfo->LineNumber;\n\tpNoPDBSymbol->m_TotalLineNumber.push_back(SDLine);\n\treturn true;\n}\n\n\nvoid CNoPDBSymbol::test(PSYMBOL_INFO pSymInfo,ULONG SymbolSize)\n{\n\tCNoPDBSymbol* pNoPDBSymbol=this;\n\tGETTYPEINFOPARAM Param;\n\tint i = 1;\n\t\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_ADDRESS,&Param.ul64Value))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_ADDRESSOFFSET,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_ARRAYINDEXTYPEID,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_BASETYPE,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_BITPOSITION,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_CALLING_CONVENTION,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_CHILDRENCOUNT,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_CLASSPARENTID,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_COUNT,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_DATAKIND,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_LENGTH,&Param.ul64Value))\n\t{\n\t\ti = 0;\n\t}\n\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_LEXICALPARENT,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_NESTED,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_OFFSET,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_SYMINDEX,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(pNoPDBSymbol->m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_SYMNAME,&Param.wName))\n\t{\n\t\ti = 0;\n\t\t//delete Param.wName;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_SYMTAG,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_THISADJUST,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_TYPEID,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_UDTKIND,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_VALUE,&Param.Variant))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_VIRTUALBASECLASS,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_VIRTUALBASEPOINTEROFFSET,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\t/*\n\tif(m_SymGetTypeInfo(MY_PROCESS_HANDLE,pNoPDBSymbol->m_LoadModule64,pSymInfo->TypeIndex,TI_GET_SYMINDEX,&Param.dwValue))\n\t{\n\t\ti = 0;\n\t}\n\t*/\n}\nBOOL CALLBACK SymEnumTypesCallBackProc(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext)\n{\n\tCNoPDBSymbol* pNoPDBSymbol = (CNoPDBSymbol*)UserContext;\n\tOutputDebugString(\"TYPE:\");\n\tOutputDebugString(pSymInfo->Name);\n\tOutputDebugString(\"\\n\");\n\treturn true;\n}\nvoid CNoPDBSymbol::Release()\n{\n\tif(m_LoadModule64)\n\t\tm_SymUnloadModule64(MY_PROCESS_HANDLE,m_LoadModule64);\n\tm_LoadModule64=0;\n\tm_SymCleanup( MY_PROCESS_HANDLE ); \n}\nvoid CNoPDBSymbol::CalculateLineLen()\n{\n\tDWORD PrevRva,CurrentRva;\n\t\n\tLINE_LIST::iterator BeginIT,EndIT,PrevIT;\n\tif(m_TotalLineNumber.size()==0)\n\t\treturn;\n\tm_TotalLineNumber.sort();\n\tBeginIT = m_TotalLineNumber.begin();\n\tPrevIT=BeginIT;\n\tEndIT=m_TotalLineNumber.end();\n\tif(BeginIT==EndIT)\n\t\treturn;\n\tBeginIT++;\n\tPrevRva = BeginIT->Rva;\n\tfor(;BeginIT!=EndIT;BeginIT++,PrevIT++)\n\t{\n\t\tCurrentRva = BeginIT->Rva;\n\t\tPrevIT->Len=CurrentRva-PrevRva;\n\t\tPrevRva=CurrentRva;\n\t}\n\tif(PrevIT!=EndIT)\n\t\tPrevIT->Len=1;\n}\nvoid CNoPDBSymbol::OutputLineInfo()\n{\n\tchar DisplayBuf[100];\n\tID_TO_SOURCE_FILE_NAME_MAP::iterator SourceFileBeginIT,SourceFileEndIT;\n\tID_TO_COMPILAND_NAME_MAP::iterator CompilandBeginIT,CompilandEndIT;\n\tLINE_LIST::iterator LineBeginIT,LineEndIT;\n\tSourceFileBeginIT = m_IdToSourceFileNameMap.begin();\n\tSourceFileEndIT = m_IdToSourceFileNameMap.end();\n\tfor(;SourceFileBeginIT!=SourceFileEndIT;SourceFileBeginIT++)\n\t{\n\t\tOutputDebugString(SourceFileBeginIT->first.Name);\n\t\tOutputDebugString(\"\\n\");\n\t}\n\tCompilandBeginIT = m_IdToCompilandMap.begin();\n\tCompilandEndIT = m_IdToCompilandMap.end();\n\tfor(;CompilandBeginIT!=CompilandEndIT;CompilandBeginIT++)\n\t{\n\t\tOutputDebugString(CompilandBeginIT->first.Name);\n\t\tOutputDebugString(\"\\n\");\n\t}\n\tLineBeginIT = m_TotalLineNumber.begin();\n\tLineEndIT = m_TotalLineNumber.end();\n\tfor(;LineBeginIT!=LineEndIT;LineBeginIT++)\n\t{\n\t\tsprintf(DisplayBuf,\"LineNumber =%04d %08x %08x %d %d\\n\",LineBeginIT->LineNumber,LineBeginIT->Rva,LineBeginIT->Len,LineBeginIT->CompilandId,LineBeginIT->FileID);\n\t\tOutputDebugString(DisplayBuf);\n\t}\n}\n\nbool CNoPDBSymbol::TranslateSymbolFile(IN PCSTR pExeFileName,OUT PSTR pSymbolFileName)\n{\n\tint Len;\n\tbool bRet;\n\tWCHAR* pwszExeFileName,*pwszSymbolFileName=NULL;\n\tif(pSymbolFileName)\n\t{\n\t\tLen = TStrLen(pSymbolFileName)+1;\n\t\tpwszSymbolFileName = new WCHAR[512];\n\t\tAnsiToUnicode(pSymbolFileName,pwszSymbolFileName,Len);\n\t}\n\tLen = TStrLen(pExeFileName)+1;\n\tpwszExeFileName = new WCHAR[Len];\n\tAnsiToUnicode(pExeFileName,pwszExeFileName,Len);\n\tbRet = TranslateSymbolFile(pwszExeFileName,pwszSymbolFileName);\n\tif(pSymbolFileName)\n\t{\n\t\tTStrCpy(pSymbolFileName,pwszSymbolFileName);\n\t\tdelete []pwszSymbolFileName;\n\t}\n\tdelete []pwszExeFileName;\n\treturn bRet;\n}\n\nbool CNoPDBSymbol::TranslateSymbolFile(IN WCHAR* pExeFileName,OUT WCHAR *pSymbolFileName)\n{\t\t\n\tchar *pDestSymbolName;\n\tchar *ExtFile;\n\tULLSIZE FileLen;\n\tWCHAR NewExeFile[MAX_PATH];\n\tSDSYMBOLFILE SDSymbolFile;\n\tbool Valid;\n\tDWORD TimeDateStamp=0;\n\tDWORD PECheckSum=0;\n\tbool IsPDBFile=false;\n\tif(IsSymbolFile(pExeFileName,&Valid))\n\t{\n\t\tif(Valid)\n\t\t{\n\t\t\tif(pSymbolFileName)\n\t\t\t\tTStrCpy(pSymbolFileName,pExeFileName);\n\t\t\treturn true;\n\t\t}\n\t\tDWORD Len=sizeof(NewExeFile)/sizeof(NewExeFile[0]);\n\t\tif(GetPEFileFullName(pExeFileName,NewExeFile,&Len)==false)\n\t\t\treturn false;\n\t\tpExeFileName=NewExeFile;\n\t\tgoto local_001;\n\t}\n\telse\n\t{\t\nlocal_001:\n\t\tchar ModulePath[MAX_FN_LEN];\n\t\tDWORD ModulePathLen;\n\t\tWCHAR*pTempName;\n\t\tpDestSymbolName = new char[MAX_FN_LEN];\n\t\tModulePathLen = GetModulePath(ModulePath);\n\t\tTStrCat(ModulePath,\"Symbols\");\n\t\tif(gpFileIO->IsDir(ModulePath)==false)\n\t\t{\n\t\t\tif(CreateDirectory(ModulePath,NULL)==false)\n\t\t\t{\n\t\t\t\t::MessageBox(NULL,\"Fail to create directory!\",ModulePath,MB_OK);\n\t\t\t\tdelete []pDestSymbolName;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tTStrCat(ModulePath,PATH_SEPARATOR_STR);\n\t\tpTempName=TGetFileExt(pExeFileName);\n\t\tTStrCat(ModulePath,pTempName);\n\t\tif(gpFileIO->IsDir(ModulePath)==false)\n\t\t{\n\t\t\tif(CreateDirectory(ModulePath,NULL)==false)\n\t\t\t{\n\t\t\t\t::MessageBox(NULL,\"Fail to create directory!\",ModulePath,MB_OK);\n\t\t\t\tdelete []pDestSymbolName;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tTStrCat(ModulePath,PATH_SEPARATOR_STR);\n\t\tTStrCat(ModulePath,TGetFileName(pExeFileName));\n\t\tExtFile = TGetFileExt(ModulePath);\n\t\tTStrCpy(ExtFile,\"sds\");\n\t\tif(pSymbolFileName)\n\t\t\tTStrCpy(pSymbolFileName,ModulePath);\n\t\tTStrCpy(pDestSymbolName,ModulePath);\n\t\tDWORD PECheckSum;\n\t\tGetPEFileTimeDateStamp(pExeFileName,&TimeDateStamp,&PECheckSum);\n\t\tif(gpFileIO->IsFileExist(pDestSymbolName))\n\t\t{\n\t\t\tif(gpFileIO->ReadFromFile(pDestSymbolName,&SDSymbolFile,sizeof(SDSYMBOLFILE))==sizeof(SDSYMBOLFILE))\n\t\t\t{\n\t\t\t\tFileLen = gpFileIO->GetFileSize(pDestSymbolName);\n\t\t\t\tif(SDSymbolFile.FileLen==*(DWORD*)&FileLen&&SDSymbolFile.ModuleID.TimeDateStamp==TimeDateStamp)\n\t\t\t\t{\n\t\t\t\t\tdelete []pDestSymbolName;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tListGlobalSymbols(pExeFileName);\n\tCreateSDSymbolFile(pDestSymbolName,TimeDateStamp,PECheckSum,pExeFileName);\n\tdelete []pDestSymbolName;\n\treturn true;\n}\n\n\n\nbool CNoPDBSymbol::CreateSDSymbolFile(char *FileName,DWORD TimeDateStamp,DWORD PECheckSum,WCHAR* pExeFileName)\n{\n\tchar *NullPage,*TempChar,*FileHeaderBuf;\n\tSDSYMBOLFILE* pSDSymbolFile;\n\tSDTYPE NullType;\n\tDWORD dwWriteLen,DataCounter,Temp,SymbolCounter,Index=0;\n\tDWORD* pSymbolOffsetArray;\n\tsize_t Size;\n\tDWORD FileHeaderLen;\n\n\tNullPage=new char[0x1000];\n\tmemset(NullPage,0,0x1000);\n\tm_StringTableBlockBeginOffset=0;\n\tm_CurrentStringTableMaxLen=STRINGTABLEDUMPBLOCKSIZE;\n\tm_StringTable = new char[m_CurrentStringTableMaxLen];\n\tmemset(m_StringTable,0,m_CurrentStringTableMaxLen);\n\tm_StringTableOffset=1;\n\tm_StringIndex=1;\n\n\tFileHeaderBuf = new char[SDSF_FILE_HEADER_SIZE];\n\tmemset(FileHeaderBuf,0,SDSF_FILE_HEADER_SIZE);\n\tpSDSymbolFile = (SDSYMBOLFILE*)FileHeaderBuf;\n\tpSDSymbolFile->Sig = SYSER_DEBUG_SYMBOL_FILE_SIG;\n\tpSDSymbolFile->SymbolDirectoryEntryNum=SD_MAX_TYPEIDS;\n\tpSDSymbolFile->Version=SYSER_DEBUG_SYMBOL_FILE_VER;\n\n\t\n\tpSDSymbolFile->SymbolTotalNum=1;//ΪһյҪһ\n\tpSDSymbolFile->UnionSymbolTable.SymbolTableOffset=SDSF_FILE_HEADER_SIZE;\n\tpSDSymbolFile->ModuleID.TimeDateStamp = TimeDateStamp;\n\tpSDSymbolFile->ModuleID.OrgPECheckSum=PECheckSum;\n\tif(gpFileIO->CreateFile(FileName,&m_hFile)==false)\n\t\treturn false;\n\tgpFileIO->WriteFile(m_hFile,FileHeaderBuf,SDSF_FILE_HEADER_SIZE);//дļͷ\t\n\tm_FileOffset=SDSF_FILE_HEADER_SIZE;\t\t\n\tSymbolCounter=pSDSymbolFile->SymbolTotalNum;\t\n\tSize=0;\n\tDataCounter=*(DWORD*)&Size;\t\n\tpSymbolOffsetArray = new DWORD [SymbolCounter];\n\tmemset(pSymbolOffsetArray,0,sizeof(DWORD)*SymbolCounter);\t\t\n\tIndex=0;\n\tpSymbolOffsetArray[Index]=m_FileOffset;\n\tmemset(&NullType,0,sizeof(SDTYPE));\n\tgpFileIO->WriteFile(m_hFile,&NullType,sizeof(SDTYPE));\t\t\t//дһսṹ\n\tm_FileOffset+=sizeof(SDTYPE);\n\tm_StringIDVector.push_back(0);\t\t\t\t\t\t\t\t\t//յַ\n\tULLPOS CurFileLen;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//ŵļ\n\t////////////////////////////////////////////////////////\n\n\t////////////////////////////////////////////////////////\n\t//ƫƱļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionSymbolIndexTable.SymbolIndexTableOffset=m_FileOffset;\n\tgpFileIO->WriteFile(m_hFile,pSymbolOffsetArray,sizeof(DWORD)*SymbolCounter);\n\tm_FileOffset+=(sizeof(DWORD)*SymbolCounter);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//Ϣļ\n\t////////////////////////////////////////////////////////\n\n\t////////////////////////////////////////////////////////\n\t//溯Ϣļ\n\t////////////////////////////////////////////////////////\n\n\t////////////////////////////////////////////////////////\n\t//溯ϢƫƱļ\n\t////////////////////////////////////////////////////////\n\n\t////////////////////////////////////////////////////////\n\t//кϢļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionLineNumber.LineNumberOffset=m_FileOffset;\n\tDWORD WritedLen = DumpSDLineNumberToFile(&pSDSymbolFile->LineNumberCounter);\n\tm_FileOffset+=WritedLen;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\n\t////////////////////////////////////////////////////////\n\t//Դļбļ\n\t////////////////////////////////////////////////////////\n\t\n\t////////////////////////////////////////////////////////\n\t//ȫֵķűļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionPublicSymbol.PublicSymbolOffset=m_FileOffset;\n\tdwWriteLen = DumpSDPublicSymbolToFile(&pSDSymbolFile->PublicSymbolCounter);\n\tm_FileOffset+=dwWriteLen;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t// Compiland ļ\n\t////////////////////////////////////////////////////////\n\n\t////////////////////////////////////////////////////////\n\t//ַƫƱļ\n\t////////////////////////////////////////////////////////\n\tSize = m_StringIDVector.size();\n\tpSDSymbolFile->StringTotalNum=*(DWORD*)&Size;\n\tpSDSymbolFile->UnionStringIndexTable.StringIndexTableOffset=m_FileOffset;\n\tif(pSDSymbolFile->StringTotalNum>SymbolCounter)\n\t{\t\t\n\t\tdelete []pSymbolOffsetArray;\n\t\tpSymbolOffsetArray = new DWORD[pSDSymbolFile->StringTotalNum];\t\n\t}\t\t\n\tfor(unsigned i=0;i<pSDSymbolFile->StringTotalNum;i++)\n\t\tpSymbolOffsetArray[i]=m_StringIDVector[i];\t\t\n\tgpFileIO->WriteFile(m_hFile,pSymbolOffsetArray,sizeof(DWORD)*pSDSymbolFile->StringTotalNum);\n\tdelete []pSymbolOffsetArray;\n\tm_FileOffset+=(sizeof(DWORD)*pSDSymbolFile->StringTotalNum);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t// ļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionStringTable.StringTableOffset=m_FileOffset;\n\tDUMP_STRING_LOCK_LIST::iterator FirstIt,LastIt;\n\tFirstIt = m_StringDumpBlockList.begin();\n\tLastIt = m_StringDumpBlockList.end();\n\tfor(;FirstIt!=LastIt;FirstIt++)\n\t{\n\t\tvoid * WBuf=(*FirstIt).BlockBaseAddress ;\n\t\tDWORD WLen=(*FirstIt).EndOffset-(*FirstIt).BeginOffset;\n\t\tgpFileIO->WriteFile(m_hFile,WBuf,WLen);\n\t\tm_FileOffset+=WLen;\n\t\tdelete []WBuf;\n\t}\n\n\tgpFileIO->WriteFile(m_hFile,m_StringTable,m_StringTableOffset-m_StringTableBlockBeginOffset);\n\tm_FileOffset+=m_StringTableOffset-m_StringTableBlockBeginOffset;\n\tdelete []m_StringTable;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tFileHeaderLen=SDSF_FILE_HEADER_SIZE-sizeof(SDSYMBOLFILE);\n\n\tTemp = TStrLen(TGetFileName(pExeFileName))+1;\n\tif(FileHeaderLen<Temp)\n\t{\n\t\tpSDSymbolFile->uPEFileName.PEFileNameOffset = m_FileOffset;\n\t\tTStrCpy(NullPage,TGetFileName(pExeFileName));\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t\tm_FileOffset += Temp;\n\t\tpSDSymbolFile->PEFileNameLen=Temp;\n\t}\n\telse\n\t{\n\t\tpSDSymbolFile->uPEFileName.PEFileNameOffset = SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\tTempChar=(char*)pSDSymbolFile;\n\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],TGetFileName(pExeFileName));\n\t\tFileHeaderLen-=Temp;\n\t\tpSDSymbolFile->PEFileNameLen=Temp;\n\t}\n\tTemp = TStrLen(pExeFileName)+1;\n\tif(FileHeaderLen<Temp)\n\t{\n\t\tpSDSymbolFile->uPDBFileName.PDBFileNameOffset = m_FileOffset;\n\t\tTStrCpy(NullPage,pExeFileName);\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t\tm_FileOffset += Temp;\n\t\tpSDSymbolFile->PDBFileNameLen=Temp;\n\t}\n\telse\n\t{\n\t\tpSDSymbolFile->uPDBFileName.PDBFileNameOffset = SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\tTempChar=(char*)pSDSymbolFile;\n\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],pExeFileName);\n\t\tFileHeaderLen-=Temp;\n\t\tpSDSymbolFile->PDBFileNameLen=Temp;\n\t}\n\tif(pExeFileName)\n\t{\n\t\tTemp = TStrLen(pExeFileName)+1;\n\t\tif(FileHeaderLen<Temp)\n\t\t{\n\t\t\tTempChar = new char[Temp];\n\t\t\tTStrCpy(TempChar,pExeFileName);\n\t\t\tpSDSymbolFile->uPEFileFullName.PEFileFullNameOffset=m_FileOffset;\n\t\t\tgpFileIO->WriteFile(m_hFile,TempChar,Temp);\n\t\t\tm_FileOffset+=Temp;\n\t\t\tpSDSymbolFile->PEFileFullNameLen=Temp;\n\t\t\tdelete []TempChar;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpSDSymbolFile->uPEFileFullName.PEFileFullNameOffset=SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\t\tTempChar=(char*)pSDSymbolFile;\n\t\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],pExeFileName);\n\t\t\tFileHeaderLen-=Temp;\n\t\t\tpSDSymbolFile->PEFileFullNameLen=Temp;\n\t\t}\n\t}\n\tpSDSymbolFile->FileLen=m_FileOffset;\n\tDWORD FileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_END);\n\tDWORD Tmp = *(DWORD*)&FileLen & 0xFFF;\n\tif(Tmp)\n\t{\n\t\tTmp = 0x1000-Tmp;\n\t\tchar *BufChar=new char[Tmp];\n\t\tif(BufChar)\n\t\t{\n\t\t\tmemset(BufChar,0,Tmp);\n\t\t\tgpFileIO->WriteFile(m_hFile,BufChar,Tmp);\n\t\t\tFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_END);\n\t\t\tpSDSymbolFile->FileLen = FileLen;\n\t\t\tdelete []BufChar;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpSDSymbolFile->CheckSum=0;\n\t\t}\n\t}\n\n\n\tgpFileIO->WriteFile(m_hFile,pSDSymbolFile,SDSF_FILE_HEADER_SIZE,0);\n\tgpFileIO->CloseHandle(m_hFile);\n\tWriteSDSymbolFileCheckSum(FileName);\n\tdelete []NullPage;\n\tdelete []FileHeaderBuf;\n\tReleaseResource();\n\treturn true;\n}\n\nbool CNoPDBSymbol::WriteSDSymbolFileCheckSum(const char *FileName)\n{\n\tDWORD FileLen,i;\n\tDWORD* pBuffer;\n\tHANDLE hFile;\n\tPSDSYMBOLFILE pSDSymbolFile;\n\tULONGLONG CheckSum=0;\n\tif(gpFileIO->OpenFile(FileName,&hFile,FIO_READ|FIO_WRITE)==false)\n\t\treturn false;\n\n\tFileLen = (DWORD)gpFileIO->GetFileLength(hFile);\n\tif(FileLen&0xfff)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tpBuffer = (DWORD*)new BYTE[FileLen];\n\tif(pBuffer==NULL)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tgpFileIO->SetFilePointer(hFile,0,FILE_CURRENT);\n\tif(gpFileIO->ReadFile(hFile,pBuffer,FileLen,0)!=FileLen)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\t\n\tpSDSymbolFile = (PSDSYMBOLFILE)pBuffer;\n\tpSDSymbolFile->CheckSum=0;\n\tfor(i = 0; i < FileLen/sizeof(DWORD);i++)\n\t{\n\t\tCheckSum+=pBuffer[i];\n\t}\n\n\tpSDSymbolFile->CheckSum=*(DWORD*)&CheckSum;\n\tgpFileIO->WriteFile(hFile,pSDSymbolFile,sizeof(SDSYMBOLFILE),0);\n\tgpFileIO->FlushFileBuffer(hFile);\n\tgpFileIO->CloseHandle(hFile);\n\tdelete []pBuffer;\n\treturn true;\n}\n\nDWORD CNoPDBSymbol::ReleaseResource()\n{\n\tPUBLIC_SYMBOL_MAP::iterator FirstIt,SecondIt;\n\n\tFirstIt = m_PublicSymbolList.begin();\n\tSecondIt = m_PublicSymbolList.end();\n\tfor(;FirstIt!=SecondIt;FirstIt++)\n\t\tif((*FirstIt).first.uName.Name)\n\t\t\tdelete (*FirstIt).first.uName.Name;\t\n\n\tm_PublicSymbolList.clear();\n\tm_TotalLineNumber.clear();\n\tID_TO_COMPILAND_NAME_MAP::iterator CompilandFirstIt,CompilandSecondIt;\n\tCompilandFirstIt=m_IdToCompilandMap.begin();\n\tCompilandSecondIt=m_IdToCompilandMap.end();\n\tfor(;CompilandFirstIt!=CompilandSecondIt;CompilandFirstIt++)\n\t{\n\t\tdelete [] CompilandFirstIt->first.Name;\n\t\tdelete CompilandFirstIt->second;\n\t}\n\tm_IdToCompilandMap.clear();\t\n\tID_TO_SOURCE_FILE_NAME_MAP::iterator SourceFileFirstIT,SourceFileSecondIT;\n\tSourceFileFirstIT = m_IdToSourceFileNameMap.begin();\n\tSourceFileSecondIT = m_IdToSourceFileNameMap.end();\n\tfor(;SourceFileFirstIT!=SourceFileSecondIT;SourceFileFirstIT++)\n\t\tdelete []SourceFileFirstIT->first.Name;\n\tm_IdToSourceFileNameMap.clear();\n\tlist<STIMPORTMODULENAME>::iterator IMNBeginIT,IMNEndIT;\n\tIMNBeginIT = m_ImportModuleNameList.begin();\n\tIMNEndIT = m_ImportModuleNameList.end();\n\tfor(;IMNBeginIT!=IMNEndIT;IMNBeginIT++)\n\t{\n\t\tdelete []IMNBeginIT->Name;\n\t}\n\tm_ImportModuleNameList.clear();\n\treturn true;\n}\n\nDWORD CNoPDBSymbol::DumpSDPublicSymbolToFile(DWORD* PublicSymbolNumbers)\n{\t\t\n\tSDPUBLICSYMBOL* pPublicSymbol;\n\tSDPUBLICSYMBOL TmpPubSymbols;\n\tstatic bool stringname=false;\n\tstatic DWORD stringnameid=0;\n\tchar string[]=\"`string'\";\n\tbool bOK;\n\tDWORD ImportNum=0,ExportNum=0;\n\tPUBLIC_SYMBOL_MAP::iterator BeginIt,EndIt;\t\t\n\tsize_t count = m_PublicSymbolList.size();\n\tDWORD WriteLen =*(DWORD*)&count * sizeof(SDPUBLICSYMBOL);\n\tvector<DWORD>::iterator beingIt,endIt,valueIt;\n\tpPublicSymbol = new SDPUBLICSYMBOL[count];\n\tmemset(pPublicSymbol,0,WriteLen);\n\tBeginIt = m_PublicSymbolList.begin();\n\tEndIt = m_PublicSymbolList.end();\n\n\tint i,j = 0,k=0,m=0;\n\tfor( i =0;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tbOK=false;\n\t\tif(m_OnlyImportSymbol||m_OnlyExportSymbol)\n\t\t{\n\t\t\tTmpPubSymbols = (*BeginIt).first;\n\t\t\tif(m_OnlyImportSymbol)\n\t\t\t{\n\t\t\t\tif(TmpPubSymbols.IsImportEntry)\n\t\t\t\t\tbOK=true;\n\t\t\t}\n\t\t\tif(m_OnlyExportSymbol)\n\t\t\t{\n\t\t\t\tif(TmpPubSymbols.IsExportEntry)\n\t\t\t\t\tbOK=true;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tbOK=true;\n\t\t}\n\t\tif(bOK==false)\n\t\t\tcontinue;\n\t\tpPublicSymbol[i]=(*BeginIt).first;\n\t\tif(TStrCmp(string,pPublicSymbol[i].uName.Name))\n\t\t\tpPublicSymbol[i].uName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].uName.Name);\n\t\telse\n\t\t{\n\t\t\tif(stringname)\n\t\t\t{\n\t\t\t\tk++;\n\t\t\t\tpPublicSymbol[i].uName.StringTableIndex=stringnameid;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpPublicSymbol[i].uName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].uName.Name);\n\t\t\t\tstringname=true;\n\t\t\t\tstringnameid=pPublicSymbol[i].uName.StringTableIndex;\n\t\t\t}\n\t\t}\n\t\tpPublicSymbol[i].UndecoratedName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].UndecoratedName.Name);\n\t\ti++;\n\t}\n\tWriteLen = i*sizeof(SDPUBLICSYMBOL);\n\tgpFileIO->WriteFile(m_hFile,pPublicSymbol,WriteLen);\n\tdelete []pPublicSymbol;\n\tif(PublicSymbolNumbers)\n\t\t*PublicSymbolNumbers=i;\n\treturn WriteLen;\n}\n\nDWORD CNoPDBSymbol::DumpSDTypeName(char* Name)\n{\n\tDWORD NameLen;\n\tif(Name==NULL||Name[0]==0)\n\t\treturn 0;\n\tNameLen = TStrLen(Name);\n\tif(NameLen+m_StringTableOffset+1 >= m_CurrentStringTableMaxLen)\n\t{\n\t\tDUMPSTRINGTABLEBLOCK DumpStringTableBlock;\n\t\tDumpStringTableBlock.BlockBaseAddress = m_StringTable;\n\t\tDumpStringTableBlock.EndOffset = m_StringTableOffset;\n\t\tDumpStringTableBlock.BeginOffset=m_StringTableBlockBeginOffset;\n\t\tm_StringDumpBlockList.push_back(DumpStringTableBlock);\n\t\tint Len = STRINGTABLEDUMPBLOCKSIZE - m_StringTableOffset % STRINGTABLEDUMPBLOCKSIZE + STRINGTABLEDUMPBLOCKSIZE;\n\t\tm_StringTable = new char[Len];\n\t\tm_CurrentStringTableMaxLen+=STRINGTABLEDUMPBLOCKSIZE;\n\t\tm_StringTableBlockBeginOffset=m_StringTableOffset;\n\t}\n\n\tSTRINGOFTABLE StringOfTable(Name);\n\tSTRING_TO_ID_MAP::iterator FindIt=m_String2IDMap.find(StringOfTable);\n\tif(FindIt==m_String2IDMap.end())\n\t{\n\t\tm_String2IDMap.insert(STRING_TO_ID_MAP::value_type(StringOfTable,m_StringIndex));\n\t\tTStrCpy(m_StringTable-m_StringTableBlockBeginOffset+m_StringTableOffset,Name);\n\t\tm_StringIDVector.push_back(m_StringTableOffset);\n\t\tm_StringTableOffset=NameLen+1+m_StringTableOffset;\n\t\tm_StringIndex++;\n\t}\n\telse\n\t\treturn FindIt->second;\n\n\treturn m_StringIndex-1;\n}\n\n\nbool CNoPDBSymbol::IsSymbolFile(WCHAR* pFileName,OUT bool* Valid)\n{\n\tULLSIZE FileLen;\n\tSDSYMBOLFILE SDSymbolFile;\n\tchar* pStrFileName = new char[TStrLen(pFileName)+1];\n\tTStrCpy(pStrFileName,pFileName);\n\tif(gpFileIO->IsFileExist(pStrFileName)==false)\n\t\tgoto exit_local_001;\n\tif(gpFileIO->ReadFromFile(pStrFileName,&SDSymbolFile,sizeof(SDSymbolFile))!=sizeof(SDSymbolFile))\n\t\tgoto exit_local_001;\n\tif(SDSymbolFile.Sig!=SYSER_DEBUG_SYMBOL_FILE_SIG)\n\t\tgoto exit_local_001;\n\tif(Valid)\n\t{\n\t\tFileLen =gpFileIO->GetFileSize(pStrFileName);\n\t\tif(FileLen==SDSymbolFile.FileLen)\n\t\t\t*Valid=true;\n\t\telse\n\t\t\t*Valid=false;\n\t}\n\tdelete []pStrFileName;\n\treturn true;\nexit_local_001:\n\tdelete []pStrFileName;\n\treturn false;\n}\nbool CNoPDBSymbol::IsSymbolFile(char* pFileName,OUT bool* Valid)\n{\n\tULLSIZE FileLen;\n\tSDSYMBOLFILE SDSymbolFile;\n\tchar* pStrFileName = new char[TStrLen(pFileName)+1];\n\tTStrCpy(pStrFileName,pFileName);\n\tif(gpFileIO->IsFileExist(pStrFileName)==false)\n\t\tgoto exit_local_001;\n\tif(gpFileIO->ReadFromFile(pStrFileName,&SDSymbolFile,sizeof(SDSymbolFile))!=sizeof(SDSymbolFile))\n\t\tgoto exit_local_001;\n\tif(SDSymbolFile.Sig!=SYSER_DEBUG_SYMBOL_FILE_SIG)\n\t\tgoto exit_local_001;\n\tif(Valid)\n\t{\n\t\tFileLen =gpFileIO->GetFileSize(pStrFileName);\n\t\tif(FileLen==SDSymbolFile.FileLen)\n\t\t\t*Valid=true;\n\t\telse\n\t\t\t*Valid=false;\n\t}\n\tdelete []pStrFileName;\n\treturn true;\nexit_local_001:\n\tdelete []pStrFileName;\n\treturn false;\n}\n\nbool CNoPDBSymbol::GetPEFileFullName(char* pSymbolFileName,WCHAR* pPEFileFullName,DWORD* BufferLen)\n{\n\tbool bRet;\n\tWCHAR* pwSymbolFileName = new WCHAR[TStrLen(pSymbolFileName)+1];\n\tTStrCpy(pwSymbolFileName,pSymbolFileName);\n\tbRet = GetPEFileFullName(pwSymbolFileName,pPEFileFullName,BufferLen);\n\tdelete []pwSymbolFileName;\n\treturn bRet;\n}\nbool CNoPDBSymbol::GetPEFileFullName(WCHAR* pSymbolFileName,WCHAR* pPEFileFullName,DWORD* BufferLen)\n{\n\tbool Valid;\n\tchar *FileName;\n\tchar buf[SDSF_FILE_HEADER_SIZE];\n\tHANDLE hFile;\n\tPSDSYMBOLFILE pSDSymbolFile=(PSDSYMBOLFILE)buf;\n\tif(IsSymbolFile(pSymbolFileName,&Valid)==false)\n\t\treturn false;\n\tif(Valid==false)\n\t\treturn false;\n\tFileName = new char[TStrLen(pSymbolFileName)+1];\n\tTStrCpy(FileName,pSymbolFileName);\n\n\tif(gpFileIO->OpenFile(FileName,&hFile)==false)\n\t{\n\t\tdelete []FileName;\n\t\treturn false;\n\t}\n\tif(gpFileIO->ReadFile(hFile,pSDSymbolFile,sizeof(buf),0)!=sizeof(buf))\n\t{\n\t\tdelete []FileName;\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tdelete []FileName;\n\tif(pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset+pSDSymbolFile->PEFileFullNameLen <= sizeof(buf))\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\tchar* Name=(char*)pSDSymbolFile; \n\t\tif(BufferLen)\n\t\t{\n\t\t\tif(*BufferLen < pSDSymbolFile->PEFileFullNameLen)\n\t\t\t{\n\t\t\t\t*BufferLen=pSDSymbolFile->PEFileFullNameLen;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tTStrCpy(pPEFileFullName,&Name[pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset]);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tif(BufferLen)\n\t\t{\n\t\t\tif(*BufferLen < pSDSymbolFile->PEFileFullNameLen)\n\t\t\t{\n\t\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\t\t*BufferLen=pSDSymbolFile->PEFileFullNameLen;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tchar *Name = new char[pSDSymbolFile->PEFileFullNameLen];\n\t\tif(gpFileIO->ReadFile(hFile,Name,pSDSymbolFile->PEFileFullNameLen,pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset)!=pSDSymbolFile->PEFileFullNameLen)\n\t\t{\n\t\t\tdelete []Name;\n\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\treturn false;\n\t\t}\n\t\tTStrCpy(pPEFileFullName,Name);\n\t\tdelete []Name;\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn true;\n\t}\n\treturn true;\n}\nbool CNoPDBSymbol::GetPEFileTimeDateStamp(IN WCHAR* pPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD *pPECheckSum)\n{\n\tbool bRet;\n\tchar* NewFileName;\n\tDWORD Len = TStrLen(pPEFileName);\n\tNewFileName =new char[Len+1];\n\tTStrCpy(NewFileName,pPEFileName);\n\tbRet = GetPEFileTimeDateStamp(NewFileName,TimeDateStamp,pPECheckSum);\n\tdelete []NewFileName;\n\treturn bRet;\n}\nbool CNoPDBSymbol::GetPEFileTimeDateStamp(IN char* pPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD *pPECheckSum)\n{\n\tchar Buf[0x1000];\n\tMZHEAD* pMZHeader=(MZHEAD*)Buf;\n\tPE_HEAD* pPEHeader=NULL;\t\n\tDWORD Offset;\n\tchar* TempStr;\n\tULLSIZE FileSize;\n\tif(TimeDateStamp)\n\t\t*TimeDateStamp=0;\n\tif(gpFileIO->IsFileExist(pPEFileName)==false)\n\t\treturn false;\n\tFileSize = gpFileIO->GetFileSize(pPEFileName);\n\n\tif(gpFileIO->ReadFromFile(pPEFileName,Buf,sizeof(Buf))!=sizeof(Buf))\n\t\treturn false;\n\tif(pMZHeader->Signature != MZFILE_SIGNATURE && pMZHeader->Signature != MZFILE_SIGNATURE1)\n\t\treturn false;\n\tTempStr = (char*)&pPEHeader->TimeDateStamp+sizeof(pPEHeader->TimeDateStamp);\n\tOffset = *(DWORD*)&TempStr;\n\tif(pMZHeader->pfNewHead + Offset<=sizeof(Buf))\n\t{\n\t\tif(TimeDateStamp)\n\t\t{\n\n\t\t\tpPEHeader =(PE_HEAD*) &Buf[pMZHeader->pfNewHead];\n\t\t\tif(pPEHeader->Signature != PE_HEAD_SIGNATURE)\n\t\t\t\treturn false;\n\t\t\t*TimeDateStamp = pPEHeader->TimeDateStamp;\n\t\t\t*pPECheckSum=pPEHeader->CheckSum;\n\t\t\treturn true;\n\t\t}\n\t}\n\telse\n\t{\n\t\tHANDLE hFile;\n\t\tPE_HEAD PEHeader;\n\t\tif(gpFileIO->OpenFile(pPEFileName,&hFile)==false)\n\t\t\treturn false;\n\t\tif(gpFileIO->ReadFile(hFile,&PEHeader,sizeof(PEHeader),pMZHeader->pfNewHead)!=sizeof(PEHeader))\n\t\t{\n\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\treturn false;\n\t\t}\n\t\tif(PEHeader.Signature != PE_HEAD_SIGNATURE)\n\t\t{\n\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\treturn false;\n\t\t}\n\t\tif(TimeDateStamp)\n\t\t\t*TimeDateStamp=PEHeader.TimeDateStamp;\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn true;\n\t}\n\treturn false;\n}\nDWORD CNoPDBSymbol::DumpSDLineNumberToFile(DWORD* LineNumbers)\n{\t\n\tDWORD dwTotalLineNumbers=0;\t\n\tsize_t Size;\n\tDWORD WriteTotalLen=0;\t\n\tSDLINE* pLine;\t\n\tlist <SDLINE>::iterator BeginIT,EndIT;\n\tSize = m_TotalLineNumber.size();\n\tdwTotalLineNumbers = *(DWORD*)&Size;\n\tpLine = new SDLINE[dwTotalLineNumbers];\n\tWriteTotalLen = sizeof(SDLINE)*dwTotalLineNumbers;\n\tm_TotalLineNumber.sort();\n\tBeginIT=m_TotalLineNumber.begin();\n\tEndIT=m_TotalLineNumber.end();\n\tint i = 0;\n\tfor(;BeginIT!=EndIT;BeginIT++,i++)\t\n\t\tpLine[i]=*BeginIT;\n\tgpFileIO->WriteFile(m_hFile,pLine,WriteTotalLen);\n\tif(LineNumbers)\n\t\t*LineNumbers=dwTotalLineNumbers;\n\tdelete []pLine;\n\treturn WriteTotalLen;\n}\nvoid CNoPDBSymbol::SetImportSymbols(bool bOnly)\n{\n\tm_OnlyImportSymbol=bOnly;\n}\nvoid CNoPDBSymbol::SetExportSymbols(bool bOnly)\n{\n\tm_OnlyExportSymbol=bOnly;\n}"
  },
  {
    "path": "Project/SyserApp/Source/NoPDBSymbol.h",
    "content": "#ifndef _NOPDBSYMBOL_H_\n#define _NOPDBSYMBOL_H_\n\n#define MY_PROCESS_HANDLE 0\n#define IMAGEAPI_POINTER __stdcall\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymInitialize)(\n\t\t\t  IN HANDLE   hProcess,\n\t\t\t  IN PSTR     UserSearchPath,\n\t\t\t  IN BOOL     fInvadeProcess\n\t\t\t  );\ntypedef DWORD64\n(IMAGEAPI_POINTER* fpSymLoadModule64)(\n\t\t\t\tIN  HANDLE          hProcess,\n\t\t\t\tIN  HANDLE          hFile,\n\t\t\t\tIN  PSTR            ImageName,\n\t\t\t\tIN  PSTR            ModuleName,\n\t\t\t\tIN  DWORD64         BaseOfDll,\n\t\t\t\tIN  DWORD           SizeOfDll\n\t\t\t\t);\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymEnumSymbols)(\n\t\t\t   IN HANDLE                       hProcess,\n\t\t\t   IN ULONG64                      BaseOfDll,\n\t\t\t   IN PCSTR                        Mask,\n\t\t\t   IN PSYM_ENUMERATESYMBOLS_CALLBACK    EnumSymbolsCallback,\n\t\t\t   IN PVOID                        UserContext\n\t\t\t   );\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymEnumTypes)(\n\t\t\t IN HANDLE                       hProcess,\n\t\t\t IN ULONG64                      BaseOfDll,\n\t\t\t IN PSYM_ENUMERATESYMBOLS_CALLBACK    EnumSymbolsCallback,\n\t\t\t IN PVOID                        UserContext\n\t\t\t );\n/*\ntypedef struct _SRCCODEINFO \n{  \n\tDWORD SizeOfStruct;  \n\tPVOID Key;  \n\tDWORD64 ModBase;  \n\tCHAR Obj[MAX_PATH+1];  \n\tCHAR FileName[MAX_PATH+1];  \n\tDWORD LineNumber;  \n\tDWORD64 Address;\n} SRCCODEINFO, *PSRCCODEINFO;\n*/\ntypedef BOOL (CALLBACK *PSYM_ENUMLINES_CALLBACK)(PSRCCODEINFO LineInfo,PVOID UserContext);\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymEnumLines)(\n\t\t\t\t  HANDLE hProcess,\n\t\t\t\t  ULONG64 Base,\n\t\t\t\t  PCSTR Obj,\n\t\t\t\t  PCSTR File,\n\t\t\t\t  PSYM_ENUMLINES_CALLBACK EnumSymbolsCallback,\n\t\t\t\t  PVOID UserContext\n\t\t\t\t  );\n\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymUnloadModule64)(\n\t\t\t\t  IN  HANDLE          hProcess,\n\t\t\t\t  IN  DWORD64         BaseOfDll\n\t\t\t\t  );\ntypedef BOOL\n(IMAGEAPI_POINTER* fpSymCleanup)(\n\t\t   IN HANDLE hProcess\n\t\t   );\ntypedef BOOL \n(IMAGEAPI_POINTER* fpSymGetTypeInfo)(\n\t\t\t\t\tHANDLE hProcess,\n\t\t\t\t\tDWORD64 ModBase,\n\t\t\t\t\tULONG TypeId,\n\t\t\t\t\tIMAGEHLP_SYMBOL_TYPE_INFO GetType,\n\t\t\t\t\tPVOID pInfo\n\t\t\t\t\t);\ntypedef BOOL \n(IMAGEAPI_POINTER*fpSymGetTypeFromName)(\n\t\t\t\t\t\tHANDLE hProcess,\n\t\t\t\t\t\tULONG64 BaseOfDll,\n\t\t\t\t\t\tPCSTR Name,\n\t\t\t\t\t\tPSYMBOL_INFO Symbol\n\t\t\t\t\t\t);\ntypedef DWORD (IMAGEAPI_POINTER*fpSymSetOptions)(\n\t\t\t\t\tDWORD SymOptions\n\t\t\t\t\t);\ntypedef DWORD\n(IMAGEAPI_POINTER* fpSymGetOptions)(void);\ntypedef DWORD \n(IMAGEAPI_POINTER* fpUnDecorateSymbolName)(\n\t\t\t\t\t\t   PCSTR DecoratedName,\n\t\t\t\t\t\t   PSTR UnDecoratedName,\n\t\t\t\t\t\t   DWORD UndecoratedLength,\n\t\t\t\t\t\t   DWORD Flags\n\t\t\t\t\t\t   );\n\ntypedef union Param\n{\n\tULONG64 ul64Value;\n\tVARIANT Variant;\n\tDWORD dwValue;\n\tWCHAR* wName;\n}GETTYPEINFOPARAM;\n\nclass CNoPDBSymbol\n{\n\tbool m_OnlyImportSymbol;\n\tbool m_OnlyExportSymbol;\npublic:\t\n\tfriend BOOL CALLBACK SymEnumLinesCallBackProc(PSRCCODEINFO LineInfo,PVOID UserContext);\n\tfriend BOOL CALLBACK SymEnumSymbolsCallBackProc(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext);\n\tfriend BOOL CALLBACK SymEnumTypesCallBackProc(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext);\n\tDWORD m_CurrentCompilandIndex;\n\tDWORD m_CurrentSourceFileIndex;\n\tID_TO_SOURCE_FILE_NAME_MAP m_IdToSourceFileNameMap;\n\tID_TO_COMPILAND_NAME_MAP m_IdToCompilandMap;\n\tLINE_LIST m_TotalLineNumber;\n\tHMODULE m_DbgHelpModule;\n\tDWORD64 m_LoadModule64;\n\tchar* m_StringTable;\n\tHANDLE m_hFile;\n\tDWORD m_FileOffset;\n\tDWORD m_StringTableOffset;\n\tDWORD m_StringIndex;\n\tvector <DWORD>m_StringIDVector;\n\t//PUBLIC_SYMBOL_LIST m_PublicSymbolList;\n\tPUBLIC_SYMBOL_MAP m_PublicSymbolList;\n\tDWORD m_CurrentStringTableMaxLen;\n\tDWORD m_StringTableBlockBeginOffset;\n\tDUMP_STRING_LOCK_LIST m_StringDumpBlockList;\n\tSTRING_TO_ID_MAP m_String2IDMap;\n\tchar * m_PEFileName;\n\tchar * m_PDBFileName;\n\tlist<STIMPORTMODULENAME> m_ImportModuleNameList;\n\n\tfpSymCleanup m_SymCleanup;\n\tfpSymLoadModule64 m_SymLoadModule64;\n\tfpSymEnumSymbols m_SymEnumSymbols;\n\tfpSymInitialize m_SymInitialize;\n\tfpSymEnumLines m_SymEnumLines;\n\tfpSymUnloadModule64 m_SymUnloadModule64;\n\tfpSymEnumTypes m_SymEnumTypes;\n\tfpSymGetTypeInfo m_SymGetTypeInfo;\n\tfpSymGetTypeFromName m_SymGetTypeFromName;\n\tfpSymSetOptions m_SymSetOptions;\n\tfpSymGetOptions m_SymGetOptions;\n\tfpUnDecorateSymbolName m_UnDecorateSymbolName;\n\tbool LoadDbgHelpApi();\n\tvoid OutputLineInfo();\n\tCNoPDBSymbol();\n\t~CNoPDBSymbol();\n\tbool Init();\n\tvoid Release();\n\tvoid CalculateLineLen();\n\tbool ListGlobalSymbols(IN WCHAR* pExeFileName);\n\tbool ListGlobalSymbols(IN char* pExeFileName);\n\tbool CreateSDSymbolFile(char *FileName,DWORD TimeDateStamp,DWORD PECheckSum,WCHAR* pExeFileName);\n\tDWORD DumpSDPublicSymbolToFile(DWORD* PublicSymbolNumbers=NULL);\n\tDWORD DumpSDTypeName(char* Name);\n\tbool TranslateSymbolFile(IN PCSTR pExeFileName,OUT PSTR pSymbolFileName);\n\tbool TranslateSymbolFile(IN WCHAR* pExeFileName,OUT WCHAR *pSymbolFileName);\n\tbool IsSymbolFile(char* pFileName,OUT bool* Valid);\n\tbool IsSymbolFile(WCHAR* pFileName,OUT bool* Valid);\n\tbool GetPEFileTimeDateStamp(IN char* pPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD *pPECheckSum);\n\tbool GetPEFileTimeDateStamp(IN WCHAR* pPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD *pPECheckSum);\n\tbool GetPEFileFullName(WCHAR* pSymbolFileName,WCHAR* pPEFileFullName,DWORD* BufferLen=NULL);\n\tbool GetPEFileFullName(char* pSymbolFileName,WCHAR* pPEFileFullName,DWORD* BufferLen=NULL);\n\tDWORD DumpSDLineNumberToFile(DWORD* LineNumbers=NULL);\n\tvoid test(PSYMBOL_INFO pSymInfo,ULONG SymbolSize);\n\tbool LoadPESym(char* FileName);\n\tDWORD ReleaseResource();\n\tvoid SetImportSymbols(bool bOnly);\n\tvoid SetExportSymbols(bool bOnly);\n\tbool WriteSDSymbolFileCheckSum(const char *FileName);\n\t\n};\nBOOL CALLBACK SymEnumSymbolsCallBackProc(PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext);\nBOOL CALLBACK SymEnumLinesCallBackProc(PSRCCODEINFO LineInfo,PVOID UserContext);\n#endif //_NOPDBSYMBOL_H_"
  },
  {
    "path": "Project/SyserApp/Source/OpenFileForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OpenFileForm.h\"\n#include \"SyserApp.h\"\n\nenum COpenFileForm::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_TEXT = WISP_ID_USER_START,\n\tCMD_ID_COMMAND_LINE_TEXT,\n\tCMD_ID_STATIC_TEXT,\n\tCMD_ID_BROWSE,\n\tCMD_ID_TRANSLATE_SYMBOL,\n\tCMD_ID_DEPENDENT_SYMBOL,\n\tCMD_ID_AUTO_UNLOAD_SYMBOL,\n};\n\nWISP_FORM_RES_ITEM COpenFileForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,400,260},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Launch module and break at entry point\"),\n\t\t\"\\\\SyserIcon\\\\Syser.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{15,30,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Process.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,370,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Filename\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,30,250,16},\n\t\tCMD_ID_EDIT_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{15,90,16,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\SrcExplorer.ico\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,70,370,50},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Command Line (Ignored by sys or dll)\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{40,90,330,16},\n\t\tCMD_ID_COMMAND_LINE_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{310,30,60,18},\n\t\tCMD_ID_BROWSE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,125,370,100},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,145,270,20},\n\t\tCMD_ID_TRANSLATE_SYMBOL,\n\t\tWISP_CBS_NORMAL|WISP_WS_MARKED,\n\t\tWSTR(\"Translate&Load it's SDS\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,170,270,20},\n\t\tCMD_ID_DEPENDENT_SYMBOL,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Translate&Load dependent module's SDS\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_CHECK_BOX,\n\t\t{20,195,270,20},\n\t\tCMD_ID_AUTO_UNLOAD_SYMBOL,\n\t\tWISP_CBS_NORMAL|WISP_WS_MARKED,\n\t\tWSTR(\"Unload SDS when module unload\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{325,145,32,32},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:1\"\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{310,190,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Load\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(COpenFileForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_EVENT_MAP_BEGIN(COpenFileForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BROWSE,OnEventBrowse)\nWISP_MSG_EVENT_MAP_END\n\nWISP_MSG_CMD_MAP_BEGIN(COpenFileForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\n\nbool COpenFileForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pFilenameEdit = (CWispEdit*) GetFormItem(CMD_ID_EDIT_TEXT);\n\tm_pCmdlineEdit  = (CWispEdit*) GetFormItem(CMD_ID_COMMAND_LINE_TEXT);\n\tm_pTransSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_TRANSLATE_SYMBOL);\n\tm_pLoadDepSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_DEPENDENT_SYMBOL);\n\tm_pAutoUnloadSymCheckBox = (CWispCheckBox*) GetFormItem(CMD_ID_AUTO_UNLOAD_SYMBOL);\n\t*m_CmdLine = 0;\n\t*m_Filename = 0;\n\treturn true;\n}\n\nbool COpenFileForm::OnEventBrowse(IN WISP_MSG*pMsg)\n{\n\tchar szFileName[MAX_FN_LEN];\n\tWCHAR wszFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"Executable Files(exe;dll;scr;sys)\\0*.exe;*.dll;*.scr;*.sys\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tAnsiToUnicode(szFileName,wszFileName,MAX_FN_LEN);\n\tm_pFilenameEdit->SetWindowText(wszFileName);\n\tUpdateClient();\n\treturn true;\n}\n\nbool COpenFileForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tUnicodeToAnsi(m_pFilenameEdit->GetWindowText(),m_Filename,MAX_FN_LEN);\n\t\tif(*m_Filename==0)\n\t\t\treturn false;\n\t\tif(m_pCmdlineEdit->GetWindowText().Length())\n\t\t\tUnicodeToAnsi(m_pCmdlineEdit->GetWindowText(),m_CmdLine,sizeof(m_CmdLine));\n\t\telse\n\t\t\t*m_CmdLine=0;\n\t\tm_bTransSym = (m_pTransSymCheckBox->m_Style&WISP_WS_MARKED)!=0;\n\t\tm_bLoadDepSym = (m_pLoadDepSymCheckBox->m_Style&WISP_WS_MARKED)!=0;\n\t\tm_bAutoUnloadSym = (m_pAutoUnloadSymCheckBox->m_Style&WISP_WS_MARKED)!=0;\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/OpenFileForm.h",
    "content": "#ifndef _OPEN_FILE_FORM_H_\n#define _OPEN_FILE_FORM_H_\n\nclass COpenFileForm : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventBrowse);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK);\n\tCOpenFileForm(){m_pFormRes = m_FormRes;}\n\tCWispEdit*m_pFilenameEdit;\n\tCWispEdit*m_pCmdlineEdit;\n\tCWispCheckBox*m_pTransSymCheckBox;\n\tCWispCheckBox*m_pLoadDepSymCheckBox;\n\tCWispCheckBox*m_pAutoUnloadSymCheckBox;\n\tchar\tm_Filename[MAX_FN_LEN];\n\tchar\tm_CmdLine[512];\n\tbool\tm_bTransSym;\n\tbool\tm_bLoadDepSym;\n\tbool\tm_bAutoUnloadSym;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/OptionPage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OptionPage.h\"\n\nextern int\tSyserAppOptionRef;\nextern int\tSyserOptionRef;\n//Form Resource\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//Option List\nWISP_PCSTR NoYesList[]=\n{\n\tWISP_STR(\"No\"),\n\tWISP_STR(\"Yes\"),\n\tNULL\n};\n\nWISP_PCSTR DisableEnableList[]=\n{\n\tWISP_STR(\"Disable\"),\n\tWISP_STR(\"Enable\"),\n\tNULL\n};\n\nWISP_PCSTR StartPageList[]=\n{\n\tWISP_STR(\"Console\"),\n\tWISP_STR(\"Process Moniter\"),\n\tWISP_STR(\"Symbol Download\"),\n\tWISP_STR(\"Option\"),\n\tNULL\n};\n\nWISP_PCSTR SyserDebuggerStartPageList[]=\n{\n\tWISP_STR(\"System Explorer\"),\n\tWISP_STR(\"Console\"),\n\tWISP_STR(\"Source Explorer\"),\n\tNULL\n};\n\nWISP_PCSTR AutoActionList[]=\n{\n\tWISP_STR(\"No\"),\n\tWISP_STR(\"Yes\"),\n\tWISP_STR(\"Query User\"),\n\tNULL\n};\n\nWISP_PCSTR ConnectList[]=\n{\n\tWISP_STR(\"Disable\"),\n\tWISP_STR(\"Serial Port\"),\n\tNULL\n};\n\nWISP_PCSTR DirSelectList[]=\n{\n\tWISP_STR(\"Browse\"),\n\tWISP_STR(\"Edit\"),\n\tWISP_STR(\"Current Path & Edit\"),\n\tNULL\n};\n\n\n\nWISP_OPTION_ITEM WindowOption[]=\n{\n\t{WSTR(\"Start Page\"),OPTION_SELECT_INT,&SyserAppOption.iStartPage,sizeof(int),StartPageList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Syser Debugger Start Page\"),OPTION_SELECT_INT,&SyserOption.iStartPage,sizeof(int),SyserDebuggerStartPageList,NULL,&SyserOptionRef},\n\t{WSTR(\"Stays in system tray\"),OPTION_SELECT_INT,&SyserAppOption.iSystemTray,sizeof(int),NoYesList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Top Most\"),OPTION_SELECT_INT,&SyserAppOption.iTopMost,sizeof(int),NoYesList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Show Syser start splash\"),OPTION_SELECT_INT,&SyserAppOption.iShowStartSplash,sizeof(int),NoYesList,NULL,&SyserAppOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM DebuggerOption[]=\n{\n\t{WSTR(\"Start Syser Debugger when SyserApp launch\"),OPTION_SELECT_INT,&SyserAppOption.iAutoStart,sizeof(int),AutoActionList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Stop Syser Debugger when SyserApp exit\"),OPTION_SELECT_INT,&SyserAppOption.iAutoStop ,sizeof(int),AutoActionList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Show Full Symbol (Include Module Name)\"),OPTION_SELECT_INT,&SyserOption.iShowFullSym,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show DbgMsg Source Process Name\"),OPTION_SELECT_INT,&SyserOption.iShowDbgMsgProcName,sizeof(int),NoYesList,NULL,&SyserOptionRef},\t\n\t{WSTR(\"Mouse Sensitivity (1 - 30)\"),OPTION_INT,&SyserOption.iMouseSensitivity,sizeof(int),NULL,TValueTest<int,1,30>,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SymbolDownloadOption[]=\n{\n\t{WSTR(\"Symbol Server Site\"),OPTION_STRING,&SyserAppOption.szSymbolSite,128,NULL,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Local Symbol Path\"),OPTION_DIR_NAME,&SyserAppOption.szDownloadSymbolPath,MAX_FN_LEN,DirSelectList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Converted SDS Path\"),OPTION_DIR_NAME,&SyserAppOption.szConvertedSDSPath,MAX_FN_LEN,DirSelectList,NULL,&SyserAppOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SourceDebuggerOption[]=\n{\n\t{WSTR(\"Syntax Color\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeSyntaxColors,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Tips\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowTips ,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Line Numbers\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowLineNumbers ,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{NULL}\n};\n\n\n\nWISP_OPTION_ITEM SerialPortOption[]=\n{\n\t{WSTR(\"COM Port\"),OPTION_INT,&SyserOption.iComPort,sizeof(int),NULL,TValueTest<int,1,255>,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM RemoteDebuggerOption[]=\n{\n\t{WSTR(\"Connect Type\"),OPTION_SELECT_INT,&SyserOption.iConnectType,sizeof(int),ConnectList,NULL,&SyserOptionRef},\n\t{WSTR(\"Serial Port Configure\"),OPTION_TITLE,SerialPortOption},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserAdvanceOption[]=\n{\n\t{WSTR(\"Heap Size [10240 - 40960 (KB) ]\"),OPTION_INT,&SyserOption.iHeapSize,sizeof(int),NULL,TValueTest<int,10240,40960>,&SyserOptionRef},\n\t{WSTR(\"Addition Heap Size [1024 - 40960 (KB)]\"),OPTION_INT,&SyserOption.iAddiHeapSize,sizeof(int),NULL,TValueTest<int,1024,40960>,&SyserOptionRef},\n\t{WSTR(\"Enable Hardware Timer\"),OPTION_SELECT_INT,&SyserOption.iHardTimerEnable,sizeof(int),DisableEnableList,NULL,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM MainOption[]=\n{\n\t{WSTR(\"Window\"),OPTION_TITLE,WindowOption},\n\t{WSTR(\"Debugger\"),OPTION_TITLE,DebuggerOption},\n\t{WSTR(\"Symbol Download\"),OPTION_TITLE,SymbolDownloadOption},\n\t{WSTR(\"Source Code Debugger\"),OPTION_TITLE,SourceDebuggerOption},\n\t{WSTR(\"Developer Advance Option\"),OPTION_TITLE,SyserAdvanceOption},\n\t//{WSTR(\"Remote Debugger\"),OPTION_TITLE,RemoteDebuggerOption},\n\t{NULL}\n};\n\nCOptionPage::COptionPage()\n{\n\tm_pOptionItem = MainOption;\n}\n\n\nvoid COptionPage::OptionApplyNotify()\n{\n\tif(SyserAppOptionRef)\n\t{\n\t\tSyserAppOptionRef = 0;\n\t\tSaveSyserOption(\"SyserApp.cfg\",&SyserAppOption,sizeof(SyserAppOption));\n\t}\n\tif(SyserOptionRef)\n\t{\n\t\tSyserOptionRef = 0;\n\t\tSaveSyserOption(\"Syser.cfg\",&SyserOption,sizeof(SyserOption));\n\t}\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/OptionPage.h",
    "content": "#ifndef _OPTION_PAGE_H_\n#define _OPTION_PAGE_H_\n\nclass COptionPage : public CWispOptionForm\n{\npublic:\n\tCOptionPage();\n\tvoid OptionApplyNotify();\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/Process.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Process.h\"\n\nCProcess::CProcess()\n{\n\tm_ProcessID=0;\n\tm_ProcessHandle=NULL;\n}\n\nCProcess::~CProcess()\n{\n}\n\n\nbool CProcess::GetPrivilege(PCSTR privName)\n{\n\tbool rc;\n\tHANDLE hToken;\n\tLUID privValue;\n\tTOKEN_PRIVILEGES tkp;\n\tif(!OpenProcessToken( GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )\n\t\treturn false;\n\tif(!LookupPrivilegeValue( NULL, privName, &privValue ) )\n\t{\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\ttkp.PrivilegeCount = 1;\n\ttkp.Privileges[0].Luid = privValue;\n\ttkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;\n\trc = AdjustTokenPrivileges( hToken, FALSE, &tkp,sizeof tkp,NULL,NULL)!=FALSE;\n\tCloseHandle( hToken );\n\treturn rc;\n}\n\n\n//ȡ̵û\nbool CProcess::GetProcessUser(HANDLE hProcess, WCHAR*szUserName,int MaxLen)\n{\n\tSID_NAME_USE sn;\n\tWCHAR szDomainName[MAX_FN_LEN];\n\tDWORD Length,NameLen;\n\tbool Result;\n\tHANDLE hToken;\n\tTOKEN_USER*pTokenUser;\n\t*szUserName=0;\n\tif(OpenProcessToken(hProcess, TOKEN_QUERY, &hToken)==FALSE)\n\t{\n\t\treturn false;\n\t}\n\tLength=0;\n\tGetTokenInformation(hToken,TokenUser, NULL, 0, &Length);\n\tif(Length==0)\n\t{\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\tpTokenUser = (TOKEN_USER*)new BYTE[Length];\n\tif(GetTokenInformation(hToken,TokenUser,pTokenUser,Length,&Length)==false)\n\t{\n\t\tdelete pTokenUser;\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\tLength = MAX_FN_LEN;\n\tNameLen = MaxLen;\n\tResult = LookupAccountSidW(NULL,pTokenUser->User.Sid,szUserName,&NameLen,szDomainName,&Length,&sn)!=FALSE;\n\tdelete pTokenUser;\n\tCloseHandle(hToken);\n\treturn Result;\n}\n\nbool CProcess::Start(IN PCSTR ProcessName,PCSTR szCmdLine,IN bool bSuspend,PCSTR szDir)\n{\n\tchar szAppCmdLine[1024];\n\tbool Result;\n\tDWORD dwCreationFlags;\n\tSTARTUPINFO\tStartInfo;\n\tPROCESS_INFORMATION ProcInfo;\n\t//\n\tZeroMemory(&StartInfo,sizeof(STARTUPINFO));\n\tZeroMemory(&ProcInfo,sizeof(PROCESS_INFORMATION));\n\tStartInfo.cb = sizeof(STARTUPINFO);\n\tStartInfo.dwFlags = STARTF_USESHOWWINDOW;\n\tStartInfo.wShowWindow = SW_SHOWDEFAULT;\n\tstrcpy(m_ProcessName,ProcessName);\n\tdwCreationFlags = NORMAL_PRIORITY_CLASS;\n\tif(bSuspend)\n\t\tdwCreationFlags|=CREATE_SUSPENDED;\n\t*szAppCmdLine=0;\n\tif(szCmdLine && *szCmdLine)\n\t{\n\t\tTStrCpy(szAppCmdLine,\" \");\n\t\tTStrCat(szAppCmdLine,szCmdLine);\n\t}\n\tResult=CreateProcess(ProcessName,szAppCmdLine,NULL,NULL,FALSE, dwCreationFlags,NULL,szDir,&StartInfo,&ProcInfo)!=FALSE;\n\tif(Result==false)\n\t\treturn false;\n\tm_ProcessID=ProcInfo.dwProcessId;\n\tm_ProcessHandle=ProcInfo.hProcess;\n\treturn Result;\n}\n\nbool CProcess::Terminate()\n{\n\treturn TerminateProcess(m_ProcessHandle,0x0)!=FALSE;\n}\n\nbool CProcess::SuspendAllThread(IN bool bSuspend)\n{\n\tHANDLE hThread,hThreadSnap;\n\tDWORD  Result,nThread;\n\tTHREADENTRY32 TE32;\n\n\thThreadSnap=CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0);\n\tif(hThreadSnap==INVALID_HANDLE_VALUE)\n\t\treturn FALSE;\n\n\tTE32.dwSize=sizeof(THREADENTRY32);\n\tnThread=0;\n\tif(Thread32First(hThreadSnap,&TE32))\n\t{\n\t\tdo\n\t\t{\n\t\t\tif(m_ProcessID!=TE32.th32OwnerProcessID)\n\t\t\t\tcontinue;\n\t\t\tnThread++;\n\t\t\thThread=OpenThread(THREAD_ALL_ACCESS,TRUE,TE32.th32ThreadID);\n\t\t\tif(hThread==NULL)\n\t\t\t\treturn FALSE;\n\t\t\tif(bSuspend)\n\t\t\t\tResult=SuspendThread(hThread);\n\t\t\telse\n\t\t\t\tResult=ResumeThread(hThread);\n\t\t\tif(Result==-1)\n\t\t\t{\n\t\t\t\tCloseHandle(hThread);\n\t\t\t\treturn FALSE;\n\t\t\t}\t\t\t\n\t\t\tCloseHandle(hThread);\n\t\t}while(Thread32Next(hThreadSnap,&TE32));\n\t}\n\treturn TRUE;\n}\n\nbool CProcess::ReadMemory(ULPOS Address,void*Buffer,int Size)\n{\n\tSIZE_T cbReturn;\n\tcbReturn = 0;\n\tReadProcessMemory(m_ProcessHandle,NUM_TO_PTR(Address),Buffer,Size,&cbReturn);\n\treturn cbReturn==Size;\n}\n\nbool CProcess::WriteMemory(ULPOS Address,void*Buffer,int Size)\n{\n\tSIZE_T cbReturn;\n\tcbReturn = 0;\n\tWriteProcessMemory(m_ProcessHandle,NUM_TO_PTR(Address),Buffer,Size,&cbReturn);\n\treturn cbReturn==Size;\t\n}\n\n\n\n\n"
  },
  {
    "path": "Project/SyserApp/Source/Process.h",
    "content": "#ifndef  _PROCESS_H_\n#define  _PROCESS_H_\n\n#include \"Tlhelp32.h\"\n\nclass CProcess\n{\npublic:\n\tCProcess();\n\t~CProcess();\npublic:\t\n\tstatic\tbool\tGetProcessUser(HANDLE hProcess, WCHAR*szUserName,int MaxLen);\n\tstatic\tbool\tGetPrivilege(PCSTR privName);\n\tbool\tStart(IN PCSTR ProcessName,PCSTR szCmdLine,IN bool bSuspend = true,PCSTR szDir = NULL);\t//½\n\tbool\tTerminate();\t\t\t\t\t\t\t\t\t\t\t//ǰ\n\tbool\tSuspendAllThread(IN bool bSuspend = true);\t\t\t\t//TRUE :߳ FALSE:ָ߳\n\tbool\tReadMemory(ULPOS Address,void*Buffer,int Size);\n\tbool\tWriteMemory(ULPOS Address,void*Buffer,int Size);\npublic:\n\tCHAR\tm_ProcessName[MAX_PATH];\t\t\t\t//ǰ\n\tDWORD\tm_ProcessID;\t\t\t\t\t\t\t//ǰID\n\tHANDLE\tm_ProcessHandle;\t\t\t\t\t\t//ǰ̾\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/ProcessList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n#include \"ProcessList.h\"\n#include \"Process.h\"\n\nWISP_MSG_MAP_BEGIN(CProcessList)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispList)\n\nWISP_MSG_EVENT_MAP_BEGIN(CProcessList)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_TERMINATE,OnMenuTerminate)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_REAL_TIME,OnMenuRealTime)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_HIGH,OnMenuHigh)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_ABOVE_NORMAL,OnMenuAboveNormal)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_NORMAL,OnMenuNormal)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_BELOW_NORMAL,OnMenuBelowNormal)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_IDLE,OnMenuIdle)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_EMPTY_WORKING_SET,OnMenuEmptyWorkingSet)\n\tWISP_MSG_EVENT_MAP(EVENT_ID_DETAIL,OnMenuDetail)\nWISP_MSG_EVENT_MAP_END\n\nCProcessList::CProcessList()\n{\n}\n\nCProcessList::~CProcessList()\n{\n}\n\nvoid CProcessList::ItemDBClickNotify(HANDLE hItem,int Col)\n{\n\tWCHAR szPath[MAX_FN_LEN];\n\tif(GetItemCount(hItem)==0)\n\t{\n\t\tGetItemText(hItem,1).GetFilePath(szPath);\n\t\tif(ShellExecuteW(NULL,WSTR(\"explore\"),szPath,NULL,NULL,SW_NORMAL))\n\t\t\tShowWindow(theApp.m_hLocalWnd,SW_MINIMIZE);\n\t}\n}\n\nbool CProcessList::ItemExpandingNotify(HANDLE hItem)\n{\n\tHANDLE  hModuleSnap,hModItem;\n\tMODULEENTRY32W me32;\n\tif(hItem == m_hSystemItem)\n\t\treturn true;\n\tClearChildItem(hItem);\n\thModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,(DWORD)GetItemData(hItem));\n\tif(hModuleSnap == INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tme32.dwSize = sizeof(MODULEENTRY32W);\n\tif(Module32FirstW(hModuleSnap,&me32))\n\t{\n\t\tdo\n\t\t{\n\t\t\thModItem = InsertItem(TGetFileName(me32.szModule),hItem);\n\t\t\tSetItemText(hModItem,1,me32.szExePath);\n\t\t\tSetItemNum(hModItem,2,PTR_TO_NUM(me32.modBaseAddr),WSTR(\"0x%X\"));\n\t\t\tSetItemNum(hModItem,3,me32.modBaseSize,WSTR(\"0x%X\"));\n\t\t}\n\t\twhile(Module32NextW(hModuleSnap,&me32)); \n\t}\n\tCloseHandle(hModuleSnap);\n\treturn true;\n}\n\n\nHANDLE CProcessList::GetCurrentSelectProcess(IN DWORD dwDesiredAccess)\n{\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL || hItem == m_hSystemItem)\n\t\treturn NULL;\n\tHANDLE hProcess = OpenProcess(dwDesiredAccess,FALSE,(DWORD)GetItemData(hItem));\n\tif(hProcess==NULL)\n\t{\n\t\tm_pWispBase->MsgBox(WSTR(\"Fail to open process !\"),WSTR(\"Error\"),WISP_MB_OK);\n\t\treturn NULL;\n\t}\n\treturn hProcess;\n}\n\nbool CProcessList::UpdatePriorityClassItem()\n{\n\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL || hItem == m_hSystemItem)\n\t\treturn false;\n\tint Level = GetItemLevel(hItem);\n\tif(IsParentOfItem(m_hSystemItem,hItem))\n\t{\n\t\tif(Level>1)\n\t\t\treturn false;\n\t}\n\telse if(Level>0)\n\t{\n\t\treturn false;\n\t}\n\tm_PopupMenu.UncheckItem(m_hRealTimeMenu);\n\tm_PopupMenu.UncheckItem(m_hHighMenu);\n\tm_PopupMenu.UncheckItem(m_hAboveNormalMenu);\n\tm_PopupMenu.UncheckItem(m_hNormalMenu);\n\tm_PopupMenu.UncheckItem(m_hBelowNormalMenu);\n\tm_PopupMenu.UncheckItem(m_hIdleMenu);\n\tHANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,(DWORD)GetItemData(hItem));\n\tif(hProcess==NULL)\n\t\treturn true;\n\tDWORD Class = GetPriorityClass(hProcess);\n\tswitch(Class)\n\t{\n\tcase REALTIME_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hRealTimeMenu);\n\t\tbreak;\n\tcase HIGH_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hHighMenu);\n\t\tbreak;\n\tcase ABOVE_NORMAL_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hAboveNormalMenu);\n\t\tbreak;\n\tcase NORMAL_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hNormalMenu);\n\t\tbreak;\n\tcase BELOW_NORMAL_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hBelowNormalMenu);\n\t\tbreak;\n\tcase IDLE_PRIORITY_CLASS:\n\t\tm_PopupMenu.CheckItem(m_hIdleMenu);\n\t\tbreak;\n\t}\n\tCloseHandle(hProcess);\n\treturn true;\n}\n\nvoid CProcessList::SetPriorityClass(DWORD Class)\n{\n\tHANDLE hProcess = GetCurrentSelectProcess(PROCESS_SET_INFORMATION);\n\tif(hProcess==NULL)\n\t\treturn;\n\tif(::SetPriorityClass(hProcess,Class)==false)\n\t\tm_pWispBase->MsgBox(WSTR(\"Fail to set process priority class !\"),WSTR(\"Error\"),WISP_MB_OK);\n\tCloseHandle(hProcess);\n}\n\nbool CProcessList::OnMenuTerminate(IN WISP_MSG*pMsg)\n{\n\tHANDLE hProcess = GetCurrentSelectProcess(PROCESS_TERMINATE);\n\tif(hProcess==NULL)\n\t\treturn true;\n\tif(TerminateProcess(hProcess,0)==false)\n\t{\n\t\tm_pWispBase->MsgBox(WSTR(\"Fail to terminate process !\"),WSTR(\"Error\"),WISP_MB_OK);\n\t}\n\telse\n\t{\n\t\tHANDLE hItem = GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\tif(hItem)\n\t\t{\n\t\t\tRemoveItem(hItem);\n\t\t\tUpdate();\n\t\t}\n\t}\n\tCloseHandle(hProcess);\n\treturn true;\n}\n\nbool CProcessList::OnMenuRealTime(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(REALTIME_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuHigh(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(HIGH_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuAboveNormal(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(ABOVE_NORMAL_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuNormal(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(NORMAL_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuBelowNormal(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(BELOW_NORMAL_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuIdle(IN WISP_MSG*pMsg)\n{\n\tSetPriorityClass(IDLE_PRIORITY_CLASS);\n\treturn true;\n}\n\nbool CProcessList::OnMenuEmptyWorkingSet(IN WISP_MSG*pMsg)\n{\n\tHANDLE hProcess = GetCurrentSelectProcess(PROCESS_ALL_ACCESS);\n\tif(hProcess==NULL)\n\t\treturn true;\n\tif(EmptyWorkingSet(hProcess)==false)\n\t\tm_pWispBase->MsgBox(WSTR(\"Fail to Release Process Working Pages !\"),WSTR(\"Error\"),WISP_MB_OK);\n\tCloseHandle(hProcess);\n\treturn true;\n}\n\nbool CProcessList::OnMenuDetail(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CProcessList::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.CreatePopupMenu(ProcessPopupMenu,this,WispTKDIBList(\"\\\\Toolbar.bmp\",16,16));\n\tm_hRealTimeMenu = m_PopupMenu.GetItem(EVENT_ID_REAL_TIME);\n\tm_hHighMenu = m_PopupMenu.GetItem(EVENT_ID_HIGH);\n\tm_hAboveNormalMenu = m_PopupMenu.GetItem(EVENT_ID_ABOVE_NORMAL);\n\tm_hNormalMenu = m_PopupMenu.GetItem(EVENT_ID_NORMAL);\n\tm_hBelowNormalMenu = m_PopupMenu.GetItem(EVENT_ID_BELOW_NORMAL);\n\tm_hIdleMenu = m_PopupMenu.GetItem(EVENT_ID_IDLE);\n\tInsertColumn(WISP_STR(\"Name\"),150);\n\tInsertColumn(WISP_STR(\"User Name\"),80);\n\tInsertColumn(WISP_STR(\"ID\"),60);\n\tInsertColumn(WISP_STR(\"Memory Used\"),85);\n\tm_hSystemItem = InsertItem(WSTR(\"System Process List\"));\n\tSetItemText(m_hSystemItem,1,WSTR(\"SYSTEM\"));\n\tSetItemTextColor(m_hSystemItem,0,SYS_COLOR[SC_LIGHT_BLUE]);\n\tSetItemTextColor(m_hSystemItem,1,SYS_COLOR[SC_LIGHT_BLUE]);\n\tSetItemTextColor(m_hSystemItem,3,SYS_COLOR[SC_LIGHT_BLUE]);\n\tListOSProcess();\n\treturn true;\n}\n\nbool CProcessList::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CProcessList::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown == false && (pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON || pMsg->KeyEvent.KeyType == WISP_VK_APPS))\n\t{\n\t\tif(UpdatePriorityClassItem())\n\t\t\tm_PopupMenu.Popup(NULL,pMsg->KeyEvent.KeyType == WISP_VK_APPS);\n\t}\n\treturn true;\n}\n\nbool CProcessList::ListOSProcess()\n{\n\tSIZE_T SystemTotalSize;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tHANDLE hProcess;\n\tHANDLE hSystemItem,hUserItem,hParentItem,hItem;\n\tPROCESS_MEMORY_COUNTERS mc;\n\tPROCESSENTRY32W pe32;\n\n\tLockUpdate();\n\tHANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);\n\tif(hProcessSnap == INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tint UserCount,SystemCount;\n\n\tUserCount=SystemCount=0;\n\thSystemItem = GetItem(0,m_hSystemItem);\n\thUserItem = GetNextItem(m_hSystemItem);\n\tSystemTotalSize = 0;\n\tpe32.dwSize = sizeof(PROCESSENTRY32W);\n\tif(Process32FirstW(hProcessSnap,&pe32))\n\t{\n\t\tdo\n\t\t{\n\t\t\thProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ,FALSE,pe32.th32ProcessID);\n\t\t\tCProcess::GetProcessUser(hProcess,szBuffer,MAX_FN_LEN);\n\t\t\tif(*szBuffer==0)\n\t\t\t\tTStrCpy(szBuffer,WSTR(\"SYSTEM\"));\n\t\t\tif(TStrCmp(szBuffer,WSTR(\"SYSTEM\")))\n\t\t\t{\n\t\t\t\thParentItem = NULL;\n\t\t\t\thItem = hUserItem;\n\t\t\t\tUserCount++;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\thParentItem = m_hSystemItem;\n\t\t\t\thItem = hSystemItem;\n\t\t\t\tSystemCount++;\n\t\t\t}\n\t\t\tif(hItem)\n\t\t\t\tSetItemText(hItem,0,TGetFileName(pe32.szExeFile));\n\t\t\telse\n\t\t\t{\n\t\t\t\thItem = InsertItem(TGetFileName(pe32.szExeFile),hParentItem);\n\t\t\t\tInsertItem(WSTR(\"...\"),hItem);\n\t\t\t}\n\t\t\tSTZeroMemory(mc);\n\t\t\tGetProcessMemoryInfo(hProcess,&mc,sizeof(mc));\n\t\t\tSetItemData(hItem,0,pe32.th32ProcessID);\n\t\t\tSetItemText(hItem,1,szBuffer);\n\t\t\tSetItemNum(hItem,2,pe32.th32ProcessID,WSTR(\"0x%X\"));\n\t\t\tSetItemNum(hItem,3,(UINT)((mc.WorkingSetSize+0x3FF)/0x400),WSTR(\"%10d K\"));\n\t\t\tif(hParentItem)\n\t\t\t{\n\t\t\t\thSystemItem = GetNextItem(hItem);\n\t\t\t\tSystemTotalSize+=mc.WorkingSetSize;\n\t\t\t\tif(GetItemCell(hItem)->FontColor!=SYS_COLOR[SC_LIGHT_BLUE])\n\t\t\t\t{\n\t\t\t\t\tfor(int n=0;n<m_ColumnList.Count();n++)\n\t\t\t\t\t\tSetItemTextColor(hItem,n,SYS_COLOR[SC_LIGHT_BLUE]);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t\thUserItem = GetNextItem(hItem);\n\t\t\tCloseHandle(hProcess);\n\t\t}while(Process32NextW(hProcessSnap, &pe32));\n\t}\n\tCloseHandle(hProcessSnap);\n\tSetItemChildCount(NULL,UserCount+1);\n\tSetItemChildCount(m_hSystemItem,SystemCount);\n\tSetItemNum(m_hSystemItem,3,(UINT)((SystemTotalSize+0x3FF)/0x400),WSTR(\"%10d K\"));\n\tm_pWispBase->LeaveCriticalSection();\n\tUnlockUpdate();\n\tUpdate();\n\tif(theApp.m_bMsgSleeping)\n\t\ttheApp.WakeUpMsgThread();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/ProcessList.h",
    "content": "#ifndef _PROCESS_LIST_H_\n#define _PROCESS_LIST_H_\n\n\nclass CProcessList : public CWispList\n{\npublic:\n\tCProcessList();\n\t~CProcessList();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG(OnMenuTerminate)\n\tDECLARE_WISP_MSG(OnMenuRealTime)\n\tDECLARE_WISP_MSG(OnMenuHigh)\n\tDECLARE_WISP_MSG(OnMenuAboveNormal)\n\tDECLARE_WISP_MSG(OnMenuNormal)\n\tDECLARE_WISP_MSG(OnMenuBelowNormal)\n\tDECLARE_WISP_MSG(OnMenuIdle)\n\tDECLARE_WISP_MSG(OnMenuEmptyWorkingSet)\n\tDECLARE_WISP_MSG(OnMenuDetail)\npublic:\n\tbool\tItemExpandingNotify(HANDLE hItem);\n\tvoid\tItemDBClickNotify(HANDLE hItem,int Col);\n\tHANDLE\tGetCurrentSelectProcess(IN DWORD dwDesiredAccess);\n\tvoid\tSetPriorityClass(DWORD Class);\n\tbool\tUpdatePriorityClassItem();\n\tHANDLE\tm_hRealTimeMenu;\n\tHANDLE\tm_hHighMenu;\n\tHANDLE\tm_hAboveNormalMenu;\n\tHANDLE\tm_hNormalMenu;\n\tHANDLE\tm_hBelowNormalMenu;\n\tHANDLE\tm_hIdleMenu;\n\tHANDLE\tm_hSystemItem;\n\tCWispMenu\tm_PopupMenu;\n\tbool\tListOSProcess();\n};\n\n\n#endif"
  },
  {
    "path": "Project/SyserApp/Source/RegisterForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"RegisterForm.h\"\n\nenum CRegisterForm::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_NAME = WISP_ID_USER_START,\n\tCMD_ID_EDIT_SN,\n\tCMD_ID_STATIC_TEXT\n};\n\nWISP_FORM_RES_ITEM CRegisterForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,260,180},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Please Input Register Informattion\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,230,50},\n\t\tCMD_ID_STATIC_TEXT,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"User/Company  Name\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,30,200,16},\n\t\tCMD_ID_EDIT_NAME,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,70,230,50},\n\t\tCMD_ID_STATIC_TEXT,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"SN\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,90,200,16},\n\t\tCMD_ID_EDIT_SN,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{110,130,40,16},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CRegisterForm)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CRegisterForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\nCRegisterForm::CRegisterForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCRegisterForm::~CRegisterForm()\n{\n}\n\nbool CRegisterForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tchar szBuffer[256];\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tm_StrName = GetFormItem(CMD_ID_EDIT_NAME)->GetWindowText();\n\t\tm_StrSN = GetFormItem(CMD_ID_EDIT_SN)->GetWindowText();\n\t\tm_StrSN.MakeUpper();\n\t\tTStrCpyLimit(szBuffer,(PCWSTR)m_StrSN,sizeof(szBuffer));\n\t\tif(IsSerialNumber(szBuffer)==false)\n\t\t{\n\t\t\tMsgBox(WSTR(\"Invalid SN !\\nPlease input again\"),WSTR(\"Error\"));\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/SyserApp/Source/RegisterForm.h",
    "content": "#ifndef _REGISTER_FORM_H_\n#define _REGISTER_FORM_H_\n\nclass CRegisterForm : public CWispForm\n{\npublic:\n\tCRegisterForm();\n\t~CRegisterForm();\n\tCWispString\t\tm_StrName;\n\tCWispString\t\tm_StrSN;\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK)\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/Resource.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Resource.h\"\n\nWISP_TOOLBAR_RES_ITEM MainToolbar[]=\n{\n\t{EVENT_ID_LOAD_MODULE,66,WISP_TBIS_BUTTON,WSTR(\"File -> Load module for debugging\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_LOAD_EXPORT_SYMBOLS,22,WISP_TBIS_BUTTON,WSTR(\"File -> Load Module Export Symbols\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_LOAD_SYMBOL_SYSERAPP,10,WISP_TBIS_BUTTON,WSTR(\"File -> Load symbol file\"),0,WISP_WS_DISABLED},\n\t{EVENT_ID_TRANSLATE_SYMBOL,50,WISP_TBIS_BUTTON,WSTR(\"File -> Translate symbol file\"),0},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_START_SYSER,\t62,\tWISP_TBIS_BUTTON,WSTR(\"File -> Start Syser\"),\t0},\n\t{EVENT_ID_STOP_SYSER,\t31,\tWISP_TBIS_BUTTON,WSTR(\"File -> Stop Syser\"),\t0,WISP_WS_DISABLED},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_SEND_CLIPBOARD,20,WISP_TBIS_BUTTON,WSTR(\"View -> Send Clipboard to Syser Debugger\")},\n\t{EVENT_ID_RECV_CLIPBOARD,21,WISP_TBIS_BUTTON,WSTR(\"View -> Receive Clipboard from Syser Debugger\")},\n\tWISP_TOOLBAR_RES_SEPARATOR,\n\t{EVENT_ID_DEBUG_MESSAGE_FILTER,57,WISP_TBIS_BUTTON,WSTR(\"View -> Debug Message Filter\"),0},\n\t{EVENT_ID_DEBUG_MESSAGE_CLEAR,9,WISP_TBIS_BUTTON,WSTR(\"View -> Clear Console&Debug Message\"),0},\n\tWISP_TOOLBAR_RES_END\n};\n\nWISP_MENU_RES_ITEM RecentFileMenu[]=\n{\n\t{WSTR(\"Empty\"),EVENT_ID_RECENT_FILE_SYSERAPP,132},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM LoaderMenu[]=\n{\n\t{WSTR(\"Load For Debugging\"),\t\tEVENT_ID_LOAD_MODULE,66,WISP_MIS_DISABLED},\n\t{WSTR(\"Recent Files\"),0,36,WISP_MIS_POPUP,RecentFileMenu},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Load Export Symbols\"),\t\tEVENT_ID_LOAD_EXPORT_SYMBOLS,22,WISP_MIS_DISABLED},\n\t{WSTR(\"Load Module's SDS\"),\t\t\t\t\tEVENT_ID_LOAD_SYMBOL_SYSERAPP,10,WISP_MIS_DISABLED},\n\t{WSTR(\"Load IDA map file\"),\t\t\tEVENT_ID_LOAD_IDA_MAP,10},\t\n\t{WSTR(\"Translate Debugging Data To SDS\"),\tEVENT_ID_TRANSLATE_SYMBOL,50},\t\t\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Export Command Histroy\"),\tEVENT_ID_SAVE_HISTROYS,63},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Exit\"),EVENT_ID_EXIT,132},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM KernelDebuggerMenu[]=\n{\n\t{WSTR(\"Start Syser\"),\t\t\t\t\tEVENT_ID_START_SYSER,62},\n\t{WSTR(\"Stop Syser\"),\t\t\t\t\tEVENT_ID_STOP_SYSER,31,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Send Clipboard to Syser\"),\t\tEVENT_ID_SEND_CLIPBOARD,20},\n\t{WSTR(\"Receive Clipboard from Syser\"),\tEVENT_ID_RECV_CLIPBOARD,21},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Save Syser Comments\"),\t\t\tEVENT_ID_SAVE_COMMENTS,9*16+3,WISP_MIS_DISABLED},\n\t{WSTR(\"Export Command Histroy\"),\t\tEVENT_ID_SAVE_SYSER_HISTROYS,63,WISP_MIS_DISABLED},\n\tWISP_MENU_RES_END\n};\n\n\nWISP_MENU_RES_ITEM ViewMenu[]=\n{\n\t{WSTR(\"Pause|Resume Debug Message\"),EVENT_ID_DEBUG_MESSAGE,0,WISP_MIS_CHECKBOX|WISP_MIS_CHECKED},\n\t{WSTR(\"Debug Message Filter\"),EVENT_ID_DEBUG_MESSAGE_FILTER,57},\n\t{WSTR(\"Clear Console&Debug Message\"),EVENT_ID_DEBUG_MESSAGE_CLEAR,9},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM HelpMenu[]=\n{\n\t{WSTR(\"Check New Version\"),\tEVENT_ID_CHECKNEWVERSION,\t104},\n#ifndef __DEMO__VERSION__\n\t{WSTR(\"Enter Register Key\"),EVENT_ID_REGISTER,\t\t\t81},\n#endif\n\t{WSTR(\"Command Reference\"),\tEVENT_ID_COMMAND_REFERENCE,\t30},\n\t{WSTR(\"Debug Help\"),\t\tEVENT_ID_DEBUG_HELP,\t\t30},\n\t{WSTR(\"About Syser\"),\t\tEVENT_ID_ABOUT_SYSERAPP,\t\t\t\t62},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM ToolsMenu[]=\n{\n\t{WSTR(\"Option\"),EVENT_ID_OPTION,83},\n\t{WSTR(\"Boot Option\"),EVENT_ID_BOOT_OPTION,16*14+4},\n\t{WSTR(\"Video Option\"),EVENT_ID_VIDEO_DETECT_MODE,19},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Symbol Downloader\"),EVENT_ID_SYMBIL_DOWNLOADER,84},\n\t{WSTR(\"Quick Driver Loader\"),EVENT_ID_DRV_LOADER,16*15},\n\t//{WSTR(\"PE Unselfpacker\"),EVENT_ID_VEUNPACK,86},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM MainMenu[]=\n{\n\t{WSTR(\"Loader\"),0,99,WISP_MIS_POPUP,LoaderMenu},\n\t{WSTR(\"Debugger\"),0,62,WISP_MIS_POPUP,KernelDebuggerMenu},\n\t{WSTR(\"View\"),0,19,WISP_MIS_POPUP,ViewMenu},\n\t{WSTR(\"Tools\"),0,118,WISP_MIS_POPUP,ToolsMenu},\n\t{WSTR(\"Help\"),0,30,WISP_MIS_POPUP,HelpMenu},\n\t{WSTR(\"BuyNow\"),EVENT_ID_BUYNOW,74},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM ProcessPriorityMenu[]=\n{\n\t{WSTR(\"Real time\"),\t\tEVENT_ID_REAL_TIME,\t\t-1,WISP_MIS_CHECKBOX},\n\t{WSTR(\"High\"),\t\t\tEVENT_ID_HIGH,\t\t\t-1,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Above normal\"),\tEVENT_ID_ABOVE_NORMAL,\t-1,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Normal\"),\t\tEVENT_ID_NORMAL,\t\t-1,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Below normal\"),\tEVENT_ID_BELOW_NORMAL,\t-1,WISP_MIS_CHECKBOX},\n\t{WSTR(\"Idle\"),\t\t\tEVENT_ID_IDLE,\t\t\t-1,WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_END\n};\n\nWISP_MENU_RES_ITEM ProcessPopupMenu[]=\n{\n\t{WSTR(\"Terminate\"),EVENT_ID_TERMINATE,23},\n\t{WSTR(\"Set Priority Class\"),EVENT_ID_SET_PRIORITY_CLASS,54,WISP_MIS_POPUP,ProcessPriorityMenu},\n\t{WSTR(\"Release Loose Memory Pages\"),EVENT_ID_EMPTY_WORKING_SET,86},\n\t{WSTR(\"Detail\"),EVENT_ID_DETAIL,89},\n\tWISP_MENU_RES_END\n};\n\n"
  },
  {
    "path": "Project/SyserApp/Source/Resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SyserApp.rc\n//\n#define IDR_RT_MANIFEST                 1\n#define IDI_ICON_SYSERAPP               101\n#define IDR_MENU_NOTIFY_ICON            102\n#define IDI_ICON_SYSER_OFF              103\n#define ID_MENU_EXIT                    40002\n#define ID_MENU_SHOW                    40004\n#define ID_MENU_ENABLE_SYSER            40006\n#define ID_MENU_DISABLE_SYSER           40007\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        112\n#define _APS_NEXT_COMMAND_VALUE         40009\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/SNCheck.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SNCheck.h\"\n#include \"SyserApp.h\"\n\n#define SYSER_CHECK_PORT\t80\n\nvoid SNCheckThread()\n{\n\tchar szBuffer[128],LicName[128];\n\tint\tBufSize,Length;\n\tBOOL bBroadCast;\n\tSOCKET Socket;\n\tSOCKADDR_IN RecvAddr,SendAddr;\t\n\tWSADATA wsaData;\n\n\t*LicName = 0;\n\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\LicName\",LicName,sizeof(LicName))==false)\n\t\treturn;\n\tif(WSAStartup(MAKEWORD(1,1),&wsaData)!=0) \n\t\treturn;\n\n\tSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);\n\tbBroadCast = true;\n\tsetsockopt(Socket,SOL_SOCKET,SO_BROADCAST,(char*)&bBroadCast,sizeof(bBroadCast));\n\n\tRecvAddr.sin_family=AF_INET;\n\tRecvAddr.sin_port=htons(SYSER_CHECK_PORT);\n\tRecvAddr.sin_addr.S_un.S_addr=htonl(INADDR_BROADCAST);\n\n\tBufSize=TSPrintf(szBuffer,\"Syser:%s\",LicName)+1;\n\tsendto(Socket,szBuffer,BufSize,MSG_DONTROUTE,(const sockaddr *)&RecvAddr,sizeof(RecvAddr));\t\t\n\tclosesocket(Socket);\n\n\tSocket = socket(AF_INET, SOCK_DGRAM, 0);\n\tmemset(&SendAddr, 0, sizeof(SendAddr));\n\tSendAddr.sin_family = AF_INET;\n\tSendAddr.sin_port = htons(SYSER_CHECK_PORT);\n\tSendAddr.sin_addr.s_addr = htonl(INADDR_ANY);\n\tif(bind(Socket,(const sockaddr *)&SendAddr, sizeof(SendAddr)) == SOCKET_ERROR) \n\t{\n\t\tclosesocket(Socket);\n\t\treturn;\n\t}\n\tLength = sizeof(RecvAddr);\n\twhile(TRUE)\n\t{\n\t\tBufSize = recvfrom(Socket, szBuffer, sizeof(szBuffer)-1,0,(sockaddr *)&RecvAddr,&Length);\n\t\tif(BufSize>6 && TStrNICmp(szBuffer,\"Syser:\",6)==0)\n\t\t{\n\t\t\tif(TStrICmp(&szBuffer[6],LicName)==0)\n\t\t\t{\n\t\t\t\tsprintf(szBuffer,\"Found another copmputer use same license user name !\\nUser Name [%s]  IP %d.%d.%d.%d\\nSyser will be terminated !\",\n\t\t\t\t\tLicName,\n\t\t\t\t\tRecvAddr.sin_addr.S_un.S_un_b.s_b1,\n\t\t\t\t\tRecvAddr.sin_addr.S_un.S_un_b.s_b2,\n\t\t\t\t\tRecvAddr.sin_addr.S_un.S_un_b.s_b3,\n\t\t\t\t\tRecvAddr.sin_addr.S_un.S_un_b.s_b4);\n\t\t\t\tMessageBox(NULL,szBuffer,\"Warning\",MB_OK);\n\t\t\t\ttheApp.m_SyserInterface.StopSyserDriver();\n\t\t\t\t::PostMessage(theApp.m_hLocalWnd,WM_QUIT,0,0);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tclosesocket(Socket);\n\tWSACleanup();\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/SNCheck.h",
    "content": "#ifndef _SN_CHECK_H_\n#define _SN_CHECK_H_\n\nvoid\tSNCheckThread();\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/SourceDebug.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SourceDebug.h\"\n#define NTOSKRNLVER \"\"\nCSourceDebug::CSourceDebug()\n{\n\tm_CurrentSourceFileIndex=0;\n\tm_CurrentCompilandIndex=0;\n\tm_CurrentDataSymbolIndex=0x1;\n\tm_CurrentFunctionSymbolIndex=0x1;\n\tm_CurrentSymbolIndex=0x1;\n\tm_DataTagVector.push_back(NULL);\n\t\n\tm_DiaDllGetClassObject=NULL;\n\tm_DiaDllModule=NULL;\n\tm_PEFileName=NULL;\n\tm_PDBFileName=NULL;\n\tm_StringNameID=0;\n\tm_StringName=false;\n\tm_GlobalEnumSegments=NULL;\n\tm_GlobalEnumFrameData=NULL;\n\tm_GlobalScopeSymbol=NULL;\n\tm_DiaSession=NULL;\n\tm_DiaDataSource=NULL;\n\tm_pfnSetRange = NULL;\n\tm_pfnSetPos = NULL;\n}\nbool CSourceDebug::Init()\n{\n\t\n\tif(m_DiaDllModule==NULL)\n\t{\n\t\tm_DiaDllModule = \tLoadLibrary(\"msdia80.dll\");\n\t\tif(!m_DiaDllModule)\n\t\t{\n\t\t\tm_DiaDllModule = \tLoadLibrary(\"c:\\\\Prg\\\\Syser\\\\Addition\\\\DiaSDK\\\\bin\\\\msdia80.dll\");\n\t\t}\n\t\tif(!m_DiaDllModule)\n\t\treturn false;\n\t}\n\tif(m_DiaDllGetClassObject==NULL)\n\t{\n\t\tm_DiaDllGetClassObject = (PDLLGETCLASSOBJECT)GetProcAddress(m_DiaDllModule,\"DllGetClassObject\");\n\t}\n\t\n\treturn true;\n}\nbool CSourceDebug::Release()\n{\n\tif(m_DiaDllModule)\n\t\tFreeLibrary(m_DiaDllModule);\n\tm_DiaDllModule=NULL;\n\treturn true;\n}\nCSourceDebug::~CSourceDebug()\n{\n}\n\nbool CSourceDebug::PackedSourceFile(PCSTR pSymbolFileName,PACKEDSOURCEFILEFAILEDCALLBACK pCallBack)\n{\n\tDWORD i;\n\tint CallBackRet;\n\tbool bSkipAll=false;\n\tDWORD SourceFileCount=0;\n\tHANDLE hFile;\n\tPSDSYMBOLFILE FileHeader;\n\tPSDSOURCEFILEID pSourceFile;\n\tULLSIZE FileLen;\n\tULLSIZE FileCurPos;\n\tchar* StringTable;\n\tCLocalFileIO SourceFileIO;\n\tchar* SourceName;\n\tchar NewFileName[1024];\n\tchar *FileReadWriteBuf=NULL;\n\tDWORD* StringTableIndex;\n\tif(gpFileIO->OpenFile(pSymbolFileName,&hFile,FIO_READ|FIO_WRITE)==false)\n\t\treturn false;\n\tFileLen = gpFileIO->GetFileLength(hFile);\n\tFileHeader=(PSDSYMBOLFILE)new char[*(size_t*)&FileLen];\n\tgpFileIO->ReadFile(hFile,FileHeader,*(ULSIZE*)&FileLen,0);\n\tif(FileHeader->UnionSourceFile.SourceFileOffset)\n\t{\n\t\tdelete []FileHeader;\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\n\tStringTableIndex = (DWORD*)((char*)FileHeader + FileHeader->UnionStringIndexTable.StringIndexTableOffset);\n\tStringTable = (char*)FileHeader+FileHeader->UnionStringTable.StringTableOffset;\n\tgpFileIO->SetFilePointer(hFile,FileHeader->UnionSourceFileIDTable.SourceFileIDTableOffset,FILE_BEGIN);\n\tpSourceFile = (PSDSOURCEFILEID)((char*)FileHeader+FileHeader->UnionSourceFileIDTable.SourceFileIDTableOffset);\n\tfor(i = 0; i < FileHeader->SourceFileCounter;i++)\n\t{\n\t\tSourceName =StringTable +  StringTableIndex[pSourceFile[i].uName.MemberNameInStringTableIndex];\nLocal_001:\n\t\tif(gpFileIO->IsFileExist(SourceName)==false)\n\t\t{\n\t\t\tpSourceFile[i].OffsetAtFile=0;\n\t\t\tpSourceFile[i].FileLen=0;\n\t\t\tif(pCallBack&&bSkipAll==false)\n\t\t\t{\n\t\t\t\tCallBackRet = pCallBack(SourceName,NewFileName);\n\t\t\t\tswitch(CallBackRet)\n\t\t\t\t{\n\t\t\t\tcase 0:\n\t\t\t\t\tSourceName=NewFileName;\n\t\t\t\t\tgoto Local_001;\n\t\t\t\tcase 2:\n\t\t\t\t\tbSkipAll=true;\n\t\t\t\tcase 1:\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\t\n\t\t\tSourceFileCount++;\n\t\t\tFileLen = gpFileIO->GetFileSize(SourceName);\n\t\t\tFileReadWriteBuf=new char[*(size_t*)&FileLen];\n\t\t\tFileCurPos = gpFileIO->SetFilePointer(hFile,0,FILE_END);\n\t\t\tpSourceFile[i].OffsetAtFile=*(DWORD*)&FileCurPos;\n\t\t\tpSourceFile[i].FileLen=*(DWORD*)&FileLen;\n\t\t\tgpFileIO->ReadFromFile(SourceName,FileReadWriteBuf,*(ULSIZE*)&FileLen);\n\t\t\tgpFileIO->WriteFile(hFile,FileReadWriteBuf,*(ULSIZE*)&FileLen);\n\t\t\tdelete []FileReadWriteBuf;\n\t\t}\n\t}\n\tgpFileIO->WriteFile(hFile,pSourceFile,sizeof(SDSOURCEFILEID)*FileHeader->SourceFileCounter,FileHeader->UnionSourceFileIDTable.SourceFileIDTableOffset);\n\tFileLen = gpFileIO->SetFilePointer(hFile,0,FILE_END);\n\tDWORD Tmp = *(DWORD*)&FileLen & 0xFFF;\n\tif(Tmp)\n\t{\n\t\tTmp = 0x1000-Tmp;\n\t\tchar *BufChar=new char[Tmp];\n\t\tif(BufChar)\n\t\t{\n\t\t\tmemset(BufChar,0,Tmp);\n\t\t\tgpFileIO->WriteFile(hFile,BufChar,Tmp);\n\t\t\tFileLen = gpFileIO->SetFilePointer(hFile,0,FILE_END);\n\t\t\tdelete []BufChar;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tFileHeader->CheckSum=0;\n\t\t}\n\t}\n\tFileHeader->UnionSourceFile.SourceFileOffset = FileHeader->FileLen;\n\tFileHeader->FileLen=*(DWORD*)&FileLen;\n\tFileHeader->PackageSourceFileCounter=SourceFileCount;\n\tgpFileIO->WriteFile(hFile,FileHeader,SDSF_FILE_HEADER_SIZE,0);\n\tdelete []FileHeader;\n\tgpFileIO->CloseHandle(hFile);\n\tWriteSDSymbolFileCheckSum(pSymbolFileName);\n\treturn true;\n}\n\nbool CSourceDebug::GetPEFileTimeDateStamp(IN PCSTR szPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD* PECheckSum)\n{\n\tCPEFile PEFile;\n\tif(TimeDateStamp)\n\t\t*TimeDateStamp=0;\n\tif(PECheckSum)\n\t\t*PECheckSum=0;\n\tPEFile.m_OpenMode |= PE_OPEN_NO_IMPORT|PE_OPEN_NO_EXPORT;\n\tif(PEFile.Open(szPEFileName)==false)\n\t\treturn false;\n\tif(TimeDateStamp)\n\t\t*TimeDateStamp=PEFile.m_PEHead.TimeDateStamp;\t\n\tif(PECheckSum)\n\t\t*PECheckSum=PEFile.m_PEHead.CheckSum;\n\tPEFile.Close();\n\treturn true;\n}\n\nbool CSourceDebug::IsSymbolFile(PCSTR pFileName)\n{\n\tULLSIZE FileLen;\n\tSDSYMBOLFILE SDSymbolFile;\n\tif(gpFileIO->IsFileExist(pFileName)==false)\n\t\treturn false;\n\tif(gpFileIO->ReadFromFile(pFileName,&SDSymbolFile,sizeof(SDSymbolFile))!=sizeof(SDSymbolFile))\n\t\treturn false;\n\tif(SDSymbolFile.Sig!=SYSER_DEBUG_SYMBOL_FILE_SIG)\n\t\treturn false;\n\tFileLen =gpFileIO->GetFileSize(pFileName);\n\tif(FileLen!=SDSymbolFile.FileLen)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSourceDebug::GetPDBFileName(char* pSymbolFileName,char* pPDBFileName,DWORD* BufferLen)\n{\n\tif(IsSymbolFile(pSymbolFileName)==false)\n\t\treturn false;\n\treturn true;\n}\n\nbool CSourceDebug::GetPEFileFullName(PCSTR FileName,char* pPEFileFullName,DWORD* BufferLen)\n{\n\tchar* Name=NULL;\n\tchar buf[SDSF_FILE_HEADER_SIZE];\n\tHANDLE hFile;\n\tPSDSYMBOLFILE pSDSymbolFile=(PSDSYMBOLFILE)buf;\n\tif(IsSymbolFile(FileName)==false)\n\t\treturn false;\n\tif(gpFileIO->OpenFile(FileName,&hFile)==false)\n\t{\n\t\treturn false;\n\t}\n\tif(gpFileIO->ReadFile(hFile,pSDSymbolFile,sizeof(buf),0)!=sizeof(buf))\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tif(pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset+pSDSymbolFile->PEFileFullNameLen <= sizeof(buf))\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\tName=(char*)pSDSymbolFile; \n\t\tif(BufferLen)\n\t\t{\n\t\t\tif(*BufferLen < pSDSymbolFile->PEFileFullNameLen)\n\t\t\t{\n\t\t\t\t*BufferLen=pSDSymbolFile->PEFileFullNameLen;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tTStrCpy(pPEFileFullName,&Name[pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset]);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tif(BufferLen)\n\t\t{\n\t\t\tif(*BufferLen < pSDSymbolFile->PEFileFullNameLen)\n\t\t\t{\n\t\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\t\t*BufferLen=pSDSymbolFile->PEFileFullNameLen;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tName = new char[pSDSymbolFile->PEFileFullNameLen];\n\t\tif(gpFileIO->ReadFile(hFile,Name,pSDSymbolFile->PEFileFullNameLen,pSDSymbolFile->uPEFileFullName.PEFileFullNameOffset)!=pSDSymbolFile->PEFileFullNameLen)\n\t\t{\n\t\t\tdelete []Name;\n\t\t\tgpFileIO->CloseHandle(hFile);\n\t\t\treturn false;\n\t\t}\n\t\tTStrCpy(pPEFileFullName,Name);\n\t\tdelete []Name;\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn true;\n\t}\n\treturn true;\n}\n\nbool CSourceDebug::IsTranslated(IN PCSTR szModuleName,PSTR szSymbolFileName)\n{\n\tULLSIZE FileLen;\n\tSDSYMBOLFILE SDSymbolFile;\n\tDWORD TimeDateStamp,PECheckSum;\n\tchar SDSPath[MAX_FN_LEN];\n\tTStrCpy(SDSPath,szModuleName);\n\tTStrCat(SDSPath,\".sds\");\n\tif(szSymbolFileName)\n\t\tTStrCpy(szSymbolFileName,SDSPath);\n\tif(gpFileIO->IsFileExist(SDSPath)==false)\n\t\treturn false;\n\tGetPEFileTimeDateStamp(szModuleName,&TimeDateStamp,&PECheckSum);\n\tif(gpFileIO->ReadFromFile(SDSPath,&SDSymbolFile,sizeof(SDSYMBOLFILE))!=sizeof(SDSYMBOLFILE))\n\t\treturn false;\n\tFileLen = gpFileIO->GetFileSize(SDSPath);\n\tif(SDSymbolFile.FileLen==FileLen&&SDSymbolFile.ModuleID.TimeDateStamp==TimeDateStamp && SDSymbolFile.Version==SYSER_DEBUG_SYMBOL_FILE_VER&&PECheckSum==SDSymbolFile.ModuleID.OrgPECheckSum)\t\t\n\t\treturn true;\n\treturn false;\n}\n\nbool CSourceDebug::TranslateSymbolFile(IN PCSTR szModuleName,OUT char *szSymbolFileName,bool bPackedSrcFile)\n{\n\tbool bRet,IsPDBFile;\n\tCHAR szDestSymbolName[MAX_FN_LEN];\n\tDWORD TimeDateStamp=0,PECheckSum=0;\n\tif(gpFileIO->IsFileExist(szModuleName)==false)\n\t\treturn false;\n\tTStrCpy(szDestSymbolName,szModuleName);\n\tTStrCat(szDestSymbolName,\".sds\");\n\tif(szSymbolFileName)\n\t\tTStrCpy(szSymbolFileName,szDestSymbolName);\n\tif(OpenPdbFile(szModuleName, &m_DiaDataSource, &m_DiaSession, &m_GlobalScopeSymbol,&IsPDBFile)==false)\n\t\treturn false;\n\tIsPDBFile = false;\n\tif(ListGlobalSymbols(IsPDBFile))\n\t{\n\t\tif(IsPDBFile)\n\t\t\tszModuleName=NULL;\n\t\telse\n\t\t\tLoadPESym(szModuleName);\n\t\tDumpHeaderFile(\"c:\\\\ntddkvista.h\");\t\n\t\tGetPEFileTimeDateStamp(szModuleName,&TimeDateStamp,&PECheckSum);\n\t\tbRet = CreateSDSymbolFile(szDestSymbolName,TimeDateStamp,PECheckSum,szModuleName);\n\t}\n\tReleaseSDType();\n\tClosePdbFile();\n\tif(bRet && bPackedSrcFile)\n\t{\n\t\tPackedSourceFile(szDestSymbolName,NULL);\n\t}\n\treturn bRet;\n}\n\nbool CSourceDebug::TestFunction()\n{\n\tSYMBOL_ID_MAP::iterator BeginIT1,EndIT1;\n\tSDTYPE* pType;\n\tbool bFind=false;\n\tCTempSymbol* pTempSymbol;\n\tBeginIT1 = m_UDTSymbolID.begin();\n\tfor(;BeginIT1!=m_UDTSymbolID.end();BeginIT1++)\n\t{\n\t\tpTempSymbol = (CTempSymbol*)&(*BeginIT1).first;\n\t\tpType =pTempSymbol->GetSDType() ;\n\t\tchar *vtablename;\n\t\tPUBLIC_SYMBOL_MAP::iterator BeginIt2,EndIt2;\n\t\tBeginIt2=m_VTablePublicSymbolList.begin();\n\t\tEndIt2=m_VTablePublicSymbolList.end();\n\t\tbFind =false;\n\t\tfor(;BeginIt2!=EndIt2;BeginIt2++)\n\t\t{\n\t\t\tvtablename=(*BeginIt2).first.uName.Name;\n\t\t\tchar*vtablename1 = TStrStr(vtablename,pType->SDTypeInfile.uName.Name);\n\t\t\tif(vtablename1)\n\t\t\t{\n\t\t\t\tif(TStrNCmp(&vtablename1[TStrLen(pType->SDTypeInfile.uName.Name)],\"::`vftable'\",TStrLen(\"::`vftable'\"))==0)\n\t\t\t\t{\n\t\t\t\t\t//m_VTablePublicSymbolList.erase(BeginIt2);\n\t\t\t\t\tbFind=true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\t\n\t\t}\n\t\tif(bFind==true)\n\t\t{\n\t\t\tOutputDebugString(pType->SDTypeInfile.uName.Name);\n\t\t\tOutputDebugString(\"\\n\");\n\t\t}\n\t}\n//\tchar *Name11;\n\tPUBLIC_SYMBOL_MAP::iterator BeginIt3,EndIt3;\n\tBeginIt3=m_VTablePublicSymbolList.begin();\n\tEndIt3=m_VTablePublicSymbolList.end();\n\tbFind =false;\n\tOutputDebugString(\"========================================================\\n\");\n\tchar displaybuffer[100];\n\tfor(;BeginIt3!=EndIt3;BeginIt3++)\n\t{\n\t\tsprintf(displaybuffer,\"%08x %08x %s\\n\",(*BeginIt3).first.Rva,(*BeginIt3).first.Length ,(*BeginIt3).first.uName.Name);\n\t\tOutputDebugString(displaybuffer);\n\t\n\t}\n\treturn true;\n}\nbool CSourceDebug::MakeSDSegment()\n{\n\tLONG Count = 0;\n\tBOOL bValue;\n\tULONG celt;\n\tIDiaSegment *pIDiaSegment=NULL;\n\tSDSEGMENT* pSegment=NULL;\n\tint i=0;\n\tif(SUCCEEDED(m_GlobalEnumSegments->get_Count(&Count))&&Count)\n\t{\n\t\tpSegment = new SDSEGMENT[Count];\n\t\tmemset(pSegment,0,sizeof(SDSEGMENT)*Count);\n\t\twhile(SUCCEEDED(m_GlobalEnumSegments->Next(1,&pIDiaSegment,&celt))&&celt==1&&pIDiaSegment)\n\t\t{\n\t\t\tpIDiaSegment->get_frame(&pSegment[i].SegmentNumber);\n\t\t\tpIDiaSegment->get_addressSection(&pSegment[i].SectionNumber);\n\t\t\tpIDiaSegment->get_length(&pSegment[i].Length);\n\t\t\tpIDiaSegment->get_offset(&pSegment[i].Offset);\n\t\t\tpIDiaSegment->get_relativeVirtualAddress(&pSegment[i].RVA);\n\t\t\tpIDiaSegment->get_virtualAddress(&pSegment[i].VA);\n\t\t\tpIDiaSegment->get_read(&bValue);\n\t\t\tpSegment[i].IsRead=bValue?1:0;\n\t\t\tpIDiaSegment->get_write(&bValue);\n\t\t\tpSegment[i].IsWrite=bValue?1:0;\n\t\t\tpIDiaSegment->get_execute(&bValue);\n\t\t\tpSegment[i].IsExecute=bValue?1:0;\n\t\t\tpIDiaSegment->Release();\n\t\t\tpIDiaSegment=NULL;celt=0;i++;\n\t\t}\n\t}\n\treturn 0;\n}\nbool CSourceDebug::DumpFrameData()\n{\n\tif(m_GlobalEnumFrameData==NULL)\n\t\treturn false;\n\tstatic int FrameDataCount=0;\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\tLONG count=0;\n\tULONG celt;\n\tIDiaFrameData* pFrameData;\n\tDWORD Rav;\n\tif(SUCCEEDED(m_GlobalEnumFrameData->get_Count(&count))&& count)\n\t{\n\t\twhile(SUCCEEDED(m_GlobalEnumFrameData->Next(1,&pFrameData,&celt))&&celt)\n\t\t{\n\t\t\tRav = 0;\n\t\t\tif(SUCCEEDED(pFrameData->get_relativeVirtualAddress(&Rav)))\n\t\t\t{\t\t\t\t\n\t\t\t\tlist<DWORD>::iterator BeginIt,EndIt,findIt;\n\t\t\t\tBeginIt = m_FunctionRavList.begin();EndIt=m_FunctionRavList.end();\n\t\t\t\tfindIt = find(BeginIt,EndIt,Rav);\n\t\t\t\tif(findIt==EndIt)\n\t\t\t\t{\n\t\t\t\t\tchar* name2;\n\t\t\t\t\tname2 = new char[13];\n\t\t\t\t\tmemset(&SdPublicSymbol,0,sizeof(SDPUBLICSYMBOL));\n\t\t\t\t\tTSPrintf(name2,\"SEH_%08x\",Rav);\n\t\t\t\t\tSdPublicSymbol.uName.Name = name2;\n\t\t\t\t\tSdPublicSymbol.Rva=Rav;\n\t\t\t\t\tDWORD BlockLength=0;\n\t\t\t\t\tpFrameData->get_lengthBlock(&BlockLength);\n\t\t\t\t\tSdPublicSymbol.Length=BlockLength;\n\t\t\t\t\t//m_PublicSymbolList.push_back(SdPublicSymbol);\n\t\t\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));// push_back(SdPublicSymbol);\n\t\t\t\t}\n\t\t\t\tFrameDataCount++;\n\t\t\t}\t\t\t\t\t\t\n\t\t}\n\t}\n\tFrameDataCount++;\n\treturn true;\n}\nHRESULT CSourceDebug::NoRegCoCreate(PCSTR dllName,REFCLSID rclsid,REFIID riid,void **ppv)\n{\t\t\n\tHRESULT\thr=-1;\n\tIClassFactory* classFactory;\n\tif(m_DiaDllModule==NULL)\n\t\tInit();\n\tif(m_DiaDllGetClassObject)\n\t{\n\t\thr = m_DiaDllGetClassObject(rclsid, IID_IClassFactory ,(void **) &classFactory);\n\t\tif(FAILED(hr))\n\t\t\treturn hr;\n\t\tclassFactory->CreateInstance(NULL,riid,ppv);\n\t\tclassFactory->Release();\n\t}\n\t\n\treturn hr;\n}\nvoid CSourceDebug::ClosePdbFile()\n{\n\tif(m_GlobalEnumSegments)\n\t{\n\t\tm_GlobalEnumSegments->Release();\n\t\tm_GlobalEnumSegments=NULL;\n\t}\n\tif(m_GlobalEnumFrameData)\n\t{\n\t\tm_GlobalEnumFrameData->Release();\n\t\tm_GlobalEnumFrameData=NULL;\n\t}\n\tif(m_GlobalScopeSymbol)\n\t{\n\t\tm_GlobalScopeSymbol->Release();\n\t\tm_GlobalScopeSymbol=NULL;\n\t}\n\tif(m_DiaSession)\n\t{\n\t\tm_DiaSession->Release();\n\t\tm_DiaSession=NULL;\n\t}\n\tif(m_DiaDataSource)\n\t{\n\t\tm_DiaDataSource->Release();\n\t\tm_DiaDataSource=NULL;\n\t}\n\treturn;\n}\nbool CSourceDebug::OpenPdbFile(PCSTR filename,  IDiaDataSource** DiaDataSource, IDiaSession** DiaSession,  IDiaSymbol** GlobalScopeSymbol,OUT bool* IsPDBFile) \n{\t\t\t\t\t \n\tHRESULT hr;\n\tif(IsPDBFile)\n\t\t*IsPDBFile=true;\n#ifdef COM_INTERFACE_DIA\n\thr = CoInitialize(NULL);\n\tif(FAILED(hr))\n\t\treturn false;\n\thr = CoCreateInstance(__uuidof(DiaSource) , NULL, CLSCTX_INPROC_SERVER, __uuidof( IDiaDataSource ), (void **) DiaDataSource);\n\thr = CoCreateInstance(__uuidof(DiaSource),//CLSID_DiaSource, \n\t\tNULL, \n\t\tCLSCTX_INPROC_SERVER, \n\t\t__uuidof(IDiaDataSource),\n\t\t(void **) DiaDataSource);\n#else\n\thr = NoRegCoCreate(NULL,__uuidof( DiaSourceAlt ),__uuidof( IDiaDataSource ), (void **) DiaDataSource);\n\t\n\tif (FAILED(hr))\n\t{   \n\t\thr = NoRegCoCreate(NULL,__uuidof( DiaSourceAlt ),__uuidof( IDiaDataSource ), (void **) DiaDataSource);\n\t\tif (FAILED(hr))\n\t\t\treturn false;\n\t}\n#endif\n\tif (FAILED(hr))\n\t{   \n\t\treturn false;\n\t}\n\tWCHAR wFileName[MAX_PATH*4];\n\tAnsiToUnicode(filename,wFileName,sizeof(wFileName));\n\n\t// Load the PDB file\n\tif (FAILED((*DiaDataSource)->loadDataFromPdb(wFileName)))\n\t{\n\t\tif(IsPDBFile)\n\t\t\t*IsPDBFile=false;\n\t\tif (FAILED((*DiaDataSource)->loadDataForExe(wFileName,NULL,NULL))) \n\t\t{\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// Open a session\n\tif (FAILED((*DiaDataSource)->openSession(DiaSession))) \n\t{\n\t\treturn false;\n\t}\n\n\t// Get the global scope\n\tif (FAILED((*DiaSession)->get_globalScope(GlobalScopeSymbol))) \n\t{\n\t\treturn false;\n\t}\n\treturn true;\n}\n\n\nWCHAR*basetypename[]=\n{\n\n\tWSTR(\"btNoType = 0\"),\n\tWSTR(\"btVoid = 1\"),\n\tWSTR(\"btChar = 2\"),\n\tWSTR(\"btWChar = 3\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"btInt = 6\"),\n\tWSTR(\"btUInt = 7\"),\n\tWSTR(\"btFloat = 8\"),\n\tWSTR(\"btBCD = 9\"),\n\tWSTR(\"btBool = 10\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"btLong = 13\"),\n\tWSTR(\"btULong = 14\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"\"),\n\tWSTR(\"btCurrency = 25\"),\n\tWSTR(\"btDate = 26\"),\n\tWSTR(\"btVariant = 27\"),\n\tWSTR(\"btComplex = 28\"),\n\tWSTR(\"btBit = 29\"),\n\tWSTR(\"btBSTR = 30\"),\n\tWSTR(\"btHresult = 31\"),\n\tNULL,\n};\n\n\nWCHAR *SymTagName[]=\n{\t\n\t\tWSTR(\"SymTagNull\"),\n\t\tWSTR(\"SymTagExe\"),\n\t\tWSTR(\"SymTagCompiland\"),\n\t\tWSTR(\"SymTagCompilandDetails\"),\n\t\tWSTR(\"SymTagCompilandEnv\"),\n\t\tWSTR(\"SymTagFunction\"),\n\t\tWSTR(\"SymTagBlock\"),\n\t\tWSTR(\"SymTagData\"),\n\t\tWSTR(\"SymTagAnnotation\"),\n\t\tWSTR(\"SymTagLabel\"),\n\t\tWSTR(\"SymTagPublicSymbol\"),\n\t\tWSTR(\"SymTagUDT\"),\n\t\tWSTR(\"SymTagEnum\"),\n\t\tWSTR(\"SymTagFunctionType\"),\n\t\tWSTR(\"SymTagPointerType\"),\n\t\tWSTR(\"SymTagArrayType\"),\n\t\tWSTR(\"SymTagBaseType\"),\n\t\tWSTR(\"SymTagTypedef\"),\n\t\tWSTR(\"SymTagBaseClass\"),\n\t\tWSTR(\"SymTagFriend\"),\n\t\tWSTR(\"SymTagFunctionArgType\"),\n\t\tWSTR(\"SymTagFuncDebugStart\"),\n\t\tWSTR(\"SymTagFuncDebugEnd\"),\n\t\tWSTR(\"SymTagUsingNamespace\"),\n\t\tWSTR(\"SymTagVTableShape\"),\n\t\tWSTR(\"SymTagVTable\"),\n\t\tWSTR(\"SymTagCustom\"),\n\t\tWSTR(\"SymTagThunk\"),\n\t\tWSTR(\"SymTagCustomType\"),\n\t\tWSTR(\"SymTagManagedType\"),\n\t\tWSTR(\"SymTagDimension\"),\n\t\tWSTR(\"SymTagMax\"),\n\t\tNULL,\n};\nbool CSourceDebug::GetSymbolType(IDiaSymbol* Symbol,DWORD &TypeId,DWORD &symTag)\n{\n\tIDiaSymbol *SymbolType=NULL;\n\t\n\tif(FAILED(Symbol->get_typeId(&TypeId)))\n\t\treturn false;\n\tif(FAILED(Symbol->get_type(&SymbolType)))\n\t\treturn false;\n\tif(SymbolType==NULL)\n\t\treturn false;\n\t\n\tif(FAILED(SymbolType->get_symTag(&symTag)))\n\t\treturn false;\n\tif(symTag==SymTagBaseType)\t\t\n\t\tif(FAILED(SymbolType->get_baseType(&TypeId)))\n\t\t\treturn false;\n\n\treturn true;\n}\n\nWCHAR *CSourceDebug::GetSymbolTypeName(IN IDiaSymbol* Symbol,IN DWORD NameMaxLen,OUT WCHAR *Name)\n{\n\tIDiaSymbol *SymbolType=NULL;\n\tBSTR SymbolTypeName=NULL;\n\tDWORD TypeId,symTag;\n\tDWORD pointerDepth;\n\n\tif(Symbol==NULL)\n\t{\n\t\tif(Name)\n\t\t{\n\t\t\tName[0]=0;\n\t\t\treturn Name;\n\t\t}else\n\t\t\treturn NULL;\n\t}\n\tif(FAILED(Symbol->get_type(&SymbolType)))\n\t\treturn NULL;\n\tif(SymbolType==NULL)\n\t\treturn NULL;\n\n\tif(FAILED(SymbolType->get_symTag(&symTag)))\n\t\treturn NULL;\n\tpointerDepth=0;\n\twhile(symTag==SymTagPointerType)\n\t{\n\t\tpointerDepth++;\n\t\t// Get the next type down\n\t\tIDiaSymbol* tmpPointeeType;\n\t\tif (FAILED(SymbolType->get_type(&tmpPointeeType)))\n\t\t{\n\t\t\tbreak;\n\t\t}\n\t\tSymbolType->Release();\n\t\tSymbolType = tmpPointeeType;\n\n\t\t// get symtag of next type down\n\t\tif (FAILED(SymbolType->get_symTag(&symTag))) \n\t\t{\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(symTag==SymTagBaseType)\n\t{\n\t\tif(FAILED(SymbolType->get_baseType(&TypeId)))\n\t\t\treturn false;\n\t\tif(Name)\n\t\t\tTStrCpyLimit(Name,basetypename[TypeId],NameMaxLen-1);\n\t\treturn Name;\n\t}\n\tif(SUCCEEDED(SymbolType->get_name(&SymbolTypeName))&&SymbolTypeName)\n\t{\n\t\tif(Name)\n\t\t{\n\t\t\tint i=0;\n\t\t\tTStrCpyLimit(Name,SymbolTypeName,NameMaxLen-1);\n\t\t\tif(pointerDepth)\n\t\t\t{\n\t\t\t\ti = TStrLen(Name);\n\t\t\t\tfor(;pointerDepth;i++,pointerDepth--)\n\t\t\t\t{\n\t\t\t\t\tName[i]='*';\n\t\t\t\t}\n\t\t\t\tName[i]=0;\n\t\t\t}\n\t\t}\n\t\treturn Name;\n\t}else\n\t{\t\t\t\t\n\t\tif(Name)\n\t\t\tTStrCpyLimit(Name,SymTagName[symTag],NameMaxLen-1);\n\t\treturn Name;\n\t}\n\treturn NULL;\n}\nWCHAR *datakindname[]=\n{\n\tWSTR(\"DataIsUnknown\"),\n\tWSTR(\"DataIsLocal\"),\n\tWSTR(\"DataIsStaticLocal\"),\n\tWSTR(\"DataIsParam\"),\n\tWSTR(\"DataIsObjectPtr\"),\n\tWSTR(\"DataIsFileStatic\"),\n\tWSTR(\"DataIsGlobal\"),\n\tWSTR(\"DataIsMember\"),\n\tWSTR(\"DataIsStaticMember\"),\n\tWSTR(\"DataIsConstant\"),\n\tNULL,\n};\n\n\nWCHAR* DataKindName[]=\n{\t\t\n\tWSTR(\"DataIsUnknown\"),\n\tWSTR(\"DataIsLocal\"),\n\tWSTR(\"DataIsStaticLocal\"),\n\tWSTR(\"DataIsParam\"),\n\tWSTR(\"DataIsObjectPtr\"),\n\tWSTR(\"DataIsFileStatic\"),\n\tWSTR(\"DataIsGlobal\"),\n\tWSTR(\"DataIsMember\"),\n\tWSTR(\"DataIsStaticMember\"),\n\tWSTR(\"DataIsConstant\"),\n\tWSTR(\"\"),\n};\nWCHAR* LocationTypeName[]=\n{\n\tWSTR(\"LocIsNull\"),\n\tWSTR(\"LocIsStatic\"),\n\tWSTR(\"LocIsTLS\"),\n\tWSTR(\"LocIsRegRel\"),\n\tWSTR(\"LocIsThisRel\"),\n\tWSTR(\"LocIsEnregistered\"),\n\tWSTR(\"LocIsBitField\"),\n\tWSTR(\"LocIsSlot\"),\n\tWSTR(\"LocIsIlRel\"),\n\tWSTR(\"LocInMetaData\"),\n\tWSTR(\"LocIsConstant\"),\n\tWSTR(\"LocTypeMax\"),\n\tWSTR(\"\"),\n};\nWCHAR *CV_access_eName[]=\n{\n\tWSTR(\"\"),\n\tWSTR(\"CV_private\"),\n\tWSTR(\"CV_protected\"),\n\tWSTR(\"CV_public\"),\n\tWSTR(\"\"),\n};\n\n\n\nbool CSourceDebug::ListGlobalSymbols(bool IsPDBFile)\n{\n\tULONG celt;\n\tIDiaSymbol *Symbol;\n\tint i =0;\n\tDWORD SelfReleaseFlags;\n\tIDiaEnumSymbols * EnumSymbols;\n\tSDTYPE *RetSDTYPE;\n\tif(m_GlobalScopeSymbol==NULL)\n\t\treturn false;\n\tMakeSDEXE(m_GlobalScopeSymbol);\n\tInitEnumFrameDataTable();\n\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagPublicSymbol,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn false;\n\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t{\n\t\tSelfReleaseFlags=1;\n\t\tMakeSDPublicSymbol(Symbol,&SelfReleaseFlags,NULL);\n\t\tif(SelfReleaseFlags)\n\t\t{\n\t\t\tSymbol->Release();\n\t\t\tSymbol=NULL;\n\t\t}\n\t}\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagCompiland,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn false;\n\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t{\n\t\tMakeSDCompiland(Symbol);\n\t\tSymbol->Release();\n\t\tSymbol=NULL;\n\t}\n\tEnumSymbols->Release();\n\t//return true;\n\tEnumSymbols=NULL;\n\tIsPDBFile=true;\n\tif(IsPDBFile)\n\t{\n\t\t//////////////////////////////////////////////////////////////////////////\n\t\t//    Ԥȶ \n\t\t//////////////////////////////////////////////////////////////////////////\n\t\tMakePredefineSDBaseType();\n\t\t//////////////////////////////////////////////////////////////////////////\n\t\t//    ȡ\n\t\t//////////////////////////////////////////////////////////////////////////\t\n\t\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagBaseType,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\t\treturn true;\n\t\tlong n;\n\t\tEnumSymbols->get_Count(&n);\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t\t{\n\t\t\tSelfReleaseFlags=1;\n\t\t\tMakeSDType(Symbol,&SelfReleaseFlags,&RetSDTYPE);\n\t\t\tif(SelfReleaseFlags)\t\t\n\t\t\t\tSymbol->Release();\t\t\t\n\t\t}\n\t\tEnumSymbols->Release();\n\n\n\t\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagNull,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\t\treturn true;\n\t\t\n\t\tif(m_pfnSetRange)\n\t\t{\n\t\t\tLONG Count;\n\t\t\tEnumSymbols->get_Count(&Count);\n\t\t\tm_pfnSetRange(Count);\n\t\t\tm_ProgressStep = Count/100;\n\t\t}\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t\t{\n\n\t\t\tSelfReleaseFlags=1;\n\t\t\tMakeSDType(Symbol,&SelfReleaseFlags,&RetSDTYPE);\n\t\t\tif(SelfReleaseFlags)\t\t\n\t\t\t\tSymbol->Release();\n\t\t\ti++;\n\t\t\tif(m_pfnSetPos)\n\t\t\t{\n\t\t\t\tif(m_ProgressStep && i%m_ProgressStep==0)\n\t\t\t\t\tm_pfnSetPos(i);\n\t\t\t}\n\t\t}\n\t\tEnumSymbols->Release();\n\t}\n\telse\n\t{\n\t\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagData,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\t\treturn true;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t\t{\n\n\t\t\tSelfReleaseFlags=1;\n\t\t\tMakeSDType(Symbol,&SelfReleaseFlags,&RetSDTYPE);\n\t\t\tif(SelfReleaseFlags)\t\t\n\t\t\t\tSymbol->Release();\n\t\t\ti++;\n\n\t\t}\n\t\tEnumSymbols->Release();\n\t\tEnumSymbols=NULL;\n\t\tif(FAILED(m_GlobalScopeSymbol->findChildren(SymTagFunction,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\t\treturn true;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&Symbol,&celt))&&celt==1&&Symbol)\n\t\t{\n\n\t\t\tSelfReleaseFlags=1;\n\t\t\tMakeSDType(Symbol,&SelfReleaseFlags,&RetSDTYPE);\n\t\t\tif(SelfReleaseFlags)\t\t\n\t\t\t\tSymbol->Release();\n\t\t\ti++;\n\n\t\t}\n\t\tEnumSymbols->Release();\n\t}\n\tReleaseIDiaSymbol();\n\t//m_FuntionID.sort();\n\t//sort(m_SymbolList.begin(),m_SymbolList.end());\n\t//m_SymbolList.sort();\n\treturn true;\n}\n\n\nWCHAR *CSourceDebug::GetSymbolName(IN IDiaSymbol* Symbol,IN DWORD NameMaxLen,OUT WCHAR *Name)\n{\n\tBSTR SymbolName=NULL;\n\tif(Symbol==NULL)\n\t{\n\t\tif(Name)\n\t\t{\n\t\t\tName[0]=0;\n\t\t\treturn Name;\n\t\t}else\n\t\t\treturn NULL;\n\t}\n\tif(SUCCEEDED(Symbol->get_name(&SymbolName))&&SymbolName)\n\t{\n\t\tif(Name)\n\t\t\tTStrCpyLimit(Name,SymbolName,NameMaxLen-1);\n\t\treturn Name;\n\t}else\n\t{\n\t\tDWORD symIndexId;\n\t\tsymIndexId=0xffffffff;\n\t\tif(SUCCEEDED(Symbol->get_symIndexId(&symIndexId))&&symIndexId!=0xffffffff)\n\t\t{\n\t\t\tTSPrintf(Name,WSTR(\"%08x\"),symIndexId);\t\t\t\n\t\t}else\n\t\t{\t\t\n\t\t\tif(Name)\n\t\t\t{\n\t\t\t\tName[0]=0;\n\t\t\t\treturn Name;\n\t\t\t}else\n\t\t\t\treturn NULL;\n\t\t}\n\t}\n\treturn NULL;\n}\nbool CSourceDebug::CheckSymbolSymTagType(IDiaSymbol *Symbol,enum SymTagEnum TagType)\n{\n\tDWORD symTag;\n\tif(Symbol==NULL)\n\t\treturn false;\n\tif(FAILED(Symbol->get_symTag(&symTag)))\n\t\treturn false;\n\treturn symTag==TagType;\n}\n\nbool CSourceDebug::InitEnumFrameDataTable()\n{\n\tIDiaTable* pTable=NULL;\n\tULONG celt;\n\tIDiaEnumTables *EnumTables=NULL;\n\tIDiaEnumFrameData* pIDiaEnumFrameData=NULL;\n\tIDiaEnumSegments* pIDiaEnumSegments=NULL;\n\tm_GlobalEnumFrameData=NULL;\n\tif(FAILED(m_DiaSession->getEnumTables(&EnumTables))||EnumTables==NULL)\t\n\t\treturn false;\n\twhile(SUCCEEDED(EnumTables->Next(1,&pTable,&celt))&&celt==1)\n\t{\n\t\tif(SUCCEEDED(pTable->QueryInterface(_uuidof(IDiaSegment),(void**)&pIDiaEnumSegments))&&pIDiaEnumSegments)\n\t\t{\n\t\t\tm_GlobalEnumSegments=pIDiaEnumSegments;\n\t\t\tpTable->Release();\n\t\t\tbreak;\n\t\t}\n\t\tpTable->Release();\n\t\tpTable=NULL;\n\t}\n\tEnumTables->Release();\n\tif(FAILED(m_DiaSession->getEnumTables(&EnumTables))||EnumTables==NULL)\t\n\t\treturn false;\n\twhile(SUCCEEDED(EnumTables->Next(1,&pTable,&celt))&&celt==1)\n\t{\n\t\tif(SUCCEEDED(pTable->QueryInterface(_uuidof(IDiaEnumFrameData),(void**)&pIDiaEnumFrameData))&&pIDiaEnumFrameData)\n\t\t{\n\t\t\tm_GlobalEnumFrameData=pIDiaEnumFrameData;\n\t\t\tpTable->Release();\n\t\t\tbreak;\n\t\t}\n\t\tpTable->Release();\n\t\tpTable=NULL;\n\t}\n\tEnumTables->Release();\n\treturn true;\n}\nWCHAR *udtKindName[]={\n\tWSTR(\"struct\"),\n\tWSTR(\"class\"),\n\tWSTR(\"union\"),\n\tWSTR(\"error udt kind\"),\n};\n\nIDiaSymbol* CSourceDebug::FindSymbol(WCHAR *SymbolName,enum SymTagEnum SymTag,IDiaSymbol* Symbol)\n{\n\tULONG celt;\n\tIDiaEnumSymbols *EnumSymbols;\n\tIDiaSymbol* pCurSymbol;\n\tif(Symbol==NULL)\n\t\tSymbol=m_GlobalScopeSymbol;\n\tif(FAILED(Symbol->findChildren(SymTag,SymbolName,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULL;\n\tif(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\treturn pCurSymbol;\n\treturn NULL;\n}\n\nIDiaSymbol* CSourceDebug::DumpSymTagPointerType(IDiaSymbol *Symbol,HANDLE pItem/*,CWispList* pListTree*/,DWORD *Depth)\n{\n\tDWORD pointerDepth=0;\n\tif(Symbol==NULL)\n\t\treturn NULL;\n\tif(CheckSymbolSymTagType(Symbol,SymTagPointerType)==false)\n\t\treturn NULL;\n\tBOOL ref;\n\tif(FAILED(Symbol->get_reference(&ref)))\n\t\treturn NULL;\n\tif(ref)\n\t\treturn NULL;\n\tIDiaSymbol * pCurSymbol=NULL;\n\tDWORD dwSymTag;\n\tbool First=false;\n\twhile(SUCCEEDED(Symbol->get_type(&pCurSymbol))&&pCurSymbol!=NULL)\n\t{\n\t\tpointerDepth++;\n\t\tif(FAILED(pCurSymbol->get_symTag(&dwSymTag)))\n\t\t{\n\t\t\tpCurSymbol->Release();\n\t\t\treturn NULL;\n\t\t}\n\t\tif(dwSymTag!=SymTagPointerType)\n\t\t{\n\t\t\tif(Depth)\n\t\t\t\t*Depth=pointerDepth;\n\t\t\tif(First)\n\t\t\t\tSymbol->Release();\n\t\t\treturn pCurSymbol;\n\t\t}\n\t\tif(FAILED(pCurSymbol->get_reference(&ref)))\n\t\t{\n\t\t\tpCurSymbol->Release();\n\t\t\treturn NULL;\n\t\t}\n\t\tif(ref)\n\t\t{\n\t\t\tpCurSymbol->Release();\n\t\t\treturn NULL;\n\t\t}\n\t\tif(First)\n\t\t\tSymbol->Release();\n\t\tSymbol=pCurSymbol;\n\t\tFirst=true;\n\t}\n\treturn NULL;\n}\n\nbool CSourceDebug::CreateSDSymbolFile(const char *FileName,DWORD TimeDateStamp,DWORD PECheckSum,PCSTR szModuleName)\n{\n\tchar *NullPage,*TempChar,*FileHeaderBuf;\n\tSDSYMBOLFILE* pSDSymbolFile;\n\tSDTYPE NullType;\n\tSDUDTDATAITEM NullData;\n\tSDFUNCTIONITEM NullFunction;\n\tDWORD dwWriteLen,DataCounter,Temp,SymbolCounter,Index=0,FunctionCounter;\n\tSDTYPE* pType;\n\tDWORD* pSymbolOffsetArray,*pFunctionOffsetArray;\n\tSYMBOLLIST sl;\n\tsize_t Size;\n\tDWORD FileHeaderLen;\n\n\tNullPage=new char[0x1000];\n\tmemset(NullPage,0,0x1000);\n\tm_StringTableBlockBeginOffset=0;\n\tm_CurrentStringTableMaxLen=STRINGTABLEDUMPBLOCKSIZE;\n\tm_StringTable = new char[m_CurrentStringTableMaxLen];\n\tmemset(m_StringTable,0,m_CurrentStringTableMaxLen);\n\tm_StringTableOffset=1;\n\tm_StringIndex=1;\n\n\tFileHeaderBuf = new char[SDSF_FILE_HEADER_SIZE];\n\tmemset(FileHeaderBuf,0,SDSF_FILE_HEADER_SIZE);\n\tpSDSymbolFile = (SDSYMBOLFILE*)FileHeaderBuf;\n\tpSDSymbolFile->Sig = SYSER_DEBUG_SYMBOL_FILE_SIG;\n\tpSDSymbolFile->SymbolDirectoryEntryNum=SD_MAX_TYPEIDS;\n\tpSDSymbolFile->Version=SYSER_DEBUG_SYMBOL_FILE_VER;\n\n\tSize = m_SymbolList.size();\n\tpSDSymbolFile->SymbolTotalNum=*(DWORD*)&Size;\n\tpSDSymbolFile->SymbolTotalNum++;//ΪһյҪһ\n\tpSDSymbolFile->UnionSymbolTable.SymbolTableOffset=SDSF_FILE_HEADER_SIZE;\n\tpSDSymbolFile->ModuleID.TimeDateStamp = TimeDateStamp;\n\tpSDSymbolFile->ModuleID.OrgPECheckSum=PECheckSum;\n\tif(gpFileIO->CreateFile(FileName,&m_hFile)==false)\n\t\treturn false;\n\tgpFileIO->WriteFile(m_hFile,FileHeaderBuf,SDSF_FILE_HEADER_SIZE);//дļͷ\t\n\tm_FileOffset=SDSF_FILE_HEADER_SIZE;\t\t\n\tSymbolCounter=pSDSymbolFile->SymbolTotalNum;\t\n\tSize=m_DataTagVector.size();\n\tDataCounter=*(DWORD*)&Size;\n\tpSymbolOffsetArray = new DWORD [SymbolCounter];\n\tmemset(pSymbolOffsetArray,0,sizeof(DWORD)*SymbolCounter);\t\t\n\t\n\tIndex=0;\n\tpSymbolOffsetArray[Index]=m_FileOffset;\n\tmemset(&NullType,0,sizeof(SDTYPE));\n\tgpFileIO->WriteFile(m_hFile,&NullType,sizeof(SDTYPE));\t\t\t//дһսṹ\n\tm_FileOffset+=sizeof(SDTYPE);\n\tm_StringIDVector.push_back(0);\t\t\t\t\t\t\t\t\t//յַ\n\tULLPOS CurFileLen;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//ŵļ\n\t////////////////////////////////////////////////////////\n\t//sort(m_SymbolList.begin(),m_SymbolList.end());\n\t//m_SymbolList.sort();\n\t//SDSymbolList::iterator BeginIt,EndIt;\n\tSD_SYMBOL_MAP::iterator BeginIt,EndIt;\n\n\tBeginIt = m_SymbolList.begin();EndIt=m_SymbolList.end();\n\tfor(Index=1;BeginIt!=EndIt;BeginIt++,Index++)\n\t{\t\n\t\tpSymbolOffsetArray[Index]=m_FileOffset;\n\t\tsl = (*BeginIt).first;\n\t\t//sl = *BeginIt;\n\t\t\n\t\tpType = sl.type;\t\t\n\t\tdwWriteLen=0;\n\t\tif(Index!=sl.id)\n\t\t\tMessageBox(NULL,\"Sort error\",\"error\",MB_OK);\n\t\tswitch(pType->SDTypeInfile.Type) \n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tdwWriteLen = DumpSDUDTTypeToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_TYPEDEF:\n\t\t\tdwWriteLen = DumpSDTypedefTypeToFile(pType);\t\t\t\n\t\t\tbreak;\n\t\tcase SD_ENUMERATION:\n\t\t\tdwWriteLen = DumpSDEnumTypeToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_REFERENCE:\n\t\t\tdwWriteLen = DumpSDReferenceTypeToFile(pType);\t\t\t\n\t\t\tbreak;\n\t\tcase SD_POINTER:\n\t\t\tdwWriteLen = DumpSDPointerTypeToFile(pType);\t\t\t\n\t\t\tbreak;\n\t\tcase SD_FUNCTIONTYPE:\n\t\t\tdwWriteLen = DumpSDFunctionTypeToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_ARRAY:\n\t\t\tdwWriteLen = DumpSDArrayToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_BASECLASS:\n\t\t\tdwWriteLen = DumpSDUDTBaseClassTypeToFile(pType);\t\t\t\n\t\t\tbreak;\n\t\tcase SD_THUNK:\n\t\t\tdwWriteLen = DumpSDThunkTypeToFile(pType);\t\t\t\n\t\t\tbreak;\n\t\tcase SD_BASIC:\n\t\t\tdwWriteLen = DumpSDBasicTypeToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_MANAGED:\n\t\t\tdwWriteLen = DumpSDManagedToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_CUSTOM:\n\t\t\tdwWriteLen = DumpSDCustomToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_BLOCK:\n\t\t\tdwWriteLen = DumpSDBlockToFile(pType);\n\t\t\tbreak;\n\t\tcase SD_VTABLE:\n\t\t\tdwWriteLen = DumpSDVTableToFile(pType);\n\t\tcase SD_FRIEND:\n\t\t\tdwWriteLen = DumpSDFriendToFile(pType);\n\t\tdefault:\n\t\t\tpSymbolOffsetArray[Index]=SDSF_FILE_HEADER_SIZE;\n\t\t\tbreak;\n\t\t}\n\t\tif(dwWriteLen==0)\n\t\t\tpSymbolOffsetArray[Index]=SDSF_FILE_HEADER_SIZE;\n\t\tm_FileOffset+=dwWriteLen;\t\n\t\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\t\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t}\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//ƫƱļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionSymbolIndexTable.SymbolIndexTableOffset=m_FileOffset;\n\tgpFileIO->WriteFile(m_hFile,pSymbolOffsetArray,sizeof(DWORD)*SymbolCounter);\n\tm_FileOffset+=(sizeof(DWORD)*SymbolCounter);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//Ϣļ\n\t////////////////////////////////////////////////////////\n\n\tpSDSymbolFile->UnionDataInformation.DataInformationOffset=m_FileOffset;\n\tm_FileOffset+=sizeof(SDUDTDATAITEM);\n\tmemset(&NullData,0,sizeof(SDUDTDATAITEM));\n\tgpFileIO->WriteFile(m_hFile,&NullData,sizeof(SDUDTDATAITEM));\t\t\t//дһϢ\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\tfor(Index = 1; Index < DataCounter;Index++)\n\t{\n\t\tdwWriteLen = DumpSDDataToFile(m_DataTagVector[Index]);\n\t\tm_FileOffset+=dwWriteLen;\n\t\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\t\tCODE_ASSERT(CurFileLen==m_FileOffset);;\n\t}\n\tpSDSymbolFile->DataInformationNum=DataCounter;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//溯Ϣļ\n\t////////////////////////////////////////////////////////\n\t//m_FuntionID.sort();\n\tSize = m_FuntionID.size();\n\tFunctionCounter =1 + *(DWORD*)&Size;\n\tpFunctionOffsetArray = new DWORD[FunctionCounter];\n\tmemset(pFunctionOffsetArray,0,sizeof(DWORD)*FunctionCounter);\n\n\tpSDSymbolFile->UnionFunctionSymbol.FunctionSymbolOffset =m_FileOffset;\n\tpFunctionOffsetArray[0]=m_FileOffset;\n\tm_FileOffset+=sizeof(SDFUNCTIONITEM);\n\tmemset(&NullFunction,0,sizeof(SDFUNCTIONITEM));\n\tgpFileIO->WriteFile(m_hFile,&NullFunction,sizeof(SDFUNCTIONITEM));\t\t\t//дһϢ\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\tFUNCTION_ID_MAP::iterator FuncIdBeginIT,FuncIdEndIT;// m_FuntionID;\n\tFuncIdBeginIT = m_FuntionID.begin();\n\tFuncIdEndIT = m_FuntionID.end();\n\tPSDFUNCTIONITEM pFunctionItem;\n\tfor(;FuncIdBeginIT!=FuncIdEndIT;FuncIdBeginIT++)\n\t\tm_IDFuntionMap.insert(ID_FUNCTION_MAP::value_type((*FuncIdBeginIT).second,(PSTFUNCTIONID)&(*FuncIdBeginIT).first));// .push_back(&(*FuncBeginIT).first);\n\tID_FUNCTION_MAP::iterator FuncBeginIT,FuncEndIT;// m_FuntionID;\n\tFuncBeginIT = m_IDFuntionMap.begin();\n\tFuncEndIT=m_IDFuntionMap.end();\n\n\tfor(;FuncBeginIT!=FuncEndIT;FuncBeginIT++)\n\t{\n\t\tpFunctionItem = (*FuncBeginIT).second->pFuncItem;\n\t\tpFunctionOffsetArray[pFunctionItem->ID]=m_FileOffset;\n\t\tCODE_ASSERT(FunctionCounter>=pFunctionItem->ID);\n\t\tdwWriteLen = DumpSDFunctionToFile(pFunctionItem);\n\t\tif(dwWriteLen==0)\n\t\t\tpFunctionOffsetArray[pFunctionItem->ID]=pFunctionOffsetArray[0];\n\t\tm_FileOffset+=dwWriteLen;\n\t\t//CurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\t\t//CODE_ASSERT(CurFileLen==m_FileOffset);\n\t}\t\n\tm_IDFuntionMap.clear();\n\tpSDSymbolFile->FunctionSymbolNum=FunctionCounter;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\t\n\t////////////////////////////////////////////////////////\n\t//溯ϢƫƱļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionFunctionSymbolIndexTable.FunctionSymbolIndexTableOffset=m_FileOffset;\n\tgpFileIO->WriteFile(m_hFile,pFunctionOffsetArray,sizeof(DWORD)*FunctionCounter);\n\tdelete []pFunctionOffsetArray;\n\tm_FileOffset+=(sizeof(DWORD)*FunctionCounter);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//кϢļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionLineNumber.LineNumberOffset=m_FileOffset;\n\tDWORD WritedLen = DumpSDLineNumberToFile(&pSDSymbolFile->LineNumberCounter);\n\tm_FileOffset+=WritedLen;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//Դļбļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionSourceFileIDTable.SourceFileIDTableOffset=m_FileOffset;\n\tULLPOS ll;\n\tll = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tWritedLen = DumpSDSourceFileToFile(&pSDSymbolFile->SourceFileCounter);\n\tm_FileOffset+=WritedLen;\n\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//ȫֵķűļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionPublicSymbol.PublicSymbolOffset=m_FileOffset;\n\tWritedLen = DumpSDPublicSymbolToFile(&pSDSymbolFile->PublicSymbolCounter);\n\tm_FileOffset+=WritedLen;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t// Compiland ļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UniosCompiland.CompilandOffset=m_FileOffset;\n\tWritedLen = DumpSDCompilandToFile(&pSDSymbolFile->CompilandCounter);\n\tm_FileOffset+=WritedLen;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t//ַƫƱļ\n\t////////////////////////////////////////////////////////\n\tSize = m_StringIDVector.size();\n\tpSDSymbolFile->StringTotalNum=*(DWORD*)&Size;\n\tpSDSymbolFile->UnionStringIndexTable.StringIndexTableOffset=m_FileOffset;\n\tif(pSDSymbolFile->StringTotalNum>SymbolCounter)\n\t{\t\t\n\t\tdelete []pSymbolOffsetArray;\n\t\tpSymbolOffsetArray = new DWORD[pSDSymbolFile->StringTotalNum];\t\n\t}\t\t\n\tfor(unsigned i=0;i<pSDSymbolFile->StringTotalNum;i++)\n\t\tpSymbolOffsetArray[i]=m_StringIDVector[i];\t\t\n\tgpFileIO->WriteFile(m_hFile,pSymbolOffsetArray,sizeof(DWORD)*pSDSymbolFile->StringTotalNum);\n\tdelete []pSymbolOffsetArray;\n\tm_FileOffset+=(sizeof(DWORD)*pSDSymbolFile->StringTotalNum);\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tCurFileLen = gpFileIO->SetFilePointer(m_hFile,0,FILE_CURRENT);\n\tCODE_ASSERT(CurFileLen==m_FileOffset);\n\t////////////////////////////////////////////////////////\n\t// ļ\n\t////////////////////////////////////////////////////////\n\tpSDSymbolFile->UnionStringTable.StringTableOffset=m_FileOffset;\n\tDUMP_STRING_LOCK_LIST::iterator FirstIt,LastIt;\n\tFirstIt = m_StringDumpBlockList.begin();\n\tLastIt = m_StringDumpBlockList.end();\n\tfor(;FirstIt!=LastIt;FirstIt++)\n\t{\n\t\tvoid * WBuf=(*FirstIt).BlockBaseAddress ;\n\t\tDWORD WLen=(*FirstIt).EndOffset-(*FirstIt).BeginOffset;\n\t\tgpFileIO->WriteFile(m_hFile,WBuf,WLen);\n\t\tm_FileOffset+=WLen;\n\t\tdelete []WBuf;\n\t}\n\n\tgpFileIO->WriteFile(m_hFile,m_StringTable,m_StringTableOffset-m_StringTableBlockBeginOffset);\n\tm_FileOffset+=m_StringTableOffset-m_StringTableBlockBeginOffset;\n\tdelete []m_StringTable;\n\tTemp = m_FileOffset % SECTION_ALIGN_SIZE;\n\tif(Temp)\n\t{\n\t\tTemp = SECTION_ALIGN_SIZE - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset+=Temp;\n\tFileHeaderLen=SDSF_FILE_HEADER_SIZE-sizeof(SDSYMBOLFILE);\n\n\tTemp = TStrLen(m_PEFileName)+1;\n\tif(FileHeaderLen<Temp)\n\t{\n\t\tpSDSymbolFile->uPEFileName.PEFileNameOffset = m_FileOffset;\n\t\tgpFileIO->WriteFile(m_hFile,m_PEFileName,Temp);\n\t\tm_FileOffset += Temp;\n\t\tpSDSymbolFile->PEFileNameLen=Temp;\n\t}\n\telse\n\t{\n\t\tpSDSymbolFile->uPEFileName.PEFileNameOffset = SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\tTempChar=(char*)pSDSymbolFile;\n\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],m_PEFileName);\n\t\tFileHeaderLen-=Temp;\n\t\tpSDSymbolFile->PEFileNameLen=Temp;\n\t}\n\tTemp = TStrLen(m_PDBFileName)+1;\n\tif(FileHeaderLen<Temp)\n\t{\n\t\tpSDSymbolFile->uPDBFileName.PDBFileNameOffset = m_FileOffset;\n\t\tgpFileIO->WriteFile(m_hFile,m_PDBFileName,Temp);\n\t\tm_FileOffset += Temp;\n\t\tpSDSymbolFile->PDBFileNameLen=Temp;\n\t}\n\telse\n\t{\n\t\tpSDSymbolFile->uPDBFileName.PDBFileNameOffset = SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\tTempChar=(char*)pSDSymbolFile;\n\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],m_PDBFileName);\n\t\tFileHeaderLen-=Temp;\n\t\tpSDSymbolFile->PDBFileNameLen=Temp;\n\t}\n\tif(szModuleName)\n\t{\n\t\tTemp = TStrLen(szModuleName)+1;\n\t\tif(FileHeaderLen<Temp)\n\t\t{\n\t\t\tpSDSymbolFile->uPEFileFullName.PEFileFullNameOffset=m_FileOffset;\n\t\t\tgpFileIO->WriteFile(m_hFile,szModuleName,Temp);\n\t\t\tm_FileOffset+=Temp;\n\t\t\tpSDSymbolFile->PEFileFullNameLen=Temp;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpSDSymbolFile->uPEFileFullName.PEFileFullNameOffset=SDSF_FILE_HEADER_SIZE-FileHeaderLen;\n\t\t\tTempChar=(char*)pSDSymbolFile;\n\t\t\tTStrCpy(&TempChar[SDSF_FILE_HEADER_SIZE-FileHeaderLen],szModuleName);\n\t\t\tFileHeaderLen-=Temp;\n\t\t\tpSDSymbolFile->PEFileFullNameLen=Temp;\n\t\t}\n\t}\n\tTemp = m_FileOffset % 0x1000;\n\tif(Temp)\n\t{\n\t\tTemp = 0x1000 - Temp;\n\t\tgpFileIO->WriteFile(m_hFile,NullPage,Temp);\n\t}\n\tm_FileOffset += Temp;\n\tpSDSymbolFile->FileLen=m_FileOffset;\n\tgpFileIO->WriteFile(m_hFile,pSDSymbolFile,SDSF_FILE_HEADER_SIZE,0);\n\tgpFileIO->CloseHandle(m_hFile);\n\tWriteSDSymbolFileCheckSum(FileName);\n\t//ReleaseSDType();\n\tdelete []NullPage;\n\tdelete []FileHeaderBuf;\n\treturn true;\n}\nbool CSourceDebug::WriteSDSymbolFileCheckSum(const char *FileName)\n{\n\tDWORD FileLen,i;\n\tDWORD* pBuffer;\n\tHANDLE hFile;\n\tPSDSYMBOLFILE pSDSymbolFile;\n\tULONGLONG CheckSum=0;\n\tif(gpFileIO->OpenFile(FileName,&hFile,FIO_READ|FIO_WRITE)==false)\n\t\treturn false;\n\t\n\tFileLen = (DWORD)gpFileIO->GetFileLength(hFile);\n\tif(FileLen&0xfff)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tpBuffer = (DWORD*)new BYTE[FileLen];\n\tif(pBuffer==NULL)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\n\tgpFileIO->SetFilePointer(hFile,0,FILE_CURRENT);\n\tif(gpFileIO->ReadFile(hFile,pBuffer,FileLen,0)!=FileLen)\n\t{\n\t\tgpFileIO->CloseHandle(hFile);\n\t\treturn false;\n\t}\t\n\tpSDSymbolFile = (PSDSYMBOLFILE)pBuffer;\n\tpSDSymbolFile->CheckSum=0;\n\tfor(i = 0; i < FileLen/sizeof(DWORD);i++)\n\t{\n\t\tCheckSum+=pBuffer[i];\n\t}\n\n\tpSDSymbolFile->CheckSum=*(DWORD*)&CheckSum;\n\tgpFileIO->WriteFile(hFile,pSDSymbolFile,sizeof(SDSYMBOLFILE),0);\n\tgpFileIO->FlushFileBuffer(hFile);\n\tgpFileIO->CloseHandle(hFile);\n\tdelete []pBuffer;\n\treturn true;\n}\nDWORD CSourceDebug::DumpSDSourceFileToFile(DWORD* SourceFileCounter)\n{\t\n\tID_TO_SOURCE_FILE_NAME_MAP::iterator BeginIT,EndIT;\n\tSDSOURCEFILEID* pSourceID;\n\tDWORD WriteLen;\n\tDWORD OffsetAtFile = 0;\n\tsize_t Size;\n\tDWORD Counter; \n\tSize = m_IdToSourceFileNameMap.size();\n\tCounter=*(DWORD*)&Size;\n\tpSourceID = new SDSOURCEFILEID[Counter];\n\tWriteLen = sizeof(SDSOURCEFILEID)*Counter;\n\tmemset(pSourceID,0,WriteLen);\n\tBeginIT=m_IdToSourceFileNameMap.begin();\n\tEndIT=m_IdToSourceFileNameMap.end();\n\tint i = 0;\n\tfor(;BeginIT!=EndIT;BeginIT++,i++)\n\t{\n\t\tpSourceID[i].uName.MemberNameInStringTableIndex = DumpSDTypeName(BeginIT->first.Name);\n\t\tpSourceID[i].FileID=BeginIT->first.Id;\n\t}\n\tCODE_ASSERT(i==Counter);\n\tgpFileIO->WriteFile(m_hFile,pSourceID,WriteLen);\n\tif(SourceFileCounter)\n\t\t*SourceFileCounter=Counter;\n\tdelete []pSourceID;\n\treturn WriteLen;\t\n}\nDWORD CSourceDebug::DumpSDLineNumberToFile(DWORD* LineNumbers)\n{\t\n\tDWORD dwTotalLineNumbers=0;\t\n\tsize_t Size;\n\tDWORD WriteTotalLen=0;\t\n\tSDLINE* pLine;\t\n\tlist <SDLINE>::iterator BeginIT,EndIT;\n\tSize = m_TotalLineNumber.size();\n\tdwTotalLineNumbers = *(DWORD*)&Size;\n\tpLine = new SDLINE[dwTotalLineNumbers];\n\tWriteTotalLen = sizeof(SDLINE)*dwTotalLineNumbers;\n\tm_TotalLineNumber.sort();\n\tBeginIT=m_TotalLineNumber.begin();\n\tEndIT=m_TotalLineNumber.end();\n\tint i = 0;\n\tfor(;BeginIT!=EndIT;BeginIT++,i++)\t\n\t\tpLine[i]=*BeginIT;\n\tgpFileIO->WriteFile(m_hFile,pLine,WriteTotalLen);\n\tif(LineNumbers)\n\t\t*LineNumbers=dwTotalLineNumbers;\n\tdelete []pLine;\n\treturn WriteTotalLen;\n}\nDWORD CSourceDebug::DumpSDPublicSymbolToFile(DWORD* PublicSymbolNumbers)\n{\t\t\n\tSDPUBLICSYMBOL* pPublicSymbol;\n\t\n\tchar string[]=\"`string'\";\n\tPUBLIC_SYMBOL_MAP::iterator BeginIt,EndIt;\t\t\n\tsize_t count = m_PublicSymbolList.size();\n\tDWORD WriteLen =*(DWORD*)&count * sizeof(SDPUBLICSYMBOL);\n\tvector<DWORD>::iterator beingIt,endIt,valueIt;\n\tpPublicSymbol = new SDPUBLICSYMBOL[count];\n\tmemset(pPublicSymbol,0,WriteLen);\n\tBeginIt = m_PublicSymbolList.begin();\n\tEndIt = m_PublicSymbolList.end();\n\n\tint i,j = 0,k=0,m=0;\n\tfor( i =0;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tpPublicSymbol[i]=(*BeginIt).first;\n\t\tif(TStrCmp(string,pPublicSymbol[i].uName.Name))\n\t\t\tpPublicSymbol[i].uName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].uName.Name);\n\t\telse\n\t\t{\n\t\t\tif(m_StringName)\n\t\t\t{\n\t\t\t\tk++;\n\t\t\t\tpPublicSymbol[i].uName.StringTableIndex=m_StringNameID;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpPublicSymbol[i].uName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].uName.Name);\n\t\t\t\tm_StringName=true;\n\t\t\t\tm_StringNameID=pPublicSymbol[i].uName.StringTableIndex;\n\t\t\t}\n\t\t}\n\t\tpPublicSymbol[i].UndecoratedName.StringTableIndex = DumpSDTypeName(pPublicSymbol[i].UndecoratedName.Name);\n\t\ti++;\n\t}\n\tWriteLen = i*sizeof(SDPUBLICSYMBOL);\n\tgpFileIO->WriteFile(m_hFile,pPublicSymbol,WriteLen);\n\tdelete []pPublicSymbol;\n\tif(PublicSymbolNumbers)\n\t\t*PublicSymbolNumbers=i;\n\treturn WriteLen;\n}\nDWORD CSourceDebug::DumpSDManagedToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize; \n\tchar* pOldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex = DumpSDTypeName(pType);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=pOldName;\n\treturn WriteByteSize;\n}\n\n\nDWORD CSourceDebug::DumpSDVTableToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize; \n\tchar* pOldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size- (sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex = DumpSDTypeName(pType);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=pOldName;\n\treturn WriteByteSize;\n}\n\nDWORD CSourceDebug::DumpSDDataToFile(SDUDTDATAITEM* pUdtDataItem)\n{\n\tDWORD WriteByteSize;\n\tchar* pOldName = pUdtDataItem->uName.Name;\n\tpUdtDataItem->uName.StringTableIndex=DumpSDDataName(pUdtDataItem);\n\tWriteByteSize=sizeof(SDUDTDATAITEM);\n\tgpFileIO->WriteFile(m_hFile,pUdtDataItem,WriteByteSize);\n\tpUdtDataItem->uName.Name=pOldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDBlockToFile(SDTYPE* pType)\n{\t\t\n\tDWORD WriteByteSize;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\t\t\n\treturn WriteByteSize;\t\t\n}\nDWORD CSourceDebug::DumpSDCustomToFile(SDTYPE* pType)\n{\n\tchar* pOldName = pType->SDTypeInfile.uName.Name;\n\tDWORD WriteByteSize;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex = DumpSDTypeName(pType);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=pOldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDBasicTypeToFile(SDTYPE* pType)\n{\n\tchar* pOldName = pType->SDTypeInfile.uName.Name;\n\tDWORD WriteByteSize;\n\tpType->SDTypeInfile.uName.StringTableIndex = DumpSDTypeName(pType);\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=pOldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDCompilandToFile(DWORD* CompilandCounter)\n{\n\tint i;\n\tsize_t Count;\n\tSDCOMPILAND* pCompiland;\n\tID_TO_COMPILAND_NAME_MAP::iterator BeginIt,EndIt;\n\tDWORD WriteByteSize;\n\n\tBeginIt = m_IdToCompilandMap.begin();\n\tEndIt = m_IdToCompilandMap.end();\n\tCount = m_IdToCompilandMap.size();\n\tWriteByteSize =*(DWORD*)&Count;\n\tWriteByteSize = WriteByteSize * sizeof(SDCOMPILAND);\n\tpCompiland = new SDCOMPILAND[Count];\n\tfor(i=0;BeginIt!=EndIt;BeginIt++,i++)\n\t{\n\t\tpCompiland[i]=*(BeginIt->second);\n\t\tpCompiland[i].uName.MemberNameInStringTableIndex=DumpSDTypeName(pCompiland[i].uName.Name);\n\t}\n\tgpFileIO->WriteFile(m_hFile,pCompiland,WriteByteSize);\n\tdelete []pCompiland;\n\tif(CompilandCounter)\n\t\t*CompilandCounter=*(DWORD*)&Count;\n\treturn WriteByteSize;\n}\n\nDWORD CSourceDebug::DumpSDUDTBaseClassTypeToFile(SDTYPE* pType)\n{\t\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex = DumpSDTypeName(pType);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDArrayToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDFunctionTypeToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize; \n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDThunkTypeToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDPointerTypeToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize;\n\tDWORD WriteLen =  sizeof(SDTYPE)+sizeof(SDPOINTERTYPE);\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tchar *name;\n\tSDPOINTERTYPE* pSdPointerType = (SDPOINTERTYPE*)&pType[1];\n\tunsigned int i;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tint len=TStrLen(pType->SDTypeInfile.uName.Name)-9;\n\tname = new char [TStrLen(pType->SDTypeInfile.uName.Name)+1+pSdPointerType->PointerDepth];\n\tTStrCpy(name,pType->SDTypeInfile.uName.Name);\n\tfor(i =0; i<pSdPointerType->PointerDepth;i++ )\n\t\tname[len+i]='*';\n\tname[len+i]=0;\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(name);\t\t\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile.Size,WriteByteSize);\n\tdelete []name;\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDReferenceTypeToFile(SDTYPE* pType)\n{\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile.Size,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\t\n}\nDWORD CSourceDebug::DumpSDEnumTypeToFile(SDTYPE* pType)\n{\n\tSDENUMERATIONTYPE* pEnumationType;\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tchar *TmpPointer;\n\tSDTYPE_INFILE *pSubType;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tTmpPointer = new char [WriteByteSize];\n\tpSubType =(SDTYPE_INFILE*) TmpPointer;\n\tmemcpy(pSubType,&pType->SDTypeInfile,WriteByteSize);\n\tpEnumationType = (SDENUMERATIONTYPE*)&pSubType[1];\n\tfor(unsigned int i = 0; i < pEnumationType->DataCount; i++)\t\n\t\tpEnumationType->EnumerationDataMember[i].u.MemberNameInStringTableIndex = DumpSDTypeName(pEnumationType->EnumerationDataMember[i].u.Name);\n\tgpFileIO->WriteFile(m_hFile,pSubType,WriteByteSize);\n\tdelete []TmpPointer;\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDTypedefTypeToFile(SDTYPE* pType)\n{\t\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType->SDTypeInfile.uName.Name);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDFriendToFile(SDTYPE* pType)\n{\t\n\tDWORD WriteByteSize;\n\tchar *OldName = pType->SDTypeInfile.uName.Name;\n\tWriteByteSize = pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tpType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType->SDTypeInfile.uName.Name);\n\tgpFileIO->WriteFile(m_hFile,&pType->SDTypeInfile,WriteByteSize);\n\tpType->SDTypeInfile.uName.Name=OldName;\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDFunctionToFile(PSDFUNCTIONITEM pFunctionItem)\n{\t\n\tDWORD WriteLen =sizeof(SDFUNCTIONITEM);\n\tPSDFUNCTIONITEM pFuncItem = new SDFUNCTIONITEM;\n\tPSDFUNCTIONITEM\tpOldFuncItem;\n\tDWORD CurOffset = WriteLen;\n\tDWORD DataLen;\n\tDWORD BlockLen;\n\t*pFuncItem=*pFunctionItem;\t\t\n\tDataLen = sizeof(DWORD)*pFuncItem->DataCounter;\n\tBlockLen = sizeof(DWORD)*pFuncItem->BlockCounter;\n\tpOldFuncItem=pFunctionItem;\n\tpFuncItem->pData.DataMemberOffset= pFuncItem->DataCounter ? CurOffset:0;\n\tCurOffset+=DataLen;\n\tpFuncItem->pBlock.BlockOffset =pFuncItem->BlockCounter ? CurOffset:0;\n\tCurOffset+=BlockLen;\n\tpFuncItem->uName.MemberNameInStringTableIndex=DumpSDTypeName(pFuncItem->uName.Name);\t\n\tgpFileIO->WriteFile(m_hFile,pFuncItem,WriteLen);\t\n\tif(pFuncItem->DataCounter)\t\t\n\t\tgpFileIO->WriteFile(m_hFile,pOldFuncItem->pData.pDataMember,DataLen);\n\tif(pFuncItem->BlockCounter)\t\t\n\t\tgpFileIO->WriteFile(m_hFile,pOldFuncItem->pBlock.pBlockTypeIdArray,BlockLen);\n\tif(pFuncItem->LabelCounter)\n\t{\n\t\tPSDLABELITEM pSDLabelArray = new SDLABELITEM[pFuncItem->LabelCounter];\n\t\tfor(unsigned int i = 0; i < pFuncItem->LabelCounter; i++)\n\t\t{\n\t\t\tpSDLabelArray[i].uName.MemberNameInStringTableIndex=DumpSDTypeName(pFuncItem->pLabel.pLabelArray[i].uName.Name);\n\t\t\tpSDLabelArray[i].Rva=pFuncItem->pLabel.pLabelArray[i].Rva;\n\t\t}\n\t\tCurOffset+=sizeof(SDLABELITEM)*pFuncItem->LabelCounter;\n\t\tgpFileIO->WriteFile(m_hFile,pSDLabelArray,sizeof(SDLABELITEM)*pFuncItem->LabelCounter);\n\t\tdelete []pSDLabelArray;\n\t}\n\tdelete pFuncItem;\n\treturn CurOffset;\n}\nDWORD CSourceDebug::DumpSDUDTTypeToFile(SDTYPE* pType)\n{\n\tDWORD dwCurOffset=pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE));\n\tchar* temp = new char[pType->SDTypeInfile.Size];\n\tSDTYPE * pCurType;\n\tSDUDTTYPE * pUdtType,*pOldUdtType;\n\tDWORD FuncIDLen=0;\n\tDWORD DataLen=0;\t\n\tDWORD FriendLen=0;\n\tDWORD BaseClassLen=0;\n\tDWORD VTableLen=0;\n\n\tpCurType= (SDTYPE*)temp;\n\tmemcpy(pCurType,pType,pType->SDTypeInfile.Size);\n\tpUdtType = (SDUDTTYPE*)&pCurType[1];\n\tpOldUdtType=(SDUDTTYPE*)&pType[1];\t\n\tFuncIDLen=pUdtType->FunctionCounter*sizeof(DWORD);\n\tDataLen=pUdtType->DataCounter*sizeof(DWORD);\n\tFriendLen=pUdtType->FriendCounter*sizeof(DWORD);\n\tBaseClassLen=pUdtType->BaseClassCounter*sizeof(DWORD);\n\tVTableLen=pUdtType->VTableCount*sizeof(SDUDTVIRTUALTABLE);\n\tpCurType->SDTypeInfile.uName.StringTableIndex=DumpSDTypeName(pType);\n\tpUdtType->pData.DataMemberOffset=dwCurOffset;\n\tdwCurOffset+=DataLen;\n\tpUdtType->pFunction.FunctionMemberOffset=dwCurOffset;\n\tdwCurOffset+=FuncIDLen;\n\tpUdtType->pFriend.FriendMemberOffset=dwCurOffset;\n\tdwCurOffset+=FriendLen;\n\tpUdtType->pBaseClass.BaseClassMemberOffset=dwCurOffset;\n\tdwCurOffset+=BaseClassLen;\t\n\tpUdtType->pVTable.VTableMemberOffset=dwCurOffset;\n\tdwCurOffset+=VTableLen;\t\n\tgpFileIO->WriteFile(m_hFile,&pCurType->SDTypeInfile.Size,pType->SDTypeInfile.Size-(sizeof(SDTYPE)-sizeof(SDTYPE_INFILE)));\n\tif(pUdtType->DataCounter)\n\t\tgpFileIO->WriteFile(m_hFile,pOldUdtType->pData.pDataMember,DataLen);\t\n\tif(pUdtType->FunctionCounter)\n\t\tgpFileIO->WriteFile(m_hFile,pOldUdtType->pFunction.pFunctionMember,FuncIDLen);\t\n\tif(pUdtType->FriendCounter)\n\t\tgpFileIO->WriteFile(m_hFile,pOldUdtType->pFriend.pFriendMember,FriendLen);\n\tif(pUdtType->BaseClassCounter)\n\t\tgpFileIO->WriteFile(m_hFile,pOldUdtType->pBaseClass.pBaseClassMember,BaseClassLen);\t\n\tif(pUdtType->VTableCount)\n\t\tgpFileIO->WriteFile(m_hFile,pOldUdtType->pVTable.pVTableMember,VTableLen);\t\n\tdelete []temp;\n\treturn dwCurOffset;\n}\n\nDWORD CSourceDebug::DumpSDDataName(SDUDTDATAITEM* pUdtDataItem)\n{\n\treturn DumpSDTypeName(pUdtDataItem->uName.Name);\n}\nDWORD CSourceDebug::DumpSDTypeName(SDTYPE* pType)\n{\n\tif(pType->SDTypeInfile.uName.Name==NULL||pType->SDTypeInfile.uName.Name[0]==0)\n\t\treturn 0;\n\treturn DumpSDTypeName(pType->SDTypeInfile.uName.Name);\n}\nDWORD CSourceDebug::DumpSDTypeName(char* Name)\n{\n\tDWORD NameLen;\n\tif(Name==NULL||Name[0]==0)\n\t\treturn 0;\n\tNameLen = TStrLen(Name);\n\tif(NameLen+m_StringTableOffset+1 >= m_CurrentStringTableMaxLen)\n\t{\n\t\tDUMPSTRINGTABLEBLOCK DumpStringTableBlock;\n\t\tDumpStringTableBlock.BlockBaseAddress = m_StringTable;\n\t\tDumpStringTableBlock.EndOffset = m_StringTableOffset;\n\t\tDumpStringTableBlock.BeginOffset=m_StringTableBlockBeginOffset;\n\t\tm_StringDumpBlockList.push_back(DumpStringTableBlock);\n\t\tint Len = STRINGTABLEDUMPBLOCKSIZE - m_StringTableOffset % STRINGTABLEDUMPBLOCKSIZE + STRINGTABLEDUMPBLOCKSIZE;\n\t\tm_StringTable = new char[Len];\n\t\tm_CurrentStringTableMaxLen+=STRINGTABLEDUMPBLOCKSIZE;\n\t\tm_StringTableBlockBeginOffset=m_StringTableOffset;\n\t}\n\t\n\tSTRINGOFTABLE StringOfTable(Name);\n\tSTRING_TO_ID_MAP::iterator FindIt=m_String2IDMap.find(StringOfTable);\n\tif(FindIt==m_String2IDMap.end())\n\t{\n\t\tTStrCpy(m_StringTable-m_StringTableBlockBeginOffset+m_StringTableOffset,Name);\n\t\tStringOfTable.String=m_StringTable-m_StringTableBlockBeginOffset+m_StringTableOffset;\n\t\tm_String2IDMap.insert(STRING_TO_ID_MAP::value_type(StringOfTable,m_StringIndex));\n\t\tm_StringIDVector.push_back(m_StringTableOffset);\n\t\tm_StringTableOffset=NameLen+1+m_StringTableOffset;\n\t\tm_StringIndex++;\n\t}\n\telse\n\t\treturn FindIt->second;\n\t\n\treturn m_StringIndex-1;\n}\n\nchar *CSourceDebug::GetBaseTypeName1(DWORD BaseType,DWORD length)\n{\n\tint count = sizeof(BaseTypeNameStructArray)/sizeof(BaseTypeNameStructArray[0]);\n\tint i;\n\t\n\tif(BaseType==btInt)\n\t\tBaseType=length*0x80;\n\tif(BaseType==btUInt)\n\t\tBaseType=length*0x800;\n\tif(BaseType==btFloat&&length==8)\n\t\tBaseType=0x8000;\n\tfor(i = 0; i < count;i++)\n\t\tif(BaseType==BaseTypeNameStructArray[i].Type)\n\t\t\treturn BaseTypeNameStructArray[i].Name;\n\treturn NULL;\n}\nchar *CSourceDebug::MakeFunctionTypeName(IDiaSymbol*Symbol)\n{\n\treturn NULL;\n}\n\n\nDWORD CSourceDebug::MakeSDType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tDWORD SymTag;\n\tDWORD SelfReleaseFlags=1;\n\tDWORD dwRetSymbolID=NULLSYMBOLID;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tif(Symbol==NULL)\n\t\treturn NULLSYMBOLID;\n\n\tif(FAILED(Symbol->get_symTag(&SymTag)))\n\t{\n\t\tCODE_ASSERT(0);\n\t\treturn NULLSYMBOLID;\n\t}\n\tswitch(SymTag) \n\t{\n\tcase SymTagUDT:\t\t\n\t\tdwRetSymbolID = MakeSDUDTType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagEnum:\n\t\tdwRetSymbolID = MakeSDEnumType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagFunctionType:\n\t\tdwRetSymbolID = MakeSDFunctionType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagBaseClass:\n\t\tdwRetSymbolID = MakeSDBaseClassType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagPointerType:\n\t\tdwRetSymbolID = MakeSDPointerReferenceType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagArrayType:\n\t\tdwRetSymbolID = MakeSDArrayType(Symbol,&SelfReleaseFlags,pTypeRetrun);\t\t\n\t\tbreak;\n\tcase SymTagBaseType:\n\t\tdwRetSymbolID = MakeSDBaseType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagCustomType:\t\t\n\t\tdwRetSymbolID = MakeSDCustomType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagManagedType:\n\t\tdwRetSymbolID = MakeSDManagedType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagTypedef:\n\t\tdwRetSymbolID = MakeSDTypeDefType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagFunction: \n\t\tdwRetSymbolID = MakeSDFunction(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagThunk:\n\t\tMakeSDThunk(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagFriend:\n\t\tMakeSDFriend(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagData:\n\t\t{\t\t\t\n\t\t\tDWORD dwDataKind;\n\t\t\tif(SUCCEEDED(Symbol->get_dataKind(&dwDataKind)))\n\t\t\t\tif(dwDataKind==DataIsFileStatic||dwDataKind==DataIsGlobal)\n\t\t\t\t\tMakeSDDataTagType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\t}\t\t\n\t\tbreak;\n\t/*\n\tcase SymTagFunctionArgType:\n\t\tbreak;\n\tcase SymTagCompiland:\n\t\tMakeSDCompiland(Symbol);\n\t\tbreak;\n\tcase SymTagPublicSymbol:\n\t\tMakeSDPublicSymbol(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\t\n\tcase SymTagVTableShape:\n\t\t//dwRetSymbolID = MakeSDVTableShapType(Symbol,&SelfReleaseFlags,pTypeRetrun);\n\t\tbreak;\n\tcase SymTagVTable:\n\t\t{\n\t\t}\t\n\t\tbreak;\n\t*/\n\tdefault:\n\t\tbreak;\n\t}\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\n\treturn dwRetSymbolID;\n}\nDWORD CSourceDebug::MakeSDEXE(IDiaSymbol* Symbol)\n{\n\tBSTR Name=NULL;\n\tBSTR SymbolsFileName=NULL;\n\tDWORD TimeStamp=0;\n\tSymbol->get_name(&Name);\n\tm_PEFileName = new char [TStrLen(Name)+1];\n\tTStrCpy(m_PEFileName,Name);\n\tSymbol->get_timeStamp(&TimeStamp);\n\tSymbol->get_symbolsFileName(&SymbolsFileName);\n\tm_PDBFileName = new char[TStrLen(SymbolsFileName)+1];\n\tTStrCpy(m_PDBFileName,SymbolsFileName);\n\tLocalFree(Name);\n\tLocalFree(SymbolsFileName);\n\treturn 0;\n}\nDWORD CSourceDebug::MakeSDVTable(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tIDiaSymbol* pSubsymbol=NULL,*pClassParent=NULL;\n\tDWORD SelfReleaseFlags=1;\n\tSDTYPE* pType;\n\tSDVTABLE* pSDVtable;\n\tDWORD dwSymTag=0;\n\tIDiaSymbol* NewType=NULL;\n\tDWORD NumbersEntriesVTable=0;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tpType =(SDTYPE*) new char[sizeof(SDTYPE)+sizeof(SDVTABLE)];\n\tmemset(pType,0,sizeof(SDTYPE)+sizeof(SDVTABLE));\n\tpType->SDTypeInfile.Size=sizeof(SDTYPE)+sizeof(SDVTABLE);\n\tpType->SDTypeInfile.Type=SD_VTABLE;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\t\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\n\tpSDVtable = (SDVTABLE*)&pType[1];\n\tif(SUCCEEDED(Symbol->get_type(&pSubsymbol)))\n\t{\n\t\tif(SUCCEEDED(pSubsymbol->get_symTag(&dwSymTag)))\n\t\t{\n\t\t\tif(dwSymTag==SymTagPointerType)\n\t\t\t{\n\t\t\t\tif(SUCCEEDED(pSubsymbol->get_type(&NewType))||NewType)\n\t\t\t\t{\n\t\t\t\t\tif(SUCCEEDED(NewType->get_symTag(&dwSymTag)))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(dwSymTag==SymTagVTableShape)\n\t\t\t\t\t\t\tNewType->get_count(&NumbersEntriesVTable);\n\t\t\t\t\t}\n\t\t\t\t\tNewType->Release();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tpSubsymbol->Release();\n\t}\n\tpSDVtable->NumbersEntriesVTable=NumbersEntriesVTable;\n\tif(SUCCEEDED(Symbol->get_classParent(&pClassParent)))\n\t\tpSDVtable->TypeIdParentUDT = MakeSDType(pClassParent,&SelfReleaseFlags,pTypeRetrun);\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n}\nbool CSourceDebug::ModifyVTableName(char *Name)\n{\n\tint i = 0,j=0;\n\tbool bRet=false;\n\tchar *pClass,*pStruct,*pSrcBegin,*pDestBegin,*pNewName;\n\tpStruct = TStrStr(Name,\"struct \");\n\tpClass=TStrStr(Name,\"class \");\n\tif(pStruct==NULL&&pClass==NULL)\n\t\treturn true;\n\t\n\tpNewName = new char[TStrLen(Name)+1];\n\tpNewName[0]=0;\n\tpSrcBegin=Name;\n\tpDestBegin=pNewName;\n\twhile(pClass)\n\t{\n\t\tTStrNCpy(pDestBegin,pSrcBegin,*(DWORD*)&pClass-*(DWORD*)&pSrcBegin);\n\t\tpDestBegin=&pDestBegin[pClass-pSrcBegin];\n\t\tpSrcBegin=&pClass[6];\n\t\tpClass = TStrStr(pSrcBegin,\"class \");\n\t\tbRet=true;\n\t};\n\tif(bRet)\n\t{\n\t\tTStrCpy(pDestBegin,pSrcBegin);\n\t\tTStrCpy(Name,pNewName);\n\t\tpSrcBegin=Name;\n\t\tpDestBegin=pNewName;\n\t\tbRet=false;\n\t}\n\twhile(pStruct = TStrStr(pSrcBegin,\"struct \"))\n\t{\n\t\tTStrNCpy(pDestBegin,pSrcBegin,*(DWORD*)&pStruct-*(DWORD*)&pSrcBegin);\n\t\tpDestBegin=&pDestBegin[pStruct-pSrcBegin];\n\t\tpSrcBegin=&pStruct[7];\n\t\tbRet=true;\n\t};\n\tif(bRet)\n\t{\n\t\tTStrCpy(pDestBegin,pSrcBegin);\n\t\tTStrCpy(Name,pNewName);\n\t\tpSrcBegin=Name;\n\t\tpDestBegin=pNewName;\n\t\tbRet=false;\n\t}\n\tdelete []pNewName;\n\treturn bRet;\n}\nDWORD CSourceDebug::MakeSDPublicSymbol(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\tDWORD Rav;\n\tbool bIsString=false;\n\tBOOL bRet;\n\tULONGLONG Length;\n\tBSTR Name=NULL;\n\tint Len;\n\n\tmemset(&SdPublicSymbol,0,sizeof(SDPUBLICSYMBOL));\n\tif(SUCCEEDED(Symbol->get_undecoratedName(&Name))&&Name)\n\t{\n\t\tLen = TStrLen(Name)+1;\n\t\tSdPublicSymbol.uName.Name=new char[Len];\n\t\tTStrCpy(SdPublicSymbol.uName.Name,Name);\n\t\tLocalFree(Name);\n\t\t\n\t\tif(TStrStr(SdPublicSymbol.uName.Name,\"::`vftable'\")!=0)\n\t\t{\n\t\t\tSdPublicSymbol.IsVftable=1;\n\t\t\tModifyVTableName(SdPublicSymbol.uName.Name);\n\t\t}else\n\t\t\tif(TStrCmp(SdPublicSymbol.uName.Name,\"`string'\")==0)\n\t\t\t{\n\t\t\t\tSdPublicSymbol.IsString = 1;\n\t\t\t}\n\t}\n\telse\n\t\treturn 0;\n\tbRet = FALSE;\n\tif(SUCCEEDED(Symbol->get_function(&bRet)))\n\t\tSdPublicSymbol.IsFunction = bRet?1:0;\n\tbRet = FALSE;\n\tif(SUCCEEDED(Symbol->get_managed(&bRet)))\n\t\tSdPublicSymbol.IsMangedCode = bRet?1:0;\n\tbRet = FALSE;\n\tif(SUCCEEDED(Symbol->get_code(&bRet)))\n\t\tSdPublicSymbol.IsInCode = bRet?1:0;\n\tbRet = FALSE;\n\tif(SUCCEEDED(Symbol->get_msil(&bRet)))\n\t\tSdPublicSymbol.IsMsil = bRet?1:0;\n\tif(SUCCEEDED(Symbol->get_relativeVirtualAddress(&Rav)))\n\t\tSdPublicSymbol.Rva=Rav;\n\tif(SUCCEEDED(Symbol->get_length(&Length)))\n\t\tSdPublicSymbol.Length=*(DWORD*)&Length;\n\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));// push_back(SdPublicSymbol);\n\tif(SdPublicSymbol.IsVftable==1)\n\t\tm_VTablePublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));// push_back(SdPublicSymbol);\n\treturn 0;\n}\nDWORD CSourceDebug::MakeSDFriend(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tBSTR Name=NULL;\n\tchar* FriendName;\n\tPSDTYPE pType=NULL,pSubType=NULL;\n\tDWORD SelfReleaseFlags=1;\n\tIDiaSymbol* pUdtFriendType;\n\tPSDUDTFRIEND pUdtFriend;\n\tint Len;\n\tLen = sizeof(SDUDTFRIEND) + sizeof(SDTYPE);\n\tpType = (PSDTYPE)new char [Len];\n\tmemset(pType,0,Len);\n\tSymbol->get_name(&Name);\n\tFriendName = new char[TStrLen(Name)+1];\n\tTStrCpy(FriendName,Name);\n\tLocalFree(Name);\n\tpUdtFriend = (PSDUDTFRIEND)&pType[1];\n\tpType->SDTypeInfile.Type=SD_FRIEND;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tpType->SDTypeInfile.Size=Len;\n\tpType->SDTypeInfile.uName.Name=FriendName;\n\tm_CurrentSymbolIndex++;\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\t\n\tpUdtFriendType=NULL;\n\tif(FAILED(Symbol->get_type(&pUdtFriendType))||pUdtFriendType==NULL)\n\t\treturn NULLSYMBOLID;\n\tpUdtFriend->TypdeId = MakeSDType(pUdtFriendType,&SelfReleaseFlags,&pSubType);\n\tif(SelfReleaseFlags)\n\t\tpUdtFriendType->Release();\n\tif(pSubType)\n\t\tpUdtFriend->Type=pSubType->SDTypeInfile.Type;\n\treturn pUdtFriend->TypdeId;\n}\nDWORD CSourceDebug::MakeSDThunk(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tBSTR Name=NULL;\n\tSDTYPE *pType;\n\tDWORD SelfReleaseFlags=1;\n\tDWORD Rav;\n\tDWORD Len;\n\tSDTHUNK * pThunk;\n\tULONGLONG Length;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tif(FAILED(Symbol->get_relativeVirtualAddress(&Rav)))\n\t\treturn NULLSYMBOLID;\n\tmap <DWORD,SDTYPE*> ::iterator FindIt = m_ThunkIDMap.find(Rav);\n\tif(FindIt!=m_ThunkIDMap.end())\n\t{\n\t\tpType=FindIt->second;\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun = pType;\n\t\treturn pType->SDTypeInfile.Id;\n\t}\n\tif(FAILED(Symbol->get_name(&Name))||Name==NULL)\n\t\treturn NULLSYMBOLID;\n\tLen = sizeof(SDTHUNK)+sizeof(SDTYPE);//+TStrLen(Name)+1;\n\tpType=(SDTYPE*)new char[Len];\n\tmemset(pType,0,Len);\n\tpThunk=(SDTHUNK*)&pType[1];\n\tpType->SDTypeInfile.uName.Name=new char[TStrLen(Name)+1];\n\tTStrCpy(pType->SDTypeInfile.uName.Name,Name);\n\tLocalFree(Name);\n\tpType->SDTypeInfile.Size=sizeof(SDTHUNK)+sizeof(SDTYPE);\n\tSymbol->get_length(&Length);\n\tSymbol->get_thunkOrdinal(&pThunk->thunkOrdinal);\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\t\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tm_ThunkIDMap.insert(map<DWORD,SDTYPE*>::value_type(Rav,pType));\n\tpThunk->Rva=Rav;\n\tpType->SDTypeInfile.TypeSize=*(DWORD*)&Length;\n\tpType->SDTypeInfile.Type=SD_THUNK;\n\treturn pType->SDTypeInfile.Id;\n}\nDWORD CSourceDebug::MakeSDVTableShapType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tIDiaSymbol* pCurSymbol=NULL,*pLexicalParent=NULL;\n\tULONG celt;\n\tDWORD SymTag;\n\tIDiaEnumSymbols* EnumSymbols=NULL;\n\tBSTR Name=NULL;\n\tULONGLONG length;\n\tif(SUCCEEDED(Symbol->get_type(&pCurSymbol))&&pCurSymbol)\n\t{\n\t\tDWORD LocalReleaseFlags=1;\n\t\tMakeSDType(pCurSymbol,&LocalReleaseFlags);\n\t\tif(LocalReleaseFlags)\n\t\t\tpCurSymbol->Release();\n\t}\n\tif(Symbol->get_classParent(&pLexicalParent)==S_OK)\n\t{\n\t\tCODE_ASSERT(pLexicalParent->get_name(&Name));\n\t}\n\tif(SUCCEEDED(Symbol->findChildren(SymTagNull,NULL,nsNone,&EnumSymbols))&&EnumSymbols)\n\t{\n\t\twhile(EnumSymbols->Next(1,&pCurSymbol,&celt)&&celt==1)\n\t\t{\n\t\t\tif(FAILED(pCurSymbol->get_symTag(&SymTag)))\n\t\t\t\tcontinue;\n\t\t\tif(FAILED(pCurSymbol->get_name(&Name)))\n\t\t\t\tcontinue;\n\t\t\tif(FAILED(pCurSymbol->get_length(&length)))\n\t\t\t\tcontinue;\n\t\t\tpCurSymbol->Release();\n\t\t\tpCurSymbol=NULL;\n\t\t}\n\t}\n\treturn NULLSYMBOLID;\n}\nDWORD CSourceDebug::MakeSDCompiland(IDiaSymbol* Symbol)\n{\n\tDWORD SourceIndex = 0;\n\tIDiaSourceFile* SourceFile=NULL;\n\tSDCOMPILAND *pCompiland=NULL;\n\tSDSOURCEFILE* pSDSourceFile=NULL;\n\tULONG celt=0,celt1=0;\n\tBSTR Name=NULL;\t\n\tLONG SourceFileCounter=0;\n\tstatic ULONGLONG lennumber=0;\n\tIDiaEnumSymbols * SymbolEnum=NULL;\n\tIDiaSymbol *curSymbol=NULL,*curSymbolType=NULL;\n\tIDiaEnumSourceFiles *EnumSourceFiles=NULL;\n\tIDiaEnumLineNumbers* EnumLineNumbers=NULL;\t\n\tNAMEANDIDPAIR CompilandNamePair;\n\tDWORD MinRva=0xffffffff,MaxRva=0;\n\tint Len;\n\tif(Symbol==NULL)\n\t\treturn false;\n\tif(FAILED(Symbol->get_name(&Name))||Name==NULL)\n\t\treturn 0;\n\tif(FAILED(m_DiaSession->findFile(Symbol,NULL,nsNone,&EnumSourceFiles))||EnumSourceFiles==NULL)\n\t{\n\t\tLocalFree(Name);\n\t\treturn 0;\n\t}\n\tEnumSourceFiles->get_Count(&SourceFileCounter);\n\tLen = sizeof(SDCOMPILAND);\n\tif(SourceFileCounter)\n\t\tLen+=(SourceFileCounter-1)*sizeof(SDSOURCEFILE);\n\tpCompiland=(SDCOMPILAND*)new char [Len];\n\tmemset(pCompiland,0,Len);\n\tpCompiland->SourceFileCounter=SourceFileCounter;\n\tpSDSourceFile = (SDSOURCEFILE*)&pCompiland->SourceFile;\n\tpCompiland->uName.Name = new char[TStrLen(Name)+1];\n\tTStrCpy(pCompiland->uName.Name,Name);\n\tLocalFree(Name);\n\tCompilandNamePair.Name=pCompiland->uName.Name;\n\tCompilandNamePair.Id=m_CurrentCompilandIndex;\n\tID_TO_COMPILAND_NAME_MAP::iterator FindIt = m_IdToCompilandMap.find(CompilandNamePair);\n\tif(FindIt!=m_IdToCompilandMap.end())\n\t{\n\t\tEnumSourceFiles->Release();\n\t\tdelete pCompiland->uName.Name;\n\t\tdelete pCompiland;\n\t\treturn 0;\n\t}\n\tpCompiland->CompilandId=m_CurrentCompilandIndex;\n\tm_IdToCompilandMap.insert(ID_TO_COMPILAND_NAME_MAP::value_type(CompilandNamePair,pCompiland));\n\tm_CurrentCompilandIndex++;\n\tif(SourceFileCounter==0)\n\t{\n\t\tEnumSourceFiles->Release();\n\t\treturn 0;\n\t}\n\twhile(SUCCEEDED(EnumSourceFiles->Next(1,&SourceFile,&celt))&&celt==1)\n\t{\t\t\t\n\t\tbool bInsert;\n\t\tBSTR fileName;\n\t\tDWORD debug;\n\t\tchar* SourceFileName=NULL;\n\t\tNAMEANDIDPAIR SourceName2Id;\n\t\tDWORD UniqueId=0xffffffff;\n\t\tDWORD FileNameLen=0;\n\t\tfileName=NULL;\n\t\t\n\t\tif(SUCCEEDED(SourceFile->get_fileName(&fileName))&& fileName)\n\t\t{\n\t\t\tFileNameLen = TStrLen(fileName)+1;\n\t\t\tSourceFileName = new char[FileNameLen];\n\t\t\tTStrCpy(SourceFileName,fileName);\t\t\t\n\t\t\tLocalFree(fileName);\n\t\t}\n\t\telse\n\t\t\tcontinue;\n\t\tSourceName2Id.Name=SourceFileName;\n\t\tSourceName2Id.Id=m_CurrentSourceFileIndex;\n\t\tID_TO_SOURCE_FILE_NAME_MAP::iterator FindIt =m_IdToSourceFileNameMap.find(SourceName2Id);\n\t\tif(FindIt==m_IdToSourceFileNameMap.end())\n\t\t{\n\t\t\tUniqueId=m_CurrentSourceFileIndex;\t\t\t\n\t\t\tbInsert=true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tUniqueId = FindIt->first.Id;\n\t\t\tdelete []SourceFileName;\t\t\t\n\t\t\tbInsert=false;\n\t\t}\n\t\t\n\t\tif(SUCCEEDED(m_DiaSession->findLines(Symbol,SourceFile,&EnumLineNumbers)))\n\t\t{\n\t\t\tLONG dwLineCounter=0;\n\t\t\tif(SUCCEEDED(EnumLineNumbers->get_Count(&dwLineCounter))&&dwLineCounter)\n\t\t\t{\n\t\t\t\tSDLINE SDLine;\n\t\t\t\tIDiaLineNumber* LineNumber=NULL;\n\t\t\t\twhile(SUCCEEDED(EnumLineNumbers->Next(1,&LineNumber,&celt1))&&celt1==1)\n\t\t\t\t{\n\t\t\t\t\tDWORD RAV=0;\n\t\t\t\t\tDWORD lineNumber=0;\n\t\t\t\t\tif(FAILED(LineNumber->get_relativeVirtualAddress(&RAV)))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tBOOL bStatement=FALSE;\n\t\t\t\t\tif(FAILED(LineNumber->get_statement(&bStatement)))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tif(bStatement==FALSE)\n\t\t\t\t\t\tdebug=1;\n\t\t\t\t\tif(MinRva>RAV)\n\t\t\t\t\t\tMinRva=RAV;\n\t\t\t\t\tif(MaxRva<RAV)\n\t\t\t\t\t\tMaxRva=RAV;\n\t\t\t\t\tif(FAILED(LineNumber->get_lineNumber(&lineNumber)))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\tDWORD Len;\n\t\t\t\t\tif(FAILED(LineNumber->get_length(&Len)))\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\n\t\t\t\t\tSDLine.CompilandId=pCompiland->CompilandId;\n\t\t\t\t\tSDLine.Len=Len;\n\t\t\t\t\tSDLine.Rva=RAV;\n\t\t\t\t\tSDLine.Statement = bStatement ? 1 : 0;\n\t\t\t\t\tSDLine.LineNumber=lineNumber;\n\t\t\t\t\tSDLine.FileID=UniqueId;\n\t\t\t\t\tm_TotalLineNumber.push_back(SDLine);\n\t\t\t\t\tLineNumber->Release();LineNumber=NULL;\n\t\t\t\t}\t\t\t\n\t\t\t}\n\t\t\tEnumLineNumbers->Release();\n\t\t\tpSDSourceFile[SourceIndex].LinesNumber=dwLineCounter;\n\t\t}\n\t\tpSDSourceFile[SourceIndex].FileID=UniqueId;\n\t\tSourceFile->Release();\n\t\tSourceFile=NULL;\t\t\n\t\tif(pSDSourceFile[SourceIndex].LinesNumber)\n\t\t{\n\t\t\tif(bInsert)\n\t\t\t{\n\t\t\t\tm_IdToSourceFileNameMap.insert(ID_TO_SOURCE_FILE_NAME_MAP::value_type(SourceName2Id,m_CurrentSourceFileIndex));\t\t\t\n\t\t\t\tm_CurrentSourceFileIndex++;\n\t\t\t}\n\t\t\tSourceIndex++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(bInsert==true)\n\t\t\t\tdelete []SourceFileName;\n\t\t}\n\t}\n\tif(SourceIndex!=pCompiland->SourceFileCounter)\n\t\tpCompiland->SourceFileCounter=SourceIndex;\t\n\tpCompiland->MaxRva=MaxRva;\n\tpCompiland->MinRva=MinRva;\n\tEnumSourceFiles->Release();\n\treturn true;\n}\nint funcsamecount=0;\nDWORD CSourceDebug::MakeSDFunctionType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tstatic int gFunctionCounter=0;\n\tSDTYPE *pType;\n\tSDFUNCTIONTYPE* ft;\n\tDWORD *TypeIDArgs=NULL;\n\tDWORD CallingConvention;\n\tDWORD len;\n\tIDiaSymbol * FunctionType;\n\tIDiaEnumSymbols* argTypesEnum;\n\tchar *temppointer=NULL;\n\tLONG argcount = 0;\n\tint i =0;\n\tIDiaSymbol* diaCurArg;\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n/*\t\n\tfor(beginIT=m_FuncSymbolList.begin();beginIT!=m_FuncSymbolList.end();beginIT++)\n\t{\n\t\tHRESULT hr;\n\t\tIDiaSymbol* OldSymbol;\n\t\tOldSymbol=(IDiaSymbol*)beginIT->type->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\t\n\t\t{\n\t\t\tif(ReleaseFlags)\n\t\t\t\t*ReleaseFlags=1;\n\t\t\tfuncsamecount++;\n\t\t\treturn beginIT->type->SDTypeInfile.Id;\n\t\t}\n\t}\n//*/\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=0;\n\tif (FAILED(Symbol->findChildren(SymTagFunctionArgType, NULL, nsNone, &argTypesEnum)))   \n\t\treturn NULLSYMBOLID;\n\tif (FAILED(argTypesEnum->get_Count(&argcount)))\n\t\treturn NULLSYMBOLID;\n\tlen = sizeof(SDFUNCTIONTYPE)+sizeof(SDTYPE);\n\tif(argcount)\t\n\t\tlen=len + sizeof(DWORD)*(argcount-1);\n\tpType = (SDTYPE*)new char[len];\n\tmemset(pType,0,len);\n\tft =(SDFUNCTIONTYPE*) &pType[1];\n\tpType->Self=ft;\n\tpType->SDTypeInfile.Size=len;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\tpType->Symbol=Symbol;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tm_FuncSymbolList.push_back(sl);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\t\n\tif(FAILED(Symbol->get_type(&FunctionType))||FunctionType==NULL)\t\n\t\treturn NULLSYMBOLID;\n\t// Enumerate over them\n\t\n\tDWORD LocalReleaseFlags=1;\n\tft->TypeIDReturnValue=MakeSDType(FunctionType,&LocalReleaseFlags);\n\tif(LocalReleaseFlags)\n\t\tFunctionType->Release();\n\tFunctionType=NULL;\n\tif(FAILED(Symbol->get_objectPointerType(&FunctionType)))\n\t\treturn NULLSYMBOLID;\n\tif(FunctionType)\n\t{\n\t\tLocalReleaseFlags=1;\n\t\tft->TypeIDThisPointer=MakeSDType(FunctionType,&LocalReleaseFlags);\n\t\tif(LocalReleaseFlags)\n\t\t{\n\t\t\tFunctionType->Release();\n\t\t\tFunctionType=NULL;\n\t\t}\n\t\tLONG ThisAdjust;\n\t\tSymbol->get_thisAdjust(&ThisAdjust);\n\t\tft->ThisAdjust=ThisAdjust;\n\t}\n\tif(FAILED(Symbol->get_callingConvention(&CallingConvention)))\n\t\treturn NULLSYMBOLID;\n\tft->CallingConvention=CallingConvention;\n\tft->ArgsCount=argcount;\n\tULONG count=argcount;\n\ti=0;\n\twhile(SUCCEEDED(argTypesEnum->Next(1, &diaCurArg, &count))&&count==1)\n\t{\n\t\tIDiaSymbol* curArgType;\n\t\tif (FAILED(diaCurArg->get_type(&curArgType)))\n\t\t\treturn NULLSYMBOLID;\n\t\tDWORD LocalReleaseFlags=1;\n\t\tft->TypeIDArgs[i]= MakeSDType(curArgType,&LocalReleaseFlags);\n\t\tif(LocalReleaseFlags)\n\t\t{\n\t\t\tcurArgType->Release();\n\t\t\tcurArgType=NULL;\n\t\t}\n\t\tdiaCurArg->Release();\n\t\tdiaCurArg=NULL;\n\t\ti++;\n\t}\n\targTypesEnum->Release();\n\tpType->SDTypeInfile.Type =SD_FUNCTIONTYPE;\n\tpType->SDTypeInfile.uName.Name=NULL;\n\tpType->Symbol=Symbol;\n\tgFunctionCounter++;\n\treturn pType->SDTypeInfile.Id;\n}\n\n\nDWORD CSourceDebug::MakeSDUDTType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tDWORD SelfReleaseFlags=1,dwSymTag,udtkind;\n\tIDiaEnumSymbols *EnumSymbols;\n\tIDiaSymbol* pCurSymbol;\n\tBSTR ClassName=NULL;\n\tchar* name=NULL;\n\tchar *name1=NULL;\n\tbool bUnnamed=false;\n\tSDTYPE *pType;\n\tULONGLONG length=0;\n\tLONG count;\n\tULONG celt;\n\tSDCLASSTYPE *ct;\n\t\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(FAILED(Symbol->get_name(&ClassName)))\n\t\treturn NULLSYMBOLID;\n\n\tname = new char[TStrLen(ClassName)+1];\n\tTStrCpy(name,ClassName);\n\tCTempSymbol\tTempSymbol(name,0,0);\n\tif(IsUnnamedSDType(name))\n\t{\n\t\tname1 = new char[TStrLen(ClassName)+10];\n\t\tTStrCpy(name1,name);\n\t\tTSPrintf(name1+TStrLen(name),\"_%08x\",m_CurrentSymbolIndex);\n\t\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\t\tendIT = m_UnnamedUdtList.end();\n\t\tfor(beginIT=m_UnnamedUdtList.begin();beginIT!=endIT;beginIT++)\n\t\t{\n\t\t\tHRESULT hr;\n\t\t\tIDiaSymbol* OldSymbol;\n\t\t\tOldSymbol=(IDiaSymbol*)beginIT->type->Symbol;\n\t\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\t\tif(hr==S_OK)\t\n\t\t\t{\n\t\t\t\tif(pTypeRetrun)\n\t\t\t\t\t*pTypeRetrun=beginIT->type;\n\t\t\t\tdelete name1;\n\t\t\t\tdelete name;\n\t\t\t\treturn beginIT->type->SDTypeInfile.Id;\n\t\t\t}\n\t\t}\n\t\tdelete []name;\n\t\tname = name1;\n\t\tbUnnamed=true;\n\t}\n\telse\n\t{\n\t\tm_TempSymbolIDIter = m_UDTSymbolID.find(TempSymbol);\n\t\tif(m_TempSymbolIDIter!=m_UDTSymbolID.end())\n\t\t{\t\t\t\t\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\n\t\t\tdelete []name;\n\t\t\treturn (*m_TempSymbolIDIter).second;\n\t\t}\n\t}\n\tif(FAILED(Symbol->get_udtKind(&udtkind)))\n\t\treturn NULLSYMBOLID;\n\tif(FAILED(Symbol->get_length(&length)))\n\t\treturn NULLSYMBOLID;\t\n\tif(FAILED(Symbol->get_symTag(&dwSymTag)))\n\t\treturn NULLSYMBOLID;\n\tint NewSize =sizeof(SDTYPE)+sizeof(SDCLASSTYPE);\n\tpType = (SDTYPE*)new char[NewSize];\n\tmemset(pType,0,sizeof(SDTYPE));\t\n\tpType->SDTypeInfile.uName.Name = name;\n\tLocalFree(ClassName);\n\n\tswitch(udtkind) \n\t{\n\tcase UdtClass:\n\t\tpType->SDTypeInfile.Type=SD_CLASS;\n\t\tbreak;\n\tcase UdtStruct:\n\t\tpType->SDTypeInfile.Type=SD_STRUCT;\n\t\tbreak;\n\tcase UdtUnion:\n\t\tpType->SDTypeInfile.Type=SD_UNION;\n\t}\n\tpType->SDTypeInfile.TypeSize=*(DWORD*)&length;\n\t\n\tct =(SDCLASSTYPE*)&pType[1];\n\tmemset(ct,0,sizeof(SDCLASSTYPE));\n\t//ct->IsUnnamed=bUnnamed?1:0;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tpType->Self=ct;\n\tpType->SDTypeInfile.Size=NewSize;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\n\tif(bUnnamed)\n\t{\n\t\tm_UnnamedUdtList.push_back(sl);\n\t\tct->IsUnnamed=1;\n\t\tpType->Symbol=Symbol;\n\t\tif(ReleaseFlags)\n\t\t\t*ReleaseFlags=0;\n\t}\n\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tTempSymbol.SetSDType(pType,name);\n\t\n\tm_UDTSymbolID.insert(SYMBOL_ID_MAP::value_type(TempSymbol,pType->SDTypeInfile.Id));\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tBOOL bValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_scoped(&bValue)))\t\n\t\tct->IsScoped=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_nested(&bValue)))\t\n\t\tct->IsNested=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_packed(&bValue)))\t\n\t\tct->IsPacked=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_overloadedOperator(&bValue)))\t\n\t\tct->HasOverloadedOperator=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_hasAssignmentOperator(&bValue)))\t\n\t\tct->HasAssignmentOperator=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_hasCastOperator(&bValue)))\t\n\t\tct->HasCastOperator=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_hasNestedTypes(&bValue)))\t\n\t\tct->HasNestedTypes=bValue?1:0;\n\tbValue=FALSE;\n\tif(SUCCEEDED(Symbol->get_constructor(&bValue)))\t\n\t\tct->IsConstructor=bValue?1:0;\n\t\n\tEnumSymbols=NULL;\n\t\n\t/*\n\tif(FAILED(Symbol->findChildren(SymTagVTable,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULLSYMBOLID;\n\tLONG VTableCount=0;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&VTableCount)))\n\t\tif(VTableCount>1)\n\t\t\tCODE_ASSERT(0);\n\tpCurSymbol=NULL;\n\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t{\n\t\tDWORD VTableSize=0;\n\t\tIDiaSymbol *pVTableShape=NULL;\n\t\tif(SUCCEEDED(pCurSymbol->get_type(&pVTableShape)&&pVTableShape))\n\t\t{\n\t\t\tchar *vtablename;\n\t\t\tif(SUCCEEDED(pVTableShape->get_count(&VTableSize)))\n\t\t\t{\n\t\t\t\tif(VTableSize)\n\t\t\t\t\tct->VTableSize=VTableSize;\n\t\t\t}\n\n\n\t\t\tPUBLIC_SYMBOL_LIST::iterator BeginIt,EndIt;\n\t\t\tBeginIt=m_VTablePublicSymbolList.begin();\n\t\t\tEndIt=m_VTablePublicSymbolList.end();\n\t\t\tfor(;BeginIt!=EndIt;BeginIt++)\n\t\t\t{\n\t\t\t\tvtablename=(*BeginIt).uName.Name;\n\t\t\t\tchar*vtablename1 = TStrStr(vtablename,pType->SDTypeInfile.uName.Name);\n\t\t\t\tif(vtablename1)\n\t\t\t\t{\n\t\t\t\t\tif(TStrNCmp(&vtablename1[TStrLen(pType->SDTypeInfile.uName.Name)],\"::`vftable'\",TStrLen(\"::`vftable'\"))==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tct->VTableRVA=(*BeginIt).Rva;\n\t\t\t\t\t\tct->VTableSize=(*BeginIt).Length;\n\t\t\t\t\t}\n\t\t\t\t}\t\n\t\t\t}\n\t\t\t\n\t\t\tif(ct->VTableRVA==0)\n\t\t\t\tct->VTableRVA=0xffffffff;\n\t\t\tpVTableShape->Release();\n\t\t}\n\t\tpCurSymbol->Release();\n\t}\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\t*/\n\t\n\tif(FAILED(Symbol->findChildren(SymTagBaseClass,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULLSYMBOLID;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count!=0)\n\t{\n\t\tDWORD *BaseClassTypeID = new DWORD[count];\n\t\tint i = 0;\n\t\tpCurSymbol=NULL;\n\t\t//static BaseClassCountttt=0;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t{\n\t\t\tDWORD id;\n\t\t\tDWORD LocalReleaseFlags=1;\n\t\t\tid = MakeSDType(pCurSymbol,&LocalReleaseFlags);\n\t\t\tif(id==NULLSYMBOLID)\n\t\t\t{\n\t\t\t\tBaseClassTypeID[i]=NULLSYMBOLID;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tBaseClassTypeID[i]=id;\n\t\t\t\tSDTYPE *pSubType = GetSDTypeBySymbolID(id);\n\t\t\t\tSDUDTBASECLASS* pSubBaseClass = (SDUDTBASECLASS*)pSubType->Self;\n\t\t\t\tpSubBaseClass->TypeIDParent=pType->SDTypeInfile.Id;\n\t\t\t}\n\t\t\tif(LocalReleaseFlags)\n\t\t\t{\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol=NULL;\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t\t//BaseClassCountttt++;\n\t\t//OutputDebugStr(pType->SDTypeInfile.uName.Name);\n\t\t//OutputDebugStr(\"\\n\");\n\t\tct->pBaseClass.pBaseClassMember=BaseClassTypeID;\n\t\tct->BaseClassCounter=count;\t\n\t}\n\telse\n\t{\n\t\tct->BaseClassCounter=0;\n\t\tct->pBaseClass.pBaseClassMember=NULL;\t\t\n\t}\n\tEnumSymbols->Release();\n\tchar *vtablename;\n\tPUBLIC_SYMBOL_MAP::iterator BeginIt,EndIt;\n\tPSDUDTVIRTUALTABLE pUdtVTable=new SDUDTVIRTUALTABLE[(ct->BaseClassCounter>1)?ct->BaseClassCounter:1];\n\tmemset(pUdtVTable,0, sizeof(SDUDTVIRTUALTABLE)*(ct->BaseClassCounter>1)?ct->BaseClassCounter:1);// pType->SDTypeInfile.Id,0,)\n\tBeginIt=m_VTablePublicSymbolList.begin();\n\tint VTableIndex=0;\n\tEndIt=m_VTablePublicSymbolList.end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tvtablename=(*BeginIt).first.uName.Name;\n\t\tchar* vtablename1 = TStrStr(vtablename,pType->SDTypeInfile.uName.Name);\n\t\tchar* bcbegin,*bcend;\n\t\tif(vtablename1)\n\t\t{\n\t\t\tif(TStrNCmp(&vtablename1[TStrLen(pType->SDTypeInfile.uName.Name)],\"::`vftable'\",11)==0)\n\t\t\t{\n\t\t\t\t//ct->VTableRVA=(*BeginIt).first.Rva;\n\t\t\t\t//ct->VTableSize=(*BeginIt).first.Length;\n\t\t\t\tct->HasVirtualTable=1;\n\t\t\t\tpUdtVTable[VTableIndex].VTableSize=(*BeginIt).first.Length;\n\t\t\t\tpUdtVTable[VTableIndex].VTableRVA=(*BeginIt).first.Rva;\n\t\t\t\tif(ct->BaseClassCounter>1)\n\t\t\t\t{\n\t\t\t\t\tbcbegin = TStrStr(vtablename,\"::`vftable'{for `\");\n\t\t\t\t\tif(bcbegin)\n\t\t\t\t\t{\n\t\t\t\t\t\tbcbegin=bcbegin+17;\n\t\t\t\t\t\tbcend = TStrChr(bcbegin,'\\'');\n\t\t\t\t\t\tfor(DWORD kk=0;kk<ct->BaseClassCounter;kk++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tSDTYPE *pSubbcType = GetSDTypeBySymbolID(ct->pBaseClass.pBaseClassMember[kk]);\n\t\t\t\t\t\t\tSDUDTBASECLASS* pSubbc = (SDUDTBASECLASS*)pSubbcType->Self;\n\t\t\t\t\t\t\tpSubbcType = GetSDTypeBySymbolID(pSubbc->TypeID);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif(TStrNCmp(pSubbcType->SDTypeInfile.uName.Name,bcbegin, *(int*)&bcend - *(int*)&bcbegin)==0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpUdtVTable[VTableIndex].VTBaseClassTypeID=pSubbc->TypeID;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t//find baseclassindex\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tpUdtVTable[VTableIndex].VTBaseClassTypeID= pType->SDTypeInfile.Id;\n\t\t\t\tVTableIndex++;\t\t\t\t\n\t\t\t\t//m_VTablePublicSymbolList.erase(BeginIt);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\t\n\t}\n\tct->VTableCount=VTableIndex;\n\tif(VTableIndex)\n\t{\n\t\tct->VTableCount=VTableIndex;\n\t\tct->pVTable.pVTableMember=pUdtVTable;\n\t}\n\telse\n\t{\n\t\tct->VTableCount=0;\n\t\tct->pVTable.pVTableMember=NULL;\n\t\tdelete []pUdtVTable;\n\t}\n\tEnumSymbols=NULL;\n\tif(FAILED(Symbol->findChildren(SymTagFunction,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULLSYMBOLID;\n\tcount=0;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count!=0)\n\t{\t\t\n\t\tDWORD *pFunctionData = new DWORD[count];\n\t\tint i = 0;\n\t\tpCurSymbol=NULL;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t{\n\t\t\tSDTYPE* pLocalTypeReturn=NULL;\n\t\t\tDWORD LocalReleaseFlags=1;\n\t\t\tpFunctionData[i]=MakeSDFunction(pCurSymbol,&LocalReleaseFlags,&pLocalTypeReturn);\n\t\t\tif(LocalReleaseFlags)\n\t\t\t{\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol=NULL;\n\t\t\t}\n\t\t\tif(pFunctionData[i]==0)\n\t\t\t\tcontinue;\n\t\t\t((PSDFUNCTIONITEM)pLocalTypeReturn)->TypeIDParentUDT=pType->SDTypeInfile.Id;\n\t\t\ti++;\n\t\t}\t\t\n\t\tif(i>1)\n\t\t{\n\t\t\tsort(pFunctionData,&pFunctionData[i]);\n\t\t\tunique(pFunctionData,&pFunctionData[i]);\n\t\t\tcount=i;\n\t\t\tfor(i = 0; i < count-1;i++)\n\t\t\t\tif(pFunctionData[i]>=pFunctionData[i+1])\n\t\t\t\t\tbreak;\n\t\t\ti++;\n\t\t}\n\t\tct->FunctionCounter=i;\n\t\tct->pFunction.pFunctionMember=pFunctionData;\n\t}\n\telse\n\t{\tct->pFunction.pFunctionMember=NULL;\n\t\tct->FunctionCounter=0;\n\t}\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\tif(FAILED(Symbol->findChildren(SymTagData,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULL;\n\tcount=0;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count!=0)\n\t{\n\t\tct->DataCounter=count;\t\t\n\t\tct->pData.pDataMember = new DWORD[count];\n\t\tmemset(ct->pData.pDataMember,0,sizeof(DWORD)*count);\n\t\tint i =0;\n\t\tpCurSymbol=NULL;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t{\n\t\t\tSDUDTDATAITEM* pUdtDataItem;\n\t\t\tSDTYPE* pReturnType;\n\t\t\tct->pData.pDataMember[i]=MakeSDDataTagType(pCurSymbol,NULL,&pReturnType);\n\t\t\tif(pReturnType)\n\t\t\t{\n\t\t\t\tpUdtDataItem = (SDUDTDATAITEM*)pReturnType;\n\t\t\t\tif(pUdtDataItem)\n\t\t\t\t{\t\n\t\t\t\t\tpUdtDataItem->TypeIdParentUDT=pType->SDTypeInfile.Id;\n\t\t\t\t\tPSDTYPE pUdtDataType = GetSDTypeBySymbolID(pUdtDataItem->TypeId);\n\t\t\t\t\tif(pUdtDataType->SDTypeInfile.Type==SD_CLASS||pUdtDataType->SDTypeInfile.Type==SD_STRUCT||pUdtDataType->SDTypeInfile.Type==SD_UNION)\n\t\t\t\t\t{\n\t\t\t\t\t\tPSDCLASSTYPE pSubCt=(PSDCLASSTYPE)&pUdtDataType[1];\n\t\t\t\t\t\tif(pSubCt&&pSubCt->IsUnnamed)\n\t\t\t\t\t\t\tpSubCt->IsNestedUnnamed=1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpCurSymbol->Release();\n\t\t\tpCurSymbol=NULL;\n\t\t\ti++;\n\t\t}\t\t\n\t}\n\telse\n\t{\n\t\tct->DataCounter=0;\n\t\tct->pData.pDataMember=NULL;\n\t}\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\t\n\tif(FAILED(Symbol->findChildren(SymTagFriend,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULL;\n\tcount=0;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count!=0)\n\t{\n\t\tDWORD* pFriendData=new DWORD[count];\n\t\tmemset(pFriendData,0,sizeof(DWORD)*count);\n\t\tint i =0;\n\t\tpCurSymbol=NULL;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t{\n\t\t\tSDTYPE* pLocalTypeReturn=NULL;\n\t\t\tDWORD LocalReleaseFlags=1;\n\t\t\tct->pFriend.pFriendMember[i]=MakeSDFunction(pCurSymbol,&LocalReleaseFlags,&pLocalTypeReturn);\n\t\t\tif(LocalReleaseFlags)\n\t\t\t{\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol=NULL;\n\t\t\t}\n\t\t\tif(ct->pFriend.pFriendMember[i]==0)\n\t\t\t\tcontinue;\n\t\t\ti++;\n\t\t}\t\t\n\t\tif(i>1)\n\t\t{\n\t\t\tsort(pFriendData,&pFriendData[i]);\n\t\t\tunique(pFriendData,&pFriendData[i]);\n\t\t\tcount=i;\n\t\t\tfor(i = 0; i < count-1;i++)\n\t\t\t\tif(pFriendData[i]>=pFriendData[i+1])\n\t\t\t\t\tbreak;\n\t\t\ti++;\n\t\t}\n\t\tct->FriendCounter=count;\t\t\n\t\tct->pFriend.pFriendMember=pFriendData;\t\n\t}\n\telse\n\t{\n\t\tct->FriendCounter=0;\n\t\tct->pFriend.pFriendMember=NULL;\n\t}\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\t/*\n\tif(FAILED(Symbol->findChildren(SymTagUDT,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\treturn NULL;\n\tcount=0;\n\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count!=0)\n\t{\t\t\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t{\n\t\t\tSDTYPE* pReturnType=NULL;\n\t\t\tDWORD LocalReleaseFlags1=1;\n\t\t\tMakeSDType(pCurSymbol,&LocalReleaseFlags1,&pReturnType);\n\t\t\tif(pReturnType)\n\t\t\t{\n\t\t\t\tPSDCLASSTYPE pUDT = (PSDCLASSTYPE)pReturnType->Self;\n\t\t\t\tpUDT->TypeIdParentUDT=pType->SDTypeInfile.Id;\t\t\t\t\n\t\t\t}\n\t\t\tif(LocalReleaseFlags1)\n\t\t\t\tpCurSymbol->Release();\n\t\t}\t\t\n\t}\n\n\tIDiaSymbol*ParentUDTType=NULL;\n\tif(SUCCEEDED(Symbol->get_lexicalParent(&ParentUDTType))&&ParentUDTType)\n\t{\n\t\tDWORD LocalReleaseFlags1=1;\n\t\tct->TypeIdParentUDT=MakeSDType(ParentUDTType,&LocalReleaseFlags1);\n\t\tif(ct->TypeIdParentUDT)\n\t\t\tct->TypeIdParentUDT=0;\n\t\tif(LocalReleaseFlags1)\n\t\t\tParentUDTType->Release();\n\t}\n\t*/\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n}\nbool CSourceDebug::SetUDTDataItem(SDUDTDATAITEM* pUdtDataItem,IDiaSymbol* Symbol)\n{\n\tLONG offset;\t\n\tswitch(pUdtDataItem->Location) \n\t{\n\t\tcase LocIsNull:\n\t\t\tbreak;\n\t\tcase LocIsStatic:\n\t\t\tSymbol->get_relativeVirtualAddress(&pUdtDataItem->u.LOCISSTATIC.Rva);\n\t\t\tbreak;\n\t\tcase LocIsTLS:\n\t\t\tSymbol->get_addressSection(&pUdtDataItem->u.LOCISTLS.AddressSection);\n\t\t\tSymbol->get_addressOffset(&pUdtDataItem->u.LOCISTLS.AddressOffset);\n\t\t\tbreak;\n\t\tcase LocIsRegRel:\n\t\t\tSymbol->get_registerId(&pUdtDataItem->u.LOCISREGREL.Register);\n\t\t\tSymbol->get_offset(&offset);\n\t\t\tpUdtDataItem->u.LOCISREGREL.Offset=offset;\n\t\t\tbreak;\n\t\tcase LocIsThisRel:\n\t\t\tSymbol->get_offset(&offset);\n\t\t\tpUdtDataItem->u.LOCISTHISREL.Offset=offset;\t\t\t\t\n\t\t\tbreak;\n\t\tcase LocIsEnregistered:\n\t\t\t//////////////////////////////////////////////////////////////////////////\n\t\t\t//      LocIsEnregistered͵ıget_registerId صĻź\n\t\t\t//      ĻǴ1  Ҫ 1\n\t\t\t//\n\t\t\t//////////////////////////////////////////////////////////////////////////\n\t\t\tSymbol->get_registerId(&pUdtDataItem->u.LOCISENREGISTERED.Register);\n\t\t\tpUdtDataItem->u.LOCISENREGISTERED.Register=pUdtDataItem->u.LOCISENREGISTERED.Register-1;\n\t\t\tbreak;\n\t\tcase LocIsBitField:\n\t\t\t{\n\t\t\t\tULONGLONG val=0;\n\t\t\t\tSymbol->get_bitPosition(&pUdtDataItem->u.LOCISBITFIELD.Position);\n\t\t\t\tSymbol->get_length(&val);\n\t\t\t\tSymbol->get_offset(&offset);\t\t\t\t\n\t\t\t\tpUdtDataItem->u.LOCISBITFIELD.Size=*(DWORD*)&val;\n\t\t\t\tpUdtDataItem->u.LOCISBITFIELD.Offset=*(DWORD*)&offset;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LocIsSlot:\n\t\t\tSymbol->get_slot(&pUdtDataItem->u.LOCISLOT.Slot);\n\t\t\tbreak;\n\t\tcase LocIsIlRel:\n\t\t\tSymbol->get_offset(&offset);\n\t\t\tpUdtDataItem->u.LOCISLREL.Offset=offset;\n\t\t\tbreak;\n\t\tcase LocInMetaData:\n\t\t\tSymbol->get_token(&pUdtDataItem->u.LOCINMETADATA.Token);\n\t\t\tbreak;\n\t\tcase LocIsConstant:\n\t\t\t{\t\n\t\t\t\tLONGLONG valueL=0;\n\t\t\t\tVARIANT value;\n\n\t\t\t\tmemset(&value,0,sizeof(VARIANT));\n\t\t\t\tSymbol->get_value(&value);\n\t\t\t\tswitch(value.vt) \n\t\t\t\t{\n\t\t\t\t\tcase VT_UI1: valueL = value.bVal; break;\n\t\t\t\t\tcase VT_UI2: valueL = value.uiVal; break;\n\t\t\t\t\tcase VT_UI4: valueL = value.ulVal; break;\n\t\t\t\t\tcase VT_UINT: valueL = value.uintVal; break;\n\t\t\t\t\tcase VT_UI8:valueL=value.ullVal; break;\n\t\t\t\t\tcase VT_INT: valueL = value.intVal; break;\n\t\t\t\t\tcase VT_I1: valueL = value.cVal; break;\n\t\t\t\t\tcase VT_I2: valueL = value.iVal; break;\n\t\t\t\t\tcase VT_I4: valueL = value.lVal; break;\n\t\t\t\t\tcase VT_I8: valueL = value.llVal; break;\n\t\t\t\t\tcase VT_ERROR:valueL=0;break;\n\t\t\t\t\tdefault:\t\n\t\t\t\t\t\tCODE_ASSERT(0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tpUdtDataItem->u.LOCISCONSTSNT.llValue =valueL;\n\t\t\t\t/*\n\t\t\t\tSDCONSTVAR ConstVar;\n\t\t\t\tmemset(&ConstVar,0,sizeof(SDCONSTVAR));\n\t\t\t\tConstVar.Name=pUdtDataItem->uName.Name;\n\t\t\t\tConstVar.u.llValue=valueL;\n\t\t\t\tCONST_VAR_MAP::iterator findit= m_ConstVarMap.find(ConstVar);\n\t\t\t\tif(findit!=m_ConstVarMap.end())\n\t\t\t\t{\n\t\t\t\t\tm_ConstVarMap.insert(CONST_VAR_MAP::value_type(ConstVar,0));\n\t\t\t\t}\n\t\t\t\t*/\n\t\t\t\t\n\t\t\t}\n\t\t\tbreak;\n\t\tcase LocTypeMax:\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\t\n\treturn true;\n}\n\nPREDEFINEBASETYPE gPreDefineBaseType[]=\n{\n\t{1*0x80,1,\"char\"},\n\t{2*0x80,2,\"short\"},\n\t{4*0x80,4,\"int\"},\n\t{8*0x80,8,\"__int64\"},\n\t{1*0x800,1,\"unsigned char\"},\n\t{2*0x800,2,\"unsigned short\"},\n\t{4*0x800,4,\"unsigned int\"},\n\t{8*0x800,8,\"unsigned __int64\"},\n\t{btLong,4,\"long\"},\n\t{btULong,4,\"unsigned long\"},\n};\n\nvoid CSourceDebug::MakePredefineSDBaseType()\n{\n\tSYMBOLBASETYPE LBaseTypeAttribut;\n\tSDTYPE* pType;\n\tSDBASETYPE *bt=NULL;\n\tchar *name=NULL;\n\tint i;\n\tfor(i = 0;i<sizeof(gPreDefineBaseType)/sizeof(gPreDefineBaseType[0]);i++)\n\t{\n\t\tLBaseTypeAttribut.baseType=gPreDefineBaseType[i].baseType;\n\t\tLBaseTypeAttribut.Length=gPreDefineBaseType[i].Length;\n\t\tpType = new SDTYPE;\n\t\tmemset(pType,0,sizeof(SDTYPE));\t\n\t\tpType->SDTypeInfile.uName.Name = new char[TStrLen(gPreDefineBaseType[i].Name)+1];\n\t\tTStrCpy(pType->SDTypeInfile.uName.Name,gPreDefineBaseType[i].Name);\n\t\tpType->SDTypeInfile.Size=sizeof(SDTYPE);\n\t\tpType->Self=NULL;\n\t\tpType->SDTypeInfile.Type=SD_BASIC;\n\t\tpType->SDTypeInfile.TypeSize=*(DWORD*)&LBaseTypeAttribut.Length;\n\t\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\t\tm_CurrentSymbolIndex++;\n\t\tm_BaseTypeID.insert(BASE_TYPE_ID_MAP::value_type(LBaseTypeAttribut,pType->SDTypeInfile.Id));\n\t\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\t\tSYMBOLLIST sl;\n\t\tsl.id=pType->SDTypeInfile.Id;\n\t\tsl.type=pType;\n\t\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\t}\n}\n\nDWORD CSourceDebug::MakeSDBaseType(IDiaSymbol* Symbol, DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSYMBOLBASETYPE LBaseTypeAttribut;\n\tSDTYPE* pType;\n\tSDBASETYPE *bt=NULL;\n\tchar *name=NULL;\n\n\tpType = NULL;\t\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tLBaseTypeAttribut.baseType=0,LBaseTypeAttribut.Length=0;\n\tif(FAILED(Symbol->get_baseType(&LBaseTypeAttribut.baseType)))\n\t\treturn NULLSYMBOLID;\n\tif(FAILED(Symbol->get_length(&LBaseTypeAttribut.Length)))\n\t\treturn NULLSYMBOLID;\n\tname = GetBaseTypeName1(LBaseTypeAttribut.baseType,*(DWORD*)&LBaseTypeAttribut.Length);\n\tBASE_TYPE_ID_MAP::iterator TempMapIter;\n\tTempMapIter = m_BaseTypeID.find(LBaseTypeAttribut);\n\tif(TempMapIter!=m_BaseTypeID.end())\n\t{\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(TempMapIter->second);\n\t\treturn TempMapIter->second;\n\t}\n\n\tpType = new SDTYPE;\n\tmemset(pType,0,sizeof(SDTYPE));\t\n\tpType->SDTypeInfile.uName.Name = new char[TStrLen(name)+1];\n\tTStrCpy(pType->SDTypeInfile.uName.Name,name);\n\tpType->SDTypeInfile.Size=sizeof(SDTYPE);\n\tpType->Self=NULL;\n\tpType->SDTypeInfile.Type=SD_BASIC;\n\tpType->SDTypeInfile.TypeSize=*(DWORD*)&LBaseTypeAttribut.Length;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tpType->Symbol=NULL;\n\tm_BaseTypeID.insert(BASE_TYPE_ID_MAP::value_type(LBaseTypeAttribut,pType->SDTypeInfile.Id));\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\t\t\n\treturn pType->SDTypeInfile.Id;\n}\nDWORD CSourceDebug::MakeSDBaseClassType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tDWORD SelfReleaseFlags=1;\n\tSDUDTBASECLASS *pUdtBaseClass;\n\tSDTYPE *pType;\n\tDWORD TypeLen;\n\tBSTR Name;\n\tIDiaSymbol* BaseClassType=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tfor(beginIT=m_BaseClassList.begin();beginIT!=m_BaseClassList.end();beginIT++)\n\t{\n\t\tHRESULT hr;\n\t\tSDTYPE *pCurType,*pSubType;\n\t\tSDUDTBASECLASS*pUdtBaseClass;\n\t\tIDiaSymbol* OldSymbol;\n\t\t\n\t\tpCurType=beginIT->type;\n\t\tpUdtBaseClass = (SDUDTBASECLASS*)pCurType->Self;\n\t\tpSubType = GetSDTypeBySymbolID(pUdtBaseClass->TypeID);\n\t\tOldSymbol=(IDiaSymbol*)pCurType->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\t\t\n\t\t\treturn beginIT->type->SDTypeInfile.Id;\n\t}\n\tName=NULL;\n\tif(FAILED(Symbol->get_name(&Name))||Name==NULL)\n\t\treturn NULLSYMBOLID;\n\tTypeLen = sizeof(SDTYPE)+sizeof(SDUDTBASECLASS);\n\tpType =(SDTYPE*) new char[TypeLen];\t\n\tpUdtBaseClass = (SDUDTBASECLASS*)&pType[1];\n\tmemset(pType,0,TypeLen);\n\tpType->SDTypeInfile.Size=TypeLen;\n\tpType->SDTypeInfile.Type=SD_BASECLASS;\n\tpType->Symbol=Symbol;\n\tpType->SDTypeInfile.uName.Name = new char [TStrLen(Name)+1];\n\tTStrCpy(pType->SDTypeInfile.uName.Name,Name);\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tpType->Self=pUdtBaseClass;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tm_BaseClassList.push_back(sl);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tif(FAILED(Symbol->get_type(&BaseClassType))||BaseClassType==NULL)\n\t\treturn NULLSYMBOLID;\n\tSDTYPE* pCurType=NULL;\n\tDWORD LocalReleaseFlags=1;\n\tpUdtBaseClass->TypeID=MakeSDType(BaseClassType,&LocalReleaseFlags,&pCurType);\n\tif(pCurType)\n\t\tpType->SDTypeInfile.TypeSize = pCurType->SDTypeInfile.TypeSize;\n\tif(LocalReleaseFlags)\n\t\tBaseClassType->Release();\n\tBOOL bVirtual=false;\n\tif(FAILED(Symbol->get_virtualBaseClass(&bVirtual)))\n\t\treturn NULLSYMBOLID;\n\tpUdtBaseClass->bIsVirtual = bVirtual?true:false;\n\tbVirtual=false;\n\tif(FAILED(Symbol->get_indirectVirtualBaseClass(&bVirtual)))\n\t\treturn NULLSYMBOLID;\n\tpUdtBaseClass->bIsIndirectBaseClass = bVirtual?true:false;\n\tLONG Off=0xffffffff;\n\tif(FAILED(Symbol->get_offset(&Off)))\n\t\treturn NULLSYMBOLID;\n\tpUdtBaseClass->Offset=Off;\n\tDWORD DispIndex=0xffffffff;\n\tif(FAILED(Symbol->get_virtualBaseDispIndex(&DispIndex)))\n\t\treturn NULLSYMBOLID;\n\tpUdtBaseClass->VirtualBaseDispIndex=DispIndex;\n\tif(FAILED(Symbol->get_virtualBasePointerOffset(&Off)))\n\t\treturn NULLSYMBOLID;\n\tDWORD dwAccess=0xffffffff;\n\tif(FAILED(Symbol->get_access(&dwAccess)))\n\t\treturn NULLSYMBOLID;\n\tpUdtBaseClass->Access=dwAccess;\n\tpUdtBaseClass->VirtualBasePointerOffset=Off;\t\n\tSelfReleaseFlags=0;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\treturn pType->SDTypeInfile.Id;\n}\n\nDWORD CSourceDebug::MakeSDDataTagType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun) \n{\n\tBSTR TypeName=NULL;\n\tDWORD dwDataKind;\n\tSDUDTDATAITEM*pDataMember;\n\tIDiaSymbol *DataType;\n\tDWORD TypeLen;\n\tDWORD typeID;\n\tbool bThisObjectPtr=false;\n\tDWORD Local1ReleaseFlags;\n\tSDTYPE* pTypeReturn=NULL;\n\tLONG off=0;\n\tTHISOBJECTPTR CurThis;\n\tDWORD Location;\n\tDWORD Access=0;\n\tBOOL bConstType=FALSE,bVolatileType=FALSE;;\n\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(FAILED(Symbol->get_dataKind(&dwDataKind)))\n\t{\n\t\tCODE_ASSERT(0);\n\t\treturn NULLSYMBOLID;\n\t}\n\t\n\tif(FAILED(Symbol->get_name(&TypeName)))\n\t{\n\t\tCODE_ASSERT(0);\n\t\treturn NULLSYMBOLID;\n\t}\n\tif(TStrICmp(\"PsLoadedmodulelist\",TypeName)==0)\n\t\tAccess=0;\n\tif(dwDataKind==DataIsStaticLocal)\n\t{\n\t\tif(TStrCmp(TypeName,\"\")==0)\n\t\t{\n\t\t\tLocalFree(TypeName);\n\t\t\treturn NULLSYMBOLID;\n\t\t}\n\t}\n\tif(FAILED(Symbol->get_locationType(&Location)))\t\n\t{\n\t\tCODE_ASSERT(0);\n\t\treturn NULLSYMBOLID;\n\t}\n\t\n\tif(TStrCmp(TypeName,\"this\")==0&&Location==LocIsEnregistered)\n\t{\n\t\tCurThis.dataKind=dwDataKind;\n\t\tif(FAILED(Symbol->get_registerId(&CurThis.Register)))\n\t\t{\n\t\t\tCODE_ASSERT(0);\n\t\t\treturn NULLSYMBOLID;\n\t\t}\n\t\t//////////////////////////////////////////////////////////////////////////\n\t\t//      LocIsEnregistered͵ıget_registerId صĻź\n\t\t//      ĻǴ1  Ҫ 1\n\t\t//\n\t\t//////////////////////////////////////////////////////////////////////////\n\t\tCurThis.Register=CurThis.Register-1;\n\t\tTHIS_OBJECT_PTR_LIST::iterator FindIt=find(m_ThisObjectPtrList.begin(),m_ThisObjectPtrList.end(),CurThis);\n\t\tif(FindIt!=m_ThisObjectPtrList.end())\n\t\t{\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=(SDTYPE*)FindIt->pUdtDataItem;\n\t\t\treturn FindIt->DataId;\n\t\t}\n\t\tbThisObjectPtr=true;\n\t}\n\n\tSymbol->get_constType(&bConstType);\n\tSymbol->get_volatileType(&bVolatileType);\n\tTypeLen = sizeof(SDUDTDATAITEM)+TStrLen(TypeName)+1;\n\tpDataMember =(SDUDTDATAITEM*) new char [TypeLen];\n\tmemset(pDataMember,0,TypeLen);\n\tpDataMember->DataId=m_CurrentDataSymbolIndex;\n\tm_CurrentDataSymbolIndex++;\n\tpDataMember->uName.Name=(char *)&pDataMember[1];\n\tpDataMember->KindData=dwDataKind;\n\tTStrCpy(pDataMember->uName.Name,TypeName);\n\tLocalFree(TypeName);\n\tif(Location==LocIsStatic)\n\t{\n\t\tSDPUBLICSYMBOL  psdp;\n\t\tSymbol->get_relativeVirtualAddress(&psdp.Rva);\n\t\tPUBLIC_SYMBOL_MAP::iterator FindIt;\n\t\tFindIt = m_PublicSymbolList.find(psdp);\n\t\tif(FindIt!=m_PublicSymbolList.end())\n\t\t{\n\t\t\tdelete [](*FindIt).first.uName.Name;\n\t\t\tm_PublicSymbolList.erase(FindIt);\n\t\t}\n\t\tSTATICDATA StaticData;\n\t\tStaticData.Name=pDataMember->uName.Name;\n\t\tStaticData.Rva=psdp.Rva;\n\t\tSTATIC_DATA_MAP::iterator It = m_StaticDataMap.find(StaticData);\n\t\tif(It!=m_StaticDataMap.end())\n\t\t{\n\t\t\tm_CurrentDataSymbolIndex--;\n\t\t\tdelete []pDataMember;\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=(SDTYPE*)m_DataTagVector[It->second];\n\t\t\treturn It->second;\n\t\t}\n\t\tm_StaticDataMap.insert(STATIC_DATA_MAP::value_type(StaticData,pDataMember->DataId));\n\t}\n\tSymbol->get_access(&Access);\n\tpDataMember->Access=Access;\n\tm_DataTagVector.push_back(pDataMember);\n\tpDataMember->IsConstType=bConstType?1:0;\n\tpDataMember->IsVolatileType=bVolatileType?1:0;\n\tif(bThisObjectPtr)\n\t{\n\t\tCurThis.DataId=pDataMember->DataId;\n\t\tCurThis.pUdtDataItem=pDataMember;\n\t\tm_ThisObjectPtrList.push_back(CurThis);\n\t}\n\tDataType=NULL;\n\tif(SUCCEEDED(Symbol->get_type(&DataType))&&DataType!=NULL)\n\t{\t\t\n\t\tLocal1ReleaseFlags=1;\t\n\t\ttypeID=MakeSDType(DataType,&Local1ReleaseFlags,&pTypeReturn);\n\t\tif(pTypeReturn)\n\t\t{\n\t\t\tpDataMember->DataSize = pTypeReturn->SDTypeInfile.TypeSize;\n\t\t}\n\t\tpDataMember->TypeId=typeID;\n\t\tif(Local1ReleaseFlags)\n\t\t\tDataType->Release();\t\n\t}else\n\t{\n\t\tif(dwDataKind==DataIsConstant)\n\t\t{\n\t\t\tpDataMember->DataSize=4;\n\t\t\tpDataMember->TypeId=0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpDataMember->DataSize=0;\n\t\t\tpDataMember->TypeId=0;\n\t\t}\n\t}\n\n\tpDataMember->Location=Location;\n\tSetUDTDataItem(pDataMember,Symbol);\n\t//if(pDataMember->Location==LocIsStatic)\n\t//\tm_StaticVariable.push_back(pDataMember->u.LOCISSTATIC.Rav);\n\tIDiaSymbol*ParentUDTType=NULL;\n\tif(SUCCEEDED(Symbol->get_classParent(&ParentUDTType))&&ParentUDTType)\n\t{\n\t\tDWORD LocalReleaseFlags1=1;\n\t\tpDataMember->TypeIdParentUDT=MakeSDType(ParentUDTType,&LocalReleaseFlags1);\n\t\tif(LocalReleaseFlags1)\n\t\t\tParentUDTType->Release();\n\t}\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=(SDTYPE*)pDataMember;\n\treturn pDataMember->DataId;\n\n}\n\nDWORD CSourceDebug::MakeSDFunction(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun) \n{\n\tULONGLONG length;\n\tBSTR FuncName=NULL;\n\tbool bIsThunk=false;\n\tSDTYPE*pType=NULL;\n\tDWORD TypeLen;\n\tBOOL bValue;\n\tDWORD Rav=0;\n\tDWORD Access;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(m_CurrentFunctionSymbolIndex==0x40c)\n\t\tm_CurrentFunctionSymbolIndex=0x40c;\n\tif(FAILED(Symbol->get_relativeVirtualAddress(&Rav)))\n\t\treturn NULLSYMBOLID;\n\tif(Rav==0)\n\t\treturn NULLSYMBOLID;\n\t\n\tif(FAILED(Symbol->get_name(&FuncName))||FuncName==NULL)\n\t\treturn NULLSYMBOLID;\n\tif(FAILED(Symbol->get_length(&length)))\n\t{\n\t\tLocalFree(FuncName);\n\t\treturn NULLSYMBOLID;\n\t}\n\t\n\tchar* name = new char [TStrLen(FuncName)+1];\n\tTStrCpy(name,FuncName);\n\tLocalFree(FuncName);\n\tSDFUNCTIONITEM* pFunctionItem;\t\n\tSTFUNCTIONID FunctionID;\n\tFunctionID.Name=name;\n\tFunctionID.Rva = Rav;\n\tFUNCTION_ID_MAP::iterator FindIT;\n\tFindIT = m_FuntionID.find(FunctionID);\n\tif(FindIT!=m_FuntionID.end())\n\t{\n\t\tSDFUNCTIONITEM* pFuncItem = (*FindIT).first.pFuncItem;\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun= (PSDTYPE)pFuncItem;\n\t\tdelete []name;\n\t\treturn pFuncItem->ID;\n\t}\n\t\t\n\t{\t\n\t\tSDPUBLICSYMBOL  psdp;\n\t\tpsdp.Rva=Rav;\n\t\tPUBLIC_SYMBOL_MAP::iterator FindIt;\n\t\tFindIt = m_PublicSymbolList.find(psdp);\n\t\tif(FindIt!=m_PublicSymbolList.end())\n\t\t{\n\t\t\tdelete [](*FindIt).first.uName.Name;\n\t\t\tm_PublicSymbolList.erase(FindIt);\n\t\t}\n\t}\n\tTypeLen = sizeof(SDFUNCTIONITEM);\n\tpFunctionItem =(SDFUNCTIONITEM*) new char[TypeLen];\t\n\tmemset(pFunctionItem,0,TypeLen);\n\tpFunctionItem->Rva=Rav;\n\tif(Rav)\n\t\tm_FunctionRavList.push_back(Rav);\n\n\tpFunctionItem->uName.Name=name;\n\tpFunctionItem->Size=*(DWORD*)&length;\n\tpFunctionItem->ID = m_CurrentFunctionSymbolIndex;\n\tm_CurrentFunctionSymbolIndex++;\n\tFunctionID.pFuncItem = pFunctionItem;\n\tm_FuntionID.insert(FUNCTION_ID_MAP::value_type(FunctionID,pFunctionItem->ID));\n\t//m_FuntionID.push_back(FunctionID);\t\n\tIDiaFrameData* pFrameData=NULL;\n\tif(SUCCEEDED(m_GlobalEnumFrameData->frameByRVA(Rav,&pFrameData))&&pFrameData)\n\t{\n\t\tBOOL dwSymtemException=FALSE;\n\t\tif(SUCCEEDED(pFrameData->get_systemExceptionHandling(&dwSymtemException)))\t\t\n\t\t\tpFunctionItem->IsSystemExceptionHandling=dwSymtemException?1:0;\n\t\tdwSymtemException=FALSE;\n\t\tif(SUCCEEDED(pFrameData->get_cplusplusExceptionHandling(&dwSymtemException)))\n\t\t\tpFunctionItem->IsCplusplusExceptionHandling=dwSymtemException?1:0;\n\t\tpFrameData->Release();\n\t\tpFrameData=NULL;\n\t}\n\tif(pTypeRetrun)\n\t{\n\t\t*pTypeRetrun=(PSDTYPE)pFunctionItem;\n\t}\n\n\tif(FAILED(Symbol->get_access(&Access)))\n\t\treturn NULLSYMBOLID;\t\n\tpFunctionItem->Access=Access;\n\tAccess=0;\n\tif(FAILED(Symbol->get_locationType(&Access)))\n\t\treturn NULLSYMBOLID;\n\tpFunctionItem->Location=Access;\n\tpFunctionItem->Size=*(DWORD*)&length;\n\tpFunctionItem->IsThunk=bIsThunk;\n\tBOOL bIsVirtual=false;\n\tif(FAILED(Symbol->get_virtual(&bIsVirtual)))\n\t\treturn NULLSYMBOLID;\n\n\tif(bIsVirtual)\n\t{\t\t\t\n\t\tDWORD dwVirtualBaseOffset=0xffffffff;\n\t\tif(FAILED(Symbol->get_virtualBaseOffset(&dwVirtualBaseOffset)))\n\t\t\treturn NULLSYMBOLID;\n\t\tpFunctionItem->IsVirtual=true;\n\t\tpFunctionItem->VirtualBaseOffset=dwVirtualBaseOffset;\n\t}\n\tbValue=FALSE;\n\tSymbol->get_pure(&bValue);\n\tpFunctionItem->IsPure=bValue?1:0;\n\tbValue=FALSE;\n\tSymbol->get_intro(&bValue);\n\tpFunctionItem->IsIntro=bValue?1:0;\n\tIDiaEnumSymbols *EnumSymbols=NULL;\n\n\t\n\tif(SUCCEEDED(Symbol->findChildren(SymTagFuncDebugEnd,NULL,nsNone,&EnumSymbols))&&EnumSymbols)\n\t{\n\t\tULONG celt;\n\t\tIDiaSymbol* pCurSymbol;\n\t\tLONG count=0;\n\t\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count==1)\n\t\t{\n\t\t\tif(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\t\t{\t\t\t\t\n\t\t\t\tpCurSymbol->get_relativeVirtualAddress(&pFunctionItem->DebugEnd);\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol = NULL;\n\t\t\t}\t\n\t\t}\n\t\tEnumSymbols->Release();\t\n\t\tEnumSymbols=NULL;\n\t}\n\tif(SUCCEEDED(Symbol->findChildren(SymTagFuncDebugStart,NULL,nsNone,&EnumSymbols))&&EnumSymbols)\n\t{\n\t\tULONG celt;\n\t\tIDiaSymbol* pCurSymbol;\n\t\tLONG count=0;\n\t\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count==1)\n\t\t{\n\t\t\tif(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\t\t{\t\t\t\t\t\t\t\n\t\t\t\tpCurSymbol->get_relativeVirtualAddress(&pFunctionItem->DebugStart);\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol = NULL;\n\t\t\t}\n\t\t}\n\t\tEnumSymbols->Release();\t\n\t\tEnumSymbols=NULL;\n\t}\n\tif(SUCCEEDED(Symbol->findChildren(SymTagBlock,NULL,nsNone,&EnumSymbols))&&EnumSymbols)\n\t{\n\t\tULONG celt;\n\t\tIDiaSymbol* pCurSymbol;\n\t\tLONG count=0;\n\t\tlist<DWORD> FuncBlock;\n\t\tlist<DWORD>::iterator BeginIt,EndIt;\n\t\tsize_t Size;\n\t\tint i = 0;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\t{\t\t\t\t\t\t\t\t\n\t\t\tMakeSDBlock(pCurSymbol,&FuncBlock);\n\t\t\tpCurSymbol->Release();\n\t\t\ti++;\n\t\t}\n\t\tSize = FuncBlock.size();\n\t\tcount = *(LONG*)&Size;\n\t\tif(count>=1)\n\t\t{\n\t\t\tpFunctionItem->pBlock.pBlockTypeIdArray=new DWORD[count];\n\t\t\tmemset(pFunctionItem->pBlock.pBlockTypeIdArray,0,sizeof(DWORD)*count);\n\t\t\tpFunctionItem->BlockCounter=count;\n\t\t\tBeginIt=FuncBlock.begin();EndIt=FuncBlock.end();\n\t\t\tint i = 0;\n\t\t\tfor(;BeginIt!=EndIt;BeginIt++,i++)\n\t\t\t\tpFunctionItem->pBlock.pBlockTypeIdArray[i]=*BeginIt;\n\t\t}\n\t\tFuncBlock.clear();\n\t\tEnumSymbols->Release();\n\t\tEnumSymbols=NULL;\n\t}\n\n\tif(SUCCEEDED(Symbol->findChildren(SymTagData,NULL,nsNone,&EnumSymbols))&&EnumSymbols!=NULL)\n\t{\n\t\tIDiaSymbol * pCurSymbol;\n\t\tULONG celt;\n\t\tLONG count=0;\t\t\n\t\tSDUDTDATAITEM * pUdtDataItem;\n\t\t\n\t\tif(SUCCEEDED(EnumSymbols->get_Count(&count))&&count)\n\t\t{\n\t\t\tpFunctionItem->DataCounter=count;\n\t\t\tpFunctionItem->pData.pDataMember = new DWORD[count];\n\t\t\tmemset(pFunctionItem->pData.pDataMember,0,sizeof(DWORD)*count);\n\t\t}\n\t\tint i = 0;\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\t{\n\t\t\tSDTYPE *pReturnType=NULL;\n\t\t\tpFunctionItem->pData.pDataMember[i]=MakeSDDataTagType(pCurSymbol,NULL,&pReturnType);\n\t\t\tif(pFunctionItem->pData.pDataMember[i]==0)\n\t\t\t{\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif(pReturnType)\n\t\t\t{\n\t\t\t\tpUdtDataItem = (SDUDTDATAITEM*)pReturnType;\n\t\t\t\tpUdtDataItem->TypeIdParentUDT=pFunctionItem->ID;\n\t\t\t}\t\t\t\n\t\t\tpCurSymbol->Release();\n\t\t\ti++;\n\t\t}\t\n\t\tpFunctionItem->DataCounter=i;\n\t\tEnumSymbols->Release();\n\t\tEnumSymbols=NULL;\n\t}\n\tif(SUCCEEDED(Symbol->findChildren(SymTagLabel,NULL,nsNone,&EnumSymbols))&&EnumSymbols!=NULL)\n\t{\n\t\tIDiaSymbol * pCurSymbol;\n\t\tBSTR LabelName=NULL;\n\t\tLONG count=0;\n\t\tULONG celt=0;\n\t\tif(SUCCEEDED(EnumSymbols->get_Count(&count)&&count))\n\t\t{\n\t\t\tpFunctionItem->LabelCounter=count;\n\t\t\tSDLABELITEM* pSDLabelItem=new SDLABELITEM[count];\n\t\t\tint i = 0;\n\t\t\tpCurSymbol=NULL;\n\t\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1&&pCurSymbol)\n\t\t\t{\n\t\t\t\tpCurSymbol->get_name(&LabelName);\n\t\t\t\tint Len = TStrLen(LabelName);\n\t\t\t\tpSDLabelItem[i].uName.Name = new char[Len+1];\n\t\t\t\tTStrCpy(pSDLabelItem[i].uName.Name,LabelName);\n\t\t\t\tLocalFree(LabelName);\n\t\t\t\tpCurSymbol->get_relativeVirtualAddress(&pSDLabelItem[i].Rva);\n\t\t\t\tpCurSymbol->Release();\n\t\t\t\tpCurSymbol=NULL;\n\t\t\t\ti++,celt=0;\n\t\t\t}\n\t\t\tpFunctionItem->pLabel.pLabelArray=pSDLabelItem;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpFunctionItem->LabelCounter=0;\n\t\t\tpFunctionItem->pLabel.pLabelArray=NULL;\n\t\t}\n\t\tEnumSymbols->Release();\n\t\tEnumSymbols=NULL;\n\t}\n\tIDiaSymbol*FuncType=NULL;\n\tif(SUCCEEDED(Symbol->get_type(&FuncType))&&FuncType)\n\t{\n\t\tDWORD LocalReleaseFlags=1;\n\t\tpFunctionItem->TypeID=MakeSDType(FuncType,&LocalReleaseFlags);\n\t\tif(LocalReleaseFlags)\n\t\t\tFuncType->Release();\n\t\tID_TO_SYMBOL_MAP::iterator find = m_IDToSymbolMap.find(pFunctionItem->TypeID);\n\t\tif(find!=m_IDToSymbolMap.end())\n\t\t{\n\t\t\tSDTYPE *pSubType = find->second;\n\t\t\tif(pSubType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t\t{\n\t\t\t\tSDFUNCTIONTYPE* pFunctionType= (SDFUNCTIONTYPE*)pSubType->Self;\n\t\t\t\tpFunctionItem->TypeIDReturnValue = pFunctionType->TypeIDReturnValue;\n\t\t\t}\t\t\t\t\t\t\n\t\t\telse\t\n\t\t\t\tpFunctionItem->TypeIDReturnValue=pSubType->SDTypeInfile.Id;//ϵͳԶɵĺ classname::operator= \t\t\t\n\t\t}\t\n\t}\n\tIDiaSymbol*ParentUDTType=NULL;\n\tif(SUCCEEDED(Symbol->get_classParent(&ParentUDTType))&&ParentUDTType)\n\t{\n\t\tDWORD LocalReleaseFlags1=1;\n\t\tpFunctionItem->TypeIDParentUDT=MakeSDType(ParentUDTType,&LocalReleaseFlags1);\n\t\tif(LocalReleaseFlags1)\n\t\t\tParentUDTType->Release();\n\t}\n\treturn pFunctionItem->ID;\n}\nDWORD CSourceDebug::MakeSDBlock(IDiaSymbol *Symbol,list<DWORD>* BlockList)\n{\n\tIDiaEnumSymbols *EnumSymbols=NULL;\n\tLONG count=0;\n\tDWORD BlockLen=sizeof(SDBLOCK)+sizeof(SDTYPE);\n\tULONGLONG length;\t\n\tDWORD RAV=0xffffffff;\n\tULONG celt;\n\tSDBLOCK *block=NULL;\n\tSDTYPE* pType;\n\tIDiaSymbol* pCurSymbol=NULL;\n\n\tif(Symbol==NULL)\n\t\treturn NULL;\n\tif(CheckSymbolSymTagType(Symbol,SymTagBlock)==false)\n\t\treturn NULL;\n\tif(FAILED(Symbol->findChildren(SymTagData,NULL,nsNone,&EnumSymbols))||EnumSymbols==NULL)\n\t\tCODE_WARNING(\"CSourceDebug::MakeSDBlock\");\n\tif(FAILED(EnumSymbols->get_Count(&count)))\n\t\tCODE_WARNING(\"CSourceDebug::MakeSDBlock\");\n\tif(count>=1)\n\t\tBlockLen +=((count-1)*sizeof(DWORD*));\n\tpType=(SDTYPE*)new char[BlockLen];\n\tmemset(pType,0,BlockLen);\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tpType->SDTypeInfile.Size=BlockLen;\n\tblock=(SDBLOCK *)&pType[1];\n\tpType->Self=block;\n\tblock->DataCounter=count;\n\tif(FAILED(Symbol->get_relativeVirtualAddress(&RAV)))\n\t\tCODE_WARNING(\"CSourceDebug::MakeSDBlock\");\n\tblock->Rva=RAV;\t\n\tif(FAILED(Symbol->get_length(&length)))\n\t\tCODE_WARNING(\"CSourceDebug::MakeSDBlock\");\n\tblock->Len=(DWORD)length;\n\tint i = 0;\n\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t{\t\t\t\t\n\t\tSDTYPE *pReturnType;\n\t\tblock->pDataMember[i] = MakeSDDataTagType(pCurSymbol,NULL,&pReturnType);\n\t\tSDUDTDATAITEM *pUdtDataItem;\n\t\tpUdtDataItem=(SDUDTDATAITEM*)pReturnType;\n\t\tpUdtDataItem->TypeIdParentUDT=pType->SDTypeInfile.Id;\n\t\tpCurSymbol->Release();\n\t\ti++;\n\t}\t\n\tEnumSymbols->Release();\n\tEnumSymbols=NULL;\n\tBlockList->push_back(pType->SDTypeInfile.Id);\n\tpType->SDTypeInfile.Type=SD_BLOCK;\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\n\tif(SUCCEEDED(Symbol->findChildren(SymTagBlock,NULL,nsNone,&EnumSymbols))&&EnumSymbols)\n\t{\n\t\tULONG celt;\n\t\tIDiaSymbol* pCurSymbol;\t\t\t\n\t\twhile(SUCCEEDED(EnumSymbols->Next(1,&pCurSymbol,&celt))&&celt==1)\n\t\t{\t\t\t\t\t\t\t\t\n\t\t\tMakeSDBlock(pCurSymbol,BlockList);\n\t\t\tpCurSymbol->Release();\n\t\t}\n\t\tEnumSymbols->Release();\n\t}\n\treturn pType->SDTypeInfile.Id;\n}\nbool CSourceDebug::GetArrayList(IDiaSymbol* Symbol,ARRAY_DIA_SYMBOL_LIST* ArrayList)\n{\n\tIDiaSymbol* NewSymbol=Symbol;\n\tDWORD dwSymTag;\n\tIDiaSymbol* ElementType=NULL;\n\tArrayList->clear();\n\tif(FAILED(NewSymbol->get_symTag(&dwSymTag)))\n\t\treturn false;\n\twhile(dwSymTag==SymTagArrayType)\n\t{\n\t\tArrayList->push_front(NewSymbol);\n\t\tif (FAILED(NewSymbol->get_type(&ElementType)))\n\t\t\treturn false;\n\t\tif(FAILED(ElementType->get_symTag(&dwSymTag)))\n\t\t\treturn false;\n\t\tNewSymbol=ElementType;\n\t}\n\tElementType->Release();\n\treturn true;\n}\nDWORD CSourceDebug::MakeSDArrayType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun) \n{\n\tARRAY_DIA_SYMBOL_LIST::iterator BeginIt,EndIt;\n\tARRAY_DIA_SYMBOL_LIST ArrayList;\n\tIDiaSymbol* TmpSymbol;\n\tDWORD PrevArrayTypeId=0;\n\tDWORD ii=0;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tif(GetArrayList(Symbol,&ArrayList)==false)\n\t\treturn NULLSYMBOLID;\n\tBeginIt=ArrayList.begin();\n\tEndIt=ArrayList.end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tif(ii)\n\t\t\tii++;\n\t\tTmpSymbol = *BeginIt;\n\t\tPrevArrayTypeId = MakeSDArrayType(TmpSymbol,PrevArrayTypeId,ReleaseFlags,pTypeRetrun);\n\t\tif(*ReleaseFlags)\n\t\t{\n\t\t\tTmpSymbol->Release();\n\t\t\t*ReleaseFlags=0;\n\t\t}\n\t\tii++;\n\t}\n\tArrayList.clear();\n\treturn PrevArrayTypeId;\n}\nDWORD CSourceDebug::MakeSDArrayType(IDiaSymbol* Symbol,DWORD PrevArrayTypeId,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun) \n{\n\tSDTYPE *pType;\n\tSDARRAYTYPE* pArrayType;\n\tBSTR Name=NULL;\t\n\tSDARRAYINDEX AI;\n\tlist<SDARRAYINDEX> IndexList;\n\tlist<SDARRAYINDEX>::iterator begin,end;\n\tULONGLONG TypeLen;\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tIDiaSymbol* curPdbTypeArrayIndex = Symbol;\n\tULONGLONG arraySize,tmplonglong;\n\tDWORD curPdbTypeArrayIndexTag;\n\tIDiaSymbol* curIndexType;\n\tIDiaSymbol* diaElementType;\n\tULONGLONG curElementSize;\n\tDWORD LocalReleaseFlags1;\n\tbool bFirstFlag=true;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tfor(beginIT=m_ArrayList.begin();beginIT!=m_ArrayList.end();beginIT++)\n\t{\n\t\tHRESULT hr;\n\t\tIDiaSymbol* OldSymbol;\n\t\tOldSymbol=(IDiaSymbol*)beginIT->type->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\t\n\t\t{\n\t\t\tSYMBOLLIST sl = *beginIT;\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=sl.type;\n\t\t\treturn sl.id;\n\t\t}\n\t}\n\t// Get total size of top array symbol\n\n\tif (FAILED(curPdbTypeArrayIndex->get_length(&arraySize))) \n\t\treturn NULLSYMBOLID;\n\tTypeLen = arraySize;\n\t// We know we're in an array already\n\tcurPdbTypeArrayIndexTag = SymTagArrayType;\n\t// get index type of top array index\n\tcurIndexType=NULL;\n\tif (FAILED(curPdbTypeArrayIndex->get_arrayIndexType(&curIndexType))) \n\t\treturn NULLSYMBOLID; \n\t// Get type of top array indexes elements\n\tdiaElementType=NULL;\n\tif (FAILED(curPdbTypeArrayIndex->get_type(&diaElementType))) \n\t\treturn NULLSYMBOLID;\n\t// Get size of of top array indexes elements\n\tif (FAILED(diaElementType->get_length(&curElementSize))) \n\t\treturn NULLSYMBOLID;\n\t// Now, process the indices \n\twhile(curPdbTypeArrayIndexTag == SymTagArrayType) \n\t{\n\t\tif (curElementSize != 0) \t\n\t\t{\n\t\t\ttmplonglong=arraySize / curElementSize;\n\t\t\tAI.Size=*(DWORD*)&tmplonglong;\n\t\t}\n\t\telse\t\t\t\n\t\t\tAI.Size=0;\n\t\tLocalReleaseFlags1=1;\n\t\tAI.TypeIDIndex=MakeSDType(curIndexType,&LocalReleaseFlags1);\n\t\tif(LocalReleaseFlags1)\n\t\t{\n\t\t\tcurIndexType->Release();\n\t\t\tcurIndexType=NULL;\n\t\t}\n\t\tIndexList.push_back(AI);\n\t\t// Move down to next array index \n\t\tif(bFirstFlag==false)\n\t\t{\n\t\t\tcurPdbTypeArrayIndex->Release();\n\t\t\tcurPdbTypeArrayIndex=NULL;\n\t\t}\n\t\tbFirstFlag=false;\n\t\tcurPdbTypeArrayIndex = diaElementType;\n\t\t// Size of new array index\n\t\tarraySize = curElementSize;\n\t\t// get symtag of new array index\n\t\tif (FAILED(curPdbTypeArrayIndex->get_symTag(&curPdbTypeArrayIndexTag))) \t\n\t\t\treturn NULLSYMBOLID;\n\t\t// if it ISNT an array, stop right now\n\t\tif (curPdbTypeArrayIndexTag != SymTagArrayType) \n\t\t\tbreak;    \n\t\t// get index type of sub-array \n\t\tif (FAILED(curPdbTypeArrayIndex->get_arrayIndexType(&curIndexType))) \n\t\t\treturn NULLSYMBOLID;   \n\n\t\t// Get type of sub-array elements\n\t\tif (FAILED(curPdbTypeArrayIndex->get_type(&diaElementType))) \n\t\t\treturn NULLSYMBOLID;  \n\t\t// get size in bytes of sub-array elements\n\t\tif (FAILED(diaElementType->get_length(&curElementSize))) \n\t\t\treturn NULLSYMBOLID;\n\t}\n\tDWORD len;\n\tlen = sizeof(SDARRAYTYPE)+sizeof(SDTYPE);\n\tif(IndexList.size()>1)\n\t\tlen = len+sizeof(SDARRAYINDEX)*(IndexList.size()-1);\n\tpType = (SDTYPE *) new char[len];\n\tpType->SDTypeInfile.Size=len;\n\tpType->Symbol=Symbol;\t\n\tpType->SDTypeInfile.Id = m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tm_ArrayList.push_back(sl);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\t\t\n\tpArrayType = (SDARRAYTYPE*)&pType[1];\n\tpType->Self=pArrayType;\n\n\tDWORD LocalReleaseFlags=1;\n\tpArrayType->TypeIDElement=MakeSDType(diaElementType,&LocalReleaseFlags);\n\tif(LocalReleaseFlags)\n\t\tdiaElementType->Release();\n\tbegin = IndexList.begin();\n\tend = IndexList.end();\n\tint i = 0;\n\tfor(;begin!=end;begin++,i++)\t\n\t\tpArrayType->Dimensions[i]=(*begin);\n\tsize_t Size;\n\tSize=IndexList.size();\t\n\tpArrayType->DimensionsSize=*(DWORD*)&Size;\n\tpArrayType->NextArrayID=PrevArrayTypeId;\n\tIndexList.clear();\n\tpType->SDTypeInfile.Type=SD_ARRAY;\n\tpType->SDTypeInfile.TypeSize=*(DWORD*)&TypeLen;\n\tpType->Self=pArrayType;\t\n\tpType->SDTypeInfile.uName.Name=GetSDSymbolName(pType->SDTypeInfile.Id);\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=0;\n\treturn pType->SDTypeInfile.Id;\n}\n/*\nDWORD CSourceDebug::MakeSDArrayType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun) \n{\n\tSDTYPE *pType;\n\tSDARRAYTYPE* pArrayType;\n\tBSTR Name=NULL;\t\n\tSDARRAYINDEX AI;\n\tlist<SDARRAYINDEX> IndexList;\n\tlist<SDARRAYINDEX>::iterator begin,end;\n\tULONGLONG TypeLen;\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tIDiaSymbol* curPdbTypeArrayIndex = Symbol;\n\tULONGLONG arraySize,tmplonglong;\n\tDWORD curPdbTypeArrayIndexTag;\n\tIDiaSymbol* curIndexType;\n\tIDiaSymbol* diaElementType;\n\tULONGLONG curElementSize;\n\tDWORD LocalReleaseFlags1;\n\tbool bFirstFlag=true;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tfor(beginIT=m_ArrayList.begin();beginIT!=m_ArrayList.end();beginIT++)\n\t{\n\t\tHRESULT hr;\n\t\tIDiaSymbol* OldSymbol;\n\t\tOldSymbol=(IDiaSymbol*)beginIT->type->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\t\n\t\t{\n\t\t\tSYMBOLLIST sl = *beginIT;\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=sl.type;\n\t\t\treturn sl.id;\n\t\t}\n\t}\n\t// Get total size of top array symbol\n\t\n\tif (FAILED(curPdbTypeArrayIndex->get_length(&arraySize))) \n\t\treturn NULLSYMBOLID;\n\tTypeLen = arraySize;\n\t// We know we're in an array already\n\tcurPdbTypeArrayIndexTag = SymTagArrayType;\n\t// get index type of top array index\n\tcurIndexType=NULL;\n\tif (FAILED(curPdbTypeArrayIndex->get_arrayIndexType(&curIndexType))) \n\t\treturn NULLSYMBOLID; \n\t// Get type of top array indexes elements\n\tdiaElementType=NULL;\n\tif (FAILED(curPdbTypeArrayIndex->get_type(&diaElementType))) \n\t\treturn NULLSYMBOLID;\n\t// Get size of of top array indexes elements\n\tif (FAILED(diaElementType->get_length(&curElementSize))) \n\t\treturn NULLSYMBOLID;\n\t// Now, process the indices \n\twhile(curPdbTypeArrayIndexTag == SymTagArrayType) \n\t{\n\t\tif (curElementSize != 0) \t\n\t\t{\n\t\t\ttmplonglong=arraySize / curElementSize;\n\t\t\tAI.Size=*(DWORD*)&tmplonglong;\n\t\t}\n\t\telse\t\t\t\n\t\t\tAI.Size=0;\n\t\tLocalReleaseFlags1=1;\n\t\tAI.TypeIDIndex=MakeSDType(curIndexType,&LocalReleaseFlags1);\n\t\tif(LocalReleaseFlags1)\n\t\t{\n\t\t\tcurIndexType->Release();\n\t\t\tcurIndexType=NULL;\n\t\t}\n\t\tIndexList.push_back(AI);\n\t\t// Move down to next array index \n\t\tif(bFirstFlag==false)\n\t\t{\n\t\t\tcurPdbTypeArrayIndex->Release();\n\t\t\tcurPdbTypeArrayIndex=NULL;\n\t\t}\n\t\tbFirstFlag=false;\n\t\tcurPdbTypeArrayIndex = diaElementType;\n\t\t// Size of new array index\n\t\tarraySize = curElementSize;\n\t\t// get symtag of new array index\n\t\tif (FAILED(curPdbTypeArrayIndex->get_symTag(&curPdbTypeArrayIndexTag))) \t\n\t\t\treturn NULLSYMBOLID;\n\t\t// if it ISNT an array, stop right now\n\t\tif (curPdbTypeArrayIndexTag != SymTagArrayType) \n\t\t\tbreak;    \n\t\t// get index type of sub-array \n\t\tif (FAILED(curPdbTypeArrayIndex->get_arrayIndexType(&curIndexType))) \n\t\t\treturn NULLSYMBOLID;   \n\n\t\t// Get type of sub-array elements\n\t\tif (FAILED(curPdbTypeArrayIndex->get_type(&diaElementType))) \n\t\t\treturn NULLSYMBOLID;  \n\t\t// get size in bytes of sub-array elements\n\t\tif (FAILED(diaElementType->get_length(&curElementSize))) \n\t\t\treturn NULLSYMBOLID;\n\t}\n\tDWORD len;\n\tlen = sizeof(SDARRAYTYPE)+sizeof(SDTYPE);\n\tif(IndexList.size()>1)\n\t\tlen = len+sizeof(SDARRAYINDEX)*(IndexList.size()-1);\n\tpType = (SDTYPE *) new char[len];\n\tpType->SDTypeInfile.Size=len;\n\tpType->Symbol=Symbol;\t\n\tpType->SDTypeInfile.Id = m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\tm_SymbolList.push_back(sl);\n\tm_ArrayList.push_back(sl);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\t\t\n\tpArrayType = (SDARRAYTYPE*)&pType[1];\n\tpType->Self=pArrayType;\n\n\tDWORD LocalReleaseFlags=1;\n\tpArrayType->TypeIDElement=MakeSDType(diaElementType,&LocalReleaseFlags);\n\tif(LocalReleaseFlags)\n\t\tdiaElementType->Release();\n\tbegin = IndexList.begin();\n\tend = IndexList.end();\n\tint i = 0;\n\tfor(;begin!=end;begin++,i++)\t\n\t\tpArrayType->Dimensions[i]=(*begin);\t\t\n\tsize_t Size;\n\tSize=IndexList.size();\t\n\tpArrayType->DimensionsSize=*(DWORD*)&Size;\n\tIndexList.clear();\n\tpType->SDTypeInfile.Type=SD_ARRAY;\n\tpType->SDTypeInfile.TypeSize=*(DWORD*)&TypeLen;\n\tpType->Self=pArrayType;\t\n\tpType->SDTypeInfile.uName.Name=GetSDSymbolName(pType->SDTypeInfile.Id);\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=0;\n\treturn pType->SDTypeInfile.Id;\n}\n*/\nDWORD CSourceDebug::MakeSDEnumType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tSDTYPE *pType;\n\tULONGLONG length;\n\tDWORD newlen;\n\tBOOL bValue;\n\tBSTR EnumName=NULL;\n\tDWORD SelfReleaseFlags=1;\n\tSDENUMERATIONTYPE* EnumData;\n\tLONG datacount=0;\n\tULONG count = 0;\n\tIDiaSymbol* EnumTypeSymbol=NULL;\n\tDWORD TypeId=0xffffffff;\n\tDWORD EnumSymTag=0xffffffff;\n\tIDiaSymbol* curValue;\n\tIDiaEnumSymbols* enumValuesEnum=NULL;\n\tunsigned int i;\n\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\n\tfor(beginIT=m_EnumList.begin(),endIT=m_EnumList.end();beginIT!=endIT;beginIT++)\n\t{\n\t\tif(m_DiaSession->symsAreEquiv(Symbol,(IDiaSymbol*)beginIT->type->Symbol)==S_OK)\n\t\t{\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=beginIT->type;\n\t\t\treturn beginIT->type->SDTypeInfile.Id;\n\t\t}\n\t}\n\n\tif (FAILED(Symbol->findChildren(SymTagData, NULL, nsNone, &enumValuesEnum)))\n\t\treturn NULLSYMBOLID;\n\tif(FAILED(enumValuesEnum->get_Count(&datacount)))\n\t\treturn NULLSYMBOLID;\t\n\tnewlen = sizeof(SDENUMERATIONTYPE)+sizeof(SDTYPE);\n\tif(datacount)\n\t\tnewlen=newlen + sizeof(ENUMERATIONDATAMEMBER)*(datacount-1);\n\tpType=(SDTYPE*)new char [newlen];\n\tmemset(pType,0,newlen);\n\tEnumData = (SDENUMERATIONTYPE*)&pType[1];\n\tEnumData->DataCount=datacount;\n\tpType->Symbol=Symbol;\n\tpType->SDTypeInfile.Id = m_CurrentSymbolIndex;\n\tif(m_CurrentSymbolIndex==0x3b)\n\t\tm_CurrentSymbolIndex=0x3b;\n\tm_CurrentSymbolIndex++;\t\n\tpType->SDTypeInfile.Type=SD_ENUMERATION;\t\n\tpType->SDTypeInfile.Size=newlen;\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\tm_EnumList.push_back(sl);\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tbValue=FALSE;\n\tSymbol->get_nested(&bValue);\n\tEnumData->IsNested=bValue?1:0;\n\tbValue=FALSE;\n\tSymbol->get_scoped(&bValue);\n\tEnumData->IsScoped=bValue?1:0;\n\tif(FAILED(Symbol->get_name(&EnumName)))\n\t\treturn NULLSYMBOLID;\t\n\tif(FAILED(Symbol->get_length(&length)))\n\t\treturn NULLSYMBOLID;\t\n\tpType->SDTypeInfile.TypeSize= *(DWORD*)&length;\n\tpType->SDTypeInfile.uName.Name=new char[TStrLen(EnumName)+1];\n\tTStrCpy(pType->SDTypeInfile.uName.Name,EnumName);\n\tpType->Self=EnumData;\n\tif(FAILED(Symbol->get_type(&EnumTypeSymbol))&&EnumTypeSymbol==NULL)\n\t\treturn NULLSYMBOLID;\n\tDWORD LocalReleaseFlags=1;\n\tEnumData->TypeID=MakeSDType(EnumTypeSymbol,&LocalReleaseFlags);\n\tif(LocalReleaseFlags)\n\t\tEnumTypeSymbol->Release();\n\t\n\tcurValue=NULL;\n\ti = 0;\n\tcount=0;;DWORD locationType;ULONGLONG valueL=0;\n\twhile(SUCCEEDED(enumValuesEnum->Next(1, &curValue, &count))&&count==1&&curValue)\n\t{\t\n\t\tchar BufTemp[20]={0};\n\t\tVARIANT value;\n\t\tvalue.intVal=sizeof(VARIANT);\n\t\tchar BufTemp2[20]={0};\n\t\t//memset(BufTemp2,0,sizeof(BufTemp2));\n\t\t//memset(BufTemp,0,sizeof(BufTemp));\n\t\tif (FAILED(curValue->get_locationType(&locationType))) \t\n\t\t\treturn NULLSYMBOLID;\n\t\tif (locationType != LocIsConstant)\n\t\t\treturn NULLSYMBOLID;\n\t\t\n\t\tif (FAILED(curValue->get_value(&value))) \t\n\t\t\treturn NULLSYMBOLID;\n\t\tvalueL=0;\n\t\tswitch(value.vt) \n\t\t{\n\t\tcase VT_UI1: valueL = value.bVal; break;\n\t\tcase VT_UI2: valueL = value.uiVal; break;\n\t\tcase VT_UI4: valueL = value.ulVal; break;\n\t\tcase VT_UI8: valueL=value.ullVal;break;\n\t\tcase VT_UINT: valueL = value.uintVal; break;\n\t\tcase VT_INT: valueL = value.intVal; break;\n\t\tcase VT_I1: valueL = value.cVal; break;\n\t\tcase VT_I2: valueL = value.iVal; break;\n\t\tcase VT_I4: valueL = value.lVal; break;\n\t\tcase VT_I8: valueL = value.llVal;break;\t\n\t\tcase VT_ERROR:CODE_ASSERT(0);break;\n\t\tdefault:\n\t\t\tvalueL=0;\t\t\t\n\t\t\tbreak;\t\t\n\t\t}\n\t\t\n\t\tEnumData->EnumerationDataMember[i].Value=*(ULONGLONG*)&valueL;\n\t\tBSTR valueName = NULL;\n\t\tif (FAILED(curValue->get_name(&valueName)) || !valueName)\n\t\t\treturn NULLSYMBOLID;\n\t\tEnumData->EnumerationDataMember[i].u.Name = new char[TStrLen(valueName)+1];\n\t\tTStrCpy(EnumData->EnumerationDataMember[i].u.Name,valueName);\n\t\t/*\n\t\tSDCONSTVAR ConstVar;\n\t\tmemset(&ConstVar,0,sizeof(SDCONSTVAR));\n\t\tConstVar.Name=EnumData->EnumerationDataMember[i].u.Name;\n\t\tCONST_VAR_MAP::iterator findit = m_ConstVarMap.find(ConstVar);\n\t\tif(findit==m_ConstVarMap.end())\n\t\t{\n\t\t\tm_ConstVarMap.insert(CONST_VAR_MAP::value_type(ConstVar,0));\n\t\t}\n\t\t*/\n\t\tLocalFree(valueName);\n\t\tcurValue->Release();\n\t\tvalueName=NULL;\n\t\tcurValue=NULL;\n\t\tcount=0;\n\t\ti++;\n\t\tCODE_ASSERT(i<=EnumData->DataCount);\n\t}\n\tenumValuesEnum->Release();\n\t\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\t\t\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=0;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n}\nDWORD CSourceDebug::MakeSDPointerReferenceType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tBOOL bRef;\n\tif(FAILED( Symbol->get_reference(&bRef)))\n\t\treturn NULLSYMBOLID;\n\tif(bRef==false)\n\t\treturn MakeSDPointerType(Symbol,ReleaseFlags,pTypeRetrun);\n\telse\n\t\treturn MakeSDReferenceType(Symbol,ReleaseFlags,pTypeRetrun);\n\n}\t\nDWORD CSourceDebug::MakeSDPointerType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSDTYPE* pType;\n\tSDPOINTERTYPE *pt;\n\tIDiaSymbol * PointerSymbol;//,*ReferenceSymbol;\n\tULONGLONG length;\n\tchar NullPointerName[]=\"\";\n\tchar* PointerName=NULL;\n\tDWORD PrevPointerTypeID=0;\n\tDWORD TypeLen,i;\n\tDWORD SubTypeID;\n\tDWORD PointerDepth=1;\n\tDWORD SelfReleaseFlags=1;\n\tchar* TempName;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tPointerSymbol = DumpSymTagPointerType(Symbol,NULL,&PointerDepth);\n\tDWORD LocalReleaseFlags=1;\n\tSubTypeID=MakeSDType(PointerSymbol,&LocalReleaseFlags);\t\n\tif(LocalReleaseFlags)\n\t\tPointerSymbol->Release();\n\tPointerName=GetSDSymbolName(SubTypeID);\n\tlength=0;\n\tif(FAILED(Symbol->get_length(&length)))\n\t{\n\t\tif(PointerName)\n\t\t\tdelete []PointerName;\n\t\treturn NULLSYMBOLID;\n\t}\n\tfor(i = 1; i <= PointerDepth;i++)\n\t{\n\t\tif(PointerName)\n\t\t{\n\t\t\tTempName = new char [TStrLen(PointerName)+9+1];\n\t\t\tTSPrintf(TempName,\"%s_%08x\",PointerName,i);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTempName = new char [18];\n\t\t\tTSPrintf(TempName,\"%08x_%08x\",SubTypeID,i);\n\t\t}\n\t\tCTempSymbol\tTempSymbol(TempName,SymTagPointerType,0);\n\t\tm_TempSymbolIDIter = m_PointerID.find(TempSymbol);\n\t\tif(m_TempSymbolIDIter!=m_PointerID.end())\n\t\t{\n\t\t\tPrevPointerTypeID = m_TempSymbolIDIter->second;\n\t\t\tif(i == PointerDepth)\n\t\t\t{\n\t\t\t\tif(pTypeRetrun)\t\t\n\t\t\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\t\t\n\t\t\t\tdelete []TempName;\n\t\t\t\tif(PointerName)\n\t\t\t\t\tdelete []PointerName;\n\t\t\t\treturn m_TempSymbolIDIter->second;\n\t\t\t}\n\t\t\tdelete []TempName;\n\t\t\tcontinue;\n\t\t}\n\t\tm_PointerID.insert(SYMBOL_ID_MAP::value_type(TempSymbol,m_CurrentSymbolIndex));\t\n\t\tTypeLen=sizeof(SDTYPE)+sizeof(SDPOINTERTYPE);\n\t\tpType =(SDTYPE*) new char [TypeLen];\n\t\tmemset(pType,0,TypeLen);\n\t\tpt =(SDPOINTERTYPE*) &pType[1];\t\t\n\t\tpt->TypeID\t= SubTypeID;\t\n\t\tpt->PointerDepth=i;\n\t\tpt->NextPointer=PrevPointerTypeID;\n\t\tpType->SDTypeInfile.Type=SD_POINTER;\n\t\tpType->Self=pt;\n\t\tpType->SDTypeInfile.Size=TypeLen;\n\t\tpType->SDTypeInfile.TypeSize=(DWORD)length;\t\t\n\t\tpType->SDTypeInfile.uName.Name=TempName;\n\t\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\t\tm_CurrentSymbolIndex++;\n\t\tPrevPointerTypeID=pType->SDTypeInfile.Id;\n\t\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\t\tSYMBOLLIST sl;\n\t\tsl.id=pType->SDTypeInfile.Id;\n\t\tsl.type=pType;\n\t\t//m_SymbolList.push_back(sl);\n\t\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun=pType;\n\t\tif(ReleaseFlags)\n\t\t\t*ReleaseFlags=1;\n\t}\n\tif(PointerName)\n\t\tdelete []PointerName;\n\treturn pType->SDTypeInfile.Id;\n\n}\t\t\t\n#if 0\nDWORD CSourceDebug::MakeSDPointerType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSDTYPE* pType;\n\tSDPOINTERTYPE *pt;\n\tstatic int debug2=0;\n\tIDiaSymbol * PointerSymbol;//,*ReferenceSymbol;\n\tULONGLONG length;\n\tchar NullPointerName[]=\"\";\n\tchar* PointerName;\n\tDWORD TypeLen;\n\tDWORD SubTypeID;\n\tDWORD PointerDepth=1;\n\tDWORD SelfReleaseFlags=1;\n\tchar* TempName;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\n\tPointerSymbol = DumpSymTagPointerType(Symbol,NULL,&PointerDepth);\n\tDWORD LocalReleaseFlags=1;\n\tSubTypeID=MakeSDType(PointerSymbol,&LocalReleaseFlags);\t\n\tif(LocalReleaseFlags)\n\t\tPointerSymbol->Release();\n\tPointerName=GetSDSymbolName(SubTypeID);\n\tif(PointerName)\n\t{\n\t\tTempName = new char [TStrLen(PointerName)+9+1];\n\t\tTSPrintf(TempName,\"%s_%08x\",PointerName,PointerDepth);\n\t\tdelete []PointerName;\t\n\t}\n\telse\n\t{\n\t\tTempName = new char [18];\n\t\tTSPrintf(TempName,\"%08x_%08x\",SubTypeID,PointerDepth);\n\t}\n\tCTempSymbol\tTempSymbol(TempName,SymTagPointerType,0);\n\tm_TempSymbolIDIter = m_PointerID.find(TempSymbol);\n\tif(m_TempSymbolIDIter!=m_PointerID.end())\n\t{\n\t\tif(pTypeRetrun)\t\t\n\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\t\t\n\t\tdelete []TempName;\t\n\t\treturn m_TempSymbolIDIter->second;\t\t\n\t}\n\tm_PointerID.insert(SymbolID::value_type(TempSymbol,m_CurrentSymbolIndex));\t\n\tTypeLen=sizeof(SDTYPE)+sizeof(SDPOINTERTYPE);\n\tpType =(SDTYPE*) new char [TypeLen];\n\tmemset(pType,0,TypeLen);\n\tpt =(SDPOINTERTYPE*) &pType[1];\t\t\n\tpt->TypeID\t= SubTypeID;\t\n\tpt->PointerDepth=PointerDepth;\n\tpType->SDTypeInfile.Type=SD_POINTER;\n\tpType->Self=pt;\n\tif(FAILED(Symbol->get_length(&length)))\n\t{\n\t\tdelete pType;\n\t\tdelete pt;\n\t\treturn NULLSYMBOLID;\n\t}\n\tpType->SDTypeInfile.Size=TypeLen;\n\tpType->SDTypeInfile.TypeSize=(DWORD)length;\t\t\n\tpType->SDTypeInfile.uName.Name=TempName;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\tm_SymbolList.push_back(sl);\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\treturn pType->SDTypeInfile.Id;\n}\t\t\t\n#endif\nDWORD CSourceDebug::MakeSDReferenceType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tSDTYPE* pType;\n\tSDREFERENCETYPE *reft;\n\tIDiaSymbol *ReferenceSymbol;\n\tDWORD TypeLen;\n\tDWORD SelfReleaseFlags=1;\n\tDWORD SubTypeID;\n\tchar *ReferenceName;\n\tchar* TempName;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tif(FAILED(Symbol->get_type(&ReferenceSymbol))||ReferenceSymbol==NULL)\n\t\treturn NULLSYMBOLID;\n\tDWORD Local1ReleaseFlags=1;\t\t\n\tSubTypeID = MakeSDType(ReferenceSymbol,&Local1ReleaseFlags);\n\tif(Local1ReleaseFlags)\n\t\tReferenceSymbol->Release();\n\t\n\tReferenceName=GetSDSymbolName(SubTypeID);\n\tif(ReferenceName)\n\t{\n\t\tTempName = new char [TStrLen(ReferenceName)+1+1];\n\t\tTStrCpy(TempName,ReferenceName);\n\t\tTStrCat(TempName,\"&\");\n\t\tdelete []ReferenceName;\n\t}\n\telse\n\t{\n\t\tTempName = new char[2];\n\t\tTempName[0]='&';\n\t\tTempName[1]=0;\n\t}\n\t\n\tCTempSymbol\tTempSymbol(TempName,SymTagPointerType,0);\n\tm_TempSymbolIDIter = m_ReferenceID.find(TempSymbol);\n\tif(m_TempSymbolIDIter!=m_ReferenceID.end())\n\t{\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\n\t\tdelete []TempName;\t\t\n\t\treturn m_TempSymbolIDIter->second;\t\t\n\t}\n\tm_ReferenceID.insert(SYMBOL_ID_MAP::value_type(TempSymbol,m_CurrentSymbolIndex));\t\n\t/*\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tfor(beginIT=m_PointerReferenceSymbolList.begin();beginIT!=m_PointerReferenceSymbolList.end();beginIT++)\n\t{\n\t\tHRESULT hr;\n\t\tSDTYPE* pCurType;\n\t\tIDiaSymbol* OldSymbol;\n\t\tpCurType=beginIT->type;\n\t\tOldSymbol=pCurType->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\n\t\treturn pCurType->Id;\n\t}\n\t*/\t\t\n\tTypeLen=sizeof(SDTYPE)+sizeof(SDREFERENCETYPE);\n\tpType = (SDTYPE*)new char [TypeLen];\n\tmemset(pType,0,TypeLen);\n\tpType->SDTypeInfile.Size=TypeLen;\n\treft = (SDREFERENCETYPE*)&pType[1];\n\treft->TypeID=SubTypeID;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tpType->SDTypeInfile.Type=SD_REFERENCE;\n\tpType->SDTypeInfile.uName.Name=TempName;\n\t//pType->Symbol=Symbol;\n\tm_CurrentSymbolIndex++;\n\tpType->Self=reft;\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\t\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tSDTYPE*pSubType = GetSDTypeBySymbolID(reft->TypeID);\n\tif(pSubType)\n\t\tpType->SDTypeInfile.TypeSize = pSubType->SDTypeInfile.TypeSize;\t\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=1;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n\n}\t\t\t\nDWORD CSourceDebug::MakeSDTypeDefType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tchar* name;\n\tBSTR TypeName=NULL;\n\tSDTYPE *pType;\n\tULONGLONG length;\n\tSDTYPEDEFTYPE *tdt;\n\tDWORD BufferLength=512;\n\tDWORD SelfReleaseFlags=1;\n\tDWORD TypeLen;\n\tTypeName=NULL;\n\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n#if 0\n\tSD_SYMBOL_LIST::iterator beginIT,endIT;\n\tfor(beginIT=m_TypeDefList.begin();beginIT!=m_TypeDefList.end();beginIT++)\n\t{\n\t\tSDTYPE* pCurType;\n\t\tHRESULT hr;\n\t\tIDiaSymbol* OldSymbol;\n\t\tOldSymbol=(IDiaSymbol*)beginIT->type->Symbol;\n\t\thr = m_DiaSession->symsAreEquiv(Symbol,OldSymbol);\n\t\tif(hr==S_OK)\n\t\t{\n\t\t\tpCurType=beginIT->type;\n\t\t\tif(pTypeRetrun)\n\t\t\t\t*pTypeRetrun=pCurType;\n\t\t\treturn pCurType->SDTypeInfile.Id;\n\t\t}\n\t}\n#endif\n\n\tif(FAILED(Symbol->get_name(&TypeName)))\n\t\treturn NULLSYMBOLID;\n\tif(FAILED(Symbol->get_length(&length)))\n\t\treturn NULLSYMBOLID;\n\tTypeLen = sizeof(SDTYPE)+sizeof(SDTYPEDEFTYPE);\n\tpType=(SDTYPE*)new char [TypeLen];\n\ttdt=(SDTYPEDEFTYPE*)&pType[1];\n\tname = new char[TStrLen(TypeName)+1];\t\n\tTStrCpy(name,TypeName);\n\tLocalFree(TypeName);\n\tIDiaSymbol *TypeSymbol=NULL;\n\tif(FAILED(Symbol->get_type(&TypeSymbol))||TypeSymbol==NULL)\n\t\treturn NULLSYMBOLID;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tpType->SDTypeInfile.Size=TypeLen;\n\tpType->Self=tdt;\n\tpType->Symbol=Symbol;\n\tpType->SDTypeInfile.Type=SD_TYPEDEF;\n\tpType->SDTypeInfile.uName.Name= name;\n\tpType->SDTypeInfile.TypeSize=(DWORD)length;\t\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tm_TypeDefList.push_back(sl);\n\tSelfReleaseFlags=0;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tDWORD LocalReleaseFlags=1;\n\ttdt->TypeID = MakeSDType(TypeSymbol,&LocalReleaseFlags);\n\tSDTYPE*pSubType = GetSDTypeBySymbolID(tdt->TypeID);\n\tif(pSubType)\n\t\tpType->SDTypeInfile.TypeSize = pSubType->SDTypeInfile.TypeSize;\n\tif(LocalReleaseFlags)\n\t\tTypeSymbol->Release();\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n}\nDWORD CSourceDebug::MakeSDCustomType(IDiaSymbol* Symbol,DWORD *ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tBSTR TypeName=NULL;\n\tchar* name=NULL;\n\tSDTYPE* pType;\n\tULONGLONG length;\n\tDWORD SelfReleaseFlags=1;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tif(FAILED(Symbol->get_name(&TypeName)))\n\t\treturn NULLSYMBOLID;\n\tif(TypeName)\n\t{\n\t\tname = new char [TStrLen(TypeName)+1];\n\t\tTStrCpy(name,TypeName);\n\t\tLocalFree(TypeName);\n\t}\n\telse\n\t\tname=NULL;\n\tCTempSymbol\tTempSymbol(name,SymTagCustomType,0);\n\tm_TempSymbolIDIter = m_TempSymbolID.find(TempSymbol);\n\tif(m_TempSymbolIDIter!=m_TempSymbolID.end())\n\t{\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\n\t\tif(name)\n\t\t\tdelete []name;\n\t\treturn (*m_TempSymbolIDIter).second;\n\t}\n\n\tif(FAILED(Symbol->get_length(&length)))\n\t\treturn NULL;\n\tpType = new SDTYPE;\n\tpType->SDTypeInfile.TypeSize=(DWORD)length;\n\tpType->SDTypeInfile.Size=sizeof(SDTYPE);\n\tpType->Symbol=Symbol;\n\tpType->SDTypeInfile.uName.Name = name;\n\tpType->Self=NULL;\n\tpType->SDTypeInfile.Type = SD_CUSTOM;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tm_TempSymbolID.insert(SYMBOL_ID_MAP::value_type(TempSymbol,pType->SDTypeInfile.Id));\n\tm_TempSymbolIDIter = m_TempSymbolID.find(TempSymbol);\n\t((CTempSymbol &)(m_TempSymbolIDIter->first)).SetSDType(pType);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tSelfReleaseFlags=0;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n\n}\nDWORD CSourceDebug::MakeSDManagedType(IDiaSymbol* Symbol,DWORD* ReleaseFlags,SDTYPE** pTypeRetrun)\n{\n\tBSTR TypeName=NULL;\n\tchar* name=NULL;\n\tSDTYPE* pType;\n\tULONGLONG length;\n\tDWORD SelfReleaseFlags=1;\n\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=NULL;\n\tif(FAILED(Symbol->get_name(&TypeName)))\n\t\treturn NULLSYMBOLID;\n\tif(TypeName)\n\t{\n\t\tname = new char [TStrLen(TypeName)+1];\n\t\tTStrCpy(name,TypeName);\n\t\tLocalFree(TypeName);\n\t}\n\telse\n\t\tname=NULL;\n\tCTempSymbol\tTempSymbol(name,SymTagCustomType,0);\n\tm_TempSymbolIDIter = m_TempSymbolID.find(TempSymbol);\n\tif(m_TempSymbolIDIter!=m_TempSymbolID.end())\t\n\t{\n\t\tif(pTypeRetrun)\n\t\t\t*pTypeRetrun=GetSDTypeBySymbolID(m_TempSymbolIDIter->second);\n\t\tif(name)\n\t\t\tdelete []name;\n\t\treturn (*m_TempSymbolIDIter).second;\n\t}\n\n\tif(FAILED(Symbol->get_length(&length)))\n\t\treturn NULL;\n\tpType = new SDTYPE;\t\t\t\n\tpType->SDTypeInfile.TypeSize=(DWORD)length;\n\tpType->SDTypeInfile.Size=sizeof(SDTYPE);\n\tpType->Self=NULL;\n\tpType->SDTypeInfile.uName.Name = name;\n\tpType->SDTypeInfile.Type = SD_MANAGED;\n\tpType->SDTypeInfile.Id=m_CurrentSymbolIndex;\n\tm_CurrentSymbolIndex++;\n\tm_TempSymbolID.insert(SYMBOL_ID_MAP::value_type(TempSymbol,pType->SDTypeInfile.Id));\n\tm_TempSymbolIDIter = m_TempSymbolID.find(TempSymbol);\t\t\t\t\t\t\t\t\n\t((CTempSymbol &)(m_TempSymbolIDIter->first)).SetSDType(pType);\n\tm_IDToSymbolMap.insert(ID_TO_SYMBOL_MAP::value_type(pType->SDTypeInfile.Id,pType));\n\tSYMBOLLIST sl;\n\tsl.id=pType->SDTypeInfile.Id;\n\tsl.type=pType;\n\t//m_SymbolList.push_back(sl);\n\tm_SymbolList.insert( SD_SYMBOL_MAP::value_type(sl,sl.id));\n\tSelfReleaseFlags=0;\n\tif(ReleaseFlags)\n\t\t*ReleaseFlags=SelfReleaseFlags;\n\tif(pTypeRetrun)\n\t\t*pTypeRetrun=pType;\n\treturn pType->SDTypeInfile.Id;\n\n\n}\nbool CSourceDebug::IsUnnamedSDType(char *name)\n{\n\tchar unnamed[]=\"<unnamed-tag>\";\nchar unnamed1[]=\"__unnamed\";\n\tint i,j;\n\tint len1,len;\n\n\tif(name==NULL)\n\t\treturn false;\n\tlen = TStrLen(name);\n\tlen1 = TStrLen(unnamed);\n\tif(len==0||len<len1)\n\t\treturn false;\n\tfor(i = len-1,j=len1-1;j>=0;i--,j--)\n\t{\n\t\tif(name[i]!=unnamed[j])\n\t\t\treturn false;\n\t}\n\tif(i>0)\n\t\tif(name[i]!=':')\n\t\t\treturn false;\n\treturn true;\n}\n\nWCHAR* CSourceDebug::GetSDSymbolName(DWORD SymbolId,WCHAR *NameBuffer,DWORD *BufferLength)\n{\n\tSDTYPE* pType;\n\tID_TO_SYMBOL_MAP::iterator find = m_IDToSymbolMap.find(SymbolId);\n\tif(NameBuffer)\n\t\tNameBuffer[0]=0;\n\tpType = GetSDTypeBySymbolID(SymbolId);\n\tif(pType==NULL)\n\t\treturn NULL;\n\treturn GetSDSymbolName(pType,NameBuffer,BufferLength);\n}\nSDTYPE* CSourceDebug::GetSDTypeBySymbolID(DWORD SymbolId)\n{\n\t//SDSymbolList::iterator FindIT;\n\tSD_SYMBOL_MAP::iterator FindIT;\n\tSYMBOLLIST SymbolValue;\n\tSymbolValue.id = SymbolId;\n\tFindIT = m_SymbolList.find(SymbolValue);\n\tif(FindIT!=m_SymbolList.end())\n\t\treturn (*FindIT).first.type;//->type;\n\treturn NULL;\n}\nSDUDTDATAITEM* CSourceDebug::GetSDDateTypeBySymbolID(DWORD DataId)\n{\n\tif(DataId>=m_DataTagVector.size())\n\t\treturn NULL;\n\treturn m_DataTagVector[DataId];\n}\nPSDFUNCTIONITEM CSourceDebug::GetSDFunctionByID(DWORD FunctionId)\n{\n\tFUNCTION_ID_MAP::iterator BeginIT,EndIT;\n\tBeginIT = m_FuntionID.begin();\n\tEndIT = m_FuntionID.end();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif((*BeginIT).first.pFuncItem->ID==FunctionId)\n\t\t\treturn (*BeginIT).first.pFuncItem;\n\t}\n\treturn NULL;\n}\nchar *CSourceDebug::GetSDSymbolName(DWORD SymbolId)\n{\t\n\tWCHAR *Buf=NULL;\n\tDWORD len;\n\tchar *Name=NULL;\n\tDWORD BufferLength=0x2000;\n\tBuf = new WCHAR[BufferLength];\n\tGetSDSymbolName(SymbolId,Buf,&BufferLength);\n\tlen = TStrLen(Buf);\n\tif(len == 0)\n\t{\n\t\tdelete []Buf;\n\t\treturn NULL;\n\t}\n\tName = new char[len+1];\n\tTStrCpy(Name,Buf);\n\tdelete []Buf;\n\treturn Name;\n}\n\nchar* CSourceDebug::GetFunctionName(IN PSDFUNCTIONITEM pFuncItem,OUT char* NameBuffer,INOUT int* BufferLength)\n{\t\t\t\n\tint dwCurrentLen=0;\n\tSDTYPE *pSubType=NULL;\n\tchar pVirtual[]=\"virtual \";\n\tint len;\n\tchar pFuncEnd[5]=\")\";\n\tchar* CallConventionName;\n\n\tNameBuffer[0]=0;\n\tif(pFuncItem->IsVirtual)\n\t{\n\t\tdwCurrentLen = TStrLen(pVirtual);\n\t\tif(*BufferLength >dwCurrentLen)\n\t\t\tTStrCpy(NameBuffer,pVirtual);\n\t\t(*BufferLength) = (*BufferLength) - dwCurrentLen;\n\t}\n\tif(pFuncItem->TypeIDReturnValue)\n\t\tGetSDSymbolName(pFuncItem->TypeIDReturnValue,&NameBuffer[dwCurrentLen],BufferLength);\n\tif(pFuncItem->TypeID)\n\t{\n\t\tpSubType=GetSDTypeBySymbolID(pFuncItem->TypeID);\n\t\tif(pSubType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t{\n\t\t\tSDFUNCTIONTYPE* pFunctionType = (SDFUNCTIONTYPE*)pSubType->Self;\n\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\tdwCurrentLen = TStrLen(CallConventionName);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,CallConventionName);\n\t\t\t*BufferLength=*BufferLength-dwCurrentLen;\n\t\t}\n\t}\n\t\n\t\n\tdwCurrentLen = TStrLen(pFuncItem->uName.Name);\n\tif(*BufferLength > dwCurrentLen)\n\t\tTStrCat(NameBuffer,pFuncItem->uName.Name);\n\t(*BufferLength) = (*BufferLength) - dwCurrentLen;\n\tif(*BufferLength > 1)\n\t\tTStrCat(NameBuffer,\"(\");\n\t(*BufferLength)--;\n\t\n\tfor(DWORD i = 0; i < pFuncItem->DataCounter; i++)\n\t{\n\t\tSDUDTDATAITEM* pUdtDataItem= GetSDDateTypeBySymbolID(pFuncItem->pData.pDataMember[i]);\n\t\tif(pUdtDataItem->KindData==DataIsParam)\n\t\t{\n\t\t\tlen = TStrLen(NameBuffer);\n\t\t\tGetSDSymbolName(pUdtDataItem->TypeId,&NameBuffer[len],BufferLength);\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\" \");\n\t\t\t(*BufferLength)--;\n\t\t\tdwCurrentLen = TStrLen(pUdtDataItem->uName.Name);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,pUdtDataItem->uName.Name);\n\t\t\t(*BufferLength)=(*BufferLength)-dwCurrentLen;\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\",\");\n\t\t\t(*BufferLength)--;\n\t\t}\n\t}\n\tlen = TStrLen(NameBuffer);\n\tif(NameBuffer[len-1]==',')\n\t\tNameBuffer[len-1]=0;\n\tif(pFuncItem->IsPure)\n\t\tTStrCpy(pFuncEnd,\")=0\");\n\tdwCurrentLen = TStrLen(pFuncEnd);\n\tif(*BufferLength>dwCurrentLen)\n\t\tTStrCat(NameBuffer,pFuncEnd);\n\t(*BufferLength)=(*BufferLength)-dwCurrentLen;\n\treturn NameBuffer;\n}\n\nchar* CSourceDebug::GetSDSymbolName(IN PSDTYPE pType,OUT char *NameBuffer,INOUT int *BufferLength)\n{\n\treturn GetSDSymbolName(&pType->SDTypeInfile,NameBuffer,BufferLength);\n}\nchar* CSourceDebug::GetSDSymbolName(IN DWORD SymbolId,OUT char *NameBuffer,INOUT int *BufferLength)\n{\n\tSDTYPE* pType;\n\tSYMBOLLIST SymbolValue;\n\t//SDSymbolList::iterator FindIT;\n\tSD_SYMBOL_MAP::iterator FindIT;\n\tif(NameBuffer)\n\t\tNameBuffer[0]=0;\n\tSymbolValue.id = SymbolId;\n\tFindIT = m_SymbolList.find(SymbolValue);\n\tif(FindIT==m_SymbolList.end())\n\t\treturn NameBuffer;\n\tpType = (*FindIT).first.type;\n\treturn GetSDSymbolName(pType,NameBuffer,BufferLength);\n}\nSDCALLCONVENTIONPAIR CSourceDebug::m_CallConvention[24]=\n{\n\t{0xffffffff,\" Unknown calling convention in function \"},\n\t{CV_CALL_NEAR_C,\" __cdecl \"}, \n\t{CV_CALL_NEAR_FAST,\" __fastcall \"}, \n\t{CV_CALL_NEAR_STD,\" __stdcall \"},    \n\t{CV_CALL_NEAR_SYS,\" __syscall \"},    \n\t{CV_CALL_THISCALL,\" __thiscall \"},    \n\t{CV_CALL_MIPSCALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_GENERIC,\" Unknown calling convention in function \"},    \n\t{CV_CALL_ALPHACALL,\" Unknown calling convention in function \"},   \n\t{CV_CALL_PPCCALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_SHCALL,\" Unknown calling convention in function \"},      \n\t{CV_CALL_ARMCALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_AM33CALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_TRICALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_SH5CALL,\" Unknown calling convention in function \"},     \n\t{CV_CALL_M32RCALL,\" Unknown calling convention in function \"},    \n\t{CV_CALL_RESERVED,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_C,\" Unknown calling convention in function \"},       \n\t{CV_CALL_NEAR_PASCAL,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_PASCAL,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_FAST,\" Unknown calling convention in function \"},  \n\t{CV_CALL_SKIPPED,\" Unknown calling convention in function \"},\n\t{CV_CALL_FAR_STD,\" Unknown calling convention in function \"}, \n\t{CV_CALL_FAR_SYS,\" Unknown calling convention in function \"},     \n};\nchar* CSourceDebug::GetCallConventionName(DWORD dwType)\n{\n\tint i;\n\tif(dwType>=sizeof(m_CallConvention)/sizeof(m_CallConvention[0]))\n\t\treturn m_CallConvention[0].Name;\n\tfor(i = 0; i < sizeof(m_CallConvention)/sizeof(m_CallConvention[0]);i++)\n\t\tif(m_CallConvention[i].Type==dwType)\n\t\t\treturn m_CallConvention[i].Name;\n\treturn m_CallConvention[0].Name;\n}\nchar* CSourceDebug::GetSDSymbolName(IN PSDTYPE_INFILE SDTypeInfile,OUT char *NameBuffer,INOUT int *BufferLength)\n{\n\tSDTYPE *SelfType;\n\t\n\tchar TypeName[50];//={0};\n\tint dwOrgBufferLen=*BufferLength;\n\tint dwCurrentLen;\n\tint len=0;\t\n\t//SDTYPE *pSubType;\n\tchar* CallConventionName;\n\tif(NameBuffer)\n\t\tNameBuffer[0]=0;\n\tif(SDTypeInfile==NULL)\n\t\treturn NameBuffer;\t\n\tswitch(SDTypeInfile->Type) \n\t{\n\tcase SD_FUNCTIONTYPE:\n\t\t{\t\n\t\t\tSDFUNCTIONTYPE* pFunctionType= (SDFUNCTIONTYPE*)&SDTypeInfile[1];\n\t\t\tGetSDSymbolName(pFunctionType->TypeIDReturnValue,NameBuffer,BufferLength);\n\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\tdwCurrentLen = TStrLen(CallConventionName);\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t\tTStrCat(NameBuffer,CallConventionName);\n\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\"(\");\n\t\t\t(*BufferLength)--;\n\t\t\tlen = TStrLen(NameBuffer);\n\t\t\tfor(DWORD  i = 0; i< pFunctionType->ArgsCount;i++)\n\t\t\t{\n\t\t\t\tlen = TStrLen(NameBuffer);\n\t\t\t\tGetSDSymbolName(pFunctionType->TypeIDArgs[i],&NameBuffer[len],BufferLength);\n\t\t\t\tlen = TStrLen(NameBuffer);\n\t\t\t\tif(i!=pFunctionType->ArgsCount-1)\n\t\t\t\t{\n\t\t\t\t\tif(*BufferLength>1)\n\t\t\t\t\t{\n\t\t\t\t\t\tTStrCat(&NameBuffer[len],\",\");\n\t\t\t\t\t\tlen++;\n\t\t\t\t\t}\n\t\t\t\t\t(*BufferLength)--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(*BufferLength>1)\n\t\t\t{\n\t\t\t\tTStrCat(&NameBuffer[len],\")\");\n\t\t\t}\n\t\t\t(*BufferLength)--;\n\t\t}\n\t\treturn NameBuffer;\t\t\n\tcase SD_POINTER:\n\t\t{\t\t\n\t\t\tSDPOINTERTYPE* pPointerType;\n\t\t\tint MaxBufferLen=*BufferLength;\n\t\t\tCStrA TmpBuf;\n\n\t\t\tpPointerType = (SDPOINTERTYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetSDTypeBySymbolID(pPointerType->TypeID);\n\t\t\tGetSDSymbolName(pPointerType->TypeID,NameBuffer,BufferLength);\n\t\t\tdwCurrentLen = pPointerType->PointerDepth;\n\t\t\tTmpBuf.Fill('*',dwCurrentLen);\n\t\t\tif(SelfType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t\t\tdwCurrentLen+=2;\n\t\t\tif(*BufferLength<=dwCurrentLen)\n\t\t\t{\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t\treturn NameBuffer;\n\t\t\t}\n\t\t\t\n\t\t\tif(SelfType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t\t{\t\t\t\t\t\n\t\t\t\tPSDFUNCTIONTYPE pFunctionType = (PSDFUNCTIONTYPE)&SelfType[1];\n\t\t\t\tchar *NewName;\n\t\t\t\tchar* pCallConvention;\n\t\t\t\tDWORD len;\n\t\t\t\tchar NullChar=0;\n\t\t\t\tchar * pFunc;\n\t\t\t\tNewName = new char[MaxBufferLen];\n\t\t\t\tTStrCpy(NewName,NameBuffer);\n\t\t\t\tCallConventionName = GetCallConventionName(pFunctionType->CallingConvention);\n\t\t\t\tpCallConvention = TStrStr(NameBuffer,CallConventionName);\n\t\t\t\tpFunc =GetFuncParamBegin(NewName);\n\t\t\t\tif(pCallConvention==NULL)\n\t\t\t\t{\n\t\t\t\t\tpCallConvention = &NullChar;\n\t\t\t\t\tlen = (*(DWORD*)&pFunc-*(DWORD*)&NewName);\n\t\t\t\t}else\n\t\t\t\t\tlen = (*(DWORD*)&pCallConvention-*(DWORD*)&NameBuffer);\n\t\t\t\tNameBuffer[len]='(';\n\t\t\t\tlen++;\n\t\t\t\tlen+=TStrCpy(&NameBuffer[len],CallConventionName);\n\t\t\t\tTStrCpy(&NameBuffer[len],(char*)TmpBuf);\n\t\t\t\tTStrCat(NameBuffer,\")\");\n\t\t\t\tTStrCat(NameBuffer,pFunc);\n\t\t\t\tdelete NewName;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCat(NameBuffer,(char*)TmpBuf);\n\t\t\t}\n\t\t\t\n\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\treturn NameBuffer;\n\t\t}\t\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\t{\t\t\n\t\t\tSDREFERENCETYPE*pReferenceType;\n\t\t\tpReferenceType = (SDREFERENCETYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetSDTypeBySymbolID(pReferenceType->TypeID);\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tif(*BufferLength>1)\n\t\t\t\tTStrCat(NameBuffer,\"&\");\n\t\t\t*BufferLength--;\n\t\t}\t\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\t{\n\t\t\tSDARRAYTYPE* pArrayType;\n\t\t\tbool bFunctionPointer=false;\n\t\t\tchar DigBuf[30];\n\t\t\t\n\t\t\tCStrA StrBufA;\n\t\t\tpArrayType = (SDARRAYTYPE*)&SDTypeInfile[1];\n\t\t\tSelfType = GetSDTypeBySymbolID(pArrayType->TypeIDElement);\n\t\t\tif(SelfType==NULL)\n\t\t\t\treturn NameBuffer;\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tbFunctionPointer=IsFunctionPointer(SelfType);\n\t\t\tdwCurrentLen=0;\n\t\t\tfor(DWORD  i = 0; i < pArrayType->DimensionsSize; i++)\n\t\t\t{\n\t\t\t\tdwCurrentLen += TSPrintf(DigBuf,\"%d\",pArrayType->Dimensions[i].Size);\n\t\t\t\tdwCurrentLen+=2;\n\t\t\t\tStrBufA+=\"[\";\n\t\t\t\tStrBufA+=DigBuf;\n\t\t\t\tStrBufA+=\"]\";\n\t\t\t}\n\t\t\tif(*BufferLength>dwCurrentLen)\n\t\t\t{\n\t\t\t\tif(bFunctionPointer)\n\t\t\t\t{\n\t\t\t\t\tCStrA pFuncParam;\n\t\t\t\t\tchar* pFunc = GetFuncParamBegin(NameBuffer);\n\t\t\t\t\tpFuncParam = pFunc;\n\t\t\t\t\tpFunc--;\n\t\t\t\t\tpFunc[0]=0;\n\t\t\t\t\tTStrCat(NameBuffer,(char*)StrBufA);\n\t\t\t\t\tTStrCat(NameBuffer,\")\");\n\t\t\t\t\tTStrCat(NameBuffer,(char*)pFuncParam);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\tTStrCat(NameBuffer,(char*)StrBufA);\n\t\t\t}\n\t\t\t\n\t\t\t*BufferLength = *BufferLength-dwCurrentLen;\n\t\t\treturn NameBuffer;\n\t\t}\n\t\tbreak;\n\tcase SD_BASECLASS:\n\t\t{\n\t\t\tSDUDTBASECLASS* pUdtBaseClassType= (SDUDTBASECLASS*)&SDTypeInfile[1];\n\t\t\treturn \tGetSDSymbolName(pUdtBaseClassType->TypeID,NameBuffer,BufferLength);\n\t\t}\n\tcase SD_ENUMERATION:\n\t\tTStrCpy(TypeName,\"enum \" NTOSKRNLVER);\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\tgoto local_002;\n\tcase SD_CLASS:\n\t\tTStrCpy(TypeName,\"class \" NTOSKRNLVER);\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\tgoto local_002;\n\tcase SD_STRUCT:\n\t\tTStrCpy(TypeName,\"struct \" NTOSKRNLVER);\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\t\tgoto local_002;\n\tcase SD_UNION:\n\t\tTStrCpy(TypeName,\"union \" NTOSKRNLVER);\n\t\tlen = TStrLen(TypeName);\n\t\tif(*BufferLength>len)\n\t\t\tTStrCpy(NameBuffer,TypeName);\n\t\t*BufferLength-=len;\n\tdefault:\nlocal_002:\n\t\t{\n\t\t\tif(SDTypeInfile->uName.Name)\n\t\t\t{\n\t\t\t\tdwCurrentLen = TStrLen(SDTypeInfile->uName.Name);\n\t\t\t\tif(dwCurrentLen<*BufferLength)\n\t\t\t\t\tTStrCpy(&NameBuffer[len],SDTypeInfile->uName.Name);\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdwCurrentLen = TStrLen(\"no name\");\n\t\t\t\tif(dwCurrentLen<*BufferLength)\n\t\t\t\t\tTStrCpy(&NameBuffer[len],\"no name\");\n\t\t\t\t*BufferLength-=dwCurrentLen;\n\t\t\t}\n\t\t}\n\t}\n\treturn NameBuffer;\n}\n\nWCHAR* CSourceDebug::GetSDSymbolName(SDTYPE* pType,WCHAR *NameBuffer,DWORD *BufferLength,OUT DWORD* ReturnLength)\n{\n\tSDTYPE *SelfType;\n\tif(NameBuffer)\n\t\tNameBuffer[0]=0;\n\tif(pType==NULL)\n\t\treturn NULL;\t\n\tswitch(pType->SDTypeInfile.Type) \n\t{\n\tcase SD_FUNCTIONTYPE:\n\t\t{\n\t\t\tint len;\n\t\t\tSDFUNCTIONTYPE* pFunctionType= (SDFUNCTIONTYPE*)pType->Self;\n\t\t\tGetSDSymbolName(pFunctionType->TypeIDReturnValue,NameBuffer,BufferLength);\n\t\t\tswitch(pFunctionType->CallingConvention)\n\t\t\t{\n\t\t\t\tcase CV_CALL_NEAR_C:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" __cdecl \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_CALL_NEAR_FAST:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" __fastcall \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_CALL_NEAR_STD:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" __stdcall \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_CALL_NEAR_SYS:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" __syscall \"));\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_CALL_THISCALL:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" __thiscall \"));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tTStrCat(NameBuffer,WSTR(\" Unknown calling convention in function \"));\t\t\t\t\t\n\t\t\t}\n\t\t\tlen = TStrLen(NameBuffer);\t\t\t\n\t\t\tTStrCat(&NameBuffer[len],WSTR(\"(\"));\n\t\t\tlen++;\n\t\t\tfor(unsigned int  i = 0; i< pFunctionType->ArgsCount;i++)\n\t\t\t{\n\t\t\t\tGetSDSymbolName(pFunctionType->TypeIDArgs[i],&NameBuffer[len],BufferLength);\n\t\t\t\tlen = TStrLen(NameBuffer);\n\t\t\t\tTStrCat(&NameBuffer[len],WSTR(\",\"));\n\t\t\t\tlen++;\n\t\t\t}\n\t\t\tif(pFunctionType->ArgsCount)\n\t\t\t\tNameBuffer[len-1]=')';\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCat(&NameBuffer[len],WSTR(\")\"));\n\t\t\t\tlen++;\n\t\t\t}\n\t\t}\n\t\treturn NameBuffer;\t\t\n\tcase SD_POINTER:\n\t\t{\t\t\n\t\t\tunsigned int  i;\n\t\t\tSDPOINTERTYPE* pPointerType;\n\t\t\tpPointerType = (SDPOINTERTYPE*)pType->Self;\n\t\t\tID_TO_SYMBOL_MAP::iterator find = m_IDToSymbolMap.find(pPointerType->TypeID);\n\t\t\tif(find==m_IDToSymbolMap.end())\n\t\t\t\treturn NULL;\n\t\t\tSelfType = find->second;\t\t\t\n\t\t\tGetSDSymbolName(pPointerType->TypeID,NameBuffer,BufferLength);\n\t\t\tWCHAR Buf[10];\n\t\t\tWCHAR*pBuf=Buf;\n\t\t\tif(pPointerType->PointerDepth>sizeof(Buf)/sizeof(Buf[0]) - 1)\n\t\t\t{\n\t\t\t\tpBuf= new WCHAR[pPointerType->PointerDepth+1];\n\t\t\t}\n\t\t\tfor(i = 0; i < pPointerType->PointerDepth;i++)\n\t\t\t{\n\t\t\t\tpBuf[i]='*';\n\t\t\t}\n\t\t\tpBuf[i]=0;\n\t\t\tif(SelfType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t\t{\t\t\t\t\t\t\t\t\n\t\t\t\tWCHAR *NewName;\n\t\t\t\tWCHAR c='(';\n\t\t\t\tNewName = new WCHAR[*BufferLength];\n\t\t\t\tTStrCpy(NewName,NameBuffer);\n\t\t\t\tWCHAR * pFunc =TStrChr(NameBuffer,c);\n\t\t\t\tif(pFunc==NULL)\n\t\t\t\t{\n\t\t\t\t\tif(pBuf!=&Buf[0])\n\t\t\t\t\t\tdelete pBuf;\n\t\t\t\t\tdelete []NewName;\n\t\t\t\t\treturn NameBuffer;\n\t\t\t\t}\n\t\t\t\tDWORD len = (*(DWORD*)&pFunc-*(DWORD*)&NameBuffer);\n\t\t\t\tlen = len / sizeof(WCHAR);\n\t\t\t\tNameBuffer[len]='(';\t\t\t\t\n\t\t\t\tTStrCpy(&NameBuffer[len+1],pBuf);\n\t\t\t\tTStrCat(NameBuffer,WSTR(\")\"));\n\t\t\t\tTStrCat(NameBuffer,&NewName[len]);\n\t\t\t\tdelete NewName;\n\t\t\t}\n\t\t\telse\n\t\t\t\tTStrCat(NameBuffer,pBuf);\n\t\t\tif(pBuf!=&Buf[0])\n\t\t\t\tdelete pBuf;\n\t\t\treturn NameBuffer;\n\t\t}\t\n\t\tbreak;\n\tcase SD_REFERENCE:\n\t\t{\t\t\n\t\t\tSDREFERENCETYPE*pReferenceType;\n\t\t\tpReferenceType = (SDREFERENCETYPE*)pType->Self;\n\t\t\tID_TO_SYMBOL_MAP::iterator find = m_IDToSymbolMap.find(pReferenceType->TypeID);\n\t\t\tif(find==m_IDToSymbolMap.end())\n\t\t\t\treturn NULL;\n\t\t\tSelfType = find->second;\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tTStrCat(NameBuffer,WSTR(\"&\"));\n\t\t}\t\n\t\tbreak;\n\tcase SD_ARRAY:\n\t\t{\n\t\t\tSDARRAYTYPE* pArrayType;\n\t\t\tpArrayType = (SDARRAYTYPE*)pType->Self;\n\t\t\tID_TO_SYMBOL_MAP::iterator find = m_IDToSymbolMap.find(pArrayType->TypeIDElement);\n\t\t\tif(find==m_IDToSymbolMap.end())\n\t\t\t\treturn NULL;\n\t\t\tSelfType = find->second;\n\t\t\tGetSDSymbolName(SelfType,NameBuffer,BufferLength);\n\t\t\tWCHAR DigBuf[10];\n\t\t\tfor(unsigned int  i = 0; i <pArrayType->DimensionsSize;i++)\n\t\t\t{\n\t\t\t\tTSPrintf(DigBuf,WSTR(\"%d\"),pArrayType->Dimensions[i].Size);\n\t\t\t\tTStrCat(NameBuffer,WSTR(\"[\"));\n\t\t\t\tTStrCat(NameBuffer,DigBuf);\n\t\t\t\tTStrCat(NameBuffer,WSTR(\"]\"));\n\t\t\t}\n\t\t\treturn NameBuffer;\n\t\t}\n\t\tbreak;\n\tcase SD_BASECLASS:\n\t\t{\n\t\t\tSDUDTBASECLASS* pUdtBaseClassType= (SDUDTBASECLASS*)pType->Self;\n\t\t\treturn \tGetSDSymbolName(pUdtBaseClassType->TypeID,NameBuffer,BufferLength);\n\t\t}\t\t\n\tdefault:\n\t\t{\n\t\t\tif(pType->SDTypeInfile.uName.Name)\n\t\t\t{\n\t\t\t\tTStrCpy(NameBuffer,pType->SDTypeInfile.uName.Name);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCpy(NameBuffer,WSTR(\"no name\"));\n\t\t\t}\n\t\t\treturn NameBuffer;\n\t\t}\n\t}\n\treturn NULL;\n}\n\n/*\nSDBASETYPENAME BaseTypeNameStruct[27]=\n{\n\t{btNoType,\"NoType\"},\n\t{btVoid,\"void\"},\n\t{btChar,\"char\"},\n\t{btWChar,\"wchar\"},\n\t{btInt,\"short\"},\n\t{btInt1,\"char\"},\n\t{btInt2,\"short\"},\n\t{btInt4,\"int\"},\n\t{btInt8,\"__int64\"},\n\t{btUInt,\"unsigned short int\"},\n\t{btUint1,\"unsigned char\"},\n\t{btUint2,\"unsigned short\"},\n\t{btUint4,\"unsigned int\"},\n\t{btUint8,\"unsigned __int64\"},\n\t{btFloat,\"float\"},\n\t{btDouble,\"double\"},\n\t{btBCD,\"BCD\"},\n\t{btBool,\"bool\"},\n\t{btLong,\"long\"},\n\t{btULong,\"unsigned long\"},\n\t{btCurrency,\"Currency\"},\n\t{btDate,\"date\"},\n\t{btVariant,\"variant\"},\n\t{btComplex,\"complex\"},\n\t{btBit,\"bit\"},\n\t{btBSTR,\"BSTR\"},\n\t{btHresult,\"HRESULT\"},\n};\nDWORD GetBaseTypeIdByName(char*Name)\n{\n\tDWORD i,Count = sizeof(BaseTypeNameStruct)/sizeof(BaseTypeNameStruct[0]);\n\tfor(i = 0; i < Count; i++)\n\t{\n\t\tif(TStrCmp(BaseTypeNameStruct[i].Name,Name)==0)\n\t\t\treturn BaseTypeNameStruct[i].Type;\n\t}\n\treturn 0;\n}\n*/\nWCHAR* CSourceDebug::GetRegisterNameById(DWORD RegId)\n{\n\tCV_HREG_eName RegName[]=\n\t{\n\t\t{WSTR(\"CV_REG_NONE     \"),CV_REG_NONE     },\n\t\t{WSTR(\"CV_REG_AL       \"),CV_REG_AL       },\n\t\t{WSTR(\"CV_REG_CL       \"),CV_REG_CL       },\n\t\t{WSTR(\"CV_REG_DL       \"),CV_REG_DL       },\n\t\t{WSTR(\"CV_REG_BL       \"),CV_REG_BL       },\n\t\t{WSTR(\"CV_REG_AH       \"),CV_REG_AH       },\n\t\t{WSTR(\"CV_REG_CH       \"),CV_REG_CH       },\n\t\t{WSTR(\"CV_REG_DH       \"),CV_REG_DH       },\n\t\t{WSTR(\"CV_REG_BH       \"),CV_REG_BH       },\n\t\t{WSTR(\"CV_REG_AX       \"),CV_REG_AX       },\n\t\t{WSTR(\"CV_REG_CX       \"),CV_REG_CX       },\n\t\t{WSTR(\"CV_REG_DX       \"),CV_REG_DX       },\n\t\t{WSTR(\"CV_REG_BX       \"),CV_REG_BX       },\n\t\t{WSTR(\"CV_REG_SP       \"),CV_REG_SP       },\n\t\t{WSTR(\"CV_REG_BP       \"),CV_REG_BP       },\n\t\t{WSTR(\"CV_REG_SI       \"),CV_REG_SI       },\n\t\t{WSTR(\"CV_REG_DI       \"),CV_REG_DI       },\n\t\t{WSTR(\"CV_REG_EAX      \"),CV_REG_EAX      },\n\t\t{WSTR(\"CV_REG_ECX      \"),CV_REG_ECX      },\n\t\t{WSTR(\"CV_REG_EDX      \"),CV_REG_EDX      },\n\t\t{WSTR(\"CV_REG_EBX      \"),CV_REG_EBX      },\n\t\t{WSTR(\"CV_REG_ESP      \"),CV_REG_ESP      },\n\t\t{WSTR(\"CV_REG_EBP      \"),CV_REG_EBP      },\n\t\t{WSTR(\"CV_REG_ESI      \"),CV_REG_ESI      },\n\t\t{WSTR(\"CV_REG_EDI      \"),CV_REG_EDI      },\n\t\t{WSTR(\"CV_REG_ES       \"),CV_REG_ES       },\n\t\t{WSTR(\"CV_REG_CS       \"),CV_REG_CS       },\n\t\t{WSTR(\"CV_REG_SS       \"),CV_REG_SS       },\n\t\t{WSTR(\"CV_REG_DS       \"),CV_REG_DS       },\n\t\t{WSTR(\"CV_REG_FS       \"),CV_REG_FS       },\n\t\t{WSTR(\"CV_REG_GS       \"),CV_REG_GS       },\n\t\t{WSTR(\"CV_REG_IP       \"),CV_REG_IP       },\n\t\t{WSTR(\"CV_REG_FLAGS    \"),CV_REG_FLAGS    },\n\t\t{WSTR(\"CV_REG_EIP      \"),CV_REG_EIP      },\n\t\t{WSTR(\"CV_REG_EFLAGS   \"),CV_REG_EFLAGS   },\n\t\t{WSTR(\"CV_REG_TEMP     \"),CV_REG_TEMP     },\n\t\t{WSTR(\"CV_REG_TEMPH    \"),CV_REG_TEMPH    },\n\t\t{WSTR(\"CV_REG_QUOTE    \"),CV_REG_QUOTE    },\n\t\t{WSTR(\"CV_REG_PCDR3    \"),CV_REG_PCDR3    },\n\t\t{WSTR(\"CV_REG_PCDR4    \"),CV_REG_PCDR4    },\n\t\t{WSTR(\"CV_REG_PCDR5    \"),CV_REG_PCDR5    },\n\t\t{WSTR(\"CV_REG_PCDR6    \"),CV_REG_PCDR6    },\n\t\t{WSTR(\"CV_REG_PCDR7    \"),CV_REG_PCDR7    },\n\t\t{WSTR(\"CV_REG_CR0      \"),CV_REG_CR0      },\n\t\t{WSTR(\"CV_REG_CR1      \"),CV_REG_CR1      },\n\t\t{WSTR(\"CV_REG_CR2      \"),CV_REG_CR2      },\n\t\t{WSTR(\"CV_REG_CR3      \"),CV_REG_CR3      },\n\t\t{WSTR(\"CV_REG_CR4      \"),CV_REG_CR4      },\n\t\t{WSTR(\"CV_REG_DR0      \"),CV_REG_DR0      },\n\t\t{WSTR(\"CV_REG_DR1      \"),CV_REG_DR1      },\n\t\t{WSTR(\"CV_REG_DR2      \"),CV_REG_DR2      },\n\t\t{WSTR(\"CV_REG_DR3      \"),CV_REG_DR3      },\n\t\t{WSTR(\"CV_REG_DR4      \"),CV_REG_DR4      },\n\t\t{WSTR(\"CV_REG_DR5      \"),CV_REG_DR5      },\n\t\t{WSTR(\"CV_REG_DR6      \"),CV_REG_DR6      },\n\t\t{WSTR(\"CV_REG_DR7      \"),CV_REG_DR7      },\n\t\t{WSTR(\"CV_REG_GDTR     \"),CV_REG_GDTR     },\n\t\t{WSTR(\"CV_REG_GDTL     \"),CV_REG_GDTL     },\n\t\t{WSTR(\"CV_REG_IDTR     \"),CV_REG_IDTR     },\n\t\t{WSTR(\"CV_REG_IDTL     \"),CV_REG_IDTL     },\n\t\t{WSTR(\"CV_REG_LDTR     \"),CV_REG_LDTR     },\n\t\t{WSTR(\"CV_REG_TR       \"),CV_REG_TR       },\n\t\t{WSTR(\"CV_REG_PSEUDO1  \"),CV_REG_PSEUDO1  },\n\t\t{WSTR(\"CV_REG_PSEUDO2  \"),CV_REG_PSEUDO2  },\n\t\t{WSTR(\"CV_REG_PSEUDO3  \"),CV_REG_PSEUDO3  },\n\t\t{WSTR(\"CV_REG_PSEUDO4  \"),CV_REG_PSEUDO4  },\n\t\t{WSTR(\"CV_REG_PSEUDO5  \"),CV_REG_PSEUDO5  },\n\t\t{WSTR(\"CV_REG_PSEUDO6  \"),CV_REG_PSEUDO6  },\n\t\t{WSTR(\"CV_REG_PSEUDO7  \"),CV_REG_PSEUDO7  },\n\t\t{WSTR(\"CV_REG_PSEUDO8  \"),CV_REG_PSEUDO8  },\n\t\t{WSTR(\"CV_REG_PSEUDO9  \"),CV_REG_PSEUDO9  },\n\t\t{WSTR(\"CV_REG_ST0      \"),CV_REG_ST0      },\n\t\t{WSTR(\"CV_REG_ST1      \"),CV_REG_ST1      },\n\t\t{WSTR(\"CV_REG_ST2      \"),CV_REG_ST2      },\n\t\t{WSTR(\"CV_REG_ST3      \"),CV_REG_ST3      },\n\t\t{WSTR(\"CV_REG_ST4      \"),CV_REG_ST4      },\n\t\t{WSTR(\"CV_REG_ST5      \"),CV_REG_ST5      },\n\t\t{WSTR(\"CV_REG_ST6      \"),CV_REG_ST6      },\n\t\t{WSTR(\"CV_REG_ST7      \"),CV_REG_ST7      },\n\t\t{WSTR(\"CV_REG_CTRL     \"),CV_REG_CTRL     },\n\t\t{WSTR(\"CV_REG_STAT     \"),CV_REG_STAT     },\n\t\t{WSTR(\"CV_REG_TAG      \"),CV_REG_TAG      },\n\t\t{WSTR(\"CV_REG_FPIP     \"),CV_REG_FPIP     },\n\t\t{WSTR(\"CV_REG_FPCS     \"),CV_REG_FPCS     },\n\t\t{WSTR(\"CV_REG_FPDO     \"),CV_REG_FPDO     },\n\t\t{WSTR(\"CV_REG_FPDS     \"),CV_REG_FPDS     },\n\t\t{WSTR(\"CV_REG_ISEM     \"),CV_REG_ISEM     },\n\t\t{WSTR(\"CV_REG_FPEIP    \"),CV_REG_FPEIP    },\n\t\t{WSTR(\"CV_REG_FPEDO    \"),CV_REG_FPEDO    },\n\t\t{WSTR(\"CV_REG_MM0      \"),CV_REG_MM0      },\n\t\t{WSTR(\"CV_REG_MM1      \"),CV_REG_MM1      },\n\t\t{WSTR(\"CV_REG_MM2      \"),CV_REG_MM2      },\n\t\t{WSTR(\"CV_REG_MM3      \"),CV_REG_MM3      },\n\t\t{WSTR(\"CV_REG_MM4      \"),CV_REG_MM4      },\n\t\t{WSTR(\"CV_REG_MM5      \"),CV_REG_MM5      },\n\t\t{WSTR(\"CV_REG_MM6      \"),CV_REG_MM6      },\n\t\t{WSTR(\"CV_REG_MM7      \"),CV_REG_MM7      },\n\t\t{WSTR(\"CV_REG_XMM0     \"),CV_REG_XMM0     },\n\t\t{WSTR(\"CV_REG_XMM1     \"),CV_REG_XMM1     },\n\t\t{WSTR(\"CV_REG_XMM2     \"),CV_REG_XMM2     },\n\t\t{WSTR(\"CV_REG_XMM3     \"),CV_REG_XMM3     },\n\t\t{WSTR(\"CV_REG_XMM4     \"),CV_REG_XMM4     },\n\t\t{WSTR(\"CV_REG_XMM5     \"),CV_REG_XMM5     },\n\t\t{WSTR(\"CV_REG_XMM6     \"),CV_REG_XMM6     },\n\t\t{WSTR(\"CV_REG_XMM7     \"),CV_REG_XMM7     },\n\t\t{WSTR(\"CV_REG_XMM00    \"),CV_REG_XMM00    },\n\t\t{WSTR(\"CV_REG_XMM01    \"),CV_REG_XMM01    },\n\t\t{WSTR(\"CV_REG_XMM02    \"),CV_REG_XMM02    },\n\t\t{WSTR(\"CV_REG_XMM03    \"),CV_REG_XMM03    },\n\t\t{WSTR(\"CV_REG_XMM10    \"),CV_REG_XMM10    },\n\t\t{WSTR(\"CV_REG_XMM11    \"),CV_REG_XMM11    },\n\t\t{WSTR(\"CV_REG_XMM12    \"),CV_REG_XMM12    },\n\t\t{WSTR(\"CV_REG_XMM13    \"),CV_REG_XMM13    },\n\t\t{WSTR(\"CV_REG_XMM20    \"),CV_REG_XMM20    },\n\t\t{WSTR(\"CV_REG_XMM21    \"),CV_REG_XMM21    },\n\t\t{WSTR(\"CV_REG_XMM22    \"),CV_REG_XMM22    },\n\t\t{WSTR(\"CV_REG_XMM23    \"),CV_REG_XMM23    },\n\t\t{WSTR(\"CV_REG_XMM30    \"),CV_REG_XMM30    },\n\t\t{WSTR(\"CV_REG_XMM31    \"),CV_REG_XMM31    },\n\t\t{WSTR(\"CV_REG_XMM32    \"),CV_REG_XMM32    },\n\t\t{WSTR(\"CV_REG_XMM33    \"),CV_REG_XMM33    },\n\t\t{WSTR(\"CV_REG_XMM40    \"),CV_REG_XMM40    },\n\t\t{WSTR(\"CV_REG_XMM41    \"),CV_REG_XMM41    },\n\t\t{WSTR(\"CV_REG_XMM42    \"),CV_REG_XMM42    },\n\t\t{WSTR(\"CV_REG_XMM43    \"),CV_REG_XMM43    },\n\t\t{WSTR(\"CV_REG_XMM50    \"),CV_REG_XMM50    },\n\t\t{WSTR(\"CV_REG_XMM51    \"),CV_REG_XMM51    },\n\t\t{WSTR(\"CV_REG_XMM52    \"),CV_REG_XMM52    },\n\t\t{WSTR(\"CV_REG_XMM53    \"),CV_REG_XMM53    },\n\t\t{WSTR(\"CV_REG_XMM60    \"),CV_REG_XMM60    },\n\t\t{WSTR(\"CV_REG_XMM61    \"),CV_REG_XMM61    },\n\t\t{WSTR(\"CV_REG_XMM62    \"),CV_REG_XMM62    },\n\t\t{WSTR(\"CV_REG_XMM63    \"),CV_REG_XMM63    },\n\t\t{WSTR(\"CV_REG_XMM70    \"),CV_REG_XMM70    },\n\t\t{WSTR(\"CV_REG_XMM71    \"),CV_REG_XMM71    },\n\t\t{WSTR(\"CV_REG_XMM72    \"),CV_REG_XMM72    },\n\t\t{WSTR(\"CV_REG_XMM73    \"),CV_REG_XMM73    },\n\t\t{WSTR(\"CV_REG_XMM0L    \"),CV_REG_XMM0L    },\n\t\t{WSTR(\"CV_REG_XMM1L    \"),CV_REG_XMM1L    },\n\t\t{WSTR(\"CV_REG_XMM2L    \"),CV_REG_XMM2L    },\n\t\t{WSTR(\"CV_REG_XMM3L    \"),CV_REG_XMM3L    },\n\t\t{WSTR(\"CV_REG_XMM4L    \"),CV_REG_XMM4L    },\n\t\t{WSTR(\"CV_REG_XMM5L    \"),CV_REG_XMM5L    },\n\t\t{WSTR(\"CV_REG_XMM6L    \"),CV_REG_XMM6L    },\n\t\t{WSTR(\"CV_REG_XMM7L    \"),CV_REG_XMM7L    },\n\t\t{WSTR(\"CV_REG_XMM0H    \"),CV_REG_XMM0H    },\n\t\t{WSTR(\"CV_REG_XMM1H    \"),CV_REG_XMM1H    },\n\t\t{WSTR(\"CV_REG_XMM2H    \"),CV_REG_XMM2H    },\n\t\t{WSTR(\"CV_REG_XMM3H    \"),CV_REG_XMM3H    },\n\t\t{WSTR(\"CV_REG_XMM4H    \"),CV_REG_XMM4H    },\n\t\t{WSTR(\"CV_REG_XMM5H    \"),CV_REG_XMM5H    },\n\t\t{WSTR(\"CV_REG_XMM6H    \"),CV_REG_XMM6H    },\n\t\t{WSTR(\"CV_REG_XMM7H    \"),CV_REG_XMM7H    },\n\t\t{WSTR(\"CV_REG_MXCSR    \"),CV_REG_MXCSR    },\n\t\t{WSTR(\"CV_REG_EDXEAX   \"),CV_REG_EDXEAX   },\n\t\t{WSTR(\"CV_REG_EMM0L    \"),CV_REG_EMM0L    },\n\t\t{WSTR(\"CV_REG_EMM1L    \"),CV_REG_EMM1L    },\n\t\t{WSTR(\"CV_REG_EMM2L    \"),CV_REG_EMM2L    },\n\t\t{WSTR(\"CV_REG_EMM3L    \"),CV_REG_EMM3L    },\n\t\t{WSTR(\"CV_REG_EMM4L    \"),CV_REG_EMM4L    },\n\t\t{WSTR(\"CV_REG_EMM5L    \"),CV_REG_EMM5L    },\n\t\t{WSTR(\"CV_REG_EMM6L    \"),CV_REG_EMM6L    },\n\t\t{WSTR(\"CV_REG_EMM7L    \"),CV_REG_EMM7L    },\n\t\t{WSTR(\"CV_REG_EMM0H    \"),CV_REG_EMM0H    },\n\t\t{WSTR(\"CV_REG_EMM1H    \"),CV_REG_EMM1H    },\n\t\t{WSTR(\"CV_REG_EMM2H    \"),CV_REG_EMM2H    },\n\t\t{WSTR(\"CV_REG_EMM3H    \"),CV_REG_EMM3H    },\n\t\t{WSTR(\"CV_REG_EMM4H    \"),CV_REG_EMM4H    },\n\t\t{WSTR(\"CV_REG_EMM5H    \"),CV_REG_EMM5H    },\n\t\t{WSTR(\"CV_REG_EMM6H    \"),CV_REG_EMM6H    },\n\t\t{WSTR(\"CV_REG_EMM7H    \"),CV_REG_EMM7H    },\n\t\t{WSTR(\"CV_REG_MM00     \"),CV_REG_MM00     },\n\t\t{WSTR(\"CV_REG_MM01     \"),CV_REG_MM01     },\n\t\t{WSTR(\"CV_REG_MM10     \"),CV_REG_MM10     },\n\t\t{WSTR(\"CV_REG_MM11     \"),CV_REG_MM11     },\n\t\t{WSTR(\"CV_REG_MM20     \"),CV_REG_MM20     },\n\t\t{WSTR(\"CV_REG_MM21     \"),CV_REG_MM21     },\n\t\t{WSTR(\"CV_REG_MM30     \"),CV_REG_MM30     },\n\t\t{WSTR(\"CV_REG_MM31     \"),CV_REG_MM31     },\n\t\t{WSTR(\"CV_REG_MM40     \"),CV_REG_MM40     },\n\t\t{WSTR(\"CV_REG_MM41     \"),CV_REG_MM41     },\n\t\t{WSTR(\"CV_REG_MM50     \"),CV_REG_MM50     },\n\t\t{WSTR(\"CV_REG_MM51     \"),CV_REG_MM51     },\n\t\t{WSTR(\"CV_REG_MM60     \"),CV_REG_MM60     },\n\t\t{WSTR(\"CV_REG_MM61     \"),CV_REG_MM61     },\n\t\t{WSTR(\"CV_REG_MM70     \"),CV_REG_MM70     },\n\t\t{WSTR(\"CV_REG_MM71     \"),CV_REG_MM71     },\n\t};\n\tint j = sizeof(RegName)/sizeof(RegName[0]);\n\tfor(int i = 0; i < j;i++)\n\tif(RegId==RegName[i].id)\n\treturn RegName[i].Name;\n\treturn NULL;\n}\nvoid CSourceDebug::ReleaseSDType()\n{\n\tSYMBOLLIST sl;\n\tSDTYPE* pType;\n\tDWORD i;\n\tPSDUDTTYPE pSDUdtType;\n\tPSDFUNCTIONITEM pSDFunctionItem;\n\tPSDENUMERATIONTYPE pEnum;\n\t//SDSymbolList::iterator BeginIt,EndIt;\n\tSD_SYMBOL_MAP::iterator BeginIt,EndIt;\n\tBeginIt = m_SymbolList.begin();EndIt=m_SymbolList.end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\t\t\t\n\t\tsl = (*BeginIt).first;\n\t\tpType = sl.type;\t\t\n\t\tswitch(pType->SDTypeInfile.Type) \n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tpSDUdtType = (PSDUDTTYPE)&pType[1];\n\t\t\tif(pSDUdtType->pBaseClass.pBaseClassMember)\n\t\t\t\tdelete []pSDUdtType->pBaseClass.pBaseClassMember;\n\t\t\tif(pSDUdtType->pData.pDataMember)\n\t\t\t\tdelete []pSDUdtType->pData.pDataMember;\n\t\t\tif(pSDUdtType->pFunction.pFunctionMember)\n\t\t\t\tdelete []pSDUdtType->pFunction.pFunctionMember;\n\t\t\tif(pSDUdtType->pFriend.pFriendMember)\n\t\t\t\tdelete []pSDUdtType->pFriend.pFriendMember;\n\t\t\tif(pSDUdtType->pVTable.pVTableMember)\n\t\t\t\tdelete []pSDUdtType->pVTable.pVTableMember;\n\t\t\tbreak;\t\t\t\t\n\t\tcase SD_ENUMERATION:\n\t\t\tpEnum = (PSDENUMERATIONTYPE)&pType[1];\n\t\t\tfor(i = 0; i < pEnum->DataCount; i++)\n\t\t\t{\n\t\t\t\tif(pEnum->EnumerationDataMember[i].u.Name)\n\t\t\t\t\tdelete []pEnum->EnumerationDataMember[i].u.Name;\n\t\t\t}\t\t\t\n\t\t\tbreak;\n\t\tcase SD_TYPEDEF:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_REFERENCE:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_POINTER:\t\t\t\t\t\n\t\t\tbreak;\n\t\tcase SD_FUNCTIONTYPE:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_ARRAY:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_BASECLASS:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_THUNK:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_BASIC:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_MANAGED:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_CUSTOM:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_BLOCK:\t\t\t\n\t\t\tbreak;\n\t\tcase SD_VTABLE:\n\t\t\tbreak;\n\t\tdefault:\t\t\t\n\t\t\tbreak;\n\t\t}\n\t\tif(pType->SDTypeInfile.uName.Name)\n\t\t\tdelete []pType->SDTypeInfile.uName.Name;\n\t\tdelete pType;\n\t}\n\tFUNCTION_ID_MAP::iterator FunctionBeginIt,FunctionEndIt;\n\tFunctionBeginIt = m_FuntionID.begin();\n\tFunctionEndIt = m_FuntionID.end();\n\tfor(;FunctionBeginIt!=FunctionEndIt;FunctionBeginIt++)\n\t{\n\t\tpSDFunctionItem = (*FunctionBeginIt).first.pFuncItem;\n\t\tif(pSDFunctionItem->pBlock.pBlockTypeIdArray)\n\t\t\tdelete pSDFunctionItem->pBlock.pBlockTypeIdArray;\n\t\tif(pSDFunctionItem->pData.pDataMember)\n\t\t\tdelete pSDFunctionItem->pData.pDataMember;\n\t\tfor(i = 0; i < pSDFunctionItem->LabelCounter;i++)\n\t\t\tif(pSDFunctionItem->pLabel.pLabelArray[i].uName.Name)\n\t\t\t\tdelete []pSDFunctionItem->pLabel.pLabelArray[i].uName.Name;\n\t\tif(pSDFunctionItem->pLabel.pLabelArray)\t\n\t\t\tdelete []pSDFunctionItem->pLabel.pLabelArray;\t\t\n\t\tdelete []pSDFunctionItem->uName.Name;\n\t\tdelete pSDFunctionItem;\n\t}\n\tm_FuntionID.clear();\n\tPUBLIC_SYMBOL_MAP::iterator FirstIt,SecondIt;\n\tFirstIt = m_PublicSymbolList.begin();\n\tSecondIt = m_PublicSymbolList.end();\n\tfor(;FirstIt!=SecondIt;FirstIt++)\n\t\tif((*FirstIt).first.uName.Name)\n\t\t\tdelete (*FirstIt).first.uName.Name;\t\n\tm_PublicSymbolList.clear();\n\tm_TotalLineNumber.clear();\n\tID_TO_COMPILAND_NAME_MAP::iterator CompilandFirstIt,CompilandSecondIt;\n\tCompilandFirstIt=m_IdToCompilandMap.begin();\n\tCompilandSecondIt=m_IdToCompilandMap.end();\n\tfor(;CompilandFirstIt!=CompilandSecondIt;CompilandFirstIt++)\n\t{\n\t\tdelete [] CompilandFirstIt->first.Name;\n\t\tdelete CompilandFirstIt->second;\n\t}\n\tm_IdToCompilandMap.clear();\t\n\tID_TO_SOURCE_FILE_NAME_MAP::iterator SourceFileFirstIT,SourceFileSecondIT;\n\tSourceFileFirstIT = m_IdToSourceFileNameMap.begin();\n\tSourceFileSecondIT = m_IdToSourceFileNameMap.end();\n\tfor(;SourceFileFirstIT!=SourceFileSecondIT;SourceFileFirstIT++)\n\t{\n\t\tif(SourceFileFirstIT->first.Name)\n\t\t{\n\t\t\tdelete []SourceFileFirstIT->first.Name;\t\t\t\n\t\t}\n\t}\n\tm_IdToSourceFileNameMap.clear();\n\tDATA_TAG_VECTOR::iterator DataBeginIT,DataEndIT;\n\tDataBeginIT = m_DataTagVector.begin();\n\tDataEndIT = m_DataTagVector.end();\n\tfor(;DataBeginIT!=DataEndIT;DataBeginIT++)\n\t\tdelete *DataBeginIT;\n\tif(m_PEFileName)\n\t\tdelete []m_PEFileName;\n\tif(m_PDBFileName)\n\t\tdelete []m_PDBFileName;\t\n\tlist<STIMPORTMODULENAME>::iterator IMNBeginIT,IMNEndIT;\n\tIMNBeginIT = m_ImportModuleNameList.begin();\n\tIMNEndIT = m_ImportModuleNameList.end();\n\tfor(;IMNBeginIT!=IMNEndIT;IMNBeginIT++)\n\t{\n\t\tdelete []IMNBeginIT->Name;\n\t}\n\tm_StaticDataMap.clear();\n\tm_ImportModuleNameList.clear();\n\tm_DataTagVector.clear();\n\tm_StaticDataMap.clear();\n\tm_ThisObjectPtrList.clear();\n\tm_BaseTypeID.clear();\n\tm_TempSymbolID.clear();\n\tm_String2IDMap.clear();\n\tm_ThunkIDMap.clear();\n\tm_UDTSymbolID.clear();\n\tm_PointerID.clear();\n\tm_ReferenceID.clear();\n\tm_FuncSymbolList.clear();\n\tm_TypeDefList.clear();\n\tm_BaseClassList.clear();\n\tm_FunctionRavList.clear();\n\tm_EnumList.clear();\n\tm_ArrayList.clear();\n\tm_UnnamedUdtList.clear();\n\tm_IdToSourceFileNameMap.clear();\n\tm_IdToCompilandMap.clear();\n\tm_IDToSymbolMap.clear();\n\tm_SymbolList.clear();\n\tm_StringIDVector.clear();\n\tm_TotalLineNumber.clear();\n\tm_VTablePublicSymbolList.clear();\n\tm_StringDumpBlockList.clear();\n\tm_IDToFunctionSymbolMap.clear();\n\tm_CurrentSourceFileIndex=0;\n\tm_CurrentCompilandIndex=0;\n\tm_CurrentDataSymbolIndex=0x1;\n\tm_CurrentFunctionSymbolIndex=0x1;\n\tm_CurrentSymbolIndex=0x1;\n\tm_DataTagVector.push_back(NULL);\n\tm_StringNameID=0;\n\tm_StringName=false;\n}\n\nbool CSourceDebug::LoadPESym(PCSTR pStrName)\n{\n\tPUBLIC_SYMBOL_MAP::iterator FindIT;\n\tPSDPUBLICSYMBOL pSdPublicSymbol;\n\tint n,m;\n\tchar szSymA[1024];\n\tSDPUBLICSYMBOL SdPublicSymbol;\n\tIMPORT_MODULE* pImportModule;\n\tCPEFile PEFile;\n\tSTIMPORTMODULENAME stImportModuleName; \n\tlist<STIMPORTMODULENAME>::iterator ModuleNameIT;\n\tchar* ImportModuleName;\n\t//char* pStrName = new char[TStrLen(wFileName)+1];\n\t//TStrCpy(pStrName,wFileName);\n\tif(PEFile.Open(pStrName)==false)\n\t{\n\t\t//delete []pStrName;\n\t\treturn false;\n\t}\n\t//delete []pStrName;\n\tmemset(&SdPublicSymbol,0,sizeof(SdPublicSymbol));\n\tSdPublicSymbol.IsImportEntry=true;\n\tfor(n=0;n<PEFile.m_ImportModuleCount;n++)\n\t{\n\t\tpImportModule=&PEFile.m_ImportModule[n];\n\t\tstImportModuleName.Name=pImportModule->ModuleName;\n\t\tModuleNameIT = find(m_ImportModuleNameList.begin(),m_ImportModuleNameList.end(),stImportModuleName);\n\t\tif(ModuleNameIT==m_ImportModuleNameList.end())\n\t\t{\n\t\t\tImportModuleName = new char[TStrLen(pImportModule->ModuleName)+1];\n\t\t\tTStrCpy(ImportModuleName,pImportModule->ModuleName);\n\t\t\tstImportModuleName.Name = ImportModuleName;\n\t\t\tm_ImportModuleNameList.push_back(stImportModuleName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tImportModuleName = (*ModuleNameIT).Name;\n\t\t}\n\t\t\n\t\tfor(m=0;m<pImportModule->FuncCount;m++)\n\t\t{\n\t\t\tSdPublicSymbol.Rva = pImportModule->FuncList[m].ThunkAddr-PEFile.m_PEHead.ImageBase;\n\t\t\tFindIT = m_PublicSymbolList.find(SdPublicSymbol);\n\t\t\tif(FindIT==m_PublicSymbolList.end())\n\t\t\t{\t\t\t\n\t\t\t\tTSPrintf(szSymA,\"Import_%s_%s\",pImportModule->ModuleName,pImportModule->FuncList[m].FuncName);\n\t\t\t\tSdPublicSymbol.uName.Name = new char[TStrLen(szSymA)+1];\n\t\t\t\tTStrCpy\t(SdPublicSymbol.uName.Name,szSymA);\n\t\t\t\tSdPublicSymbol.Length=0;\n\t\t\t\tSdPublicSymbol.UndecoratedName.Name=ImportModuleName;\n\t\t\t\t//m_PublicSymbolList.insert(SdPublicSymbol,SdPublicSymbol.Rva);\n\t\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t\t\t}else\n\t\t\t{\n\t\t\t\tpSdPublicSymbol=(PSDPUBLICSYMBOL)&(*FindIT).first;\n\t\t\t\tpSdPublicSymbol->IsImportEntry=true;\n\t\t\t\tpSdPublicSymbol->UndecoratedName.Name=ImportModuleName;\n\t\t\t\t//(*FindIT).first.IsImportEntry=true;\n\t\t\t\t//(*FindIT).first.UndecoratedName.Name=ImportModuleName;\n\t\t\t}\n\t\t}\n\t\tpImportModule++;\n\t}\n\tSdPublicSymbol.IsImportEntry=false;\n\tSdPublicSymbol.IsExportEntry=true;\n\tSdPublicSymbol.UndecoratedName.Name=NULL;\n\tfor(n=0;n<PEFile.m_ExportFuncCount;n++)\n\t{\n\t\tSdPublicSymbol.Rva = PEFile.m_ExportFunc[n].Address-PEFile.m_PEHead.ImageBase;\n\t\tFindIT=m_PublicSymbolList.find(SdPublicSymbol);\n\t\tif(FindIT==m_PublicSymbolList.end())\n\t\t{\t\t\t\n\t\t\tTStrCpy(szSymA,PEFile.m_ExportFunc[n].FuncName);\n\t\t\tSdPublicSymbol.uName.Name = new char[TStrLen(szSymA)+1];\n\t\t\tTStrCpy\t(SdPublicSymbol.uName.Name,szSymA);\n\t\t\tSdPublicSymbol.Length=0;\n\t\t\t//m_PublicSymbolList.insert(SdPublicSymbol,SdPublicSymbol.Rva);\n\t\t\tm_PublicSymbolList.insert(PUBLIC_SYMBOL_MAP::value_type(SdPublicSymbol,SdPublicSymbol.Rva));\n\t\t}else\n\t\t{\n\t\t\tpSdPublicSymbol=(PSDPUBLICSYMBOL)&(*FindIT).first;\n\t\t\tpSdPublicSymbol->IsExportEntry=true;\n\t\t\t//(*FindIT).first.IsExportEntry=true;\n\t\t}\n\t}\n\tPEFile.Close();\n\treturn true;\n}\nDWORD CSourceDebug::DumpFunctionDeclareToHeaderFile(SDFUNCTIONITEM* pFuncItem,CStrA &OutBuffer)\n{\n\treturn 0;\n}\n\nvoid CSourceDebug::InitDependencies()\n{\n\t//SDSymbolList::iterator BeginIt,EndIt;\n\tSD_SYMBOL_MAP::iterator BeginIt,EndIt;\n\tPSDTYPE pType;\n\tBeginIt = m_SymbolList.begin();EndIt=m_SymbolList.end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tpType = (*BeginIt).first.type;\n\t\tswitch(pType->SDTypeInfile.Type)\n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tMakeUDTDependencies(pType);\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn;\n}\n\nbool CSourceDebug::MakeUDTDependencies(PSDTYPE pType)\n{\n\tDWORD i;\n\tlist<DWORD>* pList = new list<DWORD>;\n\tlist<DWORD>::iterator FindIt;\n\tPSDUDTDATAITEM pUdtDataItem;\n\tPSDARRAYTYPE pArrayType;\n\tPSDTYPE pDataType;\n\tPSDUDTTYPE pUdtType = (PSDUDTTYPE)&pType[1];\n\n\tfor(i = 0; i < pUdtType->DataCounter; i++)\n\t{\n\t\tpUdtDataItem = GetSDDateTypeBySymbolID(pUdtType->pData.pDataMember[i]);\n\t\tif(pUdtDataItem==NULL)\n\t\t\tcontinue;\n\t\tpDataType = GetSDTypeBySymbolID(pUdtDataItem->TypeId);\nlocal_001:\t\t\n\t\tif(pDataType==NULL)\n\t\t\tcontinue;\n\t\tswitch(pDataType->SDTypeInfile.Type) \n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tFindIt = find(pList->begin(),pList->end(),pDataType->SDTypeInfile.Id);\n\t\t\tif(FindIt==pList->end())\n\t\t\t{\n\t\t\t\tpList->push_back(pDataType->SDTypeInfile.Id);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SD_ARRAY:\n\t\t\t{\n\t\t\t\tpArrayType = (PSDARRAYTYPE)&pDataType[1];\n\t\t\t\tpDataType = GetSDTypeBySymbolID(pArrayType->TypeIDElement);\n\t\t\t\tgoto local_001;\n\t\t\t}\n\t\t}\n\t}\n\tif(pList->size())\n\t{\n\t\tm_TypeDependenciesList.insert(TYPE_DEPENDENCIES_LIST::value_type(pType->SDTypeInfile.Id,pList));\n\t}\n\telse\n\t{\n\t\tdelete pList;\n\t}\n\treturn true;\n}\nbool CSourceDebug::DumpSDUDTTypeToHeaderFile(DWORD TypeID,CStrA& OutBuffer)\n{\n\tlist<DWORD>* pList;\n\tPSDCLASSTYPE pSDClassType;\n\tlist<DWORD>::iterator BeginIt,EndIt;\n\tPSDTYPE pType;\n\tTYPE_DEPENDENCIES_LIST::iterator FindIT;\n\t\n\tpType = GetSDTypeBySymbolID(TypeID);\n\t\n\t//SLIST_HEADER\n\tif(TStrCmp(pType->SDTypeInfile.uName.Name,\"_SLIST_HEADER\")==0)\n\t\tpList=NULL;\n\t\n\tFindIT = m_TypeDependenciesList.find(TypeID);\n\tif(FindIT==m_TypeDependenciesList.end())\n\t{\n\t\t\n\t\tpSDClassType = (PSDCLASSTYPE)&pType[1];\n\t\tif(pSDClassType->IsUnnamed&&pSDClassType->IsNestedUnnamed)\n\t\t\treturn true;\n\t\tDumpSDUDTTypeToHeaderFile(&pType->SDTypeInfile,OutBuffer);\n\t\t(*m_HeaderOutStream)<<OutBuffer;\n\t\treturn true;\n\t}\n\tpList = FindIT->second;\n\tBeginIt = pList->begin();\n\tEndIt = pList->end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tDumpSDUDTTypeToHeaderFile(*BeginIt,OutBuffer);\n\t}\n\tpSDClassType = (PSDCLASSTYPE)&pType[1];\n\tif(pSDClassType->IsUnnamed&&pSDClassType->IsNestedUnnamed)\n\t\treturn true;\n\tDumpSDUDTTypeToHeaderFile(&pType->SDTypeInfile,OutBuffer);\n\t(*m_HeaderOutStream)<<OutBuffer;\n\treturn true;\n}\nbool CSourceDebug::DumpHeaderFile(char* HeaderFileName)\n{\n\tPSDCLASSTYPE pSDClassType;\n\tPSDTYPE pType;\n\tCStrA UdtOutBuffer,TypedefOutBuffer,EnumOutBuffer;\n\t//SDSymbolList::iterator BeginIt,EndIt;\n\tSD_SYMBOL_MAP::iterator BeginIt,EndIt;\n\tlist<DWORD>::iterator FindOutputIT;\n\tBeginIt = m_SymbolList.begin();EndIt=m_SymbolList.end();\n\tif(BeginIt==EndIt)\n\t\treturn false;\n\tInitDependencies();\n\tm_HeaderOutStream = new ofstream;\n\tm_HeaderOutStream->open(HeaderFileName,ios_base::out | ios_base::trunc);\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{ \n\t\tpType = (*BeginIt).first.type;\n\t\tswitch(pType->SDTypeInfile.Type)\n\t\t{\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tpSDClassType = (PSDCLASSTYPE)&pType[1];\n\t\t\tif(pSDClassType->IsUnnamed&&pSDClassType->IsNestedUnnamed)\n\t\t\t\tcontinue;\n\t\t\tFindOutputIT = find(m_OutputTypeList.begin(),m_OutputTypeList.end(),pType->SDTypeInfile.Id);\n\t\t\tif(FindOutputIT!=m_OutputTypeList.end())\n\t\t\t\tcontinue;\n\t\t\tDumpSDUDTTypeToHeaderFile(pType->SDTypeInfile.Id,UdtOutBuffer);\n\t\t\tbreak;\t\t\t\n\t\tcase SD_TYPEDEF:\n\t\t\tDumpSDTypedefTypeToHeaderFile(&pType->SDTypeInfile,TypedefOutBuffer);\n\t\t\tbreak;\n\t\tcase SD_ENUMERATION:\n\t\t\tDumpSDEnumTypeToHeaderFile(&pType->SDTypeInfile,EnumOutBuffer);\n\t\t\tbreak;\n\t\t}\n\t}\n\tm_HeaderOutStream->flush();\n\tdelete m_HeaderOutStream;\n\tm_HeaderOutStream=NULL;\n\tReleaseDependencies();\n\treturn true;\n}\nvoid CSourceDebug::ReleaseDependencies()\n{\n\tlist<DWORD>* pList;\n\tTYPE_DEPENDENCIES_LIST::iterator BeginIT,EndIT;\n\tBeginIT = m_TypeDependenciesList.begin();\n\tEndIT = m_TypeDependenciesList.end();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tpList = BeginIT->second;\n\t\tpList->clear();\n\t\tdelete pList;\n\t}\n\tm_TypeDependenciesList.clear();\n\treturn;\n}\nDWORD CSourceDebug::DumpSDEnumTypeToHeaderFile(SDTYPE* pType,CStrA &OutBuffer)\n{\n\treturn DumpSDEnumTypeToHeaderFile(&pType->SDTypeInfile,OutBuffer);\n}\nDWORD CSourceDebug::DumpSDTypedefTypeToHeaderFile(SDTYPE* pType,CStrA &OutBuffer)\n{\n\treturn DumpSDTypedefTypeToHeaderFile(&pType->SDTypeInfile,OutBuffer);\n}\nDWORD CSourceDebug::DumpSDUDTTypeToHeaderFile(SDTYPE* pType,CStrA& OutBuffer)\n{\n\treturn DumpSDUDTTypeToHeaderFile(&pType->SDTypeInfile,OutBuffer);\n}\n\nDWORD CSourceDebug::DumpSDEnumTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile ,CStrA &OutBuffer)\n{\n\tchar WriteBuffer[50];\n\tSDENUMERATIONTYPE* pEnumationType;\n\tDWORD WriteByteSize=0;\n\t(*m_HeaderOutStream)<< \"enum \" NTOSKRNLVER <<SDTypeInfile->uName.Name<<\"\\n{\\n\";\n\tpEnumationType = (SDENUMERATIONTYPE*)&SDTypeInfile[1];\n\tfor(unsigned int i = 0; i < pEnumationType->DataCount; i++)\t\n\t{\n\t\t(*m_HeaderOutStream)<<\"\\t\"<<NTOSKRNLVER<<pEnumationType->EnumerationDataMember[i].u.Name<<\"\\t=\";\n\t\tTSPrintf(WriteBuffer,\"0x%08x\\t,//%d\\n\",pEnumationType->EnumerationDataMember[i].Value,pEnumationType->EnumerationDataMember[i].Value);\n\t\t(*m_HeaderOutStream)<<WriteBuffer;\n\t}\n\t(*m_HeaderOutStream)<<\"};\\n\";\n\treturn WriteByteSize;\n}\nDWORD CSourceDebug::DumpSDTypedefTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer)\n{\n\tbool bFunctionPointer=false;\n\tchar OrgName[0x400];\n\tint OrgNameLen=sizeof(OrgName)-1;\n\tchar TypeName[20]=\"\\0\";\n\tPSDTYPEDEFTYPE pSDTypeDef=(PSDTYPEDEFTYPE)&SDTypeInfile[1];\n\tPSDTYPE pSubType = GetSDTypeBySymbolID(pSDTypeDef->TypeID);\n\tPSDPOINTERTYPE pSDPointer;\n\tswitch(pSubType->SDTypeInfile.Type)\n\t{\n\tcase SD_STRUCT:\n\t\tTStrCpy(TypeName,\"struct \");\n\t\tbreak;\n\tcase SD_UNION:\n\t\tTStrCpy(TypeName,\"union \");\n\t\tbreak;\n\tcase SD_ENUMERATION:\n\t\tTStrCpy(TypeName,\"enum \");\n\t\tbreak;\n\tcase SD_POINTER:\n\t\tpSDPointer = (PSDPOINTERTYPE)&pSubType[1];\n\t\tpSubType = GetSDTypeBySymbolID(pSDPointer->TypeID);\n\t\tif(pSubType->SDTypeInfile.Type == SD_FUNCTIONTYPE)\n\t\t\tbFunctionPointer=true;\n\t\tbreak;\n\t}\n\tGetSDSymbolName(pSDTypeDef->TypeID,OrgName,&OrgNameLen);\n\tif(bFunctionPointer)\n\t{\n\t\tchar * pFunc =GetFuncParamBegin(OrgName);\n\t\tif(pFunc)\n\t\t{\n\t\t\tpFunc--;\n\t\t\t*pFunc=0;\n\t\t\tpFunc++;\n\t\t\t(*m_HeaderOutStream)<<\"typedef \"<<OrgName<<SDTypeInfile->uName.Name<<\")\"<<pFunc<<\";\"<<endl;\n\t\t}\n\t\telse\n\t\t\t(*m_HeaderOutStream)<<\"typedef \"<<TypeName<<OrgName<<\" \"<< SDTypeInfile->uName.Name<<\";\"<<endl;\n\t\t\n\t}\n\telse\n\t\t(*m_HeaderOutStream)<<\"typedef \"<<TypeName<<OrgName<<\" \"<< SDTypeInfile->uName.Name<<\";\"<<endl;\n\t\n\treturn 0;\n}\n\nchar* CSourceDebug::GetFuncParamBegin(char* FunctionPointerName)\n{\n\tchar* Name;\n\tint Sum = 0;\n\tint i;\n\tint Len = TStrLen(FunctionPointerName);\n\tName = TStrRChr(FunctionPointerName,')');\n\tLen =Len - TStrLen(Name);\n\tfor(i = Len;i>=0;i--)\n\t{\n\t\tif(FunctionPointerName[i]==')')\n\t\t\tSum++;\n\t\telse\n\t\t\tif(FunctionPointerName[i]=='(')\n\t\t\t\tSum--;\n\t\tif(Sum==0)\n\t\t\tbreak;\n\t}\n\treturn &FunctionPointerName[i];\n}\nvoid CSourceDebug::GetDataMemberFullName(IN DWORD DataID,bool HasParentName)\n{\n\n}\nDWORD CSourceDebug::DumpSDUDTTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer)\n{\n\tbool bArray=false;\n\tbool bFunctionPointer=false;\n\tbool bIsUnnamedUDT=false;\n\tDWORD PrevAccess;\n\tDWORD i,j;\n\tPSDTYPE pSubType;\n\tPSDFUNCTIONITEM pFuncItem;\n\tPSDUDTDATAITEM pUdtData;\n\tchar* OrgName;\n\tPSDUDTBASECLASS pUdtBaseClassType;\n\tPSDUDTTYPE pUdtType = (PSDUDTTYPE)&SDTypeInfile[1];\n\tchar FuncName[0x400];\n\tint FuncNameLen = sizeof(FuncName)-1;\n\tlist<DWORD>::iterator FindOutputIT;\n\tOutBuffer.Empty();\n\tif(((PSDCLASSTYPE)&SDTypeInfile[1])->IsUnnamed==0)\n\t{\n\t\tFindOutputIT = find(m_OutputTypeList.begin(),m_OutputTypeList.end(),SDTypeInfile->Id);\n\t\tif(FindOutputIT!=m_OutputTypeList.end())\n\t\t\treturn 0;\n\t\tm_OutputTypeList.push_back(SDTypeInfile->Id);\n\t}\n\telse\n\t{\n\t\tbIsUnnamedUDT=true;\n\t}\n\tswitch(SDTypeInfile->Type) \n\t{\n\tcase SD_STRUCT:\n\t\tOutBuffer+=\"struct \";\n\t\tPrevAccess=CV_public;\n\t\tbreak;\n\tcase SD_CLASS:\n\t\tOutBuffer+=\"class \";\n\t\tPrevAccess=CV_private;\n\t\tbreak;\n\tcase SD_UNION:\n\t\tOutBuffer+=\"union \";\n\t\tPrevAccess=CV_public;\n\t\tbreak;\n\t}\n\tif(bIsUnnamedUDT==false)\n\t{\n\t\tOutBuffer+=NTOSKRNLVER;\n\t\tOutBuffer+=SDTypeInfile->uName.Name;\n\t\tif(strcmp(\"_HANDLE_TABLE_ENTRY\",SDTypeInfile->uName.Name)==0)\n\t\t\tbIsUnnamedUDT=false;\n\n\t}\n\tOutBuffer+=\" \";\n\tif(pUdtType->BaseClassCounter)\n\t{\n\t\tOutBuffer+=\": \";\n\t\tfor(i = 0,j=0; i < pUdtType->BaseClassCounter;i++)\n\t\t{\n\t\t\tpSubType = GetSDTypeBySymbolID(pUdtType->pBaseClass.pBaseClassMember[i]);\n\t\t\tCODE_ASSERT(pSubType);\n\t\t\tpUdtBaseClassType = (PSDUDTBASECLASS)&pSubType[1];\n\t\t\tif(pUdtBaseClassType->bIsIndirectBaseClass)\n\t\t\t\tcontinue;\n\t\t\tif(j)\n\t\t\t{\n\t\t\t\tOutBuffer+=\",\";\n\t\t\t}\n\t\t\tif(pUdtBaseClassType->bIsVirtual)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"virtual \";\n\t\t\t}\n\t\t\tswitch(pUdtBaseClassType->Access)\n\t\t\t{\n\t\t\tcase CV_private:\n\t\t\t\tOutBuffer+=\"private \";\n\t\t\t\tbreak;\n\t\t\tcase CV_protected:\n\t\t\t\tOutBuffer+=\"protected \";\n\t\t\t\tbreak;\n\t\t\tcase CV_public:\n\t\t\t\tOutBuffer+=\"public \";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tOrgName = GetSDSymbolName(pUdtBaseClassType->TypeID);\n\t\t\t//(*m_HeaderOutStream)<<OrgName;\n\t\t\tOutBuffer+=OrgName;\n\t\t\tdelete OrgName;\n\t\t\tj++;\n\t\t}\n\t}\n\tchar udtsize[50];\n\tTSPrintf(udtsize,\"/* sizeof %08x %d */\",SDTypeInfile->TypeSize,SDTypeInfile->TypeSize);\n\tOutBuffer+=udtsize;\n\tOutBuffer+=\"\\n{\\n\";\n\tif(pUdtType->FunctionCounter)\n\t{\n\t\tfor(i = 0; i < pUdtType->FunctionCounter;i++)\n\t\t{\n\t\t\tpFuncItem = GetSDFunctionByID(pUdtType->pFunction.pFunctionMember[i]);\n\t\t\tCODE_ASSERT(pFuncItem);\n\t\t\tbool bStatic = false;\n\t\t\tPSDTYPE pSubType = GetSDTypeBySymbolID(pFuncItem->TypeID);\t\t\n\t\t\tif(PrevAccess!=pFuncItem->Access)\n\t\t\t{\n\t\t\t\tswitch(pFuncItem->Access)\n\t\t\t\t{\n\t\t\t\tcase CV_private:\n\t\t\t\t\tOutBuffer+=\"private:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_protected:\n\t\t\t\t\tOutBuffer+=\"protected:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_public:\n\t\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tPrevAccess=pFuncItem->Access;\n\t\t\t}\n\t\t\tCStrA pStrFuncName;\n\t\t\tGetUDTFunctionMemberName(pUdtType->pFunction.pFunctionMember[i],pStrFuncName);\n\t\t\tOutBuffer+=pStrFuncName;\n\t\t}\n\t}\n\tif(pUdtType->DataCounter)\n\t{\n\t\tswitch(SDTypeInfile->Type) \n\t\t{\n\t\tcase SD_STRUCT:\n\t\t\tif(PrevAccess!=CV_public)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t}\n\t\t\tPrevAccess=CV_public;\n\t\t\tbreak;\n\t\tcase SD_CLASS:\n\t\t\tPrevAccess=0xffffffff;\n\t\t\tbreak;\n\t\tcase SD_UNION:\n\t\t\tif(PrevAccess!=CV_public)\n\t\t\t{\n\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t}\n\t\t\tPrevAccess=CV_public;\n\t\t\tbreak;\n\t\t}\n\t\tCStrA DataName;\n\t\tOFFSETMAP OffsetMap;\n\t\tpair<OFFSETMAP::iterator,bool> pr;\n\t\tMEMINFOLIST DataList;\n\t\tUNIONMEMBERMAP UnionMemberMap;\n\t\tUNIONMEMBERMAP::iterator UnionMemberMapIT;\n\t\tpair<UNIONMEMBERMAP::iterator,bool> pr2;\n\t\tDWORD dwLocation,dwOffset,dwDataLen,dwInfo;\n\t\tMEMINFOLIST::iterator FindIt,DataListBegin,DataListEnd,UnameBIt,UnameEIt;\n\t\tSTUNIONHELP sht;\n\t\tfor(i = 0; i < pUdtType->DataCounter; i++)\n\t\t{\t\t\t\n\t\t\tpUdtData = m_DataTagVector[pUdtType->pData.pDataMember[i]];\n\t\t\tbIsUnnamedUDT=false;\t\t\t\t\t\t\n\t\t\t{\n\t\t\t\tGetUDTDataMemberName(pUdtType->pData.pDataMember[i],DataName,dwOffset,dwLocation,dwDataLen);\t\t\t\t\n\t\t\t\tFindIt = find(DataList.begin(),DataList.end(),MemberInfo(dwOffset));\n\t\t\t\tif(FindIt!=DataList.end())\n\t\t\t\t{\n\t\t\t\t\tdwInfo=FindIt->m_Index;\n\t\t\t\t\tdwInfo<<=16;//16λеһԪڽṹеλã16λͬƫƳԱֵĴ\n\t\t\t\t\tpr = OffsetMap.insert(OFFSETMAP::value_type(dwOffset,dwInfo+1));\n\t\t\t\t\tif(pr.second==false)\n\t\t\t\t\t{\n\t\t\t\t\t\tpr.first->second++;\n\t\t\t\t\t\tUnionMemberMapIT = UnionMemberMap.find(dwOffset);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpr2 = UnionMemberMap.insert(map<DWORD,MEMINFOLIST>::value_type(dwOffset,MEMINFOLIST()));\n\t\t\t\t\t\tUnionMemberMapIT=pr2.first;\n\t\t\t\t\t\tUnionMemberMapIT->second.push_back(*FindIt);\n\t\t\t\t\t}\n\t\t\t\t\tUnionMemberMapIT->second.push_back(MemberInfo(DataName,dwOffset,dwLocation,pUdtData->Access,dwDataLen,i));\n\t\t\t\t}\n\t\t\t\tDataList.push_back(MemberInfo(DataName,dwOffset,dwLocation,pUdtData->Access,dwDataLen,i));\n\t\t\t}\t\t\t\n\t\t}\n\t\tUnionMemberMapIT = UnionMemberMap.begin();\n\t\tOFFSETMAP Finish;\n\t\tUNIONHELPLIST HelpList;\n\t\tfor(;UnionMemberMapIT!=UnionMemberMap.end();UnionMemberMapIT++)\n\t\t{\n\t\t\tInitUnameUDT(SDTypeInfile->Type, UnionMemberMapIT->first,DataList,UnionMemberMap,HelpList,Finish,true);\n\t\t}\n\t\tUNIONHELPLIST::iterator HLBIT;\n\t\tfor(DataListBegin=DataList.begin();DataListBegin!=DataList.end();DataListBegin++)\n\t\t{\n\t\t\tfor(HLBIT=HelpList.begin();HLBIT!=HelpList.end();HLBIT++)\n\t\t\t{\n\t\t\t\tif(HLBIT->Index==DataListBegin->m_Index)\n\t\t\t\tOutBuffer+=HLBIT->Str;\n\t\t\t}\n\t\t\tif(PrevAccess!=DataListBegin->m_Access)\n\t\t\t{\n\t\t\t\tswitch(DataListBegin->m_Access)\n\t\t\t\t{\n\t\t\t\tcase CV_private:\n\t\t\t\t\tOutBuffer+=\"private:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_protected:\n\t\t\t\t\tOutBuffer+=\"protected:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase CV_public:\n\t\t\t\t\tOutBuffer+=\"public:\\n\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tPrevAccess=DataListBegin->m_Access;\n\t\t\t}\n\t\t\tOutBuffer+=DataListBegin->m_Name;\n\t\t}\t\t\n\t\tfor(HLBIT=HelpList.begin();HLBIT!=HelpList.end();HLBIT++)\n\t\t{\n\t\t\tif(HLBIT->Index==0-1)\n\t\t\t\tOutBuffer+=HLBIT->Str;\n\t\t}\n\t\tfor(UnionMemberMapIT=UnionMemberMap.begin();UnionMemberMapIT!=UnionMemberMap.end();UnionMemberMapIT++)\n\t\t{\n\t\t\tUnionMemberMapIT->second.clear();\n\t\t}\n\t\tUnionMemberMap.clear();\n\t\tFinish.clear();\n\t\tHelpList.clear();\n\t\tOffsetMap.clear();\n\t\tDataList.clear();\n\t}\n\tOutBuffer+=\"};\\n\";\n\treturn 0;\n}\nbool CSourceDebug::HaveNestedUnameStruct(DWORD Offset,UNIONMEMBERMAP& UnionMemberMap,MEMINFOLIST& DataList,UNIONHELPLIST& HelpList,DWORD& LastIndex)\n{\n\tDWORD i,j,Length=0,dwMaxMemberLen=0;\n\tbool bRet=false;\n\tUNIONMEMBERMAP::iterator UnionMemberMapIT;\n\tMEMINFOLIST::iterator UnameBIt,UnameEIt,FindIt;\n\tSTUNIONHELP sht;\n\tUnionMemberMapIT=UnionMemberMap.find(Offset);\n\tif(UnionMemberMapIT==UnionMemberMap.end())\n\t\treturn false;\n\n\tUnameBIt = UnionMemberMapIT->second.begin();\n\ti=UnameBIt->m_Index;\n\tdwMaxMemberLen = max(UnameBIt->m_DataLen,dwMaxMemberLen);\n\tUnameEIt = UnionMemberMapIT->second.end();\t\n\tUnameBIt++;\n\tfor(j=1;UnameBIt!=UnameEIt;UnameBIt++)//жеݳԱǷΪĽṹ\n\t{\n\t\tif(j + i != UnameBIt->m_Index)\n\t\t{\n\t\t\tsht.Index=i;\n\t\t\tsht.Str=\"struct\\n{\\n\";\n\t\t\tHelpList.push_back(sht);\n\t\t\tsht.Index=UnameBIt->m_Index;\n\t\t\tsht.Str=\"};\\n\";\n\t\t\tHelpList.push_back(sht);\n\t\t\ti=UnameBIt->m_Index;\n\t\t\tj=1;\n\t\t\tbRet=true;\n\t\t\tFindIt=DataList.begin();\n\t\t\tfor(;FindIt!=DataList.end();FindIt++)\n\t\t\t{\n\t\t\t\tif(FindIt->m_Index==i-1)\n\t\t\t\t{\n\t\t\t\t\tLength=FindIt->m_Offset+FindIt->m_DataLen-Offset;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdwMaxMemberLen = max(Length,dwMaxMemberLen);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ti=UnameBIt->m_Index;\n\t\t}\n\t}\n\t\n\tFindIt =DataList.end();\n\tFindIt--;\n\tUnameBIt--;\n\tif(UnameBIt->m_Index < FindIt->m_Index)\n\t\tLastIndex = UnameBIt->m_Index+1;\n\telse\n\t\tLastIndex = 0-1;\n\tif(FindIt->m_Index>UnameBIt->m_Index)//жϵһԱǷĳԱ Ϊṹ\n\t{\n\t\tFindIt=DataList.begin();\n\t\tfor(;FindIt!=DataList.end();FindIt++)\n\t\t{\t\t\t\t\t\n\t\t\tif(FindIt->m_Index > UnameBIt->m_Index)\n\t\t\t{\n\t\t\t\tif(FindIt->m_Offset - Offset<dwMaxMemberLen)\n\t\t\t\t\tbRet=true;\n\t\t\t\tif(FindIt->m_Offset - Offset >=dwMaxMemberLen)\n\t\t\t\t{\n\t\t\t\t\tbreak;\t\t\t\t\t\t\t\n\t\t\t\t}\t\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t\tif(bRet)\n\t\t{\n\t\t\tsht.Index=UnameBIt->m_Index;\n\t\t\tsht.Str=\"struct\\n{\\n\";\n\t\t\tHelpList.push_back(sht);\n\t\t\tif(FindIt==DataList.end())\n\t\t\t\tsht.Index=-1;\n\t\t\telse\n\t\t\t\tsht.Index=FindIt->m_Index;\n\t\t\tsht.Str=\"};\\n\";\n\t\t\tHelpList.push_back(sht);\n\t\t\tLastIndex=sht.Index;\n\t\t}\t\t\t\n\t}\n\treturn bRet;\n}\n\nDWORD CSourceDebug::HaveNestedUnameUnion(DWORD Offset,UNIONMEMBERMAP& UnionMemberMap)\n{\n\tDWORD StartIndex,EndIndex;\n\tUNIONMEMBERMAP::iterator UnionMemberMapIT;\n\tMEMINFOLIST::iterator UnameBIt,UnameEIt;\n\tif(UnionMemberMap.size()==1)\n\t\treturn 0-1;\n\tUnionMemberMapIT=UnionMemberMap.find(Offset);\n\tUnameBIt = UnionMemberMapIT->second.begin();\n\tUnameEIt = UnionMemberMapIT->second.end();\n\tUnameEIt--;\n\tStartIndex=UnameBIt->m_Index;\n\tEndIndex=UnameEIt->m_Index;\n\tfor(UnionMemberMapIT=UnionMemberMap.begin();UnionMemberMapIT!=UnionMemberMap.end();UnionMemberMapIT++)\n\t{\n\t\tif(UnionMemberMapIT->first!=Offset)\n\t\t{\n\t\t\tUnameBIt = UnionMemberMapIT->second.begin();\n\t\t\tUnameEIt = UnionMemberMapIT->second.end();\n\t\t\tUnameEIt--;\n\t\t\tif((UnameEIt->m_Index> StartIndex &&  UnameEIt->m_Index < EndIndex) || (UnameBIt->m_Index> StartIndex &&  UnameBIt->m_Index < EndIndex))\n\t\t\t\treturn UnionMemberMapIT->first;\n\t\t}\n\t}\n\treturn 0-1;\n}\nvoid CSourceDebug::InitUnameUDT(SDTYPEIDS TypeIDs, DWORD Offset,MEMINFOLIST& DataList,UNIONMEMBERMAP& UnionMemberMap,  UNIONHELPLIST& HelpList,OFFSETMAP& Finish,bool bFirst)\n{\n\tUNIONMEMBERMAP::iterator UnionMemberMapIT;\n\tMEMINFOLIST::iterator UnameBIt,UnameEIt,FindIt;\n\tDWORD dwPrevOffset=Offset,dwOffset,dwMaxMemberLen=0,BitFieldCount,BitFieldBegin,BitFieldEnd;;;\n\tSTUNIONHELP sht,sht2;\n\tbool bHaveNestedStruct=false;\t\n\tDWORD LastIndex;\n\tMEMINFOLIST::iterator FindIT;\n\tpair<OFFSETMAP::iterator,bool> pr;\n\tUNIONHELPLIST::iterator TempIt,TempIt2;\n\tbool bAllBitField;\n\tpr = Finish.insert(OFFSETMAP::value_type(dwPrevOffset,dwPrevOffset));\n\tif(pr.second==false)\n\t\treturn;\n\t\n\tdwOffset = HaveNestedUnameUnion(dwPrevOffset,UnionMemberMap);\t\n\tif(dwOffset!=0-1)\n\t\tInitUnameUDT(TypeIDs,dwOffset,DataList,UnionMemberMap,HelpList,Finish,false);//Ǳӵ union \n\n\tUnionMemberMapIT=UnionMemberMap.find(dwPrevOffset);\n\tbAllBitField=IsAllBitField(UnionMemberMapIT->second,BitFieldCount,BitFieldBegin,BitFieldEnd);\n\tif(bAllBitField==false && BitFieldCount >1)\n\t{\n\t\tsht.Index=BitFieldBegin;\n\t\tsht.Str=\"struct\\n{\\n\";\n\t\tHelpList.push_back(sht);\n\t\tFindIt=DataList.end();\n\t\tFindIt--;\n\t\tif(FindIt->m_Index>BitFieldEnd)\n\t\t\tsht.Index=\tBitFieldEnd+1;\n\t\telse\n\t\t\tsht.Index=\t0-1;\n\t\tsht.Str=\"};\\n\";\n\t\tHelpList.push_back(sht);\n\n\t}\n\t\n\tbHaveNestedStruct = HaveNestedUnameStruct(dwPrevOffset,UnionMemberMap,DataList,HelpList,LastIndex);\n\t\t\t\n\tif(TypeIDs!=SD_UNION || bFirst==false || (bFirst==true && TypeIDs==SD_UNION && Offset))\n\t{\t\t\n\t\tif(!bAllBitField)\n\t\t{\n\t\t\tUnionMemberMapIT=UnionMemberMap.find(dwPrevOffset);\n\t\t\tUnameBIt = UnionMemberMapIT->second.begin();\n\t\t\tUnameEIt = UnionMemberMapIT->second.end();\n\t\t\t\n\t\t\t\n\t\t\tsht.Index=UnameBIt->m_Index;\n\t\t\tsht.Str=\"union\\n{\\n\";\n\t\t\tsht2.Index=UnameBIt->m_Index;\n\t\t\tTempIt = find(HelpList.begin(),HelpList.end(),sht2);\n\t\t\tif(TempIt!=HelpList.end())\n\t\t\t{\n\t\t\t\tTempIt2=TempIt;\n\t\t\t\tfor(;TempIt!=HelpList.end();TempIt++)\n\t\t\t\t{\n\t\t\t\t\tif(TempIt->Index==UnameBIt->m_Index && TempIt->Str == \"};\\n\")\n\t\t\t\t\t{\n\t\t\t\t\t\tTempIt2=TempIt;\n\t\t\t\t\t\tTempIt2++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tCStrA ss1;\n\t\n\t\t\t\tif(TempIt2==HelpList.end())\n\t\t\t\t\tHelpList.push_back(sht);\n\t\t\t\telse\n\t\t\t\t\tHelpList.insert(TempIt2,sht);\n\n\t\t\t}\n\t\t\telse\n\t\t\t\tHelpList.push_back(sht);\n\n\n\t\t\tif(bHaveNestedStruct==false)\n\t\t\t{\n\t\t\t\tFindIt = DataList.end();\n\t\t\t\tFindIt--;\n\t\t\t\tUnameEIt = UnionMemberMapIT->second.end();\n\t\t\t\tUnameEIt--;\n\t\t\t\tif(UnameEIt->m_Index < FindIt->m_Index)\n\t\t\t\t\tLastIndex=UnameEIt->m_Index+1;\n\t\t\t\telse\n\t\t\t\t\tLastIndex=0-1;\n\t\t\t}\n\t\t\tsht.Index=LastIndex;\n\t\t\tsht.Str=\"};\\n\";\n\t\t\tHelpList.push_back(sht);\n\t\t}\n\t\t\n\t}\t\n}\n\n\nbool CSourceDebug::IsAllBitField(MEMINFOLIST& pList,DWORD& BitFieldCount,DWORD& BitFieldBegin,DWORD& BitFieldEnd)\n{\n\tMEMINFOLIST::iterator BeginIT;\t\n\tbool bRet=true;\n\tBitFieldBegin=0-1;\n\tBitFieldEnd=0-1;\n\tBitFieldCount=0;\n\tfor(BeginIT=pList.begin();BeginIT!=pList.end();BeginIT++)\n\t{\n\t\tif(BeginIT->m_Location!=LocIsBitField)\n\t\t\tbRet=false;\n\t\telse\n\t\t{\n\t\t\tif(BitFieldBegin==0-1)\n\t\t\t\tBitFieldBegin=BeginIT->m_Index;\n\t\t\tBitFieldEnd=BeginIT->m_Index;\n\t\t\tBitFieldCount++;\t\t\n\t\t}\n\t}\n\treturn bRet;\n}\nchar* CSourceDebug::GetUDTFunctionMemberName(DWORD FuncID,OUT CStrA& NameBuffer)\n{\n\tchar FuncName[0x400];\n\tPSDFUNCTIONITEM pFuncItem;\n\tint FuncNameLen;\n\tpFuncItem = GetSDFunctionByID(FuncID);\n\tCODE_ASSERT(pFuncItem);\n\tbool bStatic = false;\n\tPSDFUNCTIONTYPE pFunctionType;\n\tPSDTYPE pSubType = GetSDTypeBySymbolID(pFuncItem->TypeID);\t\t\n\tNameBuffer.Empty();\n\tFuncNameLen = sizeof(FuncName)-1;\n\tGetFunctionName(pFuncItem,FuncName,&FuncNameLen);\n\tif(pSubType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t{\n\t\tpFunctionType = (PSDFUNCTIONTYPE)&pSubType[1];\n\t\tif(pFunctionType->CallingConvention==CV_CALL_NEAR_STD)\n\t\t\tbStatic=true;\n\t}\n\tif(bStatic)\n\t{\n\t\tNameBuffer+=\"\\t\\tstatic \";\n\t\tNameBuffer+=FuncName;\n\t}\n\telse\n\t{\n\t\tNameBuffer+=\"\\t\\t\";\n\t\tNameBuffer+=FuncName;\n\t}\n\tNameBuffer+=\";\";\n\tif(pFuncItem->IsVirtual)\n\t{\n\t\tchar OffsetBuf[50];\n\t\tTSPrintf(OffsetBuf,\"/* VTable offset %08x */\",pFuncItem->VirtualBaseOffset);\n\t\tNameBuffer+=OffsetBuf;\n\t}\n\tNameBuffer+=\"\\n\";\n\treturn NULL;\n}\nbool CSourceDebug::IsFunctionPointer(DWORD dwTypeID)\n{\n\tPSDTYPE pType = GetSDTypeBySymbolID(dwTypeID);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->SDTypeInfile.Type!=SD_POINTER)\n\t\treturn false;\n\treturn IsFunctionPointer(pType);\n}\nbool CSourceDebug::IsFunctionPointer(PSDTYPE pType)\n{\n\treturn IsFunctionPointer(&pType->SDTypeInfile);\n}\nbool CSourceDebug::IsFunctionPointer(PSDTYPE_INFILE SDTypeInfile)\n{\n\tPSDTYPE pSubType;\n\tif(SDTypeInfile->Type!=SD_POINTER)\n\t\treturn false;\n\tPSDPOINTERTYPE pPointerType = (PSDPOINTERTYPE)&SDTypeInfile[1];\n\tpSubType = GetSDTypeBySymbolID(pPointerType->TypeID);\n\tif(pSubType==NULL)\n\t\treturn false;\n\treturn pSubType->SDTypeInfile.Type==SD_FUNCTIONTYPE;\n}\nbool CSourceDebug::GetDataBitFieldInfo(IN DWORD DataID,OUT DWORD& TypeID,OUT DWORD& BitFieldCount,OUT DWORD& TypeLen)\n{\n\tPSDUDTDATAITEM pUdtData;\n\tPSDTYPE pSubType;\n\tpUdtData = GetSDDateTypeBySymbolID(DataID);\n\tpSubType = GetSDTypeBySymbolID(pUdtData->TypeId);\n\tTypeLen = pSubType->SDTypeInfile.TypeSize;\n\tTypeID=pUdtData->TypeId;\n\tBitFieldCount = pUdtData->u.LOCISBITFIELD.Size;\n\treturn pUdtData->Location == LocIsBitField;\t\n}\nbool CSourceDebug::GetUDTDataOffsetAndLength(IN DWORD DataID,OUT DWORD& Offset,OUT DWORD& DataLen)\n{\n\tPSDUDTDATAITEM pUdtData;\n\tPSDTYPE pSubType;\n\tpUdtData = GetSDDateTypeBySymbolID(DataID);\n\tpSubType = GetSDTypeBySymbolID(pUdtData->TypeId);\n\tif(pUdtData->Location==LocIsThisRel)\n\t{\n\t\tOffset=pUdtData->u.LOCISTHISREL.Offset;\n\t}\n\tif(pUdtData->Location==LocIsBitField)\n\t{\n\t\tOffset=pUdtData->u.LOCISBITFIELD.Offset;\n\t}\n\tDataLen=pUdtData->DataSize;\n\treturn pUdtData->Location == LocIsThisRel || pUdtData->Location == LocIsBitField;\t\n}\nchar* CSourceDebug::GetUDTDataMemberName(IN DWORD DataID,OUT CStrA& NameBuffer,OUT DWORD& dwOffset,OUT DWORD& dwLocation,OUT DWORD& dwDataLen)\n{\n#define MAX_LENGTH_NAME (0x400)\n\tchar ArrayTypeName[20];\n\tCStrA DataName;\n\tbool bArray=false;\n\tchar NullChar=0;\n\tchar TypeName[20];\n\tchar* CallConvention;\n\tchar* OrgDataName;\n\tchar FuncNameBuf[MAX_LENGTH_NAME];\n\tchar *FuncName=FuncNameBuf;\n\tint FuncNameLen;\n\tPSDUDTDATAITEM pUdtData;\n\tPSDTYPE pSubType;\n\tbool bFunctionPointer;\n\tbool bUnnamedUDT=false;\n\t\n\tNameBuffer.Empty();\n\tFuncNameLen = MAX_LENGTH_NAME-1;\n\tFuncName[0]=0;\n\tpUdtData = GetSDDateTypeBySymbolID(DataID);\n\tdwDataLen=pUdtData->DataSize;\n\tOrgDataName = pUdtData->uName.Name;\n\tGetSDSymbolName(pUdtData->TypeId,FuncName,&FuncNameLen);\n\tDataName.Empty();\n\tDataName=FuncName;\n\tif(pUdtData->Location == LocIsThisRel) \n\t{\n\t\tNameBuffer.Format(\"/* off 0x%04x */\\t\",pUdtData->u.LOCISTHISREL.Offset);\n\t\tdwOffset=pUdtData->u.LOCISTHISREL.Offset;\n\t}\n\tif (pUdtData->Location == LocIsBitField)\n\t{\n\t\tNameBuffer.Format(\"/* off 0x%04x */\\t\",pUdtData->u.LOCISBITFIELD.Offset);\n\t\tdwOffset=pUdtData->u.LOCISBITFIELD.Offset;\n\t}\n\tif(pUdtData->Location == LocIsStatic)\n\t{\n\t\tNameBuffer+=\"static \";\n\t\tdwOffset=0-1;\n\t}\n\tdwLocation=pUdtData->Location;\n\tbFunctionPointer=false;\n\tCallConvention=NULL;\n\tpSubType = GetSDTypeBySymbolID(pUdtData->TypeId);\n\tTypeName[0]=0;\n\tArrayTypeName[0]=0;\n\tbArray=false;\n\tif(pSubType)\n\t{\n\t\tswitch(pSubType->SDTypeInfile.Type) \n\t\t{\n\t\tcase SD_POINTER:\n\t\t\t{\n\t\t\t\tPSDPOINTERTYPE pSDPointer=(PSDPOINTERTYPE)&pSubType[1];\n\t\t\t\tPSDFUNCTIONTYPE pFunctionProc;\n\t\t\t\tpSubType = GetSDTypeBySymbolID(pSDPointer->TypeID);\n\t\t\t\tif(pSubType->SDTypeInfile.Type==SD_FUNCTIONTYPE)\n\t\t\t\t{\n\t\t\t\t\tbFunctionPointer=true;\n\t\t\t\t\tpFunctionProc = (PSDFUNCTIONTYPE)&pSubType[1];\n\t\t\t\t\tCallConvention = GetCallConventionName(pFunctionProc->CallingConvention);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase SD_ARRAY:\n\t\t\t{\t\n\t\t\t\tPSDARRAYTYPE pSDArrayType = (PSDARRAYTYPE)&pSubType[1];\n\t\t\t\tbUnnamedUDT = IsUnnamedUDT(pSDArrayType->TypeIDElement);\n\t\t\t\tpSubType= GetSDTypeBySymbolID(pSDArrayType->TypeIDElement);\n\t\t\t\tbArray=true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\tcase SD_CLASS:\n\t\tcase SD_STRUCT:\n\t\tcase SD_UNION:\n\t\t\tbUnnamedUDT = IsUnnamedUDT(pSubType->SDTypeInfile.Id);\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(bUnnamedUDT)\n\t{\n\t\tCStrA OutBuffer;\n\t\tOutBuffer.Empty();\n\t\tint i;\n\t\tDumpSDUDTTypeToHeaderFile(&pSubType->SDTypeInfile,DataName);\n\t\tchar* pString = DataName;\n\t\tchar* pBegin = DataName;\n\t\tOutBuffer+=\"\\n\";\n\t\tfor( i = 0;pString[i];i++)\n\t\t\tif(pString[i]=='\\n')\n\t\t\t{\n\t\t\t\tOutBuffer+=\"\\t\";\n\t\t\t\tpString[i]=0;\n\t\t\t\tif(pString[i+1])\n\t\t\t\t{\n\t\t\t\t\tOutBuffer+=pBegin;\n\t\t\t\t\tOutBuffer+=\"\\n\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tpString[i-1]=0;\n\t\t\t\t\tOutBuffer+=pBegin;\n\t\t\t\t}\n\t\t\t\tpBegin=&pString[i+1];\n\t\t\t}\n\t\tDataName=OutBuffer;\n\t\tif(bArray)\n\t\t{\n\t\t\tDataName+=TStrChr(FuncName,'[');\n\t\t}\n\t\tif(DataName.Length()>MAX_LENGTH_NAME)\n\t\t{\t\t\t\n\t\t\tFuncName = new char[DataName.Length()+1];\t\t\t\n\t\t}\n\t\tTStrCpy(FuncName,(char*)DataName);\n\t}\n\tif(bFunctionPointer)\n\t{\n\t\tchar * pFunc =GetFuncParamBegin(FuncName);\n\t\tif(pFunc)\n\t\t{\n\t\t\tpFunc--;\n\t\t\t*pFunc=0;\n\t\t\tpFunc++;\n\t\t\tNameBuffer+=FuncName;\n\t\t\tNameBuffer+=pUdtData->uName.Name;\n\t\t\tNameBuffer+=\")\";\n\t\t\tNameBuffer+=pFunc;\n\t\t}\n\t}else if(bArray){\n\t\tchar* pIndexBegin = TStrChr(FuncName,'[');\n\t\tif(pIndexBegin)\n\t\t{\n\t\t\t*pIndexBegin=0;\n\t\t\tpIndexBegin++;\n\t\t\tNameBuffer+=FuncName;\n\t\t\tNameBuffer+=\" \";\n\t\t\tNameBuffer+=pUdtData->uName.Name;\n\t\t\tNameBuffer+=\"[\";\n\t\t\tNameBuffer+=pIndexBegin;\n\t\t}\n\t}else\n\t{\n\t\tNameBuffer+=FuncName;\n\t\tNameBuffer+=\"\\t\";\n\t\tNameBuffer+=pUdtData->uName.Name;\n\t\t\n\t\tif(pUdtData->Location == LocIsBitField)\n\t\t{\t\t\t\n\t\t\tNameBuffer+=\":\";\n\t\t\tchar buf[50];\n\t\t\tTSPrintf(buf,\"%d\",pUdtData->u.LOCISBITFIELD.Size);\n\t\t\tNameBuffer+=buf;\n\t\t\tTSPrintf(buf,\"\\t /* start bit %d */\",pUdtData->u.LOCISBITFIELD.Position);\n\t\t\tNameBuffer+=buf;\n\t\t}\n\t}\n\tNameBuffer+=\";\\n\";\n\tif(FuncName!=FuncNameBuf)\n\t\tdelete []FuncName;\n\treturn NULL;\n}\nbool CSourceDebug::IsUnnamedUDT(DWORD dwTypeID)\n{\n\tPSDTYPE pType = GetSDTypeBySymbolID(dwTypeID);\n\tif(pType==NULL)\n\t\treturn false;\n\tif(pType->SDTypeInfile.Type==SD_CLASS || pType->SDTypeInfile.Type==SD_STRUCT || pType->SDTypeInfile.Type==SD_UNION)\n\t\tif(((PSDCLASSTYPE)&pType[1])->IsUnnamed)\n\t\t\treturn true;\n\treturn false;\n}\n/*\nchar* CSourceDebug::GetArrayIndexBegin(char* pArrayName)\n{\n\treturn TStrChr(pArrayName,\"[\");\n}\n*/\nvoid CSourceDebug::ReleaseIDiaSymbol()\n{\n\tPSDTYPE pType;\n\tIDiaSymbol* Symbol;\n\t//SDSymbolList::iterator BeginIt,EndIt;\n\tSD_SYMBOL_MAP::iterator BeginIt,EndIt;\n\tBeginIt = m_SymbolList.begin();EndIt=m_SymbolList.end();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\t\n\t\tpType = (*BeginIt).first.type;\n\t\tif(pType->Symbol)\n\t\t{\n\t\t\tSymbol = (IDiaSymbol*)pType->Symbol;\n\t\t\tpType->Symbol=NULL;\n\t\t\tSymbol->Release();\n\t\t}\n\t}\n}\n\nSDBASETYPENAME BaseTypeNameStructArray[27]=\n{\n\t{btNoType,\"NoType\"},\n\t{btVoid,\"void\"},\n\t{btChar,\"char\"},\n\t{btWChar,\"wchar\"},\n\t{btInt,\"short\"},\n\t{btInt1,\"char\"},\n\t{btInt2,\"short\"},\n\t{btInt4,\"int\"},\n\t{btInt8,\"__int64\"},\n\t{btUInt,\"unsigned short int\"},\n\t{btUint1,\"unsigned char\"},\n\t{btUint2,\"unsigned short\"},\n\t{btUint4,\"unsigned int\"},\n\t{btUint8,\"unsigned __int64\"},\n\t{btFloat,\"float\"},\n\t{btDouble,\"double\"},\n\t{btBCD,\"BCD\"},\n\t{btBool,\"bool\"},\n\t{btLong,\"long\"},\n\t{btULong,\"unsigned long\"},\n\t{btCurrency,\"Currency\"},\n\t{btDate,\"date\"},\n\t{btVariant,\"variant\"},\n\t{btComplex,\"complex\"},\n\t{btBit,\"bit\"},\n\t{btBSTR,\"BSTR\"},\n\t{btHresult,\"HRESULT\"},\n};\n"
  },
  {
    "path": "Project/SyserApp/Source/SourceDebug.h",
    "content": "#ifndef _SOURCEDEBUG_H_\n#define _SOURCEDEBUG_H_\n\n#include \"../../../Addition/DiaSDK2005/include/dia2.h\"\n#include \"../../../Addition/DiaSDK2005/include/cvconst.h\"\n#include \"../../../Addition/SyserDebugger/SDSymbol.h\"\n\n#define STRINGTABLEDUMPBLOCKSIZE (0x100000)\n#define NULLSYMBOLID  0\ntypedef int (*PACKEDSOURCEFILEFAILEDCALLBACK)(IN char *FileName,OUT char* NewFileName);\ntypedef void (*PFN_PROGRESS_SET_RANGE)(int Range);\ntypedef void (*PFN_PROGRESS_SET_POS)(int Pos);\n\ntypedef struct _DUMPSTRINGTABLEBLOCK\n{\n\tvoid * BlockBaseAddress;\n\tDWORD BeginOffset;\n\tDWORD EndOffset;\n}DUMPSTRINGTABLEBLOCK;\ntypedef list<DUMPSTRINGTABLEBLOCK> DUMP_STRING_LOCK_LIST;\ntypedef list<IDiaSymbol*> ARRAY_DIA_SYMBOL_LIST;\ntypedef struct _STRINGOFTABLE\n{\n\tchar* String;\n\t_STRINGOFTABLE(char* str)\n\t{\n\t\tString=str;\n\t}\n\tbool operator<(const struct _STRINGOFTABLE dest)const\n\t{\n\t\treturn TStrCmp(String,dest.String)<0;\n\t}\n\tinline operator char*()const\n\t{\n\t\treturn String;\n\t}\n}STRINGOFTABLE;\ntypedef map<STRINGOFTABLE,DWORD> STRING_TO_ID_MAP;\ntypedef struct _CV_HREG_eName\n{\n\tWCHAR* Name;\n\tDWORD id;\n}CV_HREG_eName;\n#define SDTYPE_DUMP_DELT sizeof(SDTYPE)-MEMBER_OFFSET(SDTYPE,Size)\n\nextern WCHAR *SymTagName[];\nextern WCHAR*basetypename[];\nextern WCHAR *datakindname[];\nextern SDBASETYPENAME BaseTypeNameStructArray[27];\nclass CTempSymbol\n{\n\tchar *m_Name;\n\tSDTYPE* m_Sdtype;\npublic:\n\tCTempSymbol()\n\t{\n\t\tm_Name=NULL;\n\t\tm_Sdtype=NULL;\n\t}\n\tCTempSymbol(char *name,DWORD SymTag,DWORD ID)\n\t{\n\t\tm_Name=name;\n\t\tm_Sdtype=NULL;\n\t}\n\n\tbool operator <(const CTempSymbol& source)const\n\t{\n\t\treturn (TStrCmp(m_Name,source.m_Name)<0);\n\t}\n\tvoid SetSDType(SDTYPE* type,char *Name=NULL)\n\t{\n\t\tm_Sdtype=type;\n\t\tif(Name)\n\t\t\tm_Name=Name;\n\t}\n\tSDTYPE* GetSDType(){return m_Sdtype;}\n};\n\ntypedef struct _STATICDATA\n{\n\tchar* Name;\n\tDWORD Rva;\n\tbool operator<(const struct _STATICDATA dest)const\n\t{\n\t\tif(Rva<dest.Rva)\n\t\t\treturn true;\n\t\tif(Rva==dest.Rva)\n\t\t\treturn TStrCmp(Name,dest.Name)<0;\n\t\treturn false;\n\t}\n}STATICDATA;\ntypedef map<STATICDATA,DWORD> STATIC_DATA_MAP;\ntypedef map<CTempSymbol,DWORD> SYMBOL_ID_MAP;\n\ntypedef map<DWORD,SDTYPE*> ID_TO_SYMBOL_MAP;\n\ntypedef struct _NAMEANDIDPAIR\n{\n\tchar* Name;\n\tDWORD Id;\n\tbool operator<(const struct _NAMEANDIDPAIR dest)const\n\t{\n\t\treturn TStrCmp(Name,dest.Name)<0;\n\t}\n}NAMEANDIDPAIR,*PNAMEANDIDPAIR;\ntypedef map<NAMEANDIDPAIR,DWORD>ID_TO_SOURCE_FILE_NAME_MAP;\n\ntypedef map<NAMEANDIDPAIR,SDCOMPILAND*> ID_TO_COMPILAND_NAME_MAP;\n\ntypedef struct _PREDEFINEBASETYPE\n{\n\tDWORD baseType;\n\tULONGLONG Length;\n\tchar Name[32];\n}PREDEFINEBASETYPE,*PPREDEFINEBASETYPE;\ntypedef struct _SYMBOLBASETYPE\n{\n\tDWORD baseType;\n\tULONGLONG Length;\n\tbool operator <(const struct _SYMBOLBASETYPE dest)const\n\t{\n\t\tif(baseType<dest.baseType)\n\t\t\treturn true;\n\t\tif(baseType==dest.baseType&& Length<dest.Length)\n\t\t\treturn true;\n\t\treturn false;\n\t}\n}SYMBOLBASETYPE,*PSYMBOLBASETYPE;\ntypedef vector<SDUDTDATAITEM*> DATA_TAG_VECTOR;\ntypedef map <SYMBOLBASETYPE,DWORD> BASE_TYPE_ID_MAP;\ntypedef struct stSymbolList\n{\n\tDWORD id;\n\tSDTYPE* type;\n\tbool operator<(const stSymbolList dest)const\n\t{\n\t\treturn id < dest.id;\n\t}\n\tbool operator==(const stSymbolList dest)const\n\t{\n\t\treturn id == dest.id;\n\t}\n}SYMBOLLIST;\n\ntypedef list<SYMBOLLIST> SD_SYMBOL_LIST;\n\ntypedef map<SYMBOLLIST,DWORD> SD_SYMBOL_MAP;//SymbolMap;\n\ntypedef struct _SDCONSTVAR\n{\n\tchar* Name;\n\tunion{\n\t\tDWORD Value;\n\t\tULONGLONG llValue;\n\t}u;\n\tbool operator<(const struct _SDCONSTVAR dest)const\n\t{\n\t\tif(u.llValue<dest.u.llValue)\n\t\t\treturn true;\n\t\tif(u.llValue==dest.u.llValue)\n\t\t{\n\t\t\treturn TStrCmp(Name,dest.Name)<0;\n\t\t}\n\t\treturn false;\n\t}\n}SDCONSTVAR,*PSDCONSTVAR;\ntypedef map<SDCONSTVAR,int> CONST_VAR_MAP;\ntypedef map<DWORD,PSDFUNCTIONITEM> ID_TO_FUNCTION_SYMBOL_MAP;//ToFunctionSymbolMap;\ntypedef struct stObjectPtr\n{\n\tDWORD dataKind;\n\tDWORD Register;\n\tDWORD DataId;\n\tSDUDTDATAITEM *pUdtDataItem;\n\tbool operator==(const struct stObjectPtr dest)const\n\t{\n\t\tif(dataKind==dest.dataKind&&Register==dest.Register)\n\t\t\treturn true;\n\t\treturn false;\n\t}\n}THISOBJECTPTR;\ntypedef struct stFunctionID\n{\n\tchar* Name;\n\tDWORD Rva;\n\tPSDFUNCTIONITEM pFuncItem;\n\n\tbool operator<(const struct stFunctionID dest)const\n\t{\n\t\tif(Rva<dest.Rva)\n\t\t\treturn true;\n\t\tif(Rva>dest.Rva)\n\t\t\treturn false;\n\t\treturn TStrCmp(Name,dest.Name)<0;\n\t\t\n\t}\n}STFUNCTIONID,*PSTFUNCTIONID;\ntypedef struct _STIMPORTMODULENAME\n{\n\tchar* Name;\n\tbool operator ==(const struct _STIMPORTMODULENAME dest)const\n\t{\n\t\treturn TStrICmp(Name,dest.Name)==0;\n\t}\n}STIMPORTMODULENAME,*PSTIMPORTMODULENAME;\ntypedef list <SDLINE> LINE_LIST;\ntypedef map<DWORD,PSTFUNCTIONID> ID_FUNCTION_MAP;\ntypedef map<STFUNCTIONID,DWORD> FUNCTION_ID_MAP;\ntypedef list<THISOBJECTPTR> THIS_OBJECT_PTR_LIST;\n\ntypedef map <SDPUBLICSYMBOL,DWORD> PUBLIC_SYMBOL_MAP ;\ntypedef long (__stdcall *PDLLGETCLASSOBJECT)(REFCLSID rclsid,REFIID riid,LPVOID * ppv);\t\n\ntypedef map<DWORD,list<DWORD>*> TYPE_DEPENDENCIES_LIST;\n\nclass MemberInfo\n{\npublic:\n\tMemberInfo(){}\n\tMemberInfo(CStrA Name,DWORD Offset,DWORD Location,DWORD Access,DWORD DataLen,DWORD Index)\n\t{\n\t\tm_Offset=Offset;\n\t\tm_Location=Location;\n\t\tm_Name=Name;\n\t\tm_Access=Access;\t\t\n\t\tm_DataLen=DataLen;\n\t\tm_Index=Index;\n\t}\n\tMemberInfo(DWORD Offset)\n\t{\n\t\tm_Offset=Offset;\t\t\n\t}\n\tMemberInfo(const MemberInfo& dest)\n\t{\n\t\tm_Offset=dest.m_Offset;\n\t\tm_Location=dest.m_Location;\n\t\tm_Name=dest.m_Name;\n\t\tm_Access=dest.m_Access;\t\n\t\tm_DataLen=dest.m_DataLen;\n\t\tm_Index=dest.m_Index;\n\t}\n\t~MemberInfo(){}\n\tDWORD m_Offset;\n\tDWORD m_Location;\n\tDWORD m_Access;\t\n\tDWORD m_DataLen;\n\tDWORD m_Index;\n\tCStrA m_Name;\n\tbool operator == (const MemberInfo& dest)const\n\t{\t\t\n\t\treturn m_Offset==dest.m_Offset;\n\t}\n};\ntypedef list <MemberInfo> MEMINFOLIST;\ntypedef struct _STUNIONHELP\n{\n\tDWORD Index;\n\tCStrA Str;\n\tbool operator ==(const struct _STUNIONHELP& dest)const\n\t{\n\t\treturn Index==dest.Index;\n\t}\n}STUNIONHELP,*P_STUNIONHELP;\ntypedef list<STUNIONHELP> UNIONHELPLIST;\ntypedef map<DWORD,DWORD> OFFSETMAP;\ntypedef map<DWORD,MEMINFOLIST> UNIONMEMBERMAP;\n\nclass CSourceDebug\n{\n\tIDiaSymbol* m_GlobalScopeSymbol;\n\tIDiaSession* m_DiaSession;\n\tIDiaDataSource *m_DiaDataSource;\n\tIDiaEnumFrameData* m_GlobalEnumFrameData;\n\tIDiaEnumSegments* m_GlobalEnumSegments;\n\tPDLLGETCLASSOBJECT m_DiaDllGetClassObject;\n\tHMODULE m_DiaDllModule;\npublic:\n\tCSourceDebug();\n\t~CSourceDebug();\n\tbool Init();\n\tbool Release();\n\tvoid ReleaseIDiaSymbol();\n\tbool IsTranslated(IN PCSTR szModuleName,PSTR szSymbolFileName=NULL);\n\tbool TranslateSymbolFile(IN PCSTR szModuleName,OUT char *szSymbolFileName,bool bPackedSrcFile=true);\n\tbool PackedSourceFile(PCSTR pSymbolFileName,PACKEDSOURCEFILEFAILEDCALLBACK pCallBack);\n\tbool GetSymbolType(IDiaSymbol* Symbol,DWORD &TypeId,DWORD& symTag);\n\tbool InitEnumFrameDataTable();\n\tWCHAR * GetRegisterNameById(DWORD RegId);\n\tbool DumpFrameData();\n\tbool MakeSDSegment();\n\tbool CreateSDSymbolFile(const char *FileName,DWORD TimeDateStamp=0,DWORD PECheckSum=0,const char* pExeFileName=NULL);\n\tchar *GetBaseTypeName1(DWORD BaseType,DWORD length=0);\n\tIDiaSymbol* FindSymbol(WCHAR *SymbolName,enum SymTagEnum SymTag=SymTagNull,IDiaSymbol* Symbol=NULL);\n\tIDiaSymbol* DumpSymTagPointerType(IDiaSymbol *Symbol,HANDLE pItem=NULL,DWORD *Depth=NULL);\n\tbool ListGlobalSymbols(bool IsPDBFile=false);\t\t\n\tchar *MakeFunctionTypeName(IDiaSymbol*Symbol);\n\tbool WriteSDSymbolFileCheckSum(const char *FileName);\n\t//\tݵļ\n\tDWORD DumpSDPublicSymbolToFile(DWORD* PublicSymbolNumbers=NULL);\n\tDWORD DumpSDThunkTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDBasicTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDUDTBaseClassTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDArrayToFile(SDTYPE* pType);\n\tDWORD DumpSDFunctionTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDFriendToFile(SDTYPE* pType);\n\tDWORD DumpSDPointerTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDReferenceTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDEnumTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDTypedefTypeToFile(SDTYPE* pType);\n\tDWORD DumpSDUDTTypeToFile(SDTYPE* pType);\t\n\tDWORD DumpSDManagedToFile(SDTYPE* pType);\t\n\tDWORD DumpSDCustomToFile(SDTYPE* pType);\n\tDWORD DumpSDLineNumberToFile(DWORD* LineNumbers=NULL);\n\tDWORD DumpSDSourceFileToFile(DWORD* SourceFileCounter=NULL);\t\n\tDWORD DumpSDBlockToFile(SDTYPE* pType);\n\tDWORD DumpSDVTableToFile(SDTYPE* pType);\n\tDWORD DumpSDCompilandToFile(DWORD* CompilandCounter=NULL);\n\tDWORD DumpSDDataToFile(SDUDTDATAITEM* pUdtDataItem);\n\tDWORD DumpSDFunctionToFile(PSDFUNCTIONITEM pType);\n\t//\n\tDWORD DumpSDTypeName(SDTYPE* pType);\n\tDWORD DumpSDTypeName(char* Name);\n\tDWORD DumpSDDataName(SDUDTDATAITEM* pUdtDataItem);\n\t// dump type to header file\n\tDWORD DumpSDEnumTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer);\n\tDWORD DumpSDTypedefTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer);\n\tDWORD DumpSDUDTTypeToHeaderFile(SDTYPE_INFILE* SDTypeInfile,CStrA& OutBuffer);\n\tDWORD DumpSDEnumTypeToHeaderFile(SDTYPE* pType,CStrA& OutBuffer);\n\tDWORD DumpSDTypedefTypeToHeaderFile(SDTYPE* pType,CStrA& OutBuffer);\n\tDWORD DumpSDUDTTypeToHeaderFile(SDTYPE* pType,CStrA& OutBuffer);\n\tDWORD DumpFunctionDeclareToHeaderFile(SDFUNCTIONITEM* pFuncItem,CStrA& OutBuffer);\n\tbool DumpHeaderFile(char* HeaderFileName);\n\t//\n\tDWORD MakeSDEXE(IDiaSymbol* Symbol);\n\tDWORD MakeSDCompiland(IDiaSymbol* Symbol);\n\tDWORD MakeSDUDTType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDVTableShapType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDBaseType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tvoid  MakePredefineSDBaseType();\n\tDWORD MakeSDType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDFunctionType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDPointerReferenceType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDPointerType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDReferenceType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDTypeDefType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDArrayType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDArrayType(IDiaSymbol* Symbol,DWORD PrevArrayTypeId,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDFriend(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDCustomType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDManagedType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDEnumType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL); \n\tDWORD MakeSDThunk(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL); \n\tDWORD MakeSDBaseClassType(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\t\n\tDWORD MakeSDPublicSymbol(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDBlock(IDiaSymbol *Symbol,list<DWORD>* BlockList=NULL);\n\tDWORD MakeSDVTable(IDiaSymbol* Symbol,DWORD* ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\t//ͷڴĺ\n\tvoid ReleaseSDType();\n\t//\n\tDWORD MakeSDDataTagType(IDiaSymbol* Symbol,DWORD *ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\tDWORD MakeSDFunction(IDiaSymbol* Symbol,DWORD *ReleaseFlags=NULL,SDTYPE** pTypeRetrun=NULL);\n\t//\n\tbool SetUDTDataItem(SDUDTDATAITEM* UdtDataItem,IDiaSymbol* Symbol);\n\tWCHAR* GetSDSymbolName(SDTYPE* pType,WCHAR *NameBuffer,DWORD *BufferLength,DWORD* RetureLength=NULL);\n\tWCHAR* GetSDSymbolName(DWORD SymbolId,WCHAR *NameBuffer,DWORD *BufferLength);\n\tchar *GetSDSymbolName(DWORD SymbolId);\n\tSDTYPE* GetSDTypeBySymbolID(DWORD SymbolID);\n\tSDUDTDATAITEM* GetSDDateTypeBySymbolID(DWORD DataId);\n\tchar* GetFuncParamBegin(char* FunctionPointerName);\n\tchar* GetArrayIndexBegin(char* pArrayName);\n\tchar* GetFunctionName(IN PSDFUNCTIONITEM pFuncItem,OUT char* Buffer,IN DWORD BufferLen);\n\tchar* GetUDTDataMemberName(IN DWORD DataID,OUT CStrA& NameBuffer,DWORD& dwOffset,DWORD& dwLocation,OUT DWORD& dwDataLen);\n\tchar* GetUDTFunctionMemberName(DWORD FuncID,OUT CStrA& NameBuffer);\n\tbool IsFunctionPointer(DWORD dwTypeID);\n\tbool IsFunctionPointer(PSDTYPE pType);\n\tbool IsFunctionPointer(PSDTYPE_INFILE  SDTypeInfile);\n\tbool IsUnnamedSDType(char *name);\t\n\tbool ModifyVTableName(char *Name);\n\n\tbool GetPEFileTimeDateStamp(IN const char* pPEFileName,OUT DWORD *TimeDateStamp,OUT DWORD* PECheckSum);\n\tPSDFUNCTIONITEM GetFunctionItemByID(IN DWORD FuncID);\n\tbool DumpSymTagPublicSymbol(IDiaSymbol* Symbol,HANDLE pItem=NULL);\n\tWCHAR *GetSymbolName(IN IDiaSymbol* Symbol,IN DWORD NameMaxLen,OUT WCHAR *Name);\n\tWCHAR *GetSymbolTypeName(IN IDiaSymbol* Symbol,IN DWORD NameMaxLen,OUT WCHAR *Name);\n\tbool CheckSymbolSymTagType(IDiaSymbol *Symbol,enum SymTagEnum TagType);\n\tbool OpenPdbFile(PCSTR filename,  IDiaDataSource** m_DiaDataSource, IDiaSession** m_DiaSession,  IDiaSymbol** m_GlobalScopeSymbol,OUT bool* IsPDBFile=NULL); \n\tvoid ClosePdbFile();\n\tHRESULT NoRegCoCreate(PCSTR dllName,REFCLSID rclsid,REFIID riid,void **ppv);\n\tbool IsSymbolFile(PCSTR pFileName);\n\tbool GetPDBFileName(char* pSymbolFileName,char* pPDBFileName,DWORD* BufferLen=NULL);\n\tbool GetPEFileFullName(PCSTR FileName,char* pPEFileFullName,DWORD* BufferLen);\n\tbool TestFunction();\n\tbool LoadPESym(PCSTR wFileName);\n\tbool GetArrayList(IDiaSymbol* Symbol,ARRAY_DIA_SYMBOL_LIST* ArrayList);\n\n\tPFN_PROGRESS_SET_RANGE m_pfnSetRange;\n\tPFN_PROGRESS_SET_POS m_pfnSetPos;\n\tint m_ProgressStep;\n\n\tSYMBOL_ID_MAP m_TempSymbolID;\n\tBASE_TYPE_ID_MAP m_BaseTypeID;\n\tSTATIC_DATA_MAP m_StaticDataMap;\n\tSTRING_TO_ID_MAP m_String2IDMap;\n\tTHIS_OBJECT_PTR_LIST m_ThisObjectPtrList;\n\tDATA_TAG_VECTOR m_DataTagVector;\n\tmap <DWORD,SDTYPE*>m_ThunkIDMap;\n\tFUNCTION_ID_MAP m_FuntionID;\n\tID_FUNCTION_MAP m_IDFuntionMap;\n\tSYMBOL_ID_MAP m_UDTSymbolID;\n\tSYMBOL_ID_MAP m_PointerID;\n\tSYMBOL_ID_MAP m_ReferenceID;\n\tSD_SYMBOL_LIST m_FuncSymbolList;\n\tSD_SYMBOL_LIST m_TypeDefList;\n\tSD_SYMBOL_LIST m_BaseClassList;\n\tlist<DWORD> m_FunctionRavList;\n\tSD_SYMBOL_LIST m_EnumList;\n\tSD_SYMBOL_LIST m_ArrayList;\n\tSD_SYMBOL_LIST m_UnnamedUdtList;\n\tID_TO_SOURCE_FILE_NAME_MAP m_IdToSourceFileNameMap;\n\tID_TO_COMPILAND_NAME_MAP m_IdToCompilandMap;\n\tSYMBOL_ID_MAP::iterator m_TempSymbolIDIter;\n\n\tDWORD m_CurrentSymbolIndex;\n\tDWORD m_CurrentDataSymbolIndex;\n\tDWORD m_CurrentCompilandIndex;\n\tDWORD m_CurrentFunctionSymbolIndex;\n\tDWORD m_StringNameID;//=0;\n\tbool m_StringName;//=false;\n\tID_TO_SYMBOL_MAP m_IDToSymbolMap;\n\tID_TO_SYMBOL_MAP::iterator m_IDToSymbolMapIter;\n\t//SDSymbolList m_SymbolList;\n\tSD_SYMBOL_MAP m_SymbolList;\n\tchar* m_StringTable;\n\tHANDLE m_hFile;\n\tDWORD m_FileOffset;\n\tDWORD m_StringTableOffset;\n\tDWORD m_StringIndex;\n\tDWORD m_CurrentSourceFileIndex;\n\tvector <DWORD>m_StringIDVector;\n\tLINE_LIST m_TotalLineNumber;\n\tPUBLIC_SYMBOL_MAP m_PublicSymbolList;\n\tPUBLIC_SYMBOL_MAP  m_VTablePublicSymbolList;\n\tDWORD m_CurrentStringTableMaxLen;\n\tDWORD m_StringTableBlockBeginOffset;\n\tDUMP_STRING_LOCK_LIST m_StringDumpBlockList;\n\n\tTYPE_DEPENDENCIES_LIST m_TypeDependenciesList;\n\n\tID_TO_FUNCTION_SYMBOL_MAP m_IDToFunctionSymbolMap;\n\tlist<STIMPORTMODULENAME> m_ImportModuleNameList;\n\tofstream* m_HeaderOutStream;\n\tchar * m_PEFileName;\n\tchar * m_PDBFileName;\n\n\tchar* GetSDSymbolName(PSDTYPE pType,OUT char *NameBuffer,INOUT int *BufferLength);\n\tchar* GetSDSymbolName(IN PSDTYPE_INFILE pType,OUT char *NameBuffer,INOUT int *BufferLength);\n\tchar* GetSDSymbolName(IN DWORD SymbolId,OUT char *NameBuffer,INOUT int *BufferLength);\n\tchar* GetFunctionName(IN PSDFUNCTIONITEM pFuncItem,OUT char* NameBuffer,INOUT int* BufferLength);\n\tPSDFUNCTIONITEM GetSDFunctionByID(DWORD FunctionId);\n\tstatic SDCALLCONVENTIONPAIR m_CallConvention[24];\n\tstatic char* GetCallConventionName(DWORD dwType);\n\tvoid InitDependencies();\n\tbool IsUnnamedUDT(DWORD dwTypeID);\n\tvoid ReleaseDependencies();\n\tbool MakeUDTDependencies(PSDTYPE pType);\n\tlist<DWORD> m_OutputTypeList;\n\tvoid GetDataMemberFullName(IN DWORD DataID,bool HasParentName=false);\n\tbool DumpSDUDTTypeToHeaderFile(DWORD TypeID,CStrA& OutBuffer);\n\tbool GetDataBitFieldInfo(IN DWORD DataID,OUT DWORD& TypeID,OUT DWORD& BitFieldCount,OUT DWORD& TypeLen);/* λͱһЩϢ */ \n\tbool GetUDTDataOffsetAndLength(IN DWORD DataID,OUT DWORD& Offset,OUT DWORD& DataLen);/* udt ݳԱλƺͳ */ \\\n\tbool IsAllBitField(MEMINFOLIST& pList,DWORD& BitFieldCount,DWORD& BitFieldBegin,DWORD& BitFieldEnd); /* жϸһUDT ͵ĳԱбǷȫλ͵ĳԱ */\n\tvoid InitUnameUDT(SDTYPE_INFILE* SDTypeInfile,MEMINFOLIST& DataList,UNIONMEMBERMAP& UnionMemberMap,  UNIONHELPLIST& HelpList);\n\tDWORD HaveNestedUnameUnion(DWORD Offset,UNIONMEMBERMAP& UnionMemberMap);//жǷǶ׵ δ UDT\n\tbool HaveNestedUnameStruct(DWORD Offset,UNIONMEMBERMAP& UnionMemberMap,MEMINFOLIST& DataList,UNIONHELPLIST& HelpList,DWORD& LastIndex);\n\tvoid InitUnameUDT(SDTYPEIDS TypeIDs, DWORD Offset,MEMINFOLIST& DataList,UNIONMEMBERMAP& UnionMemberMap,  UNIONHELPLIST& HelpList,OFFSETMAP& Finish,bool bFirst);\n};\nDWORD GetBaseTypeIdByName(char*Name);\n\n#endif /* _SOURCEDEBUG_H_ */"
  },
  {
    "path": "Project/SyserApp/Source/StdAfx.cpp",
    "content": "#include  \"StdAfx.h\"\n\n"
  },
  {
    "path": "Project/SyserApp/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include <iostream>\n#include <fstream>\n#include <list>\n#include <map>\n#include <vector>\n#include <algorithm>\nusing namespace std;\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../EXEAnalyzer/Source/EXEAnalyzer.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n#include \"../../WinWisp/Source/WinWisp.h\"\n//NA #include \"../../SerialNumber/Source/Validate.h\"\n\n#include \"ddraw.h\"\n#include <DbgHelp.h>\n#include <tlhelp32.h>\n#include <PsApi.h>\n#include <Wininet.h>\n#include <SyserDebugger.h>\n\n//NA #include \"../../SDbgMsg/Source/SDbgMsg.h\"\n#include \"../../Syser/Source/SyserDefine.h\"\n#include \"../../Syser/Source/X86Define.h\"\n\n#include \"NTDriver.h\"\n#include \"DXTest.h\"\n\n#include \"SourceDebug.h\"\n#include \"Resource.h\"\n#include \"SyserResource.h\"\n#include \"SyserAppOption.h\"\n#include \"../../Syser/Source/SyserOption.h\"\n#include \"../../Syser/Source/ColorOption.h\"\n#include \"../../Addition/SyserDebugger/SyserVersion.h\"\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/SymbolDownloader.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SymbolDownloader.h\"\n#include \"NoPDBSymbol.h\"\n#ifdef CODE_OS_WIN\n#include <shlobj.h>\n#ifdef _SYSER_\n#include \"../Syser/SyserApp.h\"\n#else\n#include \"SyserApp.h\"\nCSyserApp* gpSyser=&theApp;\n#endif\n\n#endif\n\nenum CSymbolDownloaderDlg::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_ADDFILE = WISP_ID_USER_START,\n\tCMD_ID_BUTTON_DELFILE,\n\tCMD_ID_BUTTON_GETSYMBOL,\n\tCMD_ID_BUTTON_STOP,\n\tCMD_ID_LIST_FILE,\n\tCMD_ID_EDIT_SYMBOLSITE,\n\tCMD_ID_BUTTON_RESETSYMBOLSITE,\n\tCMD_ID_EDIT_PDBSAVEPATH,\n\tCMD_ID_BUTTON_BROWSEPDBSAVEPATH,\n\tCMD_ID_EDIT_SDSSAVEPATH,\n\tCMD_ID_BUTTON_BROWSESDSSAVEPATH,\n\tCMD_ID_UPDATEDOWNLOADSTATE,\n\tCMD_ID_STATIC_SYMBOL_SITE,\n\tCMD_ID_STATIC_PDB_PATH,\n\tCMD_ID_STATIC_SDS_PATH,\n\tCMD_ID_STATIC_MAIN_DIB,\n};\n\nWISP_MSG_MAP_BEGIN(CSymbolDownloaderDlg)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnResize)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CSymbolDownloaderDlg)\n\tWISP_MSG_CMD_MAP(CMD_ID_UPDATEDOWNLOADSTATE,OnCmdUpdateDownLoadState)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSymbolDownloaderDlg)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_RESETSYMBOLSITE,OnEventButtonResetSymbolSite)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_BROWSEPDBSAVEPATH,OnEventButtonBrowsePDBSavePath)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_BROWSESDSSAVEPATH,OnEventButtonBrowseSDSSavePath)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_STOP,OnEventButtonStop)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_ADDFILE,OnEventButtonAddFile)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_DELFILE,OnEventButtonDelFile)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_GETSYMBOL,OnEventButtonGetSymbol)\nWISP_MSG_EVENT_MAP_END\n\nWISP_FORM_RES_ITEM CSymbolDownloaderDlg::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,400},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{10,10,390,220},\n\t\tCMD_ID_LIST_FILE,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER|WISP_WLS_SELECTED_ALWAYS,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,50,100,20},\n\t\tCMD_ID_BUTTON_ADDFILE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Add File(s)\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,80,100,20},\n\t\tCMD_ID_BUTTON_DELFILE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Del File(s)\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,110,100,20},\n\t\tCMD_ID_BUTTON_GETSYMBOL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Get Symbols\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,140,100,20},\n\t\tCMD_ID_BUTTON_STOP,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Stop\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{460,180,32,32},\n\t\tCMD_ID_STATIC_MAIN_DIB,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:1\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,240,70,20},\n\t\tCMD_ID_STATIC_SYMBOL_SITE,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Symbol Site\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,270,110,20},\n\t\tCMD_ID_STATIC_PDB_PATH,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Download PDB Path\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,300,110,20},\n\t\tCMD_ID_STATIC_SDS_PATH,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Converted SDS Path\"),\n\t\tNULL,\n\t},\n\t\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{130,240,270,20},\n\t\tCMD_ID_EDIT_SYMBOLSITE,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{130,270,270,20},\n\t\tCMD_ID_EDIT_PDBSAVEPATH,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{130,300,270,20},\n\t\tCMD_ID_EDIT_SDSSAVEPATH,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,240,100,20},\n\t\tCMD_ID_BUTTON_RESETSYMBOLSITE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Reset\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,270,100,20},\n\t\tCMD_ID_BUTTON_BROWSEPDBSAVEPATH,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,300,100,20},\n\t\tCMD_ID_BUTTON_BROWSESDSSAVEPATH,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Browse\"),\n\t\tNULL,\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nCSymbolDownloaderDlg::CSymbolDownloaderDlg()\n{\n\tm_SDSSavePathIndex=0;\n\tm_PDBSavePathIndex=0;\n\tm_pFormRes = m_FormRes;\n\tm_GetSymbolThread=false;\n\tm_Stop=false;\n\tInitializeCriticalSection(&m_CriticalSection);\n}\n\nCSymbolDownloaderDlg::~CSymbolDownloaderDlg()\n{\n\tSDSSAVEPATHLIST::IT BeginIT,EndIT;\n\tBeginIT = m_SDSSavePathList.Begin();\n\tEndIT = m_SDSSavePathList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\tdelete (*BeginIT).Name;\n\tPDBSAVEPATHLIST::IT BeginIT1,EndIT1;\n\tBeginIT1 = m_PDBSavePathList.Begin();\n\tEndIT1 = m_PDBSavePathList.End();\n\tfor(;BeginIT1!=EndIT1;BeginIT1++)\n\t\tdelete (*BeginIT1).Name;\n\tSYMFINDPATHLIST::IT  BeginIT2,EndIT2;\n\tBeginIT2 = m_SymFindPathList.Begin();\n\tEndIT2 = m_SymFindPathList.End();\n\tfor(;BeginIT2!=EndIT2;BeginIT2++)\n\t\tdelete (*BeginIT2).Name;\n\tDeleteCriticalSection(&m_CriticalSection);\n}\n\nbool CSymbolDownloaderDlg::OnResize(IN WISP_MSG*pMsg)\n{\n\tm_FileList->Resize(m_ClientRect.cx - m_AddFileButton->m_WindowRect.cx - 60 ,m_ClientRect.cy-120,false);\n\tm_AddFileButton->MoveToClient(m_ClientRect.cx - m_AddFileButton->m_WindowRect.cx - 20,m_AddFileButton->m_ScrWindowRect.y - m_ScrWindowRect.y,false);\n\tm_DelFileButton->MoveToClient(m_ClientRect.cx - m_DelFileButton->m_WindowRect.cx - 20,m_DelFileButton->m_ScrWindowRect.y - m_ScrWindowRect.y,false);\n\tm_GetSymbolButton->MoveToClient(m_ClientRect.cx - m_GetSymbolButton->m_WindowRect.cx - 20,m_GetSymbolButton->m_ScrWindowRect.y - m_ScrWindowRect.y,false);\n\tm_StopButton->MoveToClient(m_ClientRect.cx - m_StopButton->m_WindowRect.cx - 20,m_StopButton->m_ScrWindowRect.y - m_ScrWindowRect.y,false);\n\tm_MainStaticDIB->MoveToClient(m_ClientRect.cx - m_MainStaticDIB->m_WindowRect.cx - 50,m_MainStaticDIB->m_ScrWindowRect.y - m_ScrWindowRect.y,false);\n\tm_SymbolSiteStatic->MoveToClient(10,m_ClientRect.cy - 90,false);\n\tm_PDBPathStatic->MoveToClient(10,m_ClientRect.cy - 60,false);\n\tm_SDSPathStatic->MoveToClient(10,m_ClientRect.cy - 30,false);\n\tm_SymbolSiteEdit->MoveToClient(150,m_SymbolSiteStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\tm_SymbolSiteEdit->Resize(m_FileList->m_WindowRect.cx- m_SymbolSiteEdit->m_ScrWindowRect.x +m_FileList->m_ScrWindowRect.x,m_SymbolSiteEdit->m_WindowRect.cy,false);\n\tm_PDBSavePathEdit->MoveToClient(150,m_PDBPathStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\tm_PDBSavePathEdit->Resize(m_FileList->m_WindowRect.cx- m_PDBSavePathEdit->m_ScrWindowRect.x +m_FileList->m_ScrWindowRect.x,m_PDBSavePathEdit->m_WindowRect.cy,false);\n\tm_SDSSavePathEdit->MoveToClient(150,m_SDSPathStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\tm_SDSSavePathEdit->Resize(m_FileList->m_WindowRect.cx- m_SDSSavePathEdit->m_ScrWindowRect.x +m_FileList->m_ScrWindowRect.x,m_SDSSavePathEdit->m_WindowRect.cy,false);\n\tm_SymbolSiteResetButton->MoveToClient(m_ClientRect.cx-m_SymbolSiteResetButton->m_WindowRect.cx-20,m_SymbolSiteStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\tm_BrowsePDBSavePathButton->MoveToClient(m_ClientRect.cx-m_BrowsePDBSavePathButton->m_WindowRect.cx-20,m_PDBPathStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\tm_BrowseSDSSavePathButton->MoveToClient(m_ClientRect.cx-m_BrowseSDSSavePathButton->m_WindowRect.cx-20,m_SDSPathStatic->m_ScrWindowRect.y-m_ScrWindowRect.y-5,false);\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonResetSymbolSite(IN WISP_MSG*pMsg)\n{\n\tm_SymbolSiteEdit->SetWindowText(OrgSyserAppOption.szSymbolSite);\n\tm_SymbolSiteEdit->Update();\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonBrowsePDBSavePath(IN WISP_MSG*pMsg)\n{\n\tWCHAR szPathName[MAX_FN_LEN];\n\tif(m_pWispBase->SelectDirForm(szPathName,WSTR(\"Please select PDB Save Path\"))==false)\n\t\treturn true;\n\tm_PDBSavePathEdit->SetWindowText(szPathName);\n\tm_PDBSavePathEdit->Update();\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonBrowseSDSSavePath(IN WISP_MSG*pMsg)\n{\n\tWCHAR szPathName[MAX_FN_LEN];\n\tif(m_pWispBase->SelectDirForm(szPathName,WSTR(\"Please select Converted SDS Save Path\"))==false)\n\t\treturn true;\n\tm_SDSSavePathEdit->SetWindowText(szPathName);\n\tm_SDSSavePathEdit->Update();\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonAddFile(IN WISP_MSG*pMsg)\n{\n\tchar szFileNameA[MAX_FN_LEN];\n\tWCHAR szFileName[MAX_FN_LEN];\n\tif(m_pWispBase->SelectFileForm(NULL,WSTR(\"Binaries Files|*.exe;*.dll;*.cpl;*.sys;*.scr;*.ocx|All Files|*.*|\"),false,szFileName,MAX_FN_LEN)==false)\n\t\treturn true;\n\tWORKFILELIST::IT FindIT;\n\tHANDLE hItem;\n\tUnicodeToAnsi(szFileName,szFileNameA,MAX_FN_LEN);\n\tFindIT = m_CurrentFileList.InsertUnique(szFileNameA);\n\tif(FindIT!=m_CurrentFileList.End())\n\t{\n\t\t(*FindIT).FileName = FindIT.Key();\n\t\thItem = m_FileList->InsertItem(szFileName);\n\t\tm_FileList->SetItemData(hItem,1,0);\n\t}\n\tUpdate();\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonStop(IN WISP_MSG*pMsg)\n{\n\tm_Stop=true;\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonDelFile(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem,hNextItem;\n\tWCHAR* pFileName;\n\tchar* Name;\n\tWORKFILELIST::IT FindIT;\n\thItem = m_FileList->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn true;\n\tdo \n\t{\n\t\tpFileName = m_FileList->GetItemText(hItem);\n\t\tName = new char[TStrLen(pFileName)+1];\n\t\tTStrCpy(Name,pFileName);\n\t\tFindIT = m_CurrentFileList.Find(Name);\n\t\tif(FindIT!=m_CurrentFileList.End())\n\t\t{\n\t\t\tm_CurrentFileList.Remove(FindIT);\n\t\t}\n\t\thNextItem = m_FileList->GetNextItem(hItem,WISP_WLIS_SELECTED);\n\t\tm_FileList->RemoveItem(hItem);\n\t\thItem=hNextItem;\n\t\tdelete Name;\n\t} while(hItem);\n\tUpdate();\n\treturn true;\n}\n\nDWORD WINAPI GetSymbolThread(LPVOID lpParameter)\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\tWCHAR* PathName;\n\tchar* pStr;\n\tCGetSymbolStat CurSymbolStat;\n\t\n\tCSymbolDownloaderDlg* pDlg = (CSymbolDownloaderDlg*)lpParameter;\n\tpDlg->m_GetSymbolThread=true;\n\tpDlg->m_Stop=false;\n\tfor(;pDlg->m_Stop==false;)\n\t{\n\t\tEnterCriticalSection(&pDlg->m_CriticalSection);\n\t\tBeginIT=pDlg->m_CurrentFileList.Begin();\n\t\tEndIT=pDlg->m_CurrentFileList.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tif((*BeginIT).Stat>=2)\n\t\t\t\tcontinue;\n\t\t\tbreak;\n\t\t}\n\t\tif(BeginIT==EndIT)\n\t\t{\n\t\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\t\tpDlg->m_GetSymbolThread=false;\n\t\t\tbreak;\n\t\t}\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\tPathName = pDlg->m_PDBSavePathEdit->GetWindowText();\n\t\t\tpStr = new char[TStrLen(PathName)+1];\n\t\t\tstPDBName.Name = pStr;\n\t\t\tTStrCpy(pStr,PathName);\n\t\t\tPDBIT = pDlg->m_PDBSavePathList.Find(stPDBName);\n\t\t\tif(PDBIT==pDlg->m_PDBSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stPDBName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete []pStr;\n\t\t\t\tstPDBName=*PDBIT;\n\t\t\t}\n\t\t\tPathName = pDlg->m_SDSSavePathEdit->GetWindowText();\n\t\t\tpStr = new char[TStrLen(PathName)+1];\n\t\t\tstSDSName.Name = pStr;\n\t\t\tTStrCpy(pStr,PathName);\n\t\t\tSDSIT = pDlg->m_SDSSavePathList.Find(stSDSName);\n\t\t\tif(SDSIT==pDlg->m_SDSSavePathList.End())\n\t\t\t{\n\t\t\t\tpDlg->m_PDBSavePathList.Append(stSDSName);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tdelete []pStr;\n\t\t\t\tstSDSName=*SDSIT;\n\t\t\t}\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\t\t}\n\t\t(*BeginIT).Stat=2;\n\t\tCurSymbolStat=(*BeginIT);\n\t\tLeaveCriticalSection(&pDlg->m_CriticalSection);\n\t\tWIN32_FIND_DATA FindData;\n\t\tHANDLE hFindHandle;\n\t\thFindHandle = FindFirstFile(CurSymbolStat.PDBSavePath,&FindData);\n\t\tif(hFindHandle == INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.PDBSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\thFindHandle = FindFirstFile(CurSymbolStat.SDSSavePath,&FindData);\n\t\tif(hFindHandle == INVALID_HANDLE_VALUE)\n\t\t{\n\t\t\tCreateDirectory(CurSymbolStat.SDSSavePath,NULL);\n\t\t}else\n\t\t\tFindClose(hFindHandle);\n\t\tpDlg->DownLoadSymbol(CurSymbolStat);\n\t}\n\treturn 0;\n}\n\nbool CSymbolDownloaderDlg::DownLoadSymbol(CGetSymbolStat& SymbolStat)\n{\n\tCPEFile PEFile;\n\tDWORD Index;\n\tPE_DEBUG_MISC DebugMisc;\n\tPE_DEBUG_PDB DebugPDB;\n\tPE_DEBUG_CODEVIEW DebugCodeView;\n\tPPE_DEBUG_DIRECTORY pDebugDirectory;\n\tPE_DATA_DIR DebugDataDirectory;\n\tDWORD DebugDirecotryNum=0;\n\tDWORD Signature;\n\tBOOL bRet;\n\tDWORD ErrorCode=0;\n\tDWORD SymbolFileType = 0xffffffff;\n\tDWORD ReadLen;\n\tDWORD PathLen;\n\tBYTE * Buffer=NULL;\n\tTList<char*>DeleteFileList;\n\tchar* NoPathFileName;\n\tchar FindPath[MAX_PATH+1];\n\tchar FileName[MAX_PATH+1];\n\tchar FindFileName[MAX_PATH+1];\n\tchar SymbolFileName[MAX_PATH+1];\n\tWISP_MSG Msg;\n\t\n\t\n\tmemset(&DebugDataDirectory,0,sizeof(PE_DATA_DIR));\n\tif(PEFile.Open(SymbolStat.FileName)==false)\n\t\treturn false;\n\tif(PEFile.GetDataDirectory(6,&DebugDataDirectory)==false)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.VirtualAddress ==0)\n\t\tgoto local_quit;\n\tif(DebugDataDirectory.Size>0x10000||DebugDataDirectory.Size==0)\n\t\tgoto local_quit;\n\tNoPathFileName = TGetFileName(SymbolStat.FileName);\n\tPathLen = *(DWORD*)&NoPathFileName-*(DWORD*)&SymbolStat.FileName;\n\tBuffer=new BYTE[DebugDataDirectory.Size];\n\tmemset(Buffer,0,DebugDataDirectory.Size);\n\tReadLen = PEFile.ReadImageMemory(DebugDataDirectory.VirtualAddress+PEFile.m_PEHead.ImageBase,Buffer,DebugDataDirectory.Size);\n\tif(ReadLen!=DebugDataDirectory.Size)\n\t\tgoto local_quit;\n\tpDebugDirectory =(PPE_DEBUG_DIRECTORY) Buffer;\n\tDebugDirecotryNum = DebugDataDirectory.Size / sizeof(PE_DEBUG_DIRECTORY);\n\tfor(Index = 0; Index<DebugDirecotryNum;Index++)\n\t{\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_CODEVIEW&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&Signature,sizeof(Signature))==false)\n\t\t\t\tcontinue;\n\t\t\tif(Signature==0x53445352)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugPDB,sizeof(DebugPDB))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=3;\n\t\t\t}\n\t\t\telse if(Signature==0x3031424e)\n\t\t\t{\n\t\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugCodeView,sizeof(DebugCodeView))==false)\n\t\t\t\t\tcontinue;\n\t\t\t\tSymbolFileType=2;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif(pDebugDirectory[Index].Type==IMAGE_DEBUG_TYPE_MISC&&pDebugDirectory[Index].PointerToRawData)\n\t\t{\n\t\t\tif(PEFile.ReadFile(pDebugDirectory[Index].PointerToRawData,&DebugMisc,sizeof(PE_DEBUG_MISC))==false)\n\t\t\t\tcontinue;\n\t\t\tSymbolFileType=1;\n\t\t\tcontinue;\n\t\t}\n\t}\n\tMsg.Msg=WISP_WM_COMMAND;\n\tMsg.hWnd=this;\n\tMsg.Command.CmdID=CMD_ID_UPDATEDOWNLOADSTATE;\n\tMsg.Command.Param2=SymbolStat.FileName;\n\tMsg.Command.Param1=3;\n\tPOST_MSG(&Msg);\n\tsprintf(FindPath,\"srv*%s*%s\",SymbolStat.PDBSavePath,SymbolStat.FindPath);\nlocal_001:\n\tswitch(SymbolFileType)\n\t{\n\tcase 1:\n\t\tTStrCpy(FileName,DebugMisc.Data);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&PEFile.m_PEHead.TimeDateStamp),PEFile.m_PEHead.SizeOfImage,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tif(bRet)\n\t\t{\n\t\t\tif(GetDebugCodeviewByDbg(FindFileName,&DebugCodeView))\n\t\t\t{\n\t\t\t\tmemset(FileName,0,sizeof(FileName));\n\t\t\t\tTStrNCpy(FileName,SymbolStat.FileName,PathLen);\n\t\t\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\t\t\tif(TStrICmp(FileName,FindFileName))\n\t\t\t\t{\n\t\t\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t\t\t{\n\t\t\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tSymbolFileType=2;\n\t\t\t\tgoto local_001;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase 2:\n\t\tTStrCpy(FileName,DebugCodeView.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,(PVOID)(*(DWORD**)&DebugCodeView.TimeDateStamp),DebugCodeView.Age,0,SSRVOPT_DWORD,FindFileName,NULL,0);\n\t\tbreak;\n\tcase 3:\n\t\tTStrCpy(FileName,DebugPDB.Name);\n\t\tbRet = m_SymFindFileInPath(0,FindPath,FileName,&DebugPDB.Guid,DebugPDB.Age,0,SSRVOPT_GUIDPTR,FindFileName,NULL,0);\n\t\tbreak;\n\tdefault:\n\t\tbRet=false;\n\t\tbreak;\n\t}\n\tif(bRet==false)\n\t{\n\t\tMsg.Command.Param1=2;\n\t\tPOST_MSG(&Msg);\n\t}\n\telse\n\t{\n\t\tmemset(FileName,0,sizeof(FileName));\n\t\tTStrNCpy(FileName,SymbolStat.FileName,PathLen);\n\t\tTStrCat(FileName,TGetFileName(FindFileName));\n\t\tif(TStrICmp(FileName,FindFileName))\n\t\t{\n\t\t\tif(CopyFile(FindFileName,FileName,false))\n\t\t\t{\n\t\t\t\tchar* DeleteFileName = new char[TStrLen(FileName)+1];\n\t\t\t\tTStrCpy(DeleteFileName,FileName);\n\t\t\t\tDeleteFileList.Append(DeleteFileName);\n\t\t\t}\n\t\t}\n\t\tMsg.Command.Param1=4;\n\t\tPOST_MSG(&Msg);\n\t\tif(TranslateSymbolFile(SymbolFileType,SymbolStat.FileName,SymbolFileName))\n\t\t{\n\t\t\tmemset(FileName,0,sizeof(FileName));\n\t\t\tTStrCpy(FileName,SymbolStat.SDSSavePath);\n\t\t\tif(FileName[TStrLen(FileName)-1]!=PATH_SEPARATOR_CHAR)\n\t\t\t\tTStrCat(FileName,\"\\\\\");\n\t\t\tTStrCat(FileName,TGetFileName(SymbolFileName));\n\t\t\tif(TStrICmp(SymbolFileName,FileName))\n\t\t\t{\n\t\t\t\tDeleteFile(FileName);\n\t\t\t\tMoveFile(SymbolFileName,FileName);\n\t\t\t}\n\t\t}\n\t\tTList<char*>::IT BeginIT,EndIT;\n\t\tBeginIT=DeleteFileList.Begin();\n\t\tEndIT=DeleteFileList.End();\n\t\tfor(;BeginIT!=EndIT;BeginIT++)\n\t\t{\n\t\t\tBOOL bretf=false;\n\t\t\tbretf = ::DeleteFile(*BeginIT);\n\t\t\tif(bretf==false)\n\t\t\t\t::MessageBox(NULL,*BeginIT,\"Delete File Error!\",MB_OK);\n\t\t\tdelete *BeginIT;\n\t\t}\n\t\tDeleteFileList.Clear();\n\t\tMsg.Command.Param1=1;\n\t\tPOST_MSG(&Msg);\n\t}\nlocal_quit:\n\tif(Buffer)\n\t\tdelete []Buffer;\n\tPEFile.Close();\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::TranslateSymbolFile(IN int Type,IN char* pExeFileName,OUT char* pSymbolFileName)\n{\n\tif(Type!=1)\n\t{\n\t\tCSourceDebug PDBExplorer;\n\t\treturn PDBExplorer.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n\t}\n\tCNoPDBSymbol NoPDBSymbol;\n\tNoPDBSymbol.Init();\n\treturn NoPDBSymbol.TranslateSymbolFile(pExeFileName,pSymbolFileName);\n}\n\nbool CSymbolDownloaderDlg::GetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView)\n{\n\tDWORD Signature=('0'<<24)+('1'<<16)+('B'<<8)+'N';\n\tDWORD i;\n\tbool bRet=false;\n\tCImageFile ImageFile;\n\tBYTE *Buf=NULL;\n\n\tif(ImageFile.Open(DbgFileName)==false)\n\t\treturn false;\n\tif(ImageFile.m_FileSize<=0x100000*10&&ImageFile.m_FileSize>100)\n\t{\n\t\tBuf = new BYTE[ImageFile.m_FileSize];\n\t\tif(ImageFile.ReadFile(0,Buf,ImageFile.m_FileSize)==false)\n\t\t{\n\t\t\tgoto local_quit;\n\t\t}\n\t\tfor(i = 0;i < ImageFile.m_FileSize-3;i++)\n\t\t{\n\t\t\tif(*(DWORD*)&Buf[i]==Signature)\n\t\t\t{\n\t\t\t\tbRet=true;\n\t\t\t\t*DebugCodeView =*(PPE_DEBUG_CODEVIEW)&Buf[i];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\t\nlocal_quit:\n\tif(Buf)\n\t\tdelete []Buf;\n\tImageFile.Close();\n\treturn bRet;\n}\n\nbool CSymbolDownloaderDlg::OnEventButtonGetSymbol(IN WISP_MSG*pMsg)\n{\n\tPDBSAVEPATHLIST::IT PDBIT;\n\tSDSSAVEPATHLIST::IT SDSIT;\n\tSYMFINDPATHLIST::IT SYMIT;\n\tSTPATHNAME stPDBName;\n\tSTPATHNAME stSDSName;\n\tSTPATHNAME stSymFindPathName;\n\tWORKFILELIST::IT BeginIT,EndIT;\n\tWCHAR* PathName;\n\tchar* pStr;\n\n\tEnterCriticalSection(&m_CriticalSection);\n\tPathName = m_SymbolSiteEdit->GetWindowText();\n\n\tpStr = new char[TStrLen(PathName)+1];\n\tstSymFindPathName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tSYMIT = m_SymFindPathList.Find(stSymFindPathName);\n\tif(SYMIT==m_SymFindPathList.End())\n\t{\n\t\tm_SymFindPathList.Append(stSymFindPathName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstSymFindPathName=*SYMIT;\n\t}\n\n\tPathName = m_PDBSavePathEdit->GetWindowText();\n\tpStr = new char[TStrLen(PathName)+1];\n\tstPDBName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tPDBIT = m_PDBSavePathList.Find(stPDBName);\n\tif(PDBIT==m_PDBSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stPDBName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstPDBName=*PDBIT;\n\t}\n\tPathName = m_SDSSavePathEdit->GetWindowText();\n\tpStr = new char[TStrLen(PathName)+1];\n\tstSDSName.Name = pStr;\n\tTStrCpy(pStr,PathName);\n\tSDSIT = m_SDSSavePathList.Find(stSDSName);\n\tif(SDSIT==m_SDSSavePathList.End())\n\t{\n\t\tm_PDBSavePathList.Append(stSDSName);\n\t}\n\telse\n\t{\n\t\tdelete []pStr;\n\t\tstSDSName=*SDSIT;\n\t}\n\tBeginIT=m_CurrentFileList.Begin();\n\tEndIT=m_CurrentFileList.End();\n\tfor(;BeginIT!=EndIT;BeginIT++)\n\t{\n\t\tif((*BeginIT).Stat==0)\n\t\t{\n\t\t\t(*BeginIT).Stat=1;\n\t\t\t(*BeginIT).PDBSavePath=stPDBName.Name;\n\t\t\t(*BeginIT).SDSSavePath=stSDSName.Name;\n\t\t\t(*BeginIT).FindPath=stSymFindPathName.Name;\n\t\t}\n\t}\n\tif(m_GetSymbolThread==false)\n\t{\n\t\t::CreateThread(NULL,0x100000,GetSymbolThread,this,0,&m_GetSymbolThreadID);\n\t}\n\tLeaveCriticalSection(&m_CriticalSection);\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tInitDbgHelp();\n\tm_AddFileButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_ADDFILE);\n\tm_DelFileButton =(CWispButton*)GetFormItem(CMD_ID_BUTTON_DELFILE);\n\tm_GetSymbolButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_GETSYMBOL);\n\tm_StopButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_STOP);\n\tm_FileList = (CWispList*)GetFormItem(CMD_ID_LIST_FILE);\n\tm_SymbolSiteEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_SYMBOLSITE);\n\tm_SymbolSiteResetButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_RESETSYMBOLSITE);\n\tm_PDBSavePathEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_PDBSAVEPATH);\n\tm_BrowsePDBSavePathButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_BROWSEPDBSAVEPATH);\n\tm_SDSSavePathEdit = (CWispEdit*)GetFormItem(CMD_ID_EDIT_SDSSAVEPATH);\n\tm_BrowseSDSSavePathButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_BROWSESDSSAVEPATH);\n\tm_SymbolSiteStatic = (CWispStaticStr*)GetFormItem(CMD_ID_STATIC_SYMBOL_SITE);\n\tm_PDBPathStatic = (CWispStaticStr*)GetFormItem(CMD_ID_STATIC_PDB_PATH);\n\tm_SDSPathStatic = (CWispStaticStr*)GetFormItem(CMD_ID_STATIC_SDS_PATH);\n\tm_MainStaticDIB = (CWispStaticDIB*)GetFormItem(CMD_ID_STATIC_MAIN_DIB);\n\tm_FileList->InsertColumn(WSTR(\"FileName\"),250);\n\tm_FileList->InsertColumn(WSTR(\"Status\"),90);\n\tm_SymSetOptions(SYMOPT_DEBUG);\n\n\tm_SymbolSiteEdit->SetWindowText(SyserAppOption.szSymbolSite);\n\tm_PDBSavePathEdit->SetWindowText(SyserAppOption.szDownloadSymbolPath);\n\tm_SDSSavePathEdit->SetWindowText(SyserAppOption.szConvertedSDSPath);\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::InitDbgHelp()\n{\n\tm_DbgHelpModule = LoadLibrary(\"DbgHelp.dll\");\n\tif(m_DbgHelpModule==NULL)\n\t\treturn false;\n\tLoadDbgHelpApi();\n\treturn true;\n}\n\nvoid CSymbolDownloaderDlg::ReleaseDbgHelp()\n{\n\tif(m_DbgHelpModule)\n\t\tFreeLibrary(m_DbgHelpModule);\n}\n\nbool CSymbolDownloaderDlg::LoadDbgHelpApi()\n{\n\tm_SymFindFileInPath =(fpSymFindFileInPath) GetProcAddress(m_DbgHelpModule,\"SymFindFileInPath\");\n\tm_SymSetOptions = (fpSymSetOptions)GetProcAddress(m_DbgHelpModule,\"SymSetOptions\");\n\tm_SymGetOptions = (fpSymGetOptions)GetProcAddress(m_DbgHelpModule,\"SymGetOptions\");\n\treturn true;\n}\n\nbool CSymbolDownloaderDlg::OnCmdUpdateDownLoadState(IN WISP_MSG *pMsg)\n{\n\tchar* FileName;\n\tCWispString pString;\n\tWCHAR * TmpName;\n\tHANDLE hItem;\n\tFileName = (char*)pMsg->Command.Param2;\n\thItem = m_FileList->GetItem(0);\n\tfor(;hItem;)\n\t{\n\t\tpString = m_FileList->GetItemText(hItem);\n\t\tTmpName = pString;\n\t\tif(TStrICmp(TmpName,FileName)==0)\n\t\t\tbreak;\n\t\thItem = m_FileList->GetNextItem(hItem);\n\t}\n\tif(hItem==NULL)\n\t\treturn true;\n\tswitch(pMsg->Command.Param1)\n\t{\n\tcase 1:\n\t\tm_FileList->SetItemText(hItem,1,WSTR(\"Success\"));\n\t\tm_FileList->Update();\n\t\tbreak;\n\tcase 2:\n\t\tm_FileList->SetItemText(hItem,1,WSTR(\"Fail !!!\"));\n\t\tm_FileList->Update();\n\t\tbreak;\n\tcase 3:\n\t\tm_FileList->SetItemText(hItem,1,WSTR(\"Downloading.\"));\n\t\tm_FileList->Update();\n\t\tbreak;\n\tcase 4:\n\t\tm_FileList->SetItemText(hItem,1,WSTR(\"Analyzing Symbol file...\"));\n\t\tm_FileList->Update();\n\t\tbreak;\n\tdefault :\n\t\tbreak;\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/SyserApp/Source/SymbolDownloader.h",
    "content": "#ifndef _SYMBOLDOWNLOADER_H_\n#define _SYMBOLDOWNLOADER_H_\n\ntypedef struct _STPATHNAME\n{\n\tchar* Name;\n\tbool operator ==(const struct _STPATHNAME dest)const\n\t{\n\t\treturn TStrCmp(Name,dest.Name)==0;\n\t}\n}STPATHNAME,*PSTPATHNAME;\n\nclass CGetSymbolStat\n{\npublic:\t\n\tDWORD Stat;\n\tchar* SDSSavePath;\n\tchar* PDBSavePath;\n\tchar* FindPath;\n\tchar* FileName;\n\tCGetSymbolStat()\n\t{\n\t\tStat=0;\n\t\tSDSSavePath=NULL;\n\t\tPDBSavePath=NULL;\n\t\tFindPath=NULL;\n\t\tFileName=NULL;\n\t}\n};\n\ntypedef TMap<CStrA,CGetSymbolStat> WORKFILELIST;\ntypedef TList<STPATHNAME> SDSSAVEPATHLIST;\ntypedef TList<STPATHNAME> PDBSAVEPATHLIST;\ntypedef TList<STPATHNAME> SYMFINDPATHLIST;\n#define IMAGEAPI_POINTER __stdcall\ntypedef BOOL \n(IMAGEAPI_POINTER* fpSymFindFileInPath)(\n\t\t\t\t\t   HANDLE hprocess,\n\t\t\t\t\t   PCSTR SearchPath,\n\t\t\t\t\t   PCSTR FileName,\n\t\t\t\t\t   PVOID id,\n\t\t\t\t\t   DWORD two,\n\t\t\t\t\t   DWORD three,\n\t\t\t\t\t   DWORD flags,\n\t\t\t\t\t   PSTR FoundFile,\n\t\t\t\t\t   PFINDFILEINPATHCALLBACK callback,\n\t\t\t\t\t   PVOID context\n\t\t\t\t\t   );\ntypedef DWORD \n(IMAGEAPI_POINTER*fpSymSetOptions)(\n\tDWORD SymOptions\n\t);\ntypedef DWORD\n(IMAGEAPI_POINTER* fpSymGetOptions)(void);\nclass CSymbolDownloaderDlg:public CWispForm\n{\n\tfpSymSetOptions m_SymSetOptions;\n\tfpSymGetOptions m_SymGetOptions;\n\tfpSymFindFileInPath m_SymFindFileInPath;\n\tHMODULE m_DbgHelpModule;\n\tDWORD m_GetSymbolThreadID;\n\tfriend DWORD WINAPI GetSymbolThread(LPVOID lpParameter);\n\tCRITICAL_SECTION m_CriticalSection;\n\tbool m_Stop;\n\tbool m_GetSymbolThread;\n\tDWORD\tm_SDSSavePathIndex;\n\tDWORD\tm_PDBSavePathIndex;\n\tSDSSAVEPATHLIST m_SDSSavePathList;\n\tPDBSAVEPATHLIST m_PDBSavePathList;\n\tSYMFINDPATHLIST m_SymFindPathList;\n\tWORKFILELIST m_CurrentFileList;\n\tCWispButton* m_AddFileButton;\n\tCWispButton* m_DelFileButton;\n\tCWispButton* m_GetSymbolButton;\n\tCWispButton* m_StopButton;\n\tCWispList* m_FileList;\n\tCWispEdit* m_SymbolSiteEdit;\n\tCWispButton* m_SymbolSiteResetButton;\n\tCWispEdit* m_PDBSavePathEdit;\n\tCWispButton* m_BrowsePDBSavePathButton;\n\tCWispEdit* m_SDSSavePathEdit;\n\tCWispButton* m_BrowseSDSSavePathButton;\n\tCWispStaticStr*m_SymbolSiteStatic;\n\tCWispStaticStr*m_PDBPathStatic;\n\tCWispStaticStr*m_SDSPathStatic;\n\tCWispStaticDIB*m_MainStaticDIB;\npublic:\n\tCSymbolDownloaderDlg(void);\n\t~CSymbolDownloaderDlg(void);\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnResize);\n\t//DECLARE_WISP_MSG(OnTimer)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnCmdUpdateDownLoadState)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonResetSymbolSite)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonBrowsePDBSavePath)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonBrowseSDSSavePath)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonStop)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonAddFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonDelFile)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonGetSymbol)\n\t\n\tbool DownLoadSymbol(CGetSymbolStat& SymbolStat );\n\tbool GetDebugCodeviewByDbg(char* DbgFileName,PPE_DEBUG_CODEVIEW DebugCodeView);\n\tbool TranslateSymbolFile(IN int Type,IN char* pExeFileName,OUT char* pSymbolFileName);\n\tbool InitDbgHelp();\n\tvoid ReleaseDbgHelp();\n\tbool LoadDbgHelpApi();\n\t//CWispProgress m_Progress;\n};\n\nDWORD WINAPI GetSymbolThread(LPVOID lpParameter);\n#endif //_SYMBOLDOWNLOADER_H_"
  },
  {
    "path": "Project/SyserApp/Source/SymbolModuleList.cpp",
    "content": "#include \"stdafx.h\"\n#include \"SymbolModuleList.h\"\n#include \"SyserApp.h\"\n\nenum CModuleSymbolForm::WISP_FORM_ID\n{\n\tCMD_ID_BUTTON_DELMODULE = WISP_ID_USER_START,\n\tCMD_ID_BUTTON_ADDMODULE,\n\tCMD_ID_LIST_SYMBOLMODULE,\n};\n\nWISP_MSG_MAP_BEGIN(CModuleSymbolForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CModuleSymbolForm)\n//WISP_MSG_CMD_MAP(CMD_ID_UPDATEDOWNLOADSTATE,OnCmdUpdateDownLoadState)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CModuleSymbolForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_DELMODULE,OnEventButtonDelModule)\n\tWISP_MSG_EVENT_MAP(CMD_ID_BUTTON_ADDMODULE,OnEventButtonAddModule)\nWISP_MSG_EVENT_MAP_END\n\nWISP_FORM_RES_ITEM CModuleSymbolForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,400},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{10,10,390,220},\n\t\tCMD_ID_LIST_SYMBOLMODULE,\n\t\tWISP_WLS_COLUMN_TITLE|WISP_WS_THIN_BORDER|WISP_WLS_SELECTED_ALWAYS,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,20,100,20},\n\t\tCMD_ID_BUTTON_ADDMODULE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Add\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{420,50,100,20},\n\t\tCMD_ID_BUTTON_DELMODULE,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Delete\"),\n\t\tNULL,\n\t},\n\t{WISP_CTRL_NULL}\n};\nCModuleSymbolForm::CModuleSymbolForm()\n{\n\tm_pFormRes = m_FormRes;\n}\nCModuleSymbolForm::~CModuleSymbolForm()\n{\n}\nbool CModuleSymbolForm::OnFormCreate(IN WISP_MSG* pMsg)\n{\n\tm_SymModuleListWnd = (CWispList*)GetFormItem(CMD_ID_LIST_SYMBOLMODULE);\n\tm_DelModuleButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_DELMODULE);\n\tm_AddModuleButton = (CWispButton*)GetFormItem(CMD_ID_BUTTON_ADDMODULE);\n\tm_SymModuleListWnd->InsertColumn(WSTR(\"SDS File List\"),250);\n\treturn true;\n}\nbool CModuleSymbolForm::InsertSymbolModule(const char* SymModuleFullName)\n{\n\tHANDLE hItem;\n\tchar FileTitleName[MAX_FN_LEN]={0};\n\tSYMMODULEMAP::IT FindIT;\n\tFindIT = m_SymModuleMap.InsertUnique(SymModuleFullName);\n\tif(FindIT==m_SymModuleMap.End())\n\t\treturn false;\n\tTGetFileTitle(SymModuleFullName,FileTitleName);\n\thItem = m_SymModuleListWnd->InsertItemA(FileTitleName);\n\t*FindIT=hItem;\n\treturn true;\n}\nbool CModuleSymbolForm::RemoveSymbolModule(const char* SymModuleFullName)\n{\n\tSYMMODULEMAP::IT FindIT;\n\tFindIT = m_SymModuleMap.Find(SymModuleFullName);\n\tif(FindIT!=m_SymModuleMap.End())\n\t{\n\t\tm_SymModuleListWnd->RemoveItem(*FindIT);\n\t\tm_SymModuleMap.Remove(FindIT);\n\t\treturn true;\n\t}\n\treturn false;\n}\nbool CModuleSymbolForm::OnEventButtonAddModule(IN WISP_MSG* pMsg)\n{\n\ttheApp.m_MainFrame.OnMenuEventLoadSymbol(pMsg);\n\treturn true;\n}\nbool CModuleSymbolForm::OnEventButtonDelModule(IN WISP_MSG* pMsg)\n{\n\tHANDLE hItem;\n\tbool bFind = false;\n\tSYMMODULEMAP::IT BeginIt,EndIt;\n\thItem = m_SymModuleListWnd->GetNextItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem==NULL)\n\t\treturn false;\n\tBeginIt = m_SymModuleMap.Begin();\n\tEndIt = m_SymModuleMap.End();\n\tfor(;BeginIt!=EndIt;BeginIt++)\n\t{\n\t\tif(*BeginIt==hItem)\n\t\t{\n\t\t\tbFind=true;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(bFind==false)\n\t\treturn false;\n\ttheApp.m_SyserInterface.UnloadSymbolModuleFile(BeginIt.Key());\n\treturn true;\n}"
  },
  {
    "path": "Project/SyserApp/Source/SymbolModuleList.h",
    "content": "#ifndef _SYMBOLMODULELIST_H_\n#define _SYMBOLMODULELIST_H_\ntypedef TMap<CStrA,HANDLE> SYMMODULEMAP;\nclass CModuleSymbolForm:public CWispForm\n{\n\tCWispButton* m_DelModuleButton;\n\tCWispButton* m_AddModuleButton;\n\tCWispList* m_SymModuleListWnd;\npublic:\n\tCModuleSymbolForm();\n\t~CModuleSymbolForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tbool InsertSymbolModule(const char* SymModuleFullName);\n\tbool RemoveSymbolModule(const char* SymModuleFullName);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\t//DECLARE_WISP_MSG(OnTimer)\n\tDECLARE_WISP_MSG_CMD_MAP\n\t//DECLARE_WISP_MSG_CMD(OnCmdUpdateDownLoadState)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonDelModule)\n\tDECLARE_WISP_MSG_EVENT(OnEventButtonAddModule)\n\tSYMMODULEMAP m_SymModuleMap;\n};\n\n#endif /* _SYMBOLMODULELIST_H_ */\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n#include \"MainFrame.h\"\n#include \"DXTest.h\"\n#include \"ModifyBoot.h\"\n\nCSyserApp\ttheApp;\n\n#ifdef CODE_OS_WIN\n\nenum\n{\n\tCOPYDATA_CMD_LOAD_SDS=0x100,\n\tCOPYDATA_CMD_UNLOAD_SDS,\n\tCOPYDATA_CMD_TRANSLATE_SDS,\n\tCOPYDATA_CMD_LOAD,\n\tCOPYDATA_CMD_MAXCMD,\n};\n\nint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n\treturn theApp.WinMainStart(hInstance,lpCmdLine,nCmdShow);\n}\n\n#endif\n\nint OldiSystemTray;\nCSyserApp::CSyserApp(void)\n{\n\tGetModulePath(m_szSyserAppCfgFN);\n\tTStrCat(m_szSyserAppCfgFN,\"SyserApp.cfg\");\n\tGetSystemDirectoryA(m_szSyserCfgFN,MAX_FN_LEN);\n\tTStrCat(m_szSyserCfgFN,\"\\\\drivers\\\\Syser.cfg\");\n\tGetSystemDirectoryA(m_szSyserColorCfgFN,MAX_FN_LEN);\n\tTStrCat(m_szSyserColorCfgFN,\"\\\\drivers\\\\SyserColor.cfg\");\n}\n\nCSyserApp::~CSyserApp(void)\n{\n}\n\nvoid CSyserApp::InitEnv()\n{\n}\n\nvoid CSyserApp::LoadCFG()\n{\n\tif(LoadSyserOption(m_szSyserAppCfgFN,&SyserAppOption,sizeof(SyserAppOption))==false)\n\t{\n\t\tSaveSyserOption(m_szSyserAppCfgFN,&OrgSyserAppOption,sizeof(OrgSyserAppOption));\n\t\tSyserAppOption = OrgSyserAppOption;\n\t}\n\tif(LoadSyserOption(m_szSyserCfgFN,&SyserOption,sizeof(SyserOption))==false)\n\t{\n\t\tSaveSyserOption(m_szSyserCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\t\tSyserOption = OrgSyserOption;\n\t}\n}\n\nbool InstallDependData(PCSTR FileNameList)\n{\n\tHANDLE hSrcFile,hDesFile;\n\tchar szDesFile[MAX_FN_LEN],szSrcFile[MAX_FN_LEN],szFileName[MAX_FN_LEN],*pszDesFile,*pszSrcFile;\n\tFILETIME DesTime,SrcTime;\n\tPCSTR szBegin,szEnd;\n\tGetSystemDirectory(szDesFile,MAX_FN_LEN);\n\tTStrCat(szDesFile,\"\\\\drivers\\\\\");\n\tpszDesFile = szDesFile+TStrLen(szDesFile);\n\tpszSrcFile = szSrcFile+GetModulePath(szSrcFile);\n\tszBegin = FileNameList;\n\twhile(*szBegin)\n\t{\n\t\tszEnd = TStrChr(szBegin,';');\n\t\tif(szEnd)\n\t\t{\n\t\t\tTStrCpyLimit(szFileName,szBegin,(int)(szEnd-szBegin)+1);\n\t\t\tszEnd++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpy(szFileName,szBegin);\n\t\t\tszEnd = &szBegin[TStrLen(szBegin)];\n\t\t}\n\t\tTStrCpy(pszDesFile,szFileName);\n\t\tTStrCpy(pszSrcFile,szFileName);\n\t\tSrcTime.dwLowDateTime = SrcTime.dwHighDateTime =\n\t\t\tDesTime.dwLowDateTime = DesTime.dwHighDateTime = 0;\n\t\tif(gpFileIO->OpenFile(szSrcFile,&hSrcFile))\n\t\t{\n\t\t\tGetFileTime(hSrcFile,NULL,NULL,&SrcTime);\n\t\t\tgpFileIO->CloseHandle(hSrcFile);\n\t\t}\n\t\tif(gpFileIO->OpenFile(szDesFile,&hDesFile))\n\t\t{\n\t\t\tGetFileTime(hDesFile,NULL,NULL,&DesTime);\n\t\t\tgpFileIO->CloseHandle(hDesFile);\n\t\t}\n\t\tif(SrcTime.dwLowDateTime || SrcTime.dwHighDateTime)\n\t\t{\n\t\t\tif(SrcTime.dwHighDateTime != DesTime.dwHighDateTime || SrcTime.dwLowDateTime != DesTime.dwLowDateTime)\n\t\t\t{\n\t\t\t\tCopyFile(szSrcFile,szDesFile,FALSE);\n\t\t\t}\n\t\t}\n\t\tszBegin = szEnd;\n\t}\n\treturn true;\n}\n\nbool CSyserApp::InitInstance()\n{\n\tWCHAR wszBuffer[256];\n\tHWND hWnd;\n\tHANDLE hMutex;\n\tSYSTEM_INFO SystemInfo;\n\tCOPYDATASTRUCT CopyData;\n\tLRESULT rs;\n\tbool bStartAgain=false;\nStartAgain:\n\tCopyData.dwData=COPYDATA_CMD_MAXCMD;\n\tif(TStrIStr(m_pCmdLine,\"/Uninstall\"))\n\t{\n\t\tm_SyserInterface.UninstallSyser();\n\t\treturn false;\n\t}\n\telse if(TStrIStr(m_pCmdLine,\"/Install\"))\n\t{\n\t\tm_SyserInterface.InstallSyser();\n\t\treturn false;\n\t}\n\telse if(TStrIStr(m_pCmdLine,\"/Stop\"))\n\t{\n\t\tm_SyserInterface.StopSyser();\n\t\treturn false;\n\t}\n\telse if(TStrNICmp(m_pCmdLine,\"/load \",6)==0)\n\t{\n\t\tCopyData.dwData=COPYDATA_CMD_LOAD;\n\t\tCopyData.cbData = TStrLen(&m_pCmdLine[6])+1;\n\t\tCopyData.lpData=&m_pCmdLine[6];\n\t}\n\telse if(TStrNICmp(m_pCmdLine,\"/unloadsds \",11)==0)\n\t{\n\t\tCopyData.dwData=COPYDATA_CMD_UNLOAD_SDS;\n\t\tCopyData.cbData = TStrLen(&m_pCmdLine[11])+1;\n\t\tCopyData.lpData=&m_pCmdLine[11];\n\t}\n\telse if(TStrNICmp(m_pCmdLine,\"/loadsds \",9)==0)\n\t{\n\t\tCopyData.dwData=COPYDATA_CMD_LOAD_SDS;\n\t\tCopyData.cbData = TStrLen(&m_pCmdLine[9])+1;\n\t\tCopyData.lpData=&m_pCmdLine[9];\n\t}\n\telse if(TStrNICmp(m_pCmdLine,\"/tr \",4)==0)\n\t{\n\t\tCopyData.dwData=COPYDATA_CMD_TRANSLATE_SDS;\n\t\tCopyData.cbData = TStrLen(&m_pCmdLine[4])+1;\n\t\tCopyData.lpData=&m_pCmdLine[4];\n\t}\n\thMutex = OpenMutex(MUTEX_ALL_ACCESS,false,\"Syser Interface\");\n\tif(hMutex)\n\t{\n\t\thWnd = ::FindWindow(\"WispWindowClass\",MAIN_WND_NAME);\n\t\tif(hWnd && CopyData.dwData!=COPYDATA_CMD_MAXCMD)\n\t\t\trs = ::SendMessage(hWnd,WM_COPYDATA,(WPARAM)m_hLocalWnd,(LPARAM)&CopyData);\n\t\tCloseHandle(hMutex);\n\t\treturn false;\n\t}\n\tInstallDependData(\"Syser.dat;Wisp.dat;libfunc.fdc;APIDef.lib\");\n\t//////////////////////////////////////////////////////////////////////////////\n\t//ļĿ¼\n\tGetSystemDirectory(m_CurDir,MAX_FN_LEN);\n\tTStrCat(m_CurDir,\"\\\\drivers\\\\\");\n\t//\n\t//////////////////////////////////////////////////////////////////////////////\n\tm_pszDiskList = \"Wisp.dat;Syser.dat\";\n\tif(CLocalWispApp::InitInstance()==false)\n\t{\n\t\tif(bStartAgain==false)\n\t\t{\n\t\t\tbStartAgain = true;\n\t\t\tm_SyserInterface.InstallSyser();\n\t\t\tgoto StartAgain;\n\t\t}\n\t\treturn false;\n\t}\n\tLoadCFG();\n\tGetSystemInfo(&SystemInfo);\n\tMEMORYSTATUSEX statex;\n\tstatex.dwLength = sizeof (statex);\n\tGlobalMemoryStatusEx (&statex);\n\tif(statex.ullTotalPhys / (1024*1024) < 128)\n\t{\n\t\tif(MessageBox(NULL,\"Physical memory is less than 128 MB,Syser maybe start fail!\",\"Warning\",MB_OK)==IDNO)\n\t\t\treturn false;\n\t}\n\t//Debug\n\tCProcess::GetPrivilege(SE_DEBUG_NAME);\n\tm_bHideMouse = true;\n\tm_FrameStyle&=~WS_VISIBLE;\n\tm_hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IDI_ICON_SYSERAPP));\n\tif(SyserAppOption.iTopMost!=0)\n\t\tm_FrameStyleEx|=WS_EX_TOPMOST;\n\tTStrCpy(wszBuffer,MAIN_WND_NAME);\n\tCreateFrame(wszBuffer,620,430,0);\n\tm_MainFrame.Create(NULL,0,0,m_FrameBuffer.Width,m_FrameBuffer.Height,NULL,WISP_ID_MAIN_FRAME,WISP_WS_NULL);\n\tm_hNotifyMenu = LoadMenu(m_hLocalInst,MAKEINTRESOURCE(IDR_MENU_NOTIFY_ICON));\n\tm_hSubNotifyMenu = GetSubMenu(m_hNotifyMenu,0);\n\tGetClipboardString();\n\tif(m_SyserInterface.Init()==false)\n\t{\n\t\tDestroyMenu(m_hNotifyMenu);\n\t\treturn false;\n\t}\n\tLoadHistroy();\n\ttheApp.m_MainFrame.m_ConsoleWnd.RunModulePathBat(\"SyserApp.cmd\",\"-sb\");\n\tOldiSystemTray = SyserAppOption.iSystemTray;\n\tif(OldiSystemTray)\n\t{\n\t\tif(m_SyserInterface.m_bSyserDriverStatus)\n\t\t\tInsertNotifyIcon(MAIN_WND_NAME,IDI_ICON_SYSERAPP);\n\t\telse\n\t\t\tInsertNotifyIcon(MAIN_WND_NAME,IDI_ICON_SYSER_OFF);\n\t}\n\tif(CopyData.dwData!=COPYDATA_CMD_MAXCMD)\n\t\t::SendMessage(m_hLocalWnd,WM_COPYDATA,(WPARAM)m_hLocalWnd,(LPARAM)&CopyData);\n\tInitEnv();\n\tm_UpdateNewVersionDownload.StartupWinsock();\n\tif(m_SyserInterface.m_bAttachFrameBuffer==false && SyserOption.iVideoDetectMode!=SYSER_VDM_USER)\n\t{\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Syser Kernel Debugger can't recognise your display driver !\\n\"));\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Please change Video Display Detect Mode to \\\"User Mode\\\" than restart Syser\\n\"));\n\t}\n\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\treturn true;\n}\n\nint\tCSyserApp::ExitInstance()\n{\n\tif(OldiSystemTray)\n\t\tRemoveNotifyIcon(IDI_ICON_SYSERAPP);\n\tDestroyMenu(m_hNotifyMenu);\n\tm_MainFrame.Destroy();\n\tDestroyFrame();\n\tm_UpdateNewVersionDownload.CleanupWinsock();\n\tm_SyserInterface.Release();\n\tif(m_bHistroyModified)\n\t\tSaveHistroy();\n\treturn CLocalWispApp::ExitInstance();\n}\n\nbool CSyserApp::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\n{\n\tPOINT pt;\n\tswitch (message)\n\t{\n\tcase WM_CREATE:\n\t\tSetClipboardViewer(hWnd);\n\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\tcase WM_CLOSE:\n\t\tif(OldiSystemTray==0)\n\t\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\t\tShowWindow(m_hLocalWnd,SW_HIDE);\n\t\tbreak;\n\tcase WM_DESTROY:\n\t\tif(m_SyserInterface.m_bSyserDriverStatus && SyserAppOption.iAutoStop!=0)\n\t\t{\n#ifndef __DEMO__VERSION__\n\t\t\tif(SyserAppOption.iAutoStop==1 || MessageBox(NULL,\"Do you want to unload Syser Debugger ?\",\"Syser\",MB_YESNO)==IDYES)\n\t\t\t\tm_SyserInterface.StopSyserDriver();\n#endif\n\t\t}\n\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\tcase WM_DISPLAYCHANGE:\n\t\tif(SyserOption.iVideoDetectMode != SYSER_VDM_KERNEL)\n\t\t{\n\t\t\tif(SyserOption.iVideoDetectMode == SYSER_VDM_USER || theApp.m_SyserInterface.m_bAttachFrameBuffer==false)\n\t\t\t\ttheApp.m_SyserInterface.m_SyserDX.LockFrameSurfacer();\n\t\t}\n\t\tbreak;\n\tcase WM_WISP_NOTIFY_ICON:\n\t\t{\n\t\t\tswitch(lParam)\n\t\t\t{\n\t\t\t\tcase WM_RBUTTONUP:\n\t\t\t\t\tm_SyserInterface.UpdateDriverStatus();\n\t\t\t\t\tGetCursorPos(&pt);\n\t\t\t\t\tSetForegroundWindow(m_hLocalWnd);\n\t\t\t\t\tTrackPopupMenu(m_hSubNotifyMenu,0,pt.x,pt.y,0,m_hLocalWnd,NULL);\n\t\t\t\t\treturn true;\n\t\t\t\tcase WM_LBUTTONDOWN:\n\t\t\t\t\tm_SyserInterface.UpdateDriverStatus();\n\t\t\t\t\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\t\t\t\t\tBringWindowToTop(m_hLocalWnd);\n\t\t\t\t\tSetForegroundWindow(m_hLocalWnd);\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WM_DRAWCLIPBOARD:\n\t\ttheApp.GetClipboardString();\n\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\t\tbreak;\n\tcase WM_SYSER_GET_CLIPBOARD_STRING:\n\t\tm_SyserInterface.RecvClipboardString();\n\t\tbreak;\n\tcase WM_SHOWWINDOW:\n\t\tbreak;\n\tcase WM_COPYDATA:\n\t\t{\n\t\t\tWCHAR CmdBuffer[MAX_FN_LEN+32];\n\t\t\tint Length;\n\t\t\tPCOPYDATASTRUCT pCopyData;\n\t\t\tpCopyData=(PCOPYDATASTRUCT)lParam;\n\t\t\tswitch(pCopyData->dwData)\n\t\t\t{\n\t\t\tcase COPYDATA_CMD_LOAD_SDS:\n\t\t\t\tLength = TStrCpy(CmdBuffer,\"loadsds \");\n\t\t\t\tAnsiToUnicode((PCSTR)pCopyData->lpData,&CmdBuffer[Length],sizeof(CmdBuffer)/sizeof(WCHAR)-Length);\n\t\t\t\tm_MainFrame.m_ConsoleWnd.RunCmd(CmdBuffer);\n\t\t\t\tbreak;\n\t\t\tcase COPYDATA_CMD_UNLOAD_SDS:\n\t\t\t\tLength = TStrCpy(CmdBuffer,\"unloadsds \");\n\t\t\t\tAnsiToUnicode((PCSTR)pCopyData->lpData,&CmdBuffer[Length],sizeof(CmdBuffer)/sizeof(WCHAR)-Length);\n\t\t\t\tm_MainFrame.m_ConsoleWnd.RunCmd(CmdBuffer);\n\t\t\t\tbreak;\n\t\t\tcase COPYDATA_CMD_TRANSLATE_SDS:\n\t\t\t\tLength = TStrCpy(CmdBuffer,\"tsf \");\n\t\t\t\tAnsiToUnicode((PCSTR)pCopyData->lpData,&CmdBuffer[Length],sizeof(CmdBuffer)/sizeof(WCHAR)-Length);\n\t\t\t\tm_MainFrame.m_ConsoleWnd.RunCmd(CmdBuffer);\n\t\t\t\tbreak;\n\t\t\tcase COPYDATA_CMD_LOAD:\n\t\t\t\tLength = TStrCpy(CmdBuffer,\"load \");\n\t\t\t\tAnsiToUnicode((PCSTR)pCopyData->lpData,&CmdBuffer[Length],sizeof(CmdBuffer)/sizeof(WCHAR)-Length);\n\t\t\t\tm_MainFrame.m_ConsoleWnd.RunCmd(CmdBuffer);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WM_SYSER_UNINSTALL:\n\t\tSyserAppOption.iAutoStop = 0;\n\t\tPostQuitMessage(0);\n\t\treturn true;\n\tcase WM_SYSER_UPDATE_DBG_MSG:\n\t\ttheApp.m_SyserInterface.UpdateDbgMsg(theApp.m_SyserInterface.m_hDbgMsgDevice);\n\t\tbreak;\n\tcase WM_SYSER_UPDATE_DRV_STATE:\n\t\ttheApp.m_SyserInterface.UpdateDriverStatus();\n\t\tbreak;\n\tcase WM_SYSER_APP_RELOAD_CFG:\n\t\ttheApp.LoadCFG();\n\t\tOUTPUT(WSTR(\"%<F>SyserLoader : Reload SyserApp.cfg !\\n\"));\n\t\tbreak;\n\tcase WM_COMMAND:\n\t\t{\n\t\t\tswitch(wParam)\n\t\t\t{\n\t\t\t\tcase ID_MENU_EXIT:\n\t\t\t\t\tDestroyWindow(m_hLocalWnd);\n\t\t\t\t\treturn true;\n\t\t\t\tcase ID_MENU_SHOW:\n\t\t\t\t\tif(IsWindowVisible(m_hLocalWnd))\n\t\t\t\t\t\tShowWindow(m_hLocalWnd,SW_HIDE);\n\t\t\t\t\telse\n\t\t\t\t\t\tShowWindow(m_hLocalWnd,SW_SHOW);\n\t\t\t\t\treturn true;\n\t\t\t\tcase ID_MENU_ENABLE_SYSER:\n\t\t\t\t\tm_SyserInterface.StartSyserDriver();\n\t\t\t\t\treturn true;\n\t\t\t\tcase ID_MENU_DISABLE_SYSER:\n\t\t\t\t\tm_SyserInterface.StopSyserDriver();\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tdefault:\n\t\treturn CLocalWispApp::WndProc(hWnd,message,wParam,lParam);\n\t}\n\treturn true;\n}\n\nbool CSyserApp::CheckNewVersion()\n{\n\t/*\n\tINTERNET_PROXY_INFO* pProxy;\n\tchar Proxybuf[128];\n\tDWORD nProxyPort;\n\tpProxy = GetIEDefaultProxy(Proxybuf,&nProxyPort);\n\tif(pProxy)\n\t{\n\t\tm_UpdateNewVersionDownload.SetProxy(Proxybuf,(unsigned short)nProxyPort);\n\t\tdelete pProxy;\n\t}\n\t//char Buffer[1024];\n\t//int ReturnedLen;\n\t//int retvalue;\n\t*/\n\tShellExecute(NULL,\"open\",\"http://www.sysersoft.com/queryversion.php?version=\" VER_PRODUCTVERSION_STR \"&date=\" __DATE__,NULL,NULL,SW_SHOWMAXIMIZED);\n\t//retvalue = m_UpdateNewVersionDownload.DownloadToBuffer(\"http://www.sysersoft.com/queryversion.php?app=syserapp.exe\" VER_PRODUCTVERSION_STR ,Buffer,sizeof(Buffer),&ReturnedLen);\n\treturn true;\n}\n\nINTERNET_PROXY_INFO* CSyserApp::GetIEDefaultProxy(LPTSTR lpszProxy,DWORD *nProxyPort)\n{\n\tINTERNET_PROXY_INFO* pIProxyInfo;\n\tDWORD ErrorNum;\n\tchar *StrPort;\n\tDWORD RetLength=sizeof(INTERNET_PROXY_INFO);\n\tBOOL bRet;\n\tif(lpszProxy)\n\t\tlpszProxy[0]=0;\n\tif(nProxyPort)\n\t\t*nProxyPort=0;\n\tpIProxyInfo = (INTERNET_PROXY_INFO*)new char[sizeof(INTERNET_PROXY_INFO)];\n\tmemset(pIProxyInfo,0,RetLength);\n\n\tbRet = InternetQueryOption(NULL,INTERNET_OPTION_PROXY,pIProxyInfo,&RetLength);\n\tif(bRet==false)\n\t{\n\t\tErrorNum = GetLastError();\n\t\tif(ErrorNum==ERROR_INSUFFICIENT_BUFFER)\n\t\t{\n\t\t\tpIProxyInfo = (INTERNET_PROXY_INFO*)new char[RetLength];\n\t\t\tmemset(pIProxyInfo,0,RetLength);\n\t\t\tbRet = InternetQueryOption(NULL,INTERNET_OPTION_PROXY,pIProxyInfo,&RetLength);\n\t\t}\n\t}\n\tif(bRet==false)\n\t{\n\t\tdelete pIProxyInfo;\n\t\tpIProxyInfo=NULL;\n\t}\n\telse\n\t{\n\t\tif(pIProxyInfo->dwAccessType==INTERNET_OPEN_TYPE_DIRECT)\n\t\t{\n\t\t\tdelete pIProxyInfo;\n\t\t\tpIProxyInfo=NULL;\n\t\t}else\n\t\t{\n\t\t\tif(pIProxyInfo->dwAccessType==INTERNET_OPEN_TYPE_PROXY)\n\t\t\t{\n\t\t\t\tStrPort=TStrChr(pIProxyInfo->lpszProxy,':');\n\t\t\t\tif(StrPort==NULL)\n\t\t\t\t{\n\t\t\t\t\tdelete pIProxyInfo;\n\t\t\t\t\tpIProxyInfo=NULL;\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\tif(SDecStrToNum(&StrPort[1],&ErrorNum))\n\t\t\t\t\t{\n\t\t\t\t\t\tif(nProxyPort)\n\t\t\t\t\t\t\t*nProxyPort=ErrorNum;\n\t\t\t\t\t\tif(lpszProxy)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tStrPort[0]=0;\n\t\t\t\t\t\t\tTStrCpy(lpszProxy,pIProxyInfo->lpszProxy);\n\t\t\t\t\t\t\tStrPort[0]=':';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tdelete pIProxyInfo;\n\t\t\t\t\t\tpIProxyInfo=NULL;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n\treturn \tpIProxyInfo;\n}\n\nLPTSTR CSyserApp::GetIEDefaultProxyUserName(LPTSTR lpszUserName)\n{\n\tBOOL bRet;\n\tchar Buffer[128];\n\tDWORD RetLength=sizeof(Buffer);\n\tlpszUserName[0]=0;\n\tbRet = InternetQueryOption(NULL,INTERNET_OPTION_PROXY_USERNAME,Buffer,&RetLength);\n\tif(bRet==false)\n\t\treturn NULL;\n\tTStrCpy(lpszUserName,Buffer);\n\treturn lpszUserName;\n}\n\nLPTSTR CSyserApp::GetIEDefaultProxyPassword(LPTSTR lpszPassword)\n{\n\tBOOL bRet;\n\tchar Buffer[128];\n\tDWORD RetLength=sizeof(Buffer);\n\tlpszPassword[0]=0;\n\tbRet = InternetQueryOption(NULL,INTERNET_OPTION_PROXY_PASSWORD,Buffer,&RetLength);\n\tif(bRet==false)\n\t\treturn NULL;\n\tTStrCpy(lpszPassword,Buffer);\n\treturn lpszPassword;\n}\n\nvoid CSyserApp::LoadHistroy()\n{\n\tDWORD Style;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tchar szFileName[MAX_FN_LEN],*pStr;\n\tRECENT_HISTROY_ITEM Item;\n\tCTXTFile TXTFile;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"Histroy.lst\");\n\tif(TXTFile.Open(szFileName)==false)\n\t\treturn;\n\tm_HistroyList.Clear();\n\tfor(TTXTStrList::IT Iter = TXTFile.m_StrList.Begin();Iter!=TXTFile.m_StrList.End();Iter++)\n\t{\n\t\tStyle = SDP_NULL;\n\t\tpStr = TStrRChr(*Iter,'|');\n\t\tif(pStr)\n\t\t{\n\t\t\t*pStr++=0;\n\t\t\tif(USHexStrToNum(pStr,&Style)==false)\n\t\t\t\tStyle=SDP_NULL;\n\t\t}\n\t\tTStrCpyLimit(Item.FileName,(PCSTR)*Iter,MAX_FN_LEN);\n\t\tItem.Style = Style;\n\t\tif(gpFileIO->IsFileExist(Item.FileName))\n\t\t\tm_HistroyList.Append(Item);\n\t}\n\tTXTFile.Close();\n\tm_bHistroyModified = false;\n\tWISP_MENU_ITEM*pMenuItem = (WISP_MENU_ITEM*)m_MainFrame.m_MainMenu.GetItemByName(WSTR(\"Recent Files\"));\n\tif(pMenuItem && m_HistroyList.Count())\n\t{\n\t\tCWispMenu*pMenu = pMenuItem->pSubMenu;\n\t\tpMenu->RemoveAllItem();\n\t\tint CmdID=EVENT_ID_RECENT_FILE_SYSERAPP+1;\n\t\tfor(TList<RECENT_HISTROY_ITEM>::IT Iter = m_HistroyList.Begin();Iter!=m_HistroyList.End()&&CmdID<=EVENT_ID_RECENT_FILE_SYSERAPP_END;Iter++)\n\t\t{\n\t\t\tAnsiToUnicode(Iter->FileName,szBuffer,MAX_FN_LEN);\n\t\t\tCWispDIB*pTypeDIB;\n\t\t\tPCSTR pExtName = TGetFileExt((PCSTR)Iter->FileName);\n\t\t\tif(pExtName && TStrICmp(pExtName,\"exe\")==0)\n\t\t\t\tpTypeDIB = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,102);\n\t\t\telse\n\t\t\t\tpTypeDIB = WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,15);\n\t\t\tpMenu->InsertItem(-1,szBuffer,WISP_MIS_NORMAL,CmdID,pTypeDIB);\n\t\t\tCmdID++;\n\t\t}\n\t\tpMenu->AdjustPopupMenuSize();\n\t}\n}\n\nvoid CSyserApp::SaveHistroy()\n{\n\tchar szBuffer[256];\n\tchar szFileName[MAX_FN_LEN];\n\tCImageFileStream File;\n\tGetModulePath(szFileName);\n\tTStrCat(szFileName,\"Histroy.lst\");\n\tif(File.Create(szFileName)==false)\n\t\treturn;\n\tfor(TList<RECENT_HISTROY_ITEM>::IT Iter = m_HistroyList.Begin();Iter!=m_HistroyList.End();Iter++)\n\t{\n\t\tFile.Puts(Iter->FileName,TStrLen(Iter->FileName));\n\t\tTSPrintf(szBuffer,\"|%X\\r\\n\",Iter->Style);\n\t\tFile.Puts(szBuffer,TStrLen(szBuffer));\n\t}\n\tFile.Close();\n}\n\nvoid CSyserApp::InsertHistroy(PCSTR szFileName,DWORD Style)\n{\n\tRECENT_HISTROY_ITEM Item;\n\tTList<RECENT_HISTROY_ITEM>::IT Iter;\n\tTStrCpyLimit(Item.FileName,szFileName,MAX_FN_LEN);\n\tItem.Style = Style;\n\tIter = m_HistroyList.Find(Item);\n\tif(Iter!=m_HistroyList.End())\n\t{\n\t\tif(Iter->Style == Style)\n\t\t\treturn;\n\t\tm_HistroyList.Remove(Iter);\n\t}\n\tif(m_HistroyList.Count()<EVENT_ID_RECENT_FILE_SYSERAPP_END-EVENT_ID_RECENT_FILE_SYSERAPP)\n\t{\n\t\tif(m_HistroyList.Count()==0)\n\t\t\tm_HistroyList.Append(Item);\n\t\telse\n\t\t\tm_HistroyList.InsertBefore(m_HistroyList.Begin(),Item);\n\t}\n\telse\n\t{\n\t\tm_HistroyList.InsertBefore(m_HistroyList.Begin(),Item);\n\t\tm_HistroyList.Remove(m_HistroyList.Last());\n\t}\n\tm_bHistroyModified = true;\n\tSaveHistroy();\n\tLoadHistroy();\n}\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserApp.h",
    "content": "#ifndef _SYSER_APP_HEADER_\n#define _SYSER_APP_HEADER_\n\n#define DECLARE_SYSER_APP_CMD(Name)\t\tint Name(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n#define RUNCMD\t\ttheApp.m_MainFrame.m_ConsoleWnd.RunCmd\n#define OUTPUT\t\ttheApp.m_MainFrame.m_ConsoleWnd.Printf\n\n#include \"MainFrame.h\"\n#include \"SyserInterface.h\"\n#include \"SourceDebug.h\"\n#include \"NoPDBSymbol.h\"\n\n\nstruct RECENT_HISTROY_ITEM\n{\n\tchar\tFileName[MAX_FN_LEN];\n\tDWORD\tStyle;\n\tbool\toperator==(const RECENT_HISTROY_ITEM &Obj)const\n\t{\n\t\treturn TStrICmp(FileName,Obj.FileName)==0;\n\t}\n};\n\nbool\tInstallDependData(PCSTR FileNameList);\n\nclass CSyserApp : public CLocalWispApp\n{\npublic:\n\tCSyserApp(void);\n\t~CSyserApp(void);\n\tvirtual bool\tInitInstance();\n\tvirtual int\t\tExitInstance();\n\tvirtual\tbool\tWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);\n\tbool\tCheckNewVersion();\n\tINTERNET_PROXY_INFO* GetIEDefaultProxy(LPTSTR lpszProxy,DWORD *nProxyPort);\n\tLPTSTR GetIEDefaultProxyUserName(LPTSTR lpszUserName);\n\tLPTSTR GetIEDefaultProxyPassword(LPTSTR lpszPassword);\n\tHMENU\tm_hNotifyMenu;\n\tHMENU\tm_hSubNotifyMenu;\n\tCSyserInterface\tm_SyserInterface;\n\tCSourceDebug\tm_SourceDebug;\n\tCNoPDBSymbol\tm_NoPDBSymbol;\n\tCMainFrame\t\tm_MainFrame;\n\tvoid\tInitEnv();\n\tvoid\tLoadCFG();\n\tCHttpDownload m_UpdateNewVersionDownload;\n\tchar\tm_szSyserCfgFN[MAX_FN_LEN];\n\tchar\tm_szSyserAppCfgFN[MAX_FN_LEN];\n\tchar\tm_szSyserColorCfgFN[MAX_FN_LEN];\n\tTList<RECENT_HISTROY_ITEM>\tm_HistroyList;\n\tbool\t\t\t\t\t\tm_bHistroyModified;\n\tvoid\tLoadHistroy();\n\tvoid\tSaveHistroy();\n\tvoid\tInsertHistroy(PCSTR szFileName,DWORD Style);\n};\n\nextern CSyserApp\ttheApp;\n\n#endif\n\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserApp.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDI_ICON_SYSERAPP       ICON                    \"Res\\\\Syser.ico\"\nIDI_ICON_SYSER_OFF      ICON                    \"Res\\\\SyserOff.ico\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\nIDR_MENU_NOTIFY_ICON MENU \nBEGIN\n    POPUP \"SyserPopup\"\n    BEGIN\n        MENUITEM \"Show Main Window\",            ID_MENU_SHOW\n        MENUITEM SEPARATOR\n        MENUITEM \"Start Syser\",                 ID_MENU_ENABLE_SYSER\n        MENUITEM \"Stop Syser\",                  40007, GRAYED\n        MENUITEM SEPARATOR\n        MENUITEM \"Exit\",                        ID_MENU_EXIT\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// RT_MANIFEST\n//\n\nIDR_RT_MANIFEST         RT_MANIFEST             \"res\\\\rt_manif.bin\"\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SyserApp.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#include \"SyserApp.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserApp.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"SyserApp\"\n#define VER_INTERNALNAME_STR        \"SyserApp\"  \n#define VER_ORIGINALFILENAME_STR    \"SyserApp.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserAppCmd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n#include \"SyserAppCmd.h\"\n\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//SyserAppCmd\n\nvoid OutputLastErrorMsg()\n{\n\tWCHAR szBuffer[256];\n\t*szBuffer=0;\n\tFormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),szBuffer,256,NULL);\n\tOUTPUT(WSTR(\"Error : %s\\n\"),szBuffer);\n}\n\nSYSER_APP_CMD_ENTRY\tSyserAppCmdTable[]=\n{\n\t{WSTR(\"cmd\"),\t\t\tWSTR(\"run windows command !\"),\t\t\t\trun_command},\n\t{WSTR(\"start\"),\t\t\tWSTR(\"start driver!\"),\t\t\t\t\t\tstart_command},\n\t{WSTR(\"stop\"),\t\t\tWSTR(\"stop driver!\"),\t\t\t\t\t\tstop_command},\n\t{WSTR(\"rldcfg\"),\t\tWSTR(\"reload registry config\"),\t\t\t\treloadconfig_command},\n\t{WSTR(\"loadsds\"),\t\tWSTR(\"load SDS symbols file\"),\t\t\t\tloadsds_command},\n\t{WSTR(\"unloadsds\"),\t\tWSTR(\"unload SDS symbols file\"),\t\t\tunloadsds_command},\n\t{WSTR(\"tsf\"),\t\t\tWSTR(\"Translate Symbol File\"),\t\t\t\ttsf_command},\n\t{WSTR(\"load\"),\t\t\tWSTR(\"Load module to debug\"),\t\t\t\tload_command},\n\t{WSTR(\"scrshot\"),\t\tWSTR(\"Save Syser Debugger ScreenShot\"),\t\tscrshot_command},\n\t{WSTR(\"rmsptd\"),\t\tWSTR(\"Disabled Daemon Tools SPTD\"),\t\t\trmsptd_command},\n\t{WSTR(\"install\"),\t\tNULL,\t\t\t\t\t\t\t\t\t\tinstall_command},\n\t{WSTR(\"uninstall\"),\t\tNULL,\t\t\t\t\t\t\t\t\t\tuninstall_command},\n\t{NULL,NULL,NULL}\n};\n\nint rmsptd_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tDWORD Start = 3;\n\tif(SetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&Start,REG_DWORD))\n\t{\n\t\tif(MessageBox(theApp.m_hLocalWnd,\"Do you want to reboot ?\",\"SPTD Disabled !!!\",MB_YESNO)==IDYES)\n\t\t{\n\t\t\tCProcess::GetPrivilege(SE_SHUTDOWN_NAME);\n\t\t\tExitWindowsEx(EWX_REBOOT,0);\n\t\t}\n\t}\n\treturn 0;\n}\n\nint scrshot_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tint Length;\n\tchar szBuffer[MAX_FN_LEN];\n\tLength = TStrCpy(szBuffer,\"\\\\??\\\\\");\n\n\tif(argc<2)\n\t{\n\t\tLength+= GetModulePath(&szBuffer[Length]);\n\t\tLength+= TStrCpy(&szBuffer[Length],\"Syser.bmp\");\n\t}\n\telse\n\t{\n\t\tLength+=UnicodeToAnsi(argv[1],&szBuffer[Length],MAX_FN_LEN-Length);\n\t}\n\tHANDLE hDevice = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);\n\tif(hDevice == INVALID_HANDLE_VALUE)\n\t\treturn 0;\n\tDWORD dummy;\n\tDeviceIoControl(hDevice,IOCTL_SYSER_SCREEN_SHOT,szBuffer,Length+1,NULL,NULL,&dummy,NULL);\n\tCloseHandle(hDevice);\n\treturn 0;\n}\n\nint install_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tpSyser->m_SyserInterface.InstallSyser();\n\treturn 0;\n}\n\nint uninstall_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tpSyser->m_SyserInterface.UninstallSyser();\n\treturn 0;\n}\n\n\nint tsf_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar FileName[MAX_FN_LEN];\n\tchar SymbolFileName[MAX_FN_LEN];\n\tint i;\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage: tsf PE filename\\n\"));\n\t\treturn 1;\n\t}\n\tif(theApp.m_SyserInterface.IsSyserRuning()==false)\n\t{\n\t\ttheApp.m_MainFrame.OnMenuEventStartSyser(NULL);\n\t}\n\tfor(i = 1; i < argc;i++)\n\t{\n\t\tTStrCpy(FileName,argv[i]);\n\t\tif(theApp.m_SyserInterface.TranslateSymbolFile(FileName,SymbolFileName,true)==false)\n\t\t{\n\t\t\tOUTPUT(WSTR(\"Translate '%s' error!\\n\"),argv[i]);\n\t\t}\n\t}\n\t\n\treturn 0;\n}\n\nint load_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar szFileName[MAX_FN_LEN],CmdLine[256];\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage: %s FileFullPathName\\n\"),argv[0]);\n\t\treturn 1;\n\t}\n\tif(theApp.m_SyserInterface.IsSyserRuning()==false)\n\t{\n\t\ttheApp.m_SyserInterface.StartSyserDriver();\n\t}\n\tTStrCpy(szFileName,argv[1]);\n\tif(argc>2)\n\t{\n\t\tUnicodeToAnsi(&szCommandLine[argv[2]-argv[0]],CmdLine,sizeof(CmdLine));\n\t}\n\telse\n\t{\n\t\t*CmdLine=0;\n\t}\n\tif(theApp.m_SyserInterface.LoadModule(szFileName,CmdLine,SDP_LOAD_SDS|SDP_AUTO_UNLOAD_SDS)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Fail to launch %s!\"),szFileName);\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint loadsds_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar FileName[MAX_FN_LEN];\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage: loadsds sds_filename\\n\"));\n\t\treturn 1;\n\t}\n\tif(theApp.m_SyserInterface.IsSyserRuning()==false)\n\t{\n\t\ttheApp.m_SyserInterface.StartSyserDriver();\n\t}\n\tUnicodeToAnsi(&szCommandLine[argv[1]-argv[0]],FileName,MAX_FN_LEN);\n\ttheApp.m_SyserInterface.LoadSDS(FileName);\n\treturn 0;\n}\n\nint unloadsds_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar FileName[MAX_FN_LEN];\n\tif(argc==1)\n\t{\n\t\tOUTPUT(WSTR(\"Usage: unloadsds sds_filename\\n\"));\n\t\treturn 1;\n\t}\n\tif(theApp.m_SyserInterface.IsSyserRuning()==false)\n\t{\n\t\ttheApp.m_SyserInterface.StartSyserDriver();\n\t}\n\tUnicodeToAnsi(&szCommandLine[argv[1]-argv[0]],FileName,MAX_FN_LEN);\n\ttheApp.m_SyserInterface.UnloadSDS(FileName);\n\treturn 0;\n}\n\nint reloadconfig_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tif(argc==2&&TStrCmp(argv[1],\"-h\")==0)\n\t{\n\t\tOUTPUT(WSTR(\"SofticeExistCheck\\n\"));\n\t\tOUTPUT(WSTR(\"TimerInterrupt\\n\"));\n\t\tOUTPUT(WSTR(\"UsbMouse\\n\"));\n\t\tOUTPUT(WSTR(\"DebugRegisterMontior\\n\"));\n\t\tOUTPUT(WSTR(\"KeyboardLedProgram\\n\"));\n\t\tOUTPUT(WSTR(\"DisableDisplay\\n\"));\n\t\tOUTPUT(WSTR(\"DisableDDrawHook\\n\"));\n\t\tOUTPUT(WSTR(\"DisableDbgMsg\\n\"));\n\t\tOUTPUT(WSTR(\"DebugKeyboardInterrupt\\n\"));\n\t\tOUTPUT(WSTR(\"PatchKeBugCheck\\n\"));\n\t\tOUTPUT(WSTR(\"m_ExceptionDebugInfo\\n\"));\n\t\treturn true;\n\t}\n\ttheApp.m_SyserInterface.ReloadConfig();\n\treturn 0;\n}\nint run_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tint Length;\n\tchar szBuffer[MAX_FN_LEN];\n\tLength=TStrCpy(szBuffer,\"cmd /c \");\n\tUnicodeToAnsi(&szCommandLine[TStrLen(*argv)+1],&szBuffer[Length],MAX_FN_LEN-Length);\n\tWinExec(szBuffer,SW_HIDE);\n\treturn 0;\n}\n\nint start_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tif(argc!=2)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : %s Name\\n\"),argv[0]);\n\t\treturn -1;\n\t}\n\tUnicodeToAnsi(argv[1],szBuffer,sizeof(szBuffer));\n\tif(IsDriverActive(szBuffer))\n\t{\n\t\tOUTPUT(WSTR(\"Driver has already started!\\n\"));\n\t\treturn 0;\n\t}\n\tif(StartDriver(szBuffer))\n\t\tOUTPUT(WSTR(\"Driver started!\\n\"));\n\telse\n\t{\n\t\tOutputLastErrorMsg();\n\t}\n\tif(TStrICmp(szBuffer,\"syser\")==0)\n\t\ttheApp.m_SyserInterface.UpdateDriverStatus();\n\treturn 0;\n}\n\nint stop_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tif(argc!=2)\n\t{\n\t\tOUTPUT(WSTR(\"Usage : %s Name\\n\"),argv[0]);\n\t\treturn -1;\n\t}\n\tUnicodeToAnsi(argv[1],szBuffer,sizeof(szBuffer));\n\tif(IsDriverActive(szBuffer)==false)\n\t{\n\t\tOUTPUT(WSTR(\"Driver isn't actived!\\n\"));\n\t\treturn 0;\n\t}\n\tif(StopDriver(szBuffer))\n\t\tOUTPUT(WSTR(\"Driver Stopped!\\n\"));\n\telse\n\t\tOUTPUT(WSTR(\"Fail to Stop %s Driver!\\n\"),argv[1]);\n\tif(TStrICmp(szBuffer,\"syser\")==0)\n\t\ttheApp.m_SyserInterface.UpdateDriverStatus();\n\treturn 0;\n}\n\nint fio_command(int argc, WCHAR *argv[ ],PCWSTR szCommandLine, CSyserApp*pSyser)\n{\n\tDWORD cbSize;\n\tWCHAR szBuffer[256],CmdChar;\n\tHANDLE hFile;\n\tif(argc<3)\n\t\tgoto ShowUsage;\n\tCmdChar = *argv[2];\n\tMAKE_CHAR_LOWER(CmdChar);\n\tZeroMemory(szBuffer,sizeof(szBuffer));\n\tif(CmdChar=='r')\n\t{\n\t\tif(argc!=3)\n\t\t\tgoto ShowUsage;\n\t\thFile = CreateFileW(argv[1],GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);\n\t\tif(hFile == INVALID_HANDLE_VALUE)\n\t\t\tgoto ErrorExit;\n\t\tReadFile(hFile,szBuffer,sizeof(szBuffer)-2,&cbSize,NULL);\n\t\tOUTPUT(WSTR(\"%s\\n\"),szBuffer);\n\t\tCloseHandle(hFile);\n\t}\n\telse if(CmdChar=='w')\n\t{\n\t\thFile = CreateFileW(argv[1],GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);\n\t\tif(hFile == INVALID_HANDLE_VALUE)\n\t\t\tgoto ErrorExit;\n\t\tWriteFile(hFile,argv[3],TStrLen(argv[3])*sizeof(WCHAR),&cbSize,NULL);\n\t\tCloseHandle(hFile);\n\t}\n\telse\n\t\tgoto ShowUsage;\n\treturn 0;\nShowUsage:\n\tOUTPUT(WSTR(\"Usage : fio name [r|w] \\\"string\\\"\\n\"));\n\treturn 0;\nErrorExit:\n\tOutputLastErrorMsg();\n\treturn -1;\n}\n\n\n//SyserAppCmd\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//CConsoleWnd\nWISP_MSG_MAP_BEGIN (CConsoleWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP_END(CWispConsoleWnd)\n\n\nbool CConsoleWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tfor(int n=0;SyserAppCmdTable[n].CmdStr;n++)\n\t{\n\t\tInsertCmd(SyserAppCmdTable[n].CmdStr,(CMDPROC)SyserAppCmdTable[n].CmdProc,&theApp,SyserAppCmdTable[n].CmdCmt,NULL);\n\t}\n\tSetHistoryLines(SyserAppOption.iHistroyLines);\n\tm_Option.RegisterValueAry(SyserAppOptVal);\n\treturn TRUE;\n}\n\n//CConsoleWnd\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserAppCmd.h",
    "content": "#ifndef _SYSER_APP_CMD_H_\n#define _SYSER_APP_CMD_H_\n\n\nstruct SYSER_APP_CMD_ENTRY\n{\n\tWCHAR*\tCmdStr;\n\tWCHAR*\tCmdCmt;\n\tvoid*\tCmdProc;\n};\n\nextern SYSER_APP_CMD_ENTRY\tSyserAppCmdTable[];\nclass CSyserApp;\n\nDECLARE_SYSER_APP_CMD(run_command);\nDECLARE_SYSER_APP_CMD(start_command);\nDECLARE_SYSER_APP_CMD(stop_command);\nDECLARE_SYSER_APP_CMD(reloadconfig_command);\nDECLARE_SYSER_APP_CMD(fio_command);\nDECLARE_SYSER_APP_CMD(loadsds_command);\nDECLARE_SYSER_APP_CMD(unloadsds_command);\nDECLARE_SYSER_APP_CMD(tsf_command);\nDECLARE_SYSER_APP_CMD(load_command);\nDECLARE_SYSER_APP_CMD(install_command);\nDECLARE_SYSER_APP_CMD(uninstall_command);\nDECLARE_SYSER_APP_CMD(scrshot_command);\nDECLARE_SYSER_APP_CMD(rmsptd_command);\n\nclass CConsoleWnd : public CWispConsoleWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserAppOption.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserAppOption.h\"\n\nint\tSyserAppOptionRef = 0;\nint SyserAppBootTypeRef = 0;\nint\tiBootType;\nint\tOrgiBootType = 3;\n\nSYSER_APP_OPTION OrgSyserAppOption = \n{\n\t0,//CRCCode\n\t1,//iSystemTray\n\t1,//iAutoStart\n\t2,//iAutoStop\n\t0,//iTopMost\n\t300,//iHistroyLines;\n};\n\nSYSER_APP_OPTION SyserAppOption;\n\nSTRegOptVal SyserAppOptVal[]=\n{\n\t{WSTR(\"iSystemTray\"),\t\t\tSTOptVal::INT_VAL,\t&SyserAppOption.iSystemTray},\n\t{WSTR(\"iAutoStart\"),\t\t\tSTOptVal::INT_VAL,\t&SyserAppOption.iAutoStart},\n\t{WSTR(\"iAutoStop\"),\t\t\t\tSTOptVal::INT_VAL,\t&SyserAppOption.iAutoStop},\n\t{WSTR(\"iTopMost\"),\t\t\t\tSTOptVal::INT_VAL,\t&SyserAppOption.iTopMost},\n\t{WSTR(\"iHistroyLines\"),\t\t\tSTOptVal::INT_VAL,\t&SyserAppOption.iHistroyLines},\n\t{NULL}\n};\n\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserAppOption.h",
    "content": "#ifndef _SYSER_APP_OPTION_H_\n#define _SYSER_APP_OPTION_H_\n\nstruct SYSER_APP_OPTION\n{\n\tDWORD\tCRCCode;\n\tint\t\tiSystemTray;\n\tint\t\tiAutoStart;\n\tint\t\tiAutoStop;\n\tint\t\tiTopMost;\n\tint\t\tiHistroyLines;\n};\n\nextern SYSER_APP_OPTION OrgSyserAppOption;\nextern SYSER_APP_OPTION SyserAppOption;\nextern STRegOptVal SyserAppOptVal[];\n\n#endif\n\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserInterface.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserApp.h\"\n#include \"SyserInterface.h\"\n#include \"LoadSourceFile.h\"\n#include \"ModifyBoot.h\"\n#include \"SNCheck.h\"\n\nCSyserInterface::CSyserInterface(void)\n{\n\tm_bCaptureDbgMsg = true;\n\tm_bRecvClipboard = false;\n\tm_bAttachFrameBuffer = false;\n\tGetModulePath(m_LoadDllName);\n\tTStrCat(m_LoadDllName,\"LoadDll.exe\");\n\tm_VerType = SN_ERROR;\n}\n\nCSyserInterface::~CSyserInterface(void)\n{\n}\n\nvoid CSyserInterface::UpdateDbgMsg(HANDLE hDevice)\n{\n\tWCHAR szBufferW[1024];\n\tCHAR szBuffer[1024];\n\tint cbReturn = 0;\n\tCWispConsoleWnd*pConsoleWnd = &((CMainFrame*)theApp.m_pRootWnd)->m_ConsoleWnd;\n\tdo\n\t{\n\t\tReadFile(hDevice,szBuffer,sizeof(szBuffer),(DWORD*)&cbReturn,NULL);\n\t\tif(cbReturn)\n\t\t{\n\t\t\tAnsiToUnicode(szBuffer,szBufferW,sizeof(szBuffer));\n\t\t\tpConsoleWnd->m_pWispBase->EnterCriticalSection();\n\t\t\tpConsoleWnd->LockUpdate();\n\t\t\tpConsoleWnd->Output(szBufferW);\n\t\t\tpConsoleWnd->EnsureInputVisible();\n\t\t\tpConsoleWnd->UnlockUpdate();\n\t\t\tpConsoleWnd->Update();\n\t\t\tpConsoleWnd->m_pWispBase->LeaveCriticalSection();\n\t\t}\n\t}while(cbReturn==sizeof(szBuffer));\n}\n\nvoid CSyserInterface::ChangeMsgFilter()\n{\n\tif(theApp.m_SyserInterface.m_hDbgMsgDevice == INVALID_HANDLE_VALUE)\n\t{\n\t\tOUTPUT(WSTR(\"%<F>SyserLoad : Fail to change debug message filter !\\n\"));\n\t\treturn;\n\t}\n\tDWORD dummy;\n\tDeviceIoControl(theApp.m_SyserInterface.m_hDbgMsgDevice,IOCTL_SDBGMSG_RELOAD_CFG,NULL,NULL,NULL,NULL,&dummy,NULL);\t\n}\n\nvoid CSyserInterface::UpdateWindow()\n{\n\tInvalidateRect(GetTopWindow(NULL),NULL,TRUE);\n}\n\nvoid CSyserInterface::MsgUpdateThread()\n{\n\tHANDLE hEvent;\n\tCWispConsoleWnd*pConsoleWnd = &((CMainFrame*)theApp.m_pRootWnd)->m_ConsoleWnd;\n\ttheApp.m_SyserInterface.m_hDbgMsgDevice = CreateFile(\"\\\\\\\\.\\\\SyserDbgMsg\",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);\n\tif(theApp.m_SyserInterface.m_hDbgMsgDevice == INVALID_HANDLE_VALUE)\n\t\treturn;\n\thEvent = CreateEvent(NULL,FALSE,FALSE,NULL);\n\tif(hEvent == NULL)\n\t{\n\t\tCloseHandle(theApp.m_SyserInterface.m_hDbgMsgDevice);\n\t\treturn;\n\t}\n\tDWORD dummy;\n\tDeviceIoControl(theApp.m_SyserInterface.m_hDbgMsgDevice,IOCTL_SDBGMSG_REG_EVENT,&hEvent,sizeof(hEvent),NULL,NULL,&dummy,NULL);\n\twhile(theApp.m_MainFrame.m_ConsoleWnd.IsWindow())\n\t{\n\t\tif(theApp.m_SyserInterface.m_bCaptureDbgMsg)\n\t\t{\n\t\t\t::SendMessage(theApp.m_hLocalWnd,WM_SYSER_UPDATE_DBG_MSG,0,0);\n\t\t}\n\t\tWaitForSingleObject(hEvent,INFINITE);\n\t}\n\tCloseHandle(hEvent);\n\tCloseHandle(theApp.m_SyserInterface.m_hDbgMsgDevice);\n}\n\nvoid CSyserInterface::ProgressSetRange(int Range)\n{\n\ttheApp.m_MainFrame.m_ProgressForm.m_pProgessCtrl->SetRange(1,Range);\n\ttheApp.m_MainFrame.m_ProgressForm.m_pProgessCtrl->SetPos(1);\n\ttheApp.m_MainFrame.m_ProgressForm.Update();\n}\n\nvoid CSyserInterface::ProgressSetPos(int Pos)\n{\n\ttheApp.m_MainFrame.m_ProgressForm.m_pProgessCtrl->SetPos(Pos);\n\ttheApp.m_MainFrame.m_ProgressForm.Update();\n}\n\nbool CSyserInterface::Init()\n{\n\tUINT StartType;\n\tm_VerInfo.dwOSVersionInfoSize = sizeof(m_VerInfo);\n\tGetVersionEx(&m_VerInfo);\n\tif(m_VerInfo.dwMajorVersion < 5)\n\t{\n\t\tif(MessageBox(theApp.m_hLocalWnd,\"Syser isn't support your windows system version!\\nContinue?\",\"Error\",MB_YESNO)==IDNO)\n\t\t\treturn false;\n\t}\n\tm_hMutex = OpenMutex(MUTEX_ALL_ACCESS,false,\"Syser Interface\");\n\tif(m_hMutex)\n\t{\n\t\tMessageBox(theApp.m_hLocalWnd,\"Syser Debugger is already running !\",\"Syser\",MB_OK);\n\t\treturn false;\n\t}\n\tm_hMutex = CreateMutex(NULL,false,\"Syser Interface\");\n\tif(IsDriverActive(\"SyserBoot\")==false)\n\t{\n\t\tInstallDependDriver(\"SyserBoot\",\"SysBoot.sys\");\n\t\tif(MessageBox(NULL,\"Syser Boot Module isn't actived !\\nYou need to reboot then you can start syser debugger!\\nReboot now?\",\"Warnning\",MB_YESNO)==IDYES)\n\t\t{\n\t\t\tCProcess::GetPrivilege(SE_SHUTDOWN_NAME);\n\t\t\tExitWindowsEx(EWX_REBOOT,0);\n\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\tif(IsDriverActive(\"sptd\"))\n\t{\n\t\tMessageBox(NULL,\"Deamon Tools SPTD isn't compatible with kernel debuggers such as Syser!\\n\"\n\t\t\t\t\t\t\"You can type command \\\"rmsptd\\\" to disable it !\",\n\t\t\t\t\t\t\"Warning\",MB_OK);\n\t}\n\tif(IsDriverActive(\"dump_wmimmc\"))\n\t{\n\t\tMessageBox(\tNULL,\n\t\t\t\"nProtect dump_wmimmc.sys isn't compatible with kernel debuggers !\\nMaybe cause BSOD !\",\n\t\t\t\"Warning\",MB_OK);\n\t}\n\tIsSysBootFrameBufferAvailable();\n\n\tm_SyserDX.Init();\n\tif(m_VerInfo.dwMajorVersion>=6)\n\t{//VistaʼBasicɫ\n\t}\n\tUpdateDriverStatus();\n\tInstallDependDriver(\"SyserBoot\",\"SysBoot.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SYSBOOT_ORDER);\n\tInstallDependDriver(\"SyserLanguage\",\"SysLang.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SYSLANG_ORDER);\n\tInstallDependDriver(\"SDbgMsg\",\"SDbgMsg.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SDBGMSG_ORDER);\n\tif(IsDriverActive(DRIVER_NAME)==false)\n\t{\n\t\tif(IsDriverActive(\"SyserLanguage\")==false)\n\t\t\tStartDriver(\"SyserLanguage\");\n\t\tif(IsDriverActive(\"SDbgMsg\")==false)\n\t\t\tStartDriver(\"SDbgMsg\");\n\t}\n\tInstallDependData(\"Syser.dat;Wisp.dat;libfunc.fdc;APIDef.lib\");\n\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\Start\",&StartType,sizeof(StartType))==false)\n\t\tStartType = SERVICE_DEMAND_START;\n\tInstallDependDriver(DRIVER_NAME,\"Syser.sys\",StartType,DERIVER_GROUP_NAME,GROUP_SYSER_ORDER);\n\tif(m_bSyserDriverStatus==false && SyserAppOption.iAutoStart!=0)\n\t{\n\t\tif(SyserAppOption.iAutoStart==1 || MessageBox(theApp.m_hLocalWnd,\"Start Syser Debugger ?\",\"Syser\",MB_YESNO)==IDYES)\n\t\t\tStartSyserDriver();\n\t}\n\tCreateThread(MsgUpdateThread);\n\treturn true;\n}\n\nvoid CSyserInterface::Release()\n{\n\tm_SyserDX.UnlockFrameSurfacer();\n\tm_SyserDX.Release();\n\tCloseHandle(m_hMutex);\n}\n\nvoid CSyserInterface::IsSysBootFrameBufferAvailable()\n{\n\tDWORD cbReturn;\n\tHANDLE hDevice;\n\tSYSER_FRAME_BUFFER FrameBuffer;\n\tm_bAttachFrameBuffer = false;\n\thDevice = CreateFile(\"\\\\\\\\.\\\\SyserBoot\",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);\n\tif(hDevice==INVALID_HANDLE_VALUE)\n\t\treturn;\n\tSTZeroMemory(FrameBuffer);\n\tDeviceIoControl(hDevice,IOCTL_SYSER_BOOT_GET_FRAME_BUFFER,NULL,0,&FrameBuffer,sizeof(FrameBuffer),&cbReturn,NULL);\n\tCloseHandle(hDevice);\n\tif(FrameBuffer.Buffer)\n\t\tm_bAttachFrameBuffer = true;\n}\n\nbool CSyserInterface::StartSyserDriver()\n{\n\tif(IsDriverActive(DRIVER_NAME))\n\t\treturn true;\n\tInstallDependDriver(DRIVER_NAME,\"Syser.sys\",-1);\n\tInstallDependData(\"Syser.dat;Wisp.dat;libfunc.fdc;APIDef.lib\");\t\n\tif(StartDriver(DRIVER_NAME)==false)\n\t{\n\t\tif(m_VerInfo.dwMajorVersion>=6)\n\t\t{\n\t\t\tMessageBox(theApp.m_hLocalWnd,\"Fail to load Syser !\\nPlease run Syser Loader with \\\"Admin\\\" !\",\"Error\",MB_OK);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tMessageBox(theApp.m_hLocalWnd,\"Fail to load Syser !\",\"Error\",MB_OK);\n\t\t}\n\t\treturn false;\n\t}\n\tif(SyserOption.iVideoDetectMode != SYSER_VDM_KERNEL)\n\t{\n\t\tif(SyserOption.iVideoDetectMode == SYSER_VDM_USER || m_bAttachFrameBuffer==false)\n\t\t\tm_SyserDX.LockFrameSurfacer();\n\t}\n\t\t\n\tUpdateDriverStatus();\n\t//¿ܻGUI߳,ֶˢĻ\n\tUpdateWindow();\n\tif(m_VerType==SN_ERROR)\n\t{\n\t\tDWORD VerType=0;\n\t\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\VerType\",&VerType,sizeof(VerType));\n\t\tif(VerType!=SN_ERROR)\n\t\t{\n\t\t\tm_VerType = (SYSER_SN_TYPE)VerType;\n\t\t\ttheApp.m_MainFrame.m_MainMenu.RemoveItem(EVENT_ID_BUYNOW);\n\t\t\ttheApp.m_MainFrame.GetVersionString();\n\t\t\ttheApp.m_MainFrame.Update();\n\t\t}\n\t}\n\treturn m_bSyserDriverStatus;\n}\n\nvoid CSyserInterface::StopSyserDriver()\n{\n\tif(DisableDriver(DRIVER_NAME))\n\t\tUpdateDriverStatus();\n\tm_SyserDX.UnlockFrameSurfacer();\n}\n\nvoid CSyserInterface::ReloadConfig()\n{\n\tDWORD cbReturn;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_RELOAD_CONFIG,NULL,0,NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n}\n\nvoid CSyserInterface::UpdateDriverStatus()\n{\n\tbool bNewState = IsDriverActive(DRIVER_NAME);\n\tif(bNewState!=m_bSyserDriverStatus)\n\t{\n\t\tm_bSyserDriverStatus = bNewState;\n\t\ttheApp.m_MainFrame.UpdateSyserDriverItem(m_bSyserDriverStatus);\n\t\tEnableMenuItem(theApp.m_hSubNotifyMenu,ID_MENU_ENABLE_SYSER,m_bSyserDriverStatus ? MF_DISABLED|MF_GRAYED:MF_ENABLED);\n\t\tEnableMenuItem(theApp.m_hSubNotifyMenu,ID_MENU_DISABLE_SYSER,m_bSyserDriverStatus ? MF_ENABLED:MF_DISABLED|MF_GRAYED);\n\t\ttheApp.ModifyNotifyIcon(bNewState?IDI_ICON_SYSERAPP:IDI_ICON_SYSER_OFF);\n\t}\n}\n\nbool CSyserInterface::RemoveDependData(PCSTR FileNameList)\n{\n\tchar szDesFile[MAX_FN_LEN],szFileName[MAX_FN_LEN],*pszDesFile;\n\tPCSTR szBegin,szEnd;\n\tGetSystemDirectory(szDesFile,MAX_FN_LEN);\n\tTStrCat(szDesFile,\"\\\\drivers\\\\\");\n\tpszDesFile = szDesFile+TStrLen(szDesFile);\n\tszBegin = FileNameList;\n\twhile(*szBegin)\n\t{\n\t\tszEnd = TStrChr(szBegin,';');\n\t\tif(szEnd)\n\t\t{\n\t\t\tTStrCpyLimit(szFileName,szBegin,(int)(szEnd-szBegin)+1);\n\t\t\tszEnd++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpy(szFileName,szBegin);\n\t\t\tszEnd = &szBegin[TStrLen(szBegin)];\n\t\t}\n\t\tTStrCpy(pszDesFile,szFileName);\n\t\tDeleteFile(szDesFile);\n\t\tszBegin = szEnd;\n\t}\n\treturn true;\t\n}\n\nbool CSyserInterface::InstallServiceEventLog(PCSTR ServiceName,PCSTR MessageDllFullName,DWORD TypesSupported,bool bSystemIoLog)\n{\n\tDWORD Disposition,dwSize;\n\tHKEY hKey;\n\tCHAR FullName[260],Value[260];\n\tstrcpy_s(FullName,sizeof(FullName),\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\Eventlog\\\\System\\\\\");\n\tstrcat_s(FullName,sizeof(FullName),ServiceName);\n\tif(RegCreateKeyEx(HKEY_LOCAL_MACHINE,FullName,0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tstrcpy_s(Value,sizeof(Value),\"%SystemRoot%\");\n\tstrcat_s(Value,sizeof(Value),\"\\\\System32\\\\IoLogMsg.dll;\");\n\tstrcat_s(Value,sizeof(Value),MessageDllFullName);\n\tdwSize = (DWORD)strlen(Value);\t\n\tif(RegSetValueEx(hKey,\"EventMessageFile\",0,REG_SZ,(BYTE*)Value,dwSize) != ERROR_SUCCESS)\n\t{\n\t\tRegCloseKey(hKey);\n\t\treturn false;\n\t}\n\tif(RegSetValueEx(hKey,\"TypesSupported\",0,REG_DWORD,(BYTE*)&TypesSupported,sizeof(TypesSupported)) != ERROR_SUCCESS)\n\t{\n\t\tRegCloseKey(hKey);\n\t\treturn false;\n\t}\n\tRegCloseKey(hKey);\n\treturn true;\n}\n\nbool CSyserInterface::UninstallServiceEventLog(PCSTR ServiceName)\n{\n\tDWORD Disposition;\n\tHKEY hKey;\n\tCHAR FullName[260];\n\tstrcpy_s(FullName,sizeof(FullName),\"SYSTEM\\\\CurrentControlSet\\\\Services\\\\Eventlog\\\\System\\\\\");\n\tif(RegCreateKeyEx(HKEY_LOCAL_MACHINE,FullName,0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tRegDeleteKey(hKey,ServiceName);\n\tRegCloseKey(hKey);\n\treturn true;\n}\n\nbool CSyserInterface::InstallDependDriver(PCSTR ServiceName,PCSTR FileName,UINT StartType,PCSTR GroupName,DWORD Tag)\n{\n\tchar szDriver[MAX_FN_LEN],szNewDriver[MAX_FN_LEN];\n\tTStrCpy(szDriver,\"system32\\\\drivers\\\\\");\n\tTStrCat(szDriver,FileName);\n\tif(StartType!=-1)\n\t\tInstallDriver(ServiceName,szDriver,StartType,GroupName,Tag);\n \n\tGetSystemDirectory(szDriver,sizeof(szDriver));\n\tTStrCat(szDriver,\"\\\\drivers\\\\\");\n\tTStrCat(szDriver,FileName);\n\n\tGetModulePath(szNewDriver);\n\tTStrCat(szNewDriver,FileName);\n\n\tCPEFile PEFile,NewPEFile;\n\tif(PEFile.Open(szDriver)==false)\n\t\tgoto Reinstall;\n\tif(NewPEFile.Open(szNewDriver)==false)\n\t{\n\t\tPEFile.Close();\n\t\treturn false;\n\t}\n\tPEFile.Close();\n\tNewPEFile.Close();\n\tif(PEFile.m_PEHead.TimeDateStamp == NewPEFile.m_PEHead.TimeDateStamp)\n\t\treturn true;\nReinstall:\n\tif(CopyFile(szNewDriver,szDriver,FALSE)==FALSE)\n\t\treturn false;\n\treturn true;\n}\n\nvoid CSyserInterface::SendClipboardString()\n{\n\tint Length;\n\tchar szBuffer[256];\n\tWCHAR wszBuffer[256];\n\tDWORD cbReturn;\n\tPSTR szString;\n\tHANDLE hClipboard;\n\tif(m_bRecvClipboard)\n\t\treturn;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn;\n\tif(OpenClipboard(theApp.m_hLocalWnd)==FALSE)\n\t{\n\t\tCloseHandle(hSyser);\n\t\treturn;\n\t}\n\thClipboard = GetClipboardData(CF_TEXT);\n\tif(hClipboard==NULL)\n\t{\n\t\tCloseClipboard();\n\t\tCloseHandle(hSyser);\n\t\treturn;\n\t}\n\tszString =(PSTR)GlobalLock(hClipboard);\n\tif(szString==NULL)\n\t{\n\t\tGlobalUnlock(hClipboard);\n\t\tCloseClipboard();\n\t\tCloseHandle(hSyser);\n\t\treturn;\n\t}\n\tLength = TStrCpyLimit(szBuffer,szString,sizeof(szBuffer));\n\tAnsiToUnicode(szString,wszBuffer,sizeof(wszBuffer)/sizeof(WCHAR));\n\ttheApp.m_ClipboardString = wszBuffer;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_SET_CLIP_BOARD,szBuffer,Length+1,NULL,0,&cbReturn,NULL);\n\tGlobalUnlock(hClipboard);\n\tCloseClipboard();\n\tCloseHandle(hSyser);\n}\n\nvoid CSyserInterface::RecvClipboardString()\n{\n\tWCHAR wszBuffer[1024];\n\tchar szBuffer[1024];\n\tDWORD cbReturn;\n\tif(m_bRecvClipboard)\n\t\treturn;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn;\n\tcbReturn = 0;\n\t*szBuffer = 0;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_GET_CLIP_BOARD,NULL,NULL,szBuffer,sizeof(szBuffer),&cbReturn,NULL);\n\tif(cbReturn==0)\n\t{\n\t\tCloseHandle(hSyser);\n\t\treturn;\n\t}\n\tAnsiToUnicode(szBuffer,wszBuffer,1024);\n\tm_bRecvClipboard = true;\n\ttheApp.SetClipboardString(wszBuffer);\n\tm_bRecvClipboard = false;\n\tCloseHandle(hSyser);\n}\n\nvoid CSyserInterface::UpdateThread()\n{\n\tchar VersionBuf[200];\n\tint nRetLen;\n\tint retval;\n\tCHttpDownload Download;\n\tchar buffer[200];\n\tDWORD dwHandle;\t \n\tDWORD dwSize;\n\tchar* lpData;\n\tunsigned int nLen;\n\tvoid* ptr;\n\tchar SystemPath[MAX_PATH];\n\tmemset(VersionBuf,0,sizeof(VersionBuf));\n\tmemset(buffer,0,sizeof(buffer));\n\tDownload.StartupWinsock();\n\tretval = Download.DownloadToBuffer(\"http://www.sysersoft.com/download/version.txt\",buffer,sizeof(buffer),&nRetLen);\t\n\tDownload.CleanupWinsock();\n\tif(retval!=0)\n\t\treturn;\n\tGetSystemDirectory(SystemPath,sizeof(SystemPath));\n\tstrcat(SystemPath,\"\\\\drivers\\\\syser.sys\");\n\tdwSize=GetFileVersionInfoSize(SystemPath,&dwHandle);\n\tif(dwSize==0)\n\t\treturn;\t\t \n\tlpData=new char[dwSize+1];\n\tif(lpData==NULL)\n\t\treturn;\n\tif(GetFileVersionInfo(SystemPath,0,dwSize,lpData)==false)\n\t{\n\t\tdelete []lpData;\n\t\treturn;\t\n\t}\n\tif(VerQueryValue(lpData,\"\\\\StringFileInfo\\\\040904B0\\\\ProductVersion\",&ptr,&nLen)==false)\n\t{\n\t\tdelete []lpData;\n\t\treturn;\t\n\t}\n\tdelete []lpData;\n\tif(strcmp(buffer,(char*)ptr)==0)\n\t{\n\t\tdelete []lpData;\n\t\treturn;\t\n\t}\t\n}\nPCSTR\tszTranslateFileName;\nPSTR\tszTranslateSymbolFileName;\nbool\tbTranslateResult;\n\nvoid CSyserInterface::TranslateThread()\n{\n\ttheApp.m_SourceDebug.m_pfnSetRange = ProgressSetRange;\n\ttheApp.m_SourceDebug.m_pfnSetPos = ProgressSetPos;\n\tbTranslateResult = theApp.m_SourceDebug.TranslateSymbolFile(szTranslateFileName,szTranslateSymbolFileName,true);\n\ttheApp.m_MainFrame.m_ProgressForm.Destroy();\n}\n\nbool CSyserInterface::TranslateSymbolFile(IN PCSTR szFileName,OUT PSTR szSymbolFileName,bool bOverWrite)\n{\n\tWCHAR wszFileName[MAX_FN_LEN],szBuffer[512];\n\tif(bOverWrite==false && theApp.m_SourceDebug.IsTranslated(szFileName,szSymbolFileName))\n\t\treturn true;\n\tbTranslateResult = false;\n\tszTranslateFileName = szFileName;\n\tszTranslateSymbolFileName = szSymbolFileName;\n\tszSymbolFileName[0]=0;\n\ttheApp.m_MainFrame.m_ProgressForm.CreateForm();\n\tCreateThread(TranslateThread);\n\tAnsiToUnicode(TGetFileName(szFileName),wszFileName,MAX_FN_LEN);\n\tTSPrintf(szBuffer,WSTR(\"Translate %s symbols to SDS\"),wszFileName);\n\ttheApp.m_MainFrame.m_ProgressForm.SetProgressText(szBuffer);\n\ttheApp.m_MainFrame.m_ProgressForm.Show(WISP_SH_MODAL_BLOCK);\n\treturn bTranslateResult;\n}\n\n\nbool CSyserInterface::TranslateExportSymbolFile(IN PCSTR szFileName,OUT PSTR szSymbolFileName)\n{\n\tif(theApp.m_NoPDBSymbol.Init())\n\t\treturn theApp.m_NoPDBSymbol.TranslateSymbolFile(szFileName,szSymbolFileName);\t\n\treturn false;\n}\n\nbool CSyserInterface::GetModuleFullPath(PCSTR szModuleName,PCSTR szMainModule,PSTR szFullName)\n{\n\tCHAR szBuffer[MAX_FN_LEN];\n\tTGetFilePath(szMainModule,szBuffer);\n\tTStrCat(szBuffer,\"\\\\\");\n\tTStrCat(szBuffer,szModuleName);\n\tif(gpFileIO->IsFileExist(szBuffer))\n\t{\n\t\tTStrCpy(szFullName,szBuffer);\n\t\treturn true;\n\t}\n\tGetSystemDirectory(szBuffer,MAX_FN_LEN);\n\tTStrCat(szBuffer,\"\\\\\");\n\tTStrCat(szBuffer,szModuleName);\n\tif(gpFileIO->IsFileExist(szBuffer))\n\t{\n\t\tTStrCpy(szFullName,szBuffer);\n\t\treturn true;\n\t}\n\tGetWindowsDirectory(szBuffer,MAX_FN_LEN);\n\tTStrCat(szBuffer,\"\\\\\");\n\tTStrCat(szBuffer,szModuleName);\n\tif(gpFileIO->IsFileExist(szBuffer))\n\t{\n\t\tTStrCpy(szFullName,szBuffer);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CSyserInterface::LoadDepModuleSDS(PCSTR szMainModule,bool bDriver)\n{\n\tCHAR szFileName[MAX_FN_LEN],szSymbolFileName[MAX_FN_LEN];\n\tCPEFile PEFile;\n\tif(PEFile.Open(szMainModule)==false)\n\t\treturn false;\n\tfor(int n=0;n<PEFile.m_ImportModuleCount;n++)\n\t{\n\t\tif(GetModuleFullPath(PEFile.m_ImportModule[n].FileName,szMainModule,szFileName))\n\t\t{\n\t\t\tif(TranslateSymbolFile(szFileName,szSymbolFileName,false))\n\t\t\t\tLoadSDS(szSymbolFileName);\n\t\t}\n\t}\n\tPEFile.Close();\n\treturn true;\n}\n\nbool CSyserInterface::LoadModule(PCSTR szFilename,PCSTR szCmdLine,DWORD Style)\n{\n\tbool Result;\n\tif(*szFilename==0)\n\t\treturn false;\n\tif(m_bSyserDriverStatus==false)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Error : Syser isn't actived !\\n\"));\n\t\treturn false;\n\t}\n\tif(TStrICmp(TGetFileExt(szFilename),\"sys\")==0)\n\t{\n\t\tResult = theApp.m_SyserInterface.LaunchDriverForDebugging(szFilename,Style);\n\t}\n\telse\n\t{\n\t\tResult = theApp.m_SyserInterface.LaunchAppForDebugging(szFilename,szCmdLine,Style);\n\t}\n\tif(!Result)\n\t{\n\t\tOUTPUT(WSTR(\"%<3>Error : Fail to load !\\n\"));\n\t\treturn true;\n\t}\n\ttheApp.InsertHistroy(szFilename,Style);\n\treturn true;\n}\n\nbool CSyserInterface::LaunchAppForDebugging(IN PCSTR FileName,PCSTR szCmdLine,DWORD Style)\n{\n\tchar szDir[MAX_FN_LEN];\n\tDWORD cbReturn;\n\tSYSER_DEBUG_PROCESS SyserDbgProc;\n\tchar NewSymbolFileName[MAX_FN_LEN];\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\n\tSTZeroMemory(SyserDbgProc);\n\tZeroMemory(NewSymbolFileName,sizeof(NewSymbolFileName));\n\tif(_GET_WORD(FileName)=='\\\\\\\\')\n\t\t*SyserDbgProc.ExeFullPathName=0;\n\telse\n\t\tTStrCpy(SyserDbgProc.ExeFullPathName,\"\\\\??\\\\\");\n\tTStrCat(SyserDbgProc.ExeFullPathName,FileName);\n\tif(Style & SDP_LOAD_SDS)\n\t{\n\t\tif(TranslateSymbolFile(FileName,NewSymbolFileName,false))\n\t\t{\n\t\t\tif(_GET_WORD(NewSymbolFileName)=='\\\\\\\\')\n\t\t\t{\n\t\t\t\tTStrCpy(SyserDbgProc.SymbolFileName,\"\\\\Device\\\\LanmanreDirector\\\\\");\n\t\t\t\tTStrCat(SyserDbgProc.SymbolFileName,&NewSymbolFileName[2]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tTStrCpy(SyserDbgProc.SymbolFileName,\"\\\\??\\\\\");\n\t\t\t\tTStrCat(SyserDbgProc.SymbolFileName,NewSymbolFileName);\n\t\t\t}\n\t\t}\n\t}\n\n\tTGetFilePath(FileName,szDir);\n\tPSTR pszExtName = TGetFileExt(FileName);\n\tif(pszExtName && TStrICmp(pszExtName,\"dll\")==0)\n\t{\n\t\tif(m_Process.Start(m_LoadDllName,FileName,true,szDir)==false)\n\t\t{\n\t\t\tCloseHandle(hSyser);\n\t\t\treturn false;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_Process.Start(FileName,szCmdLine,true,szDir)==false)\n\t\t{\n\t\t\tCloseHandle(hSyser);\n\t\t\treturn false;\n\t\t}\n\t}\n\tSyserDbgProc.Style = Style;\n\tSyserDbgProc.ProcessID = m_Process.m_ProcessID;\n\tBOOL bRetValue;\n\tbRetValue = DeviceIoControl(hSyser,IOCTL_SYSER_DEBUG_PROCESS,&SyserDbgProc,sizeof(SYSER_DEBUG_PROCESS),NULL,0,&cbReturn,NULL);\n\tif(bRetValue==FALSE)\n\t{\n\t\tOUTPUT(WSTR(\"Syser : Debug application error %08x\\n\"),GetLastError());\n\t}\n\tif(Style & SDP_LOAD_DEP_SDS)\n\t\tLoadDepModuleSDS(FileName,false);\n\tCloseHandle(hSyser);\n\ttheApp.m_MainFrame.Update();\n\tm_Process.SuspendAllThread(false);\n\treturn true;\n}\n\nbool CSyserInterface::LaunchDriverForDebugging(IN PCSTR FileName,DWORD Style)\n{\t\n\tDWORD cbReturn;\n\tSYSER_DEBUG_DRIVER DebugDriver;\n\tchar szDriverName[MAX_FN_LEN],NewSymbolFileName[MAX_FN_LEN];\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tSTZeroMemory(DebugDriver);\n\t*NewSymbolFileName=0;\n\tif(Style & SDP_LOAD_SDS)\n\t{\n\t\tif(TranslateSymbolFile(FileName,NewSymbolFileName,false))\n\t\t{\n\t\t\tTStrCpy(DebugDriver.SymbolFileName,\"\\\\??\\\\\");\n\t\t\tTStrCat(DebugDriver.SymbolFileName,NewSymbolFileName);\n\t\t}\n\t}\n\tTGetFileTitle(FileName,szDriverName);\n\tif(IsDriverActive(szDriverName))\n\t{\n\t\tchar szBuffer[512];\n\t\tsprintf_s(szBuffer,sizeof(szBuffer),\"%s is already actived !\\nStop it first?\",szDriverName);\n\t\tif(MessageBox(theApp.m_hLocalWnd,szBuffer,\"Warning\",MB_YESNO)==IDYES)\n\t\t{\n\t\t\tStopDriver(szDriverName);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tCloseHandle(hSyser);\n\t\t\treturn false;\n\t\t}\n\t}\n\tTStrCpy(DebugDriver.DriverPathName,\"\\\\??\\\\\");\n\tTStrCat(DebugDriver.DriverPathName,FileName);\n\tDebugDriver.Style = Style;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_DEBUG_DRIVER,&DebugDriver,sizeof(SYSER_DEBUG_DRIVER),NULL,0,&cbReturn,NULL);\n\tif(EnableDriver(szDriverName,FileName)==false)\n\t{\n\t\tCloseHandle(hSyser);\n\t\treturn false;\n\t}\n\tCloseHandle(hSyser);\n\treturn true;\n}\n\nbool CSyserInterface::LoadModuleExportSymbols(IN PCSTR szFileName)\n{\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tDWORD cbReturn;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_LOAD_EXPORT_SYMBOL,(PVOID)szFileName,TStrLen(szFileName)+1,NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n\treturn true;\n}\n\nbool CSyserInterface::LoadModuleIDAMapFile(IN PCSTR szIDAMapFile,IN PCSTR szModuleName)\n{\n\tSYSER_LOAD_IDA_MAPFILE LoadIDAMapFile;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tstrcpy_s(LoadIDAMapFile.IDAMapFile,sizeof(LoadIDAMapFile.IDAMapFile),szIDAMapFile);\n\tstrcpy_s(LoadIDAMapFile.ModuleName,sizeof(LoadIDAMapFile.ModuleName),szModuleName);\n\tDWORD cbReturn;\n\tDeviceIoControl(hSyser,IOCTL_SYSER_LOAD_IDA_MAPFILE,(PVOID)&LoadIDAMapFile,sizeof(LoadIDAMapFile),NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n\treturn true;\n}\n\nbool CSyserInterface::LoadSDS(IN PCSTR SymbolModuleFileName)\n{\n\tDWORD cbReturn;\n\tSYSER_LOAD_SYMBOL_MODULE LoadSymbolModule;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tSTZeroMemory(LoadSymbolModule);\n\tif(theApp.m_SourceDebug.IsSymbolFile((char*)SymbolModuleFileName)==false)\n\t{\n\t\tCloseHandle(hSyser);\n\t\treturn false;\n\t}\n\tTStrCpy(LoadSymbolModule.SymbolModuleName,\"\\\\??\\\\\");\n\tTStrCat(LoadSymbolModule.SymbolModuleName,SymbolModuleFileName);\n\tDeviceIoControl(hSyser,IOCTL_SYSER_LOAD_SDS\t,&LoadSymbolModule,sizeof(LoadSymbolModule),NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n\treturn true;\n}\n\nbool CSyserInterface::UnloadSDS(IN PCSTR SymbolModuleFileName)\n{\n\tDWORD cbReturn;\n\tSYSER_UNLOAD_SYMBOL_MODULE UnloadSymbolModule;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn false;\n\tcbReturn = sizeof(UnloadSymbolModule);\n\tZeroMemory(&UnloadSymbolModule,cbReturn);\n\tif(theApp.m_SourceDebug.IsSymbolFile(SymbolModuleFileName)==false)\n\t{\n\t\tCloseHandle(hSyser);\n\t\treturn false;\n\t}\n\tTStrCpy(UnloadSymbolModule.SymbolModuleName,\"\\\\??\\\\\");\n\tTStrCat(UnloadSymbolModule.SymbolModuleName,SymbolModuleFileName);\n\tDeviceIoControl(hSyser,IOCTL_SYSER_UNLOAD_SDS,&UnloadSymbolModule,cbReturn,NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n\treturn true;\n}\n\nbool CSyserInterface::IsSyserRuning()\n{\n\treturn m_bSyserDriverStatus;\n}\n\nbool CSyserInterface::InstallServiceGroupOrderList()\n{\n#define MAX_REGISTRY_VALUENAME_LEN 0x4001\n#define SWAP_BYTE_ORDER(x) (((x)<<24) | ((x&0xff00)<<16) | ((x&0xff000)>>8)|(x>>24))\n\tHKEY hKey;\n\tLONG lOK;\n\tDWORD dwIndex=0;\n\tDWORD Disposition,ValueNameLen=MAX_REGISTRY_VALUENAME_LEN;\n\tSTGROUPORDERLIST GroupOrderList;\n\tif((lOK = RegCreateKeyEx(HKEY_LOCAL_MACHINE,\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\GroupOrderList\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition))!=ERROR_SUCCESS)\n\t\treturn false;\n\tmemset(&GroupOrderList,0,sizeof(STGROUPORDERLIST));\n\tGroupOrderList.Count=5;\n\tGroupOrderList.Order1=SWAP_BYTE_ORDER(GROUP_SYSLANG_ORDER);\n\tGroupOrderList.Order2=SWAP_BYTE_ORDER(GROUP_SDBGMSG_ORDER);\n\tGroupOrderList.Order3=SWAP_BYTE_ORDER(GROUP_SYSBOOT_ORDER);\n\tGroupOrderList.Order4=SWAP_BYTE_ORDER(GROUP_SYSER_ORDER);\n\tGroupOrderList.Order5=SWAP_BYTE_ORDER(GROUP_RESERVES2_ORDER);\n\tif(RegSetValueEx(hKey,DERIVER_GROUP_NAME,0,REG_BINARY,(BYTE*)&GroupOrderList,sizeof(GroupOrderList)) != ERROR_SUCCESS)\n\t{\n\t\tRegCloseKey(hKey);\n\t\treturn false;\n\t}\n\tRegCloseKey(hKey);\n\treturn true;\n}\n\nbool CSyserInterface::UninstallServiceGroupOrderList()\n{\n\treturn DelRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Control\\\\GroupOrderList\\\\Syser\");\n}\n\nbool CSyserInterface::UninstallFileExtAssociate()\n{\n\tHKEY hKey;\n\tLONG lOK,cbValue;\n\tchar StringBuf[512];\n\tunsigned char pDataBuf[512];\n\tchar Name[]=\"SdsFile\";\n\tchar Name7[]=\"InfoTip\";\n\tchar Name2[]=\"Syser Symbol File\";\n\tchar Name6[]=\"prop:FileDescription;Company;FileVersion;Create;Size\";\n\tDWORD dwType,cbData,dwIndex;\n\n\tlOK = RegOpenKey(HKEY_CLASSES_ROOT,\".sds\",&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tcbValue=sizeof(StringBuf);\n\t\tlOK = RegQueryValue(hKey,NULL,StringBuf,&cbValue);\n\t\tif(lOK==ERROR_SUCCESS)\n\t\t{\n\t\t\tif(TStrCmp(StringBuf,Name)==0)\n\t\t\t\tlOK = RegDeleteValue(hKey,NULL);\n\t\t\tcbData = sizeof(pDataBuf);\n\t\t\tdwIndex=0;\n\t\t\tcbData = sizeof(pDataBuf);\n\t\t\tcbValue=sizeof(StringBuf);\n\t\t\tlOK=RegEnumValue(hKey,dwIndex,StringBuf,(LPDWORD)&cbValue,NULL,&dwType,pDataBuf,&cbData);\n\t\t\tif(lOK==ERROR_NO_MORE_ITEMS)\n\t\t\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\t}\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\tlOK = RegOpenKeyEx(HKEY_CLASSES_ROOT,Name,0,KEY_ALL_ACCESS,&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tcbValue=sizeof(StringBuf);\n\t\tlOK = RegQueryValue(hKey,NULL,StringBuf,&cbValue);\n\t\tif(lOK==ERROR_SUCCESS)\n\t\t{\n\t\t\tif(TStrCmp(StringBuf,Name2)==0)\n\t\t\t\tlOK = RegDeleteValue(hKey,NULL);\n\t\t}\n\t\tcbData=sizeof(pDataBuf);\n\t\tlOK = RegQueryValueEx(hKey,Name7,NULL,&dwType,pDataBuf,&cbData);\n\t\tif(lOK==ERROR_SUCCESS)\n\t\t{\n\t\t\tif(TStrCmp(pDataBuf,Name6)==0)\n\t\t\t\tlOK = RegDeleteValue(hKey,Name7);\n\t\t}\n\n\t\tcbData = sizeof(pDataBuf);\n\t\tdwIndex=0;\n\t\tcbData = sizeof(pDataBuf);\n\t\tcbValue=sizeof(StringBuf);\n\t\tlOK=RegEnumValue(hKey,dwIndex,StringBuf,(LPDWORD)&cbValue,NULL,&dwType,pDataBuf,&cbData);\n\t\tif(lOK==ERROR_NO_MORE_ITEMS)\n\t\t{\n\t\t\tlOK = RegDeleteKey(hKey,\"shell\\\\open\\\\command\");\n\t\t\tlOK = RegDeleteKey(hKey,\"shell\\\\open\");\n\t\t\tlOK = RegDeleteKey(hKey,\"shell\\\\SyserLoad\\\\command\");\n\t\t\tlOK = RegDeleteKey(hKey,\"shell\\\\SyserLoad\");\n\t\t\tlOK = RegDeleteKey(hKey,\"shell\");\n\t\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\t}\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\tlOK = RegOpenKeyEx(HKEY_CLASSES_ROOT,\"exefile\\\\shell\\\\ SyserLoad\\\\command\",0,KEY_ALL_ACCESS,&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\tlOK = RegOpenKeyEx(HKEY_CLASSES_ROOT,\"exefile\\\\shell\\\\ SyserLoad\",0,KEY_ALL_ACCESS,&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\tlOK = RegOpenKeyEx(HKEY_CLASSES_ROOT,\"sysfile\\\\shell\\\\ SyserLoad\\\\command\",0,KEY_ALL_ACCESS,&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\tlOK = RegOpenKeyEx(HKEY_CLASSES_ROOT,\"sysfile\\\\shell\\\\ SyserLoad\",0,KEY_ALL_ACCESS,&hKey);\n\tif(lOK==ERROR_SUCCESS)\n\t{\n\t\tlOK = RegDeleteKey(hKey,\"\");\n\t\tlOK = RegCloseKey(hKey);\n\t}\n\treturn true;\n}\n\n\nbool CSyserInterface::InstallFileExtAssociate()\n{\n\tchar CommandLine[1024];\n\tchar Name[]=\"SdsFile\";\n\tchar Name2[]=\"Syser Symbol File\";\n\tchar Name3[]=\"SyserLoad\";\n\tchar Name4[]=\"Load into S&yser\";\n\tchar Name5[]=\"Debug with S&yser\";\n\tchar Name6[]=\"prop:FileDescription;Company;FileVersion;Create;Size\";\n\tDWORD Disposition,dwSize;\n\tint ModuleFileNameLen;\n\tHKEY hKey;\n\tLONG lOK;\n\tCommandLine[0]='\"';\n\tGetModuleFileNameA(NULL,&CommandLine[1],sizeof(CommandLine));\n\tModuleFileNameLen=TStrLen(CommandLine);\n\tModuleFileNameLen++;\n\tTStrCat(CommandLine,\"\\\" /Load \\\"%1\\\"\");\n\tif((lOK = RegCreateKeyEx(HKEY_CLASSES_ROOT,\".sds\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition))!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name,sizeof(Name)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name2,sizeof(Name2)) != ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,\"InfoTip\",0,REG_SZ,(BYTE*)Name6,sizeof(Name6)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name3,sizeof(Name3)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\\\\open\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\\\\open\\\\command\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tdwSize = (DWORD)TStrLen(CommandLine)+1;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)CommandLine,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\\\\SyserLoad\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name4,sizeof(Name4)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"SdsFile\\\\shell\\\\SyserLoad\\\\command\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tdwSize = (DWORD)TStrLen(CommandLine)+1;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)CommandLine,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"exefile\\\\shell\\\\ SyserLoad\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name5,sizeof(Name5)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"exefile\\\\shell\\\\ SyserLoad\\\\command\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tCommandLine[ModuleFileNameLen]=0;\n\tTStrCat(CommandLine,\" /debugapp \\\"%1\\\"\");\n\tdwSize = (DWORD)TStrLen(CommandLine)+1;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)CommandLine,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"sysfile\\\\shell\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"sysfile\\\\shell\\\\ SyserLoad\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)Name5,sizeof(Name5)) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\tif(RegCreateKeyEx(HKEY_CLASSES_ROOT,\"sysfile\\\\shell\\\\ SyserLoad\\\\command\",0,\"\",0,KEY_ALL_ACCESS,NULL,&hKey,&Disposition)!=ERROR_SUCCESS)\n\t\treturn false;\n\tCommandLine[ModuleFileNameLen]=0;\n\tTStrCat(CommandLine,\" /debugdriver \\\"%1\\\"\");\n\tdwSize = (DWORD)TStrLen(CommandLine)+1;\n\tif(RegSetValueEx(hKey,NULL,0,REG_SZ,(BYTE*)CommandLine,dwSize) != ERROR_SUCCESS)\n\t\treturn false;\n\tRegCloseKey(hKey);\n\treturn true;\n}\n\nbool CSyserInterface::InstallSyser()\n{\n\tInstallServiceGroupOrderList();\n\tInstallServiceGroup(DERIVER_GROUP_NAME,\"Primary Disk\");\n\tInstallDependDriver(\"SyserBoot\",\"SysBoot.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SYSBOOT_ORDER);\n\tInstallDependDriver(\"SyserLanguage\",\"SysLang.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SYSLANG_ORDER);\n\tInstallDependDriver(\"SDbgMsg\",\"SDbgMsg.sys\",SERVICE_BOOT_START,DERIVER_GROUP_NAME,GROUP_SDBGMSG_ORDER);\n\tInstallDependDriver(DRIVER_NAME,\"Syser.sys\",SERVICE_DEMAND_START,DERIVER_GROUP_NAME,GROUP_SYSER_ORDER);\n\tInstallServiceEventLog(\"Syser\",\"%SystemRoot%\\\\System32\\\\drivers\\\\Syser.sys\",7,true);\n\tInstallDependData(\"Syser.dat;Wisp.dat;libfunc.fdc;APIDef.lib\");\n\tRemoveDependData(\"Syser.cfg;SyserColor.cfg\");\n\tchar szWindows[MAX_FN_LEN];\n\tGetWindowsDirectory(szWindows,MAX_FN_LEN);\n\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\SystemRoot\",szWindows,REG_SZ);\n\tSaveSyserOption(theApp.m_szSyserAppCfgFN,&OrgSyserAppOption,sizeof(OrgSyserAppOption));\n\tSaveSyserOption(theApp.m_szSyserCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\tSaveSyserOption(theApp.m_szSyserColorCfgFN,&OrgColorOption,sizeof(OrgColorOption));\n\tULONGLONG InstTime;\n\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\InstTime\",&InstTime,sizeof(InstTime))==false)\n\t{\n\t\tInstTime = GetCurrentInstallTime();\n\t\tif(InstTime)\n\t\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\InstTime\",&InstTime,REG_QWORD);\n\t}\n\tif(IsDriverActive(\"sptd\"))\n\t{\n\t\tMessageBox(\tNULL,\n\t\t\t\t\t\"Daemon Tools SPTD isn't compatible with kernel debuggers !\\n\"\n\t\t\t\t\t\"Daemon Tools Uninstaller couldn't clean it !\\n\"\n\t\t\t\t\t\"Syser will disable it while installation !\",\n\t\t\t\t\t\"Warning\",MB_OK);\n\t}\n\tif(IsDriverActive(\"dump_wmimmc\"))\n\t{\n\t\tMessageBox(\tNULL,\n\t\t\t\"nProtect dump_wmimmc.sys isn't compatible with kernel debuggers !\\nMaybe cause BSOD !\",\n\t\t\t\"Warning\",MB_OK);\n\t}\n\tDWORD Start = 3;\n\tDWORD OldStart=0;\n\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&OldStart,REG_DWORD))\n\t{\n\t\tif(OldStart<3)\n\t\t{\n\t\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&Start,REG_DWORD);\t\t\n\t\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\OldStart\",&OldStart,REG_DWORD);\n\t\t}\n\t}\n\t\n\treturn true;\n}\n\nbool CSyserInterface::UninstallSyser()\n{\n\tchar szDir[MAX_FN_LEN],szFile[MAX_FN_LEN];\n\tGetSystemDirectory(szDir,MAX_FN_LEN);\n\tTStrCpy(szFile,szDir);\n\tTStrCat(szFile,\"\\\\drivers\\\\Syser.cfg\");\n\tDeleteFile(szFile);\n\tTStrCpy(szFile,szDir);\n\tTStrCat(szFile,\"\\\\drivers\\\\SyserColor.cfg\");\n\tDeleteFile(szFile);\n\tTStrCpy(szFile,szDir);\n\tTStrCat(szFile,\"\\\\drivers\\\\ExpMod.lst\");\n\tDeleteFile(szFile);\n\tTStrCpy(szFile,szDir);\n\tTStrCat(szFile,\"\\\\drivers\\\\ModExSym.lst\");\n\tDeleteFile(szFile);\n\tTStrCpy(szFile,szDir);\n\tTStrCat(szFile,\"\\\\drivers\\\\Syser.cmt\");\n\tDeleteFile(szFile);\n\tif(IsDriverActive(DRIVER_NAME))\n\t\tif(DisableDriver(DRIVER_NAME)==false)\n\t\t\treturn false;\n\tUninstallDriver(DRIVER_NAME);\n\tUninstallDriver(\"SyserBoot\");\n\tUninstallDriver(\"SyserLanguage\");\n\tUninstallDriver(\"SDbgMsg\");\n\tUninstallFileExtAssociate();\n\tUninstallServiceGroup(DERIVER_GROUP_NAME);\n\tUninstallServiceGroupOrderList();\n\tUninstallServiceEventLog(\"Syser\");\n\tDWORD OldStart;\n\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\OldStart\",&OldStart,REG_DWORD))\n\t{\n\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&OldStart,REG_DWORD);\n\t}\n\telse\n\t{\n\t\tif(GetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&OldStart,REG_DWORD))\n\t\t{\n\t\t\tif(OldStart==3)\n\t\t\t{\n\t\t\t\tOldStart=0;\n\t\t\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\Start\",&OldStart,REG_DWORD);\n\t\t\t}\n\t\t}\n\t}\n\tDelRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\sptd\\\\OldStart\");\n\treturn true;\n}\n\nbool CSyserInterface::StopSyser()\n{\n\tHWND hWnd;\n\tHANDLE hMutex;\n\thMutex = OpenMutex(MUTEX_ALL_ACCESS,false,\"Syser Interface\");\n\tif(hMutex)\n\t{\n\t\thWnd=::FindWindow(\"WispWindowClass\",MAIN_WND_NAME);\n\t\tif(hWnd)\n\t\t\t::SendMessage(hWnd,WM_SYSER_UNINSTALL,0,0);\n\t}\n\tCloseHandle(hMutex);\n\treturn true;\n}\n\nvoid CSyserInterface::SaveSyserHistroys(PCSTR Filename)\n{\n\tDWORD cbReturn;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn;\t\n\tDeviceIoControl(hSyser,IOCTL_SYSER_SAVE_HISTROYS,(void*)Filename,TStrLen(Filename)+1,NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n}\n\nvoid CSyserInterface::SaveSyserComments()\n{\n\tDWORD cbReturn;\n\tHANDLE hSyser = CreateFile(DRIVER_RING3_NAME,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser==INVALID_HANDLE_VALUE)\n\t\treturn;\t\n\tDeviceIoControl(hSyser,IOCTL_SYSER_SAVE_COMMENTS,NULL,0,NULL,0,&cbReturn,NULL);\n\tCloseHandle(hSyser);\n}\n\n\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserInterface.h",
    "content": "#ifndef _SYSER_INTERFACE_\n#define _SYSER_INTERFACE_\n\n#include \"Process.h\"\n#include \"../../SerialNumber/Source/Validate.h\"\n#include \"DXTest.h\"\n\n#define WM_SYSER_UNINSTALL\t\t\t\t(WM_USER+0x201)\n#define WM_SYSER_GET_CLIPBOARD_STRING\t(WM_USER+0x202)\n#define WM_SYSER_UPDATE_DBG_MSG\t\t\t(WM_USER+0x203)\n#define WM_SYSER_UPDATE_DRV_STATE\t\t(WM_USER+0x204)\n\nenum\n{\n\tGROUP_SYSLANG_ORDER=0x1,\n\tGROUP_SDBGMSG_ORDER,\n\tGROUP_SYSBOOT_ORDER,\n\tGROUP_SYSER_ORDER,\n\tGROUP_RESERVES2_ORDER,\n};\n\ntypedef struct _STGROUPORDERLIST\n{\n\tBYTE Count;\n\tDWORD Order1; \n\tDWORD Order2; \n\tDWORD Order3; \n\tDWORD Order4; \n\tDWORD Order5;\n\tBYTE Padding[3];\n}STGROUPORDERLIST,*PSTGROUPORDERLIST;\n\n\nclass CSyserInterface\n{\npublic:\n\tCSyserInterface(void);\n\t~CSyserInterface(void);\npublic:\n\tbool\tInit();\n\tvoid\tRelease();\n\tbool\tInstallDependDriver(PCSTR ServiceName,PCSTR FileName,UINT StartType = SERVICE_BOOT_START,PCSTR GroupName=NULL,DWORD Tag=-1);\n\tbool\tTranslateExportSymbolFile(IN PCSTR szFileName,OUT PSTR szSymbolFileName);\n\tbool\tInstallServiceEventLog(PCSTR ServiceName,PCSTR MessageDllName,DWORD TypesSupported=7,bool bSystemIoLog=true);\n\tbool\tUninstallServiceEventLog(PCSTR ServiceName);\n\tbool\tRemoveDependData(PCSTR FileNameList);\n\tvoid\tIsSysBootFrameBufferAvailable();\n\tbool\tStartSyserDriver();\n\tvoid\tStopSyserDriver();\n\tbool\tStopSyser();\n\tvoid\tSaveSyserHistroys(PCSTR Filename);\n\tvoid\tSaveSyserComments();\n\tbool\tLoadModule(PCSTR szFilename,PCSTR szCmdLine,DWORD Style);\n\tbool\tLoadDepModuleSDS(PCSTR szMainModule,bool bDriver);\n\tbool\tGetModuleFullPath(PCSTR szModuleName,PCSTR szMainModule,PSTR szFullName);\n\tbool\tLaunchAppForDebugging(PCSTR FileName,PCSTR szCmdLine,DWORD Style);\n\tbool\tLaunchDriverForDebugging(IN PCSTR FileName,DWORD Style);\n\tbool\tLoadModuleExportSymbols(IN PCSTR szFileName);\n\tbool\tLoadModuleIDAMapFile(IN PCSTR szIDAMapFile,IN PCSTR szModuleName);\n\tbool\tLoadSDS(IN PCSTR SymbolModuleFileName);\n\tbool\tUnloadSDS(IN PCSTR SymbolModuleFileName);\n\tbool\tTranslateSymbolFile(IN PCSTR szFileName,OUT PSTR szSymbolFileName,bool bOverWrite);\n\tvoid\tUpdateDriverStatus();\n\tvoid\tReloadConfig();\n\tvoid\tUpdateDbgMsg(HANDLE hDevice);\n\tvoid\tChangeMsgFilter();\n\tbool\tIsSyserRuning();\n\tbool\tInstallSyser();\n\tbool\tUninstallSyser();\n\tbool\tInstallServiceGroupOrderList();\n\tbool\tUninstallServiceGroupOrderList();\n\tbool\tInstallFileExtAssociate();\n\tbool\tUninstallFileExtAssociate();\n\tvoid\tSendClipboardString();\n\tvoid\tRecvClipboardString();\n\tvoid\tUpdateWindow();\n\tstatic void\tMsgUpdateThread();\n\tstatic void\tTranslateThread();\n\tstatic void UpdateThread();\n\tstatic void ProgressSetRange(int Range);\n\tstatic void ProgressSetPos(int Pos);\npublic:\n\tchar\t\tm_LoadDllName[MAX_FN_LEN];\n\tOSVERSIONINFOA m_VerInfo;\n\tbool\t\tm_bRecvClipboard;\n\tbool\t\tm_bSyserDriverStatus;\n\tbool\t\tm_bCaptureDbgMsg;\n\tbool\t\tm_bAttachFrameBuffer;\n\tCProcess\tm_Process;\n\tHANDLE\t\tm_hMutex;\n\tHANDLE\t\tm_hDbgMsgDevice;\n\tSYSER_SN_TYPE\tm_VerType;\n\tCSyserDX\tm_SyserDX;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserApp/Source/SyserResource.h",
    "content": "#ifndef _SYSER_RESOURCE_H_\n#define _SYSER_RESOURCE_H_\n\nenum\n{\n\tEVENT_ID_LOAD_MODULE = WISP_ID_USER_START,\n\tEVENT_ID_LOAD_SYMBOL_SYSERAPP,\n\tEVENT_ID_LOAD_IDA_MAP,\n\tEVENT_ID_LOAD_EXPORT_SYMBOLS,\n\tEVENT_ID_TRANSLATE_SYMBOL,\n\tEVENT_ID_SAVE_SYMBOLS,\n\tEVENT_ID_SAVE_COMMENTS,\n\tEVENT_ID_SAVE_HISTROYS,\n\tEVENT_ID_SAVE_SYSER_HISTROYS,\n\tEVENT_ID_START_SYSER,\n\tEVENT_ID_STOP_SYSER,\n\tEVENT_ID_CHECKNEWVERSION,\n\tEVENT_ID_ORDER_SYSER,\n\tEVENT_ID_REGISTER,\n\tEVENT_ID_COMMAND_REFERENCE,\n\tEVENT_ID_DEBUG_HELP,\n\tEVENT_ID_ABOUT_SYSERAPP,\n\tEVENT_ID_OPTION,\n\tEVENT_ID_BOOT_OPTION,\n\tEVENT_ID_VIDEO_DETECT_MODE,\n\tEVENT_ID_SYMBIL_DOWNLOADER,\n\tEVENT_ID_DRV_LOADER,\n\tEVENT_ID_BUYNOW,\n\tEVENT_ID_VEUNPACK,\n\tEVENT_ID_OBJECTVIEWER,\n\tEVENT_ID_DEBUG_MESSAGE,\n\tEVENT_ID_DEBUG_MESSAGE_FILTER,\n\tEVENT_ID_DEBUG_MESSAGE_CLEAR,\n\tEVENT_ID_SEND_CLIPBOARD,\n\tEVENT_ID_RECV_CLIPBOARD,\n\tEVENT_ID_EXIT,\n\tEVENT_ID_RECENT_FILE_SYSERAPP,\n\tEVENT_ID_RECENT_FILE_SYSERAPP_END = \tEVENT_ID_RECENT_FILE_SYSERAPP+8,\n\tEVENT_ID_TERMINATE,\n\tEVENT_ID_SET_PRIORITY_CLASS,\n\tEVENT_ID_REAL_TIME,\n\tEVENT_ID_HIGH,\n\tEVENT_ID_ABOVE_NORMAL,\n\tEVENT_ID_NORMAL,\n\tEVENT_ID_BELOW_NORMAL,\n\tEVENT_ID_IDLE,\n\tEVENT_ID_DETAIL,\n\tEVENT_ID_EMPTY_WORKING_SET,\n\tEVENT_ID_UPDATE_DRIVER_STATE,\n};\n\n\nextern WISP_TOOLBAR_RES_ITEM MainToolbar[];\nextern WISP_MENU_RES_ITEM MainMenu[];\nextern WISP_MENU_RES_ITEM ProcessPopupMenu[];\n\n\n\n\n\n#endif\n\n"
  },
  {
    "path": "Project/SyserApp/Source/ddraw.h",
    "content": "/*==========================================================================;\n *\n *  Copyright (C) Microsoft Corporation.  All Rights Reserved.\n *\n *  File:       ddraw.h\n *  Content:    DirectDraw include file\n *\n ***************************************************************************/\n\n#ifndef __DDRAW_INCLUDED__\n#define __DDRAW_INCLUDED__\n\n//Disable the nameless union warning when building internally\n#undef ENABLE_NAMELESS_UNION_PRAGMA\n#ifdef DIRECTX_REDIST\n#define ENABLE_NAMELESS_UNION_PRAGMA\n#endif\n\n#ifdef ENABLE_NAMELESS_UNION_PRAGMA\n#pragma warning(disable:4201)\n#endif\n\n/*\n * If you wish an application built against the newest version of DirectDraw\n * to run against an older DirectDraw run time then define DIRECTDRAW_VERSION\n * to be the earlies version of DirectDraw you wish to run against. For,\n * example if you wish an application to run against a DX 3 runtime define\n * DIRECTDRAW_VERSION to be 0x0300.\n */\n#ifndef   DIRECTDRAW_VERSION\n#define   DIRECTDRAW_VERSION 0x0700\n#endif /* DIRECTDRAW_VERSION */\n\n#if defined( _WIN32 )  && !defined( _NO_COM )\n#define COM_NO_WINDOWS_H\n#include <objbase.h>\n#else\n#define IUnknown            void\n#if !defined( NT_BUILD_ENVIRONMENT ) && !defined(WINNT)\n        #define CO_E_NOTINITIALIZED 0x800401F0L\n#endif\n#endif\n\n#define _FACDD  0x876\n#define MAKE_DDHRESULT( code )  MAKE_HRESULT( 1, _FACDD, code )\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n//\n// For compilers that don't support nameless unions, do a\n//\n// #define NONAMELESSUNION\n//\n// before #include <ddraw.h>\n//\n#ifndef DUMMYUNIONNAMEN\n#if defined(__cplusplus) || !defined(NONAMELESSUNION)\n#define DUMMYUNIONNAMEN(n)\n#else\n#define DUMMYUNIONNAMEN(n)      u##n\n#endif\n#endif\n\n#ifndef MAKEFOURCC\n    #define MAKEFOURCC(ch0, ch1, ch2, ch3)                              \\\n                ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) |   \\\n                ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))\n#endif //defined(MAKEFOURCC)\n\n/*\n * FOURCC codes for DX compressed-texture pixel formats\n */\n#define FOURCC_DXT1  (MAKEFOURCC('D','X','T','1'))\n#define FOURCC_DXT2  (MAKEFOURCC('D','X','T','2'))\n#define FOURCC_DXT3  (MAKEFOURCC('D','X','T','3'))\n#define FOURCC_DXT4  (MAKEFOURCC('D','X','T','4'))\n#define FOURCC_DXT5  (MAKEFOURCC('D','X','T','5'))\n\n/*\n * GUIDS used by DirectDraw objects\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n\nDEFINE_GUID( CLSID_DirectDraw,                  0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );\nDEFINE_GUID( CLSID_DirectDraw7,                 0x3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );\nDEFINE_GUID( CLSID_DirectDrawClipper,           0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );\nDEFINE_GUID( IID_IDirectDraw,                   0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );\nDEFINE_GUID( IID_IDirectDraw2,                  0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );\nDEFINE_GUID( IID_IDirectDraw4,                  0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );\nDEFINE_GUID( IID_IDirectDraw7,                  0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );\nDEFINE_GUID( IID_IDirectDrawSurface,            0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );\nDEFINE_GUID( IID_IDirectDrawSurface2,           0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );\nDEFINE_GUID( IID_IDirectDrawSurface3,           0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );\nDEFINE_GUID( IID_IDirectDrawSurface4,           0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B );\nDEFINE_GUID( IID_IDirectDrawSurface7,           0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );\nDEFINE_GUID( IID_IDirectDrawPalette,            0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );\nDEFINE_GUID( IID_IDirectDrawClipper,            0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );\nDEFINE_GUID( IID_IDirectDrawColorControl,       0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );\nDEFINE_GUID( IID_IDirectDrawGammaControl,       0x69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E );\n\n#endif\n\n/*============================================================================\n *\n * DirectDraw Structures\n *\n * Various structures used to invoke DirectDraw.\n *\n *==========================================================================*/\n\nstruct IDirectDraw;\nstruct IDirectDrawSurface;\nstruct IDirectDrawPalette;\nstruct IDirectDrawClipper;\n\ntypedef struct IDirectDraw              FAR *LPDIRECTDRAW;\ntypedef struct IDirectDraw2             FAR *LPDIRECTDRAW2;\ntypedef struct IDirectDraw4             FAR *LPDIRECTDRAW4;\ntypedef struct IDirectDraw7             FAR *LPDIRECTDRAW7;\ntypedef struct IDirectDrawSurface       FAR *LPDIRECTDRAWSURFACE;\ntypedef struct IDirectDrawSurface2      FAR *LPDIRECTDRAWSURFACE2;\ntypedef struct IDirectDrawSurface3      FAR *LPDIRECTDRAWSURFACE3;\ntypedef struct IDirectDrawSurface4      FAR *LPDIRECTDRAWSURFACE4;\ntypedef struct IDirectDrawSurface7      FAR *LPDIRECTDRAWSURFACE7;\ntypedef struct IDirectDrawPalette               FAR *LPDIRECTDRAWPALETTE;\ntypedef struct IDirectDrawClipper               FAR *LPDIRECTDRAWCLIPPER;\ntypedef struct IDirectDrawColorControl          FAR *LPDIRECTDRAWCOLORCONTROL;\ntypedef struct IDirectDrawGammaControl          FAR *LPDIRECTDRAWGAMMACONTROL;\n\ntypedef struct _DDFXROP                 FAR *LPDDFXROP;\ntypedef struct _DDSURFACEDESC           FAR *LPDDSURFACEDESC;\ntypedef struct _DDSURFACEDESC2          FAR *LPDDSURFACEDESC2;\ntypedef struct _DDCOLORCONTROL          FAR *LPDDCOLORCONTROL;\n\n/*\n * API's\n */\n#if (defined (WIN32) || defined( _WIN32 ) ) && !defined( _NO_COM )\n//#if defined( _WIN32 ) && !defined( _NO_ENUM )\n    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKA)(GUID FAR *, LPSTR, LPSTR, LPVOID);\n    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID);\n    extern HRESULT WINAPI DirectDrawEnumerateW( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );\n    extern HRESULT WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );\n    /*\n     * Protect against old SDKs\n     */\n    #if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500)\n        #define HMONITOR_DECLARED\n        DECLARE_HANDLE(HMONITOR);\n    #endif\n    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXA)(GUID FAR *, LPSTR, LPSTR, LPVOID, HMONITOR);\n    typedef BOOL (FAR PASCAL * LPDDENUMCALLBACKEXW)(GUID FAR *, LPWSTR, LPWSTR, LPVOID, HMONITOR);\n    extern HRESULT WINAPI DirectDrawEnumerateExW( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);\n    extern HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);\n    typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);\n    typedef HRESULT (WINAPI * LPDIRECTDRAWENUMERATEEXW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);\n\n    #ifdef UNICODE\n        typedef LPDDENUMCALLBACKW           LPDDENUMCALLBACK;\n        #define DirectDrawEnumerate         DirectDrawEnumerateW\n        typedef LPDDENUMCALLBACKEXW         LPDDENUMCALLBACKEX;\n        typedef LPDIRECTDRAWENUMERATEEXW        LPDIRECTDRAWENUMERATEEX;\n        #define DirectDrawEnumerateEx       DirectDrawEnumerateExW\n    #else\n        typedef LPDDENUMCALLBACKA           LPDDENUMCALLBACK;\n        #define DirectDrawEnumerate         DirectDrawEnumerateA\n        typedef LPDDENUMCALLBACKEXA         LPDDENUMCALLBACKEX;\n        typedef LPDIRECTDRAWENUMERATEEXA        LPDIRECTDRAWENUMERATEEX;\n        #define DirectDrawEnumerateEx       DirectDrawEnumerateExA\n    #endif\n    extern HRESULT WINAPI DirectDrawCreate( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );\n    extern HRESULT WINAPI DirectDrawCreateEx( GUID FAR * lpGuid, LPVOID  *lplpDD, REFIID  iid,IUnknown FAR *pUnkOuter );\n    extern HRESULT WINAPI DirectDrawCreateClipper( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *lplpDDClipper, IUnknown FAR *pUnkOuter );\n#endif\n/*\n * Flags for DirectDrawEnumerateEx\n * DirectDrawEnumerateEx supercedes DirectDrawEnumerate. You must use GetProcAddress to\n * obtain a function pointer (of type LPDIRECTDRAWENUMERATEEX) to DirectDrawEnumerateEx.\n * By default, only the primary display device is enumerated.\n * DirectDrawEnumerate is equivalent to DirectDrawEnumerate(,,DDENUM_NONDISPLAYDEVICES)\n */\n\n/*\n * This flag causes enumeration of any GDI display devices which are part of\n * the Windows Desktop\n */\n#define DDENUM_ATTACHEDSECONDARYDEVICES     0x00000001L\n\n/*\n * This flag causes enumeration of any GDI display devices which are not\n * part of the Windows Desktop\n */\n#define DDENUM_DETACHEDSECONDARYDEVICES     0x00000002L\n\n/*\n * This flag causes enumeration of non-display devices\n */\n#define DDENUM_NONDISPLAYDEVICES            0x00000004L\n\n\n#define REGSTR_KEY_DDHW_DESCRIPTION     \"Description\"\n#define REGSTR_KEY_DDHW_DRIVERNAME      \"DriverName\"\n#define REGSTR_PATH_DDHW                \"Hardware\\\\DirectDrawDrivers\"\n\n#define DDCREATE_HARDWAREONLY           0x00000001l\n#define DDCREATE_EMULATIONONLY          0x00000002l\n\n#if defined(WINNT) || !defined(WIN32)\ntypedef long HRESULT;\n#endif\n\n//#ifndef WINNT\ntypedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);\ntypedef HRESULT (FAR PASCAL * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID);\ntypedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);\ntypedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID);\ntypedef HRESULT (FAR PASCAL * LPDDENUMSURFACESCALLBACK7)(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID);\n//#endif\n\n/*\n * Generic pixel format with 8-bit RGB and alpha components\n */\ntypedef struct _DDARGB\n{\n    BYTE blue;\n    BYTE green;\n    BYTE red;\n    BYTE alpha;\n} DDARGB;\n\ntypedef DDARGB FAR *LPDDARGB;\n\n/*\n * This version of the structure remains for backwards source compatibility.\n * The DDARGB structure is the one that should be used for all DirectDraw APIs.\n */\ntypedef struct _DDRGBA\n{\n    BYTE red;\n    BYTE green;\n    BYTE blue;\n    BYTE alpha;\n} DDRGBA;\n\ntypedef DDRGBA FAR *LPDDRGBA;\n\n\n/*\n * DDCOLORKEY\n */\ntypedef struct _DDCOLORKEY\n{\n    DWORD       dwColorSpaceLowValue;   // low boundary of color space that is to\n                                        // be treated as Color Key, inclusive\n    DWORD       dwColorSpaceHighValue;  // high boundary of color space that is\n                                        // to be treated as Color Key, inclusive\n} DDCOLORKEY;\n\ntypedef DDCOLORKEY FAR* LPDDCOLORKEY;\n\n/*\n * DDBLTFX\n * Used to pass override information to the DIRECTDRAWSURFACE callback Blt.\n */\ntypedef struct _DDBLTFX\n{\n    DWORD       dwSize;                         // size of structure\n    DWORD       dwDDFX;                         // FX operations\n    DWORD       dwROP;                          // Win32 raster operations\n    DWORD       dwDDROP;                        // Raster operations new for DirectDraw\n    DWORD       dwRotationAngle;                // Rotation angle for blt\n    DWORD       dwZBufferOpCode;                // ZBuffer compares\n    DWORD       dwZBufferLow;                   // Low limit of Z buffer\n    DWORD       dwZBufferHigh;                  // High limit of Z buffer\n    DWORD       dwZBufferBaseDest;              // Destination base value\n    DWORD       dwZDestConstBitDepth;           // Bit depth used to specify Z constant for destination\n    union\n    {\n        DWORD   dwZDestConst;                   // Constant to use as Z buffer for dest\n        LPDIRECTDRAWSURFACE lpDDSZBufferDest;   // Surface to use as Z buffer for dest\n    } DUMMYUNIONNAMEN(1);\n    DWORD       dwZSrcConstBitDepth;            // Bit depth used to specify Z constant for source\n    union\n    {\n        DWORD   dwZSrcConst;                    // Constant to use as Z buffer for src\n        LPDIRECTDRAWSURFACE lpDDSZBufferSrc;    // Surface to use as Z buffer for src\n    } DUMMYUNIONNAMEN(2);\n    DWORD       dwAlphaEdgeBlendBitDepth;       // Bit depth used to specify constant for alpha edge blend\n    DWORD       dwAlphaEdgeBlend;               // Alpha for edge blending\n    DWORD       dwReserved;\n    DWORD       dwAlphaDestConstBitDepth;       // Bit depth used to specify alpha constant for destination\n    union\n    {\n        DWORD   dwAlphaDestConst;               // Constant to use as Alpha Channel\n        LPDIRECTDRAWSURFACE lpDDSAlphaDest;     // Surface to use as Alpha Channel\n    } DUMMYUNIONNAMEN(3);\n    DWORD       dwAlphaSrcConstBitDepth;        // Bit depth used to specify alpha constant for source\n    union\n    {\n        DWORD   dwAlphaSrcConst;                // Constant to use as Alpha Channel\n        LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      // Surface to use as Alpha Channel\n    } DUMMYUNIONNAMEN(4);\n    union\n    {\n        DWORD   dwFillColor;                    // color in RGB or Palettized\n        DWORD   dwFillDepth;                    // depth value for z-buffer\n        DWORD   dwFillPixel;                    // pixel value for RGBA or RGBZ\n        LPDIRECTDRAWSURFACE lpDDSPattern;       // Surface to use as pattern\n    } DUMMYUNIONNAMEN(5);\n    DDCOLORKEY  ddckDestColorkey;               // DestColorkey override\n    DDCOLORKEY  ddckSrcColorkey;                // SrcColorkey override\n} DDBLTFX;\n\ntypedef DDBLTFX FAR* LPDDBLTFX;\n\n\n\n/*\n * DDSCAPS\n */\ntypedef struct _DDSCAPS\n{\n    DWORD       dwCaps;         // capabilities of surface wanted\n} DDSCAPS;\n\ntypedef DDSCAPS FAR* LPDDSCAPS;\n\n\n/*\n * DDOSCAPS\n */\ntypedef struct _DDOSCAPS\n{\n    DWORD       dwCaps;         // capabilities of surface wanted\n} DDOSCAPS;\n\ntypedef DDOSCAPS FAR* LPDDOSCAPS;\n\n/*\n * This structure is used internally by DirectDraw.\n */\ntypedef struct _DDSCAPSEX\n{\n    DWORD       dwCaps2;\n    DWORD       dwCaps3;\n    union\n    {\n        DWORD       dwCaps4;\n        DWORD       dwVolumeDepth;\n    } DUMMYUNIONNAMEN(1);\n} DDSCAPSEX, FAR * LPDDSCAPSEX;\n\n/*\n * DDSCAPS2\n */\ntypedef struct _DDSCAPS2\n{\n    DWORD       dwCaps;         // capabilities of surface wanted\n    DWORD       dwCaps2;\n    DWORD       dwCaps3;\n    union\n    {\n        DWORD       dwCaps4;\n        DWORD       dwVolumeDepth;\n    } DUMMYUNIONNAMEN(1);\n} DDSCAPS2;\n\ntypedef DDSCAPS2 FAR* LPDDSCAPS2;\n\n/*\n * DDCAPS\n */\n#define DD_ROP_SPACE            (256/32)        // space required to store ROP array\n/*\n * NOTE: Our choosen structure number scheme is to append a single digit to\n * the end of the structure giving the version that structure is associated\n * with.\n */\n\n/*\n * This structure represents the DDCAPS structure released in DirectDraw 1.0.  It is used internally\n * by DirectDraw to interpret caps passed into ddraw by drivers written prior to the release of DirectDraw 2.0.\n * New applications should use the DDCAPS structure defined below.\n */\ntypedef struct _DDCAPS_DX1\n{\n    DWORD       dwSize;                 // size of the DDDRIVERCAPS structure\n    DWORD       dwCaps;                 // driver specific capabilities\n    DWORD       dwCaps2;                // more driver specific capabilites\n    DWORD       dwCKeyCaps;             // color key capabilities of the surface\n    DWORD       dwFXCaps;               // driver specific stretching and effects capabilites\n    DWORD       dwFXAlphaCaps;          // alpha driver specific capabilities\n    DWORD       dwPalCaps;              // palette capabilities\n    DWORD       dwSVCaps;               // stereo vision capabilities\n    DWORD       dwAlphaBltConstBitDepths;       // DDBD_2,4,8\n    DWORD       dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8\n    DWORD       dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8\n    DWORD       dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8\n    DWORD       dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8\n    DWORD       dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8\n    DWORD       dwZBufferBitDepths;             // DDBD_8,16,24,32\n    DWORD       dwVidMemTotal;          // total amount of video memory\n    DWORD       dwVidMemFree;           // amount of free video memory\n    DWORD       dwMaxVisibleOverlays;   // maximum number of visible overlays\n    DWORD       dwCurrVisibleOverlays;  // current number of visible overlays\n    DWORD       dwNumFourCCCodes;       // number of four cc codes\n    DWORD       dwAlignBoundarySrc;     // source rectangle alignment\n    DWORD       dwAlignSizeSrc;         // source rectangle byte size\n    DWORD       dwAlignBoundaryDest;    // dest rectangle alignment\n    DWORD       dwAlignSizeDest;        // dest rectangle byte size\n    DWORD       dwAlignStrideAlign;     // stride alignment\n    DWORD       dwRops[DD_ROP_SPACE];   // ROPS supported\n    DDSCAPS     ddsCaps;                // DDSCAPS structure has all the general capabilities\n    DWORD       dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMinLiveVideoStretch;  // OBSOLETE! This field remains for compatability reasons only\n    DWORD       dwMaxLiveVideoStretch;  // OBSOLETE! This field remains for compatability reasons only\n    DWORD       dwMinHwCodecStretch;    // OBSOLETE! This field remains for compatability reasons only\n    DWORD       dwMaxHwCodecStretch;    // OBSOLETE! This field remains for compatability reasons only\n    DWORD       dwReserved1;            // reserved\n    DWORD       dwReserved2;            // reserved\n    DWORD       dwReserved3;            // reserved\n} DDCAPS_DX1;\n\ntypedef DDCAPS_DX1 FAR* LPDDCAPS_DX1;\n\n/*\n * This structure is the DDCAPS structure as it was in version 2 and 3 of Direct X.\n * It is present for back compatability.\n */\ntypedef struct _DDCAPS_DX3\n{\n    DWORD       dwSize;                 // size of the DDDRIVERCAPS structure\n    DWORD       dwCaps;                 // driver specific capabilities\n    DWORD       dwCaps2;                // more driver specific capabilites\n    DWORD       dwCKeyCaps;             // color key capabilities of the surface\n    DWORD       dwFXCaps;               // driver specific stretching and effects capabilites\n    DWORD       dwFXAlphaCaps;          // alpha driver specific capabilities\n    DWORD       dwPalCaps;              // palette capabilities\n    DWORD       dwSVCaps;               // stereo vision capabilities\n    DWORD       dwAlphaBltConstBitDepths;       // DDBD_2,4,8\n    DWORD       dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8\n    DWORD       dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8\n    DWORD       dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8\n    DWORD       dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8\n    DWORD       dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8\n    DWORD       dwZBufferBitDepths;             // DDBD_8,16,24,32\n    DWORD       dwVidMemTotal;          // total amount of video memory\n    DWORD       dwVidMemFree;           // amount of free video memory\n    DWORD       dwMaxVisibleOverlays;   // maximum number of visible overlays\n    DWORD       dwCurrVisibleOverlays;  // current number of visible overlays\n    DWORD       dwNumFourCCCodes;       // number of four cc codes\n    DWORD       dwAlignBoundarySrc;     // source rectangle alignment\n    DWORD       dwAlignSizeSrc;         // source rectangle byte size\n    DWORD       dwAlignBoundaryDest;    // dest rectangle alignment\n    DWORD       dwAlignSizeDest;        // dest rectangle byte size\n    DWORD       dwAlignStrideAlign;     // stride alignment\n    DWORD       dwRops[DD_ROP_SPACE];   // ROPS supported\n    DDSCAPS     ddsCaps;                // DDSCAPS structure has all the general capabilities\n    DWORD       dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMinLiveVideoStretch;  // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMaxLiveVideoStretch;  // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMinHwCodecStretch;    // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwMaxHwCodecStretch;    // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n    DWORD       dwReserved1;            // reserved\n    DWORD       dwReserved2;            // reserved\n    DWORD       dwReserved3;            // reserved\n    DWORD       dwSVBCaps;              // driver specific capabilities for System->Vmem blts\n    DWORD       dwSVBCKeyCaps;          // driver color key capabilities for System->Vmem blts\n    DWORD       dwSVBFXCaps;            // driver FX capabilities for System->Vmem blts\n    DWORD       dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts\n    DWORD       dwVSBCaps;              // driver specific capabilities for Vmem->System blts\n    DWORD       dwVSBCKeyCaps;          // driver color key capabilities for Vmem->System blts\n    DWORD       dwVSBFXCaps;            // driver FX capabilities for Vmem->System blts\n    DWORD       dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts\n    DWORD       dwSSBCaps;              // driver specific capabilities for System->System blts\n    DWORD       dwSSBCKeyCaps;          // driver color key capabilities for System->System blts\n    DWORD       dwSSBFXCaps;            // driver FX capabilities for System->System blts\n    DWORD       dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts\n    DWORD       dwReserved4;            // reserved\n    DWORD       dwReserved5;            // reserved\n    DWORD       dwReserved6;            // reserved\n} DDCAPS_DX3;\ntypedef DDCAPS_DX3 FAR* LPDDCAPS_DX3;\n\n/*\n * This structure is the DDCAPS structure as it was in version 5 of Direct X.\n * It is present for back compatability.\n */\ntypedef struct _DDCAPS_DX5\n{\n/*  0*/ DWORD   dwSize;                 // size of the DDDRIVERCAPS structure\n/*  4*/ DWORD   dwCaps;                 // driver specific capabilities\n/*  8*/ DWORD   dwCaps2;                // more driver specific capabilites\n/*  c*/ DWORD   dwCKeyCaps;             // color key capabilities of the surface\n/* 10*/ DWORD   dwFXCaps;               // driver specific stretching and effects capabilites\n/* 14*/ DWORD   dwFXAlphaCaps;          // alpha driver specific capabilities\n/* 18*/ DWORD   dwPalCaps;              // palette capabilities\n/* 1c*/ DWORD   dwSVCaps;               // stereo vision capabilities\n/* 20*/ DWORD   dwAlphaBltConstBitDepths;       // DDBD_2,4,8\n/* 24*/ DWORD   dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8\n/* 28*/ DWORD   dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8\n/* 2c*/ DWORD   dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8\n/* 30*/ DWORD   dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8\n/* 34*/ DWORD   dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8\n/* 38*/ DWORD   dwZBufferBitDepths;             // DDBD_8,16,24,32\n/* 3c*/ DWORD   dwVidMemTotal;          // total amount of video memory\n/* 40*/ DWORD   dwVidMemFree;           // amount of free video memory\n/* 44*/ DWORD   dwMaxVisibleOverlays;   // maximum number of visible overlays\n/* 48*/ DWORD   dwCurrVisibleOverlays;  // current number of visible overlays\n/* 4c*/ DWORD   dwNumFourCCCodes;       // number of four cc codes\n/* 50*/ DWORD   dwAlignBoundarySrc;     // source rectangle alignment\n/* 54*/ DWORD   dwAlignSizeSrc;         // source rectangle byte size\n/* 58*/ DWORD   dwAlignBoundaryDest;    // dest rectangle alignment\n/* 5c*/ DWORD   dwAlignSizeDest;        // dest rectangle byte size\n/* 60*/ DWORD   dwAlignStrideAlign;     // stride alignment\n/* 64*/ DWORD   dwRops[DD_ROP_SPACE];   // ROPS supported\n/* 84*/ DDSCAPS ddsCaps;                // DDSCAPS structure has all the general capabilities\n/* 88*/ DWORD   dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 8c*/ DWORD   dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 90*/ DWORD   dwMinLiveVideoStretch;  // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 94*/ DWORD   dwMaxLiveVideoStretch;  // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 98*/ DWORD   dwMinHwCodecStretch;    // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 9c*/ DWORD   dwMaxHwCodecStretch;    // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* a0*/ DWORD   dwReserved1;            // reserved\n/* a4*/ DWORD   dwReserved2;            // reserved\n/* a8*/ DWORD   dwReserved3;            // reserved\n/* ac*/ DWORD   dwSVBCaps;              // driver specific capabilities for System->Vmem blts\n/* b0*/ DWORD   dwSVBCKeyCaps;          // driver color key capabilities for System->Vmem blts\n/* b4*/ DWORD   dwSVBFXCaps;            // driver FX capabilities for System->Vmem blts\n/* b8*/ DWORD   dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts\n/* d8*/ DWORD   dwVSBCaps;              // driver specific capabilities for Vmem->System blts\n/* dc*/ DWORD   dwVSBCKeyCaps;          // driver color key capabilities for Vmem->System blts\n/* e0*/ DWORD   dwVSBFXCaps;            // driver FX capabilities for Vmem->System blts\n/* e4*/ DWORD   dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts\n/*104*/ DWORD   dwSSBCaps;              // driver specific capabilities for System->System blts\n/*108*/ DWORD   dwSSBCKeyCaps;          // driver color key capabilities for System->System blts\n/*10c*/ DWORD   dwSSBFXCaps;            // driver FX capabilities for System->System blts\n/*110*/ DWORD   dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts\n// Members added for DX5:\n/*130*/ DWORD   dwMaxVideoPorts;        // maximum number of usable video ports\n/*134*/ DWORD   dwCurrVideoPorts;       // current number of video ports used\n/*138*/ DWORD   dwSVBCaps2;             // more driver specific capabilities for System->Vmem blts\n/*13c*/ DWORD   dwNLVBCaps;               // driver specific capabilities for non-local->local vidmem blts\n/*140*/ DWORD   dwNLVBCaps2;              // more driver specific capabilities non-local->local vidmem blts\n/*144*/ DWORD   dwNLVBCKeyCaps;           // driver color key capabilities for non-local->local vidmem blts\n/*148*/ DWORD   dwNLVBFXCaps;             // driver FX capabilities for non-local->local blts\n/*14c*/ DWORD   dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts\n} DDCAPS_DX5;\ntypedef DDCAPS_DX5 FAR* LPDDCAPS_DX5;\n\ntypedef struct _DDCAPS_DX6\n{\n/*  0*/ DWORD   dwSize;                 // size of the DDDRIVERCAPS structure\n/*  4*/ DWORD   dwCaps;                 // driver specific capabilities\n/*  8*/ DWORD   dwCaps2;                // more driver specific capabilites\n/*  c*/ DWORD   dwCKeyCaps;             // color key capabilities of the surface\n/* 10*/ DWORD   dwFXCaps;               // driver specific stretching and effects capabilites\n/* 14*/ DWORD   dwFXAlphaCaps;          // alpha caps\n/* 18*/ DWORD   dwPalCaps;              // palette capabilities\n/* 1c*/ DWORD   dwSVCaps;               // stereo vision capabilities\n/* 20*/ DWORD   dwAlphaBltConstBitDepths;       // DDBD_2,4,8\n/* 24*/ DWORD   dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8\n/* 28*/ DWORD   dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8\n/* 2c*/ DWORD   dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8\n/* 30*/ DWORD   dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8\n/* 34*/ DWORD   dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8\n/* 38*/ DWORD   dwZBufferBitDepths;             // DDBD_8,16,24,32\n/* 3c*/ DWORD   dwVidMemTotal;          // total amount of video memory\n/* 40*/ DWORD   dwVidMemFree;           // amount of free video memory\n/* 44*/ DWORD   dwMaxVisibleOverlays;   // maximum number of visible overlays\n/* 48*/ DWORD   dwCurrVisibleOverlays;  // current number of visible overlays\n/* 4c*/ DWORD   dwNumFourCCCodes;       // number of four cc codes\n/* 50*/ DWORD   dwAlignBoundarySrc;     // source rectangle alignment\n/* 54*/ DWORD   dwAlignSizeSrc;         // source rectangle byte size\n/* 58*/ DWORD   dwAlignBoundaryDest;    // dest rectangle alignment\n/* 5c*/ DWORD   dwAlignSizeDest;        // dest rectangle byte size\n/* 60*/ DWORD   dwAlignStrideAlign;     // stride alignment\n/* 64*/ DWORD   dwRops[DD_ROP_SPACE];   // ROPS supported\n/* 84*/ DDSCAPS ddsOldCaps;             // Was DDSCAPS  ddsCaps. ddsCaps is of type DDSCAPS2 for DX6\n/* 88*/ DWORD   dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 8c*/ DWORD   dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 90*/ DWORD   dwMinLiveVideoStretch;  // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 94*/ DWORD   dwMaxLiveVideoStretch;  // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 98*/ DWORD   dwMinHwCodecStretch;    // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 9c*/ DWORD   dwMaxHwCodecStretch;    // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* a0*/ DWORD   dwReserved1;            // reserved\n/* a4*/ DWORD   dwReserved2;            // reserved\n/* a8*/ DWORD   dwReserved3;            // reserved\n/* ac*/ DWORD   dwSVBCaps;              // driver specific capabilities for System->Vmem blts\n/* b0*/ DWORD   dwSVBCKeyCaps;          // driver color key capabilities for System->Vmem blts\n/* b4*/ DWORD   dwSVBFXCaps;            // driver FX capabilities for System->Vmem blts\n/* b8*/ DWORD   dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts\n/* d8*/ DWORD   dwVSBCaps;              // driver specific capabilities for Vmem->System blts\n/* dc*/ DWORD   dwVSBCKeyCaps;          // driver color key capabilities for Vmem->System blts\n/* e0*/ DWORD   dwVSBFXCaps;            // driver FX capabilities for Vmem->System blts\n/* e4*/ DWORD   dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts\n/*104*/ DWORD   dwSSBCaps;              // driver specific capabilities for System->System blts\n/*108*/ DWORD   dwSSBCKeyCaps;          // driver color key capabilities for System->System blts\n/*10c*/ DWORD   dwSSBFXCaps;            // driver FX capabilities for System->System blts\n/*110*/ DWORD   dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts\n/*130*/ DWORD   dwMaxVideoPorts;        // maximum number of usable video ports\n/*134*/ DWORD   dwCurrVideoPorts;       // current number of video ports used\n/*138*/ DWORD   dwSVBCaps2;             // more driver specific capabilities for System->Vmem blts\n/*13c*/ DWORD   dwNLVBCaps;               // driver specific capabilities for non-local->local vidmem blts\n/*140*/ DWORD   dwNLVBCaps2;              // more driver specific capabilities non-local->local vidmem blts\n/*144*/ DWORD   dwNLVBCKeyCaps;           // driver color key capabilities for non-local->local vidmem blts\n/*148*/ DWORD   dwNLVBFXCaps;             // driver FX capabilities for non-local->local blts\n/*14c*/ DWORD   dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts\n// Members added for DX6 release\n/*16c*/ DDSCAPS2 ddsCaps;               // Surface Caps\n} DDCAPS_DX6;\ntypedef DDCAPS_DX6 FAR* LPDDCAPS_DX6;\n\ntypedef struct _DDCAPS_DX7\n{\n/*  0*/ DWORD   dwSize;                 // size of the DDDRIVERCAPS structure\n/*  4*/ DWORD   dwCaps;                 // driver specific capabilities\n/*  8*/ DWORD   dwCaps2;                // more driver specific capabilites\n/*  c*/ DWORD   dwCKeyCaps;             // color key capabilities of the surface\n/* 10*/ DWORD   dwFXCaps;               // driver specific stretching and effects capabilites\n/* 14*/ DWORD   dwFXAlphaCaps;          // alpha driver specific capabilities\n/* 18*/ DWORD   dwPalCaps;              // palette capabilities\n/* 1c*/ DWORD   dwSVCaps;               // stereo vision capabilities\n/* 20*/ DWORD   dwAlphaBltConstBitDepths;       // DDBD_2,4,8\n/* 24*/ DWORD   dwAlphaBltPixelBitDepths;       // DDBD_1,2,4,8\n/* 28*/ DWORD   dwAlphaBltSurfaceBitDepths;     // DDBD_1,2,4,8\n/* 2c*/ DWORD   dwAlphaOverlayConstBitDepths;   // DDBD_2,4,8\n/* 30*/ DWORD   dwAlphaOverlayPixelBitDepths;   // DDBD_1,2,4,8\n/* 34*/ DWORD   dwAlphaOverlaySurfaceBitDepths; // DDBD_1,2,4,8\n/* 38*/ DWORD   dwZBufferBitDepths;             // DDBD_8,16,24,32\n/* 3c*/ DWORD   dwVidMemTotal;          // total amount of video memory\n/* 40*/ DWORD   dwVidMemFree;           // amount of free video memory\n/* 44*/ DWORD   dwMaxVisibleOverlays;   // maximum number of visible overlays\n/* 48*/ DWORD   dwCurrVisibleOverlays;  // current number of visible overlays\n/* 4c*/ DWORD   dwNumFourCCCodes;       // number of four cc codes\n/* 50*/ DWORD   dwAlignBoundarySrc;     // source rectangle alignment\n/* 54*/ DWORD   dwAlignSizeSrc;         // source rectangle byte size\n/* 58*/ DWORD   dwAlignBoundaryDest;    // dest rectangle alignment\n/* 5c*/ DWORD   dwAlignSizeDest;        // dest rectangle byte size\n/* 60*/ DWORD   dwAlignStrideAlign;     // stride alignment\n/* 64*/ DWORD   dwRops[DD_ROP_SPACE];   // ROPS supported\n/* 84*/ DDSCAPS ddsOldCaps;             // Was DDSCAPS  ddsCaps. ddsCaps is of type DDSCAPS2 for DX6\n/* 88*/ DWORD   dwMinOverlayStretch;    // minimum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 8c*/ DWORD   dwMaxOverlayStretch;    // maximum overlay stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 90*/ DWORD   dwMinLiveVideoStretch;  // minimum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 94*/ DWORD   dwMaxLiveVideoStretch;  // maximum live video stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 98*/ DWORD   dwMinHwCodecStretch;    // minimum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* 9c*/ DWORD   dwMaxHwCodecStretch;    // maximum hardware codec stretch factor multiplied by 1000, eg 1000 == 1.0, 1300 == 1.3\n/* a0*/ DWORD   dwReserved1;            // reserved\n/* a4*/ DWORD   dwReserved2;            // reserved\n/* a8*/ DWORD   dwReserved3;            // reserved\n/* ac*/ DWORD   dwSVBCaps;              // driver specific capabilities for System->Vmem blts\n/* b0*/ DWORD   dwSVBCKeyCaps;          // driver color key capabilities for System->Vmem blts\n/* b4*/ DWORD   dwSVBFXCaps;            // driver FX capabilities for System->Vmem blts\n/* b8*/ DWORD   dwSVBRops[DD_ROP_SPACE];// ROPS supported for System->Vmem blts\n/* d8*/ DWORD   dwVSBCaps;              // driver specific capabilities for Vmem->System blts\n/* dc*/ DWORD   dwVSBCKeyCaps;          // driver color key capabilities for Vmem->System blts\n/* e0*/ DWORD   dwVSBFXCaps;            // driver FX capabilities for Vmem->System blts\n/* e4*/ DWORD   dwVSBRops[DD_ROP_SPACE];// ROPS supported for Vmem->System blts\n/*104*/ DWORD   dwSSBCaps;              // driver specific capabilities for System->System blts\n/*108*/ DWORD   dwSSBCKeyCaps;          // driver color key capabilities for System->System blts\n/*10c*/ DWORD   dwSSBFXCaps;            // driver FX capabilities for System->System blts\n/*110*/ DWORD   dwSSBRops[DD_ROP_SPACE];// ROPS supported for System->System blts\n/*130*/ DWORD   dwMaxVideoPorts;        // maximum number of usable video ports\n/*134*/ DWORD   dwCurrVideoPorts;       // current number of video ports used\n/*138*/ DWORD   dwSVBCaps2;             // more driver specific capabilities for System->Vmem blts\n/*13c*/ DWORD   dwNLVBCaps;               // driver specific capabilities for non-local->local vidmem blts\n/*140*/ DWORD   dwNLVBCaps2;              // more driver specific capabilities non-local->local vidmem blts\n/*144*/ DWORD   dwNLVBCKeyCaps;           // driver color key capabilities for non-local->local vidmem blts\n/*148*/ DWORD   dwNLVBFXCaps;             // driver FX capabilities for non-local->local blts\n/*14c*/ DWORD   dwNLVBRops[DD_ROP_SPACE]; // ROPS supported for non-local->local blts\n// Members added for DX6 release\n/*16c*/ DDSCAPS2 ddsCaps;               // Surface Caps\n} DDCAPS_DX7;\ntypedef DDCAPS_DX7 FAR* LPDDCAPS_DX7;\n\n\n#if DIRECTDRAW_VERSION <= 0x300\n    typedef DDCAPS_DX3 DDCAPS;\n#elif DIRECTDRAW_VERSION <= 0x500\n    typedef DDCAPS_DX5 DDCAPS;\n#elif DIRECTDRAW_VERSION <= 0x600\n    typedef DDCAPS_DX6 DDCAPS;\n#else\n    typedef DDCAPS_DX7 DDCAPS;\n#endif\n\ntypedef DDCAPS FAR* LPDDCAPS;\n\n\n\n/*\n * DDPIXELFORMAT\n */\ntypedef struct _DDPIXELFORMAT\n{\n    DWORD       dwSize;                 // size of structure\n    DWORD       dwFlags;                // pixel format flags\n    DWORD       dwFourCC;               // (FOURCC code)\n    union\n    {\n        DWORD   dwRGBBitCount;          // how many bits per pixel\n        DWORD   dwYUVBitCount;          // how many bits per pixel\n        DWORD   dwZBufferBitDepth;      // how many total bits/pixel in z buffer (including any stencil bits)\n        DWORD   dwAlphaBitDepth;        // how many bits for alpha channels\n        DWORD   dwLuminanceBitCount;    // how many bits per pixel\n        DWORD   dwBumpBitCount;         // how many bits per \"buxel\", total\n        DWORD   dwPrivateFormatBitCount;// Bits per pixel of private driver formats. Only valid in texture\n                                        // format list and if DDPF_D3DFORMAT is set\n    } DUMMYUNIONNAMEN(1);\n    union\n    {\n        DWORD   dwRBitMask;             // mask for red bit\n        DWORD   dwYBitMask;             // mask for Y bits\n        DWORD   dwStencilBitDepth;      // how many stencil bits (note: dwZBufferBitDepth-dwStencilBitDepth is total Z-only bits)\n        DWORD   dwLuminanceBitMask;     // mask for luminance bits\n        DWORD   dwBumpDuBitMask;        // mask for bump map U delta bits\n        DWORD   dwOperations;           // DDPF_D3DFORMAT Operations\n    } DUMMYUNIONNAMEN(2);\n    union\n    {\n        DWORD   dwGBitMask;             // mask for green bits\n        DWORD   dwUBitMask;             // mask for U bits\n        DWORD   dwZBitMask;             // mask for Z bits\n        DWORD   dwBumpDvBitMask;        // mask for bump map V delta bits\n        struct\n        {\n            WORD    wFlipMSTypes;       // Multisample methods supported via flip for this D3DFORMAT\n            WORD    wBltMSTypes;        // Multisample methods supported via blt for this D3DFORMAT\n        } MultiSampleCaps;\n\n    } DUMMYUNIONNAMEN(3);\n    union\n    {\n        DWORD   dwBBitMask;             // mask for blue bits\n        DWORD   dwVBitMask;             // mask for V bits\n        DWORD   dwStencilBitMask;       // mask for stencil bits\n        DWORD   dwBumpLuminanceBitMask; // mask for luminance in bump map\n    } DUMMYUNIONNAMEN(4);\n    union\n    {\n        DWORD   dwRGBAlphaBitMask;      // mask for alpha channel\n        DWORD   dwYUVAlphaBitMask;      // mask for alpha channel\n        DWORD   dwLuminanceAlphaBitMask;// mask for alpha channel\n        DWORD   dwRGBZBitMask;          // mask for Z channel\n        DWORD   dwYUVZBitMask;          // mask for Z channel\n    } DUMMYUNIONNAMEN(5);\n} DDPIXELFORMAT;\n\ntypedef DDPIXELFORMAT FAR* LPDDPIXELFORMAT;\n\n/*\n * DDOVERLAYFX\n */\ntypedef struct _DDOVERLAYFX\n{\n    DWORD       dwSize;                         // size of structure\n    DWORD       dwAlphaEdgeBlendBitDepth;       // Bit depth used to specify constant for alpha edge blend\n    DWORD       dwAlphaEdgeBlend;               // Constant to use as alpha for edge blend\n    DWORD       dwReserved;\n    DWORD       dwAlphaDestConstBitDepth;       // Bit depth used to specify alpha constant for destination\n    union\n    {\n        DWORD   dwAlphaDestConst;               // Constant to use as alpha channel for dest\n        LPDIRECTDRAWSURFACE lpDDSAlphaDest;     // Surface to use as alpha channel for dest\n    } DUMMYUNIONNAMEN(1);\n    DWORD       dwAlphaSrcConstBitDepth;        // Bit depth used to specify alpha constant for source\n    union\n    {\n        DWORD   dwAlphaSrcConst;                // Constant to use as alpha channel for src\n        LPDIRECTDRAWSURFACE lpDDSAlphaSrc;      // Surface to use as alpha channel for src\n    } DUMMYUNIONNAMEN(2);\n    DDCOLORKEY  dckDestColorkey;                // DestColorkey override\n    DDCOLORKEY  dckSrcColorkey;                 // DestColorkey override\n    DWORD       dwDDFX;                         // Overlay FX\n    DWORD       dwFlags;                        // flags\n} DDOVERLAYFX;\n\ntypedef DDOVERLAYFX FAR *LPDDOVERLAYFX;\n\n\n/*\n * DDBLTBATCH: BltBatch entry structure\n */\ntypedef struct _DDBLTBATCH\n{\n    LPRECT              lprDest;\n    LPDIRECTDRAWSURFACE lpDDSSrc;\n    LPRECT              lprSrc;\n    DWORD               dwFlags;\n    LPDDBLTFX           lpDDBltFx;\n} DDBLTBATCH;\n\ntypedef DDBLTBATCH FAR * LPDDBLTBATCH;\n\n\n/*\n * DDGAMMARAMP\n */\ntypedef struct _DDGAMMARAMP\n{\n    WORD                red[256];\n    WORD                green[256];\n    WORD                blue[256];\n} DDGAMMARAMP;\ntypedef DDGAMMARAMP FAR * LPDDGAMMARAMP;\n\n/*\n *  This is the structure within which DirectDraw returns data about the current graphics driver and chipset\n */\n\n#define MAX_DDDEVICEID_STRING           512\n\ntypedef struct tagDDDEVICEIDENTIFIER\n{\n    /*\n     * These elements are for presentation to the user only. They should not be used to identify particular\n     * drivers, since this is unreliable and many different strings may be associated with the same\n     * device, and the same driver from different vendors.\n     */\n    char    szDriver[MAX_DDDEVICEID_STRING];\n    char    szDescription[MAX_DDDEVICEID_STRING];\n\n    /*\n     * This element is the version of the DirectDraw/3D driver. It is legal to do <, > comparisons\n     * on the whole 64 bits. Caution should be exercised if you use this element to identify problematic\n     * drivers. It is recommended that guidDeviceIdentifier is used for this purpose.\n     *\n     * This version has the form:\n     *  wProduct = HIWORD(liDriverVersion.HighPart)\n     *  wVersion = LOWORD(liDriverVersion.HighPart)\n     *  wSubVersion = HIWORD(liDriverVersion.LowPart)\n     *  wBuild = LOWORD(liDriverVersion.LowPart)\n     */\n#ifdef _WIN32\n    LARGE_INTEGER liDriverVersion;      /* Defined for applications and other 32 bit components */\n#else\n    DWORD   dwDriverVersionLowPart;     /* Defined for 16 bit driver components */\n    DWORD   dwDriverVersionHighPart;\n#endif\n\n\n    /*\n     * These elements can be used to identify particular chipsets. Use with extreme caution.\n     *   dwVendorId     Identifies the manufacturer. May be zero if unknown.\n     *   dwDeviceId     Identifies the type of chipset. May be zero if unknown.\n     *   dwSubSysId     Identifies the subsystem, typically this means the particular board. May be zero if unknown.\n     *   dwRevision     Identifies the revision level of the chipset. May be zero if unknown.\n     */\n    DWORD   dwVendorId;\n    DWORD   dwDeviceId;\n    DWORD   dwSubSysId;\n    DWORD   dwRevision;\n\n    /*\n     * This element can be used to check changes in driver/chipset. This GUID is a unique identifier for the\n     * driver/chipset pair. Use this element if you wish to track changes to the driver/chipset in order to\n     * reprofile the graphics subsystem.\n     * This element can also be used to identify particular problematic drivers.\n     */\n    GUID    guidDeviceIdentifier;\n} DDDEVICEIDENTIFIER, * LPDDDEVICEIDENTIFIER;\n\ntypedef struct tagDDDEVICEIDENTIFIER2\n{\n    /*\n     * These elements are for presentation to the user only. They should not be used to identify particular\n     * drivers, since this is unreliable and many different strings may be associated with the same\n     * device, and the same driver from different vendors.\n     */\n    char    szDriver[MAX_DDDEVICEID_STRING];\n    char    szDescription[MAX_DDDEVICEID_STRING];\n\n    /*\n     * This element is the version of the DirectDraw/3D driver. It is legal to do <, > comparisons\n     * on the whole 64 bits. Caution should be exercised if you use this element to identify problematic\n     * drivers. It is recommended that guidDeviceIdentifier is used for this purpose.\n     *\n     * This version has the form:\n     *  wProduct = HIWORD(liDriverVersion.HighPart)\n     *  wVersion = LOWORD(liDriverVersion.HighPart)\n     *  wSubVersion = HIWORD(liDriverVersion.LowPart)\n     *  wBuild = LOWORD(liDriverVersion.LowPart)\n     */\n#ifdef _WIN32\n    LARGE_INTEGER liDriverVersion;      /* Defined for applications and other 32 bit components */\n#else\n    DWORD   dwDriverVersionLowPart;     /* Defined for 16 bit driver components */\n    DWORD   dwDriverVersionHighPart;\n#endif\n\n\n    /*\n     * These elements can be used to identify particular chipsets. Use with extreme caution.\n     *   dwVendorId     Identifies the manufacturer. May be zero if unknown.\n     *   dwDeviceId     Identifies the type of chipset. May be zero if unknown.\n     *   dwSubSysId     Identifies the subsystem, typically this means the particular board. May be zero if unknown.\n     *   dwRevision     Identifies the revision level of the chipset. May be zero if unknown.\n     */\n    DWORD   dwVendorId;\n    DWORD   dwDeviceId;\n    DWORD   dwSubSysId;\n    DWORD   dwRevision;\n\n    /*\n     * This element can be used to check changes in driver/chipset. This GUID is a unique identifier for the\n     * driver/chipset pair. Use this element if you wish to track changes to the driver/chipset in order to\n     * reprofile the graphics subsystem.\n     * This element can also be used to identify particular problematic drivers.\n     */\n    GUID    guidDeviceIdentifier;\n\n    /*\n     * This element is used to determine the Windows Hardware Quality Lab (WHQL)\n     * certification level for this driver/device pair.\n     */\n    DWORD   dwWHQLLevel;\n\n} DDDEVICEIDENTIFIER2, * LPDDDEVICEIDENTIFIER2;\n\n/*\n * Flags for the IDirectDraw4::GetDeviceIdentifier method\n */\n\n/*\n * This flag causes GetDeviceIdentifier to return information about the host (typically 2D) adapter in a system equipped\n * with a stacked secondary 3D adapter. Such an adapter appears to the application as if it were part of the\n * host adapter, but is typically physcially located on a separate card. The stacked secondary's information is\n * returned when GetDeviceIdentifier's dwFlags field is zero, since this most accurately reflects the qualities\n * of the DirectDraw object involved.\n */\n#define DDGDI_GETHOSTIDENTIFIER         0x00000001L\n\n/*\n * Macros for interpretting DDEVICEIDENTIFIER2.dwWHQLLevel\n */\n#define GET_WHQL_YEAR( dwWHQLLevel ) \\\n    ( (dwWHQLLevel) / 0x10000 )\n#define GET_WHQL_MONTH( dwWHQLLevel ) \\\n    ( ( (dwWHQLLevel) / 0x100 ) & 0x00ff )\n#define GET_WHQL_DAY( dwWHQLLevel ) \\\n    ( (dwWHQLLevel) & 0xff )\n\n\n/*\n * callbacks\n */\ntypedef DWORD   (FAR PASCAL *LPCLIPPERCALLBACK)(LPDIRECTDRAWCLIPPER lpDDClipper, HWND hWnd, DWORD code, LPVOID lpContext );\n#ifdef STREAMING\ntypedef DWORD   (FAR PASCAL *LPSURFACESTREAMINGCALLBACK)(DWORD);\n#endif\n\n\n/*\n * INTERACES FOLLOW:\n *      IDirectDraw\n *      IDirectDrawClipper\n *      IDirectDrawPalette\n *      IDirectDrawSurface\n */\n\n/*\n * IDirectDraw\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDraw\nDECLARE_INTERFACE_( IDirectDraw, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDraw methods ***/\n    STDMETHOD(Compact)(THIS) PURE;\n    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;\n    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;\n    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;\n    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;\n    STDMETHOD(FlipToGDISurface)(THIS) PURE;\n    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;\n    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;\n    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;\n    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;\n    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;\n    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;\n    STDMETHOD(RestoreDisplayMode)(THIS) PURE;\n    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;\n    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD) PURE;\n    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDraw_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDraw_AddRef(p)                       (p)->lpVtbl->AddRef(p)\n#define IDirectDraw_Release(p)                      (p)->lpVtbl->Release(p)\n#define IDirectDraw_Compact(p)                      (p)->lpVtbl->Compact(p)\n#define IDirectDraw_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)\n#define IDirectDraw_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)\n#define IDirectDraw_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)\n#define IDirectDraw_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)\n#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)\n#define IDirectDraw_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)\n#define IDirectDraw_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)\n#define IDirectDraw_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)\n#define IDirectDraw_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)\n#define IDirectDraw_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)\n#define IDirectDraw_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)\n#define IDirectDraw_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)\n#define IDirectDraw_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)\n#define IDirectDraw_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)\n#define IDirectDraw_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)\n#define IDirectDraw_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)\n#define IDirectDraw_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)\n#define IDirectDraw_SetDisplayMode(p, a, b, c)      (p)->lpVtbl->SetDisplayMode(p, a, b, c)\n#define IDirectDraw_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)\n#else\n#define IDirectDraw_QueryInterface(p, a, b)         (p)->QueryInterface(a, b)\n#define IDirectDraw_AddRef(p)                       (p)->AddRef()\n#define IDirectDraw_Release(p)                      (p)->Release()\n#define IDirectDraw_Compact(p)                      (p)->Compact()\n#define IDirectDraw_CreateClipper(p, a, b, c)       (p)->CreateClipper(a, b, c)\n#define IDirectDraw_CreatePalette(p, a, b, c, d)    (p)->CreatePalette(a, b, c, d)\n#define IDirectDraw_CreateSurface(p, a, b, c)       (p)->CreateSurface(a, b, c)\n#define IDirectDraw_DuplicateSurface(p, a, b)       (p)->DuplicateSurface(a, b)\n#define IDirectDraw_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)\n#define IDirectDraw_EnumSurfaces(p, a, b, c, d)     (p)->EnumSurfaces(a, b, c, d)\n#define IDirectDraw_FlipToGDISurface(p)             (p)->FlipToGDISurface()\n#define IDirectDraw_GetCaps(p, a, b)                (p)->GetCaps(a, b)\n#define IDirectDraw_GetDisplayMode(p, a)            (p)->GetDisplayMode(a)\n#define IDirectDraw_GetFourCCCodes(p, a, b)         (p)->GetFourCCCodes(a, b)\n#define IDirectDraw_GetGDISurface(p, a)             (p)->GetGDISurface(a)\n#define IDirectDraw_GetMonitorFrequency(p, a)       (p)->GetMonitorFrequency(a)\n#define IDirectDraw_GetScanLine(p, a)               (p)->GetScanLine(a)\n#define IDirectDraw_GetVerticalBlankStatus(p, a)    (p)->GetVerticalBlankStatus(a)\n#define IDirectDraw_Initialize(p, a)                (p)->Initialize(a)\n#define IDirectDraw_RestoreDisplayMode(p)           (p)->RestoreDisplayMode()\n#define IDirectDraw_SetCooperativeLevel(p, a, b)    (p)->SetCooperativeLevel(a, b)\n#define IDirectDraw_SetDisplayMode(p, a, b, c)      (p)->SetDisplayMode(a, b, c)\n#define IDirectDraw_WaitForVerticalBlank(p, a, b)   (p)->WaitForVerticalBlank(a, b)\n#endif\n\n#endif\n\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDraw2\nDECLARE_INTERFACE_( IDirectDraw2, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDraw methods ***/\n    STDMETHOD(Compact)(THIS) PURE;\n    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *) PURE;\n    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE FAR * ) PURE;\n    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK ) PURE;\n    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK ) PURE;\n    STDMETHOD(FlipToGDISurface)(THIS) PURE;\n    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;\n    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC) PURE;\n    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;\n    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE FAR *) PURE;\n    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;\n    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;\n    STDMETHOD(RestoreDisplayMode)(THIS) PURE;\n    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;\n    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;\n    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS, LPDWORD, LPDWORD) PURE;\n};\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDraw2_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDraw2_AddRef(p)                       (p)->lpVtbl->AddRef(p)\n#define IDirectDraw2_Release(p)                      (p)->lpVtbl->Release(p)\n#define IDirectDraw2_Compact(p)                      (p)->lpVtbl->Compact(p)\n#define IDirectDraw2_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)\n#define IDirectDraw2_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)\n#define IDirectDraw2_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)\n#define IDirectDraw2_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)\n#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)\n#define IDirectDraw2_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)\n#define IDirectDraw2_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)\n#define IDirectDraw2_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)\n#define IDirectDraw2_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)\n#define IDirectDraw2_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)\n#define IDirectDraw2_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)\n#define IDirectDraw2_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)\n#define IDirectDraw2_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)\n#define IDirectDraw2_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)\n#define IDirectDraw2_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)\n#define IDirectDraw2_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)\n#define IDirectDraw2_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)\n#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)\n#define IDirectDraw2_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)\n#define IDirectDraw2_GetAvailableVidMem(p, a, b, c)  (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)\n#else\n#define IDirectDraw2_QueryInterface(p, a, b)         (p)->QueryInterface(a, b)\n#define IDirectDraw2_AddRef(p)                       (p)->AddRef()\n#define IDirectDraw2_Release(p)                      (p)->Release()\n#define IDirectDraw2_Compact(p)                      (p)->Compact()\n#define IDirectDraw2_CreateClipper(p, a, b, c)       (p)->CreateClipper(a, b, c)\n#define IDirectDraw2_CreatePalette(p, a, b, c, d)    (p)->CreatePalette(a, b, c, d)\n#define IDirectDraw2_CreateSurface(p, a, b, c)       (p)->CreateSurface(a, b, c)\n#define IDirectDraw2_DuplicateSurface(p, a, b)       (p)->DuplicateSurface(a, b)\n#define IDirectDraw2_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)\n#define IDirectDraw2_EnumSurfaces(p, a, b, c, d)     (p)->EnumSurfaces(a, b, c, d)\n#define IDirectDraw2_FlipToGDISurface(p)             (p)->FlipToGDISurface()\n#define IDirectDraw2_GetCaps(p, a, b)                (p)->GetCaps(a, b)\n#define IDirectDraw2_GetDisplayMode(p, a)            (p)->GetDisplayMode(a)\n#define IDirectDraw2_GetFourCCCodes(p, a, b)         (p)->GetFourCCCodes(a, b)\n#define IDirectDraw2_GetGDISurface(p, a)             (p)->GetGDISurface(a)\n#define IDirectDraw2_GetMonitorFrequency(p, a)       (p)->GetMonitorFrequency(a)\n#define IDirectDraw2_GetScanLine(p, a)               (p)->GetScanLine(a)\n#define IDirectDraw2_GetVerticalBlankStatus(p, a)    (p)->GetVerticalBlankStatus(a)\n#define IDirectDraw2_Initialize(p, a)                (p)->Initialize(a)\n#define IDirectDraw2_RestoreDisplayMode(p)           (p)->RestoreDisplayMode()\n#define IDirectDraw2_SetCooperativeLevel(p, a, b)    (p)->SetCooperativeLevel(a, b)\n#define IDirectDraw2_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)\n#define IDirectDraw2_WaitForVerticalBlank(p, a, b)   (p)->WaitForVerticalBlank(a, b)\n#define IDirectDraw2_GetAvailableVidMem(p, a, b, c)  (p)->GetAvailableVidMem(a, b, c)\n#endif\n\n#endif\n\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDraw4\nDECLARE_INTERFACE_( IDirectDraw4, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDraw methods ***/\n    STDMETHOD(Compact)(THIS) PURE;\n    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE4 FAR *, IUnknown FAR *) PURE;\n    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE4, LPDIRECTDRAWSURFACE4 FAR * ) PURE;\n    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;\n    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2 ) PURE;\n    STDMETHOD(FlipToGDISurface)(THIS) PURE;\n    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;\n    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;\n    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;\n    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 FAR *) PURE;\n    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;\n    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;\n    STDMETHOD(RestoreDisplayMode)(THIS) PURE;\n    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;\n    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;\n    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;\n    /*** Added in the V4 Interface ***/\n    STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE4 *) PURE;\n    STDMETHOD(RestoreAllSurfaces)(THIS) PURE;\n    STDMETHOD(TestCooperativeLevel)(THIS) PURE;\n    STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER, DWORD ) PURE;\n};\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDraw4_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDraw4_AddRef(p)                       (p)->lpVtbl->AddRef(p)\n#define IDirectDraw4_Release(p)                      (p)->lpVtbl->Release(p)\n#define IDirectDraw4_Compact(p)                      (p)->lpVtbl->Compact(p)\n#define IDirectDraw4_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)\n#define IDirectDraw4_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)\n#define IDirectDraw4_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)\n#define IDirectDraw4_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)\n#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)\n#define IDirectDraw4_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)\n#define IDirectDraw4_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)\n#define IDirectDraw4_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)\n#define IDirectDraw4_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)\n#define IDirectDraw4_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)\n#define IDirectDraw4_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)\n#define IDirectDraw4_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)\n#define IDirectDraw4_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)\n#define IDirectDraw4_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)\n#define IDirectDraw4_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)\n#define IDirectDraw4_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)\n#define IDirectDraw4_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)\n#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)\n#define IDirectDraw4_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)\n#define IDirectDraw4_GetAvailableVidMem(p, a, b, c)  (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)\n#define IDirectDraw4_GetSurfaceFromDC(p, a, b)       (p)->lpVtbl->GetSurfaceFromDC(p, a, b)\n#define IDirectDraw4_RestoreAllSurfaces(p)           (p)->lpVtbl->RestoreAllSurfaces(p)\n#define IDirectDraw4_TestCooperativeLevel(p)         (p)->lpVtbl->TestCooperativeLevel(p)\n#define IDirectDraw4_GetDeviceIdentifier(p,a,b)      (p)->lpVtbl->GetDeviceIdentifier(p,a,b)\n#else\n#define IDirectDraw4_QueryInterface(p, a, b)         (p)->QueryInterface(a, b)\n#define IDirectDraw4_AddRef(p)                       (p)->AddRef()\n#define IDirectDraw4_Release(p)                      (p)->Release()\n#define IDirectDraw4_Compact(p)                      (p)->Compact()\n#define IDirectDraw4_CreateClipper(p, a, b, c)       (p)->CreateClipper(a, b, c)\n#define IDirectDraw4_CreatePalette(p, a, b, c, d)    (p)->CreatePalette(a, b, c, d)\n#define IDirectDraw4_CreateSurface(p, a, b, c)       (p)->CreateSurface(a, b, c)\n#define IDirectDraw4_DuplicateSurface(p, a, b)       (p)->DuplicateSurface(a, b)\n#define IDirectDraw4_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)\n#define IDirectDraw4_EnumSurfaces(p, a, b, c, d)     (p)->EnumSurfaces(a, b, c, d)\n#define IDirectDraw4_FlipToGDISurface(p)             (p)->FlipToGDISurface()\n#define IDirectDraw4_GetCaps(p, a, b)                (p)->GetCaps(a, b)\n#define IDirectDraw4_GetDisplayMode(p, a)            (p)->GetDisplayMode(a)\n#define IDirectDraw4_GetFourCCCodes(p, a, b)         (p)->GetFourCCCodes(a, b)\n#define IDirectDraw4_GetGDISurface(p, a)             (p)->GetGDISurface(a)\n#define IDirectDraw4_GetMonitorFrequency(p, a)       (p)->GetMonitorFrequency(a)\n#define IDirectDraw4_GetScanLine(p, a)               (p)->GetScanLine(a)\n#define IDirectDraw4_GetVerticalBlankStatus(p, a)    (p)->GetVerticalBlankStatus(a)\n#define IDirectDraw4_Initialize(p, a)                (p)->Initialize(a)\n#define IDirectDraw4_RestoreDisplayMode(p)           (p)->RestoreDisplayMode()\n#define IDirectDraw4_SetCooperativeLevel(p, a, b)    (p)->SetCooperativeLevel(a, b)\n#define IDirectDraw4_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)\n#define IDirectDraw4_WaitForVerticalBlank(p, a, b)   (p)->WaitForVerticalBlank(a, b)\n#define IDirectDraw4_GetAvailableVidMem(p, a, b, c)  (p)->GetAvailableVidMem(a, b, c)\n#define IDirectDraw4_GetSurfaceFromDC(p, a, b)       (p)->GetSurfaceFromDC(a, b)\n#define IDirectDraw4_RestoreAllSurfaces(p)           (p)->RestoreAllSurfaces()\n#define IDirectDraw4_TestCooperativeLevel(p)         (p)->TestCooperativeLevel()\n#define IDirectDraw4_GetDeviceIdentifier(p,a,b)      (p)->GetDeviceIdentifier(a,b)\n#endif\n\n#endif\n\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDraw7\nDECLARE_INTERFACE_( IDirectDraw7, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDraw methods ***/\n    STDMETHOD(Compact)(THIS) PURE;\n    STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreatePalette)(THIS_ DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR*, IUnknown FAR * ) PURE;\n    STDMETHOD(CreateSurface)(THIS_  LPDDSURFACEDESC2, LPDIRECTDRAWSURFACE7 FAR *, IUnknown FAR *) PURE;\n    STDMETHOD(DuplicateSurface)( THIS_ LPDIRECTDRAWSURFACE7, LPDIRECTDRAWSURFACE7 FAR * ) PURE;\n    STDMETHOD(EnumDisplayModes)( THIS_ DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2 ) PURE;\n    STDMETHOD(EnumSurfaces)(THIS_ DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7 ) PURE;\n    STDMETHOD(FlipToGDISurface)(THIS) PURE;\n    STDMETHOD(GetCaps)( THIS_ LPDDCAPS, LPDDCAPS) PURE;\n    STDMETHOD(GetDisplayMode)( THIS_ LPDDSURFACEDESC2) PURE;\n    STDMETHOD(GetFourCCCodes)(THIS_  LPDWORD, LPDWORD ) PURE;\n    STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 FAR *) PURE;\n    STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetScanLine)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetVerticalBlankStatus)(THIS_ LPBOOL ) PURE;\n    STDMETHOD(Initialize)(THIS_ GUID FAR *) PURE;\n    STDMETHOD(RestoreDisplayMode)(THIS) PURE;\n    STDMETHOD(SetCooperativeLevel)(THIS_ HWND, DWORD) PURE;\n    STDMETHOD(SetDisplayMode)(THIS_ DWORD, DWORD,DWORD, DWORD, DWORD) PURE;\n    STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD, HANDLE ) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2, LPDWORD, LPDWORD) PURE;\n    /*** Added in the V4 Interface ***/\n    STDMETHOD(GetSurfaceFromDC) (THIS_ HDC, LPDIRECTDRAWSURFACE7 *) PURE;\n    STDMETHOD(RestoreAllSurfaces)(THIS) PURE;\n    STDMETHOD(TestCooperativeLevel)(THIS) PURE;\n    STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2, DWORD ) PURE;\n    STDMETHOD(StartModeTest)(THIS_ LPSIZE, DWORD, DWORD ) PURE;\n    STDMETHOD(EvaluateMode)(THIS_ DWORD, DWORD * ) PURE;\n};\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDraw7_QueryInterface(p, a, b)         (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDraw7_AddRef(p)                       (p)->lpVtbl->AddRef(p)\n#define IDirectDraw7_Release(p)                      (p)->lpVtbl->Release(p)\n#define IDirectDraw7_Compact(p)                      (p)->lpVtbl->Compact(p)\n#define IDirectDraw7_CreateClipper(p, a, b, c)       (p)->lpVtbl->CreateClipper(p, a, b, c)\n#define IDirectDraw7_CreatePalette(p, a, b, c, d)    (p)->lpVtbl->CreatePalette(p, a, b, c, d)\n#define IDirectDraw7_CreateSurface(p, a, b, c)       (p)->lpVtbl->CreateSurface(p, a, b, c)\n#define IDirectDraw7_DuplicateSurface(p, a, b)       (p)->lpVtbl->DuplicateSurface(p, a, b)\n#define IDirectDraw7_EnumDisplayModes(p, a, b, c, d) (p)->lpVtbl->EnumDisplayModes(p, a, b, c, d)\n#define IDirectDraw7_EnumSurfaces(p, a, b, c, d)     (p)->lpVtbl->EnumSurfaces(p, a, b, c, d)\n#define IDirectDraw7_FlipToGDISurface(p)             (p)->lpVtbl->FlipToGDISurface(p)\n#define IDirectDraw7_GetCaps(p, a, b)                (p)->lpVtbl->GetCaps(p, a, b)\n#define IDirectDraw7_GetDisplayMode(p, a)            (p)->lpVtbl->GetDisplayMode(p, a)\n#define IDirectDraw7_GetFourCCCodes(p, a, b)         (p)->lpVtbl->GetFourCCCodes(p, a, b)\n#define IDirectDraw7_GetGDISurface(p, a)             (p)->lpVtbl->GetGDISurface(p, a)\n#define IDirectDraw7_GetMonitorFrequency(p, a)       (p)->lpVtbl->GetMonitorFrequency(p, a)\n#define IDirectDraw7_GetScanLine(p, a)               (p)->lpVtbl->GetScanLine(p, a)\n#define IDirectDraw7_GetVerticalBlankStatus(p, a)    (p)->lpVtbl->GetVerticalBlankStatus(p, a)\n#define IDirectDraw7_Initialize(p, a)                (p)->lpVtbl->Initialize(p, a)\n#define IDirectDraw7_RestoreDisplayMode(p)           (p)->lpVtbl->RestoreDisplayMode(p)\n#define IDirectDraw7_SetCooperativeLevel(p, a, b)    (p)->lpVtbl->SetCooperativeLevel(p, a, b)\n#define IDirectDraw7_SetDisplayMode(p, a, b, c, d, e) (p)->lpVtbl->SetDisplayMode(p, a, b, c, d, e)\n#define IDirectDraw7_WaitForVerticalBlank(p, a, b)   (p)->lpVtbl->WaitForVerticalBlank(p, a, b)\n#define IDirectDraw7_GetAvailableVidMem(p, a, b, c)  (p)->lpVtbl->GetAvailableVidMem(p, a, b, c)\n#define IDirectDraw7_GetSurfaceFromDC(p, a, b)       (p)->lpVtbl->GetSurfaceFromDC(p, a, b)\n#define IDirectDraw7_RestoreAllSurfaces(p)           (p)->lpVtbl->RestoreAllSurfaces(p)\n#define IDirectDraw7_TestCooperativeLevel(p)         (p)->lpVtbl->TestCooperativeLevel(p)\n#define IDirectDraw7_GetDeviceIdentifier(p,a,b)      (p)->lpVtbl->GetDeviceIdentifier(p,a,b)\n#define IDirectDraw7_StartModeTest(p,a,b,c)        (p)->lpVtbl->StartModeTest(p,a,b,c)\n#define IDirectDraw7_EvaluateMode(p,a,b)           (p)->lpVtbl->EvaluateMode(p,a,b)\n#else\n#define IDirectDraw7_QueryInterface(p, a, b)         (p)->QueryInterface(a, b)\n#define IDirectDraw7_AddRef(p)                       (p)->AddRef()\n#define IDirectDraw7_Release(p)                      (p)->Release()\n#define IDirectDraw7_Compact(p)                      (p)->Compact()\n#define IDirectDraw7_CreateClipper(p, a, b, c)       (p)->CreateClipper(a, b, c)\n#define IDirectDraw7_CreatePalette(p, a, b, c, d)    (p)->CreatePalette(a, b, c, d)\n#define IDirectDraw7_CreateSurface(p, a, b, c)       (p)->CreateSurface(a, b, c)\n#define IDirectDraw7_DuplicateSurface(p, a, b)       (p)->DuplicateSurface(a, b)\n#define IDirectDraw7_EnumDisplayModes(p, a, b, c, d) (p)->EnumDisplayModes(a, b, c, d)\n#define IDirectDraw7_EnumSurfaces(p, a, b, c, d)     (p)->EnumSurfaces(a, b, c, d)\n#define IDirectDraw7_FlipToGDISurface(p)             (p)->FlipToGDISurface()\n#define IDirectDraw7_GetCaps(p, a, b)                (p)->GetCaps(a, b)\n#define IDirectDraw7_GetDisplayMode(p, a)            (p)->GetDisplayMode(a)\n#define IDirectDraw7_GetFourCCCodes(p, a, b)         (p)->GetFourCCCodes(a, b)\n#define IDirectDraw7_GetGDISurface(p, a)             (p)->GetGDISurface(a)\n#define IDirectDraw7_GetMonitorFrequency(p, a)       (p)->GetMonitorFrequency(a)\n#define IDirectDraw7_GetScanLine(p, a)               (p)->GetScanLine(a)\n#define IDirectDraw7_GetVerticalBlankStatus(p, a)    (p)->GetVerticalBlankStatus(a)\n#define IDirectDraw7_Initialize(p, a)                (p)->Initialize(a)\n#define IDirectDraw7_RestoreDisplayMode(p)           (p)->RestoreDisplayMode()\n#define IDirectDraw7_SetCooperativeLevel(p, a, b)    (p)->SetCooperativeLevel(a, b)\n#define IDirectDraw7_SetDisplayMode(p, a, b, c, d, e) (p)->SetDisplayMode(a, b, c, d, e)\n#define IDirectDraw7_WaitForVerticalBlank(p, a, b)   (p)->WaitForVerticalBlank(a, b)\n#define IDirectDraw7_GetAvailableVidMem(p, a, b, c)  (p)->GetAvailableVidMem(a, b, c)\n#define IDirectDraw7_GetSurfaceFromDC(p, a, b)       (p)->GetSurfaceFromDC(a, b)\n#define IDirectDraw7_RestoreAllSurfaces(p)           (p)->RestoreAllSurfaces()\n#define IDirectDraw7_TestCooperativeLevel(p)         (p)->TestCooperativeLevel()\n#define IDirectDraw7_GetDeviceIdentifier(p,a,b)      (p)->GetDeviceIdentifier(a,b)\n#define IDirectDraw7_StartModeTest(p,a,b,c)        (p)->lpVtbl->StartModeTest(a,b,c)\n#define IDirectDraw7_EvaluateMode(p,a,b)           (p)->lpVtbl->EvaluateMode(a,b)\n#endif\n\n#endif\n\n\n/*\n * IDirectDrawPalette\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDrawPalette\nDECLARE_INTERFACE_( IDirectDrawPalette, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawPalette methods ***/\n    STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE;\n    STDMETHOD(GetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD, LPPALETTEENTRY) PURE;\n    STDMETHOD(SetEntries)(THIS_ DWORD,DWORD,DWORD,LPPALETTEENTRY) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawPalette_QueryInterface(p, a, b)      (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDrawPalette_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawPalette_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawPalette_GetCaps(p, a)                (p)->lpVtbl->GetCaps(p, a)\n#define IDirectDrawPalette_GetEntries(p, a, b, c, d)    (p)->lpVtbl->GetEntries(p, a, b, c, d)\n#define IDirectDrawPalette_Initialize(p, a, b, c)       (p)->lpVtbl->Initialize(p, a, b, c)\n#define IDirectDrawPalette_SetEntries(p, a, b, c, d)    (p)->lpVtbl->SetEntries(p, a, b, c, d)\n#else\n#define IDirectDrawPalette_QueryInterface(p, a, b)      (p)->QueryInterface(a, b)\n#define IDirectDrawPalette_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawPalette_Release(p)                   (p)->Release()\n#define IDirectDrawPalette_GetCaps(p, a)                (p)->GetCaps(a)\n#define IDirectDrawPalette_GetEntries(p, a, b, c, d)    (p)->GetEntries(a, b, c, d)\n#define IDirectDrawPalette_Initialize(p, a, b, c)       (p)->Initialize(a, b, c)\n#define IDirectDrawPalette_SetEntries(p, a, b, c, d)    (p)->SetEntries(a, b, c, d)\n#endif\n\n#endif\n\n\n/*\n * IDirectDrawClipper\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDrawClipper\nDECLARE_INTERFACE_( IDirectDrawClipper, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawClipper methods ***/\n    STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE;\n    STDMETHOD(GetHWnd)(THIS_ HWND FAR *) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, DWORD) PURE;\n    STDMETHOD(IsClipListChanged)(THIS_ BOOL FAR *) PURE;\n    STDMETHOD(SetClipList)(THIS_ LPRGNDATA,DWORD) PURE;\n    STDMETHOD(SetHWnd)(THIS_ DWORD, HWND ) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawClipper_QueryInterface(p, a, b)  (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDrawClipper_AddRef(p)                (p)->lpVtbl->AddRef(p)\n#define IDirectDrawClipper_Release(p)               (p)->lpVtbl->Release(p)\n#define IDirectDrawClipper_GetClipList(p, a, b, c)  (p)->lpVtbl->GetClipList(p, a, b, c)\n#define IDirectDrawClipper_GetHWnd(p, a)            (p)->lpVtbl->GetHWnd(p, a)\n#define IDirectDrawClipper_Initialize(p, a, b)      (p)->lpVtbl->Initialize(p, a, b)\n#define IDirectDrawClipper_IsClipListChanged(p, a)  (p)->lpVtbl->IsClipListChanged(p, a)\n#define IDirectDrawClipper_SetClipList(p, a, b)     (p)->lpVtbl->SetClipList(p, a, b)\n#define IDirectDrawClipper_SetHWnd(p, a, b)         (p)->lpVtbl->SetHWnd(p, a, b)\n#else\n#define IDirectDrawClipper_QueryInterface(p, a, b)  (p)->QueryInterface(a, b)\n#define IDirectDrawClipper_AddRef(p)                (p)->AddRef()\n#define IDirectDrawClipper_Release(p)               (p)->Release()\n#define IDirectDrawClipper_GetClipList(p, a, b, c)  (p)->GetClipList(a, b, c)\n#define IDirectDrawClipper_GetHWnd(p, a)            (p)->GetHWnd(a)\n#define IDirectDrawClipper_Initialize(p, a, b)      (p)->Initialize(a, b)\n#define IDirectDrawClipper_IsClipListChanged(p, a)  (p)->IsClipListChanged(a)\n#define IDirectDrawClipper_SetClipList(p, a, b)     (p)->SetClipList(a, b)\n#define IDirectDrawClipper_SetHWnd(p, a, b)         (p)->SetHWnd(a, b)\n#endif\n\n#endif\n\n/*\n * IDirectDrawSurface and related interfaces\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDrawSurface\nDECLARE_INTERFACE_( IDirectDrawSurface, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawSurface methods ***/\n    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE) PURE;\n    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;\n    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE, LPRECT,DWORD, LPDDBLTFX) PURE;\n    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;\n    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE, LPRECT,DWORD) PURE;\n    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE) PURE;\n    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE, DWORD) PURE;\n    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE FAR *) PURE;\n    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;\n    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;\n    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;\n    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;\n    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;\n    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;\n    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;\n    STDMETHOD(IsLost)(THIS) PURE;\n    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;\n    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;\n    STDMETHOD(Restore)(THIS) PURE;\n    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;\n    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;\n    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;\n    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;\n    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE,LPRECT,DWORD, LPDDOVERLAYFX) PURE;\n    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;\n    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawSurface_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)\n#define IDirectDrawSurface_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawSurface_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawSurface_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)\n#define IDirectDrawSurface_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)\n#define IDirectDrawSurface_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)\n#define IDirectDrawSurface_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)\n#define IDirectDrawSurface_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)\n#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)\n#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)\n#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)\n#define IDirectDrawSurface_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)\n#define IDirectDrawSurface_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)\n#define IDirectDrawSurface_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)\n#define IDirectDrawSurface_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)\n#define IDirectDrawSurface_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)\n#define IDirectDrawSurface_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)\n#define IDirectDrawSurface_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)\n#define IDirectDrawSurface_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)\n#define IDirectDrawSurface_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)\n#define IDirectDrawSurface_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)\n#define IDirectDrawSurface_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)\n#define IDirectDrawSurface_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)\n#define IDirectDrawSurface_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)\n#define IDirectDrawSurface_IsLost(p)                    (p)->lpVtbl->IsLost(p)\n#define IDirectDrawSurface_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)\n#define IDirectDrawSurface_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)\n#define IDirectDrawSurface_Restore(p)                   (p)->lpVtbl->Restore(p)\n#define IDirectDrawSurface_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)\n#define IDirectDrawSurface_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)\n#define IDirectDrawSurface_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)\n#define IDirectDrawSurface_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)\n#define IDirectDrawSurface_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)\n#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)\n#define IDirectDrawSurface_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)\n#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)\n#else\n#define IDirectDrawSurface_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)\n#define IDirectDrawSurface_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawSurface_Release(p)                   (p)->Release()\n#define IDirectDrawSurface_AddAttachedSurface(p,a)      (p)->AddAttachedSurface(a)\n#define IDirectDrawSurface_AddOverlayDirtyRect(p,a)     (p)->AddOverlayDirtyRect(a)\n#define IDirectDrawSurface_Blt(p,a,b,c,d,e)             (p)->Blt(a,b,c,d,e)\n#define IDirectDrawSurface_BltBatch(p,a,b,c)            (p)->BltBatch(a,b,c)\n#define IDirectDrawSurface_BltFast(p,a,b,c,d,e)         (p)->BltFast(a,b,c,d,e)\n#define IDirectDrawSurface_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)\n#define IDirectDrawSurface_EnumAttachedSurfaces(p,a,b)  (p)->EnumAttachedSurfaces(a,b)\n#define IDirectDrawSurface_EnumOverlayZOrders(p,a,b,c)  (p)->EnumOverlayZOrders(a,b,c)\n#define IDirectDrawSurface_Flip(p,a,b)                  (p)->Flip(a,b)\n#define IDirectDrawSurface_GetAttachedSurface(p,a,b)    (p)->GetAttachedSurface(a,b)\n#define IDirectDrawSurface_GetBltStatus(p,a)            (p)->GetBltStatus(a)\n#define IDirectDrawSurface_GetCaps(p,b)                 (p)->GetCaps(b)\n#define IDirectDrawSurface_GetClipper(p,a)              (p)->GetClipper(a)\n#define IDirectDrawSurface_GetColorKey(p,a,b)           (p)->GetColorKey(a,b)\n#define IDirectDrawSurface_GetDC(p,a)                   (p)->GetDC(a)\n#define IDirectDrawSurface_GetFlipStatus(p,a)           (p)->GetFlipStatus(a)\n#define IDirectDrawSurface_GetOverlayPosition(p,a,b)    (p)->GetOverlayPosition(a,b)\n#define IDirectDrawSurface_GetPalette(p,a)              (p)->GetPalette(a)\n#define IDirectDrawSurface_GetPixelFormat(p,a)          (p)->GetPixelFormat(a)\n#define IDirectDrawSurface_GetSurfaceDesc(p,a)          (p)->GetSurfaceDesc(a)\n#define IDirectDrawSurface_Initialize(p,a,b)            (p)->Initialize(a,b)\n#define IDirectDrawSurface_IsLost(p)                    (p)->IsLost()\n#define IDirectDrawSurface_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)\n#define IDirectDrawSurface_ReleaseDC(p,a)               (p)->ReleaseDC(a)\n#define IDirectDrawSurface_Restore(p)                   (p)->Restore()\n#define IDirectDrawSurface_SetClipper(p,a)              (p)->SetClipper(a)\n#define IDirectDrawSurface_SetColorKey(p,a,b)           (p)->SetColorKey(a,b)\n#define IDirectDrawSurface_SetOverlayPosition(p,a,b)    (p)->SetOverlayPosition(a,b)\n#define IDirectDrawSurface_SetPalette(p,a)              (p)->SetPalette(a)\n#define IDirectDrawSurface_Unlock(p,b)                  (p)->Unlock(b)\n#define IDirectDrawSurface_UpdateOverlay(p,a,b,c,d,e)   (p)->UpdateOverlay(a,b,c,d,e)\n#define IDirectDrawSurface_UpdateOverlayDisplay(p,a)    (p)->UpdateOverlayDisplay(a)\n#define IDirectDrawSurface_UpdateOverlayZOrder(p,a,b)   (p)->UpdateOverlayZOrder(a,b)\n#endif\n\n/*\n * IDirectDrawSurface2 and related interfaces\n */\n#undef INTERFACE\n#define INTERFACE IDirectDrawSurface2\nDECLARE_INTERFACE_( IDirectDrawSurface2, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawSurface methods ***/\n    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2) PURE;\n    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;\n    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE2, LPRECT,DWORD, LPDDBLTFX) PURE;\n    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;\n    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE2, LPRECT,DWORD) PURE;\n    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE2) PURE;\n    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2, DWORD) PURE;\n    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE2 FAR *) PURE;\n    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;\n    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;\n    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;\n    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;\n    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;\n    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;\n    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;\n    STDMETHOD(IsLost)(THIS) PURE;\n    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;\n    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;\n    STDMETHOD(Restore)(THIS) PURE;\n    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;\n    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;\n    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;\n    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;\n    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE2,LPRECT,DWORD, LPDDOVERLAYFX) PURE;\n    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;\n    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE2) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;\n    STDMETHOD(PageLock)(THIS_ DWORD) PURE;\n    STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawSurface2_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)\n#define IDirectDrawSurface2_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawSurface2_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawSurface2_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)\n#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)\n#define IDirectDrawSurface2_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)\n#define IDirectDrawSurface2_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)\n#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)\n#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)\n#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)\n#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)\n#define IDirectDrawSurface2_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)\n#define IDirectDrawSurface2_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)\n#define IDirectDrawSurface2_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)\n#define IDirectDrawSurface2_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)\n#define IDirectDrawSurface2_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)\n#define IDirectDrawSurface2_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)\n#define IDirectDrawSurface2_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)\n#define IDirectDrawSurface2_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)\n#define IDirectDrawSurface2_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)\n#define IDirectDrawSurface2_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)\n#define IDirectDrawSurface2_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)\n#define IDirectDrawSurface2_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)\n#define IDirectDrawSurface2_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)\n#define IDirectDrawSurface2_IsLost(p)                    (p)->lpVtbl->IsLost(p)\n#define IDirectDrawSurface2_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)\n#define IDirectDrawSurface2_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)\n#define IDirectDrawSurface2_Restore(p)                   (p)->lpVtbl->Restore(p)\n#define IDirectDrawSurface2_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)\n#define IDirectDrawSurface2_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)\n#define IDirectDrawSurface2_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)\n#define IDirectDrawSurface2_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)\n#define IDirectDrawSurface2_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)\n#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)\n#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)\n#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)\n#define IDirectDrawSurface2_GetDDInterface(p,a)          (p)->lpVtbl->GetDDInterface(p,a)\n#define IDirectDrawSurface2_PageLock(p,a)                (p)->lpVtbl->PageLock(p,a)\n#define IDirectDrawSurface2_PageUnlock(p,a)              (p)->lpVtbl->PageUnlock(p,a)\n#else\n#define IDirectDrawSurface2_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)\n#define IDirectDrawSurface2_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawSurface2_Release(p)                   (p)->Release()\n#define IDirectDrawSurface2_AddAttachedSurface(p,a)      (p)->AddAttachedSurface(a)\n#define IDirectDrawSurface2_AddOverlayDirtyRect(p,a)     (p)->AddOverlayDirtyRect(a)\n#define IDirectDrawSurface2_Blt(p,a,b,c,d,e)             (p)->Blt(a,b,c,d,e)\n#define IDirectDrawSurface2_BltBatch(p,a,b,c)            (p)->BltBatch(a,b,c)\n#define IDirectDrawSurface2_BltFast(p,a,b,c,d,e)         (p)->BltFast(a,b,c,d,e)\n#define IDirectDrawSurface2_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)\n#define IDirectDrawSurface2_EnumAttachedSurfaces(p,a,b)  (p)->EnumAttachedSurfaces(a,b)\n#define IDirectDrawSurface2_EnumOverlayZOrders(p,a,b,c)  (p)->EnumOverlayZOrders(a,b,c)\n#define IDirectDrawSurface2_Flip(p,a,b)                  (p)->Flip(a,b)\n#define IDirectDrawSurface2_GetAttachedSurface(p,a,b)    (p)->GetAttachedSurface(a,b)\n#define IDirectDrawSurface2_GetBltStatus(p,a)            (p)->GetBltStatus(a)\n#define IDirectDrawSurface2_GetCaps(p,b)                 (p)->GetCaps(b)\n#define IDirectDrawSurface2_GetClipper(p,a)              (p)->GetClipper(a)\n#define IDirectDrawSurface2_GetColorKey(p,a,b)           (p)->GetColorKey(a,b)\n#define IDirectDrawSurface2_GetDC(p,a)                   (p)->GetDC(a)\n#define IDirectDrawSurface2_GetFlipStatus(p,a)           (p)->GetFlipStatus(a)\n#define IDirectDrawSurface2_GetOverlayPosition(p,a,b)    (p)->GetOverlayPosition(a,b)\n#define IDirectDrawSurface2_GetPalette(p,a)              (p)->GetPalette(a)\n#define IDirectDrawSurface2_GetPixelFormat(p,a)          (p)->GetPixelFormat(a)\n#define IDirectDrawSurface2_GetSurfaceDesc(p,a)          (p)->GetSurfaceDesc(a)\n#define IDirectDrawSurface2_Initialize(p,a,b)            (p)->Initialize(a,b)\n#define IDirectDrawSurface2_IsLost(p)                    (p)->IsLost()\n#define IDirectDrawSurface2_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)\n#define IDirectDrawSurface2_ReleaseDC(p,a)               (p)->ReleaseDC(a)\n#define IDirectDrawSurface2_Restore(p)                   (p)->Restore()\n#define IDirectDrawSurface2_SetClipper(p,a)              (p)->SetClipper(a)\n#define IDirectDrawSurface2_SetColorKey(p,a,b)           (p)->SetColorKey(a,b)\n#define IDirectDrawSurface2_SetOverlayPosition(p,a,b)    (p)->SetOverlayPosition(a,b)\n#define IDirectDrawSurface2_SetPalette(p,a)              (p)->SetPalette(a)\n#define IDirectDrawSurface2_Unlock(p,b)                  (p)->Unlock(b)\n#define IDirectDrawSurface2_UpdateOverlay(p,a,b,c,d,e)   (p)->UpdateOverlay(a,b,c,d,e)\n#define IDirectDrawSurface2_UpdateOverlayDisplay(p,a)    (p)->UpdateOverlayDisplay(a)\n#define IDirectDrawSurface2_UpdateOverlayZOrder(p,a,b)   (p)->UpdateOverlayZOrder(a,b)\n#define IDirectDrawSurface2_GetDDInterface(p,a)          (p)->GetDDInterface(a)\n#define IDirectDrawSurface2_PageLock(p,a)                (p)->PageLock(a)\n#define IDirectDrawSurface2_PageUnlock(p,a)              (p)->PageUnlock(a)\n#endif\n\n/*\n * IDirectDrawSurface3 and related interfaces\n */\n#undef INTERFACE\n#define INTERFACE IDirectDrawSurface3\nDECLARE_INTERFACE_( IDirectDrawSurface3, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawSurface methods ***/\n    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3) PURE;\n    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;\n    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE3, LPRECT,DWORD, LPDDBLTFX) PURE;\n    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;\n    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE3, LPRECT,DWORD) PURE;\n    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE3) PURE;\n    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK) PURE;\n    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3, DWORD) PURE;\n    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS, LPDIRECTDRAWSURFACE3 FAR *) PURE;\n    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS) PURE;\n    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;\n    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;\n    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;\n    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;\n    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;\n    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC) PURE;\n    STDMETHOD(IsLost)(THIS) PURE;\n    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC,DWORD,HANDLE) PURE;\n    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;\n    STDMETHOD(Restore)(THIS) PURE;\n    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;\n    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;\n    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;\n    STDMETHOD(Unlock)(THIS_ LPVOID) PURE;\n    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE3,LPRECT,DWORD, LPDDOVERLAYFX) PURE;\n    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;\n    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE3) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;\n    STDMETHOD(PageLock)(THIS_ DWORD) PURE;\n    STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;\n    /*** Added in the V3 interface ***/\n    STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC, DWORD) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawSurface3_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)\n#define IDirectDrawSurface3_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawSurface3_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawSurface3_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)\n#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)\n#define IDirectDrawSurface3_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)\n#define IDirectDrawSurface3_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)\n#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)\n#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)\n#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)\n#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)\n#define IDirectDrawSurface3_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)\n#define IDirectDrawSurface3_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)\n#define IDirectDrawSurface3_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)\n#define IDirectDrawSurface3_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)\n#define IDirectDrawSurface3_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)\n#define IDirectDrawSurface3_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)\n#define IDirectDrawSurface3_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)\n#define IDirectDrawSurface3_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)\n#define IDirectDrawSurface3_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)\n#define IDirectDrawSurface3_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)\n#define IDirectDrawSurface3_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)\n#define IDirectDrawSurface3_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)\n#define IDirectDrawSurface3_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)\n#define IDirectDrawSurface3_IsLost(p)                    (p)->lpVtbl->IsLost(p)\n#define IDirectDrawSurface3_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)\n#define IDirectDrawSurface3_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)\n#define IDirectDrawSurface3_Restore(p)                   (p)->lpVtbl->Restore(p)\n#define IDirectDrawSurface3_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)\n#define IDirectDrawSurface3_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)\n#define IDirectDrawSurface3_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)\n#define IDirectDrawSurface3_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)\n#define IDirectDrawSurface3_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)\n#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)\n#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)\n#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)\n#define IDirectDrawSurface3_GetDDInterface(p,a)          (p)->lpVtbl->GetDDInterface(p,a)\n#define IDirectDrawSurface3_PageLock(p,a)                (p)->lpVtbl->PageLock(p,a)\n#define IDirectDrawSurface3_PageUnlock(p,a)              (p)->lpVtbl->PageUnlock(p,a)\n#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b)        (p)->lpVtbl->SetSurfaceDesc(p,a,b)\n#else\n#define IDirectDrawSurface3_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)\n#define IDirectDrawSurface3_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawSurface3_Release(p)                   (p)->Release()\n#define IDirectDrawSurface3_AddAttachedSurface(p,a)      (p)->AddAttachedSurface(a)\n#define IDirectDrawSurface3_AddOverlayDirtyRect(p,a)     (p)->AddOverlayDirtyRect(a)\n#define IDirectDrawSurface3_Blt(p,a,b,c,d,e)             (p)->Blt(a,b,c,d,e)\n#define IDirectDrawSurface3_BltBatch(p,a,b,c)            (p)->BltBatch(a,b,c)\n#define IDirectDrawSurface3_BltFast(p,a,b,c,d,e)         (p)->BltFast(a,b,c,d,e)\n#define IDirectDrawSurface3_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)\n#define IDirectDrawSurface3_EnumAttachedSurfaces(p,a,b)  (p)->EnumAttachedSurfaces(a,b)\n#define IDirectDrawSurface3_EnumOverlayZOrders(p,a,b,c)  (p)->EnumOverlayZOrders(a,b,c)\n#define IDirectDrawSurface3_Flip(p,a,b)                  (p)->Flip(a,b)\n#define IDirectDrawSurface3_GetAttachedSurface(p,a,b)    (p)->GetAttachedSurface(a,b)\n#define IDirectDrawSurface3_GetBltStatus(p,a)            (p)->GetBltStatus(a)\n#define IDirectDrawSurface3_GetCaps(p,b)                 (p)->GetCaps(b)\n#define IDirectDrawSurface3_GetClipper(p,a)              (p)->GetClipper(a)\n#define IDirectDrawSurface3_GetColorKey(p,a,b)           (p)->GetColorKey(a,b)\n#define IDirectDrawSurface3_GetDC(p,a)                   (p)->GetDC(a)\n#define IDirectDrawSurface3_GetFlipStatus(p,a)           (p)->GetFlipStatus(a)\n#define IDirectDrawSurface3_GetOverlayPosition(p,a,b)    (p)->GetOverlayPosition(a,b)\n#define IDirectDrawSurface3_GetPalette(p,a)              (p)->GetPalette(a)\n#define IDirectDrawSurface3_GetPixelFormat(p,a)          (p)->GetPixelFormat(a)\n#define IDirectDrawSurface3_GetSurfaceDesc(p,a)          (p)->GetSurfaceDesc(a)\n#define IDirectDrawSurface3_Initialize(p,a,b)            (p)->Initialize(a,b)\n#define IDirectDrawSurface3_IsLost(p)                    (p)->IsLost()\n#define IDirectDrawSurface3_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)\n#define IDirectDrawSurface3_ReleaseDC(p,a)               (p)->ReleaseDC(a)\n#define IDirectDrawSurface3_Restore(p)                   (p)->Restore()\n#define IDirectDrawSurface3_SetClipper(p,a)              (p)->SetClipper(a)\n#define IDirectDrawSurface3_SetColorKey(p,a,b)           (p)->SetColorKey(a,b)\n#define IDirectDrawSurface3_SetOverlayPosition(p,a,b)    (p)->SetOverlayPosition(a,b)\n#define IDirectDrawSurface3_SetPalette(p,a)              (p)->SetPalette(a)\n#define IDirectDrawSurface3_Unlock(p,b)                  (p)->Unlock(b)\n#define IDirectDrawSurface3_UpdateOverlay(p,a,b,c,d,e)   (p)->UpdateOverlay(a,b,c,d,e)\n#define IDirectDrawSurface3_UpdateOverlayDisplay(p,a)    (p)->UpdateOverlayDisplay(a)\n#define IDirectDrawSurface3_UpdateOverlayZOrder(p,a,b)   (p)->UpdateOverlayZOrder(a,b)\n#define IDirectDrawSurface3_GetDDInterface(p,a)          (p)->GetDDInterface(a)\n#define IDirectDrawSurface3_PageLock(p,a)                (p)->PageLock(a)\n#define IDirectDrawSurface3_PageUnlock(p,a)              (p)->PageUnlock(a)\n#define IDirectDrawSurface3_SetSurfaceDesc(p,a,b)        (p)->SetSurfaceDesc(a,b)\n#endif\n\n/*\n * IDirectDrawSurface4 and related interfaces\n */\n#undef INTERFACE\n#define INTERFACE IDirectDrawSurface4\nDECLARE_INTERFACE_( IDirectDrawSurface4, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawSurface methods ***/\n    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4) PURE;\n    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;\n    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE4, LPRECT,DWORD, LPDDBLTFX) PURE;\n    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;\n    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE4, LPRECT,DWORD) PURE;\n    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE4) PURE;\n    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;\n    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK2) PURE;\n    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4, DWORD) PURE;\n    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE4 FAR *) PURE;\n    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;\n    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;\n    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;\n    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;\n    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;\n    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;\n    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;\n    STDMETHOD(IsLost)(THIS) PURE;\n    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;\n    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;\n    STDMETHOD(Restore)(THIS) PURE;\n    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;\n    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;\n    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;\n    STDMETHOD(Unlock)(THIS_ LPRECT) PURE;\n    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE4,LPRECT,DWORD, LPDDOVERLAYFX) PURE;\n    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;\n    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE4) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;\n    STDMETHOD(PageLock)(THIS_ DWORD) PURE;\n    STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;\n    /*** Added in the v3 interface ***/\n    STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;\n    /*** Added in the v4 interface ***/\n    STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;\n    STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;\n    STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;\n    STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;\n    STDMETHOD(ChangeUniquenessValue)(THIS) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawSurface4_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)\n#define IDirectDrawSurface4_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawSurface4_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawSurface4_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)\n#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)\n#define IDirectDrawSurface4_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)\n#define IDirectDrawSurface4_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)\n#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)\n#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)\n#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)\n#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)\n#define IDirectDrawSurface4_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)\n#define IDirectDrawSurface4_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)\n#define IDirectDrawSurface4_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)\n#define IDirectDrawSurface4_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)\n#define IDirectDrawSurface4_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)\n#define IDirectDrawSurface4_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)\n#define IDirectDrawSurface4_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)\n#define IDirectDrawSurface4_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)\n#define IDirectDrawSurface4_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)\n#define IDirectDrawSurface4_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)\n#define IDirectDrawSurface4_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)\n#define IDirectDrawSurface4_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)\n#define IDirectDrawSurface4_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)\n#define IDirectDrawSurface4_IsLost(p)                    (p)->lpVtbl->IsLost(p)\n#define IDirectDrawSurface4_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)\n#define IDirectDrawSurface4_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)\n#define IDirectDrawSurface4_Restore(p)                   (p)->lpVtbl->Restore(p)\n#define IDirectDrawSurface4_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)\n#define IDirectDrawSurface4_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)\n#define IDirectDrawSurface4_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)\n#define IDirectDrawSurface4_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)\n#define IDirectDrawSurface4_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)\n#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)\n#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)\n#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)\n#define IDirectDrawSurface4_GetDDInterface(p,a)          (p)->lpVtbl->GetDDInterface(p,a)\n#define IDirectDrawSurface4_PageLock(p,a)                (p)->lpVtbl->PageLock(p,a)\n#define IDirectDrawSurface4_PageUnlock(p,a)              (p)->lpVtbl->PageUnlock(p,a)\n#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b)        (p)->lpVtbl->SetSurfaceDesc(p,a,b)\n#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)\n#define IDirectDrawSurface4_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)\n#define IDirectDrawSurface4_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)\n#define IDirectDrawSurface4_GetUniquenessValue(p, a)     (p)->lpVtbl->GetUniquenessValue(p, a)\n#define IDirectDrawSurface4_ChangeUniquenessValue(p)     (p)->lpVtbl->ChangeUniquenessValue(p)\n#else\n#define IDirectDrawSurface4_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)\n#define IDirectDrawSurface4_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawSurface4_Release(p)                   (p)->Release()\n#define IDirectDrawSurface4_AddAttachedSurface(p,a)      (p)->AddAttachedSurface(a)\n#define IDirectDrawSurface4_AddOverlayDirtyRect(p,a)     (p)->AddOverlayDirtyRect(a)\n#define IDirectDrawSurface4_Blt(p,a,b,c,d,e)             (p)->Blt(a,b,c,d,e)\n#define IDirectDrawSurface4_BltBatch(p,a,b,c)            (p)->BltBatch(a,b,c)\n#define IDirectDrawSurface4_BltFast(p,a,b,c,d,e)         (p)->BltFast(a,b,c,d,e)\n#define IDirectDrawSurface4_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)\n#define IDirectDrawSurface4_EnumAttachedSurfaces(p,a,b)  (p)->EnumAttachedSurfaces(a,b)\n#define IDirectDrawSurface4_EnumOverlayZOrders(p,a,b,c)  (p)->EnumOverlayZOrders(a,b,c)\n#define IDirectDrawSurface4_Flip(p,a,b)                  (p)->Flip(a,b)\n#define IDirectDrawSurface4_GetAttachedSurface(p,a,b)    (p)->GetAttachedSurface(a,b)\n#define IDirectDrawSurface4_GetBltStatus(p,a)            (p)->GetBltStatus(a)\n#define IDirectDrawSurface4_GetCaps(p,b)                 (p)->GetCaps(b)\n#define IDirectDrawSurface4_GetClipper(p,a)              (p)->GetClipper(a)\n#define IDirectDrawSurface4_GetColorKey(p,a,b)           (p)->GetColorKey(a,b)\n#define IDirectDrawSurface4_GetDC(p,a)                   (p)->GetDC(a)\n#define IDirectDrawSurface4_GetFlipStatus(p,a)           (p)->GetFlipStatus(a)\n#define IDirectDrawSurface4_GetOverlayPosition(p,a,b)    (p)->GetOverlayPosition(a,b)\n#define IDirectDrawSurface4_GetPalette(p,a)              (p)->GetPalette(a)\n#define IDirectDrawSurface4_GetPixelFormat(p,a)          (p)->GetPixelFormat(a)\n#define IDirectDrawSurface4_GetSurfaceDesc(p,a)          (p)->GetSurfaceDesc(a)\n#define IDirectDrawSurface4_Initialize(p,a,b)            (p)->Initialize(a,b)\n#define IDirectDrawSurface4_IsLost(p)                    (p)->IsLost()\n#define IDirectDrawSurface4_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)\n#define IDirectDrawSurface4_ReleaseDC(p,a)               (p)->ReleaseDC(a)\n#define IDirectDrawSurface4_Restore(p)                   (p)->Restore()\n#define IDirectDrawSurface4_SetClipper(p,a)              (p)->SetClipper(a)\n#define IDirectDrawSurface4_SetColorKey(p,a,b)           (p)->SetColorKey(a,b)\n#define IDirectDrawSurface4_SetOverlayPosition(p,a,b)    (p)->SetOverlayPosition(a,b)\n#define IDirectDrawSurface4_SetPalette(p,a)              (p)->SetPalette(a)\n#define IDirectDrawSurface4_Unlock(p,b)                  (p)->Unlock(b)\n#define IDirectDrawSurface4_UpdateOverlay(p,a,b,c,d,e)   (p)->UpdateOverlay(a,b,c,d,e)\n#define IDirectDrawSurface4_UpdateOverlayDisplay(p,a)    (p)->UpdateOverlayDisplay(a)\n#define IDirectDrawSurface4_UpdateOverlayZOrder(p,a,b)   (p)->UpdateOverlayZOrder(a,b)\n#define IDirectDrawSurface4_GetDDInterface(p,a)          (p)->GetDDInterface(a)\n#define IDirectDrawSurface4_PageLock(p,a)                (p)->PageLock(a)\n#define IDirectDrawSurface4_PageUnlock(p,a)              (p)->PageUnlock(a)\n#define IDirectDrawSurface4_SetSurfaceDesc(p,a,b)        (p)->SetSurfaceDesc(a,b)\n#define IDirectDrawSurface4_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)\n#define IDirectDrawSurface4_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)\n#define IDirectDrawSurface4_FreePrivateData(p,a)         (p)->FreePrivateData(a)\n#define IDirectDrawSurface4_GetUniquenessValue(p, a)     (p)->GetUniquenessValue(a)\n#define IDirectDrawSurface4_ChangeUniquenessValue(p)     (p)->ChangeUniquenessValue()\n#endif\n\n/*\n * IDirectDrawSurface7 and related interfaces\n */\n#undef INTERFACE\n#define INTERFACE IDirectDrawSurface7\nDECLARE_INTERFACE_( IDirectDrawSurface7, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawSurface methods ***/\n    STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7) PURE;\n    STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT) PURE;\n    STDMETHOD(Blt)(THIS_ LPRECT,LPDIRECTDRAWSURFACE7, LPRECT,DWORD, LPDDBLTFX) PURE;\n    STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH, DWORD, DWORD ) PURE;\n    STDMETHOD(BltFast)(THIS_ DWORD,DWORD,LPDIRECTDRAWSURFACE7, LPRECT,DWORD) PURE;\n    STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD,LPDIRECTDRAWSURFACE7) PURE;\n    STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID,LPDDENUMSURFACESCALLBACK7) PURE;\n    STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD,LPVOID,LPDDENUMSURFACESCALLBACK7) PURE;\n    STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7, DWORD) PURE;\n    STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2, LPDIRECTDRAWSURFACE7 FAR *) PURE;\n    STDMETHOD(GetBltStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2) PURE;\n    STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER FAR*) PURE;\n    STDMETHOD(GetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(GetDC)(THIS_ HDC FAR *) PURE;\n    STDMETHOD(GetFlipStatus)(THIS_ DWORD) PURE;\n    STDMETHOD(GetOverlayPosition)(THIS_ LPLONG, LPLONG ) PURE;\n    STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE FAR*) PURE;\n    STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT) PURE;\n    STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2) PURE;\n    STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW, LPDDSURFACEDESC2) PURE;\n    STDMETHOD(IsLost)(THIS) PURE;\n    STDMETHOD(Lock)(THIS_ LPRECT,LPDDSURFACEDESC2,DWORD,HANDLE) PURE;\n    STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;\n    STDMETHOD(Restore)(THIS) PURE;\n    STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER) PURE;\n    STDMETHOD(SetColorKey)(THIS_ DWORD, LPDDCOLORKEY) PURE;\n    STDMETHOD(SetOverlayPosition)(THIS_ LONG, LONG ) PURE;\n    STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE) PURE;\n    STDMETHOD(Unlock)(THIS_ LPRECT) PURE;\n    STDMETHOD(UpdateOverlay)(THIS_ LPRECT, LPDIRECTDRAWSURFACE7,LPRECT,DWORD, LPDDOVERLAYFX) PURE;\n    STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD) PURE;\n    STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD, LPDIRECTDRAWSURFACE7) PURE;\n    /*** Added in the v2 interface ***/\n    STDMETHOD(GetDDInterface)(THIS_ LPVOID FAR *) PURE;\n    STDMETHOD(PageLock)(THIS_ DWORD) PURE;\n    STDMETHOD(PageUnlock)(THIS_ DWORD) PURE;\n    /*** Added in the v3 interface ***/\n    STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2, DWORD) PURE;\n    /*** Added in the v4 interface ***/\n    STDMETHOD(SetPrivateData)(THIS_ REFGUID, LPVOID, DWORD, DWORD) PURE;\n    STDMETHOD(GetPrivateData)(THIS_ REFGUID, LPVOID, LPDWORD) PURE;\n    STDMETHOD(FreePrivateData)(THIS_ REFGUID) PURE;\n    STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD) PURE;\n    STDMETHOD(ChangeUniquenessValue)(THIS) PURE;\n    /*** Moved Texture7 methods here ***/\n    STDMETHOD(SetPriority)(THIS_ DWORD) PURE;\n    STDMETHOD(GetPriority)(THIS_ LPDWORD) PURE;\n    STDMETHOD(SetLOD)(THIS_ DWORD) PURE;\n    STDMETHOD(GetLOD)(THIS_ LPDWORD) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawSurface7_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)\n#define IDirectDrawSurface7_AddRef(p)                    (p)->lpVtbl->AddRef(p)\n#define IDirectDrawSurface7_Release(p)                   (p)->lpVtbl->Release(p)\n#define IDirectDrawSurface7_AddAttachedSurface(p,a)      (p)->lpVtbl->AddAttachedSurface(p,a)\n#define IDirectDrawSurface7_AddOverlayDirtyRect(p,a)     (p)->lpVtbl->AddOverlayDirtyRect(p,a)\n#define IDirectDrawSurface7_Blt(p,a,b,c,d,e)             (p)->lpVtbl->Blt(p,a,b,c,d,e)\n#define IDirectDrawSurface7_BltBatch(p,a,b,c)            (p)->lpVtbl->BltBatch(p,a,b,c)\n#define IDirectDrawSurface7_BltFast(p,a,b,c,d,e)         (p)->lpVtbl->BltFast(p,a,b,c,d,e)\n#define IDirectDrawSurface7_DeleteAttachedSurface(p,a,b) (p)->lpVtbl->DeleteAttachedSurface(p,a,b)\n#define IDirectDrawSurface7_EnumAttachedSurfaces(p,a,b)  (p)->lpVtbl->EnumAttachedSurfaces(p,a,b)\n#define IDirectDrawSurface7_EnumOverlayZOrders(p,a,b,c)  (p)->lpVtbl->EnumOverlayZOrders(p,a,b,c)\n#define IDirectDrawSurface7_Flip(p,a,b)                  (p)->lpVtbl->Flip(p,a,b)\n#define IDirectDrawSurface7_GetAttachedSurface(p,a,b)    (p)->lpVtbl->GetAttachedSurface(p,a,b)\n#define IDirectDrawSurface7_GetBltStatus(p,a)            (p)->lpVtbl->GetBltStatus(p,a)\n#define IDirectDrawSurface7_GetCaps(p,b)                 (p)->lpVtbl->GetCaps(p,b)\n#define IDirectDrawSurface7_GetClipper(p,a)              (p)->lpVtbl->GetClipper(p,a)\n#define IDirectDrawSurface7_GetColorKey(p,a,b)           (p)->lpVtbl->GetColorKey(p,a,b)\n#define IDirectDrawSurface7_GetDC(p,a)                   (p)->lpVtbl->GetDC(p,a)\n#define IDirectDrawSurface7_GetFlipStatus(p,a)           (p)->lpVtbl->GetFlipStatus(p,a)\n#define IDirectDrawSurface7_GetOverlayPosition(p,a,b)    (p)->lpVtbl->GetOverlayPosition(p,a,b)\n#define IDirectDrawSurface7_GetPalette(p,a)              (p)->lpVtbl->GetPalette(p,a)\n#define IDirectDrawSurface7_GetPixelFormat(p,a)          (p)->lpVtbl->GetPixelFormat(p,a)\n#define IDirectDrawSurface7_GetSurfaceDesc(p,a)          (p)->lpVtbl->GetSurfaceDesc(p,a)\n#define IDirectDrawSurface7_Initialize(p,a,b)            (p)->lpVtbl->Initialize(p,a,b)\n#define IDirectDrawSurface7_IsLost(p)                    (p)->lpVtbl->IsLost(p)\n#define IDirectDrawSurface7_Lock(p,a,b,c,d)              (p)->lpVtbl->Lock(p,a,b,c,d)\n#define IDirectDrawSurface7_ReleaseDC(p,a)               (p)->lpVtbl->ReleaseDC(p,a)\n#define IDirectDrawSurface7_Restore(p)                   (p)->lpVtbl->Restore(p)\n#define IDirectDrawSurface7_SetClipper(p,a)              (p)->lpVtbl->SetClipper(p,a)\n#define IDirectDrawSurface7_SetColorKey(p,a,b)           (p)->lpVtbl->SetColorKey(p,a,b)\n#define IDirectDrawSurface7_SetOverlayPosition(p,a,b)    (p)->lpVtbl->SetOverlayPosition(p,a,b)\n#define IDirectDrawSurface7_SetPalette(p,a)              (p)->lpVtbl->SetPalette(p,a)\n#define IDirectDrawSurface7_Unlock(p,b)                  (p)->lpVtbl->Unlock(p,b)\n#define IDirectDrawSurface7_UpdateOverlay(p,a,b,c,d,e)   (p)->lpVtbl->UpdateOverlay(p,a,b,c,d,e)\n#define IDirectDrawSurface7_UpdateOverlayDisplay(p,a)    (p)->lpVtbl->UpdateOverlayDisplay(p,a)\n#define IDirectDrawSurface7_UpdateOverlayZOrder(p,a,b)   (p)->lpVtbl->UpdateOverlayZOrder(p,a,b)\n#define IDirectDrawSurface7_GetDDInterface(p,a)          (p)->lpVtbl->GetDDInterface(p,a)\n#define IDirectDrawSurface7_PageLock(p,a)                (p)->lpVtbl->PageLock(p,a)\n#define IDirectDrawSurface7_PageUnlock(p,a)              (p)->lpVtbl->PageUnlock(p,a)\n#define IDirectDrawSurface7_SetSurfaceDesc(p,a,b)        (p)->lpVtbl->SetSurfaceDesc(p,a,b)\n#define IDirectDrawSurface7_SetPrivateData(p,a,b,c,d)    (p)->lpVtbl->SetPrivateData(p,a,b,c,d)\n#define IDirectDrawSurface7_GetPrivateData(p,a,b,c)      (p)->lpVtbl->GetPrivateData(p,a,b,c)\n#define IDirectDrawSurface7_FreePrivateData(p,a)         (p)->lpVtbl->FreePrivateData(p,a)\n#define IDirectDrawSurface7_GetUniquenessValue(p, a)     (p)->lpVtbl->GetUniquenessValue(p, a)\n#define IDirectDrawSurface7_ChangeUniquenessValue(p)     (p)->lpVtbl->ChangeUniquenessValue(p)\n#define IDirectDrawSurface7_SetPriority(p,a)             (p)->lpVtbl->SetPriority(p,a)\n#define IDirectDrawSurface7_GetPriority(p,a)             (p)->lpVtbl->GetPriority(p,a)\n#define IDirectDrawSurface7_SetLOD(p,a)                  (p)->lpVtbl->SetLOD(p,a)\n#define IDirectDrawSurface7_GetLOD(p,a)                  (p)->lpVtbl->GetLOD(p,a)\n#else\n#define IDirectDrawSurface7_QueryInterface(p,a,b)        (p)->QueryInterface(a,b)\n#define IDirectDrawSurface7_AddRef(p)                    (p)->AddRef()\n#define IDirectDrawSurface7_Release(p)                   (p)->Release()\n#define IDirectDrawSurface7_AddAttachedSurface(p,a)      (p)->AddAttachedSurface(a)\n#define IDirectDrawSurface7_AddOverlayDirtyRect(p,a)     (p)->AddOverlayDirtyRect(a)\n#define IDirectDrawSurface7_Blt(p,a,b,c,d,e)             (p)->Blt(a,b,c,d,e)\n#define IDirectDrawSurface7_BltBatch(p,a,b,c)            (p)->BltBatch(a,b,c)\n#define IDirectDrawSurface7_BltFast(p,a,b,c,d,e)         (p)->BltFast(a,b,c,d,e)\n#define IDirectDrawSurface7_DeleteAttachedSurface(p,a,b) (p)->DeleteAttachedSurface(a,b)\n#define IDirectDrawSurface7_EnumAttachedSurfaces(p,a,b)  (p)->EnumAttachedSurfaces(a,b)\n#define IDirectDrawSurface7_EnumOverlayZOrders(p,a,b,c)  (p)->EnumOverlayZOrders(a,b,c)\n#define IDirectDrawSurface7_Flip(p,a,b)                  (p)->Flip(a,b)\n#define IDirectDrawSurface7_GetAttachedSurface(p,a,b)    (p)->GetAttachedSurface(a,b)\n#define IDirectDrawSurface7_GetBltStatus(p,a)            (p)->GetBltStatus(a)\n#define IDirectDrawSurface7_GetCaps(p,b)                 (p)->GetCaps(b)\n#define IDirectDrawSurface7_GetClipper(p,a)              (p)->GetClipper(a)\n#define IDirectDrawSurface7_GetColorKey(p,a,b)           (p)->GetColorKey(a,b)\n#define IDirectDrawSurface7_GetDC(p,a)                   (p)->GetDC(a)\n#define IDirectDrawSurface7_GetFlipStatus(p,a)           (p)->GetFlipStatus(a)\n#define IDirectDrawSurface7_GetOverlayPosition(p,a,b)    (p)->GetOverlayPosition(a,b)\n#define IDirectDrawSurface7_GetPalette(p,a)              (p)->GetPalette(a)\n#define IDirectDrawSurface7_GetPixelFormat(p,a)          (p)->GetPixelFormat(a)\n#define IDirectDrawSurface7_GetSurfaceDesc(p,a)          (p)->GetSurfaceDesc(a)\n#define IDirectDrawSurface7_Initialize(p,a,b)            (p)->Initialize(a,b)\n#define IDirectDrawSurface7_IsLost(p)                    (p)->IsLost()\n#define IDirectDrawSurface7_Lock(p,a,b,c,d)              (p)->Lock(a,b,c,d)\n#define IDirectDrawSurface7_ReleaseDC(p,a)               (p)->ReleaseDC(a)\n#define IDirectDrawSurface7_Restore(p)                   (p)->Restore()\n#define IDirectDrawSurface7_SetClipper(p,a)              (p)->SetClipper(a)\n#define IDirectDrawSurface7_SetColorKey(p,a,b)           (p)->SetColorKey(a,b)\n#define IDirectDrawSurface7_SetOverlayPosition(p,a,b)    (p)->SetOverlayPosition(a,b)\n#define IDirectDrawSurface7_SetPalette(p,a)              (p)->SetPalette(a)\n#define IDirectDrawSurface7_Unlock(p,b)                  (p)->Unlock(b)\n#define IDirectDrawSurface7_UpdateOverlay(p,a,b,c,d,e)   (p)->UpdateOverlay(a,b,c,d,e)\n#define IDirectDrawSurface7_UpdateOverlayDisplay(p,a)    (p)->UpdateOverlayDisplay(a)\n#define IDirectDrawSurface7_UpdateOverlayZOrder(p,a,b)   (p)->UpdateOverlayZOrder(a,b)\n#define IDirectDrawSurface7_GetDDInterface(p,a)          (p)->GetDDInterface(a)\n#define IDirectDrawSurface7_PageLock(p,a)                (p)->PageLock(a)\n#define IDirectDrawSurface7_PageUnlock(p,a)              (p)->PageUnlock(a)\n#define IDirectDrawSurface7_SetSurfaceDesc(p,a,b)        (p)->SetSurfaceDesc(a,b)\n#define IDirectDrawSurface7_SetPrivateData(p,a,b,c,d)    (p)->SetPrivateData(a,b,c,d)\n#define IDirectDrawSurface7_GetPrivateData(p,a,b,c)      (p)->GetPrivateData(a,b,c)\n#define IDirectDrawSurface7_FreePrivateData(p,a)         (p)->FreePrivateData(a)\n#define IDirectDrawSurface7_GetUniquenessValue(p, a)     (p)->GetUniquenessValue(a)\n#define IDirectDrawSurface7_ChangeUniquenessValue(p)     (p)->ChangeUniquenessValue()\n#define IDirectDrawSurface7_SetPriority(p,a)             (p)->SetPriority(a)\n#define IDirectDrawSurface7_GetPriority(p,a)             (p)->GetPriority(a)\n#define IDirectDrawSurface7_SetLOD(p,a)                  (p)->SetLOD(a)\n#define IDirectDrawSurface7_GetLOD(p,a)                  (p)->GetLOD(a)\n#endif\n\n\n/*\n * IDirectDrawColorControl\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDrawColorControl\nDECLARE_INTERFACE_( IDirectDrawColorControl, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawColorControl methods ***/\n    STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;\n    STDMETHOD(SetColorControls)(THIS_ LPDDCOLORCONTROL) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawColorControl_QueryInterface(p, a, b)  (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDrawColorControl_AddRef(p)                (p)->lpVtbl->AddRef(p)\n#define IDirectDrawColorControl_Release(p)               (p)->lpVtbl->Release(p)\n#define IDirectDrawColorControl_GetColorControls(p, a)   (p)->lpVtbl->GetColorControls(p, a)\n#define IDirectDrawColorControl_SetColorControls(p, a)   (p)->lpVtbl->SetColorControls(p, a)\n#else\n#define IDirectDrawColorControl_QueryInterface(p, a, b)  (p)->QueryInterface(a, b)\n#define IDirectDrawColorControl_AddRef(p)                (p)->AddRef()\n#define IDirectDrawColorControl_Release(p)               (p)->Release()\n#define IDirectDrawColorControl_GetColorControls(p, a)   (p)->GetColorControls(a)\n#define IDirectDrawColorControl_SetColorControls(p, a)   (p)->SetColorControls(a)\n#endif\n\n#endif\n\n\n/*\n * IDirectDrawGammaControl\n */\n#if defined( _WIN32 ) && !defined( _NO_COM )\n#undef INTERFACE\n#define INTERFACE IDirectDrawGammaControl\nDECLARE_INTERFACE_( IDirectDrawGammaControl, IUnknown )\n{\n    /*** IUnknown methods ***/\n    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;\n    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;\n    STDMETHOD_(ULONG,Release) (THIS) PURE;\n    /*** IDirectDrawGammaControl methods ***/\n    STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;\n    STDMETHOD(SetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PURE;\n};\n\n#if !defined(__cplusplus) || defined(CINTERFACE)\n#define IDirectDrawGammaControl_QueryInterface(p, a, b)  (p)->lpVtbl->QueryInterface(p, a, b)\n#define IDirectDrawGammaControl_AddRef(p)                (p)->lpVtbl->AddRef(p)\n#define IDirectDrawGammaControl_Release(p)               (p)->lpVtbl->Release(p)\n#define IDirectDrawGammaControl_GetGammaRamp(p, a, b)    (p)->lpVtbl->GetGammaRamp(p, a, b)\n#define IDirectDrawGammaControl_SetGammaRamp(p, a, b)    (p)->lpVtbl->SetGammaRamp(p, a, b)\n#else\n#define IDirectDrawGammaControl_QueryInterface(p, a, b)  (p)->QueryInterface(a, b)\n#define IDirectDrawGammaControl_AddRef(p)                (p)->AddRef()\n#define IDirectDrawGammaControl_Release(p)               (p)->Release()\n#define IDirectDrawGammaControl_GetGammaRamp(p, a, b)    (p)->GetGammaRamp(a, b)\n#define IDirectDrawGammaControl_SetGammaRamp(p, a, b)    (p)->SetGammaRamp(a, b)\n#endif\n\n#endif\n\n\n\n#endif\n\n\n/*\n * DDSURFACEDESC\n */\ntypedef struct _DDSURFACEDESC\n{\n    DWORD               dwSize;                 // size of the DDSURFACEDESC structure\n    DWORD               dwFlags;                // determines what fields are valid\n    DWORD               dwHeight;               // height of surface to be created\n    DWORD               dwWidth;                // width of input surface\n    union\n    {\n        LONG            lPitch;                 // distance to start of next line (return value only)\n        DWORD           dwLinearSize;           // Formless late-allocated optimized surface size\n    } DUMMYUNIONNAMEN(1);\n    DWORD               dwBackBufferCount;      // number of back buffers requested\n    union\n    {\n        DWORD           dwMipMapCount;          // number of mip-map levels requested\n        DWORD           dwZBufferBitDepth;      // depth of Z buffer requested\n        DWORD           dwRefreshRate;          // refresh rate (used when display mode is described)\n    } DUMMYUNIONNAMEN(2);\n    DWORD               dwAlphaBitDepth;        // depth of alpha buffer requested\n    DWORD               dwReserved;             // reserved\n    LPVOID              lpSurface;              // pointer to the associated surface memory\n    DDCOLORKEY          ddckCKDestOverlay;      // color key for destination overlay use\n    DDCOLORKEY          ddckCKDestBlt;          // color key for destination blt use\n    DDCOLORKEY          ddckCKSrcOverlay;       // color key for source overlay use\n    DDCOLORKEY          ddckCKSrcBlt;           // color key for source blt use\n    DDPIXELFORMAT       ddpfPixelFormat;        // pixel format description of the surface\n    DDSCAPS             ddsCaps;                // direct draw surface capabilities\n} DDSURFACEDESC;\n\n/*\n * DDSURFACEDESC2\n */\ntypedef struct _DDSURFACEDESC2\n{\n    DWORD               dwSize;                 // size of the DDSURFACEDESC structure\n    DWORD               dwFlags;                // determines what fields are valid\n    DWORD               dwHeight;               // height of surface to be created\n    DWORD               dwWidth;                // width of input surface\n    union\n    {\n        LONG            lPitch;                 // distance to start of next line (return value only)\n        DWORD           dwLinearSize;           // Formless late-allocated optimized surface size\n    } DUMMYUNIONNAMEN(1);\n    union\n    {\n        DWORD           dwBackBufferCount;      // number of back buffers requested\n        DWORD           dwDepth;                // the depth if this is a volume texture \n    } DUMMYUNIONNAMEN(5);\n    union\n    {\n        DWORD           dwMipMapCount;          // number of mip-map levels requestde\n                                                // dwZBufferBitDepth removed, use ddpfPixelFormat one instead\n        DWORD           dwRefreshRate;          // refresh rate (used when display mode is described)\n        DWORD           dwSrcVBHandle;          // The source used in VB::Optimize\n    } DUMMYUNIONNAMEN(2);\n    DWORD               dwAlphaBitDepth;        // depth of alpha buffer requested\n    DWORD               dwReserved;             // reserved\n    LPVOID              lpSurface;              // pointer to the associated surface memory\n    union\n    {\n        DDCOLORKEY      ddckCKDestOverlay;      // color key for destination overlay use\n        DWORD           dwEmptyFaceColor;       // Physical color for empty cubemap faces\n    } DUMMYUNIONNAMEN(3);\n    DDCOLORKEY          ddckCKDestBlt;          // color key for destination blt use\n    DDCOLORKEY          ddckCKSrcOverlay;       // color key for source overlay use\n    DDCOLORKEY          ddckCKSrcBlt;           // color key for source blt use\n    union\n    {\n        DDPIXELFORMAT   ddpfPixelFormat;        // pixel format description of the surface\n        DWORD           dwFVF;                  // vertex format description of vertex buffers\n    } DUMMYUNIONNAMEN(4);\n    DDSCAPS2            ddsCaps;                // direct draw surface capabilities\n    DWORD               dwTextureStage;         // stage in multitexture cascade\n} DDSURFACEDESC2;\n\n/*\n * ddsCaps field is valid.\n */\n#define DDSD_CAPS               0x00000001l     // default\n\n/*\n * dwHeight field is valid.\n */\n#define DDSD_HEIGHT             0x00000002l\n\n/*\n * dwWidth field is valid.\n */\n#define DDSD_WIDTH              0x00000004l\n\n/*\n * lPitch is valid.\n */\n#define DDSD_PITCH              0x00000008l\n\n/*\n * dwBackBufferCount is valid.\n */\n#define DDSD_BACKBUFFERCOUNT    0x00000020l\n\n/*\n * dwZBufferBitDepth is valid.  (shouldnt be used in DDSURFACEDESC2)\n */\n#define DDSD_ZBUFFERBITDEPTH    0x00000040l\n\n/*\n * dwAlphaBitDepth is valid.\n */\n#define DDSD_ALPHABITDEPTH      0x00000080l\n\n\n/*\n * lpSurface is valid.\n */\n#define DDSD_LPSURFACE          0x00000800l\n\n/*\n * ddpfPixelFormat is valid.\n */\n#define DDSD_PIXELFORMAT        0x00001000l\n\n/*\n * ddckCKDestOverlay is valid.\n */\n#define DDSD_CKDESTOVERLAY      0x00002000l\n\n/*\n * ddckCKDestBlt is valid.\n */\n#define DDSD_CKDESTBLT          0x00004000l\n\n/*\n * ddckCKSrcOverlay is valid.\n */\n#define DDSD_CKSRCOVERLAY       0x00008000l\n\n/*\n * ddckCKSrcBlt is valid.\n */\n#define DDSD_CKSRCBLT           0x00010000l\n\n/*\n * dwMipMapCount is valid.\n */\n#define DDSD_MIPMAPCOUNT        0x00020000l\n\n /*\n  * dwRefreshRate is valid\n  */\n#define DDSD_REFRESHRATE        0x00040000l\n\n/*\n * dwLinearSize is valid\n */\n#define DDSD_LINEARSIZE         0x00080000l\n\n/*\n * dwTextureStage is valid\n */\n#define DDSD_TEXTURESTAGE       0x00100000l\n/*\n * dwFVF is valid\n */\n#define DDSD_FVF                0x00200000l\n/*\n * dwSrcVBHandle is valid\n */\n#define DDSD_SRCVBHANDLE        0x00400000l\n\n/*\n * dwDepth is valid\n */\n#define DDSD_DEPTH              0x00800000l\n\n/*\n * All input fields are valid.\n */\n#define DDSD_ALL                0x00fff9eel\n\n/*\n * DDOPTSURFACEDESC\n */\ntypedef struct _DDOPTSURFACEDESC\n{\n    DWORD       dwSize;             // size of the DDOPTSURFACEDESC structure\n    DWORD       dwFlags;            // determines what fields are valid\n    DDSCAPS2    ddSCaps;            // Common caps like: Memory type\n    DDOSCAPS    ddOSCaps;           // Common caps like: Memory type\n    GUID        guid;               // Compression technique GUID\n    DWORD       dwCompressionRatio; // Compression ratio\n} DDOPTSURFACEDESC;\n\n/*\n * guid field is valid.\n */\n#define DDOSD_GUID                  0x00000001l\n\n/*\n * dwCompressionRatio field is valid.\n */\n#define DDOSD_COMPRESSION_RATIO     0x00000002l\n\n/*\n * ddSCaps field is valid.\n */\n#define DDOSD_SCAPS                 0x00000004l\n\n/*\n * ddOSCaps field is valid.\n */\n#define DDOSD_OSCAPS                0x00000008l\n\n/*\n * All input fields are valid.\n */\n#define DDOSD_ALL                   0x0000000fl\n\n/*\n * The surface's optimized pixelformat is compressed\n */\n#define DDOSDCAPS_OPTCOMPRESSED                 0x00000001l\n\n/*\n * The surface's optimized pixelformat is reordered\n */\n#define DDOSDCAPS_OPTREORDERED                  0x00000002l\n\n/*\n * The opt surface is a monolithic mipmap\n */\n#define DDOSDCAPS_MONOLITHICMIPMAP              0x00000004l\n\n/*\n * The valid Surf caps:\n * #define DDSCAPS_SYSTEMMEMORY                 0x00000800l\n * #define DDSCAPS_VIDEOMEMORY          0x00004000l\n * #define DDSCAPS_LOCALVIDMEM          0x10000000l\n * #define DDSCAPS_NONLOCALVIDMEM       0x20000000l\n */\n#define DDOSDCAPS_VALIDSCAPS            0x30004800l\n\n/*\n * The valid OptSurf caps\n */\n#define DDOSDCAPS_VALIDOSCAPS           0x00000007l\n\n\n/*\n * DDCOLORCONTROL\n */\ntypedef struct _DDCOLORCONTROL\n{\n    DWORD               dwSize;\n    DWORD               dwFlags;\n    LONG                lBrightness;\n    LONG                lContrast;\n    LONG                lHue;\n    LONG                lSaturation;\n    LONG                lSharpness;\n    LONG                lGamma;\n    LONG                lColorEnable;\n    DWORD               dwReserved1;\n} DDCOLORCONTROL;\n\n\n/*\n * lBrightness field is valid.\n */\n#define DDCOLOR_BRIGHTNESS              0x00000001l\n\n/*\n * lContrast field is valid.\n */\n#define DDCOLOR_CONTRAST                0x00000002l\n\n/*\n * lHue field is valid.\n */\n#define DDCOLOR_HUE                     0x00000004l\n\n/*\n * lSaturation field is valid.\n */\n#define DDCOLOR_SATURATION              0x00000008l\n\n/*\n * lSharpness field is valid.\n */\n#define DDCOLOR_SHARPNESS               0x00000010l\n\n/*\n * lGamma field is valid.\n */\n#define DDCOLOR_GAMMA                   0x00000020l\n\n/*\n * lColorEnable field is valid.\n */\n#define DDCOLOR_COLORENABLE             0x00000040l\n\n\n\n/*============================================================================\n *\n * Direct Draw Capability Flags\n *\n * These flags are used to describe the capabilities of a given Surface.\n * All flags are bit flags.\n *\n *==========================================================================*/\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE CAPABILITY FLAGS\n *\n ****************************************************************************/\n\n/*\n * This bit is reserved. It should not be specified.\n */\n#define DDSCAPS_RESERVED1                       0x00000001l\n\n/*\n * Indicates that this surface contains alpha-only information.\n * (To determine if a surface is RGBA/YUVA, the pixel format must be\n * interrogated.)\n */\n#define DDSCAPS_ALPHA                           0x00000002l\n\n/*\n * Indicates that this surface is a backbuffer.  It is generally\n * set by CreateSurface when the DDSCAPS_FLIP capability bit is set.\n * It indicates that this surface is THE back buffer of a surface\n * flipping structure.  DirectDraw supports N surfaces in a\n * surface flipping structure.  Only the surface that immediately\n * precedeces the DDSCAPS_FRONTBUFFER has this capability bit set.\n * The other surfaces are identified as back buffers by the presence\n * of the DDSCAPS_FLIP capability, their attachment order, and the\n * absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER\n * capabilities.  The bit is sent to CreateSurface when a standalone\n * back buffer is being created.  This surface could be attached to\n * a front buffer and/or back buffers to form a flipping surface\n * structure after the CreateSurface call.  See AddAttachments for\n * a detailed description of the behaviors in this case.\n */\n#define DDSCAPS_BACKBUFFER                      0x00000004l\n\n/*\n * Indicates a complex surface structure is being described.  A\n * complex surface structure results in the creation of more than\n * one surface.  The additional surfaces are attached to the root\n * surface.  The complex structure can only be destroyed by\n * destroying the root.\n */\n#define DDSCAPS_COMPLEX                         0x00000008l\n\n/*\n * Indicates that this surface is a part of a surface flipping structure.\n * When it is passed to CreateSurface the DDSCAPS_FRONTBUFFER and\n * DDSCAP_BACKBUFFER bits are not set.  They are set by CreateSurface\n * on the resulting creations.  The dwBackBufferCount field in the\n * DDSURFACEDESC structure must be set to at least 1 in order for\n * the CreateSurface call to succeed.  The DDSCAPS_COMPLEX capability\n * must always be set with creating multiple surfaces through CreateSurface.\n */\n#define DDSCAPS_FLIP                            0x00000010l\n\n/*\n * Indicates that this surface is THE front buffer of a surface flipping\n * structure.  It is generally set by CreateSurface when the DDSCAPS_FLIP\n * capability bit is set.\n * If this capability is sent to CreateSurface then a standalonw front buffer\n * is created.  This surface will not have the DDSCAPS_FLIP capability.\n * It can be attached to other back buffers to form a flipping structure.\n * See AddAttachments for a detailed description of the behaviors in this\n * case.\n */\n#define DDSCAPS_FRONTBUFFER                     0x00000020l\n\n/*\n * Indicates that this surface is any offscreen surface that is not an overlay,\n * texture, zbuffer, front buffer, back buffer, or alpha surface.  It is used\n * to identify plain vanilla surfaces.\n */\n#define DDSCAPS_OFFSCREENPLAIN                  0x00000040l\n\n/*\n * Indicates that this surface is an overlay.  It may or may not be directly visible\n * depending on whether or not it is currently being overlayed onto the primary\n * surface.  DDSCAPS_VISIBLE can be used to determine whether or not it is being\n * overlayed at the moment.\n */\n#define DDSCAPS_OVERLAY                         0x00000080l\n\n/*\n * Indicates that unique DirectDrawPalette objects can be created and\n * attached to this surface.\n */\n#define DDSCAPS_PALETTE                         0x00000100l\n\n/*\n * Indicates that this surface is the primary surface.  The primary\n * surface represents what the user is seeing at the moment.\n */\n#define DDSCAPS_PRIMARYSURFACE                  0x00000200l\n\n\n/*\n * This flag used to be DDSCAPS_PRIMARYSURFACELEFT, which is now\n * obsolete.\n */\n#define DDSCAPS_RESERVED3               0x00000400l\n#define DDSCAPS_PRIMARYSURFACELEFT              0x00000000l\n\n/*\n * Indicates that this surface memory was allocated in system memory\n */\n#define DDSCAPS_SYSTEMMEMORY                    0x00000800l\n\n/*\n * Indicates that this surface can be used as a 3D texture.  It does not\n * indicate whether or not the surface is being used for that purpose.\n */\n#define DDSCAPS_TEXTURE                         0x00001000l\n\n/*\n * Indicates that a surface may be a destination for 3D rendering.  This\n * bit must be set in order to query for a Direct3D Device Interface\n * from this surface.\n */\n#define DDSCAPS_3DDEVICE                        0x00002000l\n\n/*\n * Indicates that this surface exists in video memory.\n */\n#define DDSCAPS_VIDEOMEMORY                     0x00004000l\n\n/*\n * Indicates that changes made to this surface are immediately visible.\n * It is always set for the primary surface and is set for overlays while\n * they are being overlayed and texture maps while they are being textured.\n */\n#define DDSCAPS_VISIBLE                         0x00008000l\n\n/*\n * Indicates that only writes are permitted to the surface.  Read accesses\n * from the surface may or may not generate a protection fault, but the\n * results of a read from this surface will not be meaningful.  READ ONLY.\n */\n#define DDSCAPS_WRITEONLY                       0x00010000l\n\n/*\n * Indicates that this surface is a z buffer. A z buffer does not contain\n * displayable information.  Instead it contains bit depth information that is\n * used to determine which pixels are visible and which are obscured.\n */\n#define DDSCAPS_ZBUFFER                         0x00020000l\n\n/*\n * Indicates surface will have a DC associated long term\n */\n#define DDSCAPS_OWNDC                           0x00040000l\n\n/*\n * Indicates surface should be able to receive live video\n */\n#define DDSCAPS_LIVEVIDEO                       0x00080000l\n\n/*\n * Indicates surface should be able to have a stream decompressed\n * to it by the hardware.\n */\n#define DDSCAPS_HWCODEC                         0x00100000l\n\n/*\n * Surface is a ModeX surface.\n *\n */\n#define DDSCAPS_MODEX                           0x00200000l\n\n/*\n * Indicates surface is one level of a mip-map. This surface will\n * be attached to other DDSCAPS_MIPMAP surfaces to form the mip-map.\n * This can be done explicitly, by creating a number of surfaces and\n * attaching them with AddAttachedSurface or by implicitly by CreateSurface.\n * If this bit is set then DDSCAPS_TEXTURE must also be set.\n */\n#define DDSCAPS_MIPMAP                          0x00400000l\n\n/*\n * This bit is reserved. It should not be specified.\n */\n#define DDSCAPS_RESERVED2                       0x00800000l\n\n\n/*\n * Indicates that memory for the surface is not allocated until the surface\n * is loaded (via the Direct3D texture Load() function).\n */\n#define DDSCAPS_ALLOCONLOAD                     0x04000000l\n\n/*\n * Indicates that the surface will recieve data from a video port.\n */\n#define DDSCAPS_VIDEOPORT                       0x08000000l\n\n/*\n * Indicates that a video memory surface is resident in true, local video\n * memory rather than non-local video memory. If this flag is specified then\n * so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with\n * DDSCAPS_NONLOCALVIDMEM.\n */\n#define DDSCAPS_LOCALVIDMEM                     0x10000000l\n\n/*\n * Indicates that a video memory surface is resident in non-local video\n * memory rather than true, local video memory. If this flag is specified\n * then so must DDSCAPS_VIDEOMEMORY. This flag is mutually exclusive with\n * DDSCAPS_LOCALVIDMEM.\n */\n#define DDSCAPS_NONLOCALVIDMEM                  0x20000000l\n\n/*\n * Indicates that this surface is a standard VGA mode surface, and not a\n * ModeX surface. (This flag will never be set in combination with the\n * DDSCAPS_MODEX flag).\n */\n#define DDSCAPS_STANDARDVGAMODE                 0x40000000l\n\n/*\n * Indicates that this surface will be an optimized surface. This flag is\n * currently only valid in conjunction with the DDSCAPS_TEXTURE flag. The surface\n * will be created without any underlying video memory until loaded.\n */\n#define DDSCAPS_OPTIMIZED                       0x80000000l\n\n\n\n/*\n * This bit is reserved\n */\n#define DDSCAPS2_RESERVED4                      0x00000002L\n#define DDSCAPS2_HARDWAREDEINTERLACE            0x00000000L\n\n/*\n * Indicates to the driver that this surface will be locked very frequently\n * (for procedural textures, dynamic lightmaps, etc). Surfaces with this cap\n * set must also have DDSCAPS_TEXTURE. This cap cannot be used with\n * DDSCAPS2_HINTSTATIC and DDSCAPS2_OPAQUE.\n */\n#define DDSCAPS2_HINTDYNAMIC                    0x00000004L\n\n/*\n * Indicates to the driver that this surface can be re-ordered/retiled on\n * load. This operation will not change the size of the texture. It is\n * relatively fast and symmetrical, since the application may lock these\n * bits (although it will take a performance hit when doing so). Surfaces\n * with this cap set must also have DDSCAPS_TEXTURE. This cap cannot be\n * used with DDSCAPS2_HINTDYNAMIC and DDSCAPS2_OPAQUE.\n */\n#define DDSCAPS2_HINTSTATIC                     0x00000008L\n\n/*\n * Indicates that the client would like this texture surface to be managed by the\n * DirectDraw/Direct3D runtime. Surfaces with this cap set must also have\n * DDSCAPS_TEXTURE set.\n */\n#define DDSCAPS2_TEXTUREMANAGE                  0x00000010L\n\n/*\n * These bits are reserved for internal use */\n#define DDSCAPS2_RESERVED1                      0x00000020L\n#define DDSCAPS2_RESERVED2                      0x00000040L\n\n/*\n * Indicates to the driver that this surface will never be locked again.\n * The driver is free to optimize this surface via retiling and actual compression.\n * All calls to Lock() or Blts from this surface will fail. Surfaces with this\n * cap set must also have DDSCAPS_TEXTURE. This cap cannot be used with\n * DDSCAPS2_HINTDYNAMIC and DDSCAPS2_HINTSTATIC.\n */\n#define DDSCAPS2_OPAQUE                         0x00000080L\n\n/*\n * Applications should set this bit at CreateSurface time to indicate that they\n * intend to use antialiasing. Only valid if DDSCAPS_3DDEVICE is also set.\n */\n#define DDSCAPS2_HINTANTIALIASING               0x00000100L\n\n\n/*\n * This flag is used at CreateSurface time to indicate that this set of\n * surfaces is a cubic environment map\n */\n#define DDSCAPS2_CUBEMAP                        0x00000200L\n\n/*\n * These flags preform two functions:\n * - At CreateSurface time, they define which of the six cube faces are\n *   required by the application.\n * - After creation, each face in the cubemap will have exactly one of these\n *   bits set.\n */\n#define DDSCAPS2_CUBEMAP_POSITIVEX              0x00000400L\n#define DDSCAPS2_CUBEMAP_NEGATIVEX              0x00000800L\n#define DDSCAPS2_CUBEMAP_POSITIVEY              0x00001000L\n#define DDSCAPS2_CUBEMAP_NEGATIVEY              0x00002000L\n#define DDSCAPS2_CUBEMAP_POSITIVEZ              0x00004000L\n#define DDSCAPS2_CUBEMAP_NEGATIVEZ              0x00008000L\n\n/*\n * This macro may be used to specify all faces of a cube map at CreateSurface time\n */\n#define DDSCAPS2_CUBEMAP_ALLFACES ( DDSCAPS2_CUBEMAP_POSITIVEX |\\\n                                    DDSCAPS2_CUBEMAP_NEGATIVEX |\\\n                                    DDSCAPS2_CUBEMAP_POSITIVEY |\\\n                                    DDSCAPS2_CUBEMAP_NEGATIVEY |\\\n                                    DDSCAPS2_CUBEMAP_POSITIVEZ |\\\n                                    DDSCAPS2_CUBEMAP_NEGATIVEZ )\n\n\n/*\n * This flag is an additional flag which is present on mipmap sublevels from DX7 onwards\n * It enables easier use of GetAttachedSurface rather than EnumAttachedSurfaces for surface\n * constructs such as Cube Maps, wherein there are more than one mipmap surface attached\n * to the root surface.\n * This caps bit is ignored by CreateSurface\n */\n#define DDSCAPS2_MIPMAPSUBLEVEL                 0x00010000L\n\n/* This flag indicates that the texture should be managed by D3D only */\n#define DDSCAPS2_D3DTEXTUREMANAGE               0x00020000L\n\n/* This flag indicates that the managed surface can be safely lost */\n#define DDSCAPS2_DONOTPERSIST                   0x00040000L\n\n/* indicates that this surface is part of a stereo flipping chain */\n#define DDSCAPS2_STEREOSURFACELEFT              0x00080000L\n\n\n/*\n * Indicates that the surface is a volume.\n * Can be combined with DDSCAPS_MIPMAP to indicate a multi-level volume\n */\n#define DDSCAPS2_VOLUME                         0x00200000L\n\n/*\n * Indicates that the surface may be locked multiple times by the application.\n * This cap cannot be used with DDSCAPS2_OPAQUE.\n */\n#define DDSCAPS2_NOTUSERLOCKABLE                0x00400000L\n\n/*\n * Indicates that the vertex buffer data can be used to render points and\n * point sprites.\n */\n#define DDSCAPS2_POINTS                         0x00800000L\n\n/*\n * Indicates that the vertex buffer data can be used to render rt pactches.\n */\n#define DDSCAPS2_RTPATCHES                      0x01000000L\n\n/*\n * Indicates that the vertex buffer data can be used to render n patches.\n */\n#define DDSCAPS2_NPATCHES                       0x02000000L\n\n/*\n * This bit is reserved for internal use \n */\n#define DDSCAPS2_RESERVED3                      0x04000000L\n\n\n/*\n * Indicates that the contents of the backbuffer do not have to be preserved\n * the contents of the backbuffer after they are presented.\n */\n#define DDSCAPS2_DISCARDBACKBUFFER              0x10000000L\n\n/*\n * Indicates that all surfaces in this creation chain should be given an alpha channel.\n * This flag will be set on primary surface chains that may have no explicit pixel format\n * (and thus take on the format of the current display mode).\n * The driver should infer that all these surfaces have a format having an alpha channel.\n * (e.g. assume D3DFMT_A8R8G8B8 if the display mode is x888.)\n */\n#define DDSCAPS2_ENABLEALPHACHANNEL             0x20000000L\n\n/*\n * Indicates that all surfaces in this creation chain is extended primary surface format.\n * This flag will be set on extended primary surface chains that always have explicit pixel\n * format and the pixel format is typically GDI (Graphics Device Interface) couldn't handle,\n * thus only used with fullscreen application. (e.g. D3DFMT_A2R10G10B10 format)\n */\n#define DDSCAPS2_EXTENDEDFORMATPRIMARY          0x40000000L\n\n/*\n * Indicates that all surfaces in this creation chain is additional primary surface.\n * This flag will be set on primary surface chains which must present on the adapter\n * id provided on dwCaps4. Typically this will be used to create secondary primary surface\n * on DualView display adapter.\n */\n#define DDSCAPS2_ADDITIONALPRIMARY              0x80000000L\n\n/*\n * This is a mask that indicates the set of bits that may be set\n * at createsurface time to indicate number of samples per pixel\n * when multisampling\n */\n#define DDSCAPS3_MULTISAMPLE_MASK               0x0000001FL\n\n/*\n * This is a mask that indicates the set of bits that may be set\n * at createsurface time to indicate the quality level of rendering\n * for the current number of samples per pixel\n */\n#define DDSCAPS3_MULTISAMPLE_QUALITY_MASK       0x000000E0L\n#define DDSCAPS3_MULTISAMPLE_QUALITY_SHIFT      5\n\n/*\n * This bit is reserved for internal use \n */\n#define DDSCAPS3_RESERVED1                      0x00000100L\n\n/*\n * This bit is reserved for internal use \n */\n#define DDSCAPS3_RESERVED2                      0x00000200L\n\n/*\n * This indicates whether this surface has light-weight miplevels\n */\n#define DDSCAPS3_LIGHTWEIGHTMIPMAP              0x00000400L\n\n/*\n * This indicates that the mipsublevels for this surface are auto-generated\n */\n#define DDSCAPS3_AUTOGENMIPMAP                  0x00000800L\n\n/*\n * This indicates that the mipsublevels for this surface are auto-generated\n */\n#define DDSCAPS3_DMAP                           0x00001000L\n\n\n /****************************************************************************\n *\n * DIRECTDRAW DRIVER CAPABILITY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Display hardware has 3D acceleration.\n */\n#define DDCAPS_3D                       0x00000001l\n\n/*\n * Indicates that DirectDraw will support only dest rectangles that are aligned\n * on DIRECTDRAWCAPS.dwAlignBoundaryDest boundaries of the surface, respectively.\n * READ ONLY.\n */\n#define DDCAPS_ALIGNBOUNDARYDEST        0x00000002l\n\n/*\n * Indicates that DirectDraw will support only source rectangles  whose sizes in\n * BYTEs are DIRECTDRAWCAPS.dwAlignSizeDest multiples, respectively.  READ ONLY.\n */\n#define DDCAPS_ALIGNSIZEDEST            0x00000004l\n/*\n * Indicates that DirectDraw will support only source rectangles that are aligned\n * on DIRECTDRAWCAPS.dwAlignBoundarySrc boundaries of the surface, respectively.\n * READ ONLY.\n */\n#define DDCAPS_ALIGNBOUNDARYSRC         0x00000008l\n\n/*\n * Indicates that DirectDraw will support only source rectangles  whose sizes in\n * BYTEs are DIRECTDRAWCAPS.dwAlignSizeSrc multiples, respectively.  READ ONLY.\n */\n#define DDCAPS_ALIGNSIZESRC             0x00000010l\n\n/*\n * Indicates that DirectDraw will create video memory surfaces that have a stride\n * alignment equal to DIRECTDRAWCAPS.dwAlignStride.  READ ONLY.\n */\n#define DDCAPS_ALIGNSTRIDE              0x00000020l\n\n/*\n * Display hardware is capable of blt operations.\n */\n#define DDCAPS_BLT                      0x00000040l\n\n/*\n * Display hardware is capable of asynchronous blt operations.\n */\n#define DDCAPS_BLTQUEUE                 0x00000080l\n\n/*\n * Display hardware is capable of color space conversions during the blt operation.\n */\n#define DDCAPS_BLTFOURCC                0x00000100l\n\n/*\n * Display hardware is capable of stretching during blt operations.\n */\n#define DDCAPS_BLTSTRETCH               0x00000200l\n\n/*\n * Display hardware is shared with GDI.\n */\n#define DDCAPS_GDI                      0x00000400l\n\n/*\n * Display hardware can overlay.\n */\n#define DDCAPS_OVERLAY                  0x00000800l\n\n/*\n * Set if display hardware supports overlays but can not clip them.\n */\n#define DDCAPS_OVERLAYCANTCLIP          0x00001000l\n\n/*\n * Indicates that overlay hardware is capable of color space conversions during\n * the overlay operation.\n */\n#define DDCAPS_OVERLAYFOURCC            0x00002000l\n\n/*\n * Indicates that stretching can be done by the overlay hardware.\n */\n#define DDCAPS_OVERLAYSTRETCH           0x00004000l\n\n/*\n * Indicates that unique DirectDrawPalettes can be created for DirectDrawSurfaces\n * other than the primary surface.\n */\n#define DDCAPS_PALETTE                  0x00008000l\n\n/*\n * Indicates that palette changes can be syncd with the veritcal refresh.\n */\n#define DDCAPS_PALETTEVSYNC             0x00010000l\n\n/*\n * Display hardware can return the current scan line.\n */\n#define DDCAPS_READSCANLINE             0x00020000l\n\n\n/*\n * This flag used to bo DDCAPS_STEREOVIEW, which is now obsolete\n */\n#define DDCAPS_RESERVED1                0x00040000l\n\n/*\n * Display hardware is capable of generating a vertical blank interrupt.\n */\n#define DDCAPS_VBI                      0x00080000l\n\n/*\n * Supports the use of z buffers with blt operations.\n */\n#define DDCAPS_ZBLTS                    0x00100000l\n\n/*\n * Supports Z Ordering of overlays.\n */\n#define DDCAPS_ZOVERLAYS                0x00200000l\n\n/*\n * Supports color key\n */\n#define DDCAPS_COLORKEY                 0x00400000l\n\n/*\n * Supports alpha surfaces\n */\n#define DDCAPS_ALPHA                    0x00800000l\n\n/*\n * colorkey is hardware assisted(DDCAPS_COLORKEY will also be set)\n */\n#define DDCAPS_COLORKEYHWASSIST         0x01000000l\n\n/*\n * no hardware support at all\n */\n#define DDCAPS_NOHARDWARE               0x02000000l\n\n/*\n * Display hardware is capable of color fill with bltter\n */\n#define DDCAPS_BLTCOLORFILL             0x04000000l\n\n/*\n * Display hardware is bank switched, and potentially very slow at\n * random access to VRAM.\n */\n#define DDCAPS_BANKSWITCHED             0x08000000l\n\n/*\n * Display hardware is capable of depth filling Z-buffers with bltter\n */\n#define DDCAPS_BLTDEPTHFILL             0x10000000l\n\n/*\n * Display hardware is capable of clipping while bltting.\n */\n#define DDCAPS_CANCLIP                  0x20000000l\n\n/*\n * Display hardware is capable of clipping while stretch bltting.\n */\n#define DDCAPS_CANCLIPSTRETCHED         0x40000000l\n\n/*\n * Display hardware is capable of bltting to or from system memory\n */\n#define DDCAPS_CANBLTSYSMEM             0x80000000l\n\n\n /****************************************************************************\n *\n * MORE DIRECTDRAW DRIVER CAPABILITY FLAGS (dwCaps2)\n *\n ****************************************************************************/\n\n/*\n * Display hardware is certified\n */\n#define DDCAPS2_CERTIFIED              0x00000001l\n\n/*\n * Driver cannot interleave 2D operations (lock and blt) to surfaces with\n * Direct3D rendering operations between calls to BeginScene() and EndScene()\n */\n#define DDCAPS2_NO2DDURING3DSCENE       0x00000002l\n\n/*\n * Display hardware contains a video port\n */\n#define DDCAPS2_VIDEOPORT               0x00000004l\n\n/*\n * The overlay can be automatically flipped according to the video port\n * VSYNCs, providing automatic doubled buffered display of video port\n * data using an overlay\n */\n#define DDCAPS2_AUTOFLIPOVERLAY         0x00000008l\n\n/*\n * Overlay can display each field of interlaced data individually while\n * it is interleaved in memory without causing jittery artifacts.\n */\n#define DDCAPS2_CANBOBINTERLEAVED       0x00000010l\n\n/*\n * Overlay can display each field of interlaced data individually while\n * it is not interleaved in memory without causing jittery artifacts.\n */\n#define DDCAPS2_CANBOBNONINTERLEAVED    0x00000020l\n\n/*\n * The overlay surface contains color controls (brightness, sharpness, etc.)\n */\n#define DDCAPS2_COLORCONTROLOVERLAY     0x00000040l\n\n/*\n * The primary surface contains color controls (gamma, etc.)\n */\n#define DDCAPS2_COLORCONTROLPRIMARY     0x00000080l\n\n/*\n * RGBZ -> RGB supported for 16:16 RGB:Z\n */\n#define DDCAPS2_CANDROPZ16BIT           0x00000100l\n\n/*\n * Driver supports non-local video memory.\n */\n#define DDCAPS2_NONLOCALVIDMEM          0x00000200l\n\n/*\n * Dirver supports non-local video memory but has different capabilities for\n * non-local video memory surfaces. If this bit is set then so must\n * DDCAPS2_NONLOCALVIDMEM.\n */\n#define DDCAPS2_NONLOCALVIDMEMCAPS      0x00000400l\n\n/*\n * Driver neither requires nor prefers surfaces to be pagelocked when performing\n * blts involving system memory surfaces\n */\n#define DDCAPS2_NOPAGELOCKREQUIRED      0x00000800l\n\n/*\n * Driver can create surfaces which are wider than the primary surface\n */\n#define DDCAPS2_WIDESURFACES            0x00001000l\n\n/*\n * Driver supports bob without using a video port by handling the\n * DDFLIP_ODD and DDFLIP_EVEN flags specified in Flip.\n */\n#define DDCAPS2_CANFLIPODDEVEN          0x00002000l\n\n/*\n * Driver supports bob using hardware\n */\n#define DDCAPS2_CANBOBHARDWARE          0x00004000l\n\n/*\n * Driver supports bltting any FOURCC surface to another surface of the same FOURCC\n */\n#define DDCAPS2_COPYFOURCC              0x00008000l\n\n\n/*\n * Driver supports loadable gamma ramps for the primary surface\n */\n#define DDCAPS2_PRIMARYGAMMA            0x00020000l\n\n/*\n * Driver can render in windowed mode.\n */\n#define DDCAPS2_CANRENDERWINDOWED       0x00080000l\n\n/*\n * A calibrator is available to adjust the gamma ramp according to the\n * physical display properties so that the result will be identical on\n * all calibrated systems.\n */\n#define DDCAPS2_CANCALIBRATEGAMMA       0x00100000l\n\n/*\n * Indicates that the driver will respond to DDFLIP_INTERVALn flags\n */\n#define DDCAPS2_FLIPINTERVAL            0x00200000l\n\n/*\n * Indicates that the driver will respond to DDFLIP_NOVSYNC\n */\n#define DDCAPS2_FLIPNOVSYNC             0x00400000l\n\n/*\n * Driver supports management of video memory, if this flag is ON,\n * driver manages the texture if requested with DDSCAPS2_TEXTUREMANAGE on\n * DirectX manages the texture if this flag is OFF and surface has DDSCAPS2_TEXTUREMANAGE on\n */\n#define DDCAPS2_CANMANAGETEXTURE        0x00800000l\n\n/*\n * The Direct3D texture manager uses this cap to decide whether to put managed\n * surfaces in non-local video memory. If the cap is set, the texture manager will\n * put managed surfaces in non-local vidmem. Drivers that cannot texture from\n * local vidmem SHOULD NOT set this cap.\n */\n#define DDCAPS2_TEXMANINNONLOCALVIDMEM  0x01000000l\n\n/*\n * Indicates that the driver supports DX7 type of stereo in at least one mode (which may\n * not necessarily be the current mode). Applications should use IDirectDraw7 (or higher)\n * ::EnumDisplayModes and check the DDSURFACEDESC.ddsCaps.dwCaps2 field for the presence of\n * DDSCAPS2_STEREOSURFACELEFT to check if a particular mode supports stereo. The application\n * can also use IDirectDraw7(or higher)::GetDisplayMode to check the current mode.\n */\n#define DDCAPS2_STEREO                  0x02000000L\n\n/*\n * This caps bit is intended for internal DirectDraw use.\n * -It is only valid if DDCAPS2_NONLOCALVIDMEMCAPS is set.\n * -If this bit is set, then DDCAPS_CANBLTSYSMEM MUST be set by the driver (and\n *  all the assoicated system memory blt caps must be correct).\n * -It implies that the system->video blt caps in DDCAPS also apply to system to\n *  nonlocal blts. I.e. the dwSVBCaps, dwSVBCKeyCaps, dwSVBFXCaps and dwSVBRops\n *  members of DDCAPS (DDCORECAPS) are filled in correctly.\n * -Any blt from system to nonlocal memory that matches these caps bits will\n *  be passed to the driver.\n *\n * NOTE: This is intended to enable the driver itself to do efficient reordering\n * of textures. This is NOT meant to imply that hardware can write into AGP memory.\n * This operation is not currently supported.\n */\n#define DDCAPS2_SYSTONONLOCAL_AS_SYSTOLOCAL   0x04000000L\n\n/*\n * was DDCAPS2_PUREHAL\n */\n#define DDCAPS2_RESERVED1                     0x08000000L\n\n/*\n * Driver supports management of video memory, if this flag is ON,\n * driver manages the resource if requested with DDSCAPS2_TEXTUREMANAGE on\n * DirectX manages the resource if this flag is OFF and surface has DDSCAPS2_TEXTUREMANAGE on\n */\n#define DDCAPS2_CANMANAGERESOURCE             0x10000000L\n\n/*\n * Driver supports dynamic textures. This will allow the application to set\n * D3DUSAGE_DYNAMIC (DDSCAPS2_HINTDYNAMIC for drivers) at texture create time.\n * Video memory dynamic textures WILL be lockable by applications. It is\n * expected that these locks will be very efficient (which implies that the\n * driver should always maintain a linear copy, a pointer to which can be\n * quickly handed out to the application).\n */\n#define DDCAPS2_DYNAMICTEXTURES               0x20000000L\n\n/*\n * Driver supports auto-generation of mipmaps.\n */\n#define DDCAPS2_CANAUTOGENMIPMAP              0x40000000L\n\n\n/****************************************************************************\n *\n * DIRECTDRAW FX ALPHA CAPABILITY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Supports alpha blending around the edge of a source color keyed surface.\n * For Blt.\n */\n#define DDFXALPHACAPS_BLTALPHAEDGEBLEND         0x00000001l\n\n/*\n * Supports alpha information in the pixel format.  The bit depth of alpha\n * information in the pixel format can be 1,2,4, or 8.  The alpha value becomes\n * more opaque as the alpha value increases.  (0 is transparent.)\n * For Blt.\n */\n#define DDFXALPHACAPS_BLTALPHAPIXELS            0x00000002l\n\n/*\n * Supports alpha information in the pixel format.  The bit depth of alpha\n * information in the pixel format can be 1,2,4, or 8.  The alpha value\n * becomes more transparent as the alpha value increases.  (0 is opaque.)\n * This flag can only be set if DDCAPS_ALPHA is set.\n * For Blt.\n */\n#define DDFXALPHACAPS_BLTALPHAPIXELSNEG         0x00000004l\n\n/*\n * Supports alpha only surfaces.  The bit depth of an alpha only surface can be\n * 1,2,4, or 8.  The alpha value becomes more opaque as the alpha value increases.\n * (0 is transparent.)\n * For Blt.\n */\n#define DDFXALPHACAPS_BLTALPHASURFACES          0x00000008l\n\n/*\n * The depth of the alpha channel data can range can be 1,2,4, or 8.\n * The NEG suffix indicates that this alpha channel becomes more transparent\n * as the alpha value increases. (0 is opaque.)  This flag can only be set if\n * DDCAPS_ALPHA is set.\n * For Blt.\n */\n#define DDFXALPHACAPS_BLTALPHASURFACESNEG       0x00000010l\n\n/*\n * Supports alpha blending around the edge of a source color keyed surface.\n * For Overlays.\n */\n#define DDFXALPHACAPS_OVERLAYALPHAEDGEBLEND     0x00000020l\n\n/*\n * Supports alpha information in the pixel format.  The bit depth of alpha\n * information in the pixel format can be 1,2,4, or 8.  The alpha value becomes\n * more opaque as the alpha value increases.  (0 is transparent.)\n * For Overlays.\n */\n#define DDFXALPHACAPS_OVERLAYALPHAPIXELS        0x00000040l\n\n/*\n * Supports alpha information in the pixel format.  The bit depth of alpha\n * information in the pixel format can be 1,2,4, or 8.  The alpha value\n * becomes more transparent as the alpha value increases.  (0 is opaque.)\n * This flag can only be set if DDCAPS_ALPHA is set.\n * For Overlays.\n */\n#define DDFXALPHACAPS_OVERLAYALPHAPIXELSNEG     0x00000080l\n\n/*\n * Supports alpha only surfaces.  The bit depth of an alpha only surface can be\n * 1,2,4, or 8.  The alpha value becomes more opaque as the alpha value increases.\n * (0 is transparent.)\n * For Overlays.\n */\n#define DDFXALPHACAPS_OVERLAYALPHASURFACES      0x00000100l\n\n/*\n * The depth of the alpha channel data can range can be 1,2,4, or 8.\n * The NEG suffix indicates that this alpha channel becomes more transparent\n * as the alpha value increases. (0 is opaque.)  This flag can only be set if\n * DDCAPS_ALPHA is set.\n * For Overlays.\n */\n#define DDFXALPHACAPS_OVERLAYALPHASURFACESNEG   0x00000200l\n\n#if DIRECTDRAW_VERSION < 0x0600\n#endif  //DIRECTDRAW_VERSION\n\n\n/****************************************************************************\n *\n * DIRECTDRAW FX CAPABILITY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Uses arithmetic operations to stretch and shrink surfaces during blt\n * rather than pixel doubling techniques.  Along the Y axis.\n */\n#define DDFXCAPS_BLTARITHSTRETCHY       0x00000020l\n\n/*\n * Uses arithmetic operations to stretch during blt\n * rather than pixel doubling techniques.  Along the Y axis. Only\n * works for x1, x2, etc.\n */\n#define DDFXCAPS_BLTARITHSTRETCHYN      0x00000010l\n\n/*\n * Supports mirroring left to right in blt.\n */\n#define DDFXCAPS_BLTMIRRORLEFTRIGHT     0x00000040l\n\n/*\n * Supports mirroring top to bottom in blt.\n */\n#define DDFXCAPS_BLTMIRRORUPDOWN        0x00000080l\n\n/*\n * Supports arbitrary rotation for blts.\n */\n#define DDFXCAPS_BLTROTATION            0x00000100l\n\n/*\n * Supports 90 degree rotations for blts.\n */\n#define DDFXCAPS_BLTROTATION90          0x00000200l\n\n/*\n * DirectDraw supports arbitrary shrinking of a surface along the\n * x axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSHRINKX             0x00000400l\n\n/*\n * DirectDraw supports integer shrinking (1x,2x,) of a surface\n * along the x axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSHRINKXN            0x00000800l\n\n/*\n * DirectDraw supports arbitrary shrinking of a surface along the\n * y axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSHRINKY             0x00001000l\n\n/*\n * DirectDraw supports integer shrinking (1x,2x,) of a surface\n * along the y axis (vertical direction) for blts.\n */\n#define DDFXCAPS_BLTSHRINKYN            0x00002000l\n\n/*\n * DirectDraw supports arbitrary stretching of a surface along the\n * x axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSTRETCHX            0x00004000l\n\n/*\n * DirectDraw supports integer stretching (1x,2x,) of a surface\n * along the x axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSTRETCHXN           0x00008000l\n\n/*\n * DirectDraw supports arbitrary stretching of a surface along the\n * y axis (horizontal direction) for blts.\n */\n#define DDFXCAPS_BLTSTRETCHY            0x00010000l\n\n/*\n * DirectDraw supports integer stretching (1x,2x,) of a surface\n * along the y axis (vertical direction) for blts.\n */\n#define DDFXCAPS_BLTSTRETCHYN           0x00020000l\n\n/*\n * Uses arithmetic operations to stretch and shrink surfaces during\n * overlay rather than pixel doubling techniques.  Along the Y axis\n * for overlays.\n */\n#define DDFXCAPS_OVERLAYARITHSTRETCHY   0x00040000l\n\n/*\n * Uses arithmetic operations to stretch surfaces during\n * overlay rather than pixel doubling techniques.  Along the Y axis\n * for overlays. Only works for x1, x2, etc.\n */\n#define DDFXCAPS_OVERLAYARITHSTRETCHYN  0x00000008l\n\n/*\n * DirectDraw supports arbitrary shrinking of a surface along the\n * x axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSHRINKX         0x00080000l\n\n/*\n * DirectDraw supports integer shrinking (1x,2x,) of a surface\n * along the x axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSHRINKXN        0x00100000l\n\n/*\n * DirectDraw supports arbitrary shrinking of a surface along the\n * y axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSHRINKY         0x00200000l\n\n/*\n * DirectDraw supports integer shrinking (1x,2x,) of a surface\n * along the y axis (vertical direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSHRINKYN        0x00400000l\n\n/*\n * DirectDraw supports arbitrary stretching of a surface along the\n * x axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSTRETCHX        0x00800000l\n\n/*\n * DirectDraw supports integer stretching (1x,2x,) of a surface\n * along the x axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSTRETCHXN       0x01000000l\n\n/*\n * DirectDraw supports arbitrary stretching of a surface along the\n * y axis (horizontal direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSTRETCHY        0x02000000l\n\n/*\n * DirectDraw supports integer stretching (1x,2x,) of a surface\n * along the y axis (vertical direction) for overlays.\n */\n#define DDFXCAPS_OVERLAYSTRETCHYN       0x04000000l\n\n/*\n * DirectDraw supports mirroring of overlays across the vertical axis\n */\n#define DDFXCAPS_OVERLAYMIRRORLEFTRIGHT 0x08000000l\n\n/*\n * DirectDraw supports mirroring of overlays across the horizontal axis\n */\n#define DDFXCAPS_OVERLAYMIRRORUPDOWN    0x10000000l\n\n/*\n * DirectDraw supports deinterlacing of overlay surfaces\n */\n#define DDFXCAPS_OVERLAYDEINTERLACE\t\t0x20000000l\n\n/*\n * Driver can do alpha blending for blits.\n */\n#define DDFXCAPS_BLTALPHA               0x00000001l\n\n\n/*\n * Driver can do surface-reconstruction filtering for warped blits.\n */\n#define DDFXCAPS_BLTFILTER              DDFXCAPS_BLTARITHSTRETCHY\n\n/*\n * Driver can do alpha blending for overlays.\n */\n#define DDFXCAPS_OVERLAYALPHA           0x00000004l\n\n\n/*\n * Driver can do surface-reconstruction filtering for warped overlays.\n */\n#define DDFXCAPS_OVERLAYFILTER          DDFXCAPS_OVERLAYARITHSTRETCHY\n\n/****************************************************************************\n *\n * DIRECTDRAW STEREO VIEW CAPABILITIES\n *\n ****************************************************************************/\n\n/*\n * This flag used to be DDSVCAPS_ENIGMA, which is now obsolete\n */\n\n#define DDSVCAPS_RESERVED1              0x00000001l\n\n/*\n * This flag used to be DDSVCAPS_FLICKER, which is now obsolete\n */\n#define DDSVCAPS_RESERVED2              0x00000002l\n\n/*\n * This flag used to be DDSVCAPS_REDBLUE, which is now obsolete\n */\n#define DDSVCAPS_RESERVED3              0x00000004l\n\n/*\n * This flag used to be DDSVCAPS_SPLIT, which is now obsolete\n */\n#define DDSVCAPS_RESERVED4              0x00000008l\n\n/*\n * The stereo view is accomplished with switching technology\n */\n\n#define DDSVCAPS_STEREOSEQUENTIAL       0x00000010L\n\n\n\n/****************************************************************************\n *\n * DIRECTDRAWPALETTE CAPABILITIES\n *\n ****************************************************************************/\n\n/*\n * Index is 4 bits.  There are sixteen color entries in the palette table.\n */\n#define DDPCAPS_4BIT                    0x00000001l\n\n/*\n * Index is onto a 8 bit color index.  This field is only valid with the\n * DDPCAPS_1BIT, DDPCAPS_2BIT or DDPCAPS_4BIT capability and the target\n * surface is in 8bpp. Each color entry is one byte long and is an index\n * into destination surface's 8bpp palette.\n */\n#define DDPCAPS_8BITENTRIES             0x00000002l\n\n/*\n * Index is 8 bits.  There are 256 color entries in the palette table.\n */\n#define DDPCAPS_8BIT                    0x00000004l\n\n/*\n * Indicates that this DIRECTDRAWPALETTE should use the palette color array\n * passed into the lpDDColorArray parameter to initialize the DIRECTDRAWPALETTE\n * object.\n * This flag is obsolete. DirectDraw always initializes the color array from\n * the lpDDColorArray parameter. The definition remains for source-level\n * compatibility.\n */\n#define DDPCAPS_INITIALIZE              0x00000000l\n\n/*\n * This palette is the one attached to the primary surface.  Changing this\n * table has immediate effect on the display unless DDPSETPAL_VSYNC is specified\n * and supported.\n */\n#define DDPCAPS_PRIMARYSURFACE          0x00000010l\n\n/*\n * This palette is the one attached to the primary surface left.  Changing\n * this table has immediate effect on the display for the left eye unless\n * DDPSETPAL_VSYNC is specified and supported.\n */\n#define DDPCAPS_PRIMARYSURFACELEFT      0x00000020l\n\n/*\n * This palette can have all 256 entries defined\n */\n#define DDPCAPS_ALLOW256                0x00000040l\n\n/*\n * This palette can have modifications to it synced with the monitors\n * refresh rate.\n */\n#define DDPCAPS_VSYNC                   0x00000080l\n\n/*\n * Index is 1 bit.  There are two color entries in the palette table.\n */\n#define DDPCAPS_1BIT                    0x00000100l\n\n/*\n * Index is 2 bit.  There are four color entries in the palette table.\n */\n#define DDPCAPS_2BIT                    0x00000200l\n\n/*\n * The peFlags member of PALETTEENTRY denotes an 8 bit alpha value\n */\n#define DDPCAPS_ALPHA                   0x00000400l\n\n\n/****************************************************************************\n *\n * DIRECTDRAWPALETTE SETENTRY CONSTANTS\n *\n ****************************************************************************/\n\n\n/****************************************************************************\n *\n * DIRECTDRAWPALETTE GETENTRY CONSTANTS\n *\n ****************************************************************************/\n\n/* 0 is the only legal value */\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE SETPRIVATEDATA CONSTANTS\n *\n ****************************************************************************/\n\n/*\n * The passed pointer is an IUnknown ptr. The cbData argument to SetPrivateData\n * must be set to sizeof(IUnknown*). DirectDraw will call AddRef through this\n * pointer and Release when the private data is destroyed. This includes when\n * the surface or palette is destroyed before such priovate data is destroyed.\n */\n#define DDSPD_IUNKNOWNPOINTER           0x00000001L\n\n/*\n * Private data is only valid for the current state of the object,\n * as determined by the uniqueness value.\n */\n#define DDSPD_VOLATILE                  0x00000002L\n\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE SETPALETTE CONSTANTS\n *\n ****************************************************************************/\n\n\n/****************************************************************************\n *\n * DIRECTDRAW BITDEPTH CONSTANTS\n *\n * NOTE:  These are only used to indicate supported bit depths.   These\n * are flags only, they are not to be used as an actual bit depth.   The\n * absolute numbers 1, 2, 4, 8, 16, 24 and 32 are used to indicate actual\n * bit depths in a surface or for changing the display mode.\n *\n ****************************************************************************/\n\n/*\n * 1 bit per pixel.\n */\n#define DDBD_1                  0x00004000l\n\n/*\n * 2 bits per pixel.\n */\n#define DDBD_2                  0x00002000l\n\n/*\n * 4 bits per pixel.\n */\n#define DDBD_4                  0x00001000l\n\n/*\n * 8 bits per pixel.\n */\n#define DDBD_8                  0x00000800l\n\n/*\n * 16 bits per pixel.\n */\n#define DDBD_16                 0x00000400l\n\n/*\n * 24 bits per pixel.\n */\n#define DDBD_24                 0X00000200l\n\n/*\n * 32 bits per pixel.\n */\n#define DDBD_32                 0x00000100l\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE SET/GET COLOR KEY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Set if the structure contains a color space.  Not set if the structure\n * contains a single color key.\n */\n#define DDCKEY_COLORSPACE       0x00000001l\n\n/*\n * Set if the structure specifies a color key or color space which is to be\n * used as a destination color key for blt operations.\n */\n#define DDCKEY_DESTBLT          0x00000002l\n\n/*\n * Set if the structure specifies a color key or color space which is to be\n * used as a destination color key for overlay operations.\n */\n#define DDCKEY_DESTOVERLAY      0x00000004l\n\n/*\n * Set if the structure specifies a color key or color space which is to be\n * used as a source color key for blt operations.\n */\n#define DDCKEY_SRCBLT           0x00000008l\n\n/*\n * Set if the structure specifies a color key or color space which is to be\n * used as a source color key for overlay operations.\n */\n#define DDCKEY_SRCOVERLAY       0x00000010l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW COLOR KEY CAPABILITY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Supports transparent blting using a color key to identify the replaceable\n * bits of the destination surface for RGB colors.\n */\n#define DDCKEYCAPS_DESTBLT                      0x00000001l\n\n/*\n * Supports transparent blting using a color space to identify the replaceable\n * bits of the destination surface for RGB colors.\n */\n#define DDCKEYCAPS_DESTBLTCLRSPACE              0x00000002l\n\n/*\n * Supports transparent blting using a color space to identify the replaceable\n * bits of the destination surface for YUV colors.\n */\n#define DDCKEYCAPS_DESTBLTCLRSPACEYUV           0x00000004l\n\n/*\n * Supports transparent blting using a color key to identify the replaceable\n * bits of the destination surface for YUV colors.\n */\n#define DDCKEYCAPS_DESTBLTYUV                   0x00000008l\n\n/*\n * Supports overlaying using colorkeying of the replaceable bits of the surface\n * being overlayed for RGB colors.\n */\n#define DDCKEYCAPS_DESTOVERLAY                  0x00000010l\n\n/*\n * Supports a color space as the color key for the destination for RGB colors.\n */\n#define DDCKEYCAPS_DESTOVERLAYCLRSPACE          0x00000020l\n\n/*\n * Supports a color space as the color key for the destination for YUV colors.\n */\n#define DDCKEYCAPS_DESTOVERLAYCLRSPACEYUV       0x00000040l\n\n/*\n * Supports only one active destination color key value for visible overlay\n * surfaces.\n */\n#define DDCKEYCAPS_DESTOVERLAYONEACTIVE         0x00000080l\n\n/*\n * Supports overlaying using colorkeying of the replaceable bits of the\n * surface being overlayed for YUV colors.\n */\n#define DDCKEYCAPS_DESTOVERLAYYUV               0x00000100l\n\n/*\n * Supports transparent blting using the color key for the source with\n * this surface for RGB colors.\n */\n#define DDCKEYCAPS_SRCBLT                       0x00000200l\n\n/*\n * Supports transparent blting using a color space for the source with\n * this surface for RGB colors.\n */\n#define DDCKEYCAPS_SRCBLTCLRSPACE               0x00000400l\n\n/*\n * Supports transparent blting using a color space for the source with\n * this surface for YUV colors.\n */\n#define DDCKEYCAPS_SRCBLTCLRSPACEYUV            0x00000800l\n\n/*\n * Supports transparent blting using the color key for the source with\n * this surface for YUV colors.\n */\n#define DDCKEYCAPS_SRCBLTYUV                    0x00001000l\n\n/*\n * Supports overlays using the color key for the source with this\n * overlay surface for RGB colors.\n */\n#define DDCKEYCAPS_SRCOVERLAY                   0x00002000l\n\n/*\n * Supports overlays using a color space as the source color key for\n * the overlay surface for RGB colors.\n */\n#define DDCKEYCAPS_SRCOVERLAYCLRSPACE           0x00004000l\n\n/*\n * Supports overlays using a color space as the source color key for\n * the overlay surface for YUV colors.\n */\n#define DDCKEYCAPS_SRCOVERLAYCLRSPACEYUV        0x00008000l\n\n/*\n * Supports only one active source color key value for visible\n * overlay surfaces.\n */\n#define DDCKEYCAPS_SRCOVERLAYONEACTIVE          0x00010000l\n\n/*\n * Supports overlays using the color key for the source with this\n * overlay surface for YUV colors.\n */\n#define DDCKEYCAPS_SRCOVERLAYYUV                0x00020000l\n\n/*\n * there are no bandwidth trade-offs for using colorkey with an overlay\n */\n#define DDCKEYCAPS_NOCOSTOVERLAY                0x00040000l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW PIXELFORMAT FLAGS\n *\n ****************************************************************************/\n\n/*\n * The surface has alpha channel information in the pixel format.\n */\n#define DDPF_ALPHAPIXELS                        0x00000001l\n\n/*\n * The pixel format contains alpha only information\n */\n#define DDPF_ALPHA                              0x00000002l\n\n/*\n * The FourCC code is valid.\n */\n#define DDPF_FOURCC                             0x00000004l\n\n/*\n * The surface is 4-bit color indexed.\n */\n#define DDPF_PALETTEINDEXED4                    0x00000008l\n\n/*\n * The surface is indexed into a palette which stores indices\n * into the destination surface's 8-bit palette.\n */\n#define DDPF_PALETTEINDEXEDTO8                  0x00000010l\n\n/*\n * The surface is 8-bit color indexed.\n */\n#define DDPF_PALETTEINDEXED8                    0x00000020l\n\n/*\n * The RGB data in the pixel format structure is valid.\n */\n#define DDPF_RGB                                0x00000040l\n\n/*\n * The surface will accept pixel data in the format specified\n * and compress it during the write.\n */\n#define DDPF_COMPRESSED                         0x00000080l\n\n/*\n * The surface will accept RGB data and translate it during\n * the write to YUV data.  The format of the data to be written\n * will be contained in the pixel format structure.  The DDPF_RGB\n * flag will be set.\n */\n#define DDPF_RGBTOYUV                           0x00000100l\n\n/*\n * pixel format is YUV - YUV data in pixel format struct is valid\n */\n#define DDPF_YUV                                0x00000200l\n\n/*\n * pixel format is a z buffer only surface\n */\n#define DDPF_ZBUFFER                            0x00000400l\n\n/*\n * The surface is 1-bit color indexed.\n */\n#define DDPF_PALETTEINDEXED1                    0x00000800l\n\n/*\n * The surface is 2-bit color indexed.\n */\n#define DDPF_PALETTEINDEXED2                    0x00001000l\n\n/*\n * The surface contains Z information in the pixels\n */\n#define DDPF_ZPIXELS                            0x00002000l\n\n/*\n * The surface contains stencil information along with Z\n */\n#define DDPF_STENCILBUFFER                      0x00004000l\n\n/*\n * Premultiplied alpha format -- the color components have been\n * premultiplied by the alpha component.\n */\n#define DDPF_ALPHAPREMULT                       0x00008000l\n\n\n/*\n * Luminance data in the pixel format is valid.\n * Use this flag for luminance-only or luminance+alpha surfaces,\n * the bit depth is then ddpf.dwLuminanceBitCount.\n */\n#define DDPF_LUMINANCE                          0x00020000l\n\n/*\n * Luminance data in the pixel format is valid.\n * Use this flag when hanging luminance off bumpmap surfaces,\n * the bit mask for the luminance portion of the pixel is then\n * ddpf.dwBumpLuminanceBitMask\n */\n#define DDPF_BUMPLUMINANCE                      0x00040000l\n\n/*\n * Bump map dUdV data in the pixel format is valid.\n */\n#define DDPF_BUMPDUDV                           0x00080000l\n\n\n/*===========================================================================\n *\n *\n * DIRECTDRAW CALLBACK FLAGS\n *\n *\n *==========================================================================*/\n\n/****************************************************************************\n *\n * DIRECTDRAW ENUMSURFACES FLAGS\n *\n ****************************************************************************/\n\n/*\n * Enumerate all of the surfaces that meet the search criterion.\n */\n#define DDENUMSURFACES_ALL                      0x00000001l\n\n/*\n * A search hit is a surface that matches the surface description.\n */\n#define DDENUMSURFACES_MATCH                    0x00000002l\n\n/*\n * A search hit is a surface that does not match the surface description.\n */\n#define DDENUMSURFACES_NOMATCH                  0x00000004l\n\n/*\n * Enumerate the first surface that can be created which meets the search criterion.\n */\n#define DDENUMSURFACES_CANBECREATED             0x00000008l\n\n/*\n * Enumerate the surfaces that already exist that meet the search criterion.\n */\n#define DDENUMSURFACES_DOESEXIST                0x00000010l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW SETDISPLAYMODE FLAGS\n *\n ****************************************************************************/\n\n/*\n * The desired mode is a standard VGA mode\n */\n#define DDSDM_STANDARDVGAMODE                   0x00000001l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW ENUMDISPLAYMODES FLAGS\n *\n ****************************************************************************/\n\n/*\n * Enumerate Modes with different refresh rates.  EnumDisplayModes guarantees\n * that a particular mode will be enumerated only once.  This flag specifies whether\n * the refresh rate is taken into account when determining if a mode is unique.\n */\n#define DDEDM_REFRESHRATES                      0x00000001l\n\n/*\n * Enumerate VGA modes. Specify this flag if you wish to enumerate supported VGA\n * modes such as mode 0x13 in addition to the usual ModeX modes (which are always\n * enumerated if the application has previously called SetCooperativeLevel with the\n * DDSCL_ALLOWMODEX flag set).\n */\n#define DDEDM_STANDARDVGAMODES                  0x00000002L\n\n\n/****************************************************************************\n *\n * DIRECTDRAW SETCOOPERATIVELEVEL FLAGS\n *\n ****************************************************************************/\n\n/*\n * Exclusive mode owner will be responsible for the entire primary surface.\n * GDI can be ignored. used with DD\n */\n#define DDSCL_FULLSCREEN                        0x00000001l\n\n/*\n * allow CTRL_ALT_DEL to work while in fullscreen exclusive mode\n */\n#define DDSCL_ALLOWREBOOT                       0x00000002l\n\n/*\n * prevents DDRAW from modifying the application window.\n * prevents DDRAW from minimize/restore the application window on activation.\n */\n#define DDSCL_NOWINDOWCHANGES                   0x00000004l\n\n/*\n * app wants to work as a regular Windows application\n */\n#define DDSCL_NORMAL                            0x00000008l\n\n/*\n * app wants exclusive access\n */\n#define DDSCL_EXCLUSIVE                         0x00000010l\n\n\n/*\n * app can deal with non-windows display modes\n */\n#define DDSCL_ALLOWMODEX                        0x00000040l\n\n/*\n * this window will receive the focus messages\n */\n#define DDSCL_SETFOCUSWINDOW                    0x00000080l\n\n/*\n * this window is associated with the DDRAW object and will\n * cover the screen in fullscreen mode\n */\n#define DDSCL_SETDEVICEWINDOW                   0x00000100l\n\n/*\n * app wants DDRAW to create a window to be associated with the\n * DDRAW object\n */\n#define DDSCL_CREATEDEVICEWINDOW                0x00000200l\n\n/*\n * App explicitly asks DDRAW/D3D to be multithread safe. This makes D3D\n * take the global crtisec more frequently.\n */\n#define DDSCL_MULTITHREADED                     0x00000400l\n\n/*\n * App specifies that it would like to keep the FPU set up for optimal Direct3D\n * performance (single precision and exceptions disabled) so Direct3D\n * does not need to explicitly set the FPU each time. This is assumed by\n * default in DirectX 7. See also DDSCL_FPUPRESERVE\n */\n#define DDSCL_FPUSETUP                          0x00000800l\n\n/*\n * App specifies that it needs either double precision FPU or FPU exceptions\n * enabled. This makes Direct3D explicitly set the FPU state eah time it is\n * called. Setting the flag will reduce Direct3D performance. The flag is\n * assumed by default in DirectX 6 and earlier. See also DDSCL_FPUSETUP\n */\n#define DDSCL_FPUPRESERVE                          0x00001000l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW BLT FLAGS\n *\n ****************************************************************************/\n\n/*\n * Use the alpha information in the pixel format or the alpha channel surface\n * attached to the destination surface as the alpha channel for this blt.\n */\n#define DDBLT_ALPHADEST                         0x00000001l\n\n/*\n * Use the dwConstAlphaDest field in the DDBLTFX structure as the alpha channel\n * for the destination surface for this blt.\n */\n#define DDBLT_ALPHADESTCONSTOVERRIDE            0x00000002l\n\n/*\n * The NEG suffix indicates that the destination surface becomes more\n * transparent as the alpha value increases. (0 is opaque)\n */\n#define DDBLT_ALPHADESTNEG                      0x00000004l\n\n/*\n * Use the lpDDSAlphaDest field in the DDBLTFX structure as the alpha\n * channel for the destination for this blt.\n */\n#define DDBLT_ALPHADESTSURFACEOVERRIDE          0x00000008l\n\n/*\n * Use the dwAlphaEdgeBlend field in the DDBLTFX structure as the alpha channel\n * for the edges of the image that border the color key colors.\n */\n#define DDBLT_ALPHAEDGEBLEND                    0x00000010l\n\n/*\n * Use the alpha information in the pixel format or the alpha channel surface\n * attached to the source surface as the alpha channel for this blt.\n */\n#define DDBLT_ALPHASRC                          0x00000020l\n\n/*\n * Use the dwConstAlphaSrc field in the DDBLTFX structure as the alpha channel\n * for the source for this blt.\n */\n#define DDBLT_ALPHASRCCONSTOVERRIDE             0x00000040l\n\n/*\n * The NEG suffix indicates that the source surface becomes more transparent\n * as the alpha value increases. (0 is opaque)\n */\n#define DDBLT_ALPHASRCNEG                       0x00000080l\n\n/*\n * Use the lpDDSAlphaSrc field in the DDBLTFX structure as the alpha channel\n * for the source for this blt.\n */\n#define DDBLT_ALPHASRCSURFACEOVERRIDE           0x00000100l\n\n/*\n * Do this blt asynchronously through the FIFO in the order received.  If\n * there is no room in the hardware FIFO fail the call.\n */\n#define DDBLT_ASYNC                             0x00000200l\n\n/*\n * Uses the dwFillColor field in the DDBLTFX structure as the RGB color\n * to fill the destination rectangle on the destination surface with.\n */\n#define DDBLT_COLORFILL                         0x00000400l\n\n/*\n * Uses the dwDDFX field in the DDBLTFX structure to specify the effects\n * to use for the blt.\n */\n#define DDBLT_DDFX                              0x00000800l\n\n/*\n * Uses the dwDDROPS field in the DDBLTFX structure to specify the ROPS\n * that are not part of the Win32 API.\n */\n#define DDBLT_DDROPS                            0x00001000l\n\n/*\n * Use the color key associated with the destination surface.\n */\n#define DDBLT_KEYDEST                           0x00002000l\n\n/*\n * Use the dckDestColorkey field in the DDBLTFX structure as the color key\n * for the destination surface.\n */\n#define DDBLT_KEYDESTOVERRIDE                   0x00004000l\n\n/*\n * Use the color key associated with the source surface.\n */\n#define DDBLT_KEYSRC                            0x00008000l\n\n/*\n * Use the dckSrcColorkey field in the DDBLTFX structure as the color key\n * for the source surface.\n */\n#define DDBLT_KEYSRCOVERRIDE                    0x00010000l\n\n/*\n * Use the dwROP field in the DDBLTFX structure for the raster operation\n * for this blt.  These ROPs are the same as the ones defined in the Win32 API.\n */\n#define DDBLT_ROP                               0x00020000l\n\n/*\n * Use the dwRotationAngle field in the DDBLTFX structure as the angle\n * (specified in 1/100th of a degree) to rotate the surface.\n */\n#define DDBLT_ROTATIONANGLE                     0x00040000l\n\n/*\n * Z-buffered blt using the z-buffers attached to the source and destination\n * surfaces and the dwZBufferOpCode field in the DDBLTFX structure as the\n * z-buffer opcode.\n */\n#define DDBLT_ZBUFFER                           0x00080000l\n\n/*\n * Z-buffered blt using the dwConstDest Zfield and the dwZBufferOpCode field\n * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively\n * for the destination.\n */\n#define DDBLT_ZBUFFERDESTCONSTOVERRIDE          0x00100000l\n\n/*\n * Z-buffered blt using the lpDDSDestZBuffer field and the dwZBufferOpCode\n * field in the DDBLTFX structure as the z-buffer and z-buffer opcode\n * respectively for the destination.\n */\n#define DDBLT_ZBUFFERDESTOVERRIDE               0x00200000l\n\n/*\n * Z-buffered blt using the dwConstSrcZ field and the dwZBufferOpCode field\n * in the DDBLTFX structure as the z-buffer and z-buffer opcode respectively\n * for the source.\n */\n#define DDBLT_ZBUFFERSRCCONSTOVERRIDE           0x00400000l\n\n/*\n * Z-buffered blt using the lpDDSSrcZBuffer field and the dwZBufferOpCode\n * field in the DDBLTFX structure as the z-buffer and z-buffer opcode\n * respectively for the source.\n */\n#define DDBLT_ZBUFFERSRCOVERRIDE                0x00800000l\n\n/*\n * wait until the device is ready to handle the blt\n * this will cause blt to not return DDERR_WASSTILLDRAWING\n */\n#define DDBLT_WAIT                              0x01000000l\n\n/*\n * Uses the dwFillDepth field in the DDBLTFX structure as the depth value\n * to fill the destination rectangle on the destination Z-buffer surface\n * with.\n */\n#define DDBLT_DEPTHFILL                         0x02000000l\n\n\n/*\n * Return immediately (with DDERR_WASSTILLDRAWING) if the device is not\n * ready to schedule the blt at the time Blt() is called.\n */\n#define DDBLT_DONOTWAIT                         0x08000000l\n\n/*\n * These flags indicate a presentation blt (i.e. a blt\n * that moves surface contents from an offscreen back buffer to the primary\n * surface). The driver is not allowed to \"queue\"  more than three such blts.\n * The \"end\" of the presentation blt is indicated, since the\n * blt may be clipped, in which case the runtime will call the driver with \n * several blts. All blts (even if not clipped) are tagged with DDBLT_PRESENTATION\n * and the last (even if not clipped) additionally with DDBLT_LAST_PRESENTATION.\n * Thus the true rule is that the driver must not schedule a DDBLT_PRESENTATION\n * blt if there are 3 or more DDBLT_PRESENTLAST blts in the hardware pipe.\n * If there are such blts in the pipe, the driver should return DDERR_WASSTILLDRAWING\n * until the oldest queued DDBLT_LAST_PRESENTATION blts has been retired (i.e. the\n * pixels have been actually written to the primary surface). Once the oldest blt\n * has been retired, the driver is free to schedule the current blt.\n * The goal is to provide a mechanism whereby the device's hardware queue never\n * gets more than 3 frames ahead of the frames being generated by the application.\n * When excessive queueing occurs, applications become unusable because the application\n * visibly lags user input, and such problems make windowed interactive applications impossible.\n * Some drivers may not have sufficient knowledge of their hardware's FIFO to know\n * when a certain blt has been retired. Such drivers should code cautiously, and \n * simply not allow any frames to be queued at all. DDBLT_LAST_PRESENTATION should cause\n * such drivers to return DDERR_WASSTILLDRAWING until the accelerator is completely\n * finished- exactly as if the application had called Lock on the source surface\n * before calling Blt. \n * In other words, the driver is allowed and encouraged to \n * generate as much latency as it can, but never more than 3 frames worth.\n * Implementation detail: Drivers should count blts against the SOURCE surface, not\n * against the primary surface. This enables multiple parallel windowed application\n * to function more optimally.\n * This flag is passed only to DX8 or higher drivers.\n *\n * APPLICATIONS DO NOT SET THESE FLAGS. THEY ARE SET BY THE DIRECTDRAW RUNTIME.\n * \n */\n#define DDBLT_PRESENTATION                      0x10000000l\n#define DDBLT_LAST_PRESENTATION                 0x20000000l\n\n/*\n * If DDBLT_EXTENDED_FLAGS is set, then the driver should re-interpret\n * other flags according to the definitions that follow.\n * For example, bit 0 (0x00000001L) means DDBLT_ALPHADEST, unless\n * DDBLT_EXTENDED_FLAGS is also set, in which case bit 0 means\n * DDBLT_EXTENDED_LINEAR_CONTENT.\n * Only DirectX9 and higher drivers will be given extended blt flags.\n * Only flags explicitly mentioned here should be re-interpreted.\n * All other flags retain their original meanings.\n *\n * List of re-interpreted flags:\n *\n * Bit Hex value   New meaning                                  old meaning\n * ---------------------------------------------------------------\n *  2  0x00000004  DDBLT_EXTENDED_LINEAR_CONTENT                DDBLT_ALPHADESTNEG\n *  4  0x00000010  DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR    DDBLT_ALPHAEDGEBLEND\n *\n *\n * NOTE: APPLICATIONS SHOULD NOT SET THIS FLAG. THIS FLAG IS INTENDED\n * FOR USE BY THE DIRECT3D RUNTIME.\n */\n#define DDBLT_EXTENDED_FLAGS                    0x40000000l\n\n/*\n * EXTENDED FLAG. SEE DEFINITION OF DDBLT_EXTENDED_FLAGS.\n * This flag indidcates that the source surface contains content in a\n * linear color space. The driver may perform gamma correction to the\n * desktop color space (i.e. sRGB, gamma 2.2) as part of this blt.\n * If the device can perform such a conversion as part of the copy,\n * the driver should also set D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION\n *\n * NOTE: APPLICATIONS SHOULD NOT SET THIS FLAG. THIS FLAG IS INTENDED\n * FOR USE BY THE DIRECT3D RUNTIME. Use IDirect3DSwapChain9::Present\n * and specify D3DPRESENT_LINEAR_CONTENT in order to use this functionality.\n */ \n#define DDBLT_EXTENDED_LINEAR_CONTENT           0x00000004l\n\n\n/****************************************************************************\n *\n * BLTFAST FLAGS\n *\n ****************************************************************************/\n\n#define DDBLTFAST_NOCOLORKEY                    0x00000000\n#define DDBLTFAST_SRCCOLORKEY                   0x00000001\n#define DDBLTFAST_DESTCOLORKEY                  0x00000002\n#define DDBLTFAST_WAIT                          0x00000010\n#define DDBLTFAST_DONOTWAIT                     0x00000020\n\n/****************************************************************************\n *\n * FLIP FLAGS\n *\n ****************************************************************************/\n\n#define DDFLIP_WAIT                          0x00000001L\n\n/*\n * Indicates that the target surface contains the even field of video data.\n * This flag is only valid with an overlay surface.\n */\n#define DDFLIP_EVEN                          0x00000002L\n\n/*\n * Indicates that the target surface contains the odd field of video data.\n * This flag is only valid with an overlay surface.\n */\n#define DDFLIP_ODD                           0x00000004L\n\n/*\n * Causes DirectDraw to perform the physical flip immediately and return\n * to the application. Typically, what was the front buffer but is now the back\n * buffer will still be visible (depending on timing) until the next vertical\n * retrace. Subsequent operations involving the two flipped surfaces will\n * not check to see if the physical flip has finished (i.e. will not return\n * DDERR_WASSTILLDRAWING for that reason (but may for other reasons)).\n * This allows an application to perform Flips at a higher frequency than the\n * monitor refresh rate, but may introduce visible artifacts.\n * Only effective if DDCAPS2_FLIPNOVSYNC is set. If that bit is not set,\n * DDFLIP_NOVSYNC has no effect.\n */\n#define DDFLIP_NOVSYNC                       0x00000008L\n\n\n/*\n * Flip Interval Flags. These flags indicate how many vertical retraces to wait between\n * each flip. The default is one. DirectDraw will return DDERR_WASSTILLDRAWING for each\n * surface involved in the flip until the specified number of vertical retraces has\n * ocurred. Only effective if DDCAPS2_FLIPINTERVAL is set. If that bit is not set,\n * DDFLIP_INTERVALn has no effect.\n */\n\n/*\n * DirectDraw will flip on every other vertical sync\n */\n#define DDFLIP_INTERVAL2                     0x02000000L\n\n\n/*\n * DirectDraw will flip on every third vertical sync\n */\n#define DDFLIP_INTERVAL3                     0x03000000L\n\n\n/*\n * DirectDraw will flip on every fourth vertical sync\n */\n#define DDFLIP_INTERVAL4                     0x04000000L\n\n/*\n * DirectDraw will flip and display a main stereo surface\n */\n#define DDFLIP_STEREO                        0x00000010L\n\n/*\n * On IDirectDrawSurface7 and higher interfaces, the default is DDFLIP_WAIT. If you wish\n * to override the default and use time when the accelerator is busy (as denoted by\n * the DDERR_WASSTILLDRAWING return code) then use DDFLIP_DONOTWAIT.\n */\n#define DDFLIP_DONOTWAIT                     0x00000020L\n\n\n/****************************************************************************\n *\n * DIRECTDRAW SURFACE OVERLAY FLAGS\n *\n ****************************************************************************/\n\n/*\n * Use the alpha information in the pixel format or the alpha channel surface\n * attached to the destination surface as the alpha channel for the\n * destination overlay.\n */\n#define DDOVER_ALPHADEST                        0x00000001l\n\n/*\n * Use the dwConstAlphaDest field in the DDOVERLAYFX structure as the\n * destination alpha channel for this overlay.\n */\n#define DDOVER_ALPHADESTCONSTOVERRIDE           0x00000002l\n\n/*\n * The NEG suffix indicates that the destination surface becomes more\n * transparent as the alpha value increases.\n */\n#define DDOVER_ALPHADESTNEG                     0x00000004l\n\n/*\n * Use the lpDDSAlphaDest field in the DDOVERLAYFX structure as the alpha\n * channel destination for this overlay.\n */\n#define DDOVER_ALPHADESTSURFACEOVERRIDE         0x00000008l\n\n/*\n * Use the dwAlphaEdgeBlend field in the DDOVERLAYFX structure as the alpha\n * channel for the edges of the image that border the color key colors.\n */\n#define DDOVER_ALPHAEDGEBLEND                   0x00000010l\n\n/*\n * Use the alpha information in the pixel format or the alpha channel surface\n * attached to the source surface as the source alpha channel for this overlay.\n */\n#define DDOVER_ALPHASRC                         0x00000020l\n\n/*\n * Use the dwConstAlphaSrc field in the DDOVERLAYFX structure as the source\n * alpha channel for this overlay.\n */\n#define DDOVER_ALPHASRCCONSTOVERRIDE            0x00000040l\n\n/*\n * The NEG suffix indicates that the source surface becomes more transparent\n * as the alpha value increases.\n */\n#define DDOVER_ALPHASRCNEG                      0x00000080l\n\n/*\n * Use the lpDDSAlphaSrc field in the DDOVERLAYFX structure as the alpha channel\n * source for this overlay.\n */\n#define DDOVER_ALPHASRCSURFACEOVERRIDE          0x00000100l\n\n/*\n * Turn this overlay off.\n */\n#define DDOVER_HIDE                             0x00000200l\n\n/*\n * Use the color key associated with the destination surface.\n */\n#define DDOVER_KEYDEST                          0x00000400l\n\n/*\n * Use the dckDestColorkey field in the DDOVERLAYFX structure as the color key\n * for the destination surface\n */\n#define DDOVER_KEYDESTOVERRIDE                  0x00000800l\n\n/*\n * Use the color key associated with the source surface.\n */\n#define DDOVER_KEYSRC                           0x00001000l\n\n/*\n * Use the dckSrcColorkey field in the DDOVERLAYFX structure as the color key\n * for the source surface.\n */\n#define DDOVER_KEYSRCOVERRIDE                   0x00002000l\n\n/*\n * Turn this overlay on.\n */\n#define DDOVER_SHOW                             0x00004000l\n\n/*\n * Add a dirty rect to an emulated overlayed surface.\n */\n#define DDOVER_ADDDIRTYRECT                     0x00008000l\n\n/*\n * Redraw all dirty rects on an emulated overlayed surface.\n */\n#define DDOVER_REFRESHDIRTYRECTS                0x00010000l\n\n/*\n * Redraw the entire surface on an emulated overlayed surface.\n */\n#define DDOVER_REFRESHALL                      0x00020000l\n\n\n/*\n * Use the overlay FX flags to define special overlay FX\n */\n#define DDOVER_DDFX                             0x00080000l\n\n/*\n * Autoflip the overlay when ever the video port autoflips\n */\n#define DDOVER_AUTOFLIP                         0x00100000l\n\n/*\n * Display each field of video port data individually without\n * causing any jittery artifacts\n */\n#define DDOVER_BOB                              0x00200000l\n\n/*\n * Indicates that bob/weave decisions should not be overridden by other\n * interfaces.\n */\n#define DDOVER_OVERRIDEBOBWEAVE                 0x00400000l\n\n/*\n * Indicates that the surface memory is composed of interleaved fields.\n */\n#define DDOVER_INTERLEAVED                      0x00800000l\n\n/*\n * Indicates that bob will be performed using hardware rather than\n * software or emulated.\n */\n#define DDOVER_BOBHARDWARE                      0x01000000l\n\n/*\n * Indicates that overlay FX structure contains valid ARGB scaling factors.\n */\n#define DDOVER_ARGBSCALEFACTORS                 0x02000000l\n\n/*\n * Indicates that ARGB scaling factors can be degraded to fit driver capabilities.\n */\n#define DDOVER_DEGRADEARGBSCALING               0x04000000l\n\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE LOCK FLAGS\n *\n ****************************************************************************/\n\n/*\n * The default.  Set to indicate that Lock should return a valid memory pointer\n * to the top of the specified rectangle.  If no rectangle is specified then a\n * pointer to the top of the surface is returned.\n */\n#define DDLOCK_SURFACEMEMORYPTR                 0x00000000L     // default\n\n/*\n * Set to indicate that Lock should wait until it can obtain a valid memory\n * pointer before returning.  If this bit is set, Lock will never return\n * DDERR_WASSTILLDRAWING.\n */\n#define DDLOCK_WAIT                             0x00000001L\n\n/*\n * Set if an event handle is being passed to Lock.  Lock will trigger the event\n * when it can return the surface memory pointer requested.\n */\n#define DDLOCK_EVENT                            0x00000002L\n\n/*\n * Indicates that the surface being locked will only be read from.\n */\n#define DDLOCK_READONLY                         0x00000010L\n\n/*\n * Indicates that the surface being locked will only be written to\n */\n#define DDLOCK_WRITEONLY                        0x00000020L\n\n\n/*\n * Indicates that a system wide lock should not be taken when this surface\n * is locked. This has several advantages (cursor responsiveness, ability\n * to call more Windows functions, easier debugging) when locking video\n * memory surfaces. However, an application specifying this flag must\n * comply with a number of conditions documented in the help file.\n * Furthermore, this flag cannot be specified when locking the primary.\n */\n#define DDLOCK_NOSYSLOCK                        0x00000800L\n\n/*\n * Used only with Direct3D Vertex Buffer Locks. Indicates that no vertices\n * that were referred to in Draw*PrimtiveVB calls since the start of the\n * frame (or the last lock without this flag) will be modified during the\n * lock. This can be useful when one is only appending data to the vertex\n * buffer\n */\n#define DDLOCK_NOOVERWRITE                      0x00001000L\n\n/*\n * Indicates that no assumptions will be made about the contents of the\n * surface or vertex buffer during this lock.\n * This enables two things:\n * -    Direct3D or the driver may provide an alternative memory\n *      area as the vertex buffer. This is useful when one plans to clear the\n *      contents of the vertex buffer and fill in new data.\n * -    Drivers sometimes store surface data in a re-ordered format.\n *      When the application locks the surface, the driver is forced to un-re-order\n *      the surface data before allowing the application to see the surface contents.\n *      This flag is a hint to the driver that it can skip the un-re-ordering process\n *      since the application plans to overwrite every single pixel in the surface\n *      or locked rectangle (and so erase any un-re-ordered pixels anyway).\n *      Applications should always set this flag when they intend to overwrite the entire\n *      surface or locked rectangle.\n */\n#define DDLOCK_DISCARDCONTENTS                  0x00002000L\n /*\n  * DDLOCK_OKTOSWAP is an older, less informative name for DDLOCK_DISCARDCONTENTS\n  */\n#define DDLOCK_OKTOSWAP                         0x00002000L\n\n/*\n * On IDirectDrawSurface7 and higher interfaces, the default is DDLOCK_WAIT. If you wish\n * to override the default and use time when the accelerator is busy (as denoted by\n * the DDERR_WASSTILLDRAWING return code) then use DDLOCK_DONOTWAIT.\n */\n#define DDLOCK_DONOTWAIT                        0x00004000L\n\n/*\n * This indicates volume texture lock with front and back specified.\n */\n#define DDLOCK_HASVOLUMETEXTUREBOXRECT          0x00008000L\n\n/*\n * This indicates that the driver should not update dirty rect information for this lock.\n */\n#define DDLOCK_NODIRTYUPDATE                    0x00010000L\n\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE PAGELOCK FLAGS\n *\n ****************************************************************************/\n\n/*\n * No flags defined at present\n */\n\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE PAGEUNLOCK FLAGS\n *\n ****************************************************************************/\n\n/*\n * No flags defined at present\n */\n\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE BLT FX FLAGS\n *\n ****************************************************************************/\n\n/*\n * If stretching, use arithmetic stretching along the Y axis for this blt.\n */\n#define DDBLTFX_ARITHSTRETCHY                   0x00000001l\n\n/*\n * Do this blt mirroring the surface left to right.  Spin the\n * surface around its y-axis.\n */\n#define DDBLTFX_MIRRORLEFTRIGHT                 0x00000002l\n\n/*\n * Do this blt mirroring the surface up and down.  Spin the surface\n * around its x-axis.\n */\n#define DDBLTFX_MIRRORUPDOWN                    0x00000004l\n\n/*\n * Schedule this blt to avoid tearing.\n */\n#define DDBLTFX_NOTEARING                       0x00000008l\n\n/*\n * Do this blt rotating the surface one hundred and eighty degrees.\n */\n#define DDBLTFX_ROTATE180                       0x00000010l\n\n/*\n * Do this blt rotating the surface two hundred and seventy degrees.\n */\n#define DDBLTFX_ROTATE270                       0x00000020l\n\n/*\n * Do this blt rotating the surface ninety degrees.\n */\n#define DDBLTFX_ROTATE90                        0x00000040l\n\n/*\n * Do this z blt using dwZBufferLow and dwZBufferHigh as  range values\n * specified to limit the bits copied from the source surface.\n */\n#define DDBLTFX_ZBUFFERRANGE                    0x00000080l\n\n/*\n * Do this z blt adding the dwZBufferBaseDest to each of the sources z values\n * before comparing it with the desting z values.\n */\n#define DDBLTFX_ZBUFFERBASEDEST                 0x00000100l\n\n/****************************************************************************\n *\n * DIRECTDRAWSURFACE OVERLAY FX FLAGS\n *\n ****************************************************************************/\n\n/*\n * If stretching, use arithmetic stretching along the Y axis for this overlay.\n */\n#define DDOVERFX_ARITHSTRETCHY                  0x00000001l\n\n/*\n * Mirror the overlay across the vertical axis\n */\n#define DDOVERFX_MIRRORLEFTRIGHT                0x00000002l\n\n/*\n * Mirror the overlay across the horizontal axis\n */\n#define DDOVERFX_MIRRORUPDOWN                   0x00000004l\n\n/*\n * Deinterlace the overlay, if possible\n */\n#define DDOVERFX_DEINTERLACE                    0x00000008l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW WAITFORVERTICALBLANK FLAGS\n *\n ****************************************************************************/\n\n/*\n * return when the vertical blank interval begins\n */\n#define DDWAITVB_BLOCKBEGIN                     0x00000001l\n\n/*\n * set up an event to trigger when the vertical blank begins\n */\n#define DDWAITVB_BLOCKBEGINEVENT                0x00000002l\n\n/*\n * return when the vertical blank interval ends and display begins\n */\n#define DDWAITVB_BLOCKEND                       0x00000004l\n\n/****************************************************************************\n *\n * DIRECTDRAW GETFLIPSTATUS FLAGS\n *\n ****************************************************************************/\n\n/*\n * is it OK to flip now?\n */\n#define DDGFS_CANFLIP                   0x00000001l\n\n/*\n * is the last flip finished?\n */\n#define DDGFS_ISFLIPDONE                0x00000002l\n\n/****************************************************************************\n *\n * DIRECTDRAW GETBLTSTATUS FLAGS\n *\n ****************************************************************************/\n\n/*\n * is it OK to blt now?\n */\n#define DDGBS_CANBLT                    0x00000001l\n\n/*\n * is the blt to the surface finished?\n */\n#define DDGBS_ISBLTDONE                 0x00000002l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW ENUMOVERLAYZORDER FLAGS\n *\n ****************************************************************************/\n\n/*\n * Enumerate overlays back to front.\n */\n#define DDENUMOVERLAYZ_BACKTOFRONT      0x00000000l\n\n/*\n * Enumerate overlays front to back\n */\n#define DDENUMOVERLAYZ_FRONTTOBACK      0x00000001l\n\n/****************************************************************************\n *\n * DIRECTDRAW UPDATEOVERLAYZORDER FLAGS\n *\n ****************************************************************************/\n\n/*\n * Send overlay to front\n */\n#define DDOVERZ_SENDTOFRONT             0x00000000l\n\n/*\n * Send overlay to back\n */\n#define DDOVERZ_SENDTOBACK              0x00000001l\n\n/*\n * Move Overlay forward\n */\n#define DDOVERZ_MOVEFORWARD             0x00000002l\n\n/*\n * Move Overlay backward\n */\n#define DDOVERZ_MOVEBACKWARD            0x00000003l\n\n/*\n * Move Overlay in front of relative surface\n */\n#define DDOVERZ_INSERTINFRONTOF         0x00000004l\n\n/*\n * Move Overlay in back of relative surface\n */\n#define DDOVERZ_INSERTINBACKOF          0x00000005l\n\n\n/****************************************************************************\n *\n * DIRECTDRAW SETGAMMARAMP FLAGS\n *\n ****************************************************************************/\n\n/*\n * Request calibrator to adjust the gamma ramp according to the physical\n * properties of the display so that the result should appear identical\n * on all systems.\n */\n#define DDSGR_CALIBRATE                        0x00000001L\n\n\n/****************************************************************************\n *\n * DIRECTDRAW STARTMODETEST FLAGS\n *\n ****************************************************************************/\n\n/*\n * Indicates that the mode being tested has passed\n */\n#define DDSMT_ISTESTREQUIRED                   0x00000001L\n\n\n/****************************************************************************\n *\n * DIRECTDRAW EVALUATEMODE FLAGS\n *\n ****************************************************************************/\n\n/*\n * Indicates that the mode being tested has passed\n */\n#define DDEM_MODEPASSED                        0x00000001L\n\n/*\n * Indicates that the mode being tested has failed\n */\n#define DDEM_MODEFAILED                        0x00000002L\n\n\n/*===========================================================================\n *\n *\n * DIRECTDRAW RETURN CODES\n *\n * The return values from DirectDraw Commands and Surface that return an HRESULT\n * are codes from DirectDraw concerning the results of the action\n * requested by DirectDraw.\n *\n *==========================================================================*/\n\n/*\n * Status is OK\n *\n * Issued by: DirectDraw Commands and all callbacks\n */\n#define DD_OK                                   S_OK\n#define DD_FALSE                                S_FALSE\n\n/****************************************************************************\n *\n * DIRECTDRAW ENUMCALLBACK RETURN VALUES\n *\n * EnumCallback returns are used to control the flow of the DIRECTDRAW and\n * DIRECTDRAWSURFACE object enumerations.   They can only be returned by\n * enumeration callback routines.\n *\n ****************************************************************************/\n\n/*\n * stop the enumeration\n */\n#define DDENUMRET_CANCEL                        0\n\n/*\n * continue the enumeration\n */\n#define DDENUMRET_OK                            1\n\n/****************************************************************************\n *\n * DIRECTDRAW ERRORS\n *\n * Errors are represented by negative values and cannot be combined.\n *\n ****************************************************************************/\n\n/*\n * This object is already initialized\n */\n#define DDERR_ALREADYINITIALIZED                MAKE_DDHRESULT( 5 )\n\n/*\n * This surface can not be attached to the requested surface.\n */\n#define DDERR_CANNOTATTACHSURFACE               MAKE_DDHRESULT( 10 )\n\n/*\n * This surface can not be detached from the requested surface.\n */\n#define DDERR_CANNOTDETACHSURFACE               MAKE_DDHRESULT( 20 )\n\n/*\n * Support is currently not available.\n */\n#define DDERR_CURRENTLYNOTAVAIL                 MAKE_DDHRESULT( 40 )\n\n/*\n * An exception was encountered while performing the requested operation\n */\n#define DDERR_EXCEPTION                         MAKE_DDHRESULT( 55 )\n\n/*\n * Generic failure.\n */\n#define DDERR_GENERIC                           E_FAIL\n\n/*\n * Height of rectangle provided is not a multiple of reqd alignment\n */\n#define DDERR_HEIGHTALIGN                       MAKE_DDHRESULT( 90 )\n\n/*\n * Unable to match primary surface creation request with existing\n * primary surface.\n */\n#define DDERR_INCOMPATIBLEPRIMARY               MAKE_DDHRESULT( 95 )\n\n/*\n * One or more of the caps bits passed to the callback are incorrect.\n */\n#define DDERR_INVALIDCAPS                       MAKE_DDHRESULT( 100 )\n\n/*\n * DirectDraw does not support provided Cliplist.\n */\n#define DDERR_INVALIDCLIPLIST                   MAKE_DDHRESULT( 110 )\n\n/*\n * DirectDraw does not support the requested mode\n */\n#define DDERR_INVALIDMODE                       MAKE_DDHRESULT( 120 )\n\n/*\n * DirectDraw received a pointer that was an invalid DIRECTDRAW object.\n */\n#define DDERR_INVALIDOBJECT                     MAKE_DDHRESULT( 130 )\n\n/*\n * One or more of the parameters passed to the callback function are\n * incorrect.\n */\n#define DDERR_INVALIDPARAMS                     E_INVALIDARG\n\n/*\n * pixel format was invalid as specified\n */\n#define DDERR_INVALIDPIXELFORMAT                MAKE_DDHRESULT( 145 )\n\n/*\n * Rectangle provided was invalid.\n */\n#define DDERR_INVALIDRECT                       MAKE_DDHRESULT( 150 )\n\n/*\n * Operation could not be carried out because one or more surfaces are locked\n */\n#define DDERR_LOCKEDSURFACES                    MAKE_DDHRESULT( 160 )\n\n/*\n * There is no 3D present.\n */\n#define DDERR_NO3D                              MAKE_DDHRESULT( 170 )\n\n/*\n * Operation could not be carried out because there is no alpha accleration\n * hardware present or available.\n */\n#define DDERR_NOALPHAHW                         MAKE_DDHRESULT( 180 )\n\n/*\n * Operation could not be carried out because there is no stereo\n * hardware present or available.\n */\n#define DDERR_NOSTEREOHARDWARE          MAKE_DDHRESULT( 181 )\n\n/*\n * Operation could not be carried out because there is no hardware\n * present which supports stereo surfaces\n */\n#define DDERR_NOSURFACELEFT                             MAKE_DDHRESULT( 182 )\n\n\n\n/*\n * no clip list available\n */\n#define DDERR_NOCLIPLIST                        MAKE_DDHRESULT( 205 )\n\n/*\n * Operation could not be carried out because there is no color conversion\n * hardware present or available.\n */\n#define DDERR_NOCOLORCONVHW                     MAKE_DDHRESULT( 210 )\n\n/*\n * Create function called without DirectDraw object method SetCooperativeLevel\n * being called.\n */\n#define DDERR_NOCOOPERATIVELEVELSET             MAKE_DDHRESULT( 212 )\n\n/*\n * Surface doesn't currently have a color key\n */\n#define DDERR_NOCOLORKEY                        MAKE_DDHRESULT( 215 )\n\n/*\n * Operation could not be carried out because there is no hardware support\n * of the dest color key.\n */\n#define DDERR_NOCOLORKEYHW                      MAKE_DDHRESULT( 220 )\n\n/*\n * No DirectDraw support possible with current display driver\n */\n#define DDERR_NODIRECTDRAWSUPPORT               MAKE_DDHRESULT( 222 )\n\n/*\n * Operation requires the application to have exclusive mode but the\n * application does not have exclusive mode.\n */\n#define DDERR_NOEXCLUSIVEMODE                   MAKE_DDHRESULT( 225 )\n\n/*\n * Flipping visible surfaces is not supported.\n */\n#define DDERR_NOFLIPHW                          MAKE_DDHRESULT( 230 )\n\n/*\n * There is no GDI present.\n */\n#define DDERR_NOGDI                             MAKE_DDHRESULT( 240 )\n\n/*\n * Operation could not be carried out because there is no hardware present\n * or available.\n */\n#define DDERR_NOMIRRORHW                        MAKE_DDHRESULT( 250 )\n\n/*\n * Requested item was not found\n */\n#define DDERR_NOTFOUND                          MAKE_DDHRESULT( 255 )\n\n/*\n * Operation could not be carried out because there is no overlay hardware\n * present or available.\n */\n#define DDERR_NOOVERLAYHW                       MAKE_DDHRESULT( 260 )\n\n/*\n * Operation could not be carried out because the source and destination\n * rectangles are on the same surface and overlap each other.\n */\n#define DDERR_OVERLAPPINGRECTS                  MAKE_DDHRESULT( 270 )\n\n/*\n * Operation could not be carried out because there is no appropriate raster\n * op hardware present or available.\n */\n#define DDERR_NORASTEROPHW                      MAKE_DDHRESULT( 280 )\n\n/*\n * Operation could not be carried out because there is no rotation hardware\n * present or available.\n */\n#define DDERR_NOROTATIONHW                      MAKE_DDHRESULT( 290 )\n\n/*\n * Operation could not be carried out because there is no hardware support\n * for stretching\n */\n#define DDERR_NOSTRETCHHW                       MAKE_DDHRESULT( 310 )\n\n/*\n * DirectDrawSurface is not in 4 bit color palette and the requested operation\n * requires 4 bit color palette.\n */\n#define DDERR_NOT4BITCOLOR                      MAKE_DDHRESULT( 316 )\n\n/*\n * DirectDrawSurface is not in 4 bit color index palette and the requested\n * operation requires 4 bit color index palette.\n */\n#define DDERR_NOT4BITCOLORINDEX                 MAKE_DDHRESULT( 317 )\n\n/*\n * DirectDraw Surface is not in 8 bit color mode and the requested operation\n * requires 8 bit color.\n */\n#define DDERR_NOT8BITCOLOR                      MAKE_DDHRESULT( 320 )\n\n/*\n * Operation could not be carried out because there is no texture mapping\n * hardware present or available.\n */\n#define DDERR_NOTEXTUREHW                       MAKE_DDHRESULT( 330 )\n\n/*\n * Operation could not be carried out because there is no hardware support\n * for vertical blank synchronized operations.\n */\n#define DDERR_NOVSYNCHW                         MAKE_DDHRESULT( 335 )\n\n/*\n * Operation could not be carried out because there is no hardware support\n * for zbuffer blting.\n */\n#define DDERR_NOZBUFFERHW                       MAKE_DDHRESULT( 340 )\n\n/*\n * Overlay surfaces could not be z layered based on their BltOrder because\n * the hardware does not support z layering of overlays.\n */\n#define DDERR_NOZOVERLAYHW                      MAKE_DDHRESULT( 350 )\n\n/*\n * The hardware needed for the requested operation has already been\n * allocated.\n */\n#define DDERR_OUTOFCAPS                         MAKE_DDHRESULT( 360 )\n\n/*\n * DirectDraw does not have enough memory to perform the operation.\n */\n#define DDERR_OUTOFMEMORY                       E_OUTOFMEMORY\n\n/*\n * DirectDraw does not have enough memory to perform the operation.\n */\n#define DDERR_OUTOFVIDEOMEMORY                  MAKE_DDHRESULT( 380 )\n\n/*\n * hardware does not support clipped overlays\n */\n#define DDERR_OVERLAYCANTCLIP                   MAKE_DDHRESULT( 382 )\n\n/*\n * Can only have ony color key active at one time for overlays\n */\n#define DDERR_OVERLAYCOLORKEYONLYONEACTIVE      MAKE_DDHRESULT( 384 )\n\n/*\n * Access to this palette is being refused because the palette is already\n * locked by another thread.\n */\n#define DDERR_PALETTEBUSY                       MAKE_DDHRESULT( 387 )\n\n/*\n * No src color key specified for this operation.\n */\n#define DDERR_COLORKEYNOTSET                    MAKE_DDHRESULT( 400 )\n\n/*\n * This surface is already attached to the surface it is being attached to.\n */\n#define DDERR_SURFACEALREADYATTACHED            MAKE_DDHRESULT( 410 )\n\n/*\n * This surface is already a dependency of the surface it is being made a\n * dependency of.\n */\n#define DDERR_SURFACEALREADYDEPENDENT           MAKE_DDHRESULT( 420 )\n\n/*\n * Access to this surface is being refused because the surface is already\n * locked by another thread.\n */\n#define DDERR_SURFACEBUSY                       MAKE_DDHRESULT( 430 )\n\n/*\n * Access to this surface is being refused because no driver exists\n * which can supply a pointer to the surface.\n * This is most likely to happen when attempting to lock the primary\n * surface when no DCI provider is present.\n * Will also happen on attempts to lock an optimized surface.\n */\n#define DDERR_CANTLOCKSURFACE                   MAKE_DDHRESULT( 435 )\n\n/*\n * Access to Surface refused because Surface is obscured.\n */\n#define DDERR_SURFACEISOBSCURED                 MAKE_DDHRESULT( 440 )\n\n/*\n * Access to this surface is being refused because the surface is gone.\n * The DIRECTDRAWSURFACE object representing this surface should\n * have Restore called on it.\n */\n#define DDERR_SURFACELOST                       MAKE_DDHRESULT( 450 )\n\n/*\n * The requested surface is not attached.\n */\n#define DDERR_SURFACENOTATTACHED                MAKE_DDHRESULT( 460 )\n\n/*\n * Height requested by DirectDraw is too large.\n */\n#define DDERR_TOOBIGHEIGHT                      MAKE_DDHRESULT( 470 )\n\n/*\n * Size requested by DirectDraw is too large --  The individual height and\n * width are OK.\n */\n#define DDERR_TOOBIGSIZE                        MAKE_DDHRESULT( 480 )\n\n/*\n * Width requested by DirectDraw is too large.\n */\n#define DDERR_TOOBIGWIDTH                       MAKE_DDHRESULT( 490 )\n\n/*\n * Action not supported.\n */\n#define DDERR_UNSUPPORTED                       E_NOTIMPL\n\n/*\n * Pixel format requested is unsupported by DirectDraw\n */\n#define DDERR_UNSUPPORTEDFORMAT                 MAKE_DDHRESULT( 510 )\n\n/*\n * Bitmask in the pixel format requested is unsupported by DirectDraw\n */\n#define DDERR_UNSUPPORTEDMASK                   MAKE_DDHRESULT( 520 )\n\n/*\n * The specified stream contains invalid data\n */\n#define DDERR_INVALIDSTREAM                     MAKE_DDHRESULT( 521 )\n\n/*\n * vertical blank is in progress\n */\n#define DDERR_VERTICALBLANKINPROGRESS           MAKE_DDHRESULT( 537 )\n\n/*\n * Informs DirectDraw that the previous Blt which is transfering information\n * to or from this Surface is incomplete.\n */\n#define DDERR_WASSTILLDRAWING                   MAKE_DDHRESULT( 540 )\n\n\n/*\n * The specified surface type requires specification of the COMPLEX flag\n */\n#define DDERR_DDSCAPSCOMPLEXREQUIRED            MAKE_DDHRESULT( 542 )\n\n\n/*\n * Rectangle provided was not horizontally aligned on reqd. boundary\n */\n#define DDERR_XALIGN                            MAKE_DDHRESULT( 560 )\n\n/*\n * The GUID passed to DirectDrawCreate is not a valid DirectDraw driver\n * identifier.\n */\n#define DDERR_INVALIDDIRECTDRAWGUID             MAKE_DDHRESULT( 561 )\n\n/*\n * A DirectDraw object representing this driver has already been created\n * for this process.\n */\n#define DDERR_DIRECTDRAWALREADYCREATED          MAKE_DDHRESULT( 562 )\n\n/*\n * A hardware only DirectDraw object creation was attempted but the driver\n * did not support any hardware.\n */\n#define DDERR_NODIRECTDRAWHW                    MAKE_DDHRESULT( 563 )\n\n/*\n * this process already has created a primary surface\n */\n#define DDERR_PRIMARYSURFACEALREADYEXISTS       MAKE_DDHRESULT( 564 )\n\n/*\n * software emulation not available.\n */\n#define DDERR_NOEMULATION                       MAKE_DDHRESULT( 565 )\n\n/*\n * region passed to Clipper::GetClipList is too small.\n */\n#define DDERR_REGIONTOOSMALL                    MAKE_DDHRESULT( 566 )\n\n/*\n * an attempt was made to set a clip list for a clipper objec that\n * is already monitoring an hwnd.\n */\n#define DDERR_CLIPPERISUSINGHWND                MAKE_DDHRESULT( 567 )\n\n/*\n * No clipper object attached to surface object\n */\n#define DDERR_NOCLIPPERATTACHED                 MAKE_DDHRESULT( 568 )\n\n/*\n * Clipper notification requires an HWND or\n * no HWND has previously been set as the CooperativeLevel HWND.\n */\n#define DDERR_NOHWND                            MAKE_DDHRESULT( 569 )\n\n/*\n * HWND used by DirectDraw CooperativeLevel has been subclassed,\n * this prevents DirectDraw from restoring state.\n */\n#define DDERR_HWNDSUBCLASSED                    MAKE_DDHRESULT( 570 )\n\n/*\n * The CooperativeLevel HWND has already been set.\n * It can not be reset while the process has surfaces or palettes created.\n */\n#define DDERR_HWNDALREADYSET                    MAKE_DDHRESULT( 571 )\n\n/*\n * No palette object attached to this surface.\n */\n#define DDERR_NOPALETTEATTACHED                 MAKE_DDHRESULT( 572 )\n\n/*\n * No hardware support for 16 or 256 color palettes.\n */\n#define DDERR_NOPALETTEHW                       MAKE_DDHRESULT( 573 )\n\n/*\n * If a clipper object is attached to the source surface passed into a\n * BltFast call.\n */\n#define DDERR_BLTFASTCANTCLIP                   MAKE_DDHRESULT( 574 )\n\n/*\n * No blter.\n */\n#define DDERR_NOBLTHW                           MAKE_DDHRESULT( 575 )\n\n/*\n * No DirectDraw ROP hardware.\n */\n#define DDERR_NODDROPSHW                        MAKE_DDHRESULT( 576 )\n\n/*\n * returned when GetOverlayPosition is called on a hidden overlay\n */\n#define DDERR_OVERLAYNOTVISIBLE                 MAKE_DDHRESULT( 577 )\n\n/*\n * returned when GetOverlayPosition is called on a overlay that UpdateOverlay\n * has never been called on to establish a destionation.\n */\n#define DDERR_NOOVERLAYDEST                     MAKE_DDHRESULT( 578 )\n\n/*\n * returned when the position of the overlay on the destionation is no longer\n * legal for that destionation.\n */\n#define DDERR_INVALIDPOSITION                   MAKE_DDHRESULT( 579 )\n\n/*\n * returned when an overlay member is called for a non-overlay surface\n */\n#define DDERR_NOTAOVERLAYSURFACE                MAKE_DDHRESULT( 580 )\n\n/*\n * An attempt was made to set the cooperative level when it was already\n * set to exclusive.\n */\n#define DDERR_EXCLUSIVEMODEALREADYSET           MAKE_DDHRESULT( 581 )\n\n/*\n * An attempt has been made to flip a surface that is not flippable.\n */\n#define DDERR_NOTFLIPPABLE                      MAKE_DDHRESULT( 582 )\n\n/*\n * Can't duplicate primary & 3D surfaces, or surfaces that are implicitly\n * created.\n */\n#define DDERR_CANTDUPLICATE                     MAKE_DDHRESULT( 583 )\n\n/*\n * Surface was not locked.  An attempt to unlock a surface that was not\n * locked at all, or by this process, has been attempted.\n */\n#define DDERR_NOTLOCKED                         MAKE_DDHRESULT( 584 )\n\n/*\n * Windows can not create any more DCs, or a DC was requested for a paltte-indexed\n * surface when the surface had no palette AND the display mode was not palette-indexed\n * (in this case DirectDraw cannot select a proper palette into the DC)\n */\n#define DDERR_CANTCREATEDC                      MAKE_DDHRESULT( 585 )\n\n/*\n * No DC was ever created for this surface.\n */\n#define DDERR_NODC                              MAKE_DDHRESULT( 586 )\n\n/*\n * This surface can not be restored because it was created in a different\n * mode.\n */\n#define DDERR_WRONGMODE                         MAKE_DDHRESULT( 587 )\n\n/*\n * This surface can not be restored because it is an implicitly created\n * surface.\n */\n#define DDERR_IMPLICITLYCREATED                 MAKE_DDHRESULT( 588 )\n\n/*\n * The surface being used is not a palette-based surface\n */\n#define DDERR_NOTPALETTIZED                     MAKE_DDHRESULT( 589 )\n\n\n/*\n * The display is currently in an unsupported mode\n */\n#define DDERR_UNSUPPORTEDMODE                   MAKE_DDHRESULT( 590 )\n\n/*\n * Operation could not be carried out because there is no mip-map\n * texture mapping hardware present or available.\n */\n#define DDERR_NOMIPMAPHW                        MAKE_DDHRESULT( 591 )\n\n/*\n * The requested action could not be performed because the surface was of\n * the wrong type.\n */\n#define DDERR_INVALIDSURFACETYPE                MAKE_DDHRESULT( 592 )\n\n\n/*\n * Device does not support optimized surfaces, therefore no video memory optimized surfaces\n */\n#define DDERR_NOOPTIMIZEHW                      MAKE_DDHRESULT( 600 )\n\n/*\n * Surface is an optimized surface, but has not yet been allocated any memory\n */\n#define DDERR_NOTLOADED                         MAKE_DDHRESULT( 601 )\n\n/*\n * Attempt was made to create or set a device window without first setting\n * the focus window\n */\n#define DDERR_NOFOCUSWINDOW                     MAKE_DDHRESULT( 602 )\n\n/*\n * Attempt was made to set a palette on a mipmap sublevel\n */\n#define DDERR_NOTONMIPMAPSUBLEVEL               MAKE_DDHRESULT( 603 )\n\n/*\n * A DC has already been returned for this surface. Only one DC can be\n * retrieved per surface.\n */\n#define DDERR_DCALREADYCREATED                  MAKE_DDHRESULT( 620 )\n\n/*\n * An attempt was made to allocate non-local video memory from a device\n * that does not support non-local video memory.\n */\n#define DDERR_NONONLOCALVIDMEM                  MAKE_DDHRESULT( 630 )\n\n/*\n * The attempt to page lock a surface failed.\n */\n#define DDERR_CANTPAGELOCK                      MAKE_DDHRESULT( 640 )\n\n\n/*\n * The attempt to page unlock a surface failed.\n */\n#define DDERR_CANTPAGEUNLOCK                    MAKE_DDHRESULT( 660 )\n\n/*\n * An attempt was made to page unlock a surface with no outstanding page locks.\n */\n#define DDERR_NOTPAGELOCKED                     MAKE_DDHRESULT( 680 )\n\n/*\n * There is more data available than the specified buffer size could hold\n */\n#define DDERR_MOREDATA                          MAKE_DDHRESULT( 690 )\n\n/*\n * The data has expired and is therefore no longer valid.\n */\n#define DDERR_EXPIRED                           MAKE_DDHRESULT( 691 )\n\n/*\n * The mode test has finished executing.\n */\n#define DDERR_TESTFINISHED                      MAKE_DDHRESULT( 692 )\n\n/*\n * The mode test has switched to a new mode.\n */\n#define DDERR_NEWMODE                           MAKE_DDHRESULT( 693 )\n\n/*\n * D3D has not yet been initialized.\n */\n#define DDERR_D3DNOTINITIALIZED                 MAKE_DDHRESULT( 694 )\n\n/*\n * The video port is not active\n */\n#define DDERR_VIDEONOTACTIVE                    MAKE_DDHRESULT( 695 )\n\n/*\n * The monitor does not have EDID data.\n */\n#define DDERR_NOMONITORINFORMATION              MAKE_DDHRESULT( 696 )\n\n/*\n * The driver does not enumerate display mode refresh rates.\n */\n#define DDERR_NODRIVERSUPPORT                   MAKE_DDHRESULT( 697 )\n\n/*\n * Surfaces created by one direct draw device cannot be used directly by\n * another direct draw device.\n */\n#define DDERR_DEVICEDOESNTOWNSURFACE            MAKE_DDHRESULT( 699 )\n\n\n\n/*\n * An attempt was made to invoke an interface member of a DirectDraw object\n * created by CoCreateInstance() before it was initialized.\n */\n#define DDERR_NOTINITIALIZED                    CO_E_NOTINITIALIZED\n\n\n/* Alpha bit depth constants */\n\n\n#ifdef __cplusplus\n};\n#endif\n\n#ifdef ENABLE_NAMELESS_UNION_PRAGMA\n#pragma warning(default:4201)\n#endif\n\n#endif //__DDRAW_INCLUDED__\n\n\n"
  },
  {
    "path": "Project/SyserApp/Win32/SyserApp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserApp\", \"SyserApp.vcproj\", \"{98C7FDC7-1C34-44B6-991F-EF345437F3F2}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E} = {142E5B2E-BB1F-42A2-B357-81F97F85F86E}\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F} = {1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984} = {094FA380-E96B-4CCB-8F40-D58F53823984}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"EXEAnalyzer\", \"..\\..\\EXEAnalyzer\\Win32\\EXEAnalyzer.vcproj\", \"{094FA380-E96B-4CCB-8F40-D58F53823984}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SerialNumber\", \"..\\..\\SerialNumber\\Win32\\SerialNumber.vcproj\", \"{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Release|Win32.Build.0 = Release|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{98C7FDC7-1C34-44B6-991F-EF345437F3F2}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Release|Win32.Build.0 = Release|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{094FA380-E96B-4CCB-8F40-D58F53823984}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Release|Win32.Build.0 = Release|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{1863E65D-D3EC-4B4E-9B20-0FFB21063C5F}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SyserApp/Win32/SyserApp.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SyserApp\"\n\tProjectGUID=\"{98C7FDC7-1C34-44B6-991F-EF345437F3F2}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS;SYSERAPP\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"ddraw.lib dxguid.lib PsApi.lib Wininet.lib Ws2_32.lib version.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserAppD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"ddraw.lib dxguid.lib PsApi.lib Wininet.lib Ws2_32.lib version.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserApp.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"../../../Addition/SyserDebugger\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS;__DEMO__VERSION__\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tAdditionalDependencies=\"ddraw.lib dxguid.lib PsApi.lib Wininet.lib Ws2_32.lib version.lib\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserApp.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AnalyseCom.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\ColorOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgMsgFilter.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DXTest.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LoadIDAMapFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LoadSourceFile.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NoPDBSymbol.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDriver.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OpenFileForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Process.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegisterForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SNCheck.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebug.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserAboutForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAppCmd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAppOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserInterface.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\AnalyseCom.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\ColorOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DbgMsgFilter.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\Diasdk\\include\\dia2.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DXTest.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LoadIDAMapFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LoadSourceFile.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NoPDBSymbol.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\NTDLLDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\NTDriver.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OpenFileForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Process.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ProcessList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RegisterForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SNCheck.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SourceDebug.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserAboutForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAppCmd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserAppOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SyserDebugger.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserInterface.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserResource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\rt_manif.bin\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\Syser.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserApp.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\SyserOff.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SyserApp/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SyserApp/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SyserApp/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SyserOption/Source/BootOptionForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"BootOptionForm.h\"\n#include \"SyserOptionApp.h\"\n\nenum CBootOptionForm::WISP_FORM_ID\n{\n\tCMD_ID_BOOT_SYSTEM = WISP_ID_USER_START,\n\tCMD_ID_BOOT_AUTOMATIC,\n\tCMD_ID_BOOT_MANUAL\n};\n\nWISP_FORM_RES_ITEM CBootOptionForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,200,300},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Boot Mode\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{70,30,32,32},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:2\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,180,280},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{70,110,100,20},\n\t\tCMD_ID_BOOT_SYSTEM,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"System\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{70,160,100,20},\n\t\tCMD_ID_BOOT_AUTOMATIC,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Automatic\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{70,210,100,20},\n\t\tCMD_ID_BOOT_MANUAL,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Manual\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{70,250,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CBootOptionForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CBootOptionForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\n\nbool CBootOptionForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pSystemBT = (CWispRadioBox*)GetFormItem(CMD_ID_BOOT_SYSTEM);\n\tm_pAutoBT = (CWispRadioBox*)GetFormItem(CMD_ID_BOOT_AUTOMATIC);\n\tm_pManualBT = (CWispRadioBox*)GetFormItem(CMD_ID_BOOT_MANUAL);\n\tm_BootType = -1;\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ȡ\n\tGetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\Start\",&m_BootType,sizeof(int));\n\tif(m_BootType<=0 || m_BootType>3)\n\t{\n\t\tm_BootType = 3;\n\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\Start\",&m_BootType,REG_DWORD);\n\t}\n\t///////////////////////////////////////////////////////////////////////////////////////////////////////////////\t\n\tswitch(m_BootType)\n\t{\n\tcase 1:\n\t\tm_pSystemBT->Check();\n\t\tbreak;\n\tcase 2:\n\t\tm_pAutoBT->Check();\n\t\tbreak;\n\tcase 3:\n\t\tm_pManualBT->Check();\n\t\tbreak;\n\t}\n\tm_OldBootType = m_BootType;\n\treturn true;\n}\n\nbool CBootOptionForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg != WISP_CMD_BT_UP)\n\t\treturn true;\n\tif(m_pSystemBT->m_Style&WISP_WS_MARKED)\n\t\tm_BootType = 1;\n\telse if(m_pAutoBT->m_Style&WISP_WS_MARKED)\n\t\tm_BootType = 2;\n\telse if(m_pManualBT->m_Style&WISP_WS_MARKED)\n\t\tm_BootType = 3;\n\telse\n\t\tm_BootType = -1;\n\tif(m_OldBootType != m_BootType && m_BootType!=-1)\n\t{\n\t\tif(theApp.m_VersionInfo.dwMajorVersion>=6 && m_BootType<3)\n\t\t{\n\t\t\t::MessageBox(theApp.m_hLocalWnd,\"If you choose this boot type , you must close Vista Aero effect!\",\"Warning\",MB_OK);\n\t\t}\n\t\tif(m_BootType < 3 && SyserOption.iVideoDetectMode==SYSER_VDM_USER)\n\t\t{\n\t\t\t::MessageBox(theApp.m_hLocalWnd,\"Change Video Detect Mode to \\\"Auto\\\" to support this boot type\",\"Warning\",MB_OK);\n\t\t\tSyserOption.iVideoDetectMode = SYSER_VDM_AUTO;\n\t\t\tif(SaveSyserOption(theApp.m_szSyserCfgFN,&SyserOption,sizeof(SyserOption))==false)\n\t\t\t\t::MessageBox(theApp.m_hLocalWnd,\"Fail to save Syser.cfg !\",\"Error\",MB_OK);\n\t\t}\n\t\tSetRegValueEx(\"HKLM\\\\SYSTEM\\\\CurrentControlSet\\\\Services\\\\Syser\\\\Start\",&m_BootType,REG_DWORD);\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/BootOptionForm.h",
    "content": "#ifndef _BOOT_OPTION_FORM_H_\n#define _BOOT_OPTION_FORM_H_\n\nclass CBootOptionForm : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK);\n\tCBootOptionForm(){m_pFormRes = m_FormRes;m_BootType = -1;}\n\tCWispRadioBox*\tm_pSystemBT;\n\tCWispRadioBox*\tm_pAutoBT;\n\tCWispRadioBox*\tm_pManualBT;\n\tint\t\t\t\tm_BootType;\n\tint\t\t\t\tm_OldBootType;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/BootTypePage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"BootTypePage.h\"\n\n\nWISP_FORM_RES_ITEM CBootTypePage::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,400},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CBootTypePage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n//\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\n\n//WISP_MSG_CMD_MAP_BEGIN(CBootTypePage)\n//WISP_MSG_CMD_MAP_END\n\nCBootTypePage::CBootTypePage()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCBootTypePage::~CBootTypePage()\n{\n\n}\n\nbool CBootTypePage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/SyserOption/Source/BootTypePage.h",
    "content": "#ifndef _BOOT_TYPE_PAGE_H_\n#define _BOOT_TYPE_PAGE_H_\n\n\n\nclass CBootTypePage : public CWispForm\n{\npublic:\n\tCBootTypePage();\n\t~CBootTypePage();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\npublic:\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/CmdEditPage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CmdEditPage.h\"\n\nenum CCmdEditPage::WISP_FORM_ID\n{\n\tCMD_ID_VERSION_EDIT = WISP_ID_USER_START,\n};\n\nWISP_FORM_RES_ITEM CCmdEditPage::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,500,380},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"About Syser\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{5,5,300,350},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"File\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{330,25,100,80},\n\t\tCMD_ID_OPTION_LIST,\n\t\tWISP_WS_THIN_BORDER|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE,\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{17,25,275,315},\n\t\tWISP_ID_NULL,\n\t\tWISP_ES_LEFT | WISP_WS_BORDER | WISP_ES_MULTILINE | WISP_ES_WANTRETURN,\n\t\tNULL,\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CCmdEditPage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nbool CCmdEditPage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/SyserOption/Source/CmdEditPage.h",
    "content": "#ifndef _CMD_EDIT_PAGE_H_\n#define _CMD_EDIT_PAGE_H_\n\nclass CCmdEditPage : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tCCmdEditPage(){m_pFormRes = m_FormRes;}\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/ExportModulePage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserOptionApp.h\"\n#include \"ExportModulePage.h\"\n\n\nenum CExportModulePage::WISP_FORM_ID\n{\n\tCMD_ID_EXPMOD_FILE_LIST = WISP_ID_USER_START,\n\tCMD_ID_STATIC_GROUP,\n\tCMD_ID_EXPMOD_ADD,\n\tCMD_ID_EXPMOD_REMOVE,\n\tCMD_ID_EXPMOD_APPLY,\n\tCMD_ID_EXPMOD_RELOAD,\n\tCMD_ID_EXPMOD_DEFAULT,\n};\n\nWISP_FORM_RES_ITEM CExportModulePage::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,540,400},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,530,300},\n\t\tCMD_ID_STATIC_GROUP,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Load their export symbols after syser initialization.\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{20,30,400,260},\n\t\tCMD_ID_EXPMOD_FILE_LIST,\n\t\tWISP_WS_THIN_BORDER,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,40,100,20},\n\t\tCMD_ID_EXPMOD_ADD,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Add\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,80,100,20},\n\t\tCMD_ID_EXPMOD_REMOVE,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Remove\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,340,100,20},\n\t\tCMD_ID_EXPMOD_APPLY,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Save\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{10,340,100,20},\n\t\tCMD_ID_EXPMOD_RELOAD,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Reload\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{120,340,100,20},\n\t\tCMD_ID_EXPMOD_DEFAULT,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Default\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CExportModulePage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnResize)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CExportModulePage)\n\tWISP_MSG_CMD_MAP(CMD_ID_EXPMOD_FILE_LIST,OnFileListCommand)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CExportModulePage)\n\tWISP_MSG_EVENT_MAP(CMD_ID_EXPMOD_ADD,OnButtonAdd)\n\tWISP_MSG_EVENT_MAP(CMD_ID_EXPMOD_REMOVE,OnButtonRemove)\n\tWISP_MSG_EVENT_MAP(CMD_ID_EXPMOD_APPLY,OnButtonSave)\n\tWISP_MSG_EVENT_MAP(CMD_ID_EXPMOD_RELOAD,OnButtonReload)\n\tWISP_MSG_EVENT_MAP(CMD_ID_EXPMOD_DEFAULT,OnButtonDefault)\nWISP_MSG_EVENT_MAP_END\n\nCExportModulePage::CExportModulePage()\n{\n\tm_pFormRes = m_FormRes;\n\tGetSystemDirectory(m_ExpModFileName,MAX_FN_LEN);\n\tTStrCat(m_ExpModFileName,\"\\\\drivers\\\\ModExSym.lst\");\n\tGetWindowsDirectoryW(m_szSystemRootDir,MAX_FN_LEN);\n}\n\nbool CExportModulePage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pGroup = (CWispStaticGroup*) GetFormItem(CMD_ID_STATIC_GROUP);\n\tm_pFileList = (CWispList*) GetFormItem(CMD_ID_EXPMOD_FILE_LIST);\n\tm_pSaveBT = (CWispButton*) GetFormItem(CMD_ID_EXPMOD_APPLY);\n\tm_pDefaultBT = (CWispButton*) GetFormItem(CMD_ID_EXPMOD_DEFAULT);\n\tm_pReloadBT = (CWispButton*) GetFormItem(CMD_ID_EXPMOD_RELOAD);\n\tm_pAddBT = (CWispButton*) GetFormItem(CMD_ID_EXPMOD_ADD);\n\tm_pRemoveBT = (CWispButton*) GetFormItem(CMD_ID_EXPMOD_REMOVE);\n\tm_pFileList->InsertColumn(NULL,0,WISP_WLCS_EDITABLE);\n\tLoadExpModFileList();\n\treturn true;\n}\n\nbool CExportModulePage::OnResize(IN WISP_MSG*pMsg)\n{\n\tm_pGroup->Resize(m_ClientRect.cx-20,m_ClientRect.cy-50);\n\tm_pFileList->Resize(m_pGroup->m_WindowRect.cx-130,m_pGroup->m_WindowRect.cy-30);\n\tm_pRemoveBT->MoveToWindow(m_pFileList->m_WindowRect.cx+30,m_pRemoveBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pAddBT->MoveToWindow(m_pFileList->m_WindowRect.cx+30,m_pAddBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pReloadBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x-m_ScrWindowRect.x,m_pGroup->m_ScrWindowRect.y-m_ScrWindowRect.y+m_pGroup->m_WindowRect.cy+10);\n\tm_pDefaultBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x-m_ScrWindowRect.x+m_pReloadBT->m_WindowRect.cx+10,m_pGroup->m_ScrWindowRect.y-m_ScrWindowRect.y+m_pGroup->m_WindowRect.cy+10);\n\tm_pSaveBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x + m_pGroup->m_ScrWindowRect.cx - m_pSaveBT->m_WindowRect.cx - m_ScrWindowRect.x,m_pReloadBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\treturn true;\n}\n\nbool CExportModulePage::OnFileListCommand(IN WISP_MSG*pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_SELECTED:\n\t\tm_pRemoveBT->EnableWindow(true);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_UNSELECTED:\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_CHANGED:\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\n\nbool ConvertFileNameByMacro(WCHAR*szFileName,const WCHAR*szMacro,const WCHAR*szMacroStr)\n{\n\tint Len;\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tLen = TStrLen(szMacro);\n\tif(TStrNICmp(szFileName,szMacro,Len)==0)\n\t{\n\t\tTStrCpy(szBuffer,&szFileName[Len]);\n\t\tTStrCpy(szFileName,szMacroStr);\n\t\tTStrCat(szFileName,szBuffer);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CExportModulePage::IsListItem(PCWSTR szName)\n{\n\tHANDLE hItem = m_pFileList->GetFirstItem();\n\twhile(hItem)\n\t{\n\t\tif(m_pFileList->GetItemText(hItem)==szName)\n\t\t\treturn true;\n\t\thItem = m_pFileList->GetNextItem(hItem);\n\t}\n\treturn false;\n}\n\nbool CExportModulePage::OnButtonAdd(IN WISP_MSG*pMsg)\n{\n\tchar szBuffer[MAX_FN_LEN],szFileName[MAX_FN_LEN];\n\tWCHAR wszFileName[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"PE Module(exe;scr;dll;sys)\\0*.exe;*.scr;*.dll;*.sys\\0All Files\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tGetSystemDirectory(szBuffer,MAX_FN_LEN);\n\tOpenFileName.lpstrInitialDir = szBuffer;\n\t*szFileName = 0;\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t\treturn true;\n\tAnsiToUnicode(szFileName,wszFileName,MAX_FN_LEN);\n\tConvertFileNameByMacro(wszFileName,m_szSystemRootDir,WSTR(\"\\\\SystemRoot\"));\n\tif(IsListItem(wszFileName))\n\t\treturn true;\n\tm_pFileList->InsertItem(wszFileName);\n\tm_pFileList->Update();\n\tm_pSaveBT->EnableWindow(TRUE);\n\tm_pReloadBT->EnableWindow(TRUE);\n\treturn true;\n}\n\nbool CExportModulePage::OnButtonRemove(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = m_pFileList->GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t{\n\t\tm_pFileList->RemoveItem(hItem);\n\t\tm_pFileList->Update();\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t}\n\treturn true;\n}\n\nbool CExportModulePage::OnButtonSave(IN WISP_MSG*pMsg)\n{\n\tif(SaveExpModFileList()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CExportModulePage::OnButtonReload(IN WISP_MSG*pMsg)\n{\n\tif(LoadExpModFileList()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CExportModulePage::OnButtonDefault(IN WISP_MSG*pMsg)\n{\n\tgpFileIO->WriteToFile(m_ExpModFileName,DefaultPEExportList,TStrLen(DefaultPEExportList));\n\tOnButtonReload(pMsg);\n\treturn true;\n}\n\nbool CExportModulePage::LoadExpModFileList()\n{\n\tCTXTFile\tTXTFile;\n\tif(TXTFile.Open(m_ExpModFileName)==false)\n\t\treturn false;\n\tm_pFileList->ClearChildItem();\n\tfor(TTXTStrList::IT Iter = TXTFile.m_StrList.Begin();Iter!=TXTFile.m_StrList.End();Iter++)\n\t{\n\t\tm_pFileList->InsertItemA(*Iter);\n\t}\n\tTXTFile.Close();\n\treturn true;\n}\n\nbool CExportModulePage::SaveExpModFileList()\n{\n\tCHAR szBuffer[MAX_FN_LEN+2];\n\tCImageFileStream File;\n\tHANDLE hItem = m_pFileList->GetFirstItem();\n\tif(hItem==NULL)\n\t{\n\t\tgpFileIO->DeleteFile(m_ExpModFileName);\n\t\treturn true;\n\t}\n\tif(File.Create(m_ExpModFileName)==false)\n\t\treturn false;\n\twhile(hItem)\n\t{\n\t\tUnicodeToAnsi(m_pFileList->GetItemText(hItem),szBuffer,MAX_FN_LEN);\n\t\tTStrCat(szBuffer,\"\\r\\n\");\n\t\tFile.Puts(szBuffer,TStrLen(szBuffer));\n\t\thItem = m_pFileList->GetNextItem(hItem);\n\t}\n\tFile.Close();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/ExportModulePage.h",
    "content": "#ifndef _EXPORT_MODULE_PAGE_H_\n#define _EXPORT_MODULE_PAGE_H_\n\nclass CExportModulePage : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG(OnResize);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnFileListCommand)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnButtonAdd)\n\tDECLARE_WISP_MSG_EVENT(OnButtonRemove)\n\tDECLARE_WISP_MSG_EVENT(OnButtonSave)\n\tDECLARE_WISP_MSG_EVENT(OnButtonReload)\n\tDECLARE_WISP_MSG_EVENT(OnButtonDefault)\n\tCExportModulePage();\n\tCWispStaticGroup*m_pGroup;\n\tCWispList*\tm_pFileList;\n\tCWispButton*m_pSaveBT;\n\tCWispButton*m_pReloadBT;\n\tCWispButton*m_pDefaultBT;\n\tCWispButton*m_pAddBT;\n\tCWispButton*m_pRemoveBT;\n\tCHAR\tm_ExpModFileName[MAX_FN_LEN];\n\tWCHAR\tm_szSystemRootDir[MAX_FN_LEN];\n\tbool\tLoadExpModFileList();\n\tbool\tSaveExpModFileList();\n\tbool\tIsListItem(PCWSTR szName);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/SyserOption/Source/GUIColorPage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserOptionApp.h\"\n#include \"GUIColorPage.h\"\n\nenum \n{\n\tINDEX_clrBackground = 0,\n\tINDEX_clrText,\n\tINDEX_clrSelectedFrame,\n\tINDEX_clrLostFocusSelFrame,\n\tINDEX_clrChgText,\n\tINDEX_clrMON_MAX\n};\n\nWISP_OPTION_ITEM MonitorWindowOption[]=\n{\n\t{WSTR(\"Background\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrBackground ,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Item text\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrText ,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSelectedFrame ,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame when lost focus\"),OPTION_RGB_COLORREF,&ColorOption.clrLostFocusSelFrame,\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Changed item text\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrChgText ,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{NULL}\n};\n\nenum \n{\n\tINDEX_clrCVBK = 0,\n\tINDEX_clrCVSelectedFrame,\n\tINDEX_clrCVLostFocusSelFrame,\n\tINDEX_clrCVAddr,\n\tINDEX_clrCVPrefix,\n\tINDEX_clrCVOpCode,\n\tINDEX_clrCVReg,\n\tINDEX_clrCVSegReg,\n\tINDEX_clrCVImmed,\n\tINDEX_clrCVOptr,\n\tINDEX_clrCVSymbol,\n\tINDEX_clrCVComment,\n\tINDEX_clrCVKeyword,\n\tINDEX_clrCVStr,\n\tINDEX_clrCVBPXStrip,\n\tINDEX_clrCVEIPStrip,\n\tINDEX_clrCVBPXEIPStrip,\n\tINDEX_clrCVAPIName,\n\tINDEX_clrCVAPIParamType,\n\tINDEX_clrCVAPIParamName,\n\tINDEX_clrCVJmpLine,\n\tINDEX_clrCVActivedJmpLine,\n\tINDEX_clrCVPrefixByte,\n\tINDEX_clrCVOpcodeByte,\n\tINDEX_clrCVRegRMByte,\n\tINDEX_clrCVSIBByte,\n\tINDEX_clrCVOtherOpcodeType,\n\tINDEX_clrCV3DNowByte,\n\tINDEX_clrCV_MAX\n};\n\nWISP_OPTION_ITEM CodeViewOption[]=\n{\n\t{WSTR(\"Background\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVBK,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVSelectedFrame,\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame when lost focus\"),OPTION_RGB_COLORREF,&ColorOption.clrCVLostFocusSelFrame,sizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Address\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVAddr ,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Prefix\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVPrefix,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Operate Code\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVOpCode,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Register\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVReg,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Segment Register\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVSegReg,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Immed\"),\t\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVImmed,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Operater\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVOptr,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Symbol\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVSymbol,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Comment\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVComment,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Keyword\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVKeyword,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"String\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVStr,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"BPX Strip\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVBPXStrip,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"EIP Strip\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVEIPStrip,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"BPX EIP Strip\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVBPXEIPStrip,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"API Name\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVAPIName,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Param Type\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVAPIParamType,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Param Name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVAPIParamName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Jump Line\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVJmpLine,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Actived Jump Line\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVActivedJmpLine,\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Prefix Byte\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVPrefixByte,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Opcode Byte\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVOpcodeByte,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"RegRM Byte\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVRegRMByte,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"SIB Byte\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVSIBByte,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Other Opcode Byte\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCVOtherOpcodeByte,\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"3dNow! Immediate Byte\"),\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrCV3DNowByte,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{NULL}\n};\n\nenum\n{\n\tINDEX_clrSDBK = 0,\n\tINDEX_clrSDSelectedFrame,\n\tINDEX_clrSDLostFocusSelFrame,\n\tINDEX_clrSDKeyword,\n\tINDEX_clrSDId,\n\tINDEX_clrSDPrekeyWord,\n\tINDEX_clrSDCmtBlock,\n\tINDEX_clrSDCmtLine,\n\tINDEX_clrSDString,\n\tINDEX_clrSDNum,\n\tINDEX_clrSDOperation,\n\tINDEX_clrSDClassName,\n\tINDEX_clrSDStructName,\n\tINDEX_clrSDUnionName,\n\tINDEX_clrSDTypedefName,\n\tINDEX_clrSDFunctionName,\n\tINDEX_clrSDUnknown,\n\tINDEX_clrSD_MAX\n};\n\n\nWISP_OPTION_ITEM SourceCodeViewOption[]=\n{\n\t{WSTR(\"Background\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDBK,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame\"),\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDSelectedFrame,\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Selected frame when lost focus\"),OPTION_RGB_COLORREF,&ColorOption.clrSDLostFocusSelFrame,sizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Keyword\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDKeyword,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Identifier\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDId,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Preprocessor Keyword\"),\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDPrekeyWord,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Comment block\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDCmtBlock,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Comment line\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDCmtLine,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"String\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDString,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Numerical\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDNum,\t\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Operation\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDOperation,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Class name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDClassName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Struct name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDStructName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Union name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDUnionName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Typedef name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDTypedefName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Function name\"),\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDFunctionName,\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{WSTR(\"Unknown\"),\t\t\t\t\t\tOPTION_RGB_COLORREF,&ColorOption.clrSDUnknown,\t\t\tsizeof(COLORREF),NULL,NULL,&ColorOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM ColorOptionTitle[]=\n{\n\t{WSTR(\"Monitor window\"),OPTION_TITLE,MonitorWindowOption},\n\t{WSTR(\"Code View\"),OPTION_TITLE,CodeViewOption},\n\t{WSTR(\"Source Code View\"),OPTION_TITLE,SourceCodeViewOption},\n\t{NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CGUIColorPage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispOptionForm)\n\n\nWISP_MSG_CMD_MAP_BEGIN(CGUIColorPage)\n\tWISP_MSG_CMD_MAP(CMD_ID_OPTION_LIST,OnListCmd);\nWISP_MSG_CMD_MAP_END\n\nCGUIColorPage::FPGUIColorSimMothed\tCGUIColorPage::m_Mothed[MAX_COLOR_DEMO]=\n{\n\t&CGUIColorPage::DrawMonitorDemo,\n\t&CGUIColorPage::DrawCodeViewDemo,\n\t&CGUIColorPage::DrawSourceCodeViewDemo,\n};\n\nCGUIColorPage::CGUIColorPage()\n{\n\tm_DemoHeight = 120;\n\tm_pOptionItem = ColorOptionTitle;\n}\n\nbool CGUIColorPage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tCWispOptionForm::OnFormCreate(pMsg);\n\tm_DemoGroup.Create(WISP_STR(\"Preview\"),10,5,m_ClientRect.cx-20,m_DemoHeight-10,this);\n\tm_DemoDIB.Create(520,m_DemoGroup.m_WindowRect.cy - 25,WISP_DIB_BITMAP);\n\tm_DemoDIB.Clear();\n\tm_OptionList.Move(0,m_DemoHeight);\n\tm_OptionList.SetOwner(this);\n\tFillOptionTreeValue();\n\tif(ColorOption.CRCCode == OrgColorOption.CRCCode)\n\t\tm_pDefaultBT->EnableWindow(false);\n\tm_CurMothed = MAX_COLOR_DEMO;\n\treturn false;\n}\n\nbool CGUIColorPage::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_DemoGroup.Resize(m_ClientRect.cx-20,m_DemoHeight-10);\n\tm_OptionList.Resize(m_ClientRect.cx-20,m_ClientRect.cy-50-m_DemoHeight);\n\tm_pRestoreBT->MoveToWindow(m_OptionList.m_ScrWindowRect.x-m_ScrWindowRect.x,m_OptionList.m_ScrWindowRect.y-m_ScrWindowRect.y+m_OptionList.m_WindowRect.cy+10);\n\tif(m_pDefaultBT->IsVisible())\n\t\tm_pDefaultBT->MoveToWindow(m_pRestoreBT->m_ScrWindowRect.x + m_pRestoreBT->m_WindowRect.cx + 10 -m_ScrWindowRect.x,m_pRestoreBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\tm_pApplyBT->MoveToWindow(m_OptionList.m_ScrWindowRect.x + m_OptionList.m_ScrWindowRect.cx - m_pApplyBT->m_WindowRect.cx - m_ScrWindowRect.x,\n\t\tm_pRestoreBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\treturn false;\n}\n\nbool CGUIColorPage::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_DemoDIB.Destroy();\n\treturn true;\n}\n\nbool CGUIColorPage::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tint x,y;\n\tCWispOptionForm::OnUpdateClient(pMsg);\n\tx = (m_ClientRect.cx-m_DemoDIB.Width())/2;\n\ty = 20;\n\tm_ClientDC.DrawDIB(x,y,&m_DemoDIB);\n\tm_ClientDC.DrawFrameRect(x-1,y-1,m_DemoDIB.Width()+2,m_DemoDIB.Height()+2,false);\n\treturn false;\n}\n\nvoid CGUIColorPage::OptionApplyNotify()\n{\n\tif(ColorOptionRef)//SyserColor.cfg޸\n\t{\n\t\tColorOptionRef = 0;\n\t\tSaveSyserOption(theApp.m_szColorCfgFN,&ColorOption,sizeof(ColorOption));\n\t}\n\t//ȽļǷĬϵһ,һDefaultť\n\tif(\tColorOption.CRCCode == OrgColorOption.CRCCode)\n\t\tm_pDefaultBT->EnableWindow(false);\n\ttheApp.SendSyserMsg(IOCTL_SYSER_RELOAD_COLOR_CONFIG);\n}\n\nbool CGUIColorPage::OptionBeforeDefaultNotify()\n{\n\tColorOption = OrgColorOption;\n\tColorOptionRef = 0;\n\treturn true;\n}\n\nvoid CGUIColorPage::OptionDefaultNotify()\n{\n\tSaveSyserOption(theApp.m_szColorCfgFN,&ColorOption,sizeof(ColorOption));\n\tif(m_CurMothed<MAX_COLOR_DEMO)\n\t\t(this->*m_Mothed[m_CurMothed])();\n\ttheApp.SendSyserMsg(IOCTL_SYSER_RELOAD_COLOR_CONFIG);\n}\n\nbool CGUIColorPage::OnListCmd(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tif(pMsg->Command.CmdMsg != WISP_CMD_ITEM_SELECTED)\n\t\treturn true;\n\t//лDemo DIB;\n\thItem = pMsg->Command.Param2;\n\tif(m_OptionList.GetItemLevel(hItem)==1)\n\t\thItem = m_OptionList.GetParentItem(hItem);\n\tCOLOR_DEMO_INDEX Mothed = (COLOR_DEMO_INDEX)m_OptionList.GetItemIndex(hItem);\n\tif(m_CurMothed!=Mothed)\n\t{\n\t\tm_CurMothed = Mothed;\n\t\t(this->*m_Mothed[m_CurMothed])();\n\t}\n\treturn true;\n}\n\nvoid CGUIColorPage::DrawMonitorDemo()\n{\n\tCWispDC dc;\n\tdc.AttachDIB(&m_DemoDIB);\n\t////////////////////////////\n\tCOLORREF clrBackground = *(COLORREF*)MonitorWindowOption[INDEX_clrBackground].pNewValue;\n\tCOLORREF clrText = *(COLORREF*)MonitorWindowOption[INDEX_clrText].pNewValue;\n\tCOLORREF clrSelectedFrame = *(COLORREF*)MonitorWindowOption[INDEX_clrSelectedFrame].pNewValue;\n\tCOLORREF clrChgText = *(COLORREF*)MonitorWindowOption[INDEX_clrChgText].pNewValue;\n\t\n\t\n\tdc.DrawFullRect(0,0,m_DemoDIB.Width(),m_DemoDIB.Height(),clrBackground);\n\tdc.SetTextColor(clrText);\n\tdc.DrawString(5,5,WSTR(\"EAX\"));\n\tdc.DrawString(40,5,WSTR(\"00000001\"));\n\t\n\tdc.DrawString(5,20,WSTR(\"EBX\"));\n\tdc.SetTextColor(clrChgText);\n\tdc.DrawString(40,20,WSTR(\"7FFBC2A0\"));\n\tdc.RestoreTextColor();\n\n\tdc.DrawString(5,35,WSTR(\"EIP\"));\n\tdc.DrawString(40,35,WSTR(\"00401000\"));\n\t\n\tdc.DrawRect(0,35,m_DemoDIB.Width()-1,12,clrSelectedFrame);\n\n\t////////////////////////////\n\tUpdateClient();\n}\n\nvoid CGUIColorPage::DrawCodeViewDemo()\n{\n\tCWispDC dc;\n\tdc.AttachDIB(&m_DemoDIB);\n\t//////////////////////////////\n\tWISP_COLOR_CHAR szBuffer[256];\n\tCOLORREF ColorTable[INDEX_clrCV_MAX];\n\tfor(int n=0;n<INDEX_clrCV_MAX;n++)\n\t{\n\t\tColorTable[n] = *(COLORREF*)CodeViewOption[n].pNewValue;\n\t}\n\tdc.SetColorTable(ColorTable);\n\tdc.DrawFullRect(0,0,m_DemoDIB.Width(),m_DemoDIB.Height(),ColorTable[INDEX_clrCVBK]);\n\n\tWISP_RECT rc;\n\trc.x = 0;\n\trc.y = 4;\n\trc.cx = m_DemoDIB.Width();\n\trc.cy = 15;\n\tdc.DrawFullRect(&rc,ColorTable[INDEX_clrCVEIPStrip]);\n\trc.y+=30;\n\tdc.DrawRect(&rc,ColorTable[INDEX_clrCVSelectedFrame]);\n\n\n\trc.y = 0;\n\trc.cy = m_DemoDIB.Height();\n\trc.cx = 2;\n\n\trc.x = 55;\n\tdc.DrawFrameRect(&rc,false);\n\trc.x = 110;\n\tdc.DrawFrameRect(&rc,false);\n\trc.x = 270;\n\tdc.DrawFrameRect(&rc,false);\n\n\tdc.SetColorTable(ColorTable);\n\tint y = 5;\n\tint Off;\n\tOff = ColorStrCpy(szBuffer,\t\t \"00401000 \",INDEX_clrCVAddr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"F3A4      \",INDEX_clrCVImmed,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"REPZ  \",INDEX_clrCVPrefix,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"MOVSB \",INDEX_clrCVOpCode,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\tOff = ColorStrCpy(szBuffer,\t\t \"00401002 \",INDEX_clrCVAddr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"E8003200  \",INDEX_clrCVImmed,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"CALL  \",INDEX_clrCVOpCode,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"Func_Symbol\",INDEX_clrCVSymbol,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\tOff = ColorStrCpy(szBuffer,\t\t \"00401006 \",INDEX_clrCVAddr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"0FB701    \",INDEX_clrCVImmed,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"MOVZX \",INDEX_clrCVOpCode,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"EAX\",INDEX_clrCVReg,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\",\",INDEX_clrCVOptr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"WORD PTR \",INDEX_clrCVKeyword,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"[\",INDEX_clrCVOptr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"ECX\",INDEX_clrCVReg,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"]\",INDEX_clrCVOptr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"  Comment\",INDEX_clrCVComment,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\tOff = ColorStrCpy(szBuffer,\t\t \"00401009 \",INDEX_clrCVAddr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"268B06    \",INDEX_clrCVImmed,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"MOV   \",INDEX_clrCVOpCode,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"EAX\",INDEX_clrCVReg,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\",\",INDEX_clrCVOptr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"ES\",INDEX_clrCVSegReg,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\":[\",INDEX_clrCVOptr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"ESI\",INDEX_clrCVReg,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"]\",INDEX_clrCVOptr,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\tOff = ColorStrCpy(szBuffer,\t\t \"0040100B \",INDEX_clrCVAddr,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"268B06    \",INDEX_clrCVImmed,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"CALL  \",INDEX_clrCVOpCode,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"SetLastError\",INDEX_clrCVSymbol,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"        VOID \",INDEX_clrCVAPIParamType,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"SetLastError\",INDEX_clrCVAPIName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"(\",INDEX_clrCVOpCode,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"IN DWORD \",INDEX_clrCVAPIParamType,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"dwErrCode\",INDEX_clrCVAPIParamName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\")\",INDEX_clrCVOpCode,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\t////////////////////////////\n\tUpdateClient();\n}\n\nvoid CGUIColorPage::DrawSourceCodeViewDemo()\n{\n\tCWispDC dc;\n\tdc.AttachDIB(&m_DemoDIB);\n\t//////////////////////////////\n\tWISP_COLOR_CHAR szBuffer[256];\n\tCOLORREF ColorTable[INDEX_clrSD_MAX];\n\tfor(int n=0;n<INDEX_clrSD_MAX;n++)\n\t{\n\t\tColorTable[n] = *(COLORREF*)SourceCodeViewOption[n].pNewValue;\n\t}\n\tdc.SetColorTable(ColorTable);\n\tdc.DrawFullRect(0,0,m_DemoDIB.Width(),m_DemoDIB.Height(),ColorTable[INDEX_clrSDBK]);\n\n\tdc.SetColorTable(ColorTable);\n\tint y = 5;\n\tint Off;\n\tOff = ColorStrCpy(szBuffer,\t\t \"#\",INDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"include \",INDEX_clrSDPrekeyWord,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"<\",INDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"stdio.h\",INDEX_clrSDString,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\">\",INDEX_clrSDOperation,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\n\tWISP_RECT rc;\n\trc.x = 0;\n\trc.y = 34;\n\trc.cx = m_DemoDIB.Width();\n\trc.cy = 15;\n\tdc.DrawRect(&rc,ColorTable[INDEX_clrSDSelectedFrame]);\n\n\tOff = ColorStrCpy(szBuffer,\t\t \"int \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"main\",INDEX_clrSDFunctionName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"(\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"int \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"argc\",INDEX_clrSDId,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\",\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"char\",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"*\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"argv\",INDEX_clrSDId,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\");\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"// Main Function\",INDEX_clrSDCmtLine,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\tOff = ColorStrCpy(szBuffer,\t\t \"typedef int \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCat(&szBuffer[Off],\"INT\",INDEX_clrSDTypedefName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\";\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"/* new typedef of int */\",INDEX_clrSDCmtBlock,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\t////////////////////////////\n\tOff = ColorStrCpy(szBuffer,\t\t \"class \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCat(&szBuffer[Off],\"CFile\",INDEX_clrSDClassName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\";\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"struct \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCat(&szBuffer[Off],\"ST_FILE\",INDEX_clrSDStructName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\";\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"union \",INDEX_clrSDKeyword,0);\n\tOff+= ColorStrCat(&szBuffer[Off],\"UN_FILE\",INDEX_clrSDUnionName,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\";\",\tINDEX_clrSDOperation,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\t////////////////////////////\n\tOff = ColorStrCpy(szBuffer,\t\t \"INT \",INDEX_clrSDTypedefName,0);\n\tOff+= ColorStrCat(&szBuffer[Off],\"Value\",INDEX_clrSDId,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"=\",\tINDEX_clrSDOperation,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\"1000\",INDEX_clrSDNum,0);\n\tOff+= ColorStrCpy(&szBuffer[Off],\";\",\tINDEX_clrSDOperation,0);\n\tdc.DrawColorString(5,y,szBuffer);y+=15;\n\tUpdateClient();\t\n}\n\nvoid CGUIColorPage::OnModify(HANDLE hItem)\n{\n\tCWispOptionForm::OnModify(hItem);\n\tif(m_CurMothed<MAX_COLOR_DEMO)\n\t\t(this->*m_Mothed[m_CurMothed])();\n}\n\nvoid CGUIColorPage::OptionRestoreNotify()\n{\n\tif(m_CurMothed<MAX_COLOR_DEMO)\n\t\t(this->*m_Mothed[m_CurMothed])();\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/GUIColorPage.h",
    "content": "#ifndef _GUI_COLOR_PAGE_H_\n#define _GUI_COLOR_PAGE_H_\n\nenum COLOR_DEMO_INDEX\n{\n\tCOLOR_DEMO_MONITOR = 0,\n\tCOLOR_DEMO_CODE_VIEW,\n\tCOLOR_DEMO_SOURCE_CODE_VIEW,\n\tMAX_COLOR_DEMO,\n};\n\nclass CGUIColorPage : public CWispOptionForm\n{\n\ttypedef void (CGUIColorPage::*FPGUIColorSimMothed)();\npublic:\n\tCGUIColorPage();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnListCmd)\n\tvoid OptionApplyNotify();\n\tbool OptionBeforeDefaultNotify();\n\tvoid OptionDefaultNotify();\n\tvoid OnModify(HANDLE hItem);\n\tvoid OptionRestoreNotify();\n\tint\tm_DemoHeight;\n\tCOLOR_DEMO_INDEX\tm_CurMothed;\n\tCWispDIB\tm_DemoDIB;\n\tCWispStaticGroup\tm_DemoGroup;\n\tvoid DrawMonitorDemo();\n\tvoid DrawCodeViewDemo();\n\tvoid DrawSourceCodeViewDemo();\n\tstatic FPGUIColorSimMothed\tm_Mothed[MAX_COLOR_DEMO];\n};\n\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/MainFrame.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserOptionApp.h\"\n\nWISP_MSG_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\nWISP_MSG_MAP_END(CWispWnd)\n\nbool CMainFrame::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_Style|=WISP_WS_BACK_TRANS;\n\tm_MainTabWnd.Create(NULL,0,0,m_ClientRect.cx,m_ClientRect.cy,this,WISP_ID_MAIN_TAB,WISP_TWS_TOP);\n\tm_OptionPage.CreateForm(&m_MainTabWnd);\n\tm_GUIColorPage.CreateForm(&m_MainTabWnd);\n\tm_SDSFilePage.CreateForm(&m_MainTabWnd);\n\tm_ExportModulePage.CreateForm(&m_MainTabWnd);\n\tm_KeyMappingPage.CreateForm(&m_MainTabWnd);\n\n\tm_MainTabWnd.InsertWnd(WSTR(\"Option\"),&m_OptionPage,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,29));\n\tm_MainTabWnd.InsertWnd(WSTR(\"Module Export Symbols\"),&m_ExportModulePage,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,50));\n\tm_MainTabWnd.InsertWnd(WSTR(\"SDS Symbols\"),&m_SDSFilePage,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,17));\n\tm_MainTabWnd.InsertWnd(WSTR(\"Color\"),&m_GUIColorPage,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,55));\n\tm_MainTabWnd.InsertWnd(WSTR(\"Key Mapping\"),&m_KeyMappingPage,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,7)); \n\treturn true;\n}\n\nbool CMainFrame::OnSize(IN WISP_MSG*pMsg)\n{\n\tm_MainTabWnd.Resize(m_ClientRect.cx,m_ClientRect.cy);\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/MainFrame.h",
    "content": "#ifndef _MAIN_FRAME_H_\n#define _MAIN_FRAME_H_\n\n#include \"OptionPage.h\"\n#include \"CmdEditPage.h\"\n#include \"SDSFilePage.h\"\n#include \"GUIColorPage.h\"\n#include \"ExportModulePage.h\"\n#include \"../../syser/Source/KeyMappingPage.h\"\n\nclass CMainFrame : public CWispWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnSize);\npublic:\n\tCOptionPage\t\tm_OptionPage;\n\tCCmdEditPage\tm_CmdEditPage;\n\tCWispTabWnd\t\tm_MainTabWnd;\n\tCGUIColorPage\tm_GUIColorPage;\n\tCSDSFilePage\tm_SDSFilePage;\n\tCExportModulePage\tm_ExportModulePage;\n\tCKeyMappingPage m_KeyMappingPage;\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/OptionPage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"OptionPage.h\"\n#include \"SyserOptionApp.h\"\n\nextern int\tSyserAppOptionRef;\nextern int\tSyserOptionRef;\n//Form Resource\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//Option List\nWISP_PCSTR OnOffList[]=\n{\n\tWISP_STR(\"Off\"),\n\tWISP_STR(\"On\"),\n\tNULL\n};\nWISP_PCSTR NoYesList[]=\n{\n\tWISP_STR(\"No\"),\n\tWISP_STR(\"Yes\"),\n\tNULL\n};\n\nWISP_PCSTR DisableEnableList[]=\n{\n\tWISP_STR(\"Disable\"),\n\tWISP_STR(\"Enable\"),\n\tNULL\n};\n\nWISP_PCSTR StartPageList[]=\n{\n\tWISP_STR(\"Console\"),\n\tWISP_STR(\"Process Moniter\"),\n\tWISP_STR(\"Symbol Download\"),\n\tWISP_STR(\"Option\"),\n\tNULL\n};\n\nWISP_PCSTR SyserDebuggerFollowModeList[]=\n{\n\tWISP_STR(\"Automatic (Relative to EIP)\"),\n\tWISP_STR(\"System Explorer\"),\n\tWISP_STR(\"Source Explorer\"),\n\tNULL\n};\nWISP_PCSTR SyserI3hereStatus[]=\n{\n\tWISP_STR(\"I3Here is off\"),\n\tWISP_STR(\"I3Here is on\"),\n\tWISP_STR(\"I3Here is on for device drivers (addr > 2G)\"),\n\tNULL\n};\n\nWISP_PCSTR AutoActionList[]=\n{\n\tWISP_STR(\"No\"),\n\tWISP_STR(\"Yes\"),\n\tWISP_STR(\"Query User\"),\n\tNULL\n};\n\nWISP_PCSTR ConnectList[]=\n{\n\tWISP_STR(\"Disable\"),\n\tWISP_STR(\"Serial Port\"),\n\tNULL\n};\n\nWISP_PCSTR DirSelectList[]=\n{\n\tWISP_STR(\"Browse\"),\n\tWISP_STR(\"Edit\"),\n\tWISP_STR(\"Current Path & Edit\"),\n\tNULL\n};\n\nWISP_PCSTR BootTypeList[]=\n{\n\tWISP_STR(\"%dBoot\"),\n\tWISP_STR(\"System\"),\n\tWISP_STR(\"Automatic\"),\n\tWISP_STR(\"Manual\"),\n\tNULL\n};\n\nWISP_PCSTR SyserVideoAttachType[]=\n{\n\tWISP_STR(\"Auto (If you don't care)\"),\n\tWISP_STR(\"User Mode (High Compatibility)\"),\n\tWISP_STR(\"Kernel Mode (Supports DirectX)\"),\n\tNULL\n};\n\nWISP_PCSTR SyserKeyboardLayerType[]=\n{\n\tWISP_STR(\"Normal\"),\n\tWISP_STR(\"Azerty\"),\n\tNULL\n};\n\n\nbool TValueTestWidth(void*pValue)\n{\n\tint Value = *(int*)pValue;\n\treturn Value >= 640 && Value <= SyserOption.iMaxWndWidth;\n}\n\nbool TValueTestHeight(void*pValue)\n{\n\tint Value = *(int*)pValue;\n\treturn Value >= 480 && Value <= SyserOption.iMaxWndHeight;\n}\n\nWISP_OPTION_ITEM SyserDebuggerOption[]=\n{\n\t{WSTR(\"Start Syser Debugger when SyserApp launch\"),\t\tOPTION_SELECT_INT,\t&SyserAppOption.iAutoStart,\t\tsizeof(int),AutoActionList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Stop Syser Debugger when SyserApp exit\"),\t\tOPTION_SELECT_INT,\t&SyserAppOption.iAutoStop ,\t\tsizeof(int),AutoActionList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Video Detect Mode (Restart Syser to apply)\"),\tOPTION_SELECT_INT,\t&SyserOption.iVideoDetectMode,\tsizeof(int),SyserVideoAttachType,NULL,&SyserOptionRef},\n\t{WSTR(\"Big Font (Restart Syser to apply)\"),\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.iBigFont,\t\t\tsizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"EIP Follow Mode\"),\t\t\t\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.iFollowMode,\t\tsizeof(int),SyserDebuggerFollowModeList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Full Symbol (Include Module Name)\"),\t\tOPTION_SELECT_INT,\t&SyserOption.iShowFullSym,\t\tsizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Mouse Sensitivity (1 - 30)\"),\t\t\t\t\tOPTION_INT,\t\t\t&SyserOption.iMouseSensitivity,\tsizeof(int),NULL,TValueTest<int,1,30>,&SyserOptionRef},\n\t{WSTR(\"Command Histroy lines [100 - 10000]\"),\t\t\tOPTION_INT,\t\t\t&SyserOption.iHistroyLines,\t\tsizeof(int),NULL,TValueTest<int,100,10000>,&SyserOptionRef},\n\t{WSTR(\"Start window width  [640 - Max window width ]\"),\tOPTION_INT,\t\t\t&SyserOption.iStartWndWidth,\tsizeof(int),NULL,TValueTestWidth,&SyserOptionRef},\n\t{WSTR(\"Start window height [480 - Max window height]\"),\tOPTION_INT,\t\t\t&SyserOption.iStartWndHeight,\tsizeof(int),NULL,TValueTestHeight,&SyserOptionRef},\n\t{WSTR(\"Keyboard layer\"),\t\t\t\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.iKeyboardLayer,\tsizeof(int),SyserKeyboardLayerType,NULL,&SyserOptionRef},\n\t{WSTR(\"i3here command default status\"),\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.i3here,\t\t\tsizeof(int),SyserI3hereStatus,NULL,&SyserOptionRef},\n\t{WSTR(\"i1here command default status\"),\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.i1here,\t\t\tsizeof(int),OnOffList,NULL,&SyserOptionRef},\n\t{WSTR(\"faults command default status\"),\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.ifaults,\t\t\tsizeof(int),OnOffList,NULL,&SyserOptionRef},\n\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserLoaderOption[]=\n{\n\t{WSTR(\"Stays in system tray\"),\t\t\t\t\t\t\tOPTION_SELECT_INT,\t&SyserAppOption.iSystemTray,\tsizeof(int),NoYesList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Top Most\"),\t\t\t\t\t\t\t\t\t\tOPTION_SELECT_INT,\t&SyserAppOption.iTopMost,\t\tsizeof(int),NoYesList,NULL,&SyserAppOptionRef},\n\t{WSTR(\"Show Syser start splash\"),\t\t\t\t\t\tOPTION_SELECT_INT,\t&SyserOption.iShowStartSplash,\tsizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Histroy lines [100 - 1000]\"),\t\t\t\t\tOPTION_INT,\t\t\t&SyserAppOption.iHistroyLines,\tsizeof(int),NULL,TValueTest<int,100,1000>,&SyserAppOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SourceDebuggerOption[]=\n{\n\t{WSTR(\"Syntax Color\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeSyntaxColors,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Tips\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowTips ,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{WSTR(\"Show Line Numbers\"),OPTION_SELECT_INT,&SyserOption.iSourceCodeShowLineNumbers ,sizeof(int),NoYesList,NULL,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SerialPortOption[]=\n{\n\t{WSTR(\"COM Port\"),OPTION_INT,&SyserOption.iComPort,sizeof(int),NULL,TValueTest<int,1,255>,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM RemoteDebuggerOption[]=\n{\n\t{WSTR(\"Connect Type\"),OPTION_SELECT_INT,&SyserOption.iConnectType,sizeof(int),ConnectList,NULL,&SyserOptionRef},\n\t{WSTR(\"Serial Port Configure\"),OPTION_TITLE,SerialPortOption},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserAdvanceOption[]=\n{\n\t{WSTR(\"Geneal heap size [15 - 40]M\"),OPTION_INT,&SyserOption.iHeapSizeM,sizeof(int),NULL,TValueTest<int,MIN_MAIN_HEAP,MAX_MAIN_HEAP>,&SyserOptionRef},\n\t{WSTR(\"Source Code heap size [6 - 40]M\"),OPTION_INT,&SyserOption.iSourceCodeHeapSizeM,sizeof(int),NULL,TValueTest<int,MIN_SOURCE_CODE_HEAP,MAX_SOURCE_CODE_HEAP>,&SyserOptionRef},\n\t{WSTR(\"Stack size [512 - 4096]K\"),OPTION_INT,&SyserOption.iStackSizeK,sizeof(int),NULL,TValueTest<int,512,4096>,&SyserOptionRef},\n\t{WSTR(\"Enable Hardware Timer\"),OPTION_SELECT_INT,&SyserOption.iHardTimerEnable,sizeof(int),DisableEnableList,NULL,&SyserOptionRef},\n\t{WSTR(\"Max window width  [640 - 2048]\"),OPTION_INT,&SyserOption.iMaxWndWidth ,sizeof(int),NULL,TValueTest<int,640,2048>,&SyserOptionRef},\n\t{WSTR(\"Max window height [480 - 2048]\"),OPTION_INT,&SyserOption.iMaxWndHeight ,sizeof(int),NULL,TValueTest<int,480,2048>,&SyserOptionRef},\n\t{NULL}\n};\n\nWISP_OPTION_ITEM SyserOptionTitle[]=\n{\n\t{WSTR(\"Syser Debugger\"),OPTION_TITLE,SyserDebuggerOption},\n\t{WSTR(\"Syser Loader\"),OPTION_TITLE,SyserLoaderOption},\n\t{WSTR(\"Source Code Debugger\"),OPTION_TITLE,SourceDebuggerOption},\n\t{WSTR(\"Developer Advance Option (Restart Syser to apply)\"),OPTION_TITLE,SyserAdvanceOption},\n\t//{WSTR(\"Remote Debugger\"),OPTION_TITLE,RemoteDebuggerOption},\n\t{NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(COptionPage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispOptionForm)\n\nCOptionPage::COptionPage()\n{\n\tm_pOptionItem = SyserOptionTitle;\n}\n\nbool COptionPage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tif(CWispOptionForm::OnFormCreate(pMsg)==false)\n\t\treturn false;\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(0));\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(1));\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(2));\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(3));\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(4));\n\tm_OptionList.ExpandItem(m_OptionList.GetItem(5));\n\tif(SyserOption.CRCCode == OrgSyserOption.CRCCode && SyserAppOption.CRCCode == OrgSyserAppOption.CRCCode)\n\t\tm_pDefaultBT->EnableWindow(false);\n\tm_OptionList.SetColumnWidth(m_OptionList.GetColumn(0),300);\n\treturn false;\n}\n\nbool GetPrivilege(PCSTR privName)\n{\n\tbool rc;\n\tHANDLE hToken;\n\tLUID privValue;\n\tTOKEN_PRIVILEGES tkp;\n\tif(!OpenProcessToken( GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken ) )\n\t\treturn false;\n\tif(!LookupPrivilegeValue( NULL, privName, &privValue ) )\n\t{\n\t\tCloseHandle(hToken);\n\t\treturn false;\n\t}\n\ttkp.PrivilegeCount = 1;\n\ttkp.Privileges[0].Luid = privValue;\n\trc = AdjustTokenPrivileges( hToken, FALSE, &tkp,sizeof tkp,NULL,NULL)!=FALSE;\n\tCloseHandle( hToken );\n\treturn rc;\n}\n\nvoid COptionPage::OptionApplyNotify()\n{\n\tif(SyserOptionRef)//Syser.cfg޸\n\t{\n\t\tSyserOptionRef = 0;\n\t\tSaveSyserOption(theApp.m_szSyserCfgFN,&SyserOption,sizeof(SyserOption));\n\t}\n\tif(SyserAppOptionRef)//SyserApp.cfg޸\n\t{\n\t\tSyserAppOptionRef = 0;\n\t\tSaveSyserOption(theApp.m_szSyserAppCfgFN,&SyserAppOption,sizeof(SyserAppOption));\n\t}\n\t//ȽļǷĬϵһ,һDefaultť\n\tif(\tSyserOption.CRCCode == OrgSyserOption.CRCCode && SyserAppOption.CRCCode == OrgSyserAppOption.CRCCode)\n\t\tm_pDefaultBT->EnableWindow(false);\n\ttheApp.SendSyserMsg(IOCTL_SYSER_RELOAD_CONFIG);\n\ttheApp.SendSyserAppMsg(WM_SYSER_APP_RELOAD_CFG);\n}\n\nvoid COptionPage::OptionDefaultNotify()\n{\n\tSaveSyserOption(theApp.m_szSyserCfgFN,&SyserOption,sizeof(SyserOption));\n\tSaveSyserOption(theApp.m_szSyserAppCfgFN,&SyserAppOption,sizeof(SyserAppOption));\n\ttheApp.SendSyserMsg(IOCTL_SYSER_RELOAD_CONFIG);\n\ttheApp.SendSyserAppMsg(WM_SYSER_APP_RELOAD_CFG);\n}\n\nbool COptionPage::OptionBeforeDefaultNotify()\n{\n\tSyserOption = OrgSyserOption;\n\tSyserAppOption = OrgSyserAppOption;\n\tSyserOptionRef = 0;\n\tSyserAppOptionRef = 0;\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/SyserOption/Source/OptionPage.h",
    "content": "#ifndef _OPTION_PAGE_H_\n#define _OPTION_PAGE_H_\n\nclass COptionPage : public CWispOptionForm\n{\npublic:\n\tCOptionPage();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tvoid OptionApplyNotify();\n\tbool OptionBeforeDefaultNotify();\n\tvoid OptionDefaultNotify();\n};\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/SDSFilePage.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SDSFilePage.h\"\n#include \"SyserOptionApp.h\"\n\n\nenum CSDSFilePage::WISP_FORM_ID\n{\n\tCMD_ID_SDS_FILE_LIST = WISP_ID_USER_START,\n\tCMD_ID_STATIC_GROUP,\n\tCMD_ID_SDS_ADD,\n\tCMD_ID_SDS_REMOVE,\n\tCMD_ID_SDS_APPLY,\n\tCMD_ID_SDS_RELOAD,\n\tCMD_ID_SDS_DEFAULT,\n};\n\nWISP_FORM_RES_ITEM CSDSFilePage::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,540,400},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,530,300},\n\t\tCMD_ID_STATIC_GROUP,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Load these symbol files after syser initialization\"),\n\t},\n\t{\n\t\tWISP_CTRL_LIST,\n\t\t{20,30,400,260},\n\t\tCMD_ID_SDS_FILE_LIST,\n\t\tWISP_WS_THIN_BORDER,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,40,100,20},\n\t\tCMD_ID_SDS_ADD,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Add\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,80,100,20},\n\t\tCMD_ID_SDS_REMOVE,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Remove\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,340,100,20},\n\t\tCMD_ID_SDS_APPLY,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Save\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{10,340,100,20},\n\t\tCMD_ID_SDS_RELOAD,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Reload\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CSDSFilePage)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnResize)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CSDSFilePage)\n\tWISP_MSG_CMD_MAP(CMD_ID_SDS_FILE_LIST,OnFileListCommand)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CSDSFilePage)\n\tWISP_MSG_EVENT_MAP(CMD_ID_SDS_ADD,OnButtonAdd)\n\tWISP_MSG_EVENT_MAP(CMD_ID_SDS_REMOVE,OnButtonRemove)\n\tWISP_MSG_EVENT_MAP(CMD_ID_SDS_APPLY,OnButtonSave)\n\tWISP_MSG_EVENT_MAP(CMD_ID_SDS_RELOAD,OnButtonReload)\nWISP_MSG_EVENT_MAP_END\n\nCSDSFilePage::CSDSFilePage()\n{\n\tm_pFormRes = m_FormRes;\n\tGetSystemDirectory(m_SDSFileName,MAX_FN_LEN);\n\tTStrCat(m_SDSFileName,\"\\\\drivers\\\\SDSInit.lst\");\n}\n\nbool CSDSFilePage::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pGroup = (CWispStaticGroup*) GetFormItem(CMD_ID_STATIC_GROUP);\n\tm_pFileList = (CWispList*) GetFormItem(CMD_ID_SDS_FILE_LIST);\n\tm_pSaveBT = (CWispButton*) GetFormItem(CMD_ID_SDS_APPLY);\n\tm_pReloadBT = (CWispButton*) GetFormItem(CMD_ID_SDS_RELOAD);\n\tm_pAddBT = (CWispButton*) GetFormItem(CMD_ID_SDS_ADD);\n\tm_pRemoveBT = (CWispButton*) GetFormItem(CMD_ID_SDS_REMOVE);\n\tm_pFileList->InsertColumn(NULL,0,WISP_WLCS_EDITABLE);\n\tLoadSDSFileList();\n\treturn true;\n}\n\nbool CSDSFilePage::OnResize(IN WISP_MSG*pMsg)\n{\n\tm_pGroup->Resize(m_ClientRect.cx-20,m_ClientRect.cy-50);\n\tm_pFileList->Resize(m_pGroup->m_WindowRect.cx-130,m_pGroup->m_WindowRect.cy-30);\n\tm_pRemoveBT->MoveToWindow(m_pFileList->m_WindowRect.cx+30,m_pRemoveBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pAddBT->MoveToWindow(m_pFileList->m_WindowRect.cx+30,m_pAddBT->m_ScrWindowRect.y - m_ScrWindowRect.y);\n\tm_pReloadBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x-m_ScrWindowRect.x,m_pGroup->m_ScrWindowRect.y-m_ScrWindowRect.y+m_pGroup->m_WindowRect.cy+10);\n\tm_pSaveBT->MoveToWindow(m_pGroup->m_ScrWindowRect.x + m_pGroup->m_ScrWindowRect.cx - m_pSaveBT->m_WindowRect.cx - m_ScrWindowRect.x,m_pReloadBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\treturn true;\n}\n\nbool CSDSFilePage::OnFileListCommand(IN WISP_MSG*pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_SELECTED:\n\t\tm_pRemoveBT->EnableWindow(true);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_UNSELECTED:\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tbreak;\n\tcase WISP_CMD_ITEM_CHANGED:\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CSDSFilePage::OnButtonAdd(IN WISP_MSG*pMsg)\n{\n\tCHAR szFileName[MAX_FN_LEN],szDir[MAX_FN_LEN];\n\tOPENFILENAME OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tGetModulePath(szDir);\n\tTStrCat(szDir,\"Symbols\");\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = theApp.m_hLocalInst;\n\tOpenFileName.hwndOwner = theApp.m_hLocalWnd;\n\tOpenFileName.lpstrFilter = \"SDS File(*.sds)\\0*.sds\\0All Files(*.*)\\0*.*\\0\";\n\tOpenFileName.nMaxFile = sizeof(szFileName);\n\tOpenFileName.lpstrFile = szFileName;\n\tOpenFileName.lpstrInitialDir = szDir;\n\t*szFileName = 0;\n\ttheApp.LockTimer();\n\tif(GetOpenFileName(&OpenFileName)==false)\n\t{\n\t\ttheApp.UnlockTimer();\n\t\treturn true;\n\t}\n\ttheApp.UnlockTimer();\n\tm_pFileList->InsertItemA(szFileName);\n\tm_pFileList->Update();\n\tm_pSaveBT->EnableWindow(TRUE);\n\tm_pReloadBT->EnableWindow(TRUE);\n\treturn true;\n}\n\nbool CSDSFilePage::OnButtonRemove(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem = m_pFileList->GetFirstItem(NULL,WISP_WLIS_SELECTED);\n\tif(hItem)\n\t{\n\t\tm_pFileList->RemoveItem(hItem);\n\t\tm_pFileList->Update();\n\t\tm_pRemoveBT->EnableWindow(false);\n\t\tm_pReloadBT->EnableWindow(TRUE);\n\t\tm_pSaveBT->EnableWindow(TRUE);\n\t}\n\treturn true;\n}\n\nbool CSDSFilePage::OnButtonSave(IN WISP_MSG*pMsg)\n{\n\tif(SaveSDSFileList()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CSDSFilePage::OnButtonReload(IN WISP_MSG*pMsg)\n{\n\tif(LoadSDSFileList()==false)\n\t\treturn true;\n\tm_pReloadBT->EnableWindow(FALSE);\n\tm_pSaveBT->EnableWindow(FALSE);\n\tUpdate();\n\treturn true;\n}\n\nbool CSDSFilePage::LoadSDSFileList()\n{\n\tCTXTFile\tTXTFile;\n\tif(TXTFile.Open(m_SDSFileName)==false)\n\t\treturn false;\n\tm_pFileList->ClearChildItem();\n\tfor(TTXTStrList::IT Iter = TXTFile.m_StrList.Begin();Iter!=TXTFile.m_StrList.End();Iter++)\n\t{\n\t\tm_pFileList->InsertItemA(*Iter);\n\t}\n\tTXTFile.Close();\n\treturn true;\n}\n\nbool CSDSFilePage::SaveSDSFileList()\n{\n\tCHAR szBuffer[MAX_FN_LEN+2];\n\tCImageFileStream File;\n\tHANDLE hItem = m_pFileList->GetFirstItem();\n\tif(hItem==NULL)\n\t{\n\t\tgpFileIO->DeleteFile(m_SDSFileName);\n\t\treturn true;\n\t}\n\tif(File.Create(m_SDSFileName)==false)\n\t\treturn false;\n\twhile(hItem)\n\t{\n\t\tUnicodeToAnsi(m_pFileList->GetItemText(hItem),szBuffer,MAX_FN_LEN);\n\t\tTStrCat(szBuffer,\"\\r\\n\");\n\t\tFile.Puts(szBuffer,TStrLen(szBuffer));\n\t\thItem = m_pFileList->GetNextItem(hItem);\n\t}\n\tFile.Close();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/SDSFilePage.h",
    "content": "#ifndef _SDS_FILE_PAGE_H_\n#define _SDS_FILE_PAGE_H_\n\n\nclass CSDSFilePage : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG(OnResize);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnFileListCommand)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnButtonAdd)\n\tDECLARE_WISP_MSG_EVENT(OnButtonRemove)\n\tDECLARE_WISP_MSG_EVENT(OnButtonSave)\n\tDECLARE_WISP_MSG_EVENT(OnButtonReload)\n\tCSDSFilePage();\n\tCWispStaticGroup*m_pGroup;\n\tCWispList*\tm_pFileList;\n\tCWispButton*m_pSaveBT;\n\tCWispButton*m_pReloadBT;\n\tCWispButton*m_pDefaultBT;\n\tCWispButton*m_pAddBT;\n\tCWispButton*m_pRemoveBT;\n\tCHAR\tm_SDSFileName[MAX_FN_LEN];\n\tbool\tLoadSDSFileList();\n\tbool\tSaveSDSFileList();\n};\n\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/StdAfx.cpp",
    "content": "#include  \"StdAfx.h\"\n\n"
  },
  {
    "path": "Project/SyserOption/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n#include \"../../WinWisp/Source/WinWisp.h\"\n\n#include \"Resource.h\"\n#include \"../../SyserApp/Source/ddraw.h\"\n\n#include \"../../SyserApp/Source/SyserAppOption.h\"\n#include \"../../SyserApp/Source/SyserInterface.h\"\n#include \"../../Syser/Source/SyserOption.h\"\n#include \"../../Syser/Source/ColorOption.h\"\n#include \"../../Syser/Source/SyserDefine.h\"\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/SyserOption.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDI_ICON_SYSER_OPTION   ICON                    \"Res\\\\SyserOption.ico\"\nIDI_ICON_GEAR           ICON                    \"Res\\\\Gear.ico\"\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// RT_MANIFEST\n//\n\nIDR_RT_MANIFEST         RT_MANIFEST             \"res\\\\rt_manif.bin\"\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"SyserOption.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n#include \"SyserOption.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/SyserOption/Source/SyserOption.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"SyserOption\"\n#define VER_INTERNALNAME_STR        \"SyserOption\"  \n#define VER_ORIGINALFILENAME_STR    \"SyserOption.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n"
  },
  {
    "path": "Project/SyserOption/Source/SyserOptionApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SyserOptionApp.h\"\n\nCSyserOptionApp\ttheApp;\n\nint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n\treturn theApp.WinMainStart(hInstance,lpCmdLine,nCmdShow);\n}\n\nCSyserOptionApp::CSyserOptionApp(void)\n{\n\tSTZeroMemory(m_VersionInfo);\n\tm_VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\n\tGetVersionEx(&m_VersionInfo);\n\n\tGetModulePath(m_szSyserAppCfgFN);\n\tTStrCat(m_szSyserAppCfgFN,\"SyserApp.cfg\");\n\n\tGetSystemDirectoryA(m_szSyserCfgFN,MAX_FN_LEN);\n\tTStrCat(m_szSyserCfgFN,\"\\\\drivers\\\\Syser.cfg\");\n\n\tGetSystemDirectoryA(m_szColorCfgFN,MAX_FN_LEN);\n\tTStrCat(m_szColorCfgFN,\"\\\\drivers\\\\SyserColor.cfg\");\n\n\tOrgSyserOption.CRCCode = GetCRCCode(RT_PBYTE(&OrgSyserOption,sizeof(DWORD)),sizeof(OrgSyserOption)-sizeof(DWORD));\n\tOrgSyserAppOption.CRCCode = GetCRCCode(RT_PBYTE(&OrgSyserAppOption,sizeof(DWORD)),sizeof(OrgSyserAppOption)-sizeof(DWORD));\n\tOrgColorOption.CRCCode = GetCRCCode(RT_PBYTE(&OrgColorOption,sizeof(DWORD)),sizeof(OrgColorOption)-sizeof(DWORD));\n}\n\nCSyserOptionApp::~CSyserOptionApp(void)\n{\n}\n\n\nvoid CSyserOptionApp::InitEnv()\n{\n\t__try\n\t{\n\t\tm_MainFrame.m_OptionPage.FillOptionTreeValue(NULL);\n\t}\n\t__except(EXCEPTION_EXECUTE_HANDLER)\n\t{//ֵǷ\n\t\tSaveSyserOption(m_szSyserAppCfgFN,&OrgSyserAppOption,sizeof(OrgSyserAppOption));\n\t\tSyserAppOption = OrgSyserAppOption;\n\t\tSaveSyserOption(m_szSyserCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\t\tSyserOption = OrgSyserOption;\t\t\n\t\tSaveSyserOption(m_szColorCfgFN,&OrgColorOption,sizeof(OrgColorOption));\n\t\tColorOption = OrgColorOption;\n\t\tm_MainFrame.m_OptionPage.FillOptionTreeValue(NULL);\n\t}\n}\n\nvoid CSyserOptionApp::LoadCFG()\n{\n\tif(LoadSyserOption(m_szSyserAppCfgFN,&SyserAppOption,sizeof(SyserAppOption))==false)\n\t{\n\t\tSaveSyserOption(m_szSyserAppCfgFN,&OrgSyserAppOption,sizeof(OrgSyserAppOption));\n\t\tSyserAppOption = OrgSyserAppOption;\n\t}\n\tif(LoadSyserOption(m_szSyserCfgFN,&SyserOption,sizeof(SyserOption))==false)\n\t{\n\t\tSaveSyserOption(m_szSyserCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\t\tSyserOption = OrgSyserOption;\n\t}\n\tif(LoadSyserOption(m_szColorCfgFN,&ColorOption,sizeof(ColorOption))==false)\n\t{\n\t\tSaveSyserOption(m_szColorCfgFN,&OrgColorOption,sizeof(OrgColorOption));\n\t\tColorOption = OrgColorOption;\n\t}\n}\n\nvoid CSyserOptionApp::SendSyserMsg(DWORD Msg)\n{\n\tHANDLE hSyser = CreateFile(\"\\\\\\\\.\\\\Syser\",GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,NULL);\n\tif(hSyser!=INVALID_HANDLE_VALUE)\n\t{\n\t\tDWORD cbReturn;\n\t\tDeviceIoControl(hSyser,Msg,NULL,0,NULL,0,&cbReturn,NULL);\n\t\tCloseHandle(hSyser);\n\t}\n}\n\nvoid CSyserOptionApp::SendSyserAppMsg(DWORD Msg)\n{\n\tHWND hWnd = FindWindow(NULL,MAIN_WND_NAME);\n\tif(hWnd)\n\t{\n\t\t::SendMessage(hWnd,WM_SYSER_APP_RELOAD_CFG,0,0);\n\t}\n}\n\nbool CSyserOptionApp::InitInstance()\n{\n\t//////////////////////////////////////////////////////////////////////////////\n\t//ļĿ¼\n\tGetSystemDirectory(m_CurDir,MAX_FN_LEN);\n\tTStrCat(m_CurDir,\"\\\\drivers\\\\\");\n\t//\n\t//////////////////////////////////////////////////////////////////////////////\n\tm_pszDiskList = \"Wisp.dat;Syser.dat\";\n\tif(CLocalWispApp::InitInstance()==false)\n\t\treturn false;\n\tLoadCFG();\n\tm_bHideMouse = true;\n\tm_hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IDI_ICON_SYSER_OPTION));\n\tm_FrameStyle&=~WS_VISIBLE;\n\tm_FrameStyleEx|=WS_EX_TOPMOST;\n\n\tif(TStrIStr(m_pCmdLine,\"/boot\"))\n\t{\n\t\tm_FrameStyle&=~(WS_MAXIMIZEBOX|WS_THICKFRAME);\n\t\tCreateFrame(WSTR(\"Boot Mode\"),200,300,0);\n\t\tm_BootOptionForm.CreateForm();\n\t\tm_BootOptionForm.Resize(m_FrameBuffer.Width,m_FrameBuffer.Height);\n\t\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\t\treturn true;\n\t}\n\telse if(TStrIStr(m_pCmdLine,\"/video\"))\n\t{\n\t\tm_FrameStyle&=~(WS_MAXIMIZEBOX|WS_THICKFRAME);\n\t\tCreateFrame(WSTR(\"Syser Video Detect Mode\"),300,300,0);\n\t\tm_VideoModeForm.CreateForm();\n\t\tm_VideoModeForm.Resize(m_FrameBuffer.Width,m_FrameBuffer.Height);\n\t\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\t}\n\telse\n\t{\n\t\tCreateFrame(WSTR(\"Syser Option\"),560,400,0);\n\t\tm_MainFrame.Create(NULL,0,0,0,0,NULL,WISP_ID_MAIN_FRAME,WISP_WS_NULL);\n\t\tm_MainFrame.Resize(m_FrameBuffer.Width,m_FrameBuffer.Height);\n\t\tShowWindow(m_hLocalWnd,SW_NORMAL);\n\t\tInitEnv();\n\t}\n\treturn true;\n}\n\nint\tCSyserOptionApp::ExitInstance()\n{\n\tm_MainFrame.Destroy();\n\tDestroyFrame();\n\treturn CLocalWispApp::ExitInstance();\n}\n\n"
  },
  {
    "path": "Project/SyserOption/Source/SyserOptionApp.h",
    "content": "#ifndef _SYSER_OPTION_APP_H_\n#define _SYSER_OPTION_APP_H_\n\n#include \"MainFrame.h\"\n#include \"BootOptionForm.h\"\n#include \"VideoModeForm.h\"\n\nclass CSyserOptionApp : public CLocalWispApp\n{\npublic:\n\tCSyserOptionApp(void);\n\t~CSyserOptionApp(void);\n\tvirtual bool\tInitInstance();\n\tvirtual int\t\tExitInstance();\n\tvoid\tInitEnv();\n\tvoid\tLoadCFG();\n\tvoid\tSendSyserMsg(DWORD Msg);\n\tvoid\tSendSyserAppMsg(DWORD Msg);\n\tchar\tm_szColorCfgFN[MAX_FN_LEN];\n\tchar\tm_szSyserCfgFN[MAX_FN_LEN];\n\tchar\tm_szSyserAppCfgFN[MAX_FN_LEN];\n\tCMainFrame\t\tm_MainFrame;\n\tCOptionPage\t\tm_OptionPage;\n\tCBootOptionForm m_BootOptionForm;\n\tCVideoModeForm\tm_VideoModeForm;\n\tOSVERSIONINFO\tm_VersionInfo;\n};\n\nextern CSyserOptionApp\ttheApp;\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/VideoModeForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"VideoModeForm.h\"\n#include \"SyserOptionApp.h\"\n\nenum CVideoModeForm::WISP_FORM_ID\n{\n\tCMD_ID_VDM_AUTO = WISP_ID_USER_START,\n\tCMD_ID_VDM_USER,\n\tCMD_ID_VDM_KERNEL\n};\n\nWISP_FORM_RES_ITEM CVideoModeForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,300,300},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Video Detect Mode\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_DIB,\n\t\t{123,30,32,32},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\t\"\\\\SyserIcon\\\\Syser.ico:2\"\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,280,280},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"You must restart syser to apply\"),\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{60,110,260,20},\n\t\tCMD_ID_VDM_AUTO,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Auto (if you don't care)\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{60,160,260,20},\n\t\tCMD_ID_VDM_USER,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"User Mode (High Compatibility)\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_RADIO_BOX,\n\t\t{60,210,260,20},\n\t\tCMD_ID_VDM_KERNEL,\n\t\tWISP_CBS_NORMAL,\n\t\tWSTR(\"Kernel Mode (Supports DirectX)\"),\n\t\tNULL,\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{120,250,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CVideoModeForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CVideoModeForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\n\nbool CVideoModeForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pAutoBT = (CWispRadioBox*)GetFormItem(CMD_ID_VDM_AUTO);\n\tm_pUserBT = (CWispRadioBox*)GetFormItem(CMD_ID_VDM_USER);\n\tm_pKernelBT = (CWispRadioBox*)GetFormItem(CMD_ID_VDM_KERNEL);\n\tif(LoadSyserOption(theApp.m_szSyserCfgFN,&SyserOption,sizeof(SyserOption))==false)\n\t{\n\t\tSaveSyserOption(theApp.m_szSyserCfgFN,&OrgSyserOption,sizeof(OrgSyserOption));\n\t\tSyserOption = OrgSyserOption;\n\t}\n\tm_VideoModeType = SyserOption.iVideoDetectMode;\n\tswitch(m_VideoModeType)\n\t{\n\tcase SYSER_VDM_AUTO:\n\t\tm_pAutoBT->Check();\n\t\tbreak;\n\tcase SYSER_VDM_USER:\n\t\tm_pUserBT->Check();\n\t\tbreak;\n\tcase SYSER_VDM_KERNEL:\n\t\tm_pKernelBT->Check();\n\t\tbreak;\n\t}\n\tm_OldVideoModeType = m_VideoModeType;\n\treturn true;\n}\n\nbool CVideoModeForm::OnOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg != WISP_CMD_BT_UP)\n\t\treturn true;\n\tif(m_pAutoBT->m_Style&WISP_WS_MARKED)\n\t\tm_VideoModeType = SYSER_VDM_AUTO;\n\telse if(m_pUserBT->m_Style&WISP_WS_MARKED)\n\t\tm_VideoModeType = SYSER_VDM_USER;\n\telse if(m_pKernelBT->m_Style&WISP_WS_MARKED)\n\t\tm_VideoModeType = SYSER_VDM_KERNEL;\n\telse\n\t\tm_VideoModeType = -1;\n\tif(m_OldVideoModeType != m_VideoModeType && m_VideoModeType!=-1)\n\t{\n\t\tSyserOption.iVideoDetectMode = m_VideoModeType;\n\t\tSaveSyserOption(theApp.m_szSyserCfgFN,&SyserOption,sizeof(SyserOption));\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/SyserOption/Source/VideoModeForm.h",
    "content": "#ifndef _VIDEO_MODE_FORM_H_\n#define _VIDEO_MODE_FORM_H_\n\nclass CVideoModeForm : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK);\n\tCVideoModeForm(){m_pFormRes = m_FormRes;m_VideoModeType = -1;}\n\tCWispRadioBox*\tm_pAutoBT;\n\tCWispRadioBox*\tm_pUserBT;\n\tCWispRadioBox*\tm_pKernelBT;\n\tint\t\t\t\tm_VideoModeType;\n\tint\t\t\t\tm_OldVideoModeType;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by SyserOption.rc\n//\n#define IDR_RT_MANIFEST                 1\n#define IDI_ICON1                       101\n#define IDI_ICON_SYSER_OPTION           101\n#define IDI_ICON2                       103\n#define IDI_ICON_GEAR                   103\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        104\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/SyserOption/Win32/SyserOption.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserOption\", \"SyserOption.vcproj\", \"{019BD290-B361-4955-A6BA-950691B47459}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E} = {142E5B2E-BB1F-42A2-B357-81F97F85F86E}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Release|Win32.Build.0 = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{019BD290-B361-4955-A6BA-950691B47459}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SyserOption/Win32/SyserOption.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SyserOption\"\n\tProjectGUID=\"{019BD290-B361-4955-A6BA-950691B47459}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserOptionD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName)D.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tAdditionalIncludeDirectories=\"\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/SyserOption.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"../../../Bin/i386/$(ProjectName).pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t\tEmbedManifest=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BootOptionForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdEditPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\ColorOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ExportModulePage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GUIColorPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\KeyMappingPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionPage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSFilePage.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SyserAppOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserOption.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOptionApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoModeForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\BootOptionForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CmdEditPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\ColorOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\ExportModulePage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\GUIColorPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\KeyMappingPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\OptionPage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SDSFilePage.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\SyserApp\\Source\\SyserAppOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\Syser\\Source\\SyserOption.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOptionApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VideoModeForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\Gear.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\rt_manif.bin\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\SyserOption.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\SyserOption.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SyserOption/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/SyserOption/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/SyserOption/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/SyserTools/SyserTools.cpp",
    "content": "// SyserTools.cpp : Defines the entry point for the console application.\n//\n\n#include \"stdafx.h\"\n\nCAPIMap APIMap;\n\nPCSTR APIPrefixList[]=\n{\n\t\"WINSOCK_API_LINKAGE\",\n\t\"NTKERNELAPI\",\n\t\"WINBASEAPI\",\n\t\"NTHALAPI\",\n\t\"NTSYSAPI\",\n\t\"WINADVAPI\",\n\t\"WINGDIAPI\",\n\t\"WINUSERAPI\",\n\t\"WINMMAPI\",\n\tNULL\n};\n\nPCSTR APIMidList[]=\n{\n\t\"PASCAL FAR\",\n\t\"NTAPI\",\n\t\"WINAPI\",\n\t\"APIENTRY\",\n\t\"WSAAPI\",\n\t\"VFWAPI\",\n\t\"NTSTATUS\\r\\nNt\",\n\t\"VOID\\r\\nRtl\",\n\t\"NTSTATUS\\r\\nRtl\",\n\tNULL\n};\n\nPCSTR StdcallList[]=\n{\n\t\"PASCAL FAR\",\n\t\"NTAPI\",\n\t\"APIENTRY\",\n\t\"WINAPI\",\n\t\"WSAAPI\",\n\tNULL\n};\n\nPCSTR FastcallList[]=\n{\n\t\"FASTCALL\",\n\tNULL\n};\n\nPCSTR InlineList[]=\n{\n\t\"__inline\",\n\t\"INLINE\",\n\tNULL\n};\n\nint\tAPIPrefixLength[32];\nint APIMidLength[32];\nint\tStdcallLength[32];\nint\tFastcallLength[32];\nint InlineLength[32];\n\nbool IsValName(char Str)\n{\n\tif((Str>='0'&&Str<='9')||(Str>='a'&&Str<='z')||(Str>='A'&&Str<='Z'))\n\t\treturn true;\n\tif(Str=='_')\n\t\treturn true;\n\treturn false;\n}\n\nbool IsIgnoreChar(char Str)\n{\n\treturn TStrChr(\"\\r\\n\",Str)!=NULL;\n}\n\nbool CutAPIDefStr(PSTR pStr,PCSTR*pList,int*pLength)\n{\n\tbool bCutted;\n\tint n=0;\n\tbCutted=false;\n\twhile(pList[n])\n\t{\n\t\tif(_GET_DWORD(pStr)==_GET_DWORD(pList[n]) && TStrNCmp(pList[n],pStr,pLength[n])==0)\n\t\t{\n\t\t\tbCutted = true;\n\t\t\tif(pStr[pLength[n]]==' ')\n\t\t\t\tTStrCpy(pStr,&pStr[pLength[n]+1]);\n\t\t\telse\n\t\t\t\tTStrCpy(pStr,&pStr[pLength[n]]);\n\t\t\tn=0;\n\t\t}\n\t\telse\n\t\t\tn++;\n\t}\n\treturn bCutted;\n}\n\nbool IsAPIDefStr(PSTR pStr,PCSTR*pList,int*pLength)\n{\n\tint n=0;\n\twhile(pList[n])\n\t{\n\t\tif(_GET_DWORD(pStr)==_GET_DWORD(pList[n]))\n\t\t{\n\t\t\tif(TStrNCmp(pList[n],pStr,pLength[n])==0)\n\t\t\t\treturn true;\n\t\t}\n\t\tn++;\n\t}\n\treturn false;\n}\n\nvoid AnalyzerAPIParam(PSTR szFunc)\n{\n\tCALL_TYPE CallType = TYPE_STDCALL;\n\tPSTR pStr,pStrEnd;\n\tpStr=szFunc;\n\twhile(*pStr)\n\t{\n\t\tCutAPIDefStr(pStr,APIPrefixList,APIPrefixLength);\n\t\tif(CutAPIDefStr(pStr,StdcallList,StdcallLength))\n\t\t\tCallType = TYPE_STDCALL;\n\t\tif(CutAPIDefStr(pStr,FastcallList,FastcallLength))\n\t\t\tCallType = TYPE_FASTCALL;\n\t\tif(CutAPIDefStr(pStr,InlineList,InlineLength))\n\t\t{\n\t\t\tCallType = TYPE_INLINE;\n\t\t\treturn;\n\t\t}\n\t\tpStr++;\n\t}\n\tpStrEnd = TStrChr(szFunc,'(');\n\tpStr = pStrEnd-1;\n\twhile(IsValName(*pStr))\n\t\tpStr--;\n\t*pStr=0;\n\t*pStrEnd=0;\n\tCAPIMap::IT Iter = APIMap.InsertUnique(&pStr[1]);\n\tif(Iter.IsExist()==false)\n\t\treturn;\n\tIter->Return = szFunc;\n\tIter->CallType = CallType;\n\tpStrEnd++;\n\tpStr=pStrEnd;\n\twhile(*pStrEnd)\n\t{\n\t\tif(*pStrEnd==','||*pStrEnd==')')\n\t\t{\n\t\t\t*pStrEnd=0;\n\t\t\tIter->ParamList.Append(pStr);\n\t\t\tpStr=&pStrEnd[1];\n\t\t}\n\t\tpStrEnd++;\n\t}\n\tif(Iter->ParamList.Count()==1 && TStrICmp((PCSTR)*Iter->ParamList.Begin(),\"VOID\")==0)\n\t{\n\t\tIter->ParamList.Clear();\n\t}\n}\n\nPSTR AnalyzerAPIDefine(PSTR szStart)\n{\n\tint n,Step;\n\tbool bIsSplitCharExist;\n\tCHAR szFuncDefine[1024];\n\tPSTR szCur,pStr;\n\tszCur = szStart;\n\tn=0;\n\tStep=0;\n\tbIsSplitCharExist = true;\n\twhile(n<sizeof(szFuncDefine))\n\t{\n\t\tif(*szCur==' '||*szCur=='\\t')\n\t\t{//ո\n\t\t\tif(bIsSplitCharExist==false)\n\t\t\t{\n\t\t\t\tbIsSplitCharExist = true;\n\t\t\t\tszFuncDefine[n++]=' ';\n\t\t\t}\n\t\t\tdo\n\t\t\t{\n\t\t\t\tszCur++;\n\t\t\t}while(*szCur==' '||*szCur=='\\t');\n\t\t}\n\t\tif(IsValName(*szCur))\n\t\t{\n\t\t\tbIsSplitCharExist = false;\n\t\t\tszFuncDefine[n++]=*szCur++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(IsIgnoreChar(*szCur))\n\t\t\t{\n\t\t\t\tif(bIsSplitCharExist==false)\n\t\t\t\t{\n\t\t\t\t\tszFuncDefine[n++]=' ';\n\t\t\t\t\tbIsSplitCharExist=true;\n\t\t\t\t}\n\t\t\t\tszCur++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tswitch(*szCur)\n\t\t\t{\n\t\t\tcase '(':\n\t\t\t\tif(Step==0)\n\t\t\t\t{\n\t\t\t\t\tbIsSplitCharExist=true;\n\t\t\t\t\tdo\n\t\t\t\t\t{\n\t\t\t\t\t\tn--;\n\t\t\t\t\t}while(szFuncDefine[n]==' ');\n\t\t\t\t\tn++;\n\t\t\t\t\tszFuncDefine[n++]=*szCur++;\n\t\t\t\t\tStep++;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\treturn szCur;\n\t\t\t\tbreak;\n\t\t\tcase ',':\n\t\t\t\tif(Step==1)\n\t\t\t\t{\n\t\t\t\t\tbIsSplitCharExist=true;\n\t\t\t\t\tszFuncDefine[n++]=*szCur++;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\treturn szCur;\n\t\t\t\tbreak;\n\t\t\tcase ')':\n\t\t\t\tif(Step<=1)\n\t\t\t\t{\n\t\t\t\t\tpStr = &szFuncDefine[n];\n\t\t\t\t\tdo\n\t\t\t\t\t{\n\t\t\t\t\t\tpStr--;\n\t\t\t\t\t}while(*pStr==' ');\n\t\t\t\t\t*pStr++;\n\t\t\t\t\t*pStr++=')';*pStr=0;\n\t\t\t\t\tszCur++;\n\t\t\t\t\tAnalyzerAPIParam(szFuncDefine);\n\t\t\t\t\treturn szCur;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t\treturn szCur;\n\t\t\t\tbreak;\n\t\t\tcase '*':\n\t\t\t\tszFuncDefine[n++]=*szCur++;\n\t\t\t\tif(IsValName(*szCur))\n\t\t\t\t{\n\t\t\t\t\tbIsSplitCharExist = true;\n\t\t\t\t\tszFuncDefine[n++]=' ';\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tszCur++;\n\t\t\t\treturn szCur;\n\t\t\t}\n\t\t}\n\t}\n\treturn &szStart[sizeof(szFuncDefine)];\n}\n\n\nvoid InsertAPIDefine(PCSTR FileName)\n{\n\tCHAR*szBuffer,*szEndBuffer,*pCurStr,*pStr,*pLastStr;\n\tint Length;\n\tCImageFile File;\n\tif(File.Open(FileName)==false)\n\t\treturn;\n\tLength = File.m_FileSize;\n\tszBuffer = new CHAR[Length+1];\n\tszEndBuffer = &szBuffer[Length];\n\tFile.ReadFile(szBuffer,Length);\n\t*szEndBuffer=0;\n\tpCurStr = szBuffer;\n\twhile(pCurStr && pCurStr<szEndBuffer)\n\t{\n\t\tif(IsAPIDefStr(pCurStr,APIPrefixList,APIPrefixLength))\n\t\t\tpCurStr=AnalyzerAPIDefine(pCurStr);\n\t\tif(IsAPIDefStr(pCurStr,APIMidList,APIMidLength))\n\t\t{\n\t\t\tpStr=pCurStr;\n\t\t\tpLastStr = NULL;\n\t\t\twhile(true)\n\t\t\t{\n\t\t\t\tif(IsValName(*pCurStr)||*pCurStr=='*'||*pCurStr==' '||*pCurStr=='\\t')\n\t\t\t\t{\n\t\t\t\t\tpStr = pCurStr;\n\t\t\t\t\tpCurStr--;\n\t\t\t\t}\n\t\t\t\telse if(IsIgnoreChar(*pCurStr))\n\t\t\t\t{\n\t\t\t\t\tpLastStr = pCurStr;\n\t\t\t\t\tpCurStr--;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(pLastStr)\n\t\t\t\t\t\tpStr = pLastStr;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(pLastStr)\n\t\t\t\tpCurStr=AnalyzerAPIDefine(pStr);\n\t\t\telse\n\t\t\t\tpCurStr=TStrChr(pCurStr,'\\n');\n\t\t}\n\t\telse \n\t\t\tpCurStr++;\n\t}\n\tdelete szBuffer;\n\tFile.Close();\n}\n\nint SaveLib(PCSTR LibName)\n{\n\tint LibSize;\n\tCALTFileStream FileStream;\n\tFileStream.Create(LibName);\n\tLibSize = APIMap.Save(FileStream);\n\tFileStream.Close();\n\treturn LibSize;\n}\n\nXSCAN_RES ScanCallBack(CFileIO*pFileIO,PCSTR FileName,ULSIZE FileSize,void*CBParam)\n{\n\tInsertAPIDefine(FileName);\n\treturn XSCAN_RES_CONTINUE;\n}\n\nint _tmain(int argc, _TCHAR* argv[])\n{\n\tint Length,n,LibSize;\n\tCHAR szBuffer[1024];\n\n\tfor(n=0;APIPrefixList[n];n++)\n\t\tAPIPrefixLength[n]=TStrLen(APIPrefixList[n]);\n\tfor(n=0;APIMidList[n];n++)\n\t\tAPIMidLength[n]=TStrLen(APIMidList[n]);\n\tfor(n=0;StdcallList[n];n++)\n\t\tStdcallLength[n]=TStrLen(StdcallList[n]);\n\tfor(n=0;FastcallList[n];n++)\n\t\tFastcallLength[n]=TStrLen(FastcallList[n]);\n\tfor(n=0;InlineList[n];n++)\n\t\tInlineLength[n]=TStrLen(InlineList[n]);\n\n\tgpFileIO->XScan(\"APILib\\\\*.h\",ScanCallBack,0,false);\n\tLibSize = 0;\n\tif(APIMap.Count())\n\t\tLibSize = SaveLib(\"APIDef.lib\");\n\tCALTFileStream FileStream;\n\n\tif(FileStream.Create(\"API.TXT\")==false)\n\t\treturn 0;\n\tfor(CAPIMap::IT APIIter = APIMap.Begin();APIIter != APIMap.End();APIIter++)\n\t{\n\t\t//printf(\"%s\\n\",(PCSTR)APIIter.Key());\n\t\tLength =TStrCpy(szBuffer,(PCSTR)APIIter->Return);\n\t\tLength+=TStrCpy(&szBuffer[Length],\" \");\n\t\tLength+=TStrCpy(&szBuffer[Length],(PCSTR)APIIter.Key());\n\t\tLength+=TStrCpy(&szBuffer[Length],\"(\");\n\t\tfor(TList<CStrA>::IT Iter=APIIter->ParamList.Begin();Iter!=APIIter->ParamList.End();Iter++)\n\t\t{\n\t\t\tLength+=TStrCpy(&szBuffer[Length],(PCSTR)*Iter);\n\t\t\tif(Iter!=APIIter->ParamList.Last())\n\t\t\t\tLength+=TStrCpy(&szBuffer[Length],\",\");\n\t\t}\n\t\tLength+=TStrCpy(&szBuffer[Length],\")\");\n\t\tLength+=TStrCpy(&szBuffer[Length],\"\\r\\n\");\n\t\tFileStream.Puts(szBuffer,Length);\n\t}\n\tFileStream.Close();\n\n\tprintf(\"%d API(s)\\n\",APIMap.Count());\n\n\tFileStream.Open(\"APIDef.lib\");\n\tLength = APIMap.Load(FileStream);\n\tFileStream.Close();\n\tint MaxParamCount=0,MaxStrLen=0;\n\n\tfor(CAPIMap::IT APIIter = APIMap.Begin();APIIter.IsExist();APIIter++)\n\t{\n\t\tTStrCpy(szBuffer,(PCSTR)APIIter.Key());\n\t\tif(APIIter->ParamList.Count()>MaxParamCount)\n\t\t{\n\t\t\tMaxParamCount = APIIter->ParamList.Count();\n\t\t}\n\t\tfor(TList<CStrA>::IT ParamIter=APIIter->ParamList.Begin();ParamIter!=APIIter->ParamList.End();ParamIter++)\n\t\t{\n\t\t\tif(ParamIter->Length()>MaxStrLen)\n\t\t\t\tMaxStrLen = ParamIter->Length();\n\t\t\tTStrCpy(szBuffer,(PCSTR)*ParamIter);\t\n\t\t}\n\t}\n\tprintf(\"Save Length = %d , Load Length = %d\\n\",LibSize,Length);\n\treturn 0;\n}"
  },
  {
    "path": "Project/SyserTools/SyserTools.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"SyserTools\"\n#define VER_INTERNALNAME_STR        \"SyserTools\"  \n#define VER_ORIGINALFILENAME_STR    \"SyserTools.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n"
  },
  {
    "path": "Project/SyserTools/SyserTools.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"SyserTools\", \"SyserTools.vcproj\", \"{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Release|Win32.Build.0 = Release|Win32\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/SyserTools/SyserTools.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"SyserTools\"\n\tProjectGUID=\"{FBA9CAEC-68EB-4975-9A65-0EBB4A0B82D9}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../Bin/i386/SyserTools.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/SyserTools.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../Bin/i386/SyserTools.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\SyserTools.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\".\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/SyserTools/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// SyserTools.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/SyserTools/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n\n#include <iostream>\n#include <tchar.h>\n#include \"../Code/Source/Code.h\"\n#include \"../Syser/Source/SyserDefine.h\"\n\n// TODO: reference additional headers your program requires here\n"
  },
  {
    "path": "Project/Unicode/Source/Makefile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/Unicode/Source/Sources",
    "content": "TARGETNAME=Unicode\nTARGETPATH=Obj\nTARGETTYPE=DRIVER_LIBRARY\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nSOURCES=\tcasemap.cpp\t\\\n\t\t\tcompose.cpp\t\\\n\t\t\tcptable.cpp\t\\\n\t\t\tc_037.cpp\t\\\n\t\t\tc_042.cpp\t\\\n\t\t\tc_10000.cpp\t\\\n\t\t\tc_10006.cpp\t\\\n\t\t\tc_10007.cpp\t\\\n\t\t\tc_10029.cpp\t\\\n\t\t\tc_1006.cpp\t\\\n\t\t\tc_10079.cpp\t\\\n\t\t\tc_10081.cpp\t\\\n\t\t\tc_1026.cpp\t\\\n\t\t\tc_1250.cpp\t\\\n\t\t\tc_1251.cpp\t\\\n\t\t\tc_1252.cpp\t\\\n\t\t\tc_1253.cpp\t\\\n\t\t\tc_1254.cpp\t\\\n\t\t\tc_1255.cpp\t\\\n\t\t\tc_1256.cpp\t\\\n\t\t\tc_1257.cpp\t\\\n\t\t\tc_1258.cpp\t\\\n\t\t\tc_20866.cpp\t\\\n\t\t\tc_20932.cpp\t\\\n\t\t\tc_28591.cpp\t\\\n\t\t\tc_28592.cpp\t\\\n\t\t\tc_28593.cpp\t\\\n\t\t\tc_28594.cpp\t\\\n\t\t\tc_28595.cpp\t\\\n\t\t\tc_28596.cpp\t\\\n\t\t\tc_28597.cpp\t\\\n\t\t\tc_28598.cpp\t\\\n\t\t\tc_28599.cpp\t\\\n\t\t\tc_28600.cpp\t\\\n\t\t\tc_28603.cpp\t\\\n\t\t\tc_28604.cpp\t\\\n\t\t\tc_28605.cpp\t\\\n\t\t\tc_28606.cpp\t\\\n\t\t\tc_424.cpp\t\\\n\t\t\tc_437.cpp\t\\\n\t\t\tc_500.cpp\t\\\n\t\t\tc_737.cpp\t\\\n\t\t\tc_775.cpp\t\\\n\t\t\tc_850.cpp\t\\\n\t\t\tc_852.cpp\t\\\n\t\t\tc_855.cpp\t\\\n\t\t\tc_856.cpp\t\\\n\t\t\tc_857.cpp\t\\\n\t\t\tc_860.cpp\t\\\n\t\t\tc_861.cpp\t\\\n\t\t\tc_862.cpp\t\\\n\t\t\tc_863.cpp\t\\\n\t\t\tc_864.cpp\t\\\n\t\t\tc_865.cpp\t\\\n\t\t\tc_866.cpp\t\\\n\t\t\tc_869.cpp\t\\\n\t\t\tc_874.cpp\t\\\n\t\t\tc_875.cpp\t\\\n\t\t\tc_878.cpp\t\\\n\t\t\tc_932.cpp\t\\\n\t\t\tc_936.cpp\t\\\n\t\t\tc_949.cpp\t\\\n\t\t\tc_950.cpp\t\\\n\t\t\tmbtowc.cpp\t\\\n\t\t\tstring.cpp\t\\\n\t\t\tutf8.cpp\t\\\n\t\t\twctomb.cpp\t\\\n\t\t\twctype.cpp\n\n"
  },
  {
    "path": "Project/Unicode/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\""
  },
  {
    "path": "Project/Unicode/Source/StdAfx.h",
    "content": "#include <stdlib.h> \n#include <string.h>\n#include <limits.h>"
  },
  {
    "path": "Project/Unicode/Source/c_037.cpp",
    "content": "/* code page 037 (IBM EBCDIC US Canada) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,\n    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,\n    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,\n    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,\n    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,\n    0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,\n    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,\n    0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,\n    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,\n    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,\n    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,\n    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,\n    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,\n    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,\n    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,\n    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,\n    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,\n    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,\n    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,\n    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,\n    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,\n    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,\n    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,\n    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,\n    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,\n    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,\n    0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,\n    0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,\n    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,\n    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,\n    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,\n    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,\n    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,\n    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,\n    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,\n    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,\n    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,\n    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,\n    /* 0x0100 .. 0x01ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,\n    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,\n    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,\n    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,\n    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,\n    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,\n    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,\n    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,\n    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,\n    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,\n    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,\n    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,\n    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,\n    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,\n    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,\n    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,\n    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,\n    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,\n    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,\n    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,\n    /* 0x0200 .. 0x02ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,\n    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,\n    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,\n    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,\n    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,\n    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,\n    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,\n    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,\n    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,\n    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,\n    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,\n    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,\n    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,\n    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,\n    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,\n    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,\n    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,\n    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,\n    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,\n    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,\n    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,\n    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,\n    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,\n    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,\n    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,\n    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,\n    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,\n    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,\n    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,\n    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,\n    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,\n    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,\n    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,\n    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,\n    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,\n    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,\n    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,\n    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,\n    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,\n    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\n    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,\n    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\n    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,\n    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,\n    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,\n    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,\n    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,\n    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,\n    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,\n    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,\n    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,\n    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_037 =\n{\n    { 37, 1, 0x003f, 0x003f, \"IBM EBCDIC US Canada\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_042.cpp",
    "content": "/* code page 042 (Symbol) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x2200, 0x0023, 0x2203, 0x0025, 0x0026, 0x220b,\n    0x0028, 0x0029, 0x2217, 0x002b, 0x002c, 0x2212, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x2245, 0x0391, 0x0392, 0x03a7, 0x0394, 0x0395, 0x03a6, 0x0393,\n    0x0397, 0x0399, 0x03d1, 0x039a, 0x039b, 0x039c, 0x039d, 0x039f,\n    0x03a0, 0x0398, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03c2, 0x03a9,\n    0x039e, 0x03a8, 0x0396, 0x005b, 0x2234, 0x005d, 0x22a5, 0x005f,\n    0xf8e5, 0x03b1, 0x03b2, 0x03c7, 0x03b4, 0x03b5, 0x03c6, 0x03b3,\n    0x03b7, 0x03b9, 0x03d5, 0x03ba, 0x03bb, 0x00b5, 0x03bd, 0x03bf,\n    0x03c0, 0x03b8, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03d6, 0x03c9,\n    0x03be, 0x03c8, 0x03b6, 0x007b, 0x007c, 0x007d, 0x223c, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x20ac, 0x03d2, 0x2032, 0x2264, 0x2044, 0x221e, 0x0192, 0x2663,\n    0x2666, 0x2665, 0x2660, 0x2194, 0x2190, 0x2191, 0x2192, 0x2193,\n    0x00b0, 0x00b1, 0x2033, 0x2265, 0x00d7, 0x221d, 0x2202, 0x2022,\n    0x00f7, 0x2260, 0x2261, 0x2248, 0x2026, 0xf8e6, 0xf8e7, 0x21b5,\n    0x2135, 0x2111, 0x211c, 0x2118, 0x2297, 0x2295, 0x2205, 0x2229,\n    0x222a, 0x2283, 0x2287, 0x2284, 0x2282, 0x2286, 0x2208, 0x2209,\n    0x2220, 0x2207, 0xf6da, 0xf6d9, 0xf6db, 0x220f, 0x221a, 0x22c5,\n    0x00ac, 0x2227, 0x2228, 0x21d4, 0x21d0, 0x21d1, 0x21d2, 0x21d3,\n    0x25ca, 0x2329, 0xf8e8, 0xf8e9, 0xf8ea, 0x2211, 0xf8eb, 0xf8ec,\n    0xf8ed, 0xf8ee, 0xf8ef, 0xf8f0, 0xf8f1, 0xf8f2, 0xf8f3, 0xf8f4,\n    0x00f0, 0x232a, 0x222b, 0x2320, 0xf8f5, 0x2321, 0xf8f6, 0xf8f7,\n    0xf8f8, 0xf8f9, 0xf8fa, 0xf8fb, 0xf8fc, 0xf8fd, 0xf8fe, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4864] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x3f, 0x23, 0x3f, 0x25, 0x26, 0x3f,\n    0x28, 0x29, 0x3f, 0x2b, 0x2c, 0x3f, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x5b, 0x3f, 0x5d, 0x3f, 0x5f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x7b, 0x7c, 0x7d, 0x3f, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0x20, 0x21, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3c, 0xd8, 0x3f, 0x3f, 0x3f,\n    0xb0, 0xb1, 0x32, 0x33, 0xa2, 0x6d, 0x3f, 0x3f,\n    0x2c, 0x31, 0x3f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb4,\n    0xc6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x62,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc6, 0x3f,\n    /* 0x0200 .. 0x02ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa2, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0xb2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa2, 0x3f, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x55, 0x57,\n    0x69, 0x41, 0x42, 0x47, 0x44, 0x45, 0x5a, 0x48,\n    0x51, 0x49, 0x4b, 0x4c, 0x4d, 0x4e, 0x58, 0x4f,\n    0x50, 0x52, 0x3f, 0x53, 0x54, 0x55, 0x46, 0x43,\n    0x59, 0x57, 0x49, 0x55, 0x61, 0x65, 0x68, 0x69,\n    0x75, 0x61, 0x62, 0x67, 0x64, 0x65, 0x7a, 0x68,\n    0x71, 0x69, 0x6b, 0x6c, 0x6d, 0x6e, 0x78, 0x6f,\n    0x70, 0x72, 0x56, 0x73, 0x74, 0x75, 0x66, 0x63,\n    0x79, 0x77, 0x69, 0x75, 0x6f, 0x75, 0x77, 0x3f,\n    0x62, 0x4a, 0xa1, 0xa1, 0xa1, 0x6a, 0x76, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x6b, 0x72, 0x56, 0x3f, 0x51, 0x65, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75, 0x75,\n    0x3f, 0x55, 0x3f, 0x55, 0x3f, 0x55, 0x3f, 0x55,\n    0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,\n    0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,\n    0x61, 0x61, 0x65, 0x65, 0x68, 0x68, 0x69, 0x69,\n    0x6f, 0x6f, 0x75, 0x75, 0x77, 0x77, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68, 0x68,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,\n    0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x3f, 0x61, 0x61,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x69, 0x3f,\n    0x3f, 0x3f, 0x68, 0x68, 0x68, 0x3f, 0x68, 0x68,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x69, 0x69, 0x69, 0x69, 0x3f, 0x3f, 0x69, 0x69,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x75, 0x75, 0x75, 0x75, 0x72, 0x72, 0x75, 0x75,\n    0x55, 0x55, 0x55, 0x55, 0x52, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x77, 0x77, 0x77, 0x3f, 0x77, 0x77,\n    0x4f, 0x4f, 0x57, 0x57, 0x57, 0xa2, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5f,\n    0x3f, 0x3f, 0x2c, 0x3f, 0x3f, 0x3f, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xb7, 0x3f, 0x2e, 0x3f, 0xbc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xa2, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x3f, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc3, 0x3f, 0x3f, 0x3f, 0xc2, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x57, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc0, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x67, 0x47, 0x50,\n    0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xac, 0xad, 0xae, 0xaf, 0xab, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xac, 0xae, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xbf, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xdc, 0xdb, 0xde,\n    0xdc, 0xdd, 0xde, 0xdf, 0xdb, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x22, 0x3f, 0xb6, 0x24, 0x24, 0xc6, 0x44, 0xd1,\n    0xce, 0xcf, 0x3f, 0x27, 0x27, 0x3f, 0x3f, 0xd5,\n    0x3f, 0xe5, 0x2d, 0xb1, 0x3f, 0xa4, 0x3f, 0x2a,\n    0xb0, 0xb7, 0xd6, 0x3f, 0x3f, 0xb5, 0xa5, 0x3f,\n    0xd0, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0xd9,\n    0xda, 0xc7, 0xc8, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5c, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x40, 0x3f, 0x40,\n    0xbb, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb9, 0xba, 0xba, 0xba, 0xa3, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xa3, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xcc, 0xc9, 0xcb, 0xc9, 0xcd, 0xca,\n    0xcd, 0xca, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5, 0x3f, 0xc4,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf3, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe1, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xd8, 0xd8, 0xd8, 0xd8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xd8, 0xd8, 0xd8,\n    0x3f, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x3f, 0x3f, 0x3f, 0x7c, 0x3f, 0x7c,\n    0x3f, 0x7c, 0x3f, 0x7c, 0x3f, 0x7c, 0x3f, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2600 .. 0x26ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xaa, 0x3f, 0x3f, 0xa7, 0x3f, 0xa9, 0xa8, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xf600 .. 0xf6ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd3, 0xd2, 0xd4, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xf800 .. 0xf8ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0xbd, 0xbe,\n    0xe2, 0xe3, 0xe4, 0xe6, 0xe7, 0xe8, 0xe9, 0xea,\n    0xeb, 0xec, 0xed, 0xee, 0xef, 0xf4, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x3f, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x3f, 0x2b, 0x3f, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x3f, 0x3f, 0x25, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x3f, 0x23, 0x3f, 0x25, 0x26, 0x3f,\n    0x28, 0x29, 0x3f, 0x2b, 0x2c, 0x3f, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x5b, 0x3f, 0x5d, 0x3f, 0x5f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x7b, 0x7c, 0x7d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xd8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0xac, 0xad, 0xae, 0xaf, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0400,\n    0x0500, 0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x0c00, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200,\n    0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x1200, 0x0d00, 0x1200,\n    0x0e00, 0x1200, 0x1200, 0x0f00, 0x1200, 0x1200, 0x1000, 0x1100\n};\n\nconst struct sbcs_table cptable_042 =\n{\n    { 42, 1, 0x003f, 0x003f, \"Symbol\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10000.cpp",
    "content": "/* code page 10000 (Mac Roman) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ROMAN.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\n    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\n    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\n    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\n    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\n    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\n    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\n    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,\n    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\n    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\n    0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02,\n    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\n    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\n    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\n    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x3f, 0xa4,\n    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,\n    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,\n    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,\n    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,\n    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,\n    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,\n    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,\n    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,\n    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,\n    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\n    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,\n    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,\n    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,\n    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,\n    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,\n    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,\n    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,\n    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,\n    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdc, 0xf6, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,\n    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0xde, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xc2, 0xf8, 0x3f, 0xb4, 0x3f, 0x3f,\n    0x7c, 0xdc, 0xf6, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_10000 =\n{\n    { 10000, 1, 0x003f, 0x003f, \"Mac Roman\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10006.cpp",
    "content": "/* code page 10006 (Mac Greek) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/GREEK.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c4, 0x00b9, 0x00b2, 0x00c9, 0x00b3, 0x00d6, 0x00dc, 0x0385,\n    0x00e0, 0x00e2, 0x00e4, 0x0384, 0x00a8, 0x00e7, 0x00e9, 0x00e8,\n    0x00ea, 0x00eb, 0x00a3, 0x2122, 0x00ee, 0x00ef, 0x2022, 0x00bd,\n    0x2030, 0x00f4, 0x00f6, 0x00a6, 0x00ad, 0x00f9, 0x00fb, 0x00fc,\n    0x2020, 0x0393, 0x0394, 0x0398, 0x039b, 0x039e, 0x03a0, 0x00df,\n    0x00ae, 0x00a9, 0x03a3, 0x03aa, 0x00a7, 0x2260, 0x00b0, 0x0387,\n    0x0391, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x0392, 0x0395, 0x0396,\n    0x0397, 0x0399, 0x039a, 0x039c, 0x03a6, 0x03ab, 0x03a8, 0x03a9,\n    0x03ac, 0x039d, 0x00ac, 0x039f, 0x03a1, 0x2248, 0x03a4, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x03a5, 0x03a7, 0x0386, 0x0388, 0x0153,\n    0x2013, 0x2015, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x0389,\n    0x038a, 0x038c, 0x038e, 0x03ad, 0x03ae, 0x03af, 0x03cc, 0x038f,\n    0x03cd, 0x03b1, 0x03b2, 0x03c8, 0x03b4, 0x03b5, 0x03c6, 0x03b3,\n    0x03b7, 0x03b9, 0x03be, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03bf,\n    0x03c0, 0x03ce, 0x03c1, 0x03c3, 0x03c4, 0x03b8, 0x03c9, 0x03c2,\n    0x03c7, 0x03c5, 0x03b6, 0x03ca, 0x03cb, 0x0390, 0x03b0, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0x21, 0x63, 0x92, 0x3f, 0xb4, 0x9b, 0xac,\n    0x8c, 0xa9, 0x61, 0xc7, 0xc2, 0x9c, 0xa8, 0xd0,\n    0xae, 0xb1, 0x82, 0x84, 0x27, 0xed, 0x3f, 0x3f,\n    0x2c, 0x81, 0x6f, 0xc8, 0x3f, 0x97, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,\n    0x45, 0x83, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x85, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x86, 0x59, 0x3f, 0xa7,\n    0x88, 0x61, 0x89, 0x61, 0x8a, 0x61, 0x61, 0x8d,\n    0x8f, 0x8e, 0x90, 0x91, 0x69, 0x69, 0x94, 0x95,\n    0x64, 0x6e, 0x6f, 0x6f, 0x99, 0x6f, 0x9a, 0xd6,\n    0x6f, 0x9d, 0x75, 0x9e, 0x9f, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0xcf, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,\n    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x85, 0x9a, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xd0, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xd0, 0xd0, 0x3f, 0x3f,\n    0x8c, 0x3f, 0xae, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x8b, 0x87, 0xcd, 0xaf,\n    0xce, 0xd7, 0xd8, 0x3f, 0xd9, 0x3f, 0xda, 0xdf,\n    0xfd, 0xb0, 0xb5, 0xa1, 0xa2, 0xb6, 0xb7, 0xb8,\n    0xa3, 0xb9, 0xba, 0xa4, 0xbb, 0xc1, 0xa5, 0xc3,\n    0xa6, 0xc4, 0x3f, 0xaa, 0xc6, 0xcb, 0xbc, 0xcc,\n    0xbe, 0xbf, 0xab, 0xbd, 0xc0, 0xdb, 0xdc, 0xdd,\n    0xfe, 0xe1, 0xe2, 0xe7, 0xe4, 0xe5, 0xfa, 0xe8,\n    0xf5, 0xe9, 0xeb, 0xec, 0xed, 0xee, 0xea, 0xef,\n    0xf0, 0xf2, 0xf7, 0xf3, 0xf4, 0xf9, 0xe6, 0xf8,\n    0xe3, 0xf6, 0xfb, 0xfc, 0xde, 0xe0, 0xf1, 0x3f,\n    0xe2, 0xf5, 0xcb, 0xcb, 0xcb, 0xe6, 0xf0, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xeb, 0xf2, 0xf7, 0x3f, 0xa3, 0xe5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x95,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x89, 0x41, 0x89,\n    0x41, 0x89, 0x41, 0x89, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x90,\n    0x45, 0x90, 0x45, 0x90, 0x45, 0x90, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99, 0x4f, 0x99,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,\n    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,\n    0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0xb6, 0x3f, 0x3f,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,\n    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,\n    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,\n    0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9, 0xb9,\n    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x3f, 0x3f,\n    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,\n    0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb, 0x3f, 0xcb,\n    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,\n    0xe1, 0xc0, 0xe5, 0xdb, 0xe8, 0xdc, 0xe9, 0xdd,\n    0xef, 0xde, 0xf9, 0xe0, 0xf6, 0xf1, 0x3f, 0x3f,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0, 0xb0,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8, 0xe8,\n    0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8, 0xb8,\n    0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6, 0xf6,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf, 0xbf,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xc0, 0x3f, 0xe1, 0xe1,\n    0xb0, 0xb0, 0xb0, 0xcd, 0xb0, 0x3f, 0xe9, 0x3f,\n    0x3f, 0x8c, 0xe8, 0xe8, 0xdc, 0x3f, 0xe8, 0xe8,\n    0xb6, 0xce, 0xb8, 0xd7, 0xb8, 0x3f, 0x3f, 0x3f,\n    0xe9, 0xe9, 0xfb, 0xfd, 0x3f, 0x3f, 0xe9, 0xfb,\n    0xb9, 0xb9, 0xb9, 0xd8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf9, 0xf9, 0xfc, 0xfe, 0xf2, 0xf2, 0xf9, 0xfc,\n    0xcb, 0xcb, 0xcb, 0xda, 0xc4, 0x8c, 0x87, 0x60,\n    0x3f, 0x3f, 0xf6, 0xf6, 0xf1, 0x3f, 0xf6, 0xf6,\n    0xc3, 0xd9, 0xbf, 0xdf, 0xbf, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd0, 0xd1, 0x3f, 0x5f,\n    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0x2c, 0x3f,\n    0xa0, 0x3f, 0x96, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x98, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd0, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xae, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x93, 0x3f, 0x5a, 0x3f, 0xbf, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe7, 0xa1, 0xa6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xae, 0x96, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x9b, 0x9b,\n    0x2d, 0x2d, 0x9b, 0x9b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x9b, 0x9b,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0xd0, 0xd0, 0xd0, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd0, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x92, 0xc2, 0xd0, 0x9b, 0xb4, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_10006 =\n{\n    { 10006, 1, 0x003f, 0x003f, \"Mac Greek\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10007.cpp",
    "content": "/* code page 10007 (Mac Cyrillic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/CYRILLIC.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\n    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\n    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\n    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\n    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x0406,\n    0x00ae, 0x00a9, 0x2122, 0x0402, 0x0452, 0x2260, 0x0403, 0x0453,\n    0x221e, 0x00b1, 0x2264, 0x2265, 0x0456, 0x00b5, 0x2202, 0x0408,\n    0x0404, 0x0454, 0x0407, 0x0457, 0x0409, 0x0459, 0x040a, 0x045a,\n    0x0458, 0x0405, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x040b, 0x045b, 0x040c, 0x045c, 0x0455,\n    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x201e,\n    0x040e, 0x045e, 0x040f, 0x045f, 0x2116, 0x0401, 0x0451, 0x044f,\n    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\n    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\n    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\n    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x00a4\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0x21, 0xa2, 0xa3, 0xff, 0x59, 0x3f, 0xa4,\n    0x22, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,\n    0xa1, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xa6, 0x3f,\n    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xd6,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,\n    0x22, 0x3f, 0xa1, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0x85, 0xdd, 0xab, 0xae, 0xb8, 0xc1, 0xa7, 0xba,\n    0xb7, 0xbc, 0xbe, 0xcb, 0xcd, 0x88, 0xd8, 0xda,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf,\n    0xe5, 0xde, 0xac, 0xaf, 0xb9, 0xcf, 0xb4, 0xbb,\n    0xc0, 0xbd, 0xbf, 0xcc, 0xce, 0xe8, 0xd9, 0xdb,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x86, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x80, 0xe0, 0x80, 0xe0, 0x3f, 0x3f, 0x85, 0xe5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xe6, 0x87, 0xe7,\n    0x3f, 0x3f, 0x88, 0xe8, 0x88, 0xe8, 0x8e, 0xee,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xfd, 0x93, 0xf3,\n    0x93, 0xf3, 0x93, 0xf3, 0x97, 0xf7, 0x3f, 0x3f,\n    0x9b, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,\n    0xd4, 0xd5, 0x2c, 0xd4, 0xd2, 0xd3, 0xd7, 0x3f,\n    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xdc, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xd7,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xc2, 0xd1, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_10007 =\n{\n    { 10007, 1, 0x003f, 0x003f, \"Mac Cyrillic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10029.cpp",
    "content": "/* code page 10029 (Mac Latin 2) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/LATIN2.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1,\n    0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179,\n    0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3,\n    0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc,\n    0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\n    0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x0123, 0x012e,\n    0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211,\n    0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145,\n    0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x2206, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c,\n    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\n    0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156,\n    0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1,\n    0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4,\n    0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173,\n    0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x3f, 0xa4,\n    0xac, 0xa9, 0x61, 0xc7, 0xc2, 0x2d, 0xa8, 0xd1,\n    0xa1, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xa6, 0x3f,\n    0x2c, 0x31, 0x6f, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xe7, 0x41, 0x41, 0x80, 0x41, 0x41, 0x43,\n    0x45, 0x83, 0x45, 0x45, 0x49, 0xea, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0xee, 0xef, 0xcd, 0x85, 0x78,\n    0x4f, 0x55, 0xf2, 0x55, 0x86, 0xf8, 0x3f, 0xa7,\n    0x61, 0x87, 0x61, 0x61, 0x8a, 0x61, 0x61, 0x63,\n    0x65, 0x8e, 0x65, 0x65, 0x69, 0x92, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\n    0x6f, 0x75, 0x9c, 0x75, 0x9f, 0xf9, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x81, 0x82, 0x41, 0x61, 0x84, 0x88, 0x8c, 0x8d,\n    0x43, 0x63, 0x43, 0x63, 0x89, 0x8b, 0x91, 0x93,\n    0x44, 0x64, 0x94, 0x95, 0x45, 0x65, 0x96, 0x98,\n    0xa2, 0xab, 0x9d, 0x9e, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0xfe, 0xae, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0xb1, 0xb4, 0x49, 0x69, 0xaf, 0xb0,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xb5, 0xfa,\n    0x3f, 0xbd, 0xbe, 0xb9, 0xba, 0xbb, 0xbc, 0x3f,\n    0x3f, 0xfc, 0xb8, 0xc1, 0xc4, 0xbf, 0xc0, 0xc5,\n    0xcb, 0x3f, 0x3f, 0x3f, 0xcf, 0xd8, 0x4f, 0x6f,\n    0xcc, 0xce, 0x4f, 0x6f, 0xd9, 0xda, 0xdf, 0xe0,\n    0xdb, 0xde, 0xe5, 0xe6, 0x53, 0x73, 0x53, 0x73,\n    0xe1, 0xe4, 0x54, 0x74, 0xe8, 0xe9, 0x54, 0x74,\n    0x55, 0x75, 0xed, 0xf0, 0x55, 0x75, 0xf1, 0xf3,\n    0xf4, 0xf5, 0xf6, 0xf7, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x8f, 0x90, 0xfb, 0xfd, 0xeb, 0xec, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,\n    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xff,\n    0x27, 0xd1, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa1, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xd1, 0xd1, 0x3f, 0x3f,\n    0xac, 0x3f, 0xa1, 0x22, 0xff, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0xac, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x94, 0x95, 0x94, 0x95,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,\n    0xcf, 0xd8, 0xcf, 0xd8, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0xe5, 0xe6, 0xe1, 0xe4,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xed, 0xf0, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,\n    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,\n    0xa0, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0xdc, 0xdd, 0x3f, 0x21, 0x3f, 0xd1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdc, 0x5e, 0xdd, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0x4f, 0xc6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb7, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xa1, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xdc, 0xdd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdc, 0xdd, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd1, 0xd1, 0xd1, 0xd1, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0xa3, 0xc2, 0xd1, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0xdc, 0x5e, 0xdd, 0xff, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_10029 =\n{\n    { 10029, 1, 0x003f, 0x003f, \"Mac Latin 2\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1006.cpp",
    "content": "/* code page 1006 (IBM Arabic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x06f0, 0x06f1, 0x06f2, 0x06f3, 0x06f4, 0x06f5, 0x06f6,\n    0x06f7, 0x06f8, 0x06f9, 0x060c, 0x061b, 0x00ad, 0x061f, 0xfe81,\n    0xfe8d, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe91, 0xfb56, 0xfb58, 0xfe93,\n    0xfe95, 0xfe97, 0xfb66, 0xfb68, 0xfe99, 0xfe9b, 0xfe9d, 0xfe9f,\n    0xfb7a, 0xfb7c, 0xfea1, 0xfea3, 0xfea5, 0xfea7, 0xfea9, 0xfb84,\n    0xfeab, 0xfead, 0xfb8c, 0xfeaf, 0xfb8a, 0xfeb1, 0xfeb3, 0xfeb5,\n    0xfeb7, 0xfeb9, 0xfebb, 0xfebd, 0xfebf, 0xfec1, 0xfec5, 0xfec9,\n    0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, 0xfecf, 0xfed0, 0xfed1,\n    0xfed3, 0xfed5, 0xfed7, 0xfed9, 0xfedb, 0xfb92, 0xfb94, 0xfedd,\n    0xfedf, 0xfee0, 0xfee1, 0xfee3, 0xfb9e, 0xfee5, 0xfee7, 0xfe85,\n    0xfeed, 0xfba6, 0xfba8, 0xfba9, 0xfbaa, 0xfe80, 0xfe89, 0xfe8a,\n    0xfe8b, 0xfef1, 0xfef2, 0xfef3, 0xfbb0, 0xfbae, 0xfe7c, 0xfe7d\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,\n    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0600 .. 0x06ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0xae,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,\n    0xa9, 0xaa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f,\n    0xb6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xba, 0x3f,\n    0xbb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc0, 0x3f, 0xc1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xcc, 0x3f, 0xca, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe5, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf1, 0x3f,\n    0xf2, 0xf3, 0xf4, 0x3f, 0x3f, 0x3f, 0xfd, 0x3f,\n    0xfc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xfe, 0xff, 0x3f, 0x3f,\n    0xf5, 0xaf, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,\n    0x3f, 0xf6, 0xf7, 0xf8, 0x3f, 0xb0, 0xb1, 0xb3,\n    0x3f, 0xb4, 0x3f, 0xb7, 0x3f, 0xb8, 0x3f, 0xb9,\n    0x3f, 0xbc, 0x3f, 0xbd, 0x3f, 0xbe, 0x3f, 0xbf,\n    0x3f, 0xc2, 0x3f, 0xc3, 0x3f, 0xc4, 0x3f, 0xc5,\n    0x3f, 0xc6, 0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xcb,\n    0x3f, 0xcd, 0x3f, 0xce, 0x3f, 0xcf, 0x3f, 0xd0,\n    0x3f, 0xd1, 0x3f, 0xd2, 0x3f, 0xd3, 0x3f, 0xd4,\n    0x3f, 0xd5, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,\n    0x3f, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd,\n    0xde, 0xdf, 0x3f, 0xe0, 0x3f, 0xe1, 0x3f, 0xe2,\n    0x3f, 0xe3, 0x3f, 0xe4, 0x3f, 0xe7, 0x3f, 0xe8,\n    0xe9, 0xea, 0x3f, 0xeb, 0x3f, 0xed, 0x3f, 0xee,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,\n    0x3f, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x0400, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_1006 =\n{\n    { 1006, 1, 0x003f, 0x003f, \"IBM Arabic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10079.cpp",
    "content": "/* code page 10079 (Mac Icelandic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/ICELAND.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\n    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\n    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\n    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\n    0x00dd, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\n    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\n    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\n    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,\n    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\n    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\n    0x00ff, 0x0178, 0x2044, 0x00a4, 0x00d0, 0x00f0, 0x00de, 0x00fe,\n    0x00fd, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\n    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\n    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, 0x02c6, 0x02dc,\n    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0xc1, 0xa2, 0xa3, 0xdb, 0xb4, 0x3f, 0xa4,\n    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,\n    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,\n    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,\n    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,\n    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,\n    0xdc, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,\n    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0xa0, 0xde, 0xa7,\n    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,\n    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,\n    0xdd, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\n    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0xe0, 0xdf, 0xd8,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xdc, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0xf5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xdc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,\n    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,\n    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,\n    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,\n    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,\n    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,\n    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,\n    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,\n    0x3f, 0x3f, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xda, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0xda, 0x5c, 0x2a,\n    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xc2, 0xf8, 0x3f, 0xb4, 0x3f, 0x3f,\n    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_10079 =\n{\n    { 10079, 1, 0x003f, 0x003f, \"Mac Icelandic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_10081.cpp",
    "content": "/* code page 10081 (Mac Turkish) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/MAC/TURKISH.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1,\n    0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8,\n    0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3,\n    0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc,\n    0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df,\n    0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8,\n    0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211,\n    0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x2126, 0x00e6, 0x00f8,\n    0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x2206, 0x00ab,\n    0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153,\n    0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca,\n    0x00ff, 0x0178, 0x011e, 0x011f, 0x0130, 0x0131, 0x015e, 0x015f,\n    0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1,\n    0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4,\n    0x003f, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x003f, 0x02c6, 0x02dc,\n    0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xca, 0xc1, 0xa2, 0xa3, 0x3f, 0xb4, 0x3f, 0xa4,\n    0xac, 0xa9, 0xbb, 0xc7, 0xc2, 0x2d, 0xa8, 0xf8,\n    0xa1, 0xb1, 0x32, 0x33, 0xab, 0xb5, 0xa6, 0xe1,\n    0xfc, 0x31, 0xbc, 0xc8, 0x3f, 0x3f, 0x3f, 0xc0,\n    0xcb, 0xe7, 0xe5, 0xcc, 0x80, 0x81, 0xae, 0x82,\n    0xe9, 0x83, 0xe6, 0xe8, 0xed, 0xea, 0xeb, 0xec,\n    0x44, 0x84, 0xf1, 0xee, 0xef, 0xcd, 0x85, 0x78,\n    0xaf, 0xf4, 0xf2, 0xf3, 0x86, 0x59, 0x3f, 0xa7,\n    0x88, 0x87, 0x89, 0x8b, 0x8a, 0x8c, 0xbe, 0x8d,\n    0x8f, 0x8e, 0x90, 0x91, 0x93, 0x92, 0x94, 0x95,\n    0x64, 0x96, 0x98, 0x97, 0x99, 0x9b, 0x9a, 0xd6,\n    0xbf, 0x9d, 0x9c, 0x9e, 0x9f, 0x79, 0x3f, 0xd8,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xda, 0xdb,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0xdc, 0xdd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0xce, 0xcf, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xdf,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0xd9, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x86, 0x9f, 0x86,\n    0x9f, 0x86, 0x9f, 0x86, 0x9f, 0x3f, 0x80, 0x8a,\n    0x41, 0x61, 0xae, 0xbe, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x81, 0x8c, 0xae, 0xbe, 0xaf, 0xbf,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x85, 0x9a, 0xcd, 0x9b, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xab, 0xfd, 0xd4, 0xd5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0xf6, 0xff,\n    0x27, 0xf8, 0xab, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf9, 0xfa, 0xfb, 0xfe, 0xf7, 0xfd, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xab, 0xf6, 0xf7, 0xf8, 0xf8, 0xf9, 0xfa,\n    0xac, 0x3f, 0xfb, 0xfd, 0xff, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfc,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xab, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xab, 0xac, 0x41, 0xe1,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0xb9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa7, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0xb9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x82, 0x8d, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xec, 0x95,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xcd, 0x9b, 0xcd, 0x9b,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xe5, 0x89, 0xe5, 0x89,\n    0xe5, 0x89, 0xe5, 0x89, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xe6, 0x90,\n    0xe6, 0x90, 0xe6, 0x90, 0xe6, 0x90, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xef, 0x99, 0xef, 0x99, 0xef, 0x99, 0xef, 0x99,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xac, 0xac, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xab, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xd0, 0xd1, 0xd0, 0x3f, 0x5f,\n    0xd4, 0xd5, 0xe2, 0xd4, 0xd2, 0xd3, 0xe3, 0x3f,\n    0xa0, 0xe0, 0xa5, 0x3f, 0x2e, 0x3f, 0xc9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0xe4, 0x3f, 0xab, 0xfd, 0x3f, 0xd4, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xf8, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfb, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xaa, 0x3f, 0x5a, 0x3f, 0xbd, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x81, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb7, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0xf6, 0x3e, 0xff, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0xb6, 0x3f, 0x3f, 0xaf, 0xc6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0xb7, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xfb, 0xa5, 0xc3, 0x3f, 0x3f, 0x3f, 0xb0, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xad, 0x3d, 0x3d, 0x3d, 0xb2, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xc7, 0xc8, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xb2, 0xb3, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe1, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xc2, 0xc2, 0xc2, 0xc2, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xc2, 0xc2, 0xc2,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xd7, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xc7, 0xc8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xd2, 0xd3, 0xe3,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf8, 0xf8, 0xf8, 0xf8, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xd1, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xc2, 0xf8, 0x3f, 0xb4, 0x3f, 0x3f,\n    0x7c, 0x3c, 0xf6, 0x3e, 0xff, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_10081 =\n{\n    { 10081, 1, 0x003f, 0x003f, \"Mac Turkish\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1026.cpp",
    "content": "/* code page 1026 (IBM EBCDIC Latin 5 Turkish) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,\n    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,\n    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,\n    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,\n    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,\n    0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,\n    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,\n    0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e,\n    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,\n    0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,\n    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,\n    0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc,\n    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1,\n    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,\n    0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae,\n    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,\n    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,\n    0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5,\n    0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,\n    0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff,\n    0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,\n    0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,\n    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,\n    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x40, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,\n    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x07,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,\n    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,\n    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,\n    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x8e, 0xb5,\n    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,\n    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,\n    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,\n    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x4a,\n    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,\n    0xc4, 0x69, 0xed, 0xee, 0xeb, 0xef, 0x7b, 0xbf,\n    0x80, 0xfd, 0xfe, 0xfb, 0x7f, 0xe8, 0x3f, 0x59,\n    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0xc0,\n    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,\n    0x84, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xa1, 0xe1,\n    0x70, 0xdd, 0xde, 0xdb, 0xe0, 0xa8, 0x3f, 0xdf,\n    /* 0x0100 .. 0x01ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,\n    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,\n    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0x5a, 0xd0,\n    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,\n    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,\n    0x5b, 0x79, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,\n    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,\n    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,\n    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,\n    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0x7c, 0x6a,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,\n    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,\n    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,\n    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,\n    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,\n    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0x7f, 0xe0, 0x7f,\n    0xe0, 0x7f, 0xe0, 0x7f, 0xe0, 0x3f, 0x63, 0x43,\n    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,\n    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,\n    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,\n    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,\n    /* 0x0200 .. 0x02ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,\n    0xc5, 0x85, 0x7b, 0xa1, 0xef, 0xcf, 0xd6, 0x96,\n    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,\n    0xa8, 0xbe, 0xfc, 0x8d, 0x7d, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,\n    0x7d, 0xbc, 0xbe, 0x8d, 0x3f, 0x6d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0xcc, 0xfc, 0x3f, 0x3f,\n    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x8d, 0xbe, 0x5f, 0xcc, 0xbc, 0xbc, 0x3f, 0x3f,\n    0xbd, 0x3f, 0x90, 0xfc, 0xa5, 0x3f, 0xfc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8d, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,\n    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,\n    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,\n    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,\n    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,\n    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,\n    0x4a, 0xc0, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,\n    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,\n    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,\n    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,\n    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,\n    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,\n    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,\n    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,\n    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,\n    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,\n    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,\n    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,\n    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,\n    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,\n    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,\n    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,\n    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,\n    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x8d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,\n    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,\n    0x8d, 0x7d, 0x6b, 0x8d, 0xfc, 0xfc, 0x6b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0xbe, 0xfc, 0x3f, 0x8d, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,\n    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,\n    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,\n    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,\n    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,\n    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,\n    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,\n    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xdc, 0x5c,\n    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,\n    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xcc, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xcc, 0xcc, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\n    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,\n    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\n    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x8e, 0x8e,\n    0x60, 0x60, 0x8e, 0x8e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x8e, 0x8e,\n    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,\n    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x61, 0xdc, 0xe7, 0x60, 0xbb, 0x60, 0xbb,\n    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x68, 0xac, 0x3f, 0xfc, 0xfc, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,\n    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,\n    0x60, 0x4d, 0x5d, 0x48, 0x8c, 0x3f, 0x3f, 0xec,\n    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,\n    0xdc, 0xad, 0x6c, 0xae, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x4f, 0xfc, 0xec, 0xad, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0xae, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x68, 0xdc, 0xac, 0x5f, 0x6d,\n    0x8d, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0x48, 0xbb, 0x8c, 0xcc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0xb1, 0xba, 0xbc, 0x8e, 0xb2, 0x3f, 0x3f,\n    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1026 =\n{\n    { 1026, 1, 0x003f, 0x003f, \"IBM EBCDIC Latin 5 Turkish\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1250.cpp",
    "content": "/* code page 1250 (ANSI Eastern Europe) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x0088, 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x0098, 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a,\n    0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b,\n    0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c,\n    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,\n    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,\n    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,\n    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,\n    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,\n    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,\n    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,\n    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,\n    0xb0, 0xb1, 0x32, 0x33, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,\n    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,\n    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,\n    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,\n    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,\n    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,\n    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,\n    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0xc3, 0xe3, 0xa5, 0xb9, 0xc6, 0xe6,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,\n    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xbc, 0xbe, 0x3f,\n    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,\n    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,\n    0xd8, 0xf8, 0x8c, 0x9c, 0x53, 0x73, 0xaa, 0xba,\n    0x8a, 0x9a, 0xde, 0xfe, 0x8d, 0x9d, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,\n    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x8f, 0x9f, 0xaf, 0xbf, 0x8e, 0x9e, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0xbd, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xa1,\n    0x27, 0x97, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0x97, 0x97, 0xa2, 0xff,\n    0xa8, 0x3f, 0xb0, 0xbd, 0xa1, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x8c, 0x9c, 0x8a, 0x9a,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,\n    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0xbd, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x5e, 0x9b, 0xa1, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x5e, 0x9b, 0xa1, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1250 =\n{\n    { 1250, 1, 0x003f, 0x003f, \"ANSI Eastern Europe\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1251.cpp",
    "content": "/* code page 1251 (ANSI Cyrillic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,\n    0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x0098, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,\n    0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,\n    0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,\n    0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,\n    0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457,\n    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\n    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\n    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\n    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\n    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\n    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\n    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\n    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,\n    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,\n    0xb0, 0xb1, 0x32, 0x33, 0x27, 0xb5, 0xb6, 0xb7,\n    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,\n    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0xc5, 0xa8, 0x80, 0x81, 0xaa, 0xbd, 0xb2, 0xaf,\n    0xa3, 0x8a, 0x8c, 0x8e, 0x8d, 0xc8, 0xa1, 0x8f,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\n    0xe5, 0xb8, 0x90, 0x83, 0xba, 0xbe, 0xb3, 0xbf,\n    0xbc, 0x9a, 0x9c, 0x9e, 0x9d, 0xe8, 0xa2, 0x9f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa5, 0xb4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc6, 0xe6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc0, 0xe0, 0xc0, 0xe0, 0x3f, 0x3f, 0xc5, 0xe5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xc6, 0xe6, 0xc7, 0xe7,\n    0x3f, 0x3f, 0xc8, 0xe8, 0xc8, 0xe8, 0xce, 0xee,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xdd, 0xfd, 0xd3, 0xf3,\n    0xd3, 0xf3, 0xd3, 0xf3, 0xd7, 0xf7, 0x3f, 0x3f,\n    0xdb, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xb9, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0xac, 0x97, 0xa6, 0x59, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_1251 =\n{\n    { 1251, 1, 0x003f, 0x003f, \"ANSI Cyrillic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1252.cpp",
    "content": "/* code page 1252 (ANSI Latin 1) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x017d, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x017e, 0x0178,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x8e, 0x9e, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1252 =\n{\n    { 1252, 1, 0x003f, 0x003f, \"ANSI Latin 1\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1253.cpp",
    "content": "/* code page 1253 (ANSI Greek) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7,\n    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,\n    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\n    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,\n    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,\n    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\n    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\n    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,\n    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x97,\n    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,\n    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa1, 0xa2, 0xb7,\n    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,\n    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,\n    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,\n    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,\n    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,\n    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,\n    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,\n    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,\n    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,\n    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,\n    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,\n    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xa2, 0xc1, 0x3f, 0xe9, 0x3f,\n    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,\n    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,\n    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,\n    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,\n    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xa1, 0x60,\n    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,\n    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0xaf, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x97, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x5e, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0xa3, 0xac, 0x97, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x5e, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1253 =\n{\n    { 1253, 1, 0x003f, 0x003f, \"ANSI Greek\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1254.cpp",
    "content": "/* code page 1254 (ANSI Turkish) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,\n    0x8a, 0x9a, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x8a, 0x9a,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1254 =\n{\n    { 1254, 1, 0x003f, 0x003f, \"ANSI Turkish\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1255.cpp",
    "content": "/* code page 1255 (ANSI Hebrew) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x02c6, 0x2030, 0x008a, 0x2039, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x02dc, 0x2122, 0x009a, 0x203a, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20aa, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x05b0, 0x05b1, 0x05b2, 0x05b3, 0x05b4, 0x05b5, 0x05b6, 0x05b7,\n    0x05b8, 0x05b9, 0x003f, 0x05bb, 0x05bc, 0x05bd, 0x05be, 0x05bf,\n    0x05c0, 0x05c1, 0x05c2, 0x05c3, 0x05f0, 0x05f1, 0x05f2, 0x05f3,\n    0x05f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,\n    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\n    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\n    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\n    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x3f, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x9a, 0x3f, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x88, 0x98, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0500 .. 0x05ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0x3f, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xa4, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,\n    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0xd6,\n    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,\n    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,\n    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x0400, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_1255 =\n{\n    { 1255, 1, 0x003f, 0x003f, \"ANSI Hebrew\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1256.cpp",
    "content": "/* code page 1256 (ANSI Arabic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x067e, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x02c6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,\n    0x06af, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x06a9, 0x2122, 0x0691, 0x203a, 0x0153, 0x200c, 0x200d, 0x06ba,\n    0x00a0, 0x060c, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x06be, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x061b, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x061f,\n    0x06c1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,\n    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,\n    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00d7,\n    0x0637, 0x0638, 0x0639, 0x063a, 0x0640, 0x0641, 0x0642, 0x0643,\n    0x00e0, 0x0644, 0x00e2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0649, 0x064a, 0x00ee, 0x00ef,\n    0x064b, 0x064c, 0x064d, 0x064e, 0x00f4, 0x064f, 0x0650, 0x00f7,\n    0x0651, 0x00f9, 0x0652, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x06d2\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xd7,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0xe0, 0x61, 0xe2, 0x61, 0x61, 0x61, 0x61, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0x69, 0xee, 0xef,\n    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0x6f, 0x6f, 0xf7,\n    0x6f, 0xf9, 0x75, 0xfb, 0xfc, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0xfc, 0x55,\n    0xfc, 0x55, 0xfc, 0x55, 0xfc, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x88, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0600 .. 0x06ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xba, 0x3f, 0x3f, 0x3f, 0xbf,\n    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd8,\n    0xd9, 0xda, 0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdc, 0xdd, 0xde, 0xdf, 0xe1, 0xe3, 0xe4, 0xe5,\n    0xe6, 0xec, 0xed, 0xf0, 0xf1, 0xf2, 0xf3, 0xf5,\n    0xf6, 0xf8, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8a, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8d, 0x3f,\n    0x8f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x90,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x9f, 0x3f, 0x3f, 0x3f, 0xaa, 0x3f,\n    0x3f, 0xc0, 0xc0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xff, 0xff, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0xe2, 0x41, 0xe2,\n    0x41, 0xe2, 0x41, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0xea,\n    0x45, 0xea, 0x45, 0xea, 0x45, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4, 0x4f, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x9d, 0x9e, 0xfd, 0xfe,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x0400, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_1256 =\n{\n    { 1256, 1, 0x003f, 0x003f, \"ANSI Arabic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1257.cpp",
    "content": "/* code page 1257 (ANSI Baltic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0083, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x0088, 0x2030, 0x008a, 0x2039, 0x008c, 0x00a8, 0x02c7, 0x00b8,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x0098, 0x2122, 0x009a, 0x203a, 0x009c, 0x00af, 0x02db, 0x009f,\n    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,\n    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,\n    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,\n    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,\n    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,\n    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,\n    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,\n    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,\n    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,\n    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x02d9\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x83, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x8a, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x3f, 0x9a, 0x3f, 0x9c, 0x3f, 0x3f, 0x9f,\n    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,\n    0x8d, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x9d,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0x8f, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,\n    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,\n    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,\n    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,\n    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,\n    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,\n    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,\n    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,\n    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,\n    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,\n    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,\n    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x8e,\n    0x27, 0x9d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xff, 0xb0, 0x9e, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0x9d, 0x9d, 0x3f, 0xff,\n    0x8d, 0x3f, 0xb0, 0x22, 0x8e, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x8f,\n    0x9e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0x8d, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x8d, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8d, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x8d, 0x8d, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0x9d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x5e, 0x9b, 0x8e, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9d, 0x9d, 0x9d, 0x9d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0x9d, 0xa6, 0x59, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x5e, 0x9b, 0x8e, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1257 =\n{\n    { 1257, 1, 0x003f, 0x003f, \"ANSI Baltic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_1258.cpp",
    "content": "/* code page 1258 (ANSI/OEM Viet Nam) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021,\n    0x02c6, 0x2030, 0x008a, 0x2039, 0x0152, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x02dc, 0x2122, 0x009a, 0x203a, 0x0153, 0x009d, 0x009e, 0x0178,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0300, 0x00cd, 0x00ce, 0x00cf,\n    0x0110, 0x00d1, 0x0309, 0x00d3, 0x00d4, 0x01a0, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x01af, 0x0303, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x0301, 0x00ed, 0x00ee, 0x00ef,\n    0x0111, 0x00f1, 0x0323, 0x00f3, 0x00f4, 0x01a1, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x01b0, 0x20ab, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x3f, 0x3f, 0x8d, 0x8e, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0x49, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0x69, 0xed, 0xee, 0xef,\n    0x64, 0xf1, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0xc3, 0xe3, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x8c, 0x9c, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x9f, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x83, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0xd5, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0xdd,\n    0xfd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x88, 0x76,\n    0x27, 0xaf, 0xb4, 0xcc, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x98, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0xcc, 0xec, 0x88, 0xde, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0xd2, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xf2, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xcc, 0xec, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xec, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,\n    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0xd5, 0xf5, 0xd5, 0xf5, 0xd5, 0xf5,\n    0xd5, 0xf5, 0xd5, 0xf5, 0x55, 0x75, 0x55, 0x75,\n    0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd, 0xdd, 0xfd,\n    0xdd, 0xfd, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x82, 0x91, 0x93, 0x94, 0x84, 0x3f,\n    0x86, 0x87, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x89, 0x3f, 0xb4, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xfe, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x99, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x88, 0x9b, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x98, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x8b, 0x9b, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x84,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x8b, 0x88, 0x9b, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_1258 =\n{\n    { 1258, 1, 0x003f, 0x003f, \"ANSI/OEM Viet Nam\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_20866.cpp",
    "content": "/* code page 20866 (Russian KOI8) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,\n    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,\n    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,\n    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,\n    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,\n    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,\n    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,\n    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,\n    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,\n    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,\n    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,\n    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,\n    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,\n    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,\n    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,\n    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,\n    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,\n    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,\n    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,\n    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,\n    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,\n    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,\n    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,\n    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,\n    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,\n    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,\n    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,\n    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x82, 0x82, 0x82, 0x82,\n    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,\n    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,\n    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,\n    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,\n    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,\n    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,\n    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,\n    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,\n    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,\n    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,\n    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_20866 =\n{\n    { 20866, 1, 0x003f, 0x003f, \"Russian KOI8\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_20932.cpp",
    "content": "/* code page 20932 (EUC-JP) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/JIS0208.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[20480] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0000, 0x0000,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,\n    /* unused lead bytes */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67,\n    0xff68, 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f,\n    0xff70, 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77,\n    0xff78, 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f,\n    0xff80, 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87,\n    0xff88, 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f,\n    0xff90, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97,\n    0xff98, 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a,\n    0xff1b, 0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8,\n    0xff3e, 0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003,\n    0x4edd, 0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f,\n    0xff3c, 0x301c, 0x2016, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019,\n    0x201c, 0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d,\n    0xff5b, 0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d,\n    0x300e, 0x300f, 0x3010, 0x3011, 0xff0b, 0x2212, 0x00b1, 0x00d7,\n    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,\n    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,\n    0xff04, 0x00a2, 0x00a3, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,\n    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x003f,\n    /* lead byte a2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x25c6, 0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc,\n    0x203b, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283,\n    0x222a, 0x2229, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x2227, 0x2228, 0x00ac, 0x21d2, 0x21d4, 0x2200,\n    0x2203, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202,\n    0x2207, 0x2261, 0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d,\n    0x2235, 0x222b, 0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020,\n    0x2021, 0x00b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f,\n    /* lead byte a3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,\n    0xff18, 0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,\n    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,\n    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,\n    0xff38, 0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,\n    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,\n    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,\n    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,\n    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,\n    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,\n    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,\n    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,\n    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,\n    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,\n    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,\n    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,\n    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,\n    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,\n    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,\n    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,\n    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,\n    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,\n    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,\n    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,\n    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,\n    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,\n    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,\n    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\n    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,\n    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\n    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\n    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,\n    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,\n    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,\n    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,\n    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,\n    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,\n    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,\n    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,\n    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,\n    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,\n    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,\n    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,\n    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,\n    0x2542, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte b0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x4e9c, 0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328,\n    0x59f6, 0x9022, 0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25,\n    0x65ed, 0x8466, 0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271,\n    0x5b9b, 0x59d0, 0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216,\n    0x7c9f, 0x88b7, 0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7,\n    0x978d, 0x674f, 0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2,\n    0x5937, 0x59d4, 0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613,\n    0x6905, 0x70ba, 0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3,\n    0x840e, 0x8863, 0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5,\n    0x57df, 0x80b2, 0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038,\n    0x7a32, 0x8328, 0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1,\n    0x56e0, 0x59fb, 0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f,\n    /* lead byte b1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87,\n    0x70cf, 0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11,\n    0x7893, 0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b,\n    0x59e5, 0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b,\n    0x96f2, 0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620,\n    0x66f3, 0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e,\n    0x9834, 0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca,\n    0x99c5, 0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186,\n    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,\n    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,\n    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,\n    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x003f,\n    /* lead byte b2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x62bc, 0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1,\n    0x8956, 0x9d2c, 0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104,\n    0x5c4b, 0x61b6, 0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378,\n    0x6069, 0x6e29, 0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55,\n    0x4f3d, 0x4fa1, 0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1,\n    0x5bb6, 0x5be1, 0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3,\n    0x706b, 0x73c2, 0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db,\n    0x8304, 0x8377, 0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8,\n    0x8fe6, 0x904e, 0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259,\n    0x753b, 0x81e5, 0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5,\n    0x4ecb, 0x4f1a, 0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb,\n    0x602a, 0x6094, 0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f,\n    /* lead byte b3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686,\n    0x7d75, 0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be,\n    0x5916, 0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d,\n    0x84cb, 0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9,\n    0x57a3, 0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3,\n    0x62e1, 0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b,\n    0x899a, 0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769,\n    0x5b66, 0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b,\n    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,\n    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,\n    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,\n    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x003f,\n    /* lead byte b4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7ca5, 0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0,\n    0x5bd2, 0x520a, 0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6,\n    0x5b8c, 0x5b98, 0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163,\n    0x61be, 0x63db, 0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53,\n    0x6c57, 0x6f22, 0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b,\n    0x7aff, 0x7ba1, 0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266,\n    0x839e, 0x89b3, 0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591,\n    0x95a2, 0x9665, 0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8,\n    0x5dcc, 0x73a9, 0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1,\n    0x9811, 0x9854, 0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668,\n    0x57fa, 0x5947, 0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc,\n    0x63ee, 0x673a, 0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f,\n    /* lead byte b5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948,\n    0x5b63, 0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77,\n    0x8ecc, 0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100,\n    0x5993, 0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591,\n    0x7947, 0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0,\n    0x5409, 0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775,\n    0x9ecd, 0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45,\n    0x4ec7, 0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551,\n    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,\n    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,\n    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,\n    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x003f,\n    /* lead byte b6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x4f9b, 0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6,\n    0x5354, 0x5321, 0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37,\n    0x5f4a, 0x602f, 0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1,\n    0x72c2, 0x72ed, 0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7,\n    0x93e1, 0x97ff, 0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681,\n    0x696d, 0x5c40, 0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5,\n    0x52e4, 0x5747, 0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434,\n    0x7981, 0x79bd, 0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f,\n    0x8b39, 0x8fd1, 0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5,\n    0x533a, 0x72d7, 0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8,\n    0x99d2, 0x5177, 0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3,\n    0x9047, 0x9685, 0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f,\n    /* lead byte b7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a,\n    0x9688, 0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b,\n    0x85ab, 0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941,\n    0x4fc2, 0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b,\n    0x5951, 0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2,\n    0x643a, 0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb,\n    0x7d4c, 0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08,\n    0x8a63, 0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8,\n    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,\n    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,\n    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,\n    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x003f,\n    /* lead byte b8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x691c, 0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f,\n    0x7d79, 0x770c, 0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063,\n    0x9375, 0x967a, 0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3,\n    0x5e7b, 0x5f26, 0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237,\n    0x8a00, 0x8afa, 0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa,\n    0x59d1, 0x5b64, 0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af,\n    0x6e56, 0x72d0, 0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e,\n    0x8a87, 0x8de8, 0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92,\n    0x4f0d, 0x5348, 0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f,\n    0x68a7, 0x6a8e, 0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190,\n    0x4e5e, 0x9bc9, 0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149,\n    0x516c, 0x529f, 0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f,\n    /* lead byte b9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d,\n    0x5b8f, 0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7,\n    0x5f18, 0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602,\n    0x6643, 0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a,\n    0x6d69, 0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0,\n    0x7d05, 0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1,\n    0x8154, 0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2,\n    0x8cfc, 0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d,\n    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,\n    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,\n    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,\n    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x003f,\n    /* lead byte ba */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6b64, 0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a,\n    0x6068, 0x61c7, 0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5,\n    0x7d3a, 0x826e, 0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f,\n    0x5de6, 0x5dee, 0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396,\n    0x88df, 0x5750, 0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700,\n    0x54c9, 0x585e, 0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d,\n    0x6b73, 0x6e08, 0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d,\n    0x658e, 0x7d30, 0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728,\n    0x6750, 0x7f6a, 0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a,\n    0x80b4, 0x54b2, 0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a,\n    0x548b, 0x643e, 0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22,\n    0x932f, 0x685c, 0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f,\n    /* lead byte bb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9,\n    0x96d1, 0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652,\n    0x4e09, 0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f,\n    0x71e6, 0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb,\n    0x9178, 0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a,\n    0x4f7f, 0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb,\n    0x59c9, 0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d,\n    0x6307, 0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62,\n    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,\n    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,\n    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,\n    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x003f,\n    /* lead byte bc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6b21, 0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1,\n    0x793a, 0x800c, 0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f,\n    0x5f0f, 0x8b58, 0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03,\n    0x53f1, 0x57f7, 0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06,\n    0x75be, 0x8cea, 0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d,\n    0x5c61, 0x854a, 0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66,\n    0x659c, 0x716e, 0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e,\n    0x86c7, 0x90aa, 0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235,\n    0x914c, 0x91c8, 0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b,\n    0x53d6, 0x5b88, 0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e,\n    0x816b, 0x8da3, 0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff,\n    0x6388, 0x6a39, 0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f,\n    /* lead byte bd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32,\n    0x79c0, 0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490,\n    0x8846, 0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c,\n    0x96c6, 0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e,\n    0x67d4, 0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4,\n    0x5919, 0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f,\n    0x51fa, 0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3,\n    0x821c, 0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3,\n    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,\n    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,\n    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,\n    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x003f,\n    /* lead byte be */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x52dd, 0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531,\n    0x5617, 0x5968, 0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11,\n    0x5c1a, 0x5e84, 0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db,\n    0x638c, 0x6377, 0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2,\n    0x6a1f, 0x6a35, 0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126,\n    0x7167, 0x75c7, 0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0,\n    0x7b11, 0x7ca7, 0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d,\n    0x88f3, 0x8a1f, 0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4,\n    0x9266, 0x937e, 0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e,\n    0x4e57, 0x5197, 0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38,\n    0x60c5, 0x64fe, 0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63,\n    0x84b8, 0x8b72, 0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f,\n    /* lead byte bf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272,\n    0x89e6, 0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5,\n    0x5507, 0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0,\n    0x664b, 0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f,\n    0x795e, 0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a,\n    0x8eab, 0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203,\n    0x5875, 0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5,\n    0x9663, 0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8,\n    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,\n    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,\n    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,\n    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x003f,\n    /* lead byte c0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6f84, 0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f,\n    0x51c4, 0x5236, 0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f,\n    0x6574, 0x661f, 0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272,\n    0x751f, 0x76db, 0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0,\n    0x8a93, 0x8acb, 0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e,\n    0x8106, 0x96bb, 0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790,\n    0x77f3, 0x7a4d, 0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1,\n    0x8e5f, 0x78a9, 0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d,\n    0x7a83, 0x7bc0, 0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9,\n    0x5148, 0x5343, 0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226,\n    0x6247, 0x64b0, 0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3,\n    0x6f5c, 0x714e, 0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f,\n    /* lead byte c1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e,\n    0x8cce, 0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae,\n    0x524d, 0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3,\n    0x7cce, 0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a,\n    0x72d9, 0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20,\n    0x7d44, 0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275,\n    0x53cc, 0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b,\n    0x5c64, 0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb,\n    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,\n    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,\n    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,\n    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x003f,\n    /* lead byte c2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x81d3, 0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247,\n    0x5373, 0x606f, 0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7,\n    0x5c5e, 0x8cca, 0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3,\n    0x5b58, 0x5b6b, 0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a,\n    0x592a, 0x6c70, 0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253,\n    0x67c1, 0x8235, 0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806,\n    0x5bfe, 0x8010, 0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234,\n    0x66ff, 0x6cf0, 0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8,\n    0x9000, 0x902e, 0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927,\n    0x7b2c, 0x918d, 0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544,\n    0x5b85, 0x6258, 0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17,\n    0x9438, 0x6fc1, 0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f,\n    /* lead byte c3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd,\n    0x7aea, 0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0,\n    0x4e39, 0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e,\n    0x6de1, 0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d,\n    0x80c6, 0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad,\n    0x6696, 0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730,\n    0x5f1b, 0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4,\n    0x8718, 0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4,\n    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,\n    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,\n    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,\n    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x003f,\n    /* lead byte c4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5e16, 0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4,\n    0x61f2, 0x6311, 0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a,\n    0x8074, 0x8139, 0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3,\n    0x929a, 0x9577, 0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715,\n    0x6c88, 0x73cd, 0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e,\n    0x69cc, 0x8ffd, 0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4,\n    0x69fb, 0x4f43, 0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354,\n    0x693f, 0x6f70, 0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a,\n    0x91e3, 0x9db4, 0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e,\n    0x5448, 0x5824, 0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f,\n    0x608c, 0x62b5, 0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e,\n    0x7a0b, 0x7de0, 0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f,\n    /* lead byte c5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2,\n    0x6575, 0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2,\n    0x5fb9, 0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929,\n    0x5c55, 0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b,\n    0x70b9, 0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410,\n    0x5835, 0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21,\n    0x767b, 0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a,\n    0x52aa, 0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac,\n    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,\n    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,\n    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,\n    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x003f,\n    /* lead byte c6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8463, 0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f,\n    0x9003, 0x900f, 0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd,\n    0x52d5, 0x540c, 0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3,\n    0x7ae5, 0x80f4, 0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f,\n    0x5f97, 0x5fb3, 0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2,\n    0x72ec, 0x8aad, 0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a,\n    0x9cf6, 0x82eb, 0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7,\n    0x6566, 0x6c8c, 0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d,\n    0x5948, 0x90a3, 0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058,\n    0x637a, 0x934b, 0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960,\n    0x8edf, 0x96e3, 0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302,\n    0x8cd1, 0x8089, 0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f,\n    /* lead byte c7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d,\n    0x6fe1, 0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74,\n    0x5ff5, 0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b,\n    0x57dc, 0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf,\n    0x8fb2, 0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777,\n    0x6ce2, 0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac,\n    0x4ff3, 0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c,\n    0x80cc, 0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885,\n    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,\n    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,\n    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,\n    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x003f,\n    /* lead byte c8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x51fd, 0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8,\n    0x5e61, 0x808c, 0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a,\n    0x9197, 0x9aea, 0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9,\n    0x567a, 0x5859, 0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd,\n    0x53db, 0x5e06, 0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248,\n    0x72af, 0x73ed, 0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4,\n    0x91c6, 0x7169, 0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4,\n    0x78d0, 0x8543, 0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87,\n    0x5f7c, 0x60b2, 0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc,\n    0x75b2, 0x76ae, 0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab,\n    0x8ab9, 0x8cbb, 0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099,\n    0x5c3e, 0x5fae, 0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f,\n    /* lead byte c9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66,\n    0x819d, 0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c,\n    0x6867, 0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a,\n    0x6a19, 0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79,\n    0x5edf, 0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c,\n    0x86ed, 0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7,\n    0x8cd3, 0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b,\n    0x5a66, 0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577,\n    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,\n    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,\n    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,\n    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x003f,\n    /* lead byte ca */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x798f, 0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255,\n    0x6cb8, 0x4ecf, 0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3,\n    0x61a4, 0x626e, 0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0,\n    0x6587, 0x805e, 0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73,\n    0x5f0a, 0x67c4, 0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801,\n    0x50fb, 0x58c1, 0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86,\n    0x504f, 0x5909, 0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d,\n    0x4fbf, 0x52c9, 0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea,\n    0x5703, 0x6355, 0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df,\n    0x5893, 0x6155, 0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023,\n    0x4ff8, 0x5305, 0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef,\n    0x5d29, 0x5e96, 0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f,\n    /* lead byte cb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3,\n    0x840c, 0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2,\n    0x98fd, 0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a,\n    0x59a8, 0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0,\n    0x68d2, 0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf,\n    0x927e, 0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8,\n    0x64b2, 0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1,\n    0x6b86, 0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6,\n    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,\n    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,\n    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,\n    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x003f,\n    /* lead byte cc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6f2b, 0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95,\n    0x5cac, 0x5bc6, 0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999,\n    0x7c8d, 0x6c11, 0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db,\n    0x9727, 0x9d61, 0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d,\n    0x660e, 0x76df, 0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5,\n    0x514d, 0x68c9, 0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21,\n    0x8302, 0x5984, 0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017,\n    0x8499, 0x5132, 0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905,\n    0x5c24, 0x623b, 0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580,\n    0x5301, 0x4e5f, 0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25,\n    0x77e2, 0x5384, 0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756,\n    0x67f3, 0x85ae, 0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f,\n    /* lead byte cd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb,\n    0x5ba5, 0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67,\n    0x6d8c, 0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a,\n    0x9091, 0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e,\n    0x8a89, 0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8,\n    0x63da, 0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6,\n    0x7194, 0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981,\n    0x8b21, 0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32,\n    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,\n    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,\n    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,\n    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x003f,\n    /* lead byte ce */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x75e2, 0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b,\n    0x7387, 0x7acb, 0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c,\n    0x7409, 0x7559, 0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6,\n    0x616e, 0x65c5, 0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc,\n    0x5bee, 0x6599, 0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c,\n    0x7ce7, 0x826f, 0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b,\n    0x7dd1, 0x502b, 0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8,\n    0x8f2a, 0x96a3, 0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f,\n    0x985e, 0x4ee4, 0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c,\n    0x73b2, 0x793c, 0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97,\n    0x9f62, 0x66a6, 0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9,\n    0x604b, 0x6190, 0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f,\n    /* lead byte cf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089,\n    0x8cc2, 0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717,\n    0x697c, 0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001,\n    0x807e, 0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332,\n    0x8ad6, 0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1,\n    0x67a0, 0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568,\n    0x6900, 0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte d0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5f0c, 0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c,\n    0x4e3f, 0x4e42, 0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a,\n    0x8212, 0x5f0d, 0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0,\n    0x4eb3, 0x4eb6, 0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7,\n    0x4ede, 0x4eed, 0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b,\n    0x4f5d, 0x4f57, 0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b,\n    0x4f69, 0x4f70, 0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4,\n    0x4fdf, 0x4fce, 0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4,\n    0x4fe5, 0x501a, 0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c,\n    0x4ff6, 0x5021, 0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006,\n    0x5043, 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056,\n    0x506c, 0x5078, 0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f,\n    /* lead byte d1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5,\n    0x50ed, 0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102,\n    0x5116, 0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c,\n    0x513b, 0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8,\n    0x5169, 0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189,\n    0x518f, 0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2,\n    0x51a9, 0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5,\n    0x51bd, 0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed,\n    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,\n    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,\n    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,\n    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x003f,\n    /* lead byte d2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8fa7, 0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd,\n    0x52d7, 0x52de, 0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5,\n    0x52f8, 0x52f9, 0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f,\n    0x5315, 0x531a, 0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340,\n    0x5346, 0x5345, 0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369,\n    0x536e, 0x5918, 0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6,\n    0x53a5, 0x53ae, 0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df,\n    0x66fc, 0x71ee, 0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d,\n    0x5440, 0x542c, 0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d,\n    0x544e, 0x548f, 0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470,\n    0x5492, 0x547b, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7,\n    0x54a2, 0x54b8, 0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f,\n    /* lead byte d3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5,\n    0x54e6, 0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2,\n    0x5539, 0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556,\n    0x5557, 0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a,\n    0x559f, 0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583,\n    0x55a9, 0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc,\n    0x55e4, 0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b,\n    0x55f9, 0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638,\n    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,\n    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,\n    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,\n    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x003f,\n    /* lead byte d4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5708, 0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7,\n    0x571c, 0x5726, 0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f,\n    0x5769, 0x57c0, 0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0,\n    0x57b3, 0x57a4, 0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2,\n    0x57d3, 0x580a, 0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872,\n    0x5821, 0x5862, 0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879,\n    0x5885, 0x58b9, 0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8,\n    0x58ae, 0x58c5, 0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5,\n    0x58dc, 0x58e4, 0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc,\n    0x58fd, 0x5902, 0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c,\n    0x592d, 0x5932, 0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e,\n    0x595a, 0x5958, 0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f,\n    /* lead byte d5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2,\n    0x59c6, 0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f,\n    0x5a11, 0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35,\n    0x5a36, 0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2,\n    0x5abd, 0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb,\n    0x5b0c, 0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e,\n    0x5b43, 0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65,\n    0x5b69, 0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80,\n    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,\n    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,\n    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,\n    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x003f,\n    /* lead byte d6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5c50, 0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76,\n    0x5c79, 0x5c8c, 0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6,\n    0x5cbc, 0x5cb7, 0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd,\n    0x5cfa, 0x5ced, 0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c,\n    0x5d1f, 0x5d1b, 0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18,\n    0x5d4c, 0x5d52, 0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87,\n    0x5d84, 0x5d82, 0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90,\n    0x5db7, 0x5dbc, 0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb,\n    0x5deb, 0x5df2, 0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b,\n    0x5e36, 0x5e37, 0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54,\n    0x5e5f, 0x5e62, 0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc,\n    0x5e7f, 0x5ea0, 0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f,\n    /* lead byte d7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1,\n    0x5ee8, 0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8,\n    0x5efe, 0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16,\n    0x5f29, 0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f,\n    0x5f51, 0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77,\n    0x5f83, 0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e,\n    0x5f99, 0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb,\n    0x5fe4, 0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060,\n    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,\n    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,\n    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,\n    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x003f,\n    /* lead byte d8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6084, 0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b,\n    0x60e1, 0x60b8, 0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6,\n    0x60b5, 0x60d8, 0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100,\n    0x60f4, 0x60fa, 0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e,\n    0x6147, 0x613e, 0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c,\n    0x6134, 0x613d, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159,\n    0x615a, 0x616b, 0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d,\n    0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a,\n    0x618a, 0x6191, 0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7,\n    0x61c8, 0x61c3, 0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6,\n    0x61e3, 0x61f6, 0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe,\n    0x6200, 0x6208, 0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f,\n    /* lead byte d9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233,\n    0x6241, 0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c,\n    0x6282, 0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283,\n    0x6294, 0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4,\n    0x62c8, 0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9,\n    0x630c, 0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5,\n    0x6350, 0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380,\n    0x63ab, 0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b,\n    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,\n    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,\n    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,\n    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x003f,\n    /* lead byte da */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x64da, 0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2,\n    0x64f1, 0x64e7, 0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef,\n    0x652c, 0x64f6, 0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518,\n    0x651c, 0x6505, 0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537,\n    0x6536, 0x6538, 0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558,\n    0x655e, 0x655d, 0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b,\n    0x659f, 0x65ab, 0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc,\n    0x65d2, 0x65db, 0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a,\n    0x6603, 0x65fb, 0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f,\n    0x6644, 0x6649, 0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668,\n    0x665f, 0x6662, 0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684,\n    0x6698, 0x669d, 0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f,\n    /* lead byte db */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6,\n    0x66e9, 0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726,\n    0x6727, 0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737,\n    0x6746, 0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770,\n    0x67a9, 0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785,\n    0x67b7, 0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4,\n    0x67de, 0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7,\n    0x6a9c, 0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e,\n    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,\n    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,\n    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,\n    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x003f,\n    /* lead byte dc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x68d4, 0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7,\n    0x68e3, 0x6925, 0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a,\n    0x6923, 0x6921, 0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b,\n    0x6954, 0x697e, 0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930,\n    0x6961, 0x695e, 0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0,\n    0x69bf, 0x69c1, 0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd,\n    0x69bb, 0x69c3, 0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995,\n    0x69b4, 0x69de, 0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9,\n    0x69f2, 0x69e7, 0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb,\n    0x6a0a, 0x6a12, 0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72,\n    0x6a36, 0x6a78, 0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38,\n    0x6a22, 0x6a90, 0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f,\n    /* lead byte dd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3,\n    0x6aac, 0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb,\n    0x6b05, 0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38,\n    0x6b37, 0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50,\n    0x6b59, 0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f,\n    0x6b80, 0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4,\n    0x6baa, 0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc,\n    0x6bc6, 0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef,\n    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,\n    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,\n    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,\n    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x003f,\n    /* lead byte de */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6cba, 0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d,\n    0x6d36, 0x6d2b, 0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12,\n    0x6d0c, 0x6d63, 0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e,\n    0x6d95, 0x6fe4, 0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7,\n    0x6de6, 0x6db8, 0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2,\n    0x6dc5, 0x6dfa, 0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d,\n    0x6e6e, 0x6e2e, 0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b,\n    0x6e2b, 0x6e76, 0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24,\n    0x6eff, 0x6e1d, 0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7,\n    0x6ed3, 0x6ebd, 0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f,\n    0x6ea5, 0x6ec2, 0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8,\n    0x6efe, 0x6f3f, 0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f,\n    /* lead byte df */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81,\n    0x6f80, 0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58,\n    0x6f8e, 0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4,\n    0x6fb9, 0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8,\n    0x6ff1, 0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001,\n    0x700f, 0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f,\n    0x7030, 0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af,\n    0x70f1, 0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd,\n    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,\n    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,\n    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,\n    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x003f,\n    /* lead byte e0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x71f9, 0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d,\n    0x722c, 0x7230, 0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246,\n    0x724b, 0x7258, 0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292,\n    0x7296, 0x72a2, 0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4,\n    0x72ce, 0x72d2, 0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f,\n    0x7317, 0x730a, 0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329,\n    0x7325, 0x733e, 0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368,\n    0x7370, 0x7378, 0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce,\n    0x73bb, 0x73c0, 0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f,\n    0x7425, 0x73f8, 0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459,\n    0x7441, 0x745c, 0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e,\n    0x748b, 0x749e, 0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f,\n    /* lead byte e1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0,\n    0x74f1, 0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e,\n    0x750d, 0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544,\n    0x754d, 0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564,\n    0x7567, 0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574,\n    0x758a, 0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3,\n    0x75c2, 0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1,\n    0x75cd, 0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff,\n    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,\n    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,\n    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,\n    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x003f,\n    /* lead byte e2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7672, 0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688,\n    0x768b, 0x768e, 0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4,\n    0x76b8, 0x76b9, 0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de,\n    0x76e1, 0x76e5, 0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707,\n    0x7704, 0x7729, 0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737,\n    0x7738, 0x7747, 0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f,\n    0x777e, 0x7779, 0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0,\n    0x77b6, 0x77b9, 0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd,\n    0x77d7, 0x77da, 0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812,\n    0x7926, 0x7820, 0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c,\n    0x789a, 0x788c, 0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6,\n    0x78cb, 0x78d4, 0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f,\n    /* lead byte e3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911,\n    0x7919, 0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a,\n    0x7955, 0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b,\n    0x79aa, 0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7,\n    0x79ec, 0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20,\n    0x7a1f, 0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57,\n    0x7a49, 0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d,\n    0x7a88, 0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0,\n    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,\n    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,\n    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,\n    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x003f,\n    /* lead byte e4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7b7a, 0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75,\n    0x7b65, 0x7b74, 0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d,\n    0x7b98, 0x7b9f, 0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f,\n    0x7b5d, 0x7b99, 0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6,\n    0x7bdd, 0x7be9, 0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00,\n    0x7c07, 0x7c13, 0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23,\n    0x7c27, 0x7c2a, 0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43,\n    0x7c54, 0x7c4f, 0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56,\n    0x7c65, 0x7c6c, 0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2,\n    0x7cab, 0x7ca1, 0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9,\n    0x7cbd, 0x7cc0, 0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2,\n    0x9b3b, 0x7cef, 0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f,\n    /* lead byte e5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e,\n    0x7d32, 0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72,\n    0x7d68, 0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f,\n    0x7d7d, 0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd,\n    0x7dab, 0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0,\n    0x7dd8, 0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05,\n    0x7e0a, 0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b,\n    0x7e22, 0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37,\n    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,\n    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,\n    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,\n    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x003f,\n    /* lead byte e6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7f45, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55,\n    0x7f54, 0x7f58, 0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78,\n    0x7f82, 0x7f86, 0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e,\n    0x7f9d, 0x7f9a, 0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6,\n    0x7fb8, 0x8b71, 0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1,\n    0x7fe6, 0x7fe9, 0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b,\n    0x8012, 0x8018, 0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b,\n    0x804a, 0x8046, 0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068,\n    0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084,\n    0x8086, 0x8085, 0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac,\n    0x80db, 0x80e5, 0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109,\n    0x80ef, 0x80f1, 0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f,\n    /* lead byte e7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171,\n    0x816e, 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180,\n    0x8182, 0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9,\n    0x81b0, 0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba,\n    0x81c9, 0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df,\n    0x81e0, 0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205,\n    0x8207, 0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238,\n    0x8233, 0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264,\n    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,\n    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,\n    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,\n    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x003f,\n    /* lead byte e8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339,\n    0x8350, 0x8345, 0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a,\n    0x83aa, 0x839f, 0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a,\n    0x837c, 0x83b5, 0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4,\n    0x8413, 0x83eb, 0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1,\n    0x83f7, 0x8407, 0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd,\n    0x8438, 0x8506, 0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484,\n    0x8477, 0x846b, 0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c,\n    0x846f, 0x8479, 0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f,\n    0x84d9, 0x84cd, 0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6,\n    0x84a1, 0x8521, 0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f,\n    0x8515, 0x8514, 0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f,\n    /* lead byte e9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588,\n    0x8591, 0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587,\n    0x859c, 0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9,\n    0x85d0, 0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613,\n    0x860b, 0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f,\n    0x864d, 0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3,\n    0x86a9, 0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6,\n    0x86b0, 0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec,\n    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,\n    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,\n    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,\n    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x003f,\n    /* lead byte ea */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8753, 0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782,\n    0x87af, 0x87cb, 0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4,\n    0x87b3, 0x87c7, 0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f,\n    0x880d, 0x87fe, 0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816,\n    0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b,\n    0x8844, 0x8842, 0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881,\n    0x887e, 0x889e, 0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897,\n    0x8892, 0x88ae, 0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf,\n    0x88b1, 0x88c3, 0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9,\n    0x8902, 0x88fc, 0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a,\n    0x8913, 0x8943, 0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944,\n    0x893b, 0x8936, 0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f,\n    /* lead byte eb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977,\n    0x897e, 0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9,\n    0x89a6, 0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0,\n    0x89da, 0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16,\n    0x8a10, 0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b,\n    0x8a52, 0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85,\n    0x8a82, 0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a,\n    0x8aa3, 0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7,\n    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,\n    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,\n    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,\n    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x003f,\n    /* lead byte ec */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8b5f, 0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c,\n    0x8b8e, 0x8b92, 0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41,\n    0x8c3f, 0x8c48, 0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c,\n    0x8c78, 0x8c7a, 0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e,\n    0x8c94, 0x8c7c, 0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2,\n    0x8cb3, 0x8cae, 0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda,\n    0x8cfd, 0x8cfa, 0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f,\n    0x8d0d, 0x8d10, 0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67,\n    0x8d6d, 0x8d71, 0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba,\n    0x8dcf, 0x8dda, 0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb,\n    0x8ddf, 0x8de3, 0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e,\n    0x8e10, 0x8e1f, 0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f,\n    /* lead byte ed */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64,\n    0x8e60, 0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81,\n    0x8e87, 0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94,\n    0x8e99, 0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe,\n    0x8ec5, 0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb,\n    0x8efe, 0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c,\n    0x8f1f, 0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45,\n    0x8f42, 0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c,\n    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,\n    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,\n    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,\n    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x003f,\n    /* lead byte ee */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x904f, 0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e,\n    0x9056, 0x9058, 0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072,\n    0x9082, 0x907d, 0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8,\n    0x90af, 0x90b1, 0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102,\n    0x9112, 0x9119, 0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163,\n    0x9165, 0x9169, 0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2,\n    0x91ab, 0x91af, 0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1,\n    0x91c9, 0x91cb, 0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc,\n    0x91f5, 0x91f6, 0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211,\n    0x925e, 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f,\n    0x924b, 0x9250, 0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf,\n    0x92b9, 0x92b7, 0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f,\n    /* lead byte ef */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b,\n    0x935c, 0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad,\n    0x9394, 0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3,\n    0x93dd, 0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403,\n    0x9407, 0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441,\n    0x9452, 0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229,\n    0x9470, 0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481,\n    0x947f, 0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599,\n    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,\n    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,\n    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,\n    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x003f,\n    /* lead byte f0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x965d, 0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698,\n    0x9695, 0x9697, 0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4,\n    0x96b6, 0x96b8, 0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d,\n    0x96dc, 0x970d, 0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713,\n    0x970e, 0x9711, 0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730,\n    0x9739, 0x973d, 0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749,\n    0x975c, 0x9760, 0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771,\n    0x9779, 0x9785, 0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f,\n    0x9790, 0x979c, 0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3,\n    0x97c6, 0x97c8, 0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf,\n    0x97f6, 0x97f5, 0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837,\n    0x983d, 0x9846, 0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f,\n    /* lead byte f1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6,\n    0x98c4, 0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912,\n    0x9914, 0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c,\n    0x992e, 0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b,\n    0x9951, 0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad,\n    0x99ae, 0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed,\n    0x99ee, 0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05,\n    0x99e2, 0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43,\n    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,\n    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,\n    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,\n    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x003f,\n    /* lead byte f2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9afb, 0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23,\n    0x9b25, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32,\n    0x9b44, 0x9b43, 0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74,\n    0x9b93, 0x9b83, 0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8,\n    0x9bb4, 0x9bc0, 0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2,\n    0x9be3, 0x9be2, 0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1,\n    0x9bf0, 0x9c15, 0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08,\n    0x9c12, 0x9c0a, 0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21,\n    0x9c30, 0x9c47, 0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67,\n    0x9c76, 0x9c78, 0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb,\n    0x9d03, 0x9d06, 0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44,\n    0x9d15, 0x9d12, 0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f,\n    /* lead byte f3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72,\n    0x9d89, 0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9,\n    0x9db2, 0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf,\n    0x9dc2, 0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd,\n    0x9e1a, 0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88,\n    0x9e8b, 0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9,\n    0x9eb8, 0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0,\n    0x9ed4, 0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef,\n    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,\n    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,\n    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,\n    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x003f,\n    /* lead byte f4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x582f, 0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned char cp2uni_leadbytes[256] =\n{\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,\n    0x0a, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12,\n    0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,\n    0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22,\n    0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a,\n    0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32,\n    0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a,\n    0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x01, 0x01, 0x01,\n    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00\n};\n\nstatic const unsigned short uni2cp_low[27392] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0020, 0x0021, 0xa1f1, 0xa1f2, 0x003f, 0x005c, 0x003f, 0xa1f8,\n    0xa1af, 0x0063, 0x0061, 0xa1d4, 0xa2cc, 0x002d, 0x0072, 0xa1bd,\n    0xa1eb, 0xa1de, 0x0032, 0x0033, 0xa1ad, 0xa6cc, 0xa2f9, 0x003f,\n    0x002c, 0x0031, 0x006f, 0xa1d5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,\n    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,\n    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1df,\n    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,\n    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,\n    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,\n    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1e0,\n    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,\n    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,\n    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,\n    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,\n    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,\n    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,\n    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,\n    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,\n    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,\n    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa8a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,\n    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,\n    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,\n    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,\n    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,\n    /* 0x0200 .. 0x02ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,\n    0x0079, 0xa1ad, 0xa1ed, 0xa1c6, 0xa1c7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,\n    0x0027, 0xa1bd, 0xa1ad, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1eb, 0x003f, 0x007e, 0xa1ed, 0x003f, 0x003f,\n    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0300 .. 0x03ff */\n    0x0060, 0xa1ad, 0x005e, 0x007e, 0xa1bd, 0x007e, 0x003f, 0x003f,\n    0xa1af, 0x003f, 0xa1eb, 0xa1ed, 0x0076, 0x003f, 0x0022, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0060, 0xa1ad, 0x003f, 0x003f, 0xa1af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1af, 0xa6a1, 0x003f,\n    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,\n    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,\n    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,\n    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,\n    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,\n    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,\n    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,\n    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,\n    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,\n    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0400 .. 0x04ff */\n    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,\n    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,\n    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,\n    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,\n    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,\n    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,\n    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,\n    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,\n    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,\n    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,\n    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,\n    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,\n    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1e00 .. 0x1eff */\n    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,\n    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,\n    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,\n    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,\n    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,\n    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,\n    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,\n    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,\n    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,\n    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,\n    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1f00 .. 0x1fff */\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,\n    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,\n    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,\n    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,\n    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,\n    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,\n    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,\n    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,\n    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,\n    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,\n    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,\n    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,\n    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,\n    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,\n    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,\n    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,\n    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,\n    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,\n    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,\n    0x003f, 0xa1af, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,\n    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,\n    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,\n    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,\n    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1af, 0xa1af, 0x0060,\n    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,\n    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa1ad, 0x003f, 0x003f,\n    /* 0x2000 .. 0x20ff */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1be, 0xa1be, 0x003f, 0xa1bd, 0xa1bd, 0xa1bd, 0xa1c2, 0x005f,\n    0xa1c6, 0xa1c7, 0x002c, 0xa1c6, 0xa1c8, 0xa1c9, 0x002c, 0x003f,\n    0xa2f7, 0xa2f8, 0x003f, 0x003f, 0x002e, 0xa1c5, 0xa1c4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0xa2f3, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0xa1c6, 0x003f, 0x003f,\n    0x003f, 0xa1d2, 0xa1d3, 0xa2a8, 0x0021, 0x003f, 0x007e, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1eb, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x006e,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0xa1dd, 0x003d, 0x0028, 0x0029, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1f1, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2100 .. 0x21ff */\n    0x003f, 0x003f, 0x0043, 0xa1ee, 0x003f, 0x003f, 0x003f, 0x0045,\n    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,\n    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,\n    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,\n    0x005a, 0x003f, 0x004b, 0xa2f2, 0x0042, 0x0043, 0x0065, 0x0065,\n    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,\n    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0049, 0x003f, 0x003f, 0x003f, 0x0056, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0058, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,\n    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0x002d, 0x007c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2ab, 0xa2aa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ce, 0xa2cd,\n    0x003f, 0x003f, 0xa2cd, 0x003f, 0xa2ce, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2200 .. 0x22ff */\n    0xa2cf, 0x003f, 0xa2df, 0xa2d0, 0xa2d0, 0x004f, 0x003f, 0xa2e0,\n    0xa2ba, 0xa2ba, 0x003f, 0xa2bb, 0xa2bb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1dd, 0xa1de, 0x003f, 0x002f, 0x005c, 0x002a,\n    0xa1eb, 0x003f, 0xa2e5, 0x003f, 0x003f, 0xa2e7, 0xa1e7, 0x004c,\n    0xa2dc, 0x003f, 0x003f, 0x007c, 0x007c, 0x003f, 0x003f, 0xa2ca,\n    0xa2cb, 0xa2c1, 0xa2c0, 0xa2e9, 0xa2ea, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e8, 0xa2e8, 0x003a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa2e6, 0x003f, 0x003f,\n    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e2, 0xa2e1, 0xa2e1, 0xa2e1, 0x003f, 0x003f, 0xa1e5, 0xa1e6,\n    0x003f, 0x003f, 0xa2e3, 0xa2e4, 0x003f, 0x003f, 0x003c, 0x003e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2be, 0xa2bf, 0xa2be, 0xa2bf, 0xa2bc, 0xa2bd,\n    0xa2bc, 0xa2bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2300 .. 0x23ff */\n    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1d2, 0xa1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2400 .. 0x24ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,\n    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0042,\n    0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,\n    0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,\n    0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,\n    0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,\n    0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2500 .. 0x25ff */\n    0xa8a1, 0xa8ac, 0xa8a2, 0xa8ad, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0x003f, 0xa8a3, 0xa8a3, 0xa8a3, 0xa8ae,\n    0xa8a4, 0xa8a4, 0xa8a4, 0xa8af, 0xa8a6, 0xa8a6, 0xa8a6, 0xa8b1,\n    0xa8a5, 0xa8a5, 0xa8a5, 0xa8b0, 0xa8a7, 0xa8bc, 0xa8a7, 0xa8a7,\n    0xa8b7, 0xa8a7, 0xa8a7, 0xa8b2, 0xa8a9, 0xa8be, 0xa8a9, 0xa8a9,\n    0xa8b9, 0xa8a9, 0xa8a9, 0xa8b4, 0xa8a8, 0xa8a8, 0xa8a8, 0xa8b8,\n    0xa8bd, 0xa8a8, 0xa8a8, 0xa8b3, 0xa8aa, 0xa8aa, 0xa8aa, 0xa8ba,\n    0xa8bf, 0xa8aa, 0xa8aa, 0xa8b5, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8bb,\n    0xa8ab, 0xa8ab, 0xa8c0, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab, 0xa8ab,\n    0xa8ab, 0xa8ab, 0xa8ab, 0xa8b6, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0xa2cc, 0xa2cc, 0xa2cc,\n    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2a3, 0xa2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2a5, 0xa2a4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a7, 0xa2a6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a1, 0xa1fe,\n    0x003f, 0x003f, 0x003f, 0xa1fb, 0x003f, 0x003f, 0xa1fd, 0xa1fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2fe,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2600 .. 0x26ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1fa, 0xa1f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1ea, 0x003f, 0xa1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2f6, 0x003f, 0x003f, 0xa2f5, 0x003f, 0xa2f4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2e00 .. 0x2eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcaec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2f00 .. 0x2fff */\n    0xb0ec, 0x003f, 0xd0a6, 0xd0a8, 0xb2b5, 0xd0ad, 0xc6f3, 0xd0b5,\n    0xbfcd, 0xd1b9, 0xc6fe, 0xc8ac, 0xd1c4, 0xd1cc, 0xd1d2, 0xd1dc,\n    0xd1e1, 0xc5e1, 0xcecf, 0xd2b1, 0xd2b8, 0xd2b9, 0xd2be, 0xbdbd,\n    0xcbce, 0xd2c7, 0xd2cc, 0xd2d3, 0xcbf4, 0xb8fd, 0xd3f8, 0xc5da,\n    0xbbce, 0xd4e9, 0xd4ea, 0xcdbc, 0xc2e7, 0xbdf7, 0xbbd2, 0xd5df,\n    0xc0a3, 0xbeae, 0xd5f7, 0xd5f9, 0xd6a5, 0xbbb3, 0xd6df, 0xb9a9,\n    0xb8ca, 0xb6d2, 0xb4b3, 0xd6f6, 0xd6f8, 0xd7ae, 0xd7b0, 0xd7b5,\n    0xb5dd, 0x003f, 0xd7c4, 0xd7c6, 0xbfb4, 0xd8f9, 0x003f, 0xbcea,\n    0xbbd9, 0xdabd, 0xcab8, 0xc5cd, 0xb6d4, 0xcafd, 0xdadb, 0xc6fc,\n    0xdba9, 0xb7ee, 0xccda, 0xb7e7, 0xbbdf, 0xddc6, 0xddd5, 0xddd9,\n    0xc8e6, 0xccd3, 0xbbe1, 0xdde3, 0xbfe5, 0xb2d0, 0xc4de, 0xc9e3,\n    0xe0ab, 0xe0ad, 0xcad2, 0xb2e7, 0xb5ed, 0xb8a4, 0xb8bc, 0xb6cc,\n    0xb1bb, 0xb4a4, 0xb4c5, 0xc0b8, 0xcdd1, 0xc5c4, 0xc9a5, 0x003f,\n    0xe2a2, 0xc7f2, 0xc8e9, 0xbbae, 0xccdc, 0xccb7, 0xccf0, 0xc0d0,\n    0xbca8, 0x003f, 0xb2d3, 0xb7ea, 0xcea9, 0xc3dd, 0xcac6, 0xbbe5,\n    0xb4cc, 0xe6a6, 0xcdd3, 0xb1a9, 0xcfb7, 0xbca9, 0xe6d0, 0xbcaa,\n    0xe6e6, 0xc6f9, 0xbfc3, 0xbcab, 0xbbea, 0xb1b1, 0xc0e5, 0xc1a4,\n    0xbdae, 0xbab1, 0xbfa7, 0xe7e7, 0xe9c8, 0xc3ee, 0xb7ec, 0xb9d4,\n    0xb0e1, 0xeba8, 0xb8ab, 0xb3d1, 0xb8c0, 0xc3ab, 0xc6a6, 0xecb5,\n    0xecb8, 0xb3ad, 0xc0d6, 0xc1f6, 0xc2ad, 0xbfc8, 0xbcd6, 0xbfc9,\n    0xc3a4, 0x003f, 0xcdb8, 0xc6d3, 0xc8d0, 0xcea4, 0xb6e2, 0xc4b9,\n    0xcce7, 0xc9ec, 0xf0b0, 0xf0b2, 0xb1ab, 0x003f, 0xc8f3, 0xcccc,\n    0xb3d7, 0xf0ea, 0xf0ec, 0xb2bb, 0xcac7, 0xc9f7, 0xc8f4, 0xbfa9,\n    0xbcf3, 0xb9e1, 0xc7cf, 0xb9fc, 0xb9e2, 0xf1f5, 0xf2a8, 0xf2ae,\n    0xf2af, 0xb5b4, 0xb5fb, 0xc4bb, 0xf3c3, 0xbcaf, 0xf3ce, 0xcbe3,\n    0x003f, 0xb5d0, 0x003f, 0xf3e3, 0xf3e6, 0xc5a4, 0xb8dd, 0xc1cd,\n    0xc9a1, 0xf3ee, 0xf3ef, 0xceb6, 0xf3fd, 0xf3fe, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3000 .. 0x30ff */\n    0xa1a1, 0xa1a2, 0xa1a3, 0xa1b7, 0x003f, 0xa1b9, 0xa1ba, 0xa1bb,\n    0xa1d2, 0xa1d3, 0xa1d4, 0xa1d5, 0xa1d6, 0xa1d7, 0xa1d8, 0xa1d9,\n    0xa1da, 0xa1db, 0xa2a9, 0xa2ae, 0xa1cc, 0xa1cd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x005b, 0x005d, 0xa1c1, 0xa1c8, 0xa1c9, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a9, 0x003f,\n    0xbdbd, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,\n    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,\n    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,\n    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,\n    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,\n    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,\n    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,\n    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,\n    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,\n    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,\n    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa1ab, 0xa1ac, 0xa1b5, 0xa1b6, 0x003f,\n    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,\n    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,\n    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,\n    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,\n    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,\n    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,\n    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,\n    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,\n    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,\n    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,\n    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,\n    0xa5f0, 0xa5f1, 0xa5f2, 0xa1a6, 0xa1bc, 0xa1b3, 0xa1b4, 0x003f,\n    /* 0x3100 .. 0x31ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xbee5, 0xc3e6,\n    0xb2bc, 0xb9c3, 0xb2b5, 0xcaba, 0xc3fa, 0xc5b7, 0xc3cf, 0xbfcd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3200 .. 0x32ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb0ec, 0xc6f3, 0xbbb0, 0xbbcd, 0xb8de, 0xcfbb, 0xbcb7, 0xc8ac,\n    0xb6e5, 0xbdbd, 0xb7ee, 0xb2d0, 0xbfe5, 0xccda, 0xb6e2, 0xc5da,\n    0xc6fc, 0xb3f4, 0xcdad, 0xbcd2, 0xccbe, 0xc6c3, 0xbae2, 0xbdcb,\n    0xcfab, 0xc8eb, 0xc3cb, 0xbdf7, 0xc5ac, 0xcda5, 0xb0f5, 0xc3ed,\n    0xb9e0, 0xb5d9, 0xbccc, 0xc0b5, 0xbee5, 0xc3e6, 0xb2bc, 0xbab8,\n    0xb1a6, 0xb0e5, 0xbda1, 0xb3d8, 0xb4c6, 0xb4eb, 0xbbf1, 0xb6a8,\n    0xcceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,\n    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,\n    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,\n    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,\n    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,\n    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,\n    /* 0x4e00 .. 0x4eff */\n    0xb0ec, 0xc3fa, 0x003f, 0xbcb7, 0x003f, 0x003f, 0x003f, 0xcbfc,\n    0xbee6, 0xbbb0, 0xbee5, 0xb2bc, 0x003f, 0xc9d4, 0xcdbf, 0x003f,\n    0xd0a2, 0xb1af, 0x003f, 0x003f, 0xb3ee, 0xd0a3, 0xc0a4, 0xd2c2,\n    0xb5d6, 0xcaba, 0x003f, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f,\n    0x003f, 0xcebe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac2, 0x003f,\n    0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f, 0xc3e6, 0x003f, 0x003f,\n    0x003f, 0xd0a5, 0xb6fa, 0x003f, 0x003f, 0x003f, 0xd0a6, 0x003f,\n    0xb4dd, 0xc3b0, 0x003f, 0xbce7, 0xd0a7, 0x003f, 0x003f, 0xd0a8,\n    0x003f, 0x003f, 0xd0a9, 0xc7b5, 0x003f, 0xb5d7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc7b7, 0x003f, 0xc6e3, 0xb8c3, 0xcbb3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c9, 0xd0aa, 0xbee8,\n    0xd0ab, 0xb2b5, 0x003f, 0x003f, 0x003f, 0xb6e5, 0xb8f0, 0xcce9,\n    0x003f, 0x003f, 0xd6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdf0, 0x003f, 0xc6fd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a5, 0x003f,\n    0xb5b5, 0x003f, 0xd0ac, 0x003f, 0x003f, 0xd0ad, 0xcebb, 0x003f,\n    0xcdbd, 0xc1e8, 0xd0af, 0xbbf6, 0xc6f3, 0x003f, 0xd0b2, 0x003f,\n    0x003f, 0xb1be, 0xb8df, 0x003f, 0xb8de, 0xb0e6, 0x003f, 0x003f,\n    0xcfcb, 0xcfca, 0x003f, 0xbab3, 0xb0a1, 0x003f, 0xd0b3, 0xd0b4,\n    0xd0b5, 0xcbb4, 0xd0b6, 0x003f, 0xb8f2, 0xb0e7, 0xcbf2, 0x003f,\n    0xb5fc, 0x003f, 0x003f, 0xb5fd, 0xb5fe, 0xc4e2, 0xcebc, 0x003f,\n    0xd0b7, 0x003f, 0x003f, 0xd0b8, 0x003f, 0x003f, 0xd0b9, 0x003f,\n    0x003f, 0x003f, 0xbfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbdba, 0xbfce, 0xd0be, 0x003f, 0xd0bc, 0x003f, 0xd0bd, 0xb5d8,\n    0x003f, 0x003f, 0xbaa3, 0xb2f0, 0x003f, 0xd0bb, 0xd0ba, 0xcaa9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbbc6, 0xbbc5, 0xc2be, 0xd0bf,\n    0xc9d5, 0xc0e7, 0x003f, 0x003f, 0x003f, 0xa1b8, 0xd0c0, 0xd0c2,\n    0x003f, 0x003f, 0x003f, 0xc2e5, 0xcee1, 0xb0ca, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0xb2be, 0x003f,\n    0xb6c4, 0x003f, 0xc3e7, 0x003f, 0x003f, 0x003f, 0xb7ef, 0xd0c3,\n    0x003f, 0x003f, 0x003f, 0xc7a4, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4f00 .. 0x4fff */\n    0x003f, 0xb4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0c4, 0xb0cb, 0x003f, 0x003f, 0xb8e0, 0xb4ec, 0xc9fa,\n    0xc8b2, 0xb5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb2f1, 0x003f, 0xd0e7, 0xc5c1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7ec,\n    0xd0c6, 0x003f, 0x003f, 0x003f, 0xc8bc, 0x003f, 0xcee2, 0x003f,\n    0xbfad, 0x003f, 0xbbc7, 0x003f, 0xbbf7, 0xb2c0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc4d1, 0x003f, 0x003f, 0xc3a2, 0xd0ca,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0cc, 0xc4e3, 0xbdbb,\n    0xbab4, 0xcda4, 0x003f, 0xc2ce, 0x003f, 0xb2bf, 0x003f, 0xd0c9,\n    0x003f, 0xcdbe, 0xd0c5, 0xd0c7, 0xbaee, 0xd0c8, 0xd5a4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d3,\n    0xd0d1, 0x003f, 0x003f, 0xb2c2, 0x003f, 0xcabb, 0xd0cb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0cf, 0xb8f3, 0x003f, 0x003f, 0xbbc8,\n    0x003f, 0x003f, 0x003f, 0xb4a6, 0x003f, 0x003f, 0xd0d4, 0x003f,\n    0xd0cc, 0x003f, 0x003f, 0xcee3, 0x003f, 0xbbf8, 0x003f, 0xd0cd,\n    0x003f, 0xd0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0d5, 0x003f,\n    0xd0ce, 0x003f, 0x003f, 0xb6a1, 0x003f, 0xb0cd, 0x003f, 0x003f,\n    0xb6a2, 0xb2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5a5, 0x003f, 0xcbf9, 0xc9ee, 0xb8f4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfaf, 0xceb7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8,\n    0x003f, 0x003f, 0xb7b8, 0xc2a5, 0xb2e4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbdd3, 0x003f, 0x003f, 0x003f, 0xd0d9, 0x003f,\n    0xd0de, 0xd0dc, 0x003f, 0x003f, 0xd0d7, 0x003f, 0x003f, 0xc2af,\n    0xd0da, 0x003f, 0xd0dd, 0xd0db, 0x003f, 0xcadd, 0x003f, 0xd0d8,\n    0x003f, 0xbfae, 0x003f, 0xcbf3, 0xd0df, 0xd0e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda4, 0xd0ed,\n    0x003f, 0x003f, 0x003f, 0xc7d0, 0x003f, 0xc9b6, 0xd0e8, 0x003f,\n    0xcaf0, 0x003f, 0xb2b6, 0x003f, 0x003f, 0x003f, 0xd0ec, 0x003f,\n    /* 0x5000 .. 0x50ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e6, 0xd0ef, 0x003f,\n    0x003f, 0xc1d2, 0x003f, 0xb8c4, 0x003f, 0xc7dc, 0x003f, 0xe0c7,\n    0x003f, 0xd0ee, 0xc5dd, 0x003f, 0xd0e3, 0x003f, 0xb8f6, 0x003f,\n    0x003f, 0xb8f5, 0xd0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcda,\n    0x003f, 0xd0e9, 0x003f, 0xcaef, 0xc3cd, 0xd0e5, 0xb7f1, 0x003f,\n    0xd0e2, 0xd0ea, 0xd0e4, 0xced1, 0xd0eb, 0xcfc1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e6, 0x003f,\n    0x003f, 0xb7f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0xd0f1,\n    0xd0f5, 0xb0ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad0,\n    0xd0f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xd0f7, 0x003f,\n    0x003f, 0x003f, 0xd0f6, 0x003f, 0xc4e4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbcc5, 0x003f, 0xc2a6, 0xc4e5, 0xb6f6, 0x003f,\n    0xd0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b6, 0x003f, 0x003f,\n    0xd0fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb5, 0x003f, 0x003f,\n    0x003f, 0xb7e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbbb1, 0xc8f7, 0xd0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbac5, 0xcdc3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd0fe, 0xd1a3, 0xd0fd, 0xbac4, 0x003f, 0xbdfd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b9, 0x003f,\n    0x003f, 0x003f, 0xd1a4, 0x003f, 0x003f, 0xb6cf, 0x003f, 0x003f,\n    0x003f, 0xd1a1, 0xd1a2, 0x003f, 0x003f, 0xc6af, 0x003f, 0xc1fc,\n    0x003f, 0xb6a3, 0x003f, 0x003f, 0x003f, 0xcbcd, 0xd1a5, 0x003f,\n    0x003f, 0x003f, 0xcebd, 0x003f, 0x003f, 0x003f, 0xd1a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd1a9, 0x003f, 0xd1a7, 0x003f, 0xc1ce,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a8, 0xd1aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ac, 0x003f, 0x003f,\n    0x003f, 0xd1ab, 0x003f, 0xcac8, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5100 .. 0x51ff */\n    0xb5b7, 0xd1ae, 0xd1af, 0x003f, 0xb2af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbcf4, 0x003f, 0xd1b2, 0xd1b1, 0xd1b0, 0x003f,\n    0xd0d6, 0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdfe,\n    0x003f, 0xd1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcda5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,\n    0x003f, 0x003f, 0xd1b5, 0xd1b8, 0xd1b7, 0x003f, 0x003f, 0xd1b9,\n    0xd1ba, 0xb0f4, 0x003f, 0xb8b5, 0xb7bb, 0xbdbc, 0xc3fb, 0xb6a4,\n    0xc0e8, 0xb8f7, 0x003f, 0xb9ee, 0xd1bc, 0xccc8, 0xc5c6, 0x003f,\n    0xbbf9, 0x003f, 0xd1bb, 0x003f, 0xd1bd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc5de, 0x003f, 0xb3f5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd1be, 0x003f, 0x003f, 0xc6fe, 0x003f, 0x003f,\n    0xc1b4, 0xd1c0, 0xd1c1, 0xc8ac, 0xb8f8, 0xcfbb, 0xd1c2, 0x003f,\n    0x003f, 0xb6a6, 0x003f, 0x003f, 0x003f, 0xcabc, 0xc2b6, 0xb6f1,\n    0xc5b5, 0x003f, 0x003f, 0x003f, 0xb7f3, 0x003f, 0x003f, 0x003f,\n    0xd1c3, 0x003f, 0xd1c4, 0x003f, 0x003f, 0xc6e2, 0xb1df, 0x003f,\n    0x003f, 0xd1c7, 0xbafd, 0x003f, 0xd1c6, 0xbac6, 0x003f, 0xd1c8,\n    0xe6ee, 0xd1c9, 0xcbc1, 0xd1ca, 0x003f, 0xd1cb, 0xd1cc, 0xbee9,\n    0x003f, 0xbccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb4a7, 0x003f, 0xd1cf, 0x003f, 0xd1cd, 0xccbd, 0xd1ce, 0x003f,\n    0xc9da, 0xd1d0, 0xd1d1, 0xd1d2, 0xc5df, 0x003f, 0x003f, 0x003f,\n    0xd1d6, 0xd1d4, 0xd1d5, 0xd1d3, 0xbae3, 0xd1d7, 0xccea, 0xcee4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a8, 0xd1d9, 0xbdda, 0x003f,\n    0x003f, 0xd1da, 0x003f, 0xc3fc, 0xcebf, 0xc5e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd1db, 0xf4a5, 0xb6c5, 0x003f, 0x003f,\n    0xd1dc, 0xcbde, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde8, 0xc2fc,\n    0x003f, 0xd1de, 0xc6e4, 0x003f, 0x003f, 0xd1df, 0x003f, 0x003f,\n    0xd1e0, 0xb3ae, 0x003f, 0x003f, 0x003f, 0xd1e1, 0xb6a7, 0x003f,\n    0xc6cc, 0xb1fa, 0xbdd0, 0x003f, 0x003f, 0xc8a1, 0xd1e2, 0x003f,\n    /* 0x5200 .. 0x52ff */\n    0xc5e1, 0x003f, 0x003f, 0xbfcf, 0xd1e3, 0x003f, 0xcaac, 0xc0da,\n    0xb4a2, 0x003f, 0xb4a9, 0xd1e4, 0x003f, 0x003f, 0xd1e6, 0x003f,\n    0x003f, 0xb7ba, 0x003f, 0x003f, 0xd1e5, 0x003f, 0x003f, 0xcef3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc8bd, 0xcacc, 0x003f, 0xd1e7,\n    0x003f, 0xcdf8, 0xd1e8, 0x003f, 0x003f, 0x003f, 0xd1e9, 0x003f,\n    0xc5fe, 0x003f, 0x003f, 0xd1ea, 0x003f, 0x003f, 0xc0a9, 0xbafe,\n    0xb7f4, 0xd1eb, 0xbbc9, 0xb9ef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc4e6, 0xd1ed, 0x003f, 0x003f, 0xc2a7,\n    0x003f, 0x003f, 0xbaef, 0xd1ee, 0xd1ef, 0xc1b0, 0x003f, 0xd1ec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd1f1, 0x003f, 0xcbb6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb9e4, 0x003f, 0x003f, 0xd1f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb7f5, 0xbade, 0xc7ed, 0x003f, 0x003f,\n    0x003f, 0xd1f4, 0xd1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9fb,\n    0xbeea, 0xd1fb, 0xb3e4, 0xd1f5, 0xd1f3, 0xc1cf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1f7, 0x003f, 0xd1f6,\n    0x003f, 0x003f, 0x003f, 0xb3c4, 0x003f, 0x003f, 0x003f, 0xb7e0,\n    0xd1fc, 0xcead, 0x003f, 0x003f, 0x003f, 0xd1f8, 0x003f, 0x003f,\n    0x003f, 0xd1fd, 0xd1fa, 0x003f, 0xd1f9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcecf, 0x003f, 0x003f, 0x003f, 0xb8f9,\n    0xb2c3, 0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbdf5, 0xc5d8, 0xb9e5, 0xd2a2, 0xd2a3, 0x003f, 0x003f,\n    0x003f, 0xcee5, 0x003f, 0x003f, 0xcfab, 0xd2a5, 0x003f, 0x003f,\n    0x003f, 0xb8fa, 0x003f, 0x003f, 0xd2a4, 0x003f, 0xb3af, 0x003f,\n    0x003f, 0xd2a6, 0x003f, 0xcbd6, 0x003f, 0xc4bc, 0x003f, 0xcda6,\n    0x003f, 0xcad9, 0x003f, 0x003f, 0x003f, 0xd2a7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf0d5, 0x003f, 0x003f, 0xc6b0, 0x003f, 0xd2a8,\n    0xb4aa, 0xccb3, 0x003f, 0x003f, 0x003f, 0xbea1, 0xd2a9, 0xcae7,\n    0xd2ad, 0x003f, 0xc0aa, 0xd2aa, 0xb6d0, 0x003f, 0xd2ab, 0xb4ab,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7ae, 0xd2ae, 0x003f, 0xd2af, 0x003f, 0x003f,\n    0xd2b0, 0xd2b1, 0xbcdb, 0x003f, 0x003f, 0x003f, 0xb8fb, 0xccde,\n    /* 0x5300 .. 0x53ff */\n    0x003f, 0xcce8, 0xc6f7, 0x003f, 0x003f, 0xcaf1, 0xd2b2, 0x003f,\n    0xd2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b5, 0x003f, 0xd2b7,\n    0xd2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b8, 0xb2bd, 0xcbcc,\n    0x003f, 0xbafc, 0xd2b9, 0x003f, 0x003f, 0xc1d9, 0x003f, 0x003f,\n    0xbea2, 0xb6a9, 0x003f, 0xd2ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc8db, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2bb,\n    0x003f, 0xd2bc, 0x003f, 0xd2bd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2be, 0xc9a4, 0xb6e8, 0xb0e5, 0x003f, 0x003f, 0x003f, 0xc6bf,\n    0xd2bf, 0xbdbd, 0x003f, 0xc0e9, 0x003f, 0xd2c1, 0xd2c0, 0xbea3,\n    0xb8e1, 0xd2c3, 0xc8be, 0x003f, 0x003f, 0xd2c4, 0x003f, 0x003f,\n    0x003f, 0xc8dc, 0xc2b4, 0xc2ee, 0xb6a8, 0x003f, 0x003f, 0xc6ee,\n    0xc3b1, 0x003f, 0xc7ee, 0x003f, 0xcbce, 0x003f, 0xd2c6, 0x003f,\n    0xc0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7b5, 0x003f,\n    0x003f, 0xd2c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2c8, 0xb1ac,\n    0xb0f5, 0xb4ed, 0x003f, 0xc2a8, 0xb5d1, 0xcdf1, 0x003f, 0xd2cb,\n    0xb2b7, 0x003f, 0x003f, 0xd2ca, 0x003f, 0x003f, 0x003f, 0xb6aa,\n    0x003f, 0x003f, 0xd2cc, 0x003f, 0xccf1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2cd, 0x003f,\n    0xced2, 0x003f, 0xb8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b6,\n    0xd2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2d0, 0xd2cf, 0x003f,\n    0xbfdf, 0xb1b9, 0x003f, 0x003f, 0x003f, 0xb1de, 0xd2d1, 0x003f,\n    0xd2d2, 0x003f, 0x003f, 0xb8b7, 0x003f, 0x003f, 0xd2d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb5ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbbb2, 0xd2d4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcbf4, 0xbab5, 0xb5da, 0xcda7, 0xc1d0, 0xc8bf, 0xbcfd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc7, 0x003f, 0xbce8, 0xbcf5,\n    0x003f, 0xbdf6, 0x003f, 0xc8c0, 0x003f, 0x003f, 0x003f, 0xd2d7,\n    0x003f, 0xb1c3, 0xc1d1, 0xb8fd, 0xb8c5, 0xb6e7, 0x003f, 0x003f,\n    0xd2db, 0xc3a1, 0xc2fe, 0xb6ab, 0xbea4, 0xd2dc, 0xd2da, 0xb2c4,\n    0xc2e6, 0xbcb8, 0xbbcb, 0xb1a6, 0x003f, 0x003f, 0xb3f0, 0xb9e6,\n    0xbbca, 0x003f, 0xd2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5400 .. 0x54ff */\n    0x003f, 0xd2de, 0x003f, 0xb5c9, 0xb3c6, 0x003f, 0x003f, 0x003f,\n    0xb9e7, 0xb5c8, 0xc4df, 0xb1a5, 0xc6b1, 0xccbe, 0xb9a1, 0xcdf9,\n    0xc5c7, 0xb8fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb7af, 0x003f, 0xd2e7, 0x003f, 0xb6e3,\n    0xcbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8dd, 0x003f,\n    0x003f, 0xd2e6, 0x003f, 0xb4de, 0xd2e1, 0xd2e2, 0xd2e4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2e5, 0x003f,\n    0xb5db, 0xbfe1, 0x003f, 0xcaad, 0xd2e3, 0xd2df, 0xb8e3, 0x003f,\n    0xd2e0, 0x003f, 0xcfa4, 0x003f, 0x003f, 0x003f, 0xcaf2, 0x003f,\n    0xc4e8, 0xb8e2, 0xb9f0, 0x003f, 0x003f, 0x003f, 0xd2e8, 0x003f,\n    0x003f, 0xc6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2ec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbcfe, 0x003f, 0xbcf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2ef, 0xd2ed, 0x003f, 0xcca3, 0x003f, 0xd2ea, 0xd2f3, 0xd2ee,\n    0x003f, 0x003f, 0x003f, 0xd2f1, 0xb8c6, 0xccbf, 0x003f, 0x003f,\n    0xd2f2, 0x003f, 0x003f, 0x003f, 0xd2f4, 0x003f, 0xd2f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbaf0, 0xcfc2, 0x003f, 0xd2eb, 0xd2e9,\n    0xd2f5, 0x003f, 0xd2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd2f8, 0x003f, 0xd3a3, 0xd2fa, 0x003f, 0x003f,\n    0xd2fe, 0x003f, 0x003f, 0xd3a1, 0xd2fb, 0x003f, 0x003f, 0xd3be,\n    0x003f, 0x003f, 0xbae9, 0xb3b1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2f9, 0x003f, 0x003f, 0x003f, 0xd3a5, 0xb0f6, 0xd3a4, 0x003f,\n    0xb0a5, 0xc9ca, 0xd3a2, 0x003f, 0xd2fc, 0x003f, 0x003f, 0xd2f7,\n    0xd2fd, 0xbac8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0f7, 0xd3af, 0x003f, 0x003f, 0xd3a7, 0xd3a8, 0x003f,\n    0xbea5, 0xcbe9, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xd3ac, 0x003f,\n    0x003f, 0x003f, 0xc5af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd3ae, 0x003f, 0x003f, 0xd3ab, 0x003f, 0x003f,\n    /* 0x5500 .. 0x55ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1b4, 0x003f, 0xbab6, 0xbfb0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a9,\n    0xc5e2, 0x003f, 0x003f, 0x003f, 0xd3aa, 0x003f, 0xb0a2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b4, 0xcda3,\n    0x003f, 0xbea7, 0x003f, 0xd3ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3b9, 0xd3b0, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c3, 0x003f,\n    0xd3b1, 0x003f, 0x003f, 0x003f, 0xc2ef, 0xd3b6, 0xbea6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0xcce4,\n    0x003f, 0x003f, 0x003f, 0xb7bc, 0x003f, 0x003f, 0xd3b7, 0xd3b8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3b5, 0xd3bb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd3c1, 0xd3c6, 0x003f, 0xd3c2, 0x003f,\n    0xd3bd, 0x003f, 0x003f, 0xd3c7, 0xc1b1, 0x003f, 0x003f, 0xd3c9,\n    0x003f, 0xb9a2, 0xd3bf, 0xc3fd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3c3, 0xd3bc, 0xb4ad, 0x003f, 0xb4ee, 0xb3e5, 0xd3c4, 0xd3c0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7f6,\n    0xd3ca, 0xd3c8, 0xc1d3, 0xb5ca, 0xb6ac, 0x003f, 0xd3c5, 0x003f,\n    0xb6f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce, 0xd3cc, 0x003f, 0xd4a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd3cb, 0x003f, 0xd3cf, 0x003f, 0x003f, 0xd3cd,\n    0x003f, 0x003f, 0x003f, 0xbbcc, 0xd3d0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d3,\n    0x003f, 0xd3d8, 0x003f, 0x003f, 0x003f, 0xd3d6, 0xd3d5, 0x003f,\n    /* 0x5600 .. 0x56ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3b2, 0x003f,\n    0x003f, 0xb2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3d2, 0x003f, 0xd3d4, 0xbea8,\n    0xb1b3, 0x003f, 0x003f, 0xd3d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb2de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e2,\n    0x003f, 0xbefc, 0xd3de, 0x003f, 0xd3dc, 0x003f, 0xd3dd, 0x003f,\n    0xd3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb1bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc1b9, 0x003f, 0xd3d9, 0x003f,\n    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb3fa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e1, 0x003f, 0x003f, 0x003f,\n    0xb4ef, 0x003f, 0xd3e4, 0xd3e0, 0xd3e3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcaae, 0x003f, 0x003f, 0x003f,\n    0xc6d5, 0x003f, 0xc8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3e5, 0xb3c5,\n    0x003f, 0x003f, 0xd3e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3e8, 0x003f, 0xc7b9, 0x003f, 0x003f, 0xd3eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ec, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3ee, 0x003f, 0xd3ed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd3f0, 0x003f, 0x003f, 0x003f,\n    0xd3f3, 0xd3f1, 0xd3ef, 0xd3f2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f5, 0x003f,\n    0x003f, 0xd3f6, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0xd3f8,\n    0xd1c5, 0x003f, 0xbcfc, 0xbbcd, 0x003f, 0x003f, 0xb2f3, 0x003f,\n    0xb0f8, 0x003f, 0x003f, 0xc3c4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f9, 0x003f,\n    0xbaa4, 0x003f, 0xb0cf, 0xbfde, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3fa, 0xb8c7, 0x003f, 0x003f, 0xb9f1, 0x003f, 0xd3fc,\n    /* 0x5700 .. 0x57ff */\n    0xd3fb, 0x003f, 0x003f, 0xcae0, 0xd3fd, 0x003f, 0x003f, 0x003f,\n    0xd4a1, 0xd3fe, 0x003f, 0xd4a2, 0x003f, 0xd4a3, 0x003f, 0xb7f7,\n    0x003f, 0x003f, 0xb1e0, 0xd4a4, 0x003f, 0x003f, 0xd4a6, 0x003f,\n    0xd4a5, 0x003f, 0x003f, 0x003f, 0xd4a8, 0x003f, 0x003f, 0xc5da,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4a9, 0xb0b5,\n    0xbadf, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7bd, 0x003f, 0x003f,\n    0xc3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4aa,\n    0xd4ab, 0x003f, 0x003f, 0xd4ad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4ae, 0x003f, 0xbae4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6d1,\n    0x003f, 0x003f, 0xcbb7, 0x003f, 0x003f, 0x003f, 0xd4ac, 0xd4af,\n    0xbac1, 0xb9a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4b3, 0x003f, 0x003f, 0xbaa5, 0x003f, 0xc3b3, 0x003f,\n    0x003f, 0xd4b0, 0xc4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4,\n    0x003f, 0x003f, 0xbfe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4b2, 0xd4b5, 0x003f, 0xb7bf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd4b6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4b7, 0x003f, 0xb9a4, 0xb3c0, 0xd4b9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd4ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4bb, 0x003f, 0x003f, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4b1, 0x003f, 0x003f, 0xd4bc, 0x003f, 0x003f, 0xd4bd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcbe4, 0x003f, 0x003f, 0xbeeb, 0x003f,\n    0x003f, 0x003f, 0xd4bf, 0xd4c0, 0xd4be, 0x003f, 0xd4c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc7b8, 0x003f, 0x003f, 0xb0e8,\n    0xc9d6, 0x003f, 0x003f, 0xd4c3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbefd, 0x003f, 0x003f, 0xbcb9,\n    0x003f, 0xc7dd, 0xb4f0, 0x003f, 0xbaeb, 0x003f, 0x003f, 0x003f,\n    /* 0x5800 .. 0x58ff */\n    0xcbd9, 0x003f, 0xc6b2, 0x003f, 0x003f, 0xb7f8, 0xc2cf, 0x003f,\n    0x003f, 0x003f, 0xd4c1, 0xd4c4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2c4, 0x003f, 0x003f,\n    0x003f, 0xd4c5, 0x003f, 0x003f, 0x003f, 0xd4c6, 0x003f, 0x003f,\n    0x003f, 0xd4c8, 0x003f, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4a1,\n    0xb1e1, 0xcaf3, 0x003f, 0x003f, 0xbeec, 0xc5c8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbae6, 0x003f, 0x003f, 0xd4ce, 0x003f, 0x003f,\n    0xcabd, 0xcedd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb2f4, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc1ba, 0xd4cd, 0x003f, 0xc5e3, 0x003f, 0x003f, 0xc5c9,\n    0xc5e4, 0xc8b9, 0xc4cd, 0x003f, 0x003f, 0x003f, 0xbac9, 0x003f,\n    0x003f, 0x003f, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb1f6, 0x003f, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4cb, 0x003f, 0xd4c7, 0x003f, 0x003f, 0xbfd0, 0x003f, 0x003f,\n    0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb6ad, 0x003f, 0xd4d0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcae8, 0x003f, 0x003f, 0x003f, 0xc1fd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc4c6, 0x003f, 0x003f, 0xd4d2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcbcf, 0x003f, 0x003f, 0xd4d3, 0x003f, 0x003f, 0xd4d8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4d7, 0xd4d1, 0xd4d4, 0xd4d6, 0x003f, 0x003f, 0xbaa6, 0x003f,\n    0x003f, 0xcac9, 0x003f, 0x003f, 0x003f, 0xd4d9, 0x003f, 0xc3c5,\n    0x003f, 0x003f, 0xb2f5, 0x003f, 0xbeed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4db, 0x003f, 0xd4da, 0x003f, 0xb9e8, 0x003f, 0xd4dc,\n    0xd4de, 0xd4dd, 0x003f, 0x003f, 0xd4e0, 0x003f, 0xd4d5, 0xd4e2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0xd4df, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbbce, 0xbfd1, 0x003f, 0xc1d4, 0xd4e3,\n    0xc0bc, 0xb0ed, 0xc7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4db,\n    0x003f, 0xd4e5, 0xd4e4, 0xd4e6, 0xd4e7, 0xd4e8, 0x003f, 0x003f,\n    /* 0x5900 .. 0x59ff */\n    0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcad1, 0xd4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2c6,\n    0xd4eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbc, 0xb3b0, 0x003f,\n    0xd2c9, 0xbdc8, 0xc2bf, 0xd4ec, 0xcceb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0xd4ee, 0x003f, 0xc2e7,\n    0x003f, 0xc5b7, 0xc2c0, 0xc9d7, 0xd4ef, 0xd4f0, 0xb1fb, 0x003f,\n    0x003f, 0xbcba, 0xd4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0d0,\n    0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e2, 0x003f, 0x003f, 0xb4f1,\n    0xc6e0, 0xcaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f7, 0xc1d5,\n    0xd4f6, 0xb7c0, 0x003f, 0x003f, 0xcbdb, 0xd4f5, 0x003f, 0xc5e5,\n    0xd4f9, 0x003f, 0xd4f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4fb, 0x003f, 0xd4fa, 0x003f, 0x003f, 0xb1fc, 0x003f, 0xd4fc,\n    0xbea9, 0xd4fe, 0xc3a5, 0x003f, 0xd4fd, 0x003f, 0xcab3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbdf7, 0xc5db, 0x003f, 0x003f, 0x003f,\n    0xd5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9a5, 0x003f, 0x003f,\n    0x003f, 0xd5a2, 0xc7a1, 0xc8de, 0xccd1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc7a5, 0x003f, 0x003f, 0xd5ab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb5b8, 0x003f, 0x003f, 0xcdc5, 0x003f,\n    0x003f, 0xccaf, 0x003f, 0xd6ac, 0x003f, 0xd5a3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5a6, 0x003f, 0xc2c5, 0x003f, 0x003f,\n    0xcbb8, 0x003f, 0x003f, 0x003f, 0xc5ca, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbe5, 0x003f, 0xbaca, 0x003f, 0x003f, 0xbeaa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a8, 0x003f,\n    0x003f, 0xbbd0, 0x003f, 0xbbcf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb0b9, 0xb8c8, 0x003f, 0xc0ab, 0xb0d1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5ac, 0xd5ad, 0x003f, 0xd5aa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b8, 0xb4af, 0x003f,\n    0xd5a9, 0x003f, 0xccc5, 0xc9b1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0a8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb0f9, 0x003f, 0x003f, 0x003f, 0xbbd1,\n    /* 0x5a00 .. 0x5aff */\n    0x003f, 0xb0d2, 0x003f, 0xb0a3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xccbc, 0x003f, 0xd5b3, 0x003f, 0xd5b1, 0x003f, 0x003f, 0xd5af,\n    0xbfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ae, 0x003f, 0x003f,\n    0x003f, 0xcada, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8e4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b7, 0xd5b8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbeab, 0x003f, 0x003f, 0x003f,\n    0xd5b4, 0xcfac, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7cc, 0x003f,\n    0x003f, 0xd5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5b9, 0x003f, 0x003f, 0x003f, 0xc9d8, 0x003f,\n    0x003f, 0x003f, 0xd5ba, 0x003f, 0xd5b5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccbb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5bb, 0xc9b2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd5bc, 0xd5c0, 0xd5bd, 0x003f,\n    0x003f, 0xb2c7, 0xd5bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbcbb, 0x003f, 0xd5be, 0xb7f9, 0x003f, 0x003f, 0x003f,\n    0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5, 0xd5c2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc3e4, 0x003f, 0xd5c1, 0x003f, 0x003f, 0xd5c3, 0x003f,\n    0x003f, 0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5c6, 0xd5c7, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5b00 .. 0x5bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb4f2, 0x003f, 0xd5c9, 0xd5c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ca, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5cd, 0x003f, 0xc4dc, 0x003f, 0x003f, 0x003f,\n    0xb1c5, 0x003f, 0xd5cb, 0x003f, 0x003f, 0x003f, 0xd5ce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0x003f,\n    0xd5d2, 0x003f, 0x003f, 0xd5d0, 0x003f, 0xd5d1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbbd2, 0xd5d3, 0x003f, 0x003f, 0xb9a6, 0xd5d4, 0x003f, 0xbbfa,\n    0xc2b8, 0x003f, 0xd5d5, 0xd5d6, 0xbbda, 0xb9a7, 0x003f, 0xccd2,\n    0x003f, 0x003f, 0x003f, 0xb5a8, 0xb8c9, 0xd5d7, 0xb3d8, 0x003f,\n    0x003f, 0xd5d8, 0x003f, 0xc2b9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5d9, 0xd6a3, 0x003f, 0xd5da, 0x003f, 0xd5db, 0x003f, 0x003f,\n    0xd5dc, 0x003f, 0xd5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5df, 0x003f, 0x003f, 0xd5e0, 0x003f, 0xc2f0, 0x003f, 0xb1a7,\n    0xbce9, 0xb0c2, 0x003f, 0xc1d7, 0xb4b0, 0xbcb5, 0x003f, 0xb9a8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e6, 0x003f, 0xbda1,\n    0xb4b1, 0xc3e8, 0xc4ea, 0xb0b8, 0xb5b9, 0xcaf5, 0x003f, 0xbcc2,\n    0x003f, 0x003f, 0xb5d2, 0xc0eb, 0xbcbc, 0xcda8, 0xd5e1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5dc, 0x003f,\n    0xbacb, 0x003f, 0x003f, 0xb3b2, 0xb1e3, 0xbeac, 0xb2c8, 0x003f,\n    0xd5e2, 0xcdc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdc9,\n    0x003f, 0x003f, 0xbce4, 0xd5e3, 0xb4f3, 0xc6d2, 0xcca9, 0xd5e4,\n    0x003f, 0xd5e5, 0x003f, 0x003f, 0xc9d9, 0x003f, 0x003f, 0x003f,\n    0xd5e7, 0x003f, 0xb4a8, 0xb6f7, 0xd5e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb4b2, 0x003f, 0xbfb2, 0xd5eb, 0xbba1,\n    0x003f, 0xb2c9, 0xd5ea, 0x003f, 0xd5e8, 0xd5ec, 0xd5e9, 0xc7ab,\n    0xdccd, 0xbfb3, 0x003f, 0xd5ed, 0x003f, 0x003f, 0xcec0, 0x003f,\n    0xd5ee, 0x003f, 0x003f, 0xd5f0, 0x003f, 0xc3fe, 0xd5ef, 0x003f,\n    0xc0a3, 0x003f, 0xbbfb, 0x003f, 0x003f, 0x003f, 0xc2d0, 0xbcf7,\n    /* 0x5c00 .. 0x5cff */\n    0x003f, 0xc9f5, 0xc0ec, 0x003f, 0xbccd, 0xd5f1, 0xbead, 0xd5f2,\n    0xd5f3, 0xb0d3, 0xc2ba, 0xbfd2, 0x003f, 0xd5f4, 0xc6b3, 0xbeae,\n    0x003f, 0xbeaf, 0x003f, 0xd5f5, 0x003f, 0x003f, 0xc0ed, 0x003f,\n    0x003f, 0x003f, 0xbeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5f6, 0x003f, 0xd5f7, 0x003f, 0xcce0, 0x003f, 0x003f, 0x003f,\n    0xd5f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6c6, 0x003f, 0x003f,\n    0x003f, 0xbda2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5f9, 0xd5fa, 0xbcdc, 0xbfac, 0xc6f4, 0xbfd4, 0xc8f8, 0xc7a2,\n    0xb6c9, 0xd5fb, 0x003f, 0x003f, 0x003f, 0xb5ef, 0xd5fc, 0x003f,\n    0xb6fe, 0x003f, 0xc6cf, 0xb2b0, 0x003f, 0xbbd3, 0xd5fd, 0xd6a2,\n    0xd6a1, 0xb6fd, 0x003f, 0xd5fe, 0x003f, 0xc5b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b0, 0x003f,\n    0xc5cb, 0xbcc8, 0x003f, 0x003f, 0xc1d8, 0xcdfa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4, 0x003f, 0xd6a5, 0xc6d6,\n    0x003f, 0xbbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a7, 0x003f,\n    0x003f, 0xd6a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f, 0x003f,\n    0xb4f4, 0xd6aa, 0x003f, 0x003f, 0xd6ab, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb2ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc1bb, 0xb4e4, 0x003f, 0xd6ad, 0xcca8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc2d2, 0x003f, 0xb3d9, 0x003f, 0x003f, 0xd6af, 0xd6b1,\n    0xb4df, 0x003f, 0x003f, 0xd6ae, 0xd6b0, 0x003f, 0xd6b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b2, 0x003f, 0xd6b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc6bd, 0xb6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb2e5, 0xd6b6, 0xd6bb, 0x003f, 0x003f, 0xd6b9, 0x003f, 0xcaf7,\n    0xcaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5e7, 0x003f,\n    0x003f, 0x003f, 0xd6b8, 0xbdd4, 0x003f, 0xd6b7, 0x003f, 0x003f,\n    /* 0x5d00 .. 0x5dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbff2,\n    0x003f, 0x003f, 0x003f, 0xd6bc, 0x003f, 0x003f, 0xbaea, 0x003f,\n    0x003f, 0xd6c2, 0x003f, 0x003f, 0xd6c3, 0xd6bd, 0xb3b3, 0xd6be,\n    0xd6c7, 0xd6c6, 0xd6c5, 0xd6c1, 0x003f, 0x003f, 0x003f, 0xd6c0,\n    0x003f, 0x003f, 0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd6cb, 0xd6c8, 0x003f, 0xd6ca, 0x003f,\n    0xcdf2, 0x003f, 0xd6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbff3, 0x003f, 0x003f, 0xd6cc, 0x003f, 0x003f, 0xbab7,\n    0x003f, 0x003f, 0x003f, 0xd6cd, 0x003f, 0x003f, 0xd6ce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6d1, 0x003f, 0xd6d0, 0x003f, 0x003f, 0xd6cf,\n    0x003f, 0x003f, 0x003f, 0xc5e8, 0xd6ba, 0x003f, 0x003f, 0x003f,\n    0xd6d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6d4, 0x003f, 0xd6d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,\n    0x003f, 0x003f, 0xcee6, 0x003f, 0xd6d9, 0xd6d6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6da, 0x003f, 0x003f, 0xb4e0, 0xd6db, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6dd, 0xd6dc, 0x003f, 0x003f, 0xd6de, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd6df, 0x003f, 0xc0ee, 0xbda3, 0x003f,\n    0x003f, 0xbde4, 0x003f, 0xc1e3, 0x003f, 0xb9a9, 0xbab8, 0xb9aa,\n    0xb5f0, 0x003f, 0x003f, 0xd6e0, 0x003f, 0x003f, 0xbab9, 0x003f,\n    0x003f, 0xb8ca, 0xd6e1, 0xcca6, 0xc7c3, 0xd6e2, 0x003f, 0xb9ab,\n    0x003f, 0x003f, 0x003f, 0xb4ac, 0x003f, 0xc3a7, 0xb6d2, 0x003f,\n    /* 0x5e00 .. 0x5eff */\n    0x003f, 0x003f, 0xbbd4, 0xc9db, 0x003f, 0x003f, 0xc8c1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd6e3, 0xb4f5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4a1, 0x003f,\n    0x003f, 0xd6e5, 0xd6e4, 0xd6e7, 0x003f, 0xc4eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfe3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbbd5, 0x003f, 0xc0ca, 0x003f, 0xc2d3,\n    0xb5a2, 0x003f, 0x003f, 0xc4a2, 0x003f, 0x003f, 0xd6e8, 0xd6e9,\n    0xbeef, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb9, 0x003f, 0x003f,\n    0xd6ec, 0x003f, 0x003f, 0xd6eb, 0xd6ea, 0xc9fd, 0x003f, 0xd6f3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcbda, 0x003f, 0xd6ed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6ef, 0xcbeb, 0x003f, 0xd6ee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6f0,\n    0x003f, 0xc8a8, 0xd6f1, 0xcabe, 0xd6f2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb4b3, 0xcabf, 0xc7af, 0xd6f4, 0xd6f5, 0x003f,\n    0xb9ac, 0xb4b4, 0xd6f6, 0xb8b8, 0xcdc4, 0xcda9, 0xb4f6, 0xd6f8,\n    0x003f, 0xc4a3, 0x003f, 0xb9ad, 0xbeb1, 0x003f, 0x003f, 0xc8df,\n    0x003f, 0x003f, 0xbeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4ec, 0xcaf9, 0xc5b9,\n    0x003f, 0x003f, 0xb9ae, 0x003f, 0xc9dc, 0x003f, 0x003f, 0x003f,\n    0xd6f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d9, 0xbac2,\n    0x003f, 0x003f, 0x003f, 0xb8cb, 0x003f, 0xc4ed, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0c3, 0xbdee, 0xb9af,\n    0xcdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6fa, 0xd6fb, 0xc7d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6fc, 0xcef7, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe,\n    0xd6fd, 0x003f, 0x003f, 0xb3c7, 0x003f, 0x003f, 0xd7a1, 0x003f,\n    0x003f, 0x003f, 0xd7a4, 0xd7a5, 0x003f, 0xd7a3, 0x003f, 0xc9c0,\n    0xbeb3, 0xd7a7, 0xd7a6, 0xd7a2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7a8, 0xd7a9, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f,\n    0xd7ad, 0xd7ab, 0x003f, 0xd7ac, 0xd7ae, 0x003f, 0xb1e4, 0xc4ee,\n    0xd7af, 0x003f, 0xb7fa, 0xb2f6, 0xc7b6, 0x003f, 0xd7b0, 0xc6fb,\n    /* 0x5f00 .. 0x5fff */\n    0x003f, 0xcadb, 0x003f, 0xd7b1, 0xcfae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7b2, 0xcac0, 0xd7b5, 0xd0a1, 0xd0b1, 0x003f, 0xbcb0,\n    0xc6f5, 0xd7b6, 0x003f, 0xb5dd, 0xc4a4, 0xb0fa, 0xd7b7, 0xcaa6,\n    0xb9b0, 0x003f, 0x003f, 0xc3d0, 0x003f, 0x003f, 0x003f, 0xc4ef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccef, 0xb8b9, 0xb8cc,\n    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0xd7b9, 0x003f, 0xd7bf,\n    0x003f, 0xbce5, 0x003f, 0x003f, 0x003f, 0xc4a5, 0x003f, 0xb6af,\n    0xd7ba, 0x003f, 0x003f, 0x003f, 0xc9ab, 0x003f, 0xc3c6, 0x003f,\n    0x003f, 0xd7bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7bc, 0x003f, 0xb6b0, 0x003f, 0xd7bd, 0x003f, 0xd7be, 0x003f,\n    0x003f, 0xd7c0, 0x003f, 0xc5f6, 0x003f, 0x003f, 0xd7c1, 0xd7c2,\n    0x003f, 0xd7c3, 0x003f, 0x003f, 0xd7b4, 0xd7b3, 0x003f, 0x003f,\n    0x003f, 0xd7c4, 0xb7c1, 0x003f, 0x003f, 0x003f, 0xc9a7, 0x003f,\n    0x003f, 0xbacc, 0xc9b7, 0xc4a6, 0xc9cb, 0xd7c5, 0x003f, 0x003f,\n    0xbeb4, 0xb1c6, 0x003f, 0xd7c6, 0x003f, 0x003f, 0x003f, 0xd7c7,\n    0x003f, 0xccf2, 0x003f, 0x003f, 0xc8e0, 0x003f, 0x003f, 0xd7ca,\n    0xb1fd, 0xc0ac, 0xd7c9, 0xd7c8, 0xb7c2, 0xc2d4, 0x003f, 0xd7ce,\n    0xd7cc, 0x003f, 0xd7cb, 0xcea7, 0xb8e5, 0x003f, 0x003f, 0x003f,\n    0xbdf9, 0xd7cd, 0xc5cc, 0xbdbe, 0x003f, 0x003f, 0x003f, 0xc6c0,\n    0xd7d1, 0xd7d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0x003f,\n    0xd7d2, 0xb8e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7d3, 0xc9fc, 0xbddb, 0x003f, 0x003f, 0xd7d4, 0xc8f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc6c1, 0xc4a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc5b0, 0x003f, 0x003f, 0xd7d5, 0xb5ab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbfb4, 0x003f, 0xc9ac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb4f7, 0xc7a6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7d6, 0xbbd6,\n    0xcbba, 0xcbbb, 0x003f, 0x003f, 0xb1fe, 0xd7db, 0x003f, 0x003f,\n    0xc3e9, 0x003f, 0x003f, 0x003f, 0xd7d8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb2f7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8ad, 0xd7da, 0x003f, 0x003f, 0x003f, 0xc7b0, 0x003f, 0x003f,\n    0xd7d9, 0x003f, 0x003f, 0xd7d7, 0x003f, 0xb9fa, 0x003f, 0xd7dd,\n    /* 0x6000 .. 0x60ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e9,\n    0xd7e1, 0x003f, 0xc5dc, 0x003f, 0x003f, 0xd7e6, 0xc9dd, 0x003f,\n    0x003f, 0xd7e0, 0x003f, 0xd7e5, 0xcee7, 0xbbd7, 0x003f, 0x003f,\n    0xc2d5, 0xd7de, 0x003f, 0x003f, 0x003f, 0xb5de, 0xd7e8, 0xc0ad,\n    0xb1e5, 0xd7e2, 0xb2f8, 0xd7e7, 0x003f, 0x003f, 0x003f, 0xb6b1,\n    0x003f, 0xd7e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7ec, 0xd7f6, 0xd7f4, 0x003f, 0x003f, 0xd7f1, 0x003f,\n    0x003f, 0x003f, 0xd7f0, 0xcef8, 0x003f, 0xd7f2, 0x003f, 0x003f,\n    0xb6b2, 0x003f, 0xb9b1, 0x003f, 0x003f, 0xbdfa, 0x003f, 0x003f,\n    0x003f, 0xd7f9, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ef,\n    0xd7df, 0x003f, 0xb2fa, 0xd7f3, 0xd7f5, 0xc3d1, 0x003f, 0x003f,\n    0xbaa8, 0xb2b8, 0xd7ed, 0xd7f8, 0xd7f7, 0xb6b3, 0x003f, 0xc2a9,\n    0xb3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7c3, 0x003f, 0xd7ee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7fa, 0x003f, 0xd7fd, 0xd8a1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbcbd, 0x003f, 0xd8a7, 0xc4f0, 0xd7fb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8a5, 0x003f, 0xb2f9, 0x003f, 0xd8a3, 0xd8a4,\n    0x003f, 0x003f, 0xd7fe, 0xd8a2, 0x003f, 0x003f, 0x003f, 0xb8e7,\n    0xcdaa, 0x003f, 0x003f, 0xb4b5, 0x003f, 0x003f, 0xb1d9, 0xd8a6,\n    0x003f, 0xc7ba, 0xb0ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc8e1, 0xd7dc, 0xd8ac, 0xd8b0, 0xcce5, 0x003f,\n    0xd8a9, 0x003f, 0x003f, 0x003f, 0xc5e9, 0xd8ae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbef0, 0xd8af, 0xc6d7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfc7, 0x003f, 0xd8ab, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8b1, 0x003f, 0xb9fb, 0x003f, 0xc0cb, 0x003f, 0x003f, 0xb0d4,\n    0xd8aa, 0xd8a8, 0x003f, 0xc1da, 0x003f, 0x003f, 0x003f, 0xd7fc,\n    0xbbb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc2c6, 0xd8bd, 0x003f, 0xc1db, 0xd8b8, 0x003f, 0xd8b5, 0xd8b6,\n    0x003f, 0xbce6, 0xd8b9, 0xd8bc, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6100 .. 0x61ff */\n    0xd8b7, 0xbda5, 0x003f, 0xd8ba, 0x003f, 0x003f, 0xd8b4, 0x003f,\n    0xccfc, 0xccfb, 0x003f, 0x003f, 0x003f, 0xd8be, 0xd8bf, 0xb0d5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb6f2, 0xb0a6, 0x003f, 0x003f, 0x003f, 0xb4b6,\n    0x003f, 0xd8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3,\n    0xd8c2, 0x003f, 0x003f, 0x003f, 0xd8c7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c9, 0xd8c1, 0xd8c5,\n    0x003f, 0x003f, 0xd8ca, 0x003f, 0xd8cb, 0x003f, 0x003f, 0xd8c0,\n    0xbbfc, 0x003f, 0xd8c4, 0xc2d6, 0xb9b2, 0xd8b2, 0xbfb5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8d8, 0x003f, 0xcae9, 0x003f, 0x003f,\n    0xd8ce, 0xd8cf, 0xd8d0, 0x003f, 0x003f, 0xd8d7, 0x003f, 0xd8d6,\n    0x003f, 0x003f, 0xcbfd, 0xb4b7, 0x003f, 0xd8d4, 0x003f, 0xb7c5,\n    0xb3b4, 0x003f, 0x003f, 0xd8d1, 0x003f, 0x003f, 0xceb8, 0xd8d3,\n    0xb0d6, 0xd8d5, 0x003f, 0xd8cc, 0xd8d2, 0xd8d9, 0xb7c4, 0xd8cd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddd, 0x003f,\n    0x003f, 0x003f, 0xcdab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8dc,\n    0x003f, 0x003f, 0xd8e0, 0x003f, 0x003f, 0x003f, 0xc1fe, 0x003f,\n    0xcef9, 0xd8e1, 0x003f, 0x003f, 0xd8de, 0x003f, 0xd8db, 0x003f,\n    0x003f, 0xd8da, 0xd8df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0x003f, 0xc6b4,\n    0x003f, 0xb7c6, 0x003f, 0xd8e2, 0xd8dd, 0x003f, 0xd8e3, 0x003f,\n    0x003f, 0x003f, 0xb7fb, 0x003f, 0x003f, 0x003f, 0xb2b1, 0x003f,\n    0x003f, 0x003f, 0xd8eb, 0x003f, 0x003f, 0x003f, 0xb4b8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8e9, 0x003f, 0x003f, 0xd8ea, 0xbaa9,\n    0xd8e8, 0xd8e6, 0xd8e5, 0xd8ec, 0xd8e4, 0xd8ee, 0x003f, 0x003f,\n    0xb2fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8f0, 0x003f, 0x003f, 0xd8ef, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc4a8, 0x003f, 0xd8f3, 0x003f, 0xd8f1, 0xd8e7,\n    0xb7fc, 0x003f, 0xd8f2, 0x003f, 0xd8f6, 0xd8f5, 0xd8f7, 0xd8f4,\n    /* 0x6200 .. 0x62ff */\n    0xd8f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8f9, 0xd8fa, 0xcaea, 0x003f, 0xd8fc, 0xd8fb, 0xbdbf, 0x003f,\n    0xc0ae, 0xb2e6, 0xb2fc, 0x003f, 0xd8fd, 0x003f, 0xb0bf, 0x003f,\n    0x003f, 0x003f, 0xc0cc, 0xd8fe, 0x003f, 0xecc3, 0xd9a1, 0xb7e1,\n    0x003f, 0xd9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0x003f,\n    0x003f, 0x003f, 0xd9a3, 0x003f, 0x003f, 0x003f, 0xd9a4, 0xb5ba,\n    0xd9a5, 0x003f, 0xd9a6, 0xd9a7, 0xc2d7, 0x003f, 0x003f, 0x003f,\n    0xb8cd, 0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0xcbbc,\n    0xbdea, 0xd9a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f0,\n    0xeebd, 0xc8e2, 0x003f, 0xbcea, 0x003f, 0xbacd, 0xd9a9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc2c7, 0x003f, 0xcaa7, 0x003f, 0x003f,\n    0xc2f1, 0x003f, 0x003f, 0xd9ac, 0x003f, 0x003f, 0xd9aa, 0x003f,\n    0xd9ad, 0x003f, 0x003f, 0xd9ab, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcab1, 0x003f,\n    0x003f, 0xb0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9de, 0x003f,\n    0x003f, 0xc8e3, 0x003f, 0x003f, 0xd9af, 0x003f, 0xd9b2, 0xbeb5,\n    0xb5bb, 0x003f, 0xd9b0, 0xd9b7, 0xbeb6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9b1, 0xc7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdde, 0xd9b3, 0xd9b4, 0xd9b8, 0xc5ea, 0xd9b5, 0xb9b3,\n    0xc0de, 0x003f, 0x003f, 0xd9c6, 0xc8b4, 0x003f, 0xc2f2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc8e4, 0xdaad, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcafa, 0x003f, 0x003f, 0x003f, 0xc4f1, 0x003f, 0x003f,\n    0x003f, 0xcbf5, 0x003f, 0xd9bb, 0xb2a1, 0xc3ea, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd9c4, 0x003f, 0x003f, 0xc3b4, 0xd9be, 0xd9c5,\n    0xd9c0, 0xd9c7, 0xd9c3, 0x003f, 0xd9c2, 0xc7ef, 0x003f, 0xd9bc,\n    0xb2fd, 0xd9ba, 0xb5f1, 0xc2f3, 0xd9b6, 0x003f, 0x003f, 0xd9b9,\n    0xb9b4, 0xc0db, 0x003f, 0xbeb7, 0xd9c1, 0xc7d2, 0x003f, 0x003f,\n    0xb5f2, 0xb3c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb3e7, 0xbfa1, 0xd9c9, 0xd9ce,\n    0x003f, 0xd9ca, 0x003f, 0xb7fd, 0x003f, 0xd9cf, 0xbba2, 0xb9e9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbda6, 0xd9bd,\n    /* 0x6300 .. 0x63ff */\n    0x003f, 0xbbfd, 0xd9cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbd8,\n    0xd9cd, 0xb0c4, 0x003f, 0x003f, 0xd9c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb5f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cb,\n    0xb0a7, 0x003f, 0x003f, 0xbac3, 0x003f, 0x003f, 0x003f, 0xbfb6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc4f2, 0x003f, 0x003f, 0xc8d4, 0xd9d1, 0xc1de,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc2aa, 0x003f, 0x003f, 0xbbab, 0xd9d2, 0x003f, 0xd9d4,\n    0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xc4bd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc1dc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,\n    0xbcce, 0xd9e0, 0x003f, 0xd9df, 0x003f, 0x003f, 0xbff8, 0x003f,\n    0x003f, 0x003f, 0xb7fe, 0x003f, 0x003f, 0x003f, 0xd9d9, 0xbeb9,\n    0x003f, 0x003f, 0xc6e8, 0xc7b1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9d7, 0x003f, 0x003f, 0xc1dd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbcf8, 0xd9dc, 0x003f, 0x003f, 0xbeb8, 0x003f, 0xd9d6, 0xd9db,\n    0x003f, 0x003f, 0xc7d3, 0x003f, 0x003f, 0x003f, 0xd9d5, 0x003f,\n    0xb7a1, 0x003f, 0x003f, 0xb3dd, 0x003f, 0x003f, 0x003f, 0xd9dd,\n    0xceab, 0xbace, 0xc3b5, 0xd9da, 0x003f, 0xc0dc, 0x003f, 0xb9b5,\n    0xbfe4, 0xb1e6, 0xc1bc, 0xd9d8, 0xb5c5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7c7, 0x003f, 0xc4cf, 0xd9de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc1df, 0x003f, 0x003f, 0xd9e1, 0x003f,\n    0xd9e3, 0x003f, 0x003f, 0xc2b7, 0xd9e9, 0x003f, 0xd9e4, 0x003f,\n    0x003f, 0xd9e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c1,\n    0xc4f3, 0x003f, 0xd9e7, 0x003f, 0x003f, 0x003f, 0xcdac, 0x003f,\n    0x003f, 0x003f, 0xcdc8, 0xb4b9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0ae, 0x003f, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4f8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1e7, 0x003f, 0xd9e8, 0x003f,\n    0x003f, 0x003f, 0xcdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6400 .. 0x64ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2bb, 0x003f, 0xd9f3,\n    0x003f, 0x003f, 0x003f, 0xd9ed, 0x003f, 0x003f, 0xd9ea, 0xd9f1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee, 0x003f,\n    0xd9f2, 0x003f, 0x003f, 0x003f, 0xc8c2, 0xc5eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd9eb, 0x003f, 0xd9ef, 0x003f,\n    0x003f, 0x003f, 0xb7c8, 0x003f, 0x003f, 0x003f, 0xbaf1, 0x003f,\n    0x003f, 0x003f, 0xc0dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc5a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f4,\n    0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6, 0x003f,\n    0xccce, 0x003f, 0xc0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb7e2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbbb5, 0xd9fa, 0x003f, 0xd9f9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc7b2, 0x003f, 0x003f, 0x003f, 0xc6b5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xd9fb, 0x003f, 0x003f,\n    0x003f, 0xd9fc, 0x003f, 0xc9ef, 0x003f, 0xc7c5, 0xbba3, 0x003f,\n    0xc0f1, 0x003f, 0xcbd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3c9, 0x003f, 0xdaa5, 0xd9fe, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdca, 0xdaa7, 0x003f, 0x003f, 0xdaa3, 0x003f, 0xdaa4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdaa2, 0x003f, 0xd9bf, 0x003f, 0x003f, 0x003f,\n    0xdaa6, 0x003f, 0xdaa1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdaab, 0xdaac, 0xc5a7, 0xdaae, 0x003f, 0x003f, 0xbba4, 0xdaa9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb5bc, 0x003f, 0x003f, 0xdaaf,\n    0x003f, 0xdaa8, 0xdab3, 0x003f, 0xdab2, 0x003f, 0xdab1, 0x003f,\n    0x003f, 0x003f, 0xdab4, 0x003f, 0x003f, 0xdab6, 0xbef1, 0x003f,\n    /* 0x6500 .. 0x65ff */\n    0xdab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdab9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdab7, 0x003f, 0x003f, 0x003f, 0xdab8, 0xd9f0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdabb, 0xdaba, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd9f8, 0xdabc, 0xdab0, 0x003f, 0x003f, 0xbbd9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0xdabe, 0xdac0, 0xdabf,\n    0xdac1, 0xb2fe, 0x003f, 0xb9b6, 0x003f, 0x003f, 0xcafc, 0xc0af,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8ce, 0x003f, 0x003f,\n    0xdac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac6, 0x003f, 0xc9d2,\n    0x003f, 0xb5df, 0x003f, 0x003f, 0x003f, 0xdac5, 0xdac4, 0xc7d4,\n    0xdac7, 0xb6b5, 0x003f, 0x003f, 0x003f, 0xdac9, 0xdac8, 0x003f,\n    0x003f, 0x003f, 0xb4ba, 0xbbb6, 0x003f, 0x003f, 0xc6d8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb7c9, 0x003f, 0x003f, 0x003f,\n    0xbff4, 0x003f, 0xdaca, 0x003f, 0xc0b0, 0xc5a8, 0x003f, 0xc9df,\n    0xdacb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdacc, 0xdacd, 0x003f, 0x003f, 0x003f, 0xcab8,\n    0xd5dd, 0xc0c6, 0x003f, 0x003f, 0xc9cc, 0x003f, 0xbad8, 0x003f,\n    0xc8e5, 0xc8c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5cd,\n    0x003f, 0xcec1, 0x003f, 0xdacf, 0xbcd0, 0x003f, 0x003f, 0xdad0,\n    0x003f, 0xb0b6, 0x003f, 0x003f, 0xb6d4, 0xc0cd, 0x003f, 0xc9e0,\n    0x003f, 0x003f, 0x003f, 0xdad1, 0xbbc2, 0xc3c7, 0x003f, 0xbbdb,\n    0xbfb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdad2,\n    0x003f, 0xcafd, 0x003f, 0x003f, 0xb1f7, 0xbbdc, 0x003f, 0x003f,\n    0x003f, 0xdad5, 0x003f, 0xdad3, 0xdad6, 0xceb9, 0xdad4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc0fb, 0xdad7, 0x003f, 0x003f, 0xc2b2,\n    0x003f, 0x003f, 0xdad8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4fa,\n    0x003f, 0xdada, 0x003f, 0xdad9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdadb, 0xdadc, 0xb4fb, 0x003f, 0x003f, 0xc6fc, 0xc3b6, 0xb5ec,\n    0xbbdd, 0xc1e1, 0x003f, 0x003f, 0xbddc, 0xb0b0, 0x003f, 0x003f,\n    0x003f, 0xdadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb2a2, 0xdae1, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6600 .. 0x66ff */\n    0x003f, 0x003f, 0xb9b7, 0xdae0, 0x003f, 0x003f, 0xbaab, 0xbeba,\n    0x003f, 0x003f, 0xdadf, 0x003f, 0xbebb, 0x003f, 0xccc0, 0xbaaa,\n    0x003f, 0x003f, 0x003f, 0xb0d7, 0xc0ce, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0x003f, 0x003f, 0xc0b1,\n    0xb1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdd5, 0x003f, 0xcbe6,\n    0xbaf2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbebc, 0x003f, 0xc0a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdae5, 0xdae3, 0xdae4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc3eb, 0x003f, 0x003f, 0xdba6,\n    0x003f, 0xdaea, 0xbbfe, 0xb9b8, 0xdae8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdae9, 0x003f, 0xbfb8, 0x003f, 0x003f, 0x003f, 0xdae7,\n    0x003f, 0x003f, 0xbbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaec, 0xdaeb, 0xdaf0,\n    0x003f, 0x003f, 0xdaf1, 0x003f, 0xdaed, 0x003f, 0xb3a2, 0xdaee,\n    0xdaef, 0xc8d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9e1, 0xb7ca,\n    0xdaf2, 0x003f, 0x003f, 0x003f, 0xc0b2, 0x003f, 0xbebd, 0x003f,\n    0x003f, 0x003f, 0xc3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb6c7, 0x003f, 0xdaf3, 0xdaf7, 0x003f, 0x003f, 0xb2cb,\n    0xdaf4, 0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf5, 0x003f,\n    0x003f, 0xbdeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3c8, 0xb0c5,\n    0xdaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaf9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc4aa, 0x003f, 0x003f, 0x003f, 0xcef1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbbc3, 0x003f, 0x003f, 0xcaeb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcbbd, 0x003f, 0x003f, 0x003f,\n    0xdba2, 0xdafb, 0x003f, 0x003f, 0xdafe, 0x003f, 0xdafd, 0x003f,\n    0x003f, 0xdafa, 0x003f, 0x003f, 0xdba1, 0x003f, 0x003f, 0xc6de,\n    0x003f, 0xdafc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba3, 0x003f,\n    0x003f, 0xbdec, 0xdba4, 0x003f, 0xcdcb, 0xc7f8, 0x003f, 0x003f,\n    0xdba5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba7, 0x003f,\n    0x003f, 0xdba8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdba9, 0x003f, 0xb6ca, 0xb1c8, 0xb9b9, 0xdbaa, 0x003f, 0xdbab,\n    0xbdf1, 0xc1e2, 0x003f, 0x003f, 0xd2d8, 0xc1be, 0xc1bd, 0xc2d8,\n    /* 0x6700 .. 0x67ff */\n    0xbac7, 0x003f, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7ee, 0xcdad, 0x003f, 0xcafe, 0x003f, 0xc9fe, 0x003f, 0xdbac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbaf3, 0xc4bf, 0xdbad, 0xcfaf,\n    0x003f, 0x003f, 0x003f, 0xcbbe, 0x003f, 0xc4ab, 0xdbae, 0xb4fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbaf, 0xdbb0,\n    0xccda, 0x003f, 0xcca4, 0xcbf6, 0xcbdc, 0xbba5, 0xdbb2, 0x003f,\n    0x003f, 0xbceb, 0x003f, 0x003f, 0xcbd1, 0x003f, 0xdbb4, 0xdbb7,\n    0xdbb6, 0x003f, 0xb4f9, 0x003f, 0x003f, 0xb5e0, 0x003f, 0xdbb3,\n    0x003f, 0xdbb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbb8, 0x003f,\n    0x003f, 0xbff9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdfb, 0xb0c9,\n    0xbae0, 0xc2bc, 0x003f, 0xbcdd, 0x003f, 0x003f, 0xbef3, 0x003f,\n    0x003f, 0xdbbb, 0x003f, 0x003f, 0xc5ce, 0x003f, 0xdbb9, 0xc2ab,\n    0xdbba, 0xbef2, 0xccdd, 0xdbbc, 0xdbbd, 0xcde8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbc2, 0x003f, 0x003f, 0xb9ba, 0x003f, 0xc7d5,\n    0xdbbf, 0xc5ec, 0xdade, 0xdae2, 0x003f, 0xb5cf, 0x003f, 0xc7c7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdbc1, 0x003f, 0xbebe, 0xc8c4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbc7, 0x003f, 0xc8fa,\n    0x003f, 0xdbbe, 0x003f, 0xdbc4, 0xdbc3, 0x003f, 0x003f, 0x003f,\n    0xc0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0xced3,\n    0x003f, 0x003f, 0xcbe7, 0x003f, 0xb2cc, 0xbbde, 0x003f, 0x003f,\n    0xcfc8, 0xdbc6, 0xbff5, 0x003f, 0x003f, 0x003f, 0xdbc5, 0x003f,\n    0x003f, 0xdbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8cf,\n    0x003f, 0x003f, 0x003f, 0xdbcc, 0xdbca, 0x003f, 0xb2cd, 0xdbc8,\n    0xdbce, 0xdbd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc2c8, 0x003f, 0x003f, 0xcac1, 0x003f, 0xdbd6, 0x003f,\n    0x003f, 0x003f, 0xc9a2, 0x003f, 0x003f, 0x003f, 0xdbd5, 0xc7f0,\n    0xcbbf, 0xb4bb, 0x003f, 0xc0f7, 0xbdc0, 0x003f, 0x003f, 0x003f,\n    0xc4d3, 0x003f, 0xcdae, 0x003f, 0x003f, 0xdbd1, 0xdbd0, 0x003f,\n    0x003f, 0x003f, 0xdbd2, 0x003f, 0xdbcf, 0x003f, 0x003f, 0xdbd7,\n    0x003f, 0xdbcd, 0x003f, 0x003f, 0xdbcb, 0x003f, 0xdbd3, 0xdbc9,\n    0x003f, 0xc3ec, 0x003f, 0xccf8, 0xbcc6, 0xbaf4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbaba, 0x003f, 0x003f, 0xcbef, 0xb3c1,\n    /* 0x6800 .. 0x68ff */\n    0x003f, 0x003f, 0xc4ce, 0xc6ca, 0xb1c9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc0f2, 0x003f, 0x003f, 0xc0b4, 0xb7aa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd9, 0x003f,\n    0x003f, 0xb9bb, 0xb3fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdbdb, 0xb3f4, 0xdbe1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbde, 0x003f, 0xc0f3, 0x003f, 0x003f, 0x003f,\n    0xb3cb, 0xbaac, 0x003f, 0x003f, 0xb3ca, 0xbacf, 0x003f, 0x003f,\n    0xdbdc, 0xb7e5, 0xb7cb, 0xc5ed, 0x003f, 0x003f, 0xdbda, 0x003f,\n    0xb0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbdd, 0xdbdf, 0x003f,\n    0xb6cd, 0xb7ac, 0x003f, 0xb4bc, 0xb5cb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdbe2, 0x003f, 0x003f, 0xbaf9, 0xcbf1, 0x003f, 0xbbb7,\n    0x003f, 0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0xc9b0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdbef, 0x003f, 0xb2b3, 0xdbe4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf5, 0xdbe5,\n    0x003f, 0xcec2, 0x003f, 0xdbec, 0x003f, 0xc7df, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xdbe7,\n    0x003f, 0x003f, 0x003f, 0xb0b4, 0xdbe9, 0x003f, 0x003f, 0xb9bc,\n    0x003f, 0x003f, 0x003f, 0xdbeb, 0x003f, 0xdbea, 0x003f, 0xdbe6,\n    0xdbf1, 0x003f, 0xbebf, 0x003f, 0x003f, 0x003f, 0xd4ed, 0xb8e8,\n    0xcdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbe8, 0x003f, 0xc4f4,\n    0xb3a3, 0xbaad, 0x003f, 0xdbe0, 0x003f, 0xdbf0, 0xb3e1, 0x003f,\n    0x003f, 0xdbee, 0xdbf2, 0x003f, 0xc5ee, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb4fe, 0x003f, 0xdcb2, 0x003f,\n    0x003f, 0xccc9, 0xdbf7, 0xb4fd, 0x003f, 0xdbfe, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbc0, 0x003f, 0xdca1, 0xdca3, 0x003f, 0xdca7,\n    0xdbf9, 0x003f, 0xc3aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5ef,\n    0xdcab, 0xdbfc, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0xdca2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfb9, 0xdcac,\n    0x003f, 0x003f, 0xc0b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcaa, 0xb4bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6900 .. 0x69ff */\n    0xcfd0, 0xdbf6, 0x003f, 0x003f, 0xdca6, 0xb0d8, 0x003f, 0x003f,\n    0xdbf8, 0x003f, 0x003f, 0xccba, 0xdbfd, 0xbfa2, 0xc4c7, 0xdbf3,\n    0x003f, 0x003f, 0xdca5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbffa, 0xdcaf, 0xb3f1, 0xb8a1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcb1, 0xdbfa, 0xdcb0, 0x003f, 0xdca9, 0xdbfb, 0x003f,\n    0xdcad, 0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdcbf, 0x003f, 0x003f, 0x003f, 0xc6ce, 0x003f, 0xdca4, 0x003f,\n    0x003f, 0xdcbb, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xc4d8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc9f6, 0xdcb8, 0xc2ca, 0x003f, 0x003f,\n    0x003f, 0xdcbe, 0xc1bf, 0x003f, 0xdcb5, 0xdcc2, 0xdcc1, 0x003f,\n    0xc6ef, 0xdcc0, 0xc6ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdcc4, 0xdcb7, 0x003f, 0xb6c8, 0xdcba, 0xbddd,\n    0x003f, 0x003f, 0x003f, 0xc7e0, 0xdcbc, 0xb6cb, 0x003f, 0xdcb4,\n    0xdcb6, 0xdcb3, 0x003f, 0x003f, 0xcfb0, 0xb3da, 0xdcb9, 0x003f,\n    0x003f, 0xdcc3, 0xb3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbae7, 0x003f, 0x003f, 0x003f, 0xb1dd, 0x003f,\n    0x003f, 0xdcd4, 0x003f, 0x003f, 0xcfb1, 0xdcd7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbfba, 0xdcd6, 0x003f, 0x003f, 0x003f,\n    0xdcd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcd2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcc6, 0x003f,\n    0x003f, 0xdce3, 0xdcc5, 0x003f, 0xdcd8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdcd0, 0x003f, 0x003f, 0xdccb, 0xdcc8,\n    0x003f, 0xdcc9, 0x003f, 0xdcd1, 0x003f, 0x003f, 0x003f, 0xf4a2,\n    0x003f, 0x003f, 0xdcce, 0xb9bd, 0xc4c8, 0xc1e4, 0xdccc, 0x003f,\n    0xdcc7, 0x003f, 0x003f, 0xdcca, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcdcd, 0xcbea, 0x003f, 0x003f, 0x003f, 0xdccf, 0xdcd9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce1,\n    0xdcda, 0x003f, 0x003f, 0xdce7, 0x003f, 0xdce5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdce0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcdf, 0x003f, 0xc4d0, 0x003f, 0xc1e5, 0x003f, 0xdcdd,\n    /* 0x6a00 .. 0x6aff */\n    0x003f, 0x003f, 0xdcdb, 0x003f, 0x003f, 0xdce2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdce8, 0xc8f5, 0xdcee, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdce9, 0xdcec, 0xdce6, 0x003f, 0x003f, 0xc3f4,\n    0x003f, 0xc9b8, 0x003f, 0xdcdc, 0x003f, 0x003f, 0xdce4, 0xbec0,\n    0x003f, 0xcccf, 0xdcf8, 0xdceb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb8a2, 0xb2a3, 0xb3df, 0x003f, 0x003f, 0xdcd3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec1, 0xdcf0, 0x003f,\n    0xdcf7, 0xbcf9, 0xb3f2, 0x003f, 0x003f, 0xc3ae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdced, 0x003f, 0x003f, 0xdcf2,\n    0xdcf6, 0x003f, 0x003f, 0xb6b6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb5cc, 0xdcf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a1,\n    0x003f, 0xc6cb, 0xdcf3, 0x003f, 0x003f, 0x003f, 0xdcf5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdcef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdcf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3e0,\n    0xc3c9, 0x003f, 0x003f, 0x003f, 0xdcfc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0xb8e9, 0x003f,\n    0xdcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdbd8, 0x003f, 0x003f, 0x003f,\n    0xdcfb, 0x003f, 0xdcfd, 0xdcfe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddac, 0x003f, 0xdda8, 0x003f, 0xdbed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdda7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdda6, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcea, 0xdda5, 0xdda4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xddaa, 0x003f, 0xcfa6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddad, 0xb6fb, 0x003f, 0x003f, 0xdda9, 0xddab,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc8a7, 0x003f, 0xddae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddb2, 0xddaf, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6b00 .. 0x6bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdf3, 0xddb0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdcde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddb3, 0x003f, 0x003f, 0x003f, 0xddb4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1b5, 0x003f, 0xddb6,\n    0xb7e7, 0xbca1, 0x003f, 0xb6d5, 0x003f, 0x003f, 0x003f, 0xb2a4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcddf, 0x003f, 0x003f, 0x003f, 0x003f, 0xddb8,\n    0xddb7, 0xddba, 0xb5bd, 0x003f, 0x003f, 0xb6d6, 0xb4be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f, 0xddbc,\n    0x003f, 0xddbe, 0x003f, 0x003f, 0xb2ce, 0x003f, 0xc3b7, 0x003f,\n    0xddbf, 0x003f, 0x003f, 0xb4bf, 0xddc1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xddc0, 0x003f, 0xddc2, 0x003f, 0x003f, 0x003f, 0xddc3,\n    0x003f, 0xddc4, 0xbbdf, 0xc0b5, 0xbaa1, 0x003f, 0xc9f0, 0x003f,\n    0x003f, 0xcae2, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbf5,\n    0x003f, 0x003f, 0x003f, 0xbad0, 0xcef2, 0x003f, 0x003f, 0x003f,\n    0xddc5, 0xddc6, 0x003f, 0xbbe0, 0x003f, 0x003f, 0x003f, 0xddc7,\n    0xddc8, 0x003f, 0x003f, 0xddca, 0xddc9, 0x003f, 0xcbd8, 0x003f,\n    0x003f, 0xbdde, 0xbcec, 0xbbc4, 0x003f, 0xddcb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddcd, 0xbfa3, 0x003f,\n    0xddcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xddcf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddd0, 0xddd1, 0x003f, 0x003f, 0x003f, 0xddd2,\n    0x003f, 0xddd4, 0xddd3, 0xddd5, 0xb2a5, 0xc3ca, 0x003f, 0xddd6,\n    0x003f, 0x003f, 0xbba6, 0xb3cc, 0xddd7, 0x003f, 0x003f, 0xc5c2,\n    0xd4cc, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a3, 0xddd8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddd9, 0x003f, 0xcaec, 0xcbe8, 0x003f,\n    0x003f, 0x003f, 0xc6c7, 0xddda, 0xc8e6, 0x003f, 0x003f, 0x003f,\n    0xc8fb, 0x003f, 0x003f, 0xccd3, 0x003f, 0x003f, 0x003f, 0xdddb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdddd, 0xdddc, 0x003f, 0x003f, 0xdddf,\n    0x003f, 0x003f, 0x003f, 0xddde, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6c00 .. 0x6cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbe1,\n    0x003f, 0xccb1, 0x003f, 0xdde2, 0xdde3, 0x003f, 0x003f, 0xb5a4,\n    0x003f, 0x003f, 0x003f, 0xdde4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdde6, 0xdde5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbfe5, 0x003f, 0x003f, 0xc9b9,\n    0xb1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c5, 0x003f,\n    0xc4f5, 0xbdc1, 0xb5e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8c6, 0x003f,\n    0xbcae, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde8, 0x003f, 0xb4c0,\n    0x003f, 0x003f, 0xb1f8, 0x003f, 0x003f, 0xc6f2, 0xdde7, 0xb9be,\n    0xc3d3, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xddf1, 0x003f, 0xddea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc2c1, 0x003f, 0xb5e2, 0xddf2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7e8, 0x003f, 0x003f, 0xb5a5, 0xddf0, 0x003f,\n    0x003f, 0xddee, 0xddeb, 0xcde0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc4c0, 0x003f, 0x003f, 0x003f, 0xc6d9, 0xddec, 0x003f, 0x003f,\n    0xddf4, 0x003f, 0xddf3, 0xb7a3, 0x003f, 0x003f, 0xb2ad, 0x003f,\n    0x003f, 0xbabb, 0xdded, 0xddef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbd7, 0xc2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcbf7, 0x003f, 0x003f, 0xddfc, 0x003f,\n    0x003f, 0xddfd, 0x003f, 0xb2cf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcaa8, 0xccfd, 0xdea1, 0xbca3, 0xbec2, 0xddf8, 0xddfe, 0xb1e8,\n    0x003f, 0xb6b7, 0x003f, 0x003f, 0xddf5, 0xddfa, 0x003f, 0x003f,\n    0x003f, 0xc0f4, 0xc7f1, 0x003f, 0xc8e7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddf7, 0x003f, 0xcba1, 0x003f, 0xddf9,\n    0x003f, 0xdea4, 0x003f, 0xdea2, 0x003f, 0xddfb, 0x003f, 0x003f,\n    0x003f, 0xcba2, 0xc7c8, 0xb5e3, 0x003f, 0xc5a5, 0x003f, 0x003f,\n    0xc3ed, 0x003f, 0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea3,\n    0xc2d9, 0xddf6, 0x003f, 0xb1cb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6d00 .. 0x6dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcdce, 0xdeb0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdeaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0f6,\n    0x003f, 0xdeac, 0x003f, 0xcdec, 0x003f, 0x003f, 0xc6b6, 0xdea6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4c5, 0x003f, 0x003f,\n    0x003f, 0xb1cc, 0xb9bf, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbda7, 0xdeae, 0x003f, 0xdead, 0xdea8, 0x003f,\n    0xdeab, 0x003f, 0x003f, 0xb3e8, 0x003f, 0xdeaa, 0xc7c9, 0x003f,\n    0x003f, 0xceae, 0x003f, 0x003f, 0xbef4, 0xc0f5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdeb6, 0xdeb4, 0x003f, 0xc9cd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdeb1, 0xdeb3, 0x003f, 0xb1ba, 0x003f,\n    0x003f, 0xb9c0, 0xcfb2, 0x003f, 0xb3bd, 0x003f, 0xc9e2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcde1, 0x003f, 0x003f, 0xb3a4,\n    0xbfbb, 0xdeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeba, 0x003f, 0x003f,\n    0xbec3, 0x003f, 0x003f, 0x003f, 0xcdb0, 0x003f, 0xdeb7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdeb2, 0x003f, 0xdeb8, 0x003f, 0x003f,\n    0x003f, 0xcede, 0x003f, 0xc5f3, 0xc6c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3b6,\n    0x003f, 0x003f, 0xb1d5, 0x003f, 0x003f, 0xdebe, 0x003f, 0x003f,\n    0xdec1, 0x003f, 0x003f, 0x003f, 0xcec3, 0x003f, 0x003f, 0x003f,\n    0xcde4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec8, 0xdec2, 0xdebf,\n    0x003f, 0x003f, 0x003f, 0xced4, 0xdec5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbdca, 0xdec7, 0x003f, 0x003f, 0xdecc, 0x003f, 0x003f,\n    0xc5f1, 0xdeca, 0x003f, 0x003f, 0x003f, 0x003f, 0xdec4, 0x003f,\n    0x003f, 0xc3b8, 0x003f, 0x003f, 0xdecb, 0x003f, 0xdec0, 0x003f,\n    0xdec6, 0x003f, 0xdecd, 0xb0fc, 0xdec3, 0x003f, 0xdece, 0x003f,\n    0x003f, 0xbfbc, 0x003f, 0xbddf, 0x003f, 0xcaa5, 0x003f, 0xbaae,\n    0x003f, 0xdebb, 0xdec9, 0xc5ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6e00 .. 0x6eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0b6, 0x003f, 0xb3e9,\n    0xbad1, 0xbec4, 0xdebd, 0xbdc2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb7cc, 0x003f, 0xdebc, 0x003f, 0x003f,\n    0x003f, 0xded2, 0xbded, 0xb8ba, 0x003f, 0xdee1, 0x003f, 0xdedb,\n    0xb5f4, 0xc5cf, 0x003f, 0xded6, 0xdedf, 0xb0af, 0xb1b2, 0x003f,\n    0x003f, 0xb2b9, 0x003f, 0xded8, 0xc2ac, 0xdecf, 0xded1, 0xb9c1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdee2, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xded5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccab, 0x003f, 0x003f, 0xdeda, 0xdede, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8d0, 0x003f,\n    0xbec5, 0x003f, 0x003f, 0xc3b9, 0x003f, 0x003f, 0x003f, 0xded4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdaf,\n    0x003f, 0x003f, 0x003f, 0xded7, 0x003f, 0x003f, 0xded0, 0xc5f2,\n    0x003f, 0x003f, 0xded3, 0x003f, 0x003f, 0x003f, 0xded9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfd1, 0xbcbe,\n    0xcbfe, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ae, 0x003f, 0x003f, 0xdeef,\n    0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde0, 0x003f,\n    0xdee5, 0x003f, 0x003f, 0x003f, 0xceaf, 0xb9c2, 0x003f, 0xdef2,\n    0x003f, 0x003f, 0xb0ee, 0x003f, 0x003f, 0xdef0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdee4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeea,\n    0x003f, 0x003f, 0xdeec, 0x003f, 0x003f, 0x003f, 0xcdcf, 0xdee7,\n    0x003f, 0x003f, 0xc5ae, 0x003f, 0x003f, 0xdee9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdef1, 0x003f, 0xdeeb, 0xccc7, 0x003f, 0x003f,\n    0x003f, 0xdee6, 0x003f, 0xbca2, 0xdefe, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3ea, 0x003f, 0xdee8, 0xdeed, 0xdeee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2ec, 0xc2da, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0x003f, 0xdefc,\n    0x003f, 0x003f, 0xdefa, 0x003f, 0xc5a9, 0x003f, 0x003f, 0xdfa3,\n    0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xdee0,\n    /* 0x6f00 .. 0x6fff */\n    0x003f, 0xb5f9, 0xc9ba, 0x003f, 0x003f, 0x003f, 0xbcbf, 0x003f,\n    0x003f, 0xb9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb3,\n    0x003f, 0xdef4, 0x003f, 0xdfa2, 0xb1e9, 0xc1e6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc7f9, 0x003f, 0xb4c1, 0xcefa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcca1, 0xc4d2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdefb, 0xdefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc1b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa1, 0xdef9,\n    0x003f, 0xdef3, 0x003f, 0x003f, 0x003f, 0xb4c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9, 0x003f, 0x003f, 0x003f,\n    0xdfaf, 0x003f, 0x003f, 0xdfaa, 0xc0f8, 0x003f, 0x003f, 0xb3e3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbde1, 0x003f, 0xdfb3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfac, 0xc4ac, 0xdfa9,\n    0xc4d9, 0x003f, 0x003f, 0x003f, 0xdfcc, 0x003f, 0x003f, 0x003f,\n    0xdfa6, 0x003f, 0xdfa5, 0x003f, 0xdfae, 0x003f, 0x003f, 0x003f,\n    0xdfa8, 0xdfa7, 0xdfad, 0x003f, 0xc0a1, 0x003f, 0xdfa4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb0, 0x003f,\n    0x003f, 0xdfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfb6, 0x003f, 0xdfb5, 0xdfb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdfba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc5c3, 0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7e3, 0xc2f9, 0xdfb2, 0xc7bb, 0x003f, 0x003f, 0xdfb9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdfbe, 0xdfbc, 0x003f, 0x003f,\n    0xdfbf, 0x003f, 0x003f, 0xdfc2, 0x003f, 0x003f, 0x003f, 0xdfbb,\n    0xb9ea, 0xc7a8, 0x003f, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcdf4, 0xdfbd, 0x003f, 0xdfc1, 0xc2f5,\n    0x003f, 0xdfc0, 0x003f, 0xdfab, 0x003f, 0x003f, 0xefe9, 0x003f,\n    0x003f, 0x003f, 0xdfc5, 0x003f, 0x003f, 0x003f, 0xdfc9, 0x003f,\n    /* 0x7000 .. 0x70ff */\n    0x003f, 0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfc3, 0x003f, 0xdfc4, 0x003f, 0x003f, 0x003f, 0xdfc8,\n    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0xc9ce, 0x003f, 0x003f,\n    0xdfce, 0x003f, 0xdfcb, 0xdfca, 0x003f, 0xdfcd, 0xc6d4, 0xdfcf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f5, 0xc2ed,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0x003f, 0x003f, 0x003f,\n    0xdfd0, 0x003f, 0xdfd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdef5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc6e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb2d0, 0x003f, 0x003f, 0x003f, 0xc5f4,\n    0xb3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb5e4, 0x003f, 0x003f, 0x003f, 0xbcde, 0xbad2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfa7, 0xbfe6, 0x003f, 0x003f, 0x003f, 0xb1ea, 0x003f,\n    0x003f, 0x003f, 0xdfd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd9, 0xc3ba, 0xdfdc, 0xdfd7,\n    0x003f, 0x003f, 0x003f, 0xdfdb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfda, 0xc5c0, 0xb0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcef5, 0x003f, 0x003f, 0xdfde, 0x003f, 0x003f, 0x003f, 0xb1a8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfe0, 0x003f, 0x003f, 0x003f, 0xdfdf, 0x003f, 0xdfdd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcba3, 0x003f, 0x003f, 0x003f, 0xdfe2, 0x003f, 0x003f,\n    /* 0x7100 .. 0x71ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1eb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfe4, 0xcab2, 0x003f, 0xdfe3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0xbec7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcefb, 0x003f, 0x003f, 0xdfea, 0x003f, 0xc0f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe6, 0xdfeb, 0x003f,\n    0x003f, 0xb1ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdfe9, 0x003f, 0xc7e1, 0xdfe5, 0xdfe8, 0xbec8,\n    0x003f, 0xc8d1, 0x003f, 0x003f, 0xdfec, 0x003f, 0xbcd1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0fa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdfef, 0x003f, 0x003f, 0x003f,\n    0xdfe7, 0x003f, 0xb7a7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdd0, 0xdff0, 0x003f, 0x003f,\n    0x003f, 0xf4a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdcf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdff1, 0x003f, 0x003f, 0x003f, 0xdff2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc7b3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc5f5, 0xdff7, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff9, 0x003f,\n    0xced5, 0x003f, 0xdff6, 0x003f, 0xdff8, 0xb1ed, 0x003f, 0xdff3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3db,\n    0xdffa, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1e7, 0xbbb8, 0xdffc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdffb, 0xbfa4, 0xd2d9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f, 0x003f,\n    0x003f, 0xe0a1, 0x003f, 0xdfee, 0xdffe, 0x003f, 0x003f, 0xe0a2,\n    /* 0x7200 .. 0x72ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7fa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f,\n    0xe0a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0a6, 0x003f, 0xc4de, 0x003f, 0xe0a8, 0xe0a7, 0x003f, 0x003f,\n    0xe0a9, 0x003f, 0xe0aa, 0x003f, 0x003f, 0xbcdf, 0xc9e3, 0x003f,\n    0x003f, 0x003f, 0xccec, 0xe0ab, 0xe0ac, 0xc1d6, 0xbca4, 0xe0ad,\n    0xe0ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0af, 0xcad2,\n    0xc8c7, 0x003f, 0x003f, 0xe0b0, 0xc7d7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc4ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0b1, 0xb2e7, 0x003f, 0xb5ed, 0x003f, 0xccc6, 0x003f, 0xccb6,\n    0x003f, 0xb2b4, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbd2,\n    0x003f, 0xcaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc0b7, 0x003f, 0xe0b2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6c3, 0x003f, 0x003f, 0x003f, 0xb8a3, 0xe0b3, 0x003f,\n    0xbad4, 0xe0b5, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0xe0b8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb5be, 0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb8a4, 0x003f, 0x003f, 0xc8c8,\n    0x003f, 0x003f, 0xe0bc, 0x003f, 0x003f, 0x003f, 0xbef5, 0x003f,\n    0x003f, 0xe0bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb6b8, 0xe0bd, 0xe0bf, 0x003f, 0xe0be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,\n    0xb8d1, 0x003f, 0xe0c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e9,\n    0x003f, 0xc1c0, 0x003f, 0xb9fd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0c3, 0xe0c4, 0xe0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbced, 0x003f, 0x003f, 0xc6c8, 0xb6b9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c6,\n    0xc3ac, 0xe0c5, 0x003f, 0x003f, 0xcfb5, 0xc7e2, 0x003f, 0x003f,\n    /* 0x7300 .. 0x73ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0xe0c8,\n    0x003f, 0x003f, 0x003f, 0xccd4, 0xe0ca, 0xe0cc, 0x003f, 0xcec4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f,\n    0x003f, 0xe0cf, 0xc3f6, 0xc7ad, 0x003f, 0x003f, 0xb8a5, 0xe0ce,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cd, 0x003f, 0xcdb1, 0xcdb2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0xb1ee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb9f6, 0xbbe2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d2, 0xe0d3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbdc3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0d7, 0x003f, 0xe0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0d8, 0x003f, 0xb3cd, 0x003f, 0x003f, 0xe0da, 0x003f, 0x003f,\n    0xe0d9, 0x003f, 0xe0dc, 0xe0db, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb8bc, 0x003f, 0x003f, 0xcea8,\n    0x003f, 0xb6cc, 0x003f, 0xb2a6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6ea, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb4e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcee8, 0xe0de, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0e1, 0x003f, 0xb2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0dd, 0x003f, 0xbbb9, 0x003f, 0x003f, 0xc4c1, 0xe0df, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e4, 0x003f,\n    0xbcee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7be, 0x003f, 0x003f, 0xc8c9, 0xe0e3, 0x003f,\n    0x003f, 0xe0fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8bd, 0x003f,\n    /* 0x7400 .. 0x74ff */\n    0x003f, 0x003f, 0x003f, 0xb5e5, 0x003f, 0xe0e6, 0xcdfd, 0x003f,\n    0x003f, 0xceb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc2f6, 0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0ea, 0xced6, 0xb6d7, 0xc8fc, 0xc7ca, 0x003f,\n    0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ed,\n    0x003f, 0xe0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,\n    0x003f, 0xe0ef, 0xb8ea, 0xb1cd, 0xe0f1, 0x003f, 0xbff0, 0xe0ee,\n    0xcedc, 0x003f, 0x003f, 0xe0f4, 0xf4a4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe0f2, 0xe0f5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e7,\n    0xe0f3, 0x003f, 0x003f, 0xbabc, 0x003f, 0x003f, 0xe0f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f9, 0x003f,\n    0x003f, 0x003f, 0xe0e5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbca5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1bb, 0x003f, 0x003f, 0x003f,\n    0xe1a1, 0x003f, 0xc9bb, 0xe1a2, 0x003f, 0x003f, 0xb4a4, 0xe1a3,\n    0x003f, 0xe1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a5, 0x003f,\n    0xe1a7, 0xe1a8, 0xe1a6, 0x003f, 0x003f, 0x003f, 0xc9d3, 0xe1aa,\n    0xe1a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7500 .. 0x75ff */\n    0x003f, 0x003f, 0x003f, 0xe1ac, 0xe1ab, 0xe1ad, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ae, 0xe1b0, 0xe1af, 0x003f,\n    0x003f, 0xb9f9, 0x003f, 0xe1b2, 0x003f, 0xe1b1, 0x003f, 0x003f,\n    0xb4c5, 0x003f, 0xbfd3, 0x003f, 0xc5bc, 0x003f, 0xe1b3, 0xc0b8,\n    0x003f, 0x003f, 0x003f, 0xbbba, 0x003f, 0xb1f9, 0xe1b4, 0x003f,\n    0xcdd1, 0x003f, 0x003f, 0xcae3, 0xe1b5, 0x003f, 0x003f, 0x003f,\n    0xc5c4, 0xcdb3, 0xb9c3, 0xbfbd, 0x003f, 0x003f, 0x003f, 0xc3cb,\n    0xd2b4, 0x003f, 0xc4ae, 0xb2e8, 0xe1b6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0xe1bc, 0x003f,\n    0x003f, 0xe1ba, 0xe1b9, 0xdac2, 0xb3a6, 0xe1b8, 0x003f, 0xb0da,\n    0x003f, 0xc8aa, 0x003f, 0x003f, 0xc8ca, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xceb1, 0xe1bd, 0xe1bb, 0xc3dc, 0xc0a6, 0x003f, 0x003f,\n    0xc8ab, 0x003f, 0xc9ad, 0x003f, 0xe1bf, 0xceac, 0xb7cd, 0xe1c0,\n    0x003f, 0xe1be, 0xc8d6, 0xe1c1, 0x003f, 0xe1c2, 0x003f, 0x003f,\n    0xb0db, 0x003f, 0x003f, 0xbef6, 0xe1c7, 0x003f, 0xe1c4, 0xc6ed,\n    0xe1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5a6,\n    0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0xe1c5, 0xe1c6,\n    0x003f, 0xe1c9, 0xe1c8, 0xc9a5, 0x003f, 0x003f, 0xc1c2, 0xc1c1,\n    0x003f, 0xb5bf, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1cc, 0x003f, 0x003f, 0xe1cd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1cf, 0x003f, 0xe1ce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb1d6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1d7, 0xc8e8, 0xe1d1, 0x003f, 0xe1d3, 0x003f, 0x003f,\n    0xe1d5, 0xbfbe, 0x003f, 0x003f, 0xe1d6, 0xe1d4, 0xbcc0, 0x003f,\n    0x003f, 0x003f, 0xe1d0, 0xe1d2, 0x003f, 0xc9c2, 0x003f, 0xbec9,\n    0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xe1d8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1da, 0x003f, 0xbca6, 0xbaaf, 0x003f, 0x003f,\n    0xc5f7, 0xe1db, 0x003f, 0xc4cb, 0x003f, 0x003f, 0xe1dd, 0x003f,\n    0x003f, 0x003f, 0xcea1, 0xe1dc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc1e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1e2, 0x003f, 0xe1e4, 0xe1e5, 0xc3d4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1e3, 0x003f, 0xe1e0, 0x003f, 0xe1de, 0xe1df,\n    /* 0x7600 .. 0x76ff */\n    0x003f, 0xe1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1e8, 0x003f, 0xe1e6, 0x003f, 0xe1e7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9,\n    0xe1eb, 0xe1ec, 0xe1ed, 0x003f, 0xe1ee, 0x003f, 0x003f, 0xe1ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1f0, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcec5, 0x003f, 0x003f, 0x003f, 0xe1f4, 0xe1f2,\n    0xe1f3, 0x003f, 0x003f, 0x003f, 0xb4e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccfe, 0x003f, 0x003f, 0x003f, 0xcaca, 0x003f,\n    0xe1f6, 0x003f, 0x003f, 0x003f, 0xe1f5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1f7, 0xe1f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fc,\n    0xe1f9, 0xe1fa, 0xe1fb, 0x003f, 0xe1fd, 0x003f, 0x003f, 0x003f,\n    0xe1fe, 0x003f, 0xe2a1, 0x003f, 0x003f, 0x003f, 0xe2a2, 0x003f,\n    0xe2a3, 0x003f, 0xc8af, 0xc5d0, 0xe2a4, 0xc7f2, 0xc9b4, 0x003f,\n    0xe2a5, 0x003f, 0x003f, 0xe2a6, 0xc5aa, 0x003f, 0xb3a7, 0xb9c4,\n    0xe2a7, 0x003f, 0x003f, 0xe2a8, 0x003f, 0x003f, 0xe2a9, 0x003f,\n    0xbba9, 0x003f, 0x003f, 0xe2ab, 0x003f, 0x003f, 0xe2aa, 0x003f,\n    0x003f, 0xe2ac, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8e9, 0x003f,\n    0xe2ae, 0x003f, 0x003f, 0x003f, 0xe2af, 0x003f, 0x003f, 0xf3e9,\n    0xe2b0, 0xe2b1, 0xe2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbae,\n    0x003f, 0x003f, 0xe2b3, 0xc7d6, 0x003f, 0x003f, 0xcbdf, 0x003f,\n    0xb1ce, 0x003f, 0xb1d7, 0x003f, 0x003f, 0xe2b4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0xe2b5, 0xc5f0,\n    0x003f, 0x003f, 0x003f, 0xc0b9, 0xddb9, 0x003f, 0xe2b7, 0xccc1,\n    0x003f, 0xe2b8, 0x003f, 0xb4c6, 0xc8d7, 0xe2b9, 0x003f, 0xe2ba,\n    0x003f, 0x003f, 0xe2bb, 0x003f, 0x003f, 0x003f, 0xccdc, 0x003f,\n    0x003f, 0x003f, 0xccd5, 0x003f, 0xc4be, 0x003f, 0x003f, 0x003f,\n    0xc1ea, 0x003f, 0x003f, 0xe2bd, 0x003f, 0x003f, 0xbde2, 0x003f,\n    /* 0x7700 .. 0x77ff */\n    0x003f, 0xbeca, 0x003f, 0x003f, 0xe2c0, 0x003f, 0x003f, 0xe2bf,\n    0xe2be, 0xc8fd, 0x003f, 0xb4c7, 0xb8a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2c6, 0x003f, 0x003f, 0xe2c3, 0xbfbf,\n    0xccb2, 0x003f, 0x003f, 0x003f, 0xe2c2, 0xe2c4, 0xe2c5, 0x003f,\n    0x003f, 0xe2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c7,\n    0xe2c8, 0x003f, 0xc4af, 0x003f, 0xb4e3, 0x003f, 0x003f, 0x003f,\n    0xc3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2ca, 0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbfe7, 0x003f, 0xc6c4, 0x003f, 0xe2ce, 0xcbd3, 0x003f,\n    0xe2cb, 0x003f, 0x003f, 0xe2cc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0, 0xe2cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2d3, 0x003f, 0x003f, 0xe2d2, 0x003f,\n    0x003f, 0xe2d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f,\n    0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbdd6, 0xcec6, 0x003f, 0x003f,\n    0xe2d7, 0x003f, 0x003f, 0xc6b7, 0x003f, 0x003f, 0xe2d8, 0x003f,\n    0x003f, 0xe2d9, 0x003f, 0xe2dd, 0xe2db, 0xe2dc, 0x003f, 0xe2da,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2de,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e0,\n    0x003f, 0x003f, 0xe2e1, 0xccb7, 0xe2e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccf0, 0xe2e3, 0x003f, 0xc3ce, 0x003f, 0xc7ea,\n    0x003f, 0xb6eb, 0x003f, 0x003f, 0x003f, 0xc3bb, 0xe2e4, 0xb6ba,\n    0x003f, 0x003f, 0x003f, 0xc0d0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e5, 0x003f, 0x003f, 0x003f,\n    /* 0x7800 .. 0x78ff */\n    0x003f, 0x003f, 0xbabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2e7, 0x003f, 0xb8a6, 0xbad5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d6, 0xbad6, 0xb5ce,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcba4, 0x003f, 0xc7cb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc5d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9dc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbecb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xceb2, 0xb9c5, 0x003f, 0x003f, 0xb8a7,\n    0x003f, 0x003f, 0xc8a3, 0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ef, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2ee, 0xc4f6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0xb3b7, 0xe2ec, 0x003f,\n    0x003f, 0xc8ea, 0x003f, 0xb1b0, 0x003f, 0xbaec, 0x003f, 0xcfd2,\n    0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0xcacb,\n    0x003f, 0xc0d9, 0xe2f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb3ce, 0x003f, 0xe2fb, 0x003f, 0xe2fa, 0x003f,\n    0x003f, 0xbca7, 0x003f, 0x003f, 0x003f, 0xe2fc, 0xe2f7, 0x003f,\n    0x003f, 0x003f, 0xe2fd, 0xe2f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc8d8, 0xe2f6, 0x003f, 0x003f, 0xe2f9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a1,\n    0xcbe1, 0x003f, 0x003f, 0x003f, 0xe2fe, 0x003f, 0x003f, 0xb0eb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a3, 0x003f, 0x003f,\n    /* 0x7900 .. 0x79ff */\n    0x003f, 0xbecc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c3, 0x003f,\n    0x003f, 0xe3a7, 0xe3a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2e8, 0x003f,\n    0x003f, 0x003f, 0xe2ea, 0xe3aa, 0xe3a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbca8, 0x003f, 0xcee9, 0x003f, 0xbcd2, 0x003f,\n    0xe3ab, 0xb7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5c0,\n    0xb5a7, 0xbbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcdb4, 0x003f, 0x003f, 0xe3b1, 0x003f, 0xe3b0, 0xc1c4, 0xe3ad,\n    0x003f, 0x003f, 0xe3af, 0x003f, 0x003f, 0xbdcb, 0xbfc0, 0xe3ae,\n    0xe3ac, 0x003f, 0xc7aa, 0x003f, 0x003f, 0xbecd, 0x003f, 0x003f,\n    0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xbad7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5f8,\n    0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b3,\n    0xe3c9, 0xb6d8, 0x003f, 0x003f, 0xcfbd, 0xc1b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0xb2d2, 0xc4f7, 0xcaa1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5fa, 0xe3b6,\n    0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f, 0xe3b9, 0x003f,\n    0xc7a9, 0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3bb, 0xe3bc, 0x003f, 0x003f, 0xb6d9, 0xb2d3, 0xc6c5,\n    0xbda8, 0xbbe4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3bd, 0x003f, 0xbda9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb2ca, 0xc9c3, 0x003f, 0x003f, 0xe3be, 0x003f, 0x003f,\n    0xc8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1c5,\n    0x003f, 0xe3c1, 0x003f, 0xe3c2, 0xc7e9, 0x003f, 0xbfc1, 0xe3bf,\n    0x003f, 0xc3e1, 0x003f, 0x003f, 0xe3c0, 0x003f, 0x003f, 0x003f,\n    0xbece, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb0dc, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7a00 .. 0x7aff */\n    0xb5a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3c3, 0x003f, 0x003f, 0xc4f8, 0x003f, 0xe3c4, 0xc0c7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xccad, 0x003f, 0x003f, 0xc9a3,\n    0xe3c5, 0xe3c6, 0xc3d5, 0x003f, 0xcec7, 0x003f, 0x003f, 0xe3c8,\n    0xe3c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcef, 0x003f,\n    0x003f, 0xe3ca, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cd,\n    0x003f, 0x003f, 0x003f, 0xe3cb, 0xb2d4, 0xb7ce, 0xe3cc, 0xb9c6,\n    0xb9f2, 0x003f, 0xcae6, 0xe3ce, 0x003f, 0x003f, 0xcbd4, 0x003f,\n    0x003f, 0xe3d0, 0x003f, 0x003f, 0x003f, 0xc0d1, 0xb1cf, 0xb2ba,\n    0xb0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3d1, 0xe3d2, 0xbef7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3d3, 0x003f, 0xb3cf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3d5, 0x003f, 0x003f, 0x003f, 0xb7ea, 0x003f, 0xb5e6, 0x003f,\n    0x003f, 0xe3d6, 0xb6f5, 0x003f, 0x003f, 0xe3d7, 0x003f, 0xc0fc,\n    0x003f, 0xc6cd, 0x003f, 0xc0e0, 0xbaf5, 0x003f, 0x003f, 0x003f,\n    0xe3d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc3e2, 0xc1eb, 0x003f, 0xe3da, 0xe3dc, 0xe3d9,\n    0xe3db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7a2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3dd, 0xb7a6, 0x003f, 0x003f, 0x003f, 0xb5e7, 0xcdd2,\n    0xe3df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e0, 0x003f,\n    0x003f, 0x003f, 0xb1ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3e3,\n    0x003f, 0x003f, 0x003f, 0xb3f6, 0xe3e2, 0xe3e1, 0x003f, 0xe3e5,\n    0xe3de, 0x003f, 0xe3e6, 0xcea9, 0x003f, 0xe3e7, 0x003f, 0xe3e8,\n    0x003f, 0x003f, 0xd4f4, 0xe3ea, 0x003f, 0xe3e9, 0x003f, 0x003f,\n    0x003f, 0xe3eb, 0xe3ec, 0x003f, 0xceb5, 0xe3ed, 0x003f, 0xf0ef,\n    0xbecf, 0xe3ee, 0xe3ef, 0xbdd7, 0x003f, 0xc6b8, 0xe3f0, 0x003f,\n    0x003f, 0x003f, 0xc3a8, 0x003f, 0x003f, 0xe3f1, 0x003f, 0xc3bc,\n    0xe3f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6a5, 0x003f,\n    0xd1bf, 0xc3dd, 0xbcb3, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4c8,\n    /* 0x7b00 .. 0x7bff */\n    0x003f, 0x003f, 0xe3f3, 0x003f, 0xe4a2, 0x003f, 0xe3f6, 0x003f,\n    0xb5e8, 0x003f, 0xe3f5, 0xe4a4, 0x003f, 0x003f, 0x003f, 0xe3f4,\n    0x003f, 0xbed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3f8, 0xe3f9, 0x003f, 0xc5ab, 0x003f, 0x003f, 0xe3fa, 0x003f,\n    0xb3de, 0x003f, 0x003f, 0x003f, 0x003f, 0xbfda, 0xc9e4, 0x003f,\n    0xe3fc, 0x003f, 0x003f, 0x003f, 0xc2e8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3f7, 0x003f, 0xe3fb, 0xe3fd, 0x003f,\n    0x003f, 0xbafb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xc9ae, 0x003f,\n    0xc8a6, 0xc5f9, 0x003f, 0xb6da, 0xe4a5, 0xe4a3, 0x003f, 0xc8b5,\n    0xe3fe, 0xc3de, 0xc5fb, 0x003f, 0xc5fa, 0x003f, 0xbaf6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a8, 0x003f, 0xe4aa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4ad, 0x003f, 0xe4ae, 0x003f,\n    0xe4ab, 0xe4ac, 0x003f, 0x003f, 0xe4a9, 0xe4a7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe4a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacf, 0xb2d5,\n    0x003f, 0x003f, 0x003f, 0xe4b5, 0x003f, 0xe4b2, 0x003f, 0xe4b7,\n    0x003f, 0x003f, 0xe4b6, 0x003f, 0xc7f3, 0xcca7, 0x003f, 0xbbbb,\n    0xe4b0, 0xe4b9, 0xe4b4, 0x003f, 0xe4b3, 0xe4af, 0x003f, 0xe4b1,\n    0x003f, 0xb4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc3bd, 0x003f, 0x003f, 0xc0fd, 0x003f, 0x003f,\n    0x003f, 0xc8a2, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f,\n    0xc8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc0e1, 0xe4bb, 0x003f, 0x003f, 0xc8cf, 0x003f, 0xe4bf, 0xcad3,\n    0x003f, 0xc3db, 0x003f, 0xe4ba, 0xe4bc, 0x003f, 0x003f, 0xe4bd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c0, 0x003f, 0x003f,\n    0xbcc4, 0x003f, 0x003f, 0x003f, 0xc6c6, 0xe4c5, 0xe4c4, 0x003f,\n    0x003f, 0xe4c1, 0x003f, 0x003f, 0x003f, 0xcfb6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4ca, 0x003f, 0x003f, 0xe4ce, 0xe4cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7c00 .. 0x7cff */\n    0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,\n    0x003f, 0xe4c2, 0xd2d5, 0xe4c9, 0xe4c3, 0x003f, 0x003f, 0xe4cc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d2,\n    0x003f, 0xb4ca, 0x003f, 0xe4cf, 0x003f, 0x003f, 0x003f, 0xe4d0,\n    0x003f, 0x003f, 0xe4d1, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d3,\n    0xc8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5, 0xcefc, 0xcaed,\n    0xe4da, 0x003f, 0x003f, 0xe4d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d6, 0xc0d2, 0x003f, 0xe4d9,\n    0xe4db, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0xe4df, 0x003f,\n    0xe4dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd,\n    0xe4c6, 0x003f, 0x003f, 0x003f, 0xe4de, 0xe4e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcac6, 0x003f, 0xe4e2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce2, 0x003f,\n    0x003f, 0xb6ce, 0xb7a9, 0xe4e3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcab4, 0x003f, 0xbfe8, 0x003f, 0xccb0, 0x003f, 0x003f,\n    0xe4e4, 0x003f, 0xceb3, 0x003f, 0x003f, 0xc7f4, 0x003f, 0xc1c6,\n    0xc7b4, 0x003f, 0x003f, 0xbdcd, 0x003f, 0x003f, 0x003f, 0xb0c0,\n    0x003f, 0xe4e9, 0xe4e7, 0x003f, 0xe4e5, 0xb4a1, 0x003f, 0xbed1,\n    0xe4ea, 0x003f, 0x003f, 0xe4e8, 0x003f, 0xe4e6, 0xe4ee, 0x003f,\n    0x003f, 0xe4ed, 0xe4ec, 0xe4eb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe4f0, 0xc0ba, 0x003f,\n    0xe4f1, 0x003f, 0xe4f3, 0x003f, 0x003f, 0xe4f2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb8d2, 0x003f, 0x003f, 0x003f, 0xc1b8, 0x003f,\n    0x003f, 0x003f, 0xe4f5, 0x003f, 0x003f, 0x003f, 0xc5fc, 0x003f,\n    0xe4f4, 0x003f, 0x003f, 0x003f, 0xe4f6, 0x003f, 0xcab5, 0xc1ec,\n    0xb9c7, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcec8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f9,\n    0x003f, 0x003f, 0xe4fa, 0x003f, 0xe4fb, 0x003f, 0xe4fc, 0x003f,\n    0xbbe5, 0x003f, 0xe4fd, 0xb7cf, 0x003f, 0x003f, 0xb5ea, 0x003f,\n    /* 0x7d00 .. 0x7dff */\n    0xb5aa, 0x003f, 0xe5a1, 0x003f, 0xccf3, 0xb9c8, 0xe4fe, 0x003f,\n    0x003f, 0x003f, 0xe5a4, 0xcce6, 0x003f, 0xc7bc, 0x003f, 0x003f,\n    0xc9b3, 0x003f, 0x003f, 0x003f, 0xbde3, 0xe5a3, 0x003f, 0xbcd3,\n    0xb9c9, 0xbbe6, 0xb5e9, 0xcab6, 0xe5a2, 0x003f, 0x003f, 0x003f,\n    0xc1c7, 0xcbc2, 0xbaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbbe7, 0xc4dd, 0x003f, 0xe5a7, 0xcedf,\n    0xbad9, 0x003f, 0xe5a8, 0xbfc2, 0x003f, 0xe5aa, 0x003f, 0x003f,\n    0x003f, 0xbed2, 0xbab0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a9,\n    0x003f, 0x003f, 0xbdaa, 0xb8be, 0xc1c8, 0xe5a5, 0xe5ab, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5a6, 0xb7d0, 0x003f, 0xe5ae, 0xe5b2,\n    0xb7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5b6, 0x003f, 0x003f, 0xb9ca, 0x003f,\n    0x003f, 0xcded, 0xb0bc, 0xe5b3, 0x003f, 0x003f, 0xb5eb, 0x003f,\n    0xe5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b1, 0x003f,\n    0x003f, 0xc5fd, 0xe5af, 0xe5ac, 0x003f, 0xb3a8, 0xc0e4, 0x003f,\n    0x003f, 0xb8a8, 0x003f, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b7,\n    0x003f, 0x003f, 0x003f, 0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb7d1, 0xc2b3, 0xe5b9, 0xc1ee, 0x003f, 0x003f, 0xe5c6,\n    0x003f, 0x003f, 0xe5c2, 0xe5bc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5c0, 0xbcfa, 0xb0dd, 0xe5bb, 0xe5c3,\n    0xe5c7, 0xb9cb, 0xccd6, 0x003f, 0xc4d6, 0xe5bd, 0x003f, 0x003f,\n    0xe5c5, 0x003f, 0xe5ba, 0xc3be, 0x003f, 0xe5bf, 0xb0bd, 0xccca,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5be,\n    0x003f, 0x003f, 0xb6db, 0xc8ec, 0x003f, 0x003f, 0x003f, 0xc1ed,\n    0x003f, 0xced0, 0xbdef, 0x003f, 0x003f, 0xe5ee, 0x003f, 0x003f,\n    0xe5c8, 0x003f, 0xc0fe, 0x003f, 0xe5c4, 0xe5c9, 0xe5cb, 0x003f,\n    0xc4f9, 0xe5ce, 0x003f, 0x003f, 0xe5ca, 0x003f, 0x003f, 0x003f,\n    0xcad4, 0xb4cb, 0x003f, 0x003f, 0xcccb, 0x003f, 0x003f, 0xb0de,\n    0x003f, 0x003f, 0xe5cd, 0x003f, 0xcefd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7e00 .. 0x7eff */\n    0x003f, 0xb1ef, 0x003f, 0x003f, 0xc6ec, 0xe5cf, 0x003f, 0x003f,\n    0x003f, 0xe5d6, 0xe5d0, 0xe5d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc7fb, 0x003f, 0x003f, 0xbcca, 0xe5d5,\n    0x003f, 0xe5d2, 0xe5d8, 0xe5d1, 0x003f, 0x003f, 0xbdc4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcba5, 0x003f, 0x003f, 0xbdcc, 0x003f,\n    0x003f, 0xe5d4, 0xe5e0, 0x003f, 0x003f, 0xe5dc, 0x003f, 0xe5df,\n    0x003f, 0xe5dd, 0xe5e1, 0xe5db, 0x003f, 0xe5c1, 0xc0d3, 0x003f,\n    0x003f, 0xc8cb, 0x003f, 0xe5de, 0x003f, 0x003f, 0xe5d9, 0x003f,\n    0x003f, 0x003f, 0xc1a1, 0xb7d2, 0x003f, 0xbdab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbfa5, 0xc1b6, 0xe5e4, 0x003f,\n    0x003f, 0xe5e6, 0xe5e7, 0x003f, 0x003f, 0xe5e3, 0xe5e5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5da, 0xe5e2,\n    0x003f, 0xe5ea, 0xe5e9, 0x003f, 0x003f, 0xcbfa, 0x003f, 0x003f,\n    0xb7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5e8, 0x003f, 0xe5ec, 0xe5eb, 0xe5ef, 0x003f, 0xe5f1,\n    0x003f, 0x003f, 0xbbbc, 0xe5ed, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5f2, 0xe5f3, 0x003f, 0x003f, 0xe5f4, 0x003f, 0xe5fa, 0xc5bb,\n    0xe5f6, 0x003f, 0xe5f5, 0xe5f7, 0xe5f8, 0x003f, 0xe5f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5fb, 0xe5fc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7f00 .. 0x7fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4cc, 0x003f,\n    0xe5fd, 0x003f, 0xe5fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2, 0xe6a3, 0xe6a4, 0x003f,\n    0xe6a5, 0xe6a6, 0x003f, 0x003f, 0xe6a8, 0xe6a7, 0x003f, 0x003f,\n    0xe6a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6aa,\n    0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,\n    0xe6ac, 0xe6ad, 0xbae1, 0xb7d3, 0x003f, 0x003f, 0xc3d6, 0x003f,\n    0xc8b3, 0x003f, 0xbdf0, 0x003f, 0x003f, 0xc7cd, 0x003f, 0xc8ed,\n    0xe6af, 0xd8ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6b0, 0xe6b2, 0x003f, 0xcde5, 0xe6b1, 0xe6b4,\n    0xe6b3, 0x003f, 0xcdd3, 0x003f, 0xe6b5, 0x003f, 0xc8fe, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6b6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0xe6b8, 0xe6b7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6ba, 0xb7b2, 0x003f, 0x003f, 0x003f,\n    0xc1a2, 0xb5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0xe6bb,\n    0x003f, 0x003f, 0xe6bc, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f,\n    0xe6c0, 0xe6bd, 0x003f, 0x003f, 0x003f, 0xb1a9, 0x003f, 0x003f,\n    0x003f, 0xb2a7, 0x003f, 0x003f, 0x003f, 0xe6c2, 0xe6c3, 0x003f,\n    0x003f, 0x003f, 0xe6c4, 0x003f, 0xcde2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbdac, 0x003f, 0xe6c6, 0xe6c5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbfe9, 0xe6c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6c8, 0x003f,\n    0x003f, 0xe6c9, 0x003f, 0xb4e5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb4cd, 0x003f, 0x003f, 0xe6ca, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6cb, 0x003f, 0xcbdd, 0xcde3, 0x003f, 0x003f, 0x003f,\n    /* 0x8000 .. 0x80ff */\n    0xcdd4, 0xcfb7, 0x003f, 0xb9cd, 0xe6ce, 0xbcd4, 0xe6cd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6cf, 0xbca9, 0x003f, 0x003f, 0x003f,\n    0xc2d1, 0x003f, 0xe6d0, 0x003f, 0x003f, 0xb9cc, 0x003f, 0xccd7,\n    0xe6d1, 0xe6d2, 0x003f, 0x003f, 0xe6d3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbcaa, 0x003f, 0x003f, 0xcced, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6d7, 0x003f, 0xc3bf, 0x003f, 0xe6d6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0x003f,\n    0x003f, 0x003f, 0xe6d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6da, 0x003f, 0x003f, 0x003f, 0xc0bb, 0x003f,\n    0xe6db, 0x003f, 0xe6dc, 0x003f, 0x003f, 0x003f, 0xcab9, 0xe6dd,\n    0x003f, 0xc1ef, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcefe,\n    0xe6e2, 0x003f, 0xe6e1, 0xe6e0, 0xc4b0, 0x003f, 0xe6e3, 0xbfa6,\n    0x003f, 0xe6e4, 0x003f, 0x003f, 0x003f, 0xe6e5, 0xcfb8, 0xe6e6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7, 0xe6e9, 0xe6e8, 0xc8a5,\n    0x003f, 0xc6f9, 0x003f, 0xcfbe, 0xc8a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6eb, 0x003f, 0x003f, 0xbed3, 0x003f,\n    0xc9aa, 0x003f, 0xe6ec, 0xe6ea, 0x003f, 0xb4ce, 0x003f, 0x003f,\n    0x003f, 0xb8d4, 0xbbe8, 0x003f, 0x003f, 0xc8ee, 0x003f, 0x003f,\n    0x003f, 0xb8aa, 0xcbc3, 0x003f, 0xe6ef, 0xe6ed, 0x003f, 0xb9ce,\n    0x003f, 0xb9cf, 0xb0e9, 0x003f, 0xbae8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb0df, 0xe6f4, 0x003f, 0xc3c0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc7d8, 0x003f, 0xc2db, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f6, 0x003f,\n    0x003f, 0xe6f2, 0xe6f5, 0xe6f0, 0x003f, 0xe6f3, 0xcba6, 0x003f,\n    0x003f, 0xb8d5, 0x003f, 0x003f, 0xb0fd, 0xe6f1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f8,\n    0x003f, 0xe6f9, 0x003f, 0x003f, 0xc6b9, 0x003f, 0x003f, 0x003f,\n    0xb6bb, 0x003f, 0x003f, 0x003f, 0xe7a6, 0xc7bd, 0x003f, 0x003f,\n    /* 0x8100 .. 0x81ff */\n    0x003f, 0x003f, 0xbbe9, 0x003f, 0x003f, 0xb6bc, 0xc0c8, 0xcfc6,\n    0xccae, 0xe6f7, 0xc0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb5d3, 0xe6fa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6fc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6fd,\n    0x003f, 0xc3a6, 0x003f, 0xc7be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6fe, 0x003f, 0x003f, 0xbfd5, 0x003f,\n    0xc9e5, 0xe7a5, 0x003f, 0xe7a4, 0xb9d0, 0xcfd3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a9, 0xe7aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbcf0, 0x003f, 0x003f, 0xe7a8, 0x003f,\n    0xb9f8, 0xe7a7, 0x003f, 0x003f, 0xe7ab, 0x003f, 0x003f, 0x003f,\n    0xc4b2, 0xcaa2, 0xc1a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2dc,\n    0xe7af, 0x003f, 0xe7b0, 0xe7ac, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7ad, 0x003f, 0xe7ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9d1,\n    0x003f, 0x003f, 0x003f, 0xe7b6, 0x003f, 0xe7b2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc9e6, 0x003f, 0xcbec, 0xc9a8, 0x003f, 0x003f,\n    0xe7b1, 0x003f, 0x003f, 0xe7b4, 0xe7b3, 0x003f, 0x003f, 0x003f,\n    0xcbc4, 0xe7b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7b8, 0x003f, 0x003f, 0xc1b7, 0x003f, 0xe7b9, 0x003f, 0x003f,\n    0xe7bb, 0x003f, 0xe7bf, 0x003f, 0x003f, 0xe7bc, 0xe7ba, 0xc7bf,\n    0xe7bd, 0x003f, 0xe7be, 0x003f, 0x003f, 0x003f, 0xb2b2, 0x003f,\n    0xe7c5, 0xe7c0, 0x003f, 0x003f, 0x003f, 0xe7c1, 0x003f, 0x003f,\n    0x003f, 0xe7c2, 0x003f, 0xc2a1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7c4, 0xe7c3, 0xe7c6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7c7,\n    0xe7c8, 0x003f, 0x003f, 0xbfc3, 0x003f, 0xb2e9, 0x003f, 0xe7c9,\n    0xced7, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbdad, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbbea, 0xc3d7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7ca, 0xe7cb, 0xb1b1, 0x003f, 0xe7cc, 0x003f,\n    /* 0x8200 .. 0x82ff */\n    0x003f, 0xe7cd, 0xe7ce, 0x003f, 0x003f, 0xe7cf, 0x003f, 0xe7d0,\n    0xb6bd, 0xdaaa, 0xe7d1, 0x003f, 0xc0e5, 0xe7d2, 0xbccb, 0x003f,\n    0xe7d3, 0x003f, 0xd0b0, 0x003f, 0x003f, 0x003f, 0xe7d4, 0xcade,\n    0xb4dc, 0x003f, 0x003f, 0xc1a4, 0xbdd8, 0x003f, 0xc9f1, 0xbdae,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7d5, 0xb9d2, 0xe7d6, 0xc8cc, 0x003f, 0xe7e4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7d8, 0x003f, 0xc2c9, 0xc7f5, 0xb8bf,\n    0xe7d7, 0xc1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4fa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7db, 0xe7da, 0xe7dd, 0x003f, 0x003f, 0xe7dc, 0x003f, 0xe7de,\n    0x003f, 0x003f, 0xe7e0, 0x003f, 0xe7df, 0x003f, 0xb4cf, 0x003f,\n    0xe7e1, 0x003f, 0xe7e2, 0xe7e3, 0x003f, 0x003f, 0xbab1, 0xcec9,\n    0x003f, 0xe7e5, 0xbfa7, 0x003f, 0x003f, 0x003f, 0xb1f0, 0xe7e6,\n    0xe7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb0f2, 0x003f, 0xe7e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc9e7, 0x003f, 0x003f, 0x003f, 0xbcc7, 0x003f, 0xe7ec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3a9, 0xb0b2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7eb, 0xe7ee, 0xc7ce, 0x003f, 0xbfc4,\n    0x003f, 0xb2d6, 0x003f, 0xcba7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7dd, 0xb6dc, 0x003f, 0xe7ed, 0x003f, 0xb2ea, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb4a3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb1f1, 0xe7f2, 0xceea, 0xc2dd, 0x003f, 0x003f, 0xc9c4,\n    0x003f, 0xe7fe, 0x003f, 0xb2d7, 0xe7fc, 0x003f, 0xe7fa, 0xe7f1,\n    0x003f, 0xe7ef, 0x003f, 0xe7f0, 0x003f, 0xbce3, 0xb6ec, 0xc3f7,\n    0x003f, 0x003f, 0x003f, 0xc6d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb1d1, 0x003f, 0xe7f4, 0xe7f3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7f9, 0xe7f5, 0xe7f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8300 .. 0x83ff */\n    0x003f, 0x003f, 0xccd0, 0xe7f7, 0xb2d8, 0xb3fd, 0xe7fb, 0x003f,\n    0x003f, 0xe7fd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a3, 0xe8ac,\n    0xe8ad, 0x003f, 0x003f, 0x003f, 0xb0ab, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb0f1, 0x003f, 0x003f, 0xe8ab, 0x003f, 0x003f, 0x003f, 0xe8aa,\n    0x003f, 0xe8a5, 0xe8a4, 0x003f, 0xe8a2, 0xe8a1, 0xc3e3, 0x003f,\n    0xc2fb, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a9, 0x003f, 0x003f,\n    0x003f, 0xc1f0, 0xb7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1c1,\n    0xe8a8, 0x003f, 0xb9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x003f, 0xb2d9,\n    0x003f, 0x003f, 0x003f, 0xb2ae, 0xe8b8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ae, 0x003f, 0xe8b6,\n    0x003f, 0xe8bd, 0xe8b7, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7f6, 0x003f, 0x003f, 0xe8b3, 0x003f,\n    0x003f, 0x003f, 0xe8af, 0x003f, 0x003f, 0x003f, 0xb4d0, 0xe8b1,\n    0xe8bc, 0x003f, 0xe8b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8be, 0x003f, 0xe8b0, 0xc7fc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcde9, 0x003f, 0x003f, 0x003f, 0xe8b9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf, 0x003f, 0x003f,\n    0x003f, 0xe8c7, 0x003f, 0x003f, 0x003f, 0xbffb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb5c6, 0x003f, 0xb6dd, 0x003f, 0xe8c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb2db, 0x003f, 0x003f, 0xbed4, 0x003f,\n    0xe8c5, 0x003f, 0x003f, 0x003f, 0xbada, 0x003f, 0x003f, 0xc5d1,\n    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcaee, 0x003f, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xb2da,\n    0xb8d6, 0xc9a9, 0xe8cb, 0x003f, 0xe8bf, 0x003f, 0x003f, 0xe8c8,\n    0x003f, 0x003f, 0x003f, 0xe8d2, 0x003f, 0xe8c3, 0x003f, 0x003f,\n    /* 0x8400 .. 0x84ff */\n    0x003f, 0x003f, 0x003f, 0xe8c4, 0xc6ba, 0x003f, 0x003f, 0xe8c9,\n    0x003f, 0x003f, 0x003f, 0xe8c6, 0xcba8, 0xe8cc, 0xb0e0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8c0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8ce, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7eb, 0xe8d4, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3fe, 0x003f, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f,\n    0xe8d0, 0x003f, 0x003f, 0x003f, 0xe8d5, 0xcdee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8de, 0x003f,\n    0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f, 0xceaa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3f8,\n    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc9f2, 0xe8e4, 0xc6a1, 0x003f, 0x003f, 0xb0b1, 0x003f,\n    0x003f, 0xe8dd, 0x003f, 0xe8d9, 0xc1f2, 0xe8d3, 0xe8db, 0xe8e0,\n    0x003f, 0xc7ac, 0x003f, 0x003f, 0x003f, 0xb0aa, 0x003f, 0xe8d8,\n    0x003f, 0xe8e1, 0xc9f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe8dc, 0x003f, 0xe8d7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbed5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbdaf, 0x003f, 0x003f, 0x003f, 0xbcac, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccd8, 0x003f, 0x003f, 0xc9c7, 0x003f, 0x003f, 0xe8e7,\n    0x003f, 0xe8f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbef8, 0xe8e5, 0x003f, 0xe8ea, 0xc1f3, 0x003f, 0x003f, 0xe8e6,\n    0x003f, 0xe8ed, 0x003f, 0x003f, 0xc3df, 0x003f, 0xe8ee, 0x003f,\n    0x003f, 0xcdd6, 0xe8e3, 0xb3b8, 0x003f, 0xe8e9, 0x003f, 0x003f,\n    0xe8ec, 0xccac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ef, 0x003f,\n    0x003f, 0xe8e8, 0xe8eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcba9, 0x003f, 0xcfa1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xe8f2,\n    /* 0x8500 .. 0x85ff */\n    0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcace, 0x003f, 0xcca2, 0xe8f9, 0xe8f8, 0x003f, 0xe8f4,\n    0xe8f5, 0x003f, 0xb1b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7,\n    0x003f, 0xe8f1, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8f6, 0xb0fe, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2a2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac3, 0x003f, 0x003f,\n    0xe8fb, 0xe9a1, 0x003f, 0xc8d9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8fe, 0xbed6, 0xbcc9, 0xe9a3, 0x003f, 0x003f, 0xb6be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f, 0xc9f9,\n    0xe8fd, 0x003f, 0xe8d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8fc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfcf, 0xc6a2, 0xc9f3, 0x003f, 0x003f, 0xe9ab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b2, 0x003f,\n    0xe9a5, 0x003f, 0x003f, 0x003f, 0xc7f6, 0x003f, 0x003f, 0xe9af,\n    0xe9a7, 0x003f, 0xe9a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9b3, 0xe9a8, 0x003f, 0x003f, 0xe9ac, 0x003f, 0x003f, 0xb1f2,\n    0x003f, 0xc6e5, 0x003f, 0xe9ad, 0xe9b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9a6, 0x003f, 0xc1a6, 0x003f,\n    0xe9aa, 0xbba7, 0xbfc5, 0xb7b0, 0xccf4, 0x003f, 0xccf9, 0xbdf2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9b7, 0xe9b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9b4, 0x003f, 0x003f, 0x003f, 0xcdf5, 0x003f, 0xe9b6,\n    0xe9b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9bc, 0xe9ba, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc6a3, 0xe9bb, 0x003f, 0x003f,\n    0x003f, 0xc8cd, 0xe9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdf3,\n    0x003f, 0xe9bd, 0xe9c2, 0xc1f4, 0x003f, 0x003f, 0xe9c1, 0x003f,\n    /* 0x8600 .. 0x86ff */\n    0x003f, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0xe9c3, 0xc1c9,\n    0x003f, 0x003f, 0xe9be, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9bf, 0x003f, 0x003f, 0xddb1, 0xdda2,\n    0x003f, 0x003f, 0xe9c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdf6, 0x003f, 0xe2bc,\n    0xe9c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c8, 0xb8d7, 0x003f,\n    0xb5d4, 0x003f, 0x003f, 0x003f, 0xe9ca, 0xd1dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb5f5, 0x003f, 0xceba, 0x003f, 0xb6f3, 0xe9cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cc,\n    0x003f, 0x003f, 0x003f, 0xc3ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6fa, 0x003f, 0xb0ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb2e3, 0xe9d2, 0xe9d3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9ce, 0x003f, 0xbbbd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9cf, 0xc7c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9d0, 0xe9d1, 0xe9db, 0x003f, 0x003f, 0x003f, 0xe9d5,\n    0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9d4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0xe9d7, 0xbcd8,\n    0x003f, 0xe9d9, 0x003f, 0xc3c1, 0x003f, 0xb7d6, 0xb3c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9dc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3bf, 0x003f, 0xe9e1, 0x003f, 0x003f, 0xe9dd, 0xe9e0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc8ba, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9de, 0x003f, 0x003f, 0xe9df, 0xc9c8, 0xc8da, 0xe9e2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc2fd, 0xe9ec, 0x003f, 0xe9e8, 0x003f, 0x003f, 0xb2eb, 0x003f,\n    /* 0x8700 .. 0x87ff */\n    0xe9e6, 0x003f, 0xcbaa, 0xe9e7, 0x003f, 0x003f, 0xe9e4, 0x003f,\n    0xe9e5, 0xe9ea, 0xe9ed, 0x003f, 0x003f, 0xe9eb, 0x003f, 0x003f,\n    0x003f, 0xe9e9, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc3d8, 0x003f, 0xe9f4, 0x003f, 0xccaa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f2, 0x003f, 0x003f,\n    0x003f, 0xe9f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9f0,\n    0x003f, 0x003f, 0x003f, 0xe9f1, 0x003f, 0x003f, 0x003f, 0xe9ef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc0e6, 0x003f, 0xcfb9, 0xe9f8, 0x003f, 0xe9f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeaa1, 0x003f, 0xbfaa, 0x003f, 0xe9fb,\n    0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f6,\n    0xe9f5, 0x003f, 0x003f, 0xeaa2, 0x003f, 0x003f, 0xb2dc, 0x003f,\n    0xe9fc, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xe9fd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9fa, 0x003f, 0xc4b3, 0x003f,\n    0xe9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc7e8,\n    0x003f, 0x003f, 0xeaa7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa6,\n    0x003f, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeaae, 0x003f, 0x003f, 0x003f, 0xeaa8,\n    0x003f, 0x003f, 0x003f, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcde6, 0xeab3, 0x003f, 0xeaaa, 0x003f, 0x003f,\n    0xeaab, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xeab2, 0xeab1,\n    0x003f, 0x003f, 0x003f, 0xeaa9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeaac, 0x003f, 0xeabd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeab6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab4,\n    0x003f, 0x003f, 0xeab5, 0x003f, 0x003f, 0x003f, 0xeaba, 0xeabb,\n    0x003f, 0xb3aa, 0x003f, 0xb5c2, 0x003f, 0x003f, 0xeab9, 0x003f,\n    /* 0x8800 .. 0x88ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeab8, 0xeabc, 0xeab7,\n    0x003f, 0xeabe, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeac2, 0xeac1, 0xe9da, 0x003f, 0x003f, 0x003f, 0xeac6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeac3, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac4, 0x003f,\n    0x003f, 0xeac5, 0x003f, 0xeac7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7ec, 0x003f, 0xeac9, 0x003f, 0xeac8, 0x003f, 0xbdb0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb9d4, 0xdea7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeaca, 0xbdd1, 0x003f, 0x003f, 0x003f, 0xb3b9,\n    0x003f, 0xeacb, 0x003f, 0xb1d2, 0x003f, 0xbed7, 0xeacc, 0x003f,\n    0x003f, 0xb9d5, 0xeacd, 0xb0e1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc9bd, 0x003f, 0x003f, 0xeace, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbfea, 0x003f, 0xead5, 0x003f, 0x003f, 0xead2, 0x003f, 0xc3ef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xead3, 0xead0, 0xb6de,\n    0x003f, 0xeacf, 0xead6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7b6, 0x003f, 0x003f, 0xc2de, 0x003f, 0xeadc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xead8, 0x003f, 0x003f, 0x003f, 0xc2b5, 0xead7,\n    0x003f, 0xeada, 0x003f, 0x003f, 0x003f, 0x003f, 0xead1, 0x003f,\n    0x003f, 0x003f, 0xeadb, 0x003f, 0xeadd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc8ef, 0x003f, 0x003f, 0xead9, 0x003f,\n    0xeade, 0xeae0, 0x003f, 0x003f, 0xb8d3, 0xead4, 0x003f, 0xb0c1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeadf,\n    0x003f, 0xbadb, 0xcef6, 0xeae1, 0xeae2, 0xc1f5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeae3, 0xcdb5, 0x003f, 0x003f,\n    0xeae4, 0xeae5, 0x003f, 0x003f, 0xcae4, 0xeae6, 0x003f, 0xbac0,\n    0x003f, 0xcea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeaeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeaec, 0xbed8, 0xeaea, 0x003f, 0x003f, 0x003f,\n    0xcde7, 0xeae7, 0x003f, 0x003f, 0xeae9, 0xc0bd, 0xbffe, 0x003f,\n    /* 0x8900 .. 0x89ff */\n    0x003f, 0x003f, 0xeae8, 0x003f, 0xeaed, 0x003f, 0x003f, 0xcaa3,\n    0x003f, 0x003f, 0xeaef, 0x003f, 0xeaee, 0x003f, 0x003f, 0x003f,\n    0xb3ec, 0x003f, 0xcbab, 0xeaf0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafc, 0xeaf2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeaf4, 0xeaf5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaf9, 0x003f,\n    0xeafa, 0x003f, 0x003f, 0xeaf8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeaf6, 0x003f, 0xeaf1, 0xeaf7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeafb, 0xf0b7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2a8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeafe, 0xb6df,\n    0xeafd, 0x003f, 0x003f, 0x003f, 0xeba2, 0x003f, 0xeba1, 0x003f,\n    0x003f, 0x003f, 0xeba4, 0x003f, 0x003f, 0xeba3, 0x003f, 0xeba5,\n    0x003f, 0x003f, 0xbdb1, 0x003f, 0xeba6, 0x003f, 0x003f, 0xeba7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba8, 0xc0be,\n    0x003f, 0xcdd7, 0x003f, 0xeba9, 0x003f, 0x003f, 0xcaa4, 0xc7c6,\n    0xebaa, 0x003f, 0xebab, 0xb8ab, 0x003f, 0x003f, 0x003f, 0xb5ac,\n    0x003f, 0x003f, 0x003f, 0xebac, 0x003f, 0x003f, 0xbbeb, 0xc7c1,\n    0xebad, 0x003f, 0xb3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xebae, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb0, 0xcdf7,\n    0x003f, 0xebaf, 0xbfc6, 0x003f, 0xebb1, 0x003f, 0x003f, 0xebb2,\n    0x003f, 0x003f, 0xebb3, 0xb4d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xebb4, 0x003f, 0x003f, 0xebb5, 0x003f, 0xebb6,\n    0xebb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb3d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xebb8, 0x003f, 0xebb9, 0xebba, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb2f2, 0x003f, 0x003f, 0xbfa8, 0xebbb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xebbc, 0x003f, 0x003f, 0x003f,\n    0xebbd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8a00 .. 0x8aff */\n    0xb8c0, 0x003f, 0xc4fb, 0xebbe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb7d7, 0x003f, 0xbfd6, 0x003f, 0xebc1, 0x003f, 0xc6a4, 0x003f,\n    0xebc0, 0x003f, 0x003f, 0xb7b1, 0x003f, 0x003f, 0xebbf, 0xc2f7,\n    0xb5ad, 0x003f, 0x003f, 0xebc2, 0x003f, 0xebc3, 0x003f, 0xbed9,\n    0x003f, 0x003f, 0x003f, 0xb7ed, 0x003f, 0xebc4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbac, 0x003f, 0x003f, 0xc0df, 0x003f, 0x003f,\n    0x003f, 0xb5f6, 0x003f, 0xccf5, 0xc1ca, 0x003f, 0xebc5, 0x003f,\n    0x003f, 0x003f, 0xbfc7, 0xc3f0, 0xbeda, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xebc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9, 0x003f,\n    0xebca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbabe, 0xc2c2, 0xebc8, 0x003f, 0xbedb, 0xc9be, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xebc7, 0x003f, 0x003f, 0xbbec, 0x003f,\n    0xb1d3, 0x003f, 0xebce, 0xb7d8, 0x003f, 0x003f, 0xbbee, 0x003f,\n    0x003f, 0xbbed, 0x003f, 0xcfcd, 0xebcd, 0xebcc, 0xc1a7, 0x003f,\n    0xb5cd, 0xcfc3, 0xb3ba, 0xbedc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xebcb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xebd0, 0x003f, 0xebd1, 0xebcf, 0x003f, 0xb8d8,\n    0x003f, 0xcdc0, 0x003f, 0x003f, 0xbbef, 0xc7a7, 0x003f, 0x003f,\n    0x003f, 0xebd4, 0x003f, 0xc0c0, 0x003f, 0xc3c2, 0x003f, 0x003f,\n    0xcdb6, 0x003f, 0xebd7, 0x003f, 0x003f, 0x003f, 0xb8ec, 0x003f,\n    0xc0bf, 0xebd3, 0x003f, 0xebd8, 0xb8ed, 0xebd5, 0xebd6, 0x003f,\n    0xebd2, 0x003f, 0x003f, 0x003f, 0xc0e2, 0xc6c9, 0x003f, 0x003f,\n    0xc3af, 0x003f, 0xb2dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc8f0, 0x003f, 0x003f, 0xb5c3, 0x003f, 0x003f, 0xc4b4,\n    0x003f, 0x003f, 0xebdb, 0x003f, 0xebd9, 0x003f, 0x003f, 0xc3cc,\n    0x003f, 0x003f, 0x003f, 0xc0c1, 0xb4d2, 0xebda, 0x003f, 0xbfdb,\n    0x003f, 0x003f, 0xceca, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f,\n    0x003f, 0x003f, 0xebdc, 0xebe7, 0xc4b5, 0x003f, 0xebe6, 0x003f,\n    0xebe3, 0xebeb, 0xebe4, 0x003f, 0xebe0, 0x003f, 0xc4fc, 0xebdf,\n    0x003f, 0x003f, 0x003f, 0xebdd, 0x003f, 0xcda1, 0xbbf0, 0x003f,\n    0x003f, 0xebe1, 0x003f, 0xebde, 0x003f, 0x003f, 0x003f, 0xebe5,\n    0xbdf4, 0x003f, 0xb8c1, 0x003f, 0x003f, 0x003f, 0xc2fa, 0x003f,\n    /* 0x8b00 .. 0x8bff */\n    0xcbc5, 0xb1da, 0xb0e2, 0x003f, 0xc6a5, 0x003f, 0x003f, 0xebe9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xebe8, 0x003f, 0xc6e6, 0x003f,\n    0xebed, 0x003f, 0x003f, 0x003f, 0xebe2, 0x003f, 0xebec, 0xebee,\n    0x003f, 0xb8ac, 0xebea, 0xb9d6, 0x003f, 0xbcd5, 0x003f, 0x003f,\n    0xebef, 0xcdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf2, 0x003f,\n    0xebf5, 0x003f, 0x003f, 0xebf3, 0xc9b5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xebf0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f,\n    0x003f, 0xebf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xebfa, 0x003f, 0x003f, 0xebf7, 0x003f, 0xebf9, 0xebf8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb, 0x003f,\n    0xbcb1, 0x003f, 0xebfd, 0xebfc, 0xc9e8, 0x003f, 0x003f, 0xeca1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7d9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xebfe, 0xeca2, 0x003f, 0x003f, 0xeca3,\n    0xb5c4, 0xe6c1, 0xbef9, 0x003f, 0xeca4, 0x003f, 0x003f, 0xb8ee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca5, 0x003f, 0x003f,\n    0xeca6, 0x003f, 0x003f, 0xbbbe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdace, 0x003f, 0xeca7, 0x003f, 0xeca8, 0x003f,\n    0xbdb2, 0x003f, 0xeca9, 0xecaa, 0x003f, 0x003f, 0xecab, 0x003f,\n    0x003f, 0xecac, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8c00 .. 0x8cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3ab,\n    0x003f, 0x003f, 0xecae, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb0,\n    0x003f, 0xecaf, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a6, 0x003f,\n    0xecb1, 0x003f, 0xcbad, 0x003f, 0xecb2, 0x003f, 0xecb3, 0x003f,\n    0xecb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbedd, 0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb9eb, 0xd0ae, 0xecb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xecb8, 0xc9bf, 0xecb9, 0x003f, 0xecc1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xecba, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f,\n    0x003f, 0xecbb, 0xecbd, 0x003f, 0xcbc6, 0xecbe, 0xecbf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecc0, 0x003f, 0x003f, 0x003f,\n    0xecc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ad, 0xc4e7, 0x003f,\n    0xc9e9, 0xbae2, 0xb9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9cf,\n    0xb2df, 0xc8ce, 0xecc5, 0xb4d3, 0xc0d5, 0xecc4, 0xecc9, 0xc3f9,\n    0xcce3, 0x003f, 0xecc7, 0xecc8, 0xb5ae, 0x003f, 0xecca, 0xc7e3,\n    0xc2df, 0x003f, 0x003f, 0xc8f1, 0xc5bd, 0xecc6, 0x003f, 0xcbc7,\n    0xb2ec, 0xeccc, 0xcfa8, 0xc4c2, 0xcfc5, 0x003f, 0x003f, 0xbbf1,\n    0xeccb, 0x003f, 0xc2b1, 0x003f, 0x003f, 0xecdc, 0xc1a8, 0x003f,\n    0x003f, 0xc6f8, 0x003f, 0xc9d0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeccf, 0xbbbf, 0xbbf2, 0x003f, 0xbede, 0x003f,\n    0xc7e5, 0x003f, 0xb8ad, 0xecce, 0xeccd, 0x003f, 0xc9ea, 0x003f,\n    0x003f, 0x003f, 0xbcc1, 0x003f, 0x003f, 0xc5d2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xecd1, 0xecd2, 0xb9d8, 0xecd0, 0x003f, 0x003f,\n    /* 0x8d00 .. 0x8dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecd3, 0xecd4, 0x003f, 0xecd6,\n    0xc2a3, 0x003f, 0xecd5, 0xb4e6, 0x003f, 0xecd8, 0x003f, 0xecd7,\n    0xecd9, 0x003f, 0x003f, 0xecdb, 0xecdd, 0x003f, 0xecde, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc0d6, 0x003f, 0xbccf, 0xecdf,\n    0x003f, 0x003f, 0x003f, 0xb3d2, 0x003f, 0xece0, 0x003f, 0x003f,\n    0xc1f6, 0xece1, 0x003f, 0xece2, 0xc9eb, 0x003f, 0x003f, 0xb5af,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xece3, 0x003f, 0x003f, 0x003f, 0xc4b6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb1db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xece4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbcf1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbff6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc2ad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xece7, 0x003f, 0x003f, 0x003f, 0xece6, 0x003f,\n    0x003f, 0x003f, 0xece5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeced, 0xeceb, 0x003f, 0x003f, 0xece8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecea, 0x003f,\n    0x003f, 0x003f, 0xece9, 0xecec, 0x003f, 0xb5f7, 0x003f, 0xecf0,\n    0x003f, 0xc0d7, 0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb8d9, 0x003f, 0xecee, 0xecef, 0x003f, 0x003f, 0x003f, 0xcfa9,\n    0x003f, 0x003f, 0x003f, 0xc4b7, 0x003f, 0xc1a9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0xecf5,\n    /* 0x8e00 .. 0x8eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xecf3, 0xecf4, 0xcdd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6a7,\n    0xecf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecf6, 0xecf7, 0xecf9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeda9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xecfc, 0x003f, 0x003f, 0x003f, 0xecfd, 0xecfb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xecfa, 0x003f, 0xc4fd, 0x003f, 0x003f, 0xeda1,\n    0xeda5, 0xeda2, 0xecfe, 0x003f, 0xeda3, 0x003f, 0x003f, 0x003f,\n    0xeda4, 0x003f, 0x003f, 0x003f, 0x003f, 0xedab, 0x003f, 0x003f,\n    0x003f, 0xeda6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0d8,\n    0xeda8, 0x003f, 0x003f, 0xedaa, 0xeda7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedad, 0x003f, 0xbdb3, 0x003f, 0xedac, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xedae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xedaf, 0x003f, 0x003f, 0xedb2, 0xedb1, 0x003f, 0xedb0,\n    0x003f, 0x003f, 0xedb4, 0xedb3, 0x003f, 0xccf6, 0x003f, 0x003f,\n    0x003f, 0xedb6, 0x003f, 0xedb5, 0xedb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xedba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedb9, 0xbfc8, 0xedbb, 0x003f, 0x003f, 0xb6ed,\n    0xedbc, 0xedbe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedbf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedc0, 0xedbd, 0x003f,\n    0xedc1, 0x003f, 0xbcd6, 0xedc2, 0xb5b0, 0xb7b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb8ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedc3, 0x003f, 0x003f, 0x003f, 0xc6f0,\n    0x003f, 0x003f, 0xc5be, 0xedc4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedc7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbcb4, 0x003f, 0x003f, 0xedc6, 0xedc5, 0xb7da, 0xedc8, 0x003f,\n    /* 0x8f00 .. 0x8fff */\n    0x003f, 0x003f, 0x003f, 0xb3d3, 0x003f, 0xedca, 0x003f, 0x003f,\n    0x003f, 0xbadc, 0xedc9, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedcc, 0xedce, 0xcae5, 0xedcb, 0x003f, 0x003f,\n    0x003f, 0xedcd, 0x003f, 0xedd1, 0xedcf, 0xb5b1, 0x003f, 0xedd0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd3, 0x003f,\n    0x003f, 0xc7da, 0xced8, 0x003f, 0x003f, 0x003f, 0x003f, 0xbdb4,\n    0x003f, 0x003f, 0x003f, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcda2, 0xedd6, 0x003f, 0xedd5, 0x003f, 0x003f, 0xedd9, 0xcdc1,\n    0x003f, 0x003f, 0xedd8, 0x003f, 0xb3ed, 0xedd7, 0xeddc, 0x003f,\n    0x003f, 0xeddb, 0x003f, 0x003f, 0xedda, 0xc5b2, 0xeddd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedde,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeddf, 0x003f, 0x003f, 0xb9ec,\n    0x003f, 0xb7a5, 0xede0, 0xede1, 0xede2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbfc9, 0xede3, 0x003f, 0xbcad, 0xede4,\n    0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f, 0x003f, 0xd2a1,\n    0xd1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xede6, 0xe5f0, 0xede7,\n    0xc3a4, 0xbfab, 0xc7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xede8,\n    0x003f, 0x003f, 0xcad5, 0xc4d4, 0xb9fe, 0x003f, 0x003f, 0xc3a9,\n    0x003f, 0x003f, 0xb1aa, 0x003f, 0xcbf8, 0xbfd7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7de, 0x003f,\n    0x003f, 0xb6e1, 0x003f, 0x003f, 0xcad6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xede9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedeb, 0x003f, 0x003f, 0xedea, 0xb2e0, 0x003f,\n    0x003f, 0xc6f6, 0xedec, 0xc7f7, 0x003f, 0xc5b3, 0x003f, 0xeded,\n    0xbdd2, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0x003f, 0xccc2,\n    0xedfe, 0xedf1, 0xedf2, 0x003f, 0x003f, 0xc4c9, 0x003f, 0x003f,\n    /* 0x9000 .. 0x90ff */\n    0xc2e0, 0xc1f7, 0x003f, 0xc6a8, 0x003f, 0xedf0, 0xb5d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedf9, 0x003f, 0xedf6, 0xeea5, 0xc6a9,\n    0xc3e0, 0xedf3, 0x003f, 0xc4fe, 0xc5d3, 0xedf4, 0xedf8, 0xbfe0,\n    0x003f, 0xc7e7, 0xc4cc, 0x003f, 0x003f, 0xc0c2, 0xedf7, 0xc2ae,\n    0xc2a4, 0xedf5, 0xb0a9, 0xcfa2, 0x003f, 0x003f, 0x003f, 0xedfa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2e1, 0x003f,\n    0x003f, 0xbdb5, 0xbfca, 0x003f, 0x003f, 0xedfc, 0xedfb, 0x003f,\n    0xb0ef, 0xedfd, 0x003f, 0x003f, 0xc9af, 0x003f, 0xeea7, 0x003f,\n    0x003f, 0xc6db, 0xbfeb, 0x003f, 0x003f, 0xc3d9, 0x003f, 0xb6f8,\n    0x003f, 0xeea6, 0xcdb7, 0xb1bf, 0x003f, 0xcad7, 0xb2e1, 0xeea1,\n    0xeea2, 0xeea3, 0xeea4, 0xc6bb, 0xc3a3, 0xb0e3, 0xeea8, 0x003f,\n    0xeea9, 0xf4a3, 0x003f, 0x003f, 0xc2bd, 0x003f, 0xeeaa, 0x003f,\n    0xb1f3, 0xc1cc, 0x003f, 0xb8af, 0x003f, 0xcdda, 0x003f, 0x003f,\n    0xeeab, 0xc5ac, 0x003f, 0x003f, 0x003f, 0xc1f8, 0xbcd7, 0xeeac,\n    0x003f, 0x003f, 0xeeaf, 0x003f, 0x003f, 0xbde5, 0xeead, 0xc1ab,\n    0xc1aa, 0x003f, 0xb0e4, 0x003f, 0xcecb, 0xeeb1, 0x003f, 0xc8f2,\n    0xeeb3, 0xeeb2, 0xeeb0, 0xe3e4, 0xb4d4, 0x003f, 0x003f, 0xedee,\n    0x003f, 0xeeb5, 0xeeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb6,\n    0x003f, 0xcdb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc6e1, 0x003f, 0x003f, 0xcbae, 0x003f,\n    0xeeb7, 0x003f, 0xbcd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb8,\n    0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0xeeba, 0x003f, 0x003f,\n    0xc5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb9d9, 0x003f, 0x003f, 0x003f, 0xcfba, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeebe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb7b4, 0xeebb, 0x003f, 0xeebc, 0x003f, 0x003f, 0x003f,\n    0xc9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3d4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdb9, 0x003f, 0xb6bf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5d4, 0x003f, 0x003f,\n    /* 0x9100 .. 0x91ff */\n    0x003f, 0x003f, 0xeebf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a2, 0x003f, 0x003f,\n    0xeec3, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6d3, 0xeec4, 0xbdb6, 0xbce0, 0xc7db, 0xc3f1, 0x003f,\n    0x003f, 0x003f, 0xbcf2, 0x003f, 0xbfec, 0x003f, 0xeec5, 0x003f,\n    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbfdd, 0xeec7, 0x003f, 0xeec8, 0x003f, 0x003f,\n    0x003f, 0xeec9, 0xcdef, 0x003f, 0xbdb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeecb, 0xeeca, 0x003f, 0xb9da, 0x003f, 0xb9f3,\n    0xbbc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f, 0xbde6,\n    0x003f, 0xeecd, 0x003f, 0xeecc, 0x003f, 0xc2e9, 0x003f, 0x003f,\n    0xb8ef, 0x003f, 0xc0c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8b0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbdb9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeecf, 0x003f, 0xbedf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeed2, 0xeed0, 0x003f, 0x003f, 0x003f, 0xeed1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeed4, 0xeed3, 0x003f, 0x003f,\n    0xbefa, 0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeed6, 0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xc8d0, 0xbad3,\n    0xbce1, 0xeed8, 0x003f, 0xeed9, 0xcea4, 0xbdc5, 0xccee, 0xcecc,\n    0xeeda, 0xb6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xeedb, 0x003f,\n    0xc5a3, 0x003f, 0x003f, 0xeede, 0xb3f8, 0xbfcb, 0x003f, 0xeedc,\n    0x003f, 0xeedd, 0x003f, 0xc4e0, 0x003f, 0x003f, 0xcbd5, 0xb6fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee0, 0xeee1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeedf, 0x003f, 0x003f, 0xeee3,\n    /* 0x9200 .. 0x92ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc6df, 0xb3c3, 0x003f,\n    0x003f, 0xeee7, 0x003f, 0x003f, 0xeee4, 0xeee6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefcf, 0x003f, 0x003f, 0xeee5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f, 0x003f, 0xb8da,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc5b4, 0xeeea, 0x003f, 0x003f,\n    0xeeed, 0xeeeb, 0x003f, 0xeef0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeef1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee9,\n    0x003f, 0x003f, 0xeef6, 0xb1f4, 0x003f, 0x003f, 0xeee8, 0x003f,\n    0x003f, 0x003f, 0xc8ad, 0x003f, 0xeeec, 0x003f, 0xbee0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb9db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbc8, 0x003f,\n    0xb6e4, 0x003f, 0x003f, 0xbdc6, 0x003f, 0xc6bc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc1ad, 0x003f, 0xeef4, 0x003f, 0xeeee, 0xeef3, 0x003f,\n    0xccc3, 0x003f, 0xc4b8, 0xeef5, 0xeef2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1ac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef9,\n    0x003f, 0xeef8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeef7,\n    0x003f, 0x003f, 0xcbaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbdfb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeefa, 0xcadf, 0x003f, 0x003f, 0xb1d4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc9c6, 0xc3f2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb5f8, 0x003f, 0xeefc, 0x003f, 0xb9dd, 0x003f, 0x003f, 0x003f,\n    /* 0x9300 .. 0x93ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbbac, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeefb,\n    0xbfed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbfee, 0xefa1, 0xefa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbefb, 0x003f, 0xefa2, 0xefa4, 0x003f, 0x003f, 0xb6d3, 0x003f,\n    0xc9c5, 0x003f, 0x003f, 0xbce2, 0xcfa3, 0x003f, 0xeefe, 0xbaf8,\n    0x003f, 0x003f, 0xcfbf, 0x003f, 0x003f, 0xefa6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xefa5, 0xefa7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeefd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc6e9, 0x003f, 0xc5d5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc4d7, 0x003f, 0xefac, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc3c3, 0xefa8, 0x003f, 0x003f, 0x003f,\n    0xefa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb7ad, 0x003f, 0xefab, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8b0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xefaa, 0x003f, 0xbee1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb3f9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xefb0, 0x003f, 0xbabf, 0xc1f9,\n    0x003f, 0x003f, 0xc4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xefae, 0xefaf, 0xc4c3, 0x003f,\n    0xefad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefb7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefb9, 0xc5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb2, 0xefb3,\n    0xefb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb8, 0x003f, 0x003f,\n    0x003f, 0xb6c0, 0x003f, 0x003f, 0xefbb, 0xefb5, 0x003f, 0x003f,\n    0xefb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9400 .. 0x94ff */\n    0x003f, 0x003f, 0x003f, 0xefbf, 0x003f, 0x003f, 0x003f, 0xefc0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefc1, 0x003f, 0x003f, 0xefbe, 0xefbd, 0x003f, 0x003f, 0x003f,\n    0xbee2, 0xc6aa, 0xefbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc4, 0xefc2, 0x003f,\n    0xc2f8, 0x003f, 0xefc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefc7, 0x003f, 0x003f, 0xefc9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb4d5, 0xefc8, 0xccfa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xefd4, 0xefca, 0x003f, 0x003f, 0xefcd, 0x003f,\n    0xefcb, 0x003f, 0xefcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0xefd2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xefd5, 0xefd3, 0xefd6, 0xefd8,\n    0x003f, 0xefd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9500 .. 0x95ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcce7, 0x003f, 0xefd9, 0xc1ae, 0x003f, 0x003f, 0x003f, 0xefda,\n    0x003f, 0xcac4, 0xefdb, 0xb3ab, 0x003f, 0x003f, 0x003f, 0xb1bc,\n    0x003f, 0xb4d7, 0x003f, 0xb4d6, 0xefdc, 0x003f, 0xefdd, 0x003f,\n    0xefde, 0xefdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefe0, 0x003f, 0xb4d8, 0xb3d5, 0xb9de, 0xc8b6, 0x003f, 0xefe2,\n    0xefe1, 0x003f, 0x003f, 0x003f, 0x003f, 0xefe3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefe6, 0x003f, 0xefe5, 0xefe4, 0x003f, 0xefe7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefea, 0x003f, 0x003f, 0x003f, 0xb0c7,\n    0x003f, 0x003f, 0xefe8, 0x003f, 0xefec, 0xefeb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xefee, 0xefed, 0xefef, 0x003f,\n    0xc6ae, 0x003f, 0x003f, 0x003f, 0xeff0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeff1, 0xeff3, 0x003f, 0x003f, 0xeff2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9600 .. 0x96ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ec, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeff4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeff5, 0x003f, 0xbae5, 0x003f, 0x003f, 0x003f, 0xeff6, 0xeff7,\n    0x003f, 0x003f, 0xcbc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc1cb, 0x003f, 0x003f, 0x003f, 0xb0a4,\n    0xc2cb, 0x003f, 0xeff8, 0x003f, 0xc9ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeffb, 0xeff9, 0xb9df, 0x003f, 0xeffa,\n    0xb8c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcac5, 0xeffd, 0xf0a1, 0xeffe, 0xf0a2,\n    0x003f, 0x003f, 0xb1a1, 0xbfd8, 0xbdfc, 0xb4d9, 0xf0a3, 0x003f,\n    0x003f, 0x003f, 0xc7e6, 0x003f, 0xf0a5, 0x003f, 0x003f, 0x003f,\n    0xb1a2, 0x003f, 0xf0a4, 0xc4c4, 0x003f, 0xcecd, 0xc6ab, 0xeffc,\n    0xcea6, 0x003f, 0xb8b1, 0x003f, 0x003f, 0xcddb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f9, 0xceb4, 0x003f,\n    0xb7a8, 0x003f, 0xc2e2, 0xe7a1, 0x003f, 0xf0a6, 0xb3ac, 0xbfef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb3d6, 0xf0a8, 0x003f, 0xf0a9,\n    0xf0a7, 0xb7e4, 0x003f, 0xbadd, 0xbee3, 0x003f, 0x003f, 0x003f,\n    0xb1a3, 0x003f, 0x003f, 0xced9, 0x003f, 0x003f, 0x003f, 0xf0ab,\n    0xeeae, 0x003f, 0xf0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf0ae, 0xf0ac, 0xf0ad, 0x003f, 0xf0af, 0x003f, 0xf0b0, 0xceec,\n    0xf0b1, 0xf0b2, 0x003f, 0xc0c9, 0xc8bb, 0x003f, 0x003f, 0x003f,\n    0xbffd, 0xb4e7, 0x003f, 0x003f, 0xcdba, 0xb2ed, 0xbdb8, 0xb8db,\n    0x003f, 0xf0b5, 0x003f, 0xf0b4, 0xbbf3, 0xf0b6, 0xf0b3, 0x003f,\n    0x003f, 0xbba8, 0x003f, 0x003f, 0x003f, 0xf0ba, 0xeaad, 0x003f,\n    0x003f, 0xd2d6, 0x003f, 0xbff7, 0xf0b8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcea5, 0xc6f1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb1ab, 0x003f, 0xc0e3, 0xbcb6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcab7, 0x003f, 0xb1c0, 0x003f, 0x003f, 0x003f, 0xceed, 0xcdeb,\n    0x003f, 0xf0bb, 0x003f, 0xc5c5, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9700 .. 0x97ff */\n    0xbcfb, 0x003f, 0x003f, 0x003f, 0xf0bc, 0x003f, 0xf0bd, 0xbfcc,\n    0xf0be, 0x003f, 0xceee, 0x003f, 0x003f, 0xf0b9, 0xf0c0, 0xf0c2,\n    0x003f, 0xf0c1, 0x003f, 0xf0bf, 0x003f, 0x003f, 0xf0c3, 0x003f,\n    0x003f, 0xf0c4, 0x003f, 0x003f, 0xc1fa, 0x003f, 0xb2e2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0c5, 0x003f, 0x003f, 0xccb8,\n    0x003f, 0x003f, 0xf0c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf0c7, 0x003f, 0xcfaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdbb1, 0xf0c8, 0x003f, 0x003f, 0x003f, 0xf0c9, 0xf0ca, 0x003f,\n    0x003f, 0x003f, 0xf0ce, 0x003f, 0xf0cb, 0x003f, 0xf0cc, 0x003f,\n    0xf0cd, 0xf0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc0c4, 0x003f, 0x003f, 0x003f, 0xccf7, 0x003f,\n    0x003f, 0xc0c5, 0x003f, 0x003f, 0xf0d0, 0x003f, 0xc8f3, 0x003f,\n    0xf0d1, 0xf3d3, 0xcccc, 0x003f, 0xf0d2, 0x003f, 0xf0d3, 0x003f,\n    0xf0d4, 0xb3d7, 0x003f, 0xf0d6, 0x003f, 0xbfd9, 0x003f, 0x003f,\n    0x003f, 0xf0d7, 0x003f, 0x003f, 0xb7a4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0d8, 0xf0dc, 0x003f, 0xf0da, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0db, 0x003f, 0x003f, 0xb3f3, 0xf0d9, 0xf0dd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0de, 0x003f, 0xb0c8, 0x003f, 0xf0df,\n    0xf0e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbee4, 0x003f, 0x003f, 0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f,\n    0xb5c7, 0x003f, 0x003f, 0xf0e4, 0x003f, 0x003f, 0xf0e3, 0x003f,\n    0xf0e2, 0x003f, 0x003f, 0xebf1, 0x003f, 0xcadc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0e5, 0xf0e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0e7, 0x003f, 0x003f, 0xf0e8, 0x003f,\n    0xf0e9, 0x003f, 0x003f, 0xf0ea, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb4da, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ec, 0xc7a3, 0x003f,\n    0x003f, 0x003f, 0xf0ee, 0xb2bb, 0x003f, 0xf0f1, 0xf0f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb1a4, 0x003f, 0x003f, 0x003f, 0xb6c1,\n    /* 0x9800 .. 0x98ff */\n    0x003f, 0xcac7, 0xc4ba, 0xbaa2, 0x003f, 0xb9e0, 0xbde7, 0x003f,\n    0xbfdc, 0x003f, 0x003f, 0x003f, 0xf0f3, 0x003f, 0x003f, 0xf0f2,\n    0xcdc2, 0xb4e8, 0xc8d2, 0xc6dc, 0x003f, 0x003f, 0x003f, 0xbffc,\n    0xcece, 0x003f, 0xb7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0f6, 0x003f, 0x003f, 0xf0f5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcbcb, 0xc6ac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1d0, 0x003f, 0x003f, 0xf0f7,\n    0xf0f4, 0x003f, 0x003f, 0xc9d1, 0xcdea, 0xf0f8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0fb, 0xc2ea, 0xb3db, 0xb3dc, 0xf0fa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb4e9, 0xb8b2, 0x003f, 0x003f,\n    0xb4ea, 0x003f, 0x003f, 0xc5bf, 0x003f, 0x003f, 0xcee0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb8dc,\n    0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f, 0xf0fd,\n    0xf0fe, 0xf1a1, 0x003f, 0xf1a3, 0xf1a2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc9f7, 0x003f, 0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a5,\n    0x003f, 0xf1a6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf1a9, 0xf1a8, 0x003f, 0xf1aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc8f4, 0xe6cc, 0x003f, 0x003f, 0xbfa9,\n    0x003f, 0x003f, 0xb5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf1ab, 0x003f, 0xf1ac, 0x003f, 0xd2ac, 0xddbb, 0xc8d3,\n    0x003f, 0x003f, 0xb0fb, 0x003f, 0xb0bb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbbf4, 0xcbb0, 0xbefe, 0x003f,\n    /* 0x9900 .. 0x99ff */\n    0x003f, 0x003f, 0x003f, 0xf1ad, 0x003f, 0xccdf, 0x003f, 0x003f,\n    0x003f, 0xf1ae, 0xcddc, 0x003f, 0xb1c2, 0x003f, 0x003f, 0x003f,\n    0xbbc1, 0x003f, 0xf1af, 0xb2ee, 0xf1b0, 0x003f, 0x003f, 0x003f,\n    0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b3, 0xf1b4, 0x003f,\n    0xf1b6, 0xf1b2, 0x003f, 0x003f, 0xf1b5, 0x003f, 0x003f, 0x003f,\n    0xb4db, 0x003f, 0x003f, 0x003f, 0xf1b7, 0x003f, 0xf1b8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1b9, 0xf1ba, 0x003f,\n    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f,\n    0x003f, 0xf1bc, 0x003f, 0xf1bf, 0xf1c2, 0x003f, 0x003f, 0x003f,\n    0xf1be, 0xf1c0, 0xf1c1, 0x003f, 0x003f, 0xf1c3, 0x003f, 0xb6c2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcf3, 0xf1c4,\n    0xf1c5, 0xb9e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c6, 0x003f, 0x003f,\n    0xb3be, 0x003f, 0x003f, 0x003f, 0xc7cf, 0xf1c7, 0xf1c8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc3da, 0xc6eb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7fd, 0x003f, 0x003f, 0xc2cc, 0xb1d8, 0xb6ee, 0x003f,\n    0xb6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc3f3, 0xf1ce, 0xb6f0, 0x003f, 0x003f, 0xb2ef, 0x003f, 0x003f,\n    0xf1cd, 0x003f, 0x003f, 0xf1cb, 0x003f, 0xf1cc, 0x003f, 0xf1ca,\n    0x003f, 0x003f, 0xf1d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1cf, 0xf1d0, 0x003f,\n    0x003f, 0xf1d1, 0xf1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1d4, 0x003f, 0x003f, 0xf1d3, 0x003f, 0x003f, 0x003f, 0xbdd9,\n    /* 0x9a00 .. 0x9aff */\n    0x003f, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf1d7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb5b3, 0xf1d6,\n    0x003f, 0x003f, 0xc1fb, 0xb8b3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf1d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc2cd, 0x003f, 0x003f, 0xf1da, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1db,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e0, 0x003f,\n    0xf1de, 0x003f, 0xf1dd, 0xf1df, 0x003f, 0xf1dc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1, 0x003f, 0xf1e4,\n    0x003f, 0x003f, 0xb6c3, 0xf1e3, 0x003f, 0x003f, 0x003f, 0xf1e5,\n    0x003f, 0x003f, 0xf1e6, 0x003f, 0xf1e8, 0xf1e7, 0x003f, 0x003f,\n    0x003f, 0xf1e9, 0xf1eb, 0xf1ea, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ec, 0x003f, 0x003f,\n    0xf1ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb3bc, 0x003f, 0x003f, 0x003f, 0xf1ee, 0x003f, 0x003f, 0x003f,\n    0xf1ef, 0x003f, 0x003f, 0x003f, 0xbff1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f0,\n    0x003f, 0xf1f1, 0x003f, 0xf1f2, 0xf1f3, 0x003f, 0x003f, 0x003f,\n    0xb9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1f4, 0xf1f5,\n    0x003f, 0x003f, 0xf1f6, 0xf1f7, 0x003f, 0x003f, 0xf1f8, 0x003f,\n    0x003f, 0x003f, 0xc8b1, 0xf1fa, 0x003f, 0xc9a6, 0xf1fb, 0xf1f9,\n    0x003f, 0xf1fd, 0x003f, 0x003f, 0xf1fc, 0x003f, 0x003f, 0xf1fe,\n    0x003f, 0x003f, 0x003f, 0xf2a1, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9b00 .. 0x9bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2a3, 0x003f, 0xf2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a5,\n    0x003f, 0x003f, 0xf2a6, 0xf2a7, 0x003f, 0xf2a8, 0x003f, 0xf2a9,\n    0xf2aa, 0xf2ab, 0xf2ac, 0x003f, 0x003f, 0x003f, 0xf2ad, 0xf2ae,\n    0x003f, 0xddb5, 0xf2af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4f8, 0xb5b4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3a1, 0xbab2, 0xf2b1, 0xf2b0, 0xcca5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b3, 0xf2b4, 0xf2b2,\n    0x003f, 0xf2b5, 0x003f, 0x003f, 0xcbe2, 0x003f, 0x003f, 0x003f,\n    0xf2b6, 0x003f, 0xb5fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2b9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0be, 0x003f,\n    0x003f, 0xf2ba, 0xcaab, 0xf2b8, 0x003f, 0x003f, 0xf2bb, 0xf2bc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2bd,\n    0xf2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2bf, 0x003f, 0xcbee, 0xbbad, 0x003f, 0xbafa, 0xc1af, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c4, 0x003f,\n    0x003f, 0xb8f1, 0xf2c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c5,\n    0x003f, 0xf2c6, 0xf2c7, 0x003f, 0xf2cb, 0x003f, 0xbbaa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc2e4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2cc, 0xf2c9, 0xf2c8, 0xf2ca, 0x003f, 0x003f, 0x003f,\n    0xb7df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2d0, 0xf2cf, 0xf2ce, 0x003f, 0x003f, 0xb0b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9c00 .. 0x9cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2da, 0x003f, 0xf2d6, 0x003f,\n    0xf2d7, 0xf2d3, 0xf2d9, 0x003f, 0xf2d5, 0xb3e2, 0x003f, 0x003f,\n    0xcfcc, 0x003f, 0xf2d8, 0xf2d4, 0xf2d2, 0xf2d1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2dc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2df, 0x003f, 0x003f, 0xf2de, 0xf2dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc9c9, 0xf2db, 0xb0f3,\n    0xf2e0, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3ef, 0xf2cd, 0xb1b7, 0x003f, 0x003f, 0xf2e4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e3, 0xf2e1,\n    0xc3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbf0, 0x003f, 0x003f, 0x003f, 0x003f, 0xceda,\n    0x003f, 0x003f, 0xf2e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2e8, 0x003f,\n    0xf2e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4bb, 0x003f, 0xf2ea,\n    0x003f, 0xc8b7, 0x003f, 0xf2ef, 0xf2eb, 0x003f, 0x003f, 0x003f,\n    0xf2ec, 0x003f, 0x003f, 0xcbb1, 0xccc4, 0x003f, 0xc6d0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9d00 .. 0x9dff */\n    0x003f, 0x003f, 0x003f, 0xf2f0, 0x003f, 0x003f, 0xf2f1, 0xc6be,\n    0xf2ee, 0xf2ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2aa, 0x003f,\n    0x003f, 0x003f, 0xf2f9, 0x003f, 0x003f, 0xf2f8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb1f5, 0x003f, 0x003f, 0x003f, 0xf2f6,\n    0x003f, 0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xf2f3, 0x003f,\n    0xb3fb, 0x003f, 0xf2f2, 0xbcb2, 0xb2a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb9e3, 0x003f, 0x003f, 0xf2fc, 0xf2fb,\n    0x003f, 0xf2fa, 0x003f, 0x003f, 0xf2f7, 0x003f, 0xf2fd, 0x003f,\n    0xf2fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf3a5, 0xf3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3a6, 0x003f, 0x003f, 0xb1ad, 0xf3a1, 0xf3a2, 0x003f,\n    0xb9f4, 0xccb9, 0x003f, 0x003f, 0xf3a3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0x003f, 0x003f, 0xf3ab,\n    0x003f, 0x003f, 0xf3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a9,\n    0x003f, 0xf3a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7dc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3af, 0x003f, 0xf3aa, 0x003f, 0x003f, 0x003f, 0xf2f4,\n    0x003f, 0x003f, 0xf3b0, 0x003f, 0xc4e1, 0x003f, 0x003f, 0x003f,\n    0xf3b4, 0x003f, 0xf3b5, 0xf3b3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3b2, 0xf3b8, 0x003f, 0xf3b1, 0x003f, 0xf3b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3b7,\n    0x003f, 0x003f, 0x003f, 0xf3ba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3bd, 0x003f, 0xf3be,\n    0x003f, 0x003f, 0xcfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf3bb, 0xc2eb, 0xbaed, 0x003f, 0x003f, 0xf3bf, 0x003f, 0x003f,\n    /* 0x9e00 .. 0x9eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3c0, 0xf3c1, 0x003f, 0x003f, 0xf3c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f,\n    0xb8b4, 0xf3c4, 0x003f, 0x003f, 0x003f, 0xf3c5, 0x003f, 0xbcaf,\n    0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf3c7, 0x003f, 0x003f, 0xf3c8, 0xf3c9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3cc, 0xf3ca, 0xcfbc, 0x003f, 0xf3cb, 0x003f, 0xceef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3cd, 0x003f, 0xcedb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3ce, 0xc7fe, 0x003f,\n    0x003f, 0xf3cf, 0xf3d1, 0x003f, 0x003f, 0xf3d2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf3d0, 0xb9ed, 0xcccd, 0xcbe3, 0xd6f7, 0x003f, 0xdde0, 0xcbfb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb2ab, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3d4, 0xb5d0, 0xf3d5, 0xf3d6,\n    0xf3d7, 0x003f, 0xb9f5, 0x003f, 0xf3d8, 0x003f, 0x003f, 0x003f,\n    0xe0d4, 0xccdb, 0x003f, 0xc2e3, 0xf3d9, 0xf3db, 0xf3da, 0x003f,\n    0xf3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3dd, 0x003f, 0x003f,\n    0xf3de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3df,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3e0, 0x003f, 0xf3e1, 0xf3e2,\n    0x003f, 0xf3e3, 0x003f, 0xf3e4, 0xf3e5, 0xf3e6, 0x003f, 0x003f,\n    /* 0x9f00 .. 0x9fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e7,\n    0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc5a4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb8dd, 0x003f, 0xf3ea, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc1cd, 0xf3eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xc9a1, 0x003f, 0x003f, 0xf3ed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3ee, 0xe3b7, 0x003f, 0x003f, 0xecda, 0xf0ed,\n    0x003f, 0x003f, 0xf3ef, 0x003f, 0xf3f0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3f2,\n    0xf3f3, 0xf3f4, 0xcef0, 0xf3f1, 0x003f, 0x003f, 0xf3f5, 0xf3f6,\n    0x003f, 0x003f, 0xf3f8, 0x003f, 0xf3f7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3fa, 0x003f, 0x003f, 0x003f, 0xf3fb, 0xf3f9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceb6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3fd, 0xe3d4, 0x003f, 0x003f,\n    0xf3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xf900 .. 0xf9ff */\n    0xecb1, 0xb9b9, 0xbcd6, 0xeccb, 0xb3ea, 0xb6fa, 0xb6e7, 0xf3fd,\n    0xf3fd, 0xb7c0, 0xb6e2, 0xd3c9, 0xc6e0, 0xd8f1, 0xe1fa, 0xcde5,\n    0xe9c7, 0xcde6, 0xcde7, 0xeeb6, 0xdcdb, 0xcdec, 0xdfe0, 0xe0e4,\n    0xcdee, 0xcdef, 0xf1d1, 0xd0ac, 0xcdf1, 0xcdf3, 0xe0a5, 0xcdf6,\n    0xf3c2, 0xcdf2, 0xcdf4, 0xcdf5, 0xeba2, 0xd9c7, 0xe7c4, 0x003f,\n    0xcfad, 0xcfaf, 0xcfb2, 0xcfb5, 0xcfba, 0xd0d4, 0xcee4, 0xd2a9,\n    0x003f, 0xcfa6, 0xe0a4, 0xe2ba, 0xcfb7, 0xe9c3, 0xceba, 0xcfa9,\n    0xcfaa, 0xcfa5, 0xbaed, 0xe2f1, 0xe3b3, 0x003f, 0x003f, 0x003f,\n    0xbcaf, 0xcfc0, 0xd4e2, 0xcfae, 0xe4c6, 0xcfb8, 0xcfb4, 0xe2fd,\n    0xcfa8, 0xcdeb, 0xd4de, 0x003f, 0xdcec, 0x003f, 0xcfb3, 0xcedf,\n    0xe5df, 0xeffb, 0xf0d5, 0xcfbe, 0xf4a5, 0xcebf, 0xcec7, 0xb0bd,\n    0xc9a9, 0xcecd, 0xeca6, 0xd9bc, 0xdcdb, 0xc2fa, 0xc3b0, 0xc7ab,\n    0xc5dc, 0xcea8, 0xb0db, 0xcbcc, 0x003f, 0xcad8, 0xc9fc, 0xc9d4,\n    0xc8e7, 0xdacb, 0xbaf7, 0xd2d4, 0xbac9, 0xbeca, 0xcdd5, 0x003f,\n    0xbba6, 0xc3a4, 0xc4c0, 0xbda6, 0xbce3, 0xceab, 0xceac, 0xcebc,\n    0xd1c0, 0xd1da, 0xcec2, 0xcec8, 0xcec9, 0xceca, 0xcecc, 0xd2af,\n    0xcfa4, 0xbdf7, 0xd7aa, 0xceb9, 0xdfc9, 0xe2ea, 0xefe3, 0xf1eb,\n    0xceef, 0xf3d5, 0xcecf, 0x003f, 0x003f, 0xede0, 0xc7af, 0xcef9,\n    0xd8f8, 0xc7b2, 0xcefa, 0xcefb, 0x003f, 0x003f, 0xcefd, 0xcefe,\n    0xedd3, 0xcfa1, 0xcfa2, 0x003f, 0xcef3, 0xcef4, 0xb0f6, 0xcef5,\n    0xcef6, 0x003f, 0xcef7, 0xc7b0, 0xc7b1, 0x003f, 0xcefc, 0xe0da,\n    0xcee1, 0xd3fa, 0xc7ab, 0xcee6, 0xcee7, 0xcee8, 0xe0f2, 0xe6b9,\n    0xe6d9, 0xceeb, 0xceed, 0xf0cd, 0xcece, 0xcee3, 0xe3b9, 0xeed4,\n    0xf0b1, 0xd8a8, 0xcebb, 0xcebd, 0xcec0, 0xc7a2, 0xcec1, 0xdcdb,\n    0xdff9, 0xcec5, 0xe8fa, 0xcecb, 0xceb6, 0xdaf4, 0xeff6, 0xcead,\n    0x003f, 0xccf8, 0xceae, 0xceaf, 0xceb0, 0xceb1, 0xceb2, 0xc9b3,\n    0xcee0, 0xcfbb, 0xd9a4, 0xcea6, 0xced1, 0xd6c6, 0xdecd, 0xced8,\n    0xcea7, 0xd8cb, 0xb7aa, 0xcea8, 0xceb4, 0xcdf8, 0xcdf9, 0xcdfa,\n    0xb0d7, 0xcdfb, 0xcdfc, 0xc5a5, 0xcdfd, 0xcea1, 0xd8ed, 0xcea2,\n    0xcea3, 0xcea4, 0xcea5, 0xc6bf, 0xc5ae, 0xd2e7, 0xced5, 0x003f,\n    0xe9c2, 0xced9, 0xceda, 0xcedb, 0xced3, 0xced4, 0xced7, 0xcea9,\n    0xb3de, 0xceb3, 0x003f, 0xdfd5, 0xbcb1, 0xbdba, 0xc3e3, 0xbbc9,\n    /* 0xfa00 .. 0xfaff */\n    0xc0da, 0xc5d9, 0xc2f3, 0xc5fc, 0xc2f0, 0xc6b6, 0xcbbd, 0xedd5,\n    0xb9d4, 0xb9df, 0xb8ab, 0xb3c7, 0xd1ba, 0x003f, 0x003f, 0x003f,\n    0xc4cd, 0x003f, 0xc0b2, 0x003f, 0x003f, 0x003f, 0xc3f6, 0xb1d7,\n    0xcee9, 0xbfc0, 0xbecd, 0xcaa1, 0xccf7, 0xc0ba, 0xb1a9, 0x003f,\n    0x003f, 0x003f, 0xbdf4, 0x003f, 0x003f, 0xb0ef, 0xc5d4, 0x003f,\n    0x003f, 0x003f, 0xc8d3, 0xbbf4, 0xb4db, 0xc4e1, 0x003f, 0x003f,\n    0xc9ee, 0xc1ce, 0xccc8, 0xcad9, 0xb6d0, 0xc8dc, 0xb3e5, 0xc3b2,\n    0xb4ef, 0xcabd, 0xcbcf, 0xc1d8, 0xd6a5, 0xb2f9, 0xb3b4, 0xc1fe,\n    0xc4a8, 0xc9d2, 0xb4fb, 0xbdeb, 0xc7df, 0xb3a4, 0xbded, 0xb4c1,\n    0xbcd1, 0x003f, 0xc2f6, 0xc8ea, 0xbcd2, 0xbbe3, 0xb5a7, 0xcdb4,\n    0xc1c4, 0xbdcb, 0xb2d2, 0xc4f7, 0xb9f2, 0xc6cd, 0xc0e1, 0xcefd,\n    0xe5d6, 0xc8cb, 0xbdf0, 0xbcd4, 0xbdad, 0x003f, 0x003f, 0xc3f8,\n    0xb3ec, 0xbbeb, 0xb1da, 0xb6e0, 0xc9d0, 0xc2a3, 0x003f, 0xb0ef,\n    0xc6f1, 0xb6c1, 0xc9d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfb00 .. 0xfbff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfe00 .. 0xfeff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x007e, 0x007e, 0x007e, 0x007e, 0x005f, 0x005f, 0x005f,\n    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,\n    0xa1bd, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1cc, 0xa1cd, 0x0023,\n    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,\n    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xff00 .. 0xffff */\n    0x003f, 0xa1aa, 0x0022, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0x0027,\n    0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0x002d, 0xa1a5, 0xa1bf,\n    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,\n    0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9,\n    0xa1f7, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,\n    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,\n    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,\n    0xa3d8, 0xa3d9, 0xa3da, 0xa1ce, 0xa1c0, 0xa1cf, 0xa1b0, 0xa1b2,\n    0xa1ae, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,\n    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,\n    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,\n    0xa3f8, 0xa3f9, 0xa3fa, 0xa1d0, 0xa1c3, 0xa1d1, 0x007e, 0x003f,\n    0x003f, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7,\n    0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac, 0x8ead, 0x8eae, 0x8eaf,\n    0x8eb0, 0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7,\n    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf,\n    0x8ec0, 0x8ec1, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,\n    0x8ec8, 0x8ec9, 0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf,\n    0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7,\n    0x8ed8, 0x8ed9, 0x8eda, 0x8edb, 0x8edc, 0x8edd, 0x8ede, 0x8edf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1f1, 0xa1f2, 0xa2cc, 0xa1b1, 0x003f, 0xa1ef, 0x003f, 0x003f,\n    0xa8a2, 0xa2ab, 0xa2ac, 0xa2aa, 0xa2ad, 0xa2a3, 0xa1fb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* defaults */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x0e00, 0x0f00,\n    0x1000, 0x1100, 0x1200, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x1300, 0x1400,\n    0x1500, 0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00,\n    0x1d00, 0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400,\n    0x2500, 0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00,\n    0x2d00, 0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400,\n    0x3500, 0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00,\n    0x3d00, 0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400,\n    0x4500, 0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00,\n    0x4d00, 0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400,\n    0x5500, 0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00,\n    0x5d00, 0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6500, 0x6600, 0x6700, 0x6a00, 0x6a00, 0x6800, 0x6900\n};\n\nconst struct dbcs_table cptable_20932 =\n{\n    { 20932, 2, 0x003f, 0x003f, \"EUC-JP\" },\n    cp2uni,\n    cp2uni_leadbytes,\n    uni2cp_low,\n    uni2cp_high,\n    { 0x8e, 0x8f, 0xa1, 0xfe, 0x00, 0x00 }\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28591.cpp",
    "content": "/* code page 28591 (ISO 8859-1 Latin 1) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28591 =\n{\n    { 28591, 1, 0x003f, 0x003f, \"ISO 8859-1 Latin 1\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28592.cpp",
    "content": "/* code page 28592 (ISO 8859-2 Latin 2 (East European)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7,\n    0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b,\n    0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7,\n    0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c,\n    0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7,\n    0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e,\n    0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7,\n    0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df,\n    0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7,\n    0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f,\n    0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7,\n    0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x3f, 0xa7,\n    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,\n    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,\n    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,\n    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,\n    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,\n    0x4f, 0x55, 0xda, 0x55, 0xdc, 0xdd, 0x3f, 0xdf,\n    0x61, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,\n    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,\n    0x64, 0x6e, 0x6f, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,\n    0x6f, 0x75, 0xfa, 0x75, 0xfc, 0xfd, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xb1, 0xc6, 0xe6,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0xcf, 0xef,\n    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0xca, 0xea, 0xcc, 0xec, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0xc5, 0xe5, 0x4c, 0x6c, 0xa5, 0xb5, 0x3f,\n    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0xd2,\n    0xf2, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd5, 0xf5, 0x4f, 0x6f, 0xc0, 0xe0, 0x52, 0x72,\n    0xd8, 0xf8, 0xa6, 0xb6, 0x53, 0x73, 0xaa, 0xba,\n    0xa9, 0xb9, 0xde, 0xfe, 0xab, 0xbb, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xd9, 0xf9,\n    0xdb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0xac, 0xbc, 0xaf, 0xbf, 0xae, 0xbe, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0xbd, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,\n    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xff, 0xb0, 0xb2, 0x7e, 0xbd, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,\n    0xa8, 0x3f, 0xb0, 0xbd, 0xb7, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0xa6, 0xb6, 0xa9, 0xb9,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,\n    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0xbd, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28592 =\n{\n    { 28592, 1, 0x003f, 0x003f, \"ISO 8859-2 Latin 2 (East European)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28593.cpp",
    "content": "/* code page 28593 (ISO 8859-3 Latin 3 (South European)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x003f, 0x0124, 0x00a7,\n    0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x003f, 0x017b,\n    0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7,\n    0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x00be, 0x017c,\n    0x00c0, 0x00c1, 0x00c2, 0x003f, 0x00c4, 0x010a, 0x0108, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x003f, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7,\n    0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x003f, 0x00e4, 0x010b, 0x0109, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x003f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7,\n    0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0x3f, 0xa7,\n    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,\n    0xb0, 0x3f, 0xb2, 0xb3, 0xb4, 0xb5, 0x3f, 0xb7,\n    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0xbd, 0xbe, 0x3f,\n    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0x41, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0xd7,\n    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0x61, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0xf7,\n    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0xc6, 0xe6, 0xc5, 0xe5, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0xd8, 0xf8, 0xab, 0xbb,\n    0xd5, 0xf5, 0x47, 0x67, 0xa6, 0xb6, 0xa1, 0xb1,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0xa9, 0xb9, 0x3f, 0x3f, 0xac, 0xbc, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0xde, 0xfe, 0xaa, 0xba,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0xdd, 0xfd, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0xaf, 0xbf, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xff, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0x2d, 0x2d, 0xa2, 0xff,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0xb1,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0xa3, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28593 =\n{\n    { 28593, 1, 0x003f, 0x003f, \"ISO 8859-3 Latin 3 (South European)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28594.cpp",
    "content": "/* code page 28594 (ISO 8859-4 Latin 4 (Baltic old)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7,\n    0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af,\n    0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7,\n    0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b,\n    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,\n    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a,\n    0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df,\n    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,\n    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b,\n    0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0x3f, 0xa7,\n    0xa8, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xaf,\n    0xb0, 0x3f, 0x32, 0x33, 0xb4, 0x75, 0x3f, 0x3f,\n    0xb8, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,\n    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0x49,\n    0xd0, 0x4e, 0x4f, 0x4f, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,\n    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,\n    0xd0, 0xf0, 0xaa, 0xba, 0x45, 0x65, 0xcc, 0xec,\n    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0xab, 0xbb, 0x48, 0x68, 0x48, 0x68,\n    0xa5, 0xb5, 0xcf, 0xef, 0x49, 0x69, 0xc7, 0xe7,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xd3, 0xf3,\n    0xa2, 0x4c, 0x6c, 0xa6, 0xb6, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,\n    0x6e, 0x3f, 0xbd, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xa3, 0xb3,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0xa9, 0xb9, 0x54, 0x74, 0x54, 0x74, 0xac, 0xbc,\n    0xdd, 0xfd, 0xde, 0xfe, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xae, 0xbe, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xb7,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xff, 0xb0, 0xb2, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0xff,\n    0xa8, 0x3f, 0xb0, 0x22, 0xb7, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0xb2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0xaa, 0xba, 0xaa, 0xba,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa9, 0xb9,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0xdd, 0xfd, 0xde, 0xfe, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0xb7, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0xaf, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0xb7, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28594 =\n{\n    { 28594, 1, 0x003f, 0x003f, \"ISO 8859-4 Latin 4 (Baltic old)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28595.cpp",
    "content": "/* code page 28595 (ISO 8859-5 Cyrillic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407,\n    0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f,\n    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\n    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\n    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\n    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\n    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\n    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\n    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\n    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,\n    0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457,\n    0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0xfd,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,\n    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0xb5, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xb8, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xd5, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xd8, 0xfe, 0xff,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0xd0, 0xb0, 0xd0, 0x3f, 0x3f, 0xb5, 0xd5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb6, 0xd6, 0xb7, 0xd7,\n    0x3f, 0x3f, 0xb8, 0xd8, 0xb8, 0xd8, 0xbe, 0xde,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xcd, 0xed, 0xc3, 0xe3,\n    0xc3, 0xe3, 0xc3, 0xe3, 0xc7, 0xe7, 0x3f, 0x3f,\n    0xcb, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xf0, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_28595 =\n{\n    { 28595, 1, 0x003f, 0x003f, \"ISO 8859-5 Cyrillic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28596.cpp",
    "content": "/* code page 28596 (ISO 8859-6 Arabic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x003f, 0x003f, 0x003f, 0x00a4, 0x003f, 0x00a6, 0x00a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x060c, 0x00ad, 0x003f, 0x003f,\n    0x00b0, 0x00b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b6, 0x00b7,\n    0x003f, 0x003f, 0x003f, 0x061b, 0x00bc, 0x00bd, 0x00be, 0x061f,\n    0x003f, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,\n    0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f,\n    0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637,\n    0x0638, 0x0639, 0x063a, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,\n    0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647,\n    0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f,\n    0x0650, 0x0651, 0x0652, 0x003f, 0x003f, 0x003f, 0x003f, 0x00f7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00fe, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0xa4, 0x59, 0xa6, 0xa7,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0x2d,\n    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,\n    0x2c, 0x31, 0x6f, 0x3e, 0xbc, 0xbd, 0xbe, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0xdf,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf7,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0600 .. 0x06ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,\n    0x3f, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x0400, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_28596 =\n{\n    { 28596, 1, 0x003f, 0x003f, \"ISO 8859-6 Arabic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28597.cpp",
    "content": "/* code page 28597 (ISO 8859-7 Greek) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x2018, 0x2019, 0x00a3, 0x00a4, 0x003f, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x003f, 0x00ab, 0x00ac, 0x00ad, 0x003f, 0x2015,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7,\n    0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f,\n    0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\n    0x03a0, 0x03a1, 0x003f, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7,\n    0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af,\n    0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\n    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\n    0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7,\n    0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0x72, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xec, 0x3f, 0xb7,\n    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0xbd, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe2,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0xa1, 0xa2, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0x3f, 0xbc, 0x3f, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0x3f, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x3f,\n    0xe2, 0xe8, 0xd5, 0xd5, 0xd5, 0xf6, 0xf0, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xf1, 0xf2, 0x3f, 0xc8, 0xe5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0xe5, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,\n    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,\n    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0xef, 0xef, 0xef, 0xef, 0xef, 0xef, 0x3f, 0x3f,\n    0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0xcf, 0x3f, 0x3f,\n    0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5, 0xf5,\n    0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5, 0x3f, 0xd5,\n    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,\n    0xe1, 0xdc, 0xe5, 0xdd, 0xe7, 0xde, 0xe9, 0xdf,\n    0xef, 0xfc, 0xf5, 0xfd, 0xf9, 0xfe, 0x3f, 0x3f,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7, 0xe7,\n    0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,\n    0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9, 0xd9,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xdc, 0x3f, 0xe1, 0xe1,\n    0xc1, 0xc1, 0xc1, 0xb6, 0xc1, 0x3f, 0xe9, 0x3f,\n    0x3f, 0xa8, 0xe7, 0xe7, 0xde, 0x3f, 0xe7, 0xe7,\n    0xc5, 0xb8, 0xc7, 0xb9, 0xc7, 0x3f, 0x3f, 0x3f,\n    0xe9, 0xe9, 0xfa, 0xc0, 0x3f, 0x3f, 0xe9, 0xfa,\n    0xc9, 0xc9, 0xc9, 0xba, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf5, 0xf5, 0xfb, 0xe0, 0xf1, 0xf1, 0xf5, 0xfb,\n    0xd5, 0xd5, 0xd5, 0xbe, 0xd1, 0xa8, 0xb5, 0x60,\n    0x3f, 0x3f, 0xf9, 0xf9, 0xfe, 0x3f, 0xf9, 0xf9,\n    0xcf, 0xbc, 0xd9, 0xbf, 0xd9, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xaf, 0xaf, 0xaf, 0x3f, 0x5f,\n    0xa1, 0xa2, 0x2c, 0xa1, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0xa1, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd9, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xe3, 0xc3, 0xd0,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xaf, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0xa3, 0xac, 0xaf, 0xa6, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28597 =\n{\n    { 28597, 1, 0x003f, 0x003f, \"ISO 8859-7 Greek\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28598.cpp",
    "content": "/* code page 28598 (ISO 8859-8 Hebrew) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x003f, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00de, 0x2017,\n    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\n    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\n    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\n    0x05e8, 0x05e9, 0x05ea, 0x003f, 0x003f, 0x200e, 0x200f, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xaa,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xba,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0500 .. 0x05ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0xfd, 0xfe,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xdf,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0xe0, 0xe1, 0xe2,\n    0xe3, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f,\n    0xf2, 0xe0, 0xe3, 0xe4, 0xeb, 0xec, 0xed, 0xf8,\n    0xfa, 0x2b, 0xf9, 0xf9, 0xf9, 0xf9, 0xe0, 0xe0,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x3f,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0x3f, 0xee, 0x3f,\n    0xf0, 0xf1, 0x3f, 0xf3, 0xf4, 0x3f, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xe5, 0xe1, 0xeb, 0xf4, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x0400, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_28598 =\n{\n    { 28598, 1, 0x003f, 0x003f, \"ISO 8859-8 Hebrew\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28599.cpp",
    "content": "/* code page 28599 (ISO 8859-9 Latin 5 (Turkish)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xd0, 0xf0,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0xdd, 0xfd, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0xde, 0xfe,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xb4, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xaf, 0xb4, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xb4, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0xa8, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xb4, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb4, 0xa8, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa8, 0xa8, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xb4, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xb4, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0xa6, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28599 =\n{\n    { 28599, 1, 0x003f, 0x003f, \"ISO 8859-9 Latin 5 (Turkish)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28600.cpp",
    "content": "/* code page 28600 (ISO 8859-10 Latin 6 (Nordic)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7,\n    0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a,\n    0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7,\n    0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b,\n    0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e,\n    0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf,\n    0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168,\n    0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\n    0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f,\n    0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef,\n    0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169,\n    0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0xa7,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0xad, 0x72, 0xbd,\n    0xb0, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xb7,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0x43,\n    0x45, 0xc9, 0x45, 0xcb, 0x49, 0xcd, 0xce, 0xcf,\n    0xd0, 0x4e, 0x4f, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,\n    0xd8, 0x55, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0x61, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0x63,\n    0x65, 0xe9, 0x65, 0xeb, 0x69, 0xed, 0xee, 0xef,\n    0xf0, 0x6e, 0x6f, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,\n    0xf8, 0x75, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0xc0, 0xe0, 0x41, 0x61, 0xa1, 0xb1, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,\n    0xa9, 0xb9, 0xa2, 0xb2, 0x45, 0x65, 0xcc, 0xec,\n    0xca, 0xea, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0xa3, 0xb3, 0x48, 0x68, 0x48, 0x68,\n    0xa5, 0xb5, 0xa4, 0xb4, 0x49, 0x69, 0xc7, 0xe7,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xa6, 0xb6,\n    0xff, 0x4c, 0x6c, 0xa8, 0xb8, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0xd1, 0xf1, 0x4e,\n    0x6e, 0x3f, 0xaf, 0xbf, 0xd2, 0xf2, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0xaa, 0xba, 0x54, 0x74, 0x54, 0x74, 0xab, 0xbb,\n    0xd7, 0xf7, 0xae, 0xbe, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xd9, 0xf9, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0xac, 0xbc, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xbd, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xbd, 0xbd, 0x3f, 0x3f,\n    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0xa2, 0xb2, 0xa2, 0xb2,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0xd2, 0xf2, 0xd2, 0xf2, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xaa, 0xba,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0xd7, 0xf7, 0xae, 0xbe, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0xbd, 0xbd, 0xbd, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xbd, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0xbd, 0xbd, 0xbd, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0xbd, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0xbd, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28600 =\n{\n    { 28600, 1, 0x003f, 0x003f, \"ISO 8859-10 Latin 6 (Nordic)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28603.cpp",
    "content": "/* code page 28603 (ISO 8859-13 Latin 7 (Baltic)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7,\n    0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7,\n    0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6,\n    0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112,\n    0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b,\n    0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7,\n    0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df,\n    0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113,\n    0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c,\n    0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7,\n    0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0xa2, 0xa3, 0xa4, 0x59, 0xa6, 0xa7,\n    0x22, 0xa9, 0x61, 0xab, 0xac, 0xad, 0xae, 0x2d,\n    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,\n    0x2c, 0xb9, 0x6f, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0xc4, 0xc5, 0xaf, 0x43,\n    0x45, 0xc9, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0xd3, 0x4f, 0xd5, 0xd6, 0xd7,\n    0xa8, 0x55, 0x55, 0x55, 0xdc, 0x59, 0x3f, 0xdf,\n    0x61, 0x61, 0x61, 0x61, 0xe4, 0xe5, 0xbf, 0x63,\n    0x65, 0xe9, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0xf3, 0x6f, 0xf5, 0xf6, 0xf7,\n    0xb8, 0x75, 0x75, 0x75, 0xfc, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0xc2, 0xe2, 0x41, 0x61, 0xc0, 0xe0, 0xc3, 0xe3,\n    0x43, 0x63, 0x43, 0x63, 0xc8, 0xe8, 0x44, 0x64,\n    0x44, 0x64, 0xc7, 0xe7, 0x45, 0x65, 0xcb, 0xeb,\n    0xc6, 0xe6, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0xcc, 0xec, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0xce, 0xee, 0x49, 0x69, 0xc1, 0xe1,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xcd, 0xed,\n    0x3f, 0x4c, 0x6c, 0xcf, 0xef, 0x4c, 0x6c, 0x3f,\n    0x3f, 0xd9, 0xf9, 0xd1, 0xf1, 0xd2, 0xf2, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0xd4, 0xf4, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0xaa, 0xba,\n    0x52, 0x72, 0xda, 0xfa, 0x53, 0x73, 0x53, 0x73,\n    0xd0, 0xf0, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0xdb, 0xfb, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xd8, 0xf8, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0xca, 0xea, 0xdd, 0xfd, 0xde, 0xfe, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xaf, 0xbf, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xaf, 0xbf, 0xa8, 0xb8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0xff, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0xc7, 0xe7, 0xc7, 0xe7,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0xd4, 0xf4, 0xd4, 0xf4, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0xda, 0xfa, 0xd0, 0xf0,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xdb, 0xfb, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0xff, 0x2c, 0x60, 0xb4, 0xa1, 0xa5, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x2d, 0x2d, 0xa6, 0xa6, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0xa6, 0xa6,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xb4, 0xa1, 0xa5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0x2d, 0xa6, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28603 =\n{\n    { 28603, 1, 0x003f, 0x003f, \"ISO 8859-13 Latin 7 (Baltic)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28604.cpp",
    "content": "/* code page 28604 (ISO 8859-14 Latin 8 (Celtic)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7,\n    0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178,\n    0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56,\n    0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0xa3, 0x3f, 0x59, 0x3f, 0xa7,\n    0x22, 0xa9, 0x61, 0x3c, 0x3f, 0xad, 0xae, 0x2d,\n    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0xb6, 0x3f,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0x44, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0x78,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0x64, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0x3f,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0xa4, 0xa5, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0xb2, 0xb3, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0xd0, 0xf0, 0xde, 0xfe,\n    0xaf, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0xa1, 0xa2, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0xa6, 0xab, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xb0, 0xb1,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0xb4, 0xb5, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0xb7, 0xb9,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0xbb, 0xbf, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0xd7, 0xf7, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0xa8, 0xb8, 0xaa, 0xba, 0xbd, 0xbe, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xac, 0xbc, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0xa3, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28604 =\n{\n    { 28604, 1, 0x003f, 0x003f, \"ISO 8859-14 Latin 8 (Celtic)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28605.cpp",
    "content": "/* code page 28605 (ISO 8859-15 Latin 9 (Euro)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7,\n    0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7,\n    0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7,\n    0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0x3f, 0xa5, 0x3f, 0xa7,\n    0x22, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0x27, 0xb5, 0xb6, 0xb7,\n    0x2c, 0xb9, 0xba, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xd0, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0xbe, 0x5a, 0x7a, 0x5a, 0x7a, 0xb4, 0xb8, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0xc5, 0xe5, 0xc6, 0xe6, 0xd8, 0xf8,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0xd5, 0xf5, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xaf, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0xaf, 0xaf, 0x3f, 0x3f,\n    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xd5, 0xf5, 0xd5, 0xf5,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0xa6, 0xa8,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xaf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa2, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0xc5, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0xac, 0xac, 0xac, 0xac, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xac, 0xac, 0xac,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xaf, 0xaf, 0xaf, 0xaf, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa2, 0xa3, 0xac, 0xaf, 0x3f, 0xa5, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28605 =\n{\n    { 28605, 1, 0x003f, 0x003f, \"ISO 8859-15 Latin 9 (Euro)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_28606.cpp",
    "content": "/* code page 28606 (ISO 8859-16 Latin 10 (Balkan)) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7,\n    0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b,\n    0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7,\n    0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c,\n    0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a,\n    0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df,\n    0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7,\n    0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef,\n    0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b,\n    0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0xa7,\n    0x22, 0xa9, 0x61, 0xab, 0x3f, 0xad, 0x72, 0x2d,\n    0xb0, 0xb1, 0x32, 0x33, 0x27, 0x75, 0xb6, 0xb7,\n    0x2c, 0x31, 0x6f, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc0, 0xc1, 0xc2, 0x41, 0xc4, 0x41, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0x4e, 0xd2, 0xd3, 0xd4, 0x4f, 0xd6, 0x78,\n    0x4f, 0xd9, 0xda, 0xdb, 0xdc, 0x59, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0x61, 0xe4, 0x61, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0x64, 0x6e, 0xf2, 0xf3, 0xf4, 0x6f, 0xf6, 0x3f,\n    0x6f, 0xf9, 0xfa, 0xfb, 0xfc, 0x79, 0x3f, 0xff,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0xc3, 0xe3, 0xa1, 0xa2, 0xc5, 0xe5,\n    0x43, 0x63, 0x43, 0x63, 0xb2, 0xb9, 0x44, 0x64,\n    0xd0, 0xf0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0xdd, 0xfd, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0xa3, 0xb3, 0xd1, 0xf1, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd5, 0xf5, 0xbc, 0xbd, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0xd7, 0xf7, 0x53, 0x73, 0x53, 0x73,\n    0xa6, 0xa8, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0xd8, 0xf8, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0xbe, 0xac, 0xae, 0xaf, 0xbf, 0xb4, 0xb8, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0xdc, 0xfc, 0xdc,\n    0xfc, 0xdc, 0xfc, 0xdc, 0xfc, 0x3f, 0xc4, 0xe4,\n    0x41, 0x61, 0xc6, 0xe6, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0xc6, 0xe6, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0xaa, 0xba, 0xde, 0xfe, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0xd6, 0xf6, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xb0, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xb0, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xb7,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xdf, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xdf, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0xc7, 0xe7, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xcf, 0xef,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0xd7, 0xf7, 0xa6, 0xa8,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xc2, 0xe2, 0xc2, 0xe2,\n    0xc2, 0xe2, 0xc2, 0xe2, 0x41, 0x61, 0xc3, 0xe3,\n    0xc3, 0xe3, 0xc3, 0xe3, 0xc3, 0xe3, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xca, 0xea,\n    0xca, 0xea, 0xca, 0xea, 0xca, 0xea, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4, 0xd4, 0xf4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0xb5, 0xa5, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xb1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xb0, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xab, 0xbb, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb7, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xab, 0xbb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0xb5, 0xa5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_28606 =\n{\n    { 28606, 1, 0x003f, 0x003f, \"ISO 8859-16 Latin 10 (Balkan)\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_424.cpp",
    "content": "/* code page 424 (IBM EBCDIC Hebrew) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,\n    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,\n    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,\n    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,\n    0x0020, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6,\n    0x05d7, 0x05d8, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c,\n    0x0026, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\n    0x05e0, 0x05e1, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac,\n    0x002d, 0x002f, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\n    0x05e8, 0x05e9, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,\n    0x003f, 0x05ea, 0x003f, 0x003f, 0x00a0, 0x003f, 0x003f, 0x003f,\n    0x2017, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,\n    0x003f, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x00ab, 0x00bb, 0x003f, 0x003f, 0x003f, 0x00b1,\n    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x003f, 0x003f, 0x003f, 0x00b8, 0x003f, 0x00a4,\n    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00ae,\n    0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,\n    0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7,\n    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x00ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,\n    0x0051, 0x0052, 0x00b9, 0x003f, 0x003f, 0x003f, 0x00de, 0x00df,\n    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,\n    0x0059, 0x005a, 0x00b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x00b3, 0x003f, 0x003f, 0x003f, 0x00fe, 0x009f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,\n    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,\n    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,\n    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,\n    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,\n    0x74, 0x5a, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,\n    0xbd, 0xb4, 0x81, 0x8a, 0x5f, 0xca, 0xaf, 0xbc,\n    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,\n    0x9d, 0xda, 0x96, 0x8b, 0xb7, 0xb8, 0xb9, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,\n    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xbf,\n    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0xde, 0xdf,\n    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,\n    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,\n    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0xe1,\n    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0xfe, 0xa8,\n    /* 0x0100 .. 0x01ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,\n    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,\n    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,\n    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,\n    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,\n    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,\n    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,\n    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,\n    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,\n    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,\n    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,\n    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,\n    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,\n    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,\n    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,\n    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,\n    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,\n    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,\n    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,\n    /* 0x0200 .. 0x02ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,\n    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,\n    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0xb0, 0xa5,\n    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,\n    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x79, 0xbe, 0xb0, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,\n    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,\n    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,\n    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,\n    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,\n    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,\n    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0500 .. 0x05ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,\n    0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x71, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,\n    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,\n    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,\n    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,\n    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,\n    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,\n    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,\n    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,\n    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,\n    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,\n    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,\n    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,\n    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,\n    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,\n    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,\n    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,\n    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x78,\n    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x5a, 0x3f, 0xbc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4a, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,\n    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,\n    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,\n    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,\n    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,\n    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x41, 0x42, 0x43,\n    0x44, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,\n    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,\n    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0xb0, 0x6e, 0xa5, 0x60, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,\n    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x4f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\n    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,\n    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\n    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x60, 0x60, 0x4f, 0x4f, 0x60, 0x60, 0x6a, 0x6a,\n    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x5f, 0x5f, 0x5f, 0x5f, 0xd3, 0xd3, 0xd3, 0xd3,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,\n    0x7e, 0x4f, 0x4e, 0x4e, 0x4e, 0x5f, 0x5f, 0x5f,\n    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x4f, 0x60, 0x4f,\n    0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f, 0x60, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xba, 0xbb, 0x3f, 0x7f, 0x7f, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x51, 0x3f, 0x3f,\n    0x62, 0x41, 0x44, 0x45, 0x53, 0x54, 0x55, 0x68,\n    0x71, 0x4e, 0x69, 0x69, 0x69, 0x69, 0x41, 0x41,\n    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x3f,\n    0x49, 0x51, 0x52, 0x53, 0x54, 0x3f, 0x56, 0x3f,\n    0x58, 0x59, 0x3f, 0x63, 0x64, 0x3f, 0x66, 0x67,\n    0x68, 0x69, 0x71, 0x46, 0x42, 0x53, 0x64, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,\n    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x5a,\n    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,\n    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,\n    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4a, 0xb1, 0x5f, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,\n    0x4f, 0x4c, 0xb0, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x0400, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_424 =\n{\n    { 424, 1, 0x003f, 0x003f, \"IBM EBCDIC Hebrew\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_437.cpp",
    "content": "/* code page 437 (OEM United States) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\n    0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\n    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,\n    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,\n    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,\n    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,\n    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,\n    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,\n    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,\n    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,\n    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9b, 0x9c, 0xaa, 0x2d, 0x3f, 0x9d, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_437 =\n{\n    { 437, 1, 0x003f, 0x003f, \"OEM United States\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_500.cpp",
    "content": "/* code page 500 (IBM EBCDIC International) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,\n    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,\n    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,\n    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,\n    0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5,\n    0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,\n    0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef,\n    0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,\n    0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5,\n    0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,\n    0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf,\n    0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,\n    0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1,\n    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4,\n    0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae,\n    0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc,\n    0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7,\n    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5,\n    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,\n    0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff,\n    0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,\n    0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,\n    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,\n    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x07,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,\n    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,\n    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,\n    0x41, 0xaa, 0xb0, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5,\n    0xbd, 0xb4, 0x9a, 0x8a, 0xba, 0xca, 0xaf, 0xbc,\n    0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3,\n    0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab,\n    0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68,\n    0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77,\n    0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf,\n    0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0xae, 0x59,\n    0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48,\n    0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57,\n    0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1,\n    0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0x8e, 0xdf,\n    /* 0x0100 .. 0x01ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,\n    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,\n    0xac, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,\n    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,\n    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,\n    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,\n    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,\n    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,\n    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,\n    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,\n    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,\n    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xac, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,\n    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,\n    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbb, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,\n    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xfc, 0xdc, 0xfc,\n    0xdc, 0xfc, 0xdc, 0xfc, 0xdc, 0x3f, 0x63, 0x43,\n    0xc1, 0x81, 0x9e, 0x9c, 0xc7, 0x87, 0xc7, 0x87,\n    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,\n    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,\n    0xd5, 0x95, 0x67, 0x47, 0x9e, 0x9c, 0x80, 0x70,\n    /* 0x0200 .. 0x02ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,\n    0xc5, 0x85, 0xec, 0xcc, 0xef, 0xcf, 0xd6, 0x96,\n    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,\n    0xa8, 0xbe, 0x7f, 0x79, 0x7d, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,\n    0x7d, 0xbc, 0xbe, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,\n    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x79, 0xbe, 0x5f, 0xa1, 0xbc, 0xbc, 0x3f, 0x3f,\n    0xbd, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x79, 0xbe, 0x3f, 0x3f, 0xbd, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xbe, 0xbd, 0xc1, 0xb3,\n    0xc5, 0xc8, 0xc9, 0x3f, 0xd6, 0x3f, 0xe8, 0x3f,\n    0x3f, 0xc1, 0xc2, 0x3f, 0x3f, 0xc5, 0xe9, 0xc8,\n    0x3f, 0xc9, 0xd2, 0x3f, 0xd4, 0xd5, 0x3f, 0xd6,\n    0x3f, 0xd7, 0x3f, 0x3f, 0xe3, 0xe8, 0x3f, 0xe7,\n    0x3f, 0x3f, 0xc9, 0xe8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x3f, 0xe8, 0xe8, 0xe8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,\n    0x68, 0x48, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,\n    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,\n    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,\n    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0x77, 0x57,\n    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,\n    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,\n    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,\n    0xd5, 0x95, 0xd5, 0x95, 0xef, 0xcf, 0xef, 0xcf,\n    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,\n    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,\n    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,\n    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,\n    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,\n    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,\n    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0x81, 0xc1, 0x81, 0x62, 0x42, 0x62, 0x42,\n    0x62, 0x42, 0x62, 0x42, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0x72, 0x52,\n    0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb, 0xeb, 0xcb,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,\n    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9, 0xc9,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8, 0x3f, 0xe8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc5, 0xc8, 0xc8, 0xc8, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0xc9, 0xc9, 0xc9, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe8, 0xe8, 0xe8, 0xe8, 0xd7, 0xbd, 0xbd, 0x79,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xd6, 0xd6, 0x3f, 0x3f, 0x3f, 0xbe, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,\n    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x60, 0x3f, 0x60, 0x60, 0x60, 0x3f, 0x6d,\n    0x79, 0x7d, 0x6b, 0x79, 0x7f, 0x7f, 0x6b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0xbe, 0x7f, 0x3f, 0x79, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xbc, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0x3f, 0x3f, 0xb1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,\n    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,\n    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,\n    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x3f, 0x3f,\n    0xe9, 0x3f, 0xd2, 0x67, 0xc2, 0xc3, 0x85, 0x85,\n    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,\n    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,\n    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0xbb, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x60, 0x8f, 0x3f, 0x61, 0xe0, 0x5c,\n    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,\n    0x3f, 0x3f, 0x3f, 0xbb, 0xbb, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x8a, 0x8b, 0x3f, 0x3f, 0x4c, 0x6e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xb3, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\n    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,\n    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\n    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x60, 0x60, 0xbb, 0xbb, 0x60, 0x60, 0x6a, 0x6a,\n    0x60, 0x60, 0x6a, 0x6a, 0x4e, 0x4e, 0x4e, 0x4e,\n    0xba, 0xba, 0xba, 0xba, 0xd3, 0xd3, 0xd3, 0xd3,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0x6a, 0x6a,\n    0x7e, 0xbb, 0x4e, 0x4e, 0x4e, 0xba, 0xba, 0xba,\n    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0xbb, 0x60, 0xbb,\n    0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb, 0x60, 0xbb,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x6e, 0x8a, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbc, 0xbc, 0xbc, 0xbc, 0x6d, 0x6d, 0x6d,\n    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,\n    0x60, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,\n    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,\n    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0xbb, 0xd0, 0xa1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0xb1, 0xba, 0xbc, 0x6a, 0xb2, 0x3f, 0x3f,\n    0xbb, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_500 =\n{\n    { 500, 1, 0x003f, 0x003f, \"IBM EBCDIC International\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_737.cpp",
    "content": "/* code page 737 (OEM Greek 437G) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398,\n    0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,\n    0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,\n    0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8,\n    0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0,\n    0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03c9, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,\n    0x03cb, 0x03ce, 0x0386, 0x0388, 0x0389, 0x038a, 0x038c, 0x038e,\n    0x038f, 0x00b1, 0x2265, 0x2264, 0x03aa, 0x03ab, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xa3, 0x3f, 0xfa,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x99,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0xea, 0xfa,\n    0xeb, 0xec, 0xed, 0x3f, 0xee, 0x3f, 0xef, 0xf0,\n    0xe4, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86,\n    0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e,\n    0x8f, 0x90, 0x3f, 0x91, 0x92, 0x93, 0x94, 0x95,\n    0x96, 0x97, 0xf4, 0xf5, 0xe1, 0xe2, 0xe3, 0xe5,\n    0xe8, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e,\n    0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xaa, 0xa9, 0xab, 0xac, 0xad, 0xae,\n    0xaf, 0xe0, 0xe4, 0xe8, 0xe6, 0xe7, 0xe9, 0x3f,\n    0x99, 0x9f, 0x93, 0x93, 0x93, 0xad, 0xa7, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa8, 0xaa, 0x3f, 0x87, 0x9c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,\n    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,\n    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x3f, 0x3f,\n    0x84, 0x84, 0x84, 0x84, 0x84, 0x84, 0x3f, 0x3f,\n    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,\n    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,\n    0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0, 0xa0,\n    0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,\n    0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0xa6, 0x3f, 0x3f,\n    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,\n    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,\n    0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93, 0x3f, 0x93,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,\n    0x98, 0xe1, 0x9c, 0xe2, 0x9e, 0xe3, 0xa0, 0xe5,\n    0xa6, 0xe6, 0xac, 0xe7, 0xe0, 0xe9, 0x3f, 0x3f,\n    0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98, 0x98,\n    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,\n    0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e, 0x9e,\n    0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86, 0x86,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97, 0x97,\n    0x98, 0x98, 0x98, 0x98, 0xe1, 0x3f, 0x98, 0x98,\n    0x80, 0x80, 0x80, 0xea, 0x80, 0x3f, 0xa0, 0x3f,\n    0x3f, 0x22, 0x9e, 0x9e, 0xe3, 0x3f, 0x9e, 0x9e,\n    0x84, 0xeb, 0x86, 0xec, 0x86, 0x3f, 0x3f, 0x3f,\n    0xa0, 0xa0, 0xe4, 0xe4, 0x3f, 0x3f, 0xa0, 0xe4,\n    0x88, 0x88, 0x88, 0xed, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xac, 0xac, 0xe8, 0xe8, 0xa8, 0xa8, 0xac, 0xe8,\n    0x93, 0x93, 0x93, 0xef, 0x90, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0xe0, 0xe0, 0xe9, 0x3f, 0xe0, 0xe0,\n    0x8e, 0xee, 0x97, 0xf0, 0x97, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x97, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x9a, 0x82, 0x8f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_737 =\n{\n    { 737, 1, 0x003f, 0x003f, \"OEM Greek 437G\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_775.cpp",
    "content": "/* code page 775 (OEM Baltic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0106, 0x00fc, 0x00e9, 0x0101, 0x00e4, 0x0123, 0x00e5, 0x0107,\n    0x0142, 0x0113, 0x0156, 0x0157, 0x012b, 0x0179, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x014d, 0x00f6, 0x0122, 0x00a2, 0x015a,\n    0x015b, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x00a4,\n    0x0100, 0x012a, 0x00f3, 0x017b, 0x017c, 0x017a, 0x201d, 0x00a6,\n    0x00a9, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x0141, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010c, 0x0118,\n    0x0116, 0x2563, 0x2551, 0x2557, 0x255d, 0x012e, 0x0160, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0172, 0x016a,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x017d,\n    0x0105, 0x010d, 0x0119, 0x0117, 0x012f, 0x0161, 0x0173, 0x016b,\n    0x017e, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x00d3, 0x00df, 0x014c, 0x0143, 0x00f5, 0x00d5, 0x00b5, 0x0144,\n    0x0136, 0x0137, 0x013b, 0x013c, 0x0146, 0x0112, 0x0145, 0x2019,\n    0x00ad, 0x00b1, 0x201c, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x201e,\n    0x00b0, 0x2219, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x96, 0x9c, 0x9f, 0x59, 0xa7, 0xf5,\n    0x22, 0xa8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0x2d,\n    0xf8, 0xf1, 0xfd, 0xfc, 0x27, 0xe6, 0xf4, 0xfa,\n    0x2c, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x43,\n    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0xe0, 0x4f, 0xe5, 0x99, 0x9e,\n    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,\n    0x61, 0x61, 0x61, 0x61, 0x84, 0x86, 0x91, 0x63,\n    0x65, 0x82, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0xa2, 0x6f, 0xe4, 0x94, 0xf6,\n    0x9b, 0x75, 0x75, 0x75, 0x81, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0xa0, 0x83, 0x41, 0x61, 0xb5, 0xd0, 0x80, 0x87,\n    0x43, 0x63, 0x43, 0x63, 0xb6, 0xd1, 0x44, 0x64,\n    0x44, 0x64, 0xed, 0x89, 0x45, 0x65, 0xb8, 0xd3,\n    0xb7, 0xd2, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x95, 0x85, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0xa1, 0x8c, 0x49, 0x69, 0xbd, 0xd4,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0xe8, 0xe9,\n    0x3f, 0x4c, 0x6c, 0xea, 0xeb, 0x4c, 0x6c, 0x3f,\n    0x3f, 0xad, 0x88, 0xe3, 0xe7, 0xee, 0xec, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0xe2, 0x93, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x8a, 0x8b,\n    0x52, 0x72, 0x97, 0x98, 0x53, 0x73, 0x53, 0x73,\n    0xbe, 0xd5, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0xc7, 0xd7, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xc6, 0xd6, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x8d, 0xa5, 0xa3, 0xa4, 0xcf, 0xd8, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0xef, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0xed, 0x89, 0xed, 0x89,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,\n    0xe2, 0x93, 0xe2, 0x93, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xbe, 0xd5,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0xc7, 0xd7, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0xef, 0x2c, 0x60, 0xf2, 0xa6, 0xf7, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x96, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa7, 0xa7,\n    0x2d, 0x2d, 0xa7, 0xa7, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa7, 0xa7,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0xf2, 0xa6, 0xf7,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x96, 0x9c, 0xaa, 0x2d, 0xa7, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_775 =\n{\n    { 775, 1, 0x003f, 0x003f, \"OEM Baltic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_850.cpp",
    "content": "/* code page 850 (OEM Multilingual Latin 1) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\n    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\n    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,\n    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\n    0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce,\n    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,\n    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe,\n    0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4,\n    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,\n    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,\n    0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,\n    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,\n    0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,\n    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,\n    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,\n    0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,\n    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,\n    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,\n    0xd0, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,\n    0x9b, 0x97, 0xa3, 0x96, 0x81, 0xec, 0xe7, 0x98,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0xd1, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0xd5, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,\n    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,\n    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,\n    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,\n    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_850 =\n{\n    { 850, 1, 0x003f, 0x003f, \"OEM Multilingual Latin 1\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_852.cpp",
    "content": "/* code page 852 (OEM Slovak Latin 2) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x016f, 0x0107, 0x00e7,\n    0x0142, 0x00eb, 0x0150, 0x0151, 0x00ee, 0x0179, 0x00c4, 0x0106,\n    0x00c9, 0x0139, 0x013a, 0x00f4, 0x00f6, 0x013d, 0x013e, 0x015a,\n    0x015b, 0x00d6, 0x00dc, 0x0164, 0x0165, 0x0141, 0x00d7, 0x010d,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0104, 0x0105, 0x017d, 0x017e,\n    0x0118, 0x0119, 0x00ac, 0x017a, 0x010c, 0x015f, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x011a,\n    0x015e, 0x2563, 0x2551, 0x2557, 0x255d, 0x017b, 0x017c, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0102, 0x0103,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\n    0x0111, 0x0110, 0x010e, 0x00cb, 0x010f, 0x0147, 0x00cd, 0x00ce,\n    0x011b, 0x2518, 0x250c, 0x2588, 0x2584, 0x0162, 0x016e, 0x2580,\n    0x00d3, 0x00df, 0x00d4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161,\n    0x0154, 0x00da, 0x0155, 0x0170, 0x00fd, 0x00dd, 0x0163, 0x00b4,\n    0x00ad, 0x02dd, 0x02db, 0x02c7, 0x02d8, 0x00a7, 0x00f7, 0x00b8,\n    0x00b0, 0x00a8, 0x02d9, 0x0171, 0x0158, 0x0159, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x3f, 0xf5,\n    0xf9, 0x63, 0x61, 0xae, 0xaa, 0xf0, 0x72, 0x2d,\n    0xf8, 0x3f, 0x32, 0x33, 0xef, 0x75, 0x3f, 0x3f,\n    0xf7, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0xb5, 0xb6, 0x41, 0x8e, 0x41, 0x41, 0x80,\n    0x45, 0x90, 0x45, 0xd3, 0x49, 0xd6, 0xd7, 0x49,\n    0xd1, 0x4e, 0x4f, 0xe0, 0xe2, 0x4f, 0x99, 0x9e,\n    0x4f, 0x55, 0xe9, 0x55, 0x9a, 0xed, 0x3f, 0xe1,\n    0x61, 0xa0, 0x83, 0x61, 0x84, 0x61, 0x61, 0x87,\n    0x65, 0x82, 0x65, 0x89, 0x69, 0xa1, 0x8c, 0x69,\n    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,\n    0x6f, 0x75, 0xa3, 0x75, 0x81, 0xec, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0xc6, 0xc7, 0xa4, 0xa5, 0x8f, 0x86,\n    0x43, 0x63, 0x43, 0x63, 0xac, 0x9f, 0xd2, 0xd4,\n    0xd1, 0xd0, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0xa8, 0xa9, 0xb7, 0xd8, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x91, 0x92, 0x4c, 0x6c, 0x95, 0x96, 0x3f,\n    0x3f, 0x9d, 0x88, 0xe3, 0xe4, 0x4e, 0x6e, 0xd5,\n    0xe5, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x8a, 0x8b, 0x4f, 0x6f, 0xe8, 0xea, 0x52, 0x72,\n    0xfc, 0xfd, 0x97, 0x98, 0x53, 0x73, 0xb8, 0xad,\n    0xe6, 0xe7, 0xdd, 0xee, 0x9b, 0x9c, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0xde, 0x85,\n    0xeb, 0xfb, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x8d, 0xab, 0xbd, 0xbe, 0xa6, 0xa7, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xd1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xef, 0xf1, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0xf3,\n    0x27, 0x2d, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xfa, 0xf8, 0xf2, 0x7e, 0xf1, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xef, 0x5e, 0x7e, 0x2d, 0x2d, 0xf4, 0xfa,\n    0xf9, 0x3f, 0xf8, 0xf1, 0xf3, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,\n    0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x97, 0x98, 0xe6, 0xe7,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,\n    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0xc6, 0xc7,\n    0xc6, 0xc7, 0xc6, 0xc7, 0xc6, 0xc7, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xef, 0xf1, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0xf3, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0xaa, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0xf3, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_852 =\n{\n    { 852, 1, 0x003f, 0x003f, \"OEM Slovak Latin 2\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_855.cpp",
    "content": "/* code page 855 (OEM Cyrillic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404,\n    0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408,\n    0x0459, 0x0409, 0x045a, 0x040a, 0x045b, 0x040b, 0x045c, 0x040c,\n    0x045e, 0x040e, 0x045f, 0x040f, 0x044e, 0x042e, 0x044a, 0x042a,\n    0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414,\n    0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438,\n    0x0418, 0x2563, 0x2551, 0x2557, 0x255d, 0x0439, 0x0419, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x043a, 0x041a,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\n    0x043b, 0x041b, 0x043c, 0x041c, 0x043d, 0x041d, 0x043e, 0x041e,\n    0x043f, 0x2518, 0x250c, 0x2588, 0x2584, 0x041f, 0x044f, 0x2580,\n    0x042f, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443,\n    0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044c, 0x042c, 0x2116,\n    0x00ad, 0x044b, 0x042b, 0x0437, 0x0417, 0x0448, 0x0428, 0x044d,\n    0x042d, 0x0449, 0x0429, 0x0447, 0x0427, 0x00a7, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x63, 0x4c, 0xcf, 0x59, 0x3f, 0xfd,\n    0x22, 0x63, 0x61, 0xae, 0x3f, 0xf0, 0x72, 0x2d,\n    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,\n    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0xa9, 0x85, 0x81, 0x83, 0x87, 0x89, 0x8b, 0x8d,\n    0x8f, 0x91, 0x93, 0x95, 0x97, 0xb8, 0x99, 0x9b,\n    0xa1, 0xa3, 0xec, 0xad, 0xa7, 0xa9, 0xea, 0xf4,\n    0xb8, 0xbe, 0xc7, 0xd1, 0xd3, 0xd5, 0xd7, 0xdd,\n    0xe2, 0xe4, 0xe6, 0xe8, 0xab, 0xb6, 0xa5, 0xfc,\n    0xf6, 0xfa, 0x9f, 0xf2, 0xee, 0xf8, 0x9d, 0xe0,\n    0xa0, 0xa2, 0xeb, 0xac, 0xa6, 0xa8, 0xe9, 0xf3,\n    0xb7, 0xbd, 0xc6, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8,\n    0xe1, 0xe3, 0xe5, 0xe7, 0xaa, 0xb5, 0xa4, 0xfb,\n    0xf5, 0xf9, 0x9e, 0xf1, 0xed, 0xf7, 0x9c, 0xde,\n    0xa8, 0x84, 0x80, 0x82, 0x86, 0x88, 0x8a, 0x8c,\n    0x8e, 0x90, 0x92, 0x94, 0x96, 0xb7, 0x98, 0x9a,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xea, 0xe9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa0, 0xa1, 0xa0, 0x3f, 0x3f, 0xa9, 0xa8,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xea, 0xe9, 0xf4, 0xf3,\n    0x3f, 0x3f, 0xb8, 0xb7, 0xb8, 0xb7, 0xd7, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xf8, 0xf7, 0xe8, 0xe7,\n    0xe8, 0xe7, 0xe8, 0xe7, 0xfc, 0xfb, 0x3f, 0x3f,\n    0xf2, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xef, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_855 =\n{\n    { 855, 1, 0x003f, 0x003f, \"OEM Cyrillic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_856.cpp",
    "content": "/* code page 856 (Hebrew PC) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\n    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\n    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\n    0x05e8, 0x05e9, 0x05ea, 0x009b, 0x00a3, 0x009d, 0x00d7, 0x009f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x003f, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x003f, 0x003f, 0x003f,\n    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x003f, 0x003f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00de, 0x2580,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00b5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x00af, 0x00b4,\n    0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,\n    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x9b, 0x3f, 0x9d, 0x3f, 0x9f,\n    0xff, 0x21, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,\n    0xf9, 0xb8, 0x61, 0xae, 0xaa, 0xf0, 0xa9, 0xee,\n    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,\n    0xf7, 0xfb, 0x6f, 0xaf, 0xac, 0xab, 0xf3, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x9e,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xf6,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,\n    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0500 .. 0x05ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0xf2,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,\n    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,\n    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,\n    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,\n    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,\n    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x0400, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_856 =\n{\n    { 856, 1, 0x003f, 0x003f, \"Hebrew PC\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_857.cpp",
    "content": "/* code page 857 (OEM Turkish) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\n    0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f,\n    0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0,\n    0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4,\n    0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, 0x003f, 0x00cd, 0x00ce,\n    0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580,\n    0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x003f,\n    0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x00af, 0x00b4,\n    0x00ad, 0x00b1, 0x003f, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8,\n    0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,\n    0xf9, 0xb8, 0xd1, 0xae, 0xaa, 0xf0, 0xa9, 0xee,\n    0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,\n    0xf7, 0xfb, 0xd0, 0xaf, 0xac, 0xab, 0xf3, 0xa8,\n    0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,\n    0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,\n    0x44, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0xe8,\n    0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0x59, 0x3f, 0xe1,\n    0x85, 0xa0, 0x83, 0xc6, 0x84, 0x86, 0x91, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0xec, 0xa1, 0x8c, 0x8b,\n    0x64, 0xa4, 0x95, 0xa2, 0x93, 0xe4, 0x94, 0xf6,\n    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0xed,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0xa6, 0xa7,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x98, 0x8d, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x9e, 0x9f,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0xe5, 0xe4, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xef, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xee, 0xef, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xef, 0x5e, 0x7e, 0xee, 0xee, 0x3f, 0x3f,\n    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf7,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xef, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf9, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xe1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0xd8, 0x8b,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0xe5, 0xe4, 0xe5, 0xe4,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0xb6, 0x83, 0xb6, 0x83,\n    0xb6, 0x83, 0xb6, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0xd2, 0x88,\n    0xd2, 0x88, 0xd2, 0x88, 0xd2, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93, 0xe2, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xf9, 0xf9, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0xef, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xef, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xee, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xbd, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xdd, 0xdd,\n    0x2d, 0x2d, 0xdd, 0xdd, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xdd, 0xdd,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xee, 0xee, 0xee, 0xee, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbd, 0x9c, 0xaa, 0xee, 0xdd, 0xbe, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_857 =\n{\n    { 857, 1, 0x003f, 0x003f, \"OEM Turkish\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_860.cpp",
    "content": "/* code page 860 (OEM Portuguese) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e3, 0x00e0, 0x00c1, 0x00e7,\n    0x00ea, 0x00ca, 0x00e8, 0x00cd, 0x00d4, 0x00ec, 0x00c3, 0x00c2,\n    0x00c9, 0x00c0, 0x00c8, 0x00f4, 0x00f5, 0x00f2, 0x00da, 0x00f9,\n    0x00cc, 0x00d5, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d3,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\n    0x00bf, 0x00d2, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,\n    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,\n    0x91, 0x86, 0x8f, 0x8e, 0x41, 0x41, 0x41, 0x80,\n    0x92, 0x90, 0x89, 0x45, 0x98, 0x8b, 0x49, 0x49,\n    0x44, 0xa5, 0xa9, 0x9f, 0x8c, 0x99, 0x4f, 0x78,\n    0x4f, 0x9d, 0x96, 0x55, 0x9a, 0x59, 0x3f, 0xe1,\n    0x85, 0xa0, 0x83, 0x84, 0x61, 0x61, 0x61, 0x87,\n    0x8a, 0x82, 0x88, 0x65, 0x8d, 0xa1, 0x69, 0x69,\n    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x94, 0x6f, 0xf6,\n    0x6f, 0x97, 0xa3, 0x75, 0x81, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x99, 0x94, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x99, 0x94, 0x99, 0x94,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x8f, 0x83, 0x8f, 0x83,\n    0x8f, 0x83, 0x8f, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x89, 0x88,\n    0x89, 0x88, 0x89, 0x88, 0x89, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93, 0x8c, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9b, 0x9c, 0xaa, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_860 =\n{\n    { 860, 1, 0x003f, 0x003f, \"OEM Portuguese\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_861.cpp",
    "content": "/* code page 861 (OEM Icelandic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00d0, 0x00f0, 0x00de, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00fe, 0x00fb, 0x00dd,\n    0x00fd, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00c1, 0x00cd, 0x00d3, 0x00da,\n    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0x63, 0x9c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,\n    0x2c, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0x3f, 0xa8,\n    0x41, 0xa4, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,\n    0x45, 0x90, 0x45, 0x45, 0x49, 0xa5, 0x49, 0x49,\n    0x8b, 0x4e, 0x4f, 0xa6, 0x4f, 0x4f, 0x99, 0x78,\n    0x9d, 0x55, 0xa7, 0x55, 0x9a, 0x97, 0x8d, 0xe1,\n    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0x69, 0xa1, 0x69, 0x69,\n    0x8c, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x94, 0xf6,\n    0x9b, 0x75, 0xa3, 0x96, 0x81, 0x98, 0x95, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x8b, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,\n    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,\n    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x9c, 0xaa, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_861 =\n{\n    { 861, 1, 0x003f, 0x003f, \"OEM Icelandic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_862.cpp",
    "content": "/* code page 862 (OEM Hebrew) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7,\n    0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df,\n    0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7,\n    0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\n    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0x9b, 0x9c, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,\n    0x2c, 0x31, 0xa7, 0xaf, 0xac, 0xab, 0x3f, 0xa8,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xe1,\n    0x61, 0xa0, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0xa1, 0x69, 0x69,\n    0x64, 0xa4, 0x6f, 0xa2, 0x6f, 0x6f, 0x6f, 0xf6,\n    0x6f, 0x75, 0xa3, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0500 .. 0x05ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x80, 0x81, 0x82,\n    0x83, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x89, 0x3f, 0x3f,\n    0x92, 0x80, 0x83, 0x84, 0x8b, 0x8c, 0x8d, 0x98,\n    0x9a, 0x2b, 0x99, 0x99, 0x99, 0x99, 0x80, 0x80,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x3f,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x3f, 0x8e, 0x3f,\n    0x90, 0x91, 0x3f, 0x93, 0x94, 0x3f, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x85, 0x81, 0x8b, 0x94, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9b, 0x9c, 0xaa, 0x2d, 0x3f, 0x9d, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x0400, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_862 =\n{\n    { 862, 1, 0x003f, 0x003f, \"OEM Hebrew\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_863.cpp",
    "content": "/* code page 863 (OEM Canadian French) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00c2, 0x00e0, 0x00b6, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x2017, 0x00c0, 0x00a7,\n    0x00c9, 0x00c8, 0x00ca, 0x00f4, 0x00cb, 0x00cf, 0x00fb, 0x00f9,\n    0x00a4, 0x00d4, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x00db, 0x0192,\n    0x00a6, 0x00b4, 0x00f3, 0x00fa, 0x00a8, 0x00b8, 0x00b3, 0x00af,\n    0x00ce, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00be, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x9b, 0x9c, 0x98, 0x59, 0xa0, 0x8f,\n    0xa4, 0x63, 0x61, 0xae, 0xaa, 0x2d, 0x72, 0xa7,\n    0xf8, 0xf1, 0xfd, 0xa6, 0xa1, 0xe6, 0x86, 0xfa,\n    0xa5, 0x31, 0x6f, 0xaf, 0xac, 0xab, 0xad, 0x3f,\n    0x8e, 0x41, 0x84, 0x41, 0x41, 0x41, 0x41, 0x80,\n    0x91, 0x90, 0x92, 0x94, 0x49, 0x49, 0xa8, 0x95,\n    0x44, 0x4e, 0x4f, 0x4f, 0x99, 0x4f, 0x4f, 0x78,\n    0x4f, 0x9d, 0x55, 0x9e, 0x9a, 0x59, 0x3f, 0xe1,\n    0x85, 0x61, 0x83, 0x61, 0x61, 0x61, 0x61, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0x69, 0x69, 0x8c, 0x8b,\n    0x64, 0x6e, 0x6f, 0xa2, 0x93, 0x6f, 0x6f, 0xf6,\n    0x6f, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0xa1, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0xa7, 0xa1, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0xa1, 0x5e, 0x7e, 0xa7, 0xa7, 0x3f, 0x3f,\n    0xa4, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0xa1, 0x3f, 0x3f, 0xa4, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0xa4, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x95, 0x8b,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x84, 0x83, 0x84, 0x83,\n    0x84, 0x83, 0x84, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x92, 0x88,\n    0x92, 0x88, 0x92, 0x88, 0x92, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x99, 0x93, 0x99, 0x93, 0x99, 0x93, 0x99, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0xa4, 0xa4, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0xa1, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x8d,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0xa1, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0xa7, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x9b, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0xa0, 0xa0,\n    0x2d, 0x2d, 0xa0, 0xa0, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0xa0, 0xa0,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0xa7, 0xa7, 0xa7, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9b, 0x9c, 0xaa, 0xa7, 0xa0, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_863 =\n{\n    { 863, 1, 0x003f, 0x003f, \"OEM Canadian French\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_864.cpp",
    "content": "/* code page 864 (OEM Arabic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x066a, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00b0, 0x00b7, 0x2219, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c,\n    0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518,\n    0x03b2, 0x221e, 0x03c6, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab,\n    0x00bb, 0xfef7, 0xfef8, 0x009b, 0x009c, 0xfefb, 0xfefc, 0x009f,\n    0x00a0, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, 0x003f, 0x00a7,\n    0xfe8e, 0xfe8f, 0xfe95, 0xfe99, 0x060c, 0xfe9d, 0xfea1, 0xfea5,\n    0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667,\n    0x0668, 0x0669, 0xfed1, 0x061b, 0xfeb1, 0xfeb5, 0xfeb9, 0x061f,\n    0x00a2, 0xfe80, 0xfe81, 0xfe83, 0xfe85, 0xfeca, 0xfe8b, 0xfe8d,\n    0xfe91, 0xfe93, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0xfea9,\n    0xfeab, 0xfead, 0xfeaf, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0xfec1,\n    0xfec5, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0xfec9,\n    0x0640, 0xfed3, 0xfed7, 0xfedb, 0xfedf, 0xfee3, 0xfee7, 0xfeeb,\n    0xfeed, 0xfeef, 0xfef3, 0xfebd, 0xfecc, 0xfece, 0xfecd, 0xfee1,\n    0xfe7d, 0x0651, 0xfee5, 0xfee9, 0xfeec, 0xfef0, 0xfef2, 0xfed0,\n    0xfed5, 0xfef5, 0xfef6, 0xfedd, 0xfed9, 0xfef1, 0x25a0, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x9b, 0x9c, 0x3f, 0x3f, 0x9f,\n    0xa0, 0x21, 0xc0, 0xa3, 0xa4, 0x59, 0xdb, 0xa7,\n    0x22, 0x63, 0x61, 0x97, 0xdc, 0xa1, 0x72, 0x2d,\n    0x80, 0x93, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x81,\n    0x2c, 0x31, 0x6f, 0x98, 0x95, 0x94, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0xde,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x90,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0xdd,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x86, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x80, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x80, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x81,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x92, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x3f, 0x59, 0x59, 0x59, 0x92, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0600 .. 0x06ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xac, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xbb, 0x3f, 0x3f, 0x3f, 0xbf,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0x25, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x82, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x80, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc0, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x93, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x80, 0x82, 0x83, 0x3f, 0x3f, 0x3f, 0x91, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x96, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x97, 0x98, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x81, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x85, 0x85, 0x86, 0x86, 0x2d, 0x2d, 0xdb, 0xdb,\n    0x2d, 0x2d, 0xdb, 0xdb, 0x8d, 0x8d, 0x8d, 0x8d,\n    0x8c, 0x8c, 0x8c, 0x8c, 0x8e, 0x8e, 0x8e, 0x8e,\n    0x8f, 0x8f, 0x8f, 0x8f, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x88, 0x88, 0x88, 0x88,\n    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,\n    0x89, 0x89, 0x89, 0x89, 0x8b, 0x8b, 0x8b, 0x8b,\n    0x8b, 0x8b, 0x8b, 0x8b, 0x87, 0x87, 0x87, 0x87,\n    0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87, 0x87,\n    0x87, 0x87, 0x87, 0x87, 0x2d, 0x2d, 0xdb, 0xdb,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0xdc, 0xdc, 0xdc,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x84, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x97, 0x98, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x3f, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xf0, 0x3f, 0x3f,\n    0xc1, 0xc2, 0xa2, 0xc3, 0xa5, 0xc4, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xc6, 0x3f, 0xc7, 0xa8, 0xa9,\n    0x3f, 0xc8, 0x3f, 0xc9, 0x3f, 0xaa, 0x3f, 0xca,\n    0x3f, 0xab, 0x3f, 0xcb, 0x3f, 0xad, 0x3f, 0xcc,\n    0x3f, 0xae, 0x3f, 0xcd, 0x3f, 0xaf, 0x3f, 0xce,\n    0x3f, 0xcf, 0x3f, 0xd0, 0x3f, 0xd1, 0x3f, 0xd2,\n    0x3f, 0xbc, 0x3f, 0xd3, 0x3f, 0xbd, 0x3f, 0xd4,\n    0x3f, 0xbe, 0x3f, 0xd5, 0x3f, 0xeb, 0x3f, 0xd6,\n    0x3f, 0xd7, 0x3f, 0x3f, 0x3f, 0xd8, 0x3f, 0x3f,\n    0x3f, 0xdf, 0xc5, 0xd9, 0xec, 0xee, 0xed, 0xda,\n    0xf7, 0xba, 0x3f, 0xe1, 0x3f, 0xf8, 0x3f, 0xe2,\n    0x3f, 0xfc, 0x3f, 0xe3, 0x3f, 0xfb, 0x3f, 0xe4,\n    0x3f, 0xef, 0x3f, 0xe5, 0x3f, 0xf2, 0x3f, 0xe6,\n    0x3f, 0xf3, 0x3f, 0xe7, 0xf4, 0xe8, 0x3f, 0xe9,\n    0xf5, 0xfd, 0xf6, 0xea, 0x3f, 0xf9, 0xfa, 0x99,\n    0x9a, 0x3f, 0x3f, 0x9d, 0x9e, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x3f, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc0, 0xa3, 0xdc, 0x2d, 0xdb, 0x59, 0x3f, 0x3f,\n    0x86, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x0400, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_864 =\n{\n    { 864, 1, 0x003f, 0x003f, \"OEM Arabic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_865.cpp",
    "content": "/* code page 865 (OEM Nordic) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7,\n    0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5,\n    0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9,\n    0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192,\n    0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba,\n    0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00a4,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4,\n    0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229,\n    0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0xad, 0x63, 0x9c, 0xaf, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0xa6, 0xae, 0xaa, 0x2d, 0x72, 0x2d,\n    0xf8, 0xf1, 0xfd, 0x33, 0x27, 0xe6, 0x3f, 0xfa,\n    0x2c, 0x31, 0xa7, 0x3e, 0xac, 0xab, 0x3f, 0xa8,\n    0x41, 0x41, 0x41, 0x41, 0x8e, 0x8f, 0x92, 0x80,\n    0x45, 0x90, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0xa5, 0x4f, 0x4f, 0x4f, 0x4f, 0x99, 0x78,\n    0x9d, 0x55, 0x55, 0x55, 0x9a, 0x59, 0x3f, 0xe1,\n    0x85, 0xa0, 0x83, 0x61, 0x84, 0x86, 0x91, 0x87,\n    0x8a, 0x82, 0x88, 0x89, 0x8d, 0xa1, 0x8c, 0x8b,\n    0x64, 0xa4, 0x95, 0xa2, 0x93, 0x6f, 0x94, 0xf6,\n    0x9b, 0x97, 0xa3, 0x96, 0x81, 0x79, 0x3f, 0x98,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x9f, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x9a, 0x81, 0x9a,\n    0x81, 0x9a, 0x81, 0x9a, 0x81, 0x3f, 0x8e, 0x84,\n    0x41, 0x61, 0x92, 0x91, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x8f, 0x86, 0x92, 0x91, 0x9d, 0x9b,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x99, 0x94, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0xea,\n    0x3f, 0x41, 0x42, 0xe2, 0x3f, 0x45, 0x5a, 0x48,\n    0xe9, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0xe4, 0x54, 0x59, 0xe8, 0x58,\n    0x3f, 0xea, 0x49, 0x59, 0xe0, 0xee, 0x3f, 0x3f,\n    0x3f, 0xe0, 0xe1, 0x3f, 0xeb, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe6, 0x3f, 0x3f, 0x3f,\n    0xe3, 0x3f, 0x3f, 0xe5, 0xe7, 0x3f, 0xed, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0x3f, 0x59, 0x59, 0x59, 0xed, 0xe3, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0xee, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x80, 0x87, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x8b,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x83, 0x41, 0x83,\n    0x41, 0x83, 0x41, 0x83, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x88,\n    0x45, 0x88, 0x45, 0x88, 0x45, 0x88, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93, 0x4f, 0x93,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xee, 0xee, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xea,\n    0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x3f, 0xe0, 0xe0,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0xea, 0xea, 0xea, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0xfc,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x9e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xea, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x8f, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0xe2, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0xec, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xef, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf7, 0xf7, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0xf0, 0xf0, 0xf0, 0xf3, 0xf2, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0xf3, 0xf2, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf4, 0xf5, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x9c, 0xaa, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_865 =\n{\n    { 865, 1, 0x003f, 0x003f, \"OEM Nordic\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_866.cpp",
    "content": "/* code page 866 (OEM Russian) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,\n    0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f,\n    0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,\n    0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f,\n    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,\n    0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,\n    0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567,\n    0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b,\n    0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580,\n    0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,\n    0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f,\n    0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e,\n    0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x63, 0x4c, 0xfd, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,\n    0xf8, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0xfa,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0xfa,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0x85, 0xf0, 0x3f, 0x83, 0xf2, 0x3f, 0x3f, 0xf4,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x8a, 0x88, 0xf6, 0x3f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xa5, 0xf1, 0x3f, 0xa3, 0xf3, 0x3f, 0x3f, 0xf5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xaa, 0xa8, 0xf7, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x86, 0xa6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x80, 0xa0, 0x80, 0xa0, 0x3f, 0x3f, 0x85, 0xa5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x86, 0xa6, 0x87, 0xa7,\n    0x3f, 0x3f, 0x88, 0xa8, 0x88, 0xa8, 0x8e, 0xae,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x9d, 0xed, 0x93, 0xe3,\n    0x93, 0xe3, 0x93, 0xe3, 0x97, 0xe7, 0x3f, 0x3f,\n    0x9b, 0xeb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0xf9, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0xfc, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0xf9, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xfa, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xcd, 0xba, 0xd5, 0xd6, 0xc9, 0xb8, 0xb7, 0xbb,\n    0xd4, 0xd3, 0xc8, 0xbe, 0xbd, 0xbc, 0xc6, 0xc7,\n    0xcc, 0xb5, 0xb6, 0xb9, 0xd1, 0xd2, 0xcb, 0xcf,\n    0xd0, 0xca, 0xd8, 0xd7, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0xdd, 0x3f, 0x3f, 0x3f,\n    0xde, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_866 =\n{\n    { 866, 1, 0x003f, 0x003f, \"OEM Russian\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_869.cpp",
    "content": "/* code page 869 (OEM Greek) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0386, 0x0087,\n    0x00b7, 0x00ac, 0x00a6, 0x2018, 0x2019, 0x0388, 0x2015, 0x0389,\n    0x038a, 0x03aa, 0x038c, 0x0093, 0x0094, 0x038e, 0x03ab, 0x00a9,\n    0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af,\n    0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394,\n    0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb,\n    0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c,\n    0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510,\n    0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1,\n    0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3,\n    0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2,\n    0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580,\n    0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd,\n    0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x0384,\n    0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385,\n    0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x3f, 0x87,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x93, 0x94, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xff, 0x21, 0x63, 0x9c, 0x3f, 0x59, 0x8a, 0xf5,\n    0xf9, 0x97, 0x61, 0xae, 0x89, 0xf0, 0x72, 0x8e,\n    0xf8, 0xf1, 0x99, 0x9a, 0x27, 0xe6, 0x3f, 0x88,\n    0x2c, 0x31, 0x6f, 0xaf, 0x3f, 0xab, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0xd7,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xb3, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x8b, 0x8c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x8e, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xf8, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x8e, 0x8e, 0x3f, 0x3f,\n    0xf9, 0x3f, 0xf8, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0xf9, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xef, 0xf7, 0x86, 0x88,\n    0x8d, 0x8f, 0x90, 0x3f, 0x92, 0x3f, 0x95, 0x98,\n    0xa1, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa,\n    0xac, 0xad, 0xb5, 0xb6, 0xb7, 0xb8, 0xbd, 0xbe,\n    0xc6, 0xc7, 0x3f, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3,\n    0xd4, 0xd5, 0x91, 0x96, 0x9b, 0x9d, 0x9e, 0x9f,\n    0xfc, 0xd6, 0xd7, 0xd8, 0xdd, 0xde, 0xe0, 0xe1,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0xea, 0xeb, 0xed, 0xec, 0xee, 0xf2, 0xf3, 0xf4,\n    0xf6, 0xfa, 0xa0, 0xfb, 0xa2, 0xa3, 0xfd, 0x3f,\n    0xd7, 0xe2, 0xd1, 0xd1, 0xd1, 0xf3, 0xea, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe4, 0xeb, 0xed, 0x3f, 0xac, 0xde, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,\n    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,\n    0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0x3f, 0x3f,\n    0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0xa8, 0x3f, 0x3f,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,\n    0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,\n    0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0xe9, 0x3f, 0x3f,\n    0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0xbe, 0x3f, 0x3f,\n    0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2, 0xf2,\n    0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1, 0x3f, 0xd1,\n    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,\n    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,\n    0xd6, 0x9b, 0xde, 0x9d, 0xe1, 0x9e, 0xe3, 0x9f,\n    0xe9, 0xa2, 0xf2, 0xa3, 0xfa, 0xfd, 0x3f, 0x3f,\n    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6,\n    0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4, 0xa4,\n    0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1, 0xe1,\n    0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,\n    0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa, 0xfa,\n    0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5,\n    0xd6, 0xd6, 0xd6, 0xd6, 0x9b, 0x3f, 0xd6, 0xd6,\n    0xa4, 0xa4, 0xa4, 0x86, 0xa4, 0x3f, 0xe3, 0x3f,\n    0x3f, 0xf9, 0xe1, 0xe1, 0x9e, 0x3f, 0xe1, 0xe1,\n    0xa8, 0x8d, 0xaa, 0x8f, 0xaa, 0x3f, 0x3f, 0x3f,\n    0xe3, 0xe3, 0xa0, 0xa1, 0x3f, 0x3f, 0xe3, 0xa0,\n    0xad, 0xad, 0xad, 0x90, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf2, 0xf2, 0xfb, 0xfc, 0xeb, 0xeb, 0xf2, 0xfb,\n    0xd1, 0xd1, 0xd1, 0x95, 0xc7, 0xf9, 0xf7, 0x60,\n    0x3f, 0x3f, 0xfa, 0xfa, 0xfd, 0x3f, 0xfa, 0xfa,\n    0xbe, 0x92, 0xd5, 0x98, 0xd5, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x8e, 0x8e, 0x8e, 0x3f, 0x5f,\n    0x8b, 0x8c, 0x2c, 0x8b, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x8b, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x8e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf8, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x9c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0xd5, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0xd8, 0xa6, 0xc6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0xf1, 0x3f, 0x2f, 0x5c, 0x2a,\n    0xf8, 0x3f, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xae, 0xaf, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x88, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0xc4, 0xc4, 0xb3, 0xb3, 0x2d, 0x2d, 0x8a, 0x8a,\n    0x2d, 0x2d, 0x8a, 0x8a, 0xda, 0xda, 0xda, 0xda,\n    0xbf, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc0,\n    0xd9, 0xd9, 0xd9, 0xd9, 0xc3, 0xc3, 0xc3, 0xc3,\n    0xc3, 0xc3, 0xc3, 0xc3, 0xb4, 0xb4, 0xb4, 0xb4,\n    0xb4, 0xb4, 0xb4, 0xb4, 0xc2, 0xc2, 0xc2, 0xc2,\n    0xc2, 0xc2, 0xc2, 0xc2, 0xc1, 0xc1, 0xc1, 0xc1,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5, 0xc5,\n    0xc5, 0xc5, 0xc5, 0xc5, 0x2d, 0x2d, 0x8a, 0x8a,\n    0xcd, 0xba, 0xc9, 0xc9, 0xc9, 0xbb, 0xbb, 0xbb,\n    0xc8, 0xc8, 0xc8, 0xbc, 0xbc, 0xbc, 0xcc, 0xcc,\n    0xcc, 0xb9, 0xb9, 0xb9, 0xcb, 0xcb, 0xcb, 0xca,\n    0xca, 0xca, 0xce, 0xce, 0xce, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0xdf, 0x3f, 0x3f, 0x3f, 0xdc, 0x3f, 0x3f, 0x3f,\n    0xdb, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xb0, 0xb1, 0xb2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xfe, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0xae, 0xaf, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x8e, 0x8e, 0x8e, 0x8e, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x8e, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x9c, 0x89, 0x8e, 0x8a, 0x59, 0x3f, 0x3f,\n    0xb3, 0x3c, 0x5e, 0x3e, 0x76, 0xfe, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_869 =\n{\n    { 869, 1, 0x003f, 0x003f, \"OEM Greek\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_874.cpp",
    "content": "/* code page 874 (ANSI/OEM Thai) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP874.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0081, 0x0082, 0x0083, 0x0084, 0x2026, 0x0086, 0x0087,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f,\n    0x0090, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f,\n    0x00a0, 0x0e01, 0x0e02, 0x0e03, 0x0e04, 0x0e05, 0x0e06, 0x0e07,\n    0x0e08, 0x0e09, 0x0e0a, 0x0e0b, 0x0e0c, 0x0e0d, 0x0e0e, 0x0e0f,\n    0x0e10, 0x0e11, 0x0e12, 0x0e13, 0x0e14, 0x0e15, 0x0e16, 0x0e17,\n    0x0e18, 0x0e19, 0x0e1a, 0x0e1b, 0x0e1c, 0x0e1d, 0x0e1e, 0x0e1f,\n    0x0e20, 0x0e21, 0x0e22, 0x0e23, 0x0e24, 0x0e25, 0x0e26, 0x0e27,\n    0x0e28, 0x0e29, 0x0e2a, 0x0e2b, 0x0e2c, 0x0e2d, 0x0e2e, 0x0e2f,\n    0x0e30, 0x0e31, 0x0e32, 0x0e33, 0x0e34, 0x0e35, 0x0e36, 0x0e37,\n    0x0e38, 0x0e39, 0x0e3a, 0x003f, 0x003f, 0x003f, 0x00de, 0x0e3f,\n    0x0e40, 0x0e41, 0x0e42, 0x0e43, 0x0e44, 0x0e45, 0x0e46, 0x0e47,\n    0x0e48, 0x0e49, 0x0e4a, 0x0e4b, 0x0e4c, 0x0e4d, 0x0e4e, 0x0e4f,\n    0x0e50, 0x0e51, 0x0e52, 0x0e53, 0x0e54, 0x0e55, 0x0e56, 0x0e57,\n    0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0x003f, 0x003f, 0x00fe, 0x003f\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x81, 0x82, 0x83, 0x84, 0x3f, 0x86, 0x87,\n    0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,\n    0x90, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,\n    0xa0, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0x63, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x97,\n    0x3f, 0x3f, 0x32, 0x33, 0x27, 0x75, 0x3f, 0x3f,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0xde, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x3f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0xfe, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7c, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x91, 0x92, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x97, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x97, 0x97, 0x3f, 0x3f,\n    0x22, 0x3f, 0x3f, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x3f,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0e00 .. 0x0eff */\n    0x3f, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,\n    0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,\n    0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,\n    0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,\n    0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,\n    0xd8, 0xd9, 0xda, 0x3f, 0x3f, 0x3f, 0x3f, 0xdf,\n    0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,\n    0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0xfa, 0xfb, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x96, 0x97, 0x96, 0x3f, 0x5f,\n    0x91, 0x92, 0x2c, 0x91, 0x93, 0x94, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x85, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x91, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x97, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x80, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x3f, 0x95, 0x56, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x2d, 0x2d, 0x7c, 0x7c, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4c, 0x4c, 0x4c, 0x4c,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x54,\n    0x54, 0x54, 0x54, 0x54, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x3d, 0x7c, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x4c, 0x4c, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x54, 0x54, 0x54, 0x2b,\n    0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x93, 0x94, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x97, 0x97, 0x97, 0x97, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x97, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x97, 0x3f, 0x59, 0x3f, 0x3f,\n    0x7c, 0x3c, 0x5e, 0x3e, 0x76, 0x3f, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0400, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_874 =\n{\n    { 874, 1, 0x003f, 0x003f, \"ANSI/OEM Thai\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_875.cpp",
    "content": "/* code page 875 (IBM EBCDIC Greek) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f,\n    0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087,\n    0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b,\n    0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007,\n    0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004,\n    0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a,\n    0x0020, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021,\n    0x0026, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0,\n    0x03a1, 0x03a3, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e,\n    0x002d, 0x002f, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9,\n    0x03aa, 0x03ab, 0x007c, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f,\n    0x00a8, 0x0386, 0x0388, 0x0389, 0x00a0, 0x038a, 0x038c, 0x038e,\n    0x038f, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022,\n    0x0385, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6,\n    0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,\n    0x00b4, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3,\n    0x00a3, 0x03ac, 0x03ad, 0x03ae, 0x03ca, 0x03af, 0x03cc, 0x03cd,\n    0x03cb, 0x03ce, 0x03c2, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,\n    0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x00ad, 0x03c9, 0x0390, 0x03b0, 0x2018, 0x2015,\n    0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,\n    0x0051, 0x0052, 0x00b1, 0x00bd, 0x001a, 0x0387, 0x2019, 0x00a6,\n    0x005c, 0x001a, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,\n    0x0059, 0x005a, 0x00b2, 0x00a7, 0x001a, 0x001a, 0x00ab, 0x00ac,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x00b3, 0x00a9, 0x001a, 0x001a, 0x00bb, 0x009f\n};\n\nstatic const unsigned char uni2cp_low[4352] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f,\n    0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26,\n    0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x40, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x07,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b,\n    0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08,\n    0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff,\n    0x74, 0x4f, 0x83, 0xb0, 0x3f, 0xe8, 0xdf, 0xeb,\n    0x70, 0xfb, 0x81, 0xee, 0xef, 0xca, 0x99, 0xcf,\n    0x90, 0xda, 0xea, 0xfa, 0xa0, 0x9f, 0x3f, 0x3f,\n    0x6b, 0xf1, 0x96, 0xfe, 0x3f, 0xdb, 0x3f, 0x3f,\n    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc3,\n    0xc5, 0xc5, 0xc5, 0xc5, 0xc9, 0xc9, 0xc9, 0xc9,\n    0xc4, 0xd5, 0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xa7,\n    0xd6, 0xe4, 0xe4, 0xe4, 0xe4, 0xe8, 0x3f, 0x8b,\n    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x83,\n    0x85, 0x85, 0x85, 0x85, 0x89, 0x89, 0x89, 0x89,\n    0x84, 0x95, 0x96, 0x96, 0x96, 0x96, 0x96, 0x3f,\n    0x96, 0xa4, 0xa4, 0xa4, 0xa4, 0xa8, 0x3f, 0xa8,\n    /* 0x0100 .. 0x01ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc3, 0x83,\n    0xc3, 0x83, 0xc3, 0x83, 0xc3, 0x83, 0xc4, 0x84,\n    0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc7, 0x87, 0xc7, 0x87,\n    0xc7, 0x87, 0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88,\n    0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89, 0xc9, 0x89,\n    0xc9, 0x89, 0x3f, 0x3f, 0xd1, 0x91, 0xd2, 0x92,\n    0x3f, 0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0x3f,\n    0x3f, 0xd3, 0x93, 0xd5, 0x95, 0xd5, 0x95, 0xd5,\n    0x95, 0x3f, 0x3f, 0x3f, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd9, 0x99, 0xd9, 0x99,\n    0xd9, 0x99, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe6, 0xa6, 0xe8, 0xa8,\n    0xe8, 0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0xa2,\n    0x82, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xc4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc5, 0xc6, 0x86, 0x3f, 0x3f, 0x3f, 0x3f, 0xc9,\n    0x3f, 0x3f, 0x93, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0xd6, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xa3, 0x3f, 0x3f, 0xe3, 0xe4,\n    0xa4, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xa9, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81, 0xc9,\n    0x89, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4,\n    0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0x3f, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc7, 0x87, 0xc7, 0x87,\n    0xd2, 0x92, 0xd6, 0x96, 0xd6, 0x96, 0x3f, 0x3f,\n    0x91, 0x3f, 0x3f, 0x3f, 0xc7, 0x87, 0x3f, 0x3f,\n    0xd5, 0x95, 0xc1, 0x81, 0xc1, 0x81, 0xd6, 0x96,\n    /* 0x0200 .. 0x02ff */\n    0xc1, 0x81, 0xc1, 0x81, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd9, 0x99, 0xd9, 0x99, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe2, 0xa2, 0xe3, 0xa3, 0x3f, 0x3f, 0xc8, 0x88,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0x81,\n    0xc5, 0x85, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x87, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x88, 0x3f, 0x91, 0x99, 0x3f, 0x3f, 0x3f, 0xa6,\n    0xa8, 0xa0, 0x7f, 0xce, 0xde, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x5f, 0xa5,\n    0x7d, 0xcf, 0xa0, 0x79, 0x3f, 0x6d, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x90, 0x3f, 0xa1, 0x7f, 0x3f, 0x3f,\n    0x3f, 0x93, 0xa2, 0xa7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x79, 0xa0, 0x5f, 0xa1, 0xcf, 0xcf, 0x3f, 0x3f,\n    0x70, 0x3f, 0x90, 0x7f, 0xa5, 0x3f, 0x7f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6d, 0x6d, 0x6d, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x79, 0xa0, 0x3f, 0x3f, 0x70, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa0, 0x80, 0x71, 0xdd,\n    0x72, 0x73, 0x75, 0x3f, 0x76, 0x3f, 0x77, 0x78,\n    0xcc, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,\n    0x57, 0x58, 0x3f, 0x59, 0x62, 0x63, 0x64, 0x65,\n    0x66, 0x67, 0x68, 0x69, 0xb1, 0xb2, 0xb3, 0xb5,\n    0xcd, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x9a,\n    0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xaa, 0xab, 0xac,\n    0xad, 0xae, 0xba, 0xaf, 0xbb, 0xbc, 0xbd, 0xbe,\n    0xbf, 0xcb, 0xb4, 0xb8, 0xb6, 0xb7, 0xb9, 0x3f,\n    0x8b, 0x9b, 0x63, 0x63, 0x63, 0xbd, 0xad, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9d, 0xae, 0xba, 0x3f, 0x48, 0x8e, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0xc1, 0x81, 0xc2, 0x82, 0xc2, 0x82, 0xc2, 0x82,\n    0xc3, 0x83, 0xc4, 0x84, 0xc4, 0x84, 0xc4, 0x84,\n    0xc4, 0x84, 0xc4, 0x84, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc6, 0x86,\n    0xc7, 0x87, 0xc8, 0x88, 0xc8, 0x88, 0xc8, 0x88,\n    0xc8, 0x88, 0xc8, 0x88, 0xc9, 0x89, 0xc9, 0x89,\n    0xd2, 0x92, 0xd2, 0x92, 0xd2, 0x92, 0xd3, 0x93,\n    0xd3, 0x93, 0xd3, 0x93, 0xd3, 0x93, 0xd4, 0x94,\n    0xd4, 0x94, 0xd4, 0x94, 0xd5, 0x95, 0xd5, 0x95,\n    0xd5, 0x95, 0xd5, 0x95, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd7, 0x97, 0xd7, 0x97,\n    0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99, 0xd9, 0x99,\n    0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2, 0xe2, 0xa2,\n    0xe2, 0xa2, 0xe3, 0xa3, 0xe3, 0xa3, 0xe3, 0xa3,\n    0xe3, 0xa3, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe5, 0xa5, 0xe5, 0xa5,\n    0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6, 0xe6, 0xa6,\n    0xe6, 0xa6, 0xe7, 0xa7, 0xe7, 0xa7, 0xe8, 0xa8,\n    0xe9, 0xa9, 0xe9, 0xa9, 0xe9, 0xa9, 0x88, 0xa3,\n    0xa6, 0xa8, 0x3f, 0xa2, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81, 0xc1, 0x81,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85, 0xc5, 0x85,\n    0xc9, 0x89, 0xc9, 0x89, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96, 0xd6, 0x96,\n    0xd6, 0x96, 0xd6, 0x96, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4, 0xe4, 0xa4,\n    0xe4, 0xa4, 0xe8, 0xa8, 0xe8, 0xa8, 0xe8, 0xa8,\n    0xe8, 0xa8, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,\n    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,\n    0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c, 0x9c,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0x3f, 0x3f,\n    0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x3f, 0x3f,\n    0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc, 0xbc,\n    0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63, 0x3f, 0x63,\n    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,\n    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,\n    0x8a, 0xb1, 0x8e, 0xb2, 0x9a, 0xb3, 0x9c, 0xb5,\n    0xac, 0xb6, 0xbc, 0xb7, 0xcb, 0xb9, 0x3f, 0x3f,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a,\n    0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47, 0x47,\n    0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb, 0xcb,\n    0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67, 0x67,\n    0x8a, 0x8a, 0x8a, 0x8a, 0xb1, 0x3f, 0x8a, 0x8a,\n    0x41, 0x41, 0x41, 0x71, 0x41, 0x3f, 0x9c, 0x3f,\n    0x3f, 0x70, 0x9a, 0x9a, 0xb3, 0x3f, 0x9a, 0x9a,\n    0x45, 0x72, 0x47, 0x73, 0x47, 0x3f, 0x3f, 0x3f,\n    0x9c, 0x9c, 0xb4, 0xcc, 0x3f, 0x3f, 0x9c, 0xb4,\n    0x49, 0x49, 0x49, 0x75, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xbc, 0xbc, 0xb8, 0xcd, 0xae, 0xae, 0xbc, 0xb8,\n    0x63, 0x63, 0x63, 0x77, 0x58, 0x70, 0x80, 0x79,\n    0x3f, 0x3f, 0xcb, 0xcb, 0xb9, 0x3f, 0xcb, 0xcb,\n    0x56, 0x76, 0x67, 0x78, 0x67, 0xa0, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40,\n    0x40, 0x40, 0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x60, 0x3f, 0xcf, 0xcf, 0xcf, 0x3f, 0x6d,\n    0xce, 0xde, 0x6b, 0xce, 0x7f, 0x7f, 0x6b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x4b, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0xa0, 0x7f, 0x3f, 0xce, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x4f, 0x3f, 0xcf, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x61, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x40,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x90, 0x89, 0x3f, 0x3f, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x95,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x4e, 0x60, 0x7e, 0x4d, 0x5d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x83, 0x3f, 0x3f, 0xb0, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0xc3, 0x3f, 0x3f, 0x3f, 0x3f, 0xc5,\n    0x3f, 0x3f, 0x87, 0xc8, 0xc8, 0xc8, 0x88, 0x88,\n    0xc9, 0xc9, 0xd3, 0x93, 0x3f, 0xd5, 0x3f, 0x3f,\n    0xd7, 0xd7, 0xd8, 0xd9, 0xd9, 0xd9, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xe9, 0x3f, 0x67, 0x3f,\n    0xe9, 0x3f, 0xd2, 0xc1, 0xc2, 0xc3, 0x85, 0x85,\n    0xc5, 0xc6, 0x3f, 0xd4, 0x96, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x89, 0x3f, 0x3f, 0x3f, 0x8c, 0x43, 0x57,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc4, 0x84, 0x85,\n    0x89, 0x91, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xc9, 0x3f, 0x3f, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xe7, 0x3f, 0x3f, 0xd3, 0xc3, 0xc4, 0xd4,\n    0x89, 0x3f, 0x3f, 0x3f, 0xa5, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa7, 0x3f, 0x3f, 0x93, 0x83, 0x84, 0x94,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x5f, 0x6e, 0xa5, 0x60, 0x6a, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x60, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x60, 0xda, 0x3f, 0x61, 0xe0, 0x5c,\n    0x90, 0x3f, 0xe5, 0x3f, 0x3f, 0x3f, 0x3f, 0xd3,\n    0x3f, 0x3f, 0x3f, 0x6a, 0x6a, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x95, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xa1, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xa1, 0xa1, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x7e, 0x7e, 0x7e, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0xee, 0xfe, 0x3f, 0x3f, 0x4c, 0x6e,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4c, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8,\n    0xf9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xc1, 0xc2,\n    0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,\n    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,\n    0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88,\n    0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,\n    0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,\n    0xa8, 0xa9, 0xf0, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x60, 0x60, 0x6a, 0x6a, 0x60, 0x60, 0xdf, 0xdf,\n    0x60, 0x60, 0xdf, 0xdf, 0x4e, 0x4e, 0x4e, 0x4e,\n    0xef, 0xef, 0xef, 0xef, 0xd3, 0xd3, 0xd3, 0xd3,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0xe3,\n    0xe3, 0xe3, 0xe3, 0xe3, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x60, 0x60, 0xdf, 0xdf,\n    0x7e, 0x6a, 0x4e, 0x4e, 0x4e, 0xef, 0xef, 0xef,\n    0xd3, 0xd3, 0xd3, 0x4e, 0x4e, 0x4e, 0x4e, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0xe3, 0xe3, 0xe3, 0x4e,\n    0x4e, 0x4e, 0x4e, 0x4e, 0x4e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x61, 0xe0, 0xe7, 0x60, 0x6a, 0x60, 0x6a,\n    0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a, 0x60, 0x6a,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0xd6,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x40, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4c, 0x6e, 0xee, 0xfe, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x4a, 0x5a, 0x3f, 0x7f, 0x7f, 0x6b,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x4e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xcf, 0xcf, 0xcf, 0xcf, 0x6d, 0x6d, 0x6d,\n    0x6b, 0x3f, 0x4b, 0x3f, 0x5e, 0x7a, 0x6f, 0x4f,\n    0xcf, 0x4d, 0x5d, 0xc0, 0xd0, 0x3f, 0x3f, 0x7b,\n    0x50, 0x5c, 0x4e, 0x60, 0x4c, 0x6e, 0x7e, 0x3f,\n    0xe0, 0x5b, 0x6c, 0x7c, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x4f, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d,\n    0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61,\n    0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,\n    0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f,\n    0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,\n    0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,\n    0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6,\n    0xe7, 0xe8, 0xe9, 0x4a, 0xe0, 0x5a, 0x5f, 0x6d,\n    0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,\n    0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96,\n    0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6,\n    0xa7, 0xa8, 0xa9, 0xc0, 0x6a, 0xd0, 0xa1, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x83, 0xb0, 0xef, 0xcf, 0xdf, 0xe8, 0x3f, 0x3f,\n    0x6a, 0x4c, 0x5f, 0x6e, 0xa5, 0x3f, 0xd6, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x0c00, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x0d00, 0x1000, 0x1000, 0x0e00, 0x0f00\n};\n\nconst struct sbcs_table cptable_875 =\n{\n    { 875, 1, 0x003f, 0x003f, \"IBM EBCDIC Greek\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_878.cpp",
    "content": "/* code page 878 (Russian KOI8) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524,\n    0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590,\n    0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248,\n    0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7,\n    0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,\n    0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e,\n    0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,\n    0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9,\n    0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,\n    0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e,\n    0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,\n    0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a,\n    0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,\n    0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,\n    0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,\n    0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a\n};\n\nstatic const unsigned char uni2cp_low[4608] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9a, 0x21, 0x63, 0x4c, 0x3f, 0x59, 0x3f, 0x3f,\n    0x22, 0xbf, 0x61, 0x3c, 0x3f, 0x2d, 0x72, 0x2d,\n    0x9c, 0x3f, 0x9d, 0x33, 0x27, 0x75, 0x3f, 0x9e,\n    0x2c, 0x31, 0x6f, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43,\n    0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49,\n    0x44, 0x4e, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x78,\n    0x4f, 0x55, 0x55, 0x55, 0x55, 0x59, 0x3f, 0x3f,\n    0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63,\n    0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69,\n    0x64, 0x6e, 0x6f, 0x6f, 0x6f, 0x6f, 0x6f, 0x9f,\n    0x6f, 0x75, 0x75, 0x75, 0x75, 0x79, 0x3f, 0x79,\n    /* 0x0100 .. 0x01ff */\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x43, 0x63,\n    0x43, 0x63, 0x43, 0x63, 0x43, 0x63, 0x44, 0x64,\n    0x44, 0x64, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x47, 0x67, 0x47, 0x67,\n    0x47, 0x67, 0x47, 0x67, 0x48, 0x68, 0x48, 0x68,\n    0x49, 0x69, 0x49, 0x69, 0x49, 0x69, 0x49, 0x69,\n    0x49, 0x69, 0x3f, 0x3f, 0x4a, 0x6a, 0x4b, 0x6b,\n    0x3f, 0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x3f,\n    0x3f, 0x4c, 0x6c, 0x4e, 0x6e, 0x4e, 0x6e, 0x4e,\n    0x6e, 0x3f, 0x3f, 0x3f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x52, 0x72, 0x52, 0x72,\n    0x52, 0x72, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x57, 0x77, 0x59, 0x79,\n    0x59, 0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x73,\n    0x62, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x44, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x46, 0x66, 0x3f, 0x3f, 0x3f, 0x3f, 0x49,\n    0x3f, 0x3f, 0x6c, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x4f, 0x6f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x74, 0x3f, 0x3f, 0x54, 0x55,\n    0x75, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x81, 0x3f, 0x3f, 0x21, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61, 0x49,\n    0x69, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75, 0x55,\n    0x75, 0x55, 0x75, 0x55, 0x75, 0x3f, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x47, 0x67, 0x47, 0x67,\n    0x4b, 0x6b, 0x4f, 0x6f, 0x4f, 0x6f, 0x3f, 0x3f,\n    0x6a, 0x3f, 0x3f, 0x3f, 0x47, 0x67, 0x3f, 0x3f,\n    0x4e, 0x6e, 0x41, 0x61, 0x41, 0x61, 0x4f, 0x6f,\n    /* 0x0200 .. 0x02ff */\n    0x41, 0x61, 0x41, 0x61, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x52, 0x72, 0x52, 0x72, 0x55, 0x75, 0x55, 0x75,\n    0x53, 0x73, 0x54, 0x74, 0x3f, 0x3f, 0x48, 0x68,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x61,\n    0x45, 0x65, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x67, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x68, 0x3f, 0x6a, 0x72, 0x3f, 0x3f, 0x3f, 0x77,\n    0x79, 0x27, 0x22, 0x60, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x5e, 0x76,\n    0x27, 0x2d, 0x27, 0x60, 0x3f, 0x5f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x9c, 0x3f, 0x7e, 0x22, 0x3f, 0x3f,\n    0x3f, 0x6c, 0x73, 0x78, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0300 .. 0x03ff */\n    0x60, 0x27, 0x5e, 0x7e, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x22, 0x3f, 0x9c, 0x22, 0x76, 0x3f, 0x22, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x5f, 0x5f, 0x5f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x60, 0x27, 0x3f, 0x3f, 0x22, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3b, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x27, 0x22, 0x41, 0x9e,\n    0x45, 0x48, 0x49, 0x3f, 0x4f, 0x3f, 0x59, 0x3f,\n    0x3f, 0x41, 0x42, 0x3f, 0x3f, 0x45, 0x5a, 0x48,\n    0x3f, 0x49, 0x4b, 0x3f, 0x4d, 0x4e, 0x3f, 0x4f,\n    0x3f, 0x50, 0x3f, 0x3f, 0x54, 0x59, 0x3f, 0x58,\n    0x3f, 0x3f, 0x49, 0x59, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x75, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x59, 0x59, 0x59, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x0400 .. 0x04ff */\n    0xe5, 0xb3, 0x3f, 0xe7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xeb, 0xe9, 0xf5, 0x3f,\n    0xe1, 0xe2, 0xf7, 0xe7, 0xe4, 0xe5, 0xf6, 0xfa,\n    0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0,\n    0xf2, 0xf3, 0xf4, 0xf5, 0xe6, 0xe8, 0xe3, 0xfe,\n    0xfb, 0xfd, 0xff, 0xf9, 0xf8, 0xfc, 0xe0, 0xf1,\n    0xc1, 0xc2, 0xd7, 0xc7, 0xc4, 0xc5, 0xd6, 0xda,\n    0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0,\n    0xd2, 0xd3, 0xd4, 0xd5, 0xc6, 0xc8, 0xc3, 0xde,\n    0xdb, 0xdd, 0xdf, 0xd9, 0xd8, 0xdc, 0xc0, 0xd1,\n    0xc5, 0xa3, 0x3f, 0xc7, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xcb, 0xc9, 0xd5, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0xf6, 0xd6, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0xe1, 0xc1, 0xe1, 0xc1, 0x3f, 0x3f, 0xe5, 0xc5,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xf6, 0xd6, 0xfa, 0xda,\n    0x3f, 0x3f, 0xe9, 0xc9, 0xe9, 0xc9, 0xef, 0xcf,\n    0x3f, 0x3f, 0x3f, 0x3f, 0xfc, 0xdc, 0xf5, 0xd5,\n    0xf5, 0xd5, 0xf5, 0xd5, 0xfe, 0xde, 0x3f, 0x3f,\n    0xf9, 0xd9, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1e00 .. 0x1eff */\n    0x41, 0x61, 0x42, 0x62, 0x42, 0x62, 0x42, 0x62,\n    0x43, 0x63, 0x44, 0x64, 0x44, 0x64, 0x44, 0x64,\n    0x44, 0x64, 0x44, 0x64, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x46, 0x66,\n    0x47, 0x67, 0x48, 0x68, 0x48, 0x68, 0x48, 0x68,\n    0x48, 0x68, 0x48, 0x68, 0x49, 0x69, 0x49, 0x69,\n    0x4b, 0x6b, 0x4b, 0x6b, 0x4b, 0x6b, 0x4c, 0x6c,\n    0x4c, 0x6c, 0x4c, 0x6c, 0x4c, 0x6c, 0x4d, 0x6d,\n    0x4d, 0x6d, 0x4d, 0x6d, 0x4e, 0x6e, 0x4e, 0x6e,\n    0x4e, 0x6e, 0x4e, 0x6e, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x50, 0x70, 0x50, 0x70,\n    0x52, 0x72, 0x52, 0x72, 0x52, 0x72, 0x52, 0x72,\n    0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73,\n    0x53, 0x73, 0x54, 0x74, 0x54, 0x74, 0x54, 0x74,\n    0x54, 0x74, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x56, 0x76, 0x56, 0x76,\n    0x57, 0x77, 0x57, 0x77, 0x57, 0x77, 0x57, 0x77,\n    0x57, 0x77, 0x58, 0x78, 0x58, 0x78, 0x59, 0x79,\n    0x5a, 0x7a, 0x5a, 0x7a, 0x5a, 0x7a, 0x68, 0x74,\n    0x77, 0x79, 0x3f, 0x73, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x41, 0x61, 0x41, 0x61, 0x41, 0x61, 0x41, 0x61,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x45, 0x65, 0x45, 0x65, 0x45, 0x65, 0x45, 0x65,\n    0x49, 0x69, 0x49, 0x69, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f, 0x4f, 0x6f,\n    0x4f, 0x6f, 0x4f, 0x6f, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x55, 0x75, 0x55, 0x75, 0x55, 0x75,\n    0x55, 0x75, 0x59, 0x79, 0x59, 0x79, 0x59, 0x79,\n    0x59, 0x79, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x1f00 .. 0x1fff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x45, 0x45, 0x45, 0x45, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59, 0x3f, 0x59,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48, 0x48,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x41, 0x41, 0x41, 0x41, 0x41, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x22, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x45, 0x45, 0x48, 0x48, 0x48, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x49, 0x49, 0x49, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x59, 0x59, 0x59, 0x59, 0x50, 0x22, 0x22, 0x60,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x4f, 0x4f, 0x3f, 0x3f, 0x3f, 0x27, 0x3f, 0x3f,\n    /* 0x2000 .. 0x20ff */\n    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,\n    0x20, 0x20, 0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x2d, 0x2d, 0x2d, 0x3f, 0x5f,\n    0x60, 0x27, 0x2c, 0x60, 0x22, 0x22, 0x2c, 0x3f,\n    0x3f, 0x3f, 0x95, 0x3f, 0x2e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x27, 0x22, 0x3f, 0x60, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x21, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x2f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x20,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x9c, 0x69, 0x3f, 0x3f, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x6e,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x2b, 0x2d, 0x3d, 0x28, 0x29, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x63, 0x3f, 0x3f, 0x4c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2100 .. 0x21ff */\n    0x3f, 0x3f, 0x43, 0x3f, 0x3f, 0x3f, 0x3f, 0x45,\n    0x3f, 0x3f, 0x67, 0x48, 0x48, 0x48, 0x68, 0x68,\n    0x49, 0x49, 0x4c, 0x6c, 0x3f, 0x4e, 0x3f, 0x3f,\n    0x50, 0x50, 0x51, 0x52, 0x52, 0x52, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x5a, 0x3f, 0x3f, 0x3f,\n    0x5a, 0x3f, 0x4b, 0x41, 0x42, 0x43, 0x65, 0x65,\n    0x45, 0x46, 0x3f, 0x4d, 0x6f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x69, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x44, 0x64, 0x65,\n    0x69, 0x6a, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x49, 0x3f, 0x3f, 0x3f, 0x56, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x58, 0x3f, 0x3f, 0x4c, 0x43, 0x44, 0x4d,\n    0x69, 0x3f, 0x3f, 0x3f, 0x76, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x78, 0x3f, 0x3f, 0x6c, 0x63, 0x64, 0x6d,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x5e, 0x3e, 0x76, 0x2d, 0x7c, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x2d, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2200 .. 0x22ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x2d, 0x3f, 0x3f, 0x2f, 0x5c, 0x2a,\n    0x9c, 0x95, 0x96, 0x3f, 0x3f, 0x3f, 0x3f, 0x4c,\n    0x3f, 0x3f, 0x3f, 0x7c, 0x7c, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x6e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3a, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x7e, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x7e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x97, 0x97, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3d, 0x3d, 0x3d, 0x3d, 0x98, 0x99, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3c, 0x3e,\n    0x98, 0x99, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x9e, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2300 .. 0x23ff */\n    0x3f, 0x3f, 0x3f, 0x5e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x93, 0x9b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2400 .. 0x24ff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x41, 0x42,\n    0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,\n    0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,\n    0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,\n    0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68,\n    0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70,\n    0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78,\n    0x79, 0x7a, 0x30, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x2500 .. 0x25ff */\n    0x80, 0x80, 0x81, 0x81, 0x2d, 0x2d, 0x3f, 0x3f,\n    0x2d, 0x2d, 0x3f, 0x3f, 0x82, 0x82, 0x82, 0x82,\n    0x83, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x84,\n    0x85, 0x85, 0x85, 0x85, 0x86, 0x86, 0x86, 0x86,\n    0x86, 0x86, 0x86, 0x86, 0x87, 0x87, 0x87, 0x87,\n    0x87, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x88,\n    0x88, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x89,\n    0x89, 0x89, 0x89, 0x89, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a, 0x8a,\n    0x8a, 0x8a, 0x8a, 0x8a, 0x2d, 0x2d, 0x3f, 0x3f,\n    0xa0, 0xa1, 0xa2, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8,\n    0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0,\n    0xb1, 0xb2, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,\n    0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2f, 0x5c, 0x58, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c, 0x2d, 0x7c,\n    0x8b, 0x3f, 0x3f, 0x3f, 0x8c, 0x3f, 0x3f, 0x3f,\n    0x8d, 0x3f, 0x3f, 0x3f, 0x8e, 0x3f, 0x3f, 0x3f,\n    0x8f, 0x90, 0x91, 0x92, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x94, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x4f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x4f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0x3000 .. 0x30ff */\n    0x20, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3c, 0x3e, 0x3c, 0x3e, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x5b, 0x5d, 0x3f, 0x22, 0x22, 0x2c,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfb00 .. 0xfbff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2b, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xfe00 .. 0xfeff */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x2d, 0x2d, 0x2d, 0x2d, 0x5f, 0x5f, 0x5f,\n    0x2c, 0x3f, 0x2e, 0x3f, 0x3b, 0x3a, 0x3f, 0x21,\n    0x2d, 0x28, 0x29, 0x7b, 0x7d, 0x3f, 0x3f, 0x23,\n    0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d, 0x3f,\n    0x5c, 0x24, 0x25, 0x40, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* 0xff00 .. 0xffff */\n    0x3f, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x63, 0x4c, 0x3f, 0x2d, 0x3f, 0x59, 0x3f, 0x3f,\n    0x81, 0x3c, 0x5e, 0x3e, 0x76, 0x94, 0x4f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    /* defaults */\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f,\n    0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0d00, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0e00, 0x1100, 0x1100, 0x0f00, 0x1000\n};\n\nconst struct sbcs_table cptable_878 =\n{\n    { 878, 1, 0x003f, 0x003f, \"Russian KOI8\" },\n    cp2uni,\n    uni2cp_low,\n    uni2cp_high\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_932.cpp",
    "content": "/* code page 932 (ANSI/OEM Japanese Shift-JIS) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[12032] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x003f, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67,\n    0xff68, 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f,\n    0xff70, 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77,\n    0xff78, 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f,\n    0xff80, 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87,\n    0xff88, 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f,\n    0xff90, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97,\n    0xff98, 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f, 0x00fe, 0x003f,\n    /* unused lead bytes */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 81 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x3000, 0x3001, 0x3002, 0xff0c, 0xff0e, 0x30fb, 0xff1a, 0xff1b,\n    0xff1f, 0xff01, 0x309b, 0x309c, 0x00b4, 0xff40, 0x00a8, 0xff3e,\n    0xffe3, 0xff3f, 0x30fd, 0x30fe, 0x309d, 0x309e, 0x3003, 0x4edd,\n    0x3005, 0x3006, 0x3007, 0x30fc, 0x2015, 0x2010, 0xff0f, 0xff3c,\n    0xff5e, 0x2225, 0xff5c, 0x2026, 0x2025, 0x2018, 0x2019, 0x201c,\n    0x201d, 0xff08, 0xff09, 0x3014, 0x3015, 0xff3b, 0xff3d, 0xff5b,\n    0xff5d, 0x3008, 0x3009, 0x300a, 0x300b, 0x300c, 0x300d, 0x300e,\n    0x300f, 0x3010, 0x3011, 0xff0b, 0xff0d, 0x00b1, 0x00d7, 0x003f,\n    0x00f7, 0xff1d, 0x2260, 0xff1c, 0xff1e, 0x2266, 0x2267, 0x221e,\n    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xffe5,\n    0xff04, 0xffe0, 0xffe1, 0xff05, 0xff03, 0xff06, 0xff0a, 0xff20,\n    0x00a7, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,\n    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x203b, 0x3012,\n    0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x2208, 0x220b, 0x2286, 0x2287, 0x2282, 0x2283, 0x222a, 0x2229,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x2227, 0x2228, 0xffe2, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261,\n    0x2252, 0x226a, 0x226b, 0x221a, 0x223d, 0x221d, 0x2235, 0x222b,\n    0x222c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x212b, 0x2030, 0x266f, 0x266d, 0x266a, 0x2020, 0x2021, 0x00b6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x25ef, 0x003f, 0x003f, 0x003f,\n    /* lead byte 82 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xff10,\n    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,\n    0xff19, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28,\n    0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30,\n    0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38,\n    0xff39, 0xff3a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,\n    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,\n    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,\n    0xff58, 0xff59, 0xff5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x3041,\n    0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049,\n    0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050, 0x3051,\n    0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059,\n    0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060, 0x3061,\n    0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,\n    0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f, 0x3070, 0x3071,\n    0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079,\n    0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f, 0x3080, 0x3081,\n    0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089,\n    0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f, 0x3090, 0x3091,\n    0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 83 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7, 0x30a8,\n    0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af, 0x30b0,\n    0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7, 0x30b8,\n    0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf, 0x30c0,\n    0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7, 0x30c8,\n    0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d0,\n    0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7, 0x30d8,\n    0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df, 0x003f,\n    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,\n    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,\n    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0391,\n    0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399,\n    0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1,\n    0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x03b1,\n    0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9,\n    0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1,\n    0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 84 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416,\n    0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e,\n    0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426,\n    0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e,\n    0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436,\n    0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x003f,\n    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,\n    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,\n    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x2500,\n    0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c, 0x252c, 0x2524,\n    0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513, 0x251b, 0x2517,\n    0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520, 0x252f, 0x2528,\n    0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538, 0x2542, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 87 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467,\n    0x2468, 0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x246f,\n    0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, 0x2163,\n    0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x003f, 0x3349,\n    0x3314, 0x3322, 0x334d, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351,\n    0x3357, 0x330d, 0x3326, 0x3323, 0x332b, 0x334a, 0x333b, 0x339c,\n    0x339d, 0x339e, 0x338e, 0x338f, 0x33c4, 0x33a1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x337b, 0x003f,\n    0x301d, 0x301f, 0x2116, 0x33cd, 0x2121, 0x32a4, 0x32a5, 0x32a6,\n    0x32a7, 0x32a8, 0x3231, 0x3232, 0x3239, 0x337e, 0x337d, 0x337c,\n    0x2252, 0x2261, 0x222b, 0x222e, 0x2211, 0x221a, 0x22a5, 0x2220,\n    0x221f, 0x22bf, 0x2235, 0x2229, 0x222a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 88 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x4e9c,\n    0x5516, 0x5a03, 0x963f, 0x54c0, 0x611b, 0x6328, 0x59f6, 0x9022,\n    0x8475, 0x831c, 0x7a50, 0x60aa, 0x63e1, 0x6e25, 0x65ed, 0x8466,\n    0x82a6, 0x9bf5, 0x6893, 0x5727, 0x65a1, 0x6271, 0x5b9b, 0x59d0,\n    0x867b, 0x98f4, 0x7d62, 0x7dbe, 0x9b8e, 0x6216, 0x7c9f, 0x88b7,\n    0x5b89, 0x5eb5, 0x6309, 0x6697, 0x6848, 0x95c7, 0x978d, 0x674f,\n    0x4ee5, 0x4f0a, 0x4f4d, 0x4f9d, 0x5049, 0x56f2, 0x5937, 0x59d4,\n    0x5a01, 0x5c09, 0x60df, 0x610f, 0x6170, 0x6613, 0x6905, 0x70ba,\n    0x754f, 0x7570, 0x79fb, 0x7dad, 0x7def, 0x80c3, 0x840e, 0x8863,\n    0x8b02, 0x9055, 0x907a, 0x533b, 0x4e95, 0x4ea5, 0x57df, 0x80b2,\n    0x90c1, 0x78ef, 0x4e00, 0x58f1, 0x6ea2, 0x9038, 0x7a32, 0x8328,\n    0x828b, 0x9c2f, 0x5141, 0x5370, 0x54bd, 0x54e1, 0x56e0, 0x59fb,\n    0x5f15, 0x98f2, 0x6deb, 0x80e4, 0x852d, 0x003f, 0x003f, 0x003f,\n    /* lead byte 89 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9662, 0x9670, 0x96a0, 0x97fb, 0x540b, 0x53f3, 0x5b87, 0x70cf,\n    0x7fbd, 0x8fc2, 0x96e8, 0x536f, 0x9d5c, 0x7aba, 0x4e11, 0x7893,\n    0x81fc, 0x6e26, 0x5618, 0x5504, 0x6b1d, 0x851a, 0x9c3b, 0x59e5,\n    0x53a9, 0x6d66, 0x74dc, 0x958f, 0x5642, 0x4e91, 0x904b, 0x96f2,\n    0x834f, 0x990c, 0x53e1, 0x55b6, 0x5b30, 0x5f71, 0x6620, 0x66f3,\n    0x6804, 0x6c38, 0x6cf3, 0x6d29, 0x745b, 0x76c8, 0x7a4e, 0x9834,\n    0x82f1, 0x885b, 0x8a60, 0x92ed, 0x6db2, 0x75ab, 0x76ca, 0x99c5,\n    0x60a6, 0x8b01, 0x8d8a, 0x95b2, 0x698e, 0x53ad, 0x5186, 0x003f,\n    0x5712, 0x5830, 0x5944, 0x5bb4, 0x5ef6, 0x6028, 0x63a9, 0x63f4,\n    0x6cbf, 0x6f14, 0x708e, 0x7114, 0x7159, 0x71d5, 0x733f, 0x7e01,\n    0x8276, 0x82d1, 0x8597, 0x9060, 0x925b, 0x9d1b, 0x5869, 0x65bc,\n    0x6c5a, 0x7525, 0x51f9, 0x592e, 0x5965, 0x5f80, 0x5fdc, 0x62bc,\n    0x65fa, 0x6a2a, 0x6b27, 0x6bb4, 0x738b, 0x7fc1, 0x8956, 0x9d2c,\n    0x9d0e, 0x9ec4, 0x5ca1, 0x6c96, 0x837b, 0x5104, 0x5c4b, 0x61b6,\n    0x81c6, 0x6876, 0x7261, 0x4e59, 0x4ffa, 0x5378, 0x6069, 0x6e29,\n    0x7a4f, 0x97f3, 0x4e0b, 0x5316, 0x4eee, 0x4f55, 0x4f3d, 0x4fa1,\n    0x4f73, 0x52a0, 0x53ef, 0x5609, 0x590f, 0x5ac1, 0x5bb6, 0x5be1,\n    0x79d1, 0x6687, 0x679c, 0x67b6, 0x6b4c, 0x6cb3, 0x706b, 0x73c2,\n    0x798d, 0x79be, 0x7a3c, 0x7b87, 0x82b1, 0x82db, 0x8304, 0x8377,\n    0x83ef, 0x83d3, 0x8766, 0x8ab2, 0x5629, 0x8ca8, 0x8fe6, 0x904e,\n    0x971e, 0x868a, 0x4fc4, 0x5ce8, 0x6211, 0x7259, 0x753b, 0x81e5,\n    0x82bd, 0x86fe, 0x8cc0, 0x96c5, 0x9913, 0x99d5, 0x4ecb, 0x4f1a,\n    0x89e3, 0x56de, 0x584a, 0x58ca, 0x5efb, 0x5feb, 0x602a, 0x6094,\n    0x6062, 0x61d0, 0x6212, 0x62d0, 0x6539, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b41, 0x6666, 0x68b0, 0x6d77, 0x7070, 0x754c, 0x7686, 0x7d75,\n    0x82a5, 0x87f9, 0x958b, 0x968e, 0x8c9d, 0x51f1, 0x52be, 0x5916,\n    0x54b3, 0x5bb3, 0x5d16, 0x6168, 0x6982, 0x6daf, 0x788d, 0x84cb,\n    0x8857, 0x8a72, 0x93a7, 0x9ab8, 0x6d6c, 0x99a8, 0x86d9, 0x57a3,\n    0x67ff, 0x86ce, 0x920e, 0x5283, 0x5687, 0x5404, 0x5ed3, 0x62e1,\n    0x64b9, 0x683c, 0x6838, 0x6bbb, 0x7372, 0x78ba, 0x7a6b, 0x899a,\n    0x89d2, 0x8d6b, 0x8f03, 0x90ed, 0x95a3, 0x9694, 0x9769, 0x5b66,\n    0x5cb3, 0x697d, 0x984d, 0x984e, 0x639b, 0x7b20, 0x6a2b, 0x003f,\n    0x6a7f, 0x68b6, 0x9c0d, 0x6f5f, 0x5272, 0x559d, 0x6070, 0x62ec,\n    0x6d3b, 0x6e07, 0x6ed1, 0x845b, 0x8910, 0x8f44, 0x4e14, 0x9c39,\n    0x53f6, 0x691b, 0x6a3a, 0x9784, 0x682a, 0x515c, 0x7ac3, 0x84b2,\n    0x91dc, 0x938c, 0x565b, 0x9d28, 0x6822, 0x8305, 0x8431, 0x7ca5,\n    0x5208, 0x82c5, 0x74e6, 0x4e7e, 0x4f83, 0x51a0, 0x5bd2, 0x520a,\n    0x52d8, 0x52e7, 0x5dfb, 0x559a, 0x582a, 0x59e6, 0x5b8c, 0x5b98,\n    0x5bdb, 0x5e72, 0x5e79, 0x60a3, 0x611f, 0x6163, 0x61be, 0x63db,\n    0x6562, 0x67d1, 0x6853, 0x68fa, 0x6b3e, 0x6b53, 0x6c57, 0x6f22,\n    0x6f97, 0x6f45, 0x74b0, 0x7518, 0x76e3, 0x770b, 0x7aff, 0x7ba1,\n    0x7c21, 0x7de9, 0x7f36, 0x7ff0, 0x809d, 0x8266, 0x839e, 0x89b3,\n    0x8acc, 0x8cab, 0x9084, 0x9451, 0x9593, 0x9591, 0x95a2, 0x9665,\n    0x97d3, 0x9928, 0x8218, 0x4e38, 0x542b, 0x5cb8, 0x5dcc, 0x73a9,\n    0x764c, 0x773c, 0x5ca9, 0x7feb, 0x8d0b, 0x96c1, 0x9811, 0x9854,\n    0x9858, 0x4f01, 0x4f0e, 0x5371, 0x559c, 0x5668, 0x57fa, 0x5947,\n    0x5b09, 0x5bc4, 0x5c90, 0x5e0c, 0x5e7e, 0x5fcc, 0x63ee, 0x673a,\n    0x65d7, 0x65e2, 0x671f, 0x68cb, 0x68c4, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6a5f, 0x5e30, 0x6bc5, 0x6c17, 0x6c7d, 0x757f, 0x7948, 0x5b63,\n    0x7a00, 0x7d00, 0x5fbd, 0x898f, 0x8a18, 0x8cb4, 0x8d77, 0x8ecc,\n    0x8f1d, 0x98e2, 0x9a0e, 0x9b3c, 0x4e80, 0x507d, 0x5100, 0x5993,\n    0x5b9c, 0x622f, 0x6280, 0x64ec, 0x6b3a, 0x72a0, 0x7591, 0x7947,\n    0x7fa9, 0x87fb, 0x8abc, 0x8b70, 0x63ac, 0x83ca, 0x97a0, 0x5409,\n    0x5403, 0x55ab, 0x6854, 0x6a58, 0x8a70, 0x7827, 0x6775, 0x9ecd,\n    0x5374, 0x5ba2, 0x811a, 0x8650, 0x9006, 0x4e18, 0x4e45, 0x4ec7,\n    0x4f11, 0x53ca, 0x5438, 0x5bae, 0x5f13, 0x6025, 0x6551, 0x003f,\n    0x673d, 0x6c42, 0x6c72, 0x6ce3, 0x7078, 0x7403, 0x7a76, 0x7aae,\n    0x7b08, 0x7d1a, 0x7cfe, 0x7d66, 0x65e7, 0x725b, 0x53bb, 0x5c45,\n    0x5de8, 0x62d2, 0x62e0, 0x6319, 0x6e20, 0x865a, 0x8a31, 0x8ddd,\n    0x92f8, 0x6f01, 0x79a6, 0x9b5a, 0x4ea8, 0x4eab, 0x4eac, 0x4f9b,\n    0x4fa0, 0x50d1, 0x5147, 0x7af6, 0x5171, 0x51f6, 0x5354, 0x5321,\n    0x537f, 0x53eb, 0x55ac, 0x5883, 0x5ce1, 0x5f37, 0x5f4a, 0x602f,\n    0x6050, 0x606d, 0x631f, 0x6559, 0x6a4b, 0x6cc1, 0x72c2, 0x72ed,\n    0x77ef, 0x80f8, 0x8105, 0x8208, 0x854e, 0x90f7, 0x93e1, 0x97ff,\n    0x9957, 0x9a5a, 0x4ef0, 0x51dd, 0x5c2d, 0x6681, 0x696d, 0x5c40,\n    0x66f2, 0x6975, 0x7389, 0x6850, 0x7c81, 0x50c5, 0x52e4, 0x5747,\n    0x5dfe, 0x9326, 0x65a4, 0x6b23, 0x6b3d, 0x7434, 0x7981, 0x79bd,\n    0x7b4b, 0x7dca, 0x82b9, 0x83cc, 0x887f, 0x895f, 0x8b39, 0x8fd1,\n    0x91d1, 0x541f, 0x9280, 0x4e5d, 0x5036, 0x53e5, 0x533a, 0x72d7,\n    0x7396, 0x77e9, 0x82e6, 0x8eaf, 0x99c6, 0x99c8, 0x99d2, 0x5177,\n    0x611a, 0x865e, 0x55b0, 0x7a7a, 0x5076, 0x5bd3, 0x9047, 0x9685,\n    0x4e32, 0x6adb, 0x91e7, 0x5c51, 0x5c48, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6398, 0x7a9f, 0x6c93, 0x9774, 0x8f61, 0x7aaa, 0x718a, 0x9688,\n    0x7c82, 0x6817, 0x7e70, 0x6851, 0x936c, 0x52f2, 0x541b, 0x85ab,\n    0x8a13, 0x7fa4, 0x8ecd, 0x90e1, 0x5366, 0x8888, 0x7941, 0x4fc2,\n    0x50be, 0x5211, 0x5144, 0x5553, 0x572d, 0x73ea, 0x578b, 0x5951,\n    0x5f62, 0x5f84, 0x6075, 0x6176, 0x6167, 0x61a9, 0x63b2, 0x643a,\n    0x656c, 0x666f, 0x6842, 0x6e13, 0x7566, 0x7a3d, 0x7cfb, 0x7d4c,\n    0x7d99, 0x7e4b, 0x7f6b, 0x830e, 0x834a, 0x86cd, 0x8a08, 0x8a63,\n    0x8b66, 0x8efd, 0x981a, 0x9d8f, 0x82b8, 0x8fce, 0x9be8, 0x003f,\n    0x5287, 0x621f, 0x6483, 0x6fc0, 0x9699, 0x6841, 0x5091, 0x6b20,\n    0x6c7a, 0x6f54, 0x7a74, 0x7d50, 0x8840, 0x8a23, 0x6708, 0x4ef6,\n    0x5039, 0x5026, 0x5065, 0x517c, 0x5238, 0x5263, 0x55a7, 0x570f,\n    0x5805, 0x5acc, 0x5efa, 0x61b2, 0x61f8, 0x62f3, 0x6372, 0x691c,\n    0x6a29, 0x727d, 0x72ac, 0x732e, 0x7814, 0x786f, 0x7d79, 0x770c,\n    0x80a9, 0x898b, 0x8b19, 0x8ce2, 0x8ed2, 0x9063, 0x9375, 0x967a,\n    0x9855, 0x9a13, 0x9e78, 0x5143, 0x539f, 0x53b3, 0x5e7b, 0x5f26,\n    0x6e1b, 0x6e90, 0x7384, 0x73fe, 0x7d43, 0x8237, 0x8a00, 0x8afa,\n    0x9650, 0x4e4e, 0x500b, 0x53e4, 0x547c, 0x56fa, 0x59d1, 0x5b64,\n    0x5df1, 0x5eab, 0x5f27, 0x6238, 0x6545, 0x67af, 0x6e56, 0x72d0,\n    0x7cca, 0x88b4, 0x80a1, 0x80e1, 0x83f0, 0x864e, 0x8a87, 0x8de8,\n    0x9237, 0x96c7, 0x9867, 0x9f13, 0x4e94, 0x4e92, 0x4f0d, 0x5348,\n    0x5449, 0x543e, 0x5a2f, 0x5f8c, 0x5fa1, 0x609f, 0x68a7, 0x6a8e,\n    0x745a, 0x7881, 0x8a9e, 0x8aa4, 0x8b77, 0x9190, 0x4e5e, 0x9bc9,\n    0x4ea4, 0x4f7c, 0x4faf, 0x5019, 0x5016, 0x5149, 0x516c, 0x529f,\n    0x52b9, 0x52fe, 0x539a, 0x53e3, 0x5411, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x540e, 0x5589, 0x5751, 0x57a2, 0x597d, 0x5b54, 0x5b5d, 0x5b8f,\n    0x5de5, 0x5de7, 0x5df7, 0x5e78, 0x5e83, 0x5e9a, 0x5eb7, 0x5f18,\n    0x6052, 0x614c, 0x6297, 0x62d8, 0x63a7, 0x653b, 0x6602, 0x6643,\n    0x66f4, 0x676d, 0x6821, 0x6897, 0x69cb, 0x6c5f, 0x6d2a, 0x6d69,\n    0x6e2f, 0x6e9d, 0x7532, 0x7687, 0x786c, 0x7a3f, 0x7ce0, 0x7d05,\n    0x7d18, 0x7d5e, 0x7db1, 0x8015, 0x8003, 0x80af, 0x80b1, 0x8154,\n    0x818f, 0x822a, 0x8352, 0x884c, 0x8861, 0x8b1b, 0x8ca2, 0x8cfc,\n    0x90ca, 0x9175, 0x9271, 0x783f, 0x92fc, 0x95a4, 0x964d, 0x003f,\n    0x9805, 0x9999, 0x9ad8, 0x9d3b, 0x525b, 0x52ab, 0x53f7, 0x5408,\n    0x58d5, 0x62f7, 0x6fe0, 0x8c6a, 0x8f5f, 0x9eb9, 0x514b, 0x523b,\n    0x544a, 0x56fd, 0x7a40, 0x9177, 0x9d60, 0x9ed2, 0x7344, 0x6f09,\n    0x8170, 0x7511, 0x5ffd, 0x60da, 0x9aa8, 0x72db, 0x8fbc, 0x6b64,\n    0x9803, 0x4eca, 0x56f0, 0x5764, 0x58be, 0x5a5a, 0x6068, 0x61c7,\n    0x660f, 0x6606, 0x6839, 0x68b1, 0x6df7, 0x75d5, 0x7d3a, 0x826e,\n    0x9b42, 0x4e9b, 0x4f50, 0x53c9, 0x5506, 0x5d6f, 0x5de6, 0x5dee,\n    0x67fb, 0x6c99, 0x7473, 0x7802, 0x8a50, 0x9396, 0x88df, 0x5750,\n    0x5ea7, 0x632b, 0x50b5, 0x50ac, 0x518d, 0x6700, 0x54c9, 0x585e,\n    0x59bb, 0x5bb0, 0x5f69, 0x624d, 0x63a1, 0x683d, 0x6b73, 0x6e08,\n    0x707d, 0x91c7, 0x7280, 0x7815, 0x7826, 0x796d, 0x658e, 0x7d30,\n    0x83dc, 0x88c1, 0x8f09, 0x969b, 0x5264, 0x5728, 0x6750, 0x7f6a,\n    0x8ca1, 0x51b4, 0x5742, 0x962a, 0x583a, 0x698a, 0x80b4, 0x54b2,\n    0x5d0e, 0x57fc, 0x7895, 0x9dfa, 0x4f5c, 0x524a, 0x548b, 0x643e,\n    0x6628, 0x6714, 0x67f5, 0x7a84, 0x7b56, 0x7d22, 0x932f, 0x685c,\n    0x9bad, 0x7b39, 0x5319, 0x518a, 0x5237, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5bdf, 0x62f6, 0x64ae, 0x64e6, 0x672d, 0x6bba, 0x85a9, 0x96d1,\n    0x7690, 0x9bd6, 0x634c, 0x9306, 0x9bab, 0x76bf, 0x6652, 0x4e09,\n    0x5098, 0x53c2, 0x5c71, 0x60e8, 0x6492, 0x6563, 0x685f, 0x71e6,\n    0x73ca, 0x7523, 0x7b97, 0x7e82, 0x8695, 0x8b83, 0x8cdb, 0x9178,\n    0x9910, 0x65ac, 0x66ab, 0x6b8b, 0x4ed5, 0x4ed4, 0x4f3a, 0x4f7f,\n    0x523a, 0x53f8, 0x53f2, 0x55e3, 0x56db, 0x58eb, 0x59cb, 0x59c9,\n    0x59ff, 0x5b50, 0x5c4d, 0x5e02, 0x5e2b, 0x5fd7, 0x601d, 0x6307,\n    0x652f, 0x5b5c, 0x65af, 0x65bd, 0x65e8, 0x679d, 0x6b62, 0x003f,\n    0x6b7b, 0x6c0f, 0x7345, 0x7949, 0x79c1, 0x7cf8, 0x7d19, 0x7d2b,\n    0x80a2, 0x8102, 0x81f3, 0x8996, 0x8a5e, 0x8a69, 0x8a66, 0x8a8c,\n    0x8aee, 0x8cc7, 0x8cdc, 0x96cc, 0x98fc, 0x6b6f, 0x4e8b, 0x4f3c,\n    0x4f8d, 0x5150, 0x5b57, 0x5bfa, 0x6148, 0x6301, 0x6642, 0x6b21,\n    0x6ecb, 0x6cbb, 0x723e, 0x74bd, 0x75d4, 0x78c1, 0x793a, 0x800c,\n    0x8033, 0x81ea, 0x8494, 0x8f9e, 0x6c50, 0x9e7f, 0x5f0f, 0x8b58,\n    0x9d2b, 0x7afa, 0x8ef8, 0x5b8d, 0x96eb, 0x4e03, 0x53f1, 0x57f7,\n    0x5931, 0x5ac9, 0x5ba4, 0x6089, 0x6e7f, 0x6f06, 0x75be, 0x8cea,\n    0x5b9f, 0x8500, 0x7be0, 0x5072, 0x67f4, 0x829d, 0x5c61, 0x854a,\n    0x7e1e, 0x820e, 0x5199, 0x5c04, 0x6368, 0x8d66, 0x659c, 0x716e,\n    0x793e, 0x7d17, 0x8005, 0x8b1d, 0x8eca, 0x906e, 0x86c7, 0x90aa,\n    0x501f, 0x52fa, 0x5c3a, 0x6753, 0x707c, 0x7235, 0x914c, 0x91c8,\n    0x932b, 0x82e5, 0x5bc2, 0x5f31, 0x60f9, 0x4e3b, 0x53d6, 0x5b88,\n    0x624b, 0x6731, 0x6b8a, 0x72e9, 0x73e0, 0x7a2e, 0x816b, 0x8da3,\n    0x9152, 0x9996, 0x5112, 0x53d7, 0x546a, 0x5bff, 0x6388, 0x6a39,\n    0x7dac, 0x9700, 0x56da, 0x53ce, 0x5468, 0x003f, 0x003f, 0x003f,\n    /* lead byte 8f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5b97, 0x5c31, 0x5dde, 0x4fee, 0x6101, 0x62fe, 0x6d32, 0x79c0,\n    0x79cb, 0x7d42, 0x7e4d, 0x7fd2, 0x81ed, 0x821f, 0x8490, 0x8846,\n    0x8972, 0x8b90, 0x8e74, 0x8f2f, 0x9031, 0x914b, 0x916c, 0x96c6,\n    0x919c, 0x4ec0, 0x4f4f, 0x5145, 0x5341, 0x5f93, 0x620e, 0x67d4,\n    0x6c41, 0x6e0b, 0x7363, 0x7e26, 0x91cd, 0x9283, 0x53d4, 0x5919,\n    0x5bbf, 0x6dd1, 0x795d, 0x7e2e, 0x7c9b, 0x587e, 0x719f, 0x51fa,\n    0x8853, 0x8ff0, 0x4fca, 0x5cfb, 0x6625, 0x77ac, 0x7ae3, 0x821c,\n    0x99ff, 0x51c6, 0x5faa, 0x65ec, 0x696f, 0x6b89, 0x6df3, 0x003f,\n    0x6e96, 0x6f64, 0x76fe, 0x7d14, 0x5de1, 0x9075, 0x9187, 0x9806,\n    0x51e6, 0x521d, 0x6240, 0x6691, 0x66d9, 0x6e1a, 0x5eb6, 0x7dd2,\n    0x7f72, 0x66f8, 0x85af, 0x85f7, 0x8af8, 0x52a9, 0x53d9, 0x5973,\n    0x5e8f, 0x5f90, 0x6055, 0x92e4, 0x9664, 0x50b7, 0x511f, 0x52dd,\n    0x5320, 0x5347, 0x53ec, 0x54e8, 0x5546, 0x5531, 0x5617, 0x5968,\n    0x59be, 0x5a3c, 0x5bb5, 0x5c06, 0x5c0f, 0x5c11, 0x5c1a, 0x5e84,\n    0x5e8a, 0x5ee0, 0x5f70, 0x627f, 0x6284, 0x62db, 0x638c, 0x6377,\n    0x6607, 0x660c, 0x662d, 0x6676, 0x677e, 0x68a2, 0x6a1f, 0x6a35,\n    0x6cbc, 0x6d88, 0x6e09, 0x6e58, 0x713c, 0x7126, 0x7167, 0x75c7,\n    0x7701, 0x785d, 0x7901, 0x7965, 0x79f0, 0x7ae0, 0x7b11, 0x7ca7,\n    0x7d39, 0x8096, 0x83d6, 0x848b, 0x8549, 0x885d, 0x88f3, 0x8a1f,\n    0x8a3c, 0x8a54, 0x8a73, 0x8c61, 0x8cde, 0x91a4, 0x9266, 0x937e,\n    0x9418, 0x969c, 0x9798, 0x4e0a, 0x4e08, 0x4e1e, 0x4e57, 0x5197,\n    0x5270, 0x57ce, 0x5834, 0x58cc, 0x5b22, 0x5e38, 0x60c5, 0x64fe,\n    0x6761, 0x6756, 0x6d44, 0x72b6, 0x7573, 0x7a63, 0x84b8, 0x8b72,\n    0x91b8, 0x9320, 0x5631, 0x57f4, 0x98fe, 0x003f, 0x003f, 0x003f,\n    /* lead byte 90 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x62ed, 0x690d, 0x6b96, 0x71ed, 0x7e54, 0x8077, 0x8272, 0x89e6,\n    0x98df, 0x8755, 0x8fb1, 0x5c3b, 0x4f38, 0x4fe1, 0x4fb5, 0x5507,\n    0x5a20, 0x5bdd, 0x5be9, 0x5fc3, 0x614e, 0x632f, 0x65b0, 0x664b,\n    0x68ee, 0x699b, 0x6d78, 0x6df1, 0x7533, 0x75b9, 0x771f, 0x795e,\n    0x79e6, 0x7d33, 0x81e3, 0x82af, 0x85aa, 0x89aa, 0x8a3a, 0x8eab,\n    0x8f9b, 0x9032, 0x91dd, 0x9707, 0x4eba, 0x4ec1, 0x5203, 0x5875,\n    0x58ec, 0x5c0b, 0x751a, 0x5c3d, 0x814e, 0x8a0a, 0x8fc5, 0x9663,\n    0x976d, 0x7b25, 0x8acf, 0x9808, 0x9162, 0x56f3, 0x53a8, 0x003f,\n    0x9017, 0x5439, 0x5782, 0x5e25, 0x63a8, 0x6c34, 0x708a, 0x7761,\n    0x7c8b, 0x7fe0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968f,\n    0x745e, 0x9ac4, 0x5d07, 0x5d69, 0x6570, 0x67a2, 0x8da8, 0x96db,\n    0x636e, 0x6749, 0x6919, 0x83c5, 0x9817, 0x96c0, 0x88fe, 0x6f84,\n    0x647a, 0x5bf8, 0x4e16, 0x702c, 0x755d, 0x662f, 0x51c4, 0x5236,\n    0x52e2, 0x59d3, 0x5f81, 0x6027, 0x6210, 0x653f, 0x6574, 0x661f,\n    0x6674, 0x68f2, 0x6816, 0x6b63, 0x6e05, 0x7272, 0x751f, 0x76db,\n    0x7cbe, 0x8056, 0x58f0, 0x88fd, 0x897f, 0x8aa0, 0x8a93, 0x8acb,\n    0x901d, 0x9192, 0x9752, 0x9759, 0x6589, 0x7a0e, 0x8106, 0x96bb,\n    0x5e2d, 0x60dc, 0x621a, 0x65a5, 0x6614, 0x6790, 0x77f3, 0x7a4d,\n    0x7c4d, 0x7e3e, 0x810a, 0x8cac, 0x8d64, 0x8de1, 0x8e5f, 0x78a9,\n    0x5207, 0x62d9, 0x63a5, 0x6442, 0x6298, 0x8a2d, 0x7a83, 0x7bc0,\n    0x8aac, 0x96ea, 0x7d76, 0x820c, 0x8749, 0x4ed9, 0x5148, 0x5343,\n    0x5360, 0x5ba3, 0x5c02, 0x5c16, 0x5ddd, 0x6226, 0x6247, 0x64b0,\n    0x6813, 0x6834, 0x6cc9, 0x6d45, 0x6d17, 0x67d3, 0x6f5c, 0x714e,\n    0x717d, 0x65cb, 0x7a7f, 0x7bad, 0x7dda, 0x003f, 0x003f, 0x003f,\n    /* lead byte 91 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7e4a, 0x7fa8, 0x817a, 0x821b, 0x8239, 0x85a6, 0x8a6e, 0x8cce,\n    0x8df5, 0x9078, 0x9077, 0x92ad, 0x9291, 0x9583, 0x9bae, 0x524d,\n    0x5584, 0x6f38, 0x7136, 0x5168, 0x7985, 0x7e55, 0x81b3, 0x7cce,\n    0x564c, 0x5851, 0x5ca8, 0x63aa, 0x66fe, 0x66fd, 0x695a, 0x72d9,\n    0x758f, 0x758e, 0x790e, 0x7956, 0x79df, 0x7c97, 0x7d20, 0x7d44,\n    0x8607, 0x8a34, 0x963b, 0x9061, 0x9f20, 0x50e7, 0x5275, 0x53cc,\n    0x53e2, 0x5009, 0x55aa, 0x58ee, 0x594f, 0x723d, 0x5b8b, 0x5c64,\n    0x531d, 0x60e3, 0x60f3, 0x635c, 0x6383, 0x633f, 0x63bb, 0x003f,\n    0x64cd, 0x65e9, 0x66f9, 0x5de3, 0x69cd, 0x69fd, 0x6f15, 0x71e5,\n    0x4e89, 0x75e9, 0x76f8, 0x7a93, 0x7cdf, 0x7dcf, 0x7d9c, 0x8061,\n    0x8349, 0x8358, 0x846c, 0x84bc, 0x85fb, 0x88c5, 0x8d70, 0x9001,\n    0x906d, 0x9397, 0x971c, 0x9a12, 0x50cf, 0x5897, 0x618e, 0x81d3,\n    0x8535, 0x8d08, 0x9020, 0x4fc3, 0x5074, 0x5247, 0x5373, 0x606f,\n    0x6349, 0x675f, 0x6e2c, 0x8db3, 0x901f, 0x4fd7, 0x5c5e, 0x8cca,\n    0x65cf, 0x7d9a, 0x5352, 0x8896, 0x5176, 0x63c3, 0x5b58, 0x5b6b,\n    0x5c0a, 0x640d, 0x6751, 0x905c, 0x4ed6, 0x591a, 0x592a, 0x6c70,\n    0x8a51, 0x553e, 0x5815, 0x59a5, 0x60f0, 0x6253, 0x67c1, 0x8235,\n    0x6955, 0x9640, 0x99c4, 0x9a28, 0x4f53, 0x5806, 0x5bfe, 0x8010,\n    0x5cb1, 0x5e2f, 0x5f85, 0x6020, 0x614b, 0x6234, 0x66ff, 0x6cf0,\n    0x6ede, 0x80ce, 0x817f, 0x82d4, 0x888b, 0x8cb8, 0x9000, 0x902e,\n    0x968a, 0x9edb, 0x9bdb, 0x4ee3, 0x53f0, 0x5927, 0x7b2c, 0x918d,\n    0x984c, 0x9df9, 0x6edd, 0x7027, 0x5353, 0x5544, 0x5b85, 0x6258,\n    0x629e, 0x62d3, 0x6ca2, 0x6fef, 0x7422, 0x8a17, 0x9438, 0x6fc1,\n    0x8afe, 0x8338, 0x51e7, 0x86f8, 0x53ea, 0x003f, 0x003f, 0x003f,\n    /* lead byte 92 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x53e9, 0x4f46, 0x9054, 0x8fb0, 0x596a, 0x8131, 0x5dfd, 0x7aea,\n    0x8fbf, 0x68da, 0x8c37, 0x72f8, 0x9c48, 0x6a3d, 0x8ab0, 0x4e39,\n    0x5358, 0x5606, 0x5766, 0x62c5, 0x63a2, 0x65e6, 0x6b4e, 0x6de1,\n    0x6e5b, 0x70ad, 0x77ed, 0x7aef, 0x7baa, 0x7dbb, 0x803d, 0x80c6,\n    0x86cb, 0x8a95, 0x935b, 0x56e3, 0x58c7, 0x5f3e, 0x65ad, 0x6696,\n    0x6a80, 0x6bb5, 0x7537, 0x8ac7, 0x5024, 0x77e5, 0x5730, 0x5f1b,\n    0x6065, 0x667a, 0x6c60, 0x75f4, 0x7a1a, 0x7f6e, 0x81f4, 0x8718,\n    0x9045, 0x99b3, 0x7bc9, 0x755c, 0x7af9, 0x7b51, 0x84c4, 0x003f,\n    0x9010, 0x79e9, 0x7a92, 0x8336, 0x5ae1, 0x7740, 0x4e2d, 0x4ef2,\n    0x5b99, 0x5fe0, 0x62bd, 0x663c, 0x67f1, 0x6ce8, 0x866b, 0x8877,\n    0x8a3b, 0x914e, 0x92f3, 0x99d0, 0x6a17, 0x7026, 0x732a, 0x82e7,\n    0x8457, 0x8caf, 0x4e01, 0x5146, 0x51cb, 0x558b, 0x5bf5, 0x5e16,\n    0x5e33, 0x5e81, 0x5f14, 0x5f35, 0x5f6b, 0x5fb4, 0x61f2, 0x6311,\n    0x66a2, 0x671d, 0x6f6e, 0x7252, 0x753a, 0x773a, 0x8074, 0x8139,\n    0x8178, 0x8776, 0x8abf, 0x8adc, 0x8d85, 0x8df3, 0x929a, 0x9577,\n    0x9802, 0x9ce5, 0x52c5, 0x6357, 0x76f4, 0x6715, 0x6c88, 0x73cd,\n    0x8cc3, 0x93ae, 0x9673, 0x6d25, 0x589c, 0x690e, 0x69cc, 0x8ffd,\n    0x939a, 0x75db, 0x901a, 0x585a, 0x6802, 0x63b4, 0x69fb, 0x4f43,\n    0x6f2c, 0x67d8, 0x8fbb, 0x8526, 0x7db4, 0x9354, 0x693f, 0x6f70,\n    0x576a, 0x58f7, 0x5b2c, 0x7d2c, 0x722a, 0x540a, 0x91e3, 0x9db4,\n    0x4ead, 0x4f4e, 0x505c, 0x5075, 0x5243, 0x8c9e, 0x5448, 0x5824,\n    0x5b9a, 0x5e1d, 0x5e95, 0x5ead, 0x5ef7, 0x5f1f, 0x608c, 0x62b5,\n    0x633a, 0x63d0, 0x68af, 0x6c40, 0x7887, 0x798e, 0x7a0b, 0x7de0,\n    0x8247, 0x8a02, 0x8ae6, 0x8e44, 0x9013, 0x003f, 0x003f, 0x003f,\n    /* lead byte 93 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x90b8, 0x912d, 0x91d8, 0x9f0e, 0x6ce5, 0x6458, 0x64e2, 0x6575,\n    0x6ef4, 0x7684, 0x7b1b, 0x9069, 0x93d1, 0x6eba, 0x54f2, 0x5fb9,\n    0x64a4, 0x8f4d, 0x8fed, 0x9244, 0x5178, 0x586b, 0x5929, 0x5c55,\n    0x5e97, 0x6dfb, 0x7e8f, 0x751c, 0x8cbc, 0x8ee2, 0x985b, 0x70b9,\n    0x4f1d, 0x6bbf, 0x6fb1, 0x7530, 0x96fb, 0x514e, 0x5410, 0x5835,\n    0x5857, 0x59ac, 0x5c60, 0x5f92, 0x6597, 0x675c, 0x6e21, 0x767b,\n    0x83df, 0x8ced, 0x9014, 0x90fd, 0x934d, 0x7825, 0x783a, 0x52aa,\n    0x5ea6, 0x571f, 0x5974, 0x6012, 0x5012, 0x515a, 0x51ac, 0x003f,\n    0x51cd, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5b95, 0x5cf6,\n    0x5d8b, 0x60bc, 0x6295, 0x642d, 0x6771, 0x6843, 0x68bc, 0x68df,\n    0x76d7, 0x6dd8, 0x6e6f, 0x6d9b, 0x706f, 0x71c8, 0x5f53, 0x75d8,\n    0x7977, 0x7b49, 0x7b54, 0x7b52, 0x7cd6, 0x7d71, 0x5230, 0x8463,\n    0x8569, 0x85e4, 0x8a0e, 0x8b04, 0x8c46, 0x8e0f, 0x9003, 0x900f,\n    0x9419, 0x9676, 0x982d, 0x9a30, 0x95d8, 0x50cd, 0x52d5, 0x540c,\n    0x5802, 0x5c0e, 0x61a7, 0x649e, 0x6d1e, 0x77b3, 0x7ae5, 0x80f4,\n    0x8404, 0x9053, 0x9285, 0x5ce0, 0x9d07, 0x533f, 0x5f97, 0x5fb3,\n    0x6d9c, 0x7279, 0x7763, 0x79bf, 0x7be4, 0x6bd2, 0x72ec, 0x8aad,\n    0x6803, 0x6a61, 0x51f8, 0x7a81, 0x6934, 0x5c4a, 0x9cf6, 0x82eb,\n    0x5bc5, 0x9149, 0x701e, 0x5678, 0x5c6f, 0x60c7, 0x6566, 0x6c8c,\n    0x8c5a, 0x9041, 0x9813, 0x5451, 0x66c7, 0x920d, 0x5948, 0x90a3,\n    0x5185, 0x4e4d, 0x51ea, 0x8599, 0x8b0e, 0x7058, 0x637a, 0x934b,\n    0x6962, 0x99b4, 0x7e04, 0x7577, 0x5357, 0x6960, 0x8edf, 0x96e3,\n    0x6c5d, 0x4e8c, 0x5c3c, 0x5f10, 0x8fe9, 0x5302, 0x8cd1, 0x8089,\n    0x8679, 0x5eff, 0x65e5, 0x4e73, 0x5165, 0x003f, 0x003f, 0x003f,\n    /* lead byte 94 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5982, 0x5c3f, 0x97ee, 0x4efb, 0x598a, 0x5fcd, 0x8a8d, 0x6fe1,\n    0x79b0, 0x7962, 0x5be7, 0x8471, 0x732b, 0x71b1, 0x5e74, 0x5ff5,\n    0x637b, 0x649a, 0x71c3, 0x7c98, 0x4e43, 0x5efc, 0x4e4b, 0x57dc,\n    0x56a2, 0x60a9, 0x6fc3, 0x7d0d, 0x80fd, 0x8133, 0x81bf, 0x8fb2,\n    0x8997, 0x86a4, 0x5df4, 0x628a, 0x64ad, 0x8987, 0x6777, 0x6ce2,\n    0x6d3e, 0x7436, 0x7834, 0x5a46, 0x7f75, 0x82ad, 0x99ac, 0x4ff3,\n    0x5ec3, 0x62dd, 0x6392, 0x6557, 0x676f, 0x76c3, 0x724c, 0x80cc,\n    0x80ba, 0x8f29, 0x914d, 0x500d, 0x57f9, 0x5a92, 0x6885, 0x003f,\n    0x6973, 0x7164, 0x72fd, 0x8cb7, 0x58f2, 0x8ce0, 0x966a, 0x9019,\n    0x877f, 0x79e4, 0x77e7, 0x8429, 0x4f2f, 0x5265, 0x535a, 0x62cd,\n    0x67cf, 0x6cca, 0x767d, 0x7b94, 0x7c95, 0x8236, 0x8584, 0x8feb,\n    0x66dd, 0x6f20, 0x7206, 0x7e1b, 0x83ab, 0x99c1, 0x9ea6, 0x51fd,\n    0x7bb1, 0x7872, 0x7bb8, 0x8087, 0x7b48, 0x6ae8, 0x5e61, 0x808c,\n    0x7551, 0x7560, 0x516b, 0x9262, 0x6e8c, 0x767a, 0x9197, 0x9aea,\n    0x4f10, 0x7f70, 0x629c, 0x7b4f, 0x95a5, 0x9ce9, 0x567a, 0x5859,\n    0x86e4, 0x96bc, 0x4f34, 0x5224, 0x534a, 0x53cd, 0x53db, 0x5e06,\n    0x642c, 0x6591, 0x677f, 0x6c3e, 0x6c4e, 0x7248, 0x72af, 0x73ed,\n    0x7554, 0x7e41, 0x822c, 0x85e9, 0x8ca9, 0x7bc4, 0x91c6, 0x7169,\n    0x9812, 0x98ef, 0x633d, 0x6669, 0x756a, 0x76e4, 0x78d0, 0x8543,\n    0x86ee, 0x532a, 0x5351, 0x5426, 0x5983, 0x5e87, 0x5f7c, 0x60b2,\n    0x6249, 0x6279, 0x62ab, 0x6590, 0x6bd4, 0x6ccc, 0x75b2, 0x76ae,\n    0x7891, 0x79d8, 0x7dcb, 0x7f77, 0x80a5, 0x88ab, 0x8ab9, 0x8cbb,\n    0x907f, 0x975e, 0x98db, 0x6a0b, 0x7c38, 0x5099, 0x5c3e, 0x5fae,\n    0x6787, 0x6bd8, 0x7435, 0x7709, 0x7f8e, 0x003f, 0x003f, 0x003f,\n    /* lead byte 95 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9f3b, 0x67ca, 0x7a17, 0x5339, 0x758b, 0x9aed, 0x5f66, 0x819d,\n    0x83f1, 0x8098, 0x5f3c, 0x5fc5, 0x7562, 0x7b46, 0x903c, 0x6867,\n    0x59eb, 0x5a9b, 0x7d10, 0x767e, 0x8b2c, 0x4ff5, 0x5f6a, 0x6a19,\n    0x6c37, 0x6f02, 0x74e2, 0x7968, 0x8868, 0x8a55, 0x8c79, 0x5edf,\n    0x63cf, 0x75c5, 0x79d2, 0x82d7, 0x9328, 0x92f2, 0x849c, 0x86ed,\n    0x9c2d, 0x54c1, 0x5f6c, 0x658c, 0x6d5c, 0x7015, 0x8ca7, 0x8cd3,\n    0x983b, 0x654f, 0x74f6, 0x4e0d, 0x4ed8, 0x57e0, 0x592b, 0x5a66,\n    0x5bcc, 0x51a8, 0x5e03, 0x5e9c, 0x6016, 0x6276, 0x6577, 0x003f,\n    0x65a7, 0x666e, 0x6d6e, 0x7236, 0x7b26, 0x8150, 0x819a, 0x8299,\n    0x8b5c, 0x8ca0, 0x8ce6, 0x8d74, 0x961c, 0x9644, 0x4fae, 0x64ab,\n    0x6b66, 0x821e, 0x8461, 0x856a, 0x90e8, 0x5c01, 0x6953, 0x98a8,\n    0x847a, 0x8557, 0x4f0f, 0x526f, 0x5fa9, 0x5e45, 0x670d, 0x798f,\n    0x8179, 0x8907, 0x8986, 0x6df5, 0x5f17, 0x6255, 0x6cb8, 0x4ecf,\n    0x7269, 0x9b92, 0x5206, 0x543b, 0x5674, 0x58b3, 0x61a4, 0x626e,\n    0x711a, 0x596e, 0x7c89, 0x7cde, 0x7d1b, 0x96f0, 0x6587, 0x805e,\n    0x4e19, 0x4f75, 0x5175, 0x5840, 0x5e63, 0x5e73, 0x5f0a, 0x67c4,\n    0x4e26, 0x853d, 0x9589, 0x965b, 0x7c73, 0x9801, 0x50fb, 0x58c1,\n    0x7656, 0x78a7, 0x5225, 0x77a5, 0x8511, 0x7b86, 0x504f, 0x5909,\n    0x7247, 0x7bc7, 0x7de8, 0x8fba, 0x8fd4, 0x904d, 0x4fbf, 0x52c9,\n    0x5a29, 0x5f01, 0x97ad, 0x4fdd, 0x8217, 0x92ea, 0x5703, 0x6355,\n    0x6b69, 0x752b, 0x88dc, 0x8f14, 0x7a42, 0x52df, 0x5893, 0x6155,\n    0x620a, 0x66ae, 0x6bcd, 0x7c3f, 0x83e9, 0x5023, 0x4ff8, 0x5305,\n    0x5446, 0x5831, 0x5949, 0x5b9d, 0x5cf0, 0x5cef, 0x5d29, 0x5e96,\n    0x62b1, 0x6367, 0x653e, 0x65b9, 0x670b, 0x003f, 0x003f, 0x003f,\n    /* lead byte 96 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6cd5, 0x6ce1, 0x70f9, 0x7832, 0x7e2b, 0x80de, 0x82b3, 0x840c,\n    0x84ec, 0x8702, 0x8912, 0x8a2a, 0x8c4a, 0x90a6, 0x92d2, 0x98fd,\n    0x9cf3, 0x9d6c, 0x4e4f, 0x4ea1, 0x508d, 0x5256, 0x574a, 0x59a8,\n    0x5e3d, 0x5fd8, 0x5fd9, 0x623f, 0x66b4, 0x671b, 0x67d0, 0x68d2,\n    0x5192, 0x7d21, 0x80aa, 0x81a8, 0x8b00, 0x8c8c, 0x8cbf, 0x927e,\n    0x9632, 0x5420, 0x982c, 0x5317, 0x50d5, 0x535c, 0x58a8, 0x64b2,\n    0x6734, 0x7267, 0x7766, 0x7a46, 0x91e6, 0x52c3, 0x6ca1, 0x6b86,\n    0x5800, 0x5e4c, 0x5954, 0x672c, 0x7ffb, 0x51e1, 0x76c6, 0x003f,\n    0x6469, 0x78e8, 0x9b54, 0x9ebb, 0x57cb, 0x59b9, 0x6627, 0x679a,\n    0x6bce, 0x54e9, 0x69d9, 0x5e55, 0x819c, 0x6795, 0x9baa, 0x67fe,\n    0x9c52, 0x685d, 0x4ea6, 0x4fe3, 0x53c8, 0x62b9, 0x672b, 0x6cab,\n    0x8fc4, 0x4fad, 0x7e6d, 0x9ebf, 0x4e07, 0x6162, 0x6e80, 0x6f2b,\n    0x8513, 0x5473, 0x672a, 0x9b45, 0x5df3, 0x7b95, 0x5cac, 0x5bc6,\n    0x871c, 0x6e4a, 0x84d1, 0x7a14, 0x8108, 0x5999, 0x7c8d, 0x6c11,\n    0x7720, 0x52d9, 0x5922, 0x7121, 0x725f, 0x77db, 0x9727, 0x9d61,\n    0x690b, 0x5a7f, 0x5a18, 0x51a5, 0x540d, 0x547d, 0x660e, 0x76df,\n    0x8ff7, 0x9298, 0x9cf4, 0x59ea, 0x725d, 0x6ec5, 0x514d, 0x68c9,\n    0x7dbf, 0x7dec, 0x9762, 0x9eba, 0x6478, 0x6a21, 0x8302, 0x5984,\n    0x5b5f, 0x6bdb, 0x731b, 0x76f2, 0x7db2, 0x8017, 0x8499, 0x5132,\n    0x6728, 0x9ed9, 0x76ee, 0x6762, 0x52ff, 0x9905, 0x5c24, 0x623b,\n    0x7c7e, 0x8cb0, 0x554f, 0x60b6, 0x7d0b, 0x9580, 0x5301, 0x4e5f,\n    0x51b6, 0x591c, 0x723a, 0x8036, 0x91ce, 0x5f25, 0x77e2, 0x5384,\n    0x5f79, 0x7d04, 0x85ac, 0x8a33, 0x8e8d, 0x9756, 0x67f3, 0x85ae,\n    0x9453, 0x6109, 0x6108, 0x6cb9, 0x7652, 0x003f, 0x003f, 0x003f,\n    /* lead byte 97 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8aed, 0x8f38, 0x552f, 0x4f51, 0x512a, 0x52c7, 0x53cb, 0x5ba5,\n    0x5e7d, 0x60a0, 0x6182, 0x63d6, 0x6709, 0x67da, 0x6e67, 0x6d8c,\n    0x7336, 0x7337, 0x7531, 0x7950, 0x88d5, 0x8a98, 0x904a, 0x9091,\n    0x90f5, 0x96c4, 0x878d, 0x5915, 0x4e88, 0x4f59, 0x4e0e, 0x8a89,\n    0x8f3f, 0x9810, 0x50ad, 0x5e7c, 0x5996, 0x5bb9, 0x5eb8, 0x63da,\n    0x63fa, 0x64c1, 0x66dc, 0x694a, 0x69d8, 0x6d0b, 0x6eb6, 0x7194,\n    0x7528, 0x7aaf, 0x7f8a, 0x8000, 0x8449, 0x84c9, 0x8981, 0x8b21,\n    0x8e0a, 0x9065, 0x967d, 0x990a, 0x617e, 0x6291, 0x6b32, 0x003f,\n    0x6c83, 0x6d74, 0x7fcc, 0x7ffc, 0x6dc0, 0x7f85, 0x87ba, 0x88f8,\n    0x6765, 0x83b1, 0x983c, 0x96f7, 0x6d1b, 0x7d61, 0x843d, 0x916a,\n    0x4e71, 0x5375, 0x5d50, 0x6b04, 0x6feb, 0x85cd, 0x862d, 0x89a7,\n    0x5229, 0x540f, 0x5c65, 0x674e, 0x68a8, 0x7406, 0x7483, 0x75e2,\n    0x88cf, 0x88e1, 0x91cc, 0x96e2, 0x9678, 0x5f8b, 0x7387, 0x7acb,\n    0x844e, 0x63a0, 0x7565, 0x5289, 0x6d41, 0x6e9c, 0x7409, 0x7559,\n    0x786b, 0x7c92, 0x9686, 0x7adc, 0x9f8d, 0x4fb6, 0x616e, 0x65c5,\n    0x865c, 0x4e86, 0x4eae, 0x50da, 0x4e21, 0x51cc, 0x5bee, 0x6599,\n    0x6881, 0x6dbc, 0x731f, 0x7642, 0x77ad, 0x7a1c, 0x7ce7, 0x826f,\n    0x8ad2, 0x907c, 0x91cf, 0x9675, 0x9818, 0x529b, 0x7dd1, 0x502b,\n    0x5398, 0x6797, 0x6dcb, 0x71d0, 0x7433, 0x81e8, 0x8f2a, 0x96a3,\n    0x9c57, 0x9e9f, 0x7460, 0x5841, 0x6d99, 0x7d2f, 0x985e, 0x4ee4,\n    0x4f36, 0x4f8b, 0x51b7, 0x52b1, 0x5dba, 0x601c, 0x73b2, 0x793c,\n    0x82d3, 0x9234, 0x96b7, 0x96f6, 0x970a, 0x9e97, 0x9f62, 0x66a6,\n    0x6b74, 0x5217, 0x52a3, 0x70c8, 0x88c2, 0x5ec9, 0x604b, 0x6190,\n    0x6f23, 0x7149, 0x7c3e, 0x7df4, 0x806f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 98 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x84ee, 0x9023, 0x932c, 0x5442, 0x9b6f, 0x6ad3, 0x7089, 0x8cc2,\n    0x8def, 0x9732, 0x52b4, 0x5a41, 0x5eca, 0x5f04, 0x6717, 0x697c,\n    0x6994, 0x6d6a, 0x6f0f, 0x7262, 0x72fc, 0x7bed, 0x8001, 0x807e,\n    0x874b, 0x90ce, 0x516d, 0x9e93, 0x7984, 0x808b, 0x9332, 0x8ad6,\n    0x502d, 0x548c, 0x8a71, 0x6b6a, 0x8cc4, 0x8107, 0x60d1, 0x67a0,\n    0x9df2, 0x4e99, 0x4e98, 0x9c10, 0x8a6b, 0x85c1, 0x8568, 0x6900,\n    0x6e7e, 0x7897, 0x8155, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x5f0c,\n    0x4e10, 0x4e15, 0x4e2a, 0x4e31, 0x4e36, 0x4e3c, 0x4e3f, 0x4e42,\n    0x4e56, 0x4e58, 0x4e82, 0x4e85, 0x8c6b, 0x4e8a, 0x8212, 0x5f0d,\n    0x4e8e, 0x4e9e, 0x4e9f, 0x4ea0, 0x4ea2, 0x4eb0, 0x4eb3, 0x4eb6,\n    0x4ece, 0x4ecd, 0x4ec4, 0x4ec6, 0x4ec2, 0x4ed7, 0x4ede, 0x4eed,\n    0x4edf, 0x4ef7, 0x4f09, 0x4f5a, 0x4f30, 0x4f5b, 0x4f5d, 0x4f57,\n    0x4f47, 0x4f76, 0x4f88, 0x4f8f, 0x4f98, 0x4f7b, 0x4f69, 0x4f70,\n    0x4f91, 0x4f6f, 0x4f86, 0x4f96, 0x5118, 0x4fd4, 0x4fdf, 0x4fce,\n    0x4fd8, 0x4fdb, 0x4fd1, 0x4fda, 0x4fd0, 0x4fe4, 0x4fe5, 0x501a,\n    0x5028, 0x5014, 0x502a, 0x5025, 0x5005, 0x4f1c, 0x4ff6, 0x5021,\n    0x5029, 0x502c, 0x4ffe, 0x4fef, 0x5011, 0x5006, 0x5043, 0x5047,\n    0x6703, 0x5055, 0x5050, 0x5048, 0x505a, 0x5056, 0x506c, 0x5078,\n    0x5080, 0x509a, 0x5085, 0x50b4, 0x50b2, 0x003f, 0x003f, 0x003f,\n    /* lead byte 99 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x50c9, 0x50ca, 0x50b3, 0x50c2, 0x50d6, 0x50de, 0x50e5, 0x50ed,\n    0x50e3, 0x50ee, 0x50f9, 0x50f5, 0x5109, 0x5101, 0x5102, 0x5116,\n    0x5115, 0x5114, 0x511a, 0x5121, 0x513a, 0x5137, 0x513c, 0x513b,\n    0x513f, 0x5140, 0x5152, 0x514c, 0x5154, 0x5162, 0x7af8, 0x5169,\n    0x516a, 0x516e, 0x5180, 0x5182, 0x56d8, 0x518c, 0x5189, 0x518f,\n    0x5191, 0x5193, 0x5195, 0x5196, 0x51a4, 0x51a6, 0x51a2, 0x51a9,\n    0x51aa, 0x51ab, 0x51b3, 0x51b1, 0x51b2, 0x51b0, 0x51b5, 0x51bd,\n    0x51c5, 0x51c9, 0x51db, 0x51e0, 0x8655, 0x51e9, 0x51ed, 0x003f,\n    0x51f0, 0x51f5, 0x51fe, 0x5204, 0x520b, 0x5214, 0x520e, 0x5227,\n    0x522a, 0x522e, 0x5233, 0x5239, 0x524f, 0x5244, 0x524b, 0x524c,\n    0x525e, 0x5254, 0x526a, 0x5274, 0x5269, 0x5273, 0x527f, 0x527d,\n    0x528d, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8fa8, 0x8fa7,\n    0x52ac, 0x52ad, 0x52bc, 0x52b5, 0x52c1, 0x52cd, 0x52d7, 0x52de,\n    0x52e3, 0x52e6, 0x98ed, 0x52e0, 0x52f3, 0x52f5, 0x52f8, 0x52f9,\n    0x5306, 0x5308, 0x7538, 0x530d, 0x5310, 0x530f, 0x5315, 0x531a,\n    0x5323, 0x532f, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345,\n    0x4e17, 0x5349, 0x534d, 0x51d6, 0x535e, 0x5369, 0x536e, 0x5918,\n    0x537b, 0x5377, 0x5382, 0x5396, 0x53a0, 0x53a6, 0x53a5, 0x53ae,\n    0x53b0, 0x53b6, 0x53c3, 0x7c12, 0x96d9, 0x53df, 0x66fc, 0x71ee,\n    0x53ee, 0x53e8, 0x53ed, 0x53fa, 0x5401, 0x543d, 0x5440, 0x542c,\n    0x542d, 0x543c, 0x542e, 0x5436, 0x5429, 0x541d, 0x544e, 0x548f,\n    0x5475, 0x548e, 0x545f, 0x5471, 0x5477, 0x5470, 0x5492, 0x547b,\n    0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54c7, 0x54a2, 0x54b8,\n    0x54a5, 0x54ac, 0x54c4, 0x54c8, 0x54a8, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x54ab, 0x54c2, 0x54a4, 0x54be, 0x54bc, 0x54d8, 0x54e5, 0x54e6,\n    0x550f, 0x5514, 0x54fd, 0x54ee, 0x54ed, 0x54fa, 0x54e2, 0x5539,\n    0x5540, 0x5563, 0x554c, 0x552e, 0x555c, 0x5545, 0x5556, 0x5557,\n    0x5538, 0x5533, 0x555d, 0x5599, 0x5580, 0x54af, 0x558a, 0x559f,\n    0x557b, 0x557e, 0x5598, 0x559e, 0x55ae, 0x557c, 0x5583, 0x55a9,\n    0x5587, 0x55a8, 0x55da, 0x55c5, 0x55df, 0x55c4, 0x55dc, 0x55e4,\n    0x55d4, 0x5614, 0x55f7, 0x5616, 0x55fe, 0x55fd, 0x561b, 0x55f9,\n    0x564e, 0x5650, 0x71df, 0x5634, 0x5636, 0x5632, 0x5638, 0x003f,\n    0x566b, 0x5664, 0x562f, 0x566c, 0x566a, 0x5686, 0x5680, 0x568a,\n    0x56a0, 0x5694, 0x568f, 0x56a5, 0x56ae, 0x56b6, 0x56b4, 0x56c2,\n    0x56bc, 0x56c1, 0x56c3, 0x56c0, 0x56c8, 0x56ce, 0x56d1, 0x56d3,\n    0x56d7, 0x56ee, 0x56f9, 0x5700, 0x56ff, 0x5704, 0x5709, 0x5708,\n    0x570b, 0x570d, 0x5713, 0x5718, 0x5716, 0x55c7, 0x571c, 0x5726,\n    0x5737, 0x5738, 0x574e, 0x573b, 0x5740, 0x574f, 0x5769, 0x57c0,\n    0x5788, 0x5761, 0x577f, 0x5789, 0x5793, 0x57a0, 0x57b3, 0x57a4,\n    0x57aa, 0x57b0, 0x57c3, 0x57c6, 0x57d4, 0x57d2, 0x57d3, 0x580a,\n    0x57d6, 0x57e3, 0x580b, 0x5819, 0x581d, 0x5872, 0x5821, 0x5862,\n    0x584b, 0x5870, 0x6bc0, 0x5852, 0x583d, 0x5879, 0x5885, 0x58b9,\n    0x589f, 0x58ab, 0x58ba, 0x58de, 0x58bb, 0x58b8, 0x58ae, 0x58c5,\n    0x58d3, 0x58d1, 0x58d7, 0x58d9, 0x58d8, 0x58e5, 0x58dc, 0x58e4,\n    0x58df, 0x58ef, 0x58fa, 0x58f9, 0x58fb, 0x58fc, 0x58fd, 0x5902,\n    0x590a, 0x5910, 0x591b, 0x68a6, 0x5925, 0x592c, 0x592d, 0x5932,\n    0x5938, 0x593e, 0x7ad2, 0x5955, 0x5950, 0x594e, 0x595a, 0x5958,\n    0x5962, 0x5960, 0x5967, 0x596c, 0x5969, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5978, 0x5981, 0x599d, 0x4f5e, 0x4fab, 0x59a3, 0x59b2, 0x59c6,\n    0x59e8, 0x59dc, 0x598d, 0x59d9, 0x59da, 0x5a25, 0x5a1f, 0x5a11,\n    0x5a1c, 0x5a09, 0x5a1a, 0x5a40, 0x5a6c, 0x5a49, 0x5a35, 0x5a36,\n    0x5a62, 0x5a6a, 0x5a9a, 0x5abc, 0x5abe, 0x5acb, 0x5ac2, 0x5abd,\n    0x5ae3, 0x5ad7, 0x5ae6, 0x5ae9, 0x5ad6, 0x5afa, 0x5afb, 0x5b0c,\n    0x5b0b, 0x5b16, 0x5b32, 0x5ad0, 0x5b2a, 0x5b36, 0x5b3e, 0x5b43,\n    0x5b45, 0x5b40, 0x5b51, 0x5b55, 0x5b5a, 0x5b5b, 0x5b65, 0x5b69,\n    0x5b70, 0x5b73, 0x5b75, 0x5b78, 0x6588, 0x5b7a, 0x5b80, 0x003f,\n    0x5b83, 0x5ba6, 0x5bb8, 0x5bc3, 0x5bc7, 0x5bc9, 0x5bd4, 0x5bd0,\n    0x5be4, 0x5be6, 0x5be2, 0x5bde, 0x5be5, 0x5beb, 0x5bf0, 0x5bf6,\n    0x5bf3, 0x5c05, 0x5c07, 0x5c08, 0x5c0d, 0x5c13, 0x5c20, 0x5c22,\n    0x5c28, 0x5c38, 0x5c39, 0x5c41, 0x5c46, 0x5c4e, 0x5c53, 0x5c50,\n    0x5c4f, 0x5b71, 0x5c6c, 0x5c6e, 0x4e62, 0x5c76, 0x5c79, 0x5c8c,\n    0x5c91, 0x5c94, 0x599b, 0x5cab, 0x5cbb, 0x5cb6, 0x5cbc, 0x5cb7,\n    0x5cc5, 0x5cbe, 0x5cc7, 0x5cd9, 0x5ce9, 0x5cfd, 0x5cfa, 0x5ced,\n    0x5d8c, 0x5cea, 0x5d0b, 0x5d15, 0x5d17, 0x5d5c, 0x5d1f, 0x5d1b,\n    0x5d11, 0x5d14, 0x5d22, 0x5d1a, 0x5d19, 0x5d18, 0x5d4c, 0x5d52,\n    0x5d4e, 0x5d4b, 0x5d6c, 0x5d73, 0x5d76, 0x5d87, 0x5d84, 0x5d82,\n    0x5da2, 0x5d9d, 0x5dac, 0x5dae, 0x5dbd, 0x5d90, 0x5db7, 0x5dbc,\n    0x5dc9, 0x5dcd, 0x5dd3, 0x5dd2, 0x5dd6, 0x5ddb, 0x5deb, 0x5df2,\n    0x5df5, 0x5e0b, 0x5e1a, 0x5e19, 0x5e11, 0x5e1b, 0x5e36, 0x5e37,\n    0x5e44, 0x5e43, 0x5e40, 0x5e4e, 0x5e57, 0x5e54, 0x5e5f, 0x5e62,\n    0x5e64, 0x5e47, 0x5e75, 0x5e76, 0x5e7a, 0x9ebc, 0x5e7f, 0x5ea0,\n    0x5ec1, 0x5ec2, 0x5ec8, 0x5ed0, 0x5ecf, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5ed6, 0x5ee3, 0x5edd, 0x5eda, 0x5edb, 0x5ee2, 0x5ee1, 0x5ee8,\n    0x5ee9, 0x5eec, 0x5ef1, 0x5ef3, 0x5ef0, 0x5ef4, 0x5ef8, 0x5efe,\n    0x5f03, 0x5f09, 0x5f5d, 0x5f5c, 0x5f0b, 0x5f11, 0x5f16, 0x5f29,\n    0x5f2d, 0x5f38, 0x5f41, 0x5f48, 0x5f4c, 0x5f4e, 0x5f2f, 0x5f51,\n    0x5f56, 0x5f57, 0x5f59, 0x5f61, 0x5f6d, 0x5f73, 0x5f77, 0x5f83,\n    0x5f82, 0x5f7f, 0x5f8a, 0x5f88, 0x5f91, 0x5f87, 0x5f9e, 0x5f99,\n    0x5f98, 0x5fa0, 0x5fa8, 0x5fad, 0x5fbc, 0x5fd6, 0x5ffb, 0x5fe4,\n    0x5ff8, 0x5ff1, 0x5fdd, 0x60b3, 0x5fff, 0x6021, 0x6060, 0x003f,\n    0x6019, 0x6010, 0x6029, 0x600e, 0x6031, 0x601b, 0x6015, 0x602b,\n    0x6026, 0x600f, 0x603a, 0x605a, 0x6041, 0x606a, 0x6077, 0x605f,\n    0x604a, 0x6046, 0x604d, 0x6063, 0x6043, 0x6064, 0x6042, 0x606c,\n    0x606b, 0x6059, 0x6081, 0x608d, 0x60e7, 0x6083, 0x609a, 0x6084,\n    0x609b, 0x6096, 0x6097, 0x6092, 0x60a7, 0x608b, 0x60e1, 0x60b8,\n    0x60e0, 0x60d3, 0x60b4, 0x5ff0, 0x60bd, 0x60c6, 0x60b5, 0x60d8,\n    0x614d, 0x6115, 0x6106, 0x60f6, 0x60f7, 0x6100, 0x60f4, 0x60fa,\n    0x6103, 0x6121, 0x60fb, 0x60f1, 0x610d, 0x610e, 0x6147, 0x613e,\n    0x6128, 0x6127, 0x614a, 0x613f, 0x613c, 0x612c, 0x6134, 0x613d,\n    0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615a, 0x616b,\n    0x6174, 0x616f, 0x6165, 0x6171, 0x615f, 0x615d, 0x6153, 0x6175,\n    0x6199, 0x6196, 0x6187, 0x61ac, 0x6194, 0x619a, 0x618a, 0x6191,\n    0x61ab, 0x61ae, 0x61cc, 0x61ca, 0x61c9, 0x61f7, 0x61c8, 0x61c3,\n    0x61c6, 0x61ba, 0x61cb, 0x7f79, 0x61cd, 0x61e6, 0x61e3, 0x61f6,\n    0x61fa, 0x61f4, 0x61ff, 0x61fd, 0x61fc, 0x61fe, 0x6200, 0x6208,\n    0x6209, 0x620d, 0x620c, 0x6214, 0x621b, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x621e, 0x6221, 0x622a, 0x622e, 0x6230, 0x6232, 0x6233, 0x6241,\n    0x624e, 0x625e, 0x6263, 0x625b, 0x6260, 0x6268, 0x627c, 0x6282,\n    0x6289, 0x627e, 0x6292, 0x6293, 0x6296, 0x62d4, 0x6283, 0x6294,\n    0x62d7, 0x62d1, 0x62bb, 0x62cf, 0x62ff, 0x62c6, 0x64d4, 0x62c8,\n    0x62dc, 0x62cc, 0x62ca, 0x62c2, 0x62c7, 0x629b, 0x62c9, 0x630c,\n    0x62ee, 0x62f1, 0x6327, 0x6302, 0x6308, 0x62ef, 0x62f5, 0x6350,\n    0x633e, 0x634d, 0x641c, 0x634f, 0x6396, 0x638e, 0x6380, 0x63ab,\n    0x6376, 0x63a3, 0x638f, 0x6389, 0x639f, 0x63b5, 0x636b, 0x003f,\n    0x6369, 0x63be, 0x63e9, 0x63c0, 0x63c6, 0x63e3, 0x63c9, 0x63d2,\n    0x63f6, 0x63c4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436,\n    0x651d, 0x6417, 0x6428, 0x640f, 0x6467, 0x646f, 0x6476, 0x644e,\n    0x652a, 0x6495, 0x6493, 0x64a5, 0x64a9, 0x6488, 0x64bc, 0x64da,\n    0x64d2, 0x64c5, 0x64c7, 0x64bb, 0x64d8, 0x64c2, 0x64f1, 0x64e7,\n    0x8209, 0x64e0, 0x64e1, 0x62ac, 0x64e3, 0x64ef, 0x652c, 0x64f6,\n    0x64f4, 0x64f2, 0x64fa, 0x6500, 0x64fd, 0x6518, 0x651c, 0x6505,\n    0x6524, 0x6523, 0x652b, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538,\n    0x754b, 0x6548, 0x6556, 0x6555, 0x654d, 0x6558, 0x655e, 0x655d,\n    0x6572, 0x6578, 0x6582, 0x6583, 0x8b8a, 0x659b, 0x659f, 0x65ab,\n    0x65b7, 0x65c3, 0x65c6, 0x65c1, 0x65c4, 0x65cc, 0x65d2, 0x65db,\n    0x65d9, 0x65e0, 0x65e1, 0x65f1, 0x6772, 0x660a, 0x6603, 0x65fb,\n    0x6773, 0x6635, 0x6636, 0x6634, 0x661c, 0x664f, 0x6644, 0x6649,\n    0x6641, 0x665e, 0x665d, 0x6664, 0x6667, 0x6668, 0x665f, 0x6662,\n    0x6670, 0x6683, 0x6688, 0x668e, 0x6689, 0x6684, 0x6698, 0x669d,\n    0x66c1, 0x66b9, 0x66c9, 0x66be, 0x66bc, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x66c4, 0x66b8, 0x66d6, 0x66da, 0x66e0, 0x663f, 0x66e6, 0x66e9,\n    0x66f0, 0x66f5, 0x66f7, 0x670f, 0x6716, 0x671e, 0x6726, 0x6727,\n    0x9738, 0x672e, 0x673f, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746,\n    0x675e, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67a9,\n    0x677c, 0x676a, 0x678c, 0x678b, 0x67a6, 0x67a1, 0x6785, 0x67b7,\n    0x67ef, 0x67b4, 0x67ec, 0x67b3, 0x67e9, 0x67b8, 0x67e4, 0x67de,\n    0x67dd, 0x67e2, 0x67ee, 0x67b9, 0x67ce, 0x67c6, 0x67e7, 0x6a9c,\n    0x681e, 0x6846, 0x6829, 0x6840, 0x684d, 0x6832, 0x684e, 0x003f,\n    0x68b3, 0x682b, 0x6859, 0x6863, 0x6877, 0x687f, 0x689f, 0x688f,\n    0x68ad, 0x6894, 0x689d, 0x689b, 0x6883, 0x6aae, 0x68b9, 0x6874,\n    0x68b5, 0x68a0, 0x68ba, 0x690f, 0x688d, 0x687e, 0x6901, 0x68ca,\n    0x6908, 0x68d8, 0x6922, 0x6926, 0x68e1, 0x690c, 0x68cd, 0x68d4,\n    0x68e7, 0x68d5, 0x6936, 0x6912, 0x6904, 0x68d7, 0x68e3, 0x6925,\n    0x68f9, 0x68e0, 0x68ef, 0x6928, 0x692a, 0x691a, 0x6923, 0x6921,\n    0x68c6, 0x6979, 0x6977, 0x695c, 0x6978, 0x696b, 0x6954, 0x697e,\n    0x696e, 0x6939, 0x6974, 0x693d, 0x6959, 0x6930, 0x6961, 0x695e,\n    0x695d, 0x6981, 0x696a, 0x69b2, 0x69ae, 0x69d0, 0x69bf, 0x69c1,\n    0x69d3, 0x69be, 0x69ce, 0x5be8, 0x69ca, 0x69dd, 0x69bb, 0x69c3,\n    0x69a7, 0x6a2e, 0x6991, 0x69a0, 0x699c, 0x6995, 0x69b4, 0x69de,\n    0x69e8, 0x6a02, 0x6a1b, 0x69ff, 0x6b0a, 0x69f9, 0x69f2, 0x69e7,\n    0x6a05, 0x69b1, 0x6a1e, 0x69ed, 0x6a14, 0x69eb, 0x6a0a, 0x6a12,\n    0x6ac1, 0x6a23, 0x6a13, 0x6a44, 0x6a0c, 0x6a72, 0x6a36, 0x6a78,\n    0x6a47, 0x6a62, 0x6a59, 0x6a66, 0x6a48, 0x6a38, 0x6a22, 0x6a90,\n    0x6a8d, 0x6aa0, 0x6a84, 0x6aa2, 0x6aa3, 0x003f, 0x003f, 0x003f,\n    /* lead byte 9f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6a97, 0x8617, 0x6abb, 0x6ac3, 0x6ac2, 0x6ab8, 0x6ab3, 0x6aac,\n    0x6ade, 0x6ad1, 0x6adf, 0x6aaa, 0x6ada, 0x6aea, 0x6afb, 0x6b05,\n    0x8616, 0x6afa, 0x6b12, 0x6b16, 0x9b31, 0x6b1f, 0x6b38, 0x6b37,\n    0x76dc, 0x6b39, 0x98ee, 0x6b47, 0x6b43, 0x6b49, 0x6b50, 0x6b59,\n    0x6b54, 0x6b5b, 0x6b5f, 0x6b61, 0x6b78, 0x6b79, 0x6b7f, 0x6b80,\n    0x6b84, 0x6b83, 0x6b8d, 0x6b98, 0x6b95, 0x6b9e, 0x6ba4, 0x6baa,\n    0x6bab, 0x6baf, 0x6bb2, 0x6bb1, 0x6bb3, 0x6bb7, 0x6bbc, 0x6bc6,\n    0x6bcb, 0x6bd3, 0x6bdf, 0x6bec, 0x6beb, 0x6bf3, 0x6bef, 0x003f,\n    0x9ebe, 0x6c08, 0x6c13, 0x6c14, 0x6c1b, 0x6c24, 0x6c23, 0x6c5e,\n    0x6c55, 0x6c62, 0x6c6a, 0x6c82, 0x6c8d, 0x6c9a, 0x6c81, 0x6c9b,\n    0x6c7e, 0x6c68, 0x6c73, 0x6c92, 0x6c90, 0x6cc4, 0x6cf1, 0x6cd3,\n    0x6cbd, 0x6cd7, 0x6cc5, 0x6cdd, 0x6cae, 0x6cb1, 0x6cbe, 0x6cba,\n    0x6cdb, 0x6cef, 0x6cd9, 0x6cea, 0x6d1f, 0x884d, 0x6d36, 0x6d2b,\n    0x6d3d, 0x6d38, 0x6d19, 0x6d35, 0x6d33, 0x6d12, 0x6d0c, 0x6d63,\n    0x6d93, 0x6d64, 0x6d5a, 0x6d79, 0x6d59, 0x6d8e, 0x6d95, 0x6fe4,\n    0x6d85, 0x6df9, 0x6e15, 0x6e0a, 0x6db5, 0x6dc7, 0x6de6, 0x6db8,\n    0x6dc6, 0x6dec, 0x6dde, 0x6dcc, 0x6de8, 0x6dd2, 0x6dc5, 0x6dfa,\n    0x6dd9, 0x6de4, 0x6dd5, 0x6dea, 0x6dee, 0x6e2d, 0x6e6e, 0x6e2e,\n    0x6e19, 0x6e72, 0x6e5f, 0x6e3e, 0x6e23, 0x6e6b, 0x6e2b, 0x6e76,\n    0x6e4d, 0x6e1f, 0x6e43, 0x6e3a, 0x6e4e, 0x6e24, 0x6eff, 0x6e1d,\n    0x6e38, 0x6e82, 0x6eaa, 0x6e98, 0x6ec9, 0x6eb7, 0x6ed3, 0x6ebd,\n    0x6eaf, 0x6ec4, 0x6eb2, 0x6ed4, 0x6ed5, 0x6e8f, 0x6ea5, 0x6ec2,\n    0x6e9f, 0x6f41, 0x6f11, 0x704c, 0x6eec, 0x6ef8, 0x6efe, 0x6f3f,\n    0x6ef2, 0x6f31, 0x6eef, 0x6f32, 0x6ecc, 0x003f, 0x003f, 0x003f,\n    /* lead byte e0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6f3e, 0x6f13, 0x6ef7, 0x6f86, 0x6f7a, 0x6f78, 0x6f81, 0x6f80,\n    0x6f6f, 0x6f5b, 0x6ff3, 0x6f6d, 0x6f82, 0x6f7c, 0x6f58, 0x6f8e,\n    0x6f91, 0x6fc2, 0x6f66, 0x6fb3, 0x6fa3, 0x6fa1, 0x6fa4, 0x6fb9,\n    0x6fc6, 0x6faa, 0x6fdf, 0x6fd5, 0x6fec, 0x6fd4, 0x6fd8, 0x6ff1,\n    0x6fee, 0x6fdb, 0x7009, 0x700b, 0x6ffa, 0x7011, 0x7001, 0x700f,\n    0x6ffe, 0x701b, 0x701a, 0x6f74, 0x701d, 0x7018, 0x701f, 0x7030,\n    0x703e, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70af, 0x70f1,\n    0x70ac, 0x70b8, 0x70b3, 0x70ae, 0x70df, 0x70cb, 0x70dd, 0x003f,\n    0x70d9, 0x7109, 0x70fd, 0x711c, 0x7119, 0x7165, 0x7155, 0x7188,\n    0x7166, 0x7162, 0x714c, 0x7156, 0x716c, 0x718f, 0x71fb, 0x7184,\n    0x7195, 0x71a8, 0x71ac, 0x71d7, 0x71b9, 0x71be, 0x71d2, 0x71c9,\n    0x71d4, 0x71ce, 0x71e0, 0x71ec, 0x71e7, 0x71f5, 0x71fc, 0x71f9,\n    0x71ff, 0x720d, 0x7210, 0x721b, 0x7228, 0x722d, 0x722c, 0x7230,\n    0x7232, 0x723b, 0x723c, 0x723f, 0x7240, 0x7246, 0x724b, 0x7258,\n    0x7274, 0x727e, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72a2,\n    0x72a7, 0x72b9, 0x72b2, 0x72c3, 0x72c6, 0x72c4, 0x72ce, 0x72d2,\n    0x72e2, 0x72e0, 0x72e1, 0x72f9, 0x72f7, 0x500f, 0x7317, 0x730a,\n    0x731c, 0x7316, 0x731d, 0x7334, 0x732f, 0x7329, 0x7325, 0x733e,\n    0x734e, 0x734f, 0x9ed8, 0x7357, 0x736a, 0x7368, 0x7370, 0x7378,\n    0x7375, 0x737b, 0x737a, 0x73c8, 0x73b3, 0x73ce, 0x73bb, 0x73c0,\n    0x73e5, 0x73ee, 0x73de, 0x74a2, 0x7405, 0x746f, 0x7425, 0x73f8,\n    0x7432, 0x743a, 0x7455, 0x743f, 0x745f, 0x7459, 0x7441, 0x745c,\n    0x7469, 0x7470, 0x7463, 0x746a, 0x7476, 0x747e, 0x748b, 0x749e,\n    0x74a7, 0x74ca, 0x74cf, 0x74d4, 0x73f1, 0x003f, 0x003f, 0x003f,\n    /* lead byte e1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x74e0, 0x74e3, 0x74e7, 0x74e9, 0x74ee, 0x74f2, 0x74f0, 0x74f1,\n    0x74f8, 0x74f7, 0x7504, 0x7503, 0x7505, 0x750c, 0x750e, 0x750d,\n    0x7515, 0x7513, 0x751e, 0x7526, 0x752c, 0x753c, 0x7544, 0x754d,\n    0x754a, 0x7549, 0x755b, 0x7546, 0x755a, 0x7569, 0x7564, 0x7567,\n    0x756b, 0x756d, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758a,\n    0x7589, 0x7582, 0x7594, 0x759a, 0x759d, 0x75a5, 0x75a3, 0x75c2,\n    0x75b3, 0x75c3, 0x75b5, 0x75bd, 0x75b8, 0x75bc, 0x75b1, 0x75cd,\n    0x75ca, 0x75d2, 0x75d9, 0x75e3, 0x75de, 0x75fe, 0x75ff, 0x003f,\n    0x75fc, 0x7601, 0x75f0, 0x75fa, 0x75f2, 0x75f3, 0x760b, 0x760d,\n    0x7609, 0x761f, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634,\n    0x7630, 0x763b, 0x7647, 0x7648, 0x7646, 0x765c, 0x7658, 0x7661,\n    0x7662, 0x7668, 0x7669, 0x766a, 0x7667, 0x766c, 0x7670, 0x7672,\n    0x7676, 0x7678, 0x767c, 0x7680, 0x7683, 0x7688, 0x768b, 0x768e,\n    0x7696, 0x7693, 0x7699, 0x769a, 0x76b0, 0x76b4, 0x76b8, 0x76b9,\n    0x76ba, 0x76c2, 0x76cd, 0x76d6, 0x76d2, 0x76de, 0x76e1, 0x76e5,\n    0x76e7, 0x76ea, 0x862f, 0x76fb, 0x7708, 0x7707, 0x7704, 0x7729,\n    0x7724, 0x771e, 0x7725, 0x7726, 0x771b, 0x7737, 0x7738, 0x7747,\n    0x775a, 0x7768, 0x776b, 0x775b, 0x7765, 0x777f, 0x777e, 0x7779,\n    0x778e, 0x778b, 0x7791, 0x77a0, 0x779e, 0x77b0, 0x77b6, 0x77b9,\n    0x77bf, 0x77bc, 0x77bd, 0x77bb, 0x77c7, 0x77cd, 0x77d7, 0x77da,\n    0x77dc, 0x77e3, 0x77ee, 0x77fc, 0x780c, 0x7812, 0x7926, 0x7820,\n    0x792a, 0x7845, 0x788e, 0x7874, 0x7886, 0x787c, 0x789a, 0x788c,\n    0x78a3, 0x78b5, 0x78aa, 0x78af, 0x78d1, 0x78c6, 0x78cb, 0x78d4,\n    0x78be, 0x78bc, 0x78c5, 0x78ca, 0x78ec, 0x003f, 0x003f, 0x003f,\n    /* lead byte e2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x78e7, 0x78da, 0x78fd, 0x78f4, 0x7907, 0x7912, 0x7911, 0x7919,\n    0x792c, 0x792b, 0x7940, 0x7960, 0x7957, 0x795f, 0x795a, 0x7955,\n    0x7953, 0x797a, 0x797f, 0x798a, 0x799d, 0x79a7, 0x9f4b, 0x79aa,\n    0x79ae, 0x79b3, 0x79b9, 0x79ba, 0x79c9, 0x79d5, 0x79e7, 0x79ec,\n    0x79e1, 0x79e3, 0x7a08, 0x7a0d, 0x7a18, 0x7a19, 0x7a20, 0x7a1f,\n    0x7980, 0x7a31, 0x7a3b, 0x7a3e, 0x7a37, 0x7a43, 0x7a57, 0x7a49,\n    0x7a61, 0x7a62, 0x7a69, 0x9f9d, 0x7a70, 0x7a79, 0x7a7d, 0x7a88,\n    0x7a97, 0x7a95, 0x7a98, 0x7a96, 0x7aa9, 0x7ac8, 0x7ab0, 0x003f,\n    0x7ab6, 0x7ac5, 0x7ac4, 0x7abf, 0x9083, 0x7ac7, 0x7aca, 0x7acd,\n    0x7acf, 0x7ad5, 0x7ad3, 0x7ad9, 0x7ada, 0x7add, 0x7ae1, 0x7ae2,\n    0x7ae6, 0x7aed, 0x7af0, 0x7b02, 0x7b0f, 0x7b0a, 0x7b06, 0x7b33,\n    0x7b18, 0x7b19, 0x7b1e, 0x7b35, 0x7b28, 0x7b36, 0x7b50, 0x7b7a,\n    0x7b04, 0x7b4d, 0x7b0b, 0x7b4c, 0x7b45, 0x7b75, 0x7b65, 0x7b74,\n    0x7b67, 0x7b70, 0x7b71, 0x7b6c, 0x7b6e, 0x7b9d, 0x7b98, 0x7b9f,\n    0x7b8d, 0x7b9c, 0x7b9a, 0x7b8b, 0x7b92, 0x7b8f, 0x7b5d, 0x7b99,\n    0x7bcb, 0x7bc1, 0x7bcc, 0x7bcf, 0x7bb4, 0x7bc6, 0x7bdd, 0x7be9,\n    0x7c11, 0x7c14, 0x7be6, 0x7be5, 0x7c60, 0x7c00, 0x7c07, 0x7c13,\n    0x7bf3, 0x7bf7, 0x7c17, 0x7c0d, 0x7bf6, 0x7c23, 0x7c27, 0x7c2a,\n    0x7c1f, 0x7c37, 0x7c2b, 0x7c3d, 0x7c4c, 0x7c43, 0x7c54, 0x7c4f,\n    0x7c40, 0x7c50, 0x7c58, 0x7c5f, 0x7c64, 0x7c56, 0x7c65, 0x7c6c,\n    0x7c75, 0x7c83, 0x7c90, 0x7ca4, 0x7cad, 0x7ca2, 0x7cab, 0x7ca1,\n    0x7ca8, 0x7cb3, 0x7cb2, 0x7cb1, 0x7cae, 0x7cb9, 0x7cbd, 0x7cc0,\n    0x7cc5, 0x7cc2, 0x7cd8, 0x7cd2, 0x7cdc, 0x7ce2, 0x9b3b, 0x7cef,\n    0x7cf2, 0x7cf4, 0x7cf6, 0x7cfa, 0x7d06, 0x003f, 0x003f, 0x003f,\n    /* lead byte e3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7d02, 0x7d1c, 0x7d15, 0x7d0a, 0x7d45, 0x7d4b, 0x7d2e, 0x7d32,\n    0x7d3f, 0x7d35, 0x7d46, 0x7d73, 0x7d56, 0x7d4e, 0x7d72, 0x7d68,\n    0x7d6e, 0x7d4f, 0x7d63, 0x7d93, 0x7d89, 0x7d5b, 0x7d8f, 0x7d7d,\n    0x7d9b, 0x7dba, 0x7dae, 0x7da3, 0x7db5, 0x7dc7, 0x7dbd, 0x7dab,\n    0x7e3d, 0x7da2, 0x7daf, 0x7ddc, 0x7db8, 0x7d9f, 0x7db0, 0x7dd8,\n    0x7ddd, 0x7de4, 0x7dde, 0x7dfb, 0x7df2, 0x7de1, 0x7e05, 0x7e0a,\n    0x7e23, 0x7e21, 0x7e12, 0x7e31, 0x7e1f, 0x7e09, 0x7e0b, 0x7e22,\n    0x7e46, 0x7e66, 0x7e3b, 0x7e35, 0x7e39, 0x7e43, 0x7e37, 0x003f,\n    0x7e32, 0x7e3a, 0x7e67, 0x7e5d, 0x7e56, 0x7e5e, 0x7e59, 0x7e5a,\n    0x7e79, 0x7e6a, 0x7e69, 0x7e7c, 0x7e7b, 0x7e83, 0x7dd5, 0x7e7d,\n    0x8fae, 0x7e7f, 0x7e88, 0x7e89, 0x7e8c, 0x7e92, 0x7e90, 0x7e93,\n    0x7e94, 0x7e96, 0x7e8e, 0x7e9b, 0x7e9c, 0x7f38, 0x7f3a, 0x7f45,\n    0x7f4c, 0x7f4d, 0x7f4e, 0x7f50, 0x7f51, 0x7f55, 0x7f54, 0x7f58,\n    0x7f5f, 0x7f60, 0x7f68, 0x7f69, 0x7f67, 0x7f78, 0x7f82, 0x7f86,\n    0x7f83, 0x7f88, 0x7f87, 0x7f8c, 0x7f94, 0x7f9e, 0x7f9d, 0x7f9a,\n    0x7fa3, 0x7faf, 0x7fb2, 0x7fb9, 0x7fae, 0x7fb6, 0x7fb8, 0x8b71,\n    0x7fc5, 0x7fc6, 0x7fca, 0x7fd5, 0x7fd4, 0x7fe1, 0x7fe6, 0x7fe9,\n    0x7ff3, 0x7ff9, 0x98dc, 0x8006, 0x8004, 0x800b, 0x8012, 0x8018,\n    0x8019, 0x801c, 0x8021, 0x8028, 0x803f, 0x803b, 0x804a, 0x8046,\n    0x8052, 0x8058, 0x805a, 0x805f, 0x8062, 0x8068, 0x8073, 0x8072,\n    0x8070, 0x8076, 0x8079, 0x807d, 0x807f, 0x8084, 0x8086, 0x8085,\n    0x809b, 0x8093, 0x809a, 0x80ad, 0x5190, 0x80ac, 0x80db, 0x80e5,\n    0x80d9, 0x80dd, 0x80c4, 0x80da, 0x80d6, 0x8109, 0x80ef, 0x80f1,\n    0x811b, 0x8129, 0x8123, 0x812f, 0x814b, 0x003f, 0x003f, 0x003f,\n    /* lead byte e4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x968b, 0x8146, 0x813e, 0x8153, 0x8151, 0x80fc, 0x8171, 0x816e,\n    0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818a, 0x8180, 0x8182,\n    0x81a0, 0x8195, 0x81a4, 0x81a3, 0x815f, 0x8193, 0x81a9, 0x81b0,\n    0x81b5, 0x81be, 0x81b8, 0x81bd, 0x81c0, 0x81c2, 0x81ba, 0x81c9,\n    0x81cd, 0x81d1, 0x81d9, 0x81d8, 0x81c8, 0x81da, 0x81df, 0x81e0,\n    0x81e7, 0x81fa, 0x81fb, 0x81fe, 0x8201, 0x8202, 0x8205, 0x8207,\n    0x820a, 0x820d, 0x8210, 0x8216, 0x8229, 0x822b, 0x8238, 0x8233,\n    0x8240, 0x8259, 0x8258, 0x825d, 0x825a, 0x825f, 0x8264, 0x003f,\n    0x8262, 0x8268, 0x826a, 0x826b, 0x822e, 0x8271, 0x8277, 0x8278,\n    0x827e, 0x828d, 0x8292, 0x82ab, 0x829f, 0x82bb, 0x82ac, 0x82e1,\n    0x82e3, 0x82df, 0x82d2, 0x82f4, 0x82f3, 0x82fa, 0x8393, 0x8303,\n    0x82fb, 0x82f9, 0x82de, 0x8306, 0x82dc, 0x8309, 0x82d9, 0x8335,\n    0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345,\n    0x832f, 0x832b, 0x8317, 0x8318, 0x8385, 0x839a, 0x83aa, 0x839f,\n    0x83a2, 0x8396, 0x8323, 0x838e, 0x8387, 0x838a, 0x837c, 0x83b5,\n    0x8373, 0x8375, 0x83a0, 0x8389, 0x83a8, 0x83f4, 0x8413, 0x83eb,\n    0x83ce, 0x83fd, 0x8403, 0x83d8, 0x840b, 0x83c1, 0x83f7, 0x8407,\n    0x83e0, 0x83f2, 0x840d, 0x8422, 0x8420, 0x83bd, 0x8438, 0x8506,\n    0x83fb, 0x846d, 0x842a, 0x843c, 0x855a, 0x8484, 0x8477, 0x846b,\n    0x84ad, 0x846e, 0x8482, 0x8469, 0x8446, 0x842c, 0x846f, 0x8479,\n    0x8435, 0x84ca, 0x8462, 0x84b9, 0x84bf, 0x849f, 0x84d9, 0x84cd,\n    0x84bb, 0x84da, 0x84d0, 0x84c1, 0x84c6, 0x84d6, 0x84a1, 0x8521,\n    0x84ff, 0x84f4, 0x8517, 0x8518, 0x852c, 0x851f, 0x8515, 0x8514,\n    0x84fc, 0x8540, 0x8563, 0x8558, 0x8548, 0x003f, 0x003f, 0x003f,\n    /* lead byte e5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8541, 0x8602, 0x854b, 0x8555, 0x8580, 0x85a4, 0x8588, 0x8591,\n    0x858a, 0x85a8, 0x856d, 0x8594, 0x859b, 0x85ea, 0x8587, 0x859c,\n    0x8577, 0x857e, 0x8590, 0x85c9, 0x85ba, 0x85cf, 0x85b9, 0x85d0,\n    0x85d5, 0x85dd, 0x85e5, 0x85dc, 0x85f9, 0x860a, 0x8613, 0x860b,\n    0x85fe, 0x85fa, 0x8606, 0x8622, 0x861a, 0x8630, 0x863f, 0x864d,\n    0x4e55, 0x8654, 0x865f, 0x8667, 0x8671, 0x8693, 0x86a3, 0x86a9,\n    0x86aa, 0x868b, 0x868c, 0x86b6, 0x86af, 0x86c4, 0x86c6, 0x86b0,\n    0x86c9, 0x8823, 0x86ab, 0x86d4, 0x86de, 0x86e9, 0x86ec, 0x003f,\n    0x86df, 0x86db, 0x86ef, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703,\n    0x86fb, 0x8711, 0x8709, 0x870d, 0x86f9, 0x870a, 0x8734, 0x873f,\n    0x8737, 0x873b, 0x8725, 0x8729, 0x871a, 0x8760, 0x875f, 0x8778,\n    0x874c, 0x874e, 0x8774, 0x8757, 0x8768, 0x876e, 0x8759, 0x8753,\n    0x8763, 0x876a, 0x8805, 0x87a2, 0x879f, 0x8782, 0x87af, 0x87cb,\n    0x87bd, 0x87c0, 0x87d0, 0x96d6, 0x87ab, 0x87c4, 0x87b3, 0x87c7,\n    0x87c6, 0x87bb, 0x87ef, 0x87f2, 0x87e0, 0x880f, 0x880d, 0x87fe,\n    0x87f6, 0x87f7, 0x880e, 0x87d2, 0x8811, 0x8816, 0x8815, 0x8822,\n    0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883b, 0x8844, 0x8842,\n    0x8852, 0x8859, 0x885e, 0x8862, 0x886b, 0x8881, 0x887e, 0x889e,\n    0x8875, 0x887d, 0x88b5, 0x8872, 0x8882, 0x8897, 0x8892, 0x88ae,\n    0x8899, 0x88a2, 0x888d, 0x88a4, 0x88b0, 0x88bf, 0x88b1, 0x88c3,\n    0x88c4, 0x88d4, 0x88d8, 0x88d9, 0x88dd, 0x88f9, 0x8902, 0x88fc,\n    0x88f4, 0x88e8, 0x88f2, 0x8904, 0x890c, 0x890a, 0x8913, 0x8943,\n    0x891e, 0x8925, 0x892a, 0x892b, 0x8941, 0x8944, 0x893b, 0x8936,\n    0x8938, 0x894c, 0x891d, 0x8960, 0x895e, 0x003f, 0x003f, 0x003f,\n    /* lead byte e6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8966, 0x8964, 0x896d, 0x896a, 0x896f, 0x8974, 0x8977, 0x897e,\n    0x8983, 0x8988, 0x898a, 0x8993, 0x8998, 0x89a1, 0x89a9, 0x89a6,\n    0x89ac, 0x89af, 0x89b2, 0x89ba, 0x89bd, 0x89bf, 0x89c0, 0x89da,\n    0x89dc, 0x89dd, 0x89e7, 0x89f4, 0x89f8, 0x8a03, 0x8a16, 0x8a10,\n    0x8a0c, 0x8a1b, 0x8a1d, 0x8a25, 0x8a36, 0x8a41, 0x8a5b, 0x8a52,\n    0x8a46, 0x8a48, 0x8a7c, 0x8a6d, 0x8a6c, 0x8a62, 0x8a85, 0x8a82,\n    0x8a84, 0x8aa8, 0x8aa1, 0x8a91, 0x8aa5, 0x8aa6, 0x8a9a, 0x8aa3,\n    0x8ac4, 0x8acd, 0x8ac2, 0x8ada, 0x8aeb, 0x8af3, 0x8ae7, 0x003f,\n    0x8ae4, 0x8af1, 0x8b14, 0x8ae0, 0x8ae2, 0x8af7, 0x8ade, 0x8adb,\n    0x8b0c, 0x8b07, 0x8b1a, 0x8ae1, 0x8b16, 0x8b10, 0x8b17, 0x8b20,\n    0x8b33, 0x97ab, 0x8b26, 0x8b2b, 0x8b3e, 0x8b28, 0x8b41, 0x8b4c,\n    0x8b4f, 0x8b4e, 0x8b49, 0x8b56, 0x8b5b, 0x8b5a, 0x8b6b, 0x8b5f,\n    0x8b6c, 0x8b6f, 0x8b74, 0x8b7d, 0x8b80, 0x8b8c, 0x8b8e, 0x8b92,\n    0x8b93, 0x8b96, 0x8b99, 0x8b9a, 0x8c3a, 0x8c41, 0x8c3f, 0x8c48,\n    0x8c4c, 0x8c4e, 0x8c50, 0x8c55, 0x8c62, 0x8c6c, 0x8c78, 0x8c7a,\n    0x8c82, 0x8c89, 0x8c85, 0x8c8a, 0x8c8d, 0x8c8e, 0x8c94, 0x8c7c,\n    0x8c98, 0x621d, 0x8cad, 0x8caa, 0x8cbd, 0x8cb2, 0x8cb3, 0x8cae,\n    0x8cb6, 0x8cc8, 0x8cc1, 0x8ce4, 0x8ce3, 0x8cda, 0x8cfd, 0x8cfa,\n    0x8cfb, 0x8d04, 0x8d05, 0x8d0a, 0x8d07, 0x8d0f, 0x8d0d, 0x8d10,\n    0x9f4e, 0x8d13, 0x8ccd, 0x8d14, 0x8d16, 0x8d67, 0x8d6d, 0x8d71,\n    0x8d73, 0x8d81, 0x8d99, 0x8dc2, 0x8dbe, 0x8dba, 0x8dcf, 0x8dda,\n    0x8dd6, 0x8dcc, 0x8ddb, 0x8dcb, 0x8dea, 0x8deb, 0x8ddf, 0x8de3,\n    0x8dfc, 0x8e08, 0x8e09, 0x8dff, 0x8e1d, 0x8e1e, 0x8e10, 0x8e1f,\n    0x8e42, 0x8e35, 0x8e30, 0x8e34, 0x8e4a, 0x003f, 0x003f, 0x003f,\n    /* lead byte e7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8e47, 0x8e49, 0x8e4c, 0x8e50, 0x8e48, 0x8e59, 0x8e64, 0x8e60,\n    0x8e2a, 0x8e63, 0x8e55, 0x8e76, 0x8e72, 0x8e7c, 0x8e81, 0x8e87,\n    0x8e85, 0x8e84, 0x8e8b, 0x8e8a, 0x8e93, 0x8e91, 0x8e94, 0x8e99,\n    0x8eaa, 0x8ea1, 0x8eac, 0x8eb0, 0x8ec6, 0x8eb1, 0x8ebe, 0x8ec5,\n    0x8ec8, 0x8ecb, 0x8edb, 0x8ee3, 0x8efc, 0x8efb, 0x8eeb, 0x8efe,\n    0x8f0a, 0x8f05, 0x8f15, 0x8f12, 0x8f19, 0x8f13, 0x8f1c, 0x8f1f,\n    0x8f1b, 0x8f0c, 0x8f26, 0x8f33, 0x8f3b, 0x8f39, 0x8f45, 0x8f42,\n    0x8f3e, 0x8f4c, 0x8f49, 0x8f46, 0x8f4e, 0x8f57, 0x8f5c, 0x003f,\n    0x8f62, 0x8f63, 0x8f64, 0x8f9c, 0x8f9f, 0x8fa3, 0x8fad, 0x8faf,\n    0x8fb7, 0x8fda, 0x8fe5, 0x8fe2, 0x8fea, 0x8fef, 0x9087, 0x8ff4,\n    0x9005, 0x8ff9, 0x8ffa, 0x9011, 0x9015, 0x9021, 0x900d, 0x901e,\n    0x9016, 0x900b, 0x9027, 0x9036, 0x9035, 0x9039, 0x8ff8, 0x904f,\n    0x9050, 0x9051, 0x9052, 0x900e, 0x9049, 0x903e, 0x9056, 0x9058,\n    0x905e, 0x9068, 0x906f, 0x9076, 0x96a8, 0x9072, 0x9082, 0x907d,\n    0x9081, 0x9080, 0x908a, 0x9089, 0x908f, 0x90a8, 0x90af, 0x90b1,\n    0x90b5, 0x90e2, 0x90e4, 0x6248, 0x90db, 0x9102, 0x9112, 0x9119,\n    0x9132, 0x9130, 0x914a, 0x9156, 0x9158, 0x9163, 0x9165, 0x9169,\n    0x9173, 0x9172, 0x918b, 0x9189, 0x9182, 0x91a2, 0x91ab, 0x91af,\n    0x91aa, 0x91b5, 0x91b4, 0x91ba, 0x91c0, 0x91c1, 0x91c9, 0x91cb,\n    0x91d0, 0x91d6, 0x91df, 0x91e1, 0x91db, 0x91fc, 0x91f5, 0x91f6,\n    0x921e, 0x91ff, 0x9214, 0x922c, 0x9215, 0x9211, 0x925e, 0x9257,\n    0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923f, 0x924b, 0x9250,\n    0x929c, 0x9296, 0x9293, 0x929b, 0x925a, 0x92cf, 0x92b9, 0x92b7,\n    0x92e9, 0x930f, 0x92fa, 0x9344, 0x932e, 0x003f, 0x003f, 0x003f,\n    /* lead byte e8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9319, 0x9322, 0x931a, 0x9323, 0x933a, 0x9335, 0x933b, 0x935c,\n    0x9360, 0x937c, 0x936e, 0x9356, 0x93b0, 0x93ac, 0x93ad, 0x9394,\n    0x93b9, 0x93d6, 0x93d7, 0x93e8, 0x93e5, 0x93d8, 0x93c3, 0x93dd,\n    0x93d0, 0x93c8, 0x93e4, 0x941a, 0x9414, 0x9413, 0x9403, 0x9407,\n    0x9410, 0x9436, 0x942b, 0x9435, 0x9421, 0x943a, 0x9441, 0x9452,\n    0x9444, 0x945b, 0x9460, 0x9462, 0x945e, 0x946a, 0x9229, 0x9470,\n    0x9475, 0x9477, 0x947d, 0x945a, 0x947c, 0x947e, 0x9481, 0x947f,\n    0x9582, 0x9587, 0x958a, 0x9594, 0x9596, 0x9598, 0x9599, 0x003f,\n    0x95a0, 0x95a8, 0x95a7, 0x95ad, 0x95bc, 0x95bb, 0x95b9, 0x95be,\n    0x95ca, 0x6ff6, 0x95c3, 0x95cd, 0x95cc, 0x95d5, 0x95d4, 0x95d6,\n    0x95dc, 0x95e1, 0x95e5, 0x95e2, 0x9621, 0x9628, 0x962e, 0x962f,\n    0x9642, 0x964c, 0x964f, 0x964b, 0x9677, 0x965c, 0x965e, 0x965d,\n    0x965f, 0x9666, 0x9672, 0x966c, 0x968d, 0x9698, 0x9695, 0x9697,\n    0x96aa, 0x96a7, 0x96b1, 0x96b2, 0x96b0, 0x96b4, 0x96b6, 0x96b8,\n    0x96b9, 0x96ce, 0x96cb, 0x96c9, 0x96cd, 0x894d, 0x96dc, 0x970d,\n    0x96d5, 0x96f9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970e, 0x9711,\n    0x970f, 0x9716, 0x9719, 0x9724, 0x972a, 0x9730, 0x9739, 0x973d,\n    0x973e, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975c, 0x9760,\n    0x9764, 0x9766, 0x9768, 0x52d2, 0x976b, 0x9771, 0x9779, 0x9785,\n    0x977c, 0x9781, 0x977a, 0x9786, 0x978b, 0x978f, 0x9790, 0x979c,\n    0x97a8, 0x97a6, 0x97a3, 0x97b3, 0x97b4, 0x97c3, 0x97c6, 0x97c8,\n    0x97cb, 0x97dc, 0x97ed, 0x9f4f, 0x97f2, 0x7adf, 0x97f6, 0x97f5,\n    0x980f, 0x980c, 0x9838, 0x9824, 0x9821, 0x9837, 0x983d, 0x9846,\n    0x984f, 0x984b, 0x986b, 0x986f, 0x9870, 0x003f, 0x003f, 0x003f,\n    /* lead byte e9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9871, 0x9874, 0x9873, 0x98aa, 0x98af, 0x98b1, 0x98b6, 0x98c4,\n    0x98c3, 0x98c6, 0x98e9, 0x98eb, 0x9903, 0x9909, 0x9912, 0x9914,\n    0x9918, 0x9921, 0x991d, 0x991e, 0x9924, 0x9920, 0x992c, 0x992e,\n    0x993d, 0x993e, 0x9942, 0x9949, 0x9945, 0x9950, 0x994b, 0x9951,\n    0x9952, 0x994c, 0x9955, 0x9997, 0x9998, 0x99a5, 0x99ad, 0x99ae,\n    0x99bc, 0x99df, 0x99db, 0x99dd, 0x99d8, 0x99d1, 0x99ed, 0x99ee,\n    0x99f1, 0x99f2, 0x99fb, 0x99f8, 0x9a01, 0x9a0f, 0x9a05, 0x99e2,\n    0x9a19, 0x9a2b, 0x9a37, 0x9a45, 0x9a42, 0x9a40, 0x9a43, 0x003f,\n    0x9a3e, 0x9a55, 0x9a4d, 0x9a5b, 0x9a57, 0x9a5f, 0x9a62, 0x9a65,\n    0x9a64, 0x9a69, 0x9a6b, 0x9a6a, 0x9aad, 0x9ab0, 0x9abc, 0x9ac0,\n    0x9acf, 0x9ad1, 0x9ad3, 0x9ad4, 0x9ade, 0x9adf, 0x9ae2, 0x9ae3,\n    0x9ae6, 0x9aef, 0x9aeb, 0x9aee, 0x9af4, 0x9af1, 0x9af7, 0x9afb,\n    0x9b06, 0x9b18, 0x9b1a, 0x9b1f, 0x9b22, 0x9b23, 0x9b25, 0x9b27,\n    0x9b28, 0x9b29, 0x9b2a, 0x9b2e, 0x9b2f, 0x9b32, 0x9b44, 0x9b43,\n    0x9b4f, 0x9b4d, 0x9b4e, 0x9b51, 0x9b58, 0x9b74, 0x9b93, 0x9b83,\n    0x9b91, 0x9b96, 0x9b97, 0x9b9f, 0x9ba0, 0x9ba8, 0x9bb4, 0x9bc0,\n    0x9bca, 0x9bb9, 0x9bc6, 0x9bcf, 0x9bd1, 0x9bd2, 0x9be3, 0x9be2,\n    0x9be4, 0x9bd4, 0x9be1, 0x9c3a, 0x9bf2, 0x9bf1, 0x9bf0, 0x9c15,\n    0x9c14, 0x9c09, 0x9c13, 0x9c0c, 0x9c06, 0x9c08, 0x9c12, 0x9c0a,\n    0x9c04, 0x9c2e, 0x9c1b, 0x9c25, 0x9c24, 0x9c21, 0x9c30, 0x9c47,\n    0x9c32, 0x9c46, 0x9c3e, 0x9c5a, 0x9c60, 0x9c67, 0x9c76, 0x9c78,\n    0x9ce7, 0x9cec, 0x9cf0, 0x9d09, 0x9d08, 0x9ceb, 0x9d03, 0x9d06,\n    0x9d2a, 0x9d26, 0x9daf, 0x9d23, 0x9d1f, 0x9d44, 0x9d15, 0x9d12,\n    0x9d41, 0x9d3f, 0x9d3e, 0x9d46, 0x9d48, 0x003f, 0x003f, 0x003f,\n    /* lead byte ea */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9d5d, 0x9d5e, 0x9d64, 0x9d51, 0x9d50, 0x9d59, 0x9d72, 0x9d89,\n    0x9d87, 0x9dab, 0x9d6f, 0x9d7a, 0x9d9a, 0x9da4, 0x9da9, 0x9db2,\n    0x9dc4, 0x9dc1, 0x9dbb, 0x9db8, 0x9dba, 0x9dc6, 0x9dcf, 0x9dc2,\n    0x9dd9, 0x9dd3, 0x9df8, 0x9de6, 0x9ded, 0x9def, 0x9dfd, 0x9e1a,\n    0x9e1b, 0x9e1e, 0x9e75, 0x9e79, 0x9e7d, 0x9e81, 0x9e88, 0x9e8b,\n    0x9e8c, 0x9e92, 0x9e95, 0x9e91, 0x9e9d, 0x9ea5, 0x9ea9, 0x9eb8,\n    0x9eaa, 0x9ead, 0x9761, 0x9ecc, 0x9ece, 0x9ecf, 0x9ed0, 0x9ed4,\n    0x9edc, 0x9ede, 0x9edd, 0x9ee0, 0x9ee5, 0x9ee8, 0x9eef, 0x003f,\n    0x9ef4, 0x9ef6, 0x9ef7, 0x9ef9, 0x9efb, 0x9efc, 0x9efd, 0x9f07,\n    0x9f08, 0x76b7, 0x9f15, 0x9f21, 0x9f2c, 0x9f3e, 0x9f4a, 0x9f52,\n    0x9f54, 0x9f63, 0x9f5f, 0x9f60, 0x9f61, 0x9f66, 0x9f67, 0x9f6c,\n    0x9f6a, 0x9f77, 0x9f72, 0x9f76, 0x9f95, 0x9f9c, 0x9fa0, 0x582f,\n    0x69c7, 0x9059, 0x7464, 0x51dc, 0x7199, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ed */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7e8a, 0x891c, 0x9348, 0x9288, 0x84dc, 0x4fc9, 0x70bb, 0x6631,\n    0x68c8, 0x92f9, 0x66fb, 0x5f45, 0x4e28, 0x4ee1, 0x4efc, 0x4f00,\n    0x4f03, 0x4f39, 0x4f56, 0x4f92, 0x4f8a, 0x4f9a, 0x4f94, 0x4fcd,\n    0x5040, 0x5022, 0x4fff, 0x501e, 0x5046, 0x5070, 0x5042, 0x5094,\n    0x50f4, 0x50d8, 0x514a, 0x5164, 0x519d, 0x51be, 0x51ec, 0x5215,\n    0x529c, 0x52a6, 0x52c0, 0x52db, 0x5300, 0x5307, 0x5324, 0x5372,\n    0x5393, 0x53b2, 0x53dd, 0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff,\n    0x5586, 0x5759, 0x5765, 0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0x003f,\n    0xfa10, 0x589e, 0x58b2, 0x590b, 0x5953, 0x595b, 0x595d, 0x5963,\n    0x59a4, 0x59ba, 0x5b56, 0x5bc0, 0x752f, 0x5bd8, 0x5bec, 0x5c1e,\n    0x5ca6, 0x5cba, 0x5cf5, 0x5d27, 0x5d53, 0xfa11, 0x5d42, 0x5d6d,\n    0x5db8, 0x5db9, 0x5dd0, 0x5f21, 0x5f34, 0x5f67, 0x5fb7, 0x5fde,\n    0x605d, 0x6085, 0x608a, 0x60de, 0x60d5, 0x6120, 0x60f2, 0x6111,\n    0x6137, 0x6130, 0x6198, 0x6213, 0x62a6, 0x63f5, 0x6460, 0x649d,\n    0x64ce, 0x654e, 0x6600, 0x6615, 0x663b, 0x6609, 0x662e, 0x661e,\n    0x6624, 0x6665, 0x6657, 0x6659, 0xfa12, 0x6673, 0x6699, 0x66a0,\n    0x66b2, 0x66bf, 0x66fa, 0x670e, 0xf929, 0x6766, 0x67bb, 0x6852,\n    0x67c0, 0x6801, 0x6844, 0x68cf, 0xfa13, 0x6968, 0xfa14, 0x6998,\n    0x69e2, 0x6a30, 0x6a6b, 0x6a46, 0x6a73, 0x6a7e, 0x6ae2, 0x6ae4,\n    0x6bd6, 0x6c3f, 0x6c5c, 0x6c86, 0x6c6f, 0x6cda, 0x6d04, 0x6d87,\n    0x6d6f, 0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39,\n    0x6e5c, 0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005,\n    0x7007, 0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146,\n    0x7147, 0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x003f, 0x003f, 0x003f,\n    /* lead byte ee */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x72be, 0x7324, 0xfa16, 0x7377, 0x73bd, 0x73c9, 0x73d6, 0x73e3,\n    0x73d2, 0x7407, 0x73f5, 0x7426, 0x742a, 0x7429, 0x742e, 0x7462,\n    0x7489, 0x749f, 0x7501, 0x756f, 0x7682, 0x769c, 0x769e, 0x769b,\n    0x76a6, 0xfa17, 0x7746, 0x52af, 0x7821, 0x784e, 0x7864, 0x787a,\n    0x7930, 0xfa18, 0xfa19, 0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1,\n    0x7ae7, 0xfa1c, 0x7aeb, 0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7,\n    0x7da0, 0x7dd6, 0x7e52, 0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362,\n    0x837f, 0x83c7, 0x83f6, 0x8448, 0x84b4, 0x8553, 0x8559, 0x003f,\n    0x856b, 0xfa1f, 0x85b0, 0xfa20, 0xfa21, 0x8807, 0x88f5, 0x8a12,\n    0x8a37, 0x8a79, 0x8aa7, 0x8abe, 0x8adf, 0xfa22, 0x8af6, 0x8b53,\n    0x8b7f, 0x8cf0, 0x8cf4, 0x8d12, 0x8d76, 0xfa23, 0x8ecf, 0xfa24,\n    0xfa25, 0x9067, 0x90de, 0xfa26, 0x9115, 0x9127, 0x91da, 0x91d7,\n    0x91de, 0x91ed, 0x91ee, 0x91e4, 0x91e5, 0x9206, 0x9210, 0x920a,\n    0x923a, 0x9240, 0x923c, 0x924e, 0x9259, 0x9251, 0x9239, 0x9267,\n    0x92a7, 0x9277, 0x9278, 0x92e7, 0x92d7, 0x92d9, 0x92d0, 0xfa27,\n    0x92d5, 0x92e0, 0x92d3, 0x9325, 0x9321, 0x92fb, 0xfa28, 0x931e,\n    0x92ff, 0x931d, 0x9302, 0x9370, 0x9357, 0x93a4, 0x93c6, 0x93de,\n    0x93f8, 0x9431, 0x9445, 0x9448, 0x9592, 0xf9dc, 0xfa29, 0x969d,\n    0x96af, 0x9733, 0x973b, 0x9743, 0x974d, 0x974f, 0x9751, 0x9755,\n    0x9857, 0x9865, 0xfa2a, 0xfa2b, 0x9927, 0xfa2c, 0x999e, 0x9a4e,\n    0x9ad9, 0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00,\n    0x9d70, 0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x2170,\n    0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,\n    0x2179, 0xffe2, 0xffe4, 0xff07, 0xff02, 0x003f, 0x003f, 0x003f,\n    /* lead byte fa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177,\n    0x2178, 0x2179, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165,\n    0x2166, 0x2167, 0x2168, 0x2169, 0xffe2, 0xffe4, 0xff07, 0xff02,\n    0x3231, 0x2116, 0x2121, 0x2235, 0x7e8a, 0x891c, 0x9348, 0x9288,\n    0x84dc, 0x4fc9, 0x70bb, 0x6631, 0x68c8, 0x92f9, 0x66fb, 0x5f45,\n    0x4e28, 0x4ee1, 0x4efc, 0x4f00, 0x4f03, 0x4f39, 0x4f56, 0x4f92,\n    0x4f8a, 0x4f9a, 0x4f94, 0x4fcd, 0x5040, 0x5022, 0x4fff, 0x501e,\n    0x5046, 0x5070, 0x5042, 0x5094, 0x50f4, 0x50d8, 0x514a, 0x003f,\n    0x5164, 0x519d, 0x51be, 0x51ec, 0x5215, 0x529c, 0x52a6, 0x52c0,\n    0x52db, 0x5300, 0x5307, 0x5324, 0x5372, 0x5393, 0x53b2, 0x53dd,\n    0xfa0e, 0x549c, 0x548a, 0x54a9, 0x54ff, 0x5586, 0x5759, 0x5765,\n    0x57ac, 0x57c8, 0x57c7, 0xfa0f, 0xfa10, 0x589e, 0x58b2, 0x590b,\n    0x5953, 0x595b, 0x595d, 0x5963, 0x59a4, 0x59ba, 0x5b56, 0x5bc0,\n    0x752f, 0x5bd8, 0x5bec, 0x5c1e, 0x5ca6, 0x5cba, 0x5cf5, 0x5d27,\n    0x5d53, 0xfa11, 0x5d42, 0x5d6d, 0x5db8, 0x5db9, 0x5dd0, 0x5f21,\n    0x5f34, 0x5f67, 0x5fb7, 0x5fde, 0x605d, 0x6085, 0x608a, 0x60de,\n    0x60d5, 0x6120, 0x60f2, 0x6111, 0x6137, 0x6130, 0x6198, 0x6213,\n    0x62a6, 0x63f5, 0x6460, 0x649d, 0x64ce, 0x654e, 0x6600, 0x6615,\n    0x663b, 0x6609, 0x662e, 0x661e, 0x6624, 0x6665, 0x6657, 0x6659,\n    0xfa12, 0x6673, 0x6699, 0x66a0, 0x66b2, 0x66bf, 0x66fa, 0x670e,\n    0xf929, 0x6766, 0x67bb, 0x6852, 0x67c0, 0x6801, 0x6844, 0x68cf,\n    0xfa13, 0x6968, 0xfa14, 0x6998, 0x69e2, 0x6a30, 0x6a6b, 0x6a46,\n    0x6a73, 0x6a7e, 0x6ae2, 0x6ae4, 0x6bd6, 0x6c3f, 0x6c5c, 0x6c86,\n    0x6c6f, 0x6cda, 0x6d04, 0x6d87, 0x6d6f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6d96, 0x6dac, 0x6dcf, 0x6df8, 0x6df2, 0x6dfc, 0x6e39, 0x6e5c,\n    0x6e27, 0x6e3c, 0x6ebf, 0x6f88, 0x6fb5, 0x6ff5, 0x7005, 0x7007,\n    0x7028, 0x7085, 0x70ab, 0x710f, 0x7104, 0x715c, 0x7146, 0x7147,\n    0xfa15, 0x71c1, 0x71fe, 0x72b1, 0x72be, 0x7324, 0xfa16, 0x7377,\n    0x73bd, 0x73c9, 0x73d6, 0x73e3, 0x73d2, 0x7407, 0x73f5, 0x7426,\n    0x742a, 0x7429, 0x742e, 0x7462, 0x7489, 0x749f, 0x7501, 0x756f,\n    0x7682, 0x769c, 0x769e, 0x769b, 0x76a6, 0xfa17, 0x7746, 0x52af,\n    0x7821, 0x784e, 0x7864, 0x787a, 0x7930, 0xfa18, 0xfa19, 0x003f,\n    0xfa1a, 0x7994, 0xfa1b, 0x799b, 0x7ad1, 0x7ae7, 0xfa1c, 0x7aeb,\n    0x7b9e, 0xfa1d, 0x7d48, 0x7d5c, 0x7db7, 0x7da0, 0x7dd6, 0x7e52,\n    0x7f47, 0x7fa1, 0xfa1e, 0x8301, 0x8362, 0x837f, 0x83c7, 0x83f6,\n    0x8448, 0x84b4, 0x8553, 0x8559, 0x856b, 0xfa1f, 0x85b0, 0xfa20,\n    0xfa21, 0x8807, 0x88f5, 0x8a12, 0x8a37, 0x8a79, 0x8aa7, 0x8abe,\n    0x8adf, 0xfa22, 0x8af6, 0x8b53, 0x8b7f, 0x8cf0, 0x8cf4, 0x8d12,\n    0x8d76, 0xfa23, 0x8ecf, 0xfa24, 0xfa25, 0x9067, 0x90de, 0xfa26,\n    0x9115, 0x9127, 0x91da, 0x91d7, 0x91de, 0x91ed, 0x91ee, 0x91e4,\n    0x91e5, 0x9206, 0x9210, 0x920a, 0x923a, 0x9240, 0x923c, 0x924e,\n    0x9259, 0x9251, 0x9239, 0x9267, 0x92a7, 0x9277, 0x9278, 0x92e7,\n    0x92d7, 0x92d9, 0x92d0, 0xfa27, 0x92d5, 0x92e0, 0x92d3, 0x9325,\n    0x9321, 0x92fb, 0xfa28, 0x931e, 0x92ff, 0x931d, 0x9302, 0x9370,\n    0x9357, 0x93a4, 0x93c6, 0x93de, 0x93f8, 0x9431, 0x9445, 0x9448,\n    0x9592, 0xf9dc, 0xfa29, 0x969d, 0x96af, 0x9733, 0x973b, 0x9743,\n    0x974d, 0x974f, 0x9751, 0x9755, 0x9857, 0x9865, 0xfa2a, 0xfa2b,\n    0x9927, 0xfa2c, 0x999e, 0x9a4e, 0x9ad9, 0x003f, 0x003f, 0x003f,\n    /* lead byte fc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9adc, 0x9b75, 0x9b72, 0x9b8f, 0x9bb1, 0x9bbb, 0x9c00, 0x9d70,\n    0x9d6b, 0xfa2d, 0x9e19, 0x9ed1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned char cp2uni_leadbytes[256] =\n{\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x02, 0x03, 0x04, 0x05, 0x01, 0x01, 0x06,\n    0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e,\n    0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,\n    0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,\n    0x27, 0x28, 0x29, 0x01, 0x01, 0x2a, 0x2b, 0x01,\n    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x01, 0x01, 0x2c, 0x2d, 0x2e, 0x00, 0x00, 0x00\n};\n\nstatic const unsigned short uni2cp_low[27648] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x0059, 0x003f, 0x8198,\n    0x814e, 0x0063, 0x0061, 0x8173, 0x003f, 0x002d, 0x0072, 0x815c,\n    0x818b, 0x817d, 0x0032, 0x0033, 0x814c, 0x83ca, 0x81f7, 0x003f,\n    0x002c, 0x0031, 0x006f, 0x8174, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,\n    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,\n    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0x817e,\n    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0x83c0,\n    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,\n    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,\n    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x8180,\n    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x00fe, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,\n    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,\n    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,\n    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,\n    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,\n    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,\n    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,\n    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,\n    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,\n    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x84a0, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,\n    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,\n    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,\n    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,\n    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,\n    /* 0x0200 .. 0x02ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,\n    0x0079, 0x814c, 0x818d, 0x8165, 0x8166, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0x0076,\n    0x0027, 0x815c, 0x814c, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x818b, 0x003f, 0x007e, 0x818d, 0x003f, 0x003f,\n    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0300 .. 0x03ff */\n    0x0060, 0x814c, 0x005e, 0x007e, 0x815c, 0x815c, 0x003f, 0x003f,\n    0x814e, 0x003f, 0x818b, 0x818d, 0x0076, 0x003f, 0x0022, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0060, 0x814c, 0x003f, 0x003f, 0x814e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x814c, 0x814e, 0x839f, 0x003f,\n    0x83a3, 0x83a5, 0x83a7, 0x003f, 0x83ad, 0x003f, 0x83b2, 0x83b6,\n    0x83c7, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,\n    0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab, 0x83ac, 0x83ad,\n    0x83ae, 0x83af, 0x003f, 0x83b0, 0x83b1, 0x83b2, 0x83b3, 0x83b4,\n    0x83b5, 0x83b6, 0x83a7, 0x83b2, 0x83bf, 0x83c3, 0x83c5, 0x83c7,\n    0x83d2, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,\n    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,\n    0x83ce, 0x83cf, 0x003f, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4,\n    0x83d5, 0x83d6, 0x83c7, 0x83d2, 0x83cd, 0x83d2, 0x83d6, 0x003f,\n    0x83c0, 0x83c6, 0x83b2, 0x83b2, 0x83b2, 0x83d3, 0x83ce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x83c8, 0x83cf, 0x003f, 0x003f, 0x83a6, 0x83c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0400 .. 0x04ff */\n    0x8445, 0x8446, 0x003f, 0x8443, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x844b, 0x8449, 0x8454, 0x003f,\n    0x8440, 0x8441, 0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448,\n    0x8449, 0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450,\n    0x8451, 0x8452, 0x8453, 0x8454, 0x8455, 0x8456, 0x8457, 0x8458,\n    0x8459, 0x845a, 0x845b, 0x845c, 0x845d, 0x845e, 0x845f, 0x8460,\n    0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8477, 0x8478,\n    0x8479, 0x847a, 0x847b, 0x847c, 0x847d, 0x847e, 0x8480, 0x8481,\n    0x8482, 0x8483, 0x8484, 0x8485, 0x8486, 0x8487, 0x8488, 0x8489,\n    0x848a, 0x848b, 0x848c, 0x848d, 0x848e, 0x848f, 0x8490, 0x8491,\n    0x8475, 0x8476, 0x003f, 0x8473, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x847b, 0x8479, 0x8485, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8447, 0x8477, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8440, 0x8470, 0x8440, 0x8470, 0x003f, 0x003f, 0x8445, 0x8475,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8447, 0x8477, 0x8448, 0x8478,\n    0x003f, 0x003f, 0x8449, 0x8479, 0x8449, 0x8479, 0x844f, 0x8480,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x845e, 0x848f, 0x8454, 0x8485,\n    0x8454, 0x8485, 0x8454, 0x8485, 0x8458, 0x8489, 0x003f, 0x003f,\n    0x845c, 0x848d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1e00 .. 0x1eff */\n    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,\n    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,\n    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,\n    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,\n    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,\n    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,\n    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,\n    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,\n    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,\n    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,\n    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1f00 .. 0x1fff */\n    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,\n    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,\n    0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x83c3, 0x003f, 0x003f,\n    0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x83a3, 0x003f, 0x003f,\n    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,\n    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,\n    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x83c7,\n    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x83a7,\n    0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x83cd, 0x003f, 0x003f,\n    0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x83ad, 0x003f, 0x003f,\n    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83d2,\n    0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2, 0x003f, 0x83b2,\n    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,\n    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,\n    0x83bf, 0x83bf, 0x83c3, 0x83c3, 0x83c5, 0x83c5, 0x83c7, 0x83c7,\n    0x83cd, 0x83cd, 0x83d2, 0x83d2, 0x83d6, 0x83d6, 0x003f, 0x003f,\n    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf,\n    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x839f,\n    0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5, 0x83c5,\n    0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5, 0x83a5,\n    0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6, 0x83d6,\n    0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6, 0x83b6,\n    0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x83bf, 0x003f, 0x83bf, 0x83bf,\n    0x839f, 0x839f, 0x839f, 0x839f, 0x839f, 0x003f, 0x83c7, 0x003f,\n    0x003f, 0x814e, 0x83c5, 0x83c5, 0x83c5, 0x003f, 0x83c5, 0x83c5,\n    0x83a3, 0x83a3, 0x83a5, 0x83a5, 0x83a5, 0x003f, 0x003f, 0x003f,\n    0x83c7, 0x83c7, 0x83c7, 0x83c7, 0x003f, 0x003f, 0x83c7, 0x83c7,\n    0x83a7, 0x83a7, 0x83a7, 0x83a7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x83d2, 0x83d2, 0x83d2, 0x83d2, 0x83cf, 0x83cf, 0x83d2, 0x83d2,\n    0x83b2, 0x83b2, 0x83b2, 0x83b2, 0x83af, 0x814e, 0x814e, 0x0060,\n    0x003f, 0x003f, 0x83d6, 0x83d6, 0x83d6, 0x003f, 0x83d6, 0x83d6,\n    0x83ad, 0x83ad, 0x83b6, 0x83b6, 0x83b6, 0x814c, 0x003f, 0x003f,\n    /* 0x2000 .. 0x20ff */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x815d, 0x815d, 0x003f, 0x815c, 0x815c, 0x815c, 0x003f, 0x005f,\n    0x8165, 0x8166, 0x002c, 0x8165, 0x8167, 0x8168, 0x8781, 0x003f,\n    0x81f5, 0x81f6, 0x003f, 0x003f, 0x002e, 0x8164, 0x8163, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x81f1, 0x003f, 0x818c, 0x818d, 0x003f, 0x8165, 0x003f, 0x003f,\n    0x003f, 0x8171, 0x8172, 0x81a6, 0x0021, 0x003f, 0x815c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x818b, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x006e,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x815d, 0x003d, 0x0028, 0x0029, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2100 .. 0x21ff */\n    0x003f, 0x003f, 0x0043, 0x818e, 0x003f, 0x003f, 0x003f, 0x0045,\n    0x003f, 0x003f, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,\n    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x8782, 0x003f,\n    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,\n    0x003f, 0x8784, 0x003f, 0x003f, 0x005a, 0x003f, 0x83b6, 0x003f,\n    0x005a, 0x003f, 0x004b, 0x81f0, 0x0042, 0x0043, 0x0065, 0x0065,\n    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0x83c1, 0x83a1, 0x83ae,\n    0x8794, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,\n    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759, 0x875a, 0x875b,\n    0x875c, 0x875d, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,\n    0xeeef, 0xeef0, 0xeef1, 0xeef2, 0xeef3, 0xeef4, 0xeef5, 0xeef6,\n    0xeef7, 0xeef8, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x002d, 0x007c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81a9, 0x81a8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81cc, 0x81cb,\n    0x003f, 0x003f, 0x81cb, 0x003f, 0x81cc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2200 .. 0x22ff */\n    0x81cd, 0x003f, 0x81dd, 0x81ce, 0x81ce, 0x004f, 0x003f, 0x81de,\n    0x81b8, 0x81b8, 0x003f, 0x81b9, 0x81b9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8794, 0x815d, 0x817d, 0x003f, 0x002f, 0x005c, 0x002a,\n    0x818b, 0x003f, 0x81e3, 0x003f, 0x003f, 0x81e5, 0x8187, 0x8798,\n    0x81da, 0x003f, 0x003f, 0x007c, 0x007c, 0x8161, 0x8161, 0x81c8,\n    0x81c9, 0x81bf, 0x81be, 0x81e7, 0x81e8, 0x003f, 0x8793, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8188, 0x81e6, 0x003a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x81e4, 0x003f, 0x003f,\n    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8182, 0x81df, 0x81df, 0x81df, 0x003f, 0x003f, 0x8185, 0x8186,\n    0x003f, 0x003f, 0x81e1, 0x81e2, 0x003f, 0x003f, 0x003c, 0x003e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81bc, 0x81bd, 0x81bc, 0x81bd, 0x81ba, 0x81bb,\n    0x81ba, 0x81bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81db, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8799,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2300 .. 0x23ff */\n    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8171, 0x8172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2400 .. 0x24ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x8747,\n    0x8748, 0x8749, 0x874a, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f,\n    0x8750, 0x8751, 0x8752, 0x8753, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0042,\n    0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,\n    0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,\n    0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,\n    0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,\n    0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2500 .. 0x25ff */\n    0x849f, 0x84aa, 0x84a0, 0x84ab, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0x003f, 0x84a1, 0x84a1, 0x84a1, 0x84ac,\n    0x84a2, 0x84a2, 0x84a2, 0x84ad, 0x84a4, 0x84a4, 0x84a4, 0x84af,\n    0x84a3, 0x84a3, 0x84a3, 0x84ae, 0x84a5, 0x84ba, 0x84a5, 0x84a5,\n    0x84b5, 0x84a5, 0x84a5, 0x84b0, 0x84a7, 0x84bc, 0x84a7, 0x84a7,\n    0x84b7, 0x84a7, 0x84a7, 0x84b2, 0x84a6, 0x84a6, 0x84a6, 0x84b6,\n    0x84bb, 0x84a6, 0x84a6, 0x84b1, 0x84a8, 0x84a8, 0x84a8, 0x84b8,\n    0x84bd, 0x84a8, 0x84a8, 0x84b3, 0x84a9, 0x84a9, 0x84a9, 0x84b9,\n    0x84a9, 0x84a9, 0x84be, 0x84a9, 0x84a9, 0x84a9, 0x84a9, 0x84a9,\n    0x84a9, 0x84a9, 0x84a9, 0x84b4, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,\n    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x81a1, 0x81a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81a3, 0x81a2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x81a5, 0x81a4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819f, 0x819e,\n    0x003f, 0x003f, 0x003f, 0x819b, 0x003f, 0x003f, 0x819d, 0x819c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2600 .. 0x26ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x819a, 0x8199, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x818a, 0x003f, 0x8189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x81f4, 0x003f, 0x003f, 0x81f3, 0x003f, 0x81f2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2e00 .. 0x2eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2f00 .. 0x2fff */\n    0x88ea, 0xed4c, 0x98a4, 0x98a6, 0x89b3, 0x98ab, 0x93f1, 0x98b3,\n    0x906c, 0x9958, 0x93fc, 0x94aa, 0x9963, 0x996b, 0x9971, 0x997b,\n    0x9981, 0x9381, 0x97cd, 0x99af, 0x99b6, 0x99b7, 0x99bc, 0x8f5c,\n    0x966d, 0x99c5, 0x99ca, 0x99d1, 0x9694, 0x8cfb, 0x9a98, 0x9379,\n    0x8e6d, 0x9ae7, 0x9ae8, 0x975b, 0x91e5, 0x8f97, 0x8e71, 0x9b7e,\n    0x90a1, 0x8fac, 0x9b97, 0x9b99, 0x9ba3, 0x8e52, 0x9bdd, 0x8d48,\n    0x8cc8, 0x8bd0, 0x8ab1, 0x9bf4, 0x9bf6, 0x9c4d, 0x9c4f, 0x9c54,\n    0x8b7c, 0x003f, 0x9c63, 0x9c65, 0x9053, 0x9cf7, 0x003f, 0x8ee8,\n    0x8e78, 0x9dbb, 0x95b6, 0x936c, 0x8bd2, 0x95fb, 0x9dd9, 0x93fa,\n    0x9e48, 0x8c8e, 0x96d8, 0x8c87, 0x8e7e, 0x9f65, 0x9f74, 0x9f78,\n    0x94e4, 0x96d1, 0x8e81, 0x9f83, 0x9085, 0x89ce, 0x92dc, 0x9583,\n    0xe0a9, 0xe0ab, 0x95d0, 0x89e5, 0x8b8d, 0x8ca2, 0x8cba, 0x8bca,\n    0x895a, 0x8aa2, 0x8ac3, 0x90b6, 0x9770, 0x9363, 0x9544, 0x003f,\n    0xe1a0, 0x9492, 0x94e7, 0x8e4d, 0x96da, 0x96b5, 0x96ee, 0x90ce,\n    0x8ea6, 0x003f, 0x89d1, 0x8c8a, 0x97a7, 0x927c, 0x95c4, 0x8e85,\n    0x8aca, 0xe3a4, 0x9772, 0x8948, 0x9856, 0x8ea7, 0xe3ce, 0x8ea8,\n    0xe3e4, 0x93f7, 0x9062, 0x8ea9, 0x8e8a, 0x8950, 0x90e3, 0x9143,\n    0x8f4d, 0x8daf, 0x9046, 0xe487, 0xe567, 0x928e, 0x8c8c, 0x8d73,\n    0x88df, 0xe647, 0x8ca9, 0x8a70, 0x8cbe, 0x924a, 0x93a4, 0xe6b3,\n    0xe6b6, 0x8a4c, 0x90d4, 0x9196, 0x91ab, 0x9067, 0x8ed4, 0x9068,\n    0x9243, 0x003f, 0x9757, 0x93d1, 0x94ce, 0x97a2, 0x8be0, 0x92b7,\n    0x96e5, 0x958c, 0xe8ae, 0xe8b0, 0x894a, 0xeed6, 0x94f1, 0x96ca,\n    0x8a76, 0xe8e8, 0xe8ea, 0x89b9, 0x95c5, 0x9597, 0x94f2, 0x9048,\n    0x8ef1, 0x8d81, 0x946e, 0x8d9c, 0x8d82, 0xe995, 0xe9a6, 0xe9ac,\n    0xe9ad, 0x8b53, 0x8b9b, 0x92b9, 0xea62, 0x8ead, 0xea6d, 0x9683,\n    0x003f, 0x8b6f, 0xeeec, 0xea83, 0xea86, 0x9343, 0x8cdb, 0x916c,\n    0x9540, 0xea8e, 0xea8f, 0x97b4, 0xea9d, 0xea9e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3000 .. 0x30ff */\n    0x8140, 0x8141, 0x8142, 0x8156, 0x003f, 0x8158, 0x8159, 0x815a,\n    0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0x8176, 0x8177, 0x8178,\n    0x8179, 0x817a, 0x81a7, 0x81ac, 0x816b, 0x816c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0x8780, 0x8168, 0x8781,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x81a7, 0x003f,\n    0x8f5c, 0x003f, 0x99bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x829f, 0x82a0, 0x82a1, 0x82a2, 0x82a3, 0x82a4, 0x82a5,\n    0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad,\n    0x82ae, 0x82af, 0x82b0, 0x82b1, 0x82b2, 0x82b3, 0x82b4, 0x82b5,\n    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0x82bb, 0x82bc, 0x82bd,\n    0x82be, 0x82bf, 0x82c0, 0x82c1, 0x82c2, 0x82c3, 0x82c4, 0x82c5,\n    0x82c6, 0x82c7, 0x82c8, 0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd,\n    0x82ce, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0x82d3, 0x82d4, 0x82d5,\n    0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc, 0x82dd,\n    0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2, 0x82e3, 0x82e4, 0x82e5,\n    0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82eb, 0x82ec, 0x82ed,\n    0x82ee, 0x82ef, 0x82f0, 0x82f1, 0x82a4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x814a, 0x814b, 0x8154, 0x8155, 0x003f,\n    0x003f, 0x8340, 0x8341, 0x8342, 0x8343, 0x8344, 0x8345, 0x8346,\n    0x8347, 0x8348, 0x8349, 0x834a, 0x834b, 0x834c, 0x834d, 0x834e,\n    0x834f, 0x8350, 0x8351, 0x8352, 0x8353, 0x8354, 0x8355, 0x8356,\n    0x8357, 0x8358, 0x8359, 0x835a, 0x835b, 0x835c, 0x835d, 0x835e,\n    0x835f, 0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0x8366,\n    0x8367, 0x8368, 0x8369, 0x836a, 0x836b, 0x836c, 0x836d, 0x836e,\n    0x836f, 0x8370, 0x8371, 0x8372, 0x8373, 0x8374, 0x8375, 0x8376,\n    0x8377, 0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0x837e,\n    0x8380, 0x8381, 0x8382, 0x8383, 0x8384, 0x8385, 0x8386, 0x8387,\n    0x8388, 0x8389, 0x838a, 0x838b, 0x838c, 0x838d, 0x838e, 0x838f,\n    0x8390, 0x8391, 0x8392, 0x8393, 0x8394, 0x8395, 0x8396, 0x838f,\n    0x8390, 0x8391, 0x8392, 0x8145, 0x815b, 0x8152, 0x8153, 0x003f,\n    /* 0x3100 .. 0x31ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8fe3, 0x9286,\n    0x89ba, 0x8d62, 0x89b3, 0x95b8, 0x929a, 0x9356, 0x926e, 0x906c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3200 .. 0x32ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x878a, 0x878b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x878c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x88ea, 0x93f1, 0x8e4f, 0x8e6c, 0x8cdc, 0x985a, 0x8eb5, 0x94aa,\n    0x8be3, 0x8f5c, 0x8c8e, 0x89ce, 0x9085, 0x96d8, 0x8be0, 0x9379,\n    0x93fa, 0x8a94, 0x974c, 0x8ed0, 0x96bc, 0x93c1, 0x8de0, 0x8f6a,\n    0x984a, 0x94e9, 0x926a, 0x8f97, 0x934b, 0x9744, 0x88f3, 0x928d,\n    0x8d80, 0x8b78, 0x8eca, 0x90b3, 0x8785, 0x8786, 0x8787, 0x8788,\n    0x8789, 0x88e3, 0x8f40, 0x8a77, 0x8ac4, 0x8ae9, 0x8e91, 0x8ba6,\n    0x96e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8341, 0x8343, 0x8345, 0x8347, 0x8349, 0x834a, 0x834c, 0x834e,\n    0x8350, 0x8352, 0x8354, 0x8356, 0x8358, 0x835a, 0x835c, 0x835e,\n    0x8360, 0x8363, 0x8365, 0x8367, 0x8369, 0x836a, 0x836b, 0x836c,\n    0x836d, 0x836e, 0x8371, 0x8374, 0x8377, 0x837a, 0x837d, 0x837e,\n    0x8380, 0x8381, 0x8382, 0x8384, 0x8386, 0x8388, 0x8389, 0x838a,\n    0x838b, 0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8392, 0x003f,\n    /* 0x3300 .. 0x33ff */\n    0x003f, 0x003f, 0x003f, 0x8765, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8769, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8760, 0x003f, 0x003f, 0x003f,\n    0x8763, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8761, 0x876b, 0x003f, 0x003f, 0x876a, 0x8764,\n    0x003f, 0x003f, 0x003f, 0x876c, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8766, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x876e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x875f, 0x876d, 0x003f, 0x003f, 0x8762, 0x003f, 0x003f,\n    0x003f, 0x8767, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8768,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x877e, 0x878f, 0x878e, 0x878d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8772, 0x8773,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x876f, 0x8770, 0x8771, 0x003f,\n    0x003f, 0x8775, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8774, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8783, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4e00 .. 0x4eff */\n    0x88ea, 0x929a, 0x003f, 0x8eb5, 0x003f, 0x003f, 0x003f, 0x969c,\n    0x8fe4, 0x8e4f, 0x8fe3, 0x89ba, 0x003f, 0x9573, 0x975e, 0x003f,\n    0x98a0, 0x894e, 0x003f, 0x003f, 0x8a8e, 0x98a1, 0x90a2, 0x99c0,\n    0x8b75, 0x95b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fe5, 0x003f,\n    0x003f, 0x97bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c0, 0x003f,\n    0xed4c, 0x003f, 0x98a2, 0x003f, 0x003f, 0x9286, 0x003f, 0x003f,\n    0x003f, 0x98a3, 0x8bf8, 0x003f, 0x003f, 0x003f, 0x98a4, 0x003f,\n    0x8adb, 0x924f, 0x003f, 0x8ee5, 0x98a5, 0x003f, 0x003f, 0x98a6,\n    0x003f, 0x003f, 0x98a7, 0x9454, 0x003f, 0x8b76, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9456, 0x003f, 0x93e1, 0x8cc1, 0x9652,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe568, 0x98a8, 0x8fe6,\n    0x98a9, 0x89b3, 0x003f, 0x003f, 0x003f, 0x8be3, 0x8cee, 0x96e7,\n    0x003f, 0x003f, 0x9ba4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9790, 0x003f, 0x93fb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa3, 0x003f,\n    0x8b54, 0x003f, 0x98aa, 0x003f, 0x003f, 0x98ab, 0x97b9, 0x003f,\n    0x975c, 0x9188, 0x98ad, 0x8e96, 0x93f1, 0x003f, 0x98b0, 0x003f,\n    0x003f, 0x895d, 0x8cdd, 0x003f, 0x8cdc, 0x88e4, 0x003f, 0x003f,\n    0x986a, 0x9869, 0x003f, 0x8db1, 0x889f, 0x003f, 0x98b1, 0x98b2,\n    0x98b3, 0x9653, 0x98b4, 0x003f, 0x8cf0, 0x88e5, 0x9692, 0x003f,\n    0x8b9c, 0x003f, 0x003f, 0x8b9d, 0x8b9e, 0x92e0, 0x97ba, 0x003f,\n    0x98b5, 0x003f, 0x003f, 0x98b6, 0x003f, 0x003f, 0x98b7, 0x003f,\n    0x003f, 0x003f, 0x906c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8f59, 0x906d, 0x98bc, 0x003f, 0x98ba, 0x003f, 0x98bb, 0x8b77,\n    0x003f, 0x003f, 0x8da1, 0x89ee, 0x003f, 0x98b9, 0x98b8, 0x95a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8e65, 0x8e64, 0x91bc, 0x98bd,\n    0x9574, 0x90e5, 0x003f, 0x003f, 0x003f, 0x8157, 0x98be, 0x98c0,\n    0x003f, 0xed4d, 0x003f, 0x91e3, 0x97df, 0x88c8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98bf, 0x89bc, 0x003f,\n    0x8bc2, 0x003f, 0x9287, 0x003f, 0x003f, 0x003f, 0x8c8f, 0x98c1,\n    0x003f, 0x003f, 0x003f, 0x9443, 0xed4e, 0x003f, 0x003f, 0x003f,\n    /* 0x4f00 .. 0x4fff */\n    0xed4f, 0x8ae9, 0x003f, 0xed50, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x98c2, 0x88c9, 0x003f, 0x003f, 0x8cde, 0x8aea, 0x959a,\n    0x94b0, 0x8b78, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x89ef, 0x003f, 0x98e5, 0x9360, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x948c,\n    0x98c4, 0x003f, 0x003f, 0x003f, 0x94ba, 0x003f, 0x97e0, 0x003f,\n    0x904c, 0xed51, 0x8e66, 0x003f, 0x8e97, 0x89be, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x92cf, 0x003f, 0x003f, 0x9241, 0x98c8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ca, 0x92e1, 0x8f5a,\n    0x8db2, 0x9743, 0x003f, 0x91cc, 0x003f, 0x89bd, 0xed52, 0x98c7,\n    0x003f, 0x975d, 0x98c3, 0x98c5, 0x8dec, 0x98c6, 0x9b43, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x98ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98d1,\n    0x98cf, 0x003f, 0x003f, 0x89c0, 0x003f, 0x95b9, 0x98c9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x98cd, 0x8cf1, 0x003f, 0x003f, 0x8e67,\n    0x003f, 0x003f, 0x003f, 0x8aa4, 0x003f, 0x003f, 0x98d2, 0x003f,\n    0x98ca, 0x003f, 0xed54, 0x97e1, 0x003f, 0x8e98, 0x003f, 0x98cb,\n    0x003f, 0x98d0, 0xed53, 0x003f, 0xed56, 0x003f, 0x98d3, 0x003f,\n    0x98cc, 0x003f, 0xed55, 0x8b9f, 0x003f, 0x88cb, 0x003f, 0x003f,\n    0x8ba0, 0x89bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9b44, 0x003f, 0x9699, 0x958e, 0x8cf2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x904e, 0x97b5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95d6,\n    0x003f, 0x003f, 0x8c57, 0x91a3, 0x89e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xed45, 0x8f72, 0x003f, 0x003f, 0xed57, 0x98d7, 0x003f,\n    0x98dc, 0x98da, 0x003f, 0x003f, 0x98d5, 0x003f, 0x003f, 0x91ad,\n    0x98d8, 0x003f, 0x98db, 0x98d9, 0x003f, 0x95db, 0x003f, 0x98d6,\n    0x003f, 0x904d, 0x003f, 0x9693, 0x98dd, 0x98de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f43, 0x98eb,\n    0x003f, 0x003f, 0x003f, 0x946f, 0x003f, 0x9555, 0x98e6, 0x003f,\n    0x95ee, 0x003f, 0x89b4, 0x003f, 0x003f, 0x003f, 0x98ea, 0xed5a,\n    /* 0x5000 .. 0x50ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x98e4, 0x98ed, 0x003f,\n    0x003f, 0x9171, 0x003f, 0x8cc2, 0x003f, 0x947b, 0x003f, 0xe0c5,\n    0x003f, 0x98ec, 0x937c, 0x003f, 0x98e1, 0x003f, 0x8cf4, 0x003f,\n    0x003f, 0x8cf3, 0x98df, 0x003f, 0x003f, 0x003f, 0xed5b, 0x8ed8,\n    0x003f, 0x98e7, 0xed59, 0x95ed, 0x926c, 0x98e3, 0x8c91, 0x003f,\n    0x98e0, 0x98e8, 0x98e2, 0x97cf, 0x98e9, 0x9860, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be4, 0x003f,\n    0x003f, 0x8c90, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xed58, 0x003f, 0xed5e, 0x98ee, 0x003f, 0x003f, 0xed5c, 0x98ef,\n    0x98f3, 0x88cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95ce,\n    0x98f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x98f1, 0x98f5, 0x003f,\n    0x003f, 0x003f, 0x98f4, 0x003f, 0x92e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c92, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x98f6, 0x003f, 0x003f, 0x003f,\n    0xed5d, 0x003f, 0x8ec3, 0x003f, 0x91a4, 0x92e3, 0x8bf4, 0x003f,\n    0x98f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b55, 0x003f, 0x003f,\n    0x98f8, 0x003f, 0x003f, 0x003f, 0x003f, 0x98fa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9654, 0x003f, 0x003f,\n    0x003f, 0x8c86, 0x003f, 0x003f, 0xed5f, 0x003f, 0x003f, 0x003f,\n    0x8e50, 0x94f5, 0x98f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8dc3, 0x9762, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x98fc, 0x9942, 0x98fb, 0x8dc2, 0x003f, 0x8f9d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c58, 0x003f,\n    0x003f, 0x003f, 0x9943, 0x003f, 0x003f, 0x8bcd, 0x003f, 0x003f,\n    0x003f, 0x9940, 0x9941, 0x003f, 0x003f, 0x93ad, 0x003f, 0x919c,\n    0x003f, 0x8ba1, 0x003f, 0x003f, 0x003f, 0x966c, 0x9944, 0x003f,\n    0xed61, 0x003f, 0x97bb, 0x003f, 0x003f, 0x003f, 0x9945, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9948, 0x003f, 0x9946, 0x003f, 0x916d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9947, 0x9949, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xed60, 0x994b, 0x003f, 0x003f,\n    0x003f, 0x994a, 0x003f, 0x95c6, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5100 .. 0x51ff */\n    0x8b56, 0x994d, 0x994e, 0x003f, 0x89ad, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x994c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8ef2, 0x003f, 0x9951, 0x9950, 0x994f, 0x003f,\n    0x98d4, 0x003f, 0x9952, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f9e,\n    0x003f, 0x9953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9744, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x96d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x9955,\n    0x003f, 0x003f, 0x9954, 0x9957, 0x9956, 0x003f, 0x003f, 0x9958,\n    0x9959, 0x88f2, 0x003f, 0x8cb3, 0x8c5a, 0x8f5b, 0x929b, 0x8ba2,\n    0x90e6, 0x8cf5, 0xed62, 0x8d8e, 0x995b, 0x96c6, 0x9365, 0x003f,\n    0x8e99, 0x003f, 0x995a, 0x003f, 0x995c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x937d, 0x003f, 0x8a95, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x995d, 0x003f, 0xed63, 0x93fc, 0x003f, 0x003f,\n    0x9153, 0x995f, 0x9960, 0x94aa, 0x8cf6, 0x985a, 0x9961, 0x003f,\n    0x003f, 0x8ba4, 0x003f, 0x003f, 0x003f, 0x95ba, 0x91b4, 0x8bef,\n    0x9354, 0x003f, 0x003f, 0x003f, 0x8c93, 0x003f, 0x003f, 0x003f,\n    0x9962, 0x003f, 0x9963, 0x003f, 0x003f, 0x93e0, 0x897e, 0x003f,\n    0x003f, 0x9966, 0x8dfb, 0x003f, 0x9965, 0x8dc4, 0x003f, 0x9967,\n    0xe3ec, 0x9968, 0x9660, 0x9969, 0x003f, 0x996a, 0x996b, 0x8fe7,\n    0x003f, 0x8eca, 0x003f, 0x003f, 0x003f, 0xed64, 0x003f, 0x003f,\n    0x8aa5, 0x003f, 0x996e, 0x003f, 0x996c, 0x96bb, 0x996d, 0x003f,\n    0x9579, 0x996f, 0x9970, 0x9971, 0x937e, 0x003f, 0x003f, 0x003f,\n    0x9975, 0x9973, 0x9974, 0x9972, 0x8de1, 0x9976, 0x96e8, 0x97e2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9977, 0xed65, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x90a6, 0x9978, 0x8f79, 0x003f,\n    0x003f, 0x9979, 0x003f, 0x929c, 0x97bd, 0x9380, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x997a, 0xeaa3, 0x8bc3, 0x003f, 0x003f,\n    0x997b, 0x967d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f88, 0x91fa,\n    0x003f, 0x997d, 0x93e2, 0x003f, 0xed66, 0x997e, 0x003f, 0x003f,\n    0x9980, 0x8a4d, 0x003f, 0x003f, 0x003f, 0x9981, 0x8ba5, 0x003f,\n    0x93ca, 0x899a, 0x8f6f, 0x003f, 0x003f, 0x949f, 0x9982, 0x003f,\n    /* 0x5200 .. 0x52ff */\n    0x9381, 0x003f, 0x003f, 0x906e, 0x9983, 0x003f, 0x95aa, 0x90d8,\n    0x8aa0, 0x003f, 0x8aa7, 0x9984, 0x003f, 0x003f, 0x9986, 0x003f,\n    0x003f, 0x8c59, 0x003f, 0x003f, 0x9985, 0xed67, 0x003f, 0x97f1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f89, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x94bb, 0x95ca, 0x003f, 0x9987,\n    0x003f, 0x9798, 0x9988, 0x003f, 0x003f, 0x003f, 0x9989, 0x003f,\n    0x939e, 0x003f, 0x003f, 0x998a, 0x003f, 0x003f, 0x90a7, 0x8dfc,\n    0x8c94, 0x998b, 0x8e68, 0x8d8f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x92e4, 0x998d, 0x003f, 0x003f, 0x91a5,\n    0x003f, 0x003f, 0x8ded, 0x998e, 0x998f, 0x914f, 0x003f, 0x998c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9991, 0x003f, 0x9655, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8d84, 0x003f, 0x003f, 0x9990, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8c95, 0x8ddc, 0x948d, 0x003f, 0x003f,\n    0x003f, 0x9994, 0x9992, 0x003f, 0x003f, 0x003f, 0x003f, 0x959b,\n    0x8fe8, 0x999b, 0x8a84, 0x9995, 0x9993, 0x916e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9997, 0x003f, 0x9996,\n    0x003f, 0x003f, 0x003f, 0x8a63, 0x003f, 0x003f, 0x003f, 0x8c80,\n    0x999c, 0x97ab, 0x003f, 0x003f, 0x003f, 0x9998, 0x003f, 0x003f,\n    0x003f, 0x999d, 0x999a, 0x003f, 0x9999, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x97cd, 0xed68, 0x003f, 0x003f, 0x8cf7,\n    0x89c1, 0x003f, 0x003f, 0x97f2, 0x003f, 0x003f, 0xed69, 0x003f,\n    0x003f, 0x8f95, 0x9377, 0x8d85, 0x99a0, 0x99a1, 0x003f, 0xee5b,\n    0x003f, 0x97e3, 0x003f, 0x003f, 0x984a, 0x99a3, 0x003f, 0x003f,\n    0x003f, 0x8cf8, 0x003f, 0x003f, 0x99a2, 0x003f, 0x8a4e, 0x003f,\n    0xed6a, 0x99a4, 0x003f, 0x9675, 0x003f, 0x92ba, 0x003f, 0x9745,\n    0x003f, 0x95d7, 0x003f, 0x003f, 0x003f, 0x99a5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe8d3, 0x003f, 0x003f, 0x93ae, 0x003f, 0x99a6,\n    0x8aa8, 0x96b1, 0x003f, 0xed6b, 0x003f, 0x8f9f, 0x99a7, 0x95e5,\n    0x99ab, 0x003f, 0x90a8, 0x99a8, 0x8bce, 0x003f, 0x99a9, 0x8aa9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8c4d, 0x99ac, 0x003f, 0x99ad, 0x003f, 0x003f,\n    0x99ae, 0x99af, 0x8ed9, 0x003f, 0x003f, 0x003f, 0x8cf9, 0x96dc,\n    /* 0x5300 .. 0x53ff */\n    0xed6c, 0x96e6, 0x93f5, 0x003f, 0x003f, 0x95ef, 0x99b0, 0xed6d,\n    0x99b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b3, 0x003f, 0x99b5,\n    0x99b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b6, 0x89bb, 0x966b,\n    0x003f, 0x8dfa, 0x99b7, 0x003f, 0x003f, 0x9178, 0x003f, 0x003f,\n    0x8fa0, 0x8ba7, 0x003f, 0x99b8, 0xed6e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x94d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x99b9,\n    0x003f, 0x99ba, 0x003f, 0x99bb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x99bc, 0x9543, 0x8be6, 0x88e3, 0x003f, 0x003f, 0x003f, 0x93bd,\n    0x99bd, 0x8f5c, 0x003f, 0x90e7, 0x003f, 0x99bf, 0x99be, 0x8fa1,\n    0x8cdf, 0x99c1, 0x94bc, 0x003f, 0x003f, 0x99c2, 0x003f, 0x003f,\n    0x003f, 0x94da, 0x91b2, 0x91ec, 0x8ba6, 0x003f, 0x003f, 0x93ec,\n    0x9250, 0x003f, 0x948e, 0x003f, 0x966d, 0x003f, 0x99c4, 0x003f,\n    0x90e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c54, 0x003f,\n    0x003f, 0x99c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x99c6, 0x894b,\n    0x88f3, 0x8aeb, 0xed6f, 0x91a6, 0x8b70, 0x9791, 0x003f, 0x99c9,\n    0x89b5, 0x003f, 0x003f, 0x99c8, 0x003f, 0x003f, 0x003f, 0x8ba8,\n    0x003f, 0x003f, 0x99ca, 0x003f, 0x96ef, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xed70, 0x003f, 0x003f, 0x99cb, 0x003f,\n    0x97d0, 0x003f, 0x8cfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cb4,\n    0x99cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ce, 0x99cd, 0x003f,\n    0x907e, 0x8958, 0x003f, 0x003f, 0x003f, 0x897d, 0x99cf, 0x003f,\n    0x99d0, 0x003f, 0xed71, 0x8cb5, 0x003f, 0x003f, 0x99d1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8b8e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8e51, 0x99d2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9694, 0x8db3, 0x8b79, 0x9746, 0x916f, 0x94bd, 0x8efb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8f66, 0x003f, 0x8ee6, 0x8ef3,\n    0x003f, 0x8f96, 0x003f, 0x94be, 0x003f, 0xed72, 0x003f, 0x99d5,\n    0x003f, 0x8962, 0x9170, 0x8cfb, 0x8cc3, 0x8be5, 0x003f, 0x003f,\n    0x99d9, 0x9240, 0x91fc, 0x8ba9, 0x8fa2, 0x99da, 0x99d8, 0x89c2,\n    0x91e4, 0x8eb6, 0x8e6a, 0x8945, 0x003f, 0x003f, 0x8a90, 0x8d86,\n    0x8e69, 0x003f, 0x99db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5400 .. 0x54ff */\n    0x003f, 0x99dc, 0x003f, 0x8b68, 0x8a65, 0x003f, 0x003f, 0x003f,\n    0x8d87, 0x8b67, 0x92dd, 0x8944, 0x93af, 0x96bc, 0x8d40, 0x9799,\n    0x9366, 0x8cfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8c4e, 0x003f, 0x99e5, 0x003f, 0x8be1,\n    0x9669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94db, 0x003f,\n    0x003f, 0x99e4, 0x003f, 0x8adc, 0x99df, 0x99e0, 0x99e2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99e3, 0x003f,\n    0x8b7a, 0x9081, 0x003f, 0x95ab, 0x99e1, 0x99dd, 0x8ce1, 0x003f,\n    0x99de, 0x003f, 0x9843, 0x003f, 0x003f, 0x003f, 0x95f0, 0x003f,\n    0x92e6, 0x8ce0, 0x8d90, 0x003f, 0x003f, 0x003f, 0x99e6, 0x003f,\n    0x003f, 0x93db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x99ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8efc, 0x003f, 0x8ef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x99ed, 0x99eb, 0x003f, 0x96a1, 0x003f, 0x99e8, 0x99f1, 0x99ec,\n    0x003f, 0x003f, 0x003f, 0x99ef, 0x8cc4, 0x96bd, 0x003f, 0x003f,\n    0x99f0, 0x003f, 0x003f, 0x003f, 0x99f2, 0x003f, 0x99f4, 0x003f,\n    0x003f, 0x003f, 0xed75, 0x8dee, 0x9861, 0x003f, 0x99e9, 0x99e7,\n    0x99f3, 0x003f, 0x99ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xed74, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x99f6, 0x003f, 0x9a42, 0x99f8, 0x003f, 0x003f,\n    0x99fc, 0xed76, 0x003f, 0x9a40, 0x99f9, 0x003f, 0x003f, 0x9a5d,\n    0x003f, 0x003f, 0x8de7, 0x8a50, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x99f7, 0x003f, 0x003f, 0x003f, 0x9a44, 0x88f4, 0x9a43, 0x003f,\n    0x88a3, 0x9569, 0x9a41, 0x003f, 0x99fa, 0x003f, 0x003f, 0x99f5,\n    0x99fb, 0x8dc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a45, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x88f5, 0x9a4e, 0x003f, 0x003f, 0x9a46, 0x9a47, 0x003f,\n    0x8fa3, 0x9689, 0x003f, 0x003f, 0x003f, 0x9a4c, 0x9a4b, 0x003f,\n    0x003f, 0x003f, 0x934e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9a4d, 0x003f, 0x003f, 0x9a4a, 0x003f, 0xed77,\n    /* 0x5500 .. 0x55ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8953, 0x003f, 0x8db4, 0x904f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a48,\n    0x9382, 0x003f, 0x003f, 0x003f, 0x9a49, 0x003f, 0x88a0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a53, 0x9742,\n    0x003f, 0x8fa5, 0x003f, 0x9a59, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a58, 0x9a4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c1, 0x003f,\n    0x9a50, 0x003f, 0x003f, 0x003f, 0x91ed, 0x9a55, 0x8fa4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a52, 0x003f, 0x003f, 0x96e2,\n    0x003f, 0x003f, 0x003f, 0x8c5b, 0x003f, 0x003f, 0x9a56, 0x9a57,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a54, 0x9a5a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9a51, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9a60, 0x9a65, 0x003f, 0x9a61, 0x003f,\n    0x9a5c, 0x003f, 0x003f, 0x9a66, 0x9150, 0x003f, 0xed78, 0x9a68,\n    0x003f, 0x8d41, 0x9a5e, 0x929d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a62, 0x9a5b, 0x8aab, 0x003f, 0x8aec, 0x8a85, 0x9a63, 0x9a5f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c96,\n    0x9a69, 0x9a67, 0x9172, 0x8b69, 0x8baa, 0x003f, 0x9a64, 0x003f,\n    0x8bf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8963, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a6d, 0x9a6b, 0x003f, 0x9aa5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a70, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9a6a, 0x003f, 0x9a6e, 0x003f, 0x003f, 0x9a6c,\n    0x003f, 0x003f, 0x003f, 0x8e6b, 0x9a6f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a72,\n    0x003f, 0x9a77, 0x003f, 0x003f, 0x003f, 0x9a75, 0x9a74, 0x003f,\n    /* 0x5600 .. 0x56ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9251, 0x003f,\n    0x003f, 0x89c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a71, 0x003f, 0x9a73, 0x8fa6,\n    0x8952, 0x003f, 0x003f, 0x9a76, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x89dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a82,\n    0x003f, 0x8ffa, 0x9a7d, 0x003f, 0x9a7b, 0x003f, 0x9a7c, 0x003f,\n    0x9a7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x895c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9158, 0x003f, 0x9a78, 0x003f,\n    0x9a79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8a9a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a81, 0x003f, 0x003f, 0x003f,\n    0x8aed, 0x003f, 0x9a84, 0x9a80, 0x9a83, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x95ac, 0x003f, 0x003f, 0x003f,\n    0x93d3, 0x003f, 0x94b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a85, 0x8a64,\n    0x003f, 0x003f, 0x9a87, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a89, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a88, 0x003f, 0x9458, 0x003f, 0x003f, 0x9a8b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a8c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a8e, 0x003f, 0x9a8d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9a90, 0x003f, 0x003f, 0x003f,\n    0x9a93, 0x9a91, 0x9a8f, 0x9a92, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a94, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a95, 0x003f,\n    0x003f, 0x9a96, 0x003f, 0x9a97, 0x003f, 0x003f, 0x003f, 0x9a98,\n    0x9964, 0x003f, 0x8efa, 0x8e6c, 0x003f, 0x003f, 0x89f1, 0x003f,\n    0x88f6, 0x003f, 0x003f, 0x9263, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a99, 0x003f,\n    0x8da2, 0x003f, 0x88cd, 0x907d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9a9a, 0x8cc5, 0x003f, 0x003f, 0x8d91, 0x003f, 0x9a9c,\n    /* 0x5700 .. 0x57ff */\n    0x9a9b, 0x003f, 0x003f, 0x95de, 0x9a9d, 0x003f, 0x003f, 0x003f,\n    0x9a9f, 0x9a9e, 0x003f, 0x9aa0, 0x003f, 0x9aa1, 0x003f, 0x8c97,\n    0x003f, 0x003f, 0x8980, 0x9aa2, 0x003f, 0x003f, 0x9aa4, 0x003f,\n    0x9aa3, 0x003f, 0x003f, 0x003f, 0x9aa6, 0x003f, 0x003f, 0x9379,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa7, 0x88b3,\n    0x8ddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c5c, 0x003f, 0x003f,\n    0x926e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9aa8,\n    0x9aa9, 0x003f, 0x003f, 0x9aab, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9aac, 0x003f, 0x8de2, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bcf,\n    0x003f, 0x003f, 0x9656, 0x003f, 0x003f, 0x003f, 0x9aaa, 0x9aad,\n    0x8dbf, 0x8d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xed79, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9ab1, 0x003f, 0x003f, 0x8da3, 0xed7a, 0x9252, 0x003f,\n    0x003f, 0x9aae, 0x92d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ab2,\n    0x003f, 0x003f, 0x9082, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ab0, 0x9ab3, 0x003f, 0x8c5e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9ab4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ab5, 0x003f, 0x8d43, 0x8a5f, 0x9ab7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9ab8, 0x003f, 0xed7b, 0x003f, 0x003f, 0x003f,\n    0x9ab9, 0x003f, 0x003f, 0x9ab6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9aaf, 0x003f, 0x003f, 0x9aba, 0x003f, 0x003f, 0x9abb, 0xed7d,\n    0xed7c, 0x003f, 0x003f, 0x9684, 0x003f, 0x003f, 0x8fe9, 0x003f,\n    0x003f, 0x003f, 0x9abd, 0x9abe, 0x9abc, 0x003f, 0x9ac0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9457, 0x003f, 0x003f, 0x88e6,\n    0x9575, 0x003f, 0x003f, 0x9ac1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8ffb, 0x003f, 0x003f, 0x8eb7,\n    0x003f, 0x947c, 0x8aee, 0x003f, 0x8de9, 0x003f, 0x003f, 0x003f,\n    /* 0x5800 .. 0x58ff */\n    0x9678, 0x003f, 0x93b0, 0x003f, 0x003f, 0x8c98, 0x91cd, 0x003f,\n    0x003f, 0x003f, 0x9abf, 0x9ac2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91c2, 0x003f, 0x003f,\n    0x003f, 0x9ac3, 0x003f, 0x003f, 0x003f, 0x9ac4, 0x003f, 0x003f,\n    0x003f, 0x9ac6, 0x003f, 0x003f, 0x92e7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8aac, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9f,\n    0x8981, 0x95f1, 0x003f, 0x003f, 0x8fea, 0x9367, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8de4, 0x003f, 0x003f, 0x9acc, 0x003f, 0x003f,\n    0x95bb, 0x97db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x89f2, 0x9ac8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9159, 0x9acb, 0x003f, 0x9383, 0x003f, 0x003f, 0x9368,\n    0x9384, 0x94b7, 0x92cb, 0x003f, 0x003f, 0x003f, 0x8dc7, 0x003f,\n    0x003f, 0x003f, 0x9ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8996, 0x003f, 0x9355, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ac9, 0x003f, 0x9ac5, 0x003f, 0x003f, 0x906f, 0x003f, 0x003f,\n    0x003f, 0x9acd, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8bab, 0x003f, 0x9ace, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x95e6, 0x003f, 0x003f, 0x003f, 0x919d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x92c4, 0x003f, 0xed81, 0x9ad0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x966e, 0x003f, 0x003f, 0x9ad1, 0x003f, 0x003f, 0x9ad6, 0x003f,\n    0x003f, 0x003f, 0xed82, 0x95ad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ad5, 0x9acf, 0x9ad2, 0x9ad4, 0x003f, 0x003f, 0x8da4, 0x003f,\n    0x003f, 0x95c7, 0x003f, 0x003f, 0x003f, 0x9ad7, 0x003f, 0x9264,\n    0x003f, 0x003f, 0x89f3, 0x003f, 0x8feb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9ad9, 0x003f, 0x9ad8, 0x003f, 0x8d88, 0x003f, 0x9ada,\n    0x9adc, 0x9adb, 0x003f, 0x003f, 0x9ade, 0x003f, 0x9ad3, 0x9ae0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9adf, 0x9add, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8e6d, 0x9070, 0x003f, 0x9173, 0x9ae1,\n    0x90ba, 0x88eb, 0x9484, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d9,\n    0x003f, 0x9ae3, 0x9ae2, 0x9ae4, 0x9ae5, 0x9ae6, 0x003f, 0x003f,\n    /* 0x5900 .. 0x59ff */\n    0x003f, 0x003f, 0x9ae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x95cf, 0x9ae8, 0xed83, 0x003f, 0x003f, 0x003f, 0x89c4,\n    0x9ae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x975b, 0x8a4f, 0x003f,\n    0x99c7, 0x8f67, 0x91bd, 0x9aea, 0x96e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x96b2, 0x003f, 0x003f, 0x9aec, 0x003f, 0x91e5,\n    0x003f, 0x9356, 0x91be, 0x9576, 0x9aed, 0x9aee, 0x899b, 0x003f,\n    0x003f, 0x8eb8, 0x9aef, 0x003f, 0x003f, 0x003f, 0x003f, 0x88ce,\n    0x9af0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8982, 0x003f, 0x003f, 0x8aef,\n    0x93de, 0x95f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9af5, 0x9174,\n    0x9af4, 0x8c5f, 0x003f, 0xed84, 0x967a, 0x9af3, 0x003f, 0x9385,\n    0x9af7, 0x003f, 0x9af6, 0xed85, 0x003f, 0xed86, 0x003f, 0x003f,\n    0x9af9, 0x003f, 0x9af8, 0xed87, 0x003f, 0x899c, 0x003f, 0x9afa,\n    0x8fa7, 0x9afc, 0x9244, 0x003f, 0x9afb, 0x003f, 0x95b1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8f97, 0x937a, 0x003f, 0x003f, 0x003f,\n    0x9b40, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d44, 0x003f, 0x003f,\n    0x003f, 0x9b41, 0x9440, 0x94dc, 0x96cf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9444, 0x003f, 0x003f, 0x9b4a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8b57, 0x003f, 0x003f, 0x9764, 0x003f,\n    0x003f, 0x96ad, 0x003f, 0x9baa, 0x003f, 0x9b42, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9b45, 0xed88, 0x91c3, 0x003f, 0x003f,\n    0x9657, 0x003f, 0x003f, 0x003f, 0x9369, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9b46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9685, 0xed89, 0x8dc8, 0x003f, 0x003f, 0x8fa8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b47, 0x003f,\n    0x003f, 0x8e6f, 0x003f, 0x8e6e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x88b7, 0x8cc6, 0x003f, 0x90a9, 0x88cf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b4b, 0x9b4c, 0x003f, 0x9b49, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8957, 0x8aad, 0x003f,\n    0x9b48, 0x003f, 0x96c3, 0x9550, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x88f7, 0x003f, 0x003f, 0x003f, 0x8e70,\n    /* 0x5a00 .. 0x5aff */\n    0x003f, 0x88d0, 0x003f, 0x88a1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b4f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x96ba, 0x003f, 0x9b52, 0x003f, 0x9b50, 0x003f, 0x003f, 0x9b4e,\n    0x9050, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b4d, 0x003f, 0x003f,\n    0x003f, 0x95d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ce2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b56, 0x9b57, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8fa9, 0x003f, 0x003f, 0x003f,\n    0x9b53, 0x984b, 0x003f, 0x003f, 0x003f, 0x003f, 0x946b, 0x003f,\n    0x003f, 0x9b55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8da5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9b58, 0x003f, 0x003f, 0x003f, 0x9577, 0x003f,\n    0x003f, 0x003f, 0x9b59, 0x003f, 0x9b54, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96b9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x947d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9b5a, 0x9551, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9b5b, 0x9b5f, 0x9b5c, 0x003f,\n    0x003f, 0x89c5, 0x9b5e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8eb9, 0x003f, 0x9b5d, 0x8c99, 0x003f, 0x003f, 0x003f,\n    0x9b6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b64, 0x9b61,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9284, 0x003f, 0x9b60, 0x003f, 0x003f, 0x9b62, 0x003f,\n    0x003f, 0x9b63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9b65, 0x9b66, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5b00 .. 0x5bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8af0, 0x003f, 0x9b68, 0x9b67, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b69, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8fec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9b6c, 0x003f, 0x92da, 0x003f, 0x003f, 0x003f,\n    0x8964, 0x003f, 0x9b6a, 0x003f, 0x003f, 0x003f, 0x9b6d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9b6e, 0x003f,\n    0x9b71, 0x003f, 0x003f, 0x9b6f, 0x003f, 0x9b70, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8e71, 0x9b72, 0x003f, 0x003f, 0x8d45, 0x9b73, 0xed8a, 0x8e9a,\n    0x91b6, 0x003f, 0x9b74, 0x9b75, 0x8e79, 0x8d46, 0x003f, 0x96d0,\n    0x003f, 0x003f, 0x003f, 0x8b47, 0x8cc7, 0x9b76, 0x8a77, 0x003f,\n    0x003f, 0x9b77, 0x003f, 0x91b7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b78, 0x9ba1, 0x003f, 0x9b79, 0x003f, 0x9b7a, 0x003f, 0x003f,\n    0x9b7b, 0x003f, 0x9b7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b7e, 0x003f, 0x003f, 0x9b80, 0x003f, 0x91ee, 0x003f, 0x8946,\n    0x8ee7, 0x88c0, 0x003f, 0x9176, 0x8aae, 0x8eb3, 0x003f, 0x8d47,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9386, 0x003f, 0x8f40,\n    0x8aaf, 0x9288, 0x92e8, 0x88b6, 0x8b58, 0x95f3, 0x003f, 0x8ec0,\n    0x003f, 0x003f, 0x8b71, 0x90e9, 0x8eba, 0x9747, 0x9b81, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b7b, 0x003f,\n    0x8dc9, 0x003f, 0x003f, 0x8a51, 0x8983, 0x8faa, 0x89c6, 0x003f,\n    0x9b82, 0x9765, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f68,\n    0xed8b, 0x003f, 0x8ee2, 0x9b83, 0x8af1, 0x93d0, 0x96a7, 0x9b84,\n    0x003f, 0x9b85, 0x003f, 0x003f, 0x9578, 0x003f, 0x003f, 0x003f,\n    0x9b87, 0x003f, 0x8aa6, 0x8bf5, 0x9b86, 0x003f, 0x003f, 0x003f,\n    0xed8d, 0x003f, 0x003f, 0x8ab0, 0x003f, 0x9051, 0x9b8b, 0x8e40,\n    0x003f, 0x89c7, 0x9b8a, 0x003f, 0x9b88, 0x9b8c, 0x9b89, 0x944a,\n    0x9ecb, 0x9052, 0x003f, 0x9b8d, 0xed8e, 0x003f, 0x97be, 0x003f,\n    0x9b8e, 0x003f, 0x003f, 0x9b90, 0x003f, 0x929e, 0x9b8f, 0x003f,\n    0x90a1, 0x003f, 0x8e9b, 0x003f, 0x003f, 0x003f, 0x91ce, 0x8ef5,\n    /* 0x5c00 .. 0x5cff */\n    0x003f, 0x9595, 0x90ea, 0x003f, 0x8ecb, 0x9b91, 0x8fab, 0x9b92,\n    0x9b93, 0x88d1, 0x91b8, 0x9071, 0x003f, 0x9b94, 0x93b1, 0x8fac,\n    0x003f, 0x8fad, 0x003f, 0x9b95, 0x003f, 0x003f, 0x90eb, 0x003f,\n    0x003f, 0x003f, 0x8fae, 0x003f, 0x003f, 0x003f, 0xed8f, 0x003f,\n    0x9b96, 0x003f, 0x9b97, 0x003f, 0x96de, 0x003f, 0x003f, 0x003f,\n    0x9b98, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bc4, 0x003f, 0x003f,\n    0x003f, 0x8f41, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b99, 0x9b9a, 0x8eda, 0x904b, 0x93f2, 0x9073, 0x94f6, 0x9441,\n    0x8bc7, 0x9b9b, 0x003f, 0x003f, 0x003f, 0x8b8f, 0x9b9c, 0x003f,\n    0x8bfc, 0x003f, 0x93cd, 0x89ae, 0x003f, 0x8e72, 0x9b9d, 0x9ba0,\n    0x9b9f, 0x8bfb, 0x003f, 0x9b9e, 0x003f, 0x9357, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ae, 0x003f,\n    0x936a, 0x8ec6, 0x003f, 0x003f, 0x9177, 0x979a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba2, 0x003f, 0x9ba3, 0x93d4,\n    0x003f, 0x8e52, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ba5, 0x003f,\n    0x003f, 0x9ba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9ba7, 0x003f, 0x003f, 0x003f,\n    0x8af2, 0x9ba8, 0x003f, 0x003f, 0x9ba9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x89aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xed90, 0x003f,\n    0x915a, 0x8ae2, 0x003f, 0x9bab, 0x96a6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x91d0, 0x003f, 0x8a78, 0x003f, 0x003f, 0x9bad, 0x9baf,\n    0x8add, 0x003f, 0xed91, 0x9bac, 0x9bae, 0x003f, 0x9bb1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bb0, 0x003f, 0x9bb2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9bb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x93bb, 0x8bac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x89e3, 0x9bb4, 0x9bb9, 0x003f, 0x003f, 0x9bb7, 0x003f, 0x95f5,\n    0x95f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xed92, 0x9387, 0x003f,\n    0x003f, 0x003f, 0x9bb6, 0x8f73, 0x003f, 0x9bb5, 0x003f, 0x003f,\n    /* 0x5d00 .. 0x5dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9092,\n    0x003f, 0x003f, 0x003f, 0x9bba, 0x003f, 0x003f, 0x8de8, 0x003f,\n    0x003f, 0x9bc0, 0x003f, 0x003f, 0x9bc1, 0x9bbb, 0x8a52, 0x9bbc,\n    0x9bc5, 0x9bc4, 0x9bc3, 0x9bbf, 0x003f, 0x003f, 0x003f, 0x9bbe,\n    0x003f, 0x003f, 0x9bc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xed93,\n    0x003f, 0x95f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xed96, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9bc9, 0x9bc6, 0x003f, 0x9bc8, 0x003f,\n    0x9792, 0x003f, 0x9bc7, 0xed94, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9bbd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9093, 0x003f, 0x003f, 0x9bca, 0xed97, 0x003f, 0x8db5,\n    0x003f, 0x003f, 0x003f, 0x9bcb, 0x003f, 0x003f, 0x9bcc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9bcf, 0x003f, 0x9bce, 0x003f, 0x003f, 0x9bcd,\n    0x003f, 0x003f, 0x003f, 0x9388, 0x9bb8, 0x003f, 0x003f, 0x003f,\n    0x9bd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9bd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9bd2, 0x003f, 0x9bd3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bd6,\n    0xed98, 0xed99, 0x97e4, 0x003f, 0x9bd7, 0x9bd4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9bd8, 0x003f, 0x003f, 0x8ade, 0x9bd9, 0x003f, 0x003f,\n    0xed9a, 0x003f, 0x9bdb, 0x9bda, 0x003f, 0x003f, 0x9bdc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9bdd, 0x003f, 0x90ec, 0x8f42, 0x003f,\n    0x003f, 0x8f84, 0x003f, 0x9183, 0x003f, 0x8d48, 0x8db6, 0x8d49,\n    0x8b90, 0x003f, 0x003f, 0x9bde, 0x003f, 0x003f, 0x8db7, 0x003f,\n    0x003f, 0x8cc8, 0x9bdf, 0x96a4, 0x9462, 0x9be0, 0x003f, 0x8d4a,\n    0x003f, 0x003f, 0x003f, 0x8aaa, 0x003f, 0x9246, 0x8bd0, 0x003f,\n    /* 0x5e00 .. 0x5eff */\n    0x003f, 0x003f, 0x8e73, 0x957a, 0x003f, 0x003f, 0x94bf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9be1, 0x8af3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9be4, 0x003f, 0x003f, 0x003f, 0x003f, 0x929f, 0x003f,\n    0x003f, 0x9be3, 0x9be2, 0x9be5, 0x003f, 0x92e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9083, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8e74, 0x003f, 0x90c8, 0x003f, 0x91d1,\n    0x8b41, 0x003f, 0x003f, 0x92a0, 0x003f, 0x003f, 0x9be6, 0x9be7,\n    0x8fed, 0x003f, 0x003f, 0x003f, 0x003f, 0x9658, 0x003f, 0x003f,\n    0x9bea, 0x003f, 0x003f, 0x9be9, 0x9be8, 0x959d, 0x003f, 0x9bf1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9679, 0x003f, 0x9beb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9bed, 0x968b, 0x003f, 0x9bec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bee,\n    0x003f, 0x94a6, 0x9bef, 0x95bc, 0x9bf0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8ab1, 0x95bd, 0x944e, 0x9bf2, 0x9bf3, 0x003f,\n    0x8d4b, 0x8ab2, 0x9bf4, 0x8cb6, 0x9763, 0x9748, 0x8af4, 0x9bf6,\n    0x003f, 0x92a1, 0x003f, 0x8d4c, 0x8faf, 0x003f, 0x003f, 0x94dd,\n    0x003f, 0x003f, 0x8fb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f98,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92ea, 0x95f7, 0x9358,\n    0x003f, 0x003f, 0x8d4d, 0x003f, 0x957b, 0x003f, 0x003f, 0x003f,\n    0x9bf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9378, 0x8dc0,\n    0x003f, 0x003f, 0x003f, 0x8cc9, 0x003f, 0x92eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88c1, 0x8f8e, 0x8d4e,\n    0x9766, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9bf8, 0x9bf9, 0x9470, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9bfa, 0x97f5, 0x984c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9bfc,\n    0x9bfb, 0x003f, 0x003f, 0x8a66, 0x003f, 0x003f, 0x9c40, 0x003f,\n    0x003f, 0x003f, 0x9c43, 0x9c44, 0x003f, 0x9c42, 0x003f, 0x955f,\n    0x8fb1, 0x9c46, 0x9c45, 0x9c41, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9c47, 0x9c48, 0x003f, 0x003f, 0x9c49, 0x003f, 0x003f, 0x003f,\n    0x9c4c, 0x9c4a, 0x003f, 0x9c4b, 0x9c4d, 0x003f, 0x8984, 0x92ec,\n    0x9c4e, 0x003f, 0x8c9a, 0x89f4, 0x9455, 0x003f, 0x9c4f, 0x93f9,\n    /* 0x5f00 .. 0x5fff */\n    0x003f, 0x95d9, 0x003f, 0x9c50, 0x984d, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9c51, 0x95be, 0x9c54, 0x989f, 0x98af, 0x003f, 0x8eae,\n    0x93f3, 0x9c55, 0x003f, 0x8b7c, 0x92a2, 0x88f8, 0x9c56, 0x95a4,\n    0x8d4f, 0x003f, 0x003f, 0x926f, 0x003f, 0x003f, 0x003f, 0x92ed,\n    0x003f, 0xed9b, 0x003f, 0x003f, 0x003f, 0x96ed, 0x8cb7, 0x8cca,\n    0x003f, 0x9c57, 0x003f, 0x003f, 0x003f, 0x9c58, 0x003f, 0x9c5e,\n    0x003f, 0x8ee3, 0x003f, 0x003f, 0xed9c, 0x92a3, 0x003f, 0x8bad,\n    0x9c59, 0x003f, 0x003f, 0x003f, 0x954a, 0x003f, 0x9265, 0x003f,\n    0x003f, 0x9c5a, 0x003f, 0x003f, 0x003f, 0xed4b, 0x003f, 0x003f,\n    0x9c5b, 0x003f, 0x8bae, 0x003f, 0x9c5c, 0x003f, 0x9c5d, 0x003f,\n    0x003f, 0x9c5f, 0x003f, 0x9396, 0x003f, 0x003f, 0x9c60, 0x9c61,\n    0x003f, 0x9c62, 0x003f, 0x003f, 0x9c53, 0x9c52, 0x003f, 0x003f,\n    0x003f, 0x9c63, 0x8c60, 0x003f, 0x003f, 0x003f, 0x9546, 0xed9d,\n    0x003f, 0x8dca, 0x9556, 0x92a4, 0x956a, 0x9c64, 0x003f, 0x003f,\n    0x8fb2, 0x8965, 0x003f, 0x9c65, 0x003f, 0x003f, 0x003f, 0x9c66,\n    0x003f, 0x96f0, 0x003f, 0x003f, 0x94de, 0x003f, 0x003f, 0x9c69,\n    0x899d, 0x90aa, 0x9c68, 0x9c67, 0x8c61, 0x91d2, 0x003f, 0x9c6d,\n    0x9c6b, 0x003f, 0x9c6a, 0x97a5, 0x8ce3, 0x003f, 0x003f, 0x003f,\n    0x8f99, 0x9c6c, 0x936b, 0x8f5d, 0x003f, 0x003f, 0x003f, 0x93be,\n    0x9c70, 0x9c6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c6e, 0x003f,\n    0x9c71, 0x8ce4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9c72, 0x959c, 0x8f7a, 0x003f, 0x003f, 0x9c73, 0x94f7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x93bf, 0x92a5, 0x003f, 0x003f, 0xed9e,\n    0x003f, 0x934f, 0x003f, 0x003f, 0x9c74, 0x8b4a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9053, 0x003f, 0x954b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8af5, 0x9445, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c75, 0x8e75,\n    0x9659, 0x965a, 0x003f, 0x003f, 0x899e, 0x9c7a, 0xed9f, 0x003f,\n    0x9289, 0x003f, 0x003f, 0x003f, 0x9c77, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x89f5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9cab, 0x9c79, 0x003f, 0x003f, 0x003f, 0x944f, 0x003f, 0x003f,\n    0x9c78, 0x003f, 0x003f, 0x9c76, 0x003f, 0x8d9a, 0x003f, 0x9c7c,\n    /* 0x6000 .. 0x60ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9c83, 0x9c89,\n    0x9c81, 0x003f, 0x937b, 0x003f, 0x003f, 0x9c86, 0x957c, 0x003f,\n    0x003f, 0x9c80, 0x003f, 0x9c85, 0x97e5, 0x8e76, 0x003f, 0x003f,\n    0x91d3, 0x9c7d, 0x003f, 0x003f, 0x003f, 0x8b7d, 0x9c88, 0x90ab,\n    0x8985, 0x9c82, 0x89f6, 0x9c87, 0x003f, 0x003f, 0x003f, 0x8baf,\n    0x003f, 0x9c84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9c8a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9c8c, 0x9c96, 0x9c94, 0x003f, 0x003f, 0x9c91, 0x003f,\n    0x003f, 0x003f, 0x9c90, 0x97f6, 0x003f, 0x9c92, 0x003f, 0x003f,\n    0x8bb0, 0x003f, 0x8d50, 0x003f, 0x003f, 0x8f9a, 0x003f, 0x003f,\n    0x003f, 0x9c99, 0x9c8b, 0x003f, 0x003f, 0xeda0, 0x003f, 0x9c8f,\n    0x9c7e, 0x003f, 0x89f8, 0x9c93, 0x9c95, 0x9270, 0x003f, 0x003f,\n    0x8da6, 0x89b6, 0x9c8d, 0x9c98, 0x9c97, 0x8bb1, 0x003f, 0x91a7,\n    0x8a86, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c62, 0x003f, 0x9c8e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9c9a, 0x003f, 0x9c9d, 0x9c9f, 0xeda1, 0x003f, 0x003f,\n    0x003f, 0x8ebb, 0xeda2, 0x9ca5, 0x92ee, 0x9c9b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9ca3, 0x003f, 0x89f7, 0x003f, 0x9ca1, 0x9ca2,\n    0x003f, 0x003f, 0x9c9e, 0x9ca0, 0x003f, 0x003f, 0x003f, 0x8ce5,\n    0x9749, 0x003f, 0x003f, 0x8ab3, 0x003f, 0x003f, 0x8978, 0x9ca4,\n    0x003f, 0x9459, 0x88ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x94df, 0x9c7b, 0x9caa, 0x9cae, 0x96e3, 0x003f,\n    0x9ca7, 0x003f, 0x003f, 0x003f, 0x9389, 0x9cac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fee, 0x9cad, 0x93d5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9866, 0x003f, 0x9ca9, 0x003f, 0xeda4, 0x003f, 0x003f,\n    0x9caf, 0x003f, 0x8d9b, 0x003f, 0x90c9, 0x003f, 0xeda3, 0x88d2,\n    0x9ca8, 0x9ca6, 0x003f, 0x9179, 0x003f, 0x003f, 0x003f, 0x9c9c,\n    0x8e53, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x91c4, 0x9cbb, 0xeda6, 0x917a, 0x9cb6, 0x003f, 0x9cb3, 0x9cb4,\n    0x003f, 0x8ee4, 0x9cb7, 0x9cba, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6100 .. 0x61ff */\n    0x9cb5, 0x8f44, 0x003f, 0x9cb8, 0x003f, 0x003f, 0x9cb2, 0x003f,\n    0x96fa, 0x96f9, 0x003f, 0x003f, 0x003f, 0x9cbc, 0x9cbd, 0x88d3,\n    0x003f, 0xeda7, 0x003f, 0x003f, 0x003f, 0x9cb1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8bf0, 0x88a4, 0x003f, 0x003f, 0x003f, 0x8ab4,\n    0xeda5, 0x9cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cc1,\n    0x9cc0, 0x003f, 0x003f, 0x003f, 0x9cc5, 0x003f, 0x003f, 0x003f,\n    0xeda9, 0x003f, 0x003f, 0x003f, 0x9cc6, 0x003f, 0x003f, 0xeda8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9cc4, 0x9cc7, 0x9cbf, 0x9cc3,\n    0x003f, 0x003f, 0x9cc8, 0x003f, 0x9cc9, 0x003f, 0x003f, 0x9cbe,\n    0x8e9c, 0x003f, 0x9cc2, 0x91d4, 0x8d51, 0x9cb0, 0x9054, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9cd6, 0x003f, 0x95e7, 0x003f, 0x003f,\n    0x9ccc, 0x9ccd, 0x9cce, 0x003f, 0x003f, 0x9cd5, 0x003f, 0x9cd4,\n    0x003f, 0x003f, 0x969d, 0x8ab5, 0x003f, 0x9cd2, 0x003f, 0x8c64,\n    0x8a53, 0x003f, 0x003f, 0x9ccf, 0x003f, 0x003f, 0x97b6, 0x9cd1,\n    0x88d4, 0x9cd3, 0x003f, 0x9cca, 0x9cd0, 0x9cd7, 0x8c63, 0x9ccb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x977c, 0x003f,\n    0x003f, 0x003f, 0x974a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9cda,\n    0x003f, 0x003f, 0x9cde, 0x003f, 0x003f, 0x003f, 0x919e, 0x003f,\n    0x97f7, 0x9cdf, 0x003f, 0x003f, 0x9cdc, 0x003f, 0x9cd9, 0x003f,\n    0xedaa, 0x9cd8, 0x9cdd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x95ae, 0x003f, 0x003f, 0x93b2,\n    0x003f, 0x8c65, 0x003f, 0x9ce0, 0x9cdb, 0x003f, 0x9ce1, 0x003f,\n    0x003f, 0x003f, 0x8c9b, 0x003f, 0x003f, 0x003f, 0x89af, 0x003f,\n    0x003f, 0x003f, 0x9ce9, 0x003f, 0x003f, 0x003f, 0x8ab6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9ce7, 0x003f, 0x003f, 0x9ce8, 0x8da7,\n    0x9ce6, 0x9ce4, 0x9ce3, 0x9cea, 0x9ce2, 0x9cec, 0x003f, 0x003f,\n    0x89f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9cee, 0x003f, 0x003f, 0x9ced, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x92a6, 0x003f, 0x9cf1, 0x003f, 0x9cef, 0x9ce5,\n    0x8c9c, 0x003f, 0x9cf0, 0x003f, 0x9cf4, 0x9cf3, 0x9cf5, 0x9cf2,\n    /* 0x6200 .. 0x62ff */\n    0x9cf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9cf7, 0x9cf8, 0x95e8, 0x003f, 0x9cfa, 0x9cf9, 0x8f5e, 0x003f,\n    0x90ac, 0x89e4, 0x89fa, 0xedab, 0x9cfb, 0x003f, 0x88bd, 0x003f,\n    0x003f, 0x003f, 0x90ca, 0x9cfc, 0x003f, 0xe6c1, 0x9d40, 0x8c81,\n    0x003f, 0x9d41, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ed, 0x003f,\n    0x003f, 0x003f, 0x9d42, 0x003f, 0x003f, 0x003f, 0x9d43, 0x8b59,\n    0x9d44, 0x003f, 0x9d45, 0x9d46, 0x91d5, 0x003f, 0x003f, 0x003f,\n    0x8ccb, 0x003f, 0x003f, 0x96df, 0x003f, 0x003f, 0x003f, 0x965b,\n    0x8f8a, 0x9d47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90ee,\n    0xe7bb, 0x94e0, 0x003f, 0x8ee8, 0x003f, 0x8dcb, 0x9d48, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x91c5, 0x003f, 0x95a5, 0x003f, 0x003f,\n    0x91ef, 0x003f, 0x003f, 0x9d4b, 0x003f, 0x003f, 0x9d49, 0x003f,\n    0x9d4c, 0x003f, 0x003f, 0x9d4a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9d4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95af, 0x003f,\n    0x003f, 0x88b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x957d, 0x003f,\n    0x003f, 0x94e1, 0x003f, 0x003f, 0x9d4e, 0x003f, 0x9d51, 0x8fb3,\n    0x8b5a, 0x003f, 0x9d4f, 0x9d56, 0x8fb4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9d50, 0x9463, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x977d, 0x9d52, 0x9d53, 0x9d57, 0x938a, 0x9d54, 0x8d52,\n    0x90dc, 0x003f, 0x003f, 0x9d65, 0x94b2, 0x003f, 0x91f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedac, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x94e2, 0x9dab, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x95f8, 0x003f, 0x003f, 0x003f, 0x92ef, 0x003f, 0x003f,\n    0x003f, 0x9695, 0x003f, 0x9d5a, 0x899f, 0x928a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9d63, 0x003f, 0x003f, 0x9253, 0x9d5d, 0x9d64,\n    0x9d5f, 0x9d66, 0x9d62, 0x003f, 0x9d61, 0x948f, 0x003f, 0x9d5b,\n    0x89fb, 0x9d59, 0x8b91, 0x91f1, 0x9d55, 0x003f, 0x003f, 0x9d58,\n    0x8d53, 0x90d9, 0x003f, 0x8fb5, 0x9d60, 0x9471, 0x003f, 0x003f,\n    0x8b92, 0x8a67, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8a87, 0x9040, 0x9d68, 0x9d6d,\n    0x003f, 0x9d69, 0x003f, 0x8c9d, 0x003f, 0x9d6e, 0x8e41, 0x8d89,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f45, 0x9d5c,\n    /* 0x6300 .. 0x63ff */\n    0x003f, 0x8e9d, 0x9d6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e77,\n    0x9d6c, 0x88c2, 0x003f, 0x003f, 0x9d67, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x92a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8b93, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bb2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d6a,\n    0x88a5, 0x003f, 0x003f, 0x8dc1, 0x003f, 0x003f, 0x003f, 0x9055,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x92f0, 0x003f, 0x003f, 0x94d2, 0x9d70, 0x917d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x91a8, 0x003f, 0x003f, 0x8e4a, 0x9d71, 0x003f, 0x9d73,\n    0x9d6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95df, 0x003f, 0x92bb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x917b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95f9,\n    0x8ecc, 0x9d80, 0x003f, 0x9d7e, 0x003f, 0x003f, 0x9098, 0x003f,\n    0x003f, 0x003f, 0x8c9e, 0x003f, 0x003f, 0x003f, 0x9d78, 0x8fb7,\n    0x003f, 0x003f, 0x93e6, 0x9450, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9d76, 0x003f, 0x003f, 0x917c, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8ef6, 0x9d7b, 0x003f, 0x003f, 0x8fb6, 0x003f, 0x9d75, 0x9d7a,\n    0x003f, 0x003f, 0x9472, 0x003f, 0x003f, 0x003f, 0x9d74, 0x003f,\n    0x8c40, 0x003f, 0x003f, 0x8a7c, 0x003f, 0x003f, 0x003f, 0x9d7c,\n    0x97a9, 0x8dcc, 0x9254, 0x9d79, 0x003f, 0x90da, 0x003f, 0x8d54,\n    0x9084, 0x8986, 0x915b, 0x9d77, 0x8b64, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8c66, 0x003f, 0x92cd, 0x9d7d, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x917e, 0x003f, 0x003f, 0x9d81, 0x003f,\n    0x9d83, 0x003f, 0x003f, 0x91b5, 0x9d89, 0x003f, 0x9d84, 0x003f,\n    0x003f, 0x9d86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9560,\n    0x92f1, 0x003f, 0x9d87, 0x003f, 0x003f, 0x003f, 0x974b, 0x003f,\n    0x003f, 0x003f, 0x9767, 0x8ab7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x88ac, 0x003f, 0x9d85, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9d82, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8987, 0xedad, 0x9d88, 0x003f,\n    0x003f, 0x003f, 0x9768, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6400 .. 0x64ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91b9, 0x003f, 0x9d93,\n    0x003f, 0x003f, 0x003f, 0x9d8d, 0x003f, 0x003f, 0x9d8a, 0x9d91,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9d72, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d8e, 0x003f,\n    0x9d92, 0x003f, 0x003f, 0x003f, 0x94c0, 0x938b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9d8b, 0x003f, 0x9d8f, 0x003f,\n    0x003f, 0x003f, 0x8c67, 0x003f, 0x003f, 0x003f, 0x8def, 0x003f,\n    0x003f, 0x003f, 0x90db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d97, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9345, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d94,\n    0x003f, 0x9680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d95,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9d96, 0x003f,\n    0x96cc, 0x003f, 0x90a0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8c82, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9d9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8e54, 0x9d9a, 0x003f, 0x9d99, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9451, 0x003f, 0x003f, 0xedaf, 0x93b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9350, 0x9d9b, 0x003f, 0x003f,\n    0x003f, 0x9d9c, 0x003f, 0x958f, 0x003f, 0x9464, 0x8e42, 0x003f,\n    0x90ef, 0x003f, 0x966f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a68, 0x003f, 0x9da3, 0x9d9e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9769, 0x9da5, 0x003f, 0x003f, 0x9da1, 0x003f, 0x9da2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9180, 0xedb0, 0x003f,\n    0x003f, 0x003f, 0x9da0, 0x003f, 0x9d5e, 0x003f, 0x003f, 0x003f,\n    0x9da4, 0x003f, 0x9d9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9da9, 0x9daa, 0x9346, 0x9dac, 0x003f, 0x003f, 0x8e43, 0x9da7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8b5b, 0x003f, 0x003f, 0x9dad,\n    0x003f, 0x9da6, 0x9db1, 0x003f, 0x9db0, 0x003f, 0x9daf, 0x003f,\n    0x003f, 0x003f, 0x9db2, 0x003f, 0x003f, 0x9db4, 0x8fef, 0x003f,\n    /* 0x6500 .. 0x65ff */\n    0x9db3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9db7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9db5, 0x003f, 0x003f, 0x003f, 0x9db6, 0x9d90, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9db9, 0x9db8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9d98, 0x9dba, 0x9dae, 0x003f, 0x003f, 0x8e78,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9dbb, 0x9dbc, 0x9dbe, 0x9dbd,\n    0x9dbf, 0x89fc, 0x003f, 0x8d55, 0x003f, 0x003f, 0x95fa, 0x90ad,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccc, 0x003f, 0x003f,\n    0x9dc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dc4, 0xedb1, 0x9571,\n    0x003f, 0x8b7e, 0x003f, 0x003f, 0x003f, 0x9dc3, 0x9dc2, 0x9473,\n    0x9dc5, 0x8bb3, 0x003f, 0x003f, 0x003f, 0x9dc7, 0x9dc6, 0x003f,\n    0x003f, 0x003f, 0x8ab8, 0x8e55, 0x003f, 0x003f, 0x93d6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8c68, 0x003f, 0x003f, 0x003f,\n    0x9094, 0x003f, 0x9dc8, 0x003f, 0x90ae, 0x9347, 0x003f, 0x957e,\n    0x9dc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9dca, 0x9dcb, 0x003f, 0x003f, 0x003f, 0x95b6,\n    0x9b7c, 0x90c4, 0x003f, 0x003f, 0x956b, 0x003f, 0x8dd6, 0x003f,\n    0x94e3, 0x94c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x936c,\n    0x003f, 0x97bf, 0x003f, 0x9dcd, 0x8ece, 0x003f, 0x003f, 0x9dce,\n    0x003f, 0x88b4, 0x003f, 0x003f, 0x8bd2, 0x90cb, 0x003f, 0x9580,\n    0x003f, 0x003f, 0x003f, 0x9dcf, 0x8e61, 0x9266, 0x003f, 0x8e7a,\n    0x9056, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9dd0,\n    0x003f, 0x95fb, 0x003f, 0x003f, 0x8997, 0x8e7b, 0x003f, 0x003f,\n    0x003f, 0x9dd3, 0x003f, 0x9dd1, 0x9dd4, 0x97b7, 0x9dd2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x90f9, 0x9dd5, 0x003f, 0x003f, 0x91b0,\n    0x003f, 0x003f, 0x9dd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8af8,\n    0x003f, 0x9dd8, 0x003f, 0x9dd7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9dd9, 0x9dda, 0x8af9, 0x003f, 0x003f, 0x93fa, 0x9255, 0x8b8c,\n    0x8e7c, 0x9181, 0x003f, 0x003f, 0x8f7b, 0x88ae, 0x003f, 0x003f,\n    0x003f, 0x9ddb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x89a0, 0x9ddf, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6600 .. 0x66ff */\n    0xedb2, 0x003f, 0x8d56, 0x9dde, 0x003f, 0x003f, 0x8da9, 0x8fb8,\n    0x003f, 0xedb5, 0x9ddd, 0x003f, 0x8fb9, 0x003f, 0x96be, 0x8da8,\n    0x003f, 0x003f, 0x003f, 0x88d5, 0x90cc, 0xedb3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9de4, 0x003f, 0xedb7, 0x90af,\n    0x8966, 0x003f, 0x003f, 0x003f, 0xedb8, 0x8f74, 0x003f, 0x9686,\n    0x8df0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fba, 0xedb6, 0x90a5,\n    0x003f, 0xed47, 0x003f, 0x003f, 0x9de3, 0x9de1, 0x9de2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedb4, 0x928b, 0x003f, 0x003f, 0x9e45,\n    0x003f, 0x9de8, 0x8e9e, 0x8d57, 0x9de6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9de7, 0x003f, 0x9057, 0x003f, 0x003f, 0x003f, 0x9de5,\n    0x003f, 0x003f, 0x8e4e, 0x003f, 0x003f, 0x003f, 0x003f, 0xedba,\n    0x003f, 0xedbb, 0x003f, 0x003f, 0x003f, 0x9dea, 0x9de9, 0x9dee,\n    0x003f, 0x003f, 0x9def, 0x003f, 0x9deb, 0xedb9, 0x8a41, 0x9dec,\n    0x9ded, 0x94d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9581, 0x8c69,\n    0x9df0, 0x003f, 0x003f, 0xedbd, 0x90b0, 0x003f, 0x8fbb, 0x003f,\n    0x003f, 0x003f, 0x9271, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8bc5, 0x003f, 0x9df1, 0x9df5, 0x003f, 0x003f, 0x89c9,\n    0x9df2, 0x9df4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9df3, 0x003f,\n    0x003f, 0x8f8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x9267, 0x88c3,\n    0x9df6, 0xedbe, 0x003f, 0x003f, 0x003f, 0x9df7, 0x003f, 0x003f,\n    0xedbf, 0x003f, 0x92a8, 0x003f, 0x003f, 0x003f, 0x97ef, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8e62, 0x003f, 0x003f, 0x95e9, 0x003f,\n    0x003f, 0x003f, 0xedc0, 0x003f, 0x965c, 0x003f, 0x003f, 0x003f,\n    0x9e41, 0x9df9, 0x003f, 0x003f, 0x9dfc, 0x003f, 0x9dfb, 0xedc1,\n    0x003f, 0x9df8, 0x003f, 0x003f, 0x9e40, 0x003f, 0x003f, 0x93dc,\n    0x003f, 0x9dfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e42, 0x003f,\n    0x003f, 0x8f8c, 0x9e43, 0x003f, 0x976a, 0x9498, 0x003f, 0x003f,\n    0x9e44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e46, 0x003f,\n    0x003f, 0x9e47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9e48, 0x003f, 0x8bc8, 0x8967, 0x8d58, 0x9e49, 0x003f, 0x9e4a,\n    0x8f91, 0x9182, 0xedc2, 0xed4a, 0x99d6, 0x915d, 0x915c, 0x91d6,\n    /* 0x6700 .. 0x67ff */\n    0x8dc5, 0x003f, 0x003f, 0x98f0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c8e, 0x974c, 0x003f, 0x95fc, 0x003f, 0x959e, 0xedc3, 0x9e4b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8df1, 0x92bd, 0x9e4c, 0x984e,\n    0x003f, 0x003f, 0x003f, 0x965d, 0x003f, 0x92a9, 0x9e4d, 0x8afa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e4e, 0x9e4f,\n    0x96d8, 0x003f, 0x96a2, 0x9696, 0x967b, 0x8e44, 0x9e51, 0x003f,\n    0x003f, 0x8ee9, 0x003f, 0x003f, 0x9670, 0x003f, 0x9e53, 0x9e56,\n    0x9e55, 0x003f, 0x8af7, 0x003f, 0x003f, 0x8b80, 0x003f, 0x9e52,\n    0x003f, 0x9e54, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e57, 0x003f,\n    0x003f, 0x9099, 0x003f, 0x003f, 0x003f, 0x003f, 0x979b, 0x88c7,\n    0x8dde, 0x91ba, 0x003f, 0x8edb, 0x003f, 0x003f, 0x8ff1, 0x003f,\n    0x003f, 0x9e5a, 0x003f, 0x003f, 0x936d, 0x003f, 0x9e58, 0x91a9,\n    0x9e59, 0x8ff0, 0x96db, 0x9e5b, 0x9e5c, 0x9788, 0xedc5, 0x003f,\n    0x003f, 0x003f, 0x9e61, 0x003f, 0x003f, 0x8d59, 0x003f, 0x9474,\n    0x9e5e, 0x938c, 0x9ddc, 0x9de0, 0x003f, 0x8b6e, 0x003f, 0x9466,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9e60, 0x003f, 0x8fbc, 0x94c2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e66, 0x003f, 0x94f8,\n    0x003f, 0x9e5d, 0x003f, 0x9e63, 0x9e62, 0x003f, 0x003f, 0x003f,\n    0x90cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x968d, 0x003f, 0x97d1,\n    0x003f, 0x003f, 0x9687, 0x003f, 0x89ca, 0x8e7d, 0x003f, 0x003f,\n    0x9867, 0x9e65, 0x9095, 0x003f, 0x003f, 0x003f, 0x9e64, 0x003f,\n    0x003f, 0x9e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ccd,\n    0x003f, 0x003f, 0x003f, 0x9e6b, 0x9e69, 0x003f, 0x89cb, 0x9e67,\n    0x9e6d, 0x9e73, 0x003f, 0xedc6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedc8, 0x91c6, 0x003f, 0x003f, 0x95bf, 0x003f, 0x9e75, 0x003f,\n    0x003f, 0x003f, 0x9541, 0x003f, 0x003f, 0x003f, 0x9e74, 0x9490,\n    0x965e, 0x8ab9, 0x003f, 0x90f5, 0x8f5f, 0x003f, 0x003f, 0x003f,\n    0x92d1, 0x003f, 0x974d, 0x003f, 0x003f, 0x9e70, 0x9e6f, 0x003f,\n    0x003f, 0x003f, 0x9e71, 0x003f, 0x9e6e, 0x003f, 0x003f, 0x9e76,\n    0x003f, 0x9e6c, 0x003f, 0x003f, 0x9e6a, 0x003f, 0x9e72, 0x9e68,\n    0x003f, 0x928c, 0x003f, 0x96f6, 0x8ec4, 0x8df2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8db8, 0x003f, 0x003f, 0x968f, 0x8a60,\n    /* 0x6800 .. 0x68ff */\n    0x003f, 0xedc9, 0x92cc, 0x93c8, 0x8968, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x90f0, 0x003f, 0x003f, 0x90b2, 0x8c49,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e78, 0x003f,\n    0x003f, 0x8d5a, 0x8a9c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9e7a, 0x8a94, 0x9e81, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9e7d, 0x003f, 0x90f1, 0x003f, 0x003f, 0x003f,\n    0x8a6a, 0x8daa, 0x003f, 0x003f, 0x8a69, 0x8dcd, 0x003f, 0x003f,\n    0x9e7b, 0x8c85, 0x8c6a, 0x938d, 0xedca, 0x003f, 0x9e79, 0x003f,\n    0x88c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e7c, 0x9e7e, 0x003f,\n    0x8bcb, 0x8c4b, 0xedc7, 0x8aba, 0x8b6a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9e82, 0x003f, 0x003f, 0x8df7, 0x9691, 0x003f, 0x8e56,\n    0x003f, 0x003f, 0x003f, 0x9e83, 0x003f, 0x003f, 0x003f, 0x954f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9e8f, 0x003f, 0x89b1, 0x9e84,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e95, 0x9e85,\n    0x003f, 0x97c0, 0x003f, 0x9e8c, 0x003f, 0x947e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e94, 0x003f, 0x9e87,\n    0x003f, 0x003f, 0x003f, 0x88b2, 0x9e89, 0x003f, 0x003f, 0x8d5b,\n    0x003f, 0x003f, 0x003f, 0x9e8b, 0x003f, 0x9e8a, 0x003f, 0x9e86,\n    0x9e91, 0x003f, 0x8fbd, 0x003f, 0x003f, 0x003f, 0x9aeb, 0x8ce6,\n    0x979c, 0x003f, 0x003f, 0x003f, 0x003f, 0x9e88, 0x003f, 0x92f2,\n    0x8a42, 0x8dab, 0x003f, 0x9e80, 0x003f, 0x9e90, 0x8a81, 0x003f,\n    0x003f, 0x9e8e, 0x9e92, 0x003f, 0x938e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8afc, 0x003f, 0x9eb0, 0x003f,\n    0xed48, 0x96c7, 0x9e97, 0x8afb, 0x003f, 0x9e9e, 0x003f, 0xedcb,\n    0x003f, 0x003f, 0x965f, 0x003f, 0x9e9f, 0x9ea1, 0x003f, 0x9ea5,\n    0x9e99, 0x003f, 0x9249, 0x003f, 0x003f, 0x003f, 0x003f, 0x938f,\n    0x9ea9, 0x9e9c, 0x003f, 0x9ea6, 0x003f, 0x003f, 0x003f, 0x9ea0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9058, 0x9eaa,\n    0x003f, 0x003f, 0x90b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9ea8, 0x8abb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6900 .. 0x69ff */\n    0x986f, 0x9e96, 0x003f, 0x003f, 0x9ea4, 0x88d6, 0x003f, 0x003f,\n    0x9e98, 0x003f, 0x003f, 0x96b8, 0x9e9d, 0x9041, 0x92c5, 0x9e93,\n    0x003f, 0x003f, 0x9ea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x909a, 0x9ead, 0x8a91, 0x8c9f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9eaf, 0x9e9a, 0x9eae, 0x003f, 0x9ea7, 0x9e9b, 0x003f,\n    0x9eab, 0x003f, 0x9eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ebd, 0x003f, 0x003f, 0x003f, 0x93cc, 0x003f, 0x9ea2, 0x003f,\n    0x003f, 0x9eb9, 0x003f, 0x003f, 0x003f, 0x9ebb, 0x003f, 0x92d6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x976b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9596, 0x9eb6, 0x91c8, 0x003f, 0x003f,\n    0x003f, 0x9ebc, 0x915e, 0x003f, 0x9eb3, 0x9ec0, 0x9ebf, 0x003f,\n    0x93ed, 0x9ebe, 0x93e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedcd, 0x003f, 0x9ec2, 0x9eb5, 0x003f, 0x8bc6, 0x9eb8, 0x8f7c,\n    0x003f, 0x003f, 0x003f, 0x9480, 0x9eba, 0x8bc9, 0x003f, 0x9eb2,\n    0x9eb4, 0x9eb1, 0x003f, 0x003f, 0x984f, 0x8a79, 0x9eb7, 0x003f,\n    0x003f, 0x9ec1, 0x8a54, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8de5, 0x003f, 0x003f, 0x003f, 0x897c, 0x003f,\n    0x003f, 0x9ed2, 0x003f, 0x003f, 0x9850, 0x9ed5, 0x003f, 0x003f,\n    0xedcf, 0x003f, 0x003f, 0x9059, 0x9ed4, 0x003f, 0x003f, 0x003f,\n    0x9ed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ed0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ec4, 0x003f,\n    0x003f, 0x9ee1, 0x9ec3, 0x003f, 0x9ed6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9ece, 0x003f, 0x003f, 0x9ec9, 0x9ec6,\n    0x003f, 0x9ec7, 0x003f, 0x9ecf, 0x003f, 0x003f, 0x003f, 0xeaa0,\n    0x003f, 0x003f, 0x9ecc, 0x8d5c, 0x92c6, 0x9184, 0x9eca, 0x003f,\n    0x9ec5, 0x003f, 0x003f, 0x9ec8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x976c, 0x968a, 0x003f, 0x003f, 0x003f, 0x9ecd, 0x9ed7, 0x003f,\n    0x003f, 0x003f, 0xedd0, 0x003f, 0x003f, 0x003f, 0x003f, 0x9edf,\n    0x9ed8, 0x003f, 0x003f, 0x9ee5, 0x003f, 0x9ee3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9ede, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9edd, 0x003f, 0x92ce, 0x003f, 0x9185, 0x003f, 0x9edb,\n    /* 0x6a00 .. 0x6aff */\n    0x003f, 0x003f, 0x9ed9, 0x003f, 0x003f, 0x9ee0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9ee6, 0x94f3, 0x9eec, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9ee7, 0x9eea, 0x9ee4, 0x003f, 0x003f, 0x9294,\n    0x003f, 0x9557, 0x003f, 0x9eda, 0x003f, 0x003f, 0x9ee2, 0x8fbe,\n    0x003f, 0x96cd, 0x9ef6, 0x9ee9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8ca0, 0x89a1, 0x8a7e, 0x003f, 0x003f, 0x9ed1, 0x003f,\n    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fbf, 0x9eee, 0x003f,\n    0x9ef5, 0x8ef7, 0x8a92, 0x003f, 0x003f, 0x924d, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9eeb, 0x003f, 0xedd3, 0x9ef0,\n    0x9ef4, 0x003f, 0x003f, 0x8bb4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b6b, 0x9ef2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b40,\n    0x003f, 0x93c9, 0x9ef1, 0x003f, 0x003f, 0x003f, 0x9ef3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedd2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9eed, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9eef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd5, 0x8a80,\n    0x9268, 0x003f, 0x003f, 0x003f, 0x9efa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ef8, 0x8ce7, 0x003f,\n    0x9ef7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f40,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9e77, 0x003f, 0x003f, 0x003f,\n    0x9ef9, 0x003f, 0x9efb, 0x9efc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9f4b, 0x003f, 0x9f47, 0x003f, 0x9e8d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f46, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9f45, 0x003f, 0x003f, 0x9f42, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9ee8, 0x9f44, 0x9f43, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9f49, 0x003f, 0x9845, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9f4c, 0x8bf9, 0x003f, 0x003f, 0x9f48, 0x9f4a,\n    0x003f, 0x003f, 0xedd6, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,\n    0x94a5, 0x003f, 0x9f4d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9f51, 0x9f4e, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6b00 .. 0x6bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9793, 0x9f4f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9edc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9f52, 0x003f, 0x003f, 0x003f, 0x9f53, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8954, 0x003f, 0x9f55,\n    0x8c87, 0x8e9f, 0x003f, 0x8bd3, 0x003f, 0x003f, 0x003f, 0x89a2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x977e, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f57,\n    0x9f56, 0x9f59, 0x8b5c, 0x003f, 0x003f, 0x8bd4, 0x8abc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f5c, 0x003f, 0x003f, 0x003f, 0x9f5b,\n    0x003f, 0x9f5d, 0x003f, 0x003f, 0x89cc, 0x003f, 0x9256, 0x003f,\n    0x9f5e, 0x003f, 0x003f, 0x8abd, 0x9f60, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9f5f, 0x003f, 0x9f61, 0x003f, 0x003f, 0x003f, 0x9f62,\n    0x003f, 0x9f63, 0x8e7e, 0x90b3, 0x8d9f, 0x003f, 0x9590, 0x003f,\n    0x003f, 0x95e0, 0x9863, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e95,\n    0x003f, 0x003f, 0x003f, 0x8dce, 0x97f0, 0x003f, 0x003f, 0x003f,\n    0x9f64, 0x9f65, 0x003f, 0x8e80, 0x003f, 0x003f, 0x003f, 0x9f66,\n    0x9f67, 0x003f, 0x003f, 0x9f69, 0x9f68, 0x003f, 0x9677, 0x003f,\n    0x003f, 0x8f7d, 0x8eea, 0x8e63, 0x003f, 0x9f6a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6c, 0x9042, 0x003f,\n    0x9f6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f6d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9f6e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9f6f, 0x9f70, 0x003f, 0x003f, 0x003f, 0x9f71,\n    0x003f, 0x9f73, 0x9f72, 0x9f74, 0x89a3, 0x9269, 0x003f, 0x9f75,\n    0x003f, 0x003f, 0x8e45, 0x8a6b, 0x9f76, 0x003f, 0x003f, 0x9361,\n    0x9aca, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b42, 0x9f77, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f78, 0x003f, 0x95ea, 0x9688, 0x003f,\n    0x003f, 0x003f, 0x93c5, 0x9f79, 0x94e4, 0x003f, 0xedd8, 0x003f,\n    0x94f9, 0x003f, 0x003f, 0x96d1, 0x003f, 0x003f, 0x003f, 0x9f7a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f7c, 0x9f7b, 0x003f, 0x003f, 0x9f7e,\n    0x003f, 0x003f, 0x003f, 0x9f7d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6c00 .. 0x6cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9f81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e81,\n    0x003f, 0x96af, 0x003f, 0x9f82, 0x9f83, 0x003f, 0x003f, 0x8b43,\n    0x003f, 0x003f, 0x003f, 0x9f84, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f86, 0x9f85, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9085, 0x003f, 0x003f, 0x9558,\n    0x8969, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c3, 0xedd9,\n    0x92f3, 0x8f60, 0x8b81, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94c4, 0x003f,\n    0x8eac, 0x003f, 0x003f, 0x003f, 0x003f, 0x9f88, 0x003f, 0x8abe,\n    0x003f, 0x003f, 0x8998, 0x003f, 0xedda, 0x93f0, 0x9f87, 0x8d5d,\n    0x9272, 0x003f, 0x9f89, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9f91, 0x003f, 0x9f8a, 0x003f, 0x003f, 0x003f, 0x003f, 0xeddc,\n    0x91bf, 0x003f, 0x8b82, 0x9f92, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8c88, 0x003f, 0x003f, 0x8b44, 0x9f90, 0x003f,\n    0x003f, 0x9f8e, 0x9f8b, 0x9780, 0x003f, 0x003f, 0xeddb, 0x003f,\n    0x92be, 0x003f, 0x003f, 0x003f, 0x93d7, 0x9f8c, 0x003f, 0x003f,\n    0x9f94, 0x003f, 0x9f93, 0x8c42, 0x003f, 0x003f, 0x89ab, 0x003f,\n    0x003f, 0x8db9, 0x9f8d, 0x9f8f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9676, 0x91f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9697, 0x003f, 0x003f, 0x9f9c, 0x003f,\n    0x003f, 0x9f9d, 0x003f, 0x89cd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x95a6, 0x96fb, 0x9f9f, 0x8ea1, 0x8fc0, 0x9f98, 0x9f9e, 0x8988,\n    0x003f, 0x8bb5, 0x003f, 0x003f, 0x9f95, 0x9f9a, 0x003f, 0x003f,\n    0x003f, 0x90f2, 0x9491, 0x003f, 0x94e5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9f97, 0x003f, 0x9640, 0x003f, 0x9f99,\n    0x003f, 0x9fa2, 0xeddd, 0x9fa0, 0x003f, 0x9f9b, 0x003f, 0x003f,\n    0x003f, 0x9641, 0x9467, 0x8b83, 0x003f, 0x9344, 0x003f, 0x003f,\n    0x928d, 0x003f, 0x9fa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fa1,\n    0x91d7, 0x9f96, 0x003f, 0x896a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6d00 .. 0x6dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xedde, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x976d, 0x9fae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9fad, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f4,\n    0x003f, 0x9faa, 0x003f, 0x978c, 0x003f, 0x003f, 0x93b4, 0x9fa4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92c3, 0x003f, 0x003f,\n    0x003f, 0x896b, 0x8d5e, 0x9fa7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8f46, 0x9fac, 0x003f, 0x9fab, 0x9fa6, 0x003f,\n    0x9fa9, 0x003f, 0x003f, 0x8a88, 0x003f, 0x9fa8, 0x9468, 0x003f,\n    0x003f, 0x97ac, 0x003f, 0x003f, 0x8ff2, 0x90f3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9fb4, 0x9fb2, 0x003f, 0x956c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9faf, 0x9fb1, 0x003f, 0x8959, 0x003f,\n    0x003f, 0x8d5f, 0x9851, 0x003f, 0x8a5c, 0x003f, 0x9582, 0xede0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9781, 0x003f, 0x003f, 0x8a43,\n    0x905a, 0x9fb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fb8, 0x003f, 0xeddf,\n    0x8fc1, 0x003f, 0x003f, 0x003f, 0x974f, 0x003f, 0x9fb5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9fb0, 0x003f, 0x9fb6, 0xede1, 0x003f,\n    0x003f, 0x97dc, 0x003f, 0x9393, 0x93c0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xede2, 0x003f, 0x003f, 0x8a55,\n    0x003f, 0x003f, 0x8974, 0x003f, 0x003f, 0x9fbc, 0x003f, 0x003f,\n    0x9fbf, 0x003f, 0x003f, 0x003f, 0x97c1, 0x003f, 0x003f, 0x003f,\n    0x9784, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc6, 0x9fc0, 0x9fbd,\n    0x003f, 0x003f, 0x003f, 0x97d2, 0x9fc3, 0x003f, 0x003f, 0xede3,\n    0x003f, 0x8f69, 0x9fc5, 0x003f, 0x003f, 0x9fca, 0x003f, 0x003f,\n    0x9391, 0x9fc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fc2, 0x003f,\n    0x003f, 0x9257, 0x003f, 0x003f, 0x9fc9, 0x003f, 0x9fbe, 0x003f,\n    0x9fc4, 0x003f, 0x9fcb, 0x88fa, 0x9fc1, 0x003f, 0x9fcc, 0x003f,\n    0x003f, 0x905b, 0xede5, 0x8f7e, 0x003f, 0x95a3, 0x003f, 0x8dac,\n    0xede4, 0x9fb9, 0x9fc7, 0x9359, 0xede6, 0x003f, 0x003f, 0x003f,\n    /* 0x6e00 .. 0x6eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90b4, 0x003f, 0x8a89,\n    0x8dcf, 0x8fc2, 0x9fbb, 0x8f61, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8c6b, 0x003f, 0x9fba, 0x003f, 0x003f,\n    0x003f, 0x9fd0, 0x8f8d, 0x8cb8, 0x003f, 0x9fdf, 0x003f, 0x9fd9,\n    0x8b94, 0x936e, 0x003f, 0x9fd4, 0x9fdd, 0x88ad, 0x8951, 0xede9,\n    0x003f, 0x89b7, 0x003f, 0x9fd6, 0x91aa, 0x9fcd, 0x9fcf, 0x8d60,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9fe0, 0xede7, 0x9fdb, 0x003f, 0xedea, 0x003f, 0x9fd3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9fda, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x96a9, 0x003f, 0x003f, 0x9fd8, 0x9fdc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cce, 0x003f,\n    0x8fc3, 0x003f, 0x003f, 0x9258, 0xede8, 0x003f, 0x003f, 0x9fd2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x974e,\n    0x003f, 0x003f, 0x003f, 0x9fd5, 0x003f, 0x003f, 0x9fce, 0x9392,\n    0x003f, 0x003f, 0x9fd1, 0x003f, 0x003f, 0x003f, 0x9fd7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9870, 0x8ebc,\n    0x969e, 0x003f, 0x9fe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x94ac, 0x003f, 0x003f, 0x9fed,\n    0x8cb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f80, 0x003f,\n    0x9fe3, 0x003f, 0x003f, 0x003f, 0x97ad, 0x8d61, 0x003f, 0x9ff0,\n    0x003f, 0x003f, 0x88ec, 0x003f, 0x003f, 0x9fee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9fe2, 0x003f, 0x003f, 0x003f, 0x003f, 0x9fe8,\n    0x003f, 0x003f, 0x9fea, 0x003f, 0x003f, 0x003f, 0x976e, 0x9fe5,\n    0x003f, 0x003f, 0x934d, 0x003f, 0x003f, 0x9fe7, 0x003f, 0xedeb,\n    0x003f, 0x003f, 0x9fef, 0x003f, 0x9fe9, 0x96c5, 0x003f, 0x003f,\n    0x003f, 0x9fe4, 0x003f, 0x8ea0, 0x9ffc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a8a, 0x003f, 0x9fe6, 0x9feb, 0x9fec, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91ea, 0x91d8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff4, 0x003f, 0x003f, 0x9ffa,\n    0x003f, 0x003f, 0x9ff8, 0x003f, 0x9348, 0x003f, 0x003f, 0xe042,\n    0x9ff5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9ff6, 0x9fde,\n    /* 0x6f00 .. 0x6fff */\n    0x003f, 0x8b99, 0x9559, 0x003f, 0x003f, 0x003f, 0x8ebd, 0x003f,\n    0x003f, 0x8d97, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9852,\n    0x003f, 0x9ff2, 0x003f, 0xe041, 0x8989, 0x9186, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9499, 0x003f, 0x8abf, 0x97f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x969f, 0x92d0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9ff9, 0x9ffb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9151, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe040, 0x9ff7,\n    0x003f, 0x9ff1, 0x003f, 0x003f, 0x003f, 0x8ac1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8c89, 0x003f, 0x003f, 0x003f,\n    0xe04e, 0x003f, 0x003f, 0xe049, 0x90f6, 0x003f, 0x003f, 0x8a83,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8f81, 0x003f, 0xe052, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04b, 0x92aa, 0xe048,\n    0x92d7, 0x003f, 0x003f, 0x003f, 0xe06b, 0x003f, 0x003f, 0x003f,\n    0xe045, 0x003f, 0xe044, 0x003f, 0xe04d, 0x003f, 0x003f, 0x003f,\n    0xe047, 0xe046, 0xe04c, 0x003f, 0x909f, 0x003f, 0xe043, 0x003f,\n    0xedec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe04f, 0x003f,\n    0x003f, 0xe050, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe055, 0x003f, 0xe054, 0xe056, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe059, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9362, 0x003f, 0xe053, 0x003f, 0xeded, 0x003f, 0x003f,\n    0x003f, 0xe057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c83, 0x91f7, 0xe051, 0x945a, 0x003f, 0x003f, 0xe058, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe05d, 0xe05b, 0x003f, 0x003f,\n    0xe05e, 0x003f, 0x003f, 0xe061, 0x003f, 0x003f, 0x003f, 0xe05a,\n    0x8d8a, 0x9447, 0x003f, 0x003f, 0x9fb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9794, 0xe05c, 0x003f, 0xe060, 0x91f3,\n    0x003f, 0xe05f, 0x003f, 0xe04a, 0x003f, 0xedee, 0xe889, 0x003f,\n    0x003f, 0x003f, 0xe064, 0x003f, 0x003f, 0x003f, 0xe068, 0x003f,\n    /* 0x7000 .. 0x70ff */\n    0x003f, 0xe066, 0x003f, 0x003f, 0x003f, 0xedef, 0x003f, 0xedf0,\n    0x003f, 0xe062, 0x003f, 0xe063, 0x003f, 0x003f, 0x003f, 0xe067,\n    0x003f, 0xe065, 0x003f, 0x003f, 0x003f, 0x956d, 0x003f, 0x003f,\n    0xe06d, 0x003f, 0xe06a, 0xe069, 0x003f, 0xe06c, 0x93d2, 0xe06e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9295, 0x91eb,\n    0xedf1, 0x003f, 0x003f, 0x003f, 0x90a3, 0x003f, 0x003f, 0x003f,\n    0xe06f, 0x003f, 0xe071, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe070, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9ff3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe072, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x93e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x89ce, 0x003f, 0x003f, 0x003f, 0x9394,\n    0x8a44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b84, 0x003f, 0x003f, 0x003f, 0x8edc, 0x8dd0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf2, 0x003f, 0x003f,\n    0x003f, 0x9846, 0x9086, 0x003f, 0x003f, 0x003f, 0x898a, 0x003f,\n    0x003f, 0x003f, 0xe075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe074, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedf3, 0xe078, 0x9259, 0xe07b, 0xe076,\n    0x003f, 0x003f, 0x003f, 0xe07a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe079, 0x935f, 0x88d7, 0xed46, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x97f3, 0x003f, 0x003f, 0xe07d, 0x003f, 0x003f, 0x003f, 0x8947,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe080, 0x003f, 0x003f, 0x003f, 0xe07e, 0x003f, 0xe07c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe077, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9642, 0x003f, 0x003f, 0x003f, 0xe082, 0x003f, 0x003f,\n    /* 0x7100 .. 0x71ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xedf5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe081, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x898b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe084, 0x95b0, 0x003f, 0xe083, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x96b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9152, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8fc4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf7, 0xedf8,\n    0x003f, 0x97f9, 0x003f, 0x003f, 0xe08a, 0x003f, 0x90f7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe086, 0xe08b, 0x003f,\n    0x003f, 0x898c, 0x003f, 0x003f, 0xedf6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe089, 0x003f, 0x9481, 0xe085, 0xe088, 0x8fc6,\n    0x003f, 0x94cf, 0x003f, 0x003f, 0xe08c, 0x003f, 0x8ecf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90f8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe08f, 0x003f, 0x003f, 0x003f,\n    0xe087, 0x003f, 0x8c46, 0x003f, 0x003f, 0x003f, 0x003f, 0xe08d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x976f, 0xe090, 0x003f, 0x003f,\n    0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f6e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe091, 0x003f, 0x003f, 0x003f, 0xe092, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x944d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe094, 0x003f, 0x003f, 0x003f, 0x003f, 0xe095, 0x003f,\n    0x003f, 0xedfa, 0x003f, 0x9452, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9395, 0xe097, 0x003f, 0x003f, 0x003f, 0x003f, 0xe099, 0x003f,\n    0x97d3, 0x003f, 0xe096, 0x003f, 0xe098, 0x898d, 0x003f, 0xe093,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9a7a,\n    0xe09a, 0x003f, 0x003f, 0x003f, 0x003f, 0x9187, 0x8e57, 0xe09c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe09b, 0x9043, 0x99d7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe09d, 0x003f, 0x003f,\n    0x003f, 0xe09f, 0x003f, 0xe08e, 0xe09e, 0x003f, 0xedfb, 0xe0a0,\n    /* 0x7200 .. 0x72ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x949a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a1, 0x003f, 0x003f,\n    0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0a3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0a4, 0x003f, 0x92dc, 0x003f, 0xe0a6, 0xe0a5, 0x003f, 0x003f,\n    0xe0a7, 0x003f, 0xe0a8, 0x003f, 0x003f, 0x8edd, 0x9583, 0x003f,\n    0x003f, 0x003f, 0x96ea, 0xe0a9, 0xe0aa, 0x9175, 0x8ea2, 0xe0ab,\n    0xe0ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ad, 0x95d0,\n    0x94c5, 0x003f, 0x003f, 0xe0ae, 0x9476, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x92ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0af, 0x89e5, 0x003f, 0x8b8d, 0x003f, 0x96c4, 0x003f, 0x96b4,\n    0x003f, 0x89b2, 0x9853, 0x003f, 0x003f, 0x003f, 0x003f, 0x9671,\n    0x003f, 0x95a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x90b5, 0x003f, 0xe0b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x93c1, 0x003f, 0x003f, 0x003f, 0x8ca1, 0xe0b1, 0x003f,\n    0x8dd2, 0xe0b3, 0xe0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0xe0b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b5d, 0x003f, 0xe0b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0b8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8ca2, 0x003f, 0x003f, 0x94c6,\n    0x003f, 0xedfc, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x8ff3, 0x003f,\n    0x003f, 0xe0b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xee40, 0x003f,\n    0x003f, 0x003f, 0x8bb6, 0xe0bb, 0xe0bd, 0x003f, 0xe0bc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0be, 0x003f,\n    0x8ccf, 0x003f, 0xe0bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be7,\n    0x003f, 0x915f, 0x003f, 0x8d9d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0c1, 0xe0c2, 0xe0c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8eeb, 0x003f, 0x003f, 0x93c6, 0x8bb7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c4,\n    0x924b, 0xe0c3, 0x003f, 0x003f, 0x9854, 0x9482, 0x003f, 0x003f,\n    /* 0x7300 .. 0x73ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c9, 0xe0c6,\n    0x003f, 0x003f, 0x003f, 0x96d2, 0xe0c8, 0xe0ca, 0x003f, 0x97c2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xee41, 0xe0ce, 0x003f, 0x003f,\n    0x003f, 0xe0cd, 0x9296, 0x944c, 0x003f, 0x003f, 0x8ca3, 0xe0cc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0cb, 0x003f, 0x9750, 0x9751,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0cf, 0x898e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8d96, 0x8e82, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d0, 0xe0d1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8f62, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0d5, 0x003f, 0xe0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0d6, 0x003f, 0x8a6c, 0x003f, 0x003f, 0xe0d8, 0x003f, 0xee43,\n    0xe0d7, 0x003f, 0xe0da, 0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8cba, 0x003f, 0x003f, 0x97a6,\n    0x003f, 0x8bca, 0x003f, 0x89a4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8be8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8adf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x97e6, 0xe0dc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0de, 0x003f, 0xee44, 0x003f, 0x003f,\n    0xe0df, 0x003f, 0x89cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0db, 0xee45, 0x8e58, 0x003f, 0x003f, 0x92bf, 0xe0dd, 0x003f,\n    0x003f, 0x003f, 0xee48, 0x003f, 0x003f, 0x003f, 0xee46, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e2, 0x003f,\n    0x8eec, 0x003f, 0x003f, 0xee47, 0x003f, 0xe0e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8c5d, 0x003f, 0x003f, 0x94c7, 0xe0e1, 0x003f,\n    0x003f, 0xe0fc, 0x003f, 0x003f, 0x003f, 0xee4a, 0x003f, 0x003f,\n    0xe0e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cbb, 0x003f,\n    /* 0x7400 .. 0x74ff */\n    0x003f, 0x003f, 0x003f, 0x8b85, 0x003f, 0xe0e4, 0x979d, 0xee49,\n    0x003f, 0x97ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x91f4, 0x003f, 0x003f, 0xe0e6, 0xee4b, 0x003f,\n    0x003f, 0xee4d, 0xee4c, 0x003f, 0x003f, 0x003f, 0xee4e, 0x003f,\n    0x003f, 0x003f, 0xe0e8, 0x97d4, 0x8bd5, 0x94fa, 0x9469, 0x003f,\n    0x003f, 0x003f, 0xe0e9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0eb,\n    0x003f, 0xe0ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ea, 0x003f, 0x003f,\n    0x003f, 0xe0ed, 0x8ce8, 0x896c, 0xe0ef, 0x003f, 0x9090, 0xe0ec,\n    0x97da, 0x003f, 0xee4f, 0xe0f2, 0xeaa2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe0f0, 0xe0f3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,\n    0xe0f1, 0x003f, 0x003f, 0x8dba, 0x003f, 0x003f, 0xe0f4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x979e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xee50, 0x003f, 0xe0f6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f7, 0xee51,\n    0x003f, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8ac2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ea3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0fa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x895a, 0x003f, 0x003f, 0x003f,\n    0xe140, 0x003f, 0x955a, 0xe141, 0x003f, 0x003f, 0x8aa2, 0xe142,\n    0x003f, 0xe143, 0x003f, 0x003f, 0x003f, 0x003f, 0xe144, 0x003f,\n    0xe146, 0xe147, 0xe145, 0x003f, 0x003f, 0x003f, 0x9572, 0xe149,\n    0xe148, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7500 .. 0x75ff */\n    0x003f, 0xee52, 0x003f, 0xe14b, 0xe14a, 0xe14c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe14d, 0xe14f, 0xe14e, 0x003f,\n    0x003f, 0x8d99, 0x003f, 0xe151, 0x003f, 0xe150, 0x003f, 0x003f,\n    0x8ac3, 0x003f, 0x9072, 0x003f, 0x935b, 0x003f, 0xe152, 0x90b6,\n    0x003f, 0x003f, 0x003f, 0x8e59, 0x003f, 0x8999, 0xe153, 0x003f,\n    0x9770, 0x003f, 0x003f, 0x95e1, 0xe154, 0x003f, 0x003f, 0xed8c,\n    0x9363, 0x9752, 0x8d62, 0x905c, 0x003f, 0x003f, 0x003f, 0x926a,\n    0x99b2, 0x003f, 0x92ac, 0x89e6, 0xe155, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe156, 0x003f, 0xe15b, 0x003f,\n    0x003f, 0xe159, 0xe158, 0x9dc0, 0x8a45, 0xe157, 0x003f, 0x88d8,\n    0x003f, 0x94a8, 0x003f, 0x003f, 0x94c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x97af, 0xe15c, 0xe15a, 0x927b, 0x90a4, 0x003f, 0x003f,\n    0x94a9, 0x003f, 0x954c, 0x003f, 0xe15e, 0x97aa, 0x8c6c, 0xe15f,\n    0x003f, 0xe15d, 0x94d4, 0xe160, 0x003f, 0xe161, 0x003f, 0xee53,\n    0x88d9, 0x003f, 0x003f, 0x8ff4, 0xe166, 0x003f, 0xe163, 0x93eb,\n    0xe162, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b45,\n    0x003f, 0x003f, 0xe169, 0x003f, 0x003f, 0x003f, 0xe164, 0xe165,\n    0x003f, 0xe168, 0xe167, 0x9544, 0x003f, 0x003f, 0x9161, 0x9160,\n    0x003f, 0x8b5e, 0x003f, 0x003f, 0xe16a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe16b, 0x003f, 0x003f, 0xe16c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe16e, 0x003f, 0xe16d, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8975, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe176, 0x94e6, 0xe170, 0x003f, 0xe172, 0x003f, 0x003f,\n    0xe174, 0x905d, 0x003f, 0x003f, 0xe175, 0xe173, 0x8ebe, 0x003f,\n    0x003f, 0x003f, 0xe16f, 0xe171, 0x003f, 0x9561, 0x003f, 0x8fc7,\n    0x003f, 0x003f, 0xe178, 0x003f, 0x003f, 0xe177, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe179, 0x003f, 0x8ea4, 0x8dad, 0x003f, 0x003f,\n    0x9397, 0xe17a, 0x003f, 0x92c9, 0x003f, 0x003f, 0xe17c, 0x003f,\n    0x003f, 0x003f, 0x979f, 0xe17b, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9189, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe182, 0x003f, 0xe184, 0xe185, 0x9273, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe183, 0x003f, 0xe180, 0x003f, 0xe17d, 0xe17e,\n    /* 0x7600 .. 0x76ff */\n    0x003f, 0xe181, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe188, 0x003f, 0xe186, 0x003f, 0xe187, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe189,\n    0xe18b, 0xe18c, 0xe18d, 0x003f, 0xe18e, 0x003f, 0x003f, 0xe18a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe190, 0x003f, 0x003f, 0x003f, 0xe18f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe191, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x97c3, 0x003f, 0x003f, 0x003f, 0xe194, 0xe192,\n    0xe193, 0x003f, 0x003f, 0x003f, 0x8ae0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x96fc, 0x003f, 0x003f, 0x003f, 0x95c8, 0x003f,\n    0xe196, 0x003f, 0x003f, 0x003f, 0xe195, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe197, 0xe198, 0x003f, 0x003f, 0x003f, 0x003f, 0xe19c,\n    0xe199, 0xe19a, 0xe19b, 0x003f, 0xe19d, 0x003f, 0x003f, 0x003f,\n    0xe19e, 0x003f, 0xe19f, 0x003f, 0x003f, 0x003f, 0xe1a0, 0x003f,\n    0xe1a1, 0x003f, 0x94ad, 0x936f, 0xe1a2, 0x9492, 0x9553, 0x003f,\n    0xe1a3, 0x003f, 0xee54, 0xe1a4, 0x9349, 0x003f, 0x8a46, 0x8d63,\n    0xe1a5, 0x003f, 0x003f, 0xe1a6, 0x003f, 0x003f, 0xe1a7, 0x003f,\n    0x8e48, 0x003f, 0x003f, 0xe1a9, 0x003f, 0x003f, 0xe1a8, 0x003f,\n    0x003f, 0xe1aa, 0xe1ab, 0xee57, 0xee55, 0x003f, 0xee56, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee58, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x94e7, 0x003f,\n    0xe1ac, 0x003f, 0x003f, 0x003f, 0xe1ad, 0x003f, 0x003f, 0xea89,\n    0xe1ae, 0xe1af, 0xe1b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8e4d,\n    0x003f, 0x003f, 0xe1b1, 0x9475, 0x003f, 0x003f, 0x967e, 0x003f,\n    0x896d, 0x003f, 0x8976, 0x003f, 0x003f, 0xe1b2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0xe1b3, 0x9390,\n    0x003f, 0x003f, 0x003f, 0x90b7, 0x9f58, 0x003f, 0xe1b5, 0x96bf,\n    0x003f, 0xe1b6, 0x003f, 0x8ac4, 0x94d5, 0xe1b7, 0x003f, 0xe1b8,\n    0x003f, 0x003f, 0xe1b9, 0x003f, 0x003f, 0x003f, 0x96da, 0x003f,\n    0x003f, 0x003f, 0x96d3, 0x003f, 0x92bc, 0x003f, 0x003f, 0x003f,\n    0x918a, 0x003f, 0x003f, 0xe1bb, 0x003f, 0x003f, 0x8f82, 0x003f,\n    /* 0x7700 .. 0x77ff */\n    0x003f, 0x8fc8, 0x003f, 0x003f, 0xe1be, 0x003f, 0x003f, 0xe1bd,\n    0xe1bc, 0x94fb, 0x003f, 0x8ac5, 0x8ca7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1c4, 0x003f, 0x003f, 0xe1c1, 0x905e,\n    0x96b0, 0x003f, 0x003f, 0x003f, 0xe1c0, 0xe1c2, 0xe1c3, 0x003f,\n    0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1c5,\n    0xe1c6, 0x003f, 0x92ad, 0x003f, 0x8ae1, 0x003f, 0x003f, 0x003f,\n    0x9285, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5a, 0xe1c7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1c8, 0xe1cb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9087, 0x003f, 0x93c2, 0x003f, 0xe1cc, 0x9672, 0x003f,\n    0xe1c9, 0x003f, 0x003f, 0xe1ca, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ce, 0xe1cd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1d1, 0x003f, 0x003f, 0xe1d0, 0x003f,\n    0x003f, 0xe1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d4, 0x003f,\n    0xe1d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8f75, 0x97c4, 0x003f, 0x003f,\n    0xe1d5, 0x003f, 0x003f, 0x93b5, 0x003f, 0x003f, 0xe1d6, 0x003f,\n    0x003f, 0xe1d7, 0x003f, 0xe1db, 0xe1d9, 0xe1da, 0x003f, 0xe1d8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de,\n    0x003f, 0x003f, 0xe1df, 0x96b5, 0xe1e0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x96ee, 0xe1e1, 0x003f, 0x926d, 0x003f, 0x948a,\n    0x003f, 0x8be9, 0x003f, 0x003f, 0x003f, 0x925a, 0xe1e2, 0x8bb8,\n    0x003f, 0x003f, 0x003f, 0x90ce, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e3, 0x003f, 0x003f, 0x003f,\n    /* 0x7800 .. 0x78ff */\n    0x003f, 0x003f, 0x8dbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1e4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1e5, 0x003f, 0x8ca4, 0x8dd3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1e7, 0xee5c, 0x003f, 0x003f, 0x003f, 0x9375, 0x8dd4, 0x8b6d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9643, 0x003f, 0x946a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9376, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d7b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee5d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8fc9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xee5e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x97b0, 0x8d64, 0x003f, 0x003f, 0x8ca5,\n    0x003f, 0x003f, 0x94a1, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xee5f, 0x003f, 0xe1ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8ce9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1ec, 0x92f4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ef, 0x8a56, 0xe1ea, 0x003f,\n    0x003f, 0x94e8, 0x003f, 0x894f, 0x003f, 0x8dea, 0x003f, 0x9871,\n    0x003f, 0x003f, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1f0, 0x003f, 0x003f, 0x003f, 0x95c9,\n    0x003f, 0x90d7, 0xe1f2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8a6d, 0x003f, 0xe1f9, 0x003f, 0xe1f8, 0x003f,\n    0x003f, 0x8ea5, 0x003f, 0x003f, 0x003f, 0xe1fa, 0xe1f5, 0x003f,\n    0x003f, 0x003f, 0xe1fb, 0xe1f6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x94d6, 0xe1f4, 0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe241, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe240,\n    0x9681, 0x003f, 0x003f, 0x003f, 0xe1fc, 0x003f, 0x003f, 0x88e9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe243, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe242, 0x003f, 0x003f,\n    /* 0x7900 .. 0x79ff */\n    0x003f, 0x8fca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe244,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9162, 0x003f,\n    0x003f, 0xe246, 0xe245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe247, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1e6, 0x003f,\n    0x003f, 0x003f, 0xe1e8, 0xe249, 0xe248, 0x003f, 0x003f, 0x003f,\n    0xee60, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8ea6, 0x003f, 0x97e7, 0x003f, 0x8ed0, 0x003f,\n    0xe24a, 0x8c56, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b5f,\n    0x8b46, 0x8e83, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9753, 0x003f, 0x003f, 0xe250, 0x003f, 0xe24f, 0x9163, 0xe24c,\n    0x003f, 0x003f, 0xe24e, 0x003f, 0x003f, 0x8f6a, 0x905f, 0xe24d,\n    0xe24b, 0x003f, 0x9449, 0x003f, 0x003f, 0x8fcb, 0x003f, 0x003f,\n    0x955b, 0x003f, 0x003f, 0x003f, 0x003f, 0x8dd5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9398,\n    0x003f, 0x003f, 0xe251, 0x003f, 0x003f, 0x003f, 0x003f, 0xe252,\n    0xe268, 0x8bd6, 0x003f, 0x003f, 0x985c, 0x9154, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe253, 0x003f, 0x003f, 0x89d0, 0x92f5, 0x959f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xee64, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xee66, 0x003f, 0xe254, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b9a, 0xe255,\n    0x003f, 0x003f, 0xe257, 0x003f, 0x003f, 0x003f, 0xe258, 0x003f,\n    0x9448, 0x003f, 0x003f, 0xe259, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe25a, 0xe25b, 0x003f, 0x003f, 0x8bd7, 0x89d1, 0x93c3,\n    0x8f47, 0x8e84, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe25c, 0x003f, 0x8f48, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x89c8, 0x9562, 0x003f, 0x003f, 0xe25d, 0x003f, 0x003f,\n    0x94e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9164,\n    0x003f, 0xe260, 0x003f, 0xe261, 0x9489, 0x003f, 0x9060, 0xe25e,\n    0x003f, 0x9281, 0x003f, 0x003f, 0xe25f, 0x003f, 0x003f, 0x003f,\n    0x8fcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x88da, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7a00 .. 0x7aff */\n    0x8b48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe262, 0x003f, 0x003f, 0x92f6, 0x003f, 0xe263, 0x90c5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x96ab, 0x003f, 0x003f, 0x9542,\n    0xe264, 0xe265, 0x9274, 0x003f, 0x97c5, 0x003f, 0x003f, 0xe267,\n    0xe266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8eed, 0x003f,\n    0x003f, 0xe269, 0x88ee, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26c,\n    0x003f, 0x003f, 0x003f, 0xe26a, 0x89d2, 0x8c6d, 0xe26b, 0x8d65,\n    0x8d92, 0x003f, 0x95e4, 0xe26d, 0x003f, 0x003f, 0x9673, 0x003f,\n    0x003f, 0xe26f, 0x003f, 0x003f, 0x003f, 0x90cf, 0x896e, 0x89b8,\n    0x88aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe26e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe270, 0xe271, 0x8ff5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe272, 0x003f, 0x8a6e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe274, 0x003f, 0x003f, 0x003f, 0x8c8a, 0x003f, 0x8b86, 0x003f,\n    0x003f, 0xe275, 0x8bf3, 0x003f, 0x003f, 0xe276, 0x003f, 0x90fa,\n    0x003f, 0x93cb, 0x003f, 0x90de, 0x8df3, 0x003f, 0x003f, 0x003f,\n    0xe277, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9282, 0x918b, 0x003f, 0xe279, 0xe27b, 0xe278,\n    0xe27a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c41,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe27c, 0x8c45, 0x003f, 0x003f, 0x003f, 0x8b87, 0x9771,\n    0xe27e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe280, 0x003f,\n    0x003f, 0x003f, 0x894d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe283,\n    0x003f, 0x003f, 0x003f, 0x8a96, 0xe282, 0xe281, 0x003f, 0xe285,\n    0xe27d, 0x003f, 0xe286, 0x97a7, 0x003f, 0xe287, 0x003f, 0xe288,\n    0x003f, 0xee67, 0x9af2, 0xe28a, 0x003f, 0xe289, 0x003f, 0x003f,\n    0x003f, 0xe28b, 0xe28c, 0x003f, 0x97b3, 0xe28d, 0x003f, 0xe8ed,\n    0x8fcd, 0xe28e, 0xe28f, 0x8f76, 0x003f, 0x93b6, 0xe290, 0xee68,\n    0x003f, 0x003f, 0x9247, 0xee6a, 0x003f, 0xe291, 0x003f, 0x925b,\n    0xe292, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ba3, 0x003f,\n    0x995e, 0x927c, 0x8eb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ac6,\n    /* 0x7b00 .. 0x7bff */\n    0x003f, 0x003f, 0xe293, 0x003f, 0xe2a0, 0x003f, 0xe296, 0x003f,\n    0x8b88, 0x003f, 0xe295, 0xe2a2, 0x003f, 0x003f, 0x003f, 0xe294,\n    0x003f, 0x8fce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe298, 0xe299, 0x003f, 0x934a, 0x003f, 0x003f, 0xe29a, 0x003f,\n    0x8a7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x9079, 0x9584, 0x003f,\n    0xe29c, 0x003f, 0x003f, 0x003f, 0x91e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe297, 0x003f, 0xe29b, 0xe29d, 0x003f,\n    0x003f, 0x8df9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x954d, 0x003f,\n    0x94a4, 0x9399, 0x003f, 0x8bd8, 0xe2a3, 0xe2a1, 0x003f, 0x94b3,\n    0xe29e, 0x927d, 0x939b, 0x003f, 0x939a, 0x003f, 0x8df4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a6, 0x003f, 0xe2a8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2ab, 0x003f, 0xe2ac, 0x003f,\n    0xe2a9, 0xe2aa, 0x003f, 0x003f, 0xe2a7, 0xe2a5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe29f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95cd, 0x89d3,\n    0x003f, 0x003f, 0x003f, 0xe2b3, 0x003f, 0xe2b0, 0x003f, 0xe2b5,\n    0x003f, 0x003f, 0xe2b4, 0x003f, 0x9493, 0x96a5, 0x003f, 0x8e5a,\n    0xe2ae, 0xe2b7, 0xe2b2, 0x003f, 0xe2b1, 0xe2ad, 0xee6b, 0xe2af,\n    0x003f, 0x8ac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x925c, 0x003f, 0x003f, 0x90fb, 0x003f, 0x003f,\n    0x003f, 0x94a0, 0x003f, 0x003f, 0xe2bc, 0x003f, 0x003f, 0x003f,\n    0x94a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x90df, 0xe2b9, 0x003f, 0x003f, 0x94cd, 0x003f, 0xe2bd, 0x95d1,\n    0x003f, 0x927a, 0x003f, 0xe2b8, 0xe2ba, 0x003f, 0x003f, 0xe2bb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2be, 0x003f, 0x003f,\n    0x8ec2, 0x003f, 0x003f, 0x003f, 0x93c4, 0xe2c3, 0xe2c2, 0x003f,\n    0x003f, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x9855, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2c8, 0x003f, 0x003f, 0xe2cc, 0xe2c9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7c00 .. 0x7cff */\n    0xe2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cb, 0x003f, 0x003f,\n    0x003f, 0xe2c0, 0x99d3, 0xe2c7, 0xe2c1, 0x003f, 0x003f, 0xe2ca,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d0,\n    0x003f, 0x8ac8, 0x003f, 0xe2cd, 0x003f, 0x003f, 0x003f, 0xe2ce,\n    0x003f, 0x003f, 0xe2cf, 0xe2d2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d1,\n    0x94f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d3, 0x97fa, 0x95eb,\n    0xe2d8, 0x003f, 0x003f, 0xe2d5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d4, 0x90d0, 0x003f, 0xe2d7,\n    0xe2d9, 0x003f, 0x003f, 0x003f, 0xe2d6, 0x003f, 0xe2dd, 0x003f,\n    0xe2da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2db,\n    0xe2c4, 0x003f, 0x003f, 0x003f, 0xe2dc, 0xe2de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2df, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x95c4, 0x003f, 0xe2e0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x96e0, 0x003f,\n    0x003f, 0x8bcc, 0x8c48, 0xe2e1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x95b2, 0x003f, 0x9088, 0x003f, 0x96ae, 0x003f, 0x003f,\n    0xe2e2, 0x003f, 0x97b1, 0x003f, 0x003f, 0x9494, 0x003f, 0x9165,\n    0x9453, 0x003f, 0x003f, 0x8f6c, 0x003f, 0x003f, 0x003f, 0x88be,\n    0x003f, 0xe2e7, 0xe2e5, 0x003f, 0xe2e3, 0x8a9f, 0x003f, 0x8fcf,\n    0xe2e8, 0x003f, 0x003f, 0xe2e6, 0x003f, 0xe2e4, 0xe2ec, 0x003f,\n    0x003f, 0xe2eb, 0xe2ea, 0xe2e9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2ed, 0x003f, 0x003f, 0x003f, 0xe2ee, 0x90b8, 0x003f,\n    0xe2ef, 0x003f, 0xe2f1, 0x003f, 0x003f, 0xe2f0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8cd0, 0x003f, 0x003f, 0x003f, 0x9157, 0x003f,\n    0x003f, 0x003f, 0xe2f3, 0x003f, 0x003f, 0x003f, 0x939c, 0x003f,\n    0xe2f2, 0x003f, 0x003f, 0x003f, 0xe2f4, 0x003f, 0x95b3, 0x918c,\n    0x8d66, 0x003f, 0xe2f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x97c6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f7,\n    0x003f, 0x003f, 0xe2f8, 0x003f, 0xe2f9, 0x003f, 0xe2fa, 0x003f,\n    0x8e85, 0x003f, 0xe2fb, 0x8c6e, 0x003f, 0x003f, 0x8b8a, 0x003f,\n    /* 0x7d00 .. 0x7dff */\n    0x8b49, 0x003f, 0xe340, 0x003f, 0x96f1, 0x8d67, 0xe2fc, 0x003f,\n    0x003f, 0x003f, 0xe343, 0x96e4, 0x003f, 0x945b, 0x003f, 0x003f,\n    0x9552, 0x003f, 0x003f, 0x003f, 0x8f83, 0xe342, 0x003f, 0x8ed1,\n    0x8d68, 0x8e86, 0x8b89, 0x95b4, 0xe341, 0x003f, 0x003f, 0x003f,\n    0x9166, 0x9661, 0x8df5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8e87, 0x92db, 0x003f, 0xe346, 0x97dd,\n    0x8dd7, 0x003f, 0xe347, 0x9061, 0x003f, 0xe349, 0x003f, 0x003f,\n    0x003f, 0x8fd0, 0x8dae, 0x003f, 0x003f, 0x003f, 0x003f, 0xe348,\n    0x003f, 0x003f, 0x8f49, 0x8cbc, 0x9167, 0xe344, 0xe34a, 0x003f,\n    0xee6d, 0x003f, 0x003f, 0xe345, 0x8c6f, 0x003f, 0xe34d, 0xe351,\n    0x8c8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe34c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe355, 0xee6e, 0x003f, 0x8d69, 0x003f,\n    0x003f, 0x978d, 0x88ba, 0xe352, 0x003f, 0x003f, 0x8b8b, 0x003f,\n    0xe34f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe350, 0x003f,\n    0x003f, 0x939d, 0xe34e, 0xe34b, 0x003f, 0x8a47, 0x90e2, 0x003f,\n    0x003f, 0x8ca6, 0x003f, 0x003f, 0x003f, 0xe357, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe356,\n    0x003f, 0x003f, 0x003f, 0xe353, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8c70, 0x91b1, 0xe358, 0x918e, 0x003f, 0x003f, 0xe365,\n    0xee70, 0x003f, 0xe361, 0xe35b, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe35f, 0x8ef8, 0x88db, 0xe35a, 0xe362,\n    0xe366, 0x8d6a, 0x96d4, 0x003f, 0x92d4, 0xe35c, 0x003f, 0xee6f,\n    0xe364, 0x003f, 0xe359, 0x925d, 0x003f, 0xe35e, 0x88bb, 0x96c8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe35d,\n    0x003f, 0x003f, 0x8bd9, 0x94ea, 0x003f, 0x003f, 0x003f, 0x918d,\n    0x003f, 0x97ce, 0x8f8f, 0x003f, 0x003f, 0xe38e, 0xee71, 0x003f,\n    0xe367, 0x003f, 0x90fc, 0x003f, 0xe363, 0xe368, 0xe36a, 0x003f,\n    0x92f7, 0xe36d, 0x003f, 0x003f, 0xe369, 0x003f, 0x003f, 0x003f,\n    0x95d2, 0x8ac9, 0x003f, 0x003f, 0x96c9, 0x003f, 0x003f, 0x88dc,\n    0x003f, 0x003f, 0xe36c, 0x003f, 0x97fb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe36b, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7e00 .. 0x7eff */\n    0x003f, 0x898f, 0x003f, 0x003f, 0x93ea, 0xe36e, 0x003f, 0x003f,\n    0x003f, 0xe375, 0xe36f, 0xe376, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe372, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x949b, 0x003f, 0x003f, 0x8ec8, 0xe374,\n    0x003f, 0xe371, 0xe377, 0xe370, 0x003f, 0x003f, 0x8f63, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9644, 0x003f, 0x003f, 0x8f6b, 0x003f,\n    0x003f, 0xe373, 0xe380, 0x003f, 0x003f, 0xe37b, 0x003f, 0xe37e,\n    0x003f, 0xe37c, 0xe381, 0xe37a, 0x003f, 0xe360, 0x90d1, 0x003f,\n    0x003f, 0x94c9, 0x003f, 0xe37d, 0x003f, 0x003f, 0xe378, 0x003f,\n    0x003f, 0x003f, 0x9140, 0x8c71, 0x003f, 0x8f4a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xee72, 0x003f, 0x9044, 0x9155, 0xe384, 0x003f,\n    0x003f, 0xe386, 0xe387, 0x003f, 0x003f, 0xe383, 0xe385, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe379, 0xe382,\n    0x003f, 0xe38a, 0xe389, 0x003f, 0x003f, 0x969a, 0x003f, 0x003f,\n    0x8c4a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe388, 0x003f, 0xe38c, 0xe38b, 0xe38f, 0x003f, 0xe391,\n    0x003f, 0x003f, 0x8e5b, 0xe38d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe392, 0xe393, 0xed40, 0x003f, 0xe394, 0x003f, 0xe39a, 0x935a,\n    0xe396, 0x003f, 0xe395, 0xe397, 0xe398, 0x003f, 0xe399, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe39b, 0xe39c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7f00 .. 0x7fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aca, 0x003f,\n    0xe39d, 0x003f, 0xe39e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe39f, 0x003f, 0xee73,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3a0, 0xe3a1, 0xe3a2, 0x003f,\n    0xe3a3, 0xe3a4, 0x003f, 0x003f, 0xe3a6, 0xe3a5, 0x003f, 0x003f,\n    0xe3a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8,\n    0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ac,\n    0xe3aa, 0xe3ab, 0x8ddf, 0x8c72, 0x003f, 0x003f, 0x9275, 0x003f,\n    0x94b1, 0x003f, 0x8f90, 0x003f, 0x003f, 0x946c, 0x003f, 0x94eb,\n    0xe3ad, 0x9ceb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3ae, 0xe3b0, 0x003f, 0x9785, 0xe3af, 0xe3b2,\n    0xe3b1, 0x003f, 0x9772, 0x003f, 0xe3b3, 0x003f, 0x94fc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3b7, 0x003f, 0x003f, 0xe3b6, 0xe3b5, 0x003f,\n    0x003f, 0xee74, 0x003f, 0xe3b8, 0x8c51, 0x003f, 0x003f, 0x003f,\n    0x9141, 0x8b60, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3bc, 0xe3b9,\n    0x003f, 0x003f, 0xe3ba, 0x003f, 0x003f, 0x003f, 0xe3bd, 0x003f,\n    0xe3be, 0xe3bb, 0x003f, 0x003f, 0x003f, 0x8948, 0x003f, 0x003f,\n    0x003f, 0x89a5, 0x003f, 0x003f, 0x003f, 0xe3c0, 0xe3c1, 0x003f,\n    0x003f, 0x003f, 0xe3c2, 0x003f, 0x9782, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8f4b, 0x003f, 0xe3c4, 0xe3c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9089, 0xe3c5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c6, 0x003f,\n    0x003f, 0xe3c7, 0x003f, 0x8ae3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8acb, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3c9, 0x003f, 0x967c, 0x9783, 0x003f, 0x003f, 0x003f,\n    /* 0x8000 .. 0x80ff */\n    0x9773, 0x9856, 0x003f, 0x8d6c, 0xe3cc, 0x8ed2, 0xe3cb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3cd, 0x8ea7, 0x003f, 0x003f, 0x003f,\n    0x91cf, 0x003f, 0xe3ce, 0x003f, 0x003f, 0x8d6b, 0x003f, 0x96d5,\n    0xe3cf, 0xe3d0, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8ea8, 0x003f, 0x003f, 0x96eb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3d5, 0x003f, 0x925e, 0x003f, 0xe3d4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d7, 0x003f,\n    0x003f, 0x003f, 0xe3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f, 0x90b9, 0x003f,\n    0xe3d9, 0x003f, 0xe3da, 0x003f, 0x003f, 0x003f, 0x95b7, 0xe3db,\n    0x003f, 0x918f, 0xe3dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97fc,\n    0xe3e0, 0x003f, 0xe3df, 0xe3de, 0x92ae, 0x003f, 0xe3e1, 0x9045,\n    0x003f, 0xe3e2, 0x003f, 0x003f, 0x003f, 0xe3e3, 0x9857, 0xe3e4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0xe3e7, 0xe3e6, 0x94a3,\n    0x003f, 0x93f7, 0x003f, 0x985d, 0x94a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3e9, 0x003f, 0x003f, 0x8fd1, 0x003f,\n    0x9549, 0x003f, 0xe3ea, 0xe3e8, 0x003f, 0x8acc, 0x003f, 0x003f,\n    0x003f, 0x8cd2, 0x8e88, 0x003f, 0x003f, 0x94ec, 0x003f, 0x003f,\n    0x003f, 0x8ca8, 0x9662, 0x003f, 0xe3ed, 0xe3eb, 0x003f, 0x8d6d,\n    0x003f, 0x8d6e, 0x88e7, 0x003f, 0x8de6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x88dd, 0xe3f2, 0x003f, 0x925f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9477, 0x003f, 0x91d9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f4, 0x003f,\n    0x003f, 0xe3f0, 0xe3f3, 0xe3ee, 0x003f, 0xe3f1, 0x9645, 0x003f,\n    0x003f, 0x8cd3, 0x003f, 0x003f, 0x88fb, 0xe3ef, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,\n    0x003f, 0xe3f7, 0x003f, 0x003f, 0x93b7, 0x003f, 0x003f, 0x003f,\n    0x8bb9, 0x003f, 0x003f, 0x003f, 0xe445, 0x945c, 0x003f, 0x003f,\n    /* 0x8100 .. 0x81ff */\n    0x003f, 0x003f, 0x8e89, 0x003f, 0x003f, 0x8bba, 0x90c6, 0x9865,\n    0x96ac, 0xe3f5, 0x90d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8b72, 0xe3f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3fa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3fb,\n    0x003f, 0x9245, 0x003f, 0x945d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x92af, 0x003f, 0x003f, 0x003f, 0x003f, 0xe442, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe441, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3fc, 0x003f, 0x003f, 0x9074, 0x003f,\n    0x9585, 0xe444, 0x003f, 0xe443, 0x8d6f, 0x9872, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe454,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe448, 0xe449, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8eee, 0x003f, 0x003f, 0xe447, 0x003f,\n    0x8d98, 0xe446, 0x003f, 0x003f, 0xe44a, 0x003f, 0x003f, 0x003f,\n    0x92b0, 0x95a0, 0x9142, 0x003f, 0x003f, 0x003f, 0x003f, 0x91da,\n    0xe44e, 0x003f, 0xe44f, 0xe44b, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe44c, 0x003f, 0xe44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8d70,\n    0x003f, 0x003f, 0x003f, 0xe455, 0x003f, 0xe451, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9586, 0x003f, 0x968c, 0x9547, 0x003f, 0x003f,\n    0xe450, 0x003f, 0x003f, 0xe453, 0xe452, 0x003f, 0x003f, 0x003f,\n    0x9663, 0xe456, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe457, 0x003f, 0x003f, 0x9156, 0x003f, 0xe458, 0x003f, 0x003f,\n    0xe45a, 0x003f, 0xe45e, 0x003f, 0x003f, 0xe45b, 0xe459, 0x945e,\n    0xe45c, 0x003f, 0xe45d, 0x003f, 0x003f, 0x003f, 0x89b0, 0x003f,\n    0xe464, 0xe45f, 0x003f, 0x003f, 0x003f, 0xe460, 0x003f, 0x003f,\n    0x003f, 0xe461, 0x003f, 0x919f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe463, 0xe462, 0xe465, 0x003f, 0x003f, 0x003f, 0x003f, 0xe466,\n    0xe467, 0x003f, 0x003f, 0x9062, 0x003f, 0x89e7, 0x003f, 0xe468,\n    0x97d5, 0x003f, 0x8ea9, 0x003f, 0x003f, 0x8f4c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8e8a, 0x9276, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe469, 0xe46a, 0x8950, 0x003f, 0xe46b, 0x003f,\n    /* 0x8200 .. 0x82ff */\n    0x003f, 0xe46c, 0xe46d, 0x003f, 0x003f, 0xe46e, 0x003f, 0xe46f,\n    0x8bbb, 0x9da8, 0xe470, 0x003f, 0x90e3, 0xe471, 0x8ec9, 0x003f,\n    0xe472, 0x003f, 0x98ae, 0x003f, 0x003f, 0x003f, 0xe473, 0x95dc,\n    0x8ada, 0x003f, 0x003f, 0x9143, 0x8f77, 0x003f, 0x9591, 0x8f4d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe474, 0x8d71, 0xe475, 0x94ca, 0x003f, 0xe484, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe477, 0x003f, 0x91c7, 0x9495, 0x8cbd,\n    0xe476, 0x9144, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe478, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe47a, 0xe479, 0xe47c, 0x003f, 0x003f, 0xe47b, 0x003f, 0xe47d,\n    0x003f, 0x003f, 0xe480, 0x003f, 0xe47e, 0x003f, 0x8acd, 0x003f,\n    0xe481, 0x003f, 0xe482, 0xe483, 0x003f, 0x003f, 0x8daf, 0x97c7,\n    0x003f, 0xe485, 0x9046, 0x003f, 0x003f, 0x003f, 0x8990, 0xe486,\n    0xe487, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe488, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x88f0, 0x003f, 0xe489, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe48a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9587, 0x003f, 0x003f, 0x003f, 0x8ec5, 0x003f, 0xe48c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a48, 0x88b0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe48b, 0xe48e, 0x946d, 0x003f, 0x9063,\n    0x003f, 0x89d4, 0x003f, 0x9646, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c7c, 0x8bda, 0x003f, 0xe48d, 0x003f, 0x89e8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8aa1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8991, 0xe492, 0x97e8, 0x91db, 0x003f, 0x003f, 0x9563,\n    0x003f, 0xe49e, 0x003f, 0x89d5, 0xe49c, 0x003f, 0xe49a, 0xe491,\n    0x003f, 0xe48f, 0x003f, 0xe490, 0x003f, 0x8ee1, 0x8bea, 0x9297,\n    0x003f, 0x003f, 0x003f, 0x93cf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8970, 0x003f, 0xe494, 0xe493, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe499, 0xe495, 0xe498, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8300 .. 0x83ff */\n    0x003f, 0xee76, 0x96ce, 0xe497, 0x89d6, 0x8a9d, 0xe49b, 0x003f,\n    0x003f, 0xe49d, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c73, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a1, 0xe4aa,\n    0xe4ab, 0x003f, 0x003f, 0x003f, 0x88a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4b2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x88ef, 0x003f, 0x003f, 0xe4a9, 0x003f, 0x003f, 0x003f, 0xe4a8,\n    0x003f, 0xe4a3, 0xe4a2, 0x003f, 0xe4a0, 0xe49f, 0x9283, 0x003f,\n    0x91f9, 0xe4a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a7, 0x003f, 0x003f,\n    0x003f, 0x9190, 0x8c74, 0x003f, 0x003f, 0x003f, 0x003f, 0x8960,\n    0xe4a6, 0x003f, 0x8d72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9191, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xee77, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4b8, 0x003f, 0xe4b9, 0x003f, 0x89d7,\n    0x003f, 0x003f, 0x003f, 0x89ac, 0xe4b6, 0x003f, 0x003f, 0xee78,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ac, 0x003f, 0xe4b4,\n    0x003f, 0xe4bb, 0xe4b5, 0x003f, 0x003f, 0x003f, 0xe4b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe496, 0x003f, 0x003f, 0xe4b1, 0x003f,\n    0x003f, 0x003f, 0xe4ad, 0x003f, 0x003f, 0x003f, 0x8ace, 0xe4af,\n    0xe4ba, 0x003f, 0xe4b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4bc, 0x003f, 0xe4ae, 0x949c, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9789, 0x003f, 0x003f, 0x003f, 0xe4b7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cd, 0x003f, 0x003f,\n    0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x909b, 0x003f, 0xee79,\n    0x003f, 0x003f, 0x8b65, 0x003f, 0x8bdb, 0x003f, 0xe4c0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x89d9, 0x003f, 0x003f, 0x8fd2, 0x003f,\n    0xe4c3, 0x003f, 0x003f, 0x003f, 0x8dd8, 0x003f, 0x003f, 0x9370,\n    0xe4c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x95ec, 0x003f, 0xe4bf, 0x003f, 0x003f, 0x003f, 0x89d8,\n    0x8cd4, 0x9548, 0xe4c9, 0x003f, 0xe4bd, 0x003f, 0xee7a, 0xe4c6,\n    0x003f, 0x003f, 0x003f, 0xe4d0, 0x003f, 0xe4c1, 0x003f, 0x003f,\n    /* 0x8400 .. 0x84ff */\n    0x003f, 0x003f, 0x003f, 0xe4c2, 0x93b8, 0x003f, 0x003f, 0xe4c7,\n    0x003f, 0x003f, 0x003f, 0xe4c4, 0x9647, 0xe4ca, 0x88de, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4cc, 0x003f, 0xe4cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x948b, 0xe4d2, 0x003f, 0xe4dd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a9e, 0x003f, 0x003f, 0x003f, 0xe4e0, 0x003f, 0x003f,\n    0xe4ce, 0x003f, 0x003f, 0x003f, 0xe4d3, 0x978e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,\n    0xee7b, 0x9774, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9298,\n    0x003f, 0x003f, 0x003f, 0x8a8b, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9592, 0xe4e2, 0x939f, 0x003f, 0x003f, 0x88af, 0x003f,\n    0x003f, 0xe4db, 0x003f, 0xe4d7, 0x9192, 0xe4d1, 0xe4d9, 0xe4de,\n    0x003f, 0x944b, 0x003f, 0x003f, 0x003f, 0x88a8, 0x003f, 0xe4d6,\n    0x003f, 0xe4df, 0x9598, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe4da, 0x003f, 0xe4d5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8fd3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8f4e, 0x003f, 0x003f, 0x003f, 0x8eaa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x96d6, 0x003f, 0x003f, 0x9566, 0x003f, 0x003f, 0xe4e5,\n    0x003f, 0xe4ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8a97, 0x003f, 0xee7c, 0x003f, 0x003f, 0x003f,\n    0x8ff6, 0xe4e3, 0x003f, 0xe4e8, 0x9193, 0x003f, 0x003f, 0xe4e4,\n    0x003f, 0xe4eb, 0x003f, 0x003f, 0x927e, 0x003f, 0xe4ec, 0x003f,\n    0x003f, 0x9775, 0xe4e1, 0x8a57, 0x003f, 0xe4e7, 0x003f, 0x003f,\n    0xe4ea, 0x96aa, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f,\n    0x003f, 0xe4e6, 0xe4e9, 0x003f, 0xed44, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x9648, 0x003f, 0x9840, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0xe4f0,\n    /* 0x8500 .. 0x85ff */\n    0x8ec1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x95cc, 0x003f, 0x96a0, 0xe4f7, 0xe4f6, 0x003f, 0xe4f2,\n    0xe4f3, 0x003f, 0x8955, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5,\n    0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x92d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f4, 0x88fc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91a0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x95c1, 0x003f, 0x003f,\n    0xe4f9, 0xe540, 0x003f, 0x94d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4fc, 0x8fd4, 0x8ec7, 0xe542, 0x003f, 0x003f, 0x8bbc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xee7d, 0x003f, 0xe543, 0x003f, 0x9599,\n    0xe4fb, 0xee7e, 0xe4d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x986e, 0x93a0, 0x9593, 0xee80, 0x003f, 0xe54a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe550,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe551, 0x003f,\n    0xe544, 0x003f, 0x003f, 0x003f, 0x9496, 0x003f, 0x003f, 0xe54e,\n    0xe546, 0x003f, 0xe548, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe552, 0xe547, 0x003f, 0x003f, 0xe54b, 0x003f, 0x003f, 0x8992,\n    0x003f, 0x93e3, 0x003f, 0xe54c, 0xe54f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe545, 0x003f, 0x9145, 0x003f,\n    0xe549, 0x8e46, 0x9064, 0x8c4f, 0x96f2, 0x003f, 0x96f7, 0x8f92,\n    0xee82, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe556, 0xe554, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x986d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe553, 0x003f, 0x003f, 0x003f, 0x9795, 0x003f, 0xe555,\n    0xe557, 0x003f, 0x003f, 0x003f, 0x003f, 0xe558, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe55b, 0xe559, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x93a1, 0xe55a, 0x003f, 0x003f,\n    0x003f, 0x94cb, 0xe54d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f93,\n    0x003f, 0xe55c, 0xe561, 0x9194, 0x003f, 0x003f, 0xe560, 0x003f,\n    /* 0x8600 .. 0x86ff */\n    0x003f, 0x003f, 0xe541, 0x003f, 0x003f, 0x003f, 0xe562, 0x9168,\n    0x003f, 0x003f, 0xe55d, 0xe55f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe55e, 0x003f, 0x003f, 0x9f50, 0x9f41,\n    0x003f, 0x003f, 0xe564, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe563, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9796, 0x003f, 0xe1ba,\n    0xe565, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe566,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe567, 0x8cd5, 0x003f,\n    0x8b73, 0x003f, 0x003f, 0x003f, 0xe569, 0x997c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8b95, 0x003f, 0x97b8, 0x003f, 0x8bf1, 0xe56a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe56b,\n    0x003f, 0x003f, 0x003f, 0x928e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe56c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x93f8, 0x003f, 0x88b8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x89e1, 0xe571, 0xe572, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe56d, 0x003f, 0x8e5c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe56e, 0x9461, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe56f, 0xe570, 0xe57a, 0x003f, 0x003f, 0x003f, 0xe574,\n    0xe577, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe573, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe575, 0x003f, 0xe576, 0x8ed6,\n    0x003f, 0xe578, 0x003f, 0x9260, 0x003f, 0x8c75, 0x8a61, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe57b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a5e, 0x003f, 0xe581, 0x003f, 0x003f, 0xe57c, 0xe580,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x94b8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe57d, 0x003f, 0x003f, 0xe57e, 0x9567, 0x94d8, 0xe582,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x91fb, 0xe58c, 0x003f, 0xe588, 0x003f, 0x003f, 0x89e9, 0x003f,\n    /* 0x8700 .. 0x87ff */\n    0xe586, 0x003f, 0x9649, 0xe587, 0x003f, 0x003f, 0xe584, 0x003f,\n    0xe585, 0xe58a, 0xe58d, 0x003f, 0x003f, 0xe58b, 0x003f, 0x003f,\n    0x003f, 0xe589, 0xe583, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9277, 0x003f, 0xe594, 0x003f, 0x96a8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe592, 0x003f, 0x003f,\n    0x003f, 0xe593, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe58e, 0x003f, 0x003f, 0xe590,\n    0x003f, 0x003f, 0x003f, 0xe591, 0x003f, 0x003f, 0x003f, 0xe58f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x90e4, 0x003f, 0x9858, 0xe598, 0x003f, 0xe599, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe59f, 0x003f, 0x9049, 0x003f, 0xe59b,\n    0x003f, 0xe59e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe596,\n    0xe595, 0x003f, 0x003f, 0xe5a0, 0x003f, 0x003f, 0x89da, 0x003f,\n    0xe59c, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0xe59d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe59a, 0x003f, 0x92b1, 0x003f,\n    0xe597, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9488,\n    0x003f, 0x003f, 0xe5a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x975a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a4,\n    0x003f, 0x003f, 0xe5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5ac, 0x003f, 0x003f, 0x003f, 0xe5a6,\n    0x003f, 0x003f, 0x003f, 0xe5ae, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9786, 0xe5b1, 0x003f, 0xe5a8, 0x003f, 0x003f,\n    0xe5a9, 0x003f, 0x003f, 0x003f, 0xe5ad, 0x003f, 0xe5b0, 0xe5af,\n    0x003f, 0x003f, 0x003f, 0xe5a7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5aa, 0x003f, 0xe5bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b2,\n    0x003f, 0x003f, 0xe5b3, 0x003f, 0x003f, 0x003f, 0xe5b8, 0xe5b9,\n    0x003f, 0x8a49, 0x003f, 0x8b61, 0x003f, 0x003f, 0xe5b7, 0x003f,\n    /* 0x8800 .. 0x88ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0xee85,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5b6, 0xe5ba, 0xe5b5,\n    0x003f, 0xe5bc, 0x003f, 0x003f, 0x003f, 0xe5be, 0xe5bd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5c0, 0xe5bf, 0xe579, 0x003f, 0x003f, 0x003f, 0xe5c4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5c2, 0x003f,\n    0x003f, 0xe5c3, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c8c, 0x003f, 0xe5c7, 0x003f, 0xe5c6, 0x003f, 0x8f4f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8d73, 0x9fa5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5c8, 0x8f70, 0x003f, 0x003f, 0x003f, 0x8a58,\n    0x003f, 0xe5c9, 0x003f, 0x8971, 0x003f, 0x8fd5, 0xe5ca, 0x003f,\n    0x003f, 0x8d74, 0xe5cb, 0x88df, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x955c, 0x003f, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x908a, 0x003f, 0xe5d3, 0x003f, 0x003f, 0xe5d0, 0x003f, 0x928f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d1, 0xe5ce, 0x8bdc,\n    0x003f, 0xe5cd, 0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c55, 0x003f, 0x003f, 0x91dc, 0x003f, 0xe5da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5d6, 0x003f, 0x003f, 0x003f, 0x91b3, 0xe5d5,\n    0x003f, 0xe5d8, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cf, 0x003f,\n    0x003f, 0x003f, 0xe5d9, 0x003f, 0xe5db, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x94ed, 0x003f, 0x003f, 0xe5d7, 0x003f,\n    0xe5dc, 0xe5de, 0x003f, 0x003f, 0x8cd1, 0xe5d2, 0x003f, 0x88bf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd,\n    0x003f, 0x8dd9, 0x97f4, 0xe5df, 0xe5e0, 0x9195, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97a0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5e1, 0x9754, 0x003f, 0x003f,\n    0xe5e2, 0xe5e3, 0x003f, 0x003f, 0x95e2, 0xe5e4, 0x003f, 0x8dbe,\n    0x003f, 0x97a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5ea, 0x8fd6, 0xe5e8, 0xee86, 0x003f, 0x003f,\n    0x9787, 0xe5e5, 0x003f, 0x003f, 0xe5e7, 0x90bb, 0x909e, 0x003f,\n    /* 0x8900 .. 0x89ff */\n    0x003f, 0x003f, 0xe5e6, 0x003f, 0xe5eb, 0x003f, 0x003f, 0x95a1,\n    0x003f, 0x003f, 0xe5ed, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f,\n    0x8a8c, 0x003f, 0x964a, 0xe5ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xed41, 0xe5fa, 0xe5f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5f2, 0xe5f3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,\n    0xe5f8, 0x003f, 0x003f, 0xe5f6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5f4, 0x003f, 0xe5ef, 0xe5f5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f9, 0xe8b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5fc, 0x8bdd,\n    0xe5fb, 0x003f, 0x003f, 0x003f, 0xe641, 0x003f, 0xe640, 0x003f,\n    0x003f, 0x003f, 0xe643, 0x003f, 0x003f, 0xe642, 0x003f, 0xe644,\n    0x003f, 0x003f, 0x8f50, 0x003f, 0xe645, 0x003f, 0x003f, 0xe646,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe647, 0x90bc,\n    0x003f, 0x9776, 0x003f, 0xe648, 0x003f, 0x003f, 0x95a2, 0x9465,\n    0xe649, 0x003f, 0xe64a, 0x8ca9, 0x003f, 0x003f, 0x003f, 0x8b4b,\n    0x003f, 0x003f, 0x003f, 0xe64b, 0x003f, 0x003f, 0x8e8b, 0x9460,\n    0xe64c, 0x003f, 0x8a6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe64d, 0x003f, 0x003f, 0x003f, 0x003f, 0xe64f, 0x9797,\n    0x003f, 0xe64e, 0x9065, 0x003f, 0xe650, 0x003f, 0x003f, 0xe651,\n    0x003f, 0x003f, 0xe652, 0x8acf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe653, 0x003f, 0x003f, 0xe654, 0x003f, 0xe655,\n    0xe656, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8a70, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe657, 0x003f, 0xe658, 0xe659, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x89f0, 0x003f, 0x003f, 0x9047, 0xe65a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe65b, 0x003f, 0x003f, 0x003f,\n    0xe65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8a00 .. 0x8aff */\n    0x8cbe, 0x003f, 0x92f9, 0xe65d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c76, 0x003f, 0x9075, 0x003f, 0xe660, 0x003f, 0x93a2, 0x003f,\n    0xe65f, 0x003f, 0xee87, 0x8c50, 0x003f, 0x003f, 0xe65e, 0x91f5,\n    0x8b4c, 0x003f, 0x003f, 0xe661, 0x003f, 0xe662, 0x003f, 0x8fd7,\n    0x003f, 0x003f, 0x003f, 0x8c8d, 0x003f, 0xe663, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x964b, 0x003f, 0x003f, 0x90dd, 0x003f, 0x003f,\n    0x003f, 0x8b96, 0x003f, 0x96f3, 0x9169, 0x003f, 0xe664, 0xee88,\n    0x003f, 0x003f, 0x9066, 0x9290, 0x8fd8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe665, 0x003f, 0x003f, 0x003f, 0x003f, 0xe668, 0x003f,\n    0xe669, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8dbc, 0x91c0, 0xe667, 0x003f, 0x8fd9, 0x955d, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe666, 0x003f, 0x003f, 0x8e8c, 0x003f,\n    0x8972, 0x003f, 0xe66d, 0x8c77, 0x003f, 0x003f, 0x8e8e, 0x003f,\n    0x003f, 0x8e8d, 0x003f, 0x986c, 0xe66c, 0xe66b, 0x9146, 0x003f,\n    0x8b6c, 0x9862, 0x8a59, 0x8fda, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xee89, 0x003f, 0x003f, 0xe66a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe66f, 0x003f, 0xe670, 0xe66e, 0x003f, 0x8cd6,\n    0x003f, 0x975f, 0x003f, 0x003f, 0x8e8f, 0x9446, 0x003f, 0x003f,\n    0x003f, 0xe673, 0x003f, 0x90be, 0x003f, 0x9261, 0x003f, 0x003f,\n    0x9755, 0x003f, 0xe676, 0x003f, 0x003f, 0x003f, 0x8cea, 0x003f,\n    0x90bd, 0xe672, 0x003f, 0xe677, 0x8ceb, 0xe674, 0xe675, 0xee8a,\n    0xe671, 0x003f, 0x003f, 0x003f, 0x90e0, 0x93c7, 0x003f, 0x003f,\n    0x924e, 0x003f, 0x89db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x94ee, 0x003f, 0x003f, 0x8b62, 0x003f, 0xee8b, 0x92b2,\n    0x003f, 0x003f, 0xe67a, 0x003f, 0xe678, 0x003f, 0x003f, 0x926b,\n    0x003f, 0x003f, 0x003f, 0x90bf, 0x8ad0, 0xe679, 0x003f, 0x907a,\n    0x003f, 0x003f, 0x97c8, 0x003f, 0x003f, 0x003f, 0x985f, 0x003f,\n    0x003f, 0x003f, 0xe67b, 0xe687, 0x92b3, 0x003f, 0xe686, 0xee8c,\n    0xe683, 0xe68b, 0xe684, 0x003f, 0xe680, 0x003f, 0x92fa, 0xe67e,\n    0x003f, 0x003f, 0x003f, 0xe67c, 0x003f, 0x9740, 0x8e90, 0x003f,\n    0x003f, 0xe681, 0x003f, 0xe67d, 0x003f, 0x003f, 0xee8e, 0xe685,\n    0x8f94, 0x003f, 0x8cbf, 0x003f, 0x003f, 0x003f, 0x91f8, 0x003f,\n    /* 0x8b00 .. 0x8bff */\n    0x9664, 0x8979, 0x88e0, 0x003f, 0x93a3, 0x003f, 0x003f, 0xe689,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe688, 0x003f, 0x93e4, 0x003f,\n    0xe68d, 0x003f, 0x003f, 0x003f, 0xe682, 0x003f, 0xe68c, 0xe68e,\n    0x003f, 0x8caa, 0xe68a, 0x8d75, 0x003f, 0x8ed3, 0x003f, 0x003f,\n    0xe68f, 0x9777, 0x003f, 0x003f, 0x003f, 0x003f, 0xe692, 0x003f,\n    0xe695, 0x003f, 0x003f, 0xe693, 0x9554, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe690, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8bde, 0x003f, 0x003f, 0x003f, 0x003f, 0xe694, 0x003f,\n    0x003f, 0xe696, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe69a, 0x003f, 0x003f, 0xe697, 0x003f, 0xe699, 0xe698,\n    0x003f, 0x003f, 0x003f, 0xee8f, 0x003f, 0x003f, 0xe69b, 0x003f,\n    0x8eaf, 0x003f, 0xe69d, 0xe69c, 0x9588, 0x003f, 0x003f, 0xe69f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c78, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe69e, 0xe6a0, 0x003f, 0x003f, 0xe6a1,\n    0x8b63, 0xe3bf, 0x8ff7, 0x003f, 0xe6a2, 0x003f, 0x003f, 0x8cec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a3, 0x003f, 0xee90,\n    0xe6a4, 0x003f, 0x003f, 0x8e5d, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9dcc, 0x003f, 0xe6a5, 0x003f, 0xe6a6, 0x003f,\n    0x8f51, 0x003f, 0xe6a7, 0xe6a8, 0x003f, 0x003f, 0xe6a9, 0x003f,\n    0x003f, 0xe6aa, 0xe6ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8c00 .. 0x8cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x924a,\n    0x003f, 0x003f, 0xe6ac, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ae,\n    0x003f, 0xe6ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a4, 0x003f,\n    0xe6af, 0x003f, 0x964c, 0x003f, 0xe6b0, 0x003f, 0xe6b1, 0x003f,\n    0xe6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x93d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8fdb, 0xe6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8d8b, 0x98ac, 0xe6b5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6b6, 0x955e, 0xe6b7, 0x003f, 0xe6bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6b8, 0x003f, 0x003f, 0xe6ba, 0x003f, 0x003f,\n    0x003f, 0xe6b9, 0xe6bb, 0x003f, 0x9665, 0xe6bc, 0xe6bd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6be, 0x003f, 0x003f, 0x003f,\n    0xe6c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a4c, 0x92e5, 0x003f,\n    0x9589, 0x8de0, 0x8d76, 0x003f, 0x003f, 0x003f, 0x003f, 0x956e,\n    0x89dd, 0x94cc, 0xe6c3, 0x8ad1, 0x90d3, 0xe6c2, 0xe6c7, 0x9299,\n    0x96e1, 0x003f, 0xe6c5, 0xe6c6, 0x8b4d, 0x003f, 0xe6c8, 0x9483,\n    0x91dd, 0x003f, 0x003f, 0x94ef, 0x935c, 0xe6c4, 0x003f, 0x9666,\n    0x89ea, 0xe6ca, 0x9847, 0x92c0, 0x9864, 0x003f, 0x003f, 0x8e91,\n    0xe6c9, 0x003f, 0x91af, 0x003f, 0x003f, 0xe6da, 0x9147, 0x003f,\n    0x003f, 0x93f6, 0x003f, 0x956f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6cd, 0x8e5e, 0x8e92, 0x003f, 0x8fdc, 0x003f,\n    0x9485, 0x003f, 0x8cab, 0xe6cc, 0xe6cb, 0x003f, 0x958a, 0x003f,\n    0x003f, 0x003f, 0x8ebf, 0x003f, 0x003f, 0x9371, 0x003f, 0x003f,\n    0xee91, 0x003f, 0x003f, 0x003f, 0xee92, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6cf, 0xe6d0, 0x8d77, 0xe6ce, 0x003f, 0x003f,\n    /* 0x8d00 .. 0x8dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xe6d2, 0x003f, 0xe6d4,\n    0x91a1, 0x003f, 0xe6d3, 0x8ae4, 0x003f, 0xe6d6, 0x003f, 0xe6d5,\n    0xe6d7, 0x003f, 0xee93, 0xe6d9, 0xe6db, 0x003f, 0xe6dc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x90d4, 0x003f, 0x8ecd, 0xe6dd,\n    0x003f, 0x003f, 0x003f, 0x8a71, 0x003f, 0xe6de, 0x003f, 0x003f,\n    0x9196, 0xe6df, 0x003f, 0xe6e0, 0x958b, 0x003f, 0xee94, 0x8b4e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6e1, 0x003f, 0x003f, 0x003f, 0x92b4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x897a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8eef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9096, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x91ab, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6e5, 0x003f, 0x003f, 0x003f, 0xe6e4, 0x003f,\n    0x003f, 0x003f, 0xe6e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6eb, 0xe6e9, 0x003f, 0x003f, 0xe6e6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e8, 0x003f,\n    0x003f, 0x003f, 0xe6e7, 0xe6ea, 0x003f, 0x8b97, 0x003f, 0xe6ee,\n    0x003f, 0x90d5, 0x003f, 0xe6ef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8cd7, 0x003f, 0xe6ec, 0xe6ed, 0x003f, 0x003f, 0x003f, 0x9848,\n    0x003f, 0x003f, 0x003f, 0x92b5, 0x003f, 0x9148, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6f0, 0x003f, 0x003f, 0xe6f3,\n    /* 0x8e00 .. 0x8eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6f1, 0xe6f2, 0x9778, 0x003f, 0x003f, 0x003f, 0x003f, 0x93a5,\n    0xe6f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0xe6f5, 0xe6f7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe748, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6fa, 0x003f, 0x003f, 0x003f, 0xe6fb, 0xe6f9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe6f8, 0x003f, 0x92fb, 0x003f, 0x003f, 0xe740,\n    0xe744, 0xe741, 0xe6fc, 0x003f, 0xe742, 0x003f, 0x003f, 0x003f,\n    0xe743, 0x003f, 0x003f, 0x003f, 0x003f, 0xe74a, 0x003f, 0x003f,\n    0x003f, 0xe745, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x90d6,\n    0xe747, 0x003f, 0x003f, 0xe749, 0xe746, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe74c, 0x003f, 0x8f52, 0x003f, 0xe74b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe74e, 0x003f, 0x003f, 0xe751, 0xe750, 0x003f, 0xe74f,\n    0x003f, 0x003f, 0xe753, 0xe752, 0x003f, 0x96f4, 0x003f, 0x003f,\n    0x003f, 0xe755, 0x003f, 0xe754, 0xe756, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe759, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe758, 0x9067, 0xe75a, 0x003f, 0x003f, 0x8beb,\n    0xe75b, 0xe75d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75e, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe75f, 0xe75c, 0x003f,\n    0xe760, 0x003f, 0x8ed4, 0xe761, 0x8b4f, 0x8c52, 0x003f, 0xee96,\n    0x003f, 0x003f, 0x8cac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe762, 0x003f, 0x003f, 0x003f, 0x93ee,\n    0x003f, 0x003f, 0x935d, 0xe763, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe766, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8eb2, 0x003f, 0x003f, 0xe765, 0xe764, 0x8c79, 0xe767, 0x003f,\n    /* 0x8f00 .. 0x8fff */\n    0x003f, 0x003f, 0x003f, 0x8a72, 0x003f, 0xe769, 0x003f, 0x003f,\n    0x003f, 0x8dda, 0xe768, 0x003f, 0xe771, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe76b, 0xe76d, 0x95e3, 0xe76a, 0x003f, 0x003f,\n    0x003f, 0xe76c, 0x003f, 0xe770, 0xe76e, 0x8b50, 0x003f, 0xe76f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe772, 0x003f,\n    0x003f, 0x9479, 0x97d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f53,\n    0x003f, 0x003f, 0x003f, 0xe773, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9741, 0xe775, 0x003f, 0xe774, 0x003f, 0x003f, 0xe778, 0x9760,\n    0x003f, 0x003f, 0xe777, 0x003f, 0x8a8d, 0xe776, 0xe77b, 0x003f,\n    0x003f, 0xe77a, 0x003f, 0x003f, 0xe779, 0x9351, 0xe77c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe77d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe77e, 0x003f, 0x003f, 0x8d8c,\n    0x003f, 0x8c44, 0xe780, 0xe781, 0xe782, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9068, 0xe783, 0x003f, 0x8eab, 0xe784,\n    0x003f, 0x003f, 0x003f, 0xe785, 0x003f, 0x003f, 0x003f, 0x999f,\n    0x999e, 0x003f, 0x003f, 0x003f, 0x003f, 0xe786, 0xe390, 0xe787,\n    0x9243, 0x904a, 0x945f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe788,\n    0x003f, 0x003f, 0x95d3, 0x92d2, 0x8d9e, 0x003f, 0x003f, 0x9248,\n    0x003f, 0x003f, 0x8949, 0x003f, 0x9698, 0x9076, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7d, 0x003f,\n    0x003f, 0x8bdf, 0x003f, 0x003f, 0x95d4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe789, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe78b, 0x003f, 0x003f, 0xe78a, 0x89de, 0x003f,\n    0x003f, 0x93f4, 0xe78c, 0x9497, 0x003f, 0x9352, 0x003f, 0xe78d,\n    0x8f71, 0x003f, 0x003f, 0x003f, 0xe78f, 0x003f, 0x003f, 0x96c0,\n    0xe79e, 0xe791, 0xe792, 0x003f, 0x003f, 0x92c7, 0x003f, 0x003f,\n    /* 0x9000 .. 0x90ff */\n    0x91de, 0x9197, 0x003f, 0x93a6, 0x003f, 0xe790, 0x8b74, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe799, 0x003f, 0xe796, 0xe7a3, 0x93a7,\n    0x9280, 0xe793, 0x003f, 0x92fc, 0x9372, 0xe794, 0xe798, 0x9080,\n    0x003f, 0x9487, 0x92ca, 0x003f, 0x003f, 0x90c0, 0xe797, 0x91ac,\n    0x91a2, 0xe795, 0x88a7, 0x9841, 0x003f, 0x003f, 0x003f, 0xe79a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x91df, 0x003f,\n    0x003f, 0x8f54, 0x9069, 0x003f, 0x003f, 0xe79c, 0xe79b, 0x003f,\n    0x88ed, 0xe79d, 0x003f, 0x003f, 0x954e, 0x003f, 0xe7a5, 0x003f,\n    0x003f, 0x93d9, 0x908b, 0x003f, 0x003f, 0x9278, 0x003f, 0x8bf6,\n    0x003f, 0xe7a4, 0x9756, 0x895e, 0x003f, 0x95d5, 0x89df, 0xe79f,\n    0xe7a0, 0xe7a1, 0xe7a2, 0x93b9, 0x9242, 0x88e1, 0xe7a6, 0x003f,\n    0xe7a7, 0xeaa1, 0x003f, 0x003f, 0x91bb, 0x003f, 0xe7a8, 0x003f,\n    0x8993, 0x916b, 0x003f, 0x8cad, 0x003f, 0x9779, 0x003f, 0xee99,\n    0xe7a9, 0x934b, 0x003f, 0x003f, 0x003f, 0x9198, 0x8ed5, 0xe7aa,\n    0x003f, 0x003f, 0xe7ad, 0x003f, 0x003f, 0x8f85, 0xe7ab, 0x914a,\n    0x9149, 0x003f, 0x88e2, 0x003f, 0x97c9, 0xe7af, 0x003f, 0x94f0,\n    0xe7b1, 0xe7b0, 0xe7ae, 0xe284, 0x8ad2, 0x003f, 0x003f, 0xe78e,\n    0x003f, 0xe7b3, 0xe7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4,\n    0x003f, 0x9757, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x93df, 0x003f, 0x003f, 0x964d, 0x003f,\n    0xe7b5, 0x003f, 0x8ed7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b6,\n    0x003f, 0xe7b7, 0x003f, 0x003f, 0x003f, 0xe7b8, 0x003f, 0x003f,\n    0x9340, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x88e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x8d78, 0x003f, 0x003f, 0x003f, 0x9859, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7bc, 0x003f, 0x003f, 0xee9a, 0x003f,\n    0x003f, 0x8c53, 0xe7b9, 0x003f, 0xe7ba, 0x003f, 0x003f, 0x003f,\n    0x9594, 0x003f, 0x003f, 0x003f, 0x003f, 0x8a73, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9758, 0x003f, 0x8bbd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9373, 0x003f, 0x003f,\n    /* 0x9100 .. 0x91ff */\n    0x003f, 0x003f, 0xe7bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7be, 0x003f, 0x003f, 0xee9c, 0x003f, 0x003f,\n    0x003f, 0xe7bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xee9d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9341, 0x003f, 0x003f,\n    0xe7c1, 0x003f, 0xe7c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x93d1, 0xe7c2, 0x8f55, 0x8ede, 0x947a, 0x9291, 0x003f,\n    0x003f, 0x003f, 0x8ef0, 0x003f, 0x908c, 0x003f, 0xe7c3, 0x003f,\n    0xe7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x907c, 0xe7c5, 0x003f, 0xe7c6, 0x003f, 0x003f,\n    0x003f, 0xe7c7, 0x978f, 0x003f, 0x8f56, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7c9, 0xe7c8, 0x003f, 0x8d79, 0x003f, 0x8d93,\n    0x8e5f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x8f86,\n    0x003f, 0xe7cb, 0x003f, 0xe7ca, 0x003f, 0x91e7, 0x003f, 0x003f,\n    0x8ced, 0x003f, 0x90c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ae,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8f58, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7cd, 0x003f, 0x8fdd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7d0, 0xe7ce, 0x003f, 0x003f, 0x003f, 0xe7cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7d2, 0xe7d1, 0x003f, 0x003f,\n    0x8ff8, 0x003f, 0xe7d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7d4, 0xe7d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x94ce, 0x8dd1,\n    0x8edf, 0xe7d6, 0x003f, 0xe7d7, 0x97a2, 0x8f64, 0x96ec, 0x97ca,\n    0xe7d8, 0x8be0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7d9, 0xee9f,\n    0x9342, 0x003f, 0xee9e, 0xe7dc, 0x8a98, 0x906a, 0xeea0, 0xe7da,\n    0x003f, 0xe7db, 0x003f, 0x92de, 0xeea3, 0xeea4, 0x9674, 0x8bfa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea1, 0xeea2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7de, 0xe7df, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7dd, 0x003f, 0x003f, 0xe7e1,\n    /* 0x9200 .. 0x92ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeea5, 0x003f,\n    0x003f, 0x003f, 0xeea7, 0x003f, 0x003f, 0x93dd, 0x8a62, 0x003f,\n    0xeea6, 0xe7e5, 0x003f, 0x003f, 0xe7e2, 0xe7e4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe86e, 0x003f, 0x003f, 0xe7e3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x97e9, 0x003f, 0x003f, 0x8cd8,\n    0x003f, 0xeeae, 0xeea8, 0x003f, 0xeeaa, 0x003f, 0x003f, 0xe7ed,\n    0xeea9, 0x003f, 0x003f, 0x003f, 0x9353, 0xe7e8, 0x003f, 0x003f,\n    0xe7eb, 0xe7e9, 0x003f, 0xe7ee, 0x003f, 0x003f, 0xeeab, 0x003f,\n    0xe7ef, 0xeead, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e7,\n    0x003f, 0xeeac, 0xe7f4, 0x8994, 0x003f, 0x003f, 0xe7e6, 0x003f,\n    0x003f, 0x003f, 0x94ab, 0x003f, 0xe7ea, 0x003f, 0x8fde, 0xeeaf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8d7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb1,\n    0xeeb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9667, 0x003f,\n    0x8be2, 0x003f, 0x003f, 0x8f65, 0x003f, 0x93ba, 0x003f, 0x003f,\n    0xed43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x914c, 0x003f, 0xe7f2, 0x003f, 0xe7ec, 0xe7f1, 0x003f,\n    0x96c1, 0x003f, 0x92b6, 0xe7f3, 0xe7f0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeb0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x914b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f7,\n    0x003f, 0xe7f6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f5,\n    0xeeb6, 0x003f, 0x964e, 0xeeba, 0x003f, 0xeeb8, 0x003f, 0xeeb4,\n    0x003f, 0xeeb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeeb9, 0x003f, 0x003f, 0x003f, 0x8f9b, 0x003f, 0x003f, 0xeeb3,\n    0x003f, 0xe7f8, 0x95dd, 0x003f, 0x003f, 0x8973, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9565, 0x9292, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b98, 0xed49, 0xe7fa, 0xeebd, 0x8d7c, 0x003f, 0x003f, 0xeec0,\n    /* 0x9300 .. 0x93ff */\n    0x003f, 0x003f, 0xeec2, 0x003f, 0x003f, 0x003f, 0x8e4b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9,\n    0x908d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x908e, 0xe840, 0xe842, 0x003f, 0x003f, 0xeec1, 0xeebf, 0x003f,\n    0x8ff9, 0xeebc, 0xe841, 0xe843, 0x003f, 0xeebb, 0x8bd1, 0x003f,\n    0x9564, 0x003f, 0x003f, 0x8ee0, 0x9842, 0x003f, 0xe7fc, 0x8df6,\n    0x003f, 0x003f, 0x985e, 0x003f, 0x003f, 0xe845, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe844, 0xe846, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0x003f, 0x003f, 0x003f,\n    0xed42, 0x003f, 0x003f, 0x93e7, 0x003f, 0x9374, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x92d5, 0x003f, 0xe84b, 0xeec4,\n    0x003f, 0x003f, 0x003f, 0x9262, 0xe847, 0x003f, 0x003f, 0x003f,\n    0xe848, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8c4c, 0x003f, 0xe84a, 0x003f,\n    0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x8cae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe849, 0x003f, 0x8fdf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8a99, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe84f, 0x003f, 0x8dbd, 0x9199,\n    0x003f, 0x003f, 0x92c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeec5, 0x003f, 0x003f, 0x8a5a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe84d, 0xe84e, 0x92c1, 0x003f,\n    0xe84c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe856, 0x003f, 0x003f, 0xeec6, 0x003f,\n    0xe859, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe858, 0x934c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe851, 0xe852,\n    0xe855, 0x003f, 0x003f, 0x003f, 0x003f, 0xe857, 0xeec7, 0x003f,\n    0x003f, 0x8bbe, 0x003f, 0x003f, 0xe85a, 0xe854, 0x003f, 0x003f,\n    0xe853, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeec8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9400 .. 0x94ff */\n    0x003f, 0x003f, 0x003f, 0xe85e, 0x003f, 0x003f, 0x003f, 0xe85f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe860, 0x003f, 0x003f, 0xe85d, 0xe85c, 0x003f, 0x003f, 0x003f,\n    0x8fe0, 0x93a8, 0xe85b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe864, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe862, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe863, 0xe861, 0x003f,\n    0x91f6, 0x003f, 0xe865, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe866, 0x003f, 0x003f, 0xe868, 0xeeca, 0x003f, 0x003f,\n    0xeecb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8ad3, 0xe867, 0x96f8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe873, 0xe869, 0x003f, 0x003f, 0xe86c, 0x003f,\n    0xe86a, 0x003f, 0xe86b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe86d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe86f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe870, 0x003f, 0xe871,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe874, 0xe872, 0xe875, 0xe877,\n    0x003f, 0xe876, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9500 .. 0x95ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x96e5, 0x003f, 0xe878, 0x914d, 0x003f, 0x003f, 0x003f, 0xe879,\n    0x003f, 0x95c2, 0xe87a, 0x8a4a, 0x003f, 0x003f, 0x003f, 0x895b,\n    0x003f, 0x8ad5, 0xeecc, 0x8ad4, 0xe87b, 0x003f, 0xe87c, 0x003f,\n    0xe87d, 0xe87e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe880, 0x003f, 0x8ad6, 0x8a74, 0x8d7d, 0x94b4, 0x003f, 0xe882,\n    0xe881, 0x003f, 0x003f, 0x003f, 0x003f, 0xe883, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x897b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe886, 0x003f, 0xe885, 0xe884, 0x003f, 0xe887, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe88a, 0x003f, 0x003f, 0x003f, 0x88c5,\n    0x003f, 0x003f, 0xe888, 0x003f, 0xe88c, 0xe88b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe88e, 0xe88d, 0xe88f, 0x003f,\n    0x93ac, 0x003f, 0x003f, 0x003f, 0xe890, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe891, 0xe893, 0x003f, 0x003f, 0xe892, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9600 .. 0x96ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x958c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe894, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe895, 0x003f, 0x8de3, 0x003f, 0x003f, 0x003f, 0xe896, 0xe897,\n    0x003f, 0x003f, 0x9668, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x916a, 0x003f, 0x003f, 0x003f, 0x88a2,\n    0x91c9, 0x003f, 0xe898, 0x003f, 0x958d, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe89b, 0xe899, 0x8d7e, 0x003f, 0xe89a,\n    0x8cc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x95c3, 0xe89d, 0xe89f, 0xe89e, 0xe8a0,\n    0x003f, 0x003f, 0x8940, 0x9077, 0x8f9c, 0x8ad7, 0xe8a1, 0x003f,\n    0x003f, 0x003f, 0x9486, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f,\n    0x8941, 0x003f, 0xe8a2, 0x92c2, 0x003f, 0x97cb, 0x93a9, 0xe89c,\n    0x97a4, 0x003f, 0x8caf, 0x003f, 0x003f, 0x977a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8bf7, 0x97b2, 0x003f,\n    0x8c47, 0x003f, 0x91e0, 0xe440, 0x003f, 0xe8a4, 0x8a4b, 0x908f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8a75, 0xe8a6, 0x003f, 0xe8a7,\n    0xe8a5, 0x8c84, 0x003f, 0x8ddb, 0x8fe1, 0xeecf, 0x003f, 0x003f,\n    0x8942, 0x003f, 0x003f, 0x97d7, 0x003f, 0x003f, 0x003f, 0xe8a9,\n    0xe7ac, 0x003f, 0xe8a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed0,\n    0xe8ac, 0xe8aa, 0xe8ab, 0x003f, 0xe8ad, 0x003f, 0xe8ae, 0x97ea,\n    0xe8af, 0xe8b0, 0x003f, 0x90c7, 0x94b9, 0x003f, 0x003f, 0x003f,\n    0x909d, 0x8ae5, 0x003f, 0x003f, 0x9759, 0x89eb, 0x8f57, 0x8cd9,\n    0x003f, 0xe8b3, 0x003f, 0xe8b2, 0x8e93, 0xe8b4, 0xe8b1, 0x003f,\n    0x003f, 0x8e47, 0x003f, 0x003f, 0x003f, 0xe8b8, 0xe5ab, 0x003f,\n    0x003f, 0x99d4, 0x003f, 0x9097, 0xe8b6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x97a3, 0x93ef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x894a, 0x003f, 0x90e1, 0x8eb4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x95b5, 0x003f, 0x895f, 0x003f, 0x003f, 0x003f, 0x97eb, 0x978b,\n    0x003f, 0xe8b9, 0x003f, 0x9364, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9700 .. 0x97ff */\n    0x8ef9, 0x003f, 0x003f, 0x003f, 0xe8ba, 0x003f, 0xe8bb, 0x906b,\n    0xe8bc, 0x003f, 0x97ec, 0x003f, 0x003f, 0xe8b7, 0xe8be, 0xe8c0,\n    0x003f, 0xe8bf, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xe8c1, 0x003f,\n    0x003f, 0xe8c2, 0x003f, 0x003f, 0x919a, 0x003f, 0x89e0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8c3, 0x003f, 0x003f, 0x96b6,\n    0x003f, 0x003f, 0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8c5, 0x003f, 0x9849, 0xeed1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9e50, 0xe8c6, 0x003f, 0xeed2, 0x003f, 0xe8c7, 0xe8c8, 0x003f,\n    0x003f, 0x003f, 0xe8cc, 0xeed3, 0xe8c9, 0x003f, 0xe8ca, 0x003f,\n    0xe8cb, 0xe8cd, 0x003f, 0x003f, 0x003f, 0xeed4, 0x003f, 0xeed5,\n    0x003f, 0xeed6, 0x90c2, 0x003f, 0x003f, 0xeed7, 0x96f5, 0x003f,\n    0x003f, 0x90c3, 0x003f, 0x003f, 0xe8ce, 0x003f, 0x94f1, 0x003f,\n    0xe8cf, 0xea72, 0x96ca, 0x003f, 0xe8d0, 0x003f, 0xe8d1, 0x003f,\n    0xe8d2, 0x8a76, 0x003f, 0xe8d4, 0x003f, 0x9078, 0x003f, 0x003f,\n    0x003f, 0xe8d5, 0x003f, 0x003f, 0x8c43, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8d6, 0xe8da, 0x003f, 0xe8d8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8d9, 0x003f, 0x003f, 0x8a93, 0xe8d7, 0xe8db, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8dc, 0x003f, 0x88c6, 0x003f, 0xe8dd,\n    0xe8de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8fe2, 0x003f, 0x003f, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f,\n    0x8b66, 0x003f, 0x003f, 0xe8e2, 0x003f, 0x003f, 0xe8e1, 0x003f,\n    0xe8e0, 0x003f, 0x003f, 0xe691, 0x003f, 0x95da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8e3, 0xe8e4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f, 0xe8e6, 0x003f,\n    0xe8e7, 0x003f, 0x003f, 0xe8e8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8ad8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8ea, 0x9442, 0x003f,\n    0x003f, 0x003f, 0xe8ec, 0x89b9, 0x003f, 0xe8ef, 0xe8ee, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8943, 0x003f, 0x003f, 0x003f, 0x8bbf,\n    /* 0x9800 .. 0x98ff */\n    0x003f, 0x95c5, 0x92b8, 0x8da0, 0x003f, 0x8d80, 0x8f87, 0x003f,\n    0x907b, 0x003f, 0x003f, 0x003f, 0xe8f1, 0x003f, 0x003f, 0xe8f0,\n    0x9761, 0x8ae6, 0x94d0, 0x93da, 0x003f, 0x003f, 0x003f, 0x909c,\n    0x97cc, 0x003f, 0x8c7a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8f4, 0x003f, 0x003f, 0xe8f3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x966a, 0x93aa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x896f, 0x003f, 0x003f, 0xe8f5,\n    0xe8f2, 0x003f, 0x003f, 0x9570, 0x978a, 0xe8f6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8f7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8f9, 0x91e8, 0x8a7a, 0x8a7b, 0xe8f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8ae7, 0x8cb0, 0x003f, 0xeed8,\n    0x8ae8, 0x003f, 0x003f, 0x935e, 0x003f, 0x003f, 0x97de, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x8cda,\n    0x003f, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0x003f, 0xe8fb,\n    0xe8fc, 0xe940, 0x003f, 0xe942, 0xe941, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9597, 0x003f, 0xe943, 0x003f, 0x003f, 0x003f, 0x003f, 0xe944,\n    0x003f, 0xe945, 0x003f, 0x003f, 0x003f, 0x003f, 0xe946, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe948, 0xe947, 0x003f, 0xe949, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x94f2, 0xe3ca, 0x003f, 0x003f, 0x9048,\n    0x003f, 0x003f, 0x8b51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe94a, 0x003f, 0xe94b, 0x003f, 0x99aa, 0x9f5a, 0x94d1,\n    0x003f, 0x003f, 0x88f9, 0x003f, 0x88b9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x8e94, 0x964f, 0x8ffc, 0x003f,\n    /* 0x9900 .. 0x99ff */\n    0x003f, 0x003f, 0x003f, 0xe94c, 0x003f, 0x96dd, 0x003f, 0x003f,\n    0x003f, 0xe94d, 0x977b, 0x003f, 0x8961, 0x003f, 0x003f, 0x003f,\n    0x8e60, 0x003f, 0xe94e, 0x89ec, 0xe94f, 0x003f, 0x003f, 0x003f,\n    0xe950, 0x003f, 0x003f, 0x003f, 0x003f, 0xe952, 0xe953, 0x003f,\n    0xe955, 0xe951, 0x003f, 0x003f, 0xe954, 0x003f, 0x003f, 0xeedc,\n    0x8ad9, 0x003f, 0x003f, 0x003f, 0xe956, 0x003f, 0xe957, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe958, 0xe959, 0x003f,\n    0x003f, 0x003f, 0xe95a, 0x003f, 0x003f, 0xe95c, 0x003f, 0x003f,\n    0x003f, 0xe95b, 0x003f, 0xe95e, 0xe961, 0x003f, 0x003f, 0x003f,\n    0xe95d, 0xe95f, 0xe960, 0x003f, 0x003f, 0xe962, 0x003f, 0x8bc0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8ef1, 0xe963,\n    0xe964, 0x8d81, 0x003f, 0x003f, 0x003f, 0x003f, 0xeede, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe965, 0x003f, 0x003f,\n    0x8a5d, 0x003f, 0x003f, 0x003f, 0x946e, 0xe966, 0xe967, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9279, 0x93e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe968, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x949d, 0x003f, 0x003f, 0x91ca, 0x8977, 0x8bec, 0x003f,\n    0x8bed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9293, 0xe96d, 0x8bee, 0x003f, 0x003f, 0x89ed, 0x003f, 0x003f,\n    0xe96c, 0x003f, 0x003f, 0xe96a, 0x003f, 0xe96b, 0x003f, 0xe969,\n    0x003f, 0x003f, 0xe977, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe96e, 0xe96f, 0x003f,\n    0x003f, 0xe970, 0xe971, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe973, 0x003f, 0x003f, 0xe972, 0x003f, 0x003f, 0x003f, 0x8f78,\n    /* 0x9a00 .. 0x9aff */\n    0x003f, 0xe974, 0x003f, 0x003f, 0x003f, 0xe976, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8b52, 0xe975,\n    0x003f, 0x003f, 0x919b, 0x8cb1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe978, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x91cb, 0x003f, 0x003f, 0xe979, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x93ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe97a,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe980, 0x003f,\n    0xe97d, 0x003f, 0xe97c, 0xe97e, 0x003f, 0xe97b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe982, 0xeedf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe981, 0x003f, 0xe984,\n    0x003f, 0x003f, 0x8bc1, 0xe983, 0x003f, 0x003f, 0x003f, 0xe985,\n    0x003f, 0x003f, 0xe986, 0x003f, 0xe988, 0xe987, 0x003f, 0x003f,\n    0x003f, 0xe989, 0xe98b, 0xe98a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8d9c, 0x003f, 0x003f, 0x003f, 0x003f, 0xe98c, 0x003f, 0x003f,\n    0xe98d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8a5b, 0x003f, 0x003f, 0x003f, 0xe98e, 0x003f, 0x003f, 0x003f,\n    0xe98f, 0x003f, 0x003f, 0x003f, 0x9091, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe990,\n    0x003f, 0xe991, 0x003f, 0xe992, 0xe993, 0x003f, 0x003f, 0x003f,\n    0x8d82, 0xeee0, 0x003f, 0x003f, 0xeee1, 0x003f, 0xe994, 0xe995,\n    0x003f, 0x003f, 0xe996, 0xe997, 0x003f, 0x003f, 0xe998, 0x003f,\n    0x003f, 0x003f, 0x94af, 0xe99a, 0x003f, 0x9545, 0xe99b, 0xe999,\n    0x003f, 0xe99d, 0x003f, 0x003f, 0xe99c, 0x003f, 0x003f, 0xe99e,\n    0x003f, 0x003f, 0x003f, 0xe99f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9b00 .. 0x9bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9a1, 0x003f, 0xe9a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a3,\n    0x003f, 0x003f, 0xe9a4, 0xe9a5, 0x003f, 0xe9a6, 0x003f, 0xe9a7,\n    0xe9a8, 0xe9a9, 0xe9aa, 0x003f, 0x003f, 0x003f, 0xe9ab, 0xe9ac,\n    0x003f, 0x9f54, 0xe9ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2f6, 0x8b53, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a40, 0x8db0, 0xe9af, 0xe9ae, 0x96a3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0xe9b2, 0xe9b0,\n    0x003f, 0xe9b3, 0x003f, 0x003f, 0x9682, 0x003f, 0x003f, 0x003f,\n    0xe9b4, 0x003f, 0x8b9b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9844,\n    0x003f, 0x003f, 0xeee3, 0x003f, 0xe9b5, 0xeee2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9b7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x88bc, 0xeee4,\n    0x003f, 0xe9b8, 0x95a9, 0xe9b6, 0x003f, 0x003f, 0xe9b9, 0xe9ba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9bb,\n    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9bd, 0x003f, 0x968e, 0x8e4c, 0x003f, 0x8df8, 0x914e, 0x003f,\n    0x003f, 0xeee5, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9c1, 0x003f, 0xeee6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c2, 0x003f,\n    0x003f, 0x8cef, 0xe9c0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c3,\n    0x003f, 0xe9c4, 0xe9c5, 0x003f, 0xe9c9, 0x003f, 0x8e49, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x91e2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9ca, 0xe9c7, 0xe9c6, 0xe9c8, 0x003f, 0x003f, 0x003f,\n    0x8c7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9ce, 0xe9cd, 0xe9cc, 0x003f, 0x003f, 0x88b1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9c00 .. 0x9cff */\n    0xeee7, 0x003f, 0x003f, 0x003f, 0xe9d8, 0x003f, 0xe9d4, 0x003f,\n    0xe9d5, 0xe9d1, 0xe9d7, 0x003f, 0xe9d3, 0x8a82, 0x003f, 0x003f,\n    0x986b, 0x003f, 0xe9d6, 0xe9d2, 0xe9d0, 0xe9cf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9da, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9dd, 0x003f, 0x003f, 0xe9dc, 0xe9db, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9568, 0xe9d9, 0x88f1,\n    0xe9de, 0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8a8f, 0xe9cb, 0x8956, 0x003f, 0x003f, 0xe9e2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e1, 0xe9df,\n    0x924c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x9690, 0x003f, 0x003f, 0x003f, 0x003f, 0x97d8,\n    0x003f, 0x003f, 0xe9e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e6, 0x003f,\n    0xe9e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x92b9, 0x003f, 0xe9e8,\n    0x003f, 0x94b5, 0x003f, 0xe9ed, 0xe9e9, 0x003f, 0x003f, 0x003f,\n    0xe9ea, 0x003f, 0x003f, 0x9650, 0x96c2, 0x003f, 0x93ce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9d00 .. 0x9dff */\n    0x003f, 0x003f, 0x003f, 0xe9ee, 0x003f, 0x003f, 0xe9ef, 0x93bc,\n    0xe9ec, 0xe9eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x89a8, 0x003f,\n    0x003f, 0x003f, 0xe9f7, 0x003f, 0x003f, 0xe9f6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8995, 0x003f, 0x003f, 0x003f, 0xe9f4,\n    0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f, 0x003f, 0xe9f1, 0x003f,\n    0x8a9b, 0x003f, 0xe9f0, 0x8eb0, 0x89a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8d83, 0x003f, 0x003f, 0xe9fa, 0xe9f9,\n    0x003f, 0xe9f8, 0x003f, 0x003f, 0xe9f5, 0x003f, 0xe9fb, 0x003f,\n    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xea44, 0xea43, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xea45, 0x003f, 0x003f, 0x894c, 0xea40, 0xea41, 0x003f,\n    0x8d94, 0x96b7, 0x003f, 0x003f, 0xea42, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeee9, 0x9651, 0x003f, 0x003f, 0xea4a,\n    0xeee8, 0x003f, 0xea46, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xea4b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea48,\n    0x003f, 0xea47, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x8c7b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xea4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xea4d, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xea4e, 0x003f, 0xea49, 0x003f, 0x003f, 0x003f, 0xe9f2,\n    0x003f, 0x003f, 0xea4f, 0x003f, 0x92df, 0x003f, 0x003f, 0x003f,\n    0xea53, 0x003f, 0xea54, 0xea52, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xea51, 0xea57, 0x003f, 0xea50, 0x003f, 0xea55, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea56,\n    0x003f, 0x003f, 0x003f, 0xea59, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xea58, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea5c, 0x003f, 0xea5d,\n    0x003f, 0x003f, 0x9868, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xea5a, 0x91e9, 0x8deb, 0x003f, 0x003f, 0xea5e, 0x003f, 0x003f,\n    /* 0x9e00 .. 0x9eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeeeb, 0xea5f, 0xea60, 0x003f, 0x003f, 0xea61, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea62, 0x003f, 0x003f,\n    0x8cb2, 0xea63, 0x003f, 0x003f, 0x003f, 0xea64, 0x003f, 0x8ead,\n    0x003f, 0xea65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xea66, 0x003f, 0x003f, 0xea67, 0xea68, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xea6b, 0xea69, 0x985b, 0x003f, 0xea6a, 0x003f, 0x97ed,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0x97d9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea6d, 0x949e, 0x003f,\n    0x003f, 0xea6e, 0xea70, 0x003f, 0x003f, 0xea71, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xea6f, 0x8d8d, 0x96cb, 0x9683, 0x9bf5, 0x003f, 0x9f80, 0x969b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x89a9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xea73, 0x8b6f, 0xea74, 0xea75,\n    0xea76, 0xeeec, 0x8d95, 0x003f, 0xea77, 0x003f, 0x003f, 0x003f,\n    0xe0d2, 0x96d9, 0x003f, 0x91e1, 0xea78, 0xea7a, 0xea79, 0x003f,\n    0xea7b, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7c, 0x003f, 0x003f,\n    0xea7d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea7e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xea80, 0x003f, 0xea81, 0xea82,\n    0x003f, 0xea83, 0x003f, 0xea84, 0xea85, 0xea86, 0x003f, 0x003f,\n    /* 0x9f00 .. 0x9fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea87,\n    0xea88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x9343, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x8cdb, 0x003f, 0xea8a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x916c, 0xea8b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xea8c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x9540, 0x003f, 0x003f, 0xea8d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xea8e, 0xe256, 0x003f, 0x003f, 0xe6d8, 0xe8eb,\n    0x003f, 0x003f, 0xea8f, 0x003f, 0xea90, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea92,\n    0xea93, 0xea94, 0x97ee, 0xea91, 0x003f, 0x003f, 0xea95, 0xea96,\n    0x003f, 0x003f, 0xea98, 0x003f, 0xea97, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xea9a, 0x003f, 0x003f, 0x003f, 0xea9b, 0xea99,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x97b4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xea9c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xea9d, 0xe273, 0x003f, 0x003f,\n    0xea9e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xf900 .. 0xf9ff */\n    0xe6af, 0x8d58, 0x8ed4, 0xe6c9, 0x8a8a, 0x8bf8, 0x8be5, 0xea9d,\n    0xea9d, 0x8c5f, 0x8be0, 0x9a68, 0x93de, 0x9cef, 0xe19a, 0x9785,\n    0xe566, 0x9786, 0x9787, 0xe7b4, 0x9ed9, 0x978c, 0xe080, 0xe0e2,\n    0x978e, 0x978f, 0xe970, 0x98aa, 0x9791, 0x9793, 0xe0a3, 0x9796,\n    0xea61, 0x9792, 0x9794, 0x9795, 0xe641, 0x9d66, 0xe463, 0x003f,\n    0x984c, 0xedc4, 0x9851, 0x9854, 0x9859, 0x98d2, 0x97e2, 0x99a7,\n    0x003f, 0x9845, 0xe0a2, 0xe1b8, 0x9856, 0xe562, 0x97b8, 0x9848,\n    0x9849, 0x9844, 0x8deb, 0xe1ef, 0xe252, 0xee70, 0x003f, 0x003f,\n    0x8ead, 0x985f, 0x9ae0, 0x984d, 0xe2c4, 0x9857, 0x9853, 0xe1fb,\n    0x9847, 0x978b, 0x9adc, 0x003f, 0x9eea, 0x003f, 0x9852, 0x97dd,\n    0xe37e, 0xe89b, 0xe8d3, 0x985d, 0xeaa3, 0x97bd, 0x97c5, 0x88bb,\n    0x9548, 0x97cb, 0xe6a4, 0x9d5b, 0x9ed9, 0x91f8, 0x924f, 0x944a,\n    0x937b, 0x97a6, 0x88d9, 0x966b, 0x003f, 0x95d6, 0x959c, 0x9573,\n    0x94e5, 0x9dc9, 0x8df5, 0x99d2, 0x8dc7, 0x8fc8, 0x9774, 0x003f,\n    0x8e45, 0x9243, 0x92be, 0x8f45, 0x8ee1, 0x97a9, 0x97aa, 0x97ba,\n    0x995f, 0x9979, 0x97c0, 0x97c6, 0x97c7, 0x97c8, 0x97ca, 0x99ad,\n    0x9843, 0x8f97, 0x9c49, 0x97b7, 0xe068, 0xe1e8, 0xe883, 0xe98b,\n    0x97ed, 0xea74, 0x97cd, 0x003f, 0x003f, 0xe780, 0x944e, 0x97f7,\n    0x9cf6, 0x9451, 0x97f8, 0x97f9, 0xee50, 0x003f, 0x97fb, 0x97fc,\n    0xe772, 0x9840, 0x9841, 0x003f, 0x97f1, 0x97f2, 0x88f4, 0x97f3,\n    0x97f4, 0x003f, 0x97f5, 0x944f, 0x9450, 0x003f, 0x97fa, 0xe0d8,\n    0x97df, 0x9a9a, 0x944a, 0x97e4, 0x97e5, 0x97e6, 0xe0f0, 0xe3b7,\n    0xe3d7, 0x97e9, 0x97eb, 0xe8cb, 0x97cc, 0x97e1, 0xe258, 0xe7d2,\n    0xe8af, 0x9ca6, 0x97b9, 0x97bb, 0x97be, 0x9441, 0x97bf, 0x9ed9,\n    0xe099, 0x97c3, 0xe4f8, 0x97c9, 0x97b4, 0x9df2, 0xe896, 0x97ab,\n    0x003f, 0x96f6, 0x97ac, 0x97ad, 0x97ae, 0x97af, 0x97b0, 0x9552,\n    0x97de, 0x985a, 0x9d43, 0x97a4, 0x97cf, 0x9bc4, 0x9fcb, 0x97d6,\n    0x97a5, 0x9cc9, 0x8c49, 0x97a6, 0xeecd, 0x9798, 0x9799, 0x979a,\n    0x88d5, 0x979b, 0x979c, 0x9344, 0x979d, 0x979f, 0x9ceb, 0x97a0,\n    0x97a1, 0x97a2, 0x97a3, 0x93bd, 0x934d, 0x99e5, 0x97d3, 0x003f,\n    0xe561, 0x97d7, 0x97d8, 0x97d9, 0x97d1, 0x97d2, 0x97d5, 0x97a7,\n    0x8a7d, 0x97b1, 0x003f, 0xe074, 0x8eaf, 0x8f59, 0x9283, 0x8e68,\n    /* 0xfa00 .. 0xfaff */\n    0x90d8, 0x9378, 0x91f1, 0x939c, 0x91ee, 0x93b4, 0x965c, 0xe774,\n    0x8d73, 0x8d7e, 0x8ca9, 0x8a66, 0x9959, 0x003f, 0xed73, 0xed7e,\n    0xed80, 0xed95, 0xedbc, 0xedcc, 0xedce, 0xedf9, 0xee42, 0xee59,\n    0xee61, 0xee62, 0xee63, 0xee65, 0xee69, 0xee6c, 0xee75, 0xee81,\n    0xee83, 0xee84, 0xee8d, 0xee95, 0xee97, 0xee98, 0xee9b, 0xeeb7,\n    0xeebe, 0xeece, 0xeeda, 0xeedb, 0xeedd, 0xeeea, 0x003f, 0x003f,\n    0x958e, 0x916d, 0x96c6, 0x95d7, 0x8bce, 0x94da, 0x8a85, 0x9251,\n    0x8aed, 0x95bb, 0x966e, 0x9177, 0x9ba3, 0x89f7, 0x8a53, 0x919e,\n    0x92a6, 0x9571, 0x8af9, 0x8f8b, 0x947e, 0x8a43, 0x8f8d, 0x8abf,\n    0x8ecf, 0x003f, 0x91f4, 0x94e8, 0x8ed0, 0x8e83, 0x8b46, 0x9753,\n    0x9163, 0x8f6a, 0x89d0, 0x92f5, 0x8d92, 0x93cb, 0x90df, 0x97fb,\n    0xe375, 0x94c9, 0x8f90, 0x8ed2, 0x8f4c, 0x003f, 0x003f, 0x9298,\n    0x8a8c, 0x8e8b, 0x8979, 0x8bde, 0x956f, 0x91a1, 0x003f, 0x88ed,\n    0x93ef, 0x8bbf, 0x9570, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfb00 .. 0xfbff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfe00 .. 0xfeff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x815c, 0x815c, 0x815c, 0x815c, 0x005f, 0x005f, 0x005f,\n    0x002c, 0x8141, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,\n    0x815c, 0x0028, 0x0029, 0x007b, 0x007d, 0x816b, 0x816c, 0x0023,\n    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,\n    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xff00 .. 0xffff */\n    0x003f, 0x8149, 0xeefc, 0x8194, 0x8190, 0x8193, 0x8195, 0xeefb,\n    0x8169, 0x816a, 0x8196, 0x817b, 0x8143, 0x817c, 0x8144, 0x815e,\n    0x824f, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254, 0x8255, 0x8256,\n    0x8257, 0x8258, 0x8146, 0x8147, 0x8183, 0x8181, 0x8184, 0x8148,\n    0x8197, 0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266,\n    0x8267, 0x8268, 0x8269, 0x826a, 0x826b, 0x826c, 0x826d, 0x826e,\n    0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274, 0x8275, 0x8276,\n    0x8277, 0x8278, 0x8279, 0x816d, 0x815f, 0x816e, 0x814f, 0x8151,\n    0x814d, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,\n    0x8288, 0x8289, 0x828a, 0x828b, 0x828c, 0x828d, 0x828e, 0x828f,\n    0x8290, 0x8291, 0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297,\n    0x8298, 0x8299, 0x829a, 0x816f, 0x8162, 0x8170, 0x8160, 0x003f,\n    0x003f, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7,\n    0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af,\n    0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7,\n    0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf,\n    0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7,\n    0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf,\n    0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7,\n    0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8191, 0x8192, 0x81ca, 0x8150, 0xeefa, 0x818f, 0x003f, 0x003f,\n    0x84a0, 0x81a9, 0x81aa, 0x81a8, 0x81ab, 0x81a1, 0x819b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* defaults */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0e00, 0x0f00,\n    0x1000, 0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,\n    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,\n    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,\n    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,\n    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,\n    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,\n    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,\n    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,\n    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,\n    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,\n    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00\n};\n\nconst struct dbcs_table cptable_932 =\n{\n    { 932, 2, 0x003f, 0x003f, \"ANSI/OEM Japanese Shift-JIS\" },\n    cp2uni,\n    cp2uni_leadbytes,\n    uni2cp_low,\n    uni2cp_high,\n    { 0x81, 0x9f, 0xe0, 0xfc, 0x00, 0x00 }\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_936.cpp",
    "content": "/* code page 936 (ANSI/OEM Simplified Chinese GBK) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[32512] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x20ac, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,\n    /* lead byte 81 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4e02, 0x4e04, 0x4e05, 0x4e06, 0x4e0f, 0x4e12, 0x4e17, 0x4e1f,\n    0x4e20, 0x4e21, 0x4e23, 0x4e26, 0x4e29, 0x4e2e, 0x4e2f, 0x4e31,\n    0x4e33, 0x4e35, 0x4e37, 0x4e3c, 0x4e40, 0x4e41, 0x4e42, 0x4e44,\n    0x4e46, 0x4e4a, 0x4e51, 0x4e55, 0x4e57, 0x4e5a, 0x4e5b, 0x4e62,\n    0x4e63, 0x4e64, 0x4e65, 0x4e67, 0x4e68, 0x4e6a, 0x4e6b, 0x4e6c,\n    0x4e6d, 0x4e6e, 0x4e6f, 0x4e72, 0x4e74, 0x4e75, 0x4e76, 0x4e77,\n    0x4e78, 0x4e79, 0x4e7a, 0x4e7b, 0x4e7c, 0x4e7d, 0x4e7f, 0x4e80,\n    0x4e81, 0x4e82, 0x4e83, 0x4e84, 0x4e85, 0x4e87, 0x4e8a, 0x003f,\n    0x4e90, 0x4e96, 0x4e97, 0x4e99, 0x4e9c, 0x4e9d, 0x4e9e, 0x4ea3,\n    0x4eaa, 0x4eaf, 0x4eb0, 0x4eb1, 0x4eb4, 0x4eb6, 0x4eb7, 0x4eb8,\n    0x4eb9, 0x4ebc, 0x4ebd, 0x4ebe, 0x4ec8, 0x4ecc, 0x4ecf, 0x4ed0,\n    0x4ed2, 0x4eda, 0x4edb, 0x4edc, 0x4ee0, 0x4ee2, 0x4ee6, 0x4ee7,\n    0x4ee9, 0x4eed, 0x4eee, 0x4eef, 0x4ef1, 0x4ef4, 0x4ef8, 0x4ef9,\n    0x4efa, 0x4efc, 0x4efe, 0x4f00, 0x4f02, 0x4f03, 0x4f04, 0x4f05,\n    0x4f06, 0x4f07, 0x4f08, 0x4f0b, 0x4f0c, 0x4f12, 0x4f13, 0x4f14,\n    0x4f15, 0x4f16, 0x4f1c, 0x4f1d, 0x4f21, 0x4f23, 0x4f28, 0x4f29,\n    0x4f2c, 0x4f2d, 0x4f2e, 0x4f31, 0x4f33, 0x4f35, 0x4f37, 0x4f39,\n    0x4f3b, 0x4f3e, 0x4f3f, 0x4f40, 0x4f41, 0x4f42, 0x4f44, 0x4f45,\n    0x4f47, 0x4f48, 0x4f49, 0x4f4a, 0x4f4b, 0x4f4c, 0x4f52, 0x4f54,\n    0x4f56, 0x4f61, 0x4f62, 0x4f66, 0x4f68, 0x4f6a, 0x4f6b, 0x4f6d,\n    0x4f6e, 0x4f71, 0x4f72, 0x4f75, 0x4f77, 0x4f78, 0x4f79, 0x4f7a,\n    0x4f7d, 0x4f80, 0x4f81, 0x4f82, 0x4f85, 0x4f86, 0x4f87, 0x4f8a,\n    0x4f8c, 0x4f8e, 0x4f90, 0x4f92, 0x4f93, 0x4f95, 0x4f96, 0x4f98,\n    0x4f99, 0x4f9a, 0x4f9c, 0x4f9e, 0x4f9f, 0x4fa1, 0x4fa2, 0x003f,\n    /* lead byte 82 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4fa4, 0x4fab, 0x4fad, 0x4fb0, 0x4fb1, 0x4fb2, 0x4fb3, 0x4fb4,\n    0x4fb6, 0x4fb7, 0x4fb8, 0x4fb9, 0x4fba, 0x4fbb, 0x4fbc, 0x4fbd,\n    0x4fbe, 0x4fc0, 0x4fc1, 0x4fc2, 0x4fc6, 0x4fc7, 0x4fc8, 0x4fc9,\n    0x4fcb, 0x4fcc, 0x4fcd, 0x4fd2, 0x4fd3, 0x4fd4, 0x4fd5, 0x4fd6,\n    0x4fd9, 0x4fdb, 0x4fe0, 0x4fe2, 0x4fe4, 0x4fe5, 0x4fe7, 0x4feb,\n    0x4fec, 0x4ff0, 0x4ff2, 0x4ff4, 0x4ff5, 0x4ff6, 0x4ff7, 0x4ff9,\n    0x4ffb, 0x4ffc, 0x4ffd, 0x4fff, 0x5000, 0x5001, 0x5002, 0x5003,\n    0x5004, 0x5005, 0x5006, 0x5007, 0x5008, 0x5009, 0x500a, 0x003f,\n    0x500b, 0x500e, 0x5010, 0x5011, 0x5013, 0x5015, 0x5016, 0x5017,\n    0x501b, 0x501d, 0x501e, 0x5020, 0x5022, 0x5023, 0x5024, 0x5027,\n    0x502b, 0x502f, 0x5030, 0x5031, 0x5032, 0x5033, 0x5034, 0x5035,\n    0x5036, 0x5037, 0x5038, 0x5039, 0x503b, 0x503d, 0x503f, 0x5040,\n    0x5041, 0x5042, 0x5044, 0x5045, 0x5046, 0x5049, 0x504a, 0x504b,\n    0x504d, 0x5050, 0x5051, 0x5052, 0x5053, 0x5054, 0x5056, 0x5057,\n    0x5058, 0x5059, 0x505b, 0x505d, 0x505e, 0x505f, 0x5060, 0x5061,\n    0x5062, 0x5063, 0x5064, 0x5066, 0x5067, 0x5068, 0x5069, 0x506a,\n    0x506b, 0x506d, 0x506e, 0x506f, 0x5070, 0x5071, 0x5072, 0x5073,\n    0x5074, 0x5075, 0x5078, 0x5079, 0x507a, 0x507c, 0x507d, 0x5081,\n    0x5082, 0x5083, 0x5084, 0x5086, 0x5087, 0x5089, 0x508a, 0x508b,\n    0x508c, 0x508e, 0x508f, 0x5090, 0x5091, 0x5092, 0x5093, 0x5094,\n    0x5095, 0x5096, 0x5097, 0x5098, 0x5099, 0x509a, 0x509b, 0x509c,\n    0x509d, 0x509e, 0x509f, 0x50a0, 0x50a1, 0x50a2, 0x50a4, 0x50a6,\n    0x50aa, 0x50ab, 0x50ad, 0x50ae, 0x50af, 0x50b0, 0x50b1, 0x50b3,\n    0x50b4, 0x50b5, 0x50b6, 0x50b7, 0x50b8, 0x50b9, 0x50bc, 0x003f,\n    /* lead byte 83 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x50bd, 0x50be, 0x50bf, 0x50c0, 0x50c1, 0x50c2, 0x50c3, 0x50c4,\n    0x50c5, 0x50c6, 0x50c7, 0x50c8, 0x50c9, 0x50ca, 0x50cb, 0x50cc,\n    0x50cd, 0x50ce, 0x50d0, 0x50d1, 0x50d2, 0x50d3, 0x50d4, 0x50d5,\n    0x50d7, 0x50d8, 0x50d9, 0x50db, 0x50dc, 0x50dd, 0x50de, 0x50df,\n    0x50e0, 0x50e1, 0x50e2, 0x50e3, 0x50e4, 0x50e5, 0x50e8, 0x50e9,\n    0x50ea, 0x50eb, 0x50ef, 0x50f0, 0x50f1, 0x50f2, 0x50f4, 0x50f6,\n    0x50f7, 0x50f8, 0x50f9, 0x50fa, 0x50fc, 0x50fd, 0x50fe, 0x50ff,\n    0x5100, 0x5101, 0x5102, 0x5103, 0x5104, 0x5105, 0x5108, 0x003f,\n    0x5109, 0x510a, 0x510c, 0x510d, 0x510e, 0x510f, 0x5110, 0x5111,\n    0x5113, 0x5114, 0x5115, 0x5116, 0x5117, 0x5118, 0x5119, 0x511a,\n    0x511b, 0x511c, 0x511d, 0x511e, 0x511f, 0x5120, 0x5122, 0x5123,\n    0x5124, 0x5125, 0x5126, 0x5127, 0x5128, 0x5129, 0x512a, 0x512b,\n    0x512c, 0x512d, 0x512e, 0x512f, 0x5130, 0x5131, 0x5132, 0x5133,\n    0x5134, 0x5135, 0x5136, 0x5137, 0x5138, 0x5139, 0x513a, 0x513b,\n    0x513c, 0x513d, 0x513e, 0x5142, 0x5147, 0x514a, 0x514c, 0x514e,\n    0x514f, 0x5150, 0x5152, 0x5153, 0x5157, 0x5158, 0x5159, 0x515b,\n    0x515d, 0x515e, 0x515f, 0x5160, 0x5161, 0x5163, 0x5164, 0x5166,\n    0x5167, 0x5169, 0x516a, 0x516f, 0x5172, 0x517a, 0x517e, 0x517f,\n    0x5183, 0x5184, 0x5186, 0x5187, 0x518a, 0x518b, 0x518e, 0x518f,\n    0x5190, 0x5191, 0x5193, 0x5194, 0x5198, 0x519a, 0x519d, 0x519e,\n    0x519f, 0x51a1, 0x51a3, 0x51a6, 0x51a7, 0x51a8, 0x51a9, 0x51aa,\n    0x51ad, 0x51ae, 0x51b4, 0x51b8, 0x51b9, 0x51ba, 0x51be, 0x51bf,\n    0x51c1, 0x51c2, 0x51c3, 0x51c5, 0x51c8, 0x51ca, 0x51cd, 0x51ce,\n    0x51d0, 0x51d2, 0x51d3, 0x51d4, 0x51d5, 0x51d6, 0x51d7, 0x003f,\n    /* lead byte 84 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x51d8, 0x51d9, 0x51da, 0x51dc, 0x51de, 0x51df, 0x51e2, 0x51e3,\n    0x51e5, 0x51e6, 0x51e7, 0x51e8, 0x51e9, 0x51ea, 0x51ec, 0x51ee,\n    0x51f1, 0x51f2, 0x51f4, 0x51f7, 0x51fe, 0x5204, 0x5205, 0x5209,\n    0x520b, 0x520c, 0x520f, 0x5210, 0x5213, 0x5214, 0x5215, 0x521c,\n    0x521e, 0x521f, 0x5221, 0x5222, 0x5223, 0x5225, 0x5226, 0x5227,\n    0x522a, 0x522c, 0x522f, 0x5231, 0x5232, 0x5234, 0x5235, 0x523c,\n    0x523e, 0x5244, 0x5245, 0x5246, 0x5247, 0x5248, 0x5249, 0x524b,\n    0x524e, 0x524f, 0x5252, 0x5253, 0x5255, 0x5257, 0x5258, 0x003f,\n    0x5259, 0x525a, 0x525b, 0x525d, 0x525f, 0x5260, 0x5262, 0x5263,\n    0x5264, 0x5266, 0x5268, 0x526b, 0x526c, 0x526d, 0x526e, 0x5270,\n    0x5271, 0x5273, 0x5274, 0x5275, 0x5276, 0x5277, 0x5278, 0x5279,\n    0x527a, 0x527b, 0x527c, 0x527e, 0x5280, 0x5283, 0x5284, 0x5285,\n    0x5286, 0x5287, 0x5289, 0x528a, 0x528b, 0x528c, 0x528d, 0x528e,\n    0x528f, 0x5291, 0x5292, 0x5294, 0x5295, 0x5296, 0x5297, 0x5298,\n    0x5299, 0x529a, 0x529c, 0x52a4, 0x52a5, 0x52a6, 0x52a7, 0x52ae,\n    0x52af, 0x52b0, 0x52b4, 0x52b5, 0x52b6, 0x52b7, 0x52b8, 0x52b9,\n    0x52ba, 0x52bb, 0x52bc, 0x52bd, 0x52c0, 0x52c1, 0x52c2, 0x52c4,\n    0x52c5, 0x52c6, 0x52c8, 0x52ca, 0x52cc, 0x52cd, 0x52ce, 0x52cf,\n    0x52d1, 0x52d3, 0x52d4, 0x52d5, 0x52d7, 0x52d9, 0x52da, 0x52db,\n    0x52dc, 0x52dd, 0x52de, 0x52e0, 0x52e1, 0x52e2, 0x52e3, 0x52e5,\n    0x52e6, 0x52e7, 0x52e8, 0x52e9, 0x52ea, 0x52eb, 0x52ec, 0x52ed,\n    0x52ee, 0x52ef, 0x52f1, 0x52f2, 0x52f3, 0x52f4, 0x52f5, 0x52f6,\n    0x52f7, 0x52f8, 0x52fb, 0x52fc, 0x52fd, 0x5301, 0x5302, 0x5303,\n    0x5304, 0x5307, 0x5309, 0x530a, 0x530b, 0x530c, 0x530e, 0x003f,\n    /* lead byte 85 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5311, 0x5312, 0x5313, 0x5314, 0x5318, 0x531b, 0x531c, 0x531e,\n    0x531f, 0x5322, 0x5324, 0x5325, 0x5327, 0x5328, 0x5329, 0x532b,\n    0x532c, 0x532d, 0x532f, 0x5330, 0x5331, 0x5332, 0x5333, 0x5334,\n    0x5335, 0x5336, 0x5337, 0x5338, 0x533c, 0x533d, 0x5340, 0x5342,\n    0x5344, 0x5346, 0x534b, 0x534c, 0x534d, 0x5350, 0x5354, 0x5358,\n    0x5359, 0x535b, 0x535d, 0x5365, 0x5368, 0x536a, 0x536c, 0x536d,\n    0x5372, 0x5376, 0x5379, 0x537b, 0x537c, 0x537d, 0x537e, 0x5380,\n    0x5381, 0x5383, 0x5387, 0x5388, 0x538a, 0x538e, 0x538f, 0x003f,\n    0x5390, 0x5391, 0x5392, 0x5393, 0x5394, 0x5396, 0x5397, 0x5399,\n    0x539b, 0x539c, 0x539e, 0x53a0, 0x53a1, 0x53a4, 0x53a7, 0x53aa,\n    0x53ab, 0x53ac, 0x53ad, 0x53af, 0x53b0, 0x53b1, 0x53b2, 0x53b3,\n    0x53b4, 0x53b5, 0x53b7, 0x53b8, 0x53b9, 0x53ba, 0x53bc, 0x53bd,\n    0x53be, 0x53c0, 0x53c3, 0x53c4, 0x53c5, 0x53c6, 0x53c7, 0x53ce,\n    0x53cf, 0x53d0, 0x53d2, 0x53d3, 0x53d5, 0x53da, 0x53dc, 0x53dd,\n    0x53de, 0x53e1, 0x53e2, 0x53e7, 0x53f4, 0x53fa, 0x53fe, 0x53ff,\n    0x5400, 0x5402, 0x5405, 0x5407, 0x540b, 0x5414, 0x5418, 0x5419,\n    0x541a, 0x541c, 0x5422, 0x5424, 0x5425, 0x542a, 0x5430, 0x5433,\n    0x5436, 0x5437, 0x543a, 0x543d, 0x543f, 0x5441, 0x5442, 0x5444,\n    0x5445, 0x5447, 0x5449, 0x544c, 0x544d, 0x544e, 0x544f, 0x5451,\n    0x545a, 0x545d, 0x545e, 0x545f, 0x5460, 0x5461, 0x5463, 0x5465,\n    0x5467, 0x5469, 0x546a, 0x546b, 0x546c, 0x546d, 0x546e, 0x546f,\n    0x5470, 0x5474, 0x5479, 0x547a, 0x547e, 0x547f, 0x5481, 0x5483,\n    0x5485, 0x5487, 0x5488, 0x5489, 0x548a, 0x548d, 0x5491, 0x5493,\n    0x5497, 0x5498, 0x549c, 0x549e, 0x549f, 0x54a0, 0x54a1, 0x003f,\n    /* lead byte 86 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x54a2, 0x54a5, 0x54ae, 0x54b0, 0x54b2, 0x54b5, 0x54b6, 0x54b7,\n    0x54b9, 0x54ba, 0x54bc, 0x54be, 0x54c3, 0x54c5, 0x54ca, 0x54cb,\n    0x54d6, 0x54d8, 0x54db, 0x54e0, 0x54e1, 0x54e2, 0x54e3, 0x54e4,\n    0x54eb, 0x54ec, 0x54ef, 0x54f0, 0x54f1, 0x54f4, 0x54f5, 0x54f6,\n    0x54f7, 0x54f8, 0x54f9, 0x54fb, 0x54fe, 0x5500, 0x5502, 0x5503,\n    0x5504, 0x5505, 0x5508, 0x550a, 0x550b, 0x550c, 0x550d, 0x550e,\n    0x5512, 0x5513, 0x5515, 0x5516, 0x5517, 0x5518, 0x5519, 0x551a,\n    0x551c, 0x551d, 0x551e, 0x551f, 0x5521, 0x5525, 0x5526, 0x003f,\n    0x5528, 0x5529, 0x552b, 0x552d, 0x5532, 0x5534, 0x5535, 0x5536,\n    0x5538, 0x5539, 0x553a, 0x553b, 0x553d, 0x5540, 0x5542, 0x5545,\n    0x5547, 0x5548, 0x554b, 0x554c, 0x554d, 0x554e, 0x554f, 0x5551,\n    0x5552, 0x5553, 0x5554, 0x5557, 0x5558, 0x5559, 0x555a, 0x555b,\n    0x555d, 0x555e, 0x555f, 0x5560, 0x5562, 0x5563, 0x5568, 0x5569,\n    0x556b, 0x556f, 0x5570, 0x5571, 0x5572, 0x5573, 0x5574, 0x5579,\n    0x557a, 0x557d, 0x557f, 0x5585, 0x5586, 0x558c, 0x558d, 0x558e,\n    0x5590, 0x5592, 0x5593, 0x5595, 0x5596, 0x5597, 0x559a, 0x559b,\n    0x559e, 0x55a0, 0x55a1, 0x55a2, 0x55a3, 0x55a4, 0x55a5, 0x55a6,\n    0x55a8, 0x55a9, 0x55aa, 0x55ab, 0x55ac, 0x55ad, 0x55ae, 0x55af,\n    0x55b0, 0x55b2, 0x55b4, 0x55b6, 0x55b8, 0x55ba, 0x55bc, 0x55bf,\n    0x55c0, 0x55c1, 0x55c2, 0x55c3, 0x55c6, 0x55c7, 0x55c8, 0x55ca,\n    0x55cb, 0x55ce, 0x55cf, 0x55d0, 0x55d5, 0x55d7, 0x55d8, 0x55d9,\n    0x55da, 0x55db, 0x55de, 0x55e0, 0x55e2, 0x55e7, 0x55e9, 0x55ed,\n    0x55ee, 0x55f0, 0x55f1, 0x55f4, 0x55f6, 0x55f8, 0x55f9, 0x55fa,\n    0x55fb, 0x55fc, 0x55ff, 0x5602, 0x5603, 0x5604, 0x5605, 0x003f,\n    /* lead byte 87 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5606, 0x5607, 0x560a, 0x560b, 0x560d, 0x5610, 0x5611, 0x5612,\n    0x5613, 0x5614, 0x5615, 0x5616, 0x5617, 0x5619, 0x561a, 0x561c,\n    0x561d, 0x5620, 0x5621, 0x5622, 0x5625, 0x5626, 0x5628, 0x5629,\n    0x562a, 0x562b, 0x562e, 0x562f, 0x5630, 0x5633, 0x5635, 0x5637,\n    0x5638, 0x563a, 0x563c, 0x563d, 0x563e, 0x5640, 0x5641, 0x5642,\n    0x5643, 0x5644, 0x5645, 0x5646, 0x5647, 0x5648, 0x5649, 0x564a,\n    0x564b, 0x564f, 0x5650, 0x5651, 0x5652, 0x5653, 0x5655, 0x5656,\n    0x565a, 0x565b, 0x565d, 0x565e, 0x565f, 0x5660, 0x5661, 0x003f,\n    0x5663, 0x5665, 0x5666, 0x5667, 0x566d, 0x566e, 0x566f, 0x5670,\n    0x5672, 0x5673, 0x5674, 0x5675, 0x5677, 0x5678, 0x5679, 0x567a,\n    0x567d, 0x567e, 0x567f, 0x5680, 0x5681, 0x5682, 0x5683, 0x5684,\n    0x5687, 0x5688, 0x5689, 0x568a, 0x568b, 0x568c, 0x568d, 0x5690,\n    0x5691, 0x5692, 0x5694, 0x5695, 0x5696, 0x5697, 0x5698, 0x5699,\n    0x569a, 0x569b, 0x569c, 0x569d, 0x569e, 0x569f, 0x56a0, 0x56a1,\n    0x56a2, 0x56a4, 0x56a5, 0x56a6, 0x56a7, 0x56a8, 0x56a9, 0x56aa,\n    0x56ab, 0x56ac, 0x56ad, 0x56ae, 0x56b0, 0x56b1, 0x56b2, 0x56b3,\n    0x56b4, 0x56b5, 0x56b6, 0x56b8, 0x56b9, 0x56ba, 0x56bb, 0x56bd,\n    0x56be, 0x56bf, 0x56c0, 0x56c1, 0x56c2, 0x56c3, 0x56c4, 0x56c5,\n    0x56c6, 0x56c7, 0x56c8, 0x56c9, 0x56cb, 0x56cc, 0x56cd, 0x56ce,\n    0x56cf, 0x56d0, 0x56d1, 0x56d2, 0x56d3, 0x56d5, 0x56d6, 0x56d8,\n    0x56d9, 0x56dc, 0x56e3, 0x56e5, 0x56e6, 0x56e7, 0x56e8, 0x56e9,\n    0x56ea, 0x56ec, 0x56ee, 0x56ef, 0x56f2, 0x56f3, 0x56f6, 0x56f7,\n    0x56f8, 0x56fb, 0x56fc, 0x5700, 0x5701, 0x5702, 0x5705, 0x5707,\n    0x570b, 0x570c, 0x570d, 0x570e, 0x570f, 0x5710, 0x5711, 0x003f,\n    /* lead byte 88 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5712, 0x5713, 0x5714, 0x5715, 0x5716, 0x5717, 0x5718, 0x5719,\n    0x571a, 0x571b, 0x571d, 0x571e, 0x5720, 0x5721, 0x5722, 0x5724,\n    0x5725, 0x5726, 0x5727, 0x572b, 0x5731, 0x5732, 0x5734, 0x5735,\n    0x5736, 0x5737, 0x5738, 0x573c, 0x573d, 0x573f, 0x5741, 0x5743,\n    0x5744, 0x5745, 0x5746, 0x5748, 0x5749, 0x574b, 0x5752, 0x5753,\n    0x5754, 0x5755, 0x5756, 0x5758, 0x5759, 0x5762, 0x5763, 0x5765,\n    0x5767, 0x576c, 0x576e, 0x5770, 0x5771, 0x5772, 0x5774, 0x5775,\n    0x5778, 0x5779, 0x577a, 0x577d, 0x577e, 0x577f, 0x5780, 0x003f,\n    0x5781, 0x5787, 0x5788, 0x5789, 0x578a, 0x578d, 0x578e, 0x578f,\n    0x5790, 0x5791, 0x5794, 0x5795, 0x5796, 0x5797, 0x5798, 0x5799,\n    0x579a, 0x579c, 0x579d, 0x579e, 0x579f, 0x57a5, 0x57a8, 0x57aa,\n    0x57ac, 0x57af, 0x57b0, 0x57b1, 0x57b3, 0x57b5, 0x57b6, 0x57b7,\n    0x57b9, 0x57ba, 0x57bb, 0x57bc, 0x57bd, 0x57be, 0x57bf, 0x57c0,\n    0x57c1, 0x57c4, 0x57c5, 0x57c6, 0x57c7, 0x57c8, 0x57c9, 0x57ca,\n    0x57cc, 0x57cd, 0x57d0, 0x57d1, 0x57d3, 0x57d6, 0x57d7, 0x57db,\n    0x57dc, 0x57de, 0x57e1, 0x57e2, 0x57e3, 0x57e5, 0x57e6, 0x57e7,\n    0x57e8, 0x57e9, 0x57ea, 0x57eb, 0x57ec, 0x57ee, 0x57f0, 0x57f1,\n    0x57f2, 0x57f3, 0x57f5, 0x57f6, 0x57f7, 0x57fb, 0x57fc, 0x57fe,\n    0x57ff, 0x5801, 0x5803, 0x5804, 0x5805, 0x5808, 0x5809, 0x580a,\n    0x580c, 0x580e, 0x580f, 0x5810, 0x5812, 0x5813, 0x5814, 0x5816,\n    0x5817, 0x5818, 0x581a, 0x581b, 0x581c, 0x581d, 0x581f, 0x5822,\n    0x5823, 0x5825, 0x5826, 0x5827, 0x5828, 0x5829, 0x582b, 0x582c,\n    0x582d, 0x582e, 0x582f, 0x5831, 0x5832, 0x5833, 0x5834, 0x5836,\n    0x5837, 0x5838, 0x5839, 0x583a, 0x583b, 0x583c, 0x583d, 0x003f,\n    /* lead byte 89 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x583e, 0x583f, 0x5840, 0x5841, 0x5842, 0x5843, 0x5845, 0x5846,\n    0x5847, 0x5848, 0x5849, 0x584a, 0x584b, 0x584e, 0x584f, 0x5850,\n    0x5852, 0x5853, 0x5855, 0x5856, 0x5857, 0x5859, 0x585a, 0x585b,\n    0x585c, 0x585d, 0x585f, 0x5860, 0x5861, 0x5862, 0x5863, 0x5864,\n    0x5866, 0x5867, 0x5868, 0x5869, 0x586a, 0x586d, 0x586e, 0x586f,\n    0x5870, 0x5871, 0x5872, 0x5873, 0x5874, 0x5875, 0x5876, 0x5877,\n    0x5878, 0x5879, 0x587a, 0x587b, 0x587c, 0x587d, 0x587f, 0x5882,\n    0x5884, 0x5886, 0x5887, 0x5888, 0x588a, 0x588b, 0x588c, 0x003f,\n    0x588d, 0x588e, 0x588f, 0x5890, 0x5891, 0x5894, 0x5895, 0x5896,\n    0x5897, 0x5898, 0x589b, 0x589c, 0x589d, 0x58a0, 0x58a1, 0x58a2,\n    0x58a3, 0x58a4, 0x58a5, 0x58a6, 0x58a7, 0x58aa, 0x58ab, 0x58ac,\n    0x58ad, 0x58ae, 0x58af, 0x58b0, 0x58b1, 0x58b2, 0x58b3, 0x58b4,\n    0x58b5, 0x58b6, 0x58b7, 0x58b8, 0x58b9, 0x58ba, 0x58bb, 0x58bd,\n    0x58be, 0x58bf, 0x58c0, 0x58c2, 0x58c3, 0x58c4, 0x58c6, 0x58c7,\n    0x58c8, 0x58c9, 0x58ca, 0x58cb, 0x58cc, 0x58cd, 0x58ce, 0x58cf,\n    0x58d0, 0x58d2, 0x58d3, 0x58d4, 0x58d6, 0x58d7, 0x58d8, 0x58d9,\n    0x58da, 0x58db, 0x58dc, 0x58dd, 0x58de, 0x58df, 0x58e0, 0x58e1,\n    0x58e2, 0x58e3, 0x58e5, 0x58e6, 0x58e7, 0x58e8, 0x58e9, 0x58ea,\n    0x58ed, 0x58ef, 0x58f1, 0x58f2, 0x58f4, 0x58f5, 0x58f7, 0x58f8,\n    0x58fa, 0x58fb, 0x58fc, 0x58fd, 0x58fe, 0x58ff, 0x5900, 0x5901,\n    0x5903, 0x5905, 0x5906, 0x5908, 0x5909, 0x590a, 0x590b, 0x590c,\n    0x590e, 0x5910, 0x5911, 0x5912, 0x5913, 0x5917, 0x5918, 0x591b,\n    0x591d, 0x591e, 0x5920, 0x5921, 0x5922, 0x5923, 0x5926, 0x5928,\n    0x592c, 0x5930, 0x5932, 0x5933, 0x5935, 0x5936, 0x593b, 0x003f,\n    /* lead byte 8a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x593d, 0x593e, 0x593f, 0x5940, 0x5943, 0x5945, 0x5946, 0x594a,\n    0x594c, 0x594d, 0x5950, 0x5952, 0x5953, 0x5959, 0x595b, 0x595c,\n    0x595d, 0x595e, 0x595f, 0x5961, 0x5963, 0x5964, 0x5966, 0x5967,\n    0x5968, 0x5969, 0x596a, 0x596b, 0x596c, 0x596d, 0x596e, 0x596f,\n    0x5970, 0x5971, 0x5972, 0x5975, 0x5977, 0x597a, 0x597b, 0x597c,\n    0x597e, 0x597f, 0x5980, 0x5985, 0x5989, 0x598b, 0x598c, 0x598e,\n    0x598f, 0x5990, 0x5991, 0x5994, 0x5995, 0x5998, 0x599a, 0x599b,\n    0x599c, 0x599d, 0x599f, 0x59a0, 0x59a1, 0x59a2, 0x59a6, 0x003f,\n    0x59a7, 0x59ac, 0x59ad, 0x59b0, 0x59b1, 0x59b3, 0x59b4, 0x59b5,\n    0x59b6, 0x59b7, 0x59b8, 0x59ba, 0x59bc, 0x59bd, 0x59bf, 0x59c0,\n    0x59c1, 0x59c2, 0x59c3, 0x59c4, 0x59c5, 0x59c7, 0x59c8, 0x59c9,\n    0x59cc, 0x59cd, 0x59ce, 0x59cf, 0x59d5, 0x59d6, 0x59d9, 0x59db,\n    0x59de, 0x59df, 0x59e0, 0x59e1, 0x59e2, 0x59e4, 0x59e6, 0x59e7,\n    0x59e9, 0x59ea, 0x59eb, 0x59ed, 0x59ee, 0x59ef, 0x59f0, 0x59f1,\n    0x59f2, 0x59f3, 0x59f4, 0x59f5, 0x59f6, 0x59f7, 0x59f8, 0x59fa,\n    0x59fc, 0x59fd, 0x59fe, 0x5a00, 0x5a02, 0x5a0a, 0x5a0b, 0x5a0d,\n    0x5a0e, 0x5a0f, 0x5a10, 0x5a12, 0x5a14, 0x5a15, 0x5a16, 0x5a17,\n    0x5a19, 0x5a1a, 0x5a1b, 0x5a1d, 0x5a1e, 0x5a21, 0x5a22, 0x5a24,\n    0x5a26, 0x5a27, 0x5a28, 0x5a2a, 0x5a2b, 0x5a2c, 0x5a2d, 0x5a2e,\n    0x5a2f, 0x5a30, 0x5a33, 0x5a35, 0x5a37, 0x5a38, 0x5a39, 0x5a3a,\n    0x5a3b, 0x5a3d, 0x5a3e, 0x5a3f, 0x5a41, 0x5a42, 0x5a43, 0x5a44,\n    0x5a45, 0x5a47, 0x5a48, 0x5a4b, 0x5a4c, 0x5a4d, 0x5a4e, 0x5a4f,\n    0x5a50, 0x5a51, 0x5a52, 0x5a53, 0x5a54, 0x5a56, 0x5a57, 0x5a58,\n    0x5a59, 0x5a5b, 0x5a5c, 0x5a5d, 0x5a5e, 0x5a5f, 0x5a60, 0x003f,\n    /* lead byte 8b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5a61, 0x5a63, 0x5a64, 0x5a65, 0x5a66, 0x5a68, 0x5a69, 0x5a6b,\n    0x5a6c, 0x5a6d, 0x5a6e, 0x5a6f, 0x5a70, 0x5a71, 0x5a72, 0x5a73,\n    0x5a78, 0x5a79, 0x5a7b, 0x5a7c, 0x5a7d, 0x5a7e, 0x5a80, 0x5a81,\n    0x5a82, 0x5a83, 0x5a84, 0x5a85, 0x5a86, 0x5a87, 0x5a88, 0x5a89,\n    0x5a8a, 0x5a8b, 0x5a8c, 0x5a8d, 0x5a8e, 0x5a8f, 0x5a90, 0x5a91,\n    0x5a93, 0x5a94, 0x5a95, 0x5a96, 0x5a97, 0x5a98, 0x5a99, 0x5a9c,\n    0x5a9d, 0x5a9e, 0x5a9f, 0x5aa0, 0x5aa1, 0x5aa2, 0x5aa3, 0x5aa4,\n    0x5aa5, 0x5aa6, 0x5aa7, 0x5aa8, 0x5aa9, 0x5aab, 0x5aac, 0x003f,\n    0x5aad, 0x5aae, 0x5aaf, 0x5ab0, 0x5ab1, 0x5ab4, 0x5ab6, 0x5ab7,\n    0x5ab9, 0x5aba, 0x5abb, 0x5abc, 0x5abd, 0x5abf, 0x5ac0, 0x5ac3,\n    0x5ac4, 0x5ac5, 0x5ac6, 0x5ac7, 0x5ac8, 0x5aca, 0x5acb, 0x5acd,\n    0x5ace, 0x5acf, 0x5ad0, 0x5ad1, 0x5ad3, 0x5ad5, 0x5ad7, 0x5ad9,\n    0x5ada, 0x5adb, 0x5add, 0x5ade, 0x5adf, 0x5ae2, 0x5ae4, 0x5ae5,\n    0x5ae7, 0x5ae8, 0x5aea, 0x5aec, 0x5aed, 0x5aee, 0x5aef, 0x5af0,\n    0x5af2, 0x5af3, 0x5af4, 0x5af5, 0x5af6, 0x5af7, 0x5af8, 0x5af9,\n    0x5afa, 0x5afb, 0x5afc, 0x5afd, 0x5afe, 0x5aff, 0x5b00, 0x5b01,\n    0x5b02, 0x5b03, 0x5b04, 0x5b05, 0x5b06, 0x5b07, 0x5b08, 0x5b0a,\n    0x5b0b, 0x5b0c, 0x5b0d, 0x5b0e, 0x5b0f, 0x5b10, 0x5b11, 0x5b12,\n    0x5b13, 0x5b14, 0x5b15, 0x5b18, 0x5b19, 0x5b1a, 0x5b1b, 0x5b1c,\n    0x5b1d, 0x5b1e, 0x5b1f, 0x5b20, 0x5b21, 0x5b22, 0x5b23, 0x5b24,\n    0x5b25, 0x5b26, 0x5b27, 0x5b28, 0x5b29, 0x5b2a, 0x5b2b, 0x5b2c,\n    0x5b2d, 0x5b2e, 0x5b2f, 0x5b30, 0x5b31, 0x5b33, 0x5b35, 0x5b36,\n    0x5b38, 0x5b39, 0x5b3a, 0x5b3b, 0x5b3c, 0x5b3d, 0x5b3e, 0x5b3f,\n    0x5b41, 0x5b42, 0x5b43, 0x5b44, 0x5b45, 0x5b46, 0x5b47, 0x003f,\n    /* lead byte 8c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5b48, 0x5b49, 0x5b4a, 0x5b4b, 0x5b4c, 0x5b4d, 0x5b4e, 0x5b4f,\n    0x5b52, 0x5b56, 0x5b5e, 0x5b60, 0x5b61, 0x5b67, 0x5b68, 0x5b6b,\n    0x5b6d, 0x5b6e, 0x5b6f, 0x5b72, 0x5b74, 0x5b76, 0x5b77, 0x5b78,\n    0x5b79, 0x5b7b, 0x5b7c, 0x5b7e, 0x5b7f, 0x5b82, 0x5b86, 0x5b8a,\n    0x5b8d, 0x5b8e, 0x5b90, 0x5b91, 0x5b92, 0x5b94, 0x5b96, 0x5b9f,\n    0x5ba7, 0x5ba8, 0x5ba9, 0x5bac, 0x5bad, 0x5bae, 0x5baf, 0x5bb1,\n    0x5bb2, 0x5bb7, 0x5bba, 0x5bbb, 0x5bbc, 0x5bc0, 0x5bc1, 0x5bc3,\n    0x5bc8, 0x5bc9, 0x5bca, 0x5bcb, 0x5bcd, 0x5bce, 0x5bcf, 0x003f,\n    0x5bd1, 0x5bd4, 0x5bd5, 0x5bd6, 0x5bd7, 0x5bd8, 0x5bd9, 0x5bda,\n    0x5bdb, 0x5bdc, 0x5be0, 0x5be2, 0x5be3, 0x5be6, 0x5be7, 0x5be9,\n    0x5bea, 0x5beb, 0x5bec, 0x5bed, 0x5bef, 0x5bf1, 0x5bf2, 0x5bf3,\n    0x5bf4, 0x5bf5, 0x5bf6, 0x5bf7, 0x5bfd, 0x5bfe, 0x5c00, 0x5c02,\n    0x5c03, 0x5c05, 0x5c07, 0x5c08, 0x5c0b, 0x5c0c, 0x5c0d, 0x5c0e,\n    0x5c10, 0x5c12, 0x5c13, 0x5c17, 0x5c19, 0x5c1b, 0x5c1e, 0x5c1f,\n    0x5c20, 0x5c21, 0x5c23, 0x5c26, 0x5c28, 0x5c29, 0x5c2a, 0x5c2b,\n    0x5c2d, 0x5c2e, 0x5c2f, 0x5c30, 0x5c32, 0x5c33, 0x5c35, 0x5c36,\n    0x5c37, 0x5c43, 0x5c44, 0x5c46, 0x5c47, 0x5c4c, 0x5c4d, 0x5c52,\n    0x5c53, 0x5c54, 0x5c56, 0x5c57, 0x5c58, 0x5c5a, 0x5c5b, 0x5c5c,\n    0x5c5d, 0x5c5f, 0x5c62, 0x5c64, 0x5c67, 0x5c68, 0x5c69, 0x5c6a,\n    0x5c6b, 0x5c6c, 0x5c6d, 0x5c70, 0x5c72, 0x5c73, 0x5c74, 0x5c75,\n    0x5c76, 0x5c77, 0x5c78, 0x5c7b, 0x5c7c, 0x5c7d, 0x5c7e, 0x5c80,\n    0x5c83, 0x5c84, 0x5c85, 0x5c86, 0x5c87, 0x5c89, 0x5c8a, 0x5c8b,\n    0x5c8e, 0x5c8f, 0x5c92, 0x5c93, 0x5c95, 0x5c9d, 0x5c9e, 0x5c9f,\n    0x5ca0, 0x5ca1, 0x5ca4, 0x5ca5, 0x5ca6, 0x5ca7, 0x5ca8, 0x003f,\n    /* lead byte 8d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5caa, 0x5cae, 0x5caf, 0x5cb0, 0x5cb2, 0x5cb4, 0x5cb6, 0x5cb9,\n    0x5cba, 0x5cbb, 0x5cbc, 0x5cbe, 0x5cc0, 0x5cc2, 0x5cc3, 0x5cc5,\n    0x5cc6, 0x5cc7, 0x5cc8, 0x5cc9, 0x5cca, 0x5ccc, 0x5ccd, 0x5cce,\n    0x5ccf, 0x5cd0, 0x5cd1, 0x5cd3, 0x5cd4, 0x5cd5, 0x5cd6, 0x5cd7,\n    0x5cd8, 0x5cda, 0x5cdb, 0x5cdc, 0x5cdd, 0x5cde, 0x5cdf, 0x5ce0,\n    0x5ce2, 0x5ce3, 0x5ce7, 0x5ce9, 0x5ceb, 0x5cec, 0x5cee, 0x5cef,\n    0x5cf1, 0x5cf2, 0x5cf3, 0x5cf4, 0x5cf5, 0x5cf6, 0x5cf7, 0x5cf8,\n    0x5cf9, 0x5cfa, 0x5cfc, 0x5cfd, 0x5cfe, 0x5cff, 0x5d00, 0x003f,\n    0x5d01, 0x5d04, 0x5d05, 0x5d08, 0x5d09, 0x5d0a, 0x5d0b, 0x5d0c,\n    0x5d0d, 0x5d0f, 0x5d10, 0x5d11, 0x5d12, 0x5d13, 0x5d15, 0x5d17,\n    0x5d18, 0x5d19, 0x5d1a, 0x5d1c, 0x5d1d, 0x5d1f, 0x5d20, 0x5d21,\n    0x5d22, 0x5d23, 0x5d25, 0x5d28, 0x5d2a, 0x5d2b, 0x5d2c, 0x5d2f,\n    0x5d30, 0x5d31, 0x5d32, 0x5d33, 0x5d35, 0x5d36, 0x5d37, 0x5d38,\n    0x5d39, 0x5d3a, 0x5d3b, 0x5d3c, 0x5d3f, 0x5d40, 0x5d41, 0x5d42,\n    0x5d43, 0x5d44, 0x5d45, 0x5d46, 0x5d48, 0x5d49, 0x5d4d, 0x5d4e,\n    0x5d4f, 0x5d50, 0x5d51, 0x5d52, 0x5d53, 0x5d54, 0x5d55, 0x5d56,\n    0x5d57, 0x5d59, 0x5d5a, 0x5d5c, 0x5d5e, 0x5d5f, 0x5d60, 0x5d61,\n    0x5d62, 0x5d63, 0x5d64, 0x5d65, 0x5d66, 0x5d67, 0x5d68, 0x5d6a,\n    0x5d6d, 0x5d6e, 0x5d70, 0x5d71, 0x5d72, 0x5d73, 0x5d75, 0x5d76,\n    0x5d77, 0x5d78, 0x5d79, 0x5d7a, 0x5d7b, 0x5d7c, 0x5d7d, 0x5d7e,\n    0x5d7f, 0x5d80, 0x5d81, 0x5d83, 0x5d84, 0x5d85, 0x5d86, 0x5d87,\n    0x5d88, 0x5d89, 0x5d8a, 0x5d8b, 0x5d8c, 0x5d8d, 0x5d8e, 0x5d8f,\n    0x5d90, 0x5d91, 0x5d92, 0x5d93, 0x5d94, 0x5d95, 0x5d96, 0x5d97,\n    0x5d98, 0x5d9a, 0x5d9b, 0x5d9c, 0x5d9e, 0x5d9f, 0x5da0, 0x003f,\n    /* lead byte 8e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5da1, 0x5da2, 0x5da3, 0x5da4, 0x5da5, 0x5da6, 0x5da7, 0x5da8,\n    0x5da9, 0x5daa, 0x5dab, 0x5dac, 0x5dad, 0x5dae, 0x5daf, 0x5db0,\n    0x5db1, 0x5db2, 0x5db3, 0x5db4, 0x5db5, 0x5db6, 0x5db8, 0x5db9,\n    0x5dba, 0x5dbb, 0x5dbc, 0x5dbd, 0x5dbe, 0x5dbf, 0x5dc0, 0x5dc1,\n    0x5dc2, 0x5dc3, 0x5dc4, 0x5dc6, 0x5dc7, 0x5dc8, 0x5dc9, 0x5dca,\n    0x5dcb, 0x5dcc, 0x5dce, 0x5dcf, 0x5dd0, 0x5dd1, 0x5dd2, 0x5dd3,\n    0x5dd4, 0x5dd5, 0x5dd6, 0x5dd7, 0x5dd8, 0x5dd9, 0x5dda, 0x5ddc,\n    0x5ddf, 0x5de0, 0x5de3, 0x5de4, 0x5dea, 0x5dec, 0x5ded, 0x003f,\n    0x5df0, 0x5df5, 0x5df6, 0x5df8, 0x5df9, 0x5dfa, 0x5dfb, 0x5dfc,\n    0x5dff, 0x5e00, 0x5e04, 0x5e07, 0x5e09, 0x5e0a, 0x5e0b, 0x5e0d,\n    0x5e0e, 0x5e12, 0x5e13, 0x5e17, 0x5e1e, 0x5e1f, 0x5e20, 0x5e21,\n    0x5e22, 0x5e23, 0x5e24, 0x5e25, 0x5e28, 0x5e29, 0x5e2a, 0x5e2b,\n    0x5e2c, 0x5e2f, 0x5e30, 0x5e32, 0x5e33, 0x5e34, 0x5e35, 0x5e36,\n    0x5e39, 0x5e3a, 0x5e3e, 0x5e3f, 0x5e40, 0x5e41, 0x5e43, 0x5e46,\n    0x5e47, 0x5e48, 0x5e49, 0x5e4a, 0x5e4b, 0x5e4d, 0x5e4e, 0x5e4f,\n    0x5e50, 0x5e51, 0x5e52, 0x5e53, 0x5e56, 0x5e57, 0x5e58, 0x5e59,\n    0x5e5a, 0x5e5c, 0x5e5d, 0x5e5f, 0x5e60, 0x5e63, 0x5e64, 0x5e65,\n    0x5e66, 0x5e67, 0x5e68, 0x5e69, 0x5e6a, 0x5e6b, 0x5e6c, 0x5e6d,\n    0x5e6e, 0x5e6f, 0x5e70, 0x5e71, 0x5e75, 0x5e77, 0x5e79, 0x5e7e,\n    0x5e81, 0x5e82, 0x5e83, 0x5e85, 0x5e88, 0x5e89, 0x5e8c, 0x5e8d,\n    0x5e8e, 0x5e92, 0x5e98, 0x5e9b, 0x5e9d, 0x5ea1, 0x5ea2, 0x5ea3,\n    0x5ea4, 0x5ea8, 0x5ea9, 0x5eaa, 0x5eab, 0x5eac, 0x5eae, 0x5eaf,\n    0x5eb0, 0x5eb1, 0x5eb2, 0x5eb4, 0x5eba, 0x5ebb, 0x5ebc, 0x5ebd,\n    0x5ebf, 0x5ec0, 0x5ec1, 0x5ec2, 0x5ec3, 0x5ec4, 0x5ec5, 0x003f,\n    /* lead byte 8f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5ec6, 0x5ec7, 0x5ec8, 0x5ecb, 0x5ecc, 0x5ecd, 0x5ece, 0x5ecf,\n    0x5ed0, 0x5ed4, 0x5ed5, 0x5ed7, 0x5ed8, 0x5ed9, 0x5eda, 0x5edc,\n    0x5edd, 0x5ede, 0x5edf, 0x5ee0, 0x5ee1, 0x5ee2, 0x5ee3, 0x5ee4,\n    0x5ee5, 0x5ee6, 0x5ee7, 0x5ee9, 0x5eeb, 0x5eec, 0x5eed, 0x5eee,\n    0x5eef, 0x5ef0, 0x5ef1, 0x5ef2, 0x5ef3, 0x5ef5, 0x5ef8, 0x5ef9,\n    0x5efb, 0x5efc, 0x5efd, 0x5f05, 0x5f06, 0x5f07, 0x5f09, 0x5f0c,\n    0x5f0d, 0x5f0e, 0x5f10, 0x5f12, 0x5f14, 0x5f16, 0x5f19, 0x5f1a,\n    0x5f1c, 0x5f1d, 0x5f1e, 0x5f21, 0x5f22, 0x5f23, 0x5f24, 0x003f,\n    0x5f28, 0x5f2b, 0x5f2c, 0x5f2e, 0x5f30, 0x5f32, 0x5f33, 0x5f34,\n    0x5f35, 0x5f36, 0x5f37, 0x5f38, 0x5f3b, 0x5f3d, 0x5f3e, 0x5f3f,\n    0x5f41, 0x5f42, 0x5f43, 0x5f44, 0x5f45, 0x5f46, 0x5f47, 0x5f48,\n    0x5f49, 0x5f4a, 0x5f4b, 0x5f4c, 0x5f4d, 0x5f4e, 0x5f4f, 0x5f51,\n    0x5f54, 0x5f59, 0x5f5a, 0x5f5b, 0x5f5c, 0x5f5e, 0x5f5f, 0x5f60,\n    0x5f63, 0x5f65, 0x5f67, 0x5f68, 0x5f6b, 0x5f6e, 0x5f6f, 0x5f72,\n    0x5f74, 0x5f75, 0x5f76, 0x5f78, 0x5f7a, 0x5f7d, 0x5f7e, 0x5f7f,\n    0x5f83, 0x5f86, 0x5f8d, 0x5f8e, 0x5f8f, 0x5f91, 0x5f93, 0x5f94,\n    0x5f96, 0x5f9a, 0x5f9b, 0x5f9d, 0x5f9e, 0x5f9f, 0x5fa0, 0x5fa2,\n    0x5fa3, 0x5fa4, 0x5fa5, 0x5fa6, 0x5fa7, 0x5fa9, 0x5fab, 0x5fac,\n    0x5faf, 0x5fb0, 0x5fb1, 0x5fb2, 0x5fb3, 0x5fb4, 0x5fb6, 0x5fb8,\n    0x5fb9, 0x5fba, 0x5fbb, 0x5fbe, 0x5fbf, 0x5fc0, 0x5fc1, 0x5fc2,\n    0x5fc7, 0x5fc8, 0x5fca, 0x5fcb, 0x5fce, 0x5fd3, 0x5fd4, 0x5fd5,\n    0x5fda, 0x5fdb, 0x5fdc, 0x5fde, 0x5fdf, 0x5fe2, 0x5fe3, 0x5fe5,\n    0x5fe6, 0x5fe8, 0x5fe9, 0x5fec, 0x5fef, 0x5ff0, 0x5ff2, 0x5ff3,\n    0x5ff4, 0x5ff6, 0x5ff7, 0x5ff9, 0x5ffa, 0x5ffc, 0x6007, 0x003f,\n    /* lead byte 90 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6008, 0x6009, 0x600b, 0x600c, 0x6010, 0x6011, 0x6013, 0x6017,\n    0x6018, 0x601a, 0x601e, 0x601f, 0x6022, 0x6023, 0x6024, 0x602c,\n    0x602d, 0x602e, 0x6030, 0x6031, 0x6032, 0x6033, 0x6034, 0x6036,\n    0x6037, 0x6038, 0x6039, 0x603a, 0x603d, 0x603e, 0x6040, 0x6044,\n    0x6045, 0x6046, 0x6047, 0x6048, 0x6049, 0x604a, 0x604c, 0x604e,\n    0x604f, 0x6051, 0x6053, 0x6054, 0x6056, 0x6057, 0x6058, 0x605b,\n    0x605c, 0x605e, 0x605f, 0x6060, 0x6061, 0x6065, 0x6066, 0x606e,\n    0x6071, 0x6072, 0x6074, 0x6075, 0x6077, 0x607e, 0x6080, 0x003f,\n    0x6081, 0x6082, 0x6085, 0x6086, 0x6087, 0x6088, 0x608a, 0x608b,\n    0x608e, 0x608f, 0x6090, 0x6091, 0x6093, 0x6095, 0x6097, 0x6098,\n    0x6099, 0x609c, 0x609e, 0x60a1, 0x60a2, 0x60a4, 0x60a5, 0x60a7,\n    0x60a9, 0x60aa, 0x60ae, 0x60b0, 0x60b3, 0x60b5, 0x60b6, 0x60b7,\n    0x60b9, 0x60ba, 0x60bd, 0x60be, 0x60bf, 0x60c0, 0x60c1, 0x60c2,\n    0x60c3, 0x60c4, 0x60c7, 0x60c8, 0x60c9, 0x60cc, 0x60cd, 0x60ce,\n    0x60cf, 0x60d0, 0x60d2, 0x60d3, 0x60d4, 0x60d6, 0x60d7, 0x60d9,\n    0x60db, 0x60de, 0x60e1, 0x60e2, 0x60e3, 0x60e4, 0x60e5, 0x60ea,\n    0x60f1, 0x60f2, 0x60f5, 0x60f7, 0x60f8, 0x60fb, 0x60fc, 0x60fd,\n    0x60fe, 0x60ff, 0x6102, 0x6103, 0x6104, 0x6105, 0x6107, 0x610a,\n    0x610b, 0x610c, 0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116,\n    0x6117, 0x6118, 0x6119, 0x611b, 0x611c, 0x611d, 0x611e, 0x6121,\n    0x6122, 0x6125, 0x6128, 0x6129, 0x612a, 0x612c, 0x612d, 0x612e,\n    0x612f, 0x6130, 0x6131, 0x6132, 0x6133, 0x6134, 0x6135, 0x6136,\n    0x6137, 0x6138, 0x6139, 0x613a, 0x613b, 0x613c, 0x613d, 0x613e,\n    0x6140, 0x6141, 0x6142, 0x6143, 0x6144, 0x6145, 0x6146, 0x003f,\n    /* lead byte 91 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6147, 0x6149, 0x614b, 0x614d, 0x614f, 0x6150, 0x6152, 0x6153,\n    0x6154, 0x6156, 0x6157, 0x6158, 0x6159, 0x615a, 0x615b, 0x615c,\n    0x615e, 0x615f, 0x6160, 0x6161, 0x6163, 0x6164, 0x6165, 0x6166,\n    0x6169, 0x616a, 0x616b, 0x616c, 0x616d, 0x616e, 0x616f, 0x6171,\n    0x6172, 0x6173, 0x6174, 0x6176, 0x6178, 0x6179, 0x617a, 0x617b,\n    0x617c, 0x617d, 0x617e, 0x617f, 0x6180, 0x6181, 0x6182, 0x6183,\n    0x6184, 0x6185, 0x6186, 0x6187, 0x6188, 0x6189, 0x618a, 0x618c,\n    0x618d, 0x618f, 0x6190, 0x6191, 0x6192, 0x6193, 0x6195, 0x003f,\n    0x6196, 0x6197, 0x6198, 0x6199, 0x619a, 0x619b, 0x619c, 0x619e,\n    0x619f, 0x61a0, 0x61a1, 0x61a2, 0x61a3, 0x61a4, 0x61a5, 0x61a6,\n    0x61aa, 0x61ab, 0x61ad, 0x61ae, 0x61af, 0x61b0, 0x61b1, 0x61b2,\n    0x61b3, 0x61b4, 0x61b5, 0x61b6, 0x61b8, 0x61b9, 0x61ba, 0x61bb,\n    0x61bc, 0x61bd, 0x61bf, 0x61c0, 0x61c1, 0x61c3, 0x61c4, 0x61c5,\n    0x61c6, 0x61c7, 0x61c9, 0x61cc, 0x61cd, 0x61ce, 0x61cf, 0x61d0,\n    0x61d3, 0x61d5, 0x61d6, 0x61d7, 0x61d8, 0x61d9, 0x61da, 0x61db,\n    0x61dc, 0x61dd, 0x61de, 0x61df, 0x61e0, 0x61e1, 0x61e2, 0x61e3,\n    0x61e4, 0x61e5, 0x61e7, 0x61e8, 0x61e9, 0x61ea, 0x61eb, 0x61ec,\n    0x61ed, 0x61ee, 0x61ef, 0x61f0, 0x61f1, 0x61f2, 0x61f3, 0x61f4,\n    0x61f6, 0x61f7, 0x61f8, 0x61f9, 0x61fa, 0x61fb, 0x61fc, 0x61fd,\n    0x61fe, 0x6200, 0x6201, 0x6202, 0x6203, 0x6204, 0x6205, 0x6207,\n    0x6209, 0x6213, 0x6214, 0x6219, 0x621c, 0x621d, 0x621e, 0x6220,\n    0x6223, 0x6226, 0x6227, 0x6228, 0x6229, 0x622b, 0x622d, 0x622f,\n    0x6230, 0x6231, 0x6232, 0x6235, 0x6236, 0x6238, 0x6239, 0x623a,\n    0x623b, 0x623c, 0x6242, 0x6244, 0x6245, 0x6246, 0x624a, 0x003f,\n    /* lead byte 92 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x624f, 0x6250, 0x6255, 0x6256, 0x6257, 0x6259, 0x625a, 0x625c,\n    0x625d, 0x625e, 0x625f, 0x6260, 0x6261, 0x6262, 0x6264, 0x6265,\n    0x6268, 0x6271, 0x6272, 0x6274, 0x6275, 0x6277, 0x6278, 0x627a,\n    0x627b, 0x627d, 0x6281, 0x6282, 0x6283, 0x6285, 0x6286, 0x6287,\n    0x6288, 0x628b, 0x628c, 0x628d, 0x628e, 0x628f, 0x6290, 0x6294,\n    0x6299, 0x629c, 0x629d, 0x629e, 0x62a3, 0x62a6, 0x62a7, 0x62a9,\n    0x62aa, 0x62ad, 0x62ae, 0x62af, 0x62b0, 0x62b2, 0x62b3, 0x62b4,\n    0x62b6, 0x62b7, 0x62b8, 0x62ba, 0x62be, 0x62c0, 0x62c1, 0x003f,\n    0x62c3, 0x62cb, 0x62cf, 0x62d1, 0x62d5, 0x62dd, 0x62de, 0x62e0,\n    0x62e1, 0x62e4, 0x62ea, 0x62eb, 0x62f0, 0x62f2, 0x62f5, 0x62f8,\n    0x62f9, 0x62fa, 0x62fb, 0x6300, 0x6303, 0x6304, 0x6305, 0x6306,\n    0x630a, 0x630b, 0x630c, 0x630d, 0x630f, 0x6310, 0x6312, 0x6313,\n    0x6314, 0x6315, 0x6317, 0x6318, 0x6319, 0x631c, 0x6326, 0x6327,\n    0x6329, 0x632c, 0x632d, 0x632e, 0x6330, 0x6331, 0x6333, 0x6334,\n    0x6335, 0x6336, 0x6337, 0x6338, 0x633b, 0x633c, 0x633e, 0x633f,\n    0x6340, 0x6341, 0x6344, 0x6347, 0x6348, 0x634a, 0x6351, 0x6352,\n    0x6353, 0x6354, 0x6356, 0x6357, 0x6358, 0x6359, 0x635a, 0x635b,\n    0x635c, 0x635d, 0x6360, 0x6364, 0x6365, 0x6366, 0x6368, 0x636a,\n    0x636b, 0x636c, 0x636f, 0x6370, 0x6372, 0x6373, 0x6374, 0x6375,\n    0x6378, 0x6379, 0x637c, 0x637d, 0x637e, 0x637f, 0x6381, 0x6383,\n    0x6384, 0x6385, 0x6386, 0x638b, 0x638d, 0x6391, 0x6393, 0x6394,\n    0x6395, 0x6397, 0x6399, 0x639a, 0x639b, 0x639c, 0x639d, 0x639e,\n    0x639f, 0x63a1, 0x63a4, 0x63a6, 0x63ab, 0x63af, 0x63b1, 0x63b2,\n    0x63b5, 0x63b6, 0x63b9, 0x63bb, 0x63bd, 0x63bf, 0x63c0, 0x003f,\n    /* lead byte 93 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x63c1, 0x63c2, 0x63c3, 0x63c5, 0x63c7, 0x63c8, 0x63ca, 0x63cb,\n    0x63cc, 0x63d1, 0x63d3, 0x63d4, 0x63d5, 0x63d7, 0x63d8, 0x63d9,\n    0x63da, 0x63db, 0x63dc, 0x63dd, 0x63df, 0x63e2, 0x63e4, 0x63e5,\n    0x63e6, 0x63e7, 0x63e8, 0x63eb, 0x63ec, 0x63ee, 0x63ef, 0x63f0,\n    0x63f1, 0x63f3, 0x63f5, 0x63f7, 0x63f9, 0x63fa, 0x63fb, 0x63fc,\n    0x63fe, 0x6403, 0x6404, 0x6406, 0x6407, 0x6408, 0x6409, 0x640a,\n    0x640d, 0x640e, 0x6411, 0x6412, 0x6415, 0x6416, 0x6417, 0x6418,\n    0x6419, 0x641a, 0x641d, 0x641f, 0x6422, 0x6423, 0x6424, 0x003f,\n    0x6425, 0x6427, 0x6428, 0x6429, 0x642b, 0x642e, 0x642f, 0x6430,\n    0x6431, 0x6432, 0x6433, 0x6435, 0x6436, 0x6437, 0x6438, 0x6439,\n    0x643b, 0x643c, 0x643e, 0x6440, 0x6442, 0x6443, 0x6449, 0x644b,\n    0x644c, 0x644d, 0x644e, 0x644f, 0x6450, 0x6451, 0x6453, 0x6455,\n    0x6456, 0x6457, 0x6459, 0x645a, 0x645b, 0x645c, 0x645d, 0x645f,\n    0x6460, 0x6461, 0x6462, 0x6463, 0x6464, 0x6465, 0x6466, 0x6468,\n    0x646a, 0x646b, 0x646c, 0x646e, 0x646f, 0x6470, 0x6471, 0x6472,\n    0x6473, 0x6474, 0x6475, 0x6476, 0x6477, 0x647b, 0x647c, 0x647d,\n    0x647e, 0x647f, 0x6480, 0x6481, 0x6483, 0x6486, 0x6488, 0x6489,\n    0x648a, 0x648b, 0x648c, 0x648d, 0x648e, 0x648f, 0x6490, 0x6493,\n    0x6494, 0x6497, 0x6498, 0x649a, 0x649b, 0x649c, 0x649d, 0x649f,\n    0x64a0, 0x64a1, 0x64a2, 0x64a3, 0x64a5, 0x64a6, 0x64a7, 0x64a8,\n    0x64aa, 0x64ab, 0x64af, 0x64b1, 0x64b2, 0x64b3, 0x64b4, 0x64b6,\n    0x64b9, 0x64bb, 0x64bd, 0x64be, 0x64bf, 0x64c1, 0x64c3, 0x64c4,\n    0x64c6, 0x64c7, 0x64c8, 0x64c9, 0x64ca, 0x64cb, 0x64cc, 0x64cf,\n    0x64d1, 0x64d3, 0x64d4, 0x64d5, 0x64d6, 0x64d9, 0x64da, 0x003f,\n    /* lead byte 94 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x64db, 0x64dc, 0x64dd, 0x64df, 0x64e0, 0x64e1, 0x64e3, 0x64e5,\n    0x64e7, 0x64e8, 0x64e9, 0x64ea, 0x64eb, 0x64ec, 0x64ed, 0x64ee,\n    0x64ef, 0x64f0, 0x64f1, 0x64f2, 0x64f3, 0x64f4, 0x64f5, 0x64f6,\n    0x64f7, 0x64f8, 0x64f9, 0x64fa, 0x64fb, 0x64fc, 0x64fd, 0x64fe,\n    0x64ff, 0x6501, 0x6502, 0x6503, 0x6504, 0x6505, 0x6506, 0x6507,\n    0x6508, 0x650a, 0x650b, 0x650c, 0x650d, 0x650e, 0x650f, 0x6510,\n    0x6511, 0x6513, 0x6514, 0x6515, 0x6516, 0x6517, 0x6519, 0x651a,\n    0x651b, 0x651c, 0x651d, 0x651e, 0x651f, 0x6520, 0x6521, 0x003f,\n    0x6522, 0x6523, 0x6524, 0x6526, 0x6527, 0x6528, 0x6529, 0x652a,\n    0x652c, 0x652d, 0x6530, 0x6531, 0x6532, 0x6533, 0x6537, 0x653a,\n    0x653c, 0x653d, 0x6540, 0x6541, 0x6542, 0x6543, 0x6544, 0x6546,\n    0x6547, 0x654a, 0x654b, 0x654d, 0x654e, 0x6550, 0x6552, 0x6553,\n    0x6554, 0x6557, 0x6558, 0x655a, 0x655c, 0x655f, 0x6560, 0x6561,\n    0x6564, 0x6565, 0x6567, 0x6568, 0x6569, 0x656a, 0x656d, 0x656e,\n    0x656f, 0x6571, 0x6573, 0x6575, 0x6576, 0x6578, 0x6579, 0x657a,\n    0x657b, 0x657c, 0x657d, 0x657e, 0x657f, 0x6580, 0x6581, 0x6582,\n    0x6583, 0x6584, 0x6585, 0x6586, 0x6588, 0x6589, 0x658a, 0x658d,\n    0x658e, 0x658f, 0x6592, 0x6594, 0x6595, 0x6596, 0x6598, 0x659a,\n    0x659d, 0x659e, 0x65a0, 0x65a2, 0x65a3, 0x65a6, 0x65a8, 0x65aa,\n    0x65ac, 0x65ae, 0x65b1, 0x65b2, 0x65b3, 0x65b4, 0x65b5, 0x65b6,\n    0x65b7, 0x65b8, 0x65ba, 0x65bb, 0x65be, 0x65bf, 0x65c0, 0x65c2,\n    0x65c7, 0x65c8, 0x65c9, 0x65ca, 0x65cd, 0x65d0, 0x65d1, 0x65d3,\n    0x65d4, 0x65d5, 0x65d8, 0x65d9, 0x65da, 0x65db, 0x65dc, 0x65dd,\n    0x65de, 0x65df, 0x65e1, 0x65e3, 0x65e4, 0x65ea, 0x65eb, 0x003f,\n    /* lead byte 95 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x65f2, 0x65f3, 0x65f4, 0x65f5, 0x65f8, 0x65f9, 0x65fb, 0x65fc,\n    0x65fd, 0x65fe, 0x65ff, 0x6601, 0x6604, 0x6605, 0x6607, 0x6608,\n    0x6609, 0x660b, 0x660d, 0x6610, 0x6611, 0x6612, 0x6616, 0x6617,\n    0x6618, 0x661a, 0x661b, 0x661c, 0x661e, 0x6621, 0x6622, 0x6623,\n    0x6624, 0x6626, 0x6629, 0x662a, 0x662b, 0x662c, 0x662e, 0x6630,\n    0x6632, 0x6633, 0x6637, 0x6638, 0x6639, 0x663a, 0x663b, 0x663d,\n    0x663f, 0x6640, 0x6642, 0x6644, 0x6645, 0x6646, 0x6647, 0x6648,\n    0x6649, 0x664a, 0x664d, 0x664e, 0x6650, 0x6651, 0x6658, 0x003f,\n    0x6659, 0x665b, 0x665c, 0x665d, 0x665e, 0x6660, 0x6662, 0x6663,\n    0x6665, 0x6667, 0x6669, 0x666a, 0x666b, 0x666c, 0x666d, 0x6671,\n    0x6672, 0x6673, 0x6675, 0x6678, 0x6679, 0x667b, 0x667c, 0x667d,\n    0x667f, 0x6680, 0x6681, 0x6683, 0x6685, 0x6686, 0x6688, 0x6689,\n    0x668a, 0x668b, 0x668d, 0x668e, 0x668f, 0x6690, 0x6692, 0x6693,\n    0x6694, 0x6695, 0x6698, 0x6699, 0x669a, 0x669b, 0x669c, 0x669e,\n    0x669f, 0x66a0, 0x66a1, 0x66a2, 0x66a3, 0x66a4, 0x66a5, 0x66a6,\n    0x66a9, 0x66aa, 0x66ab, 0x66ac, 0x66ad, 0x66af, 0x66b0, 0x66b1,\n    0x66b2, 0x66b3, 0x66b5, 0x66b6, 0x66b7, 0x66b8, 0x66ba, 0x66bb,\n    0x66bc, 0x66bd, 0x66bf, 0x66c0, 0x66c1, 0x66c2, 0x66c3, 0x66c4,\n    0x66c5, 0x66c6, 0x66c7, 0x66c8, 0x66c9, 0x66ca, 0x66cb, 0x66cc,\n    0x66cd, 0x66ce, 0x66cf, 0x66d0, 0x66d1, 0x66d2, 0x66d3, 0x66d4,\n    0x66d5, 0x66d6, 0x66d7, 0x66d8, 0x66da, 0x66de, 0x66df, 0x66e0,\n    0x66e1, 0x66e2, 0x66e3, 0x66e4, 0x66e5, 0x66e7, 0x66e8, 0x66ea,\n    0x66eb, 0x66ec, 0x66ed, 0x66ee, 0x66ef, 0x66f1, 0x66f5, 0x66f6,\n    0x66f8, 0x66fa, 0x66fb, 0x66fd, 0x6701, 0x6702, 0x6703, 0x003f,\n    /* lead byte 96 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6704, 0x6705, 0x6706, 0x6707, 0x670c, 0x670e, 0x670f, 0x6711,\n    0x6712, 0x6713, 0x6716, 0x6718, 0x6719, 0x671a, 0x671c, 0x671e,\n    0x6720, 0x6721, 0x6722, 0x6723, 0x6724, 0x6725, 0x6727, 0x6729,\n    0x672e, 0x6730, 0x6732, 0x6733, 0x6736, 0x6737, 0x6738, 0x6739,\n    0x673b, 0x673c, 0x673e, 0x673f, 0x6741, 0x6744, 0x6745, 0x6747,\n    0x674a, 0x674b, 0x674d, 0x6752, 0x6754, 0x6755, 0x6757, 0x6758,\n    0x6759, 0x675a, 0x675b, 0x675d, 0x6762, 0x6763, 0x6764, 0x6766,\n    0x6767, 0x676b, 0x676c, 0x676e, 0x6771, 0x6774, 0x6776, 0x003f,\n    0x6778, 0x6779, 0x677a, 0x677b, 0x677d, 0x6780, 0x6782, 0x6783,\n    0x6785, 0x6786, 0x6788, 0x678a, 0x678c, 0x678d, 0x678e, 0x678f,\n    0x6791, 0x6792, 0x6793, 0x6794, 0x6796, 0x6799, 0x679b, 0x679f,\n    0x67a0, 0x67a1, 0x67a4, 0x67a6, 0x67a9, 0x67ac, 0x67ae, 0x67b1,\n    0x67b2, 0x67b4, 0x67b9, 0x67ba, 0x67bb, 0x67bc, 0x67bd, 0x67be,\n    0x67bf, 0x67c0, 0x67c2, 0x67c5, 0x67c6, 0x67c7, 0x67c8, 0x67c9,\n    0x67ca, 0x67cb, 0x67cc, 0x67cd, 0x67ce, 0x67d5, 0x67d6, 0x67d7,\n    0x67db, 0x67df, 0x67e1, 0x67e3, 0x67e4, 0x67e6, 0x67e7, 0x67e8,\n    0x67ea, 0x67eb, 0x67ed, 0x67ee, 0x67f2, 0x67f5, 0x67f6, 0x67f7,\n    0x67f8, 0x67f9, 0x67fa, 0x67fb, 0x67fc, 0x67fe, 0x6801, 0x6802,\n    0x6803, 0x6804, 0x6806, 0x680d, 0x6810, 0x6812, 0x6814, 0x6815,\n    0x6818, 0x6819, 0x681a, 0x681b, 0x681c, 0x681e, 0x681f, 0x6820,\n    0x6822, 0x6823, 0x6824, 0x6825, 0x6826, 0x6827, 0x6828, 0x682b,\n    0x682c, 0x682d, 0x682e, 0x682f, 0x6830, 0x6831, 0x6834, 0x6835,\n    0x6836, 0x683a, 0x683b, 0x683f, 0x6847, 0x684b, 0x684d, 0x684f,\n    0x6852, 0x6856, 0x6857, 0x6858, 0x6859, 0x685a, 0x685b, 0x003f,\n    /* lead byte 97 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x685c, 0x685d, 0x685e, 0x685f, 0x686a, 0x686c, 0x686d, 0x686e,\n    0x686f, 0x6870, 0x6871, 0x6872, 0x6873, 0x6875, 0x6878, 0x6879,\n    0x687a, 0x687b, 0x687c, 0x687d, 0x687e, 0x687f, 0x6880, 0x6882,\n    0x6884, 0x6887, 0x6888, 0x6889, 0x688a, 0x688b, 0x688c, 0x688d,\n    0x688e, 0x6890, 0x6891, 0x6892, 0x6894, 0x6895, 0x6896, 0x6898,\n    0x6899, 0x689a, 0x689b, 0x689c, 0x689d, 0x689e, 0x689f, 0x68a0,\n    0x68a1, 0x68a3, 0x68a4, 0x68a5, 0x68a9, 0x68aa, 0x68ab, 0x68ac,\n    0x68ae, 0x68b1, 0x68b2, 0x68b4, 0x68b6, 0x68b7, 0x68b8, 0x003f,\n    0x68b9, 0x68ba, 0x68bb, 0x68bc, 0x68bd, 0x68be, 0x68bf, 0x68c1,\n    0x68c3, 0x68c4, 0x68c5, 0x68c6, 0x68c7, 0x68c8, 0x68ca, 0x68cc,\n    0x68ce, 0x68cf, 0x68d0, 0x68d1, 0x68d3, 0x68d4, 0x68d6, 0x68d7,\n    0x68d9, 0x68db, 0x68dc, 0x68dd, 0x68de, 0x68df, 0x68e1, 0x68e2,\n    0x68e4, 0x68e5, 0x68e6, 0x68e7, 0x68e8, 0x68e9, 0x68ea, 0x68eb,\n    0x68ec, 0x68ed, 0x68ef, 0x68f2, 0x68f3, 0x68f4, 0x68f6, 0x68f7,\n    0x68f8, 0x68fb, 0x68fd, 0x68fe, 0x68ff, 0x6900, 0x6902, 0x6903,\n    0x6904, 0x6906, 0x6907, 0x6908, 0x6909, 0x690a, 0x690c, 0x690f,\n    0x6911, 0x6913, 0x6914, 0x6915, 0x6916, 0x6917, 0x6918, 0x6919,\n    0x691a, 0x691b, 0x691c, 0x691d, 0x691e, 0x6921, 0x6922, 0x6923,\n    0x6925, 0x6926, 0x6927, 0x6928, 0x6929, 0x692a, 0x692b, 0x692c,\n    0x692e, 0x692f, 0x6931, 0x6932, 0x6933, 0x6935, 0x6936, 0x6937,\n    0x6938, 0x693a, 0x693b, 0x693c, 0x693e, 0x6940, 0x6941, 0x6943,\n    0x6944, 0x6945, 0x6946, 0x6947, 0x6948, 0x6949, 0x694a, 0x694b,\n    0x694c, 0x694d, 0x694e, 0x694f, 0x6950, 0x6951, 0x6952, 0x6953,\n    0x6955, 0x6956, 0x6958, 0x6959, 0x695b, 0x695c, 0x695f, 0x003f,\n    /* lead byte 98 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6961, 0x6962, 0x6964, 0x6965, 0x6967, 0x6968, 0x6969, 0x696a,\n    0x696c, 0x696d, 0x696f, 0x6970, 0x6972, 0x6973, 0x6974, 0x6975,\n    0x6976, 0x697a, 0x697b, 0x697d, 0x697e, 0x697f, 0x6981, 0x6983,\n    0x6985, 0x698a, 0x698b, 0x698c, 0x698e, 0x698f, 0x6990, 0x6991,\n    0x6992, 0x6993, 0x6996, 0x6997, 0x6999, 0x699a, 0x699d, 0x699e,\n    0x699f, 0x69a0, 0x69a1, 0x69a2, 0x69a3, 0x69a4, 0x69a5, 0x69a6,\n    0x69a9, 0x69aa, 0x69ac, 0x69ae, 0x69af, 0x69b0, 0x69b2, 0x69b3,\n    0x69b5, 0x69b6, 0x69b8, 0x69b9, 0x69ba, 0x69bc, 0x69bd, 0x003f,\n    0x69be, 0x69bf, 0x69c0, 0x69c2, 0x69c3, 0x69c4, 0x69c5, 0x69c6,\n    0x69c7, 0x69c8, 0x69c9, 0x69cb, 0x69cd, 0x69cf, 0x69d1, 0x69d2,\n    0x69d3, 0x69d5, 0x69d6, 0x69d7, 0x69d8, 0x69d9, 0x69da, 0x69dc,\n    0x69dd, 0x69de, 0x69e1, 0x69e2, 0x69e3, 0x69e4, 0x69e5, 0x69e6,\n    0x69e7, 0x69e8, 0x69e9, 0x69ea, 0x69eb, 0x69ec, 0x69ee, 0x69ef,\n    0x69f0, 0x69f1, 0x69f3, 0x69f4, 0x69f5, 0x69f6, 0x69f7, 0x69f8,\n    0x69f9, 0x69fa, 0x69fb, 0x69fc, 0x69fe, 0x6a00, 0x6a01, 0x6a02,\n    0x6a03, 0x6a04, 0x6a05, 0x6a06, 0x6a07, 0x6a08, 0x6a09, 0x6a0b,\n    0x6a0c, 0x6a0d, 0x6a0e, 0x6a0f, 0x6a10, 0x6a11, 0x6a12, 0x6a13,\n    0x6a14, 0x6a15, 0x6a16, 0x6a19, 0x6a1a, 0x6a1b, 0x6a1c, 0x6a1d,\n    0x6a1e, 0x6a20, 0x6a22, 0x6a23, 0x6a24, 0x6a25, 0x6a26, 0x6a27,\n    0x6a29, 0x6a2b, 0x6a2c, 0x6a2d, 0x6a2e, 0x6a30, 0x6a32, 0x6a33,\n    0x6a34, 0x6a36, 0x6a37, 0x6a38, 0x6a39, 0x6a3a, 0x6a3b, 0x6a3c,\n    0x6a3f, 0x6a40, 0x6a41, 0x6a42, 0x6a43, 0x6a45, 0x6a46, 0x6a48,\n    0x6a49, 0x6a4a, 0x6a4b, 0x6a4c, 0x6a4d, 0x6a4e, 0x6a4f, 0x6a51,\n    0x6a52, 0x6a53, 0x6a54, 0x6a55, 0x6a56, 0x6a57, 0x6a5a, 0x003f,\n    /* lead byte 99 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6a5c, 0x6a5d, 0x6a5e, 0x6a5f, 0x6a60, 0x6a62, 0x6a63, 0x6a64,\n    0x6a66, 0x6a67, 0x6a68, 0x6a69, 0x6a6a, 0x6a6b, 0x6a6c, 0x6a6d,\n    0x6a6e, 0x6a6f, 0x6a70, 0x6a72, 0x6a73, 0x6a74, 0x6a75, 0x6a76,\n    0x6a77, 0x6a78, 0x6a7a, 0x6a7b, 0x6a7d, 0x6a7e, 0x6a7f, 0x6a81,\n    0x6a82, 0x6a83, 0x6a85, 0x6a86, 0x6a87, 0x6a88, 0x6a89, 0x6a8a,\n    0x6a8b, 0x6a8c, 0x6a8d, 0x6a8f, 0x6a92, 0x6a93, 0x6a94, 0x6a95,\n    0x6a96, 0x6a98, 0x6a99, 0x6a9a, 0x6a9b, 0x6a9c, 0x6a9d, 0x6a9e,\n    0x6a9f, 0x6aa1, 0x6aa2, 0x6aa3, 0x6aa4, 0x6aa5, 0x6aa6, 0x003f,\n    0x6aa7, 0x6aa8, 0x6aaa, 0x6aad, 0x6aae, 0x6aaf, 0x6ab0, 0x6ab1,\n    0x6ab2, 0x6ab3, 0x6ab4, 0x6ab5, 0x6ab6, 0x6ab7, 0x6ab8, 0x6ab9,\n    0x6aba, 0x6abb, 0x6abc, 0x6abd, 0x6abe, 0x6abf, 0x6ac0, 0x6ac1,\n    0x6ac2, 0x6ac3, 0x6ac4, 0x6ac5, 0x6ac6, 0x6ac7, 0x6ac8, 0x6ac9,\n    0x6aca, 0x6acb, 0x6acc, 0x6acd, 0x6ace, 0x6acf, 0x6ad0, 0x6ad1,\n    0x6ad2, 0x6ad3, 0x6ad4, 0x6ad5, 0x6ad6, 0x6ad7, 0x6ad8, 0x6ad9,\n    0x6ada, 0x6adb, 0x6adc, 0x6add, 0x6ade, 0x6adf, 0x6ae0, 0x6ae1,\n    0x6ae2, 0x6ae3, 0x6ae4, 0x6ae5, 0x6ae6, 0x6ae7, 0x6ae8, 0x6ae9,\n    0x6aea, 0x6aeb, 0x6aec, 0x6aed, 0x6aee, 0x6aef, 0x6af0, 0x6af1,\n    0x6af2, 0x6af3, 0x6af4, 0x6af5, 0x6af6, 0x6af7, 0x6af8, 0x6af9,\n    0x6afa, 0x6afb, 0x6afc, 0x6afd, 0x6afe, 0x6aff, 0x6b00, 0x6b01,\n    0x6b02, 0x6b03, 0x6b04, 0x6b05, 0x6b06, 0x6b07, 0x6b08, 0x6b09,\n    0x6b0a, 0x6b0b, 0x6b0c, 0x6b0d, 0x6b0e, 0x6b0f, 0x6b10, 0x6b11,\n    0x6b12, 0x6b13, 0x6b14, 0x6b15, 0x6b16, 0x6b17, 0x6b18, 0x6b19,\n    0x6b1a, 0x6b1b, 0x6b1c, 0x6b1d, 0x6b1e, 0x6b1f, 0x6b25, 0x6b26,\n    0x6b28, 0x6b29, 0x6b2a, 0x6b2b, 0x6b2c, 0x6b2d, 0x6b2e, 0x003f,\n    /* lead byte 9a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6b2f, 0x6b30, 0x6b31, 0x6b33, 0x6b34, 0x6b35, 0x6b36, 0x6b38,\n    0x6b3b, 0x6b3c, 0x6b3d, 0x6b3f, 0x6b40, 0x6b41, 0x6b42, 0x6b44,\n    0x6b45, 0x6b48, 0x6b4a, 0x6b4b, 0x6b4d, 0x6b4e, 0x6b4f, 0x6b50,\n    0x6b51, 0x6b52, 0x6b53, 0x6b54, 0x6b55, 0x6b56, 0x6b57, 0x6b58,\n    0x6b5a, 0x6b5b, 0x6b5c, 0x6b5d, 0x6b5e, 0x6b5f, 0x6b60, 0x6b61,\n    0x6b68, 0x6b69, 0x6b6b, 0x6b6c, 0x6b6d, 0x6b6e, 0x6b6f, 0x6b70,\n    0x6b71, 0x6b72, 0x6b73, 0x6b74, 0x6b75, 0x6b76, 0x6b77, 0x6b78,\n    0x6b7a, 0x6b7d, 0x6b7e, 0x6b7f, 0x6b80, 0x6b85, 0x6b88, 0x003f,\n    0x6b8c, 0x6b8e, 0x6b8f, 0x6b90, 0x6b91, 0x6b94, 0x6b95, 0x6b97,\n    0x6b98, 0x6b99, 0x6b9c, 0x6b9d, 0x6b9e, 0x6b9f, 0x6ba0, 0x6ba2,\n    0x6ba3, 0x6ba4, 0x6ba5, 0x6ba6, 0x6ba7, 0x6ba8, 0x6ba9, 0x6bab,\n    0x6bac, 0x6bad, 0x6bae, 0x6baf, 0x6bb0, 0x6bb1, 0x6bb2, 0x6bb6,\n    0x6bb8, 0x6bb9, 0x6bba, 0x6bbb, 0x6bbc, 0x6bbd, 0x6bbe, 0x6bc0,\n    0x6bc3, 0x6bc4, 0x6bc6, 0x6bc7, 0x6bc8, 0x6bc9, 0x6bca, 0x6bcc,\n    0x6bce, 0x6bd0, 0x6bd1, 0x6bd8, 0x6bda, 0x6bdc, 0x6bdd, 0x6bde,\n    0x6bdf, 0x6be0, 0x6be2, 0x6be3, 0x6be4, 0x6be5, 0x6be6, 0x6be7,\n    0x6be8, 0x6be9, 0x6bec, 0x6bed, 0x6bee, 0x6bf0, 0x6bf1, 0x6bf2,\n    0x6bf4, 0x6bf6, 0x6bf7, 0x6bf8, 0x6bfa, 0x6bfb, 0x6bfc, 0x6bfe,\n    0x6bff, 0x6c00, 0x6c01, 0x6c02, 0x6c03, 0x6c04, 0x6c08, 0x6c09,\n    0x6c0a, 0x6c0b, 0x6c0c, 0x6c0e, 0x6c12, 0x6c17, 0x6c1c, 0x6c1d,\n    0x6c1e, 0x6c20, 0x6c23, 0x6c25, 0x6c2b, 0x6c2c, 0x6c2d, 0x6c31,\n    0x6c33, 0x6c36, 0x6c37, 0x6c39, 0x6c3a, 0x6c3b, 0x6c3c, 0x6c3e,\n    0x6c3f, 0x6c43, 0x6c44, 0x6c45, 0x6c48, 0x6c4b, 0x6c4c, 0x6c4d,\n    0x6c4e, 0x6c4f, 0x6c51, 0x6c52, 0x6c53, 0x6c56, 0x6c58, 0x003f,\n    /* lead byte 9b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6c59, 0x6c5a, 0x6c62, 0x6c63, 0x6c65, 0x6c66, 0x6c67, 0x6c6b,\n    0x6c6c, 0x6c6d, 0x6c6e, 0x6c6f, 0x6c71, 0x6c73, 0x6c75, 0x6c77,\n    0x6c78, 0x6c7a, 0x6c7b, 0x6c7c, 0x6c7f, 0x6c80, 0x6c84, 0x6c87,\n    0x6c8a, 0x6c8b, 0x6c8d, 0x6c8e, 0x6c91, 0x6c92, 0x6c95, 0x6c96,\n    0x6c97, 0x6c98, 0x6c9a, 0x6c9c, 0x6c9d, 0x6c9e, 0x6ca0, 0x6ca2,\n    0x6ca8, 0x6cac, 0x6caf, 0x6cb0, 0x6cb4, 0x6cb5, 0x6cb6, 0x6cb7,\n    0x6cba, 0x6cc0, 0x6cc1, 0x6cc2, 0x6cc3, 0x6cc6, 0x6cc7, 0x6cc8,\n    0x6ccb, 0x6ccd, 0x6cce, 0x6ccf, 0x6cd1, 0x6cd2, 0x6cd8, 0x003f,\n    0x6cd9, 0x6cda, 0x6cdc, 0x6cdd, 0x6cdf, 0x6ce4, 0x6ce6, 0x6ce7,\n    0x6ce9, 0x6cec, 0x6ced, 0x6cf2, 0x6cf4, 0x6cf9, 0x6cff, 0x6d00,\n    0x6d02, 0x6d03, 0x6d05, 0x6d06, 0x6d08, 0x6d09, 0x6d0a, 0x6d0d,\n    0x6d0f, 0x6d10, 0x6d11, 0x6d13, 0x6d14, 0x6d15, 0x6d16, 0x6d18,\n    0x6d1c, 0x6d1d, 0x6d1f, 0x6d20, 0x6d21, 0x6d22, 0x6d23, 0x6d24,\n    0x6d26, 0x6d28, 0x6d29, 0x6d2c, 0x6d2d, 0x6d2f, 0x6d30, 0x6d34,\n    0x6d36, 0x6d37, 0x6d38, 0x6d3a, 0x6d3f, 0x6d40, 0x6d42, 0x6d44,\n    0x6d49, 0x6d4c, 0x6d50, 0x6d55, 0x6d56, 0x6d57, 0x6d58, 0x6d5b,\n    0x6d5d, 0x6d5f, 0x6d61, 0x6d62, 0x6d64, 0x6d65, 0x6d67, 0x6d68,\n    0x6d6b, 0x6d6c, 0x6d6d, 0x6d70, 0x6d71, 0x6d72, 0x6d73, 0x6d75,\n    0x6d76, 0x6d79, 0x6d7a, 0x6d7b, 0x6d7d, 0x6d7e, 0x6d7f, 0x6d80,\n    0x6d81, 0x6d83, 0x6d84, 0x6d86, 0x6d87, 0x6d8a, 0x6d8b, 0x6d8d,\n    0x6d8f, 0x6d90, 0x6d92, 0x6d96, 0x6d97, 0x6d98, 0x6d99, 0x6d9a,\n    0x6d9c, 0x6da2, 0x6da5, 0x6dac, 0x6dad, 0x6db0, 0x6db1, 0x6db3,\n    0x6db4, 0x6db6, 0x6db7, 0x6db9, 0x6dba, 0x6dbb, 0x6dbc, 0x6dbd,\n    0x6dbe, 0x6dc1, 0x6dc2, 0x6dc3, 0x6dc8, 0x6dc9, 0x6dca, 0x003f,\n    /* lead byte 9c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6dcd, 0x6dce, 0x6dcf, 0x6dd0, 0x6dd2, 0x6dd3, 0x6dd4, 0x6dd5,\n    0x6dd7, 0x6dda, 0x6ddb, 0x6ddc, 0x6ddf, 0x6de2, 0x6de3, 0x6de5,\n    0x6de7, 0x6de8, 0x6de9, 0x6dea, 0x6ded, 0x6def, 0x6df0, 0x6df2,\n    0x6df4, 0x6df5, 0x6df6, 0x6df8, 0x6dfa, 0x6dfd, 0x6dfe, 0x6dff,\n    0x6e00, 0x6e01, 0x6e02, 0x6e03, 0x6e04, 0x6e06, 0x6e07, 0x6e08,\n    0x6e09, 0x6e0b, 0x6e0f, 0x6e12, 0x6e13, 0x6e15, 0x6e18, 0x6e19,\n    0x6e1b, 0x6e1c, 0x6e1e, 0x6e1f, 0x6e22, 0x6e26, 0x6e27, 0x6e28,\n    0x6e2a, 0x6e2c, 0x6e2e, 0x6e30, 0x6e31, 0x6e33, 0x6e35, 0x003f,\n    0x6e36, 0x6e37, 0x6e39, 0x6e3b, 0x6e3c, 0x6e3d, 0x6e3e, 0x6e3f,\n    0x6e40, 0x6e41, 0x6e42, 0x6e45, 0x6e46, 0x6e47, 0x6e48, 0x6e49,\n    0x6e4a, 0x6e4b, 0x6e4c, 0x6e4f, 0x6e50, 0x6e51, 0x6e52, 0x6e55,\n    0x6e57, 0x6e59, 0x6e5a, 0x6e5c, 0x6e5d, 0x6e5e, 0x6e60, 0x6e61,\n    0x6e62, 0x6e63, 0x6e64, 0x6e65, 0x6e66, 0x6e67, 0x6e68, 0x6e69,\n    0x6e6a, 0x6e6c, 0x6e6d, 0x6e6f, 0x6e70, 0x6e71, 0x6e72, 0x6e73,\n    0x6e74, 0x6e75, 0x6e76, 0x6e77, 0x6e78, 0x6e79, 0x6e7a, 0x6e7b,\n    0x6e7c, 0x6e7d, 0x6e80, 0x6e81, 0x6e82, 0x6e84, 0x6e87, 0x6e88,\n    0x6e8a, 0x6e8b, 0x6e8c, 0x6e8d, 0x6e8e, 0x6e91, 0x6e92, 0x6e93,\n    0x6e94, 0x6e95, 0x6e96, 0x6e97, 0x6e99, 0x6e9a, 0x6e9b, 0x6e9d,\n    0x6e9e, 0x6ea0, 0x6ea1, 0x6ea3, 0x6ea4, 0x6ea6, 0x6ea8, 0x6ea9,\n    0x6eab, 0x6eac, 0x6ead, 0x6eae, 0x6eb0, 0x6eb3, 0x6eb5, 0x6eb8,\n    0x6eb9, 0x6ebc, 0x6ebe, 0x6ebf, 0x6ec0, 0x6ec3, 0x6ec4, 0x6ec5,\n    0x6ec6, 0x6ec8, 0x6ec9, 0x6eca, 0x6ecc, 0x6ecd, 0x6ece, 0x6ed0,\n    0x6ed2, 0x6ed6, 0x6ed8, 0x6ed9, 0x6edb, 0x6edc, 0x6edd, 0x6ee3,\n    0x6ee7, 0x6eea, 0x6eeb, 0x6eec, 0x6eed, 0x6eee, 0x6eef, 0x003f,\n    /* lead byte 9d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6ef0, 0x6ef1, 0x6ef2, 0x6ef3, 0x6ef5, 0x6ef6, 0x6ef7, 0x6ef8,\n    0x6efa, 0x6efb, 0x6efc, 0x6efd, 0x6efe, 0x6eff, 0x6f00, 0x6f01,\n    0x6f03, 0x6f04, 0x6f05, 0x6f07, 0x6f08, 0x6f0a, 0x6f0b, 0x6f0c,\n    0x6f0d, 0x6f0e, 0x6f10, 0x6f11, 0x6f12, 0x6f16, 0x6f17, 0x6f18,\n    0x6f19, 0x6f1a, 0x6f1b, 0x6f1c, 0x6f1d, 0x6f1e, 0x6f1f, 0x6f21,\n    0x6f22, 0x6f23, 0x6f25, 0x6f26, 0x6f27, 0x6f28, 0x6f2c, 0x6f2e,\n    0x6f30, 0x6f32, 0x6f34, 0x6f35, 0x6f37, 0x6f38, 0x6f39, 0x6f3a,\n    0x6f3b, 0x6f3c, 0x6f3d, 0x6f3f, 0x6f40, 0x6f41, 0x6f42, 0x003f,\n    0x6f43, 0x6f44, 0x6f45, 0x6f48, 0x6f49, 0x6f4a, 0x6f4c, 0x6f4e,\n    0x6f4f, 0x6f50, 0x6f51, 0x6f52, 0x6f53, 0x6f54, 0x6f55, 0x6f56,\n    0x6f57, 0x6f59, 0x6f5a, 0x6f5b, 0x6f5d, 0x6f5f, 0x6f60, 0x6f61,\n    0x6f63, 0x6f64, 0x6f65, 0x6f67, 0x6f68, 0x6f69, 0x6f6a, 0x6f6b,\n    0x6f6c, 0x6f6f, 0x6f70, 0x6f71, 0x6f73, 0x6f75, 0x6f76, 0x6f77,\n    0x6f79, 0x6f7b, 0x6f7d, 0x6f7e, 0x6f7f, 0x6f80, 0x6f81, 0x6f82,\n    0x6f83, 0x6f85, 0x6f86, 0x6f87, 0x6f8a, 0x6f8b, 0x6f8f, 0x6f90,\n    0x6f91, 0x6f92, 0x6f93, 0x6f94, 0x6f95, 0x6f96, 0x6f97, 0x6f98,\n    0x6f99, 0x6f9a, 0x6f9b, 0x6f9d, 0x6f9e, 0x6f9f, 0x6fa0, 0x6fa2,\n    0x6fa3, 0x6fa4, 0x6fa5, 0x6fa6, 0x6fa8, 0x6fa9, 0x6faa, 0x6fab,\n    0x6fac, 0x6fad, 0x6fae, 0x6faf, 0x6fb0, 0x6fb1, 0x6fb2, 0x6fb4,\n    0x6fb5, 0x6fb7, 0x6fb8, 0x6fba, 0x6fbb, 0x6fbc, 0x6fbd, 0x6fbe,\n    0x6fbf, 0x6fc1, 0x6fc3, 0x6fc4, 0x6fc5, 0x6fc6, 0x6fc7, 0x6fc8,\n    0x6fca, 0x6fcb, 0x6fcc, 0x6fcd, 0x6fce, 0x6fcf, 0x6fd0, 0x6fd3,\n    0x6fd4, 0x6fd5, 0x6fd6, 0x6fd7, 0x6fd8, 0x6fd9, 0x6fda, 0x6fdb,\n    0x6fdc, 0x6fdd, 0x6fdf, 0x6fe2, 0x6fe3, 0x6fe4, 0x6fe5, 0x003f,\n    /* lead byte 9e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6fe6, 0x6fe7, 0x6fe8, 0x6fe9, 0x6fea, 0x6feb, 0x6fec, 0x6fed,\n    0x6ff0, 0x6ff1, 0x6ff2, 0x6ff3, 0x6ff4, 0x6ff5, 0x6ff6, 0x6ff7,\n    0x6ff8, 0x6ff9, 0x6ffa, 0x6ffb, 0x6ffc, 0x6ffd, 0x6ffe, 0x6fff,\n    0x7000, 0x7001, 0x7002, 0x7003, 0x7004, 0x7005, 0x7006, 0x7007,\n    0x7008, 0x7009, 0x700a, 0x700b, 0x700c, 0x700d, 0x700e, 0x700f,\n    0x7010, 0x7012, 0x7013, 0x7014, 0x7015, 0x7016, 0x7017, 0x7018,\n    0x7019, 0x701c, 0x701d, 0x701e, 0x701f, 0x7020, 0x7021, 0x7022,\n    0x7024, 0x7025, 0x7026, 0x7027, 0x7028, 0x7029, 0x702a, 0x003f,\n    0x702b, 0x702c, 0x702d, 0x702e, 0x702f, 0x7030, 0x7031, 0x7032,\n    0x7033, 0x7034, 0x7036, 0x7037, 0x7038, 0x703a, 0x703b, 0x703c,\n    0x703d, 0x703e, 0x703f, 0x7040, 0x7041, 0x7042, 0x7043, 0x7044,\n    0x7045, 0x7046, 0x7047, 0x7048, 0x7049, 0x704a, 0x704b, 0x704d,\n    0x704e, 0x7050, 0x7051, 0x7052, 0x7053, 0x7054, 0x7055, 0x7056,\n    0x7057, 0x7058, 0x7059, 0x705a, 0x705b, 0x705c, 0x705d, 0x705f,\n    0x7060, 0x7061, 0x7062, 0x7063, 0x7064, 0x7065, 0x7066, 0x7067,\n    0x7068, 0x7069, 0x706a, 0x706e, 0x7071, 0x7072, 0x7073, 0x7074,\n    0x7077, 0x7079, 0x707a, 0x707b, 0x707d, 0x7081, 0x7082, 0x7083,\n    0x7084, 0x7086, 0x7087, 0x7088, 0x708b, 0x708c, 0x708d, 0x708f,\n    0x7090, 0x7091, 0x7093, 0x7097, 0x7098, 0x709a, 0x709b, 0x709e,\n    0x709f, 0x70a0, 0x70a1, 0x70a2, 0x70a3, 0x70a4, 0x70a5, 0x70a6,\n    0x70a7, 0x70a8, 0x70a9, 0x70aa, 0x70b0, 0x70b2, 0x70b4, 0x70b5,\n    0x70b6, 0x70ba, 0x70be, 0x70bf, 0x70c4, 0x70c5, 0x70c6, 0x70c7,\n    0x70c9, 0x70cb, 0x70cc, 0x70cd, 0x70ce, 0x70cf, 0x70d0, 0x70d1,\n    0x70d2, 0x70d3, 0x70d4, 0x70d5, 0x70d6, 0x70d7, 0x70da, 0x003f,\n    /* lead byte 9f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x70dc, 0x70dd, 0x70de, 0x70e0, 0x70e1, 0x70e2, 0x70e3, 0x70e5,\n    0x70ea, 0x70ee, 0x70f0, 0x70f1, 0x70f2, 0x70f3, 0x70f4, 0x70f5,\n    0x70f6, 0x70f8, 0x70fa, 0x70fb, 0x70fc, 0x70fe, 0x70ff, 0x7100,\n    0x7101, 0x7102, 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x7108,\n    0x710b, 0x710c, 0x710d, 0x710e, 0x710f, 0x7111, 0x7112, 0x7114,\n    0x7117, 0x711b, 0x711c, 0x711d, 0x711e, 0x711f, 0x7120, 0x7121,\n    0x7122, 0x7123, 0x7124, 0x7125, 0x7127, 0x7128, 0x7129, 0x712a,\n    0x712b, 0x712c, 0x712d, 0x712e, 0x7132, 0x7133, 0x7134, 0x003f,\n    0x7135, 0x7137, 0x7138, 0x7139, 0x713a, 0x713b, 0x713c, 0x713d,\n    0x713e, 0x713f, 0x7140, 0x7141, 0x7142, 0x7143, 0x7144, 0x7146,\n    0x7147, 0x7148, 0x7149, 0x714b, 0x714d, 0x714f, 0x7150, 0x7151,\n    0x7152, 0x7153, 0x7154, 0x7155, 0x7156, 0x7157, 0x7158, 0x7159,\n    0x715a, 0x715b, 0x715d, 0x715f, 0x7160, 0x7161, 0x7162, 0x7163,\n    0x7165, 0x7169, 0x716a, 0x716b, 0x716c, 0x716d, 0x716f, 0x7170,\n    0x7171, 0x7174, 0x7175, 0x7176, 0x7177, 0x7179, 0x717b, 0x717c,\n    0x717e, 0x717f, 0x7180, 0x7181, 0x7182, 0x7183, 0x7185, 0x7186,\n    0x7187, 0x7188, 0x7189, 0x718b, 0x718c, 0x718d, 0x718e, 0x7190,\n    0x7191, 0x7192, 0x7193, 0x7195, 0x7196, 0x7197, 0x719a, 0x719b,\n    0x719c, 0x719d, 0x719e, 0x71a1, 0x71a2, 0x71a3, 0x71a4, 0x71a5,\n    0x71a6, 0x71a7, 0x71a9, 0x71aa, 0x71ab, 0x71ad, 0x71ae, 0x71af,\n    0x71b0, 0x71b1, 0x71b2, 0x71b4, 0x71b6, 0x71b7, 0x71b8, 0x71ba,\n    0x71bb, 0x71bc, 0x71bd, 0x71be, 0x71bf, 0x71c0, 0x71c1, 0x71c2,\n    0x71c4, 0x71c5, 0x71c6, 0x71c7, 0x71c8, 0x71c9, 0x71ca, 0x71cb,\n    0x71cc, 0x71cd, 0x71cf, 0x71d0, 0x71d1, 0x71d2, 0x71d3, 0x003f,\n    /* lead byte a0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x71d6, 0x71d7, 0x71d8, 0x71d9, 0x71da, 0x71db, 0x71dc, 0x71dd,\n    0x71de, 0x71df, 0x71e1, 0x71e2, 0x71e3, 0x71e4, 0x71e6, 0x71e8,\n    0x71e9, 0x71ea, 0x71eb, 0x71ec, 0x71ed, 0x71ef, 0x71f0, 0x71f1,\n    0x71f2, 0x71f3, 0x71f4, 0x71f5, 0x71f6, 0x71f7, 0x71f8, 0x71fa,\n    0x71fb, 0x71fc, 0x71fd, 0x71fe, 0x71ff, 0x7200, 0x7201, 0x7202,\n    0x7203, 0x7204, 0x7205, 0x7207, 0x7208, 0x7209, 0x720a, 0x720b,\n    0x720c, 0x720d, 0x720e, 0x720f, 0x7210, 0x7211, 0x7212, 0x7213,\n    0x7214, 0x7215, 0x7216, 0x7217, 0x7218, 0x7219, 0x721a, 0x003f,\n    0x721b, 0x721c, 0x721e, 0x721f, 0x7220, 0x7221, 0x7222, 0x7223,\n    0x7224, 0x7225, 0x7226, 0x7227, 0x7229, 0x722b, 0x722d, 0x722e,\n    0x722f, 0x7232, 0x7233, 0x7234, 0x723a, 0x723c, 0x723e, 0x7240,\n    0x7241, 0x7242, 0x7243, 0x7244, 0x7245, 0x7246, 0x7249, 0x724a,\n    0x724b, 0x724e, 0x724f, 0x7250, 0x7251, 0x7253, 0x7254, 0x7255,\n    0x7257, 0x7258, 0x725a, 0x725c, 0x725e, 0x7260, 0x7263, 0x7264,\n    0x7265, 0x7268, 0x726a, 0x726b, 0x726c, 0x726d, 0x7270, 0x7271,\n    0x7273, 0x7274, 0x7276, 0x7277, 0x7278, 0x727b, 0x727c, 0x727d,\n    0x7282, 0x7283, 0x7285, 0x7286, 0x7287, 0x7288, 0x7289, 0x728c,\n    0x728e, 0x7290, 0x7291, 0x7293, 0x7294, 0x7295, 0x7296, 0x7297,\n    0x7298, 0x7299, 0x729a, 0x729b, 0x729c, 0x729d, 0x729e, 0x72a0,\n    0x72a1, 0x72a2, 0x72a3, 0x72a4, 0x72a5, 0x72a6, 0x72a7, 0x72a8,\n    0x72a9, 0x72aa, 0x72ab, 0x72ae, 0x72b1, 0x72b2, 0x72b3, 0x72b5,\n    0x72ba, 0x72bb, 0x72bc, 0x72bd, 0x72be, 0x72bf, 0x72c0, 0x72c5,\n    0x72c6, 0x72c7, 0x72c9, 0x72ca, 0x72cb, 0x72cc, 0x72cf, 0x72d1,\n    0x72d3, 0x72d4, 0x72d5, 0x72d6, 0x72d8, 0x72da, 0x72db, 0x003f,\n    /* lead byte a1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x3000, 0x3001, 0x3002, 0x00b7, 0x02c9, 0x02c7, 0x00a8,\n    0x3003, 0x3005, 0x2014, 0xff5e, 0x2016, 0x2026, 0x2018, 0x2019,\n    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,\n    0x300c, 0x300d, 0x300e, 0x300f, 0x3016, 0x3017, 0x3010, 0x3011,\n    0x00b1, 0x00d7, 0x00f7, 0x2236, 0x2227, 0x2228, 0x2211, 0x220f,\n    0x222a, 0x2229, 0x2208, 0x2237, 0x221a, 0x22a5, 0x2225, 0x2220,\n    0x2312, 0x2299, 0x222b, 0x222e, 0x2261, 0x224c, 0x2248, 0x223d,\n    0x221d, 0x2260, 0x226e, 0x226f, 0x2264, 0x2265, 0x221e, 0x2235,\n    0x2234, 0x2642, 0x2640, 0x00b0, 0x2032, 0x2033, 0x2103, 0xff04,\n    0x00a4, 0xffe0, 0xffe1, 0x2030, 0x00a7, 0x2116, 0x2606, 0x2605,\n    0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25b3,\n    0x25b2, 0x203b, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0x003f,\n    /* lead byte a2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,\n    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x2488, 0x2489, 0x248a, 0x248b, 0x248c, 0x248d, 0x248e,\n    0x248f, 0x2490, 0x2491, 0x2492, 0x2493, 0x2494, 0x2495, 0x2496,\n    0x2497, 0x2498, 0x2499, 0x249a, 0x249b, 0x2474, 0x2475, 0x2476,\n    0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c, 0x247d, 0x247e,\n    0x247f, 0x2480, 0x2481, 0x2482, 0x2483, 0x2484, 0x2485, 0x2486,\n    0x2487, 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466,\n    0x2467, 0x2468, 0x2469, 0x003f, 0x003f, 0x3220, 0x3221, 0x3222,\n    0x3223, 0x3224, 0x3225, 0x3226, 0x3227, 0x3228, 0x3229, 0x003f,\n    0x003f, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,\n    0x2167, 0x2168, 0x2169, 0x216a, 0x216b, 0x003f, 0x003f, 0x003f,\n    /* lead byte a3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xff01, 0xff02, 0xff03, 0xffe5, 0xff05, 0xff06, 0xff07,\n    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,\n    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,\n    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,\n    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,\n    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,\n    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,\n    0xff38, 0xff39, 0xff3a, 0xff3b, 0xff3c, 0xff3d, 0xff3e, 0xff3f,\n    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,\n    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,\n    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,\n    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,\n    /* lead byte a4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,\n    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,\n    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,\n    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,\n    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,\n    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,\n    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,\n    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,\n    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,\n    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,\n    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,\n    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,\n    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,\n    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,\n    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,\n    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,\n    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,\n    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,\n    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,\n    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,\n    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\n    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,\n    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\n    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\n    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,\n    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfe35, 0xfe36, 0xfe39, 0xfe3a, 0xfe3f, 0xfe40, 0xfe3d, 0xfe3e,\n    0xfe41, 0xfe42, 0xfe43, 0xfe44, 0x003f, 0x003f, 0xfe3b, 0xfe3c,\n    0xfe37, 0xfe38, 0xfe31, 0x003f, 0xfe33, 0xfe34, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,\n    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,\n    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,\n    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,\n    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,\n    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,\n    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,\n    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,\n    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x02ca, 0x02cb, 0x02d9, 0x2013, 0x2015, 0x2025, 0x2035, 0x2105,\n    0x2109, 0x2196, 0x2197, 0x2198, 0x2199, 0x2215, 0x221f, 0x2223,\n    0x2252, 0x2266, 0x2267, 0x22bf, 0x2550, 0x2551, 0x2552, 0x2553,\n    0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255a, 0x255b,\n    0x255c, 0x255d, 0x255e, 0x255f, 0x2560, 0x2561, 0x2562, 0x2563,\n    0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b,\n    0x256c, 0x256d, 0x256e, 0x256f, 0x2570, 0x2571, 0x2572, 0x2573,\n    0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586, 0x2587, 0x003f,\n    0x2588, 0x2589, 0x258a, 0x258b, 0x258c, 0x258d, 0x258e, 0x258f,\n    0x2593, 0x2594, 0x2595, 0x25bc, 0x25bd, 0x25e2, 0x25e3, 0x25e4,\n    0x25e5, 0x2609, 0x2295, 0x3012, 0x301d, 0x301e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0101, 0x00e1, 0x01ce, 0x00e0, 0x0113, 0x00e9, 0x011b,\n    0x00e8, 0x012b, 0x00ed, 0x01d0, 0x00ec, 0x014d, 0x00f3, 0x01d2,\n    0x00f2, 0x016b, 0x00fa, 0x01d4, 0x00f9, 0x01d6, 0x01d8, 0x01da,\n    0x01dc, 0x00fc, 0x00ea, 0x0251, 0x003f, 0x0144, 0x0148, 0x003f,\n    0x0261, 0x003f, 0x003f, 0x003f, 0x003f, 0x3105, 0x3106, 0x3107,\n    0x3108, 0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f,\n    0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116, 0x3117,\n    0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e, 0x311f,\n    0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126, 0x3127,\n    0x3128, 0x3129, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x3021, 0x3022, 0x3023, 0x3024, 0x3025, 0x3026, 0x3027, 0x3028,\n    0x3029, 0x32a3, 0x338e, 0x338f, 0x339c, 0x339d, 0x339e, 0x33a1,\n    0x33c4, 0x33ce, 0x33d1, 0x33d2, 0x33d5, 0xfe30, 0xffe2, 0xffe4,\n    0x003f, 0x2121, 0x3231, 0x003f, 0x2010, 0x003f, 0x003f, 0x003f,\n    0x30fc, 0x309b, 0x309c, 0x30fd, 0x30fe, 0x3006, 0x309d, 0x309e,\n    0xfe49, 0xfe4a, 0xfe4b, 0xfe4c, 0xfe4d, 0xfe4e, 0xfe4f, 0xfe50,\n    0xfe51, 0xfe52, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xfe59, 0xfe5a,\n    0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0xfe5f, 0xfe60, 0xfe61, 0x003f,\n    0xfe62, 0xfe63, 0xfe64, 0xfe65, 0xfe66, 0xfe68, 0xfe69, 0xfe6a,\n    0xfe6b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x3007, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x2500, 0x2501, 0x2502, 0x2503,\n    0x2504, 0x2505, 0x2506, 0x2507, 0x2508, 0x2509, 0x250a, 0x250b,\n    0x250c, 0x250d, 0x250e, 0x250f, 0x2510, 0x2511, 0x2512, 0x2513,\n    0x2514, 0x2515, 0x2516, 0x2517, 0x2518, 0x2519, 0x251a, 0x251b,\n    0x251c, 0x251d, 0x251e, 0x251f, 0x2520, 0x2521, 0x2522, 0x2523,\n    0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252a, 0x252b,\n    0x252c, 0x252d, 0x252e, 0x252f, 0x2530, 0x2531, 0x2532, 0x2533,\n    0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253a, 0x253b,\n    0x253c, 0x253d, 0x253e, 0x253f, 0x2540, 0x2541, 0x2542, 0x2543,\n    0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x254b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte aa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x72dc, 0x72dd, 0x72df, 0x72e2, 0x72e3, 0x72e4, 0x72e5, 0x72e6,\n    0x72e7, 0x72ea, 0x72eb, 0x72f5, 0x72f6, 0x72f9, 0x72fd, 0x72fe,\n    0x72ff, 0x7300, 0x7302, 0x7304, 0x7305, 0x7306, 0x7307, 0x7308,\n    0x7309, 0x730b, 0x730c, 0x730d, 0x730f, 0x7310, 0x7311, 0x7312,\n    0x7314, 0x7318, 0x7319, 0x731a, 0x731f, 0x7320, 0x7323, 0x7324,\n    0x7326, 0x7327, 0x7328, 0x732d, 0x732f, 0x7330, 0x7332, 0x7333,\n    0x7335, 0x7336, 0x733a, 0x733b, 0x733c, 0x733d, 0x7340, 0x7341,\n    0x7342, 0x7343, 0x7344, 0x7345, 0x7346, 0x7347, 0x7348, 0x003f,\n    0x7349, 0x734a, 0x734b, 0x734c, 0x734e, 0x734f, 0x7351, 0x7353,\n    0x7354, 0x7355, 0x7356, 0x7358, 0x7359, 0x735a, 0x735b, 0x735c,\n    0x735d, 0x735e, 0x735f, 0x7361, 0x7362, 0x7363, 0x7364, 0x7365,\n    0x7366, 0x7367, 0x7368, 0x7369, 0x736a, 0x736b, 0x736e, 0x7370,\n    0x7371, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ab */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7372, 0x7373, 0x7374, 0x7375, 0x7376, 0x7377, 0x7378, 0x7379,\n    0x737a, 0x737b, 0x737c, 0x737d, 0x737f, 0x7380, 0x7381, 0x7382,\n    0x7383, 0x7385, 0x7386, 0x7388, 0x738a, 0x738c, 0x738d, 0x738f,\n    0x7390, 0x7392, 0x7393, 0x7394, 0x7395, 0x7397, 0x7398, 0x7399,\n    0x739a, 0x739c, 0x739d, 0x739e, 0x73a0, 0x73a1, 0x73a3, 0x73a4,\n    0x73a5, 0x73a6, 0x73a7, 0x73a8, 0x73aa, 0x73ac, 0x73ad, 0x73b1,\n    0x73b4, 0x73b5, 0x73b6, 0x73b8, 0x73b9, 0x73bc, 0x73bd, 0x73be,\n    0x73bf, 0x73c1, 0x73c3, 0x73c4, 0x73c5, 0x73c6, 0x73c7, 0x003f,\n    0x73cb, 0x73cc, 0x73ce, 0x73d2, 0x73d3, 0x73d4, 0x73d5, 0x73d6,\n    0x73d7, 0x73d8, 0x73da, 0x73db, 0x73dc, 0x73dd, 0x73df, 0x73e1,\n    0x73e2, 0x73e3, 0x73e4, 0x73e6, 0x73e8, 0x73ea, 0x73eb, 0x73ec,\n    0x73ee, 0x73ef, 0x73f0, 0x73f1, 0x73f3, 0x73f4, 0x73f5, 0x73f6,\n    0x73f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ac */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x73f8, 0x73f9, 0x73fa, 0x73fb, 0x73fc, 0x73fd, 0x73fe, 0x73ff,\n    0x7400, 0x7401, 0x7402, 0x7404, 0x7407, 0x7408, 0x740b, 0x740c,\n    0x740d, 0x740e, 0x7411, 0x7412, 0x7413, 0x7414, 0x7415, 0x7416,\n    0x7417, 0x7418, 0x7419, 0x741c, 0x741d, 0x741e, 0x741f, 0x7420,\n    0x7421, 0x7423, 0x7424, 0x7427, 0x7429, 0x742b, 0x742d, 0x742f,\n    0x7431, 0x7432, 0x7437, 0x7438, 0x7439, 0x743a, 0x743b, 0x743d,\n    0x743e, 0x743f, 0x7440, 0x7442, 0x7443, 0x7444, 0x7445, 0x7446,\n    0x7447, 0x7448, 0x7449, 0x744a, 0x744b, 0x744c, 0x744d, 0x003f,\n    0x744e, 0x744f, 0x7450, 0x7451, 0x7452, 0x7453, 0x7454, 0x7456,\n    0x7458, 0x745d, 0x7460, 0x7461, 0x7462, 0x7463, 0x7464, 0x7465,\n    0x7466, 0x7467, 0x7468, 0x7469, 0x746a, 0x746b, 0x746c, 0x746e,\n    0x746f, 0x7471, 0x7472, 0x7473, 0x7474, 0x7475, 0x7478, 0x7479,\n    0x747a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ad */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x747b, 0x747c, 0x747d, 0x747f, 0x7482, 0x7484, 0x7485, 0x7486,\n    0x7488, 0x7489, 0x748a, 0x748c, 0x748d, 0x748f, 0x7491, 0x7492,\n    0x7493, 0x7494, 0x7495, 0x7496, 0x7497, 0x7498, 0x7499, 0x749a,\n    0x749b, 0x749d, 0x749f, 0x74a0, 0x74a1, 0x74a2, 0x74a3, 0x74a4,\n    0x74a5, 0x74a6, 0x74aa, 0x74ab, 0x74ac, 0x74ad, 0x74ae, 0x74af,\n    0x74b0, 0x74b1, 0x74b2, 0x74b3, 0x74b4, 0x74b5, 0x74b6, 0x74b7,\n    0x74b8, 0x74b9, 0x74bb, 0x74bc, 0x74bd, 0x74be, 0x74bf, 0x74c0,\n    0x74c1, 0x74c2, 0x74c3, 0x74c4, 0x74c5, 0x74c6, 0x74c7, 0x003f,\n    0x74c8, 0x74c9, 0x74ca, 0x74cb, 0x74cc, 0x74cd, 0x74ce, 0x74cf,\n    0x74d0, 0x74d1, 0x74d3, 0x74d4, 0x74d5, 0x74d6, 0x74d7, 0x74d8,\n    0x74d9, 0x74da, 0x74db, 0x74dd, 0x74df, 0x74e1, 0x74e5, 0x74e7,\n    0x74e8, 0x74e9, 0x74ea, 0x74eb, 0x74ec, 0x74ed, 0x74f0, 0x74f1,\n    0x74f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ae */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x74f3, 0x74f5, 0x74f8, 0x74f9, 0x74fa, 0x74fb, 0x74fc, 0x74fd,\n    0x74fe, 0x7500, 0x7501, 0x7502, 0x7503, 0x7505, 0x7506, 0x7507,\n    0x7508, 0x7509, 0x750a, 0x750b, 0x750c, 0x750e, 0x7510, 0x7512,\n    0x7514, 0x7515, 0x7516, 0x7517, 0x751b, 0x751d, 0x751e, 0x7520,\n    0x7521, 0x7522, 0x7523, 0x7524, 0x7526, 0x7527, 0x752a, 0x752e,\n    0x7534, 0x7536, 0x7539, 0x753c, 0x753d, 0x753f, 0x7541, 0x7542,\n    0x7543, 0x7544, 0x7546, 0x7547, 0x7549, 0x754a, 0x754d, 0x7550,\n    0x7551, 0x7552, 0x7553, 0x7555, 0x7556, 0x7557, 0x7558, 0x003f,\n    0x755d, 0x755e, 0x755f, 0x7560, 0x7561, 0x7562, 0x7563, 0x7564,\n    0x7567, 0x7568, 0x7569, 0x756b, 0x756c, 0x756d, 0x756e, 0x756f,\n    0x7570, 0x7571, 0x7573, 0x7575, 0x7576, 0x7577, 0x757a, 0x757b,\n    0x757c, 0x757d, 0x757e, 0x7580, 0x7581, 0x7582, 0x7584, 0x7585,\n    0x7587, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte af */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7588, 0x7589, 0x758a, 0x758c, 0x758d, 0x758e, 0x7590, 0x7593,\n    0x7595, 0x7598, 0x759b, 0x759c, 0x759e, 0x75a2, 0x75a6, 0x75a7,\n    0x75a8, 0x75a9, 0x75aa, 0x75ad, 0x75b6, 0x75b7, 0x75ba, 0x75bb,\n    0x75bf, 0x75c0, 0x75c1, 0x75c6, 0x75cb, 0x75cc, 0x75ce, 0x75cf,\n    0x75d0, 0x75d1, 0x75d3, 0x75d7, 0x75d9, 0x75da, 0x75dc, 0x75dd,\n    0x75df, 0x75e0, 0x75e1, 0x75e5, 0x75e9, 0x75ec, 0x75ed, 0x75ee,\n    0x75ef, 0x75f2, 0x75f3, 0x75f5, 0x75f6, 0x75f7, 0x75f8, 0x75fa,\n    0x75fb, 0x75fd, 0x75fe, 0x7602, 0x7604, 0x7606, 0x7607, 0x003f,\n    0x7608, 0x7609, 0x760b, 0x760d, 0x760e, 0x760f, 0x7611, 0x7612,\n    0x7613, 0x7614, 0x7616, 0x761a, 0x761c, 0x761d, 0x761e, 0x7621,\n    0x7623, 0x7627, 0x7628, 0x762c, 0x762e, 0x762f, 0x7631, 0x7632,\n    0x7636, 0x7637, 0x7639, 0x763a, 0x763b, 0x763d, 0x7641, 0x7642,\n    0x7644, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte b0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7645, 0x7646, 0x7647, 0x7648, 0x7649, 0x764a, 0x764b, 0x764e,\n    0x764f, 0x7650, 0x7651, 0x7652, 0x7653, 0x7655, 0x7657, 0x7658,\n    0x7659, 0x765a, 0x765b, 0x765d, 0x765f, 0x7660, 0x7661, 0x7662,\n    0x7664, 0x7665, 0x7666, 0x7667, 0x7668, 0x7669, 0x766a, 0x766c,\n    0x766d, 0x766e, 0x7670, 0x7671, 0x7672, 0x7673, 0x7674, 0x7675,\n    0x7676, 0x7677, 0x7679, 0x767a, 0x767c, 0x767f, 0x7680, 0x7681,\n    0x7683, 0x7685, 0x7689, 0x768a, 0x768c, 0x768d, 0x768f, 0x7690,\n    0x7692, 0x7694, 0x7695, 0x7697, 0x7698, 0x769a, 0x769b, 0x003f,\n    0x769c, 0x769d, 0x769e, 0x769f, 0x76a0, 0x76a1, 0x76a2, 0x76a3,\n    0x76a5, 0x76a6, 0x76a7, 0x76a8, 0x76a9, 0x76aa, 0x76ab, 0x76ac,\n    0x76ad, 0x76af, 0x76b0, 0x76b3, 0x76b5, 0x76b6, 0x76b7, 0x76b8,\n    0x76b9, 0x76ba, 0x76bb, 0x76bc, 0x76bd, 0x76be, 0x76c0, 0x76c1,\n    0x76c3, 0x554a, 0x963f, 0x57c3, 0x6328, 0x54ce, 0x5509, 0x54c0,\n    0x7691, 0x764c, 0x853c, 0x77ee, 0x827e, 0x788d, 0x7231, 0x9698,\n    0x978d, 0x6c28, 0x5b89, 0x4ffa, 0x6309, 0x6697, 0x5cb8, 0x80fa,\n    0x6848, 0x80ae, 0x6602, 0x76ce, 0x51f9, 0x6556, 0x71ac, 0x7ff1,\n    0x8884, 0x50b2, 0x5965, 0x61ca, 0x6fb3, 0x82ad, 0x634c, 0x6252,\n    0x53ed, 0x5427, 0x7b06, 0x516b, 0x75a4, 0x5df4, 0x62d4, 0x8dcb,\n    0x9776, 0x628a, 0x8019, 0x575d, 0x9738, 0x7f62, 0x7238, 0x767d,\n    0x67cf, 0x767e, 0x6446, 0x4f70, 0x8d25, 0x62dc, 0x7a17, 0x6591,\n    0x73ed, 0x642c, 0x6273, 0x822c, 0x9881, 0x677f, 0x7248, 0x626e,\n    0x62cc, 0x4f34, 0x74e3, 0x534a, 0x529e, 0x7eca, 0x90a6, 0x5e2e,\n    0x6886, 0x699c, 0x8180, 0x7ed1, 0x68d2, 0x78c5, 0x868c, 0x9551,\n    0x508d, 0x8c24, 0x82de, 0x80de, 0x5305, 0x8912, 0x5265, 0x003f,\n    /* lead byte b1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x76c4, 0x76c7, 0x76c9, 0x76cb, 0x76cc, 0x76d3, 0x76d5, 0x76d9,\n    0x76da, 0x76dc, 0x76dd, 0x76de, 0x76e0, 0x76e1, 0x76e2, 0x76e3,\n    0x76e4, 0x76e6, 0x76e7, 0x76e8, 0x76e9, 0x76ea, 0x76eb, 0x76ec,\n    0x76ed, 0x76f0, 0x76f3, 0x76f5, 0x76f6, 0x76f7, 0x76fa, 0x76fb,\n    0x76fd, 0x76ff, 0x7700, 0x7702, 0x7703, 0x7705, 0x7706, 0x770a,\n    0x770c, 0x770e, 0x770f, 0x7710, 0x7711, 0x7712, 0x7713, 0x7714,\n    0x7715, 0x7716, 0x7717, 0x7718, 0x771b, 0x771c, 0x771d, 0x771e,\n    0x7721, 0x7723, 0x7724, 0x7725, 0x7727, 0x772a, 0x772b, 0x003f,\n    0x772c, 0x772e, 0x7730, 0x7731, 0x7732, 0x7733, 0x7734, 0x7739,\n    0x773b, 0x773d, 0x773e, 0x773f, 0x7742, 0x7744, 0x7745, 0x7746,\n    0x7748, 0x7749, 0x774a, 0x774b, 0x774c, 0x774d, 0x774e, 0x774f,\n    0x7752, 0x7753, 0x7754, 0x7755, 0x7756, 0x7757, 0x7758, 0x7759,\n    0x775c, 0x8584, 0x96f9, 0x4fdd, 0x5821, 0x9971, 0x5b9d, 0x62b1,\n    0x62a5, 0x66b4, 0x8c79, 0x9c8d, 0x7206, 0x676f, 0x7891, 0x60b2,\n    0x5351, 0x5317, 0x8f88, 0x80cc, 0x8d1d, 0x94a1, 0x500d, 0x72c8,\n    0x5907, 0x60eb, 0x7119, 0x88ab, 0x5954, 0x82ef, 0x672c, 0x7b28,\n    0x5d29, 0x7ef7, 0x752d, 0x6cf5, 0x8e66, 0x8ff8, 0x903c, 0x9f3b,\n    0x6bd4, 0x9119, 0x7b14, 0x5f7c, 0x78a7, 0x84d6, 0x853d, 0x6bd5,\n    0x6bd9, 0x6bd6, 0x5e01, 0x5e87, 0x75f9, 0x95ed, 0x655d, 0x5f0a,\n    0x5fc5, 0x8f9f, 0x58c1, 0x81c2, 0x907f, 0x965b, 0x97ad, 0x8fb9,\n    0x7f16, 0x8d2c, 0x6241, 0x4fbf, 0x53d8, 0x535e, 0x8fa8, 0x8fa9,\n    0x8fab, 0x904d, 0x6807, 0x5f6a, 0x8198, 0x8868, 0x9cd6, 0x618b,\n    0x522b, 0x762a, 0x5f6c, 0x658c, 0x6fd2, 0x6ee8, 0x5bbe, 0x6448,\n    0x5175, 0x51b0, 0x67c4, 0x4e19, 0x79c9, 0x997c, 0x70b3, 0x003f,\n    /* lead byte b2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x775d, 0x775e, 0x775f, 0x7760, 0x7764, 0x7767, 0x7769, 0x776a,\n    0x776d, 0x776e, 0x776f, 0x7770, 0x7771, 0x7772, 0x7773, 0x7774,\n    0x7775, 0x7776, 0x7777, 0x7778, 0x777a, 0x777b, 0x777c, 0x7781,\n    0x7782, 0x7783, 0x7786, 0x7787, 0x7788, 0x7789, 0x778a, 0x778b,\n    0x778f, 0x7790, 0x7793, 0x7794, 0x7795, 0x7796, 0x7797, 0x7798,\n    0x7799, 0x779a, 0x779b, 0x779c, 0x779d, 0x779e, 0x77a1, 0x77a3,\n    0x77a4, 0x77a6, 0x77a8, 0x77ab, 0x77ad, 0x77ae, 0x77af, 0x77b1,\n    0x77b2, 0x77b4, 0x77b6, 0x77b7, 0x77b8, 0x77b9, 0x77ba, 0x003f,\n    0x77bc, 0x77be, 0x77c0, 0x77c1, 0x77c2, 0x77c3, 0x77c4, 0x77c5,\n    0x77c6, 0x77c7, 0x77c8, 0x77c9, 0x77ca, 0x77cb, 0x77cc, 0x77ce,\n    0x77cf, 0x77d0, 0x77d1, 0x77d2, 0x77d3, 0x77d4, 0x77d5, 0x77d6,\n    0x77d8, 0x77d9, 0x77da, 0x77dd, 0x77de, 0x77df, 0x77e0, 0x77e1,\n    0x77e4, 0x75c5, 0x5e76, 0x73bb, 0x83e0, 0x64ad, 0x62e8, 0x94b5,\n    0x6ce2, 0x535a, 0x52c3, 0x640f, 0x94c2, 0x7b94, 0x4f2f, 0x5e1b,\n    0x8236, 0x8116, 0x818a, 0x6e24, 0x6cca, 0x9a73, 0x6355, 0x535c,\n    0x54fa, 0x8865, 0x57e0, 0x4e0d, 0x5e03, 0x6b65, 0x7c3f, 0x90e8,\n    0x6016, 0x64e6, 0x731c, 0x88c1, 0x6750, 0x624d, 0x8d22, 0x776c,\n    0x8e29, 0x91c7, 0x5f69, 0x83dc, 0x8521, 0x9910, 0x53c2, 0x8695,\n    0x6b8b, 0x60ed, 0x60e8, 0x707f, 0x82cd, 0x8231, 0x4ed3, 0x6ca7,\n    0x85cf, 0x64cd, 0x7cd9, 0x69fd, 0x66f9, 0x8349, 0x5395, 0x7b56,\n    0x4fa7, 0x518c, 0x6d4b, 0x5c42, 0x8e6d, 0x63d2, 0x53c9, 0x832c,\n    0x8336, 0x67e5, 0x78b4, 0x643d, 0x5bdf, 0x5c94, 0x5dee, 0x8be7,\n    0x62c6, 0x67f4, 0x8c7a, 0x6400, 0x63ba, 0x8749, 0x998b, 0x8c17,\n    0x7f20, 0x94f2, 0x4ea7, 0x9610, 0x98a4, 0x660c, 0x7316, 0x003f,\n    /* lead byte b3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x77e6, 0x77e8, 0x77ea, 0x77ef, 0x77f0, 0x77f1, 0x77f2, 0x77f4,\n    0x77f5, 0x77f7, 0x77f9, 0x77fa, 0x77fb, 0x77fc, 0x7803, 0x7804,\n    0x7805, 0x7806, 0x7807, 0x7808, 0x780a, 0x780b, 0x780e, 0x780f,\n    0x7810, 0x7813, 0x7815, 0x7819, 0x781b, 0x781e, 0x7820, 0x7821,\n    0x7822, 0x7824, 0x7828, 0x782a, 0x782b, 0x782e, 0x782f, 0x7831,\n    0x7832, 0x7833, 0x7835, 0x7836, 0x783d, 0x783f, 0x7841, 0x7842,\n    0x7843, 0x7844, 0x7846, 0x7848, 0x7849, 0x784a, 0x784b, 0x784d,\n    0x784f, 0x7851, 0x7853, 0x7854, 0x7858, 0x7859, 0x785a, 0x003f,\n    0x785b, 0x785c, 0x785e, 0x785f, 0x7860, 0x7861, 0x7862, 0x7863,\n    0x7864, 0x7865, 0x7866, 0x7867, 0x7868, 0x7869, 0x786f, 0x7870,\n    0x7871, 0x7872, 0x7873, 0x7874, 0x7875, 0x7876, 0x7878, 0x7879,\n    0x787a, 0x787b, 0x787d, 0x787e, 0x787f, 0x7880, 0x7881, 0x7882,\n    0x7883, 0x573a, 0x5c1d, 0x5e38, 0x957f, 0x507f, 0x80a0, 0x5382,\n    0x655e, 0x7545, 0x5531, 0x5021, 0x8d85, 0x6284, 0x949e, 0x671d,\n    0x5632, 0x6f6e, 0x5de2, 0x5435, 0x7092, 0x8f66, 0x626f, 0x64a4,\n    0x63a3, 0x5f7b, 0x6f88, 0x90f4, 0x81e3, 0x8fb0, 0x5c18, 0x6668,\n    0x5ff1, 0x6c89, 0x9648, 0x8d81, 0x886c, 0x6491, 0x79f0, 0x57ce,\n    0x6a59, 0x6210, 0x5448, 0x4e58, 0x7a0b, 0x60e9, 0x6f84, 0x8bda,\n    0x627f, 0x901e, 0x9a8b, 0x79e4, 0x5403, 0x75f4, 0x6301, 0x5319,\n    0x6c60, 0x8fdf, 0x5f1b, 0x9a70, 0x803b, 0x9f7f, 0x4f88, 0x5c3a,\n    0x8d64, 0x7fc5, 0x65a5, 0x70bd, 0x5145, 0x51b2, 0x866b, 0x5d07,\n    0x5ba0, 0x62bd, 0x916c, 0x7574, 0x8e0c, 0x7a20, 0x6101, 0x7b79,\n    0x4ec7, 0x7ef8, 0x7785, 0x4e11, 0x81ed, 0x521d, 0x51fa, 0x6a71,\n    0x53a8, 0x8e87, 0x9504, 0x96cf, 0x6ec1, 0x9664, 0x695a, 0x003f,\n    /* lead byte b4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7884, 0x7885, 0x7886, 0x7888, 0x788a, 0x788b, 0x788f, 0x7890,\n    0x7892, 0x7894, 0x7895, 0x7896, 0x7899, 0x789d, 0x789e, 0x78a0,\n    0x78a2, 0x78a4, 0x78a6, 0x78a8, 0x78a9, 0x78aa, 0x78ab, 0x78ac,\n    0x78ad, 0x78ae, 0x78af, 0x78b5, 0x78b6, 0x78b7, 0x78b8, 0x78ba,\n    0x78bb, 0x78bc, 0x78bd, 0x78bf, 0x78c0, 0x78c2, 0x78c3, 0x78c4,\n    0x78c6, 0x78c7, 0x78c8, 0x78cc, 0x78cd, 0x78ce, 0x78cf, 0x78d1,\n    0x78d2, 0x78d3, 0x78d6, 0x78d7, 0x78d8, 0x78da, 0x78db, 0x78dc,\n    0x78dd, 0x78de, 0x78df, 0x78e0, 0x78e1, 0x78e2, 0x78e3, 0x003f,\n    0x78e4, 0x78e5, 0x78e6, 0x78e7, 0x78e9, 0x78ea, 0x78eb, 0x78ed,\n    0x78ee, 0x78ef, 0x78f0, 0x78f1, 0x78f3, 0x78f5, 0x78f6, 0x78f8,\n    0x78f9, 0x78fb, 0x78fc, 0x78fd, 0x78fe, 0x78ff, 0x7900, 0x7902,\n    0x7903, 0x7904, 0x7906, 0x7907, 0x7908, 0x7909, 0x790a, 0x790b,\n    0x790c, 0x7840, 0x50a8, 0x77d7, 0x6410, 0x89e6, 0x5904, 0x63e3,\n    0x5ddd, 0x7a7f, 0x693d, 0x4f20, 0x8239, 0x5598, 0x4e32, 0x75ae,\n    0x7a97, 0x5e62, 0x5e8a, 0x95ef, 0x521b, 0x5439, 0x708a, 0x6376,\n    0x9524, 0x5782, 0x6625, 0x693f, 0x9187, 0x5507, 0x6df3, 0x7eaf,\n    0x8822, 0x6233, 0x7ef0, 0x75b5, 0x8328, 0x78c1, 0x96cc, 0x8f9e,\n    0x6148, 0x74f7, 0x8bcd, 0x6b64, 0x523a, 0x8d50, 0x6b21, 0x806a,\n    0x8471, 0x56f1, 0x5306, 0x4ece, 0x4e1b, 0x51d1, 0x7c97, 0x918b,\n    0x7c07, 0x4fc3, 0x8e7f, 0x7be1, 0x7a9c, 0x6467, 0x5d14, 0x50ac,\n    0x8106, 0x7601, 0x7cb9, 0x6dec, 0x7fe0, 0x6751, 0x5b58, 0x5bf8,\n    0x78cb, 0x64ae, 0x6413, 0x63aa, 0x632b, 0x9519, 0x642d, 0x8fbe,\n    0x7b54, 0x7629, 0x6253, 0x5927, 0x5446, 0x6b79, 0x50a3, 0x6234,\n    0x5e26, 0x6b86, 0x4ee3, 0x8d37, 0x888b, 0x5f85, 0x902e, 0x003f,\n    /* lead byte b5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x790d, 0x790e, 0x790f, 0x7910, 0x7911, 0x7912, 0x7914, 0x7915,\n    0x7916, 0x7917, 0x7918, 0x7919, 0x791a, 0x791b, 0x791c, 0x791d,\n    0x791f, 0x7920, 0x7921, 0x7922, 0x7923, 0x7925, 0x7926, 0x7927,\n    0x7928, 0x7929, 0x792a, 0x792b, 0x792c, 0x792d, 0x792e, 0x792f,\n    0x7930, 0x7931, 0x7932, 0x7933, 0x7935, 0x7936, 0x7937, 0x7938,\n    0x7939, 0x793d, 0x793f, 0x7942, 0x7943, 0x7944, 0x7945, 0x7947,\n    0x794a, 0x794b, 0x794c, 0x794d, 0x794e, 0x794f, 0x7950, 0x7951,\n    0x7952, 0x7954, 0x7955, 0x7958, 0x7959, 0x7961, 0x7963, 0x003f,\n    0x7964, 0x7966, 0x7969, 0x796a, 0x796b, 0x796c, 0x796e, 0x7970,\n    0x7971, 0x7972, 0x7973, 0x7974, 0x7975, 0x7976, 0x7979, 0x797b,\n    0x797c, 0x797d, 0x797e, 0x797f, 0x7982, 0x7983, 0x7986, 0x7987,\n    0x7988, 0x7989, 0x798b, 0x798c, 0x798d, 0x798e, 0x7990, 0x7991,\n    0x7992, 0x6020, 0x803d, 0x62c5, 0x4e39, 0x5355, 0x90f8, 0x63b8,\n    0x80c6, 0x65e6, 0x6c2e, 0x4f46, 0x60ee, 0x6de1, 0x8bde, 0x5f39,\n    0x86cb, 0x5f53, 0x6321, 0x515a, 0x8361, 0x6863, 0x5200, 0x6363,\n    0x8e48, 0x5012, 0x5c9b, 0x7977, 0x5bfc, 0x5230, 0x7a3b, 0x60bc,\n    0x9053, 0x76d7, 0x5fb7, 0x5f97, 0x7684, 0x8e6c, 0x706f, 0x767b,\n    0x7b49, 0x77aa, 0x51f3, 0x9093, 0x5824, 0x4f4e, 0x6ef4, 0x8fea,\n    0x654c, 0x7b1b, 0x72c4, 0x6da4, 0x7fdf, 0x5ae1, 0x62b5, 0x5e95,\n    0x5730, 0x8482, 0x7b2c, 0x5e1d, 0x5f1f, 0x9012, 0x7f14, 0x98a0,\n    0x6382, 0x6ec7, 0x7898, 0x70b9, 0x5178, 0x975b, 0x57ab, 0x7535,\n    0x4f43, 0x7538, 0x5e97, 0x60e6, 0x5960, 0x6dc0, 0x6bbf, 0x7889,\n    0x53fc, 0x96d5, 0x51cb, 0x5201, 0x6389, 0x540a, 0x9493, 0x8c03,\n    0x8dcc, 0x7239, 0x789f, 0x8776, 0x8fed, 0x8c0d, 0x53e0, 0x003f,\n    /* lead byte b6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7993, 0x7994, 0x7995, 0x7996, 0x7997, 0x7998, 0x7999, 0x799b,\n    0x799c, 0x799d, 0x799e, 0x799f, 0x79a0, 0x79a1, 0x79a2, 0x79a3,\n    0x79a4, 0x79a5, 0x79a6, 0x79a8, 0x79a9, 0x79aa, 0x79ab, 0x79ac,\n    0x79ad, 0x79ae, 0x79af, 0x79b0, 0x79b1, 0x79b2, 0x79b4, 0x79b5,\n    0x79b6, 0x79b7, 0x79b8, 0x79bc, 0x79bf, 0x79c2, 0x79c4, 0x79c5,\n    0x79c7, 0x79c8, 0x79ca, 0x79cc, 0x79ce, 0x79cf, 0x79d0, 0x79d3,\n    0x79d4, 0x79d6, 0x79d7, 0x79d9, 0x79da, 0x79db, 0x79dc, 0x79dd,\n    0x79de, 0x79e0, 0x79e1, 0x79e2, 0x79e5, 0x79e8, 0x79ea, 0x003f,\n    0x79ec, 0x79ee, 0x79f1, 0x79f2, 0x79f3, 0x79f4, 0x79f5, 0x79f6,\n    0x79f7, 0x79f9, 0x79fa, 0x79fc, 0x79fe, 0x79ff, 0x7a01, 0x7a04,\n    0x7a05, 0x7a07, 0x7a08, 0x7a09, 0x7a0a, 0x7a0c, 0x7a0f, 0x7a10,\n    0x7a11, 0x7a12, 0x7a13, 0x7a15, 0x7a16, 0x7a18, 0x7a19, 0x7a1b,\n    0x7a1c, 0x4e01, 0x76ef, 0x53ee, 0x9489, 0x9876, 0x9f0e, 0x952d,\n    0x5b9a, 0x8ba2, 0x4e22, 0x4e1c, 0x51ac, 0x8463, 0x61c2, 0x52a8,\n    0x680b, 0x4f97, 0x606b, 0x51bb, 0x6d1e, 0x515c, 0x6296, 0x6597,\n    0x9661, 0x8c46, 0x9017, 0x75d8, 0x90fd, 0x7763, 0x6bd2, 0x728a,\n    0x72ec, 0x8bfb, 0x5835, 0x7779, 0x8d4c, 0x675c, 0x9540, 0x809a,\n    0x5ea6, 0x6e21, 0x5992, 0x7aef, 0x77ed, 0x953b, 0x6bb5, 0x65ad,\n    0x7f0e, 0x5806, 0x5151, 0x961f, 0x5bf9, 0x58a9, 0x5428, 0x8e72,\n    0x6566, 0x987f, 0x56e4, 0x949d, 0x76fe, 0x9041, 0x6387, 0x54c6,\n    0x591a, 0x593a, 0x579b, 0x8eb2, 0x6735, 0x8dfa, 0x8235, 0x5241,\n    0x60f0, 0x5815, 0x86fe, 0x5ce8, 0x9e45, 0x4fc4, 0x989d, 0x8bb9,\n    0x5a25, 0x6076, 0x5384, 0x627c, 0x904f, 0x9102, 0x997f, 0x6069,\n    0x800c, 0x513f, 0x8033, 0x5c14, 0x9975, 0x6d31, 0x4e8c, 0x003f,\n    /* lead byte b7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7a1d, 0x7a1f, 0x7a21, 0x7a22, 0x7a24, 0x7a25, 0x7a26, 0x7a27,\n    0x7a28, 0x7a29, 0x7a2a, 0x7a2b, 0x7a2c, 0x7a2d, 0x7a2e, 0x7a2f,\n    0x7a30, 0x7a31, 0x7a32, 0x7a34, 0x7a35, 0x7a36, 0x7a38, 0x7a3a,\n    0x7a3e, 0x7a40, 0x7a41, 0x7a42, 0x7a43, 0x7a44, 0x7a45, 0x7a47,\n    0x7a48, 0x7a49, 0x7a4a, 0x7a4b, 0x7a4c, 0x7a4d, 0x7a4e, 0x7a4f,\n    0x7a50, 0x7a52, 0x7a53, 0x7a54, 0x7a55, 0x7a56, 0x7a58, 0x7a59,\n    0x7a5a, 0x7a5b, 0x7a5c, 0x7a5d, 0x7a5e, 0x7a5f, 0x7a60, 0x7a61,\n    0x7a62, 0x7a63, 0x7a64, 0x7a65, 0x7a66, 0x7a67, 0x7a68, 0x003f,\n    0x7a69, 0x7a6a, 0x7a6b, 0x7a6c, 0x7a6d, 0x7a6e, 0x7a6f, 0x7a71,\n    0x7a72, 0x7a73, 0x7a75, 0x7a7b, 0x7a7c, 0x7a7d, 0x7a7e, 0x7a82,\n    0x7a85, 0x7a87, 0x7a89, 0x7a8a, 0x7a8b, 0x7a8c, 0x7a8e, 0x7a8f,\n    0x7a90, 0x7a93, 0x7a94, 0x7a99, 0x7a9a, 0x7a9b, 0x7a9e, 0x7aa1,\n    0x7aa2, 0x8d30, 0x53d1, 0x7f5a, 0x7b4f, 0x4f10, 0x4e4f, 0x9600,\n    0x6cd5, 0x73d0, 0x85e9, 0x5e06, 0x756a, 0x7ffb, 0x6a0a, 0x77fe,\n    0x9492, 0x7e41, 0x51e1, 0x70e6, 0x53cd, 0x8fd4, 0x8303, 0x8d29,\n    0x72af, 0x996d, 0x6cdb, 0x574a, 0x82b3, 0x65b9, 0x80aa, 0x623f,\n    0x9632, 0x59a8, 0x4eff, 0x8bbf, 0x7eba, 0x653e, 0x83f2, 0x975e,\n    0x5561, 0x98de, 0x80a5, 0x532a, 0x8bfd, 0x5420, 0x80ba, 0x5e9f,\n    0x6cb8, 0x8d39, 0x82ac, 0x915a, 0x5429, 0x6c1b, 0x5206, 0x7eb7,\n    0x575f, 0x711a, 0x6c7e, 0x7c89, 0x594b, 0x4efd, 0x5fff, 0x6124,\n    0x7caa, 0x4e30, 0x5c01, 0x67ab, 0x8702, 0x5cf0, 0x950b, 0x98ce,\n    0x75af, 0x70fd, 0x9022, 0x51af, 0x7f1d, 0x8bbd, 0x5949, 0x51e4,\n    0x4f5b, 0x5426, 0x592b, 0x6577, 0x80a4, 0x5b75, 0x6276, 0x62c2,\n    0x8f90, 0x5e45, 0x6c1f, 0x7b26, 0x4f0f, 0x4fd8, 0x670d, 0x003f,\n    /* lead byte b8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7aa3, 0x7aa4, 0x7aa7, 0x7aa9, 0x7aaa, 0x7aab, 0x7aae, 0x7aaf,\n    0x7ab0, 0x7ab1, 0x7ab2, 0x7ab4, 0x7ab5, 0x7ab6, 0x7ab7, 0x7ab8,\n    0x7ab9, 0x7aba, 0x7abb, 0x7abc, 0x7abd, 0x7abe, 0x7ac0, 0x7ac1,\n    0x7ac2, 0x7ac3, 0x7ac4, 0x7ac5, 0x7ac6, 0x7ac7, 0x7ac8, 0x7ac9,\n    0x7aca, 0x7acc, 0x7acd, 0x7ace, 0x7acf, 0x7ad0, 0x7ad1, 0x7ad2,\n    0x7ad3, 0x7ad4, 0x7ad5, 0x7ad7, 0x7ad8, 0x7ada, 0x7adb, 0x7adc,\n    0x7add, 0x7ae1, 0x7ae2, 0x7ae4, 0x7ae7, 0x7ae8, 0x7ae9, 0x7aea,\n    0x7aeb, 0x7aec, 0x7aee, 0x7af0, 0x7af1, 0x7af2, 0x7af3, 0x003f,\n    0x7af4, 0x7af5, 0x7af6, 0x7af7, 0x7af8, 0x7afb, 0x7afc, 0x7afe,\n    0x7b00, 0x7b01, 0x7b02, 0x7b05, 0x7b07, 0x7b09, 0x7b0c, 0x7b0d,\n    0x7b0e, 0x7b10, 0x7b12, 0x7b13, 0x7b16, 0x7b17, 0x7b18, 0x7b1a,\n    0x7b1c, 0x7b1d, 0x7b1f, 0x7b21, 0x7b22, 0x7b23, 0x7b27, 0x7b29,\n    0x7b2d, 0x6d6e, 0x6daa, 0x798f, 0x88b1, 0x5f17, 0x752b, 0x629a,\n    0x8f85, 0x4fef, 0x91dc, 0x65a7, 0x812f, 0x8151, 0x5e9c, 0x8150,\n    0x8d74, 0x526f, 0x8986, 0x8d4b, 0x590d, 0x5085, 0x4ed8, 0x961c,\n    0x7236, 0x8179, 0x8d1f, 0x5bcc, 0x8ba3, 0x9644, 0x5987, 0x7f1a,\n    0x5490, 0x5676, 0x560e, 0x8be5, 0x6539, 0x6982, 0x9499, 0x76d6,\n    0x6e89, 0x5e72, 0x7518, 0x6746, 0x67d1, 0x7aff, 0x809d, 0x8d76,\n    0x611f, 0x79c6, 0x6562, 0x8d63, 0x5188, 0x521a, 0x94a2, 0x7f38,\n    0x809b, 0x7eb2, 0x5c97, 0x6e2f, 0x6760, 0x7bd9, 0x768b, 0x9ad8,\n    0x818f, 0x7f94, 0x7cd5, 0x641e, 0x9550, 0x7a3f, 0x544a, 0x54e5,\n    0x6b4c, 0x6401, 0x6208, 0x9e3d, 0x80f3, 0x7599, 0x5272, 0x9769,\n    0x845b, 0x683c, 0x86e4, 0x9601, 0x9694, 0x94ec, 0x4e2a, 0x5404,\n    0x7ed9, 0x6839, 0x8ddf, 0x8015, 0x66f4, 0x5e9a, 0x7fb9, 0x003f,\n    /* lead byte b9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7b2f, 0x7b30, 0x7b32, 0x7b34, 0x7b35, 0x7b36, 0x7b37, 0x7b39,\n    0x7b3b, 0x7b3d, 0x7b3f, 0x7b40, 0x7b41, 0x7b42, 0x7b43, 0x7b44,\n    0x7b46, 0x7b48, 0x7b4a, 0x7b4d, 0x7b4e, 0x7b53, 0x7b55, 0x7b57,\n    0x7b59, 0x7b5c, 0x7b5e, 0x7b5f, 0x7b61, 0x7b63, 0x7b64, 0x7b65,\n    0x7b66, 0x7b67, 0x7b68, 0x7b69, 0x7b6a, 0x7b6b, 0x7b6c, 0x7b6d,\n    0x7b6f, 0x7b70, 0x7b73, 0x7b74, 0x7b76, 0x7b78, 0x7b7a, 0x7b7c,\n    0x7b7d, 0x7b7f, 0x7b81, 0x7b82, 0x7b83, 0x7b84, 0x7b86, 0x7b87,\n    0x7b88, 0x7b89, 0x7b8a, 0x7b8b, 0x7b8c, 0x7b8e, 0x7b8f, 0x003f,\n    0x7b91, 0x7b92, 0x7b93, 0x7b96, 0x7b98, 0x7b99, 0x7b9a, 0x7b9b,\n    0x7b9e, 0x7b9f, 0x7ba0, 0x7ba3, 0x7ba4, 0x7ba5, 0x7bae, 0x7baf,\n    0x7bb0, 0x7bb2, 0x7bb3, 0x7bb5, 0x7bb6, 0x7bb7, 0x7bb9, 0x7bba,\n    0x7bbb, 0x7bbc, 0x7bbd, 0x7bbe, 0x7bbf, 0x7bc0, 0x7bc2, 0x7bc3,\n    0x7bc4, 0x57c2, 0x803f, 0x6897, 0x5de5, 0x653b, 0x529f, 0x606d,\n    0x9f9a, 0x4f9b, 0x8eac, 0x516c, 0x5bab, 0x5f13, 0x5de9, 0x6c5e,\n    0x62f1, 0x8d21, 0x5171, 0x94a9, 0x52fe, 0x6c9f, 0x82df, 0x72d7,\n    0x57a2, 0x6784, 0x8d2d, 0x591f, 0x8f9c, 0x83c7, 0x5495, 0x7b8d,\n    0x4f30, 0x6cbd, 0x5b64, 0x59d1, 0x9f13, 0x53e4, 0x86ca, 0x9aa8,\n    0x8c37, 0x80a1, 0x6545, 0x987e, 0x56fa, 0x96c7, 0x522e, 0x74dc,\n    0x5250, 0x5be1, 0x6302, 0x8902, 0x4e56, 0x62d0, 0x602a, 0x68fa,\n    0x5173, 0x5b98, 0x51a0, 0x89c2, 0x7ba1, 0x9986, 0x7f50, 0x60ef,\n    0x704c, 0x8d2f, 0x5149, 0x5e7f, 0x901b, 0x7470, 0x89c4, 0x572d,\n    0x7845, 0x5f52, 0x9f9f, 0x95fa, 0x8f68, 0x9b3c, 0x8be1, 0x7678,\n    0x6842, 0x67dc, 0x8dea, 0x8d35, 0x523d, 0x8f8a, 0x6eda, 0x68cd,\n    0x9505, 0x90ed, 0x56fd, 0x679c, 0x88f9, 0x8fc7, 0x54c8, 0x003f,\n    /* lead byte ba */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7bc5, 0x7bc8, 0x7bc9, 0x7bca, 0x7bcb, 0x7bcd, 0x7bce, 0x7bcf,\n    0x7bd0, 0x7bd2, 0x7bd4, 0x7bd5, 0x7bd6, 0x7bd7, 0x7bd8, 0x7bdb,\n    0x7bdc, 0x7bde, 0x7bdf, 0x7be0, 0x7be2, 0x7be3, 0x7be4, 0x7be7,\n    0x7be8, 0x7be9, 0x7beb, 0x7bec, 0x7bed, 0x7bef, 0x7bf0, 0x7bf2,\n    0x7bf3, 0x7bf4, 0x7bf5, 0x7bf6, 0x7bf8, 0x7bf9, 0x7bfa, 0x7bfb,\n    0x7bfd, 0x7bff, 0x7c00, 0x7c01, 0x7c02, 0x7c03, 0x7c04, 0x7c05,\n    0x7c06, 0x7c08, 0x7c09, 0x7c0a, 0x7c0d, 0x7c0e, 0x7c10, 0x7c11,\n    0x7c12, 0x7c13, 0x7c14, 0x7c15, 0x7c17, 0x7c18, 0x7c19, 0x003f,\n    0x7c1a, 0x7c1b, 0x7c1c, 0x7c1d, 0x7c1e, 0x7c20, 0x7c21, 0x7c22,\n    0x7c23, 0x7c24, 0x7c25, 0x7c28, 0x7c29, 0x7c2b, 0x7c2c, 0x7c2d,\n    0x7c2e, 0x7c2f, 0x7c30, 0x7c31, 0x7c32, 0x7c33, 0x7c34, 0x7c35,\n    0x7c36, 0x7c37, 0x7c39, 0x7c3a, 0x7c3b, 0x7c3c, 0x7c3d, 0x7c3e,\n    0x7c42, 0x9ab8, 0x5b69, 0x6d77, 0x6c26, 0x4ea5, 0x5bb3, 0x9a87,\n    0x9163, 0x61a8, 0x90af, 0x97e9, 0x542b, 0x6db5, 0x5bd2, 0x51fd,\n    0x558a, 0x7f55, 0x7ff0, 0x64bc, 0x634d, 0x65f1, 0x61be, 0x608d,\n    0x710a, 0x6c57, 0x6c49, 0x592f, 0x676d, 0x822a, 0x58d5, 0x568e,\n    0x8c6a, 0x6beb, 0x90dd, 0x597d, 0x8017, 0x53f7, 0x6d69, 0x5475,\n    0x559d, 0x8377, 0x83cf, 0x6838, 0x79be, 0x548c, 0x4f55, 0x5408,\n    0x76d2, 0x8c89, 0x9602, 0x6cb3, 0x6db8, 0x8d6b, 0x8910, 0x9e64,\n    0x8d3a, 0x563f, 0x9ed1, 0x75d5, 0x5f88, 0x72e0, 0x6068, 0x54fc,\n    0x4ea8, 0x6a2a, 0x8861, 0x6052, 0x8f70, 0x54c4, 0x70d8, 0x8679,\n    0x9e3f, 0x6d2a, 0x5b8f, 0x5f18, 0x7ea2, 0x5589, 0x4faf, 0x7334,\n    0x543c, 0x539a, 0x5019, 0x540e, 0x547c, 0x4e4e, 0x5ffd, 0x745a,\n    0x58f6, 0x846b, 0x80e1, 0x8774, 0x72d0, 0x7cca, 0x6e56, 0x003f,\n    /* lead byte bb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7c43, 0x7c44, 0x7c45, 0x7c46, 0x7c47, 0x7c48, 0x7c49, 0x7c4a,\n    0x7c4b, 0x7c4c, 0x7c4e, 0x7c4f, 0x7c50, 0x7c51, 0x7c52, 0x7c53,\n    0x7c54, 0x7c55, 0x7c56, 0x7c57, 0x7c58, 0x7c59, 0x7c5a, 0x7c5b,\n    0x7c5c, 0x7c5d, 0x7c5e, 0x7c5f, 0x7c60, 0x7c61, 0x7c62, 0x7c63,\n    0x7c64, 0x7c65, 0x7c66, 0x7c67, 0x7c68, 0x7c69, 0x7c6a, 0x7c6b,\n    0x7c6c, 0x7c6d, 0x7c6e, 0x7c6f, 0x7c70, 0x7c71, 0x7c72, 0x7c75,\n    0x7c76, 0x7c77, 0x7c78, 0x7c79, 0x7c7a, 0x7c7e, 0x7c7f, 0x7c80,\n    0x7c81, 0x7c82, 0x7c83, 0x7c84, 0x7c85, 0x7c86, 0x7c87, 0x003f,\n    0x7c88, 0x7c8a, 0x7c8b, 0x7c8c, 0x7c8d, 0x7c8e, 0x7c8f, 0x7c90,\n    0x7c93, 0x7c94, 0x7c96, 0x7c99, 0x7c9a, 0x7c9b, 0x7ca0, 0x7ca1,\n    0x7ca3, 0x7ca6, 0x7ca7, 0x7ca8, 0x7ca9, 0x7cab, 0x7cac, 0x7cad,\n    0x7caf, 0x7cb0, 0x7cb4, 0x7cb5, 0x7cb6, 0x7cb7, 0x7cb8, 0x7cba,\n    0x7cbb, 0x5f27, 0x864e, 0x552c, 0x62a4, 0x4e92, 0x6caa, 0x6237,\n    0x82b1, 0x54d7, 0x534e, 0x733e, 0x6ed1, 0x753b, 0x5212, 0x5316,\n    0x8bdd, 0x69d0, 0x5f8a, 0x6000, 0x6dee, 0x574f, 0x6b22, 0x73af,\n    0x6853, 0x8fd8, 0x7f13, 0x6362, 0x60a3, 0x5524, 0x75ea, 0x8c62,\n    0x7115, 0x6da3, 0x5ba6, 0x5e7b, 0x8352, 0x614c, 0x9ec4, 0x78fa,\n    0x8757, 0x7c27, 0x7687, 0x51f0, 0x60f6, 0x714c, 0x6643, 0x5e4c,\n    0x604d, 0x8c0e, 0x7070, 0x6325, 0x8f89, 0x5fbd, 0x6062, 0x86d4,\n    0x56de, 0x6bc1, 0x6094, 0x6167, 0x5349, 0x60e0, 0x6666, 0x8d3f,\n    0x79fd, 0x4f1a, 0x70e9, 0x6c47, 0x8bb3, 0x8bf2, 0x7ed8, 0x8364,\n    0x660f, 0x5a5a, 0x9b42, 0x6d51, 0x6df7, 0x8c41, 0x6d3b, 0x4f19,\n    0x706b, 0x83b7, 0x6216, 0x60d1, 0x970d, 0x8d27, 0x7978, 0x51fb,\n    0x573e, 0x57fa, 0x673a, 0x7578, 0x7a3d, 0x79ef, 0x7b95, 0x003f,\n    /* lead byte bc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7cbf, 0x7cc0, 0x7cc2, 0x7cc3, 0x7cc4, 0x7cc6, 0x7cc9, 0x7ccb,\n    0x7cce, 0x7ccf, 0x7cd0, 0x7cd1, 0x7cd2, 0x7cd3, 0x7cd4, 0x7cd8,\n    0x7cda, 0x7cdb, 0x7cdd, 0x7cde, 0x7ce1, 0x7ce2, 0x7ce3, 0x7ce4,\n    0x7ce5, 0x7ce6, 0x7ce7, 0x7ce9, 0x7cea, 0x7ceb, 0x7cec, 0x7ced,\n    0x7cee, 0x7cf0, 0x7cf1, 0x7cf2, 0x7cf3, 0x7cf4, 0x7cf5, 0x7cf6,\n    0x7cf7, 0x7cf9, 0x7cfa, 0x7cfc, 0x7cfd, 0x7cfe, 0x7cff, 0x7d00,\n    0x7d01, 0x7d02, 0x7d03, 0x7d04, 0x7d05, 0x7d06, 0x7d07, 0x7d08,\n    0x7d09, 0x7d0b, 0x7d0c, 0x7d0d, 0x7d0e, 0x7d0f, 0x7d10, 0x003f,\n    0x7d11, 0x7d12, 0x7d13, 0x7d14, 0x7d15, 0x7d16, 0x7d17, 0x7d18,\n    0x7d19, 0x7d1a, 0x7d1b, 0x7d1c, 0x7d1d, 0x7d1e, 0x7d1f, 0x7d21,\n    0x7d23, 0x7d24, 0x7d25, 0x7d26, 0x7d28, 0x7d29, 0x7d2a, 0x7d2c,\n    0x7d2d, 0x7d2e, 0x7d30, 0x7d31, 0x7d32, 0x7d33, 0x7d34, 0x7d35,\n    0x7d36, 0x808c, 0x9965, 0x8ff9, 0x6fc0, 0x8ba5, 0x9e21, 0x59ec,\n    0x7ee9, 0x7f09, 0x5409, 0x6781, 0x68d8, 0x8f91, 0x7c4d, 0x96c6,\n    0x53ca, 0x6025, 0x75be, 0x6c72, 0x5373, 0x5ac9, 0x7ea7, 0x6324,\n    0x51e0, 0x810a, 0x5df1, 0x84df, 0x6280, 0x5180, 0x5b63, 0x4f0e,\n    0x796d, 0x5242, 0x60b8, 0x6d4e, 0x5bc4, 0x5bc2, 0x8ba1, 0x8bb0,\n    0x65e2, 0x5fcc, 0x9645, 0x5993, 0x7ee7, 0x7eaa, 0x5609, 0x67b7,\n    0x5939, 0x4f73, 0x5bb6, 0x52a0, 0x835a, 0x988a, 0x8d3e, 0x7532,\n    0x94be, 0x5047, 0x7a3c, 0x4ef7, 0x67b6, 0x9a7e, 0x5ac1, 0x6b7c,\n    0x76d1, 0x575a, 0x5c16, 0x7b3a, 0x95f4, 0x714e, 0x517c, 0x80a9,\n    0x8270, 0x5978, 0x7f04, 0x8327, 0x68c0, 0x67ec, 0x78b1, 0x7877,\n    0x62e3, 0x6361, 0x7b80, 0x4fed, 0x526a, 0x51cf, 0x8350, 0x69db,\n    0x9274, 0x8df5, 0x8d31, 0x89c1, 0x952e, 0x7bad, 0x4ef6, 0x003f,\n    /* lead byte bd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7d37, 0x7d38, 0x7d39, 0x7d3a, 0x7d3b, 0x7d3c, 0x7d3d, 0x7d3e,\n    0x7d3f, 0x7d40, 0x7d41, 0x7d42, 0x7d43, 0x7d44, 0x7d45, 0x7d46,\n    0x7d47, 0x7d48, 0x7d49, 0x7d4a, 0x7d4b, 0x7d4c, 0x7d4d, 0x7d4e,\n    0x7d4f, 0x7d50, 0x7d51, 0x7d52, 0x7d53, 0x7d54, 0x7d55, 0x7d56,\n    0x7d57, 0x7d58, 0x7d59, 0x7d5a, 0x7d5b, 0x7d5c, 0x7d5d, 0x7d5e,\n    0x7d5f, 0x7d60, 0x7d61, 0x7d62, 0x7d63, 0x7d64, 0x7d65, 0x7d66,\n    0x7d67, 0x7d68, 0x7d69, 0x7d6a, 0x7d6b, 0x7d6c, 0x7d6d, 0x7d6f,\n    0x7d70, 0x7d71, 0x7d72, 0x7d73, 0x7d74, 0x7d75, 0x7d76, 0x003f,\n    0x7d78, 0x7d79, 0x7d7a, 0x7d7b, 0x7d7c, 0x7d7d, 0x7d7e, 0x7d7f,\n    0x7d80, 0x7d81, 0x7d82, 0x7d83, 0x7d84, 0x7d85, 0x7d86, 0x7d87,\n    0x7d88, 0x7d89, 0x7d8a, 0x7d8b, 0x7d8c, 0x7d8d, 0x7d8e, 0x7d8f,\n    0x7d90, 0x7d91, 0x7d92, 0x7d93, 0x7d94, 0x7d95, 0x7d96, 0x7d97,\n    0x7d98, 0x5065, 0x8230, 0x5251, 0x996f, 0x6e10, 0x6e85, 0x6da7,\n    0x5efa, 0x50f5, 0x59dc, 0x5c06, 0x6d46, 0x6c5f, 0x7586, 0x848b,\n    0x6868, 0x5956, 0x8bb2, 0x5320, 0x9171, 0x964d, 0x8549, 0x6912,\n    0x7901, 0x7126, 0x80f6, 0x4ea4, 0x90ca, 0x6d47, 0x9a84, 0x5a07,\n    0x56bc, 0x6405, 0x94f0, 0x77eb, 0x4fa5, 0x811a, 0x72e1, 0x89d2,\n    0x997a, 0x7f34, 0x7ede, 0x527f, 0x6559, 0x9175, 0x8f7f, 0x8f83,\n    0x53eb, 0x7a96, 0x63ed, 0x63a5, 0x7686, 0x79f8, 0x8857, 0x9636,\n    0x622a, 0x52ab, 0x8282, 0x6854, 0x6770, 0x6377, 0x776b, 0x7aed,\n    0x6d01, 0x7ed3, 0x89e3, 0x59d0, 0x6212, 0x85c9, 0x82a5, 0x754c,\n    0x501f, 0x4ecb, 0x75a5, 0x8beb, 0x5c4a, 0x5dfe, 0x7b4b, 0x65a4,\n    0x91d1, 0x4eca, 0x6d25, 0x895f, 0x7d27, 0x9526, 0x4ec5, 0x8c28,\n    0x8fdb, 0x9773, 0x664b, 0x7981, 0x8fd1, 0x70ec, 0x6d78, 0x003f,\n    /* lead byte be */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7d99, 0x7d9a, 0x7d9b, 0x7d9c, 0x7d9d, 0x7d9e, 0x7d9f, 0x7da0,\n    0x7da1, 0x7da2, 0x7da3, 0x7da4, 0x7da5, 0x7da7, 0x7da8, 0x7da9,\n    0x7daa, 0x7dab, 0x7dac, 0x7dad, 0x7daf, 0x7db0, 0x7db1, 0x7db2,\n    0x7db3, 0x7db4, 0x7db5, 0x7db6, 0x7db7, 0x7db8, 0x7db9, 0x7dba,\n    0x7dbb, 0x7dbc, 0x7dbd, 0x7dbe, 0x7dbf, 0x7dc0, 0x7dc1, 0x7dc2,\n    0x7dc3, 0x7dc4, 0x7dc5, 0x7dc6, 0x7dc7, 0x7dc8, 0x7dc9, 0x7dca,\n    0x7dcb, 0x7dcc, 0x7dcd, 0x7dce, 0x7dcf, 0x7dd0, 0x7dd1, 0x7dd2,\n    0x7dd3, 0x7dd4, 0x7dd5, 0x7dd6, 0x7dd7, 0x7dd8, 0x7dd9, 0x003f,\n    0x7dda, 0x7ddb, 0x7ddc, 0x7ddd, 0x7dde, 0x7ddf, 0x7de0, 0x7de1,\n    0x7de2, 0x7de3, 0x7de4, 0x7de5, 0x7de6, 0x7de7, 0x7de8, 0x7de9,\n    0x7dea, 0x7deb, 0x7dec, 0x7ded, 0x7dee, 0x7def, 0x7df0, 0x7df1,\n    0x7df2, 0x7df3, 0x7df4, 0x7df5, 0x7df6, 0x7df7, 0x7df8, 0x7df9,\n    0x7dfa, 0x5c3d, 0x52b2, 0x8346, 0x5162, 0x830e, 0x775b, 0x6676,\n    0x9cb8, 0x4eac, 0x60ca, 0x7cbe, 0x7cb3, 0x7ecf, 0x4e95, 0x8b66,\n    0x666f, 0x9888, 0x9759, 0x5883, 0x656c, 0x955c, 0x5f84, 0x75c9,\n    0x9756, 0x7adf, 0x7ade, 0x51c0, 0x70af, 0x7a98, 0x63ea, 0x7a76,\n    0x7ea0, 0x7396, 0x97ed, 0x4e45, 0x7078, 0x4e5d, 0x9152, 0x53a9,\n    0x6551, 0x65e7, 0x81fc, 0x8205, 0x548e, 0x5c31, 0x759a, 0x97a0,\n    0x62d8, 0x72d9, 0x75bd, 0x5c45, 0x9a79, 0x83ca, 0x5c40, 0x5480,\n    0x77e9, 0x4e3e, 0x6cae, 0x805a, 0x62d2, 0x636e, 0x5de8, 0x5177,\n    0x8ddd, 0x8e1e, 0x952f, 0x4ff1, 0x53e5, 0x60e7, 0x70ac, 0x5267,\n    0x6350, 0x9e43, 0x5a1f, 0x5026, 0x7737, 0x5377, 0x7ee2, 0x6485,\n    0x652b, 0x6289, 0x6398, 0x5014, 0x7235, 0x89c9, 0x51b3, 0x8bc0,\n    0x7edd, 0x5747, 0x83cc, 0x94a7, 0x519b, 0x541b, 0x5cfb, 0x003f,\n    /* lead byte bf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7dfb, 0x7dfc, 0x7dfd, 0x7dfe, 0x7dff, 0x7e00, 0x7e01, 0x7e02,\n    0x7e03, 0x7e04, 0x7e05, 0x7e06, 0x7e07, 0x7e08, 0x7e09, 0x7e0a,\n    0x7e0b, 0x7e0c, 0x7e0d, 0x7e0e, 0x7e0f, 0x7e10, 0x7e11, 0x7e12,\n    0x7e13, 0x7e14, 0x7e15, 0x7e16, 0x7e17, 0x7e18, 0x7e19, 0x7e1a,\n    0x7e1b, 0x7e1c, 0x7e1d, 0x7e1e, 0x7e1f, 0x7e20, 0x7e21, 0x7e22,\n    0x7e23, 0x7e24, 0x7e25, 0x7e26, 0x7e27, 0x7e28, 0x7e29, 0x7e2a,\n    0x7e2b, 0x7e2c, 0x7e2d, 0x7e2e, 0x7e2f, 0x7e30, 0x7e31, 0x7e32,\n    0x7e33, 0x7e34, 0x7e35, 0x7e36, 0x7e37, 0x7e38, 0x7e39, 0x003f,\n    0x7e3a, 0x7e3c, 0x7e3d, 0x7e3e, 0x7e3f, 0x7e40, 0x7e42, 0x7e43,\n    0x7e44, 0x7e45, 0x7e46, 0x7e48, 0x7e49, 0x7e4a, 0x7e4b, 0x7e4c,\n    0x7e4d, 0x7e4e, 0x7e4f, 0x7e50, 0x7e51, 0x7e52, 0x7e53, 0x7e54,\n    0x7e55, 0x7e56, 0x7e57, 0x7e58, 0x7e59, 0x7e5a, 0x7e5b, 0x7e5c,\n    0x7e5d, 0x4fca, 0x7ae3, 0x6d5a, 0x90e1, 0x9a8f, 0x5580, 0x5496,\n    0x5361, 0x54af, 0x5f00, 0x63e9, 0x6977, 0x51ef, 0x6168, 0x520a,\n    0x582a, 0x52d8, 0x574e, 0x780d, 0x770b, 0x5eb7, 0x6177, 0x7ce0,\n    0x625b, 0x6297, 0x4ea2, 0x7095, 0x8003, 0x62f7, 0x70e4, 0x9760,\n    0x5777, 0x82db, 0x67ef, 0x68f5, 0x78d5, 0x9897, 0x79d1, 0x58f3,\n    0x54b3, 0x53ef, 0x6e34, 0x514b, 0x523b, 0x5ba2, 0x8bfe, 0x80af,\n    0x5543, 0x57a6, 0x6073, 0x5751, 0x542d, 0x7a7a, 0x6050, 0x5b54,\n    0x63a7, 0x62a0, 0x53e3, 0x6263, 0x5bc7, 0x67af, 0x54ed, 0x7a9f,\n    0x82e6, 0x9177, 0x5e93, 0x88e4, 0x5938, 0x57ae, 0x630e, 0x8de8,\n    0x80ef, 0x5757, 0x7b77, 0x4fa9, 0x5feb, 0x5bbd, 0x6b3e, 0x5321,\n    0x7b50, 0x72c2, 0x6846, 0x77ff, 0x7736, 0x65f7, 0x51b5, 0x4e8f,\n    0x76d4, 0x5cbf, 0x7aa5, 0x8475, 0x594e, 0x9b41, 0x5080, 0x003f,\n    /* lead byte c0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7e5e, 0x7e5f, 0x7e60, 0x7e61, 0x7e62, 0x7e63, 0x7e64, 0x7e65,\n    0x7e66, 0x7e67, 0x7e68, 0x7e69, 0x7e6a, 0x7e6b, 0x7e6c, 0x7e6d,\n    0x7e6e, 0x7e6f, 0x7e70, 0x7e71, 0x7e72, 0x7e73, 0x7e74, 0x7e75,\n    0x7e76, 0x7e77, 0x7e78, 0x7e79, 0x7e7a, 0x7e7b, 0x7e7c, 0x7e7d,\n    0x7e7e, 0x7e7f, 0x7e80, 0x7e81, 0x7e83, 0x7e84, 0x7e85, 0x7e86,\n    0x7e87, 0x7e88, 0x7e89, 0x7e8a, 0x7e8b, 0x7e8c, 0x7e8d, 0x7e8e,\n    0x7e8f, 0x7e90, 0x7e91, 0x7e92, 0x7e93, 0x7e94, 0x7e95, 0x7e96,\n    0x7e97, 0x7e98, 0x7e99, 0x7e9a, 0x7e9c, 0x7e9d, 0x7e9e, 0x003f,\n    0x7eae, 0x7eb4, 0x7ebb, 0x7ebc, 0x7ed6, 0x7ee4, 0x7eec, 0x7ef9,\n    0x7f0a, 0x7f10, 0x7f1e, 0x7f37, 0x7f39, 0x7f3b, 0x7f3c, 0x7f3d,\n    0x7f3e, 0x7f3f, 0x7f40, 0x7f41, 0x7f43, 0x7f46, 0x7f47, 0x7f48,\n    0x7f49, 0x7f4a, 0x7f4b, 0x7f4c, 0x7f4d, 0x7f4e, 0x7f4f, 0x7f52,\n    0x7f53, 0x9988, 0x6127, 0x6e83, 0x5764, 0x6606, 0x6346, 0x56f0,\n    0x62ec, 0x6269, 0x5ed3, 0x9614, 0x5783, 0x62c9, 0x5587, 0x8721,\n    0x814a, 0x8fa3, 0x5566, 0x83b1, 0x6765, 0x8d56, 0x84dd, 0x5a6a,\n    0x680f, 0x62e6, 0x7bee, 0x9611, 0x5170, 0x6f9c, 0x8c30, 0x63fd,\n    0x89c8, 0x61d2, 0x7f06, 0x70c2, 0x6ee5, 0x7405, 0x6994, 0x72fc,\n    0x5eca, 0x90ce, 0x6717, 0x6d6a, 0x635e, 0x52b3, 0x7262, 0x8001,\n    0x4f6c, 0x59e5, 0x916a, 0x70d9, 0x6d9d, 0x52d2, 0x4e50, 0x96f7,\n    0x956d, 0x857e, 0x78ca, 0x7d2f, 0x5121, 0x5792, 0x64c2, 0x808b,\n    0x7c7b, 0x6cea, 0x68f1, 0x695e, 0x51b7, 0x5398, 0x68a8, 0x7281,\n    0x9ece, 0x7bf1, 0x72f8, 0x79bb, 0x6f13, 0x7406, 0x674e, 0x91cc,\n    0x9ca4, 0x793c, 0x8389, 0x8354, 0x540f, 0x6817, 0x4e3d, 0x5389,\n    0x52b1, 0x783e, 0x5386, 0x5229, 0x5088, 0x4f8b, 0x4fd0, 0x003f,\n    /* lead byte c1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7f56, 0x7f59, 0x7f5b, 0x7f5c, 0x7f5d, 0x7f5e, 0x7f60, 0x7f63,\n    0x7f64, 0x7f65, 0x7f66, 0x7f67, 0x7f6b, 0x7f6c, 0x7f6d, 0x7f6f,\n    0x7f70, 0x7f73, 0x7f75, 0x7f76, 0x7f77, 0x7f78, 0x7f7a, 0x7f7b,\n    0x7f7c, 0x7f7d, 0x7f7f, 0x7f80, 0x7f82, 0x7f83, 0x7f84, 0x7f85,\n    0x7f86, 0x7f87, 0x7f88, 0x7f89, 0x7f8b, 0x7f8d, 0x7f8f, 0x7f90,\n    0x7f91, 0x7f92, 0x7f93, 0x7f95, 0x7f96, 0x7f97, 0x7f98, 0x7f99,\n    0x7f9b, 0x7f9c, 0x7fa0, 0x7fa2, 0x7fa3, 0x7fa5, 0x7fa6, 0x7fa8,\n    0x7fa9, 0x7faa, 0x7fab, 0x7fac, 0x7fad, 0x7fae, 0x7fb1, 0x003f,\n    0x7fb3, 0x7fb4, 0x7fb5, 0x7fb6, 0x7fb7, 0x7fba, 0x7fbb, 0x7fbe,\n    0x7fc0, 0x7fc2, 0x7fc3, 0x7fc4, 0x7fc6, 0x7fc7, 0x7fc8, 0x7fc9,\n    0x7fcb, 0x7fcd, 0x7fcf, 0x7fd0, 0x7fd1, 0x7fd2, 0x7fd3, 0x7fd6,\n    0x7fd7, 0x7fd9, 0x7fda, 0x7fdb, 0x7fdc, 0x7fdd, 0x7fde, 0x7fe2,\n    0x7fe3, 0x75e2, 0x7acb, 0x7c92, 0x6ca5, 0x96b6, 0x529b, 0x7483,\n    0x54e9, 0x4fe9, 0x8054, 0x83b2, 0x8fde, 0x9570, 0x5ec9, 0x601c,\n    0x6d9f, 0x5e18, 0x655b, 0x8138, 0x94fe, 0x604b, 0x70bc, 0x7ec3,\n    0x7cae, 0x51c9, 0x6881, 0x7cb1, 0x826f, 0x4e24, 0x8f86, 0x91cf,\n    0x667e, 0x4eae, 0x8c05, 0x64a9, 0x804a, 0x50da, 0x7597, 0x71ce,\n    0x5be5, 0x8fbd, 0x6f66, 0x4e86, 0x6482, 0x9563, 0x5ed6, 0x6599,\n    0x5217, 0x88c2, 0x70c8, 0x52a3, 0x730e, 0x7433, 0x6797, 0x78f7,\n    0x9716, 0x4e34, 0x90bb, 0x9cde, 0x6dcb, 0x51db, 0x8d41, 0x541d,\n    0x62ce, 0x73b2, 0x83f1, 0x96f6, 0x9f84, 0x94c3, 0x4f36, 0x7f9a,\n    0x51cc, 0x7075, 0x9675, 0x5cad, 0x9886, 0x53e6, 0x4ee4, 0x6e9c,\n    0x7409, 0x69b4, 0x786b, 0x998f, 0x7559, 0x5218, 0x7624, 0x6d41,\n    0x67f3, 0x516d, 0x9f99, 0x804b, 0x5499, 0x7b3c, 0x7abf, 0x003f,\n    /* lead byte c2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7fe4, 0x7fe7, 0x7fe8, 0x7fea, 0x7feb, 0x7fec, 0x7fed, 0x7fef,\n    0x7ff2, 0x7ff4, 0x7ff5, 0x7ff6, 0x7ff7, 0x7ff8, 0x7ff9, 0x7ffa,\n    0x7ffd, 0x7ffe, 0x7fff, 0x8002, 0x8007, 0x8008, 0x8009, 0x800a,\n    0x800e, 0x800f, 0x8011, 0x8013, 0x801a, 0x801b, 0x801d, 0x801e,\n    0x801f, 0x8021, 0x8023, 0x8024, 0x802b, 0x802c, 0x802d, 0x802e,\n    0x802f, 0x8030, 0x8032, 0x8034, 0x8039, 0x803a, 0x803c, 0x803e,\n    0x8040, 0x8041, 0x8044, 0x8045, 0x8047, 0x8048, 0x8049, 0x804e,\n    0x804f, 0x8050, 0x8051, 0x8053, 0x8055, 0x8056, 0x8057, 0x003f,\n    0x8059, 0x805b, 0x805c, 0x805d, 0x805e, 0x805f, 0x8060, 0x8061,\n    0x8062, 0x8063, 0x8064, 0x8065, 0x8066, 0x8067, 0x8068, 0x806b,\n    0x806c, 0x806d, 0x806e, 0x806f, 0x8070, 0x8072, 0x8073, 0x8074,\n    0x8075, 0x8076, 0x8077, 0x8078, 0x8079, 0x807a, 0x807b, 0x807c,\n    0x807d, 0x9686, 0x5784, 0x62e2, 0x9647, 0x697c, 0x5a04, 0x6402,\n    0x7bd3, 0x6f0f, 0x964b, 0x82a6, 0x5362, 0x9885, 0x5e90, 0x7089,\n    0x63b3, 0x5364, 0x864f, 0x9c81, 0x9e93, 0x788c, 0x9732, 0x8def,\n    0x8d42, 0x9e7f, 0x6f5e, 0x7984, 0x5f55, 0x9646, 0x622e, 0x9a74,\n    0x5415, 0x94dd, 0x4fa3, 0x65c5, 0x5c65, 0x5c61, 0x7f15, 0x8651,\n    0x6c2f, 0x5f8b, 0x7387, 0x6ee4, 0x7eff, 0x5ce6, 0x631b, 0x5b6a,\n    0x6ee6, 0x5375, 0x4e71, 0x63a0, 0x7565, 0x62a1, 0x8f6e, 0x4f26,\n    0x4ed1, 0x6ca6, 0x7eb6, 0x8bba, 0x841d, 0x87ba, 0x7f57, 0x903b,\n    0x9523, 0x7ba9, 0x9aa1, 0x88f8, 0x843d, 0x6d1b, 0x9a86, 0x7edc,\n    0x5988, 0x9ebb, 0x739b, 0x7801, 0x8682, 0x9a6c, 0x9a82, 0x561b,\n    0x5417, 0x57cb, 0x4e70, 0x9ea6, 0x5356, 0x8fc8, 0x8109, 0x7792,\n    0x9992, 0x86ee, 0x6ee1, 0x8513, 0x66fc, 0x6162, 0x6f2b, 0x003f,\n    /* lead byte c3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x807e, 0x8081, 0x8082, 0x8085, 0x8088, 0x808a, 0x808d, 0x808e,\n    0x808f, 0x8090, 0x8091, 0x8092, 0x8094, 0x8095, 0x8097, 0x8099,\n    0x809e, 0x80a3, 0x80a6, 0x80a7, 0x80a8, 0x80ac, 0x80b0, 0x80b3,\n    0x80b5, 0x80b6, 0x80b8, 0x80b9, 0x80bb, 0x80c5, 0x80c7, 0x80c8,\n    0x80c9, 0x80ca, 0x80cb, 0x80cf, 0x80d0, 0x80d1, 0x80d2, 0x80d3,\n    0x80d4, 0x80d5, 0x80d8, 0x80df, 0x80e0, 0x80e2, 0x80e3, 0x80e6,\n    0x80ee, 0x80f5, 0x80f7, 0x80f9, 0x80fb, 0x80fe, 0x80ff, 0x8100,\n    0x8101, 0x8103, 0x8104, 0x8105, 0x8107, 0x8108, 0x810b, 0x003f,\n    0x810c, 0x8115, 0x8117, 0x8119, 0x811b, 0x811c, 0x811d, 0x811f,\n    0x8120, 0x8121, 0x8122, 0x8123, 0x8124, 0x8125, 0x8126, 0x8127,\n    0x8128, 0x8129, 0x812a, 0x812b, 0x812d, 0x812e, 0x8130, 0x8133,\n    0x8134, 0x8135, 0x8137, 0x8139, 0x813a, 0x813b, 0x813c, 0x813d,\n    0x813f, 0x8c29, 0x8292, 0x832b, 0x76f2, 0x6c13, 0x5fd9, 0x83bd,\n    0x732b, 0x8305, 0x951a, 0x6bdb, 0x77db, 0x94c6, 0x536f, 0x8302,\n    0x5192, 0x5e3d, 0x8c8c, 0x8d38, 0x4e48, 0x73ab, 0x679a, 0x6885,\n    0x9176, 0x9709, 0x7164, 0x6ca1, 0x7709, 0x5a92, 0x9541, 0x6bcf,\n    0x7f8e, 0x6627, 0x5bd0, 0x59b9, 0x5a9a, 0x95e8, 0x95f7, 0x4eec,\n    0x840c, 0x8499, 0x6aac, 0x76df, 0x9530, 0x731b, 0x68a6, 0x5b5f,\n    0x772f, 0x919a, 0x9761, 0x7cdc, 0x8ff7, 0x8c1c, 0x5f25, 0x7c73,\n    0x79d8, 0x89c5, 0x6ccc, 0x871c, 0x5bc6, 0x5e42, 0x68c9, 0x7720,\n    0x7ef5, 0x5195, 0x514d, 0x52c9, 0x5a29, 0x7f05, 0x9762, 0x82d7,\n    0x63cf, 0x7784, 0x85d0, 0x79d2, 0x6e3a, 0x5e99, 0x5999, 0x8511,\n    0x706d, 0x6c11, 0x62bf, 0x76bf, 0x654f, 0x60af, 0x95fd, 0x660e,\n    0x879f, 0x9e23, 0x94ed, 0x540d, 0x547d, 0x8c2c, 0x6478, 0x003f,\n    /* lead byte c4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8140, 0x8141, 0x8142, 0x8143, 0x8144, 0x8145, 0x8147, 0x8149,\n    0x814d, 0x814e, 0x814f, 0x8152, 0x8156, 0x8157, 0x8158, 0x815b,\n    0x815c, 0x815d, 0x815e, 0x815f, 0x8161, 0x8162, 0x8163, 0x8164,\n    0x8166, 0x8168, 0x816a, 0x816b, 0x816c, 0x816f, 0x8172, 0x8173,\n    0x8175, 0x8176, 0x8177, 0x8178, 0x8181, 0x8183, 0x8184, 0x8185,\n    0x8186, 0x8187, 0x8189, 0x818b, 0x818c, 0x818d, 0x818e, 0x8190,\n    0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8199, 0x819a,\n    0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2, 0x81a4, 0x81a5, 0x003f,\n    0x81a7, 0x81a9, 0x81ab, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0,\n    0x81b1, 0x81b2, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,\n    0x81bc, 0x81bd, 0x81be, 0x81bf, 0x81c4, 0x81c5, 0x81c7, 0x81c8,\n    0x81c9, 0x81cb, 0x81cd, 0x81ce, 0x81cf, 0x81d0, 0x81d1, 0x81d2,\n    0x81d3, 0x6479, 0x8611, 0x6a21, 0x819c, 0x78e8, 0x6469, 0x9b54,\n    0x62b9, 0x672b, 0x83ab, 0x58a8, 0x9ed8, 0x6cab, 0x6f20, 0x5bde,\n    0x964c, 0x8c0b, 0x725f, 0x67d0, 0x62c7, 0x7261, 0x4ea9, 0x59c6,\n    0x6bcd, 0x5893, 0x66ae, 0x5e55, 0x52df, 0x6155, 0x6728, 0x76ee,\n    0x7766, 0x7267, 0x7a46, 0x62ff, 0x54ea, 0x5450, 0x94a0, 0x90a3,\n    0x5a1c, 0x7eb3, 0x6c16, 0x4e43, 0x5976, 0x8010, 0x5948, 0x5357,\n    0x7537, 0x96be, 0x56ca, 0x6320, 0x8111, 0x607c, 0x95f9, 0x6dd6,\n    0x5462, 0x9981, 0x5185, 0x5ae9, 0x80fd, 0x59ae, 0x9713, 0x502a,\n    0x6ce5, 0x5c3c, 0x62df, 0x4f60, 0x533f, 0x817b, 0x9006, 0x6eba,\n    0x852b, 0x62c8, 0x5e74, 0x78be, 0x64b5, 0x637b, 0x5ff5, 0x5a18,\n    0x917f, 0x9e1f, 0x5c3f, 0x634f, 0x8042, 0x5b7d, 0x556e, 0x954a,\n    0x954d, 0x6d85, 0x60a8, 0x67e0, 0x72de, 0x51dd, 0x5b81, 0x003f,\n    /* lead byte c5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x81d4, 0x81d5, 0x81d6, 0x81d7, 0x81d8, 0x81d9, 0x81da, 0x81db,\n    0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0, 0x81e1, 0x81e2, 0x81e4,\n    0x81e5, 0x81e6, 0x81e8, 0x81e9, 0x81eb, 0x81ee, 0x81ef, 0x81f0,\n    0x81f1, 0x81f2, 0x81f5, 0x81f6, 0x81f7, 0x81f8, 0x81f9, 0x81fa,\n    0x81fd, 0x81ff, 0x8203, 0x8207, 0x8208, 0x8209, 0x820a, 0x820b,\n    0x820e, 0x820f, 0x8211, 0x8213, 0x8215, 0x8216, 0x8217, 0x8218,\n    0x8219, 0x821a, 0x821d, 0x8220, 0x8224, 0x8225, 0x8226, 0x8227,\n    0x8229, 0x822e, 0x8232, 0x823a, 0x823c, 0x823d, 0x823f, 0x003f,\n    0x8240, 0x8241, 0x8242, 0x8243, 0x8245, 0x8246, 0x8248, 0x824a,\n    0x824c, 0x824d, 0x824e, 0x8250, 0x8251, 0x8252, 0x8253, 0x8254,\n    0x8255, 0x8256, 0x8257, 0x8259, 0x825b, 0x825c, 0x825d, 0x825e,\n    0x8260, 0x8261, 0x8262, 0x8263, 0x8264, 0x8265, 0x8266, 0x8267,\n    0x8269, 0x62e7, 0x6cde, 0x725b, 0x626d, 0x94ae, 0x7ebd, 0x8113,\n    0x6d53, 0x519c, 0x5f04, 0x5974, 0x52aa, 0x6012, 0x5973, 0x6696,\n    0x8650, 0x759f, 0x632a, 0x61e6, 0x7cef, 0x8bfa, 0x54e6, 0x6b27,\n    0x9e25, 0x6bb4, 0x85d5, 0x5455, 0x5076, 0x6ca4, 0x556a, 0x8db4,\n    0x722c, 0x5e15, 0x6015, 0x7436, 0x62cd, 0x6392, 0x724c, 0x5f98,\n    0x6e43, 0x6d3e, 0x6500, 0x6f58, 0x76d8, 0x78d0, 0x76fc, 0x7554,\n    0x5224, 0x53db, 0x4e53, 0x5e9e, 0x65c1, 0x802a, 0x80d6, 0x629b,\n    0x5486, 0x5228, 0x70ae, 0x888d, 0x8dd1, 0x6ce1, 0x5478, 0x80da,\n    0x57f9, 0x88f4, 0x8d54, 0x966a, 0x914d, 0x4f69, 0x6c9b, 0x55b7,\n    0x76c6, 0x7830, 0x62a8, 0x70f9, 0x6f8e, 0x5f6d, 0x84ec, 0x68da,\n    0x787c, 0x7bf7, 0x81a8, 0x670b, 0x9e4f, 0x6367, 0x78b0, 0x576f,\n    0x7812, 0x9739, 0x6279, 0x62ab, 0x5288, 0x7435, 0x6bd7, 0x003f,\n    /* lead byte c6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x826a, 0x826b, 0x826c, 0x826d, 0x8271, 0x8275, 0x8276, 0x8277,\n    0x8278, 0x827b, 0x827c, 0x8280, 0x8281, 0x8283, 0x8285, 0x8286,\n    0x8287, 0x8289, 0x828c, 0x8290, 0x8293, 0x8294, 0x8295, 0x8296,\n    0x829a, 0x829b, 0x829e, 0x82a0, 0x82a2, 0x82a3, 0x82a7, 0x82b2,\n    0x82b5, 0x82b6, 0x82ba, 0x82bb, 0x82bc, 0x82bf, 0x82c0, 0x82c2,\n    0x82c3, 0x82c5, 0x82c6, 0x82c9, 0x82d0, 0x82d6, 0x82d9, 0x82da,\n    0x82dd, 0x82e2, 0x82e7, 0x82e8, 0x82e9, 0x82ea, 0x82ec, 0x82ed,\n    0x82ee, 0x82f0, 0x82f2, 0x82f3, 0x82f5, 0x82f6, 0x82f8, 0x003f,\n    0x82fa, 0x82fc, 0x82fd, 0x82fe, 0x82ff, 0x8300, 0x830a, 0x830b,\n    0x830d, 0x8310, 0x8312, 0x8313, 0x8316, 0x8318, 0x8319, 0x831d,\n    0x831e, 0x831f, 0x8320, 0x8321, 0x8322, 0x8323, 0x8324, 0x8325,\n    0x8326, 0x8329, 0x832a, 0x832e, 0x8330, 0x8332, 0x8337, 0x833b,\n    0x833d, 0x5564, 0x813e, 0x75b2, 0x76ae, 0x5339, 0x75de, 0x50fb,\n    0x5c41, 0x8b6c, 0x7bc7, 0x504f, 0x7247, 0x9a97, 0x98d8, 0x6f02,\n    0x74e2, 0x7968, 0x6487, 0x77a5, 0x62fc, 0x9891, 0x8d2b, 0x54c1,\n    0x8058, 0x4e52, 0x576a, 0x82f9, 0x840d, 0x5e73, 0x51ed, 0x74f6,\n    0x8bc4, 0x5c4f, 0x5761, 0x6cfc, 0x9887, 0x5a46, 0x7834, 0x9b44,\n    0x8feb, 0x7c95, 0x5256, 0x6251, 0x94fa, 0x4ec6, 0x8386, 0x8461,\n    0x83e9, 0x84b2, 0x57d4, 0x6734, 0x5703, 0x666e, 0x6d66, 0x8c31,\n    0x66dd, 0x7011, 0x671f, 0x6b3a, 0x6816, 0x621a, 0x59bb, 0x4e03,\n    0x51c4, 0x6f06, 0x67d2, 0x6c8f, 0x5176, 0x68cb, 0x5947, 0x6b67,\n    0x7566, 0x5d0e, 0x8110, 0x9f50, 0x65d7, 0x7948, 0x7941, 0x9a91,\n    0x8d77, 0x5c82, 0x4e5e, 0x4f01, 0x542f, 0x5951, 0x780c, 0x5668,\n    0x6c14, 0x8fc4, 0x5f03, 0x6c7d, 0x6ce3, 0x8bab, 0x6390, 0x003f,\n    /* lead byte c7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x833e, 0x833f, 0x8341, 0x8342, 0x8344, 0x8345, 0x8348, 0x834a,\n    0x834b, 0x834c, 0x834d, 0x834e, 0x8353, 0x8355, 0x8356, 0x8357,\n    0x8358, 0x8359, 0x835d, 0x8362, 0x8370, 0x8371, 0x8372, 0x8373,\n    0x8374, 0x8375, 0x8376, 0x8379, 0x837a, 0x837e, 0x837f, 0x8380,\n    0x8381, 0x8382, 0x8383, 0x8384, 0x8387, 0x8388, 0x838a, 0x838b,\n    0x838c, 0x838d, 0x838f, 0x8390, 0x8391, 0x8394, 0x8395, 0x8396,\n    0x8397, 0x8399, 0x839a, 0x839d, 0x839f, 0x83a1, 0x83a2, 0x83a3,\n    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83ac, 0x83ad, 0x83ae, 0x003f,\n    0x83af, 0x83b5, 0x83bb, 0x83be, 0x83bf, 0x83c2, 0x83c3, 0x83c4,\n    0x83c6, 0x83c8, 0x83c9, 0x83cb, 0x83cd, 0x83ce, 0x83d0, 0x83d1,\n    0x83d2, 0x83d3, 0x83d5, 0x83d7, 0x83d9, 0x83da, 0x83db, 0x83de,\n    0x83e2, 0x83e3, 0x83e4, 0x83e6, 0x83e7, 0x83e8, 0x83eb, 0x83ec,\n    0x83ed, 0x6070, 0x6d3d, 0x7275, 0x6266, 0x948e, 0x94c5, 0x5343,\n    0x8fc1, 0x7b7e, 0x4edf, 0x8c26, 0x4e7e, 0x9ed4, 0x94b1, 0x94b3,\n    0x524d, 0x6f5c, 0x9063, 0x6d45, 0x8c34, 0x5811, 0x5d4c, 0x6b20,\n    0x6b49, 0x67aa, 0x545b, 0x8154, 0x7f8c, 0x5899, 0x8537, 0x5f3a,\n    0x62a2, 0x6a47, 0x9539, 0x6572, 0x6084, 0x6865, 0x77a7, 0x4e54,\n    0x4fa8, 0x5de7, 0x9798, 0x64ac, 0x7fd8, 0x5ced, 0x4fcf, 0x7a8d,\n    0x5207, 0x8304, 0x4e14, 0x602f, 0x7a83, 0x94a6, 0x4fb5, 0x4eb2,\n    0x79e6, 0x7434, 0x52e4, 0x82b9, 0x64d2, 0x79bd, 0x5bdd, 0x6c81,\n    0x9752, 0x8f7b, 0x6c22, 0x503e, 0x537f, 0x6e05, 0x64ce, 0x6674,\n    0x6c30, 0x60c5, 0x9877, 0x8bf7, 0x5e86, 0x743c, 0x7a77, 0x79cb,\n    0x4e18, 0x90b1, 0x7403, 0x6c42, 0x56da, 0x914b, 0x6cc5, 0x8d8b,\n    0x533a, 0x86c6, 0x66f2, 0x8eaf, 0x5c48, 0x9a71, 0x6e20, 0x003f,\n    /* lead byte c8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x83ee, 0x83ef, 0x83f3, 0x83f4, 0x83f5, 0x83f6, 0x83f7, 0x83fa,\n    0x83fb, 0x83fc, 0x83fe, 0x83ff, 0x8400, 0x8402, 0x8405, 0x8407,\n    0x8408, 0x8409, 0x840a, 0x8410, 0x8412, 0x8413, 0x8414, 0x8415,\n    0x8416, 0x8417, 0x8419, 0x841a, 0x841b, 0x841e, 0x841f, 0x8420,\n    0x8421, 0x8422, 0x8423, 0x8429, 0x842a, 0x842b, 0x842c, 0x842d,\n    0x842e, 0x842f, 0x8430, 0x8432, 0x8433, 0x8434, 0x8435, 0x8436,\n    0x8437, 0x8439, 0x843a, 0x843b, 0x843e, 0x843f, 0x8440, 0x8441,\n    0x8442, 0x8443, 0x8444, 0x8445, 0x8447, 0x8448, 0x8449, 0x003f,\n    0x844a, 0x844b, 0x844c, 0x844d, 0x844e, 0x844f, 0x8450, 0x8452,\n    0x8453, 0x8454, 0x8455, 0x8456, 0x8458, 0x845d, 0x845e, 0x845f,\n    0x8460, 0x8462, 0x8464, 0x8465, 0x8466, 0x8467, 0x8468, 0x846a,\n    0x846e, 0x846f, 0x8470, 0x8472, 0x8474, 0x8477, 0x8479, 0x847b,\n    0x847c, 0x53d6, 0x5a36, 0x9f8b, 0x8da3, 0x53bb, 0x5708, 0x98a7,\n    0x6743, 0x919b, 0x6cc9, 0x5168, 0x75ca, 0x62f3, 0x72ac, 0x5238,\n    0x529d, 0x7f3a, 0x7094, 0x7638, 0x5374, 0x9e4a, 0x69b7, 0x786e,\n    0x96c0, 0x88d9, 0x7fa4, 0x7136, 0x71c3, 0x5189, 0x67d3, 0x74e4,\n    0x58e4, 0x6518, 0x56b7, 0x8ba9, 0x9976, 0x6270, 0x7ed5, 0x60f9,\n    0x70ed, 0x58ec, 0x4ec1, 0x4eba, 0x5fcd, 0x97e7, 0x4efb, 0x8ba4,\n    0x5203, 0x598a, 0x7eab, 0x6254, 0x4ecd, 0x65e5, 0x620e, 0x8338,\n    0x84c9, 0x8363, 0x878d, 0x7194, 0x6eb6, 0x5bb9, 0x7ed2, 0x5197,\n    0x63c9, 0x67d4, 0x8089, 0x8339, 0x8815, 0x5112, 0x5b7a, 0x5982,\n    0x8fb1, 0x4e73, 0x6c5d, 0x5165, 0x8925, 0x8f6f, 0x962e, 0x854a,\n    0x745e, 0x9510, 0x95f0, 0x6da6, 0x82e5, 0x5f31, 0x6492, 0x6d12,\n    0x8428, 0x816e, 0x9cc3, 0x585e, 0x8d5b, 0x4e09, 0x53c1, 0x003f,\n    /* lead byte c9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x847d, 0x847e, 0x847f, 0x8480, 0x8481, 0x8483, 0x8484, 0x8485,\n    0x8486, 0x848a, 0x848d, 0x848f, 0x8490, 0x8491, 0x8492, 0x8493,\n    0x8494, 0x8495, 0x8496, 0x8498, 0x849a, 0x849b, 0x849d, 0x849e,\n    0x849f, 0x84a0, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7,\n    0x84a8, 0x84a9, 0x84aa, 0x84ab, 0x84ac, 0x84ad, 0x84ae, 0x84b0,\n    0x84b1, 0x84b3, 0x84b5, 0x84b6, 0x84b7, 0x84bb, 0x84bc, 0x84be,\n    0x84c0, 0x84c2, 0x84c3, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84cb,\n    0x84cc, 0x84ce, 0x84cf, 0x84d2, 0x84d4, 0x84d5, 0x84d7, 0x003f,\n    0x84d8, 0x84d9, 0x84da, 0x84db, 0x84dc, 0x84de, 0x84e1, 0x84e2,\n    0x84e4, 0x84e7, 0x84e8, 0x84e9, 0x84ea, 0x84eb, 0x84ed, 0x84ee,\n    0x84ef, 0x84f1, 0x84f2, 0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7,\n    0x84f8, 0x84f9, 0x84fa, 0x84fb, 0x84fd, 0x84fe, 0x8500, 0x8501,\n    0x8502, 0x4f1e, 0x6563, 0x6851, 0x55d3, 0x4e27, 0x6414, 0x9a9a,\n    0x626b, 0x5ac2, 0x745f, 0x8272, 0x6da9, 0x68ee, 0x50e7, 0x838e,\n    0x7802, 0x6740, 0x5239, 0x6c99, 0x7eb1, 0x50bb, 0x5565, 0x715e,\n    0x7b5b, 0x6652, 0x73ca, 0x82eb, 0x6749, 0x5c71, 0x5220, 0x717d,\n    0x886b, 0x95ea, 0x9655, 0x64c5, 0x8d61, 0x81b3, 0x5584, 0x6c55,\n    0x6247, 0x7f2e, 0x5892, 0x4f24, 0x5546, 0x8d4f, 0x664c, 0x4e0a,\n    0x5c1a, 0x88f3, 0x68a2, 0x634e, 0x7a0d, 0x70e7, 0x828d, 0x52fa,\n    0x97f6, 0x5c11, 0x54e8, 0x90b5, 0x7ecd, 0x5962, 0x8d4a, 0x86c7,\n    0x820c, 0x820d, 0x8d66, 0x6444, 0x5c04, 0x6151, 0x6d89, 0x793e,\n    0x8bbe, 0x7837, 0x7533, 0x547b, 0x4f38, 0x8eab, 0x6df1, 0x5a20,\n    0x7ec5, 0x795e, 0x6c88, 0x5ba1, 0x5a76, 0x751a, 0x80be, 0x614e,\n    0x6e17, 0x58f0, 0x751f, 0x7525, 0x7272, 0x5347, 0x7ef3, 0x003f,\n    /* lead byte ca */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8503, 0x8504, 0x8505, 0x8506, 0x8507, 0x8508, 0x8509, 0x850a,\n    0x850b, 0x850d, 0x850e, 0x850f, 0x8510, 0x8512, 0x8514, 0x8515,\n    0x8516, 0x8518, 0x8519, 0x851b, 0x851c, 0x851d, 0x851e, 0x8520,\n    0x8522, 0x8523, 0x8524, 0x8525, 0x8526, 0x8527, 0x8528, 0x8529,\n    0x852a, 0x852d, 0x852e, 0x852f, 0x8530, 0x8531, 0x8532, 0x8533,\n    0x8534, 0x8535, 0x8536, 0x853e, 0x853f, 0x8540, 0x8541, 0x8542,\n    0x8544, 0x8545, 0x8546, 0x8547, 0x854b, 0x854c, 0x854d, 0x854e,\n    0x854f, 0x8550, 0x8551, 0x8552, 0x8553, 0x8554, 0x8555, 0x003f,\n    0x8557, 0x8558, 0x855a, 0x855b, 0x855c, 0x855d, 0x855f, 0x8560,\n    0x8561, 0x8562, 0x8563, 0x8565, 0x8566, 0x8567, 0x8569, 0x856a,\n    0x856b, 0x856c, 0x856d, 0x856e, 0x856f, 0x8570, 0x8571, 0x8573,\n    0x8575, 0x8576, 0x8577, 0x8578, 0x857c, 0x857d, 0x857f, 0x8580,\n    0x8581, 0x7701, 0x76db, 0x5269, 0x80dc, 0x5723, 0x5e08, 0x5931,\n    0x72ee, 0x65bd, 0x6e7f, 0x8bd7, 0x5c38, 0x8671, 0x5341, 0x77f3,\n    0x62fe, 0x65f6, 0x4ec0, 0x98df, 0x8680, 0x5b9e, 0x8bc6, 0x53f2,\n    0x77e2, 0x4f7f, 0x5c4e, 0x9a76, 0x59cb, 0x5f0f, 0x793a, 0x58eb,\n    0x4e16, 0x67ff, 0x4e8b, 0x62ed, 0x8a93, 0x901d, 0x52bf, 0x662f,\n    0x55dc, 0x566c, 0x9002, 0x4ed5, 0x4f8d, 0x91ca, 0x9970, 0x6c0f,\n    0x5e02, 0x6043, 0x5ba4, 0x89c6, 0x8bd5, 0x6536, 0x624b, 0x9996,\n    0x5b88, 0x5bff, 0x6388, 0x552e, 0x53d7, 0x7626, 0x517d, 0x852c,\n    0x67a2, 0x68b3, 0x6b8a, 0x6292, 0x8f93, 0x53d4, 0x8212, 0x6dd1,\n    0x758f, 0x4e66, 0x8d4e, 0x5b70, 0x719f, 0x85af, 0x6691, 0x66d9,\n    0x7f72, 0x8700, 0x9ecd, 0x9f20, 0x5c5e, 0x672f, 0x8ff0, 0x6811,\n    0x675f, 0x620d, 0x7ad6, 0x5885, 0x5eb6, 0x6570, 0x6f31, 0x003f,\n    /* lead byte cb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8582, 0x8583, 0x8586, 0x8588, 0x8589, 0x858a, 0x858b, 0x858c,\n    0x858d, 0x858e, 0x8590, 0x8591, 0x8592, 0x8593, 0x8594, 0x8595,\n    0x8596, 0x8597, 0x8598, 0x8599, 0x859a, 0x859d, 0x859e, 0x859f,\n    0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a5, 0x85a6, 0x85a7, 0x85a9,\n    0x85ab, 0x85ac, 0x85ad, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,\n    0x85b6, 0x85b8, 0x85ba, 0x85bb, 0x85bc, 0x85bd, 0x85be, 0x85bf,\n    0x85c0, 0x85c2, 0x85c3, 0x85c4, 0x85c5, 0x85c6, 0x85c7, 0x85c8,\n    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85d1, 0x85d2, 0x003f,\n    0x85d4, 0x85d6, 0x85d7, 0x85d8, 0x85d9, 0x85da, 0x85db, 0x85dd,\n    0x85de, 0x85df, 0x85e0, 0x85e1, 0x85e2, 0x85e3, 0x85e5, 0x85e6,\n    0x85e7, 0x85e8, 0x85ea, 0x85eb, 0x85ec, 0x85ed, 0x85ee, 0x85ef,\n    0x85f0, 0x85f1, 0x85f2, 0x85f3, 0x85f4, 0x85f5, 0x85f6, 0x85f7,\n    0x85f8, 0x6055, 0x5237, 0x800d, 0x6454, 0x8870, 0x7529, 0x5e05,\n    0x6813, 0x62f4, 0x971c, 0x53cc, 0x723d, 0x8c01, 0x6c34, 0x7761,\n    0x7a0e, 0x542e, 0x77ac, 0x987a, 0x821c, 0x8bf4, 0x7855, 0x6714,\n    0x70c1, 0x65af, 0x6495, 0x5636, 0x601d, 0x79c1, 0x53f8, 0x4e1d,\n    0x6b7b, 0x8086, 0x5bfa, 0x55e3, 0x56db, 0x4f3a, 0x4f3c, 0x9972,\n    0x5df3, 0x677e, 0x8038, 0x6002, 0x9882, 0x9001, 0x5b8b, 0x8bbc,\n    0x8bf5, 0x641c, 0x8258, 0x64de, 0x55fd, 0x82cf, 0x9165, 0x4fd7,\n    0x7d20, 0x901f, 0x7c9f, 0x50f3, 0x5851, 0x6eaf, 0x5bbf, 0x8bc9,\n    0x8083, 0x9178, 0x849c, 0x7b97, 0x867d, 0x968b, 0x968f, 0x7ee5,\n    0x9ad3, 0x788e, 0x5c81, 0x7a57, 0x9042, 0x96a7, 0x795f, 0x5b59,\n    0x635f, 0x7b0b, 0x84d1, 0x68ad, 0x5506, 0x7f29, 0x7410, 0x7d22,\n    0x9501, 0x6240, 0x584c, 0x4ed6, 0x5b83, 0x5979, 0x5854, 0x003f,\n    /* lead byte cc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x85f9, 0x85fa, 0x85fc, 0x85fd, 0x85fe, 0x8600, 0x8601, 0x8602,\n    0x8603, 0x8604, 0x8606, 0x8607, 0x8608, 0x8609, 0x860a, 0x860b,\n    0x860c, 0x860d, 0x860e, 0x860f, 0x8610, 0x8612, 0x8613, 0x8614,\n    0x8615, 0x8617, 0x8618, 0x8619, 0x861a, 0x861b, 0x861c, 0x861d,\n    0x861e, 0x861f, 0x8620, 0x8621, 0x8622, 0x8623, 0x8624, 0x8625,\n    0x8626, 0x8628, 0x862a, 0x862b, 0x862c, 0x862d, 0x862e, 0x862f,\n    0x8630, 0x8631, 0x8632, 0x8633, 0x8634, 0x8635, 0x8636, 0x8637,\n    0x8639, 0x863a, 0x863b, 0x863d, 0x863e, 0x863f, 0x8640, 0x003f,\n    0x8641, 0x8642, 0x8643, 0x8644, 0x8645, 0x8646, 0x8647, 0x8648,\n    0x8649, 0x864a, 0x864b, 0x864c, 0x8652, 0x8653, 0x8655, 0x8656,\n    0x8657, 0x8658, 0x8659, 0x865b, 0x865c, 0x865d, 0x865f, 0x8660,\n    0x8661, 0x8663, 0x8664, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669,\n    0x866a, 0x736d, 0x631e, 0x8e4b, 0x8e0f, 0x80ce, 0x82d4, 0x62ac,\n    0x53f0, 0x6cf0, 0x915e, 0x592a, 0x6001, 0x6c70, 0x574d, 0x644a,\n    0x8d2a, 0x762b, 0x6ee9, 0x575b, 0x6a80, 0x75f0, 0x6f6d, 0x8c2d,\n    0x8c08, 0x5766, 0x6bef, 0x8892, 0x78b3, 0x63a2, 0x53f9, 0x70ad,\n    0x6c64, 0x5858, 0x642a, 0x5802, 0x68e0, 0x819b, 0x5510, 0x7cd6,\n    0x5018, 0x8eba, 0x6dcc, 0x8d9f, 0x70eb, 0x638f, 0x6d9b, 0x6ed4,\n    0x7ee6, 0x8404, 0x6843, 0x9003, 0x6dd8, 0x9676, 0x8ba8, 0x5957,\n    0x7279, 0x85e4, 0x817e, 0x75bc, 0x8a8a, 0x68af, 0x5254, 0x8e22,\n    0x9511, 0x63d0, 0x9898, 0x8e44, 0x557c, 0x4f53, 0x66ff, 0x568f,\n    0x60d5, 0x6d95, 0x5243, 0x5c49, 0x5929, 0x6dfb, 0x586b, 0x7530,\n    0x751c, 0x606c, 0x8214, 0x8146, 0x6311, 0x6761, 0x8fe2, 0x773a,\n    0x8df3, 0x8d34, 0x94c1, 0x5e16, 0x5385, 0x542c, 0x70c3, 0x003f,\n    /* lead byte cd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x866d, 0x866f, 0x8670, 0x8672, 0x8673, 0x8674, 0x8675, 0x8676,\n    0x8677, 0x8678, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687, 0x8688,\n    0x8689, 0x868e, 0x868f, 0x8690, 0x8691, 0x8692, 0x8694, 0x8696,\n    0x8697, 0x8698, 0x8699, 0x869a, 0x869b, 0x869e, 0x869f, 0x86a0,\n    0x86a1, 0x86a2, 0x86a5, 0x86a6, 0x86ab, 0x86ad, 0x86ae, 0x86b2,\n    0x86b3, 0x86b7, 0x86b8, 0x86b9, 0x86bb, 0x86bc, 0x86bd, 0x86be,\n    0x86bf, 0x86c1, 0x86c2, 0x86c3, 0x86c5, 0x86c8, 0x86cc, 0x86cd,\n    0x86d2, 0x86d3, 0x86d5, 0x86d6, 0x86d7, 0x86da, 0x86dc, 0x003f,\n    0x86dd, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e5, 0x86e6, 0x86e7,\n    0x86e8, 0x86ea, 0x86eb, 0x86ec, 0x86ef, 0x86f5, 0x86f6, 0x86f7,\n    0x86fa, 0x86fb, 0x86fc, 0x86fd, 0x86ff, 0x8701, 0x8704, 0x8705,\n    0x8706, 0x870b, 0x870c, 0x870e, 0x870f, 0x8710, 0x8711, 0x8714,\n    0x8716, 0x6c40, 0x5ef7, 0x505c, 0x4ead, 0x5ead, 0x633a, 0x8247,\n    0x901a, 0x6850, 0x916e, 0x77b3, 0x540c, 0x94dc, 0x5f64, 0x7ae5,\n    0x6876, 0x6345, 0x7b52, 0x7edf, 0x75db, 0x5077, 0x6295, 0x5934,\n    0x900f, 0x51f8, 0x79c3, 0x7a81, 0x56fe, 0x5f92, 0x9014, 0x6d82,\n    0x5c60, 0x571f, 0x5410, 0x5154, 0x6e4d, 0x56e2, 0x63a8, 0x9893,\n    0x817f, 0x8715, 0x892a, 0x9000, 0x541e, 0x5c6f, 0x81c0, 0x62d6,\n    0x6258, 0x8131, 0x9e35, 0x9640, 0x9a6e, 0x9a7c, 0x692d, 0x59a5,\n    0x62d3, 0x553e, 0x6316, 0x54c7, 0x86d9, 0x6d3c, 0x5a03, 0x74e6,\n    0x889c, 0x6b6a, 0x5916, 0x8c4c, 0x5f2f, 0x6e7e, 0x73a9, 0x987d,\n    0x4e38, 0x70f7, 0x5b8c, 0x7897, 0x633d, 0x665a, 0x7696, 0x60cb,\n    0x5b9b, 0x5a49, 0x4e07, 0x8155, 0x6c6a, 0x738b, 0x4ea1, 0x6789,\n    0x7f51, 0x5f80, 0x65fa, 0x671b, 0x5fd8, 0x5984, 0x5a01, 0x003f,\n    /* lead byte ce */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8719, 0x871b, 0x871d, 0x871f, 0x8720, 0x8724, 0x8726, 0x8727,\n    0x8728, 0x872a, 0x872b, 0x872c, 0x872d, 0x872f, 0x8730, 0x8732,\n    0x8733, 0x8735, 0x8736, 0x8738, 0x8739, 0x873a, 0x873c, 0x873d,\n    0x8740, 0x8741, 0x8742, 0x8743, 0x8744, 0x8745, 0x8746, 0x874a,\n    0x874b, 0x874d, 0x874f, 0x8750, 0x8751, 0x8752, 0x8754, 0x8755,\n    0x8756, 0x8758, 0x875a, 0x875b, 0x875c, 0x875d, 0x875e, 0x875f,\n    0x8761, 0x8762, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b,\n    0x876c, 0x876d, 0x876f, 0x8771, 0x8772, 0x8773, 0x8775, 0x003f,\n    0x8777, 0x8778, 0x8779, 0x877a, 0x877f, 0x8780, 0x8781, 0x8784,\n    0x8786, 0x8787, 0x8789, 0x878a, 0x878c, 0x878e, 0x878f, 0x8790,\n    0x8791, 0x8792, 0x8794, 0x8795, 0x8796, 0x8798, 0x8799, 0x879a,\n    0x879b, 0x879c, 0x879d, 0x879e, 0x87a0, 0x87a1, 0x87a2, 0x87a3,\n    0x87a4, 0x5dcd, 0x5fae, 0x5371, 0x97e6, 0x8fdd, 0x6845, 0x56f4,\n    0x552f, 0x60df, 0x4e3a, 0x6f4d, 0x7ef4, 0x82c7, 0x840e, 0x59d4,\n    0x4f1f, 0x4f2a, 0x5c3e, 0x7eac, 0x672a, 0x851a, 0x5473, 0x754f,\n    0x80c3, 0x5582, 0x9b4f, 0x4f4d, 0x6e2d, 0x8c13, 0x5c09, 0x6170,\n    0x536b, 0x761f, 0x6e29, 0x868a, 0x6587, 0x95fb, 0x7eb9, 0x543b,\n    0x7a33, 0x7d0a, 0x95ee, 0x55e1, 0x7fc1, 0x74ee, 0x631d, 0x8717,\n    0x6da1, 0x7a9d, 0x6211, 0x65a1, 0x5367, 0x63e1, 0x6c83, 0x5deb,\n    0x545c, 0x94a8, 0x4e4c, 0x6c61, 0x8bec, 0x5c4b, 0x65e0, 0x829c,\n    0x68a7, 0x543e, 0x5434, 0x6bcb, 0x6b66, 0x4e94, 0x6342, 0x5348,\n    0x821e, 0x4f0d, 0x4fae, 0x575e, 0x620a, 0x96fe, 0x6664, 0x7269,\n    0x52ff, 0x52a1, 0x609f, 0x8bef, 0x6614, 0x7199, 0x6790, 0x897f,\n    0x7852, 0x77fd, 0x6670, 0x563b, 0x5438, 0x9521, 0x727a, 0x003f,\n    /* lead byte cf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x87a5, 0x87a6, 0x87a7, 0x87a9, 0x87aa, 0x87ae, 0x87b0, 0x87b1,\n    0x87b2, 0x87b4, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87bb, 0x87bc,\n    0x87be, 0x87bf, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c7,\n    0x87c8, 0x87c9, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d4,\n    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87dc, 0x87dd,\n    0x87de, 0x87df, 0x87e1, 0x87e2, 0x87e3, 0x87e4, 0x87e6, 0x87e7,\n    0x87e8, 0x87e9, 0x87eb, 0x87ec, 0x87ed, 0x87ef, 0x87f0, 0x87f1,\n    0x87f2, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x003f,\n    0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87ff, 0x8800, 0x8801, 0x8802,\n    0x8804, 0x8805, 0x8806, 0x8807, 0x8808, 0x8809, 0x880b, 0x880c,\n    0x880d, 0x880e, 0x880f, 0x8810, 0x8811, 0x8812, 0x8814, 0x8817,\n    0x8818, 0x8819, 0x881a, 0x881c, 0x881d, 0x881e, 0x881f, 0x8820,\n    0x8823, 0x7a00, 0x606f, 0x5e0c, 0x6089, 0x819d, 0x5915, 0x60dc,\n    0x7184, 0x70ef, 0x6eaa, 0x6c50, 0x7280, 0x6a84, 0x88ad, 0x5e2d,\n    0x4e60, 0x5ab3, 0x559c, 0x94e3, 0x6d17, 0x7cfb, 0x9699, 0x620f,\n    0x7ec6, 0x778e, 0x867e, 0x5323, 0x971e, 0x8f96, 0x6687, 0x5ce1,\n    0x4fa0, 0x72ed, 0x4e0b, 0x53a6, 0x590f, 0x5413, 0x6380, 0x9528,\n    0x5148, 0x4ed9, 0x9c9c, 0x7ea4, 0x54b8, 0x8d24, 0x8854, 0x8237,\n    0x95f2, 0x6d8e, 0x5f26, 0x5acc, 0x663e, 0x9669, 0x73b0, 0x732e,\n    0x53bf, 0x817a, 0x9985, 0x7fa1, 0x5baa, 0x9677, 0x9650, 0x7ebf,\n    0x76f8, 0x53a2, 0x9576, 0x9999, 0x7bb1, 0x8944, 0x6e58, 0x4e61,\n    0x7fd4, 0x7965, 0x8be6, 0x60f3, 0x54cd, 0x4eab, 0x9879, 0x5df7,\n    0x6a61, 0x50cf, 0x5411, 0x8c61, 0x8427, 0x785d, 0x9704, 0x524a,\n    0x54ee, 0x56a3, 0x9500, 0x6d88, 0x5bb5, 0x6dc6, 0x6653, 0x003f,\n    /* lead byte d0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8824, 0x8825, 0x8826, 0x8827, 0x8828, 0x8829, 0x882a, 0x882b,\n    0x882c, 0x882d, 0x882e, 0x882f, 0x8830, 0x8831, 0x8833, 0x8834,\n    0x8835, 0x8836, 0x8837, 0x8838, 0x883a, 0x883b, 0x883d, 0x883e,\n    0x883f, 0x8841, 0x8842, 0x8843, 0x8846, 0x8847, 0x8848, 0x8849,\n    0x884a, 0x884b, 0x884e, 0x884f, 0x8850, 0x8851, 0x8852, 0x8853,\n    0x8855, 0x8856, 0x8858, 0x885a, 0x885b, 0x885c, 0x885d, 0x885e,\n    0x885f, 0x8860, 0x8866, 0x8867, 0x886a, 0x886d, 0x886f, 0x8871,\n    0x8873, 0x8874, 0x8875, 0x8876, 0x8878, 0x8879, 0x887a, 0x003f,\n    0x887b, 0x887c, 0x8880, 0x8883, 0x8886, 0x8887, 0x8889, 0x888a,\n    0x888c, 0x888e, 0x888f, 0x8890, 0x8891, 0x8893, 0x8894, 0x8895,\n    0x8897, 0x8898, 0x8899, 0x889a, 0x889b, 0x889d, 0x889e, 0x889f,\n    0x88a0, 0x88a1, 0x88a3, 0x88a5, 0x88a6, 0x88a7, 0x88a8, 0x88a9,\n    0x88aa, 0x5c0f, 0x5b5d, 0x6821, 0x8096, 0x5578, 0x7b11, 0x6548,\n    0x6954, 0x4e9b, 0x6b47, 0x874e, 0x978b, 0x534f, 0x631f, 0x643a,\n    0x90aa, 0x659c, 0x80c1, 0x8c10, 0x5199, 0x68b0, 0x5378, 0x87f9,\n    0x61c8, 0x6cc4, 0x6cfb, 0x8c22, 0x5c51, 0x85aa, 0x82af, 0x950c,\n    0x6b23, 0x8f9b, 0x65b0, 0x5ffb, 0x5fc3, 0x4fe1, 0x8845, 0x661f,\n    0x8165, 0x7329, 0x60fa, 0x5174, 0x5211, 0x578b, 0x5f62, 0x90a2,\n    0x884c, 0x9192, 0x5e78, 0x674f, 0x6027, 0x59d3, 0x5144, 0x51f6,\n    0x80f8, 0x5308, 0x6c79, 0x96c4, 0x718a, 0x4f11, 0x4fee, 0x7f9e,\n    0x673d, 0x55c5, 0x9508, 0x79c0, 0x8896, 0x7ee3, 0x589f, 0x620c,\n    0x9700, 0x865a, 0x5618, 0x987b, 0x5f90, 0x8bb8, 0x84c4, 0x9157,\n    0x53d9, 0x65ed, 0x5e8f, 0x755c, 0x6064, 0x7d6e, 0x5a7f, 0x7eea,\n    0x7eed, 0x8f69, 0x55a7, 0x5ba3, 0x60ac, 0x65cb, 0x7384, 0x003f,\n    /* lead byte d1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x88ac, 0x88ae, 0x88af, 0x88b0, 0x88b2, 0x88b3, 0x88b4, 0x88b5,\n    0x88b6, 0x88b8, 0x88b9, 0x88ba, 0x88bb, 0x88bd, 0x88be, 0x88bf,\n    0x88c0, 0x88c3, 0x88c4, 0x88c7, 0x88c8, 0x88ca, 0x88cb, 0x88cc,\n    0x88cd, 0x88cf, 0x88d0, 0x88d1, 0x88d3, 0x88d6, 0x88d7, 0x88da,\n    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88e0, 0x88e1, 0x88e6, 0x88e7,\n    0x88e9, 0x88ea, 0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f2,\n    0x88f5, 0x88f6, 0x88f7, 0x88fa, 0x88fb, 0x88fd, 0x88ff, 0x8900,\n    0x8901, 0x8903, 0x8904, 0x8905, 0x8906, 0x8907, 0x8908, 0x003f,\n    0x8909, 0x890b, 0x890c, 0x890d, 0x890e, 0x890f, 0x8911, 0x8914,\n    0x8915, 0x8916, 0x8917, 0x8918, 0x891c, 0x891d, 0x891e, 0x891f,\n    0x8920, 0x8922, 0x8923, 0x8924, 0x8926, 0x8927, 0x8928, 0x8929,\n    0x892c, 0x892d, 0x892e, 0x892f, 0x8931, 0x8932, 0x8933, 0x8935,\n    0x8937, 0x9009, 0x7663, 0x7729, 0x7eda, 0x9774, 0x859b, 0x5b66,\n    0x7a74, 0x96ea, 0x8840, 0x52cb, 0x718f, 0x5faa, 0x65ec, 0x8be2,\n    0x5bfb, 0x9a6f, 0x5de1, 0x6b89, 0x6c5b, 0x8bad, 0x8baf, 0x900a,\n    0x8fc5, 0x538b, 0x62bc, 0x9e26, 0x9e2d, 0x5440, 0x4e2b, 0x82bd,\n    0x7259, 0x869c, 0x5d16, 0x8859, 0x6daf, 0x96c5, 0x54d1, 0x4e9a,\n    0x8bb6, 0x7109, 0x54bd, 0x9609, 0x70df, 0x6df9, 0x76d0, 0x4e25,\n    0x7814, 0x8712, 0x5ca9, 0x5ef6, 0x8a00, 0x989c, 0x960e, 0x708e,\n    0x6cbf, 0x5944, 0x63a9, 0x773c, 0x884d, 0x6f14, 0x8273, 0x5830,\n    0x71d5, 0x538c, 0x781a, 0x96c1, 0x5501, 0x5f66, 0x7130, 0x5bb4,\n    0x8c1a, 0x9a8c, 0x6b83, 0x592e, 0x9e2f, 0x79e7, 0x6768, 0x626c,\n    0x4f6f, 0x75a1, 0x7f8a, 0x6d0b, 0x9633, 0x6c27, 0x4ef0, 0x75d2,\n    0x517b, 0x6837, 0x6f3e, 0x9080, 0x8170, 0x5996, 0x7476, 0x003f,\n    /* lead byte d2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8938, 0x8939, 0x893a, 0x893b, 0x893c, 0x893d, 0x893e, 0x893f,\n    0x8940, 0x8942, 0x8943, 0x8945, 0x8946, 0x8947, 0x8948, 0x8949,\n    0x894a, 0x894b, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951,\n    0x8952, 0x8953, 0x8954, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959,\n    0x895a, 0x895b, 0x895c, 0x895d, 0x8960, 0x8961, 0x8962, 0x8963,\n    0x8964, 0x8965, 0x8967, 0x8968, 0x8969, 0x896a, 0x896b, 0x896c,\n    0x896d, 0x896e, 0x896f, 0x8970, 0x8971, 0x8972, 0x8973, 0x8974,\n    0x8975, 0x8976, 0x8977, 0x8978, 0x8979, 0x897a, 0x897c, 0x003f,\n    0x897d, 0x897e, 0x8980, 0x8982, 0x8984, 0x8985, 0x8987, 0x8988,\n    0x8989, 0x898a, 0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990,\n    0x8991, 0x8992, 0x8993, 0x8994, 0x8995, 0x8996, 0x8997, 0x8998,\n    0x8999, 0x899a, 0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0,\n    0x89a1, 0x6447, 0x5c27, 0x9065, 0x7a91, 0x8c23, 0x59da, 0x54ac,\n    0x8200, 0x836f, 0x8981, 0x8000, 0x6930, 0x564e, 0x8036, 0x7237,\n    0x91ce, 0x51b6, 0x4e5f, 0x9875, 0x6396, 0x4e1a, 0x53f6, 0x66f3,\n    0x814b, 0x591c, 0x6db2, 0x4e00, 0x58f9, 0x533b, 0x63d6, 0x94f1,\n    0x4f9d, 0x4f0a, 0x8863, 0x9890, 0x5937, 0x9057, 0x79fb, 0x4eea,\n    0x80f0, 0x7591, 0x6c82, 0x5b9c, 0x59e8, 0x5f5d, 0x6905, 0x8681,\n    0x501a, 0x5df2, 0x4e59, 0x77e3, 0x4ee5, 0x827a, 0x6291, 0x6613,\n    0x9091, 0x5c79, 0x4ebf, 0x5f79, 0x81c6, 0x9038, 0x8084, 0x75ab,\n    0x4ea6, 0x88d4, 0x610f, 0x6bc5, 0x5fc6, 0x4e49, 0x76ca, 0x6ea2,\n    0x8be3, 0x8bae, 0x8c0a, 0x8bd1, 0x5f02, 0x7ffc, 0x7fcc, 0x7ece,\n    0x8335, 0x836b, 0x56e0, 0x6bb7, 0x97f3, 0x9634, 0x59fb, 0x541f,\n    0x94f6, 0x6deb, 0x5bc5, 0x996e, 0x5c39, 0x5f15, 0x9690, 0x003f,\n    /* lead byte d3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x89a2, 0x89a3, 0x89a4, 0x89a5, 0x89a6, 0x89a7, 0x89a8, 0x89a9,\n    0x89aa, 0x89ab, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1,\n    0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9,\n    0x89ba, 0x89bb, 0x89bc, 0x89bd, 0x89be, 0x89bf, 0x89c0, 0x89c3,\n    0x89cd, 0x89d3, 0x89d4, 0x89d5, 0x89d7, 0x89d8, 0x89d9, 0x89db,\n    0x89dd, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e4, 0x89e7, 0x89e8,\n    0x89e9, 0x89ea, 0x89ec, 0x89ed, 0x89ee, 0x89f0, 0x89f1, 0x89f2,\n    0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9, 0x89fa, 0x003f,\n    0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x89ff, 0x8a01, 0x8a02, 0x8a03,\n    0x8a04, 0x8a05, 0x8a06, 0x8a08, 0x8a09, 0x8a0a, 0x8a0b, 0x8a0c,\n    0x8a0d, 0x8a0e, 0x8a0f, 0x8a10, 0x8a11, 0x8a12, 0x8a13, 0x8a14,\n    0x8a15, 0x8a16, 0x8a17, 0x8a18, 0x8a19, 0x8a1a, 0x8a1b, 0x8a1c,\n    0x8a1d, 0x5370, 0x82f1, 0x6a31, 0x5a74, 0x9e70, 0x5e94, 0x7f28,\n    0x83b9, 0x8424, 0x8425, 0x8367, 0x8747, 0x8fce, 0x8d62, 0x76c8,\n    0x5f71, 0x9896, 0x786c, 0x6620, 0x54df, 0x62e5, 0x4f63, 0x81c3,\n    0x75c8, 0x5eb8, 0x96cd, 0x8e0a, 0x86f9, 0x548f, 0x6cf3, 0x6d8c,\n    0x6c38, 0x607f, 0x52c7, 0x7528, 0x5e7d, 0x4f18, 0x60a0, 0x5fe7,\n    0x5c24, 0x7531, 0x90ae, 0x94c0, 0x72b9, 0x6cb9, 0x6e38, 0x9149,\n    0x6709, 0x53cb, 0x53f3, 0x4f51, 0x91c9, 0x8bf1, 0x53c8, 0x5e7c,\n    0x8fc2, 0x6de4, 0x4e8e, 0x76c2, 0x6986, 0x865e, 0x611a, 0x8206,\n    0x4f59, 0x4fde, 0x903e, 0x9c7c, 0x6109, 0x6e1d, 0x6e14, 0x9685,\n    0x4e88, 0x5a31, 0x96e8, 0x4e0e, 0x5c7f, 0x79b9, 0x5b87, 0x8bed,\n    0x7fbd, 0x7389, 0x57df, 0x828b, 0x90c1, 0x5401, 0x9047, 0x55bb,\n    0x5cea, 0x5fa1, 0x6108, 0x6b32, 0x72f1, 0x80b2, 0x8a89, 0x003f,\n    /* lead byte d4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8a1e, 0x8a1f, 0x8a20, 0x8a21, 0x8a22, 0x8a23, 0x8a24, 0x8a25,\n    0x8a26, 0x8a27, 0x8a28, 0x8a29, 0x8a2a, 0x8a2b, 0x8a2c, 0x8a2d,\n    0x8a2e, 0x8a2f, 0x8a30, 0x8a31, 0x8a32, 0x8a33, 0x8a34, 0x8a35,\n    0x8a36, 0x8a37, 0x8a38, 0x8a39, 0x8a3a, 0x8a3b, 0x8a3c, 0x8a3d,\n    0x8a3f, 0x8a40, 0x8a41, 0x8a42, 0x8a43, 0x8a44, 0x8a45, 0x8a46,\n    0x8a47, 0x8a49, 0x8a4a, 0x8a4b, 0x8a4c, 0x8a4d, 0x8a4e, 0x8a4f,\n    0x8a50, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,\n    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x003f,\n    0x8a5f, 0x8a60, 0x8a61, 0x8a62, 0x8a63, 0x8a64, 0x8a65, 0x8a66,\n    0x8a67, 0x8a68, 0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e,\n    0x8a6f, 0x8a70, 0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76,\n    0x8a77, 0x8a78, 0x8a7a, 0x8a7b, 0x8a7c, 0x8a7d, 0x8a7e, 0x8a7f,\n    0x8a80, 0x6d74, 0x5bd3, 0x88d5, 0x9884, 0x8c6b, 0x9a6d, 0x9e33,\n    0x6e0a, 0x51a4, 0x5143, 0x57a3, 0x8881, 0x539f, 0x63f4, 0x8f95,\n    0x56ed, 0x5458, 0x5706, 0x733f, 0x6e90, 0x7f18, 0x8fdc, 0x82d1,\n    0x613f, 0x6028, 0x9662, 0x66f0, 0x7ea6, 0x8d8a, 0x8dc3, 0x94a5,\n    0x5cb3, 0x7ca4, 0x6708, 0x60a6, 0x9605, 0x8018, 0x4e91, 0x90e7,\n    0x5300, 0x9668, 0x5141, 0x8fd0, 0x8574, 0x915d, 0x6655, 0x97f5,\n    0x5b55, 0x531d, 0x7838, 0x6742, 0x683d, 0x54c9, 0x707e, 0x5bb0,\n    0x8f7d, 0x518d, 0x5728, 0x54b1, 0x6512, 0x6682, 0x8d5e, 0x8d43,\n    0x810f, 0x846c, 0x906d, 0x7cdf, 0x51ff, 0x85fb, 0x67a3, 0x65e9,\n    0x6fa1, 0x86a4, 0x8e81, 0x566a, 0x9020, 0x7682, 0x7076, 0x71e5,\n    0x8d23, 0x62e9, 0x5219, 0x6cfd, 0x8d3c, 0x600e, 0x589e, 0x618e,\n    0x66fe, 0x8d60, 0x624e, 0x55b3, 0x6e23, 0x672d, 0x8f67, 0x003f,\n    /* lead byte d5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85, 0x8a86, 0x8a87, 0x8a88,\n    0x8a8b, 0x8a8c, 0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92,\n    0x8a94, 0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,\n    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0x8aa0, 0x8aa1, 0x8aa2, 0x8aa3,\n    0x8aa4, 0x8aa5, 0x8aa6, 0x8aa7, 0x8aa8, 0x8aa9, 0x8aaa, 0x8aab,\n    0x8aac, 0x8aad, 0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3,\n    0x8ab4, 0x8ab5, 0x8ab6, 0x8ab7, 0x8ab8, 0x8ab9, 0x8aba, 0x8abb,\n    0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2, 0x003f,\n    0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7, 0x8ac8, 0x8ac9, 0x8aca,\n    0x8acb, 0x8acc, 0x8acd, 0x8ace, 0x8acf, 0x8ad0, 0x8ad1, 0x8ad2,\n    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8, 0x8ad9, 0x8ada,\n    0x8adb, 0x8adc, 0x8add, 0x8ade, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2,\n    0x8ae3, 0x94e1, 0x95f8, 0x7728, 0x6805, 0x69a8, 0x548b, 0x4e4d,\n    0x70b8, 0x8bc8, 0x6458, 0x658b, 0x5b85, 0x7a84, 0x503a, 0x5be8,\n    0x77bb, 0x6be1, 0x8a79, 0x7c98, 0x6cbe, 0x76cf, 0x65a9, 0x8f97,\n    0x5d2d, 0x5c55, 0x8638, 0x6808, 0x5360, 0x6218, 0x7ad9, 0x6e5b,\n    0x7efd, 0x6a1f, 0x7ae0, 0x5f70, 0x6f33, 0x5f20, 0x638c, 0x6da8,\n    0x6756, 0x4e08, 0x5e10, 0x8d26, 0x4ed7, 0x80c0, 0x7634, 0x969c,\n    0x62db, 0x662d, 0x627e, 0x6cbc, 0x8d75, 0x7167, 0x7f69, 0x5146,\n    0x8087, 0x53ec, 0x906e, 0x6298, 0x54f2, 0x86f0, 0x8f99, 0x8005,\n    0x9517, 0x8517, 0x8fd9, 0x6d59, 0x73cd, 0x659f, 0x771f, 0x7504,\n    0x7827, 0x81fb, 0x8d1e, 0x9488, 0x4fa6, 0x6795, 0x75b9, 0x8bca,\n    0x9707, 0x632f, 0x9547, 0x9635, 0x84b8, 0x6323, 0x7741, 0x5f81,\n    0x72f0, 0x4e89, 0x6014, 0x6574, 0x62ef, 0x6b63, 0x653f, 0x003f,\n    /* lead byte d6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb,\n    0x8aec, 0x8aed, 0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3,\n    0x8af4, 0x8af5, 0x8af6, 0x8af7, 0x8af8, 0x8af9, 0x8afa, 0x8afb,\n    0x8afc, 0x8afd, 0x8afe, 0x8aff, 0x8b00, 0x8b01, 0x8b02, 0x8b03,\n    0x8b04, 0x8b05, 0x8b06, 0x8b08, 0x8b09, 0x8b0a, 0x8b0b, 0x8b0c,\n    0x8b0d, 0x8b0e, 0x8b0f, 0x8b10, 0x8b11, 0x8b12, 0x8b13, 0x8b14,\n    0x8b15, 0x8b16, 0x8b17, 0x8b18, 0x8b19, 0x8b1a, 0x8b1b, 0x8b1c,\n    0x8b1d, 0x8b1e, 0x8b1f, 0x8b20, 0x8b21, 0x8b22, 0x8b23, 0x003f,\n    0x8b24, 0x8b25, 0x8b27, 0x8b28, 0x8b29, 0x8b2a, 0x8b2b, 0x8b2c,\n    0x8b2d, 0x8b2e, 0x8b2f, 0x8b30, 0x8b31, 0x8b32, 0x8b33, 0x8b34,\n    0x8b35, 0x8b36, 0x8b37, 0x8b38, 0x8b39, 0x8b3a, 0x8b3b, 0x8b3c,\n    0x8b3d, 0x8b3e, 0x8b3f, 0x8b40, 0x8b41, 0x8b42, 0x8b43, 0x8b44,\n    0x8b45, 0x5e27, 0x75c7, 0x90d1, 0x8bc1, 0x829d, 0x679d, 0x652f,\n    0x5431, 0x8718, 0x77e5, 0x80a2, 0x8102, 0x6c41, 0x4e4b, 0x7ec7,\n    0x804c, 0x76f4, 0x690d, 0x6b96, 0x6267, 0x503c, 0x4f84, 0x5740,\n    0x6307, 0x6b62, 0x8dbe, 0x53ea, 0x65e8, 0x7eb8, 0x5fd7, 0x631a,\n    0x63b7, 0x81f3, 0x81f4, 0x7f6e, 0x5e1c, 0x5cd9, 0x5236, 0x667a,\n    0x79e9, 0x7a1a, 0x8d28, 0x7099, 0x75d4, 0x6ede, 0x6cbb, 0x7a92,\n    0x4e2d, 0x76c5, 0x5fe0, 0x949f, 0x8877, 0x7ec8, 0x79cd, 0x80bf,\n    0x91cd, 0x4ef2, 0x4f17, 0x821f, 0x5468, 0x5dde, 0x6d32, 0x8bcc,\n    0x7ca5, 0x8f74, 0x8098, 0x5e1a, 0x5492, 0x76b1, 0x5b99, 0x663c,\n    0x9aa4, 0x73e0, 0x682a, 0x86db, 0x6731, 0x732a, 0x8bf8, 0x8bdb,\n    0x9010, 0x7af9, 0x70db, 0x716e, 0x62c4, 0x77a9, 0x5631, 0x4e3b,\n    0x8457, 0x67f1, 0x52a9, 0x86c0, 0x8d2e, 0x94f8, 0x7b51, 0x003f,\n    /* lead byte d7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b46, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c, 0x8b4d,\n    0x8b4e, 0x8b4f, 0x8b50, 0x8b51, 0x8b52, 0x8b53, 0x8b54, 0x8b55,\n    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,\n    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,\n    0x8b67, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6d, 0x8b6e, 0x8b6f,\n    0x8b70, 0x8b71, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,\n    0x8b78, 0x8b79, 0x8b7a, 0x8b7b, 0x8b7c, 0x8b7d, 0x8b7e, 0x8b7f,\n    0x8b80, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85, 0x8b86, 0x003f,\n    0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d, 0x8b8e,\n    0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95, 0x8b96,\n    0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d, 0x8b9e,\n    0x8b9f, 0x8bac, 0x8bb1, 0x8bbb, 0x8bc7, 0x8bd0, 0x8bea, 0x8c09,\n    0x8c1e, 0x4f4f, 0x6ce8, 0x795d, 0x9a7b, 0x6293, 0x722a, 0x62fd,\n    0x4e13, 0x7816, 0x8f6c, 0x64b0, 0x8d5a, 0x7bc6, 0x6869, 0x5e84,\n    0x88c5, 0x5986, 0x649e, 0x58ee, 0x72b6, 0x690e, 0x9525, 0x8ffd,\n    0x8d58, 0x5760, 0x7f00, 0x8c06, 0x51c6, 0x6349, 0x62d9, 0x5353,\n    0x684c, 0x7422, 0x8301, 0x914c, 0x5544, 0x7740, 0x707c, 0x6d4a,\n    0x5179, 0x54a8, 0x8d44, 0x59ff, 0x6ecb, 0x6dc4, 0x5b5c, 0x7d2b,\n    0x4ed4, 0x7c7d, 0x6ed3, 0x5b50, 0x81ea, 0x6e0d, 0x5b57, 0x9b03,\n    0x68d5, 0x8e2a, 0x5b97, 0x7efc, 0x603b, 0x7eb5, 0x90b9, 0x8d70,\n    0x594f, 0x63cd, 0x79df, 0x8db3, 0x5352, 0x65cf, 0x7956, 0x8bc5,\n    0x963b, 0x7ec4, 0x94bb, 0x7e82, 0x5634, 0x9189, 0x6700, 0x7f6a,\n    0x5c0a, 0x9075, 0x6628, 0x5de6, 0x4f50, 0x67de, 0x505a, 0x4f5c,\n    0x5750, 0x5ea7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte d8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8c38, 0x8c39, 0x8c3a, 0x8c3b, 0x8c3c, 0x8c3d, 0x8c3e, 0x8c3f,\n    0x8c40, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c48, 0x8c4a, 0x8c4b,\n    0x8c4d, 0x8c4e, 0x8c4f, 0x8c50, 0x8c51, 0x8c52, 0x8c53, 0x8c54,\n    0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5b, 0x8c5c, 0x8c5d, 0x8c5e,\n    0x8c5f, 0x8c60, 0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0x8c68,\n    0x8c69, 0x8c6c, 0x8c6d, 0x8c6e, 0x8c6f, 0x8c70, 0x8c71, 0x8c72,\n    0x8c74, 0x8c75, 0x8c76, 0x8c77, 0x8c7b, 0x8c7c, 0x8c7d, 0x8c7e,\n    0x8c7f, 0x8c80, 0x8c81, 0x8c83, 0x8c84, 0x8c86, 0x8c87, 0x003f,\n    0x8c88, 0x8c8b, 0x8c8d, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92,\n    0x8c93, 0x8c95, 0x8c96, 0x8c97, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,\n    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,\n    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0x8ca9, 0x8caa, 0x8cab, 0x8cac,\n    0x8cad, 0x4e8d, 0x4e0c, 0x5140, 0x4e10, 0x5eff, 0x5345, 0x4e15,\n    0x4e98, 0x4e1e, 0x9b32, 0x5b6c, 0x5669, 0x4e28, 0x79ba, 0x4e3f,\n    0x5315, 0x4e47, 0x592d, 0x723b, 0x536e, 0x6c10, 0x56df, 0x80e4,\n    0x9997, 0x6bd3, 0x777e, 0x9f17, 0x4e36, 0x4e9f, 0x9f10, 0x4e5c,\n    0x4e69, 0x4e93, 0x8288, 0x5b5b, 0x556c, 0x560f, 0x4ec4, 0x538d,\n    0x539d, 0x53a3, 0x53a5, 0x53ae, 0x9765, 0x8d5d, 0x531a, 0x53f5,\n    0x5326, 0x532e, 0x533e, 0x8d5c, 0x5366, 0x5363, 0x5202, 0x5208,\n    0x520e, 0x522d, 0x5233, 0x523f, 0x5240, 0x524c, 0x525e, 0x5261,\n    0x525c, 0x84af, 0x527d, 0x5282, 0x5281, 0x5290, 0x5293, 0x5182,\n    0x7f54, 0x4ebb, 0x4ec3, 0x4ec9, 0x4ec2, 0x4ee8, 0x4ee1, 0x4eeb,\n    0x4ede, 0x4f1b, 0x4ef3, 0x4f22, 0x4f64, 0x4ef5, 0x4f25, 0x4f27,\n    0x4f09, 0x4f2b, 0x4f5e, 0x4f67, 0x6538, 0x4f5a, 0x4f5d, 0x003f,\n    /* lead byte d9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2, 0x8cb3, 0x8cb4, 0x8cb5,\n    0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba, 0x8cbb, 0x8cbc, 0x8cbd,\n    0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2, 0x8cc3, 0x8cc4, 0x8cc5,\n    0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca, 0x8ccb, 0x8ccc, 0x8ccd,\n    0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2, 0x8cd3, 0x8cd4, 0x8cd5,\n    0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0x8cdb, 0x8cdc, 0x8cdd,\n    0x8cde, 0x8cdf, 0x8ce0, 0x8ce1, 0x8ce2, 0x8ce3, 0x8ce4, 0x8ce5,\n    0x8ce6, 0x8ce7, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec, 0x003f,\n    0x8ced, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3, 0x8cf4,\n    0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb, 0x8cfc,\n    0x8cfd, 0x8cfe, 0x8cff, 0x8d00, 0x8d01, 0x8d02, 0x8d03, 0x8d04,\n    0x8d05, 0x8d06, 0x8d07, 0x8d08, 0x8d09, 0x8d0a, 0x8d0b, 0x8d0c,\n    0x8d0d, 0x4f5f, 0x4f57, 0x4f32, 0x4f3d, 0x4f76, 0x4f74, 0x4f91,\n    0x4f89, 0x4f83, 0x4f8f, 0x4f7e, 0x4f7b, 0x4faa, 0x4f7c, 0x4fac,\n    0x4f94, 0x4fe6, 0x4fe8, 0x4fea, 0x4fc5, 0x4fda, 0x4fe3, 0x4fdc,\n    0x4fd1, 0x4fdf, 0x4ff8, 0x5029, 0x504c, 0x4ff3, 0x502c, 0x500f,\n    0x502e, 0x502d, 0x4ffe, 0x501c, 0x500c, 0x5025, 0x5028, 0x507e,\n    0x5043, 0x5055, 0x5048, 0x504e, 0x506c, 0x507b, 0x50a5, 0x50a7,\n    0x50a9, 0x50ba, 0x50d6, 0x5106, 0x50ed, 0x50ec, 0x50e6, 0x50ee,\n    0x5107, 0x510b, 0x4edd, 0x6c3d, 0x4f58, 0x4f65, 0x4fce, 0x9fa0,\n    0x6c46, 0x7c74, 0x516e, 0x5dfd, 0x9ec9, 0x9998, 0x5181, 0x5914,\n    0x52f9, 0x530d, 0x8a07, 0x5310, 0x51eb, 0x5919, 0x5155, 0x4ea0,\n    0x5156, 0x4eb3, 0x886e, 0x88a4, 0x4eb5, 0x8114, 0x88d2, 0x7980,\n    0x5b34, 0x8803, 0x7fb8, 0x51ab, 0x51b1, 0x51bd, 0x51bc, 0x003f,\n    /* lead byte da */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8d0e, 0x8d0f, 0x8d10, 0x8d11, 0x8d12, 0x8d13, 0x8d14, 0x8d15,\n    0x8d16, 0x8d17, 0x8d18, 0x8d19, 0x8d1a, 0x8d1b, 0x8d1c, 0x8d20,\n    0x8d51, 0x8d52, 0x8d57, 0x8d5f, 0x8d65, 0x8d68, 0x8d69, 0x8d6a,\n    0x8d6c, 0x8d6e, 0x8d6f, 0x8d71, 0x8d72, 0x8d78, 0x8d79, 0x8d7a,\n    0x8d7b, 0x8d7c, 0x8d7d, 0x8d7e, 0x8d7f, 0x8d80, 0x8d82, 0x8d83,\n    0x8d86, 0x8d87, 0x8d88, 0x8d89, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f,\n    0x8d90, 0x8d92, 0x8d93, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99,\n    0x8d9a, 0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8da0, 0x8da1, 0x003f,\n    0x8da2, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,\n    0x8dab, 0x8dac, 0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db2, 0x8db6,\n    0x8db7, 0x8db9, 0x8dbb, 0x8dbd, 0x8dc0, 0x8dc1, 0x8dc2, 0x8dc5,\n    0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcd, 0x8dd0, 0x8dd2, 0x8dd3,\n    0x8dd4, 0x51c7, 0x5196, 0x51a2, 0x51a5, 0x8ba0, 0x8ba6, 0x8ba7,\n    0x8baa, 0x8bb4, 0x8bb5, 0x8bb7, 0x8bc2, 0x8bc3, 0x8bcb, 0x8bcf,\n    0x8bce, 0x8bd2, 0x8bd3, 0x8bd4, 0x8bd6, 0x8bd8, 0x8bd9, 0x8bdc,\n    0x8bdf, 0x8be0, 0x8be4, 0x8be8, 0x8be9, 0x8bee, 0x8bf0, 0x8bf3,\n    0x8bf6, 0x8bf9, 0x8bfc, 0x8bff, 0x8c00, 0x8c02, 0x8c04, 0x8c07,\n    0x8c0c, 0x8c0f, 0x8c11, 0x8c12, 0x8c14, 0x8c15, 0x8c16, 0x8c19,\n    0x8c1b, 0x8c18, 0x8c1d, 0x8c1f, 0x8c20, 0x8c21, 0x8c25, 0x8c27,\n    0x8c2a, 0x8c2b, 0x8c2e, 0x8c2f, 0x8c32, 0x8c33, 0x8c35, 0x8c36,\n    0x5369, 0x537a, 0x961d, 0x9622, 0x9621, 0x9631, 0x962a, 0x963d,\n    0x963c, 0x9642, 0x9649, 0x9654, 0x965f, 0x9667, 0x966c, 0x9672,\n    0x9674, 0x9688, 0x968d, 0x9697, 0x96b0, 0x9097, 0x909b, 0x909d,\n    0x9099, 0x90ac, 0x90a1, 0x90b4, 0x90b3, 0x90b6, 0x90ba, 0x003f,\n    /* lead byte db */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8dd5, 0x8dd8, 0x8dd9, 0x8ddc, 0x8de0, 0x8de1, 0x8de2, 0x8de5,\n    0x8de6, 0x8de7, 0x8de9, 0x8ded, 0x8dee, 0x8df0, 0x8df1, 0x8df2,\n    0x8df4, 0x8df6, 0x8dfc, 0x8dfe, 0x8dff, 0x8e00, 0x8e01, 0x8e02,\n    0x8e03, 0x8e04, 0x8e06, 0x8e07, 0x8e08, 0x8e0b, 0x8e0d, 0x8e0e,\n    0x8e10, 0x8e11, 0x8e12, 0x8e13, 0x8e15, 0x8e16, 0x8e17, 0x8e18,\n    0x8e19, 0x8e1a, 0x8e1b, 0x8e1c, 0x8e20, 0x8e21, 0x8e24, 0x8e25,\n    0x8e26, 0x8e27, 0x8e28, 0x8e2b, 0x8e2d, 0x8e30, 0x8e32, 0x8e33,\n    0x8e34, 0x8e36, 0x8e37, 0x8e38, 0x8e3b, 0x8e3c, 0x8e3e, 0x003f,\n    0x8e3f, 0x8e43, 0x8e45, 0x8e46, 0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f,\n    0x8e50, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58, 0x8e5a,\n    0x8e5b, 0x8e5c, 0x8e5d, 0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62,\n    0x8e63, 0x8e64, 0x8e65, 0x8e67, 0x8e68, 0x8e6a, 0x8e6b, 0x8e6e,\n    0x8e71, 0x90b8, 0x90b0, 0x90cf, 0x90c5, 0x90be, 0x90d0, 0x90c4,\n    0x90c7, 0x90d3, 0x90e6, 0x90e2, 0x90dc, 0x90d7, 0x90db, 0x90eb,\n    0x90ef, 0x90fe, 0x9104, 0x9122, 0x911e, 0x9123, 0x9131, 0x912f,\n    0x9139, 0x9143, 0x9146, 0x520d, 0x5942, 0x52a2, 0x52ac, 0x52ad,\n    0x52be, 0x54ff, 0x52d0, 0x52d6, 0x52f0, 0x53df, 0x71ee, 0x77cd,\n    0x5ef4, 0x51f5, 0x51fc, 0x9b2f, 0x53b6, 0x5f01, 0x755a, 0x5def,\n    0x574c, 0x57a9, 0x57a1, 0x587e, 0x58bc, 0x58c5, 0x58d1, 0x5729,\n    0x572c, 0x572a, 0x5733, 0x5739, 0x572e, 0x572f, 0x575c, 0x573b,\n    0x5742, 0x5769, 0x5785, 0x576b, 0x5786, 0x577c, 0x577b, 0x5768,\n    0x576d, 0x5776, 0x5773, 0x57ad, 0x57a4, 0x578c, 0x57b2, 0x57cf,\n    0x57a7, 0x57b4, 0x5793, 0x57a0, 0x57d5, 0x57d8, 0x57da, 0x57d9,\n    0x57d2, 0x57b8, 0x57f4, 0x57ef, 0x57f8, 0x57e4, 0x57dd, 0x003f,\n    /* lead byte dc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8e73, 0x8e75, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e7b, 0x8e7d,\n    0x8e7e, 0x8e80, 0x8e82, 0x8e83, 0x8e84, 0x8e86, 0x8e88, 0x8e89,\n    0x8e8a, 0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0x8e91, 0x8e92, 0x8e93,\n    0x8e95, 0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0x8e9d,\n    0x8e9f, 0x8ea0, 0x8ea1, 0x8ea2, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6,\n    0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8ead, 0x8eae, 0x8eb0, 0x8eb1,\n    0x8eb3, 0x8eb4, 0x8eb5, 0x8eb6, 0x8eb7, 0x8eb8, 0x8eb9, 0x8ebb,\n    0x8ebc, 0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0x8ec1, 0x8ec2, 0x003f,\n    0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9, 0x8eca,\n    0x8ecb, 0x8ecc, 0x8ecd, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3,\n    0x8ed4, 0x8ed5, 0x8ed6, 0x8ed7, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,\n    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0x8ee0, 0x8ee1, 0x8ee2, 0x8ee3,\n    0x8ee4, 0x580b, 0x580d, 0x57fd, 0x57ed, 0x5800, 0x581e, 0x5819,\n    0x5844, 0x5820, 0x5865, 0x586c, 0x5881, 0x5889, 0x589a, 0x5880,\n    0x99a8, 0x9f19, 0x61ff, 0x8279, 0x827d, 0x827f, 0x828f, 0x828a,\n    0x82a8, 0x8284, 0x828e, 0x8291, 0x8297, 0x8299, 0x82ab, 0x82b8,\n    0x82be, 0x82b0, 0x82c8, 0x82ca, 0x82e3, 0x8298, 0x82b7, 0x82ae,\n    0x82cb, 0x82cc, 0x82c1, 0x82a9, 0x82b4, 0x82a1, 0x82aa, 0x829f,\n    0x82c4, 0x82ce, 0x82a4, 0x82e1, 0x8309, 0x82f7, 0x82e4, 0x830f,\n    0x8307, 0x82dc, 0x82f4, 0x82d2, 0x82d8, 0x830c, 0x82fb, 0x82d3,\n    0x8311, 0x831a, 0x8306, 0x8314, 0x8315, 0x82e0, 0x82d5, 0x831c,\n    0x8351, 0x835b, 0x835c, 0x8308, 0x8392, 0x833c, 0x8334, 0x8331,\n    0x839b, 0x835e, 0x832f, 0x834f, 0x8347, 0x8343, 0x835f, 0x8340,\n    0x8317, 0x8360, 0x832d, 0x833a, 0x8333, 0x8366, 0x8365, 0x003f,\n    /* lead byte dd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0x8eec,\n    0x8eed, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3, 0x8ef4,\n    0x8ef5, 0x8ef6, 0x8ef7, 0x8ef8, 0x8ef9, 0x8efa, 0x8efb, 0x8efc,\n    0x8efd, 0x8efe, 0x8eff, 0x8f00, 0x8f01, 0x8f02, 0x8f03, 0x8f04,\n    0x8f05, 0x8f06, 0x8f07, 0x8f08, 0x8f09, 0x8f0a, 0x8f0b, 0x8f0c,\n    0x8f0d, 0x8f0e, 0x8f0f, 0x8f10, 0x8f11, 0x8f12, 0x8f13, 0x8f14,\n    0x8f15, 0x8f16, 0x8f17, 0x8f18, 0x8f19, 0x8f1a, 0x8f1b, 0x8f1c,\n    0x8f1d, 0x8f1e, 0x8f1f, 0x8f20, 0x8f21, 0x8f22, 0x8f23, 0x003f,\n    0x8f24, 0x8f25, 0x8f26, 0x8f27, 0x8f28, 0x8f29, 0x8f2a, 0x8f2b,\n    0x8f2c, 0x8f2d, 0x8f2e, 0x8f2f, 0x8f30, 0x8f31, 0x8f32, 0x8f33,\n    0x8f34, 0x8f35, 0x8f36, 0x8f37, 0x8f38, 0x8f39, 0x8f3a, 0x8f3b,\n    0x8f3c, 0x8f3d, 0x8f3e, 0x8f3f, 0x8f40, 0x8f41, 0x8f42, 0x8f43,\n    0x8f44, 0x8368, 0x831b, 0x8369, 0x836c, 0x836a, 0x836d, 0x836e,\n    0x83b0, 0x8378, 0x83b3, 0x83b4, 0x83a0, 0x83aa, 0x8393, 0x839c,\n    0x8385, 0x837c, 0x83b6, 0x83a9, 0x837d, 0x83b8, 0x837b, 0x8398,\n    0x839e, 0x83a8, 0x83ba, 0x83bc, 0x83c1, 0x8401, 0x83e5, 0x83d8,\n    0x5807, 0x8418, 0x840b, 0x83dd, 0x83fd, 0x83d6, 0x841c, 0x8438,\n    0x8411, 0x8406, 0x83d4, 0x83df, 0x840f, 0x8403, 0x83f8, 0x83f9,\n    0x83ea, 0x83c5, 0x83c0, 0x8426, 0x83f0, 0x83e1, 0x845c, 0x8451,\n    0x845a, 0x8459, 0x8473, 0x8487, 0x8488, 0x847a, 0x8489, 0x8478,\n    0x843c, 0x8446, 0x8469, 0x8476, 0x848c, 0x848e, 0x8431, 0x846d,\n    0x84c1, 0x84cd, 0x84d0, 0x84e6, 0x84bd, 0x84d3, 0x84ca, 0x84bf,\n    0x84ba, 0x84e0, 0x84a1, 0x84b9, 0x84b4, 0x8497, 0x84e5, 0x84e3,\n    0x850c, 0x750d, 0x8538, 0x84f0, 0x8539, 0x851f, 0x853a, 0x003f,\n    /* lead byte de */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8f45, 0x8f46, 0x8f47, 0x8f48, 0x8f49, 0x8f4a, 0x8f4b, 0x8f4c,\n    0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52, 0x8f53, 0x8f54,\n    0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a, 0x8f5b, 0x8f5c,\n    0x8f5d, 0x8f5e, 0x8f5f, 0x8f60, 0x8f61, 0x8f62, 0x8f63, 0x8f64,\n    0x8f65, 0x8f6a, 0x8f80, 0x8f8c, 0x8f92, 0x8f9d, 0x8fa0, 0x8fa1,\n    0x8fa2, 0x8fa4, 0x8fa5, 0x8fa6, 0x8fa7, 0x8faa, 0x8fac, 0x8fad,\n    0x8fae, 0x8faf, 0x8fb2, 0x8fb3, 0x8fb4, 0x8fb5, 0x8fb7, 0x8fb8,\n    0x8fba, 0x8fbb, 0x8fbc, 0x8fbf, 0x8fc0, 0x8fc3, 0x8fc6, 0x003f,\n    0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fcf, 0x8fd2, 0x8fd6,\n    0x8fd7, 0x8fda, 0x8fe0, 0x8fe1, 0x8fe3, 0x8fe7, 0x8fec, 0x8fef,\n    0x8ff1, 0x8ff2, 0x8ff4, 0x8ff5, 0x8ff6, 0x8ffa, 0x8ffb, 0x8ffc,\n    0x8ffe, 0x8fff, 0x9007, 0x9008, 0x900c, 0x900e, 0x9013, 0x9015,\n    0x9018, 0x8556, 0x853b, 0x84ff, 0x84fc, 0x8559, 0x8548, 0x8568,\n    0x8564, 0x855e, 0x857a, 0x77a2, 0x8543, 0x8572, 0x857b, 0x85a4,\n    0x85a8, 0x8587, 0x858f, 0x8579, 0x85ae, 0x859c, 0x8585, 0x85b9,\n    0x85b7, 0x85b0, 0x85d3, 0x85c1, 0x85dc, 0x85ff, 0x8627, 0x8605,\n    0x8629, 0x8616, 0x863c, 0x5efe, 0x5f08, 0x593c, 0x5941, 0x8037,\n    0x5955, 0x595a, 0x5958, 0x530f, 0x5c22, 0x5c25, 0x5c2c, 0x5c34,\n    0x624c, 0x626a, 0x629f, 0x62bb, 0x62ca, 0x62da, 0x62d7, 0x62ee,\n    0x6322, 0x62f6, 0x6339, 0x634b, 0x6343, 0x63ad, 0x63f6, 0x6371,\n    0x637a, 0x638e, 0x63b4, 0x636d, 0x63ac, 0x638a, 0x6369, 0x63ae,\n    0x63bc, 0x63f2, 0x63f8, 0x63e0, 0x63ff, 0x63c4, 0x63de, 0x63ce,\n    0x6452, 0x63c6, 0x63be, 0x6445, 0x6441, 0x640b, 0x641b, 0x6420,\n    0x640c, 0x6426, 0x6421, 0x645e, 0x6484, 0x646d, 0x6496, 0x003f,\n    /* lead byte df */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9019, 0x901c, 0x9023, 0x9024, 0x9025, 0x9027, 0x9028, 0x9029,\n    0x902a, 0x902b, 0x902c, 0x9030, 0x9031, 0x9032, 0x9033, 0x9034,\n    0x9037, 0x9039, 0x903a, 0x903d, 0x903f, 0x9040, 0x9043, 0x9045,\n    0x9046, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c, 0x904e, 0x9054,\n    0x9055, 0x9056, 0x9059, 0x905a, 0x905c, 0x905d, 0x905e, 0x905f,\n    0x9060, 0x9061, 0x9064, 0x9066, 0x9067, 0x9069, 0x906a, 0x906b,\n    0x906c, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073, 0x9076, 0x9077,\n    0x9078, 0x9079, 0x907a, 0x907b, 0x907c, 0x907e, 0x9081, 0x003f,\n    0x9084, 0x9085, 0x9086, 0x9087, 0x9089, 0x908a, 0x908c, 0x908d,\n    0x908e, 0x908f, 0x9090, 0x9092, 0x9094, 0x9096, 0x9098, 0x909a,\n    0x909c, 0x909e, 0x909f, 0x90a0, 0x90a4, 0x90a5, 0x90a7, 0x90a8,\n    0x90a9, 0x90ab, 0x90ad, 0x90b2, 0x90b7, 0x90bc, 0x90bd, 0x90bf,\n    0x90c0, 0x647a, 0x64b7, 0x64b8, 0x6499, 0x64ba, 0x64c0, 0x64d0,\n    0x64d7, 0x64e4, 0x64e2, 0x6509, 0x6525, 0x652e, 0x5f0b, 0x5fd2,\n    0x7519, 0x5f11, 0x535f, 0x53f1, 0x53fd, 0x53e9, 0x53e8, 0x53fb,\n    0x5412, 0x5416, 0x5406, 0x544b, 0x5452, 0x5453, 0x5454, 0x5456,\n    0x5443, 0x5421, 0x5457, 0x5459, 0x5423, 0x5432, 0x5482, 0x5494,\n    0x5477, 0x5471, 0x5464, 0x549a, 0x549b, 0x5484, 0x5476, 0x5466,\n    0x549d, 0x54d0, 0x54ad, 0x54c2, 0x54b4, 0x54d2, 0x54a7, 0x54a6,\n    0x54d3, 0x54d4, 0x5472, 0x54a3, 0x54d5, 0x54bb, 0x54bf, 0x54cc,\n    0x54d9, 0x54da, 0x54dc, 0x54a9, 0x54aa, 0x54a4, 0x54dd, 0x54cf,\n    0x54de, 0x551b, 0x54e7, 0x5520, 0x54fd, 0x5514, 0x54f3, 0x5522,\n    0x5523, 0x550f, 0x5511, 0x5527, 0x552a, 0x5567, 0x558f, 0x55b5,\n    0x5549, 0x556d, 0x5541, 0x5555, 0x553f, 0x5550, 0x553c, 0x003f,\n    /* lead byte e0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x90c2, 0x90c3, 0x90c6, 0x90c8, 0x90c9, 0x90cb, 0x90cc, 0x90cd,\n    0x90d2, 0x90d4, 0x90d5, 0x90d6, 0x90d8, 0x90d9, 0x90da, 0x90de,\n    0x90df, 0x90e0, 0x90e3, 0x90e4, 0x90e5, 0x90e9, 0x90ea, 0x90ec,\n    0x90ee, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f5, 0x90f6, 0x90f7,\n    0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90ff, 0x9100, 0x9101, 0x9103,\n    0x9105, 0x9106, 0x9107, 0x9108, 0x9109, 0x910a, 0x910b, 0x910c,\n    0x910d, 0x910e, 0x910f, 0x9110, 0x9111, 0x9112, 0x9113, 0x9114,\n    0x9115, 0x9116, 0x9117, 0x9118, 0x911a, 0x911b, 0x911c, 0x003f,\n    0x911d, 0x911f, 0x9120, 0x9121, 0x9124, 0x9125, 0x9126, 0x9127,\n    0x9128, 0x9129, 0x912a, 0x912b, 0x912c, 0x912d, 0x912e, 0x9130,\n    0x9132, 0x9133, 0x9134, 0x9135, 0x9136, 0x9137, 0x9138, 0x913a,\n    0x913b, 0x913c, 0x913d, 0x913e, 0x913f, 0x9140, 0x9141, 0x9142,\n    0x9144, 0x5537, 0x5556, 0x5575, 0x5576, 0x5577, 0x5533, 0x5530,\n    0x555c, 0x558b, 0x55d2, 0x5583, 0x55b1, 0x55b9, 0x5588, 0x5581,\n    0x559f, 0x557e, 0x55d6, 0x5591, 0x557b, 0x55df, 0x55bd, 0x55be,\n    0x5594, 0x5599, 0x55ea, 0x55f7, 0x55c9, 0x561f, 0x55d1, 0x55eb,\n    0x55ec, 0x55d4, 0x55e6, 0x55dd, 0x55c4, 0x55ef, 0x55e5, 0x55f2,\n    0x55f3, 0x55cc, 0x55cd, 0x55e8, 0x55f5, 0x55e4, 0x8f94, 0x561e,\n    0x5608, 0x560c, 0x5601, 0x5624, 0x5623, 0x55fe, 0x5600, 0x5627,\n    0x562d, 0x5658, 0x5639, 0x5657, 0x562c, 0x564d, 0x5662, 0x5659,\n    0x565c, 0x564c, 0x5654, 0x5686, 0x5664, 0x5671, 0x566b, 0x567b,\n    0x567c, 0x5685, 0x5693, 0x56af, 0x56d4, 0x56d7, 0x56dd, 0x56e1,\n    0x56f5, 0x56eb, 0x56f9, 0x56ff, 0x5704, 0x570a, 0x5709, 0x571c,\n    0x5e0f, 0x5e19, 0x5e14, 0x5e11, 0x5e31, 0x5e3b, 0x5e3c, 0x003f,\n    /* lead byte e1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9145, 0x9147, 0x9148, 0x9151, 0x9153, 0x9154, 0x9155, 0x9156,\n    0x9158, 0x9159, 0x915b, 0x915c, 0x915f, 0x9160, 0x9166, 0x9167,\n    0x9168, 0x916b, 0x916d, 0x9173, 0x917a, 0x917b, 0x917c, 0x9180,\n    0x9181, 0x9182, 0x9183, 0x9184, 0x9186, 0x9188, 0x918a, 0x918e,\n    0x918f, 0x9193, 0x9194, 0x9195, 0x9196, 0x9197, 0x9198, 0x9199,\n    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0x91a4, 0x91a5,\n    0x91a6, 0x91a7, 0x91a8, 0x91a9, 0x91ab, 0x91ac, 0x91b0, 0x91b1,\n    0x91b2, 0x91b3, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91bb, 0x003f,\n    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0x91c2, 0x91c3,\n    0x91c4, 0x91c5, 0x91c6, 0x91c8, 0x91cb, 0x91d0, 0x91d2, 0x91d3,\n    0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0x91d9, 0x91da, 0x91db,\n    0x91dd, 0x91de, 0x91df, 0x91e0, 0x91e1, 0x91e2, 0x91e3, 0x91e4,\n    0x91e5, 0x5e37, 0x5e44, 0x5e54, 0x5e5b, 0x5e5e, 0x5e61, 0x5c8c,\n    0x5c7a, 0x5c8d, 0x5c90, 0x5c96, 0x5c88, 0x5c98, 0x5c99, 0x5c91,\n    0x5c9a, 0x5c9c, 0x5cb5, 0x5ca2, 0x5cbd, 0x5cac, 0x5cab, 0x5cb1,\n    0x5ca3, 0x5cc1, 0x5cb7, 0x5cc4, 0x5cd2, 0x5ce4, 0x5ccb, 0x5ce5,\n    0x5d02, 0x5d03, 0x5d27, 0x5d26, 0x5d2e, 0x5d24, 0x5d1e, 0x5d06,\n    0x5d1b, 0x5d58, 0x5d3e, 0x5d34, 0x5d3d, 0x5d6c, 0x5d5b, 0x5d6f,\n    0x5d5d, 0x5d6b, 0x5d4b, 0x5d4a, 0x5d69, 0x5d74, 0x5d82, 0x5d99,\n    0x5d9d, 0x8c73, 0x5db7, 0x5dc5, 0x5f73, 0x5f77, 0x5f82, 0x5f87,\n    0x5f89, 0x5f8c, 0x5f95, 0x5f99, 0x5f9c, 0x5fa8, 0x5fad, 0x5fb5,\n    0x5fbc, 0x8862, 0x5f61, 0x72ad, 0x72b0, 0x72b4, 0x72b7, 0x72b8,\n    0x72c3, 0x72c1, 0x72ce, 0x72cd, 0x72d2, 0x72e8, 0x72ef, 0x72e9,\n    0x72f2, 0x72f4, 0x72f7, 0x7301, 0x72f3, 0x7303, 0x72fa, 0x003f,\n    /* lead byte e2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x91e6, 0x91e7, 0x91e8, 0x91e9, 0x91ea, 0x91eb, 0x91ec, 0x91ed,\n    0x91ee, 0x91ef, 0x91f0, 0x91f1, 0x91f2, 0x91f3, 0x91f4, 0x91f5,\n    0x91f6, 0x91f7, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd,\n    0x91fe, 0x91ff, 0x9200, 0x9201, 0x9202, 0x9203, 0x9204, 0x9205,\n    0x9206, 0x9207, 0x9208, 0x9209, 0x920a, 0x920b, 0x920c, 0x920d,\n    0x920e, 0x920f, 0x9210, 0x9211, 0x9212, 0x9213, 0x9214, 0x9215,\n    0x9216, 0x9217, 0x9218, 0x9219, 0x921a, 0x921b, 0x921c, 0x921d,\n    0x921e, 0x921f, 0x9220, 0x9221, 0x9222, 0x9223, 0x9224, 0x003f,\n    0x9225, 0x9226, 0x9227, 0x9228, 0x9229, 0x922a, 0x922b, 0x922c,\n    0x922d, 0x922e, 0x922f, 0x9230, 0x9231, 0x9232, 0x9233, 0x9234,\n    0x9235, 0x9236, 0x9237, 0x9238, 0x9239, 0x923a, 0x923b, 0x923c,\n    0x923d, 0x923e, 0x923f, 0x9240, 0x9241, 0x9242, 0x9243, 0x9244,\n    0x9245, 0x72fb, 0x7317, 0x7313, 0x7321, 0x730a, 0x731e, 0x731d,\n    0x7315, 0x7322, 0x7339, 0x7325, 0x732c, 0x7338, 0x7331, 0x7350,\n    0x734d, 0x7357, 0x7360, 0x736c, 0x736f, 0x737e, 0x821b, 0x5925,\n    0x98e7, 0x5924, 0x5902, 0x9963, 0x9967, 0x9968, 0x9969, 0x996a,\n    0x996b, 0x996c, 0x9974, 0x9977, 0x997d, 0x9980, 0x9984, 0x9987,\n    0x998a, 0x998d, 0x9990, 0x9991, 0x9993, 0x9994, 0x9995, 0x5e80,\n    0x5e91, 0x5e8b, 0x5e96, 0x5ea5, 0x5ea0, 0x5eb9, 0x5eb5, 0x5ebe,\n    0x5eb3, 0x8d53, 0x5ed2, 0x5ed1, 0x5edb, 0x5ee8, 0x5eea, 0x81ba,\n    0x5fc4, 0x5fc9, 0x5fd6, 0x5fcf, 0x6003, 0x5fee, 0x6004, 0x5fe1,\n    0x5fe4, 0x5ffe, 0x6005, 0x6006, 0x5fea, 0x5fed, 0x5ff8, 0x6019,\n    0x6035, 0x6026, 0x601b, 0x600f, 0x600d, 0x6029, 0x602b, 0x600a,\n    0x603f, 0x6021, 0x6078, 0x6079, 0x607b, 0x607a, 0x6042, 0x003f,\n    /* lead byte e3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9246, 0x9247, 0x9248, 0x9249, 0x924a, 0x924b, 0x924c, 0x924d,\n    0x924e, 0x924f, 0x9250, 0x9251, 0x9252, 0x9253, 0x9254, 0x9255,\n    0x9256, 0x9257, 0x9258, 0x9259, 0x925a, 0x925b, 0x925c, 0x925d,\n    0x925e, 0x925f, 0x9260, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,\n    0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b, 0x926c, 0x926d,\n    0x926e, 0x926f, 0x9270, 0x9271, 0x9272, 0x9273, 0x9275, 0x9276,\n    0x9277, 0x9278, 0x9279, 0x927a, 0x927b, 0x927c, 0x927d, 0x927e,\n    0x927f, 0x9280, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x003f,\n    0x9286, 0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d,\n    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,\n    0x9297, 0x9298, 0x9299, 0x929a, 0x929b, 0x929c, 0x929d, 0x929e,\n    0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3, 0x92a4, 0x92a5, 0x92a6,\n    0x92a7, 0x606a, 0x607d, 0x6096, 0x609a, 0x60ad, 0x609d, 0x6083,\n    0x6092, 0x608c, 0x609b, 0x60ec, 0x60bb, 0x60b1, 0x60dd, 0x60d8,\n    0x60c6, 0x60da, 0x60b4, 0x6120, 0x6126, 0x6115, 0x6123, 0x60f4,\n    0x6100, 0x610e, 0x612b, 0x614a, 0x6175, 0x61ac, 0x6194, 0x61a7,\n    0x61b7, 0x61d4, 0x61f5, 0x5fdd, 0x96b3, 0x95e9, 0x95eb, 0x95f1,\n    0x95f3, 0x95f5, 0x95f6, 0x95fc, 0x95fe, 0x9603, 0x9604, 0x9606,\n    0x9608, 0x960a, 0x960b, 0x960c, 0x960d, 0x960f, 0x9612, 0x9615,\n    0x9616, 0x9617, 0x9619, 0x961a, 0x4e2c, 0x723f, 0x6215, 0x6c35,\n    0x6c54, 0x6c5c, 0x6c4a, 0x6ca3, 0x6c85, 0x6c90, 0x6c94, 0x6c8c,\n    0x6c68, 0x6c69, 0x6c74, 0x6c76, 0x6c86, 0x6ca9, 0x6cd0, 0x6cd4,\n    0x6cad, 0x6cf7, 0x6cf8, 0x6cf1, 0x6cd7, 0x6cb2, 0x6ce0, 0x6cd6,\n    0x6cfa, 0x6ceb, 0x6cee, 0x6cb1, 0x6cd3, 0x6cef, 0x6cfe, 0x003f,\n    /* lead byte e4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x92a8, 0x92a9, 0x92aa, 0x92ab, 0x92ac, 0x92ad, 0x92af, 0x92b0,\n    0x92b1, 0x92b2, 0x92b3, 0x92b4, 0x92b5, 0x92b6, 0x92b7, 0x92b8,\n    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0x92bd, 0x92be, 0x92bf, 0x92c0,\n    0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c9,\n    0x92ca, 0x92cb, 0x92cc, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1,\n    0x92d2, 0x92d3, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0x92d8, 0x92d9,\n    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,\n    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x003f,\n    0x92e9, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,\n    0x92f1, 0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8,\n    0x92f9, 0x92fa, 0x92fb, 0x92fc, 0x92fd, 0x92fe, 0x92ff, 0x9300,\n    0x9301, 0x9302, 0x9303, 0x9304, 0x9305, 0x9306, 0x9307, 0x9308,\n    0x9309, 0x6d39, 0x6d27, 0x6d0c, 0x6d43, 0x6d48, 0x6d07, 0x6d04,\n    0x6d19, 0x6d0e, 0x6d2b, 0x6d4d, 0x6d2e, 0x6d35, 0x6d1a, 0x6d4f,\n    0x6d52, 0x6d54, 0x6d33, 0x6d91, 0x6d6f, 0x6d9e, 0x6da0, 0x6d5e,\n    0x6d93, 0x6d94, 0x6d5c, 0x6d60, 0x6d7c, 0x6d63, 0x6e1a, 0x6dc7,\n    0x6dc5, 0x6dde, 0x6e0e, 0x6dbf, 0x6de0, 0x6e11, 0x6de6, 0x6ddd,\n    0x6dd9, 0x6e16, 0x6dab, 0x6e0c, 0x6dae, 0x6e2b, 0x6e6e, 0x6e4e,\n    0x6e6b, 0x6eb2, 0x6e5f, 0x6e86, 0x6e53, 0x6e54, 0x6e32, 0x6e25,\n    0x6e44, 0x6edf, 0x6eb1, 0x6e98, 0x6ee0, 0x6f2d, 0x6ee2, 0x6ea5,\n    0x6ea7, 0x6ebd, 0x6ebb, 0x6eb7, 0x6ed7, 0x6eb4, 0x6ecf, 0x6e8f,\n    0x6ec2, 0x6e9f, 0x6f62, 0x6f46, 0x6f47, 0x6f24, 0x6f15, 0x6ef9,\n    0x6f2f, 0x6f36, 0x6f4b, 0x6f74, 0x6f2a, 0x6f09, 0x6f29, 0x6f89,\n    0x6f8d, 0x6f8c, 0x6f78, 0x6f72, 0x6f7c, 0x6f7a, 0x6fd1, 0x003f,\n    /* lead byte e5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x930a, 0x930b, 0x930c, 0x930d, 0x930e, 0x930f, 0x9310, 0x9311,\n    0x9312, 0x9313, 0x9314, 0x9315, 0x9316, 0x9317, 0x9318, 0x9319,\n    0x931a, 0x931b, 0x931c, 0x931d, 0x931e, 0x931f, 0x9320, 0x9321,\n    0x9322, 0x9323, 0x9324, 0x9325, 0x9326, 0x9327, 0x9328, 0x9329,\n    0x932a, 0x932b, 0x932c, 0x932d, 0x932e, 0x932f, 0x9330, 0x9331,\n    0x9332, 0x9333, 0x9334, 0x9335, 0x9336, 0x9337, 0x9338, 0x9339,\n    0x933a, 0x933b, 0x933c, 0x933d, 0x933f, 0x9340, 0x9341, 0x9342,\n    0x9343, 0x9344, 0x9345, 0x9346, 0x9347, 0x9348, 0x9349, 0x003f,\n    0x934a, 0x934b, 0x934c, 0x934d, 0x934e, 0x934f, 0x9350, 0x9351,\n    0x9352, 0x9353, 0x9354, 0x9355, 0x9356, 0x9357, 0x9358, 0x9359,\n    0x935a, 0x935b, 0x935c, 0x935d, 0x935e, 0x935f, 0x9360, 0x9361,\n    0x9362, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,\n    0x936b, 0x6fc9, 0x6fa7, 0x6fb9, 0x6fb6, 0x6fc2, 0x6fe1, 0x6fee,\n    0x6fde, 0x6fe0, 0x6fef, 0x701a, 0x7023, 0x701b, 0x7039, 0x7035,\n    0x704f, 0x705e, 0x5b80, 0x5b84, 0x5b95, 0x5b93, 0x5ba5, 0x5bb8,\n    0x752f, 0x9a9e, 0x6434, 0x5be4, 0x5bee, 0x8930, 0x5bf0, 0x8e47,\n    0x8b07, 0x8fb6, 0x8fd3, 0x8fd5, 0x8fe5, 0x8fee, 0x8fe4, 0x8fe9,\n    0x8fe6, 0x8ff3, 0x8fe8, 0x9005, 0x9004, 0x900b, 0x9026, 0x9011,\n    0x900d, 0x9016, 0x9021, 0x9035, 0x9036, 0x902d, 0x902f, 0x9044,\n    0x9051, 0x9052, 0x9050, 0x9068, 0x9058, 0x9062, 0x905b, 0x66b9,\n    0x9074, 0x907d, 0x9082, 0x9088, 0x9083, 0x908b, 0x5f50, 0x5f57,\n    0x5f56, 0x5f58, 0x5c3b, 0x54ab, 0x5c50, 0x5c59, 0x5b71, 0x5c63,\n    0x5c66, 0x7fbc, 0x5f2a, 0x5f29, 0x5f2d, 0x8274, 0x5f3c, 0x9b3b,\n    0x5c6e, 0x5981, 0x5983, 0x598d, 0x59a9, 0x59aa, 0x59a3, 0x003f,\n    /* lead byte e6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x936c, 0x936d, 0x936e, 0x936f, 0x9370, 0x9371, 0x9372, 0x9373,\n    0x9374, 0x9375, 0x9376, 0x9377, 0x9378, 0x9379, 0x937a, 0x937b,\n    0x937c, 0x937d, 0x937e, 0x937f, 0x9380, 0x9381, 0x9382, 0x9383,\n    0x9384, 0x9385, 0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b,\n    0x938c, 0x938d, 0x938e, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394,\n    0x9395, 0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c,\n    0x939d, 0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4,\n    0x93a5, 0x93a6, 0x93a7, 0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x003f,\n    0x93ac, 0x93ad, 0x93ae, 0x93af, 0x93b0, 0x93b1, 0x93b2, 0x93b3,\n    0x93b4, 0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb,\n    0x93bc, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3,\n    0x93c4, 0x93c5, 0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93cb, 0x93cc,\n    0x93cd, 0x5997, 0x59ca, 0x59ab, 0x599e, 0x59a4, 0x59d2, 0x59b2,\n    0x59af, 0x59d7, 0x59be, 0x5a05, 0x5a06, 0x59dd, 0x5a08, 0x59e3,\n    0x59d8, 0x59f9, 0x5a0c, 0x5a09, 0x5a32, 0x5a34, 0x5a11, 0x5a23,\n    0x5a13, 0x5a40, 0x5a67, 0x5a4a, 0x5a55, 0x5a3c, 0x5a62, 0x5a75,\n    0x80ec, 0x5aaa, 0x5a9b, 0x5a77, 0x5a7a, 0x5abe, 0x5aeb, 0x5ab2,\n    0x5ad2, 0x5ad4, 0x5ab8, 0x5ae0, 0x5ae3, 0x5af1, 0x5ad6, 0x5ae6,\n    0x5ad8, 0x5adc, 0x5b09, 0x5b17, 0x5b16, 0x5b32, 0x5b37, 0x5b40,\n    0x5c15, 0x5c1c, 0x5b5a, 0x5b65, 0x5b73, 0x5b51, 0x5b53, 0x5b62,\n    0x9a75, 0x9a77, 0x9a78, 0x9a7a, 0x9a7f, 0x9a7d, 0x9a80, 0x9a81,\n    0x9a85, 0x9a88, 0x9a8a, 0x9a90, 0x9a92, 0x9a93, 0x9a96, 0x9a98,\n    0x9a9b, 0x9a9c, 0x9a9d, 0x9a9f, 0x9aa0, 0x9aa2, 0x9aa3, 0x9aa5,\n    0x9aa7, 0x7e9f, 0x7ea1, 0x7ea3, 0x7ea5, 0x7ea8, 0x7ea9, 0x003f,\n    /* lead byte e7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x93ce, 0x93cf, 0x93d0, 0x93d1, 0x93d2, 0x93d3, 0x93d4, 0x93d5,\n    0x93d7, 0x93d8, 0x93d9, 0x93da, 0x93db, 0x93dc, 0x93dd, 0x93de,\n    0x93df, 0x93e0, 0x93e1, 0x93e2, 0x93e3, 0x93e4, 0x93e5, 0x93e6,\n    0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed, 0x93ee,\n    0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6,\n    0x93f7, 0x93f8, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0x93fd, 0x93fe,\n    0x93ff, 0x9400, 0x9401, 0x9402, 0x9403, 0x9404, 0x9405, 0x9406,\n    0x9407, 0x9408, 0x9409, 0x940a, 0x940b, 0x940c, 0x940d, 0x003f,\n    0x940e, 0x940f, 0x9410, 0x9411, 0x9412, 0x9413, 0x9414, 0x9415,\n    0x9416, 0x9417, 0x9418, 0x9419, 0x941a, 0x941b, 0x941c, 0x941d,\n    0x941e, 0x941f, 0x9420, 0x9421, 0x9422, 0x9423, 0x9424, 0x9425,\n    0x9426, 0x9427, 0x9428, 0x9429, 0x942a, 0x942b, 0x942c, 0x942d,\n    0x942e, 0x7ead, 0x7eb0, 0x7ebe, 0x7ec0, 0x7ec1, 0x7ec2, 0x7ec9,\n    0x7ecb, 0x7ecc, 0x7ed0, 0x7ed4, 0x7ed7, 0x7edb, 0x7ee0, 0x7ee1,\n    0x7ee8, 0x7eeb, 0x7eee, 0x7eef, 0x7ef1, 0x7ef2, 0x7f0d, 0x7ef6,\n    0x7efa, 0x7efb, 0x7efe, 0x7f01, 0x7f02, 0x7f03, 0x7f07, 0x7f08,\n    0x7f0b, 0x7f0c, 0x7f0f, 0x7f11, 0x7f12, 0x7f17, 0x7f19, 0x7f1c,\n    0x7f1b, 0x7f1f, 0x7f21, 0x7f22, 0x7f23, 0x7f24, 0x7f25, 0x7f26,\n    0x7f27, 0x7f2a, 0x7f2b, 0x7f2c, 0x7f2d, 0x7f2f, 0x7f30, 0x7f31,\n    0x7f32, 0x7f33, 0x7f35, 0x5e7a, 0x757f, 0x5ddb, 0x753e, 0x9095,\n    0x738e, 0x7391, 0x73ae, 0x73a2, 0x739f, 0x73cf, 0x73c2, 0x73d1,\n    0x73b7, 0x73b3, 0x73c0, 0x73c9, 0x73c8, 0x73e5, 0x73d9, 0x987c,\n    0x740a, 0x73e9, 0x73e7, 0x73de, 0x73ba, 0x73f2, 0x740f, 0x742a,\n    0x745b, 0x7426, 0x7425, 0x7428, 0x7430, 0x742e, 0x742c, 0x003f,\n    /* lead byte e8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x942f, 0x9430, 0x9431, 0x9432, 0x9433, 0x9434, 0x9435, 0x9436,\n    0x9437, 0x9438, 0x9439, 0x943a, 0x943b, 0x943c, 0x943d, 0x943f,\n    0x9440, 0x9441, 0x9442, 0x9443, 0x9444, 0x9445, 0x9446, 0x9447,\n    0x9448, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f,\n    0x9450, 0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457,\n    0x9458, 0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f,\n    0x9460, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,\n    0x9468, 0x9469, 0x946a, 0x946c, 0x946d, 0x946e, 0x946f, 0x003f,\n    0x9470, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477,\n    0x9478, 0x9479, 0x947a, 0x947b, 0x947c, 0x947d, 0x947e, 0x947f,\n    0x9480, 0x9481, 0x9482, 0x9483, 0x9484, 0x9491, 0x9496, 0x9498,\n    0x94c7, 0x94cf, 0x94d3, 0x94d4, 0x94da, 0x94e6, 0x94fb, 0x951c,\n    0x9520, 0x741b, 0x741a, 0x7441, 0x745c, 0x7457, 0x7455, 0x7459,\n    0x7477, 0x746d, 0x747e, 0x749c, 0x748e, 0x7480, 0x7481, 0x7487,\n    0x748b, 0x749e, 0x74a8, 0x74a9, 0x7490, 0x74a7, 0x74d2, 0x74ba,\n    0x97ea, 0x97eb, 0x97ec, 0x674c, 0x6753, 0x675e, 0x6748, 0x6769,\n    0x67a5, 0x6787, 0x676a, 0x6773, 0x6798, 0x67a7, 0x6775, 0x67a8,\n    0x679e, 0x67ad, 0x678b, 0x6777, 0x677c, 0x67f0, 0x6809, 0x67d8,\n    0x680a, 0x67e9, 0x67b0, 0x680c, 0x67d9, 0x67b5, 0x67da, 0x67b3,\n    0x67dd, 0x6800, 0x67c3, 0x67b8, 0x67e2, 0x680e, 0x67c1, 0x67fd,\n    0x6832, 0x6833, 0x6860, 0x6861, 0x684e, 0x6862, 0x6844, 0x6864,\n    0x6883, 0x681d, 0x6855, 0x6866, 0x6841, 0x6867, 0x6840, 0x683e,\n    0x684a, 0x6849, 0x6829, 0x68b5, 0x688f, 0x6874, 0x6877, 0x6893,\n    0x686b, 0x68c2, 0x696e, 0x68fc, 0x691f, 0x6920, 0x68f9, 0x003f,\n    /* lead byte e9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9527, 0x9533, 0x953d, 0x9543, 0x9548, 0x954b, 0x9555, 0x955a,\n    0x9560, 0x956e, 0x9574, 0x9575, 0x9577, 0x9578, 0x9579, 0x957a,\n    0x957b, 0x957c, 0x957d, 0x957e, 0x9580, 0x9581, 0x9582, 0x9583,\n    0x9584, 0x9585, 0x9586, 0x9587, 0x9588, 0x9589, 0x958a, 0x958b,\n    0x958c, 0x958d, 0x958e, 0x958f, 0x9590, 0x9591, 0x9592, 0x9593,\n    0x9594, 0x9595, 0x9596, 0x9597, 0x9598, 0x9599, 0x959a, 0x959b,\n    0x959c, 0x959d, 0x959e, 0x959f, 0x95a0, 0x95a1, 0x95a2, 0x95a3,\n    0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0x95aa, 0x003f,\n    0x95ab, 0x95ac, 0x95ad, 0x95ae, 0x95af, 0x95b0, 0x95b1, 0x95b2,\n    0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0x95b8, 0x95b9, 0x95ba,\n    0x95bb, 0x95bc, 0x95bd, 0x95be, 0x95bf, 0x95c0, 0x95c1, 0x95c2,\n    0x95c3, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0x95ca,\n    0x95cb, 0x6924, 0x68f0, 0x690b, 0x6901, 0x6957, 0x68e3, 0x6910,\n    0x6971, 0x6939, 0x6960, 0x6942, 0x695d, 0x6984, 0x696b, 0x6980,\n    0x6998, 0x6978, 0x6934, 0x69cc, 0x6987, 0x6988, 0x69ce, 0x6989,\n    0x6966, 0x6963, 0x6979, 0x699b, 0x69a7, 0x69bb, 0x69ab, 0x69ad,\n    0x69d4, 0x69b1, 0x69c1, 0x69ca, 0x69df, 0x6995, 0x69e0, 0x698d,\n    0x69ff, 0x6a2f, 0x69ed, 0x6a17, 0x6a18, 0x6a65, 0x69f2, 0x6a44,\n    0x6a3e, 0x6aa0, 0x6a50, 0x6a5b, 0x6a35, 0x6a8e, 0x6a79, 0x6a3d,\n    0x6a28, 0x6a58, 0x6a7c, 0x6a91, 0x6a90, 0x6aa9, 0x6a97, 0x6aab,\n    0x7337, 0x7352, 0x6b81, 0x6b82, 0x6b87, 0x6b84, 0x6b92, 0x6b93,\n    0x6b8d, 0x6b9a, 0x6b9b, 0x6ba1, 0x6baa, 0x8f6b, 0x8f6d, 0x8f71,\n    0x8f72, 0x8f73, 0x8f75, 0x8f76, 0x8f78, 0x8f77, 0x8f79, 0x8f7a,\n    0x8f7c, 0x8f7e, 0x8f81, 0x8f82, 0x8f84, 0x8f87, 0x8f8b, 0x003f,\n    /* lead byte ea */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2, 0x95d3,\n    0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da, 0x95db,\n    0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2, 0x95e3,\n    0x95e4, 0x95e5, 0x95e6, 0x95e7, 0x95ec, 0x95ff, 0x9607, 0x9613,\n    0x9618, 0x961b, 0x961e, 0x9620, 0x9623, 0x9624, 0x9625, 0x9626,\n    0x9627, 0x9628, 0x9629, 0x962b, 0x962c, 0x962d, 0x962f, 0x9630,\n    0x9637, 0x9638, 0x9639, 0x963a, 0x963e, 0x9641, 0x9643, 0x964a,\n    0x964e, 0x964f, 0x9651, 0x9652, 0x9653, 0x9656, 0x9657, 0x003f,\n    0x9658, 0x9659, 0x965a, 0x965c, 0x965d, 0x965e, 0x9660, 0x9663,\n    0x9665, 0x9666, 0x966b, 0x966d, 0x966e, 0x966f, 0x9670, 0x9671,\n    0x9673, 0x9678, 0x9679, 0x967a, 0x967b, 0x967c, 0x967d, 0x967e,\n    0x967f, 0x9680, 0x9681, 0x9682, 0x9683, 0x9684, 0x9687, 0x9689,\n    0x968a, 0x8f8d, 0x8f8e, 0x8f8f, 0x8f98, 0x8f9a, 0x8ece, 0x620b,\n    0x6217, 0x621b, 0x621f, 0x6222, 0x6221, 0x6225, 0x6224, 0x622c,\n    0x81e7, 0x74ef, 0x74f4, 0x74ff, 0x750f, 0x7511, 0x7513, 0x6534,\n    0x65ee, 0x65ef, 0x65f0, 0x660a, 0x6619, 0x6772, 0x6603, 0x6615,\n    0x6600, 0x7085, 0x66f7, 0x661d, 0x6634, 0x6631, 0x6636, 0x6635,\n    0x8006, 0x665f, 0x6654, 0x6641, 0x664f, 0x6656, 0x6661, 0x6657,\n    0x6677, 0x6684, 0x668c, 0x66a7, 0x669d, 0x66be, 0x66db, 0x66dc,\n    0x66e6, 0x66e9, 0x8d32, 0x8d33, 0x8d36, 0x8d3b, 0x8d3d, 0x8d40,\n    0x8d45, 0x8d46, 0x8d48, 0x8d49, 0x8d47, 0x8d4d, 0x8d55, 0x8d59,\n    0x89c7, 0x89ca, 0x89cb, 0x89cc, 0x89ce, 0x89cf, 0x89d0, 0x89d1,\n    0x726e, 0x729f, 0x725d, 0x7266, 0x726f, 0x727e, 0x727f, 0x7284,\n    0x728b, 0x728d, 0x728f, 0x7292, 0x6308, 0x6332, 0x63b0, 0x003f,\n    /* lead byte eb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x968c, 0x968e, 0x9691, 0x9692, 0x9693, 0x9695, 0x9696, 0x969a,\n    0x969b, 0x969d, 0x969e, 0x969f, 0x96a0, 0x96a1, 0x96a2, 0x96a3,\n    0x96a4, 0x96a5, 0x96a6, 0x96a8, 0x96a9, 0x96aa, 0x96ab, 0x96ac,\n    0x96ad, 0x96ae, 0x96af, 0x96b1, 0x96b2, 0x96b4, 0x96b5, 0x96b7,\n    0x96b8, 0x96ba, 0x96bb, 0x96bf, 0x96c2, 0x96c3, 0x96c8, 0x96ca,\n    0x96cb, 0x96d0, 0x96d1, 0x96d3, 0x96d4, 0x96d6, 0x96d7, 0x96d8,\n    0x96d9, 0x96da, 0x96db, 0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e1,\n    0x96e2, 0x96e3, 0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96eb, 0x003f,\n    0x96ec, 0x96ed, 0x96ee, 0x96f0, 0x96f1, 0x96f2, 0x96f4, 0x96f5,\n    0x96f8, 0x96fa, 0x96fb, 0x96fc, 0x96fd, 0x96ff, 0x9702, 0x9703,\n    0x9705, 0x970a, 0x970b, 0x970c, 0x9710, 0x9711, 0x9712, 0x9714,\n    0x9715, 0x9717, 0x9718, 0x9719, 0x971a, 0x971b, 0x971d, 0x971f,\n    0x9720, 0x643f, 0x64d8, 0x8004, 0x6bea, 0x6bf3, 0x6bfd, 0x6bf5,\n    0x6bf9, 0x6c05, 0x6c07, 0x6c06, 0x6c0d, 0x6c15, 0x6c18, 0x6c19,\n    0x6c1a, 0x6c21, 0x6c29, 0x6c24, 0x6c2a, 0x6c32, 0x6535, 0x6555,\n    0x656b, 0x724d, 0x7252, 0x7256, 0x7230, 0x8662, 0x5216, 0x809f,\n    0x809c, 0x8093, 0x80bc, 0x670a, 0x80bd, 0x80b1, 0x80ab, 0x80ad,\n    0x80b4, 0x80b7, 0x80e7, 0x80e8, 0x80e9, 0x80ea, 0x80db, 0x80c2,\n    0x80c4, 0x80d9, 0x80cd, 0x80d7, 0x6710, 0x80dd, 0x80eb, 0x80f1,\n    0x80f4, 0x80ed, 0x810d, 0x810e, 0x80f2, 0x80fc, 0x6715, 0x8112,\n    0x8c5a, 0x8136, 0x811e, 0x812c, 0x8118, 0x8132, 0x8148, 0x814c,\n    0x8153, 0x8174, 0x8159, 0x815a, 0x8171, 0x8160, 0x8169, 0x817c,\n    0x817d, 0x816d, 0x8167, 0x584d, 0x5ab5, 0x8188, 0x8182, 0x8191,\n    0x6ed5, 0x81a3, 0x81aa, 0x81cc, 0x6726, 0x81ca, 0x81bb, 0x003f,\n    /* lead byte ec */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9721, 0x9722, 0x9723, 0x9724, 0x9725, 0x9726, 0x9727, 0x9728,\n    0x9729, 0x972b, 0x972c, 0x972e, 0x972f, 0x9731, 0x9733, 0x9734,\n    0x9735, 0x9736, 0x9737, 0x973a, 0x973b, 0x973c, 0x973d, 0x973f,\n    0x9740, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745, 0x9746, 0x9747,\n    0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d, 0x974e, 0x974f,\n    0x9750, 0x9751, 0x9754, 0x9755, 0x9757, 0x9758, 0x975a, 0x975c,\n    0x975d, 0x975f, 0x9763, 0x9764, 0x9766, 0x9767, 0x9768, 0x976a,\n    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x003f,\n    0x9772, 0x9775, 0x9777, 0x9778, 0x9779, 0x977a, 0x977b, 0x977d,\n    0x977e, 0x977f, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9786,\n    0x9787, 0x9788, 0x9789, 0x978a, 0x978c, 0x978e, 0x978f, 0x9790,\n    0x9793, 0x9795, 0x9796, 0x9797, 0x9799, 0x979a, 0x979b, 0x979c,\n    0x979d, 0x81c1, 0x81a6, 0x6b24, 0x6b37, 0x6b39, 0x6b43, 0x6b46,\n    0x6b59, 0x98d1, 0x98d2, 0x98d3, 0x98d5, 0x98d9, 0x98da, 0x6bb3,\n    0x5f40, 0x6bc2, 0x89f3, 0x6590, 0x9f51, 0x6593, 0x65bc, 0x65c6,\n    0x65c4, 0x65c3, 0x65cc, 0x65ce, 0x65d2, 0x65d6, 0x7080, 0x709c,\n    0x7096, 0x709d, 0x70bb, 0x70c0, 0x70b7, 0x70ab, 0x70b1, 0x70e8,\n    0x70ca, 0x7110, 0x7113, 0x7116, 0x712f, 0x7131, 0x7173, 0x715c,\n    0x7168, 0x7145, 0x7172, 0x714a, 0x7178, 0x717a, 0x7198, 0x71b3,\n    0x71b5, 0x71a8, 0x71a0, 0x71e0, 0x71d4, 0x71e7, 0x71f9, 0x721d,\n    0x7228, 0x706c, 0x7118, 0x7166, 0x71b9, 0x623e, 0x623d, 0x6243,\n    0x6248, 0x6249, 0x793b, 0x7940, 0x7946, 0x7949, 0x795b, 0x795c,\n    0x7953, 0x795a, 0x7962, 0x7957, 0x7960, 0x796f, 0x7967, 0x797a,\n    0x7985, 0x798a, 0x799a, 0x79a7, 0x79b3, 0x5fd1, 0x5fd0, 0x003f,\n    /* lead byte ed */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x979e, 0x979f, 0x97a1, 0x97a2, 0x97a4, 0x97a5, 0x97a6, 0x97a7,\n    0x97a8, 0x97a9, 0x97aa, 0x97ac, 0x97ae, 0x97b0, 0x97b1, 0x97b3,\n    0x97b5, 0x97b6, 0x97b7, 0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc,\n    0x97bd, 0x97be, 0x97bf, 0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4,\n    0x97c5, 0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc,\n    0x97cd, 0x97ce, 0x97cf, 0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4,\n    0x97d5, 0x97d6, 0x97d7, 0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc,\n    0x97dd, 0x97de, 0x97df, 0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x003f,\n    0x97e4, 0x97e5, 0x97e8, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2,\n    0x97f4, 0x97f7, 0x97f8, 0x97f9, 0x97fa, 0x97fb, 0x97fc, 0x97fd,\n    0x97fe, 0x97ff, 0x9800, 0x9801, 0x9802, 0x9803, 0x9804, 0x9805,\n    0x9806, 0x9807, 0x9808, 0x9809, 0x980a, 0x980b, 0x980c, 0x980d,\n    0x980e, 0x603c, 0x605d, 0x605a, 0x6067, 0x6041, 0x6059, 0x6063,\n    0x60ab, 0x6106, 0x610d, 0x615d, 0x61a9, 0x619d, 0x61cb, 0x61d1,\n    0x6206, 0x8080, 0x807f, 0x6c93, 0x6cf6, 0x6dfc, 0x77f6, 0x77f8,\n    0x7800, 0x7809, 0x7817, 0x7818, 0x7811, 0x65ab, 0x782d, 0x781c,\n    0x781d, 0x7839, 0x783a, 0x783b, 0x781f, 0x783c, 0x7825, 0x782c,\n    0x7823, 0x7829, 0x784e, 0x786d, 0x7856, 0x7857, 0x7826, 0x7850,\n    0x7847, 0x784c, 0x786a, 0x789b, 0x7893, 0x789a, 0x7887, 0x789c,\n    0x78a1, 0x78a3, 0x78b2, 0x78b9, 0x78a5, 0x78d4, 0x78d9, 0x78c9,\n    0x78ec, 0x78f2, 0x7905, 0x78f4, 0x7913, 0x7924, 0x791e, 0x7934,\n    0x9f9b, 0x9ef9, 0x9efb, 0x9efc, 0x76f1, 0x7704, 0x770d, 0x76f9,\n    0x7707, 0x7708, 0x771a, 0x7722, 0x7719, 0x772d, 0x7726, 0x7735,\n    0x7738, 0x7750, 0x7751, 0x7747, 0x7743, 0x775a, 0x7768, 0x003f,\n    /* lead byte ee */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x980f, 0x9810, 0x9811, 0x9812, 0x9813, 0x9814, 0x9815, 0x9816,\n    0x9817, 0x9818, 0x9819, 0x981a, 0x981b, 0x981c, 0x981d, 0x981e,\n    0x981f, 0x9820, 0x9821, 0x9822, 0x9823, 0x9824, 0x9825, 0x9826,\n    0x9827, 0x9828, 0x9829, 0x982a, 0x982b, 0x982c, 0x982d, 0x982e,\n    0x982f, 0x9830, 0x9831, 0x9832, 0x9833, 0x9834, 0x9835, 0x9836,\n    0x9837, 0x9838, 0x9839, 0x983a, 0x983b, 0x983c, 0x983d, 0x983e,\n    0x983f, 0x9840, 0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846,\n    0x9847, 0x9848, 0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x003f,\n    0x984e, 0x984f, 0x9850, 0x9851, 0x9852, 0x9853, 0x9854, 0x9855,\n    0x9856, 0x9857, 0x9858, 0x9859, 0x985a, 0x985b, 0x985c, 0x985d,\n    0x985e, 0x985f, 0x9860, 0x9861, 0x9862, 0x9863, 0x9864, 0x9865,\n    0x9866, 0x9867, 0x9868, 0x9869, 0x986a, 0x986b, 0x986c, 0x986d,\n    0x986e, 0x7762, 0x7765, 0x777f, 0x778d, 0x777d, 0x7780, 0x778c,\n    0x7791, 0x779f, 0x77a0, 0x77b0, 0x77b5, 0x77bd, 0x753a, 0x7540,\n    0x754e, 0x754b, 0x7548, 0x755b, 0x7572, 0x7579, 0x7583, 0x7f58,\n    0x7f61, 0x7f5f, 0x8a48, 0x7f68, 0x7f74, 0x7f71, 0x7f79, 0x7f81,\n    0x7f7e, 0x76cd, 0x76e5, 0x8832, 0x9485, 0x9486, 0x9487, 0x948b,\n    0x948a, 0x948c, 0x948d, 0x948f, 0x9490, 0x9494, 0x9497, 0x9495,\n    0x949a, 0x949b, 0x949c, 0x94a3, 0x94a4, 0x94ab, 0x94aa, 0x94ad,\n    0x94ac, 0x94af, 0x94b0, 0x94b2, 0x94b4, 0x94b6, 0x94b7, 0x94b8,\n    0x94b9, 0x94ba, 0x94bc, 0x94bd, 0x94bf, 0x94c4, 0x94c8, 0x94c9,\n    0x94ca, 0x94cb, 0x94cc, 0x94cd, 0x94ce, 0x94d0, 0x94d1, 0x94d2,\n    0x94d5, 0x94d6, 0x94d7, 0x94d9, 0x94d8, 0x94db, 0x94de, 0x94df,\n    0x94e0, 0x94e2, 0x94e4, 0x94e5, 0x94e7, 0x94e8, 0x94ea, 0x003f,\n    /* lead byte ef */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x986f, 0x9870, 0x9871, 0x9872, 0x9873, 0x9874, 0x988b, 0x988e,\n    0x9892, 0x9895, 0x9899, 0x98a3, 0x98a8, 0x98a9, 0x98aa, 0x98ab,\n    0x98ac, 0x98ad, 0x98ae, 0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3,\n    0x98b4, 0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb,\n    0x98bc, 0x98bd, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,\n    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0x98cb,\n    0x98cc, 0x98cd, 0x98cf, 0x98d0, 0x98d4, 0x98d6, 0x98d7, 0x98db,\n    0x98dc, 0x98dd, 0x98e0, 0x98e1, 0x98e2, 0x98e3, 0x98e4, 0x003f,\n    0x98e5, 0x98e6, 0x98e9, 0x98ea, 0x98eb, 0x98ec, 0x98ed, 0x98ee,\n    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,\n    0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd, 0x98fe,\n    0x98ff, 0x9900, 0x9901, 0x9902, 0x9903, 0x9904, 0x9905, 0x9906,\n    0x9907, 0x94e9, 0x94eb, 0x94ee, 0x94ef, 0x94f3, 0x94f4, 0x94f5,\n    0x94f7, 0x94f9, 0x94fc, 0x94fd, 0x94ff, 0x9503, 0x9502, 0x9506,\n    0x9507, 0x9509, 0x950a, 0x950d, 0x950e, 0x950f, 0x9512, 0x9513,\n    0x9514, 0x9515, 0x9516, 0x9518, 0x951b, 0x951d, 0x951e, 0x951f,\n    0x9522, 0x952a, 0x952b, 0x9529, 0x952c, 0x9531, 0x9532, 0x9534,\n    0x9536, 0x9537, 0x9538, 0x953c, 0x953e, 0x953f, 0x9542, 0x9535,\n    0x9544, 0x9545, 0x9546, 0x9549, 0x954c, 0x954e, 0x954f, 0x9552,\n    0x9553, 0x9554, 0x9556, 0x9557, 0x9558, 0x9559, 0x955b, 0x955e,\n    0x955f, 0x955d, 0x9561, 0x9562, 0x9564, 0x9565, 0x9566, 0x9567,\n    0x9568, 0x9569, 0x956a, 0x956b, 0x956c, 0x956f, 0x9571, 0x9572,\n    0x9573, 0x953a, 0x77e7, 0x77ec, 0x96c9, 0x79d5, 0x79ed, 0x79e3,\n    0x79eb, 0x7a06, 0x5d47, 0x7a03, 0x7a02, 0x7a1e, 0x7a14, 0x003f,\n    /* lead byte f0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9908, 0x9909, 0x990a, 0x990b, 0x990c, 0x990e, 0x990f, 0x9911,\n    0x9912, 0x9913, 0x9914, 0x9915, 0x9916, 0x9917, 0x9918, 0x9919,\n    0x991a, 0x991b, 0x991c, 0x991d, 0x991e, 0x991f, 0x9920, 0x9921,\n    0x9922, 0x9923, 0x9924, 0x9925, 0x9926, 0x9927, 0x9928, 0x9929,\n    0x992a, 0x992b, 0x992c, 0x992d, 0x992f, 0x9930, 0x9931, 0x9932,\n    0x9933, 0x9934, 0x9935, 0x9936, 0x9937, 0x9938, 0x9939, 0x993a,\n    0x993b, 0x993c, 0x993d, 0x993e, 0x993f, 0x9940, 0x9941, 0x9942,\n    0x9943, 0x9944, 0x9945, 0x9946, 0x9947, 0x9948, 0x9949, 0x003f,\n    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,\n    0x9952, 0x9953, 0x9956, 0x9957, 0x9958, 0x9959, 0x995a, 0x995b,\n    0x995c, 0x995d, 0x995e, 0x995f, 0x9960, 0x9961, 0x9962, 0x9964,\n    0x9966, 0x9973, 0x9978, 0x9979, 0x997b, 0x997e, 0x9982, 0x9983,\n    0x9989, 0x7a39, 0x7a37, 0x7a51, 0x9ecf, 0x99a5, 0x7a70, 0x7688,\n    0x768e, 0x7693, 0x7699, 0x76a4, 0x74de, 0x74e0, 0x752c, 0x9e20,\n    0x9e22, 0x9e28, 0x9e29, 0x9e2a, 0x9e2b, 0x9e2c, 0x9e32, 0x9e31,\n    0x9e36, 0x9e38, 0x9e37, 0x9e39, 0x9e3a, 0x9e3e, 0x9e41, 0x9e42,\n    0x9e44, 0x9e46, 0x9e47, 0x9e48, 0x9e49, 0x9e4b, 0x9e4c, 0x9e4e,\n    0x9e51, 0x9e55, 0x9e57, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5e, 0x9e63,\n    0x9e66, 0x9e67, 0x9e68, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e71,\n    0x9e6d, 0x9e73, 0x7592, 0x7594, 0x7596, 0x75a0, 0x759d, 0x75ac,\n    0x75a3, 0x75b3, 0x75b4, 0x75b8, 0x75c4, 0x75b1, 0x75b0, 0x75c3,\n    0x75c2, 0x75d6, 0x75cd, 0x75e3, 0x75e8, 0x75e6, 0x75e4, 0x75eb,\n    0x75e7, 0x7603, 0x75f1, 0x75fc, 0x75ff, 0x7610, 0x7600, 0x7605,\n    0x760c, 0x7617, 0x760a, 0x7625, 0x7618, 0x7615, 0x7619, 0x003f,\n    /* lead byte f1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x998c, 0x998e, 0x999a, 0x999b, 0x999c, 0x999d, 0x999e, 0x999f,\n    0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a6, 0x99a7, 0x99a9,\n    0x99aa, 0x99ab, 0x99ac, 0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1,\n    0x99b2, 0x99b3, 0x99b4, 0x99b5, 0x99b6, 0x99b7, 0x99b8, 0x99b9,\n    0x99ba, 0x99bb, 0x99bc, 0x99bd, 0x99be, 0x99bf, 0x99c0, 0x99c1,\n    0x99c2, 0x99c3, 0x99c4, 0x99c5, 0x99c6, 0x99c7, 0x99c8, 0x99c9,\n    0x99ca, 0x99cb, 0x99cc, 0x99cd, 0x99ce, 0x99cf, 0x99d0, 0x99d1,\n    0x99d2, 0x99d3, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x003f,\n    0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd, 0x99de, 0x99df, 0x99e0,\n    0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5, 0x99e6, 0x99e7, 0x99e8,\n    0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed, 0x99ee, 0x99ef, 0x99f0,\n    0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7, 0x99f8,\n    0x99f9, 0x761b, 0x763c, 0x7622, 0x7620, 0x7640, 0x762d, 0x7630,\n    0x763f, 0x7635, 0x7643, 0x763e, 0x7633, 0x764d, 0x765e, 0x7654,\n    0x765c, 0x7656, 0x766b, 0x766f, 0x7fca, 0x7ae6, 0x7a78, 0x7a79,\n    0x7a80, 0x7a86, 0x7a88, 0x7a95, 0x7aa6, 0x7aa0, 0x7aac, 0x7aa8,\n    0x7aad, 0x7ab3, 0x8864, 0x8869, 0x8872, 0x887d, 0x887f, 0x8882,\n    0x88a2, 0x88c6, 0x88b7, 0x88bc, 0x88c9, 0x88e2, 0x88ce, 0x88e3,\n    0x88e5, 0x88f1, 0x891a, 0x88fc, 0x88e8, 0x88fe, 0x88f0, 0x8921,\n    0x8919, 0x8913, 0x891b, 0x890a, 0x8934, 0x892b, 0x8936, 0x8941,\n    0x8966, 0x897b, 0x758b, 0x80e5, 0x76b2, 0x76b4, 0x77dc, 0x8012,\n    0x8014, 0x8016, 0x801c, 0x8020, 0x8022, 0x8025, 0x8026, 0x8027,\n    0x8029, 0x8028, 0x8031, 0x800b, 0x8035, 0x8043, 0x8046, 0x804d,\n    0x8052, 0x8069, 0x8071, 0x8983, 0x9878, 0x9880, 0x9883, 0x003f,\n    /* lead byte f2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x99ff, 0x9a00, 0x9a01,\n    0x9a02, 0x9a03, 0x9a04, 0x9a05, 0x9a06, 0x9a07, 0x9a08, 0x9a09,\n    0x9a0a, 0x9a0b, 0x9a0c, 0x9a0d, 0x9a0e, 0x9a0f, 0x9a10, 0x9a11,\n    0x9a12, 0x9a13, 0x9a14, 0x9a15, 0x9a16, 0x9a17, 0x9a18, 0x9a19,\n    0x9a1a, 0x9a1b, 0x9a1c, 0x9a1d, 0x9a1e, 0x9a1f, 0x9a20, 0x9a21,\n    0x9a22, 0x9a23, 0x9a24, 0x9a25, 0x9a26, 0x9a27, 0x9a28, 0x9a29,\n    0x9a2a, 0x9a2b, 0x9a2c, 0x9a2d, 0x9a2e, 0x9a2f, 0x9a30, 0x9a31,\n    0x9a32, 0x9a33, 0x9a34, 0x9a35, 0x9a36, 0x9a37, 0x9a38, 0x003f,\n    0x9a39, 0x9a3a, 0x9a3b, 0x9a3c, 0x9a3d, 0x9a3e, 0x9a3f, 0x9a40,\n    0x9a41, 0x9a42, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0x9a47, 0x9a48,\n    0x9a49, 0x9a4a, 0x9a4b, 0x9a4c, 0x9a4d, 0x9a4e, 0x9a4f, 0x9a50,\n    0x9a51, 0x9a52, 0x9a53, 0x9a54, 0x9a55, 0x9a56, 0x9a57, 0x9a58,\n    0x9a59, 0x9889, 0x988c, 0x988d, 0x988f, 0x9894, 0x989a, 0x989b,\n    0x989e, 0x989f, 0x98a1, 0x98a2, 0x98a5, 0x98a6, 0x864d, 0x8654,\n    0x866c, 0x866e, 0x867f, 0x867a, 0x867c, 0x867b, 0x86a8, 0x868d,\n    0x868b, 0x86ac, 0x869d, 0x86a7, 0x86a3, 0x86aa, 0x8693, 0x86a9,\n    0x86b6, 0x86c4, 0x86b5, 0x86ce, 0x86b0, 0x86ba, 0x86b1, 0x86af,\n    0x86c9, 0x86cf, 0x86b4, 0x86e9, 0x86f1, 0x86f2, 0x86ed, 0x86f3,\n    0x86d0, 0x8713, 0x86de, 0x86f4, 0x86df, 0x86d8, 0x86d1, 0x8703,\n    0x8707, 0x86f8, 0x8708, 0x870a, 0x870d, 0x8709, 0x8723, 0x873b,\n    0x871e, 0x8725, 0x872e, 0x871a, 0x873e, 0x8748, 0x8734, 0x8731,\n    0x8729, 0x8737, 0x873f, 0x8782, 0x8722, 0x877d, 0x877e, 0x877b,\n    0x8760, 0x8770, 0x874c, 0x876e, 0x878b, 0x8753, 0x8763, 0x877c,\n    0x8764, 0x8759, 0x8765, 0x8793, 0x87af, 0x87a8, 0x87d2, 0x003f,\n    /* lead byte f3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e, 0x9a5f, 0x9a60, 0x9a61,\n    0x9a62, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,\n    0x9a6a, 0x9a6b, 0x9a72, 0x9a83, 0x9a89, 0x9a8d, 0x9a8e, 0x9a94,\n    0x9a95, 0x9a99, 0x9aa6, 0x9aa9, 0x9aaa, 0x9aab, 0x9aac, 0x9aad,\n    0x9aae, 0x9aaf, 0x9ab2, 0x9ab3, 0x9ab4, 0x9ab5, 0x9ab9, 0x9abb,\n    0x9abd, 0x9abe, 0x9abf, 0x9ac3, 0x9ac4, 0x9ac6, 0x9ac7, 0x9ac8,\n    0x9ac9, 0x9aca, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad2, 0x9ad4,\n    0x9ad5, 0x9ad6, 0x9ad7, 0x9ad9, 0x9ada, 0x9adb, 0x9adc, 0x003f,\n    0x9add, 0x9ade, 0x9ae0, 0x9ae2, 0x9ae3, 0x9ae4, 0x9ae5, 0x9ae7,\n    0x9ae8, 0x9ae9, 0x9aea, 0x9aec, 0x9aee, 0x9af0, 0x9af1, 0x9af2,\n    0x9af3, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9afa, 0x9afc,\n    0x9afd, 0x9afe, 0x9aff, 0x9b00, 0x9b01, 0x9b02, 0x9b04, 0x9b05,\n    0x9b06, 0x87c6, 0x8788, 0x8785, 0x87ad, 0x8797, 0x8783, 0x87ab,\n    0x87e5, 0x87ac, 0x87b5, 0x87b3, 0x87cb, 0x87d3, 0x87bd, 0x87d1,\n    0x87c0, 0x87ca, 0x87db, 0x87ea, 0x87e0, 0x87ee, 0x8816, 0x8813,\n    0x87fe, 0x880a, 0x881b, 0x8821, 0x8839, 0x883c, 0x7f36, 0x7f42,\n    0x7f44, 0x7f45, 0x8210, 0x7afa, 0x7afd, 0x7b08, 0x7b03, 0x7b04,\n    0x7b15, 0x7b0a, 0x7b2b, 0x7b0f, 0x7b47, 0x7b38, 0x7b2a, 0x7b19,\n    0x7b2e, 0x7b31, 0x7b20, 0x7b25, 0x7b24, 0x7b33, 0x7b3e, 0x7b1e,\n    0x7b58, 0x7b5a, 0x7b45, 0x7b75, 0x7b4c, 0x7b5d, 0x7b60, 0x7b6e,\n    0x7b7b, 0x7b62, 0x7b72, 0x7b71, 0x7b90, 0x7ba6, 0x7ba7, 0x7bb8,\n    0x7bac, 0x7b9d, 0x7ba8, 0x7b85, 0x7baa, 0x7b9c, 0x7ba2, 0x7bab,\n    0x7bb4, 0x7bd1, 0x7bc1, 0x7bcc, 0x7bdd, 0x7bda, 0x7be5, 0x7be6,\n    0x7bea, 0x7c0c, 0x7bfe, 0x7bfc, 0x7c0f, 0x7c16, 0x7c0b, 0x003f,\n    /* lead byte f4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b07, 0x9b09, 0x9b0a, 0x9b0b, 0x9b0c, 0x9b0d, 0x9b0e, 0x9b10,\n    0x9b11, 0x9b12, 0x9b14, 0x9b15, 0x9b16, 0x9b17, 0x9b18, 0x9b19,\n    0x9b1a, 0x9b1b, 0x9b1c, 0x9b1d, 0x9b1e, 0x9b20, 0x9b21, 0x9b22,\n    0x9b24, 0x9b25, 0x9b26, 0x9b27, 0x9b28, 0x9b29, 0x9b2a, 0x9b2b,\n    0x9b2c, 0x9b2d, 0x9b2e, 0x9b30, 0x9b31, 0x9b33, 0x9b34, 0x9b35,\n    0x9b36, 0x9b37, 0x9b38, 0x9b39, 0x9b3a, 0x9b3d, 0x9b3e, 0x9b3f,\n    0x9b40, 0x9b46, 0x9b4a, 0x9b4b, 0x9b4c, 0x9b4e, 0x9b50, 0x9b52,\n    0x9b53, 0x9b55, 0x9b56, 0x9b57, 0x9b58, 0x9b59, 0x9b5a, 0x003f,\n    0x9b5b, 0x9b5c, 0x9b5d, 0x9b5e, 0x9b5f, 0x9b60, 0x9b61, 0x9b62,\n    0x9b63, 0x9b64, 0x9b65, 0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a,\n    0x9b6b, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72,\n    0x9b73, 0x9b74, 0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a,\n    0x9b7b, 0x7c1f, 0x7c2a, 0x7c26, 0x7c38, 0x7c41, 0x7c40, 0x81fe,\n    0x8201, 0x8202, 0x8204, 0x81ec, 0x8844, 0x8221, 0x8222, 0x8223,\n    0x822d, 0x822f, 0x8228, 0x822b, 0x8238, 0x823b, 0x8233, 0x8234,\n    0x823e, 0x8244, 0x8249, 0x824b, 0x824f, 0x825a, 0x825f, 0x8268,\n    0x887e, 0x8885, 0x8888, 0x88d8, 0x88df, 0x895e, 0x7f9d, 0x7f9f,\n    0x7fa7, 0x7faf, 0x7fb0, 0x7fb2, 0x7c7c, 0x6549, 0x7c91, 0x7c9d,\n    0x7c9c, 0x7c9e, 0x7ca2, 0x7cb2, 0x7cbc, 0x7cbd, 0x7cc1, 0x7cc7,\n    0x7ccc, 0x7ccd, 0x7cc8, 0x7cc5, 0x7cd7, 0x7ce8, 0x826e, 0x66a8,\n    0x7fbf, 0x7fce, 0x7fd5, 0x7fe5, 0x7fe1, 0x7fe6, 0x7fe9, 0x7fee,\n    0x7ff3, 0x7cf8, 0x7d77, 0x7da6, 0x7dae, 0x7e47, 0x7e9b, 0x9eb8,\n    0x9eb4, 0x8d73, 0x8d84, 0x8d94, 0x8d91, 0x8db1, 0x8d67, 0x8d6d,\n    0x8c47, 0x8c49, 0x914a, 0x9150, 0x914e, 0x914f, 0x9164, 0x003f,\n    /* lead byte f5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9b7c, 0x9b7d, 0x9b7e, 0x9b7f, 0x9b80, 0x9b81, 0x9b82, 0x9b83,\n    0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a, 0x9b8b,\n    0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92, 0x9b93,\n    0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a, 0x9b9b,\n    0x9b9c, 0x9b9d, 0x9b9e, 0x9b9f, 0x9ba0, 0x9ba1, 0x9ba2, 0x9ba3,\n    0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0x9ba8, 0x9ba9, 0x9baa, 0x9bab,\n    0x9bac, 0x9bad, 0x9bae, 0x9baf, 0x9bb0, 0x9bb1, 0x9bb2, 0x9bb3,\n    0x9bb4, 0x9bb5, 0x9bb6, 0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x003f,\n    0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe, 0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2,\n    0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6, 0x9bc7, 0x9bc8, 0x9bc9, 0x9bca,\n    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2,\n    0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6, 0x9bd7, 0x9bd8, 0x9bd9, 0x9bda,\n    0x9bdb, 0x9162, 0x9161, 0x9170, 0x9169, 0x916f, 0x917d, 0x917e,\n    0x9172, 0x9174, 0x9179, 0x918c, 0x9185, 0x9190, 0x918d, 0x9191,\n    0x91a2, 0x91a3, 0x91aa, 0x91ad, 0x91ae, 0x91af, 0x91b5, 0x91b4,\n    0x91ba, 0x8c55, 0x9e7e, 0x8db8, 0x8deb, 0x8e05, 0x8e59, 0x8e69,\n    0x8db5, 0x8dbf, 0x8dbc, 0x8dba, 0x8dc4, 0x8dd6, 0x8dd7, 0x8dda,\n    0x8dde, 0x8dce, 0x8dcf, 0x8ddb, 0x8dc6, 0x8dec, 0x8df7, 0x8df8,\n    0x8de3, 0x8df9, 0x8dfb, 0x8de4, 0x8e09, 0x8dfd, 0x8e14, 0x8e1d,\n    0x8e1f, 0x8e2c, 0x8e2e, 0x8e23, 0x8e2f, 0x8e3a, 0x8e40, 0x8e39,\n    0x8e35, 0x8e3d, 0x8e31, 0x8e49, 0x8e41, 0x8e42, 0x8e51, 0x8e52,\n    0x8e4a, 0x8e70, 0x8e76, 0x8e7c, 0x8e6f, 0x8e74, 0x8e85, 0x8e8f,\n    0x8e94, 0x8e90, 0x8e9c, 0x8e9e, 0x8c78, 0x8c82, 0x8c8a, 0x8c85,\n    0x8c98, 0x8c94, 0x659b, 0x89d6, 0x89de, 0x89da, 0x89dc, 0x003f,\n    /* lead byte f6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9bdc, 0x9bdd, 0x9bde, 0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3,\n    0x9be4, 0x9be5, 0x9be6, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb,\n    0x9bec, 0x9bed, 0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3,\n    0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb,\n    0x9bfc, 0x9bfd, 0x9bfe, 0x9bff, 0x9c00, 0x9c01, 0x9c02, 0x9c03,\n    0x9c04, 0x9c05, 0x9c06, 0x9c07, 0x9c08, 0x9c09, 0x9c0a, 0x9c0b,\n    0x9c0c, 0x9c0d, 0x9c0e, 0x9c0f, 0x9c10, 0x9c11, 0x9c12, 0x9c13,\n    0x9c14, 0x9c15, 0x9c16, 0x9c17, 0x9c18, 0x9c19, 0x9c1a, 0x003f,\n    0x9c1b, 0x9c1c, 0x9c1d, 0x9c1e, 0x9c1f, 0x9c20, 0x9c21, 0x9c22,\n    0x9c23, 0x9c24, 0x9c25, 0x9c26, 0x9c27, 0x9c28, 0x9c29, 0x9c2a,\n    0x9c2b, 0x9c2c, 0x9c2d, 0x9c2e, 0x9c2f, 0x9c30, 0x9c31, 0x9c32,\n    0x9c33, 0x9c34, 0x9c35, 0x9c36, 0x9c37, 0x9c38, 0x9c39, 0x9c3a,\n    0x9c3b, 0x89e5, 0x89eb, 0x89ef, 0x8a3e, 0x8b26, 0x9753, 0x96e9,\n    0x96f3, 0x96ef, 0x9706, 0x9701, 0x9708, 0x970f, 0x970e, 0x972a,\n    0x972d, 0x9730, 0x973e, 0x9f80, 0x9f83, 0x9f85, 0x9f86, 0x9f87,\n    0x9f88, 0x9f89, 0x9f8a, 0x9f8c, 0x9efe, 0x9f0b, 0x9f0d, 0x96b9,\n    0x96bc, 0x96bd, 0x96ce, 0x96d2, 0x77bf, 0x96e0, 0x928e, 0x92ae,\n    0x92c8, 0x933e, 0x936a, 0x93ca, 0x938f, 0x943e, 0x946b, 0x9c7f,\n    0x9c82, 0x9c85, 0x9c86, 0x9c87, 0x9c88, 0x7a23, 0x9c8b, 0x9c8e,\n    0x9c90, 0x9c91, 0x9c92, 0x9c94, 0x9c95, 0x9c9a, 0x9c9b, 0x9c9e,\n    0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca5, 0x9ca6, 0x9ca7,\n    0x9ca8, 0x9ca9, 0x9cab, 0x9cad, 0x9cae, 0x9cb0, 0x9cb1, 0x9cb2,\n    0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cba, 0x9cbb, 0x9cbc,\n    0x9cbd, 0x9cc4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cca, 0x9ccb, 0x003f,\n    /* lead byte f7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9c3c, 0x9c3d, 0x9c3e, 0x9c3f, 0x9c40, 0x9c41, 0x9c42, 0x9c43,\n    0x9c44, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49, 0x9c4a, 0x9c4b,\n    0x9c4c, 0x9c4d, 0x9c4e, 0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0x9c53,\n    0x9c54, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c5b,\n    0x9c5c, 0x9c5d, 0x9c5e, 0x9c5f, 0x9c60, 0x9c61, 0x9c62, 0x9c63,\n    0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69, 0x9c6a, 0x9c6b,\n    0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70, 0x9c71, 0x9c72, 0x9c73,\n    0x9c74, 0x9c75, 0x9c76, 0x9c77, 0x9c78, 0x9c79, 0x9c7a, 0x003f,\n    0x9c7b, 0x9c7d, 0x9c7e, 0x9c80, 0x9c83, 0x9c84, 0x9c89, 0x9c8a,\n    0x9c8c, 0x9c8f, 0x9c93, 0x9c96, 0x9c97, 0x9c98, 0x9c99, 0x9c9d,\n    0x9caa, 0x9cac, 0x9caf, 0x9cb9, 0x9cbe, 0x9cbf, 0x9cc0, 0x9cc1,\n    0x9cc2, 0x9cc8, 0x9cc9, 0x9cd1, 0x9cd2, 0x9cda, 0x9cdb, 0x9ce0,\n    0x9ce1, 0x9ccc, 0x9ccd, 0x9cce, 0x9ccf, 0x9cd0, 0x9cd3, 0x9cd4,\n    0x9cd5, 0x9cd7, 0x9cd8, 0x9cd9, 0x9cdc, 0x9cdd, 0x9cdf, 0x9ce2,\n    0x977c, 0x9785, 0x9791, 0x9792, 0x9794, 0x97af, 0x97ab, 0x97a3,\n    0x97b2, 0x97b4, 0x9ab1, 0x9ab0, 0x9ab7, 0x9e58, 0x9ab6, 0x9aba,\n    0x9abc, 0x9ac1, 0x9ac0, 0x9ac5, 0x9ac2, 0x9acb, 0x9acc, 0x9ad1,\n    0x9b45, 0x9b43, 0x9b47, 0x9b49, 0x9b48, 0x9b4d, 0x9b51, 0x98e8,\n    0x990d, 0x992e, 0x9955, 0x9954, 0x9adf, 0x9ae1, 0x9ae6, 0x9aef,\n    0x9aeb, 0x9afb, 0x9aed, 0x9af9, 0x9b08, 0x9b0f, 0x9b13, 0x9b1f,\n    0x9b23, 0x9ebd, 0x9ebe, 0x7e3b, 0x9e82, 0x9e87, 0x9e88, 0x9e8b,\n    0x9e92, 0x93d6, 0x9e9d, 0x9e9f, 0x9edb, 0x9edc, 0x9edd, 0x9ee0,\n    0x9edf, 0x9ee2, 0x9ee9, 0x9ee7, 0x9ee5, 0x9eea, 0x9eef, 0x9f22,\n    0x9f2c, 0x9f2f, 0x9f39, 0x9f37, 0x9f3d, 0x9f3e, 0x9f44, 0x003f,\n    /* lead byte f8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0x9ce9, 0x9cea,\n    0x9ceb, 0x9cec, 0x9ced, 0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0x9cf2,\n    0x9cf3, 0x9cf4, 0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa,\n    0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe, 0x9cff, 0x9d00, 0x9d01, 0x9d02,\n    0x9d03, 0x9d04, 0x9d05, 0x9d06, 0x9d07, 0x9d08, 0x9d09, 0x9d0a,\n    0x9d0b, 0x9d0c, 0x9d0d, 0x9d0e, 0x9d0f, 0x9d10, 0x9d11, 0x9d12,\n    0x9d13, 0x9d14, 0x9d15, 0x9d16, 0x9d17, 0x9d18, 0x9d19, 0x9d1a,\n    0x9d1b, 0x9d1c, 0x9d1d, 0x9d1e, 0x9d1f, 0x9d20, 0x9d21, 0x003f,\n    0x9d22, 0x9d23, 0x9d24, 0x9d25, 0x9d26, 0x9d27, 0x9d28, 0x9d29,\n    0x9d2a, 0x9d2b, 0x9d2c, 0x9d2d, 0x9d2e, 0x9d2f, 0x9d30, 0x9d31,\n    0x9d32, 0x9d33, 0x9d34, 0x9d35, 0x9d36, 0x9d37, 0x9d38, 0x9d39,\n    0x9d3a, 0x9d3b, 0x9d3c, 0x9d3d, 0x9d3e, 0x9d3f, 0x9d40, 0x9d41,\n    0x9d42, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte f9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9d43, 0x9d44, 0x9d45, 0x9d46, 0x9d47, 0x9d48, 0x9d49, 0x9d4a,\n    0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e, 0x9d4f, 0x9d50, 0x9d51, 0x9d52,\n    0x9d53, 0x9d54, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a,\n    0x9d5b, 0x9d5c, 0x9d5d, 0x9d5e, 0x9d5f, 0x9d60, 0x9d61, 0x9d62,\n    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,\n    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,\n    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,\n    0x9d7b, 0x9d7c, 0x9d7d, 0x9d7e, 0x9d7f, 0x9d80, 0x9d81, 0x003f,\n    0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88, 0x9d89,\n    0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90, 0x9d91,\n    0x9d92, 0x9d93, 0x9d94, 0x9d95, 0x9d96, 0x9d97, 0x9d98, 0x9d99,\n    0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0x9da1,\n    0x9da2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9da3, 0x9da4, 0x9da5, 0x9da6, 0x9da7, 0x9da8, 0x9da9, 0x9daa,\n    0x9dab, 0x9dac, 0x9dad, 0x9dae, 0x9daf, 0x9db0, 0x9db1, 0x9db2,\n    0x9db3, 0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba,\n    0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe, 0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2,\n    0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca,\n    0x9dcb, 0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2,\n    0x9dd3, 0x9dd4, 0x9dd5, 0x9dd6, 0x9dd7, 0x9dd8, 0x9dd9, 0x9dda,\n    0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0, 0x9de1, 0x003f,\n    0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7, 0x9de8, 0x9de9,\n    0x9dea, 0x9deb, 0x9dec, 0x9ded, 0x9dee, 0x9def, 0x9df0, 0x9df1,\n    0x9df2, 0x9df3, 0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9,\n    0x9dfa, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9dff, 0x9e00, 0x9e01,\n    0x9e02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9e03, 0x9e04, 0x9e05, 0x9e06, 0x9e07, 0x9e08, 0x9e09, 0x9e0a,\n    0x9e0b, 0x9e0c, 0x9e0d, 0x9e0e, 0x9e0f, 0x9e10, 0x9e11, 0x9e12,\n    0x9e13, 0x9e14, 0x9e15, 0x9e16, 0x9e17, 0x9e18, 0x9e19, 0x9e1a,\n    0x9e1b, 0x9e1c, 0x9e1d, 0x9e1e, 0x9e24, 0x9e27, 0x9e2e, 0x9e30,\n    0x9e34, 0x9e3b, 0x9e3c, 0x9e40, 0x9e4d, 0x9e50, 0x9e52, 0x9e53,\n    0x9e54, 0x9e56, 0x9e59, 0x9e5d, 0x9e5f, 0x9e60, 0x9e61, 0x9e62,\n    0x9e65, 0x9e6e, 0x9e6f, 0x9e72, 0x9e74, 0x9e75, 0x9e76, 0x9e77,\n    0x9e78, 0x9e79, 0x9e7a, 0x9e7b, 0x9e7c, 0x9e7d, 0x9e80, 0x003f,\n    0x9e81, 0x9e83, 0x9e84, 0x9e85, 0x9e86, 0x9e89, 0x9e8a, 0x9e8c,\n    0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e94, 0x9e95, 0x9e96,\n    0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9e, 0x9ea0,\n    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea7, 0x9ea8, 0x9ea9,\n    0x9eaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9eab, 0x9eac, 0x9ead, 0x9eae, 0x9eaf, 0x9eb0, 0x9eb1, 0x9eb2,\n    0x9eb3, 0x9eb5, 0x9eb6, 0x9eb7, 0x9eb9, 0x9eba, 0x9ebc, 0x9ebf,\n    0x9ec0, 0x9ec1, 0x9ec2, 0x9ec3, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8,\n    0x9eca, 0x9ecb, 0x9ecc, 0x9ed0, 0x9ed2, 0x9ed3, 0x9ed5, 0x9ed6,\n    0x9ed7, 0x9ed9, 0x9eda, 0x9ede, 0x9ee1, 0x9ee3, 0x9ee4, 0x9ee6,\n    0x9ee8, 0x9eeb, 0x9eec, 0x9eed, 0x9eee, 0x9ef0, 0x9ef1, 0x9ef2,\n    0x9ef3, 0x9ef4, 0x9ef5, 0x9ef6, 0x9ef7, 0x9ef8, 0x9efa, 0x9efd,\n    0x9eff, 0x9f00, 0x9f01, 0x9f02, 0x9f03, 0x9f04, 0x9f05, 0x003f,\n    0x9f06, 0x9f07, 0x9f08, 0x9f09, 0x9f0a, 0x9f0c, 0x9f0f, 0x9f11,\n    0x9f12, 0x9f14, 0x9f15, 0x9f16, 0x9f18, 0x9f1a, 0x9f1b, 0x9f1c,\n    0x9f1d, 0x9f1e, 0x9f1f, 0x9f21, 0x9f23, 0x9f24, 0x9f25, 0x9f26,\n    0x9f27, 0x9f28, 0x9f29, 0x9f2a, 0x9f2b, 0x9f2d, 0x9f2e, 0x9f30,\n    0x9f31, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9f32, 0x9f33, 0x9f34, 0x9f35, 0x9f36, 0x9f38, 0x9f3a, 0x9f3c,\n    0x9f3f, 0x9f40, 0x9f41, 0x9f42, 0x9f43, 0x9f45, 0x9f46, 0x9f47,\n    0x9f48, 0x9f49, 0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f,\n    0x9f52, 0x9f53, 0x9f54, 0x9f55, 0x9f56, 0x9f57, 0x9f58, 0x9f59,\n    0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e, 0x9f5f, 0x9f60, 0x9f61,\n    0x9f62, 0x9f63, 0x9f64, 0x9f65, 0x9f66, 0x9f67, 0x9f68, 0x9f69,\n    0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71,\n    0x9f72, 0x9f73, 0x9f74, 0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x003f,\n    0x9f79, 0x9f7a, 0x9f7b, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f81, 0x9f82,\n    0x9f8d, 0x9f8e, 0x9f8f, 0x9f90, 0x9f91, 0x9f92, 0x9f93, 0x9f94,\n    0x9f95, 0x9f96, 0x9f97, 0x9f98, 0x9f9c, 0x9f9d, 0x9f9e, 0x9fa1,\n    0x9fa2, 0x9fa3, 0x9fa4, 0x9fa5, 0xf92c, 0xf979, 0xf995, 0xf9e7,\n    0xf9f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte fe */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfa0c, 0xfa0d, 0xfa0e, 0xfa0f, 0xfa11, 0xfa13, 0xfa14, 0xfa18,\n    0xfa1f, 0xfa20, 0xfa21, 0xfa23, 0xfa24, 0xfa27, 0xfa28, 0xfa29,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned char cp2uni_leadbytes[256] =\n{\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,\n    0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,\n    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,\n    0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,\n    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,\n    0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,\n    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,\n    0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,\n    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,\n    0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x00\n};\n\nstatic const unsigned short uni2cp_low[27648] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0020, 0x0021, 0x0063, 0x004c, 0xa1e8, 0x0059, 0x003f, 0xa1ec,\n    0xa1a7, 0x0063, 0x0061, 0xa1b6, 0x003f, 0x002d, 0x0072, 0xa1a5,\n    0xa1e3, 0xa1c0, 0x0032, 0x0033, 0xa840, 0xa6cc, 0x003f, 0xa1a4,\n    0x002c, 0x0031, 0x006f, 0xa1b7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,\n    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,\n    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1c1,\n    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa6c2,\n    0xa8a4, 0xa8a2, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,\n    0xa8a8, 0xa8a6, 0xa8ba, 0x0065, 0xa8ac, 0xa8aa, 0x0069, 0x0069,\n    0x0064, 0x006e, 0xa8b0, 0xa8ae, 0x006f, 0x006f, 0x006f, 0xa1c2,\n    0x006f, 0xa8b4, 0xa8b2, 0x0075, 0xa8b9, 0x0079, 0x003f, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0041, 0xa8a1, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,\n    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0xa8a7, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0049, 0x0069, 0x0049, 0xa8a9, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,\n    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,\n    0x003f, 0x004c, 0x006c, 0x004e, 0xa8bd, 0x004e, 0x006e, 0x004e,\n    0xa8be, 0x003f, 0x003f, 0x003f, 0x004f, 0xa8ad, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,\n    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,\n    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,\n    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,\n    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,\n    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa9a6, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0xa8a3, 0x0049,\n    0xa8ab, 0x004f, 0xa8af, 0x0055, 0xa8b3, 0x0055, 0xa8b5, 0x0055,\n    0xa8b6, 0x0055, 0xa8b7, 0x0055, 0xa8b8, 0x003f, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,\n    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,\n    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,\n    /* 0x0200 .. 0x02ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa8bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa8c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,\n    0x0079, 0xa840, 0xa1e5, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa1a6,\n    0x0027, 0xa1a5, 0xa840, 0xa841, 0x003f, 0x005f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa842, 0xa1e3, 0x003f, 0x007e, 0xa1e5, 0x003f, 0x003f,\n    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0300 .. 0x03ff */\n    0xa841, 0xa840, 0x005e, 0x007e, 0xa1a5, 0xa1a5, 0x003f, 0xa842,\n    0xa1a7, 0x003f, 0xa1e3, 0xa1e5, 0xa1a6, 0x003f, 0x0022, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa841, 0xa840, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa840, 0xa1a7, 0xa6a1, 0xa1a4,\n    0xa6a5, 0xa6a7, 0xa6a9, 0x003f, 0xa6af, 0x003f, 0xa6b4, 0xa6b8,\n    0xa6c9, 0xa6a1, 0xa6a2, 0xa6a3, 0xa6a4, 0xa6a5, 0xa6a6, 0xa6a7,\n    0xa6a8, 0xa6a9, 0xa6aa, 0xa6ab, 0xa6ac, 0xa6ad, 0xa6ae, 0xa6af,\n    0xa6b0, 0xa6b1, 0x003f, 0xa6b2, 0xa6b3, 0xa6b4, 0xa6b5, 0xa6b6,\n    0xa6b7, 0xa6b8, 0xa6a9, 0xa6b4, 0xa6c1, 0xa6c5, 0xa6c7, 0xa6c9,\n    0xa6d4, 0xa6c1, 0xa6c2, 0xa6c3, 0xa6c4, 0xa6c5, 0xa6c6, 0xa6c7,\n    0xa6c8, 0xa6c9, 0xa6ca, 0xa6cb, 0xa6cc, 0xa6cd, 0xa6ce, 0xa6cf,\n    0xa6d0, 0xa6d1, 0x003f, 0xa6d2, 0xa6d3, 0xa6d4, 0xa6d5, 0xa6d6,\n    0xa6d7, 0xa6d8, 0xa6c9, 0xa6d4, 0xa6cf, 0xa6d4, 0xa6d8, 0x003f,\n    0xa6c2, 0xa6c8, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6d5, 0xa6d0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6ca, 0xa6d1, 0x003f, 0x003f, 0xa6a8, 0xa6c5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0400 .. 0x04ff */\n    0xa7a6, 0xa7a7, 0x003f, 0xa7a4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7ac, 0xa7aa, 0xa7b5, 0x003f,\n    0xa7a1, 0xa7a2, 0xa7a3, 0xa7a4, 0xa7a5, 0xa7a6, 0xa7a8, 0xa7a9,\n    0xa7aa, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,\n    0xa7b2, 0xa7b3, 0xa7b4, 0xa7b5, 0xa7b6, 0xa7b7, 0xa7b8, 0xa7b9,\n    0xa7ba, 0xa7bb, 0xa7bc, 0xa7bd, 0xa7be, 0xa7bf, 0xa7c0, 0xa7c1,\n    0xa7d1, 0xa7d2, 0xa7d3, 0xa7d4, 0xa7d5, 0xa7d6, 0xa7d8, 0xa7d9,\n    0xa7da, 0xa7db, 0xa7dc, 0xa7dd, 0xa7de, 0xa7df, 0xa7e0, 0xa7e1,\n    0xa7e2, 0xa7e3, 0xa7e4, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e9,\n    0xa7ea, 0xa7eb, 0xa7ec, 0xa7ed, 0xa7ee, 0xa7ef, 0xa7f0, 0xa7f1,\n    0xa7d6, 0xa7d7, 0x003f, 0xa7d4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7dc, 0xa7da, 0xa7e5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa7a8, 0xa7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa7a1, 0xa7d1, 0xa7a1, 0xa7d1, 0x003f, 0x003f, 0xa7a6, 0xa7d6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7a8, 0xa7d8, 0xa7a9, 0xa7d9,\n    0x003f, 0x003f, 0xa7aa, 0xa7da, 0xa7aa, 0xa7da, 0xa7b0, 0xa7e0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa7bf, 0xa7ef, 0xa7b5, 0xa7e5,\n    0xa7b5, 0xa7e5, 0xa7b5, 0xa7e5, 0xa7b9, 0xa7e9, 0x003f, 0x003f,\n    0xa7bd, 0xa7ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1e00 .. 0x1eff */\n    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,\n    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0xa8a5, 0x0045, 0xa8a5,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,\n    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,\n    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,\n    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,\n    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0xa8ad, 0x004f, 0xa8ad, 0x0050, 0x0070, 0x0050, 0x0070,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0xa8b1, 0x0056, 0x0076, 0x0056, 0x0076,\n    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,\n    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,\n    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,\n    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0xa8ba,\n    0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0xa8ba, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,\n    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1f00 .. 0x1fff */\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,\n    0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0xa6c5, 0x003f, 0x003f,\n    0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0xa6a5, 0x003f, 0x003f,\n    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,\n    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,\n    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9,\n    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9,\n    0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0xa6cf, 0x003f, 0x003f,\n    0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0xa6af, 0x003f, 0x003f,\n    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4,\n    0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4, 0x003f, 0xa6b4,\n    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,\n    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,\n    0xa6c1, 0xa6c1, 0xa6c5, 0xa6c5, 0xa6c7, 0xa6c7, 0xa6c9, 0xa6c9,\n    0xa6cf, 0xa6cf, 0xa6d4, 0xa6d4, 0xa6d8, 0xa6d8, 0x003f, 0x003f,\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1,\n    0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7, 0xa6c7,\n    0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7, 0xa6a7,\n    0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8, 0xa6d8,\n    0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8, 0xa6b8,\n    0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0xa6c1, 0x003f, 0xa6c1, 0xa6c1,\n    0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0xa6a1, 0x003f, 0xa6c9, 0x003f,\n    0x003f, 0xa1a7, 0xa6c7, 0xa6c7, 0xa6c7, 0x003f, 0xa6c7, 0xa6c7,\n    0xa6a5, 0xa6a5, 0xa6a7, 0xa6a7, 0xa6a7, 0x003f, 0x003f, 0x003f,\n    0xa6c9, 0xa6c9, 0xa6c9, 0xa6c9, 0x003f, 0x003f, 0xa6c9, 0xa6c9,\n    0xa6a9, 0xa6a9, 0xa6a9, 0xa6a9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6d4, 0xa6d4, 0xa6d4, 0xa6d4, 0xa6d1, 0xa6d1, 0xa6d4, 0xa6d4,\n    0xa6b4, 0xa6b4, 0xa6b4, 0xa6b4, 0xa6b1, 0xa1a7, 0xa1a7, 0x0060,\n    0x003f, 0x003f, 0xa6d8, 0xa6d8, 0xa6d8, 0x003f, 0xa6d8, 0xa6d8,\n    0xa6af, 0xa6af, 0xa6b8, 0xa6b8, 0xa6b8, 0xa840, 0x003f, 0x003f,\n    /* 0x2000 .. 0x20ff */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa95c, 0xa95c, 0x003f, 0xa843, 0xa1aa, 0xa844, 0xa1ac, 0x005f,\n    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa845, 0xa1ad, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0xa1eb, 0x003f, 0xa1e4, 0xa1e5, 0x003f, 0xa846, 0x003f, 0x003f,\n    0x003f, 0xa1b4, 0xa1b5, 0xa1f9, 0x0021, 0x003f, 0xa1a5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa84d, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e3, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x006e,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0xa95c, 0x003d, 0x0028, 0x0029, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x0080, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2100 .. 0x21ff */\n    0x003f, 0x003f, 0x0043, 0xa1e6, 0x003f, 0xa847, 0x003f, 0x0045,\n    0x003f, 0xa848, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,\n    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0xa1ed, 0x003f,\n    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,\n    0x003f, 0xa959, 0x003f, 0x003f, 0x005a, 0x003f, 0xa6b8, 0x003f,\n    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,\n    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa6c3, 0xa6a3, 0xa6b0,\n    0xa1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,\n    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7, 0xa2f8,\n    0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0x004c, 0x0043, 0x0044, 0x004d,\n    0xa2a1, 0xa2a2, 0xa2a3, 0xa2a4, 0xa2a5, 0xa2a6, 0xa2a7, 0xa2a8,\n    0xa2a9, 0xa2aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0x002d, 0x007c, 0xa849, 0xa84a,\n    0xa84b, 0xa84c, 0xa1fb, 0xa1fa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2200 .. 0x22ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,\n    0xa1ca, 0xa1ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1c7,\n    0x003f, 0xa1c6, 0xa95c, 0xa1c0, 0x003f, 0xa84d, 0x005c, 0x002a,\n    0xa1e3, 0x003f, 0xa1cc, 0x003f, 0x003f, 0xa1d8, 0xa1de, 0xa84e,\n    0xa1cf, 0x003f, 0x003f, 0xa84f, 0xa84f, 0xa1ce, 0xa1ce, 0xa1c4,\n    0xa1c5, 0xa1c9, 0xa1c8, 0xa1d2, 0x003f, 0x003f, 0xa1d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e0, 0xa1df, 0xa1c3, 0xa1cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0xa1d7, 0x003f, 0x003f,\n    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1d6, 0xa1d6, 0x003f, 0x003f, 0xa1d5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa850, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1d9, 0xa1d4, 0xa1d4, 0xa1d4, 0xa1dc, 0xa1dd, 0xa851, 0xa852,\n    0x003f, 0x003f, 0xa1b6, 0xa1b7, 0x003f, 0x003f, 0xa1da, 0xa1db,\n    0xa1dc, 0xa1dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa892, 0x003f, 0x003f,\n    0x003f, 0xa1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1cd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa853,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2300 .. 0x23ff */\n    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2400 .. 0x24ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd, 0xa2de, 0xa2df, 0xa2e0,\n    0xa2e1, 0xa2e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8,\n    0xa2c9, 0xa2ca, 0xa2cb, 0xa2cc, 0xa2cd, 0xa2ce, 0xa2cf, 0xa2d0,\n    0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5, 0xa2d6, 0xa2d7, 0xa2d8,\n    0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6, 0xa2b7, 0xa2b8,\n    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,\n    0xa2c1, 0xa2c2, 0xa2c3, 0xa2c4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0042,\n    0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,\n    0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,\n    0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,\n    0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,\n    0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2500 .. 0x25ff */\n    0xa9a4, 0xa9a5, 0xa9a6, 0xa9a7, 0xa9a8, 0xa9a9, 0xa9aa, 0xa9ab,\n    0xa9ac, 0xa9ad, 0xa9ae, 0xa9af, 0xa9b0, 0xa9b1, 0xa9b2, 0xa9b3,\n    0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8, 0xa9b9, 0xa9ba, 0xa9bb,\n    0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0, 0xa9c1, 0xa9c2, 0xa9c3,\n    0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8, 0xa9c9, 0xa9ca, 0xa9cb,\n    0xa9cc, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0, 0xa9d1, 0xa9d2, 0xa9d3,\n    0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8, 0xa9d9, 0xa9da, 0xa9db,\n    0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0, 0xa9e1, 0xa9e2, 0xa9e3,\n    0xa9e4, 0xa9e5, 0xa9e6, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea, 0xa9eb,\n    0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0x002d, 0x002d, 0x003f, 0x003f,\n    0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859, 0xa85a, 0xa85b,\n    0xa85c, 0xa85d, 0xa85e, 0xa85f, 0xa860, 0xa861, 0xa862, 0xa863,\n    0xa864, 0xa865, 0xa866, 0xa867, 0xa868, 0xa869, 0xa86a, 0xa86b,\n    0xa86c, 0xa86d, 0xa86e, 0xa86f, 0xa870, 0xa871, 0xa872, 0xa873,\n    0xa874, 0xa875, 0xa876, 0xa877, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x003f, 0xa878, 0xa879, 0xa87a, 0xa87b, 0xa87c, 0xa87d, 0xa87e,\n    0xa880, 0xa881, 0xa882, 0xa883, 0xa884, 0xa885, 0xa886, 0xa887,\n    0x003f, 0x003f, 0x003f, 0xa888, 0xa889, 0xa88a, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1f6, 0xa1f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1f8, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa88b, 0xa88c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f4, 0xa1f3,\n    0x003f, 0x003f, 0x003f, 0xa1f0, 0x003f, 0x003f, 0xa1f2, 0xa1f1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa88d, 0xa88e, 0xa88f, 0xa890, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2600 .. 0x26ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003f,\n    0x003f, 0xa891, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e2, 0x003f, 0xa1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2e00 .. 0x2eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4b8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb9ea, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2f00 .. 0x2fff */\n    0xd2bb, 0xd8ad, 0xd8bc, 0xd8af, 0xd2d2, 0x817c, 0xb6fe, 0xd9ef,\n    0xc8cb, 0xb6f9, 0xc8eb, 0xb0cb, 0xd8e7, 0xdaa2, 0xd9fb, 0xbcb8,\n    0xdbc9, 0xb5b6, 0xc1a6, 0xd9e8, 0xd8b0, 0xd8ce, 0x855b, 0xcaae,\n    0xb2b7, 0xdae0, 0xb3a7, 0xdbcc, 0xd3d6, 0xbfda, 0xe0ed, 0xcdc1,\n    0xcabf, 0xe2ba, 0x89e5, 0xcfa6, 0xb4f3, 0xc5ae, 0xd7d3, 0xe5b2,\n    0xb4e7, 0xd0a1, 0xdecc, 0xcaac, 0xe5f8, 0xc9bd, 0xe7dd, 0xb9a4,\n    0xbcba, 0xbded, 0xb8c9, 0xe7db, 0xb9e3, 0xdbc8, 0xdec3, 0xdfae,\n    0xb9ad, 0xe5e6, 0xe1ea, 0xe1dc, 0xd0c4, 0xb8ea, 0x91f4, 0xcad6,\n    0xd6a7, 0xeab7, 0xcec4, 0xb6b7, 0xbdef, 0xb7bd, 0xcede, 0xc8d5,\n    0xd4bb, 0xd4c2, 0xc4be, 0xc7b7, 0xd6b9, 0xb4f5, 0xecaf, 0xcee3,\n    0xb1c8, 0xc3ab, 0xcacf, 0xc6f8, 0xcbae, 0xbbf0, 0xd7a6, 0xb8b8,\n    0xd8b3, 0xe3dd, 0xc6ac, 0xd1c0, 0xc5a3, 0xc8ae, 0xd0fe, 0xd3f1,\n    0xb9cf, 0xcddf, 0xb8ca, 0xc9fa, 0xd3c3, 0xccef, 0xf1e2, 0xf0da,\n    0xb068, 0xb0d7, 0xc6a4, 0xc3f3, 0xc4bf, 0xc3ac, 0xcab8, 0xcaaf,\n    0xcabe, 0xb662, 0xbacc, 0xd1a8, 0xc1a2, 0xd6f1, 0xc3d7, 0xf4e9,\n    0xf3be, 0xcdf8, 0xd1f2, 0xd3f0, 0xc0cf, 0xb6f8, 0xf1e7, 0xb6fa,\n    0xedb2, 0xc8e2, 0xb3bc, 0xd7d4, 0xd6c1, 0xbeca, 0xc9e0, 0xe2b6,\n    0xd6db, 0xf4de, 0xc9ab, 0xc648, 0xf2ae, 0xb3e6, 0xd1aa, 0xd0d0,\n    0xd2c2, 0xd281, 0xd28a, 0xbdc7, 0xd1d4, 0xb9c8, 0xb6b9, 0xf5b9,\n    0xf5f4, 0xd890, 0xb3e0, 0xd7df, 0xd7e3, 0xc9ed, 0xdc87, 0xd0c1,\n    0xb3bd, 0xde75, 0xd2d8, 0xd3cf, 0xe18a, 0xc0ef, 0xbdf0, 0xe94c,\n    0xe954, 0xb8b7, 0xc1a5, 0xf6bf, 0xd3ea, 0xec69, 0xb7c7, 0xc3e6,\n    0xb8ef, 0xed66, 0xbec2, 0xd2f4, 0xed93, 0xef4c, 0xef77, 0xcab3,\n    0xcad7, 0xcfe3, 0xf152, 0xb9c7, 0xb8df, 0xf7d4, 0xf459, 0xdbcb,\n    0xd8aa, 0xb9ed, 0xf47e, 0xf842, 0xfb75, 0xc2b9, 0xfb9c, 0xc2e9,\n    0xfc53, 0xcaf2, 0xbada, 0xede9, 0xfc77, 0xb6a6, 0xb9c4, 0xcaf3,\n    0xb1c7, 0xfd52, 0xfd58, 0xfd88, 0xfd94, 0xd9df, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3000 .. 0x30ff */\n    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0xa1a9, 0xa965, 0xa996,\n    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,\n    0xa1be, 0xa1bf, 0xa893, 0xa1fe, 0xa1b2, 0xa1b3, 0xa1bc, 0xa1bd,\n    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa894, 0xa895, 0x002c,\n    0x003f, 0xa940, 0xa941, 0xa942, 0xa943, 0xa944, 0xa945, 0xa946,\n    0xa947, 0xa948, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa893, 0x003f,\n    0xcaae, 0x8560, 0xd8a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,\n    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,\n    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,\n    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,\n    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,\n    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,\n    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,\n    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,\n    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,\n    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,\n    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4a6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa961, 0xa962, 0xa966, 0xa967, 0x003f,\n    0x003f, 0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7,\n    0xa5a8, 0xa5a9, 0xa5aa, 0xa5ab, 0xa5ac, 0xa5ad, 0xa5ae, 0xa5af,\n    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,\n    0xa5b8, 0xa5b9, 0xa5ba, 0xa5bb, 0xa5bc, 0xa5bd, 0xa5be, 0xa5bf,\n    0xa5c0, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,\n    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,\n    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6, 0xa5d7,\n    0xa5d8, 0xa5d9, 0xa5da, 0xa5db, 0xa5dc, 0xa5dd, 0xa5de, 0xa5df,\n    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,\n    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,\n    0xa5f0, 0xa5f1, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6, 0xa5ef,\n    0xa5f0, 0xa5f1, 0xa5f2, 0x003f, 0xa960, 0xa963, 0xa964, 0x003f,\n    /* 0x3100 .. 0x31ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c5, 0xa8c6, 0xa8c7,\n    0xa8c8, 0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0xa8cd, 0xa8ce, 0xa8cf,\n    0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4, 0xa8d5, 0xa8d6, 0xa8d7,\n    0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc, 0xa8dd, 0xa8de, 0xa8df,\n    0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4, 0xa8e5, 0xa8e6, 0xa8e7,\n    0xa8e8, 0xa8e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xc9cf, 0xd6d0,\n    0xcfc2, 0xbcd7, 0xd2d2, 0xb1fb, 0xb6a1, 0xccec, 0xb5d8, 0xc8cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3200 .. 0x32ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2e5, 0xa2e6, 0xa2e7, 0xa2e8, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec,\n    0xa2ed, 0xa2ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa95a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2bb, 0xb6fe, 0xc8fd, 0xcbc4, 0xcee5, 0xc1f9, 0xc6df, 0xb0cb,\n    0xbec5, 0xcaae, 0xd4c2, 0xbbf0, 0xcbae, 0xc4be, 0xbdf0, 0xcdc1,\n    0xc8d5, 0xd6ea, 0xd3d0, 0xc9e7, 0xc3fb, 0xccd8, 0xd894, 0xd7a3,\n    0x84ba, 0xc3d8, 0xc4d0, 0xc5ae, 0xdf6d, 0x839e, 0xd3a1, 0xd7a2,\n    0xed97, 0xd0dd, 0xd0b4, 0xa949, 0xc9cf, 0xd6d0, 0xcfc2, 0xd7f3,\n    0xd3d2, 0xd2bd, 0xd7da, 0xd1a7, 0xb14f, 0xc6f3, 0xd959, 0x8566,\n    0xd2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad, 0xa5af,\n    0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd, 0xa5bf,\n    0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd,\n    0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de, 0xa5df,\n    0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9, 0xa5ea,\n    0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f0, 0xa5f1, 0xa5f2, 0x003f,\n    /* 0x3300 .. 0x33ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa94a, 0xa94b,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa94c, 0xa94d, 0xa94e, 0x003f,\n    0x003f, 0xa94f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa950, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa951, 0x003f,\n    0x003f, 0xa952, 0xa953, 0x003f, 0x003f, 0xa954, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4e00 .. 0x4eff */\n    0xd2bb, 0xb6a1, 0x8140, 0xc6df, 0x8141, 0x8142, 0x8143, 0xcdf2,\n    0xd5c9, 0xc8fd, 0xc9cf, 0xcfc2, 0xd8a2, 0xb2bb, 0xd3eb, 0x8144,\n    0xd8a4, 0xb3f3, 0x8145, 0xd7a8, 0xc7d2, 0xd8a7, 0xcac0, 0x8146,\n    0xc7f0, 0xb1fb, 0xd2b5, 0xb4d4, 0xb6ab, 0xcbbf, 0xd8a9, 0x8147,\n    0x8148, 0x8149, 0xb6aa, 0x814a, 0xc1bd, 0xd1cf, 0x814b, 0xc9a5,\n    0xd8ad, 0x814c, 0xb8f6, 0xd1be, 0xe3dc, 0xd6d0, 0x814d, 0x814e,\n    0xb7e1, 0x814f, 0xb4ae, 0x8150, 0xc1d9, 0x8151, 0xd8bc, 0x8152,\n    0xcde8, 0xb5a4, 0xceaa, 0xd6f7, 0x8153, 0xc0f6, 0xbed9, 0xd8af,\n    0x8154, 0x8155, 0x8156, 0xc4cb, 0x8157, 0xbec3, 0x8158, 0xd8b1,\n    0xc3b4, 0xd2e5, 0x8159, 0xd6ae, 0xceda, 0xd5a7, 0xbaf5, 0xb7a6,\n    0xc0d6, 0x815a, 0xc6b9, 0xc5d2, 0xc7c7, 0x815b, 0xb9d4, 0x815c,\n    0xb3cb, 0xd2d2, 0x815d, 0x815e, 0xd8bf, 0xbec5, 0xc6f2, 0xd2b2,\n    0xcfb0, 0xcfe7, 0x815f, 0x8160, 0x8161, 0x8162, 0xcae9, 0x8163,\n    0x8164, 0xd8c0, 0x8165, 0x8166, 0x8167, 0x8168, 0x8169, 0x816a,\n    0xc2f2, 0xc2d2, 0x816b, 0xc8e9, 0x816c, 0x816d, 0x816e, 0x816f,\n    0x8170, 0x8171, 0x8172, 0x8173, 0x8174, 0x8175, 0xc7ac, 0x8176,\n    0x8177, 0x8178, 0x8179, 0x817a, 0x817b, 0x817c, 0xc1cb, 0x817d,\n    0xd3e8, 0xd5f9, 0x817e, 0xcac2, 0xb6fe, 0xd8a1, 0xd3da, 0xbff7,\n    0x8180, 0xd4c6, 0xbba5, 0xd8c1, 0xcee5, 0xbeae, 0x8181, 0x8182,\n    0xd8a8, 0x8183, 0xd1c7, 0xd0a9, 0x8184, 0x8185, 0x8186, 0xd8bd,\n    0xd9ef, 0xcdf6, 0xbfba, 0x8187, 0xbdbb, 0xbaa5, 0xd2e0, 0xb2fa,\n    0xbae0, 0xc4b6, 0x8188, 0xcfed, 0xbea9, 0xcda4, 0xc1c1, 0x8189,\n    0x818a, 0x818b, 0xc7d7, 0xd9f1, 0x818c, 0xd9f4, 0x818d, 0x818e,\n    0x818f, 0x8190, 0xc8cb, 0xd8e9, 0x8191, 0x8192, 0x8193, 0xd2da,\n    0xcab2, 0xc8ca, 0xd8ec, 0xd8ea, 0xd8c6, 0xbdf6, 0xc6cd, 0xb3f0,\n    0x8194, 0xd8eb, 0xbdf1, 0xbde9, 0x8195, 0xc8d4, 0xb4d3, 0x8196,\n    0x8197, 0xc2d8, 0x8198, 0xb2d6, 0xd7d0, 0xcacb, 0xcbfb, 0xd5cc,\n    0xb8b6, 0xcfc9, 0x8199, 0x819a, 0x819b, 0xd9da, 0xd8f0, 0xc7aa,\n    0x819c, 0xd8ee, 0x819d, 0xb4fa, 0xc1ee, 0xd2d4, 0x819e, 0x819f,\n    0xd8ed, 0x81a0, 0xd2c7, 0xd8ef, 0xc3c7, 0x81a1, 0x81a2, 0x81a3,\n    0xd1f6, 0x81a4, 0xd6d9, 0xd8f2, 0x81a5, 0xd8f5, 0xbcfe, 0xbcdb,\n    0x81a6, 0x81a7, 0x81a8, 0xc8ce, 0x81a9, 0xb7dd, 0x81aa, 0xb7c2,\n    /* 0x4f00 .. 0x4fff */\n    0x81ab, 0xc6f3, 0x81ac, 0x81ad, 0x81ae, 0x81af, 0x81b0, 0x81b1,\n    0x81b2, 0xd8f8, 0xd2c1, 0x81b3, 0x81b4, 0xcee9, 0xbcbf, 0xb7fc,\n    0xb7a5, 0xd0dd, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9, 0xd6da,\n    0xd3c5, 0xbbef, 0xbbe1, 0xd8f1, 0x81ba, 0x81bb, 0xc9a1, 0xceb0,\n    0xb4ab, 0x81bc, 0xd8f3, 0x81bd, 0xc9cb, 0xd8f6, 0xc2d7, 0xd8f7,\n    0x81be, 0x81bf, 0xceb1, 0xd8f9, 0x81c0, 0x81c1, 0x81c2, 0xb2ae,\n    0xb9c0, 0x81c3, 0xd9a3, 0x81c4, 0xb0e9, 0x81c5, 0xc1e6, 0x81c6,\n    0xc9ec, 0x81c7, 0xcbc5, 0x81c8, 0xcbc6, 0xd9a4, 0x81c9, 0x81ca,\n    0x81cb, 0x81cc, 0x81cd, 0xb5e8, 0x81ce, 0x81cf, 0xb5ab, 0x81d0,\n    0x81d1, 0x81d2, 0x81d3, 0x81d4, 0x81d5, 0xcebb, 0xb5cd, 0xd7a1,\n    0xd7f4, 0xd3d3, 0x81d6, 0xcce5, 0x81d7, 0xbace, 0x81d8, 0xd9a2,\n    0xd9dc, 0xd3e0, 0xd8fd, 0xb7f0, 0xd7f7, 0xd8fe, 0xd8fa, 0xd9a1,\n    0xc4e3, 0x81d9, 0x81da, 0xd3b6, 0xd8f4, 0xd9dd, 0x81db, 0xd8fb,\n    0x81dc, 0xc5e5, 0x81dd, 0x81de, 0xc0d0, 0x81df, 0x81e0, 0xd1f0,\n    0xb0db, 0x81e1, 0x81e2, 0xbcd1, 0xd9a6, 0x81e3, 0xd9a5, 0x81e4,\n    0x81e5, 0x81e6, 0x81e7, 0xd9ac, 0xd9ae, 0x81e8, 0xd9ab, 0xcab9,\n    0x81e9, 0x81ea, 0x81eb, 0xd9a9, 0xd6b6, 0x81ec, 0x81ed, 0x81ee,\n    0xb3de, 0xd9a8, 0x81ef, 0xc0fd, 0x81f0, 0xcacc, 0x81f1, 0xd9aa,\n    0x81f2, 0xd9a7, 0x81f3, 0x81f4, 0xd9b0, 0x81f5, 0x81f6, 0xb6b1,\n    0x81f7, 0x81f8, 0x81f9, 0xb9a9, 0x81fa, 0xd2c0, 0x81fb, 0x81fc,\n    0xcfc0, 0x81fd, 0x81fe, 0xc2c2, 0x8240, 0xbdc4, 0xd5ec, 0xb2e0,\n    0xc7c8, 0xbfeb, 0xd9ad, 0x8241, 0xd9af, 0x8242, 0xceea, 0xbaee,\n    0x8243, 0x8244, 0x8245, 0x8246, 0x8247, 0xc7d6, 0x8248, 0x8249,\n    0x824a, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0xb1e3,\n    0x8251, 0x8252, 0x8253, 0xb4d9, 0xb6ed, 0xd9b4, 0x8254, 0x8255,\n    0x8256, 0x8257, 0xbfa1, 0x8258, 0x8259, 0x825a, 0xd9de, 0xc7ce,\n    0xc0fe, 0xd9b8, 0x825b, 0x825c, 0x825d, 0x825e, 0x825f, 0xcbd7,\n    0xb7fd, 0x8260, 0xd9b5, 0x8261, 0xd9b7, 0xb1a3, 0xd3e1, 0xd9b9,\n    0x8262, 0xd0c5, 0x8263, 0xd9b6, 0x8264, 0x8265, 0xd9b1, 0x8266,\n    0xd9b2, 0xc1a9, 0xd9b3, 0x8267, 0x8268, 0xbcf3, 0xd0de, 0xb8a9,\n    0x8269, 0xbee3, 0x826a, 0xd9bd, 0x826b, 0x826c, 0x826d, 0x826e,\n    0xd9ba, 0x826f, 0xb0b3, 0x8270, 0x8271, 0x8272, 0xd9c2, 0x8273,\n    /* 0x5000 .. 0x50ff */\n    0x8274, 0x8275, 0x8276, 0x8277, 0x8278, 0x8279, 0x827a, 0x827b,\n    0x827c, 0x827d, 0x827e, 0x8280, 0xd9c4, 0xb1b6, 0x8281, 0xd9bf,\n    0x8282, 0x8283, 0xb5b9, 0x8284, 0xbef3, 0x8285, 0x8286, 0x8287,\n    0xccc8, 0xbaf2, 0xd2d0, 0x8288, 0xd9c3, 0x8289, 0x828a, 0xbde8,\n    0x828b, 0xb3ab, 0x828c, 0x828d, 0x828e, 0xd9c5, 0xbeeb, 0x828f,\n    0xd9c6, 0xd9bb, 0xc4df, 0x8290, 0xd9be, 0xd9c1, 0xd9c0, 0x8291,\n    0x8292, 0x8293, 0x8294, 0x8295, 0x8296, 0x8297, 0x8298, 0x8299,\n    0x829a, 0x829b, 0xd5ae, 0x829c, 0xd6b5, 0x829d, 0xc7e3, 0x829e,\n    0x829f, 0x82a0, 0x82a1, 0xd9c8, 0x82a2, 0x82a3, 0x82a4, 0xbcd9,\n    0xd9ca, 0x82a5, 0x82a6, 0x82a7, 0xd9bc, 0x82a8, 0xd9cb, 0xc6ab,\n    0x82a9, 0x82aa, 0x82ab, 0x82ac, 0x82ad, 0xd9c9, 0x82ae, 0x82af,\n    0x82b0, 0x82b1, 0xd7f6, 0x82b2, 0xcda3, 0x82b3, 0x82b4, 0x82b5,\n    0x82b6, 0x82b7, 0x82b8, 0x82b9, 0x82ba, 0xbda1, 0x82bb, 0x82bc,\n    0x82bd, 0x82be, 0x82bf, 0x82c0, 0xd9cc, 0x82c1, 0x82c2, 0x82c3,\n    0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0x82c9, 0xc5bc, 0xcdb5,\n    0x82ca, 0x82cb, 0x82cc, 0xd9cd, 0x82cd, 0x82ce, 0xd9c7, 0xb3a5,\n    0xbffe, 0x82cf, 0x82d0, 0x82d1, 0x82d2, 0xb8b5, 0x82d3, 0x82d4,\n    0xc0fc, 0x82d5, 0x82d6, 0x82d7, 0x82d8, 0xb0f8, 0x82d9, 0x82da,\n    0x82db, 0x82dc, 0x82dd, 0x82de, 0x82df, 0x82e0, 0x82e1, 0x82e2,\n    0x82e3, 0x82e4, 0x82e5, 0x82e6, 0x82e7, 0x82e8, 0x82e9, 0x82ea,\n    0x82eb, 0x82ec, 0x82ed, 0xb4f6, 0x82ee, 0xd9ce, 0x82ef, 0xd9cf,\n    0xb4a2, 0xd9d0, 0x82f0, 0x82f1, 0xb4df, 0x82f2, 0x82f3, 0x82f4,\n    0x82f5, 0x82f6, 0xb0c1, 0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb,\n    0x82fc, 0x82fd, 0xd9d1, 0xc9b5, 0x82fe, 0x8340, 0x8341, 0x8342,\n    0x8343, 0x8344, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,\n    0x834b, 0x834c, 0x834d, 0x834e, 0x834f, 0x8350, 0x8351, 0xcff1,\n    0x8352, 0x8353, 0x8354, 0x8355, 0x8356, 0x8357, 0xd9d2, 0x8358,\n    0x8359, 0x835a, 0xc1c5, 0x835b, 0x835c, 0x835d, 0x835e, 0x835f,\n    0x8360, 0x8361, 0x8362, 0x8363, 0x8364, 0x8365, 0xd9d6, 0xc9ae,\n    0x8366, 0x8367, 0x8368, 0x8369, 0xd9d5, 0xd9d4, 0xd9d7, 0x836a,\n    0x836b, 0x836c, 0x836d, 0xcbdb, 0x836e, 0xbda9, 0x836f, 0x8370,\n    0x8371, 0x8372, 0x8373, 0xc6a7, 0x8374, 0x8375, 0x8376, 0x8377,\n    /* 0x5100 .. 0x51ff */\n    0x8378, 0x8379, 0x837a, 0x837b, 0x837c, 0x837d, 0xd9d3, 0xd9d8,\n    0x837e, 0x8380, 0x8381, 0xd9d9, 0x8382, 0x8383, 0x8384, 0x8385,\n    0x8386, 0x8387, 0xc8e5, 0x8388, 0x8389, 0x838a, 0x838b, 0x838c,\n    0x838d, 0x838e, 0x838f, 0x8390, 0x8391, 0x8392, 0x8393, 0x8394,\n    0x8395, 0xc0dc, 0x8396, 0x8397, 0x8398, 0x8399, 0x839a, 0x839b,\n    0x839c, 0x839d, 0x839e, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3,\n    0x83a4, 0x83a5, 0x83a6, 0x83a7, 0x83a8, 0x83a9, 0x83aa, 0x83ab,\n    0x83ac, 0x83ad, 0x83ae, 0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb6f9,\n    0xd8a3, 0xd4ca, 0x83b3, 0xd4aa, 0xd0d6, 0xb3e4, 0xd5d7, 0x83b4,\n    0xcfc8, 0xb9e2, 0x83b5, 0xbfcb, 0x83b6, 0xc3e2, 0x83b7, 0x83b8,\n    0x83b9, 0xb6d2, 0x83ba, 0x83bb, 0xcdc3, 0xd9ee, 0xd9f0, 0x83bc,\n    0x83bd, 0x83be, 0xb5b3, 0x83bf, 0xb6b5, 0x83c0, 0x83c1, 0x83c2,\n    0x83c3, 0x83c4, 0xbea4, 0x83c5, 0x83c6, 0xc8eb, 0x83c7, 0x83c8,\n    0xc8ab, 0x83c9, 0x83ca, 0xb0cb, 0xb9ab, 0xc1f9, 0xd9e2, 0x83cb,\n    0xc0bc, 0xb9b2, 0x83cc, 0xb9d8, 0xd0cb, 0xb1f8, 0xc6e4, 0xbedf,\n    0xb5e4, 0xd7c8, 0x83cd, 0xd1f8, 0xbce6, 0xcade, 0x83ce, 0x83cf,\n    0xbcbd, 0xd9e6, 0xd8e7, 0x83d0, 0x83d1, 0xc4da, 0x83d2, 0x83d3,\n    0xb8d4, 0xc8bd, 0x83d4, 0x83d5, 0xb2e1, 0xd4d9, 0x83d6, 0x83d7,\n    0x83d8, 0x83d9, 0xc3b0, 0x83da, 0x83db, 0xc3e1, 0xdaa2, 0xc8df,\n    0x83dc, 0xd0b4, 0x83dd, 0xbefc, 0xc5a9, 0x83de, 0x83df, 0x83e0,\n    0xb9da, 0x83e1, 0xdaa3, 0x83e2, 0xd4a9, 0xdaa4, 0x83e3, 0x83e4,\n    0x83e5, 0x83e6, 0x83e7, 0xd9fb, 0xb6ac, 0x83e8, 0x83e9, 0xb7eb,\n    0xb1f9, 0xd9fc, 0xb3e5, 0xbef6, 0x83ea, 0xbff6, 0xd2b1, 0xc0e4,\n    0x83eb, 0x83ec, 0x83ed, 0xb6b3, 0xd9fe, 0xd9fd, 0x83ee, 0x83ef,\n    0xbebb, 0x83f0, 0x83f1, 0x83f2, 0xc6e0, 0x83f3, 0xd7bc, 0xdaa1,\n    0x83f4, 0xc1b9, 0x83f5, 0xb5f2, 0xc1e8, 0x83f6, 0x83f7, 0xbcf5,\n    0x83f8, 0xb4d5, 0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe,\n    0x8440, 0x8441, 0x8442, 0xc1dd, 0x8443, 0xc4fd, 0x8444, 0x8445,\n    0xbcb8, 0xb7b2, 0x8446, 0x8447, 0xb7ef, 0x8448, 0x8449, 0x844a,\n    0x844b, 0x844c, 0x844d, 0xd9ec, 0x844e, 0xc6be, 0x844f, 0xbfad,\n    0xbbcb, 0x8450, 0x8451, 0xb5ca, 0x8452, 0xdbc9, 0xd0d7, 0x8453,\n    0xcdb9, 0xb0bc, 0xb3f6, 0xbbf7, 0xdbca, 0xbaaf, 0x8454, 0xd4e4,\n    /* 0x5200 .. 0x52ff */\n    0xb5b6, 0xb5f3, 0xd8d6, 0xc8d0, 0x8455, 0x8456, 0xb7d6, 0xc7d0,\n    0xd8d7, 0x8457, 0xbfaf, 0x8458, 0x8459, 0xdbbb, 0xd8d8, 0x845a,\n    0x845b, 0xd0cc, 0xbbae, 0x845c, 0x845d, 0x845e, 0xebbe, 0xc1d0,\n    0xc1f5, 0xd4f2, 0xb8d5, 0xb4b4, 0x845f, 0xb3f5, 0x8460, 0x8461,\n    0xc9be, 0x8462, 0x8463, 0x8464, 0xc5d0, 0x8465, 0x8466, 0x8467,\n    0xc5d9, 0xc0fb, 0x8468, 0xb1f0, 0x8469, 0xd8d9, 0xb9ce, 0x846a,\n    0xb5bd, 0x846b, 0x846c, 0xd8da, 0x846d, 0x846e, 0xd6c6, 0xcba2,\n    0xc8af, 0xc9b2, 0xb4cc, 0xbfcc, 0x846f, 0xb9f4, 0x8470, 0xd8db,\n    0xd8dc, 0xb6e7, 0xbcc1, 0xccea, 0x8471, 0x8472, 0x8473, 0x8474,\n    0x8475, 0x8476, 0xcff7, 0x8477, 0xd8dd, 0xc7b0, 0x8478, 0x8479,\n    0xb9d0, 0xbda3, 0x847a, 0x847b, 0xccde, 0x847c, 0xc6ca, 0x847d,\n    0x847e, 0x8480, 0x8481, 0x8482, 0xd8e0, 0x8483, 0xd8de, 0x8484,\n    0x8485, 0xd8df, 0x8486, 0x8487, 0x8488, 0xb0fe, 0x8489, 0xbee7,\n    0x848a, 0xcaa3, 0xbcf4, 0x848b, 0x848c, 0x848d, 0x848e, 0xb8b1,\n    0x848f, 0x8490, 0xb8ee, 0x8491, 0x8492, 0x8493, 0x8494, 0x8495,\n    0x8496, 0x8497, 0x8498, 0x8499, 0x849a, 0xd8e2, 0x849b, 0xbdcb,\n    0x849c, 0xd8e4, 0xd8e3, 0x849d, 0x849e, 0x849f, 0x84a0, 0x84a1,\n    0xc5fc, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6, 0x84a7, 0x84a8,\n    0xd8e5, 0x84a9, 0x84aa, 0xd8e6, 0x84ab, 0x84ac, 0x84ad, 0x84ae,\n    0x84af, 0x84b0, 0x84b1, 0xc1a6, 0x84b2, 0xc8b0, 0xb0ec, 0xb9a6,\n    0xbcd3, 0xcef1, 0xdbbd, 0xc1d3, 0x84b3, 0x84b4, 0x84b5, 0x84b6,\n    0xb6af, 0xd6fa, 0xc5ac, 0xbdd9, 0xdbbe, 0xdbbf, 0x84b7, 0x84b8,\n    0x84b9, 0xc0f8, 0xbea2, 0xc0cd, 0x84ba, 0x84bb, 0x84bc, 0x84bd,\n    0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2, 0x84c3, 0xdbc0, 0xcac6,\n    0x84c4, 0x84c5, 0x84c6, 0xb2aa, 0x84c7, 0x84c8, 0x84c9, 0xd3c2,\n    0x84ca, 0xc3e3, 0x84cb, 0xd1ab, 0x84cc, 0x84cd, 0x84ce, 0x84cf,\n    0xdbc2, 0x84d0, 0xc0d5, 0x84d1, 0x84d2, 0x84d3, 0xdbc3, 0x84d4,\n    0xbfb1, 0x84d5, 0x84d6, 0x84d7, 0x84d8, 0x84d9, 0x84da, 0xc4bc,\n    0x84db, 0x84dc, 0x84dd, 0x84de, 0xc7da, 0x84df, 0x84e0, 0x84e1,\n    0x84e2, 0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9,\n    0xdbc4, 0x84ea, 0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0,\n    0x84f1, 0xd9e8, 0xc9d7, 0x84f2, 0x84f3, 0x84f4, 0xb9b4, 0xcef0,\n    /* 0x5300 .. 0x53ff */\n    0xd4c8, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0xb0fc, 0xb4d2, 0x84f9,\n    0xd0d9, 0x84fa, 0x84fb, 0x84fc, 0x84fd, 0xd9e9, 0x84fe, 0xdecb,\n    0xd9eb, 0x8540, 0x8541, 0x8542, 0x8543, 0xd8b0, 0xbbaf, 0xb1b1,\n    0x8544, 0xb3d7, 0xd8ce, 0x8545, 0x8546, 0xd4d1, 0x8547, 0x8548,\n    0xbdb3, 0xbfef, 0x8549, 0xcfbb, 0x854a, 0x854b, 0xd8d0, 0x854c,\n    0x854d, 0x854e, 0xb7cb, 0x854f, 0x8550, 0x8551, 0xd8d1, 0x8552,\n    0x8553, 0x8554, 0x8555, 0x8556, 0x8557, 0x8558, 0x8559, 0x855a,\n    0x855b, 0xc6a5, 0xc7f8, 0xd2bd, 0x855c, 0x855d, 0xd8d2, 0xc4e4,\n    0x855e, 0xcaae, 0x855f, 0xc7a7, 0x8560, 0xd8a6, 0x8561, 0xc9fd,\n    0xcee7, 0xbbdc, 0xb0eb, 0x8562, 0x8563, 0x8564, 0xbbaa, 0xd0ad,\n    0x8565, 0xb1b0, 0xd7e4, 0xd7bf, 0x8566, 0xb5a5, 0xc2f4, 0xc4cf,\n    0x8567, 0x8568, 0xb2a9, 0x8569, 0xb2b7, 0x856a, 0xb1e5, 0xdfb2,\n    0xd5bc, 0xbfa8, 0xc2ac, 0xd8d5, 0xc2b1, 0x856b, 0xd8d4, 0xced4,\n    0x856c, 0xdae0, 0x856d, 0xcec0, 0x856e, 0x856f, 0xd8b4, 0xc3ae,\n    0xd3a1, 0xcea3, 0x8570, 0xbcb4, 0xc8b4, 0xc2d1, 0x8571, 0xbeed,\n    0xd0b6, 0x8572, 0xdae1, 0x8573, 0x8574, 0x8575, 0x8576, 0xc7e4,\n    0x8577, 0x8578, 0xb3a7, 0x8579, 0xb6f2, 0xccfc, 0xc0fa, 0x857a,\n    0x857b, 0xc0f7, 0x857c, 0xd1b9, 0xd1e1, 0xd8c7, 0x857d, 0x857e,\n    0x8580, 0x8581, 0x8582, 0x8583, 0x8584, 0xb2de, 0x8585, 0x8586,\n    0xc0e5, 0x8587, 0xbaf1, 0x8588, 0x8589, 0xd8c8, 0x858a, 0xd4ad,\n    0x858b, 0x858c, 0xcfe1, 0xd8c9, 0x858d, 0xd8ca, 0xcfc3, 0x858e,\n    0xb3f8, 0xbec7, 0x858f, 0x8590, 0x8591, 0x8592, 0xd8cb, 0x8593,\n    0x8594, 0x8595, 0x8596, 0x8597, 0x8598, 0x8599, 0xdbcc, 0x859a,\n    0x859b, 0x859c, 0x859d, 0xc8a5, 0x859e, 0x859f, 0x85a0, 0xcfd8,\n    0x85a1, 0xc8fe, 0xb2ce, 0x85a2, 0x85a3, 0x85a4, 0x85a5, 0x85a6,\n    0xd3d6, 0xb2e6, 0xbcb0, 0xd3d1, 0xcbab, 0xb7b4, 0x85a7, 0x85a8,\n    0x85a9, 0xb7a2, 0x85aa, 0x85ab, 0xcae5, 0x85ac, 0xc8a1, 0xcadc,\n    0xb1e4, 0xd0f0, 0x85ad, 0xc5d1, 0x85ae, 0x85af, 0x85b0, 0xdbc5,\n    0xb5fe, 0x85b1, 0x85b2, 0xbfda, 0xb9c5, 0xbee4, 0xc1ed, 0x85b3,\n    0xdfb6, 0xdfb5, 0xd6bb, 0xbdd0, 0xd5d9, 0xb0c8, 0xb6a3, 0xbfc9,\n    0xcca8, 0xdfb3, 0xcab7, 0xd3d2, 0x85b4, 0xd8cf, 0xd2b6, 0xbac5,\n    0xcbbe, 0xccbe, 0x85b5, 0xdfb7, 0xb5f0, 0xdfb4, 0x85b6, 0x85b7,\n    /* 0x5400 .. 0x54ff */\n    0x85b8, 0xd3f5, 0x85b9, 0xb3d4, 0xb8f7, 0x85ba, 0xdfba, 0x85bb,\n    0xbacf, 0xbcaa, 0xb5f5, 0x85bc, 0xcdac, 0xc3fb, 0xbaf3, 0xc0f4,\n    0xcdc2, 0xcff2, 0xdfb8, 0xcfc5, 0x85bd, 0xc2c0, 0xdfb9, 0xc2f0,\n    0x85be, 0x85bf, 0x85c0, 0xbefd, 0x85c1, 0xc1df, 0xcdcc, 0xd2f7,\n    0xb7cd, 0xdfc1, 0x85c2, 0xdfc4, 0x85c3, 0x85c4, 0xb7f1, 0xb0c9,\n    0xb6d6, 0xb7d4, 0x85c5, 0xbaac, 0xccfd, 0xbfd4, 0xcbb1, 0xc6f4,\n    0x85c6, 0xd6a8, 0xdfc5, 0x85c7, 0xcee2, 0xb3b3, 0x85c8, 0x85c9,\n    0xcefc, 0xb4b5, 0x85ca, 0xcec7, 0xbaf0, 0x85cb, 0xcee1, 0x85cc,\n    0xd1bd, 0x85cd, 0x85ce, 0xdfc0, 0x85cf, 0x85d0, 0xb4f4, 0x85d1,\n    0xb3ca, 0x85d2, 0xb8e6, 0xdfbb, 0x85d3, 0x85d4, 0x85d5, 0x85d6,\n    0xc4c5, 0x85d7, 0xdfbc, 0xdfbd, 0xdfbe, 0xc5bb, 0xdfbf, 0xdfc2,\n    0xd4b1, 0xdfc3, 0x85d8, 0xc7ba, 0xced8, 0x85d9, 0x85da, 0x85db,\n    0x85dc, 0x85dd, 0xc4d8, 0x85de, 0xdfca, 0x85df, 0xdfcf, 0x85e0,\n    0xd6dc, 0x85e1, 0x85e2, 0x85e3, 0x85e4, 0x85e5, 0x85e6, 0x85e7,\n    0x85e8, 0xdfc9, 0xdfda, 0xceb6, 0x85e9, 0xbac7, 0xdfce, 0xdfc8,\n    0xc5de, 0x85ea, 0x85eb, 0xc9eb, 0xbaf4, 0xc3fc, 0x85ec, 0x85ed,\n    0xbed7, 0x85ee, 0xdfc6, 0x85ef, 0xdfcd, 0x85f0, 0xc5d8, 0x85f1,\n    0x85f2, 0x85f3, 0x85f4, 0xd5a6, 0xbacd, 0x85f5, 0xbecc, 0xd3bd,\n    0xb8c0, 0x85f6, 0xd6e4, 0x85f7, 0xdfc7, 0xb9be, 0xbfa7, 0x85f8,\n    0x85f9, 0xc1fc, 0xdfcb, 0xdfcc, 0x85fa, 0xdfd0, 0x85fb, 0x85fc,\n    0x85fd, 0x85fe, 0x8640, 0xdfdb, 0xdfe5, 0x8641, 0xdfd7, 0xdfd6,\n    0xd7c9, 0xdfe3, 0xdfe4, 0xe5eb, 0xd2a7, 0xdfd2, 0x8642, 0xbfa9,\n    0x8643, 0xd4db, 0x8644, 0xbfc8, 0xdfd4, 0x8645, 0x8646, 0x8647,\n    0xcfcc, 0x8648, 0x8649, 0xdfdd, 0x864a, 0xd1ca, 0x864b, 0xdfde,\n    0xb0a7, 0xc6b7, 0xdfd3, 0x864c, 0xbae5, 0x864d, 0xb6df, 0xcddb,\n    0xb9fe, 0xd4d5, 0x864e, 0x864f, 0xdfdf, 0xcfec, 0xb0a5, 0xdfe7,\n    0xdfd1, 0xd1c6, 0xdfd5, 0xdfd8, 0xdfd9, 0xdfdc, 0x8650, 0xbba9,\n    0x8651, 0xdfe0, 0xdfe1, 0x8652, 0xdfe2, 0xdfe6, 0xdfe8, 0xd3b4,\n    0x8653, 0x8654, 0x8655, 0x8656, 0x8657, 0xb8e7, 0xc5b6, 0xdfea,\n    0xc9da, 0xc1a8, 0xc4c4, 0x8658, 0x8659, 0xbfde, 0xcff8, 0x865a,\n    0x865b, 0x865c, 0xd5dc, 0xdfee, 0x865d, 0x865e, 0x865f, 0x8660,\n    0x8661, 0x8662, 0xb2b8, 0x8663, 0xbadf, 0xdfec, 0x8664, 0xdbc1,\n    /* 0x5500 .. 0x55ff */\n    0x8665, 0xd1e4, 0x8666, 0x8667, 0x8668, 0x8669, 0xcbf4, 0xb4bd,\n    0x866a, 0xb0a6, 0x866b, 0x866c, 0x866d, 0x866e, 0x866f, 0xdff1,\n    0xccc6, 0xdff2, 0x8670, 0x8671, 0xdfed, 0x8672, 0x8673, 0x8674,\n    0x8675, 0x8676, 0x8677, 0xdfe9, 0x8678, 0x8679, 0x867a, 0x867b,\n    0xdfeb, 0x867c, 0xdfef, 0xdff0, 0xbbbd, 0x867d, 0x867e, 0xdff3,\n    0x8680, 0x8681, 0xdff4, 0x8682, 0xbba3, 0x8683, 0xcadb, 0xcea8,\n    0xe0a7, 0xb3aa, 0x8684, 0xe0a6, 0x8685, 0x8686, 0x8687, 0xe0a1,\n    0x8688, 0x8689, 0x868a, 0x868b, 0xdffe, 0x868c, 0xcdd9, 0xdffc,\n    0x868d, 0xdffa, 0x868e, 0xbfd0, 0xd7c4, 0x868f, 0xc9cc, 0x8690,\n    0x8691, 0xdff8, 0xb0a1, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696,\n    0xdffd, 0x8697, 0x8698, 0x8699, 0x869a, 0xdffb, 0xe0a2, 0x869b,\n    0x869c, 0x869d, 0x869e, 0x869f, 0xe0a8, 0x86a0, 0x86a1, 0x86a2,\n    0x86a3, 0xb7c8, 0x86a4, 0x86a5, 0xc6a1, 0xc9b6, 0xc0b2, 0xdff5,\n    0x86a6, 0x86a7, 0xc5be, 0x86a8, 0xd8c4, 0xdff9, 0xc4f6, 0x86a9,\n    0x86aa, 0x86ab, 0x86ac, 0x86ad, 0x86ae, 0xe0a3, 0xe0a4, 0xe0a5,\n    0xd0a5, 0x86af, 0x86b0, 0xe0b4, 0xcce4, 0x86b1, 0xe0b1, 0x86b2,\n    0xbfa6, 0xe0af, 0xceb9, 0xe0ab, 0xc9c6, 0x86b3, 0x86b4, 0xc0ae,\n    0xe0ae, 0xbaed, 0xbab0, 0xe0a9, 0x86b5, 0x86b6, 0x86b7, 0xdff6,\n    0x86b8, 0xe0b3, 0x86b9, 0x86ba, 0xe0b8, 0x86bb, 0x86bc, 0x86bd,\n    0xb4ad, 0xe0b9, 0x86be, 0x86bf, 0xcfb2, 0xbac8, 0x86c0, 0xe0b0,\n    0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5, 0x86c6, 0x86c7, 0xd0fa,\n    0x86c8, 0x86c9, 0x86ca, 0x86cb, 0x86cc, 0x86cd, 0x86ce, 0x86cf,\n    0x86d0, 0xe0ac, 0x86d1, 0xd4fb, 0x86d2, 0xdff7, 0x86d3, 0xc5e7,\n    0x86d4, 0xe0ad, 0x86d5, 0xd3f7, 0x86d6, 0xe0b6, 0xe0b7, 0x86d7,\n    0x86d8, 0x86d9, 0x86da, 0x86db, 0xe0c4, 0xd0e1, 0x86dc, 0x86dd,\n    0x86de, 0xe0bc, 0x86df, 0x86e0, 0xe0c9, 0xe0ca, 0x86e1, 0x86e2,\n    0x86e3, 0xe0be, 0xe0aa, 0xc9a4, 0xe0c1, 0x86e4, 0xe0b2, 0x86e5,\n    0x86e6, 0x86e7, 0x86e8, 0x86e9, 0xcac8, 0xe0c3, 0x86ea, 0xe0b5,\n    0x86eb, 0xcecb, 0x86ec, 0xcbc3, 0xe0cd, 0xe0c6, 0xe0c2, 0x86ed,\n    0xe0cb, 0x86ee, 0xe0ba, 0xe0bf, 0xe0c0, 0x86ef, 0x86f0, 0xe0c5,\n    0x86f1, 0x86f2, 0xe0c7, 0xe0c8, 0x86f3, 0xe0cc, 0x86f4, 0xe0bb,\n    0x86f5, 0x86f6, 0x86f7, 0x86f8, 0x86f9, 0xcbd4, 0xe0d5, 0x86fa,\n    /* 0x5600 .. 0x56ff */\n    0xe0d6, 0xe0d2, 0x86fb, 0x86fc, 0x86fd, 0x86fe, 0x8740, 0x8741,\n    0xe0d0, 0xbcce, 0x8742, 0x8743, 0xe0d1, 0x8744, 0xb8c2, 0xd8c5,\n    0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a, 0x874b, 0x874c,\n    0xd0ea, 0x874d, 0x874e, 0xc2ef, 0x874f, 0x8750, 0xe0cf, 0xe0bd,\n    0x8751, 0x8752, 0x8753, 0xe0d4, 0xe0d3, 0x8754, 0x8755, 0xe0d7,\n    0x8756, 0x8757, 0x8758, 0x8759, 0xe0dc, 0xe0d8, 0x875a, 0x875b,\n    0x875c, 0xd6f6, 0xb3b0, 0x875d, 0xd7ec, 0x875e, 0xcbbb, 0x875f,\n    0x8760, 0xe0da, 0x8761, 0xcefb, 0x8762, 0x8763, 0x8764, 0xbad9,\n    0x8765, 0x8766, 0x8767, 0x8768, 0x8769, 0x876a, 0x876b, 0x876c,\n    0x876d, 0x876e, 0x876f, 0x8770, 0xe0e1, 0xe0dd, 0xd2ad, 0x8771,\n    0x8772, 0x8773, 0x8774, 0x8775, 0xe0e2, 0x8776, 0x8777, 0xe0db,\n    0xe0d9, 0xe0df, 0x8778, 0x8779, 0xe0e0, 0x877a, 0x877b, 0x877c,\n    0x877d, 0x877e, 0xe0de, 0x8780, 0xe0e4, 0x8781, 0x8782, 0x8783,\n    0xc6f7, 0xd8ac, 0xd4eb, 0xe0e6, 0xcac9, 0x8784, 0x8785, 0x8786,\n    0x8787, 0xe0e5, 0x8788, 0x8789, 0x878a, 0x878b, 0xb8c1, 0x878c,\n    0x878d, 0x878e, 0x878f, 0xe0e7, 0xe0e8, 0x8790, 0x8791, 0x8792,\n    0x8793, 0x8794, 0x8795, 0x8796, 0x8797, 0xe0e9, 0xe0e3, 0x8798,\n    0x8799, 0x879a, 0x879b, 0x879c, 0x879d, 0x879e, 0xbabf, 0xcce7,\n    0x879f, 0x87a0, 0x87a1, 0xe0ea, 0x87a2, 0x87a3, 0x87a4, 0x87a5,\n    0x87a6, 0x87a7, 0x87a8, 0x87a9, 0x87aa, 0x87ab, 0x87ac, 0x87ad,\n    0x87ae, 0x87af, 0x87b0, 0xcff9, 0x87b1, 0x87b2, 0x87b3, 0x87b4,\n    0x87b5, 0x87b6, 0x87b7, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0xe0eb,\n    0x87bc, 0x87bd, 0x87be, 0x87bf, 0x87c0, 0x87c1, 0x87c2, 0xc8c2,\n    0x87c3, 0x87c4, 0x87c5, 0x87c6, 0xbdc0, 0x87c7, 0x87c8, 0x87c9,\n    0x87ca, 0x87cb, 0x87cc, 0x87cd, 0x87ce, 0x87cf, 0x87d0, 0x87d1,\n    0x87d2, 0x87d3, 0xc4d2, 0x87d4, 0x87d5, 0x87d6, 0x87d7, 0x87d8,\n    0x87d9, 0x87da, 0x87db, 0x87dc, 0xe0ec, 0x87dd, 0x87de, 0xe0ed,\n    0x87df, 0x87e0, 0xc7f4, 0xcbc4, 0x87e1, 0xe0ee, 0xbbd8, 0xd8b6,\n    0xd2f2, 0xe0ef, 0xcdc5, 0x87e2, 0xb6da, 0x87e3, 0x87e4, 0x87e5,\n    0x87e6, 0x87e7, 0x87e8, 0xe0f1, 0x87e9, 0xd4b0, 0x87ea, 0x87eb,\n    0xc0a7, 0xb4d1, 0x87ec, 0x87ed, 0xcea7, 0xe0f0, 0x87ee, 0x87ef,\n    0x87f0, 0xe0f2, 0xb9cc, 0x87f1, 0x87f2, 0xb9fa, 0xcdbc, 0xe0f3,\n    /* 0x5700 .. 0x57ff */\n    0x87f3, 0x87f4, 0x87f5, 0xc6d4, 0xe0f4, 0x87f6, 0xd4b2, 0x87f7,\n    0xc8a6, 0xe0f6, 0xe0f5, 0x87f8, 0x87f9, 0x87fa, 0x87fb, 0x87fc,\n    0x87fd, 0x87fe, 0x8840, 0x8841, 0x8842, 0x8843, 0x8844, 0x8845,\n    0x8846, 0x8847, 0x8848, 0x8849, 0xe0f7, 0x884a, 0x884b, 0xcdc1,\n    0x884c, 0x884d, 0x884e, 0xcaa5, 0x884f, 0x8850, 0x8851, 0x8852,\n    0xd4da, 0xdbd7, 0xdbd9, 0x8853, 0xdbd8, 0xb9e7, 0xdbdc, 0xdbdd,\n    0xb5d8, 0x8854, 0x8855, 0xdbda, 0x8856, 0x8857, 0x8858, 0x8859,\n    0x885a, 0xdbdb, 0xb3a1, 0xdbdf, 0x885b, 0x885c, 0xbbf8, 0x885d,\n    0xd6b7, 0x885e, 0xdbe0, 0x885f, 0x8860, 0x8861, 0x8862, 0xbef9,\n    0x8863, 0x8864, 0xb7bb, 0x8865, 0xdbd0, 0xccae, 0xbfb2, 0xbbb5,\n    0xd7f8, 0xbfd3, 0x8866, 0x8867, 0x8868, 0x8869, 0x886a, 0xbfe9,\n    0x886b, 0x886c, 0xbce1, 0xccb3, 0xdbde, 0xb0d3, 0xceeb, 0xb7d8,\n    0xd7b9, 0xc6c2, 0x886d, 0x886e, 0xc0a4, 0x886f, 0xccb9, 0x8870,\n    0xdbe7, 0xdbe1, 0xc6ba, 0xdbe3, 0x8871, 0xdbe8, 0x8872, 0xc5f7,\n    0x8873, 0x8874, 0x8875, 0xdbea, 0x8876, 0x8877, 0xdbe9, 0xbfc0,\n    0x8878, 0x8879, 0x887a, 0xdbe6, 0xdbe5, 0x887b, 0x887c, 0x887d,\n    0x887e, 0x8880, 0xb4b9, 0xc0ac, 0xc2a2, 0xdbe2, 0xdbe4, 0x8881,\n    0x8882, 0x8883, 0x8884, 0xd0cd, 0xdbed, 0x8885, 0x8886, 0x8887,\n    0x8888, 0x8889, 0xc0dd, 0xdbf2, 0x888a, 0x888b, 0x888c, 0x888d,\n    0x888e, 0x888f, 0x8890, 0xb6e2, 0x8891, 0x8892, 0x8893, 0x8894,\n    0xdbf3, 0xdbd2, 0xb9b8, 0xd4ab, 0xdbec, 0x8895, 0xbfd1, 0xdbf0,\n    0x8896, 0xdbd1, 0x8897, 0xb5e6, 0x8898, 0xdbeb, 0xbfe5, 0x8899,\n    0x889a, 0x889b, 0xdbee, 0x889c, 0xdbf1, 0x889d, 0x889e, 0x889f,\n    0xdbf9, 0x88a0, 0x88a1, 0x88a2, 0x88a3, 0x88a4, 0x88a5, 0x88a6,\n    0x88a7, 0x88a8, 0xb9a1, 0xb0a3, 0x88a9, 0x88aa, 0x88ab, 0x88ac,\n    0x88ad, 0x88ae, 0x88af, 0xc2f1, 0x88b0, 0x88b1, 0xb3c7, 0xdbef,\n    0x88b2, 0x88b3, 0xdbf8, 0x88b4, 0xc6d2, 0xdbf4, 0x88b5, 0x88b6,\n    0xdbf5, 0xdbf7, 0xdbf6, 0x88b7, 0x88b8, 0xdbfe, 0x88b9, 0xd3f2,\n    0xb2ba, 0x88ba, 0x88bb, 0x88bc, 0xdbfd, 0x88bd, 0x88be, 0x88bf,\n    0x88c0, 0x88c1, 0x88c2, 0x88c3, 0x88c4, 0xdca4, 0x88c5, 0xdbfb,\n    0x88c6, 0x88c7, 0x88c8, 0x88c9, 0xdbfa, 0x88ca, 0x88cb, 0x88cc,\n    0xdbfc, 0xc5e0, 0xbbf9, 0x88cd, 0x88ce, 0xdca3, 0x88cf, 0x88d0,\n    /* 0x5800 .. 0x58ff */\n    0xdca5, 0x88d1, 0xccc3, 0x88d2, 0x88d3, 0x88d4, 0xb6d1, 0xddc0,\n    0x88d5, 0x88d6, 0x88d7, 0xdca1, 0x88d8, 0xdca2, 0x88d9, 0x88da,\n    0x88db, 0xc7b5, 0x88dc, 0x88dd, 0x88de, 0xb6e9, 0x88df, 0x88e0,\n    0x88e1, 0xdca7, 0x88e2, 0x88e3, 0x88e4, 0x88e5, 0xdca6, 0x88e6,\n    0xdca9, 0xb1a4, 0x88e7, 0x88e8, 0xb5cc, 0x88e9, 0x88ea, 0x88eb,\n    0x88ec, 0x88ed, 0xbfb0, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,\n    0xd1df, 0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb6c2, 0x88f7, 0x88f8,\n    0x88f9, 0x88fa, 0x88fb, 0x88fc, 0x88fd, 0x88fe, 0x8940, 0x8941,\n    0x8942, 0x8943, 0x8944, 0x8945, 0xdca8, 0x8946, 0x8947, 0x8948,\n    0x8949, 0x894a, 0x894b, 0x894c, 0xcbfa, 0xebf3, 0x894d, 0x894e,\n    0x894f, 0xcbdc, 0x8950, 0x8951, 0xcbfe, 0x8952, 0x8953, 0x8954,\n    0xccc1, 0x8955, 0x8956, 0x8957, 0x8958, 0x8959, 0xc8fb, 0x895a,\n    0x895b, 0x895c, 0x895d, 0x895e, 0x895f, 0xdcaa, 0x8960, 0x8961,\n    0x8962, 0x8963, 0x8964, 0xccee, 0xdcab, 0x8965, 0x8966, 0x8967,\n    0x8968, 0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f,\n    0x8970, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0xdbd3, 0x8976,\n    0xdcaf, 0xdcac, 0x8977, 0xbeb3, 0x8978, 0xcafb, 0x8979, 0x897a,\n    0x897b, 0xdcad, 0x897c, 0x897d, 0x897e, 0x8980, 0x8981, 0x8982,\n    0x8983, 0x8984, 0xc9ca, 0xc4b9, 0x8985, 0x8986, 0x8987, 0x8988,\n    0x8989, 0xc7bd, 0xdcae, 0x898a, 0x898b, 0x898c, 0xd4f6, 0xd0e6,\n    0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992, 0x8993, 0x8994,\n    0xc4ab, 0xb6d5, 0x8995, 0x8996, 0x8997, 0x8998, 0x8999, 0x899a,\n    0x899b, 0x899c, 0x899d, 0x899e, 0x899f, 0x89a0, 0x89a1, 0x89a2,\n    0x89a3, 0x89a4, 0x89a5, 0x89a6, 0xdbd4, 0x89a7, 0x89a8, 0x89a9,\n    0x89aa, 0xb1da, 0x89ab, 0x89ac, 0x89ad, 0xdbd5, 0x89ae, 0x89af,\n    0x89b0, 0x89b1, 0x89b2, 0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7,\n    0x89b8, 0xdbd6, 0x89b9, 0x89ba, 0x89bb, 0xbabe, 0x89bc, 0x89bd,\n    0x89be, 0x89bf, 0x89c0, 0x89c1, 0x89c2, 0x89c3, 0x89c4, 0x89c5,\n    0x89c6, 0x89c7, 0x89c8, 0x89c9, 0xc8c0, 0x89ca, 0x89cb, 0x89cc,\n    0x89cd, 0x89ce, 0x89cf, 0xcabf, 0xc8c9, 0x89d0, 0xd7b3, 0x89d1,\n    0xc9f9, 0x89d2, 0x89d3, 0xbfc7, 0x89d4, 0x89d5, 0xbaf8, 0x89d6,\n    0x89d7, 0xd2bc, 0x89d8, 0x89d9, 0x89da, 0x89db, 0x89dc, 0x89dd,\n    /* 0x5900 .. 0x59ff */\n    0x89de, 0x89df, 0xe2ba, 0x89e0, 0xb4a6, 0x89e1, 0x89e2, 0xb1b8,\n    0x89e3, 0x89e4, 0x89e5, 0x89e6, 0x89e7, 0xb8b4, 0x89e8, 0xcfc4,\n    0x89e9, 0x89ea, 0x89eb, 0x89ec, 0xd9e7, 0xcfa6, 0xcde2, 0x89ed,\n    0x89ee, 0xd9ed, 0xb6e0, 0x89ef, 0xd2b9, 0x89f0, 0x89f1, 0xb9bb,\n    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0xe2b9, 0xe2b7, 0x89f6, 0xb4f3,\n    0x89f7, 0xccec, 0xccab, 0xb7f2, 0x89f8, 0xd8b2, 0xd1eb, 0xbabb,\n    0x89f9, 0xcaa7, 0x89fa, 0x89fb, 0xcdb7, 0x89fc, 0x89fd, 0xd2c4,\n    0xbfe4, 0xbcd0, 0xb6e1, 0x89fe, 0xdec5, 0x8a40, 0x8a41, 0x8a42,\n    0x8a43, 0xdec6, 0xdbbc, 0x8a44, 0xd1d9, 0x8a45, 0x8a46, 0xc6e6,\n    0xc4ce, 0xb7ee, 0x8a47, 0xb7dc, 0x8a48, 0x8a49, 0xbffc, 0xd7e0,\n    0x8a4a, 0xc6f5, 0x8a4b, 0x8a4c, 0xb1bc, 0xdec8, 0xbdb1, 0xccd7,\n    0xdeca, 0x8a4d, 0xdec9, 0x8a4e, 0x8a4f, 0x8a50, 0x8a51, 0x8a52,\n    0xb5ec, 0x8a53, 0xc9dd, 0x8a54, 0x8a55, 0xb0c2, 0x8a56, 0x8a57,\n    0x8a58, 0x8a59, 0x8a5a, 0x8a5b, 0x8a5c, 0x8a5d, 0x8a5e, 0x8a5f,\n    0x8a60, 0x8a61, 0x8a62, 0xc5ae, 0xc5ab, 0x8a63, 0xc4cc, 0x8a64,\n    0xbce9, 0xcbfd, 0x8a65, 0x8a66, 0x8a67, 0xbac3, 0x8a68, 0x8a69,\n    0x8a6a, 0xe5f9, 0xc8e7, 0xe5fa, 0xcdfd, 0x8a6b, 0xd7b1, 0xb8be,\n    0xc2e8, 0x8a6c, 0xc8d1, 0x8a6d, 0x8a6e, 0xe5fb, 0x8a6f, 0x8a70,\n    0x8a71, 0x8a72, 0xb6ca, 0xbccb, 0x8a73, 0x8a74, 0xd1fd, 0xe6a1,\n    0x8a75, 0xc3ee, 0x8a76, 0x8a77, 0x8a78, 0x8a79, 0xe6a4, 0x8a7a,\n    0x8a7b, 0x8a7c, 0x8a7d, 0xe5fe, 0xe6a5, 0xcdd7, 0x8a7e, 0x8a80,\n    0xb7c1, 0xe5fc, 0xe5fd, 0xe6a3, 0x8a81, 0x8a82, 0xc4dd, 0xe6a8,\n    0x8a83, 0x8a84, 0xe6a7, 0x8a85, 0x8a86, 0x8a87, 0x8a88, 0x8a89,\n    0x8a8a, 0xc3c3, 0x8a8b, 0xc6de, 0x8a8c, 0x8a8d, 0xe6aa, 0x8a8e,\n    0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94, 0xc4b7, 0x8a95,\n    0x8a96, 0x8a97, 0xe6a2, 0xcabc, 0x8a98, 0x8a99, 0x8a9a, 0x8a9b,\n    0xbde3, 0xb9c3, 0xe6a6, 0xd0d5, 0xceaf, 0x8a9c, 0x8a9d, 0xe6a9,\n    0xe6b0, 0x8a9e, 0xd2a6, 0x8a9f, 0xbdaa, 0xe6ad, 0x8aa0, 0x8aa1,\n    0x8aa2, 0x8aa3, 0x8aa4, 0xe6af, 0x8aa5, 0xc0d1, 0x8aa6, 0x8aa7,\n    0xd2cc, 0x8aa8, 0x8aa9, 0x8aaa, 0xbca7, 0x8aab, 0x8aac, 0x8aad,\n    0x8aae, 0x8aaf, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,\n    0x8ab6, 0xe6b1, 0x8ab7, 0xd2f6, 0x8ab8, 0x8ab9, 0x8aba, 0xd7cb,\n    /* 0x5a00 .. 0x5aff */\n    0x8abb, 0xcdfe, 0x8abc, 0xcdde, 0xc2a6, 0xe6ab, 0xe6ac, 0xbdbf,\n    0xe6ae, 0xe6b3, 0x8abd, 0x8abe, 0xe6b2, 0x8abf, 0x8ac0, 0x8ac1,\n    0x8ac2, 0xe6b6, 0x8ac3, 0xe6b8, 0x8ac4, 0x8ac5, 0x8ac6, 0x8ac7,\n    0xc4ef, 0x8ac8, 0x8ac9, 0x8aca, 0xc4c8, 0x8acb, 0x8acc, 0xbeea,\n    0xc9ef, 0x8acd, 0x8ace, 0xe6b7, 0x8acf, 0xb6f0, 0x8ad0, 0x8ad1,\n    0x8ad2, 0xc3e4, 0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0x8ad7, 0x8ad8,\n    0x8ad9, 0xd3e9, 0xe6b4, 0x8ada, 0xe6b5, 0x8adb, 0xc8a2, 0x8adc,\n    0x8add, 0x8ade, 0x8adf, 0x8ae0, 0xe6bd, 0x8ae1, 0x8ae2, 0x8ae3,\n    0xe6b9, 0x8ae4, 0x8ae5, 0x8ae6, 0x8ae7, 0x8ae8, 0xc6c5, 0x8ae9,\n    0x8aea, 0xcdf1, 0xe6bb, 0x8aeb, 0x8aec, 0x8aed, 0x8aee, 0x8aef,\n    0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0xe6bc, 0x8af5, 0x8af6,\n    0x8af7, 0x8af8, 0xbbe9, 0x8af9, 0x8afa, 0x8afb, 0x8afc, 0x8afd,\n    0x8afe, 0x8b40, 0xe6be, 0x8b41, 0x8b42, 0x8b43, 0x8b44, 0xe6ba,\n    0x8b45, 0x8b46, 0xc0b7, 0x8b47, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b,\n    0x8b4c, 0x8b4d, 0x8b4e, 0x8b4f, 0xd3a4, 0xe6bf, 0xc9f4, 0xe6c3,\n    0x8b50, 0x8b51, 0xe6c4, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0xd0f6,\n    0x8b56, 0x8b57, 0x8b58, 0x8b59, 0x8b5a, 0x8b5b, 0x8b5c, 0x8b5d,\n    0x8b5e, 0x8b5f, 0x8b60, 0x8b61, 0x8b62, 0x8b63, 0x8b64, 0x8b65,\n    0x8b66, 0x8b67, 0xc3bd, 0x8b68, 0x8b69, 0x8b6a, 0x8b6b, 0x8b6c,\n    0x8b6d, 0x8b6e, 0xc3c4, 0xe6c2, 0x8b6f, 0x8b70, 0x8b71, 0x8b72,\n    0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77, 0x8b78, 0x8b79, 0x8b7a,\n    0x8b7b, 0x8b7c, 0xe6c1, 0x8b7d, 0x8b7e, 0x8b80, 0x8b81, 0x8b82,\n    0x8b83, 0x8b84, 0xe6c7, 0xcfb1, 0x8b85, 0xebf4, 0x8b86, 0x8b87,\n    0xe6ca, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0xe6c5, 0x8b8d,\n    0x8b8e, 0xbcde, 0xc9a9, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93,\n    0x8b94, 0xbcb5, 0x8b95, 0x8b96, 0xcfd3, 0x8b97, 0x8b98, 0x8b99,\n    0x8b9a, 0x8b9b, 0xe6c8, 0x8b9c, 0xe6c9, 0x8b9d, 0xe6ce, 0x8b9e,\n    0xe6d0, 0x8b9f, 0x8ba0, 0x8ba1, 0xe6d1, 0x8ba2, 0x8ba3, 0x8ba4,\n    0xe6cb, 0xb5d5, 0x8ba5, 0xe6cc, 0x8ba6, 0x8ba7, 0xe6cf, 0x8ba8,\n    0x8ba9, 0xc4db, 0x8baa, 0xe6c6, 0x8bab, 0x8bac, 0x8bad, 0x8bae,\n    0x8baf, 0xe6cd, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,\n    0x8bb6, 0x8bb7, 0x8bb8, 0x8bb9, 0x8bba, 0x8bbb, 0x8bbc, 0x8bbd,\n    /* 0x5b00 .. 0x5bff */\n    0x8bbe, 0x8bbf, 0x8bc0, 0x8bc1, 0x8bc2, 0x8bc3, 0x8bc4, 0x8bc5,\n    0x8bc6, 0xe6d2, 0x8bc7, 0x8bc8, 0x8bc9, 0x8bca, 0x8bcb, 0x8bcc,\n    0x8bcd, 0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0x8bd2, 0xe6d4, 0xe6d3,\n    0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8, 0x8bd9, 0x8bda,\n    0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf, 0x8be0, 0x8be1, 0x8be2,\n    0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7, 0x8be8, 0x8be9, 0x8bea,\n    0x8beb, 0x8bec, 0xe6d5, 0x8bed, 0xd9f8, 0x8bee, 0x8bef, 0xe6d6,\n    0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6, 0x8bf7,\n    0xe6d7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,\n    0x8c40, 0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47,\n    0xd7d3, 0xe6dd, 0x8c48, 0xe6de, 0xbfd7, 0xd4d0, 0x8c49, 0xd7d6,\n    0xb4e6, 0xcbef, 0xe6da, 0xd8c3, 0xd7ce, 0xd0a2, 0x8c4a, 0xc3cf,\n    0x8c4b, 0x8c4c, 0xe6df, 0xbcbe, 0xb9c2, 0xe6db, 0xd1a7, 0x8c4d,\n    0x8c4e, 0xbaa2, 0xc2cf, 0x8c4f, 0xd8ab, 0x8c50, 0x8c51, 0x8c52,\n    0xcaeb, 0xe5ee, 0x8c53, 0xe6dc, 0x8c54, 0xb7f5, 0x8c55, 0x8c56,\n    0x8c57, 0x8c58, 0xc8e6, 0x8c59, 0x8c5a, 0xc4f5, 0x8c5b, 0x8c5c,\n    0xe5b2, 0xc4fe, 0x8c5d, 0xcbfc, 0xe5b3, 0xd5ac, 0x8c5e, 0xd3ee,\n    0xcad8, 0xb0b2, 0x8c5f, 0xcbce, 0xcdea, 0x8c60, 0x8c61, 0xbaea,\n    0x8c62, 0x8c63, 0x8c64, 0xe5b5, 0x8c65, 0xe5b4, 0x8c66, 0xd7da,\n    0xb9d9, 0xd6e6, 0xb6a8, 0xcdf0, 0xd2cb, 0xb1a6, 0xcab5, 0x8c67,\n    0xb3e8, 0xc9f3, 0xbfcd, 0xd0fb, 0xcad2, 0xe5b6, 0xbbc2, 0x8c68,\n    0x8c69, 0x8c6a, 0xcfdc, 0xb9ac, 0x8c6b, 0x8c6c, 0x8c6d, 0x8c6e,\n    0xd4d7, 0x8c6f, 0x8c70, 0xbaa6, 0xd1e7, 0xcffc, 0xbcd2, 0x8c71,\n    0xe5b7, 0xc8dd, 0x8c72, 0x8c73, 0x8c74, 0xbfed, 0xb1f6, 0xcbde,\n    0x8c75, 0x8c76, 0xbcc5, 0x8c77, 0xbcc4, 0xd2fa, 0xc3dc, 0xbfdc,\n    0x8c78, 0x8c79, 0x8c7a, 0x8c7b, 0xb8bb, 0x8c7c, 0x8c7d, 0x8c7e,\n    0xc3c2, 0x8c80, 0xbaae, 0xd4a2, 0x8c81, 0x8c82, 0x8c83, 0x8c84,\n    0x8c85, 0x8c86, 0x8c87, 0x8c88, 0x8c89, 0xc7de, 0xc4af, 0xb2ec,\n    0x8c8a, 0xb9d1, 0x8c8b, 0x8c8c, 0xe5bb, 0xc1c8, 0x8c8d, 0x8c8e,\n    0xd5af, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0xe5bc, 0x8c94,\n    0xe5be, 0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b,\n    0xb4e7, 0xb6d4, 0xcbc2, 0xd1b0, 0xb5bc, 0x8c9c, 0x8c9d, 0xcad9,\n    /* 0x5c00 .. 0x5cff */\n    0x8c9e, 0xb7e2, 0x8c9f, 0x8ca0, 0xc9e4, 0x8ca1, 0xbdab, 0x8ca2,\n    0x8ca3, 0xcebe, 0xd7f0, 0x8ca4, 0x8ca5, 0x8ca6, 0x8ca7, 0xd0a1,\n    0x8ca8, 0xc9d9, 0x8ca9, 0x8caa, 0xb6fb, 0xe6d8, 0xbce2, 0x8cab,\n    0xb3be, 0x8cac, 0xc9d0, 0x8cad, 0xe6d9, 0xb3a2, 0x8cae, 0x8caf,\n    0x8cb0, 0x8cb1, 0xdecc, 0x8cb2, 0xd3c8, 0xdecd, 0x8cb3, 0xd2a2,\n    0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0xdece, 0x8cb8, 0x8cb9, 0x8cba,\n    0x8cbb, 0xbecd, 0x8cbc, 0x8cbd, 0xdecf, 0x8cbe, 0x8cbf, 0x8cc0,\n    0xcaac, 0xd2fc, 0xb3df, 0xe5ea, 0xc4e1, 0xbea1, 0xceb2, 0xc4f2,\n    0xbed6, 0xc6a8, 0xb2e3, 0x8cc1, 0x8cc2, 0xbed3, 0x8cc3, 0x8cc4,\n    0xc7fc, 0xcceb, 0xbdec, 0xcedd, 0x8cc5, 0x8cc6, 0xcaba, 0xc6c1,\n    0xe5ec, 0xd0bc, 0x8cc7, 0x8cc8, 0x8cc9, 0xd5b9, 0x8cca, 0x8ccb,\n    0x8ccc, 0xe5ed, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0xcaf4, 0x8cd1,\n    0xcdc0, 0xc2c5, 0x8cd2, 0xe5ef, 0x8cd3, 0xc2c4, 0xe5f0, 0x8cd4,\n    0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda, 0xe5f8, 0xcdcd,\n    0x8cdb, 0xc9bd, 0x8cdc, 0x8cdd, 0x8cde, 0x8cdf, 0x8ce0, 0x8ce1,\n    0x8ce2, 0xd2d9, 0xe1a8, 0x8ce3, 0x8ce4, 0x8ce5, 0x8ce6, 0xd3ec,\n    0x8ce7, 0xcbea, 0xc6f1, 0x8ce8, 0x8ce9, 0x8cea, 0x8ceb, 0x8cec,\n    0xe1ac, 0x8ced, 0x8cee, 0x8cef, 0xe1a7, 0xe1a9, 0x8cf0, 0x8cf1,\n    0xe1aa, 0xe1af, 0x8cf2, 0x8cf3, 0xb2ed, 0x8cf4, 0xe1ab, 0xb8da,\n    0xe1ad, 0xe1ae, 0xe1b0, 0xb5ba, 0xe1b1, 0x8cf5, 0x8cf6, 0x8cf7,\n    0x8cf8, 0x8cf9, 0xe1b3, 0xe1b8, 0x8cfa, 0x8cfb, 0x8cfc, 0x8cfd,\n    0x8cfe, 0xd1d2, 0x8d40, 0xe1b6, 0xe1b5, 0xc1eb, 0x8d41, 0x8d42,\n    0x8d43, 0xe1b7, 0x8d44, 0xd4c0, 0x8d45, 0xe1b2, 0x8d46, 0xe1ba,\n    0xb0b6, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0xe1b4, 0x8d4b, 0xbff9,\n    0x8d4c, 0xe1b9, 0x8d4d, 0x8d4e, 0xe1bb, 0x8d4f, 0x8d50, 0x8d51,\n    0x8d52, 0x8d53, 0x8d54, 0xe1be, 0x8d55, 0x8d56, 0x8d57, 0x8d58,\n    0x8d59, 0x8d5a, 0xe1bc, 0x8d5b, 0x8d5c, 0x8d5d, 0x8d5e, 0x8d5f,\n    0x8d60, 0xd6c5, 0x8d61, 0x8d62, 0x8d63, 0x8d64, 0x8d65, 0x8d66,\n    0x8d67, 0xcfbf, 0x8d68, 0x8d69, 0xe1bd, 0xe1bf, 0xc2cd, 0x8d6a,\n    0xb6eb, 0x8d6b, 0xd3f8, 0x8d6c, 0x8d6d, 0xc7cd, 0x8d6e, 0x8d6f,\n    0xb7e5, 0x8d70, 0x8d71, 0x8d72, 0x8d73, 0x8d74, 0x8d75, 0x8d76,\n    0x8d77, 0x8d78, 0x8d79, 0xbefe, 0x8d7a, 0x8d7b, 0x8d7c, 0x8d7d,\n    /* 0x5d00 .. 0x5dff */\n    0x8d7e, 0x8d80, 0xe1c0, 0xe1c1, 0x8d81, 0x8d82, 0xe1c7, 0xb3e7,\n    0x8d83, 0x8d84, 0x8d85, 0x8d86, 0x8d87, 0x8d88, 0xc6e9, 0x8d89,\n    0x8d8a, 0x8d8b, 0x8d8c, 0x8d8d, 0xb4de, 0x8d8e, 0xd1c2, 0x8d8f,\n    0x8d90, 0x8d91, 0x8d92, 0xe1c8, 0x8d93, 0x8d94, 0xe1c6, 0x8d95,\n    0x8d96, 0x8d97, 0x8d98, 0x8d99, 0xe1c5, 0x8d9a, 0xe1c3, 0xe1c2,\n    0x8d9b, 0xb1c0, 0x8d9c, 0x8d9d, 0x8d9e, 0xd5b8, 0xe1c4, 0x8d9f,\n    0x8da0, 0x8da1, 0x8da2, 0x8da3, 0xe1cb, 0x8da4, 0x8da5, 0x8da6,\n    0x8da7, 0x8da8, 0x8da9, 0x8daa, 0x8dab, 0xe1cc, 0xe1ca, 0x8dac,\n    0x8dad, 0x8dae, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0xeffa,\n    0x8db4, 0x8db5, 0xe1d3, 0xe1d2, 0xc7b6, 0x8db6, 0x8db7, 0x8db8,\n    0x8db9, 0x8dba, 0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0x8dbf, 0x8dc0,\n    0xe1c9, 0x8dc1, 0x8dc2, 0xe1ce, 0x8dc3, 0xe1d0, 0x8dc4, 0x8dc5,\n    0x8dc6, 0x8dc7, 0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0x8dcc, 0x8dcd,\n    0x8dce, 0xe1d4, 0x8dcf, 0xe1d1, 0xe1cd, 0x8dd0, 0x8dd1, 0xe1cf,\n    0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5, 0xe1d5, 0x8dd6, 0x8dd7, 0x8dd8,\n    0x8dd9, 0x8dda, 0x8ddb, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0,\n    0x8de1, 0x8de2, 0xe1d6, 0x8de3, 0x8de4, 0x8de5, 0x8de6, 0x8de7,\n    0x8de8, 0x8de9, 0x8dea, 0x8deb, 0x8dec, 0x8ded, 0x8dee, 0x8def,\n    0x8df0, 0x8df1, 0x8df2, 0x8df3, 0x8df4, 0x8df5, 0x8df6, 0x8df7,\n    0x8df8, 0xe1d7, 0x8df9, 0x8dfa, 0x8dfb, 0xe1d8, 0x8dfc, 0x8dfd,\n    0x8dfe, 0x8e40, 0x8e41, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46,\n    0x8e47, 0x8e48, 0x8e49, 0x8e4a, 0x8e4b, 0x8e4c, 0x8e4d, 0x8e4e,\n    0x8e4f, 0x8e50, 0x8e51, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0xe1da,\n    0x8e56, 0x8e57, 0x8e58, 0x8e59, 0x8e5a, 0x8e5b, 0x8e5c, 0x8e5d,\n    0x8e5e, 0x8e5f, 0x8e60, 0x8e61, 0x8e62, 0xe1db, 0x8e63, 0x8e64,\n    0x8e65, 0x8e66, 0x8e67, 0x8e68, 0x8e69, 0xcea1, 0x8e6a, 0x8e6b,\n    0x8e6c, 0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73,\n    0x8e74, 0x8e75, 0x8e76, 0xe7dd, 0x8e77, 0xb4a8, 0xd6dd, 0x8e78,\n    0x8e79, 0xd1b2, 0xb3b2, 0x8e7a, 0x8e7b, 0xb9a4, 0xd7f3, 0xc7c9,\n    0xbede, 0xb9ae, 0x8e7c, 0xced7, 0x8e7d, 0x8e7e, 0xb2ee, 0xdbcf,\n    0x8e80, 0xbcba, 0xd2d1, 0xcbc8, 0xb0cd, 0x8e81, 0x8e82, 0xcfef,\n    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0xd9e3, 0xbded, 0x8e88,\n    /* 0x5e00 .. 0x5eff */\n    0x8e89, 0xb1d2, 0xcad0, 0xb2bc, 0x8e8a, 0xcba7, 0xb7ab, 0x8e8b,\n    0xcaa6, 0x8e8c, 0x8e8d, 0x8e8e, 0xcfa3, 0x8e8f, 0x8e90, 0xe0f8,\n    0xd5ca, 0xe0fb, 0x8e91, 0x8e92, 0xe0fa, 0xc5c1, 0xccfb, 0x8e93,\n    0xc1b1, 0xe0f9, 0xd6e3, 0xb2af, 0xd6c4, 0xb5db, 0x8e94, 0x8e95,\n    0x8e96, 0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0x8e9b, 0xb4f8, 0xd6a1,\n    0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xcfaf, 0xb0ef, 0x8ea1,\n    0x8ea2, 0xe0fc, 0x8ea3, 0x8ea4, 0x8ea5, 0x8ea6, 0x8ea7, 0xe1a1,\n    0xb3a3, 0x8ea8, 0x8ea9, 0xe0fd, 0xe0fe, 0xc3b1, 0x8eaa, 0x8eab,\n    0x8eac, 0x8ead, 0xc3dd, 0x8eae, 0xe1a2, 0xb7f9, 0x8eaf, 0x8eb0,\n    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xbbcf, 0x8eb5, 0x8eb6, 0x8eb7,\n    0x8eb8, 0x8eb9, 0x8eba, 0x8ebb, 0xe1a3, 0xc4bb, 0x8ebc, 0x8ebd,\n    0x8ebe, 0x8ebf, 0x8ec0, 0xe1a4, 0x8ec1, 0x8ec2, 0xe1a5, 0x8ec3,\n    0x8ec4, 0xe1a6, 0xb4b1, 0x8ec5, 0x8ec6, 0x8ec7, 0x8ec8, 0x8ec9,\n    0x8eca, 0x8ecb, 0x8ecc, 0x8ecd, 0x8ece, 0x8ecf, 0x8ed0, 0x8ed1,\n    0x8ed2, 0x8ed3, 0xb8c9, 0xc6bd, 0xc4ea, 0x8ed4, 0xb2a2, 0x8ed5,\n    0xd0d2, 0x8ed6, 0xe7db, 0xbbc3, 0xd3d7, 0xd3c4, 0x8ed7, 0xb9e3,\n    0xe2cf, 0x8ed8, 0x8ed9, 0x8eda, 0xd7af, 0x8edb, 0xc7ec, 0xb1d3,\n    0x8edc, 0x8edd, 0xb4b2, 0xe2d1, 0x8ede, 0x8edf, 0x8ee0, 0xd0f2,\n    0xc2ae, 0xe2d0, 0x8ee1, 0xbfe2, 0xd3a6, 0xb5d7, 0xe2d2, 0xb5ea,\n    0x8ee2, 0xc3ed, 0xb8fd, 0x8ee3, 0xb8ae, 0x8ee4, 0xc5d3, 0xb7cf,\n    0xe2d4, 0x8ee5, 0x8ee6, 0x8ee7, 0x8ee8, 0xe2d3, 0xb6c8, 0xd7f9,\n    0x8ee9, 0x8eea, 0x8eeb, 0x8eec, 0x8eed, 0xcda5, 0x8eee, 0x8eef,\n    0x8ef0, 0x8ef1, 0x8ef2, 0xe2d8, 0x8ef3, 0xe2d6, 0xcafc, 0xbfb5,\n    0xd3b9, 0xe2d5, 0x8ef4, 0x8ef5, 0x8ef6, 0x8ef7, 0xe2d7, 0x8ef8,\n    0x8ef9, 0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f40, 0x8f41,\n    0x8f42, 0xc1ae, 0xc0c8, 0x8f43, 0x8f44, 0x8f45, 0x8f46, 0x8f47,\n    0x8f48, 0xe2db, 0xe2da, 0xc0aa, 0x8f49, 0x8f4a, 0xc1ce, 0x8f4b,\n    0x8f4c, 0x8f4d, 0x8f4e, 0xe2dc, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,\n    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,\n    0xe2dd, 0x8f5b, 0xe2de, 0x8f5c, 0x8f5d, 0x8f5e, 0x8f5f, 0x8f60,\n    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0xdbc8, 0x8f65, 0xd1d3, 0xcda2,\n    0x8f66, 0x8f67, 0xbda8, 0x8f68, 0x8f69, 0x8f6a, 0xdec3, 0xd8a5,\n    /* 0x5f00 .. 0x5fff */\n    0xbfaa, 0xdbcd, 0xd2ec, 0xc6fa, 0xc5aa, 0x8f6b, 0x8f6c, 0x8f6d,\n    0xdec4, 0x8f6e, 0xb1d7, 0xdfae, 0x8f6f, 0x8f70, 0x8f71, 0xcabd,\n    0x8f72, 0xdfb1, 0x8f73, 0xb9ad, 0x8f74, 0xd2fd, 0x8f75, 0xb8a5,\n    0xbaeb, 0x8f76, 0x8f77, 0xb3da, 0x8f78, 0x8f79, 0x8f7a, 0xb5dc,\n    0xd5c5, 0x8f7b, 0x8f7c, 0x8f7d, 0x8f7e, 0xc3d6, 0xcfd2, 0xbba1,\n    0x8f80, 0xe5f3, 0xe5f2, 0x8f81, 0x8f82, 0xe5f4, 0x8f83, 0xcde4,\n    0x8f84, 0xc8f5, 0x8f85, 0x8f86, 0x8f87, 0x8f88, 0x8f89, 0x8f8a,\n    0x8f8b, 0xb5af, 0xc7bf, 0x8f8c, 0xe5f6, 0x8f8d, 0x8f8e, 0x8f8f,\n    0xecb0, 0x8f90, 0x8f91, 0x8f92, 0x8f93, 0x8f94, 0x8f95, 0x8f96,\n    0x8f97, 0x8f98, 0x8f99, 0x8f9a, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e,\n    0xe5e6, 0x8f9f, 0xb9e9, 0xb5b1, 0x8fa0, 0xc2bc, 0xe5e8, 0xe5e7,\n    0xe5e9, 0x8fa1, 0x8fa2, 0x8fa3, 0x8fa4, 0xd2cd, 0x8fa5, 0x8fa6,\n    0x8fa7, 0xe1ea, 0xd0ce, 0x8fa8, 0xcdae, 0x8fa9, 0xd1e5, 0x8faa,\n    0x8fab, 0xb2ca, 0xb1eb, 0x8fac, 0xb1f2, 0xc5ed, 0x8fad, 0x8fae,\n    0xd5c3, 0xd3b0, 0x8faf, 0xe1dc, 0x8fb0, 0x8fb1, 0x8fb2, 0xe1dd,\n    0x8fb3, 0xd2db, 0x8fb4, 0xb3b9, 0xb1cb, 0x8fb5, 0x8fb6, 0x8fb7,\n    0xcdf9, 0xd5f7, 0xe1de, 0x8fb8, 0xbeb6, 0xb4fd, 0x8fb9, 0xe1df,\n    0xbadc, 0xe1e0, 0xbbb2, 0xc2c9, 0xe1e1, 0x8fba, 0x8fbb, 0x8fbc,\n    0xd0ec, 0x8fbd, 0xcdbd, 0x8fbe, 0x8fbf, 0xe1e2, 0x8fc0, 0xb5c3,\n    0xc5c7, 0xe1e3, 0x8fc1, 0x8fc2, 0xe1e4, 0x8fc3, 0x8fc4, 0x8fc5,\n    0x8fc6, 0xd3f9, 0x8fc7, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc,\n    0xe1e5, 0x8fcd, 0xd1ad, 0x8fce, 0x8fcf, 0xe1e6, 0xcea2, 0x8fd0,\n    0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5, 0xe1e7, 0x8fd6, 0xb5c2,\n    0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0xe1e8, 0xbbd5, 0x8fdb, 0x8fdc,\n    0x8fdd, 0x8fde, 0x8fdf, 0xd0c4, 0xe2e0, 0xb1d8, 0xd2e4, 0x8fe0,\n    0x8fe1, 0xe2e1, 0x8fe2, 0x8fe3, 0xbcc9, 0xc8cc, 0x8fe4, 0xe2e3,\n    0xecfe, 0xecfd, 0xdfaf, 0x8fe5, 0x8fe6, 0x8fe7, 0xe2e2, 0xd6be,\n    0xcdfc, 0xc3a6, 0x8fe8, 0x8fe9, 0x8fea, 0xe3c3, 0x8feb, 0x8fec,\n    0xd6d2, 0xe2e7, 0x8fed, 0x8fee, 0xe2e8, 0x8fef, 0x8ff0, 0xd3c7,\n    0x8ff1, 0x8ff2, 0xe2ec, 0xbfec, 0x8ff3, 0xe2ed, 0xe2e5, 0x8ff4,\n    0x8ff5, 0xb3c0, 0x8ff6, 0x8ff7, 0x8ff8, 0xc4ee, 0x8ff9, 0x8ffa,\n    0xe2ee, 0x8ffb, 0x8ffc, 0xd0c3, 0x8ffd, 0xbaf6, 0xe2e9, 0xb7de,\n    /* 0x6000 .. 0x60ff */\n    0xbbb3, 0xccac, 0xcbcb, 0xe2e4, 0xe2e6, 0xe2ea, 0xe2eb, 0x8ffe,\n    0x9040, 0x9041, 0xe2f7, 0x9042, 0x9043, 0xe2f4, 0xd4f5, 0xe2f3,\n    0x9044, 0x9045, 0xc5ad, 0x9046, 0xd5fa, 0xc5c2, 0xb2c0, 0x9047,\n    0x9048, 0xe2ef, 0x9049, 0xe2f2, 0xc1af, 0xcbbc, 0x904a, 0x904b,\n    0xb5a1, 0xe2f9, 0x904c, 0x904d, 0x904e, 0xbcb1, 0xe2f1, 0xd0d4,\n    0xd4b9, 0xe2f5, 0xb9d6, 0xe2f6, 0x904f, 0x9050, 0x9051, 0xc7d3,\n    0x9052, 0x9053, 0x9054, 0x9055, 0x9056, 0xe2f0, 0x9057, 0x9058,\n    0x9059, 0x905a, 0x905b, 0xd7dc, 0xeda1, 0x905c, 0x905d, 0xe2f8,\n    0x905e, 0xeda5, 0xe2fe, 0xcad1, 0x905f, 0x9060, 0x9061, 0x9062,\n    0x9063, 0x9064, 0x9065, 0xc1b5, 0x9066, 0xbbd0, 0x9067, 0x9068,\n    0xbfd6, 0x9069, 0xbae3, 0x906a, 0x906b, 0xcba1, 0x906c, 0x906d,\n    0x906e, 0xeda6, 0xeda3, 0x906f, 0x9070, 0xeda2, 0x9071, 0x9072,\n    0x9073, 0x9074, 0xbbd6, 0xeda7, 0xd0f4, 0x9075, 0x9076, 0xeda4,\n    0xbade, 0xb6f7, 0xe3a1, 0xb6b2, 0xccf1, 0xb9a7, 0x9077, 0xcfa2,\n    0xc7a1, 0x9078, 0x9079, 0xbfd2, 0x907a, 0x907b, 0xb6f1, 0x907c,\n    0xe2fa, 0xe2fb, 0xe2fd, 0xe2fc, 0xc4d5, 0xe3a2, 0x907d, 0xd3c1,\n    0x907e, 0x9080, 0x9081, 0xe3a7, 0xc7c4, 0x9082, 0x9083, 0x9084,\n    0x9085, 0xcfa4, 0x9086, 0x9087, 0xe3a9, 0xbab7, 0x9088, 0x9089,\n    0x908a, 0x908b, 0xe3a8, 0x908c, 0xbbda, 0x908d, 0xe3a3, 0x908e,\n    0x908f, 0x9090, 0xe3a4, 0xe3aa, 0x9091, 0xe3a6, 0x9092, 0xcef2,\n    0xd3c6, 0x9093, 0x9094, 0xbbbc, 0x9095, 0x9096, 0xd4c3, 0x9097,\n    0xc4fa, 0x9098, 0x9099, 0xeda8, 0xd0fc, 0xe3a5, 0x909a, 0xc3f5,\n    0x909b, 0xe3ad, 0xb1af, 0x909c, 0xe3b2, 0x909d, 0x909e, 0x909f,\n    0xbcc2, 0x90a0, 0x90a1, 0xe3ac, 0xb5bf, 0x90a2, 0x90a3, 0x90a4,\n    0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9, 0xc7e9, 0xe3b0, 0x90aa,\n    0x90ab, 0x90ac, 0xbeaa, 0xcdef, 0x90ad, 0x90ae, 0x90af, 0x90b0,\n    0x90b1, 0xbbf3, 0x90b2, 0x90b3, 0x90b4, 0xcce8, 0x90b5, 0x90b6,\n    0xe3af, 0x90b7, 0xe3b1, 0x90b8, 0xcfa7, 0xe3ae, 0x90b9, 0xcea9,\n    0xbbdd, 0x90ba, 0x90bb, 0x90bc, 0x90bd, 0x90be, 0xb5eb, 0xbee5,\n    0xb2d2, 0xb3cd, 0x90bf, 0xb1b9, 0xe3ab, 0xb2d1, 0xb5ac, 0xb9df,\n    0xb6e8, 0x90c0, 0x90c1, 0xcfeb, 0xe3b7, 0x90c2, 0xbbcc, 0x90c3,\n    0x90c4, 0xc8c7, 0xd0ca, 0x90c5, 0x90c6, 0x90c7, 0x90c8, 0x90c9,\n    /* 0x6100 .. 0x61ff */\n    0xe3b8, 0xb3ee, 0x90ca, 0x90cb, 0x90cc, 0x90cd, 0xeda9, 0x90ce,\n    0xd3fa, 0xd3e4, 0x90cf, 0x90d0, 0x90d1, 0xedaa, 0xe3b9, 0xd2e2,\n    0x90d2, 0x90d3, 0x90d4, 0x90d5, 0x90d6, 0xe3b5, 0x90d7, 0x90d8,\n    0x90d9, 0x90da, 0xd3de, 0x90db, 0x90dc, 0x90dd, 0x90de, 0xb8d0,\n    0xe3b3, 0x90df, 0x90e0, 0xe3b6, 0xb7df, 0x90e1, 0xe3b4, 0xc0a2,\n    0x90e2, 0x90e3, 0x90e4, 0xe3ba, 0x90e5, 0x90e6, 0x90e7, 0x90e8,\n    0x90e9, 0x90ea, 0x90eb, 0x90ec, 0x90ed, 0x90ee, 0x90ef, 0x90f0,\n    0x90f1, 0x90f2, 0x90f3, 0x90f4, 0x90f5, 0x90f6, 0x90f7, 0xd4b8,\n    0x90f8, 0x90f9, 0x90fa, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9140,\n    0xb4c8, 0x9141, 0xe3bb, 0x9142, 0xbbc5, 0x9143, 0xc9f7, 0x9144,\n    0x9145, 0xc9e5, 0x9146, 0x9147, 0x9148, 0xc4bd, 0x9149, 0x914a,\n    0x914b, 0x914c, 0x914d, 0x914e, 0x914f, 0xedab, 0x9150, 0x9151,\n    0x9152, 0x9153, 0xc2fd, 0x9154, 0x9155, 0x9156, 0x9157, 0xbbdb,\n    0xbfae, 0x9158, 0x9159, 0x915a, 0x915b, 0x915c, 0x915d, 0x915e,\n    0xcebf, 0x915f, 0x9160, 0x9161, 0x9162, 0xe3bc, 0x9163, 0xbfb6,\n    0x9164, 0x9165, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b,\n    0x916c, 0x916d, 0x916e, 0x916f, 0x9170, 0x9171, 0x9172, 0x9173,\n    0x9174, 0x9175, 0x9176, 0xb1ef, 0x9177, 0x9178, 0xd4f7, 0x9179,\n    0x917a, 0x917b, 0x917c, 0x917d, 0xe3be, 0x917e, 0x9180, 0x9181,\n    0x9182, 0x9183, 0x9184, 0x9185, 0x9186, 0xedad, 0x9187, 0x9188,\n    0x9189, 0x918a, 0x918b, 0x918c, 0x918d, 0x918e, 0x918f, 0xe3bf,\n    0xbaa9, 0xedac, 0x9190, 0x9191, 0xe3bd, 0x9192, 0x9193, 0x9194,\n    0x9195, 0x9196, 0x9197, 0x9198, 0x9199, 0x919a, 0x919b, 0xe3c0,\n    0x919c, 0x919d, 0x919e, 0x919f, 0x91a0, 0x91a1, 0xbab6, 0x91a2,\n    0x91a3, 0x91a4, 0xb6ae, 0x91a5, 0x91a6, 0x91a7, 0x91a8, 0x91a9,\n    0xd0b8, 0x91aa, 0xb0c3, 0xedae, 0x91ab, 0x91ac, 0x91ad, 0x91ae,\n    0x91af, 0xedaf, 0xc0c1, 0x91b0, 0xe3c1, 0x91b1, 0x91b2, 0x91b3,\n    0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9, 0x91ba, 0x91bb,\n    0x91bc, 0x91bd, 0x91be, 0x91bf, 0x91c0, 0x91c1, 0xc5b3, 0x91c2,\n    0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7, 0x91c8, 0x91c9, 0x91ca,\n    0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf, 0xe3c2, 0x91d0, 0x91d1,\n    0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7, 0x91d8, 0xdcb2,\n    /* 0x6200 .. 0x62ff */\n    0x91d9, 0x91da, 0x91db, 0x91dc, 0x91dd, 0x91de, 0xedb0, 0x91df,\n    0xb8ea, 0x91e0, 0xceec, 0xeaa7, 0xd0e7, 0xcaf9, 0xc8d6, 0xcfb7,\n    0xb3c9, 0xced2, 0xbde4, 0x91e1, 0x91e2, 0xe3de, 0xbbf2, 0xeaa8,\n    0xd5bd, 0x91e3, 0xc6dd, 0xeaa9, 0x91e4, 0x91e5, 0x91e6, 0xeaaa,\n    0x91e7, 0xeaac, 0xeaab, 0x91e8, 0xeaae, 0xeaad, 0x91e9, 0x91ea,\n    0x91eb, 0x91ec, 0xbdd8, 0x91ed, 0xeaaf, 0x91ee, 0xc2be, 0x91ef,\n    0x91f0, 0x91f1, 0x91f2, 0xb4c1, 0xb4f7, 0x91f3, 0x91f4, 0xbba7,\n    0x91f5, 0x91f6, 0x91f7, 0x91f8, 0x91f9, 0xece6, 0xece5, 0xb7bf,\n    0xcbf9, 0xb1e2, 0x91fa, 0xece7, 0x91fb, 0x91fc, 0x91fd, 0xc9c8,\n    0xece8, 0xece9, 0x91fe, 0xcad6, 0xded0, 0xb2c5, 0xd4fa, 0x9240,\n    0x9241, 0xc6cb, 0xb0c7, 0xb4f2, 0xc8d3, 0x9242, 0x9243, 0x9244,\n    0xcdd0, 0x9245, 0x9246, 0xbfb8, 0x9247, 0x9248, 0x9249, 0x924a,\n    0x924b, 0x924c, 0x924d, 0xbfdb, 0x924e, 0x924f, 0xc7a4, 0xd6b4,\n    0x9250, 0xc0a9, 0xded1, 0xc9a8, 0xd1ef, 0xc5a4, 0xb0e7, 0xb3b6,\n    0xc8c5, 0x9251, 0x9252, 0xb0e2, 0x9253, 0x9254, 0xb7f6, 0x9255,\n    0x9256, 0xc5fa, 0x9257, 0x9258, 0xb6f3, 0x9259, 0xd5d2, 0xb3d0,\n    0xbcbc, 0x925a, 0x925b, 0x925c, 0xb3ad, 0x925d, 0x925e, 0x925f,\n    0x9260, 0xbef1, 0xb0d1, 0x9261, 0x9262, 0x9263, 0x9264, 0x9265,\n    0x9266, 0xd2d6, 0xcae3, 0xd7a5, 0x9267, 0xcdb6, 0xb6b6, 0xbfb9,\n    0xd5db, 0x9268, 0xb8a7, 0xc5d7, 0x9269, 0x926a, 0x926b, 0xded2,\n    0xbfd9, 0xc2d5, 0xc7c0, 0x926c, 0xbba4, 0xb1a8, 0x926d, 0x926e,\n    0xc5ea, 0x926f, 0x9270, 0xc5fb, 0xcca7, 0x9271, 0x9272, 0x9273,\n    0x9274, 0xb1a7, 0x9275, 0x9276, 0x9277, 0xb5d6, 0x9278, 0x9279,\n    0x927a, 0xc4a8, 0x927b, 0xded3, 0xd1ba, 0xb3e9, 0x927c, 0xc3f2,\n    0x927d, 0x927e, 0xb7f7, 0x9280, 0xd6f4, 0xb5a3, 0xb2f0, 0xc4b4,\n    0xc4e9, 0xc0ad, 0xded4, 0x9281, 0xb0e8, 0xc5c4, 0xc1e0, 0x9282,\n    0xb9d5, 0x9283, 0xbedc, 0xcdd8, 0xb0ce, 0x9284, 0xcdcf, 0xded6,\n    0xbed0, 0xd7be, 0xded5, 0xd5d0, 0xb0dd, 0x9285, 0x9286, 0xc4e2,\n    0x9287, 0x9288, 0xc2a3, 0xbcf0, 0x9289, 0xd3b5, 0xc0b9, 0xc5a1,\n    0xb2a6, 0xd4f1, 0x928a, 0x928b, 0xc0a8, 0xcac3, 0xded7, 0xd5fc,\n    0x928c, 0xb9b0, 0x928d, 0xc8ad, 0xcba9, 0x928e, 0xded9, 0xbfbd,\n    0x928f, 0x9290, 0x9291, 0x9292, 0xc6b4, 0xd7a7, 0xcab0, 0xc4c3,\n    /* 0x6300 .. 0x63ff */\n    0x9293, 0xb3d6, 0xb9d2, 0x9294, 0x9295, 0x9296, 0x9297, 0xd6b8,\n    0xeafc, 0xb0b4, 0x9298, 0x9299, 0x929a, 0x929b, 0xbfe6, 0x929c,\n    0x929d, 0xccf4, 0x929e, 0x929f, 0x92a0, 0x92a1, 0xcdda, 0x92a2,\n    0x92a3, 0x92a4, 0xd6bf, 0xc2ce, 0x92a5, 0xcece, 0xcca2, 0xd0ae,\n    0xc4d3, 0xb5b2, 0xded8, 0xd5f5, 0xbcb7, 0xbbd3, 0x92a6, 0x92a7,\n    0xb0a4, 0x92a8, 0xc5b2, 0xb4ec, 0x92a9, 0x92aa, 0x92ab, 0xd5f1,\n    0x92ac, 0x92ad, 0xeafd, 0x92ae, 0x92af, 0x92b0, 0x92b1, 0x92b2,\n    0x92b3, 0xdeda, 0xcda6, 0x92b4, 0x92b5, 0xcdec, 0x92b6, 0x92b7,\n    0x92b8, 0x92b9, 0xcee6, 0xdedc, 0x92ba, 0xcdb1, 0xc0a6, 0x92bb,\n    0x92bc, 0xd7bd, 0x92bd, 0xdedb, 0xb0c6, 0xbab4, 0xc9d3, 0xc4f3,\n    0xbee8, 0x92be, 0x92bf, 0x92c0, 0x92c1, 0xb2b6, 0x92c2, 0x92c3,\n    0x92c4, 0x92c5, 0x92c6, 0x92c7, 0x92c8, 0x92c9, 0xc0cc, 0xcbf0,\n    0x92ca, 0xbcf1, 0xbbbb, 0xb5b7, 0x92cb, 0x92cc, 0x92cd, 0xc5f5,\n    0x92ce, 0xdee6, 0x92cf, 0x92d0, 0x92d1, 0xdee3, 0xbedd, 0x92d2,\n    0x92d3, 0xdedf, 0x92d4, 0x92d5, 0x92d6, 0x92d7, 0xb4b7, 0xbddd,\n    0x92d8, 0x92d9, 0xdee0, 0xc4ed, 0x92da, 0x92db, 0x92dc, 0x92dd,\n    0xcfc6, 0x92de, 0xb5e0, 0x92df, 0x92e0, 0x92e1, 0x92e2, 0xb6de,\n    0xcada, 0xb5f4, 0xdee5, 0x92e3, 0xd5c6, 0x92e4, 0xdee1, 0xcccd,\n    0xc6fe, 0x92e5, 0xc5c5, 0x92e6, 0x92e7, 0x92e8, 0xd2b4, 0x92e9,\n    0xbef2, 0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0,\n    0xc2d3, 0x92f1, 0xccbd, 0xb3b8, 0x92f2, 0xbdd3, 0x92f3, 0xbfd8,\n    0xcdc6, 0xd1da, 0xb4eb, 0x92f4, 0xdee4, 0xdedd, 0xdee7, 0x92f5,\n    0xeafe, 0x92f6, 0x92f7, 0xc2b0, 0xdee2, 0x92f8, 0x92f9, 0xd6c0,\n    0xb5a7, 0x92fa, 0xb2f4, 0x92fb, 0xdee8, 0x92fc, 0xdef2, 0x92fd,\n    0x92fe, 0x9340, 0x9341, 0x9342, 0xdeed, 0x9343, 0xdef1, 0x9344,\n    0x9345, 0xc8e0, 0x9346, 0x9347, 0x9348, 0xd7e1, 0xdeef, 0xc3e8,\n    0xcce1, 0x9349, 0xb2e5, 0x934a, 0x934b, 0x934c, 0xd2be, 0x934d,\n    0x934e, 0x934f, 0x9350, 0x9351, 0x9352, 0x9353, 0xdeee, 0x9354,\n    0xdeeb, 0xced5, 0x9355, 0xb4a7, 0x9356, 0x9357, 0x9358, 0x9359,\n    0x935a, 0xbfab, 0xbebe, 0x935b, 0x935c, 0xbdd2, 0x935d, 0x935e,\n    0x935f, 0x9360, 0xdee9, 0x9361, 0xd4ae, 0x9362, 0xdede, 0x9363,\n    0xdeea, 0x9364, 0x9365, 0x9366, 0x9367, 0xc0bf, 0x9368, 0xdeec,\n    /* 0x6400 .. 0x64ff */\n    0xb2f3, 0xb8e9, 0xc2a7, 0x9369, 0x936a, 0xbdc1, 0x936b, 0x936c,\n    0x936d, 0x936e, 0x936f, 0xdef5, 0xdef8, 0x9370, 0x9371, 0xb2ab,\n    0xb4a4, 0x9372, 0x9373, 0xb4ea, 0xc9a6, 0x9374, 0x9375, 0x9376,\n    0x9377, 0x9378, 0x9379, 0xdef6, 0xcbd1, 0x937a, 0xb8e3, 0x937b,\n    0xdef7, 0xdefa, 0x937c, 0x937d, 0x937e, 0x9380, 0xdef9, 0x9381,\n    0x9382, 0x9383, 0xccc2, 0x9384, 0xb0e1, 0xb4ee, 0x9385, 0x9386,\n    0x9387, 0x9388, 0x9389, 0x938a, 0xe5ba, 0x938b, 0x938c, 0x938d,\n    0x938e, 0x938f, 0xd0af, 0x9390, 0x9391, 0xb2eb, 0x9392, 0xeba1,\n    0x9393, 0xdef4, 0x9394, 0x9395, 0xc9e3, 0xdef3, 0xb0da, 0xd2a1,\n    0xb1f7, 0x9396, 0xccaf, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b,\n    0x939c, 0x939d, 0xdef0, 0x939e, 0xcba4, 0x939f, 0x93a0, 0x93a1,\n    0xd5aa, 0x93a2, 0x93a3, 0x93a4, 0x93a5, 0x93a6, 0xdefb, 0x93a7,\n    0x93a8, 0x93a9, 0x93aa, 0x93ab, 0x93ac, 0x93ad, 0x93ae, 0xb4dd,\n    0x93af, 0xc4a6, 0x93b0, 0x93b1, 0x93b2, 0xdefd, 0x93b3, 0x93b4,\n    0x93b5, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba, 0x93bb, 0x93bc,\n    0xc3fe, 0xc4a1, 0xdfa1, 0x93bd, 0x93be, 0x93bf, 0x93c0, 0x93c1,\n    0x93c2, 0x93c3, 0xc1cc, 0x93c4, 0xdefc, 0xbeef, 0x93c5, 0xc6b2,\n    0x93c6, 0x93c7, 0x93c8, 0x93c9, 0x93ca, 0x93cb, 0x93cc, 0x93cd,\n    0x93ce, 0xb3c5, 0xc8f6, 0x93cf, 0x93d0, 0xcbba, 0xdefe, 0x93d1,\n    0x93d2, 0xdfa4, 0x93d3, 0x93d4, 0x93d5, 0x93d6, 0xd7b2, 0x93d7,\n    0x93d8, 0x93d9, 0x93da, 0x93db, 0xb3b7, 0x93dc, 0x93dd, 0x93de,\n    0x93df, 0xc1c3, 0x93e0, 0x93e1, 0xc7cb, 0xb2a5, 0xb4e9, 0x93e2,\n    0xd7ab, 0x93e3, 0x93e4, 0x93e5, 0x93e6, 0xc4ec, 0x93e7, 0xdfa2,\n    0xdfa3, 0x93e8, 0xdfa5, 0x93e9, 0xbab3, 0x93ea, 0x93eb, 0x93ec,\n    0xdfa6, 0x93ed, 0xc0de, 0x93ee, 0x93ef, 0xc9c3, 0x93f0, 0x93f1,\n    0x93f2, 0x93f3, 0x93f4, 0x93f5, 0x93f6, 0xb2d9, 0xc7e6, 0x93f7,\n    0xdfa7, 0x93f8, 0xc7dc, 0x93f9, 0x93fa, 0x93fb, 0x93fc, 0xdfa8,\n    0xeba2, 0x93fd, 0x93fe, 0x9440, 0x9441, 0x9442, 0xcbd3, 0x9443,\n    0x9444, 0x9445, 0xdfaa, 0x9446, 0xdfa9, 0x9447, 0xb2c1, 0x9448,\n    0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e, 0x944f, 0x9450,\n    0x9451, 0x9452, 0x9453, 0x9454, 0x9455, 0x9456, 0x9457, 0x9458,\n    0x9459, 0x945a, 0x945b, 0x945c, 0x945d, 0x945e, 0x945f, 0x9460,\n    /* 0x6500 .. 0x65ff */\n    0xc5ca, 0x9461, 0x9462, 0x9463, 0x9464, 0x9465, 0x9466, 0x9467,\n    0x9468, 0xdfab, 0x9469, 0x946a, 0x946b, 0x946c, 0x946d, 0x946e,\n    0x946f, 0x9470, 0xd4dc, 0x9471, 0x9472, 0x9473, 0x9474, 0x9475,\n    0xc8c1, 0x9476, 0x9477, 0x9478, 0x9479, 0x947a, 0x947b, 0x947c,\n    0x947d, 0x947e, 0x9480, 0x9481, 0x9482, 0xdfac, 0x9483, 0x9484,\n    0x9485, 0x9486, 0x9487, 0xbef0, 0x9488, 0x9489, 0xdfad, 0xd6a7,\n    0x948a, 0x948b, 0x948c, 0x948d, 0xeab7, 0xebb6, 0xcad5, 0x948e,\n    0xd8fc, 0xb8c4, 0x948f, 0xb9a5, 0x9490, 0x9491, 0xb7c5, 0xd5fe,\n    0x9492, 0x9493, 0x9494, 0x9495, 0x9496, 0xb9ca, 0x9497, 0x9498,\n    0xd0a7, 0xf4cd, 0x9499, 0x949a, 0xb5d0, 0x949b, 0x949c, 0xc3f4,\n    0x949d, 0xbec8, 0x949e, 0x949f, 0x94a0, 0xebb7, 0xb0bd, 0x94a1,\n    0x94a2, 0xbdcc, 0x94a3, 0xc1b2, 0x94a4, 0xb1d6, 0xb3a8, 0x94a5,\n    0x94a6, 0x94a7, 0xb8d2, 0xc9a2, 0x94a8, 0x94a9, 0xb6d8, 0x94aa,\n    0x94ab, 0x94ac, 0x94ad, 0xebb8, 0xbeb4, 0x94ae, 0x94af, 0x94b0,\n    0xcafd, 0x94b1, 0xc7c3, 0x94b2, 0xd5fb, 0x94b3, 0x94b4, 0xb7f3,\n    0x94b5, 0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc,\n    0x94bd, 0x94be, 0x94bf, 0x94c0, 0x94c1, 0x94c2, 0x94c3, 0xcec4,\n    0x94c4, 0x94c5, 0x94c6, 0xd5ab, 0xb1f3, 0x94c7, 0x94c8, 0x94c9,\n    0xecb3, 0xb0df, 0x94ca, 0xecb5, 0x94cb, 0x94cc, 0x94cd, 0xb6b7,\n    0x94ce, 0xc1cf, 0x94cf, 0xf5fa, 0xd0b1, 0x94d0, 0x94d1, 0xd5e5,\n    0x94d2, 0xced3, 0x94d3, 0x94d4, 0xbdef, 0xb3e2, 0x94d5, 0xb8ab,\n    0x94d6, 0xd5b6, 0x94d7, 0xedbd, 0x94d8, 0xb6cf, 0x94d9, 0xcbb9,\n    0xd0c2, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de, 0x94df, 0x94e0,\n    0x94e1, 0xb7bd, 0x94e2, 0x94e3, 0xecb6, 0xcaa9, 0x94e4, 0x94e5,\n    0x94e6, 0xc5d4, 0x94e7, 0xecb9, 0xecb8, 0xc2c3, 0xecb7, 0x94e8,\n    0x94e9, 0x94ea, 0x94eb, 0xd0fd, 0xecba, 0x94ec, 0xecbb, 0xd7e5,\n    0x94ed, 0x94ee, 0xecbc, 0x94ef, 0x94f0, 0x94f1, 0xecbd, 0xc6ec,\n    0x94f2, 0x94f3, 0x94f4, 0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9,\n    0xcede, 0x94fa, 0xbcc8, 0x94fb, 0x94fc, 0xc8d5, 0xb5a9, 0xbec9,\n    0xd6bc, 0xd4e7, 0x94fd, 0x94fe, 0xd1ae, 0xd0f1, 0xeab8, 0xeab9,\n    0xeaba, 0xbab5, 0x9540, 0x9541, 0x9542, 0x9543, 0xcab1, 0xbff5,\n    0x9544, 0x9545, 0xcdfa, 0x9546, 0x9547, 0x9548, 0x9549, 0x954a,\n    /* 0x6600 .. 0x66ff */\n    0xeac0, 0x954b, 0xb0ba, 0xeabe, 0x954c, 0x954d, 0xc0a5, 0x954e,\n    0x954f, 0x9550, 0xeabb, 0x9551, 0xb2fd, 0x9552, 0xc3f7, 0xbbe8,\n    0x9553, 0x9554, 0x9555, 0xd2d7, 0xcef4, 0xeabf, 0x9556, 0x9557,\n    0x9558, 0xeabc, 0x9559, 0x955a, 0x955b, 0xeac3, 0x955c, 0xd0c7,\n    0xd3b3, 0x955d, 0x955e, 0x955f, 0x9560, 0xb4ba, 0x9561, 0xc3c1,\n    0xd7f2, 0x9562, 0x9563, 0x9564, 0x9565, 0xd5d1, 0x9566, 0xcac7,\n    0x9567, 0xeac5, 0x9568, 0x9569, 0xeac4, 0xeac7, 0xeac6, 0x956a,\n    0x956b, 0x956c, 0x956d, 0x956e, 0xd6e7, 0x956f, 0xcfd4, 0x9570,\n    0x9571, 0xeacb, 0x9572, 0xbbce, 0x9573, 0x9574, 0x9575, 0x9576,\n    0x9577, 0x9578, 0x9579, 0xbdfa, 0xc9ce, 0x957a, 0x957b, 0xeacc,\n    0x957c, 0x957d, 0xc9b9, 0xcffe, 0xeaca, 0xd4ce, 0xeacd, 0xeacf,\n    0x957e, 0x9580, 0xcded, 0x9581, 0x9582, 0x9583, 0x9584, 0xeac9,\n    0x9585, 0xeace, 0x9586, 0x9587, 0xceee, 0x9588, 0xbbde, 0x9589,\n    0xb3bf, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0xc6d5, 0xbeb0,\n    0xcefa, 0x958f, 0x9590, 0x9591, 0xc7e7, 0x9592, 0xbea7, 0xead0,\n    0x9593, 0x9594, 0xd6c7, 0x9595, 0x9596, 0x9597, 0xc1c0, 0x9598,\n    0x9599, 0x959a, 0xd4dd, 0x959b, 0xead1, 0x959c, 0x959d, 0xcfbe,\n    0x959e, 0x959f, 0x95a0, 0x95a1, 0xead2, 0x95a2, 0x95a3, 0x95a4,\n    0x95a5, 0xcaee, 0x95a6, 0x95a7, 0x95a8, 0x95a9, 0xc5af, 0xb0b5,\n    0x95aa, 0x95ab, 0x95ac, 0x95ad, 0x95ae, 0xead4, 0x95af, 0x95b0,\n    0x95b1, 0x95b2, 0x95b3, 0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xead3,\n    0xf4df, 0x95b8, 0x95b9, 0x95ba, 0x95bb, 0x95bc, 0xc4ba, 0x95bd,\n    0x95be, 0x95bf, 0x95c0, 0x95c1, 0xb1a9, 0x95c2, 0x95c3, 0x95c4,\n    0x95c5, 0xe5df, 0x95c6, 0x95c7, 0x95c8, 0x95c9, 0xead5, 0x95ca,\n    0x95cb, 0x95cc, 0x95cd, 0x95ce, 0x95cf, 0x95d0, 0x95d1, 0x95d2,\n    0x95d3, 0x95d4, 0x95d5, 0x95d6, 0x95d7, 0x95d8, 0x95d9, 0x95da,\n    0x95db, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1, 0x95e2,\n    0x95e3, 0xcaef, 0x95e4, 0xead6, 0xead7, 0xc6d8, 0x95e5, 0x95e6,\n    0x95e7, 0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0xead8, 0x95ed,\n    0x95ee, 0xead9, 0x95ef, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4,\n    0xd4bb, 0x95f5, 0xc7fa, 0xd2b7, 0xb8fc, 0x95f6, 0x95f7, 0xeac2,\n    0x95f8, 0xb2dc, 0x95f9, 0x95fa, 0xc2fc, 0x95fb, 0xd4f8, 0xcce6,\n    /* 0x6700 .. 0x67ff */\n    0xd7ee, 0x95fc, 0x95fd, 0x95fe, 0x9640, 0x9641, 0x9642, 0x9643,\n    0xd4c2, 0xd3d0, 0xebc3, 0xc5f3, 0x9644, 0xb7fe, 0x9645, 0x9646,\n    0xebd4, 0x9647, 0x9648, 0x9649, 0xcbb7, 0xebde, 0x964a, 0xc0ca,\n    0x964b, 0x964c, 0x964d, 0xcdfb, 0x964e, 0xb3af, 0x964f, 0xc6da,\n    0x9650, 0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0xebfc, 0x9656,\n    0xc4be, 0x9657, 0xceb4, 0xc4a9, 0xb1be, 0xd4fd, 0x9658, 0xcaf5,\n    0x9659, 0xd6ec, 0x965a, 0x965b, 0xc6d3, 0xb6e4, 0x965c, 0x965d,\n    0x965e, 0x965f, 0xbbfa, 0x9660, 0x9661, 0xd0e0, 0x9662, 0x9663,\n    0xc9b1, 0x9664, 0xd4d3, 0xc8a8, 0x9665, 0x9666, 0xb8cb, 0x9667,\n    0xe8be, 0xc9bc, 0x9668, 0x9669, 0xe8bb, 0x966a, 0xc0ee, 0xd0d3,\n    0xb2c4, 0xb4e5, 0x966b, 0xe8bc, 0x966c, 0x966d, 0xd5c8, 0x966e,\n    0x966f, 0x9670, 0x9671, 0x9672, 0xb6c5, 0x9673, 0xe8bd, 0xcaf8,\n    0xb8dc, 0xccf5, 0x9674, 0x9675, 0x9676, 0xc0b4, 0x9677, 0x9678,\n    0xd1ee, 0xe8bf, 0xe8c2, 0x9679, 0x967a, 0xbabc, 0x967b, 0xb1ad,\n    0xbddc, 0x967c, 0xeabd, 0xe8c3, 0x967d, 0xe8c6, 0x967e, 0xe8cb,\n    0x9680, 0x9681, 0x9682, 0x9683, 0xe8cc, 0x9684, 0xcbc9, 0xb0e5,\n    0x9685, 0xbcab, 0x9686, 0x9687, 0xb9b9, 0x9688, 0x9689, 0xe8c1,\n    0x968a, 0xcdf7, 0x968b, 0xe8ca, 0x968c, 0x968d, 0x968e, 0x968f,\n    0xcef6, 0x9690, 0x9691, 0x9692, 0x9693, 0xd5ed, 0x9694, 0xc1d6,\n    0xe8c4, 0x9695, 0xc3b6, 0x9696, 0xb9fb, 0xd6a6, 0xe8c8, 0x9697,\n    0x9698, 0x9699, 0xcae0, 0xd4e6, 0x969a, 0xe8c0, 0x969b, 0xe8c5,\n    0xe8c7, 0x969c, 0xc7b9, 0xb7e3, 0x969d, 0xe8c9, 0x969e, 0xbfdd,\n    0xe8d2, 0x969f, 0x96a0, 0xe8d7, 0x96a1, 0xe8d5, 0xbcdc, 0xbccf,\n    0xe8db, 0x96a2, 0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8,\n    0x96a9, 0xe8de, 0x96aa, 0xe8da, 0xb1fa, 0x96ab, 0x96ac, 0x96ad,\n    0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2, 0x96b3, 0x96b4, 0xb0d8,\n    0xc4b3, 0xb8cc, 0xc6e2, 0xc8be, 0xc8e1, 0x96b5, 0x96b6, 0x96b7,\n    0xe8cf, 0xe8d4, 0xe8d6, 0x96b8, 0xb9f1, 0xe8d8, 0xd7f5, 0x96b9,\n    0xc4fb, 0x96ba, 0xe8dc, 0x96bb, 0x96bc, 0xb2e9, 0x96bd, 0x96be,\n    0x96bf, 0xe8d1, 0x96c0, 0x96c1, 0xbced, 0x96c2, 0x96c3, 0xbfc2,\n    0xe8cd, 0xd6f9, 0x96c4, 0xc1f8, 0xb2f1, 0x96c5, 0x96c6, 0x96c7,\n    0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0xe8df, 0x96cd, 0xcac1,\n    /* 0x6800 .. 0x68ff */\n    0xe8d9, 0x96ce, 0x96cf, 0x96d0, 0x96d1, 0xd5a4, 0x96d2, 0xb1ea,\n    0xd5bb, 0xe8ce, 0xe8d0, 0xb6b0, 0xe8d3, 0x96d3, 0xe8dd, 0xc0b8,\n    0x96d4, 0xcaf7, 0x96d5, 0xcba8, 0x96d6, 0x96d7, 0xc6dc, 0xc0f5,\n    0x96d8, 0x96d9, 0x96da, 0x96db, 0x96dc, 0xe8e9, 0x96dd, 0x96de,\n    0x96df, 0xd0a3, 0x96e0, 0x96e1, 0x96e2, 0x96e3, 0x96e4, 0x96e5,\n    0x96e6, 0xe8f2, 0xd6ea, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,\n    0x96ec, 0x96ed, 0xe8e0, 0xe8e1, 0x96ee, 0x96ef, 0x96f0, 0xd1f9,\n    0xbacb, 0xb8f9, 0x96f1, 0x96f2, 0xb8f1, 0xd4d4, 0xe8ef, 0x96f3,\n    0xe8ee, 0xe8ec, 0xb9f0, 0xccd2, 0xe8e6, 0xcea6, 0xbff2, 0x96f4,\n    0xb0b8, 0xe8f1, 0xe8f0, 0x96f5, 0xd7c0, 0x96f6, 0xe8e4, 0x96f7,\n    0xcda9, 0xc9a3, 0x96f8, 0xbbb8, 0xbddb, 0xe8ea, 0x96f9, 0x96fa,\n    0x96fb, 0x96fc, 0x96fd, 0x96fe, 0x9740, 0x9741, 0x9742, 0x9743,\n    0xe8e2, 0xe8e3, 0xe8e5, 0xb5b5, 0xe8e7, 0xc7c5, 0xe8eb, 0xe8ed,\n    0xbdb0, 0xd7ae, 0x9744, 0xe8f8, 0x9745, 0x9746, 0x9747, 0x9748,\n    0x9749, 0x974a, 0x974b, 0x974c, 0xe8f5, 0x974d, 0xcdb0, 0xe8f6,\n    0x974e, 0x974f, 0x9750, 0x9751, 0x9752, 0x9753, 0x9754, 0x9755,\n    0x9756, 0xc1ba, 0x9757, 0xe8e8, 0x9758, 0xc3b7, 0xb0f0, 0x9759,\n    0x975a, 0x975b, 0x975c, 0x975d, 0x975e, 0x975f, 0x9760, 0xe8f4,\n    0x9761, 0x9762, 0x9763, 0xe8f7, 0x9764, 0x9765, 0x9766, 0xb9a3,\n    0x9767, 0x9768, 0x9769, 0x976a, 0x976b, 0x976c, 0x976d, 0x976e,\n    0x976f, 0x9770, 0xc9d2, 0x9771, 0x9772, 0x9773, 0xc3ce, 0xcee0,\n    0xc0e6, 0x9774, 0x9775, 0x9776, 0x9777, 0xcbf3, 0x9778, 0xccdd,\n    0xd0b5, 0x9779, 0x977a, 0xcae1, 0x977b, 0xe8f3, 0x977c, 0x977d,\n    0x977e, 0x9780, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786,\n    0xbcec, 0x9787, 0xe8f9, 0x9788, 0x9789, 0x978a, 0x978b, 0x978c,\n    0x978d, 0xc3de, 0x978e, 0xc6e5, 0x978f, 0xb9f7, 0x9790, 0x9791,\n    0x9792, 0x9793, 0xb0f4, 0x9794, 0x9795, 0xd7d8, 0x9796, 0x9797,\n    0xbcac, 0x9798, 0xc5ef, 0x9799, 0x979a, 0x979b, 0x979c, 0x979d,\n    0xccc4, 0x979e, 0x979f, 0xe9a6, 0x97a0, 0x97a1, 0x97a2, 0x97a3,\n    0x97a4, 0x97a5, 0x97a6, 0x97a7, 0x97a8, 0x97a9, 0xc9ad, 0x97aa,\n    0xe9a2, 0xc0e2, 0x97ab, 0x97ac, 0x97ad, 0xbfc3, 0x97ae, 0x97af,\n    0x97b0, 0xe8fe, 0xb9d7, 0x97b1, 0xe8fb, 0x97b2, 0x97b3, 0x97b4,\n    /* 0x6900 .. 0x69ff */\n    0x97b5, 0xe9a4, 0x97b6, 0x97b7, 0x97b8, 0xd2ce, 0x97b9, 0x97ba,\n    0x97bb, 0x97bc, 0x97bd, 0xe9a3, 0x97be, 0xd6b2, 0xd7b5, 0x97bf,\n    0xe9a7, 0x97c0, 0xbdb7, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5,\n    0x97c6, 0x97c7, 0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0xe8fc,\n    0xe8fd, 0x97cd, 0x97ce, 0x97cf, 0xe9a1, 0x97d0, 0x97d1, 0x97d2,\n    0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7, 0xcdd6, 0x97d8, 0x97d9,\n    0xd2ac, 0x97da, 0x97db, 0x97dc, 0xe9b2, 0x97dd, 0x97de, 0x97df,\n    0x97e0, 0xe9a9, 0x97e1, 0x97e2, 0x97e3, 0xb4aa, 0x97e4, 0xb4bb,\n    0x97e5, 0x97e6, 0xe9ab, 0x97e7, 0x97e8, 0x97e9, 0x97ea, 0x97eb,\n    0x97ec, 0x97ed, 0x97ee, 0x97ef, 0x97f0, 0x97f1, 0x97f2, 0x97f3,\n    0x97f4, 0x97f5, 0x97f6, 0x97f7, 0xd0a8, 0x97f8, 0x97f9, 0xe9a5,\n    0x97fa, 0x97fb, 0xb3fe, 0x97fc, 0x97fd, 0xe9ac, 0xc0e3, 0x97fe,\n    0xe9aa, 0x9840, 0x9841, 0xe9b9, 0x9842, 0x9843, 0xe9b8, 0x9844,\n    0x9845, 0x9846, 0x9847, 0xe9ae, 0x9848, 0x9849, 0xe8fa, 0x984a,\n    0x984b, 0xe9a8, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850, 0xbfac,\n    0xe9b1, 0xe9ba, 0x9851, 0x9852, 0xc2a5, 0x9853, 0x9854, 0x9855,\n    0xe9af, 0x9856, 0xb8c5, 0x9857, 0xe9ad, 0x9858, 0xd3dc, 0xe9b4,\n    0xe9b5, 0xe9b7, 0x9859, 0x985a, 0x985b, 0xe9c7, 0x985c, 0x985d,\n    0x985e, 0x985f, 0x9860, 0x9861, 0xc0c6, 0xe9c5, 0x9862, 0x9863,\n    0xe9b0, 0x9864, 0x9865, 0xe9bb, 0xb0f1, 0x9866, 0x9867, 0x9868,\n    0x9869, 0x986a, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0xe9bc,\n    0xd5a5, 0x9870, 0x9871, 0xe9be, 0x9872, 0xe9bf, 0x9873, 0x9874,\n    0x9875, 0xe9c1, 0x9876, 0x9877, 0xc1f1, 0x9878, 0x9879, 0xc8b6,\n    0x987a, 0x987b, 0x987c, 0xe9bd, 0x987d, 0x987e, 0x9880, 0x9881,\n    0x9882, 0xe9c2, 0x9883, 0x9884, 0x9885, 0x9886, 0x9887, 0x9888,\n    0x9889, 0x988a, 0xe9c3, 0x988b, 0xe9b3, 0x988c, 0xe9b6, 0x988d,\n    0xbbb1, 0x988e, 0x988f, 0x9890, 0xe9c0, 0x9891, 0x9892, 0x9893,\n    0x9894, 0x9895, 0x9896, 0xbcf7, 0x9897, 0x9898, 0x9899, 0xe9c4,\n    0xe9c6, 0x989a, 0x989b, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0,\n    0x98a1, 0x98a2, 0x98a3, 0x98a4, 0x98a5, 0xe9ca, 0x98a6, 0x98a7,\n    0x98a8, 0x98a9, 0xe9ce, 0x98aa, 0x98ab, 0x98ac, 0x98ad, 0x98ae,\n    0x98af, 0x98b0, 0x98b1, 0x98b2, 0x98b3, 0xb2db, 0x98b4, 0xe9c8,\n    /* 0x6a00 .. 0x6aff */\n    0x98b5, 0x98b6, 0x98b7, 0x98b8, 0x98b9, 0x98ba, 0x98bb, 0x98bc,\n    0x98bd, 0x98be, 0xb7ae, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3,\n    0x98c4, 0x98c5, 0x98c6, 0x98c7, 0x98c8, 0x98c9, 0x98ca, 0xe9cb,\n    0xe9cc, 0x98cb, 0x98cc, 0x98cd, 0x98ce, 0x98cf, 0x98d0, 0xd5c1,\n    0x98d1, 0xc4a3, 0x98d2, 0x98d3, 0x98d4, 0x98d5, 0x98d6, 0x98d7,\n    0xe9d8, 0x98d8, 0xbae1, 0x98d9, 0x98da, 0x98db, 0x98dc, 0xe9c9,\n    0x98dd, 0xd3a3, 0x98de, 0x98df, 0x98e0, 0xe9d4, 0x98e1, 0x98e2,\n    0x98e3, 0x98e4, 0x98e5, 0x98e6, 0x98e7, 0xe9d7, 0xe9d0, 0x98e8,\n    0x98e9, 0x98ea, 0x98eb, 0x98ec, 0xe9cf, 0x98ed, 0x98ee, 0xc7c1,\n    0x98ef, 0x98f0, 0x98f1, 0x98f2, 0x98f3, 0x98f4, 0x98f5, 0x98f6,\n    0xe9d2, 0x98f7, 0x98f8, 0x98f9, 0x98fa, 0x98fb, 0x98fc, 0x98fd,\n    0xe9d9, 0xb3c8, 0x98fe, 0xe9d3, 0x9940, 0x9941, 0x9942, 0x9943,\n    0x9944, 0xcff0, 0x9945, 0x9946, 0x9947, 0xe9cd, 0x9948, 0x9949,\n    0x994a, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,\n    0x9952, 0xb3f7, 0x9953, 0x9954, 0x9955, 0x9956, 0x9957, 0x9958,\n    0x9959, 0xe9d6, 0x995a, 0x995b, 0xe9da, 0x995c, 0x995d, 0x995e,\n    0xccb4, 0x995f, 0x9960, 0x9961, 0xcfad, 0x9962, 0x9963, 0x9964,\n    0x9965, 0x9966, 0x9967, 0x9968, 0x9969, 0x996a, 0xe9d5, 0x996b,\n    0xe9dc, 0xe9db, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0xe9de,\n    0x9971, 0x9972, 0x9973, 0x9974, 0x9975, 0x9976, 0x9977, 0x9978,\n    0xe9d1, 0x9979, 0x997a, 0x997b, 0x997c, 0x997d, 0x997e, 0x9980,\n    0x9981, 0xe9dd, 0x9982, 0xe9df, 0xc3ca, 0x9983, 0x9984, 0x9985,\n    0x9986, 0x9987, 0x9988, 0x9989, 0x998a, 0x998b, 0x998c, 0x998d,\n    0x998e, 0x998f, 0x9990, 0x9991, 0x9992, 0x9993, 0x9994, 0x9995,\n    0x9996, 0x9997, 0x9998, 0x9999, 0x999a, 0x999b, 0x999c, 0x999d,\n    0x999e, 0x999f, 0x99a0, 0x99a1, 0x99a2, 0x99a3, 0x99a4, 0x99a5,\n    0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac, 0x99ad,\n    0x99ae, 0x99af, 0x99b0, 0x99b1, 0x99b2, 0x99b3, 0x99b4, 0x99b5,\n    0x99b6, 0x99b7, 0x99b8, 0x99b9, 0x99ba, 0x99bb, 0x99bc, 0x99bd,\n    0x99be, 0x99bf, 0x99c0, 0x99c1, 0x99c2, 0x99c3, 0x99c4, 0x99c5,\n    0x99c6, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,\n    0x99ce, 0x99cf, 0x99d0, 0x99d1, 0x99d2, 0x99d3, 0x99d4, 0x99d5,\n    /* 0x6b00 .. 0x6bff */\n    0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da, 0x99db, 0x99dc, 0x99dd,\n    0x99de, 0x99df, 0x99e0, 0x99e1, 0x99e2, 0x99e3, 0x99e4, 0x99e5,\n    0x99e6, 0x99e7, 0x99e8, 0x99e9, 0x99ea, 0x99eb, 0x99ec, 0x99ed,\n    0x99ee, 0x99ef, 0x99f0, 0x99f1, 0x99f2, 0x99f3, 0x99f4, 0x99f5,\n    0xc7b7, 0xb4ce, 0xbbb6, 0xd0c0, 0xeca3, 0x99f6, 0x99f7, 0xc5b7,\n    0x99f8, 0x99f9, 0x99fa, 0x99fb, 0x99fc, 0x99fd, 0x99fe, 0x9a40,\n    0x9a41, 0x9a42, 0xd3fb, 0x9a43, 0x9a44, 0x9a45, 0x9a46, 0xeca4,\n    0x9a47, 0xeca5, 0xc6db, 0x9a48, 0x9a49, 0x9a4a, 0xbfee, 0x9a4b,\n    0x9a4c, 0x9a4d, 0x9a4e, 0xeca6, 0x9a4f, 0x9a50, 0xeca7, 0xd0aa,\n    0x9a51, 0xc7b8, 0x9a52, 0x9a53, 0xb8e8, 0x9a54, 0x9a55, 0x9a56,\n    0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a5b, 0x9a5c, 0x9a5d, 0x9a5e,\n    0x9a5f, 0xeca8, 0x9a60, 0x9a61, 0x9a62, 0x9a63, 0x9a64, 0x9a65,\n    0x9a66, 0x9a67, 0xd6b9, 0xd5fd, 0xb4cb, 0xb2bd, 0xcee4, 0xc6e7,\n    0x9a68, 0x9a69, 0xcde1, 0x9a6a, 0x9a6b, 0x9a6c, 0x9a6d, 0x9a6e,\n    0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75, 0x9a76,\n    0x9a77, 0xb4f5, 0x9a78, 0xcbc0, 0xbcdf, 0x9a79, 0x9a7a, 0x9a7b,\n    0x9a7c, 0xe9e2, 0xe9e3, 0xd1ea, 0xe9e5, 0x9a7d, 0xb4f9, 0xe9e4,\n    0x9a7e, 0xd1b3, 0xcae2, 0xb2d0, 0x9a80, 0xe9e8, 0x9a81, 0x9a82,\n    0x9a83, 0x9a84, 0xe9e6, 0xe9e7, 0x9a85, 0x9a86, 0xd6b3, 0x9a87,\n    0x9a88, 0x9a89, 0xe9e9, 0xe9ea, 0x9a8a, 0x9a8b, 0x9a8c, 0x9a8d,\n    0x9a8e, 0xe9eb, 0x9a8f, 0x9a90, 0x9a91, 0x9a92, 0x9a93, 0x9a94,\n    0x9a95, 0x9a96, 0xe9ec, 0x9a97, 0x9a98, 0x9a99, 0x9a9a, 0x9a9b,\n    0x9a9c, 0x9a9d, 0x9a9e, 0xecaf, 0xc5b9, 0xb6ce, 0x9a9f, 0xd2f3,\n    0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6, 0xb5ee,\n    0x9aa7, 0xbbd9, 0xecb1, 0x9aa8, 0x9aa9, 0xd2e3, 0x9aaa, 0x9aab,\n    0x9aac, 0x9aad, 0x9aae, 0xcee3, 0x9aaf, 0xc4b8, 0x9ab0, 0xc3bf,\n    0x9ab1, 0x9ab2, 0xb6be, 0xd8b9, 0xb1c8, 0xb1cf, 0xb1d1, 0xc5fe,\n    0x9ab3, 0xb1d0, 0x9ab4, 0xc3ab, 0x9ab5, 0x9ab6, 0x9ab7, 0x9ab8,\n    0x9ab9, 0xd5b1, 0x9aba, 0x9abb, 0x9abc, 0x9abd, 0x9abe, 0x9abf,\n    0x9ac0, 0x9ac1, 0xeba4, 0xbac1, 0x9ac2, 0x9ac3, 0x9ac4, 0xccba,\n    0x9ac5, 0x9ac6, 0x9ac7, 0xeba5, 0x9ac8, 0xeba7, 0x9ac9, 0x9aca,\n    0x9acb, 0xeba8, 0x9acc, 0x9acd, 0x9ace, 0xeba6, 0x9acf, 0x9ad0,\n    /* 0x6c00 .. 0x6cff */\n    0x9ad1, 0x9ad2, 0x9ad3, 0x9ad4, 0x9ad5, 0xeba9, 0xebab, 0xebaa,\n    0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada, 0xebac, 0x9adb, 0xcacf,\n    0xd8b5, 0xc3f1, 0x9adc, 0xc3a5, 0xc6f8, 0xebad, 0xc4ca, 0x9add,\n    0xebae, 0xebaf, 0xebb0, 0xb7d5, 0x9ade, 0x9adf, 0x9ae0, 0xb7fa,\n    0x9ae1, 0xebb1, 0xc7e2, 0x9ae2, 0xebb3, 0x9ae3, 0xbaa4, 0xd1f5,\n    0xb0b1, 0xebb2, 0xebb4, 0x9ae4, 0x9ae5, 0x9ae6, 0xb5aa, 0xc2c8,\n    0xc7e8, 0x9ae7, 0xebb5, 0x9ae8, 0xcbae, 0xe3df, 0x9ae9, 0x9aea,\n    0xd3c0, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xd9db, 0x9aef, 0x9af0,\n    0xcda1, 0xd6ad, 0xc7f3, 0x9af1, 0x9af2, 0x9af3, 0xd9e0, 0xbbe3,\n    0x9af4, 0xbaba, 0xe3e2, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9,\n    0xcfab, 0x9afa, 0x9afb, 0x9afc, 0xe3e0, 0xc9c7, 0x9afd, 0xbab9,\n    0x9afe, 0x9b40, 0x9b41, 0xd1b4, 0xe3e1, 0xc8ea, 0xb9af, 0xbdad,\n    0xb3d8, 0xcedb, 0x9b42, 0x9b43, 0xccc0, 0x9b44, 0x9b45, 0x9b46,\n    0xe3e8, 0xe3e9, 0xcdf4, 0x9b47, 0x9b48, 0x9b49, 0x9b4a, 0x9b4b,\n    0xccad, 0x9b4c, 0xbcb3, 0x9b4d, 0xe3ea, 0x9b4e, 0xe3eb, 0x9b4f,\n    0x9b50, 0xd0da, 0x9b51, 0x9b52, 0x9b53, 0xc6fb, 0xb7da, 0x9b54,\n    0x9b55, 0xc7df, 0xd2ca, 0xced6, 0x9b56, 0xe3e4, 0xe3ec, 0x9b57,\n    0xc9f2, 0xb3c1, 0x9b58, 0x9b59, 0xe3e7, 0x9b5a, 0x9b5b, 0xc6e3,\n    0xe3e5, 0x9b5c, 0x9b5d, 0xedb3, 0xe3e6, 0x9b5e, 0x9b5f, 0x9b60,\n    0x9b61, 0xc9b3, 0x9b62, 0xc5e6, 0x9b63, 0x9b64, 0x9b65, 0xb9b5,\n    0x9b66, 0xc3bb, 0x9b67, 0xe3e3, 0xc5bd, 0xc1a4, 0xc2d9, 0xb2d7,\n    0x9b68, 0xe3ed, 0xbba6, 0xc4ad, 0x9b69, 0xe3f0, 0xbeda, 0x9b6a,\n    0x9b6b, 0xe3fb, 0xe3f5, 0xbad3, 0x9b6c, 0x9b6d, 0x9b6e, 0x9b6f,\n    0xb7d0, 0xd3cd, 0x9b70, 0xd6ce, 0xd5d3, 0xb9c1, 0xd5b4, 0xd1d8,\n    0x9b71, 0x9b72, 0x9b73, 0x9b74, 0xd0b9, 0xc7f6, 0x9b75, 0x9b76,\n    0x9b77, 0xc8aa, 0xb2b4, 0x9b78, 0xc3da, 0x9b79, 0x9b7a, 0x9b7b,\n    0xe3ee, 0x9b7c, 0x9b7d, 0xe3fc, 0xe3ef, 0xb7a8, 0xe3f7, 0xe3f4,\n    0x9b7e, 0x9b80, 0x9b81, 0xb7ba, 0x9b82, 0x9b83, 0xc5a2, 0x9b84,\n    0xe3f6, 0xc5dd, 0xb2a8, 0xc6fc, 0x9b85, 0xc4e0, 0x9b86, 0x9b87,\n    0xd7a2, 0x9b88, 0xc0e1, 0xe3f9, 0x9b89, 0x9b8a, 0xe3fa, 0xe3fd,\n    0xcca9, 0xe3f3, 0x9b8b, 0xd3be, 0x9b8c, 0xb1c3, 0xedb4, 0xe3f1,\n    0xe3f2, 0x9b8d, 0xe3f8, 0xd0ba, 0xc6c3, 0xd4f3, 0xe3fe, 0x9b8e,\n    /* 0x6d00 .. 0x6dff */\n    0x9b8f, 0xbde0, 0x9b90, 0x9b91, 0xe4a7, 0x9b92, 0x9b93, 0xe4a6,\n    0x9b94, 0x9b95, 0x9b96, 0xd1f3, 0xe4a3, 0x9b97, 0xe4a9, 0x9b98,\n    0x9b99, 0x9b9a, 0xc8f7, 0x9b9b, 0x9b9c, 0x9b9d, 0x9b9e, 0xcfb4,\n    0x9b9f, 0xe4a8, 0xe4ae, 0xc2e5, 0x9ba0, 0x9ba1, 0xb6b4, 0x9ba2,\n    0x9ba3, 0x9ba4, 0x9ba5, 0x9ba6, 0x9ba7, 0xbdf2, 0x9ba8, 0xe4a2,\n    0x9ba9, 0x9baa, 0xbae9, 0xe4aa, 0x9bab, 0x9bac, 0xe4ac, 0x9bad,\n    0x9bae, 0xb6fd, 0xd6de, 0xe4b2, 0x9baf, 0xe4ad, 0x9bb0, 0x9bb1,\n    0x9bb2, 0xe4a1, 0x9bb3, 0xbbee, 0xcddd, 0xc7a2, 0xc5c9, 0x9bb4,\n    0x9bb5, 0xc1f7, 0x9bb6, 0xe4a4, 0x9bb7, 0xc7b3, 0xbdac, 0xbdbd,\n    0xe4a5, 0x9bb8, 0xd7c7, 0xb2e2, 0x9bb9, 0xe4ab, 0xbcc3, 0xe4af,\n    0x9bba, 0xbbeb, 0xe4b0, 0xc5a8, 0xe4b1, 0x9bbb, 0x9bbc, 0x9bbd,\n    0x9bbe, 0xd5e3, 0xbfa3, 0x9bbf, 0xe4ba, 0x9bc0, 0xe4b7, 0x9bc1,\n    0xe4bb, 0x9bc2, 0x9bc3, 0xe4bd, 0x9bc4, 0x9bc5, 0xc6d6, 0x9bc6,\n    0x9bc7, 0xbac6, 0xc0cb, 0x9bc8, 0x9bc9, 0x9bca, 0xb8a1, 0xe4b4,\n    0x9bcb, 0x9bcc, 0x9bcd, 0x9bce, 0xd4a1, 0x9bcf, 0x9bd0, 0xbaa3,\n    0xbdfe, 0x9bd1, 0x9bd2, 0x9bd3, 0xe4bc, 0x9bd4, 0x9bd5, 0x9bd6,\n    0x9bd7, 0x9bd8, 0xcdbf, 0x9bd9, 0x9bda, 0xc4f9, 0x9bdb, 0x9bdc,\n    0xcffb, 0xc9e6, 0x9bdd, 0x9bde, 0xd3bf, 0x9bdf, 0xcfd1, 0x9be0,\n    0x9be1, 0xe4b3, 0x9be2, 0xe4b8, 0xe4b9, 0xcce9, 0x9be3, 0x9be4,\n    0x9be5, 0x9be6, 0x9be7, 0xccce, 0x9be8, 0xc0d4, 0xe4b5, 0xc1b0,\n    0xe4b6, 0xced0, 0x9be9, 0xbbc1, 0xb5d3, 0x9bea, 0xc8f3, 0xbda7,\n    0xd5c7, 0xc9ac, 0xb8a2, 0xe4ca, 0x9beb, 0x9bec, 0xe4cc, 0xd1c4,\n    0x9bed, 0x9bee, 0xd2ba, 0x9bef, 0x9bf0, 0xbaad, 0x9bf1, 0x9bf2,\n    0xbad4, 0x9bf3, 0x9bf4, 0x9bf5, 0x9bf6, 0x9bf7, 0x9bf8, 0xe4c3,\n    0xb5ed, 0x9bf9, 0x9bfa, 0x9bfb, 0xd7cd, 0xe4c0, 0xcffd, 0xe4bf,\n    0x9bfc, 0x9bfd, 0x9bfe, 0xc1dc, 0xccca, 0x9c40, 0x9c41, 0x9c42,\n    0x9c43, 0xcae7, 0x9c44, 0x9c45, 0x9c46, 0x9c47, 0xc4d7, 0x9c48,\n    0xccd4, 0xe4c8, 0x9c49, 0x9c4a, 0x9c4b, 0xe4c7, 0xe4c1, 0x9c4c,\n    0xe4c4, 0xb5ad, 0x9c4d, 0x9c4e, 0xd3d9, 0x9c4f, 0xe4c6, 0x9c50,\n    0x9c51, 0x9c52, 0x9c53, 0xd2f9, 0xb4e3, 0x9c54, 0xbbb4, 0x9c55,\n    0x9c56, 0xc9ee, 0x9c57, 0xb4be, 0x9c58, 0x9c59, 0x9c5a, 0xbbec,\n    0x9c5b, 0xd1cd, 0x9c5c, 0xcced, 0xedb5, 0x9c5d, 0x9c5e, 0x9c5f,\n    /* 0x6e00 .. 0x6eff */\n    0x9c60, 0x9c61, 0x9c62, 0x9c63, 0x9c64, 0xc7e5, 0x9c65, 0x9c66,\n    0x9c67, 0x9c68, 0xd4a8, 0x9c69, 0xe4cb, 0xd7d5, 0xe4c2, 0x9c6a,\n    0xbda5, 0xe4c5, 0x9c6b, 0x9c6c, 0xd3e6, 0x9c6d, 0xe4c9, 0xc9f8,\n    0x9c6e, 0x9c6f, 0xe4be, 0x9c70, 0x9c71, 0xd3e5, 0x9c72, 0x9c73,\n    0xc7fe, 0xb6c9, 0x9c74, 0xd4fc, 0xb2b3, 0xe4d7, 0x9c75, 0x9c76,\n    0x9c77, 0xcec2, 0x9c78, 0xe4cd, 0x9c79, 0xcebc, 0x9c7a, 0xb8db,\n    0x9c7b, 0x9c7c, 0xe4d6, 0x9c7d, 0xbfca, 0x9c7e, 0x9c80, 0x9c81,\n    0xd3ce, 0x9c82, 0xc3ec, 0x9c83, 0x9c84, 0x9c85, 0x9c86, 0x9c87,\n    0x9c88, 0x9c89, 0x9c8a, 0xc5c8, 0xe4d8, 0x9c8b, 0x9c8c, 0x9c8d,\n    0x9c8e, 0x9c8f, 0x9c90, 0x9c91, 0x9c92, 0xcdc4, 0xe4cf, 0x9c93,\n    0x9c94, 0x9c95, 0x9c96, 0xe4d4, 0xe4d5, 0x9c97, 0xbafe, 0x9c98,\n    0xcfe6, 0x9c99, 0x9c9a, 0xd5bf, 0x9c9b, 0x9c9c, 0x9c9d, 0xe4d2,\n    0x9c9e, 0x9c9f, 0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5,\n    0x9ca6, 0x9ca7, 0x9ca8, 0xe4d0, 0x9ca9, 0x9caa, 0xe4ce, 0x9cab,\n    0x9cac, 0x9cad, 0x9cae, 0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3,\n    0x9cb4, 0x9cb5, 0x9cb6, 0x9cb7, 0x9cb8, 0x9cb9, 0xcde5, 0xcaaa,\n    0x9cba, 0x9cbb, 0x9cbc, 0xc0a3, 0x9cbd, 0xbda6, 0xe4d3, 0x9cbe,\n    0x9cbf, 0xb8c8, 0x9cc0, 0x9cc1, 0x9cc2, 0x9cc3, 0x9cc4, 0xe4e7,\n    0xd4b4, 0x9cc5, 0x9cc6, 0x9cc7, 0x9cc8, 0x9cc9, 0x9cca, 0x9ccb,\n    0xe4db, 0x9ccc, 0x9ccd, 0x9cce, 0xc1ef, 0x9ccf, 0x9cd0, 0xe4e9,\n    0x9cd1, 0x9cd2, 0xd2e7, 0x9cd3, 0x9cd4, 0xe4df, 0x9cd5, 0xe4e0,\n    0x9cd6, 0x9cd7, 0xcfaa, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0xcbdd,\n    0x9cdc, 0xe4da, 0xe4d1, 0x9cdd, 0xe4e5, 0x9cde, 0xc8dc, 0xe4e3,\n    0x9cdf, 0x9ce0, 0xc4e7, 0xe4e2, 0x9ce1, 0xe4e1, 0x9ce2, 0x9ce3,\n    0x9ce4, 0xb3fc, 0xe4e8, 0x9ce5, 0x9ce6, 0x9ce7, 0x9ce8, 0xb5e1,\n    0x9ce9, 0x9cea, 0x9ceb, 0xd7cc, 0x9cec, 0x9ced, 0x9cee, 0xe4e6,\n    0x9cef, 0xbbac, 0x9cf0, 0xd7d2, 0xcccf, 0xebf8, 0x9cf1, 0xe4e4,\n    0x9cf2, 0x9cf3, 0xb9f6, 0x9cf4, 0x9cf5, 0x9cf6, 0xd6cd, 0xe4d9,\n    0xe4dc, 0xc2fa, 0xe4de, 0x9cf7, 0xc2cb, 0xc0c4, 0xc2d0, 0x9cf8,\n    0xb1f5, 0xccb2, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc, 0x9cfd, 0x9cfe,\n    0x9d40, 0x9d41, 0x9d42, 0x9d43, 0xb5ce, 0x9d44, 0x9d45, 0x9d46,\n    0x9d47, 0xe4ef, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d,\n    /* 0x6f00 .. 0x6fff */\n    0x9d4e, 0x9d4f, 0xc6af, 0x9d50, 0x9d51, 0x9d52, 0xc6e1, 0x9d53,\n    0x9d54, 0xe4f5, 0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0xc2a9,\n    0x9d5a, 0x9d5b, 0x9d5c, 0xc0ec, 0xd1dd, 0xe4ee, 0x9d5d, 0x9d5e,\n    0x9d5f, 0x9d60, 0x9d61, 0x9d62, 0x9d63, 0x9d64, 0x9d65, 0x9d66,\n    0xc4ae, 0x9d67, 0x9d68, 0x9d69, 0xe4ed, 0x9d6a, 0x9d6b, 0x9d6c,\n    0x9d6d, 0xe4f6, 0xe4f4, 0xc2fe, 0x9d6e, 0xe4dd, 0x9d6f, 0xe4f0,\n    0x9d70, 0xcafe, 0x9d71, 0xd5c4, 0x9d72, 0x9d73, 0xe4f1, 0x9d74,\n    0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a, 0xd1fa, 0x9d7b,\n    0x9d7c, 0x9d7d, 0x9d7e, 0x9d80, 0x9d81, 0x9d82, 0xe4eb, 0xe4ec,\n    0x9d83, 0x9d84, 0x9d85, 0xe4f2, 0x9d86, 0xceab, 0x9d87, 0x9d88,\n    0x9d89, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f, 0x9d90,\n    0xc5cb, 0x9d91, 0x9d92, 0x9d93, 0xc7b1, 0x9d94, 0xc2ba, 0x9d95,\n    0x9d96, 0x9d97, 0xe4ea, 0x9d98, 0x9d99, 0x9d9a, 0xc1ca, 0x9d9b,\n    0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f, 0x9da0, 0xccb6, 0xb3b1, 0x9da1,\n    0x9da2, 0x9da3, 0xe4fb, 0x9da4, 0xe4f3, 0x9da5, 0x9da6, 0x9da7,\n    0xe4fa, 0x9da8, 0xe4fd, 0x9da9, 0xe4fc, 0x9daa, 0x9dab, 0x9dac,\n    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xb3ce, 0x9db1, 0x9db2, 0x9db3,\n    0xb3ba, 0xe4f7, 0x9db4, 0x9db5, 0xe4f9, 0xe4f8, 0xc5ec, 0x9db6,\n    0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb, 0x9dbc, 0x9dbd, 0x9dbe,\n    0x9dbf, 0x9dc0, 0x9dc1, 0x9dc2, 0xc0bd, 0x9dc3, 0x9dc4, 0x9dc5,\n    0x9dc6, 0xd4e8, 0x9dc7, 0x9dc8, 0x9dc9, 0x9dca, 0x9dcb, 0xe5a2,\n    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0x9dd0, 0x9dd1, 0x9dd2, 0x9dd3,\n    0x9dd4, 0x9dd5, 0x9dd6, 0xb0c4, 0x9dd7, 0x9dd8, 0xe5a4, 0x9dd9,\n    0x9dda, 0xe5a3, 0x9ddb, 0x9ddc, 0x9ddd, 0x9dde, 0x9ddf, 0x9de0,\n    0xbca4, 0x9de1, 0xe5a5, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6,\n    0x9de7, 0xe5a1, 0x9de8, 0x9de9, 0x9dea, 0x9deb, 0x9dec, 0x9ded,\n    0x9dee, 0xe4fe, 0xb1f4, 0x9def, 0x9df0, 0x9df1, 0x9df2, 0x9df3,\n    0x9df4, 0x9df5, 0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xe5a8, 0x9dfa,\n    0xe5a9, 0xe5a6, 0x9dfb, 0x9dfc, 0x9dfd, 0x9dfe, 0x9e40, 0x9e41,\n    0x9e42, 0x9e43, 0x9e44, 0x9e45, 0x9e46, 0x9e47, 0xe5a7, 0xe5aa,\n    0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e, 0x9e4f,\n    0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55, 0x9e56, 0x9e57,\n    /* 0x7000 .. 0x70ff */\n    0x9e58, 0x9e59, 0x9e5a, 0x9e5b, 0x9e5c, 0x9e5d, 0x9e5e, 0x9e5f,\n    0x9e60, 0x9e61, 0x9e62, 0x9e63, 0x9e64, 0x9e65, 0x9e66, 0x9e67,\n    0x9e68, 0xc6d9, 0x9e69, 0x9e6a, 0x9e6b, 0x9e6c, 0x9e6d, 0x9e6e,\n    0x9e6f, 0x9e70, 0xe5ab, 0xe5ad, 0x9e71, 0x9e72, 0x9e73, 0x9e74,\n    0x9e75, 0x9e76, 0x9e77, 0xe5ac, 0x9e78, 0x9e79, 0x9e7a, 0x9e7b,\n    0x9e7c, 0x9e7d, 0x9e7e, 0x9e80, 0x9e81, 0x9e82, 0x9e83, 0x9e84,\n    0x9e85, 0x9e86, 0x9e87, 0x9e88, 0x9e89, 0xe5af, 0x9e8a, 0x9e8b,\n    0x9e8c, 0xe5ae, 0x9e8d, 0x9e8e, 0x9e8f, 0x9e90, 0x9e91, 0x9e92,\n    0x9e93, 0x9e94, 0x9e95, 0x9e96, 0x9e97, 0x9e98, 0x9e99, 0x9e9a,\n    0x9e9b, 0x9e9c, 0x9e9d, 0x9e9e, 0xb9e0, 0x9e9f, 0x9ea0, 0xe5b0,\n    0x9ea1, 0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0x9ea6, 0x9ea7, 0x9ea8,\n    0x9ea9, 0x9eaa, 0x9eab, 0x9eac, 0x9ead, 0x9eae, 0xe5b1, 0x9eaf,\n    0x9eb0, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4, 0x9eb5, 0x9eb6, 0x9eb7,\n    0x9eb8, 0x9eb9, 0x9eba, 0xbbf0, 0xece1, 0xc3f0, 0x9ebb, 0xb5c6,\n    0xbbd2, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0xc1e9, 0xd4ee, 0x9ec0,\n    0xbec4, 0x9ec1, 0x9ec2, 0x9ec3, 0xd7c6, 0x9ec4, 0xd4d6, 0xb2d3,\n    0xecbe, 0x9ec5, 0x9ec6, 0x9ec7, 0x9ec8, 0xeac1, 0x9ec9, 0x9eca,\n    0x9ecb, 0xc2af, 0xb4b6, 0x9ecc, 0x9ecd, 0x9ece, 0xd1d7, 0x9ecf,\n    0x9ed0, 0x9ed1, 0xb3b4, 0x9ed2, 0xc8b2, 0xbfbb, 0xecc0, 0x9ed3,\n    0x9ed4, 0xd6cb, 0x9ed5, 0x9ed6, 0xecbf, 0xecc1, 0x9ed7, 0x9ed8,\n    0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd, 0x9ede, 0x9edf, 0x9ee0,\n    0x9ee1, 0x9ee2, 0x9ee3, 0xecc5, 0xbee6, 0xccbf, 0xc5da, 0xbebc,\n    0x9ee4, 0xecc6, 0x9ee5, 0xb1fe, 0x9ee6, 0x9ee7, 0x9ee8, 0xecc4,\n    0xd5a8, 0xb5e3, 0x9ee9, 0xecc2, 0xc1b6, 0xb3e3, 0x9eea, 0x9eeb,\n    0xecc3, 0xcbb8, 0xc0c3, 0xccfe, 0x9eec, 0x9eed, 0x9eee, 0x9eef,\n    0xc1d2, 0x9ef0, 0xecc8, 0x9ef1, 0x9ef2, 0x9ef3, 0x9ef4, 0x9ef5,\n    0x9ef6, 0x9ef7, 0x9ef8, 0x9ef9, 0x9efa, 0x9efb, 0x9efc, 0x9efd,\n    0xbae6, 0xc0d3, 0x9efe, 0xd6f2, 0x9f40, 0x9f41, 0x9f42, 0xd1cc,\n    0x9f43, 0x9f44, 0x9f45, 0x9f46, 0xbfbe, 0x9f47, 0xb7b3, 0xc9d5,\n    0xecc7, 0xbbe2, 0x9f48, 0xcccc, 0xbdfd, 0xc8c8, 0x9f49, 0xcfa9,\n    0x9f4a, 0x9f4b, 0x9f4c, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0xcde9,\n    0x9f51, 0xc5eb, 0x9f52, 0x9f53, 0x9f54, 0xb7e9, 0x9f55, 0x9f56,\n    /* 0x7100 .. 0x71ff */\n    0x9f57, 0x9f58, 0x9f59, 0x9f5a, 0x9f5b, 0x9f5c, 0x9f5d, 0x9f5e,\n    0x9f5f, 0xd1c9, 0xbab8, 0x9f60, 0x9f61, 0x9f62, 0x9f63, 0x9f64,\n    0xecc9, 0x9f65, 0x9f66, 0xecca, 0x9f67, 0xbbc0, 0xeccb, 0x9f68,\n    0xece2, 0xb1ba, 0xb7d9, 0x9f69, 0x9f6a, 0x9f6b, 0x9f6c, 0x9f6d,\n    0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73, 0xbdb9, 0x9f74,\n    0x9f75, 0x9f76, 0x9f77, 0x9f78, 0x9f79, 0x9f7a, 0x9f7b, 0xeccc,\n    0xd1e6, 0xeccd, 0x9f7c, 0x9f7d, 0x9f7e, 0x9f80, 0xc8bb, 0x9f81,\n    0x9f82, 0x9f83, 0x9f84, 0x9f85, 0x9f86, 0x9f87, 0x9f88, 0x9f89,\n    0x9f8a, 0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xecd1, 0x9f8f, 0x9f90,\n    0x9f91, 0x9f92, 0xecd3, 0x9f93, 0xbbcd, 0x9f94, 0xbce5, 0x9f95,\n    0x9f96, 0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0x9f9b, 0x9f9c, 0x9f9d,\n    0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0xeccf, 0x9fa2, 0xc9b7, 0x9fa3,\n    0x9fa4, 0x9fa5, 0x9fa6, 0x9fa7, 0xc3ba, 0x9fa8, 0xece3, 0xd5d5,\n    0xecd0, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0xd6f3, 0x9fae,\n    0x9faf, 0x9fb0, 0xecd2, 0xecce, 0x9fb1, 0x9fb2, 0x9fb3, 0x9fb4,\n    0xecd4, 0x9fb5, 0xecd5, 0x9fb6, 0x9fb7, 0xc9bf, 0x9fb8, 0x9fb9,\n    0x9fba, 0x9fbb, 0x9fbc, 0x9fbd, 0xcfa8, 0x9fbe, 0x9fbf, 0x9fc0,\n    0x9fc1, 0x9fc2, 0xd0dc, 0x9fc3, 0x9fc4, 0x9fc5, 0x9fc6, 0xd1ac,\n    0x9fc7, 0x9fc8, 0x9fc9, 0x9fca, 0xc8db, 0x9fcb, 0x9fcc, 0x9fcd,\n    0xecd6, 0xcef5, 0x9fce, 0x9fcf, 0x9fd0, 0x9fd1, 0x9fd2, 0xcaec,\n    0xecda, 0x9fd3, 0x9fd4, 0x9fd5, 0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9,\n    0xecd9, 0x9fda, 0x9fdb, 0x9fdc, 0xb0be, 0x9fdd, 0x9fde, 0x9fdf,\n    0x9fe0, 0x9fe1, 0x9fe2, 0xecd7, 0x9fe3, 0xecd8, 0x9fe4, 0x9fe5,\n    0x9fe6, 0xece4, 0x9fe7, 0x9fe8, 0x9fe9, 0x9fea, 0x9feb, 0x9fec,\n    0x9fed, 0x9fee, 0x9fef, 0xc8bc, 0x9ff0, 0x9ff1, 0x9ff2, 0x9ff3,\n    0x9ff4, 0x9ff5, 0x9ff6, 0x9ff7, 0x9ff8, 0x9ff9, 0xc1c7, 0x9ffa,\n    0x9ffb, 0x9ffc, 0x9ffd, 0x9ffe, 0xecdc, 0xd1e0, 0xa040, 0xa041,\n    0xa042, 0xa043, 0xa044, 0xa045, 0xa046, 0xa047, 0xa048, 0xa049,\n    0xecdb, 0xa04a, 0xa04b, 0xa04c, 0xa04d, 0xd4ef, 0xa04e, 0xecdd,\n    0xa04f, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xdbc6, 0xa055,\n    0xa056, 0xa057, 0xa058, 0xa059, 0xa05a, 0xa05b, 0xa05c, 0xa05d,\n    0xa05e, 0xecde, 0xa05f, 0xa060, 0xa061, 0xa062, 0xa063, 0xa064,\n    /* 0x7200 .. 0x72ff */\n    0xa065, 0xa066, 0xa067, 0xa068, 0xa069, 0xa06a, 0xb1ac, 0xa06b,\n    0xa06c, 0xa06d, 0xa06e, 0xa06f, 0xa070, 0xa071, 0xa072, 0xa073,\n    0xa074, 0xa075, 0xa076, 0xa077, 0xa078, 0xa079, 0xa07a, 0xa07b,\n    0xa07c, 0xa07d, 0xa07e, 0xa080, 0xa081, 0xecdf, 0xa082, 0xa083,\n    0xa084, 0xa085, 0xa086, 0xa087, 0xa088, 0xa089, 0xa08a, 0xa08b,\n    0xece0, 0xa08c, 0xd7a6, 0xa08d, 0xc5c0, 0xa08e, 0xa08f, 0xa090,\n    0xebbc, 0xb0ae, 0xa091, 0xa092, 0xa093, 0xbef4, 0xb8b8, 0xd2af,\n    0xb0d6, 0xb5f9, 0xa094, 0xd8b3, 0xa095, 0xcbac, 0xa096, 0xe3dd,\n    0xa097, 0xa098, 0xa099, 0xa09a, 0xa09b, 0xa09c, 0xa09d, 0xc6ac,\n    0xb0e6, 0xa09e, 0xa09f, 0xa0a0, 0xc5c6, 0xebb9, 0xa0a1, 0xa0a2,\n    0xa0a3, 0xa0a4, 0xebba, 0xa0a5, 0xa0a6, 0xa0a7, 0xebbb, 0xa0a8,\n    0xa0a9, 0xd1c0, 0xa0aa, 0xc5a3, 0xa0ab, 0xeaf2, 0xa0ac, 0xc4b2,\n    0xa0ad, 0xc4b5, 0xc0ce, 0xa0ae, 0xa0af, 0xa0b0, 0xeaf3, 0xc4c1,\n    0xa0b1, 0xceef, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xeaf0, 0xeaf4,\n    0xa0b6, 0xa0b7, 0xc9fc, 0xa0b8, 0xa0b9, 0xc7a3, 0xa0ba, 0xa0bb,\n    0xa0bc, 0xccd8, 0xcefe, 0xa0bd, 0xa0be, 0xa0bf, 0xeaf5, 0xeaf6,\n    0xcfac, 0xc0e7, 0xa0c0, 0xa0c1, 0xeaf7, 0xa0c2, 0xa0c3, 0xa0c4,\n    0xa0c5, 0xa0c6, 0xb6bf, 0xeaf8, 0xa0c7, 0xeaf9, 0xa0c8, 0xeafa,\n    0xa0c9, 0xa0ca, 0xeafb, 0xa0cb, 0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf,\n    0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3, 0xa0d4, 0xa0d5, 0xa0d6, 0xeaf1,\n    0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db, 0xa0dc, 0xa0dd, 0xa0de,\n    0xa0df, 0xa0e0, 0xa0e1, 0xa0e2, 0xc8ae, 0xe1eb, 0xa0e3, 0xb7b8,\n    0xe1ec, 0xa0e4, 0xa0e5, 0xa0e6, 0xe1ed, 0xa0e7, 0xd7b4, 0xe1ee,\n    0xe1ef, 0xd3cc, 0xa0e8, 0xa0e9, 0xa0ea, 0xa0eb, 0xa0ec, 0xa0ed,\n    0xa0ee, 0xe1f1, 0xbff1, 0xe1f0, 0xb5d2, 0xa0ef, 0xa0f0, 0xa0f1,\n    0xb1b7, 0xa0f2, 0xa0f3, 0xa0f4, 0xa0f5, 0xe1f3, 0xe1f2, 0xa0f6,\n    0xbafc, 0xa0f7, 0xe1f4, 0xa0f8, 0xa0f9, 0xa0fa, 0xa0fb, 0xb9b7,\n    0xa0fc, 0xbed1, 0xa0fd, 0xa0fe, 0xaa40, 0xaa41, 0xc4fc, 0xaa42,\n    0xbadd, 0xbdc6, 0xaa43, 0xaa44, 0xaa45, 0xaa46, 0xaa47, 0xaa48,\n    0xe1f5, 0xe1f7, 0xaa49, 0xaa4a, 0xb6c0, 0xcfc1, 0xcaa8, 0xe1f6,\n    0xd5f8, 0xd3fc, 0xe1f8, 0xe1fc, 0xe1f9, 0xaa4b, 0xaa4c, 0xe1fa,\n    0xc0ea, 0xaa4d, 0xe1fe, 0xe2a1, 0xc0c7, 0xaa4e, 0xaa4f, 0xaa50,\n    /* 0x7300 .. 0x73ff */\n    0xaa51, 0xe1fb, 0xaa52, 0xe1fd, 0xaa53, 0xaa54, 0xaa55, 0xaa56,\n    0xaa57, 0xaa58, 0xe2a5, 0xaa59, 0xaa5a, 0xaa5b, 0xc1d4, 0xaa5c,\n    0xaa5d, 0xaa5e, 0xaa5f, 0xe2a3, 0xaa60, 0xe2a8, 0xb2fe, 0xe2a2,\n    0xaa61, 0xaa62, 0xaa63, 0xc3cd, 0xb2c2, 0xe2a7, 0xe2a6, 0xaa64,\n    0xaa65, 0xe2a4, 0xe2a9, 0xaa66, 0xaa67, 0xe2ab, 0xaa68, 0xaa69,\n    0xaa6a, 0xd0c9, 0xd6ed, 0xc3a8, 0xe2ac, 0xaa6b, 0xcfd7, 0xaa6c,\n    0xaa6d, 0xe2ae, 0xaa6e, 0xaa6f, 0xbaef, 0xaa70, 0xaa71, 0xe9e0,\n    0xe2ad, 0xe2aa, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xbbab, 0xd4b3,\n    0xaa76, 0xaa77, 0xaa78, 0xaa79, 0xaa7a, 0xaa7b, 0xaa7c, 0xaa7d,\n    0xaa7e, 0xaa80, 0xaa81, 0xaa82, 0xaa83, 0xe2b0, 0xaa84, 0xaa85,\n    0xe2af, 0xaa86, 0xe9e1, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xe2b1,\n    0xaa8b, 0xaa8c, 0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92,\n    0xe2b2, 0xaa93, 0xaa94, 0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99,\n    0xaa9a, 0xaa9b, 0xaa9c, 0xaa9d, 0xe2b3, 0xcca1, 0xaa9e, 0xe2b4,\n    0xaa9f, 0xaaa0, 0xab40, 0xab41, 0xab42, 0xab43, 0xab44, 0xab45,\n    0xab46, 0xab47, 0xab48, 0xab49, 0xab4a, 0xab4b, 0xe2b5, 0xab4c,\n    0xab4d, 0xab4e, 0xab4f, 0xab50, 0xd0fe, 0xab51, 0xab52, 0xc2ca,\n    0xab53, 0xd3f1, 0xab54, 0xcdf5, 0xab55, 0xab56, 0xe7e0, 0xab57,\n    0xab58, 0xe7e1, 0xab59, 0xab5a, 0xab5b, 0xab5c, 0xbec1, 0xab5d,\n    0xab5e, 0xab5f, 0xab60, 0xc2ea, 0xab61, 0xab62, 0xab63, 0xe7e4,\n    0xab64, 0xab65, 0xe7e3, 0xab66, 0xab67, 0xab68, 0xab69, 0xab6a,\n    0xab6b, 0xcde6, 0xab6c, 0xc3b5, 0xab6d, 0xab6e, 0xe7e2, 0xbbb7,\n    0xcfd6, 0xab6f, 0xc1e1, 0xe7e9, 0xab70, 0xab71, 0xab72, 0xe7e8,\n    0xab73, 0xab74, 0xe7f4, 0xb2a3, 0xab75, 0xab76, 0xab77, 0xab78,\n    0xe7ea, 0xab79, 0xe7e6, 0xab7a, 0xab7b, 0xab7c, 0xab7d, 0xab7e,\n    0xe7ec, 0xe7eb, 0xc9ba, 0xab80, 0xab81, 0xd5e4, 0xab82, 0xe7e5,\n    0xb7a9, 0xe7e7, 0xab83, 0xab84, 0xab85, 0xab86, 0xab87, 0xab88,\n    0xab89, 0xe7ee, 0xab8a, 0xab8b, 0xab8c, 0xab8d, 0xe7f3, 0xab8e,\n    0xd6e9, 0xab8f, 0xab90, 0xab91, 0xab92, 0xe7ed, 0xab93, 0xe7f2,\n    0xab94, 0xe7f1, 0xab95, 0xab96, 0xab97, 0xb0e0, 0xab98, 0xab99,\n    0xab9a, 0xab9b, 0xe7f5, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0,\n    0xac40, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,\n    /* 0x7400 .. 0x74ff */\n    0xac48, 0xac49, 0xac4a, 0xc7f2, 0xac4b, 0xc0c5, 0xc0ed, 0xac4c,\n    0xac4d, 0xc1f0, 0xe7f0, 0xac4e, 0xac4f, 0xac50, 0xac51, 0xe7f6,\n    0xcbf6, 0xac52, 0xac53, 0xac54, 0xac55, 0xac56, 0xac57, 0xac58,\n    0xac59, 0xac5a, 0xe8a2, 0xe8a1, 0xac5b, 0xac5c, 0xac5d, 0xac5e,\n    0xac5f, 0xac60, 0xd7c1, 0xac61, 0xac62, 0xe7fa, 0xe7f9, 0xac63,\n    0xe7fb, 0xac64, 0xe7f7, 0xac65, 0xe7fe, 0xac66, 0xe7fd, 0xac67,\n    0xe7fc, 0xac68, 0xac69, 0xc1d5, 0xc7d9, 0xc5fd, 0xc5c3, 0xac6a,\n    0xac6b, 0xac6c, 0xac6d, 0xac6e, 0xc7ed, 0xac6f, 0xac70, 0xac71,\n    0xac72, 0xe8a3, 0xac73, 0xac74, 0xac75, 0xac76, 0xac77, 0xac78,\n    0xac79, 0xac7a, 0xac7b, 0xac7c, 0xac7d, 0xac7e, 0xac80, 0xac81,\n    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xe8a6, 0xac87, 0xe8a5,\n    0xac88, 0xe8a7, 0xbaf7, 0xe7f8, 0xe8a4, 0xac89, 0xc8f0, 0xc9aa,\n    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,\n    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xe8a9, 0xac97, 0xac98,\n    0xb9e5, 0xac99, 0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xd1fe, 0xe8a8,\n    0xac9e, 0xac9f, 0xaca0, 0xad40, 0xad41, 0xad42, 0xe8aa, 0xad43,\n    0xe8ad, 0xe8ae, 0xad44, 0xc1a7, 0xad45, 0xad46, 0xad47, 0xe8af,\n    0xad48, 0xad49, 0xad4a, 0xe8b0, 0xad4b, 0xad4c, 0xe8ac, 0xad4d,\n    0xe8b4, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52, 0xad53, 0xad54,\n    0xad55, 0xad56, 0xad57, 0xad58, 0xe8ab, 0xad59, 0xe8b1, 0xad5a,\n    0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f, 0xad60, 0xad61, 0xe8b5,\n    0xe8b2, 0xe8b3, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,\n    0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e, 0xad6f,\n    0xad70, 0xad71, 0xe8b7, 0xad72, 0xad73, 0xad74, 0xad75, 0xad76,\n    0xad77, 0xad78, 0xad79, 0xad7a, 0xad7b, 0xad7c, 0xad7d, 0xad7e,\n    0xad80, 0xad81, 0xad82, 0xad83, 0xad84, 0xad85, 0xad86, 0xad87,\n    0xad88, 0xad89, 0xe8b6, 0xad8a, 0xad8b, 0xad8c, 0xad8d, 0xad8e,\n    0xad8f, 0xad90, 0xad91, 0xad92, 0xb9cf, 0xad93, 0xf0ac, 0xad94,\n    0xf0ad, 0xad95, 0xc6b0, 0xb0ea, 0xc8bf, 0xad96, 0xcddf, 0xad97,\n    0xad98, 0xad99, 0xad9a, 0xad9b, 0xad9c, 0xad9d, 0xcecd, 0xeab1,\n    0xad9e, 0xad9f, 0xada0, 0xae40, 0xeab2, 0xae41, 0xc6bf, 0xb4c9,\n    0xae42, 0xae43, 0xae44, 0xae45, 0xae46, 0xae47, 0xae48, 0xeab3,\n    /* 0x7500 .. 0x75ff */\n    0xae49, 0xae4a, 0xae4b, 0xae4c, 0xd5e7, 0xae4d, 0xae4e, 0xae4f,\n    0xae50, 0xae51, 0xae52, 0xae53, 0xae54, 0xddf9, 0xae55, 0xeab4,\n    0xae56, 0xeab5, 0xae57, 0xeab6, 0xae58, 0xae59, 0xae5a, 0xae5b,\n    0xb8ca, 0xdfb0, 0xc9f5, 0xae5c, 0xccf0, 0xae5d, 0xae5e, 0xc9fa,\n    0xae5f, 0xae60, 0xae61, 0xae62, 0xae63, 0xc9fb, 0xae64, 0xae65,\n    0xd3c3, 0xcba6, 0xae66, 0xb8a6, 0xf0ae, 0xb1c2, 0xae67, 0xe5b8,\n    0xccef, 0xd3c9, 0xbcd7, 0xc9ea, 0xae68, 0xb5e7, 0xae69, 0xc4d0,\n    0xb5e9, 0xae6a, 0xeeae, 0xbbad, 0xae6b, 0xae6c, 0xe7de, 0xae6d,\n    0xeeaf, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xb3a9, 0xae72, 0xae73,\n    0xeeb2, 0xae74, 0xae75, 0xeeb1, 0xbde7, 0xae76, 0xeeb0, 0xceb7,\n    0xae77, 0xae78, 0xae79, 0xae7a, 0xc5cf, 0xae7b, 0xae7c, 0xae7d,\n    0xae7e, 0xc1f4, 0xdbce, 0xeeb3, 0xd0f3, 0xae80, 0xae81, 0xae82,\n    0xae83, 0xae84, 0xae85, 0xae86, 0xae87, 0xc2d4, 0xc6e8, 0xae88,\n    0xae89, 0xae8a, 0xb7ac, 0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xae8f,\n    0xae90, 0xae91, 0xeeb4, 0xae92, 0xb3eb, 0xae93, 0xae94, 0xae95,\n    0xbbfb, 0xeeb5, 0xae96, 0xae97, 0xae98, 0xae99, 0xae9a, 0xe7dc,\n    0xae9b, 0xae9c, 0xae9d, 0xeeb6, 0xae9e, 0xae9f, 0xbdae, 0xaea0,\n    0xaf40, 0xaf41, 0xaf42, 0xf1e2, 0xaf43, 0xaf44, 0xaf45, 0xcae8,\n    0xaf46, 0xd2c9, 0xf0da, 0xaf47, 0xf0db, 0xaf48, 0xf0dc, 0xc1c6,\n    0xaf49, 0xb8ed, 0xbece, 0xaf4a, 0xaf4b, 0xf0de, 0xaf4c, 0xc5b1,\n    0xf0dd, 0xd1f1, 0xaf4d, 0xf0e0, 0xb0cc, 0xbdea, 0xaf4e, 0xaf4f,\n    0xaf50, 0xaf51, 0xaf52, 0xd2df, 0xf0df, 0xaf53, 0xb4af, 0xb7e8,\n    0xf0e6, 0xf0e5, 0xc6a3, 0xf0e1, 0xf0e2, 0xb4c3, 0xaf54, 0xaf55,\n    0xf0e3, 0xd5ee, 0xaf56, 0xaf57, 0xccdb, 0xbed2, 0xbcb2, 0xaf58,\n    0xaf59, 0xaf5a, 0xf0e8, 0xf0e7, 0xf0e4, 0xb2a1, 0xaf5b, 0xd6a2,\n    0xd3b8, 0xbeb7, 0xc8ac, 0xaf5c, 0xaf5d, 0xf0ea, 0xaf5e, 0xaf5f,\n    0xaf60, 0xaf61, 0xd1f7, 0xaf62, 0xd6cc, 0xbadb, 0xf0e9, 0xaf63,\n    0xb6bb, 0xaf64, 0xaf65, 0xcdb4, 0xaf66, 0xaf67, 0xc6a6, 0xaf68,\n    0xaf69, 0xaf6a, 0xc1a1, 0xf0eb, 0xf0ee, 0xaf6b, 0xf0ed, 0xf0f0,\n    0xf0ec, 0xaf6c, 0xbbbe, 0xf0ef, 0xaf6d, 0xaf6e, 0xaf6f, 0xaf70,\n    0xccb5, 0xf0f2, 0xaf71, 0xaf72, 0xb3d5, 0xaf73, 0xaf74, 0xaf75,\n    0xaf76, 0xb1d4, 0xaf77, 0xaf78, 0xf0f3, 0xaf79, 0xaf7a, 0xf0f4,\n    /* 0x7600 .. 0x76ff */\n    0xf0f6, 0xb4e1, 0xaf7b, 0xf0f1, 0xaf7c, 0xf0f7, 0xaf7d, 0xaf7e,\n    0xaf80, 0xaf81, 0xf0fa, 0xaf82, 0xf0f8, 0xaf83, 0xaf84, 0xaf85,\n    0xf0f5, 0xaf86, 0xaf87, 0xaf88, 0xaf89, 0xf0fd, 0xaf8a, 0xf0f9,\n    0xf0fc, 0xf0fe, 0xaf8b, 0xf1a1, 0xaf8c, 0xaf8d, 0xaf8e, 0xcec1,\n    0xf1a4, 0xaf8f, 0xf1a3, 0xaf90, 0xc1f6, 0xf0fb, 0xcadd, 0xaf91,\n    0xaf92, 0xb4f1, 0xb1f1, 0xccb1, 0xaf93, 0xf1a6, 0xaf94, 0xaf95,\n    0xf1a7, 0xaf96, 0xaf97, 0xf1ac, 0xd5ce, 0xf1a9, 0xaf98, 0xaf99,\n    0xc8b3, 0xaf9a, 0xaf9b, 0xaf9c, 0xf1a2, 0xaf9d, 0xf1ab, 0xf1a8,\n    0xf1a5, 0xaf9e, 0xaf9f, 0xf1aa, 0xafa0, 0xb040, 0xb041, 0xb042,\n    0xb043, 0xb044, 0xb045, 0xb046, 0xb0a9, 0xf1ad, 0xb047, 0xb048,\n    0xb049, 0xb04a, 0xb04b, 0xb04c, 0xf1af, 0xb04d, 0xf1b1, 0xb04e,\n    0xb04f, 0xb050, 0xb051, 0xb052, 0xf1b0, 0xb053, 0xf1ae, 0xb054,\n    0xb055, 0xb056, 0xb057, 0xd1a2, 0xb058, 0xb059, 0xb05a, 0xb05b,\n    0xb05c, 0xb05d, 0xb05e, 0xf1b2, 0xb05f, 0xb060, 0xb061, 0xf1b3,\n    0xb062, 0xb063, 0xb064, 0xb065, 0xb066, 0xb067, 0xb068, 0xb069,\n    0xb9ef, 0xb06a, 0xb06b, 0xb5c7, 0xb06c, 0xb0d7, 0xb0d9, 0xb06d,\n    0xb06e, 0xb06f, 0xd4ed, 0xb070, 0xb5c4, 0xb071, 0xbdd4, 0xbbca,\n    0xf0a7, 0xb072, 0xb073, 0xb8de, 0xb074, 0xb075, 0xf0a8, 0xb076,\n    0xb077, 0xb0a8, 0xb078, 0xf0a9, 0xb079, 0xb07a, 0xcdee, 0xb07b,\n    0xb07c, 0xf0aa, 0xb07d, 0xb07e, 0xb080, 0xb081, 0xb082, 0xb083,\n    0xb084, 0xb085, 0xb086, 0xb087, 0xf0ab, 0xb088, 0xb089, 0xb08a,\n    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xb08f, 0xb090, 0xc6a4, 0xb091,\n    0xb092, 0xd6e5, 0xf1e4, 0xb093, 0xf1e5, 0xb094, 0xb095, 0xb096,\n    0xb097, 0xb098, 0xb099, 0xb09a, 0xb09b, 0xb09c, 0xb09d, 0xc3f3,\n    0xb09e, 0xb09f, 0xd3db, 0xb0a0, 0xb140, 0xd6d1, 0xc5e8, 0xb141,\n    0xd3af, 0xb142, 0xd2e6, 0xb143, 0xb144, 0xeec1, 0xb0bb, 0xd5b5,\n    0xd1ce, 0xbce0, 0xbad0, 0xb145, 0xbff8, 0xb146, 0xb8c7, 0xb5c1,\n    0xc5cc, 0xb147, 0xb148, 0xcaa2, 0xb149, 0xb14a, 0xb14b, 0xc3cb,\n    0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb150, 0xeec2, 0xb151, 0xb152,\n    0xb153, 0xb154, 0xb155, 0xb156, 0xb157, 0xb158, 0xc4bf, 0xb6a2,\n    0xb159, 0xedec, 0xc3a4, 0xb15a, 0xd6b1, 0xb15b, 0xb15c, 0xb15d,\n    0xcfe0, 0xedef, 0xb15e, 0xb15f, 0xc5ce, 0xb160, 0xb6dc, 0xb161,\n    /* 0x7700 .. 0x77ff */\n    0xb162, 0xcaa1, 0xb163, 0xb164, 0xeded, 0xb165, 0xb166, 0xedf0,\n    0xedf1, 0xc3bc, 0xb167, 0xbfb4, 0xb168, 0xedee, 0xb169, 0xb16a,\n    0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170, 0xb171, 0xb172,\n    0xb173, 0xedf4, 0xedf2, 0xb174, 0xb175, 0xb176, 0xb177, 0xd5e6,\n    0xc3df, 0xb178, 0xedf3, 0xb179, 0xb17a, 0xb17b, 0xedf6, 0xb17c,\n    0xd5a3, 0xd1a3, 0xb17d, 0xb17e, 0xb180, 0xedf5, 0xb181, 0xc3d0,\n    0xb182, 0xb183, 0xb184, 0xb185, 0xb186, 0xedf7, 0xbff4, 0xbeec,\n    0xedf8, 0xb187, 0xccf7, 0xb188, 0xd1db, 0xb189, 0xb18a, 0xb18b,\n    0xd7c5, 0xd5f6, 0xb18c, 0xedfc, 0xb18d, 0xb18e, 0xb18f, 0xedfb,\n    0xb190, 0xb191, 0xb192, 0xb193, 0xb194, 0xb195, 0xb196, 0xb197,\n    0xedf9, 0xedfa, 0xb198, 0xb199, 0xb19a, 0xb19b, 0xb19c, 0xb19d,\n    0xb19e, 0xb19f, 0xedfd, 0xbea6, 0xb1a0, 0xb240, 0xb241, 0xb242,\n    0xb243, 0xcbaf, 0xeea1, 0xb6bd, 0xb244, 0xeea2, 0xc4c0, 0xb245,\n    0xedfe, 0xb246, 0xb247, 0xbdde, 0xb2c7, 0xb248, 0xb249, 0xb24a,\n    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,\n    0xb253, 0xb6c3, 0xb254, 0xb255, 0xb256, 0xeea5, 0xd8ba, 0xeea3,\n    0xeea6, 0xb257, 0xb258, 0xb259, 0xc3e9, 0xb3f2, 0xb25a, 0xb25b,\n    0xb25c, 0xb25d, 0xb25e, 0xb25f, 0xeea7, 0xeea4, 0xcfb9, 0xb260,\n    0xb261, 0xeea8, 0xc2f7, 0xb262, 0xb263, 0xb264, 0xb265, 0xb266,\n    0xb267, 0xb268, 0xb269, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xeea9,\n    0xeeaa, 0xb26e, 0xdeab, 0xb26f, 0xb270, 0xc6b3, 0xb271, 0xc7c6,\n    0xb272, 0xd6f5, 0xb5c9, 0xb273, 0xcbb2, 0xb274, 0xb275, 0xb276,\n    0xeeab, 0xb277, 0xb278, 0xcdab, 0xb279, 0xeeac, 0xb27a, 0xb27b,\n    0xb27c, 0xb27d, 0xb27e, 0xd5b0, 0xb280, 0xeead, 0xb281, 0xf6c4,\n    0xb282, 0xb283, 0xb284, 0xb285, 0xb286, 0xb287, 0xb288, 0xb289,\n    0xb28a, 0xb28b, 0xb28c, 0xb28d, 0xb28e, 0xdbc7, 0xb28f, 0xb290,\n    0xb291, 0xb292, 0xb293, 0xb294, 0xb295, 0xb296, 0xb297, 0xb4a3,\n    0xb298, 0xb299, 0xb29a, 0xc3ac, 0xf1e6, 0xb29b, 0xb29c, 0xb29d,\n    0xb29e, 0xb29f, 0xcab8, 0xd2d3, 0xb2a0, 0xd6aa, 0xb340, 0xeff2,\n    0xb341, 0xbed8, 0xb342, 0xbdc3, 0xeff3, 0xb6cc, 0xb0ab, 0xb343,\n    0xb344, 0xb345, 0xb346, 0xcaaf, 0xb347, 0xb348, 0xedb6, 0xb349,\n    0xedb7, 0xb34a, 0xb34b, 0xb34c, 0xb34d, 0xcef9, 0xb7af, 0xbff3,\n    /* 0x7800 .. 0x78ff */\n    0xedb8, 0xc2eb, 0xc9b0, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352,\n    0xb353, 0xedb9, 0xb354, 0xb355, 0xc6f6, 0xbfb3, 0xb356, 0xb357,\n    0xb358, 0xedbc, 0xc5f8, 0xb359, 0xd1d0, 0xb35a, 0xd7a9, 0xedba,\n    0xedbb, 0xb35b, 0xd1e2, 0xb35c, 0xedbf, 0xedc0, 0xb35d, 0xedc4,\n    0xb35e, 0xb35f, 0xb360, 0xedc8, 0xb361, 0xedc6, 0xedce, 0xd5e8,\n    0xb362, 0xedc9, 0xb363, 0xb364, 0xedc7, 0xedbe, 0xb365, 0xb366,\n    0xc5e9, 0xb367, 0xb368, 0xb369, 0xc6c6, 0xb36a, 0xb36b, 0xc9e9,\n    0xd4d2, 0xedc1, 0xedc2, 0xedc3, 0xedc5, 0xb36c, 0xc0f9, 0xb36d,\n    0xb4a1, 0xb36e, 0xb36f, 0xb370, 0xb371, 0xb9e8, 0xb372, 0xedd0,\n    0xb373, 0xb374, 0xb375, 0xb376, 0xedd1, 0xb377, 0xedca, 0xb378,\n    0xedcf, 0xb379, 0xcef8, 0xb37a, 0xb37b, 0xcbb6, 0xedcc, 0xedcd,\n    0xb37c, 0xb37d, 0xb37e, 0xb380, 0xb381, 0xcff5, 0xb382, 0xb383,\n    0xb384, 0xb385, 0xb386, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b,\n    0xb38c, 0xb38d, 0xedd2, 0xc1f2, 0xd3b2, 0xedcb, 0xc8b7, 0xb38e,\n    0xb38f, 0xb390, 0xb391, 0xb392, 0xb393, 0xb394, 0xb395, 0xbcef,\n    0xb396, 0xb397, 0xb398, 0xb399, 0xc5f0, 0xb39a, 0xb39b, 0xb39c,\n    0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xb440, 0xb441, 0xb442, 0xedd6,\n    0xb443, 0xb5ef, 0xb444, 0xb445, 0xc2b5, 0xb0ad, 0xcbe9, 0xb446,\n    0xb447, 0xb1ae, 0xb448, 0xedd4, 0xb449, 0xb44a, 0xb44b, 0xcdeb,\n    0xb5e2, 0xb44c, 0xedd5, 0xedd3, 0xedd7, 0xb44d, 0xb44e, 0xb5fa,\n    0xb44f, 0xedd8, 0xb450, 0xedd9, 0xb451, 0xeddc, 0xb452, 0xb1cc,\n    0xb453, 0xb454, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,\n    0xc5f6, 0xbcee, 0xedda, 0xccbc, 0xb2ea, 0xb45b, 0xb45c, 0xb45d,\n    0xb45e, 0xeddb, 0xb45f, 0xb460, 0xb461, 0xb462, 0xc4eb, 0xb463,\n    0xb464, 0xb4c5, 0xb465, 0xb466, 0xb467, 0xb0f5, 0xb468, 0xb469,\n    0xb46a, 0xeddf, 0xc0da, 0xb4e8, 0xb46b, 0xb46c, 0xb46d, 0xb46e,\n    0xc5cd, 0xb46f, 0xb470, 0xb471, 0xeddd, 0xbfc4, 0xb472, 0xb473,\n    0xb474, 0xedde, 0xb475, 0xb476, 0xb477, 0xb478, 0xb479, 0xb47a,\n    0xb47b, 0xb47c, 0xb47d, 0xb47e, 0xb480, 0xb481, 0xb482, 0xb483,\n    0xc4a5, 0xb484, 0xb485, 0xb486, 0xede0, 0xb487, 0xb488, 0xb489,\n    0xb48a, 0xb48b, 0xede1, 0xb48c, 0xede3, 0xb48d, 0xb48e, 0xc1d7,\n    0xb48f, 0xb490, 0xbbc7, 0xb491, 0xb492, 0xb493, 0xb494, 0xb495,\n    /* 0x7900 .. 0x79ff */\n    0xb496, 0xbdb8, 0xb497, 0xb498, 0xb499, 0xede2, 0xb49a, 0xb49b,\n    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb540, 0xb541, 0xb542,\n    0xb543, 0xb544, 0xb545, 0xede4, 0xb546, 0xb547, 0xb548, 0xb549,\n    0xb54a, 0xb54b, 0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xede6, 0xb550,\n    0xb551, 0xb552, 0xb553, 0xb554, 0xede5, 0xb555, 0xb556, 0xb557,\n    0xb558, 0xb559, 0xb55a, 0xb55b, 0xb55c, 0xb55d, 0xb55e, 0xb55f,\n    0xb560, 0xb561, 0xb562, 0xb563, 0xede7, 0xb564, 0xb565, 0xb566,\n    0xb567, 0xb568, 0xcabe, 0xecea, 0xc0f1, 0xb569, 0xc9e7, 0xb56a,\n    0xeceb, 0xc6ee, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xecec, 0xb56f,\n    0xc6ed, 0xeced, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574, 0xb575,\n    0xb576, 0xb577, 0xb578, 0xecf0, 0xb579, 0xb57a, 0xd7e6, 0xecf3,\n    0xb57b, 0xb57c, 0xecf1, 0xecee, 0xecef, 0xd7a3, 0xc9f1, 0xcbee,\n    0xecf4, 0xb57d, 0xecf2, 0xb57e, 0xb580, 0xcfe9, 0xb581, 0xecf6,\n    0xc6b1, 0xb582, 0xb583, 0xb584, 0xb585, 0xbcc0, 0xb586, 0xecf5,\n    0xb587, 0xb588, 0xb589, 0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb5bb,\n    0xbbf6, 0xb58e, 0xecf7, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593,\n    0xd9f7, 0xbdfb, 0xb594, 0xb595, 0xc2bb, 0xecf8, 0xb596, 0xb597,\n    0xb598, 0xb599, 0xecf9, 0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb8a3,\n    0xb59e, 0xb59f, 0xb5a0, 0xb640, 0xb641, 0xb642, 0xb643, 0xb644,\n    0xb645, 0xb646, 0xecfa, 0xb647, 0xb648, 0xb649, 0xb64a, 0xb64b,\n    0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652, 0xecfb,\n    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,\n    0xb65b, 0xb65c, 0xb65d, 0xecfc, 0xb65e, 0xb65f, 0xb660, 0xb661,\n    0xb662, 0xd3ed, 0xd8ae, 0xc0eb, 0xb663, 0xc7dd, 0xbacc, 0xb664,\n    0xd0e3, 0xcbbd, 0xb665, 0xcdba, 0xb666, 0xb667, 0xb8d1, 0xb668,\n    0xb669, 0xb1fc, 0xb66a, 0xc7ef, 0xb66b, 0xd6d6, 0xb66c, 0xb66d,\n    0xb66e, 0xbfc6, 0xc3eb, 0xb66f, 0xb670, 0xeff5, 0xb671, 0xb672,\n    0xc3d8, 0xb673, 0xb674, 0xb675, 0xb676, 0xb677, 0xb678, 0xd7e2,\n    0xb679, 0xb67a, 0xb67b, 0xeff7, 0xb3d3, 0xb67c, 0xc7d8, 0xd1ed,\n    0xb67d, 0xd6c8, 0xb67e, 0xeff8, 0xb680, 0xeff6, 0xb681, 0xbbfd,\n    0xb3c6, 0xb682, 0xb683, 0xb684, 0xb685, 0xb686, 0xb687, 0xb688,\n    0xbdd5, 0xb689, 0xb68a, 0xd2c6, 0xb68b, 0xbbe0, 0xb68c, 0xb68d,\n    /* 0x7a00 .. 0x7aff */\n    0xcfa1, 0xb68e, 0xeffc, 0xeffb, 0xb68f, 0xb690, 0xeff9, 0xb691,\n    0xb692, 0xb693, 0xb694, 0xb3cc, 0xb695, 0xc9d4, 0xcbb0, 0xb696,\n    0xb697, 0xb698, 0xb699, 0xb69a, 0xeffe, 0xb69b, 0xb69c, 0xb0de,\n    0xb69d, 0xb69e, 0xd6c9, 0xb69f, 0xb6a0, 0xb740, 0xeffd, 0xb741,\n    0xb3ed, 0xb742, 0xb743, 0xf6d5, 0xb744, 0xb745, 0xb746, 0xb747,\n    0xb748, 0xb749, 0xb74a, 0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xb74f,\n    0xb750, 0xb751, 0xb752, 0xcec8, 0xb753, 0xb754, 0xb755, 0xf0a2,\n    0xb756, 0xf0a1, 0xb757, 0xb5be, 0xbcda, 0xbbfc, 0xb758, 0xb8e5,\n    0xb759, 0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xc4c2, 0xb75f,\n    0xb760, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765, 0xb766, 0xb767,\n    0xb768, 0xf0a3, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d, 0xcbeb,\n    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,\n    0xb776, 0xb777, 0xb778, 0xb779, 0xb77a, 0xb77b, 0xb77c, 0xb77d,\n    0xb77e, 0xb780, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786,\n    0xf0a6, 0xb787, 0xb788, 0xb789, 0xd1a8, 0xb78a, 0xbebf, 0xc7ee,\n    0xf1b6, 0xf1b7, 0xbfd5, 0xb78b, 0xb78c, 0xb78d, 0xb78e, 0xb4a9,\n    0xf1b8, 0xcdbb, 0xb78f, 0xc7d4, 0xd5ad, 0xb790, 0xf1b9, 0xb791,\n    0xf1ba, 0xb792, 0xb793, 0xb794, 0xb795, 0xc7cf, 0xb796, 0xb797,\n    0xb798, 0xd2a4, 0xd6cf, 0xb799, 0xb79a, 0xf1bb, 0xbdd1, 0xb4b0,\n    0xbebd, 0xb79b, 0xb79c, 0xb79d, 0xb4dc, 0xced1, 0xb79e, 0xbfdf,\n    0xf1bd, 0xb79f, 0xb7a0, 0xb840, 0xb841, 0xbffa, 0xf1bc, 0xb842,\n    0xf1bf, 0xb843, 0xb844, 0xb845, 0xf1be, 0xf1c0, 0xb846, 0xb847,\n    0xb848, 0xb849, 0xb84a, 0xf1c1, 0xb84b, 0xb84c, 0xb84d, 0xb84e,\n    0xb84f, 0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xc1fe,\n    0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b, 0xb85c, 0xb85d,\n    0xb85e, 0xb85f, 0xb860, 0xc1a2, 0xb861, 0xb862, 0xb863, 0xb864,\n    0xb865, 0xb866, 0xb867, 0xb868, 0xb869, 0xb86a, 0xcafa, 0xb86b,\n    0xb86c, 0xd5be, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xbeba, 0xbeb9,\n    0xd5c2, 0xb871, 0xb872, 0xbfa2, 0xb873, 0xcdaf, 0xf1b5, 0xb874,\n    0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xbddf, 0xb87a, 0xb6cb,\n    0xb87b, 0xb87c, 0xb87d, 0xb87e, 0xb880, 0xb881, 0xb882, 0xb883,\n    0xb884, 0xd6f1, 0xf3c3, 0xb885, 0xb886, 0xf3c4, 0xb887, 0xb8cd,\n    /* 0x7b00 .. 0x7bff */\n    0xb888, 0xb889, 0xb88a, 0xf3c6, 0xf3c7, 0xb88b, 0xb0ca, 0xb88c,\n    0xf3c5, 0xb88d, 0xf3c9, 0xcbf1, 0xb88e, 0xb88f, 0xb890, 0xf3cb,\n    0xb891, 0xd0a6, 0xb892, 0xb893, 0xb1ca, 0xf3c8, 0xb894, 0xb895,\n    0xb896, 0xf3cf, 0xb897, 0xb5d1, 0xb898, 0xb899, 0xf3d7, 0xb89a,\n    0xf3d2, 0xb89b, 0xb89c, 0xb89d, 0xf3d4, 0xf3d3, 0xb7fb, 0xb89e,\n    0xb1bf, 0xb89f, 0xf3ce, 0xf3ca, 0xb5da, 0xb8a0, 0xf3d0, 0xb940,\n    0xb941, 0xf3d1, 0xb942, 0xf3d5, 0xb943, 0xb944, 0xb945, 0xb946,\n    0xf3cd, 0xb947, 0xbce3, 0xb948, 0xc1fd, 0xb949, 0xf3d6, 0xb94a,\n    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xb94f, 0xf3da, 0xb950, 0xf3cc,\n    0xb951, 0xb5c8, 0xb952, 0xbdee, 0xf3dc, 0xb953, 0xb954, 0xb7a4,\n    0xbff0, 0xd6fe, 0xcdb2, 0xb955, 0xb4f0, 0xb956, 0xb2df, 0xb957,\n    0xf3d8, 0xb958, 0xf3d9, 0xc9b8, 0xb959, 0xf3dd, 0xb95a, 0xb95b,\n    0xf3de, 0xb95c, 0xf3e1, 0xb95d, 0xb95e, 0xb95f, 0xb960, 0xb961,\n    0xb962, 0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xf3df, 0xb968,\n    0xb969, 0xf3e3, 0xf3e2, 0xb96a, 0xb96b, 0xf3db, 0xb96c, 0xbfea,\n    0xb96d, 0xb3ef, 0xb96e, 0xf3e0, 0xb96f, 0xb970, 0xc7a9, 0xb971,\n    0xbcf2, 0xb972, 0xb973, 0xb974, 0xb975, 0xf3eb, 0xb976, 0xb977,\n    0xb978, 0xb979, 0xb97a, 0xb97b, 0xb97c, 0xb9bf, 0xb97d, 0xb97e,\n    0xf3e4, 0xb980, 0xb981, 0xb982, 0xb2ad, 0xbbfe, 0xb983, 0xcbe3,\n    0xb984, 0xb985, 0xb986, 0xb987, 0xf3ed, 0xf3e9, 0xb988, 0xb989,\n    0xb98a, 0xb9dc, 0xf3ee, 0xb98b, 0xb98c, 0xb98d, 0xf3e5, 0xf3e6,\n    0xf3ea, 0xc2e1, 0xf3ec, 0xf3ef, 0xf3e8, 0xbcfd, 0xb98e, 0xb98f,\n    0xb990, 0xcfe4, 0xb991, 0xb992, 0xf3f0, 0xb993, 0xb994, 0xb995,\n    0xf3e7, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b, 0xb99c,\n    0xb99d, 0xf3f2, 0xb99e, 0xb99f, 0xb9a0, 0xba40, 0xd7ad, 0xc6aa,\n    0xba41, 0xba42, 0xba43, 0xba44, 0xf3f3, 0xba45, 0xba46, 0xba47,\n    0xba48, 0xf3f1, 0xba49, 0xc2a8, 0xba4a, 0xba4b, 0xba4c, 0xba4d,\n    0xba4e, 0xb8dd, 0xf3f5, 0xba4f, 0xba50, 0xf3f4, 0xba51, 0xba52,\n    0xba53, 0xb4db, 0xba54, 0xba55, 0xba56, 0xf3f6, 0xf3f7, 0xba57,\n    0xba58, 0xba59, 0xf3f8, 0xba5a, 0xba5b, 0xba5c, 0xc0ba, 0xba5d,\n    0xba5e, 0xc0e9, 0xba5f, 0xba60, 0xba61, 0xba62, 0xba63, 0xc5f1,\n    0xba64, 0xba65, 0xba66, 0xba67, 0xf3fb, 0xba68, 0xf3fa, 0xba69,\n    /* 0x7c00 .. 0x7cff */\n    0xba6a, 0xba6b, 0xba6c, 0xba6d, 0xba6e, 0xba6f, 0xba70, 0xb4d8,\n    0xba71, 0xba72, 0xba73, 0xf3fe, 0xf3f9, 0xba74, 0xba75, 0xf3fc,\n    0xba76, 0xba77, 0xba78, 0xba79, 0xba7a, 0xba7b, 0xf3fd, 0xba7c,\n    0xba7d, 0xba7e, 0xba80, 0xba81, 0xba82, 0xba83, 0xba84, 0xf4a1,\n    0xba85, 0xba86, 0xba87, 0xba88, 0xba89, 0xba8a, 0xf4a3, 0xbbc9,\n    0xba8b, 0xba8c, 0xf4a2, 0xba8d, 0xba8e, 0xba8f, 0xba90, 0xba91,\n    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,\n    0xf4a4, 0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xb2be,\n    0xf4a6, 0xf4a5, 0xbaa0, 0xbb40, 0xbb41, 0xbb42, 0xbb43, 0xbb44,\n    0xbb45, 0xbb46, 0xbb47, 0xbb48, 0xbb49, 0xbcae, 0xbb4a, 0xbb4b,\n    0xbb4c, 0xbb4d, 0xbb4e, 0xbb4f, 0xbb50, 0xbb51, 0xbb52, 0xbb53,\n    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xbb58, 0xbb59, 0xbb5a, 0xbb5b,\n    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb61, 0xbb62, 0xbb63,\n    0xbb64, 0xbb65, 0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b,\n    0xbb6c, 0xbb6d, 0xbb6e, 0xc3d7, 0xd9e1, 0xbb6f, 0xbb70, 0xbb71,\n    0xbb72, 0xbb73, 0xbb74, 0xc0e0, 0xf4cc, 0xd7d1, 0xbb75, 0xbb76,\n    0xbb77, 0xbb78, 0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e,\n    0xbb80, 0xb7db, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,\n    0xbb87, 0xf4ce, 0xc1a3, 0xbb88, 0xbb89, 0xc6c9, 0xbb8a, 0xb4d6,\n    0xd5b3, 0xbb8b, 0xbb8c, 0xbb8d, 0xf4d0, 0xf4cf, 0xf4d1, 0xcbda,\n    0xbb8e, 0xbb8f, 0xf4d2, 0xbb90, 0xd4c1, 0xd6e0, 0xbb91, 0xbb92,\n    0xbb93, 0xbb94, 0xb7e0, 0xbb95, 0xbb96, 0xbb97, 0xc1b8, 0xbb98,\n    0xbb99, 0xc1bb, 0xf4d3, 0xbeac, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d,\n    0xbb9e, 0xb4e2, 0xbb9f, 0xbba0, 0xf4d4, 0xf4d5, 0xbeab, 0xbc40,\n    0xbc41, 0xf4d6, 0xbc42, 0xbc43, 0xbc44, 0xf4db, 0xbc45, 0xf4d7,\n    0xf4da, 0xbc46, 0xbafd, 0xbc47, 0xf4d8, 0xf4d9, 0xbc48, 0xbc49,\n    0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e, 0xb8e2, 0xccc7, 0xf4dc,\n    0xbc4f, 0xb2da, 0xbc50, 0xbc51, 0xc3d3, 0xbc52, 0xbc53, 0xd4e3,\n    0xbfb7, 0xbc54, 0xbc55, 0xbc56, 0xbc57, 0xbc58, 0xbc59, 0xbc5a,\n    0xf4dd, 0xbc5b, 0xbc5c, 0xbc5d, 0xbc5e, 0xbc5f, 0xbc60, 0xc5b4,\n    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68,\n    0xf4e9, 0xbc69, 0xbc6a, 0xcfb5, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e,\n    /* 0x7d00 .. 0x7dff */\n    0xbc6f, 0xbc70, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76,\n    0xbc77, 0xbc78, 0xcec9, 0xbc79, 0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d,\n    0xbc7e, 0xbc80, 0xbc81, 0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xbc86,\n    0xbc87, 0xbc88, 0xbc89, 0xbc8a, 0xbc8b, 0xbc8c, 0xbc8d, 0xbc8e,\n    0xcbd8, 0xbc8f, 0xcbf7, 0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbdf4,\n    0xbc94, 0xbc95, 0xbc96, 0xd7cf, 0xbc97, 0xbc98, 0xbc99, 0xc0db,\n    0xbc9a, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd40,\n    0xbd41, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,\n    0xbd49, 0xbd4a, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e, 0xbd4f, 0xbd50,\n    0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55, 0xbd56, 0xbd57, 0xbd58,\n    0xbd59, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f, 0xbd60,\n    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xbd65, 0xbd66, 0xbd67, 0xbd68,\n    0xbd69, 0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70,\n    0xbd71, 0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xd0f5, 0xbd77,\n    0xbd78, 0xbd79, 0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xf4ea,\n    0xbd80, 0xbd81, 0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xbd87,\n    0xbd88, 0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f,\n    0xbd90, 0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97,\n    0xbd98, 0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f,\n    0xbda0, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46,\n    0xbe47, 0xbe48, 0xbe49, 0xbe4a, 0xbe4b, 0xbe4c, 0xf4eb, 0xbe4d,\n    0xbe4e, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xf4ec, 0xbe54,\n    0xbe55, 0xbe56, 0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe5b, 0xbe5c,\n    0xbe5d, 0xbe5e, 0xbe5f, 0xbe60, 0xbe61, 0xbe62, 0xbe63, 0xbe64,\n    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xbe69, 0xbe6a, 0xbe6b, 0xbe6c,\n    0xbe6d, 0xbe6e, 0xbe6f, 0xbe70, 0xbe71, 0xbe72, 0xbe73, 0xbe74,\n    0xbe75, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7b, 0xbe7c,\n    0xbe7d, 0xbe7e, 0xbe80, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,\n    0xbe86, 0xbe87, 0xbe88, 0xbe89, 0xbe8a, 0xbe8b, 0xbe8c, 0xbe8d,\n    0xbe8e, 0xbe8f, 0xbe90, 0xbe91, 0xbe92, 0xbe93, 0xbe94, 0xbe95,\n    0xbe96, 0xbe97, 0xbe98, 0xbe99, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d,\n    0xbe9e, 0xbe9f, 0xbea0, 0xbf40, 0xbf41, 0xbf42, 0xbf43, 0xbf44,\n    /* 0x7e00 .. 0x7eff */\n    0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a, 0xbf4b, 0xbf4c,\n    0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51, 0xbf52, 0xbf53, 0xbf54,\n    0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b, 0xbf5c,\n    0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63, 0xbf64,\n    0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c,\n    0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xbf74,\n    0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b, 0xbf7c,\n    0xbf7d, 0xbf7e, 0xbf80, 0xf7e3, 0xbf81, 0xbf82, 0xbf83, 0xbf84,\n    0xbf85, 0xb7b1, 0xbf86, 0xbf87, 0xbf88, 0xbf89, 0xbf8a, 0xf4ed,\n    0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91, 0xbf92,\n    0xbf93, 0xbf94, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,\n    0xbf9b, 0xbf9c, 0xbf9d, 0xbf9e, 0xbf9f, 0xbfa0, 0xc040, 0xc041,\n    0xc042, 0xc043, 0xc044, 0xc045, 0xc046, 0xc047, 0xc048, 0xc049,\n    0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e, 0xc04f, 0xc050, 0xc051,\n    0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057, 0xc058, 0xc059,\n    0xc05a, 0xc05b, 0xc05c, 0xc05d, 0xc05e, 0xc05f, 0xc060, 0xc061,\n    0xc062, 0xc063, 0xd7eb, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068,\n    0xc069, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070,\n    0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078,\n    0xc079, 0xc07a, 0xc07b, 0xf4ee, 0xc07c, 0xc07d, 0xc07e, 0xe6f9,\n    0xbec0, 0xe6fa, 0xbaec, 0xe6fb, 0xcfcb, 0xe6fc, 0xd4bc, 0xbcb6,\n    0xe6fd, 0xe6fe, 0xbccd, 0xc8d2, 0xceb3, 0xe7a1, 0xc080, 0xb4bf,\n    0xe7a2, 0xc9b4, 0xb8d9, 0xc4c9, 0xc081, 0xd7dd, 0xc2da, 0xb7d7,\n    0xd6bd, 0xcec6, 0xb7c4, 0xc082, 0xc083, 0xc5a6, 0xe7a3, 0xcfdf,\n    0xe7a4, 0xe7a5, 0xe7a6, 0xc1b7, 0xd7e9, 0xc9f0, 0xcfb8, 0xd6af,\n    0xd6d5, 0xe7a7, 0xb0ed, 0xe7a8, 0xe7a9, 0xc9dc, 0xd2ef, 0xbead,\n    0xe7aa, 0xb0f3, 0xc8de, 0xbde1, 0xe7ab, 0xc8c6, 0xc084, 0xe7ac,\n    0xbbe6, 0xb8f8, 0xd1a4, 0xe7ad, 0xc2e7, 0xbef8, 0xbdca, 0xcdb3,\n    0xe7ae, 0xe7af, 0xbeee, 0xd0e5, 0xc085, 0xcbe7, 0xccd0, 0xbccc,\n    0xe7b0, 0xbca8, 0xd0f7, 0xe7b1, 0xc086, 0xd0f8, 0xe7b2, 0xe7b3,\n    0xb4c2, 0xe7b4, 0xe7b5, 0xc9fe, 0xceac, 0xc3e0, 0xe7b7, 0xb1c1,\n    0xb3f1, 0xc087, 0xe7b8, 0xe7b9, 0xd7db, 0xd5c0, 0xe7ba, 0xc2cc,\n    /* 0x7f00 .. 0x7fff */\n    0xd7ba, 0xe7bb, 0xe7bc, 0xe7bd, 0xbcea, 0xc3e5, 0xc0c2, 0xe7be,\n    0xe7bf, 0xbca9, 0xc088, 0xe7c0, 0xe7c1, 0xe7b6, 0xb6d0, 0xe7c2,\n    0xc089, 0xe7c3, 0xe7c4, 0xbbba, 0xb5de, 0xc2c6, 0xb1e0, 0xe7c5,\n    0xd4b5, 0xe7c6, 0xb8bf, 0xe7c8, 0xe7c7, 0xb7ec, 0xc08a, 0xe7c9,\n    0xb2f8, 0xe7ca, 0xe7cb, 0xe7cc, 0xe7cd, 0xe7ce, 0xe7cf, 0xe7d0,\n    0xd3a7, 0xcbf5, 0xe7d1, 0xe7d2, 0xe7d3, 0xe7d4, 0xc9c9, 0xe7d5,\n    0xe7d6, 0xe7d7, 0xe7d8, 0xe7d9, 0xbdc9, 0xe7da, 0xf3be, 0xc08b,\n    0xb8d7, 0xc08c, 0xc8b1, 0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc091,\n    0xc092, 0xc093, 0xf3bf, 0xc094, 0xf3c0, 0xf3c1, 0xc095, 0xc096,\n    0xc097, 0xc098, 0xc099, 0xc09a, 0xc09b, 0xc09c, 0xc09d, 0xc09e,\n    0xb9de, 0xcdf8, 0xc09f, 0xc0a0, 0xd8e8, 0xbab1, 0xc140, 0xc2de,\n    0xeeb7, 0xc141, 0xb7a3, 0xc142, 0xc143, 0xc144, 0xc145, 0xeeb9,\n    0xc146, 0xeeb8, 0xb0d5, 0xc147, 0xc148, 0xc149, 0xc14a, 0xc14b,\n    0xeebb, 0xd5d6, 0xd7ef, 0xc14c, 0xc14d, 0xc14e, 0xd6c3, 0xc14f,\n    0xc150, 0xeebd, 0xcaf0, 0xc151, 0xeebc, 0xc152, 0xc153, 0xc154,\n    0xc155, 0xeebe, 0xc156, 0xc157, 0xc158, 0xc159, 0xeec0, 0xc15a,\n    0xc15b, 0xeebf, 0xc15c, 0xc15d, 0xc15e, 0xc15f, 0xc160, 0xc161,\n    0xc162, 0xc163, 0xd1f2, 0xc164, 0xc7bc, 0xc165, 0xc3c0, 0xc166,\n    0xc167, 0xc168, 0xc169, 0xc16a, 0xb8e1, 0xc16b, 0xc16c, 0xc16d,\n    0xc16e, 0xc16f, 0xc1e7, 0xc170, 0xc171, 0xf4c6, 0xd0df, 0xf4c7,\n    0xc172, 0xcfdb, 0xc173, 0xc174, 0xc8ba, 0xc175, 0xc176, 0xf4c8,\n    0xc177, 0xc178, 0xc179, 0xc17a, 0xc17b, 0xc17c, 0xc17d, 0xf4c9,\n    0xf4ca, 0xc17e, 0xf4cb, 0xc180, 0xc181, 0xc182, 0xc183, 0xc184,\n    0xd9fa, 0xb8fe, 0xc185, 0xc186, 0xe5f1, 0xd3f0, 0xc187, 0xf4e0,\n    0xc188, 0xcecc, 0xc189, 0xc18a, 0xc18b, 0xb3e1, 0xc18c, 0xc18d,\n    0xc18e, 0xc18f, 0xf1b4, 0xc190, 0xd2ee, 0xc191, 0xf4e1, 0xc192,\n    0xc193, 0xc194, 0xc195, 0xc196, 0xcfe8, 0xf4e2, 0xc197, 0xc198,\n    0xc7cc, 0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xb5d4,\n    0xb4e4, 0xf4e4, 0xc19f, 0xc1a0, 0xc240, 0xf4e3, 0xf4e5, 0xc241,\n    0xc242, 0xf4e6, 0xc243, 0xc244, 0xc245, 0xc246, 0xf4e7, 0xc247,\n    0xbab2, 0xb0bf, 0xc248, 0xf4e8, 0xc249, 0xc24a, 0xc24b, 0xc24c,\n    0xc24d, 0xc24e, 0xc24f, 0xb7ad, 0xd2ed, 0xc250, 0xc251, 0xc252,\n    /* 0x8000 .. 0x80ff */\n    0xd2ab, 0xc0cf, 0xc253, 0xbfbc, 0xeba3, 0xd5df, 0xeac8, 0xc254,\n    0xc255, 0xc256, 0xc257, 0xf1f3, 0xb6f8, 0xcba3, 0xc258, 0xc259,\n    0xc4cd, 0xc25a, 0xf1e7, 0xc25b, 0xf1e8, 0xb8fb, 0xf1e9, 0xbac4,\n    0xd4c5, 0xb0d2, 0xc25c, 0xc25d, 0xf1ea, 0xc25e, 0xc25f, 0xc260,\n    0xf1eb, 0xc261, 0xf1ec, 0xc262, 0xc263, 0xf1ed, 0xf1ee, 0xf1ef,\n    0xf1f1, 0xf1f0, 0xc5d5, 0xc264, 0xc265, 0xc266, 0xc267, 0xc268,\n    0xc269, 0xf1f2, 0xc26a, 0xb6fa, 0xc26b, 0xf1f4, 0xd2ae, 0xdec7,\n    0xcbca, 0xc26c, 0xc26d, 0xb3dc, 0xc26e, 0xb5a2, 0xc26f, 0xb9a2,\n    0xc270, 0xc271, 0xc4f4, 0xf1f5, 0xc272, 0xc273, 0xf1f6, 0xc274,\n    0xc275, 0xc276, 0xc1c4, 0xc1fb, 0xd6b0, 0xf1f7, 0xc277, 0xc278,\n    0xc279, 0xc27a, 0xf1f8, 0xc27b, 0xc1aa, 0xc27c, 0xc27d, 0xc27e,\n    0xc6b8, 0xc280, 0xbedb, 0xc281, 0xc282, 0xc283, 0xc284, 0xc285,\n    0xc286, 0xc287, 0xc288, 0xc289, 0xc28a, 0xc28b, 0xc28c, 0xc28d,\n    0xc28e, 0xf1f9, 0xb4cf, 0xc28f, 0xc290, 0xc291, 0xc292, 0xc293,\n    0xc294, 0xf1fa, 0xc295, 0xc296, 0xc297, 0xc298, 0xc299, 0xc29a,\n    0xc29b, 0xc29c, 0xc29d, 0xc29e, 0xc29f, 0xc2a0, 0xc340, 0xedb2,\n    0xedb1, 0xc341, 0xc342, 0xcbe0, 0xd2de, 0xc343, 0xcbc1, 0xd5d8,\n    0xc344, 0xc8e2, 0xc345, 0xc0df, 0xbca1, 0xc346, 0xc347, 0xc348,\n    0xc349, 0xc34a, 0xc34b, 0xebc1, 0xc34c, 0xc34d, 0xd0a4, 0xc34e,\n    0xd6e2, 0xc34f, 0xb6c7, 0xb8d8, 0xebc0, 0xb8ce, 0xc350, 0xebbf,\n    0xb3a6, 0xb9c9, 0xd6ab, 0xc351, 0xb7f4, 0xb7ca, 0xc352, 0xc353,\n    0xc354, 0xbce7, 0xb7be, 0xebc6, 0xc355, 0xebc7, 0xb0b9, 0xbfcf,\n    0xc356, 0xebc5, 0xd3fd, 0xc357, 0xebc8, 0xc358, 0xc359, 0xebc9,\n    0xc35a, 0xc35b, 0xb7ce, 0xc35c, 0xebc2, 0xebc4, 0xc9f6, 0xd6d7,\n    0xd5cd, 0xd0b2, 0xebcf, 0xceb8, 0xebd0, 0xc35d, 0xb5a8, 0xc35e,\n    0xc35f, 0xc360, 0xc361, 0xc362, 0xb1b3, 0xebd2, 0xcca5, 0xc363,\n    0xc364, 0xc365, 0xc366, 0xc367, 0xc368, 0xc369, 0xc5d6, 0xebd3,\n    0xc36a, 0xebd1, 0xc5df, 0xebce, 0xcaa4, 0xebd5, 0xb0fb, 0xc36b,\n    0xc36c, 0xbafa, 0xc36d, 0xc36e, 0xd8b7, 0xf1e3, 0xc36f, 0xebca,\n    0xebcb, 0xebcc, 0xebcd, 0xebd6, 0xe6c0, 0xebd9, 0xc370, 0xbfe8,\n    0xd2c8, 0xebd7, 0xebdc, 0xb8ec, 0xebd8, 0xc371, 0xbdba, 0xc372,\n    0xd0d8, 0xc373, 0xb0b7, 0xc374, 0xebdd, 0xc4dc, 0xc375, 0xc376,\n    /* 0x8100 .. 0x81ff */\n    0xc377, 0xc378, 0xd6ac, 0xc379, 0xc37a, 0xc37b, 0xb4e0, 0xc37c,\n    0xc37d, 0xc2f6, 0xbcb9, 0xc37e, 0xc380, 0xebda, 0xebdb, 0xd4e0,\n    0xc6ea, 0xc4d4, 0xebdf, 0xc5a7, 0xd9f5, 0xc381, 0xb2b1, 0xc382,\n    0xebe4, 0xc383, 0xbdc5, 0xc384, 0xc385, 0xc386, 0xebe2, 0xc387,\n    0xc388, 0xc389, 0xc38a, 0xc38b, 0xc38c, 0xc38d, 0xc38e, 0xc38f,\n    0xc390, 0xc391, 0xc392, 0xc393, 0xebe3, 0xc394, 0xc395, 0xb8ac,\n    0xc396, 0xcdd1, 0xebe5, 0xc397, 0xc398, 0xc399, 0xebe1, 0xc39a,\n    0xc1b3, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc6a2, 0xc3a0,\n    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xccf3, 0xc446,\n    0xebe6, 0xc447, 0xc0b0, 0xd2b8, 0xebe7, 0xc448, 0xc449, 0xc44a,\n    0xb8af, 0xb8ad, 0xc44b, 0xebe8, 0xc7bb, 0xcdf3, 0xc44c, 0xc44d,\n    0xc44e, 0xebea, 0xebeb, 0xc44f, 0xc450, 0xc451, 0xc452, 0xc453,\n    0xebed, 0xc454, 0xc455, 0xc456, 0xc457, 0xd0c8, 0xc458, 0xebf2,\n    0xc459, 0xebee, 0xc45a, 0xc45b, 0xc45c, 0xebf1, 0xc8f9, 0xc45d,\n    0xd1fc, 0xebec, 0xc45e, 0xc45f, 0xebe9, 0xc460, 0xc461, 0xc462,\n    0xc463, 0xb8b9, 0xcfd9, 0xc4e5, 0xebef, 0xebf0, 0xccda, 0xcdc8,\n    0xb0f2, 0xc464, 0xebf6, 0xc465, 0xc466, 0xc467, 0xc468, 0xc469,\n    0xebf5, 0xc46a, 0xb2b2, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xb8e0,\n    0xc46f, 0xebf7, 0xc470, 0xc471, 0xc472, 0xc473, 0xc474, 0xc475,\n    0xb1ec, 0xc476, 0xc477, 0xccc5, 0xc4a4, 0xcfa5, 0xc478, 0xc479,\n    0xc47a, 0xc47b, 0xc47c, 0xebf9, 0xc47d, 0xc47e, 0xeca2, 0xc480,\n    0xc5f2, 0xc481, 0xebfa, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486,\n    0xc487, 0xc488, 0xc489, 0xc9c5, 0xc48a, 0xc48b, 0xc48c, 0xc48d,\n    0xc48e, 0xc48f, 0xe2df, 0xebfe, 0xc490, 0xc491, 0xc492, 0xc493,\n    0xcdce, 0xeca1, 0xb1db, 0xd3b7, 0xc494, 0xc495, 0xd2dc, 0xc496,\n    0xc497, 0xc498, 0xebfd, 0xc499, 0xebfb, 0xc49a, 0xc49b, 0xc49c,\n    0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc540, 0xc541, 0xc542, 0xc543,\n    0xc544, 0xc545, 0xc546, 0xc547, 0xc548, 0xc549, 0xc54a, 0xc54b,\n    0xc54c, 0xc54d, 0xc54e, 0xb3bc, 0xc54f, 0xc550, 0xc551, 0xeab0,\n    0xc552, 0xc553, 0xd7d4, 0xc554, 0xf4ab, 0xb3f4, 0xc555, 0xc556,\n    0xc557, 0xc558, 0xc559, 0xd6c1, 0xd6c2, 0xc55a, 0xc55b, 0xc55c,\n    0xc55d, 0xc55e, 0xc55f, 0xd5e9, 0xbeca, 0xc560, 0xf4a7, 0xc561,\n    /* 0x8200 .. 0x82ff */\n    0xd2a8, 0xf4a8, 0xf4a9, 0xc562, 0xf4aa, 0xbecb, 0xd3df, 0xc563,\n    0xc564, 0xc565, 0xc566, 0xc567, 0xc9e0, 0xc9e1, 0xc568, 0xc569,\n    0xf3c2, 0xc56a, 0xcae6, 0xc56b, 0xccf2, 0xc56c, 0xc56d, 0xc56e,\n    0xc56f, 0xc570, 0xc571, 0xe2b6, 0xcbb4, 0xc572, 0xcee8, 0xd6db,\n    0xc573, 0xf4ad, 0xf4ae, 0xf4af, 0xc574, 0xc575, 0xc576, 0xc577,\n    0xf4b2, 0xc578, 0xbabd, 0xf4b3, 0xb0e3, 0xf4b0, 0xc579, 0xf4b1,\n    0xbda2, 0xb2d5, 0xc57a, 0xf4b6, 0xf4b7, 0xb6e6, 0xb2b0, 0xcfcf,\n    0xf4b4, 0xb4ac, 0xc57b, 0xf4b5, 0xc57c, 0xc57d, 0xf4b8, 0xc57e,\n    0xc580, 0xc581, 0xc582, 0xc583, 0xf4b9, 0xc584, 0xc585, 0xcda7,\n    0xc586, 0xf4ba, 0xc587, 0xf4bb, 0xc588, 0xc589, 0xc58a, 0xf4bc,\n    0xc58b, 0xc58c, 0xc58d, 0xc58e, 0xc58f, 0xc590, 0xc591, 0xc592,\n    0xcbd2, 0xc593, 0xf4bd, 0xc594, 0xc595, 0xc596, 0xc597, 0xf4be,\n    0xc598, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e, 0xc59f,\n    0xf4bf, 0xc5a0, 0xc640, 0xc641, 0xc642, 0xc643, 0xf4de, 0xc1bc,\n    0xbce8, 0xc644, 0xc9ab, 0xd1de, 0xe5f5, 0xc645, 0xc646, 0xc647,\n    0xc648, 0xdcb3, 0xd2d5, 0xc649, 0xc64a, 0xdcb4, 0xb0ac, 0xdcb5,\n    0xc64b, 0xc64c, 0xbdda, 0xc64d, 0xdcb9, 0xc64e, 0xc64f, 0xc650,\n    0xd8c2, 0xc651, 0xdcb7, 0xd3f3, 0xc652, 0xc9d6, 0xdcba, 0xdcb6,\n    0xc653, 0xdcbb, 0xc3a2, 0xc654, 0xc655, 0xc656, 0xc657, 0xdcbc,\n    0xdcc5, 0xdcbd, 0xc658, 0xc659, 0xcedf, 0xd6a5, 0xc65a, 0xdccf,\n    0xc65b, 0xdccd, 0xc65c, 0xc65d, 0xdcd2, 0xbde6, 0xc2ab, 0xc65e,\n    0xdcb8, 0xdccb, 0xdcce, 0xdcbe, 0xb7d2, 0xb0c5, 0xdcc7, 0xd0be,\n    0xdcc1, 0xbba8, 0xc65f, 0xb7bc, 0xdccc, 0xc660, 0xc661, 0xdcc6,\n    0xdcbf, 0xc7db, 0xc662, 0xc663, 0xc664, 0xd1bf, 0xdcc0, 0xc665,\n    0xc666, 0xdcca, 0xc667, 0xc668, 0xdcd0, 0xc669, 0xc66a, 0xcead,\n    0xdcc2, 0xc66b, 0xdcc3, 0xdcc8, 0xdcc9, 0xb2d4, 0xdcd1, 0xcbd5,\n    0xc66c, 0xd4b7, 0xdcdb, 0xdcdf, 0xcca6, 0xdce6, 0xc66d, 0xc3e7,\n    0xdcdc, 0xc66e, 0xc66f, 0xbfc1, 0xdcd9, 0xc670, 0xb0fa, 0xb9b6,\n    0xdce5, 0xdcd3, 0xc671, 0xdcc4, 0xdcd6, 0xc8f4, 0xbfe0, 0xc672,\n    0xc673, 0xc674, 0xc675, 0xc9bb, 0xc676, 0xc677, 0xc678, 0xb1bd,\n    0xc679, 0xd3a2, 0xc67a, 0xc67b, 0xdcda, 0xc67c, 0xc67d, 0xdcd5,\n    0xc67e, 0xc6bb, 0xc680, 0xdcde, 0xc681, 0xc682, 0xc683, 0xc684,\n    /* 0x8300 .. 0x83ff */\n    0xc685, 0xd7c2, 0xc3af, 0xb7b6, 0xc7d1, 0xc3a9, 0xdce2, 0xdcd8,\n    0xdceb, 0xdcd4, 0xc686, 0xc687, 0xdcdd, 0xc688, 0xbea5, 0xdcd7,\n    0xc689, 0xdce0, 0xc68a, 0xc68b, 0xdce3, 0xdce4, 0xc68c, 0xdcf8,\n    0xc68d, 0xc68e, 0xdce1, 0xdda2, 0xdce7, 0xc68f, 0xc690, 0xc691,\n    0xc692, 0xc693, 0xc694, 0xc695, 0xc696, 0xc697, 0xc698, 0xbceb,\n    0xb4c4, 0xc699, 0xc69a, 0xc3a3, 0xb2e7, 0xdcfa, 0xc69b, 0xdcf2,\n    0xc69c, 0xdcef, 0xc69d, 0xdcfc, 0xdcee, 0xd2f0, 0xb2e8, 0xc69e,\n    0xc8d7, 0xc8e3, 0xdcfb, 0xc69f, 0xdced, 0xc6a0, 0xc740, 0xc741,\n    0xdcf7, 0xc742, 0xc743, 0xdcf5, 0xc744, 0xc745, 0xbea3, 0xdcf4,\n    0xc746, 0xb2dd, 0xc747, 0xc748, 0xc749, 0xc74a, 0xc74b, 0xdcf3,\n    0xbcf6, 0xdce8, 0xbbc4, 0xc74c, 0xc0f3, 0xc74d, 0xc74e, 0xc74f,\n    0xc750, 0xc751, 0xbcd4, 0xdce9, 0xdcea, 0xc752, 0xdcf1, 0xdcf6,\n    0xdcf9, 0xb5b4, 0xc753, 0xc8d9, 0xbbe7, 0xdcfe, 0xdcfd, 0xd3ab,\n    0xdda1, 0xdda3, 0xdda5, 0xd2f1, 0xdda4, 0xdda6, 0xdda7, 0xd2a9,\n    0xc754, 0xc755, 0xc756, 0xc757, 0xc758, 0xc759, 0xc75a, 0xbac9,\n    0xdda9, 0xc75b, 0xc75c, 0xddb6, 0xddb1, 0xddb4, 0xc75d, 0xc75e,\n    0xc75f, 0xc760, 0xc761, 0xc762, 0xc763, 0xddb0, 0xc6ce, 0xc764,\n    0xc765, 0xc0f2, 0xc766, 0xc767, 0xc768, 0xc769, 0xc9af, 0xc76a,\n    0xc76b, 0xc76c, 0xdcec, 0xddae, 0xc76d, 0xc76e, 0xc76f, 0xc770,\n    0xddb7, 0xc771, 0xc772, 0xdcf0, 0xddaf, 0xc773, 0xddb8, 0xc774,\n    0xddac, 0xc775, 0xc776, 0xc777, 0xc778, 0xc779, 0xc77a, 0xc77b,\n    0xddb9, 0xddb3, 0xddad, 0xc4aa, 0xc77c, 0xc77d, 0xc77e, 0xc780,\n    0xdda8, 0xc0b3, 0xc1ab, 0xddaa, 0xddab, 0xc781, 0xddb2, 0xbbf1,\n    0xddb5, 0xd3a8, 0xddba, 0xc782, 0xddbb, 0xc3a7, 0xc783, 0xc784,\n    0xddd2, 0xddbc, 0xc785, 0xc786, 0xc787, 0xddd1, 0xc788, 0xb9bd,\n    0xc789, 0xc78a, 0xbed5, 0xc78b, 0xbefa, 0xc78c, 0xc78d, 0xbaca,\n    0xc78e, 0xc78f, 0xc790, 0xc791, 0xddca, 0xc792, 0xddc5, 0xc793,\n    0xddbf, 0xc794, 0xc795, 0xc796, 0xb2cb, 0xddc3, 0xc797, 0xddcb,\n    0xb2a4, 0xddd5, 0xc798, 0xc799, 0xc79a, 0xddbe, 0xc79b, 0xc79c,\n    0xc79d, 0xc6d0, 0xddd0, 0xc79e, 0xc79f, 0xc7a0, 0xc840, 0xc841,\n    0xddd4, 0xc1e2, 0xb7c6, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,\n    0xddce, 0xddcf, 0xc847, 0xc848, 0xc849, 0xddc4, 0xc84a, 0xc84b,\n    /* 0x8400 .. 0x84ff */\n    0xc84c, 0xddbd, 0xc84d, 0xddcd, 0xccd1, 0xc84e, 0xddc9, 0xc84f,\n    0xc850, 0xc851, 0xc852, 0xddc2, 0xc3c8, 0xc6bc, 0xceae, 0xddcc,\n    0xc853, 0xddc8, 0xc854, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859,\n    0xddc1, 0xc85a, 0xc85b, 0xc85c, 0xddc6, 0xc2dc, 0xc85d, 0xc85e,\n    0xc85f, 0xc860, 0xc861, 0xc862, 0xd3a9, 0xd3aa, 0xddd3, 0xcff4,\n    0xc8f8, 0xc863, 0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869,\n    0xc86a, 0xdde6, 0xc86b, 0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc870,\n    0xddc7, 0xc871, 0xc872, 0xc873, 0xdde0, 0xc2e4, 0xc874, 0xc875,\n    0xc876, 0xc877, 0xc878, 0xc879, 0xc87a, 0xc87b, 0xdde1, 0xc87c,\n    0xc87d, 0xc87e, 0xc880, 0xc881, 0xc882, 0xc883, 0xc884, 0xc885,\n    0xc886, 0xddd7, 0xc887, 0xc888, 0xc889, 0xc88a, 0xc88b, 0xd6f8,\n    0xc88c, 0xddd9, 0xddd8, 0xb8f0, 0xddd6, 0xc88d, 0xc88e, 0xc88f,\n    0xc890, 0xc6cf, 0xc891, 0xb6ad, 0xc892, 0xc893, 0xc894, 0xc895,\n    0xc896, 0xdde2, 0xc897, 0xbaf9, 0xd4e1, 0xdde7, 0xc898, 0xc899,\n    0xc89a, 0xb4d0, 0xc89b, 0xddda, 0xc89c, 0xbffb, 0xdde3, 0xc89d,\n    0xdddf, 0xc89e, 0xdddd, 0xc89f, 0xc8a0, 0xc940, 0xc941, 0xc942,\n    0xc943, 0xc944, 0xb5d9, 0xc945, 0xc946, 0xc947, 0xc948, 0xdddb,\n    0xdddc, 0xddde, 0xc949, 0xbdaf, 0xdde4, 0xc94a, 0xdde5, 0xc94b,\n    0xc94c, 0xc94d, 0xc94e, 0xc94f, 0xc950, 0xc951, 0xc952, 0xddf5,\n    0xc953, 0xc3c9, 0xc954, 0xc955, 0xcbe2, 0xc956, 0xc957, 0xc958,\n    0xc959, 0xddf2, 0xc95a, 0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f,\n    0xc960, 0xc961, 0xc962, 0xc963, 0xc964, 0xc965, 0xc966, 0xd8e1,\n    0xc967, 0xc968, 0xc6d1, 0xc969, 0xddf4, 0xc96a, 0xc96b, 0xc96c,\n    0xd5f4, 0xddf3, 0xddf0, 0xc96d, 0xc96e, 0xddec, 0xc96f, 0xddef,\n    0xc970, 0xdde8, 0xc971, 0xc972, 0xd0ee, 0xc973, 0xc974, 0xc975,\n    0xc976, 0xc8d8, 0xddee, 0xc977, 0xc978, 0xdde9, 0xc979, 0xc97a,\n    0xddea, 0xcbf2, 0xc97b, 0xdded, 0xc97c, 0xc97d, 0xb1cd, 0xc97e,\n    0xc980, 0xc981, 0xc982, 0xc983, 0xc984, 0xc0b6, 0xc985, 0xbcbb,\n    0xddf1, 0xc986, 0xc987, 0xddf7, 0xc988, 0xddf6, 0xddeb, 0xc989,\n    0xc98a, 0xc98b, 0xc98c, 0xc98d, 0xc5ee, 0xc98e, 0xc98f, 0xc990,\n    0xddfb, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,\n    0xc998, 0xc999, 0xc99a, 0xc99b, 0xdea4, 0xc99c, 0xc99d, 0xdea3,\n    /* 0x8500 .. 0x85ff */\n    0xc99e, 0xc99f, 0xc9a0, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44,\n    0xca45, 0xca46, 0xca47, 0xca48, 0xddf8, 0xca49, 0xca4a, 0xca4b,\n    0xca4c, 0xc3ef, 0xca4d, 0xc2fb, 0xca4e, 0xca4f, 0xca50, 0xd5e1,\n    0xca51, 0xca52, 0xceb5, 0xca53, 0xca54, 0xca55, 0xca56, 0xddfd,\n    0xca57, 0xb2cc, 0xca58, 0xca59, 0xca5a, 0xca5b, 0xca5c, 0xca5d,\n    0xca5e, 0xca5f, 0xca60, 0xc4e8, 0xcadf, 0xca61, 0xca62, 0xca63,\n    0xca64, 0xca65, 0xca66, 0xca67, 0xca68, 0xca69, 0xca6a, 0xc7be,\n    0xddfa, 0xddfc, 0xddfe, 0xdea2, 0xb0aa, 0xb1ce, 0xca6b, 0xca6c,\n    0xca6d, 0xca6e, 0xca6f, 0xdeac, 0xca70, 0xca71, 0xca72, 0xca73,\n    0xdea6, 0xbdb6, 0xc8ef, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78,\n    0xca79, 0xca7a, 0xca7b, 0xca7c, 0xca7d, 0xca7e, 0xdea1, 0xca80,\n    0xca81, 0xdea5, 0xca82, 0xca83, 0xca84, 0xca85, 0xdea9, 0xca86,\n    0xca87, 0xca88, 0xca89, 0xca8a, 0xdea8, 0xca8b, 0xca8c, 0xca8d,\n    0xdea7, 0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94,\n    0xca95, 0xca96, 0xdead, 0xca97, 0xd4cc, 0xca98, 0xca99, 0xca9a,\n    0xca9b, 0xdeb3, 0xdeaa, 0xdeae, 0xca9c, 0xca9d, 0xc0d9, 0xca9e,\n    0xca9f, 0xcaa0, 0xcb40, 0xcb41, 0xb1a1, 0xdeb6, 0xcb42, 0xdeb1,\n    0xcb43, 0xcb44, 0xcb45, 0xcb46, 0xcb47, 0xcb48, 0xcb49, 0xdeb2,\n    0xcb4a, 0xcb4b, 0xcb4c, 0xcb4d, 0xcb4e, 0xcb4f, 0xcb50, 0xcb51,\n    0xcb52, 0xcb53, 0xcb54, 0xd1a6, 0xdeb5, 0xcb55, 0xcb56, 0xcb57,\n    0xcb58, 0xcb59, 0xcb5a, 0xcb5b, 0xdeaf, 0xcb5c, 0xcb5d, 0xcb5e,\n    0xdeb0, 0xcb5f, 0xd0bd, 0xcb60, 0xcb61, 0xcb62, 0xdeb4, 0xcaed,\n    0xdeb9, 0xcb63, 0xcb64, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xdeb8,\n    0xcb69, 0xdeb7, 0xcb6a, 0xcb6b, 0xcb6c, 0xcb6d, 0xcb6e, 0xcb6f,\n    0xcb70, 0xdebb, 0xcb71, 0xcb72, 0xcb73, 0xcb74, 0xcb75, 0xcb76,\n    0xcb77, 0xbde5, 0xcb78, 0xcb79, 0xcb7a, 0xcb7b, 0xcb7c, 0xb2d8,\n    0xc3ea, 0xcb7d, 0xcb7e, 0xdeba, 0xcb80, 0xc5ba, 0xcb81, 0xcb82,\n    0xcb83, 0xcb84, 0xcb85, 0xcb86, 0xdebc, 0xcb87, 0xcb88, 0xcb89,\n    0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xccd9, 0xcb8e, 0xcb8f, 0xcb90,\n    0xcb91, 0xb7aa, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,\n    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9c, 0xcb9d, 0xcb9e, 0xcb9f,\n    0xcba0, 0xcc40, 0xcc41, 0xd4e5, 0xcc42, 0xcc43, 0xcc44, 0xdebd,\n    /* 0x8600 .. 0x86ff */\n    0xcc45, 0xcc46, 0xcc47, 0xcc48, 0xcc49, 0xdebf, 0xcc4a, 0xcc4b,\n    0xcc4c, 0xcc4d, 0xcc4e, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53,\n    0xcc54, 0xc4a2, 0xcc55, 0xcc56, 0xcc57, 0xcc58, 0xdec1, 0xcc59,\n    0xcc5a, 0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc60, 0xcc61,\n    0xcc62, 0xcc63, 0xcc64, 0xcc65, 0xcc66, 0xcc67, 0xcc68, 0xdebe,\n    0xcc69, 0xdec0, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e, 0xcc6f,\n    0xcc70, 0xcc71, 0xcc72, 0xcc73, 0xcc74, 0xcc75, 0xcc76, 0xcc77,\n    0xd5ba, 0xcc78, 0xcc79, 0xcc7a, 0xdec2, 0xcc7b, 0xcc7c, 0xcc7d,\n    0xcc7e, 0xcc80, 0xcc81, 0xcc82, 0xcc83, 0xcc84, 0xcc85, 0xcc86,\n    0xcc87, 0xcc88, 0xcc89, 0xcc8a, 0xcc8b, 0xf2ae, 0xbba2, 0xc2b2,\n    0xc5b0, 0xc2c7, 0xcc8c, 0xcc8d, 0xf2af, 0xcc8e, 0xcc8f, 0xcc90,\n    0xcc91, 0xcc92, 0xd0e9, 0xcc93, 0xcc94, 0xcc95, 0xd3dd, 0xcc96,\n    0xcc97, 0xcc98, 0xebbd, 0xcc99, 0xcc9a, 0xcc9b, 0xcc9c, 0xcc9d,\n    0xcc9e, 0xcc9f, 0xcca0, 0xb3e6, 0xf2b0, 0xcd40, 0xf2b1, 0xcd41,\n    0xcd42, 0xcaad, 0xcd43, 0xcd44, 0xcd45, 0xcd46, 0xcd47, 0xcd48,\n    0xcd49, 0xbae7, 0xf2b3, 0xf2b5, 0xf2b4, 0xcbe4, 0xcfba, 0xf2b2,\n    0xcab4, 0xd2cf, 0xc2ec, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d, 0xcd4e,\n    0xcd4f, 0xcd50, 0xcec3, 0xf2b8, 0xb0f6, 0xf2b7, 0xcd51, 0xcd52,\n    0xcd53, 0xcd54, 0xcd55, 0xf2be, 0xcd56, 0xb2cf, 0xcd57, 0xcd58,\n    0xcd59, 0xcd5a, 0xcd5b, 0xcd5c, 0xd1c1, 0xf2ba, 0xcd5d, 0xcd5e,\n    0xcd5f, 0xcd60, 0xcd61, 0xf2bc, 0xd4e9, 0xcd62, 0xcd63, 0xf2bb,\n    0xf2b6, 0xf2bf, 0xf2bd, 0xcd64, 0xf2b9, 0xcd65, 0xcd66, 0xf2c7,\n    0xf2c4, 0xf2c6, 0xcd67, 0xcd68, 0xf2ca, 0xf2c2, 0xf2c0, 0xcd69,\n    0xcd6a, 0xcd6b, 0xf2c5, 0xcd6c, 0xcd6d, 0xcd6e, 0xcd6f, 0xcd70,\n    0xd6fb, 0xcd71, 0xcd72, 0xcd73, 0xf2c1, 0xcd74, 0xc7f9, 0xc9df,\n    0xcd75, 0xf2c8, 0xb9c6, 0xb5b0, 0xcd76, 0xcd77, 0xf2c3, 0xf2c9,\n    0xf2d0, 0xf2d6, 0xcd78, 0xcd79, 0xbbd7, 0xcd7a, 0xcd7b, 0xcd7c,\n    0xf2d5, 0xcddc, 0xcd7d, 0xd6eb, 0xcd7e, 0xcd80, 0xf2d2, 0xf2d4,\n    0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xb8f2, 0xcd85, 0xcd86, 0xcd87,\n    0xcd88, 0xf2cb, 0xcd89, 0xcd8a, 0xcd8b, 0xf2ce, 0xc2f9, 0xcd8c,\n    0xd5dd, 0xf2cc, 0xf2cd, 0xf2cf, 0xf2d3, 0xcd8d, 0xcd8e, 0xcd8f,\n    0xf2d9, 0xd3bc, 0xcd90, 0xcd91, 0xcd92, 0xcd93, 0xb6ea, 0xcd94,\n    /* 0x8700 .. 0x87ff */\n    0xcaf1, 0xcd95, 0xb7e4, 0xf2d7, 0xcd96, 0xcd97, 0xcd98, 0xf2d8,\n    0xf2da, 0xf2dd, 0xf2db, 0xcd99, 0xcd9a, 0xf2dc, 0xcd9b, 0xcd9c,\n    0xcd9d, 0xcd9e, 0xd1d1, 0xf2d1, 0xcd9f, 0xcdc9, 0xcda0, 0xcecf,\n    0xd6a9, 0xce40, 0xf2e3, 0xce41, 0xc3db, 0xce42, 0xf2e0, 0xce43,\n    0xce44, 0xc0af, 0xf2ec, 0xf2de, 0xce45, 0xf2e1, 0xce46, 0xce47,\n    0xce48, 0xf2e8, 0xce49, 0xce4a, 0xce4b, 0xce4c, 0xf2e2, 0xce4d,\n    0xce4e, 0xf2e7, 0xce4f, 0xce50, 0xf2e6, 0xce51, 0xce52, 0xf2e9,\n    0xce53, 0xce54, 0xce55, 0xf2df, 0xce56, 0xce57, 0xf2e4, 0xf2ea,\n    0xce58, 0xce59, 0xce5a, 0xce5b, 0xce5c, 0xce5d, 0xce5e, 0xd3ac,\n    0xf2e5, 0xb2f5, 0xce5f, 0xce60, 0xf2f2, 0xce61, 0xd0ab, 0xce62,\n    0xce63, 0xce64, 0xce65, 0xf2f5, 0xce66, 0xce67, 0xce68, 0xbbc8,\n    0xce69, 0xf2f9, 0xce6a, 0xce6b, 0xce6c, 0xce6d, 0xce6e, 0xce6f,\n    0xf2f0, 0xce70, 0xce71, 0xf2f6, 0xf2f8, 0xf2fa, 0xce72, 0xce73,\n    0xce74, 0xce75, 0xce76, 0xce77, 0xce78, 0xce79, 0xf2f3, 0xce7a,\n    0xf2f1, 0xce7b, 0xce7c, 0xce7d, 0xbafb, 0xce7e, 0xb5fb, 0xce80,\n    0xce81, 0xce82, 0xce83, 0xf2ef, 0xf2f7, 0xf2ed, 0xf2ee, 0xce84,\n    0xce85, 0xce86, 0xf2eb, 0xf3a6, 0xce87, 0xf3a3, 0xce88, 0xce89,\n    0xf3a2, 0xce8a, 0xce8b, 0xf2f4, 0xce8c, 0xc8da, 0xce8d, 0xce8e,\n    0xce8f, 0xce90, 0xce91, 0xf2fb, 0xce92, 0xce93, 0xce94, 0xf3a5,\n    0xce95, 0xce96, 0xce97, 0xce98, 0xce99, 0xce9a, 0xce9b, 0xc3f8,\n    0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea0, 0xcf40, 0xcf41, 0xcf42,\n    0xf2fd, 0xcf43, 0xcf44, 0xf3a7, 0xf3a9, 0xf3a4, 0xcf45, 0xf2fc,\n    0xcf46, 0xcf47, 0xcf48, 0xf3ab, 0xcf49, 0xf3aa, 0xcf4a, 0xcf4b,\n    0xcf4c, 0xcf4d, 0xc2dd, 0xcf4e, 0xcf4f, 0xf3ae, 0xcf50, 0xcf51,\n    0xf3b0, 0xcf52, 0xcf53, 0xcf54, 0xcf55, 0xcf56, 0xf3a1, 0xcf57,\n    0xcf58, 0xcf59, 0xf3b1, 0xf3ac, 0xcf5a, 0xcf5b, 0xcf5c, 0xcf5d,\n    0xcf5e, 0xf3af, 0xf2fe, 0xf3ad, 0xcf5f, 0xcf60, 0xcf61, 0xcf62,\n    0xcf63, 0xcf64, 0xcf65, 0xf3b2, 0xcf66, 0xcf67, 0xcf68, 0xcf69,\n    0xf3b4, 0xcf6a, 0xcf6b, 0xcf6c, 0xcf6d, 0xf3a8, 0xcf6e, 0xcf6f,\n    0xcf70, 0xcf71, 0xf3b3, 0xcf72, 0xcf73, 0xcf74, 0xf3b5, 0xcf75,\n    0xcf76, 0xcf77, 0xcf78, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d,\n    0xcf7e, 0xd0b7, 0xcf80, 0xcf81, 0xcf82, 0xcf83, 0xf3b8, 0xcf84,\n    /* 0x8800 .. 0x88ff */\n    0xcf85, 0xcf86, 0xcf87, 0xd9f9, 0xcf88, 0xcf89, 0xcf8a, 0xcf8b,\n    0xcf8c, 0xcf8d, 0xf3b9, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92,\n    0xcf93, 0xcf94, 0xcf95, 0xf3b7, 0xcf96, 0xc8e4, 0xf3b6, 0xcf97,\n    0xcf98, 0xcf99, 0xcf9a, 0xf3ba, 0xcf9b, 0xcf9c, 0xcf9d, 0xcf9e,\n    0xcf9f, 0xf3bb, 0xb4c0, 0xcfa0, 0xd040, 0xd041, 0xd042, 0xd043,\n    0xd044, 0xd045, 0xd046, 0xd047, 0xd048, 0xd049, 0xd04a, 0xd04b,\n    0xd04c, 0xd04d, 0xeec3, 0xd04e, 0xd04f, 0xd050, 0xd051, 0xd052,\n    0xd053, 0xf3bc, 0xd054, 0xd055, 0xf3bd, 0xd056, 0xd057, 0xd058,\n    0xd1aa, 0xd059, 0xd05a, 0xd05b, 0xf4ac, 0xd0c6, 0xd05c, 0xd05d,\n    0xd05e, 0xd05f, 0xd060, 0xd061, 0xd0d0, 0xd1dc, 0xd062, 0xd063,\n    0xd064, 0xd065, 0xd066, 0xd067, 0xcfce, 0xd068, 0xd069, 0xbdd6,\n    0xd06a, 0xd1c3, 0xd06b, 0xd06c, 0xd06d, 0xd06e, 0xd06f, 0xd070,\n    0xd071, 0xbae2, 0xe1e9, 0xd2c2, 0xf1c2, 0xb2b9, 0xd072, 0xd073,\n    0xb1ed, 0xf1c3, 0xd074, 0xc9c0, 0xb3c4, 0xd075, 0xd9f2, 0xd076,\n    0xcba5, 0xd077, 0xf1c4, 0xd078, 0xd079, 0xd07a, 0xd07b, 0xd6d4,\n    0xd07c, 0xd07d, 0xd07e, 0xd080, 0xd081, 0xf1c5, 0xf4c0, 0xf1c6,\n    0xd082, 0xd4ac, 0xf1c7, 0xd083, 0xb0c0, 0xf4c1, 0xd084, 0xd085,\n    0xf4c2, 0xd086, 0xd087, 0xb4fc, 0xd088, 0xc5db, 0xd089, 0xd08a,\n    0xd08b, 0xd08c, 0xccbb, 0xd08d, 0xd08e, 0xd08f, 0xd0e4, 0xd090,\n    0xd091, 0xd092, 0xd093, 0xd094, 0xcde0, 0xd095, 0xd096, 0xd097,\n    0xd098, 0xd099, 0xf1c8, 0xd09a, 0xd9f3, 0xd09b, 0xd09c, 0xd09d,\n    0xd09e, 0xd09f, 0xd0a0, 0xb1bb, 0xd140, 0xcfae, 0xd141, 0xd142,\n    0xd143, 0xb8a4, 0xd144, 0xd145, 0xd146, 0xd147, 0xd148, 0xf1ca,\n    0xd149, 0xd14a, 0xd14b, 0xd14c, 0xf1cb, 0xd14d, 0xd14e, 0xd14f,\n    0xd150, 0xb2c3, 0xc1d1, 0xd151, 0xd152, 0xd7b0, 0xf1c9, 0xd153,\n    0xd154, 0xf1cc, 0xd155, 0xd156, 0xd157, 0xd158, 0xf1ce, 0xd159,\n    0xd15a, 0xd15b, 0xd9f6, 0xd15c, 0xd2e1, 0xd4a3, 0xd15d, 0xd15e,\n    0xf4c3, 0xc8b9, 0xd15f, 0xd160, 0xd161, 0xd162, 0xd163, 0xf4c4,\n    0xd164, 0xd165, 0xf1cd, 0xf1cf, 0xbfe3, 0xf1d0, 0xd166, 0xd167,\n    0xf1d4, 0xd168, 0xd169, 0xd16a, 0xd16b, 0xd16c, 0xd16d, 0xd16e,\n    0xf1d6, 0xf1d1, 0xd16f, 0xc9d1, 0xc5e1, 0xd170, 0xd171, 0xd172,\n    0xc2e3, 0xb9fc, 0xd173, 0xd174, 0xf1d3, 0xd175, 0xf1d5, 0xd176,\n    /* 0x8900 .. 0x89ff */\n    0xd177, 0xd178, 0xb9d3, 0xd179, 0xd17a, 0xd17b, 0xd17c, 0xd17d,\n    0xd17e, 0xd180, 0xf1db, 0xd181, 0xd182, 0xd183, 0xd184, 0xd185,\n    0xbad6, 0xd186, 0xb0fd, 0xf1d9, 0xd187, 0xd188, 0xd189, 0xd18a,\n    0xd18b, 0xf1d8, 0xf1d2, 0xf1da, 0xd18c, 0xd18d, 0xd18e, 0xd18f,\n    0xd190, 0xf1d7, 0xd191, 0xd192, 0xd193, 0xc8ec, 0xd194, 0xd195,\n    0xd196, 0xd197, 0xcdca, 0xf1dd, 0xd198, 0xd199, 0xd19a, 0xd19b,\n    0xe5bd, 0xd19c, 0xd19d, 0xd19e, 0xf1dc, 0xd19f, 0xf1de, 0xd1a0,\n    0xd240, 0xd241, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247,\n    0xd248, 0xf1df, 0xd249, 0xd24a, 0xcfe5, 0xd24b, 0xd24c, 0xd24d,\n    0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253, 0xd254, 0xd255,\n    0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b, 0xd25c, 0xd25d,\n    0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xf4c5, 0xbdf3,\n    0xd264, 0xd265, 0xd266, 0xd267, 0xd268, 0xd269, 0xf1e0, 0xd26a,\n    0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f, 0xd270, 0xd271, 0xd272,\n    0xd273, 0xd274, 0xd275, 0xd276, 0xd277, 0xd278, 0xd279, 0xd27a,\n    0xd27b, 0xd27c, 0xd27d, 0xf1e1, 0xd27e, 0xd280, 0xd281, 0xcef7,\n    0xd282, 0xd2aa, 0xd283, 0xf1fb, 0xd284, 0xd285, 0xb8b2, 0xd286,\n    0xd287, 0xd288, 0xd289, 0xd28a, 0xd28b, 0xd28c, 0xd28d, 0xd28e,\n    0xd28f, 0xd290, 0xd291, 0xd292, 0xd293, 0xd294, 0xd295, 0xd296,\n    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29c, 0xd29d, 0xd29e,\n    0xd29f, 0xd2a0, 0xd340, 0xd341, 0xd342, 0xd343, 0xd344, 0xd345,\n    0xd346, 0xd347, 0xd348, 0xd349, 0xd34a, 0xd34b, 0xd34c, 0xd34d,\n    0xd34e, 0xd34f, 0xd350, 0xd351, 0xd352, 0xd353, 0xd354, 0xd355,\n    0xd356, 0xd357, 0xd358, 0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d,\n    0xd35e, 0xbcfb, 0xb9db, 0xd35f, 0xb9e6, 0xc3d9, 0xcad3, 0xeae8,\n    0xc0c0, 0xbef5, 0xeae9, 0xeaea, 0xeaeb, 0xd360, 0xeaec, 0xeaed,\n    0xeaee, 0xeaef, 0xbdc7, 0xd361, 0xd362, 0xd363, 0xf5fb, 0xd364,\n    0xd365, 0xd366, 0xf5fd, 0xd367, 0xf5fe, 0xd368, 0xf5fc, 0xd369,\n    0xd36a, 0xd36b, 0xd36c, 0xbde2, 0xd36d, 0xf6a1, 0xb4a5, 0xd36e,\n    0xd36f, 0xd370, 0xd371, 0xf6a2, 0xd372, 0xd373, 0xd374, 0xf6a3,\n    0xd375, 0xd376, 0xd377, 0xecb2, 0xd378, 0xd379, 0xd37a, 0xd37b,\n    0xd37c, 0xd37d, 0xd37e, 0xd380, 0xd381, 0xd382, 0xd383, 0xd384,\n    /* 0x8a00 .. 0x8aff */\n    0xd1d4, 0xd385, 0xd386, 0xd387, 0xd388, 0xd389, 0xd38a, 0xd9ea,\n    0xd38b, 0xd38c, 0xd38d, 0xd38e, 0xd38f, 0xd390, 0xd391, 0xd392,\n    0xd393, 0xd394, 0xd395, 0xd396, 0xd397, 0xd398, 0xd399, 0xd39a,\n    0xd39b, 0xd39c, 0xd39d, 0xd39e, 0xd39f, 0xd3a0, 0xd440, 0xd441,\n    0xd442, 0xd443, 0xd444, 0xd445, 0xd446, 0xd447, 0xd448, 0xd449,\n    0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450, 0xd451,\n    0xd452, 0xd453, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459,\n    0xd45a, 0xd45b, 0xd45c, 0xd45d, 0xd45e, 0xd45f, 0xf6a4, 0xd460,\n    0xd461, 0xd462, 0xd463, 0xd464, 0xd465, 0xd466, 0xd467, 0xd468,\n    0xeeba, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46d, 0xd46e, 0xd46f,\n    0xd470, 0xd471, 0xd472, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477,\n    0xd478, 0xd479, 0xd47a, 0xd47b, 0xd47c, 0xd47d, 0xd47e, 0xd480,\n    0xd481, 0xd482, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487, 0xd488,\n    0xd489, 0xd48a, 0xd48b, 0xd48c, 0xd48d, 0xd48e, 0xd48f, 0xd490,\n    0xd491, 0xd492, 0xd493, 0xd494, 0xd495, 0xd496, 0xd497, 0xd498,\n    0xd499, 0xd5b2, 0xd49a, 0xd49b, 0xd49c, 0xd49d, 0xd49e, 0xd49f,\n    0xd4a0, 0xd540, 0xd541, 0xd542, 0xd543, 0xd544, 0xd545, 0xd546,\n    0xd547, 0xd3fe, 0xccdc, 0xd548, 0xd549, 0xd54a, 0xd54b, 0xd54c,\n    0xd54d, 0xd54e, 0xd54f, 0xcac4, 0xd550, 0xd551, 0xd552, 0xd553,\n    0xd554, 0xd555, 0xd556, 0xd557, 0xd558, 0xd559, 0xd55a, 0xd55b,\n    0xd55c, 0xd55d, 0xd55e, 0xd55f, 0xd560, 0xd561, 0xd562, 0xd563,\n    0xd564, 0xd565, 0xd566, 0xd567, 0xd568, 0xd569, 0xd56a, 0xd56b,\n    0xd56c, 0xd56d, 0xd56e, 0xd56f, 0xd570, 0xd571, 0xd572, 0xd573,\n    0xd574, 0xd575, 0xd576, 0xd577, 0xd578, 0xd579, 0xd57a, 0xd57b,\n    0xd57c, 0xd57d, 0xd57e, 0xd580, 0xd581, 0xd582, 0xd583, 0xd584,\n    0xd585, 0xd586, 0xd587, 0xd588, 0xd589, 0xd58a, 0xd58b, 0xd58c,\n    0xd58d, 0xd58e, 0xd58f, 0xd590, 0xd591, 0xd592, 0xd593, 0xd594,\n    0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b, 0xd59c,\n    0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd640, 0xd641, 0xd642, 0xd643,\n    0xd644, 0xd645, 0xd646, 0xd647, 0xd648, 0xd649, 0xd64a, 0xd64b,\n    0xd64c, 0xd64d, 0xd64e, 0xd64f, 0xd650, 0xd651, 0xd652, 0xd653,\n    0xd654, 0xd655, 0xd656, 0xd657, 0xd658, 0xd659, 0xd65a, 0xd65b,\n    /* 0x8b00 .. 0x8bff */\n    0xd65c, 0xd65d, 0xd65e, 0xd65f, 0xd660, 0xd661, 0xd662, 0xe5c0,\n    0xd663, 0xd664, 0xd665, 0xd666, 0xd667, 0xd668, 0xd669, 0xd66a,\n    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd670, 0xd671, 0xd672,\n    0xd673, 0xd674, 0xd675, 0xd676, 0xd677, 0xd678, 0xd679, 0xd67a,\n    0xd67b, 0xd67c, 0xd67d, 0xd67e, 0xd680, 0xd681, 0xf6a5, 0xd682,\n    0xd683, 0xd684, 0xd685, 0xd686, 0xd687, 0xd688, 0xd689, 0xd68a,\n    0xd68b, 0xd68c, 0xd68d, 0xd68e, 0xd68f, 0xd690, 0xd691, 0xd692,\n    0xd693, 0xd694, 0xd695, 0xd696, 0xd697, 0xd698, 0xd699, 0xd69a,\n    0xd69b, 0xd69c, 0xd69d, 0xd69e, 0xd69f, 0xd6a0, 0xd740, 0xd741,\n    0xd742, 0xd743, 0xd744, 0xd745, 0xd746, 0xd747, 0xd748, 0xd749,\n    0xd74a, 0xd74b, 0xd74c, 0xd74d, 0xd74e, 0xd74f, 0xd750, 0xd751,\n    0xd752, 0xd753, 0xd754, 0xd755, 0xd756, 0xd757, 0xd758, 0xd759,\n    0xd75a, 0xd75b, 0xd75c, 0xd75d, 0xd75e, 0xd75f, 0xbeaf, 0xd760,\n    0xd761, 0xd762, 0xd763, 0xd764, 0xc6a9, 0xd765, 0xd766, 0xd767,\n    0xd768, 0xd769, 0xd76a, 0xd76b, 0xd76c, 0xd76d, 0xd76e, 0xd76f,\n    0xd770, 0xd771, 0xd772, 0xd773, 0xd774, 0xd775, 0xd776, 0xd777,\n    0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77c, 0xd77d, 0xd77e, 0xd780,\n    0xd781, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd788,\n    0xd789, 0xd78a, 0xd78b, 0xd78c, 0xd78d, 0xd78e, 0xd78f, 0xd790,\n    0xd791, 0xd792, 0xd793, 0xd794, 0xd795, 0xd796, 0xd797, 0xd798,\n    0xdaa5, 0xbcc6, 0xb6a9, 0xb8bc, 0xc8cf, 0xbca5, 0xdaa6, 0xdaa7,\n    0xccd6, 0xc8c3, 0xdaa8, 0xc6fd, 0xd799, 0xd1b5, 0xd2e9, 0xd1b6,\n    0xbcc7, 0xd79a, 0xbdb2, 0xbbe4, 0xdaa9, 0xdaaa, 0xd1c8, 0xdaab,\n    0xd0ed, 0xb6ef, 0xc2db, 0xd79b, 0xcbcf, 0xb7ed, 0xc9e8, 0xb7c3,\n    0xbef7, 0xd6a4, 0xdaac, 0xdaad, 0xc6c0, 0xd7e7, 0xcab6, 0xd79c,\n    0xd5a9, 0xcbdf, 0xd5ef, 0xdaae, 0xd6df, 0xb4ca, 0xdab0, 0xdaaf,\n    0xd79d, 0xd2eb, 0xdab1, 0xdab2, 0xdab3, 0xcad4, 0xdab4, 0xcaab,\n    0xdab5, 0xdab6, 0xb3cf, 0xd6ef, 0xdab7, 0xbbb0, 0xb5ae, 0xdab8,\n    0xdab9, 0xb9ee, 0xd1af, 0xd2e8, 0xdaba, 0xb8c3, 0xcfea, 0xb2ef,\n    0xdabb, 0xdabc, 0xd79e, 0xbdeb, 0xcedc, 0xd3ef, 0xdabd, 0xcef3,\n    0xdabe, 0xd3d5, 0xbbe5, 0xdabf, 0xcbb5, 0xcbd0, 0xdac0, 0xc7eb,\n    0xd6ee, 0xdac1, 0xc5b5, 0xb6c1, 0xdac2, 0xb7cc, 0xbfce, 0xdac3,\n    /* 0x8c00 .. 0x8cff */\n    0xdac4, 0xcbad, 0xdac5, 0xb5f7, 0xdac6, 0xc1c2, 0xd7bb, 0xdac7,\n    0xccb8, 0xd79f, 0xd2ea, 0xc4b1, 0xdac8, 0xb5fd, 0xbbd1, 0xdac9,\n    0xd0b3, 0xdaca, 0xdacb, 0xcebd, 0xdacc, 0xdacd, 0xdace, 0xb2f7,\n    0xdad1, 0xdacf, 0xd1e8, 0xdad0, 0xc3d5, 0xdad2, 0xd7a0, 0xdad3,\n    0xdad4, 0xdad5, 0xd0bb, 0xd2a5, 0xb0f9, 0xdad6, 0xc7ab, 0xdad7,\n    0xbdf7, 0xc3a1, 0xdad8, 0xdad9, 0xc3fd, 0xccb7, 0xdada, 0xdadb,\n    0xc0be, 0xc6d7, 0xdadc, 0xdadd, 0xc7b4, 0xdade, 0xdadf, 0xb9c8,\n    0xd840, 0xd841, 0xd842, 0xd843, 0xd844, 0xd845, 0xd846, 0xd847,\n    0xd848, 0xbbed, 0xd849, 0xd84a, 0xd84b, 0xd84c, 0xb6b9, 0xf4f8,\n    0xd84d, 0xf4f9, 0xd84e, 0xd84f, 0xcde3, 0xd850, 0xd851, 0xd852,\n    0xd853, 0xd854, 0xd855, 0xd856, 0xd857, 0xf5b9, 0xd858, 0xd859,\n    0xd85a, 0xd85b, 0xebe0, 0xd85c, 0xd85d, 0xd85e, 0xd85f, 0xd860,\n    0xd861, 0xcff3, 0xbbbf, 0xd862, 0xd863, 0xd864, 0xd865, 0xd866,\n    0xd867, 0xd868, 0xbac0, 0xd4a5, 0xd869, 0xd86a, 0xd86b, 0xd86c,\n    0xd86d, 0xd86e, 0xd86f, 0xe1d9, 0xd870, 0xd871, 0xd872, 0xd873,\n    0xf5f4, 0xb1aa, 0xb2f2, 0xd874, 0xd875, 0xd876, 0xd877, 0xd878,\n    0xd879, 0xd87a, 0xf5f5, 0xd87b, 0xd87c, 0xf5f7, 0xd87d, 0xd87e,\n    0xd880, 0xbad1, 0xf5f6, 0xd881, 0xc3b2, 0xd882, 0xd883, 0xd884,\n    0xd885, 0xd886, 0xd887, 0xd888, 0xf5f9, 0xd889, 0xd88a, 0xd88b,\n    0xf5f8, 0xd88c, 0xd88d, 0xd88e, 0xd88f, 0xd890, 0xd891, 0xd892,\n    0xd893, 0xd894, 0xd895, 0xd896, 0xd897, 0xd898, 0xd899, 0xd89a,\n    0xd89b, 0xd89c, 0xd89d, 0xd89e, 0xd89f, 0xd8a0, 0xd940, 0xd941,\n    0xd942, 0xd943, 0xd944, 0xd945, 0xd946, 0xd947, 0xd948, 0xd949,\n    0xd94a, 0xd94b, 0xd94c, 0xd94d, 0xd94e, 0xd94f, 0xd950, 0xd951,\n    0xd952, 0xd953, 0xd954, 0xd955, 0xd956, 0xd957, 0xd958, 0xd959,\n    0xd95a, 0xd95b, 0xd95c, 0xd95d, 0xd95e, 0xd95f, 0xd960, 0xd961,\n    0xd962, 0xd963, 0xd964, 0xd965, 0xd966, 0xd967, 0xd968, 0xd969,\n    0xd96a, 0xd96b, 0xd96c, 0xd96d, 0xd96e, 0xd96f, 0xd970, 0xd971,\n    0xd972, 0xd973, 0xd974, 0xd975, 0xd976, 0xd977, 0xd978, 0xd979,\n    0xd97a, 0xd97b, 0xd97c, 0xd97d, 0xd97e, 0xd980, 0xd981, 0xd982,\n    0xd983, 0xd984, 0xd985, 0xd986, 0xd987, 0xd988, 0xd989, 0xd98a,\n    0xd98b, 0xd98c, 0xd98d, 0xd98e, 0xd98f, 0xd990, 0xd991, 0xd992,\n    /* 0x8d00 .. 0x8dff */\n    0xd993, 0xd994, 0xd995, 0xd996, 0xd997, 0xd998, 0xd999, 0xd99a,\n    0xd99b, 0xd99c, 0xd99d, 0xd99e, 0xd99f, 0xd9a0, 0xda40, 0xda41,\n    0xda42, 0xda43, 0xda44, 0xda45, 0xda46, 0xda47, 0xda48, 0xda49,\n    0xda4a, 0xda4b, 0xda4c, 0xda4d, 0xda4e, 0xb1b4, 0xd5ea, 0xb8ba,\n    0xda4f, 0xb9b1, 0xb2c6, 0xd4f0, 0xcfcd, 0xb0dc, 0xd5cb, 0xbbf5,\n    0xd6ca, 0xb7b7, 0xccb0, 0xc6b6, 0xb1e1, 0xb9ba, 0xd6fc, 0xb9e1,\n    0xb7a1, 0xbcfa, 0xeada, 0xeadb, 0xccf9, 0xb9f3, 0xeadc, 0xb4fb,\n    0xc3b3, 0xb7d1, 0xbad8, 0xeadd, 0xd4f4, 0xeade, 0xbcd6, 0xbbdf,\n    0xeadf, 0xc1de, 0xc2b8, 0xd4df, 0xd7ca, 0xeae0, 0xeae1, 0xeae4,\n    0xeae2, 0xeae3, 0xc9de, 0xb8b3, 0xb6c4, 0xeae5, 0xcaea, 0xc9cd,\n    0xb4cd, 0xda50, 0xda51, 0xe2d9, 0xc5e2, 0xeae6, 0xc0b5, 0xda52,\n    0xd7b8, 0xeae7, 0xd7ac, 0xc8fc, 0xd8d3, 0xd8cd, 0xd4de, 0xda53,\n    0xd4f9, 0xc9c4, 0xd3ae, 0xb8d3, 0xb3e0, 0xda54, 0xc9e2, 0xf4f6,\n    0xda55, 0xda56, 0xda57, 0xbad5, 0xda58, 0xf4f7, 0xda59, 0xda5a,\n    0xd7df, 0xda5b, 0xda5c, 0xf4f1, 0xb8b0, 0xd5d4, 0xb8cf, 0xc6f0,\n    0xda5d, 0xda5e, 0xda5f, 0xda60, 0xda61, 0xda62, 0xda63, 0xda64,\n    0xda65, 0xb3c3, 0xda66, 0xda67, 0xf4f2, 0xb3ac, 0xda68, 0xda69,\n    0xda6a, 0xda6b, 0xd4bd, 0xc7f7, 0xda6c, 0xda6d, 0xda6e, 0xda6f,\n    0xda70, 0xf4f4, 0xda71, 0xda72, 0xf4f3, 0xda73, 0xda74, 0xda75,\n    0xda76, 0xda77, 0xda78, 0xda79, 0xda7a, 0xda7b, 0xda7c, 0xcccb,\n    0xda7d, 0xda7e, 0xda80, 0xc8a4, 0xda81, 0xda82, 0xda83, 0xda84,\n    0xda85, 0xda86, 0xda87, 0xda88, 0xda89, 0xda8a, 0xda8b, 0xda8c,\n    0xda8d, 0xf4f5, 0xda8e, 0xd7e3, 0xc5bf, 0xf5c0, 0xda8f, 0xda90,\n    0xf5bb, 0xda91, 0xf5c3, 0xda92, 0xf5c2, 0xda93, 0xd6ba, 0xf5c1,\n    0xda94, 0xda95, 0xda96, 0xd4be, 0xf5c4, 0xda97, 0xf5cc, 0xda98,\n    0xda99, 0xda9a, 0xda9b, 0xb0cf, 0xb5f8, 0xda9c, 0xf5c9, 0xf5ca,\n    0xda9d, 0xc5dc, 0xda9e, 0xda9f, 0xdaa0, 0xdb40, 0xf5c5, 0xf5c6,\n    0xdb41, 0xdb42, 0xf5c7, 0xf5cb, 0xdb43, 0xbee0, 0xf5c8, 0xb8fa,\n    0xdb44, 0xdb45, 0xdb46, 0xf5d0, 0xf5d3, 0xdb47, 0xdb48, 0xdb49,\n    0xbfe7, 0xdb4a, 0xb9f2, 0xf5bc, 0xf5cd, 0xdb4b, 0xdb4c, 0xc2b7,\n    0xdb4d, 0xdb4e, 0xdb4f, 0xccf8, 0xdb50, 0xbcf9, 0xdb51, 0xf5ce,\n    0xf5cf, 0xf5d1, 0xb6e5, 0xf5d2, 0xdb52, 0xf5d5, 0xdb53, 0xdb54,\n    /* 0x8e00 .. 0x8eff */\n    0xdb55, 0xdb56, 0xdb57, 0xdb58, 0xdb59, 0xf5bd, 0xdb5a, 0xdb5b,\n    0xdb5c, 0xf5d4, 0xd3bb, 0xdb5d, 0xb3ec, 0xdb5e, 0xdb5f, 0xcca4,\n    0xdb60, 0xdb61, 0xdb62, 0xdb63, 0xf5d6, 0xdb64, 0xdb65, 0xdb66,\n    0xdb67, 0xdb68, 0xdb69, 0xdb6a, 0xdb6b, 0xf5d7, 0xbee1, 0xf5d8,\n    0xdb6c, 0xdb6d, 0xccdf, 0xf5db, 0xdb6e, 0xdb6f, 0xdb70, 0xdb71,\n    0xdb72, 0xb2c8, 0xd7d9, 0xdb73, 0xf5d9, 0xdb74, 0xf5da, 0xf5dc,\n    0xdb75, 0xf5e2, 0xdb76, 0xdb77, 0xdb78, 0xf5e0, 0xdb79, 0xdb7a,\n    0xdb7b, 0xf5df, 0xf5dd, 0xdb7c, 0xdb7d, 0xf5e1, 0xdb7e, 0xdb80,\n    0xf5de, 0xf5e4, 0xf5e5, 0xdb81, 0xcce3, 0xdb82, 0xdb83, 0xe5bf,\n    0xb5b8, 0xf5e3, 0xf5e8, 0xcca3, 0xdb84, 0xdb85, 0xdb86, 0xdb87,\n    0xdb88, 0xf5e6, 0xf5e7, 0xdb89, 0xdb8a, 0xdb8b, 0xdb8c, 0xdb8d,\n    0xdb8e, 0xf5be, 0xdb8f, 0xdb90, 0xdb91, 0xdb92, 0xdb93, 0xdb94,\n    0xdb95, 0xdb96, 0xdb97, 0xdb98, 0xdb99, 0xdb9a, 0xb1c4, 0xdb9b,\n    0xdb9c, 0xf5bf, 0xdb9d, 0xdb9e, 0xb5c5, 0xb2e4, 0xdb9f, 0xf5ec,\n    0xf5e9, 0xdba0, 0xb6d7, 0xdc40, 0xf5ed, 0xdc41, 0xf5ea, 0xdc42,\n    0xdc43, 0xdc44, 0xdc45, 0xdc46, 0xf5eb, 0xdc47, 0xdc48, 0xb4da,\n    0xdc49, 0xd4ea, 0xdc4a, 0xdc4b, 0xdc4c, 0xf5ee, 0xdc4d, 0xb3f9,\n    0xdc4e, 0xdc4f, 0xdc50, 0xdc51, 0xdc52, 0xdc53, 0xdc54, 0xf5ef,\n    0xf5f1, 0xdc55, 0xdc56, 0xdc57, 0xf5f0, 0xdc58, 0xdc59, 0xdc5a,\n    0xdc5b, 0xdc5c, 0xdc5d, 0xdc5e, 0xf5f2, 0xdc5f, 0xf5f3, 0xdc60,\n    0xdc61, 0xdc62, 0xdc63, 0xdc64, 0xdc65, 0xdc66, 0xdc67, 0xdc68,\n    0xdc69, 0xdc6a, 0xdc6b, 0xc9ed, 0xb9aa, 0xdc6c, 0xdc6d, 0xc7fb,\n    0xdc6e, 0xdc6f, 0xb6e3, 0xdc70, 0xdc71, 0xdc72, 0xdc73, 0xdc74,\n    0xdc75, 0xdc76, 0xccc9, 0xdc77, 0xdc78, 0xdc79, 0xdc7a, 0xdc7b,\n    0xdc7c, 0xdc7d, 0xdc7e, 0xdc80, 0xdc81, 0xdc82, 0xdc83, 0xdc84,\n    0xdc85, 0xdc86, 0xdc87, 0xdc88, 0xdc89, 0xdc8a, 0xeaa6, 0xdc8b,\n    0xdc8c, 0xdc8d, 0xdc8e, 0xdc8f, 0xdc90, 0xdc91, 0xdc92, 0xdc93,\n    0xdc94, 0xdc95, 0xdc96, 0xdc97, 0xdc98, 0xdc99, 0xdc9a, 0xdc9b,\n    0xdc9c, 0xdc9d, 0xdc9e, 0xdc9f, 0xdca0, 0xdd40, 0xdd41, 0xdd42,\n    0xdd43, 0xdd44, 0xdd45, 0xdd46, 0xdd47, 0xdd48, 0xdd49, 0xdd4a,\n    0xdd4b, 0xdd4c, 0xdd4d, 0xdd4e, 0xdd4f, 0xdd50, 0xdd51, 0xdd52,\n    0xdd53, 0xdd54, 0xdd55, 0xdd56, 0xdd57, 0xdd58, 0xdd59, 0xdd5a,\n    /* 0x8f00 .. 0x8fff */\n    0xdd5b, 0xdd5c, 0xdd5d, 0xdd5e, 0xdd5f, 0xdd60, 0xdd61, 0xdd62,\n    0xdd63, 0xdd64, 0xdd65, 0xdd66, 0xdd67, 0xdd68, 0xdd69, 0xdd6a,\n    0xdd6b, 0xdd6c, 0xdd6d, 0xdd6e, 0xdd6f, 0xdd70, 0xdd71, 0xdd72,\n    0xdd73, 0xdd74, 0xdd75, 0xdd76, 0xdd77, 0xdd78, 0xdd79, 0xdd7a,\n    0xdd7b, 0xdd7c, 0xdd7d, 0xdd7e, 0xdd80, 0xdd81, 0xdd82, 0xdd83,\n    0xdd84, 0xdd85, 0xdd86, 0xdd87, 0xdd88, 0xdd89, 0xdd8a, 0xdd8b,\n    0xdd8c, 0xdd8d, 0xdd8e, 0xdd8f, 0xdd90, 0xdd91, 0xdd92, 0xdd93,\n    0xdd94, 0xdd95, 0xdd96, 0xdd97, 0xdd98, 0xdd99, 0xdd9a, 0xdd9b,\n    0xdd9c, 0xdd9d, 0xdd9e, 0xdd9f, 0xdda0, 0xde40, 0xde41, 0xde42,\n    0xde43, 0xde44, 0xde45, 0xde46, 0xde47, 0xde48, 0xde49, 0xde4a,\n    0xde4b, 0xde4c, 0xde4d, 0xde4e, 0xde4f, 0xde50, 0xde51, 0xde52,\n    0xde53, 0xde54, 0xde55, 0xde56, 0xde57, 0xde58, 0xde59, 0xde5a,\n    0xde5b, 0xde5c, 0xde5d, 0xde5e, 0xde5f, 0xde60, 0xb3b5, 0xd4fe,\n    0xb9ec, 0xd0f9, 0xde61, 0xe9ed, 0xd7aa, 0xe9ee, 0xc2d6, 0xc8ed,\n    0xbae4, 0xe9ef, 0xe9f0, 0xe9f1, 0xd6e1, 0xe9f2, 0xe9f3, 0xe9f5,\n    0xe9f4, 0xe9f6, 0xe9f7, 0xc7e1, 0xe9f8, 0xd4d8, 0xe9f9, 0xbdce,\n    0xde62, 0xe9fa, 0xe9fb, 0xbdcf, 0xe9fc, 0xb8a8, 0xc1be, 0xe9fd,\n    0xb1b2, 0xbbd4, 0xb9f5, 0xe9fe, 0xde63, 0xeaa1, 0xeaa2, 0xeaa3,\n    0xb7f8, 0xbcad, 0xde64, 0xcae4, 0xe0ce, 0xd4af, 0xcfbd, 0xd5b7,\n    0xeaa4, 0xd5de, 0xeaa5, 0xd0c1, 0xb9bc, 0xde65, 0xb4c7, 0xb1d9,\n    0xde66, 0xde67, 0xde68, 0xc0b1, 0xde69, 0xde6a, 0xde6b, 0xde6c,\n    0xb1e6, 0xb1e7, 0xde6d, 0xb1e8, 0xde6e, 0xde6f, 0xde70, 0xde71,\n    0xb3bd, 0xc8e8, 0xde72, 0xde73, 0xde74, 0xde75, 0xe5c1, 0xde76,\n    0xde77, 0xb1df, 0xde78, 0xde79, 0xde7a, 0xc1c9, 0xb4ef, 0xde7b,\n    0xde7c, 0xc7a8, 0xd3d8, 0xde7d, 0xc6f9, 0xd1b8, 0xde7e, 0xb9fd,\n    0xc2f5, 0xde80, 0xde81, 0xde82, 0xde83, 0xde84, 0xd3ad, 0xde85,\n    0xd4cb, 0xbdfc, 0xde86, 0xe5c2, 0xb7b5, 0xe5c3, 0xde87, 0xde88,\n    0xbbb9, 0xd5e2, 0xde89, 0xbdf8, 0xd4b6, 0xcea5, 0xc1ac, 0xb3d9,\n    0xde8a, 0xde8b, 0xccf6, 0xde8c, 0xe5c6, 0xe5c4, 0xe5c8, 0xde8d,\n    0xe5ca, 0xe5c7, 0xb5cf, 0xc6c8, 0xde8e, 0xb5fc, 0xe5c5, 0xde8f,\n    0xcaf6, 0xde90, 0xde91, 0xe5c9, 0xde92, 0xde93, 0xde94, 0xc3d4,\n    0xb1c5, 0xbca3, 0xde95, 0xde96, 0xde97, 0xd7b7, 0xde98, 0xde99,\n    /* 0x9000 .. 0x90ff */\n    0xcdcb, 0xcbcd, 0xcaca, 0xccd3, 0xe5cc, 0xe5cb, 0xc4e6, 0xde9a,\n    0xde9b, 0xd1a1, 0xd1b7, 0xe5cd, 0xde9c, 0xe5d0, 0xde9d, 0xcdb8,\n    0xd6f0, 0xe5cf, 0xb5dd, 0xde9e, 0xcdbe, 0xde9f, 0xe5d1, 0xb6ba,\n    0xdea0, 0xdf40, 0xcda8, 0xb9e4, 0xdf41, 0xcac5, 0xb3d1, 0xcbd9,\n    0xd4ec, 0xe5d2, 0xb7ea, 0xdf42, 0xdf43, 0xdf44, 0xe5ce, 0xdf45,\n    0xdf46, 0xdf47, 0xdf48, 0xdf49, 0xdf4a, 0xe5d5, 0xb4fe, 0xe5d6,\n    0xdf4b, 0xdf4c, 0xdf4d, 0xdf4e, 0xdf4f, 0xe5d3, 0xe5d4, 0xdf50,\n    0xd2dd, 0xdf51, 0xdf52, 0xc2df, 0xb1c6, 0xdf53, 0xd3e2, 0xdf54,\n    0xdf55, 0xb6dd, 0xcbec, 0xdf56, 0xe5d7, 0xdf57, 0xdf58, 0xd3f6,\n    0xdf59, 0xdf5a, 0xdf5b, 0xdf5c, 0xdf5d, 0xb1e9, 0xdf5e, 0xb6f4,\n    0xe5da, 0xe5d8, 0xe5d9, 0xb5c0, 0xdf5f, 0xdf60, 0xdf61, 0xd2c5,\n    0xe5dc, 0xdf62, 0xdf63, 0xe5de, 0xdf64, 0xdf65, 0xdf66, 0xdf67,\n    0xdf68, 0xdf69, 0xe5dd, 0xc7b2, 0xdf6a, 0xd2a3, 0xdf6b, 0xdf6c,\n    0xe5db, 0xdf6d, 0xdf6e, 0xdf6f, 0xdf70, 0xd4e2, 0xd5da, 0xdf71,\n    0xdf72, 0xdf73, 0xdf74, 0xdf75, 0xe5e0, 0xd7f1, 0xdf76, 0xdf77,\n    0xdf78, 0xdf79, 0xdf7a, 0xdf7b, 0xdf7c, 0xe5e1, 0xdf7d, 0xb1dc,\n    0xd1fb, 0xdf7e, 0xe5e2, 0xe5e4, 0xdf80, 0xdf81, 0xdf82, 0xdf83,\n    0xe5e3, 0xdf84, 0xdf85, 0xe5e5, 0xdf86, 0xdf87, 0xdf88, 0xdf89,\n    0xdf8a, 0xd2d8, 0xdf8b, 0xb5cb, 0xdf8c, 0xe7df, 0xdf8d, 0xdaf5,\n    0xdf8e, 0xdaf8, 0xdf8f, 0xdaf6, 0xdf90, 0xdaf7, 0xdf91, 0xdf92,\n    0xdf93, 0xdafa, 0xd0cf, 0xc4c7, 0xdf94, 0xdf95, 0xb0ee, 0xdf96,\n    0xdf97, 0xdf98, 0xd0b0, 0xdf99, 0xdaf9, 0xdf9a, 0xd3ca, 0xbaaa,\n    0xdba2, 0xc7f1, 0xdf9b, 0xdafc, 0xdafb, 0xc9db, 0xdafd, 0xdf9c,\n    0xdba1, 0xd7de, 0xdafe, 0xc1da, 0xdf9d, 0xdf9e, 0xdba5, 0xdf9f,\n    0xdfa0, 0xd3f4, 0xe040, 0xe041, 0xdba7, 0xdba4, 0xe042, 0xdba8,\n    0xe043, 0xe044, 0xbdbc, 0xe045, 0xe046, 0xe047, 0xc0c9, 0xdba3,\n    0xdba6, 0xd6a3, 0xe048, 0xdba9, 0xe049, 0xe04a, 0xe04b, 0xdbad,\n    0xe04c, 0xe04d, 0xe04e, 0xdbae, 0xdbac, 0xbac2, 0xe04f, 0xe050,\n    0xe051, 0xbfa4, 0xdbab, 0xe052, 0xe053, 0xe054, 0xdbaa, 0xd4c7,\n    0xb2bf, 0xe055, 0xe056, 0xdbaf, 0xe057, 0xb9f9, 0xe058, 0xdbb0,\n    0xe059, 0xe05a, 0xe05b, 0xe05c, 0xb3bb, 0xe05d, 0xe05e, 0xe05f,\n    0xb5a6, 0xe060, 0xe061, 0xe062, 0xe063, 0xb6bc, 0xdbb1, 0xe064,\n    /* 0x9100 .. 0x91ff */\n    0xe065, 0xe066, 0xb6f5, 0xe067, 0xdbb2, 0xe068, 0xe069, 0xe06a,\n    0xe06b, 0xe06c, 0xe06d, 0xe06e, 0xe06f, 0xe070, 0xe071, 0xe072,\n    0xe073, 0xe074, 0xe075, 0xe076, 0xe077, 0xe078, 0xe079, 0xe07a,\n    0xe07b, 0xb1c9, 0xe07c, 0xe07d, 0xe07e, 0xe080, 0xdbb4, 0xe081,\n    0xe082, 0xe083, 0xdbb3, 0xdbb5, 0xe084, 0xe085, 0xe086, 0xe087,\n    0xe088, 0xe089, 0xe08a, 0xe08b, 0xe08c, 0xe08d, 0xe08e, 0xdbb7,\n    0xe08f, 0xdbb6, 0xe090, 0xe091, 0xe092, 0xe093, 0xe094, 0xe095,\n    0xe096, 0xdbb8, 0xe097, 0xe098, 0xe099, 0xe09a, 0xe09b, 0xe09c,\n    0xe09d, 0xe09e, 0xe09f, 0xdbb9, 0xe0a0, 0xe140, 0xdbba, 0xe141,\n    0xe142, 0xd3cf, 0xf4fa, 0xc7f5, 0xd7c3, 0xc5e4, 0xf4fc, 0xf4fd,\n    0xf4fb, 0xe143, 0xbec6, 0xe144, 0xe145, 0xe146, 0xe147, 0xd0ef,\n    0xe148, 0xe149, 0xb7d3, 0xe14a, 0xe14b, 0xd4cd, 0xccaa, 0xe14c,\n    0xe14d, 0xf5a2, 0xf5a1, 0xbaa8, 0xf4fe, 0xcbd6, 0xe14e, 0xe14f,\n    0xe150, 0xf5a4, 0xc0d2, 0xe151, 0xb3ea, 0xe152, 0xcdaa, 0xf5a5,\n    0xf5a3, 0xbdb4, 0xf5a8, 0xe153, 0xf5a9, 0xbdcd, 0xc3b8, 0xbfe1,\n    0xcbe1, 0xf5aa, 0xe154, 0xe155, 0xe156, 0xf5a6, 0xf5a7, 0xc4f0,\n    0xe157, 0xe158, 0xe159, 0xe15a, 0xe15b, 0xf5ac, 0xe15c, 0xb4bc,\n    0xe15d, 0xd7ed, 0xe15e, 0xb4d7, 0xf5ab, 0xf5ae, 0xe15f, 0xe160,\n    0xf5ad, 0xf5af, 0xd0d1, 0xe161, 0xe162, 0xe163, 0xe164, 0xe165,\n    0xe166, 0xe167, 0xc3d1, 0xc8a9, 0xe168, 0xe169, 0xe16a, 0xe16b,\n    0xe16c, 0xe16d, 0xf5b0, 0xf5b1, 0xe16e, 0xe16f, 0xe170, 0xe171,\n    0xe172, 0xe173, 0xf5b2, 0xe174, 0xe175, 0xf5b3, 0xf5b4, 0xf5b5,\n    0xe176, 0xe177, 0xe178, 0xe179, 0xf5b7, 0xf5b6, 0xe17a, 0xe17b,\n    0xe17c, 0xe17d, 0xf5b8, 0xe17e, 0xe180, 0xe181, 0xe182, 0xe183,\n    0xe184, 0xe185, 0xe186, 0xe187, 0xe188, 0xe189, 0xe18a, 0xb2c9,\n    0xe18b, 0xd3d4, 0xcacd, 0xe18c, 0xc0ef, 0xd6d8, 0xd2b0, 0xc1bf,\n    0xe18d, 0xbdf0, 0xe18e, 0xe18f, 0xe190, 0xe191, 0xe192, 0xe193,\n    0xe194, 0xe195, 0xe196, 0xe197, 0xb8aa, 0xe198, 0xe199, 0xe19a,\n    0xe19b, 0xe19c, 0xe19d, 0xe19e, 0xe19f, 0xe1a0, 0xe240, 0xe241,\n    0xe242, 0xe243, 0xe244, 0xe245, 0xe246, 0xe247, 0xe248, 0xe249,\n    0xe24a, 0xe24b, 0xe24c, 0xe24d, 0xe24e, 0xe24f, 0xe250, 0xe251,\n    0xe252, 0xe253, 0xe254, 0xe255, 0xe256, 0xe257, 0xe258, 0xe259,\n    /* 0x9200 .. 0x92ff */\n    0xe25a, 0xe25b, 0xe25c, 0xe25d, 0xe25e, 0xe25f, 0xe260, 0xe261,\n    0xe262, 0xe263, 0xe264, 0xe265, 0xe266, 0xe267, 0xe268, 0xe269,\n    0xe26a, 0xe26b, 0xe26c, 0xe26d, 0xe26e, 0xe26f, 0xe270, 0xe271,\n    0xe272, 0xe273, 0xe274, 0xe275, 0xe276, 0xe277, 0xe278, 0xe279,\n    0xe27a, 0xe27b, 0xe27c, 0xe27d, 0xe27e, 0xe280, 0xe281, 0xe282,\n    0xe283, 0xe284, 0xe285, 0xe286, 0xe287, 0xe288, 0xe289, 0xe28a,\n    0xe28b, 0xe28c, 0xe28d, 0xe28e, 0xe28f, 0xe290, 0xe291, 0xe292,\n    0xe293, 0xe294, 0xe295, 0xe296, 0xe297, 0xe298, 0xe299, 0xe29a,\n    0xe29b, 0xe29c, 0xe29d, 0xe29e, 0xe29f, 0xe2a0, 0xe340, 0xe341,\n    0xe342, 0xe343, 0xe344, 0xe345, 0xe346, 0xe347, 0xe348, 0xe349,\n    0xe34a, 0xe34b, 0xe34c, 0xe34d, 0xe34e, 0xe34f, 0xe350, 0xe351,\n    0xe352, 0xe353, 0xe354, 0xe355, 0xe356, 0xe357, 0xe358, 0xe359,\n    0xe35a, 0xe35b, 0xe35c, 0xe35d, 0xe35e, 0xe35f, 0xe360, 0xe361,\n    0xe362, 0xe363, 0xe364, 0xe365, 0xe366, 0xe367, 0xe368, 0xe369,\n    0xe36a, 0xe36b, 0xe36c, 0xe36d, 0xbcf8, 0xe36e, 0xe36f, 0xe370,\n    0xe371, 0xe372, 0xe373, 0xe374, 0xe375, 0xe376, 0xe377, 0xe378,\n    0xe379, 0xe37a, 0xe37b, 0xe37c, 0xe37d, 0xe37e, 0xe380, 0xe381,\n    0xe382, 0xe383, 0xe384, 0xe385, 0xe386, 0xe387, 0xf6c6, 0xe388,\n    0xe389, 0xe38a, 0xe38b, 0xe38c, 0xe38d, 0xe38e, 0xe38f, 0xe390,\n    0xe391, 0xe392, 0xe393, 0xe394, 0xe395, 0xe396, 0xe397, 0xe398,\n    0xe399, 0xe39a, 0xe39b, 0xe39c, 0xe39d, 0xe39e, 0xe39f, 0xe3a0,\n    0xe440, 0xe441, 0xe442, 0xe443, 0xe444, 0xe445, 0xf6c7, 0xe446,\n    0xe447, 0xe448, 0xe449, 0xe44a, 0xe44b, 0xe44c, 0xe44d, 0xe44e,\n    0xe44f, 0xe450, 0xe451, 0xe452, 0xe453, 0xe454, 0xe455, 0xe456,\n    0xe457, 0xe458, 0xe459, 0xe45a, 0xe45b, 0xe45c, 0xe45d, 0xe45e,\n    0xf6c8, 0xe45f, 0xe460, 0xe461, 0xe462, 0xe463, 0xe464, 0xe465,\n    0xe466, 0xe467, 0xe468, 0xe469, 0xe46a, 0xe46b, 0xe46c, 0xe46d,\n    0xe46e, 0xe46f, 0xe470, 0xe471, 0xe472, 0xe473, 0xe474, 0xe475,\n    0xe476, 0xe477, 0xe478, 0xe479, 0xe47a, 0xe47b, 0xe47c, 0xe47d,\n    0xe47e, 0xe480, 0xe481, 0xe482, 0xe483, 0xe484, 0xe485, 0xe486,\n    0xe487, 0xe488, 0xe489, 0xe48a, 0xe48b, 0xe48c, 0xe48d, 0xe48e,\n    0xe48f, 0xe490, 0xe491, 0xe492, 0xe493, 0xe494, 0xe495, 0xe496,\n    /* 0x9300 .. 0x93ff */\n    0xe497, 0xe498, 0xe499, 0xe49a, 0xe49b, 0xe49c, 0xe49d, 0xe49e,\n    0xe49f, 0xe4a0, 0xe540, 0xe541, 0xe542, 0xe543, 0xe544, 0xe545,\n    0xe546, 0xe547, 0xe548, 0xe549, 0xe54a, 0xe54b, 0xe54c, 0xe54d,\n    0xe54e, 0xe54f, 0xe550, 0xe551, 0xe552, 0xe553, 0xe554, 0xe555,\n    0xe556, 0xe557, 0xe558, 0xe559, 0xe55a, 0xe55b, 0xe55c, 0xe55d,\n    0xe55e, 0xe55f, 0xe560, 0xe561, 0xe562, 0xe563, 0xe564, 0xe565,\n    0xe566, 0xe567, 0xe568, 0xe569, 0xe56a, 0xe56b, 0xe56c, 0xe56d,\n    0xe56e, 0xe56f, 0xe570, 0xe571, 0xe572, 0xe573, 0xf6c9, 0xe574,\n    0xe575, 0xe576, 0xe577, 0xe578, 0xe579, 0xe57a, 0xe57b, 0xe57c,\n    0xe57d, 0xe57e, 0xe580, 0xe581, 0xe582, 0xe583, 0xe584, 0xe585,\n    0xe586, 0xe587, 0xe588, 0xe589, 0xe58a, 0xe58b, 0xe58c, 0xe58d,\n    0xe58e, 0xe58f, 0xe590, 0xe591, 0xe592, 0xe593, 0xe594, 0xe595,\n    0xe596, 0xe597, 0xe598, 0xe599, 0xe59a, 0xe59b, 0xe59c, 0xe59d,\n    0xe59e, 0xe59f, 0xf6ca, 0xe5a0, 0xe640, 0xe641, 0xe642, 0xe643,\n    0xe644, 0xe645, 0xe646, 0xe647, 0xe648, 0xe649, 0xe64a, 0xe64b,\n    0xe64c, 0xe64d, 0xe64e, 0xe64f, 0xe650, 0xe651, 0xe652, 0xe653,\n    0xe654, 0xe655, 0xe656, 0xe657, 0xe658, 0xe659, 0xe65a, 0xe65b,\n    0xe65c, 0xe65d, 0xe65e, 0xe65f, 0xe660, 0xe661, 0xe662, 0xf6cc,\n    0xe663, 0xe664, 0xe665, 0xe666, 0xe667, 0xe668, 0xe669, 0xe66a,\n    0xe66b, 0xe66c, 0xe66d, 0xe66e, 0xe66f, 0xe670, 0xe671, 0xe672,\n    0xe673, 0xe674, 0xe675, 0xe676, 0xe677, 0xe678, 0xe679, 0xe67a,\n    0xe67b, 0xe67c, 0xe67d, 0xe67e, 0xe680, 0xe681, 0xe682, 0xe683,\n    0xe684, 0xe685, 0xe686, 0xe687, 0xe688, 0xe689, 0xe68a, 0xe68b,\n    0xe68c, 0xe68d, 0xe68e, 0xe68f, 0xe690, 0xe691, 0xe692, 0xe693,\n    0xe694, 0xe695, 0xe696, 0xe697, 0xe698, 0xe699, 0xe69a, 0xe69b,\n    0xe69c, 0xe69d, 0xf6cb, 0xe69e, 0xe69f, 0xe6a0, 0xe740, 0xe741,\n    0xe742, 0xe743, 0xe744, 0xe745, 0xe746, 0xe747, 0xf7e9, 0xe748,\n    0xe749, 0xe74a, 0xe74b, 0xe74c, 0xe74d, 0xe74e, 0xe74f, 0xe750,\n    0xe751, 0xe752, 0xe753, 0xe754, 0xe755, 0xe756, 0xe757, 0xe758,\n    0xe759, 0xe75a, 0xe75b, 0xe75c, 0xe75d, 0xe75e, 0xe75f, 0xe760,\n    0xe761, 0xe762, 0xe763, 0xe764, 0xe765, 0xe766, 0xe767, 0xe768,\n    0xe769, 0xe76a, 0xe76b, 0xe76c, 0xe76d, 0xe76e, 0xe76f, 0xe770,\n    /* 0x9400 .. 0x94ff */\n    0xe771, 0xe772, 0xe773, 0xe774, 0xe775, 0xe776, 0xe777, 0xe778,\n    0xe779, 0xe77a, 0xe77b, 0xe77c, 0xe77d, 0xe77e, 0xe780, 0xe781,\n    0xe782, 0xe783, 0xe784, 0xe785, 0xe786, 0xe787, 0xe788, 0xe789,\n    0xe78a, 0xe78b, 0xe78c, 0xe78d, 0xe78e, 0xe78f, 0xe790, 0xe791,\n    0xe792, 0xe793, 0xe794, 0xe795, 0xe796, 0xe797, 0xe798, 0xe799,\n    0xe79a, 0xe79b, 0xe79c, 0xe79d, 0xe79e, 0xe79f, 0xe7a0, 0xe840,\n    0xe841, 0xe842, 0xe843, 0xe844, 0xe845, 0xe846, 0xe847, 0xe848,\n    0xe849, 0xe84a, 0xe84b, 0xe84c, 0xe84d, 0xe84e, 0xf6cd, 0xe84f,\n    0xe850, 0xe851, 0xe852, 0xe853, 0xe854, 0xe855, 0xe856, 0xe857,\n    0xe858, 0xe859, 0xe85a, 0xe85b, 0xe85c, 0xe85d, 0xe85e, 0xe85f,\n    0xe860, 0xe861, 0xe862, 0xe863, 0xe864, 0xe865, 0xe866, 0xe867,\n    0xe868, 0xe869, 0xe86a, 0xe86b, 0xe86c, 0xe86d, 0xe86e, 0xe86f,\n    0xe870, 0xe871, 0xe872, 0xe873, 0xe874, 0xe875, 0xe876, 0xe877,\n    0xe878, 0xe879, 0xe87a, 0xf6ce, 0xe87b, 0xe87c, 0xe87d, 0xe87e,\n    0xe880, 0xe881, 0xe882, 0xe883, 0xe884, 0xe885, 0xe886, 0xe887,\n    0xe888, 0xe889, 0xe88a, 0xe88b, 0xe88c, 0xe88d, 0xe88e, 0xe88f,\n    0xe890, 0xe891, 0xe892, 0xe893, 0xe894, 0xeec4, 0xeec5, 0xeec6,\n    0xd5eb, 0xb6a4, 0xeec8, 0xeec7, 0xeec9, 0xeeca, 0xc7a5, 0xeecb,\n    0xeecc, 0xe895, 0xb7b0, 0xb5f6, 0xeecd, 0xeecf, 0xe896, 0xeece,\n    0xe897, 0xb8c6, 0xeed0, 0xeed1, 0xeed2, 0xb6db, 0xb3ae, 0xd6d3,\n    0xc4c6, 0xb1b5, 0xb8d6, 0xeed3, 0xeed4, 0xd4bf, 0xc7d5, 0xbefb,\n    0xced9, 0xb9b3, 0xeed6, 0xeed5, 0xeed8, 0xeed7, 0xc5a5, 0xeed9,\n    0xeeda, 0xc7ae, 0xeedb, 0xc7af, 0xeedc, 0xb2a7, 0xeedd, 0xeede,\n    0xeedf, 0xeee0, 0xeee1, 0xd7ea, 0xeee2, 0xeee3, 0xbcd8, 0xeee4,\n    0xd3cb, 0xccfa, 0xb2ac, 0xc1e5, 0xeee5, 0xc7a6, 0xc3ad, 0xe898,\n    0xeee6, 0xeee7, 0xeee8, 0xeee9, 0xeeea, 0xeeeb, 0xeeec, 0xe899,\n    0xeeed, 0xeeee, 0xeeef, 0xe89a, 0xe89b, 0xeef0, 0xeef1, 0xeef2,\n    0xeef4, 0xeef3, 0xe89c, 0xeef5, 0xcdad, 0xc2c1, 0xeef6, 0xeef7,\n    0xeef8, 0xd5a1, 0xeef9, 0xcfb3, 0xeefa, 0xeefb, 0xe89d, 0xeefc,\n    0xeefd, 0xefa1, 0xeefe, 0xefa2, 0xb8f5, 0xc3fa, 0xefa3, 0xefa4,\n    0xbdc2, 0xd2bf, 0xb2f9, 0xefa5, 0xefa6, 0xefa7, 0xd2f8, 0xefa8,\n    0xd6fd, 0xefa9, 0xc6cc, 0xe89e, 0xefaa, 0xefab, 0xc1b4, 0xefac,\n    /* 0x9500 .. 0x95ff */\n    0xcffa, 0xcbf8, 0xefae, 0xefad, 0xb3fa, 0xb9f8, 0xefaf, 0xefb0,\n    0xd0e2, 0xefb1, 0xefb2, 0xb7e6, 0xd0bf, 0xefb3, 0xefb4, 0xefb5,\n    0xc8f1, 0xcce0, 0xefb6, 0xefb7, 0xefb8, 0xefb9, 0xefba, 0xd5e0,\n    0xefbb, 0xb4ed, 0xc3aa, 0xefbc, 0xe89f, 0xefbd, 0xefbe, 0xefbf,\n    0xe8a0, 0xcefd, 0xefc0, 0xc2e0, 0xb4b8, 0xd7b6, 0xbdf5, 0xe940,\n    0xcfc7, 0xefc3, 0xefc1, 0xefc2, 0xefc4, 0xb6a7, 0xbcfc, 0xbee2,\n    0xc3cc, 0xefc5, 0xefc6, 0xe941, 0xefc7, 0xefcf, 0xefc8, 0xefc9,\n    0xefca, 0xc7c2, 0xeff1, 0xb6cd, 0xefcb, 0xe942, 0xefcc, 0xefcd,\n    0xb6c6, 0xc3be, 0xefce, 0xe943, 0xefd0, 0xefd1, 0xefd2, 0xd5f2,\n    0xe944, 0xefd3, 0xc4f7, 0xe945, 0xefd4, 0xc4f8, 0xefd5, 0xefd6,\n    0xb8e4, 0xb0f7, 0xefd7, 0xefd8, 0xefd9, 0xe946, 0xefda, 0xefdb,\n    0xefdc, 0xefdd, 0xe947, 0xefde, 0xbeb5, 0xefe1, 0xefdf, 0xefe0,\n    0xe948, 0xefe2, 0xefe3, 0xc1cd, 0xefe4, 0xefe5, 0xefe6, 0xefe7,\n    0xefe8, 0xefe9, 0xefea, 0xefeb, 0xefec, 0xc0d8, 0xe949, 0xefed,\n    0xc1ad, 0xefee, 0xefef, 0xeff0, 0xe94a, 0xe94b, 0xcfe2, 0xe94c,\n    0xe94d, 0xe94e, 0xe94f, 0xe950, 0xe951, 0xe952, 0xe953, 0xb3a4,\n    0xe954, 0xe955, 0xe956, 0xe957, 0xe958, 0xe959, 0xe95a, 0xe95b,\n    0xe95c, 0xe95d, 0xe95e, 0xe95f, 0xe960, 0xe961, 0xe962, 0xe963,\n    0xe964, 0xe965, 0xe966, 0xe967, 0xe968, 0xe969, 0xe96a, 0xe96b,\n    0xe96c, 0xe96d, 0xe96e, 0xe96f, 0xe970, 0xe971, 0xe972, 0xe973,\n    0xe974, 0xe975, 0xe976, 0xe977, 0xe978, 0xe979, 0xe97a, 0xe97b,\n    0xe97c, 0xe97d, 0xe97e, 0xe980, 0xe981, 0xe982, 0xe983, 0xe984,\n    0xe985, 0xe986, 0xe987, 0xe988, 0xe989, 0xe98a, 0xe98b, 0xe98c,\n    0xe98d, 0xe98e, 0xe98f, 0xe990, 0xe991, 0xe992, 0xe993, 0xe994,\n    0xe995, 0xe996, 0xe997, 0xe998, 0xe999, 0xe99a, 0xe99b, 0xe99c,\n    0xe99d, 0xe99e, 0xe99f, 0xe9a0, 0xea40, 0xea41, 0xea42, 0xea43,\n    0xea44, 0xea45, 0xea46, 0xea47, 0xea48, 0xea49, 0xea4a, 0xea4b,\n    0xea4c, 0xea4d, 0xea4e, 0xea4f, 0xea50, 0xea51, 0xea52, 0xea53,\n    0xea54, 0xea55, 0xea56, 0xea57, 0xea58, 0xea59, 0xea5a, 0xea5b,\n    0xc3c5, 0xe3c5, 0xc9c1, 0xe3c6, 0xea5c, 0xb1d5, 0xceca, 0xb4b3,\n    0xc8f2, 0xe3c7, 0xcfd0, 0xe3c8, 0xbce4, 0xe3c9, 0xe3ca, 0xc3c6,\n    0xd5a2, 0xc4d6, 0xb9eb, 0xcec5, 0xe3cb, 0xc3f6, 0xe3cc, 0xea5d,\n    /* 0x9600 .. 0x96ff */\n    0xb7a7, 0xb8f3, 0xbad2, 0xe3cd, 0xe3ce, 0xd4c4, 0xe3cf, 0xea5e,\n    0xe3d0, 0xd1cb, 0xe3d1, 0xe3d2, 0xe3d3, 0xe3d4, 0xd1d6, 0xe3d5,\n    0xb2fb, 0xc0bb, 0xe3d6, 0xea5f, 0xc0ab, 0xe3d7, 0xe3d8, 0xe3d9,\n    0xea60, 0xe3da, 0xe3db, 0xea61, 0xb8b7, 0xdae2, 0xea62, 0xb6d3,\n    0xea63, 0xdae4, 0xdae3, 0xea64, 0xea65, 0xea66, 0xea67, 0xea68,\n    0xea69, 0xea6a, 0xdae6, 0xea6b, 0xea6c, 0xea6d, 0xc8ee, 0xea6e,\n    0xea6f, 0xdae5, 0xb7c0, 0xd1f4, 0xd2f5, 0xd5f3, 0xbdd7, 0xea70,\n    0xea71, 0xea72, 0xea73, 0xd7e8, 0xdae8, 0xdae7, 0xea74, 0xb0a2,\n    0xcdd3, 0xea75, 0xdae9, 0xea76, 0xb8bd, 0xbcca, 0xc2bd, 0xc2a4,\n    0xb3c2, 0xdaea, 0xea77, 0xc2aa, 0xc4b0, 0xbdb5, 0xea78, 0xea79,\n    0xcfde, 0xea7a, 0xea7b, 0xea7c, 0xdaeb, 0xc9c2, 0xea7d, 0xea7e,\n    0xea80, 0xea81, 0xea82, 0xb1dd, 0xea83, 0xea84, 0xea85, 0xdaec,\n    0xea86, 0xb6b8, 0xd4ba, 0xea87, 0xb3fd, 0xea88, 0xea89, 0xdaed,\n    0xd4c9, 0xcfd5, 0xc5e3, 0xea8a, 0xdaee, 0xea8b, 0xea8c, 0xea8d,\n    0xea8e, 0xea8f, 0xdaef, 0xea90, 0xdaf0, 0xc1ea, 0xccd5, 0xcfdd,\n    0xea91, 0xea92, 0xea93, 0xea94, 0xea95, 0xea96, 0xea97, 0xea98,\n    0xea99, 0xea9a, 0xea9b, 0xea9c, 0xea9d, 0xd3e7, 0xc2a1, 0xea9e,\n    0xdaf1, 0xea9f, 0xeaa0, 0xcbe5, 0xeb40, 0xdaf2, 0xeb41, 0xcbe6,\n    0xd2fe, 0xeb42, 0xeb43, 0xeb44, 0xb8f4, 0xeb45, 0xeb46, 0xdaf3,\n    0xb0af, 0xcfb6, 0xeb47, 0xeb48, 0xd5cf, 0xeb49, 0xeb4a, 0xeb4b,\n    0xeb4c, 0xeb4d, 0xeb4e, 0xeb4f, 0xeb50, 0xeb51, 0xeb52, 0xcbed,\n    0xeb53, 0xeb54, 0xeb55, 0xeb56, 0xeb57, 0xeb58, 0xeb59, 0xeb5a,\n    0xdaf4, 0xeb5b, 0xeb5c, 0xe3c4, 0xeb5d, 0xeb5e, 0xc1a5, 0xeb5f,\n    0xeb60, 0xf6bf, 0xeb61, 0xeb62, 0xf6c0, 0xf6c1, 0xc4d1, 0xeb63,\n    0xc8b8, 0xd1e3, 0xeb64, 0xeb65, 0xd0db, 0xd1c5, 0xbcaf, 0xb9cd,\n    0xeb66, 0xeff4, 0xeb67, 0xeb68, 0xb4c6, 0xd3ba, 0xf6c2, 0xb3fb,\n    0xeb69, 0xeb6a, 0xf6c3, 0xeb6b, 0xeb6c, 0xb5f1, 0xeb6d, 0xeb6e,\n    0xeb6f, 0xeb70, 0xeb71, 0xeb72, 0xeb73, 0xeb74, 0xeb75, 0xeb76,\n    0xf6c5, 0xeb77, 0xeb78, 0xeb79, 0xeb7a, 0xeb7b, 0xeb7c, 0xeb7d,\n    0xd3ea, 0xf6a7, 0xd1a9, 0xeb7e, 0xeb80, 0xeb81, 0xeb82, 0xf6a9,\n    0xeb83, 0xeb84, 0xeb85, 0xf6a8, 0xeb86, 0xeb87, 0xc1e3, 0xc0d7,\n    0xeb88, 0xb1a2, 0xeb89, 0xeb8a, 0xeb8b, 0xeb8c, 0xceed, 0xeb8d,\n    /* 0x9700 .. 0x97ff */\n    0xd0e8, 0xf6ab, 0xeb8e, 0xeb8f, 0xcff6, 0xeb90, 0xf6aa, 0xd5f0,\n    0xf6ac, 0xc3b9, 0xeb91, 0xeb92, 0xeb93, 0xbbf4, 0xf6ae, 0xf6ad,\n    0xeb94, 0xeb95, 0xeb96, 0xc4de, 0xeb97, 0xeb98, 0xc1d8, 0xeb99,\n    0xeb9a, 0xeb9b, 0xeb9c, 0xeb9d, 0xcbaa, 0xeb9e, 0xcfbc, 0xeb9f,\n    0xeba0, 0xec40, 0xec41, 0xec42, 0xec43, 0xec44, 0xec45, 0xec46,\n    0xec47, 0xec48, 0xf6af, 0xec49, 0xec4a, 0xf6b0, 0xec4b, 0xec4c,\n    0xf6b1, 0xec4d, 0xc2b6, 0xec4e, 0xec4f, 0xec50, 0xec51, 0xec52,\n    0xb0d4, 0xc5f9, 0xec53, 0xec54, 0xec55, 0xec56, 0xf6b2, 0xec57,\n    0xec58, 0xec59, 0xec5a, 0xec5b, 0xec5c, 0xec5d, 0xec5e, 0xec5f,\n    0xec60, 0xec61, 0xec62, 0xec63, 0xec64, 0xec65, 0xec66, 0xec67,\n    0xec68, 0xec69, 0xc7e0, 0xf6a6, 0xec6a, 0xec6b, 0xbeb8, 0xec6c,\n    0xec6d, 0xbeb2, 0xec6e, 0xb5e5, 0xec6f, 0xec70, 0xb7c7, 0xec71,\n    0xbfbf, 0xc3d2, 0xc3e6, 0xec72, 0xec73, 0xd8cc, 0xec74, 0xec75,\n    0xec76, 0xb8ef, 0xec77, 0xec78, 0xec79, 0xec7a, 0xec7b, 0xec7c,\n    0xec7d, 0xec7e, 0xec80, 0xbdf9, 0xd1a5, 0xec81, 0xb0d0, 0xec82,\n    0xec83, 0xec84, 0xec85, 0xec86, 0xf7b0, 0xec87, 0xec88, 0xec89,\n    0xec8a, 0xec8b, 0xec8c, 0xec8d, 0xec8e, 0xf7b1, 0xec8f, 0xec90,\n    0xec91, 0xec92, 0xec93, 0xd0ac, 0xec94, 0xb0b0, 0xec95, 0xec96,\n    0xec97, 0xf7b2, 0xf7b3, 0xec98, 0xf7b4, 0xec99, 0xec9a, 0xec9b,\n    0xc7ca, 0xec9c, 0xec9d, 0xec9e, 0xec9f, 0xeca0, 0xed40, 0xed41,\n    0xbecf, 0xed42, 0xed43, 0xf7b7, 0xed44, 0xed45, 0xed46, 0xed47,\n    0xed48, 0xed49, 0xed4a, 0xf7b6, 0xed4b, 0xb1de, 0xed4c, 0xf7b5,\n    0xed4d, 0xed4e, 0xf7b8, 0xed4f, 0xf7b9, 0xed50, 0xed51, 0xed52,\n    0xed53, 0xed54, 0xed55, 0xed56, 0xed57, 0xed58, 0xed59, 0xed5a,\n    0xed5b, 0xed5c, 0xed5d, 0xed5e, 0xed5f, 0xed60, 0xed61, 0xed62,\n    0xed63, 0xed64, 0xed65, 0xed66, 0xed67, 0xed68, 0xed69, 0xed6a,\n    0xed6b, 0xed6c, 0xed6d, 0xed6e, 0xed6f, 0xed70, 0xed71, 0xed72,\n    0xed73, 0xed74, 0xed75, 0xed76, 0xed77, 0xed78, 0xed79, 0xed7a,\n    0xed7b, 0xed7c, 0xed7d, 0xed7e, 0xed80, 0xed81, 0xcea4, 0xc8cd,\n    0xed82, 0xbaab, 0xe8b8, 0xe8b9, 0xe8ba, 0xbec2, 0xed83, 0xed84,\n    0xed85, 0xed86, 0xed87, 0xd2f4, 0xed88, 0xd4cf, 0xc9d8, 0xed89,\n    0xed8a, 0xed8b, 0xed8c, 0xed8d, 0xed8e, 0xed8f, 0xed90, 0xed91,\n    /* 0x9800 .. 0x98ff */\n    0xed92, 0xed93, 0xed94, 0xed95, 0xed96, 0xed97, 0xed98, 0xed99,\n    0xed9a, 0xed9b, 0xed9c, 0xed9d, 0xed9e, 0xed9f, 0xeda0, 0xee40,\n    0xee41, 0xee42, 0xee43, 0xee44, 0xee45, 0xee46, 0xee47, 0xee48,\n    0xee49, 0xee4a, 0xee4b, 0xee4c, 0xee4d, 0xee4e, 0xee4f, 0xee50,\n    0xee51, 0xee52, 0xee53, 0xee54, 0xee55, 0xee56, 0xee57, 0xee58,\n    0xee59, 0xee5a, 0xee5b, 0xee5c, 0xee5d, 0xee5e, 0xee5f, 0xee60,\n    0xee61, 0xee62, 0xee63, 0xee64, 0xee65, 0xee66, 0xee67, 0xee68,\n    0xee69, 0xee6a, 0xee6b, 0xee6c, 0xee6d, 0xee6e, 0xee6f, 0xee70,\n    0xee71, 0xee72, 0xee73, 0xee74, 0xee75, 0xee76, 0xee77, 0xee78,\n    0xee79, 0xee7a, 0xee7b, 0xee7c, 0xee7d, 0xee7e, 0xee80, 0xee81,\n    0xee82, 0xee83, 0xee84, 0xee85, 0xee86, 0xee87, 0xee88, 0xee89,\n    0xee8a, 0xee8b, 0xee8c, 0xee8d, 0xee8e, 0xee8f, 0xee90, 0xee91,\n    0xee92, 0xee93, 0xee94, 0xee95, 0xee96, 0xee97, 0xee98, 0xee99,\n    0xee9a, 0xee9b, 0xee9c, 0xee9d, 0xee9e, 0xee9f, 0xeea0, 0xef40,\n    0xef41, 0xef42, 0xef43, 0xef44, 0xef45, 0xd2b3, 0xb6a5, 0xc7ea,\n    0xf1fc, 0xcfee, 0xcbb3, 0xd0eb, 0xe7ef, 0xcde7, 0xb9cb, 0xb6d9,\n    0xf1fd, 0xb0e4, 0xcbcc, 0xf1fe, 0xd4a4, 0xc2ad, 0xc1ec, 0xc6c4,\n    0xbeb1, 0xf2a1, 0xbcd5, 0xef46, 0xf2a2, 0xf2a3, 0xef47, 0xf2a4,\n    0xd2c3, 0xc6b5, 0xef48, 0xcdc7, 0xf2a5, 0xef49, 0xd3b1, 0xbfc5,\n    0xcce2, 0xef4a, 0xf2a6, 0xf2a7, 0xd1d5, 0xb6ee, 0xf2a8, 0xf2a9,\n    0xb5df, 0xf2aa, 0xf2ab, 0xef4b, 0xb2fc, 0xf2ac, 0xf2ad, 0xc8a7,\n    0xef4c, 0xef4d, 0xef4e, 0xef4f, 0xef50, 0xef51, 0xef52, 0xef53,\n    0xef54, 0xef55, 0xef56, 0xef57, 0xef58, 0xef59, 0xef5a, 0xef5b,\n    0xef5c, 0xef5d, 0xef5e, 0xef5f, 0xef60, 0xef61, 0xef62, 0xef63,\n    0xef64, 0xef65, 0xef66, 0xef67, 0xef68, 0xef69, 0xef6a, 0xef6b,\n    0xef6c, 0xef6d, 0xef6e, 0xef6f, 0xef70, 0xef71, 0xb7e7, 0xef72,\n    0xef73, 0xeca9, 0xecaa, 0xecab, 0xef74, 0xecac, 0xef75, 0xef76,\n    0xc6ae, 0xecad, 0xecae, 0xef77, 0xef78, 0xef79, 0xb7c9, 0xcab3,\n    0xef7a, 0xef7b, 0xef7c, 0xef7d, 0xef7e, 0xef80, 0xef81, 0xe2b8,\n    0xf7cf, 0xef82, 0xef83, 0xef84, 0xef85, 0xef86, 0xef87, 0xef88,\n    0xef89, 0xef8a, 0xef8b, 0xef8c, 0xef8d, 0xef8e, 0xef8f, 0xef90,\n    0xef91, 0xef92, 0xef93, 0xef94, 0xef95, 0xef96, 0xef97, 0xef98,\n    /* 0x9900 .. 0x99ff */\n    0xef99, 0xef9a, 0xef9b, 0xef9c, 0xef9d, 0xef9e, 0xef9f, 0xefa0,\n    0xf040, 0xf041, 0xf042, 0xf043, 0xf044, 0xf7d0, 0xf045, 0xf046,\n    0xb2cd, 0xf047, 0xf048, 0xf049, 0xf04a, 0xf04b, 0xf04c, 0xf04d,\n    0xf04e, 0xf04f, 0xf050, 0xf051, 0xf052, 0xf053, 0xf054, 0xf055,\n    0xf056, 0xf057, 0xf058, 0xf059, 0xf05a, 0xf05b, 0xf05c, 0xf05d,\n    0xf05e, 0xf05f, 0xf060, 0xf061, 0xf062, 0xf063, 0xf7d1, 0xf064,\n    0xf065, 0xf066, 0xf067, 0xf068, 0xf069, 0xf06a, 0xf06b, 0xf06c,\n    0xf06d, 0xf06e, 0xf06f, 0xf070, 0xf071, 0xf072, 0xf073, 0xf074,\n    0xf075, 0xf076, 0xf077, 0xf078, 0xf079, 0xf07a, 0xf07b, 0xf07c,\n    0xf07d, 0xf07e, 0xf080, 0xf081, 0xf082, 0xf083, 0xf084, 0xf085,\n    0xf086, 0xf087, 0xf088, 0xf089, 0xf7d3, 0xf7d2, 0xf08a, 0xf08b,\n    0xf08c, 0xf08d, 0xf08e, 0xf08f, 0xf090, 0xf091, 0xf092, 0xf093,\n    0xf094, 0xf095, 0xf096, 0xe2bb, 0xf097, 0xbca2, 0xf098, 0xe2bc,\n    0xe2bd, 0xe2be, 0xe2bf, 0xe2c0, 0xe2c1, 0xb7b9, 0xd2fb, 0xbda4,\n    0xcace, 0xb1a5, 0xcbc7, 0xf099, 0xe2c2, 0xb6fc, 0xc8c4, 0xe2c3,\n    0xf09a, 0xf09b, 0xbdc8, 0xf09c, 0xb1fd, 0xe2c4, 0xf09d, 0xb6f6,\n    0xe2c5, 0xc4d9, 0xf09e, 0xf09f, 0xe2c6, 0xcfda, 0xb9dd, 0xe2c7,\n    0xc0a1, 0xf0a0, 0xe2c8, 0xb2f6, 0xf140, 0xe2c9, 0xf141, 0xc1f3,\n    0xe2ca, 0xe2cb, 0xc2f8, 0xe2cc, 0xe2cd, 0xe2ce, 0xcad7, 0xd8b8,\n    0xd9e5, 0xcfe3, 0xf142, 0xf143, 0xf144, 0xf145, 0xf146, 0xf147,\n    0xf148, 0xf149, 0xf14a, 0xf14b, 0xf14c, 0xf0a5, 0xf14d, 0xf14e,\n    0xdcb0, 0xf14f, 0xf150, 0xf151, 0xf152, 0xf153, 0xf154, 0xf155,\n    0xf156, 0xf157, 0xf158, 0xf159, 0xf15a, 0xf15b, 0xf15c, 0xf15d,\n    0xf15e, 0xf15f, 0xf160, 0xf161, 0xf162, 0xf163, 0xf164, 0xf165,\n    0xf166, 0xf167, 0xf168, 0xf169, 0xf16a, 0xf16b, 0xf16c, 0xf16d,\n    0xf16e, 0xf16f, 0xf170, 0xf171, 0xf172, 0xf173, 0xf174, 0xf175,\n    0xf176, 0xf177, 0xf178, 0xf179, 0xf17a, 0xf17b, 0xf17c, 0xf17d,\n    0xf17e, 0xf180, 0xf181, 0xf182, 0xf183, 0xf184, 0xf185, 0xf186,\n    0xf187, 0xf188, 0xf189, 0xf18a, 0xf18b, 0xf18c, 0xf18d, 0xf18e,\n    0xf18f, 0xf190, 0xf191, 0xf192, 0xf193, 0xf194, 0xf195, 0xf196,\n    0xf197, 0xf198, 0xf199, 0xf19a, 0xf19b, 0xf19c, 0xf19d, 0xf19e,\n    0xf19f, 0xf1a0, 0xf240, 0xf241, 0xf242, 0xf243, 0xf244, 0xf245,\n    /* 0x9a00 .. 0x9aff */\n    0xf246, 0xf247, 0xf248, 0xf249, 0xf24a, 0xf24b, 0xf24c, 0xf24d,\n    0xf24e, 0xf24f, 0xf250, 0xf251, 0xf252, 0xf253, 0xf254, 0xf255,\n    0xf256, 0xf257, 0xf258, 0xf259, 0xf25a, 0xf25b, 0xf25c, 0xf25d,\n    0xf25e, 0xf25f, 0xf260, 0xf261, 0xf262, 0xf263, 0xf264, 0xf265,\n    0xf266, 0xf267, 0xf268, 0xf269, 0xf26a, 0xf26b, 0xf26c, 0xf26d,\n    0xf26e, 0xf26f, 0xf270, 0xf271, 0xf272, 0xf273, 0xf274, 0xf275,\n    0xf276, 0xf277, 0xf278, 0xf279, 0xf27a, 0xf27b, 0xf27c, 0xf27d,\n    0xf27e, 0xf280, 0xf281, 0xf282, 0xf283, 0xf284, 0xf285, 0xf286,\n    0xf287, 0xf288, 0xf289, 0xf28a, 0xf28b, 0xf28c, 0xf28d, 0xf28e,\n    0xf28f, 0xf290, 0xf291, 0xf292, 0xf293, 0xf294, 0xf295, 0xf296,\n    0xf297, 0xf298, 0xf299, 0xf29a, 0xf29b, 0xf29c, 0xf29d, 0xf29e,\n    0xf29f, 0xf2a0, 0xf340, 0xf341, 0xf342, 0xf343, 0xf344, 0xf345,\n    0xf346, 0xf347, 0xf348, 0xf349, 0xf34a, 0xf34b, 0xf34c, 0xf34d,\n    0xf34e, 0xf34f, 0xf350, 0xf351, 0xc2ed, 0xd4a6, 0xcdd4, 0xd1b1,\n    0xb3db, 0xc7fd, 0xf352, 0xb2b5, 0xc2bf, 0xe6e0, 0xcabb, 0xe6e1,\n    0xe6e2, 0xbed4, 0xe6e3, 0xd7a4, 0xcdd5, 0xe6e5, 0xbcdd, 0xe6e4,\n    0xe6e6, 0xe6e7, 0xc2ee, 0xf353, 0xbdbe, 0xe6e8, 0xc2e6, 0xbaa7,\n    0xe6e9, 0xf354, 0xe6ea, 0xb3d2, 0xd1e9, 0xf355, 0xf356, 0xbfa5,\n    0xe6eb, 0xc6ef, 0xe6ec, 0xe6ed, 0xf357, 0xf358, 0xe6ee, 0xc6ad,\n    0xe6ef, 0xf359, 0xc9a7, 0xe6f0, 0xe6f1, 0xe6f2, 0xe5b9, 0xe6f3,\n    0xe6f4, 0xc2e2, 0xe6f5, 0xe6f6, 0xd6e8, 0xe6f7, 0xf35a, 0xe6f8,\n    0xb9c7, 0xf35b, 0xf35c, 0xf35d, 0xf35e, 0xf35f, 0xf360, 0xf361,\n    0xf7bb, 0xf7ba, 0xf362, 0xf363, 0xf364, 0xf365, 0xf7be, 0xf7bc,\n    0xbaa1, 0xf366, 0xf7bf, 0xf367, 0xf7c0, 0xf368, 0xf369, 0xf36a,\n    0xf7c2, 0xf7c1, 0xf7c4, 0xf36b, 0xf36c, 0xf7c3, 0xf36d, 0xf36e,\n    0xf36f, 0xf370, 0xf371, 0xf7c5, 0xf7c6, 0xf372, 0xf373, 0xf374,\n    0xf375, 0xf7c7, 0xf376, 0xcbe8, 0xf377, 0xf378, 0xf379, 0xf37a,\n    0xb8df, 0xf37b, 0xf37c, 0xf37d, 0xf37e, 0xf380, 0xf381, 0xf7d4,\n    0xf382, 0xf7d5, 0xf383, 0xf384, 0xf385, 0xf386, 0xf7d6, 0xf387,\n    0xf388, 0xf389, 0xf38a, 0xf7d8, 0xf38b, 0xf7da, 0xf38c, 0xf7d7,\n    0xf38d, 0xf38e, 0xf38f, 0xf390, 0xf391, 0xf392, 0xf393, 0xf394,\n    0xf395, 0xf7db, 0xf396, 0xf7d9, 0xf397, 0xf398, 0xf399, 0xf39a,\n    /* 0x9b00 .. 0x9bff */\n    0xf39b, 0xf39c, 0xf39d, 0xd7d7, 0xf39e, 0xf39f, 0xf3a0, 0xf440,\n    0xf7dc, 0xf441, 0xf442, 0xf443, 0xf444, 0xf445, 0xf446, 0xf7dd,\n    0xf447, 0xf448, 0xf449, 0xf7de, 0xf44a, 0xf44b, 0xf44c, 0xf44d,\n    0xf44e, 0xf44f, 0xf450, 0xf451, 0xf452, 0xf453, 0xf454, 0xf7df,\n    0xf455, 0xf456, 0xf457, 0xf7e0, 0xf458, 0xf459, 0xf45a, 0xf45b,\n    0xf45c, 0xf45d, 0xf45e, 0xf45f, 0xf460, 0xf461, 0xf462, 0xdbcb,\n    0xf463, 0xf464, 0xd8aa, 0xf465, 0xf466, 0xf467, 0xf468, 0xf469,\n    0xf46a, 0xf46b, 0xf46c, 0xe5f7, 0xb9ed, 0xf46d, 0xf46e, 0xf46f,\n    0xf470, 0xbffd, 0xbbea, 0xf7c9, 0xc6c7, 0xf7c8, 0xf471, 0xf7ca,\n    0xf7cc, 0xf7cb, 0xf472, 0xf473, 0xf474, 0xf7cd, 0xf475, 0xceba,\n    0xf476, 0xf7ce, 0xf477, 0xf478, 0xc4a7, 0xf479, 0xf47a, 0xf47b,\n    0xf47c, 0xf47d, 0xf47e, 0xf480, 0xf481, 0xf482, 0xf483, 0xf484,\n    0xf485, 0xf486, 0xf487, 0xf488, 0xf489, 0xf48a, 0xf48b, 0xf48c,\n    0xf48d, 0xf48e, 0xf48f, 0xf490, 0xf491, 0xf492, 0xf493, 0xf494,\n    0xf495, 0xf496, 0xf497, 0xf498, 0xf499, 0xf49a, 0xf49b, 0xf49c,\n    0xf49d, 0xf49e, 0xf49f, 0xf4a0, 0xf540, 0xf541, 0xf542, 0xf543,\n    0xf544, 0xf545, 0xf546, 0xf547, 0xf548, 0xf549, 0xf54a, 0xf54b,\n    0xf54c, 0xf54d, 0xf54e, 0xf54f, 0xf550, 0xf551, 0xf552, 0xf553,\n    0xf554, 0xf555, 0xf556, 0xf557, 0xf558, 0xf559, 0xf55a, 0xf55b,\n    0xf55c, 0xf55d, 0xf55e, 0xf55f, 0xf560, 0xf561, 0xf562, 0xf563,\n    0xf564, 0xf565, 0xf566, 0xf567, 0xf568, 0xf569, 0xf56a, 0xf56b,\n    0xf56c, 0xf56d, 0xf56e, 0xf56f, 0xf570, 0xf571, 0xf572, 0xf573,\n    0xf574, 0xf575, 0xf576, 0xf577, 0xf578, 0xf579, 0xf57a, 0xf57b,\n    0xf57c, 0xf57d, 0xf57e, 0xf580, 0xf581, 0xf582, 0xf583, 0xf584,\n    0xf585, 0xf586, 0xf587, 0xf588, 0xf589, 0xf58a, 0xf58b, 0xf58c,\n    0xf58d, 0xf58e, 0xf58f, 0xf590, 0xf591, 0xf592, 0xf593, 0xf594,\n    0xf595, 0xf596, 0xf597, 0xf598, 0xf599, 0xf59a, 0xf59b, 0xf59c,\n    0xf59d, 0xf59e, 0xf59f, 0xf5a0, 0xf640, 0xf641, 0xf642, 0xf643,\n    0xf644, 0xf645, 0xf646, 0xf647, 0xf648, 0xf649, 0xf64a, 0xf64b,\n    0xf64c, 0xf64d, 0xf64e, 0xf64f, 0xf650, 0xf651, 0xf652, 0xf653,\n    0xf654, 0xf655, 0xf656, 0xf657, 0xf658, 0xf659, 0xf65a, 0xf65b,\n    0xf65c, 0xf65d, 0xf65e, 0xf65f, 0xf660, 0xf661, 0xf662, 0xf663,\n    /* 0x9c00 .. 0x9cff */\n    0xf664, 0xf665, 0xf666, 0xf667, 0xf668, 0xf669, 0xf66a, 0xf66b,\n    0xf66c, 0xf66d, 0xf66e, 0xf66f, 0xf670, 0xf671, 0xf672, 0xf673,\n    0xf674, 0xf675, 0xf676, 0xf677, 0xf678, 0xf679, 0xf67a, 0xf67b,\n    0xf67c, 0xf67d, 0xf67e, 0xf680, 0xf681, 0xf682, 0xf683, 0xf684,\n    0xf685, 0xf686, 0xf687, 0xf688, 0xf689, 0xf68a, 0xf68b, 0xf68c,\n    0xf68d, 0xf68e, 0xf68f, 0xf690, 0xf691, 0xf692, 0xf693, 0xf694,\n    0xf695, 0xf696, 0xf697, 0xf698, 0xf699, 0xf69a, 0xf69b, 0xf69c,\n    0xf69d, 0xf69e, 0xf69f, 0xf6a0, 0xf740, 0xf741, 0xf742, 0xf743,\n    0xf744, 0xf745, 0xf746, 0xf747, 0xf748, 0xf749, 0xf74a, 0xf74b,\n    0xf74c, 0xf74d, 0xf74e, 0xf74f, 0xf750, 0xf751, 0xf752, 0xf753,\n    0xf754, 0xf755, 0xf756, 0xf757, 0xf758, 0xf759, 0xf75a, 0xf75b,\n    0xf75c, 0xf75d, 0xf75e, 0xf75f, 0xf760, 0xf761, 0xf762, 0xf763,\n    0xf764, 0xf765, 0xf766, 0xf767, 0xf768, 0xf769, 0xf76a, 0xf76b,\n    0xf76c, 0xf76d, 0xf76e, 0xf76f, 0xf770, 0xf771, 0xf772, 0xf773,\n    0xf774, 0xf775, 0xf776, 0xf777, 0xf778, 0xf779, 0xf77a, 0xf77b,\n    0xf77c, 0xf77d, 0xf77e, 0xf780, 0xd3e3, 0xf781, 0xf782, 0xf6cf,\n    0xf783, 0xc2b3, 0xf6d0, 0xf784, 0xf785, 0xf6d1, 0xf6d2, 0xf6d3,\n    0xf6d4, 0xf786, 0xf787, 0xf6d6, 0xf788, 0xb1ab, 0xf6d7, 0xf789,\n    0xf6d8, 0xf6d9, 0xf6da, 0xf78a, 0xf6db, 0xf6dc, 0xf78b, 0xf78c,\n    0xf78d, 0xf78e, 0xf6dd, 0xf6de, 0xcfca, 0xf78f, 0xf6df, 0xf6e0,\n    0xf6e1, 0xf6e2, 0xf6e3, 0xf6e4, 0xc0f0, 0xf6e5, 0xf6e6, 0xf6e7,\n    0xf6e8, 0xf6e9, 0xf790, 0xf6ea, 0xf791, 0xf6eb, 0xf6ec, 0xf792,\n    0xf6ed, 0xf6ee, 0xf6ef, 0xf6f0, 0xf6f1, 0xf6f2, 0xf6f3, 0xf6f4,\n    0xbea8, 0xf793, 0xf6f5, 0xf6f6, 0xf6f7, 0xf6f8, 0xf794, 0xf795,\n    0xf796, 0xf797, 0xf798, 0xc8fa, 0xf6f9, 0xf6fa, 0xf6fb, 0xf6fc,\n    0xf799, 0xf79a, 0xf6fd, 0xf6fe, 0xf7a1, 0xf7a2, 0xf7a3, 0xf7a4,\n    0xf7a5, 0xf79b, 0xf79c, 0xf7a6, 0xf7a7, 0xf7a8, 0xb1ee, 0xf7a9,\n    0xf7aa, 0xf7ab, 0xf79d, 0xf79e, 0xf7ac, 0xf7ad, 0xc1db, 0xf7ae,\n    0xf79f, 0xf7a0, 0xf7af, 0xf840, 0xf841, 0xf842, 0xf843, 0xf844,\n    0xf845, 0xf846, 0xf847, 0xf848, 0xf849, 0xf84a, 0xf84b, 0xf84c,\n    0xf84d, 0xf84e, 0xf84f, 0xf850, 0xf851, 0xf852, 0xf853, 0xf854,\n    0xf855, 0xf856, 0xf857, 0xf858, 0xf859, 0xf85a, 0xf85b, 0xf85c,\n    /* 0x9d00 .. 0x9dff */\n    0xf85d, 0xf85e, 0xf85f, 0xf860, 0xf861, 0xf862, 0xf863, 0xf864,\n    0xf865, 0xf866, 0xf867, 0xf868, 0xf869, 0xf86a, 0xf86b, 0xf86c,\n    0xf86d, 0xf86e, 0xf86f, 0xf870, 0xf871, 0xf872, 0xf873, 0xf874,\n    0xf875, 0xf876, 0xf877, 0xf878, 0xf879, 0xf87a, 0xf87b, 0xf87c,\n    0xf87d, 0xf87e, 0xf880, 0xf881, 0xf882, 0xf883, 0xf884, 0xf885,\n    0xf886, 0xf887, 0xf888, 0xf889, 0xf88a, 0xf88b, 0xf88c, 0xf88d,\n    0xf88e, 0xf88f, 0xf890, 0xf891, 0xf892, 0xf893, 0xf894, 0xf895,\n    0xf896, 0xf897, 0xf898, 0xf899, 0xf89a, 0xf89b, 0xf89c, 0xf89d,\n    0xf89e, 0xf89f, 0xf8a0, 0xf940, 0xf941, 0xf942, 0xf943, 0xf944,\n    0xf945, 0xf946, 0xf947, 0xf948, 0xf949, 0xf94a, 0xf94b, 0xf94c,\n    0xf94d, 0xf94e, 0xf94f, 0xf950, 0xf951, 0xf952, 0xf953, 0xf954,\n    0xf955, 0xf956, 0xf957, 0xf958, 0xf959, 0xf95a, 0xf95b, 0xf95c,\n    0xf95d, 0xf95e, 0xf95f, 0xf960, 0xf961, 0xf962, 0xf963, 0xf964,\n    0xf965, 0xf966, 0xf967, 0xf968, 0xf969, 0xf96a, 0xf96b, 0xf96c,\n    0xf96d, 0xf96e, 0xf96f, 0xf970, 0xf971, 0xf972, 0xf973, 0xf974,\n    0xf975, 0xf976, 0xf977, 0xf978, 0xf979, 0xf97a, 0xf97b, 0xf97c,\n    0xf97d, 0xf97e, 0xf980, 0xf981, 0xf982, 0xf983, 0xf984, 0xf985,\n    0xf986, 0xf987, 0xf988, 0xf989, 0xf98a, 0xf98b, 0xf98c, 0xf98d,\n    0xf98e, 0xf98f, 0xf990, 0xf991, 0xf992, 0xf993, 0xf994, 0xf995,\n    0xf996, 0xf997, 0xf998, 0xf999, 0xf99a, 0xf99b, 0xf99c, 0xf99d,\n    0xf99e, 0xf99f, 0xf9a0, 0xfa40, 0xfa41, 0xfa42, 0xfa43, 0xfa44,\n    0xfa45, 0xfa46, 0xfa47, 0xfa48, 0xfa49, 0xfa4a, 0xfa4b, 0xfa4c,\n    0xfa4d, 0xfa4e, 0xfa4f, 0xfa50, 0xfa51, 0xfa52, 0xfa53, 0xfa54,\n    0xfa55, 0xfa56, 0xfa57, 0xfa58, 0xfa59, 0xfa5a, 0xfa5b, 0xfa5c,\n    0xfa5d, 0xfa5e, 0xfa5f, 0xfa60, 0xfa61, 0xfa62, 0xfa63, 0xfa64,\n    0xfa65, 0xfa66, 0xfa67, 0xfa68, 0xfa69, 0xfa6a, 0xfa6b, 0xfa6c,\n    0xfa6d, 0xfa6e, 0xfa6f, 0xfa70, 0xfa71, 0xfa72, 0xfa73, 0xfa74,\n    0xfa75, 0xfa76, 0xfa77, 0xfa78, 0xfa79, 0xfa7a, 0xfa7b, 0xfa7c,\n    0xfa7d, 0xfa7e, 0xfa80, 0xfa81, 0xfa82, 0xfa83, 0xfa84, 0xfa85,\n    0xfa86, 0xfa87, 0xfa88, 0xfa89, 0xfa8a, 0xfa8b, 0xfa8c, 0xfa8d,\n    0xfa8e, 0xfa8f, 0xfa90, 0xfa91, 0xfa92, 0xfa93, 0xfa94, 0xfa95,\n    0xfa96, 0xfa97, 0xfa98, 0xfa99, 0xfa9a, 0xfa9b, 0xfa9c, 0xfa9d,\n    /* 0x9e00 .. 0x9eff */\n    0xfa9e, 0xfa9f, 0xfaa0, 0xfb40, 0xfb41, 0xfb42, 0xfb43, 0xfb44,\n    0xfb45, 0xfb46, 0xfb47, 0xfb48, 0xfb49, 0xfb4a, 0xfb4b, 0xfb4c,\n    0xfb4d, 0xfb4e, 0xfb4f, 0xfb50, 0xfb51, 0xfb52, 0xfb53, 0xfb54,\n    0xfb55, 0xfb56, 0xfb57, 0xfb58, 0xfb59, 0xfb5a, 0xfb5b, 0xc4f1,\n    0xf0af, 0xbca6, 0xf0b0, 0xc3f9, 0xfb5c, 0xc5b8, 0xd1bb, 0xfb5d,\n    0xf0b1, 0xf0b2, 0xf0b3, 0xf0b4, 0xf0b5, 0xd1bc, 0xfb5e, 0xd1ec,\n    0xfb5f, 0xf0b7, 0xf0b6, 0xd4a7, 0xfb60, 0xcdd2, 0xf0b8, 0xf0ba,\n    0xf0b9, 0xf0bb, 0xf0bc, 0xfb61, 0xfb62, 0xb8eb, 0xf0bd, 0xbae8,\n    0xfb63, 0xf0be, 0xf0bf, 0xbee9, 0xf0c0, 0xb6ec, 0xf0c1, 0xf0c2,\n    0xf0c3, 0xf0c4, 0xc8b5, 0xf0c5, 0xf0c6, 0xfb64, 0xf0c7, 0xc5f4,\n    0xfb65, 0xf0c8, 0xfb66, 0xfb67, 0xfb68, 0xf0c9, 0xfb69, 0xf0ca,\n    0xf7bd, 0xfb6a, 0xf0cb, 0xf0cc, 0xf0cd, 0xfb6b, 0xf0ce, 0xfb6c,\n    0xfb6d, 0xfb6e, 0xfb6f, 0xf0cf, 0xbad7, 0xfb70, 0xf0d0, 0xf0d1,\n    0xf0d2, 0xf0d3, 0xf0d4, 0xf0d5, 0xf0d6, 0xf0d8, 0xfb71, 0xfb72,\n    0xd3a5, 0xf0d7, 0xfb73, 0xf0d9, 0xfb74, 0xfb75, 0xfb76, 0xfb77,\n    0xfb78, 0xfb79, 0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d, 0xf5ba, 0xc2b9,\n    0xfb7e, 0xfb80, 0xf7e4, 0xfb81, 0xfb82, 0xfb83, 0xfb84, 0xf7e5,\n    0xf7e6, 0xfb85, 0xfb86, 0xf7e7, 0xfb87, 0xfb88, 0xfb89, 0xfb8a,\n    0xfb8b, 0xfb8c, 0xf7e8, 0xc2b4, 0xfb8d, 0xfb8e, 0xfb8f, 0xfb90,\n    0xfb91, 0xfb92, 0xfb93, 0xfb94, 0xfb95, 0xf7ea, 0xfb96, 0xf7eb,\n    0xfb97, 0xfb98, 0xfb99, 0xfb9a, 0xfb9b, 0xfb9c, 0xc2f3, 0xfb9d,\n    0xfb9e, 0xfb9f, 0xfba0, 0xfc40, 0xfc41, 0xfc42, 0xfc43, 0xfc44,\n    0xfc45, 0xfc46, 0xfc47, 0xfc48, 0xf4f0, 0xfc49, 0xfc4a, 0xfc4b,\n    0xf4ef, 0xfc4c, 0xfc4d, 0xc2e9, 0xfc4e, 0xf7e1, 0xf7e2, 0xfc4f,\n    0xfc50, 0xfc51, 0xfc52, 0xfc53, 0xbbc6, 0xfc54, 0xfc55, 0xfc56,\n    0xfc57, 0xd9e4, 0xfc58, 0xfc59, 0xfc5a, 0xcaf2, 0xc0e8, 0xf0a4,\n    0xfc5b, 0xbada, 0xfc5c, 0xfc5d, 0xc7ad, 0xfc5e, 0xfc5f, 0xfc60,\n    0xc4ac, 0xfc61, 0xfc62, 0xf7ec, 0xf7ed, 0xf7ee, 0xfc63, 0xf7f0,\n    0xf7ef, 0xfc64, 0xf7f1, 0xfc65, 0xfc66, 0xf7f4, 0xfc67, 0xf7f3,\n    0xfc68, 0xf7f2, 0xf7f5, 0xfc69, 0xfc6a, 0xfc6b, 0xfc6c, 0xf7f6,\n    0xfc6d, 0xfc6e, 0xfc6f, 0xfc70, 0xfc71, 0xfc72, 0xfc73, 0xfc74,\n    0xfc75, 0xede9, 0xfc76, 0xedea, 0xedeb, 0xfc77, 0xf6bc, 0xfc78,\n    /* 0x9f00 .. 0x9fff */\n    0xfc79, 0xfc7a, 0xfc7b, 0xfc7c, 0xfc7d, 0xfc7e, 0xfc80, 0xfc81,\n    0xfc82, 0xfc83, 0xfc84, 0xf6bd, 0xfc85, 0xf6be, 0xb6a6, 0xfc86,\n    0xd8be, 0xfc87, 0xfc88, 0xb9c4, 0xfc89, 0xfc8a, 0xfc8b, 0xd8bb,\n    0xfc8c, 0xdcb1, 0xfc8d, 0xfc8e, 0xfc8f, 0xfc90, 0xfc91, 0xfc92,\n    0xcaf3, 0xfc93, 0xf7f7, 0xfc94, 0xfc95, 0xfc96, 0xfc97, 0xfc98,\n    0xfc99, 0xfc9a, 0xfc9b, 0xfc9c, 0xf7f8, 0xfc9d, 0xfc9e, 0xf7f9,\n    0xfc9f, 0xfca0, 0xfd40, 0xfd41, 0xfd42, 0xfd43, 0xfd44, 0xf7fb,\n    0xfd45, 0xf7fa, 0xfd46, 0xb1c7, 0xfd47, 0xf7fc, 0xf7fd, 0xfd48,\n    0xfd49, 0xfd4a, 0xfd4b, 0xfd4c, 0xf7fe, 0xfd4d, 0xfd4e, 0xfd4f,\n    0xfd50, 0xfd51, 0xfd52, 0xfd53, 0xfd54, 0xfd55, 0xfd56, 0xfd57,\n    0xc6eb, 0xecb4, 0xfd58, 0xfd59, 0xfd5a, 0xfd5b, 0xfd5c, 0xfd5d,\n    0xfd5e, 0xfd5f, 0xfd60, 0xfd61, 0xfd62, 0xfd63, 0xfd64, 0xfd65,\n    0xfd66, 0xfd67, 0xfd68, 0xfd69, 0xfd6a, 0xfd6b, 0xfd6c, 0xfd6d,\n    0xfd6e, 0xfd6f, 0xfd70, 0xfd71, 0xfd72, 0xfd73, 0xfd74, 0xfd75,\n    0xfd76, 0xfd77, 0xfd78, 0xfd79, 0xfd7a, 0xfd7b, 0xfd7c, 0xfd7d,\n    0xfd7e, 0xfd80, 0xfd81, 0xfd82, 0xfd83, 0xfd84, 0xfd85, 0xb3dd,\n    0xf6b3, 0xfd86, 0xfd87, 0xf6b4, 0xc1e4, 0xf6b5, 0xf6b6, 0xf6b7,\n    0xf6b8, 0xf6b9, 0xf6ba, 0xc8a3, 0xf6bb, 0xfd88, 0xfd89, 0xfd8a,\n    0xfd8b, 0xfd8c, 0xfd8d, 0xfd8e, 0xfd8f, 0xfd90, 0xfd91, 0xfd92,\n    0xfd93, 0xc1fa, 0xb9a8, 0xede8, 0xfd94, 0xfd95, 0xfd96, 0xb9ea,\n    0xd9df, 0xfd97, 0xfd98, 0xfd99, 0xfd9a, 0xfd9b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xf900 .. 0xf9ff */\n    0xd84d, 0xb8fc, 0xdc87, 0xd95a, 0xbbac, 0xb4ae, 0xbee4, 0xfd94,\n    0xfd94, 0xc6f5, 0xbdf0, 0xc0ae, 0xc4ce, 0x91d0, 0xb05d, 0xc15f,\n    0xcc7d, 0xc2dd, 0xc2e3, 0xdf89, 0x98b7, 0xc2e5, 0xc0d3, 0xe7f3,\n    0xc2e4, 0xc0d2, 0xf198, 0x8179, 0xc2d1, 0x99da, 0xa080, 0xcc6d,\n    0xfb5b, 0x8db9, 0x9e45, 0xcb7b, 0xd268, 0xc0ad, 0xc544, 0xcf9e,\n    0xc0c8, 0xc0ca, 0xc0cb, 0xc0c7, 0xfd9c, 0x81ed, 0xc0e4, 0x84da,\n    0x93ef, 0x99a9, 0xa074, 0xb152, 0xc0cf, 0xcc4a, 0xcc94, 0xc2b7,\n    0xc2b6, 0xf494, 0xfa98, 0xc2b5, 0xb593, 0xbe47, 0xc78a, 0xe49b,\n    0xc2b9, 0xd593, 0x89c5, 0xc5aa, 0xbb5c, 0xc340, 0xc0ce, 0xc0da,\n    0xd954, 0xc0d7, 0x89be, 0x8cd2, 0x98c7, 0x9c49, 0xc2a9, 0xc0db,\n    0xbf7c, 0xc2aa, 0xc0d5, 0xc0df, 0x8443, 0xc1e8, 0xb6a0, 0xbe63,\n    0xc1e2, 0xc1ea, 0xd778, 0x9282, 0x98b7, 0xd65a, 0xb5a4, 0x8c8e,\n    0xc5ad, 0xc2ca, 0xae90, 0xb1b1, 0xb491, 0xb1e3, 0x8fcd, 0xb2bb,\n    0xc3da, 0x94b5, 0xcbf7, 0x85a2, 0xc8fb, 0xcaa1, 0xc87e, 0xd566,\n    0x9aa2, 0xb3bd, 0xc9f2, 0xcab0, 0xc8f4, 0xc2d3, 0xc2d4, 0xc1c1,\n    0x83c9, 0xfd9d, 0xc1ba, 0xbc5a, 0xc1bc, 0xd58f, 0xc1bf, 0x84ee,\n    0x85ce, 0xc5ae, 0x8f5d, 0xc2c3, 0x9e56, 0xb55a, 0xe982, 0xf350,\n    0xfb90, 0xc0e8, 0xc1a6, 0x95d1, 0x9a76, 0xde5d, 0xc4ea, 0x917a,\n    0x91d9, 0x93d3, 0x9d69, 0x9f92, 0xad49, 0xfd9e, 0xbe9a, 0xc293,\n    0xdd82, 0xc98f, 0xdf42, 0xe580, 0xc1d0, 0xc1d3, 0xd1ca, 0xc1d2,\n    0xc1d1, 0xd566, 0xc1ae, 0xc4ee, 0xc4ed, 0x9a9a, 0xba9f, 0xab43,\n    0xc1ee, 0xe0f2, 0x8c8e, 0x8e58, 0xc1af, 0xc1e1, 0xac93, 0xc1e7,\n    0xf1f6, 0xe28f, 0xc1e3, 0xec60, 0xee49, 0xc0fd, 0xb659, 0xf5b7,\n    0xeb60, 0x90ba, 0xc1cb, 0xc1c5, 0xe5bc, 0xc4f2, 0xc1cf, 0x98b7,\n    0xc1c7, 0xaf9f, 0xdea4, 0xdf7c, 0xfd88, 0x959e, 0xc8ee, 0x84a2,\n    0x9683, 0xc1f8, 0xc1f7, 0xc1ef, 0xc1f0, 0xc1f4, 0xc1f2, 0xbc7e,\n    0xee90, 0xc1f9, 0xc2be, 0xea91, 0x8290, 0x8d91, 0x9c53, 0xdd86,\n    0xc2c9, 0x90fc, 0xc0f5, 0xc2ca, 0xc2a1, 0xc0fb, 0xc0f4, 0xc2c4,\n    0xd2d7, 0xc0ee, 0xc0e6, 0xc4e0, 0xc0ed, 0xc1a1, 0xeebe, 0xfd9f,\n    0xd165, 0xc0ef, 0xeb78, 0xc4e4, 0xc4e7, 0xc1df, 0x9ffb, 0xad55,\n    0xcc41, 0xfda0, 0xf75b, 0xf7eb, 0xc1d6, 0xc1dc, 0xc552, 0xc1a2,\n    0xf3d2, 0xc1a3, 0xa0ee, 0xd6cb, 0xd752, 0xcab2, 0xb2e8, 0xb4cc,\n    /* 0xfa00 .. 0xfaff */\n    0xc7d0, 0xb6c8, 0xcdd8, 0xccc7, 0xd5ac, 0xb6b4, 0xb1a9, 0xdd97,\n    0xd0d0, 0xbdb5, 0xd28a, 0xc0aa, 0xfe40, 0xfe41, 0xfe42, 0xfe43,\n    0x8956, 0xfe44, 0xc7e7, 0xfe45, 0xfe46, 0x8444, 0xd6ed, 0xd2e6,\n    0xfe47, 0xc9f1, 0xcfe9, 0xb8a3, 0xbeb8, 0xbeab, 0xd3f0, 0xfe48,\n    0xfe49, 0xfe4a, 0xd654, 0xfe4b, 0xfe4c, 0xd2dd, 0xb6bc, 0xfe4d,\n    0xfe4e, 0xfe4f, 0xef88, 0xef95, 0xf05e, 0xfa51, 0x003f, 0x003f,\n    0xceea, 0xc9ae, 0xc3e2, 0xc3e3, 0xc7da, 0xb1b0, 0xbac8, 0x8740,\n    0xc6f7, 0x8942, 0xc4ab, 0x8cd3, 0xe5f8, 0xbbda, 0xbfae, 0xd4f7,\n    0x91cd, 0xc3f4, 0xbcc8, 0xcaee, 0xc3b7, 0xbaa3, 0xe4be, 0x9d68,\n    0xd6f3, 0xa08d, 0xd7c1, 0xb1ae, 0xc9e7, 0xeced, 0xc6ed, 0xb576,\n    0xd7e6, 0xd7a3, 0xb59c, 0xb59d, 0xb759, 0xcdbb, 0xb99d, 0xbe9a,\n    0xbf4e, 0xb7b1, 0xcaf0, 0xd5df, 0xb3f4, 0xdcb3, 0xdcb3, 0xd6f8,\n    0xbad6, 0xd295, 0xd65d, 0xd694, 0xd965, 0xd99b, 0xe5c1, 0xd2dd,\n    0xeb79, 0xed91, 0xee6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfb00 .. 0xfbff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfe00 .. 0xfeff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa955, 0xa6f2, 0x003f, 0xa6f4, 0xa6f5, 0xa6e0, 0xa6e1, 0xa6f0,\n    0xa6f1, 0xa6e2, 0xa6e3, 0xa6ee, 0xa6ef, 0xa6e6, 0xa6e7, 0xa6e4,\n    0xa6e5, 0xa6e8, 0xa6e9, 0xa6ea, 0xa6eb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d, 0xa96e,\n    0xa96f, 0xa970, 0xa971, 0x003f, 0xa972, 0xa973, 0xa974, 0xa975,\n    0xa1aa, 0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa97b, 0xa97c,\n    0xa97d, 0xa97e, 0xa980, 0xa981, 0xa982, 0xa983, 0xa984, 0x003f,\n    0xa985, 0xa986, 0xa987, 0xa988, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xff00 .. 0xffff */\n    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa1e7, 0xa3a5, 0xa3a6, 0xa3a7,\n    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,\n    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,\n    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,\n    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,\n    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,\n    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,\n    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa3dc, 0xa3dd, 0xa3de, 0xa3df,\n    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,\n    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,\n    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,\n    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa1ab, 0x003f,\n    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xa5f2, 0xa5a1,\n    0xa5a3, 0xa5a5, 0xa5a7, 0xa5a9, 0xa5e3, 0xa5e5, 0xa5e7, 0xa5c3,\n    0xa960, 0xa5a2, 0xa5a4, 0xa5a6, 0xa5a8, 0xa5aa, 0xa5ab, 0xa5ad,\n    0xa5af, 0xa5b1, 0xa5b3, 0xa5b5, 0xa5b7, 0xa5b9, 0xa5bb, 0xa5bd,\n    0xa5bf, 0xa5c1, 0xa5c4, 0xa5c6, 0xa5c8, 0xa5ca, 0xa5cb, 0xa5cc,\n    0xa5cd, 0xa5ce, 0xa5cf, 0xa5d2, 0xa5d5, 0xa5d8, 0xa5db, 0xa5de,\n    0xa5df, 0xa5e0, 0xa5e1, 0xa5e2, 0xa5e4, 0xa5e6, 0xa5e8, 0xa5e9,\n    0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ef, 0xa5f3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e9, 0xa1ea, 0xa956, 0xa3fe, 0xa957, 0xa3a4, 0x003f, 0x003f,\n    0xa9a6, 0xa1fb, 0xa1fc, 0xa1fa, 0xa1fd, 0xa1f6, 0xa1f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* defaults */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x0e00, 0x0f00,\n    0x1000, 0x1100, 0x1200, 0x1300, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x1400, 0x1500,\n    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,\n    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,\n    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,\n    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,\n    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,\n    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,\n    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,\n    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,\n    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,\n    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00, 0x6b00,\n    0x6b00, 0x6600, 0x6700, 0x6800, 0x6b00, 0x6b00, 0x6900, 0x6a00\n};\n\nconst struct dbcs_table cptable_936 =\n{\n    { 936, 2, 0x003f, 0x003f, \"ANSI/OEM Simplified Chinese GBK\" },\n    cp2uni,\n    cp2uni_leadbytes,\n    uni2cp_low,\n    uni2cp_high,\n    { 0x81, 0xfe, 0x00, 0x00 }\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_949.cpp",
    "content": "/* code page 949 (ANSI/OEM Korean Unified Hangul) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[32256] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,\n    /* unused lead bytes */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte 81 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xac02, 0xac03, 0xac05, 0xac06, 0xac0b, 0xac0c, 0xac0d,\n    0xac0e, 0xac0f, 0xac18, 0xac1e, 0xac1f, 0xac21, 0xac22, 0xac23,\n    0xac25, 0xac26, 0xac27, 0xac28, 0xac29, 0xac2a, 0xac2b, 0xac2e,\n    0xac32, 0xac33, 0xac34, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xac35, 0xac36, 0xac37, 0xac3a, 0xac3b, 0xac3d, 0xac3e,\n    0xac3f, 0xac41, 0xac42, 0xac43, 0xac44, 0xac45, 0xac46, 0xac47,\n    0xac48, 0xac49, 0xac4a, 0xac4c, 0xac4e, 0xac4f, 0xac50, 0xac51,\n    0xac52, 0xac53, 0xac55, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xac56, 0xac57, 0xac59, 0xac5a, 0xac5b, 0xac5d, 0xac5e,\n    0xac5f, 0xac60, 0xac61, 0xac62, 0xac63, 0xac64, 0xac65, 0xac66,\n    0xac67, 0xac68, 0xac69, 0xac6a, 0xac6b, 0xac6c, 0xac6d, 0xac6e,\n    0xac6f, 0xac72, 0xac73, 0xac75, 0xac76, 0xac79, 0xac7b, 0xac7c,\n    0xac7d, 0xac7e, 0xac7f, 0xac82, 0xac87, 0xac88, 0xac8d, 0xac8e,\n    0xac8f, 0xac91, 0xac92, 0xac93, 0xac95, 0xac96, 0xac97, 0xac98,\n    0xac99, 0xac9a, 0xac9b, 0xac9e, 0xaca2, 0xaca3, 0xaca4, 0xaca5,\n    0xaca6, 0xaca7, 0xacab, 0xacad, 0xacae, 0xacb1, 0xacb2, 0xacb3,\n    0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacba, 0xacbe, 0xacbf, 0xacc0,\n    0xacc2, 0xacc3, 0xacc5, 0xacc6, 0xacc7, 0xacc9, 0xacca, 0xaccb,\n    0xaccd, 0xacce, 0xaccf, 0xacd0, 0xacd1, 0xacd2, 0xacd3, 0xacd4,\n    0xacd6, 0xacd8, 0xacd9, 0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde,\n    0xacdf, 0xace2, 0xace3, 0xace5, 0xace6, 0xace9, 0xaceb, 0xaced,\n    0xacee, 0xacf2, 0xacf4, 0xacf7, 0xacf8, 0xacf9, 0xacfa, 0xacfb,\n    0xacfe, 0xacff, 0xad01, 0xad02, 0xad03, 0xad05, 0xad07, 0xad08,\n    0xad09, 0xad0a, 0xad0b, 0xad0e, 0xad10, 0xad12, 0xad13, 0x003f,\n    /* lead byte 82 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xad14, 0xad15, 0xad16, 0xad17, 0xad19, 0xad1a, 0xad1b,\n    0xad1d, 0xad1e, 0xad1f, 0xad21, 0xad22, 0xad23, 0xad24, 0xad25,\n    0xad26, 0xad27, 0xad28, 0xad2a, 0xad2b, 0xad2e, 0xad2f, 0xad30,\n    0xad31, 0xad32, 0xad33, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xad36, 0xad37, 0xad39, 0xad3a, 0xad3b, 0xad3d, 0xad3e,\n    0xad3f, 0xad40, 0xad41, 0xad42, 0xad43, 0xad46, 0xad48, 0xad4a,\n    0xad4b, 0xad4c, 0xad4d, 0xad4e, 0xad4f, 0xad51, 0xad52, 0xad53,\n    0xad55, 0xad56, 0xad57, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xad59, 0xad5a, 0xad5b, 0xad5c, 0xad5d, 0xad5e, 0xad5f,\n    0xad60, 0xad62, 0xad64, 0xad65, 0xad66, 0xad67, 0xad68, 0xad69,\n    0xad6a, 0xad6b, 0xad6e, 0xad6f, 0xad71, 0xad72, 0xad77, 0xad78,\n    0xad79, 0xad7a, 0xad7e, 0xad80, 0xad83, 0xad84, 0xad85, 0xad86,\n    0xad87, 0xad8a, 0xad8b, 0xad8d, 0xad8e, 0xad8f, 0xad91, 0xad92,\n    0xad93, 0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a,\n    0xad9b, 0xad9e, 0xad9f, 0xada0, 0xada1, 0xada2, 0xada3, 0xada5,\n    0xada6, 0xada7, 0xada8, 0xada9, 0xadaa, 0xadab, 0xadac, 0xadad,\n    0xadae, 0xadaf, 0xadb0, 0xadb1, 0xadb2, 0xadb3, 0xadb4, 0xadb5,\n    0xadb6, 0xadb8, 0xadb9, 0xadba, 0xadbb, 0xadbc, 0xadbd, 0xadbe,\n    0xadbf, 0xadc2, 0xadc3, 0xadc5, 0xadc6, 0xadc7, 0xadc9, 0xadca,\n    0xadcb, 0xadcc, 0xadcd, 0xadce, 0xadcf, 0xadd2, 0xadd4, 0xadd5,\n    0xadd6, 0xadd7, 0xadd8, 0xadd9, 0xadda, 0xaddb, 0xaddd, 0xadde,\n    0xaddf, 0xade1, 0xade2, 0xade3, 0xade5, 0xade6, 0xade7, 0xade8,\n    0xade9, 0xadea, 0xadeb, 0xadec, 0xaded, 0xadee, 0xadef, 0xadf0,\n    0xadf1, 0xadf2, 0xadf3, 0xadf4, 0xadf5, 0xadf6, 0xadf7, 0x003f,\n    /* lead byte 83 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xadfa, 0xadfb, 0xadfd, 0xadfe, 0xae02, 0xae03, 0xae04,\n    0xae05, 0xae06, 0xae07, 0xae0a, 0xae0c, 0xae0e, 0xae0f, 0xae10,\n    0xae11, 0xae12, 0xae13, 0xae15, 0xae16, 0xae17, 0xae18, 0xae19,\n    0xae1a, 0xae1b, 0xae1c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xae1d, 0xae1e, 0xae1f, 0xae20, 0xae21, 0xae22, 0xae23,\n    0xae24, 0xae25, 0xae26, 0xae27, 0xae28, 0xae29, 0xae2a, 0xae2b,\n    0xae2c, 0xae2d, 0xae2e, 0xae2f, 0xae32, 0xae33, 0xae35, 0xae36,\n    0xae39, 0xae3b, 0xae3c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xae3d, 0xae3e, 0xae3f, 0xae42, 0xae44, 0xae47, 0xae48,\n    0xae49, 0xae4b, 0xae4f, 0xae51, 0xae52, 0xae53, 0xae55, 0xae57,\n    0xae58, 0xae59, 0xae5a, 0xae5b, 0xae5e, 0xae62, 0xae63, 0xae64,\n    0xae66, 0xae67, 0xae6a, 0xae6b, 0xae6d, 0xae6e, 0xae6f, 0xae71,\n    0xae72, 0xae73, 0xae74, 0xae75, 0xae76, 0xae77, 0xae7a, 0xae7e,\n    0xae7f, 0xae80, 0xae81, 0xae82, 0xae83, 0xae86, 0xae87, 0xae88,\n    0xae89, 0xae8a, 0xae8b, 0xae8d, 0xae8e, 0xae8f, 0xae90, 0xae91,\n    0xae92, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98, 0xae99,\n    0xae9a, 0xae9b, 0xae9c, 0xae9d, 0xae9e, 0xae9f, 0xaea0, 0xaea1,\n    0xaea2, 0xaea3, 0xaea4, 0xaea5, 0xaea6, 0xaea7, 0xaea8, 0xaea9,\n    0xaeaa, 0xaeab, 0xaeac, 0xaead, 0xaeae, 0xaeaf, 0xaeb0, 0xaeb1,\n    0xaeb2, 0xaeb3, 0xaeb4, 0xaeb5, 0xaeb6, 0xaeb7, 0xaeb8, 0xaeb9,\n    0xaeba, 0xaebb, 0xaebf, 0xaec1, 0xaec2, 0xaec3, 0xaec5, 0xaec6,\n    0xaec7, 0xaec8, 0xaec9, 0xaeca, 0xaecb, 0xaece, 0xaed2, 0xaed3,\n    0xaed4, 0xaed5, 0xaed6, 0xaed7, 0xaeda, 0xaedb, 0xaedd, 0xaede,\n    0xaedf, 0xaee0, 0xaee1, 0xaee2, 0xaee3, 0xaee4, 0xaee5, 0x003f,\n    /* lead byte 84 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaee6, 0xaee7, 0xaee9, 0xaeea, 0xaeec, 0xaeee, 0xaeef,\n    0xaef0, 0xaef1, 0xaef2, 0xaef3, 0xaef5, 0xaef6, 0xaef7, 0xaef9,\n    0xaefa, 0xaefb, 0xaefd, 0xaefe, 0xaeff, 0xaf00, 0xaf01, 0xaf02,\n    0xaf03, 0xaf04, 0xaf05, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaf06, 0xaf09, 0xaf0a, 0xaf0b, 0xaf0c, 0xaf0e, 0xaf0f,\n    0xaf11, 0xaf12, 0xaf13, 0xaf14, 0xaf15, 0xaf16, 0xaf17, 0xaf18,\n    0xaf19, 0xaf1a, 0xaf1b, 0xaf1c, 0xaf1d, 0xaf1e, 0xaf1f, 0xaf20,\n    0xaf21, 0xaf22, 0xaf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaf24, 0xaf25, 0xaf26, 0xaf27, 0xaf28, 0xaf29, 0xaf2a,\n    0xaf2b, 0xaf2e, 0xaf2f, 0xaf31, 0xaf33, 0xaf35, 0xaf36, 0xaf37,\n    0xaf38, 0xaf39, 0xaf3a, 0xaf3b, 0xaf3e, 0xaf40, 0xaf44, 0xaf45,\n    0xaf46, 0xaf47, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f,\n    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,\n    0xaf59, 0xaf5a, 0xaf5b, 0xaf5e, 0xaf5f, 0xaf60, 0xaf61, 0xaf62,\n    0xaf63, 0xaf66, 0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c,\n    0xaf6d, 0xaf6e, 0xaf6f, 0xaf70, 0xaf71, 0xaf72, 0xaf73, 0xaf74,\n    0xaf75, 0xaf76, 0xaf77, 0xaf78, 0xaf7a, 0xaf7b, 0xaf7c, 0xaf7d,\n    0xaf7e, 0xaf7f, 0xaf81, 0xaf82, 0xaf83, 0xaf85, 0xaf86, 0xaf87,\n    0xaf89, 0xaf8a, 0xaf8b, 0xaf8c, 0xaf8d, 0xaf8e, 0xaf8f, 0xaf92,\n    0xaf93, 0xaf94, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a, 0xaf9b,\n    0xaf9d, 0xaf9e, 0xaf9f, 0xafa0, 0xafa1, 0xafa2, 0xafa3, 0xafa4,\n    0xafa5, 0xafa6, 0xafa7, 0xafa8, 0xafa9, 0xafaa, 0xafab, 0xafac,\n    0xafad, 0xafae, 0xafaf, 0xafb0, 0xafb1, 0xafb2, 0xafb3, 0xafb4,\n    0xafb5, 0xafb6, 0xafb7, 0xafba, 0xafbb, 0xafbd, 0xafbe, 0x003f,\n    /* lead byte 85 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xafbf, 0xafc1, 0xafc2, 0xafc3, 0xafc4, 0xafc5, 0xafc6,\n    0xafca, 0xafcc, 0xafcf, 0xafd0, 0xafd1, 0xafd2, 0xafd3, 0xafd5,\n    0xafd6, 0xafd7, 0xafd8, 0xafd9, 0xafda, 0xafdb, 0xafdd, 0xafde,\n    0xafdf, 0xafe0, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xafe2, 0xafe3, 0xafe4, 0xafe5, 0xafe6, 0xafe7, 0xafea,\n    0xafeb, 0xafec, 0xafed, 0xafee, 0xafef, 0xaff2, 0xaff3, 0xaff5,\n    0xaff6, 0xaff7, 0xaff9, 0xaffa, 0xaffb, 0xaffc, 0xaffd, 0xaffe,\n    0xafff, 0xb002, 0xb003, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb005, 0xb006, 0xb007, 0xb008, 0xb009, 0xb00a, 0xb00b,\n    0xb00d, 0xb00e, 0xb00f, 0xb011, 0xb012, 0xb013, 0xb015, 0xb016,\n    0xb017, 0xb018, 0xb019, 0xb01a, 0xb01b, 0xb01e, 0xb01f, 0xb020,\n    0xb021, 0xb022, 0xb023, 0xb024, 0xb025, 0xb026, 0xb027, 0xb029,\n    0xb02a, 0xb02b, 0xb02c, 0xb02d, 0xb02e, 0xb02f, 0xb030, 0xb031,\n    0xb032, 0xb033, 0xb034, 0xb035, 0xb036, 0xb037, 0xb038, 0xb039,\n    0xb03a, 0xb03b, 0xb03c, 0xb03d, 0xb03e, 0xb03f, 0xb040, 0xb041,\n    0xb042, 0xb043, 0xb046, 0xb047, 0xb049, 0xb04b, 0xb04d, 0xb04f,\n    0xb050, 0xb051, 0xb052, 0xb056, 0xb058, 0xb05a, 0xb05b, 0xb05c,\n    0xb05e, 0xb05f, 0xb060, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,\n    0xb066, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c, 0xb06d,\n    0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074, 0xb075,\n    0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb07b, 0xb07e, 0xb07f,\n    0xb081, 0xb082, 0xb083, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089,\n    0xb08a, 0xb08b, 0xb08e, 0xb090, 0xb092, 0xb093, 0xb094, 0xb095,\n    0xb096, 0xb097, 0xb09b, 0xb09d, 0xb09e, 0xb0a3, 0xb0a4, 0x003f,\n    /* lead byte 86 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0a5, 0xb0a6, 0xb0a7, 0xb0aa, 0xb0b0, 0xb0b2, 0xb0b6,\n    0xb0b7, 0xb0b9, 0xb0ba, 0xb0bb, 0xb0bd, 0xb0be, 0xb0bf, 0xb0c0,\n    0xb0c1, 0xb0c2, 0xb0c3, 0xb0c6, 0xb0ca, 0xb0cb, 0xb0cc, 0xb0cd,\n    0xb0ce, 0xb0cf, 0xb0d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0d3, 0xb0d5, 0xb0d6, 0xb0d7, 0xb0d9, 0xb0da, 0xb0db,\n    0xb0dc, 0xb0dd, 0xb0de, 0xb0df, 0xb0e1, 0xb0e2, 0xb0e3, 0xb0e4,\n    0xb0e6, 0xb0e7, 0xb0e8, 0xb0e9, 0xb0ea, 0xb0eb, 0xb0ec, 0xb0ed,\n    0xb0ee, 0xb0ef, 0xb0f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb0f1, 0xb0f2, 0xb0f3, 0xb0f4, 0xb0f5, 0xb0f6, 0xb0f7,\n    0xb0f8, 0xb0f9, 0xb0fa, 0xb0fb, 0xb0fc, 0xb0fd, 0xb0fe, 0xb0ff,\n    0xb100, 0xb101, 0xb102, 0xb103, 0xb104, 0xb105, 0xb106, 0xb107,\n    0xb10a, 0xb10d, 0xb10e, 0xb10f, 0xb111, 0xb114, 0xb115, 0xb116,\n    0xb117, 0xb11a, 0xb11e, 0xb11f, 0xb120, 0xb121, 0xb122, 0xb126,\n    0xb127, 0xb129, 0xb12a, 0xb12b, 0xb12d, 0xb12e, 0xb12f, 0xb130,\n    0xb131, 0xb132, 0xb133, 0xb136, 0xb13a, 0xb13b, 0xb13c, 0xb13d,\n    0xb13e, 0xb13f, 0xb142, 0xb143, 0xb145, 0xb146, 0xb147, 0xb149,\n    0xb14a, 0xb14b, 0xb14c, 0xb14d, 0xb14e, 0xb14f, 0xb152, 0xb153,\n    0xb156, 0xb157, 0xb159, 0xb15a, 0xb15b, 0xb15d, 0xb15e, 0xb15f,\n    0xb161, 0xb162, 0xb163, 0xb164, 0xb165, 0xb166, 0xb167, 0xb168,\n    0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e, 0xb16f, 0xb170,\n    0xb171, 0xb172, 0xb173, 0xb174, 0xb175, 0xb176, 0xb177, 0xb17a,\n    0xb17b, 0xb17d, 0xb17e, 0xb17f, 0xb181, 0xb183, 0xb184, 0xb185,\n    0xb186, 0xb187, 0xb18a, 0xb18c, 0xb18e, 0xb18f, 0xb190, 0xb191,\n    0xb195, 0xb196, 0xb197, 0xb199, 0xb19a, 0xb19b, 0xb19d, 0x003f,\n    /* lead byte 87 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb19e, 0xb19f, 0xb1a0, 0xb1a1, 0xb1a2, 0xb1a3, 0xb1a4,\n    0xb1a5, 0xb1a6, 0xb1a7, 0xb1a9, 0xb1aa, 0xb1ab, 0xb1ac, 0xb1ad,\n    0xb1ae, 0xb1af, 0xb1b0, 0xb1b1, 0xb1b2, 0xb1b3, 0xb1b4, 0xb1b5,\n    0xb1b6, 0xb1b7, 0xb1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb1b9, 0xb1ba, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0xb1bf,\n    0xb1c0, 0xb1c1, 0xb1c2, 0xb1c3, 0xb1c4, 0xb1c5, 0xb1c6, 0xb1c7,\n    0xb1c8, 0xb1c9, 0xb1ca, 0xb1cb, 0xb1cd, 0xb1ce, 0xb1cf, 0xb1d1,\n    0xb1d2, 0xb1d3, 0xb1d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb1d6, 0xb1d7, 0xb1d8, 0xb1d9, 0xb1da, 0xb1db, 0xb1de,\n    0xb1e0, 0xb1e1, 0xb1e2, 0xb1e3, 0xb1e4, 0xb1e5, 0xb1e6, 0xb1e7,\n    0xb1ea, 0xb1eb, 0xb1ed, 0xb1ee, 0xb1ef, 0xb1f1, 0xb1f2, 0xb1f3,\n    0xb1f4, 0xb1f5, 0xb1f6, 0xb1f7, 0xb1f8, 0xb1fa, 0xb1fc, 0xb1fe,\n    0xb1ff, 0xb200, 0xb201, 0xb202, 0xb203, 0xb206, 0xb207, 0xb209,\n    0xb20a, 0xb20d, 0xb20e, 0xb20f, 0xb210, 0xb211, 0xb212, 0xb213,\n    0xb216, 0xb218, 0xb21a, 0xb21b, 0xb21c, 0xb21d, 0xb21e, 0xb21f,\n    0xb221, 0xb222, 0xb223, 0xb224, 0xb225, 0xb226, 0xb227, 0xb228,\n    0xb229, 0xb22a, 0xb22b, 0xb22c, 0xb22d, 0xb22e, 0xb22f, 0xb230,\n    0xb231, 0xb232, 0xb233, 0xb235, 0xb236, 0xb237, 0xb238, 0xb239,\n    0xb23a, 0xb23b, 0xb23d, 0xb23e, 0xb23f, 0xb240, 0xb241, 0xb242,\n    0xb243, 0xb244, 0xb245, 0xb246, 0xb247, 0xb248, 0xb249, 0xb24a,\n    0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f, 0xb250, 0xb251, 0xb252,\n    0xb253, 0xb254, 0xb255, 0xb256, 0xb257, 0xb259, 0xb25a, 0xb25b,\n    0xb25d, 0xb25e, 0xb25f, 0xb261, 0xb262, 0xb263, 0xb264, 0xb265,\n    0xb266, 0xb267, 0xb26a, 0xb26b, 0xb26c, 0xb26d, 0xb26e, 0x003f,\n    /* lead byte 88 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb26f, 0xb270, 0xb271, 0xb272, 0xb273, 0xb276, 0xb277,\n    0xb278, 0xb279, 0xb27a, 0xb27b, 0xb27d, 0xb27e, 0xb27f, 0xb280,\n    0xb281, 0xb282, 0xb283, 0xb286, 0xb287, 0xb288, 0xb28a, 0xb28b,\n    0xb28c, 0xb28d, 0xb28e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb28f, 0xb292, 0xb293, 0xb295, 0xb296, 0xb297, 0xb29b,\n    0xb29c, 0xb29d, 0xb29e, 0xb29f, 0xb2a2, 0xb2a4, 0xb2a7, 0xb2a8,\n    0xb2a9, 0xb2ab, 0xb2ad, 0xb2ae, 0xb2af, 0xb2b1, 0xb2b2, 0xb2b3,\n    0xb2b5, 0xb2b6, 0xb2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb2b8, 0xb2b9, 0xb2ba, 0xb2bb, 0xb2bc, 0xb2bd, 0xb2be,\n    0xb2bf, 0xb2c0, 0xb2c1, 0xb2c2, 0xb2c3, 0xb2c4, 0xb2c5, 0xb2c6,\n    0xb2c7, 0xb2ca, 0xb2cb, 0xb2cd, 0xb2ce, 0xb2cf, 0xb2d1, 0xb2d3,\n    0xb2d4, 0xb2d5, 0xb2d6, 0xb2d7, 0xb2da, 0xb2dc, 0xb2de, 0xb2df,\n    0xb2e0, 0xb2e1, 0xb2e3, 0xb2e7, 0xb2e9, 0xb2ea, 0xb2f0, 0xb2f1,\n    0xb2f2, 0xb2f6, 0xb2fc, 0xb2fd, 0xb2fe, 0xb302, 0xb303, 0xb305,\n    0xb306, 0xb307, 0xb309, 0xb30a, 0xb30b, 0xb30c, 0xb30d, 0xb30e,\n    0xb30f, 0xb312, 0xb316, 0xb317, 0xb318, 0xb319, 0xb31a, 0xb31b,\n    0xb31d, 0xb31e, 0xb31f, 0xb320, 0xb321, 0xb322, 0xb323, 0xb324,\n    0xb325, 0xb326, 0xb327, 0xb328, 0xb329, 0xb32a, 0xb32b, 0xb32c,\n    0xb32d, 0xb32e, 0xb32f, 0xb330, 0xb331, 0xb332, 0xb333, 0xb334,\n    0xb335, 0xb336, 0xb337, 0xb338, 0xb339, 0xb33a, 0xb33b, 0xb33c,\n    0xb33d, 0xb33e, 0xb33f, 0xb340, 0xb341, 0xb342, 0xb343, 0xb344,\n    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,\n    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb357,\n    0xb359, 0xb35a, 0xb35d, 0xb360, 0xb361, 0xb362, 0xb363, 0x003f,\n    /* lead byte 89 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb366, 0xb368, 0xb36a, 0xb36c, 0xb36d, 0xb36f, 0xb372,\n    0xb373, 0xb375, 0xb376, 0xb377, 0xb379, 0xb37a, 0xb37b, 0xb37c,\n    0xb37d, 0xb37e, 0xb37f, 0xb382, 0xb386, 0xb387, 0xb388, 0xb389,\n    0xb38a, 0xb38b, 0xb38d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb38e, 0xb38f, 0xb391, 0xb392, 0xb393, 0xb395, 0xb396,\n    0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b, 0xb39c, 0xb39d, 0xb39e,\n    0xb39f, 0xb3a2, 0xb3a3, 0xb3a4, 0xb3a5, 0xb3a6, 0xb3a7, 0xb3a9,\n    0xb3aa, 0xb3ab, 0xb3ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3ae, 0xb3af, 0xb3b0, 0xb3b1, 0xb3b2, 0xb3b3, 0xb3b4,\n    0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8, 0xb3b9, 0xb3ba, 0xb3bb, 0xb3bc,\n    0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2, 0xb3c3, 0xb3c6,\n    0xb3c7, 0xb3c9, 0xb3ca, 0xb3cd, 0xb3cf, 0xb3d1, 0xb3d2, 0xb3d3,\n    0xb3d6, 0xb3d8, 0xb3da, 0xb3dc, 0xb3de, 0xb3df, 0xb3e1, 0xb3e2,\n    0xb3e3, 0xb3e5, 0xb3e6, 0xb3e7, 0xb3e9, 0xb3ea, 0xb3eb, 0xb3ec,\n    0xb3ed, 0xb3ee, 0xb3ef, 0xb3f0, 0xb3f1, 0xb3f2, 0xb3f3, 0xb3f4,\n    0xb3f5, 0xb3f6, 0xb3f7, 0xb3f8, 0xb3f9, 0xb3fa, 0xb3fb, 0xb3fd,\n    0xb3fe, 0xb3ff, 0xb400, 0xb401, 0xb402, 0xb403, 0xb404, 0xb405,\n    0xb406, 0xb407, 0xb408, 0xb409, 0xb40a, 0xb40b, 0xb40c, 0xb40d,\n    0xb40e, 0xb40f, 0xb411, 0xb412, 0xb413, 0xb414, 0xb415, 0xb416,\n    0xb417, 0xb419, 0xb41a, 0xb41b, 0xb41d, 0xb41e, 0xb41f, 0xb421,\n    0xb422, 0xb423, 0xb424, 0xb425, 0xb426, 0xb427, 0xb42a, 0xb42c,\n    0xb42d, 0xb42e, 0xb42f, 0xb430, 0xb431, 0xb432, 0xb433, 0xb435,\n    0xb436, 0xb437, 0xb438, 0xb439, 0xb43a, 0xb43b, 0xb43c, 0xb43d,\n    0xb43e, 0xb43f, 0xb440, 0xb441, 0xb442, 0xb443, 0xb444, 0x003f,\n    /* lead byte 8a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb445, 0xb446, 0xb447, 0xb448, 0xb449, 0xb44a, 0xb44b,\n    0xb44c, 0xb44d, 0xb44e, 0xb44f, 0xb452, 0xb453, 0xb455, 0xb456,\n    0xb457, 0xb459, 0xb45a, 0xb45b, 0xb45c, 0xb45d, 0xb45e, 0xb45f,\n    0xb462, 0xb464, 0xb466, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46d, 0xb46e,\n    0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474, 0xb475, 0xb476,\n    0xb477, 0xb478, 0xb479, 0xb47a, 0xb47b, 0xb47c, 0xb47d, 0xb47e,\n    0xb47f, 0xb481, 0xb482, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb483, 0xb484, 0xb485, 0xb486, 0xb487, 0xb489, 0xb48a,\n    0xb48b, 0xb48c, 0xb48d, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492,\n    0xb493, 0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a,\n    0xb49b, 0xb49c, 0xb49e, 0xb49f, 0xb4a0, 0xb4a1, 0xb4a2, 0xb4a3,\n    0xb4a5, 0xb4a6, 0xb4a7, 0xb4a9, 0xb4aa, 0xb4ab, 0xb4ad, 0xb4ae,\n    0xb4af, 0xb4b0, 0xb4b1, 0xb4b2, 0xb4b3, 0xb4b4, 0xb4b6, 0xb4b8,\n    0xb4ba, 0xb4bb, 0xb4bc, 0xb4bd, 0xb4be, 0xb4bf, 0xb4c1, 0xb4c2,\n    0xb4c3, 0xb4c5, 0xb4c6, 0xb4c7, 0xb4c9, 0xb4ca, 0xb4cb, 0xb4cc,\n    0xb4cd, 0xb4ce, 0xb4cf, 0xb4d1, 0xb4d2, 0xb4d3, 0xb4d4, 0xb4d6,\n    0xb4d7, 0xb4d8, 0xb4d9, 0xb4da, 0xb4db, 0xb4de, 0xb4df, 0xb4e1,\n    0xb4e2, 0xb4e5, 0xb4e7, 0xb4e8, 0xb4e9, 0xb4ea, 0xb4eb, 0xb4ee,\n    0xb4f0, 0xb4f2, 0xb4f3, 0xb4f4, 0xb4f5, 0xb4f6, 0xb4f7, 0xb4f9,\n    0xb4fa, 0xb4fb, 0xb4fc, 0xb4fd, 0xb4fe, 0xb4ff, 0xb500, 0xb501,\n    0xb502, 0xb503, 0xb504, 0xb505, 0xb506, 0xb507, 0xb508, 0xb509,\n    0xb50a, 0xb50b, 0xb50c, 0xb50d, 0xb50e, 0xb50f, 0xb510, 0xb511,\n    0xb512, 0xb513, 0xb516, 0xb517, 0xb519, 0xb51a, 0xb51d, 0x003f,\n    /* lead byte 8b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb51e, 0xb51f, 0xb520, 0xb521, 0xb522, 0xb523, 0xb526,\n    0xb52b, 0xb52c, 0xb52d, 0xb52e, 0xb52f, 0xb532, 0xb533, 0xb535,\n    0xb536, 0xb537, 0xb539, 0xb53a, 0xb53b, 0xb53c, 0xb53d, 0xb53e,\n    0xb53f, 0xb542, 0xb546, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54e, 0xb54f, 0xb551,\n    0xb552, 0xb553, 0xb555, 0xb556, 0xb557, 0xb558, 0xb559, 0xb55a,\n    0xb55b, 0xb55e, 0xb562, 0xb563, 0xb564, 0xb565, 0xb566, 0xb567,\n    0xb568, 0xb569, 0xb56a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb56b, 0xb56c, 0xb56d, 0xb56e, 0xb56f, 0xb570, 0xb571,\n    0xb572, 0xb573, 0xb574, 0xb575, 0xb576, 0xb577, 0xb578, 0xb579,\n    0xb57a, 0xb57b, 0xb57c, 0xb57d, 0xb57e, 0xb57f, 0xb580, 0xb581,\n    0xb582, 0xb583, 0xb584, 0xb585, 0xb586, 0xb587, 0xb588, 0xb589,\n    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xb58e, 0xb58f, 0xb590, 0xb591,\n    0xb592, 0xb593, 0xb594, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599,\n    0xb59a, 0xb59b, 0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a2, 0xb5a3,\n    0xb5a5, 0xb5a6, 0xb5a7, 0xb5a9, 0xb5ac, 0xb5ad, 0xb5ae, 0xb5af,\n    0xb5b2, 0xb5b6, 0xb5b7, 0xb5b8, 0xb5b9, 0xb5ba, 0xb5be, 0xb5bf,\n    0xb5c1, 0xb5c2, 0xb5c3, 0xb5c5, 0xb5c6, 0xb5c7, 0xb5c8, 0xb5c9,\n    0xb5ca, 0xb5cb, 0xb5ce, 0xb5d2, 0xb5d3, 0xb5d4, 0xb5d5, 0xb5d6,\n    0xb5d7, 0xb5d9, 0xb5da, 0xb5db, 0xb5dc, 0xb5dd, 0xb5de, 0xb5df,\n    0xb5e0, 0xb5e1, 0xb5e2, 0xb5e3, 0xb5e4, 0xb5e5, 0xb5e6, 0xb5e7,\n    0xb5e8, 0xb5e9, 0xb5ea, 0xb5eb, 0xb5ed, 0xb5ee, 0xb5ef, 0xb5f0,\n    0xb5f1, 0xb5f2, 0xb5f3, 0xb5f4, 0xb5f5, 0xb5f6, 0xb5f7, 0xb5f8,\n    0xb5f9, 0xb5fa, 0xb5fb, 0xb5fc, 0xb5fd, 0xb5fe, 0xb5ff, 0x003f,\n    /* lead byte 8c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb600, 0xb601, 0xb602, 0xb603, 0xb604, 0xb605, 0xb606,\n    0xb607, 0xb608, 0xb609, 0xb60a, 0xb60b, 0xb60c, 0xb60d, 0xb60e,\n    0xb60f, 0xb612, 0xb613, 0xb615, 0xb616, 0xb617, 0xb619, 0xb61a,\n    0xb61b, 0xb61c, 0xb61d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb61e, 0xb61f, 0xb620, 0xb621, 0xb622, 0xb623, 0xb624,\n    0xb626, 0xb627, 0xb628, 0xb629, 0xb62a, 0xb62b, 0xb62d, 0xb62e,\n    0xb62f, 0xb630, 0xb631, 0xb632, 0xb633, 0xb635, 0xb636, 0xb637,\n    0xb638, 0xb639, 0xb63a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb63b, 0xb63c, 0xb63d, 0xb63e, 0xb63f, 0xb640, 0xb641,\n    0xb642, 0xb643, 0xb644, 0xb645, 0xb646, 0xb647, 0xb649, 0xb64a,\n    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,\n    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,\n    0xb65b, 0xb65c, 0xb65d, 0xb65e, 0xb65f, 0xb660, 0xb661, 0xb662,\n    0xb663, 0xb665, 0xb666, 0xb667, 0xb669, 0xb66a, 0xb66b, 0xb66c,\n    0xb66d, 0xb66e, 0xb66f, 0xb670, 0xb671, 0xb672, 0xb673, 0xb674,\n    0xb675, 0xb676, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb67b, 0xb67c,\n    0xb67d, 0xb67e, 0xb67f, 0xb680, 0xb681, 0xb682, 0xb683, 0xb684,\n    0xb685, 0xb686, 0xb687, 0xb688, 0xb689, 0xb68a, 0xb68b, 0xb68c,\n    0xb68d, 0xb68e, 0xb68f, 0xb690, 0xb691, 0xb692, 0xb693, 0xb694,\n    0xb695, 0xb696, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69e,\n    0xb69f, 0xb6a1, 0xb6a2, 0xb6a3, 0xb6a5, 0xb6a6, 0xb6a7, 0xb6a8,\n    0xb6a9, 0xb6aa, 0xb6ad, 0xb6ae, 0xb6af, 0xb6b0, 0xb6b2, 0xb6b3,\n    0xb6b4, 0xb6b5, 0xb6b6, 0xb6b7, 0xb6b8, 0xb6b9, 0xb6ba, 0xb6bb,\n    0xb6bc, 0xb6bd, 0xb6be, 0xb6bf, 0xb6c0, 0xb6c1, 0xb6c2, 0x003f,\n    /* lead byte 8d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb6c3, 0xb6c4, 0xb6c5, 0xb6c6, 0xb6c7, 0xb6c8, 0xb6c9,\n    0xb6ca, 0xb6cb, 0xb6cc, 0xb6cd, 0xb6ce, 0xb6cf, 0xb6d0, 0xb6d1,\n    0xb6d2, 0xb6d3, 0xb6d5, 0xb6d6, 0xb6d7, 0xb6d8, 0xb6d9, 0xb6da,\n    0xb6db, 0xb6dc, 0xb6dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb6de, 0xb6df, 0xb6e0, 0xb6e1, 0xb6e2, 0xb6e3, 0xb6e4,\n    0xb6e5, 0xb6e6, 0xb6e7, 0xb6e8, 0xb6e9, 0xb6ea, 0xb6eb, 0xb6ec,\n    0xb6ed, 0xb6ee, 0xb6ef, 0xb6f1, 0xb6f2, 0xb6f3, 0xb6f5, 0xb6f6,\n    0xb6f7, 0xb6f9, 0xb6fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb6fb, 0xb6fc, 0xb6fd, 0xb6fe, 0xb6ff, 0xb702, 0xb703,\n    0xb704, 0xb706, 0xb707, 0xb708, 0xb709, 0xb70a, 0xb70b, 0xb70c,\n    0xb70d, 0xb70e, 0xb70f, 0xb710, 0xb711, 0xb712, 0xb713, 0xb714,\n    0xb715, 0xb716, 0xb717, 0xb718, 0xb719, 0xb71a, 0xb71b, 0xb71c,\n    0xb71d, 0xb71e, 0xb71f, 0xb720, 0xb721, 0xb722, 0xb723, 0xb724,\n    0xb725, 0xb726, 0xb727, 0xb72a, 0xb72b, 0xb72d, 0xb72e, 0xb731,\n    0xb732, 0xb733, 0xb734, 0xb735, 0xb736, 0xb737, 0xb73a, 0xb73c,\n    0xb73d, 0xb73e, 0xb73f, 0xb740, 0xb741, 0xb742, 0xb743, 0xb745,\n    0xb746, 0xb747, 0xb749, 0xb74a, 0xb74b, 0xb74d, 0xb74e, 0xb74f,\n    0xb750, 0xb751, 0xb752, 0xb753, 0xb756, 0xb757, 0xb758, 0xb759,\n    0xb75a, 0xb75b, 0xb75c, 0xb75d, 0xb75e, 0xb75f, 0xb761, 0xb762,\n    0xb763, 0xb765, 0xb766, 0xb767, 0xb769, 0xb76a, 0xb76b, 0xb76c,\n    0xb76d, 0xb76e, 0xb76f, 0xb772, 0xb774, 0xb776, 0xb777, 0xb778,\n    0xb779, 0xb77a, 0xb77b, 0xb77e, 0xb77f, 0xb781, 0xb782, 0xb783,\n    0xb785, 0xb786, 0xb787, 0xb788, 0xb789, 0xb78a, 0xb78b, 0xb78e,\n    0xb793, 0xb794, 0xb795, 0xb79a, 0xb79b, 0xb79d, 0xb79e, 0x003f,\n    /* lead byte 8e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb79f, 0xb7a1, 0xb7a2, 0xb7a3, 0xb7a4, 0xb7a5, 0xb7a6,\n    0xb7a7, 0xb7aa, 0xb7ae, 0xb7af, 0xb7b0, 0xb7b1, 0xb7b2, 0xb7b3,\n    0xb7b6, 0xb7b7, 0xb7b9, 0xb7ba, 0xb7bb, 0xb7bc, 0xb7bd, 0xb7be,\n    0xb7bf, 0xb7c0, 0xb7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb7c2, 0xb7c3, 0xb7c4, 0xb7c5, 0xb7c6, 0xb7c8, 0xb7ca,\n    0xb7cb, 0xb7cc, 0xb7cd, 0xb7ce, 0xb7cf, 0xb7d0, 0xb7d1, 0xb7d2,\n    0xb7d3, 0xb7d4, 0xb7d5, 0xb7d6, 0xb7d7, 0xb7d8, 0xb7d9, 0xb7da,\n    0xb7db, 0xb7dc, 0xb7dd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb7de, 0xb7df, 0xb7e0, 0xb7e1, 0xb7e2, 0xb7e3, 0xb7e4,\n    0xb7e5, 0xb7e6, 0xb7e7, 0xb7e8, 0xb7e9, 0xb7ea, 0xb7eb, 0xb7ee,\n    0xb7ef, 0xb7f1, 0xb7f2, 0xb7f3, 0xb7f5, 0xb7f6, 0xb7f7, 0xb7f8,\n    0xb7f9, 0xb7fa, 0xb7fb, 0xb7fe, 0xb802, 0xb803, 0xb804, 0xb805,\n    0xb806, 0xb80a, 0xb80b, 0xb80d, 0xb80e, 0xb80f, 0xb811, 0xb812,\n    0xb813, 0xb814, 0xb815, 0xb816, 0xb817, 0xb81a, 0xb81c, 0xb81e,\n    0xb81f, 0xb820, 0xb821, 0xb822, 0xb823, 0xb826, 0xb827, 0xb829,\n    0xb82a, 0xb82b, 0xb82d, 0xb82e, 0xb82f, 0xb830, 0xb831, 0xb832,\n    0xb833, 0xb836, 0xb83a, 0xb83b, 0xb83c, 0xb83d, 0xb83e, 0xb83f,\n    0xb841, 0xb842, 0xb843, 0xb845, 0xb846, 0xb847, 0xb848, 0xb849,\n    0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f, 0xb850, 0xb852,\n    0xb854, 0xb855, 0xb856, 0xb857, 0xb858, 0xb859, 0xb85a, 0xb85b,\n    0xb85e, 0xb85f, 0xb861, 0xb862, 0xb863, 0xb865, 0xb866, 0xb867,\n    0xb868, 0xb869, 0xb86a, 0xb86b, 0xb86e, 0xb870, 0xb872, 0xb873,\n    0xb874, 0xb875, 0xb876, 0xb877, 0xb879, 0xb87a, 0xb87b, 0xb87d,\n    0xb87e, 0xb87f, 0xb880, 0xb881, 0xb882, 0xb883, 0xb884, 0x003f,\n    /* lead byte 8f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb885, 0xb886, 0xb887, 0xb888, 0xb889, 0xb88a, 0xb88b,\n    0xb88c, 0xb88e, 0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894,\n    0xb895, 0xb896, 0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c,\n    0xb89d, 0xb89e, 0xb89f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb8a0, 0xb8a1, 0xb8a2, 0xb8a3, 0xb8a4, 0xb8a5, 0xb8a6,\n    0xb8a7, 0xb8a9, 0xb8aa, 0xb8ab, 0xb8ac, 0xb8ad, 0xb8ae, 0xb8af,\n    0xb8b1, 0xb8b2, 0xb8b3, 0xb8b5, 0xb8b6, 0xb8b7, 0xb8b9, 0xb8ba,\n    0xb8bb, 0xb8bc, 0xb8bd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb8be, 0xb8bf, 0xb8c2, 0xb8c4, 0xb8c6, 0xb8c7, 0xb8c8,\n    0xb8c9, 0xb8ca, 0xb8cb, 0xb8cd, 0xb8ce, 0xb8cf, 0xb8d1, 0xb8d2,\n    0xb8d3, 0xb8d5, 0xb8d6, 0xb8d7, 0xb8d8, 0xb8d9, 0xb8da, 0xb8db,\n    0xb8dc, 0xb8de, 0xb8e0, 0xb8e2, 0xb8e3, 0xb8e4, 0xb8e5, 0xb8e6,\n    0xb8e7, 0xb8ea, 0xb8eb, 0xb8ed, 0xb8ee, 0xb8ef, 0xb8f1, 0xb8f2,\n    0xb8f3, 0xb8f4, 0xb8f5, 0xb8f6, 0xb8f7, 0xb8fa, 0xb8fc, 0xb8fe,\n    0xb8ff, 0xb900, 0xb901, 0xb902, 0xb903, 0xb905, 0xb906, 0xb907,\n    0xb908, 0xb909, 0xb90a, 0xb90b, 0xb90c, 0xb90d, 0xb90e, 0xb90f,\n    0xb910, 0xb911, 0xb912, 0xb913, 0xb914, 0xb915, 0xb916, 0xb917,\n    0xb919, 0xb91a, 0xb91b, 0xb91c, 0xb91d, 0xb91e, 0xb91f, 0xb921,\n    0xb922, 0xb923, 0xb924, 0xb925, 0xb926, 0xb927, 0xb928, 0xb929,\n    0xb92a, 0xb92b, 0xb92c, 0xb92d, 0xb92e, 0xb92f, 0xb930, 0xb931,\n    0xb932, 0xb933, 0xb934, 0xb935, 0xb936, 0xb937, 0xb938, 0xb939,\n    0xb93a, 0xb93b, 0xb93e, 0xb93f, 0xb941, 0xb942, 0xb943, 0xb945,\n    0xb946, 0xb947, 0xb948, 0xb949, 0xb94a, 0xb94b, 0xb94d, 0xb94e,\n    0xb950, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956, 0xb957, 0x003f,\n    /* lead byte 90 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb95a, 0xb95b, 0xb95d, 0xb95e, 0xb95f, 0xb961, 0xb962,\n    0xb963, 0xb964, 0xb965, 0xb966, 0xb967, 0xb96a, 0xb96c, 0xb96e,\n    0xb96f, 0xb970, 0xb971, 0xb972, 0xb973, 0xb976, 0xb977, 0xb979,\n    0xb97a, 0xb97b, 0xb97d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb97e, 0xb97f, 0xb980, 0xb981, 0xb982, 0xb983, 0xb986,\n    0xb988, 0xb98b, 0xb98c, 0xb98f, 0xb990, 0xb991, 0xb992, 0xb993,\n    0xb994, 0xb995, 0xb996, 0xb997, 0xb998, 0xb999, 0xb99a, 0xb99b,\n    0xb99c, 0xb99d, 0xb99e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb99f, 0xb9a0, 0xb9a1, 0xb9a2, 0xb9a3, 0xb9a4, 0xb9a5,\n    0xb9a6, 0xb9a7, 0xb9a8, 0xb9a9, 0xb9aa, 0xb9ab, 0xb9ae, 0xb9af,\n    0xb9b1, 0xb9b2, 0xb9b3, 0xb9b5, 0xb9b6, 0xb9b7, 0xb9b8, 0xb9b9,\n    0xb9ba, 0xb9bb, 0xb9be, 0xb9c0, 0xb9c2, 0xb9c3, 0xb9c4, 0xb9c5,\n    0xb9c6, 0xb9c7, 0xb9ca, 0xb9cb, 0xb9cd, 0xb9d3, 0xb9d4, 0xb9d5,\n    0xb9d6, 0xb9d7, 0xb9da, 0xb9dc, 0xb9df, 0xb9e0, 0xb9e2, 0xb9e6,\n    0xb9e7, 0xb9e9, 0xb9ea, 0xb9eb, 0xb9ed, 0xb9ee, 0xb9ef, 0xb9f0,\n    0xb9f1, 0xb9f2, 0xb9f3, 0xb9f6, 0xb9fb, 0xb9fc, 0xb9fd, 0xb9fe,\n    0xb9ff, 0xba02, 0xba03, 0xba04, 0xba05, 0xba06, 0xba07, 0xba09,\n    0xba0a, 0xba0b, 0xba0c, 0xba0d, 0xba0e, 0xba0f, 0xba10, 0xba11,\n    0xba12, 0xba13, 0xba14, 0xba16, 0xba17, 0xba18, 0xba19, 0xba1a,\n    0xba1b, 0xba1c, 0xba1d, 0xba1e, 0xba1f, 0xba20, 0xba21, 0xba22,\n    0xba23, 0xba24, 0xba25, 0xba26, 0xba27, 0xba28, 0xba29, 0xba2a,\n    0xba2b, 0xba2c, 0xba2d, 0xba2e, 0xba2f, 0xba30, 0xba31, 0xba32,\n    0xba33, 0xba34, 0xba35, 0xba36, 0xba37, 0xba3a, 0xba3b, 0xba3d,\n    0xba3e, 0xba3f, 0xba41, 0xba43, 0xba44, 0xba45, 0xba46, 0x003f,\n    /* lead byte 91 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xba47, 0xba4a, 0xba4c, 0xba4f, 0xba50, 0xba51, 0xba52,\n    0xba56, 0xba57, 0xba59, 0xba5a, 0xba5b, 0xba5d, 0xba5e, 0xba5f,\n    0xba60, 0xba61, 0xba62, 0xba63, 0xba66, 0xba6a, 0xba6b, 0xba6c,\n    0xba6d, 0xba6e, 0xba6f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xba72, 0xba73, 0xba75, 0xba76, 0xba77, 0xba79, 0xba7a,\n    0xba7b, 0xba7c, 0xba7d, 0xba7e, 0xba7f, 0xba80, 0xba81, 0xba82,\n    0xba86, 0xba88, 0xba89, 0xba8a, 0xba8b, 0xba8d, 0xba8e, 0xba8f,\n    0xba90, 0xba91, 0xba92, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,\n    0xba9a, 0xba9b, 0xba9c, 0xba9d, 0xba9e, 0xba9f, 0xbaa0, 0xbaa1,\n    0xbaa2, 0xbaa3, 0xbaa4, 0xbaa5, 0xbaa6, 0xbaa7, 0xbaaa, 0xbaad,\n    0xbaae, 0xbaaf, 0xbab1, 0xbab3, 0xbab4, 0xbab5, 0xbab6, 0xbab7,\n    0xbaba, 0xbabc, 0xbabe, 0xbabf, 0xbac0, 0xbac1, 0xbac2, 0xbac3,\n    0xbac5, 0xbac6, 0xbac7, 0xbac9, 0xbaca, 0xbacb, 0xbacc, 0xbacd,\n    0xbace, 0xbacf, 0xbad0, 0xbad1, 0xbad2, 0xbad3, 0xbad4, 0xbad5,\n    0xbad6, 0xbad7, 0xbada, 0xbadb, 0xbadc, 0xbadd, 0xbade, 0xbadf,\n    0xbae0, 0xbae1, 0xbae2, 0xbae3, 0xbae4, 0xbae5, 0xbae6, 0xbae7,\n    0xbae8, 0xbae9, 0xbaea, 0xbaeb, 0xbaec, 0xbaed, 0xbaee, 0xbaef,\n    0xbaf0, 0xbaf1, 0xbaf2, 0xbaf3, 0xbaf4, 0xbaf5, 0xbaf6, 0xbaf7,\n    0xbaf8, 0xbaf9, 0xbafa, 0xbafb, 0xbafd, 0xbafe, 0xbaff, 0xbb01,\n    0xbb02, 0xbb03, 0xbb05, 0xbb06, 0xbb07, 0xbb08, 0xbb09, 0xbb0a,\n    0xbb0b, 0xbb0c, 0xbb0e, 0xbb10, 0xbb12, 0xbb13, 0xbb14, 0xbb15,\n    0xbb16, 0xbb17, 0xbb19, 0xbb1a, 0xbb1b, 0xbb1d, 0xbb1e, 0xbb1f,\n    0xbb21, 0xbb22, 0xbb23, 0xbb24, 0xbb25, 0xbb26, 0xbb27, 0x003f,\n    /* lead byte 92 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbb28, 0xbb2a, 0xbb2c, 0xbb2d, 0xbb2e, 0xbb2f, 0xbb30,\n    0xbb31, 0xbb32, 0xbb33, 0xbb37, 0xbb39, 0xbb3a, 0xbb3f, 0xbb40,\n    0xbb41, 0xbb42, 0xbb43, 0xbb46, 0xbb48, 0xbb4a, 0xbb4b, 0xbb4c,\n    0xbb4e, 0xbb51, 0xbb52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbb53, 0xbb55, 0xbb56, 0xbb57, 0xbb59, 0xbb5a, 0xbb5b,\n    0xbb5c, 0xbb5d, 0xbb5e, 0xbb5f, 0xbb60, 0xbb62, 0xbb64, 0xbb65,\n    0xbb66, 0xbb67, 0xbb68, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6d, 0xbb6e,\n    0xbb6f, 0xbb70, 0xbb71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbb72, 0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xbb77, 0xbb78,\n    0xbb79, 0xbb7a, 0xbb7b, 0xbb7c, 0xbb7d, 0xbb7e, 0xbb7f, 0xbb80,\n    0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86, 0xbb87, 0xbb89,\n    0xbb8a, 0xbb8b, 0xbb8d, 0xbb8e, 0xbb8f, 0xbb91, 0xbb92, 0xbb93,\n    0xbb94, 0xbb95, 0xbb96, 0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b,\n    0xbb9c, 0xbb9d, 0xbb9e, 0xbb9f, 0xbba0, 0xbba1, 0xbba2, 0xbba3,\n    0xbba5, 0xbba6, 0xbba7, 0xbba9, 0xbbaa, 0xbbab, 0xbbad, 0xbbae,\n    0xbbaf, 0xbbb0, 0xbbb1, 0xbbb2, 0xbbb3, 0xbbb5, 0xbbb6, 0xbbb8,\n    0xbbb9, 0xbbba, 0xbbbb, 0xbbbc, 0xbbbd, 0xbbbe, 0xbbbf, 0xbbc1,\n    0xbbc2, 0xbbc3, 0xbbc5, 0xbbc6, 0xbbc7, 0xbbc9, 0xbbca, 0xbbcb,\n    0xbbcc, 0xbbcd, 0xbbce, 0xbbcf, 0xbbd1, 0xbbd2, 0xbbd4, 0xbbd5,\n    0xbbd6, 0xbbd7, 0xbbd8, 0xbbd9, 0xbbda, 0xbbdb, 0xbbdc, 0xbbdd,\n    0xbbde, 0xbbdf, 0xbbe0, 0xbbe1, 0xbbe2, 0xbbe3, 0xbbe4, 0xbbe5,\n    0xbbe6, 0xbbe7, 0xbbe8, 0xbbe9, 0xbbea, 0xbbeb, 0xbbec, 0xbbed,\n    0xbbee, 0xbbef, 0xbbf0, 0xbbf1, 0xbbf2, 0xbbf3, 0xbbf4, 0xbbf5,\n    0xbbf6, 0xbbf7, 0xbbfa, 0xbbfb, 0xbbfd, 0xbbfe, 0xbc01, 0x003f,\n    /* lead byte 93 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbc03, 0xbc04, 0xbc05, 0xbc06, 0xbc07, 0xbc0a, 0xbc0e,\n    0xbc10, 0xbc12, 0xbc13, 0xbc19, 0xbc1a, 0xbc20, 0xbc21, 0xbc22,\n    0xbc23, 0xbc26, 0xbc28, 0xbc2a, 0xbc2b, 0xbc2c, 0xbc2e, 0xbc2f,\n    0xbc32, 0xbc33, 0xbc35, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbc36, 0xbc37, 0xbc39, 0xbc3a, 0xbc3b, 0xbc3c, 0xbc3d,\n    0xbc3e, 0xbc3f, 0xbc42, 0xbc46, 0xbc47, 0xbc48, 0xbc4a, 0xbc4b,\n    0xbc4e, 0xbc4f, 0xbc51, 0xbc52, 0xbc53, 0xbc54, 0xbc55, 0xbc56,\n    0xbc57, 0xbc58, 0xbc59, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbc5a, 0xbc5b, 0xbc5c, 0xbc5e, 0xbc5f, 0xbc60, 0xbc61,\n    0xbc62, 0xbc63, 0xbc64, 0xbc65, 0xbc66, 0xbc67, 0xbc68, 0xbc69,\n    0xbc6a, 0xbc6b, 0xbc6c, 0xbc6d, 0xbc6e, 0xbc6f, 0xbc70, 0xbc71,\n    0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77, 0xbc78, 0xbc79,\n    0xbc7a, 0xbc7b, 0xbc7c, 0xbc7d, 0xbc7e, 0xbc7f, 0xbc80, 0xbc81,\n    0xbc82, 0xbc83, 0xbc86, 0xbc87, 0xbc89, 0xbc8a, 0xbc8d, 0xbc8f,\n    0xbc90, 0xbc91, 0xbc92, 0xbc93, 0xbc96, 0xbc98, 0xbc9b, 0xbc9c,\n    0xbc9d, 0xbc9e, 0xbc9f, 0xbca2, 0xbca3, 0xbca5, 0xbca6, 0xbca9,\n    0xbcaa, 0xbcab, 0xbcac, 0xbcad, 0xbcae, 0xbcaf, 0xbcb2, 0xbcb6,\n    0xbcb7, 0xbcb8, 0xbcb9, 0xbcba, 0xbcbb, 0xbcbe, 0xbcbf, 0xbcc1,\n    0xbcc2, 0xbcc3, 0xbcc5, 0xbcc6, 0xbcc7, 0xbcc8, 0xbcc9, 0xbcca,\n    0xbccb, 0xbccc, 0xbcce, 0xbcd2, 0xbcd3, 0xbcd4, 0xbcd6, 0xbcd7,\n    0xbcd9, 0xbcda, 0xbcdb, 0xbcdd, 0xbcde, 0xbcdf, 0xbce0, 0xbce1,\n    0xbce2, 0xbce3, 0xbce4, 0xbce5, 0xbce6, 0xbce7, 0xbce8, 0xbce9,\n    0xbcea, 0xbceb, 0xbcec, 0xbced, 0xbcee, 0xbcef, 0xbcf0, 0xbcf1,\n    0xbcf2, 0xbcf3, 0xbcf7, 0xbcf9, 0xbcfa, 0xbcfb, 0xbcfd, 0x003f,\n    /* lead byte 94 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbcfe, 0xbcff, 0xbd00, 0xbd01, 0xbd02, 0xbd03, 0xbd06,\n    0xbd08, 0xbd0a, 0xbd0b, 0xbd0c, 0xbd0d, 0xbd0e, 0xbd0f, 0xbd11,\n    0xbd12, 0xbd13, 0xbd15, 0xbd16, 0xbd17, 0xbd18, 0xbd19, 0xbd1a,\n    0xbd1b, 0xbd1c, 0xbd1d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbd1e, 0xbd1f, 0xbd20, 0xbd21, 0xbd22, 0xbd23, 0xbd25,\n    0xbd26, 0xbd27, 0xbd28, 0xbd29, 0xbd2a, 0xbd2b, 0xbd2d, 0xbd2e,\n    0xbd2f, 0xbd30, 0xbd31, 0xbd32, 0xbd33, 0xbd34, 0xbd35, 0xbd36,\n    0xbd37, 0xbd38, 0xbd39, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbd3a, 0xbd3b, 0xbd3c, 0xbd3d, 0xbd3e, 0xbd3f, 0xbd41,\n    0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd4a, 0xbd4b,\n    0xbd4d, 0xbd4e, 0xbd4f, 0xbd51, 0xbd52, 0xbd53, 0xbd54, 0xbd55,\n    0xbd56, 0xbd57, 0xbd5a, 0xbd5b, 0xbd5c, 0xbd5d, 0xbd5e, 0xbd5f,\n    0xbd60, 0xbd61, 0xbd62, 0xbd63, 0xbd65, 0xbd66, 0xbd67, 0xbd69,\n    0xbd6a, 0xbd6b, 0xbd6c, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71,\n    0xbd72, 0xbd73, 0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79,\n    0xbd7a, 0xbd7b, 0xbd7c, 0xbd7d, 0xbd7e, 0xbd7f, 0xbd82, 0xbd83,\n    0xbd85, 0xbd86, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd92,\n    0xbd94, 0xbd96, 0xbd97, 0xbd98, 0xbd9b, 0xbd9d, 0xbd9e, 0xbd9f,\n    0xbda0, 0xbda1, 0xbda2, 0xbda3, 0xbda5, 0xbda6, 0xbda7, 0xbda8,\n    0xbda9, 0xbdaa, 0xbdab, 0xbdac, 0xbdad, 0xbdae, 0xbdaf, 0xbdb1,\n    0xbdb2, 0xbdb3, 0xbdb4, 0xbdb5, 0xbdb6, 0xbdb7, 0xbdb9, 0xbdba,\n    0xbdbb, 0xbdbc, 0xbdbd, 0xbdbe, 0xbdbf, 0xbdc0, 0xbdc1, 0xbdc2,\n    0xbdc3, 0xbdc4, 0xbdc5, 0xbdc6, 0xbdc7, 0xbdc8, 0xbdc9, 0xbdca,\n    0xbdcb, 0xbdcc, 0xbdcd, 0xbdce, 0xbdcf, 0xbdd0, 0xbdd1, 0x003f,\n    /* lead byte 95 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbdd2, 0xbdd3, 0xbdd6, 0xbdd7, 0xbdd9, 0xbdda, 0xbddb,\n    0xbddd, 0xbdde, 0xbddf, 0xbde0, 0xbde1, 0xbde2, 0xbde3, 0xbde4,\n    0xbde5, 0xbde6, 0xbde7, 0xbde8, 0xbdea, 0xbdeb, 0xbdec, 0xbded,\n    0xbdee, 0xbdef, 0xbdf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbdf2, 0xbdf3, 0xbdf5, 0xbdf6, 0xbdf7, 0xbdf9, 0xbdfa,\n    0xbdfb, 0xbdfc, 0xbdfd, 0xbdfe, 0xbdff, 0xbe01, 0xbe02, 0xbe04,\n    0xbe06, 0xbe07, 0xbe08, 0xbe09, 0xbe0a, 0xbe0b, 0xbe0e, 0xbe0f,\n    0xbe11, 0xbe12, 0xbe13, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbe15, 0xbe16, 0xbe17, 0xbe18, 0xbe19, 0xbe1a, 0xbe1b,\n    0xbe1e, 0xbe20, 0xbe21, 0xbe22, 0xbe23, 0xbe24, 0xbe25, 0xbe26,\n    0xbe27, 0xbe28, 0xbe29, 0xbe2a, 0xbe2b, 0xbe2c, 0xbe2d, 0xbe2e,\n    0xbe2f, 0xbe30, 0xbe31, 0xbe32, 0xbe33, 0xbe34, 0xbe35, 0xbe36,\n    0xbe37, 0xbe38, 0xbe39, 0xbe3a, 0xbe3b, 0xbe3c, 0xbe3d, 0xbe3e,\n    0xbe3f, 0xbe40, 0xbe41, 0xbe42, 0xbe43, 0xbe46, 0xbe47, 0xbe49,\n    0xbe4a, 0xbe4b, 0xbe4d, 0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53,\n    0xbe56, 0xbe58, 0xbe5c, 0xbe5d, 0xbe5e, 0xbe5f, 0xbe62, 0xbe63,\n    0xbe65, 0xbe66, 0xbe67, 0xbe69, 0xbe6b, 0xbe6c, 0xbe6d, 0xbe6e,\n    0xbe6f, 0xbe72, 0xbe76, 0xbe77, 0xbe78, 0xbe79, 0xbe7a, 0xbe7e,\n    0xbe7f, 0xbe81, 0xbe82, 0xbe83, 0xbe85, 0xbe86, 0xbe87, 0xbe88,\n    0xbe89, 0xbe8a, 0xbe8b, 0xbe8e, 0xbe92, 0xbe93, 0xbe94, 0xbe95,\n    0xbe96, 0xbe97, 0xbe9a, 0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f,\n    0xbea0, 0xbea1, 0xbea2, 0xbea3, 0xbea4, 0xbea5, 0xbea6, 0xbea7,\n    0xbea9, 0xbeaa, 0xbeab, 0xbeac, 0xbead, 0xbeae, 0xbeaf, 0xbeb0,\n    0xbeb1, 0xbeb2, 0xbeb3, 0xbeb4, 0xbeb5, 0xbeb6, 0xbeb7, 0x003f,\n    /* lead byte 96 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbeb8, 0xbeb9, 0xbeba, 0xbebb, 0xbebc, 0xbebd, 0xbebe,\n    0xbebf, 0xbec0, 0xbec1, 0xbec2, 0xbec3, 0xbec4, 0xbec5, 0xbec6,\n    0xbec7, 0xbec8, 0xbec9, 0xbeca, 0xbecb, 0xbecc, 0xbecd, 0xbece,\n    0xbecf, 0xbed2, 0xbed3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbed5, 0xbed6, 0xbed9, 0xbeda, 0xbedb, 0xbedc, 0xbedd,\n    0xbede, 0xbedf, 0xbee1, 0xbee2, 0xbee6, 0xbee7, 0xbee8, 0xbee9,\n    0xbeea, 0xbeeb, 0xbeed, 0xbeee, 0xbeef, 0xbef0, 0xbef1, 0xbef2,\n    0xbef3, 0xbef4, 0xbef5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbef6, 0xbef7, 0xbef8, 0xbef9, 0xbefa, 0xbefb, 0xbefc,\n    0xbefd, 0xbefe, 0xbeff, 0xbf00, 0xbf02, 0xbf03, 0xbf04, 0xbf05,\n    0xbf06, 0xbf07, 0xbf0a, 0xbf0b, 0xbf0c, 0xbf0d, 0xbf0e, 0xbf0f,\n    0xbf10, 0xbf11, 0xbf12, 0xbf13, 0xbf14, 0xbf15, 0xbf16, 0xbf17,\n    0xbf1a, 0xbf1e, 0xbf1f, 0xbf20, 0xbf21, 0xbf22, 0xbf23, 0xbf24,\n    0xbf25, 0xbf26, 0xbf27, 0xbf28, 0xbf29, 0xbf2a, 0xbf2b, 0xbf2c,\n    0xbf2d, 0xbf2e, 0xbf2f, 0xbf30, 0xbf31, 0xbf32, 0xbf33, 0xbf34,\n    0xbf35, 0xbf36, 0xbf37, 0xbf38, 0xbf39, 0xbf3a, 0xbf3b, 0xbf3c,\n    0xbf3d, 0xbf3e, 0xbf3f, 0xbf42, 0xbf43, 0xbf45, 0xbf46, 0xbf47,\n    0xbf49, 0xbf4a, 0xbf4b, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf52,\n    0xbf53, 0xbf54, 0xbf56, 0xbf57, 0xbf58, 0xbf59, 0xbf5a, 0xbf5b,\n    0xbf5c, 0xbf5d, 0xbf5e, 0xbf5f, 0xbf60, 0xbf61, 0xbf62, 0xbf63,\n    0xbf64, 0xbf65, 0xbf66, 0xbf67, 0xbf68, 0xbf69, 0xbf6a, 0xbf6b,\n    0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f, 0xbf70, 0xbf71, 0xbf72, 0xbf73,\n    0xbf74, 0xbf75, 0xbf76, 0xbf77, 0xbf78, 0xbf79, 0xbf7a, 0xbf7b,\n    0xbf7c, 0xbf7d, 0xbf7e, 0xbf7f, 0xbf80, 0xbf81, 0xbf82, 0x003f,\n    /* lead byte 97 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xbf87, 0xbf88, 0xbf89,\n    0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90, 0xbf91,\n    0xbf92, 0xbf93, 0xbf95, 0xbf96, 0xbf97, 0xbf98, 0xbf99, 0xbf9a,\n    0xbf9b, 0xbf9c, 0xbf9d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbf9e, 0xbf9f, 0xbfa0, 0xbfa1, 0xbfa2, 0xbfa3, 0xbfa4,\n    0xbfa5, 0xbfa6, 0xbfa7, 0xbfa8, 0xbfa9, 0xbfaa, 0xbfab, 0xbfac,\n    0xbfad, 0xbfae, 0xbfaf, 0xbfb1, 0xbfb2, 0xbfb3, 0xbfb4, 0xbfb5,\n    0xbfb6, 0xbfb7, 0xbfb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xbfb9, 0xbfba, 0xbfbb, 0xbfbc, 0xbfbd, 0xbfbe, 0xbfbf,\n    0xbfc0, 0xbfc1, 0xbfc2, 0xbfc3, 0xbfc4, 0xbfc6, 0xbfc7, 0xbfc8,\n    0xbfc9, 0xbfca, 0xbfcb, 0xbfce, 0xbfcf, 0xbfd1, 0xbfd2, 0xbfd3,\n    0xbfd5, 0xbfd6, 0xbfd7, 0xbfd8, 0xbfd9, 0xbfda, 0xbfdb, 0xbfdd,\n    0xbfde, 0xbfe0, 0xbfe2, 0xbfe3, 0xbfe4, 0xbfe5, 0xbfe6, 0xbfe7,\n    0xbfe8, 0xbfe9, 0xbfea, 0xbfeb, 0xbfec, 0xbfed, 0xbfee, 0xbfef,\n    0xbff0, 0xbff1, 0xbff2, 0xbff3, 0xbff4, 0xbff5, 0xbff6, 0xbff7,\n    0xbff8, 0xbff9, 0xbffa, 0xbffb, 0xbffc, 0xbffd, 0xbffe, 0xbfff,\n    0xc000, 0xc001, 0xc002, 0xc003, 0xc004, 0xc005, 0xc006, 0xc007,\n    0xc008, 0xc009, 0xc00a, 0xc00b, 0xc00c, 0xc00d, 0xc00e, 0xc00f,\n    0xc010, 0xc011, 0xc012, 0xc013, 0xc014, 0xc015, 0xc016, 0xc017,\n    0xc018, 0xc019, 0xc01a, 0xc01b, 0xc01c, 0xc01d, 0xc01e, 0xc01f,\n    0xc020, 0xc021, 0xc022, 0xc023, 0xc024, 0xc025, 0xc026, 0xc027,\n    0xc028, 0xc029, 0xc02a, 0xc02b, 0xc02c, 0xc02d, 0xc02e, 0xc02f,\n    0xc030, 0xc031, 0xc032, 0xc033, 0xc034, 0xc035, 0xc036, 0xc037,\n    0xc038, 0xc039, 0xc03a, 0xc03b, 0xc03d, 0xc03e, 0xc03f, 0x003f,\n    /* lead byte 98 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc040, 0xc041, 0xc042, 0xc043, 0xc044, 0xc045, 0xc046,\n    0xc047, 0xc048, 0xc049, 0xc04a, 0xc04b, 0xc04c, 0xc04d, 0xc04e,\n    0xc04f, 0xc050, 0xc052, 0xc053, 0xc054, 0xc055, 0xc056, 0xc057,\n    0xc059, 0xc05a, 0xc05b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc05d, 0xc05e, 0xc05f, 0xc061, 0xc062, 0xc063, 0xc064,\n    0xc065, 0xc066, 0xc067, 0xc06a, 0xc06b, 0xc06c, 0xc06d, 0xc06e,\n    0xc06f, 0xc070, 0xc071, 0xc072, 0xc073, 0xc074, 0xc075, 0xc076,\n    0xc077, 0xc078, 0xc079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc07a, 0xc07b, 0xc07c, 0xc07d, 0xc07e, 0xc07f, 0xc080,\n    0xc081, 0xc082, 0xc083, 0xc084, 0xc085, 0xc086, 0xc087, 0xc088,\n    0xc089, 0xc08a, 0xc08b, 0xc08c, 0xc08d, 0xc08e, 0xc08f, 0xc092,\n    0xc093, 0xc095, 0xc096, 0xc097, 0xc099, 0xc09a, 0xc09b, 0xc09c,\n    0xc09d, 0xc09e, 0xc09f, 0xc0a2, 0xc0a4, 0xc0a6, 0xc0a7, 0xc0a8,\n    0xc0a9, 0xc0aa, 0xc0ab, 0xc0ae, 0xc0b1, 0xc0b2, 0xc0b7, 0xc0b8,\n    0xc0b9, 0xc0ba, 0xc0bb, 0xc0be, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c6,\n    0xc0c7, 0xc0ca, 0xc0cb, 0xc0cd, 0xc0ce, 0xc0cf, 0xc0d1, 0xc0d2,\n    0xc0d3, 0xc0d4, 0xc0d5, 0xc0d6, 0xc0d7, 0xc0da, 0xc0de, 0xc0df,\n    0xc0e0, 0xc0e1, 0xc0e2, 0xc0e3, 0xc0e6, 0xc0e7, 0xc0e9, 0xc0ea,\n    0xc0eb, 0xc0ed, 0xc0ee, 0xc0ef, 0xc0f0, 0xc0f1, 0xc0f2, 0xc0f3,\n    0xc0f6, 0xc0f8, 0xc0fa, 0xc0fb, 0xc0fc, 0xc0fd, 0xc0fe, 0xc0ff,\n    0xc101, 0xc102, 0xc103, 0xc105, 0xc106, 0xc107, 0xc109, 0xc10a,\n    0xc10b, 0xc10c, 0xc10d, 0xc10e, 0xc10f, 0xc111, 0xc112, 0xc113,\n    0xc114, 0xc116, 0xc117, 0xc118, 0xc119, 0xc11a, 0xc11b, 0xc121,\n    0xc122, 0xc125, 0xc128, 0xc129, 0xc12a, 0xc12b, 0xc12e, 0x003f,\n    /* lead byte 99 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc132, 0xc133, 0xc134, 0xc135, 0xc137, 0xc13a, 0xc13b,\n    0xc13d, 0xc13e, 0xc13f, 0xc141, 0xc142, 0xc143, 0xc144, 0xc145,\n    0xc146, 0xc147, 0xc14a, 0xc14e, 0xc14f, 0xc150, 0xc151, 0xc152,\n    0xc153, 0xc156, 0xc157, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc159, 0xc15a, 0xc15b, 0xc15d, 0xc15e, 0xc15f, 0xc160,\n    0xc161, 0xc162, 0xc163, 0xc166, 0xc16a, 0xc16b, 0xc16c, 0xc16d,\n    0xc16e, 0xc16f, 0xc171, 0xc172, 0xc173, 0xc175, 0xc176, 0xc177,\n    0xc179, 0xc17a, 0xc17b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc17c, 0xc17d, 0xc17e, 0xc17f, 0xc180, 0xc181, 0xc182,\n    0xc183, 0xc184, 0xc186, 0xc187, 0xc188, 0xc189, 0xc18a, 0xc18b,\n    0xc18f, 0xc191, 0xc192, 0xc193, 0xc195, 0xc197, 0xc198, 0xc199,\n    0xc19a, 0xc19b, 0xc19e, 0xc1a0, 0xc1a2, 0xc1a3, 0xc1a4, 0xc1a6,\n    0xc1a7, 0xc1aa, 0xc1ab, 0xc1ad, 0xc1ae, 0xc1af, 0xc1b1, 0xc1b2,\n    0xc1b3, 0xc1b4, 0xc1b5, 0xc1b6, 0xc1b7, 0xc1b8, 0xc1b9, 0xc1ba,\n    0xc1bb, 0xc1bc, 0xc1be, 0xc1bf, 0xc1c0, 0xc1c1, 0xc1c2, 0xc1c3,\n    0xc1c5, 0xc1c6, 0xc1c7, 0xc1c9, 0xc1ca, 0xc1cb, 0xc1cd, 0xc1ce,\n    0xc1cf, 0xc1d0, 0xc1d1, 0xc1d2, 0xc1d3, 0xc1d5, 0xc1d6, 0xc1d9,\n    0xc1da, 0xc1db, 0xc1dc, 0xc1dd, 0xc1de, 0xc1df, 0xc1e1, 0xc1e2,\n    0xc1e3, 0xc1e5, 0xc1e6, 0xc1e7, 0xc1e9, 0xc1ea, 0xc1eb, 0xc1ec,\n    0xc1ed, 0xc1ee, 0xc1ef, 0xc1f2, 0xc1f4, 0xc1f5, 0xc1f6, 0xc1f7,\n    0xc1f8, 0xc1f9, 0xc1fa, 0xc1fb, 0xc1fe, 0xc1ff, 0xc201, 0xc202,\n    0xc203, 0xc205, 0xc206, 0xc207, 0xc208, 0xc209, 0xc20a, 0xc20b,\n    0xc20e, 0xc210, 0xc212, 0xc213, 0xc214, 0xc215, 0xc216, 0xc217,\n    0xc21a, 0xc21b, 0xc21d, 0xc21e, 0xc221, 0xc222, 0xc223, 0x003f,\n    /* lead byte 9a */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc224, 0xc225, 0xc226, 0xc227, 0xc22a, 0xc22c, 0xc22e,\n    0xc230, 0xc233, 0xc235, 0xc236, 0xc237, 0xc238, 0xc239, 0xc23a,\n    0xc23b, 0xc23c, 0xc23d, 0xc23e, 0xc23f, 0xc240, 0xc241, 0xc242,\n    0xc243, 0xc244, 0xc245, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc246, 0xc247, 0xc249, 0xc24a, 0xc24b, 0xc24c, 0xc24d,\n    0xc24e, 0xc24f, 0xc252, 0xc253, 0xc255, 0xc256, 0xc257, 0xc259,\n    0xc25a, 0xc25b, 0xc25c, 0xc25d, 0xc25e, 0xc25f, 0xc261, 0xc262,\n    0xc263, 0xc264, 0xc266, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc267, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26e, 0xc26f,\n    0xc271, 0xc272, 0xc273, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,\n    0xc27a, 0xc27b, 0xc27e, 0xc280, 0xc282, 0xc283, 0xc284, 0xc285,\n    0xc286, 0xc287, 0xc28a, 0xc28b, 0xc28c, 0xc28d, 0xc28e, 0xc28f,\n    0xc291, 0xc292, 0xc293, 0xc294, 0xc295, 0xc296, 0xc297, 0xc299,\n    0xc29a, 0xc29c, 0xc29e, 0xc29f, 0xc2a0, 0xc2a1, 0xc2a2, 0xc2a3,\n    0xc2a6, 0xc2a7, 0xc2a9, 0xc2aa, 0xc2ab, 0xc2ae, 0xc2af, 0xc2b0,\n    0xc2b1, 0xc2b2, 0xc2b3, 0xc2b6, 0xc2b8, 0xc2ba, 0xc2bb, 0xc2bc,\n    0xc2bd, 0xc2be, 0xc2bf, 0xc2c0, 0xc2c1, 0xc2c2, 0xc2c3, 0xc2c4,\n    0xc2c5, 0xc2c6, 0xc2c7, 0xc2c8, 0xc2c9, 0xc2ca, 0xc2cb, 0xc2cc,\n    0xc2cd, 0xc2ce, 0xc2cf, 0xc2d0, 0xc2d1, 0xc2d2, 0xc2d3, 0xc2d4,\n    0xc2d5, 0xc2d6, 0xc2d7, 0xc2d8, 0xc2d9, 0xc2da, 0xc2db, 0xc2de,\n    0xc2df, 0xc2e1, 0xc2e2, 0xc2e5, 0xc2e6, 0xc2e7, 0xc2e8, 0xc2e9,\n    0xc2ea, 0xc2ee, 0xc2f0, 0xc2f2, 0xc2f3, 0xc2f4, 0xc2f5, 0xc2f7,\n    0xc2fa, 0xc2fd, 0xc2fe, 0xc2ff, 0xc301, 0xc302, 0xc303, 0xc304,\n    0xc305, 0xc306, 0xc307, 0xc30a, 0xc30b, 0xc30e, 0xc30f, 0x003f,\n    /* lead byte 9b */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc310, 0xc311, 0xc312, 0xc316, 0xc317, 0xc319, 0xc31a,\n    0xc31b, 0xc31d, 0xc31e, 0xc31f, 0xc320, 0xc321, 0xc322, 0xc323,\n    0xc326, 0xc327, 0xc32a, 0xc32b, 0xc32c, 0xc32d, 0xc32e, 0xc32f,\n    0xc330, 0xc331, 0xc332, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc333, 0xc334, 0xc335, 0xc336, 0xc337, 0xc338, 0xc339,\n    0xc33a, 0xc33b, 0xc33c, 0xc33d, 0xc33e, 0xc33f, 0xc340, 0xc341,\n    0xc342, 0xc343, 0xc344, 0xc346, 0xc347, 0xc348, 0xc349, 0xc34a,\n    0xc34b, 0xc34c, 0xc34d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc34e, 0xc34f, 0xc350, 0xc351, 0xc352, 0xc353, 0xc354,\n    0xc355, 0xc356, 0xc357, 0xc358, 0xc359, 0xc35a, 0xc35b, 0xc35c,\n    0xc35d, 0xc35e, 0xc35f, 0xc360, 0xc361, 0xc362, 0xc363, 0xc364,\n    0xc365, 0xc366, 0xc367, 0xc36a, 0xc36b, 0xc36d, 0xc36e, 0xc36f,\n    0xc371, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc37a, 0xc37b,\n    0xc37e, 0xc37f, 0xc380, 0xc381, 0xc382, 0xc383, 0xc385, 0xc386,\n    0xc387, 0xc389, 0xc38a, 0xc38b, 0xc38d, 0xc38e, 0xc38f, 0xc390,\n    0xc391, 0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc397, 0xc398,\n    0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e, 0xc39f, 0xc3a0,\n    0xc3a1, 0xc3a2, 0xc3a3, 0xc3a4, 0xc3a5, 0xc3a6, 0xc3a7, 0xc3a8,\n    0xc3a9, 0xc3aa, 0xc3ab, 0xc3ac, 0xc3ad, 0xc3ae, 0xc3af, 0xc3b0,\n    0xc3b1, 0xc3b2, 0xc3b3, 0xc3b4, 0xc3b5, 0xc3b6, 0xc3b7, 0xc3b8,\n    0xc3b9, 0xc3ba, 0xc3bb, 0xc3bc, 0xc3bd, 0xc3be, 0xc3bf, 0xc3c1,\n    0xc3c2, 0xc3c3, 0xc3c4, 0xc3c5, 0xc3c6, 0xc3c7, 0xc3c8, 0xc3c9,\n    0xc3ca, 0xc3cb, 0xc3cc, 0xc3cd, 0xc3ce, 0xc3cf, 0xc3d0, 0xc3d1,\n    0xc3d2, 0xc3d3, 0xc3d4, 0xc3d5, 0xc3d6, 0xc3d7, 0xc3da, 0x003f,\n    /* lead byte 9c */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc3db, 0xc3dd, 0xc3de, 0xc3e1, 0xc3e3, 0xc3e4, 0xc3e5,\n    0xc3e6, 0xc3e7, 0xc3ea, 0xc3eb, 0xc3ec, 0xc3ee, 0xc3ef, 0xc3f0,\n    0xc3f1, 0xc3f2, 0xc3f3, 0xc3f6, 0xc3f7, 0xc3f9, 0xc3fa, 0xc3fb,\n    0xc3fc, 0xc3fd, 0xc3fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc3ff, 0xc400, 0xc401, 0xc402, 0xc403, 0xc404, 0xc405,\n    0xc406, 0xc407, 0xc409, 0xc40a, 0xc40b, 0xc40c, 0xc40d, 0xc40e,\n    0xc40f, 0xc411, 0xc412, 0xc413, 0xc414, 0xc415, 0xc416, 0xc417,\n    0xc418, 0xc419, 0xc41a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc41b, 0xc41c, 0xc41d, 0xc41e, 0xc41f, 0xc420, 0xc421,\n    0xc422, 0xc423, 0xc425, 0xc426, 0xc427, 0xc428, 0xc429, 0xc42a,\n    0xc42b, 0xc42d, 0xc42e, 0xc42f, 0xc431, 0xc432, 0xc433, 0xc435,\n    0xc436, 0xc437, 0xc438, 0xc439, 0xc43a, 0xc43b, 0xc43e, 0xc43f,\n    0xc440, 0xc441, 0xc442, 0xc443, 0xc444, 0xc445, 0xc446, 0xc447,\n    0xc449, 0xc44a, 0xc44b, 0xc44c, 0xc44d, 0xc44e, 0xc44f, 0xc450,\n    0xc451, 0xc452, 0xc453, 0xc454, 0xc455, 0xc456, 0xc457, 0xc458,\n    0xc459, 0xc45a, 0xc45b, 0xc45c, 0xc45d, 0xc45e, 0xc45f, 0xc460,\n    0xc461, 0xc462, 0xc463, 0xc466, 0xc467, 0xc469, 0xc46a, 0xc46b,\n    0xc46d, 0xc46e, 0xc46f, 0xc470, 0xc471, 0xc472, 0xc473, 0xc476,\n    0xc477, 0xc478, 0xc47a, 0xc47b, 0xc47c, 0xc47d, 0xc47e, 0xc47f,\n    0xc481, 0xc482, 0xc483, 0xc484, 0xc485, 0xc486, 0xc487, 0xc488,\n    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc48d, 0xc48e, 0xc48f, 0xc490,\n    0xc491, 0xc492, 0xc493, 0xc495, 0xc496, 0xc497, 0xc498, 0xc499,\n    0xc49a, 0xc49b, 0xc49d, 0xc49e, 0xc49f, 0xc4a0, 0xc4a1, 0xc4a2,\n    0xc4a3, 0xc4a4, 0xc4a5, 0xc4a6, 0xc4a7, 0xc4a8, 0xc4a9, 0x003f,\n    /* lead byte 9d */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4aa, 0xc4ab, 0xc4ac, 0xc4ad, 0xc4ae, 0xc4af, 0xc4b0,\n    0xc4b1, 0xc4b2, 0xc4b3, 0xc4b4, 0xc4b5, 0xc4b6, 0xc4b7, 0xc4b9,\n    0xc4ba, 0xc4bb, 0xc4bd, 0xc4be, 0xc4bf, 0xc4c0, 0xc4c1, 0xc4c2,\n    0xc4c3, 0xc4c4, 0xc4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4c6, 0xc4c7, 0xc4c8, 0xc4c9, 0xc4ca, 0xc4cb, 0xc4cc,\n    0xc4cd, 0xc4ce, 0xc4cf, 0xc4d0, 0xc4d1, 0xc4d2, 0xc4d3, 0xc4d4,\n    0xc4d5, 0xc4d6, 0xc4d7, 0xc4d8, 0xc4d9, 0xc4da, 0xc4db, 0xc4dc,\n    0xc4dd, 0xc4de, 0xc4df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4e0, 0xc4e1, 0xc4e2, 0xc4e3, 0xc4e4, 0xc4e5, 0xc4e6,\n    0xc4e7, 0xc4e8, 0xc4ea, 0xc4eb, 0xc4ec, 0xc4ed, 0xc4ee, 0xc4ef,\n    0xc4f2, 0xc4f3, 0xc4f5, 0xc4f6, 0xc4f7, 0xc4f9, 0xc4fb, 0xc4fc,\n    0xc4fd, 0xc4fe, 0xc502, 0xc503, 0xc504, 0xc505, 0xc506, 0xc507,\n    0xc508, 0xc509, 0xc50a, 0xc50b, 0xc50d, 0xc50e, 0xc50f, 0xc511,\n    0xc512, 0xc513, 0xc515, 0xc516, 0xc517, 0xc518, 0xc519, 0xc51a,\n    0xc51b, 0xc51d, 0xc51e, 0xc51f, 0xc520, 0xc521, 0xc522, 0xc523,\n    0xc524, 0xc525, 0xc526, 0xc527, 0xc52a, 0xc52b, 0xc52d, 0xc52e,\n    0xc52f, 0xc531, 0xc532, 0xc533, 0xc534, 0xc535, 0xc536, 0xc537,\n    0xc53a, 0xc53c, 0xc53e, 0xc53f, 0xc540, 0xc541, 0xc542, 0xc543,\n    0xc546, 0xc547, 0xc54b, 0xc54f, 0xc550, 0xc551, 0xc552, 0xc556,\n    0xc55a, 0xc55b, 0xc55c, 0xc55f, 0xc562, 0xc563, 0xc565, 0xc566,\n    0xc567, 0xc569, 0xc56a, 0xc56b, 0xc56c, 0xc56d, 0xc56e, 0xc56f,\n    0xc572, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc57b, 0xc57e,\n    0xc57f, 0xc581, 0xc582, 0xc583, 0xc585, 0xc586, 0xc588, 0xc589,\n    0xc58a, 0xc58b, 0xc58e, 0xc590, 0xc592, 0xc593, 0xc594, 0x003f,\n    /* lead byte 9e */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc596, 0xc599, 0xc59a, 0xc59b, 0xc59d, 0xc59e, 0xc59f,\n    0xc5a1, 0xc5a2, 0xc5a3, 0xc5a4, 0xc5a5, 0xc5a6, 0xc5a7, 0xc5a8,\n    0xc5aa, 0xc5ab, 0xc5ac, 0xc5ad, 0xc5ae, 0xc5af, 0xc5b0, 0xc5b1,\n    0xc5b2, 0xc5b3, 0xc5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc5b7, 0xc5ba, 0xc5bf, 0xc5c0, 0xc5c1, 0xc5c2, 0xc5c3,\n    0xc5cb, 0xc5cd, 0xc5cf, 0xc5d2, 0xc5d3, 0xc5d5, 0xc5d6, 0xc5d7,\n    0xc5d9, 0xc5da, 0xc5db, 0xc5dc, 0xc5dd, 0xc5de, 0xc5df, 0xc5e2,\n    0xc5e4, 0xc5e6, 0xc5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc5e8, 0xc5e9, 0xc5ea, 0xc5eb, 0xc5ef, 0xc5f1, 0xc5f2,\n    0xc5f3, 0xc5f5, 0xc5f8, 0xc5f9, 0xc5fa, 0xc5fb, 0xc602, 0xc603,\n    0xc604, 0xc609, 0xc60a, 0xc60b, 0xc60d, 0xc60e, 0xc60f, 0xc611,\n    0xc612, 0xc613, 0xc614, 0xc615, 0xc616, 0xc617, 0xc61a, 0xc61d,\n    0xc61e, 0xc61f, 0xc620, 0xc621, 0xc622, 0xc623, 0xc626, 0xc627,\n    0xc629, 0xc62a, 0xc62b, 0xc62f, 0xc631, 0xc632, 0xc636, 0xc638,\n    0xc63a, 0xc63c, 0xc63d, 0xc63e, 0xc63f, 0xc642, 0xc643, 0xc645,\n    0xc646, 0xc647, 0xc649, 0xc64a, 0xc64b, 0xc64c, 0xc64d, 0xc64e,\n    0xc64f, 0xc652, 0xc656, 0xc657, 0xc658, 0xc659, 0xc65a, 0xc65b,\n    0xc65e, 0xc65f, 0xc661, 0xc662, 0xc663, 0xc664, 0xc665, 0xc666,\n    0xc667, 0xc668, 0xc669, 0xc66a, 0xc66b, 0xc66d, 0xc66e, 0xc670,\n    0xc672, 0xc673, 0xc674, 0xc675, 0xc676, 0xc677, 0xc67a, 0xc67b,\n    0xc67d, 0xc67e, 0xc67f, 0xc681, 0xc682, 0xc683, 0xc684, 0xc685,\n    0xc686, 0xc687, 0xc68a, 0xc68c, 0xc68e, 0xc68f, 0xc690, 0xc691,\n    0xc692, 0xc693, 0xc696, 0xc697, 0xc699, 0xc69a, 0xc69b, 0xc69d,\n    0xc69e, 0xc69f, 0xc6a0, 0xc6a1, 0xc6a2, 0xc6a3, 0xc6a6, 0x003f,\n    /* lead byte 9f */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6a8, 0xc6aa, 0xc6ab, 0xc6ac, 0xc6ad, 0xc6ae, 0xc6af,\n    0xc6b2, 0xc6b3, 0xc6b5, 0xc6b6, 0xc6b7, 0xc6bb, 0xc6bc, 0xc6bd,\n    0xc6be, 0xc6bf, 0xc6c2, 0xc6c4, 0xc6c6, 0xc6c7, 0xc6c8, 0xc6c9,\n    0xc6ca, 0xc6cb, 0xc6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6cf, 0xc6d1, 0xc6d2, 0xc6d3, 0xc6d5, 0xc6d6, 0xc6d7,\n    0xc6d8, 0xc6d9, 0xc6da, 0xc6db, 0xc6de, 0xc6df, 0xc6e2, 0xc6e3,\n    0xc6e4, 0xc6e5, 0xc6e6, 0xc6e7, 0xc6ea, 0xc6eb, 0xc6ed, 0xc6ee,\n    0xc6ef, 0xc6f1, 0xc6f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc6f3, 0xc6f4, 0xc6f5, 0xc6f6, 0xc6f7, 0xc6fa, 0xc6fb,\n    0xc6fc, 0xc6fe, 0xc6ff, 0xc700, 0xc701, 0xc702, 0xc703, 0xc706,\n    0xc707, 0xc709, 0xc70a, 0xc70b, 0xc70d, 0xc70e, 0xc70f, 0xc710,\n    0xc711, 0xc712, 0xc713, 0xc716, 0xc718, 0xc71a, 0xc71b, 0xc71c,\n    0xc71d, 0xc71e, 0xc71f, 0xc722, 0xc723, 0xc725, 0xc726, 0xc727,\n    0xc729, 0xc72a, 0xc72b, 0xc72c, 0xc72d, 0xc72e, 0xc72f, 0xc732,\n    0xc734, 0xc736, 0xc738, 0xc739, 0xc73a, 0xc73b, 0xc73e, 0xc73f,\n    0xc741, 0xc742, 0xc743, 0xc745, 0xc746, 0xc747, 0xc748, 0xc749,\n    0xc74b, 0xc74e, 0xc750, 0xc759, 0xc75a, 0xc75b, 0xc75d, 0xc75e,\n    0xc75f, 0xc761, 0xc762, 0xc763, 0xc764, 0xc765, 0xc766, 0xc767,\n    0xc769, 0xc76a, 0xc76c, 0xc76d, 0xc76e, 0xc76f, 0xc770, 0xc771,\n    0xc772, 0xc773, 0xc776, 0xc777, 0xc779, 0xc77a, 0xc77b, 0xc77f,\n    0xc780, 0xc781, 0xc782, 0xc786, 0xc78b, 0xc78c, 0xc78d, 0xc78f,\n    0xc792, 0xc793, 0xc795, 0xc799, 0xc79b, 0xc79c, 0xc79d, 0xc79e,\n    0xc79f, 0xc7a2, 0xc7a7, 0xc7a8, 0xc7a9, 0xc7aa, 0xc7ab, 0xc7ae,\n    0xc7af, 0xc7b1, 0xc7b2, 0xc7b3, 0xc7b5, 0xc7b6, 0xc7b7, 0x003f,\n    /* lead byte a0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7b8, 0xc7b9, 0xc7ba, 0xc7bb, 0xc7be, 0xc7c2, 0xc7c3,\n    0xc7c4, 0xc7c5, 0xc7c6, 0xc7c7, 0xc7ca, 0xc7cb, 0xc7cd, 0xc7cf,\n    0xc7d1, 0xc7d2, 0xc7d3, 0xc7d4, 0xc7d5, 0xc7d6, 0xc7d7, 0xc7d9,\n    0xc7da, 0xc7db, 0xc7dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7de, 0xc7df, 0xc7e0, 0xc7e1, 0xc7e2, 0xc7e3, 0xc7e5,\n    0xc7e6, 0xc7e7, 0xc7e9, 0xc7ea, 0xc7eb, 0xc7ed, 0xc7ee, 0xc7ef,\n    0xc7f0, 0xc7f1, 0xc7f2, 0xc7f3, 0xc7f4, 0xc7f5, 0xc7f6, 0xc7f7,\n    0xc7f8, 0xc7f9, 0xc7fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc7fb, 0xc7fc, 0xc7fd, 0xc7fe, 0xc7ff, 0xc802, 0xc803,\n    0xc805, 0xc806, 0xc807, 0xc809, 0xc80b, 0xc80c, 0xc80d, 0xc80e,\n    0xc80f, 0xc812, 0xc814, 0xc817, 0xc818, 0xc819, 0xc81a, 0xc81b,\n    0xc81e, 0xc81f, 0xc821, 0xc822, 0xc823, 0xc825, 0xc826, 0xc827,\n    0xc828, 0xc829, 0xc82a, 0xc82b, 0xc82e, 0xc830, 0xc832, 0xc833,\n    0xc834, 0xc835, 0xc836, 0xc837, 0xc839, 0xc83a, 0xc83b, 0xc83d,\n    0xc83e, 0xc83f, 0xc841, 0xc842, 0xc843, 0xc844, 0xc845, 0xc846,\n    0xc847, 0xc84a, 0xc84b, 0xc84e, 0xc84f, 0xc850, 0xc851, 0xc852,\n    0xc853, 0xc855, 0xc856, 0xc857, 0xc858, 0xc859, 0xc85a, 0xc85b,\n    0xc85c, 0xc85d, 0xc85e, 0xc85f, 0xc860, 0xc861, 0xc862, 0xc863,\n    0xc864, 0xc865, 0xc866, 0xc867, 0xc868, 0xc869, 0xc86a, 0xc86b,\n    0xc86c, 0xc86d, 0xc86e, 0xc86f, 0xc872, 0xc873, 0xc875, 0xc876,\n    0xc877, 0xc879, 0xc87b, 0xc87c, 0xc87d, 0xc87e, 0xc87f, 0xc882,\n    0xc884, 0xc888, 0xc889, 0xc88a, 0xc88e, 0xc88f, 0xc890, 0xc891,\n    0xc892, 0xc893, 0xc895, 0xc896, 0xc897, 0xc898, 0xc899, 0xc89a,\n    0xc89b, 0xc89c, 0xc89e, 0xc8a0, 0xc8a2, 0xc8a3, 0xc8a4, 0x003f,\n    /* lead byte a1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc8a5, 0xc8a6, 0xc8a7, 0xc8a9, 0xc8aa, 0xc8ab, 0xc8ac,\n    0xc8ad, 0xc8ae, 0xc8af, 0xc8b0, 0xc8b1, 0xc8b2, 0xc8b3, 0xc8b4,\n    0xc8b5, 0xc8b6, 0xc8b7, 0xc8b8, 0xc8b9, 0xc8ba, 0xc8bb, 0xc8be,\n    0xc8bf, 0xc8c0, 0xc8c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc8c2, 0xc8c3, 0xc8c5, 0xc8c6, 0xc8c7, 0xc8c9, 0xc8ca,\n    0xc8cb, 0xc8cd, 0xc8ce, 0xc8cf, 0xc8d0, 0xc8d1, 0xc8d2, 0xc8d3,\n    0xc8d6, 0xc8d8, 0xc8da, 0xc8db, 0xc8dc, 0xc8dd, 0xc8de, 0xc8df,\n    0xc8e2, 0xc8e3, 0xc8e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc8e6, 0xc8e7, 0xc8e8, 0xc8e9, 0xc8ea, 0xc8eb, 0xc8ec,\n    0xc8ed, 0xc8ee, 0xc8ef, 0xc8f0, 0xc8f1, 0xc8f2, 0xc8f3, 0xc8f4,\n    0xc8f6, 0xc8f7, 0xc8f8, 0xc8f9, 0xc8fa, 0xc8fb, 0xc8fe, 0xc8ff,\n    0xc901, 0xc902, 0xc903, 0xc907, 0xc908, 0xc909, 0xc90a, 0xc90b,\n    0xc90e, 0x3000, 0x3001, 0x3002, 0x00b7, 0x2025, 0x2026, 0x00a8,\n    0x3003, 0x00ad, 0x2015, 0x2225, 0xff3c, 0x223c, 0x2018, 0x2019,\n    0x201c, 0x201d, 0x3014, 0x3015, 0x3008, 0x3009, 0x300a, 0x300b,\n    0x300c, 0x300d, 0x300e, 0x300f, 0x3010, 0x3011, 0x00b1, 0x00d7,\n    0x00f7, 0x2260, 0x2264, 0x2265, 0x221e, 0x2234, 0x00b0, 0x2032,\n    0x2033, 0x2103, 0x212b, 0xffe0, 0xffe1, 0xffe5, 0x2642, 0x2640,\n    0x2220, 0x22a5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x00a7,\n    0x203b, 0x2606, 0x2605, 0x25cb, 0x25cf, 0x25ce, 0x25c7, 0x25c6,\n    0x25a1, 0x25a0, 0x25b3, 0x25b2, 0x25bd, 0x25bc, 0x2192, 0x2190,\n    0x2191, 0x2193, 0x2194, 0x3013, 0x226a, 0x226b, 0x221a, 0x223d,\n    0x221d, 0x2235, 0x222b, 0x222c, 0x2208, 0x220b, 0x2286, 0x2287,\n    0x2282, 0x2283, 0x222a, 0x2229, 0x2227, 0x2228, 0xffe2, 0x003f,\n    /* lead byte a2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc910, 0xc912, 0xc913, 0xc914, 0xc915, 0xc916, 0xc917,\n    0xc919, 0xc91a, 0xc91b, 0xc91c, 0xc91d, 0xc91e, 0xc91f, 0xc920,\n    0xc921, 0xc922, 0xc923, 0xc924, 0xc925, 0xc926, 0xc927, 0xc928,\n    0xc929, 0xc92a, 0xc92b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc92d, 0xc92e, 0xc92f, 0xc930, 0xc931, 0xc932, 0xc933,\n    0xc935, 0xc936, 0xc937, 0xc938, 0xc939, 0xc93a, 0xc93b, 0xc93c,\n    0xc93d, 0xc93e, 0xc93f, 0xc940, 0xc941, 0xc942, 0xc943, 0xc944,\n    0xc945, 0xc946, 0xc947, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc948, 0xc949, 0xc94a, 0xc94b, 0xc94c, 0xc94d, 0xc94e,\n    0xc94f, 0xc952, 0xc953, 0xc955, 0xc956, 0xc957, 0xc959, 0xc95a,\n    0xc95b, 0xc95c, 0xc95d, 0xc95e, 0xc95f, 0xc962, 0xc964, 0xc965,\n    0xc966, 0xc967, 0xc968, 0xc969, 0xc96a, 0xc96b, 0xc96d, 0xc96e,\n    0xc96f, 0x21d2, 0x21d4, 0x2200, 0x2203, 0x00b4, 0xff5e, 0x02c7,\n    0x02d8, 0x02dd, 0x02da, 0x02d9, 0x00b8, 0x02db, 0x00a1, 0x00bf,\n    0x02d0, 0x222e, 0x2211, 0x220f, 0x00a4, 0x2109, 0x2030, 0x25c1,\n    0x25c0, 0x25b7, 0x25b6, 0x2664, 0x2660, 0x2661, 0x2665, 0x2667,\n    0x2663, 0x2299, 0x25c8, 0x25a3, 0x25d0, 0x25d1, 0x2592, 0x25a4,\n    0x25a5, 0x25a8, 0x25a7, 0x25a6, 0x25a9, 0x2668, 0x260f, 0x260e,\n    0x261c, 0x261e, 0x00b6, 0x2020, 0x2021, 0x2195, 0x2197, 0x2199,\n    0x2196, 0x2198, 0x266d, 0x2669, 0x266a, 0x266c, 0x327f, 0x321c,\n    0x2116, 0x33c7, 0x2122, 0x33c2, 0x33d8, 0x2121, 0x20ac, 0x00ae,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc971, 0xc972, 0xc973, 0xc975, 0xc976, 0xc977, 0xc978,\n    0xc979, 0xc97a, 0xc97b, 0xc97d, 0xc97e, 0xc97f, 0xc980, 0xc981,\n    0xc982, 0xc983, 0xc984, 0xc985, 0xc986, 0xc987, 0xc98a, 0xc98b,\n    0xc98d, 0xc98e, 0xc98f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc991, 0xc992, 0xc993, 0xc994, 0xc995, 0xc996, 0xc997,\n    0xc99a, 0xc99c, 0xc99e, 0xc99f, 0xc9a0, 0xc9a1, 0xc9a2, 0xc9a3,\n    0xc9a4, 0xc9a5, 0xc9a6, 0xc9a7, 0xc9a8, 0xc9a9, 0xc9aa, 0xc9ab,\n    0xc9ac, 0xc9ad, 0xc9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc9af, 0xc9b0, 0xc9b1, 0xc9b2, 0xc9b3, 0xc9b4, 0xc9b5,\n    0xc9b6, 0xc9b7, 0xc9b8, 0xc9b9, 0xc9ba, 0xc9bb, 0xc9bc, 0xc9bd,\n    0xc9be, 0xc9bf, 0xc9c2, 0xc9c3, 0xc9c5, 0xc9c6, 0xc9c9, 0xc9cb,\n    0xc9cc, 0xc9cd, 0xc9ce, 0xc9cf, 0xc9d2, 0xc9d4, 0xc9d7, 0xc9d8,\n    0xc9db, 0xff01, 0xff02, 0xff03, 0xff04, 0xff05, 0xff06, 0xff07,\n    0xff08, 0xff09, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,\n    0xff10, 0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17,\n    0xff18, 0xff19, 0xff1a, 0xff1b, 0xff1c, 0xff1d, 0xff1e, 0xff1f,\n    0xff20, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27,\n    0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f,\n    0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37,\n    0xff38, 0xff39, 0xff3a, 0xff3b, 0xffe6, 0xff3d, 0xff3e, 0xff3f,\n    0xff40, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,\n    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,\n    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0xff57,\n    0xff58, 0xff59, 0xff5a, 0xff5b, 0xff5c, 0xff5d, 0xffe3, 0x003f,\n    /* lead byte a4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc9de, 0xc9df, 0xc9e1, 0xc9e3, 0xc9e5, 0xc9e6, 0xc9e8,\n    0xc9e9, 0xc9ea, 0xc9eb, 0xc9ee, 0xc9f2, 0xc9f3, 0xc9f4, 0xc9f5,\n    0xc9f6, 0xc9f7, 0xc9fa, 0xc9fb, 0xc9fd, 0xc9fe, 0xc9ff, 0xca01,\n    0xca02, 0xca03, 0xca04, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xca05, 0xca06, 0xca07, 0xca0a, 0xca0e, 0xca0f, 0xca10,\n    0xca11, 0xca12, 0xca13, 0xca15, 0xca16, 0xca17, 0xca19, 0xca1a,\n    0xca1b, 0xca1c, 0xca1d, 0xca1e, 0xca1f, 0xca20, 0xca21, 0xca22,\n    0xca23, 0xca24, 0xca25, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xca26, 0xca27, 0xca28, 0xca2a, 0xca2b, 0xca2c, 0xca2d,\n    0xca2e, 0xca2f, 0xca30, 0xca31, 0xca32, 0xca33, 0xca34, 0xca35,\n    0xca36, 0xca37, 0xca38, 0xca39, 0xca3a, 0xca3b, 0xca3c, 0xca3d,\n    0xca3e, 0xca3f, 0xca40, 0xca41, 0xca42, 0xca43, 0xca44, 0xca45,\n    0xca46, 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137,\n    0x3138, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d, 0x313e, 0x313f,\n    0x3140, 0x3141, 0x3142, 0x3143, 0x3144, 0x3145, 0x3146, 0x3147,\n    0x3148, 0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e, 0x314f,\n    0x3150, 0x3151, 0x3152, 0x3153, 0x3154, 0x3155, 0x3156, 0x3157,\n    0x3158, 0x3159, 0x315a, 0x315b, 0x315c, 0x315d, 0x315e, 0x315f,\n    0x3160, 0x3161, 0x3162, 0x3163, 0x3164, 0x3165, 0x3166, 0x3167,\n    0x3168, 0x3169, 0x316a, 0x316b, 0x316c, 0x316d, 0x316e, 0x316f,\n    0x3170, 0x3171, 0x3172, 0x3173, 0x3174, 0x3175, 0x3176, 0x3177,\n    0x3178, 0x3179, 0x317a, 0x317b, 0x317c, 0x317d, 0x317e, 0x317f,\n    0x3180, 0x3181, 0x3182, 0x3183, 0x3184, 0x3185, 0x3186, 0x3187,\n    0x3188, 0x3189, 0x318a, 0x318b, 0x318c, 0x318d, 0x318e, 0x003f,\n    /* lead byte a5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xca47, 0xca48, 0xca49, 0xca4a, 0xca4b, 0xca4e, 0xca4f,\n    0xca51, 0xca52, 0xca53, 0xca55, 0xca56, 0xca57, 0xca58, 0xca59,\n    0xca5a, 0xca5b, 0xca5e, 0xca62, 0xca63, 0xca64, 0xca65, 0xca66,\n    0xca67, 0xca69, 0xca6a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xca6b, 0xca6c, 0xca6d, 0xca6e, 0xca6f, 0xca70, 0xca71,\n    0xca72, 0xca73, 0xca74, 0xca75, 0xca76, 0xca77, 0xca78, 0xca79,\n    0xca7a, 0xca7b, 0xca7c, 0xca7e, 0xca7f, 0xca80, 0xca81, 0xca82,\n    0xca83, 0xca85, 0xca86, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xca87, 0xca88, 0xca89, 0xca8a, 0xca8b, 0xca8c, 0xca8d,\n    0xca8e, 0xca8f, 0xca90, 0xca91, 0xca92, 0xca93, 0xca94, 0xca95,\n    0xca96, 0xca97, 0xca99, 0xca9a, 0xca9b, 0xca9c, 0xca9d, 0xca9e,\n    0xca9f, 0xcaa0, 0xcaa1, 0xcaa2, 0xcaa3, 0xcaa4, 0xcaa5, 0xcaa6,\n    0xcaa7, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176,\n    0x2177, 0x2178, 0x2179, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167,\n    0x2168, 0x2169, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,\n    0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f,\n    0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8,\n    0x03a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7,\n    0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf,\n    0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8,\n    0x03c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcaa8, 0xcaa9, 0xcaaa, 0xcaab, 0xcaac, 0xcaad, 0xcaae,\n    0xcaaf, 0xcab0, 0xcab1, 0xcab2, 0xcab3, 0xcab4, 0xcab5, 0xcab6,\n    0xcab7, 0xcab8, 0xcab9, 0xcaba, 0xcabb, 0xcabe, 0xcabf, 0xcac1,\n    0xcac2, 0xcac3, 0xcac5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcac6, 0xcac7, 0xcac8, 0xcac9, 0xcaca, 0xcacb, 0xcace,\n    0xcad0, 0xcad2, 0xcad4, 0xcad5, 0xcad6, 0xcad7, 0xcada, 0xcadb,\n    0xcadc, 0xcadd, 0xcade, 0xcadf, 0xcae1, 0xcae2, 0xcae3, 0xcae4,\n    0xcae5, 0xcae6, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcae8, 0xcae9, 0xcaea, 0xcaeb, 0xcaed, 0xcaee, 0xcaef,\n    0xcaf0, 0xcaf1, 0xcaf2, 0xcaf3, 0xcaf5, 0xcaf6, 0xcaf7, 0xcaf8,\n    0xcaf9, 0xcafa, 0xcafb, 0xcafc, 0xcafd, 0xcafe, 0xcaff, 0xcb00,\n    0xcb01, 0xcb02, 0xcb03, 0xcb04, 0xcb05, 0xcb06, 0xcb07, 0xcb09,\n    0xcb0a, 0x2500, 0x2502, 0x250c, 0x2510, 0x2518, 0x2514, 0x251c,\n    0x252c, 0x2524, 0x2534, 0x253c, 0x2501, 0x2503, 0x250f, 0x2513,\n    0x251b, 0x2517, 0x2523, 0x2533, 0x252b, 0x253b, 0x254b, 0x2520,\n    0x252f, 0x2528, 0x2537, 0x253f, 0x251d, 0x2530, 0x2525, 0x2538,\n    0x2542, 0x2512, 0x2511, 0x251a, 0x2519, 0x2516, 0x2515, 0x250e,\n    0x250d, 0x251e, 0x251f, 0x2521, 0x2522, 0x2526, 0x2527, 0x2529,\n    0x252a, 0x252d, 0x252e, 0x2531, 0x2532, 0x2535, 0x2536, 0x2539,\n    0x253a, 0x253d, 0x253e, 0x2540, 0x2541, 0x2543, 0x2544, 0x2545,\n    0x2546, 0x2547, 0x2548, 0x2549, 0x254a, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcb0b, 0xcb0c, 0xcb0d, 0xcb0e, 0xcb0f, 0xcb11, 0xcb12,\n    0xcb13, 0xcb15, 0xcb16, 0xcb17, 0xcb19, 0xcb1a, 0xcb1b, 0xcb1c,\n    0xcb1d, 0xcb1e, 0xcb1f, 0xcb22, 0xcb23, 0xcb24, 0xcb25, 0xcb26,\n    0xcb27, 0xcb28, 0xcb29, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcb2a, 0xcb2b, 0xcb2c, 0xcb2d, 0xcb2e, 0xcb2f, 0xcb30,\n    0xcb31, 0xcb32, 0xcb33, 0xcb34, 0xcb35, 0xcb36, 0xcb37, 0xcb38,\n    0xcb39, 0xcb3a, 0xcb3b, 0xcb3c, 0xcb3d, 0xcb3e, 0xcb3f, 0xcb40,\n    0xcb42, 0xcb43, 0xcb44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcb45, 0xcb46, 0xcb47, 0xcb4a, 0xcb4b, 0xcb4d, 0xcb4e,\n    0xcb4f, 0xcb51, 0xcb52, 0xcb53, 0xcb54, 0xcb55, 0xcb56, 0xcb57,\n    0xcb5a, 0xcb5b, 0xcb5c, 0xcb5e, 0xcb5f, 0xcb60, 0xcb61, 0xcb62,\n    0xcb63, 0xcb65, 0xcb66, 0xcb67, 0xcb68, 0xcb69, 0xcb6a, 0xcb6b,\n    0xcb6c, 0x3395, 0x3396, 0x3397, 0x2113, 0x3398, 0x33c4, 0x33a3,\n    0x33a4, 0x33a5, 0x33a6, 0x3399, 0x339a, 0x339b, 0x339c, 0x339d,\n    0x339e, 0x339f, 0x33a0, 0x33a1, 0x33a2, 0x33ca, 0x338d, 0x338e,\n    0x338f, 0x33cf, 0x3388, 0x3389, 0x33c8, 0x33a7, 0x33a8, 0x33b0,\n    0x33b1, 0x33b2, 0x33b3, 0x33b4, 0x33b5, 0x33b6, 0x33b7, 0x33b8,\n    0x33b9, 0x3380, 0x3381, 0x3382, 0x3383, 0x3384, 0x33ba, 0x33bb,\n    0x33bc, 0x33bd, 0x33be, 0x33bf, 0x3390, 0x3391, 0x3392, 0x3393,\n    0x3394, 0x2126, 0x33c0, 0x33c1, 0x338a, 0x338b, 0x338c, 0x33d6,\n    0x33c5, 0x33ad, 0x33ae, 0x33af, 0x33db, 0x33a9, 0x33aa, 0x33ab,\n    0x33ac, 0x33dd, 0x33d0, 0x33d3, 0x33c3, 0x33c9, 0x33dc, 0x33c6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcb6d, 0xcb6e, 0xcb6f, 0xcb70, 0xcb71, 0xcb72, 0xcb73,\n    0xcb74, 0xcb75, 0xcb76, 0xcb77, 0xcb7a, 0xcb7b, 0xcb7c, 0xcb7d,\n    0xcb7e, 0xcb7f, 0xcb80, 0xcb81, 0xcb82, 0xcb83, 0xcb84, 0xcb85,\n    0xcb86, 0xcb87, 0xcb88, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcb89, 0xcb8a, 0xcb8b, 0xcb8c, 0xcb8d, 0xcb8e, 0xcb8f,\n    0xcb90, 0xcb91, 0xcb92, 0xcb93, 0xcb94, 0xcb95, 0xcb96, 0xcb97,\n    0xcb98, 0xcb99, 0xcb9a, 0xcb9b, 0xcb9d, 0xcb9e, 0xcb9f, 0xcba0,\n    0xcba1, 0xcba2, 0xcba3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcba4, 0xcba5, 0xcba6, 0xcba7, 0xcba8, 0xcba9, 0xcbaa,\n    0xcbab, 0xcbac, 0xcbad, 0xcbae, 0xcbaf, 0xcbb0, 0xcbb1, 0xcbb2,\n    0xcbb3, 0xcbb4, 0xcbb5, 0xcbb6, 0xcbb7, 0xcbb9, 0xcbba, 0xcbbb,\n    0xcbbc, 0xcbbd, 0xcbbe, 0xcbbf, 0xcbc0, 0xcbc1, 0xcbc2, 0xcbc3,\n    0xcbc4, 0x00c6, 0x00d0, 0x00aa, 0x0126, 0x003f, 0x0132, 0x003f,\n    0x013f, 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00de, 0x0166, 0x014a,\n    0x003f, 0x3260, 0x3261, 0x3262, 0x3263, 0x3264, 0x3265, 0x3266,\n    0x3267, 0x3268, 0x3269, 0x326a, 0x326b, 0x326c, 0x326d, 0x326e,\n    0x326f, 0x3270, 0x3271, 0x3272, 0x3273, 0x3274, 0x3275, 0x3276,\n    0x3277, 0x3278, 0x3279, 0x327a, 0x327b, 0x24d0, 0x24d1, 0x24d2,\n    0x24d3, 0x24d4, 0x24d5, 0x24d6, 0x24d7, 0x24d8, 0x24d9, 0x24da,\n    0x24db, 0x24dc, 0x24dd, 0x24de, 0x24df, 0x24e0, 0x24e1, 0x24e2,\n    0x24e3, 0x24e4, 0x24e5, 0x24e6, 0x24e7, 0x24e8, 0x24e9, 0x2460,\n    0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468,\n    0x2469, 0x246a, 0x246b, 0x246c, 0x246d, 0x246e, 0x00bd, 0x2153,\n    0x2154, 0x00bc, 0x00be, 0x215b, 0x215c, 0x215d, 0x215e, 0x003f,\n    /* lead byte a9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbc5, 0xcbc6, 0xcbc7, 0xcbc8, 0xcbc9, 0xcbca, 0xcbcb,\n    0xcbcc, 0xcbcd, 0xcbce, 0xcbcf, 0xcbd0, 0xcbd1, 0xcbd2, 0xcbd3,\n    0xcbd5, 0xcbd6, 0xcbd7, 0xcbd8, 0xcbd9, 0xcbda, 0xcbdb, 0xcbdc,\n    0xcbdd, 0xcbde, 0xcbdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbe0, 0xcbe1, 0xcbe2, 0xcbe3, 0xcbe5, 0xcbe6, 0xcbe8,\n    0xcbea, 0xcbeb, 0xcbec, 0xcbed, 0xcbee, 0xcbef, 0xcbf0, 0xcbf1,\n    0xcbf2, 0xcbf3, 0xcbf4, 0xcbf5, 0xcbf6, 0xcbf7, 0xcbf8, 0xcbf9,\n    0xcbfa, 0xcbfb, 0xcbfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbfd, 0xcbfe, 0xcbff, 0xcc00, 0xcc01, 0xcc02, 0xcc03,\n    0xcc04, 0xcc05, 0xcc06, 0xcc07, 0xcc08, 0xcc09, 0xcc0a, 0xcc0b,\n    0xcc0e, 0xcc0f, 0xcc11, 0xcc12, 0xcc13, 0xcc15, 0xcc16, 0xcc17,\n    0xcc18, 0xcc19, 0xcc1a, 0xcc1b, 0xcc1e, 0xcc1f, 0xcc20, 0xcc23,\n    0xcc24, 0x00e6, 0x0111, 0x00f0, 0x0127, 0x0131, 0x0133, 0x0138,\n    0x0140, 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x0167, 0x014b,\n    0x0149, 0x3200, 0x3201, 0x3202, 0x3203, 0x3204, 0x3205, 0x3206,\n    0x3207, 0x3208, 0x3209, 0x320a, 0x320b, 0x320c, 0x320d, 0x320e,\n    0x320f, 0x3210, 0x3211, 0x3212, 0x3213, 0x3214, 0x3215, 0x3216,\n    0x3217, 0x3218, 0x3219, 0x321a, 0x321b, 0x249c, 0x249d, 0x249e,\n    0x249f, 0x24a0, 0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5, 0x24a6,\n    0x24a7, 0x24a8, 0x24a9, 0x24aa, 0x24ab, 0x24ac, 0x24ad, 0x24ae,\n    0x24af, 0x24b0, 0x24b1, 0x24b2, 0x24b3, 0x24b4, 0x24b5, 0x2474,\n    0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247a, 0x247b, 0x247c,\n    0x247d, 0x247e, 0x247f, 0x2480, 0x2481, 0x2482, 0x00b9, 0x00b2,\n    0x00b3, 0x2074, 0x207f, 0x2081, 0x2082, 0x2083, 0x2084, 0x003f,\n    /* lead byte aa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcc25, 0xcc26, 0xcc2a, 0xcc2b, 0xcc2d, 0xcc2f, 0xcc31,\n    0xcc32, 0xcc33, 0xcc34, 0xcc35, 0xcc36, 0xcc37, 0xcc3a, 0xcc3f,\n    0xcc40, 0xcc41, 0xcc42, 0xcc43, 0xcc46, 0xcc47, 0xcc49, 0xcc4a,\n    0xcc4b, 0xcc4d, 0xcc4e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcc4f, 0xcc50, 0xcc51, 0xcc52, 0xcc53, 0xcc56, 0xcc5a,\n    0xcc5b, 0xcc5c, 0xcc5d, 0xcc5e, 0xcc5f, 0xcc61, 0xcc62, 0xcc63,\n    0xcc65, 0xcc67, 0xcc69, 0xcc6a, 0xcc6b, 0xcc6c, 0xcc6d, 0xcc6e,\n    0xcc6f, 0xcc71, 0xcc72, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcc73, 0xcc74, 0xcc76, 0xcc77, 0xcc78, 0xcc79, 0xcc7a,\n    0xcc7b, 0xcc7c, 0xcc7d, 0xcc7e, 0xcc7f, 0xcc80, 0xcc81, 0xcc82,\n    0xcc83, 0xcc84, 0xcc85, 0xcc86, 0xcc87, 0xcc88, 0xcc89, 0xcc8a,\n    0xcc8b, 0xcc8c, 0xcc8d, 0xcc8e, 0xcc8f, 0xcc90, 0xcc91, 0xcc92,\n    0xcc93, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047,\n    0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f,\n    0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057,\n    0x3058, 0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f,\n    0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067,\n    0x3068, 0x3069, 0x306a, 0x306b, 0x306c, 0x306d, 0x306e, 0x306f,\n    0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077,\n    0x3078, 0x3079, 0x307a, 0x307b, 0x307c, 0x307d, 0x307e, 0x307f,\n    0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087,\n    0x3088, 0x3089, 0x308a, 0x308b, 0x308c, 0x308d, 0x308e, 0x308f,\n    0x3090, 0x3091, 0x3092, 0x3093, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ab */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcc94, 0xcc95, 0xcc96, 0xcc97, 0xcc9a, 0xcc9b, 0xcc9d,\n    0xcc9e, 0xcc9f, 0xcca1, 0xcca2, 0xcca3, 0xcca4, 0xcca5, 0xcca6,\n    0xcca7, 0xccaa, 0xccae, 0xccaf, 0xccb0, 0xccb1, 0xccb2, 0xccb3,\n    0xccb6, 0xccb7, 0xccb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccba, 0xccbb, 0xccbd, 0xccbe, 0xccbf, 0xccc0, 0xccc1,\n    0xccc2, 0xccc3, 0xccc6, 0xccc8, 0xccca, 0xcccb, 0xcccc, 0xcccd,\n    0xccce, 0xcccf, 0xccd1, 0xccd2, 0xccd3, 0xccd5, 0xccd6, 0xccd7,\n    0xccd8, 0xccd9, 0xccda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccdb, 0xccdc, 0xccdd, 0xccde, 0xccdf, 0xcce0, 0xcce1,\n    0xcce2, 0xcce3, 0xcce5, 0xcce6, 0xcce7, 0xcce8, 0xcce9, 0xccea,\n    0xcceb, 0xcced, 0xccee, 0xccef, 0xccf1, 0xccf2, 0xccf3, 0xccf4,\n    0xccf5, 0xccf6, 0xccf7, 0xccf8, 0xccf9, 0xccfa, 0xccfb, 0xccfc,\n    0xccfd, 0x30a1, 0x30a2, 0x30a3, 0x30a4, 0x30a5, 0x30a6, 0x30a7,\n    0x30a8, 0x30a9, 0x30aa, 0x30ab, 0x30ac, 0x30ad, 0x30ae, 0x30af,\n    0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4, 0x30b5, 0x30b6, 0x30b7,\n    0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc, 0x30bd, 0x30be, 0x30bf,\n    0x30c0, 0x30c1, 0x30c2, 0x30c3, 0x30c4, 0x30c5, 0x30c6, 0x30c7,\n    0x30c8, 0x30c9, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf,\n    0x30d0, 0x30d1, 0x30d2, 0x30d3, 0x30d4, 0x30d5, 0x30d6, 0x30d7,\n    0x30d8, 0x30d9, 0x30da, 0x30db, 0x30dc, 0x30dd, 0x30de, 0x30df,\n    0x30e0, 0x30e1, 0x30e2, 0x30e3, 0x30e4, 0x30e5, 0x30e6, 0x30e7,\n    0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ee, 0x30ef,\n    0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ac */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccfe, 0xccff, 0xcd00, 0xcd02, 0xcd03, 0xcd04, 0xcd05,\n    0xcd06, 0xcd07, 0xcd0a, 0xcd0b, 0xcd0d, 0xcd0e, 0xcd0f, 0xcd11,\n    0xcd12, 0xcd13, 0xcd14, 0xcd15, 0xcd16, 0xcd17, 0xcd1a, 0xcd1c,\n    0xcd1e, 0xcd1f, 0xcd20, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcd21, 0xcd22, 0xcd23, 0xcd25, 0xcd26, 0xcd27, 0xcd29,\n    0xcd2a, 0xcd2b, 0xcd2d, 0xcd2e, 0xcd2f, 0xcd30, 0xcd31, 0xcd32,\n    0xcd33, 0xcd34, 0xcd35, 0xcd36, 0xcd37, 0xcd38, 0xcd3a, 0xcd3b,\n    0xcd3c, 0xcd3d, 0xcd3e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcd3f, 0xcd40, 0xcd41, 0xcd42, 0xcd43, 0xcd44, 0xcd45,\n    0xcd46, 0xcd47, 0xcd48, 0xcd49, 0xcd4a, 0xcd4b, 0xcd4c, 0xcd4d,\n    0xcd4e, 0xcd4f, 0xcd50, 0xcd51, 0xcd52, 0xcd53, 0xcd54, 0xcd55,\n    0xcd56, 0xcd57, 0xcd58, 0xcd59, 0xcd5a, 0xcd5b, 0xcd5d, 0xcd5e,\n    0xcd5f, 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401,\n    0x0416, 0x0417, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d,\n    0x041e, 0x041f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425,\n    0x0426, 0x0427, 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d,\n    0x042e, 0x042f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451,\n    0x0436, 0x0437, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d,\n    0x043e, 0x043f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445,\n    0x0446, 0x0447, 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d,\n    0x044e, 0x044f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ad */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcd61, 0xcd62, 0xcd63, 0xcd65, 0xcd66, 0xcd67, 0xcd68,\n    0xcd69, 0xcd6a, 0xcd6b, 0xcd6e, 0xcd70, 0xcd72, 0xcd73, 0xcd74,\n    0xcd75, 0xcd76, 0xcd77, 0xcd79, 0xcd7a, 0xcd7b, 0xcd7c, 0xcd7d,\n    0xcd7e, 0xcd7f, 0xcd80, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcd81, 0xcd82, 0xcd83, 0xcd84, 0xcd85, 0xcd86, 0xcd87,\n    0xcd89, 0xcd8a, 0xcd8b, 0xcd8c, 0xcd8d, 0xcd8e, 0xcd8f, 0xcd90,\n    0xcd91, 0xcd92, 0xcd93, 0xcd96, 0xcd97, 0xcd99, 0xcd9a, 0xcd9b,\n    0xcd9d, 0xcd9e, 0xcd9f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcda0, 0xcda1, 0xcda2, 0xcda3, 0xcda6, 0xcda8, 0xcdaa,\n    0xcdab, 0xcdac, 0xcdad, 0xcdae, 0xcdaf, 0xcdb1, 0xcdb2, 0xcdb3,\n    0xcdb4, 0xcdb5, 0xcdb6, 0xcdb7, 0xcdb8, 0xcdb9, 0xcdba, 0xcdbb,\n    0xcdbc, 0xcdbd, 0xcdbe, 0xcdbf, 0xcdc0, 0xcdc1, 0xcdc2, 0xcdc3,\n    0xcdc5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte ae */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdc6, 0xcdc7, 0xcdc8, 0xcdc9, 0xcdca, 0xcdcb, 0xcdcd,\n    0xcdce, 0xcdcf, 0xcdd1, 0xcdd2, 0xcdd3, 0xcdd4, 0xcdd5, 0xcdd6,\n    0xcdd7, 0xcdd8, 0xcdd9, 0xcdda, 0xcddb, 0xcddc, 0xcddd, 0xcdde,\n    0xcddf, 0xcde0, 0xcde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcde2, 0xcde3, 0xcde4, 0xcde5, 0xcde6, 0xcde7, 0xcde9,\n    0xcdea, 0xcdeb, 0xcded, 0xcdee, 0xcdef, 0xcdf1, 0xcdf2, 0xcdf3,\n    0xcdf4, 0xcdf5, 0xcdf6, 0xcdf7, 0xcdfa, 0xcdfc, 0xcdfe, 0xcdff,\n    0xce00, 0xce01, 0xce02, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xce03, 0xce05, 0xce06, 0xce07, 0xce09, 0xce0a, 0xce0b,\n    0xce0d, 0xce0e, 0xce0f, 0xce10, 0xce11, 0xce12, 0xce13, 0xce15,\n    0xce16, 0xce17, 0xce18, 0xce1a, 0xce1b, 0xce1c, 0xce1d, 0xce1e,\n    0xce1f, 0xce22, 0xce23, 0xce25, 0xce26, 0xce27, 0xce29, 0xce2a,\n    0xce2b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte af */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xce2c, 0xce2d, 0xce2e, 0xce2f, 0xce32, 0xce34, 0xce36,\n    0xce37, 0xce38, 0xce39, 0xce3a, 0xce3b, 0xce3c, 0xce3d, 0xce3e,\n    0xce3f, 0xce40, 0xce41, 0xce42, 0xce43, 0xce44, 0xce45, 0xce46,\n    0xce47, 0xce48, 0xce49, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xce4a, 0xce4b, 0xce4c, 0xce4d, 0xce4e, 0xce4f, 0xce50,\n    0xce51, 0xce52, 0xce53, 0xce54, 0xce55, 0xce56, 0xce57, 0xce5a,\n    0xce5b, 0xce5d, 0xce5e, 0xce62, 0xce63, 0xce64, 0xce65, 0xce66,\n    0xce67, 0xce6a, 0xce6c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xce6e, 0xce6f, 0xce70, 0xce71, 0xce72, 0xce73, 0xce76,\n    0xce77, 0xce79, 0xce7a, 0xce7b, 0xce7d, 0xce7e, 0xce7f, 0xce80,\n    0xce81, 0xce82, 0xce83, 0xce86, 0xce88, 0xce8a, 0xce8b, 0xce8c,\n    0xce8d, 0xce8e, 0xce8f, 0xce92, 0xce93, 0xce95, 0xce96, 0xce97,\n    0xce99, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte b0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xce9a, 0xce9b, 0xce9c, 0xce9d, 0xce9e, 0xce9f, 0xcea2,\n    0xcea6, 0xcea7, 0xcea8, 0xcea9, 0xceaa, 0xceab, 0xceae, 0xceaf,\n    0xceb0, 0xceb1, 0xceb2, 0xceb3, 0xceb4, 0xceb5, 0xceb6, 0xceb7,\n    0xceb8, 0xceb9, 0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcebb, 0xcebc, 0xcebd, 0xcebe, 0xcebf, 0xcec0, 0xcec2,\n    0xcec3, 0xcec4, 0xcec5, 0xcec6, 0xcec7, 0xcec8, 0xcec9, 0xceca,\n    0xcecb, 0xcecc, 0xcecd, 0xcece, 0xcecf, 0xced0, 0xced1, 0xced2,\n    0xced3, 0xced4, 0xced5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xced6, 0xced7, 0xced8, 0xced9, 0xceda, 0xcedb, 0xcedc,\n    0xcedd, 0xcede, 0xcedf, 0xcee0, 0xcee1, 0xcee2, 0xcee3, 0xcee6,\n    0xcee7, 0xcee9, 0xceea, 0xceed, 0xceee, 0xceef, 0xcef0, 0xcef1,\n    0xcef2, 0xcef3, 0xcef6, 0xcefa, 0xcefb, 0xcefc, 0xcefd, 0xcefe,\n    0xceff, 0xac00, 0xac01, 0xac04, 0xac07, 0xac08, 0xac09, 0xac0a,\n    0xac10, 0xac11, 0xac12, 0xac13, 0xac14, 0xac15, 0xac16, 0xac17,\n    0xac19, 0xac1a, 0xac1b, 0xac1c, 0xac1d, 0xac20, 0xac24, 0xac2c,\n    0xac2d, 0xac2f, 0xac30, 0xac31, 0xac38, 0xac39, 0xac3c, 0xac40,\n    0xac4b, 0xac4d, 0xac54, 0xac58, 0xac5c, 0xac70, 0xac71, 0xac74,\n    0xac77, 0xac78, 0xac7a, 0xac80, 0xac81, 0xac83, 0xac84, 0xac85,\n    0xac86, 0xac89, 0xac8a, 0xac8b, 0xac8c, 0xac90, 0xac94, 0xac9c,\n    0xac9d, 0xac9f, 0xaca0, 0xaca1, 0xaca8, 0xaca9, 0xacaa, 0xacac,\n    0xacaf, 0xacb0, 0xacb8, 0xacb9, 0xacbb, 0xacbc, 0xacbd, 0xacc1,\n    0xacc4, 0xacc8, 0xaccc, 0xacd5, 0xacd7, 0xace0, 0xace1, 0xace4,\n    0xace7, 0xace8, 0xacea, 0xacec, 0xacef, 0xacf0, 0xacf1, 0xacf3,\n    0xacf5, 0xacf6, 0xacfc, 0xacfd, 0xad00, 0xad04, 0xad06, 0x003f,\n    /* lead byte b1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcf02, 0xcf03, 0xcf05, 0xcf06, 0xcf07, 0xcf09, 0xcf0a,\n    0xcf0b, 0xcf0c, 0xcf0d, 0xcf0e, 0xcf0f, 0xcf12, 0xcf14, 0xcf16,\n    0xcf17, 0xcf18, 0xcf19, 0xcf1a, 0xcf1b, 0xcf1d, 0xcf1e, 0xcf1f,\n    0xcf21, 0xcf22, 0xcf23, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcf25, 0xcf26, 0xcf27, 0xcf28, 0xcf29, 0xcf2a, 0xcf2b,\n    0xcf2e, 0xcf32, 0xcf33, 0xcf34, 0xcf35, 0xcf36, 0xcf37, 0xcf39,\n    0xcf3a, 0xcf3b, 0xcf3c, 0xcf3d, 0xcf3e, 0xcf3f, 0xcf40, 0xcf41,\n    0xcf42, 0xcf43, 0xcf44, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcf45, 0xcf46, 0xcf47, 0xcf48, 0xcf49, 0xcf4a, 0xcf4b,\n    0xcf4c, 0xcf4d, 0xcf4e, 0xcf4f, 0xcf50, 0xcf51, 0xcf52, 0xcf53,\n    0xcf56, 0xcf57, 0xcf59, 0xcf5a, 0xcf5b, 0xcf5d, 0xcf5e, 0xcf5f,\n    0xcf60, 0xcf61, 0xcf62, 0xcf63, 0xcf66, 0xcf68, 0xcf6a, 0xcf6b,\n    0xcf6c, 0xad0c, 0xad0d, 0xad0f, 0xad11, 0xad18, 0xad1c, 0xad20,\n    0xad29, 0xad2c, 0xad2d, 0xad34, 0xad35, 0xad38, 0xad3c, 0xad44,\n    0xad45, 0xad47, 0xad49, 0xad50, 0xad54, 0xad58, 0xad61, 0xad63,\n    0xad6c, 0xad6d, 0xad70, 0xad73, 0xad74, 0xad75, 0xad76, 0xad7b,\n    0xad7c, 0xad7d, 0xad7f, 0xad81, 0xad82, 0xad88, 0xad89, 0xad8c,\n    0xad90, 0xad9c, 0xad9d, 0xada4, 0xadb7, 0xadc0, 0xadc1, 0xadc4,\n    0xadc8, 0xadd0, 0xadd1, 0xadd3, 0xaddc, 0xade0, 0xade4, 0xadf8,\n    0xadf9, 0xadfc, 0xadff, 0xae00, 0xae01, 0xae08, 0xae09, 0xae0b,\n    0xae0d, 0xae14, 0xae30, 0xae31, 0xae34, 0xae37, 0xae38, 0xae3a,\n    0xae40, 0xae41, 0xae43, 0xae45, 0xae46, 0xae4a, 0xae4c, 0xae4d,\n    0xae4e, 0xae50, 0xae54, 0xae56, 0xae5c, 0xae5d, 0xae5f, 0xae60,\n    0xae61, 0xae65, 0xae68, 0xae69, 0xae6c, 0xae70, 0xae78, 0x003f,\n    /* lead byte b2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcf6d, 0xcf6e, 0xcf6f, 0xcf72, 0xcf73, 0xcf75, 0xcf76,\n    0xcf77, 0xcf79, 0xcf7a, 0xcf7b, 0xcf7c, 0xcf7d, 0xcf7e, 0xcf7f,\n    0xcf81, 0xcf82, 0xcf83, 0xcf84, 0xcf86, 0xcf87, 0xcf88, 0xcf89,\n    0xcf8a, 0xcf8b, 0xcf8d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcf8e, 0xcf8f, 0xcf90, 0xcf91, 0xcf92, 0xcf93, 0xcf94,\n    0xcf95, 0xcf96, 0xcf97, 0xcf98, 0xcf99, 0xcf9a, 0xcf9b, 0xcf9c,\n    0xcf9d, 0xcf9e, 0xcf9f, 0xcfa0, 0xcfa2, 0xcfa3, 0xcfa4, 0xcfa5,\n    0xcfa6, 0xcfa7, 0xcfa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfaa, 0xcfab, 0xcfac, 0xcfad, 0xcfae, 0xcfaf, 0xcfb1,\n    0xcfb2, 0xcfb3, 0xcfb4, 0xcfb5, 0xcfb6, 0xcfb7, 0xcfb8, 0xcfb9,\n    0xcfba, 0xcfbb, 0xcfbc, 0xcfbd, 0xcfbe, 0xcfbf, 0xcfc0, 0xcfc1,\n    0xcfc2, 0xcfc3, 0xcfc5, 0xcfc6, 0xcfc7, 0xcfc8, 0xcfc9, 0xcfca,\n    0xcfcb, 0xae79, 0xae7b, 0xae7c, 0xae7d, 0xae84, 0xae85, 0xae8c,\n    0xaebc, 0xaebd, 0xaebe, 0xaec0, 0xaec4, 0xaecc, 0xaecd, 0xaecf,\n    0xaed0, 0xaed1, 0xaed8, 0xaed9, 0xaedc, 0xaee8, 0xaeeb, 0xaeed,\n    0xaef4, 0xaef8, 0xaefc, 0xaf07, 0xaf08, 0xaf0d, 0xaf10, 0xaf2c,\n    0xaf2d, 0xaf30, 0xaf32, 0xaf34, 0xaf3c, 0xaf3d, 0xaf3f, 0xaf41,\n    0xaf42, 0xaf43, 0xaf48, 0xaf49, 0xaf50, 0xaf5c, 0xaf5d, 0xaf64,\n    0xaf65, 0xaf79, 0xaf80, 0xaf84, 0xaf88, 0xaf90, 0xaf91, 0xaf95,\n    0xaf9c, 0xafb8, 0xafb9, 0xafbc, 0xafc0, 0xafc7, 0xafc8, 0xafc9,\n    0xafcb, 0xafcd, 0xafce, 0xafd4, 0xafdc, 0xafe8, 0xafe9, 0xaff0,\n    0xaff1, 0xaff4, 0xaff8, 0xb000, 0xb001, 0xb004, 0xb00c, 0xb010,\n    0xb014, 0xb01c, 0xb01d, 0xb028, 0xb044, 0xb045, 0xb048, 0xb04a,\n    0xb04c, 0xb04e, 0xb053, 0xb054, 0xb055, 0xb057, 0xb059, 0x003f,\n    /* lead byte b3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfcc, 0xcfcd, 0xcfce, 0xcfcf, 0xcfd0, 0xcfd1, 0xcfd2,\n    0xcfd3, 0xcfd4, 0xcfd5, 0xcfd6, 0xcfd7, 0xcfd8, 0xcfd9, 0xcfda,\n    0xcfdb, 0xcfdc, 0xcfdd, 0xcfde, 0xcfdf, 0xcfe2, 0xcfe3, 0xcfe5,\n    0xcfe6, 0xcfe7, 0xcfe9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfea, 0xcfeb, 0xcfec, 0xcfed, 0xcfee, 0xcfef, 0xcff2,\n    0xcff4, 0xcff6, 0xcff7, 0xcff8, 0xcff9, 0xcffa, 0xcffb, 0xcffd,\n    0xcffe, 0xcfff, 0xd001, 0xd002, 0xd003, 0xd005, 0xd006, 0xd007,\n    0xd008, 0xd009, 0xd00a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd00b, 0xd00c, 0xd00d, 0xd00e, 0xd00f, 0xd010, 0xd012,\n    0xd013, 0xd014, 0xd015, 0xd016, 0xd017, 0xd019, 0xd01a, 0xd01b,\n    0xd01c, 0xd01d, 0xd01e, 0xd01f, 0xd020, 0xd021, 0xd022, 0xd023,\n    0xd024, 0xd025, 0xd026, 0xd027, 0xd028, 0xd029, 0xd02a, 0xd02b,\n    0xd02c, 0xb05d, 0xb07c, 0xb07d, 0xb080, 0xb084, 0xb08c, 0xb08d,\n    0xb08f, 0xb091, 0xb098, 0xb099, 0xb09a, 0xb09c, 0xb09f, 0xb0a0,\n    0xb0a1, 0xb0a2, 0xb0a8, 0xb0a9, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae,\n    0xb0af, 0xb0b1, 0xb0b3, 0xb0b4, 0xb0b5, 0xb0b8, 0xb0bc, 0xb0c4,\n    0xb0c5, 0xb0c7, 0xb0c8, 0xb0c9, 0xb0d0, 0xb0d1, 0xb0d4, 0xb0d8,\n    0xb0e0, 0xb0e5, 0xb108, 0xb109, 0xb10b, 0xb10c, 0xb110, 0xb112,\n    0xb113, 0xb118, 0xb119, 0xb11b, 0xb11c, 0xb11d, 0xb123, 0xb124,\n    0xb125, 0xb128, 0xb12c, 0xb134, 0xb135, 0xb137, 0xb138, 0xb139,\n    0xb140, 0xb141, 0xb144, 0xb148, 0xb150, 0xb151, 0xb154, 0xb155,\n    0xb158, 0xb15c, 0xb160, 0xb178, 0xb179, 0xb17c, 0xb180, 0xb182,\n    0xb188, 0xb189, 0xb18b, 0xb18d, 0xb192, 0xb193, 0xb194, 0xb198,\n    0xb19c, 0xb1a8, 0xb1cc, 0xb1d0, 0xb1d4, 0xb1dc, 0xb1dd, 0x003f,\n    /* lead byte b4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd02e, 0xd02f, 0xd030, 0xd031, 0xd032, 0xd033, 0xd036,\n    0xd037, 0xd039, 0xd03a, 0xd03b, 0xd03d, 0xd03e, 0xd03f, 0xd040,\n    0xd041, 0xd042, 0xd043, 0xd046, 0xd048, 0xd04a, 0xd04b, 0xd04c,\n    0xd04d, 0xd04e, 0xd04f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd051, 0xd052, 0xd053, 0xd055, 0xd056, 0xd057, 0xd059,\n    0xd05a, 0xd05b, 0xd05c, 0xd05d, 0xd05e, 0xd05f, 0xd061, 0xd062,\n    0xd063, 0xd064, 0xd065, 0xd066, 0xd067, 0xd068, 0xd069, 0xd06a,\n    0xd06b, 0xd06e, 0xd06f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd071, 0xd072, 0xd073, 0xd075, 0xd076, 0xd077, 0xd078,\n    0xd079, 0xd07a, 0xd07b, 0xd07e, 0xd07f, 0xd080, 0xd082, 0xd083,\n    0xd084, 0xd085, 0xd086, 0xd087, 0xd088, 0xd089, 0xd08a, 0xd08b,\n    0xd08c, 0xd08d, 0xd08e, 0xd08f, 0xd090, 0xd091, 0xd092, 0xd093,\n    0xd094, 0xb1df, 0xb1e8, 0xb1e9, 0xb1ec, 0xb1f0, 0xb1f9, 0xb1fb,\n    0xb1fd, 0xb204, 0xb205, 0xb208, 0xb20b, 0xb20c, 0xb214, 0xb215,\n    0xb217, 0xb219, 0xb220, 0xb234, 0xb23c, 0xb258, 0xb25c, 0xb260,\n    0xb268, 0xb269, 0xb274, 0xb275, 0xb27c, 0xb284, 0xb285, 0xb289,\n    0xb290, 0xb291, 0xb294, 0xb298, 0xb299, 0xb29a, 0xb2a0, 0xb2a1,\n    0xb2a3, 0xb2a5, 0xb2a6, 0xb2aa, 0xb2ac, 0xb2b0, 0xb2b4, 0xb2c8,\n    0xb2c9, 0xb2cc, 0xb2d0, 0xb2d2, 0xb2d8, 0xb2d9, 0xb2db, 0xb2dd,\n    0xb2e2, 0xb2e4, 0xb2e5, 0xb2e6, 0xb2e8, 0xb2eb, 0xb2ec, 0xb2ed,\n    0xb2ee, 0xb2ef, 0xb2f3, 0xb2f4, 0xb2f5, 0xb2f7, 0xb2f8, 0xb2f9,\n    0xb2fa, 0xb2fb, 0xb2ff, 0xb300, 0xb301, 0xb304, 0xb308, 0xb310,\n    0xb311, 0xb313, 0xb314, 0xb315, 0xb31c, 0xb354, 0xb355, 0xb356,\n    0xb358, 0xb35b, 0xb35c, 0xb35e, 0xb35f, 0xb364, 0xb365, 0x003f,\n    /* lead byte b5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd095, 0xd096, 0xd097, 0xd098, 0xd099, 0xd09a, 0xd09b,\n    0xd09c, 0xd09d, 0xd09e, 0xd09f, 0xd0a0, 0xd0a1, 0xd0a2, 0xd0a3,\n    0xd0a6, 0xd0a7, 0xd0a9, 0xd0aa, 0xd0ab, 0xd0ad, 0xd0ae, 0xd0af,\n    0xd0b0, 0xd0b1, 0xd0b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0b3, 0xd0b6, 0xd0b8, 0xd0ba, 0xd0bb, 0xd0bc, 0xd0bd,\n    0xd0be, 0xd0bf, 0xd0c2, 0xd0c3, 0xd0c5, 0xd0c6, 0xd0c7, 0xd0ca,\n    0xd0cb, 0xd0cc, 0xd0cd, 0xd0ce, 0xd0cf, 0xd0d2, 0xd0d6, 0xd0d7,\n    0xd0d8, 0xd0d9, 0xd0da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0db, 0xd0de, 0xd0df, 0xd0e1, 0xd0e2, 0xd0e3, 0xd0e5,\n    0xd0e6, 0xd0e7, 0xd0e8, 0xd0e9, 0xd0ea, 0xd0eb, 0xd0ee, 0xd0f2,\n    0xd0f3, 0xd0f4, 0xd0f5, 0xd0f6, 0xd0f7, 0xd0f9, 0xd0fa, 0xd0fb,\n    0xd0fc, 0xd0fd, 0xd0fe, 0xd0ff, 0xd100, 0xd101, 0xd102, 0xd103,\n    0xd104, 0xb367, 0xb369, 0xb36b, 0xb36e, 0xb370, 0xb371, 0xb374,\n    0xb378, 0xb380, 0xb381, 0xb383, 0xb384, 0xb385, 0xb38c, 0xb390,\n    0xb394, 0xb3a0, 0xb3a1, 0xb3a8, 0xb3ac, 0xb3c4, 0xb3c5, 0xb3c8,\n    0xb3cb, 0xb3cc, 0xb3ce, 0xb3d0, 0xb3d4, 0xb3d5, 0xb3d7, 0xb3d9,\n    0xb3db, 0xb3dd, 0xb3e0, 0xb3e4, 0xb3e8, 0xb3fc, 0xb410, 0xb418,\n    0xb41c, 0xb420, 0xb428, 0xb429, 0xb42b, 0xb434, 0xb450, 0xb451,\n    0xb454, 0xb458, 0xb460, 0xb461, 0xb463, 0xb465, 0xb46c, 0xb480,\n    0xb488, 0xb49d, 0xb4a4, 0xb4a8, 0xb4ac, 0xb4b5, 0xb4b7, 0xb4b9,\n    0xb4c0, 0xb4c4, 0xb4c8, 0xb4d0, 0xb4d5, 0xb4dc, 0xb4dd, 0xb4e0,\n    0xb4e3, 0xb4e4, 0xb4e6, 0xb4ec, 0xb4ed, 0xb4ef, 0xb4f1, 0xb4f8,\n    0xb514, 0xb515, 0xb518, 0xb51b, 0xb51c, 0xb524, 0xb525, 0xb527,\n    0xb528, 0xb529, 0xb52a, 0xb530, 0xb531, 0xb534, 0xb538, 0x003f,\n    /* lead byte b6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd105, 0xd106, 0xd107, 0xd108, 0xd109, 0xd10a, 0xd10b,\n    0xd10c, 0xd10e, 0xd10f, 0xd110, 0xd111, 0xd112, 0xd113, 0xd114,\n    0xd115, 0xd116, 0xd117, 0xd118, 0xd119, 0xd11a, 0xd11b, 0xd11c,\n    0xd11d, 0xd11e, 0xd11f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd120, 0xd121, 0xd122, 0xd123, 0xd124, 0xd125, 0xd126,\n    0xd127, 0xd128, 0xd129, 0xd12a, 0xd12b, 0xd12c, 0xd12d, 0xd12e,\n    0xd12f, 0xd132, 0xd133, 0xd135, 0xd136, 0xd137, 0xd139, 0xd13b,\n    0xd13c, 0xd13d, 0xd13e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd13f, 0xd142, 0xd146, 0xd147, 0xd148, 0xd149, 0xd14a,\n    0xd14b, 0xd14e, 0xd14f, 0xd151, 0xd152, 0xd153, 0xd155, 0xd156,\n    0xd157, 0xd158, 0xd159, 0xd15a, 0xd15b, 0xd15e, 0xd160, 0xd162,\n    0xd163, 0xd164, 0xd165, 0xd166, 0xd167, 0xd169, 0xd16a, 0xd16b,\n    0xd16d, 0xb540, 0xb541, 0xb543, 0xb544, 0xb545, 0xb54b, 0xb54c,\n    0xb54d, 0xb550, 0xb554, 0xb55c, 0xb55d, 0xb55f, 0xb560, 0xb561,\n    0xb5a0, 0xb5a1, 0xb5a4, 0xb5a8, 0xb5aa, 0xb5ab, 0xb5b0, 0xb5b1,\n    0xb5b3, 0xb5b4, 0xb5b5, 0xb5bb, 0xb5bc, 0xb5bd, 0xb5c0, 0xb5c4,\n    0xb5cc, 0xb5cd, 0xb5cf, 0xb5d0, 0xb5d1, 0xb5d8, 0xb5ec, 0xb610,\n    0xb611, 0xb614, 0xb618, 0xb625, 0xb62c, 0xb634, 0xb648, 0xb664,\n    0xb668, 0xb69c, 0xb69d, 0xb6a0, 0xb6a4, 0xb6ab, 0xb6ac, 0xb6b1,\n    0xb6d4, 0xb6f0, 0xb6f4, 0xb6f8, 0xb700, 0xb701, 0xb705, 0xb728,\n    0xb729, 0xb72c, 0xb72f, 0xb730, 0xb738, 0xb739, 0xb73b, 0xb744,\n    0xb748, 0xb74c, 0xb754, 0xb755, 0xb760, 0xb764, 0xb768, 0xb770,\n    0xb771, 0xb773, 0xb775, 0xb77c, 0xb77d, 0xb780, 0xb784, 0xb78c,\n    0xb78d, 0xb78f, 0xb790, 0xb791, 0xb792, 0xb796, 0xb797, 0x003f,\n    /* lead byte b7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd16e, 0xd16f, 0xd170, 0xd171, 0xd172, 0xd173, 0xd174,\n    0xd175, 0xd176, 0xd177, 0xd178, 0xd179, 0xd17a, 0xd17b, 0xd17d,\n    0xd17e, 0xd17f, 0xd180, 0xd181, 0xd182, 0xd183, 0xd185, 0xd186,\n    0xd187, 0xd189, 0xd18a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd18b, 0xd18c, 0xd18d, 0xd18e, 0xd18f, 0xd190, 0xd191,\n    0xd192, 0xd193, 0xd194, 0xd195, 0xd196, 0xd197, 0xd198, 0xd199,\n    0xd19a, 0xd19b, 0xd19c, 0xd19d, 0xd19e, 0xd19f, 0xd1a2, 0xd1a3,\n    0xd1a5, 0xd1a6, 0xd1a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd1a9, 0xd1aa, 0xd1ab, 0xd1ac, 0xd1ad, 0xd1ae, 0xd1af,\n    0xd1b2, 0xd1b4, 0xd1b6, 0xd1b7, 0xd1b8, 0xd1b9, 0xd1bb, 0xd1bd,\n    0xd1be, 0xd1bf, 0xd1c1, 0xd1c2, 0xd1c3, 0xd1c4, 0xd1c5, 0xd1c6,\n    0xd1c7, 0xd1c8, 0xd1c9, 0xd1ca, 0xd1cb, 0xd1cc, 0xd1cd, 0xd1ce,\n    0xd1cf, 0xb798, 0xb799, 0xb79c, 0xb7a0, 0xb7a8, 0xb7a9, 0xb7ab,\n    0xb7ac, 0xb7ad, 0xb7b4, 0xb7b5, 0xb7b8, 0xb7c7, 0xb7c9, 0xb7ec,\n    0xb7ed, 0xb7f0, 0xb7f4, 0xb7fc, 0xb7fd, 0xb7ff, 0xb800, 0xb801,\n    0xb807, 0xb808, 0xb809, 0xb80c, 0xb810, 0xb818, 0xb819, 0xb81b,\n    0xb81d, 0xb824, 0xb825, 0xb828, 0xb82c, 0xb834, 0xb835, 0xb837,\n    0xb838, 0xb839, 0xb840, 0xb844, 0xb851, 0xb853, 0xb85c, 0xb85d,\n    0xb860, 0xb864, 0xb86c, 0xb86d, 0xb86f, 0xb871, 0xb878, 0xb87c,\n    0xb88d, 0xb8a8, 0xb8b0, 0xb8b4, 0xb8b8, 0xb8c0, 0xb8c1, 0xb8c3,\n    0xb8c5, 0xb8cc, 0xb8d0, 0xb8d4, 0xb8dd, 0xb8df, 0xb8e1, 0xb8e8,\n    0xb8e9, 0xb8ec, 0xb8f0, 0xb8f8, 0xb8f9, 0xb8fb, 0xb8fd, 0xb904,\n    0xb918, 0xb920, 0xb93c, 0xb93d, 0xb940, 0xb944, 0xb94c, 0xb94f,\n    0xb951, 0xb958, 0xb959, 0xb95c, 0xb960, 0xb968, 0xb969, 0x003f,\n    /* lead byte b8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd1d0, 0xd1d1, 0xd1d2, 0xd1d3, 0xd1d4, 0xd1d5, 0xd1d6,\n    0xd1d7, 0xd1d9, 0xd1da, 0xd1db, 0xd1dc, 0xd1dd, 0xd1de, 0xd1df,\n    0xd1e0, 0xd1e1, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5, 0xd1e6, 0xd1e7,\n    0xd1e8, 0xd1e9, 0xd1ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd1eb, 0xd1ec, 0xd1ed, 0xd1ee, 0xd1ef, 0xd1f0, 0xd1f1,\n    0xd1f2, 0xd1f3, 0xd1f5, 0xd1f6, 0xd1f7, 0xd1f9, 0xd1fa, 0xd1fb,\n    0xd1fc, 0xd1fd, 0xd1fe, 0xd1ff, 0xd200, 0xd201, 0xd202, 0xd203,\n    0xd204, 0xd205, 0xd206, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd208, 0xd20a, 0xd20b, 0xd20c, 0xd20d, 0xd20e, 0xd20f,\n    0xd211, 0xd212, 0xd213, 0xd214, 0xd215, 0xd216, 0xd217, 0xd218,\n    0xd219, 0xd21a, 0xd21b, 0xd21c, 0xd21d, 0xd21e, 0xd21f, 0xd220,\n    0xd221, 0xd222, 0xd223, 0xd224, 0xd225, 0xd226, 0xd227, 0xd228,\n    0xd229, 0xb96b, 0xb96d, 0xb974, 0xb975, 0xb978, 0xb97c, 0xb984,\n    0xb985, 0xb987, 0xb989, 0xb98a, 0xb98d, 0xb98e, 0xb9ac, 0xb9ad,\n    0xb9b0, 0xb9b4, 0xb9bc, 0xb9bd, 0xb9bf, 0xb9c1, 0xb9c8, 0xb9c9,\n    0xb9cc, 0xb9ce, 0xb9cf, 0xb9d0, 0xb9d1, 0xb9d2, 0xb9d8, 0xb9d9,\n    0xb9db, 0xb9dd, 0xb9de, 0xb9e1, 0xb9e3, 0xb9e4, 0xb9e5, 0xb9e8,\n    0xb9ec, 0xb9f4, 0xb9f5, 0xb9f7, 0xb9f8, 0xb9f9, 0xb9fa, 0xba00,\n    0xba01, 0xba08, 0xba15, 0xba38, 0xba39, 0xba3c, 0xba40, 0xba42,\n    0xba48, 0xba49, 0xba4b, 0xba4d, 0xba4e, 0xba53, 0xba54, 0xba55,\n    0xba58, 0xba5c, 0xba64, 0xba65, 0xba67, 0xba68, 0xba69, 0xba70,\n    0xba71, 0xba74, 0xba78, 0xba83, 0xba84, 0xba85, 0xba87, 0xba8c,\n    0xbaa8, 0xbaa9, 0xbaab, 0xbaac, 0xbab0, 0xbab2, 0xbab8, 0xbab9,\n    0xbabb, 0xbabd, 0xbac4, 0xbac8, 0xbad8, 0xbad9, 0xbafc, 0x003f,\n    /* lead byte b9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd22a, 0xd22b, 0xd22e, 0xd22f, 0xd231, 0xd232, 0xd233,\n    0xd235, 0xd236, 0xd237, 0xd238, 0xd239, 0xd23a, 0xd23b, 0xd23e,\n    0xd240, 0xd242, 0xd243, 0xd244, 0xd245, 0xd246, 0xd247, 0xd249,\n    0xd24a, 0xd24b, 0xd24c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd24d, 0xd24e, 0xd24f, 0xd250, 0xd251, 0xd252, 0xd253,\n    0xd254, 0xd255, 0xd256, 0xd257, 0xd258, 0xd259, 0xd25a, 0xd25b,\n    0xd25d, 0xd25e, 0xd25f, 0xd260, 0xd261, 0xd262, 0xd263, 0xd265,\n    0xd266, 0xd267, 0xd268, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd269, 0xd26a, 0xd26b, 0xd26c, 0xd26d, 0xd26e, 0xd26f,\n    0xd270, 0xd271, 0xd272, 0xd273, 0xd274, 0xd275, 0xd276, 0xd277,\n    0xd278, 0xd279, 0xd27a, 0xd27b, 0xd27c, 0xd27d, 0xd27e, 0xd27f,\n    0xd282, 0xd283, 0xd285, 0xd286, 0xd287, 0xd289, 0xd28a, 0xd28b,\n    0xd28c, 0xbb00, 0xbb04, 0xbb0d, 0xbb0f, 0xbb11, 0xbb18, 0xbb1c,\n    0xbb20, 0xbb29, 0xbb2b, 0xbb34, 0xbb35, 0xbb36, 0xbb38, 0xbb3b,\n    0xbb3c, 0xbb3d, 0xbb3e, 0xbb44, 0xbb45, 0xbb47, 0xbb49, 0xbb4d,\n    0xbb4f, 0xbb50, 0xbb54, 0xbb58, 0xbb61, 0xbb63, 0xbb6c, 0xbb88,\n    0xbb8c, 0xbb90, 0xbba4, 0xbba8, 0xbbac, 0xbbb4, 0xbbb7, 0xbbc0,\n    0xbbc4, 0xbbc8, 0xbbd0, 0xbbd3, 0xbbf8, 0xbbf9, 0xbbfc, 0xbbff,\n    0xbc00, 0xbc02, 0xbc08, 0xbc09, 0xbc0b, 0xbc0c, 0xbc0d, 0xbc0f,\n    0xbc11, 0xbc14, 0xbc15, 0xbc16, 0xbc17, 0xbc18, 0xbc1b, 0xbc1c,\n    0xbc1d, 0xbc1e, 0xbc1f, 0xbc24, 0xbc25, 0xbc27, 0xbc29, 0xbc2d,\n    0xbc30, 0xbc31, 0xbc34, 0xbc38, 0xbc40, 0xbc41, 0xbc43, 0xbc44,\n    0xbc45, 0xbc49, 0xbc4c, 0xbc4d, 0xbc50, 0xbc5d, 0xbc84, 0xbc85,\n    0xbc88, 0xbc8b, 0xbc8c, 0xbc8e, 0xbc94, 0xbc95, 0xbc97, 0x003f,\n    /* lead byte ba */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd28d, 0xd28e, 0xd28f, 0xd292, 0xd293, 0xd294, 0xd296,\n    0xd297, 0xd298, 0xd299, 0xd29a, 0xd29b, 0xd29d, 0xd29e, 0xd29f,\n    0xd2a1, 0xd2a2, 0xd2a3, 0xd2a5, 0xd2a6, 0xd2a7, 0xd2a8, 0xd2a9,\n    0xd2aa, 0xd2ab, 0xd2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd2ae, 0xd2af, 0xd2b0, 0xd2b2, 0xd2b3, 0xd2b4, 0xd2b5,\n    0xd2b6, 0xd2b7, 0xd2ba, 0xd2bb, 0xd2bd, 0xd2be, 0xd2c1, 0xd2c3,\n    0xd2c4, 0xd2c5, 0xd2c6, 0xd2c7, 0xd2ca, 0xd2cc, 0xd2cd, 0xd2ce,\n    0xd2cf, 0xd2d0, 0xd2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd2d2, 0xd2d3, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da,\n    0xd2db, 0xd2dd, 0xd2de, 0xd2df, 0xd2e0, 0xd2e1, 0xd2e2, 0xd2e3,\n    0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9, 0xd2ea, 0xd2eb, 0xd2ec, 0xd2ed,\n    0xd2ee, 0xd2ef, 0xd2f2, 0xd2f3, 0xd2f5, 0xd2f6, 0xd2f7, 0xd2f9,\n    0xd2fa, 0xbc99, 0xbc9a, 0xbca0, 0xbca1, 0xbca4, 0xbca7, 0xbca8,\n    0xbcb0, 0xbcb1, 0xbcb3, 0xbcb4, 0xbcb5, 0xbcbc, 0xbcbd, 0xbcc0,\n    0xbcc4, 0xbccd, 0xbccf, 0xbcd0, 0xbcd1, 0xbcd5, 0xbcd8, 0xbcdc,\n    0xbcf4, 0xbcf5, 0xbcf6, 0xbcf8, 0xbcfc, 0xbd04, 0xbd05, 0xbd07,\n    0xbd09, 0xbd10, 0xbd14, 0xbd24, 0xbd2c, 0xbd40, 0xbd48, 0xbd49,\n    0xbd4c, 0xbd50, 0xbd58, 0xbd59, 0xbd64, 0xbd68, 0xbd80, 0xbd81,\n    0xbd84, 0xbd87, 0xbd88, 0xbd89, 0xbd8a, 0xbd90, 0xbd91, 0xbd93,\n    0xbd95, 0xbd99, 0xbd9a, 0xbd9c, 0xbda4, 0xbdb0, 0xbdb8, 0xbdd4,\n    0xbdd5, 0xbdd8, 0xbddc, 0xbde9, 0xbdf0, 0xbdf4, 0xbdf8, 0xbe00,\n    0xbe03, 0xbe05, 0xbe0c, 0xbe0d, 0xbe10, 0xbe14, 0xbe1c, 0xbe1d,\n    0xbe1f, 0xbe44, 0xbe45, 0xbe48, 0xbe4c, 0xbe4e, 0xbe54, 0xbe55,\n    0xbe57, 0xbe59, 0xbe5a, 0xbe5b, 0xbe60, 0xbe61, 0xbe64, 0x003f,\n    /* lead byte bb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd2fb, 0xd2fc, 0xd2fd, 0xd2fe, 0xd2ff, 0xd302, 0xd304,\n    0xd306, 0xd307, 0xd308, 0xd309, 0xd30a, 0xd30b, 0xd30f, 0xd311,\n    0xd312, 0xd313, 0xd315, 0xd317, 0xd318, 0xd319, 0xd31a, 0xd31b,\n    0xd31e, 0xd322, 0xd323, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd324, 0xd326, 0xd327, 0xd32a, 0xd32b, 0xd32d, 0xd32e,\n    0xd32f, 0xd331, 0xd332, 0xd333, 0xd334, 0xd335, 0xd336, 0xd337,\n    0xd33a, 0xd33e, 0xd33f, 0xd340, 0xd341, 0xd342, 0xd343, 0xd346,\n    0xd347, 0xd348, 0xd349, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd34a, 0xd34b, 0xd34c, 0xd34d, 0xd34e, 0xd34f, 0xd350,\n    0xd351, 0xd352, 0xd353, 0xd354, 0xd355, 0xd356, 0xd357, 0xd358,\n    0xd359, 0xd35a, 0xd35b, 0xd35c, 0xd35d, 0xd35e, 0xd35f, 0xd360,\n    0xd361, 0xd362, 0xd363, 0xd364, 0xd365, 0xd366, 0xd367, 0xd368,\n    0xd369, 0xbe68, 0xbe6a, 0xbe70, 0xbe71, 0xbe73, 0xbe74, 0xbe75,\n    0xbe7b, 0xbe7c, 0xbe7d, 0xbe80, 0xbe84, 0xbe8c, 0xbe8d, 0xbe8f,\n    0xbe90, 0xbe91, 0xbe98, 0xbe99, 0xbea8, 0xbed0, 0xbed1, 0xbed4,\n    0xbed7, 0xbed8, 0xbee0, 0xbee3, 0xbee4, 0xbee5, 0xbeec, 0xbf01,\n    0xbf08, 0xbf09, 0xbf18, 0xbf19, 0xbf1b, 0xbf1c, 0xbf1d, 0xbf40,\n    0xbf41, 0xbf44, 0xbf48, 0xbf50, 0xbf51, 0xbf55, 0xbf94, 0xbfb0,\n    0xbfc5, 0xbfcc, 0xbfcd, 0xbfd0, 0xbfd4, 0xbfdc, 0xbfdf, 0xbfe1,\n    0xc03c, 0xc051, 0xc058, 0xc05c, 0xc060, 0xc068, 0xc069, 0xc090,\n    0xc091, 0xc094, 0xc098, 0xc0a0, 0xc0a1, 0xc0a3, 0xc0a5, 0xc0ac,\n    0xc0ad, 0xc0af, 0xc0b0, 0xc0b3, 0xc0b4, 0xc0b5, 0xc0b6, 0xc0bc,\n    0xc0bd, 0xc0bf, 0xc0c0, 0xc0c1, 0xc0c5, 0xc0c8, 0xc0c9, 0xc0cc,\n    0xc0d0, 0xc0d8, 0xc0d9, 0xc0db, 0xc0dc, 0xc0dd, 0xc0e4, 0x003f,\n    /* lead byte bc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd36a, 0xd36b, 0xd36c, 0xd36d, 0xd36e, 0xd36f, 0xd370,\n    0xd371, 0xd372, 0xd373, 0xd374, 0xd375, 0xd376, 0xd377, 0xd378,\n    0xd379, 0xd37a, 0xd37b, 0xd37e, 0xd37f, 0xd381, 0xd382, 0xd383,\n    0xd385, 0xd386, 0xd387, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd388, 0xd389, 0xd38a, 0xd38b, 0xd38e, 0xd392, 0xd393,\n    0xd394, 0xd395, 0xd396, 0xd397, 0xd39a, 0xd39b, 0xd39d, 0xd39e,\n    0xd39f, 0xd3a1, 0xd3a2, 0xd3a3, 0xd3a4, 0xd3a5, 0xd3a6, 0xd3a7,\n    0xd3aa, 0xd3ac, 0xd3ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3af, 0xd3b0, 0xd3b1, 0xd3b2, 0xd3b3, 0xd3b5, 0xd3b6,\n    0xd3b7, 0xd3b9, 0xd3ba, 0xd3bb, 0xd3bd, 0xd3be, 0xd3bf, 0xd3c0,\n    0xd3c1, 0xd3c2, 0xd3c3, 0xd3c6, 0xd3c7, 0xd3ca, 0xd3cb, 0xd3cc,\n    0xd3cd, 0xd3ce, 0xd3cf, 0xd3d1, 0xd3d2, 0xd3d3, 0xd3d4, 0xd3d5,\n    0xd3d6, 0xc0e5, 0xc0e8, 0xc0ec, 0xc0f4, 0xc0f5, 0xc0f7, 0xc0f9,\n    0xc100, 0xc104, 0xc108, 0xc110, 0xc115, 0xc11c, 0xc11d, 0xc11e,\n    0xc11f, 0xc120, 0xc123, 0xc124, 0xc126, 0xc127, 0xc12c, 0xc12d,\n    0xc12f, 0xc130, 0xc131, 0xc136, 0xc138, 0xc139, 0xc13c, 0xc140,\n    0xc148, 0xc149, 0xc14b, 0xc14c, 0xc14d, 0xc154, 0xc155, 0xc158,\n    0xc15c, 0xc164, 0xc165, 0xc167, 0xc168, 0xc169, 0xc170, 0xc174,\n    0xc178, 0xc185, 0xc18c, 0xc18d, 0xc18e, 0xc190, 0xc194, 0xc196,\n    0xc19c, 0xc19d, 0xc19f, 0xc1a1, 0xc1a5, 0xc1a8, 0xc1a9, 0xc1ac,\n    0xc1b0, 0xc1bd, 0xc1c4, 0xc1c8, 0xc1cc, 0xc1d4, 0xc1d7, 0xc1d8,\n    0xc1e0, 0xc1e4, 0xc1e8, 0xc1f0, 0xc1f1, 0xc1f3, 0xc1fc, 0xc1fd,\n    0xc200, 0xc204, 0xc20c, 0xc20d, 0xc20f, 0xc211, 0xc218, 0xc219,\n    0xc21c, 0xc21f, 0xc220, 0xc228, 0xc229, 0xc22b, 0xc22d, 0x003f,\n    /* lead byte bd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3d7, 0xd3d9, 0xd3da, 0xd3db, 0xd3dc, 0xd3dd, 0xd3de,\n    0xd3df, 0xd3e0, 0xd3e2, 0xd3e4, 0xd3e5, 0xd3e6, 0xd3e7, 0xd3e8,\n    0xd3e9, 0xd3ea, 0xd3eb, 0xd3ee, 0xd3ef, 0xd3f1, 0xd3f2, 0xd3f3,\n    0xd3f5, 0xd3f6, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3f8, 0xd3f9, 0xd3fa, 0xd3fb, 0xd3fe, 0xd400, 0xd402,\n    0xd403, 0xd404, 0xd405, 0xd406, 0xd407, 0xd409, 0xd40a, 0xd40b,\n    0xd40c, 0xd40d, 0xd40e, 0xd40f, 0xd410, 0xd411, 0xd412, 0xd413,\n    0xd414, 0xd415, 0xd416, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd417, 0xd418, 0xd419, 0xd41a, 0xd41b, 0xd41c, 0xd41e,\n    0xd41f, 0xd420, 0xd421, 0xd422, 0xd423, 0xd424, 0xd425, 0xd426,\n    0xd427, 0xd428, 0xd429, 0xd42a, 0xd42b, 0xd42c, 0xd42d, 0xd42e,\n    0xd42f, 0xd430, 0xd431, 0xd432, 0xd433, 0xd434, 0xd435, 0xd436,\n    0xd437, 0xc22f, 0xc231, 0xc232, 0xc234, 0xc248, 0xc250, 0xc251,\n    0xc254, 0xc258, 0xc260, 0xc265, 0xc26c, 0xc26d, 0xc270, 0xc274,\n    0xc27c, 0xc27d, 0xc27f, 0xc281, 0xc288, 0xc289, 0xc290, 0xc298,\n    0xc29b, 0xc29d, 0xc2a4, 0xc2a5, 0xc2a8, 0xc2ac, 0xc2ad, 0xc2b4,\n    0xc2b5, 0xc2b7, 0xc2b9, 0xc2dc, 0xc2dd, 0xc2e0, 0xc2e3, 0xc2e4,\n    0xc2eb, 0xc2ec, 0xc2ed, 0xc2ef, 0xc2f1, 0xc2f6, 0xc2f8, 0xc2f9,\n    0xc2fb, 0xc2fc, 0xc300, 0xc308, 0xc309, 0xc30c, 0xc30d, 0xc313,\n    0xc314, 0xc315, 0xc318, 0xc31c, 0xc324, 0xc325, 0xc328, 0xc329,\n    0xc345, 0xc368, 0xc369, 0xc36c, 0xc370, 0xc372, 0xc378, 0xc379,\n    0xc37c, 0xc37d, 0xc384, 0xc388, 0xc38c, 0xc3c0, 0xc3d8, 0xc3d9,\n    0xc3dc, 0xc3df, 0xc3e0, 0xc3e2, 0xc3e8, 0xc3e9, 0xc3ed, 0xc3f4,\n    0xc3f5, 0xc3f8, 0xc408, 0xc410, 0xc424, 0xc42c, 0xc430, 0x003f,\n    /* lead byte be */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd438, 0xd439, 0xd43a, 0xd43b, 0xd43c, 0xd43d, 0xd43e,\n    0xd43f, 0xd441, 0xd442, 0xd443, 0xd445, 0xd446, 0xd447, 0xd448,\n    0xd449, 0xd44a, 0xd44b, 0xd44c, 0xd44d, 0xd44e, 0xd44f, 0xd450,\n    0xd451, 0xd452, 0xd453, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd454, 0xd455, 0xd456, 0xd457, 0xd458, 0xd459, 0xd45a,\n    0xd45b, 0xd45d, 0xd45e, 0xd45f, 0xd461, 0xd462, 0xd463, 0xd465,\n    0xd466, 0xd467, 0xd468, 0xd469, 0xd46a, 0xd46b, 0xd46c, 0xd46e,\n    0xd470, 0xd471, 0xd472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd473, 0xd474, 0xd475, 0xd476, 0xd477, 0xd47a, 0xd47b,\n    0xd47d, 0xd47e, 0xd481, 0xd483, 0xd484, 0xd485, 0xd486, 0xd487,\n    0xd48a, 0xd48c, 0xd48e, 0xd48f, 0xd490, 0xd491, 0xd492, 0xd493,\n    0xd495, 0xd496, 0xd497, 0xd498, 0xd499, 0xd49a, 0xd49b, 0xd49c,\n    0xd49d, 0xc434, 0xc43c, 0xc43d, 0xc448, 0xc464, 0xc465, 0xc468,\n    0xc46c, 0xc474, 0xc475, 0xc479, 0xc480, 0xc494, 0xc49c, 0xc4b8,\n    0xc4bc, 0xc4e9, 0xc4f0, 0xc4f1, 0xc4f4, 0xc4f8, 0xc4fa, 0xc4ff,\n    0xc500, 0xc501, 0xc50c, 0xc510, 0xc514, 0xc51c, 0xc528, 0xc529,\n    0xc52c, 0xc530, 0xc538, 0xc539, 0xc53b, 0xc53d, 0xc544, 0xc545,\n    0xc548, 0xc549, 0xc54a, 0xc54c, 0xc54d, 0xc54e, 0xc553, 0xc554,\n    0xc555, 0xc557, 0xc558, 0xc559, 0xc55d, 0xc55e, 0xc560, 0xc561,\n    0xc564, 0xc568, 0xc570, 0xc571, 0xc573, 0xc574, 0xc575, 0xc57c,\n    0xc57d, 0xc580, 0xc584, 0xc587, 0xc58c, 0xc58d, 0xc58f, 0xc591,\n    0xc595, 0xc597, 0xc598, 0xc59c, 0xc5a0, 0xc5a9, 0xc5b4, 0xc5b5,\n    0xc5b8, 0xc5b9, 0xc5bb, 0xc5bc, 0xc5bd, 0xc5be, 0xc5c4, 0xc5c5,\n    0xc5c6, 0xc5c7, 0xc5c8, 0xc5c9, 0xc5ca, 0xc5cc, 0xc5ce, 0x003f,\n    /* lead byte bf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd49e, 0xd49f, 0xd4a0, 0xd4a1, 0xd4a2, 0xd4a3, 0xd4a4,\n    0xd4a5, 0xd4a6, 0xd4a7, 0xd4a8, 0xd4aa, 0xd4ab, 0xd4ac, 0xd4ad,\n    0xd4ae, 0xd4af, 0xd4b0, 0xd4b1, 0xd4b2, 0xd4b3, 0xd4b4, 0xd4b5,\n    0xd4b6, 0xd4b7, 0xd4b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4b9, 0xd4ba, 0xd4bb, 0xd4bc, 0xd4bd, 0xd4be, 0xd4bf,\n    0xd4c0, 0xd4c1, 0xd4c2, 0xd4c3, 0xd4c4, 0xd4c5, 0xd4c6, 0xd4c7,\n    0xd4c8, 0xd4c9, 0xd4ca, 0xd4cb, 0xd4cd, 0xd4ce, 0xd4cf, 0xd4d1,\n    0xd4d2, 0xd4d3, 0xd4d5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4d6, 0xd4d7, 0xd4d8, 0xd4d9, 0xd4da, 0xd4db, 0xd4dd,\n    0xd4de, 0xd4e0, 0xd4e1, 0xd4e2, 0xd4e3, 0xd4e4, 0xd4e5, 0xd4e6,\n    0xd4e7, 0xd4e9, 0xd4ea, 0xd4eb, 0xd4ed, 0xd4ee, 0xd4ef, 0xd4f1,\n    0xd4f2, 0xd4f3, 0xd4f4, 0xd4f5, 0xd4f6, 0xd4f7, 0xd4f9, 0xd4fa,\n    0xd4fc, 0xc5d0, 0xc5d1, 0xc5d4, 0xc5d8, 0xc5e0, 0xc5e1, 0xc5e3,\n    0xc5e5, 0xc5ec, 0xc5ed, 0xc5ee, 0xc5f0, 0xc5f4, 0xc5f6, 0xc5f7,\n    0xc5fc, 0xc5fd, 0xc5fe, 0xc5ff, 0xc600, 0xc601, 0xc605, 0xc606,\n    0xc607, 0xc608, 0xc60c, 0xc610, 0xc618, 0xc619, 0xc61b, 0xc61c,\n    0xc624, 0xc625, 0xc628, 0xc62c, 0xc62d, 0xc62e, 0xc630, 0xc633,\n    0xc634, 0xc635, 0xc637, 0xc639, 0xc63b, 0xc640, 0xc641, 0xc644,\n    0xc648, 0xc650, 0xc651, 0xc653, 0xc654, 0xc655, 0xc65c, 0xc65d,\n    0xc660, 0xc66c, 0xc66f, 0xc671, 0xc678, 0xc679, 0xc67c, 0xc680,\n    0xc688, 0xc689, 0xc68b, 0xc68d, 0xc694, 0xc695, 0xc698, 0xc69c,\n    0xc6a4, 0xc6a5, 0xc6a7, 0xc6a9, 0xc6b0, 0xc6b1, 0xc6b4, 0xc6b8,\n    0xc6b9, 0xc6ba, 0xc6c0, 0xc6c1, 0xc6c3, 0xc6c5, 0xc6cc, 0xc6cd,\n    0xc6d0, 0xc6d4, 0xc6dc, 0xc6dd, 0xc6e0, 0xc6e1, 0xc6e8, 0x003f,\n    /* lead byte c0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4fe, 0xd4ff, 0xd500, 0xd501, 0xd502, 0xd503, 0xd505,\n    0xd506, 0xd507, 0xd509, 0xd50a, 0xd50b, 0xd50d, 0xd50e, 0xd50f,\n    0xd510, 0xd511, 0xd512, 0xd513, 0xd516, 0xd518, 0xd519, 0xd51a,\n    0xd51b, 0xd51c, 0xd51d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd51e, 0xd51f, 0xd520, 0xd521, 0xd522, 0xd523, 0xd524,\n    0xd525, 0xd526, 0xd527, 0xd528, 0xd529, 0xd52a, 0xd52b, 0xd52c,\n    0xd52d, 0xd52e, 0xd52f, 0xd530, 0xd531, 0xd532, 0xd533, 0xd534,\n    0xd535, 0xd536, 0xd537, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd538, 0xd539, 0xd53a, 0xd53b, 0xd53e, 0xd53f, 0xd541,\n    0xd542, 0xd543, 0xd545, 0xd546, 0xd547, 0xd548, 0xd549, 0xd54a,\n    0xd54b, 0xd54e, 0xd550, 0xd552, 0xd553, 0xd554, 0xd555, 0xd556,\n    0xd557, 0xd55a, 0xd55b, 0xd55d, 0xd55e, 0xd55f, 0xd561, 0xd562,\n    0xd563, 0xc6e9, 0xc6ec, 0xc6f0, 0xc6f8, 0xc6f9, 0xc6fd, 0xc704,\n    0xc705, 0xc708, 0xc70c, 0xc714, 0xc715, 0xc717, 0xc719, 0xc720,\n    0xc721, 0xc724, 0xc728, 0xc730, 0xc731, 0xc733, 0xc735, 0xc737,\n    0xc73c, 0xc73d, 0xc740, 0xc744, 0xc74a, 0xc74c, 0xc74d, 0xc74f,\n    0xc751, 0xc752, 0xc753, 0xc754, 0xc755, 0xc756, 0xc757, 0xc758,\n    0xc75c, 0xc760, 0xc768, 0xc76b, 0xc774, 0xc775, 0xc778, 0xc77c,\n    0xc77d, 0xc77e, 0xc783, 0xc784, 0xc785, 0xc787, 0xc788, 0xc789,\n    0xc78a, 0xc78e, 0xc790, 0xc791, 0xc794, 0xc796, 0xc797, 0xc798,\n    0xc79a, 0xc7a0, 0xc7a1, 0xc7a3, 0xc7a4, 0xc7a5, 0xc7a6, 0xc7ac,\n    0xc7ad, 0xc7b0, 0xc7b4, 0xc7bc, 0xc7bd, 0xc7bf, 0xc7c0, 0xc7c1,\n    0xc7c8, 0xc7c9, 0xc7cc, 0xc7ce, 0xc7d0, 0xc7d8, 0xc7dd, 0xc7e4,\n    0xc7e8, 0xc7ec, 0xc800, 0xc801, 0xc804, 0xc808, 0xc80a, 0x003f,\n    /* lead byte c1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd564, 0xd566, 0xd567, 0xd56a, 0xd56c, 0xd56e, 0xd56f,\n    0xd570, 0xd571, 0xd572, 0xd573, 0xd576, 0xd577, 0xd579, 0xd57a,\n    0xd57b, 0xd57d, 0xd57e, 0xd57f, 0xd580, 0xd581, 0xd582, 0xd583,\n    0xd586, 0xd58a, 0xd58b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd58c, 0xd58d, 0xd58e, 0xd58f, 0xd591, 0xd592, 0xd593,\n    0xd594, 0xd595, 0xd596, 0xd597, 0xd598, 0xd599, 0xd59a, 0xd59b,\n    0xd59c, 0xd59d, 0xd59e, 0xd59f, 0xd5a0, 0xd5a1, 0xd5a2, 0xd5a3,\n    0xd5a4, 0xd5a6, 0xd5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5a8, 0xd5a9, 0xd5aa, 0xd5ab, 0xd5ac, 0xd5ad, 0xd5ae,\n    0xd5af, 0xd5b0, 0xd5b1, 0xd5b2, 0xd5b3, 0xd5b4, 0xd5b5, 0xd5b6,\n    0xd5b7, 0xd5b8, 0xd5b9, 0xd5ba, 0xd5bb, 0xd5bc, 0xd5bd, 0xd5be,\n    0xd5bf, 0xd5c0, 0xd5c1, 0xd5c2, 0xd5c3, 0xd5c4, 0xd5c5, 0xd5c6,\n    0xd5c7, 0xc810, 0xc811, 0xc813, 0xc815, 0xc816, 0xc81c, 0xc81d,\n    0xc820, 0xc824, 0xc82c, 0xc82d, 0xc82f, 0xc831, 0xc838, 0xc83c,\n    0xc840, 0xc848, 0xc849, 0xc84c, 0xc84d, 0xc854, 0xc870, 0xc871,\n    0xc874, 0xc878, 0xc87a, 0xc880, 0xc881, 0xc883, 0xc885, 0xc886,\n    0xc887, 0xc88b, 0xc88c, 0xc88d, 0xc894, 0xc89d, 0xc89f, 0xc8a1,\n    0xc8a8, 0xc8bc, 0xc8bd, 0xc8c4, 0xc8c8, 0xc8cc, 0xc8d4, 0xc8d5,\n    0xc8d7, 0xc8d9, 0xc8e0, 0xc8e1, 0xc8e4, 0xc8f5, 0xc8fc, 0xc8fd,\n    0xc900, 0xc904, 0xc905, 0xc906, 0xc90c, 0xc90d, 0xc90f, 0xc911,\n    0xc918, 0xc92c, 0xc934, 0xc950, 0xc951, 0xc954, 0xc958, 0xc960,\n    0xc961, 0xc963, 0xc96c, 0xc970, 0xc974, 0xc97c, 0xc988, 0xc989,\n    0xc98c, 0xc990, 0xc998, 0xc999, 0xc99b, 0xc99d, 0xc9c0, 0xc9c1,\n    0xc9c4, 0xc9c7, 0xc9c8, 0xc9ca, 0xc9d0, 0xc9d1, 0xc9d3, 0x003f,\n    /* lead byte c2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5ca, 0xd5cb, 0xd5cd, 0xd5ce, 0xd5cf, 0xd5d1, 0xd5d3,\n    0xd5d4, 0xd5d5, 0xd5d6, 0xd5d7, 0xd5da, 0xd5dc, 0xd5de, 0xd5df,\n    0xd5e0, 0xd5e1, 0xd5e2, 0xd5e3, 0xd5e6, 0xd5e7, 0xd5e9, 0xd5ea,\n    0xd5eb, 0xd5ed, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5ef, 0xd5f0, 0xd5f1, 0xd5f2, 0xd5f3, 0xd5f6, 0xd5f8,\n    0xd5fa, 0xd5fb, 0xd5fc, 0xd5fd, 0xd5fe, 0xd5ff, 0xd602, 0xd603,\n    0xd605, 0xd606, 0xd607, 0xd609, 0xd60a, 0xd60b, 0xd60c, 0xd60d,\n    0xd60e, 0xd60f, 0xd612, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd616, 0xd617, 0xd618, 0xd619, 0xd61a, 0xd61b, 0xd61d,\n    0xd61e, 0xd61f, 0xd621, 0xd622, 0xd623, 0xd625, 0xd626, 0xd627,\n    0xd628, 0xd629, 0xd62a, 0xd62b, 0xd62c, 0xd62e, 0xd62f, 0xd630,\n    0xd631, 0xd632, 0xd633, 0xd634, 0xd635, 0xd636, 0xd637, 0xd63a,\n    0xd63b, 0xc9d5, 0xc9d6, 0xc9d9, 0xc9da, 0xc9dc, 0xc9dd, 0xc9e0,\n    0xc9e2, 0xc9e4, 0xc9e7, 0xc9ec, 0xc9ed, 0xc9ef, 0xc9f0, 0xc9f1,\n    0xc9f8, 0xc9f9, 0xc9fc, 0xca00, 0xca08, 0xca09, 0xca0b, 0xca0c,\n    0xca0d, 0xca14, 0xca18, 0xca29, 0xca4c, 0xca4d, 0xca50, 0xca54,\n    0xca5c, 0xca5d, 0xca5f, 0xca60, 0xca61, 0xca68, 0xca7d, 0xca84,\n    0xca98, 0xcabc, 0xcabd, 0xcac0, 0xcac4, 0xcacc, 0xcacd, 0xcacf,\n    0xcad1, 0xcad3, 0xcad8, 0xcad9, 0xcae0, 0xcaec, 0xcaf4, 0xcb08,\n    0xcb10, 0xcb14, 0xcb18, 0xcb20, 0xcb21, 0xcb41, 0xcb48, 0xcb49,\n    0xcb4c, 0xcb50, 0xcb58, 0xcb59, 0xcb5d, 0xcb64, 0xcb78, 0xcb79,\n    0xcb9c, 0xcbb8, 0xcbd4, 0xcbe4, 0xcbe7, 0xcbe9, 0xcc0c, 0xcc0d,\n    0xcc10, 0xcc14, 0xcc1c, 0xcc1d, 0xcc21, 0xcc22, 0xcc27, 0xcc28,\n    0xcc29, 0xcc2c, 0xcc2e, 0xcc30, 0xcc38, 0xcc39, 0xcc3b, 0x003f,\n    /* lead byte c3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd63d, 0xd63e, 0xd63f, 0xd641, 0xd642, 0xd643, 0xd644,\n    0xd646, 0xd647, 0xd64a, 0xd64c, 0xd64e, 0xd64f, 0xd650, 0xd652,\n    0xd653, 0xd656, 0xd657, 0xd659, 0xd65a, 0xd65b, 0xd65d, 0xd65e,\n    0xd65f, 0xd660, 0xd661, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd662, 0xd663, 0xd664, 0xd665, 0xd666, 0xd668, 0xd66a,\n    0xd66b, 0xd66c, 0xd66d, 0xd66e, 0xd66f, 0xd672, 0xd673, 0xd675,\n    0xd676, 0xd677, 0xd678, 0xd679, 0xd67a, 0xd67b, 0xd67c, 0xd67d,\n    0xd67e, 0xd67f, 0xd680, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd681, 0xd682, 0xd684, 0xd686, 0xd687, 0xd688, 0xd689,\n    0xd68a, 0xd68b, 0xd68e, 0xd68f, 0xd691, 0xd692, 0xd693, 0xd695,\n    0xd696, 0xd697, 0xd698, 0xd699, 0xd69a, 0xd69b, 0xd69c, 0xd69e,\n    0xd6a0, 0xd6a2, 0xd6a3, 0xd6a4, 0xd6a5, 0xd6a6, 0xd6a7, 0xd6a9,\n    0xd6aa, 0xcc3c, 0xcc3d, 0xcc3e, 0xcc44, 0xcc45, 0xcc48, 0xcc4c,\n    0xcc54, 0xcc55, 0xcc57, 0xcc58, 0xcc59, 0xcc60, 0xcc64, 0xcc66,\n    0xcc68, 0xcc70, 0xcc75, 0xcc98, 0xcc99, 0xcc9c, 0xcca0, 0xcca8,\n    0xcca9, 0xccab, 0xccac, 0xccad, 0xccb4, 0xccb5, 0xccb8, 0xccbc,\n    0xccc4, 0xccc5, 0xccc7, 0xccc9, 0xccd0, 0xccd4, 0xcce4, 0xccec,\n    0xccf0, 0xcd01, 0xcd08, 0xcd09, 0xcd0c, 0xcd10, 0xcd18, 0xcd19,\n    0xcd1b, 0xcd1d, 0xcd24, 0xcd28, 0xcd2c, 0xcd39, 0xcd5c, 0xcd60,\n    0xcd64, 0xcd6c, 0xcd6d, 0xcd6f, 0xcd71, 0xcd78, 0xcd88, 0xcd94,\n    0xcd95, 0xcd98, 0xcd9c, 0xcda4, 0xcda5, 0xcda7, 0xcda9, 0xcdb0,\n    0xcdc4, 0xcdcc, 0xcdd0, 0xcde8, 0xcdec, 0xcdf0, 0xcdf8, 0xcdf9,\n    0xcdfb, 0xcdfd, 0xce04, 0xce08, 0xce0c, 0xce14, 0xce19, 0xce20,\n    0xce21, 0xce24, 0xce28, 0xce30, 0xce31, 0xce33, 0xce35, 0x003f,\n    /* lead byte c4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6ab, 0xd6ad, 0xd6ae, 0xd6af, 0xd6b1, 0xd6b2, 0xd6b3,\n    0xd6b4, 0xd6b5, 0xd6b6, 0xd6b7, 0xd6b8, 0xd6ba, 0xd6bc, 0xd6bd,\n    0xd6be, 0xd6bf, 0xd6c0, 0xd6c1, 0xd6c2, 0xd6c3, 0xd6c6, 0xd6c7,\n    0xd6c9, 0xd6ca, 0xd6cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6cd, 0xd6ce, 0xd6cf, 0xd6d0, 0xd6d2, 0xd6d3, 0xd6d5,\n    0xd6d6, 0xd6d8, 0xd6da, 0xd6db, 0xd6dc, 0xd6dd, 0xd6de, 0xd6df,\n    0xd6e1, 0xd6e2, 0xd6e3, 0xd6e5, 0xd6e6, 0xd6e7, 0xd6e9, 0xd6ea,\n    0xd6eb, 0xd6ec, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6ee, 0xd6ef, 0xd6f1, 0xd6f2, 0xd6f3, 0xd6f4, 0xd6f6,\n    0xd6f7, 0xd6f8, 0xd6f9, 0xd6fa, 0xd6fb, 0xd6fe, 0xd6ff, 0xd701,\n    0xd702, 0xd703, 0xd705, 0xd706, 0xd707, 0xd708, 0xd709, 0xd70a,\n    0xd70b, 0xd70c, 0xd70d, 0xd70e, 0xd70f, 0xd710, 0xd712, 0xd713,\n    0xd714, 0xce58, 0xce59, 0xce5c, 0xce5f, 0xce60, 0xce61, 0xce68,\n    0xce69, 0xce6b, 0xce6d, 0xce74, 0xce75, 0xce78, 0xce7c, 0xce84,\n    0xce85, 0xce87, 0xce89, 0xce90, 0xce91, 0xce94, 0xce98, 0xcea0,\n    0xcea1, 0xcea3, 0xcea4, 0xcea5, 0xceac, 0xcead, 0xcec1, 0xcee4,\n    0xcee5, 0xcee8, 0xceeb, 0xceec, 0xcef4, 0xcef5, 0xcef7, 0xcef8,\n    0xcef9, 0xcf00, 0xcf01, 0xcf04, 0xcf08, 0xcf10, 0xcf11, 0xcf13,\n    0xcf15, 0xcf1c, 0xcf20, 0xcf24, 0xcf2c, 0xcf2d, 0xcf2f, 0xcf30,\n    0xcf31, 0xcf38, 0xcf54, 0xcf55, 0xcf58, 0xcf5c, 0xcf64, 0xcf65,\n    0xcf67, 0xcf69, 0xcf70, 0xcf71, 0xcf74, 0xcf78, 0xcf80, 0xcf85,\n    0xcf8c, 0xcfa1, 0xcfa8, 0xcfb0, 0xcfc4, 0xcfe0, 0xcfe1, 0xcfe4,\n    0xcfe8, 0xcff0, 0xcff1, 0xcff3, 0xcff5, 0xcffc, 0xd000, 0xd004,\n    0xd011, 0xd018, 0xd02d, 0xd034, 0xd035, 0xd038, 0xd03c, 0x003f,\n    /* lead byte c5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd715, 0xd716, 0xd717, 0xd71a, 0xd71b, 0xd71d, 0xd71e,\n    0xd71f, 0xd721, 0xd722, 0xd723, 0xd724, 0xd725, 0xd726, 0xd727,\n    0xd72a, 0xd72c, 0xd72e, 0xd72f, 0xd730, 0xd731, 0xd732, 0xd733,\n    0xd736, 0xd737, 0xd739, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd73a, 0xd73b, 0xd73d, 0xd73e, 0xd73f, 0xd740, 0xd741,\n    0xd742, 0xd743, 0xd745, 0xd746, 0xd748, 0xd74a, 0xd74b, 0xd74c,\n    0xd74d, 0xd74e, 0xd74f, 0xd752, 0xd753, 0xd755, 0xd75a, 0xd75b,\n    0xd75c, 0xd75d, 0xd75e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd75f, 0xd762, 0xd764, 0xd766, 0xd767, 0xd768, 0xd76a,\n    0xd76b, 0xd76d, 0xd76e, 0xd76f, 0xd771, 0xd772, 0xd773, 0xd775,\n    0xd776, 0xd777, 0xd778, 0xd779, 0xd77a, 0xd77b, 0xd77e, 0xd77f,\n    0xd780, 0xd782, 0xd783, 0xd784, 0xd785, 0xd786, 0xd787, 0xd78a,\n    0xd78b, 0xd044, 0xd045, 0xd047, 0xd049, 0xd050, 0xd054, 0xd058,\n    0xd060, 0xd06c, 0xd06d, 0xd070, 0xd074, 0xd07c, 0xd07d, 0xd081,\n    0xd0a4, 0xd0a5, 0xd0a8, 0xd0ac, 0xd0b4, 0xd0b5, 0xd0b7, 0xd0b9,\n    0xd0c0, 0xd0c1, 0xd0c4, 0xd0c8, 0xd0c9, 0xd0d0, 0xd0d1, 0xd0d3,\n    0xd0d4, 0xd0d5, 0xd0dc, 0xd0dd, 0xd0e0, 0xd0e4, 0xd0ec, 0xd0ed,\n    0xd0ef, 0xd0f0, 0xd0f1, 0xd0f8, 0xd10d, 0xd130, 0xd131, 0xd134,\n    0xd138, 0xd13a, 0xd140, 0xd141, 0xd143, 0xd144, 0xd145, 0xd14c,\n    0xd14d, 0xd150, 0xd154, 0xd15c, 0xd15d, 0xd15f, 0xd161, 0xd168,\n    0xd16c, 0xd17c, 0xd184, 0xd188, 0xd1a0, 0xd1a1, 0xd1a4, 0xd1a8,\n    0xd1b0, 0xd1b1, 0xd1b3, 0xd1b5, 0xd1ba, 0xd1bc, 0xd1c0, 0xd1d8,\n    0xd1f4, 0xd1f8, 0xd207, 0xd209, 0xd210, 0xd22c, 0xd22d, 0xd230,\n    0xd234, 0xd23c, 0xd23d, 0xd23f, 0xd241, 0xd248, 0xd25c, 0x003f,\n    /* lead byte c6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd78d, 0xd78e, 0xd78f, 0xd791, 0xd792, 0xd793, 0xd794,\n    0xd795, 0xd796, 0xd797, 0xd79a, 0xd79c, 0xd79e, 0xd79f, 0xd7a0,\n    0xd7a1, 0xd7a2, 0xd7a3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd264, 0xd280, 0xd281, 0xd284, 0xd288, 0xd290, 0xd291,\n    0xd295, 0xd29c, 0xd2a0, 0xd2a4, 0xd2ac, 0xd2b1, 0xd2b8, 0xd2b9,\n    0xd2bc, 0xd2bf, 0xd2c0, 0xd2c2, 0xd2c8, 0xd2c9, 0xd2cb, 0xd2d4,\n    0xd2d8, 0xd2dc, 0xd2e4, 0xd2e5, 0xd2f0, 0xd2f1, 0xd2f4, 0xd2f8,\n    0xd300, 0xd301, 0xd303, 0xd305, 0xd30c, 0xd30d, 0xd30e, 0xd310,\n    0xd314, 0xd316, 0xd31c, 0xd31d, 0xd31f, 0xd320, 0xd321, 0xd325,\n    0xd328, 0xd329, 0xd32c, 0xd330, 0xd338, 0xd339, 0xd33b, 0xd33c,\n    0xd33d, 0xd344, 0xd345, 0xd37c, 0xd37d, 0xd380, 0xd384, 0xd38c,\n    0xd38d, 0xd38f, 0xd390, 0xd391, 0xd398, 0xd399, 0xd39c, 0xd3a0,\n    0xd3a8, 0xd3a9, 0xd3ab, 0xd3ad, 0xd3b4, 0xd3b8, 0xd3bc, 0xd3c4,\n    0xd3c5, 0xd3c8, 0xd3c9, 0xd3d0, 0xd3d8, 0xd3e1, 0xd3e3, 0xd3ec,\n    0xd3ed, 0xd3f0, 0xd3f4, 0xd3fc, 0xd3fd, 0xd3ff, 0xd401, 0x003f,\n    /* lead byte c7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd408, 0xd41d, 0xd440, 0xd444, 0xd45c, 0xd460, 0xd464,\n    0xd46d, 0xd46f, 0xd478, 0xd479, 0xd47c, 0xd47f, 0xd480, 0xd482,\n    0xd488, 0xd489, 0xd48b, 0xd48d, 0xd494, 0xd4a9, 0xd4cc, 0xd4d0,\n    0xd4d4, 0xd4dc, 0xd4df, 0xd4e8, 0xd4ec, 0xd4f0, 0xd4f8, 0xd4fb,\n    0xd4fd, 0xd504, 0xd508, 0xd50c, 0xd514, 0xd515, 0xd517, 0xd53c,\n    0xd53d, 0xd540, 0xd544, 0xd54c, 0xd54d, 0xd54f, 0xd551, 0xd558,\n    0xd559, 0xd55c, 0xd560, 0xd565, 0xd568, 0xd569, 0xd56b, 0xd56d,\n    0xd574, 0xd575, 0xd578, 0xd57c, 0xd584, 0xd585, 0xd587, 0xd588,\n    0xd589, 0xd590, 0xd5a5, 0xd5c8, 0xd5c9, 0xd5cc, 0xd5d0, 0xd5d2,\n    0xd5d8, 0xd5d9, 0xd5db, 0xd5dd, 0xd5e4, 0xd5e5, 0xd5e8, 0xd5ec,\n    0xd5f4, 0xd5f5, 0xd5f7, 0xd5f9, 0xd600, 0xd601, 0xd604, 0xd608,\n    0xd610, 0xd611, 0xd613, 0xd614, 0xd615, 0xd61c, 0xd620, 0x003f,\n    /* lead byte c8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd624, 0xd62d, 0xd638, 0xd639, 0xd63c, 0xd640, 0xd645,\n    0xd648, 0xd649, 0xd64b, 0xd64d, 0xd651, 0xd654, 0xd655, 0xd658,\n    0xd65c, 0xd667, 0xd669, 0xd670, 0xd671, 0xd674, 0xd683, 0xd685,\n    0xd68c, 0xd68d, 0xd690, 0xd694, 0xd69d, 0xd69f, 0xd6a1, 0xd6a8,\n    0xd6ac, 0xd6b0, 0xd6b9, 0xd6bb, 0xd6c4, 0xd6c5, 0xd6c8, 0xd6cc,\n    0xd6d1, 0xd6d4, 0xd6d7, 0xd6d9, 0xd6e0, 0xd6e4, 0xd6e8, 0xd6f0,\n    0xd6f5, 0xd6fc, 0xd6fd, 0xd700, 0xd704, 0xd711, 0xd718, 0xd719,\n    0xd71c, 0xd720, 0xd728, 0xd729, 0xd72b, 0xd72d, 0xd734, 0xd735,\n    0xd738, 0xd73c, 0xd744, 0xd747, 0xd749, 0xd750, 0xd751, 0xd754,\n    0xd756, 0xd757, 0xd758, 0xd759, 0xd760, 0xd761, 0xd763, 0xd765,\n    0xd769, 0xd76c, 0xd770, 0xd774, 0xd77c, 0xd77d, 0xd781, 0xd788,\n    0xd789, 0xd78c, 0xd790, 0xd798, 0xd799, 0xd79b, 0xd79d, 0x003f,\n    /* lead byte ca */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x4f3d, 0x4f73, 0x5047, 0x50f9, 0x52a0, 0x53ef, 0x5475,\n    0x54e5, 0x5609, 0x5ac1, 0x5bb6, 0x6687, 0x67b6, 0x67b7, 0x67ef,\n    0x6b4c, 0x73c2, 0x75c2, 0x7a3c, 0x82db, 0x8304, 0x8857, 0x8888,\n    0x8a36, 0x8cc8, 0x8dcf, 0x8efb, 0x8fe6, 0x99d5, 0x523b, 0x5374,\n    0x5404, 0x606a, 0x6164, 0x6bbc, 0x73cf, 0x811a, 0x89ba, 0x89d2,\n    0x95a3, 0x4f83, 0x520a, 0x58be, 0x5978, 0x59e6, 0x5e72, 0x5e79,\n    0x61c7, 0x63c0, 0x6746, 0x67ec, 0x687f, 0x6f97, 0x764e, 0x770b,\n    0x78f5, 0x7a08, 0x7aff, 0x7c21, 0x809d, 0x826e, 0x8271, 0x8aeb,\n    0x9593, 0x4e6b, 0x559d, 0x66f7, 0x6e34, 0x78a3, 0x7aed, 0x845b,\n    0x8910, 0x874e, 0x97a8, 0x52d8, 0x574e, 0x582a, 0x5d4c, 0x611f,\n    0x61be, 0x6221, 0x6562, 0x67d1, 0x6a44, 0x6e1b, 0x7518, 0x75b3,\n    0x76e3, 0x77b0, 0x7d3a, 0x90af, 0x9451, 0x9452, 0x9f95, 0x003f,\n    /* lead byte cb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5323, 0x5cac, 0x7532, 0x80db, 0x9240, 0x9598, 0x525b,\n    0x5808, 0x59dc, 0x5ca1, 0x5d17, 0x5eb7, 0x5f3a, 0x5f4a, 0x6177,\n    0x6c5f, 0x757a, 0x7586, 0x7ce0, 0x7d73, 0x7db1, 0x7f8c, 0x8154,\n    0x8221, 0x8591, 0x8941, 0x8b1b, 0x92fc, 0x964d, 0x9c47, 0x4ecb,\n    0x4ef7, 0x500b, 0x51f1, 0x584f, 0x6137, 0x613e, 0x6168, 0x6539,\n    0x69ea, 0x6f11, 0x75a5, 0x7686, 0x76d6, 0x7b87, 0x82a5, 0x84cb,\n    0xf900, 0x93a7, 0x958b, 0x5580, 0x5ba2, 0x5751, 0xf901, 0x7cb3,\n    0x7fb9, 0x91b5, 0x5028, 0x53bb, 0x5c45, 0x5de8, 0x62d2, 0x636e,\n    0x64da, 0x64e7, 0x6e20, 0x70ac, 0x795b, 0x8ddd, 0x8e1e, 0xf902,\n    0x907d, 0x9245, 0x92f8, 0x4e7e, 0x4ef6, 0x5065, 0x5dfe, 0x5efa,\n    0x6106, 0x6957, 0x8171, 0x8654, 0x8e47, 0x9375, 0x9a2b, 0x4e5e,\n    0x5091, 0x6770, 0x6840, 0x5109, 0x528d, 0x5292, 0x6aa2, 0x003f,\n    /* lead byte cc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x77bc, 0x9210, 0x9ed4, 0x52ab, 0x602f, 0x8ff2, 0x5048,\n    0x61a9, 0x63ed, 0x64ca, 0x683c, 0x6a84, 0x6fc0, 0x8188, 0x89a1,\n    0x9694, 0x5805, 0x727d, 0x72ac, 0x7504, 0x7d79, 0x7e6d, 0x80a9,\n    0x898b, 0x8b74, 0x9063, 0x9d51, 0x6289, 0x6c7a, 0x6f54, 0x7d50,\n    0x7f3a, 0x8a23, 0x517c, 0x614a, 0x7b9d, 0x8b19, 0x9257, 0x938c,\n    0x4eac, 0x4fd3, 0x501e, 0x50be, 0x5106, 0x52c1, 0x52cd, 0x537f,\n    0x5770, 0x5883, 0x5e9a, 0x5f91, 0x6176, 0x61ac, 0x64ce, 0x656c,\n    0x666f, 0x66bb, 0x66f4, 0x6897, 0x6d87, 0x7085, 0x70f1, 0x749f,\n    0x74a5, 0x74ca, 0x75d9, 0x786c, 0x78ec, 0x7adf, 0x7af6, 0x7d45,\n    0x7d93, 0x8015, 0x803f, 0x811b, 0x8396, 0x8b66, 0x8f15, 0x9015,\n    0x93e1, 0x9803, 0x9838, 0x9a5a, 0x9be8, 0x4fc2, 0x5553, 0x583a,\n    0x5951, 0x5b63, 0x5c46, 0x60b8, 0x6212, 0x6842, 0x68b0, 0x003f,\n    /* lead byte cd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x68e8, 0x6eaa, 0x754c, 0x7678, 0x78ce, 0x7a3d, 0x7cfb,\n    0x7e6b, 0x7e7c, 0x8a08, 0x8aa1, 0x8c3f, 0x968e, 0x9dc4, 0x53e4,\n    0x53e9, 0x544a, 0x5471, 0x56fa, 0x59d1, 0x5b64, 0x5c3b, 0x5eab,\n    0x62f7, 0x6537, 0x6545, 0x6572, 0x66a0, 0x67af, 0x69c1, 0x6cbd,\n    0x75fc, 0x7690, 0x777e, 0x7a3f, 0x7f94, 0x8003, 0x80a1, 0x818f,\n    0x82e6, 0x82fd, 0x83f0, 0x85c1, 0x8831, 0x88b4, 0x8aa5, 0xf903,\n    0x8f9c, 0x932e, 0x96c7, 0x9867, 0x9ad8, 0x9f13, 0x54ed, 0x659b,\n    0x66f2, 0x688f, 0x7a40, 0x8c37, 0x9d60, 0x56f0, 0x5764, 0x5d11,\n    0x6606, 0x68b1, 0x68cd, 0x6efe, 0x7428, 0x889e, 0x9be4, 0x6c68,\n    0xf904, 0x9aa8, 0x4f9b, 0x516c, 0x5171, 0x529f, 0x5b54, 0x5de5,\n    0x6050, 0x606d, 0x62f1, 0x63a7, 0x653b, 0x73d9, 0x7a7a, 0x86a3,\n    0x8ca2, 0x978f, 0x4e32, 0x5be1, 0x6208, 0x679c, 0x74dc, 0x003f,\n    /* lead byte ce */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x79d1, 0x83d3, 0x8a87, 0x8ab2, 0x8de8, 0x904e, 0x934b,\n    0x9846, 0x5ed3, 0x69e8, 0x85ff, 0x90ed, 0xf905, 0x51a0, 0x5b98,\n    0x5bec, 0x6163, 0x68fa, 0x6b3e, 0x704c, 0x742f, 0x74d8, 0x7ba1,\n    0x7f50, 0x83c5, 0x89c0, 0x8cab, 0x95dc, 0x9928, 0x522e, 0x605d,\n    0x62ec, 0x9002, 0x4f8a, 0x5149, 0x5321, 0x58d9, 0x5ee3, 0x66e0,\n    0x6d38, 0x709a, 0x72c2, 0x73d6, 0x7b50, 0x80f1, 0x945b, 0x5366,\n    0x639b, 0x7f6b, 0x4e56, 0x5080, 0x584a, 0x58de, 0x602a, 0x6127,\n    0x62d0, 0x69d0, 0x9b41, 0x5b8f, 0x7d18, 0x80b1, 0x8f5f, 0x4ea4,\n    0x50d1, 0x54ac, 0x55ac, 0x5b0c, 0x5da0, 0x5de7, 0x652a, 0x654e,\n    0x6821, 0x6a4b, 0x72e1, 0x768e, 0x77ef, 0x7d5e, 0x7ff9, 0x81a0,\n    0x854e, 0x86df, 0x8f03, 0x8f4e, 0x90ca, 0x9903, 0x9a55, 0x9bab,\n    0x4e18, 0x4e45, 0x4e5d, 0x4ec7, 0x4ff1, 0x5177, 0x52fe, 0x003f,\n    /* lead byte cf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5340, 0x53e3, 0x53e5, 0x548e, 0x5614, 0x5775, 0x57a2,\n    0x5bc7, 0x5d87, 0x5ed0, 0x61fc, 0x62d8, 0x6551, 0x67b8, 0x67e9,\n    0x69cb, 0x6b50, 0x6bc6, 0x6bec, 0x6c42, 0x6e9d, 0x7078, 0x72d7,\n    0x7396, 0x7403, 0x77bf, 0x77e9, 0x7a76, 0x7d7f, 0x8009, 0x81fc,\n    0x8205, 0x820a, 0x82df, 0x8862, 0x8b33, 0x8cfc, 0x8ec0, 0x9011,\n    0x90b1, 0x9264, 0x92b6, 0x99d2, 0x9a45, 0x9ce9, 0x9dd7, 0x9f9c,\n    0x570b, 0x5c40, 0x83ca, 0x97a0, 0x97ab, 0x9eb4, 0x541b, 0x7a98,\n    0x7fa4, 0x88d9, 0x8ecd, 0x90e1, 0x5800, 0x5c48, 0x6398, 0x7a9f,\n    0x5bae, 0x5f13, 0x7a79, 0x7aae, 0x828e, 0x8eac, 0x5026, 0x5238,\n    0x52f8, 0x5377, 0x5708, 0x62f3, 0x6372, 0x6b0a, 0x6dc3, 0x7737,\n    0x53a5, 0x7357, 0x8568, 0x8e76, 0x95d5, 0x673a, 0x6ac3, 0x6f70,\n    0x8a6d, 0x8ecc, 0x994b, 0xf906, 0x6677, 0x6b78, 0x8cb4, 0x003f,\n    /* lead byte d0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b3c, 0xf907, 0x53eb, 0x572d, 0x594e, 0x63c6, 0x69fb,\n    0x73ea, 0x7845, 0x7aba, 0x7ac5, 0x7cfe, 0x8475, 0x898f, 0x8d73,\n    0x9035, 0x95a8, 0x52fb, 0x5747, 0x7547, 0x7b60, 0x83cc, 0x921e,\n    0xf908, 0x6a58, 0x514b, 0x524b, 0x5287, 0x621f, 0x68d8, 0x6975,\n    0x9699, 0x50c5, 0x52a4, 0x52e4, 0x61c3, 0x65a4, 0x6839, 0x69ff,\n    0x747e, 0x7b4b, 0x82b9, 0x83eb, 0x89b2, 0x8b39, 0x8fd1, 0x9949,\n    0xf909, 0x4eca, 0x5997, 0x64d2, 0x6611, 0x6a8e, 0x7434, 0x7981,\n    0x79bd, 0x82a9, 0x887e, 0x887f, 0x895f, 0xf90a, 0x9326, 0x4f0b,\n    0x53ca, 0x6025, 0x6271, 0x6c72, 0x7d1a, 0x7d66, 0x4e98, 0x5162,\n    0x77dc, 0x80af, 0x4f01, 0x4f0e, 0x5176, 0x5180, 0x55dc, 0x5668,\n    0x573b, 0x57fa, 0x57fc, 0x5914, 0x5947, 0x5993, 0x5bc4, 0x5c90,\n    0x5d0e, 0x5df1, 0x5e7e, 0x5fcc, 0x6280, 0x65d7, 0x65e3, 0x003f,\n    /* lead byte d1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x671e, 0x671f, 0x675e, 0x68cb, 0x68c4, 0x6a5f, 0x6b3a,\n    0x6c23, 0x6c7d, 0x6c82, 0x6dc7, 0x7398, 0x7426, 0x742a, 0x7482,\n    0x74a3, 0x7578, 0x757f, 0x7881, 0x78ef, 0x7941, 0x7947, 0x7948,\n    0x797a, 0x7b95, 0x7d00, 0x7dba, 0x7f88, 0x8006, 0x802d, 0x808c,\n    0x8a18, 0x8b4f, 0x8c48, 0x8d77, 0x9321, 0x9324, 0x98e2, 0x9951,\n    0x9a0e, 0x9a0f, 0x9a65, 0x9e92, 0x7dca, 0x4f76, 0x5409, 0x62ee,\n    0x6854, 0x91d1, 0x55ab, 0x513a, 0xf90b, 0xf90c, 0x5a1c, 0x61e6,\n    0xf90d, 0x62cf, 0x62ff, 0xf90e, 0xf90f, 0xf910, 0xf911, 0xf912,\n    0xf913, 0x90a3, 0xf914, 0xf915, 0xf916, 0xf917, 0xf918, 0x8afe,\n    0xf919, 0xf91a, 0xf91b, 0xf91c, 0x6696, 0xf91d, 0x7156, 0xf91e,\n    0xf91f, 0x96e3, 0xf920, 0x634f, 0x637a, 0x5357, 0xf921, 0x678f,\n    0x6960, 0x6e73, 0xf922, 0x7537, 0xf923, 0xf924, 0xf925, 0x003f,\n    /* lead byte d2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7d0d, 0xf926, 0xf927, 0x8872, 0x56ca, 0x5a18, 0xf928,\n    0xf929, 0xf92a, 0xf92b, 0xf92c, 0x4e43, 0xf92d, 0x5167, 0x5948,\n    0x67f0, 0x8010, 0xf92e, 0x5973, 0x5e74, 0x649a, 0x79ca, 0x5ff5,\n    0x606c, 0x62c8, 0x637b, 0x5be7, 0x5bd7, 0x52aa, 0xf92f, 0x5974,\n    0x5f29, 0x6012, 0xf930, 0xf931, 0xf932, 0x7459, 0xf933, 0xf934,\n    0xf935, 0xf936, 0xf937, 0xf938, 0x99d1, 0xf939, 0xf93a, 0xf93b,\n    0xf93c, 0xf93d, 0xf93e, 0xf93f, 0xf940, 0xf941, 0xf942, 0xf943,\n    0x6fc3, 0xf944, 0xf945, 0x81bf, 0x8fb2, 0x60f1, 0xf946, 0xf947,\n    0x8166, 0xf948, 0xf949, 0x5c3f, 0xf94a, 0xf94b, 0xf94c, 0xf94d,\n    0xf94e, 0xf94f, 0xf950, 0xf951, 0x5ae9, 0x8a25, 0x677b, 0x7d10,\n    0xf952, 0xf953, 0xf954, 0xf955, 0xf956, 0xf957, 0x80fd, 0xf958,\n    0xf959, 0x5c3c, 0x6ce5, 0x533f, 0x6eba, 0x591a, 0x8336, 0x003f,\n    /* lead byte d3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x4e39, 0x4eb6, 0x4f46, 0x55ae, 0x5718, 0x58c7, 0x5f56,\n    0x65b7, 0x65e6, 0x6a80, 0x6bb5, 0x6e4d, 0x77ed, 0x7aef, 0x7c1e,\n    0x7dde, 0x86cb, 0x8892, 0x9132, 0x935b, 0x64bb, 0x6fbe, 0x737a,\n    0x75b8, 0x9054, 0x5556, 0x574d, 0x61ba, 0x64d4, 0x66c7, 0x6de1,\n    0x6e5b, 0x6f6d, 0x6fb9, 0x75f0, 0x8043, 0x81bd, 0x8541, 0x8983,\n    0x8ac7, 0x8b5a, 0x931f, 0x6c93, 0x7553, 0x7b54, 0x8e0f, 0x905d,\n    0x5510, 0x5802, 0x5858, 0x5e62, 0x6207, 0x649e, 0x68e0, 0x7576,\n    0x7cd6, 0x87b3, 0x9ee8, 0x4ee3, 0x5788, 0x576e, 0x5927, 0x5c0d,\n    0x5cb1, 0x5e36, 0x5f85, 0x6234, 0x64e1, 0x73b3, 0x81fa, 0x888b,\n    0x8cb8, 0x968a, 0x9edb, 0x5b85, 0x5fb7, 0x60b3, 0x5012, 0x5200,\n    0x5230, 0x5716, 0x5835, 0x5857, 0x5c0e, 0x5c60, 0x5cf6, 0x5d8b,\n    0x5ea6, 0x5f92, 0x60bc, 0x6311, 0x6389, 0x6417, 0x6843, 0x003f,\n    /* lead byte d4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x68f9, 0x6ac2, 0x6dd8, 0x6e21, 0x6ed4, 0x6fe4, 0x71fe,\n    0x76dc, 0x7779, 0x79b1, 0x7a3b, 0x8404, 0x89a9, 0x8ced, 0x8df3,\n    0x8e48, 0x9003, 0x9014, 0x9053, 0x90fd, 0x934d, 0x9676, 0x97dc,\n    0x6bd2, 0x7006, 0x7258, 0x72a2, 0x7368, 0x7763, 0x79bf, 0x7be4,\n    0x7e9b, 0x8b80, 0x58a9, 0x60c7, 0x6566, 0x65fd, 0x66be, 0x6c8c,\n    0x711e, 0x71c9, 0x8c5a, 0x9813, 0x4e6d, 0x7a81, 0x4edd, 0x51ac,\n    0x51cd, 0x52d5, 0x540c, 0x61a7, 0x6771, 0x6850, 0x68df, 0x6d1e,\n    0x6f7c, 0x75bc, 0x77b3, 0x7ae5, 0x80f4, 0x8463, 0x9285, 0x515c,\n    0x6597, 0x675c, 0x6793, 0x75d8, 0x7ac7, 0x8373, 0xf95a, 0x8c46,\n    0x9017, 0x982d, 0x5c6f, 0x81c0, 0x829a, 0x9041, 0x906f, 0x920d,\n    0x5f97, 0x5d9d, 0x6a59, 0x71c8, 0x767b, 0x7b49, 0x85e4, 0x8b04,\n    0x9127, 0x9a30, 0x5587, 0x61f6, 0xf95b, 0x7669, 0x7f85, 0x003f,\n    /* lead byte d5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x863f, 0x87ba, 0x88f8, 0x908f, 0xf95c, 0x6d1b, 0x70d9,\n    0x73de, 0x7d61, 0x843d, 0xf95d, 0x916a, 0x99f1, 0xf95e, 0x4e82,\n    0x5375, 0x6b04, 0x6b12, 0x703e, 0x721b, 0x862d, 0x9e1e, 0x524c,\n    0x8fa3, 0x5d50, 0x64e5, 0x652c, 0x6b16, 0x6feb, 0x7c43, 0x7e9c,\n    0x85cd, 0x8964, 0x89bd, 0x62c9, 0x81d8, 0x881f, 0x5eca, 0x6717,\n    0x6d6a, 0x72fc, 0x7405, 0x746f, 0x8782, 0x90de, 0x4f86, 0x5d0d,\n    0x5fa0, 0x840a, 0x51b7, 0x63a0, 0x7565, 0x4eae, 0x5006, 0x5169,\n    0x51c9, 0x6881, 0x6a11, 0x7cae, 0x7cb1, 0x7ce7, 0x826f, 0x8ad2,\n    0x8f1b, 0x91cf, 0x4fb6, 0x5137, 0x52f5, 0x5442, 0x5eec, 0x616e,\n    0x623e, 0x65c5, 0x6ada, 0x6ffe, 0x792a, 0x85dc, 0x8823, 0x95ad,\n    0x9a62, 0x9a6a, 0x9e97, 0x9ece, 0x529b, 0x66c6, 0x6b77, 0x701d,\n    0x792b, 0x8f62, 0x9742, 0x6190, 0x6200, 0x6523, 0x6f23, 0x003f,\n    /* lead byte d6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7149, 0x7489, 0x7df4, 0x806f, 0x84ee, 0x8f26, 0x9023,\n    0x934a, 0x51bd, 0x5217, 0x52a3, 0x6d0c, 0x70c8, 0x88c2, 0x5ec9,\n    0x6582, 0x6bae, 0x6fc2, 0x7c3e, 0x7375, 0x4ee4, 0x4f36, 0x56f9,\n    0xf95f, 0x5cba, 0x5dba, 0x601c, 0x73b2, 0x7b2d, 0x7f9a, 0x7fce,\n    0x8046, 0x901e, 0x9234, 0x96f6, 0x9748, 0x9818, 0x9f61, 0x4f8b,\n    0x6fa7, 0x79ae, 0x91b4, 0x96b7, 0x52de, 0xf960, 0x6488, 0x64c4,\n    0x6ad3, 0x6f5e, 0x7018, 0x7210, 0x76e7, 0x8001, 0x8606, 0x865c,\n    0x8def, 0x8f05, 0x9732, 0x9b6f, 0x9dfa, 0x9e75, 0x788c, 0x797f,\n    0x7da0, 0x83c9, 0x9304, 0x9e7f, 0x9e93, 0x8ad6, 0x58df, 0x5f04,\n    0x6727, 0x7027, 0x74cf, 0x7c60, 0x807e, 0x5121, 0x7028, 0x7262,\n    0x78ca, 0x8cc2, 0x8cda, 0x8cf4, 0x96f7, 0x4e86, 0x50da, 0x5bee,\n    0x5ed6, 0x6599, 0x71ce, 0x7642, 0x77ad, 0x804a, 0x84fc, 0x003f,\n    /* lead byte d7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x907c, 0x9b27, 0x9f8d, 0x58d8, 0x5a41, 0x5c62, 0x6a13,\n    0x6dda, 0x6f0f, 0x763b, 0x7d2f, 0x7e37, 0x851e, 0x8938, 0x93e4,\n    0x964b, 0x5289, 0x65d2, 0x67f3, 0x69b4, 0x6d41, 0x6e9c, 0x700f,\n    0x7409, 0x7460, 0x7559, 0x7624, 0x786b, 0x8b2c, 0x985e, 0x516d,\n    0x622e, 0x9678, 0x4f96, 0x502b, 0x5d19, 0x6dea, 0x7db8, 0x8f2a,\n    0x5f8b, 0x6144, 0x6817, 0xf961, 0x9686, 0x52d2, 0x808b, 0x51dc,\n    0x51cc, 0x695e, 0x7a1c, 0x7dbe, 0x83f1, 0x9675, 0x4fda, 0x5229,\n    0x5398, 0x540f, 0x550e, 0x5c65, 0x60a7, 0x674e, 0x68a8, 0x6d6c,\n    0x7281, 0x72f8, 0x7406, 0x7483, 0xf962, 0x75e2, 0x7c6c, 0x7f79,\n    0x7fb8, 0x8389, 0x88cf, 0x88e1, 0x91cc, 0x91d0, 0x96e2, 0x9bc9,\n    0x541d, 0x6f7e, 0x71d0, 0x7498, 0x85fa, 0x8eaa, 0x96a3, 0x9c57,\n    0x9e9f, 0x6797, 0x6dcb, 0x7433, 0x81e8, 0x9716, 0x782c, 0x003f,\n    /* lead byte d8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7acb, 0x7b20, 0x7c92, 0x6469, 0x746a, 0x75f2, 0x78bc,\n    0x78e8, 0x99ac, 0x9b54, 0x9ebb, 0x5bde, 0x5e55, 0x6f20, 0x819c,\n    0x83ab, 0x9088, 0x4e07, 0x534d, 0x5a29, 0x5dd2, 0x5f4e, 0x6162,\n    0x633d, 0x6669, 0x66fc, 0x6eff, 0x6f2b, 0x7063, 0x779e, 0x842c,\n    0x8513, 0x883b, 0x8f13, 0x9945, 0x9c3b, 0x551c, 0x62b9, 0x672b,\n    0x6cab, 0x8309, 0x896a, 0x977a, 0x4ea1, 0x5984, 0x5fd8, 0x5fd9,\n    0x671b, 0x7db2, 0x7f54, 0x8292, 0x832b, 0x83bd, 0x8f1e, 0x9099,\n    0x57cb, 0x59b9, 0x5a92, 0x5bd0, 0x6627, 0x679a, 0x6885, 0x6bcf,\n    0x7164, 0x7f75, 0x8cb7, 0x8ce3, 0x9081, 0x9b45, 0x8108, 0x8c8a,\n    0x964c, 0x9a40, 0x9ea5, 0x5b5f, 0x6c13, 0x731b, 0x76f2, 0x76df,\n    0x840c, 0x51aa, 0x8993, 0x514d, 0x5195, 0x52c9, 0x68c9, 0x6c94,\n    0x7704, 0x7720, 0x7dbf, 0x7dec, 0x9762, 0x9eb5, 0x6ec5, 0x003f,\n    /* lead byte d9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8511, 0x51a5, 0x540d, 0x547d, 0x660e, 0x669d, 0x6927,\n    0x6e9f, 0x76bf, 0x7791, 0x8317, 0x84c2, 0x879f, 0x9169, 0x9298,\n    0x9cf4, 0x8882, 0x4fae, 0x5192, 0x52df, 0x59c6, 0x5e3d, 0x6155,\n    0x6478, 0x6479, 0x66ae, 0x67d0, 0x6a21, 0x6bcd, 0x6bdb, 0x725f,\n    0x7261, 0x7441, 0x7738, 0x77db, 0x8017, 0x82bc, 0x8305, 0x8b00,\n    0x8b28, 0x8c8c, 0x6728, 0x6c90, 0x7267, 0x76ee, 0x7766, 0x7a46,\n    0x9da9, 0x6b7f, 0x6c92, 0x5922, 0x6726, 0x8499, 0x536f, 0x5893,\n    0x5999, 0x5edf, 0x63cf, 0x6634, 0x6773, 0x6e3a, 0x732b, 0x7ad7,\n    0x82d7, 0x9328, 0x52d9, 0x5deb, 0x61ae, 0x61cb, 0x620a, 0x62c7,\n    0x64ab, 0x65e0, 0x6959, 0x6b66, 0x6bcb, 0x7121, 0x73f7, 0x755d,\n    0x7e46, 0x821e, 0x8302, 0x856a, 0x8aa3, 0x8cbf, 0x9727, 0x9d61,\n    0x58a8, 0x9ed8, 0x5011, 0x520e, 0x543b, 0x554f, 0x6587, 0x003f,\n    /* lead byte da */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6c76, 0x7d0a, 0x7d0b, 0x805e, 0x868a, 0x9580, 0x96ef,\n    0x52ff, 0x6c95, 0x7269, 0x5473, 0x5a9a, 0x5c3e, 0x5d4b, 0x5f4c,\n    0x5fae, 0x672a, 0x68b6, 0x6963, 0x6e3c, 0x6e44, 0x7709, 0x7c73,\n    0x7f8e, 0x8587, 0x8b0e, 0x8ff7, 0x9761, 0x9ef4, 0x5cb7, 0x60b6,\n    0x610d, 0x61ab, 0x654f, 0x65fb, 0x65fc, 0x6c11, 0x6cef, 0x739f,\n    0x73c9, 0x7de1, 0x9594, 0x5bc6, 0x871c, 0x8b10, 0x525d, 0x535a,\n    0x62cd, 0x640f, 0x64b2, 0x6734, 0x6a38, 0x6cca, 0x73c0, 0x749e,\n    0x7b94, 0x7c95, 0x7e1b, 0x818a, 0x8236, 0x8584, 0x8feb, 0x96f9,\n    0x99c1, 0x4f34, 0x534a, 0x53cd, 0x53db, 0x62cc, 0x642c, 0x6500,\n    0x6591, 0x69c3, 0x6cee, 0x6f58, 0x73ed, 0x7554, 0x7622, 0x76e4,\n    0x76fc, 0x78d0, 0x78fb, 0x792c, 0x7d46, 0x822c, 0x87e0, 0x8fd4,\n    0x9812, 0x98ef, 0x52c3, 0x62d4, 0x64a5, 0x6e24, 0x6f51, 0x003f,\n    /* lead byte db */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x767c, 0x8dcb, 0x91b1, 0x9262, 0x9aee, 0x9b43, 0x5023,\n    0x508d, 0x574a, 0x59a8, 0x5c28, 0x5e47, 0x5f77, 0x623f, 0x653e,\n    0x65b9, 0x65c1, 0x6609, 0x678b, 0x699c, 0x6ec2, 0x78c5, 0x7d21,\n    0x80aa, 0x8180, 0x822b, 0x82b3, 0x84a1, 0x868c, 0x8a2a, 0x8b17,\n    0x90a6, 0x9632, 0x9f90, 0x500d, 0x4ff3, 0xf963, 0x57f9, 0x5f98,\n    0x62dc, 0x6392, 0x676f, 0x6e43, 0x7119, 0x76c3, 0x80cc, 0x80da,\n    0x88f4, 0x88f5, 0x8919, 0x8ce0, 0x8f29, 0x914d, 0x966a, 0x4f2f,\n    0x4f70, 0x5e1b, 0x67cf, 0x6822, 0x767d, 0x767e, 0x9b44, 0x5e61,\n    0x6a0a, 0x7169, 0x71d4, 0x756a, 0xf964, 0x7e41, 0x8543, 0x85e9,\n    0x98dc, 0x4f10, 0x7b4f, 0x7f70, 0x95a5, 0x51e1, 0x5e06, 0x68b5,\n    0x6c3e, 0x6c4e, 0x6cdb, 0x72af, 0x7bc4, 0x8303, 0x6cd5, 0x743a,\n    0x50fb, 0x5288, 0x58c1, 0x64d8, 0x6a97, 0x74a7, 0x7656, 0x003f,\n    /* lead byte dc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x78a7, 0x8617, 0x95e2, 0x9739, 0xf965, 0x535e, 0x5f01,\n    0x8b8a, 0x8fa8, 0x8faf, 0x908a, 0x5225, 0x77a5, 0x9c49, 0x9f08,\n    0x4e19, 0x5002, 0x5175, 0x5c5b, 0x5e77, 0x661e, 0x663a, 0x67c4,\n    0x68c5, 0x70b3, 0x7501, 0x75c5, 0x79c9, 0x7add, 0x8f27, 0x9920,\n    0x9a08, 0x4fdd, 0x5821, 0x5831, 0x5bf6, 0x666e, 0x6b65, 0x6d11,\n    0x6e7a, 0x6f7d, 0x73e4, 0x752b, 0x83e9, 0x88dc, 0x8913, 0x8b5c,\n    0x8f14, 0x4f0f, 0x50d5, 0x5310, 0x535c, 0x5b93, 0x5fa9, 0x670d,\n    0x798f, 0x8179, 0x832f, 0x8514, 0x8907, 0x8986, 0x8f39, 0x8f3b,\n    0x99a5, 0x9c12, 0x672c, 0x4e76, 0x4ff8, 0x5949, 0x5c01, 0x5cef,\n    0x5cf0, 0x6367, 0x68d2, 0x70fd, 0x71a2, 0x742b, 0x7e2b, 0x84ec,\n    0x8702, 0x9022, 0x92d2, 0x9cf3, 0x4e0d, 0x4ed8, 0x4fef, 0x5085,\n    0x5256, 0x526f, 0x5426, 0x5490, 0x57e0, 0x592b, 0x5a66, 0x003f,\n    /* lead byte dd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5b5a, 0x5b75, 0x5bcc, 0x5e9c, 0xf966, 0x6276, 0x6577,\n    0x65a7, 0x6d6e, 0x6ea5, 0x7236, 0x7b26, 0x7c3f, 0x7f36, 0x8150,\n    0x8151, 0x819a, 0x8240, 0x8299, 0x83a9, 0x8a03, 0x8ca0, 0x8ce6,\n    0x8cfb, 0x8d74, 0x8dba, 0x90e8, 0x91dc, 0x961c, 0x9644, 0x99d9,\n    0x9ce7, 0x5317, 0x5206, 0x5429, 0x5674, 0x58b3, 0x5954, 0x596e,\n    0x5fff, 0x61a4, 0x626e, 0x6610, 0x6c7e, 0x711a, 0x76c6, 0x7c89,\n    0x7cde, 0x7d1b, 0x82ac, 0x8cc1, 0x96f0, 0xf967, 0x4f5b, 0x5f17,\n    0x5f7f, 0x62c2, 0x5d29, 0x670b, 0x68da, 0x787c, 0x7e43, 0x9d6c,\n    0x4e15, 0x5099, 0x5315, 0x532a, 0x5351, 0x5983, 0x5a62, 0x5e87,\n    0x60b2, 0x618a, 0x6249, 0x6279, 0x6590, 0x6787, 0x69a7, 0x6bd4,\n    0x6bd6, 0x6bd7, 0x6bd8, 0x6cb8, 0xf968, 0x7435, 0x75fa, 0x7812,\n    0x7891, 0x79d5, 0x79d8, 0x7c83, 0x7dcb, 0x7fe1, 0x80a5, 0x003f,\n    /* lead byte de */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x813e, 0x81c2, 0x83f2, 0x871a, 0x88e8, 0x8ab9, 0x8b6c,\n    0x8cbb, 0x9119, 0x975e, 0x98db, 0x9f3b, 0x56ac, 0x5b2a, 0x5f6c,\n    0x658c, 0x6ab3, 0x6baf, 0x6d5c, 0x6ff1, 0x7015, 0x725d, 0x73ad,\n    0x8ca7, 0x8cd3, 0x983b, 0x6191, 0x6c37, 0x8058, 0x9a01, 0x4e4d,\n    0x4e8b, 0x4e9b, 0x4ed5, 0x4f3a, 0x4f3c, 0x4f7f, 0x4fdf, 0x50ff,\n    0x53f2, 0x53f8, 0x5506, 0x55e3, 0x56db, 0x58eb, 0x5962, 0x5a11,\n    0x5beb, 0x5bfa, 0x5c04, 0x5df3, 0x5e2b, 0x5f99, 0x601d, 0x6368,\n    0x659c, 0x65af, 0x67f6, 0x67fb, 0x68ad, 0x6b7b, 0x6c99, 0x6cd7,\n    0x6e23, 0x7009, 0x7345, 0x7802, 0x793e, 0x7940, 0x7960, 0x79c1,\n    0x7be9, 0x7d17, 0x7d72, 0x8086, 0x820d, 0x838e, 0x84d1, 0x86c7,\n    0x88df, 0x8a50, 0x8a5e, 0x8b1d, 0x8cdc, 0x8d66, 0x8fad, 0x90aa,\n    0x98fc, 0x99df, 0x9e9d, 0x524a, 0xf969, 0x6714, 0xf96a, 0x003f,\n    /* lead byte df */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5098, 0x522a, 0x5c71, 0x6563, 0x6c55, 0x73ca, 0x7523,\n    0x759d, 0x7b97, 0x849c, 0x9178, 0x9730, 0x4e77, 0x6492, 0x6bba,\n    0x715e, 0x85a9, 0x4e09, 0xf96b, 0x6749, 0x68ee, 0x6e17, 0x829f,\n    0x8518, 0x886b, 0x63f7, 0x6f81, 0x9212, 0x98af, 0x4e0a, 0x50b7,\n    0x50cf, 0x511f, 0x5546, 0x55aa, 0x5617, 0x5b40, 0x5c19, 0x5ce0,\n    0x5e38, 0x5e8a, 0x5ea0, 0x5ec2, 0x60f3, 0x6851, 0x6a61, 0x6e58,\n    0x723d, 0x7240, 0x72c0, 0x76f8, 0x7965, 0x7bb1, 0x7fd4, 0x88f3,\n    0x89f4, 0x8a73, 0x8c61, 0x8cde, 0x971c, 0x585e, 0x74bd, 0x8cfd,\n    0x55c7, 0xf96c, 0x7a61, 0x7d22, 0x8272, 0x7272, 0x751f, 0x7525,\n    0xf96d, 0x7b19, 0x5885, 0x58fb, 0x5dbc, 0x5e8f, 0x5eb6, 0x5f90,\n    0x6055, 0x6292, 0x637f, 0x654d, 0x6691, 0x66d9, 0x66f8, 0x6816,\n    0x68f2, 0x7280, 0x745e, 0x7b6e, 0x7d6e, 0x7dd6, 0x7f72, 0x003f,\n    /* lead byte e0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x80e5, 0x8212, 0x85af, 0x897f, 0x8a93, 0x901d, 0x92e4,\n    0x9ecd, 0x9f20, 0x5915, 0x596d, 0x5e2d, 0x60dc, 0x6614, 0x6673,\n    0x6790, 0x6c50, 0x6dc5, 0x6f5f, 0x77f3, 0x78a9, 0x84c6, 0x91cb,\n    0x932b, 0x4ed9, 0x50ca, 0x5148, 0x5584, 0x5b0b, 0x5ba3, 0x6247,\n    0x657e, 0x65cb, 0x6e32, 0x717d, 0x7401, 0x7444, 0x7487, 0x74bf,\n    0x766c, 0x79aa, 0x7dda, 0x7e55, 0x7fa8, 0x817a, 0x81b3, 0x8239,\n    0x861a, 0x87ec, 0x8a75, 0x8de3, 0x9078, 0x9291, 0x9425, 0x994d,\n    0x9bae, 0x5368, 0x5c51, 0x6954, 0x6cc4, 0x6d29, 0x6e2b, 0x820c,\n    0x859b, 0x893b, 0x8a2d, 0x8aaa, 0x96ea, 0x9f67, 0x5261, 0x66b9,\n    0x6bb2, 0x7e96, 0x87fe, 0x8d0d, 0x9583, 0x965d, 0x651d, 0x6d89,\n    0x71ee, 0xf96e, 0x57ce, 0x59d3, 0x5bac, 0x6027, 0x60fa, 0x6210,\n    0x661f, 0x665f, 0x7329, 0x73f9, 0x76db, 0x7701, 0x7b6c, 0x003f,\n    /* lead byte e1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8056, 0x8072, 0x8165, 0x8aa0, 0x9192, 0x4e16, 0x52e2,\n    0x6b72, 0x6d17, 0x7a05, 0x7b39, 0x7d30, 0xf96f, 0x8cb0, 0x53ec,\n    0x562f, 0x5851, 0x5bb5, 0x5c0f, 0x5c11, 0x5de2, 0x6240, 0x6383,\n    0x6414, 0x662d, 0x68b3, 0x6cbc, 0x6d88, 0x6eaf, 0x701f, 0x70a4,\n    0x71d2, 0x7526, 0x758f, 0x758e, 0x7619, 0x7b11, 0x7be0, 0x7c2b,\n    0x7d20, 0x7d39, 0x852c, 0x856d, 0x8607, 0x8a34, 0x900d, 0x9061,\n    0x90b5, 0x92b7, 0x97f6, 0x9a37, 0x4fd7, 0x5c6c, 0x675f, 0x6d91,\n    0x7c9f, 0x7e8c, 0x8b16, 0x8d16, 0x901f, 0x5b6b, 0x5dfd, 0x640d,\n    0x84c0, 0x905c, 0x98e1, 0x7387, 0x5b8b, 0x609a, 0x677e, 0x6dde,\n    0x8a1f, 0x8aa6, 0x9001, 0x980c, 0x5237, 0xf970, 0x7051, 0x788e,\n    0x9396, 0x8870, 0x91d7, 0x4fee, 0x53d7, 0x55fd, 0x56da, 0x5782,\n    0x58fd, 0x5ac2, 0x5b88, 0x5cab, 0x5cc0, 0x5e25, 0x6101, 0x003f,\n    /* lead byte e2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x620d, 0x624b, 0x6388, 0x641c, 0x6536, 0x6578, 0x6a39,\n    0x6b8a, 0x6c34, 0x6d19, 0x6f31, 0x71e7, 0x72e9, 0x7378, 0x7407,\n    0x74b2, 0x7626, 0x7761, 0x79c0, 0x7a57, 0x7aea, 0x7cb9, 0x7d8f,\n    0x7dac, 0x7e61, 0x7f9e, 0x8129, 0x8331, 0x8490, 0x84da, 0x85ea,\n    0x8896, 0x8ab0, 0x8b90, 0x8f38, 0x9042, 0x9083, 0x916c, 0x9296,\n    0x92b9, 0x968b, 0x96a7, 0x96a8, 0x96d6, 0x9700, 0x9808, 0x9996,\n    0x9ad3, 0x9b1a, 0x53d4, 0x587e, 0x5919, 0x5b70, 0x5bbf, 0x6dd1,\n    0x6f5a, 0x719f, 0x7421, 0x74b9, 0x8085, 0x83fd, 0x5de1, 0x5f87,\n    0x5faa, 0x6042, 0x65ec, 0x6812, 0x696f, 0x6a53, 0x6b89, 0x6d35,\n    0x6df3, 0x73e3, 0x76fe, 0x77ac, 0x7b4d, 0x7d14, 0x8123, 0x821c,\n    0x8340, 0x84f4, 0x8563, 0x8a62, 0x8ac4, 0x9187, 0x931e, 0x9806,\n    0x99b4, 0x620c, 0x8853, 0x8ff0, 0x9265, 0x5d07, 0x5d27, 0x003f,\n    /* lead byte e3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5d69, 0x745f, 0x819d, 0x8768, 0x6fd5, 0x62fe, 0x7fd2,\n    0x8936, 0x8972, 0x4e1e, 0x4e58, 0x50e7, 0x52dd, 0x5347, 0x627f,\n    0x6607, 0x7e69, 0x8805, 0x965e, 0x4f8d, 0x5319, 0x5636, 0x59cb,\n    0x5aa4, 0x5c38, 0x5c4e, 0x5c4d, 0x5e02, 0x5f11, 0x6043, 0x65bd,\n    0x662f, 0x6642, 0x67be, 0x67f4, 0x731c, 0x77e2, 0x793a, 0x7fc5,\n    0x8494, 0x84cd, 0x8996, 0x8a66, 0x8a69, 0x8ae1, 0x8c55, 0x8c7a,\n    0x57f4, 0x5bd4, 0x5f0f, 0x606f, 0x62ed, 0x690d, 0x6b96, 0x6e5c,\n    0x7184, 0x7bd2, 0x8755, 0x8b58, 0x8efe, 0x98df, 0x98fe, 0x4f38,\n    0x4f81, 0x4fe1, 0x547b, 0x5a20, 0x5bb8, 0x613c, 0x65b0, 0x6668,\n    0x71fc, 0x7533, 0x795e, 0x7d33, 0x814e, 0x81e3, 0x8398, 0x85aa,\n    0x85ce, 0x8703, 0x8a0a, 0x8eab, 0x8f9b, 0xf971, 0x8fc5, 0x5931,\n    0x5ba4, 0x5be6, 0x6089, 0x5be9, 0x5c0b, 0x5fc3, 0x6c81, 0x003f,\n    /* lead byte e4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf972, 0x6df1, 0x700b, 0x751a, 0x82af, 0x8af6, 0x4ec0,\n    0x5341, 0xf973, 0x96d9, 0x6c0f, 0x4e9e, 0x4fc4, 0x5152, 0x555e,\n    0x5a25, 0x5ce8, 0x6211, 0x7259, 0x82bd, 0x83aa, 0x86fe, 0x8859,\n    0x8a1d, 0x963f, 0x96c5, 0x9913, 0x9d09, 0x9d5d, 0x580a, 0x5cb3,\n    0x5dbd, 0x5e44, 0x60e1, 0x6115, 0x63e1, 0x6a02, 0x6e25, 0x9102,\n    0x9354, 0x984e, 0x9c10, 0x9f77, 0x5b89, 0x5cb8, 0x6309, 0x664f,\n    0x6848, 0x773c, 0x96c1, 0x978d, 0x9854, 0x9b9f, 0x65a1, 0x8b01,\n    0x8ecb, 0x95bc, 0x5535, 0x5ca9, 0x5dd6, 0x5eb5, 0x6697, 0x764c,\n    0x83f4, 0x95c7, 0x58d3, 0x62bc, 0x72ce, 0x9d28, 0x4ef0, 0x592e,\n    0x600f, 0x663b, 0x6b83, 0x79e7, 0x9d26, 0x5393, 0x54c0, 0x57c3,\n    0x5d16, 0x611b, 0x66d6, 0x6daf, 0x788d, 0x827e, 0x9698, 0x9744,\n    0x5384, 0x627c, 0x6396, 0x6db2, 0x7e0a, 0x814b, 0x984d, 0x003f,\n    /* lead byte e5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6afb, 0x7f4c, 0x9daf, 0x9e1a, 0x4e5f, 0x503b, 0x51b6,\n    0x591c, 0x60f9, 0x63f6, 0x6930, 0x723a, 0x8036, 0xf974, 0x91ce,\n    0x5f31, 0xf975, 0xf976, 0x7d04, 0x82e5, 0x846f, 0x84bb, 0x85e5,\n    0x8e8d, 0xf977, 0x4f6f, 0xf978, 0xf979, 0x58e4, 0x5b43, 0x6059,\n    0x63da, 0x6518, 0x656d, 0x6698, 0xf97a, 0x694a, 0x6a23, 0x6d0b,\n    0x7001, 0x716c, 0x75d2, 0x760d, 0x79b3, 0x7a70, 0xf97b, 0x7f8a,\n    0xf97c, 0x8944, 0xf97d, 0x8b93, 0x91c0, 0x967d, 0xf97e, 0x990a,\n    0x5704, 0x5fa1, 0x65bc, 0x6f01, 0x7600, 0x79a6, 0x8a9e, 0x99ad,\n    0x9b5a, 0x9f6c, 0x5104, 0x61b6, 0x6291, 0x6a8d, 0x81c6, 0x5043,\n    0x5830, 0x5f66, 0x7109, 0x8a00, 0x8afa, 0x5b7c, 0x8616, 0x4ffa,\n    0x513c, 0x56b4, 0x5944, 0x63a9, 0x6df9, 0x5daa, 0x696d, 0x5186,\n    0x4e88, 0x4f59, 0xf97f, 0xf980, 0xf981, 0x5982, 0xf982, 0x003f,\n    /* lead byte e6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf983, 0x6b5f, 0x6c5d, 0xf984, 0x74b5, 0x7916, 0xf985,\n    0x8207, 0x8245, 0x8339, 0x8f3f, 0x8f5d, 0xf986, 0x9918, 0xf987,\n    0xf988, 0xf989, 0x4ea6, 0xf98a, 0x57df, 0x5f79, 0x6613, 0xf98b,\n    0xf98c, 0x75ab, 0x7e79, 0x8b6f, 0xf98d, 0x9006, 0x9a5b, 0x56a5,\n    0x5827, 0x59f8, 0x5a1f, 0x5bb4, 0xf98e, 0x5ef6, 0xf98f, 0xf990,\n    0x6350, 0x633b, 0xf991, 0x693d, 0x6c87, 0x6cbf, 0x6d8e, 0x6d93,\n    0x6df5, 0x6f14, 0xf992, 0x70df, 0x7136, 0x7159, 0xf993, 0x71c3,\n    0x71d5, 0xf994, 0x784f, 0x786f, 0xf995, 0x7b75, 0x7de3, 0xf996,\n    0x7e2f, 0xf997, 0x884d, 0x8edf, 0xf998, 0xf999, 0xf99a, 0x925b,\n    0xf99b, 0x9cf6, 0xf99c, 0xf99d, 0xf99e, 0x6085, 0x6d85, 0xf99f,\n    0x71b1, 0xf9a0, 0xf9a1, 0x95b1, 0x53ad, 0xf9a2, 0xf9a3, 0xf9a4,\n    0x67d3, 0xf9a5, 0x708e, 0x7130, 0x7430, 0x8276, 0x82d2, 0x003f,\n    /* lead byte e7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf9a6, 0x95bb, 0x9ae5, 0x9e7d, 0x66c4, 0xf9a7, 0x71c1,\n    0x8449, 0xf9a8, 0xf9a9, 0x584b, 0xf9aa, 0xf9ab, 0x5db8, 0x5f71,\n    0xf9ac, 0x6620, 0x668e, 0x6979, 0x69ae, 0x6c38, 0x6cf3, 0x6e36,\n    0x6f41, 0x6fda, 0x701b, 0x702f, 0x7150, 0x71df, 0x7370, 0xf9ad,\n    0x745b, 0xf9ae, 0x74d4, 0x76c8, 0x7a4e, 0x7e93, 0xf9af, 0xf9b0,\n    0x82f1, 0x8a60, 0x8fce, 0xf9b1, 0x9348, 0xf9b2, 0x9719, 0xf9b3,\n    0xf9b4, 0x4e42, 0x502a, 0xf9b5, 0x5208, 0x53e1, 0x66f3, 0x6c6d,\n    0x6fca, 0x730a, 0x777f, 0x7a62, 0x82ae, 0x85dd, 0x8602, 0xf9b6,\n    0x88d4, 0x8a63, 0x8b7d, 0x8c6b, 0xf9b7, 0x92b3, 0xf9b8, 0x9713,\n    0x9810, 0x4e94, 0x4f0d, 0x4fc9, 0x50b2, 0x5348, 0x543e, 0x5433,\n    0x55da, 0x5862, 0x58ba, 0x5967, 0x5a1b, 0x5be4, 0x609f, 0xf9b9,\n    0x61ca, 0x6556, 0x65ff, 0x6664, 0x68a7, 0x6c5a, 0x6fb3, 0x003f,\n    /* lead byte e8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x70cf, 0x71ac, 0x7352, 0x7b7d, 0x8708, 0x8aa4, 0x9c32,\n    0x9f07, 0x5c4b, 0x6c83, 0x7344, 0x7389, 0x923a, 0x6eab, 0x7465,\n    0x761f, 0x7a69, 0x7e15, 0x860a, 0x5140, 0x58c5, 0x64c1, 0x74ee,\n    0x7515, 0x7670, 0x7fc1, 0x9095, 0x96cd, 0x9954, 0x6e26, 0x74e6,\n    0x7aa9, 0x7aaa, 0x81e5, 0x86d9, 0x8778, 0x8a1b, 0x5a49, 0x5b8c,\n    0x5b9b, 0x68a1, 0x6900, 0x6d63, 0x73a9, 0x7413, 0x742c, 0x7897,\n    0x7de9, 0x7feb, 0x8118, 0x8155, 0x839e, 0x8c4c, 0x962e, 0x9811,\n    0x66f0, 0x5f80, 0x65fa, 0x6789, 0x6c6a, 0x738b, 0x502d, 0x5a03,\n    0x6b6a, 0x77ee, 0x5916, 0x5d6c, 0x5dcd, 0x7325, 0x754f, 0xf9ba,\n    0xf9bb, 0x50e5, 0x51f9, 0x582f, 0x592d, 0x5996, 0x59da, 0x5be5,\n    0xf9bc, 0xf9bd, 0x5da2, 0x62d7, 0x6416, 0x6493, 0x64fe, 0xf9be,\n    0x66dc, 0xf9bf, 0x6a48, 0xf9c0, 0x71ff, 0x7464, 0xf9c1, 0x003f,\n    /* lead byte e9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7a88, 0x7aaf, 0x7e47, 0x7e5e, 0x8000, 0x8170, 0xf9c2,\n    0x87ef, 0x8981, 0x8b20, 0x9059, 0xf9c3, 0x9080, 0x9952, 0x617e,\n    0x6b32, 0x6d74, 0x7e1f, 0x8925, 0x8fb1, 0x4fd1, 0x50ad, 0x5197,\n    0x52c7, 0x57c7, 0x5889, 0x5bb9, 0x5eb8, 0x6142, 0x6995, 0x6d8c,\n    0x6e67, 0x6eb6, 0x7194, 0x7462, 0x7528, 0x752c, 0x8073, 0x8338,\n    0x84c9, 0x8e0a, 0x9394, 0x93de, 0xf9c4, 0x4e8e, 0x4f51, 0x5076,\n    0x512a, 0x53c8, 0x53cb, 0x53f3, 0x5b87, 0x5bd3, 0x5c24, 0x611a,\n    0x6182, 0x65f4, 0x725b, 0x7397, 0x7440, 0x76c2, 0x7950, 0x7991,\n    0x79b9, 0x7d06, 0x7fbd, 0x828b, 0x85d5, 0x865e, 0x8fc2, 0x9047,\n    0x90f5, 0x91ea, 0x9685, 0x96e8, 0x96e9, 0x52d6, 0x5f67, 0x65ed,\n    0x6631, 0x682f, 0x715c, 0x7a36, 0x90c1, 0x980a, 0x4e91, 0xf9c5,\n    0x6a52, 0x6b9e, 0x6f90, 0x7189, 0x8018, 0x82b8, 0x8553, 0x003f,\n    /* lead byte ea */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x904b, 0x9695, 0x96f2, 0x97fb, 0x851a, 0x9b31, 0x4e90,\n    0x718a, 0x96c4, 0x5143, 0x539f, 0x54e1, 0x5713, 0x5712, 0x57a3,\n    0x5a9b, 0x5ac4, 0x5bc3, 0x6028, 0x613f, 0x63f4, 0x6c85, 0x6d39,\n    0x6e72, 0x6e90, 0x7230, 0x733f, 0x7457, 0x82d1, 0x8881, 0x8f45,\n    0x9060, 0xf9c6, 0x9662, 0x9858, 0x9d1b, 0x6708, 0x8d8a, 0x925e,\n    0x4f4d, 0x5049, 0x50de, 0x5371, 0x570d, 0x59d4, 0x5a01, 0x5c09,\n    0x6170, 0x6690, 0x6e2d, 0x7232, 0x744b, 0x7def, 0x80c3, 0x840e,\n    0x8466, 0x853f, 0x875f, 0x885b, 0x8918, 0x8b02, 0x9055, 0x97cb,\n    0x9b4f, 0x4e73, 0x4f91, 0x5112, 0x516a, 0xf9c7, 0x552f, 0x55a9,\n    0x5b7a, 0x5ba5, 0x5e7c, 0x5e7d, 0x5ebe, 0x60a0, 0x60df, 0x6108,\n    0x6109, 0x63c4, 0x6538, 0x6709, 0xf9c8, 0x67d4, 0x67da, 0xf9c9,\n    0x6961, 0x6962, 0x6cb9, 0x6d27, 0xf9ca, 0x6e38, 0xf9cb, 0x003f,\n    /* lead byte eb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6fe1, 0x7336, 0x7337, 0xf9cc, 0x745c, 0x7531, 0xf9cd,\n    0x7652, 0xf9ce, 0xf9cf, 0x7dad, 0x81fe, 0x8438, 0x88d5, 0x8a98,\n    0x8adb, 0x8aed, 0x8e30, 0x8e42, 0x904a, 0x903e, 0x907a, 0x9149,\n    0x91c9, 0x936e, 0xf9d0, 0xf9d1, 0x5809, 0xf9d2, 0x6bd3, 0x8089,\n    0x80b2, 0xf9d3, 0xf9d4, 0x5141, 0x596b, 0x5c39, 0xf9d5, 0xf9d6,\n    0x6f64, 0x73a7, 0x80e4, 0x8d07, 0xf9d7, 0x9217, 0x958f, 0xf9d8,\n    0xf9d9, 0xf9da, 0xf9db, 0x807f, 0x620e, 0x701c, 0x7d68, 0x878d,\n    0xf9dc, 0x57a0, 0x6069, 0x6147, 0x6bb7, 0x8abe, 0x9280, 0x96b1,\n    0x4e59, 0x541f, 0x6deb, 0x852d, 0x9670, 0x97f3, 0x98ee, 0x63d6,\n    0x6ce3, 0x9091, 0x51dd, 0x61c9, 0x81ba, 0x9df9, 0x4f9d, 0x501a,\n    0x5100, 0x5b9c, 0x610f, 0x61ff, 0x64ec, 0x6905, 0x6bc5, 0x7591,\n    0x77e3, 0x7fa9, 0x8264, 0x858f, 0x87fb, 0x8863, 0x8abc, 0x003f,\n    /* lead byte ec */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8b70, 0x91ab, 0x4e8c, 0x4ee5, 0x4f0a, 0xf9dd, 0xf9de,\n    0x5937, 0x59e8, 0xf9df, 0x5df2, 0x5f1b, 0x5f5b, 0x6021, 0xf9e0,\n    0xf9e1, 0xf9e2, 0xf9e3, 0x723e, 0x73e5, 0xf9e4, 0x7570, 0x75cd,\n    0xf9e5, 0x79fb, 0xf9e6, 0x800c, 0x8033, 0x8084, 0x82e1, 0x8351,\n    0xf9e7, 0xf9e8, 0x8cbd, 0x8cb3, 0x9087, 0xf9e9, 0xf9ea, 0x98f4,\n    0x990c, 0xf9eb, 0xf9ec, 0x7037, 0x76ca, 0x7fca, 0x7fcc, 0x7ffc,\n    0x8b1a, 0x4eba, 0x4ec1, 0x5203, 0x5370, 0xf9ed, 0x54bd, 0x56e0,\n    0x59fb, 0x5bc5, 0x5f15, 0x5fcd, 0x6e6e, 0xf9ee, 0xf9ef, 0x7d6a,\n    0x8335, 0xf9f0, 0x8693, 0x8a8d, 0xf9f1, 0x976d, 0x9777, 0xf9f2,\n    0xf9f3, 0x4e00, 0x4f5a, 0x4f7e, 0x58f9, 0x65e5, 0x6ea2, 0x9038,\n    0x93b0, 0x99b9, 0x4efb, 0x58ec, 0x598a, 0x59d9, 0x6041, 0xf9f4,\n    0xf9f5, 0x7a14, 0xf9f6, 0x834f, 0x8cc3, 0x5165, 0x5344, 0x003f,\n    /* lead byte ed */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf9f7, 0xf9f8, 0xf9f9, 0x4ecd, 0x5269, 0x5b55, 0x82bf,\n    0x4ed4, 0x523a, 0x54a8, 0x59c9, 0x59ff, 0x5b50, 0x5b57, 0x5b5c,\n    0x6063, 0x6148, 0x6ecb, 0x7099, 0x716e, 0x7386, 0x74f7, 0x75b5,\n    0x78c1, 0x7d2b, 0x8005, 0x81ea, 0x8328, 0x8517, 0x85c9, 0x8aee,\n    0x8cc7, 0x96cc, 0x4f5c, 0x52fa, 0x56bc, 0x65ab, 0x6628, 0x707c,\n    0x70b8, 0x7235, 0x7dbd, 0x828d, 0x914c, 0x96c0, 0x9d72, 0x5b71,\n    0x68e7, 0x6b98, 0x6f7a, 0x76de, 0x5c91, 0x66ab, 0x6f5b, 0x7bb4,\n    0x7c2a, 0x8836, 0x96dc, 0x4e08, 0x4ed7, 0x5320, 0x5834, 0x58bb,\n    0x58ef, 0x596c, 0x5c07, 0x5e33, 0x5e84, 0x5f35, 0x638c, 0x66b2,\n    0x6756, 0x6a1f, 0x6aa3, 0x6b0c, 0x6f3f, 0x7246, 0xf9fa, 0x7350,\n    0x748b, 0x7ae0, 0x7ca7, 0x8178, 0x81df, 0x81e7, 0x838a, 0x846c,\n    0x8523, 0x8594, 0x85cf, 0x88dd, 0x8d13, 0x91ac, 0x9577, 0x003f,\n    /* lead byte ee */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x969c, 0x518d, 0x54c9, 0x5728, 0x5bb0, 0x624d, 0x6750,\n    0x683d, 0x6893, 0x6e3d, 0x6ed3, 0x707d, 0x7e21, 0x88c1, 0x8ca1,\n    0x8f09, 0x9f4b, 0x9f4e, 0x722d, 0x7b8f, 0x8acd, 0x931a, 0x4f47,\n    0x4f4e, 0x5132, 0x5480, 0x59d0, 0x5e95, 0x62b5, 0x6775, 0x696e,\n    0x6a17, 0x6cae, 0x6e1a, 0x72d9, 0x732a, 0x75bd, 0x7bb8, 0x7d35,\n    0x82e7, 0x83f9, 0x8457, 0x85f7, 0x8a5b, 0x8caf, 0x8e87, 0x9019,\n    0x90b8, 0x96ce, 0x9f5f, 0x52e3, 0x540a, 0x5ae1, 0x5bc2, 0x6458,\n    0x6575, 0x6ef4, 0x72c4, 0xf9fb, 0x7684, 0x7a4d, 0x7b1b, 0x7c4d,\n    0x7e3e, 0x7fdf, 0x837b, 0x8b2b, 0x8cca, 0x8d64, 0x8de1, 0x8e5f,\n    0x8fea, 0x8ff9, 0x9069, 0x93d1, 0x4f43, 0x4f7a, 0x50b3, 0x5168,\n    0x5178, 0x524d, 0x526a, 0x5861, 0x587c, 0x5960, 0x5c08, 0x5c55,\n    0x5edb, 0x609b, 0x6230, 0x6813, 0x6bbf, 0x6c08, 0x6fb1, 0x003f,\n    /* lead byte ef */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x714e, 0x7420, 0x7530, 0x7538, 0x7551, 0x7672, 0x7b4c,\n    0x7b8b, 0x7bad, 0x7bc6, 0x7e8f, 0x8a6e, 0x8f3e, 0x8f49, 0x923f,\n    0x9293, 0x9322, 0x942b, 0x96fb, 0x985a, 0x986b, 0x991e, 0x5207,\n    0x622a, 0x6298, 0x6d59, 0x7664, 0x7aca, 0x7bc0, 0x7d76, 0x5360,\n    0x5cbe, 0x5e97, 0x6f38, 0x70b9, 0x7c98, 0x9711, 0x9b8e, 0x9ede,\n    0x63a5, 0x647a, 0x8776, 0x4e01, 0x4e95, 0x4ead, 0x505c, 0x5075,\n    0x5448, 0x59c3, 0x5b9a, 0x5e40, 0x5ead, 0x5ef7, 0x5f81, 0x60c5,\n    0x633a, 0x653f, 0x6574, 0x65cc, 0x6676, 0x6678, 0x67fe, 0x6968,\n    0x6a89, 0x6b63, 0x6c40, 0x6dc0, 0x6de8, 0x6e1f, 0x6e5e, 0x701e,\n    0x70a1, 0x738e, 0x73fd, 0x753a, 0x775b, 0x7887, 0x798e, 0x7a0b,\n    0x7a7d, 0x7cbe, 0x7d8e, 0x8247, 0x8a02, 0x8aea, 0x8c9e, 0x912d,\n    0x914a, 0x91d8, 0x9266, 0x92cc, 0x9320, 0x9706, 0x9756, 0x003f,\n    /* lead byte f0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x975c, 0x9802, 0x9f0e, 0x5236, 0x5291, 0x557c, 0x5824,\n    0x5e1d, 0x5f1f, 0x608c, 0x63d0, 0x68af, 0x6fdf, 0x796d, 0x7b2c,\n    0x81cd, 0x85ba, 0x88fd, 0x8af8, 0x8e44, 0x918d, 0x9664, 0x969b,\n    0x973d, 0x984c, 0x9f4a, 0x4fce, 0x5146, 0x51cb, 0x52a9, 0x5632,\n    0x5f14, 0x5f6b, 0x63aa, 0x64cd, 0x65e9, 0x6641, 0x66fa, 0x66f9,\n    0x671d, 0x689d, 0x68d7, 0x69fd, 0x6f15, 0x6f6e, 0x7167, 0x71e5,\n    0x722a, 0x74aa, 0x773a, 0x7956, 0x795a, 0x79df, 0x7a20, 0x7a95,\n    0x7c97, 0x7cdf, 0x7d44, 0x7e70, 0x8087, 0x85fb, 0x86a4, 0x8a54,\n    0x8abf, 0x8d99, 0x8e81, 0x9020, 0x906d, 0x91e3, 0x963b, 0x96d5,\n    0x9ce5, 0x65cf, 0x7c07, 0x8db3, 0x93c3, 0x5b58, 0x5c0a, 0x5352,\n    0x62d9, 0x731d, 0x5027, 0x5b97, 0x5f9e, 0x60b0, 0x616b, 0x68d5,\n    0x6dd9, 0x742e, 0x7a2e, 0x7d42, 0x7d9c, 0x7e31, 0x816b, 0x003f,\n    /* lead byte f1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8e2a, 0x8e35, 0x937e, 0x9418, 0x4f50, 0x5750, 0x5de6,\n    0x5ea7, 0x632b, 0x7f6a, 0x4e3b, 0x4f4f, 0x4f8f, 0x505a, 0x59dd,\n    0x80c4, 0x546a, 0x5468, 0x55fe, 0x594f, 0x5b99, 0x5dde, 0x5eda,\n    0x665d, 0x6731, 0x67f1, 0x682a, 0x6ce8, 0x6d32, 0x6e4a, 0x6f8d,\n    0x70b7, 0x73e0, 0x7587, 0x7c4c, 0x7d02, 0x7d2c, 0x7da2, 0x821f,\n    0x86db, 0x8a3b, 0x8a85, 0x8d70, 0x8e8a, 0x8f33, 0x9031, 0x914e,\n    0x9152, 0x9444, 0x99d0, 0x7af9, 0x7ca5, 0x4fca, 0x5101, 0x51c6,\n    0x57c8, 0x5bef, 0x5cfb, 0x6659, 0x6a3d, 0x6d5a, 0x6e96, 0x6fec,\n    0x710c, 0x756f, 0x7ae3, 0x8822, 0x9021, 0x9075, 0x96cb, 0x99ff,\n    0x8301, 0x4e2d, 0x4ef2, 0x8846, 0x91cd, 0x537d, 0x6adb, 0x696b,\n    0x6c41, 0x847a, 0x589e, 0x618e, 0x66fe, 0x62ef, 0x70dd, 0x7511,\n    0x75c7, 0x7e52, 0x84b8, 0x8b49, 0x8d08, 0x4e4b, 0x53ea, 0x003f,\n    /* lead byte f2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x54ab, 0x5730, 0x5740, 0x5fd7, 0x6301, 0x6307, 0x646f,\n    0x652f, 0x65e8, 0x667a, 0x679d, 0x67b3, 0x6b62, 0x6c60, 0x6c9a,\n    0x6f2c, 0x77e5, 0x7825, 0x7949, 0x7957, 0x7d19, 0x80a2, 0x8102,\n    0x81f3, 0x829d, 0x82b7, 0x8718, 0x8a8c, 0xf9fc, 0x8d04, 0x8dbe,\n    0x9072, 0x76f4, 0x7a19, 0x7a37, 0x7e54, 0x8077, 0x5507, 0x55d4,\n    0x5875, 0x632f, 0x6422, 0x6649, 0x664b, 0x686d, 0x699b, 0x6b84,\n    0x6d25, 0x6eb1, 0x73cd, 0x7468, 0x74a1, 0x755b, 0x75b9, 0x76e1,\n    0x771e, 0x778b, 0x79e6, 0x7e09, 0x7e1d, 0x81fb, 0x852f, 0x8897,\n    0x8a3a, 0x8cd1, 0x8eeb, 0x8fb0, 0x9032, 0x93ad, 0x9663, 0x9673,\n    0x9707, 0x4f84, 0x53f1, 0x59ea, 0x5ac9, 0x5e19, 0x684e, 0x74c6,\n    0x75be, 0x79e9, 0x7a92, 0x81a3, 0x86ed, 0x8cea, 0x8dcc, 0x8fed,\n    0x659f, 0x6715, 0xf9fd, 0x57f7, 0x6f57, 0x7ddd, 0x8f2f, 0x003f,\n    /* lead byte f3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x93f6, 0x96c6, 0x5fb5, 0x61f2, 0x6f84, 0x4e14, 0x4f98,\n    0x501f, 0x53c9, 0x55df, 0x5d6f, 0x5dee, 0x6b21, 0x6b64, 0x78cb,\n    0x7b9a, 0xf9fe, 0x8e49, 0x8eca, 0x906e, 0x6349, 0x643e, 0x7740,\n    0x7a84, 0x932f, 0x947f, 0x9f6a, 0x64b0, 0x6faf, 0x71e6, 0x74a8,\n    0x74da, 0x7ac4, 0x7c12, 0x7e82, 0x7cb2, 0x7e98, 0x8b9a, 0x8d0a,\n    0x947d, 0x9910, 0x994c, 0x5239, 0x5bdf, 0x64e6, 0x672d, 0x7d2e,\n    0x50ed, 0x53c3, 0x5879, 0x6158, 0x6159, 0x61fa, 0x65ac, 0x7ad9,\n    0x8b92, 0x8b96, 0x5009, 0x5021, 0x5275, 0x5531, 0x5a3c, 0x5ee0,\n    0x5f70, 0x6134, 0x655e, 0x660c, 0x6636, 0x66a2, 0x69cd, 0x6ec4,\n    0x6f32, 0x7316, 0x7621, 0x7a93, 0x8139, 0x8259, 0x83d6, 0x84bc,\n    0x50b5, 0x57f0, 0x5bc0, 0x5be8, 0x5f69, 0x63a1, 0x7826, 0x7db5,\n    0x83dc, 0x8521, 0x91c7, 0x91f5, 0x518a, 0x67f5, 0x7b56, 0x003f,\n    /* lead byte f4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8cac, 0x51c4, 0x59bb, 0x60bd, 0x8655, 0x501c, 0xf9ff,\n    0x5254, 0x5c3a, 0x617d, 0x621a, 0x62d3, 0x64f2, 0x65a5, 0x6ecc,\n    0x7620, 0x810a, 0x8e60, 0x965f, 0x96bb, 0x4edf, 0x5343, 0x5598,\n    0x5929, 0x5ddd, 0x64c5, 0x6cc9, 0x6dfa, 0x7394, 0x7a7f, 0x821b,\n    0x85a6, 0x8ce4, 0x8e10, 0x9077, 0x91e7, 0x95e1, 0x9621, 0x97c6,\n    0x51f8, 0x54f2, 0x5586, 0x5fb9, 0x64a4, 0x6f88, 0x7db4, 0x8f1f,\n    0x8f4d, 0x9435, 0x50c9, 0x5c16, 0x6cbe, 0x6dfb, 0x751b, 0x77bb,\n    0x7c3d, 0x7c64, 0x8a79, 0x8ac2, 0x581e, 0x59be, 0x5e16, 0x6377,\n    0x7252, 0x758a, 0x776b, 0x8adc, 0x8cbc, 0x8f12, 0x5ef3, 0x6674,\n    0x6df8, 0x807d, 0x83c1, 0x8acb, 0x9751, 0x9bd6, 0xfa00, 0x5243,\n    0x66ff, 0x6d95, 0x6eef, 0x7de0, 0x8ae6, 0x902e, 0x905e, 0x9ad4,\n    0x521d, 0x527f, 0x54e8, 0x6194, 0x6284, 0x62db, 0x68a2, 0x003f,\n    /* lead byte f5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6912, 0x695a, 0x6a35, 0x7092, 0x7126, 0x785d, 0x7901,\n    0x790e, 0x79d2, 0x7a0d, 0x8096, 0x8278, 0x82d5, 0x8349, 0x8549,\n    0x8c82, 0x8d85, 0x9162, 0x918b, 0x91ae, 0x4fc3, 0x56d1, 0x71ed,\n    0x77d7, 0x8700, 0x89f8, 0x5bf8, 0x5fd6, 0x6751, 0x90a8, 0x53e2,\n    0x585a, 0x5bf5, 0x60a4, 0x6181, 0x6460, 0x7e3d, 0x8070, 0x8525,\n    0x9283, 0x64ae, 0x50ac, 0x5d14, 0x6700, 0x589c, 0x62bd, 0x63a8,\n    0x690e, 0x6978, 0x6a1e, 0x6e6b, 0x76ba, 0x79cb, 0x82bb, 0x8429,\n    0x8acf, 0x8da8, 0x8ffd, 0x9112, 0x914b, 0x919c, 0x9310, 0x9318,\n    0x939a, 0x96db, 0x9a36, 0x9c0d, 0x4e11, 0x755c, 0x795d, 0x7afa,\n    0x7b51, 0x7bc9, 0x7e2e, 0x84c4, 0x8e59, 0x8e74, 0x8ef8, 0x9010,\n    0x6625, 0x693f, 0x7443, 0x51fa, 0x672e, 0x9edc, 0x5145, 0x5fe0,\n    0x6c96, 0x87f2, 0x885d, 0x8877, 0x60b4, 0x81b5, 0x8403, 0x003f,\n    /* lead byte f6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8d05, 0x53d6, 0x5439, 0x5634, 0x5a36, 0x5c31, 0x708a,\n    0x7fe0, 0x805a, 0x8106, 0x81ed, 0x8da3, 0x9189, 0x9a5f, 0x9df2,\n    0x5074, 0x4ec4, 0x53a0, 0x60fb, 0x6e2c, 0x5c64, 0x4f88, 0x5024,\n    0x55e4, 0x5cd9, 0x5e5f, 0x6065, 0x6894, 0x6cbb, 0x6dc4, 0x71be,\n    0x75d4, 0x75f4, 0x7661, 0x7a1a, 0x7a49, 0x7dc7, 0x7dfb, 0x7f6e,\n    0x81f4, 0x86a9, 0x8f1c, 0x96c9, 0x99b3, 0x9f52, 0x5247, 0x52c5,\n    0x98ed, 0x89aa, 0x4e03, 0x67d2, 0x6f06, 0x4fb5, 0x5be2, 0x6795,\n    0x6c88, 0x6d78, 0x741b, 0x7827, 0x91dd, 0x937c, 0x87c4, 0x79e4,\n    0x7a31, 0x5feb, 0x4ed6, 0x54a4, 0x553e, 0x58ae, 0x59a5, 0x60f0,\n    0x6253, 0x62d6, 0x6736, 0x6955, 0x8235, 0x9640, 0x99b1, 0x99dd,\n    0x502c, 0x5353, 0x5544, 0x577c, 0xfa01, 0x6258, 0xfa02, 0x64e2,\n    0x666b, 0x67dd, 0x6fc1, 0x6fef, 0x7422, 0x7438, 0x8a17, 0x003f,\n    /* lead byte f7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9438, 0x5451, 0x5606, 0x5766, 0x5f48, 0x619a, 0x6b4e,\n    0x7058, 0x70ad, 0x7dbb, 0x8a95, 0x596a, 0x812b, 0x63a2, 0x7708,\n    0x803d, 0x8caa, 0x5854, 0x642d, 0x69bb, 0x5b95, 0x5e11, 0x6e6f,\n    0xfa03, 0x8569, 0x514c, 0x53f0, 0x592a, 0x6020, 0x614b, 0x6b86,\n    0x6c70, 0x6cf0, 0x7b1e, 0x80ce, 0x82d4, 0x8dc6, 0x90b0, 0x98b1,\n    0xfa04, 0x64c7, 0x6fa4, 0x6491, 0x6504, 0x514e, 0x5410, 0x571f,\n    0x8a0e, 0x615f, 0x6876, 0xfa05, 0x75db, 0x7b52, 0x7d71, 0x901a,\n    0x5806, 0x69cc, 0x817f, 0x892a, 0x9000, 0x9839, 0x5078, 0x5957,\n    0x59ac, 0x6295, 0x900f, 0x9b2a, 0x615d, 0x7279, 0x95d6, 0x5761,\n    0x5a46, 0x5df4, 0x628a, 0x64ad, 0x64fa, 0x6777, 0x6ce2, 0x6d3e,\n    0x722c, 0x7436, 0x7834, 0x7f77, 0x82ad, 0x8ddb, 0x9817, 0x5224,\n    0x5742, 0x677f, 0x7248, 0x74e3, 0x8ca9, 0x8fa6, 0x9211, 0x003f,\n    /* lead byte f8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x962a, 0x516b, 0x53ed, 0x634c, 0x4f69, 0x5504, 0x6096,\n    0x6557, 0x6c9b, 0x6d7f, 0x724c, 0x72fd, 0x7a17, 0x8987, 0x8c9d,\n    0x5f6d, 0x6f8e, 0x70f9, 0x81a8, 0x610e, 0x4fbf, 0x504f, 0x6241,\n    0x7247, 0x7bc7, 0x7de8, 0x7fe9, 0x904d, 0x97ad, 0x9a19, 0x8cb6,\n    0x576a, 0x5e73, 0x67b0, 0x840d, 0x8a55, 0x5420, 0x5b16, 0x5e63,\n    0x5ee2, 0x5f0a, 0x6583, 0x80ba, 0x853d, 0x9589, 0x965b, 0x4f48,\n    0x5305, 0x530d, 0x530f, 0x5486, 0x54fa, 0x5703, 0x5e03, 0x6016,\n    0x629b, 0x62b1, 0x6355, 0xfa06, 0x6ce1, 0x6d66, 0x75b1, 0x7832,\n    0x80de, 0x812f, 0x82de, 0x8461, 0x84b2, 0x888d, 0x8912, 0x900b,\n    0x92ea, 0x98fd, 0x9b91, 0x5e45, 0x66b4, 0x66dd, 0x7011, 0x7206,\n    0xfa07, 0x4ff5, 0x527d, 0x5f6a, 0x6153, 0x6753, 0x6a19, 0x6f02,\n    0x74e2, 0x7968, 0x8868, 0x8c79, 0x98c7, 0x98c4, 0x9a43, 0x003f,\n    /* lead byte f9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x54c1, 0x7a1f, 0x6953, 0x8af7, 0x8c4a, 0x98a8, 0x99ae,\n    0x5f7c, 0x62ab, 0x75b2, 0x76ae, 0x88ab, 0x907f, 0x9642, 0x5339,\n    0x5f3c, 0x5fc5, 0x6ccc, 0x73cc, 0x7562, 0x758b, 0x7b46, 0x82fe,\n    0x999d, 0x4e4f, 0x903c, 0x4e0b, 0x4f55, 0x53a6, 0x590f, 0x5ec8,\n    0x6630, 0x6cb3, 0x7455, 0x8377, 0x8766, 0x8cc0, 0x9050, 0x971e,\n    0x9c15, 0x58d1, 0x5b78, 0x8650, 0x8b14, 0x9db4, 0x5bd2, 0x6068,\n    0x608d, 0x65f1, 0x6c57, 0x6f22, 0x6fa3, 0x701a, 0x7f55, 0x7ff0,\n    0x9591, 0x9592, 0x9650, 0x97d3, 0x5272, 0x8f44, 0x51fd, 0x542b,\n    0x54b8, 0x5563, 0x558a, 0x6abb, 0x6db5, 0x7dd8, 0x8266, 0x929c,\n    0x9677, 0x9e79, 0x5408, 0x54c8, 0x76d2, 0x86e4, 0x95a4, 0x95d4,\n    0x965c, 0x4ea2, 0x4f09, 0x59ee, 0x5ae6, 0x5df7, 0x6052, 0x6297,\n    0x676d, 0x6841, 0x6c86, 0x6e2f, 0x7f38, 0x809b, 0x822a, 0x003f,\n    /* lead byte fa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfa08, 0xfa09, 0x9805, 0x4ea5, 0x5055, 0x54b3, 0x5793,\n    0x595a, 0x5b69, 0x5bb3, 0x61c8, 0x6977, 0x6d77, 0x7023, 0x87f9,\n    0x89e3, 0x8a72, 0x8ae7, 0x9082, 0x99ed, 0x9ab8, 0x52be, 0x6838,\n    0x5016, 0x5e78, 0x674f, 0x8347, 0x884c, 0x4eab, 0x5411, 0x56ae,\n    0x73e6, 0x9115, 0x97ff, 0x9909, 0x9957, 0x9999, 0x5653, 0x589f,\n    0x865b, 0x8a31, 0x61b2, 0x6af6, 0x737b, 0x8ed2, 0x6b47, 0x96aa,\n    0x9a57, 0x5955, 0x7200, 0x8d6b, 0x9769, 0x4fd4, 0x5cf4, 0x5f26,\n    0x61f8, 0x665b, 0x6ceb, 0x70ab, 0x7384, 0x73b9, 0x73fe, 0x7729,\n    0x774d, 0x7d43, 0x7d62, 0x7e23, 0x8237, 0x8852, 0xfa0a, 0x8ce2,\n    0x9249, 0x986f, 0x5b51, 0x7a74, 0x8840, 0x9801, 0x5acc, 0x4fe0,\n    0x5354, 0x593e, 0x5cfd, 0x633e, 0x6d79, 0x72f9, 0x8105, 0x8107,\n    0x83a2, 0x92cf, 0x9830, 0x4ea8, 0x5144, 0x5211, 0x578b, 0x003f,\n    /* lead byte fb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5f62, 0x6cc2, 0x6ece, 0x7005, 0x7050, 0x70af, 0x7192,\n    0x73e9, 0x7469, 0x834a, 0x87a2, 0x8861, 0x9008, 0x90a2, 0x93a3,\n    0x99a8, 0x516e, 0x5f57, 0x60e0, 0x6167, 0x66b3, 0x8559, 0x8e4a,\n    0x91af, 0x978b, 0x4e4e, 0x4e92, 0x547c, 0x58d5, 0x58fa, 0x597d,\n    0x5cb5, 0x5f27, 0x6236, 0x6248, 0x660a, 0x6667, 0x6beb, 0x6d69,\n    0x6dcf, 0x6e56, 0x6ef8, 0x6f94, 0x6fe0, 0x6fe9, 0x705d, 0x72d0,\n    0x7425, 0x745a, 0x74e0, 0x7693, 0x795c, 0x7cca, 0x7e1e, 0x80e1,\n    0x82a6, 0x846b, 0x84bf, 0x864e, 0x865f, 0x8774, 0x8b77, 0x8c6a,\n    0x93ac, 0x9800, 0x9865, 0x60d1, 0x6216, 0x9177, 0x5a5a, 0x660f,\n    0x6df7, 0x6e3e, 0x743f, 0x9b42, 0x5ffd, 0x60da, 0x7b0f, 0x54c4,\n    0x5f18, 0x6c5e, 0x6cd3, 0x6d2a, 0x70d8, 0x7d05, 0x8679, 0x8a0c,\n    0x9d3b, 0x5316, 0x548c, 0x5b05, 0x6a3a, 0x706b, 0x7575, 0x003f,\n    /* lead byte fc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x798d, 0x79be, 0x82b1, 0x83ef, 0x8a71, 0x8b41, 0x8ca8,\n    0x9774, 0xfa0b, 0x64f4, 0x652b, 0x78ba, 0x78bb, 0x7a6b, 0x4e38,\n    0x559a, 0x5950, 0x5ba6, 0x5e7b, 0x60a3, 0x63db, 0x6b61, 0x6665,\n    0x6853, 0x6e19, 0x7165, 0x74b0, 0x7d08, 0x9084, 0x9a69, 0x9c25,\n    0x6d3b, 0x6ed1, 0x733e, 0x8c41, 0x95ca, 0x51f0, 0x5e4c, 0x5fa8,\n    0x604d, 0x60f6, 0x6130, 0x614c, 0x6643, 0x6644, 0x69a5, 0x6cc1,\n    0x6e5f, 0x6ec9, 0x6f62, 0x714c, 0x749c, 0x7687, 0x7bc1, 0x7c27,\n    0x8352, 0x8757, 0x9051, 0x968d, 0x9ec3, 0x532f, 0x56de, 0x5efb,\n    0x5f8a, 0x6062, 0x6094, 0x61f7, 0x6666, 0x6703, 0x6a9c, 0x6dee,\n    0x6fae, 0x7070, 0x736a, 0x7e6a, 0x81be, 0x8334, 0x86d4, 0x8aa8,\n    0x8cc4, 0x5283, 0x7372, 0x5b96, 0x6a6b, 0x9404, 0x54ee, 0x5686,\n    0x5b5d, 0x6548, 0x6585, 0x66c9, 0x689f, 0x6d8d, 0x6dc6, 0x003f,\n    /* lead byte fd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x723b, 0x80b4, 0x9175, 0x9a4d, 0x4faf, 0x5019, 0x539a,\n    0x540e, 0x543c, 0x5589, 0x55c5, 0x5e3f, 0x5f8c, 0x673d, 0x7166,\n    0x73dd, 0x9005, 0x52db, 0x52f3, 0x5864, 0x58ce, 0x7104, 0x718f,\n    0x71fb, 0x85b0, 0x8a13, 0x6688, 0x85a8, 0x55a7, 0x6684, 0x714a,\n    0x8431, 0x5349, 0x5599, 0x6bc1, 0x5f59, 0x5fbd, 0x63ee, 0x6689,\n    0x7147, 0x8af1, 0x8f1d, 0x9ebe, 0x4f11, 0x643a, 0x70cb, 0x7566,\n    0x8667, 0x6064, 0x8b4e, 0x9df8, 0x5147, 0x51f6, 0x5308, 0x6d36,\n    0x80f8, 0x9ed1, 0x6615, 0x6b23, 0x7098, 0x75d5, 0x5403, 0x5c79,\n    0x7d07, 0x8a16, 0x6b20, 0x6b3d, 0x6b46, 0x5438, 0x6070, 0x6d3d,\n    0x7fd5, 0x8208, 0x50d6, 0x51de, 0x559c, 0x566b, 0x56cd, 0x59ec,\n    0x5b09, 0x5e0c, 0x6199, 0x6198, 0x6231, 0x665e, 0x66e6, 0x7199,\n    0x71b9, 0x71ba, 0x72a7, 0x79a7, 0x7a00, 0x7fb2, 0x8a70, 0x003f\n};\n\nstatic const unsigned char cp2uni_leadbytes[256] =\n{\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,\n    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,\n    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,\n    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,\n    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,\n    0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30,\n    0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,\n    0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,\n    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,\n    0x49, 0x01, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,\n    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,\n    0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,\n    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,\n    0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,\n    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,\n    0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x01, 0x00\n};\n\nstatic const unsigned short uni2cp_low[38912] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0020, 0xa2ae, 0x0063, 0x004c, 0xa2b4, 0x0059, 0x003f, 0xa1d7,\n    0xa1a7, 0x0063, 0xa8a3, 0xa1b6, 0x003f, 0xa1a9, 0xa2e7, 0xa1aa,\n    0xa1c6, 0xa1be, 0xa9f7, 0xa9f8, 0xa2a5, 0xa5ec, 0xa2d2, 0xa1a4,\n    0xa2ac, 0xa9f6, 0xa8ac, 0xa1b7, 0xa8f9, 0xa8f6, 0xa8fa, 0xa2af,\n    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0xa8a1, 0x0043,\n    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,\n    0xa8a2, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1bf,\n    0xa8aa, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0xa8ad, 0xa9ac,\n    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0xa9a1, 0x0063,\n    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,\n    0xa9a3, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1c0,\n    0xa9aa, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0xa9ad, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,\n    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,\n    0xa8a2, 0xa9a2, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0xa8a4, 0xa9a4,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x0049, 0xa9a5, 0xa8a6, 0xa9a6, 0x004a, 0x006a, 0x004b, 0x006b,\n    0xa9a7, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0xa8a8,\n    0xa9a8, 0xa8a9, 0xa9a9, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,\n    0x006e, 0xa9b0, 0xa8af, 0xa9af, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0xa8ab, 0xa9ab, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0xa8ae, 0xa9ae,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,\n    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,\n    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,\n    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,\n    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,\n    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6a2, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,\n    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,\n    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,\n    0x0041, 0x0061, 0xa8a1, 0xa9a1, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,\n    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,\n    0x004e, 0x006e, 0x0041, 0x0061, 0xa8a1, 0xa9a1, 0xa8aa, 0xa9aa,\n    /* 0x0200 .. 0x02ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,\n    0x0079, 0xa2a5, 0xa2a9, 0xa1ae, 0xa1af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa2a7,\n    0x0027, 0xa1aa, 0xa2a5, 0x0060, 0x003f, 0x005f, 0x003f, 0x003f,\n    0xa2b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2a8, 0xa2ab, 0xa2aa, 0xa2ad, 0x007e, 0xa2a9, 0x003f, 0x003f,\n    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0300 .. 0x03ff */\n    0x0060, 0xa2a5, 0x005e, 0x007e, 0xa1aa, 0xa1aa, 0xa2a8, 0xa2ab,\n    0xa1a7, 0x003f, 0xa2aa, 0xa2a9, 0xa2a7, 0x003f, 0x0022, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2ac,\n    0xa2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x005f, 0x005f, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0060, 0xa2a5, 0x003f, 0x003f, 0xa1a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2a5, 0xa1a7, 0xa5c1, 0xa1a4,\n    0xa5c5, 0xa5c7, 0xa5c9, 0x003f, 0xa5cf, 0x003f, 0xa5d4, 0xa5d8,\n    0xa5e9, 0xa5c1, 0xa5c2, 0xa5c3, 0xa5c4, 0xa5c5, 0xa5c6, 0xa5c7,\n    0xa5c8, 0xa5c9, 0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5cf,\n    0xa5d0, 0xa5d1, 0x003f, 0xa5d2, 0xa5d3, 0xa5d4, 0xa5d5, 0xa5d6,\n    0xa5d7, 0xa5d8, 0xa5c9, 0xa5d4, 0xa5e1, 0xa5e5, 0xa5e7, 0xa5e9,\n    0xa5f4, 0xa5e1, 0xa5e2, 0xa5e3, 0xa5e4, 0xa5e5, 0xa5e6, 0xa5e7,\n    0xa5e8, 0xa5e9, 0xa5ea, 0xa5eb, 0xa5ec, 0xa5ed, 0xa5ee, 0xa5ef,\n    0xa5f0, 0xa5f1, 0x003f, 0xa5f2, 0xa5f3, 0xa5f4, 0xa5f5, 0xa5f6,\n    0xa5f7, 0xa5f8, 0xa5e9, 0xa5f4, 0xa5ef, 0xa5f4, 0xa5f8, 0x003f,\n    0xa5e2, 0xa5e8, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5f5, 0xa5f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa5ea, 0xa5f1, 0x003f, 0x003f, 0xa5c8, 0xa5e5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0400 .. 0x04ff */\n    0xaca6, 0xaca7, 0x003f, 0xaca4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xacac, 0xacaa, 0xacb5, 0x003f,\n    0xaca1, 0xaca2, 0xaca3, 0xaca4, 0xaca5, 0xaca6, 0xaca8, 0xaca9,\n    0xacaa, 0xacab, 0xacac, 0xacad, 0xacae, 0xacaf, 0xacb0, 0xacb1,\n    0xacb2, 0xacb3, 0xacb4, 0xacb5, 0xacb6, 0xacb7, 0xacb8, 0xacb9,\n    0xacba, 0xacbb, 0xacbc, 0xacbd, 0xacbe, 0xacbf, 0xacc0, 0xacc1,\n    0xacd1, 0xacd2, 0xacd3, 0xacd4, 0xacd5, 0xacd6, 0xacd8, 0xacd9,\n    0xacda, 0xacdb, 0xacdc, 0xacdd, 0xacde, 0xacdf, 0xace0, 0xace1,\n    0xace2, 0xace3, 0xace4, 0xace5, 0xace6, 0xace7, 0xace8, 0xace9,\n    0xacea, 0xaceb, 0xacec, 0xaced, 0xacee, 0xacef, 0xacf0, 0xacf1,\n    0xacd6, 0xacd7, 0x003f, 0xacd4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xacdc, 0xacda, 0xace5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaca8, 0xacd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xaca1, 0xacd1, 0xaca1, 0xacd1, 0x003f, 0x003f, 0xaca6, 0xacd6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xaca8, 0xacd8, 0xaca9, 0xacd9,\n    0x003f, 0x003f, 0xacaa, 0xacda, 0xacaa, 0xacda, 0xacb0, 0xace0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xacbf, 0xacef, 0xacb5, 0xace5,\n    0xacb5, 0xace5, 0xacb5, 0xace5, 0xacb9, 0xace9, 0x003f, 0x003f,\n    0xacbd, 0xaced, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1e00 .. 0x1eff */\n    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,\n    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,\n    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,\n    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,\n    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,\n    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,\n    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,\n    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,\n    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,\n    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,\n    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1f00 .. 0x1fff */\n    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,\n    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,\n    0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0xa5e5, 0x003f, 0x003f,\n    0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0xa5c5, 0x003f, 0x003f,\n    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,\n    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,\n    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9,\n    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9,\n    0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0xa5ef, 0x003f, 0x003f,\n    0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0xa5cf, 0x003f, 0x003f,\n    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4,\n    0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4, 0x003f, 0xa5d4,\n    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,\n    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,\n    0xa5e1, 0xa5e1, 0xa5e5, 0xa5e5, 0xa5e7, 0xa5e7, 0xa5e9, 0xa5e9,\n    0xa5ef, 0xa5ef, 0xa5f4, 0xa5f4, 0xa5f8, 0xa5f8, 0x003f, 0x003f,\n    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1,\n    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1,\n    0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7, 0xa5e7,\n    0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7, 0xa5c7,\n    0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8, 0xa5f8,\n    0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8, 0xa5d8,\n    0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0xa5e1, 0x003f, 0xa5e1, 0xa5e1,\n    0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0xa5c1, 0x003f, 0xa5e9, 0x003f,\n    0x003f, 0xa1a7, 0xa5e7, 0xa5e7, 0xa5e7, 0x003f, 0xa5e7, 0xa5e7,\n    0xa5c5, 0xa5c5, 0xa5c7, 0xa5c7, 0xa5c7, 0x003f, 0x003f, 0x003f,\n    0xa5e9, 0xa5e9, 0xa5e9, 0xa5e9, 0x003f, 0x003f, 0xa5e9, 0xa5e9,\n    0xa5c9, 0xa5c9, 0xa5c9, 0xa5c9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa5f4, 0xa5f4, 0xa5f4, 0xa5f4, 0xa5f1, 0xa5f1, 0xa5f4, 0xa5f4,\n    0xa5d4, 0xa5d4, 0xa5d4, 0xa5d4, 0xa5d1, 0xa1a7, 0xa1a7, 0x0060,\n    0x003f, 0x003f, 0xa5f8, 0xa5f8, 0xa5f8, 0x003f, 0xa5f8, 0xa5f8,\n    0xa5cf, 0xa5cf, 0xa5d8, 0xa5d8, 0xa5d8, 0xa2a5, 0x003f, 0x003f,\n    /* 0x2000 .. 0x20ff */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0x003f, 0x005f,\n    0xa1ae, 0xa1af, 0x002c, 0xa1ae, 0xa1b0, 0xa1b1, 0x002c, 0x003f,\n    0xa2d3, 0xa2d4, 0x003f, 0x003f, 0x002e, 0xa1a5, 0xa1a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0xa2b6, 0x003f, 0xa1c7, 0xa1c8, 0x003f, 0xa1ae, 0x003f, 0x003f,\n    0x003f, 0xa1b4, 0xa1b5, 0xa1d8, 0x0021, 0x003f, 0xa1aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x002f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2aa, 0x0069, 0x003f, 0x003f, 0xa9f9, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0xa9fa,\n    0x0030, 0xa9fb, 0xa9fc, 0xa9fd, 0xa9fe, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2100 .. 0x21ff */\n    0x003f, 0x003f, 0x0043, 0xa1c9, 0x003f, 0x003f, 0x003f, 0x0045,\n    0x003f, 0xa2b5, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0xa9a4,\n    0x0049, 0x0049, 0x004c, 0xa7a4, 0x003f, 0x004e, 0xa2e0, 0x003f,\n    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,\n    0x003f, 0xa2e5, 0xa2e2, 0x003f, 0x005a, 0x003f, 0xa7d9, 0x003f,\n    0x005a, 0x003f, 0x004b, 0xa1ca, 0x0042, 0x0043, 0x0065, 0x0065,\n    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa5e3, 0xa5c3, 0xa5d0,\n    0xa2b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,\n    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa8f7, 0xa8f8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa8fb, 0xa8fc, 0xa8fd, 0xa8fe, 0x003f,\n    0xa5b0, 0xa5b1, 0xa5b2, 0xa5b3, 0xa5b4, 0xa5b5, 0xa5b6, 0xa5b7,\n    0xa5b8, 0xa5b9, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,\n    0xa5a1, 0xa5a2, 0xa5a3, 0xa5a4, 0xa5a5, 0xa5a6, 0xa5a7, 0xa5a8,\n    0xa5a9, 0xa5aa, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1ea, 0xa2d5, 0xa2d8, 0xa2d6,\n    0xa2d9, 0xa2d7, 0xa1e7, 0xa1e6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1ea, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2a2, 0xa2a1,\n    0x003f, 0x003f, 0xa2a1, 0x003f, 0xa2a2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2200 .. 0x22ff */\n    0xa2a3, 0x003f, 0xa1d3, 0xa2a4, 0xa2a4, 0xa8aa, 0x003f, 0xa1d4,\n    0xa1f4, 0xa1f4, 0x003f, 0xa1f5, 0xa1f5, 0x003f, 0x003f, 0xa2b3,\n    0x003f, 0xa2b2, 0x002d, 0xa1be, 0x003f, 0x002f, 0x005c, 0x002a,\n    0xa2aa, 0x003f, 0xa1ee, 0x003f, 0x003f, 0xa1f0, 0xa1c4, 0x004c,\n    0xa1d0, 0x003f, 0x003f, 0x007c, 0x007c, 0xa1ab, 0xa1ab, 0xa1fc,\n    0xa1fd, 0xa1fb, 0xa1fa, 0xa1f2, 0xa1f3, 0x003f, 0xa2b1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1c5, 0xa1f1, 0x003a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ad, 0xa1ef, 0x003f, 0x003f,\n    0x003f, 0xa1ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1c1, 0xa1d5, 0xa1d5, 0xa1d5, 0xa1c2, 0xa1c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1ec, 0xa1ed, 0x003f, 0x003f, 0x003c, 0x003e,\n    0xa1c2, 0xa1c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1f8, 0xa1f9, 0xa1f8, 0xa1f9, 0xa1f6, 0xa1f7,\n    0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa2c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1d1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1a4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2300 .. 0x23ff */\n    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1d2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1b4, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2400 .. 0x24ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa8e7, 0xa8e8, 0xa8e9, 0xa8ea, 0xa8eb, 0xa8ec, 0xa8ed, 0xa8ee,\n    0xa8ef, 0xa8f0, 0xa8f1, 0xa8f2, 0xa8f3, 0xa8f4, 0xa8f5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa9e7, 0xa9e8, 0xa9e9, 0xa9ea,\n    0xa9eb, 0xa9ec, 0xa9ed, 0xa9ee, 0xa9ef, 0xa9f0, 0xa9f1, 0xa9f2,\n    0xa9f3, 0xa9f4, 0xa9f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa9cd, 0xa9ce, 0xa9cf, 0xa9d0,\n    0xa9d1, 0xa9d2, 0xa9d3, 0xa9d4, 0xa9d5, 0xa9d6, 0xa9d7, 0xa9d8,\n    0xa9d9, 0xa9da, 0xa9db, 0xa9dc, 0xa9dd, 0xa9de, 0xa9df, 0xa9e0,\n    0xa9e1, 0xa9e2, 0xa9e3, 0xa9e4, 0xa9e5, 0xa9e6, 0x0041, 0x0042,\n    0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,\n    0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,\n    0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,\n    0xa8cd, 0xa8ce, 0xa8cf, 0xa8d0, 0xa8d1, 0xa8d2, 0xa8d3, 0xa8d4,\n    0xa8d5, 0xa8d6, 0xa8d7, 0xa8d8, 0xa8d9, 0xa8da, 0xa8db, 0xa8dc,\n    0xa8dd, 0xa8de, 0xa8df, 0xa8e0, 0xa8e1, 0xa8e2, 0xa8e3, 0xa8e4,\n    0xa8e5, 0xa8e6, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2500 .. 0x25ff */\n    0xa6a1, 0xa6ac, 0xa6a2, 0xa6ad, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0x003f, 0xa6a3, 0xa6c8, 0xa6c7, 0xa6ae,\n    0xa6a4, 0xa6c2, 0xa6c1, 0xa6af, 0xa6a6, 0xa6c6, 0xa6c5, 0xa6b1,\n    0xa6a5, 0xa6c4, 0xa6c3, 0xa6b0, 0xa6a7, 0xa6bc, 0xa6c9, 0xa6ca,\n    0xa6b7, 0xa6cb, 0xa6cc, 0xa6b2, 0xa6a9, 0xa6be, 0xa6cd, 0xa6ce,\n    0xa6b9, 0xa6cf, 0xa6d0, 0xa6b4, 0xa6a8, 0xa6d1, 0xa6d2, 0xa6b8,\n    0xa6bd, 0xa6d3, 0xa6d4, 0xa6b3, 0xa6aa, 0xa6d5, 0xa6d6, 0xa6ba,\n    0xa6bf, 0xa6d7, 0xa6d8, 0xa6b5, 0xa6ab, 0xa6d9, 0xa6da, 0xa6bb,\n    0xa6db, 0xa6dc, 0xa6c0, 0xa6dd, 0xa6de, 0xa6df, 0xa6e0, 0xa6e1,\n    0xa6e2, 0xa6e3, 0xa6e4, 0xa6b6, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x003d, 0x007c, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,\n    0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x0054, 0x0054, 0x0054, 0x002b,\n    0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002f, 0x005c, 0x0058, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c, 0x002d, 0x007c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1e1, 0xa1e0, 0x003f, 0xa2c3, 0xa2c7, 0xa2c8, 0xa2cb, 0xa2ca,\n    0xa2c9, 0xa2cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1e3, 0xa1e2, 0x003f, 0x003f, 0xa2ba, 0xa2b9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1e5, 0xa1e4, 0x003f, 0x003f,\n    0xa2b8, 0xa2b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1df, 0xa1de,\n    0xa2c2, 0x003f, 0x003f, 0xa1db, 0x003f, 0x003f, 0xa1dd, 0xa1dc,\n    0xa2c4, 0xa2c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1db,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2600 .. 0x26ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1da, 0xa1d9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa2cf, 0xa2ce,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa2d0, 0x003f, 0xa2d1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1cf, 0x003f, 0xa1ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2bc, 0xa2bd, 0x003f, 0xa2c0, 0xa2bb, 0xa2be, 0x003f, 0xa2bf,\n    0xa2cd, 0xa2db, 0xa2dc, 0x003f, 0xa2dd, 0xa2da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2e00 .. 0x2eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9bd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2f00 .. 0x2fff */\n    0xece9, 0x003f, 0x003f, 0x003f, 0xebe0, 0x003f, 0xeca3, 0x003f,\n    0xecd1, 0x003f, 0xecfd, 0xf8a2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3ef, 0xd5f4, 0x003f, 0xdde2, 0x003f, 0x003f, 0xe4a8,\n    0xdcd4, 0x003f, 0x003f, 0x003f, 0xe9d1, 0xcfa2, 0x003f, 0xf7cf,\n    0xdecd, 0x003f, 0x003f, 0xe0aa, 0xd3de, 0xd2b3, 0xedad, 0x003f,\n    0xf5bb, 0xe1b3, 0x003f, 0xe3b9, 0x003f, 0xdfa3, 0x003f, 0xcdef,\n    0xd0f9, 0xcbee, 0xcace, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfe1, 0x003f, 0x003f, 0x003f, 0xe3fd, 0xcdfc, 0xfbc2, 0xe2a2,\n    0xf2a8, 0x003f, 0xd9fe, 0xd4e0, 0xd0c5, 0xdbb0, 0xd9e9, 0xeced,\n    0xe8d8, 0xeac5, 0xd9ca, 0xfde2, 0xf2ad, 0x003f, 0x003f, 0xd9ec,\n    0xddef, 0xd9be, 0xe4ab, 0x003f, 0xe2a9, 0xfbfd, 0xf0d0, 0xddab,\n    0xfda1, 0x003f, 0xf8b8, 0xe4b3, 0xe9da, 0xccb3, 0xfadc, 0xe8ac,\n    0xcdfe, 0xe8bf, 0xcaf6, 0xdfe6, 0xe9c4, 0xefa3, 0xf9b5, 0x003f,\n    0x003f, 0xdbdc, 0xf9ab, 0xd9a9, 0xd9cd, 0xd9c3, 0xe3c5, 0xe0b4,\n    0xe3c6, 0x003f, 0xfca2, 0xfaeb, 0xd8a1, 0xf1d3, 0xdab7, 0x003f,\n    0xddae, 0x003f, 0xe5cf, 0xe9e2, 0xd6d5, 0xecbb, 0x003f, 0xecbc,\n    0xebd3, 0xebbf, 0xe3ed, 0xedbb, 0xf2b8, 0xcfbf, 0xe0df, 0xf4bf,\n    0xf1c7, 0xcadd, 0xdfe4, 0xf5ac, 0x003f, 0x003f, 0xfaec, 0xfabc,\n    0xebfd, 0x003f, 0xccb8, 0xcac7, 0xe5eb, 0xcddb, 0xd4e7, 0xe3ce,\n    0x003f, 0xf8af, 0xeee5, 0xf1cb, 0xf0eb, 0xe3f3, 0xf3b3, 0xe3f4,\n    0xf2e3, 0x003f, 0xebe9, 0xebb7, 0x003f, 0xd7ec, 0xd1d1, 0xedfe,\n    0xdaa6, 0xddbd, 0x003f, 0x003f, 0xe9eb, 0xf4ec, 0xdeaa, 0xd8fc,\n    0xfad4, 0xeadf, 0x003f, 0xebe5, 0xfaed, 0xf9a6, 0xdeab, 0xe3dd,\n    0xe2cf, 0xfac5, 0xd8a9, 0xcde9, 0xcdd4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0a1, 0xe5e0, 0xf0e8, 0xd6dd, 0xd6e3, 0xd8ea, 0xd8ab,\n    0xfcdc, 0xe0a8, 0xfdd9, 0x003f, 0x003f, 0xf0a3, 0xcdd5, 0xe0a9,\n    0xdeac, 0xf0ba, 0xf6cd, 0xd7a3, 0xcfcf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3000 .. 0x30ff */\n    0xa1a1, 0xa1a2, 0xa1a3, 0xa1a8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1b4, 0xa1b5, 0xa1b6, 0xa1b7, 0xa1b8, 0xa1b9, 0xa1ba, 0xa1bb,\n    0xa1bc, 0xa1bd, 0x003f, 0xa1eb, 0xa1b2, 0xa1b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1b0, 0xa1b1, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4a8, 0xecfe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaaa1, 0xaaa2, 0xaaa3, 0xaaa4, 0xaaa5, 0xaaa6, 0xaaa7,\n    0xaaa8, 0xaaa9, 0xaaaa, 0xaaab, 0xaaac, 0xaaad, 0xaaae, 0xaaaf,\n    0xaab0, 0xaab1, 0xaab2, 0xaab3, 0xaab4, 0xaab5, 0xaab6, 0xaab7,\n    0xaab8, 0xaab9, 0xaaba, 0xaabb, 0xaabc, 0xaabd, 0xaabe, 0xaabf,\n    0xaac0, 0xaac1, 0xaac2, 0xaac3, 0xaac4, 0xaac5, 0xaac6, 0xaac7,\n    0xaac8, 0xaac9, 0xaaca, 0xaacb, 0xaacc, 0xaacd, 0xaace, 0xaacf,\n    0xaad0, 0xaad1, 0xaad2, 0xaad3, 0xaad4, 0xaad5, 0xaad6, 0xaad7,\n    0xaad8, 0xaad9, 0xaada, 0xaadb, 0xaadc, 0xaadd, 0xaade, 0xaadf,\n    0xaae0, 0xaae1, 0xaae2, 0xaae3, 0xaae4, 0xaae5, 0xaae6, 0xaae7,\n    0xaae8, 0xaae9, 0xaaea, 0xaaeb, 0xaaec, 0xaaed, 0xaaee, 0xaaef,\n    0xaaf0, 0xaaf1, 0xaaf2, 0xaaf3, 0xaaa6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5, 0xaba6, 0xaba7,\n    0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad, 0xabae, 0xabaf,\n    0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5, 0xabb6, 0xabb7,\n    0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd, 0xabbe, 0xabbf,\n    0xabc0, 0xabc1, 0xabc2, 0xabc3, 0xabc4, 0xabc5, 0xabc6, 0xabc7,\n    0xabc8, 0xabc9, 0xabca, 0xabcb, 0xabcc, 0xabcd, 0xabce, 0xabcf,\n    0xabd0, 0xabd1, 0xabd2, 0xabd3, 0xabd4, 0xabd5, 0xabd6, 0xabd7,\n    0xabd8, 0xabd9, 0xabda, 0xabdb, 0xabdc, 0xabdd, 0xabde, 0xabdf,\n    0xabe0, 0xabe1, 0xabe2, 0xabe3, 0xabe4, 0xabe5, 0xabe6, 0xabe7,\n    0xabe8, 0xabe9, 0xabea, 0xabeb, 0xabec, 0xabed, 0xabee, 0xabef,\n    0xabf0, 0xabf1, 0xabf2, 0xabf3, 0xabf4, 0xabf5, 0xabf6, 0xabef,\n    0xabf0, 0xabf1, 0xabf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3100 .. 0x31ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,\n    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,\n    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,\n    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0xa4bf,\n    0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4, 0xa4c5, 0xa4c6, 0xa4c7,\n    0xa4c8, 0xa4c9, 0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf,\n    0xa4d0, 0xa4d1, 0xa4d2, 0xa4d3, 0xa4d4, 0xa4d5, 0xa4d6, 0xa4d7,\n    0xa4d8, 0xa4d9, 0xa4da, 0xa4db, 0xa4dc, 0xa4dd, 0xa4de, 0xa4df,\n    0xa4e0, 0xa4e1, 0xa4e2, 0xa4e3, 0xa4e4, 0xa4e5, 0xa4e6, 0xa4e7,\n    0xa4e8, 0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef,\n    0xa4f0, 0xa4f1, 0xa4f2, 0xa4f3, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,\n    0xa4f8, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa4fd, 0xa4fe, 0x003f,\n    0x003f, 0x003f, 0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xdfbe, 0xf1e9,\n    0xf9bb, 0xcba3, 0xebe0, 0xdcb0, 0xefcb, 0xf4b8, 0xf2a2, 0xecd1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3200 .. 0x32ff */\n    0xa9b1, 0xa9b2, 0xa9b3, 0xa9b4, 0xa9b5, 0xa9b6, 0xa9b7, 0xa9b8,\n    0xa9b9, 0xa9ba, 0xa9bb, 0xa9bc, 0xa9bd, 0xa9be, 0xa9bf, 0xa9c0,\n    0xa9c1, 0xa9c2, 0xa9c3, 0xa9c4, 0xa9c5, 0xa9c6, 0xa9c7, 0xa9c8,\n    0xa9c9, 0xa9ca, 0xa9cb, 0xa9cc, 0xa2df, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa8b1, 0xa8b2, 0xa8b3, 0xa8b4, 0xa8b5, 0xa8b6, 0xa8b7, 0xa8b8,\n    0xa8b9, 0xa8ba, 0xa8bb, 0xa8bc, 0xa8bd, 0xa8be, 0xa8bf, 0xa8c0,\n    0xa8c1, 0xa8c2, 0xa8c3, 0xa8c4, 0xa8c5, 0xa8c6, 0xa8c7, 0xa8c8,\n    0xa8c9, 0xa8ca, 0xa8cb, 0xa8cc, 0x003f, 0x003f, 0x003f, 0xa2de,\n    0xece9, 0xeca3, 0xdfb2, 0xdecc, 0xe7e9, 0xd7bf, 0xf6d2, 0xf8a2,\n    0xcefa, 0xe4a8, 0xeac5, 0xfbfd, 0xe2a9, 0xd9ca, 0xd1d1, 0xf7cf,\n    0xeced, 0xf1bb, 0xeaf3, 0xdee4, 0xd9a3, 0xf7e5, 0xeeaf, 0xf5e6,\n    0x003f, 0xddfa, 0xd1fb, 0xd2b3, 0xeeea, 0xe9d0, 0xecd4, 0xf1bc,\n    0xfaa3, 0xfdcc, 0x003f, 0xefe1, 0xdfbe, 0xf1e9, 0xf9bb, 0xf1a7,\n    0xe9d3, 0x003f, 0xf0f3, 0x003f, 0xcaf8, 0xd0ea, 0xedc0, 0xfaf0,\n    0xe5a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad, 0xabaf,\n    0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd, 0xabbf,\n    0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc, 0xabcd,\n    0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde, 0xabdf,\n    0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9, 0xabea,\n    0xabeb, 0xabec, 0xabed, 0xabef, 0xabf0, 0xabf1, 0xabf2, 0x003f,\n    /* 0x3300 .. 0x33ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa7c9, 0xa7ca, 0xa7cb, 0xa7cc, 0xa7cd, 0x003f, 0x003f, 0x003f,\n    0xa7ba, 0xa7bb, 0xa7dc, 0xa7dd, 0xa7de, 0xa7b6, 0xa7b7, 0xa7b8,\n    0xa7d4, 0xa7d5, 0xa7d6, 0xa7d7, 0xa7d8, 0xa7a1, 0xa7a2, 0xa7a3,\n    0xa7a5, 0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7af, 0xa7b0, 0xa7b1,\n    0xa7b2, 0xa7b3, 0xa7b4, 0xa7a7, 0xa7a8, 0xa7a9, 0xa7aa, 0xa7bd,\n    0xa7be, 0xa7e5, 0xa7e6, 0xa7e7, 0xa7e8, 0xa7e1, 0xa7e2, 0xa7e3,\n    0xa7bf, 0xa7c0, 0xa7c1, 0xa7c2, 0xa7c3, 0xa7c4, 0xa7c5, 0xa7c6,\n    0xa7c7, 0xa7c8, 0xa7ce, 0xa7cf, 0xa7d0, 0xa7d1, 0xa7d2, 0xa7d3,\n    0xa7da, 0xa7db, 0xa2e3, 0xa7ec, 0xa7a6, 0xa7e0, 0xa7ef, 0xa2e1,\n    0xa7bc, 0xa7ed, 0xa7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7b9,\n    0xa7ea, 0x003f, 0x003f, 0xa7eb, 0x003f, 0x003f, 0xa7df, 0x003f,\n    0xa2e4, 0x003f, 0x003f, 0xa7e4, 0xa7ee, 0xa7e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4e00 .. 0x4eff */\n    0xece9, 0xefcb, 0x003f, 0xf6d2, 0x003f, 0x003f, 0x003f, 0xd8b2,\n    0xeddb, 0xdfb2, 0xdfbe, 0xf9bb, 0x003f, 0xdcf4, 0x003f, 0x003f,\n    0x003f, 0xf5e4, 0x003f, 0x003f, 0xf3a6, 0xdde0, 0xe1a6, 0x003f,\n    0xcef8, 0xdcb0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcdfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfcaf, 0xd3a1, 0x003f, 0xf1ab, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7d1, 0xd2ac, 0x003f, 0xcef9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf1fd, 0x003f, 0xdebf, 0xfbba, 0xf9b9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced2, 0x003f,\n    0xe3ab, 0xebe0, 0x003f, 0x003f, 0x003f, 0xcefa, 0xcbf7, 0xe5a5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcae1, 0x003f, 0xd4cc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeae1, 0x003f, 0x003f, 0xdce3, 0xdfad,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbeb, 0x003f,\n    0x003f, 0x003f, 0xd5af, 0x003f, 0x003f, 0x003f, 0xd6f5, 0x003f,\n    0xe5f8, 0x003f, 0x003f, 0xdec0, 0xeca3, 0x003f, 0xe9cd, 0x003f,\n    0xeaa7, 0xe9f6, 0xfbbb, 0x003f, 0xe7e9, 0xefcc, 0x003f, 0x003f,\n    0xd0e6, 0x003f, 0x003f, 0xdec1, 0x003f, 0x003f, 0xe4ac, 0x003f,\n    0x003f, 0xd8cc, 0xf9f1, 0x003f, 0xcedf, 0xfaa4, 0xe6b2, 0x003f,\n    0xfafb, 0x003f, 0x003f, 0xfabd, 0xccc8, 0xefcd, 0xd5d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a2, 0x003f,\n    0x003f, 0x003f, 0xecd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4a7, 0xecd2, 0x003f, 0x003f, 0xf6b1, 0x003f, 0x003f, 0xcefb,\n    0x003f, 0x003f, 0xd0d1, 0xcbbf, 0x003f, 0xeda4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeda8, 0xdec2, 0xf6e2, 0xeddc,\n    0xdcf5, 0xe0b9, 0x003f, 0x003f, 0x003f, 0xd4ce, 0x003f, 0xf4b5,\n    0x003f, 0x003f, 0x003f, 0xd3db, 0xd6b5, 0xeca4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4e6, 0x003f, 0xf1ea, 0x003f, 0x003f, 0x003f, 0xcbec, 0xcbc0,\n    0x003f, 0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4f00 .. 0x4fff */\n    0x003f, 0xd0ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf9f2, 0xeca5, 0xd0df, 0x003f, 0xe7ea, 0xd0eb, 0xdcd1,\n    0xdbe9, 0xfdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbd7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdae1, 0x003f, 0xd6b6, 0x003f,\n    0xe3df, 0x003f, 0xdec3, 0x003f, 0xdec4, 0xcaa1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeeec, 0x003f, 0x003f, 0xd3a3, 0xeeb7,\n    0xf8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0xeac8, 0xeeb8, 0xf1ac,\n    0xf1a5, 0xe9ce, 0x003f, 0x003f, 0x003f, 0xf9bc, 0x003f, 0x003f,\n    0x003f, 0xe5f9, 0xecea, 0xddd6, 0xedc2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ba,\n    0xdbd8, 0x003f, 0x003f, 0xcaa2, 0x003f, 0x003f, 0xd1cd, 0x003f,\n    0x003f, 0x003f, 0xeeed, 0x003f, 0x003f, 0x003f, 0xeceb, 0xdec5,\n    0x003f, 0xe3e0, 0x003f, 0xcac9, 0xf2e9, 0x003f, 0xd5ce, 0x003f,\n    0xf6b6, 0x003f, 0xcec2, 0xd6c7, 0x003f, 0xe3b4, 0x003f, 0xf1ad,\n    0x003f, 0xeae2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7c2, 0x003f,\n    0xf3a7, 0x003f, 0x003f, 0xcdea, 0x003f, 0xebee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b2, 0xfda5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d5, 0xd5e2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b5,\n    0x003f, 0x003f, 0xccf5, 0xf5b5, 0xe4ad, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7eb, 0xf1d5, 0x003f, 0x003f, 0x003f, 0xf0bb, 0x003f,\n    0x003f, 0xe9b5, 0x003f, 0xccc9, 0xfad5, 0x003f, 0x003f, 0xe1d4,\n    0x003f, 0x003f, 0xd7d6, 0x003f, 0x003f, 0xdcc1, 0x003f, 0xdec6,\n    0xfaef, 0xe3e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f3, 0xdcf6,\n    0x003f, 0xcefc, 0x003f, 0xdbc4, 0x003f, 0xf8f1, 0x003f, 0x003f,\n    0xdce4, 0x003f, 0xe5ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5000 .. 0x50ff */\n    0x003f, 0x003f, 0xdcb1, 0x003f, 0x003f, 0x003f, 0xd5d6, 0x003f,\n    0x003f, 0xf3da, 0x003f, 0xcbc1, 0x003f, 0xdbc3, 0x003f, 0x003f,\n    0x003f, 0xd9fa, 0xd3ee, 0x003f, 0x003f, 0x003f, 0xfab8, 0x003f,\n    0x003f, 0xfda6, 0xebef, 0x003f, 0xf4a6, 0x003f, 0xccca, 0xf3a8,\n    0x003f, 0xf3db, 0x003f, 0xdba7, 0xf6b7, 0x003f, 0xcfe6, 0xf0f2,\n    0xcbda, 0x003f, 0xe7d2, 0xd7c3, 0xf6f0, 0xe8de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5a6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5e7, 0x003f, 0x003f, 0x003f, 0xcaa3,\n    0xcca7, 0xeac9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8b6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaa5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1ae, 0x003f, 0xefce, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbed, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6b0, 0xefcf, 0xe9cf, 0x003f,\n    0xf7de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xced3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba8, 0x003f, 0x003f,\n    0x003f, 0xcbf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfa1, 0xdde1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ca, 0xe9b6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7ec, 0xeeee, 0x003f, 0xf3f0, 0x003f, 0xdfbf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcccb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c1, 0x003f, 0x003f,\n    0x003f, 0xf4d2, 0xe0ba, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc0,\n    0x003f, 0xcee0, 0x003f, 0x003f, 0x003f, 0xdcd2, 0xfdea, 0x003f,\n    0x003f, 0x003f, 0xd6f6, 0x003f, 0x003f, 0x003f, 0xeaca, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e9, 0x003f, 0xe3ac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3d0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcaa4, 0x003f, 0xdbf8, 0x003f, 0x003f, 0x003f, 0xdec7,\n    /* 0x5100 .. 0x51ff */\n    0xebf0, 0xf1d6, 0x003f, 0x003f, 0xe5e2, 0x003f, 0xcccc, 0x003f,\n    0x003f, 0xcbfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeae3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfc1,\n    0x003f, 0xd6ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeeb9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e3,\n    0x003f, 0x003f, 0xd1d3, 0x003f, 0xe5f0, 0x003f, 0x003f, 0x003f,\n    0xe8b4, 0xebc3, 0x003f, 0xeaaa, 0xfafc, 0xf5f6, 0xf0bc, 0xfdd4,\n    0xe0bb, 0xcec3, 0x003f, 0xd0ba, 0xf7ba, 0xd8f3, 0xf7cd, 0x003f,\n    0x003f, 0x003f, 0xe4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4df, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd0e7, 0x003f, 0x003f, 0xecfd, 0x003f, 0xd2ae,\n    0xeeef, 0xd5d7, 0xeae4, 0xf8a2, 0xcdeb, 0xd7bf, 0xfbb1, 0x003f,\n    0x003f, 0xcdec, 0x003f, 0x003f, 0x003f, 0xdcb2, 0xd0ec, 0xcefd,\n    0xeef0, 0x003f, 0x003f, 0x003f, 0xccc2, 0x003f, 0x003f, 0x003f,\n    0xd0ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5f7, 0x003f,\n    0x003f, 0x003f, 0xf3fc, 0x003f, 0x003f, 0xeea2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd9b3, 0x003f, 0x003f, 0xd8f4, 0x003f, 0xe9b7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xceae, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8f1, 0x003f, 0xd4cf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a7, 0xd5d2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a2, 0x003f, 0xf1d7, 0x003f,\n    0x003f, 0xd5d8, 0x003f, 0xf0bd, 0xd7d0, 0xd4d0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7cf, 0xebea, 0xfdeb, 0x003f,\n    0x003f, 0xdbed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfcc5, 0xcbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd5, 0x003f,\n    0xf4c8, 0xe8ea, 0xf5f3, 0x003f, 0x003f, 0xf9de, 0x003f, 0x003f,\n    /* 0x5200 .. 0x52ff */\n    0xd3ef, 0x003f, 0x003f, 0xecd3, 0x003f, 0x003f, 0xddc2, 0xefb7,\n    0xe7d4, 0x003f, 0xcaca, 0x003f, 0x003f, 0x003f, 0xd9fb, 0x003f,\n    0x003f, 0xfafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6aa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf7f7, 0xdcac, 0x003f, 0x003f,\n    0x003f, 0xd7d7, 0xdfa2, 0x003f, 0x003f, 0x003f, 0xcebe, 0x003f,\n    0xd3f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a4, 0xe1ec,\n    0xcfe7, 0xf3cb, 0xeda9, 0xcabe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf4ef, 0x003f, 0x003f, 0x003f, 0xf6ce,\n    0x003f, 0x003f, 0xdefb, 0xd0bb, 0xd5b7, 0xeef1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf4a8, 0x003f, 0xdcf8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcba7, 0x003f, 0xdace, 0x003f, 0x003f,\n    0x003f, 0xe0e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeda5, 0xeef2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcf9,\n    0x003f, 0x003f, 0xf9dc, 0x003f, 0x003f, 0xf3dc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8f2, 0x003f, 0xf4f9,\n    0x003f, 0x003f, 0x003f, 0xfcf1, 0x003f, 0x003f, 0x003f, 0xd0bc,\n    0xdbf9, 0xd7b1, 0x003f, 0x003f, 0x003f, 0xcbfc, 0x003f, 0x003f,\n    0x003f, 0xf0a5, 0xcbfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5f4, 0x003f, 0x003f, 0x003f, 0xcded,\n    0xcaa5, 0x003f, 0x003f, 0xd6ab, 0xd0c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0be, 0xd2bd, 0xcca4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab6, 0x003f,\n    0x003f, 0xcccd, 0x003f, 0xdafa, 0x003f, 0xf6cf, 0x003f, 0xe9b8,\n    0x003f, 0xd8f5, 0x003f, 0x003f, 0x003f, 0xccce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd7cd, 0x003f, 0x003f, 0xd4d1, 0xe9ed, 0x003f,\n    0xcaeb, 0xd9e2, 0x003f, 0xfdb2, 0x003f, 0xe3ad, 0xd6cc, 0xd9b4,\n    0x003f, 0x003f, 0xe1a7, 0xeed3, 0xd0c3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfdb3, 0x003f, 0xd5e4, 0x003f, 0x003f,\n    0xcfe8, 0x003f, 0xedc3, 0xd0b2, 0x003f, 0x003f, 0xcefe, 0xdaa8,\n    /* 0x5300 .. 0x53ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d0, 0x003f, 0x003f,\n    0xfdd6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d1, 0x003f, 0xf8d2,\n    0xdcd3, 0x003f, 0x003f, 0x003f, 0x003f, 0xdde2, 0xfbf9, 0xddc1,\n    0x003f, 0xe3b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeddd, 0xcec4, 0x003f, 0xcba1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdde3, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcdd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf9af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2fb,\n    0xcfa1, 0xe4a8, 0x003f, 0xf4b6, 0xecfe, 0x003f, 0x003f, 0xe3ae,\n    0xe7ed, 0xfdc1, 0xdae2, 0x003f, 0x003f, 0xd8b3, 0x003f, 0x003f,\n    0x003f, 0xdde4, 0xf0ef, 0xf6f1, 0xfaf0, 0x003f, 0x003f, 0xd1f5,\n    0x003f, 0x003f, 0xdacf, 0x003f, 0xdcd4, 0x003f, 0xdca6, 0x003f,\n    0xefbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecf, 0x003f,\n    0xe0d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d6,\n    0xecd4, 0xeacb, 0x003f, 0x003f, 0xcabf, 0xd5b0, 0x003f, 0xcfe9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ed, 0x003f, 0xcccf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4f8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4ed, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7d8, 0x003f, 0xfda7, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaab,\n    0xf6b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff0, 0xf9bd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6f4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcbdb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf3d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9d1, 0xf3a9, 0xd0e0, 0xe9d2, 0x003f, 0xdae3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2d2, 0x003f, 0xf6a2, 0xe1f4,\n    0x003f, 0x003f, 0x003f, 0xdae4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7d5, 0xf5bf, 0xcfa2, 0xcdaf, 0xcfa3, 0x003f, 0x003f,\n    0x003f, 0xcdb0, 0xf1fe, 0xd0a3, 0xe1af, 0xf8a3, 0x003f, 0xcaa6,\n    0xf7bb, 0xf2ea, 0xdec8, 0xe9d3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5400 .. 0x54ff */\n    0x003f, 0x003f, 0x003f, 0xfdde, 0xcac0, 0x003f, 0x003f, 0x003f,\n    0xf9ea, 0xd1ce, 0xeed4, 0x003f, 0xd4d2, 0xd9a3, 0xfda8, 0xd7d9,\n    0xf7ce, 0xfabe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcfd6, 0x003f, 0xd7f0, 0x003f, 0xebe1,\n    0xf8c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcfa, 0x003f,\n    0x003f, 0xddc3, 0x003f, 0xf9df, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7ef, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfde5, 0xf6a3, 0x003f, 0xd9fc, 0xfda9, 0x003f, 0xe7ee, 0x003f,\n    0x003f, 0x003f, 0xd5e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefd0, 0x003f, 0xcdb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf7a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1b2, 0x003f, 0xf1b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdb2, 0x003f, 0xdaab, 0x003f, 0xcaa7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3e2, 0xfbbc, 0xd9a4, 0x003f, 0x003f,\n    0xeeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfbfa, 0x003f, 0xcfa4, 0x003f,\n    0xdcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6e3, 0x003f, 0x003f, 0x003f,\n    0xedaa, 0x003f, 0x003f, 0xf2a1, 0xcee1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfaa6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf9e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xecd6, 0x003f, 0x003f,\n    0xe4ee, 0xf9a1, 0x003f, 0x003f, 0xfbef, 0x003f, 0x003f, 0x003f,\n    0xf9eb, 0xeea3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeaac, 0x003f, 0x003f, 0x003f, 0xcaa8, 0x003f, 0x003f,\n    0xf4fa, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd6, 0xfcf6, 0x003f,\n    0x003f, 0x003f, 0xf4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5500 .. 0x55ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf8a6, 0x003f, 0xdeca, 0xf2c6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7da, 0x003f,\n    0xd3d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd8c5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae6,\n    0x003f, 0xf3dd, 0x003f, 0x003f, 0x003f, 0xe4da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f2, 0x003f, 0xdfc2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9fd,\n    0x003f, 0x003f, 0x003f, 0xccf6, 0x003f, 0x003f, 0xd3ba, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4af, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9e1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a6, 0x003f, 0x003f, 0x003f,\n    0xcbd3, 0x003f, 0x003f, 0x003f, 0xe0bc, 0x003f, 0xf4ca, 0xd4fa,\n    0x003f, 0xfdaa, 0xf9e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf4b7, 0xfdc2, 0xfcb0, 0x003f, 0xfdec, 0xcae2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdbd,\n    0x003f, 0xeae7, 0xdfc3, 0xd1d2, 0xcee2, 0x003f, 0xd3a4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdab, 0x003f, 0xdfe0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2c7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7f0, 0x003f, 0xd0ee, 0x003f, 0x003f, 0xf3aa,\n    0x003f, 0x003f, 0x003f, 0xdecb, 0xf6b8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f5, 0xf1b3, 0x003f,\n    /* 0x5600 .. 0x56ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7a3, 0x003f,\n    0x003f, 0xcaa9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcfa5, 0x003f, 0x003f, 0xdfc4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b0,\n    0x003f, 0x003f, 0xf0bf, 0x003f, 0xf6a4, 0x003f, 0xe3b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfac6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd0ef, 0x003f, 0x003f, 0xfded, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xddc4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcf7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6bf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdead, 0x003f, 0xfabf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xedc4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd2a5, 0x003f, 0x003f, 0xfdee, 0x003f, 0x003f,\n    0x003f, 0xf5b6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1f6, 0xdecc, 0x003f, 0x003f, 0xfcde, 0x003f,\n    0xecd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcddd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd6b7, 0xcdb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5700 .. 0x57ff */\n    0x003f, 0x003f, 0x003f, 0xf8d5, 0xe5d8, 0x003f, 0x003f, 0x003f,\n    0xcfea, 0x003f, 0x003f, 0xcfd0, 0x003f, 0xeacc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeaae, 0xeaad, 0x003f, 0x003f, 0xd3f1, 0x003f,\n    0xd3a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeea4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a4, 0x003f, 0x003f,\n    0xf2a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0f0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2a3, 0x003f, 0xf7f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b3,\n    0x003f, 0x003f, 0xdba9, 0x003f, 0x003f, 0xd3bb, 0xcaec, 0x003f,\n    0xf1a6, 0xcbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf7e7, 0x003f, 0x003f, 0xcdde, 0x003f, 0xf7a4, 0x003f,\n    0x003f, 0x003f, 0xf8c0, 0x003f, 0x003f, 0x003f, 0xd3dd, 0x003f,\n    0xccd0, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6f3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3dc, 0x003f, 0x003f, 0xfafe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfaa7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xebd9, 0x003f, 0xcfa7, 0xeaaf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4ef, 0x003f, 0x003f, 0x003f, 0xe9b9,\n    0xf1d8, 0x003f, 0x003f, 0xd8d8, 0x003f, 0x003f, 0xe0f2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6b4,\n    0xdcfc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf3f1, 0x003f, 0x003f, 0x003f, 0xe3d0, 0x003f, 0x003f, 0xf2fb,\n    0x003f, 0xdbc6, 0xd0f1, 0x003f, 0xd0f2, 0x003f, 0x003f, 0x003f,\n    /* 0x5800 .. 0x58ff */\n    0xcfdc, 0x003f, 0xd3d1, 0x003f, 0x003f, 0xccb1, 0xf7d8, 0x003f,\n    0xcba8, 0xebbc, 0xe4be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4dc, 0x003f,\n    0x003f, 0xdcc2, 0x003f, 0x003f, 0xf0a7, 0x003f, 0x003f, 0xe6c0,\n    0x003f, 0x003f, 0xcaed, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8eb,\n    0xe5e8, 0xdcc3, 0x003f, 0x003f, 0xedde, 0xd3f2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xccf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xced4, 0xe7ab, 0x003f, 0x003f, 0x003f, 0xcbc3,\n    0x003f, 0xe1b1, 0x003f, 0x003f, 0xf7b2, 0x003f, 0x003f, 0xd3f3,\n    0xd3d2, 0x003f, 0xf5c0, 0x003f, 0x003f, 0x003f, 0xdfdd, 0x003f,\n    0x003f, 0xeef3, 0xe7f1, 0x003f, 0xfdb4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2c8, 0x003f, 0x003f,\n    0x003f, 0xf3d2, 0x003f, 0x003f, 0xeef4, 0x003f, 0xe2d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xccd1, 0x003f, 0xdfea, 0x003f, 0x003f,\n    0x003f, 0xe9ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd9d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf5cd, 0x003f, 0xf1f2, 0xfac7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9f8, 0xd4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddc5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7f2, 0xeddf, 0x003f, 0x003f, 0xcacb, 0x003f,\n    0x003f, 0xdbfa, 0x003f, 0x003f, 0x003f, 0xe8b5, 0x003f, 0xd3a6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb5, 0x003f,\n    0x003f, 0xf9c9, 0x003f, 0xe4e2, 0x003f, 0xfbbd, 0x003f, 0x003f,\n    0xd7a4, 0xcec5, 0x003f, 0x003f, 0x003f, 0x003f, 0xced5, 0xd6e6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5bd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdecd, 0xecf3, 0x003f, 0x003f, 0xede0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xecec, 0xfbbe, 0xdfeb, 0x003f, 0xe1f8, 0x003f, 0x003f,\n    /* 0x5900 .. 0x59ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9be,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd0f3, 0xe0aa, 0xe8e2, 0x003f,\n    0x003f, 0xe2d4, 0xd2fd, 0x003f, 0xe5a8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd9d3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3de,\n    0x003f, 0xf4b8, 0xf7bc, 0xdcfd, 0x003f, 0xe8ec, 0xe4e7, 0x003f,\n    0x003f, 0xe3f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeca8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfaf1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5f2, 0x003f, 0x003f, 0xd0f4,\n    0xd2af, 0xdce5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a5, 0xf1b4,\n    0xfcb1, 0xccf8, 0x003f, 0x003f, 0xddc6, 0xfad1, 0x003f, 0xf7df,\n    0x003f, 0x003f, 0xfaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeef5, 0x003f, 0xdece, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f3,\n    0x003f, 0x003f, 0xf7ac, 0xebc4, 0xede1, 0xe0ab, 0xddc7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd2b3, 0xd2bf, 0x003f, 0x003f, 0x003f,\n    0xcacc, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbbf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5fd, 0xdde5, 0xd8cd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xecf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0f5, 0x003f, 0x003f, 0xe8ed, 0xd0d2,\n    0x003f, 0xd9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6e6, 0x003f, 0x003f,\n    0xdbaa, 0x003f, 0x003f, 0x003f, 0xf7e0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd8d9, 0x003f, 0xf4a3, 0x003f, 0x003f, 0xf4dd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefd1, 0x003f, 0x003f, 0xd9b5, 0x003f,\n    0x003f, 0xedab, 0x003f, 0xe3b7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeebb, 0xcdb4, 0x003f, 0xe0f3, 0xeacd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xecf5, 0xe8ee, 0x003f, 0xcba9, 0xf1af, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcacd, 0x003f,\n    0xeca9, 0x003f, 0xf2eb, 0x003f, 0xfdef, 0x003f, 0xf9f3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6c1, 0x003f, 0x003f, 0xecd8, 0x003f, 0x003f, 0x003f, 0xedac,\n    /* 0x5a00 .. 0x5aff */\n    0x003f, 0xeace, 0x003f, 0xe8df, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdecf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2a6, 0x003f, 0x003f, 0xe7f4, 0xd1d6, 0x003f, 0x003f, 0xe6c2,\n    0xe3e3, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b0, 0x003f, 0x003f,\n    0x003f, 0xd8b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6a5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3de, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7e8, 0x003f,\n    0x003f, 0xe8c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfbe6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdde6, 0x003f, 0x003f, 0x003f, 0xdcfe, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdaac, 0xeab0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3b8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcaaa, 0xe1f9, 0x003f, 0xeab1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2ec, 0x003f, 0x003f, 0xfaee, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeed5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f4, 0x003f,\n    0x003f, 0xd2ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5b00 .. 0x5bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfb, 0x003f, 0x003f,\n    0x003f, 0xfdf0, 0x003f, 0xe0bd, 0xcee3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8c6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdeae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfc5, 0x003f, 0x003f, 0xe5be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedad, 0xfaea, 0x003f, 0x003f, 0xcdee, 0xeda6, 0x003f, 0xedae,\n    0xf0ed, 0x003f, 0xdda1, 0x003f, 0xedaf, 0xfcf8, 0x003f, 0xd8eb,\n    0x003f, 0x003f, 0x003f, 0xccf9, 0xcdb5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfaa9, 0x003f, 0xe1dd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2d5, 0xedcf, 0x003f, 0x003f, 0x003f, 0xdda2, 0x003f, 0x003f,\n    0xf9ca, 0x003f, 0xeae8, 0x003f, 0xe5ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3eb, 0x003f, 0xe9d4,\n    0xe1fa, 0xe4cc, 0x003f, 0xe1e4, 0xe8c7, 0x003f, 0x003f, 0xcedb,\n    0x003f, 0x003f, 0x003f, 0xdcd5, 0x003f, 0xf7b5, 0xfcf3, 0xf0f3,\n    0xceaf, 0xf1b5, 0xefd2, 0xe8c8, 0xebf1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbd4, 0xe0be, 0xe3f8, 0xeae9, 0xfcb2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0f4, 0x003f, 0xcfe0, 0x003f,\n    0xeea5, 0x003f, 0x003f, 0xfaaa, 0xe6c3, 0xe1b2, 0xcaab, 0x003f,\n    0xe3e4, 0xe9bb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d6,\n    0xf3f2, 0x003f, 0xeed6, 0xeab2, 0xd0f6, 0xecd9, 0xdacb, 0xcfa8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdda3, 0x003f, 0x003f, 0x003f,\n    0xd8db, 0x003f, 0xf9ce, 0xe9d5, 0xe3d1, 0x003f, 0x003f, 0xd2bc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ac, 0xf3cc,\n    0x003f, 0xcdfb, 0xf6d6, 0x003f, 0xe7f5, 0xe8ef, 0xe3f9, 0xd2bb,\n    0xf3f3, 0xe3fb, 0x003f, 0xded0, 0xceb0, 0x003f, 0xd6f7, 0xf1d9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c1, 0xdcc4, 0x003f,\n    0xf5bb, 0x003f, 0xded1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5c00 .. 0x5cff */\n    0x003f, 0xdce6, 0x003f, 0x003f, 0xded2, 0x003f, 0x003f, 0xede2,\n    0xeef6, 0xeacf, 0xf0ee, 0xe3fc, 0x003f, 0xd3df, 0xd3f4, 0xe1b3,\n    0x003f, 0xe1b4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d3, 0x003f,\n    0x003f, 0xdfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9d6, 0x003f, 0x003f, 0x003f,\n    0xdbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf6a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3b9, 0xebc5, 0xf4a9, 0xcdb6, 0xd2f9, 0x003f, 0xdaad, 0xd2e3,\n    0xcfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdc, 0xccfa, 0x003f,\n    0xcfdd, 0x003f, 0x003f, 0xe8a9, 0x003f, 0xe3bb, 0xe3ba, 0x003f,\n    0x003f, 0xe0da, 0x003f, 0x003f, 0x003f, 0xeef7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdcb3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3f5, 0x003f, 0xd7a6, 0x003f, 0xf6b5, 0xd7db, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d5, 0x003f, 0x003f, 0xd4ea,\n    0x003f, 0xdfa3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfddf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd0f7, 0xedd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe4db, 0x003f, 0xe1fb, 0xcba2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3e0, 0x003f, 0xe4bf, 0x003f, 0xfbc0, 0x003f, 0xdabe,\n    0xe4cd, 0x003f, 0xd6b9, 0x003f, 0x003f, 0x003f, 0xefc0, 0x003f,\n    0xe1fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf6b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce7,\n    0xdce8, 0x003f, 0x003f, 0x003f, 0xfad6, 0x003f, 0xd3f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf1da, 0x003f, 0xfaf2, 0x003f, 0x003f,\n    /* 0x5d00 .. 0x5dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cf, 0xd0f8, 0x003f,\n    0x003f, 0xcddf, 0x003f, 0x003f, 0xf5cb, 0x003f, 0xe4f0, 0xcbab,\n    0x003f, 0xd7c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2fe,\n    0x003f, 0xddda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdaae, 0xcaee, 0x003f, 0x003f, 0x003f,\n    0xd5b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3a1, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xf3ab,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfa9,\n    0x003f, 0x003f, 0x003f, 0xd3f7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f1, 0x003f, 0x003f,\n    0xcee4, 0x003f, 0xe8f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7ae, 0x003f, 0xd6ba, 0x003f, 0xdfec, 0xe4c0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8b5, 0x003f, 0x003f, 0x003f, 0xe4dc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4b9, 0xf1b6, 0x003f,\n    0x003f, 0xe2de, 0xe1b5, 0x003f, 0x003f, 0xcdef, 0xf1a7, 0xcee5,\n    0xcbdd, 0x003f, 0x003f, 0xd9e3, 0x003f, 0x003f, 0xf3ac, 0x003f,\n    0x003f, 0xd0f9, 0xecab, 0xded3, 0xf7e9, 0x003f, 0x003f, 0xf9f5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1de, 0xcbee, 0x003f,\n    /* 0x5e00 .. 0x5eff */\n    0x003f, 0x003f, 0xe3bc, 0xf8d6, 0x003f, 0x003f, 0xdbee, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfdf1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf7b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4de, 0x003f,\n    0x003f, 0xf2ed, 0x003f, 0xdbd9, 0x003f, 0xf0a8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1fd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xded4, 0x003f, 0xe0ac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xede3, 0x003f, 0x003f, 0xd3e1, 0x003f,\n    0xdfc8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9b6, 0x003f, 0xfdac,\n    0xefd3, 0x003f, 0x003f, 0x003f, 0xe4c1, 0xf8eb, 0x003f, 0xdbac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfcc6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ad, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ba,\n    0x003f, 0xdbdf, 0xd3d3, 0xf8c7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcace, 0xf8c1, 0xd2b4, 0x003f, 0x003f, 0xdcb4,\n    0xfab9, 0xcacf, 0x003f, 0xfcb3, 0xeaea, 0xeaeb, 0xd0fa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xede4, 0x003f, 0x003f, 0xdde7,\n    0x003f, 0x003f, 0xdfc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfed,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeebc, 0x003f, 0xefc1,\n    0x003f, 0x003f, 0xccd2, 0x003f, 0xdda4, 0x003f, 0x003f, 0x003f,\n    0xdfca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3f8, 0xf1a8,\n    0x003f, 0x003f, 0x003f, 0xcdb7, 0x003f, 0xefd4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4dd, 0xdfee, 0xcbac,\n    0xe9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeaec, 0x003f,\n    0x003f, 0x003f, 0xdfcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf9bf, 0xd6af, 0xd5c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfaa, 0x003f, 0x003f, 0xcea9, 0x003f, 0x003f, 0xd6f8, 0x003f,\n    0x003f, 0x003f, 0xf1b7, 0xeef8, 0x003f, 0x003f, 0x003f, 0xd9d9,\n    0xf3df, 0x003f, 0xf8c8, 0xcec6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd5e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf4e6, 0x003f, 0x003f, 0xe6c5, 0xefd5,\n    0x003f, 0x003f, 0xcbef, 0xfcdf, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5f00 .. 0x5fff */\n    0x003f, 0xdca7, 0x003f, 0x003f, 0xd6e7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d2,\n    0x003f, 0xe3bd, 0x003f, 0xcfe1, 0xf0c0, 0xecda, 0x003f, 0xddd7,\n    0xfbf0, 0x003f, 0x003f, 0xecac, 0x003f, 0x003f, 0x003f, 0xf0a9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfad7, 0xfbc1,\n    0x003f, 0xd2c0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5b0, 0x003f, 0x003f, 0x003f, 0xede5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbad, 0x003f, 0xf9b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf7a5, 0x003f, 0xcbae, 0x003f, 0xdaaf, 0x003f, 0xd8b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a7, 0xfbb2,\n    0x003f, 0xfdc4, 0x003f, 0xecad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfba1, 0x003f, 0x003f, 0x003f, 0xe5e9, 0xe9ee,\n    0x003f, 0xf3f4, 0xf8f3, 0xf0c1, 0xdeaf, 0xf8b0, 0x003f, 0x003f,\n    0xf3e0, 0xe7af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbad,\n    0x003f, 0xe6b5, 0x003f, 0x003f, 0xf9a8, 0x003f, 0x003f, 0xddd8,\n    0xe8d9, 0xefd6, 0x003f, 0x003f, 0x003f, 0xd3e2, 0x003f, 0xe2df,\n    0x003f, 0x003f, 0xfce0, 0xd7c8, 0xfdad, 0x003f, 0x003f, 0x003f,\n    0xdfef, 0xccd3, 0xd3f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f0,\n    0xdbc7, 0xded5, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0f4, 0x003f,\n    0xd5d0, 0xe5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfcc7, 0xdcd6, 0xe2e0, 0x003f, 0x003f, 0x003f, 0xdab0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a3, 0x003f, 0xd3ec,\n    0x003f, 0xf4cb, 0x003f, 0x003f, 0x003f, 0xfdc5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3fd, 0x003f, 0xf9b1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd0fb, 0xecdb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5bc, 0xf2a4,\n    0xd8ce, 0xd8cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf6e1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2b7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbec, 0x003f, 0xddc8,\n    /* 0x6000 .. 0x60ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e8,\n    0x003f, 0x003f, 0xd2c1, 0x003f, 0x003f, 0x003f, 0xf8d7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6bb, 0xded6, 0x003f, 0x003f,\n    0xf7bd, 0xecae, 0x003f, 0x003f, 0x003f, 0xd0e1, 0x003f, 0xe0f5,\n    0xeab3, 0x003f, 0xced6, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xecf6, 0xe2e1, 0xe3be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc8, 0x003f, 0x003f,\n    0xcdf0, 0x003f, 0xf9f6, 0x003f, 0x003f, 0xdff0, 0x003f, 0x003f,\n    0x003f, 0xe5bf, 0x003f, 0x003f, 0x003f, 0xcebf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfce1, 0xedb0, 0xfdd1, 0xf6bb, 0x003f, 0x003f,\n    0xf9cf, 0xebda, 0xcac1, 0x003f, 0xd2b8, 0xcdf1, 0x003f, 0xe3d3,\n    0xfde6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ed, 0x003f, 0x003f,\n    0x003f, 0xe3fa, 0x003f, 0x003f, 0xf0aa, 0xf9d0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfce2, 0x003f, 0xf8a7, 0x003f,\n    0x003f, 0x003f, 0xe1e5, 0xeef9, 0x003f, 0x003f, 0x003f, 0xe7f6,\n    0xeaed, 0x003f, 0x003f, 0xfcb4, 0xf5c2, 0x003f, 0x003f, 0xd7dc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf0f5, 0x003f, 0xdde8, 0xd3ed, 0xf5fc, 0x003f, 0xdabf, 0x003f,\n    0xccfb, 0x003f, 0x003f, 0x003f, 0xd3fa, 0xf4a4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefd7, 0x003f, 0xd4c3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfbed, 0x003f, 0xe0ad, 0x003f, 0x003f, 0xeaee,\n    0xfbb3, 0xe4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf6e7, 0xd2dd, 0x003f, 0xdfcc, 0x003f, 0x003f, 0xfcc9, 0x003f,\n    0x003f, 0xe5a9, 0xe0f6, 0xf6b3, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6100 .. 0x61ff */\n    0x003f, 0xe1fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0, 0x003f,\n    0xeaef, 0xeaf0, 0x003f, 0x003f, 0x003f, 0xdac0, 0xf8b4, 0xebf2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9d7, 0xe4f1, 0x003f, 0x003f, 0x003f, 0xcaef,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xced7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfcca, 0x003f, 0x003f, 0x003f, 0xf3e1, 0x003f, 0x003f, 0xcbc4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3e5, 0x003f, 0xcbc5, 0xeab4,\n    0x003f, 0x003f, 0xe9bd, 0x003f, 0xd7c9, 0x003f, 0x003f, 0xebdb,\n    0xedb1, 0x003f, 0xccc3, 0xf7be, 0xfccb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf8f4, 0x003f, 0xd9b7, 0x003f, 0x003f,\n    0xf3d3, 0xf3d4, 0x003f, 0x003f, 0x003f, 0xf7e4, 0x003f, 0xf7d1,\n    0x003f, 0x003f, 0xd8b7, 0xceb1, 0xcac2, 0x003f, 0x003f, 0xfbb4,\n    0xcbc6, 0x003f, 0x003f, 0xf0f6, 0x003f, 0x003f, 0xd5e7, 0x003f,\n    0xead0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccd4, 0xcbaf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4aa, 0xe9af, 0x003f,\n    0x003f, 0xf5c3, 0xe9d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdde9, 0x003f, 0x003f, 0x003f, 0xf1f3, 0x003f,\n    0xd5fb, 0xdebb, 0x003f, 0x003f, 0xf4fb, 0x003f, 0x003f, 0x003f,\n    0xfdf3, 0xfdf2, 0xf7a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xddc9, 0x003f, 0x003f, 0xd4d3,\n    0x003f, 0xcca8, 0x003f, 0xdac1, 0xccd5, 0x003f, 0xd9e4, 0x003f,\n    0x003f, 0x003f, 0xfaca, 0x003f, 0x003f, 0x003f, 0xe5e3, 0x003f,\n    0x003f, 0x003f, 0xd3bc, 0x003f, 0x003f, 0x003f, 0xcaf0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0c4, 0x003f, 0x003f, 0x003f, 0xcad0,\n    0xfaab, 0xebeb, 0xe7f8, 0xd9e5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1d7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3a4, 0x003f, 0x003f, 0x003f, 0xd4fb, 0xfce3,\n    0xfad8, 0x003f, 0xf3d5, 0x003f, 0xcfab, 0x003f, 0x003f, 0xebf3,\n    /* 0x6200 .. 0x62ff */\n    0xd5fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d4,\n    0xcdfc, 0x003f, 0xd9e6, 0x003f, 0xe2f9, 0xe2a1, 0xebd4, 0x003f,\n    0xe0f7, 0xe4b2, 0xccfc, 0x003f, 0x003f, 0x003f, 0xfbe4, 0x003f,\n    0x003f, 0x003f, 0xf4ab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bd,\n    0x003f, 0xcaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xefb8, 0x003f, 0x003f, 0x003f, 0xd7c0, 0x003f,\n    0xeefa, 0xfdf4, 0x003f, 0x003f, 0xd3e3, 0x003f, 0xfbc2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5e8, 0xdbae,\n    0xe1b6, 0xf8b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0bf,\n    0xfbc3, 0xddea, 0x003f, 0xe2a2, 0x003f, 0xeea6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf6e8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf6f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddca, 0x003f,\n    0x003f, 0xd0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0xdda6, 0x003f,\n    0x003f, 0xddeb, 0x003f, 0x003f, 0xe4f9, 0x003f, 0x003f, 0xe3af,\n    0xd0fc, 0x003f, 0x003f, 0x003f, 0xf4fc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccbc, 0xf7ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5e4, 0xdff1, 0x003f, 0x003f, 0xf7e1, 0x003f, 0xf9f7,\n    0xefb9, 0x003f, 0x003f, 0xf8d8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9a9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8d9, 0x003f, 0x003f, 0x003f, 0xeebd, 0x003f, 0x003f,\n    0x003f, 0xd8c6, 0x003f, 0x003f, 0xe4e3, 0xf5ce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddd9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9e7,\n    0xd2b9, 0xd5c3, 0x003f, 0x003f, 0xdae5, 0xdad0, 0x003f, 0xd1d9,\n    0xced8, 0x003f, 0xcbde, 0xf4ac, 0xdafb, 0x003f, 0xf6e9, 0xe8f3,\n    0xcfac, 0xf0f0, 0x003f, 0xf4fd, 0xdbc8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcec0, 0xe3d4, 0xd1cf, 0xf1f5,\n    0x003f, 0xcdf2, 0x003f, 0xcfeb, 0x003f, 0x003f, 0x003f, 0xcdb8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a6, 0xd1da,\n    /* 0x6300 .. 0x63ff */\n    0x003f, 0xf2a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,\n    0x003f, 0xe4ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf1a9, 0x003f, 0x003f, 0x003f, 0xf2c9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xefd8, 0xe6c9, 0x003f, 0xd8b8, 0xfaf3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3b5, 0x003f, 0x003f, 0xf8a4, 0x003f, 0x003f, 0xd1f3,\n    0xe6c8, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce9,\n    0xded7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbdf, 0x003f,\n    0x003f, 0x003f, 0xcfec, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4df,\n    0x003f, 0x003f, 0xd1f4, 0xd2ba, 0x003f, 0x003f, 0x003f, 0xdff2,\n    0x003f, 0x003f, 0x003f, 0xe1b7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2a3, 0xd3fc, 0x003f, 0x003f, 0xede6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbc9, 0x003f, 0x003f, 0x003f, 0xe4fa, 0x003f,\n    0xcfde, 0x003f, 0x003f, 0xced0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5d3, 0xf3f5, 0xf7ae, 0x003f, 0x003f, 0xefc8, 0x003f, 0xcdf3,\n    0xf5cf, 0xe5f3, 0xf0c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcad1, 0x003f, 0x003f, 0x003f, 0xeaf1, 0x003f, 0xd0a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9da,\n    0xf0ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebe7, 0x003f,\n    0x003f, 0x003f, 0xe5c0, 0xfcb5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe4c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcca9, 0xfdc6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeab5, 0x003f, 0xe5aa, 0xdfba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6400 .. 0x64ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1df, 0x003f, 0xdad1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1b8, 0x003f, 0xe8f4, 0xd3fd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf2ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdae6, 0xf7b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfdcd, 0x003f, 0x003f, 0x003f, 0xf3b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeed7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd8a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9b8, 0xd9b9, 0xefc9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf7cb, 0xdfae, 0xe8f5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd2b5, 0x003f, 0x003f, 0x003f, 0xd3d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf4cc, 0xdafc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd9e8, 0x003f, 0xf7eb, 0xf5c9, 0x003f,\n    0xf3bc, 0x003f, 0xdad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd3b5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8b6, 0x003f, 0x003f, 0xd6cf, 0xf4ba, 0x003f, 0xf7c9,\n    0x003f, 0x003f, 0xccaa, 0x003f, 0x003f, 0xf0c3, 0xccd6, 0x003f,\n    0x003f, 0x003f, 0xd0d3, 0x003f, 0xd3bd, 0x003f, 0x003f, 0x003f,\n    0xdbfb, 0x003f, 0xcbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3e4, 0xf6f7, 0x003f, 0x003f, 0xd5ba, 0xf3cd, 0xcbe1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xebf4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf4ad, 0x003f, 0xfcaa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf7ec, 0x003f, 0x003f, 0x003f, 0xe8f6, 0x003f,\n    /* 0x6500 .. 0x65ff */\n    0xdae7, 0x003f, 0x003f, 0x003f, 0xf7cc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0ee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5fd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcee6, 0xfcab, 0xd5bb, 0x003f, 0x003f, 0xf2a8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2a5, 0xcdb9,\n    0xeaf2, 0xcbc7, 0x003f, 0xcdf4, 0x003f, 0x003f, 0xdbaf, 0xefd9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdba, 0x003f, 0x003f,\n    0xfcf9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdff3, 0xcee7, 0xdac2,\n    0x003f, 0xcfad, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7f9, 0xf8a8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e2, 0x003f,\n    0x003f, 0x003f, 0xcaf2, 0xdfa4, 0x003f, 0x003f, 0xd4c4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xccd7, 0xe5c2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcdbb, 0x003f, 0xefda, 0xeed8, 0x003f, 0xdda7,\n    0xe2a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c0, 0x003f,\n    0x003f, 0x003f, 0xd6b0, 0xf8ca, 0x003f, 0xfcfa, 0x003f, 0xd9fe,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdeb0, 0x003f, 0x003f, 0x003f,\n    0xddec, 0xdae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e0,\n    0x003f, 0xd6f9, 0x003f, 0xcdd7, 0xded8, 0x003f, 0x003f, 0xf2f8,\n    0x003f, 0xe4d6, 0x003f, 0x003f, 0xd0c5, 0xf4ae, 0x003f, 0xdda8,\n    0x003f, 0x003f, 0x003f, 0xedc5, 0xf3d6, 0x003f, 0x003f, 0xded9,\n    0xe3e6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8,\n    0x003f, 0xdbb0, 0x003f, 0x003f, 0xe5da, 0xe3bf, 0x003f, 0x003f,\n    0x003f, 0xdbb1, 0x003f, 0x003f, 0x003f, 0xd5e9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0c1, 0xefdb, 0x003f, 0x003f, 0xf0e9,\n    0x003f, 0x003f, 0xd7b2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0fd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9e9, 0x003f, 0x003f, 0xd0fe, 0x003f, 0xeced, 0xd3a9, 0x003f,\n    0xf2a9, 0xf0c4, 0x003f, 0x003f, 0xe2e2, 0xe9ef, 0x003f, 0x003f,\n    0x003f, 0xf9d1, 0x003f, 0x003f, 0xe9d9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe8da, 0xdac3, 0xdac4, 0xd4c5, 0x003f, 0xe7fa,\n    /* 0x6600 .. 0x66ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde0, 0xe3b0,\n    0x003f, 0xdbb2, 0xfbc4, 0x003f, 0xf3e3, 0x003f, 0xd9a5, 0xfbe7,\n    0xddcb, 0xd0d4, 0x003f, 0xe6b6, 0xe0ae, 0xfdda, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcb5, 0xe0f8,\n    0xe7b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5f0, 0x003f, 0xd8dc,\n    0xedc6, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1b9, 0x003f, 0xe3c0,\n    0xf9c0, 0xe9f0, 0x003f, 0x003f, 0xd9db, 0x003f, 0xf3e4, 0x003f,\n    0x003f, 0x003f, 0xdcb6, 0xe4e9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0c5, 0xe3c1, 0xfccc, 0xfccd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2cb, 0x003f, 0xf2cc, 0x003f, 0x003f, 0x003f, 0xe4cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf1db, 0x003f, 0xfad9, 0x003f, 0xf1b8, 0xfdf5, 0xe0f9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7fb, 0xfcb7, 0xfce4, 0xfbc5,\n    0xe3e7, 0xd8b9, 0x003f, 0xf6f8, 0x003f, 0x003f, 0xdcc5, 0xccd8,\n    0x003f, 0x003f, 0x003f, 0xe0af, 0xf4e7, 0x003f, 0xefdc, 0xcffc,\n    0xefdd, 0x003f, 0xf2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfdbe, 0x003f, 0x003f, 0xcaac,\n    0xfdbb, 0xfdc7, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b2, 0x003f,\n    0xead1, 0xdff4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ec, 0xe4de,\n    0xe5c3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a6, 0x003f, 0x003f,\n    0xcdbc, 0x003f, 0xf3e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedd5, 0x003f, 0x003f, 0xd9ba, 0x003f,\n    0x003f, 0x003f, 0xede7, 0xfbb5, 0xf8ec, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe0e7, 0x003f, 0xccd9, 0x003f, 0x003f, 0xd4c6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7a5, 0x003f, 0xd5f5, 0xd3be,\n    0x003f, 0xfcfb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f2, 0x003f,\n    0x003f, 0xdff5, 0x003f, 0x003f, 0xe8f8, 0xf8ed, 0x003f, 0x003f,\n    0xcec7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdf6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8d8, 0x003f, 0xcdd8, 0xe7d6, 0xccda, 0x003f, 0x003f, 0xcae3,\n    0xdff6, 0xf0c7, 0xf0c6, 0x003f, 0xd8ba, 0x003f, 0xf1f4, 0xf4f0,\n    /* 0x6700 .. 0x67ff */\n    0xf5cc, 0x003f, 0x003f, 0xfce5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeac5, 0xeaf3, 0x003f, 0xdddb, 0x003f, 0xdcd7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdefd, 0xf2f9, 0x003f, 0xd5c7,\n    0x003f, 0x003f, 0x003f, 0xd8d0, 0x003f, 0xf0c8, 0xd1a1, 0xd1a2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d4, 0xd6e8,\n    0xd9ca, 0x003f, 0xdab1, 0xd8c7, 0xdce2, 0xf3ce, 0xf5f4, 0x003f,\n    0x003f, 0xf1b9, 0x003f, 0x003f, 0xdad3, 0x003f, 0xf6ea, 0x003f,\n    0x003f, 0x003f, 0xcff5, 0x003f, 0x003f, 0xfdae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad2, 0x003f,\n    0x003f, 0xdfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7dd, 0xfaba,\n    0xeea7, 0xf5bd, 0x003f, 0xf8f5, 0x003f, 0x003f, 0xede8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4e1, 0x003f, 0xd1a3, 0xe1d6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9f8, 0x003f, 0xdbca,\n    0xcbf9, 0xd4d4, 0x003f, 0xd9dc, 0x003f, 0xeebe, 0x003f, 0xf7ed,\n    0x003f, 0x003f, 0x003f, 0xd2ee, 0x003f, 0x003f, 0xe1e6, 0xf7f9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdded,\n    0x003f, 0xe8db, 0x003f, 0xdbb3, 0x003f, 0x003f, 0x003f, 0xd1f7,\n    0xe0b0, 0x003f, 0x003f, 0xd4e2, 0x003f, 0xf6d7, 0x003f, 0xd7f9,\n    0x003f, 0x003f, 0xd8dd, 0x003f, 0xcdfd, 0xf2ab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdbd,\n    0xf8c2, 0x003f, 0x003f, 0xf2ac, 0x003f, 0x003f, 0xcaad, 0xcaae,\n    0xcfae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdcb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbda,\n    0xd9bb, 0xcaf3, 0xf6d3, 0xe6f8, 0xeaf5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeaf6, 0x003f, 0x003f, 0xf6f9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfaf, 0x003f, 0x003f, 0xcad3, 0x003f, 0x003f, 0xcaaf,\n    0xd2b0, 0xf1ba, 0x003f, 0xd7b3, 0xe3c3, 0xf3fd, 0xdeda, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdedb, 0x003f, 0x003f, 0xefde, 0x003f,\n    /* 0x6800 .. 0x68ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2e3, 0xeefb, 0x003f, 0x003f, 0xdff7, 0xd7ca,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcee8, 0xdbdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfab7, 0xd0c6, 0x003f, 0x003f, 0xccab, 0xeea8, 0x003f, 0x003f,\n    0xcbfa, 0xf9f9, 0xccfd, 0xd3fe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe4d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ee, 0x003f,\n    0xd4d5, 0xdfcd, 0x003f, 0xfcb8, 0xd1d0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2cd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7d2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad4,\n    0x003f, 0xd5d9, 0x003f, 0x003f, 0x003f, 0xd8de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd9,\n    0x003f, 0x003f, 0x003f, 0xeea9, 0xf6bc, 0x003f, 0x003f, 0xccdb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0c9, 0x003f, 0xfcfc,\n    0x003f, 0xe8c9, 0xf4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7fc,\n    0xd7de, 0x003f, 0x003f, 0x003f, 0x003f, 0xdedc, 0x003f, 0xf0ac,\n    0xccfe, 0xcde1, 0x003f, 0xe1ba, 0x003f, 0xdbef, 0xdab2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd1a5, 0xdcb8, 0x003f, 0x003f,\n    0x003f, 0xd8f6, 0x003f, 0xd1a4, 0x003f, 0xcde2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdcea, 0x003f, 0x003f, 0xf0f7, 0x003f, 0xf0ca,\n    0xd0be, 0x003f, 0xdddc, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4d6,\n    0xd3d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd0,\n    0xcda1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb5, 0x003f,\n    0x003f, 0x003f, 0xdff8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4a1, 0xceb2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6900 .. 0x69ff */\n    0xe8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d5, 0xf5d0, 0x003f,\n    0x003f, 0x003f, 0xf5a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6cb, 0x003f, 0xf5f1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9a3, 0xe0db, 0xf6eb, 0x003f, 0xcbf1,\n    0x003f, 0xd9ea, 0xf5a2, 0x003f, 0x003f, 0x003f, 0xd7d1, 0x003f,\n    0xd1f8, 0xeaf8, 0xeaf9, 0xdab3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefdf, 0x003f, 0x003f, 0xf1ef, 0x003f, 0xe5f6, 0xeebf, 0xe2e4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0bf, 0x003f, 0xfaac,\n    0xf5d1, 0xe7b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9be, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2ce, 0xdbb4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcce, 0x003f, 0xddee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7b4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf7b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdbe, 0x003f, 0xdae9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcfb0, 0xf7d9, 0xf3e6, 0x003f, 0x003f,\n    0xced9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xceaa, 0x003f, 0xcbc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd0a7, 0x003f, 0xf0cb, 0x003f, 0xd0c7,\n    /* 0x6a00 .. 0x6aff */\n    0x003f, 0x003f, 0xe4c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbe0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5da, 0x003f, 0xd7a7, 0x003f, 0x003f, 0x003f, 0xeec0,\n    0x003f, 0xf8f6, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5d2, 0xede9,\n    0x003f, 0xd9bc, 0x003f, 0xe5c6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a3, 0x003f, 0x003f,\n    0xdad4, 0xe2a7, 0xfbfc, 0x003f, 0x003f, 0xf1dc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcaf4, 0x003f, 0x003f, 0x003f,\n    0xe8fa, 0x003f, 0x003f, 0xcee9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9f8, 0xe2e5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd0b9, 0xd4f2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1a6,\n    0x003f, 0xdfce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfcf4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3aa, 0x003f, 0x003f, 0x003f, 0xccac, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefe0, 0x003f, 0x003f, 0x003f, 0xe5e5, 0xd0d5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbfc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfce6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcbfe, 0xedea, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdeb1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9e3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd4a2, 0xcff6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd6d0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5ea, 0xf1ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfacb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5a1, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6b00 .. 0x6bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd5b1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcfed, 0x003f, 0xedeb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5b2, 0x003f, 0x003f, 0x003f, 0xd5bc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfde2, 0xf3ad, 0x003f, 0xfddb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd1a7, 0x003f, 0x003f, 0xfde3, 0xceb3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfde4, 0xface,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcab0, 0x003f, 0xf7a7, 0x003f,\n    0xcfb1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a2,\n    0x003f, 0xfcb6, 0xf2ad, 0xefe1, 0xf3ae, 0xdcc6, 0xd9eb, 0x003f,\n    0x003f, 0x003f, 0xe8e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5f6,\n    0xcffd, 0x003f, 0x003f, 0xdedd, 0x003f, 0x003f, 0x003f, 0xd9d1,\n    0x003f, 0x003f, 0x003f, 0xe4ea, 0xf2cf, 0x003f, 0xf7bf, 0x003f,\n    0x003f, 0xe2e6, 0xe2a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3d6, 0x003f,\n    0xedd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6b1, 0xdeb2,\n    0x003f, 0x003f, 0xe0e8, 0x003f, 0x003f, 0xd3ab, 0x003f, 0xebdc,\n    0x003f, 0x003f, 0xdfaf, 0x003f, 0xcac3, 0x003f, 0x003f, 0xeefc,\n    0x003f, 0xfdc3, 0x003f, 0x003f, 0x003f, 0xebf6, 0xcfb2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd9ec, 0x003f, 0xd9bd, 0x003f, 0xd8df,\n    0x003f, 0x003f, 0xd4b8, 0xebbe, 0xddef, 0x003f, 0xddf0, 0xddf1,\n    0xddf2, 0x003f, 0x003f, 0xd9be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbc6, 0xcfb3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6c00 .. 0x6cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeefd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ab,\n    0x003f, 0xdac5, 0x003f, 0xd8ec, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd1a8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2a9, 0x003f, 0x003f, 0xdebc,\n    0xe7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf0, 0x003f,\n    0xefe2, 0xf1f0, 0xcfb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdbf1, 0x003f,\n    0xe0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa5, 0x003f, 0xf9d2,\n    0x003f, 0x003f, 0xe7fd, 0x003f, 0x003f, 0xe6a3, 0xfbf1, 0xcbb0,\n    0xf2ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcde7, 0x003f, 0xe8dc, 0x003f, 0x003f, 0xe7d7, 0x003f, 0x003f,\n    0xf7c0, 0x003f, 0xd0e3, 0x003f, 0x003f, 0x003f, 0xdaa1, 0x003f,\n    0x003f, 0x003f, 0xccbd, 0x003f, 0x003f, 0xd1a9, 0xddcc, 0x003f,\n    0x003f, 0xe3fe, 0xd1aa, 0xe8aa, 0x003f, 0xeab6, 0xf9fa, 0xe6cc,\n    0xf6d8, 0x003f, 0x003f, 0x003f, 0xd4c7, 0x003f, 0x003f, 0x003f,\n    0xd9cb, 0x003f, 0xd9d2, 0xd3cb, 0xd8f7, 0xdaa9, 0xf5f8, 0x003f,\n    0x003f, 0xdede, 0xf2af, 0xf8a9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8c8, 0x003f, 0x003f, 0xeec1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9c1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xddf3, 0xeafa, 0x003f, 0xf6bd, 0xe1bb, 0xcdbf, 0xf4d4, 0xe6cd,\n    0x003f, 0xfccf, 0xfba2, 0x003f, 0xe0dc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf4bb, 0xdad5, 0x003f, 0xf9b2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbf2, 0x003f, 0xdbf6, 0x003f, 0xdedf,\n    0x003f, 0x003f, 0x003f, 0xdbf2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8dc, 0xf7ee, 0xebe8, 0x003f, 0xd2fa, 0x003f, 0x003f,\n    0xf1bc, 0x003f, 0x003f, 0xfada, 0x003f, 0x003f, 0xdaea, 0xdac6,\n    0xf7c1, 0x003f, 0x003f, 0xe7b6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6d00 .. 0x6dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe5c7, 0xd6ac, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,\n    0x003f, 0xe2aa, 0x003f, 0xd5a6, 0x003f, 0x003f, 0xd4d7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d0, 0x003f, 0xeafb,\n    0x003f, 0xe0dd, 0xfbf3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1bd, 0x003f, 0x003f, 0xe2e7, 0xfdd7, 0x003f,\n    0xcec8, 0xeab7, 0x003f, 0xfcc0, 0x003f, 0xfde7, 0xf7ef, 0x003f,\n    0x003f, 0xd7b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefba, 0xf1dd, 0x003f, 0xdeb3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8cb, 0x003f, 0x003f, 0xf8dd, 0x003f,\n    0x003f, 0xfbc7, 0xd5c8, 0x003f, 0xd7df, 0x003f, 0xdda9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9b1, 0x003f, 0x003f, 0xfaad,\n    0xf6d9, 0xfaf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8aa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ee, 0x003f, 0xccdc,\n    0xe1bc, 0xe0ef, 0x003f, 0x003f, 0xe9bf, 0xfcfd, 0xe6ce, 0x003f,\n    0x003f, 0xe1d7, 0x003f, 0xe6cf, 0x003f, 0xf4f1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f3,\n    0x003f, 0x003f, 0xe4fb, 0x003f, 0x003f, 0xf9e4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefe3, 0x003f, 0x003f, 0xcfee, 0xf6be, 0xe0b2, 0xfcfe, 0xd1ab,\n    0x003f, 0x003f, 0x003f, 0xd7fa, 0x003f, 0x003f, 0x003f, 0xfbc8,\n    0x003f, 0xe2d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4a3, 0xf0f8, 0xd7a8, 0x003f, 0x003f, 0x003f, 0xe1e7, 0x003f,\n    0x003f, 0xd3bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefe4, 0x003f, 0xd7c5, 0xebe2, 0x003f, 0x003f, 0xfce7, 0x003f,\n    0x003f, 0xe4a2, 0x003f, 0xe2e8, 0x003f, 0xe6d0, 0x003f, 0xfbe8,\n    0xf4e8, 0xe5f4, 0xf4bc, 0xf4d5, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6e00 .. 0x6eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfb6,\n    0x003f, 0xfcb9, 0xeec2, 0xcaf5, 0x003f, 0x003f, 0x003f, 0xefe5,\n    0xcbe2, 0xd4a4, 0x003f, 0xdee0, 0xdafd, 0xe4c6, 0xe8be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0de, 0xf6b4, 0xead2, 0x003f, 0xf9fb,\n    0x003f, 0x003f, 0xe0c2, 0x003f, 0xcae4, 0x003f, 0xe7b7, 0x003f,\n    0xeafd, 0x003f, 0xd9dd, 0x003f, 0xdab4, 0xeeaa, 0xfbe9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdbcb, 0xdab5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1be, 0x003f, 0x003f, 0xd3ac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbc9, 0x003f,\n    0xdfcf, 0x003f, 0x003f, 0xd3c0, 0xe3d7, 0x003f, 0xefe6, 0xfcd0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c0,\n    0x003f, 0x003f, 0x003f, 0xf5d3, 0x003f, 0x003f, 0xecdc, 0xf7b7,\n    0x003f, 0x003f, 0xeab8, 0xd1f9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdcc8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeab9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1de, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7b6, 0xcfb5, 0x003f, 0xd9a8,\n    0x003f, 0x003f, 0xecee, 0x003f, 0x003f, 0xddaa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcda2, 0xe8ae, 0x003f, 0x003f, 0x003f, 0xe1bd,\n    0x003f, 0xf2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c1, 0x003f,\n    0x003f, 0x003f, 0xd2fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbb5, 0x003f, 0xf3e7, 0xd8fe, 0x003f, 0x003f,\n    0x003f, 0xfcd1, 0x003f, 0xedb2, 0xf4af, 0x003f, 0xfba3, 0x003f,\n    0x003f, 0xfcc1, 0x003f, 0xeeab, 0xd4a5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeed9, 0x003f, 0x003f, 0x003f,\n    0xfbca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde3, 0xd8bb,\n    /* 0x6f00 .. 0x6fff */\n    0x003f, 0xe5db, 0xf8f7, 0x003f, 0x003f, 0x003f, 0xf6d4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a9,\n    0x003f, 0xcbc9, 0x003f, 0x003f, 0xe6d1, 0xf0cc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8ae, 0x003f, 0xf9d3, 0xd5fe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8bc, 0xf2b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2ab, 0xf3e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefc2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedec,\n    0x003f, 0xe7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdafe, 0x003f, 0x003f, 0xccbe, 0x003f, 0x003f, 0xf2fc,\n    0xdaeb, 0x003f, 0xe2d8, 0xedd6, 0x003f, 0x003f, 0xd6d1, 0xe0b3,\n    0x003f, 0x003f, 0xfcd2, 0x003f, 0xebc8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c1, 0xf0cd, 0x003f,\n    0xcff7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedd2, 0x003f, 0xd4d8, 0xdcc9, 0xd7f1, 0x003f,\n    0x003f, 0xdfbb, 0x003f, 0x003f, 0xf3a5, 0x003f, 0x003f, 0x003f,\n    0xf4cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1bf, 0xf8b1, 0x003f,\n    0xe9fa, 0x003f, 0x003f, 0x003f, 0xfbcb, 0x003f, 0x003f, 0xcad5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9d4, 0xf7ca, 0x003f, 0x003f, 0xd6c8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfce8, 0xf3bd,\n    0x003f, 0xeefe, 0x003f, 0xe7fe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3b6, 0x003f,\n    0xccad, 0xf6fa, 0xd6b2, 0xd2d8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7d8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7b9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ad,\n    0xfbcc, 0xeba1, 0x003f, 0x003f, 0xd4a6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfbcd, 0x003f, 0xd5bd, 0xf1df, 0x003f, 0x003f, 0xf6fb,\n    0x003f, 0xdeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5eb, 0x003f,\n    /* 0x7000 .. 0x70ff */\n    0x003f, 0xe5c8, 0x003f, 0x003f, 0x003f, 0xfba4, 0xd4b9, 0x003f,\n    0x003f, 0xdee1, 0x003f, 0xe4a3, 0x003f, 0x003f, 0x003f, 0xd7b7,\n    0x003f, 0xf8ee, 0x003f, 0x003f, 0x003f, 0xdeb5, 0x003f, 0x003f,\n    0xd6d2, 0x003f, 0xf9d5, 0xe7ba, 0xebd5, 0xd5f7, 0xefe7, 0xe1be,\n    0x003f, 0x003f, 0x003f, 0xfaae, 0x003f, 0x003f, 0x003f, 0xd6e9,\n    0xd6ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeccb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xceb4, 0x003f, 0x003f, 0x003f,\n    0xfba5, 0xe1ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8bd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbfd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfce9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfb6, 0x003f, 0x003f, 0x003f, 0xedc7, 0xeeac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccdd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf6a7, 0x003f, 0x003f, 0x003f, 0xe6fa, 0x003f,\n    0x003f, 0x003f, 0xf5a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfddc, 0xedb3, 0xcec9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefe8, 0x003f, 0x003f, 0xe1bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfadb, 0xcbe3, 0xf7a9, 0x003f, 0xfba6,\n    0x003f, 0x003f, 0x003f, 0xdcb9, 0x003f, 0x003f, 0x003f, 0xf1c0,\n    0xedc8, 0xefc3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6ad, 0x003f, 0x003f, 0xfdce, 0x003f, 0x003f, 0x003f, 0xe8a1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfbf4, 0xd5a7, 0x003f, 0x003f, 0x003f, 0xf1f6, 0x003f, 0xe6d3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccde, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8b2, 0x003f, 0x003f, 0x003f, 0xdceb, 0x003f, 0x003f,\n    /* 0x7100 .. 0x71ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfdb6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe5ea, 0x003f, 0x003f, 0xf1e0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdbcc, 0xddcd, 0x003f, 0x003f, 0x003f, 0xd4c8, 0x003f,\n    0x003f, 0xd9ed, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdc8,\n    0x003f, 0xd6a1, 0xfdbf, 0x003f, 0xfcd3, 0x003f, 0xefa1, 0x003f,\n    0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1ee, 0x003f,\n    0x003f, 0xe6d5, 0x003f, 0x003f, 0xe9f2, 0x003f, 0xdfb0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd8e0, 0xfcba, 0xfdaf, 0xf0ce,\n    0x003f, 0xdbe1, 0x003f, 0x003f, 0xe5c9, 0x003f, 0xedb4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe3d8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9fb, 0xeaa8, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdb7,\n    0x003f, 0x003f, 0xfba7, 0x003f, 0xe9c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfdf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2d9,\n    0x003f, 0x003f, 0xdcec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8a2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfdf8, 0xfdf9, 0x003f, 0x003f, 0x003f, 0xf6bf, 0x003f,\n    0x003f, 0xe7a7, 0x003f, 0xe6d7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4f3, 0xd4c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6fa, 0x003f,\n    0xd7f2, 0x003f, 0xe1c0, 0x003f, 0xdbe2, 0xe6d8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7bd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0cf, 0xf3be, 0xe2ac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b7, 0xe0f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfdb8, 0xe3e8, 0x003f, 0xd4a7, 0xe8fc,\n    /* 0x7200 .. 0x72ff */\n    0xfad2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8ef, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf0d0, 0x003f, 0xf7f0, 0xeeb3, 0x003f, 0x003f,\n    0xeaba, 0x003f, 0xead3, 0x003f, 0x003f, 0xedc9, 0xddab, 0x003f,\n    0x003f, 0x003f, 0xe5ac, 0xfda1, 0x003f, 0xdfd0, 0xecb3, 0x003f,\n    0xdfd1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeded, 0xf8b8,\n    0xf7fa, 0x003f, 0x003f, 0x003f, 0xf8ab, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf4e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4ba, 0xe4b3, 0x003f, 0xe9da, 0x003f, 0xdeb6, 0x003f, 0xd9bf,\n    0x003f, 0xd9c0, 0xd6ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cc,\n    0x003f, 0xdaaa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdfe5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf7e5, 0x003f, 0x003f, 0x003f, 0xccb2, 0x003f, 0x003f,\n    0xdff9, 0xd7e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd4bb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdfa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xccb3, 0x003f, 0x003f, 0xdbf3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfd2, 0x003f, 0xceca, 0x003f, 0xeeda, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e4, 0x003f,\n    0xfbcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfb7,\n    0x003f, 0xeec3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xceea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7e1, 0xfaf5, 0x003f, 0x003f, 0xd5c9, 0xf8ac, 0x003f, 0x003f,\n    /* 0x7300 .. 0x73ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe7d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3e9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8ed, 0xe3c4, 0xf0f1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8e5, 0x003f, 0x003f,\n    0x003f, 0xe0fa, 0xeec4, 0xd9de, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeba2, 0xeba3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcc2, 0xeabb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe8ab, 0xdee2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedef, 0x003f, 0xe8a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xcff1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4bc, 0x003f, 0xfcea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7be, 0x003f, 0xfcf2, 0x003f, 0x003f, 0xd6b4, 0x003f, 0x003f,\n    0xe2ae, 0x003f, 0xd3b7, 0xfacc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfadc, 0x003f, 0xedb5, 0xe1e3,\n    0x003f, 0xe8ac, 0x003f, 0xe8dd, 0x003f, 0x003f, 0xefe9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf4bd, 0x003f, 0xcfb8, 0xe9db,\n    0xd1ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdac7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebc9,\n    0x003f, 0xe8cc, 0x003f, 0x003f, 0x003f, 0xdeb7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6bc, 0xd3e5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfadd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdad6, 0x003f, 0xcab1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdac8, 0xdfa6, 0x003f, 0xf9b3, 0xf2d2, 0x003f, 0xcac4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcecb, 0x003f,\n    0x003f, 0xcdf5, 0x003f, 0x003f, 0x003f, 0xfdb0, 0xd5a8, 0x003f,\n    0xf1c1, 0x003f, 0x003f, 0xe2e9, 0xdcca, 0xecb4, 0xfac0, 0x003f,\n    0x003f, 0xfba8, 0xd0a8, 0x003f, 0x003f, 0xdaec, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ee,\n    0x003f, 0xe0fb, 0x003f, 0x003f, 0x003f, 0xefea, 0xfade, 0x003f,\n    /* 0x7400 .. 0x74ff */\n    0x003f, 0xe0c4, 0x003f, 0xcfb9, 0x003f, 0xd5ca, 0xd7e2, 0xe2af,\n    0x003f, 0xd7b8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe8cd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf6da, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefa2, 0xe2da, 0xf6fc, 0x003f, 0x003f, 0xfbd0, 0xd1ad, 0x003f,\n    0xcde4, 0x003f, 0xd1ae, 0xdced, 0xe8ce, 0x003f, 0xf0f9, 0xceb5,\n    0xe6fc, 0x003f, 0x003f, 0xd7fb, 0xd0d6, 0xddf5, 0xf7f1, 0x003f,\n    0xf6fd, 0x003f, 0xdbf7, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbea,\n    0xe9dc, 0xd9c1, 0x003f, 0xf5f2, 0xe0c5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xead4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c2, 0x003f, 0xeabc,\n    0x003f, 0xd2c5, 0xfbd1, 0xe7c0, 0xeba5, 0x003f, 0xdffa, 0xe3a2,\n    0xd7b9, 0x003f, 0xe9c3, 0x003f, 0xe8fd, 0xe8af, 0x003f, 0x003f,\n    0xf2d3, 0xfba9, 0xd8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c8, 0x003f,\n    0x003f, 0x003f, 0xd1af, 0xd7e3, 0x003f, 0x003f, 0x003f, 0xe0c6,\n    0x003f, 0xd6a2, 0x003f, 0xedf0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7f3, 0x003f, 0x003f, 0x003f, 0xfcd4, 0x003f, 0xdad7, 0xccdf,\n    0x003f, 0xf2d4, 0x003f, 0xd1b0, 0x003f, 0xcce0, 0x003f, 0xdbfd,\n    0xf3bf, 0x003f, 0xf0d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfcbb, 0x003f, 0xe2b0, 0x003f, 0x003f, 0xe6a5, 0x003f, 0x003f,\n    0x003f, 0xe2db, 0x003f, 0x003f, 0x003f, 0xdfde, 0x003f, 0xe0c7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2ef, 0x003f,\n    0x003f, 0x003f, 0xcce1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7c2, 0x003f, 0x003f, 0x003f,\n    0xceb6, 0x003f, 0xf3c0, 0x003f, 0xcdfe, 0x003f, 0x003f, 0x003f,\n    0xfbd2, 0x003f, 0xf8f8, 0xf7fb, 0x003f, 0x003f, 0xe8bf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedb6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7500 .. 0x75ff */\n    0x003f, 0xdcba, 0x003f, 0x003f, 0xccb4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf1f7, 0x003f, 0x003f, 0x003f, 0xe8b8, 0x003f, 0x003f,\n    0xcaf6, 0x003f, 0xe4a4, 0xf4d6, 0x003f, 0x003f, 0x003f, 0xdfe6,\n    0x003f, 0x003f, 0x003f, 0xdfa7, 0x003f, 0xdfe7, 0xe1c1, 0x003f,\n    0xe9c4, 0x003f, 0x003f, 0xdccb, 0xe9c5, 0x003f, 0x003f, 0x003f,\n    0xefa3, 0xeba6, 0xcba3, 0xe3e9, 0x003f, 0x003f, 0x003f, 0xd1fb,\n    0xefa4, 0x003f, 0xefeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcda3, 0x003f, 0x003f, 0xe8e6,\n    0x003f, 0xefa5, 0x003f, 0xd3cc, 0xdaed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7ba, 0x003f, 0xf2d5, 0xf5e5, 0xd9ef, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf9b4, 0x003f, 0x003f, 0xd5d4, 0xfdcf, 0x003f,\n    0x003f, 0x003f, 0xdbe3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e1,\n    0xecb6, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbfe, 0xd3d7, 0x003f,\n    0xd1b1, 0x003f, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbb2, 0xf1c2,\n    0x003f, 0x003f, 0xf4e1, 0xf9b5, 0x003f, 0x003f, 0xe1c3, 0xe1c2,\n    0x003f, 0xebf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfa8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbca, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe6b9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8de, 0xf9aa, 0xcaf7, 0x003f, 0xedb7, 0x003f, 0x003f,\n    0xd3b8, 0xf2d6, 0x003f, 0x003f, 0xd4d9, 0xeec5, 0xf2f0, 0x003f,\n    0x003f, 0x003f, 0xcab2, 0x003f, 0x003f, 0xdcbb, 0x003f, 0xf1f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xecb7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5ca, 0x003f, 0xf6c0, 0xfddd, 0x003f, 0x003f,\n    0xd4e3, 0xcce2, 0x003f, 0xf7d4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd7e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3c3, 0x003f, 0xd8a6, 0x003f, 0xf6c1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddf6, 0x003f, 0xcdc0, 0x003f, 0x003f, 0x003f,\n    /* 0x7600 .. 0x76ff */\n    0xe5dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5cb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b0,\n    0xf4b0, 0xf3ea, 0xdaee, 0x003f, 0xd7bb, 0x003f, 0xe2b1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd7aa, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6fb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4df, 0x003f, 0xcad6, 0x003f,\n    0x003f, 0x003f, 0xeba8, 0x003f, 0x003f, 0x003f, 0xdbfe, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf6c2, 0x003f, 0x003f, 0xefbb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4fd, 0x003f, 0x003f, 0xe0c8, 0x003f, 0x003f, 0x003f,\n    0xe8b9, 0x003f, 0xefa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcda4, 0x003f, 0x003f, 0xd4f4, 0xdba1, 0xdbdc, 0xdbdd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeedc, 0x003f, 0xcbcb, 0xfcd5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceeb, 0x003f,\n    0xcdc1, 0x003f, 0x003f, 0xfbd3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9ab, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9a9,\n    0x003f, 0x003f, 0xe9dd, 0xdbcd, 0x003f, 0x003f, 0xddce, 0x003f,\n    0xe7c3, 0x003f, 0xeccc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf9ec, 0x003f, 0x003f, 0x003f, 0xcbcc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0fc, 0xd4a8, 0x003f, 0xedd3, 0xd8ef,\n    0x003f, 0xf2d7, 0x003f, 0xcaf8, 0xdaef, 0x003f, 0x003f, 0xd6d4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cd, 0x003f,\n    0x003f, 0x003f, 0xd8ee, 0x003f, 0xf2c1, 0x003f, 0x003f, 0x003f,\n    0xdfd3, 0x003f, 0x003f, 0x003f, 0xdaf0, 0x003f, 0xe2ea, 0x003f,\n    /* 0x7700 .. 0x77ff */\n    0x003f, 0xe0fd, 0x003f, 0x003f, 0xd8f8, 0x003f, 0x003f, 0x003f,\n    0xf7af, 0xdab6, 0x003f, 0xcad7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2d8, 0x003f,\n    0xd8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfadf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfef,\n    0xd9c2, 0x003f, 0xf0d2, 0x003f, 0xe4d1, 0x003f, 0x003f, 0x003f,\n    0xf3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfae0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefec, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2b2, 0x003f, 0xd4bd, 0x003f, 0x003f, 0xd9ce, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf4e2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc2, 0xe7da,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2d9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcad, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2eb, 0xd6fc, 0x003f, 0x003f,\n    0xcaf9, 0x003f, 0x003f, 0xd4da, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf4d7, 0xcca1, 0x003f, 0x003f, 0xcfba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b8,\n    0x003f, 0x003f, 0x003f, 0xd9c3, 0xd0e8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3c5, 0xebf8, 0x003f, 0xf2b1, 0x003f, 0x003f,\n    0x003f, 0xcfbb, 0x003f, 0x003f, 0x003f, 0xd3ad, 0xe8e1, 0xceec,\n    0x003f, 0x003f, 0x003f, 0xe0b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7800 .. 0x78ff */\n    0x003f, 0x003f, 0xdee3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2b2, 0xf3f6, 0xf6db,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7fe, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8df, 0x003f, 0xf7f2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0a9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6da,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd7bc, 0xcce3, 0x003f, 0x003f, 0xe6db,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdddd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd1b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefed,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6de, 0xe4f4, 0xe1ef, 0x003f,\n    0x003f, 0xddf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcae5, 0x003f, 0x003f, 0x003f, 0xdca1,\n    0x003f, 0xe0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfcac, 0xfcad, 0xd8a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xedb8, 0x003f, 0x003f, 0x003f, 0xdbb6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6f0, 0xf3af, 0x003f, 0x003f, 0xcda5, 0x003f,\n    0xdaf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8a8, 0x003f, 0x003f, 0x003f, 0xcce4, 0x003f, 0x003f, 0xd1b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcad8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdaf2, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7900 .. 0x79ff */\n    0x003f, 0xf5a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5a8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5ec, 0xd5f8, 0xdaf3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3c6, 0x003f, 0x003f, 0x003f, 0xdee4, 0x003f,\n    0xdee5, 0xd1b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1b6,\n    0xd1b7, 0xf2b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d3, 0xf2b4,\n    0x003f, 0x003f, 0xf0d4, 0xcbe4, 0xfbd4, 0xf5e6, 0xe3ea, 0x003f,\n    0xdee6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfd4, 0x003f, 0x003f,\n    0xf8f9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd1b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6df,\n    0x003f, 0xd0d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfca1, 0xefee, 0xdcd8,\n    0x003f, 0xe9df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5dd, 0xfdfb,\n    0x003f, 0x003f, 0xe0c9, 0x003f, 0x003f, 0x003f, 0xd6c9, 0x003f,\n    0x003f, 0xd4aa, 0x003f, 0xe5cc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9e0, 0x003f, 0x003f, 0x003f, 0xd0d8, 0xfca2, 0xd4be,\n    0xe2b3, 0xdee7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdcbc, 0xd2b6, 0xf5d5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcea1, 0xf5a9, 0x003f, 0x003f, 0xddf9, 0x003f, 0x003f,\n    0xddfa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0d5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6df, 0x003f, 0xf2da, 0xe4eb,\n    0x003f, 0xf2f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xecb9, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7a00 .. 0x7aff */\n    0xfdfc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1aa, 0x003f, 0x003f,\n    0xcad9, 0x003f, 0x003f, 0xefef, 0x003f, 0xf5aa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecf9, 0x003f, 0x003f, 0xf8ad,\n    0x003f, 0xf2c2, 0xf6c3, 0x003f, 0xd7d2, 0x003f, 0x003f, 0xf9a2,\n    0xf0d6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0fa, 0x003f,\n    0x003f, 0xf6e0, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0xf2c3,\n    0x003f, 0x003f, 0x003f, 0xd4ab, 0xcab3, 0xcda6, 0x003f, 0xcdc3,\n    0xcdda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9cf, 0x003f,\n    0x003f, 0xf6c4, 0x003f, 0x003f, 0x003f, 0xeedd, 0xe7c4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfe2, 0xe7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8b1, 0x003f, 0xfcae, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5cd, 0x003f, 0x003f, 0x003f, 0xfaeb, 0x003f, 0xcfbc, 0x003f,\n    0x003f, 0xcfe2, 0xcdf6, 0x003f, 0x003f, 0xeff0, 0x003f, 0xf4be,\n    0x003f, 0xd4cd, 0x003f, 0x003f, 0xf3b8, 0x003f, 0x003f, 0x003f,\n    0xe9a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf2f2, 0xf3eb, 0x003f, 0xf0d7, 0x003f, 0x003f,\n    0xcfd7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfdf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8c0, 0xe8c1, 0x003f, 0x003f, 0x003f, 0xcfe3, 0xe9a2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd0aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3c1, 0xd0ab, 0x003f, 0xd4e4,\n    0x003f, 0x003f, 0xefbc, 0xd8a1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9df,\n    0x003f, 0xf3d7, 0x003f, 0x003f, 0x003f, 0xdcbd, 0x003f, 0xcce5,\n    0xedf1, 0x003f, 0x003f, 0xf1e2, 0x003f, 0xd4db, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2b5, 0x003f, 0x003f, 0xcae6, 0x003f, 0xd3ae,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce6, 0x003f,\n    0x003f, 0xf1d3, 0xf5e7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcada,\n    /* 0x7b00 .. 0x7bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbee,\n    0x003f, 0xe1c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfe9, 0x003f, 0xeede, 0x003f, 0x003f, 0xf7c2, 0x003f,\n    0xd8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddac, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0af, 0xd6bd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe1ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9b6, 0x003f,\n    0x003f, 0xd4f5, 0x003f, 0xd0c9, 0xefa7, 0xe2ec, 0x003f, 0xdbea,\n    0xcecc, 0xf5e8, 0xf7d5, 0x003f, 0xd3cd, 0x003f, 0xf3fe, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd0b5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0fe, 0x003f, 0xdffb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd,\n    0x003f, 0x003f, 0x003f, 0xefa8, 0x003f, 0x003f, 0x003f, 0xeeb4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdad8, 0xd1b9, 0x003f, 0xdfa9,\n    0x003f, 0x003f, 0xf3b0, 0x003f, 0x003f, 0xccc4, 0x003f, 0x003f,\n    0x003f, 0xceb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefa9, 0x003f, 0x003f,\n    0x003f, 0xdfd5, 0x003f, 0x003f, 0xedd7, 0x003f, 0x003f, 0x003f,\n    0xeec6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefbd, 0xfcd6, 0x003f, 0x003f, 0xdbf4, 0x003f, 0xefaa, 0xf8b9,\n    0x003f, 0xf5e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1c6, 0x003f, 0x003f, 0x003f, 0xd4bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdee8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7c00 .. 0x7cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3af, 0x003f,\n    0x003f, 0xcadb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcd7,\n    0x003f, 0x003f, 0xedd8, 0xe1c7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d8, 0xd6b3, 0xddad,\n    0x003f, 0x003f, 0x003f, 0xd5be, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf1c3, 0xeedf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6eb, 0x003f, 0x003f, 0x003f, 0xf4d9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7e6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdab7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddfb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xddcf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8a3, 0x003f, 0x003f, 0xdad9, 0x003f, 0xf0d8,\n    0xefc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1d8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1d4, 0x003f, 0xedf2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5db, 0x003f,\n    0x003f, 0xd5dc, 0xf3c4, 0xcbd7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2b6, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfbd5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3d8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddd0, 0xf0d9,\n    0xcbb3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5dd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcda7, 0x003f, 0x003f, 0xd0ac, 0x003f,\n    /* 0x7d00 .. 0x7dff */\n    0xd1ba, 0x003f, 0xf1c4, 0x003f, 0xe5b3, 0xfbf5, 0xe9e1, 0xfde0,\n    0xfcbc, 0x003f, 0xdaa2, 0xdaa3, 0x003f, 0xd2a1, 0x003f, 0x003f,\n    0xd2ef, 0x003f, 0x003f, 0x003f, 0xe2ed, 0x003f, 0x003f, 0xdee9,\n    0xcedc, 0xf2b5, 0xd0e4, 0xddd1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1c8, 0xdbb7, 0xdfe3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedb9, 0xf1c5, 0x003f, 0xf3cf, 0xd7ab,\n    0xe1ac, 0x003f, 0x003f, 0xe3eb, 0x003f, 0xeec7, 0x003f, 0x003f,\n    0x003f, 0xe1c9, 0xcafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf0fb, 0xfae1, 0xf0da, 0xcce7, 0xdaf4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xccbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceed, 0x003f,\n    0x003f, 0xd5a9, 0xfae2, 0x003f, 0x003f, 0x003f, 0xd0e5, 0x003f,\n    0xebd6, 0x003f, 0xecdf, 0x003f, 0x003f, 0x003f, 0xdffc, 0x003f,\n    0x003f, 0xf7d6, 0xdeea, 0xcbb4, 0x003f, 0x003f, 0xefbe, 0x003f,\n    0x003f, 0xccb5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfbd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff2, 0xe2b7,\n    0x003f, 0x003f, 0x003f, 0xcce8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0fc, 0x003f, 0x003f, 0x003f,\n    0xd6e0, 0x003f, 0xf1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2b8, 0xebab, 0x003f, 0x003f,\n    0x003f, 0xcbb5, 0xd8d1, 0x003f, 0xf4ce, 0xf3f7, 0x003f, 0x003f,\n    0xd7c6, 0x003f, 0xd1bb, 0xf7aa, 0x003f, 0xedca, 0xd7d3, 0xd8fa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6c5,\n    0x003f, 0x003f, 0xd1cc, 0xddfc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdffd, 0x003f,\n    0xf9e5, 0x003f, 0xe0ca, 0x003f, 0x003f, 0xf2fd, 0xd3b0, 0x003f,\n    0xf4f3, 0xdac9, 0x003f, 0xe6de, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf8ba, 0xe8d0, 0x003f, 0x003f, 0xd8fb, 0x003f, 0x003f, 0xead5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6a3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf6c6, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7e00 .. 0x7eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2db, 0xe4fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8b2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdada, 0x003f, 0xf2dc, 0xfbd6, 0xe9b2,\n    0x003f, 0xeead, 0x003f, 0xfae3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdcee, 0x003f, 0x003f, 0xf5ea, 0xe6e0,\n    0x003f, 0xf0fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5c5, 0xeee0, 0x003f,\n    0x003f, 0xdbe5, 0x003f, 0xddde, 0x003f, 0x003f, 0xd9f0, 0xe9a3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1f9, 0x003f, 0xf2c4, 0xe0cb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9a4, 0x003f,\n    0x003f, 0xe2b9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3b1, 0xfceb, 0xcda8, 0x003f, 0xccb6, 0x003f, 0x003f,\n    0xf0db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe6ba, 0x003f, 0x003f, 0xcda9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3c3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1d9, 0x003f, 0x003f, 0xefab,\n    0x003f, 0x003f, 0x003f, 0xe7c5, 0x003f, 0x003f, 0xe0e9, 0x003f,\n    0xf3c5, 0x003f, 0x003f, 0xd4c0, 0xd5bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7f00 .. 0x7fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xddae, 0x003f,\n    0xf9fc, 0x003f, 0xccc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe5a2, 0x003f, 0x003f, 0x003f,\n    0xceb8, 0x003f, 0x003f, 0x003f, 0xd8d2, 0xf9d6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1aa, 0xced1, 0x003f, 0x003f, 0xf6c7, 0x003f,\n    0xdbeb, 0x003f, 0xdffe, 0x003f, 0x003f, 0xd8e1, 0x003f, 0xf7f3,\n    0x003f, 0xd7e7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4fe, 0x003f, 0x003f,\n    0xd1bc, 0x003f, 0xe5cf, 0x003f, 0xcbb6, 0x003f, 0xdab8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdc4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6be, 0x003f, 0x003f, 0x003f, 0xe2ba, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd8, 0x003f, 0x003f, 0x003f,\n    0xe0cc, 0xebf9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfdfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd7e8, 0xcbd8, 0x003f, 0x003f, 0x003f, 0xe9e2, 0x003f, 0x003f,\n    0x003f, 0xe8ba, 0x003f, 0x003f, 0x003f, 0xe3c7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeccd, 0x003f, 0xecce, 0x003f, 0xd6bf, 0x003f,\n    0x003f, 0x003f, 0xe3a7, 0x003f, 0xdfd6, 0xfde8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee1,\n    0xf6a8, 0xddfd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8bb, 0x003f, 0xe8d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf9d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xceee, 0x003f, 0x003f, 0xeccf, 0x003f, 0x003f, 0x003f,\n    /* 0x8000 .. 0x80ff */\n    0xe9a5, 0xd6d5, 0x003f, 0xcdc5, 0x003f, 0xedba, 0xd1bd, 0x003f,\n    0x003f, 0xcfbe, 0x003f, 0x003f, 0xecbb, 0x003f, 0x003f, 0x003f,\n    0xd2b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xcce9, 0x003f, 0xd9c4,\n    0xe9fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1be, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xecbc, 0x003f, 0x003f, 0xe5ad, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7b0, 0x003f, 0xccea,\n    0x003f, 0x003f, 0x003f, 0xd3c4, 0x003f, 0x003f, 0xd6c0, 0x003f,\n    0x003f, 0x003f, 0xd6fd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a1, 0x003f,\n    0xdebd, 0x003f, 0xf6a9, 0x003f, 0x003f, 0x003f, 0xdaa4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a4,\n    0xf5c6, 0x003f, 0xe1a2, 0xe9c6, 0x003f, 0x003f, 0x003f, 0xf2c5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4e9, 0xd6ec, 0xebd3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecbd, 0xe2dc, 0xdeeb, 0xf0dc,\n    0x003f, 0xebbf, 0x003f, 0xd7ce, 0xd1bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5ab, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9fd, 0x003f, 0xcadc, 0x003f, 0x003f,\n    0x003f, 0xcdc6, 0xf2b6, 0x003f, 0x003f, 0xddfe, 0x003f, 0x003f,\n    0x003f, 0xccb7, 0xdbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0e9,\n    0x003f, 0xcedd, 0xebc0, 0x003f, 0xfda2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xead6, 0xf1b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdbce, 0x003f, 0xf7c3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbcf, 0xcba4, 0x003f, 0x003f, 0xf8e0, 0x003f,\n    0x003f, 0xfbd7, 0x003f, 0x003f, 0xebca, 0xe0a1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcecd, 0x003f, 0x003f, 0xd4dc, 0x003f, 0x003f, 0x003f,\n    0xfdd8, 0x003f, 0x003f, 0x003f, 0x003f, 0xd2f6, 0x003f, 0x003f,\n    /* 0x8100 .. 0x81ff */\n    0x003f, 0x003f, 0xf2b7, 0x003f, 0x003f, 0xfaf6, 0xf6aa, 0xfaf7,\n    0xd8e6, 0x003f, 0xf4b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8d2, 0x003f, 0xcac5, 0xcceb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe2bb, 0x003f, 0xf7ad, 0x003f, 0x003f, 0x003f, 0xf8e1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xdea1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe4fd, 0x003f, 0x003f, 0xe3ec, 0x003f,\n    0xddaf, 0xddb0, 0x003f, 0x003f, 0xcbb7, 0xe8d3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a3, 0xd2e0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0fe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9a6, 0xcbf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedf3, 0xdcd9, 0xe0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7da,\n    0xdbb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xccae, 0x003f, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddb1, 0x003f, 0xd8af, 0xe3a3, 0x003f, 0x003f,\n    0xceef, 0x003f, 0x003f, 0xf2f3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0ce, 0x003f, 0xf5fd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xebec, 0x003f, 0x003f, 0xd3c5, 0xfcec, 0xd2db,\n    0xd4eb, 0x003f, 0xdea2, 0x003f, 0x003f, 0x003f, 0xe5e6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b0, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd5c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedf4,\n    0x003f, 0x003f, 0x003f, 0xe3ed, 0x003f, 0xe8c2, 0x003f, 0xedf5,\n    0xd7fc, 0x003f, 0xedbb, 0x003f, 0x003f, 0xf6ab, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2b8, 0xf6c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd3e6, 0xf2dd, 0xcfbf, 0x003f, 0xebac, 0x003f,\n    /* 0x8200 .. 0x82ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfc0, 0x003f, 0xe6a8,\n    0xfde9, 0x003f, 0xcfc1, 0x003f, 0xe0df, 0xdeec, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe0a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf4bf, 0xe2ef, 0x003f, 0xd9f1, 0xf1c7,\n    0x003f, 0xcbb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf9fe, 0xdbba, 0xdaf5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6ec, 0xdadc, 0xfae4,\n    0x003f, 0xe0cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xddb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6a9, 0x003f, 0xeff3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf3ed, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xebfa, 0x003f, 0xf9e6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcadd, 0xd5de,\n    0x003f, 0xcade, 0xdfe4, 0x003f, 0x003f, 0x003f, 0xe6fd, 0x003f,\n    0xf5ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4f5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9e3, 0x003f, 0xedcb, 0xcfe4, 0x003f,\n    0x003f, 0x003f, 0xd8d3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xddb3, 0xd4ec, 0x003f, 0x003f, 0xf2b9, 0x003f, 0xdfb7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbce, 0xfbd8, 0x003f,\n    0x003f, 0xd0d9, 0x003f, 0x003f, 0xddd2, 0xf7f4, 0xe7dc, 0xe4a5,\n    0x003f, 0xfca3, 0x003f, 0xdbbb, 0x003f, 0x003f, 0x003f, 0xf2ba,\n    0xe9fd, 0xd0ca, 0x003f, 0xf5d6, 0xd9c5, 0xe4b4, 0x003f, 0xeda7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeabd, 0xe6fe, 0x003f, 0xf7c4, 0xf5ad, 0x003f, 0xd9e0,\n    0x003f, 0x003f, 0x003f, 0xcab4, 0x003f, 0x003f, 0xf8e2, 0xcfc2,\n    0x003f, 0xecbe, 0x003f, 0x003f, 0x003f, 0xe5b4, 0xcdc8, 0xeec8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdc9, 0xf9b7, 0x003f,\n    /* 0x8300 .. 0x83ff */\n    0x003f, 0xf1e8, 0xd9f2, 0xdbf5, 0xcab5, 0xd9c6, 0x003f, 0x003f,\n    0x003f, 0xd8c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ab,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedbc, 0x003f, 0x003f, 0xd8d4, 0x003f, 0x003f, 0x003f, 0xdcda,\n    0x003f, 0xe2bc, 0x003f, 0x003f, 0xfced, 0xece0, 0xd2fe, 0x003f,\n    0xe9c7, 0xe6aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2f0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfabb,\n    0x003f, 0xf5ae, 0xfbaa, 0x003f, 0x003f, 0x003f, 0x003f, 0xecfb,\n    0x003f, 0xecbf, 0xfcd8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd4e5, 0x003f, 0x003f, 0x003f, 0xf9c3,\n    0x003f, 0x003f, 0x003f, 0xeee2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7e9, 0xedf6, 0x003f, 0x003f, 0x003f, 0xdeed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccec, 0x003f,\n    0xe3ee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8d4, 0x003f,\n    0x003f, 0x003f, 0xfaf8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xddb4, 0xe4b5, 0xd8b0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8d5, 0x003f, 0x003f,\n    0x003f, 0xf4ea, 0x003f, 0x003f, 0x003f, 0xceb9, 0x003f, 0x003f,\n    0x003f, 0xd6e1, 0xcfd2, 0x003f, 0xd0b6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcea2, 0x003f, 0x003f, 0xf3ee, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf3f8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdccc, 0x003f, 0xd0cb, 0x003f, 0x003f, 0x003f, 0xfca4,\n    0xcdca, 0xd7d4, 0xdea3, 0x003f, 0xe4e0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeec9, 0x003f, 0x003f, 0x003f, 0xe2dd, 0x003f, 0x003f,\n    /* 0x8400 .. 0x84ff */\n    0x003f, 0x003f, 0x003f, 0xf5fe, 0xd4ac, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5d1, 0x003f, 0xd8f0, 0xf8c3, 0xead7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf5d7, 0x003f, 0x003f, 0xd8bf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfdc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xebad, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5aa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe7a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeeca,\n    0x003f, 0x003f, 0x003f, 0xcae7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8e3, 0x003f, 0xd4dd, 0x003f, 0x003f, 0xead8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbd9, 0xedf7, 0x003f, 0x003f, 0xe5b5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0ad, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2bd, 0x003f, 0x003f, 0x003f, 0xe3c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9d5, 0x003f, 0x003f, 0xdfaa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdbbc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1fa, 0x003f, 0x003f, 0xe5b6, 0xf3ef, 0x003f, 0x003f, 0xfbda,\n    0xe1e0, 0x003f, 0xd9ac, 0x003f, 0xf5eb, 0x003f, 0xe0b6, 0x003f,\n    0x003f, 0xe9c8, 0x003f, 0xcbcf, 0x003f, 0xe3c9, 0x003f, 0x003f,\n    0x003f, 0xdeee, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdcef, 0x003f, 0xd6a5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe2f1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6fe, 0x003f, 0x003f, 0x003f,\n    /* 0x8500 .. 0x85ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9a1, 0x003f, 0xd8c0, 0xdcdb, 0x003f, 0x003f, 0xedbd,\n    0xdfb8, 0x003f, 0xeaa5, 0x003f, 0x003f, 0x003f, 0xd7ad, 0x003f,\n    0x003f, 0xf3f9, 0x003f, 0xedf8, 0x003f, 0xf5c7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe1ca, 0xebe3, 0x003f, 0xf2de,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8cc, 0x003f, 0xead9,\n    0x003f, 0xd3c6, 0x003f, 0xdbe6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf5af, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe9fe, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfbb6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2f2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcff2, 0xf7b9, 0xd9f3, 0x003f, 0x003f, 0xe1cb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdadd, 0x003f, 0x003f, 0xdab9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebfb,\n    0x003f, 0xcbb9, 0x003f, 0x003f, 0xedf9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0e0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c0, 0x003f,\n    0xfdbc, 0xdfb1, 0xe3ef, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a3,\n    0xfdb9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdcb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xedbe, 0x003f, 0x003f, 0x003f, 0xd5c0, 0xe3f0, 0xedfa,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd5ed, 0xe7dd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4f6, 0xe5b7, 0x003f, 0x003f,\n    0x003f, 0xdbe7, 0xe2bf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeecb,\n    0x003f, 0x003f, 0xd7f4, 0xf0dd, 0x003f, 0x003f, 0x003f, 0xceab,\n    /* 0x8600 .. 0x86ff */\n    0x003f, 0x003f, 0xe7de, 0x003f, 0x003f, 0x003f, 0xd6d6, 0xe1cc,\n    0x003f, 0x003f, 0xe8b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5ee, 0xdca2,\n    0x003f, 0x003f, 0xe0d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbdb, 0x003f,\n    0xf9cb, 0x003f, 0x003f, 0x003f, 0xcbf3, 0xf4a5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfac8, 0xd6d7, 0x003f, 0xe9e5, 0xfbdc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfbf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdaa5, 0x003f, 0xdbbd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xece2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcdf7, 0xf0de, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf6c9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeef,\n    0x003f, 0x003f, 0x003f, 0xd3b1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfcee, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe8c3, 0x003f, 0xf1c8, 0x003f, 0x003f, 0x003f, 0xcef1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2f4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4b6, 0x003f,\n    /* 0x8700 .. 0x87ff */\n    0xf5b9, 0x003f, 0xdcf0, 0xe3f1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe8a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2bb, 0x003f, 0xdea4, 0x003f, 0xdacc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcae9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3da, 0x003f, 0xfcd9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeada,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf9c4, 0x003f,\n    0xe3a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfbdd, 0x003f, 0xefca, 0x003f,\n    0xe8c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebd7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9ad,\n    0x003f, 0x003f, 0xfbab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6de, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdaf6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0d1, 0x003f, 0x003f, 0xe9a8,\n    0x003f, 0x003f, 0xf5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfaaf, 0x003f, 0xebfc, 0x003f, 0x003f, 0xe0ea, 0x003f,\n    /* 0x8800 .. 0x88ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3b2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5c5,\n    0x003f, 0x003f, 0xf1e3, 0xd5ee, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdcc, 0x003f, 0x003f, 0x003f, 0x003f, 0xedd9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8c1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfaec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1eb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfabc, 0xe6e2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfae5, 0xe2fa, 0x003f, 0x003f, 0x003f, 0xcab6,\n    0x003f, 0xe4b7, 0x003f, 0xeadb, 0x003f, 0xf5fa, 0x003f, 0x003f,\n    0x003f, 0xfbac, 0xcfc3, 0xebfd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf8fa, 0x003f, 0x003f, 0xdfb9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe1f1, 0x003f, 0xd2a4, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5fb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0da, 0xd0db,\n    0x003f, 0xeabe, 0xd9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcab7, 0x003f, 0x003f, 0xd3e7, 0x003f, 0xf8e5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd3b2, 0x003f, 0x003f, 0x003f, 0xe2c0, 0xf2df,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcde5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9ac, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdcd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeeae, 0xd6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7ea,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe7e0, 0xebae, 0x003f, 0x003f,\n    0x003f, 0xcfd9, 0x003f, 0x003f, 0xdccd, 0xedfb, 0x003f, 0xdef0,\n    0x003f, 0xd7eb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdfd7, 0xdbd0, 0xdbd1, 0x003f, 0x003f,\n    0xd5a3, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0b2, 0x003f, 0x003f,\n    /* 0x8900 .. 0x89ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdcdc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcae8, 0x003f, 0xf8e6, 0xdcce, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xeadc, 0xdbd2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9b3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf7db, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3a8, 0x003f,\n    0xd7ae, 0x003f, 0x003f, 0xe0e1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcbba, 0x003f, 0x003f, 0xe5d1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0dc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd5c1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe3a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a4,\n    0x003f, 0xe9a9, 0x003f, 0xd3c7, 0x003f, 0x003f, 0xdcdd, 0xf8ae,\n    0x003f, 0x003f, 0x003f, 0xccb8, 0x003f, 0x003f, 0x003f, 0xd0ae,\n    0x003f, 0x003f, 0x003f, 0xd8f2, 0x003f, 0x003f, 0xe3ca, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd4ad, 0xf6d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd0cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcac6, 0x003f, 0x003f, 0xd5c2, 0x003f, 0x003f,\n    0xceba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcac7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfab0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdfd8, 0x003f, 0x003f, 0x003f,\n    0xf5ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8a00 .. 0x8aff */\n    0xe5eb, 0x003f, 0xeff4, 0xddb5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcdaa, 0x003f, 0xe3f2, 0x003f, 0xfbf7, 0x003f, 0xf7d0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfdba, 0x003f, 0x003f, 0xfde1, 0xf6fe,\n    0xd1c0, 0x003f, 0x003f, 0xe8c5, 0x003f, 0xe4b8, 0x003f, 0xe1e8,\n    0x003f, 0x003f, 0x003f, 0xccc1, 0x003f, 0xd2ed, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbbe, 0x003f, 0x003f, 0xe0e2, 0x003f, 0x003f,\n    0x003f, 0xfac9, 0x003f, 0x003f, 0xe1cd, 0x003f, 0xcab8, 0x003f,\n    0x003f, 0x003f, 0xf2e0, 0xf1c9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdef1, 0x003f, 0x003f, 0x003f, 0xf0df, 0xf8c4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeecc, 0x003f, 0x003f, 0xdef2, 0x003f,\n    0xe7c9, 0x003f, 0xe2f3, 0xe7e1, 0x003f, 0x003f, 0xe3cb, 0x003f,\n    0x003f, 0xe3cc, 0x003f, 0x003f, 0x003f, 0xcff8, 0xefac, 0x003f,\n    0xfdfe, 0xfca5, 0xfab1, 0xdfd9, 0x003f, 0xe0d2, 0x003f, 0x003f,\n    0x003f, 0xf4da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1ca, 0x003f, 0xcea3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2bc, 0xece3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe0a5, 0x003f, 0xf7ab, 0x003f, 0x003f,\n    0xebaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5de, 0x003f,\n    0xe1a4, 0xcdab, 0x003f, 0xd9f4, 0xe8a6, 0xcdce, 0xe1e9, 0x003f,\n    0xfcef, 0x003f, 0xe0e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2c1, 0x003f, 0xcea4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdea6, 0x003f, 0x003f, 0xebfe, 0x003f, 0xebdd, 0xf0e0,\n    0x003f, 0x003f, 0xf4db, 0x003f, 0xe2f4, 0x003f, 0x003f, 0xd3c8,\n    0x003f, 0x003f, 0x003f, 0xf4eb, 0x003f, 0xeeb5, 0x003f, 0xf5d8,\n    0x003f, 0x003f, 0xd5df, 0x003f, 0x003f, 0x003f, 0xd6e5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xebb0, 0xf4e3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe3cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f4, 0xfab2,\n    0x003f, 0x003f, 0xeff5, 0xcadf, 0x003f, 0xebb1, 0xedbf, 0x003f,\n    0x003f, 0xfdc9, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4a6, 0xf9a4,\n    0xf0b3, 0x003f, 0xe5ec, 0x003f, 0x003f, 0x003f, 0xd1e7, 0x003f,\n    /* 0x8b00 .. 0x8bff */\n    0xd9c7, 0xe4d7, 0xeadd, 0x003f, 0xd4f7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaba, 0x003f,\n    0xdacd, 0x003f, 0x003f, 0x003f, 0xf9cc, 0x003f, 0xe1da, 0xdbbf,\n    0x003f, 0xccc5, 0xecd0, 0xcbbb, 0x003f, 0xdef3, 0x003f, 0x003f,\n    0xe9aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9c8, 0x003f, 0x003f, 0xeee3, 0xd7bd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcfc4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd0cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfca6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf1fb, 0x003f, 0x003f, 0x003f, 0x003f, 0xfdd2, 0xd1c1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe3db, 0x003f, 0xd3c9, 0x003f, 0xdccf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcced, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdea7, 0x003f, 0x003f, 0xe6bb,\n    0xeca1, 0x003f, 0x003f, 0x003f, 0xccb9, 0x003f, 0x003f, 0xfbde,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7e2, 0x003f, 0x003f,\n    0xd4c1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdca8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2c2, 0x003f, 0xf3d8, 0xe5d3, 0x003f, 0x003f, 0xf3d9, 0x003f,\n    0x003f, 0x003f, 0xf3c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8c00 .. 0x8cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcddb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdac,\n    0x003f, 0xfcc3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e7, 0x003f,\n    0xd1c2, 0x003f, 0xf9a5, 0x003f, 0xe8d5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3ce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd4ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfda, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfbdf, 0xe7e3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8fb, 0xe3cf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf5b0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8e7, 0x003f, 0xd9c9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8af, 0xeff6, 0x003f,\n    0xddb6, 0xeeaf, 0xcdf8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdeb8,\n    0xfca7, 0xf7fc, 0xf7b1, 0xcebb, 0xf4a1, 0x003f, 0x003f, 0xeecd,\n    0xe1ae, 0x003f, 0x003f, 0xecc3, 0xcffe, 0x003f, 0xf8bf, 0xd8e2,\n    0xd3e8, 0x003f, 0x003f, 0xdea8, 0xf4e4, 0xecc2, 0x003f, 0xd9f5,\n    0xf9c5, 0xddd3, 0xd6f1, 0xecfc, 0xfcf0, 0x003f, 0x003f, 0xedc0,\n    0xcab9, 0x003f, 0xeee4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf2e1, 0x003f, 0xdeb9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd6f2, 0x003f, 0xdef4, 0x003f, 0xdfdb, 0x003f,\n    0xdbd3, 0x003f, 0xfae7, 0xd8e3, 0xf4c1, 0x003f, 0xddb7, 0x003f,\n    0x003f, 0x003f, 0xf2f5, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6f3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xddb8, 0xcfc5, 0xdfdf, 0x003f, 0x003f,\n    /* 0x8d00 .. 0x8dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf2be, 0xf6a1, 0x003f, 0xebcb,\n    0xf1fc, 0x003f, 0xf3c7, 0x003f, 0x003f, 0xe0eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xedfc, 0x003f, 0x003f, 0xe1db, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeee5, 0x003f, 0xdef5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfad3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1cb, 0x003f, 0x003f, 0xd0af, 0xddb9, 0x003f, 0x003f, 0xd1c3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5b1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xeac6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0e1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf6ac, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5d9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0eb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xddba, 0x003f, 0x003f, 0x003f, 0xf2bf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf7c5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdba2, 0xf2f6, 0x003f, 0x003f, 0xcaba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf7f5, 0x003f, 0xcbe5, 0x003f, 0x003f,\n    0x003f, 0xeee6, 0x003f, 0xe0d3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcea5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6d8,\n    0x003f, 0x003f, 0x003f, 0xd4af, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8e00 .. 0x8eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9c9, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3ce,\n    0xf4c2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xebb2, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1a2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xebb3, 0x003f, 0xf0b4, 0x003f, 0x003f, 0xcbf4,\n    0xd4b0, 0xf3b2, 0xfbb7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf5ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeee7,\n    0xf4b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf5ed, 0x003f, 0xcff3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf0e2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeece,\n    0x003f, 0x003f, 0xf1cc, 0x003f, 0x003f, 0xe5b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd7f5, 0xe3f3, 0xcfe5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfc6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf3b3, 0xe4d8, 0xcff9, 0xcfda, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf2e2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5ee, 0x003f, 0x003f, 0xcabb, 0x003f, 0x003f, 0xe3dc, 0x003f,\n    /* 0x8f00 .. 0x8fff */\n    0x003f, 0x003f, 0x003f, 0xcef2, 0x003f, 0xd6d9, 0x003f, 0x003f,\n    0x003f, 0xeeb0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf4e5, 0xd8c2, 0xdcd0, 0xccee, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5e0, 0xf6ca, 0xfdca, 0xd8d6, 0xf4cf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6a6, 0xdcbe,\n    0x003f, 0xdbd4, 0xd7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2fe,\n    0x003f, 0x003f, 0x003f, 0xf1cd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2c3, 0xdcde, 0x003f, 0xdcdf, 0x003f, 0x003f, 0xefad, 0xe6ab,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf9dd, 0xeabf, 0x003f, 0x003f,\n    0x003f, 0xefae, 0x003f, 0x003f, 0x003f, 0xf4d0, 0xcef3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6ac, 0x003f, 0xcede,\n    0x003f, 0x003f, 0xd5f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe3f4, 0xcdd0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5b8, 0x003f, 0x003f, 0xf7fd, 0x003f,\n    0xdca9, 0x003f, 0x003f, 0x003f, 0x003f, 0xdef6, 0x003f, 0xdcaa,\n    0xf2e3, 0xe9b4, 0xd2dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9e6, 0x003f, 0x003f, 0xe3f6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7ca, 0x003f,\n    0x003f, 0xd0ce, 0x003f, 0x003f, 0xdaf7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcabc, 0x003f,\n    0x003f, 0x003f, 0xeee8, 0xdade, 0x003f, 0xf2f7, 0x003f, 0x003f,\n    0xe2fb, 0x003f, 0xcca6, 0x003f, 0x003f, 0x003f, 0x003f, 0xdabb,\n    0x003f, 0xeee9, 0x003f, 0x003f, 0x003f, 0xf5da, 0x003f, 0x003f,\n    /* 0x9000 .. 0x90ff */\n    0xf7dc, 0xe1ea, 0xcec1, 0xd4b1, 0x003f, 0xfdb1, 0xe6bd, 0x003f,\n    0xfbad, 0x003f, 0x003f, 0xf8e7, 0x003f, 0xe1ce, 0x003f, 0xf7e2,\n    0xf5ef, 0xcfc7, 0x003f, 0x003f, 0xd4b2, 0xccef, 0x003f, 0xd4e8,\n    0x003f, 0xeecf, 0xf7d7, 0x003f, 0x003f, 0xe0a6, 0xd6c1, 0xe1dc,\n    0xf0e3, 0xf1e4, 0xdcf1, 0xd6a7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f5, 0x003f,\n    0x003f, 0xf1ce, 0xf2e4, 0x003f, 0x003f, 0xd0b0, 0x003f, 0x003f,\n    0xecef, 0x003f, 0x003f, 0x003f, 0xf9ba, 0x003f, 0xebb5, 0x003f,\n    0x003f, 0xd4ed, 0xe2c4, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e7,\n    0x003f, 0x003f, 0xebb4, 0xeaa1, 0x003f, 0xf8bc, 0xcea6, 0x003f,\n    0xf9c6, 0xfcda, 0x003f, 0xd4b3, 0xd3b9, 0xeade, 0x003f, 0x003f,\n    0x003f, 0xe9ab, 0x003f, 0x003f, 0xe1e1, 0xd3cf, 0xf4f6, 0x003f,\n    0xeac0, 0xe1cf, 0x003f, 0xccba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeeea, 0x003f, 0x003f, 0x003f, 0xf0e4, 0xf3b4, 0xd4ee,\n    0x003f, 0x003f, 0xf2c0, 0x003f, 0x003f, 0xf1e5, 0x003f, 0xf4c3,\n    0xe0d4, 0x003f, 0xebb6, 0x003f, 0xd7a1, 0xcbe8, 0x003f, 0xf9ad,\n    0xe9ad, 0xd8e4, 0xfab3, 0xe2c5, 0xfcbd, 0x003f, 0x003f, 0xecc4,\n    0xd8b1, 0x003f, 0xdcab, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5a4,\n    0x003f, 0xebe9, 0x003f, 0x003f, 0x003f, 0xe8bb, 0x003f, 0x003f,\n    0x003f, 0xd8d7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xfbae, 0xd1e1, 0x003f, 0x003f, 0xdbc0, 0x003f,\n    0xf5be, 0x003f, 0xdef7, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafb,\n    0xf7c6, 0xcfc8, 0x003f, 0x003f, 0x003f, 0xe1d0, 0x003f, 0x003f,\n    0xeed0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe9f4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5cd, 0x003f,\n    0x003f, 0xcfdb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xddbb, 0x003f, 0x003f, 0x003f, 0x003f, 0xceac, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9e8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4b4, 0x003f, 0x003f,\n    /* 0x9100 .. 0x91ff */\n    0x003f, 0x003f, 0xe4c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf5db, 0x003f, 0x003f, 0xfac1, 0x003f, 0x003f,\n    0x003f, 0xdea9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeff7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd3b3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xebb7, 0xeff8, 0xf5dc, 0xedcc, 0xdbd5, 0xf1cf, 0x003f,\n    0x003f, 0x003f, 0xf1d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf5b2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9ae, 0xd5ac, 0x003f, 0xe2c6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda3, 0x003f, 0xfbe5,\n    0xdfab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2f5,\n    0x003f, 0xf6ad, 0x003f, 0xf5b3, 0x003f, 0xf0b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe1a5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf5dd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeca2, 0xedfd, 0x003f, 0xf5b4, 0xfbb8,\n    0x003f, 0xdba3, 0x003f, 0x003f, 0xd6ca, 0xcbd9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe5d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fa,\n    0x003f, 0xebb8, 0x003f, 0xe0b7, 0xd7ec, 0xf1ec, 0xe5af, 0xd5e1,\n    0xd7ed, 0xd1d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1f2,\n    0xeff9, 0x003f, 0x003f, 0x003f, 0xddbc, 0xf6dc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0e5, 0x003f, 0x003f, 0x003f, 0xf4c4,\n    0x003f, 0x003f, 0xe9e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3fb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9200 .. 0x92ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4ef, 0x003f, 0x003f,\n    0xcca2, 0xf7fe, 0xdfbc, 0x003f, 0x003f, 0x003f, 0x003f, 0xebcd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe8ad, 0x003f, 0x003f, 0x003f, 0x003f, 0xefaf,\n    0xcba5, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbe9, 0x003f, 0x003f,\n    0x003f, 0xfae8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xccc6,\n    0x003f, 0x003f, 0x003f, 0xe6e7, 0x003f, 0x003f, 0xeac7, 0x003f,\n    0x003f, 0x003f, 0xdba4, 0x003f, 0xcfc9, 0xe2fc, 0xeffa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xebde, 0x003f, 0x003f, 0xf5c8, 0x003f, 0xd4de, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe0d5, 0x003f, 0xefb0, 0x003f, 0x003f, 0xe2c7, 0x003f,\n    0xd9af, 0x003f, 0x003f, 0x003f, 0xf9e7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7e5, 0x003f, 0x003f, 0xcfca, 0xe1d1,\n    0x003f, 0xe2c8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeffb, 0x003f, 0x003f, 0xfaf9,\n    0x003f, 0x003f, 0xdcf2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0a7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcbea, 0x003f, 0x003f, 0x003f, 0xcbbc, 0x003f, 0x003f, 0x003f,\n    /* 0x9300 .. 0x93ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd6e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5de, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5df, 0x003f, 0xeeb6, 0x003f, 0x003f, 0x003f, 0xe2f6, 0xd3ca,\n    0xeffc, 0xd1c4, 0xefb1, 0x003f, 0xd1c5, 0x003f, 0xd0de, 0x003f,\n    0xd9e1, 0x003f, 0x003f, 0xe0b8, 0x003f, 0x003f, 0xcdd1, 0xf3b9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe7cc, 0x003f, 0xd6a8, 0xcea7, 0x003f, 0xd4b5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4c8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd3b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebb9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6dd, 0x003f, 0xf1a3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xccc7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe9ca, 0x003f, 0xe1f0, 0x003f,\n    0x003f, 0x003f, 0xf5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbaf, 0x003f, 0x003f, 0x003f, 0xcbd1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfbe0, 0xf2e5, 0x003f, 0x003f,\n    0xecf0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0ec, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeeeb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9cb, 0x003f,\n    0x003f, 0xccf0, 0x003f, 0x003f, 0xd7af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9400 .. 0x94ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfcf5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0d6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xefb2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4d1, 0x003f, 0x003f,\n    0xf7a1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf1d1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcafc, 0xcafd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcece, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf3c8, 0x003f, 0xf3ba,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9500 .. 0x95ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xedfe,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdaa6, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8cd, 0x003f, 0xcbd2, 0x003f, 0x003f, 0x003f, 0xebce,\n    0x003f, 0xf9d8, 0xf9d9, 0xcae0, 0xdaca, 0x003f, 0x003f, 0x003f,\n    0xcba6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcac8, 0xf9ee, 0xdbec, 0x003f, 0x003f,\n    0xd0b1, 0x003f, 0x003f, 0x003f, 0x003f, 0xd5ef, 0x003f, 0x003f,\n    0x003f, 0xe6f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe7a2, 0xe4d9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4e1,\n    0x003f, 0x003f, 0xfcc4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf9ef, 0xcff4, 0xf7e6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcebc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf4c5, 0xdca3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9600 .. 0x96ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xddbd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf4c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf8a1, 0x003f, 0x003f, 0x003f, 0xe8d6, 0x003f,\n    0x003f, 0x003f, 0xdbc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf0e6, 0x003f, 0x003f, 0x003f, 0xe4b9,\n    0xf6ed, 0x003f, 0xf9ae, 0x003f, 0xddbe, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd7b0, 0xd8e8, 0xcbbd, 0x003f, 0x003f,\n    0xf9da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf8ce, 0xf9f0, 0xe0ed, 0xe3b3, 0xf4b3,\n    0x003f, 0x003f, 0xeac2, 0xf2e6, 0xf0b6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdbd6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xebe4, 0x003f, 0x003f, 0xf2e7, 0x003f, 0xd7d5, 0xd4b6, 0xf9e8,\n    0xd7c1, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5d5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9ea, 0xd7cc, 0x003f,\n    0x003f, 0x003f, 0xd3e9, 0xe2c9, 0x003f, 0xfcdb, 0xcdad, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xccb0, 0xeaa2, 0x003f, 0x003f,\n    0xe4f6, 0xd0c0, 0x003f, 0xf0b7, 0xeea1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd7f6, 0x003f, 0x003f, 0x003f, 0xe2ca,\n    0xe2cb, 0x003f, 0xfacf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xebdf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6cb,\n    0x003f, 0x003f, 0x003f, 0xf4b4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedcd, 0xe4d2, 0x003f, 0x003f, 0xeaa9, 0xe4ba, 0xf3a2, 0xcdd2,\n    0x003f, 0xf6cb, 0x003f, 0xf1e6, 0xedc1, 0xe8bc, 0xeed1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e7, 0xe2cc, 0x003f,\n    0x003f, 0xe4aa, 0x003f, 0xf5e1, 0xedda, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd7ee, 0xd1f1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe9eb, 0xe9ec, 0xe0e4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdaa7,\n    0xddd4, 0x003f, 0xeaa3, 0x003f, 0x003f, 0x003f, 0xd6c3, 0xd6f4,\n    0x003f, 0xdadf, 0x003f, 0xefb3, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9700 .. 0x97ff */\n    0xe2cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffd, 0xf2e8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xefc5, 0x003f, 0xe7e7, 0x003f, 0x003f, 0xd7fd, 0x003f,\n    0x003f, 0xe7ce, 0x003f, 0x003f, 0xdfdc, 0x003f, 0xf9c7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9f6,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdfac, 0x003f, 0xd6da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdca4, 0x003f, 0x003f, 0x003f, 0xf0b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd5fa, 0x003f, 0xe4f7, 0x003f, 0x003f, 0x003f,\n    0xd6c4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf4ec, 0x003f, 0x003f, 0x003f, 0x003f, 0xeffe, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0a1, 0x003f, 0xdeaa, 0x003f,\n    0x003f, 0xdabc, 0xd8fc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfad4, 0x003f, 0x003f, 0x003f, 0xece5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xfca8, 0x003f, 0x003f, 0xece6,\n    0x003f, 0x003f, 0xd8cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbb9, 0x003f, 0xe4d3, 0x003f, 0xcdf9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcfd3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcaea, 0x003f, 0x003f, 0xcfd4, 0x003f, 0xf8bd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4c7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeadf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf9db, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0xe1d2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeaa4, 0x003f, 0x003f, 0x003f, 0xfac2,\n    /* 0x9800 .. 0x98ff */\n    0xfbe1, 0xfaed, 0xf0a2, 0xccf1, 0x003f, 0xfaa3, 0xe2f7, 0x003f,\n    0xe2ce, 0x003f, 0xe9f5, 0x003f, 0xe1eb, 0x003f, 0x003f, 0x003f,\n    0xe7e8, 0xe8d7, 0xdaf8, 0xd4cb, 0x003f, 0x003f, 0x003f, 0xf7f6,\n    0xd6c5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd4e9, 0x003f, 0x003f,\n    0xfafa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xccf2, 0xf7dd, 0x003f, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcea8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf0b9, 0xe4fe, 0xe4c9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe4d4, 0x003f, 0x003f, 0x003f,\n    0xeac3, 0x003f, 0xefb4, 0x003f, 0x003f, 0x003f, 0xd7be, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfbe2, 0x003f, 0xcdd3,\n    0x003f, 0x003f, 0x003f, 0xefb5, 0x003f, 0x003f, 0x003f, 0xfae9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf9a6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfbd,\n    0x003f, 0xf7c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf8fd, 0x003f, 0x003f, 0xf8fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdeab, 0xdbe8, 0x003f, 0x003f, 0xe3dd,\n    0x003f, 0xe1e2, 0xd1c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf6d0, 0xebe6, 0xdaf9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecc7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdef8, 0xf8e9, 0xe3de, 0x003f,\n    /* 0x9900 .. 0x99ff */\n    0x003f, 0x003f, 0x003f, 0xcef5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfac3, 0xe5d7, 0x003f, 0xecc8, 0x003f, 0x003f, 0x003f,\n    0xf3c9, 0x003f, 0x003f, 0xe4bb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe6ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefb6, 0x003f,\n    0xdcbf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcebd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8c3, 0x003f, 0x003f,\n    0x003f, 0xd0cf, 0x003f, 0xcffa, 0xf3ca, 0xe0d7, 0x003f, 0x003f,\n    0x003f, 0xd1c7, 0xe9ae, 0x003f, 0xe8bd, 0x003f, 0x003f, 0xfac4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2cf, 0x003f,\n    0x003f, 0xfac5, 0x003f, 0x003f, 0x003f, 0xf9b8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdce0, 0x003f, 0x003f,\n    0xfbb0, 0x003f, 0x003f, 0x003f, 0xd8a9, 0xe5df, 0xf9a7, 0x003f,\n    0x003f, 0xf6ee, 0x003f, 0xf6cc, 0xe2f8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xecf1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdae0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf1d2, 0xd2cc, 0xcfcb, 0x003f, 0x003f, 0xcabd, 0x003f, 0x003f,\n    0x003f, 0xddbf, 0x003f, 0x003f, 0x003f, 0xf6ef, 0x003f, 0xdef9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfab4, 0x003f, 0x003f,\n    0x003f, 0xd5ad, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1e7,\n    /* 0x9a00 .. 0x9aff */\n    0x003f, 0xdebe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdcc0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd1c8, 0xd1c9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcbf6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd4f9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e2, 0xe1d3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8e9, 0x003f, 0x003f, 0xf8fe, 0x003f, 0xcfcc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfda4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcef6, 0x003f, 0xfad0,\n    0x003f, 0x003f, 0xccf3, 0xe6be, 0x003f, 0x003f, 0x003f, 0xf6ae,\n    0x003f, 0x003f, 0xd5f0, 0x003f, 0x003f, 0xd1ca, 0x003f, 0x003f,\n    0x003f, 0xfcbe, 0xd5f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcde9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfab5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2d0, 0xf4f7, 0x003f, 0x003f, 0x003f,\n    0xcdd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe7a3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdba5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9b00 .. 0x9bff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe2d1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a2,\n    0x003f, 0x003f, 0xf7e3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeaa6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd0a1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xceda, 0xfbeb, 0xdba6, 0xdbde, 0xd8e5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeae0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd8aa, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5e0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6db,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefc6, 0x003f,\n    0x003f, 0xf8ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4d5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcef7, 0x003f, 0x003f, 0xe0d8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd7ef, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4ed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcde6, 0x003f, 0x003f, 0x003f,\n    0xccf4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9c00 .. 0x9cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf5e3, 0x003f, 0x003f,\n    0xe4ca, 0x003f, 0xdce1, 0x003f, 0x003f, 0xf9c8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xfcbf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe8a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8c4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbbe,\n    0x003f, 0xdcae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7f7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0e8, 0x003f, 0xddc0,\n    0x003f, 0xcfcd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdcf3, 0xd9b0, 0x003f, 0xe6e9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9d00 .. 0x9dff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe4bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ec, 0x003f,\n    0xe4e5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfbf8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccbb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4bd, 0x003f, 0x003f,\n    0xcddc, 0xd9f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdddf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xedce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd9d0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe5a3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf9cd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfce,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf6af, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xfdd3, 0xebed, 0xd6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9e00 .. 0x9eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5a4, 0x003f, 0x003f, 0x003f, 0xd5b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6dd, 0x003f, 0x003f,\n    0x003f, 0xf9e9, 0x003f, 0x003f, 0x003f, 0xe7a4, 0x003f, 0xd6e3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd1cb, 0xd6e4, 0x003f, 0x003f, 0x003f, 0xd5f2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdefa, 0x003f, 0xd7f8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd8ea, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcfd5, 0xd8fd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd8ab, 0x003f, 0x003f, 0xfdcb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xfcdc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0a8, 0xd5f3, 0x003f,\n    0x003f, 0xfdd9, 0x003f, 0x003f, 0xcca3, 0x003f, 0x003f, 0x003f,\n    0xd9f9, 0x003f, 0x003f, 0xd3ea, 0xf5f5, 0x003f, 0xefc7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd3da, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdabd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9f00 .. 0x9fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe8a8,\n    0xdcaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf0a3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xcdd5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe0a9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdeac, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf0ba, 0xeeb1, 0x003f, 0x003f, 0xeeb2, 0x003f,\n    0x003f, 0x003f, 0xf6cd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xeed2,\n    0x003f, 0xd6c6, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe0e5,\n    0x003f, 0x003f, 0xf3bb, 0x003f, 0xe5e1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd7a3, 0x003f, 0x003f,\n    0xdbc2, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafe, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcfcf, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xac00 .. 0xacff */\n    0xb0a1, 0xb0a2, 0x8141, 0x8142, 0xb0a3, 0x8143, 0x8144, 0xb0a4,\n    0xb0a5, 0xb0a6, 0xb0a7, 0x8145, 0x8146, 0x8147, 0x8148, 0x8149,\n    0xb0a8, 0xb0a9, 0xb0aa, 0xb0ab, 0xb0ac, 0xb0ad, 0xb0ae, 0xb0af,\n    0x814a, 0xb0b0, 0xb0b1, 0xb0b2, 0xb0b3, 0xb0b4, 0x814b, 0x814c,\n    0xb0b5, 0x814d, 0x814e, 0x814f, 0xb0b6, 0x8150, 0x8151, 0x8152,\n    0x8153, 0x8154, 0x8155, 0x8156, 0xb0b7, 0xb0b8, 0x8157, 0xb0b9,\n    0xb0ba, 0xb0bb, 0x8158, 0x8159, 0x815a, 0x8161, 0x8162, 0x8163,\n    0xb0bc, 0xb0bd, 0x8164, 0x8165, 0xb0be, 0x8166, 0x8167, 0x8168,\n    0xb0bf, 0x8169, 0x816a, 0x816b, 0x816c, 0x816d, 0x816e, 0x816f,\n    0x8170, 0x8171, 0x8172, 0xb0c0, 0x8173, 0xb0c1, 0x8174, 0x8175,\n    0x8176, 0x8177, 0x8178, 0x8179, 0xb0c2, 0x817a, 0x8181, 0x8182,\n    0xb0c3, 0x8183, 0x8184, 0x8185, 0xb0c4, 0x8186, 0x8187, 0x8188,\n    0x8189, 0x818a, 0x818b, 0x818c, 0x818d, 0x818e, 0x818f, 0x8190,\n    0x8191, 0x8192, 0x8193, 0x8194, 0x8195, 0x8196, 0x8197, 0x8198,\n    0xb0c5, 0xb0c6, 0x8199, 0x819a, 0xb0c7, 0x819b, 0x819c, 0xb0c8,\n    0xb0c9, 0x819d, 0xb0ca, 0x819e, 0x819f, 0x81a0, 0x81a1, 0x81a2,\n    0xb0cb, 0xb0cc, 0x81a3, 0xb0cd, 0xb0ce, 0xb0cf, 0xb0d0, 0x81a4,\n    0x81a5, 0xb0d1, 0xb0d2, 0xb0d3, 0xb0d4, 0x81a6, 0x81a7, 0x81a8,\n    0xb0d5, 0x81a9, 0x81aa, 0x81ab, 0xb0d6, 0x81ac, 0x81ad, 0x81ae,\n    0x81af, 0x81b0, 0x81b1, 0x81b2, 0xb0d7, 0xb0d8, 0x81b3, 0xb0d9,\n    0xb0da, 0xb0db, 0x81b4, 0x81b5, 0x81b6, 0x81b7, 0x81b8, 0x81b9,\n    0xb0dc, 0xb0dd, 0xb0de, 0x81ba, 0xb0df, 0x81bb, 0x81bc, 0xb0e0,\n    0xb0e1, 0x81bd, 0x81be, 0x81bf, 0x81c0, 0x81c1, 0x81c2, 0x81c3,\n    0xb0e2, 0xb0e3, 0x81c4, 0xb0e4, 0xb0e5, 0xb0e6, 0x81c5, 0x81c6,\n    0x81c7, 0xb0e7, 0x81c8, 0x81c9, 0xb0e8, 0x81ca, 0x81cb, 0x81cc,\n    0xb0e9, 0x81cd, 0x81ce, 0x81cf, 0xb0ea, 0x81d0, 0x81d1, 0x81d2,\n    0x81d3, 0x81d4, 0x81d5, 0x81d6, 0x81d7, 0xb0eb, 0x81d8, 0xb0ec,\n    0x81d9, 0x81da, 0x81db, 0x81dc, 0x81dd, 0x81de, 0x81df, 0x81e0,\n    0xb0ed, 0xb0ee, 0x81e1, 0x81e2, 0xb0ef, 0x81e3, 0x81e4, 0xb0f0,\n    0xb0f1, 0x81e5, 0xb0f2, 0x81e6, 0xb0f3, 0x81e7, 0x81e8, 0xb0f4,\n    0xb0f5, 0xb0f6, 0x81e9, 0xb0f7, 0x81ea, 0xb0f8, 0xb0f9, 0x81eb,\n    0x81ec, 0x81ed, 0x81ee, 0x81ef, 0xb0fa, 0xb0fb, 0x81f0, 0x81f1,\n    /* 0xad00 .. 0xadff */\n    0xb0fc, 0x81f2, 0x81f3, 0x81f4, 0xb0fd, 0x81f5, 0xb0fe, 0x81f6,\n    0x81f7, 0x81f8, 0x81f9, 0x81fa, 0xb1a1, 0xb1a2, 0x81fb, 0xb1a3,\n    0x81fc, 0xb1a4, 0x81fd, 0x81fe, 0x8241, 0x8242, 0x8243, 0x8244,\n    0xb1a5, 0x8245, 0x8246, 0x8247, 0xb1a6, 0x8248, 0x8249, 0x824a,\n    0xb1a7, 0x824b, 0x824c, 0x824d, 0x824e, 0x824f, 0x8250, 0x8251,\n    0x8252, 0xb1a8, 0x8253, 0x8254, 0xb1a9, 0xb1aa, 0x8255, 0x8256,\n    0x8257, 0x8258, 0x8259, 0x825a, 0xb1ab, 0xb1ac, 0x8261, 0x8262,\n    0xb1ad, 0x8263, 0x8264, 0x8265, 0xb1ae, 0x8266, 0x8267, 0x8268,\n    0x8269, 0x826a, 0x826b, 0x826c, 0xb1af, 0xb1b0, 0x826d, 0xb1b1,\n    0x826e, 0xb1b2, 0x826f, 0x8270, 0x8271, 0x8272, 0x8273, 0x8274,\n    0xb1b3, 0x8275, 0x8276, 0x8277, 0xb1b4, 0x8278, 0x8279, 0x827a,\n    0xb1b5, 0x8281, 0x8282, 0x8283, 0x8284, 0x8285, 0x8286, 0x8287,\n    0x8288, 0xb1b6, 0x8289, 0xb1b7, 0x828a, 0x828b, 0x828c, 0x828d,\n    0x828e, 0x828f, 0x8290, 0x8291, 0xb1b8, 0xb1b9, 0x8292, 0x8293,\n    0xb1ba, 0x8294, 0x8295, 0xb1bb, 0xb1bc, 0xb1bd, 0xb1be, 0x8296,\n    0x8297, 0x8298, 0x8299, 0xb1bf, 0xb1c0, 0xb1c1, 0x829a, 0xb1c2,\n    0x829b, 0xb1c3, 0xb1c4, 0x829c, 0x829d, 0x829e, 0x829f, 0x82a0,\n    0xb1c5, 0xb1c6, 0x82a1, 0x82a2, 0xb1c7, 0x82a3, 0x82a4, 0x82a5,\n    0xb1c8, 0x82a6, 0x82a7, 0x82a8, 0x82a9, 0x82aa, 0x82ab, 0x82ac,\n    0x82ad, 0x82ae, 0x82af, 0x82b0, 0xb1c9, 0xb1ca, 0x82b1, 0x82b2,\n    0x82b3, 0x82b4, 0x82b5, 0x82b6, 0xb1cb, 0x82b7, 0x82b8, 0x82b9,\n    0x82ba, 0x82bb, 0x82bc, 0x82bd, 0x82be, 0x82bf, 0x82c0, 0x82c1,\n    0x82c2, 0x82c3, 0x82c4, 0x82c5, 0x82c6, 0x82c7, 0x82c8, 0xb1cc,\n    0x82c9, 0x82ca, 0x82cb, 0x82cc, 0x82cd, 0x82ce, 0x82cf, 0x82d0,\n    0xb1cd, 0xb1ce, 0x82d1, 0x82d2, 0xb1cf, 0x82d3, 0x82d4, 0x82d5,\n    0xb1d0, 0x82d6, 0x82d7, 0x82d8, 0x82d9, 0x82da, 0x82db, 0x82dc,\n    0xb1d1, 0xb1d2, 0x82dd, 0xb1d3, 0x82de, 0x82df, 0x82e0, 0x82e1,\n    0x82e2, 0x82e3, 0x82e4, 0x82e5, 0xb1d4, 0x82e6, 0x82e7, 0x82e8,\n    0xb1d5, 0x82e9, 0x82ea, 0x82eb, 0xb1d6, 0x82ec, 0x82ed, 0x82ee,\n    0x82ef, 0x82f0, 0x82f1, 0x82f2, 0x82f3, 0x82f4, 0x82f5, 0x82f6,\n    0x82f7, 0x82f8, 0x82f9, 0x82fa, 0x82fb, 0x82fc, 0x82fd, 0x82fe,\n    0xb1d7, 0xb1d8, 0x8341, 0x8342, 0xb1d9, 0x8343, 0x8344, 0xb1da,\n    /* 0xae00 .. 0xaeff */\n    0xb1db, 0xb1dc, 0x8345, 0x8346, 0x8347, 0x8348, 0x8349, 0x834a,\n    0xb1dd, 0xb1de, 0x834b, 0xb1df, 0x834c, 0xb1e0, 0x834d, 0x834e,\n    0x834f, 0x8350, 0x8351, 0x8352, 0xb1e1, 0x8353, 0x8354, 0x8355,\n    0x8356, 0x8357, 0x8358, 0x8359, 0x835a, 0x8361, 0x8362, 0x8363,\n    0x8364, 0x8365, 0x8366, 0x8367, 0x8368, 0x8369, 0x836a, 0x836b,\n    0x836c, 0x836d, 0x836e, 0x836f, 0x8370, 0x8371, 0x8372, 0x8373,\n    0xb1e2, 0xb1e3, 0x8374, 0x8375, 0xb1e4, 0x8376, 0x8377, 0xb1e5,\n    0xb1e6, 0x8378, 0xb1e7, 0x8379, 0x837a, 0x8381, 0x8382, 0x8383,\n    0xb1e8, 0xb1e9, 0x8384, 0xb1ea, 0x8385, 0xb1eb, 0xb1ec, 0x8386,\n    0x8387, 0x8388, 0xb1ed, 0x8389, 0xb1ee, 0xb1ef, 0xb1f0, 0x838a,\n    0xb1f1, 0x838b, 0x838c, 0x838d, 0xb1f2, 0x838e, 0xb1f3, 0x838f,\n    0x8390, 0x8391, 0x8392, 0x8393, 0xb1f4, 0xb1f5, 0x8394, 0xb1f6,\n    0xb1f7, 0xb1f8, 0x8395, 0x8396, 0x8397, 0xb1f9, 0x8398, 0x8399,\n    0xb1fa, 0xb1fb, 0x839a, 0x839b, 0xb1fc, 0x839c, 0x839d, 0x839e,\n    0xb1fd, 0x839f, 0x83a0, 0x83a1, 0x83a2, 0x83a3, 0x83a4, 0x83a5,\n    0xb1fe, 0xb2a1, 0x83a6, 0xb2a2, 0xb2a3, 0xb2a4, 0x83a7, 0x83a8,\n    0x83a9, 0x83aa, 0x83ab, 0x83ac, 0xb2a5, 0xb2a6, 0x83ad, 0x83ae,\n    0x83af, 0x83b0, 0x83b1, 0x83b2, 0xb2a7, 0x83b3, 0x83b4, 0x83b5,\n    0x83b6, 0x83b7, 0x83b8, 0x83b9, 0x83ba, 0x83bb, 0x83bc, 0x83bd,\n    0x83be, 0x83bf, 0x83c0, 0x83c1, 0x83c2, 0x83c3, 0x83c4, 0x83c5,\n    0x83c6, 0x83c7, 0x83c8, 0x83c9, 0x83ca, 0x83cb, 0x83cc, 0x83cd,\n    0x83ce, 0x83cf, 0x83d0, 0x83d1, 0x83d2, 0x83d3, 0x83d4, 0x83d5,\n    0x83d6, 0x83d7, 0x83d8, 0x83d9, 0x83da, 0x83db, 0x83dc, 0x83dd,\n    0x83de, 0x83df, 0x83e0, 0x83e1, 0xb2a8, 0xb2a9, 0xb2aa, 0x83e2,\n    0xb2ab, 0x83e3, 0x83e4, 0x83e5, 0xb2ac, 0x83e6, 0x83e7, 0x83e8,\n    0x83e9, 0x83ea, 0x83eb, 0x83ec, 0xb2ad, 0xb2ae, 0x83ed, 0xb2af,\n    0xb2b0, 0xb2b1, 0x83ee, 0x83ef, 0x83f0, 0x83f1, 0x83f2, 0x83f3,\n    0xb2b2, 0xb2b3, 0x83f4, 0x83f5, 0xb2b4, 0x83f6, 0x83f7, 0x83f8,\n    0x83f9, 0x83fa, 0x83fb, 0x83fc, 0x83fd, 0x83fe, 0x8441, 0x8442,\n    0xb2b5, 0x8443, 0x8444, 0xb2b6, 0x8445, 0xb2b7, 0x8446, 0x8447,\n    0x8448, 0x8449, 0x844a, 0x844b, 0xb2b8, 0x844c, 0x844d, 0x844e,\n    0xb2b9, 0x844f, 0x8450, 0x8451, 0xb2ba, 0x8452, 0x8453, 0x8454,\n    /* 0xaf00 .. 0xafff */\n    0x8455, 0x8456, 0x8457, 0x8458, 0x8459, 0x845a, 0x8461, 0xb2bb,\n    0xb2bc, 0x8462, 0x8463, 0x8464, 0x8465, 0xb2bd, 0x8466, 0x8467,\n    0xb2be, 0x8468, 0x8469, 0x846a, 0x846b, 0x846c, 0x846d, 0x846e,\n    0x846f, 0x8470, 0x8471, 0x8472, 0x8473, 0x8474, 0x8475, 0x8476,\n    0x8477, 0x8478, 0x8479, 0x847a, 0x8481, 0x8482, 0x8483, 0x8484,\n    0x8485, 0x8486, 0x8487, 0x8488, 0xb2bf, 0xb2c0, 0x8489, 0x848a,\n    0xb2c1, 0x848b, 0xb2c2, 0x848c, 0xb2c3, 0x848d, 0x848e, 0x848f,\n    0x8490, 0x8491, 0x8492, 0x8493, 0xb2c4, 0xb2c5, 0x8494, 0xb2c6,\n    0x8495, 0xb2c7, 0xb2c8, 0xb2c9, 0x8496, 0x8497, 0x8498, 0x8499,\n    0xb2ca, 0xb2cb, 0x849a, 0x849b, 0x849c, 0x849d, 0x849e, 0x849f,\n    0xb2cc, 0x84a0, 0x84a1, 0x84a2, 0x84a3, 0x84a4, 0x84a5, 0x84a6,\n    0x84a7, 0x84a8, 0x84a9, 0x84aa, 0xb2cd, 0xb2ce, 0x84ab, 0x84ac,\n    0x84ad, 0x84ae, 0x84af, 0x84b0, 0xb2cf, 0xb2d0, 0x84b1, 0x84b2,\n    0x84b3, 0x84b4, 0x84b5, 0x84b6, 0x84b7, 0x84b8, 0x84b9, 0x84ba,\n    0x84bb, 0x84bc, 0x84bd, 0x84be, 0x84bf, 0x84c0, 0x84c1, 0x84c2,\n    0x84c3, 0xb2d1, 0x84c4, 0x84c5, 0x84c6, 0x84c7, 0x84c8, 0x84c9,\n    0xb2d2, 0x84ca, 0x84cb, 0x84cc, 0xb2d3, 0x84cd, 0x84ce, 0x84cf,\n    0xb2d4, 0x84d0, 0x84d1, 0x84d2, 0x84d3, 0x84d4, 0x84d5, 0x84d6,\n    0xb2d5, 0xb2d6, 0x84d7, 0x84d8, 0x84d9, 0xb2d7, 0x84da, 0x84db,\n    0x84dc, 0x84dd, 0x84de, 0x84df, 0xb2d8, 0x84e0, 0x84e1, 0x84e2,\n    0x84e3, 0x84e4, 0x84e5, 0x84e6, 0x84e7, 0x84e8, 0x84e9, 0x84ea,\n    0x84eb, 0x84ec, 0x84ed, 0x84ee, 0x84ef, 0x84f0, 0x84f1, 0x84f2,\n    0x84f3, 0x84f4, 0x84f5, 0x84f6, 0x84f7, 0x84f8, 0x84f9, 0x84fa,\n    0xb2d9, 0xb2da, 0x84fb, 0x84fc, 0xb2db, 0x84fd, 0x84fe, 0x8541,\n    0xb2dc, 0x8542, 0x8543, 0x8544, 0x8545, 0x8546, 0x8547, 0xb2dd,\n    0xb2de, 0xb2df, 0x8548, 0xb2e0, 0x8549, 0xb2e1, 0xb2e2, 0x854a,\n    0x854b, 0x854c, 0x854d, 0x854e, 0xb2e3, 0x854f, 0x8550, 0x8551,\n    0x8552, 0x8553, 0x8554, 0x8555, 0xb2e4, 0x8556, 0x8557, 0x8558,\n    0x8559, 0x855a, 0x8561, 0x8562, 0x8563, 0x8564, 0x8565, 0x8566,\n    0xb2e5, 0xb2e6, 0x8567, 0x8568, 0x8569, 0x856a, 0x856b, 0x856c,\n    0xb2e7, 0xb2e8, 0x856d, 0x856e, 0xb2e9, 0x856f, 0x8570, 0x8571,\n    0xb2ea, 0x8572, 0x8573, 0x8574, 0x8575, 0x8576, 0x8577, 0x8578,\n    /* 0xb000 .. 0xb0ff */\n    0xb2eb, 0xb2ec, 0x8579, 0x857a, 0xb2ed, 0x8581, 0x8582, 0x8583,\n    0x8584, 0x8585, 0x8586, 0x8587, 0xb2ee, 0x8588, 0x8589, 0x858a,\n    0xb2ef, 0x858b, 0x858c, 0x858d, 0xb2f0, 0x858e, 0x858f, 0x8590,\n    0x8591, 0x8592, 0x8593, 0x8594, 0xb2f1, 0xb2f2, 0x8595, 0x8596,\n    0x8597, 0x8598, 0x8599, 0x859a, 0x859b, 0x859c, 0x859d, 0x859e,\n    0xb2f3, 0x859f, 0x85a0, 0x85a1, 0x85a2, 0x85a3, 0x85a4, 0x85a5,\n    0x85a6, 0x85a7, 0x85a8, 0x85a9, 0x85aa, 0x85ab, 0x85ac, 0x85ad,\n    0x85ae, 0x85af, 0x85b0, 0x85b1, 0x85b2, 0x85b3, 0x85b4, 0x85b5,\n    0x85b6, 0x85b7, 0x85b8, 0x85b9, 0xb2f4, 0xb2f5, 0x85ba, 0x85bb,\n    0xb2f6, 0x85bc, 0xb2f7, 0x85bd, 0xb2f8, 0x85be, 0xb2f9, 0x85bf,\n    0x85c0, 0x85c1, 0x85c2, 0xb2fa, 0xb2fb, 0xb2fc, 0x85c3, 0xb2fd,\n    0x85c4, 0xb2fe, 0x85c5, 0x85c6, 0x85c7, 0xb3a1, 0x85c8, 0x85c9,\n    0x85ca, 0x85cb, 0x85cc, 0x85cd, 0x85ce, 0x85cf, 0x85d0, 0x85d1,\n    0x85d2, 0x85d3, 0x85d4, 0x85d5, 0x85d6, 0x85d7, 0x85d8, 0x85d9,\n    0x85da, 0x85db, 0x85dc, 0x85dd, 0x85de, 0x85df, 0x85e0, 0x85e1,\n    0x85e2, 0x85e3, 0x85e4, 0x85e5, 0xb3a2, 0xb3a3, 0x85e6, 0x85e7,\n    0xb3a4, 0x85e8, 0x85e9, 0x85ea, 0xb3a5, 0x85eb, 0x85ec, 0x85ed,\n    0x85ee, 0x85ef, 0x85f0, 0x85f1, 0xb3a6, 0xb3a7, 0x85f2, 0xb3a8,\n    0x85f3, 0xb3a9, 0x85f4, 0x85f5, 0x85f6, 0x85f7, 0x85f8, 0x85f9,\n    0xb3aa, 0xb3ab, 0xb3ac, 0x85fa, 0xb3ad, 0x85fb, 0x85fc, 0xb3ae,\n    0xb3af, 0xb3b0, 0xb3b1, 0x85fd, 0x85fe, 0x8641, 0x8642, 0x8643,\n    0xb3b2, 0xb3b3, 0x8644, 0xb3b4, 0xb3b5, 0xb3b6, 0xb3b7, 0xb3b8,\n    0x8645, 0xb3b9, 0x8646, 0xb3ba, 0xb3bb, 0xb3bc, 0x8647, 0x8648,\n    0xb3bd, 0x8649, 0x864a, 0x864b, 0xb3be, 0x864c, 0x864d, 0x864e,\n    0x864f, 0x8650, 0x8651, 0x8652, 0xb3bf, 0xb3c0, 0x8653, 0xb3c1,\n    0xb3c2, 0xb3c3, 0x8654, 0x8655, 0x8656, 0x8657, 0x8658, 0x8659,\n    0xb3c4, 0xb3c5, 0x865a, 0x8661, 0xb3c6, 0x8662, 0x8663, 0x8664,\n    0xb3c7, 0x8665, 0x8666, 0x8667, 0x8668, 0x8669, 0x866a, 0x866b,\n    0xb3c8, 0x866c, 0x866d, 0x866e, 0x866f, 0xb3c9, 0x8670, 0x8671,\n    0x8672, 0x8673, 0x8674, 0x8675, 0x8676, 0x8677, 0x8678, 0x8679,\n    0x867a, 0x8681, 0x8682, 0x8683, 0x8684, 0x8685, 0x8686, 0x8687,\n    0x8688, 0x8689, 0x868a, 0x868b, 0x868c, 0x868d, 0x868e, 0x868f,\n    /* 0xb100 .. 0xb1ff */\n    0x8690, 0x8691, 0x8692, 0x8693, 0x8694, 0x8695, 0x8696, 0x8697,\n    0xb3ca, 0xb3cb, 0x8698, 0xb3cc, 0xb3cd, 0x8699, 0x869a, 0x869b,\n    0xb3ce, 0x869c, 0xb3cf, 0xb3d0, 0x869d, 0x869e, 0x869f, 0x86a0,\n    0xb3d1, 0xb3d2, 0x86a1, 0xb3d3, 0xb3d4, 0xb3d5, 0x86a2, 0x86a3,\n    0x86a4, 0x86a5, 0x86a6, 0xb3d6, 0xb3d7, 0xb3d8, 0x86a7, 0x86a8,\n    0xb3d9, 0x86a9, 0x86aa, 0x86ab, 0xb3da, 0x86ac, 0x86ad, 0x86ae,\n    0x86af, 0x86b0, 0x86b1, 0x86b2, 0xb3db, 0xb3dc, 0x86b3, 0xb3dd,\n    0xb3de, 0xb3df, 0x86b4, 0x86b5, 0x86b6, 0x86b7, 0x86b8, 0x86b9,\n    0xb3e0, 0xb3e1, 0x86ba, 0x86bb, 0xb3e2, 0x86bc, 0x86bd, 0x86be,\n    0xb3e3, 0x86bf, 0x86c0, 0x86c1, 0x86c2, 0x86c3, 0x86c4, 0x86c5,\n    0xb3e4, 0xb3e5, 0x86c6, 0x86c7, 0xb3e6, 0xb3e7, 0x86c8, 0x86c9,\n    0xb3e8, 0x86ca, 0x86cb, 0x86cc, 0xb3e9, 0x86cd, 0x86ce, 0x86cf,\n    0xb3ea, 0x86d0, 0x86d1, 0x86d2, 0x86d3, 0x86d4, 0x86d5, 0x86d6,\n    0x86d7, 0x86d8, 0x86d9, 0x86da, 0x86db, 0x86dc, 0x86dd, 0x86de,\n    0x86df, 0x86e0, 0x86e1, 0x86e2, 0x86e3, 0x86e4, 0x86e5, 0x86e6,\n    0xb3eb, 0xb3ec, 0x86e7, 0x86e8, 0xb3ed, 0x86e9, 0x86ea, 0x86eb,\n    0xb3ee, 0x86ec, 0xb3ef, 0x86ed, 0x86ee, 0x86ef, 0x86f0, 0x86f1,\n    0xb3f0, 0xb3f1, 0x86f2, 0xb3f2, 0x86f3, 0xb3f3, 0x86f4, 0x86f5,\n    0x86f6, 0x86f7, 0xb3f4, 0xb3f5, 0xb3f6, 0x86f8, 0x86f9, 0x86fa,\n    0xb3f7, 0x86fb, 0x86fc, 0x86fd, 0xb3f8, 0x86fe, 0x8741, 0x8742,\n    0x8743, 0x8744, 0x8745, 0x8746, 0x8747, 0x8748, 0x8749, 0x874a,\n    0xb3f9, 0x874b, 0x874c, 0x874d, 0x874e, 0x874f, 0x8750, 0x8751,\n    0x8752, 0x8753, 0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759,\n    0x875a, 0x8761, 0x8762, 0x8763, 0x8764, 0x8765, 0x8766, 0x8767,\n    0x8768, 0x8769, 0x876a, 0x876b, 0x876c, 0x876d, 0x876e, 0x876f,\n    0x8770, 0x8771, 0x8772, 0x8773, 0xb3fa, 0x8774, 0x8775, 0x8776,\n    0xb3fb, 0x8777, 0x8778, 0x8779, 0xb3fc, 0x877a, 0x8781, 0x8782,\n    0x8783, 0x8784, 0x8785, 0x8786, 0xb3fd, 0xb3fe, 0x8787, 0xb4a1,\n    0x8788, 0x8789, 0x878a, 0x878b, 0x878c, 0x878d, 0x878e, 0x878f,\n    0xb4a2, 0xb4a3, 0x8790, 0x8791, 0xb4a4, 0x8792, 0x8793, 0x8794,\n    0xb4a5, 0x8795, 0x8796, 0x8797, 0x8798, 0x8799, 0x879a, 0x879b,\n    0x879c, 0xb4a6, 0x879d, 0xb4a7, 0x879e, 0xb4a8, 0x879f, 0x87a0,\n    /* 0xb200 .. 0xb2ff */\n    0x87a1, 0x87a2, 0x87a3, 0x87a4, 0xb4a9, 0xb4aa, 0x87a5, 0x87a6,\n    0xb4ab, 0x87a7, 0x87a8, 0xb4ac, 0xb4ad, 0x87a9, 0x87aa, 0x87ab,\n    0x87ac, 0x87ad, 0x87ae, 0x87af, 0xb4ae, 0xb4af, 0x87b0, 0xb4b0,\n    0x87b1, 0xb4b1, 0x87b2, 0x87b3, 0x87b4, 0x87b5, 0x87b6, 0x87b7,\n    0xb4b2, 0x87b8, 0x87b9, 0x87ba, 0x87bb, 0x87bc, 0x87bd, 0x87be,\n    0x87bf, 0x87c0, 0x87c1, 0x87c2, 0x87c3, 0x87c4, 0x87c5, 0x87c6,\n    0x87c7, 0x87c8, 0x87c9, 0x87ca, 0xb4b3, 0x87cb, 0x87cc, 0x87cd,\n    0x87ce, 0x87cf, 0x87d0, 0x87d1, 0xb4b4, 0x87d2, 0x87d3, 0x87d4,\n    0x87d5, 0x87d6, 0x87d7, 0x87d8, 0x87d9, 0x87da, 0x87db, 0x87dc,\n    0x87dd, 0x87de, 0x87df, 0x87e0, 0x87e1, 0x87e2, 0x87e3, 0x87e4,\n    0x87e5, 0x87e6, 0x87e7, 0x87e8, 0x87e9, 0x87ea, 0x87eb, 0x87ec,\n    0xb4b5, 0x87ed, 0x87ee, 0x87ef, 0xb4b6, 0x87f0, 0x87f1, 0x87f2,\n    0xb4b7, 0x87f3, 0x87f4, 0x87f5, 0x87f6, 0x87f7, 0x87f8, 0x87f9,\n    0xb4b8, 0xb4b9, 0x87fa, 0x87fb, 0x87fc, 0x87fd, 0x87fe, 0x8841,\n    0x8842, 0x8843, 0x8844, 0x8845, 0xb4ba, 0xb4bb, 0x8846, 0x8847,\n    0x8848, 0x8849, 0x884a, 0x884b, 0xb4bc, 0x884c, 0x884d, 0x884e,\n    0x884f, 0x8850, 0x8851, 0x8852, 0xb4bd, 0xb4be, 0x8853, 0x8854,\n    0x8855, 0xb4bf, 0x8856, 0x8857, 0x8858, 0x8859, 0x885a, 0x8861,\n    0xb4c0, 0xb4c1, 0x8862, 0x8863, 0xb4c2, 0x8864, 0x8865, 0x8866,\n    0xb4c3, 0xb4c4, 0xb4c5, 0x8867, 0x8868, 0x8869, 0x886a, 0x886b,\n    0xb4c6, 0xb4c7, 0x886c, 0xb4c8, 0x886d, 0xb4c9, 0xb4ca, 0x886e,\n    0x886f, 0x8870, 0xb4cb, 0x8871, 0xb4cc, 0x8872, 0x8873, 0x8874,\n    0xb4cd, 0x8875, 0x8876, 0x8877, 0xb4ce, 0x8878, 0x8879, 0x887a,\n    0x8881, 0x8882, 0x8883, 0x8884, 0x8885, 0x8886, 0x8887, 0x8888,\n    0x8889, 0x888a, 0x888b, 0x888c, 0x888d, 0x888e, 0x888f, 0x8890,\n    0xb4cf, 0xb4d0, 0x8891, 0x8892, 0xb4d1, 0x8893, 0x8894, 0x8895,\n    0xb4d2, 0x8896, 0xb4d3, 0x8897, 0x8898, 0x8899, 0x889a, 0x889b,\n    0xb4d4, 0xb4d5, 0x889c, 0xb4d6, 0x889d, 0xb4d7, 0x889e, 0x889f,\n    0x88a0, 0x88a1, 0xb4d8, 0x88a2, 0xb4d9, 0xb4da, 0xb4db, 0x88a3,\n    0xb4dc, 0x88a4, 0x88a5, 0xb4dd, 0xb4de, 0xb4df, 0xb4e0, 0xb4e1,\n    0x88a6, 0x88a7, 0x88a8, 0xb4e2, 0xb4e3, 0xb4e4, 0x88a9, 0xb4e5,\n    0xb4e6, 0xb4e7, 0xb4e8, 0xb4e9, 0x88aa, 0x88ab, 0x88ac, 0xb4ea,\n    /* 0xb300 .. 0xb3ff */\n    0xb4eb, 0xb4ec, 0x88ad, 0x88ae, 0xb4ed, 0x88af, 0x88b0, 0x88b1,\n    0xb4ee, 0x88b2, 0x88b3, 0x88b4, 0x88b5, 0x88b6, 0x88b7, 0x88b8,\n    0xb4ef, 0xb4f0, 0x88b9, 0xb4f1, 0xb4f2, 0xb4f3, 0x88ba, 0x88bb,\n    0x88bc, 0x88bd, 0x88be, 0x88bf, 0xb4f4, 0x88c0, 0x88c1, 0x88c2,\n    0x88c3, 0x88c4, 0x88c5, 0x88c6, 0x88c7, 0x88c8, 0x88c9, 0x88ca,\n    0x88cb, 0x88cc, 0x88cd, 0x88ce, 0x88cf, 0x88d0, 0x88d1, 0x88d2,\n    0x88d3, 0x88d4, 0x88d5, 0x88d6, 0x88d7, 0x88d8, 0x88d9, 0x88da,\n    0x88db, 0x88dc, 0x88dd, 0x88de, 0x88df, 0x88e0, 0x88e1, 0x88e2,\n    0x88e3, 0x88e4, 0x88e5, 0x88e6, 0x88e7, 0x88e8, 0x88e9, 0x88ea,\n    0x88eb, 0x88ec, 0x88ed, 0x88ee, 0x88ef, 0x88f0, 0x88f1, 0x88f2,\n    0x88f3, 0x88f4, 0x88f5, 0x88f6, 0xb4f5, 0xb4f6, 0xb4f7, 0x88f7,\n    0xb4f8, 0x88f8, 0x88f9, 0xb4f9, 0xb4fa, 0x88fa, 0xb4fb, 0xb4fc,\n    0x88fb, 0x88fc, 0x88fd, 0x88fe, 0xb4fd, 0xb4fe, 0x8941, 0xb5a1,\n    0x8942, 0xb5a2, 0x8943, 0xb5a3, 0x8944, 0x8945, 0xb5a4, 0x8946,\n    0xb5a5, 0xb5a6, 0x8947, 0x8948, 0xb5a7, 0x8949, 0x894a, 0x894b,\n    0xb5a8, 0x894c, 0x894d, 0x894e, 0x894f, 0x8950, 0x8951, 0x8952,\n    0xb5a9, 0xb5aa, 0x8953, 0xb5ab, 0xb5ac, 0xb5ad, 0x8954, 0x8955,\n    0x8956, 0x8957, 0x8958, 0x8959, 0xb5ae, 0x895a, 0x8961, 0x8962,\n    0xb5af, 0x8963, 0x8964, 0x8965, 0xb5b0, 0x8966, 0x8967, 0x8968,\n    0x8969, 0x896a, 0x896b, 0x896c, 0x896d, 0x896e, 0x896f, 0x8970,\n    0xb5b1, 0xb5b2, 0x8971, 0x8972, 0x8973, 0x8974, 0x8975, 0x8976,\n    0xb5b3, 0x8977, 0x8978, 0x8979, 0xb5b4, 0x897a, 0x8981, 0x8982,\n    0x8983, 0x8984, 0x8985, 0x8986, 0x8987, 0x8988, 0x8989, 0x898a,\n    0x898b, 0x898c, 0x898d, 0x898e, 0x898f, 0x8990, 0x8991, 0x8992,\n    0x8993, 0x8994, 0x8995, 0x8996, 0xb5b5, 0xb5b6, 0x8997, 0x8998,\n    0xb5b7, 0x8999, 0x899a, 0xb5b8, 0xb5b9, 0x899b, 0xb5ba, 0x899c,\n    0xb5bb, 0x899d, 0x899e, 0x899f, 0xb5bc, 0xb5bd, 0x89a0, 0xb5be,\n    0x89a1, 0xb5bf, 0x89a2, 0xb5c0, 0x89a3, 0xb5c1, 0x89a4, 0x89a5,\n    0xb5c2, 0x89a6, 0x89a7, 0x89a8, 0xb5c3, 0x89a9, 0x89aa, 0x89ab,\n    0xb5c4, 0x89ac, 0x89ad, 0x89ae, 0x89af, 0x89b0, 0x89b1, 0x89b2,\n    0x89b3, 0x89b4, 0x89b5, 0x89b6, 0x89b7, 0x89b8, 0x89b9, 0x89ba,\n    0x89bb, 0x89bc, 0x89bd, 0x89be, 0xb5c5, 0x89bf, 0x89c0, 0x89c1,\n    /* 0xb400 .. 0xb4ff */\n    0x89c2, 0x89c3, 0x89c4, 0x89c5, 0x89c6, 0x89c7, 0x89c8, 0x89c9,\n    0x89ca, 0x89cb, 0x89cc, 0x89cd, 0x89ce, 0x89cf, 0x89d0, 0x89d1,\n    0xb5c6, 0x89d2, 0x89d3, 0x89d4, 0x89d5, 0x89d6, 0x89d7, 0x89d8,\n    0xb5c7, 0x89d9, 0x89da, 0x89db, 0xb5c8, 0x89dc, 0x89dd, 0x89de,\n    0xb5c9, 0x89df, 0x89e0, 0x89e1, 0x89e2, 0x89e3, 0x89e4, 0x89e5,\n    0xb5ca, 0xb5cb, 0x89e6, 0xb5cc, 0x89e7, 0x89e8, 0x89e9, 0x89ea,\n    0x89eb, 0x89ec, 0x89ed, 0x89ee, 0xb5cd, 0x89ef, 0x89f0, 0x89f1,\n    0x89f2, 0x89f3, 0x89f4, 0x89f5, 0x89f6, 0x89f7, 0x89f8, 0x89f9,\n    0x89fa, 0x89fb, 0x89fc, 0x89fd, 0x89fe, 0x8a41, 0x8a42, 0x8a43,\n    0x8a44, 0x8a45, 0x8a46, 0x8a47, 0x8a48, 0x8a49, 0x8a4a, 0x8a4b,\n    0xb5ce, 0xb5cf, 0x8a4c, 0x8a4d, 0xb5d0, 0x8a4e, 0x8a4f, 0x8a50,\n    0xb5d1, 0x8a51, 0x8a52, 0x8a53, 0x8a54, 0x8a55, 0x8a56, 0x8a57,\n    0xb5d2, 0xb5d3, 0x8a58, 0xb5d4, 0x8a59, 0xb5d5, 0x8a5a, 0x8a61,\n    0x8a62, 0x8a63, 0x8a64, 0x8a65, 0xb5d6, 0x8a66, 0x8a67, 0x8a68,\n    0x8a69, 0x8a6a, 0x8a6b, 0x8a6c, 0x8a6d, 0x8a6e, 0x8a6f, 0x8a70,\n    0x8a71, 0x8a72, 0x8a73, 0x8a74, 0x8a75, 0x8a76, 0x8a77, 0x8a78,\n    0xb5d7, 0x8a79, 0x8a7a, 0x8a81, 0x8a82, 0x8a83, 0x8a84, 0x8a85,\n    0xb5d8, 0x8a86, 0x8a87, 0x8a88, 0x8a89, 0x8a8a, 0x8a8b, 0x8a8c,\n    0x8a8d, 0x8a8e, 0x8a8f, 0x8a90, 0x8a91, 0x8a92, 0x8a93, 0x8a94,\n    0x8a95, 0x8a96, 0x8a97, 0x8a98, 0x8a99, 0xb5d9, 0x8a9a, 0x8a9b,\n    0x8a9c, 0x8a9d, 0x8a9e, 0x8a9f, 0xb5da, 0x8aa0, 0x8aa1, 0x8aa2,\n    0xb5db, 0x8aa3, 0x8aa4, 0x8aa5, 0xb5dc, 0x8aa6, 0x8aa7, 0x8aa8,\n    0x8aa9, 0x8aaa, 0x8aab, 0x8aac, 0x8aad, 0xb5dd, 0x8aae, 0xb5de,\n    0x8aaf, 0xb5df, 0x8ab0, 0x8ab1, 0x8ab2, 0x8ab3, 0x8ab4, 0x8ab5,\n    0xb5e0, 0x8ab6, 0x8ab7, 0x8ab8, 0xb5e1, 0x8ab9, 0x8aba, 0x8abb,\n    0xb5e2, 0x8abc, 0x8abd, 0x8abe, 0x8abf, 0x8ac0, 0x8ac1, 0x8ac2,\n    0xb5e3, 0x8ac3, 0x8ac4, 0x8ac5, 0x8ac6, 0xb5e4, 0x8ac7, 0x8ac8,\n    0x8ac9, 0x8aca, 0x8acb, 0x8acc, 0xb5e5, 0xb5e6, 0x8acd, 0x8ace,\n    0xb5e7, 0x8acf, 0x8ad0, 0xb5e8, 0xb5e9, 0x8ad1, 0xb5ea, 0x8ad2,\n    0x8ad3, 0x8ad4, 0x8ad5, 0x8ad6, 0xb5eb, 0xb5ec, 0x8ad7, 0xb5ed,\n    0x8ad8, 0xb5ee, 0x8ad9, 0x8ada, 0x8adb, 0x8adc, 0x8add, 0x8ade,\n    0xb5ef, 0x8adf, 0x8ae0, 0x8ae1, 0x8ae2, 0x8ae3, 0x8ae4, 0x8ae5,\n    /* 0xb500 .. 0xb5ff */\n    0x8ae6, 0x8ae7, 0x8ae8, 0x8ae9, 0x8aea, 0x8aeb, 0x8aec, 0x8aed,\n    0x8aee, 0x8aef, 0x8af0, 0x8af1, 0x8af2, 0x8af3, 0x8af4, 0x8af5,\n    0x8af6, 0x8af7, 0x8af8, 0x8af9, 0xb5f0, 0xb5f1, 0x8afa, 0x8afb,\n    0xb5f2, 0x8afc, 0x8afd, 0xb5f3, 0xb5f4, 0x8afe, 0x8b41, 0x8b42,\n    0x8b43, 0x8b44, 0x8b45, 0x8b46, 0xb5f5, 0xb5f6, 0x8b47, 0xb5f7,\n    0xb5f8, 0xb5f9, 0xb5fa, 0x8b48, 0x8b49, 0x8b4a, 0x8b4b, 0x8b4c,\n    0xb5fb, 0xb5fc, 0x8b4d, 0x8b4e, 0xb5fd, 0x8b4f, 0x8b50, 0x8b51,\n    0xb5fe, 0x8b52, 0x8b53, 0x8b54, 0x8b55, 0x8b56, 0x8b57, 0x8b58,\n    0xb6a1, 0xb6a2, 0x8b59, 0xb6a3, 0xb6a4, 0xb6a5, 0x8b5a, 0x8b61,\n    0x8b62, 0x8b63, 0x8b64, 0xb6a6, 0xb6a7, 0xb6a8, 0x8b65, 0x8b66,\n    0xb6a9, 0x8b67, 0x8b68, 0x8b69, 0xb6aa, 0x8b6a, 0x8b6b, 0x8b6c,\n    0x8b6d, 0x8b6e, 0x8b6f, 0x8b70, 0xb6ab, 0xb6ac, 0x8b71, 0xb6ad,\n    0xb6ae, 0xb6af, 0x8b72, 0x8b73, 0x8b74, 0x8b75, 0x8b76, 0x8b77,\n    0x8b78, 0x8b79, 0x8b7a, 0x8b81, 0x8b82, 0x8b83, 0x8b84, 0x8b85,\n    0x8b86, 0x8b87, 0x8b88, 0x8b89, 0x8b8a, 0x8b8b, 0x8b8c, 0x8b8d,\n    0x8b8e, 0x8b8f, 0x8b90, 0x8b91, 0x8b92, 0x8b93, 0x8b94, 0x8b95,\n    0x8b96, 0x8b97, 0x8b98, 0x8b99, 0x8b9a, 0x8b9b, 0x8b9c, 0x8b9d,\n    0x8b9e, 0x8b9f, 0x8ba0, 0x8ba1, 0x8ba2, 0x8ba3, 0x8ba4, 0x8ba5,\n    0x8ba6, 0x8ba7, 0x8ba8, 0x8ba9, 0x8baa, 0x8bab, 0x8bac, 0x8bad,\n    0x8bae, 0x8baf, 0x8bb0, 0x8bb1, 0x8bb2, 0x8bb3, 0x8bb4, 0x8bb5,\n    0xb6b0, 0xb6b1, 0x8bb6, 0x8bb7, 0xb6b2, 0x8bb8, 0x8bb9, 0x8bba,\n    0xb6b3, 0x8bbb, 0xb6b4, 0xb6b5, 0x8bbc, 0x8bbd, 0x8bbe, 0x8bbf,\n    0xb6b6, 0xb6b7, 0x8bc0, 0xb6b8, 0xb6b9, 0xb6ba, 0x8bc1, 0x8bc2,\n    0x8bc3, 0x8bc4, 0x8bc5, 0xb6bb, 0xb6bc, 0xb6bd, 0x8bc6, 0x8bc7,\n    0xb6be, 0x8bc8, 0x8bc9, 0x8bca, 0xb6bf, 0x8bcb, 0x8bcc, 0x8bcd,\n    0x8bce, 0x8bcf, 0x8bd0, 0x8bd1, 0xb6c0, 0xb6c1, 0x8bd2, 0xb6c2,\n    0xb6c3, 0xb6c4, 0x8bd3, 0x8bd4, 0x8bd5, 0x8bd6, 0x8bd7, 0x8bd8,\n    0xb6c5, 0x8bd9, 0x8bda, 0x8bdb, 0x8bdc, 0x8bdd, 0x8bde, 0x8bdf,\n    0x8be0, 0x8be1, 0x8be2, 0x8be3, 0x8be4, 0x8be5, 0x8be6, 0x8be7,\n    0x8be8, 0x8be9, 0x8bea, 0x8beb, 0xb6c6, 0x8bec, 0x8bed, 0x8bee,\n    0x8bef, 0x8bf0, 0x8bf1, 0x8bf2, 0x8bf3, 0x8bf4, 0x8bf5, 0x8bf6,\n    0x8bf7, 0x8bf8, 0x8bf9, 0x8bfa, 0x8bfb, 0x8bfc, 0x8bfd, 0x8bfe,\n    /* 0xb600 .. 0xb6ff */\n    0x8c41, 0x8c42, 0x8c43, 0x8c44, 0x8c45, 0x8c46, 0x8c47, 0x8c48,\n    0x8c49, 0x8c4a, 0x8c4b, 0x8c4c, 0x8c4d, 0x8c4e, 0x8c4f, 0x8c50,\n    0xb6c7, 0xb6c8, 0x8c51, 0x8c52, 0xb6c9, 0x8c53, 0x8c54, 0x8c55,\n    0xb6ca, 0x8c56, 0x8c57, 0x8c58, 0x8c59, 0x8c5a, 0x8c61, 0x8c62,\n    0x8c63, 0x8c64, 0x8c65, 0x8c66, 0x8c67, 0xb6cb, 0x8c68, 0x8c69,\n    0x8c6a, 0x8c6b, 0x8c6c, 0x8c6d, 0xb6cc, 0x8c6e, 0x8c6f, 0x8c70,\n    0x8c71, 0x8c72, 0x8c73, 0x8c74, 0xb6cd, 0x8c75, 0x8c76, 0x8c77,\n    0x8c78, 0x8c79, 0x8c7a, 0x8c81, 0x8c82, 0x8c83, 0x8c84, 0x8c85,\n    0x8c86, 0x8c87, 0x8c88, 0x8c89, 0x8c8a, 0x8c8b, 0x8c8c, 0x8c8d,\n    0xb6ce, 0x8c8e, 0x8c8f, 0x8c90, 0x8c91, 0x8c92, 0x8c93, 0x8c94,\n    0x8c95, 0x8c96, 0x8c97, 0x8c98, 0x8c99, 0x8c9a, 0x8c9b, 0x8c9c,\n    0x8c9d, 0x8c9e, 0x8c9f, 0x8ca0, 0x8ca1, 0x8ca2, 0x8ca3, 0x8ca4,\n    0x8ca5, 0x8ca6, 0x8ca7, 0x8ca8, 0xb6cf, 0x8ca9, 0x8caa, 0x8cab,\n    0xb6d0, 0x8cac, 0x8cad, 0x8cae, 0x8caf, 0x8cb0, 0x8cb1, 0x8cb2,\n    0x8cb3, 0x8cb4, 0x8cb5, 0x8cb6, 0x8cb7, 0x8cb8, 0x8cb9, 0x8cba,\n    0x8cbb, 0x8cbc, 0x8cbd, 0x8cbe, 0x8cbf, 0x8cc0, 0x8cc1, 0x8cc2,\n    0x8cc3, 0x8cc4, 0x8cc5, 0x8cc6, 0x8cc7, 0x8cc8, 0x8cc9, 0x8cca,\n    0x8ccb, 0x8ccc, 0x8ccd, 0x8cce, 0x8ccf, 0x8cd0, 0x8cd1, 0x8cd2,\n    0x8cd3, 0x8cd4, 0x8cd5, 0x8cd6, 0x8cd7, 0x8cd8, 0x8cd9, 0x8cda,\n    0x8cdb, 0x8cdc, 0x8cdd, 0x8cde, 0xb6d1, 0xb6d2, 0x8cdf, 0x8ce0,\n    0xb6d3, 0x8ce1, 0x8ce2, 0x8ce3, 0xb6d4, 0x8ce4, 0x8ce5, 0x8ce6,\n    0x8ce7, 0x8ce8, 0x8ce9, 0xb6d5, 0xb6d6, 0x8cea, 0x8ceb, 0x8cec,\n    0x8ced, 0xb6d7, 0x8cee, 0x8cef, 0x8cf0, 0x8cf1, 0x8cf2, 0x8cf3,\n    0x8cf4, 0x8cf5, 0x8cf6, 0x8cf7, 0x8cf8, 0x8cf9, 0x8cfa, 0x8cfb,\n    0x8cfc, 0x8cfd, 0x8cfe, 0x8d41, 0x8d42, 0x8d43, 0x8d44, 0x8d45,\n    0x8d46, 0x8d47, 0x8d48, 0x8d49, 0x8d4a, 0x8d4b, 0x8d4c, 0x8d4d,\n    0x8d4e, 0x8d4f, 0x8d50, 0x8d51, 0xb6d8, 0x8d52, 0x8d53, 0x8d54,\n    0x8d55, 0x8d56, 0x8d57, 0x8d58, 0x8d59, 0x8d5a, 0x8d61, 0x8d62,\n    0x8d63, 0x8d64, 0x8d65, 0x8d66, 0x8d67, 0x8d68, 0x8d69, 0x8d6a,\n    0x8d6b, 0x8d6c, 0x8d6d, 0x8d6e, 0x8d6f, 0x8d70, 0x8d71, 0x8d72,\n    0xb6d9, 0x8d73, 0x8d74, 0x8d75, 0xb6da, 0x8d76, 0x8d77, 0x8d78,\n    0xb6db, 0x8d79, 0x8d7a, 0x8d81, 0x8d82, 0x8d83, 0x8d84, 0x8d85,\n    /* 0xb700 .. 0xb7ff */\n    0xb6dc, 0xb6dd, 0x8d86, 0x8d87, 0x8d88, 0xb6de, 0x8d89, 0x8d8a,\n    0x8d8b, 0x8d8c, 0x8d8d, 0x8d8e, 0x8d8f, 0x8d90, 0x8d91, 0x8d92,\n    0x8d93, 0x8d94, 0x8d95, 0x8d96, 0x8d97, 0x8d98, 0x8d99, 0x8d9a,\n    0x8d9b, 0x8d9c, 0x8d9d, 0x8d9e, 0x8d9f, 0x8da0, 0x8da1, 0x8da2,\n    0x8da3, 0x8da4, 0x8da5, 0x8da6, 0x8da7, 0x8da8, 0x8da9, 0x8daa,\n    0xb6df, 0xb6e0, 0x8dab, 0x8dac, 0xb6e1, 0x8dad, 0x8dae, 0xb6e2,\n    0xb6e3, 0x8daf, 0x8db0, 0x8db1, 0x8db2, 0x8db3, 0x8db4, 0x8db5,\n    0xb6e4, 0xb6e5, 0x8db6, 0xb6e6, 0x8db7, 0x8db8, 0x8db9, 0x8dba,\n    0x8dbb, 0x8dbc, 0x8dbd, 0x8dbe, 0xb6e7, 0x8dbf, 0x8dc0, 0x8dc1,\n    0xb6e8, 0x8dc2, 0x8dc3, 0x8dc4, 0xb6e9, 0x8dc5, 0x8dc6, 0x8dc7,\n    0x8dc8, 0x8dc9, 0x8dca, 0x8dcb, 0xb6ea, 0xb6eb, 0x8dcc, 0x8dcd,\n    0x8dce, 0x8dcf, 0x8dd0, 0x8dd1, 0x8dd2, 0x8dd3, 0x8dd4, 0x8dd5,\n    0xb6ec, 0x8dd6, 0x8dd7, 0x8dd8, 0xb6ed, 0x8dd9, 0x8dda, 0x8ddb,\n    0xb6ee, 0x8ddc, 0x8ddd, 0x8dde, 0x8ddf, 0x8de0, 0x8de1, 0x8de2,\n    0xb6ef, 0xb6f0, 0x8de3, 0xb6f1, 0x8de4, 0xb6f2, 0x8de5, 0x8de6,\n    0x8de7, 0x8de8, 0x8de9, 0x8dea, 0xb6f3, 0xb6f4, 0x8deb, 0x8dec,\n    0xb6f5, 0x8ded, 0x8dee, 0x8def, 0xb6f6, 0x8df0, 0x8df1, 0x8df2,\n    0x8df3, 0x8df4, 0x8df5, 0x8df6, 0xb6f7, 0xb6f8, 0x8df7, 0xb6f9,\n    0xb6fa, 0xb6fb, 0xb6fc, 0x8df8, 0x8df9, 0x8dfa, 0xb6fd, 0xb6fe,\n    0xb7a1, 0xb7a2, 0x8dfb, 0x8dfc, 0xb7a3, 0x8dfd, 0x8dfe, 0x8e41,\n    0xb7a4, 0x8e42, 0x8e43, 0x8e44, 0x8e45, 0x8e46, 0x8e47, 0x8e48,\n    0xb7a5, 0xb7a6, 0x8e49, 0xb7a7, 0xb7a8, 0xb7a9, 0x8e4a, 0x8e4b,\n    0x8e4c, 0x8e4d, 0x8e4e, 0x8e4f, 0xb7aa, 0xb7ab, 0x8e50, 0x8e51,\n    0xb7ac, 0x8e52, 0x8e53, 0x8e54, 0x8e55, 0x8e56, 0x8e57, 0x8e58,\n    0x8e59, 0x8e5a, 0x8e61, 0x8e62, 0x8e63, 0x8e64, 0x8e65, 0xb7ad,\n    0x8e66, 0xb7ae, 0x8e67, 0x8e68, 0x8e69, 0x8e6a, 0x8e6b, 0x8e6c,\n    0x8e6d, 0x8e6e, 0x8e6f, 0x8e70, 0x8e71, 0x8e72, 0x8e73, 0x8e74,\n    0x8e75, 0x8e76, 0x8e77, 0x8e78, 0x8e79, 0x8e7a, 0x8e81, 0x8e82,\n    0x8e83, 0x8e84, 0x8e85, 0x8e86, 0x8e87, 0x8e88, 0x8e89, 0x8e8a,\n    0x8e8b, 0x8e8c, 0x8e8d, 0x8e8e, 0xb7af, 0xb7b0, 0x8e8f, 0x8e90,\n    0xb7b1, 0x8e91, 0x8e92, 0x8e93, 0xb7b2, 0x8e94, 0x8e95, 0x8e96,\n    0x8e97, 0x8e98, 0x8e99, 0x8e9a, 0xb7b3, 0xb7b4, 0x8e9b, 0xb7b5,\n    /* 0xb800 .. 0xb8ff */\n    0xb7b6, 0xb7b7, 0x8e9c, 0x8e9d, 0x8e9e, 0x8e9f, 0x8ea0, 0xb7b8,\n    0xb7b9, 0xb7ba, 0x8ea1, 0x8ea2, 0xb7bb, 0x8ea3, 0x8ea4, 0x8ea5,\n    0xb7bc, 0x8ea6, 0x8ea7, 0x8ea8, 0x8ea9, 0x8eaa, 0x8eab, 0x8eac,\n    0xb7bd, 0xb7be, 0x8ead, 0xb7bf, 0x8eae, 0xb7c0, 0x8eaf, 0x8eb0,\n    0x8eb1, 0x8eb2, 0x8eb3, 0x8eb4, 0xb7c1, 0xb7c2, 0x8eb5, 0x8eb6,\n    0xb7c3, 0x8eb7, 0x8eb8, 0x8eb9, 0xb7c4, 0x8eba, 0x8ebb, 0x8ebc,\n    0x8ebd, 0x8ebe, 0x8ebf, 0x8ec0, 0xb7c5, 0xb7c6, 0x8ec1, 0xb7c7,\n    0xb7c8, 0xb7c9, 0x8ec2, 0x8ec3, 0x8ec4, 0x8ec5, 0x8ec6, 0x8ec7,\n    0xb7ca, 0x8ec8, 0x8ec9, 0x8eca, 0xb7cb, 0x8ecb, 0x8ecc, 0x8ecd,\n    0x8ece, 0x8ecf, 0x8ed0, 0x8ed1, 0x8ed2, 0x8ed3, 0x8ed4, 0x8ed5,\n    0x8ed6, 0xb7cc, 0x8ed7, 0xb7cd, 0x8ed8, 0x8ed9, 0x8eda, 0x8edb,\n    0x8edc, 0x8edd, 0x8ede, 0x8edf, 0xb7ce, 0xb7cf, 0x8ee0, 0x8ee1,\n    0xb7d0, 0x8ee2, 0x8ee3, 0x8ee4, 0xb7d1, 0x8ee5, 0x8ee6, 0x8ee7,\n    0x8ee8, 0x8ee9, 0x8eea, 0x8eeb, 0xb7d2, 0xb7d3, 0x8eec, 0xb7d4,\n    0x8eed, 0xb7d5, 0x8eee, 0x8eef, 0x8ef0, 0x8ef1, 0x8ef2, 0x8ef3,\n    0xb7d6, 0x8ef4, 0x8ef5, 0x8ef6, 0xb7d7, 0x8ef7, 0x8ef8, 0x8ef9,\n    0x8efa, 0x8efb, 0x8efc, 0x8efd, 0x8efe, 0x8f41, 0x8f42, 0x8f43,\n    0x8f44, 0x8f45, 0x8f46, 0x8f47, 0x8f48, 0xb7d8, 0x8f49, 0x8f4a,\n    0x8f4b, 0x8f4c, 0x8f4d, 0x8f4e, 0x8f4f, 0x8f50, 0x8f51, 0x8f52,\n    0x8f53, 0x8f54, 0x8f55, 0x8f56, 0x8f57, 0x8f58, 0x8f59, 0x8f5a,\n    0x8f61, 0x8f62, 0x8f63, 0x8f64, 0x8f65, 0x8f66, 0x8f67, 0x8f68,\n    0xb7d9, 0x8f69, 0x8f6a, 0x8f6b, 0x8f6c, 0x8f6d, 0x8f6e, 0x8f6f,\n    0xb7da, 0x8f70, 0x8f71, 0x8f72, 0xb7db, 0x8f73, 0x8f74, 0x8f75,\n    0xb7dc, 0x8f76, 0x8f77, 0x8f78, 0x8f79, 0x8f7a, 0x8f81, 0x8f82,\n    0xb7dd, 0xb7de, 0x8f83, 0xb7df, 0x8f84, 0xb7e0, 0x8f85, 0x8f86,\n    0x8f87, 0x8f88, 0x8f89, 0x8f8a, 0xb7e1, 0x8f8b, 0x8f8c, 0x8f8d,\n    0xb7e2, 0x8f8e, 0x8f8f, 0x8f90, 0xb7e3, 0x8f91, 0x8f92, 0x8f93,\n    0x8f94, 0x8f95, 0x8f96, 0x8f97, 0x8f98, 0xb7e4, 0x8f99, 0xb7e5,\n    0x8f9a, 0xb7e6, 0x8f9b, 0x8f9c, 0x8f9d, 0x8f9e, 0x8f9f, 0x8fa0,\n    0xb7e7, 0xb7e8, 0x8fa1, 0x8fa2, 0xb7e9, 0x8fa3, 0x8fa4, 0x8fa5,\n    0xb7ea, 0x8fa6, 0x8fa7, 0x8fa8, 0x8fa9, 0x8faa, 0x8fab, 0x8fac,\n    0xb7eb, 0xb7ec, 0x8fad, 0xb7ed, 0x8fae, 0xb7ee, 0x8faf, 0x8fb0,\n    /* 0xb900 .. 0xb9ff */\n    0x8fb1, 0x8fb2, 0x8fb3, 0x8fb4, 0xb7ef, 0x8fb5, 0x8fb6, 0x8fb7,\n    0x8fb8, 0x8fb9, 0x8fba, 0x8fbb, 0x8fbc, 0x8fbd, 0x8fbe, 0x8fbf,\n    0x8fc0, 0x8fc1, 0x8fc2, 0x8fc3, 0x8fc4, 0x8fc5, 0x8fc6, 0x8fc7,\n    0xb7f0, 0x8fc8, 0x8fc9, 0x8fca, 0x8fcb, 0x8fcc, 0x8fcd, 0x8fce,\n    0xb7f1, 0x8fcf, 0x8fd0, 0x8fd1, 0x8fd2, 0x8fd3, 0x8fd4, 0x8fd5,\n    0x8fd6, 0x8fd7, 0x8fd8, 0x8fd9, 0x8fda, 0x8fdb, 0x8fdc, 0x8fdd,\n    0x8fde, 0x8fdf, 0x8fe0, 0x8fe1, 0x8fe2, 0x8fe3, 0x8fe4, 0x8fe5,\n    0x8fe6, 0x8fe7, 0x8fe8, 0x8fe9, 0xb7f2, 0xb7f3, 0x8fea, 0x8feb,\n    0xb7f4, 0x8fec, 0x8fed, 0x8fee, 0xb7f5, 0x8fef, 0x8ff0, 0x8ff1,\n    0x8ff2, 0x8ff3, 0x8ff4, 0x8ff5, 0xb7f6, 0x8ff6, 0x8ff7, 0xb7f7,\n    0x8ff8, 0xb7f8, 0x8ff9, 0x8ffa, 0x8ffb, 0x8ffc, 0x8ffd, 0x8ffe,\n    0xb7f9, 0xb7fa, 0x9041, 0x9042, 0xb7fb, 0x9043, 0x9044, 0x9045,\n    0xb7fc, 0x9046, 0x9047, 0x9048, 0x9049, 0x904a, 0x904b, 0x904c,\n    0xb7fd, 0xb7fe, 0x904d, 0xb8a1, 0x904e, 0xb8a2, 0x904f, 0x9050,\n    0x9051, 0x9052, 0x9053, 0x9054, 0xb8a3, 0xb8a4, 0x9055, 0x9056,\n    0xb8a5, 0x9057, 0x9058, 0x9059, 0xb8a6, 0x905a, 0x9061, 0x9062,\n    0x9063, 0x9064, 0x9065, 0x9066, 0xb8a7, 0xb8a8, 0x9067, 0xb8a9,\n    0x9068, 0xb8aa, 0xb8ab, 0x9069, 0x906a, 0xb8ac, 0xb8ad, 0x906b,\n    0x906c, 0x906d, 0x906e, 0x906f, 0x9070, 0x9071, 0x9072, 0x9073,\n    0x9074, 0x9075, 0x9076, 0x9077, 0x9078, 0x9079, 0x907a, 0x9081,\n    0x9082, 0x9083, 0x9084, 0x9085, 0x9086, 0x9087, 0x9088, 0x9089,\n    0x908a, 0x908b, 0x908c, 0x908d, 0xb8ae, 0xb8af, 0x908e, 0x908f,\n    0xb8b0, 0x9090, 0x9091, 0x9092, 0xb8b1, 0x9093, 0x9094, 0x9095,\n    0x9096, 0x9097, 0x9098, 0x9099, 0xb8b2, 0xb8b3, 0x909a, 0xb8b4,\n    0x909b, 0xb8b5, 0x909c, 0x909d, 0x909e, 0x909f, 0x90a0, 0x90a1,\n    0xb8b6, 0xb8b7, 0x90a2, 0x90a3, 0xb8b8, 0x90a4, 0xb8b9, 0xb8ba,\n    0xb8bb, 0xb8bc, 0xb8bd, 0x90a5, 0x90a6, 0x90a7, 0x90a8, 0x90a9,\n    0xb8be, 0xb8bf, 0x90aa, 0xb8c0, 0x90ab, 0xb8c1, 0xb8c2, 0x90ac,\n    0x90ad, 0xb8c3, 0x90ae, 0xb8c4, 0xb8c5, 0xb8c6, 0x90af, 0x90b0,\n    0xb8c7, 0x90b1, 0x90b2, 0x90b3, 0xb8c8, 0x90b4, 0x90b5, 0x90b6,\n    0x90b7, 0x90b8, 0x90b9, 0x90ba, 0xb8c9, 0xb8ca, 0x90bb, 0xb8cb,\n    0xb8cc, 0xb8cd, 0xb8ce, 0x90bc, 0x90bd, 0x90be, 0x90bf, 0x90c0,\n    /* 0xba00 .. 0xbaff */\n    0xb8cf, 0xb8d0, 0x90c1, 0x90c2, 0x90c3, 0x90c4, 0x90c5, 0x90c6,\n    0xb8d1, 0x90c7, 0x90c8, 0x90c9, 0x90ca, 0x90cb, 0x90cc, 0x90cd,\n    0x90ce, 0x90cf, 0x90d0, 0x90d1, 0x90d2, 0xb8d2, 0x90d3, 0x90d4,\n    0x90d5, 0x90d6, 0x90d7, 0x90d8, 0x90d9, 0x90da, 0x90db, 0x90dc,\n    0x90dd, 0x90de, 0x90df, 0x90e0, 0x90e1, 0x90e2, 0x90e3, 0x90e4,\n    0x90e5, 0x90e6, 0x90e7, 0x90e8, 0x90e9, 0x90ea, 0x90eb, 0x90ec,\n    0x90ed, 0x90ee, 0x90ef, 0x90f0, 0x90f1, 0x90f2, 0x90f3, 0x90f4,\n    0xb8d3, 0xb8d4, 0x90f5, 0x90f6, 0xb8d5, 0x90f7, 0x90f8, 0x90f9,\n    0xb8d6, 0x90fa, 0xb8d7, 0x90fb, 0x90fc, 0x90fd, 0x90fe, 0x9141,\n    0xb8d8, 0xb8d9, 0x9142, 0xb8da, 0x9143, 0xb8db, 0xb8dc, 0x9144,\n    0x9145, 0x9146, 0x9147, 0xb8dd, 0xb8de, 0xb8df, 0x9148, 0x9149,\n    0xb8e0, 0x914a, 0x914b, 0x914c, 0xb8e1, 0x914d, 0x914e, 0x914f,\n    0x9150, 0x9151, 0x9152, 0x9153, 0xb8e2, 0xb8e3, 0x9154, 0xb8e4,\n    0xb8e5, 0xb8e6, 0x9155, 0x9156, 0x9157, 0x9158, 0x9159, 0x915a,\n    0xb8e7, 0xb8e8, 0x9161, 0x9162, 0xb8e9, 0x9163, 0x9164, 0x9165,\n    0xb8ea, 0x9166, 0x9167, 0x9168, 0x9169, 0x916a, 0x916b, 0x916c,\n    0x916d, 0x916e, 0x916f, 0xb8eb, 0xb8ec, 0xb8ed, 0x9170, 0xb8ee,\n    0x9171, 0x9172, 0x9173, 0x9174, 0xb8ef, 0x9175, 0x9176, 0x9177,\n    0x9178, 0x9179, 0x917a, 0x9181, 0x9182, 0x9183, 0x9184, 0x9185,\n    0x9186, 0x9187, 0x9188, 0x9189, 0x918a, 0x918b, 0x918c, 0x918d,\n    0x918e, 0x918f, 0x9190, 0x9191, 0x9192, 0x9193, 0x9194, 0x9195,\n    0xb8f0, 0xb8f1, 0x9196, 0xb8f2, 0xb8f3, 0x9197, 0x9198, 0x9199,\n    0xb8f4, 0x919a, 0xb8f5, 0x919b, 0x919c, 0x919d, 0x919e, 0x919f,\n    0xb8f6, 0xb8f7, 0x91a0, 0xb8f8, 0x91a1, 0xb8f9, 0x91a2, 0x91a3,\n    0x91a4, 0x91a5, 0x91a6, 0x91a7, 0xb8fa, 0x91a8, 0x91a9, 0x91aa,\n    0xb8fb, 0x91ab, 0x91ac, 0x91ad, 0x91ae, 0x91af, 0x91b0, 0x91b1,\n    0x91b2, 0x91b3, 0x91b4, 0x91b5, 0x91b6, 0x91b7, 0x91b8, 0x91b9,\n    0xb8fc, 0xb8fd, 0x91ba, 0x91bb, 0x91bc, 0x91bd, 0x91be, 0x91bf,\n    0x91c0, 0x91c1, 0x91c2, 0x91c3, 0x91c4, 0x91c5, 0x91c6, 0x91c7,\n    0x91c8, 0x91c9, 0x91ca, 0x91cb, 0x91cc, 0x91cd, 0x91ce, 0x91cf,\n    0x91d0, 0x91d1, 0x91d2, 0x91d3, 0x91d4, 0x91d5, 0x91d6, 0x91d7,\n    0x91d8, 0x91d9, 0x91da, 0x91db, 0xb8fe, 0x91dc, 0x91dd, 0x91de,\n    /* 0xbb00 .. 0xbbff */\n    0xb9a1, 0x91df, 0x91e0, 0x91e1, 0xb9a2, 0x91e2, 0x91e3, 0x91e4,\n    0x91e5, 0x91e6, 0x91e7, 0x91e8, 0x91e9, 0xb9a3, 0x91ea, 0xb9a4,\n    0x91eb, 0xb9a5, 0x91ec, 0x91ed, 0x91ee, 0x91ef, 0x91f0, 0x91f1,\n    0xb9a6, 0x91f2, 0x91f3, 0x91f4, 0xb9a7, 0x91f5, 0x91f6, 0x91f7,\n    0xb9a8, 0x91f8, 0x91f9, 0x91fa, 0x91fb, 0x91fc, 0x91fd, 0x91fe,\n    0x9241, 0xb9a9, 0x9242, 0xb9aa, 0x9243, 0x9244, 0x9245, 0x9246,\n    0x9247, 0x9248, 0x9249, 0x924a, 0xb9ab, 0xb9ac, 0xb9ad, 0x924b,\n    0xb9ae, 0x924c, 0x924d, 0xb9af, 0xb9b0, 0xb9b1, 0xb9b2, 0x924e,\n    0x924f, 0x9250, 0x9251, 0x9252, 0xb9b3, 0xb9b4, 0x9253, 0xb9b5,\n    0x9254, 0xb9b6, 0x9255, 0x9256, 0x9257, 0xb9b7, 0x9258, 0xb9b8,\n    0xb9b9, 0x9259, 0x925a, 0x9261, 0xb9ba, 0x9262, 0x9263, 0x9264,\n    0xb9bb, 0x9265, 0x9266, 0x9267, 0x9268, 0x9269, 0x926a, 0x926b,\n    0x926c, 0xb9bc, 0x926d, 0xb9bd, 0x926e, 0x926f, 0x9270, 0x9271,\n    0x9272, 0x9273, 0x9274, 0x9275, 0xb9be, 0x9276, 0x9277, 0x9278,\n    0x9279, 0x927a, 0x9281, 0x9282, 0x9283, 0x9284, 0x9285, 0x9286,\n    0x9287, 0x9288, 0x9289, 0x928a, 0x928b, 0x928c, 0x928d, 0x928e,\n    0x928f, 0x9290, 0x9291, 0x9292, 0x9293, 0x9294, 0x9295, 0x9296,\n    0xb9bf, 0x9297, 0x9298, 0x9299, 0xb9c0, 0x929a, 0x929b, 0x929c,\n    0xb9c1, 0x929d, 0x929e, 0x929f, 0x92a0, 0x92a1, 0x92a2, 0x92a3,\n    0x92a4, 0x92a5, 0x92a6, 0x92a7, 0x92a8, 0x92a9, 0x92aa, 0x92ab,\n    0x92ac, 0x92ad, 0x92ae, 0x92af, 0xb9c2, 0x92b0, 0x92b1, 0x92b2,\n    0xb9c3, 0x92b3, 0x92b4, 0x92b5, 0xb9c4, 0x92b6, 0x92b7, 0x92b8,\n    0x92b9, 0x92ba, 0x92bb, 0x92bc, 0xb9c5, 0x92bd, 0x92be, 0xb9c6,\n    0x92bf, 0x92c0, 0x92c1, 0x92c2, 0x92c3, 0x92c4, 0x92c5, 0x92c6,\n    0xb9c7, 0x92c7, 0x92c8, 0x92c9, 0xb9c8, 0x92ca, 0x92cb, 0x92cc,\n    0xb9c9, 0x92cd, 0x92ce, 0x92cf, 0x92d0, 0x92d1, 0x92d2, 0x92d3,\n    0xb9ca, 0x92d4, 0x92d5, 0xb9cb, 0x92d6, 0x92d7, 0x92d8, 0x92d9,\n    0x92da, 0x92db, 0x92dc, 0x92dd, 0x92de, 0x92df, 0x92e0, 0x92e1,\n    0x92e2, 0x92e3, 0x92e4, 0x92e5, 0x92e6, 0x92e7, 0x92e8, 0x92e9,\n    0x92ea, 0x92eb, 0x92ec, 0x92ed, 0x92ee, 0x92ef, 0x92f0, 0x92f1,\n    0x92f2, 0x92f3, 0x92f4, 0x92f5, 0x92f6, 0x92f7, 0x92f8, 0x92f9,\n    0xb9cc, 0xb9cd, 0x92fa, 0x92fb, 0xb9ce, 0x92fc, 0x92fd, 0xb9cf,\n    /* 0xbc00 .. 0xbcff */\n    0xb9d0, 0x92fe, 0xb9d1, 0x9341, 0x9342, 0x9343, 0x9344, 0x9345,\n    0xb9d2, 0xb9d3, 0x9346, 0xb9d4, 0xb9d5, 0xb9d6, 0x9347, 0xb9d7,\n    0x9348, 0xb9d8, 0x9349, 0x934a, 0xb9d9, 0xb9da, 0xb9db, 0xb9dc,\n    0xb9dd, 0x934b, 0x934c, 0xb9de, 0xb9df, 0xb9e0, 0xb9e1, 0xb9e2,\n    0x934d, 0x934e, 0x934f, 0x9350, 0xb9e3, 0xb9e4, 0x9351, 0xb9e5,\n    0x9352, 0xb9e6, 0x9353, 0x9354, 0x9355, 0xb9e7, 0x9356, 0x9357,\n    0xb9e8, 0xb9e9, 0x9358, 0x9359, 0xb9ea, 0x935a, 0x9361, 0x9362,\n    0xb9eb, 0x9363, 0x9364, 0x9365, 0x9366, 0x9367, 0x9368, 0x9369,\n    0xb9ec, 0xb9ed, 0x936a, 0xb9ee, 0xb9ef, 0xb9f0, 0x936b, 0x936c,\n    0x936d, 0xb9f1, 0x936e, 0x936f, 0xb9f2, 0xb9f3, 0x9370, 0x9371,\n    0xb9f4, 0x9372, 0x9373, 0x9374, 0x9375, 0x9376, 0x9377, 0x9378,\n    0x9379, 0x937a, 0x9381, 0x9382, 0x9383, 0xb9f5, 0x9384, 0x9385,\n    0x9386, 0x9387, 0x9388, 0x9389, 0x938a, 0x938b, 0x938c, 0x938d,\n    0x938e, 0x938f, 0x9390, 0x9391, 0x9392, 0x9393, 0x9394, 0x9395,\n    0x9396, 0x9397, 0x9398, 0x9399, 0x939a, 0x939b, 0x939c, 0x939d,\n    0x939e, 0x939f, 0x93a0, 0x93a1, 0x93a2, 0x93a3, 0x93a4, 0x93a5,\n    0x93a6, 0x93a7, 0x93a8, 0x93a9, 0xb9f6, 0xb9f7, 0x93aa, 0x93ab,\n    0xb9f8, 0x93ac, 0x93ad, 0xb9f9, 0xb9fa, 0x93ae, 0xb9fb, 0x93af,\n    0x93b0, 0x93b1, 0x93b2, 0x93b3, 0xb9fc, 0xb9fd, 0x93b4, 0xb9fe,\n    0x93b5, 0xbaa1, 0xbaa2, 0x93b6, 0x93b7, 0x93b8, 0x93b9, 0x93ba,\n    0xbaa3, 0xbaa4, 0x93bb, 0x93bc, 0xbaa5, 0x93bd, 0x93be, 0xbaa6,\n    0xbaa7, 0x93bf, 0x93c0, 0x93c1, 0x93c2, 0x93c3, 0x93c4, 0x93c5,\n    0xbaa8, 0xbaa9, 0x93c6, 0xbaaa, 0xbaab, 0xbaac, 0x93c7, 0x93c8,\n    0x93c9, 0x93ca, 0x93cb, 0x93cc, 0xbaad, 0xbaae, 0x93cd, 0x93ce,\n    0xbaaf, 0x93cf, 0x93d0, 0x93d1, 0xbab0, 0x93d2, 0x93d3, 0x93d4,\n    0x93d5, 0x93d6, 0x93d7, 0x93d8, 0x93d9, 0xbab1, 0x93da, 0xbab2,\n    0xbab3, 0xbab4, 0x93db, 0x93dc, 0x93dd, 0xbab5, 0x93de, 0x93df,\n    0xbab6, 0x93e0, 0x93e1, 0x93e2, 0xbab7, 0x93e3, 0x93e4, 0x93e5,\n    0x93e6, 0x93e7, 0x93e8, 0x93e9, 0x93ea, 0x93eb, 0x93ec, 0x93ed,\n    0x93ee, 0x93ef, 0x93f0, 0x93f1, 0x93f2, 0x93f3, 0x93f4, 0x93f5,\n    0x93f6, 0x93f7, 0x93f8, 0x93f9, 0xbab8, 0xbab9, 0xbaba, 0x93fa,\n    0xbabb, 0x93fb, 0x93fc, 0x93fd, 0xbabc, 0x93fe, 0x9441, 0x9442,\n    /* 0xbd00 .. 0xbdff */\n    0x9443, 0x9444, 0x9445, 0x9446, 0xbabd, 0xbabe, 0x9447, 0xbabf,\n    0x9448, 0xbac0, 0x9449, 0x944a, 0x944b, 0x944c, 0x944d, 0x944e,\n    0xbac1, 0x944f, 0x9450, 0x9451, 0xbac2, 0x9452, 0x9453, 0x9454,\n    0x9455, 0x9456, 0x9457, 0x9458, 0x9459, 0x945a, 0x9461, 0x9462,\n    0x9463, 0x9464, 0x9465, 0x9466, 0xbac3, 0x9467, 0x9468, 0x9469,\n    0x946a, 0x946b, 0x946c, 0x946d, 0xbac4, 0x946e, 0x946f, 0x9470,\n    0x9471, 0x9472, 0x9473, 0x9474, 0x9475, 0x9476, 0x9477, 0x9478,\n    0x9479, 0x947a, 0x9481, 0x9482, 0x9483, 0x9484, 0x9485, 0x9486,\n    0xbac5, 0x9487, 0x9488, 0x9489, 0x948a, 0x948b, 0x948c, 0x948d,\n    0xbac6, 0xbac7, 0x948e, 0x948f, 0xbac8, 0x9490, 0x9491, 0x9492,\n    0xbac9, 0x9493, 0x9494, 0x9495, 0x9496, 0x9497, 0x9498, 0x9499,\n    0xbaca, 0xbacb, 0x949a, 0x949b, 0x949c, 0x949d, 0x949e, 0x949f,\n    0x94a0, 0x94a1, 0x94a2, 0x94a3, 0xbacc, 0x94a4, 0x94a5, 0x94a6,\n    0xbacd, 0x94a7, 0x94a8, 0x94a9, 0x94aa, 0x94ab, 0x94ac, 0x94ad,\n    0x94ae, 0x94af, 0x94b0, 0x94b1, 0x94b2, 0x94b3, 0x94b4, 0x94b5,\n    0x94b6, 0x94b7, 0x94b8, 0x94b9, 0x94ba, 0x94bb, 0x94bc, 0x94bd,\n    0xbace, 0xbacf, 0x94be, 0x94bf, 0xbad0, 0x94c0, 0x94c1, 0xbad1,\n    0xbad2, 0xbad3, 0xbad4, 0x94c2, 0x94c3, 0x94c4, 0x94c5, 0x94c6,\n    0xbad5, 0xbad6, 0x94c7, 0xbad7, 0x94c8, 0xbad8, 0x94c9, 0x94ca,\n    0x94cb, 0xbad9, 0xbada, 0x94cc, 0xbadb, 0x94cd, 0x94ce, 0x94cf,\n    0x94d0, 0x94d1, 0x94d2, 0x94d3, 0xbadc, 0x94d4, 0x94d5, 0x94d6,\n    0x94d7, 0x94d8, 0x94d9, 0x94da, 0x94db, 0x94dc, 0x94dd, 0x94de,\n    0xbadd, 0x94df, 0x94e0, 0x94e1, 0x94e2, 0x94e3, 0x94e4, 0x94e5,\n    0xbade, 0x94e6, 0x94e7, 0x94e8, 0x94e9, 0x94ea, 0x94eb, 0x94ec,\n    0x94ed, 0x94ee, 0x94ef, 0x94f0, 0x94f1, 0x94f2, 0x94f3, 0x94f4,\n    0x94f5, 0x94f6, 0x94f7, 0x94f8, 0x94f9, 0x94fa, 0x94fb, 0x94fc,\n    0x94fd, 0x94fe, 0x9541, 0x9542, 0xbadf, 0xbae0, 0x9543, 0x9544,\n    0xbae1, 0x9545, 0x9546, 0x9547, 0xbae2, 0x9548, 0x9549, 0x954a,\n    0x954b, 0x954c, 0x954d, 0x954e, 0x954f, 0x9550, 0x9551, 0x9552,\n    0x9553, 0xbae3, 0x9554, 0x9555, 0x9556, 0x9557, 0x9558, 0x9559,\n    0xbae4, 0x955a, 0x9561, 0x9562, 0xbae5, 0x9563, 0x9564, 0x9565,\n    0xbae6, 0x9566, 0x9567, 0x9568, 0x9569, 0x956a, 0x956b, 0x956c,\n    /* 0xbe00 .. 0xbeff */\n    0xbae7, 0x956d, 0x956e, 0xbae8, 0x956f, 0xbae9, 0x9570, 0x9571,\n    0x9572, 0x9573, 0x9574, 0x9575, 0xbaea, 0xbaeb, 0x9576, 0x9577,\n    0xbaec, 0x9578, 0x9579, 0x957a, 0xbaed, 0x9581, 0x9582, 0x9583,\n    0x9584, 0x9585, 0x9586, 0x9587, 0xbaee, 0xbaef, 0x9588, 0xbaf0,\n    0x9589, 0x958a, 0x958b, 0x958c, 0x958d, 0x958e, 0x958f, 0x9590,\n    0x9591, 0x9592, 0x9593, 0x9594, 0x9595, 0x9596, 0x9597, 0x9598,\n    0x9599, 0x959a, 0x959b, 0x959c, 0x959d, 0x959e, 0x959f, 0x95a0,\n    0x95a1, 0x95a2, 0x95a3, 0x95a4, 0x95a5, 0x95a6, 0x95a7, 0x95a8,\n    0x95a9, 0x95aa, 0x95ab, 0x95ac, 0xbaf1, 0xbaf2, 0x95ad, 0x95ae,\n    0xbaf3, 0x95af, 0x95b0, 0x95b1, 0xbaf4, 0x95b2, 0xbaf5, 0x95b3,\n    0x95b4, 0x95b5, 0x95b6, 0x95b7, 0xbaf6, 0xbaf7, 0x95b8, 0xbaf8,\n    0x95b9, 0xbaf9, 0xbafa, 0xbafb, 0x95ba, 0x95bb, 0x95bc, 0x95bd,\n    0xbafc, 0xbafd, 0x95be, 0x95bf, 0xbafe, 0x95c0, 0x95c1, 0x95c2,\n    0xbba1, 0x95c3, 0xbba2, 0x95c4, 0x95c5, 0x95c6, 0x95c7, 0x95c8,\n    0xbba3, 0xbba4, 0x95c9, 0xbba5, 0xbba6, 0xbba7, 0x95ca, 0x95cb,\n    0x95cc, 0x95cd, 0x95ce, 0xbba8, 0xbba9, 0xbbaa, 0x95cf, 0x95d0,\n    0xbbab, 0x95d1, 0x95d2, 0x95d3, 0xbbac, 0x95d4, 0x95d5, 0x95d6,\n    0x95d7, 0x95d8, 0x95d9, 0x95da, 0xbbad, 0xbbae, 0x95db, 0xbbaf,\n    0xbbb0, 0xbbb1, 0x95dc, 0x95dd, 0x95de, 0x95df, 0x95e0, 0x95e1,\n    0xbbb2, 0xbbb3, 0x95e2, 0x95e3, 0x95e4, 0x95e5, 0x95e6, 0x95e7,\n    0x95e8, 0x95e9, 0x95ea, 0x95eb, 0x95ec, 0x95ed, 0x95ee, 0x95ef,\n    0xbbb4, 0x95f0, 0x95f1, 0x95f2, 0x95f3, 0x95f4, 0x95f5, 0x95f6,\n    0x95f7, 0x95f8, 0x95f9, 0x95fa, 0x95fb, 0x95fc, 0x95fd, 0x95fe,\n    0x9641, 0x9642, 0x9643, 0x9644, 0x9645, 0x9646, 0x9647, 0x9648,\n    0x9649, 0x964a, 0x964b, 0x964c, 0x964d, 0x964e, 0x964f, 0x9650,\n    0x9651, 0x9652, 0x9653, 0x9654, 0x9655, 0x9656, 0x9657, 0x9658,\n    0xbbb5, 0xbbb6, 0x9659, 0x965a, 0xbbb7, 0x9661, 0x9662, 0xbbb8,\n    0xbbb9, 0x9663, 0x9664, 0x9665, 0x9666, 0x9667, 0x9668, 0x9669,\n    0xbbba, 0x966a, 0x966b, 0xbbbb, 0xbbbc, 0xbbbd, 0x966c, 0x966d,\n    0x966e, 0x966f, 0x9670, 0x9671, 0xbbbe, 0x9672, 0x9673, 0x9674,\n    0x9675, 0x9676, 0x9677, 0x9678, 0x9679, 0x967a, 0x9681, 0x9682,\n    0x9683, 0x9684, 0x9685, 0x9686, 0x9687, 0x9688, 0x9689, 0x968a,\n    /* 0xbf00 .. 0xbfff */\n    0x968b, 0xbbbf, 0x968c, 0x968d, 0x968e, 0x968f, 0x9690, 0x9691,\n    0xbbc0, 0xbbc1, 0x9692, 0x9693, 0x9694, 0x9695, 0x9696, 0x9697,\n    0x9698, 0x9699, 0x969a, 0x969b, 0x969c, 0x969d, 0x969e, 0x969f,\n    0xbbc2, 0xbbc3, 0x96a0, 0xbbc4, 0xbbc5, 0xbbc6, 0x96a1, 0x96a2,\n    0x96a3, 0x96a4, 0x96a5, 0x96a6, 0x96a7, 0x96a8, 0x96a9, 0x96aa,\n    0x96ab, 0x96ac, 0x96ad, 0x96ae, 0x96af, 0x96b0, 0x96b1, 0x96b2,\n    0x96b3, 0x96b4, 0x96b5, 0x96b6, 0x96b7, 0x96b8, 0x96b9, 0x96ba,\n    0x96bb, 0x96bc, 0x96bd, 0x96be, 0x96bf, 0x96c0, 0x96c1, 0x96c2,\n    0xbbc7, 0xbbc8, 0x96c3, 0x96c4, 0xbbc9, 0x96c5, 0x96c6, 0x96c7,\n    0xbbca, 0x96c8, 0x96c9, 0x96ca, 0x96cb, 0x96cc, 0x96cd, 0x96ce,\n    0xbbcb, 0xbbcc, 0x96cf, 0x96d0, 0x96d1, 0xbbcd, 0x96d2, 0x96d3,\n    0x96d4, 0x96d5, 0x96d6, 0x96d7, 0x96d8, 0x96d9, 0x96da, 0x96db,\n    0x96dc, 0x96dd, 0x96de, 0x96df, 0x96e0, 0x96e1, 0x96e2, 0x96e3,\n    0x96e4, 0x96e5, 0x96e6, 0x96e7, 0x96e8, 0x96e9, 0x96ea, 0x96eb,\n    0x96ec, 0x96ed, 0x96ee, 0x96ef, 0x96f0, 0x96f1, 0x96f2, 0x96f3,\n    0x96f4, 0x96f5, 0x96f6, 0x96f7, 0x96f8, 0x96f9, 0x96fa, 0x96fb,\n    0x96fc, 0x96fd, 0x96fe, 0x9741, 0x9742, 0x9743, 0x9744, 0x9745,\n    0x9746, 0x9747, 0x9748, 0x9749, 0x974a, 0x974b, 0x974c, 0x974d,\n    0x974e, 0x974f, 0x9750, 0x9751, 0xbbce, 0x9752, 0x9753, 0x9754,\n    0x9755, 0x9756, 0x9757, 0x9758, 0x9759, 0x975a, 0x9761, 0x9762,\n    0x9763, 0x9764, 0x9765, 0x9766, 0x9767, 0x9768, 0x9769, 0x976a,\n    0x976b, 0x976c, 0x976d, 0x976e, 0x976f, 0x9770, 0x9771, 0x9772,\n    0xbbcf, 0x9773, 0x9774, 0x9775, 0x9776, 0x9777, 0x9778, 0x9779,\n    0x977a, 0x9781, 0x9782, 0x9783, 0x9784, 0x9785, 0x9786, 0x9787,\n    0x9788, 0x9789, 0x978a, 0x978b, 0x978c, 0xbbd0, 0x978d, 0x978e,\n    0x978f, 0x9790, 0x9791, 0x9792, 0xbbd1, 0xbbd2, 0x9793, 0x9794,\n    0xbbd3, 0x9795, 0x9796, 0x9797, 0xbbd4, 0x9798, 0x9799, 0x979a,\n    0x979b, 0x979c, 0x979d, 0x979e, 0xbbd5, 0x979f, 0x97a0, 0xbbd6,\n    0x97a1, 0xbbd7, 0x97a2, 0x97a3, 0x97a4, 0x97a5, 0x97a6, 0x97a7,\n    0x97a8, 0x97a9, 0x97aa, 0x97ab, 0x97ac, 0x97ad, 0x97ae, 0x97af,\n    0x97b0, 0x97b1, 0x97b2, 0x97b3, 0x97b4, 0x97b5, 0x97b6, 0x97b7,\n    0x97b8, 0x97b9, 0x97ba, 0x97bb, 0x97bc, 0x97bd, 0x97be, 0x97bf,\n    /* 0xc000 .. 0xc0ff */\n    0x97c0, 0x97c1, 0x97c2, 0x97c3, 0x97c4, 0x97c5, 0x97c6, 0x97c7,\n    0x97c8, 0x97c9, 0x97ca, 0x97cb, 0x97cc, 0x97cd, 0x97ce, 0x97cf,\n    0x97d0, 0x97d1, 0x97d2, 0x97d3, 0x97d4, 0x97d5, 0x97d6, 0x97d7,\n    0x97d8, 0x97d9, 0x97da, 0x97db, 0x97dc, 0x97dd, 0x97de, 0x97df,\n    0x97e0, 0x97e1, 0x97e2, 0x97e3, 0x97e4, 0x97e5, 0x97e6, 0x97e7,\n    0x97e8, 0x97e9, 0x97ea, 0x97eb, 0x97ec, 0x97ed, 0x97ee, 0x97ef,\n    0x97f0, 0x97f1, 0x97f2, 0x97f3, 0x97f4, 0x97f5, 0x97f6, 0x97f7,\n    0x97f8, 0x97f9, 0x97fa, 0x97fb, 0xbbd8, 0x97fc, 0x97fd, 0x97fe,\n    0x9841, 0x9842, 0x9843, 0x9844, 0x9845, 0x9846, 0x9847, 0x9848,\n    0x9849, 0x984a, 0x984b, 0x984c, 0x984d, 0x984e, 0x984f, 0x9850,\n    0x9851, 0xbbd9, 0x9852, 0x9853, 0x9854, 0x9855, 0x9856, 0x9857,\n    0xbbda, 0x9858, 0x9859, 0x985a, 0xbbdb, 0x9861, 0x9862, 0x9863,\n    0xbbdc, 0x9864, 0x9865, 0x9866, 0x9867, 0x9868, 0x9869, 0x986a,\n    0xbbdd, 0xbbde, 0x986b, 0x986c, 0x986d, 0x986e, 0x986f, 0x9870,\n    0x9871, 0x9872, 0x9873, 0x9874, 0x9875, 0x9876, 0x9877, 0x9878,\n    0x9879, 0x987a, 0x9881, 0x9882, 0x9883, 0x9884, 0x9885, 0x9886,\n    0x9887, 0x9888, 0x9889, 0x988a, 0x988b, 0x988c, 0x988d, 0x988e,\n    0x988f, 0x9890, 0x9891, 0x9892, 0x9893, 0x9894, 0x9895, 0x9896,\n    0xbbdf, 0xbbe0, 0x9897, 0x9898, 0xbbe1, 0x9899, 0x989a, 0x989b,\n    0xbbe2, 0x989c, 0x989d, 0x989e, 0x989f, 0x98a0, 0x98a1, 0x98a2,\n    0xbbe3, 0xbbe4, 0x98a3, 0xbbe5, 0x98a4, 0xbbe6, 0x98a5, 0x98a6,\n    0x98a7, 0x98a8, 0x98a9, 0x98aa, 0xbbe7, 0xbbe8, 0x98ab, 0xbbe9,\n    0xbbea, 0x98ac, 0x98ad, 0xbbeb, 0xbbec, 0xbbed, 0xbbee, 0x98ae,\n    0x98af, 0x98b0, 0x98b1, 0x98b2, 0xbbef, 0xbbf0, 0x98b3, 0xbbf1,\n    0xbbf2, 0xbbf3, 0x98b4, 0x98b5, 0x98b6, 0xbbf4, 0x98b7, 0x98b8,\n    0xbbf5, 0xbbf6, 0x98b9, 0x98ba, 0xbbf7, 0x98bb, 0x98bc, 0x98bd,\n    0xbbf8, 0x98be, 0x98bf, 0x98c0, 0x98c1, 0x98c2, 0x98c3, 0x98c4,\n    0xbbf9, 0xbbfa, 0x98c5, 0xbbfb, 0xbbfc, 0xbbfd, 0x98c6, 0x98c7,\n    0x98c8, 0x98c9, 0x98ca, 0x98cb, 0xbbfe, 0xbca1, 0x98cc, 0x98cd,\n    0xbca2, 0x98ce, 0x98cf, 0x98d0, 0xbca3, 0x98d1, 0x98d2, 0x98d3,\n    0x98d4, 0x98d5, 0x98d6, 0x98d7, 0xbca4, 0xbca5, 0x98d8, 0xbca6,\n    0x98d9, 0xbca7, 0x98da, 0x98db, 0x98dc, 0x98dd, 0x98de, 0x98df,\n    /* 0xc100 .. 0xc1ff */\n    0xbca8, 0x98e0, 0x98e1, 0x98e2, 0xbca9, 0x98e3, 0x98e4, 0x98e5,\n    0xbcaa, 0x98e6, 0x98e7, 0x98e8, 0x98e9, 0x98ea, 0x98eb, 0x98ec,\n    0xbcab, 0x98ed, 0x98ee, 0x98ef, 0x98f0, 0xbcac, 0x98f1, 0x98f2,\n    0x98f3, 0x98f4, 0x98f5, 0x98f6, 0xbcad, 0xbcae, 0xbcaf, 0xbcb0,\n    0xbcb1, 0x98f7, 0x98f8, 0xbcb2, 0xbcb3, 0x98f9, 0xbcb4, 0xbcb5,\n    0x98fa, 0x98fb, 0x98fc, 0x98fd, 0xbcb6, 0xbcb7, 0x98fe, 0xbcb8,\n    0xbcb9, 0xbcba, 0x9941, 0x9942, 0x9943, 0x9944, 0xbcbb, 0x9945,\n    0xbcbc, 0xbcbd, 0x9946, 0x9947, 0xbcbe, 0x9948, 0x9949, 0x994a,\n    0xbcbf, 0x994b, 0x994c, 0x994d, 0x994e, 0x994f, 0x9950, 0x9951,\n    0xbcc0, 0xbcc1, 0x9952, 0xbcc2, 0xbcc3, 0xbcc4, 0x9953, 0x9954,\n    0x9955, 0x9956, 0x9957, 0x9958, 0xbcc5, 0xbcc6, 0x9959, 0x995a,\n    0xbcc7, 0x9961, 0x9962, 0x9963, 0xbcc8, 0x9964, 0x9965, 0x9966,\n    0x9967, 0x9968, 0x9969, 0x996a, 0xbcc9, 0xbcca, 0x996b, 0xbccb,\n    0xbccc, 0xbccd, 0x996c, 0x996d, 0x996e, 0x996f, 0x9970, 0x9971,\n    0xbcce, 0x9972, 0x9973, 0x9974, 0xbccf, 0x9975, 0x9976, 0x9977,\n    0xbcd0, 0x9978, 0x9979, 0x997a, 0x9981, 0x9982, 0x9983, 0x9984,\n    0x9985, 0x9986, 0x9987, 0x9988, 0x9989, 0xbcd1, 0x998a, 0x998b,\n    0x998c, 0x998d, 0x998e, 0x998f, 0xbcd2, 0xbcd3, 0xbcd4, 0x9990,\n    0xbcd5, 0x9991, 0x9992, 0x9993, 0xbcd6, 0x9994, 0xbcd7, 0x9995,\n    0x9996, 0x9997, 0x9998, 0x9999, 0xbcd8, 0xbcd9, 0x999a, 0xbcda,\n    0x999b, 0xbcdb, 0x999c, 0x999d, 0x999e, 0xbcdc, 0x999f, 0x99a0,\n    0xbcdd, 0xbcde, 0x99a1, 0x99a2, 0xbcdf, 0x99a3, 0x99a4, 0x99a5,\n    0xbce0, 0x99a6, 0x99a7, 0x99a8, 0x99a9, 0x99aa, 0x99ab, 0x99ac,\n    0x99ad, 0x99ae, 0x99af, 0x99b0, 0x99b1, 0xbce1, 0x99b2, 0x99b3,\n    0x99b4, 0x99b5, 0x99b6, 0x99b7, 0xbce2, 0x99b8, 0x99b9, 0x99ba,\n    0xbce3, 0x99bb, 0x99bc, 0x99bd, 0xbce4, 0x99be, 0x99bf, 0x99c0,\n    0x99c1, 0x99c2, 0x99c3, 0x99c4, 0xbce5, 0x99c5, 0x99c6, 0xbce6,\n    0xbce7, 0x99c7, 0x99c8, 0x99c9, 0x99ca, 0x99cb, 0x99cc, 0x99cd,\n    0xbce8, 0x99ce, 0x99cf, 0x99d0, 0xbce9, 0x99d1, 0x99d2, 0x99d3,\n    0xbcea, 0x99d4, 0x99d5, 0x99d6, 0x99d7, 0x99d8, 0x99d9, 0x99da,\n    0xbceb, 0xbcec, 0x99db, 0xbced, 0x99dc, 0x99dd, 0x99de, 0x99df,\n    0x99e0, 0x99e1, 0x99e2, 0x99e3, 0xbcee, 0xbcef, 0x99e4, 0x99e5,\n    /* 0xc200 .. 0xc2ff */\n    0xbcf0, 0x99e6, 0x99e7, 0x99e8, 0xbcf1, 0x99e9, 0x99ea, 0x99eb,\n    0x99ec, 0x99ed, 0x99ee, 0x99ef, 0xbcf2, 0xbcf3, 0x99f0, 0xbcf4,\n    0x99f1, 0xbcf5, 0x99f2, 0x99f3, 0x99f4, 0x99f5, 0x99f6, 0x99f7,\n    0xbcf6, 0xbcf7, 0x99f8, 0x99f9, 0xbcf8, 0x99fa, 0x99fb, 0xbcf9,\n    0xbcfa, 0x99fc, 0x99fd, 0x99fe, 0x9a41, 0x9a42, 0x9a43, 0x9a44,\n    0xbcfb, 0xbcfc, 0x9a45, 0xbcfd, 0x9a46, 0xbcfe, 0x9a47, 0xbda1,\n    0x9a48, 0xbda2, 0xbda3, 0x9a49, 0xbda4, 0x9a4a, 0x9a4b, 0x9a4c,\n    0x9a4d, 0x9a4e, 0x9a4f, 0x9a50, 0x9a51, 0x9a52, 0x9a53, 0x9a54,\n    0x9a55, 0x9a56, 0x9a57, 0x9a58, 0x9a59, 0x9a5a, 0x9a61, 0x9a62,\n    0xbda5, 0x9a63, 0x9a64, 0x9a65, 0x9a66, 0x9a67, 0x9a68, 0x9a69,\n    0xbda6, 0xbda7, 0x9a6a, 0x9a6b, 0xbda8, 0x9a6c, 0x9a6d, 0x9a6e,\n    0xbda9, 0x9a6f, 0x9a70, 0x9a71, 0x9a72, 0x9a73, 0x9a74, 0x9a75,\n    0xbdaa, 0x9a76, 0x9a77, 0x9a78, 0x9a79, 0xbdab, 0x9a7a, 0x9a81,\n    0x9a82, 0x9a83, 0x9a84, 0x9a85, 0xbdac, 0xbdad, 0x9a86, 0x9a87,\n    0xbdae, 0x9a88, 0x9a89, 0x9a8a, 0xbdaf, 0x9a8b, 0x9a8c, 0x9a8d,\n    0x9a8e, 0x9a8f, 0x9a90, 0x9a91, 0xbdb0, 0xbdb1, 0x9a92, 0xbdb2,\n    0x9a93, 0xbdb3, 0x9a94, 0x9a95, 0x9a96, 0x9a97, 0x9a98, 0x9a99,\n    0xbdb4, 0xbdb5, 0x9a9a, 0x9a9b, 0x9a9c, 0x9a9d, 0x9a9e, 0x9a9f,\n    0xbdb6, 0x9aa0, 0x9aa1, 0x9aa2, 0x9aa3, 0x9aa4, 0x9aa5, 0x9aa6,\n    0xbdb7, 0x9aa7, 0x9aa8, 0xbdb8, 0x9aa9, 0xbdb9, 0x9aaa, 0x9aab,\n    0x9aac, 0x9aad, 0x9aae, 0x9aaf, 0xbdba, 0xbdbb, 0x9ab0, 0x9ab1,\n    0xbdbc, 0x9ab2, 0x9ab3, 0x9ab4, 0xbdbd, 0xbdbe, 0x9ab5, 0x9ab6,\n    0x9ab7, 0x9ab8, 0x9ab9, 0x9aba, 0xbdbf, 0xbdc0, 0x9abb, 0xbdc1,\n    0x9abc, 0xbdc2, 0x9abd, 0x9abe, 0x9abf, 0x9ac0, 0x9ac1, 0x9ac2,\n    0x9ac3, 0x9ac4, 0x9ac5, 0x9ac6, 0x9ac7, 0x9ac8, 0x9ac9, 0x9aca,\n    0x9acb, 0x9acc, 0x9acd, 0x9ace, 0x9acf, 0x9ad0, 0x9ad1, 0x9ad2,\n    0x9ad3, 0x9ad4, 0x9ad5, 0x9ad6, 0x9ad7, 0x9ad8, 0x9ad9, 0x9ada,\n    0x9adb, 0x9adc, 0x9add, 0x9ade, 0xbdc3, 0xbdc4, 0x9adf, 0x9ae0,\n    0xbdc5, 0x9ae1, 0x9ae2, 0xbdc6, 0xbdc7, 0x9ae3, 0x9ae4, 0x9ae5,\n    0x9ae6, 0x9ae7, 0x9ae8, 0xbdc8, 0xbdc9, 0xbdca, 0x9ae9, 0xbdcb,\n    0x9aea, 0xbdcc, 0x9aeb, 0x9aec, 0x9aed, 0x9aee, 0xbdcd, 0x9aef,\n    0xbdce, 0xbdcf, 0x9af0, 0xbdd0, 0xbdd1, 0x9af1, 0x9af2, 0x9af3,\n    /* 0xc300 .. 0xc3ff */\n    0xbdd2, 0x9af4, 0x9af5, 0x9af6, 0x9af7, 0x9af8, 0x9af9, 0x9afa,\n    0xbdd3, 0xbdd4, 0x9afb, 0x9afc, 0xbdd5, 0xbdd6, 0x9afd, 0x9afe,\n    0x9b41, 0x9b42, 0x9b43, 0xbdd7, 0xbdd8, 0xbdd9, 0x9b44, 0x9b45,\n    0xbdda, 0x9b46, 0x9b47, 0x9b48, 0xbddb, 0x9b49, 0x9b4a, 0x9b4b,\n    0x9b4c, 0x9b4d, 0x9b4e, 0x9b4f, 0xbddc, 0xbddd, 0x9b50, 0x9b51,\n    0xbdde, 0xbddf, 0x9b52, 0x9b53, 0x9b54, 0x9b55, 0x9b56, 0x9b57,\n    0x9b58, 0x9b59, 0x9b5a, 0x9b61, 0x9b62, 0x9b63, 0x9b64, 0x9b65,\n    0x9b66, 0x9b67, 0x9b68, 0x9b69, 0x9b6a, 0x9b6b, 0x9b6c, 0x9b6d,\n    0x9b6e, 0x9b6f, 0x9b70, 0x9b71, 0x9b72, 0xbde0, 0x9b73, 0x9b74,\n    0x9b75, 0x9b76, 0x9b77, 0x9b78, 0x9b79, 0x9b7a, 0x9b81, 0x9b82,\n    0x9b83, 0x9b84, 0x9b85, 0x9b86, 0x9b87, 0x9b88, 0x9b89, 0x9b8a,\n    0x9b8b, 0x9b8c, 0x9b8d, 0x9b8e, 0x9b8f, 0x9b90, 0x9b91, 0x9b92,\n    0x9b93, 0x9b94, 0x9b95, 0x9b96, 0x9b97, 0x9b98, 0x9b99, 0x9b9a,\n    0xbde1, 0xbde2, 0x9b9b, 0x9b9c, 0xbde3, 0x9b9d, 0x9b9e, 0x9b9f,\n    0xbde4, 0x9ba0, 0xbde5, 0x9ba1, 0x9ba2, 0x9ba3, 0x9ba4, 0x9ba5,\n    0xbde6, 0xbde7, 0x9ba6, 0x9ba7, 0xbde8, 0xbde9, 0x9ba8, 0x9ba9,\n    0x9baa, 0x9bab, 0x9bac, 0x9bad, 0xbdea, 0x9bae, 0x9baf, 0x9bb0,\n    0xbdeb, 0x9bb1, 0x9bb2, 0x9bb3, 0xbdec, 0x9bb4, 0x9bb5, 0x9bb6,\n    0x9bb7, 0x9bb8, 0x9bb9, 0x9bba, 0x9bbb, 0x9bbc, 0x9bbd, 0x9bbe,\n    0x9bbf, 0x9bc0, 0x9bc1, 0x9bc2, 0x9bc3, 0x9bc4, 0x9bc5, 0x9bc6,\n    0x9bc7, 0x9bc8, 0x9bc9, 0x9bca, 0x9bcb, 0x9bcc, 0x9bcd, 0x9bce,\n    0x9bcf, 0x9bd0, 0x9bd1, 0x9bd2, 0x9bd3, 0x9bd4, 0x9bd5, 0x9bd6,\n    0x9bd7, 0x9bd8, 0x9bd9, 0x9bda, 0x9bdb, 0x9bdc, 0x9bdd, 0x9bde,\n    0x9bdf, 0x9be0, 0x9be1, 0x9be2, 0x9be3, 0x9be4, 0x9be5, 0x9be6,\n    0xbded, 0x9be7, 0x9be8, 0x9be9, 0x9bea, 0x9beb, 0x9bec, 0x9bed,\n    0x9bee, 0x9bef, 0x9bf0, 0x9bf1, 0x9bf2, 0x9bf3, 0x9bf4, 0x9bf5,\n    0x9bf6, 0x9bf7, 0x9bf8, 0x9bf9, 0x9bfa, 0x9bfb, 0x9bfc, 0x9bfd,\n    0xbdee, 0xbdef, 0x9bfe, 0x9c41, 0xbdf0, 0x9c42, 0x9c43, 0xbdf1,\n    0xbdf2, 0x9c44, 0xbdf3, 0x9c45, 0x9c46, 0x9c47, 0x9c48, 0x9c49,\n    0xbdf4, 0xbdf5, 0x9c4a, 0x9c4b, 0x9c4c, 0xbdf6, 0x9c4d, 0x9c4e,\n    0x9c4f, 0x9c50, 0x9c51, 0x9c52, 0xbdf7, 0xbdf8, 0x9c53, 0x9c54,\n    0xbdf9, 0x9c55, 0x9c56, 0x9c57, 0x9c58, 0x9c59, 0x9c5a, 0x9c61,\n    /* 0xc400 .. 0xc4ff */\n    0x9c62, 0x9c63, 0x9c64, 0x9c65, 0x9c66, 0x9c67, 0x9c68, 0x9c69,\n    0xbdfa, 0x9c6a, 0x9c6b, 0x9c6c, 0x9c6d, 0x9c6e, 0x9c6f, 0x9c70,\n    0xbdfb, 0x9c71, 0x9c72, 0x9c73, 0x9c74, 0x9c75, 0x9c76, 0x9c77,\n    0x9c78, 0x9c79, 0x9c7a, 0x9c81, 0x9c82, 0x9c83, 0x9c84, 0x9c85,\n    0x9c86, 0x9c87, 0x9c88, 0x9c89, 0xbdfc, 0x9c8a, 0x9c8b, 0x9c8c,\n    0x9c8d, 0x9c8e, 0x9c8f, 0x9c90, 0xbdfd, 0x9c91, 0x9c92, 0x9c93,\n    0xbdfe, 0x9c94, 0x9c95, 0x9c96, 0xbea1, 0x9c97, 0x9c98, 0x9c99,\n    0x9c9a, 0x9c9b, 0x9c9c, 0x9c9d, 0xbea2, 0xbea3, 0x9c9e, 0x9c9f,\n    0x9ca0, 0x9ca1, 0x9ca2, 0x9ca3, 0x9ca4, 0x9ca5, 0x9ca6, 0x9ca7,\n    0xbea4, 0x9ca8, 0x9ca9, 0x9caa, 0x9cab, 0x9cac, 0x9cad, 0x9cae,\n    0x9caf, 0x9cb0, 0x9cb1, 0x9cb2, 0x9cb3, 0x9cb4, 0x9cb5, 0x9cb6,\n    0x9cb7, 0x9cb8, 0x9cb9, 0x9cba, 0x9cbb, 0x9cbc, 0x9cbd, 0x9cbe,\n    0x9cbf, 0x9cc0, 0x9cc1, 0x9cc2, 0xbea5, 0xbea6, 0x9cc3, 0x9cc4,\n    0xbea7, 0x9cc5, 0x9cc6, 0x9cc7, 0xbea8, 0x9cc8, 0x9cc9, 0x9cca,\n    0x9ccb, 0x9ccc, 0x9ccd, 0x9cce, 0xbea9, 0xbeaa, 0x9ccf, 0x9cd0,\n    0x9cd1, 0xbeab, 0x9cd2, 0x9cd3, 0x9cd4, 0x9cd5, 0x9cd6, 0x9cd7,\n    0xbeac, 0x9cd8, 0x9cd9, 0x9cda, 0x9cdb, 0x9cdc, 0x9cdd, 0x9cde,\n    0x9cdf, 0x9ce0, 0x9ce1, 0x9ce2, 0x9ce3, 0x9ce4, 0x9ce5, 0x9ce6,\n    0x9ce7, 0x9ce8, 0x9ce9, 0x9cea, 0xbead, 0x9ceb, 0x9cec, 0x9ced,\n    0x9cee, 0x9cef, 0x9cf0, 0x9cf1, 0xbeae, 0x9cf2, 0x9cf3, 0x9cf4,\n    0x9cf5, 0x9cf6, 0x9cf7, 0x9cf8, 0x9cf9, 0x9cfa, 0x9cfb, 0x9cfc,\n    0x9cfd, 0x9cfe, 0x9d41, 0x9d42, 0x9d43, 0x9d44, 0x9d45, 0x9d46,\n    0x9d47, 0x9d48, 0x9d49, 0x9d4a, 0x9d4b, 0x9d4c, 0x9d4d, 0x9d4e,\n    0xbeaf, 0x9d4f, 0x9d50, 0x9d51, 0xbeb0, 0x9d52, 0x9d53, 0x9d54,\n    0x9d55, 0x9d56, 0x9d57, 0x9d58, 0x9d59, 0x9d5a, 0x9d61, 0x9d62,\n    0x9d63, 0x9d64, 0x9d65, 0x9d66, 0x9d67, 0x9d68, 0x9d69, 0x9d6a,\n    0x9d6b, 0x9d6c, 0x9d6d, 0x9d6e, 0x9d6f, 0x9d70, 0x9d71, 0x9d72,\n    0x9d73, 0x9d74, 0x9d75, 0x9d76, 0x9d77, 0x9d78, 0x9d79, 0x9d7a,\n    0x9d81, 0x9d82, 0x9d83, 0x9d84, 0x9d85, 0x9d86, 0x9d87, 0x9d88,\n    0x9d89, 0xbeb1, 0x9d8a, 0x9d8b, 0x9d8c, 0x9d8d, 0x9d8e, 0x9d8f,\n    0xbeb2, 0xbeb3, 0x9d90, 0x9d91, 0xbeb4, 0x9d92, 0x9d93, 0x9d94,\n    0xbeb5, 0x9d95, 0xbeb6, 0x9d96, 0x9d97, 0x9d98, 0x9d99, 0xbeb7,\n    /* 0xc500 .. 0xc5ff */\n    0xbeb8, 0xbeb9, 0x9d9a, 0x9d9b, 0x9d9c, 0x9d9d, 0x9d9e, 0x9d9f,\n    0x9da0, 0x9da1, 0x9da2, 0x9da3, 0xbeba, 0x9da4, 0x9da5, 0x9da6,\n    0xbebb, 0x9da7, 0x9da8, 0x9da9, 0xbebc, 0x9daa, 0x9dab, 0x9dac,\n    0x9dad, 0x9dae, 0x9daf, 0x9db0, 0xbebd, 0x9db1, 0x9db2, 0x9db3,\n    0x9db4, 0x9db5, 0x9db6, 0x9db7, 0x9db8, 0x9db9, 0x9dba, 0x9dbb,\n    0xbebe, 0xbebf, 0x9dbc, 0x9dbd, 0xbec0, 0x9dbe, 0x9dbf, 0x9dc0,\n    0xbec1, 0x9dc1, 0x9dc2, 0x9dc3, 0x9dc4, 0x9dc5, 0x9dc6, 0x9dc7,\n    0xbec2, 0xbec3, 0x9dc8, 0xbec4, 0x9dc9, 0xbec5, 0x9dca, 0x9dcb,\n    0x9dcc, 0x9dcd, 0x9dce, 0x9dcf, 0xbec6, 0xbec7, 0x9dd0, 0x9dd1,\n    0xbec8, 0xbec9, 0xbeca, 0x9dd2, 0xbecb, 0xbecc, 0xbecd, 0x9dd3,\n    0x9dd4, 0x9dd5, 0x9dd6, 0xbece, 0xbecf, 0xbed0, 0x9dd7, 0xbed1,\n    0xbed2, 0xbed3, 0x9dd8, 0x9dd9, 0x9dda, 0xbed4, 0xbed5, 0x9ddb,\n    0xbed6, 0xbed7, 0x9ddc, 0x9ddd, 0xbed8, 0x9dde, 0x9ddf, 0x9de0,\n    0xbed9, 0x9de1, 0x9de2, 0x9de3, 0x9de4, 0x9de5, 0x9de6, 0x9de7,\n    0xbeda, 0xbedb, 0x9de8, 0xbedc, 0xbedd, 0xbede, 0x9de9, 0x9dea,\n    0x9deb, 0x9dec, 0x9ded, 0x9dee, 0xbedf, 0xbee0, 0x9def, 0x9df0,\n    0xbee1, 0x9df1, 0x9df2, 0x9df3, 0xbee2, 0x9df4, 0x9df5, 0xbee3,\n    0x9df6, 0x9df7, 0x9df8, 0x9df9, 0xbee4, 0xbee5, 0x9dfa, 0xbee6,\n    0x9dfb, 0xbee7, 0x9dfc, 0x9dfd, 0x9dfe, 0xbee8, 0x9e41, 0xbee9,\n    0xbeea, 0x9e42, 0x9e43, 0x9e44, 0xbeeb, 0x9e45, 0x9e46, 0x9e47,\n    0xbeec, 0x9e48, 0x9e49, 0x9e4a, 0x9e4b, 0x9e4c, 0x9e4d, 0x9e4e,\n    0x9e4f, 0xbeed, 0x9e50, 0x9e51, 0x9e52, 0x9e53, 0x9e54, 0x9e55,\n    0x9e56, 0x9e57, 0x9e58, 0x9e59, 0xbeee, 0xbeef, 0x9e5a, 0x9e61,\n    0xbef0, 0xbef1, 0x9e62, 0xbef2, 0xbef3, 0xbef4, 0xbef5, 0x9e63,\n    0x9e64, 0x9e65, 0x9e66, 0x9e67, 0xbef6, 0xbef7, 0xbef8, 0xbef9,\n    0xbefa, 0xbefb, 0xbefc, 0x9e68, 0xbefd, 0x9e69, 0xbefe, 0x9e6a,\n    0xbfa1, 0xbfa2, 0x9e6b, 0x9e6c, 0xbfa3, 0x9e6d, 0x9e6e, 0x9e6f,\n    0xbfa4, 0x9e70, 0x9e71, 0x9e72, 0x9e73, 0x9e74, 0x9e75, 0x9e76,\n    0xbfa5, 0xbfa6, 0x9e77, 0xbfa7, 0x9e78, 0xbfa8, 0x9e79, 0x9e7a,\n    0x9e81, 0x9e82, 0x9e83, 0x9e84, 0xbfa9, 0xbfaa, 0xbfab, 0x9e85,\n    0xbfac, 0x9e86, 0x9e87, 0x9e88, 0xbfad, 0x9e89, 0xbfae, 0xbfaf,\n    0x9e8a, 0x9e8b, 0x9e8c, 0x9e8d, 0xbfb0, 0xbfb1, 0xbfb2, 0xbfb3,\n    /* 0xc600 .. 0xc6ff */\n    0xbfb4, 0xbfb5, 0x9e8e, 0x9e8f, 0x9e90, 0xbfb6, 0xbfb7, 0xbfb8,\n    0xbfb9, 0x9e91, 0x9e92, 0x9e93, 0xbfba, 0x9e94, 0x9e95, 0x9e96,\n    0xbfbb, 0x9e97, 0x9e98, 0x9e99, 0x9e9a, 0x9e9b, 0x9e9c, 0x9e9d,\n    0xbfbc, 0xbfbd, 0x9e9e, 0xbfbe, 0xbfbf, 0x9e9f, 0x9ea0, 0x9ea1,\n    0x9ea2, 0x9ea3, 0x9ea4, 0x9ea5, 0xbfc0, 0xbfc1, 0x9ea6, 0x9ea7,\n    0xbfc2, 0x9ea8, 0x9ea9, 0x9eaa, 0xbfc3, 0xbfc4, 0xbfc5, 0x9eab,\n    0xbfc6, 0x9eac, 0x9ead, 0xbfc7, 0xbfc8, 0xbfc9, 0x9eae, 0xbfca,\n    0x9eaf, 0xbfcb, 0x9eb0, 0xbfcc, 0x9eb1, 0x9eb2, 0x9eb3, 0x9eb4,\n    0xbfcd, 0xbfce, 0x9eb5, 0x9eb6, 0xbfcf, 0x9eb7, 0x9eb8, 0x9eb9,\n    0xbfd0, 0x9eba, 0x9ebb, 0x9ebc, 0x9ebd, 0x9ebe, 0x9ebf, 0x9ec0,\n    0xbfd1, 0xbfd2, 0x9ec1, 0xbfd3, 0xbfd4, 0xbfd5, 0x9ec2, 0x9ec3,\n    0x9ec4, 0x9ec5, 0x9ec6, 0x9ec7, 0xbfd6, 0xbfd7, 0x9ec8, 0x9ec9,\n    0xbfd8, 0x9eca, 0x9ecb, 0x9ecc, 0x9ecd, 0x9ece, 0x9ecf, 0x9ed0,\n    0x9ed1, 0x9ed2, 0x9ed3, 0x9ed4, 0xbfd9, 0x9ed5, 0x9ed6, 0xbfda,\n    0x9ed7, 0xbfdb, 0x9ed8, 0x9ed9, 0x9eda, 0x9edb, 0x9edc, 0x9edd,\n    0xbfdc, 0xbfdd, 0x9ede, 0x9edf, 0xbfde, 0x9ee0, 0x9ee1, 0x9ee2,\n    0xbfdf, 0x9ee3, 0x9ee4, 0x9ee5, 0x9ee6, 0x9ee7, 0x9ee8, 0x9ee9,\n    0xbfe0, 0xbfe1, 0x9eea, 0xbfe2, 0x9eeb, 0xbfe3, 0x9eec, 0x9eed,\n    0x9eee, 0x9eef, 0x9ef0, 0x9ef1, 0xbfe4, 0xbfe5, 0x9ef2, 0x9ef3,\n    0xbfe6, 0x9ef4, 0x9ef5, 0x9ef6, 0xbfe7, 0x9ef7, 0x9ef8, 0x9ef9,\n    0x9efa, 0x9efb, 0x9efc, 0x9efd, 0xbfe8, 0xbfe9, 0x9efe, 0xbfea,\n    0x9f41, 0xbfeb, 0x9f42, 0x9f43, 0x9f44, 0x9f45, 0x9f46, 0x9f47,\n    0xbfec, 0xbfed, 0x9f48, 0x9f49, 0xbfee, 0x9f4a, 0x9f4b, 0x9f4c,\n    0xbfef, 0xbff0, 0xbff1, 0x9f4d, 0x9f4e, 0x9f4f, 0x9f50, 0x9f51,\n    0xbff2, 0xbff3, 0x9f52, 0xbff4, 0x9f53, 0xbff5, 0x9f54, 0x9f55,\n    0x9f56, 0x9f57, 0x9f58, 0x9f59, 0xbff6, 0xbff7, 0x9f5a, 0x9f61,\n    0xbff8, 0x9f62, 0x9f63, 0x9f64, 0xbff9, 0x9f65, 0x9f66, 0x9f67,\n    0x9f68, 0x9f69, 0x9f6a, 0x9f6b, 0xbffa, 0xbffb, 0x9f6c, 0x9f6d,\n    0xbffc, 0xbffd, 0x9f6e, 0x9f6f, 0x9f70, 0x9f71, 0x9f72, 0x9f73,\n    0xbffe, 0xc0a1, 0x9f74, 0x9f75, 0xc0a2, 0x9f76, 0x9f77, 0x9f78,\n    0xc0a3, 0x9f79, 0x9f7a, 0x9f81, 0x9f82, 0x9f83, 0x9f84, 0x9f85,\n    0xc0a4, 0xc0a5, 0x9f86, 0x9f87, 0x9f88, 0xc0a6, 0x9f89, 0x9f8a,\n    /* 0xc700 .. 0xc7ff */\n    0x9f8b, 0x9f8c, 0x9f8d, 0x9f8e, 0xc0a7, 0xc0a8, 0x9f8f, 0x9f90,\n    0xc0a9, 0x9f91, 0x9f92, 0x9f93, 0xc0aa, 0x9f94, 0x9f95, 0x9f96,\n    0x9f97, 0x9f98, 0x9f99, 0x9f9a, 0xc0ab, 0xc0ac, 0x9f9b, 0xc0ad,\n    0x9f9c, 0xc0ae, 0x9f9d, 0x9f9e, 0x9f9f, 0x9fa0, 0x9fa1, 0x9fa2,\n    0xc0af, 0xc0b0, 0x9fa3, 0x9fa4, 0xc0b1, 0x9fa5, 0x9fa6, 0x9fa7,\n    0xc0b2, 0x9fa8, 0x9fa9, 0x9faa, 0x9fab, 0x9fac, 0x9fad, 0x9fae,\n    0xc0b3, 0xc0b4, 0x9faf, 0xc0b5, 0x9fb0, 0xc0b6, 0x9fb1, 0xc0b7,\n    0x9fb2, 0x9fb3, 0x9fb4, 0x9fb5, 0xc0b8, 0xc0b9, 0x9fb6, 0x9fb7,\n    0xc0ba, 0x9fb8, 0x9fb9, 0x9fba, 0xc0bb, 0x9fbb, 0x9fbc, 0x9fbd,\n    0x9fbe, 0x9fbf, 0xc0bc, 0x9fc0, 0xc0bd, 0xc0be, 0x9fc1, 0xc0bf,\n    0x9fc2, 0xc0c0, 0xc0c1, 0xc0c2, 0xc0c3, 0xc0c4, 0xc0c5, 0xc0c6,\n    0xc0c7, 0x9fc3, 0x9fc4, 0x9fc5, 0xc0c8, 0x9fc6, 0x9fc7, 0x9fc8,\n    0xc0c9, 0x9fc9, 0x9fca, 0x9fcb, 0x9fcc, 0x9fcd, 0x9fce, 0x9fcf,\n    0xc0ca, 0x9fd0, 0x9fd1, 0xc0cb, 0x9fd2, 0x9fd3, 0x9fd4, 0x9fd5,\n    0x9fd6, 0x9fd7, 0x9fd8, 0x9fd9, 0xc0cc, 0xc0cd, 0x9fda, 0x9fdb,\n    0xc0ce, 0x9fdc, 0x9fdd, 0x9fde, 0xc0cf, 0xc0d0, 0xc0d1, 0x9fdf,\n    0x9fe0, 0x9fe1, 0x9fe2, 0xc0d2, 0xc0d3, 0xc0d4, 0x9fe3, 0xc0d5,\n    0xc0d6, 0xc0d7, 0xc0d8, 0x9fe4, 0x9fe5, 0x9fe6, 0xc0d9, 0x9fe7,\n    0xc0da, 0xc0db, 0x9fe8, 0x9fe9, 0xc0dc, 0x9fea, 0xc0dd, 0xc0de,\n    0xc0df, 0x9feb, 0xc0e0, 0x9fec, 0x9fed, 0x9fee, 0x9fef, 0x9ff0,\n    0xc0e1, 0xc0e2, 0x9ff1, 0xc0e3, 0xc0e4, 0xc0e5, 0xc0e6, 0x9ff2,\n    0x9ff3, 0x9ff4, 0x9ff5, 0x9ff6, 0xc0e7, 0xc0e8, 0x9ff7, 0x9ff8,\n    0xc0e9, 0x9ff9, 0x9ffa, 0x9ffb, 0xc0ea, 0x9ffc, 0x9ffd, 0x9ffe,\n    0xa041, 0xa042, 0xa043, 0xa044, 0xc0eb, 0xc0ec, 0xa045, 0xc0ed,\n    0xc0ee, 0xc0ef, 0xa046, 0xa047, 0xa048, 0xa049, 0xa04a, 0xa04b,\n    0xc0f0, 0xc0f1, 0xa04c, 0xa04d, 0xc0f2, 0xa04e, 0xc0f3, 0xa04f,\n    0xc0f4, 0xa050, 0xa051, 0xa052, 0xa053, 0xa054, 0xa055, 0xa056,\n    0xc0f5, 0xa057, 0xa058, 0xa059, 0xa05a, 0xc0f6, 0xa061, 0xa062,\n    0xa063, 0xa064, 0xa065, 0xa066, 0xc0f7, 0xa067, 0xa068, 0xa069,\n    0xc0f8, 0xa06a, 0xa06b, 0xa06c, 0xc0f9, 0xa06d, 0xa06e, 0xa06f,\n    0xa070, 0xa071, 0xa072, 0xa073, 0xa074, 0xa075, 0xa076, 0xa077,\n    0xa078, 0xa079, 0xa07a, 0xa081, 0xa082, 0xa083, 0xa084, 0xa085,\n    /* 0xc800 .. 0xc8ff */\n    0xc0fa, 0xc0fb, 0xa086, 0xa087, 0xc0fc, 0xa088, 0xa089, 0xa08a,\n    0xc0fd, 0xa08b, 0xc0fe, 0xa08c, 0xa08d, 0xa08e, 0xa08f, 0xa090,\n    0xc1a1, 0xc1a2, 0xa091, 0xc1a3, 0xa092, 0xc1a4, 0xc1a5, 0xa093,\n    0xa094, 0xa095, 0xa096, 0xa097, 0xc1a6, 0xc1a7, 0xa098, 0xa099,\n    0xc1a8, 0xa09a, 0xa09b, 0xa09c, 0xc1a9, 0xa09d, 0xa09e, 0xa09f,\n    0xa0a0, 0xa0a1, 0xa0a2, 0xa0a3, 0xc1aa, 0xc1ab, 0xa0a4, 0xc1ac,\n    0xa0a5, 0xc1ad, 0xa0a6, 0xa0a7, 0xa0a8, 0xa0a9, 0xa0aa, 0xa0ab,\n    0xc1ae, 0xa0ac, 0xa0ad, 0xa0ae, 0xc1af, 0xa0af, 0xa0b0, 0xa0b1,\n    0xc1b0, 0xa0b2, 0xa0b3, 0xa0b4, 0xa0b5, 0xa0b6, 0xa0b7, 0xa0b8,\n    0xc1b1, 0xc1b2, 0xa0b9, 0xa0ba, 0xc1b3, 0xc1b4, 0xa0bb, 0xa0bc,\n    0xa0bd, 0xa0be, 0xa0bf, 0xa0c0, 0xc1b5, 0xa0c1, 0xa0c2, 0xa0c3,\n    0xa0c4, 0xa0c5, 0xa0c6, 0xa0c7, 0xa0c8, 0xa0c9, 0xa0ca, 0xa0cb,\n    0xa0cc, 0xa0cd, 0xa0ce, 0xa0cf, 0xa0d0, 0xa0d1, 0xa0d2, 0xa0d3,\n    0xa0d4, 0xa0d5, 0xa0d6, 0xa0d7, 0xa0d8, 0xa0d9, 0xa0da, 0xa0db,\n    0xc1b6, 0xc1b7, 0xa0dc, 0xa0dd, 0xc1b8, 0xa0de, 0xa0df, 0xa0e0,\n    0xc1b9, 0xa0e1, 0xc1ba, 0xa0e2, 0xa0e3, 0xa0e4, 0xa0e5, 0xa0e6,\n    0xc1bb, 0xc1bc, 0xa0e7, 0xc1bd, 0xa0e8, 0xc1be, 0xc1bf, 0xc1c0,\n    0xa0e9, 0xa0ea, 0xa0eb, 0xc1c1, 0xc1c2, 0xc1c3, 0xa0ec, 0xa0ed,\n    0xa0ee, 0xa0ef, 0xa0f0, 0xa0f1, 0xc1c4, 0xa0f2, 0xa0f3, 0xa0f4,\n    0xa0f5, 0xa0f6, 0xa0f7, 0xa0f8, 0xa0f9, 0xc1c5, 0xa0fa, 0xc1c6,\n    0xa0fb, 0xc1c7, 0xa0fc, 0xa0fd, 0xa0fe, 0xa141, 0xa142, 0xa143,\n    0xc1c8, 0xa144, 0xa145, 0xa146, 0xa147, 0xa148, 0xa149, 0xa14a,\n    0xa14b, 0xa14c, 0xa14d, 0xa14e, 0xa14f, 0xa150, 0xa151, 0xa152,\n    0xa153, 0xa154, 0xa155, 0xa156, 0xc1c9, 0xc1ca, 0xa157, 0xa158,\n    0xa159, 0xa15a, 0xa161, 0xa162, 0xc1cb, 0xa163, 0xa164, 0xa165,\n    0xc1cc, 0xa166, 0xa167, 0xa168, 0xc1cd, 0xa169, 0xa16a, 0xa16b,\n    0xa16c, 0xa16d, 0xa16e, 0xa16f, 0xc1ce, 0xc1cf, 0xa170, 0xc1d0,\n    0xa171, 0xc1d1, 0xa172, 0xa173, 0xa174, 0xa175, 0xa176, 0xa177,\n    0xc1d2, 0xc1d3, 0xa178, 0xa179, 0xc1d4, 0xa17a, 0xa181, 0xa182,\n    0xa183, 0xa184, 0xa185, 0xa186, 0xa187, 0xa188, 0xa189, 0xa18a,\n    0xa18b, 0xa18c, 0xa18d, 0xa18e, 0xa18f, 0xc1d5, 0xa190, 0xa191,\n    0xa192, 0xa193, 0xa194, 0xa195, 0xc1d6, 0xc1d7, 0xa196, 0xa197,\n    /* 0xc900 .. 0xc9ff */\n    0xc1d8, 0xa198, 0xa199, 0xa19a, 0xc1d9, 0xc1da, 0xc1db, 0xa19b,\n    0xa19c, 0xa19d, 0xa19e, 0xa19f, 0xc1dc, 0xc1dd, 0xa1a0, 0xc1de,\n    0xa241, 0xc1df, 0xa242, 0xa243, 0xa244, 0xa245, 0xa246, 0xa247,\n    0xc1e0, 0xa248, 0xa249, 0xa24a, 0xa24b, 0xa24c, 0xa24d, 0xa24e,\n    0xa24f, 0xa250, 0xa251, 0xa252, 0xa253, 0xa254, 0xa255, 0xa256,\n    0xa257, 0xa258, 0xa259, 0xa25a, 0xc1e1, 0xa261, 0xa262, 0xa263,\n    0xa264, 0xa265, 0xa266, 0xa267, 0xc1e2, 0xa268, 0xa269, 0xa26a,\n    0xa26b, 0xa26c, 0xa26d, 0xa26e, 0xa26f, 0xa270, 0xa271, 0xa272,\n    0xa273, 0xa274, 0xa275, 0xa276, 0xa277, 0xa278, 0xa279, 0xa27a,\n    0xa281, 0xa282, 0xa283, 0xa284, 0xa285, 0xa286, 0xa287, 0xa288,\n    0xc1e3, 0xc1e4, 0xa289, 0xa28a, 0xc1e5, 0xa28b, 0xa28c, 0xa28d,\n    0xc1e6, 0xa28e, 0xa28f, 0xa290, 0xa291, 0xa292, 0xa293, 0xa294,\n    0xc1e7, 0xc1e8, 0xa295, 0xc1e9, 0xa296, 0xa297, 0xa298, 0xa299,\n    0xa29a, 0xa29b, 0xa29c, 0xa29d, 0xc1ea, 0xa29e, 0xa29f, 0xa2a0,\n    0xc1eb, 0xa341, 0xa342, 0xa343, 0xc1ec, 0xa344, 0xa345, 0xa346,\n    0xa347, 0xa348, 0xa349, 0xa34a, 0xc1ed, 0xa34b, 0xa34c, 0xa34d,\n    0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352, 0xa353, 0xa354, 0xa355,\n    0xc1ee, 0xc1ef, 0xa356, 0xa357, 0xc1f0, 0xa358, 0xa359, 0xa35a,\n    0xc1f1, 0xa361, 0xa362, 0xa363, 0xa364, 0xa365, 0xa366, 0xa367,\n    0xc1f2, 0xc1f3, 0xa368, 0xc1f4, 0xa369, 0xc1f5, 0xa36a, 0xa36b,\n    0xa36c, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371, 0xa372, 0xa373,\n    0xa374, 0xa375, 0xa376, 0xa377, 0xa378, 0xa379, 0xa37a, 0xa381,\n    0xa382, 0xa383, 0xa384, 0xa385, 0xa386, 0xa387, 0xa388, 0xa389,\n    0xa38a, 0xa38b, 0xa38c, 0xa38d, 0xa38e, 0xa38f, 0xa390, 0xa391,\n    0xc1f6, 0xc1f7, 0xa392, 0xa393, 0xc1f8, 0xa394, 0xa395, 0xc1f9,\n    0xc1fa, 0xa396, 0xc1fb, 0xa397, 0xa398, 0xa399, 0xa39a, 0xa39b,\n    0xc1fc, 0xc1fd, 0xa39c, 0xc1fe, 0xa39d, 0xc2a1, 0xc2a2, 0xa39e,\n    0xa39f, 0xc2a3, 0xc2a4, 0xa3a0, 0xc2a5, 0xc2a6, 0xa441, 0xa442,\n    0xc2a7, 0xa443, 0xc2a8, 0xa444, 0xc2a9, 0xa445, 0xa446, 0xc2aa,\n    0xa447, 0xa448, 0xa449, 0xa44a, 0xc2ab, 0xc2ac, 0xa44b, 0xc2ad,\n    0xc2ae, 0xc2af, 0xa44c, 0xa44d, 0xa44e, 0xa44f, 0xa450, 0xa451,\n    0xc2b0, 0xc2b1, 0xa452, 0xa453, 0xc2b2, 0xa454, 0xa455, 0xa456,\n    /* 0xca00 .. 0xcaff */\n    0xc2b3, 0xa457, 0xa458, 0xa459, 0xa45a, 0xa461, 0xa462, 0xa463,\n    0xc2b4, 0xc2b5, 0xa464, 0xc2b6, 0xc2b7, 0xc2b8, 0xa465, 0xa466,\n    0xa467, 0xa468, 0xa469, 0xa46a, 0xc2b9, 0xa46b, 0xa46c, 0xa46d,\n    0xc2ba, 0xa46e, 0xa46f, 0xa470, 0xa471, 0xa472, 0xa473, 0xa474,\n    0xa475, 0xa476, 0xa477, 0xa478, 0xa479, 0xa47a, 0xa481, 0xa482,\n    0xa483, 0xc2bb, 0xa484, 0xa485, 0xa486, 0xa487, 0xa488, 0xa489,\n    0xa48a, 0xa48b, 0xa48c, 0xa48d, 0xa48e, 0xa48f, 0xa490, 0xa491,\n    0xa492, 0xa493, 0xa494, 0xa495, 0xa496, 0xa497, 0xa498, 0xa499,\n    0xa49a, 0xa49b, 0xa49c, 0xa49d, 0xa49e, 0xa49f, 0xa4a0, 0xa541,\n    0xa542, 0xa543, 0xa544, 0xa545, 0xc2bc, 0xc2bd, 0xa546, 0xa547,\n    0xc2be, 0xa548, 0xa549, 0xa54a, 0xc2bf, 0xa54b, 0xa54c, 0xa54d,\n    0xa54e, 0xa54f, 0xa550, 0xa551, 0xc2c0, 0xc2c1, 0xa552, 0xc2c2,\n    0xc2c3, 0xc2c4, 0xa553, 0xa554, 0xa555, 0xa556, 0xa557, 0xa558,\n    0xc2c5, 0xa559, 0xa55a, 0xa561, 0xa562, 0xa563, 0xa564, 0xa565,\n    0xa566, 0xa567, 0xa568, 0xa569, 0xa56a, 0xa56b, 0xa56c, 0xa56d,\n    0xa56e, 0xa56f, 0xa570, 0xa571, 0xa572, 0xc2c6, 0xa573, 0xa574,\n    0xa575, 0xa576, 0xa577, 0xa578, 0xc2c7, 0xa579, 0xa57a, 0xa581,\n    0xa582, 0xa583, 0xa584, 0xa585, 0xa586, 0xa587, 0xa588, 0xa589,\n    0xa58a, 0xa58b, 0xa58c, 0xa58d, 0xa58e, 0xa58f, 0xa590, 0xa591,\n    0xc2c8, 0xa592, 0xa593, 0xa594, 0xa595, 0xa596, 0xa597, 0xa598,\n    0xa599, 0xa59a, 0xa59b, 0xa59c, 0xa59d, 0xa59e, 0xa59f, 0xa5a0,\n    0xa641, 0xa642, 0xa643, 0xa644, 0xa645, 0xa646, 0xa647, 0xa648,\n    0xa649, 0xa64a, 0xa64b, 0xa64c, 0xa64d, 0xa64e, 0xa64f, 0xa650,\n    0xa651, 0xa652, 0xa653, 0xa654, 0xc2c9, 0xc2ca, 0xa655, 0xa656,\n    0xc2cb, 0xa657, 0xa658, 0xa659, 0xc2cc, 0xa65a, 0xa661, 0xa662,\n    0xa663, 0xa664, 0xa665, 0xa666, 0xc2cd, 0xc2ce, 0xa667, 0xc2cf,\n    0xa668, 0xc2d0, 0xa669, 0xc2d1, 0xa66a, 0xa66b, 0xa66c, 0xa66d,\n    0xc2d2, 0xc2d3, 0xa66e, 0xa66f, 0xa670, 0xa671, 0xa672, 0xa673,\n    0xc2d4, 0xa674, 0xa675, 0xa676, 0xa677, 0xa678, 0xa679, 0xa67a,\n    0xa681, 0xa682, 0xa683, 0xa684, 0xc2d5, 0xa685, 0xa686, 0xa687,\n    0xa688, 0xa689, 0xa68a, 0xa68b, 0xc2d6, 0xa68c, 0xa68d, 0xa68e,\n    0xa68f, 0xa690, 0xa691, 0xa692, 0xa693, 0xa694, 0xa695, 0xa696,\n    /* 0xcb00 .. 0xcbff */\n    0xa697, 0xa698, 0xa699, 0xa69a, 0xa69b, 0xa69c, 0xa69d, 0xa69e,\n    0xc2d7, 0xa69f, 0xa6a0, 0xa741, 0xa742, 0xa743, 0xa744, 0xa745,\n    0xc2d8, 0xa746, 0xa747, 0xa748, 0xc2d9, 0xa749, 0xa74a, 0xa74b,\n    0xc2da, 0xa74c, 0xa74d, 0xa74e, 0xa74f, 0xa750, 0xa751, 0xa752,\n    0xc2db, 0xc2dc, 0xa753, 0xa754, 0xa755, 0xa756, 0xa757, 0xa758,\n    0xa759, 0xa75a, 0xa761, 0xa762, 0xa763, 0xa764, 0xa765, 0xa766,\n    0xa767, 0xa768, 0xa769, 0xa76a, 0xa76b, 0xa76c, 0xa76d, 0xa76e,\n    0xa76f, 0xa770, 0xa771, 0xa772, 0xa773, 0xa774, 0xa775, 0xa776,\n    0xa777, 0xc2dd, 0xa778, 0xa779, 0xa77a, 0xa781, 0xa782, 0xa783,\n    0xc2de, 0xc2df, 0xa784, 0xa785, 0xc2e0, 0xa786, 0xa787, 0xa788,\n    0xc2e1, 0xa789, 0xa78a, 0xa78b, 0xa78c, 0xa78d, 0xa78e, 0xa78f,\n    0xc2e2, 0xc2e3, 0xa790, 0xa791, 0xa792, 0xc2e4, 0xa793, 0xa794,\n    0xa795, 0xa796, 0xa797, 0xa798, 0xc2e5, 0xa799, 0xa79a, 0xa79b,\n    0xa79c, 0xa79d, 0xa79e, 0xa79f, 0xa7a0, 0xa841, 0xa842, 0xa843,\n    0xa844, 0xa845, 0xa846, 0xa847, 0xa848, 0xa849, 0xa84a, 0xa84b,\n    0xc2e6, 0xc2e7, 0xa84c, 0xa84d, 0xa84e, 0xa84f, 0xa850, 0xa851,\n    0xa852, 0xa853, 0xa854, 0xa855, 0xa856, 0xa857, 0xa858, 0xa859,\n    0xa85a, 0xa861, 0xa862, 0xa863, 0xa864, 0xa865, 0xa866, 0xa867,\n    0xa868, 0xa869, 0xa86a, 0xa86b, 0xa86c, 0xa86d, 0xa86e, 0xa86f,\n    0xa870, 0xa871, 0xa872, 0xa873, 0xc2e8, 0xa874, 0xa875, 0xa876,\n    0xa877, 0xa878, 0xa879, 0xa87a, 0xa881, 0xa882, 0xa883, 0xa884,\n    0xa885, 0xa886, 0xa887, 0xa888, 0xa889, 0xa88a, 0xa88b, 0xa88c,\n    0xa88d, 0xa88e, 0xa88f, 0xa890, 0xa891, 0xa892, 0xa893, 0xa894,\n    0xc2e9, 0xa895, 0xa896, 0xa897, 0xa898, 0xa899, 0xa89a, 0xa89b,\n    0xa89c, 0xa89d, 0xa89e, 0xa89f, 0xa8a0, 0xa941, 0xa942, 0xa943,\n    0xa944, 0xa945, 0xa946, 0xa947, 0xa948, 0xa949, 0xa94a, 0xa94b,\n    0xa94c, 0xa94d, 0xa94e, 0xa94f, 0xc2ea, 0xa950, 0xa951, 0xa952,\n    0xa953, 0xa954, 0xa955, 0xa956, 0xa957, 0xa958, 0xa959, 0xa95a,\n    0xa961, 0xa962, 0xa963, 0xa964, 0xc2eb, 0xa965, 0xa966, 0xc2ec,\n    0xa967, 0xc2ed, 0xa968, 0xa969, 0xa96a, 0xa96b, 0xa96c, 0xa96d,\n    0xa96e, 0xa96f, 0xa970, 0xa971, 0xa972, 0xa973, 0xa974, 0xa975,\n    0xa976, 0xa977, 0xa978, 0xa979, 0xa97a, 0xa981, 0xa982, 0xa983,\n    /* 0xcc00 .. 0xccff */\n    0xa984, 0xa985, 0xa986, 0xa987, 0xa988, 0xa989, 0xa98a, 0xa98b,\n    0xa98c, 0xa98d, 0xa98e, 0xa98f, 0xc2ee, 0xc2ef, 0xa990, 0xa991,\n    0xc2f0, 0xa992, 0xa993, 0xa994, 0xc2f1, 0xa995, 0xa996, 0xa997,\n    0xa998, 0xa999, 0xa99a, 0xa99b, 0xc2f2, 0xc2f3, 0xa99c, 0xa99d,\n    0xa99e, 0xc2f4, 0xc2f5, 0xa99f, 0xa9a0, 0xaa41, 0xaa42, 0xc2f6,\n    0xc2f7, 0xc2f8, 0xaa43, 0xaa44, 0xc2f9, 0xaa45, 0xc2fa, 0xaa46,\n    0xc2fb, 0xaa47, 0xaa48, 0xaa49, 0xaa4a, 0xaa4b, 0xaa4c, 0xaa4d,\n    0xc2fc, 0xc2fd, 0xaa4e, 0xc2fe, 0xc3a1, 0xc3a2, 0xc3a3, 0xaa4f,\n    0xaa50, 0xaa51, 0xaa52, 0xaa53, 0xc3a4, 0xc3a5, 0xaa54, 0xaa55,\n    0xc3a6, 0xaa56, 0xaa57, 0xaa58, 0xc3a7, 0xaa59, 0xaa5a, 0xaa61,\n    0xaa62, 0xaa63, 0xaa64, 0xaa65, 0xc3a8, 0xc3a9, 0xaa66, 0xc3aa,\n    0xc3ab, 0xc3ac, 0xaa67, 0xaa68, 0xaa69, 0xaa6a, 0xaa6b, 0xaa6c,\n    0xc3ad, 0xaa6d, 0xaa6e, 0xaa6f, 0xc3ae, 0xaa70, 0xc3af, 0xaa71,\n    0xc3b0, 0xaa72, 0xaa73, 0xaa74, 0xaa75, 0xaa76, 0xaa77, 0xaa78,\n    0xc3b1, 0xaa79, 0xaa7a, 0xaa81, 0xaa82, 0xc3b2, 0xaa83, 0xaa84,\n    0xaa85, 0xaa86, 0xaa87, 0xaa88, 0xaa89, 0xaa8a, 0xaa8b, 0xaa8c,\n    0xaa8d, 0xaa8e, 0xaa8f, 0xaa90, 0xaa91, 0xaa92, 0xaa93, 0xaa94,\n    0xaa95, 0xaa96, 0xaa97, 0xaa98, 0xaa99, 0xaa9a, 0xaa9b, 0xaa9c,\n    0xaa9d, 0xaa9e, 0xaa9f, 0xaaa0, 0xab41, 0xab42, 0xab43, 0xab44,\n    0xc3b3, 0xc3b4, 0xab45, 0xab46, 0xc3b5, 0xab47, 0xab48, 0xab49,\n    0xc3b6, 0xab4a, 0xab4b, 0xab4c, 0xab4d, 0xab4e, 0xab4f, 0xab50,\n    0xc3b7, 0xc3b8, 0xab51, 0xc3b9, 0xc3ba, 0xc3bb, 0xab52, 0xab53,\n    0xab54, 0xab55, 0xab56, 0xab57, 0xc3bc, 0xc3bd, 0xab58, 0xab59,\n    0xc3be, 0xab5a, 0xab61, 0xab62, 0xc3bf, 0xab63, 0xab64, 0xab65,\n    0xab66, 0xab67, 0xab68, 0xab69, 0xc3c0, 0xc3c1, 0xab6a, 0xc3c2,\n    0xab6b, 0xc3c3, 0xab6c, 0xab6d, 0xab6e, 0xab6f, 0xab70, 0xab71,\n    0xc3c4, 0xab72, 0xab73, 0xab74, 0xc3c5, 0xab75, 0xab76, 0xab77,\n    0xab78, 0xab79, 0xab7a, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85,\n    0xab86, 0xab87, 0xab88, 0xab89, 0xc3c6, 0xab8a, 0xab8b, 0xab8c,\n    0xab8d, 0xab8e, 0xab8f, 0xab90, 0xc3c7, 0xab91, 0xab92, 0xab93,\n    0xc3c8, 0xab94, 0xab95, 0xab96, 0xab97, 0xab98, 0xab99, 0xab9a,\n    0xab9b, 0xab9c, 0xab9d, 0xab9e, 0xab9f, 0xaba0, 0xac41, 0xac42,\n    /* 0xcd00 .. 0xcdff */\n    0xac43, 0xc3c9, 0xac44, 0xac45, 0xac46, 0xac47, 0xac48, 0xac49,\n    0xc3ca, 0xc3cb, 0xac4a, 0xac4b, 0xc3cc, 0xac4c, 0xac4d, 0xac4e,\n    0xc3cd, 0xac4f, 0xac50, 0xac51, 0xac52, 0xac53, 0xac54, 0xac55,\n    0xc3ce, 0xc3cf, 0xac56, 0xc3d0, 0xac57, 0xc3d1, 0xac58, 0xac59,\n    0xac5a, 0xac61, 0xac62, 0xac63, 0xc3d2, 0xac64, 0xac65, 0xac66,\n    0xc3d3, 0xac67, 0xac68, 0xac69, 0xc3d4, 0xac6a, 0xac6b, 0xac6c,\n    0xac6d, 0xac6e, 0xac6f, 0xac70, 0xac71, 0xac72, 0xac73, 0xac74,\n    0xac75, 0xc3d5, 0xac76, 0xac77, 0xac78, 0xac79, 0xac7a, 0xac81,\n    0xac82, 0xac83, 0xac84, 0xac85, 0xac86, 0xac87, 0xac88, 0xac89,\n    0xac8a, 0xac8b, 0xac8c, 0xac8d, 0xac8e, 0xac8f, 0xac90, 0xac91,\n    0xac92, 0xac93, 0xac94, 0xac95, 0xac96, 0xac97, 0xac98, 0xac99,\n    0xac9a, 0xac9b, 0xac9c, 0xac9d, 0xc3d6, 0xac9e, 0xac9f, 0xaca0,\n    0xc3d7, 0xad41, 0xad42, 0xad43, 0xc3d8, 0xad44, 0xad45, 0xad46,\n    0xad47, 0xad48, 0xad49, 0xad4a, 0xc3d9, 0xc3da, 0xad4b, 0xc3db,\n    0xad4c, 0xc3dc, 0xad4d, 0xad4e, 0xad4f, 0xad50, 0xad51, 0xad52,\n    0xc3dd, 0xad53, 0xad54, 0xad55, 0xad56, 0xad57, 0xad58, 0xad59,\n    0xad5a, 0xad61, 0xad62, 0xad63, 0xad64, 0xad65, 0xad66, 0xad67,\n    0xc3de, 0xad68, 0xad69, 0xad6a, 0xad6b, 0xad6c, 0xad6d, 0xad6e,\n    0xad6f, 0xad70, 0xad71, 0xad72, 0xc3df, 0xc3e0, 0xad73, 0xad74,\n    0xc3e1, 0xad75, 0xad76, 0xad77, 0xc3e2, 0xad78, 0xad79, 0xad7a,\n    0xad81, 0xad82, 0xad83, 0xad84, 0xc3e3, 0xc3e4, 0xad85, 0xc3e5,\n    0xad86, 0xc3e6, 0xad87, 0xad88, 0xad89, 0xad8a, 0xad8b, 0xad8c,\n    0xc3e7, 0xad8d, 0xad8e, 0xad8f, 0xad90, 0xad91, 0xad92, 0xad93,\n    0xad94, 0xad95, 0xad96, 0xad97, 0xad98, 0xad99, 0xad9a, 0xad9b,\n    0xad9c, 0xad9d, 0xad9e, 0xad9f, 0xc3e8, 0xada0, 0xae41, 0xae42,\n    0xae43, 0xae44, 0xae45, 0xae46, 0xc3e9, 0xae47, 0xae48, 0xae49,\n    0xc3ea, 0xae4a, 0xae4b, 0xae4c, 0xae4d, 0xae4e, 0xae4f, 0xae50,\n    0xae51, 0xae52, 0xae53, 0xae54, 0xae55, 0xae56, 0xae57, 0xae58,\n    0xae59, 0xae5a, 0xae61, 0xae62, 0xae63, 0xae64, 0xae65, 0xae66,\n    0xc3eb, 0xae67, 0xae68, 0xae69, 0xc3ec, 0xae6a, 0xae6b, 0xae6c,\n    0xc3ed, 0xae6d, 0xae6e, 0xae6f, 0xae70, 0xae71, 0xae72, 0xae73,\n    0xc3ee, 0xc3ef, 0xae74, 0xc3f0, 0xae75, 0xc3f1, 0xae76, 0xae77,\n    /* 0xce00 .. 0xceff */\n    0xae78, 0xae79, 0xae7a, 0xae81, 0xc3f2, 0xae82, 0xae83, 0xae84,\n    0xc3f3, 0xae85, 0xae86, 0xae87, 0xc3f4, 0xae88, 0xae89, 0xae8a,\n    0xae8b, 0xae8c, 0xae8d, 0xae8e, 0xc3f5, 0xae8f, 0xae90, 0xae91,\n    0xae92, 0xc3f6, 0xae93, 0xae94, 0xae95, 0xae96, 0xae97, 0xae98,\n    0xc3f7, 0xc3f8, 0xae99, 0xae9a, 0xc3f9, 0xae9b, 0xae9c, 0xae9d,\n    0xc3fa, 0xae9e, 0xae9f, 0xaea0, 0xaf41, 0xaf42, 0xaf43, 0xaf44,\n    0xc3fb, 0xc3fc, 0xaf45, 0xc3fd, 0xaf46, 0xc3fe, 0xaf47, 0xaf48,\n    0xaf49, 0xaf4a, 0xaf4b, 0xaf4c, 0xaf4d, 0xaf4e, 0xaf4f, 0xaf50,\n    0xaf51, 0xaf52, 0xaf53, 0xaf54, 0xaf55, 0xaf56, 0xaf57, 0xaf58,\n    0xaf59, 0xaf5a, 0xaf61, 0xaf62, 0xaf63, 0xaf64, 0xaf65, 0xaf66,\n    0xaf67, 0xaf68, 0xaf69, 0xaf6a, 0xaf6b, 0xaf6c, 0xaf6d, 0xaf6e,\n    0xc4a1, 0xc4a2, 0xaf6f, 0xaf70, 0xc4a3, 0xaf71, 0xaf72, 0xc4a4,\n    0xc4a5, 0xc4a6, 0xaf73, 0xaf74, 0xaf75, 0xaf76, 0xaf77, 0xaf78,\n    0xc4a7, 0xc4a8, 0xaf79, 0xc4a9, 0xaf7a, 0xc4aa, 0xaf81, 0xaf82,\n    0xaf83, 0xaf84, 0xaf85, 0xaf86, 0xc4ab, 0xc4ac, 0xaf87, 0xaf88,\n    0xc4ad, 0xaf89, 0xaf8a, 0xaf8b, 0xc4ae, 0xaf8c, 0xaf8d, 0xaf8e,\n    0xaf8f, 0xaf90, 0xaf91, 0xaf92, 0xc4af, 0xc4b0, 0xaf93, 0xc4b1,\n    0xaf94, 0xc4b2, 0xaf95, 0xaf96, 0xaf97, 0xaf98, 0xaf99, 0xaf9a,\n    0xc4b3, 0xc4b4, 0xaf9b, 0xaf9c, 0xc4b5, 0xaf9d, 0xaf9e, 0xaf9f,\n    0xc4b6, 0xafa0, 0xb041, 0xb042, 0xb043, 0xb044, 0xb045, 0xb046,\n    0xc4b7, 0xc4b8, 0xb047, 0xc4b9, 0xc4ba, 0xc4bb, 0xb048, 0xb049,\n    0xb04a, 0xb04b, 0xb04c, 0xb04d, 0xc4bc, 0xc4bd, 0xb04e, 0xb04f,\n    0xb050, 0xb051, 0xb052, 0xb053, 0xb054, 0xb055, 0xb056, 0xb057,\n    0xb058, 0xb059, 0xb05a, 0xb061, 0xb062, 0xb063, 0xb064, 0xb065,\n    0xb066, 0xc4be, 0xb067, 0xb068, 0xb069, 0xb06a, 0xb06b, 0xb06c,\n    0xb06d, 0xb06e, 0xb06f, 0xb070, 0xb071, 0xb072, 0xb073, 0xb074,\n    0xb075, 0xb076, 0xb077, 0xb078, 0xb079, 0xb07a, 0xb081, 0xb082,\n    0xb083, 0xb084, 0xb085, 0xb086, 0xb087, 0xb088, 0xb089, 0xb08a,\n    0xb08b, 0xb08c, 0xb08d, 0xb08e, 0xc4bf, 0xc4c0, 0xb08f, 0xb090,\n    0xc4c1, 0xb091, 0xb092, 0xc4c2, 0xc4c3, 0xb093, 0xb094, 0xb095,\n    0xb096, 0xb097, 0xb098, 0xb099, 0xc4c4, 0xc4c5, 0xb09a, 0xc4c6,\n    0xc4c7, 0xc4c8, 0xb09b, 0xb09c, 0xb09d, 0xb09e, 0xb09f, 0xb0a0,\n    /* 0xcf00 .. 0xcfff */\n    0xc4c9, 0xc4ca, 0xb141, 0xb142, 0xc4cb, 0xb143, 0xb144, 0xb145,\n    0xc4cc, 0xb146, 0xb147, 0xb148, 0xb149, 0xb14a, 0xb14b, 0xb14c,\n    0xc4cd, 0xc4ce, 0xb14d, 0xc4cf, 0xb14e, 0xc4d0, 0xb14f, 0xb150,\n    0xb151, 0xb152, 0xb153, 0xb154, 0xc4d1, 0xb155, 0xb156, 0xb157,\n    0xc4d2, 0xb158, 0xb159, 0xb15a, 0xc4d3, 0xb161, 0xb162, 0xb163,\n    0xb164, 0xb165, 0xb166, 0xb167, 0xc4d4, 0xc4d5, 0xb168, 0xc4d6,\n    0xc4d7, 0xc4d8, 0xb169, 0xb16a, 0xb16b, 0xb16c, 0xb16d, 0xb16e,\n    0xc4d9, 0xb16f, 0xb170, 0xb171, 0xb172, 0xb173, 0xb174, 0xb175,\n    0xb176, 0xb177, 0xb178, 0xb179, 0xb17a, 0xb181, 0xb182, 0xb183,\n    0xb184, 0xb185, 0xb186, 0xb187, 0xb188, 0xb189, 0xb18a, 0xb18b,\n    0xb18c, 0xb18d, 0xb18e, 0xb18f, 0xc4da, 0xc4db, 0xb190, 0xb191,\n    0xc4dc, 0xb192, 0xb193, 0xb194, 0xc4dd, 0xb195, 0xb196, 0xb197,\n    0xb198, 0xb199, 0xb19a, 0xb19b, 0xc4de, 0xc4df, 0xb19c, 0xc4e0,\n    0xb19d, 0xc4e1, 0xb19e, 0xb19f, 0xb1a0, 0xb241, 0xb242, 0xb243,\n    0xc4e2, 0xc4e3, 0xb244, 0xb245, 0xc4e4, 0xb246, 0xb247, 0xb248,\n    0xc4e5, 0xb249, 0xb24a, 0xb24b, 0xb24c, 0xb24d, 0xb24e, 0xb24f,\n    0xc4e6, 0xb250, 0xb251, 0xb252, 0xb253, 0xc4e7, 0xb254, 0xb255,\n    0xb256, 0xb257, 0xb258, 0xb259, 0xc4e8, 0xb25a, 0xb261, 0xb262,\n    0xb263, 0xb264, 0xb265, 0xb266, 0xb267, 0xb268, 0xb269, 0xb26a,\n    0xb26b, 0xb26c, 0xb26d, 0xb26e, 0xb26f, 0xb270, 0xb271, 0xb272,\n    0xb273, 0xc4e9, 0xb274, 0xb275, 0xb276, 0xb277, 0xb278, 0xb279,\n    0xc4ea, 0xb27a, 0xb281, 0xb282, 0xb283, 0xb284, 0xb285, 0xb286,\n    0xc4eb, 0xb287, 0xb288, 0xb289, 0xb28a, 0xb28b, 0xb28c, 0xb28d,\n    0xb28e, 0xb28f, 0xb290, 0xb291, 0xb292, 0xb293, 0xb294, 0xb295,\n    0xb296, 0xb297, 0xb298, 0xb299, 0xc4ec, 0xb29a, 0xb29b, 0xb29c,\n    0xb29d, 0xb29e, 0xb29f, 0xb2a0, 0xb341, 0xb342, 0xb343, 0xb344,\n    0xb345, 0xb346, 0xb347, 0xb348, 0xb349, 0xb34a, 0xb34b, 0xb34c,\n    0xb34d, 0xb34e, 0xb34f, 0xb350, 0xb351, 0xb352, 0xb353, 0xb354,\n    0xc4ed, 0xc4ee, 0xb355, 0xb356, 0xc4ef, 0xb357, 0xb358, 0xb359,\n    0xc4f0, 0xb35a, 0xb361, 0xb362, 0xb363, 0xb364, 0xb365, 0xb366,\n    0xc4f1, 0xc4f2, 0xb367, 0xc4f3, 0xb368, 0xc4f4, 0xb369, 0xb36a,\n    0xb36b, 0xb36c, 0xb36d, 0xb36e, 0xc4f5, 0xb36f, 0xb370, 0xb371,\n    /* 0xd000 .. 0xd0ff */\n    0xc4f6, 0xb372, 0xb373, 0xb374, 0xc4f7, 0xb375, 0xb376, 0xb377,\n    0xb378, 0xb379, 0xb37a, 0xb381, 0xb382, 0xb383, 0xb384, 0xb385,\n    0xb386, 0xc4f8, 0xb387, 0xb388, 0xb389, 0xb38a, 0xb38b, 0xb38c,\n    0xc4f9, 0xb38d, 0xb38e, 0xb38f, 0xb390, 0xb391, 0xb392, 0xb393,\n    0xb394, 0xb395, 0xb396, 0xb397, 0xb398, 0xb399, 0xb39a, 0xb39b,\n    0xb39c, 0xb39d, 0xb39e, 0xb39f, 0xb3a0, 0xc4fa, 0xb441, 0xb442,\n    0xb443, 0xb444, 0xb445, 0xb446, 0xc4fb, 0xc4fc, 0xb447, 0xb448,\n    0xc4fd, 0xb449, 0xb44a, 0xb44b, 0xc4fe, 0xb44c, 0xb44d, 0xb44e,\n    0xb44f, 0xb450, 0xb451, 0xb452, 0xc5a1, 0xc5a2, 0xb453, 0xc5a3,\n    0xb454, 0xc5a4, 0xb455, 0xb456, 0xb457, 0xb458, 0xb459, 0xb45a,\n    0xc5a5, 0xb461, 0xb462, 0xb463, 0xc5a6, 0xb464, 0xb465, 0xb466,\n    0xc5a7, 0xb467, 0xb468, 0xb469, 0xb46a, 0xb46b, 0xb46c, 0xb46d,\n    0xc5a8, 0xb46e, 0xb46f, 0xb470, 0xb471, 0xb472, 0xb473, 0xb474,\n    0xb475, 0xb476, 0xb477, 0xb478, 0xc5a9, 0xc5aa, 0xb479, 0xb47a,\n    0xc5ab, 0xb481, 0xb482, 0xb483, 0xc5ac, 0xb484, 0xb485, 0xb486,\n    0xb487, 0xb488, 0xb489, 0xb48a, 0xc5ad, 0xc5ae, 0xb48b, 0xb48c,\n    0xb48d, 0xc5af, 0xb48e, 0xb48f, 0xb490, 0xb491, 0xb492, 0xb493,\n    0xb494, 0xb495, 0xb496, 0xb497, 0xb498, 0xb499, 0xb49a, 0xb49b,\n    0xb49c, 0xb49d, 0xb49e, 0xb49f, 0xb4a0, 0xb541, 0xb542, 0xb543,\n    0xb544, 0xb545, 0xb546, 0xb547, 0xb548, 0xb549, 0xb54a, 0xb54b,\n    0xb54c, 0xb54d, 0xb54e, 0xb54f, 0xc5b0, 0xc5b1, 0xb550, 0xb551,\n    0xc5b2, 0xb552, 0xb553, 0xb554, 0xc5b3, 0xb555, 0xb556, 0xb557,\n    0xb558, 0xb559, 0xb55a, 0xb561, 0xc5b4, 0xc5b5, 0xb562, 0xc5b6,\n    0xb563, 0xc5b7, 0xb564, 0xb565, 0xb566, 0xb567, 0xb568, 0xb569,\n    0xc5b8, 0xc5b9, 0xb56a, 0xb56b, 0xc5ba, 0xb56c, 0xb56d, 0xb56e,\n    0xc5bb, 0xc5bc, 0xb56f, 0xb570, 0xb571, 0xb572, 0xb573, 0xb574,\n    0xc5bd, 0xc5be, 0xb575, 0xc5bf, 0xc5c0, 0xc5c1, 0xb576, 0xb577,\n    0xb578, 0xb579, 0xb57a, 0xb581, 0xc5c2, 0xc5c3, 0xb582, 0xb583,\n    0xc5c4, 0xb584, 0xb585, 0xb586, 0xc5c5, 0xb587, 0xb588, 0xb589,\n    0xb58a, 0xb58b, 0xb58c, 0xb58d, 0xc5c6, 0xc5c7, 0xb58e, 0xc5c8,\n    0xc5c9, 0xc5ca, 0xb58f, 0xb590, 0xb591, 0xb592, 0xb593, 0xb594,\n    0xc5cb, 0xb595, 0xb596, 0xb597, 0xb598, 0xb599, 0xb59a, 0xb59b,\n    /* 0xd100 .. 0xd1ff */\n    0xb59c, 0xb59d, 0xb59e, 0xb59f, 0xb5a0, 0xb641, 0xb642, 0xb643,\n    0xb644, 0xb645, 0xb646, 0xb647, 0xb648, 0xc5cc, 0xb649, 0xb64a,\n    0xb64b, 0xb64c, 0xb64d, 0xb64e, 0xb64f, 0xb650, 0xb651, 0xb652,\n    0xb653, 0xb654, 0xb655, 0xb656, 0xb657, 0xb658, 0xb659, 0xb65a,\n    0xb661, 0xb662, 0xb663, 0xb664, 0xb665, 0xb666, 0xb667, 0xb668,\n    0xb669, 0xb66a, 0xb66b, 0xb66c, 0xb66d, 0xb66e, 0xb66f, 0xb670,\n    0xc5cd, 0xc5ce, 0xb671, 0xb672, 0xc5cf, 0xb673, 0xb674, 0xb675,\n    0xc5d0, 0xb676, 0xc5d1, 0xb677, 0xb678, 0xb679, 0xb67a, 0xb681,\n    0xc5d2, 0xc5d3, 0xb682, 0xc5d4, 0xc5d5, 0xc5d6, 0xb683, 0xb684,\n    0xb685, 0xb686, 0xb687, 0xb688, 0xc5d7, 0xc5d8, 0xb689, 0xb68a,\n    0xc5d9, 0xb68b, 0xb68c, 0xb68d, 0xc5da, 0xb68e, 0xb68f, 0xb690,\n    0xb691, 0xb692, 0xb693, 0xb694, 0xc5db, 0xc5dc, 0xb695, 0xc5dd,\n    0xb696, 0xc5de, 0xb697, 0xb698, 0xb699, 0xb69a, 0xb69b, 0xb69c,\n    0xc5df, 0xb69d, 0xb69e, 0xb69f, 0xc5e0, 0xb6a0, 0xb741, 0xb742,\n    0xb743, 0xb744, 0xb745, 0xb746, 0xb747, 0xb748, 0xb749, 0xb74a,\n    0xb74b, 0xb74c, 0xb74d, 0xb74e, 0xc5e1, 0xb74f, 0xb750, 0xb751,\n    0xb752, 0xb753, 0xb754, 0xb755, 0xc5e2, 0xb756, 0xb757, 0xb758,\n    0xc5e3, 0xb759, 0xb75a, 0xb761, 0xb762, 0xb763, 0xb764, 0xb765,\n    0xb766, 0xb767, 0xb768, 0xb769, 0xb76a, 0xb76b, 0xb76c, 0xb76d,\n    0xb76e, 0xb76f, 0xb770, 0xb771, 0xb772, 0xb773, 0xb774, 0xb775,\n    0xc5e4, 0xc5e5, 0xb776, 0xb777, 0xc5e6, 0xb778, 0xb779, 0xb77a,\n    0xc5e7, 0xb781, 0xb782, 0xb783, 0xb784, 0xb785, 0xb786, 0xb787,\n    0xc5e8, 0xc5e9, 0xb788, 0xc5ea, 0xb789, 0xc5eb, 0xb78a, 0xb78b,\n    0xb78c, 0xb78d, 0xc5ec, 0xb78e, 0xc5ed, 0xb78f, 0xb790, 0xb791,\n    0xc5ee, 0xb792, 0xb793, 0xb794, 0xb795, 0xb796, 0xb797, 0xb798,\n    0xb799, 0xb79a, 0xb79b, 0xb79c, 0xb79d, 0xb79e, 0xb79f, 0xb7a0,\n    0xb841, 0xb842, 0xb843, 0xb844, 0xb845, 0xb846, 0xb847, 0xb848,\n    0xc5ef, 0xb849, 0xb84a, 0xb84b, 0xb84c, 0xb84d, 0xb84e, 0xb84f,\n    0xb850, 0xb851, 0xb852, 0xb853, 0xb854, 0xb855, 0xb856, 0xb857,\n    0xb858, 0xb859, 0xb85a, 0xb861, 0xb862, 0xb863, 0xb864, 0xb865,\n    0xb866, 0xb867, 0xb868, 0xb869, 0xc5f0, 0xb86a, 0xb86b, 0xb86c,\n    0xc5f1, 0xb86d, 0xb86e, 0xb86f, 0xb870, 0xb871, 0xb872, 0xb873,\n    /* 0xd200 .. 0xd2ff */\n    0xb874, 0xb875, 0xb876, 0xb877, 0xb878, 0xb879, 0xb87a, 0xc5f2,\n    0xb881, 0xc5f3, 0xb882, 0xb883, 0xb884, 0xb885, 0xb886, 0xb887,\n    0xc5f4, 0xb888, 0xb889, 0xb88a, 0xb88b, 0xb88c, 0xb88d, 0xb88e,\n    0xb88f, 0xb890, 0xb891, 0xb892, 0xb893, 0xb894, 0xb895, 0xb896,\n    0xb897, 0xb898, 0xb899, 0xb89a, 0xb89b, 0xb89c, 0xb89d, 0xb89e,\n    0xb89f, 0xb8a0, 0xb941, 0xb942, 0xc5f5, 0xc5f6, 0xb943, 0xb944,\n    0xc5f7, 0xb945, 0xb946, 0xb947, 0xc5f8, 0xb948, 0xb949, 0xb94a,\n    0xb94b, 0xb94c, 0xb94d, 0xb94e, 0xc5f9, 0xc5fa, 0xb94f, 0xc5fb,\n    0xb950, 0xc5fc, 0xb951, 0xb952, 0xb953, 0xb954, 0xb955, 0xb956,\n    0xc5fd, 0xb957, 0xb958, 0xb959, 0xb95a, 0xb961, 0xb962, 0xb963,\n    0xb964, 0xb965, 0xb966, 0xb967, 0xb968, 0xb969, 0xb96a, 0xb96b,\n    0xb96c, 0xb96d, 0xb96e, 0xb96f, 0xc5fe, 0xb970, 0xb971, 0xb972,\n    0xb973, 0xb974, 0xb975, 0xb976, 0xc6a1, 0xb977, 0xb978, 0xb979,\n    0xb97a, 0xb981, 0xb982, 0xb983, 0xb984, 0xb985, 0xb986, 0xb987,\n    0xb988, 0xb989, 0xb98a, 0xb98b, 0xb98c, 0xb98d, 0xb98e, 0xb98f,\n    0xb990, 0xb991, 0xb992, 0xb993, 0xb994, 0xb995, 0xb996, 0xb997,\n    0xc6a2, 0xc6a3, 0xb998, 0xb999, 0xc6a4, 0xb99a, 0xb99b, 0xb99c,\n    0xc6a5, 0xb99d, 0xb99e, 0xb99f, 0xb9a0, 0xba41, 0xba42, 0xba43,\n    0xc6a6, 0xc6a7, 0xba44, 0xba45, 0xba46, 0xc6a8, 0xba47, 0xba48,\n    0xba49, 0xba4a, 0xba4b, 0xba4c, 0xc6a9, 0xba4d, 0xba4e, 0xba4f,\n    0xc6aa, 0xba50, 0xba51, 0xba52, 0xc6ab, 0xba53, 0xba54, 0xba55,\n    0xba56, 0xba57, 0xba58, 0xba59, 0xc6ac, 0xba5a, 0xba61, 0xba62,\n    0xba63, 0xc6ad, 0xba64, 0xba65, 0xba66, 0xba67, 0xba68, 0xba69,\n    0xc6ae, 0xc6af, 0xba6a, 0xba6b, 0xc6b0, 0xba6c, 0xba6d, 0xc6b1,\n    0xc6b2, 0xba6e, 0xc6b3, 0xba6f, 0xba70, 0xba71, 0xba72, 0xba73,\n    0xc6b4, 0xc6b5, 0xba74, 0xc6b6, 0xba75, 0xba76, 0xba77, 0xba78,\n    0xba79, 0xba7a, 0xba81, 0xba82, 0xc6b7, 0xba83, 0xba84, 0xba85,\n    0xc6b8, 0xba86, 0xba87, 0xba88, 0xc6b9, 0xba89, 0xba8a, 0xba8b,\n    0xba8c, 0xba8d, 0xba8e, 0xba8f, 0xc6ba, 0xc6bb, 0xba90, 0xba91,\n    0xba92, 0xba93, 0xba94, 0xba95, 0xba96, 0xba97, 0xba98, 0xba99,\n    0xc6bc, 0xc6bd, 0xba9a, 0xba9b, 0xc6be, 0xba9c, 0xba9d, 0xba9e,\n    0xc6bf, 0xba9f, 0xbaa0, 0xbb41, 0xbb42, 0xbb43, 0xbb44, 0xbb45,\n    /* 0xd300 .. 0xd3ff */\n    0xc6c0, 0xc6c1, 0xbb46, 0xc6c2, 0xbb47, 0xc6c3, 0xbb48, 0xbb49,\n    0xbb4a, 0xbb4b, 0xbb4c, 0xbb4d, 0xc6c4, 0xc6c5, 0xc6c6, 0xbb4e,\n    0xc6c7, 0xbb4f, 0xbb50, 0xbb51, 0xc6c8, 0xbb52, 0xc6c9, 0xbb53,\n    0xbb54, 0xbb55, 0xbb56, 0xbb57, 0xc6ca, 0xc6cb, 0xbb58, 0xc6cc,\n    0xc6cd, 0xc6ce, 0xbb59, 0xbb5a, 0xbb61, 0xc6cf, 0xbb62, 0xbb63,\n    0xc6d0, 0xc6d1, 0xbb64, 0xbb65, 0xc6d2, 0xbb66, 0xbb67, 0xbb68,\n    0xc6d3, 0xbb69, 0xbb6a, 0xbb6b, 0xbb6c, 0xbb6d, 0xbb6e, 0xbb6f,\n    0xc6d4, 0xc6d5, 0xbb70, 0xc6d6, 0xc6d7, 0xc6d8, 0xbb71, 0xbb72,\n    0xbb73, 0xbb74, 0xbb75, 0xbb76, 0xc6d9, 0xc6da, 0xbb77, 0xbb78,\n    0xbb79, 0xbb7a, 0xbb81, 0xbb82, 0xbb83, 0xbb84, 0xbb85, 0xbb86,\n    0xbb87, 0xbb88, 0xbb89, 0xbb8a, 0xbb8b, 0xbb8c, 0xbb8d, 0xbb8e,\n    0xbb8f, 0xbb90, 0xbb91, 0xbb92, 0xbb93, 0xbb94, 0xbb95, 0xbb96,\n    0xbb97, 0xbb98, 0xbb99, 0xbb9a, 0xbb9b, 0xbb9c, 0xbb9d, 0xbb9e,\n    0xbb9f, 0xbba0, 0xbc41, 0xbc42, 0xbc43, 0xbc44, 0xbc45, 0xbc46,\n    0xbc47, 0xbc48, 0xbc49, 0xbc4a, 0xbc4b, 0xbc4c, 0xbc4d, 0xbc4e,\n    0xbc4f, 0xbc50, 0xbc51, 0xbc52, 0xc6db, 0xc6dc, 0xbc53, 0xbc54,\n    0xc6dd, 0xbc55, 0xbc56, 0xbc57, 0xc6de, 0xbc58, 0xbc59, 0xbc5a,\n    0xbc61, 0xbc62, 0xbc63, 0xbc64, 0xc6df, 0xc6e0, 0xbc65, 0xc6e1,\n    0xc6e2, 0xc6e3, 0xbc66, 0xbc67, 0xbc68, 0xbc69, 0xbc6a, 0xbc6b,\n    0xc6e4, 0xc6e5, 0xbc6c, 0xbc6d, 0xc6e6, 0xbc6e, 0xbc6f, 0xbc70,\n    0xc6e7, 0xbc71, 0xbc72, 0xbc73, 0xbc74, 0xbc75, 0xbc76, 0xbc77,\n    0xc6e8, 0xc6e9, 0xbc78, 0xc6ea, 0xbc79, 0xc6eb, 0xbc7a, 0xbc81,\n    0xbc82, 0xbc83, 0xbc84, 0xbc85, 0xc6ec, 0xbc86, 0xbc87, 0xbc88,\n    0xc6ed, 0xbc89, 0xbc8a, 0xbc8b, 0xc6ee, 0xbc8c, 0xbc8d, 0xbc8e,\n    0xbc8f, 0xbc90, 0xbc91, 0xbc92, 0xc6ef, 0xc6f0, 0xbc93, 0xbc94,\n    0xc6f1, 0xc6f2, 0xbc95, 0xbc96, 0xbc97, 0xbc98, 0xbc99, 0xbc9a,\n    0xc6f3, 0xbc9b, 0xbc9c, 0xbc9d, 0xbc9e, 0xbc9f, 0xbca0, 0xbd41,\n    0xc6f4, 0xbd42, 0xbd43, 0xbd44, 0xbd45, 0xbd46, 0xbd47, 0xbd48,\n    0xbd49, 0xc6f5, 0xbd4a, 0xc6f6, 0xbd4b, 0xbd4c, 0xbd4d, 0xbd4e,\n    0xbd4f, 0xbd50, 0xbd51, 0xbd52, 0xc6f7, 0xc6f8, 0xbd53, 0xbd54,\n    0xc6f9, 0xbd55, 0xbd56, 0xbd57, 0xc6fa, 0xbd58, 0xbd59, 0xbd5a,\n    0xbd61, 0xbd62, 0xbd63, 0xbd64, 0xc6fb, 0xc6fc, 0xbd65, 0xc6fd,\n    /* 0xd400 .. 0xd4ff */\n    0xbd66, 0xc6fe, 0xbd67, 0xbd68, 0xbd69, 0xbd6a, 0xbd6b, 0xbd6c,\n    0xc7a1, 0xbd6d, 0xbd6e, 0xbd6f, 0xbd70, 0xbd71, 0xbd72, 0xbd73,\n    0xbd74, 0xbd75, 0xbd76, 0xbd77, 0xbd78, 0xbd79, 0xbd7a, 0xbd81,\n    0xbd82, 0xbd83, 0xbd84, 0xbd85, 0xbd86, 0xc7a2, 0xbd87, 0xbd88,\n    0xbd89, 0xbd8a, 0xbd8b, 0xbd8c, 0xbd8d, 0xbd8e, 0xbd8f, 0xbd90,\n    0xbd91, 0xbd92, 0xbd93, 0xbd94, 0xbd95, 0xbd96, 0xbd97, 0xbd98,\n    0xbd99, 0xbd9a, 0xbd9b, 0xbd9c, 0xbd9d, 0xbd9e, 0xbd9f, 0xbda0,\n    0xbe41, 0xbe42, 0xbe43, 0xbe44, 0xbe45, 0xbe46, 0xbe47, 0xbe48,\n    0xc7a3, 0xbe49, 0xbe4a, 0xbe4b, 0xc7a4, 0xbe4c, 0xbe4d, 0xbe4e,\n    0xbe4f, 0xbe50, 0xbe51, 0xbe52, 0xbe53, 0xbe54, 0xbe55, 0xbe56,\n    0xbe57, 0xbe58, 0xbe59, 0xbe5a, 0xbe61, 0xbe62, 0xbe63, 0xbe64,\n    0xbe65, 0xbe66, 0xbe67, 0xbe68, 0xc7a5, 0xbe69, 0xbe6a, 0xbe6b,\n    0xc7a6, 0xbe6c, 0xbe6d, 0xbe6e, 0xc7a7, 0xbe6f, 0xbe70, 0xbe71,\n    0xbe72, 0xbe73, 0xbe74, 0xbe75, 0xbe76, 0xc7a8, 0xbe77, 0xc7a9,\n    0xbe78, 0xbe79, 0xbe7a, 0xbe81, 0xbe82, 0xbe83, 0xbe84, 0xbe85,\n    0xc7aa, 0xc7ab, 0xbe86, 0xbe87, 0xc7ac, 0xbe88, 0xbe89, 0xc7ad,\n    0xc7ae, 0xbe8a, 0xc7af, 0xbe8b, 0xbe8c, 0xbe8d, 0xbe8e, 0xbe8f,\n    0xc7b0, 0xc7b1, 0xbe90, 0xc7b2, 0xbe91, 0xc7b3, 0xbe92, 0xbe93,\n    0xbe94, 0xbe95, 0xbe96, 0xbe97, 0xc7b4, 0xbe98, 0xbe99, 0xbe9a,\n    0xbe9b, 0xbe9c, 0xbe9d, 0xbe9e, 0xbe9f, 0xbea0, 0xbf41, 0xbf42,\n    0xbf43, 0xbf44, 0xbf45, 0xbf46, 0xbf47, 0xbf48, 0xbf49, 0xbf4a,\n    0xbf4b, 0xc7b5, 0xbf4c, 0xbf4d, 0xbf4e, 0xbf4f, 0xbf50, 0xbf51,\n    0xbf52, 0xbf53, 0xbf54, 0xbf55, 0xbf56, 0xbf57, 0xbf58, 0xbf59,\n    0xbf5a, 0xbf61, 0xbf62, 0xbf63, 0xbf64, 0xbf65, 0xbf66, 0xbf67,\n    0xbf68, 0xbf69, 0xbf6a, 0xbf6b, 0xbf6c, 0xbf6d, 0xbf6e, 0xbf6f,\n    0xbf70, 0xbf71, 0xbf72, 0xbf73, 0xc7b6, 0xbf74, 0xbf75, 0xbf76,\n    0xc7b7, 0xbf77, 0xbf78, 0xbf79, 0xc7b8, 0xbf7a, 0xbf81, 0xbf82,\n    0xbf83, 0xbf84, 0xbf85, 0xbf86, 0xc7b9, 0xbf87, 0xbf88, 0xc7ba,\n    0xbf89, 0xbf8a, 0xbf8b, 0xbf8c, 0xbf8d, 0xbf8e, 0xbf8f, 0xbf90,\n    0xc7bb, 0xbf91, 0xbf92, 0xbf93, 0xc7bc, 0xbf94, 0xbf95, 0xbf96,\n    0xc7bd, 0xbf97, 0xbf98, 0xbf99, 0xbf9a, 0xbf9b, 0xbf9c, 0xbf9d,\n    0xc7be, 0xbf9e, 0xbf9f, 0xc7bf, 0xbfa0, 0xc7c0, 0xc041, 0xc042,\n    /* 0xd500 .. 0xd5ff */\n    0xc043, 0xc044, 0xc045, 0xc046, 0xc7c1, 0xc047, 0xc048, 0xc049,\n    0xc7c2, 0xc04a, 0xc04b, 0xc04c, 0xc7c3, 0xc04d, 0xc04e, 0xc04f,\n    0xc050, 0xc051, 0xc052, 0xc053, 0xc7c4, 0xc7c5, 0xc054, 0xc7c6,\n    0xc055, 0xc056, 0xc057, 0xc058, 0xc059, 0xc05a, 0xc061, 0xc062,\n    0xc063, 0xc064, 0xc065, 0xc066, 0xc067, 0xc068, 0xc069, 0xc06a,\n    0xc06b, 0xc06c, 0xc06d, 0xc06e, 0xc06f, 0xc070, 0xc071, 0xc072,\n    0xc073, 0xc074, 0xc075, 0xc076, 0xc077, 0xc078, 0xc079, 0xc07a,\n    0xc081, 0xc082, 0xc083, 0xc084, 0xc7c7, 0xc7c8, 0xc085, 0xc086,\n    0xc7c9, 0xc087, 0xc088, 0xc089, 0xc7ca, 0xc08a, 0xc08b, 0xc08c,\n    0xc08d, 0xc08e, 0xc08f, 0xc090, 0xc7cb, 0xc7cc, 0xc091, 0xc7cd,\n    0xc092, 0xc7ce, 0xc093, 0xc094, 0xc095, 0xc096, 0xc097, 0xc098,\n    0xc7cf, 0xc7d0, 0xc099, 0xc09a, 0xc7d1, 0xc09b, 0xc09c, 0xc09d,\n    0xc7d2, 0xc09e, 0xc09f, 0xc0a0, 0xc141, 0xc7d3, 0xc142, 0xc143,\n    0xc7d4, 0xc7d5, 0xc144, 0xc7d6, 0xc145, 0xc7d7, 0xc146, 0xc147,\n    0xc148, 0xc149, 0xc14a, 0xc14b, 0xc7d8, 0xc7d9, 0xc14c, 0xc14d,\n    0xc7da, 0xc14e, 0xc14f, 0xc150, 0xc7db, 0xc151, 0xc152, 0xc153,\n    0xc154, 0xc155, 0xc156, 0xc157, 0xc7dc, 0xc7dd, 0xc158, 0xc7de,\n    0xc7df, 0xc7e0, 0xc159, 0xc15a, 0xc161, 0xc162, 0xc163, 0xc164,\n    0xc7e1, 0xc165, 0xc166, 0xc167, 0xc168, 0xc169, 0xc16a, 0xc16b,\n    0xc16c, 0xc16d, 0xc16e, 0xc16f, 0xc170, 0xc171, 0xc172, 0xc173,\n    0xc174, 0xc175, 0xc176, 0xc177, 0xc178, 0xc7e2, 0xc179, 0xc17a,\n    0xc181, 0xc182, 0xc183, 0xc184, 0xc185, 0xc186, 0xc187, 0xc188,\n    0xc189, 0xc18a, 0xc18b, 0xc18c, 0xc18d, 0xc18e, 0xc18f, 0xc190,\n    0xc191, 0xc192, 0xc193, 0xc194, 0xc195, 0xc196, 0xc197, 0xc198,\n    0xc199, 0xc19a, 0xc19b, 0xc19c, 0xc19d, 0xc19e, 0xc19f, 0xc1a0,\n    0xc7e3, 0xc7e4, 0xc241, 0xc242, 0xc7e5, 0xc243, 0xc244, 0xc245,\n    0xc7e6, 0xc246, 0xc7e7, 0xc247, 0xc248, 0xc249, 0xc24a, 0xc24b,\n    0xc7e8, 0xc7e9, 0xc24c, 0xc7ea, 0xc24d, 0xc7eb, 0xc24e, 0xc24f,\n    0xc250, 0xc251, 0xc252, 0xc253, 0xc7ec, 0xc7ed, 0xc254, 0xc255,\n    0xc7ee, 0xc256, 0xc257, 0xc258, 0xc7ef, 0xc259, 0xc25a, 0xc261,\n    0xc262, 0xc263, 0xc264, 0xc265, 0xc7f0, 0xc7f1, 0xc266, 0xc7f2,\n    0xc267, 0xc7f3, 0xc268, 0xc269, 0xc26a, 0xc26b, 0xc26c, 0xc26d,\n    /* 0xd600 .. 0xd6ff */\n    0xc7f4, 0xc7f5, 0xc26e, 0xc26f, 0xc7f6, 0xc270, 0xc271, 0xc272,\n    0xc7f7, 0xc273, 0xc274, 0xc275, 0xc276, 0xc277, 0xc278, 0xc279,\n    0xc7f8, 0xc7f9, 0xc27a, 0xc7fa, 0xc7fb, 0xc7fc, 0xc281, 0xc282,\n    0xc283, 0xc284, 0xc285, 0xc286, 0xc7fd, 0xc287, 0xc288, 0xc289,\n    0xc7fe, 0xc28a, 0xc28b, 0xc28c, 0xc8a1, 0xc28d, 0xc28e, 0xc28f,\n    0xc290, 0xc291, 0xc292, 0xc293, 0xc294, 0xc8a2, 0xc295, 0xc296,\n    0xc297, 0xc298, 0xc299, 0xc29a, 0xc29b, 0xc29c, 0xc29d, 0xc29e,\n    0xc8a3, 0xc8a4, 0xc29f, 0xc2a0, 0xc8a5, 0xc341, 0xc342, 0xc343,\n    0xc8a6, 0xc344, 0xc345, 0xc346, 0xc347, 0xc8a7, 0xc348, 0xc349,\n    0xc8a8, 0xc8a9, 0xc34a, 0xc8aa, 0xc34b, 0xc8ab, 0xc34c, 0xc34d,\n    0xc34e, 0xc8ac, 0xc34f, 0xc350, 0xc8ad, 0xc8ae, 0xc351, 0xc352,\n    0xc8af, 0xc353, 0xc354, 0xc355, 0xc8b0, 0xc356, 0xc357, 0xc358,\n    0xc359, 0xc35a, 0xc361, 0xc362, 0xc363, 0xc364, 0xc365, 0xc8b1,\n    0xc366, 0xc8b2, 0xc367, 0xc368, 0xc369, 0xc36a, 0xc36b, 0xc36c,\n    0xc8b3, 0xc8b4, 0xc36d, 0xc36e, 0xc8b5, 0xc36f, 0xc370, 0xc371,\n    0xc372, 0xc373, 0xc374, 0xc375, 0xc376, 0xc377, 0xc378, 0xc379,\n    0xc37a, 0xc381, 0xc382, 0xc8b6, 0xc383, 0xc8b7, 0xc384, 0xc385,\n    0xc386, 0xc387, 0xc388, 0xc389, 0xc8b8, 0xc8b9, 0xc38a, 0xc38b,\n    0xc8ba, 0xc38c, 0xc38d, 0xc38e, 0xc8bb, 0xc38f, 0xc390, 0xc391,\n    0xc392, 0xc393, 0xc394, 0xc395, 0xc396, 0xc8bc, 0xc397, 0xc8bd,\n    0xc398, 0xc8be, 0xc399, 0xc39a, 0xc39b, 0xc39c, 0xc39d, 0xc39e,\n    0xc8bf, 0xc39f, 0xc3a0, 0xc441, 0xc8c0, 0xc442, 0xc443, 0xc444,\n    0xc8c1, 0xc445, 0xc446, 0xc447, 0xc448, 0xc449, 0xc44a, 0xc44b,\n    0xc44c, 0xc8c2, 0xc44d, 0xc8c3, 0xc44e, 0xc44f, 0xc450, 0xc451,\n    0xc452, 0xc453, 0xc454, 0xc455, 0xc8c4, 0xc8c5, 0xc456, 0xc457,\n    0xc8c6, 0xc458, 0xc459, 0xc45a, 0xc8c7, 0xc461, 0xc462, 0xc463,\n    0xc464, 0xc8c8, 0xc465, 0xc466, 0xc8c9, 0xc467, 0xc468, 0xc8ca,\n    0xc469, 0xc8cb, 0xc46a, 0xc46b, 0xc46c, 0xc46d, 0xc46e, 0xc46f,\n    0xc8cc, 0xc470, 0xc471, 0xc472, 0xc8cd, 0xc473, 0xc474, 0xc475,\n    0xc8ce, 0xc476, 0xc477, 0xc478, 0xc479, 0xc47a, 0xc481, 0xc482,\n    0xc8cf, 0xc483, 0xc484, 0xc485, 0xc486, 0xc8d0, 0xc487, 0xc488,\n    0xc489, 0xc48a, 0xc48b, 0xc48c, 0xc8d1, 0xc8d2, 0xc48d, 0xc48e,\n    /* 0xd700 .. 0xd7ff */\n    0xc8d3, 0xc48f, 0xc490, 0xc491, 0xc8d4, 0xc492, 0xc493, 0xc494,\n    0xc495, 0xc496, 0xc497, 0xc498, 0xc499, 0xc49a, 0xc49b, 0xc49c,\n    0xc49d, 0xc8d5, 0xc49e, 0xc49f, 0xc4a0, 0xc541, 0xc542, 0xc543,\n    0xc8d6, 0xc8d7, 0xc544, 0xc545, 0xc8d8, 0xc546, 0xc547, 0xc548,\n    0xc8d9, 0xc549, 0xc54a, 0xc54b, 0xc54c, 0xc54d, 0xc54e, 0xc54f,\n    0xc8da, 0xc8db, 0xc550, 0xc8dc, 0xc551, 0xc8dd, 0xc552, 0xc553,\n    0xc554, 0xc555, 0xc556, 0xc557, 0xc8de, 0xc8df, 0xc558, 0xc559,\n    0xc8e0, 0xc55a, 0xc561, 0xc562, 0xc8e1, 0xc563, 0xc564, 0xc565,\n    0xc566, 0xc567, 0xc568, 0xc569, 0xc8e2, 0xc56a, 0xc56b, 0xc8e3,\n    0xc56c, 0xc8e4, 0xc56d, 0xc56e, 0xc56f, 0xc570, 0xc571, 0xc572,\n    0xc8e5, 0xc8e6, 0xc573, 0xc574, 0xc8e7, 0xc575, 0xc8e8, 0xc8e9,\n    0xc8ea, 0xc8eb, 0xc576, 0xc577, 0xc578, 0xc579, 0xc57a, 0xc581,\n    0xc8ec, 0xc8ed, 0xc582, 0xc8ee, 0xc583, 0xc8ef, 0xc584, 0xc585,\n    0xc586, 0xc8f0, 0xc587, 0xc588, 0xc8f1, 0xc589, 0xc58a, 0xc58b,\n    0xc8f2, 0xc58c, 0xc58d, 0xc58e, 0xc8f3, 0xc58f, 0xc590, 0xc591,\n    0xc592, 0xc593, 0xc594, 0xc595, 0xc8f4, 0xc8f5, 0xc596, 0xc597,\n    0xc598, 0xc8f6, 0xc599, 0xc59a, 0xc59b, 0xc59c, 0xc59d, 0xc59e,\n    0xc8f7, 0xc8f8, 0xc59f, 0xc5a0, 0xc8f9, 0xc641, 0xc642, 0xc643,\n    0xc8fa, 0xc644, 0xc645, 0xc646, 0xc647, 0xc648, 0xc649, 0xc64a,\n    0xc8fb, 0xc8fc, 0xc64b, 0xc8fd, 0xc64c, 0xc8fe, 0xc64d, 0xc64e,\n    0xc64f, 0xc650, 0xc651, 0xc652, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xf900 .. 0xf9ff */\n    0xcbd0, 0xcbd6, 0xcbe7, 0xcdcf, 0xcde8, 0xcead, 0xcffb, 0xd0a2,\n    0xd0b8, 0xd0d0, 0xd0dd, 0xd1d4, 0xd1d5, 0xd1d8, 0xd1db, 0xd1dc,\n    0xd1dd, 0xd1de, 0xd1df, 0xd1e0, 0xd1e2, 0xd1e3, 0xd1e4, 0xd1e5,\n    0xd1e6, 0xd1e8, 0xd1e9, 0xd1ea, 0xd1eb, 0xd1ed, 0xd1ef, 0xd1f0,\n    0xd1f2, 0xd1f6, 0xd1fa, 0xd1fc, 0xd1fd, 0xd1fe, 0xd2a2, 0xd2a3,\n    0xd2a7, 0xd2a8, 0xd2a9, 0xd2aa, 0xd2ab, 0xd2ad, 0xd2b2, 0xd2be,\n    0xd2c2, 0xd2c3, 0xd2c4, 0xd2c6, 0xd2c7, 0xd2c8, 0xd2c9, 0xd2ca,\n    0xd2cb, 0xd2cd, 0xd2ce, 0xd2cf, 0xd2d0, 0xd2d1, 0xd2d2, 0xd2d3,\n    0xd2d4, 0xd2d5, 0xd2d6, 0xd2d7, 0xd2d9, 0xd2da, 0xd2de, 0xd2df,\n    0xd2e1, 0xd2e2, 0xd2e4, 0xd2e5, 0xd2e6, 0xd2e7, 0xd2e8, 0xd2e9,\n    0xd2ea, 0xd2eb, 0xd2f0, 0xd2f1, 0xd2f2, 0xd2f3, 0xd2f4, 0xd2f5,\n    0xd2f7, 0xd2f8, 0xd4e6, 0xd4fc, 0xd5a5, 0xd5ab, 0xd5ae, 0xd6b8,\n    0xd6cd, 0xd7cb, 0xd7e4, 0xdbc5, 0xdbe4, 0xdca5, 0xdda5, 0xddd5,\n    0xddf4, 0xdefc, 0xdefe, 0xdfb3, 0xdfe1, 0xdfe8, 0xe0f1, 0xe1ad,\n    0xe1ed, 0xe3f5, 0xe4a1, 0xe4a9, 0xe5ae, 0xe5b1, 0xe5b2, 0xe5b9,\n    0xe5bb, 0xe5bc, 0xe5c4, 0xe5ce, 0xe5d0, 0xe5d2, 0xe5d6, 0xe5fa,\n    0xe5fb, 0xe5fc, 0xe5fe, 0xe6a1, 0xe6a4, 0xe6a7, 0xe6ad, 0xe6af,\n    0xe6b0, 0xe6b1, 0xe6b3, 0xe6b7, 0xe6b8, 0xe6bc, 0xe6c4, 0xe6c6,\n    0xe6c7, 0xe6ca, 0xe6d2, 0xe6d6, 0xe6d9, 0xe6dc, 0xe6df, 0xe6e1,\n    0xe6e4, 0xe6e5, 0xe6e6, 0xe6e8, 0xe6ea, 0xe6eb, 0xe6ec, 0xe6ef,\n    0xe6f1, 0xe6f2, 0xe6f5, 0xe6f6, 0xe6f7, 0xe6f9, 0xe7a1, 0xe7a6,\n    0xe7a9, 0xe7aa, 0xe7ac, 0xe7ad, 0xe7b0, 0xe7bf, 0xe7c1, 0xe7c6,\n    0xe7c7, 0xe7cb, 0xe7cd, 0xe7cf, 0xe7d0, 0xe7d3, 0xe7df, 0xe7e4,\n    0xe7e6, 0xe7f7, 0xe8e7, 0xe8e8, 0xe8f0, 0xe8f1, 0xe8f7, 0xe8f9,\n    0xe8fb, 0xe8fe, 0xe9a7, 0xe9ac, 0xe9cc, 0xe9f7, 0xeac1, 0xeae5,\n    0xeaf4, 0xeaf7, 0xeafc, 0xeafe, 0xeba4, 0xeba7, 0xeba9, 0xebaa,\n    0xebba, 0xebbb, 0xebbd, 0xebc1, 0xebc2, 0xebc6, 0xebc7, 0xebcc,\n    0xebcf, 0xebd0, 0xebd1, 0xebd2, 0xebd8, 0xeca6, 0xeca7, 0xecaa,\n    0xecaf, 0xecb0, 0xecb1, 0xecb2, 0xecb5, 0xecb8, 0xecba, 0xecc0,\n    0xecc1, 0xecc5, 0xecc6, 0xecc9, 0xecca, 0xecd5, 0xecdd, 0xecde,\n    0xece1, 0xece4, 0xece7, 0xece8, 0xecf7, 0xecf8, 0xecfa, 0xeda1,\n    0xeda2, 0xeda3, 0xedee, 0xeedb, 0xf2bd, 0xf2fa, 0xf3b1, 0xf4a7,\n    /* 0xfa00 .. 0xfaff */\n    0xf4ee, 0xf6f4, 0xf6f6, 0xf7b8, 0xf7c8, 0xf7d3, 0xf8db, 0xf8f0,\n    0xfaa1, 0xfaa2, 0xfae6, 0xfca9, 0xe8b4, 0x003f, 0x003f, 0x003f,\n    0xf5c0, 0x003f, 0xf4e7, 0x003f, 0x003f, 0xfdeb, 0xeec4, 0xeccc,\n    0x003f, 0xe3ea, 0xdfd4, 0xdcd8, 0xeffe, 0xeff1, 0xe9e2, 0x003f,\n    0x003f, 0x003f, 0xf0b3, 0x003f, 0x003f, 0xecef, 0xd4b4, 0x003f,\n    0x003f, 0x003f, 0xdaf9, 0xdef8, 0xcebd, 0xf9cd, 0x003f, 0x003f,\n    0xd9b2, 0xe3ac, 0xd8f3, 0xd8f5, 0xd0c3, 0xdde4, 0xcae2, 0xf7a3,\n    0xd0ef, 0x003f, 0xd9f8, 0xf6b5, 0x003f, 0xfce2, 0xcbc6, 0xf1f3,\n    0xf3a4, 0xdac2, 0x003f, 0xdff4, 0xd8de, 0xfaad, 0xeec2, 0xf9d3,\n    0xedb4, 0x003f, 0xf6fc, 0xddf8, 0xdee4, 0xf2b3, 0xd1b7, 0xe9de,\n    0xf0d3, 0xf5e6, 0xfca1, 0xefee, 0xcdda, 0xd4cd, 0xefbd, 0xd6a3,\n    0xf2db, 0xdbe5, 0xdffe, 0xedba, 0xf6ab, 0x003f, 0x003f, 0xeeca,\n    0xcae8, 0xe3ca, 0xe4d7, 0xd0cd, 0xdeb9, 0xf1fc, 0x003f, 0xecef,\n    0xd1f1, 0xfac2, 0xdeba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfb00 .. 0xfbff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfe00 .. 0xfeff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1aa, 0xa1aa, 0xa1aa, 0xa1aa, 0x005f, 0x005f, 0x005f,\n    0x002c, 0xa1a2, 0x002e, 0x003f, 0x003b, 0x003a, 0x003f, 0x0021,\n    0xa1aa, 0x0028, 0x0029, 0x007b, 0x007d, 0xa1b2, 0xa1b3, 0x0023,\n    0x0026, 0x002a, 0x002b, 0x002d, 0x003c, 0x003e, 0x003d, 0x003f,\n    0x005c, 0x0024, 0x0025, 0x0040, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xff00 .. 0xffff */\n    0x003f, 0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7,\n    0xa3a8, 0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af,\n    0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7,\n    0xa3b8, 0xa3b9, 0xa3ba, 0xa3bb, 0xa3bc, 0xa3bd, 0xa3be, 0xa3bf,\n    0xa3c0, 0xa3c1, 0xa3c2, 0xa3c3, 0xa3c4, 0xa3c5, 0xa3c6, 0xa3c7,\n    0xa3c8, 0xa3c9, 0xa3ca, 0xa3cb, 0xa3cc, 0xa3cd, 0xa3ce, 0xa3cf,\n    0xa3d0, 0xa3d1, 0xa3d2, 0xa3d3, 0xa3d4, 0xa3d5, 0xa3d6, 0xa3d7,\n    0xa3d8, 0xa3d9, 0xa3da, 0xa3db, 0xa1ac, 0xa3dd, 0xa3de, 0xa3df,\n    0xa3e0, 0xa3e1, 0xa3e2, 0xa3e3, 0xa3e4, 0xa3e5, 0xa3e6, 0xa3e7,\n    0xa3e8, 0xa3e9, 0xa3ea, 0xa3eb, 0xa3ec, 0xa3ed, 0xa3ee, 0xa3ef,\n    0xa3f0, 0xa3f1, 0xa3f2, 0xa3f3, 0xa3f4, 0xa3f5, 0xa3f6, 0xa3f7,\n    0xa3f8, 0xa3f9, 0xa3fa, 0xa3fb, 0xa3fc, 0xa3fd, 0xa2a6, 0x003f,\n    0x003f, 0xa1a3, 0xa1b8, 0xa1b9, 0xa1a2, 0x003f, 0xabf2, 0xaba1,\n    0xaba3, 0xaba5, 0xaba7, 0xaba9, 0xabe3, 0xabe5, 0xabe7, 0xabc3,\n    0x003f, 0xaba2, 0xaba4, 0xaba6, 0xaba8, 0xabaa, 0xabab, 0xabad,\n    0xabaf, 0xabb1, 0xabb3, 0xabb5, 0xabb7, 0xabb9, 0xabbb, 0xabbd,\n    0xabbf, 0xabc1, 0xabc4, 0xabc6, 0xabc8, 0xabca, 0xabcb, 0xabcc,\n    0xabcd, 0xabce, 0xabcf, 0xabd2, 0xabd5, 0xabd8, 0xabdb, 0xabde,\n    0xabdf, 0xabe0, 0xabe1, 0xabe2, 0xabe4, 0xabe6, 0xabe8, 0xabe9,\n    0xabea, 0xabeb, 0xabec, 0xabed, 0xabef, 0xabf3, 0x003f, 0x003f,\n    0xa4d4, 0xa4a1, 0xa4a2, 0xa4a3, 0xa4a4, 0xa4a5, 0xa4a6, 0xa4a7,\n    0xa4a8, 0xa4a9, 0xa4aa, 0xa4ab, 0xa4ac, 0xa4ad, 0xa4ae, 0xa4af,\n    0xa4b0, 0xa4b1, 0xa4b2, 0xa4b3, 0xa4b4, 0xa4b5, 0xa4b6, 0xa4b7,\n    0xa4b8, 0xa4b9, 0xa4ba, 0xa4bb, 0xa4bc, 0xa4bd, 0xa4be, 0x003f,\n    0x003f, 0x003f, 0xa4bf, 0xa4c0, 0xa4c1, 0xa4c2, 0xa4c3, 0xa4c4,\n    0x003f, 0x003f, 0xa4c5, 0xa4c6, 0xa4c7, 0xa4c8, 0xa4c9, 0xa4ca,\n    0x003f, 0x003f, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce, 0xa4cf, 0xa4d0,\n    0x003f, 0x003f, 0xa4d1, 0xa4d2, 0xa4d3, 0x003f, 0x003f, 0x003f,\n    0xa1cb, 0xa1cc, 0xa1fe, 0xa3fe, 0x003f, 0xa1cd, 0xa3dc, 0x003f,\n    0xa6a2, 0xa1e7, 0xa1e8, 0xa1e6, 0xa1e9, 0xa1e1, 0xa1db, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* defaults */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x0400, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x0500, 0x0600,\n    0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x0e00, 0x0f00,\n    0x1000, 0x1100, 0x1200, 0x1300, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x1400, 0x1500,\n    0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00, 0x1d00,\n    0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400, 0x2500,\n    0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00, 0x2d00,\n    0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400, 0x3500,\n    0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00, 0x3d00,\n    0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400, 0x4500,\n    0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00, 0x4d00,\n    0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400, 0x5500,\n    0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00, 0x5d00,\n    0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400, 0x6500,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x6600, 0x6700, 0x6800, 0x6900,\n    0x6a00, 0x6b00, 0x6c00, 0x6d00, 0x6e00, 0x6f00, 0x7000, 0x7100,\n    0x7200, 0x7300, 0x7400, 0x7500, 0x7600, 0x7700, 0x7800, 0x7900,\n    0x7a00, 0x7b00, 0x7c00, 0x7d00, 0x7e00, 0x7f00, 0x8000, 0x8100,\n    0x8200, 0x8300, 0x8400, 0x8500, 0x8600, 0x8700, 0x8800, 0x8900,\n    0x8a00, 0x8b00, 0x8c00, 0x8d00, 0x8e00, 0x8f00, 0x9000, 0x9100,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700, 0x9700,\n    0x9700, 0x9200, 0x9300, 0x9400, 0x9700, 0x9700, 0x9500, 0x9600\n};\n\nconst struct dbcs_table cptable_949 =\n{\n    { 949, 2, 0x003f, 0x003f, \"ANSI/OEM Korean Unified Hangul\" },\n    cp2uni,\n    cp2uni_leadbytes,\n    uni2cp_low,\n    uni2cp_high,\n    { 0x81, 0xfe, 0x00, 0x00 }\n};\n"
  },
  {
    "path": "Project/Unicode/Source/c_950.cpp",
    "content": "/* code page 950 (ANSI/OEM Traditional Chinese Big5) */\n/* generated from ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT */\n/* DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nstatic const WCHAR cp2uni[22784] =\n{\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x003f,\n    /* unused lead bytes */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x3000, 0xff0c, 0x3001, 0x3002, 0xff0e, 0x2027, 0xff1b, 0xff1a,\n    0xff1f, 0xff01, 0xfe30, 0x2026, 0x2025, 0xfe50, 0xfe51, 0xfe52,\n    0x00b7, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xff5c, 0x2013, 0xfe31,\n    0x2014, 0xfe33, 0x2574, 0xfe34, 0xfe4f, 0xff08, 0xff09, 0xfe35,\n    0xfe36, 0xff5b, 0xff5d, 0xfe37, 0xfe38, 0x3014, 0x3015, 0xfe39,\n    0xfe3a, 0x3010, 0x3011, 0xfe3b, 0xfe3c, 0x300a, 0x300b, 0xfe3d,\n    0xfe3e, 0x3008, 0x3009, 0xfe3f, 0xfe40, 0x300c, 0x300d, 0xfe41,\n    0xfe42, 0x300e, 0x300f, 0xfe43, 0xfe44, 0xfe59, 0xfe5a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xfe5b, 0xfe5c, 0xfe5d, 0xfe5e, 0x2018, 0x2019, 0x201c,\n    0x201d, 0x301d, 0x301e, 0x2035, 0x2032, 0xff03, 0xff06, 0xff0a,\n    0x203b, 0x00a7, 0x3003, 0x25cb, 0x25cf, 0x25b3, 0x25b2, 0x25ce,\n    0x2606, 0x2605, 0x25c7, 0x25c6, 0x25a1, 0x25a0, 0x25bd, 0x25bc,\n    0x32a3, 0x2105, 0x00af, 0xffe3, 0xff3f, 0x02cd, 0xfe49, 0xfe4a,\n    0xfe4d, 0xfe4e, 0xfe4b, 0xfe4c, 0xfe5f, 0xfe60, 0xfe61, 0xff0b,\n    0xff0d, 0x00d7, 0x00f7, 0x00b1, 0x221a, 0xff1c, 0xff1e, 0xff1d,\n    0x2266, 0x2267, 0x2260, 0x221e, 0x2252, 0x2261, 0xfe62, 0xfe63,\n    0xfe64, 0xfe65, 0xfe66, 0xff5e, 0x2229, 0x222a, 0x22a5, 0x2220,\n    0x221f, 0x22bf, 0x33d2, 0x33d1, 0x222b, 0x222e, 0x2235, 0x2234,\n    0x2640, 0x2642, 0x2295, 0x2299, 0x2191, 0x2193, 0x2190, 0x2192,\n    0x2196, 0x2197, 0x2199, 0x2198, 0x2225, 0x2223, 0xff0f, 0x003f,\n    /* lead byte a2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xff3c, 0x2215, 0xfe68, 0xff04, 0xffe5, 0x3012, 0xffe0, 0xffe1,\n    0xff05, 0xff20, 0x2103, 0x2109, 0xfe69, 0xfe6a, 0xfe6b, 0x33d5,\n    0x339c, 0x339d, 0x339e, 0x33ce, 0x33a1, 0x338e, 0x338f, 0x33c4,\n    0x00b0, 0x5159, 0x515b, 0x515e, 0x515d, 0x5161, 0x5163, 0x55e7,\n    0x74e9, 0x7cce, 0x2581, 0x2582, 0x2583, 0x2584, 0x2585, 0x2586,\n    0x2587, 0x2588, 0x258f, 0x258e, 0x258d, 0x258c, 0x258b, 0x258a,\n    0x2589, 0x253c, 0x2534, 0x252c, 0x2524, 0x251c, 0x2594, 0x2500,\n    0x2502, 0x2595, 0x250c, 0x2510, 0x2514, 0x2518, 0x256d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x256e, 0x2570, 0x256f, 0x2550, 0x255e, 0x256a, 0x2561,\n    0x25e2, 0x25e3, 0x25e5, 0x25e4, 0x2571, 0x2572, 0x2573, 0xff10,\n    0xff11, 0xff12, 0xff13, 0xff14, 0xff15, 0xff16, 0xff17, 0xff18,\n    0xff19, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166,\n    0x2167, 0x2168, 0x2169, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025,\n    0x3026, 0x3027, 0x3028, 0x3029, 0x5341, 0x5344, 0x5345, 0xff21,\n    0xff22, 0xff23, 0xff24, 0xff25, 0xff26, 0xff27, 0xff28, 0xff29,\n    0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e, 0xff2f, 0xff30, 0xff31,\n    0xff32, 0xff33, 0xff34, 0xff35, 0xff36, 0xff37, 0xff38, 0xff39,\n    0xff3a, 0xff41, 0xff42, 0xff43, 0xff44, 0xff45, 0xff46, 0xff47,\n    0xff48, 0xff49, 0xff4a, 0xff4b, 0xff4c, 0xff4d, 0xff4e, 0xff4f,\n    0xff50, 0xff51, 0xff52, 0xff53, 0xff54, 0xff55, 0xff56, 0x003f,\n    /* lead byte a3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xff57, 0xff58, 0xff59, 0xff5a, 0x0391, 0x0392, 0x0393, 0x0394,\n    0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039a, 0x039b, 0x039c,\n    0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1, 0x03a3, 0x03a4, 0x03a5,\n    0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, 0x03b3, 0x03b4,\n    0x03b5, 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc,\n    0x03bd, 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c4, 0x03c5,\n    0x03c6, 0x03c7, 0x03c8, 0x03c9, 0x3105, 0x3106, 0x3107, 0x3108,\n    0x3109, 0x310a, 0x310b, 0x310c, 0x310d, 0x310e, 0x310f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x3110, 0x3111, 0x3112, 0x3113, 0x3114, 0x3115, 0x3116,\n    0x3117, 0x3118, 0x3119, 0x311a, 0x311b, 0x311c, 0x311d, 0x311e,\n    0x311f, 0x3120, 0x3121, 0x3122, 0x3123, 0x3124, 0x3125, 0x3126,\n    0x3127, 0x3128, 0x3129, 0x02d9, 0x02c9, 0x02ca, 0x02c7, 0x02cb,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x20ac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte a4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4e00, 0x4e59, 0x4e01, 0x4e03, 0x4e43, 0x4e5d, 0x4e86, 0x4e8c,\n    0x4eba, 0x513f, 0x5165, 0x516b, 0x51e0, 0x5200, 0x5201, 0x529b,\n    0x5315, 0x5341, 0x535c, 0x53c8, 0x4e09, 0x4e0b, 0x4e08, 0x4e0a,\n    0x4e2b, 0x4e38, 0x51e1, 0x4e45, 0x4e48, 0x4e5f, 0x4e5e, 0x4e8e,\n    0x4ea1, 0x5140, 0x5203, 0x52fa, 0x5343, 0x53c9, 0x53e3, 0x571f,\n    0x58eb, 0x5915, 0x5927, 0x5973, 0x5b50, 0x5b51, 0x5b53, 0x5bf8,\n    0x5c0f, 0x5c22, 0x5c38, 0x5c71, 0x5ddd, 0x5de5, 0x5df1, 0x5df2,\n    0x5df3, 0x5dfe, 0x5e72, 0x5efe, 0x5f0b, 0x5f13, 0x624d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x4e11, 0x4e10, 0x4e0d, 0x4e2d, 0x4e30, 0x4e39, 0x4e4b,\n    0x5c39, 0x4e88, 0x4e91, 0x4e95, 0x4e92, 0x4e94, 0x4ea2, 0x4ec1,\n    0x4ec0, 0x4ec3, 0x4ec6, 0x4ec7, 0x4ecd, 0x4eca, 0x4ecb, 0x4ec4,\n    0x5143, 0x5141, 0x5167, 0x516d, 0x516e, 0x516c, 0x5197, 0x51f6,\n    0x5206, 0x5207, 0x5208, 0x52fb, 0x52fe, 0x52ff, 0x5316, 0x5339,\n    0x5348, 0x5347, 0x5345, 0x535e, 0x5384, 0x53cb, 0x53ca, 0x53cd,\n    0x58ec, 0x5929, 0x592b, 0x592a, 0x592d, 0x5b54, 0x5c11, 0x5c24,\n    0x5c3a, 0x5c6f, 0x5df4, 0x5e7b, 0x5eff, 0x5f14, 0x5f15, 0x5fc3,\n    0x6208, 0x6236, 0x624b, 0x624e, 0x652f, 0x6587, 0x6597, 0x65a4,\n    0x65b9, 0x65e5, 0x66f0, 0x6708, 0x6728, 0x6b20, 0x6b62, 0x6b79,\n    0x6bcb, 0x6bd4, 0x6bdb, 0x6c0f, 0x6c34, 0x706b, 0x722a, 0x7236,\n    0x723b, 0x7247, 0x7259, 0x725b, 0x72ac, 0x738b, 0x4e19, 0x003f,\n    /* lead byte a5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4e16, 0x4e15, 0x4e14, 0x4e18, 0x4e3b, 0x4e4d, 0x4e4f, 0x4e4e,\n    0x4ee5, 0x4ed8, 0x4ed4, 0x4ed5, 0x4ed6, 0x4ed7, 0x4ee3, 0x4ee4,\n    0x4ed9, 0x4ede, 0x5145, 0x5144, 0x5189, 0x518a, 0x51ac, 0x51f9,\n    0x51fa, 0x51f8, 0x520a, 0x52a0, 0x529f, 0x5305, 0x5306, 0x5317,\n    0x531d, 0x4edf, 0x534a, 0x5349, 0x5361, 0x5360, 0x536f, 0x536e,\n    0x53bb, 0x53ef, 0x53e4, 0x53f3, 0x53ec, 0x53ee, 0x53e9, 0x53e8,\n    0x53fc, 0x53f8, 0x53f5, 0x53eb, 0x53e6, 0x53ea, 0x53f2, 0x53f1,\n    0x53f0, 0x53e5, 0x53ed, 0x53fb, 0x56db, 0x56da, 0x5916, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x592e, 0x5931, 0x5974, 0x5976, 0x5b55, 0x5b83, 0x5c3c,\n    0x5de8, 0x5de7, 0x5de6, 0x5e02, 0x5e03, 0x5e73, 0x5e7c, 0x5f01,\n    0x5f18, 0x5f17, 0x5fc5, 0x620a, 0x6253, 0x6254, 0x6252, 0x6251,\n    0x65a5, 0x65e6, 0x672e, 0x672c, 0x672a, 0x672b, 0x672d, 0x6b63,\n    0x6bcd, 0x6c11, 0x6c10, 0x6c38, 0x6c41, 0x6c40, 0x6c3e, 0x72af,\n    0x7384, 0x7389, 0x74dc, 0x74e6, 0x7518, 0x751f, 0x7528, 0x7529,\n    0x7530, 0x7531, 0x7532, 0x7533, 0x758b, 0x767d, 0x76ae, 0x76bf,\n    0x76ee, 0x77db, 0x77e2, 0x77f3, 0x793a, 0x79be, 0x7a74, 0x7acb,\n    0x4e1e, 0x4e1f, 0x4e52, 0x4e53, 0x4e69, 0x4e99, 0x4ea4, 0x4ea6,\n    0x4ea5, 0x4eff, 0x4f09, 0x4f19, 0x4f0a, 0x4f15, 0x4f0d, 0x4f10,\n    0x4f11, 0x4f0f, 0x4ef2, 0x4ef6, 0x4efb, 0x4ef0, 0x4ef3, 0x4efd,\n    0x4f01, 0x4f0b, 0x5149, 0x5147, 0x5146, 0x5148, 0x5168, 0x003f,\n    /* lead byte a6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5171, 0x518d, 0x51b0, 0x5217, 0x5211, 0x5212, 0x520e, 0x5216,\n    0x52a3, 0x5308, 0x5321, 0x5320, 0x5370, 0x5371, 0x5409, 0x540f,\n    0x540c, 0x540a, 0x5410, 0x5401, 0x540b, 0x5404, 0x5411, 0x540d,\n    0x5408, 0x5403, 0x540e, 0x5406, 0x5412, 0x56e0, 0x56de, 0x56dd,\n    0x5733, 0x5730, 0x5728, 0x572d, 0x572c, 0x572f, 0x5729, 0x5919,\n    0x591a, 0x5937, 0x5938, 0x5984, 0x5978, 0x5983, 0x597d, 0x5979,\n    0x5982, 0x5981, 0x5b57, 0x5b58, 0x5b87, 0x5b88, 0x5b85, 0x5b89,\n    0x5bfa, 0x5c16, 0x5c79, 0x5dde, 0x5e06, 0x5e76, 0x5e74, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5f0f, 0x5f1b, 0x5fd9, 0x5fd6, 0x620e, 0x620c, 0x620d,\n    0x6210, 0x6263, 0x625b, 0x6258, 0x6536, 0x65e9, 0x65e8, 0x65ec,\n    0x65ed, 0x66f2, 0x66f3, 0x6709, 0x673d, 0x6734, 0x6731, 0x6735,\n    0x6b21, 0x6b64, 0x6b7b, 0x6c16, 0x6c5d, 0x6c57, 0x6c59, 0x6c5f,\n    0x6c60, 0x6c50, 0x6c55, 0x6c61, 0x6c5b, 0x6c4d, 0x6c4e, 0x7070,\n    0x725f, 0x725d, 0x767e, 0x7af9, 0x7c73, 0x7cf8, 0x7f36, 0x7f8a,\n    0x7fbd, 0x8001, 0x8003, 0x800c, 0x8012, 0x8033, 0x807f, 0x8089,\n    0x808b, 0x808c, 0x81e3, 0x81ea, 0x81f3, 0x81fc, 0x820c, 0x821b,\n    0x821f, 0x826e, 0x8272, 0x827e, 0x866b, 0x8840, 0x884c, 0x8863,\n    0x897f, 0x9621, 0x4e32, 0x4ea8, 0x4f4d, 0x4f4f, 0x4f47, 0x4f57,\n    0x4f5e, 0x4f34, 0x4f5b, 0x4f55, 0x4f30, 0x4f50, 0x4f51, 0x4f3d,\n    0x4f3a, 0x4f38, 0x4f43, 0x4f54, 0x4f3c, 0x4f46, 0x4f63, 0x003f,\n    /* lead byte a7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4f5c, 0x4f60, 0x4f2f, 0x4f4e, 0x4f36, 0x4f59, 0x4f5d, 0x4f48,\n    0x4f5a, 0x514c, 0x514b, 0x514d, 0x5175, 0x51b6, 0x51b7, 0x5225,\n    0x5224, 0x5229, 0x522a, 0x5228, 0x52ab, 0x52a9, 0x52aa, 0x52ac,\n    0x5323, 0x5373, 0x5375, 0x541d, 0x542d, 0x541e, 0x543e, 0x5426,\n    0x544e, 0x5427, 0x5446, 0x5443, 0x5433, 0x5448, 0x5442, 0x541b,\n    0x5429, 0x544a, 0x5439, 0x543b, 0x5438, 0x542e, 0x5435, 0x5436,\n    0x5420, 0x543c, 0x5440, 0x5431, 0x542b, 0x541f, 0x542c, 0x56ea,\n    0x56f0, 0x56e4, 0x56eb, 0x574a, 0x5751, 0x5740, 0x574d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5747, 0x574e, 0x573e, 0x5750, 0x574f, 0x573b, 0x58ef,\n    0x593e, 0x599d, 0x5992, 0x59a8, 0x599e, 0x59a3, 0x5999, 0x5996,\n    0x598d, 0x59a4, 0x5993, 0x598a, 0x59a5, 0x5b5d, 0x5b5c, 0x5b5a,\n    0x5b5b, 0x5b8c, 0x5b8b, 0x5b8f, 0x5c2c, 0x5c40, 0x5c41, 0x5c3f,\n    0x5c3e, 0x5c90, 0x5c91, 0x5c94, 0x5c8c, 0x5deb, 0x5e0c, 0x5e8f,\n    0x5e87, 0x5e8a, 0x5ef7, 0x5f04, 0x5f1f, 0x5f64, 0x5f62, 0x5f77,\n    0x5f79, 0x5fd8, 0x5fcc, 0x5fd7, 0x5fcd, 0x5ff1, 0x5feb, 0x5ff8,\n    0x5fea, 0x6212, 0x6211, 0x6284, 0x6297, 0x6296, 0x6280, 0x6276,\n    0x6289, 0x626d, 0x628a, 0x627c, 0x627e, 0x6279, 0x6273, 0x6292,\n    0x626f, 0x6298, 0x626e, 0x6295, 0x6293, 0x6291, 0x6286, 0x6539,\n    0x653b, 0x6538, 0x65f1, 0x66f4, 0x675f, 0x674e, 0x674f, 0x6750,\n    0x6751, 0x675c, 0x6756, 0x675e, 0x6749, 0x6746, 0x6760, 0x003f,\n    /* lead byte a8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6753, 0x6757, 0x6b65, 0x6bcf, 0x6c42, 0x6c5e, 0x6c99, 0x6c81,\n    0x6c88, 0x6c89, 0x6c85, 0x6c9b, 0x6c6a, 0x6c7a, 0x6c90, 0x6c70,\n    0x6c8c, 0x6c68, 0x6c96, 0x6c92, 0x6c7d, 0x6c83, 0x6c72, 0x6c7e,\n    0x6c74, 0x6c86, 0x6c76, 0x6c8d, 0x6c94, 0x6c98, 0x6c82, 0x7076,\n    0x707c, 0x707d, 0x7078, 0x7262, 0x7261, 0x7260, 0x72c4, 0x72c2,\n    0x7396, 0x752c, 0x752b, 0x7537, 0x7538, 0x7682, 0x76ef, 0x77e3,\n    0x79c1, 0x79c0, 0x79bf, 0x7a76, 0x7cfb, 0x7f55, 0x8096, 0x8093,\n    0x809d, 0x8098, 0x809b, 0x809a, 0x80b2, 0x826f, 0x8292, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x828b, 0x828d, 0x898b, 0x89d2, 0x8a00, 0x8c37, 0x8c46,\n    0x8c55, 0x8c9d, 0x8d64, 0x8d70, 0x8db3, 0x8eab, 0x8eca, 0x8f9b,\n    0x8fb0, 0x8fc2, 0x8fc6, 0x8fc5, 0x8fc4, 0x5de1, 0x9091, 0x90a2,\n    0x90aa, 0x90a6, 0x90a3, 0x9149, 0x91c6, 0x91cc, 0x9632, 0x962e,\n    0x9631, 0x962a, 0x962c, 0x4e26, 0x4e56, 0x4e73, 0x4e8b, 0x4e9b,\n    0x4e9e, 0x4eab, 0x4eac, 0x4f6f, 0x4f9d, 0x4f8d, 0x4f73, 0x4f7f,\n    0x4f6c, 0x4f9b, 0x4f8b, 0x4f86, 0x4f83, 0x4f70, 0x4f75, 0x4f88,\n    0x4f69, 0x4f7b, 0x4f96, 0x4f7e, 0x4f8f, 0x4f91, 0x4f7a, 0x5154,\n    0x5152, 0x5155, 0x5169, 0x5177, 0x5176, 0x5178, 0x51bd, 0x51fd,\n    0x523b, 0x5238, 0x5237, 0x523a, 0x5230, 0x522e, 0x5236, 0x5241,\n    0x52be, 0x52bb, 0x5352, 0x5354, 0x5353, 0x5351, 0x5366, 0x5377,\n    0x5378, 0x5379, 0x53d6, 0x53d4, 0x53d7, 0x5473, 0x5475, 0x003f,\n    /* lead byte a9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5496, 0x5478, 0x5495, 0x5480, 0x547b, 0x5477, 0x5484, 0x5492,\n    0x5486, 0x547c, 0x5490, 0x5471, 0x5476, 0x548c, 0x549a, 0x5462,\n    0x5468, 0x548b, 0x547d, 0x548e, 0x56fa, 0x5783, 0x5777, 0x576a,\n    0x5769, 0x5761, 0x5766, 0x5764, 0x577c, 0x591c, 0x5949, 0x5947,\n    0x5948, 0x5944, 0x5954, 0x59be, 0x59bb, 0x59d4, 0x59b9, 0x59ae,\n    0x59d1, 0x59c6, 0x59d0, 0x59cd, 0x59cb, 0x59d3, 0x59ca, 0x59af,\n    0x59b3, 0x59d2, 0x59c5, 0x5b5f, 0x5b64, 0x5b63, 0x5b97, 0x5b9a,\n    0x5b98, 0x5b9c, 0x5b99, 0x5b9b, 0x5c1a, 0x5c48, 0x5c45, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5c46, 0x5cb7, 0x5ca1, 0x5cb8, 0x5ca9, 0x5cab, 0x5cb1,\n    0x5cb3, 0x5e18, 0x5e1a, 0x5e16, 0x5e15, 0x5e1b, 0x5e11, 0x5e78,\n    0x5e9a, 0x5e97, 0x5e9c, 0x5e95, 0x5e96, 0x5ef6, 0x5f26, 0x5f27,\n    0x5f29, 0x5f80, 0x5f81, 0x5f7f, 0x5f7c, 0x5fdd, 0x5fe0, 0x5ffd,\n    0x5ff5, 0x5fff, 0x600f, 0x6014, 0x602f, 0x6035, 0x6016, 0x602a,\n    0x6015, 0x6021, 0x6027, 0x6029, 0x602b, 0x601b, 0x6216, 0x6215,\n    0x623f, 0x623e, 0x6240, 0x627f, 0x62c9, 0x62cc, 0x62c4, 0x62bf,\n    0x62c2, 0x62b9, 0x62d2, 0x62db, 0x62ab, 0x62d3, 0x62d4, 0x62cb,\n    0x62c8, 0x62a8, 0x62bd, 0x62bc, 0x62d0, 0x62d9, 0x62c7, 0x62cd,\n    0x62b5, 0x62da, 0x62b1, 0x62d8, 0x62d6, 0x62d7, 0x62c6, 0x62ac,\n    0x62ce, 0x653e, 0x65a7, 0x65bc, 0x65fa, 0x6614, 0x6613, 0x660c,\n    0x6606, 0x6602, 0x660e, 0x6600, 0x660f, 0x6615, 0x660a, 0x003f,\n    /* lead byte aa */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6607, 0x670d, 0x670b, 0x676d, 0x678b, 0x6795, 0x6771, 0x679c,\n    0x6773, 0x6777, 0x6787, 0x679d, 0x6797, 0x676f, 0x6770, 0x677f,\n    0x6789, 0x677e, 0x6790, 0x6775, 0x679a, 0x6793, 0x677c, 0x676a,\n    0x6772, 0x6b23, 0x6b66, 0x6b67, 0x6b7f, 0x6c13, 0x6c1b, 0x6ce3,\n    0x6ce8, 0x6cf3, 0x6cb1, 0x6ccc, 0x6ce5, 0x6cb3, 0x6cbd, 0x6cbe,\n    0x6cbc, 0x6ce2, 0x6cab, 0x6cd5, 0x6cd3, 0x6cb8, 0x6cc4, 0x6cb9,\n    0x6cc1, 0x6cae, 0x6cd7, 0x6cc5, 0x6cf1, 0x6cbf, 0x6cbb, 0x6ce1,\n    0x6cdb, 0x6cca, 0x6cac, 0x6cef, 0x6cdc, 0x6cd6, 0x6ce0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7095, 0x708e, 0x7092, 0x708a, 0x7099, 0x722c, 0x722d,\n    0x7238, 0x7248, 0x7267, 0x7269, 0x72c0, 0x72ce, 0x72d9, 0x72d7,\n    0x72d0, 0x73a9, 0x73a8, 0x739f, 0x73ab, 0x73a5, 0x753d, 0x759d,\n    0x7599, 0x759a, 0x7684, 0x76c2, 0x76f2, 0x76f4, 0x77e5, 0x77fd,\n    0x793e, 0x7940, 0x7941, 0x79c9, 0x79c8, 0x7a7a, 0x7a79, 0x7afa,\n    0x7cfe, 0x7f54, 0x7f8c, 0x7f8b, 0x8005, 0x80ba, 0x80a5, 0x80a2,\n    0x80b1, 0x80a1, 0x80ab, 0x80a9, 0x80b4, 0x80aa, 0x80af, 0x81e5,\n    0x81fe, 0x820d, 0x82b3, 0x829d, 0x8299, 0x82ad, 0x82bd, 0x829f,\n    0x82b9, 0x82b1, 0x82ac, 0x82a5, 0x82af, 0x82b8, 0x82a3, 0x82b0,\n    0x82be, 0x82b7, 0x864e, 0x8671, 0x521d, 0x8868, 0x8ecb, 0x8fce,\n    0x8fd4, 0x8fd1, 0x90b5, 0x90b8, 0x90b1, 0x90b6, 0x91c7, 0x91d1,\n    0x9577, 0x9580, 0x961c, 0x9640, 0x963f, 0x963b, 0x9644, 0x003f,\n    /* lead byte ab */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9642, 0x96b9, 0x96e8, 0x9752, 0x975e, 0x4e9f, 0x4ead, 0x4eae,\n    0x4fe1, 0x4fb5, 0x4faf, 0x4fbf, 0x4fe0, 0x4fd1, 0x4fcf, 0x4fdd,\n    0x4fc3, 0x4fb6, 0x4fd8, 0x4fdf, 0x4fca, 0x4fd7, 0x4fae, 0x4fd0,\n    0x4fc4, 0x4fc2, 0x4fda, 0x4fce, 0x4fde, 0x4fb7, 0x5157, 0x5192,\n    0x5191, 0x51a0, 0x524e, 0x5243, 0x524a, 0x524d, 0x524c, 0x524b,\n    0x5247, 0x52c7, 0x52c9, 0x52c3, 0x52c1, 0x530d, 0x5357, 0x537b,\n    0x539a, 0x53db, 0x54ac, 0x54c0, 0x54a8, 0x54ce, 0x54c9, 0x54b8,\n    0x54a6, 0x54b3, 0x54c7, 0x54c2, 0x54bd, 0x54aa, 0x54c1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x54c4, 0x54c8, 0x54af, 0x54ab, 0x54b1, 0x54bb, 0x54a9,\n    0x54a7, 0x54bf, 0x56ff, 0x5782, 0x578b, 0x57a0, 0x57a3, 0x57a2,\n    0x57ce, 0x57ae, 0x5793, 0x5955, 0x5951, 0x594f, 0x594e, 0x5950,\n    0x59dc, 0x59d8, 0x59ff, 0x59e3, 0x59e8, 0x5a03, 0x59e5, 0x59ea,\n    0x59da, 0x59e6, 0x5a01, 0x59fb, 0x5b69, 0x5ba3, 0x5ba6, 0x5ba4,\n    0x5ba2, 0x5ba5, 0x5c01, 0x5c4e, 0x5c4f, 0x5c4d, 0x5c4b, 0x5cd9,\n    0x5cd2, 0x5df7, 0x5e1d, 0x5e25, 0x5e1f, 0x5e7d, 0x5ea0, 0x5ea6,\n    0x5efa, 0x5f08, 0x5f2d, 0x5f65, 0x5f88, 0x5f85, 0x5f8a, 0x5f8b,\n    0x5f87, 0x5f8c, 0x5f89, 0x6012, 0x601d, 0x6020, 0x6025, 0x600e,\n    0x6028, 0x604d, 0x6070, 0x6068, 0x6062, 0x6046, 0x6043, 0x606c,\n    0x606b, 0x606a, 0x6064, 0x6241, 0x62dc, 0x6316, 0x6309, 0x62fc,\n    0x62ed, 0x6301, 0x62ee, 0x62fd, 0x6307, 0x62f1, 0x62f7, 0x003f,\n    /* lead byte ac */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x62ef, 0x62ec, 0x62fe, 0x62f4, 0x6311, 0x6302, 0x653f, 0x6545,\n    0x65ab, 0x65bd, 0x65e2, 0x6625, 0x662d, 0x6620, 0x6627, 0x662f,\n    0x661f, 0x6628, 0x6631, 0x6624, 0x66f7, 0x67ff, 0x67d3, 0x67f1,\n    0x67d4, 0x67d0, 0x67ec, 0x67b6, 0x67af, 0x67f5, 0x67e9, 0x67ef,\n    0x67c4, 0x67d1, 0x67b4, 0x67da, 0x67e5, 0x67b8, 0x67cf, 0x67de,\n    0x67f3, 0x67b0, 0x67d9, 0x67e2, 0x67dd, 0x67d2, 0x6b6a, 0x6b83,\n    0x6b86, 0x6bb5, 0x6bd2, 0x6bd7, 0x6c1f, 0x6cc9, 0x6d0b, 0x6d32,\n    0x6d2a, 0x6d41, 0x6d25, 0x6d0c, 0x6d31, 0x6d1e, 0x6d17, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6d3b, 0x6d3d, 0x6d3e, 0x6d36, 0x6d1b, 0x6cf5, 0x6d39,\n    0x6d27, 0x6d38, 0x6d29, 0x6d2e, 0x6d35, 0x6d0e, 0x6d2b, 0x70ab,\n    0x70ba, 0x70b3, 0x70ac, 0x70af, 0x70ad, 0x70b8, 0x70ae, 0x70a4,\n    0x7230, 0x7272, 0x726f, 0x7274, 0x72e9, 0x72e0, 0x72e1, 0x73b7,\n    0x73ca, 0x73bb, 0x73b2, 0x73cd, 0x73c0, 0x73b3, 0x751a, 0x752d,\n    0x754f, 0x754c, 0x754e, 0x754b, 0x75ab, 0x75a4, 0x75a5, 0x75a2,\n    0x75a3, 0x7678, 0x7686, 0x7687, 0x7688, 0x76c8, 0x76c6, 0x76c3,\n    0x76c5, 0x7701, 0x76f9, 0x76f8, 0x7709, 0x770b, 0x76fe, 0x76fc,\n    0x7707, 0x77dc, 0x7802, 0x7814, 0x780c, 0x780d, 0x7946, 0x7949,\n    0x7948, 0x7947, 0x79b9, 0x79ba, 0x79d1, 0x79d2, 0x79cb, 0x7a7f,\n    0x7a81, 0x7aff, 0x7afd, 0x7c7d, 0x7d02, 0x7d05, 0x7d00, 0x7d09,\n    0x7d07, 0x7d04, 0x7d06, 0x7f38, 0x7f8e, 0x7fbf, 0x8004, 0x003f,\n    /* lead byte ad */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8010, 0x800d, 0x8011, 0x8036, 0x80d6, 0x80e5, 0x80da, 0x80c3,\n    0x80c4, 0x80cc, 0x80e1, 0x80db, 0x80ce, 0x80de, 0x80e4, 0x80dd,\n    0x81f4, 0x8222, 0x82e7, 0x8303, 0x8305, 0x82e3, 0x82db, 0x82e6,\n    0x8304, 0x82e5, 0x8302, 0x8309, 0x82d2, 0x82d7, 0x82f1, 0x8301,\n    0x82dc, 0x82d4, 0x82d1, 0x82de, 0x82d3, 0x82df, 0x82ef, 0x8306,\n    0x8650, 0x8679, 0x867b, 0x867a, 0x884d, 0x886b, 0x8981, 0x89d4,\n    0x8a08, 0x8a02, 0x8a03, 0x8c9e, 0x8ca0, 0x8d74, 0x8d73, 0x8db4,\n    0x8ecd, 0x8ecc, 0x8ff0, 0x8fe6, 0x8fe2, 0x8fea, 0x8fe5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8fed, 0x8feb, 0x8fe4, 0x8fe8, 0x90ca, 0x90ce, 0x90c1,\n    0x90c3, 0x914b, 0x914a, 0x91cd, 0x9582, 0x9650, 0x964b, 0x964c,\n    0x964d, 0x9762, 0x9769, 0x97cb, 0x97ed, 0x97f3, 0x9801, 0x98a8,\n    0x98db, 0x98df, 0x9996, 0x9999, 0x4e58, 0x4eb3, 0x500c, 0x500d,\n    0x5023, 0x4fef, 0x5026, 0x5025, 0x4ff8, 0x5029, 0x5016, 0x5006,\n    0x503c, 0x501f, 0x501a, 0x5012, 0x5011, 0x4ffa, 0x5000, 0x5014,\n    0x5028, 0x4ff1, 0x5021, 0x500b, 0x5019, 0x5018, 0x4ff3, 0x4fee,\n    0x502d, 0x502a, 0x4ffe, 0x502b, 0x5009, 0x517c, 0x51a4, 0x51a5,\n    0x51a2, 0x51cd, 0x51cc, 0x51c6, 0x51cb, 0x5256, 0x525c, 0x5254,\n    0x525b, 0x525d, 0x532a, 0x537f, 0x539f, 0x539d, 0x53df, 0x54e8,\n    0x5510, 0x5501, 0x5537, 0x54fc, 0x54e5, 0x54f2, 0x5506, 0x54fa,\n    0x5514, 0x54e9, 0x54ed, 0x54e1, 0x5509, 0x54ee, 0x54ea, 0x003f,\n    /* lead byte ae */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x54e6, 0x5527, 0x5507, 0x54fd, 0x550f, 0x5703, 0x5704, 0x57c2,\n    0x57d4, 0x57cb, 0x57c3, 0x5809, 0x590f, 0x5957, 0x5958, 0x595a,\n    0x5a11, 0x5a18, 0x5a1c, 0x5a1f, 0x5a1b, 0x5a13, 0x59ec, 0x5a20,\n    0x5a23, 0x5a29, 0x5a25, 0x5a0c, 0x5a09, 0x5b6b, 0x5c58, 0x5bb0,\n    0x5bb3, 0x5bb6, 0x5bb4, 0x5bae, 0x5bb5, 0x5bb9, 0x5bb8, 0x5c04,\n    0x5c51, 0x5c55, 0x5c50, 0x5ced, 0x5cfd, 0x5cfb, 0x5cea, 0x5ce8,\n    0x5cf0, 0x5cf6, 0x5d01, 0x5cf4, 0x5dee, 0x5e2d, 0x5e2b, 0x5eab,\n    0x5ead, 0x5ea7, 0x5f31, 0x5f92, 0x5f91, 0x5f90, 0x6059, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6063, 0x6065, 0x6050, 0x6055, 0x606d, 0x6069, 0x606f,\n    0x6084, 0x609f, 0x609a, 0x608d, 0x6094, 0x608c, 0x6085, 0x6096,\n    0x6247, 0x62f3, 0x6308, 0x62ff, 0x634e, 0x633e, 0x632f, 0x6355,\n    0x6342, 0x6346, 0x634f, 0x6349, 0x633a, 0x6350, 0x633d, 0x632a,\n    0x632b, 0x6328, 0x634d, 0x634c, 0x6548, 0x6549, 0x6599, 0x65c1,\n    0x65c5, 0x6642, 0x6649, 0x664f, 0x6643, 0x6652, 0x664c, 0x6645,\n    0x6641, 0x66f8, 0x6714, 0x6715, 0x6717, 0x6821, 0x6838, 0x6848,\n    0x6846, 0x6853, 0x6839, 0x6842, 0x6854, 0x6829, 0x68b3, 0x6817,\n    0x684c, 0x6851, 0x683d, 0x67f4, 0x6850, 0x6840, 0x683c, 0x6843,\n    0x682a, 0x6845, 0x6813, 0x6818, 0x6841, 0x6b8a, 0x6b89, 0x6bb7,\n    0x6c23, 0x6c27, 0x6c28, 0x6c26, 0x6c24, 0x6cf0, 0x6d6a, 0x6d95,\n    0x6d88, 0x6d87, 0x6d66, 0x6d78, 0x6d77, 0x6d59, 0x6d93, 0x003f,\n    /* lead byte af */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6d6c, 0x6d89, 0x6d6e, 0x6d5a, 0x6d74, 0x6d69, 0x6d8c, 0x6d8a,\n    0x6d79, 0x6d85, 0x6d65, 0x6d94, 0x70ca, 0x70d8, 0x70e4, 0x70d9,\n    0x70c8, 0x70cf, 0x7239, 0x7279, 0x72fc, 0x72f9, 0x72fd, 0x72f8,\n    0x72f7, 0x7386, 0x73ed, 0x7409, 0x73ee, 0x73e0, 0x73ea, 0x73de,\n    0x7554, 0x755d, 0x755c, 0x755a, 0x7559, 0x75be, 0x75c5, 0x75c7,\n    0x75b2, 0x75b3, 0x75bd, 0x75bc, 0x75b9, 0x75c2, 0x75b8, 0x768b,\n    0x76b0, 0x76ca, 0x76cd, 0x76ce, 0x7729, 0x771f, 0x7720, 0x7728,\n    0x77e9, 0x7830, 0x7827, 0x7838, 0x781d, 0x7834, 0x7837, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7825, 0x782d, 0x7820, 0x781f, 0x7832, 0x7955, 0x7950,\n    0x7960, 0x795f, 0x7956, 0x795e, 0x795d, 0x7957, 0x795a, 0x79e4,\n    0x79e3, 0x79e7, 0x79df, 0x79e6, 0x79e9, 0x79d8, 0x7a84, 0x7a88,\n    0x7ad9, 0x7b06, 0x7b11, 0x7c89, 0x7d21, 0x7d17, 0x7d0b, 0x7d0a,\n    0x7d20, 0x7d22, 0x7d14, 0x7d10, 0x7d15, 0x7d1a, 0x7d1c, 0x7d0d,\n    0x7d19, 0x7d1b, 0x7f3a, 0x7f5f, 0x7f94, 0x7fc5, 0x7fc1, 0x8006,\n    0x8018, 0x8015, 0x8019, 0x8017, 0x803d, 0x803f, 0x80f1, 0x8102,\n    0x80f0, 0x8105, 0x80ed, 0x80f4, 0x8106, 0x80f8, 0x80f3, 0x8108,\n    0x80fd, 0x810a, 0x80fc, 0x80ef, 0x81ed, 0x81ec, 0x8200, 0x8210,\n    0x822a, 0x822b, 0x8228, 0x822c, 0x82bb, 0x832b, 0x8352, 0x8354,\n    0x834a, 0x8338, 0x8350, 0x8349, 0x8335, 0x8334, 0x834f, 0x8332,\n    0x8339, 0x8336, 0x8317, 0x8340, 0x8331, 0x8328, 0x8343, 0x003f,\n    /* lead byte b0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8654, 0x868a, 0x86aa, 0x8693, 0x86a4, 0x86a9, 0x868c, 0x86a3,\n    0x869c, 0x8870, 0x8877, 0x8881, 0x8882, 0x887d, 0x8879, 0x8a18,\n    0x8a10, 0x8a0e, 0x8a0c, 0x8a15, 0x8a0a, 0x8a17, 0x8a13, 0x8a16,\n    0x8a0f, 0x8a11, 0x8c48, 0x8c7a, 0x8c79, 0x8ca1, 0x8ca2, 0x8d77,\n    0x8eac, 0x8ed2, 0x8ed4, 0x8ecf, 0x8fb1, 0x9001, 0x9006, 0x8ff7,\n    0x9000, 0x8ffa, 0x8ff4, 0x9003, 0x8ffd, 0x9005, 0x8ff8, 0x9095,\n    0x90e1, 0x90dd, 0x90e2, 0x9152, 0x914d, 0x914c, 0x91d8, 0x91dd,\n    0x91d7, 0x91dc, 0x91d9, 0x9583, 0x9662, 0x9663, 0x9661, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x965b, 0x965d, 0x9664, 0x9658, 0x965e, 0x96bb, 0x98e2,\n    0x99ac, 0x9aa8, 0x9ad8, 0x9b25, 0x9b32, 0x9b3c, 0x4e7e, 0x507a,\n    0x507d, 0x505c, 0x5047, 0x5043, 0x504c, 0x505a, 0x5049, 0x5065,\n    0x5076, 0x504e, 0x5055, 0x5075, 0x5074, 0x5077, 0x504f, 0x500f,\n    0x506f, 0x506d, 0x515c, 0x5195, 0x51f0, 0x526a, 0x526f, 0x52d2,\n    0x52d9, 0x52d8, 0x52d5, 0x5310, 0x530f, 0x5319, 0x533f, 0x5340,\n    0x533e, 0x53c3, 0x66fc, 0x5546, 0x556a, 0x5566, 0x5544, 0x555e,\n    0x5561, 0x5543, 0x554a, 0x5531, 0x5556, 0x554f, 0x5555, 0x552f,\n    0x5564, 0x5538, 0x552e, 0x555c, 0x552c, 0x5563, 0x5533, 0x5541,\n    0x5557, 0x5708, 0x570b, 0x5709, 0x57df, 0x5805, 0x580a, 0x5806,\n    0x57e0, 0x57e4, 0x57fa, 0x5802, 0x5835, 0x57f7, 0x57f9, 0x5920,\n    0x5962, 0x5a36, 0x5a41, 0x5a49, 0x5a66, 0x5a6a, 0x5a40, 0x003f,\n    /* lead byte b1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5a3c, 0x5a62, 0x5a5a, 0x5a46, 0x5a4a, 0x5b70, 0x5bc7, 0x5bc5,\n    0x5bc4, 0x5bc2, 0x5bbf, 0x5bc6, 0x5c09, 0x5c08, 0x5c07, 0x5c60,\n    0x5c5c, 0x5c5d, 0x5d07, 0x5d06, 0x5d0e, 0x5d1b, 0x5d16, 0x5d22,\n    0x5d11, 0x5d29, 0x5d14, 0x5d19, 0x5d24, 0x5d27, 0x5d17, 0x5de2,\n    0x5e38, 0x5e36, 0x5e33, 0x5e37, 0x5eb7, 0x5eb8, 0x5eb6, 0x5eb5,\n    0x5ebe, 0x5f35, 0x5f37, 0x5f57, 0x5f6c, 0x5f69, 0x5f6b, 0x5f97,\n    0x5f99, 0x5f9e, 0x5f98, 0x5fa1, 0x5fa0, 0x5f9c, 0x607f, 0x60a3,\n    0x6089, 0x60a0, 0x60a8, 0x60cb, 0x60b4, 0x60e6, 0x60bd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x60c5, 0x60bb, 0x60b5, 0x60dc, 0x60bc, 0x60d8, 0x60d5,\n    0x60c6, 0x60df, 0x60b8, 0x60da, 0x60c7, 0x621a, 0x621b, 0x6248,\n    0x63a0, 0x63a7, 0x6372, 0x6396, 0x63a2, 0x63a5, 0x6377, 0x6367,\n    0x6398, 0x63aa, 0x6371, 0x63a9, 0x6389, 0x6383, 0x639b, 0x636b,\n    0x63a8, 0x6384, 0x6388, 0x6399, 0x63a1, 0x63ac, 0x6392, 0x638f,\n    0x6380, 0x637b, 0x6369, 0x6368, 0x637a, 0x655d, 0x6556, 0x6551,\n    0x6559, 0x6557, 0x555f, 0x654f, 0x6558, 0x6555, 0x6554, 0x659c,\n    0x659b, 0x65ac, 0x65cf, 0x65cb, 0x65cc, 0x65ce, 0x665d, 0x665a,\n    0x6664, 0x6668, 0x6666, 0x665e, 0x66f9, 0x52d7, 0x671b, 0x6881,\n    0x68af, 0x68a2, 0x6893, 0x68b5, 0x687f, 0x6876, 0x68b1, 0x68a7,\n    0x6897, 0x68b0, 0x6883, 0x68c4, 0x68ad, 0x6886, 0x6885, 0x6894,\n    0x689d, 0x68a8, 0x689f, 0x68a1, 0x6882, 0x6b32, 0x6bba, 0x003f,\n    /* lead byte b2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6beb, 0x6bec, 0x6c2b, 0x6d8e, 0x6dbc, 0x6df3, 0x6dd9, 0x6db2,\n    0x6de1, 0x6dcc, 0x6de4, 0x6dfb, 0x6dfa, 0x6e05, 0x6dc7, 0x6dcb,\n    0x6daf, 0x6dd1, 0x6dae, 0x6dde, 0x6df9, 0x6db8, 0x6df7, 0x6df5,\n    0x6dc5, 0x6dd2, 0x6e1a, 0x6db5, 0x6dda, 0x6deb, 0x6dd8, 0x6dea,\n    0x6df1, 0x6dee, 0x6de8, 0x6dc6, 0x6dc4, 0x6daa, 0x6dec, 0x6dbf,\n    0x6de6, 0x70f9, 0x7109, 0x710a, 0x70fd, 0x70ef, 0x723d, 0x727d,\n    0x7281, 0x731c, 0x731b, 0x7316, 0x7313, 0x7319, 0x7387, 0x7405,\n    0x740a, 0x7403, 0x7406, 0x73fe, 0x740d, 0x74e0, 0x74f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x74f7, 0x751c, 0x7522, 0x7565, 0x7566, 0x7562, 0x7570,\n    0x758f, 0x75d4, 0x75d5, 0x75b5, 0x75ca, 0x75cd, 0x768e, 0x76d4,\n    0x76d2, 0x76db, 0x7737, 0x773e, 0x773c, 0x7736, 0x7738, 0x773a,\n    0x786b, 0x7843, 0x784e, 0x7965, 0x7968, 0x796d, 0x79fb, 0x7a92,\n    0x7a95, 0x7b20, 0x7b28, 0x7b1b, 0x7b2c, 0x7b26, 0x7b19, 0x7b1e,\n    0x7b2e, 0x7c92, 0x7c97, 0x7c95, 0x7d46, 0x7d43, 0x7d71, 0x7d2e,\n    0x7d39, 0x7d3c, 0x7d40, 0x7d30, 0x7d33, 0x7d44, 0x7d2f, 0x7d42,\n    0x7d32, 0x7d31, 0x7f3d, 0x7f9e, 0x7f9a, 0x7fcc, 0x7fce, 0x7fd2,\n    0x801c, 0x804a, 0x8046, 0x812f, 0x8116, 0x8123, 0x812b, 0x8129,\n    0x8130, 0x8124, 0x8202, 0x8235, 0x8237, 0x8236, 0x8239, 0x838e,\n    0x839e, 0x8398, 0x8378, 0x83a2, 0x8396, 0x83bd, 0x83ab, 0x8392,\n    0x838a, 0x8393, 0x8389, 0x83a0, 0x8377, 0x837b, 0x837c, 0x003f,\n    /* lead byte b3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8386, 0x83a7, 0x8655, 0x5f6a, 0x86c7, 0x86c0, 0x86b6, 0x86c4,\n    0x86b5, 0x86c6, 0x86cb, 0x86b1, 0x86af, 0x86c9, 0x8853, 0x889e,\n    0x8888, 0x88ab, 0x8892, 0x8896, 0x888d, 0x888b, 0x8993, 0x898f,\n    0x8a2a, 0x8a1d, 0x8a23, 0x8a25, 0x8a31, 0x8a2d, 0x8a1f, 0x8a1b,\n    0x8a22, 0x8c49, 0x8c5a, 0x8ca9, 0x8cac, 0x8cab, 0x8ca8, 0x8caa,\n    0x8ca7, 0x8d67, 0x8d66, 0x8dbe, 0x8dba, 0x8edb, 0x8edf, 0x9019,\n    0x900d, 0x901a, 0x9017, 0x9023, 0x901f, 0x901d, 0x9010, 0x9015,\n    0x901e, 0x9020, 0x900f, 0x9022, 0x9016, 0x901b, 0x9014, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x90e8, 0x90ed, 0x90fd, 0x9157, 0x91ce, 0x91f5, 0x91e6,\n    0x91e3, 0x91e7, 0x91ed, 0x91e9, 0x9589, 0x966a, 0x9675, 0x9673,\n    0x9678, 0x9670, 0x9674, 0x9676, 0x9677, 0x966c, 0x96c0, 0x96ea,\n    0x96e9, 0x7ae0, 0x7adf, 0x9802, 0x9803, 0x9b5a, 0x9ce5, 0x9e75,\n    0x9e7f, 0x9ea5, 0x9ebb, 0x50a2, 0x508d, 0x5085, 0x5099, 0x5091,\n    0x5080, 0x5096, 0x5098, 0x509a, 0x6700, 0x51f1, 0x5272, 0x5274,\n    0x5275, 0x5269, 0x52de, 0x52dd, 0x52db, 0x535a, 0x53a5, 0x557b,\n    0x5580, 0x55a7, 0x557c, 0x558a, 0x559d, 0x5598, 0x5582, 0x559c,\n    0x55aa, 0x5594, 0x5587, 0x558b, 0x5583, 0x55b3, 0x55ae, 0x559f,\n    0x553e, 0x55b2, 0x559a, 0x55bb, 0x55ac, 0x55b1, 0x557e, 0x5589,\n    0x55ab, 0x5599, 0x570d, 0x582f, 0x582a, 0x5834, 0x5824, 0x5830,\n    0x5831, 0x5821, 0x581d, 0x5820, 0x58f9, 0x58fa, 0x5960, 0x003f,\n    /* lead byte b4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5a77, 0x5a9a, 0x5a7f, 0x5a92, 0x5a9b, 0x5aa7, 0x5b73, 0x5b71,\n    0x5bd2, 0x5bcc, 0x5bd3, 0x5bd0, 0x5c0a, 0x5c0b, 0x5c31, 0x5d4c,\n    0x5d50, 0x5d34, 0x5d47, 0x5dfd, 0x5e45, 0x5e3d, 0x5e40, 0x5e43,\n    0x5e7e, 0x5eca, 0x5ec1, 0x5ec2, 0x5ec4, 0x5f3c, 0x5f6d, 0x5fa9,\n    0x5faa, 0x5fa8, 0x60d1, 0x60e1, 0x60b2, 0x60b6, 0x60e0, 0x611c,\n    0x6123, 0x60fa, 0x6115, 0x60f0, 0x60fb, 0x60f4, 0x6168, 0x60f1,\n    0x610e, 0x60f6, 0x6109, 0x6100, 0x6112, 0x621f, 0x6249, 0x63a3,\n    0x638c, 0x63cf, 0x63c0, 0x63e9, 0x63c9, 0x63c6, 0x63cd, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x63d2, 0x63e3, 0x63d0, 0x63e1, 0x63d6, 0x63ed, 0x63ee,\n    0x6376, 0x63f4, 0x63ea, 0x63db, 0x6452, 0x63da, 0x63f9, 0x655e,\n    0x6566, 0x6562, 0x6563, 0x6591, 0x6590, 0x65af, 0x666e, 0x6670,\n    0x6674, 0x6676, 0x666f, 0x6691, 0x667a, 0x667e, 0x6677, 0x66fe,\n    0x66ff, 0x671f, 0x671d, 0x68fa, 0x68d5, 0x68e0, 0x68d8, 0x68d7,\n    0x6905, 0x68df, 0x68f5, 0x68ee, 0x68e7, 0x68f9, 0x68d2, 0x68f2,\n    0x68e3, 0x68cb, 0x68cd, 0x690d, 0x6912, 0x690e, 0x68c9, 0x68da,\n    0x696e, 0x68fb, 0x6b3e, 0x6b3a, 0x6b3d, 0x6b98, 0x6b96, 0x6bbc,\n    0x6bef, 0x6c2e, 0x6c2f, 0x6c2c, 0x6e2f, 0x6e38, 0x6e54, 0x6e21,\n    0x6e32, 0x6e67, 0x6e4a, 0x6e20, 0x6e25, 0x6e23, 0x6e1b, 0x6e5b,\n    0x6e58, 0x6e24, 0x6e56, 0x6e6e, 0x6e2d, 0x6e26, 0x6e6f, 0x6e34,\n    0x6e4d, 0x6e3a, 0x6e2c, 0x6e43, 0x6e1d, 0x6e3e, 0x6ecb, 0x003f,\n    /* lead byte b5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6e89, 0x6e19, 0x6e4e, 0x6e63, 0x6e44, 0x6e72, 0x6e69, 0x6e5f,\n    0x7119, 0x711a, 0x7126, 0x7130, 0x7121, 0x7136, 0x716e, 0x711c,\n    0x724c, 0x7284, 0x7280, 0x7336, 0x7325, 0x7334, 0x7329, 0x743a,\n    0x742a, 0x7433, 0x7422, 0x7425, 0x7435, 0x7436, 0x7434, 0x742f,\n    0x741b, 0x7426, 0x7428, 0x7525, 0x7526, 0x756b, 0x756a, 0x75e2,\n    0x75db, 0x75e3, 0x75d9, 0x75d8, 0x75de, 0x75e0, 0x767b, 0x767c,\n    0x7696, 0x7693, 0x76b4, 0x76dc, 0x774f, 0x77ed, 0x785d, 0x786c,\n    0x786f, 0x7a0d, 0x7a08, 0x7a0b, 0x7a05, 0x7a00, 0x7a98, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7a97, 0x7a96, 0x7ae5, 0x7ae3, 0x7b49, 0x7b56, 0x7b46,\n    0x7b50, 0x7b52, 0x7b54, 0x7b4d, 0x7b4b, 0x7b4f, 0x7b51, 0x7c9f,\n    0x7ca5, 0x7d5e, 0x7d50, 0x7d68, 0x7d55, 0x7d2b, 0x7d6e, 0x7d72,\n    0x7d61, 0x7d66, 0x7d62, 0x7d70, 0x7d73, 0x5584, 0x7fd4, 0x7fd5,\n    0x800b, 0x8052, 0x8085, 0x8155, 0x8154, 0x814b, 0x8151, 0x814e,\n    0x8139, 0x8146, 0x813e, 0x814c, 0x8153, 0x8174, 0x8212, 0x821c,\n    0x83e9, 0x8403, 0x83f8, 0x840d, 0x83e0, 0x83c5, 0x840b, 0x83c1,\n    0x83ef, 0x83f1, 0x83f4, 0x8457, 0x840a, 0x83f0, 0x840c, 0x83cc,\n    0x83fd, 0x83f2, 0x83ca, 0x8438, 0x840e, 0x8404, 0x83dc, 0x8407,\n    0x83d4, 0x83df, 0x865b, 0x86df, 0x86d9, 0x86ed, 0x86d4, 0x86db,\n    0x86e4, 0x86d0, 0x86de, 0x8857, 0x88c1, 0x88c2, 0x88b1, 0x8983,\n    0x8996, 0x8a3b, 0x8a60, 0x8a55, 0x8a5e, 0x8a3c, 0x8a41, 0x003f,\n    /* lead byte b6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8a54, 0x8a5b, 0x8a50, 0x8a46, 0x8a34, 0x8a3a, 0x8a36, 0x8a56,\n    0x8c61, 0x8c82, 0x8caf, 0x8cbc, 0x8cb3, 0x8cbd, 0x8cc1, 0x8cbb,\n    0x8cc0, 0x8cb4, 0x8cb7, 0x8cb6, 0x8cbf, 0x8cb8, 0x8d8a, 0x8d85,\n    0x8d81, 0x8dce, 0x8ddd, 0x8dcb, 0x8dda, 0x8dd1, 0x8dcc, 0x8ddb,\n    0x8dc6, 0x8efb, 0x8ef8, 0x8efc, 0x8f9c, 0x902e, 0x9035, 0x9031,\n    0x9038, 0x9032, 0x9036, 0x9102, 0x90f5, 0x9109, 0x90fe, 0x9163,\n    0x9165, 0x91cf, 0x9214, 0x9215, 0x9223, 0x9209, 0x921e, 0x920d,\n    0x9210, 0x9207, 0x9211, 0x9594, 0x958f, 0x958b, 0x9591, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9593, 0x9592, 0x958e, 0x968a, 0x968e, 0x968b, 0x967d,\n    0x9685, 0x9686, 0x968d, 0x9672, 0x9684, 0x96c1, 0x96c5, 0x96c4,\n    0x96c6, 0x96c7, 0x96ef, 0x96f2, 0x97cc, 0x9805, 0x9806, 0x9808,\n    0x98e7, 0x98ea, 0x98ef, 0x98e9, 0x98f2, 0x98ed, 0x99ae, 0x99ad,\n    0x9ec3, 0x9ecd, 0x9ed1, 0x4e82, 0x50ad, 0x50b5, 0x50b2, 0x50b3,\n    0x50c5, 0x50be, 0x50ac, 0x50b7, 0x50bb, 0x50af, 0x50c7, 0x527f,\n    0x5277, 0x527d, 0x52df, 0x52e6, 0x52e4, 0x52e2, 0x52e3, 0x532f,\n    0x55df, 0x55e8, 0x55d3, 0x55e6, 0x55ce, 0x55dc, 0x55c7, 0x55d1,\n    0x55e3, 0x55e4, 0x55ef, 0x55da, 0x55e1, 0x55c5, 0x55c6, 0x55e5,\n    0x55c9, 0x5712, 0x5713, 0x585e, 0x5851, 0x5858, 0x5857, 0x585a,\n    0x5854, 0x586b, 0x584c, 0x586d, 0x584a, 0x5862, 0x5852, 0x584b,\n    0x5967, 0x5ac1, 0x5ac9, 0x5acc, 0x5abe, 0x5abd, 0x5abc, 0x003f,\n    /* lead byte b7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5ab3, 0x5ac2, 0x5ab2, 0x5d69, 0x5d6f, 0x5e4c, 0x5e79, 0x5ec9,\n    0x5ec8, 0x5f12, 0x5f59, 0x5fac, 0x5fae, 0x611a, 0x610f, 0x6148,\n    0x611f, 0x60f3, 0x611b, 0x60f9, 0x6101, 0x6108, 0x614e, 0x614c,\n    0x6144, 0x614d, 0x613e, 0x6134, 0x6127, 0x610d, 0x6106, 0x6137,\n    0x6221, 0x6222, 0x6413, 0x643e, 0x641e, 0x642a, 0x642d, 0x643d,\n    0x642c, 0x640f, 0x641c, 0x6414, 0x640d, 0x6436, 0x6416, 0x6417,\n    0x6406, 0x656c, 0x659f, 0x65b0, 0x6697, 0x6689, 0x6687, 0x6688,\n    0x6696, 0x6684, 0x6698, 0x668d, 0x6703, 0x6994, 0x696d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x695a, 0x6977, 0x6960, 0x6954, 0x6975, 0x6930, 0x6982,\n    0x694a, 0x6968, 0x696b, 0x695e, 0x6953, 0x6979, 0x6986, 0x695d,\n    0x6963, 0x695b, 0x6b47, 0x6b72, 0x6bc0, 0x6bbf, 0x6bd3, 0x6bfd,\n    0x6ea2, 0x6eaf, 0x6ed3, 0x6eb6, 0x6ec2, 0x6e90, 0x6e9d, 0x6ec7,\n    0x6ec5, 0x6ea5, 0x6e98, 0x6ebc, 0x6eba, 0x6eab, 0x6ed1, 0x6e96,\n    0x6e9c, 0x6ec4, 0x6ed4, 0x6eaa, 0x6ea7, 0x6eb4, 0x714e, 0x7159,\n    0x7169, 0x7164, 0x7149, 0x7167, 0x715c, 0x716c, 0x7166, 0x714c,\n    0x7165, 0x715e, 0x7146, 0x7168, 0x7156, 0x723a, 0x7252, 0x7337,\n    0x7345, 0x733f, 0x733e, 0x746f, 0x745a, 0x7455, 0x745f, 0x745e,\n    0x7441, 0x743f, 0x7459, 0x745b, 0x745c, 0x7576, 0x7578, 0x7600,\n    0x75f0, 0x7601, 0x75f2, 0x75f1, 0x75fa, 0x75ff, 0x75f4, 0x75f3,\n    0x76de, 0x76df, 0x775b, 0x776b, 0x7766, 0x775e, 0x7763, 0x003f,\n    /* lead byte b8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7779, 0x776a, 0x776c, 0x775c, 0x7765, 0x7768, 0x7762, 0x77ee,\n    0x788e, 0x78b0, 0x7897, 0x7898, 0x788c, 0x7889, 0x787c, 0x7891,\n    0x7893, 0x787f, 0x797a, 0x797f, 0x7981, 0x842c, 0x79bd, 0x7a1c,\n    0x7a1a, 0x7a20, 0x7a14, 0x7a1f, 0x7a1e, 0x7a9f, 0x7aa0, 0x7b77,\n    0x7bc0, 0x7b60, 0x7b6e, 0x7b67, 0x7cb1, 0x7cb3, 0x7cb5, 0x7d93,\n    0x7d79, 0x7d91, 0x7d81, 0x7d8f, 0x7d5b, 0x7f6e, 0x7f69, 0x7f6a,\n    0x7f72, 0x7fa9, 0x7fa8, 0x7fa4, 0x8056, 0x8058, 0x8086, 0x8084,\n    0x8171, 0x8170, 0x8178, 0x8165, 0x816e, 0x8173, 0x816b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8179, 0x817a, 0x8166, 0x8205, 0x8247, 0x8482, 0x8477,\n    0x843d, 0x8431, 0x8475, 0x8466, 0x846b, 0x8449, 0x846c, 0x845b,\n    0x843c, 0x8435, 0x8461, 0x8463, 0x8469, 0x846d, 0x8446, 0x865e,\n    0x865c, 0x865f, 0x86f9, 0x8713, 0x8708, 0x8707, 0x8700, 0x86fe,\n    0x86fb, 0x8702, 0x8703, 0x8706, 0x870a, 0x8859, 0x88df, 0x88d4,\n    0x88d9, 0x88dc, 0x88d8, 0x88dd, 0x88e1, 0x88ca, 0x88d5, 0x88d2,\n    0x899c, 0x89e3, 0x8a6b, 0x8a72, 0x8a73, 0x8a66, 0x8a69, 0x8a70,\n    0x8a87, 0x8a7c, 0x8a63, 0x8aa0, 0x8a71, 0x8a85, 0x8a6d, 0x8a62,\n    0x8a6e, 0x8a6c, 0x8a79, 0x8a7b, 0x8a3e, 0x8a68, 0x8c62, 0x8c8a,\n    0x8c89, 0x8cca, 0x8cc7, 0x8cc8, 0x8cc4, 0x8cb2, 0x8cc3, 0x8cc2,\n    0x8cc5, 0x8de1, 0x8ddf, 0x8de8, 0x8def, 0x8df3, 0x8dfa, 0x8dea,\n    0x8de4, 0x8de6, 0x8eb2, 0x8f03, 0x8f09, 0x8efe, 0x8f0a, 0x003f,\n    /* lead byte b9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8f9f, 0x8fb2, 0x904b, 0x904a, 0x9053, 0x9042, 0x9054, 0x903c,\n    0x9055, 0x9050, 0x9047, 0x904f, 0x904e, 0x904d, 0x9051, 0x903e,\n    0x9041, 0x9112, 0x9117, 0x916c, 0x916a, 0x9169, 0x91c9, 0x9237,\n    0x9257, 0x9238, 0x923d, 0x9240, 0x923e, 0x925b, 0x924b, 0x9264,\n    0x9251, 0x9234, 0x9249, 0x924d, 0x9245, 0x9239, 0x923f, 0x925a,\n    0x9598, 0x9698, 0x9694, 0x9695, 0x96cd, 0x96cb, 0x96c9, 0x96ca,\n    0x96f7, 0x96fb, 0x96f9, 0x96f6, 0x9756, 0x9774, 0x9776, 0x9810,\n    0x9811, 0x9813, 0x980a, 0x9812, 0x980c, 0x98fc, 0x98f4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x98fd, 0x98fe, 0x99b3, 0x99b1, 0x99b4, 0x9ae1, 0x9ce9,\n    0x9e82, 0x9f0e, 0x9f13, 0x9f20, 0x50e7, 0x50ee, 0x50e5, 0x50d6,\n    0x50ed, 0x50da, 0x50d5, 0x50cf, 0x50d1, 0x50f1, 0x50ce, 0x50e9,\n    0x5162, 0x51f3, 0x5283, 0x5282, 0x5331, 0x53ad, 0x55fe, 0x5600,\n    0x561b, 0x5617, 0x55fd, 0x5614, 0x5606, 0x5609, 0x560d, 0x560e,\n    0x55f7, 0x5616, 0x561f, 0x5608, 0x5610, 0x55f6, 0x5718, 0x5716,\n    0x5875, 0x587e, 0x5883, 0x5893, 0x588a, 0x5879, 0x5885, 0x587d,\n    0x58fd, 0x5925, 0x5922, 0x5924, 0x596a, 0x5969, 0x5ae1, 0x5ae6,\n    0x5ae9, 0x5ad7, 0x5ad6, 0x5ad8, 0x5ae3, 0x5b75, 0x5bde, 0x5be7,\n    0x5be1, 0x5be5, 0x5be6, 0x5be8, 0x5be2, 0x5be4, 0x5bdf, 0x5c0d,\n    0x5c62, 0x5d84, 0x5d87, 0x5e5b, 0x5e63, 0x5e55, 0x5e57, 0x5e54,\n    0x5ed3, 0x5ed6, 0x5f0a, 0x5f46, 0x5f70, 0x5fb9, 0x6147, 0x003f,\n    /* lead byte ba */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x613f, 0x614b, 0x6177, 0x6162, 0x6163, 0x615f, 0x615a, 0x6158,\n    0x6175, 0x622a, 0x6487, 0x6458, 0x6454, 0x64a4, 0x6478, 0x645f,\n    0x647a, 0x6451, 0x6467, 0x6434, 0x646d, 0x647b, 0x6572, 0x65a1,\n    0x65d7, 0x65d6, 0x66a2, 0x66a8, 0x669d, 0x699c, 0x69a8, 0x6995,\n    0x69c1, 0x69ae, 0x69d3, 0x69cb, 0x699b, 0x69b7, 0x69bb, 0x69ab,\n    0x69b4, 0x69d0, 0x69cd, 0x69ad, 0x69cc, 0x69a6, 0x69c3, 0x69a3,\n    0x6b49, 0x6b4c, 0x6c33, 0x6f33, 0x6f14, 0x6efe, 0x6f13, 0x6ef4,\n    0x6f29, 0x6f3e, 0x6f20, 0x6f2c, 0x6f0f, 0x6f02, 0x6f22, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6eff, 0x6eef, 0x6f06, 0x6f31, 0x6f38, 0x6f32, 0x6f23,\n    0x6f15, 0x6f2b, 0x6f2f, 0x6f88, 0x6f2a, 0x6eec, 0x6f01, 0x6ef2,\n    0x6ecc, 0x6ef7, 0x7194, 0x7199, 0x717d, 0x718a, 0x7184, 0x7192,\n    0x723e, 0x7292, 0x7296, 0x7344, 0x7350, 0x7464, 0x7463, 0x746a,\n    0x7470, 0x746d, 0x7504, 0x7591, 0x7627, 0x760d, 0x760b, 0x7609,\n    0x7613, 0x76e1, 0x76e3, 0x7784, 0x777d, 0x777f, 0x7761, 0x78c1,\n    0x789f, 0x78a7, 0x78b3, 0x78a9, 0x78a3, 0x798e, 0x798f, 0x798d,\n    0x7a2e, 0x7a31, 0x7aaa, 0x7aa9, 0x7aed, 0x7aef, 0x7ba1, 0x7b95,\n    0x7b8b, 0x7b75, 0x7b97, 0x7b9d, 0x7b94, 0x7b8f, 0x7bb8, 0x7b87,\n    0x7b84, 0x7cb9, 0x7cbd, 0x7cbe, 0x7dbb, 0x7db0, 0x7d9c, 0x7dbd,\n    0x7dbe, 0x7da0, 0x7dca, 0x7db4, 0x7db2, 0x7db1, 0x7dba, 0x7da2,\n    0x7dbf, 0x7db5, 0x7db8, 0x7dad, 0x7dd2, 0x7dc7, 0x7dac, 0x003f,\n    /* lead byte bb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7f70, 0x7fe0, 0x7fe1, 0x7fdf, 0x805e, 0x805a, 0x8087, 0x8150,\n    0x8180, 0x818f, 0x8188, 0x818a, 0x817f, 0x8182, 0x81e7, 0x81fa,\n    0x8207, 0x8214, 0x821e, 0x824b, 0x84c9, 0x84bf, 0x84c6, 0x84c4,\n    0x8499, 0x849e, 0x84b2, 0x849c, 0x84cb, 0x84b8, 0x84c0, 0x84d3,\n    0x8490, 0x84bc, 0x84d1, 0x84ca, 0x873f, 0x871c, 0x873b, 0x8722,\n    0x8725, 0x8734, 0x8718, 0x8755, 0x8737, 0x8729, 0x88f3, 0x8902,\n    0x88f4, 0x88f9, 0x88f8, 0x88fd, 0x88e8, 0x891a, 0x88ef, 0x8aa6,\n    0x8a8c, 0x8a9e, 0x8aa3, 0x8a8d, 0x8aa1, 0x8a93, 0x8aa4, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8aaa, 0x8aa5, 0x8aa8, 0x8a98, 0x8a91, 0x8a9a, 0x8aa7,\n    0x8c6a, 0x8c8d, 0x8c8c, 0x8cd3, 0x8cd1, 0x8cd2, 0x8d6b, 0x8d99,\n    0x8d95, 0x8dfc, 0x8f14, 0x8f12, 0x8f15, 0x8f13, 0x8fa3, 0x9060,\n    0x9058, 0x905c, 0x9063, 0x9059, 0x905e, 0x9062, 0x905d, 0x905b,\n    0x9119, 0x9118, 0x911e, 0x9175, 0x9178, 0x9177, 0x9174, 0x9278,\n    0x9280, 0x9285, 0x9298, 0x9296, 0x927b, 0x9293, 0x929c, 0x92a8,\n    0x927c, 0x9291, 0x95a1, 0x95a8, 0x95a9, 0x95a3, 0x95a5, 0x95a4,\n    0x9699, 0x969c, 0x969b, 0x96cc, 0x96d2, 0x9700, 0x977c, 0x9785,\n    0x97f6, 0x9817, 0x9818, 0x98af, 0x98b1, 0x9903, 0x9905, 0x990c,\n    0x9909, 0x99c1, 0x9aaf, 0x9ab0, 0x9ae6, 0x9b41, 0x9b42, 0x9cf4,\n    0x9cf6, 0x9cf3, 0x9ebc, 0x9f3b, 0x9f4a, 0x5104, 0x5100, 0x50fb,\n    0x50f5, 0x50f9, 0x5102, 0x5108, 0x5109, 0x5105, 0x51dc, 0x003f,\n    /* lead byte bc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5287, 0x5288, 0x5289, 0x528d, 0x528a, 0x52f0, 0x53b2, 0x562e,\n    0x563b, 0x5639, 0x5632, 0x563f, 0x5634, 0x5629, 0x5653, 0x564e,\n    0x5657, 0x5674, 0x5636, 0x562f, 0x5630, 0x5880, 0x589f, 0x589e,\n    0x58b3, 0x589c, 0x58ae, 0x58a9, 0x58a6, 0x596d, 0x5b09, 0x5afb,\n    0x5b0b, 0x5af5, 0x5b0c, 0x5b08, 0x5bee, 0x5bec, 0x5be9, 0x5beb,\n    0x5c64, 0x5c65, 0x5d9d, 0x5d94, 0x5e62, 0x5e5f, 0x5e61, 0x5ee2,\n    0x5eda, 0x5edf, 0x5edd, 0x5ee3, 0x5ee0, 0x5f48, 0x5f71, 0x5fb7,\n    0x5fb5, 0x6176, 0x6167, 0x616e, 0x615d, 0x6155, 0x6182, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x617c, 0x6170, 0x616b, 0x617e, 0x61a7, 0x6190, 0x61ab,\n    0x618e, 0x61ac, 0x619a, 0x61a4, 0x6194, 0x61ae, 0x622e, 0x6469,\n    0x646f, 0x6479, 0x649e, 0x64b2, 0x6488, 0x6490, 0x64b0, 0x64a5,\n    0x6493, 0x6495, 0x64a9, 0x6492, 0x64ae, 0x64ad, 0x64ab, 0x649a,\n    0x64ac, 0x6499, 0x64a2, 0x64b3, 0x6575, 0x6577, 0x6578, 0x66ae,\n    0x66ab, 0x66b4, 0x66b1, 0x6a23, 0x6a1f, 0x69e8, 0x6a01, 0x6a1e,\n    0x6a19, 0x69fd, 0x6a21, 0x6a13, 0x6a0a, 0x69f3, 0x6a02, 0x6a05,\n    0x69ed, 0x6a11, 0x6b50, 0x6b4e, 0x6ba4, 0x6bc5, 0x6bc6, 0x6f3f,\n    0x6f7c, 0x6f84, 0x6f51, 0x6f66, 0x6f54, 0x6f86, 0x6f6d, 0x6f5b,\n    0x6f78, 0x6f6e, 0x6f8e, 0x6f7a, 0x6f70, 0x6f64, 0x6f97, 0x6f58,\n    0x6ed5, 0x6f6f, 0x6f60, 0x6f5f, 0x719f, 0x71ac, 0x71b1, 0x71a8,\n    0x7256, 0x729b, 0x734e, 0x7357, 0x7469, 0x748b, 0x7483, 0x003f,\n    /* lead byte bd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x747e, 0x7480, 0x757f, 0x7620, 0x7629, 0x761f, 0x7624, 0x7626,\n    0x7621, 0x7622, 0x769a, 0x76ba, 0x76e4, 0x778e, 0x7787, 0x778c,\n    0x7791, 0x778b, 0x78cb, 0x78c5, 0x78ba, 0x78ca, 0x78be, 0x78d5,\n    0x78bc, 0x78d0, 0x7a3f, 0x7a3c, 0x7a40, 0x7a3d, 0x7a37, 0x7a3b,\n    0x7aaf, 0x7aae, 0x7bad, 0x7bb1, 0x7bc4, 0x7bb4, 0x7bc6, 0x7bc7,\n    0x7bc1, 0x7ba0, 0x7bcc, 0x7cca, 0x7de0, 0x7df4, 0x7def, 0x7dfb,\n    0x7dd8, 0x7dec, 0x7ddd, 0x7de8, 0x7de3, 0x7dda, 0x7dde, 0x7de9,\n    0x7d9e, 0x7dd9, 0x7df2, 0x7df9, 0x7f75, 0x7f77, 0x7faf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7fe9, 0x8026, 0x819b, 0x819c, 0x819d, 0x81a0, 0x819a,\n    0x8198, 0x8517, 0x853d, 0x851a, 0x84ee, 0x852c, 0x852d, 0x8513,\n    0x8511, 0x8523, 0x8521, 0x8514, 0x84ec, 0x8525, 0x84ff, 0x8506,\n    0x8782, 0x8774, 0x8776, 0x8760, 0x8766, 0x8778, 0x8768, 0x8759,\n    0x8757, 0x874c, 0x8753, 0x885b, 0x885d, 0x8910, 0x8907, 0x8912,\n    0x8913, 0x8915, 0x890a, 0x8abc, 0x8ad2, 0x8ac7, 0x8ac4, 0x8a95,\n    0x8acb, 0x8af8, 0x8ab2, 0x8ac9, 0x8ac2, 0x8abf, 0x8ab0, 0x8ad6,\n    0x8acd, 0x8ab6, 0x8ab9, 0x8adb, 0x8c4c, 0x8c4e, 0x8c6c, 0x8ce0,\n    0x8cde, 0x8ce6, 0x8ce4, 0x8cec, 0x8ced, 0x8ce2, 0x8ce3, 0x8cdc,\n    0x8cea, 0x8ce1, 0x8d6d, 0x8d9f, 0x8da3, 0x8e2b, 0x8e10, 0x8e1d,\n    0x8e22, 0x8e0f, 0x8e29, 0x8e1f, 0x8e21, 0x8e1e, 0x8eba, 0x8f1d,\n    0x8f1b, 0x8f1f, 0x8f29, 0x8f26, 0x8f2a, 0x8f1c, 0x8f1e, 0x003f,\n    /* lead byte be */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8f25, 0x9069, 0x906e, 0x9068, 0x906d, 0x9077, 0x9130, 0x912d,\n    0x9127, 0x9131, 0x9187, 0x9189, 0x918b, 0x9183, 0x92c5, 0x92bb,\n    0x92b7, 0x92ea, 0x92ac, 0x92e4, 0x92c1, 0x92b3, 0x92bc, 0x92d2,\n    0x92c7, 0x92f0, 0x92b2, 0x95ad, 0x95b1, 0x9704, 0x9706, 0x9707,\n    0x9709, 0x9760, 0x978d, 0x978b, 0x978f, 0x9821, 0x982b, 0x981c,\n    0x98b3, 0x990a, 0x9913, 0x9912, 0x9918, 0x99dd, 0x99d0, 0x99df,\n    0x99db, 0x99d1, 0x99d5, 0x99d2, 0x99d9, 0x9ab7, 0x9aee, 0x9aef,\n    0x9b27, 0x9b45, 0x9b44, 0x9b77, 0x9b6f, 0x9d06, 0x9d09, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9d03, 0x9ea9, 0x9ebe, 0x9ece, 0x58a8, 0x9f52, 0x5112,\n    0x5118, 0x5114, 0x5110, 0x5115, 0x5180, 0x51aa, 0x51dd, 0x5291,\n    0x5293, 0x52f3, 0x5659, 0x566b, 0x5679, 0x5669, 0x5664, 0x5678,\n    0x566a, 0x5668, 0x5665, 0x5671, 0x566f, 0x566c, 0x5662, 0x5676,\n    0x58c1, 0x58be, 0x58c7, 0x58c5, 0x596e, 0x5b1d, 0x5b34, 0x5b78,\n    0x5bf0, 0x5c0e, 0x5f4a, 0x61b2, 0x6191, 0x61a9, 0x618a, 0x61cd,\n    0x61b6, 0x61be, 0x61ca, 0x61c8, 0x6230, 0x64c5, 0x64c1, 0x64cb,\n    0x64bb, 0x64bc, 0x64da, 0x64c4, 0x64c7, 0x64c2, 0x64cd, 0x64bf,\n    0x64d2, 0x64d4, 0x64be, 0x6574, 0x66c6, 0x66c9, 0x66b9, 0x66c4,\n    0x66c7, 0x66b8, 0x6a3d, 0x6a38, 0x6a3a, 0x6a59, 0x6a6b, 0x6a58,\n    0x6a39, 0x6a44, 0x6a62, 0x6a61, 0x6a4b, 0x6a47, 0x6a35, 0x6a5f,\n    0x6a48, 0x6b59, 0x6b77, 0x6c05, 0x6fc2, 0x6fb1, 0x6fa1, 0x003f,\n    /* lead byte bf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6fc3, 0x6fa4, 0x6fc1, 0x6fa7, 0x6fb3, 0x6fc0, 0x6fb9, 0x6fb6,\n    0x6fa6, 0x6fa0, 0x6fb4, 0x71be, 0x71c9, 0x71d0, 0x71d2, 0x71c8,\n    0x71d5, 0x71b9, 0x71ce, 0x71d9, 0x71dc, 0x71c3, 0x71c4, 0x7368,\n    0x749c, 0x74a3, 0x7498, 0x749f, 0x749e, 0x74e2, 0x750c, 0x750d,\n    0x7634, 0x7638, 0x763a, 0x76e7, 0x76e5, 0x77a0, 0x779e, 0x779f,\n    0x77a5, 0x78e8, 0x78da, 0x78ec, 0x78e7, 0x79a6, 0x7a4d, 0x7a4e,\n    0x7a46, 0x7a4c, 0x7a4b, 0x7aba, 0x7bd9, 0x7c11, 0x7bc9, 0x7be4,\n    0x7bdb, 0x7be1, 0x7be9, 0x7be6, 0x7cd5, 0x7cd6, 0x7e0a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7e11, 0x7e08, 0x7e1b, 0x7e23, 0x7e1e, 0x7e1d, 0x7e09,\n    0x7e10, 0x7f79, 0x7fb2, 0x7ff0, 0x7ff1, 0x7fee, 0x8028, 0x81b3,\n    0x81a9, 0x81a8, 0x81fb, 0x8208, 0x8258, 0x8259, 0x854a, 0x8559,\n    0x8548, 0x8568, 0x8569, 0x8543, 0x8549, 0x856d, 0x856a, 0x855e,\n    0x8783, 0x879f, 0x879e, 0x87a2, 0x878d, 0x8861, 0x892a, 0x8932,\n    0x8925, 0x892b, 0x8921, 0x89aa, 0x89a6, 0x8ae6, 0x8afa, 0x8aeb,\n    0x8af1, 0x8b00, 0x8adc, 0x8ae7, 0x8aee, 0x8afe, 0x8b01, 0x8b02,\n    0x8af7, 0x8aed, 0x8af3, 0x8af6, 0x8afc, 0x8c6b, 0x8c6d, 0x8c93,\n    0x8cf4, 0x8e44, 0x8e31, 0x8e34, 0x8e42, 0x8e39, 0x8e35, 0x8f3b,\n    0x8f2f, 0x8f38, 0x8f33, 0x8fa8, 0x8fa6, 0x9075, 0x9074, 0x9078,\n    0x9072, 0x907c, 0x907a, 0x9134, 0x9192, 0x9320, 0x9336, 0x92f8,\n    0x9333, 0x932f, 0x9322, 0x92fc, 0x932b, 0x9304, 0x931a, 0x003f,\n    /* lead byte c0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9310, 0x9326, 0x9321, 0x9315, 0x932e, 0x9319, 0x95bb, 0x96a7,\n    0x96a8, 0x96aa, 0x96d5, 0x970e, 0x9711, 0x9716, 0x970d, 0x9713,\n    0x970f, 0x975b, 0x975c, 0x9766, 0x9798, 0x9830, 0x9838, 0x983b,\n    0x9837, 0x982d, 0x9839, 0x9824, 0x9910, 0x9928, 0x991e, 0x991b,\n    0x9921, 0x991a, 0x99ed, 0x99e2, 0x99f1, 0x9ab8, 0x9abc, 0x9afb,\n    0x9aed, 0x9b28, 0x9b91, 0x9d15, 0x9d23, 0x9d26, 0x9d28, 0x9d12,\n    0x9d1b, 0x9ed8, 0x9ed4, 0x9f8d, 0x9f9c, 0x512a, 0x511f, 0x5121,\n    0x5132, 0x52f5, 0x568e, 0x5680, 0x5690, 0x5685, 0x5687, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x568f, 0x58d5, 0x58d3, 0x58d1, 0x58ce, 0x5b30, 0x5b2a,\n    0x5b24, 0x5b7a, 0x5c37, 0x5c68, 0x5dbc, 0x5dba, 0x5dbd, 0x5db8,\n    0x5e6b, 0x5f4c, 0x5fbd, 0x61c9, 0x61c2, 0x61c7, 0x61e6, 0x61cb,\n    0x6232, 0x6234, 0x64ce, 0x64ca, 0x64d8, 0x64e0, 0x64f0, 0x64e6,\n    0x64ec, 0x64f1, 0x64e2, 0x64ed, 0x6582, 0x6583, 0x66d9, 0x66d6,\n    0x6a80, 0x6a94, 0x6a84, 0x6aa2, 0x6a9c, 0x6adb, 0x6aa3, 0x6a7e,\n    0x6a97, 0x6a90, 0x6aa0, 0x6b5c, 0x6bae, 0x6bda, 0x6c08, 0x6fd8,\n    0x6ff1, 0x6fdf, 0x6fe0, 0x6fdb, 0x6fe4, 0x6feb, 0x6fef, 0x6f80,\n    0x6fec, 0x6fe1, 0x6fe9, 0x6fd5, 0x6fee, 0x6ff0, 0x71e7, 0x71df,\n    0x71ee, 0x71e6, 0x71e5, 0x71ed, 0x71ec, 0x71f4, 0x71e0, 0x7235,\n    0x7246, 0x7370, 0x7372, 0x74a9, 0x74b0, 0x74a6, 0x74a8, 0x7646,\n    0x7642, 0x764c, 0x76ea, 0x77b3, 0x77aa, 0x77b0, 0x77ac, 0x003f,\n    /* lead byte c1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x77a7, 0x77ad, 0x77ef, 0x78f7, 0x78fa, 0x78f4, 0x78ef, 0x7901,\n    0x79a7, 0x79aa, 0x7a57, 0x7abf, 0x7c07, 0x7c0d, 0x7bfe, 0x7bf7,\n    0x7c0c, 0x7be0, 0x7ce0, 0x7cdc, 0x7cde, 0x7ce2, 0x7cdf, 0x7cd9,\n    0x7cdd, 0x7e2e, 0x7e3e, 0x7e46, 0x7e37, 0x7e32, 0x7e43, 0x7e2b,\n    0x7e3d, 0x7e31, 0x7e45, 0x7e41, 0x7e34, 0x7e39, 0x7e48, 0x7e35,\n    0x7e3f, 0x7e2f, 0x7f44, 0x7ff3, 0x7ffc, 0x8071, 0x8072, 0x8070,\n    0x806f, 0x8073, 0x81c6, 0x81c3, 0x81ba, 0x81c2, 0x81c0, 0x81bf,\n    0x81bd, 0x81c9, 0x81be, 0x81e8, 0x8209, 0x8271, 0x85aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8584, 0x857e, 0x859c, 0x8591, 0x8594, 0x85af, 0x859b,\n    0x8587, 0x85a8, 0x858a, 0x8667, 0x87c0, 0x87d1, 0x87b3, 0x87d2,\n    0x87c6, 0x87ab, 0x87bb, 0x87ba, 0x87c8, 0x87cb, 0x893b, 0x8936,\n    0x8944, 0x8938, 0x893d, 0x89ac, 0x8b0e, 0x8b17, 0x8b19, 0x8b1b,\n    0x8b0a, 0x8b20, 0x8b1d, 0x8b04, 0x8b10, 0x8c41, 0x8c3f, 0x8c73,\n    0x8cfa, 0x8cfd, 0x8cfc, 0x8cf8, 0x8cfb, 0x8da8, 0x8e49, 0x8e4b,\n    0x8e48, 0x8e4a, 0x8f44, 0x8f3e, 0x8f42, 0x8f45, 0x8f3f, 0x907f,\n    0x907d, 0x9084, 0x9081, 0x9082, 0x9080, 0x9139, 0x91a3, 0x919e,\n    0x919c, 0x934d, 0x9382, 0x9328, 0x9375, 0x934a, 0x9365, 0x934b,\n    0x9318, 0x937e, 0x936c, 0x935b, 0x9370, 0x935a, 0x9354, 0x95ca,\n    0x95cb, 0x95cc, 0x95c8, 0x95c6, 0x96b1, 0x96b8, 0x96d6, 0x971c,\n    0x971e, 0x97a0, 0x97d3, 0x9846, 0x98b6, 0x9935, 0x9a01, 0x003f,\n    /* lead byte c2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x99ff, 0x9bae, 0x9bab, 0x9baa, 0x9bad, 0x9d3b, 0x9d3f, 0x9e8b,\n    0x9ecf, 0x9ede, 0x9edc, 0x9edd, 0x9edb, 0x9f3e, 0x9f4b, 0x53e2,\n    0x5695, 0x56ae, 0x58d9, 0x58d8, 0x5b38, 0x5f5d, 0x61e3, 0x6233,\n    0x64f4, 0x64f2, 0x64fe, 0x6506, 0x64fa, 0x64fb, 0x64f7, 0x65b7,\n    0x66dc, 0x6726, 0x6ab3, 0x6aac, 0x6ac3, 0x6abb, 0x6ab8, 0x6ac2,\n    0x6aae, 0x6aaf, 0x6b5f, 0x6b78, 0x6baf, 0x7009, 0x700b, 0x6ffe,\n    0x7006, 0x6ffa, 0x7011, 0x700f, 0x71fb, 0x71fc, 0x71fe, 0x71f8,\n    0x7377, 0x7375, 0x74a7, 0x74bf, 0x7515, 0x7656, 0x7658, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7652, 0x77bd, 0x77bf, 0x77bb, 0x77bc, 0x790e, 0x79ae,\n    0x7a61, 0x7a62, 0x7a60, 0x7ac4, 0x7ac5, 0x7c2b, 0x7c27, 0x7c2a,\n    0x7c1e, 0x7c23, 0x7c21, 0x7ce7, 0x7e54, 0x7e55, 0x7e5e, 0x7e5a,\n    0x7e61, 0x7e52, 0x7e59, 0x7f48, 0x7ff9, 0x7ffb, 0x8077, 0x8076,\n    0x81cd, 0x81cf, 0x820a, 0x85cf, 0x85a9, 0x85cd, 0x85d0, 0x85c9,\n    0x85b0, 0x85ba, 0x85b9, 0x85a6, 0x87ef, 0x87ec, 0x87f2, 0x87e0,\n    0x8986, 0x89b2, 0x89f4, 0x8b28, 0x8b39, 0x8b2c, 0x8b2b, 0x8c50,\n    0x8d05, 0x8e59, 0x8e63, 0x8e66, 0x8e64, 0x8e5f, 0x8e55, 0x8ec0,\n    0x8f49, 0x8f4d, 0x9087, 0x9083, 0x9088, 0x91ab, 0x91ac, 0x91d0,\n    0x9394, 0x938a, 0x9396, 0x93a2, 0x93b3, 0x93ae, 0x93ac, 0x93b0,\n    0x9398, 0x939a, 0x9397, 0x95d4, 0x95d6, 0x95d0, 0x95d5, 0x96e2,\n    0x96dc, 0x96d9, 0x96db, 0x96de, 0x9724, 0x97a3, 0x97a6, 0x003f,\n    /* lead byte c3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x97ad, 0x97f9, 0x984d, 0x984f, 0x984c, 0x984e, 0x9853, 0x98ba,\n    0x993e, 0x993f, 0x993d, 0x992e, 0x99a5, 0x9a0e, 0x9ac1, 0x9b03,\n    0x9b06, 0x9b4f, 0x9b4e, 0x9b4d, 0x9bca, 0x9bc9, 0x9bfd, 0x9bc8,\n    0x9bc0, 0x9d51, 0x9d5d, 0x9d60, 0x9ee0, 0x9f15, 0x9f2c, 0x5133,\n    0x56a5, 0x58de, 0x58df, 0x58e2, 0x5bf5, 0x9f90, 0x5eec, 0x61f2,\n    0x61f7, 0x61f6, 0x61f5, 0x6500, 0x650f, 0x66e0, 0x66dd, 0x6ae5,\n    0x6add, 0x6ada, 0x6ad3, 0x701b, 0x701f, 0x7028, 0x701a, 0x701d,\n    0x7015, 0x7018, 0x7206, 0x720d, 0x7258, 0x72a2, 0x7378, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x737a, 0x74bd, 0x74ca, 0x74e3, 0x7587, 0x7586, 0x765f,\n    0x7661, 0x77c7, 0x7919, 0x79b1, 0x7a6b, 0x7a69, 0x7c3e, 0x7c3f,\n    0x7c38, 0x7c3d, 0x7c37, 0x7c40, 0x7e6b, 0x7e6d, 0x7e79, 0x7e69,\n    0x7e6a, 0x7f85, 0x7e73, 0x7fb6, 0x7fb9, 0x7fb8, 0x81d8, 0x85e9,\n    0x85dd, 0x85ea, 0x85d5, 0x85e4, 0x85e5, 0x85f7, 0x87fb, 0x8805,\n    0x880d, 0x87f9, 0x87fe, 0x8960, 0x895f, 0x8956, 0x895e, 0x8b41,\n    0x8b5c, 0x8b58, 0x8b49, 0x8b5a, 0x8b4e, 0x8b4f, 0x8b46, 0x8b59,\n    0x8d08, 0x8d0a, 0x8e7c, 0x8e72, 0x8e87, 0x8e76, 0x8e6c, 0x8e7a,\n    0x8e74, 0x8f54, 0x8f4e, 0x8fad, 0x908a, 0x908b, 0x91b1, 0x91ae,\n    0x93e1, 0x93d1, 0x93df, 0x93c3, 0x93c8, 0x93dc, 0x93dd, 0x93d6,\n    0x93e2, 0x93cd, 0x93d8, 0x93e4, 0x93d7, 0x93e8, 0x95dc, 0x96b4,\n    0x96e3, 0x972a, 0x9727, 0x9761, 0x97dc, 0x97fb, 0x985e, 0x003f,\n    /* lead byte c4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x9858, 0x985b, 0x98bc, 0x9945, 0x9949, 0x9a16, 0x9a19, 0x9b0d,\n    0x9be8, 0x9be7, 0x9bd6, 0x9bdb, 0x9d89, 0x9d61, 0x9d72, 0x9d6a,\n    0x9d6c, 0x9e92, 0x9e97, 0x9e93, 0x9eb4, 0x52f8, 0x56a8, 0x56b7,\n    0x56b6, 0x56b4, 0x56bc, 0x58e4, 0x5b40, 0x5b43, 0x5b7d, 0x5bf6,\n    0x5dc9, 0x61f8, 0x61fa, 0x6518, 0x6514, 0x6519, 0x66e6, 0x6727,\n    0x6aec, 0x703e, 0x7030, 0x7032, 0x7210, 0x737b, 0x74cf, 0x7662,\n    0x7665, 0x7926, 0x792a, 0x792c, 0x792b, 0x7ac7, 0x7af6, 0x7c4c,\n    0x7c43, 0x7c4d, 0x7cef, 0x7cf0, 0x8fae, 0x7e7d, 0x7e7c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7e82, 0x7f4c, 0x8000, 0x81da, 0x8266, 0x85fb, 0x85f9,\n    0x8611, 0x85fa, 0x8606, 0x860b, 0x8607, 0x860a, 0x8814, 0x8815,\n    0x8964, 0x89ba, 0x89f8, 0x8b70, 0x8b6c, 0x8b66, 0x8b6f, 0x8b5f,\n    0x8b6b, 0x8d0f, 0x8d0d, 0x8e89, 0x8e81, 0x8e85, 0x8e82, 0x91b4,\n    0x91cb, 0x9418, 0x9403, 0x93fd, 0x95e1, 0x9730, 0x98c4, 0x9952,\n    0x9951, 0x99a8, 0x9a2b, 0x9a30, 0x9a37, 0x9a35, 0x9c13, 0x9c0d,\n    0x9e79, 0x9eb5, 0x9ee8, 0x9f2f, 0x9f5f, 0x9f63, 0x9f61, 0x5137,\n    0x5138, 0x56c1, 0x56c0, 0x56c2, 0x5914, 0x5c6c, 0x5dcd, 0x61fc,\n    0x61fe, 0x651d, 0x651c, 0x6595, 0x66e9, 0x6afb, 0x6b04, 0x6afa,\n    0x6bb2, 0x704c, 0x721b, 0x72a7, 0x74d6, 0x74d4, 0x7669, 0x77d3,\n    0x7c50, 0x7e8f, 0x7e8c, 0x7fbc, 0x8617, 0x862d, 0x861a, 0x8823,\n    0x8822, 0x8821, 0x881f, 0x896a, 0x896c, 0x89bd, 0x8b74, 0x003f,\n    /* lead byte c5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b77, 0x8b7d, 0x8d13, 0x8e8a, 0x8e8d, 0x8e8b, 0x8f5f, 0x8faf,\n    0x91ba, 0x942e, 0x9433, 0x9435, 0x943a, 0x9438, 0x9432, 0x942b,\n    0x95e2, 0x9738, 0x9739, 0x9732, 0x97ff, 0x9867, 0x9865, 0x9957,\n    0x9a45, 0x9a43, 0x9a40, 0x9a3e, 0x9acf, 0x9b54, 0x9b51, 0x9c2d,\n    0x9c25, 0x9daf, 0x9db4, 0x9dc2, 0x9db8, 0x9e9d, 0x9eef, 0x9f19,\n    0x9f5c, 0x9f66, 0x9f67, 0x513c, 0x513b, 0x56c8, 0x56ca, 0x56c9,\n    0x5b7f, 0x5dd4, 0x5dd2, 0x5f4e, 0x61ff, 0x6524, 0x6b0a, 0x6b61,\n    0x7051, 0x7058, 0x7380, 0x74e4, 0x758a, 0x766e, 0x766c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x79b3, 0x7c60, 0x7c5f, 0x807e, 0x807d, 0x81df, 0x8972,\n    0x896f, 0x89fc, 0x8b80, 0x8d16, 0x8d17, 0x8e91, 0x8e93, 0x8f61,\n    0x9148, 0x9444, 0x9451, 0x9452, 0x973d, 0x973e, 0x97c3, 0x97c1,\n    0x986b, 0x9955, 0x9a55, 0x9a4d, 0x9ad2, 0x9b1a, 0x9c49, 0x9c31,\n    0x9c3e, 0x9c3b, 0x9dd3, 0x9dd7, 0x9f34, 0x9f6c, 0x9f6a, 0x9f94,\n    0x56cc, 0x5dd6, 0x6200, 0x6523, 0x652b, 0x652a, 0x66ec, 0x6b10,\n    0x74da, 0x7aca, 0x7c64, 0x7c63, 0x7c65, 0x7e93, 0x7e96, 0x7e94,\n    0x81e2, 0x8638, 0x863f, 0x8831, 0x8b8a, 0x9090, 0x908f, 0x9463,\n    0x9460, 0x9464, 0x9768, 0x986f, 0x995c, 0x9a5a, 0x9a5b, 0x9a57,\n    0x9ad3, 0x9ad4, 0x9ad1, 0x9c54, 0x9c57, 0x9c56, 0x9de5, 0x9e9f,\n    0x9ef4, 0x56d1, 0x58e9, 0x652c, 0x705e, 0x7671, 0x7672, 0x77d7,\n    0x7f50, 0x7f88, 0x8836, 0x8839, 0x8862, 0x8b93, 0x8b92, 0x003f,\n    /* lead byte c6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b96, 0x8277, 0x8d1b, 0x91c0, 0x946a, 0x9742, 0x9748, 0x9744,\n    0x97c6, 0x9870, 0x9a5f, 0x9b22, 0x9b58, 0x9c5f, 0x9df9, 0x9dfa,\n    0x9e7c, 0x9e7d, 0x9f07, 0x9f77, 0x9f72, 0x5ef3, 0x6b16, 0x7063,\n    0x7c6c, 0x7c6e, 0x883b, 0x89c0, 0x8ea1, 0x91c1, 0x9472, 0x9470,\n    0x9871, 0x995e, 0x9ad6, 0x9b23, 0x9ecc, 0x7064, 0x77da, 0x8b9a,\n    0x9477, 0x97c9, 0x9a62, 0x9a65, 0x7e9c, 0x8b9c, 0x8eaa, 0x91c5,\n    0x947d, 0x947e, 0x947c, 0x9c77, 0x9c78, 0x9ef7, 0x8c54, 0x947f,\n    0x9e1a, 0x7228, 0x9a6a, 0x9b31, 0x9e1b, 0x9e1e, 0x7c72, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* lead byte c9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x4e42, 0x4e5c, 0x51f5, 0x531a, 0x5382, 0x4e07, 0x4e0c, 0x4e47,\n    0x4e8d, 0x56d7, 0xfa0c, 0x5c6e, 0x5f73, 0x4e0f, 0x5187, 0x4e0e,\n    0x4e2e, 0x4e93, 0x4ec2, 0x4ec9, 0x4ec8, 0x5198, 0x52fc, 0x536c,\n    0x53b9, 0x5720, 0x5903, 0x592c, 0x5c10, 0x5dff, 0x65e1, 0x6bb3,\n    0x6bcc, 0x6c14, 0x723f, 0x4e31, 0x4e3c, 0x4ee8, 0x4edc, 0x4ee9,\n    0x4ee1, 0x4edd, 0x4eda, 0x520c, 0x531c, 0x534c, 0x5722, 0x5723,\n    0x5917, 0x592f, 0x5b81, 0x5b84, 0x5c12, 0x5c3b, 0x5c74, 0x5c73,\n    0x5e04, 0x5e80, 0x5e82, 0x5fc9, 0x6209, 0x6250, 0x6c15, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6c36, 0x6c43, 0x6c3f, 0x6c3b, 0x72ae, 0x72b0, 0x738a,\n    0x79b8, 0x808a, 0x961e, 0x4f0e, 0x4f18, 0x4f2c, 0x4ef5, 0x4f14,\n    0x4ef1, 0x4f00, 0x4ef7, 0x4f08, 0x4f1d, 0x4f02, 0x4f05, 0x4f22,\n    0x4f13, 0x4f04, 0x4ef4, 0x4f12, 0x51b1, 0x5213, 0x5209, 0x5210,\n    0x52a6, 0x5322, 0x531f, 0x534d, 0x538a, 0x5407, 0x56e1, 0x56df,\n    0x572e, 0x572a, 0x5734, 0x593c, 0x5980, 0x597c, 0x5985, 0x597b,\n    0x597e, 0x5977, 0x597f, 0x5b56, 0x5c15, 0x5c25, 0x5c7c, 0x5c7a,\n    0x5c7b, 0x5c7e, 0x5ddf, 0x5e75, 0x5e84, 0x5f02, 0x5f1a, 0x5f74,\n    0x5fd5, 0x5fd4, 0x5fcf, 0x625c, 0x625e, 0x6264, 0x6261, 0x6266,\n    0x6262, 0x6259, 0x6260, 0x625a, 0x6265, 0x65ef, 0x65ee, 0x673e,\n    0x6739, 0x6738, 0x673b, 0x673a, 0x673f, 0x673c, 0x6733, 0x6c18,\n    0x6c46, 0x6c52, 0x6c5c, 0x6c4f, 0x6c4a, 0x6c54, 0x6c4b, 0x003f,\n    /* lead byte ca */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6c4c, 0x7071, 0x725e, 0x72b4, 0x72b5, 0x738e, 0x752a, 0x767f,\n    0x7a75, 0x7f51, 0x8278, 0x827c, 0x8280, 0x827d, 0x827f, 0x864d,\n    0x897e, 0x9099, 0x9097, 0x9098, 0x909b, 0x9094, 0x9622, 0x9624,\n    0x9620, 0x9623, 0x4f56, 0x4f3b, 0x4f62, 0x4f49, 0x4f53, 0x4f64,\n    0x4f3e, 0x4f67, 0x4f52, 0x4f5f, 0x4f41, 0x4f58, 0x4f2d, 0x4f33,\n    0x4f3f, 0x4f61, 0x518f, 0x51b9, 0x521c, 0x521e, 0x5221, 0x52ad,\n    0x52ae, 0x5309, 0x5363, 0x5372, 0x538e, 0x538f, 0x5430, 0x5437,\n    0x542a, 0x5454, 0x5445, 0x5419, 0x541c, 0x5425, 0x5418, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x543d, 0x544f, 0x5441, 0x5428, 0x5424, 0x5447, 0x56ee,\n    0x56e7, 0x56e5, 0x5741, 0x5745, 0x574c, 0x5749, 0x574b, 0x5752,\n    0x5906, 0x5940, 0x59a6, 0x5998, 0x59a0, 0x5997, 0x598e, 0x59a2,\n    0x5990, 0x598f, 0x59a7, 0x59a1, 0x5b8e, 0x5b92, 0x5c28, 0x5c2a,\n    0x5c8d, 0x5c8f, 0x5c88, 0x5c8b, 0x5c89, 0x5c92, 0x5c8a, 0x5c86,\n    0x5c93, 0x5c95, 0x5de0, 0x5e0a, 0x5e0e, 0x5e8b, 0x5e89, 0x5e8c,\n    0x5e88, 0x5e8d, 0x5f05, 0x5f1d, 0x5f78, 0x5f76, 0x5fd2, 0x5fd1,\n    0x5fd0, 0x5fed, 0x5fe8, 0x5fee, 0x5ff3, 0x5fe1, 0x5fe4, 0x5fe3,\n    0x5ffa, 0x5fef, 0x5ff7, 0x5ffb, 0x6000, 0x5ff4, 0x623a, 0x6283,\n    0x628c, 0x628e, 0x628f, 0x6294, 0x6287, 0x6271, 0x627b, 0x627a,\n    0x6270, 0x6281, 0x6288, 0x6277, 0x627d, 0x6272, 0x6274, 0x6537,\n    0x65f0, 0x65f4, 0x65f3, 0x65f2, 0x65f5, 0x6745, 0x6747, 0x003f,\n    /* lead byte cb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6759, 0x6755, 0x674c, 0x6748, 0x675d, 0x674d, 0x675a, 0x674b,\n    0x6bd0, 0x6c19, 0x6c1a, 0x6c78, 0x6c67, 0x6c6b, 0x6c84, 0x6c8b,\n    0x6c8f, 0x6c71, 0x6c6f, 0x6c69, 0x6c9a, 0x6c6d, 0x6c87, 0x6c95,\n    0x6c9c, 0x6c66, 0x6c73, 0x6c65, 0x6c7b, 0x6c8e, 0x7074, 0x707a,\n    0x7263, 0x72bf, 0x72bd, 0x72c3, 0x72c6, 0x72c1, 0x72ba, 0x72c5,\n    0x7395, 0x7397, 0x7393, 0x7394, 0x7392, 0x753a, 0x7539, 0x7594,\n    0x7595, 0x7681, 0x793d, 0x8034, 0x8095, 0x8099, 0x8090, 0x8092,\n    0x809c, 0x8290, 0x828f, 0x8285, 0x828e, 0x8291, 0x8293, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x828a, 0x8283, 0x8284, 0x8c78, 0x8fc9, 0x8fbf, 0x909f,\n    0x90a1, 0x90a5, 0x909e, 0x90a7, 0x90a0, 0x9630, 0x9628, 0x962f,\n    0x962d, 0x4e33, 0x4f98, 0x4f7c, 0x4f85, 0x4f7d, 0x4f80, 0x4f87,\n    0x4f76, 0x4f74, 0x4f89, 0x4f84, 0x4f77, 0x4f4c, 0x4f97, 0x4f6a,\n    0x4f9a, 0x4f79, 0x4f81, 0x4f78, 0x4f90, 0x4f9c, 0x4f94, 0x4f9e,\n    0x4f92, 0x4f82, 0x4f95, 0x4f6b, 0x4f6e, 0x519e, 0x51bc, 0x51be,\n    0x5235, 0x5232, 0x5233, 0x5246, 0x5231, 0x52bc, 0x530a, 0x530b,\n    0x533c, 0x5392, 0x5394, 0x5487, 0x547f, 0x5481, 0x5491, 0x5482,\n    0x5488, 0x546b, 0x547a, 0x547e, 0x5465, 0x546c, 0x5474, 0x5466,\n    0x548d, 0x546f, 0x5461, 0x5460, 0x5498, 0x5463, 0x5467, 0x5464,\n    0x56f7, 0x56f9, 0x576f, 0x5772, 0x576d, 0x576b, 0x5771, 0x5770,\n    0x5776, 0x5780, 0x5775, 0x577b, 0x5773, 0x5774, 0x5762, 0x003f,\n    /* lead byte cc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5768, 0x577d, 0x590c, 0x5945, 0x59b5, 0x59ba, 0x59cf, 0x59ce,\n    0x59b2, 0x59cc, 0x59c1, 0x59b6, 0x59bc, 0x59c3, 0x59d6, 0x59b1,\n    0x59bd, 0x59c0, 0x59c8, 0x59b4, 0x59c7, 0x5b62, 0x5b65, 0x5b93,\n    0x5b95, 0x5c44, 0x5c47, 0x5cae, 0x5ca4, 0x5ca0, 0x5cb5, 0x5caf,\n    0x5ca8, 0x5cac, 0x5c9f, 0x5ca3, 0x5cad, 0x5ca2, 0x5caa, 0x5ca7,\n    0x5c9d, 0x5ca5, 0x5cb6, 0x5cb0, 0x5ca6, 0x5e17, 0x5e14, 0x5e19,\n    0x5f28, 0x5f22, 0x5f23, 0x5f24, 0x5f54, 0x5f82, 0x5f7e, 0x5f7d,\n    0x5fde, 0x5fe5, 0x602d, 0x6026, 0x6019, 0x6032, 0x600b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6034, 0x600a, 0x6017, 0x6033, 0x601a, 0x601e, 0x602c,\n    0x6022, 0x600d, 0x6010, 0x602e, 0x6013, 0x6011, 0x600c, 0x6009,\n    0x601c, 0x6214, 0x623d, 0x62ad, 0x62b4, 0x62d1, 0x62be, 0x62aa,\n    0x62b6, 0x62ca, 0x62ae, 0x62b3, 0x62af, 0x62bb, 0x62a9, 0x62b0,\n    0x62b8, 0x653d, 0x65a8, 0x65bb, 0x6609, 0x65fc, 0x6604, 0x6612,\n    0x6608, 0x65fb, 0x6603, 0x660b, 0x660d, 0x6605, 0x65fd, 0x6611,\n    0x6610, 0x66f6, 0x670a, 0x6785, 0x676c, 0x678e, 0x6792, 0x6776,\n    0x677b, 0x6798, 0x6786, 0x6784, 0x6774, 0x678d, 0x678c, 0x677a,\n    0x679f, 0x6791, 0x6799, 0x6783, 0x677d, 0x6781, 0x6778, 0x6779,\n    0x6794, 0x6b25, 0x6b80, 0x6b7e, 0x6bde, 0x6c1d, 0x6c93, 0x6cec,\n    0x6ceb, 0x6cee, 0x6cd9, 0x6cb6, 0x6cd4, 0x6cad, 0x6ce7, 0x6cb7,\n    0x6cd0, 0x6cc2, 0x6cba, 0x6cc3, 0x6cc6, 0x6ced, 0x6cf2, 0x003f,\n    /* lead byte cd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6cd2, 0x6cdd, 0x6cb4, 0x6c8a, 0x6c9d, 0x6c80, 0x6cde, 0x6cc0,\n    0x6d30, 0x6ccd, 0x6cc7, 0x6cb0, 0x6cf9, 0x6ccf, 0x6ce9, 0x6cd1,\n    0x7094, 0x7098, 0x7085, 0x7093, 0x7086, 0x7084, 0x7091, 0x7096,\n    0x7082, 0x709a, 0x7083, 0x726a, 0x72d6, 0x72cb, 0x72d8, 0x72c9,\n    0x72dc, 0x72d2, 0x72d4, 0x72da, 0x72cc, 0x72d1, 0x73a4, 0x73a1,\n    0x73ad, 0x73a6, 0x73a2, 0x73a0, 0x73ac, 0x739d, 0x74dd, 0x74e8,\n    0x753f, 0x7540, 0x753e, 0x758c, 0x7598, 0x76af, 0x76f3, 0x76f1,\n    0x76f0, 0x76f5, 0x77f8, 0x77fc, 0x77f9, 0x77fb, 0x77fa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x77f7, 0x7942, 0x793f, 0x79c5, 0x7a78, 0x7a7b, 0x7afb,\n    0x7c75, 0x7cfd, 0x8035, 0x808f, 0x80ae, 0x80a3, 0x80b8, 0x80b5,\n    0x80ad, 0x8220, 0x82a0, 0x82c0, 0x82ab, 0x829a, 0x8298, 0x829b,\n    0x82b5, 0x82a7, 0x82ae, 0x82bc, 0x829e, 0x82ba, 0x82b4, 0x82a8,\n    0x82a1, 0x82a9, 0x82c2, 0x82a4, 0x82c3, 0x82b6, 0x82a2, 0x8670,\n    0x866f, 0x866d, 0x866e, 0x8c56, 0x8fd2, 0x8fcb, 0x8fd3, 0x8fcd,\n    0x8fd6, 0x8fd5, 0x8fd7, 0x90b2, 0x90b4, 0x90af, 0x90b3, 0x90b0,\n    0x9639, 0x963d, 0x963c, 0x963a, 0x9643, 0x4fcd, 0x4fc5, 0x4fd3,\n    0x4fb2, 0x4fc9, 0x4fcb, 0x4fc1, 0x4fd4, 0x4fdc, 0x4fd9, 0x4fbb,\n    0x4fb3, 0x4fdb, 0x4fc7, 0x4fd6, 0x4fba, 0x4fc0, 0x4fb9, 0x4fec,\n    0x5244, 0x5249, 0x52c0, 0x52c2, 0x533d, 0x537c, 0x5397, 0x5396,\n    0x5399, 0x5398, 0x54ba, 0x54a1, 0x54ad, 0x54a5, 0x54cf, 0x003f,\n    /* lead byte ce */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x54c3, 0x830d, 0x54b7, 0x54ae, 0x54d6, 0x54b6, 0x54c5, 0x54c6,\n    0x54a0, 0x5470, 0x54bc, 0x54a2, 0x54be, 0x5472, 0x54de, 0x54b0,\n    0x57b5, 0x579e, 0x579f, 0x57a4, 0x578c, 0x5797, 0x579d, 0x579b,\n    0x5794, 0x5798, 0x578f, 0x5799, 0x57a5, 0x579a, 0x5795, 0x58f4,\n    0x590d, 0x5953, 0x59e1, 0x59de, 0x59ee, 0x5a00, 0x59f1, 0x59dd,\n    0x59fa, 0x59fd, 0x59fc, 0x59f6, 0x59e4, 0x59f2, 0x59f7, 0x59db,\n    0x59e9, 0x59f3, 0x59f5, 0x59e0, 0x59fe, 0x59f4, 0x59ed, 0x5ba8,\n    0x5c4c, 0x5cd0, 0x5cd8, 0x5ccc, 0x5cd7, 0x5ccb, 0x5cdb, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5cde, 0x5cda, 0x5cc9, 0x5cc7, 0x5cca, 0x5cd6, 0x5cd3,\n    0x5cd4, 0x5ccf, 0x5cc8, 0x5cc6, 0x5cce, 0x5cdf, 0x5cf8, 0x5df9,\n    0x5e21, 0x5e22, 0x5e23, 0x5e20, 0x5e24, 0x5eb0, 0x5ea4, 0x5ea2,\n    0x5e9b, 0x5ea3, 0x5ea5, 0x5f07, 0x5f2e, 0x5f56, 0x5f86, 0x6037,\n    0x6039, 0x6054, 0x6072, 0x605e, 0x6045, 0x6053, 0x6047, 0x6049,\n    0x605b, 0x604c, 0x6040, 0x6042, 0x605f, 0x6024, 0x6044, 0x6058,\n    0x6066, 0x606e, 0x6242, 0x6243, 0x62cf, 0x630d, 0x630b, 0x62f5,\n    0x630e, 0x6303, 0x62eb, 0x62f9, 0x630f, 0x630c, 0x62f8, 0x62f6,\n    0x6300, 0x6313, 0x6314, 0x62fa, 0x6315, 0x62fb, 0x62f0, 0x6541,\n    0x6543, 0x65aa, 0x65bf, 0x6636, 0x6621, 0x6632, 0x6635, 0x661c,\n    0x6626, 0x6622, 0x6633, 0x662b, 0x663a, 0x661d, 0x6634, 0x6639,\n    0x662e, 0x670f, 0x6710, 0x67c1, 0x67f2, 0x67c8, 0x67ba, 0x003f,\n    /* lead byte cf */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x67dc, 0x67bb, 0x67f8, 0x67d8, 0x67c0, 0x67b7, 0x67c5, 0x67eb,\n    0x67e4, 0x67df, 0x67b5, 0x67cd, 0x67b3, 0x67f7, 0x67f6, 0x67ee,\n    0x67e3, 0x67c2, 0x67b9, 0x67ce, 0x67e7, 0x67f0, 0x67b2, 0x67fc,\n    0x67c6, 0x67ed, 0x67cc, 0x67ae, 0x67e6, 0x67db, 0x67fa, 0x67c9,\n    0x67ca, 0x67c3, 0x67ea, 0x67cb, 0x6b28, 0x6b82, 0x6b84, 0x6bb6,\n    0x6bd6, 0x6bd8, 0x6be0, 0x6c20, 0x6c21, 0x6d28, 0x6d34, 0x6d2d,\n    0x6d1f, 0x6d3c, 0x6d3f, 0x6d12, 0x6d0a, 0x6cda, 0x6d33, 0x6d04,\n    0x6d19, 0x6d3a, 0x6d1a, 0x6d11, 0x6d00, 0x6d1d, 0x6d42, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6d01, 0x6d18, 0x6d37, 0x6d03, 0x6d0f, 0x6d40, 0x6d07,\n    0x6d20, 0x6d2c, 0x6d08, 0x6d22, 0x6d09, 0x6d10, 0x70b7, 0x709f,\n    0x70be, 0x70b1, 0x70b0, 0x70a1, 0x70b4, 0x70b5, 0x70a9, 0x7241,\n    0x7249, 0x724a, 0x726c, 0x7270, 0x7273, 0x726e, 0x72ca, 0x72e4,\n    0x72e8, 0x72eb, 0x72df, 0x72ea, 0x72e6, 0x72e3, 0x7385, 0x73cc,\n    0x73c2, 0x73c8, 0x73c5, 0x73b9, 0x73b6, 0x73b5, 0x73b4, 0x73eb,\n    0x73bf, 0x73c7, 0x73be, 0x73c3, 0x73c6, 0x73b8, 0x73cb, 0x74ec,\n    0x74ee, 0x752e, 0x7547, 0x7548, 0x75a7, 0x75aa, 0x7679, 0x76c4,\n    0x7708, 0x7703, 0x7704, 0x7705, 0x770a, 0x76f7, 0x76fb, 0x76fa,\n    0x77e7, 0x77e8, 0x7806, 0x7811, 0x7812, 0x7805, 0x7810, 0x780f,\n    0x780e, 0x7809, 0x7803, 0x7813, 0x794a, 0x794c, 0x794b, 0x7945,\n    0x7944, 0x79d5, 0x79cd, 0x79cf, 0x79d6, 0x79ce, 0x7a80, 0x003f,\n    /* lead byte d0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7a7e, 0x7ad1, 0x7b00, 0x7b01, 0x7c7a, 0x7c78, 0x7c79, 0x7c7f,\n    0x7c80, 0x7c81, 0x7d03, 0x7d08, 0x7d01, 0x7f58, 0x7f91, 0x7f8d,\n    0x7fbe, 0x8007, 0x800e, 0x800f, 0x8014, 0x8037, 0x80d8, 0x80c7,\n    0x80e0, 0x80d1, 0x80c8, 0x80c2, 0x80d0, 0x80c5, 0x80e3, 0x80d9,\n    0x80dc, 0x80ca, 0x80d5, 0x80c9, 0x80cf, 0x80d7, 0x80e6, 0x80cd,\n    0x81ff, 0x8221, 0x8294, 0x82d9, 0x82fe, 0x82f9, 0x8307, 0x82e8,\n    0x8300, 0x82d5, 0x833a, 0x82eb, 0x82d6, 0x82f4, 0x82ec, 0x82e1,\n    0x82f2, 0x82f5, 0x830c, 0x82fb, 0x82f6, 0x82f0, 0x82ea, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x82e4, 0x82e0, 0x82fa, 0x82f3, 0x82ed, 0x8677, 0x8674,\n    0x867c, 0x8673, 0x8841, 0x884e, 0x8867, 0x886a, 0x8869, 0x89d3,\n    0x8a04, 0x8a07, 0x8d72, 0x8fe3, 0x8fe1, 0x8fee, 0x8fe0, 0x90f1,\n    0x90bd, 0x90bf, 0x90d5, 0x90c5, 0x90be, 0x90c7, 0x90cb, 0x90c8,\n    0x91d4, 0x91d3, 0x9654, 0x964f, 0x9651, 0x9653, 0x964a, 0x964e,\n    0x501e, 0x5005, 0x5007, 0x5013, 0x5022, 0x5030, 0x501b, 0x4ff5,\n    0x4ff4, 0x5033, 0x5037, 0x502c, 0x4ff6, 0x4ff7, 0x5017, 0x501c,\n    0x5020, 0x5027, 0x5035, 0x502f, 0x5031, 0x500e, 0x515a, 0x5194,\n    0x5193, 0x51ca, 0x51c4, 0x51c5, 0x51c8, 0x51ce, 0x5261, 0x525a,\n    0x5252, 0x525e, 0x525f, 0x5255, 0x5262, 0x52cd, 0x530e, 0x539e,\n    0x5526, 0x54e2, 0x5517, 0x5512, 0x54e7, 0x54f3, 0x54e4, 0x551a,\n    0x54ff, 0x5504, 0x5508, 0x54eb, 0x5511, 0x5505, 0x54f1, 0x003f,\n    /* lead byte d1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x550a, 0x54fb, 0x54f7, 0x54f8, 0x54e0, 0x550e, 0x5503, 0x550b,\n    0x5701, 0x5702, 0x57cc, 0x5832, 0x57d5, 0x57d2, 0x57ba, 0x57c6,\n    0x57bd, 0x57bc, 0x57b8, 0x57b6, 0x57bf, 0x57c7, 0x57d0, 0x57b9,\n    0x57c1, 0x590e, 0x594a, 0x5a19, 0x5a16, 0x5a2d, 0x5a2e, 0x5a15,\n    0x5a0f, 0x5a17, 0x5a0a, 0x5a1e, 0x5a33, 0x5b6c, 0x5ba7, 0x5bad,\n    0x5bac, 0x5c03, 0x5c56, 0x5c54, 0x5cec, 0x5cff, 0x5cee, 0x5cf1,\n    0x5cf7, 0x5d00, 0x5cf9, 0x5e29, 0x5e28, 0x5ea8, 0x5eae, 0x5eaa,\n    0x5eac, 0x5f33, 0x5f30, 0x5f67, 0x605d, 0x605a, 0x6067, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6041, 0x60a2, 0x6088, 0x6080, 0x6092, 0x6081, 0x609d,\n    0x6083, 0x6095, 0x609b, 0x6097, 0x6087, 0x609c, 0x608e, 0x6219,\n    0x6246, 0x62f2, 0x6310, 0x6356, 0x632c, 0x6344, 0x6345, 0x6336,\n    0x6343, 0x63e4, 0x6339, 0x634b, 0x634a, 0x633c, 0x6329, 0x6341,\n    0x6334, 0x6358, 0x6354, 0x6359, 0x632d, 0x6347, 0x6333, 0x635a,\n    0x6351, 0x6338, 0x6357, 0x6340, 0x6348, 0x654a, 0x6546, 0x65c6,\n    0x65c3, 0x65c4, 0x65c2, 0x664a, 0x665f, 0x6647, 0x6651, 0x6712,\n    0x6713, 0x681f, 0x681a, 0x6849, 0x6832, 0x6833, 0x683b, 0x684b,\n    0x684f, 0x6816, 0x6831, 0x681c, 0x6835, 0x682b, 0x682d, 0x682f,\n    0x684e, 0x6844, 0x6834, 0x681d, 0x6812, 0x6814, 0x6826, 0x6828,\n    0x682e, 0x684d, 0x683a, 0x6825, 0x6820, 0x6b2c, 0x6b2f, 0x6b2d,\n    0x6b31, 0x6b34, 0x6b6d, 0x8082, 0x6b88, 0x6be6, 0x6be4, 0x003f,\n    /* lead byte d2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6be8, 0x6be3, 0x6be2, 0x6be7, 0x6c25, 0x6d7a, 0x6d63, 0x6d64,\n    0x6d76, 0x6d0d, 0x6d61, 0x6d92, 0x6d58, 0x6d62, 0x6d6d, 0x6d6f,\n    0x6d91, 0x6d8d, 0x6def, 0x6d7f, 0x6d86, 0x6d5e, 0x6d67, 0x6d60,\n    0x6d97, 0x6d70, 0x6d7c, 0x6d5f, 0x6d82, 0x6d98, 0x6d2f, 0x6d68,\n    0x6d8b, 0x6d7e, 0x6d80, 0x6d84, 0x6d16, 0x6d83, 0x6d7b, 0x6d7d,\n    0x6d75, 0x6d90, 0x70dc, 0x70d3, 0x70d1, 0x70dd, 0x70cb, 0x7f39,\n    0x70e2, 0x70d7, 0x70d2, 0x70de, 0x70e0, 0x70d4, 0x70cd, 0x70c5,\n    0x70c6, 0x70c7, 0x70da, 0x70ce, 0x70e1, 0x7242, 0x7278, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7277, 0x7276, 0x7300, 0x72fa, 0x72f4, 0x72fe, 0x72f6,\n    0x72f3, 0x72fb, 0x7301, 0x73d3, 0x73d9, 0x73e5, 0x73d6, 0x73bc,\n    0x73e7, 0x73e3, 0x73e9, 0x73dc, 0x73d2, 0x73db, 0x73d4, 0x73dd,\n    0x73da, 0x73d7, 0x73d8, 0x73e8, 0x74de, 0x74df, 0x74f4, 0x74f5,\n    0x7521, 0x755b, 0x755f, 0x75b0, 0x75c1, 0x75bb, 0x75c4, 0x75c0,\n    0x75bf, 0x75b6, 0x75ba, 0x768a, 0x76c9, 0x771d, 0x771b, 0x7710,\n    0x7713, 0x7712, 0x7723, 0x7711, 0x7715, 0x7719, 0x771a, 0x7722,\n    0x7727, 0x7823, 0x782c, 0x7822, 0x7835, 0x782f, 0x7828, 0x782e,\n    0x782b, 0x7821, 0x7829, 0x7833, 0x782a, 0x7831, 0x7954, 0x795b,\n    0x794f, 0x795c, 0x7953, 0x7952, 0x7951, 0x79eb, 0x79ec, 0x79e0,\n    0x79ee, 0x79ed, 0x79ea, 0x79dc, 0x79de, 0x79dd, 0x7a86, 0x7a89,\n    0x7a85, 0x7a8b, 0x7a8c, 0x7a8a, 0x7a87, 0x7ad8, 0x7b10, 0x003f,\n    /* lead byte d3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7b04, 0x7b13, 0x7b05, 0x7b0f, 0x7b08, 0x7b0a, 0x7b0e, 0x7b09,\n    0x7b12, 0x7c84, 0x7c91, 0x7c8a, 0x7c8c, 0x7c88, 0x7c8d, 0x7c85,\n    0x7d1e, 0x7d1d, 0x7d11, 0x7d0e, 0x7d18, 0x7d16, 0x7d13, 0x7d1f,\n    0x7d12, 0x7d0f, 0x7d0c, 0x7f5c, 0x7f61, 0x7f5e, 0x7f60, 0x7f5d,\n    0x7f5b, 0x7f96, 0x7f92, 0x7fc3, 0x7fc2, 0x7fc0, 0x8016, 0x803e,\n    0x8039, 0x80fa, 0x80f2, 0x80f9, 0x80f5, 0x8101, 0x80fb, 0x8100,\n    0x8201, 0x822f, 0x8225, 0x8333, 0x832d, 0x8344, 0x8319, 0x8351,\n    0x8325, 0x8356, 0x833f, 0x8341, 0x8326, 0x831c, 0x8322, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8342, 0x834e, 0x831b, 0x832a, 0x8308, 0x833c, 0x834d,\n    0x8316, 0x8324, 0x8320, 0x8337, 0x832f, 0x8329, 0x8347, 0x8345,\n    0x834c, 0x8353, 0x831e, 0x832c, 0x834b, 0x8327, 0x8348, 0x8653,\n    0x8652, 0x86a2, 0x86a8, 0x8696, 0x868d, 0x8691, 0x869e, 0x8687,\n    0x8697, 0x8686, 0x868b, 0x869a, 0x8685, 0x86a5, 0x8699, 0x86a1,\n    0x86a7, 0x8695, 0x8698, 0x868e, 0x869d, 0x8690, 0x8694, 0x8843,\n    0x8844, 0x886d, 0x8875, 0x8876, 0x8872, 0x8880, 0x8871, 0x887f,\n    0x886f, 0x8883, 0x887e, 0x8874, 0x887c, 0x8a12, 0x8c47, 0x8c57,\n    0x8c7b, 0x8ca4, 0x8ca3, 0x8d76, 0x8d78, 0x8db5, 0x8db7, 0x8db6,\n    0x8ed1, 0x8ed3, 0x8ffe, 0x8ff5, 0x9002, 0x8fff, 0x8ffb, 0x9004,\n    0x8ffc, 0x8ff6, 0x90d6, 0x90e0, 0x90d9, 0x90da, 0x90e3, 0x90df,\n    0x90e5, 0x90d8, 0x90db, 0x90d7, 0x90dc, 0x90e4, 0x9150, 0x003f,\n    /* lead byte d4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x914e, 0x914f, 0x91d5, 0x91e2, 0x91da, 0x965c, 0x965f, 0x96bc,\n    0x98e3, 0x9adf, 0x9b2f, 0x4e7f, 0x5070, 0x506a, 0x5061, 0x505e,\n    0x5060, 0x5053, 0x504b, 0x505d, 0x5072, 0x5048, 0x504d, 0x5041,\n    0x505b, 0x504a, 0x5062, 0x5015, 0x5045, 0x505f, 0x5069, 0x506b,\n    0x5063, 0x5064, 0x5046, 0x5040, 0x506e, 0x5073, 0x5057, 0x5051,\n    0x51d0, 0x526b, 0x526d, 0x526c, 0x526e, 0x52d6, 0x52d3, 0x532d,\n    0x539c, 0x5575, 0x5576, 0x553c, 0x554d, 0x5550, 0x5534, 0x552a,\n    0x5551, 0x5562, 0x5536, 0x5535, 0x5530, 0x5552, 0x5545, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x550c, 0x5532, 0x5565, 0x554e, 0x5539, 0x5548, 0x552d,\n    0x553b, 0x5540, 0x554b, 0x570a, 0x5707, 0x57fb, 0x5814, 0x57e2,\n    0x57f6, 0x57dc, 0x57f4, 0x5800, 0x57ed, 0x57fd, 0x5808, 0x57f8,\n    0x580b, 0x57f3, 0x57cf, 0x5807, 0x57ee, 0x57e3, 0x57f2, 0x57e5,\n    0x57ec, 0x57e1, 0x580e, 0x57fc, 0x5810, 0x57e7, 0x5801, 0x580c,\n    0x57f1, 0x57e9, 0x57f0, 0x580d, 0x5804, 0x595c, 0x5a60, 0x5a58,\n    0x5a55, 0x5a67, 0x5a5e, 0x5a38, 0x5a35, 0x5a6d, 0x5a50, 0x5a5f,\n    0x5a65, 0x5a6c, 0x5a53, 0x5a64, 0x5a57, 0x5a43, 0x5a5d, 0x5a52,\n    0x5a44, 0x5a5b, 0x5a48, 0x5a8e, 0x5a3e, 0x5a4d, 0x5a39, 0x5a4c,\n    0x5a70, 0x5a69, 0x5a47, 0x5a51, 0x5a56, 0x5a42, 0x5a5c, 0x5b72,\n    0x5b6e, 0x5bc1, 0x5bc0, 0x5c59, 0x5d1e, 0x5d0b, 0x5d1d, 0x5d1a,\n    0x5d20, 0x5d0c, 0x5d28, 0x5d0d, 0x5d26, 0x5d25, 0x5d0f, 0x003f,\n    /* lead byte d5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5d30, 0x5d12, 0x5d23, 0x5d1f, 0x5d2e, 0x5e3e, 0x5e34, 0x5eb1,\n    0x5eb4, 0x5eb9, 0x5eb2, 0x5eb3, 0x5f36, 0x5f38, 0x5f9b, 0x5f96,\n    0x5f9f, 0x608a, 0x6090, 0x6086, 0x60be, 0x60b0, 0x60ba, 0x60d3,\n    0x60d4, 0x60cf, 0x60e4, 0x60d9, 0x60dd, 0x60c8, 0x60b1, 0x60db,\n    0x60b7, 0x60ca, 0x60bf, 0x60c3, 0x60cd, 0x60c0, 0x6332, 0x6365,\n    0x638a, 0x6382, 0x637d, 0x63bd, 0x639e, 0x63ad, 0x639d, 0x6397,\n    0x63ab, 0x638e, 0x636f, 0x6387, 0x6390, 0x636e, 0x63af, 0x6375,\n    0x639c, 0x636d, 0x63ae, 0x637c, 0x63a4, 0x633b, 0x639f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6378, 0x6385, 0x6381, 0x6391, 0x638d, 0x6370, 0x6553,\n    0x65cd, 0x6665, 0x6661, 0x665b, 0x6659, 0x665c, 0x6662, 0x6718,\n    0x6879, 0x6887, 0x6890, 0x689c, 0x686d, 0x686e, 0x68ae, 0x68ab,\n    0x6956, 0x686f, 0x68a3, 0x68ac, 0x68a9, 0x6875, 0x6874, 0x68b2,\n    0x688f, 0x6877, 0x6892, 0x687c, 0x686b, 0x6872, 0x68aa, 0x6880,\n    0x6871, 0x687e, 0x689b, 0x6896, 0x688b, 0x68a0, 0x6889, 0x68a4,\n    0x6878, 0x687b, 0x6891, 0x688c, 0x688a, 0x687d, 0x6b36, 0x6b33,\n    0x6b37, 0x6b38, 0x6b91, 0x6b8f, 0x6b8d, 0x6b8e, 0x6b8c, 0x6c2a,\n    0x6dc0, 0x6dab, 0x6db4, 0x6db3, 0x6e74, 0x6dac, 0x6de9, 0x6de2,\n    0x6db7, 0x6df6, 0x6dd4, 0x6e00, 0x6dc8, 0x6de0, 0x6ddf, 0x6dd6,\n    0x6dbe, 0x6de5, 0x6ddc, 0x6ddd, 0x6ddb, 0x6df4, 0x6dca, 0x6dbd,\n    0x6ded, 0x6df0, 0x6dba, 0x6dd5, 0x6dc2, 0x6dcf, 0x6dc9, 0x003f,\n    /* lead byte d6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6dd0, 0x6df2, 0x6dd3, 0x6dfd, 0x6dd7, 0x6dcd, 0x6de3, 0x6dbb,\n    0x70fa, 0x710d, 0x70f7, 0x7117, 0x70f4, 0x710c, 0x70f0, 0x7104,\n    0x70f3, 0x7110, 0x70fc, 0x70ff, 0x7106, 0x7113, 0x7100, 0x70f8,\n    0x70f6, 0x710b, 0x7102, 0x710e, 0x727e, 0x727b, 0x727c, 0x727f,\n    0x731d, 0x7317, 0x7307, 0x7311, 0x7318, 0x730a, 0x7308, 0x72ff,\n    0x730f, 0x731e, 0x7388, 0x73f6, 0x73f8, 0x73f5, 0x7404, 0x7401,\n    0x73fd, 0x7407, 0x7400, 0x73fa, 0x73fc, 0x73ff, 0x740c, 0x740b,\n    0x73f4, 0x7408, 0x7564, 0x7563, 0x75ce, 0x75d2, 0x75cf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x75cb, 0x75cc, 0x75d1, 0x75d0, 0x768f, 0x7689, 0x76d3,\n    0x7739, 0x772f, 0x772d, 0x7731, 0x7732, 0x7734, 0x7733, 0x773d,\n    0x7725, 0x773b, 0x7735, 0x7848, 0x7852, 0x7849, 0x784d, 0x784a,\n    0x784c, 0x7826, 0x7845, 0x7850, 0x7964, 0x7967, 0x7969, 0x796a,\n    0x7963, 0x796b, 0x7961, 0x79bb, 0x79fa, 0x79f8, 0x79f6, 0x79f7,\n    0x7a8f, 0x7a94, 0x7a90, 0x7b35, 0x7b47, 0x7b34, 0x7b25, 0x7b30,\n    0x7b22, 0x7b24, 0x7b33, 0x7b18, 0x7b2a, 0x7b1d, 0x7b31, 0x7b2b,\n    0x7b2d, 0x7b2f, 0x7b32, 0x7b38, 0x7b1a, 0x7b23, 0x7c94, 0x7c98,\n    0x7c96, 0x7ca3, 0x7d35, 0x7d3d, 0x7d38, 0x7d36, 0x7d3a, 0x7d45,\n    0x7d2c, 0x7d29, 0x7d41, 0x7d47, 0x7d3e, 0x7d3f, 0x7d4a, 0x7d3b,\n    0x7d28, 0x7f63, 0x7f95, 0x7f9c, 0x7f9d, 0x7f9b, 0x7fca, 0x7fcb,\n    0x7fcd, 0x7fd0, 0x7fd1, 0x7fc7, 0x7fcf, 0x7fc9, 0x801f, 0x003f,\n    /* lead byte d7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x801e, 0x801b, 0x8047, 0x8043, 0x8048, 0x8118, 0x8125, 0x8119,\n    0x811b, 0x812d, 0x811f, 0x812c, 0x811e, 0x8121, 0x8115, 0x8127,\n    0x811d, 0x8122, 0x8211, 0x8238, 0x8233, 0x823a, 0x8234, 0x8232,\n    0x8274, 0x8390, 0x83a3, 0x83a8, 0x838d, 0x837a, 0x8373, 0x83a4,\n    0x8374, 0x838f, 0x8381, 0x8395, 0x8399, 0x8375, 0x8394, 0x83a9,\n    0x837d, 0x8383, 0x838c, 0x839d, 0x839b, 0x83aa, 0x838b, 0x837e,\n    0x83a5, 0x83af, 0x8388, 0x8397, 0x83b0, 0x837f, 0x83a6, 0x8387,\n    0x83ae, 0x8376, 0x839a, 0x8659, 0x8656, 0x86bf, 0x86b7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x86c2, 0x86c1, 0x86c5, 0x86ba, 0x86b0, 0x86c8, 0x86b9,\n    0x86b3, 0x86b8, 0x86cc, 0x86b4, 0x86bb, 0x86bc, 0x86c3, 0x86bd,\n    0x86be, 0x8852, 0x8889, 0x8895, 0x88a8, 0x88a2, 0x88aa, 0x889a,\n    0x8891, 0x88a1, 0x889f, 0x8898, 0x88a7, 0x8899, 0x889b, 0x8897,\n    0x88a4, 0x88ac, 0x888c, 0x8893, 0x888e, 0x8982, 0x89d6, 0x89d9,\n    0x89d5, 0x8a30, 0x8a27, 0x8a2c, 0x8a1e, 0x8c39, 0x8c3b, 0x8c5c,\n    0x8c5d, 0x8c7d, 0x8ca5, 0x8d7d, 0x8d7b, 0x8d79, 0x8dbc, 0x8dc2,\n    0x8db9, 0x8dbf, 0x8dc1, 0x8ed8, 0x8ede, 0x8edd, 0x8edc, 0x8ed7,\n    0x8ee0, 0x8ee1, 0x9024, 0x900b, 0x9011, 0x901c, 0x900c, 0x9021,\n    0x90ef, 0x90ea, 0x90f0, 0x90f4, 0x90f2, 0x90f3, 0x90d4, 0x90eb,\n    0x90ec, 0x90e9, 0x9156, 0x9158, 0x915a, 0x9153, 0x9155, 0x91ec,\n    0x91f4, 0x91f1, 0x91f3, 0x91f8, 0x91e4, 0x91f9, 0x91ea, 0x003f,\n    /* lead byte d8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x91eb, 0x91f7, 0x91e8, 0x91ee, 0x957a, 0x9586, 0x9588, 0x967c,\n    0x966d, 0x966b, 0x9671, 0x966f, 0x96bf, 0x976a, 0x9804, 0x98e5,\n    0x9997, 0x509b, 0x5095, 0x5094, 0x509e, 0x508b, 0x50a3, 0x5083,\n    0x508c, 0x508e, 0x509d, 0x5068, 0x509c, 0x5092, 0x5082, 0x5087,\n    0x515f, 0x51d4, 0x5312, 0x5311, 0x53a4, 0x53a7, 0x5591, 0x55a8,\n    0x55a5, 0x55ad, 0x5577, 0x5645, 0x55a2, 0x5593, 0x5588, 0x558f,\n    0x55b5, 0x5581, 0x55a3, 0x5592, 0x55a4, 0x557d, 0x558c, 0x55a6,\n    0x557f, 0x5595, 0x55a1, 0x558e, 0x570c, 0x5829, 0x5837, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5819, 0x581e, 0x5827, 0x5823, 0x5828, 0x57f5, 0x5848,\n    0x5825, 0x581c, 0x581b, 0x5833, 0x583f, 0x5836, 0x582e, 0x5839,\n    0x5838, 0x582d, 0x582c, 0x583b, 0x5961, 0x5aaf, 0x5a94, 0x5a9f,\n    0x5a7a, 0x5aa2, 0x5a9e, 0x5a78, 0x5aa6, 0x5a7c, 0x5aa5, 0x5aac,\n    0x5a95, 0x5aae, 0x5a37, 0x5a84, 0x5a8a, 0x5a97, 0x5a83, 0x5a8b,\n    0x5aa9, 0x5a7b, 0x5a7d, 0x5a8c, 0x5a9c, 0x5a8f, 0x5a93, 0x5a9d,\n    0x5bea, 0x5bcd, 0x5bcb, 0x5bd4, 0x5bd1, 0x5bca, 0x5bce, 0x5c0c,\n    0x5c30, 0x5d37, 0x5d43, 0x5d6b, 0x5d41, 0x5d4b, 0x5d3f, 0x5d35,\n    0x5d51, 0x5d4e, 0x5d55, 0x5d33, 0x5d3a, 0x5d52, 0x5d3d, 0x5d31,\n    0x5d59, 0x5d42, 0x5d39, 0x5d49, 0x5d38, 0x5d3c, 0x5d32, 0x5d36,\n    0x5d40, 0x5d45, 0x5e44, 0x5e41, 0x5f58, 0x5fa6, 0x5fa5, 0x5fab,\n    0x60c9, 0x60b9, 0x60cc, 0x60e2, 0x60ce, 0x60c4, 0x6114, 0x003f,\n    /* lead byte d9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x60f2, 0x610a, 0x6116, 0x6105, 0x60f5, 0x6113, 0x60f8, 0x60fc,\n    0x60fe, 0x60c1, 0x6103, 0x6118, 0x611d, 0x6110, 0x60ff, 0x6104,\n    0x610b, 0x624a, 0x6394, 0x63b1, 0x63b0, 0x63ce, 0x63e5, 0x63e8,\n    0x63ef, 0x63c3, 0x649d, 0x63f3, 0x63ca, 0x63e0, 0x63f6, 0x63d5,\n    0x63f2, 0x63f5, 0x6461, 0x63df, 0x63be, 0x63dd, 0x63dc, 0x63c4,\n    0x63d8, 0x63d3, 0x63c2, 0x63c7, 0x63cc, 0x63cb, 0x63c8, 0x63f0,\n    0x63d7, 0x63d9, 0x6532, 0x6567, 0x656a, 0x6564, 0x655c, 0x6568,\n    0x6565, 0x658c, 0x659d, 0x659e, 0x65ae, 0x65d0, 0x65d2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x667c, 0x666c, 0x667b, 0x6680, 0x6671, 0x6679, 0x666a,\n    0x6672, 0x6701, 0x690c, 0x68d3, 0x6904, 0x68dc, 0x692a, 0x68ec,\n    0x68ea, 0x68f1, 0x690f, 0x68d6, 0x68f7, 0x68eb, 0x68e4, 0x68f6,\n    0x6913, 0x6910, 0x68f3, 0x68e1, 0x6907, 0x68cc, 0x6908, 0x6970,\n    0x68b4, 0x6911, 0x68ef, 0x68c6, 0x6914, 0x68f8, 0x68d0, 0x68fd,\n    0x68fc, 0x68e8, 0x690b, 0x690a, 0x6917, 0x68ce, 0x68c8, 0x68dd,\n    0x68de, 0x68e6, 0x68f4, 0x68d1, 0x6906, 0x68d4, 0x68e9, 0x6915,\n    0x6925, 0x68c7, 0x6b39, 0x6b3b, 0x6b3f, 0x6b3c, 0x6b94, 0x6b97,\n    0x6b99, 0x6b95, 0x6bbd, 0x6bf0, 0x6bf2, 0x6bf3, 0x6c30, 0x6dfc,\n    0x6e46, 0x6e47, 0x6e1f, 0x6e49, 0x6e88, 0x6e3c, 0x6e3d, 0x6e45,\n    0x6e62, 0x6e2b, 0x6e3f, 0x6e41, 0x6e5d, 0x6e73, 0x6e1c, 0x6e33,\n    0x6e4b, 0x6e40, 0x6e51, 0x6e3b, 0x6e03, 0x6e2e, 0x6e5e, 0x003f,\n    /* lead byte da */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6e68, 0x6e5c, 0x6e61, 0x6e31, 0x6e28, 0x6e60, 0x6e71, 0x6e6b,\n    0x6e39, 0x6e22, 0x6e30, 0x6e53, 0x6e65, 0x6e27, 0x6e78, 0x6e64,\n    0x6e77, 0x6e55, 0x6e79, 0x6e52, 0x6e66, 0x6e35, 0x6e36, 0x6e5a,\n    0x7120, 0x711e, 0x712f, 0x70fb, 0x712e, 0x7131, 0x7123, 0x7125,\n    0x7122, 0x7132, 0x711f, 0x7128, 0x713a, 0x711b, 0x724b, 0x725a,\n    0x7288, 0x7289, 0x7286, 0x7285, 0x728b, 0x7312, 0x730b, 0x7330,\n    0x7322, 0x7331, 0x7333, 0x7327, 0x7332, 0x732d, 0x7326, 0x7323,\n    0x7335, 0x730c, 0x742e, 0x742c, 0x7430, 0x742b, 0x7416, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x741a, 0x7421, 0x742d, 0x7431, 0x7424, 0x7423, 0x741d,\n    0x7429, 0x7420, 0x7432, 0x74fb, 0x752f, 0x756f, 0x756c, 0x75e7,\n    0x75da, 0x75e1, 0x75e6, 0x75dd, 0x75df, 0x75e4, 0x75d7, 0x7695,\n    0x7692, 0x76da, 0x7746, 0x7747, 0x7744, 0x774d, 0x7745, 0x774a,\n    0x774e, 0x774b, 0x774c, 0x77de, 0x77ec, 0x7860, 0x7864, 0x7865,\n    0x785c, 0x786d, 0x7871, 0x786a, 0x786e, 0x7870, 0x7869, 0x7868,\n    0x785e, 0x7862, 0x7974, 0x7973, 0x7972, 0x7970, 0x7a02, 0x7a0a,\n    0x7a03, 0x7a0c, 0x7a04, 0x7a99, 0x7ae6, 0x7ae4, 0x7b4a, 0x7b3b,\n    0x7b44, 0x7b48, 0x7b4c, 0x7b4e, 0x7b40, 0x7b58, 0x7b45, 0x7ca2,\n    0x7c9e, 0x7ca8, 0x7ca1, 0x7d58, 0x7d6f, 0x7d63, 0x7d53, 0x7d56,\n    0x7d67, 0x7d6a, 0x7d4f, 0x7d6d, 0x7d5c, 0x7d6b, 0x7d52, 0x7d54,\n    0x7d69, 0x7d51, 0x7d5f, 0x7d4e, 0x7f3e, 0x7f3f, 0x7f65, 0x003f,\n    /* lead byte db */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7f66, 0x7fa2, 0x7fa0, 0x7fa1, 0x7fd7, 0x8051, 0x804f, 0x8050,\n    0x80fe, 0x80d4, 0x8143, 0x814a, 0x8152, 0x814f, 0x8147, 0x813d,\n    0x814d, 0x813a, 0x81e6, 0x81ee, 0x81f7, 0x81f8, 0x81f9, 0x8204,\n    0x823c, 0x823d, 0x823f, 0x8275, 0x833b, 0x83cf, 0x83f9, 0x8423,\n    0x83c0, 0x83e8, 0x8412, 0x83e7, 0x83e4, 0x83fc, 0x83f6, 0x8410,\n    0x83c6, 0x83c8, 0x83eb, 0x83e3, 0x83bf, 0x8401, 0x83dd, 0x83e5,\n    0x83d8, 0x83ff, 0x83e1, 0x83cb, 0x83ce, 0x83d6, 0x83f5, 0x83c9,\n    0x8409, 0x840f, 0x83de, 0x8411, 0x8406, 0x83c2, 0x83f3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x83d5, 0x83fa, 0x83c7, 0x83d1, 0x83ea, 0x8413, 0x83c3,\n    0x83ec, 0x83ee, 0x83c4, 0x83fb, 0x83d7, 0x83e2, 0x841b, 0x83db,\n    0x83fe, 0x86d8, 0x86e2, 0x86e6, 0x86d3, 0x86e3, 0x86da, 0x86ea,\n    0x86dd, 0x86eb, 0x86dc, 0x86ec, 0x86e9, 0x86d7, 0x86e8, 0x86d1,\n    0x8848, 0x8856, 0x8855, 0x88ba, 0x88d7, 0x88b9, 0x88b8, 0x88c0,\n    0x88be, 0x88b6, 0x88bc, 0x88b7, 0x88bd, 0x88b2, 0x8901, 0x88c9,\n    0x8995, 0x8998, 0x8997, 0x89dd, 0x89da, 0x89db, 0x8a4e, 0x8a4d,\n    0x8a39, 0x8a59, 0x8a40, 0x8a57, 0x8a58, 0x8a44, 0x8a45, 0x8a52,\n    0x8a48, 0x8a51, 0x8a4a, 0x8a4c, 0x8a4f, 0x8c5f, 0x8c81, 0x8c80,\n    0x8cba, 0x8cbe, 0x8cb0, 0x8cb9, 0x8cb5, 0x8d84, 0x8d80, 0x8d89,\n    0x8dd8, 0x8dd3, 0x8dcd, 0x8dc7, 0x8dd6, 0x8ddc, 0x8dcf, 0x8dd5,\n    0x8dd9, 0x8dc8, 0x8dd7, 0x8dc5, 0x8eef, 0x8ef7, 0x8efa, 0x003f,\n    /* lead byte dc */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8ef9, 0x8ee6, 0x8eee, 0x8ee5, 0x8ef5, 0x8ee7, 0x8ee8, 0x8ef6,\n    0x8eeb, 0x8ef1, 0x8eec, 0x8ef4, 0x8ee9, 0x902d, 0x9034, 0x902f,\n    0x9106, 0x912c, 0x9104, 0x90ff, 0x90fc, 0x9108, 0x90f9, 0x90fb,\n    0x9101, 0x9100, 0x9107, 0x9105, 0x9103, 0x9161, 0x9164, 0x915f,\n    0x9162, 0x9160, 0x9201, 0x920a, 0x9225, 0x9203, 0x921a, 0x9226,\n    0x920f, 0x920c, 0x9200, 0x9212, 0x91ff, 0x91fd, 0x9206, 0x9204,\n    0x9227, 0x9202, 0x921c, 0x9224, 0x9219, 0x9217, 0x9205, 0x9216,\n    0x957b, 0x958d, 0x958c, 0x9590, 0x9687, 0x967e, 0x9688, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9689, 0x9683, 0x9680, 0x96c2, 0x96c8, 0x96c3, 0x96f1,\n    0x96f0, 0x976c, 0x9770, 0x976e, 0x9807, 0x98a9, 0x98eb, 0x9ce6,\n    0x9ef9, 0x4e83, 0x4e84, 0x4eb6, 0x50bd, 0x50bf, 0x50c6, 0x50ae,\n    0x50c4, 0x50ca, 0x50b4, 0x50c8, 0x50c2, 0x50b0, 0x50c1, 0x50ba,\n    0x50b1, 0x50cb, 0x50c9, 0x50b6, 0x50b8, 0x51d7, 0x527a, 0x5278,\n    0x527b, 0x527c, 0x55c3, 0x55db, 0x55cc, 0x55d0, 0x55cb, 0x55ca,\n    0x55dd, 0x55c0, 0x55d4, 0x55c4, 0x55e9, 0x55bf, 0x55d2, 0x558d,\n    0x55cf, 0x55d5, 0x55e2, 0x55d6, 0x55c8, 0x55f2, 0x55cd, 0x55d9,\n    0x55c2, 0x5714, 0x5853, 0x5868, 0x5864, 0x584f, 0x584d, 0x5849,\n    0x586f, 0x5855, 0x584e, 0x585d, 0x5859, 0x5865, 0x585b, 0x583d,\n    0x5863, 0x5871, 0x58fc, 0x5ac7, 0x5ac4, 0x5acb, 0x5aba, 0x5ab8,\n    0x5ab1, 0x5ab5, 0x5ab0, 0x5abf, 0x5ac8, 0x5abb, 0x5ac6, 0x003f,\n    /* lead byte dd */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5ab7, 0x5ac0, 0x5aca, 0x5ab4, 0x5ab6, 0x5acd, 0x5ab9, 0x5a90,\n    0x5bd6, 0x5bd8, 0x5bd9, 0x5c1f, 0x5c33, 0x5d71, 0x5d63, 0x5d4a,\n    0x5d65, 0x5d72, 0x5d6c, 0x5d5e, 0x5d68, 0x5d67, 0x5d62, 0x5df0,\n    0x5e4f, 0x5e4e, 0x5e4a, 0x5e4d, 0x5e4b, 0x5ec5, 0x5ecc, 0x5ec6,\n    0x5ecb, 0x5ec7, 0x5f40, 0x5faf, 0x5fad, 0x60f7, 0x6149, 0x614a,\n    0x612b, 0x6145, 0x6136, 0x6132, 0x612e, 0x6146, 0x612f, 0x614f,\n    0x6129, 0x6140, 0x6220, 0x9168, 0x6223, 0x6225, 0x6224, 0x63c5,\n    0x63f1, 0x63eb, 0x6410, 0x6412, 0x6409, 0x6420, 0x6424, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6433, 0x6443, 0x641f, 0x6415, 0x6418, 0x6439, 0x6437,\n    0x6422, 0x6423, 0x640c, 0x6426, 0x6430, 0x6428, 0x6441, 0x6435,\n    0x642f, 0x640a, 0x641a, 0x6440, 0x6425, 0x6427, 0x640b, 0x63e7,\n    0x641b, 0x642e, 0x6421, 0x640e, 0x656f, 0x6592, 0x65d3, 0x6686,\n    0x668c, 0x6695, 0x6690, 0x668b, 0x668a, 0x6699, 0x6694, 0x6678,\n    0x6720, 0x6966, 0x695f, 0x6938, 0x694e, 0x6962, 0x6971, 0x693f,\n    0x6945, 0x696a, 0x6939, 0x6942, 0x6957, 0x6959, 0x697a, 0x6948,\n    0x6949, 0x6935, 0x696c, 0x6933, 0x693d, 0x6965, 0x68f0, 0x6978,\n    0x6934, 0x6969, 0x6940, 0x696f, 0x6944, 0x6976, 0x6958, 0x6941,\n    0x6974, 0x694c, 0x693b, 0x694b, 0x6937, 0x695c, 0x694f, 0x6951,\n    0x6932, 0x6952, 0x692f, 0x697b, 0x693c, 0x6b46, 0x6b45, 0x6b43,\n    0x6b42, 0x6b48, 0x6b41, 0x6b9b, 0xfa0d, 0x6bfb, 0x6bfc, 0x003f,\n    /* lead byte de */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6bf9, 0x6bf7, 0x6bf8, 0x6e9b, 0x6ed6, 0x6ec8, 0x6e8f, 0x6ec0,\n    0x6e9f, 0x6e93, 0x6e94, 0x6ea0, 0x6eb1, 0x6eb9, 0x6ec6, 0x6ed2,\n    0x6ebd, 0x6ec1, 0x6e9e, 0x6ec9, 0x6eb7, 0x6eb0, 0x6ecd, 0x6ea6,\n    0x6ecf, 0x6eb2, 0x6ebe, 0x6ec3, 0x6edc, 0x6ed8, 0x6e99, 0x6e92,\n    0x6e8e, 0x6e8d, 0x6ea4, 0x6ea1, 0x6ebf, 0x6eb3, 0x6ed0, 0x6eca,\n    0x6e97, 0x6eae, 0x6ea3, 0x7147, 0x7154, 0x7152, 0x7163, 0x7160,\n    0x7141, 0x715d, 0x7162, 0x7172, 0x7178, 0x716a, 0x7161, 0x7142,\n    0x7158, 0x7143, 0x714b, 0x7170, 0x715f, 0x7150, 0x7153, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7144, 0x714d, 0x715a, 0x724f, 0x728d, 0x728c, 0x7291,\n    0x7290, 0x728e, 0x733c, 0x7342, 0x733b, 0x733a, 0x7340, 0x734a,\n    0x7349, 0x7444, 0x744a, 0x744b, 0x7452, 0x7451, 0x7457, 0x7440,\n    0x744f, 0x7450, 0x744e, 0x7442, 0x7446, 0x744d, 0x7454, 0x74e1,\n    0x74ff, 0x74fe, 0x74fd, 0x751d, 0x7579, 0x7577, 0x6983, 0x75ef,\n    0x760f, 0x7603, 0x75f7, 0x75fe, 0x75fc, 0x75f9, 0x75f8, 0x7610,\n    0x75fb, 0x75f6, 0x75ed, 0x75f5, 0x75fd, 0x7699, 0x76b5, 0x76dd,\n    0x7755, 0x775f, 0x7760, 0x7752, 0x7756, 0x775a, 0x7769, 0x7767,\n    0x7754, 0x7759, 0x776d, 0x77e0, 0x7887, 0x789a, 0x7894, 0x788f,\n    0x7884, 0x7895, 0x7885, 0x7886, 0x78a1, 0x7883, 0x7879, 0x7899,\n    0x7880, 0x7896, 0x787b, 0x797c, 0x7982, 0x797d, 0x7979, 0x7a11,\n    0x7a18, 0x7a19, 0x7a12, 0x7a17, 0x7a15, 0x7a22, 0x7a13, 0x003f,\n    /* lead byte df */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7a1b, 0x7a10, 0x7aa3, 0x7aa2, 0x7a9e, 0x7aeb, 0x7b66, 0x7b64,\n    0x7b6d, 0x7b74, 0x7b69, 0x7b72, 0x7b65, 0x7b73, 0x7b71, 0x7b70,\n    0x7b61, 0x7b78, 0x7b76, 0x7b63, 0x7cb2, 0x7cb4, 0x7caf, 0x7d88,\n    0x7d86, 0x7d80, 0x7d8d, 0x7d7f, 0x7d85, 0x7d7a, 0x7d8e, 0x7d7b,\n    0x7d83, 0x7d7c, 0x7d8c, 0x7d94, 0x7d84, 0x7d7d, 0x7d92, 0x7f6d,\n    0x7f6b, 0x7f67, 0x7f68, 0x7f6c, 0x7fa6, 0x7fa5, 0x7fa7, 0x7fdb,\n    0x7fdc, 0x8021, 0x8164, 0x8160, 0x8177, 0x815c, 0x8169, 0x815b,\n    0x8162, 0x8172, 0x6721, 0x815e, 0x8176, 0x8167, 0x816f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8144, 0x8161, 0x821d, 0x8249, 0x8244, 0x8240, 0x8242,\n    0x8245, 0x84f1, 0x843f, 0x8456, 0x8476, 0x8479, 0x848f, 0x848d,\n    0x8465, 0x8451, 0x8440, 0x8486, 0x8467, 0x8430, 0x844d, 0x847d,\n    0x845a, 0x8459, 0x8474, 0x8473, 0x845d, 0x8507, 0x845e, 0x8437,\n    0x843a, 0x8434, 0x847a, 0x8443, 0x8478, 0x8432, 0x8445, 0x8429,\n    0x83d9, 0x844b, 0x842f, 0x8442, 0x842d, 0x845f, 0x8470, 0x8439,\n    0x844e, 0x844c, 0x8452, 0x846f, 0x84c5, 0x848e, 0x843b, 0x8447,\n    0x8436, 0x8433, 0x8468, 0x847e, 0x8444, 0x842b, 0x8460, 0x8454,\n    0x846e, 0x8450, 0x870b, 0x8704, 0x86f7, 0x870c, 0x86fa, 0x86d6,\n    0x86f5, 0x874d, 0x86f8, 0x870e, 0x8709, 0x8701, 0x86f6, 0x870d,\n    0x8705, 0x88d6, 0x88cb, 0x88cd, 0x88ce, 0x88de, 0x88db, 0x88da,\n    0x88cc, 0x88d0, 0x8985, 0x899b, 0x89df, 0x89e5, 0x89e4, 0x003f,\n    /* lead byte e0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x89e1, 0x89e0, 0x89e2, 0x89dc, 0x89e6, 0x8a76, 0x8a86, 0x8a7f,\n    0x8a61, 0x8a3f, 0x8a77, 0x8a82, 0x8a84, 0x8a75, 0x8a83, 0x8a81,\n    0x8a74, 0x8a7a, 0x8c3c, 0x8c4b, 0x8c4a, 0x8c65, 0x8c64, 0x8c66,\n    0x8c86, 0x8c84, 0x8c85, 0x8ccc, 0x8d68, 0x8d69, 0x8d91, 0x8d8c,\n    0x8d8e, 0x8d8f, 0x8d8d, 0x8d93, 0x8d94, 0x8d90, 0x8d92, 0x8df0,\n    0x8de0, 0x8dec, 0x8df1, 0x8dee, 0x8dd0, 0x8de9, 0x8de3, 0x8de2,\n    0x8de7, 0x8df2, 0x8deb, 0x8df4, 0x8f06, 0x8eff, 0x8f01, 0x8f00,\n    0x8f05, 0x8f07, 0x8f08, 0x8f02, 0x8f0b, 0x9052, 0x903f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9044, 0x9049, 0x903d, 0x9110, 0x910d, 0x910f, 0x9111,\n    0x9116, 0x9114, 0x910b, 0x910e, 0x916e, 0x916f, 0x9248, 0x9252,\n    0x9230, 0x923a, 0x9266, 0x9233, 0x9265, 0x925e, 0x9283, 0x922e,\n    0x924a, 0x9246, 0x926d, 0x926c, 0x924f, 0x9260, 0x9267, 0x926f,\n    0x9236, 0x9261, 0x9270, 0x9231, 0x9254, 0x9263, 0x9250, 0x9272,\n    0x924e, 0x9253, 0x924c, 0x9256, 0x9232, 0x959f, 0x959c, 0x959e,\n    0x959b, 0x9692, 0x9693, 0x9691, 0x9697, 0x96ce, 0x96fa, 0x96fd,\n    0x96f8, 0x96f5, 0x9773, 0x9777, 0x9778, 0x9772, 0x980f, 0x980d,\n    0x980e, 0x98ac, 0x98f6, 0x98f9, 0x99af, 0x99b2, 0x99b0, 0x99b5,\n    0x9aad, 0x9aab, 0x9b5b, 0x9cea, 0x9ced, 0x9ce7, 0x9e80, 0x9efd,\n    0x50e6, 0x50d4, 0x50d7, 0x50e8, 0x50f3, 0x50db, 0x50ea, 0x50dd,\n    0x50e4, 0x50d3, 0x50ec, 0x50f0, 0x50ef, 0x50e3, 0x50e0, 0x003f,\n    /* lead byte e1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x51d8, 0x5280, 0x5281, 0x52e9, 0x52eb, 0x5330, 0x53ac, 0x5627,\n    0x5615, 0x560c, 0x5612, 0x55fc, 0x560f, 0x561c, 0x5601, 0x5613,\n    0x5602, 0x55fa, 0x561d, 0x5604, 0x55ff, 0x55f9, 0x5889, 0x587c,\n    0x5890, 0x5898, 0x5886, 0x5881, 0x587f, 0x5874, 0x588b, 0x587a,\n    0x5887, 0x5891, 0x588e, 0x5876, 0x5882, 0x5888, 0x587b, 0x5894,\n    0x588f, 0x58fe, 0x596b, 0x5adc, 0x5aee, 0x5ae5, 0x5ad5, 0x5aea,\n    0x5ada, 0x5aed, 0x5aeb, 0x5af3, 0x5ae2, 0x5ae0, 0x5adb, 0x5aec,\n    0x5ade, 0x5add, 0x5ad9, 0x5ae8, 0x5adf, 0x5b77, 0x5be0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x5be3, 0x5c63, 0x5d82, 0x5d80, 0x5d7d, 0x5d86, 0x5d7a,\n    0x5d81, 0x5d77, 0x5d8a, 0x5d89, 0x5d88, 0x5d7e, 0x5d7c, 0x5d8d,\n    0x5d79, 0x5d7f, 0x5e58, 0x5e59, 0x5e53, 0x5ed8, 0x5ed1, 0x5ed7,\n    0x5ece, 0x5edc, 0x5ed5, 0x5ed9, 0x5ed2, 0x5ed4, 0x5f44, 0x5f43,\n    0x5f6f, 0x5fb6, 0x612c, 0x6128, 0x6141, 0x615e, 0x6171, 0x6173,\n    0x6152, 0x6153, 0x6172, 0x616c, 0x6180, 0x6174, 0x6154, 0x617a,\n    0x615b, 0x6165, 0x613b, 0x616a, 0x6161, 0x6156, 0x6229, 0x6227,\n    0x622b, 0x642b, 0x644d, 0x645b, 0x645d, 0x6474, 0x6476, 0x6472,\n    0x6473, 0x647d, 0x6475, 0x6466, 0x64a6, 0x644e, 0x6482, 0x645e,\n    0x645c, 0x644b, 0x6453, 0x6460, 0x6450, 0x647f, 0x643f, 0x646c,\n    0x646b, 0x6459, 0x6465, 0x6477, 0x6573, 0x65a0, 0x66a1, 0x66a0,\n    0x669f, 0x6705, 0x6704, 0x6722, 0x69b1, 0x69b6, 0x69c9, 0x003f,\n    /* lead byte e2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x69a0, 0x69ce, 0x6996, 0x69b0, 0x69ac, 0x69bc, 0x6991, 0x6999,\n    0x698e, 0x69a7, 0x698d, 0x69a9, 0x69be, 0x69af, 0x69bf, 0x69c4,\n    0x69bd, 0x69a4, 0x69d4, 0x69b9, 0x69ca, 0x699a, 0x69cf, 0x69b3,\n    0x6993, 0x69aa, 0x69a1, 0x699e, 0x69d9, 0x6997, 0x6990, 0x69c2,\n    0x69b5, 0x69a5, 0x69c6, 0x6b4a, 0x6b4d, 0x6b4b, 0x6b9e, 0x6b9f,\n    0x6ba0, 0x6bc3, 0x6bc4, 0x6bfe, 0x6ece, 0x6ef5, 0x6ef1, 0x6f03,\n    0x6f25, 0x6ef8, 0x6f37, 0x6efb, 0x6f2e, 0x6f09, 0x6f4e, 0x6f19,\n    0x6f1a, 0x6f27, 0x6f18, 0x6f3b, 0x6f12, 0x6eed, 0x6f0a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x6f36, 0x6f73, 0x6ef9, 0x6eee, 0x6f2d, 0x6f40, 0x6f30,\n    0x6f3c, 0x6f35, 0x6eeb, 0x6f07, 0x6f0e, 0x6f43, 0x6f05, 0x6efd,\n    0x6ef6, 0x6f39, 0x6f1c, 0x6efc, 0x6f3a, 0x6f1f, 0x6f0d, 0x6f1e,\n    0x6f08, 0x6f21, 0x7187, 0x7190, 0x7189, 0x7180, 0x7185, 0x7182,\n    0x718f, 0x717b, 0x7186, 0x7181, 0x7197, 0x7244, 0x7253, 0x7297,\n    0x7295, 0x7293, 0x7343, 0x734d, 0x7351, 0x734c, 0x7462, 0x7473,\n    0x7471, 0x7475, 0x7472, 0x7467, 0x746e, 0x7500, 0x7502, 0x7503,\n    0x757d, 0x7590, 0x7616, 0x7608, 0x760c, 0x7615, 0x7611, 0x760a,\n    0x7614, 0x76b8, 0x7781, 0x777c, 0x7785, 0x7782, 0x776e, 0x7780,\n    0x776f, 0x777e, 0x7783, 0x78b2, 0x78aa, 0x78b4, 0x78ad, 0x78a8,\n    0x787e, 0x78ab, 0x789e, 0x78a5, 0x78a0, 0x78ac, 0x78a2, 0x78a4,\n    0x7998, 0x798a, 0x798b, 0x7996, 0x7995, 0x7994, 0x7993, 0x003f,\n    /* lead byte e3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7997, 0x7988, 0x7992, 0x7990, 0x7a2b, 0x7a4a, 0x7a30, 0x7a2f,\n    0x7a28, 0x7a26, 0x7aa8, 0x7aab, 0x7aac, 0x7aee, 0x7b88, 0x7b9c,\n    0x7b8a, 0x7b91, 0x7b90, 0x7b96, 0x7b8d, 0x7b8c, 0x7b9b, 0x7b8e,\n    0x7b85, 0x7b98, 0x5284, 0x7b99, 0x7ba4, 0x7b82, 0x7cbb, 0x7cbf,\n    0x7cbc, 0x7cba, 0x7da7, 0x7db7, 0x7dc2, 0x7da3, 0x7daa, 0x7dc1,\n    0x7dc0, 0x7dc5, 0x7d9d, 0x7dce, 0x7dc4, 0x7dc6, 0x7dcb, 0x7dcc,\n    0x7daf, 0x7db9, 0x7d96, 0x7dbc, 0x7d9f, 0x7da6, 0x7dae, 0x7da9,\n    0x7da1, 0x7dc9, 0x7f73, 0x7fe2, 0x7fe3, 0x7fe5, 0x7fde, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8024, 0x805d, 0x805c, 0x8189, 0x8186, 0x8183, 0x8187,\n    0x818d, 0x818c, 0x818b, 0x8215, 0x8497, 0x84a4, 0x84a1, 0x849f,\n    0x84ba, 0x84ce, 0x84c2, 0x84ac, 0x84ae, 0x84ab, 0x84b9, 0x84b4,\n    0x84c1, 0x84cd, 0x84aa, 0x849a, 0x84b1, 0x84d0, 0x849d, 0x84a7,\n    0x84bb, 0x84a2, 0x8494, 0x84c7, 0x84cc, 0x849b, 0x84a9, 0x84af,\n    0x84a8, 0x84d6, 0x8498, 0x84b6, 0x84cf, 0x84a0, 0x84d7, 0x84d4,\n    0x84d2, 0x84db, 0x84b0, 0x8491, 0x8661, 0x8733, 0x8723, 0x8728,\n    0x876b, 0x8740, 0x872e, 0x871e, 0x8721, 0x8719, 0x871b, 0x8743,\n    0x872c, 0x8741, 0x873e, 0x8746, 0x8720, 0x8732, 0x872a, 0x872d,\n    0x873c, 0x8712, 0x873a, 0x8731, 0x8735, 0x8742, 0x8726, 0x8727,\n    0x8738, 0x8724, 0x871a, 0x8730, 0x8711, 0x88f7, 0x88e7, 0x88f1,\n    0x88f2, 0x88fa, 0x88fe, 0x88ee, 0x88fc, 0x88f6, 0x88fb, 0x003f,\n    /* lead byte e4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x88f0, 0x88ec, 0x88eb, 0x899d, 0x89a1, 0x899f, 0x899e, 0x89e9,\n    0x89eb, 0x89e8, 0x8aab, 0x8a99, 0x8a8b, 0x8a92, 0x8a8f, 0x8a96,\n    0x8c3d, 0x8c68, 0x8c69, 0x8cd5, 0x8ccf, 0x8cd7, 0x8d96, 0x8e09,\n    0x8e02, 0x8dff, 0x8e0d, 0x8dfd, 0x8e0a, 0x8e03, 0x8e07, 0x8e06,\n    0x8e05, 0x8dfe, 0x8e00, 0x8e04, 0x8f10, 0x8f11, 0x8f0e, 0x8f0d,\n    0x9123, 0x911c, 0x9120, 0x9122, 0x911f, 0x911d, 0x911a, 0x9124,\n    0x9121, 0x911b, 0x917a, 0x9172, 0x9179, 0x9173, 0x92a5, 0x92a4,\n    0x9276, 0x929b, 0x927a, 0x92a0, 0x9294, 0x92aa, 0x928d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x92a6, 0x929a, 0x92ab, 0x9279, 0x9297, 0x927f, 0x92a3,\n    0x92ee, 0x928e, 0x9282, 0x9295, 0x92a2, 0x927d, 0x9288, 0x92a1,\n    0x928a, 0x9286, 0x928c, 0x9299, 0x92a7, 0x927e, 0x9287, 0x92a9,\n    0x929d, 0x928b, 0x922d, 0x969e, 0x96a1, 0x96ff, 0x9758, 0x977d,\n    0x977a, 0x977e, 0x9783, 0x9780, 0x9782, 0x977b, 0x9784, 0x9781,\n    0x977f, 0x97ce, 0x97cd, 0x9816, 0x98ad, 0x98ae, 0x9902, 0x9900,\n    0x9907, 0x999d, 0x999c, 0x99c3, 0x99b9, 0x99bb, 0x99ba, 0x99c2,\n    0x99bd, 0x99c7, 0x9ab1, 0x9ae3, 0x9ae7, 0x9b3e, 0x9b3f, 0x9b60,\n    0x9b61, 0x9b5f, 0x9cf1, 0x9cf2, 0x9cf5, 0x9ea7, 0x50ff, 0x5103,\n    0x5130, 0x50f8, 0x5106, 0x5107, 0x50f6, 0x50fe, 0x510b, 0x510c,\n    0x50fd, 0x510a, 0x528b, 0x528c, 0x52f1, 0x52ef, 0x5648, 0x5642,\n    0x564c, 0x5635, 0x5641, 0x564a, 0x5649, 0x5646, 0x5658, 0x003f,\n    /* lead byte e5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x565a, 0x5640, 0x5633, 0x563d, 0x562c, 0x563e, 0x5638, 0x562a,\n    0x563a, 0x571a, 0x58ab, 0x589d, 0x58b1, 0x58a0, 0x58a3, 0x58af,\n    0x58ac, 0x58a5, 0x58a1, 0x58ff, 0x5aff, 0x5af4, 0x5afd, 0x5af7,\n    0x5af6, 0x5b03, 0x5af8, 0x5b02, 0x5af9, 0x5b01, 0x5b07, 0x5b05,\n    0x5b0f, 0x5c67, 0x5d99, 0x5d97, 0x5d9f, 0x5d92, 0x5da2, 0x5d93,\n    0x5d95, 0x5da0, 0x5d9c, 0x5da1, 0x5d9a, 0x5d9e, 0x5e69, 0x5e5d,\n    0x5e60, 0x5e5c, 0x7df3, 0x5edb, 0x5ede, 0x5ee1, 0x5f49, 0x5fb2,\n    0x618b, 0x6183, 0x6179, 0x61b1, 0x61b0, 0x61a2, 0x6189, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x619b, 0x6193, 0x61af, 0x61ad, 0x619f, 0x6192, 0x61aa,\n    0x61a1, 0x618d, 0x6166, 0x61b3, 0x622d, 0x646e, 0x6470, 0x6496,\n    0x64a0, 0x6485, 0x6497, 0x649c, 0x648f, 0x648b, 0x648a, 0x648c,\n    0x64a3, 0x649f, 0x6468, 0x64b1, 0x6498, 0x6576, 0x657a, 0x6579,\n    0x657b, 0x65b2, 0x65b3, 0x66b5, 0x66b0, 0x66a9, 0x66b2, 0x66b7,\n    0x66aa, 0x66af, 0x6a00, 0x6a06, 0x6a17, 0x69e5, 0x69f8, 0x6a15,\n    0x69f1, 0x69e4, 0x6a20, 0x69ff, 0x69ec, 0x69e2, 0x6a1b, 0x6a1d,\n    0x69fe, 0x6a27, 0x69f2, 0x69ee, 0x6a14, 0x69f7, 0x69e7, 0x6a40,\n    0x6a08, 0x69e6, 0x69fb, 0x6a0d, 0x69fc, 0x69eb, 0x6a09, 0x6a04,\n    0x6a18, 0x6a25, 0x6a0f, 0x69f6, 0x6a26, 0x6a07, 0x69f4, 0x6a16,\n    0x6b51, 0x6ba5, 0x6ba3, 0x6ba2, 0x6ba6, 0x6c01, 0x6c00, 0x6bff,\n    0x6c02, 0x6f41, 0x6f26, 0x6f7e, 0x6f87, 0x6fc6, 0x6f92, 0x003f,\n    /* lead byte e6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6f8d, 0x6f89, 0x6f8c, 0x6f62, 0x6f4f, 0x6f85, 0x6f5a, 0x6f96,\n    0x6f76, 0x6f6c, 0x6f82, 0x6f55, 0x6f72, 0x6f52, 0x6f50, 0x6f57,\n    0x6f94, 0x6f93, 0x6f5d, 0x6f00, 0x6f61, 0x6f6b, 0x6f7d, 0x6f67,\n    0x6f90, 0x6f53, 0x6f8b, 0x6f69, 0x6f7f, 0x6f95, 0x6f63, 0x6f77,\n    0x6f6a, 0x6f7b, 0x71b2, 0x71af, 0x719b, 0x71b0, 0x71a0, 0x719a,\n    0x71a9, 0x71b5, 0x719d, 0x71a5, 0x719e, 0x71a4, 0x71a1, 0x71aa,\n    0x719c, 0x71a7, 0x71b3, 0x7298, 0x729a, 0x7358, 0x7352, 0x735e,\n    0x735f, 0x7360, 0x735d, 0x735b, 0x7361, 0x735a, 0x7359, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7362, 0x7487, 0x7489, 0x748a, 0x7486, 0x7481, 0x747d,\n    0x7485, 0x7488, 0x747c, 0x7479, 0x7508, 0x7507, 0x757e, 0x7625,\n    0x761e, 0x7619, 0x761d, 0x761c, 0x7623, 0x761a, 0x7628, 0x761b,\n    0x769c, 0x769d, 0x769e, 0x769b, 0x778d, 0x778f, 0x7789, 0x7788,\n    0x78cd, 0x78bb, 0x78cf, 0x78cc, 0x78d1, 0x78ce, 0x78d4, 0x78c8,\n    0x78c3, 0x78c4, 0x78c9, 0x799a, 0x79a1, 0x79a0, 0x799c, 0x79a2,\n    0x799b, 0x6b76, 0x7a39, 0x7ab2, 0x7ab4, 0x7ab3, 0x7bb7, 0x7bcb,\n    0x7bbe, 0x7bac, 0x7bce, 0x7baf, 0x7bb9, 0x7bca, 0x7bb5, 0x7cc5,\n    0x7cc8, 0x7ccc, 0x7ccb, 0x7df7, 0x7ddb, 0x7dea, 0x7de7, 0x7dd7,\n    0x7de1, 0x7e03, 0x7dfa, 0x7de6, 0x7df6, 0x7df1, 0x7df0, 0x7dee,\n    0x7ddf, 0x7f76, 0x7fac, 0x7fb0, 0x7fad, 0x7fed, 0x7feb, 0x7fea,\n    0x7fec, 0x7fe6, 0x7fe8, 0x8064, 0x8067, 0x81a3, 0x819f, 0x003f,\n    /* lead byte e7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x819e, 0x8195, 0x81a2, 0x8199, 0x8197, 0x8216, 0x824f, 0x8253,\n    0x8252, 0x8250, 0x824e, 0x8251, 0x8524, 0x853b, 0x850f, 0x8500,\n    0x8529, 0x850e, 0x8509, 0x850d, 0x851f, 0x850a, 0x8527, 0x851c,\n    0x84fb, 0x852b, 0x84fa, 0x8508, 0x850c, 0x84f4, 0x852a, 0x84f2,\n    0x8515, 0x84f7, 0x84eb, 0x84f3, 0x84fc, 0x8512, 0x84ea, 0x84e9,\n    0x8516, 0x84fe, 0x8528, 0x851d, 0x852e, 0x8502, 0x84fd, 0x851e,\n    0x84f6, 0x8531, 0x8526, 0x84e7, 0x84e8, 0x84f0, 0x84ef, 0x84f9,\n    0x8518, 0x8520, 0x8530, 0x850b, 0x8519, 0x852f, 0x8662, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8756, 0x8763, 0x8764, 0x8777, 0x87e1, 0x8773, 0x8758,\n    0x8754, 0x875b, 0x8752, 0x8761, 0x875a, 0x8751, 0x875e, 0x876d,\n    0x876a, 0x8750, 0x874e, 0x875f, 0x875d, 0x876f, 0x876c, 0x877a,\n    0x876e, 0x875c, 0x8765, 0x874f, 0x877b, 0x8775, 0x8762, 0x8767,\n    0x8769, 0x885a, 0x8905, 0x890c, 0x8914, 0x890b, 0x8917, 0x8918,\n    0x8919, 0x8906, 0x8916, 0x8911, 0x890e, 0x8909, 0x89a2, 0x89a4,\n    0x89a3, 0x89ed, 0x89f0, 0x89ec, 0x8acf, 0x8ac6, 0x8ab8, 0x8ad3,\n    0x8ad1, 0x8ad4, 0x8ad5, 0x8abb, 0x8ad7, 0x8abe, 0x8ac0, 0x8ac5,\n    0x8ad8, 0x8ac3, 0x8aba, 0x8abd, 0x8ad9, 0x8c3e, 0x8c4d, 0x8c8f,\n    0x8ce5, 0x8cdf, 0x8cd9, 0x8ce8, 0x8cda, 0x8cdd, 0x8ce7, 0x8da0,\n    0x8d9c, 0x8da1, 0x8d9b, 0x8e20, 0x8e23, 0x8e25, 0x8e24, 0x8e2e,\n    0x8e15, 0x8e1b, 0x8e16, 0x8e11, 0x8e19, 0x8e26, 0x8e27, 0x003f,\n    /* lead byte e8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8e14, 0x8e12, 0x8e18, 0x8e13, 0x8e1c, 0x8e17, 0x8e1a, 0x8f2c,\n    0x8f24, 0x8f18, 0x8f1a, 0x8f20, 0x8f23, 0x8f16, 0x8f17, 0x9073,\n    0x9070, 0x906f, 0x9067, 0x906b, 0x912f, 0x912b, 0x9129, 0x912a,\n    0x9132, 0x9126, 0x912e, 0x9185, 0x9186, 0x918a, 0x9181, 0x9182,\n    0x9184, 0x9180, 0x92d0, 0x92c3, 0x92c4, 0x92c0, 0x92d9, 0x92b6,\n    0x92cf, 0x92f1, 0x92df, 0x92d8, 0x92e9, 0x92d7, 0x92dd, 0x92cc,\n    0x92ef, 0x92c2, 0x92e8, 0x92ca, 0x92c8, 0x92ce, 0x92e6, 0x92cd,\n    0x92d5, 0x92c9, 0x92e0, 0x92de, 0x92e7, 0x92d1, 0x92d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x92b5, 0x92e1, 0x92c6, 0x92b4, 0x957c, 0x95ac, 0x95ab,\n    0x95ae, 0x95b0, 0x96a4, 0x96a2, 0x96d3, 0x9705, 0x9708, 0x9702,\n    0x975a, 0x978a, 0x978e, 0x9788, 0x97d0, 0x97cf, 0x981e, 0x981d,\n    0x9826, 0x9829, 0x9828, 0x9820, 0x981b, 0x9827, 0x98b2, 0x9908,\n    0x98fa, 0x9911, 0x9914, 0x9916, 0x9917, 0x9915, 0x99dc, 0x99cd,\n    0x99cf, 0x99d3, 0x99d4, 0x99ce, 0x99c9, 0x99d6, 0x99d8, 0x99cb,\n    0x99d7, 0x99cc, 0x9ab3, 0x9aec, 0x9aeb, 0x9af3, 0x9af2, 0x9af1,\n    0x9b46, 0x9b43, 0x9b67, 0x9b74, 0x9b71, 0x9b66, 0x9b76, 0x9b75,\n    0x9b70, 0x9b68, 0x9b64, 0x9b6c, 0x9cfc, 0x9cfa, 0x9cfd, 0x9cff,\n    0x9cf7, 0x9d07, 0x9d00, 0x9cf9, 0x9cfb, 0x9d08, 0x9d05, 0x9d04,\n    0x9e83, 0x9ed3, 0x9f0f, 0x9f10, 0x511c, 0x5113, 0x5117, 0x511a,\n    0x5111, 0x51de, 0x5334, 0x53e1, 0x5670, 0x5660, 0x566e, 0x003f,\n    /* lead byte e9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5673, 0x5666, 0x5663, 0x566d, 0x5672, 0x565e, 0x5677, 0x571c,\n    0x571b, 0x58c8, 0x58bd, 0x58c9, 0x58bf, 0x58ba, 0x58c2, 0x58bc,\n    0x58c6, 0x5b17, 0x5b19, 0x5b1b, 0x5b21, 0x5b14, 0x5b13, 0x5b10,\n    0x5b16, 0x5b28, 0x5b1a, 0x5b20, 0x5b1e, 0x5bef, 0x5dac, 0x5db1,\n    0x5da9, 0x5da7, 0x5db5, 0x5db0, 0x5dae, 0x5daa, 0x5da8, 0x5db2,\n    0x5dad, 0x5daf, 0x5db4, 0x5e67, 0x5e68, 0x5e66, 0x5e6f, 0x5ee9,\n    0x5ee7, 0x5ee6, 0x5ee8, 0x5ee5, 0x5f4b, 0x5fbc, 0x619d, 0x61a8,\n    0x6196, 0x61c5, 0x61b4, 0x61c6, 0x61c1, 0x61cc, 0x61ba, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x61bf, 0x61b8, 0x618c, 0x64d7, 0x64d6, 0x64d0, 0x64cf,\n    0x64c9, 0x64bd, 0x6489, 0x64c3, 0x64db, 0x64f3, 0x64d9, 0x6533,\n    0x657f, 0x657c, 0x65a2, 0x66c8, 0x66be, 0x66c0, 0x66ca, 0x66cb,\n    0x66cf, 0x66bd, 0x66bb, 0x66ba, 0x66cc, 0x6723, 0x6a34, 0x6a66,\n    0x6a49, 0x6a67, 0x6a32, 0x6a68, 0x6a3e, 0x6a5d, 0x6a6d, 0x6a76,\n    0x6a5b, 0x6a51, 0x6a28, 0x6a5a, 0x6a3b, 0x6a3f, 0x6a41, 0x6a6a,\n    0x6a64, 0x6a50, 0x6a4f, 0x6a54, 0x6a6f, 0x6a69, 0x6a60, 0x6a3c,\n    0x6a5e, 0x6a56, 0x6a55, 0x6a4d, 0x6a4e, 0x6a46, 0x6b55, 0x6b54,\n    0x6b56, 0x6ba7, 0x6baa, 0x6bab, 0x6bc8, 0x6bc7, 0x6c04, 0x6c03,\n    0x6c06, 0x6fad, 0x6fcb, 0x6fa3, 0x6fc7, 0x6fbc, 0x6fce, 0x6fc8,\n    0x6f5e, 0x6fc4, 0x6fbd, 0x6f9e, 0x6fca, 0x6fa8, 0x7004, 0x6fa5,\n    0x6fae, 0x6fba, 0x6fac, 0x6faa, 0x6fcf, 0x6fbf, 0x6fb8, 0x003f,\n    /* lead byte ea */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6fa2, 0x6fc9, 0x6fab, 0x6fcd, 0x6faf, 0x6fb2, 0x6fb0, 0x71c5,\n    0x71c2, 0x71bf, 0x71b8, 0x71d6, 0x71c0, 0x71c1, 0x71cb, 0x71d4,\n    0x71ca, 0x71c7, 0x71cf, 0x71bd, 0x71d8, 0x71bc, 0x71c6, 0x71da,\n    0x71db, 0x729d, 0x729e, 0x7369, 0x7366, 0x7367, 0x736c, 0x7365,\n    0x736b, 0x736a, 0x747f, 0x749a, 0x74a0, 0x7494, 0x7492, 0x7495,\n    0x74a1, 0x750b, 0x7580, 0x762f, 0x762d, 0x7631, 0x763d, 0x7633,\n    0x763c, 0x7635, 0x7632, 0x7630, 0x76bb, 0x76e6, 0x779a, 0x779d,\n    0x77a1, 0x779c, 0x779b, 0x77a2, 0x77a3, 0x7795, 0x7799, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7797, 0x78dd, 0x78e9, 0x78e5, 0x78ea, 0x78de, 0x78e3,\n    0x78db, 0x78e1, 0x78e2, 0x78ed, 0x78df, 0x78e0, 0x79a4, 0x7a44,\n    0x7a48, 0x7a47, 0x7ab6, 0x7ab8, 0x7ab5, 0x7ab1, 0x7ab7, 0x7bde,\n    0x7be3, 0x7be7, 0x7bdd, 0x7bd5, 0x7be5, 0x7bda, 0x7be8, 0x7bf9,\n    0x7bd4, 0x7bea, 0x7be2, 0x7bdc, 0x7beb, 0x7bd8, 0x7bdf, 0x7cd2,\n    0x7cd4, 0x7cd7, 0x7cd0, 0x7cd1, 0x7e12, 0x7e21, 0x7e17, 0x7e0c,\n    0x7e1f, 0x7e20, 0x7e13, 0x7e0e, 0x7e1c, 0x7e15, 0x7e1a, 0x7e22,\n    0x7e0b, 0x7e0f, 0x7e16, 0x7e0d, 0x7e14, 0x7e25, 0x7e24, 0x7f43,\n    0x7f7b, 0x7f7c, 0x7f7a, 0x7fb1, 0x7fef, 0x802a, 0x8029, 0x806c,\n    0x81b1, 0x81a6, 0x81ae, 0x81b9, 0x81b5, 0x81ab, 0x81b0, 0x81ac,\n    0x81b4, 0x81b2, 0x81b7, 0x81a7, 0x81f2, 0x8255, 0x8256, 0x8257,\n    0x8556, 0x8545, 0x856b, 0x854d, 0x8553, 0x8561, 0x8558, 0x003f,\n    /* lead byte eb */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8540, 0x8546, 0x8564, 0x8541, 0x8562, 0x8544, 0x8551, 0x8547,\n    0x8563, 0x853e, 0x855b, 0x8571, 0x854e, 0x856e, 0x8575, 0x8555,\n    0x8567, 0x8560, 0x858c, 0x8566, 0x855d, 0x8554, 0x8565, 0x856c,\n    0x8663, 0x8665, 0x8664, 0x879b, 0x878f, 0x8797, 0x8793, 0x8792,\n    0x8788, 0x8781, 0x8796, 0x8798, 0x8779, 0x8787, 0x87a3, 0x8785,\n    0x8790, 0x8791, 0x879d, 0x8784, 0x8794, 0x879c, 0x879a, 0x8789,\n    0x891e, 0x8926, 0x8930, 0x892d, 0x892e, 0x8927, 0x8931, 0x8922,\n    0x8929, 0x8923, 0x892f, 0x892c, 0x891f, 0x89f1, 0x8ae0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8ae2, 0x8af2, 0x8af4, 0x8af5, 0x8add, 0x8b14, 0x8ae4,\n    0x8adf, 0x8af0, 0x8ac8, 0x8ade, 0x8ae1, 0x8ae8, 0x8aff, 0x8aef,\n    0x8afb, 0x8c91, 0x8c92, 0x8c90, 0x8cf5, 0x8cee, 0x8cf1, 0x8cf0,\n    0x8cf3, 0x8d6c, 0x8d6e, 0x8da5, 0x8da7, 0x8e33, 0x8e3e, 0x8e38,\n    0x8e40, 0x8e45, 0x8e36, 0x8e3c, 0x8e3d, 0x8e41, 0x8e30, 0x8e3f,\n    0x8ebd, 0x8f36, 0x8f2e, 0x8f35, 0x8f32, 0x8f39, 0x8f37, 0x8f34,\n    0x9076, 0x9079, 0x907b, 0x9086, 0x90fa, 0x9133, 0x9135, 0x9136,\n    0x9193, 0x9190, 0x9191, 0x918d, 0x918f, 0x9327, 0x931e, 0x9308,\n    0x931f, 0x9306, 0x930f, 0x937a, 0x9338, 0x933c, 0x931b, 0x9323,\n    0x9312, 0x9301, 0x9346, 0x932d, 0x930e, 0x930d, 0x92cb, 0x931d,\n    0x92fa, 0x9325, 0x9313, 0x92f9, 0x92f7, 0x9334, 0x9302, 0x9324,\n    0x92ff, 0x9329, 0x9339, 0x9335, 0x932a, 0x9314, 0x930c, 0x003f,\n    /* lead byte ec */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x930b, 0x92fe, 0x9309, 0x9300, 0x92fb, 0x9316, 0x95bc, 0x95cd,\n    0x95be, 0x95b9, 0x95ba, 0x95b6, 0x95bf, 0x95b5, 0x95bd, 0x96a9,\n    0x96d4, 0x970b, 0x9712, 0x9710, 0x9799, 0x9797, 0x9794, 0x97f0,\n    0x97f8, 0x9835, 0x982f, 0x9832, 0x9924, 0x991f, 0x9927, 0x9929,\n    0x999e, 0x99ee, 0x99ec, 0x99e5, 0x99e4, 0x99f0, 0x99e3, 0x99ea,\n    0x99e9, 0x99e7, 0x9ab9, 0x9abf, 0x9ab4, 0x9abb, 0x9af6, 0x9afa,\n    0x9af9, 0x9af7, 0x9b33, 0x9b80, 0x9b85, 0x9b87, 0x9b7c, 0x9b7e,\n    0x9b7b, 0x9b82, 0x9b93, 0x9b92, 0x9b90, 0x9b7a, 0x9b95, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9b7d, 0x9b88, 0x9d25, 0x9d17, 0x9d20, 0x9d1e, 0x9d14,\n    0x9d29, 0x9d1d, 0x9d18, 0x9d22, 0x9d10, 0x9d19, 0x9d1f, 0x9e88,\n    0x9e86, 0x9e87, 0x9eae, 0x9ead, 0x9ed5, 0x9ed6, 0x9efa, 0x9f12,\n    0x9f3d, 0x5126, 0x5125, 0x5122, 0x5124, 0x5120, 0x5129, 0x52f4,\n    0x5693, 0x568c, 0x568d, 0x5686, 0x5684, 0x5683, 0x567e, 0x5682,\n    0x567f, 0x5681, 0x58d6, 0x58d4, 0x58cf, 0x58d2, 0x5b2d, 0x5b25,\n    0x5b32, 0x5b23, 0x5b2c, 0x5b27, 0x5b26, 0x5b2f, 0x5b2e, 0x5b7b,\n    0x5bf1, 0x5bf2, 0x5db7, 0x5e6c, 0x5e6a, 0x5fbe, 0x5fbb, 0x61c3,\n    0x61b5, 0x61bc, 0x61e7, 0x61e0, 0x61e5, 0x61e4, 0x61e8, 0x61de,\n    0x64ef, 0x64e9, 0x64e3, 0x64eb, 0x64e4, 0x64e8, 0x6581, 0x6580,\n    0x65b6, 0x65da, 0x66d2, 0x6a8d, 0x6a96, 0x6a81, 0x6aa5, 0x6a89,\n    0x6a9f, 0x6a9b, 0x6aa1, 0x6a9e, 0x6a87, 0x6a93, 0x6a8e, 0x003f,\n    /* lead byte ed */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x6a95, 0x6a83, 0x6aa8, 0x6aa4, 0x6a91, 0x6a7f, 0x6aa6, 0x6a9a,\n    0x6a85, 0x6a8c, 0x6a92, 0x6b5b, 0x6bad, 0x6c09, 0x6fcc, 0x6fa9,\n    0x6ff4, 0x6fd4, 0x6fe3, 0x6fdc, 0x6fed, 0x6fe7, 0x6fe6, 0x6fde,\n    0x6ff2, 0x6fdd, 0x6fe2, 0x6fe8, 0x71e1, 0x71f1, 0x71e8, 0x71f2,\n    0x71e4, 0x71f0, 0x71e2, 0x7373, 0x736e, 0x736f, 0x7497, 0x74b2,\n    0x74ab, 0x7490, 0x74aa, 0x74ad, 0x74b1, 0x74a5, 0x74af, 0x7510,\n    0x7511, 0x7512, 0x750f, 0x7584, 0x7643, 0x7648, 0x7649, 0x7647,\n    0x76a4, 0x76e9, 0x77b5, 0x77ab, 0x77b2, 0x77b7, 0x77b6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x77b4, 0x77b1, 0x77a8, 0x77f0, 0x78f3, 0x78fd, 0x7902,\n    0x78fb, 0x78fc, 0x78f2, 0x7905, 0x78f9, 0x78fe, 0x7904, 0x79ab,\n    0x79a8, 0x7a5c, 0x7a5b, 0x7a56, 0x7a58, 0x7a54, 0x7a5a, 0x7abe,\n    0x7ac0, 0x7ac1, 0x7c05, 0x7c0f, 0x7bf2, 0x7c00, 0x7bff, 0x7bfb,\n    0x7c0e, 0x7bf4, 0x7c0b, 0x7bf3, 0x7c02, 0x7c09, 0x7c03, 0x7c01,\n    0x7bf8, 0x7bfd, 0x7c06, 0x7bf0, 0x7bf1, 0x7c10, 0x7c0a, 0x7ce8,\n    0x7e2d, 0x7e3c, 0x7e42, 0x7e33, 0x9848, 0x7e38, 0x7e2a, 0x7e49,\n    0x7e40, 0x7e47, 0x7e29, 0x7e4c, 0x7e30, 0x7e3b, 0x7e36, 0x7e44,\n    0x7e3a, 0x7f45, 0x7f7f, 0x7f7e, 0x7f7d, 0x7ff4, 0x7ff2, 0x802c,\n    0x81bb, 0x81c4, 0x81cc, 0x81ca, 0x81c5, 0x81c7, 0x81bc, 0x81e9,\n    0x825b, 0x825a, 0x825c, 0x8583, 0x8580, 0x858f, 0x85a7, 0x8595,\n    0x85a0, 0x858b, 0x85a3, 0x857b, 0x85a4, 0x859a, 0x859e, 0x003f,\n    /* lead byte ee */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8577, 0x857c, 0x8589, 0x85a1, 0x857a, 0x8578, 0x8557, 0x858e,\n    0x8596, 0x8586, 0x858d, 0x8599, 0x859d, 0x8581, 0x85a2, 0x8582,\n    0x8588, 0x8585, 0x8579, 0x8576, 0x8598, 0x8590, 0x859f, 0x8668,\n    0x87be, 0x87aa, 0x87ad, 0x87c5, 0x87b0, 0x87ac, 0x87b9, 0x87b5,\n    0x87bc, 0x87ae, 0x87c9, 0x87c3, 0x87c2, 0x87cc, 0x87b7, 0x87af,\n    0x87c4, 0x87ca, 0x87b4, 0x87b6, 0x87bf, 0x87b8, 0x87bd, 0x87de,\n    0x87b2, 0x8935, 0x8933, 0x893c, 0x893e, 0x8941, 0x8952, 0x8937,\n    0x8942, 0x89ad, 0x89af, 0x89ae, 0x89f2, 0x89f3, 0x8b1e, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x8b18, 0x8b16, 0x8b11, 0x8b05, 0x8b0b, 0x8b22, 0x8b0f,\n    0x8b12, 0x8b15, 0x8b07, 0x8b0d, 0x8b08, 0x8b06, 0x8b1c, 0x8b13,\n    0x8b1a, 0x8c4f, 0x8c70, 0x8c72, 0x8c71, 0x8c6f, 0x8c95, 0x8c94,\n    0x8cf9, 0x8d6f, 0x8e4e, 0x8e4d, 0x8e53, 0x8e50, 0x8e4c, 0x8e47,\n    0x8f43, 0x8f40, 0x9085, 0x907e, 0x9138, 0x919a, 0x91a2, 0x919b,\n    0x9199, 0x919f, 0x91a1, 0x919d, 0x91a0, 0x93a1, 0x9383, 0x93af,\n    0x9364, 0x9356, 0x9347, 0x937c, 0x9358, 0x935c, 0x9376, 0x9349,\n    0x9350, 0x9351, 0x9360, 0x936d, 0x938f, 0x934c, 0x936a, 0x9379,\n    0x9357, 0x9355, 0x9352, 0x934f, 0x9371, 0x9377, 0x937b, 0x9361,\n    0x935e, 0x9363, 0x9367, 0x9380, 0x934e, 0x9359, 0x95c7, 0x95c0,\n    0x95c9, 0x95c3, 0x95c5, 0x95b7, 0x96ae, 0x96b0, 0x96ac, 0x9720,\n    0x971f, 0x9718, 0x971d, 0x9719, 0x979a, 0x97a1, 0x979c, 0x003f,\n    /* lead byte ef */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x979e, 0x979d, 0x97d5, 0x97d4, 0x97f1, 0x9841, 0x9844, 0x984a,\n    0x9849, 0x9845, 0x9843, 0x9925, 0x992b, 0x992c, 0x992a, 0x9933,\n    0x9932, 0x992f, 0x992d, 0x9931, 0x9930, 0x9998, 0x99a3, 0x99a1,\n    0x9a02, 0x99fa, 0x99f4, 0x99f7, 0x99f9, 0x99f8, 0x99f6, 0x99fb,\n    0x99fd, 0x99fe, 0x99fc, 0x9a03, 0x9abe, 0x9afe, 0x9afd, 0x9b01,\n    0x9afc, 0x9b48, 0x9b9a, 0x9ba8, 0x9b9e, 0x9b9b, 0x9ba6, 0x9ba1,\n    0x9ba5, 0x9ba4, 0x9b86, 0x9ba2, 0x9ba0, 0x9baf, 0x9d33, 0x9d41,\n    0x9d67, 0x9d36, 0x9d2e, 0x9d2f, 0x9d31, 0x9d38, 0x9d30, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9d45, 0x9d42, 0x9d43, 0x9d3e, 0x9d37, 0x9d40, 0x9d3d,\n    0x7ff5, 0x9d2d, 0x9e8a, 0x9e89, 0x9e8d, 0x9eb0, 0x9ec8, 0x9eda,\n    0x9efb, 0x9eff, 0x9f24, 0x9f23, 0x9f22, 0x9f54, 0x9fa0, 0x5131,\n    0x512d, 0x512e, 0x5698, 0x569c, 0x5697, 0x569a, 0x569d, 0x5699,\n    0x5970, 0x5b3c, 0x5c69, 0x5c6a, 0x5dc0, 0x5e6d, 0x5e6e, 0x61d8,\n    0x61df, 0x61ed, 0x61ee, 0x61f1, 0x61ea, 0x61f0, 0x61eb, 0x61d6,\n    0x61e9, 0x64ff, 0x6504, 0x64fd, 0x64f8, 0x6501, 0x6503, 0x64fc,\n    0x6594, 0x65db, 0x66da, 0x66db, 0x66d8, 0x6ac5, 0x6ab9, 0x6abd,\n    0x6ae1, 0x6ac6, 0x6aba, 0x6ab6, 0x6ab7, 0x6ac7, 0x6ab4, 0x6aad,\n    0x6b5e, 0x6bc9, 0x6c0b, 0x7007, 0x700c, 0x700d, 0x7001, 0x7005,\n    0x7014, 0x700e, 0x6fff, 0x7000, 0x6ffb, 0x7026, 0x6ffc, 0x6ff7,\n    0x700a, 0x7201, 0x71ff, 0x71f9, 0x7203, 0x71fd, 0x7376, 0x003f,\n    /* lead byte f0 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x74b8, 0x74c0, 0x74b5, 0x74c1, 0x74be, 0x74b6, 0x74bb, 0x74c2,\n    0x7514, 0x7513, 0x765c, 0x7664, 0x7659, 0x7650, 0x7653, 0x7657,\n    0x765a, 0x76a6, 0x76bd, 0x76ec, 0x77c2, 0x77ba, 0x78ff, 0x790c,\n    0x7913, 0x7914, 0x7909, 0x7910, 0x7912, 0x7911, 0x79ad, 0x79ac,\n    0x7a5f, 0x7c1c, 0x7c29, 0x7c19, 0x7c20, 0x7c1f, 0x7c2d, 0x7c1d,\n    0x7c26, 0x7c28, 0x7c22, 0x7c25, 0x7c30, 0x7e5c, 0x7e50, 0x7e56,\n    0x7e63, 0x7e58, 0x7e62, 0x7e5f, 0x7e51, 0x7e60, 0x7e57, 0x7e53,\n    0x7fb5, 0x7fb3, 0x7ff7, 0x7ff8, 0x8075, 0x81d1, 0x81d2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x81d0, 0x825f, 0x825e, 0x85b4, 0x85c6, 0x85c0, 0x85c3,\n    0x85c2, 0x85b3, 0x85b5, 0x85bd, 0x85c7, 0x85c4, 0x85bf, 0x85cb,\n    0x85ce, 0x85c8, 0x85c5, 0x85b1, 0x85b6, 0x85d2, 0x8624, 0x85b8,\n    0x85b7, 0x85be, 0x8669, 0x87e7, 0x87e6, 0x87e2, 0x87db, 0x87eb,\n    0x87ea, 0x87e5, 0x87df, 0x87f3, 0x87e4, 0x87d4, 0x87dc, 0x87d3,\n    0x87ed, 0x87d8, 0x87e3, 0x87a4, 0x87d7, 0x87d9, 0x8801, 0x87f4,\n    0x87e8, 0x87dd, 0x8953, 0x894b, 0x894f, 0x894c, 0x8946, 0x8950,\n    0x8951, 0x8949, 0x8b2a, 0x8b27, 0x8b23, 0x8b33, 0x8b30, 0x8b35,\n    0x8b47, 0x8b2f, 0x8b3c, 0x8b3e, 0x8b31, 0x8b25, 0x8b37, 0x8b26,\n    0x8b36, 0x8b2e, 0x8b24, 0x8b3b, 0x8b3d, 0x8b3a, 0x8c42, 0x8c75,\n    0x8c99, 0x8c98, 0x8c97, 0x8cfe, 0x8d04, 0x8d02, 0x8d00, 0x8e5c,\n    0x8e62, 0x8e60, 0x8e57, 0x8e56, 0x8e5e, 0x8e65, 0x8e67, 0x003f,\n    /* lead byte f1 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8e5b, 0x8e5a, 0x8e61, 0x8e5d, 0x8e69, 0x8e54, 0x8f46, 0x8f47,\n    0x8f48, 0x8f4b, 0x9128, 0x913a, 0x913b, 0x913e, 0x91a8, 0x91a5,\n    0x91a7, 0x91af, 0x91aa, 0x93b5, 0x938c, 0x9392, 0x93b7, 0x939b,\n    0x939d, 0x9389, 0x93a7, 0x938e, 0x93aa, 0x939e, 0x93a6, 0x9395,\n    0x9388, 0x9399, 0x939f, 0x938d, 0x93b1, 0x9391, 0x93b2, 0x93a4,\n    0x93a8, 0x93b4, 0x93a3, 0x93a5, 0x95d2, 0x95d3, 0x95d1, 0x96b3,\n    0x96d7, 0x96da, 0x5dc2, 0x96df, 0x96d8, 0x96dd, 0x9723, 0x9722,\n    0x9725, 0x97ac, 0x97ae, 0x97a8, 0x97ab, 0x97a4, 0x97aa, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x97a2, 0x97a5, 0x97d7, 0x97d9, 0x97d6, 0x97d8, 0x97fa,\n    0x9850, 0x9851, 0x9852, 0x98b8, 0x9941, 0x993c, 0x993a, 0x9a0f,\n    0x9a0b, 0x9a09, 0x9a0d, 0x9a04, 0x9a11, 0x9a0a, 0x9a05, 0x9a07,\n    0x9a06, 0x9ac0, 0x9adc, 0x9b08, 0x9b04, 0x9b05, 0x9b29, 0x9b35,\n    0x9b4a, 0x9b4c, 0x9b4b, 0x9bc7, 0x9bc6, 0x9bc3, 0x9bbf, 0x9bc1,\n    0x9bb5, 0x9bb8, 0x9bd3, 0x9bb6, 0x9bc4, 0x9bb9, 0x9bbd, 0x9d5c,\n    0x9d53, 0x9d4f, 0x9d4a, 0x9d5b, 0x9d4b, 0x9d59, 0x9d56, 0x9d4c,\n    0x9d57, 0x9d52, 0x9d54, 0x9d5f, 0x9d58, 0x9d5a, 0x9e8e, 0x9e8c,\n    0x9edf, 0x9f01, 0x9f00, 0x9f16, 0x9f25, 0x9f2b, 0x9f2a, 0x9f29,\n    0x9f28, 0x9f4c, 0x9f55, 0x5134, 0x5135, 0x5296, 0x52f7, 0x53b4,\n    0x56ab, 0x56ad, 0x56a6, 0x56a7, 0x56aa, 0x56ac, 0x58da, 0x58dd,\n    0x58db, 0x5912, 0x5b3d, 0x5b3e, 0x5b3f, 0x5dc3, 0x5e70, 0x003f,\n    /* lead byte f2 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x5fbf, 0x61fb, 0x6507, 0x6510, 0x650d, 0x6509, 0x650c, 0x650e,\n    0x6584, 0x65de, 0x65dd, 0x66de, 0x6ae7, 0x6ae0, 0x6acc, 0x6ad1,\n    0x6ad9, 0x6acb, 0x6adf, 0x6adc, 0x6ad0, 0x6aeb, 0x6acf, 0x6acd,\n    0x6ade, 0x6b60, 0x6bb0, 0x6c0c, 0x7019, 0x7027, 0x7020, 0x7016,\n    0x702b, 0x7021, 0x7022, 0x7023, 0x7029, 0x7017, 0x7024, 0x701c,\n    0x702a, 0x720c, 0x720a, 0x7207, 0x7202, 0x7205, 0x72a5, 0x72a6,\n    0x72a4, 0x72a3, 0x72a1, 0x74cb, 0x74c5, 0x74b7, 0x74c3, 0x7516,\n    0x7660, 0x77c9, 0x77ca, 0x77c4, 0x77f1, 0x791d, 0x791b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x7921, 0x791c, 0x7917, 0x791e, 0x79b0, 0x7a67, 0x7a68,\n    0x7c33, 0x7c3c, 0x7c39, 0x7c2c, 0x7c3b, 0x7cec, 0x7cea, 0x7e76,\n    0x7e75, 0x7e78, 0x7e70, 0x7e77, 0x7e6f, 0x7e7a, 0x7e72, 0x7e74,\n    0x7e68, 0x7f4b, 0x7f4a, 0x7f83, 0x7f86, 0x7fb7, 0x7ffd, 0x7ffe,\n    0x8078, 0x81d7, 0x81d5, 0x8264, 0x8261, 0x8263, 0x85eb, 0x85f1,\n    0x85ed, 0x85d9, 0x85e1, 0x85e8, 0x85da, 0x85d7, 0x85ec, 0x85f2,\n    0x85f8, 0x85d8, 0x85df, 0x85e3, 0x85dc, 0x85d1, 0x85f0, 0x85e6,\n    0x85ef, 0x85de, 0x85e2, 0x8800, 0x87fa, 0x8803, 0x87f6, 0x87f7,\n    0x8809, 0x880c, 0x880b, 0x8806, 0x87fc, 0x8808, 0x87ff, 0x880a,\n    0x8802, 0x8962, 0x895a, 0x895b, 0x8957, 0x8961, 0x895c, 0x8958,\n    0x895d, 0x8959, 0x8988, 0x89b7, 0x89b6, 0x89f6, 0x8b50, 0x8b48,\n    0x8b4a, 0x8b40, 0x8b53, 0x8b56, 0x8b54, 0x8b4b, 0x8b55, 0x003f,\n    /* lead byte f3 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b51, 0x8b42, 0x8b52, 0x8b57, 0x8c43, 0x8c77, 0x8c76, 0x8c9a,\n    0x8d06, 0x8d07, 0x8d09, 0x8dac, 0x8daa, 0x8dad, 0x8dab, 0x8e6d,\n    0x8e78, 0x8e73, 0x8e6a, 0x8e6f, 0x8e7b, 0x8ec2, 0x8f52, 0x8f51,\n    0x8f4f, 0x8f50, 0x8f53, 0x8fb4, 0x9140, 0x913f, 0x91b0, 0x91ad,\n    0x93de, 0x93c7, 0x93cf, 0x93c2, 0x93da, 0x93d0, 0x93f9, 0x93ec,\n    0x93cc, 0x93d9, 0x93a9, 0x93e6, 0x93ca, 0x93d4, 0x93ee, 0x93e3,\n    0x93d5, 0x93c4, 0x93ce, 0x93c0, 0x93d2, 0x93e7, 0x957d, 0x95da,\n    0x95db, 0x96e1, 0x9729, 0x972b, 0x972c, 0x9728, 0x9726, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x97b3, 0x97b7, 0x97b6, 0x97dd, 0x97de, 0x97df, 0x985c,\n    0x9859, 0x985d, 0x9857, 0x98bf, 0x98bd, 0x98bb, 0x98be, 0x9948,\n    0x9947, 0x9943, 0x99a6, 0x99a7, 0x9a1a, 0x9a15, 0x9a25, 0x9a1d,\n    0x9a24, 0x9a1b, 0x9a22, 0x9a20, 0x9a27, 0x9a23, 0x9a1e, 0x9a1c,\n    0x9a14, 0x9ac2, 0x9b0b, 0x9b0a, 0x9b0e, 0x9b0c, 0x9b37, 0x9bea,\n    0x9beb, 0x9be0, 0x9bde, 0x9be4, 0x9be6, 0x9be2, 0x9bf0, 0x9bd4,\n    0x9bd7, 0x9bec, 0x9bdc, 0x9bd9, 0x9be5, 0x9bd5, 0x9be1, 0x9bda,\n    0x9d77, 0x9d81, 0x9d8a, 0x9d84, 0x9d88, 0x9d71, 0x9d80, 0x9d78,\n    0x9d86, 0x9d8b, 0x9d8c, 0x9d7d, 0x9d6b, 0x9d74, 0x9d75, 0x9d70,\n    0x9d69, 0x9d85, 0x9d73, 0x9d7b, 0x9d82, 0x9d6f, 0x9d79, 0x9d7f,\n    0x9d87, 0x9d68, 0x9e94, 0x9e91, 0x9ec0, 0x9efc, 0x9f2d, 0x9f40,\n    0x9f41, 0x9f4d, 0x9f56, 0x9f57, 0x9f58, 0x5337, 0x56b2, 0x003f,\n    /* lead byte f4 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x56b5, 0x56b3, 0x58e3, 0x5b45, 0x5dc6, 0x5dc7, 0x5eee, 0x5eef,\n    0x5fc0, 0x5fc1, 0x61f9, 0x6517, 0x6516, 0x6515, 0x6513, 0x65df,\n    0x66e8, 0x66e3, 0x66e4, 0x6af3, 0x6af0, 0x6aea, 0x6ae8, 0x6af9,\n    0x6af1, 0x6aee, 0x6aef, 0x703c, 0x7035, 0x702f, 0x7037, 0x7034,\n    0x7031, 0x7042, 0x7038, 0x703f, 0x703a, 0x7039, 0x7040, 0x703b,\n    0x7033, 0x7041, 0x7213, 0x7214, 0x72a8, 0x737d, 0x737c, 0x74ba,\n    0x76ab, 0x76aa, 0x76be, 0x76ed, 0x77cc, 0x77ce, 0x77cf, 0x77cd,\n    0x77f2, 0x7925, 0x7923, 0x7927, 0x7928, 0x7924, 0x7929, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x79b2, 0x7a6e, 0x7a6c, 0x7a6d, 0x7af7, 0x7c49, 0x7c48,\n    0x7c4a, 0x7c47, 0x7c45, 0x7cee, 0x7e7b, 0x7e7e, 0x7e81, 0x7e80,\n    0x7fba, 0x7fff, 0x8079, 0x81db, 0x81d9, 0x820b, 0x8268, 0x8269,\n    0x8622, 0x85ff, 0x8601, 0x85fe, 0x861b, 0x8600, 0x85f6, 0x8604,\n    0x8609, 0x8605, 0x860c, 0x85fd, 0x8819, 0x8810, 0x8811, 0x8817,\n    0x8813, 0x8816, 0x8963, 0x8966, 0x89b9, 0x89f7, 0x8b60, 0x8b6a,\n    0x8b5d, 0x8b68, 0x8b63, 0x8b65, 0x8b67, 0x8b6d, 0x8dae, 0x8e86,\n    0x8e88, 0x8e84, 0x8f59, 0x8f56, 0x8f57, 0x8f55, 0x8f58, 0x8f5a,\n    0x908d, 0x9143, 0x9141, 0x91b7, 0x91b5, 0x91b2, 0x91b3, 0x940b,\n    0x9413, 0x93fb, 0x9420, 0x940f, 0x9414, 0x93fe, 0x9415, 0x9410,\n    0x9428, 0x9419, 0x940d, 0x93f5, 0x9400, 0x93f7, 0x9407, 0x940e,\n    0x9416, 0x9412, 0x93fa, 0x9409, 0x93f8, 0x940a, 0x93ff, 0x003f,\n    /* lead byte f5 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x93fc, 0x940c, 0x93f6, 0x9411, 0x9406, 0x95de, 0x95e0, 0x95df,\n    0x972e, 0x972f, 0x97b9, 0x97bb, 0x97fd, 0x97fe, 0x9860, 0x9862,\n    0x9863, 0x985f, 0x98c1, 0x98c2, 0x9950, 0x994e, 0x9959, 0x994c,\n    0x994b, 0x9953, 0x9a32, 0x9a34, 0x9a31, 0x9a2c, 0x9a2a, 0x9a36,\n    0x9a29, 0x9a2e, 0x9a38, 0x9a2d, 0x9ac7, 0x9aca, 0x9ac6, 0x9b10,\n    0x9b12, 0x9b11, 0x9c0b, 0x9c08, 0x9bf7, 0x9c05, 0x9c12, 0x9bf8,\n    0x9c40, 0x9c07, 0x9c0e, 0x9c06, 0x9c17, 0x9c14, 0x9c09, 0x9d9f,\n    0x9d99, 0x9da4, 0x9d9d, 0x9d92, 0x9d98, 0x9d90, 0x9d9b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9da0, 0x9d94, 0x9d9c, 0x9daa, 0x9d97, 0x9da1, 0x9d9a,\n    0x9da2, 0x9da8, 0x9d9e, 0x9da3, 0x9dbf, 0x9da9, 0x9d96, 0x9da6,\n    0x9da7, 0x9e99, 0x9e9b, 0x9e9a, 0x9ee5, 0x9ee4, 0x9ee7, 0x9ee6,\n    0x9f30, 0x9f2e, 0x9f5b, 0x9f60, 0x9f5e, 0x9f5d, 0x9f59, 0x9f91,\n    0x513a, 0x5139, 0x5298, 0x5297, 0x56c3, 0x56bd, 0x56be, 0x5b48,\n    0x5b47, 0x5dcb, 0x5dcf, 0x5ef1, 0x61fd, 0x651b, 0x6b02, 0x6afc,\n    0x6b03, 0x6af8, 0x6b00, 0x7043, 0x7044, 0x704a, 0x7048, 0x7049,\n    0x7045, 0x7046, 0x721d, 0x721a, 0x7219, 0x737e, 0x7517, 0x766a,\n    0x77d0, 0x792d, 0x7931, 0x792f, 0x7c54, 0x7c53, 0x7cf2, 0x7e8a,\n    0x7e87, 0x7e88, 0x7e8b, 0x7e86, 0x7e8d, 0x7f4d, 0x7fbb, 0x8030,\n    0x81dd, 0x8618, 0x862a, 0x8626, 0x861f, 0x8623, 0x861c, 0x8619,\n    0x8627, 0x862e, 0x8621, 0x8620, 0x8629, 0x861e, 0x8625, 0x003f,\n    /* lead byte f6 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8829, 0x881d, 0x881b, 0x8820, 0x8824, 0x881c, 0x882b, 0x884a,\n    0x896d, 0x8969, 0x896e, 0x896b, 0x89fa, 0x8b79, 0x8b78, 0x8b45,\n    0x8b7a, 0x8b7b, 0x8d10, 0x8d14, 0x8daf, 0x8e8e, 0x8e8c, 0x8f5e,\n    0x8f5b, 0x8f5d, 0x9146, 0x9144, 0x9145, 0x91b9, 0x943f, 0x943b,\n    0x9436, 0x9429, 0x943d, 0x943c, 0x9430, 0x9439, 0x942a, 0x9437,\n    0x942c, 0x9440, 0x9431, 0x95e5, 0x95e4, 0x95e3, 0x9735, 0x973a,\n    0x97bf, 0x97e1, 0x9864, 0x98c9, 0x98c6, 0x98c0, 0x9958, 0x9956,\n    0x9a39, 0x9a3d, 0x9a46, 0x9a44, 0x9a42, 0x9a41, 0x9a3a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9a3f, 0x9acd, 0x9b15, 0x9b17, 0x9b18, 0x9b16, 0x9b3a,\n    0x9b52, 0x9c2b, 0x9c1d, 0x9c1c, 0x9c2c, 0x9c23, 0x9c28, 0x9c29,\n    0x9c24, 0x9c21, 0x9db7, 0x9db6, 0x9dbc, 0x9dc1, 0x9dc7, 0x9dca,\n    0x9dcf, 0x9dbe, 0x9dc5, 0x9dc3, 0x9dbb, 0x9db5, 0x9dce, 0x9db9,\n    0x9dba, 0x9dac, 0x9dc8, 0x9db1, 0x9dad, 0x9dcc, 0x9db3, 0x9dcd,\n    0x9db2, 0x9e7a, 0x9e9c, 0x9eeb, 0x9eee, 0x9eed, 0x9f1b, 0x9f18,\n    0x9f1a, 0x9f31, 0x9f4e, 0x9f65, 0x9f64, 0x9f92, 0x4eb9, 0x56c6,\n    0x56c5, 0x56cb, 0x5971, 0x5b4b, 0x5b4c, 0x5dd5, 0x5dd1, 0x5ef2,\n    0x6521, 0x6520, 0x6526, 0x6522, 0x6b0b, 0x6b08, 0x6b09, 0x6c0d,\n    0x7055, 0x7056, 0x7057, 0x7052, 0x721e, 0x721f, 0x72a9, 0x737f,\n    0x74d8, 0x74d5, 0x74d9, 0x74d7, 0x766d, 0x76ad, 0x7935, 0x79b4,\n    0x7a70, 0x7a71, 0x7c57, 0x7c5c, 0x7c59, 0x7c5b, 0x7c5a, 0x003f,\n    /* lead byte f7 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7cf4, 0x7cf1, 0x7e91, 0x7f4f, 0x7f87, 0x81de, 0x826b, 0x8634,\n    0x8635, 0x8633, 0x862c, 0x8632, 0x8636, 0x882c, 0x8828, 0x8826,\n    0x882a, 0x8825, 0x8971, 0x89bf, 0x89be, 0x89fb, 0x8b7e, 0x8b84,\n    0x8b82, 0x8b86, 0x8b85, 0x8b7f, 0x8d15, 0x8e95, 0x8e94, 0x8e9a,\n    0x8e92, 0x8e90, 0x8e96, 0x8e97, 0x8f60, 0x8f62, 0x9147, 0x944c,\n    0x9450, 0x944a, 0x944b, 0x944f, 0x9447, 0x9445, 0x9448, 0x9449,\n    0x9446, 0x973f, 0x97e3, 0x986a, 0x9869, 0x98cb, 0x9954, 0x995b,\n    0x9a4e, 0x9a53, 0x9a54, 0x9a4c, 0x9a4f, 0x9a48, 0x9a4a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9a49, 0x9a52, 0x9a50, 0x9ad0, 0x9b19, 0x9b2b, 0x9b3b,\n    0x9b56, 0x9b55, 0x9c46, 0x9c48, 0x9c3f, 0x9c44, 0x9c39, 0x9c33,\n    0x9c41, 0x9c3c, 0x9c37, 0x9c34, 0x9c32, 0x9c3d, 0x9c36, 0x9ddb,\n    0x9dd2, 0x9dde, 0x9dda, 0x9dcb, 0x9dd0, 0x9ddc, 0x9dd1, 0x9ddf,\n    0x9de9, 0x9dd9, 0x9dd8, 0x9dd6, 0x9df5, 0x9dd5, 0x9ddd, 0x9eb6,\n    0x9ef0, 0x9f35, 0x9f33, 0x9f32, 0x9f42, 0x9f6b, 0x9f95, 0x9fa2,\n    0x513d, 0x5299, 0x58e8, 0x58e7, 0x5972, 0x5b4d, 0x5dd8, 0x882f,\n    0x5f4f, 0x6201, 0x6203, 0x6204, 0x6529, 0x6525, 0x6596, 0x66eb,\n    0x6b11, 0x6b12, 0x6b0f, 0x6bca, 0x705b, 0x705a, 0x7222, 0x7382,\n    0x7381, 0x7383, 0x7670, 0x77d4, 0x7c67, 0x7c66, 0x7e95, 0x826c,\n    0x863a, 0x8640, 0x8639, 0x863c, 0x8631, 0x863b, 0x863e, 0x8830,\n    0x8832, 0x882e, 0x8833, 0x8976, 0x8974, 0x8973, 0x89fe, 0x003f,\n    /* lead byte f8 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x8b8c, 0x8b8e, 0x8b8b, 0x8b88, 0x8c45, 0x8d19, 0x8e98, 0x8f64,\n    0x8f63, 0x91bc, 0x9462, 0x9455, 0x945d, 0x9457, 0x945e, 0x97c4,\n    0x97c5, 0x9800, 0x9a56, 0x9a59, 0x9b1e, 0x9b1f, 0x9b20, 0x9c52,\n    0x9c58, 0x9c50, 0x9c4a, 0x9c4d, 0x9c4b, 0x9c55, 0x9c59, 0x9c4c,\n    0x9c4e, 0x9dfb, 0x9df7, 0x9def, 0x9de3, 0x9deb, 0x9df8, 0x9de4,\n    0x9df6, 0x9de1, 0x9dee, 0x9de6, 0x9df2, 0x9df0, 0x9de2, 0x9dec,\n    0x9df4, 0x9df3, 0x9de8, 0x9ded, 0x9ec2, 0x9ed0, 0x9ef2, 0x9ef3,\n    0x9f06, 0x9f1c, 0x9f38, 0x9f37, 0x9f36, 0x9f43, 0x9f4f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9f71, 0x9f70, 0x9f6e, 0x9f6f, 0x56d3, 0x56cd, 0x5b4e,\n    0x5c6d, 0x652d, 0x66ed, 0x66ee, 0x6b13, 0x705f, 0x7061, 0x705d,\n    0x7060, 0x7223, 0x74db, 0x74e5, 0x77d5, 0x7938, 0x79b7, 0x79b6,\n    0x7c6a, 0x7e97, 0x7f89, 0x826d, 0x8643, 0x8838, 0x8837, 0x8835,\n    0x884b, 0x8b94, 0x8b95, 0x8e9e, 0x8e9f, 0x8ea0, 0x8e9d, 0x91be,\n    0x91bd, 0x91c2, 0x946b, 0x9468, 0x9469, 0x96e5, 0x9746, 0x9743,\n    0x9747, 0x97c7, 0x97e5, 0x9a5e, 0x9ad5, 0x9b59, 0x9c63, 0x9c67,\n    0x9c66, 0x9c62, 0x9c5e, 0x9c60, 0x9e02, 0x9dfe, 0x9e07, 0x9e03,\n    0x9e06, 0x9e05, 0x9e00, 0x9e01, 0x9e09, 0x9dff, 0x9dfd, 0x9e04,\n    0x9ea0, 0x9f1e, 0x9f46, 0x9f74, 0x9f75, 0x9f76, 0x56d4, 0x652e,\n    0x65b8, 0x6b18, 0x6b19, 0x6b17, 0x6b1a, 0x7062, 0x7226, 0x72aa,\n    0x77d8, 0x77d9, 0x7939, 0x7c69, 0x7c6b, 0x7cf6, 0x7e9a, 0x003f,\n    /* lead byte f9 */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x7e98, 0x7e9b, 0x7e99, 0x81e0, 0x81e1, 0x8646, 0x8647, 0x8648,\n    0x8979, 0x897a, 0x897c, 0x897b, 0x89ff, 0x8b98, 0x8b99, 0x8ea5,\n    0x8ea4, 0x8ea3, 0x946e, 0x946d, 0x946f, 0x9471, 0x9473, 0x9749,\n    0x9872, 0x995f, 0x9c68, 0x9c6e, 0x9c6d, 0x9e0b, 0x9e0d, 0x9e10,\n    0x9e0f, 0x9e12, 0x9e11, 0x9ea1, 0x9ef5, 0x9f09, 0x9f47, 0x9f78,\n    0x9f7b, 0x9f7a, 0x9f79, 0x571e, 0x7066, 0x7c6f, 0x883c, 0x8db2,\n    0x8ea6, 0x91c3, 0x9474, 0x9478, 0x9476, 0x9475, 0x9a60, 0x9c74,\n    0x9c73, 0x9c71, 0x9c75, 0x9e14, 0x9e13, 0x9ef6, 0x9f0a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x9fa4, 0x7068, 0x7065, 0x7cf7, 0x866a, 0x883e, 0x883d,\n    0x883f, 0x8b9e, 0x8c9c, 0x8ea9, 0x8ec9, 0x974b, 0x9873, 0x9874,\n    0x98cc, 0x9961, 0x99ab, 0x9a64, 0x9a66, 0x9a67, 0x9b24, 0x9e15,\n    0x9e17, 0x9f48, 0x6207, 0x6b1e, 0x7227, 0x864c, 0x8ea8, 0x9482,\n    0x9480, 0x9481, 0x9a69, 0x9a68, 0x9b2e, 0x9e19, 0x7229, 0x864b,\n    0x8b9f, 0x9483, 0x9c79, 0x9eb7, 0x7675, 0x9a6b, 0x9c7a, 0x9e1d,\n    0x7069, 0x706a, 0x9ea4, 0x9f7e, 0x9f49, 0x9f98, 0x7881, 0x92b9,\n    0x88cf, 0x58bb, 0x6052, 0x7ca7, 0x5afa, 0x2554, 0x2566, 0x2557,\n    0x2560, 0x256c, 0x2563, 0x255a, 0x2569, 0x255d, 0x2552, 0x2564,\n    0x2555, 0x255e, 0x256a, 0x2561, 0x2558, 0x2567, 0x255b, 0x2553,\n    0x2565, 0x2556, 0x255f, 0x256b, 0x2562, 0x2559, 0x2568, 0x255c,\n    0x2551, 0x2550, 0x256d, 0x256e, 0x2570, 0x256f, 0x2593, 0x003f\n};\n\nstatic const unsigned char cp2uni_leadbytes[256] =\n{\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n    0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\n    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,\n    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,\n    0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,\n    0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,\n    0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x01,\n    0x01, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,\n    0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,\n    0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,\n    0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46,\n    0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,\n    0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,\n    0x57, 0x58, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00\n};\n\nstatic const unsigned short uni2cp_low[27392] =\n{\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,\n    0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,\n    0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,\n    0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,\n    0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,\n    0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,\n    0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,\n    0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,\n    0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,\n    0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f,\n    0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,\n    0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,\n    0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,\n    0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f,\n    0x0080, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0020, 0x0021, 0x0063, 0x004c, 0x003f, 0x0059, 0x003f, 0xa1b1,\n    0x0022, 0x0063, 0x0061, 0xa16d, 0x003f, 0x002d, 0x0072, 0xa1c2,\n    0xa258, 0xa1d3, 0x0032, 0x0033, 0xa3bd, 0xa367, 0x003f, 0xa150,\n    0x002c, 0x0031, 0x006f, 0xa16e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0041, 0x0043,\n    0x0045, 0x0045, 0x0045, 0x0045, 0x0049, 0x0049, 0x0049, 0x0049,\n    0x0044, 0x004e, 0x004f, 0x004f, 0x004f, 0x004f, 0x004f, 0xa1d1,\n    0x004f, 0x0055, 0x0055, 0x0055, 0x0055, 0x0059, 0x003f, 0xa35d,\n    0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0061, 0x0063,\n    0x0065, 0x0065, 0x0065, 0x0065, 0x0069, 0x0069, 0x0069, 0x0069,\n    0x0064, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0xa1d2,\n    0x006f, 0x0075, 0x0075, 0x0075, 0x0075, 0x0079, 0x003f, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0043, 0x0063,\n    0x0043, 0x0063, 0x0043, 0x0063, 0x0043, 0x0063, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x0047, 0x0067, 0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x0049, 0x0069, 0x003f, 0x003f, 0x004a, 0x006a, 0x004b, 0x006b,\n    0x003f, 0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x003f,\n    0x003f, 0x004c, 0x006c, 0x004e, 0x006e, 0x004e, 0x006e, 0x004e,\n    0x006e, 0x003f, 0x003f, 0x003f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0052, 0x0072, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0057, 0x0077, 0x0059, 0x0079,\n    0x0059, 0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0073,\n    0x0062, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0044, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0045, 0x0046, 0x0066, 0x003f, 0x003f, 0x003f, 0x003f, 0x0049,\n    0x003f, 0x003f, 0x006c, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f,\n    0x004f, 0x006f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x0074, 0x003f, 0x003f, 0x0054, 0x0055,\n    0x0075, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x007a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa278, 0x003f, 0x003f, 0x0021, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061, 0x0049,\n    0x0069, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055,\n    0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x003f, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0047, 0x0067, 0x0047, 0x0067,\n    0x004b, 0x006b, 0x004f, 0x006f, 0x004f, 0x006f, 0x003f, 0x003f,\n    0x006a, 0x003f, 0x003f, 0x003f, 0x0047, 0x0067, 0x003f, 0x003f,\n    0x004e, 0x006e, 0x0041, 0x0061, 0x0041, 0x0061, 0x004f, 0x006f,\n    /* 0x0200 .. 0x02ff */\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x003f, 0x003f, 0x0048, 0x0068,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0067, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0068, 0x003f, 0x006a, 0x0072, 0x003f, 0x003f, 0x003f, 0x0077,\n    0x0079, 0xa3bd, 0x0022, 0xa1a5, 0xa1a6, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x005e, 0xa3be,\n    0x0027, 0xa3bc, 0xa3bd, 0xa3bf, 0x003f, 0xa1c5, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa3bb, 0xa258, 0x003f, 0x007e, 0x0022, 0x003f, 0x003f,\n    0x003f, 0x006c, 0x0073, 0x0078, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x0300 .. 0x03ff */\n    0xa3bf, 0xa3bd, 0x005e, 0x007e, 0xa1c2, 0xa1c2, 0x003f, 0xa3bb,\n    0x0022, 0x003f, 0xa258, 0x0022, 0xa3be, 0x003f, 0x0022, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002c,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1c5, 0xa1c5, 0x005f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa3bf, 0xa3bd, 0x003f, 0x003f, 0x0022, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa3bd, 0x0022, 0xa344, 0xa150,\n    0xa348, 0xa34a, 0xa34c, 0x003f, 0xa352, 0x003f, 0xa357, 0xa35b,\n    0xa364, 0xa344, 0xa345, 0xa346, 0xa347, 0xa348, 0xa349, 0xa34a,\n    0xa34b, 0xa34c, 0xa34d, 0xa34e, 0xa34f, 0xa350, 0xa351, 0xa352,\n    0xa353, 0xa354, 0x003f, 0xa355, 0xa356, 0xa357, 0xa358, 0xa359,\n    0xa35a, 0xa35b, 0xa34c, 0xa357, 0xa35c, 0xa360, 0xa362, 0xa364,\n    0xa36f, 0xa35c, 0xa35d, 0xa35e, 0xa35f, 0xa360, 0xa361, 0xa362,\n    0xa363, 0xa364, 0xa365, 0xa366, 0xa367, 0xa368, 0xa369, 0xa36a,\n    0xa36b, 0xa36c, 0x003f, 0xa36d, 0xa36e, 0xa36f, 0xa370, 0xa371,\n    0xa372, 0xa373, 0xa364, 0xa36f, 0xa36a, 0xa36f, 0xa373, 0x003f,\n    0xa35d, 0xa363, 0xa357, 0xa357, 0xa357, 0xa370, 0xa36b, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa365, 0xa36c, 0x003f, 0x003f, 0xa34b, 0xa360, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1e00 .. 0x1eff */\n    0x0041, 0x0061, 0x0042, 0x0062, 0x0042, 0x0062, 0x0042, 0x0062,\n    0x0043, 0x0063, 0x0044, 0x0064, 0x0044, 0x0064, 0x0044, 0x0064,\n    0x0044, 0x0064, 0x0044, 0x0064, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0046, 0x0066,\n    0x0047, 0x0067, 0x0048, 0x0068, 0x0048, 0x0068, 0x0048, 0x0068,\n    0x0048, 0x0068, 0x0048, 0x0068, 0x0049, 0x0069, 0x0049, 0x0069,\n    0x004b, 0x006b, 0x004b, 0x006b, 0x004b, 0x006b, 0x004c, 0x006c,\n    0x004c, 0x006c, 0x004c, 0x006c, 0x004c, 0x006c, 0x004d, 0x006d,\n    0x004d, 0x006d, 0x004d, 0x006d, 0x004e, 0x006e, 0x004e, 0x006e,\n    0x004e, 0x006e, 0x004e, 0x006e, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0050, 0x0070, 0x0050, 0x0070,\n    0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072, 0x0052, 0x0072,\n    0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073, 0x0053, 0x0073,\n    0x0053, 0x0073, 0x0054, 0x0074, 0x0054, 0x0074, 0x0054, 0x0074,\n    0x0054, 0x0074, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0056, 0x0076, 0x0056, 0x0076,\n    0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077, 0x0057, 0x0077,\n    0x0057, 0x0077, 0x0058, 0x0078, 0x0058, 0x0078, 0x0059, 0x0079,\n    0x005a, 0x007a, 0x005a, 0x007a, 0x005a, 0x007a, 0x0068, 0x0074,\n    0x0077, 0x0079, 0x003f, 0x0073, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061, 0x0041, 0x0061,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065, 0x0045, 0x0065,\n    0x0049, 0x0069, 0x0049, 0x0069, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f, 0x004f, 0x006f,\n    0x004f, 0x006f, 0x004f, 0x006f, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075, 0x0055, 0x0075,\n    0x0055, 0x0075, 0x0059, 0x0079, 0x0059, 0x0079, 0x0059, 0x0079,\n    0x0059, 0x0079, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x1f00 .. 0x1fff */\n    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,\n    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,\n    0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0xa360, 0x003f, 0x003f,\n    0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0xa348, 0x003f, 0x003f,\n    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,\n    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,\n    0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364, 0xa364,\n    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c, 0xa34c,\n    0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0xa36a, 0x003f, 0x003f,\n    0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0xa352, 0x003f, 0x003f,\n    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36f,\n    0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357, 0x003f, 0xa357,\n    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,\n    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,\n    0xa35c, 0xa35c, 0xa360, 0xa360, 0xa362, 0xa362, 0xa364, 0xa364,\n    0xa36a, 0xa36a, 0xa36f, 0xa36f, 0xa373, 0xa373, 0x003f, 0x003f,\n    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c,\n    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0xa344,\n    0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362, 0xa362,\n    0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a, 0xa34a,\n    0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373, 0xa373,\n    0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b, 0xa35b,\n    0xa35c, 0xa35c, 0xa35c, 0xa35c, 0xa35c, 0x003f, 0xa35c, 0xa35c,\n    0xa344, 0xa344, 0xa344, 0xa344, 0xa344, 0x003f, 0xa364, 0x003f,\n    0x003f, 0x0022, 0xa362, 0xa362, 0xa362, 0x003f, 0xa362, 0xa362,\n    0xa348, 0xa348, 0xa34a, 0xa34a, 0xa34a, 0x003f, 0x003f, 0x003f,\n    0xa364, 0xa364, 0xa364, 0xa364, 0x003f, 0x003f, 0xa364, 0xa364,\n    0xa34c, 0xa34c, 0xa34c, 0xa34c, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa36f, 0xa36f, 0xa36f, 0xa36f, 0xa36c, 0xa36c, 0xa36f, 0xa36f,\n    0xa357, 0xa357, 0xa357, 0xa357, 0xa354, 0x0022, 0x0022, 0x0060,\n    0x003f, 0x003f, 0xa373, 0xa373, 0xa373, 0x003f, 0xa373, 0xa373,\n    0xa352, 0xa352, 0xa35b, 0xa35b, 0xa35b, 0xa3bd, 0x003f, 0x003f,\n    /* 0x2000 .. 0x20ff */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0xa156, 0xa158, 0xa156, 0x003f, 0x005f,\n    0xa1a5, 0xa1a6, 0x002c, 0xa1a5, 0xa1a7, 0xa1a8, 0x002c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x002e, 0xa14c, 0xa14b, 0xa145,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0xa1ac, 0x0022, 0x003f, 0xa1ab, 0x003f, 0x003f,\n    0x003f, 0xa171, 0xa172, 0xa1b0, 0x0021, 0x003f, 0xa1c2, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa241, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0020,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa258, 0x0069, 0x003f, 0x003f, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x006e,\n    0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,\n    0x0038, 0x0039, 0x002b, 0x002d, 0x003d, 0x0028, 0x0029, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0063, 0x003f, 0x003f, 0x004c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa3e1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2100 .. 0x21ff */\n    0x003f, 0x003f, 0x0043, 0xa24a, 0x003f, 0xa1c1, 0x003f, 0x0045,\n    0x003f, 0xa24b, 0x0067, 0x0048, 0x0048, 0x0048, 0x0068, 0x0068,\n    0x0049, 0x0049, 0x004c, 0x006c, 0x003f, 0x004e, 0x003f, 0x003f,\n    0x0050, 0x0050, 0x0051, 0x0052, 0x0052, 0x0052, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x005a, 0x003f, 0xa35b, 0x003f,\n    0x005a, 0x003f, 0x004b, 0x0041, 0x0042, 0x0043, 0x0065, 0x0065,\n    0x0045, 0x0046, 0x003f, 0x004d, 0x006f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0069, 0x003f, 0x003f, 0x003f, 0xa35e, 0xa346, 0xa353,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0044, 0x0064, 0x0065,\n    0x0069, 0x006a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa2b9, 0xa2ba, 0xa2bb, 0xa2bc, 0xa2bd, 0xa2be, 0xa2bf, 0xa2c0,\n    0xa2c1, 0xa2c2, 0x003f, 0x003f, 0x004c, 0x0043, 0x0044, 0x004d,\n    0x0069, 0x003f, 0x003f, 0x003f, 0x0076, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x0078, 0x003f, 0x003f, 0x006c, 0x0063, 0x0064, 0x006d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0x002d, 0x007c, 0xa1f8, 0xa1f9,\n    0xa1fb, 0xa1fa, 0xa1f6, 0xa1f7, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x002d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2200 .. 0x22ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x004f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x002d, 0xa1d3, 0x003f, 0xa241, 0x005c, 0x002a,\n    0xa258, 0x003f, 0xa1d4, 0x003f, 0x003f, 0x003f, 0xa1db, 0xa1e8,\n    0xa1e7, 0x003f, 0x003f, 0xa1fd, 0xa1fd, 0xa1fc, 0xa1fc, 0x003f,\n    0x003f, 0xa1e4, 0xa1e5, 0xa1ec, 0x003f, 0x003f, 0xa1ed, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1ef, 0xa1ee, 0x003a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x007e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x007e, 0x007e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1dc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1da, 0xa1dd, 0xa1dd, 0xa1dd, 0x003f, 0x003f, 0xa1d8, 0xa1d9,\n    0x003f, 0x003f, 0xa16d, 0xa16e, 0x003f, 0x003f, 0x003c, 0x003e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1f2, 0x003f, 0x003f,\n    0x003f, 0xa1f3, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1e9,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa150, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2300 .. 0x23ff */\n    0x003f, 0x003f, 0x003f, 0x005e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa171, 0xa172, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2400 .. 0x24ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038,\n    0x0039, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x0041, 0x0042,\n    0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a,\n    0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,\n    0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,\n    0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,\n    0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,\n    0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078,\n    0x0079, 0x007a, 0x0030, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2500 .. 0x25ff */\n    0xa277, 0xa277, 0xa278, 0xa278, 0x002d, 0x002d, 0x003f, 0x003f,\n    0x002d, 0x002d, 0x003f, 0x003f, 0xa27a, 0xa27a, 0xa27a, 0xa27a,\n    0xa27b, 0xa27b, 0xa27b, 0xa27b, 0xa27c, 0xa27c, 0xa27c, 0xa27c,\n    0xa27d, 0xa27d, 0xa27d, 0xa27d, 0xa275, 0xa275, 0xa275, 0xa275,\n    0xa275, 0xa275, 0xa275, 0xa275, 0xa274, 0xa274, 0xa274, 0xa274,\n    0xa274, 0xa274, 0xa274, 0xa274, 0xa273, 0xa273, 0xa273, 0xa273,\n    0xa273, 0xa273, 0xa273, 0xa273, 0xa272, 0xa272, 0xa272, 0xa272,\n    0xa272, 0xa272, 0xa272, 0xa272, 0xa271, 0xa271, 0xa271, 0xa271,\n    0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271, 0xa271,\n    0xa271, 0xa271, 0xa271, 0xa271, 0x002d, 0x002d, 0x003f, 0x003f,\n    0xa2a4, 0xf9f8, 0xf9e6, 0xf9ef, 0xf9dd, 0xf9e8, 0xf9f1, 0xf9df,\n    0xf9ec, 0xf9f5, 0xf9e3, 0xf9ee, 0xf9f7, 0xf9e5, 0xa2a5, 0xf9f2,\n    0xf9e0, 0xa2a7, 0xf9f4, 0xf9e2, 0xf9e7, 0xf9f0, 0xf9de, 0xf9ed,\n    0xf9f6, 0xf9e4, 0xa2a6, 0xf9f3, 0xf9e1, 0xa27e, 0xa2a1, 0xa2a3,\n    0xa2a2, 0xa2ac, 0xa2ad, 0xa2ae, 0xa15a, 0x007c, 0xa15a, 0x007c,\n    0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c, 0xa15a, 0x007c,\n    0x003f, 0xa262, 0xa263, 0xa264, 0xa265, 0xa266, 0xa267, 0xa268,\n    0xa269, 0xa270, 0xa26f, 0xa26e, 0xa26d, 0xa26c, 0xa26b, 0xa26a,\n    0x003f, 0x003f, 0x003f, 0xf9fe, 0xa276, 0xa279, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1bd, 0xa1bc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa1b6, 0xa1b5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa1bf, 0xa1be, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1bb, 0xa1ba,\n    0x003f, 0x003f, 0x003f, 0xa1b3, 0x003f, 0x003f, 0xa1b7, 0xa1b4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa2a8, 0xa2a9, 0xa2ab, 0xa2aa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b3,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2600 .. 0x26ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa1b9, 0xa1b8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa1f0, 0x003f, 0xa1f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2e00 .. 0x2eff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5c0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x2f00 .. 0x2fff */\n    0xa440, 0x003f, 0x003f, 0x003f, 0xa441, 0x003f, 0xa447, 0x003f,\n    0xa448, 0xa449, 0xa44a, 0xa44b, 0x003f, 0x003f, 0x003f, 0xa44c,\n    0xc942, 0xa44d, 0xa44f, 0x003f, 0xa450, 0xc943, 0x003f, 0xa2cc,\n    0xa452, 0x003f, 0xc944, 0x003f, 0xa453, 0xa466, 0xc949, 0xa467,\n    0xa468, 0x003f, 0x003f, 0xa469, 0xa46a, 0xa46b, 0xa46c, 0x003f,\n    0xa46f, 0xa470, 0xa471, 0xa472, 0xc94b, 0xa473, 0x003f, 0xa475,\n    0xa476, 0xa479, 0xa47a, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa47c,\n    0xa47d, 0x003f, 0x003f, 0xc94c, 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2,\n    0xa4e4, 0x003f, 0xa4e5, 0xa4e6, 0xa4e7, 0xa4e8, 0x003f, 0xa4e9,\n    0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed, 0xa4ee, 0xa4ef, 0xc95f, 0xa4f0,\n    0xa4f1, 0xa4f2, 0xa4f3, 0xc961, 0xa4f4, 0xa4f5, 0xa4f6, 0xa4f7,\n    0xa4f8, 0xc962, 0xa4f9, 0xa4fa, 0xa4fb, 0xa4fc, 0xa5c8, 0xa5c9,\n    0xa5ca, 0xa5cb, 0xa5cc, 0xa5cd, 0xa5ce, 0xa5d0, 0xa5d4, 0x003f,\n    0x003f, 0xa5d5, 0xa5d6, 0xa5d7, 0xa5d8, 0xa5d9, 0xa5da, 0xa5db,\n    0xa5dc, 0xc9a8, 0xa5dd, 0xa5de, 0xa5df, 0xa6cb, 0xa6cc, 0xa6cd,\n    0xa6ce, 0xca49, 0xa6cf, 0xa6d0, 0xa6d1, 0xa6d3, 0xa6d4, 0xa6d5,\n    0xa6d6, 0xa6d7, 0xa6da, 0xa6db, 0xa6dc, 0xa6dd, 0xa6de, 0xa6df,\n    0xa6e0, 0xa6e1, 0xa6e2, 0xca4a, 0xca4f, 0xa6e4, 0xa6e5, 0xa6e6,\n    0xa6e7, 0xca50, 0xa8a3, 0xa8a4, 0xa8a5, 0xa8a6, 0xa8a7, 0xa8a8,\n    0xcba4, 0xa8a9, 0xa8aa, 0xa8ab, 0xa8ac, 0xa8ad, 0xa8ae, 0xa8af,\n    0xa8b0, 0x003f, 0xa8b6, 0xa8bb, 0xa8bc, 0xa8bd, 0xaaf7, 0xaaf8,\n    0xaaf9, 0xaafa, 0x003f, 0xab41, 0xab42, 0x003f, 0xab44, 0xadb1,\n    0xadb2, 0xadb3, 0xadb4, 0xadb5, 0xadb6, 0xadb7, 0xadb8, 0xadb9,\n    0xadba, 0xadbb, 0xb0a8, 0xb0a9, 0xb0aa, 0xd449, 0xb0ab, 0xd44a,\n    0xb0ac, 0xb0ad, 0xb3bd, 0xb3be, 0xb3bf, 0xb3c0, 0xb3c1, 0xb3c2,\n    0xb6c0, 0xb6c1, 0xb6c2, 0xdcb0, 0xe0ef, 0xb9a9, 0xb9aa, 0xb9ab,\n    0xbbf3, 0xbbf4, 0xbea6, 0xc073, 0xc074, 0xefb6, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3000 .. 0x30ff */\n    0xa140, 0xa142, 0xa143, 0xa1b2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa171, 0xa172, 0xa16d, 0xa16e, 0xa175, 0xa176, 0xa179, 0xa17a,\n    0xa169, 0xa16a, 0xa245, 0x003f, 0xa165, 0xa166, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x005b, 0x005d, 0x003f, 0xa1a9, 0xa1aa, 0x002c,\n    0x003f, 0xa2c3, 0xa2c4, 0xa2c5, 0xa2c6, 0xa2c7, 0xa2c8, 0xa2c9,\n    0xa2ca, 0xa2cb, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa245, 0x003f,\n    0xa2cc, 0xa2cd, 0xa2ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3100 .. 0x31ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa374, 0xa375, 0xa376,\n    0xa377, 0xa378, 0xa379, 0xa37a, 0xa37b, 0xa37c, 0xa37d, 0xa37e,\n    0xa3a1, 0xa3a2, 0xa3a3, 0xa3a4, 0xa3a5, 0xa3a6, 0xa3a7, 0xa3a8,\n    0xa3a9, 0xa3aa, 0xa3ab, 0xa3ac, 0xa3ad, 0xa3ae, 0xa3af, 0xa3b0,\n    0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8,\n    0xa3b9, 0xa3ba, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa440, 0xa447, 0xa454, 0xa57c, 0xa457, 0xa4a4,\n    0xa455, 0xa5d2, 0xa441, 0xa4fe, 0xa442, 0xa4d1, 0xa661, 0xa448,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3200 .. 0x32ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa440, 0xa447, 0xa454, 0xa57c, 0xa4ad, 0xa4bb, 0xa443, 0xa44b,\n    0xa445, 0xa2cc, 0xa4eb, 0xa4f5, 0xa4f4, 0xa4ec, 0xaaf7, 0xa467,\n    0xa4e9, 0xaee8, 0xa6b3, 0xaac0, 0xa657, 0xaf53, 0xb05d, 0xafac,\n    0x003f, 0xafb5, 0xa86b, 0xa46b, 0xbe41, 0xc075, 0xa64c, 0xaa60,\n    0xb6b5, 0xa5f0, 0x003f, 0xa1c0, 0xa457, 0xa4a4, 0xa455, 0xa5aa,\n    0xa56b, 0x003f, 0xa976, 0x003f, 0xbaca, 0xa5f8, 0xb8ea, 0xa8f3,\n    0xa95d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x3300 .. 0x33ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa255, 0xa256,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa250, 0xa251, 0xa252, 0x003f,\n    0x003f, 0xa254, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa257, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa253, 0x003f,\n    0x003f, 0xa1eb, 0xa1ea, 0x003f, 0x003f, 0xa24f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x4e00 .. 0x4eff */\n    0xa440, 0xa442, 0x003f, 0xa443, 0x003f, 0x003f, 0x003f, 0xc945,\n    0xa456, 0xa454, 0xa457, 0xa455, 0xc946, 0xa4a3, 0xc94f, 0xc94d,\n    0xa4a2, 0xa4a1, 0x003f, 0x003f, 0xa542, 0xa541, 0xa540, 0x003f,\n    0xa543, 0xa4fe, 0x003f, 0x003f, 0x003f, 0x003f, 0xa5e0, 0xa5e1,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8c3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa458, 0x003f, 0xa4a4, 0xc950, 0x003f,\n    0xa4a5, 0xc963, 0xa6ea, 0xcbb1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa459, 0xa4a6, 0x003f, 0xa544, 0xc964, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc940, 0xa444, 0x003f, 0xa45b, 0x003f, 0xc947,\n    0xa45c, 0x003f, 0x003f, 0xa4a7, 0x003f, 0xa545, 0xa547, 0xa546,\n    0x003f, 0x003f, 0xa5e2, 0xa5e3, 0x003f, 0x003f, 0xa8c4, 0x003f,\n    0xadbc, 0xa441, 0x003f, 0x003f, 0xc941, 0xa445, 0xa45e, 0xa45d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa5e4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa8c5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb0ae, 0xd44b,\n    0x003f, 0x003f, 0xb6c3, 0xdcb1, 0xdcb2, 0x003f, 0xa446, 0x003f,\n    0xa4a9, 0x003f, 0x003f, 0xa8c6, 0xa447, 0xc948, 0xa45f, 0x003f,\n    0x003f, 0xa4aa, 0xa4ac, 0xc951, 0xa4ad, 0xa4ab, 0x003f, 0x003f,\n    0x003f, 0xa5e5, 0x003f, 0xa8c7, 0x003f, 0x003f, 0xa8c8, 0xab45,\n    0x003f, 0xa460, 0xa4ae, 0x003f, 0xa5e6, 0xa5e8, 0xa5e7, 0x003f,\n    0xa6eb, 0x003f, 0x003f, 0xa8c9, 0xa8ca, 0xab46, 0xab47, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xadbd, 0x003f, 0x003f, 0xdcb3, 0x003f,\n    0x003f, 0xf6d6, 0xa448, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa4b0, 0xa4af, 0xc952, 0xa4b1, 0xa4b7, 0x003f, 0xa4b2, 0xa4b3,\n    0xc954, 0xc953, 0xa4b5, 0xa4b6, 0x003f, 0xa4b4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa54a, 0xa54b, 0xa54c, 0xa54d,\n    0xa549, 0xa550, 0xc96a, 0x003f, 0xc966, 0xc969, 0xa551, 0xa561,\n    0x003f, 0xc968, 0x003f, 0xa54e, 0xa54f, 0xa548, 0x003f, 0x003f,\n    0xc965, 0xc967, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa5f5, 0xc9b0, 0xa5f2, 0xa5f6, 0xc9ba, 0xc9ae, 0xa5f3, 0xc9b2,\n    0x003f, 0x003f, 0x003f, 0xa5f4, 0x003f, 0xa5f7, 0x003f, 0xa5e9,\n    /* 0x4f00 .. 0x4fff */\n    0xc9b1, 0xa5f8, 0xc9b5, 0x003f, 0xc9b9, 0xc9b6, 0x003f, 0x003f,\n    0xc9b3, 0xa5ea, 0xa5ec, 0xa5f9, 0x003f, 0xa5ee, 0xc9ab, 0xa5f1,\n    0xa5ef, 0xa5f0, 0xc9bb, 0xc9b8, 0xc9af, 0xa5ed, 0x003f, 0x003f,\n    0xc9ac, 0xa5eb, 0x003f, 0x003f, 0x003f, 0xc9b4, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc9b7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc9ad, 0xca66, 0x003f, 0xa742,\n    0xa6f4, 0x003f, 0x003f, 0xca67, 0xa6f1, 0x003f, 0xa744, 0x003f,\n    0xa6f9, 0x003f, 0xa6f8, 0xca5b, 0xa6fc, 0xa6f7, 0xca60, 0xca68,\n    0x003f, 0xca64, 0x003f, 0xa6fa, 0x003f, 0x003f, 0xa6fd, 0xa6ee,\n    0xa747, 0xca5d, 0x003f, 0x003f, 0xcbbd, 0xa6ec, 0xa743, 0xa6ed,\n    0xa6f5, 0xa6f6, 0xca62, 0xca5e, 0xa6fb, 0xa6f3, 0xca5a, 0xa6ef,\n    0xca65, 0xa745, 0xa748, 0xa6f2, 0xa740, 0xa746, 0xa6f0, 0xca63,\n    0xa741, 0xca69, 0xca5c, 0xa6fe, 0xca5f, 0x003f, 0x003f, 0xca61,\n    0x003f, 0xa8d8, 0xcbbf, 0xcbcb, 0xa8d0, 0x003f, 0xcbcc, 0xa8cb,\n    0xa8d5, 0x003f, 0x003f, 0xa8ce, 0xcbb9, 0xa8d6, 0xcbb8, 0xcbbc,\n    0xcbc3, 0xcbc1, 0xa8de, 0xa8d9, 0xcbb3, 0xcbb5, 0xa8db, 0xa8cf,\n    0xcbb6, 0xcbc2, 0xcbc9, 0xa8d4, 0xcbbb, 0xcbb4, 0xa8d3, 0xcbb7,\n    0xa8d7, 0xcbba, 0x003f, 0xa8d2, 0x003f, 0xa8cd, 0x003f, 0xa8dc,\n    0xcbc4, 0xa8dd, 0xcbc8, 0x003f, 0xcbc6, 0xcbca, 0xa8da, 0xcbbe,\n    0xcbb2, 0x003f, 0xcbc0, 0xa8d1, 0xcbc5, 0xa8cc, 0xcbc7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xab56, 0xab4a,\n    0x003f, 0x003f, 0xcde0, 0xcde8, 0x003f, 0xab49, 0xab51, 0xab5d,\n    0x003f, 0xcdee, 0xcdec, 0xcde7, 0x003f, 0x003f, 0x003f, 0xab4b,\n    0xcded, 0xcde3, 0xab59, 0xab50, 0xab58, 0xcdde, 0x003f, 0xcdea,\n    0x003f, 0xcde1, 0xab54, 0xcde2, 0x003f, 0xcddd, 0xab5b, 0xab4e,\n    0xab57, 0xab4d, 0x003f, 0xcddf, 0xcde4, 0x003f, 0xcdeb, 0xab55,\n    0xab52, 0xcde6, 0xab5a, 0xcde9, 0xcde5, 0xab4f, 0xab5c, 0xab53,\n    0xab4c, 0xab48, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcdef, 0x003f, 0xadd7, 0xadc1,\n    0x003f, 0xadd1, 0x003f, 0xadd6, 0xd0d0, 0xd0cf, 0xd0d4, 0xd0d5,\n    0xadc4, 0x003f, 0xadcd, 0x003f, 0x003f, 0x003f, 0xadda, 0x003f,\n    /* 0x5000 .. 0x50ff */\n    0xadce, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0c9, 0xadc7, 0xd0ca,\n    0x003f, 0xaddc, 0x003f, 0xadd3, 0xadbe, 0xadbf, 0xd0dd, 0xb0bf,\n    0x003f, 0xadcc, 0xadcb, 0xd0cb, 0xadcf, 0xd45b, 0xadc6, 0xd0d6,\n    0xadd5, 0xadd4, 0xadca, 0xd0ce, 0xd0d7, 0x003f, 0xd0c8, 0xadc9,\n    0xd0d8, 0xadd2, 0xd0cc, 0xadc0, 0x003f, 0xadc3, 0xadc2, 0xd0d9,\n    0xadd0, 0xadc5, 0xadd9, 0xaddb, 0xd0d3, 0xadd8, 0x003f, 0xd0db,\n    0xd0cd, 0xd0dc, 0x003f, 0xd0d1, 0x003f, 0xd0da, 0x003f, 0xd0d2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xadc8, 0x003f, 0x003f, 0x003f,\n    0xd463, 0xd457, 0x003f, 0xb0b3, 0x003f, 0xd45c, 0xd462, 0xb0b2,\n    0xd455, 0xb0b6, 0xd459, 0xd452, 0xb0b4, 0xd456, 0xb0b9, 0xb0be,\n    0x003f, 0xd467, 0x003f, 0xd451, 0x003f, 0xb0ba, 0x003f, 0xd466,\n    0x003f, 0x003f, 0xb0b5, 0xd458, 0xb0b1, 0xd453, 0xd44f, 0xd45d,\n    0xd450, 0xd44e, 0xd45a, 0xd460, 0xd461, 0xb0b7, 0x003f, 0x003f,\n    0xd85b, 0xd45e, 0xd44d, 0xd45f, 0x003f, 0xb0c1, 0xd464, 0xb0c0,\n    0xd44c, 0x003f, 0xd454, 0xd465, 0xb0bc, 0xb0bb, 0xb0b8, 0xb0bd,\n    0x003f, 0x003f, 0xb0af, 0x003f, 0x003f, 0xb0b0, 0x003f, 0x003f,\n    0xb3c8, 0x003f, 0xd85e, 0xd857, 0x003f, 0xb3c5, 0x003f, 0xd85f,\n    0x003f, 0x003f, 0x003f, 0xd855, 0xd858, 0xb3c4, 0xd859, 0x003f,\n    0x003f, 0xb3c7, 0xd85d, 0x003f, 0xd853, 0xd852, 0xb3c9, 0x003f,\n    0xb3ca, 0xb3c6, 0xb3cb, 0xd851, 0xd85c, 0xd85a, 0xd854, 0x003f,\n    0x003f, 0x003f, 0xb3c3, 0xd856, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb6ca, 0xb6c4, 0xdcb7, 0xb6cd,\n    0xdcbd, 0xdcc0, 0xb6c6, 0xb6c7, 0xdcba, 0xb6c5, 0xdcc3, 0xb6cb,\n    0xdcc4, 0x003f, 0xdcbf, 0xb6cc, 0x003f, 0xdcb4, 0xb6c9, 0xdcb5,\n    0x003f, 0xdcbe, 0xdcbc, 0x003f, 0xdcb8, 0xb6c8, 0xdcb6, 0xb6ce,\n    0xdcbb, 0xdcc2, 0xdcb9, 0xdcc1, 0x003f, 0x003f, 0xb9b6, 0xb9b3,\n    0x003f, 0xb9b4, 0x003f, 0xe0f9, 0xe0f1, 0xb9b2, 0xb9af, 0xe0f2,\n    0x003f, 0x003f, 0xb9b1, 0xe0f5, 0x003f, 0xe0f7, 0x003f, 0x003f,\n    0xe0fe, 0x003f, 0x003f, 0xe0fd, 0xe0f8, 0xb9ae, 0xe0f0, 0xb9ac,\n    0xe0f3, 0xb9b7, 0xe0f6, 0x003f, 0xe0fa, 0xb9b0, 0xb9ad, 0xe0fc,\n    0xe0fb, 0xb9b5, 0x003f, 0xe0f4, 0x003f, 0xbbf8, 0xe4ec, 0x003f,\n    0xe4e9, 0xbbf9, 0x003f, 0xbbf7, 0x003f, 0xe4f0, 0xe4ed, 0xe4e6,\n    /* 0x5100 .. 0x51ff */\n    0xbbf6, 0x003f, 0xbbfa, 0xe4e7, 0xbbf5, 0xbbfd, 0xe4ea, 0xe4eb,\n    0xbbfb, 0xbbfc, 0xe4f1, 0xe4ee, 0xe4ef, 0x003f, 0x003f, 0x003f,\n    0xbeaa, 0xe8f8, 0xbea7, 0xe8f5, 0xbea9, 0xbeab, 0x003f, 0xe8f6,\n    0xbea8, 0x003f, 0xe8f7, 0x003f, 0xe8f4, 0x003f, 0x003f, 0xc076,\n    0xecbd, 0xc077, 0xecbb, 0x003f, 0xecbc, 0xecba, 0xecb9, 0x003f,\n    0x003f, 0xecbe, 0xc075, 0x003f, 0x003f, 0xefb8, 0xefb9, 0x003f,\n    0xe4e8, 0xefb7, 0xc078, 0xc35f, 0xf1eb, 0xf1ec, 0x003f, 0xc4d7,\n    0xc4d8, 0xf5c1, 0xf5c0, 0xc56c, 0xc56b, 0xf7d0, 0x003f, 0xa449,\n    0xa461, 0xa4b9, 0x003f, 0xa4b8, 0xa553, 0xa552, 0xa5fc, 0xa5fb,\n    0xa5fd, 0xa5fa, 0x003f, 0xa74a, 0xa749, 0xa74b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa8e0, 0x003f, 0xa8df, 0xa8e1, 0x003f, 0xab5e,\n    0x003f, 0xa259, 0xd0de, 0xa25a, 0xb0c2, 0xa25c, 0xa25b, 0xd860,\n    0x003f, 0xa25d, 0xb9b8, 0xa25e, 0x003f, 0xa44a, 0x003f, 0xa4ba,\n    0xa5fe, 0xa8e2, 0x003f, 0xa44b, 0xa4bd, 0xa4bb, 0xa4bc, 0x003f,\n    0x003f, 0xa640, 0x003f, 0x003f, 0x003f, 0xa74c, 0xa8e4, 0xa8e3,\n    0xa8e5, 0x003f, 0x003f, 0x003f, 0xaddd, 0x003f, 0x003f, 0x003f,\n    0xbeac, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc94e,\n    0x003f, 0xa554, 0xa555, 0x003f, 0x003f, 0xa641, 0x003f, 0xca6a,\n    0x003f, 0xab60, 0xab5f, 0xd0e0, 0xd0df, 0xb0c3, 0x003f, 0xa4be,\n    0xc955, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbcd, 0x003f,\n    0xab61, 0x003f, 0xade0, 0x003f, 0xadde, 0xaddf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbead, 0x003f, 0xa556, 0x003f, 0x003f, 0x003f,\n    0xa642, 0xc9bc, 0x003f, 0x003f, 0x003f, 0x003f, 0xa74d, 0xa74e,\n    0x003f, 0xca6b, 0x003f, 0x003f, 0xcbce, 0xa8e6, 0xcbcf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd0e2, 0xd0e3, 0xade3, 0x003f,\n    0xd0e4, 0x003f, 0xd0e1, 0xade4, 0xade2, 0xade1, 0xd0e5, 0x003f,\n    0xd468, 0x003f, 0x003f, 0x003f, 0xd861, 0x003f, 0x003f, 0xdcc5,\n    0xe140, 0x003f, 0x003f, 0x003f, 0xbbfe, 0xbeae, 0xe8f9, 0x003f,\n    0xa44c, 0xa45a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb0c4, 0xb3cd, 0x003f, 0xb9b9, 0x003f, 0xc942, 0xa4bf, 0x003f,\n    0xa559, 0xa557, 0xa558, 0x003f, 0x003f, 0xa8e7, 0x003f, 0x003f,\n    /* 0x5200 .. 0x52ff */\n    0xa44d, 0xa44e, 0x003f, 0xa462, 0x003f, 0x003f, 0xa4c0, 0xa4c1,\n    0xa4c2, 0xc9be, 0xa55a, 0x003f, 0xc96b, 0x003f, 0xa646, 0x003f,\n    0xc9bf, 0xa644, 0xa645, 0xc9bd, 0x003f, 0x003f, 0xa647, 0xa643,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xca6c, 0xaaec, 0xca6d, 0x003f,\n    0x003f, 0xca6e, 0x003f, 0x003f, 0xa750, 0xa74f, 0x003f, 0x003f,\n    0xa753, 0xa751, 0xa752, 0x003f, 0x003f, 0x003f, 0xa8ed, 0x003f,\n    0xa8ec, 0xcbd4, 0xcbd1, 0xcbd2, 0x003f, 0xcbd0, 0xa8ee, 0xa8ea,\n    0xa8e9, 0x003f, 0xa8eb, 0xa8e8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa8ef, 0x003f, 0xab63, 0xcdf0, 0x003f, 0xcbd3, 0xab68,\n    0x003f, 0xcdf1, 0xab64, 0xab67, 0xab66, 0xab65, 0xab62, 0x003f,\n    0x003f, 0x003f, 0xd0e8, 0x003f, 0xade7, 0xd0eb, 0xade5, 0x003f,\n    0x003f, 0x003f, 0xd0e7, 0xade8, 0xade6, 0xade9, 0xd0e9, 0xd0ea,\n    0x003f, 0xd0e6, 0xd0ec, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3d1, 0xb0c5, 0xd469, 0xd46b, 0xd46a, 0xd46c, 0xb0c6,\n    0x003f, 0x003f, 0xb3ce, 0x003f, 0xb3cf, 0xb3d0, 0x003f, 0xb6d0,\n    0xdcc7, 0x003f, 0xdcc6, 0xdcc8, 0xdcc9, 0xb6d1, 0x003f, 0xb6cf,\n    0xe141, 0xe142, 0xb9bb, 0xb9ba, 0xe35a, 0x003f, 0x003f, 0xbc40,\n    0xbc41, 0xbc42, 0xbc44, 0xe4f2, 0xe4f3, 0xbc43, 0x003f, 0x003f,\n    0x003f, 0xbeaf, 0x003f, 0xbeb0, 0x003f, 0x003f, 0xf1ed, 0xf5c3,\n    0xf5c2, 0xf7d1, 0x003f, 0xa44f, 0x003f, 0x003f, 0x003f, 0xa55c,\n    0xa55b, 0x003f, 0x003f, 0xa648, 0x003f, 0x003f, 0xc9c0, 0x003f,\n    0x003f, 0xa755, 0xa756, 0xa754, 0xa757, 0xca6f, 0xca70, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa8f1, 0xcbd5, 0x003f, 0xa8f0, 0x003f,\n    0xcdf2, 0xab6c, 0xcdf3, 0xab6b, 0x003f, 0x003f, 0x003f, 0xab69,\n    0x003f, 0xab6a, 0x003f, 0x003f, 0x003f, 0xd0ed, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb0c7, 0xd46e, 0x003f, 0xb0ca, 0xd46d, 0xb1e5,\n    0xb0c9, 0xb0c8, 0x003f, 0xb3d4, 0x003f, 0xb3d3, 0xb3d2, 0xb6d2,\n    0x003f, 0x003f, 0xb6d5, 0xb6d6, 0xb6d4, 0x003f, 0xb6d3, 0x003f,\n    0x003f, 0xe143, 0x003f, 0xe144, 0x003f, 0x003f, 0x003f, 0xe4f5,\n    0xbc45, 0xe4f4, 0x003f, 0xbeb1, 0xecbf, 0xc079, 0x003f, 0xf1ee,\n    0xc455, 0x003f, 0xa463, 0xa4c3, 0xc956, 0x003f, 0xa4c4, 0xa4c5,\n    /* 0x5300 .. 0x53ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa55d, 0xa55e, 0x003f,\n    0xa649, 0xca71, 0xcbd6, 0xcbd7, 0x003f, 0xab6d, 0xd0ee, 0xb0cc,\n    0xb0cb, 0xd863, 0xd862, 0x003f, 0x003f, 0xa450, 0xa4c6, 0xa55f,\n    0x003f, 0xb0cd, 0xc943, 0x003f, 0xc96c, 0xa560, 0x003f, 0xc9c2,\n    0xa64b, 0xa64a, 0xc9c1, 0xa758, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xadea, 0x003f, 0x003f, 0xd46f, 0x003f, 0xb6d7,\n    0xe145, 0xb9bc, 0x003f, 0x003f, 0xe8fa, 0x003f, 0x003f, 0xf3fd,\n    0x003f, 0xa4c7, 0x003f, 0x003f, 0xcbd8, 0xcdf4, 0xb0d0, 0xb0ce,\n    0xb0cf, 0xa2cc, 0x003f, 0xa464, 0xa2cd, 0xa2ce, 0x003f, 0xa4c9,\n    0xa4c8, 0xa563, 0xa562, 0x003f, 0xc96d, 0xc9c3, 0x003f, 0x003f,\n    0x003f, 0xa8f5, 0xa8f2, 0xa8f4, 0xa8f3, 0x003f, 0x003f, 0xab6e,\n    0x003f, 0x003f, 0xb3d5, 0x003f, 0xa452, 0x003f, 0xa4cb, 0x003f,\n    0xa565, 0xa564, 0x003f, 0xca72, 0x003f, 0x003f, 0xa8f6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc957, 0x003f, 0xa567, 0xa566,\n    0xa64c, 0xa64d, 0xca73, 0xa759, 0x003f, 0xa75a, 0x003f, 0xa8f7,\n    0xa8f8, 0xa8f9, 0x003f, 0xab6f, 0xcdf5, 0x003f, 0x003f, 0xadeb,\n    0x003f, 0x003f, 0xc944, 0x003f, 0xa4cc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc9c4, 0x003f, 0x003f, 0x003f, 0xca74, 0xca75,\n    0x003f, 0x003f, 0xcbd9, 0x003f, 0xcbda, 0x003f, 0xcdf7, 0xcdf6,\n    0xcdf9, 0xcdf8, 0xab70, 0x003f, 0xd470, 0xaded, 0xd0ef, 0xadec,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd864, 0xb3d6, 0x003f, 0xd865,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe146, 0xb9bd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbc46, 0x003f, 0xf1ef, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc958, 0x003f, 0xa568, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb0d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa453, 0xa465, 0xa4ce, 0xa4cd, 0x003f, 0xa4cf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa8fb, 0x003f, 0xa8fa, 0xa8fc,\n    0x003f, 0x003f, 0x003f, 0xab71, 0x003f, 0x003f, 0x003f, 0xadee,\n    0x003f, 0xe8fb, 0xc24f, 0xa466, 0xa56a, 0xa579, 0xa574, 0x003f,\n    0xa56f, 0xa56e, 0xa575, 0xa573, 0xa56c, 0xa57a, 0xa56d, 0xa569,\n    0xa578, 0xa577, 0xa576, 0xa56b, 0x003f, 0xa572, 0x003f, 0x003f,\n    0xa571, 0x003f, 0x003f, 0xa57b, 0xa570, 0x003f, 0x003f, 0x003f,\n    /* 0x5400 .. 0x54ff */\n    0x003f, 0xa653, 0x003f, 0xa659, 0xa655, 0x003f, 0xa65b, 0xc9c5,\n    0xa658, 0xa64e, 0xa651, 0xa654, 0xa650, 0xa657, 0xa65a, 0xa64f,\n    0xa652, 0xa656, 0xa65c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xca7e, 0xca7b, 0x003f, 0xa767, 0xca7c, 0xa75b, 0xa75d, 0xa775,\n    0xa770, 0x003f, 0x003f, 0x003f, 0xcaa5, 0xca7d, 0xa75f, 0xa761,\n    0xcaa4, 0xa768, 0xca78, 0xa774, 0xa776, 0xa75c, 0xa76d, 0x003f,\n    0xca76, 0xa773, 0x003f, 0xa764, 0x003f, 0xa76e, 0xa76f, 0xca77,\n    0xa76c, 0xa76a, 0x003f, 0xa76b, 0xa771, 0xcaa1, 0xa75e, 0x003f,\n    0xa772, 0xcaa3, 0xa766, 0xa763, 0x003f, 0xca7a, 0xa762, 0xcaa6,\n    0xa765, 0x003f, 0xa769, 0x003f, 0x003f, 0x003f, 0xa760, 0xcaa2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xca79, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcbeb, 0xcbea, 0xa94f, 0xcbed, 0xcbef, 0xcbe4, 0xcbe7, 0xcbee,\n    0xa950, 0x003f, 0x003f, 0xcbe1, 0xcbe5, 0x003f, 0x003f, 0xcbe9,\n    0xce49, 0xa94b, 0xce4d, 0xa8fd, 0xcbe6, 0xa8fe, 0xa94c, 0xa945,\n    0xa941, 0x003f, 0xcbe2, 0xa944, 0xa949, 0xa952, 0xcbe3, 0xcbdc,\n    0xa943, 0xcbdd, 0xcbdf, 0x003f, 0xa946, 0x003f, 0xa948, 0xcbdb,\n    0xcbe0, 0x003f, 0x003f, 0xa951, 0xa94d, 0xcbe8, 0xa953, 0x003f,\n    0xa94a, 0xcbde, 0xa947, 0x003f, 0x003f, 0xa942, 0xa940, 0x003f,\n    0xcbec, 0x003f, 0xa94e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xce48, 0xcdfb, 0xce4b, 0x003f, 0x003f, 0xcdfd, 0xab78, 0xaba8,\n    0xab74, 0xaba7, 0xab7d, 0xaba4, 0xab72, 0xcdfc, 0xce43, 0xaba3,\n    0xce4f, 0xaba5, 0x003f, 0xab79, 0x003f, 0x003f, 0xce45, 0xce42,\n    0xab77, 0x003f, 0xcdfa, 0xaba6, 0xce4a, 0xab7c, 0xce4c, 0xaba9,\n    0xab73, 0xab7e, 0xab7b, 0xce40, 0xaba1, 0xce46, 0xce47, 0xab7a,\n    0xaba2, 0xab76, 0x003f, 0x003f, 0x003f, 0x003f, 0xab75, 0xcdfe,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce44, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce4e, 0x003f,\n    0xd144, 0xadfb, 0xd0f1, 0x003f, 0xd0f6, 0xadf4, 0xae40, 0xd0f4,\n    0xadef, 0xadf9, 0xadfe, 0xd0fb, 0x003f, 0xadfa, 0xadfd, 0x003f,\n    0x003f, 0xd0fe, 0xadf5, 0xd0f5, 0x003f, 0x003f, 0x003f, 0xd142,\n    0xd143, 0x003f, 0xadf7, 0xd141, 0xadf3, 0xae43, 0x003f, 0xd0f8,\n    /* 0x5500 .. 0x55ff */\n    0x003f, 0xadf1, 0x003f, 0xd146, 0xd0f9, 0xd0fd, 0xadf6, 0xae42,\n    0xd0fa, 0xadfc, 0xd140, 0xd147, 0xd4a1, 0x003f, 0xd145, 0xae44,\n    0xadf0, 0xd0fc, 0xd0f3, 0x003f, 0xadf8, 0x003f, 0x003f, 0xd0f2,\n    0x003f, 0x003f, 0xd0f7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0f0, 0xae41,\n    0x003f, 0x003f, 0xd477, 0x003f, 0xb0e4, 0xd4a7, 0xb0e2, 0xb0df,\n    0xd47c, 0xb0db, 0xd4a2, 0xb0e6, 0xd476, 0xd47b, 0xd47a, 0xadf2,\n    0xb0e1, 0xd4a5, 0x003f, 0xd4a8, 0xd473, 0x003f, 0xb3e8, 0x003f,\n    0xd4a9, 0xb0e7, 0x003f, 0xb0d9, 0xb0d6, 0xd47e, 0xb0d3, 0x003f,\n    0xd4a6, 0x003f, 0xb0da, 0xd4aa, 0x003f, 0xd474, 0xd4a4, 0xb0dd,\n    0xd475, 0xd478, 0xd47d, 0x003f, 0x003f, 0xb0de, 0xb0dc, 0xb0e8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb0e3, 0x003f, 0xb0d7, 0xb1d2,\n    0x003f, 0xb0d8, 0xd479, 0xb0e5, 0xb0e0, 0xd4a3, 0xb0d5, 0x003f,\n    0x003f, 0x003f, 0xb0d4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd471, 0xd472, 0xd86a,\n    0x003f, 0x003f, 0x003f, 0xb3d7, 0xb3da, 0xd875, 0xb3ee, 0xd878,\n    0xb3d8, 0xd871, 0xb3de, 0xb3e4, 0xb5bd, 0x003f, 0x003f, 0xb3e2,\n    0xd86e, 0xb3ef, 0xb3db, 0xb3e3, 0xd876, 0xdcd7, 0xd87b, 0xd86f,\n    0x003f, 0xd866, 0xd873, 0xd86d, 0xb3e1, 0xd879, 0x003f, 0x003f,\n    0xb3dd, 0xb3f1, 0xb3ea, 0x003f, 0xb3df, 0xb3dc, 0x003f, 0xb3e7,\n    0x003f, 0xd87a, 0xd86c, 0xd872, 0xd874, 0xd868, 0xd877, 0xb3d9,\n    0xd867, 0x003f, 0xb3e0, 0xb3f0, 0xb3ec, 0xd869, 0xb3e6, 0x003f,\n    0x003f, 0xb3ed, 0xb3e9, 0xb3e5, 0x003f, 0xd870, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb3eb, 0x003f, 0x003f, 0x003f, 0xdcd5,\n    0xdcd1, 0x003f, 0xdce0, 0xdcca, 0xdcd3, 0xb6e5, 0xb6e6, 0xb6de,\n    0xdcdc, 0xb6e8, 0xdccf, 0xdcce, 0xdccc, 0xdcde, 0xb6dc, 0xdcd8,\n    0xdccd, 0xb6df, 0xdcd6, 0xb6da, 0xdcd2, 0xdcd9, 0xdcdb, 0x003f,\n    0x003f, 0xdcdf, 0xb6e3, 0xdccb, 0xb6dd, 0xdcd0, 0x003f, 0xb6d8,\n    0x003f, 0xb6e4, 0xdcda, 0xb6e0, 0xb6e1, 0xb6e7, 0xb6db, 0xa25f,\n    0xb6d9, 0xdcd4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6e2,\n    0x003f, 0x003f, 0xdcdd, 0x003f, 0x003f, 0x003f, 0xb9cd, 0xb9c8,\n    0x003f, 0xe155, 0xe151, 0x003f, 0xe14b, 0xb9c2, 0xb9be, 0xe154,\n    /* 0x5600 .. 0x56ff */\n    0xb9bf, 0xe14e, 0xe150, 0x003f, 0xe153, 0x003f, 0xb9c4, 0x003f,\n    0xb9cb, 0xb9c5, 0x003f, 0x003f, 0xe149, 0xb9c6, 0xb9c7, 0xe14c,\n    0xb9cc, 0x003f, 0xe14a, 0xe14f, 0xb9c3, 0xe148, 0xb9c9, 0xb9c1,\n    0x003f, 0x003f, 0x003f, 0xb9c0, 0xe14d, 0xe152, 0x003f, 0xb9ca,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe147,\n    0x003f, 0xbc4d, 0xe547, 0x003f, 0xe544, 0x003f, 0xbc47, 0xbc53,\n    0xbc54, 0x003f, 0xbc4a, 0xe542, 0xbc4c, 0xe4f9, 0xbc52, 0x003f,\n    0xe546, 0xbc49, 0xe548, 0xbc48, 0x003f, 0xe543, 0xe545, 0xbc4b,\n    0xe541, 0xe4fa, 0xe4f7, 0x003f, 0x003f, 0xd86b, 0xe4fd, 0x003f,\n    0xe4f6, 0xe4fc, 0xe4fb, 0x003f, 0xe4f8, 0x003f, 0xbc4f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbc4e, 0x003f, 0x003f, 0x003f, 0xbc50,\n    0xe4fe, 0xbeb2, 0xe540, 0x003f, 0x003f, 0x003f, 0xe945, 0x003f,\n    0xe8fd, 0x003f, 0xbebe, 0xe942, 0xbeb6, 0xbeba, 0xe941, 0x003f,\n    0xbeb9, 0xbeb5, 0xbeb8, 0xbeb3, 0xbebd, 0xe943, 0xe8fe, 0xbebc,\n    0xe8fc, 0xbebb, 0xe944, 0xe940, 0xbc51, 0x003f, 0xbebf, 0xe946,\n    0xbeb7, 0xbeb4, 0x003f, 0x003f, 0x003f, 0x003f, 0xecc6, 0xecc8,\n    0xc07b, 0xecc9, 0xecc7, 0xecc5, 0xecc4, 0xc07d, 0xecc3, 0xc07e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xecc1, 0xecc2, 0xc07a, 0xc0a1,\n    0xc07c, 0x003f, 0x003f, 0xecc0, 0x003f, 0xc250, 0x003f, 0xefbc,\n    0xefba, 0xefbf, 0xefbd, 0x003f, 0xefbb, 0xefbe, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc360, 0xf1f2, 0xf1f3,\n    0xc456, 0x003f, 0xf1f4, 0xf1f0, 0xf1f5, 0xf1f1, 0xc251, 0x003f,\n    0x003f, 0x003f, 0xf3fe, 0xf441, 0xc459, 0xf440, 0xc458, 0xc457,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc45a, 0xf5c5, 0xf5c6, 0x003f,\n    0xc4da, 0xc4d9, 0xc4db, 0xf5c4, 0x003f, 0xf6d8, 0xf6d7, 0x003f,\n    0xc56d, 0xc56f, 0xc56e, 0xf6d9, 0xc5c8, 0xf8a6, 0x003f, 0x003f,\n    0x003f, 0xc5f1, 0x003f, 0xf8a5, 0xf8ee, 0x003f, 0x003f, 0xc949,\n    0x003f, 0x003f, 0xa57d, 0xa57c, 0x003f, 0xa65f, 0xa65e, 0xc9c7,\n    0xa65d, 0xc9c6, 0x003f, 0x003f, 0xa779, 0xcaa9, 0x003f, 0xcaa8,\n    0x003f, 0x003f, 0xa777, 0xa77a, 0x003f, 0x003f, 0xcaa7, 0x003f,\n    0xa778, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcbf0,\n    0x003f, 0xcbf1, 0xa954, 0x003f, 0x003f, 0x003f, 0x003f, 0xabaa,\n    /* 0x5700 .. 0x57ff */\n    0x003f, 0xd148, 0xd149, 0xae45, 0xae46, 0x003f, 0x003f, 0xd4ac,\n    0xb0e9, 0xb0eb, 0xd4ab, 0xb0ea, 0xd87c, 0xb3f2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb6e9, 0xb6ea, 0xdce1, 0x003f, 0xb9cf, 0x003f,\n    0xb9ce, 0x003f, 0xe549, 0xe948, 0xe947, 0x003f, 0xf96b, 0xa467,\n    0xc959, 0x003f, 0xc96e, 0xc96f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa662, 0xa666, 0xc9c9, 0x003f, 0xa664, 0xa663, 0xc9c8, 0xa665,\n    0xa661, 0x003f, 0x003f, 0xa660, 0xc9ca, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa7a6, 0x003f, 0x003f, 0xa7a3, 0x003f,\n    0xa77d, 0xcaaa, 0x003f, 0x003f, 0x003f, 0xcaab, 0x003f, 0xa7a1,\n    0x003f, 0xcaad, 0xa77b, 0xcaae, 0xcaac, 0xa77e, 0xa7a2, 0xa7a5,\n    0xa7a4, 0xa77c, 0xcaaf, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa959, 0xcbfe, 0x003f, 0xa95b, 0x003f, 0xa95a, 0x003f,\n    0xcc40, 0xa958, 0xa957, 0xcbf5, 0x003f, 0xcbf4, 0x003f, 0xcbf2,\n    0xcbf7, 0xcbf6, 0xcbf3, 0xcbfc, 0xcbfd, 0xcbfa, 0xcbf8, 0xa956,\n    0x003f, 0x003f, 0x003f, 0xcbfb, 0xa95c, 0xcc41, 0x003f, 0x003f,\n    0xcbf9, 0x003f, 0xabab, 0xa955, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xabac, 0xce54, 0x003f, 0x003f, 0xce5a,\n    0x003f, 0x003f, 0x003f, 0xabb2, 0xce58, 0xce5e, 0x003f, 0xce55,\n    0xce59, 0xce5b, 0xce5d, 0xce57, 0x003f, 0xce56, 0xce51, 0xce52,\n    0xabad, 0x003f, 0xabaf, 0xabae, 0xce53, 0xce5c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xabb1, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xce50, 0xd153, 0x003f,\n    0xd152, 0xd157, 0xd14e, 0x003f, 0xd151, 0xd150, 0x003f, 0xd154,\n    0x003f, 0xd158, 0xae47, 0xae4a, 0x003f, 0x003f, 0xd14f, 0xd155,\n    0x003f, 0x003f, 0x003f, 0xae49, 0xd14a, 0x003f, 0xabb0, 0xd4ba,\n    0xd156, 0x003f, 0xd14d, 0x003f, 0xae48, 0xd14c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd4b1, 0x003f, 0x003f, 0xb0ec,\n    0xb0f0, 0xd4c1, 0xd4af, 0xd4bd, 0xb0f1, 0xd4bf, 0x003f, 0xd4c5,\n    0x003f, 0xd4c9, 0x003f, 0x003f, 0xd4c0, 0xd4b4, 0xd4bc, 0x003f,\n    0xd4ca, 0xd4c8, 0xd4be, 0xd4b9, 0xd4b2, 0xd8a6, 0xd4b0, 0xb0f5,\n    0xd4b7, 0xb0f6, 0xb0f2, 0xd4ad, 0xd4c3, 0xd4b5, 0x003f, 0x003f,\n    /* 0x5800 .. 0x58ff */\n    0xd4b3, 0xd4c6, 0xb0f3, 0x003f, 0xd4cc, 0xb0ed, 0xb0ef, 0xd4bb,\n    0xd4b6, 0xae4b, 0xb0ee, 0xd4b8, 0xd4c7, 0xd4cb, 0xd4c2, 0x003f,\n    0xd4c4, 0x003f, 0x003f, 0x003f, 0xd4ae, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd8a1, 0x003f, 0xd8aa, 0xd8a9, 0xb3fa, 0xd8a2, 0x003f,\n    0xb3fb, 0xb3f9, 0x003f, 0xd8a4, 0xb3f6, 0xd8a8, 0x003f, 0xd8a3,\n    0xd8a5, 0xd87d, 0xb3f4, 0x003f, 0xd8b2, 0xd8b1, 0xd8ae, 0xb3f3,\n    0xb3f7, 0xb3f8, 0xd14b, 0xd8ab, 0xb3f5, 0xb0f4, 0xd8ad, 0xd87e,\n    0xd8b0, 0xd8af, 0x003f, 0xd8b3, 0x003f, 0xdcef, 0x003f, 0xd8ac,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd8a7, 0xdce7, 0xb6f4, 0xb6f7, 0xb6f2, 0xdce6, 0xdcea, 0xdce5,\n    0x003f, 0xb6ec, 0xb6f6, 0xdce2, 0xb6f0, 0xdce9, 0x003f, 0xb6ee,\n    0xb6ed, 0xdcec, 0xb6ef, 0xdcee, 0x003f, 0xdceb, 0xb6eb, 0x003f,\n    0x003f, 0x003f, 0xb6f5, 0xdcf0, 0xdce4, 0xdced, 0x003f, 0x003f,\n    0xdce3, 0x003f, 0x003f, 0xb6f1, 0x003f, 0xb6f3, 0x003f, 0xdce8,\n    0x003f, 0xdcf1, 0x003f, 0x003f, 0xe15d, 0xb9d0, 0xe163, 0x003f,\n    0x003f, 0xb9d5, 0xe15f, 0xe166, 0xe157, 0xb9d7, 0xb9d1, 0xe15c,\n    0xbc55, 0xe15b, 0xe164, 0xb9d2, 0x003f, 0xb9d6, 0xe15a, 0xe160,\n    0xe165, 0xe156, 0xb9d4, 0xe15e, 0x003f, 0x003f, 0xe162, 0xe168,\n    0xe158, 0xe161, 0x003f, 0xb9d3, 0xe167, 0x003f, 0x003f, 0x003f,\n    0xe159, 0x003f, 0x003f, 0x003f, 0xbc59, 0xe54b, 0xbc57, 0xbc56,\n    0xe54d, 0xe552, 0x003f, 0xe54e, 0x003f, 0xe551, 0xbc5c, 0x003f,\n    0xbea5, 0xbc5b, 0x003f, 0xe54a, 0xe550, 0x003f, 0xbc5a, 0xe54f,\n    0x003f, 0xe54c, 0x003f, 0xbc58, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe94d, 0xf9d9, 0xe94f, 0xe94a, 0xbec1, 0xe94c,\n    0x003f, 0xbec0, 0xe94e, 0x003f, 0x003f, 0xbec3, 0xe950, 0xbec2,\n    0xe949, 0xe94b, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0a5, 0xeccc,\n    0x003f, 0xc0a4, 0xeccd, 0xc0a3, 0xeccb, 0xc0a2, 0xecca, 0x003f,\n    0xc253, 0xc252, 0xf1f6, 0xf1f8, 0x003f, 0xf1f7, 0xc361, 0xc362,\n    0x003f, 0x003f, 0xc363, 0xf442, 0xc45b, 0x003f, 0x003f, 0xf7d3,\n    0xf7d2, 0xc5f2, 0x003f, 0xa468, 0xa4d0, 0x003f, 0x003f, 0xa7a7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xce5f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb3fc, 0xb3fd, 0x003f, 0xdcf2, 0xb9d8, 0xe169, 0xe553,\n    /* 0x5900 .. 0x59ff */\n    0x003f, 0x003f, 0x003f, 0xc95a, 0x003f, 0x003f, 0xcab0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcc42, 0xce60, 0xd159, 0xae4c,\n    0x003f, 0x003f, 0xf1f9, 0x003f, 0xc4dc, 0xa469, 0xa57e, 0xc970,\n    0x003f, 0xa667, 0xa668, 0x003f, 0xa95d, 0x003f, 0x003f, 0x003f,\n    0xb0f7, 0x003f, 0xb9da, 0x003f, 0xb9db, 0xb9d9, 0x003f, 0xa46a,\n    0x003f, 0xa4d1, 0xa4d3, 0xa4d2, 0xc95b, 0xa4d4, 0xa5a1, 0xc971,\n    0x003f, 0xa5a2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa669,\n    0xa66a, 0x003f, 0x003f, 0x003f, 0xc9cb, 0x003f, 0xa7a8, 0x003f,\n    0xcab1, 0x003f, 0x003f, 0x003f, 0xa961, 0xcc43, 0x003f, 0xa95f,\n    0xa960, 0xa95e, 0xd15a, 0x003f, 0x003f, 0x003f, 0xabb6, 0xabb5,\n    0xabb7, 0xabb4, 0x003f, 0xce61, 0xa962, 0xabb3, 0x003f, 0xae4d,\n    0xae4e, 0x003f, 0xae4f, 0x003f, 0xd4cd, 0x003f, 0x003f, 0x003f,\n    0xb3fe, 0xd8b4, 0xb0f8, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6f8,\n    0x003f, 0xb9dd, 0xb9dc, 0xe16a, 0x003f, 0xbc5d, 0xbec4, 0x003f,\n    0xefc0, 0xf6da, 0xf7d4, 0xa46b, 0xa5a3, 0x003f, 0xa5a4, 0xc9d1,\n    0xa66c, 0xa66f, 0x003f, 0xc9cf, 0xc9cd, 0xa66e, 0xc9d0, 0xc9d2,\n    0xc9cc, 0xa671, 0xa670, 0xa66d, 0xa66b, 0xc9ce, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa7b3, 0x003f, 0x003f, 0xa7b0, 0xcab6, 0xcab9,\n    0xcab8, 0x003f, 0xa7aa, 0xa7b2, 0x003f, 0x003f, 0xa7af, 0xcab5,\n    0xcab3, 0xa7ae, 0x003f, 0x003f, 0x003f, 0xa7a9, 0xa7ac, 0x003f,\n    0xcab4, 0xcabb, 0xcab7, 0xa7ad, 0xa7b1, 0xa7b4, 0xcab2, 0xcaba,\n    0xa7ab, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa967, 0xa96f,\n    0x003f, 0xcc4f, 0xcc48, 0xa970, 0xcc53, 0xcc44, 0xcc4b, 0x003f,\n    0x003f, 0xa966, 0xcc45, 0xa964, 0xcc4c, 0xcc50, 0xa963, 0x003f,\n    0xcc51, 0xcc4a, 0x003f, 0xcc4d, 0x003f, 0xa972, 0xa969, 0xcc54,\n    0xcc52, 0x003f, 0xa96e, 0xa96c, 0xcc49, 0xa96b, 0xcc47, 0xcc46,\n    0xa96a, 0xa968, 0xa971, 0xa96d, 0xa965, 0x003f, 0xcc4e, 0x003f,\n    0xabb9, 0x003f, 0xabc0, 0xce6f, 0xabb8, 0xce67, 0xce63, 0x003f,\n    0xce73, 0xce62, 0x003f, 0xabbb, 0xce6c, 0xabbe, 0xabc1, 0x003f,\n    0xabbc, 0xce70, 0xabbf, 0x003f, 0xae56, 0xce76, 0xce64, 0x003f,\n    0x003f, 0xce66, 0xce6d, 0xce71, 0xce75, 0xce72, 0xce6b, 0xce6e,\n    0x003f, 0x003f, 0xce68, 0xabc3, 0xce6a, 0xce69, 0xce74, 0xabba,\n    /* 0x5a00 .. 0x5aff */\n    0xce65, 0xabc2, 0x003f, 0xabbd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xae5c, 0xd162, 0x003f, 0xae5b, 0x003f, 0x003f, 0xd160,\n    0x003f, 0xae50, 0x003f, 0xae55, 0x003f, 0xd15f, 0xd15c, 0xd161,\n    0xae51, 0xd15b, 0x003f, 0xae54, 0xae52, 0x003f, 0xd163, 0xae53,\n    0xae57, 0x003f, 0x003f, 0xae58, 0x003f, 0xae5a, 0x003f, 0x003f,\n    0x003f, 0xae59, 0x003f, 0x003f, 0x003f, 0xd15d, 0xd15e, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd164, 0x003f, 0xd4d4, 0xb0f9, 0xd8c2,\n    0xd4d3, 0xd4e6, 0x003f, 0x003f, 0xb140, 0x003f, 0xd4e4, 0x003f,\n    0xb0fe, 0xb0fa, 0xd4ed, 0xd4dd, 0xd4e0, 0x003f, 0xb143, 0xd4ea,\n    0xd4e2, 0xb0fb, 0xb144, 0x003f, 0xd4e7, 0xd4e5, 0x003f, 0x003f,\n    0xd4d6, 0xd4eb, 0xd4df, 0xd4da, 0x003f, 0xd4d0, 0xd4ec, 0xd4dc,\n    0xd4cf, 0x003f, 0xb142, 0xd4e1, 0xd4ee, 0xd4de, 0xd4d2, 0xd4d7,\n    0xd4ce, 0x003f, 0xb141, 0x003f, 0xd4db, 0xd4d8, 0xb0fc, 0xd4d1,\n    0x003f, 0xd4e9, 0xb0fd, 0x003f, 0xd4d9, 0xd4d5, 0x003f, 0x003f,\n    0xd4e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb440,\n    0xd8bb, 0x003f, 0xd8b8, 0xd8c9, 0xd8bd, 0xd8ca, 0x003f, 0xb442,\n    0x003f, 0x003f, 0x003f, 0xd8c6, 0xd8c3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd8c4, 0xd8c7, 0xd8cb, 0x003f, 0xd4e3, 0xd8cd,\n    0xdd47, 0x003f, 0xb443, 0xd8ce, 0xd8b6, 0xd8c0, 0x003f, 0xd8c5,\n    0x003f, 0x003f, 0xb441, 0xb444, 0xd8cc, 0xd8cf, 0xd8ba, 0xd8b7,\n    0x003f, 0x003f, 0xd8b9, 0x003f, 0x003f, 0xd8be, 0xd8bc, 0xb445,\n    0x003f, 0xd8c8, 0x003f, 0x003f, 0xd8bf, 0x003f, 0xd8c1, 0xd8b5,\n    0xdcfa, 0xdcf8, 0xb742, 0xb740, 0xdd43, 0xdcf9, 0xdd44, 0xdd40,\n    0xdcf7, 0xdd46, 0xdcf6, 0xdcfd, 0xb6fe, 0xb6fd, 0xb6fc, 0xdcfb,\n    0xdd41, 0xb6f9, 0xb741, 0x003f, 0xdcf4, 0x003f, 0xdcfe, 0xdcf3,\n    0xdcfc, 0xb6fa, 0xdd42, 0xdcf5, 0xb6fb, 0xdd45, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe16e, 0xb9e2, 0xb9e1,\n    0xb9e3, 0xe17a, 0xe170, 0xe176, 0xe16b, 0xe179, 0xe178, 0xe17c,\n    0xe175, 0xb9de, 0xe174, 0xb9e4, 0x003f, 0xe16d, 0xb9df, 0x003f,\n    0xe17b, 0xb9e0, 0xe16f, 0xe172, 0xe177, 0xe171, 0xe16c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe173, 0xe555, 0xbc61, 0xe558, 0xe557,\n    0xe55a, 0xe55c, 0xf9dc, 0xbc5f, 0x003f, 0xe556, 0x003f, 0xe554,\n    /* 0x5b00 .. 0x5bff */\n    0x003f, 0xe55d, 0xe55b, 0xe559, 0x003f, 0xe55f, 0x003f, 0xe55e,\n    0xbc63, 0xbc5e, 0x003f, 0xbc60, 0xbc62, 0x003f, 0x003f, 0xe560,\n    0xe957, 0x003f, 0x003f, 0xe956, 0xe955, 0x003f, 0xe958, 0xe951,\n    0x003f, 0xe952, 0xe95a, 0xe953, 0x003f, 0xbec5, 0xe95c, 0x003f,\n    0xe95b, 0xe954, 0x003f, 0xecd1, 0xc0a8, 0xeccf, 0xecd4, 0xecd3,\n    0xe959, 0x003f, 0xc0a7, 0x003f, 0xecd2, 0xecce, 0xecd6, 0xecd5,\n    0xc0a6, 0x003f, 0xecd0, 0x003f, 0xbec6, 0x003f, 0x003f, 0x003f,\n    0xc254, 0x003f, 0x003f, 0x003f, 0xefc1, 0xf1fa, 0xf1fb, 0xf1fc,\n    0xc45c, 0x003f, 0x003f, 0xc45d, 0x003f, 0xf443, 0x003f, 0xf5c8,\n    0xf5c7, 0x003f, 0x003f, 0xf6db, 0xf6dc, 0xf7d5, 0xf8a7, 0x003f,\n    0xa46c, 0xa46d, 0x003f, 0xa46e, 0xa4d5, 0xa5a5, 0xc9d3, 0xa672,\n    0xa673, 0x003f, 0xa7b7, 0xa7b8, 0xa7b6, 0xa7b5, 0x003f, 0xa973,\n    0x003f, 0x003f, 0xcc55, 0xa975, 0xa974, 0xcc56, 0x003f, 0x003f,\n    0x003f, 0xabc4, 0x003f, 0xae5d, 0xd165, 0x003f, 0xd4f0, 0x003f,\n    0xb145, 0xb447, 0xd4ef, 0xb446, 0x003f, 0xb9e5, 0x003f, 0xe17d,\n    0xbec7, 0x003f, 0xc0a9, 0xecd7, 0x003f, 0xc45e, 0x003f, 0xc570,\n    0x003f, 0xc972, 0x003f, 0xa5a6, 0xc973, 0xa676, 0x003f, 0xa674,\n    0xa675, 0xa677, 0x003f, 0xa7ba, 0xa7b9, 0x003f, 0xcabc, 0xa7bb,\n    0x003f, 0x003f, 0xcabd, 0xcc57, 0x003f, 0xcc58, 0x003f, 0xa976,\n    0xa978, 0xa97a, 0xa977, 0xa97b, 0xa979, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xabc8, 0xabc5, 0xabc7, 0xabc9, 0xabc6, 0xd166,\n    0xce77, 0x003f, 0x003f, 0x003f, 0xd168, 0xd167, 0xae63, 0x003f,\n    0xae5f, 0x003f, 0x003f, 0xae60, 0xae62, 0xae64, 0xae61, 0x003f,\n    0xae66, 0xae65, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb14a,\n    0xd4f2, 0xd4f1, 0xb149, 0x003f, 0xb148, 0xb147, 0xb14b, 0xb146,\n    0x003f, 0x003f, 0xd8d5, 0xd8d2, 0xb449, 0xd8d1, 0xd8d6, 0x003f,\n    0xb44b, 0xd8d4, 0xb448, 0xb44a, 0xd8d3, 0x003f, 0xdd48, 0x003f,\n    0xdd49, 0xdd4a, 0x003f, 0x003f, 0x003f, 0x003f, 0xb9e6, 0xb9ee,\n    0xe17e, 0xb9e8, 0xb9ec, 0xe1a1, 0xb9ed, 0xb9e9, 0xb9ea, 0xb9e7,\n    0xb9eb, 0xbc66, 0xd8d0, 0xbc67, 0xbc65, 0x003f, 0xbc64, 0xe95d,\n    0xbec8, 0xecd8, 0xecd9, 0x003f, 0x003f, 0xc364, 0xc45f, 0x003f,\n    0xa46f, 0x003f, 0xa678, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x5c00 .. 0x5cff */\n    0x003f, 0xabca, 0x003f, 0xd169, 0xae67, 0x003f, 0x003f, 0xb14e,\n    0xb14d, 0xb14c, 0xb44c, 0xb44d, 0xd8d7, 0xb9ef, 0xbec9, 0xa470,\n    0xc95c, 0xa4d6, 0xc974, 0x003f, 0x003f, 0xc9d4, 0xa679, 0x003f,\n    0x003f, 0x003f, 0xa97c, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd4b,\n    0x003f, 0x003f, 0xa471, 0x003f, 0xa4d7, 0xc9d5, 0x003f, 0x003f,\n    0xcabe, 0x003f, 0xcabf, 0x003f, 0xa7bc, 0x003f, 0x003f, 0x003f,\n    0xd8d8, 0xb44e, 0x003f, 0xdd4c, 0x003f, 0x003f, 0x003f, 0xc0aa,\n    0xa472, 0xa4a8, 0xa4d8, 0xc975, 0xa5a7, 0x003f, 0xa7c0, 0xa7bf,\n    0xa7bd, 0xa7be, 0x003f, 0x003f, 0xcc59, 0xa97e, 0xa9a1, 0xcc5a,\n    0xa97d, 0x003f, 0x003f, 0xabce, 0xce78, 0xabcd, 0xabcb, 0xabcc,\n    0xae6a, 0xae68, 0x003f, 0x003f, 0xd16b, 0xae69, 0xd16a, 0x003f,\n    0xae5e, 0xd4f3, 0x003f, 0x003f, 0xb150, 0xb151, 0x003f, 0x003f,\n    0xb14f, 0x003f, 0xb9f0, 0xe1a2, 0xbc68, 0xbc69, 0x003f, 0xe561,\n    0xc0ab, 0xefc2, 0xefc3, 0x003f, 0xc4dd, 0xf8a8, 0xc94b, 0xa4d9,\n    0x003f, 0xa473, 0x003f, 0xc977, 0xc976, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa67a, 0xc9d7, 0xc9d8, 0xc9d6, 0x003f, 0xc9d9, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcac7, 0x003f,\n    0xcac2, 0xcac4, 0xcac6, 0xcac3, 0xa7c4, 0xcac0, 0x003f, 0xcac1,\n    0xa7c1, 0xa7c2, 0xcac5, 0xcac8, 0xa7c3, 0xcac9, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcc68, 0x003f, 0xcc62,\n    0xcc5d, 0xa9a3, 0xcc65, 0xcc63, 0xcc5c, 0xcc69, 0xcc6c, 0xcc67,\n    0xcc60, 0xa9a5, 0xcc66, 0xa9a6, 0xcc61, 0xcc64, 0xcc5b, 0xcc5f,\n    0xcc6b, 0xa9a7, 0x003f, 0xa9a8, 0x003f, 0xcc5e, 0xcc6a, 0xa9a2,\n    0xa9a4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xceab, 0xcea4,\n    0xceaa, 0xcea3, 0xcea5, 0xce7d, 0xce7b, 0x003f, 0xceac, 0xcea9,\n    0xce79, 0x003f, 0xabd0, 0xcea7, 0xcea8, 0x003f, 0xcea6, 0xce7c,\n    0xce7a, 0xabcf, 0xcea2, 0xce7e, 0x003f, 0x003f, 0xcea1, 0xcead,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xae6f, 0x003f, 0xae6e, 0x003f, 0xd16c, 0xae6b, 0xd16e, 0x003f,\n    0xae70, 0xd16f, 0x003f, 0x003f, 0xae73, 0x003f, 0xae71, 0xd170,\n    0xceae, 0xd172, 0x003f, 0xae6d, 0x003f, 0xae6c, 0x003f, 0xd16d,\n    /* 0x5d00 .. 0x5dff */\n    0xd171, 0xae72, 0x003f, 0x003f, 0x003f, 0x003f, 0xb153, 0xb152,\n    0x003f, 0x003f, 0x003f, 0xd4f5, 0xd4f9, 0xd4fb, 0xb154, 0xd4fe,\n    0x003f, 0xb158, 0xd541, 0x003f, 0xb15a, 0x003f, 0xb156, 0xb15e,\n    0x003f, 0xb15b, 0xd4f7, 0xb155, 0x003f, 0xd4f6, 0xd4f4, 0xd543,\n    0xd4f8, 0x003f, 0xb157, 0xd542, 0xb15c, 0xd4fd, 0xd4fc, 0xb15d,\n    0xd4fa, 0xb159, 0x003f, 0x003f, 0x003f, 0x003f, 0xd544, 0x003f,\n    0xd540, 0xd8e7, 0xd8ee, 0xd8e3, 0xb451, 0xd8df, 0xd8ef, 0xd8d9,\n    0xd8ec, 0xd8ea, 0xd8e4, 0x003f, 0xd8ed, 0xd8e6, 0x003f, 0xd8de,\n    0xd8f0, 0xd8dc, 0xd8e9, 0xd8da, 0x003f, 0xd8f1, 0x003f, 0xb452,\n    0x003f, 0xd8eb, 0xdd4f, 0xd8dd, 0xb44f, 0x003f, 0xd8e1, 0x003f,\n    0xb450, 0xd8e0, 0xd8e5, 0x003f, 0x003f, 0xd8e2, 0x003f, 0x003f,\n    0x003f, 0xd8e8, 0x003f, 0x003f, 0x003f, 0x003f, 0xdd53, 0x003f,\n    0x003f, 0x003f, 0xdd56, 0xdd4e, 0x003f, 0xdd50, 0x003f, 0xdd55,\n    0xdd54, 0xb743, 0x003f, 0xd8db, 0xdd52, 0x003f, 0x003f, 0xb744,\n    0x003f, 0xdd4d, 0xdd51, 0x003f, 0x003f, 0x003f, 0x003f, 0xe1a9,\n    0x003f, 0xe1b0, 0xe1a7, 0x003f, 0xe1ae, 0xe1a5, 0xe1ad, 0xe1b1,\n    0xe1a4, 0xe1a8, 0xe1a3, 0x003f, 0xb9f1, 0x003f, 0xe1a6, 0xb9f2,\n    0xe1ac, 0xe1ab, 0xe1aa, 0x003f, 0x003f, 0xe1af, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe565, 0xe567, 0xbc6b, 0xe568, 0x003f, 0xe563,\n    0x003f, 0xe562, 0xe56c, 0x003f, 0xe56a, 0xbc6a, 0xe56d, 0xe564,\n    0xe569, 0xe56b, 0xe566, 0x003f, 0x003f, 0x003f, 0x003f, 0xe961,\n    0xe966, 0xe960, 0xe965, 0x003f, 0xe95e, 0xe968, 0xe964, 0xe969,\n    0xe963, 0xe95f, 0xe967, 0x003f, 0xe96a, 0xe962, 0x003f, 0xecda,\n    0xc0af, 0x003f, 0xc0ad, 0x003f, 0xc0ac, 0xc0ae, 0x003f, 0x003f,\n    0xefc4, 0x003f, 0xf172, 0xf1fd, 0x003f, 0x003f, 0xf444, 0xf445,\n    0x003f, 0xc460, 0x003f, 0xf5c9, 0x003f, 0xc4de, 0x003f, 0xf5ca,\n    0x003f, 0xf6de, 0xc572, 0x003f, 0xc571, 0xf6dd, 0xc5c9, 0x003f,\n    0xf7d6, 0x003f, 0x003f, 0x003f, 0x003f, 0xa474, 0xa67b, 0xc9da,\n    0xcaca, 0xa8b5, 0xb15f, 0x003f, 0x003f, 0xa475, 0xa5aa, 0xa5a9,\n    0xa5a8, 0x003f, 0x003f, 0xa7c5, 0x003f, 0x003f, 0xae74, 0x003f,\n    0xdd57, 0xa476, 0xa477, 0xa478, 0xa4da, 0x003f, 0x003f, 0xabd1,\n    0x003f, 0xceaf, 0x003f, 0x003f, 0x003f, 0xb453, 0xa479, 0xc95d,\n    /* 0x5e00 .. 0x5eff */\n    0x003f, 0x003f, 0xa5ab, 0xa5ac, 0xc978, 0x003f, 0xa67c, 0x003f,\n    0x003f, 0x003f, 0xcacb, 0x003f, 0xa7c6, 0x003f, 0xcacc, 0x003f,\n    0x003f, 0xa9ae, 0x003f, 0x003f, 0xcc6e, 0xa9ac, 0xa9ab, 0xcc6d,\n    0xa9a9, 0xcc6f, 0xa9aa, 0xa9ad, 0x003f, 0xabd2, 0x003f, 0xabd4,\n    0xceb3, 0xceb0, 0xceb1, 0xceb2, 0xceb4, 0xabd3, 0x003f, 0x003f,\n    0xd174, 0xd173, 0x003f, 0xae76, 0x003f, 0xae75, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb162, 0xd546, 0x003f, 0xb161, 0xb163,\n    0xb160, 0x003f, 0x003f, 0x003f, 0x003f, 0xb455, 0xd545, 0x003f,\n    0xb456, 0xd8f3, 0x003f, 0xb457, 0xd8f2, 0xb454, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdd5a, 0xdd5c, 0xb745, 0xdd5b, 0xdd59, 0xdd58,\n    0x003f, 0x003f, 0x003f, 0xe1b4, 0xb9f7, 0xb9f5, 0x003f, 0xb9f6,\n    0xe1b2, 0xe1b3, 0x003f, 0xb9f3, 0xe571, 0xe56f, 0x003f, 0xbc6d,\n    0xe570, 0xbc6e, 0xbc6c, 0xb9f4, 0x003f, 0x003f, 0xe96d, 0xe96b,\n    0xe96c, 0xe56e, 0xecdc, 0xc0b0, 0xecdb, 0xefc5, 0xefc6, 0xe96e,\n    0xf1fe, 0x003f, 0xa47a, 0xa5ad, 0xa67e, 0xc9db, 0xa67d, 0x003f,\n    0xa9af, 0xb746, 0x003f, 0xa4db, 0xa5ae, 0xabd5, 0xb458, 0x003f,\n    0xc979, 0x003f, 0xc97a, 0x003f, 0xc9dc, 0x003f, 0x003f, 0xa7c8,\n    0xcad0, 0xcace, 0xa7c9, 0xcacd, 0xcacf, 0xcad1, 0x003f, 0xa7c7,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa9b3, 0xa9b4, 0xa9b1,\n    0x003f, 0x003f, 0xa9b0, 0xceb8, 0xa9b2, 0x003f, 0x003f, 0x003f,\n    0xabd6, 0x003f, 0xceb7, 0xceb9, 0xceb6, 0xceba, 0xabd7, 0xae79,\n    0xd175, 0x003f, 0xd177, 0xae77, 0xd178, 0xae78, 0xd176, 0x003f,\n    0xceb5, 0xd547, 0xd54a, 0xd54b, 0xd548, 0xb167, 0xb166, 0xb164,\n    0xb165, 0xd549, 0x003f, 0x003f, 0x003f, 0x003f, 0xb168, 0x003f,\n    0x003f, 0xb45a, 0xb45b, 0x003f, 0xb45c, 0xdd5d, 0xdd5f, 0xdd61,\n    0xb748, 0xb747, 0xb459, 0xdd60, 0xdd5e, 0x003f, 0xe1b8, 0x003f,\n    0x003f, 0xe1b6, 0xe1bc, 0xb9f8, 0xe1bd, 0xe1ba, 0xb9f9, 0xe1b7,\n    0xe1b5, 0xe1bb, 0xbc70, 0xe573, 0xe1b9, 0xbc72, 0xe574, 0xbc71,\n    0xbc74, 0xe575, 0xbc6f, 0xbc73, 0x003f, 0xe973, 0xe971, 0xe970,\n    0xe972, 0xe96f, 0x003f, 0x003f, 0xc366, 0x003f, 0xf446, 0xf447,\n    0x003f, 0xf5cb, 0xf6df, 0xc655, 0x003f, 0x003f, 0xa9b5, 0xa7ca,\n    0x003f, 0x003f, 0xabd8, 0x003f, 0x003f, 0x003f, 0xa47b, 0xa4dc,\n    /* 0x5f00 .. 0x5fff */\n    0x003f, 0xa5af, 0xc9dd, 0x003f, 0xa7cb, 0xcad2, 0x003f, 0xcebb,\n    0xabd9, 0x003f, 0xb9fa, 0xa47c, 0x003f, 0x003f, 0x003f, 0xa6a1,\n    0x003f, 0x003f, 0xb749, 0xa47d, 0xa4dd, 0xa4de, 0x003f, 0xa5b1,\n    0xa5b0, 0x003f, 0xc9de, 0xa6a2, 0x003f, 0xcad3, 0x003f, 0xa7cc,\n    0x003f, 0x003f, 0xcc71, 0xcc72, 0xcc73, 0x003f, 0xa9b6, 0xa9b7,\n    0xcc70, 0xa9b8, 0x003f, 0x003f, 0x003f, 0xabda, 0xcebc, 0x003f,\n    0xd17a, 0xae7a, 0x003f, 0xd179, 0x003f, 0xb169, 0xd54c, 0xb16a,\n    0xd54d, 0x003f, 0x003f, 0x003f, 0xb45d, 0x003f, 0x003f, 0x003f,\n    0xdd62, 0x003f, 0x003f, 0xe1bf, 0xe1be, 0x003f, 0xb9fb, 0x003f,\n    0xbc75, 0xe576, 0xbeca, 0xe974, 0xc0b1, 0x003f, 0xc573, 0xf7d8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xcc74, 0x003f, 0xcebd, 0xb16b,\n    0xd8f4, 0xb74a, 0x003f, 0x003f, 0x003f, 0xc255, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa7ce, 0x003f, 0xa7cd, 0xabdb, 0x003f, 0xd17b,\n    0x003f, 0xb16d, 0xb343, 0xb16e, 0xb16c, 0xb45e, 0x003f, 0xe1c0,\n    0xb9fc, 0xbc76, 0x003f, 0xc94c, 0xc9df, 0x003f, 0xcad5, 0xa7cf,\n    0xcad4, 0xa7d0, 0x003f, 0x003f, 0xa9bc, 0xcc77, 0xcc76, 0xa9bb,\n    0xa9b9, 0xa9ba, 0xcc75, 0x003f, 0x003f, 0xabdd, 0xcebe, 0xabe0,\n    0xabdc, 0xabe2, 0xabde, 0xabdf, 0xabe1, 0x003f, 0x003f, 0x003f,\n    0xae7d, 0xae7c, 0xae7b, 0x003f, 0x003f, 0x003f, 0xd54f, 0xb16f,\n    0xb172, 0xb170, 0x003f, 0xd54e, 0xb175, 0x003f, 0xb171, 0xd550,\n    0xb174, 0xb173, 0x003f, 0x003f, 0x003f, 0xd8f6, 0xd8f5, 0x003f,\n    0xb461, 0xb45f, 0xb460, 0xd8f7, 0xb74b, 0xdd64, 0xb74c, 0xdd63,\n    0x003f, 0x003f, 0xe577, 0x003f, 0x003f, 0xbc78, 0xe1c1, 0xbc77,\n    0x003f, 0xb9fd, 0x003f, 0xecde, 0xe975, 0xc0b2, 0xecdd, 0xf240,\n    0xf448, 0xf449, 0x003f, 0xa4df, 0x003f, 0xa5b2, 0x003f, 0x003f,\n    0x003f, 0xc97b, 0x003f, 0x003f, 0xa7d2, 0xa7d4, 0x003f, 0xc9e2,\n    0xcad8, 0xcad7, 0xcad6, 0x003f, 0xc9e1, 0xc9e0, 0xa6a4, 0xa7d3,\n    0xa7d1, 0xa6a3, 0x003f, 0x003f, 0x003f, 0xa9bd, 0xcc78, 0x003f,\n    0xa9be, 0xcadd, 0x003f, 0xcadf, 0xcade, 0xcc79, 0x003f, 0x003f,\n    0xcada, 0x003f, 0xa7d8, 0xa7d6, 0x003f, 0xcad9, 0xcadb, 0xcae1,\n    0x003f, 0xa7d5, 0x003f, 0xcadc, 0xcae5, 0xa9c0, 0x003f, 0xcae2,\n    0xa7d7, 0x003f, 0xcae0, 0xcae3, 0x003f, 0xa9bf, 0x003f, 0xa9c1,\n    /* 0x6000 .. 0x60ff */\n    0xcae4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xccaf, 0xcca2, 0xcc7e, 0xccae, 0xcca9, 0xabe7, 0xa9c2,\n    0xccaa, 0xccad, 0xabe3, 0xccac, 0xa9c3, 0xa9c8, 0xa9c6, 0xcca3,\n    0x003f, 0xcc7c, 0xcca5, 0xa9cd, 0xccb0, 0xabe4, 0xcca6, 0x003f,\n    0xabe5, 0xa9c9, 0xcca8, 0x003f, 0xcecd, 0xabe6, 0xcc7b, 0xa9ca,\n    0xabe8, 0xa9cb, 0xa9c7, 0xa9cc, 0xcca7, 0xcc7a, 0xccab, 0xa9c4,\n    0x003f, 0x003f, 0xcc7d, 0xcca4, 0xcca1, 0xa9c5, 0x003f, 0xcebf,\n    0x003f, 0xcec0, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xceca, 0xd1a1, 0xcecb, 0xabee, 0xcece, 0xcec4, 0xabed, 0xcec6,\n    0x003f, 0xcec7, 0x003f, 0x003f, 0xcec9, 0xabe9, 0x003f, 0x003f,\n    0xaea3, 0x003f, 0xf9da, 0xcec5, 0xcec1, 0xaea4, 0x003f, 0x003f,\n    0xcecf, 0xae7e, 0xd17d, 0xcec8, 0x003f, 0xd17c, 0xcec3, 0xcecc,\n    0x003f, 0x003f, 0xabec, 0xaea1, 0xabf2, 0xaea2, 0xced0, 0xd17e,\n    0xabeb, 0xaea6, 0xabf1, 0xabf0, 0xabef, 0xaea5, 0xced1, 0xaea7,\n    0xabea, 0x003f, 0xcec2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb176,\n    0xd1a4, 0xd1a6, 0x003f, 0xd1a8, 0xaea8, 0xaeae, 0xd553, 0xd1ac,\n    0xd1a3, 0xb178, 0xd551, 0x003f, 0xaead, 0xaeab, 0xd1ae, 0x003f,\n    0xd552, 0x003f, 0xd1a5, 0x003f, 0xaeac, 0xd1a9, 0xaeaf, 0xd1ab,\n    0x003f, 0x003f, 0xaeaa, 0xd1aa, 0xd1ad, 0xd1a7, 0x003f, 0xaea9,\n    0xb179, 0x003f, 0xd1a2, 0xb177, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb17a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd555, 0xd55e, 0xb464, 0x003f, 0xb17c, 0xb1a3, 0xb465, 0xd560,\n    0xb1aa, 0xd8f9, 0xd556, 0xb1a2, 0xb1a5, 0xb17e, 0xd554, 0xd562,\n    0xd565, 0xd949, 0x003f, 0xd563, 0xd8fd, 0xb1a1, 0xb1a8, 0xb1ac,\n    0xd55d, 0xd8f8, 0xd561, 0xb17b, 0xd8fa, 0xd564, 0xd8fc, 0xd559,\n    0x003f, 0xb462, 0x003f, 0xd557, 0xd558, 0xb1a7, 0x003f, 0x003f,\n    0xb1a6, 0xd55b, 0xb1ab, 0xd55f, 0xb1a4, 0xd55c, 0x003f, 0xb1a9,\n    0xb466, 0xb463, 0xd8fb, 0x003f, 0xd55a, 0x003f, 0xb17d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb46b, 0xb46f, 0xd940, 0xb751, 0xb46d, 0xd944, 0xb471, 0xdd65,\n    0xd946, 0xb753, 0xb469, 0xb46c, 0xd947, 0x003f, 0xd948, 0xd94e,\n    /* 0x6100 .. 0x61ff */\n    0xb473, 0xb754, 0x003f, 0xd94a, 0xd94f, 0xd943, 0xb75e, 0x003f,\n    0xb755, 0xb472, 0xd941, 0xd950, 0x003f, 0xb75d, 0xb470, 0xb74e,\n    0xd94d, 0x003f, 0xb474, 0xd945, 0xd8fe, 0xb46a, 0xd942, 0x003f,\n    0xd94b, 0x003f, 0xb74d, 0xb752, 0xb467, 0xd94c, 0x003f, 0xb750,\n    0x003f, 0x003f, 0x003f, 0xb468, 0x003f, 0x003f, 0x003f, 0xb75c,\n    0xe1c3, 0xdd70, 0x003f, 0xdd68, 0xe1c2, 0x003f, 0xdd6c, 0xdd6e,\n    0x003f, 0x003f, 0xdd6b, 0x003f, 0xb75b, 0x003f, 0xdd6a, 0xb75f,\n    0x003f, 0x003f, 0x003f, 0xe1d2, 0x003f, 0x003f, 0xb75a, 0xba40,\n    0xdd71, 0xe1c4, 0x003f, 0x003f, 0xb758, 0xdd69, 0xdd6d, 0xb9fe,\n    0xb74f, 0xdd66, 0xdd67, 0xba41, 0xb757, 0xb759, 0xb756, 0xdd6f,\n    0x003f, 0x003f, 0xe1c8, 0xe1c9, 0xe1ce, 0xbc7d, 0xe1d5, 0x003f,\n    0xba47, 0x003f, 0xba46, 0xe1d0, 0x003f, 0xbc7c, 0xe1c5, 0xba45,\n    0x003f, 0xe1d4, 0xba43, 0xba44, 0x003f, 0xe1d1, 0xe5aa, 0xbc7a,\n    0xb46e, 0x003f, 0xe1d3, 0xbca3, 0xe1cb, 0x003f, 0xbc7b, 0x003f,\n    0xbca2, 0xe1c6, 0xe1ca, 0xe1c7, 0xe1cd, 0xba48, 0xbc79, 0xba42,\n    0x003f, 0xe57a, 0xe1cf, 0x003f, 0xbca1, 0x003f, 0xbca4, 0x003f,\n    0xe1cc, 0x003f, 0xbc7e, 0xe579, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe57e, 0xbece, 0xe578, 0xe9a3, 0xe5a9, 0xbca8, 0x003f,\n    0xbca6, 0xbecc, 0xe5a6, 0xe5a2, 0xbcac, 0x003f, 0xe978, 0x003f,\n    0x003f, 0x003f, 0xbcaa, 0xe5a1, 0x003f, 0xe976, 0x003f, 0xe5a5,\n    0x003f, 0xe5a8, 0xe57d, 0x003f, 0xbcab, 0x003f, 0x003f, 0xbca5,\n    0xe977, 0xbecd, 0xe5a7, 0xbca7, 0xbca9, 0xe5a4, 0xbcad, 0xe5a3,\n    0xe57c, 0xe57b, 0xbecb, 0xe5ab, 0xe97a, 0xece0, 0xbed0, 0x003f,\n    0xe9a2, 0x003f, 0xe97e, 0x003f, 0xece1, 0x003f, 0xbed1, 0xe9a1,\n    0x003f, 0xe97c, 0xc0b4, 0xecdf, 0x003f, 0xe979, 0xe97b, 0xc0b5,\n    0xbed3, 0xc0b3, 0xbed2, 0xc0b7, 0xe97d, 0xbecf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xefcf, 0x003f,\n    0xefc7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xece7, 0xefc8,\n    0xece3, 0x003f, 0x003f, 0xc256, 0xece5, 0xece4, 0xc0b6, 0xece2,\n    0xece6, 0xefd0, 0xefcc, 0xefce, 0x003f, 0xefc9, 0xefca, 0x003f,\n    0xefcd, 0xefcb, 0xc367, 0x003f, 0x003f, 0xc36a, 0xc369, 0xc368,\n    0xc461, 0xf44a, 0xc462, 0xf241, 0xc4df, 0xf5cc, 0xc4e0, 0xc574,\n    /* 0x6200 .. 0x62ff */\n    0xc5ca, 0xf7d9, 0x003f, 0xf7da, 0xf7db, 0x003f, 0x003f, 0xf9ba,\n    0xa4e0, 0xc97c, 0xa5b3, 0x003f, 0xa6a6, 0xa6a7, 0xa6a5, 0x003f,\n    0xa6a8, 0xa7da, 0xa7d9, 0x003f, 0xccb1, 0xa9cf, 0xa9ce, 0x003f,\n    0x003f, 0xd1af, 0xb1ad, 0xb1ae, 0x003f, 0x003f, 0x003f, 0xb475,\n    0xdd72, 0xb760, 0xb761, 0xdd74, 0xdd76, 0xdd75, 0x003f, 0xe1d7,\n    0x003f, 0xe1d6, 0xba49, 0xe1d8, 0x003f, 0xe5ac, 0xbcae, 0x003f,\n    0xbed4, 0x003f, 0xc0b8, 0xc257, 0xc0b9, 0x003f, 0xa4e1, 0x003f,\n    0x003f, 0x003f, 0xcae6, 0x003f, 0x003f, 0xccb2, 0xa9d1, 0xa9d0,\n    0xa9d2, 0xabf3, 0xced2, 0xced3, 0x003f, 0x003f, 0xd1b0, 0xaeb0,\n    0xb1af, 0xb476, 0xd951, 0xa4e2, 0x003f, 0xa47e, 0xa4e3, 0x003f,\n    0xc97d, 0xa5b7, 0xa5b6, 0xa5b4, 0xa5b5, 0x003f, 0x003f, 0x003f,\n    0xa6ab, 0xc9e9, 0xc9eb, 0xa6aa, 0xc9e3, 0x003f, 0xc9e4, 0x003f,\n    0xc9ea, 0xc9e6, 0xc9e8, 0xa6a9, 0xc9e5, 0xc9ec, 0xc9e7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa7e1, 0xa7ea, 0xa7e8,\n    0xcaf0, 0xcaed, 0xcaf5, 0xa7e6, 0xcaf6, 0x003f, 0xa7df, 0xcaf3,\n    0x003f, 0xa7e5, 0xcaef, 0xcaee, 0xa7e3, 0xcaf4, 0xa7e4, 0xa9d3,\n    0xa7de, 0xcaf1, 0x003f, 0xcae7, 0xa7db, 0x003f, 0xa7ee, 0xcaec,\n    0xcaf2, 0xa7e0, 0xa7e2, 0x003f, 0xcae8, 0x003f, 0xcae9, 0xcaea,\n    0x003f, 0xa7ed, 0xa7e7, 0xa7ec, 0xcaeb, 0xa7eb, 0xa7dd, 0xa7dc,\n    0xa7e9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa9e1, 0xccbe, 0xccb7, 0xa9dc, 0xa9ef, 0xccb3, 0xccba, 0xccbc,\n    0xccbf, 0xa9ea, 0x003f, 0xccbb, 0xccb4, 0xa9e8, 0xccb8, 0x003f,\n    0xccc0, 0xa9d9, 0x003f, 0xccbd, 0xa9e3, 0xa9e2, 0xccb6, 0xa9d7,\n    0x003f, 0x003f, 0xa9d8, 0x003f, 0xa9d6, 0x003f, 0xa9ee, 0xa9e6,\n    0xa9e0, 0xa9d4, 0xccb9, 0xa9df, 0xa9d5, 0xa9e7, 0xa9f0, 0xced4,\n    0xa9e4, 0xccb5, 0xa9da, 0xa9dd, 0xa9de, 0x003f, 0xa9ec, 0xa9ed,\n    0xa9eb, 0xa9e5, 0xa9e9, 0xa9db, 0xabf4, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xceda, 0xac41, 0xabf8, 0xabfa, 0xac40,\n    0xcee6, 0xabfd, 0xd1b1, 0xaeb1, 0xac43, 0xced7, 0xcedf, 0xabfe,\n    0xcede, 0xcedb, 0xcee3, 0xcee5, 0xabf7, 0xabfb, 0xac42, 0xaeb3,\n    /* 0x6300 .. 0x63ff */\n    0xcee0, 0xabf9, 0xac45, 0xced9, 0x003f, 0x003f, 0x003f, 0xabfc,\n    0xaeb2, 0xabf6, 0x003f, 0xced6, 0xcedd, 0xced5, 0xced8, 0xcedc,\n    0xd1b2, 0xac44, 0x003f, 0xcee1, 0xcee2, 0xcee4, 0xabf5, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xaec1, 0xd1be, 0xaebf, 0xaec0, 0xd1b4, 0xd1c4, 0x003f, 0xaeb6,\n    0x003f, 0x003f, 0xd566, 0xd1c6, 0xd1c0, 0x003f, 0xd1b7, 0x003f,\n    0xd1c9, 0xd1ba, 0xaebc, 0xd57d, 0xd1bd, 0xaebe, 0xaeb5, 0x003f,\n    0xd1cb, 0xd1bf, 0xaeb8, 0xd1b8, 0xd1b5, 0xd1b6, 0xaeb9, 0xd1c5,\n    0xd1cc, 0xaebb, 0xd1bc, 0xd1bb, 0xaec3, 0xaec2, 0xaeb4, 0xaeba,\n    0xaebd, 0xd1c8, 0x003f, 0x003f, 0xd1c2, 0xaeb7, 0xd1b3, 0xd1ca,\n    0xd1c1, 0xd1c3, 0xd1c7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd567, 0x003f, 0xb1b7,\n    0xb1cb, 0xb1ca, 0x003f, 0xb1bf, 0x003f, 0xd579, 0xd575, 0xd572,\n    0xd5a6, 0xb1ba, 0xb1b2, 0x003f, 0x003f, 0xd577, 0xb4a8, 0xb1b6,\n    0xd5a1, 0x003f, 0xb1cc, 0xb1c9, 0xd57b, 0xd56a, 0x003f, 0x003f,\n    0xb1c8, 0xd5a3, 0xd569, 0xb1bd, 0xb1c1, 0xd5a2, 0x003f, 0xd573,\n    0xb1c2, 0xb1bc, 0xd568, 0x003f, 0xb478, 0xd5a5, 0xd571, 0xb1c7,\n    0xd574, 0xd5a4, 0xb1c6, 0x003f, 0xd952, 0x003f, 0xb1b3, 0xd56f,\n    0xb1b8, 0xb1c3, 0x003f, 0xb1be, 0xd578, 0xd56e, 0xd56c, 0xd57e,\n    0xb1b0, 0xb1c4, 0xb1b4, 0xb477, 0xd57c, 0xb1b5, 0x003f, 0xb1b1,\n    0xb1c0, 0xb1bb, 0xb1b9, 0xd570, 0xb1c5, 0xd56d, 0xd57a, 0xd576,\n    0xd954, 0xd953, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd56b, 0xd964, 0x003f,\n    0xb47a, 0x003f, 0xd96a, 0xd959, 0xd967, 0xdd77, 0xb47d, 0xd96b,\n    0xd96e, 0xb47c, 0xd95c, 0xd96d, 0xd96c, 0xb47e, 0xd955, 0xb479,\n    0xb4a3, 0x003f, 0xb4a1, 0xd969, 0x003f, 0xd95f, 0xb4a5, 0xd970,\n    0xd968, 0xd971, 0xb4ad, 0xb4ab, 0xd966, 0xd965, 0x003f, 0xd963,\n    0xd95d, 0xb4a4, 0x003f, 0xb4a2, 0xd1b9, 0xd956, 0x003f, 0xddb7,\n    0xd957, 0xb47b, 0xb4aa, 0xdd79, 0x003f, 0xb4a6, 0xb4a7, 0xd958,\n    0xd96f, 0xdd78, 0xd960, 0xd95b, 0xb4a9, 0xd961, 0xd95e, 0x003f,\n    0x003f, 0xb4ae, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6400 .. 0x64ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb770, 0x003f,\n    0x003f, 0xdd7c, 0xddb1, 0xddb6, 0xddaa, 0xb76c, 0xddbb, 0xb769,\n    0xdd7a, 0x003f, 0xdd7b, 0xb762, 0xb76b, 0xdda4, 0xb76e, 0xb76f,\n    0xdda5, 0x003f, 0xddb2, 0xddb8, 0xb76a, 0x003f, 0xb764, 0xdda3,\n    0xdd7d, 0xddba, 0xdda8, 0xdda9, 0xdd7e, 0xddb4, 0xddab, 0xddb5,\n    0xddad, 0x003f, 0xb765, 0xe1d9, 0xb768, 0xb766, 0xddb9, 0xddb0,\n    0xddac, 0x003f, 0x003f, 0xdda1, 0xba53, 0xddaf, 0xb76d, 0xdda7,\n    0x003f, 0xdda6, 0x003f, 0x003f, 0x003f, 0xb767, 0xb763, 0xe1ee,\n    0xddb3, 0xddae, 0x003f, 0xdda2, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe1e9, 0x003f, 0xe1da, 0xe1e5, 0x003f,\n    0xe1ec, 0xba51, 0xb4ac, 0xe1ea, 0xba4c, 0x003f, 0x003f, 0x003f,\n    0xba4b, 0xe1f1, 0x003f, 0xe1db, 0xe1e8, 0xe1dc, 0xe1e7, 0xba4f,\n    0xe1eb, 0xd962, 0x003f, 0x003f, 0x003f, 0xe1f2, 0xe1e3, 0xba52,\n    0xe5ba, 0xbcaf, 0x003f, 0xe1f0, 0xe1ef, 0xba54, 0xe5ad, 0xbcb0,\n    0xe5ae, 0x003f, 0xe1df, 0xe1e0, 0xe1dd, 0xe1e2, 0xe1de, 0xe1f3,\n    0xba4e, 0xbcb1, 0xba50, 0xba55, 0x003f, 0xe1e1, 0x003f, 0xe1ed,\n    0x003f, 0x003f, 0xe1e6, 0x003f, 0x003f, 0xe5b1, 0x003f, 0xba4a,\n    0xbcb4, 0xe9aa, 0xe5b6, 0xe5b5, 0xe5b7, 0x003f, 0x003f, 0xe5b4,\n    0xbcb5, 0x003f, 0xbcbb, 0xbcb8, 0x003f, 0xbcb9, 0xe5af, 0xe5b2,\n    0xe5bc, 0xbcc1, 0xbcbf, 0x003f, 0xe5b3, 0xd95a, 0xbcb2, 0xe5b9,\n    0xe5b0, 0x003f, 0xbcc2, 0xe5b8, 0xba4d, 0xbcb7, 0xe1e4, 0x003f,\n    0x003f, 0xbcba, 0x003f, 0xbcbe, 0xbcc0, 0xbcbd, 0xbcbc, 0x003f,\n    0xbcb6, 0xe5bb, 0xbcb3, 0xbcc3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xbed8, 0xbed9, 0xe9a9, 0xbee2, 0xbedf,\n    0x003f, 0xbed6, 0xbedd, 0xe9ab, 0xbedb, 0xbed5, 0x003f, 0xbedc,\n    0x003f, 0xe9a8, 0xc0bb, 0xbed7, 0x003f, 0xbede, 0xc0ba, 0xe9a7,\n    0xe9a6, 0x003f, 0xbee0, 0x003f, 0xbee1, 0x003f, 0xe9a5, 0xe9a4,\n    0xc0bc, 0xe9ae, 0xbeda, 0xe9ac, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xc0bd, 0x003f, 0xc0c2, 0xecea, 0xecec, 0x003f, 0xc0bf, 0x003f,\n    0xeced, 0xece9, 0x003f, 0xeceb, 0xc0c0, 0xc0c3, 0x003f, 0xece8,\n    0xc0be, 0xc0c1, 0xc259, 0xe9ad, 0xc258, 0x003f, 0x003f, 0xc25e,\n    0xefd4, 0x003f, 0xc25c, 0xc25d, 0xefd7, 0xefd3, 0xc25a, 0xefd1,\n    /* 0x6500 .. 0x65ff */\n    0xc36b, 0xefd5, 0x003f, 0xefd6, 0xefd2, 0x003f, 0xc25b, 0xf242,\n    0x003f, 0xf245, 0x003f, 0x003f, 0xf246, 0xf244, 0xf247, 0xc36c,\n    0xf243, 0x003f, 0x003f, 0xf44e, 0xc464, 0xf44d, 0xf44c, 0xf44b,\n    0xc463, 0xc465, 0x003f, 0xf5cd, 0xc4e2, 0xc4e1, 0x003f, 0x003f,\n    0xf6e1, 0xf6e0, 0xf6e3, 0xc5cb, 0xc575, 0xf7dd, 0xf6e2, 0x003f,\n    0x003f, 0xf7dc, 0xc5cd, 0xc5cc, 0xc5f3, 0xf8a9, 0xf8ef, 0xa4e4,\n    0x003f, 0x003f, 0xd972, 0xe9af, 0x003f, 0x003f, 0xa6ac, 0xcaf7,\n    0xa7f1, 0xa7ef, 0x003f, 0xa7f0, 0x003f, 0xccc1, 0xa9f1, 0xac46,\n    0x003f, 0xcee7, 0x003f, 0xcee8, 0x003f, 0xac47, 0xd1ce, 0x003f,\n    0xaec4, 0xaec5, 0xd1cd, 0x003f, 0x003f, 0x003f, 0x003f, 0xb1d3,\n    0x003f, 0xb1cf, 0x003f, 0xd5a7, 0xb1d6, 0xb1d5, 0xb1ce, 0xb1d1,\n    0xb1d4, 0xb1d0, 0x003f, 0x003f, 0xd976, 0xb1cd, 0xb4af, 0x003f,\n    0x003f, 0x003f, 0xb4b1, 0xb4b2, 0xd975, 0xd978, 0xb4b0, 0xd973,\n    0xd977, 0x003f, 0xd974, 0x003f, 0xb771, 0x003f, 0x003f, 0xddbc,\n    0x003f, 0x003f, 0xba56, 0xe1f4, 0xbee3, 0xbcc4, 0xe5bd, 0xbcc5,\n    0xbcc6, 0xe5bf, 0xe5be, 0xe5c0, 0xe9b1, 0x003f, 0x003f, 0xe9b0,\n    0xecef, 0xecee, 0xc0c4, 0xc0c5, 0xf248, 0x003f, 0x003f, 0xa4e5,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd979, 0x003f, 0x003f, 0x003f,\n    0xb4b4, 0xb4b3, 0xddbd, 0x003f, 0xefd8, 0xc4e3, 0xf7de, 0xa4e6,\n    0x003f, 0xaec6, 0x003f, 0xb1d8, 0xb1d7, 0xd97a, 0xd97b, 0xb772,\n    0xe1f5, 0xba57, 0xe9b2, 0x003f, 0xa4e7, 0xa5b8, 0x003f, 0xa9f2,\n    0xccc2, 0x003f, 0xcee9, 0xac48, 0xb1d9, 0x003f, 0xd97c, 0xb4b5,\n    0xb773, 0x003f, 0xe5c1, 0xe5c2, 0x003f, 0x003f, 0xecf0, 0xc25f,\n    0xf8f0, 0xa4e8, 0x003f, 0xccc3, 0xa9f3, 0xac49, 0x003f, 0xceea,\n    0x003f, 0xaec7, 0xd1d2, 0xd1d0, 0xd1d1, 0xaec8, 0xd1cf, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb1db, 0xb1dc, 0xd5a8, 0xb1dd, 0xb1da,\n    0xd97d, 0x003f, 0xd97e, 0xddbe, 0x003f, 0x003f, 0xba59, 0xba58,\n    0x003f, 0x003f, 0xecf1, 0xefd9, 0x003f, 0xf24a, 0xf249, 0xf44f,\n    0x003f, 0xc95e, 0xac4a, 0x003f, 0x003f, 0xa4e9, 0xa5b9, 0x003f,\n    0xa6ae, 0xa6ad, 0x003f, 0x003f, 0xa6af, 0xa6b0, 0xc9ee, 0xc9ed,\n    0xcaf8, 0xa7f2, 0xcafb, 0xcafa, 0xcaf9, 0xcafc, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa9f4, 0xccc9, 0xccc5, 0xccce, 0x003f, 0x003f,\n    /* 0x6600 .. 0x66ff */\n    0xa9fb, 0x003f, 0xa9f9, 0xccca, 0xccc6, 0xcccd, 0xa9f8, 0xaa40,\n    0xccc8, 0xccc4, 0xa9fe, 0xcccb, 0xa9f7, 0xcccc, 0xa9fa, 0xa9fc,\n    0xccd0, 0xcccf, 0xccc7, 0xa9f6, 0xa9f5, 0xa9fd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xceef, 0xcef5, 0x003f, 0xac50,\n    0xac4d, 0xceec, 0xcef1, 0x003f, 0xac53, 0xac4b, 0xcef0, 0xac4e,\n    0xac51, 0x003f, 0x003f, 0xcef3, 0x003f, 0xac4c, 0xcef8, 0xac4f,\n    0x003f, 0xac52, 0xceed, 0xcef2, 0xcef6, 0xceee, 0xceeb, 0x003f,\n    0x003f, 0xcef7, 0xcef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaed0, 0xaec9, 0xaecc, 0x003f, 0xaecf, 0x003f, 0xd1d5,\n    0x003f, 0xaeca, 0xd1d3, 0x003f, 0xaece, 0x003f, 0x003f, 0xaecb,\n    0x003f, 0xd1d6, 0xaecd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd5ac, 0xb1df, 0xd5ab, 0xd5ad, 0xb1de, 0xb1e3, 0xd1d4,\n    0x003f, 0xd5aa, 0xd5ae, 0x003f, 0xb1e0, 0xd5a9, 0xb1e2, 0x003f,\n    0xb1e1, 0x003f, 0xd9a7, 0x003f, 0xd9a2, 0x003f, 0xb4b6, 0xb4ba,\n    0xb4b7, 0xd9a5, 0xd9a8, 0x003f, 0xb4b8, 0x003f, 0xb4b9, 0xb4be,\n    0xddc7, 0xd9a6, 0xb4bc, 0xd9a3, 0xd9a1, 0x003f, 0xb4bd, 0x003f,\n    0xd9a4, 0x003f, 0x003f, 0x003f, 0xb779, 0x003f, 0xddbf, 0xb776,\n    0xb777, 0xb775, 0xddc4, 0xddc3, 0xddc0, 0xb77b, 0x003f, 0x003f,\n    0xddc2, 0xb4bb, 0x003f, 0x003f, 0xddc6, 0xddc1, 0xb778, 0xb774,\n    0xb77a, 0xddc5, 0x003f, 0x003f, 0x003f, 0xba5c, 0x003f, 0xe1f8,\n    0xe1f7, 0xe1f6, 0xba5a, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xba5b, 0xe5c5, 0xe5c8, 0xbcc8, 0x003f, 0x003f, 0xbcc7, 0xe5c9,\n    0xe5c4, 0xbcca, 0xe5c6, 0x003f, 0xbcc9, 0xe5c3, 0x003f, 0xe5c7,\n    0xbee9, 0xbee6, 0xe9bb, 0xe9ba, 0x003f, 0xe9b9, 0xe9b4, 0x003f,\n    0xe9b5, 0x003f, 0x003f, 0x003f, 0xbee7, 0x003f, 0xbee4, 0xbee8,\n    0xe9b3, 0xbee5, 0xe9b6, 0xe9b7, 0xe9bc, 0x003f, 0x003f, 0xe9b8,\n    0x003f, 0x003f, 0xecf2, 0x003f, 0x003f, 0x003f, 0xc0c7, 0x003f,\n    0xefdc, 0xc0c6, 0xefda, 0xefdb, 0xc260, 0xc36e, 0xf24b, 0x003f,\n    0xc36d, 0x003f, 0x003f, 0xf451, 0xf452, 0x003f, 0xc466, 0x003f,\n    0xf450, 0xc4e4, 0x003f, 0xf7df, 0xc5ce, 0xf8aa, 0xf8ab, 0x003f,\n    0xa4ea, 0x003f, 0xa6b1, 0xa6b2, 0xa7f3, 0x003f, 0xccd1, 0xac54,\n    0xaed1, 0xb1e4, 0x003f, 0x003f, 0xb0d2, 0x003f, 0xb4bf, 0xb4c0,\n    /* 0x6700 .. 0x67ff */\n    0xb3cc, 0xd9a9, 0x003f, 0xb77c, 0xe1fa, 0xe1f9, 0x003f, 0x003f,\n    0xa4eb, 0xa6b3, 0xccd2, 0xaa42, 0x003f, 0xaa41, 0x003f, 0xcef9,\n    0xcefa, 0x003f, 0xd1d7, 0xd1d8, 0xaed2, 0xaed3, 0x003f, 0xaed4,\n    0xd5af, 0x003f, 0x003f, 0xb1e6, 0x003f, 0xb4c2, 0x003f, 0xb4c1,\n    0xddc8, 0xdf7a, 0xe1fb, 0xe9bd, 0x003f, 0x003f, 0xc261, 0xc467,\n    0xa4ec, 0x003f, 0xa5bc, 0xa5bd, 0xa5bb, 0xa5be, 0xa5ba, 0x003f,\n    0x003f, 0xa6b6, 0x003f, 0xc9f6, 0xa6b5, 0xa6b7, 0x003f, 0x003f,\n    0xc9f1, 0xc9f0, 0xc9f3, 0xc9f2, 0xc9f5, 0xa6b4, 0xc9ef, 0xc9f4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcafd, 0xa7fd, 0xcafe,\n    0xcb43, 0xa7fc, 0x003f, 0xcb47, 0xcb42, 0xcb45, 0xa7f5, 0xa7f6,\n    0xa7f7, 0xa7f8, 0x003f, 0xa840, 0x003f, 0xcb41, 0xa7fa, 0xa841,\n    0x003f, 0xcb40, 0xcb46, 0x003f, 0xa7f9, 0xcb44, 0xa7fb, 0xa7f4,\n    0xa7fe, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xaa57, 0x003f, 0xccd4, 0xaa43, 0x003f, 0xaa4d,\n    0xaa4e, 0xaa46, 0xaa58, 0xaa48, 0xccdc, 0xaa53, 0xccd7, 0xaa49,\n    0xcce6, 0xcce7, 0xccdf, 0xccd8, 0xaa56, 0xcce4, 0xaa51, 0xaa4f,\n    0x003f, 0xcce5, 0x003f, 0xcce3, 0xccdb, 0xccd3, 0xccda, 0xaa4a,\n    0x003f, 0xaa50, 0x003f, 0xaa44, 0xccde, 0xccdd, 0xccd5, 0x003f,\n    0xaa52, 0xcce1, 0xccd6, 0xaa55, 0xcce8, 0xaa45, 0x003f, 0xaa4c,\n    0xccd9, 0xcce2, 0xaa54, 0x003f, 0xaa47, 0xaa4b, 0x003f, 0xcce0,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcf5b, 0xac5c,\n    0xac69, 0x003f, 0xcf56, 0xcf4c, 0xac62, 0xcf4a, 0xac5b, 0xcf45,\n    0xac65, 0xcf52, 0xcefe, 0xcf41, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xcf44, 0xcefb, 0xcf51, 0xcf61, 0xac60, 0xcf46, 0xcf58, 0x003f,\n    0xcefd, 0xcf5f, 0xcf60, 0xcf63, 0xcf5a, 0xcf4b, 0xcf53, 0xac66,\n    0xac59, 0xac61, 0xac6d, 0xac56, 0xac58, 0x003f, 0x003f, 0x003f,\n    0xcf43, 0xac6a, 0xac63, 0xcf5d, 0xcf40, 0xac6c, 0xac67, 0xcf49,\n    0x003f, 0x003f, 0xac6b, 0xcf50, 0xcf48, 0xac64, 0xcf5c, 0xcf54,\n    0x003f, 0xac5e, 0xcf62, 0xcf47, 0xac5a, 0xcf59, 0xcf4f, 0xac5f,\n    0xcf55, 0xac57, 0xcefc, 0xac68, 0xaee3, 0xac5d, 0xcf4e, 0xcf4d,\n    0xcf42, 0x003f, 0xcf5e, 0x003f, 0xcf57, 0x003f, 0x003f, 0xac55,\n    /* 0x6800 .. 0x68ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd1ec, 0xaeea, 0xd1ed, 0x003f, 0xd1e1, 0xaedf,\n    0xaeeb, 0x003f, 0xd1da, 0x003f, 0xd1e3, 0xd1eb, 0x003f, 0xd1d9,\n    0xd1f4, 0xaed5, 0x003f, 0x003f, 0x003f, 0xd1f3, 0xd1ee, 0x003f,\n    0xd1ef, 0xaedd, 0xaee8, 0xd1e5, 0x003f, 0xd1e6, 0xd1f0, 0xd1e7,\n    0x003f, 0xd1e2, 0xd1dc, 0xd1dd, 0xd1ea, 0xd1e4, 0x003f, 0x003f,\n    0xaed6, 0xaeda, 0xd1f2, 0xd1de, 0xaee6, 0xaee2, 0x003f, 0x003f,\n    0xaee5, 0xaeec, 0xaedb, 0xaee7, 0xd1e9, 0xaee9, 0xaed8, 0x003f,\n    0xaed7, 0xd1db, 0x003f, 0xd1df, 0xaee0, 0xd1f1, 0xd1e8, 0xd1e0,\n    0xaee4, 0xaee1, 0x003f, 0xaed9, 0xaedc, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd5c4, 0x003f, 0xd5b4, 0xd5b5, 0xd5b9,\n    0x003f, 0xd5c8, 0xd5c5, 0x003f, 0xd5be, 0xd5bd, 0xb1ed, 0xd5c1,\n    0xd5d0, 0xd5b0, 0x003f, 0xd5d1, 0xd5c3, 0xd5d5, 0xd5c9, 0xb1ec,\n    0xd5c7, 0xb1e7, 0xb1fc, 0xb1f2, 0x003f, 0xb1f6, 0xb1f5, 0xd5b1,\n    0x003f, 0xd5ce, 0xd5d4, 0xd5cc, 0xd5d3, 0x003f, 0x003f, 0xd5c0,\n    0xd5b2, 0xd5d2, 0xd5c2, 0xb1ea, 0xb1f7, 0x003f, 0xd5cb, 0xb1f0,\n    0x003f, 0x003f, 0x003f, 0xd5ca, 0xd5b3, 0xb1f8, 0x003f, 0xb1fa,\n    0xd5cd, 0xb1fb, 0xb1e9, 0xd5ba, 0xd5cf, 0x003f, 0x003f, 0xb1ef,\n    0xb1f9, 0xd5bc, 0xd5c6, 0xd5b7, 0xd5bb, 0xb1f4, 0xd5b6, 0xb1e8,\n    0xb1f1, 0xb1ee, 0xd5bf, 0xaede, 0xd9c0, 0xb1eb, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xb1f3, 0x003f, 0xd9c3, 0xd9d9,\n    0xd9ce, 0xb4d6, 0x003f, 0xb4d1, 0xd9bd, 0xb4d2, 0xd9cd, 0x003f,\n    0xd9c6, 0xd9d3, 0xb4ce, 0xd9ab, 0xd9d5, 0xb4c4, 0xd9b3, 0xb4c7,\n    0xb4c6, 0x003f, 0xb4d7, 0x003f, 0xd9ad, 0xd9cf, 0xd9d0, 0xb4c9,\n    0xb4c5, 0xd9bb, 0x003f, 0xb4d0, 0xd9b6, 0x003f, 0xd9d1, 0xb4cc,\n    0xd9c9, 0xd9d6, 0xd9b0, 0xd9b5, 0xd9af, 0x003f, 0xb4cb, 0xd9c2,\n    0xddde, 0xd9b1, 0xb4cf, 0xd9ba, 0xd9d2, 0xb4ca, 0xd9b7, 0xd9b4,\n    0xd9c5, 0xb4cd, 0xb4c3, 0xb4d9, 0xd9c8, 0xd9c7, 0x003f, 0x003f,\n    /* 0x6900 .. 0x69ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd9ac, 0xb4c8, 0xd9d4, 0xd9bc,\n    0xd9be, 0x003f, 0xd9cb, 0xd9ca, 0xd9aa, 0xb4d3, 0xb4d5, 0xd9b2,\n    0xd9b9, 0xd9c1, 0xb4d4, 0xd9b8, 0xd9c4, 0xd9d7, 0x003f, 0xd9cc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd9d8, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd9ae, 0x003f, 0x003f, 0x003f, 0x003f, 0xddf2,\n    0xb7a6, 0x003f, 0xddf0, 0xdddb, 0xdde0, 0xddd9, 0x003f, 0xddec,\n    0xddcb, 0xddd2, 0x003f, 0xddea, 0xddf4, 0xdddc, 0x003f, 0xddcf,\n    0xdde2, 0xdde7, 0xddd3, 0x003f, 0xdde4, 0xddd0, 0x003f, 0x003f,\n    0xddd7, 0xddd8, 0xb7a8, 0xddeb, 0xdde9, 0x003f, 0xddcc, 0xddee,\n    0x003f, 0xddef, 0xddf1, 0xb7ac, 0xb7a4, 0x003f, 0xd5b8, 0xddd4,\n    0xdde6, 0xddd5, 0xb7a1, 0xb7b1, 0xdded, 0xb7af, 0xb7ab, 0xddca,\n    0xb7a3, 0x003f, 0xddcd, 0xb7b0, 0x003f, 0xdddd, 0xddc9, 0x003f,\n    0xb7a9, 0xdde1, 0xddd1, 0xb7aa, 0xddda, 0xb77e, 0xb4d8, 0xdde3,\n    0xd9bf, 0xddce, 0x003f, 0x003f, 0xdde8, 0xb7a5, 0xdde5, 0xb7a2,\n    0xdddf, 0xb7ad, 0xddd6, 0xddf3, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7a7, 0xdec6, 0x003f, 0x003f, 0xb7ae, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe24a, 0xe248, 0x003f,\n    0xe25e, 0xe246, 0x003f, 0xe258, 0xb77d, 0xba5f, 0xe242, 0xe25d,\n    0x003f, 0xe247, 0xe255, 0xba64, 0xba5d, 0x003f, 0xe25b, 0x003f,\n    0xe240, 0xe25a, 0x003f, 0xba6f, 0xe251, 0xe261, 0xba6d, 0xe249,\n    0xba5e, 0xe24b, 0xe259, 0xba67, 0xe244, 0xba6b, 0xba61, 0xe24d,\n    0xe243, 0xe1fc, 0x003f, 0xe257, 0xba68, 0xe260, 0xe1fd, 0xba65,\n    0x003f, 0xe253, 0x003f, 0xba66, 0xe245, 0xe250, 0xe24c, 0xe24e,\n    0x003f, 0xba60, 0xe25f, 0xba6e, 0xe24f, 0x003f, 0xe262, 0x003f,\n    0x003f, 0xe1fe, 0xe254, 0xba63, 0xba6c, 0xba6a, 0xe241, 0xe256,\n    0xba69, 0x003f, 0x003f, 0xba62, 0xe252, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xe25c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe5d5, 0x003f, 0xe5d1, 0xe5cd, 0xe5e1, 0xe5de,\n    0xbccd, 0x003f, 0x003f, 0xe5e5, 0xe5d4, 0xbcd8, 0xe5db, 0x003f,\n    0x003f, 0xe5d0, 0xe5da, 0xbcd5, 0xe5ee, 0x003f, 0xe5eb, 0xe5dd,\n    0xe5ce, 0x003f, 0x003f, 0xe5e2, 0xe5e4, 0xbcd1, 0xe5d8, 0xe5d3,\n    /* 0x6a00 .. 0x6aff */\n    0xe5ca, 0xbcce, 0xbcd6, 0x003f, 0xe5e7, 0xbcd7, 0xe5cb, 0xe5ed,\n    0xe5e0, 0xe5e6, 0xbcd4, 0x003f, 0x003f, 0xe5e3, 0x003f, 0xe5ea,\n    0x003f, 0xbcd9, 0x003f, 0xbcd3, 0xe5dc, 0xe5cf, 0xe5ef, 0xe5cc,\n    0xe5e8, 0xbcd0, 0x003f, 0xe5d6, 0x003f, 0xe5d7, 0xbccf, 0xbccc,\n    0xe5d2, 0xbcd2, 0x003f, 0xbccb, 0x003f, 0xe5e9, 0xe5ec, 0xe5d9,\n    0xe9ca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe9c2, 0x003f, 0xe9be, 0xbef6, 0x003f, 0x003f,\n    0xbeeb, 0xbef0, 0xbeec, 0xe9cc, 0xe9d7, 0xbeea, 0xe9c4, 0xe9cd,\n    0xe5df, 0xe9ce, 0x003f, 0x003f, 0xbef1, 0x003f, 0xe9dd, 0xbef5,\n    0xbef8, 0xe9c0, 0x003f, 0xbef4, 0x003f, 0xe9db, 0xe9dc, 0xe9d2,\n    0xe9d1, 0xe9c9, 0x003f, 0x003f, 0xe9d3, 0xe9da, 0xe9d9, 0x003f,\n    0xbeef, 0xbeed, 0xe9cb, 0xe9c8, 0x003f, 0xe9c5, 0xe9d8, 0xbef7,\n    0xe9d6, 0xbef3, 0xbef2, 0x003f, 0xe9d0, 0x003f, 0xe9bf, 0xe9c1,\n    0xe9c3, 0xe9d5, 0xe9cf, 0xbeee, 0x003f, 0xe9c6, 0x003f, 0xe9d4,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9c7, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0cf, 0xed45,\n    0xc0c8, 0xecf5, 0x003f, 0xed41, 0xc0ca, 0xed48, 0x003f, 0xecfc,\n    0x003f, 0xecf7, 0x003f, 0x003f, 0xed49, 0xecf3, 0xecfe, 0x003f,\n    0xc0d1, 0xed44, 0xed4a, 0xecfd, 0xc0c9, 0xed40, 0xecf4, 0xc0d0,\n    0x003f, 0x003f, 0xed47, 0xecf9, 0xc0cc, 0x003f, 0xecfb, 0xecf8,\n    0xc0d2, 0xecfa, 0xc0cb, 0xc0ce, 0xed43, 0xecf6, 0xed46, 0x003f,\n    0xed42, 0x003f, 0x003f, 0x003f, 0xc263, 0xefe7, 0xc268, 0xc269,\n    0x003f, 0x003f, 0x003f, 0xc262, 0xefe6, 0x003f, 0xefe3, 0xefe4,\n    0xc266, 0xefde, 0xefe2, 0xc265, 0x003f, 0xefdf, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc267, 0xc264, 0x003f, 0xefdd, 0xefe1, 0xefe5,\n    0x003f, 0x003f, 0x003f, 0xf251, 0xf24e, 0xf257, 0x003f, 0xf256,\n    0xf254, 0xf24f, 0x003f, 0xc372, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf250, 0xc371, 0xc0cd, 0xf253, 0xc370, 0xf258, 0xf252,\n    0xf24d, 0xefe0, 0x003f, 0x003f, 0x003f, 0xc36f, 0x003f, 0xf24c,\n    0xf456, 0x003f, 0xf455, 0xf255, 0xc468, 0x003f, 0xf459, 0xf45a,\n    0xf454, 0xf458, 0x003f, 0xf453, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf5d1, 0xf457, 0xc4e7, 0xc4e5, 0xf5cf, 0x003f, 0x003f, 0x003f,\n    /* 0x6b00 .. 0x6bff */\n    0xf5d2, 0x003f, 0xf5ce, 0xf5d0, 0xc4e6, 0x003f, 0x003f, 0x003f,\n    0xf6e5, 0xf6e6, 0xc576, 0xf6e4, 0x003f, 0x003f, 0x003f, 0xf7e2,\n    0xc5cf, 0xf7e0, 0xf7e1, 0xf8ac, 0x003f, 0x003f, 0xc656, 0xf8f3,\n    0xf8f1, 0xf8f2, 0xf8f4, 0x003f, 0x003f, 0x003f, 0xf9bb, 0x003f,\n    0xa4ed, 0xa6b8, 0x003f, 0xaa59, 0x003f, 0xcce9, 0x003f, 0x003f,\n    0xcf64, 0x003f, 0x003f, 0x003f, 0xd1f5, 0xd1f7, 0x003f, 0xd1f6,\n    0x003f, 0xd1f8, 0xb1fd, 0xd5d7, 0xd1f9, 0x003f, 0xd5d6, 0xd5d8,\n    0xd5d9, 0xd9da, 0xb4db, 0xd9db, 0xd9dd, 0xb4dc, 0xb4da, 0xd9dc,\n    0x003f, 0xddfa, 0xddf8, 0xddf7, 0x003f, 0xddf6, 0xddf5, 0xb7b2,\n    0xddf9, 0xba70, 0xe263, 0xe265, 0xba71, 0xe264, 0xbcdb, 0x003f,\n    0xbcda, 0xe5f0, 0x003f, 0x003f, 0xe9df, 0xe9de, 0xe9e0, 0x003f,\n    0x003f, 0xbef9, 0x003f, 0xed4b, 0xc0d3, 0x003f, 0xefe8, 0xc26a,\n    0xf259, 0xc577, 0xa4ee, 0xa5bf, 0xa6b9, 0xa842, 0xaa5a, 0xaa5b,\n    0x003f, 0x003f, 0xac6e, 0x003f, 0x003f, 0xd1fa, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb7b3, 0x003f, 0x003f, 0x003f, 0xe6d1, 0xbefa,\n    0xc26b, 0xa4ef, 0x003f, 0xa6ba, 0x003f, 0x003f, 0xcceb, 0xaa5c,\n    0xccea, 0x003f, 0xcf65, 0xac6f, 0xcf66, 0x003f, 0xac70, 0x003f,\n    0xd1fc, 0xaeee, 0xaeed, 0x003f, 0xd5de, 0xd5dc, 0xd5dd, 0xd5db,\n    0x003f, 0xd5da, 0x003f, 0x003f, 0xd9de, 0xd9e1, 0xb4de, 0xd9df,\n    0xb4dd, 0xd9e0, 0x003f, 0xddfb, 0x003f, 0x003f, 0xe266, 0xe267,\n    0xe268, 0x003f, 0xe5f3, 0xe5f2, 0xbcdc, 0xe5f1, 0xe5f4, 0xe9e1,\n    0x003f, 0x003f, 0xe9e2, 0xe9e3, 0x003f, 0xed4c, 0xc0d4, 0xc26c,\n    0xf25a, 0x003f, 0xc4e8, 0xc95f, 0x003f, 0xac71, 0xcf67, 0xaeef,\n    0x003f, 0x003f, 0xb1fe, 0x003f, 0xb4df, 0xd9e2, 0x003f, 0xb7b5,\n    0xb7b4, 0x003f, 0x003f, 0xe269, 0xe26a, 0xbcdd, 0xbcde, 0xe9e5,\n    0xe9e4, 0xefe9, 0xf7e3, 0xa4f0, 0xc960, 0xa5c0, 0x003f, 0xa843,\n    0xcb48, 0x003f, 0xac72, 0xb7b6, 0xa4f1, 0x003f, 0xcf68, 0xac73,\n    0xcf69, 0x003f, 0xc0d5, 0xa4f2, 0x003f, 0x003f, 0xccec, 0x003f,\n    0xcf6a, 0x003f, 0xd242, 0xd241, 0xd1fe, 0x003f, 0xd1fd, 0xd243,\n    0xd240, 0x003f, 0x003f, 0xb240, 0xb241, 0x003f, 0x003f, 0xb4e0,\n    0xd9e3, 0x003f, 0xd9e4, 0xd9e5, 0x003f, 0x003f, 0x003f, 0xde41,\n    0xde42, 0xde40, 0x003f, 0xddfd, 0xddfe, 0xb7b7, 0xe26b, 0xe5f7,\n    /* 0x6c00 .. 0x6cff */\n    0xe5f6, 0xe5f5, 0xe5f8, 0xe9e7, 0xe9e6, 0xbefb, 0xe9e8, 0x003f,\n    0xc0d6, 0xed4d, 0x003f, 0xefea, 0xf25b, 0xf6e7, 0x003f, 0xa4f3,\n    0xa5c2, 0xa5c1, 0x003f, 0xaa5d, 0xc961, 0xc97e, 0xa6bb, 0x003f,\n    0xc9f7, 0xcb49, 0xcb4a, 0xaa5e, 0x003f, 0xcced, 0x003f, 0xac74,\n    0xcf6b, 0xcf6c, 0x003f, 0xaef0, 0xaef4, 0xd244, 0xaef3, 0xaef1,\n    0xaef2, 0x003f, 0xd5df, 0xb242, 0xb4e3, 0x003f, 0xb4e1, 0xb4e2,\n    0xd9e6, 0x003f, 0x003f, 0xba72, 0xa4f4, 0x003f, 0xc9a1, 0x003f,\n    0xa5c3, 0x003f, 0x003f, 0xc9a4, 0x003f, 0x003f, 0xa5c6, 0xc9a3,\n    0xa5c5, 0xa5c4, 0xa844, 0xc9a2, 0x003f, 0x003f, 0xc9f8, 0x003f,\n    0x003f, 0x003f, 0xc9fc, 0xc9fe, 0xca40, 0xa6c5, 0xa6c6, 0xc9fb,\n    0xa6c1, 0x003f, 0xc9f9, 0x003f, 0xc9fd, 0xa6c2, 0x003f, 0xa6bd,\n    0x003f, 0xa6be, 0x003f, 0xa6c4, 0xc9fa, 0xa6bc, 0xa845, 0xa6bf,\n    0xa6c0, 0xa6c3, 0x003f, 0x003f, 0x003f, 0xcb5b, 0xcb59, 0xcb4c,\n    0xa851, 0xcb53, 0xa84c, 0xcb4d, 0x003f, 0xcb55, 0x003f, 0xcb52,\n    0xa84f, 0xcb51, 0xa856, 0xcb5a, 0xa858, 0x003f, 0xa85a, 0x003f,\n    0xcb4b, 0x003f, 0xa84d, 0xcb5c, 0x003f, 0xa854, 0xa857, 0x003f,\n    0xcd45, 0xa847, 0xa85e, 0xa855, 0xcb4e, 0xa84a, 0xa859, 0xcb56,\n    0xa848, 0xa849, 0xcd43, 0xcb4f, 0xa850, 0xa85b, 0xcb5d, 0xcb50,\n    0xa84e, 0x003f, 0xa853, 0xccee, 0xa85c, 0xcb57, 0xa852, 0x003f,\n    0xa85d, 0xa846, 0xcb54, 0xa84b, 0xcb58, 0xcd44, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xaa6a, 0xaa7a, 0xccf5, 0xaa71, 0x003f,\n    0xcd4b, 0xaa62, 0x003f, 0xaa65, 0xcd42, 0x003f, 0xccf3, 0xccf7,\n    0xaa6d, 0xaa6f, 0xccfa, 0xaa76, 0xaa68, 0xaa66, 0xaa67, 0xaa75,\n    0xcd47, 0xaa70, 0xccf9, 0xccfb, 0xaa6e, 0xaa73, 0xccfc, 0xcd4a,\n    0x003f, 0xac75, 0xaa79, 0x003f, 0xaa63, 0xcd49, 0x003f, 0xcd4d,\n    0xccf8, 0xcd4f, 0xcd40, 0xaa6c, 0xccf4, 0xaa6b, 0xaa7d, 0xaa72,\n    0x003f, 0xccf2, 0xcf75, 0xaa78, 0xaa7c, 0xcd41, 0xcd46, 0x003f,\n    0xaa7e, 0xaa77, 0xaa69, 0xaa5f, 0x003f, 0xaa64, 0x003f, 0xccf6,\n    0xaa60, 0xcd4e, 0x003f, 0xccf0, 0xccef, 0xccfd, 0xccf1, 0xaa7b,\n    0xaef5, 0xaa74, 0xccfe, 0xaa61, 0x003f, 0xaca6, 0x003f, 0x003f,\n    0x003f, 0xcd4c, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x6d00 .. 0x6dff */\n    0xcf7c, 0xcfa1, 0x003f, 0xcfa4, 0xcf77, 0x003f, 0x003f, 0xcfa7,\n    0xcfaa, 0xcfac, 0xcf74, 0xac76, 0xac7b, 0xd249, 0xacad, 0xcfa5,\n    0xcfad, 0xcf7b, 0xcf73, 0x003f, 0x003f, 0x003f, 0xd264, 0xac7e,\n    0xcfa2, 0xcf78, 0xcf7a, 0xaca5, 0x003f, 0xcf7d, 0xac7d, 0xcf70,\n    0xcfa8, 0x003f, 0xcfab, 0x003f, 0x003f, 0xac7a, 0x003f, 0xaca8,\n    0xcf6d, 0xacaa, 0xac78, 0xacae, 0xcfa9, 0xcf6f, 0xacab, 0xd25e,\n    0xcd48, 0xac7c, 0xac77, 0xcf76, 0xcf6e, 0xacac, 0xaca4, 0xcfa3,\n    0xaca9, 0xaca7, 0xcf79, 0xaca1, 0xcf71, 0xaca2, 0xaca3, 0xcf72,\n    0xcfa6, 0xac79, 0xcf7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd24c, 0xaefd, 0xaf43, 0x003f, 0x003f, 0x003f, 0xd255, 0xd25b,\n    0xd257, 0xd24a, 0xd24d, 0xd246, 0xd247, 0xaf4a, 0xaefa, 0xd256,\n    0xd25f, 0xaf45, 0xaef6, 0x003f, 0xaf40, 0xd24e, 0xaf42, 0xd24f,\n    0xd259, 0x003f, 0x003f, 0x003f, 0xaf44, 0xd268, 0xd248, 0xaefc,\n    0xaefb, 0xaf48, 0xd245, 0xd266, 0xd25a, 0xd267, 0xd261, 0xd253,\n    0xd262, 0x003f, 0xd25c, 0xd265, 0xd263, 0xaf49, 0xd254, 0xaef9,\n    0xaef8, 0xaf41, 0xaf47, 0xd260, 0xaf46, 0xd251, 0xb243, 0x003f,\n    0xd269, 0xd250, 0xd24b, 0xaefe, 0xaf4b, 0xaef7, 0x003f, 0xd258,\n    0xd25d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb265, 0xd5e1, 0xd5e5, 0x003f, 0xb252, 0xb250,\n    0x003f, 0x003f, 0xb247, 0xd5e3, 0xd5e2, 0xb25b, 0x003f, 0xd5e8,\n    0xb255, 0x003f, 0xd5fa, 0xd647, 0xb244, 0xd5f7, 0xd5f0, 0xb267,\n    0xd5e0, 0x003f, 0xd5fc, 0x003f, 0xb264, 0xb258, 0xb263, 0xb24e,\n    0xd5ec, 0xd5fe, 0xd5f6, 0xb24f, 0xb249, 0xd645, 0x003f, 0xd5fd,\n    0xd640, 0xb251, 0xb259, 0xd642, 0xd5ea, 0xd5fb, 0xd5ef, 0xd644,\n    0xb25e, 0xb246, 0xb25c, 0xd5f4, 0xd5f2, 0xd5f3, 0xb253, 0xd5ee,\n    0xd5ed, 0xb248, 0xd5e7, 0xd646, 0xb24a, 0xd5f1, 0xb268, 0x003f,\n    0xb262, 0xd5e6, 0xb25f, 0xb25d, 0xb266, 0xd5f8, 0xb261, 0xd252,\n    0xd5f9, 0xb260, 0xd641, 0xb245, 0xd5f5, 0xb257, 0xd5e9, 0xb256,\n    0x003f, 0xb254, 0xb24c, 0xb24b, 0xd9e7, 0xd643, 0x003f, 0x003f,\n    /* 0x6e00 .. 0x6eff */\n    0xd5eb, 0x003f, 0x003f, 0xd9fc, 0x003f, 0xb24d, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb541, 0xb25a, 0xb4ee, 0xd9f6, 0xb4fc, 0x003f, 0xd9ea,\n    0xb4eb, 0xb4e7, 0xda49, 0xb4ed, 0xb4f1, 0xb4ec, 0xb4f5, 0xda4d,\n    0xda44, 0x003f, 0x003f, 0xd9f1, 0xb4fa, 0xb4f4, 0xd9fd, 0xb4e4,\n    0xda4a, 0xda43, 0xb4e8, 0xd9f7, 0xb4f7, 0xda55, 0xda56, 0x003f,\n    0xb4e5, 0xda48, 0xb4f9, 0xd9fb, 0xd9ed, 0xd9ee, 0xb4fd, 0xd9f2,\n    0xd9f9, 0xd9f3, 0x003f, 0xb4fb, 0xb544, 0xd9ef, 0xd9e8, 0xd9e9,\n    0x003f, 0xd9eb, 0xb4ea, 0xd9f8, 0x003f, 0xb4f8, 0xb542, 0x003f,\n    0x003f, 0xd9fa, 0xda53, 0xda4b, 0xb4e6, 0xda51, 0xb4f2, 0x003f,\n    0xb4f0, 0x003f, 0xda57, 0xb4ef, 0xda41, 0xd9f4, 0xd9fe, 0xb547,\n    0xda45, 0xda42, 0xd9f0, 0xb543, 0xda4f, 0xda4c, 0xda54, 0xb4e9,\n    0xda40, 0xb546, 0x003f, 0xda47, 0x003f, 0x003f, 0xb4f3, 0xb4f6,\n    0x003f, 0xda46, 0xb545, 0xd9f5, 0xd5e4, 0x003f, 0x003f, 0xda50,\n    0xda4e, 0xda52, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd9ec, 0xb540, 0x003f, 0x003f, 0x003f, 0xde61, 0xde60, 0xde46,\n    0xb7bd, 0x003f, 0xde5f, 0xde49, 0xde4a, 0x003f, 0xb7c7, 0xde68,\n    0xb7c2, 0xde5e, 0x003f, 0xde43, 0xb7c8, 0xb7be, 0xde52, 0xde48,\n    0xde4b, 0xde63, 0xb7b8, 0xde6a, 0xde62, 0xb7c1, 0xde57, 0xb7cc,\n    0x003f, 0x003f, 0xb7cb, 0xb7c5, 0x003f, 0x003f, 0xde69, 0xb7b9,\n    0xde55, 0xde4c, 0xde59, 0xde65, 0xb7cd, 0x003f, 0xb7bb, 0xde54,\n    0x003f, 0xde4d, 0xb7c4, 0x003f, 0xb7c3, 0xde50, 0xde5a, 0xde64,\n    0xde47, 0xde51, 0xb7bc, 0xde5b, 0xb7c9, 0xb7c0, 0xde4e, 0xb7bf,\n    0xde45, 0xde53, 0xde67, 0xb4fe, 0xbab0, 0xde56, 0xe26c, 0xde58,\n    0xde66, 0xb7c6, 0xde4f, 0xb7ba, 0xb7ca, 0xbcf0, 0xde44, 0x003f,\n    0xde5d, 0x003f, 0x003f, 0x003f, 0xde5c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe2aa, 0xbaad, 0xe27d, 0xe2a4, 0xbaa2,\n    0x003f, 0xe26e, 0xbaaf, 0x003f, 0xba77, 0xe26d, 0xe2b0, 0xbab1,\n    0xe271, 0xe2a3, 0x003f, 0xe273, 0xe2b3, 0xe2af, 0xba75, 0xbaa1,\n    /* 0x6f00 .. 0x6fff */\n    0xe653, 0xbaae, 0xba7d, 0xe26f, 0x003f, 0xe2ae, 0xbaa3, 0xe2ab,\n    0xe2b8, 0xe275, 0xe27e, 0x003f, 0x003f, 0xe2b6, 0xe2ac, 0xba7c,\n    0x003f, 0x003f, 0xe27c, 0xba76, 0xba74, 0xbaa8, 0x003f, 0x003f,\n    0xe27a, 0xe277, 0xe278, 0x003f, 0xe2b2, 0x003f, 0xe2b7, 0xe2b5,\n    0xba7a, 0xe2b9, 0xba7e, 0xbaa7, 0x003f, 0xe270, 0xe5fa, 0xe279,\n    0x003f, 0xba78, 0xbaac, 0xbaa9, 0xba7b, 0xe2a5, 0xe274, 0xbaaa,\n    0xe2a7, 0xbaa4, 0xbaa6, 0xba73, 0x003f, 0xe2a9, 0xe2a1, 0xe272,\n    0xbaa5, 0xe2b1, 0xe2b4, 0xe27b, 0xe2a8, 0x003f, 0xba79, 0xbcdf,\n    0xe2a6, 0xe5f9, 0x003f, 0xe2ad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe276, 0xe644,\n    0xe64e, 0xbce2, 0xe64d, 0xe659, 0xbce4, 0xe64b, 0x003f, 0xe64f,\n    0xbcef, 0x003f, 0xe646, 0xbce7, 0x003f, 0xe652, 0xe9f0, 0xbcf3,\n    0xbcf2, 0xe654, 0xe643, 0xe65e, 0xbced, 0x003f, 0xbce3, 0xe657,\n    0x003f, 0xe65b, 0xe660, 0xe655, 0xe649, 0xbce6, 0xbce9, 0xbcf1,\n    0xbcec, 0x003f, 0xe64c, 0xe2a2, 0x003f, 0x003f, 0xe648, 0xe65f,\n    0xbce8, 0x003f, 0xbceb, 0xe661, 0xbce0, 0xe656, 0xe5fb, 0xe65c,\n    0xc0df, 0x003f, 0xe64a, 0x003f, 0xbce1, 0xe645, 0xbce5, 0xe5fc,\n    0xbaab, 0xe641, 0x003f, 0xe65a, 0xe642, 0xe640, 0xbcea, 0x003f,\n    0xe658, 0x003f, 0xe5fe, 0xe651, 0xe650, 0xe65d, 0xe647, 0xbcee,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe9f3, 0x003f,\n    0xbf49, 0xbefe, 0xea40, 0xe9eb, 0xbf41, 0xe9f7, 0xbf48, 0xbf43,\n    0xe9f5, 0xed4f, 0xe9fb, 0xea42, 0xe9fa, 0xe9e9, 0xe9f8, 0xea44,\n    0xea46, 0xbefd, 0xea45, 0xbf44, 0xbf4a, 0x003f, 0xbf47, 0x003f,\n    0xe9fe, 0xbf46, 0xe9f9, 0x003f, 0xe9ed, 0xe9f2, 0x003f, 0xe9fd,\n    0xbf45, 0xbf42, 0xbefc, 0xbf40, 0xe9f1, 0x003f, 0xe5fd, 0xe9ec,\n    0xe9ef, 0xea41, 0xe9f4, 0xe9ea, 0xed4e, 0xea43, 0xe9ee, 0xe9fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xed51, 0xc0e3, 0x003f, 0x003f,\n    0xc0d7, 0x003f, 0x003f, 0xc0db, 0xed53, 0xed59, 0xed57, 0xc0d9,\n    0xc0da, 0xc0e1, 0xed5a, 0xed52, 0xc0dc, 0x003f, 0xed56, 0xed55,\n    0xed5b, 0xc0e2, 0x003f, 0xc0dd, 0xc0e0, 0xed54, 0xc0e4, 0xc0de,\n    0xc0e5, 0xc0d8, 0xed58, 0x003f, 0xed50, 0x003f, 0x003f, 0xeff7,\n    0x003f, 0x003f, 0xc271, 0xeff4, 0xeff6, 0x003f, 0xc26f, 0xeff2,\n    /* 0x7000 .. 0x70ff */\n    0xeff3, 0xefee, 0x003f, 0x003f, 0xe9f6, 0xefef, 0xc270, 0xefeb,\n    0x003f, 0xc26d, 0xeff8, 0xc26e, 0xefec, 0xefed, 0xeff1, 0xc273,\n    0x003f, 0xc272, 0x003f, 0x003f, 0xeff0, 0xc378, 0xf25f, 0xf265,\n    0xc379, 0xf25c, 0xc376, 0xc373, 0xf267, 0xc377, 0x003f, 0xc374,\n    0xf25e, 0xf261, 0xf262, 0xf263, 0xf266, 0x003f, 0xeff5, 0xf25d,\n    0xc375, 0xf264, 0xf268, 0xf260, 0x003f, 0x003f, 0x003f, 0xf45d,\n    0xc46a, 0xf460, 0xc46b, 0xf468, 0xf45f, 0xf45c, 0x003f, 0xf45e,\n    0xf462, 0xf465, 0xf464, 0xf467, 0xf45b, 0x003f, 0xc469, 0xf463,\n    0xf466, 0xf469, 0xf461, 0xf5d3, 0xf5d4, 0xf5d8, 0xf5d9, 0x003f,\n    0xf5d6, 0xf5d7, 0xf5d5, 0x003f, 0xc4e9, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc578, 0xf6eb, 0x003f, 0x003f, 0xf6e8, 0xf6e9, 0xf6ea,\n    0xc579, 0x003f, 0xf7e5, 0xf7e4, 0x003f, 0xf8af, 0xc5f4, 0xf8ad,\n    0xf8b0, 0xf8ae, 0xf8f5, 0xc657, 0xc665, 0xf9a3, 0xf96c, 0x003f,\n    0xf9a2, 0xf9d0, 0xf9d1, 0xa4f5, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa6c7, 0xca41, 0x003f, 0x003f, 0xcb5e, 0x003f, 0xa85f, 0x003f,\n    0xa862, 0x003f, 0xcb5f, 0x003f, 0xa860, 0xa861, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcd58, 0xcd5a, 0xcd55, 0xcd52, 0xcd54, 0x003f,\n    0x003f, 0x003f, 0xaaa4, 0x003f, 0x003f, 0x003f, 0xaaa2, 0x003f,\n    0x003f, 0xcd56, 0xaaa3, 0xcd53, 0xcd50, 0xaaa1, 0xcd57, 0x003f,\n    0xcd51, 0xaaa5, 0xcd59, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfaf,\n    0x003f, 0xcfb3, 0x003f, 0x003f, 0xacb7, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcfb6, 0x003f, 0xacaf, 0xacb2, 0xacb4, 0xacb6, 0xacb3,\n    0xcfb2, 0xcfb1, 0x003f, 0xacb1, 0xcfb4, 0xcfb5, 0x003f, 0xcfae,\n    0xacb5, 0x003f, 0xacb0, 0x003f, 0x003f, 0x003f, 0xcfb0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd277, 0xd278, 0xd279,\n    0xaf50, 0x003f, 0xaf4c, 0xd26e, 0x003f, 0xd276, 0xd27b, 0xaf51,\n    0x003f, 0xd26c, 0xd272, 0xd26b, 0xd275, 0x003f, 0x003f, 0xd271,\n    0xaf4d, 0xaf4f, 0xd27a, 0x003f, 0xd26a, 0xd26d, 0xd273, 0x003f,\n    0xd274, 0xd27c, 0xd270, 0x003f, 0xaf4e, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb26d,\n    0xd64e, 0x003f, 0x003f, 0xd650, 0xd64c, 0x003f, 0xd658, 0xd64a,\n    0xd657, 0xb269, 0xd648, 0xda5b, 0xd652, 0xb26c, 0x003f, 0xd653,\n    /* 0x7100 .. 0x71ff */\n    0xd656, 0x003f, 0xd65a, 0x003f, 0xd64f, 0x003f, 0xd654, 0x003f,\n    0x003f, 0xb26a, 0xb26b, 0xd659, 0xd64d, 0xd649, 0xd65b, 0x003f,\n    0xd651, 0x003f, 0x003f, 0xd655, 0x003f, 0x003f, 0x003f, 0xd64b,\n    0x003f, 0xb548, 0xb549, 0xda65, 0xb54f, 0x003f, 0xda59, 0xda62,\n    0xda58, 0xb54c, 0xda60, 0xda5e, 0x003f, 0xda5f, 0xb54a, 0x003f,\n    0xda63, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda5c, 0xda5a,\n    0xb54b, 0xda5d, 0xda61, 0x003f, 0x003f, 0x003f, 0xb54d, 0x003f,\n    0x003f, 0x003f, 0xda64, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xde70, 0xde77, 0xde79, 0xdea1, 0x003f, 0xb7da, 0xde6b,\n    0x003f, 0xb7d2, 0x003f, 0xde7a, 0xb7d7, 0xdea2, 0xb7ce, 0x003f,\n    0xde7d, 0x003f, 0xde6d, 0xde7e, 0xde6c, 0x003f, 0xb7dc, 0x003f,\n    0xde78, 0xb7cf, 0xdea3, 0x003f, 0xb7d4, 0xde71, 0xb7d9, 0xde7c,\n    0xde6f, 0xde76, 0xde72, 0xde6e, 0xb7d1, 0xb7d8, 0xb7d6, 0xb7d3,\n    0xb7db, 0xb7d0, 0xde75, 0x003f, 0xb7d5, 0x003f, 0xb54e, 0x003f,\n    0xde7b, 0x003f, 0xde73, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xde74, 0x003f, 0x003f, 0xe2c1, 0x003f, 0xbab4, 0x003f, 0x003f,\n    0xe2bd, 0xe2c3, 0xe2bf, 0x003f, 0xbab6, 0xe2be, 0xe2c2, 0xe2ba,\n    0x003f, 0xe2bc, 0xbab5, 0x003f, 0x003f, 0x003f, 0x003f, 0xe2c0,\n    0xe2bb, 0x003f, 0xbab7, 0x003f, 0xbab2, 0x003f, 0x003f, 0xe2c4,\n    0x003f, 0xbab3, 0xe667, 0xe664, 0xe670, 0xe66a, 0xe66c, 0xbcf4,\n    0xe666, 0xe66e, 0x003f, 0x003f, 0xe66d, 0xe66b, 0x003f, 0xe671,\n    0xbcf7, 0xe668, 0xe66f, 0x003f, 0xbcf5, 0x003f, 0x003f, 0xe663,\n    0xe665, 0xbcf6, 0xe662, 0xe672, 0x003f, 0xe669, 0x003f, 0x003f,\n    0xea4a, 0xbf51, 0x003f, 0x003f, 0xea55, 0xea53, 0xbf4b, 0xea49,\n    0xea4c, 0xea4d, 0xea48, 0xbf55, 0xbf56, 0xea47, 0xea56, 0xea51,\n    0xbf4f, 0xbf4c, 0xea50, 0xea4e, 0x003f, 0x003f, 0xbf52, 0xea52,\n    0xbf4d, 0x003f, 0xbf4e, 0x003f, 0xea4f, 0xbf50, 0xea4b, 0x003f,\n    0xea54, 0xbf53, 0xea57, 0xea58, 0xbf54, 0x003f, 0x003f, 0xc0e7,\n    0xc0ee, 0xed5c, 0xed62, 0x003f, 0xed60, 0xc0ea, 0xc0e9, 0xc0e6,\n    0xed5e, 0x003f, 0x003f, 0x003f, 0xc0ec, 0xc0eb, 0xc0e8, 0x003f,\n    0xed61, 0xed5d, 0xed5f, 0x003f, 0xc0ed, 0x003f, 0x003f, 0x003f,\n    0xc277, 0xeffb, 0x003f, 0xc274, 0xc275, 0xeffd, 0xc276, 0xeffa,\n    /* 0x7200 .. 0x72ff */\n    0x003f, 0xeff9, 0xf26c, 0xeffc, 0x003f, 0xf26d, 0xc37a, 0xf26b,\n    0x003f, 0x003f, 0xf26a, 0x003f, 0xf269, 0xc37b, 0x003f, 0x003f,\n    0xc46c, 0x003f, 0x003f, 0xf46a, 0xf46b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf5dc, 0xf5db, 0xc4ea, 0x003f, 0xf5da, 0xf6ec, 0xf6ed,\n    0x003f, 0x003f, 0xf7e6, 0xf8b1, 0x003f, 0x003f, 0xf8f6, 0xf9bc,\n    0xc679, 0xf9c6, 0xa4f6, 0x003f, 0xaaa6, 0xaaa7, 0x003f, 0x003f,\n    0xacb8, 0x003f, 0x003f, 0x003f, 0x003f, 0xc0ef, 0xa4f7, 0x003f,\n    0xaaa8, 0xaf52, 0xb7dd, 0xa4f8, 0x003f, 0xb26e, 0xbab8, 0xc962,\n    0x003f, 0xcfb7, 0xd27d, 0x003f, 0xe2c5, 0x003f, 0xc0f0, 0xa4f9,\n    0xaaa9, 0xcfb8, 0xcfb9, 0xda66, 0xb550, 0x003f, 0x003f, 0xdea4,\n    0x003f, 0x003f, 0xb7de, 0xe2c6, 0x003f, 0x003f, 0xbcf8, 0x003f,\n    0xc37c, 0xa4fa, 0xda67, 0xa4fb, 0x003f, 0xa6c9, 0xca42, 0xa6c8,\n    0xa865, 0xa864, 0xa863, 0xcb60, 0x003f, 0x003f, 0x003f, 0xaaaa,\n    0x003f, 0xaaab, 0xcd5b, 0x003f, 0xcfba, 0x003f, 0xcfbd, 0xacba,\n    0xcfbb, 0x003f, 0xacb9, 0xcfbc, 0xacbb, 0x003f, 0xd2a2, 0xd2a1,\n    0xd27e, 0xaf53, 0x003f, 0xd65d, 0xd65e, 0xb26f, 0xd65c, 0xd65f,\n    0xb552, 0xb270, 0x003f, 0x003f, 0xb551, 0xda6b, 0xda6a, 0x003f,\n    0xda68, 0xda69, 0x003f, 0xda6c, 0xdea6, 0xdea5, 0xdea9, 0x003f,\n    0xdea8, 0xdea7, 0xbab9, 0xe2c9, 0x003f, 0xe2c8, 0xbaba, 0xe2c7,\n    0xe673, 0x003f, 0xe674, 0xbcf9, 0x003f, 0xea59, 0xea5a, 0x003f,\n    0x003f, 0xf272, 0xc37d, 0xf271, 0xf270, 0xf26e, 0xf26f, 0xc4eb,\n    0xf46c, 0xf6ee, 0xf8f7, 0x003f, 0xa4fc, 0x003f, 0xc9a5, 0xa5c7,\n    0xc9a6, 0x003f, 0x003f, 0x003f, 0xca43, 0xca44, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcb66, 0x003f, 0x003f, 0xcb62, 0x003f, 0xcb61,\n    0xaaac, 0xcb65, 0xa867, 0xcb63, 0xa866, 0xcb67, 0xcb64, 0x003f,\n    0x003f, 0xcd5f, 0xcfbe, 0xcd5d, 0xcd64, 0x003f, 0xaaad, 0x003f,\n    0xaab0, 0xcd65, 0xcd61, 0x003f, 0xcd62, 0x003f, 0xcd5c, 0xaaaf,\n    0xcd5e, 0xaaae, 0xcd63, 0x003f, 0xcd60, 0x003f, 0x003f, 0xcfc2,\n    0xacbd, 0xacbe, 0x003f, 0xcfc5, 0xcfbf, 0x003f, 0xcfc4, 0x003f,\n    0xcfc0, 0xacbc, 0xcfc3, 0xcfc1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd2a8, 0xd2a5, 0x003f, 0xd2a7, 0xaf58,\n    0xaf57, 0xaf55, 0xd2a4, 0xd2a9, 0xaf54, 0xaf56, 0xd2a6, 0xd667,\n    /* 0x7300 .. 0x73ff */\n    0xd2a3, 0xd2aa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd662,\n    0xd666, 0x003f, 0xd665, 0xda6e, 0xda79, 0x003f, 0x003f, 0xd668,\n    0x003f, 0xd663, 0xda6d, 0xb274, 0x003f, 0x003f, 0xb273, 0xd661,\n    0xd664, 0xb275, 0x003f, 0xb272, 0xb271, 0xd660, 0xd669, 0x003f,\n    0x003f, 0x003f, 0xda70, 0xda77, 0x003f, 0xb554, 0xda76, 0xda73,\n    0x003f, 0xb556, 0x003f, 0x003f, 0x003f, 0xda75, 0x003f, 0x003f,\n    0xda6f, 0xda71, 0xda74, 0xda72, 0xb555, 0xda78, 0xb553, 0xb7df,\n    0x003f, 0x003f, 0xdead, 0xdeac, 0xdeaa, 0x003f, 0xb7e2, 0xb7e1,\n    0xdeae, 0x003f, 0xdeab, 0xe2ca, 0xbabb, 0xb7e0, 0x003f, 0x003f,\n    0x003f, 0xdeb0, 0xdeaf, 0x003f, 0xe2cd, 0xe2cb, 0xbcfa, 0x003f,\n    0xbabc, 0xe2cc, 0xe676, 0x003f, 0x003f, 0x003f, 0x003f, 0xbcfb,\n    0xe675, 0xe67e, 0xe67d, 0xe67b, 0x003f, 0xe67a, 0xe677, 0xe678,\n    0xe679, 0xe67c, 0xe6a1, 0x003f, 0x003f, 0xea5f, 0xea5c, 0xea5d,\n    0xbf57, 0xea5b, 0xea61, 0xea60, 0xea5e, 0x003f, 0xed64, 0xed65,\n    0xc0f1, 0x003f, 0xc0f2, 0xed63, 0x003f, 0xc279, 0xeffe, 0xc278,\n    0xc37e, 0x003f, 0xc3a1, 0xc46d, 0xf46e, 0xf46d, 0xf5dd, 0xf6ef,\n    0xc57a, 0xf7e8, 0xf7e7, 0xf7e9, 0xa5c8, 0xcfc6, 0xaf59, 0xb276,\n    0xd66a, 0xa5c9, 0xc9a7, 0xa4fd, 0x003f, 0x003f, 0xca45, 0x003f,\n    0x003f, 0x003f, 0xcb6c, 0xcb6a, 0xcb6b, 0xcb68, 0xa868, 0xcb69,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcd6d, 0x003f, 0xaab3,\n    0xcd6b, 0xcd67, 0xcd6a, 0x003f, 0xcd66, 0xaab5, 0xcd69, 0x003f,\n    0xaab2, 0xaab1, 0x003f, 0xaab4, 0xcd6c, 0xcd68, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xacc2, 0xacc5, 0xcfce, 0xcfcd, 0xcfcc, 0xacbf,\n    0xcfd5, 0xcfcb, 0x003f, 0xacc1, 0xd2af, 0x003f, 0xcfd2, 0xcfd0,\n    0xacc4, 0x003f, 0xcfc8, 0xcfd3, 0x003f, 0xcfca, 0xcfd4, 0xcfd1,\n    0xcfc9, 0x003f, 0xacc0, 0xcfd6, 0xcfc7, 0xacc3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd2b4, 0xd2ab, 0xd2b6, 0x003f, 0xd2ae, 0xd2b9,\n    0xd2ba, 0xd2ac, 0xd2b8, 0xd2b5, 0xd2b3, 0xd2b7, 0xaf5f, 0x003f,\n    0xaf5d, 0x003f, 0x003f, 0xd2b1, 0x003f, 0xd2ad, 0x003f, 0xd2b0,\n    0xd2bb, 0xd2b2, 0xaf5e, 0xcfcf, 0x003f, 0xaf5a, 0xaf5c, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd678, 0xd66d, 0xd66b, 0x003f,\n    0xd66c, 0x003f, 0xd673, 0x003f, 0xd674, 0xd670, 0xb27b, 0xd675,\n    /* 0x7400 .. 0x74ff */\n    0xd672, 0xd66f, 0x003f, 0xb279, 0xd66e, 0xb277, 0xb27a, 0xd671,\n    0xd679, 0xaf5b, 0xb278, 0xd677, 0xd676, 0xb27c, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xda7e, 0x003f,\n    0x003f, 0x003f, 0xdaa1, 0xb560, 0x003f, 0xdaa7, 0x003f, 0x003f,\n    0xdaa9, 0xdaa2, 0xb55a, 0xdaa6, 0xdaa5, 0xb55b, 0xb561, 0x003f,\n    0xb562, 0xdaa8, 0xb558, 0xda7d, 0xda7b, 0xdaa3, 0xda7a, 0xb55f,\n    0xda7c, 0xdaa4, 0xdaaa, 0xb559, 0xb55e, 0xb55c, 0xb55d, 0x003f,\n    0x003f, 0x003f, 0xb557, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7e9,\n    0xdeb7, 0xb7e8, 0xdebb, 0x003f, 0xdeb1, 0x003f, 0xdebc, 0x003f,\n    0x003f, 0x003f, 0xdeb2, 0xdeb3, 0x003f, 0xdebd, 0xdeba, 0xdeb8,\n    0xdeb9, 0xdeb5, 0xdeb4, 0x003f, 0xdebe, 0xb7e5, 0x003f, 0xdeb6,\n    0x003f, 0xb7ea, 0xb7e4, 0xb7eb, 0xb7ec, 0x003f, 0xb7e7, 0xb7e6,\n    0x003f, 0x003f, 0xe2ce, 0xbabe, 0xbabd, 0x003f, 0x003f, 0xe2d3,\n    0x003f, 0xbcfc, 0xbabf, 0x003f, 0x003f, 0xbac1, 0xe2d4, 0xb7e3,\n    0xbac0, 0xe2d0, 0xe2d2, 0xe2cf, 0x003f, 0xe2d1, 0x003f, 0x003f,\n    0x003f, 0xe6ab, 0x003f, 0x003f, 0xe6aa, 0xe6a7, 0xbd40, 0xea62,\n    0xbd41, 0xe6a6, 0x003f, 0xbcfe, 0x003f, 0xe6a8, 0xe6a5, 0xe6a2,\n    0xe6a9, 0xe6a3, 0xe6a4, 0xbcfd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xed69, 0x003f, 0xea66, 0x003f, 0xea65, 0xea67, 0x003f, 0xed66,\n    0xbf5a, 0x003f, 0xea63, 0x003f, 0xbf58, 0x003f, 0xbf5c, 0xbf5b,\n    0xea64, 0xea68, 0x003f, 0xbf59, 0x003f, 0xed6d, 0xc0f5, 0xc27a,\n    0xc0f6, 0xc0f3, 0xed6a, 0xed68, 0x003f, 0xed6b, 0x003f, 0xed6e,\n    0xc0f4, 0xed6c, 0xed67, 0x003f, 0x003f, 0xf042, 0xf045, 0xf275,\n    0xf040, 0x003f, 0xf46f, 0xf046, 0x003f, 0xc3a2, 0xf044, 0xc27b,\n    0xf041, 0xf043, 0xf047, 0xf276, 0x003f, 0xf274, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc3a3, 0xf273, 0x003f, 0x003f, 0x003f, 0xc46e,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xc4ed, 0xf6f1, 0xc4ec, 0xf6f3,\n    0xf6f0, 0xf6f2, 0xc5d0, 0xf8b2, 0xa5ca, 0xcd6e, 0xd2bc, 0xd2bd,\n    0xb27d, 0xdebf, 0xbf5d, 0xc3a4, 0xc57b, 0xf8b3, 0xa5cb, 0x003f,\n    0xcd6f, 0xa260, 0x003f, 0x003f, 0xcfd7, 0x003f, 0xcfd8, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd2be, 0xd2bf, 0xb27e, 0xb2a1,\n    0x003f, 0x003f, 0x003f, 0xdaab, 0x003f, 0xdec2, 0xdec1, 0xdec0,\n    /* 0x7500 .. 0x75ff */\n    0xe2d5, 0x003f, 0xe2d6, 0xe2d7, 0xbac2, 0x003f, 0x003f, 0xe6ad,\n    0xe6ac, 0x003f, 0x003f, 0xea69, 0xbf5e, 0xbf5f, 0x003f, 0xed72,\n    0xed6f, 0xed70, 0xed71, 0xf049, 0xf048, 0xc27c, 0xf277, 0xf5de,\n    0xa5cc, 0x003f, 0xacc6, 0x003f, 0xb2a2, 0xdec3, 0x003f, 0xa5cd,\n    0x003f, 0xd2c0, 0xb2a3, 0x003f, 0x003f, 0xb563, 0xb564, 0x003f,\n    0xa5ce, 0xa5cf, 0xca46, 0xa86a, 0xa869, 0xacc7, 0xcfd9, 0xdaac,\n    0xa5d0, 0xa5d1, 0xa5d2, 0xa5d3, 0x003f, 0x003f, 0x003f, 0xa86b,\n    0xa86c, 0xcb6e, 0xcb6d, 0x003f, 0x003f, 0xaab6, 0xcd72, 0xcd70,\n    0xcd71, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcfda,\n    0xcfdb, 0x003f, 0x003f, 0xaccb, 0xacc9, 0x003f, 0xacca, 0xacc8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xaf60, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xaf64, 0xaf63, 0xd2c1, 0xaf62, 0xaf61, 0x003f, 0xd2c2,\n    0x003f, 0x003f, 0xb2a6, 0xd67b, 0xd67a, 0xb2a4, 0xb2a5, 0x003f,\n    0x003f, 0x003f, 0xb566, 0xb565, 0xdaae, 0x003f, 0x003f, 0xdaad,\n    0xb2a7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb7ed, 0xdec5,\n    0xb7ee, 0xdec4, 0x003f, 0x003f, 0x003f, 0xe2d8, 0xe6ae, 0xbd42,\n    0xea6a, 0x003f, 0x003f, 0x003f, 0xed73, 0x003f, 0xc3a6, 0xc3a5,\n    0x003f, 0x003f, 0xc57c, 0xa5d4, 0xcd73, 0x003f, 0x003f, 0xb2a8,\n    0xe2d9, 0xbac3, 0x003f, 0x003f, 0xcb6f, 0xcb70, 0x003f, 0x003f,\n    0xcd74, 0xaab8, 0xaab9, 0x003f, 0x003f, 0xaab7, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xaccf, 0xacd0, 0xaccd, 0xacce, 0x003f, 0xcfdc,\n    0x003f, 0x003f, 0xcfdd, 0xaccc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2c3, 0x003f, 0xaf68, 0xaf69, 0x003f, 0xb2ab, 0xd2c9, 0x003f,\n    0xaf6e, 0xaf6c, 0xd2ca, 0xd2c5, 0xaf6b, 0xaf6a, 0xaf65, 0xd2c8,\n    0xd2c7, 0xd2c4, 0xaf6d, 0x003f, 0xd2c6, 0xaf66, 0x003f, 0xaf67,\n    0x003f, 0x003f, 0xb2ac, 0xd6a1, 0xd6a2, 0xb2ad, 0xd67c, 0xd67e,\n    0xd6a4, 0xd6a3, 0xd67d, 0x003f, 0xb2a9, 0xb2aa, 0x003f, 0xdab6,\n    0xb56b, 0xb56a, 0xdab0, 0xb568, 0x003f, 0xdab3, 0xb56c, 0xdab4,\n    0xb56d, 0xdab1, 0xb567, 0xb569, 0xdab5, 0x003f, 0xdab2, 0xdaaf,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xded2, 0x003f, 0xdec7,\n    0xb7f0, 0xb7f3, 0xb7f2, 0xb7f7, 0xb7f6, 0xded3, 0xded1, 0xdeca,\n    0xdece, 0xdecd, 0xb7f4, 0xded0, 0xdecc, 0xded4, 0xdecb, 0xb7f5,\n    /* 0x7600 .. 0x76ff */\n    0xb7ef, 0xb7f1, 0x003f, 0xdec9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe2db, 0xbac7, 0xe2df, 0xbac6, 0xe2dc, 0xbac5, 0x003f, 0xdec8,\n    0xdecf, 0xe2de, 0x003f, 0xbac8, 0xe2e0, 0xe2dd, 0xe2da, 0x003f,\n    0x003f, 0xe6b1, 0xe6b5, 0xe6b7, 0xe6b3, 0xe6b2, 0xe6b0, 0xbd45,\n    0xbd43, 0xbd48, 0xbd49, 0xe6b4, 0xbd46, 0xe6af, 0xbd47, 0xbac4,\n    0xe6b6, 0xbd44, 0x003f, 0x003f, 0x003f, 0xea6c, 0x003f, 0xea6b,\n    0xea73, 0xea6d, 0xea72, 0xea6f, 0xbf60, 0xea71, 0x003f, 0x003f,\n    0xbf61, 0x003f, 0xbf62, 0x003f, 0xea70, 0xea6e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xc0f8, 0xed74, 0x003f, 0x003f, 0xc0f7, 0xed77,\n    0xed75, 0xed76, 0x003f, 0x003f, 0xc0f9, 0x003f, 0x003f, 0x003f,\n    0xf04d, 0x003f, 0xc2a1, 0xf04e, 0x003f, 0x003f, 0xc27d, 0xf04f,\n    0xc27e, 0xf04c, 0xf050, 0x003f, 0xf04a, 0x003f, 0x003f, 0xc3a7,\n    0xf278, 0xc3a8, 0xc46f, 0x003f, 0xf04b, 0xc470, 0x003f, 0x003f,\n    0x003f, 0xc4ee, 0xf5df, 0x003f, 0xc57e, 0xf6f4, 0xc57d, 0x003f,\n    0xf7ea, 0xc5f5, 0xc5f6, 0x003f, 0x003f, 0xf9cc, 0x003f, 0x003f,\n    0xacd1, 0xcfde, 0x003f, 0xb56e, 0xb56f, 0xa5d5, 0xa6ca, 0xca47,\n    0x003f, 0xcb71, 0xa86d, 0x003f, 0xaaba, 0x003f, 0xacd2, 0xacd3,\n    0xacd4, 0xd6a6, 0xd2cb, 0xaf6f, 0x003f, 0x003f, 0xb2ae, 0xd6a5,\n    0x003f, 0x003f, 0xdab8, 0xb571, 0x003f, 0xdab7, 0xb570, 0x003f,\n    0x003f, 0xded5, 0xbd4a, 0xe6bb, 0xe6b8, 0xe6b9, 0xe6ba, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xed78, 0x003f, 0xf051, 0x003f,\n    0x003f, 0x003f, 0xf471, 0xf470, 0x003f, 0xf6f5, 0xa5d6, 0xcd75,\n    0xaf70, 0x003f, 0x003f, 0x003f, 0xb572, 0xded6, 0x003f, 0x003f,\n    0xe2e1, 0x003f, 0xbd4b, 0xea74, 0x003f, 0xf052, 0xf472, 0xa5d7,\n    0x003f, 0x003f, 0xaabb, 0xacd7, 0xcfdf, 0xacd8, 0xacd6, 0x003f,\n    0xacd5, 0xd2cc, 0xaf71, 0x003f, 0x003f, 0xaf72, 0xaf73, 0x003f,\n    0x003f, 0x003f, 0xb2b0, 0xd6a7, 0xb2af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xdab9, 0xb2b1, 0xb573, 0xded7, 0xb7f8, 0xb7f9,\n    0x003f, 0xbac9, 0x003f, 0xbaca, 0xbd4c, 0xbf64, 0xea75, 0xbf63,\n    0x003f, 0xed79, 0xc0fa, 0x003f, 0xf053, 0xf473, 0xa5d8, 0xa86e,\n    0xcd78, 0xcd77, 0xaabc, 0xcd76, 0xaabd, 0xcd79, 0x003f, 0xcfe5,\n    0xacdb, 0xacda, 0xcfe7, 0xcfe6, 0xacdf, 0x003f, 0xacde, 0x003f,\n    /* 0x7700 .. 0x77ff */\n    0x003f, 0xacd9, 0x003f, 0xcfe1, 0xcfe2, 0xcfe3, 0x003f, 0xace0,\n    0xcfe0, 0xacdc, 0xcfe4, 0xacdd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2cf, 0xd2d3, 0xd2d1, 0xd2d0, 0x003f, 0xd2d4, 0x003f, 0x003f,\n    0x003f, 0xd2d5, 0xd2d6, 0xd2ce, 0x003f, 0xd2cd, 0x003f, 0xaf75,\n    0xaf76, 0x003f, 0xd2d7, 0xd2d2, 0x003f, 0xd6b0, 0x003f, 0xd2d8,\n    0xaf77, 0xaf74, 0x003f, 0x003f, 0x003f, 0xd6aa, 0x003f, 0xd6a9,\n    0x003f, 0xd6ab, 0xd6ac, 0xd6ae, 0xd6ad, 0xd6b2, 0xb2b5, 0xb2b2,\n    0xb2b6, 0xd6a8, 0xb2b7, 0xd6b1, 0xb2b4, 0xd6af, 0xb2b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdabc, 0xdabe, 0xdaba, 0xdabb,\n    0x003f, 0x003f, 0xdabf, 0xdac1, 0xdac2, 0xdabd, 0xdac0, 0xb574,\n    0x003f, 0x003f, 0xdedb, 0x003f, 0xdee0, 0xded8, 0xdedc, 0x003f,\n    0x003f, 0xdee1, 0xdedd, 0xb7fa, 0xb843, 0x003f, 0xb7fd, 0xded9,\n    0xdeda, 0xbace, 0xb846, 0xb7fe, 0x003f, 0xb844, 0xb7fc, 0xdedf,\n    0xb845, 0xdede, 0xb841, 0xb7fb, 0xb842, 0xdee2, 0xe2e6, 0xe2e8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb840, 0x003f, 0x003f, 0xe2e3, 0xbacc, 0xe2e9, 0xbacd,\n    0xe2e7, 0xe2e2, 0xe2e5, 0xe2ea, 0xbacb, 0xe2e4, 0x003f, 0xbd4e,\n    0xe6bf, 0xe6be, 0x003f, 0xbd51, 0xbd4f, 0xe6bc, 0xbd4d, 0xe6bd,\n    0x003f, 0xbd50, 0x003f, 0x003f, 0x003f, 0xea7d, 0x003f, 0xeaa1,\n    0x003f, 0xea7e, 0xea76, 0xea7a, 0xea79, 0xea77, 0xbf66, 0xbf67,\n    0xbf65, 0xea78, 0xea7b, 0xea7c, 0x003f, 0xbf68, 0x003f, 0xc140,\n    0xeda3, 0x003f, 0xc0fc, 0xed7b, 0xc0fe, 0xc141, 0x003f, 0x003f,\n    0xc0fd, 0xeda2, 0xed7c, 0xc0fb, 0xeda1, 0xed7a, 0xed7e, 0xed7d,\n    0x003f, 0x003f, 0xf055, 0xc2a4, 0xc2a5, 0xc2a2, 0x003f, 0xc2a3,\n    0x003f, 0x003f, 0xf054, 0x003f, 0xf27b, 0x003f, 0x003f, 0xc3a9,\n    0x003f, 0xf279, 0xf27a, 0x003f, 0xf474, 0xf477, 0xf475, 0xf476,\n    0xf5e0, 0x003f, 0x003f, 0xc4ef, 0xf7eb, 0xf8b4, 0x003f, 0xc5f7,\n    0xf8f8, 0xf8f9, 0xc666, 0xa5d9, 0xace1, 0x003f, 0xdac3, 0x003f,\n    0xdee3, 0x003f, 0xa5da, 0xa86f, 0x003f, 0xaabe, 0x003f, 0xcfe8,\n    0xcfe9, 0xaf78, 0x003f, 0x003f, 0xdac4, 0xb575, 0xb847, 0xc142,\n    0xeda4, 0xf27c, 0xf478, 0xa5db, 0x003f, 0x003f, 0x003f, 0xcda1,\n    0xcd7a, 0xcd7c, 0xcd7e, 0xcd7d, 0xcd7b, 0xaabf, 0x003f, 0x003f,\n    /* 0x7800 .. 0x78ff */\n    0x003f, 0x003f, 0xace2, 0xcff2, 0x003f, 0xcfed, 0xcfea, 0x003f,\n    0x003f, 0xcff1, 0x003f, 0x003f, 0xace4, 0xace5, 0xcff0, 0xcfef,\n    0xcfee, 0xcfeb, 0xcfec, 0xcff3, 0xace3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaf7c, 0x003f, 0xafa4,\n    0xafa3, 0xd2e1, 0xd2db, 0xd2d9, 0x003f, 0xafa1, 0xd6b9, 0xaf7a,\n    0xd2de, 0xd2e2, 0xd2e4, 0xd2e0, 0xd2da, 0xafa2, 0xd2df, 0xd2dd,\n    0xaf79, 0xd2e5, 0xafa5, 0xd2e3, 0xaf7d, 0xd2dc, 0x003f, 0xaf7e,\n    0xaf7b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb2b9, 0x003f, 0xd6ba, 0x003f, 0x003f,\n    0xd6b3, 0xd6b5, 0xd6b7, 0x003f, 0xd6b8, 0xd6b6, 0xb2ba, 0x003f,\n    0xd6bb, 0x003f, 0xd6b4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xdac8, 0xb576, 0xdad0, 0x003f,\n    0xdac5, 0x003f, 0xdad1, 0x003f, 0xdac6, 0xdac7, 0x003f, 0x003f,\n    0xdacf, 0xdace, 0xdacb, 0xb2b8, 0xb577, 0xdac9, 0xdacc, 0xb578,\n    0xdacd, 0xdaca, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdeee, 0x003f, 0xdef2, 0xb84e, 0x003f, 0xe2f0, 0xb851,\n    0xdef0, 0xf9d6, 0x003f, 0xdeed, 0xdee8, 0xdeea, 0xdeeb, 0xdee4,\n    0x003f, 0xb84d, 0x003f, 0x003f, 0xb84c, 0x003f, 0xb848, 0xdee7,\n    0x003f, 0xb84f, 0x003f, 0xb850, 0xdee6, 0xdee9, 0xdef1, 0xb84a,\n    0xb84b, 0xdeef, 0xdee5, 0x003f, 0x003f, 0x003f, 0xe2f2, 0xbad0,\n    0xe2f4, 0xdeec, 0xe2f6, 0xbad4, 0xe2f7, 0xe2f3, 0x003f, 0xbad1,\n    0xe2ef, 0xbad3, 0xe2ec, 0xe2f1, 0xe2f5, 0xe2ee, 0x003f, 0x003f,\n    0xb849, 0x003f, 0xe2eb, 0xbad2, 0xe2ed, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbd54, 0xe6c1, 0xbd58, 0x003f, 0xbd56, 0x003f,\n    0x003f, 0xbacf, 0x003f, 0xe6c8, 0xe6c9, 0xbd53, 0x003f, 0x003f,\n    0xe6c7, 0xe6ca, 0xbd55, 0xbd52, 0xe6c3, 0xe6c0, 0xe6c5, 0xe6c2,\n    0xbd59, 0xe6c4, 0x003f, 0x003f, 0xe6c6, 0xbd57, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbf6a, 0xeaa8, 0x003f, 0xeaa2, 0xeaa6, 0xeaac,\n    0xeaad, 0xeaa9, 0xeaaa, 0xeaa7, 0x003f, 0xeaa4, 0x003f, 0xbf6c,\n    0xbf69, 0xeaa3, 0xeaa5, 0x003f, 0xbf6b, 0xeaab, 0x003f, 0xc146,\n    0x003f, 0x003f, 0xedaa, 0xeda5, 0xc145, 0x003f, 0x003f, 0xc143,\n    0x003f, 0xedac, 0xc144, 0xeda8, 0xeda9, 0xeda6, 0xedad, 0xf056,\n    /* 0x7900 .. 0x79ff */\n    0x003f, 0xc147, 0xeda7, 0x003f, 0xedae, 0xedab, 0x003f, 0x003f,\n    0x003f, 0xf05a, 0x003f, 0x003f, 0xf057, 0x003f, 0xc2a6, 0x003f,\n    0xf05b, 0xf05d, 0xf05c, 0xf058, 0xf059, 0x003f, 0x003f, 0xf2a3,\n    0x003f, 0xc3aa, 0x003f, 0xf27e, 0xf2a2, 0xf27d, 0xf2a4, 0x003f,\n    0x003f, 0xf2a1, 0x003f, 0xf47a, 0xf47d, 0xf479, 0xc471, 0xf47b,\n    0xf47c, 0xf47e, 0xc472, 0xc474, 0xc473, 0xf5e1, 0x003f, 0xf5e3,\n    0x003f, 0xf5e2, 0x003f, 0x003f, 0x003f, 0xf6f6, 0x003f, 0x003f,\n    0xf8b5, 0xf8fa, 0xa5dc, 0x003f, 0x003f, 0xcb72, 0xaac0, 0xcda3,\n    0xaac1, 0xaac2, 0xcda2, 0x003f, 0xcff8, 0xcff7, 0xace6, 0xace9,\n    0xace8, 0xace7, 0xcff4, 0xcff6, 0xcff5, 0x003f, 0x003f, 0xd2e8,\n    0xafa7, 0xd2ec, 0xd2eb, 0xd2ea, 0xd2e6, 0xafa6, 0xafaa, 0xafad,\n    0x003f, 0x003f, 0xafae, 0xd2e7, 0xd2e9, 0xafac, 0xafab, 0xafa9,\n    0xafa8, 0xd6c2, 0x003f, 0xd6c0, 0xd6bc, 0xb2bb, 0x003f, 0xd6bd,\n    0xb2bc, 0xd6be, 0xd6bf, 0xd6c1, 0x003f, 0xb2bd, 0x003f, 0x003f,\n    0xdad5, 0x003f, 0xdad4, 0xdad3, 0xdad2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdef6, 0xb852, 0x003f, 0xdef3, 0xdef5, 0x003f, 0xb853,\n    0x003f, 0xb854, 0xdef4, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe341, 0x003f, 0xe2f9, 0xe2fa, 0x003f, 0xbad7, 0xbad5, 0xbad6,\n    0xe343, 0x003f, 0xe342, 0xe2fe, 0xe2fd, 0xe2fc, 0xe2fb, 0xe340,\n    0xe2f8, 0x003f, 0xe6cb, 0xe6d0, 0xe6ce, 0x003f, 0x003f, 0x003f,\n    0xe6cd, 0xe6cc, 0xe6cf, 0x003f, 0xeaae, 0x003f, 0xbf6d, 0xc148,\n    0xedb0, 0x003f, 0xc149, 0xedaf, 0xf05f, 0xf05e, 0xc2a7, 0x003f,\n    0xf2a5, 0xc3ab, 0xf4a1, 0xc5a1, 0xf6f7, 0x003f, 0xf8b7, 0xf8b6,\n    0xc9a8, 0xacea, 0xaceb, 0xd6c3, 0x003f, 0xb856, 0xa5dd, 0xa872,\n    0xa871, 0xa870, 0x003f, 0x003f, 0x003f, 0xcda4, 0x003f, 0x003f,\n    0xaac4, 0xaac3, 0x003f, 0xacee, 0x003f, 0xcffa, 0xcffd, 0xcffb,\n    0x003f, 0xacec, 0xaced, 0x003f, 0x003f, 0xcff9, 0xcffc, 0x003f,\n    0xafb5, 0x003f, 0x003f, 0x003f, 0xd2f3, 0xd2f5, 0xd2f4, 0xafb2,\n    0xd2ef, 0x003f, 0x003f, 0xafb0, 0xafaf, 0x003f, 0xafb3, 0xafb1,\n    0x003f, 0xafb4, 0xd2f2, 0xd2ed, 0xd2ee, 0xd2f1, 0xd2f0, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd6c6, 0xd6c7,\n    0xd6c5, 0x003f, 0xd6c4, 0xb2be, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7a00 .. 0x7aff */\n    0xb57d, 0x003f, 0xdad6, 0xdad8, 0xdada, 0xb57c, 0x003f, 0x003f,\n    0xb57a, 0x003f, 0xdad7, 0xb57b, 0xdad9, 0xb579, 0x003f, 0x003f,\n    0xdf41, 0xdef7, 0xdefa, 0xdefe, 0xb85a, 0xdefc, 0x003f, 0xdefb,\n    0xdef8, 0xdef9, 0xb858, 0xdf40, 0xb857, 0x003f, 0xb85c, 0xb85b,\n    0xb859, 0x003f, 0xdefd, 0x003f, 0x003f, 0x003f, 0xe349, 0x003f,\n    0xe348, 0x003f, 0x003f, 0xe344, 0x003f, 0x003f, 0xbad8, 0xe347,\n    0xe346, 0xbad9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xbd5e,\n    0x003f, 0xe6d2, 0x003f, 0xbd5f, 0xbd5b, 0xbd5d, 0x003f, 0xbd5a,\n    0xbd5c, 0x003f, 0x003f, 0x003f, 0xeaaf, 0x003f, 0xbf70, 0xeab1,\n    0xeab0, 0x003f, 0xe345, 0xbf72, 0xbf71, 0xbf6e, 0xbf6f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xedb5, 0x003f, 0xedb3, 0xc14a,\n    0xedb4, 0x003f, 0xedb6, 0xedb2, 0xedb1, 0x003f, 0x003f, 0xf060,\n    0xc2aa, 0xc2a8, 0xc2a9, 0x003f, 0x003f, 0x003f, 0x003f, 0xf2a6,\n    0xf2a7, 0xc3ad, 0x003f, 0xc3ac, 0xf4a3, 0xf4a4, 0xf4a2, 0x003f,\n    0xf6f8, 0xf6f9, 0x003f, 0x003f, 0xa5de, 0xca48, 0xa873, 0x003f,\n    0xcda5, 0xaac6, 0xaac5, 0xcda6, 0x003f, 0x003f, 0xd040, 0xacef,\n    0xcffe, 0xacf0, 0x003f, 0x003f, 0xafb6, 0xd2f8, 0xd2f6, 0xd2fc,\n    0xafb7, 0xd2f7, 0xd2fb, 0xd2f9, 0xd2fa, 0x003f, 0x003f, 0xd6c8,\n    0xd6ca, 0x003f, 0xb2bf, 0x003f, 0xd6c9, 0xb2c0, 0xb5a2, 0xb5a1,\n    0xb57e, 0xdadb, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf44, 0xb85d,\n    0xb85e, 0x003f, 0xdf43, 0xdf42, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe34a, 0xbadb, 0xbada, 0xe34b, 0xe34c, 0x003f, 0xbd61, 0xbd60,\n    0x003f, 0xeab5, 0xe6d3, 0xe6d5, 0xe6d4, 0xeab4, 0xeab2, 0xeab6,\n    0xeab3, 0x003f, 0xbf73, 0x003f, 0x003f, 0x003f, 0xedb7, 0xc14b,\n    0xedb8, 0xedb9, 0x003f, 0x003f, 0xc2ab, 0xc2ac, 0x003f, 0xc475,\n    0x003f, 0x003f, 0xc5d1, 0xa5df, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xd041, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd2fd, 0xafb8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3ba,\n    0xb3b9, 0x003f, 0x003f, 0xb5a4, 0xdadd, 0xb5a3, 0xdadc, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdf45, 0x003f, 0xbadc, 0xe34d, 0xbadd,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc476, 0xf4a5,\n    0x003f, 0xa6cb, 0xaac7, 0xcda7, 0x003f, 0xacf2, 0x003f, 0xacf1,\n    /* 0x7b00 .. 0x7bff */\n    0xd042, 0xd043, 0x003f, 0x003f, 0xd340, 0xd342, 0xafb9, 0x003f,\n    0xd344, 0xd347, 0xd345, 0x003f, 0x003f, 0x003f, 0xd346, 0xd343,\n    0xd2fe, 0xafba, 0xd348, 0xd341, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6d3, 0xb2c6, 0xd6dc, 0xb2c3, 0x003f, 0xd6d5, 0xb2c7, 0x003f,\n    0xb2c1, 0x003f, 0xd6d0, 0xd6dd, 0xd6d1, 0xd6ce, 0xb2c5, 0x003f,\n    0xb2c2, 0x003f, 0xd6d4, 0xd6d7, 0xb2c4, 0xd6d8, 0xb2c8, 0xd6d9,\n    0xd6cf, 0xd6d6, 0xd6da, 0xd6d2, 0xd6cd, 0xd6cb, 0x003f, 0x003f,\n    0xd6db, 0x003f, 0x003f, 0xdadf, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xdae4, 0x003f, 0x003f, 0x003f, 0xdae0, 0xdae6, 0xb5a7, 0xd6cc,\n    0xdae1, 0xb5a5, 0xdade, 0xb5ac, 0xdae2, 0xb5ab, 0xdae3, 0xb5ad,\n    0xb5a8, 0xb5ae, 0xb5a9, 0x003f, 0xb5aa, 0x003f, 0xb5a6, 0x003f,\n    0xdae5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb861, 0xdf50, 0x003f, 0xdf53, 0xdf47, 0xdf4c, 0xdf46, 0xb863,\n    0x003f, 0xdf4a, 0x003f, 0x003f, 0x003f, 0xdf48, 0xb862, 0x003f,\n    0xdf4f, 0xdf4e, 0xdf4b, 0xdf4d, 0xdf49, 0xbae1, 0xdf52, 0xb85f,\n    0xdf51, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xe35d, 0x003f, 0xbae8, 0xe358, 0x003f, 0xbae7,\n    0xe34e, 0x003f, 0xe350, 0xbae0, 0xe355, 0xe354, 0xe357, 0xbae5,\n    0xe352, 0xe351, 0x003f, 0x003f, 0xbae4, 0xbadf, 0xe353, 0xbae2,\n    0xe359, 0xe35b, 0x003f, 0xe356, 0xe34f, 0xbae3, 0x003f, 0x003f,\n    0xbd69, 0xbade, 0x003f, 0x003f, 0xe35c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6d9, 0xbd62, 0x003f, 0xe6db,\n    0x003f, 0xbd63, 0x003f, 0x003f, 0xbd65, 0xe6de, 0x003f, 0xe6d6,\n    0xbae6, 0xe6dc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6d8, 0x003f,\n    0xb860, 0xbd68, 0x003f, 0x003f, 0xbd64, 0x003f, 0xbd66, 0xbd67,\n    0x003f, 0xbf76, 0xe6dd, 0xe6d7, 0xbd6a, 0x003f, 0xe6da, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeac0, 0xeabb, 0x003f, 0x003f,\n    0xeac5, 0xbf74, 0xeabd, 0xbf78, 0xeac3, 0xeaba, 0xeab7, 0xeac6,\n    0xc151, 0xbf79, 0xeac2, 0xeab8, 0xbf77, 0xeabc, 0xbf7b, 0xeab9,\n    0xeabe, 0xbf7a, 0xeac1, 0xeac4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xedcb, 0xedcc, 0xedbc, 0xedc3, 0xedc1, 0x003f, 0x003f, 0xc14f,\n    0xedc8, 0xeabf, 0x003f, 0xedbf, 0x003f, 0xedc9, 0xc14e, 0xedbe,\n    /* 0x7c00 .. 0x7cff */\n    0xedbd, 0xedc7, 0xedc4, 0xedc6, 0x003f, 0xedba, 0xedca, 0xc14c,\n    0x003f, 0xedc5, 0xedce, 0xedc2, 0xc150, 0xc14d, 0xedc0, 0xedbb,\n    0xedcd, 0xbf75, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf063, 0x003f, 0x003f, 0xf061, 0xf067, 0xc2b0, 0xf065,\n    0xf064, 0xc2b2, 0xf06a, 0xc2b1, 0x003f, 0xf06b, 0xf068, 0xc2ae,\n    0xf069, 0xf062, 0xc2af, 0xc2ad, 0xf2ab, 0xf066, 0x003f, 0x003f,\n    0xf06c, 0x003f, 0x003f, 0xf2a8, 0x003f, 0x003f, 0x003f, 0xc3b2,\n    0xc3b0, 0xf2aa, 0x003f, 0xf2ac, 0xf2a9, 0xc3b1, 0xc3ae, 0xc3af,\n    0xc3b3, 0x003f, 0x003f, 0xc478, 0x003f, 0xf4aa, 0x003f, 0xf4a9,\n    0xf4a7, 0xf4a6, 0xf4a8, 0x003f, 0xc477, 0xc479, 0x003f, 0x003f,\n    0xc4f0, 0x003f, 0x003f, 0xf5e5, 0xf5e4, 0x003f, 0x003f, 0xf6fa,\n    0x003f, 0xf6fc, 0xf6fe, 0xf6fd, 0xf6fb, 0x003f, 0x003f, 0xc5a3,\n    0xc5a2, 0x003f, 0x003f, 0xc5d3, 0xc5d2, 0xc5d4, 0xf7ed, 0xf7ec,\n    0x003f, 0xf8fb, 0xf8b8, 0xf8fc, 0xc658, 0x003f, 0xc659, 0xf96d,\n    0x003f, 0x003f, 0xc67e, 0xa6cc, 0x003f, 0xcda8, 0x003f, 0x003f,\n    0xd045, 0xd046, 0xd044, 0x003f, 0x003f, 0xacf3, 0x003f, 0xd047,\n    0xd048, 0xd049, 0x003f, 0x003f, 0xd349, 0xd34f, 0x003f, 0x003f,\n    0xd34d, 0xafbb, 0xd34b, 0x003f, 0xd34c, 0xd34e, 0x003f, 0x003f,\n    0x003f, 0xd34a, 0xb2c9, 0x003f, 0xd6de, 0xb2cb, 0xd6e0, 0xb2ca,\n    0xd6df, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdae8, 0xb5af,\n    0x003f, 0xdaea, 0xdae7, 0xd6e1, 0x003f, 0xb5b0, 0x003f, 0xf9db,\n    0xdae9, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdf56,\n    0x003f, 0xb864, 0xdf54, 0xb865, 0xdf55, 0xb866, 0x003f, 0x003f,\n    0x003f, 0xbae9, 0xe361, 0xe35e, 0xe360, 0xbaea, 0xbaeb, 0xe35f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6df, 0x003f, 0x003f,\n    0xe6e0, 0x003f, 0xbd6b, 0xe6e2, 0xe6e1, 0x003f, 0xa261, 0x003f,\n    0xeaca, 0xeacb, 0xeac7, 0x003f, 0xeac8, 0xbf7c, 0xbf7d, 0xeac9,\n    0x003f, 0xc157, 0x003f, 0x003f, 0xc153, 0xc158, 0xc154, 0xc156,\n    0xc152, 0x003f, 0xc155, 0x003f, 0x003f, 0x003f, 0x003f, 0xc2b3,\n    0xedcf, 0x003f, 0xf2ae, 0x003f, 0xf2ad, 0x003f, 0xf4ab, 0xc47a,\n    0xc47b, 0xf741, 0xf5e6, 0x003f, 0xf740, 0x003f, 0xf8fd, 0xf9a4,\n    0xa6cd, 0x003f, 0x003f, 0xa874, 0x003f, 0xcda9, 0xaac8, 0x003f,\n    /* 0x7d00 .. 0x7dff */\n    0xacf6, 0xd04c, 0xacf4, 0xd04a, 0xacf9, 0xacf5, 0xacfa, 0xacf8,\n    0xd04b, 0xacf7, 0xafbf, 0xafbe, 0xd35a, 0xafc7, 0xd353, 0xd359,\n    0xafc3, 0xd352, 0xd358, 0xd356, 0xafc2, 0xafc4, 0xd355, 0xafbd,\n    0xd354, 0xafc8, 0xafc5, 0xafc9, 0xafc6, 0xd351, 0xd350, 0xd357,\n    0xafc0, 0xafbc, 0xafc1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd6f0, 0xd6e9, 0x003f, 0xb5b5, 0xd6e8, 0x003f, 0xb2cf, 0xb2d6,\n    0xb2d3, 0xb2d9, 0xb2d8, 0xb2d4, 0x003f, 0xd6e2, 0xd6e5, 0x003f,\n    0xd6e4, 0xb2d0, 0xd6e6, 0xd6ef, 0xb2d1, 0xd6e3, 0xd6ec, 0xd6ed,\n    0xb2d2, 0xd6ea, 0xb2d7, 0xb2cd, 0xb2d5, 0xd6e7, 0xb2cc, 0xd6eb,\n    0x003f, 0x003f, 0xd6ee, 0x003f, 0x003f, 0x003f, 0xdafb, 0xdaf2,\n    0xb5b2, 0xdaf9, 0xdaf6, 0xdaee, 0xdaf7, 0xb5b4, 0xdaef, 0x003f,\n    0xdaeb, 0x003f, 0x003f, 0xb86c, 0xdaf4, 0x003f, 0xb5b1, 0xdafa,\n    0x003f, 0xb5b8, 0xb5ba, 0xdaed, 0x003f, 0x003f, 0xb5b9, 0xdaf0,\n    0xb5b3, 0xdaf8, 0xdaf1, 0xdaf5, 0x003f, 0xdaf3, 0xb5b6, 0xdaec,\n    0xb5bb, 0xb2ce, 0xb5b7, 0xb5bc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb868, 0xdf5d, 0xdf5f, 0xdf61, 0xdf65, 0x003f, 0xdf5b,\n    0xdf59, 0xb86a, 0x003f, 0xdf60, 0xdf64, 0xdf5c, 0xdf58, 0x003f,\n    0xdf57, 0x003f, 0x003f, 0x003f, 0xdf62, 0xdf5a, 0xdf5e, 0xb86b,\n    0x003f, 0xb869, 0xdf66, 0xb867, 0xdf63, 0x003f, 0xe372, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbaee, 0xe36a, 0xbd78, 0xe374,\n    0xbaf1, 0xe378, 0xbaf7, 0xe365, 0x003f, 0x003f, 0xe375, 0xe362,\n    0x003f, 0xe377, 0xe366, 0x003f, 0xbafe, 0xbafb, 0xe376, 0xe370,\n    0xbaed, 0xbaf5, 0xbaf4, 0x003f, 0xbaf3, 0xbaf9, 0x003f, 0xe363,\n    0xbafa, 0xe371, 0xbaf6, 0xbaec, 0xe373, 0xbaef, 0xbaf0, 0xbaf8,\n    0xe368, 0xe367, 0xe364, 0x003f, 0xe36c, 0xe369, 0xe36d, 0xbafd,\n    0x003f, 0xe379, 0xbaf2, 0xe36e, 0xe36f, 0x003f, 0xe36b, 0x003f,\n    0x003f, 0x003f, 0xbafc, 0x003f, 0x003f, 0x003f, 0x003f, 0xe6e7,\n    0xbd70, 0xbd79, 0xbd75, 0xe6e4, 0x003f, 0xbd72, 0xbd76, 0xe6f0,\n    0xbd6c, 0xe6e8, 0x003f, 0xbd74, 0x003f, 0x003f, 0xe6eb, 0xe6e6,\n    0xbd73, 0xbd77, 0xe6e5, 0x003f, 0xbd71, 0x003f, 0xe6ef, 0xbd6e,\n    0xe6ee, 0xe6ed, 0xbd7a, 0xe572, 0xbd6d, 0x003f, 0xe6ec, 0xe6e3,\n    0x003f, 0xbd7b, 0xe6ea, 0xbd6f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7e00 .. 0x7eff */\n    0x003f, 0x003f, 0x003f, 0xe6e9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbfa2, 0xbfa7, 0xbf7e, 0xead8, 0xeacf, 0xeadb, 0xead3, 0xead9,\n    0xbfa8, 0xbfa1, 0xeacc, 0xead2, 0xeadc, 0xead5, 0xeada, 0xeace,\n    0x003f, 0x003f, 0xead6, 0xbfa3, 0xead4, 0xbfa6, 0xbfa5, 0xead0,\n    0xead1, 0xeacd, 0xead7, 0xbfa4, 0xeade, 0xeadd, 0x003f, 0x003f,\n    0x003f, 0xedda, 0xedd6, 0xc15f, 0x003f, 0xedd0, 0xc159, 0xc169,\n    0xeddc, 0xc161, 0xc15d, 0xedd3, 0xc164, 0xc167, 0xedde, 0xc15c,\n    0xedd5, 0xc165, 0xede0, 0xeddd, 0xedd1, 0xc160, 0xc15a, 0xc168,\n    0xedd8, 0xc163, 0xedd2, 0xc15e, 0xeddf, 0xc162, 0xc15b, 0xedd9,\n    0xc166, 0xedd7, 0x003f, 0x003f, 0xeddb, 0x003f, 0x003f, 0x003f,\n    0xf06e, 0xf074, 0xc2b9, 0xf077, 0xc2b4, 0xc2b5, 0xf06f, 0xf076,\n    0xf071, 0xc2ba, 0xc2b7, 0x003f, 0xf06d, 0x003f, 0xc2b6, 0xf073,\n    0xf075, 0xc2b8, 0xf072, 0xf070, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf2b8, 0xc3b7, 0xc3b8, 0xc3b4, 0x003f, 0xc3b5, 0x003f, 0xf2b4,\n    0xf2b2, 0x003f, 0xf2b6, 0xc3ba, 0xf2b7, 0xf2b0, 0xf2af, 0xf2b3,\n    0xf2b1, 0xc3b6, 0xf2b5, 0xf4ac, 0xc47e, 0xc47d, 0xf4ad, 0x003f,\n    0xf4af, 0xf4ae, 0xc4a1, 0x003f, 0x003f, 0x003f, 0xf5eb, 0xf5e8,\n    0xf5e9, 0x003f, 0xf5e7, 0xf5ea, 0xc4f2, 0xf5ec, 0x003f, 0xc4f1,\n    0x003f, 0xf742, 0x003f, 0xc5d5, 0xc5d7, 0xf7ee, 0xc5d6, 0xf8b9,\n    0xf940, 0xf942, 0xf8fe, 0xf941, 0xc66c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x7f00 .. 0x7fff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa6ce, 0x003f,\n    0xacfb, 0xd26f, 0xafca, 0x003f, 0x003f, 0xb2da, 0xdafc, 0xdafd,\n    0x003f, 0x003f, 0x003f, 0xeadf, 0xc16a, 0xede1, 0x003f, 0x003f,\n    0xc2bb, 0x003f, 0xf2ba, 0xf2b9, 0xc4a2, 0xf5ed, 0x003f, 0xf743,\n    0xc5f8, 0xca49, 0x003f, 0x003f, 0xaac9, 0xa875, 0x003f, 0x003f,\n    0xd04d, 0x003f, 0x003f, 0xd360, 0xd35b, 0xd35f, 0xd35d, 0xafcb,\n    0xd35e, 0xd35c, 0x003f, 0xd6f1, 0x003f, 0xdafe, 0xdb40, 0xdf69,\n    0xdf6a, 0xb86e, 0xb86f, 0xdf68, 0xdf6b, 0xdf67, 0xb86d, 0x003f,\n    0xbb40, 0x003f, 0xb870, 0xe37a, 0x003f, 0xbd7c, 0xe6f1, 0xbd7d,\n    0x003f, 0xbfa9, 0xeae2, 0xeae0, 0xeae1, 0xede4, 0xede3, 0xede2,\n    0x003f, 0x003f, 0x003f, 0xf2bb, 0x003f, 0xc3b9, 0xf2bc, 0xf744,\n    0xc5f9, 0xf8ba, 0xa6cf, 0xaacb, 0xaaca, 0xd04f, 0xacfc, 0x003f,\n    0x003f, 0xd04e, 0xd362, 0x003f, 0xafcc, 0xd6f2, 0xd361, 0x003f,\n    0x003f, 0x003f, 0xb2dc, 0xd6f5, 0xd6f3, 0xd6f4, 0xb2db, 0x003f,\n    0xdb42, 0xdb43, 0xdb41, 0x003f, 0xb873, 0xdf6d, 0xdf6c, 0xdf6e,\n    0xb872, 0xb871, 0x003f, 0x003f, 0xe6f2, 0xe6f4, 0x003f, 0xbd7e,\n    0xe6f3, 0xeae3, 0xbfaa, 0xf079, 0x003f, 0xf078, 0xc3bb, 0xf2bd,\n    0xc3bd, 0xc3bc, 0xf4b0, 0xf5ee, 0xc4f3, 0xa6d0, 0xd050, 0xacfd,\n    0xd365, 0xafce, 0xd364, 0xd363, 0x003f, 0xafcd, 0x003f, 0xd6fb,\n    0x003f, 0xd6fd, 0xd6f6, 0xd6f7, 0xb2dd, 0xd6f8, 0xb2de, 0xd6fc,\n    0xd6f9, 0xd6fa, 0xb2df, 0x003f, 0xb5be, 0xb5bf, 0x003f, 0xdb44,\n    0x003f, 0x003f, 0x003f, 0xdf6f, 0xdf70, 0x003f, 0xe37e, 0xbb43,\n    0xbb41, 0xbb42, 0xe37b, 0xe37c, 0x003f, 0xe37d, 0xe6f9, 0x003f,\n    0xe6fa, 0xbda1, 0xe6f7, 0xe6f6, 0xe6f8, 0xe6f5, 0xbfad, 0xeae4,\n    0xbfab, 0xbfac, 0xede6, 0xc16b, 0xede5, 0xefa8, 0x003f, 0xf07a,\n    0xf07b, 0xc2bc, 0x003f, 0xc2bd, 0xc16c, 0xf2be, 0xf2bf, 0xf4b1,\n    /* 0x8000 .. 0x80ff */\n    0xc4a3, 0xa6d1, 0x003f, 0xa6d2, 0xacfe, 0xaacc, 0xafcf, 0xd051,\n    0x003f, 0x003f, 0x003f, 0xb5c0, 0xa6d3, 0xad41, 0xd052, 0xd053,\n    0xad40, 0xad42, 0xa6d4, 0x003f, 0xd054, 0xafd1, 0xd366, 0xafd3,\n    0xafd0, 0xafd2, 0x003f, 0xd741, 0xb2e0, 0x003f, 0xd740, 0xd6fe,\n    0x003f, 0xdf71, 0x003f, 0x003f, 0xe3a1, 0x003f, 0xbda2, 0x003f,\n    0xbfae, 0xeae6, 0xeae5, 0x003f, 0xede7, 0x003f, 0x003f, 0x003f,\n    0xf5ef, 0x003f, 0x003f, 0xa6d5, 0xcb73, 0xcdaa, 0xad43, 0xd055,\n    0x003f, 0xd368, 0x003f, 0x003f, 0x003f, 0xafd4, 0xd367, 0xafd5,\n    0x003f, 0x003f, 0x003f, 0xd743, 0x003f, 0x003f, 0xb2e2, 0xd742,\n    0xd744, 0x003f, 0xb2e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xdb46,\n    0xdb47, 0xdb45, 0xb5c1, 0x003f, 0x003f, 0x003f, 0xb874, 0x003f,\n    0xb875, 0x003f, 0xbb45, 0x003f, 0xe3a3, 0xe3a2, 0xbb44, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe6fb, 0x003f, 0x003f, 0xe6fc,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xeae7, 0x003f, 0x003f, 0xc170,\n    0xc16f, 0xc16d, 0xc16e, 0xc171, 0x003f, 0xf07c, 0xc2bf, 0xc2be,\n    0xf2c0, 0xf4b2, 0x003f, 0x003f, 0x003f, 0xc5a5, 0xc5a4, 0xa6d6,\n    0x003f, 0x003f, 0xd1fb, 0x003f, 0xb877, 0xb5c2, 0xb876, 0xbb46,\n    0x003f, 0xa6d7, 0xc9a9, 0xa6d8, 0xa6d9, 0x003f, 0x003f, 0xcdab,\n    0xcb76, 0x003f, 0xcb77, 0xa877, 0x003f, 0xcb74, 0xa876, 0x003f,\n    0xa879, 0xcb75, 0xa87b, 0xa87a, 0xcb78, 0xa878, 0x003f, 0x003f,\n    0x003f, 0xaad1, 0xaacf, 0xcdad, 0x003f, 0xaace, 0x003f, 0x003f,\n    0x003f, 0xaad3, 0xaad5, 0xaad2, 0x003f, 0xcdb0, 0xcdac, 0xaad6,\n    0x003f, 0xaad0, 0xa87c, 0x003f, 0xaad4, 0xcdaf, 0x003f, 0x003f,\n    0xcdae, 0x003f, 0xaacd, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd05b, 0xad47, 0xad48, 0xd05d, 0x003f, 0xd057,\n    0xd05a, 0xd063, 0xd061, 0x003f, 0xad49, 0xd067, 0xad4c, 0xd064,\n    0xd05c, 0xd059, 0x003f, 0x003f, 0xdb49, 0xd062, 0xad44, 0xd065,\n    0xd056, 0xd05f, 0xad46, 0xad4b, 0xd060, 0xad4f, 0xad4d, 0x003f,\n    0xd058, 0xad4a, 0x003f, 0xd05e, 0xad4e, 0xad45, 0xd066, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xafda, 0x003f, 0xafe3,\n    0xafd8, 0xafd6, 0xd36a, 0xafde, 0xafdb, 0xd36c, 0x003f, 0x003f,\n    0xafdd, 0xd36b, 0xd369, 0xd36e, 0xafe2, 0xafe0, 0xdb48, 0x003f,\n    /* 0x8100 .. 0x81ff */\n    0xd36f, 0xd36d, 0xafd7, 0x003f, 0x003f, 0xafd9, 0xafdc, 0x003f,\n    0xafdf, 0x003f, 0xafe1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd74e, 0xb2e4, 0x003f,\n    0xd745, 0xd747, 0x003f, 0xd748, 0x003f, 0xd750, 0xd74c, 0xd74a,\n    0x003f, 0xd74d, 0xd751, 0xb2e5, 0xb2e9, 0xd746, 0x003f, 0xd74f,\n    0x003f, 0xb2e7, 0x003f, 0xb2e6, 0xd74b, 0xd749, 0x003f, 0xb2e3,\n    0xb2e8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb5c8, 0xdb51, 0x003f, 0x003f, 0xdb4f, 0xb5ca, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdb4a, 0xdfa1, 0x003f, 0xb5c9, 0xdb4e,\n    0x003f, 0x003f, 0xdb4b, 0xb5c5, 0xb5cb, 0xdb50, 0xb5c7, 0xdb4d,\n    0xbb47, 0xb5c6, 0xdb4c, 0xb5cc, 0xb5c4, 0xb5c3, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdf77, 0xdf75, 0x003f, 0xdf7b, 0x003f,\n    0xdf73, 0xdfa2, 0xdf78, 0x003f, 0xdf72, 0xb87b, 0xb8a3, 0xdf7d,\n    0x003f, 0xdf76, 0x003f, 0xb87e, 0x003f, 0x003f, 0xb87c, 0xdf7e,\n    0xb879, 0xb878, 0xdf79, 0xb87d, 0xb5cd, 0x003f, 0xdf7c, 0xdf74,\n    0xb87a, 0xb8a1, 0xb8a2, 0x003f, 0x003f, 0x003f, 0x003f, 0xbb4c,\n    0xbb48, 0x003f, 0xbb4d, 0xe3a6, 0x003f, 0x003f, 0xe3a5, 0xe3a7,\n    0xbb4a, 0xe3a4, 0xbb4b, 0xe3aa, 0xe3a9, 0xe3a8, 0x003f, 0xbb49,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe741, 0x003f, 0xe744,\n    0xbda8, 0xe743, 0xbda7, 0xbda3, 0xbda4, 0xbda5, 0xe740, 0xe6fe,\n    0xbda6, 0x003f, 0xe742, 0xe6fd, 0x003f, 0x003f, 0xeae9, 0xeaf3,\n    0xbfb1, 0xbfb0, 0x003f, 0xeaed, 0xeaef, 0x003f, 0xeaea, 0x003f,\n    0xeaee, 0xeae8, 0xeaf1, 0xbfaf, 0xeaf0, 0xeaec, 0x003f, 0xeaf2,\n    0x003f, 0xeaeb, 0xc174, 0xede8, 0xedee, 0xc178, 0xc17a, 0xc177,\n    0xc176, 0x003f, 0xc175, 0xc173, 0xede9, 0xedec, 0xc172, 0xeded,\n    0x003f, 0xc179, 0xedeb, 0x003f, 0xedea, 0xc2c0, 0x003f, 0xc2c1,\n    0xf0a1, 0xf07d, 0xf07e, 0x003f, 0x003f, 0xf2c2, 0x003f, 0xf2c1,\n    0xc3be, 0xf4b4, 0xc4a4, 0xf4b3, 0x003f, 0xf5f0, 0xf745, 0xc5a6,\n    0xf943, 0xf944, 0xc5d8, 0xa6da, 0x003f, 0xaad7, 0xdb52, 0xbb4e,\n    0xc17b, 0xedef, 0xa6db, 0x003f, 0xafe5, 0xafe4, 0xdb53, 0x003f,\n    0x003f, 0x003f, 0xeaf4, 0xa6dc, 0xad50, 0x003f, 0x003f, 0xdb54,\n    0xdb55, 0xdb56, 0xbb4f, 0xbfb2, 0xa6dd, 0x003f, 0xaad8, 0xd068,\n    /* 0x8200 .. 0x82ff */\n    0xafe6, 0xd370, 0xb2ea, 0x003f, 0xdb57, 0xb8a4, 0x003f, 0xbb50,\n    0xbfb3, 0xc17c, 0xc2c2, 0xf4b5, 0xa6de, 0xaad9, 0x003f, 0x003f,\n    0xafe7, 0xd752, 0xb5ce, 0x003f, 0xbb51, 0xe3ab, 0xe745, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa6df, 0xb5cf, 0xdfa3, 0xbb52, 0xa6e0,\n    0xcdb1, 0xd069, 0xad51, 0x003f, 0x003f, 0xd372, 0x003f, 0x003f,\n    0xafea, 0x003f, 0xafe8, 0xafe9, 0xafeb, 0x003f, 0x003f, 0xd371,\n    0x003f, 0x003f, 0xd757, 0xd754, 0xd756, 0xb2eb, 0xb2ed, 0xb2ec,\n    0xd753, 0xb2ee, 0xd755, 0x003f, 0xdb58, 0xdb59, 0x003f, 0xdb5a,\n    0xdfa6, 0x003f, 0xdfa7, 0x003f, 0xdfa5, 0xdfa8, 0x003f, 0xb8a5,\n    0x003f, 0xdfa4, 0x003f, 0xbb53, 0x003f, 0x003f, 0xe74a, 0xe746,\n    0xe749, 0xe74b, 0xe748, 0xe747, 0x003f, 0xeaf5, 0xeaf6, 0xeaf7,\n    0xbfb4, 0xbfb5, 0xedf1, 0xedf0, 0xedf2, 0x003f, 0xf0a3, 0xf0a2,\n    0x003f, 0xf2c4, 0x003f, 0xf2c5, 0xf2c3, 0x003f, 0xc4a5, 0x003f,\n    0xf4b6, 0xf4b7, 0x003f, 0xf746, 0xf7ef, 0xf8bb, 0xa6e1, 0xa87d,\n    0x003f, 0xc17d, 0xa6e2, 0x003f, 0xd758, 0xdb5b, 0x003f, 0xc641,\n    0xca4a, 0x003f, 0x003f, 0x003f, 0xca4b, 0xca4d, 0xa6e3, 0xca4e,\n    0xca4c, 0x003f, 0x003f, 0xcba2, 0xcba3, 0xcb7b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xcba1, 0xa8a1, 0x003f, 0xa8a2, 0xcb7c, 0xcb7a,\n    0xcb79, 0xcb7d, 0xa87e, 0xcb7e, 0xd06a, 0x003f, 0x003f, 0x003f,\n    0xcdb6, 0xaadc, 0xcdb5, 0xcdb7, 0x003f, 0xaadb, 0xcdbc, 0xaadf,\n    0xcdb2, 0xcdc0, 0xcdc6, 0xaae6, 0xcdc3, 0xaae3, 0x003f, 0xcdb9,\n    0xcdbf, 0xcdc1, 0x003f, 0xcdb4, 0xaae2, 0xaadd, 0xcdba, 0xaae4,\n    0xaae7, 0xaae1, 0x003f, 0xaada, 0xcdbe, 0xcdb8, 0xcdc5, 0xaae9,\n    0xaae5, 0xaae0, 0xcdbd, 0xafec, 0xcdbb, 0xaade, 0xaae8, 0x003f,\n    0xcdb3, 0x003f, 0xcdc2, 0xcdc4, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xad62, 0xad5c, 0xad64, 0xad61, 0xd071, 0xd074, 0xad5d,\n    0x003f, 0xd06b, 0x003f, 0xad56, 0xad60, 0x003f, 0xad63, 0xad65,\n    0xd0a2, 0xd077, 0x003f, 0xad55, 0xd0a1, 0xad59, 0xad57, 0xad52,\n    0xd06f, 0x003f, 0xd07e, 0xd073, 0xd076, 0xd0a5, 0x003f, 0xad66,\n    0xd07d, 0xad5e, 0xd078, 0xd0a4, 0xd075, 0xd079, 0xd07c, 0x003f,\n    0x003f, 0xd06d, 0xd0a3, 0xd07b, 0x003f, 0x003f, 0xd06c, 0x003f,\n    /* 0x8300 .. 0x83ff */\n    0xd070, 0xad5f, 0xad5a, 0xad53, 0xad58, 0xad54, 0xad67, 0xd06e,\n    0xd3a5, 0xad5b, 0x003f, 0x003f, 0xd07a, 0xce41, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3a8, 0xaffa,\n    0x003f, 0xd376, 0x003f, 0xd3a3, 0xd37d, 0x003f, 0xd3b2, 0x003f,\n    0xd3aa, 0x003f, 0xd37e, 0x003f, 0xd3a9, 0xd378, 0xd37c, 0xd3b5,\n    0xaffd, 0xd3ad, 0xd3a4, 0xafed, 0xd3b3, 0xd374, 0x003f, 0xd3ac,\n    0x003f, 0xaffc, 0xaff7, 0xd373, 0xaff5, 0xaff4, 0xaff9, 0xd3ab,\n    0xaff1, 0xaff8, 0xd072, 0xdb5c, 0xd3a6, 0x003f, 0x003f, 0xd37a,\n    0xaffb, 0xd37b, 0xd3a1, 0xaffe, 0xd375, 0xd3af, 0x003f, 0xd3ae,\n    0xd3b6, 0xaff3, 0xaff0, 0xd3b4, 0xd3b0, 0xd3a7, 0xd3a2, 0xaff6,\n    0xaff2, 0xd377, 0xafee, 0xd3b1, 0xafef, 0x003f, 0xd379, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd75e, 0xd760, 0xd765, 0xd779, 0xb2fc,\n    0xb2f2, 0x003f, 0xd75d, 0xb2fd, 0xb2fe, 0xd768, 0xd76f, 0xd775,\n    0x003f, 0xd762, 0x003f, 0xd769, 0x003f, 0x003f, 0xb340, 0xd777,\n    0xd772, 0xb2fa, 0xb2f8, 0xd76e, 0xd76a, 0xd75c, 0xb2ef, 0xd761,\n    0xd759, 0x003f, 0xb2f7, 0xb2f9, 0xd766, 0xd763, 0xb2f4, 0xd773,\n    0xb2f1, 0xd764, 0xd77a, 0xd76c, 0x003f, 0xd76b, 0xb2f0, 0x003f,\n    0xb2fb, 0x003f, 0xb2f3, 0xd75a, 0xd75f, 0xd770, 0xd776, 0xb341,\n    0xd75b, 0xd767, 0xd76d, 0xb2f6, 0x003f, 0x003f, 0xd778, 0xd771,\n    0xd774, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb2f5, 0x003f, 0xdb6c,\n    0xdb60, 0xb5d7, 0xdb7d, 0xdba7, 0xdbaa, 0xb5d5, 0xdb68, 0xdba3,\n    0xdb69, 0xdb77, 0xb5e2, 0xdb73, 0xb5df, 0x003f, 0xdb74, 0xdb5d,\n    0x003f, 0xdba4, 0x003f, 0x003f, 0xb5e8, 0xdba1, 0xdb75, 0xdbac,\n    0xdb70, 0xdfc8, 0x003f, 0xdbaf, 0xb5e6, 0xdb6e, 0xdb7a, 0xb5e9,\n    0xb5d4, 0xdb72, 0xdbad, 0xdb6b, 0xdb64, 0xdb6f, 0x003f, 0xdb63,\n    0xdb61, 0xb5d0, 0xdba5, 0xdb6a, 0xdba8, 0x003f, 0xdba9, 0xb5d8,\n    0xb5dd, 0xb5d9, 0xb5e1, 0xdb7e, 0xb5da, 0xdb76, 0xdb66, 0x003f,\n    0xb5d2, 0xdb5e, 0xdba2, 0xdbab, 0xdb65, 0xb5e0, 0xdbb0, 0xdb71,\n    /* 0x8400 .. 0x84ff */\n    0x003f, 0xdb6d, 0x003f, 0xb5d1, 0xb5e5, 0x003f, 0xdb7c, 0xb5e7,\n    0x003f, 0xdb78, 0xb5dc, 0xb5d6, 0xb5de, 0xb5d3, 0xb5e4, 0xdb79,\n    0xdb67, 0xdb7b, 0xdb62, 0xdba6, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdbae, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xdb5f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdfc7, 0x003f, 0xdfdd, 0xb855, 0xdfcc, 0x003f, 0xdfca,\n    0xdfb5, 0xb8a9, 0xdfc5, 0xdfd9, 0xdfc1, 0xb8b1, 0xdfd8, 0xdfbf,\n    0xb5e3, 0xdfcf, 0xdfc0, 0xdfd6, 0xb8b0, 0xb8a8, 0x003f, 0xdfaa,\n    0xdfb2, 0x003f, 0xdfcb, 0xdfc3, 0xdfdc, 0xdfc6, 0xb8b6, 0xdfd7,\n    0x003f, 0xb8ad, 0x003f, 0xdfc9, 0xdfd1, 0xdfb6, 0xdfd0, 0x003f,\n    0xdfe1, 0xdfb1, 0xdfd2, 0x003f, 0xdfdf, 0x003f, 0xdfab, 0xb5db,\n    0x003f, 0xdfb9, 0xdfb8, 0xb8af, 0x003f, 0xdfbc, 0xdfbe, 0xdfcd,\n    0xdfde, 0xb8b2, 0x003f, 0xb8b3, 0x003f, 0xdfb0, 0xb8ab, 0xdfb4,\n    0xdfda, 0xb8b4, 0x003f, 0xb8ac, 0xb8ae, 0xb8b5, 0xdfe0, 0xdfd3,\n    0xdfce, 0x003f, 0x003f, 0xdfbb, 0xdfba, 0xb8aa, 0xdfac, 0xb8a7,\n    0xdfc4, 0xdfad, 0xdfc2, 0x003f, 0x003f, 0xdfb7, 0xdfdb, 0x003f,\n    0x003f, 0x003f, 0xb8a6, 0x003f, 0x003f, 0x003f, 0xdfb3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfaf, 0xdfd5, 0xdfae,\n    0xbb60, 0xe3d3, 0x003f, 0x003f, 0xe3c2, 0x003f, 0x003f, 0xe3ac,\n    0xe3ca, 0xbb58, 0xe3bb, 0xe3c5, 0xbb5b, 0xe3be, 0xbb59, 0xe3af,\n    0xe3cd, 0xe3ae, 0xe3c1, 0x003f, 0xe3ad, 0x003f, 0x003f, 0xe3bf,\n    0xe3c8, 0xe3c6, 0xe3ba, 0xe3b5, 0xe3b3, 0x003f, 0xe3b4, 0xe3c7,\n    0xe3d2, 0xe3bc, 0xbb5a, 0x003f, 0xe3b7, 0x003f, 0xe3cb, 0x003f,\n    0xbb5d, 0xe3b6, 0xe3b0, 0xe3c0, 0xbb61, 0x003f, 0x003f, 0xbb55,\n    0xbb5e, 0xe3b8, 0xe3b2, 0x003f, 0xbb57, 0xdfd4, 0xbb56, 0xe3c3,\n    0x003f, 0xbb54, 0xbb63, 0xbb5c, 0xe3c4, 0xe3b9, 0xe3b1, 0xe3cc,\n    0xe3bd, 0xbb62, 0xe3d0, 0xbb5f, 0xe3cf, 0x003f, 0xe3c9, 0xe3ce,\n    0x003f, 0x003f, 0x003f, 0xe3d1, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe773,\n    0xe774, 0xe767, 0xe766, 0xe762, 0xbdb4, 0x003f, 0xbdac, 0xe776,\n    0xe775, 0xdfa9, 0xe75f, 0xe763, 0xe75d, 0x003f, 0xe770, 0xe761,\n    0x003f, 0xe777, 0xe75a, 0xe758, 0xe764, 0xe76e, 0xe769, 0xbdb6,\n    /* 0x8500 .. 0x85ff */\n    0xe74f, 0x003f, 0xe76d, 0x003f, 0x003f, 0x003f, 0xbdb7, 0xdfbd,\n    0xe75b, 0xe752, 0xe755, 0xe77b, 0xe75c, 0xe753, 0xe751, 0xe74e,\n    0x003f, 0xbdb0, 0xe765, 0xbdaf, 0xbdb3, 0xe760, 0xe768, 0xbda9,\n    0xe778, 0xe77c, 0xbdab, 0x003f, 0xe757, 0xe76b, 0xe76f, 0xe754,\n    0xe779, 0xbdb2, 0x003f, 0xbdb1, 0xe74c, 0xbdb5, 0xe772, 0xe756,\n    0xe76a, 0xe750, 0xe75e, 0xe759, 0xbdad, 0xbdae, 0xe76c, 0xe77d,\n    0xe77a, 0xe771, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xe74d, 0x003f, 0xbdaa, 0xeb49, 0x003f,\n    0xeb40, 0xeb43, 0x003f, 0xbfbb, 0xeb45, 0xeaf9, 0xeb41, 0xeb47,\n    0xbfb8, 0xbfbc, 0xbfb6, 0x003f, 0x003f, 0xeafb, 0xeb4c, 0x003f,\n    0x003f, 0xeb46, 0x003f, 0xeafc, 0xeb55, 0xeb4f, 0xeaf8, 0xee46,\n    0xeafe, 0xbfb7, 0x003f, 0xeb4a, 0x003f, 0xeb54, 0xbfbf, 0x003f,\n    0xeb51, 0xeafd, 0xeb44, 0xeb48, 0xeb42, 0xeb56, 0xeb53, 0xeb50,\n    0xbfb9, 0xbfba, 0xbfbe, 0xeafa, 0xeb57, 0xbfbd, 0xeb4d, 0x003f,\n    0x003f, 0xeb4b, 0x003f, 0x003f, 0x003f, 0xeb4e, 0xee53, 0xee40,\n    0xee45, 0xee52, 0xee44, 0xedfb, 0xee41, 0x003f, 0xc1a2, 0x003f,\n    0xedf4, 0xee4d, 0xee4f, 0xedf3, 0xc1a1, 0xee51, 0xee49, 0xc1a8,\n    0xee50, 0xee42, 0xc1aa, 0xedf9, 0xeb52, 0xee4a, 0xee47, 0xedf5,\n    0xee55, 0xc1a4, 0x003f, 0x003f, 0xc1a5, 0xedf7, 0xee48, 0x003f,\n    0xee54, 0xee4b, 0xedfd, 0xc1a7, 0xc1a3, 0xee4c, 0xedfe, 0xee56,\n    0xedf8, 0xee43, 0xee4e, 0xedfa, 0xedfc, 0x003f, 0xc2cb, 0xedf6,\n    0xc1a9, 0xc2c4, 0xc17e, 0x003f, 0x003f, 0x003f, 0x003f, 0xc1a6,\n    0xc2c8, 0xf0b3, 0x003f, 0xf0a9, 0xf0a4, 0xf0aa, 0xf0b4, 0xf0b8,\n    0xf0b7, 0xc2ca, 0xc2c9, 0x003f, 0x003f, 0xf0ab, 0xf0b9, 0xf0ae,\n    0xf0a6, 0x003f, 0xf0a8, 0xf0a7, 0xf0ad, 0xf0b2, 0xf0a5, 0xf0ac,\n    0xf0b1, 0xc2c7, 0x003f, 0xf0af, 0x003f, 0xc2c5, 0xf0b0, 0xc2c3,\n    0xc2c6, 0xf2d5, 0xf0b5, 0x003f, 0x003f, 0xc3c2, 0x003f, 0xf2cd,\n    0xf2d1, 0xf2c9, 0xf2cc, 0x003f, 0xf2d4, 0xc3c0, 0xf2d9, 0xf2d2,\n    0x003f, 0xf2ca, 0xf2da, 0xf2d3, 0xc3c3, 0xc3c4, 0xf2d7, 0x003f,\n    0xf2cb, 0xc3bf, 0xc3c1, 0xf2c6, 0xf2ce, 0xf2c8, 0x003f, 0xf2d8,\n    0xf2d6, 0xf2c7, 0xf2cf, 0x003f, 0x003f, 0x003f, 0xf4be, 0xc3c5,\n    0xf2d0, 0xc4a7, 0xc4a9, 0xc4a6, 0x003f, 0xf4c3, 0xf4bb, 0xf4b9,\n    /* 0x8600 .. 0x86ff */\n    0xf4bd, 0xf4ba, 0x003f, 0x003f, 0xf4bf, 0xf4c1, 0xc4aa, 0xc4ac,\n    0x003f, 0xf4c0, 0xc4ad, 0xc4ab, 0xf4c2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4a8, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc4f4,\n    0xf5f1, 0xf5f7, 0xc4f6, 0xf4bc, 0xf5f6, 0x003f, 0xf5fd, 0xf5f4,\n    0xf5fb, 0xf5fa, 0xf4b8, 0xf5f5, 0xf0b6, 0xf5fe, 0xf5f3, 0xf5f8,\n    0x003f, 0xf5fc, 0xf5f2, 0x003f, 0xf74a, 0xc4f5, 0xf5f9, 0x003f,\n    0x003f, 0xf7f4, 0xf74b, 0xf749, 0xf747, 0xf748, 0xf74c, 0x003f,\n    0xc5d9, 0xf7f2, 0xf7f0, 0xf7f5, 0xf7f3, 0x003f, 0xf7f6, 0xc5da,\n    0xf7f1, 0x003f, 0x003f, 0xf8bc, 0x003f, 0x003f, 0xf945, 0xf946,\n    0xf947, 0x003f, 0x003f, 0xf9c7, 0xf9bd, 0xca4f, 0xaaea, 0x003f,\n    0xad68, 0x003f, 0xd3b8, 0xd3b7, 0xb040, 0xb342, 0xd77c, 0x003f,\n    0x003f, 0xd77b, 0x003f, 0xb5ea, 0xb8b8, 0x003f, 0xb8b7, 0xb8b9,\n    0x003f, 0xe3d4, 0xe77e, 0xeb58, 0xeb5a, 0xeb59, 0x003f, 0xc1ab,\n    0xee57, 0xf0ba, 0xf9a5, 0xa6e4, 0x003f, 0xcdc9, 0xcdca, 0xcdc8,\n    0xcdc7, 0xaaeb, 0x003f, 0xd0a9, 0xd0a7, 0x003f, 0x003f, 0xd0a6,\n    0x003f, 0xad69, 0xad6b, 0xad6a, 0xd0a8, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xd3c4, 0xd3c1, 0xd3bf,\n    0x003f, 0x003f, 0xb041, 0xd3c2, 0xb046, 0xd3bc, 0xd3cb, 0x003f,\n    0xd3cd, 0xd3bd, 0x003f, 0xb043, 0xd3ce, 0xd3c9, 0xd3bb, 0xd3c0,\n    0xd3ca, 0xd3c6, 0xd3c3, 0x003f, 0xb048, 0xd3cc, 0xd3be, 0x003f,\n    0x003f, 0xd3c7, 0xd3b9, 0xb047, 0xb044, 0xd3c5, 0x003f, 0xd3c8,\n    0xd3ba, 0xb045, 0xb042, 0x003f, 0x003f, 0x003f, 0x003f, 0xb34c,\n    0xd7a5, 0xb34b, 0x003f, 0xd7a8, 0xd7ab, 0xb348, 0xb346, 0xd77e,\n    0xd7a9, 0xd7a7, 0xd7a4, 0xd7ac, 0xd7ad, 0xd7af, 0xd7b0, 0xd77d,\n    0xb345, 0xd7a2, 0xd7a1, 0xd7ae, 0xb347, 0xd7a3, 0xb349, 0xb344,\n    0xd7a6, 0xb34d, 0x003f, 0xb34a, 0xd7aa, 0x003f, 0x003f, 0x003f,\n    0xb5f1, 0xdbbf, 0x003f, 0xdbb4, 0xb5ee, 0x003f, 0xdfe7, 0xdbbd,\n    0xdbb1, 0xb5ec, 0xdbb6, 0xb5ef, 0xdbba, 0xdbb8, 0xb5f2, 0xb5eb,\n    0x003f, 0x003f, 0xdbb2, 0xdbb5, 0xb5f0, 0x003f, 0xdbb3, 0x003f,\n    0xdbbe, 0xdbbc, 0xdbb7, 0xdbb9, 0xdbbb, 0xb5ed, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdfe8, 0xdfee, 0xdfe4,\n    0xdfea, 0xb8ba, 0xdfe6, 0xb8c0, 0x003f, 0x003f, 0xb8bf, 0x003f,\n    /* 0x8700 .. 0x87ff */\n    0xb8be, 0xdfed, 0xb8c1, 0xb8c2, 0xdfe3, 0xdff0, 0xb8c3, 0xb8bd,\n    0xb8bc, 0xdfec, 0xb8c4, 0xdfe2, 0xdfe5, 0xdfef, 0xdfeb, 0x003f,\n    0x003f, 0xe3f4, 0xe3e9, 0xb8bb, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbb6a, 0xe3dd, 0xe3f2, 0xe3de, 0xbb65, 0x003f, 0xe3db, 0x003f,\n    0xe3e4, 0xe3dc, 0xbb67, 0xe3d6, 0xe3f1, 0xbb68, 0xe3ee, 0xe3ef,\n    0xe3d7, 0xbb6d, 0xe3e6, 0x003f, 0xe3e0, 0xe3e7, 0xe3da, 0x003f,\n    0xe3f3, 0xe3eb, 0xe3e5, 0xe3d5, 0xbb69, 0xe3ec, 0x003f, 0xbb6c,\n    0xe3f0, 0x003f, 0xe3ea, 0xbb66, 0xe3e8, 0x003f, 0xe3e2, 0xbb64,\n    0xe3d9, 0xe3e1, 0xe3ed, 0xe3df, 0x003f, 0x003f, 0xe3e3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xbdc1, 0xdfe9, 0xe7b2, 0xe7bb,\n    0xe7b1, 0xe7ad, 0xe7aa, 0xbdc2, 0xe7a8, 0xbb6b, 0xe7a1, 0xbdc0,\n    0xe7a7, 0xbdbf, 0xe7ac, 0xe7a9, 0xe7b9, 0xe7b4, 0xe7ae, 0xe7b3,\n    0xbdbb, 0xe7ab, 0xe7be, 0xe7a2, 0xe7a3, 0xe7ba, 0xbdbc, 0xe7bf,\n    0xbdbe, 0xe7c0, 0xe7b0, 0xe3d8, 0xe7b6, 0xe7af, 0xe7b8, 0xe7b5,\n    0x003f, 0x003f, 0x003f, 0xe7a6, 0xbdb9, 0xe7bd, 0xbdba, 0xe7a4,\n    0xbdbd, 0xeb64, 0xe7b7, 0xe7bc, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeb61, 0xbdb8, 0xbfc0, 0xeb6b, 0xeb67, 0x003f, 0xeb65,\n    0xeb60, 0xeb6f, 0x003f, 0x003f, 0x003f, 0xbfc4, 0x003f, 0xeb5c,\n    0xeb68, 0xeb69, 0xeb5f, 0xeb5e, 0xeb6c, 0x003f, 0xeb62, 0xeb5d,\n    0xeb63, 0x003f, 0xeb6e, 0xeb5b, 0xeb6d, 0xeb6a, 0xbfc2, 0xbfc1,\n    0x003f, 0x003f, 0xbfc3, 0xeb66, 0xf0cb, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xee59, 0xc1b1, 0xee5d, 0xee5a, 0xee61, 0xee67,\n    0xee5c, 0x003f, 0xee70, 0xc1ae, 0xee6a, 0xee5f, 0xee6b, 0xee66,\n    0xee6d, 0xee5e, 0xc1b3, 0xc1b2, 0xee60, 0xee6e, 0xee58, 0xee6c,\n    0xc1ac, 0x003f, 0xee64, 0xee63, 0xee68, 0xee5b, 0xc1b0, 0x003f,\n    0xc1b4, 0xee62, 0xee69, 0xc1b5, 0xee65, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc1ad, 0xc1af, 0xf0c7, 0xf0c5, 0x003f, 0x003f, 0xf0cc,\n    0xf0c9, 0xf0cd, 0x003f, 0xf0be, 0xf0c6, 0xf0d1, 0xee6f, 0xf0c2,\n    0xc2cf, 0xe7a5, 0xf0bd, 0xf0ca, 0xf0c4, 0xf0c1, 0xf0bc, 0xf0bb,\n    0xf0d0, 0x003f, 0xf0c0, 0xf0bf, 0xc2cd, 0xf0c8, 0x003f, 0xc2cc,\n    0x003f, 0x003f, 0xc2ce, 0xf0c3, 0xf0cf, 0x003f, 0xf2de, 0xf2df,\n    0x003f, 0xc3c9, 0xf2dc, 0xc3c6, 0xf2e4, 0x003f, 0xc3ca, 0xf2e6,\n    /* 0x8800 .. 0x88ff */\n    0xf2db, 0xf0ce, 0xf2e8, 0xf2dd, 0x003f, 0xc3c7, 0xf2e3, 0x003f,\n    0xf2e5, 0xf2e0, 0xf2e7, 0xf2e2, 0xf2e1, 0xc3c8, 0x003f, 0x003f,\n    0xf4c5, 0xf4c6, 0x003f, 0xf4c8, 0xc4ae, 0xc4af, 0xf4c9, 0xf4c7,\n    0x003f, 0xf4c4, 0x003f, 0xf642, 0xf645, 0xf641, 0x003f, 0xc4fa,\n    0xf643, 0xc4f9, 0xc4f8, 0xc4f7, 0xf644, 0xf751, 0xf74f, 0x003f,\n    0xf74e, 0xf640, 0xf750, 0xf646, 0xf74d, 0x003f, 0xf7f9, 0xf7d7,\n    0xf7f7, 0xc5db, 0xf7f8, 0xf7fa, 0x003f, 0xf8bf, 0xc5fa, 0xf8be,\n    0xf8bd, 0xc5fb, 0x003f, 0xc65a, 0xf96e, 0xf9a7, 0xf9a6, 0xf9a8,\n    0xa6e5, 0xd0aa, 0x003f, 0xd3cf, 0xd3d0, 0x003f, 0x003f, 0x003f,\n    0xdbc0, 0x003f, 0xf647, 0xf8c0, 0xa6e6, 0xad6c, 0xd0ab, 0x003f,\n    0x003f, 0x003f, 0xd7b1, 0xb34e, 0x003f, 0xdbc2, 0xdbc1, 0xb5f3,\n    0x003f, 0xb8c5, 0xe7c1, 0xbdc3, 0x003f, 0xbdc4, 0x003f, 0x003f,\n    0x003f, 0xbfc5, 0xc5fc, 0xa6e7, 0x003f, 0x003f, 0x003f, 0xd0ac,\n    0xaaed, 0xd0ae, 0xd0ad, 0xad6d, 0x003f, 0xd3d1, 0x003f, 0xd3d8,\n    0xb049, 0xd3d6, 0xd3d4, 0x003f, 0xd3db, 0xd3d2, 0xd3d3, 0xb04a,\n    0x003f, 0xb04e, 0x003f, 0x003f, 0xd3dc, 0xb04d, 0xd3da, 0xd3d7,\n    0xd3d5, 0xb04b, 0xb04c, 0xd3d9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb350, 0xd7b2, 0x003f, 0xb355, 0xd7c2, 0xb354, 0xd7c4, 0x003f,\n    0x003f, 0xd7b8, 0xb352, 0xd7c3, 0x003f, 0xd7b3, 0xb353, 0xd7bf,\n    0xd7bb, 0xd7bd, 0xd7b7, 0xd7be, 0x003f, 0x003f, 0xb34f, 0xd7ba,\n    0x003f, 0xd7b9, 0xd7b5, 0x003f, 0xd7c0, 0x003f, 0x003f, 0xd7bc,\n    0xd7b4, 0x003f, 0xd7b6, 0xb351, 0xd7c1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xb5f6, 0xdbcd, 0x003f, 0x003f, 0x003f, 0xdbc9, 0xdbcb,\n    0xdbc6, 0xdbc5, 0xdbc3, 0x003f, 0xdbca, 0xdbcc, 0xdbc8, 0x003f,\n    0xdbc7, 0xb5f4, 0xb5f5, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xdbcf, 0xb8cd, 0xdff2, 0xdff8, 0xdff3, 0xdff4, 0xf9d8,\n    0xdff9, 0x003f, 0xb8cf, 0x003f, 0xb8c7, 0xb8ce, 0xdff1, 0xdbc4,\n    0xb8ca, 0xb8c8, 0xdff7, 0xdff6, 0xb8c9, 0xb8cb, 0xdff5, 0xb8c6,\n    0x003f, 0xb8cc, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe3f6,\n    0xbb74, 0x003f, 0x003f, 0xe442, 0xe441, 0x003f, 0xe3fb, 0xbb76,\n    0xe440, 0xe3f7, 0xe3f8, 0xbb6e, 0xbb70, 0x003f, 0xe3fd, 0xe3f5,\n    0xbb72, 0xbb71, 0xe3f9, 0xe3fe, 0xe3fc, 0xbb73, 0xe3fa, 0x003f,\n    /* 0x8900 .. 0x89ff */\n    0x003f, 0xdbce, 0xbb6f, 0x003f, 0x003f, 0xe7c2, 0xe7c9, 0xbdc6,\n    0x003f, 0xe7cd, 0xbdca, 0xe7c5, 0xe7c3, 0x003f, 0xe7cc, 0x003f,\n    0xbdc5, 0xe7cb, 0xbdc7, 0xbdc8, 0xe7c4, 0xbdc9, 0xe7ca, 0xe7c6,\n    0xe7c7, 0xe7c8, 0xbb75, 0x003f, 0x003f, 0x003f, 0xeb70, 0xeb7c,\n    0x003f, 0xbfca, 0xeb77, 0xeb79, 0x003f, 0xbfc8, 0xeb71, 0xeb75,\n    0x003f, 0xeb78, 0xbfc6, 0xbfc9, 0xeb7b, 0xeb73, 0xeb74, 0xeb7a,\n    0xeb72, 0xeb76, 0xbfc7, 0xee72, 0x003f, 0xee71, 0xc1b7, 0xee77,\n    0xc1b9, 0x003f, 0x003f, 0xc1b6, 0xee73, 0xc1ba, 0xee74, 0x003f,\n    0x003f, 0xee75, 0xee78, 0x003f, 0xc1b8, 0x003f, 0xf0d6, 0x003f,\n    0x003f, 0xf0d9, 0x003f, 0xf0d3, 0xf0d5, 0x003f, 0x003f, 0xf0d4,\n    0xf0d7, 0xf0d8, 0xee76, 0xf0d2, 0x003f, 0x003f, 0xc3cd, 0xf2ec,\n    0xf2ef, 0xf2f1, 0xf2ea, 0xf2eb, 0xf2ee, 0xf2f0, 0xc3ce, 0xc3cc,\n    0xc3cb, 0xf2ed, 0xf2e9, 0xf4ca, 0xc4b0, 0x003f, 0xf4cb, 0x003f,\n    0x003f, 0xf649, 0xc4fb, 0xf64b, 0xc4fc, 0xf648, 0xf64a, 0xc5a8,\n    0x003f, 0xf752, 0xc5a7, 0xf7fd, 0xf7fc, 0x003f, 0xf7fb, 0x003f,\n    0x003f, 0xf948, 0xf949, 0xf94b, 0xf94a, 0x003f, 0xca50, 0xa6e8,\n    0x003f, 0xad6e, 0xd7c5, 0xb5f7, 0x003f, 0xdffa, 0xc2d0, 0x003f,\n    0xf2f2, 0x003f, 0x003f, 0xa8a3, 0x003f, 0x003f, 0x003f, 0xb357,\n    0x003f, 0x003f, 0x003f, 0xb356, 0x003f, 0xdbd0, 0xb5f8, 0xdbd2,\n    0xdbd1, 0x003f, 0x003f, 0xdffb, 0xb8d0, 0xe443, 0xe446, 0xe445,\n    0x003f, 0xe444, 0xe7ce, 0xe7d0, 0xe7cf, 0x003f, 0xbfcc, 0x003f,\n    0x003f, 0x003f, 0xbfcb, 0x003f, 0xc1bb, 0xee79, 0xee7b, 0xee7a,\n    0x003f, 0x003f, 0xc2d1, 0x003f, 0x003f, 0x003f, 0xf2f4, 0xf2f3,\n    0x003f, 0xf4cc, 0xc4b1, 0x003f, 0x003f, 0xc4fd, 0xf754, 0xf753,\n    0xc65b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xa8a4, 0xd0af, 0xad6f, 0xd7c8, 0xd7c6, 0x003f,\n    0x003f, 0xd7c7, 0xdbd4, 0xdbd5, 0xe043, 0xdbd3, 0x003f, 0xdffc,\n    0xe041, 0xe040, 0xe042, 0xb8d1, 0xdffe, 0xdffd, 0xe044, 0x003f,\n    0xe449, 0xe447, 0x003f, 0xe448, 0xe7d3, 0xe7d1, 0x003f, 0x003f,\n    0xe7d2, 0xeb7d, 0xee7c, 0xee7d, 0xc2d2, 0x003f, 0xf2f5, 0xf4cd,\n    0xc4b2, 0x003f, 0xf64c, 0xf755, 0xc5a9, 0x003f, 0xf7fe, 0xf94c,\n    /* 0x8a00 .. 0x8aff */\n    0xa8a5, 0x003f, 0xad71, 0xad72, 0xd0b0, 0x003f, 0x003f, 0xd0b1,\n    0xad70, 0x003f, 0xb054, 0x003f, 0xb052, 0x003f, 0xb051, 0xb058,\n    0xb050, 0xb059, 0xd3dd, 0xb056, 0x003f, 0xb053, 0xb057, 0xb055,\n    0xb04f, 0x003f, 0x003f, 0xb35f, 0x003f, 0xb359, 0xd7cc, 0xb35e,\n    0x003f, 0x003f, 0xb360, 0xb35a, 0x003f, 0xb35b, 0x003f, 0xd7ca,\n    0x003f, 0x003f, 0xb358, 0x003f, 0xd7cb, 0xb35d, 0x003f, 0x003f,\n    0xd7c9, 0xb35c, 0x003f, 0x003f, 0xb644, 0x003f, 0xb646, 0x003f,\n    0x003f, 0xdbd8, 0xb645, 0xb5f9, 0xb5fd, 0x003f, 0xb8e4, 0xe049,\n    0xdbda, 0xb5fe, 0x003f, 0x003f, 0xdbdd, 0xdbde, 0xb643, 0x003f,\n    0xdbe0, 0x003f, 0xdbe2, 0x003f, 0xdbe3, 0xdbd7, 0xdbd6, 0xdbe4,\n    0xb642, 0xdbe1, 0xdbdf, 0x003f, 0xb640, 0xb5fb, 0xb647, 0xdbdb,\n    0xdbdc, 0xdbd9, 0x003f, 0xb641, 0x003f, 0x003f, 0xb5fc, 0x003f,\n    0xb5fa, 0xe048, 0xb8df, 0xb8da, 0x003f, 0x003f, 0xb8d5, 0x003f,\n    0xb8e5, 0xb8d6, 0x003f, 0xb8d2, 0xb8e1, 0xb8de, 0xb8e0, 0x003f,\n    0xb8d7, 0xb8dc, 0xb8d3, 0xb8d4, 0xe050, 0xe04d, 0xe045, 0xe04a,\n    0x003f, 0xb8e2, 0xe051, 0xb8e3, 0xb8d9, 0x003f, 0x003f, 0xe047,\n    0x003f, 0xe04f, 0xe04b, 0xe04e, 0xe04c, 0xb8dd, 0xe046, 0xb8d8,\n    0x003f, 0x003f, 0x003f, 0xe44c, 0xbb78, 0xbb7b, 0x003f, 0xe44e,\n    0x003f, 0xbba5, 0xe44d, 0xbb7d, 0x003f, 0xbdcf, 0xe44f, 0x003f,\n    0xbba4, 0xe44b, 0xbba6, 0x003f, 0x003f, 0x003f, 0xbb79, 0x003f,\n    0xb8db, 0xbb7c, 0x003f, 0xbb7a, 0xbb7e, 0xbba2, 0xbb77, 0xbba7,\n    0xbba3, 0x003f, 0xbba1, 0xe44a, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xbdd6, 0x003f, 0xbdd2, 0x003f, 0x003f, 0x003f, 0xbdd9, 0x003f,\n    0xe7d6, 0xbdda, 0xe7e2, 0xe7db, 0xbdcb, 0xe7e3, 0xe7dd, 0xbdd5,\n    0xe7de, 0x003f, 0xbdd4, 0xe7e1, 0xbdce, 0xe7df, 0xe7d5, 0xbdcd,\n    0xebaa, 0xbdd3, 0x003f, 0xbdd0, 0x003f, 0xbdd8, 0x003f, 0xe7d4,\n    0x003f, 0xe7d8, 0xbdcc, 0xe7d7, 0xe7d9, 0xe7da, 0xbdd7, 0xe7dc,\n    0xe7e0, 0xe7e4, 0x003f, 0xbddb, 0xbfd2, 0xeba5, 0xebab, 0xeba8,\n    0xeb7e, 0xebac, 0xeba1, 0x003f, 0xeba7, 0x003f, 0xbfcd, 0xbfd3,\n    0xebad, 0x003f, 0x003f, 0xbfcf, 0x003f, 0xbfd9, 0xbfd4, 0xebaf,\n    0xeba9, 0xbfd0, 0xeba2, 0xbfda, 0xeba3, 0xeba4, 0xbfdb, 0xbfd8,\n    0xbdd1, 0x003f, 0xbfce, 0xebb0, 0xbfdc, 0x003f, 0xbfd5, 0xebae,\n    /* 0x8b00 .. 0x8bff */\n    0xbfd1, 0xbfd6, 0xbfd7, 0x003f, 0xc1c3, 0xeea4, 0xeead, 0xeeaa,\n    0xeeac, 0x003f, 0xc1c0, 0xeea5, 0x003f, 0xeeab, 0xc1bc, 0xeea7,\n    0xc1c4, 0xeea3, 0xeea8, 0xeeaf, 0xeba6, 0xeea9, 0xeea2, 0xc1bd,\n    0xeea1, 0xc1be, 0xeeb0, 0xc1bf, 0xeeae, 0xc1c2, 0xee7e, 0x003f,\n    0xc1c1, 0x003f, 0xeea6, 0xf0dc, 0xf0ea, 0xf0e5, 0xf0e7, 0xf0db,\n    0xc2d3, 0x003f, 0xf0da, 0xc2d6, 0xc2d5, 0x003f, 0xf0e9, 0xf0e1,\n    0xf0de, 0xf0e4, 0x003f, 0xf0dd, 0x003f, 0xf0df, 0xf0e8, 0xf0e6,\n    0x003f, 0xc2d4, 0xf0ed, 0xf0eb, 0xf0e2, 0xf0ec, 0xf0e3, 0x003f,\n    0xf2f9, 0xc3cf, 0xf341, 0x003f, 0x003f, 0xf64f, 0xc3d6, 0xf0e0,\n    0xf2f7, 0xc3d2, 0xf2f8, 0xf2fd, 0x003f, 0x003f, 0xc3d4, 0xc3d5,\n    0xf2f6, 0xf340, 0xf342, 0xf2fa, 0xf2fc, 0xf2fe, 0xf2fb, 0xf343,\n    0xc3d1, 0xc3d7, 0xc3d3, 0x003f, 0xc3d0, 0xf4d0, 0x003f, 0xc4b7,\n    0xf4ce, 0x003f, 0x003f, 0xf4d2, 0x003f, 0xf4d3, 0xc4b5, 0xf4d4,\n    0xf4d1, 0x003f, 0xf4cf, 0xc4b8, 0xc4b4, 0xf4d5, 0x003f, 0xc4b6,\n    0xc4b3, 0x003f, 0x003f, 0x003f, 0xc4fe, 0x003f, 0x003f, 0xc540,\n    0xf64e, 0xf64d, 0xf650, 0xf651, 0x003f, 0xc541, 0xf756, 0xf75b,\n    0xc5aa, 0x003f, 0xf758, 0x003f, 0xf757, 0xf75a, 0xf759, 0x003f,\n    0xf843, 0x003f, 0xc5dc, 0xf842, 0xf840, 0x003f, 0xf841, 0x003f,\n    0x003f, 0x003f, 0xc5fe, 0xc5fd, 0xf8c1, 0xf8c2, 0xc640, 0x003f,\n    0xf94d, 0xf94e, 0xc667, 0x003f, 0xc66d, 0x003f, 0xf9a9, 0xf9c8,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x8c00 .. 0x8cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xa8a6,\n    0x003f, 0xd7cd, 0x003f, 0xd7ce, 0xe052, 0xe450, 0xe7e5, 0xc1c6,\n    0x003f, 0xc1c5, 0xf0ee, 0xf344, 0x003f, 0xf844, 0xa8a7, 0xd3de,\n    0xb05a, 0xb361, 0xe054, 0xe053, 0xbddc, 0xe7e6, 0xbddd, 0xeeb1,\n    0xc2d7, 0x003f, 0x003f, 0x003f, 0xc676, 0xa8a8, 0xcdcb, 0xd3df,\n    0x003f, 0x003f, 0xb362, 0x003f, 0xd7cf, 0xd7d0, 0x003f, 0xdbe5,\n    0x003f, 0xb648, 0xb8e6, 0x003f, 0xe056, 0xe055, 0xe057, 0x003f,\n    0xe451, 0xe452, 0xbba8, 0xbfdd, 0xbdde, 0xbfde, 0x003f, 0xeeb5,\n    0xeeb2, 0xeeb4, 0xeeb3, 0xc1c7, 0x003f, 0xf0ef, 0xf346, 0xf345,\n    0xcba4, 0xb05c, 0xb05b, 0xd3e0, 0x003f, 0xd7d1, 0x003f, 0x003f,\n    0xdbe7, 0xdbe6, 0xb649, 0x003f, 0xe059, 0xe05a, 0xe058, 0x003f,\n    0x003f, 0xb8e8, 0xb8e7, 0x003f, 0xbbaa, 0xbba9, 0x003f, 0xe7e7,\n    0xebb3, 0xebb1, 0xebb2, 0xbfdf, 0xeeb7, 0xeeb6, 0x003f, 0xf0f2,\n    0xf0f1, 0xf0f0, 0xf347, 0x003f, 0xf9aa, 0xa8a9, 0xad73, 0x003f,\n    0xad74, 0xb05d, 0xb05e, 0xd3e2, 0xd3e1, 0xd7d2, 0x003f, 0xb368,\n    0xb366, 0xb363, 0xb367, 0xb365, 0xb364, 0x003f, 0x003f, 0xb64a,\n    0xdbea, 0x003f, 0xb8ed, 0xb64c, 0xb651, 0xdbec, 0xb653, 0xb652,\n    0xb655, 0xdbeb, 0xdbe8, 0xb64f, 0xb64b, 0xb64d, 0xdbe9, 0xb654,\n    0xb650, 0xb64e, 0xb8ef, 0xb8ee, 0xb8ec, 0xb8f0, 0x003f, 0xb8ea,\n    0xb8eb, 0x003f, 0xb8e9, 0x003f, 0xe05b, 0x003f, 0x003f, 0xe454,\n    0x003f, 0xbbac, 0xbbad, 0xbbab, 0x003f, 0xe453, 0x003f, 0xe455,\n    0x003f, 0xe7ea, 0xe7ec, 0x003f, 0xbde7, 0xe7ed, 0xbde0, 0xe7e9,\n    0xbddf, 0xbde9, 0xbde5, 0xbde6, 0xbde2, 0xe7e8, 0xbde1, 0xe7ee,\n    0xe7eb, 0x003f, 0xbde8, 0x003f, 0xbde3, 0xbde4, 0xebb5, 0x003f,\n    0xebb7, 0xebb6, 0x003f, 0xebb8, 0xbfe0, 0xebb4, 0x003f, 0x003f,\n    0xc1cb, 0xeeb8, 0xc1c8, 0xc1cc, 0xc1ca, 0xc1c9, 0xf0f3, 0x003f,\n    /* 0x8d00 .. 0x8dff */\n    0xf0f6, 0x003f, 0xf0f5, 0x003f, 0xf0f4, 0xc2d8, 0xf348, 0xf349,\n    0xc3d8, 0xf34a, 0xc3d9, 0x003f, 0x003f, 0xc4ba, 0x003f, 0xc4b9,\n    0xf652, 0x003f, 0x003f, 0xc542, 0xf653, 0xf75c, 0xc5ab, 0xc5ac,\n    0x003f, 0xf845, 0x003f, 0xc642, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xa8aa, 0x003f, 0xb36a, 0xb369,\n    0xe05c, 0xe05d, 0x003f, 0xbbae, 0xebb9, 0xbdea, 0xebba, 0xeeb9,\n    0xa8ab, 0x003f, 0xd0b2, 0xad76, 0xad75, 0x003f, 0xd3e3, 0xb05f,\n    0xd3e4, 0xd7d5, 0x003f, 0xd7d4, 0x003f, 0xd7d3, 0x003f, 0x003f,\n    0xdbee, 0xb658, 0x003f, 0x003f, 0xdbed, 0xb657, 0x003f, 0x003f,\n    0x003f, 0xdbef, 0xb656, 0x003f, 0xe05f, 0xe062, 0xe060, 0xe061,\n    0xe065, 0xe05e, 0xe066, 0xe063, 0xe064, 0xbbb0, 0xe456, 0x003f,\n    0x003f, 0xbbaf, 0x003f, 0xe7f2, 0xe7f0, 0x003f, 0x003f, 0xbdeb,\n    0xe7ef, 0xe7f1, 0x003f, 0xbdec, 0x003f, 0xebbb, 0x003f, 0xebbc,\n    0xc1cd, 0x003f, 0xf34c, 0xf34e, 0xf34b, 0xf34d, 0xf4d6, 0xf654,\n    0x003f, 0x003f, 0xf96f, 0xa8ac, 0xad77, 0xd3e5, 0xd3e7, 0xd3e6,\n    0x003f, 0xd7d8, 0xb36c, 0x003f, 0xd7d6, 0x003f, 0xb36b, 0xd7d9,\n    0x003f, 0xd7da, 0xd7d7, 0x003f, 0x003f, 0xdbfb, 0xb660, 0xdbf3,\n    0xdbf9, 0x003f, 0x003f, 0xb65b, 0xb65e, 0xdbf2, 0xb659, 0xdbf6,\n    0xe06c, 0xb65d, 0x003f, 0xdbf1, 0x003f, 0xdbf7, 0xdbf4, 0xdbfa,\n    0xdbf0, 0xdbf8, 0xb65c, 0xb65f, 0xdbf5, 0xb65a, 0x003f, 0xb8f2,\n    0xe068, 0xb8f1, 0xe06f, 0xe06e, 0xb8f8, 0x003f, 0xb8f9, 0xe070,\n    0xb8f3, 0xe06d, 0xb8f7, 0xe072, 0xe069, 0x003f, 0xe06b, 0xb8f4,\n    0xe067, 0xe06a, 0xe071, 0xb8f5, 0xe073, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb8f6, 0x003f, 0xbbb1, 0xe45b, 0xe461, 0xe459,\n    /* 0x8e00 .. 0x8eff */\n    0xe462, 0x003f, 0xe458, 0xe45d, 0xe463, 0xe460, 0xe45f, 0xe45e,\n    0x003f, 0xe457, 0xe45c, 0x003f, 0x003f, 0xe45a, 0x003f, 0xbdf1,\n    0xbdee, 0xe7fb, 0xe841, 0xe843, 0xe840, 0xe7f8, 0xe7fa, 0xe845,\n    0xe842, 0xe7fc, 0xe846, 0xe7f9, 0xe844, 0xbdef, 0xbdf5, 0xbdf3,\n    0xe7f3, 0xbdf4, 0xbdf0, 0xe7f4, 0xe7f6, 0xe7f5, 0xe7fd, 0xe7fe,\n    0x003f, 0xbdf2, 0x003f, 0xbded, 0x003f, 0x003f, 0xe7f7, 0x003f,\n    0xebc6, 0xbfe2, 0x003f, 0xebbd, 0xbfe3, 0xbfe6, 0xebc2, 0x003f,\n    0xebbf, 0xbfe5, 0x003f, 0x003f, 0xebc3, 0xebc4, 0xebbe, 0xebc7,\n    0xebc0, 0xebc5, 0xbfe4, 0x003f, 0xbfe1, 0xebc1, 0x003f, 0xeebf,\n    0xc1d0, 0xc1ce, 0xc1d1, 0xc1cf, 0xeebe, 0xeebb, 0xeeba, 0x003f,\n    0xeebd, 0x003f, 0x003f, 0xeebc, 0xf145, 0xc2de, 0xf0fb, 0xf0fa,\n    0x003f, 0xc2d9, 0xf141, 0xf140, 0xf0f7, 0xf143, 0xf0fc, 0xc2dd,\n    0xf0f9, 0xf142, 0xf0f8, 0xc2da, 0xc2dc, 0xf0fd, 0xc2db, 0xf0fe,\n    0x003f, 0xf144, 0xf352, 0x003f, 0xc3de, 0xf34f, 0x003f, 0xf353,\n    0x003f, 0x003f, 0xc3db, 0xf351, 0xc3e0, 0x003f, 0xc3dd, 0x003f,\n    0xf350, 0x003f, 0xc3df, 0xf354, 0xc3da, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xc4bc, 0xc4be, 0x003f, 0xf4d9, 0xc4bd, 0xf4d7, 0xc3dc,\n    0xf4d8, 0xc4bb, 0xc543, 0xc545, 0xf656, 0xc544, 0xf655, 0x003f,\n    0xf761, 0xc5ad, 0xf760, 0xc5ae, 0xf75e, 0xf75d, 0xf762, 0xf763,\n    0xf846, 0x003f, 0xf75f, 0x003f, 0x003f, 0xf8c6, 0xf8c3, 0xf8c4,\n    0xf8c5, 0xc65c, 0x003f, 0xf951, 0xf950, 0xf94f, 0xf970, 0x003f,\n    0xf9be, 0xf9ab, 0xc66e, 0xa8ad, 0xb060, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb8fa, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbdf6, 0x003f, 0x003f, 0xebc8, 0x003f, 0x003f,\n    0xc2df, 0x003f, 0xf355, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xf9ac, 0xa8ae, 0xaaee, 0xad79, 0xad78, 0x003f, 0xb063,\n    0x003f, 0xd3e8, 0xb061, 0xd3e9, 0xb062, 0x003f, 0x003f, 0xd7df,\n    0xd7db, 0x003f, 0x003f, 0xb36d, 0xd7de, 0xd7dd, 0xd7dc, 0xb36e,\n    0xd7e0, 0xd7e1, 0x003f, 0x003f, 0x003f, 0xdc43, 0xdc41, 0xdc45,\n    0xdc46, 0xdc4c, 0x003f, 0xdc48, 0xdc4a, 0x003f, 0xdc42, 0xdbfc,\n    0x003f, 0xdc49, 0x003f, 0x003f, 0xdc4b, 0xdc44, 0xdc47, 0xdbfd,\n    0xb662, 0xdc40, 0xdbfe, 0xb661, 0xb663, 0x003f, 0xb8fd, 0xe075,\n    /* 0x8f00 .. 0x8fff */\n    0xe077, 0xe076, 0xe07b, 0xb8fb, 0x003f, 0xe078, 0xe074, 0xe079,\n    0xe07a, 0xb8fc, 0xb8fe, 0xe07c, 0x003f, 0xe467, 0xe466, 0x003f,\n    0xe464, 0xe465, 0xbbb3, 0xbbb5, 0xbbb2, 0xbbb4, 0xe84d, 0xe84e,\n    0xe849, 0x003f, 0xe84a, 0xbdf8, 0xbdfd, 0xbdf7, 0xbdfe, 0xbdf9,\n    0xe84b, 0x003f, 0x003f, 0xe84c, 0xe848, 0xbe40, 0xbdfb, 0x003f,\n    0x003f, 0xbdfa, 0xbdfc, 0x003f, 0xe847, 0x003f, 0xebca, 0xbfe8,\n    0x003f, 0x003f, 0xebcc, 0xbfea, 0xebcf, 0xebcb, 0xebc9, 0xebce,\n    0xbfe9, 0xebcd, 0x003f, 0xbfe7, 0x003f, 0x003f, 0xc1d3, 0xc1d6,\n    0xeec1, 0x003f, 0xc1d4, 0xeec0, 0xc1d2, 0xc1d5, 0xf146, 0xf147,\n    0xf148, 0xc2e0, 0x003f, 0xf149, 0x003f, 0xc2e1, 0xc3e2, 0xf358,\n    0xf359, 0xf357, 0xf356, 0xf35a, 0xc3e1, 0xf4dd, 0xf4db, 0xf4dc,\n    0xf4de, 0xf4da, 0xf4df, 0xf658, 0x003f, 0xf659, 0xf657, 0xc546,\n    0xf764, 0xc5af, 0xf765, 0xf848, 0xf847, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xa8af, 0xb664, 0x003f, 0x003f, 0xb940,\n    0x003f, 0x003f, 0x003f, 0xbbb6, 0x003f, 0x003f, 0xbfec, 0x003f,\n    0xbfeb, 0x003f, 0x003f, 0x003f, 0x003f, 0xc3e3, 0xc47c, 0xc547,\n    0xa8b0, 0xb064, 0xb941, 0x003f, 0xf35b, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xcba6,\n    0x003f, 0x003f, 0xa8b1, 0x003f, 0xa8b4, 0xa8b3, 0xa8b2, 0x003f,\n    0x003f, 0xcba5, 0x003f, 0xcdcd, 0x003f, 0xcdcf, 0xaaef, 0x003f,\n    0x003f, 0xaaf1, 0xcdcc, 0xcdce, 0xaaf0, 0xcdd1, 0xcdd0, 0xcdd2,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xd0b6, 0xd0b4, 0xad7c, 0xd0b3, 0xada3, 0xad7e, 0xad7b, 0x003f,\n    0xada4, 0x003f, 0xad7d, 0xada2, 0x003f, 0xada1, 0xd0b5, 0x003f,\n    0xad7a, 0x003f, 0x003f, 0x003f, 0xb06a, 0xd3eb, 0xd3f1, 0xb067,\n    0xb06e, 0x003f, 0xb069, 0xd3ee, 0xd3f0, 0xb06c, 0xd3ea, 0xd3ed,\n    /* 0x9000 .. 0x90ff */\n    0xb068, 0xb065, 0xd3ec, 0xb06b, 0xd3ef, 0xb06d, 0xb066, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xd7e3, 0xd7e6, 0xb370, 0x003f, 0xb37a,\n    0xb376, 0xd7e4, 0x003f, 0x003f, 0xb37e, 0xb377, 0xb37c, 0xb372,\n    0x003f, 0xb36f, 0xb371, 0xb37d, 0xd7e5, 0xb375, 0xb378, 0xb374,\n    0xb379, 0xd7e7, 0xb37b, 0xb373, 0xd7e2, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc4d, 0xb665, 0xdc4f,\n    0x003f, 0xb667, 0xb669, 0x003f, 0xdc4e, 0xb666, 0xb66a, 0x003f,\n    0xb668, 0x003f, 0x003f, 0x003f, 0xb947, 0xe0a3, 0xb94f, 0xe07e,\n    0x003f, 0xb950, 0xb945, 0x003f, 0xe0a1, 0x003f, 0x003f, 0xb94a,\n    0x003f, 0xe0a2, 0xb943, 0xb942, 0x003f, 0xb94d, 0xb94c, 0xb94b,\n    0xb949, 0xb94e, 0xe07d, 0xb944, 0xb946, 0xb948, 0x003f, 0x003f,\n    0xbbb8, 0xbbbb, 0x003f, 0xbbbf, 0xbbb9, 0xbbbe, 0xbbbc, 0x003f,\n    0xbbb7, 0x003f, 0xbbbd, 0xbbba, 0x003f, 0x003f, 0x003f, 0xe852,\n    0xbe43, 0xbe41, 0x003f, 0xe853, 0x003f, 0xbe44, 0xbe42, 0xe851,\n    0xe850, 0x003f, 0xbff0, 0xe84f, 0xbfee, 0xbfed, 0xebd0, 0xbe45,\n    0xbfef, 0xebd1, 0xbff2, 0xebd2, 0xbff1, 0xc1d8, 0xeec3, 0xc1d7,\n    0xc1dc, 0xc1da, 0xc1db, 0xc2e3, 0xc1d9, 0xeec2, 0xebd3, 0xc2e2,\n    0xc2e4, 0x003f, 0xc3e4, 0xc3e5, 0x003f, 0xf4e0, 0x003f, 0xc5de,\n    0xc5dd, 0xa8b6, 0x003f, 0x003f, 0xca55, 0xb06f, 0x003f, 0xca52,\n    0xca53, 0xca51, 0x003f, 0xca54, 0x003f, 0x003f, 0xcbaa, 0xcba7,\n    0xcbac, 0xcba8, 0xa8b7, 0xa8ba, 0x003f, 0xcba9, 0xa8b9, 0xcbab,\n    0x003f, 0x003f, 0xa8b8, 0x003f, 0x003f, 0x003f, 0x003f, 0xcdd5,\n    0xcdd7, 0xaaf4, 0xcdd3, 0xcdd6, 0xcdd4, 0xaaf2, 0xaaf5, 0x003f,\n    0xaaf3, 0x003f, 0x003f, 0x003f, 0x003f, 0xd0b8, 0xd0bc, 0xd0b9,\n    0x003f, 0xada7, 0x003f, 0xada8, 0x003f, 0xd0bb, 0x003f, 0xd0bd,\n    0xd0bf, 0x003f, 0xada5, 0xd0be, 0x003f, 0x003f, 0xada6, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xd7ee, 0xd0ba, 0xd3f2, 0xd3fb,\n    0xd3f9, 0xd3f4, 0xd3f5, 0xd3fa, 0xd3fc, 0xb071, 0x003f, 0xd3f7,\n    0xd3f3, 0xb070, 0xb072, 0xd3f6, 0xd3fd, 0xd3f8, 0x003f, 0x003f,\n    0xb3a1, 0xd7f1, 0xd7e9, 0xd7ef, 0xd7f0, 0xb3a2, 0x003f, 0xd7e8,\n    0xd7ea, 0xd0b7, 0xd7ec, 0xd7ed, 0xd7eb, 0xb66c, 0x003f, 0x003f,\n    0x003f, 0xdc56, 0xebd4, 0xdc57, 0xdc54, 0xb3a3, 0xb66e, 0xdc53,\n    /* 0x9100 .. 0x91ff */\n    0xdc59, 0xdc58, 0xb66b, 0xdc5c, 0xdc52, 0xdc5b, 0xdc50, 0xdc5a,\n    0xdc55, 0xb66d, 0x003f, 0xe0aa, 0x003f, 0xe0a5, 0xe0ab, 0xe0a6,\n    0xe0a4, 0xe0a7, 0xb951, 0x003f, 0xe0a9, 0x003f, 0xe0a8, 0xb952,\n    0xbbc1, 0xbbc0, 0xe46e, 0xe471, 0xe469, 0xe46d, 0xbbc2, 0xe46c,\n    0xe46a, 0xe470, 0xe46b, 0xe468, 0xe46f, 0x003f, 0xe859, 0xbe48,\n    0xf14a, 0xe856, 0xe857, 0xe855, 0xdc51, 0xbe47, 0xe85a, 0xe854,\n    0xbe46, 0xbe49, 0xe858, 0xebd5, 0xbff3, 0xebd6, 0xebd7, 0x003f,\n    0xeec4, 0xc1dd, 0xf14b, 0xf14c, 0x003f, 0x003f, 0xf14d, 0xf35d,\n    0xf35c, 0xf4e2, 0x003f, 0xf4e1, 0xf65b, 0xf65c, 0xf65a, 0xf766,\n    0xc5b0, 0xa8bb, 0xadaa, 0xada9, 0xb075, 0xb074, 0xd440, 0xd441,\n    0xd3fe, 0x003f, 0xb073, 0xd7f5, 0x003f, 0xd7f6, 0xd7f2, 0xb3a4,\n    0xd7f3, 0x003f, 0xd7f4, 0x003f, 0x003f, 0x003f, 0x003f, 0xdc5f,\n    0xdc61, 0xdc5d, 0xdc60, 0xb66f, 0xdc5e, 0xb670, 0x003f, 0x003f,\n    0xdd73, 0xb955, 0xb954, 0x003f, 0xb953, 0x003f, 0xe0ac, 0xe0ad,\n    0x003f, 0x003f, 0xe473, 0xe475, 0xbbc6, 0xbbc3, 0x003f, 0xbbc5,\n    0xbbc4, 0xe474, 0xe472, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xe861, 0xe85e, 0xe85f, 0xbe4d, 0xe860, 0xe85b, 0xe85c, 0xbe4a,\n    0x003f, 0xbe4b, 0xe85d, 0xbe4c, 0x003f, 0xebdb, 0x003f, 0xebdc,\n    0xebd9, 0xebda, 0xbff4, 0xebd8, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xeec8, 0xeec5, 0xeec7, 0xc1e0, 0xeecb, 0xc1df, 0xeec9,\n    0xeecc, 0xeeca, 0xeec6, 0xc1de, 0x003f, 0xf14f, 0x003f, 0xf150,\n    0xf14e, 0x003f, 0xf152, 0xc2e5, 0xc2e6, 0xf35f, 0xc3e7, 0xf151,\n    0xf35e, 0xc3e6, 0xf4e5, 0xf4e6, 0xc4bf, 0xf4e4, 0x003f, 0xf4e3,\n    0x003f, 0xf65d, 0xc548, 0x003f, 0xf849, 0xf8c8, 0xf8c7, 0x003f,\n    0xc643, 0xc65d, 0xf8c9, 0xf971, 0x003f, 0xc66f, 0xa8bc, 0xaaf6,\n    0x003f, 0xb956, 0x003f, 0xc4c0, 0xa8bd, 0xadab, 0xb3a5, 0xb671,\n    0xc2e7, 0xaaf7, 0x003f, 0xd0c1, 0xd0c0, 0xd442, 0x003f, 0xb078,\n    0xb076, 0xb07a, 0xd444, 0x003f, 0xb079, 0xb077, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd443, 0xb3a8, 0xd7fc, 0x003f, 0xb3a7, 0xb3a9,\n    0xd842, 0xb3ab, 0xd7fe, 0xd840, 0xd7f7, 0xb3aa, 0xd843, 0x003f,\n    0x003f, 0xd7f9, 0x003f, 0xd7fa, 0xd7f8, 0xb3a6, 0x003f, 0xd841,\n    0xd7fb, 0xd7fd, 0x003f, 0x003f, 0x003f, 0xdc6d, 0x003f, 0xdc6c,\n    /* 0x9200 .. 0x92ff */\n    0xdc6a, 0xdc62, 0xdc71, 0xdc65, 0xdc6f, 0xdc76, 0xdc6e, 0xb679,\n    0x003f, 0xb675, 0xdc63, 0x003f, 0xdc69, 0xb677, 0x003f, 0xdc68,\n    0xb678, 0xb67a, 0xdc6b, 0x003f, 0xb672, 0xb673, 0xdc77, 0xdc75,\n    0x003f, 0xdc74, 0xdc66, 0x003f, 0xdc72, 0x003f, 0xb676, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xb674, 0xdc73, 0xdc64, 0xdc67, 0xdc70,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xe4ba, 0xe0b7, 0x003f,\n    0xe0b0, 0xe0c3, 0xe0cc, 0xe0b3, 0xb961, 0x003f, 0xe0c0, 0xb957,\n    0xb959, 0xb965, 0xe0b1, 0x003f, 0x003f, 0xb95a, 0xb95c, 0xb966,\n    0xb95b, 0x003f, 0x003f, 0x003f, 0x003f, 0xb964, 0xe0b9, 0x003f,\n    0xe0ae, 0xb962, 0xe0b8, 0xb95e, 0xe0ca, 0xb963, 0xe0c8, 0xe0bc,\n    0xe0c6, 0xb960, 0xe0af, 0xe0c9, 0xe0c4, 0x003f, 0xe0cb, 0xb958,\n    0x003f, 0x003f, 0xb967, 0xb95d, 0x003f, 0x003f, 0xe0b5, 0x003f,\n    0xe0bd, 0xe0c1, 0x003f, 0xe0c5, 0xb95f, 0xe0b4, 0xe0b2, 0xe0be,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xe0bb, 0xe0ba, 0x003f, 0xe0bf,\n    0xe0c2, 0x003f, 0xe0c7, 0x003f, 0x003f, 0x003f, 0xe478, 0x003f,\n    0xbbc7, 0xe4a4, 0xe47a, 0xbbcc, 0xbbd0, 0xe4ad, 0xe4b5, 0xe4a6,\n    0xbbc8, 0x003f, 0xe4aa, 0xe0b6, 0x003f, 0xbbc9, 0xe4b1, 0xe4b6,\n    0xe4ae, 0x003f, 0xe4b0, 0xe4b9, 0xe4b2, 0xe47e, 0xe4a9, 0x003f,\n    0x003f, 0xbbd1, 0x003f, 0xbbcd, 0xe47c, 0xe4ab, 0xbbcb, 0xe4a5,\n    0xbbca, 0xe4b3, 0xe4a2, 0xe479, 0xbbce, 0xe4b8, 0x003f, 0x003f,\n    0xe47b, 0xe4af, 0xe4ac, 0xe4a7, 0xe477, 0xe476, 0xe4a1, 0xe4b4,\n    0xbbcf, 0xe4b7, 0xe47d, 0xe4a3, 0xbe52, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xbe5a, 0xbe55, 0xe8a4, 0xe8a1, 0xe867, 0xbe50,\n    0x003f, 0xf9d7, 0x003f, 0xbe4f, 0xbe56, 0x003f, 0x003f, 0x003f,\n    0xe865, 0xbe54, 0xe871, 0xe863, 0xe864, 0xbe4e, 0xe8a3, 0xbe58,\n    0xe874, 0xe879, 0xe873, 0xebee, 0xe86f, 0xe877, 0xe875, 0xe868,\n    0xe862, 0xe87d, 0xbe57, 0xe87e, 0x003f, 0xe878, 0x003f, 0xe86d,\n    0xe86b, 0xe866, 0x003f, 0x003f, 0x003f, 0xe86e, 0xe87b, 0xe86a,\n    0xe87a, 0xe8a2, 0x003f, 0x003f, 0xbe53, 0x003f, 0xe876, 0xe87c,\n    0xe872, 0xe86c, 0xbe51, 0x003f, 0x003f, 0x003f, 0xe4a8, 0xe870,\n    0xbe59, 0xe869, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebf4,\n    0xbff7, 0xebf3, 0xebf0, 0xec44, 0xbffb, 0x003f, 0xec41, 0xebf8,\n    /* 0x9300 .. 0x93ff */\n    0xec43, 0xebe9, 0xebf6, 0x003f, 0xbffd, 0x003f, 0xebe1, 0x003f,\n    0xebdf, 0xec42, 0x003f, 0xec40, 0xebfe, 0xebed, 0xebec, 0xebe2,\n    0xc040, 0x003f, 0xebe8, 0xebf2, 0xebfd, 0xc043, 0xec45, 0x003f,\n    0xc1e8, 0xc045, 0xbffe, 0xebe6, 0x003f, 0xebef, 0xebde, 0xebe0,\n    0xbff5, 0xc042, 0xbffa, 0xebe7, 0xebf7, 0xebf1, 0xc041, 0xebdd,\n    0xc1e3, 0xebf9, 0xebfc, 0xbffc, 0x003f, 0xebeb, 0xc044, 0xbff9,\n    0x003f, 0x003f, 0x003f, 0xbff8, 0xebf5, 0xebfb, 0xbff6, 0x003f,\n    0xebe4, 0xebfa, 0x003f, 0x003f, 0xebe5, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xebea, 0xeed2,\n    0x003f, 0xeed7, 0xc1e5, 0xc1e7, 0xeedd, 0xc1e1, 0xeeec, 0xeee3,\n    0xeed8, 0xeed9, 0xeee2, 0x003f, 0xc1ee, 0xeee1, 0xeed1, 0xeee0,\n    0xeed4, 0xeeed, 0xc1ed, 0xc1eb, 0xeed5, 0x003f, 0xeee8, 0x003f,\n    0xeeda, 0xeee7, 0x003f, 0xeee9, 0xeed0, 0xc1e6, 0x003f, 0xeeea,\n    0x003f, 0x003f, 0xeede, 0x003f, 0xc1ea, 0xeedb, 0x003f, 0x003f,\n    0xc1ec, 0xeee4, 0x003f, 0x003f, 0x003f, 0xc1e4, 0xeed6, 0xeee5,\n    0x003f, 0xeedf, 0xebe3, 0xeee6, 0xeed3, 0x003f, 0xc1e9, 0x003f,\n    0xeeeb, 0x003f, 0xc1e2, 0xeece, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf160, 0xf159, 0xc2e9, 0x003f, 0xf154, 0xf163, 0xf15b, 0xeedc,\n    0x003f, 0xf165, 0xf155, 0x003f, 0xc2e8, 0xf15f, 0xc2ea, 0xc2f2,\n    0xc2f0, 0xf161, 0xc2f1, 0xf157, 0x003f, 0xf158, 0xf15d, 0xf162,\n    0x003f, 0xeecd, 0xc2eb, 0xf16a, 0xf167, 0xf16b, 0xf15e, 0xf15a,\n    0xf168, 0xf36a, 0xf15c, 0x003f, 0xc2ee, 0x003f, 0xc2ed, 0xeecf,\n    0xc2ef, 0xf164, 0xf166, 0xc2ec, 0xf169, 0xf153, 0x003f, 0xf156,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf373, 0x003f, 0xf363, 0xc3eb, 0xf371, 0x003f, 0x003f, 0xf361,\n    0xc3ec, 0x003f, 0xf36c, 0x003f, 0xf368, 0xc3f1, 0xf372, 0xf362,\n    0xf365, 0xc3e9, 0xf374, 0x003f, 0xf36d, 0xf370, 0xc3ef, 0xc3f4,\n    0xc3f2, 0xf369, 0xf364, 0x003f, 0xc3ed, 0xc3ee, 0xf360, 0xc3ea,\n    0x003f, 0xc3e8, 0xc3f0, 0xf36f, 0xc3f3, 0x003f, 0xf36b, 0xf375,\n    0xc3f5, 0x003f, 0x003f, 0x003f, 0xf367, 0x003f, 0xf36e, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf4f3, 0xf542, 0xf4f5,\n    0xf4fc, 0xf366, 0xf4fa, 0xf4e9, 0xf540, 0xc4c3, 0xf4ed, 0xf4fe,\n    /* 0x9400 .. 0x94ff */\n    0xf4f4, 0x003f, 0x003f, 0xc4c2, 0x003f, 0x003f, 0xf544, 0xf4f6,\n    0x003f, 0xf4fb, 0xf4fd, 0xf4e7, 0xf541, 0xf4f2, 0xf4f7, 0xf4eb,\n    0xf4ef, 0xf543, 0xf4f9, 0xf4e8, 0xf4ec, 0xf4ee, 0xf4f8, 0x003f,\n    0xc4c1, 0xf4f1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf4ea, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xf4f0, 0xf661, 0xf666, 0xc54f, 0xf668, 0x003f, 0xc549, 0x003f,\n    0xf664, 0xf66a, 0xc54e, 0xc54a, 0x003f, 0xc54b, 0xf660, 0xf667,\n    0xc54d, 0xf665, 0xc54c, 0xf65f, 0xf663, 0xf662, 0x003f, 0xf65e,\n    0xf669, 0x003f, 0x003f, 0x003f, 0xc5b1, 0xf76d, 0xf770, 0xf76c,\n    0xf76e, 0xf76f, 0xf769, 0xf76a, 0xf767, 0x003f, 0x003f, 0xf76b,\n    0xf768, 0xc5b2, 0xc5b3, 0x003f, 0x003f, 0xf84b, 0x003f, 0xf84d,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf84c, 0xf84e, 0x003f,\n    0xc5e0, 0x003f, 0xf84a, 0xc5df, 0xc5e1, 0x003f, 0x003f, 0x003f,\n    0xf8cb, 0xf8cc, 0xc644, 0xf8ca, 0x003f, 0xf953, 0xf952, 0xf954,\n    0xc65f, 0xf955, 0xc65e, 0xf956, 0xf972, 0xf975, 0xf974, 0xc668,\n    0xf973, 0x003f, 0x003f, 0x003f, 0xc672, 0xc670, 0xc671, 0xc677,\n    0xf9c0, 0xf9c1, 0xf9bf, 0xf9c9, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9500 .. 0x95ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xaaf8,\n    0x003f, 0x003f, 0xd844, 0xdc78, 0xe8a5, 0xf376, 0x003f, 0x003f,\n    0xaaf9, 0x003f, 0xadac, 0xb07b, 0x003f, 0x003f, 0xd845, 0x003f,\n    0xd846, 0xb3ac, 0x003f, 0xb67d, 0xdc7a, 0xdc79, 0xb6a3, 0xb67c,\n    0xdc7b, 0xb67e, 0xb6a2, 0xb6a1, 0xb67b, 0x003f, 0x003f, 0x003f,\n    0xb968, 0x003f, 0x003f, 0xe0d0, 0xe0ce, 0x003f, 0xe0cf, 0xe0cd,\n    0x003f, 0xbbd2, 0x003f, 0xbbd5, 0xbbd7, 0xbbd6, 0x003f, 0x003f,\n    0xbbd3, 0xbbd4, 0x003f, 0xe8a7, 0xe8a6, 0xbe5b, 0xe8a8, 0x003f,\n    0xe8a9, 0xbe5c, 0x003f, 0x003f, 0x003f, 0xec4d, 0xec4b, 0xeef3,\n    0x003f, 0xec49, 0xec4a, 0xc046, 0xec46, 0xec4e, 0xec48, 0xec4c,\n    0xeeef, 0x003f, 0x003f, 0xeef1, 0x003f, 0xeef2, 0xc1f3, 0xeeee,\n    0xc1f2, 0xeef0, 0xc1ef, 0xc1f0, 0xc1f1, 0xec47, 0x003f, 0x003f,\n    0xc2f5, 0xf16e, 0xf16c, 0xf16d, 0xc2f3, 0xc2f6, 0xc2f4, 0x003f,\n    0x003f, 0x003f, 0xf377, 0xf378, 0xc3f6, 0x003f, 0xf545, 0xf547,\n    0xf546, 0xc4c4, 0xc550, 0xf66d, 0xf66c, 0xf66b, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0x9600 .. 0x96ff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xaafa, 0x003f, 0xc9aa, 0x003f,\n    0xca58, 0xa6e9, 0xca56, 0xca59, 0xca57, 0x003f, 0x003f, 0x003f,\n    0xcbae, 0x003f, 0xa8c1, 0x003f, 0xa8c2, 0xcbb0, 0xa8bf, 0xcbaf,\n    0xcbad, 0xa8c0, 0xa8be, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xcdd8, 0xcddb, 0xaafd, 0xcdda, 0xcdd9, 0x003f, 0xaafc,\n    0xaafb, 0x003f, 0xab40, 0xcddc, 0xaafe, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xd0c6, 0xadae, 0xadaf, 0xadb0, 0xd0c7, 0xd0c3,\n    0xadad, 0xd0c4, 0x003f, 0xd0c5, 0xd0c2, 0x003f, 0x003f, 0x003f,\n    0xb0a4, 0x003f, 0x003f, 0xb0a1, 0xd445, 0xb0a2, 0xb0a5, 0xd446,\n    0x003f, 0xb07e, 0xb07c, 0xb07d, 0xb0a3, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xb3ad, 0xd849, 0xb3b5, 0xd848, 0x003f, 0xd84b,\n    0xb3b1, 0xd84a, 0xb6ab, 0xb3af, 0xb3b2, 0xb3ae, 0xb3b3, 0xb3b4,\n    0xb3b0, 0x003f, 0x003f, 0x003f, 0xd847, 0xb6a7, 0xdc7d, 0x003f,\n    0xdca3, 0x003f, 0x003f, 0xdca2, 0xb6ac, 0xb6a8, 0xb6a9, 0xdc7c,\n    0xdc7e, 0xdca1, 0xb6a4, 0xb6a6, 0x003f, 0xb6aa, 0xb6a5, 0x003f,\n    0x003f, 0xe0d3, 0xe0d1, 0xe0d2, 0xb96a, 0xb96b, 0x003f, 0xe0d4,\n    0xb969, 0xbbd8, 0x003f, 0xbbda, 0xbbd9, 0x003f, 0xe4bb, 0x003f,\n    0x003f, 0xe4bc, 0xe8ab, 0x003f, 0xe8aa, 0x003f, 0x003f, 0xc047,\n    0xc048, 0xec4f, 0xc049, 0x003f, 0xeef6, 0x003f, 0xeef4, 0x003f,\n    0xeef5, 0xc1f4, 0x003f, 0xf16f, 0xc3f7, 0x003f, 0x003f, 0x003f,\n    0xc1f5, 0xab41, 0x003f, 0xb0a6, 0xd447, 0x003f, 0x003f, 0xd84c,\n    0xb3b6, 0xb6ad, 0xdca4, 0xdca6, 0xb6af, 0xb6ae, 0xb6b0, 0xb6b1,\n    0xdca5, 0xb96e, 0xb96f, 0xb96d, 0xbbdb, 0xb96c, 0xe0d5, 0x003f,\n    0x003f, 0x003f, 0xbbdc, 0xe8ac, 0xec50, 0xc04a, 0xc1f6, 0xf170,\n    0xf174, 0xc2f9, 0xf171, 0xc2fa, 0xc2f8, 0xf175, 0xc2fb, 0xf173,\n    0x003f, 0xf379, 0xc2f7, 0xc3f8, 0x003f, 0xf8cd, 0x003f, 0x003f,\n    0xab42, 0xb3b8, 0xb3b7, 0x003f, 0x003f, 0x003f, 0x003f, 0xb6b2,\n    0xdca8, 0xdca7, 0xb6b3, 0x003f, 0x003f, 0xe0d9, 0xb973, 0xb970,\n    0xe0d8, 0xb972, 0xe0d6, 0xb971, 0x003f, 0xe0d7, 0x003f, 0xe4bd,\n    /* 0x9700 .. 0x97ff */\n    0xbbdd, 0x003f, 0xe8af, 0x003f, 0xbe5d, 0xe8ad, 0xbe5e, 0xbe5f,\n    0xe8ae, 0xbe60, 0x003f, 0xec51, 0x003f, 0xc04e, 0xc04b, 0xc050,\n    0xec53, 0xc04c, 0xec52, 0xc04f, 0x003f, 0x003f, 0xc04d, 0x003f,\n    0xeef9, 0xeefb, 0x003f, 0x003f, 0xc1f7, 0xeefa, 0xc1f8, 0xeef8,\n    0xeef7, 0x003f, 0xf177, 0xf176, 0xc2fc, 0xf178, 0xf37e, 0xc3fa,\n    0xf37d, 0xf37a, 0xc3f9, 0xf37b, 0xf37c, 0x003f, 0xf548, 0xf549,\n    0xc4c5, 0x003f, 0xc553, 0x003f, 0x003f, 0xf66e, 0x003f, 0x003f,\n    0xc551, 0xc552, 0xf66f, 0x003f, 0x003f, 0xc5b4, 0xc5b5, 0xf771,\n    0x003f, 0x003f, 0xc645, 0xf8cf, 0xc647, 0x003f, 0xf8ce, 0xf8d0,\n    0xc646, 0xf957, 0x003f, 0xf9ad, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xab43, 0x003f, 0x003f, 0x003f, 0xb974, 0x003f,\n    0xe4be, 0x003f, 0xe8b0, 0xc051, 0xc052, 0x003f, 0xab44, 0x003f,\n    0xbe61, 0xc3fb, 0xadb1, 0x003f, 0x003f, 0x003f, 0xc053, 0x003f,\n    0xc5e2, 0xadb2, 0xd84d, 0x003f, 0xdca9, 0x003f, 0xdcab, 0x003f,\n    0xdcaa, 0x003f, 0xe0dd, 0xe0da, 0xb975, 0x003f, 0xb976, 0xe0db,\n    0xe0dc, 0x003f, 0xe4c0, 0xe4c5, 0xbbde, 0xe4bf, 0xe4c1, 0xe4c8,\n    0xe4c3, 0xe4c7, 0xe4c4, 0xe4c2, 0xe4c6, 0xbbdf, 0x003f, 0x003f,\n    0xe8b3, 0x003f, 0xe8b1, 0xbe63, 0x003f, 0xbe62, 0xe8b2, 0xbe64,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xec56, 0x003f, 0x003f, 0xec55,\n    0xc054, 0xec54, 0xeefc, 0x003f, 0xeefe, 0xef41, 0xef40, 0x003f,\n    0xc1f9, 0xeefd, 0xf1a1, 0xc2fd, 0xf17d, 0xf1a2, 0xc2fe, 0x003f,\n    0xf17b, 0x003f, 0xf17e, 0xf17c, 0xf179, 0xc340, 0xf17a, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf3a1, 0x003f, 0x003f, 0xf3a3, 0xf3a2,\n    0x003f, 0xf54a, 0x003f, 0xf54b, 0x003f, 0x003f, 0x003f, 0xf670,\n    0x003f, 0xc5b7, 0x003f, 0xc5b6, 0xf84f, 0xf850, 0xc648, 0xf8d1,\n    0x003f, 0xc669, 0x003f, 0xadb3, 0xb6b4, 0xe4ca, 0xe4c9, 0xe8b5,\n    0xe8b4, 0x003f, 0x003f, 0xc1fa, 0xef43, 0xef42, 0xf1a5, 0xf1a3,\n    0xf1a6, 0xf1a4, 0x003f, 0x003f, 0xc3fc, 0xf3a4, 0xf3a5, 0xf3a6,\n    0x003f, 0xf671, 0x003f, 0xf772, 0x003f, 0xf8d2, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadb4, 0x003f, 0x003f,\n    0xec57, 0xef44, 0x003f, 0xadb5, 0x003f, 0x003f, 0xbbe0, 0x003f,\n    0xec58, 0xc341, 0xf1a7, 0xc3fd, 0x003f, 0xf54c, 0xf54d, 0xc554,\n    /* 0x9800 .. 0x98ff */\n    0xf851, 0xadb6, 0xb3bb, 0xb3bc, 0xd84e, 0xb6b5, 0xb6b6, 0xdcac,\n    0xb6b7, 0x003f, 0xb97a, 0x003f, 0xb97c, 0xe0df, 0xe0e0, 0xe0de,\n    0xb977, 0xb978, 0xb97b, 0xb979, 0x003f, 0x003f, 0xe4cb, 0xbbe1,\n    0xbbe2, 0x003f, 0x003f, 0xe8bc, 0xbe67, 0xe8b7, 0xe8b6, 0x003f,\n    0xe8bb, 0xbe65, 0x003f, 0x003f, 0xc05b, 0x003f, 0xe8b8, 0xe8bd,\n    0xe8ba, 0xe8b9, 0x003f, 0xbe66, 0x003f, 0xc059, 0x003f, 0xec5a,\n    0xc055, 0x003f, 0xec5b, 0x003f, 0x003f, 0xec59, 0x003f, 0xc058,\n    0xc056, 0xc05a, 0x003f, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xef45, 0x003f, 0xef4a, 0xef46, 0xef49, 0xc1fb, 0x003f,\n    0xedd4, 0xef48, 0xef47, 0x003f, 0xc344, 0xc342, 0xc345, 0xc343,\n    0xf1a8, 0xf1a9, 0xf1aa, 0xc346, 0x003f, 0x003f, 0x003f, 0xf3aa,\n    0xc440, 0xf3a8, 0x003f, 0xc441, 0xf3a7, 0xf3a9, 0xc3fe, 0xf551,\n    0xf54e, 0x003f, 0xf54f, 0xf550, 0xf672, 0xc556, 0x003f, 0xc555,\n    0x003f, 0xf774, 0xf773, 0xc5b8, 0x003f, 0x003f, 0x003f, 0xc5e3,\n    0xc649, 0xc660, 0xf958, 0xf9ae, 0xf9af, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xadb7, 0xdcad, 0x003f, 0x003f, 0xe0e1, 0xe4cc, 0xe4cd, 0xbbe3,\n    0x003f, 0xbbe4, 0xe8be, 0xbe68, 0x003f, 0x003f, 0xc1fc, 0x003f,\n    0xf1ab, 0x003f, 0xc347, 0xf3ad, 0xc442, 0xf3ac, 0xf3ae, 0xf3ab,\n    0xf675, 0xf552, 0xf553, 0x003f, 0xc4c6, 0x003f, 0xf674, 0x003f,\n    0x003f, 0xf673, 0x003f, 0xf775, 0xf9b0, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xadb8, 0x003f, 0x003f, 0x003f, 0xadb9,\n    0x003f, 0x003f, 0xb0a7, 0xd448, 0x003f, 0xd84f, 0x003f, 0xb6b8,\n    0x003f, 0xb6bb, 0xb6b9, 0xdcae, 0x003f, 0xb6bd, 0x003f, 0xb6ba,\n    0x003f, 0x003f, 0xb6bc, 0x003f, 0xb97e, 0x003f, 0xe0e2, 0x003f,\n    0x003f, 0xe0e3, 0xe8c0, 0x003f, 0xb97d, 0xb9a1, 0xb9a2, 0x003f,\n    /* 0x9900 .. 0x99ff */\n    0xe4cf, 0x003f, 0xe4ce, 0xbbe5, 0x003f, 0xbbe6, 0x003f, 0xe4d0,\n    0xe8bf, 0xbbe8, 0xbe69, 0x003f, 0xbbe7, 0x003f, 0x003f, 0x003f,\n    0xc05c, 0xe8c1, 0xbe6b, 0xbe6a, 0xe8c2, 0xe8c5, 0xe8c3, 0xe8c4,\n    0xbe6c, 0x003f, 0xc061, 0xc05f, 0x003f, 0x003f, 0xc05e, 0xec5d,\n    0x003f, 0xc060, 0x003f, 0x003f, 0xec5c, 0xef4b, 0x003f, 0xec5e,\n    0xc05d, 0xec5f, 0xef4e, 0xef4c, 0xef4d, 0xef52, 0xc34b, 0xef51,\n    0xef54, 0xef53, 0xef50, 0xef4f, 0x003f, 0xc1fd, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1ae, 0x003f, 0xf1ad, 0xc34a, 0xc348, 0xc349,\n    0x003f, 0xf1ac, 0x003f, 0xf3b1, 0x003f, 0xc443, 0x003f, 0xf3b0,\n    0xf3af, 0xc444, 0x003f, 0xf558, 0xf557, 0x003f, 0xf555, 0x003f,\n    0xf554, 0xc4c8, 0xc4c7, 0xf559, 0xf776, 0xc5b9, 0xf677, 0xc557,\n    0xf676, 0xf556, 0x003f, 0xf777, 0xc5e4, 0x003f, 0xc661, 0xf959,\n    0x003f, 0xf9b1, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xadba, 0xd850,\n    0xef55, 0xadbb, 0x003f, 0x003f, 0xe4d2, 0xe4d1, 0xec60, 0x003f,\n    0x003f, 0xef57, 0x003f, 0xef56, 0x003f, 0xc34c, 0xf3b2, 0xf3b3,\n    0xc4c9, 0x003f, 0x003f, 0xf9b2, 0xb0a8, 0xb6bf, 0xb6be, 0xe0e4,\n    0xe0e6, 0xb9a4, 0xe0e5, 0xb9a3, 0xb9a5, 0xe0e7, 0x003f, 0x003f,\n    0x003f, 0xe4d4, 0xe4d6, 0xe4d5, 0x003f, 0xe4d8, 0x003f, 0x003f,\n    0x003f, 0xbbe9, 0xe4d7, 0xe4d3, 0x003f, 0x003f, 0x003f, 0xe4d9,\n    0x003f, 0xe8cc, 0x003f, 0xe8cf, 0xe8d1, 0xe8c7, 0xe8cb, 0xe8c8,\n    0xbe6e, 0xbe71, 0xbe73, 0xe8c9, 0xe8ca, 0xbe72, 0xe8cd, 0xe8d0,\n    0xe8ce, 0xbe74, 0x003f, 0xbe70, 0xe8c6, 0xbe6d, 0x003f, 0xbe6f,\n    0x003f, 0x003f, 0xc063, 0xec66, 0xec64, 0xec63, 0x003f, 0xec69,\n    0x003f, 0xec68, 0xec67, 0x003f, 0xec62, 0xc062, 0xec61, 0x003f,\n    0xec65, 0xc064, 0x003f, 0x003f, 0xef5a, 0x003f, 0xef5e, 0xef5b,\n    0xef5d, 0xef5c, 0xef59, 0xef5f, 0xef62, 0xef60, 0xef61, 0xc240,\n    /* 0x9a00 .. 0x9aff */\n    0x003f, 0xc1fe, 0xef58, 0xef63, 0xf1b3, 0xf1b6, 0xf1b8, 0xf1b7,\n    0x003f, 0xf1b1, 0xf1b5, 0xf1b0, 0x003f, 0xf1b2, 0xc34d, 0xf1af,\n    0x003f, 0xf1b4, 0x003f, 0x003f, 0xf3c0, 0xf3b5, 0xc445, 0x003f,\n    0x003f, 0xc446, 0xf3b4, 0xf3b9, 0xf3bf, 0xf3b7, 0xf3be, 0x003f,\n    0xf3bb, 0x003f, 0xf3ba, 0xf3bd, 0xf3b8, 0xf3b6, 0x003f, 0xf3bc,\n    0x003f, 0xf560, 0xf55e, 0xc4ca, 0xf55d, 0xf563, 0xf561, 0x003f,\n    0xc4cb, 0xf55c, 0xf55a, 0x003f, 0xf55b, 0xc4cd, 0xf55f, 0xc4cc,\n    0xf562, 0xf678, 0xf67e, 0x003f, 0x003f, 0xf679, 0xc55b, 0xf6a1,\n    0xc55a, 0xf67d, 0xf67c, 0xc559, 0xf67b, 0xc558, 0xf67a, 0x003f,\n    0xf77d, 0xf7a1, 0xf77e, 0x003f, 0xf77b, 0xc5bb, 0xf778, 0xf77c,\n    0xf7a3, 0x003f, 0xf7a2, 0xf779, 0xf77a, 0xc5ba, 0xf852, 0xc5e7,\n    0x003f, 0xf853, 0xc5e5, 0xc5e6, 0x003f, 0x003f, 0xf8d3, 0xc64a,\n    0xf976, 0x003f, 0xc66a, 0x003f, 0xf9b3, 0xc66b, 0xf9b4, 0xf9b5,\n    0xf9c3, 0xf9c2, 0xc67a, 0xf9cd, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xb0a9, 0x003f, 0x003f, 0xe0e9, 0x003f, 0xe0e8, 0x003f, 0xbbea,\n    0xbbeb, 0xe4da, 0x003f, 0xe8d2, 0xec6c, 0x003f, 0x003f, 0xbe75,\n    0xc065, 0xec6a, 0x003f, 0xec6d, 0xc066, 0x003f, 0xef64, 0xec6b,\n    0xf1b9, 0xc34e, 0xf3c1, 0x003f, 0x003f, 0x003f, 0xf566, 0xf564,\n    0x003f, 0x003f, 0xf565, 0x003f, 0x003f, 0xf6a2, 0x003f, 0xc55c,\n    0xf7a4, 0xc5ea, 0xc5bc, 0xc5e8, 0xc5e9, 0xf8d4, 0xc662, 0x003f,\n    0xb0aa, 0x003f, 0x003f, 0x003f, 0xf1ba, 0x003f, 0x003f, 0xd449,\n    0x003f, 0xb9a6, 0x003f, 0xe4db, 0x003f, 0x003f, 0xbbec, 0xe4dc,\n    0x003f, 0x003f, 0x003f, 0xe8d4, 0xe8d3, 0xc068, 0xbe76, 0xbe77,\n    0x003f, 0xe8d7, 0xe8d6, 0xe8d5, 0x003f, 0x003f, 0xec6e, 0xec71,\n    0x003f, 0xec70, 0xec6f, 0xc067, 0xef68, 0xef66, 0xef65, 0x003f,\n    /* 0x9b00 .. 0x9bff */\n    0x003f, 0xef67, 0x003f, 0xc34f, 0xf1bc, 0xf1bd, 0xc350, 0x003f,\n    0xf1bb, 0x003f, 0xf3c3, 0xf3c2, 0xf3c5, 0xc447, 0xf3c4, 0x003f,\n    0xf567, 0xf569, 0xf568, 0x003f, 0x003f, 0xf6a3, 0xf6a6, 0xf6a4,\n    0xf6a5, 0xf7a5, 0xc5bd, 0x003f, 0x003f, 0x003f, 0xf854, 0xf855,\n    0xf856, 0x003f, 0xc64b, 0xc663, 0xf9b6, 0xb0ab, 0x003f, 0xbe78,\n    0xc069, 0xf1be, 0x003f, 0xf7a6, 0x003f, 0x003f, 0xf9c4, 0xd44a,\n    0x003f, 0xc67b, 0xb0ac, 0xec72, 0x003f, 0xf1bf, 0x003f, 0xf3c6,\n    0x003f, 0x003f, 0xf6a7, 0xf7a7, 0xb0ad, 0x003f, 0xe4dd, 0xe4de,\n    0x003f, 0xbbed, 0xbbee, 0xe8d9, 0xbe7a, 0xbe79, 0xe8d8, 0x003f,\n    0xef69, 0x003f, 0xf1c0, 0xf1c2, 0xf1c1, 0xc353, 0xc352, 0xc351,\n    0x003f, 0xc55e, 0xf6a8, 0x003f, 0xc55d, 0xf7a9, 0xf7a8, 0x003f,\n    0xc64c, 0xf8d5, 0xb3bd, 0xe0ea, 0x003f, 0x003f, 0x003f, 0xe4e1,\n    0xe4df, 0xe4e0, 0x003f, 0x003f, 0xe8e2, 0x003f, 0xe8dd, 0xe8da,\n    0xe8e1, 0x003f, 0x003f, 0x003f, 0xe8e3, 0x003f, 0x003f, 0xbe7c,\n    0xe8e0, 0xe8dc, 0x003f, 0x003f, 0xe8db, 0xe8df, 0xe8de, 0xbe7b,\n    0x003f, 0x003f, 0xec7d, 0xec78, 0xec76, 0xeca1, 0xec77, 0x003f,\n    0xec73, 0x003f, 0xec79, 0x003f, 0x003f, 0xec74, 0xef72, 0xec75,\n    0xeca2, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xec7c, 0xc06a, 0xec7b, 0xec7a, 0x003f, 0xec7e, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xef6a, 0xef6d, 0x003f, 0x003f, 0xef6c, 0x003f,\n    0xef74, 0xef6f, 0xef73, 0x003f, 0xef71, 0xef70, 0xef6e, 0x003f,\n    0xef6b, 0x003f, 0xc243, 0xc242, 0x003f, 0xc244, 0xc241, 0xef75,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf1c8, 0xf1cb, 0x003f,\n    0xf1c9, 0xf1cd, 0x003f, 0x003f, 0x003f, 0xf1ce, 0x003f, 0xf1c6,\n    0xc358, 0xf1c7, 0x003f, 0xf1c5, 0xf1cc, 0x003f, 0xf1c4, 0xf1c3,\n    0xc357, 0xc355, 0xc354, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0xf1ca, 0xf3cf, 0xf3d5, 0xc44a, 0xf3d0,\n    0x003f, 0xf3d3, 0xf3d7, 0xc44b, 0xf3d2, 0x003f, 0xf3ca, 0x003f,\n    0xf3c9, 0xf3d6, 0xf3cd, 0x003f, 0xf3cb, 0xf3d4, 0xf3cc, 0xc449,\n    0xc448, 0x003f, 0xf3c7, 0xf3c8, 0xf3d1, 0x003f, 0x003f, 0x003f,\n    0xf3ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56c,\n    0xf56f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc356, 0x003f, 0x003f,\n    /* 0x9c00 .. 0x9cff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xf56d, 0xf573, 0xf571,\n    0xf56b, 0xf576, 0x003f, 0xf56a, 0x003f, 0xc4cf, 0xf572, 0x003f,\n    0x003f, 0x003f, 0xf56e, 0xc4ce, 0xf575, 0x003f, 0x003f, 0xf574,\n    0x003f, 0x003f, 0x003f, 0x003f, 0xf6ab, 0xf6aa, 0x003f, 0x003f,\n    0x003f, 0xf6b1, 0x003f, 0xf6ad, 0xf6b0, 0xc560, 0x003f, 0x003f,\n    0xf6ae, 0xf6af, 0x003f, 0xf6a9, 0xf6ac, 0xc55f, 0x003f, 0x003f,\n    0x003f, 0xc5bf, 0xf7b4, 0xf7af, 0xf7b3, 0x003f, 0xf7b6, 0xf7b2,\n    0x003f, 0xf7ae, 0x003f, 0xc5c1, 0xf7b1, 0xf7b5, 0xc5c0, 0xf7ac,\n    0xf570, 0xf7b0, 0x003f, 0x003f, 0xf7ad, 0x003f, 0xf7aa, 0x003f,\n    0xf7ab, 0xc5be, 0xf85a, 0xf85c, 0xf85f, 0xf85b, 0xf860, 0x003f,\n    0xf859, 0x003f, 0xf857, 0x003f, 0xc5eb, 0xf85d, 0xc5ed, 0xc5ec,\n    0xf858, 0xf85e, 0x003f, 0x003f, 0x003f, 0x003f, 0xf8da, 0xc64d,\n    0xf8db, 0x003f, 0xf8d9, 0xf8d6, 0x003f, 0x003f, 0xf8d8, 0xf8d7,\n    0xf95a, 0x003f, 0x003f, 0x003f, 0x003f, 0xf95c, 0xf95b, 0x003f,\n    0x003f, 0xf979, 0x003f, 0xf978, 0xf977, 0xf97a, 0x003f, 0xc673,\n    0xc674, 0xf9ca, 0xf9ce, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3be, 0xdcaf, 0xe0ed,\n    0x003f, 0xb9a7, 0xe0eb, 0x003f, 0x003f, 0xe0ec, 0x003f, 0x003f,\n    0x003f, 0xe4e2, 0xe4e3, 0xbbf1, 0xbbef, 0xe4e4, 0xbbf0, 0xe8e8,\n    0x003f, 0xe8eb, 0xe8e5, 0xe8ec, 0xe8e4, 0xe8e6, 0x003f, 0xe8e7,\n    /* 0x9d00 .. 0x9dff */\n    0xe8ea, 0x003f, 0x003f, 0xbea1, 0xe8ef, 0xe8ee, 0xbe7d, 0xe8e9,\n    0xe8ed, 0xbe7e, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xecac, 0x003f, 0xc06f, 0x003f, 0xeca7, 0xc06b, 0x003f, 0xeca4,\n    0xecaa, 0xecad, 0x003f, 0xc070, 0x003f, 0xeca9, 0xeca6, 0xecae,\n    0xeca5, 0x003f, 0xecab, 0xc06c, 0x003f, 0xeca3, 0xc06d, 0x003f,\n    0xc06e, 0xeca8, 0x003f, 0x003f, 0x003f, 0xefa9, 0xef7a, 0xef7b,\n    0xef7e, 0xef7c, 0x003f, 0xef76, 0x003f, 0x003f, 0xef79, 0xefa5,\n    0xef7d, 0x003f, 0x003f, 0xc245, 0x003f, 0xefa7, 0xefa4, 0xc246,\n    0xefa6, 0xef77, 0xefa2, 0xefa3, 0x003f, 0xefa1, 0x003f, 0x003f,\n    0x003f, 0x003f, 0xf1d2, 0xf1d4, 0xf1d7, 0x003f, 0x003f, 0xf1d1,\n    0x003f, 0xc359, 0xf1d9, 0xf1d0, 0xf1da, 0x003f, 0xf1d6, 0xf1d8,\n    0xf1dc, 0xf1d5, 0xf1dd, 0xf1d3, 0xf1cf, 0xc35a, 0x003f, 0xf1db,\n    0xc35b, 0xc44d, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xef78,\n    0xf3f1, 0xf3e8, 0xc44f, 0xf3e4, 0xc450, 0x003f, 0x003f, 0xf3ed,\n    0xf3e7, 0xf3dd, 0xc44e, 0xf3ea, 0xf3e5, 0xf3e6, 0x003f, 0xf3d8,\n    0xf3df, 0xf3ee, 0x003f, 0xf3eb, 0x003f, 0xf3e3, 0x003f, 0xf3ef,\n    0xf3de, 0xf3d9, 0xf3ec, 0x003f, 0xf3db, 0xf3e9, 0xf3e0, 0xf3f0,\n    0xf3dc, 0xc44c, 0xf3da, 0xf3e1, 0xf3e2, 0x003f, 0x003f, 0x003f,\n    0xf57d, 0x003f, 0xf57b, 0x003f, 0xf5a2, 0x003f, 0xf5ae, 0xf5a5,\n    0xf57c, 0xf578, 0xf5a7, 0xf57e, 0xf5a3, 0xf57a, 0xf5aa, 0xf577,\n    0xf5a1, 0xf5a6, 0xf5a8, 0xf5ab, 0xf579, 0x003f, 0xf5af, 0xf5b0,\n    0xf5a9, 0xf5ad, 0xf5a4, 0x003f, 0xf6c1, 0xf6c4, 0x003f, 0xc561,\n    0x003f, 0xf6c3, 0xf6c8, 0xf6c6, 0xc562, 0xf6bd, 0xf6b3, 0xf6b2,\n    0xc564, 0xf6bf, 0xf6c0, 0xf6bc, 0xf6b4, 0x003f, 0xf6b9, 0xf5ac,\n    0x003f, 0xf6b5, 0xc563, 0xf6bb, 0x003f, 0xf6ba, 0x003f, 0xf6b6,\n    0xf6c2, 0x003f, 0xf6b7, 0xf7bb, 0xf6c5, 0xf6c7, 0xf6be, 0xf6b8,\n    0xf7bc, 0xf7be, 0xf7b8, 0xc5c2, 0x003f, 0xf7c5, 0xf7c3, 0xc5c3,\n    0xf7c2, 0xf7c1, 0xf7ba, 0xf7b7, 0xf7bd, 0xf7c6, 0xf7b9, 0xf7bf,\n    0x003f, 0xf869, 0xf86e, 0xf864, 0xf867, 0xc5ee, 0xf86b, 0x003f,\n    0xf872, 0xf7c0, 0x003f, 0xf865, 0xf86f, 0xf873, 0xf86a, 0xf863,\n    0xf86d, 0x003f, 0xf86c, 0xf871, 0xf870, 0xf7c4, 0xf868, 0xf862,\n    0xf866, 0xc64e, 0xc64f, 0xf861, 0x003f, 0xf8e6, 0xf8dd, 0xf8e5,\n    /* 0x9e00 .. 0x9eff */\n    0xf8e2, 0xf8e3, 0xf8dc, 0xf8df, 0xf8e7, 0xf8e1, 0xf8e0, 0xf8de,\n    0x003f, 0xf8e4, 0x003f, 0xf95d, 0x003f, 0xf95e, 0x003f, 0xf960,\n    0xf95f, 0xf962, 0xf961, 0xf97c, 0xf97b, 0xf9b7, 0x003f, 0xf9b8,\n    0x003f, 0xf9c5, 0xc678, 0xc67c, 0x003f, 0xf9cf, 0xc67d, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xb3bf, 0x003f, 0x003f,\n    0x003f, 0xc4d0, 0xf6c9, 0x003f, 0xc650, 0xc651, 0x003f, 0xb3c0,\n    0xe0ee, 0x003f, 0xb9a8, 0xe8f0, 0x003f, 0x003f, 0xecb0, 0xecb1,\n    0xecaf, 0xefab, 0xefaa, 0xc247, 0xf1df, 0xefac, 0xf1de, 0x003f,\n    0x003f, 0xf3f3, 0xc451, 0xc453, 0xf3f2, 0x003f, 0x003f, 0xc452,\n    0x003f, 0xf5b1, 0xf5b3, 0xf5b2, 0xf6ca, 0xc565, 0x003f, 0xc5ef,\n    0xf8e8, 0xf963, 0x003f, 0x003f, 0xf9d2, 0xb3c1, 0x003f, 0xe4e5,\n    0x003f, 0xbea2, 0x003f, 0x003f, 0x003f, 0xecb3, 0xecb2, 0x003f,\n    0xefad, 0x003f, 0x003f, 0x003f, 0xc454, 0xc4d1, 0xf7c7, 0xf9cb,\n    0x003f, 0x003f, 0x003f, 0xb3c2, 0xbbf2, 0x003f, 0xbea3, 0x003f,\n    0xf3f4, 0x003f, 0xf874, 0xb6c0, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xefae, 0x003f, 0x003f, 0x003f, 0xc664, 0xb6c1, 0xbea4, 0xc248,\n    0xf875, 0xb6c2, 0x003f, 0xe8f1, 0xc072, 0xecb4, 0xecb5, 0x003f,\n    0xc071, 0x003f, 0xefaf, 0xc24c, 0xc24a, 0xc24b, 0xc249, 0xf1e0,\n    0xc35c, 0x003f, 0x003f, 0x003f, 0xf5b5, 0xf5b4, 0xf5b7, 0xf5b6,\n    0xc4d2, 0x003f, 0x003f, 0xf6cb, 0x003f, 0xf6cd, 0xf6cc, 0xc566,\n    0xf7c8, 0x003f, 0xf876, 0xf877, 0xc5f0, 0xf964, 0xf97d, 0xc675,\n    0x003f, 0xdcb0, 0xecb6, 0xefb0, 0xf3f5, 0xe0ef, 0x003f, 0xefb1,\n    /* 0x9f00 .. 0x9fff */\n    0xf1e2, 0xf1e1, 0x003f, 0x003f, 0x003f, 0x003f, 0xf878, 0xc652,\n    0x003f, 0xf965, 0xf97e, 0x003f, 0x003f, 0x003f, 0xb9a9, 0xe8f2,\n    0xe8f3, 0x003f, 0xecb7, 0xb9aa, 0x003f, 0xc35d, 0xf1e3, 0x003f,\n    0xf6cf, 0xc567, 0xf6d0, 0xf6ce, 0xf879, 0x003f, 0xf8e9, 0x003f,\n    0xb9ab, 0x003f, 0xefb4, 0xefb3, 0xefb2, 0xf1e4, 0x003f, 0x003f,\n    0xf1e8, 0xf1e7, 0xf1e6, 0xf1e5, 0xc35e, 0xf3f6, 0xf5b9, 0xc4d3,\n    0xf5b8, 0xf6d1, 0xf7cb, 0xf7ca, 0xc5c4, 0xf7c9, 0xf87c, 0xf87b,\n    0xf87a, 0x003f, 0x003f, 0xbbf3, 0x003f, 0xecb8, 0xc24d, 0x003f,\n    0xf3f7, 0xf3f8, 0xf7cc, 0xf87d, 0x003f, 0x003f, 0xf8ea, 0xf966,\n    0xf9b9, 0xf9d4, 0xbbf4, 0xc24e, 0xf1e9, 0xf3f9, 0xf6d2, 0xf87e,\n    0x003f, 0x003f, 0xbea6, 0x003f, 0xefb5, 0xf1ea, 0xf3fa, 0xf3fb,\n    0xf3fc, 0xf5be, 0x003f, 0xf5ba, 0xc568, 0xf5bd, 0xf5bc, 0xc4d4,\n    0xf5bb, 0xc4d6, 0x003f, 0xc4d5, 0xf6d4, 0xf6d3, 0xc569, 0xc56a,\n    0x003f, 0x003f, 0xc5c6, 0xf7cd, 0xc5c5, 0x003f, 0xf8a3, 0xf8a4,\n    0xf8a2, 0xf8a1, 0xc654, 0x003f, 0xf8eb, 0xf8ec, 0xf8ed, 0xc653,\n    0xf967, 0xf96a, 0xf969, 0xf968, 0x003f, 0x003f, 0xf9d3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0xc073, 0x003f, 0x003f,\n    0xc365, 0xf5bf, 0xf6d5, 0x003f, 0xc5c7, 0xf7ce, 0x003f, 0x003f,\n    0xf9d5, 0x003f, 0x003f, 0x003f, 0xc074, 0x003f, 0x003f, 0x003f,\n    0xefb6, 0x003f, 0xf7cf, 0x003f, 0xf9a1, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xf900 .. 0xf9ff */\n    0xb05a, 0xa7f3, 0xa8ae, 0xb8eb, 0xb7c6, 0xa6ea, 0xa579, 0xc074,\n    0xc074, 0xabb4, 0xaaf7, 0xb3e2, 0xa960, 0xc369, 0xc4ee, 0xc3b9,\n    0xc5da, 0xc1b3, 0xbb72, 0xc5de, 0xbcd6, 0xaca5, 0xaf4f, 0xaf5f,\n    0xb8a8, 0xb954, 0xc064, 0xb6c3, 0xa75a, 0xc4e6, 0xc4ea, 0xc4f5,\n    0xc67d, 0xb450, 0xc0dd, 0xc2c5, 0xc4b0, 0xa9d4, 0xc3be, 0xc4fa,\n    0xb459, 0xaed4, 0xaef6, 0xaf54, 0xada6, 0xa8d3, 0xa74e, 0xb3d2,\n    0xbedb, 0xc372, 0xc46c, 0xbf63, 0xa6d1, 0xc4aa, 0xb8b8, 0xb8f4,\n    0xc553, 0xbe7c, 0xc64f, 0xb84c, 0xb853, 0xbaf1, 0xdb77, 0xbffd,\n    0xb3c0, 0xbdd7, 0xc362, 0xa7cb, 0xc5a2, 0xc5a4, 0xa863, 0xbd55,\n    0xb8ef, 0xb970, 0xc253, 0xb9f0, 0xbcd3, 0xb25c, 0xba7c, 0xb2d6,\n    0xc15c, 0xadae, 0xb0c7, 0xa6d8, 0xbbfe, 0xade2, 0xb857, 0xbaf0,\n    0xb5d9, 0xb3ae, 0xc5aa, 0xced4, 0xbcd6, 0xbfd5, 0xa4a6, 0xb9e7,\n    0xabe3, 0xb276, 0xb2a7, 0xa55f, 0xeda8, 0xab4b, 0xb45f, 0xa4a3,\n    0xaa63, 0xbcc6, 0xafc1, 0xb0d1, 0xb6eb, 0xacd9, 0xb8ad, 0xbba1,\n    0xb1fe, 0xa8b0, 0xa848, 0xac42, 0xad59, 0xb1b0, 0xb2a4, 0xab47,\n    0xa8e2, 0x003f, 0xb1e7, 0xc2b3, 0xa87d, 0xbdcc, 0xb671, 0xc079,\n    0xa766, 0xa46b, 0xc366, 0xaec8, 0xc26f, 0xc472, 0xbe5b, 0xc67a,\n    0xc452, 0xbea4, 0xa44f, 0xbee4, 0xbefa, 0xf765, 0xa67e, 0xbca6,\n    0xc5ca, 0xbcbf, 0xbaa7, 0xb7d2, 0xe6a3, 0x003f, 0xbd6d, 0xc170,\n    0xbdfb, 0xbdac, 0xb373, 0xc1e5, 0xa643, 0xa648, 0xab7c, 0xaf50,\n    0xb5f5, 0xbba1, 0xb747, 0xa9c0, 0xb1c9, 0xc0d4, 0xc3ae, 0xc279,\n    0xa54f, 0xcbf1, 0xb9e7, 0xc0ad, 0xccb0, 0xacc2, 0xbcfc, 0xb2dc,\n    0xb2e2, 0xb961, 0xb973, 0xc646, 0xbbe2, 0xa8d2, 0xc2a7, 0xc4bf,\n    0xc1f5, 0xb463, 0xa446, 0xb9b1, 0xbc64, 0xa7bf, 0xaec6, 0xbcd6,\n    0xbf52, 0xc0f8, 0xe764, 0xbff1, 0xc073, 0xb777, 0xa8bf, 0xbc42,\n    0xccd8, 0xac68, 0xac79, 0xb7c8, 0xaf5b, 0xaf64, 0xb2b8, 0xafc3,\n    0xc3fe, 0xa4bb, 0xbcae, 0xb3b0, 0xaddb, 0xb15b, 0xb25f, 0xbdfc,\n    0xabdf, 0xb758, 0xaedf, 0xb276, 0xb6a9, 0xa751, 0xa64f, 0xbc69,\n    0xa9f6, 0xa7f5, 0xb1f9, 0xaa64, 0xb27a, 0xb567, 0xbfa9, 0xf9d8,\n    0xb8cc, 0xa8bd, 0xc2f7, 0xb0ce, 0xb7c4, 0xa75b, 0xbf4d, 0xbf5a,\n    0xc4a9, 0x003f, 0xc5ec, 0xc5ef, 0xaa4c, 0xb24f, 0xc17b, 0xa5df,\n    0xb2c1, 0xb2c9, 0xaaac, 0xaaa5, 0xc3d1, 0xa4b0, 0xaff9, 0xa8eb,\n    /* 0xfa00 .. 0xfaff */\n    0xa4c1, 0xabd7, 0xa9dd, 0xbf7d, 0xa676, 0xac7d, 0xbcc9, 0xbfe7,\n    0xa6e6, 0xadb0, 0xa8a3, 0xb9f8, 0xc94a, 0xddfc, 0x003f, 0x003f,\n    0xb6ef, 0x003f, 0xb4b8, 0x003f, 0x003f, 0xe8f9, 0x003f, 0xaf71,\n    0x003f, 0xafab, 0xb2bb, 0xbad6, 0xb974, 0xbaeb, 0xa6d0, 0x003f,\n    0x003f, 0x003f, 0xbdd1, 0x003f, 0x003f, 0xb668, 0xb3a3, 0x003f,\n    0x003f, 0x003f, 0xb6ba, 0xb97d, 0xc05d, 0xc562, 0x003f, 0x003f,\n    0xab56, 0xb9ac, 0xa74b, 0xab6a, 0xb6d4, 0xa8f5, 0xb3dc, 0xb9c4,\n    0xbeb9, 0x003f, 0xbea5, 0xbc68, 0xc94b, 0xaeac, 0xb46e, 0xbca8,\n    0xc367, 0xb1d3, 0xac4a, 0xb4bb, 0xb1f6, 0xaefc, 0xb25a, 0xba7e,\n    0xb54e, 0x003f, 0xb55a, 0xb84f, 0xaac0, 0xace7, 0xace8, 0xafa7,\n    0xafaa, 0xafac, 0xbad7, 0xbad5, 0xbd5c, 0xacf0, 0xb860, 0xbd6d,\n    0xbfa7, 0xc163, 0xb870, 0xaacc, 0xafe4, 0x003f, 0x003f, 0xb5db,\n    0xbdc5, 0xb5f8, 0xbfd6, 0xc2d4, 0xbbab, 0xc3d8, 0x003f, 0xb668,\n    0xc3f8, 0xc554, 0xc057, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfb00 .. 0xfbff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x002b, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xfe00 .. 0xfeff */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa14a, 0xa157, 0x003f, 0xa159, 0xa15b, 0xa15f, 0xa160, 0xa163,\n    0xa164, 0xa167, 0xa168, 0xa16b, 0xa16c, 0xa16f, 0xa170, 0xa173,\n    0xa174, 0xa177, 0xa178, 0xa17b, 0xa17c, 0x003f, 0x003f, 0x003f,\n    0x003f, 0xa1c6, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1c8, 0xa1c9, 0xa15c,\n    0xa14d, 0xa14e, 0xa14f, 0x003f, 0xa151, 0xa152, 0xa153, 0xa154,\n    0xa158, 0xa17d, 0xa17e, 0xa1a1, 0xa1a2, 0xa1a3, 0xa1a4, 0xa1cc,\n    0xa1cd, 0xa1ce, 0xa1de, 0xa1df, 0xa1e0, 0xa1e1, 0xa1e2, 0x003f,\n    0xa242, 0xa24c, 0xa24d, 0xa24e, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* 0xff00 .. 0xffff */\n    0x003f, 0xa149, 0x0022, 0xa1ad, 0xa243, 0xa248, 0xa1ae, 0x0027,\n    0xa15d, 0xa15e, 0xa1af, 0xa1cf, 0xa141, 0xa1d0, 0xa144, 0xa1fe,\n    0xa2af, 0xa2b0, 0xa2b1, 0xa2b2, 0xa2b3, 0xa2b4, 0xa2b5, 0xa2b6,\n    0xa2b7, 0xa2b8, 0xa147, 0xa146, 0xa1d5, 0xa1d7, 0xa1d6, 0xa148,\n    0xa249, 0xa2cf, 0xa2d0, 0xa2d1, 0xa2d2, 0xa2d3, 0xa2d4, 0xa2d5,\n    0xa2d6, 0xa2d7, 0xa2d8, 0xa2d9, 0xa2da, 0xa2db, 0xa2dc, 0xa2dd,\n    0xa2de, 0xa2df, 0xa2e0, 0xa2e1, 0xa2e2, 0xa2e3, 0xa2e4, 0xa2e5,\n    0xa2e6, 0xa2e7, 0xa2e8, 0x005b, 0xa240, 0x005d, 0x005e, 0xa1c4,\n    0x0060, 0xa2e9, 0xa2ea, 0xa2eb, 0xa2ec, 0xa2ed, 0xa2ee, 0xa2ef,\n    0xa2f0, 0xa2f1, 0xa2f2, 0xa2f3, 0xa2f4, 0xa2f5, 0xa2f6, 0xa2f7,\n    0xa2f8, 0xa2f9, 0xa2fa, 0xa2fb, 0xa2fc, 0xa2fd, 0xa2fe, 0xa340,\n    0xa341, 0xa342, 0xa343, 0xa161, 0xa155, 0xa162, 0xa1e3, 0x003f,\n    0x003f, 0xa143, 0xa175, 0xa176, 0xa142, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0xa246, 0xa247, 0x003f, 0xa1c3, 0x003f, 0xa244, 0x003f, 0x003f,\n    0xa278, 0xa1f6, 0xa1f4, 0xa1f7, 0xa1f5, 0xa1bd, 0xa1b3, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    /* defaults */\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f,\n    0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f\n};\n\nstatic const unsigned short uni2cp_high[256] =\n{\n    0x0000, 0x0100, 0x0200, 0x0300, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x0400, 0x0500,\n    0x0600, 0x0700, 0x0800, 0x0900, 0x0a00, 0x0b00, 0x0c00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x0d00, 0x0e00,\n    0x0f00, 0x1000, 0x1100, 0x1200, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x1300, 0x1400,\n    0x1500, 0x1600, 0x1700, 0x1800, 0x1900, 0x1a00, 0x1b00, 0x1c00,\n    0x1d00, 0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300, 0x2400,\n    0x2500, 0x2600, 0x2700, 0x2800, 0x2900, 0x2a00, 0x2b00, 0x2c00,\n    0x2d00, 0x2e00, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400,\n    0x3500, 0x3600, 0x3700, 0x3800, 0x3900, 0x3a00, 0x3b00, 0x3c00,\n    0x3d00, 0x3e00, 0x3f00, 0x4000, 0x4100, 0x4200, 0x4300, 0x4400,\n    0x4500, 0x4600, 0x4700, 0x4800, 0x4900, 0x4a00, 0x4b00, 0x4c00,\n    0x4d00, 0x4e00, 0x4f00, 0x5000, 0x5100, 0x5200, 0x5300, 0x5400,\n    0x5500, 0x5600, 0x5700, 0x5800, 0x5900, 0x5a00, 0x5b00, 0x5c00,\n    0x5d00, 0x5e00, 0x5f00, 0x6000, 0x6100, 0x6200, 0x6300, 0x6400,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00, 0x6a00,\n    0x6a00, 0x6500, 0x6600, 0x6700, 0x6a00, 0x6a00, 0x6800, 0x6900\n};\n\nconst struct dbcs_table cptable_950 =\n{\n    { 950, 2, 0x003f, 0x003f, \"ANSI/OEM Traditional Chinese Big5\" },\n    cp2uni,\n    cp2uni_leadbytes,\n    uni2cp_low,\n    uni2cp_high,\n    { 0x81, 0xfe, 0x00, 0x00 }\n};\n"
  },
  {
    "path": "Project/Unicode/Source/casemap.cpp",
    "content": "/* Unicode case mappings */\n/* Automatically generated; DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nconst WCHAR casemap_lower[3328] =\n{\n    /* index */\n    0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0800, 0x0900,\n    0x0100, 0x0a00, 0x0100, 0x0100, 0x0b00, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0c00,\n    /* defaults */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0100 .. 0x01ff */\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0xff39, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,\n    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0xff87, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,\n    0x0000, 0x00d2, 0x0001, 0x0000, 0x0001, 0x0000, 0x00ce, 0x0001,\n    0x0000, 0x00cd, 0x00cd, 0x0001, 0x0000, 0x0000, 0x004f, 0x00ca,\n    0x00cb, 0x0001, 0x0000, 0x00cd, 0x00cf, 0x0000, 0x00d3, 0x00d1,\n    0x0001, 0x0000, 0x0000, 0x0000, 0x00d3, 0x00d5, 0x0000, 0x00d6,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,\n    0x0000, 0x00da, 0x0000, 0x0000, 0x0001, 0x0000, 0x00da, 0x0001,\n    0x0000, 0x00d9, 0x00d9, 0x0001, 0x0000, 0x0001, 0x0000, 0x00db,\n    0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0002, 0x0001, 0x0000, 0x0002,\n    0x0001, 0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0000, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0xff9f, 0xffc8,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    /* 0x0200 .. 0x02ff */\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0xff7e, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0300 .. 0x03ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0026, 0x0000,\n    0x0025, 0x0025, 0x0025, 0x0000, 0x0040, 0x0000, 0x003f, 0x003f,\n    0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0xffc4, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0400 .. 0x04ff */\n    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,\n    0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050, 0x0050,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001,\n    0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,\n    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0500 .. 0x05ff */\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,\n    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,\n    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,\n    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030,\n    0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1e00 .. 0x1eff */\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,\n    0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f00 .. 0x1fff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000, 0xfff8, 0x0000, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8, 0xfff8,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xffb6, 0xffb6, 0xfff7, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xffaa, 0xffaa, 0xffaa, 0xffaa, 0xfff7, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xff9c, 0xff9c, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff8, 0xfff8, 0xff90, 0xff90, 0xfff9, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xff80, 0xff80, 0xff82, 0xff82, 0xfff7, 0x0000, 0x0000, 0x0000,\n    /* 0x2100 .. 0x21ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe2a3, 0x0000,\n    0x0000, 0x0000, 0xdf41, 0xdfba, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2400 .. 0x24ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, 0x001a,\n    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,\n    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,\n    0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a, 0x001a,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0xff00 .. 0xffff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000\n};\nconst WCHAR casemap_upper[3328] =\n{\n    /* index */\n    0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0800, 0x0900,\n    0x0100, 0x0a00, 0x0100, 0x0100, 0x0b00, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0c00,\n    /* defaults */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0000 .. 0x00ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x02e7, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0000,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0x0079,\n    /* 0x0100 .. 0x01ff */\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xff18, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0xffff, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xfed4,\n    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,\n    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0xffff, 0x0000, 0x0000, 0x0061, 0x0000, 0x0000,\n    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0082, 0x0000,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,\n    0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0000,\n    0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0x0038,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xfffe, 0x0000,\n    0xffff, 0xfffe, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000,\n    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0xffb1, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0xffff, 0xfffe, 0x0000, 0xffff, 0x0000, 0x0000,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    /* 0x0200 .. 0x02ff */\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0xff2e, 0xff32, 0x0000, 0xff33, 0xff33,\n    0x0000, 0xff36, 0x0000, 0xff35, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xff33, 0x0000, 0x0000, 0xff31, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xff2f, 0xff2d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xff2d,\n    0x0000, 0x0000, 0xff2b, 0x0000, 0x0000, 0xff2a, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xff26, 0x0000, 0x0000, 0xff26, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xff26, 0x0000, 0xff27, 0xff27, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0xff25, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0300 .. 0x03ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0054, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0xffda, 0xffdb, 0xffdb, 0xffdb,\n    0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe1, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffc0, 0xffc1, 0xffc1, 0x0000,\n    0xffc2, 0xffc7, 0x0000, 0x0000, 0x0000, 0xffd1, 0xffca, 0x0000,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0xffaa, 0xffb0, 0xffb1, 0x0000, 0x0000, 0xffa0, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0400 .. 0x04ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,\n    0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0, 0xffb0,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,\n    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0500 .. 0x05ff */\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,\n    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,\n    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,\n    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0,\n    0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0xffd0, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1e00 .. 0x1eff */\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0xffc5, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff, 0x0000, 0xffff,\n    0x0000, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f00 .. 0x1fff */\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008, 0x0000, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x004a, 0x004a, 0x0056, 0x0056, 0x0056, 0x0056, 0x0064, 0x0064,\n    0x0080, 0x0080, 0x0070, 0x0070, 0x007e, 0x007e, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe3db, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0008, 0x0008, 0x0000, 0x0000, 0x0000, 0x0007, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2100 .. 0x21ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0,\n    0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0, 0xfff0,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2400 .. 0x24ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,\n    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,\n    0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6, 0xffe6,\n    0xffe6, 0xffe6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0xff00 .. 0xffff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0, 0xffe0,\n    0xffe0, 0xffe0, 0xffe0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000\n};\n"
  },
  {
    "path": "Project/Unicode/Source/compose.cpp",
    "content": "/* Unicode char composition */\n/* Automatically generated; DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nconst WCHAR unicode_compose_table[0x846] =\n{\n    /* second chars + offsets */\n    0x0300, 0x0046, 0x0301, 0x009a, 0x0302, 0x0110, 0x0303, 0x0130,\n    0x0304, 0x014c, 0x0306, 0x0178, 0x0307, 0x0198, 0x0308, 0x01c6,\n    0x0309, 0x01fc, 0x030a, 0x0214, 0x030b, 0x021a, 0x030c, 0x0220,\n    0x030f, 0x0245, 0x0311, 0x0253, 0x0313, 0x025f, 0x0314, 0x026d,\n    0x031b, 0x027d, 0x0323, 0x0281, 0x0324, 0x02ab, 0x0325, 0x02ad,\n    0x0326, 0x02af, 0x0327, 0x02b3, 0x0328, 0x02c9, 0x032d, 0x02d3,\n    0x032e, 0x02df, 0x0330, 0x02e1, 0x0331, 0x02e7, 0x0338, 0x02f8,\n    0x0342, 0x0325, 0x0345, 0x0342, 0x05b4, 0x0381, 0x05b7, 0x0382,\n    0x05b8, 0x0384, 0x05b9, 0x0385, 0x05bc, 0x0386, 0x05bf, 0x039c,\n    0x05c1, 0x039f, 0x05c2, 0x03a1, 0x0653, 0x03a3, 0x0654, 0x03a4,\n    0x0655, 0x03aa, 0x093c, 0x03ab, 0x09bc, 0x03b6, 0x09be, 0x03b9,\n    0x09d7, 0x03ba, 0x0a3c, 0x03bb, 0x0b3c, 0x03c1, 0x0b3e, 0x03c3,\n    0x0b56, 0x03c4, 0x0b57, 0x03c5, 0x0bbe, 0x03c6, 0x0bd7, 0x03c8,\n    0x0c56, 0x03ca, 0x0cc2, 0x03cb, 0x0cd5, 0x03cc, 0x0cd6, 0x03cf,\n    0x0d3e, 0x03d0, 0x0d57, 0x03d2, 0x0dca, 0x03d3, 0x0dcf, 0x03d5,\n    0x0ddf, 0x03d6, 0x0f72, 0x03d7, 0x0f74, 0x03d8, 0x0f80, 0x03d9,\n    0x0fb5, 0x03dc, 0x0fb7, 0x03de, 0x102e, 0x03e8, 0x3099, 0x03e9,\n    0x309a, 0x0419, 0x0000, 0x0423,\n    /* 0x0300 */\n    0x0041, 0x00c0, 0x0045, 0x00c8, 0x0049, 0x00cc, 0x004e, 0x01f8,\n    0x004f, 0x00d2, 0x0055, 0x00d9, 0x0057, 0x1e80, 0x0059, 0x1ef2,\n    0x0061, 0x00e0, 0x0065, 0x00e8, 0x0069, 0x00ec, 0x006e, 0x01f9,\n    0x006f, 0x00f2, 0x0075, 0x00f9, 0x0077, 0x1e81, 0x0079, 0x1ef3,\n    0x00a8, 0x1fed, 0x00c2, 0x1ea6, 0x00ca, 0x1ec0, 0x00d4, 0x1ed2,\n    0x00dc, 0x01db, 0x00e2, 0x1ea7, 0x00ea, 0x1ec1, 0x00f4, 0x1ed3,\n    0x00fc, 0x01dc, 0x0102, 0x1eb0, 0x0103, 0x1eb1, 0x0112, 0x1e14,\n    0x0113, 0x1e15, 0x014c, 0x1e50, 0x014d, 0x1e51, 0x01a0, 0x1edc,\n    0x01a1, 0x1edd, 0x01af, 0x1eea, 0x01b0, 0x1eeb, 0x0391, 0x1fba,\n    0x0395, 0x1fc8, 0x0397, 0x1fca, 0x0399, 0x1fda, 0x039f, 0x1ff8,\n    0x03a5, 0x1fea, 0x03a9, 0x1ffa, 0x03b1, 0x1f70, 0x03b5, 0x1f72,\n    0x03b7, 0x1f74, 0x03b9, 0x1f76, 0x03bf, 0x1f78, 0x03c5, 0x1f7a,\n    0x03c9, 0x1f7c, 0x03ca, 0x1fd2, 0x03cb, 0x1fe2, 0x0415, 0x0400,\n    0x0418, 0x040d, 0x0435, 0x0450, 0x0438, 0x045d, 0x1f00, 0x1f02,\n    0x1f01, 0x1f03, 0x1f08, 0x1f0a, 0x1f09, 0x1f0b, 0x1f10, 0x1f12,\n    0x1f11, 0x1f13, 0x1f18, 0x1f1a, 0x1f19, 0x1f1b, 0x1f20, 0x1f22,\n    0x1f21, 0x1f23, 0x1f28, 0x1f2a, 0x1f29, 0x1f2b, 0x1f30, 0x1f32,\n    0x1f31, 0x1f33, 0x1f38, 0x1f3a, 0x1f39, 0x1f3b, 0x1f40, 0x1f42,\n    0x1f41, 0x1f43, 0x1f48, 0x1f4a, 0x1f49, 0x1f4b, 0x1f50, 0x1f52,\n    0x1f51, 0x1f53, 0x1f59, 0x1f5b, 0x1f60, 0x1f62, 0x1f61, 0x1f63,\n    0x1f68, 0x1f6a, 0x1f69, 0x1f6b, 0x1fbf, 0x1fcd, 0x1ffe, 0x1fdd,\n    /* 0x0301 */\n    0x0041, 0x00c1, 0x0043, 0x0106, 0x0045, 0x00c9, 0x0047, 0x01f4,\n    0x0049, 0x00cd, 0x004b, 0x1e30, 0x004c, 0x0139, 0x004d, 0x1e3e,\n    0x004e, 0x0143, 0x004f, 0x00d3, 0x0050, 0x1e54, 0x0052, 0x0154,\n    0x0053, 0x015a, 0x0055, 0x00da, 0x0057, 0x1e82, 0x0059, 0x00dd,\n    0x005a, 0x0179, 0x0061, 0x00e1, 0x0063, 0x0107, 0x0065, 0x00e9,\n    0x0067, 0x01f5, 0x0069, 0x00ed, 0x006b, 0x1e31, 0x006c, 0x013a,\n    0x006d, 0x1e3f, 0x006e, 0x0144, 0x006f, 0x00f3, 0x0070, 0x1e55,\n    0x0072, 0x0155, 0x0073, 0x015b, 0x0075, 0x00fa, 0x0077, 0x1e83,\n    0x0079, 0x00fd, 0x007a, 0x017a, 0x00a8, 0x0385, 0x00c2, 0x1ea4,\n    0x00c5, 0x01fa, 0x00c6, 0x01fc, 0x00c7, 0x1e08, 0x00ca, 0x1ebe,\n    0x00cf, 0x1e2e, 0x00d4, 0x1ed0, 0x00d5, 0x1e4c, 0x00d8, 0x01fe,\n    0x00dc, 0x01d7, 0x00e2, 0x1ea5, 0x00e5, 0x01fb, 0x00e6, 0x01fd,\n    0x00e7, 0x1e09, 0x00ea, 0x1ebf, 0x00ef, 0x1e2f, 0x00f4, 0x1ed1,\n    0x00f5, 0x1e4d, 0x00f8, 0x01ff, 0x00fc, 0x01d8, 0x0102, 0x1eae,\n    0x0103, 0x1eaf, 0x0112, 0x1e16, 0x0113, 0x1e17, 0x014c, 0x1e52,\n    0x014d, 0x1e53, 0x0168, 0x1e78, 0x0169, 0x1e79, 0x01a0, 0x1eda,\n    0x01a1, 0x1edb, 0x01af, 0x1ee8, 0x01b0, 0x1ee9, 0x0308, 0x0344,\n    0x0391, 0x0386, 0x0395, 0x0388, 0x0397, 0x0389, 0x0399, 0x038a,\n    0x039f, 0x038c, 0x03a5, 0x038e, 0x03a9, 0x038f, 0x03b1, 0x03ac,\n    0x03b5, 0x03ad, 0x03b7, 0x03ae, 0x03b9, 0x03af, 0x03bf, 0x03cc,\n    0x03c5, 0x03cd, 0x03c9, 0x03ce, 0x03ca, 0x0390, 0x03cb, 0x03b0,\n    0x03d2, 0x03d3, 0x0413, 0x0403, 0x041a, 0x040c, 0x0433, 0x0453,\n    0x043a, 0x045c, 0x1f00, 0x1f04, 0x1f01, 0x1f05, 0x1f08, 0x1f0c,\n    0x1f09, 0x1f0d, 0x1f10, 0x1f14, 0x1f11, 0x1f15, 0x1f18, 0x1f1c,\n    0x1f19, 0x1f1d, 0x1f20, 0x1f24, 0x1f21, 0x1f25, 0x1f28, 0x1f2c,\n    0x1f29, 0x1f2d, 0x1f30, 0x1f34, 0x1f31, 0x1f35, 0x1f38, 0x1f3c,\n    0x1f39, 0x1f3d, 0x1f40, 0x1f44, 0x1f41, 0x1f45, 0x1f48, 0x1f4c,\n    0x1f49, 0x1f4d, 0x1f50, 0x1f54, 0x1f51, 0x1f55, 0x1f59, 0x1f5d,\n    0x1f60, 0x1f64, 0x1f61, 0x1f65, 0x1f68, 0x1f6c, 0x1f69, 0x1f6d,\n    0x1fbf, 0x1fce, 0x1ffe, 0x1fde,\n    /* 0x0302 */\n    0x0041, 0x00c2, 0x0043, 0x0108, 0x0045, 0x00ca, 0x0047, 0x011c,\n    0x0048, 0x0124, 0x0049, 0x00ce, 0x004a, 0x0134, 0x004f, 0x00d4,\n    0x0053, 0x015c, 0x0055, 0x00db, 0x0057, 0x0174, 0x0059, 0x0176,\n    0x005a, 0x1e90, 0x0061, 0x00e2, 0x0063, 0x0109, 0x0065, 0x00ea,\n    0x0067, 0x011d, 0x0068, 0x0125, 0x0069, 0x00ee, 0x006a, 0x0135,\n    0x006f, 0x00f4, 0x0073, 0x015d, 0x0075, 0x00fb, 0x0077, 0x0175,\n    0x0079, 0x0177, 0x007a, 0x1e91, 0x1ea0, 0x1eac, 0x1ea1, 0x1ead,\n    0x1eb8, 0x1ec6, 0x1eb9, 0x1ec7, 0x1ecc, 0x1ed8, 0x1ecd, 0x1ed9,\n    /* 0x0303 */\n    0x0041, 0x00c3, 0x0045, 0x1ebc, 0x0049, 0x0128, 0x004e, 0x00d1,\n    0x004f, 0x00d5, 0x0055, 0x0168, 0x0056, 0x1e7c, 0x0059, 0x1ef8,\n    0x0061, 0x00e3, 0x0065, 0x1ebd, 0x0069, 0x0129, 0x006e, 0x00f1,\n    0x006f, 0x00f5, 0x0075, 0x0169, 0x0076, 0x1e7d, 0x0079, 0x1ef9,\n    0x00c2, 0x1eaa, 0x00ca, 0x1ec4, 0x00d4, 0x1ed6, 0x00e2, 0x1eab,\n    0x00ea, 0x1ec5, 0x00f4, 0x1ed7, 0x0102, 0x1eb4, 0x0103, 0x1eb5,\n    0x01a0, 0x1ee0, 0x01a1, 0x1ee1, 0x01af, 0x1eee, 0x01b0, 0x1eef,\n    /* 0x0304 */\n    0x0041, 0x0100, 0x0045, 0x0112, 0x0047, 0x1e20, 0x0049, 0x012a,\n    0x004f, 0x014c, 0x0055, 0x016a, 0x0059, 0x0232, 0x0061, 0x0101,\n    0x0065, 0x0113, 0x0067, 0x1e21, 0x0069, 0x012b, 0x006f, 0x014d,\n    0x0075, 0x016b, 0x0079, 0x0233, 0x00c4, 0x01de, 0x00c6, 0x01e2,\n    0x00d5, 0x022c, 0x00d6, 0x022a, 0x00dc, 0x01d5, 0x00e4, 0x01df,\n    0x00e6, 0x01e3, 0x00f5, 0x022d, 0x00f6, 0x022b, 0x00fc, 0x01d6,\n    0x01ea, 0x01ec, 0x01eb, 0x01ed, 0x0226, 0x01e0, 0x0227, 0x01e1,\n    0x022e, 0x0230, 0x022f, 0x0231, 0x0391, 0x1fb9, 0x0399, 0x1fd9,\n    0x03a5, 0x1fe9, 0x03b1, 0x1fb1, 0x03b9, 0x1fd1, 0x03c5, 0x1fe1,\n    0x0418, 0x04e2, 0x0423, 0x04ee, 0x0438, 0x04e3, 0x0443, 0x04ef,\n    0x1e36, 0x1e38, 0x1e37, 0x1e39, 0x1e5a, 0x1e5c, 0x1e5b, 0x1e5d,\n    /* 0x0306 */\n    0x0041, 0x0102, 0x0045, 0x0114, 0x0047, 0x011e, 0x0049, 0x012c,\n    0x004f, 0x014e, 0x0055, 0x016c, 0x0061, 0x0103, 0x0065, 0x0115,\n    0x0067, 0x011f, 0x0069, 0x012d, 0x006f, 0x014f, 0x0075, 0x016d,\n    0x0228, 0x1e1c, 0x0229, 0x1e1d, 0x0391, 0x1fb8, 0x0399, 0x1fd8,\n    0x03a5, 0x1fe8, 0x03b1, 0x1fb0, 0x03b9, 0x1fd0, 0x03c5, 0x1fe0,\n    0x0410, 0x04d0, 0x0415, 0x04d6, 0x0416, 0x04c1, 0x0418, 0x0419,\n    0x0423, 0x040e, 0x0430, 0x04d1, 0x0435, 0x04d7, 0x0436, 0x04c2,\n    0x0438, 0x0439, 0x0443, 0x045e, 0x1ea0, 0x1eb6, 0x1ea1, 0x1eb7,\n    /* 0x0307 */\n    0x0041, 0x0226, 0x0042, 0x1e02, 0x0043, 0x010a, 0x0044, 0x1e0a,\n    0x0045, 0x0116, 0x0046, 0x1e1e, 0x0047, 0x0120, 0x0048, 0x1e22,\n    0x0049, 0x0130, 0x004d, 0x1e40, 0x004e, 0x1e44, 0x004f, 0x022e,\n    0x0050, 0x1e56, 0x0052, 0x1e58, 0x0053, 0x1e60, 0x0054, 0x1e6a,\n    0x0057, 0x1e86, 0x0058, 0x1e8a, 0x0059, 0x1e8e, 0x005a, 0x017b,\n    0x0061, 0x0227, 0x0062, 0x1e03, 0x0063, 0x010b, 0x0064, 0x1e0b,\n    0x0065, 0x0117, 0x0066, 0x1e1f, 0x0067, 0x0121, 0x0068, 0x1e23,\n    0x006d, 0x1e41, 0x006e, 0x1e45, 0x006f, 0x022f, 0x0070, 0x1e57,\n    0x0072, 0x1e59, 0x0073, 0x1e61, 0x0074, 0x1e6b, 0x0077, 0x1e87,\n    0x0078, 0x1e8b, 0x0079, 0x1e8f, 0x007a, 0x017c, 0x015a, 0x1e64,\n    0x015b, 0x1e65, 0x0160, 0x1e66, 0x0161, 0x1e67, 0x017f, 0x1e9b,\n    0x1e62, 0x1e68, 0x1e63, 0x1e69,\n    /* 0x0308 */\n    0x0041, 0x00c4, 0x0045, 0x00cb, 0x0048, 0x1e26, 0x0049, 0x00cf,\n    0x004f, 0x00d6, 0x0055, 0x00dc, 0x0057, 0x1e84, 0x0058, 0x1e8c,\n    0x0059, 0x0178, 0x0061, 0x00e4, 0x0065, 0x00eb, 0x0068, 0x1e27,\n    0x0069, 0x00ef, 0x006f, 0x00f6, 0x0074, 0x1e97, 0x0075, 0x00fc,\n    0x0077, 0x1e85, 0x0078, 0x1e8d, 0x0079, 0x00ff, 0x00d5, 0x1e4e,\n    0x00f5, 0x1e4f, 0x016a, 0x1e7a, 0x016b, 0x1e7b, 0x0399, 0x03aa,\n    0x03a5, 0x03ab, 0x03b9, 0x03ca, 0x03c5, 0x03cb, 0x03d2, 0x03d4,\n    0x0406, 0x0407, 0x0410, 0x04d2, 0x0415, 0x0401, 0x0416, 0x04dc,\n    0x0417, 0x04de, 0x0418, 0x04e4, 0x041e, 0x04e6, 0x0423, 0x04f0,\n    0x0427, 0x04f4, 0x042b, 0x04f8, 0x042d, 0x04ec, 0x0430, 0x04d3,\n    0x0435, 0x0451, 0x0436, 0x04dd, 0x0437, 0x04df, 0x0438, 0x04e5,\n    0x043e, 0x04e7, 0x0443, 0x04f1, 0x0447, 0x04f5, 0x044b, 0x04f9,\n    0x044d, 0x04ed, 0x0456, 0x0457, 0x04d8, 0x04da, 0x04d9, 0x04db,\n    0x04e8, 0x04ea, 0x04e9, 0x04eb,\n    /* 0x0309 */\n    0x0041, 0x1ea2, 0x0045, 0x1eba, 0x0049, 0x1ec8, 0x004f, 0x1ece,\n    0x0055, 0x1ee6, 0x0059, 0x1ef6, 0x0061, 0x1ea3, 0x0065, 0x1ebb,\n    0x0069, 0x1ec9, 0x006f, 0x1ecf, 0x0075, 0x1ee7, 0x0079, 0x1ef7,\n    0x00c2, 0x1ea8, 0x00ca, 0x1ec2, 0x00d4, 0x1ed4, 0x00e2, 0x1ea9,\n    0x00ea, 0x1ec3, 0x00f4, 0x1ed5, 0x0102, 0x1eb2, 0x0103, 0x1eb3,\n    0x01a0, 0x1ede, 0x01a1, 0x1edf, 0x01af, 0x1eec, 0x01b0, 0x1eed,\n    /* 0x030a */\n    0x0041, 0x00c5, 0x0055, 0x016e, 0x0061, 0x00e5, 0x0075, 0x016f,\n    0x0077, 0x1e98, 0x0079, 0x1e99,\n    /* 0x030b */\n    0x004f, 0x0150, 0x0055, 0x0170, 0x006f, 0x0151, 0x0075, 0x0171,\n    0x0423, 0x04f2, 0x0443, 0x04f3,\n    /* 0x030c */\n    0x0041, 0x01cd, 0x0043, 0x010c, 0x0044, 0x010e, 0x0045, 0x011a,\n    0x0047, 0x01e6, 0x0048, 0x021e, 0x0049, 0x01cf, 0x004b, 0x01e8,\n    0x004c, 0x013d, 0x004e, 0x0147, 0x004f, 0x01d1, 0x0052, 0x0158,\n    0x0053, 0x0160, 0x0054, 0x0164, 0x0055, 0x01d3, 0x005a, 0x017d,\n    0x0061, 0x01ce, 0x0063, 0x010d, 0x0064, 0x010f, 0x0065, 0x011b,\n    0x0067, 0x01e7, 0x0068, 0x021f, 0x0069, 0x01d0, 0x006a, 0x01f0,\n    0x006b, 0x01e9, 0x006c, 0x013e, 0x006e, 0x0148, 0x006f, 0x01d2,\n    0x0072, 0x0159, 0x0073, 0x0161, 0x0074, 0x0165, 0x0075, 0x01d4,\n    0x007a, 0x017e, 0x00dc, 0x01d9, 0x00fc, 0x01da, 0x01b7, 0x01ee,\n    0x0292, 0x01ef,\n    /* 0x030f */\n    0x0041, 0x0200, 0x0045, 0x0204, 0x0049, 0x0208, 0x004f, 0x020c,\n    0x0052, 0x0210, 0x0055, 0x0214, 0x0061, 0x0201, 0x0065, 0x0205,\n    0x0069, 0x0209, 0x006f, 0x020d, 0x0072, 0x0211, 0x0075, 0x0215,\n    0x0474, 0x0476, 0x0475, 0x0477,\n    /* 0x0311 */\n    0x0041, 0x0202, 0x0045, 0x0206, 0x0049, 0x020a, 0x004f, 0x020e,\n    0x0052, 0x0212, 0x0055, 0x0216, 0x0061, 0x0203, 0x0065, 0x0207,\n    0x0069, 0x020b, 0x006f, 0x020f, 0x0072, 0x0213, 0x0075, 0x0217,\n    /* 0x0313 */\n    0x0391, 0x1f08, 0x0395, 0x1f18, 0x0397, 0x1f28, 0x0399, 0x1f38,\n    0x039f, 0x1f48, 0x03a9, 0x1f68, 0x03b1, 0x1f00, 0x03b5, 0x1f10,\n    0x03b7, 0x1f20, 0x03b9, 0x1f30, 0x03bf, 0x1f40, 0x03c1, 0x1fe4,\n    0x03c5, 0x1f50, 0x03c9, 0x1f60,\n    /* 0x0314 */\n    0x0391, 0x1f09, 0x0395, 0x1f19, 0x0397, 0x1f29, 0x0399, 0x1f39,\n    0x039f, 0x1f49, 0x03a1, 0x1fec, 0x03a5, 0x1f59, 0x03a9, 0x1f69,\n    0x03b1, 0x1f01, 0x03b5, 0x1f11, 0x03b7, 0x1f21, 0x03b9, 0x1f31,\n    0x03bf, 0x1f41, 0x03c1, 0x1fe5, 0x03c5, 0x1f51, 0x03c9, 0x1f61,\n    /* 0x031b */\n    0x004f, 0x01a0, 0x0055, 0x01af, 0x006f, 0x01a1, 0x0075, 0x01b0,\n    /* 0x0323 */\n    0x0041, 0x1ea0, 0x0042, 0x1e04, 0x0044, 0x1e0c, 0x0045, 0x1eb8,\n    0x0048, 0x1e24, 0x0049, 0x1eca, 0x004b, 0x1e32, 0x004c, 0x1e36,\n    0x004d, 0x1e42, 0x004e, 0x1e46, 0x004f, 0x1ecc, 0x0052, 0x1e5a,\n    0x0053, 0x1e62, 0x0054, 0x1e6c, 0x0055, 0x1ee4, 0x0056, 0x1e7e,\n    0x0057, 0x1e88, 0x0059, 0x1ef4, 0x005a, 0x1e92, 0x0061, 0x1ea1,\n    0x0062, 0x1e05, 0x0064, 0x1e0d, 0x0065, 0x1eb9, 0x0068, 0x1e25,\n    0x0069, 0x1ecb, 0x006b, 0x1e33, 0x006c, 0x1e37, 0x006d, 0x1e43,\n    0x006e, 0x1e47, 0x006f, 0x1ecd, 0x0072, 0x1e5b, 0x0073, 0x1e63,\n    0x0074, 0x1e6d, 0x0075, 0x1ee5, 0x0076, 0x1e7f, 0x0077, 0x1e89,\n    0x0079, 0x1ef5, 0x007a, 0x1e93, 0x01a0, 0x1ee2, 0x01a1, 0x1ee3,\n    0x01af, 0x1ef0, 0x01b0, 0x1ef1,\n    /* 0x0324 */\n    0x0055, 0x1e72, 0x0075, 0x1e73,\n    /* 0x0325 */\n    0x0041, 0x1e00, 0x0061, 0x1e01,\n    /* 0x0326 */\n    0x0053, 0x0218, 0x0054, 0x021a, 0x0073, 0x0219, 0x0074, 0x021b,\n    /* 0x0327 */\n    0x0043, 0x00c7, 0x0044, 0x1e10, 0x0045, 0x0228, 0x0047, 0x0122,\n    0x0048, 0x1e28, 0x004b, 0x0136, 0x004c, 0x013b, 0x004e, 0x0145,\n    0x0052, 0x0156, 0x0053, 0x015e, 0x0054, 0x0162, 0x0063, 0x00e7,\n    0x0064, 0x1e11, 0x0065, 0x0229, 0x0067, 0x0123, 0x0068, 0x1e29,\n    0x006b, 0x0137, 0x006c, 0x013c, 0x006e, 0x0146, 0x0072, 0x0157,\n    0x0073, 0x015f, 0x0074, 0x0163,\n    /* 0x0328 */\n    0x0041, 0x0104, 0x0045, 0x0118, 0x0049, 0x012e, 0x004f, 0x01ea,\n    0x0055, 0x0172, 0x0061, 0x0105, 0x0065, 0x0119, 0x0069, 0x012f,\n    0x006f, 0x01eb, 0x0075, 0x0173,\n    /* 0x032d */\n    0x0044, 0x1e12, 0x0045, 0x1e18, 0x004c, 0x1e3c, 0x004e, 0x1e4a,\n    0x0054, 0x1e70, 0x0055, 0x1e76, 0x0064, 0x1e13, 0x0065, 0x1e19,\n    0x006c, 0x1e3d, 0x006e, 0x1e4b, 0x0074, 0x1e71, 0x0075, 0x1e77,\n    /* 0x032e */\n    0x0048, 0x1e2a, 0x0068, 0x1e2b,\n    /* 0x0330 */\n    0x0045, 0x1e1a, 0x0049, 0x1e2c, 0x0055, 0x1e74, 0x0065, 0x1e1b,\n    0x0069, 0x1e2d, 0x0075, 0x1e75,\n    /* 0x0331 */\n    0x0042, 0x1e06, 0x0044, 0x1e0e, 0x004b, 0x1e34, 0x004c, 0x1e3a,\n    0x004e, 0x1e48, 0x0052, 0x1e5e, 0x0054, 0x1e6e, 0x005a, 0x1e94,\n    0x0062, 0x1e07, 0x0064, 0x1e0f, 0x0068, 0x1e96, 0x006b, 0x1e35,\n    0x006c, 0x1e3b, 0x006e, 0x1e49, 0x0072, 0x1e5f, 0x0074, 0x1e6f,\n    0x007a, 0x1e95,\n    /* 0x0338 */\n    0x003c, 0x226e, 0x003d, 0x2260, 0x003e, 0x226f, 0x2190, 0x219a,\n    0x2192, 0x219b, 0x2194, 0x21ae, 0x21d0, 0x21cd, 0x21d2, 0x21cf,\n    0x21d4, 0x21ce, 0x2203, 0x2204, 0x2208, 0x2209, 0x220b, 0x220c,\n    0x2223, 0x2224, 0x2225, 0x2226, 0x223c, 0x2241, 0x2243, 0x2244,\n    0x2245, 0x2247, 0x2248, 0x2249, 0x224d, 0x226d, 0x2261, 0x2262,\n    0x2264, 0x2270, 0x2265, 0x2271, 0x2272, 0x2274, 0x2273, 0x2275,\n    0x2276, 0x2278, 0x2277, 0x2279, 0x227a, 0x2280, 0x227b, 0x2281,\n    0x227c, 0x22e0, 0x227d, 0x22e1, 0x2282, 0x2284, 0x2283, 0x2285,\n    0x2286, 0x2288, 0x2287, 0x2289, 0x2291, 0x22e2, 0x2292, 0x22e3,\n    0x22a2, 0x22ac, 0x22a8, 0x22ad, 0x22a9, 0x22ae, 0x22ab, 0x22af,\n    0x22b2, 0x22ea, 0x22b3, 0x22eb, 0x22b4, 0x22ec, 0x22b5, 0x22ed,\n    0x2add, 0x2adc,\n    /* 0x0342 */\n    0x00a8, 0x1fc1, 0x03b1, 0x1fb6, 0x03b7, 0x1fc6, 0x03b9, 0x1fd6,\n    0x03c5, 0x1fe6, 0x03c9, 0x1ff6, 0x03ca, 0x1fd7, 0x03cb, 0x1fe7,\n    0x1f00, 0x1f06, 0x1f01, 0x1f07, 0x1f08, 0x1f0e, 0x1f09, 0x1f0f,\n    0x1f20, 0x1f26, 0x1f21, 0x1f27, 0x1f28, 0x1f2e, 0x1f29, 0x1f2f,\n    0x1f30, 0x1f36, 0x1f31, 0x1f37, 0x1f38, 0x1f3e, 0x1f39, 0x1f3f,\n    0x1f50, 0x1f56, 0x1f51, 0x1f57, 0x1f59, 0x1f5f, 0x1f60, 0x1f66,\n    0x1f61, 0x1f67, 0x1f68, 0x1f6e, 0x1f69, 0x1f6f, 0x1fbf, 0x1fcf,\n    0x1ffe, 0x1fdf,\n    /* 0x0345 */\n    0x0391, 0x1fbc, 0x0397, 0x1fcc, 0x03a9, 0x1ffc, 0x03ac, 0x1fb4,\n    0x03ae, 0x1fc4, 0x03b1, 0x1fb3, 0x03b7, 0x1fc3, 0x03c9, 0x1ff3,\n    0x03ce, 0x1ff4, 0x1f00, 0x1f80, 0x1f01, 0x1f81, 0x1f02, 0x1f82,\n    0x1f03, 0x1f83, 0x1f04, 0x1f84, 0x1f05, 0x1f85, 0x1f06, 0x1f86,\n    0x1f07, 0x1f87, 0x1f08, 0x1f88, 0x1f09, 0x1f89, 0x1f0a, 0x1f8a,\n    0x1f0b, 0x1f8b, 0x1f0c, 0x1f8c, 0x1f0d, 0x1f8d, 0x1f0e, 0x1f8e,\n    0x1f0f, 0x1f8f, 0x1f20, 0x1f90, 0x1f21, 0x1f91, 0x1f22, 0x1f92,\n    0x1f23, 0x1f93, 0x1f24, 0x1f94, 0x1f25, 0x1f95, 0x1f26, 0x1f96,\n    0x1f27, 0x1f97, 0x1f28, 0x1f98, 0x1f29, 0x1f99, 0x1f2a, 0x1f9a,\n    0x1f2b, 0x1f9b, 0x1f2c, 0x1f9c, 0x1f2d, 0x1f9d, 0x1f2e, 0x1f9e,\n    0x1f2f, 0x1f9f, 0x1f60, 0x1fa0, 0x1f61, 0x1fa1, 0x1f62, 0x1fa2,\n    0x1f63, 0x1fa3, 0x1f64, 0x1fa4, 0x1f65, 0x1fa5, 0x1f66, 0x1fa6,\n    0x1f67, 0x1fa7, 0x1f68, 0x1fa8, 0x1f69, 0x1fa9, 0x1f6a, 0x1faa,\n    0x1f6b, 0x1fab, 0x1f6c, 0x1fac, 0x1f6d, 0x1fad, 0x1f6e, 0x1fae,\n    0x1f6f, 0x1faf, 0x1f70, 0x1fb2, 0x1f74, 0x1fc2, 0x1f7c, 0x1ff2,\n    0x1fb6, 0x1fb7, 0x1fc6, 0x1fc7, 0x1ff6, 0x1ff7,\n    /* 0x05b4 */\n    0x05d9, 0xfb1d,\n    /* 0x05b7 */\n    0x05d0, 0xfb2e, 0x05f2, 0xfb1f,\n    /* 0x05b8 */\n    0x05d0, 0xfb2f,\n    /* 0x05b9 */\n    0x05d5, 0xfb4b,\n    /* 0x05bc */\n    0x05d0, 0xfb30, 0x05d1, 0xfb31, 0x05d2, 0xfb32, 0x05d3, 0xfb33,\n    0x05d4, 0xfb34, 0x05d5, 0xfb35, 0x05d6, 0xfb36, 0x05d8, 0xfb38,\n    0x05d9, 0xfb39, 0x05da, 0xfb3a, 0x05db, 0xfb3b, 0x05dc, 0xfb3c,\n    0x05de, 0xfb3e, 0x05e0, 0xfb40, 0x05e1, 0xfb41, 0x05e3, 0xfb43,\n    0x05e4, 0xfb44, 0x05e6, 0xfb46, 0x05e7, 0xfb47, 0x05e8, 0xfb48,\n    0x05e9, 0xfb49, 0x05ea, 0xfb4a,\n    /* 0x05bf */\n    0x05d1, 0xfb4c, 0x05db, 0xfb4d, 0x05e4, 0xfb4e,\n    /* 0x05c1 */\n    0x05e9, 0xfb2a, 0xfb49, 0xfb2c,\n    /* 0x05c2 */\n    0x05e9, 0xfb2b, 0xfb49, 0xfb2d,\n    /* 0x0653 */\n    0x0627, 0x0622,\n    /* 0x0654 */\n    0x0627, 0x0623, 0x0648, 0x0624, 0x064a, 0x0626, 0x06c1, 0x06c2,\n    0x06d2, 0x06d3, 0x06d5, 0x06c0,\n    /* 0x0655 */\n    0x0627, 0x0625,\n    /* 0x093c */\n    0x0915, 0x0958, 0x0916, 0x0959, 0x0917, 0x095a, 0x091c, 0x095b,\n    0x0921, 0x095c, 0x0922, 0x095d, 0x0928, 0x0929, 0x092b, 0x095e,\n    0x092f, 0x095f, 0x0930, 0x0931, 0x0933, 0x0934,\n    /* 0x09bc */\n    0x09a1, 0x09dc, 0x09a2, 0x09dd, 0x09af, 0x09df,\n    /* 0x09be */\n    0x09c7, 0x09cb,\n    /* 0x09d7 */\n    0x09c7, 0x09cc,\n    /* 0x0a3c */\n    0x0a16, 0x0a59, 0x0a17, 0x0a5a, 0x0a1c, 0x0a5b, 0x0a2b, 0x0a5e,\n    0x0a32, 0x0a33, 0x0a38, 0x0a36,\n    /* 0x0b3c */\n    0x0b21, 0x0b5c, 0x0b22, 0x0b5d,\n    /* 0x0b3e */\n    0x0b47, 0x0b4b,\n    /* 0x0b56 */\n    0x0b47, 0x0b48,\n    /* 0x0b57 */\n    0x0b47, 0x0b4c,\n    /* 0x0bbe */\n    0x0bc6, 0x0bca, 0x0bc7, 0x0bcb,\n    /* 0x0bd7 */\n    0x0b92, 0x0b94, 0x0bc6, 0x0bcc,\n    /* 0x0c56 */\n    0x0c46, 0x0c48,\n    /* 0x0cc2 */\n    0x0cc6, 0x0cca,\n    /* 0x0cd5 */\n    0x0cbf, 0x0cc0, 0x0cc6, 0x0cc7, 0x0cca, 0x0ccb,\n    /* 0x0cd6 */\n    0x0cc6, 0x0cc8,\n    /* 0x0d3e */\n    0x0d46, 0x0d4a, 0x0d47, 0x0d4b,\n    /* 0x0d57 */\n    0x0d46, 0x0d4c,\n    /* 0x0dca */\n    0x0dd9, 0x0dda, 0x0ddc, 0x0ddd,\n    /* 0x0dcf */\n    0x0dd9, 0x0ddc,\n    /* 0x0ddf */\n    0x0dd9, 0x0dde,\n    /* 0x0f72 */\n    0x0f71, 0x0f73,\n    /* 0x0f74 */\n    0x0f71, 0x0f75,\n    /* 0x0f80 */\n    0x0f71, 0x0f81, 0x0fb2, 0x0f76, 0x0fb3, 0x0f78,\n    /* 0x0fb5 */\n    0x0f40, 0x0f69, 0x0f90, 0x0fb9,\n    /* 0x0fb7 */\n    0x0f42, 0x0f43, 0x0f4c, 0x0f4d, 0x0f51, 0x0f52, 0x0f56, 0x0f57,\n    0x0f5b, 0x0f5c, 0x0f92, 0x0f93, 0x0f9c, 0x0f9d, 0x0fa1, 0x0fa2,\n    0x0fa6, 0x0fa7, 0x0fab, 0x0fac,\n    /* 0x102e */\n    0x1025, 0x1026,\n    /* 0x3099 */\n    0x3046, 0x3094, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, 0x3050,\n    0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058,\n    0x3059, 0x305a, 0x305b, 0x305c, 0x305d, 0x305e, 0x305f, 0x3060,\n    0x3061, 0x3062, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069,\n    0x306f, 0x3070, 0x3072, 0x3073, 0x3075, 0x3076, 0x3078, 0x3079,\n    0x307b, 0x307c, 0x309d, 0x309e, 0x30a6, 0x30f4, 0x30ab, 0x30ac,\n    0x30ad, 0x30ae, 0x30af, 0x30b0, 0x30b1, 0x30b2, 0x30b3, 0x30b4,\n    0x30b5, 0x30b6, 0x30b7, 0x30b8, 0x30b9, 0x30ba, 0x30bb, 0x30bc,\n    0x30bd, 0x30be, 0x30bf, 0x30c0, 0x30c1, 0x30c2, 0x30c4, 0x30c5,\n    0x30c6, 0x30c7, 0x30c8, 0x30c9, 0x30cf, 0x30d0, 0x30d2, 0x30d3,\n    0x30d5, 0x30d6, 0x30d8, 0x30d9, 0x30db, 0x30dc, 0x30ef, 0x30f7,\n    0x30f0, 0x30f8, 0x30f1, 0x30f9, 0x30f2, 0x30fa, 0x30fd, 0x30fe,\n    /* 0x309a */\n    0x306f, 0x3071, 0x3072, 0x3074, 0x3075, 0x3077, 0x3078, 0x307a,\n    0x307b, 0x307d, 0x30cf, 0x30d1, 0x30d2, 0x30d4, 0x30d5, 0x30d7,\n    0x30d8, 0x30da, 0x30db, 0x30dd\n};\n\nconst unsigned int unicode_compose_table_size = 69;\n\nconst WCHAR unicode_decompose_table[4560] =\n{\n    /* index */\n    0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0100, 0x0160, 0x0100,\n    0x0100, 0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x0100, 0x01c0,\n    0x01d0, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x01e0, 0x01f0,\n    0x0100, 0x0200, 0x0210, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0220, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0230, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,\n    0x0100, 0x0100, 0x0100, 0x0240, 0x0100, 0x0100, 0x0100, 0x0100,\n    /* null sub-index */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* sub-index 00 */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0270, 0x0290, 0x02b0, 0x02d0,\n    /* sub-index 01 */\n    0x02f0, 0x0310, 0x0330, 0x0350, 0x0370, 0x0390, 0x03b0, 0x03d0,\n    0x0250, 0x0250, 0x03f0, 0x0410, 0x0430, 0x0450, 0x0470, 0x0490,\n    /* sub-index 02 */\n    0x04b0, 0x04d0, 0x04f0, 0x0510, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* sub-index 03 */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0530, 0x0250, 0x0250, 0x0250,\n    0x0550, 0x0570, 0x0590, 0x05b0, 0x05d0, 0x05f0, 0x0250, 0x0250,\n    /* sub-index 04 */\n    0x0610, 0x0630, 0x0250, 0x0650, 0x0250, 0x0670, 0x0250, 0x0690,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x06b0, 0x06d0, 0x06f0, 0x0710,\n    /* sub-index 06 */\n    0x0250, 0x0250, 0x0730, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0750, 0x0770, 0x0250, 0x0250,\n    /* sub-index 09 */\n    0x0250, 0x0250, 0x0790, 0x07b0, 0x0250, 0x07d0, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x07f0, 0x0810, 0x0250, 0x0250,\n    /* sub-index 0a */\n    0x0250, 0x0250, 0x0250, 0x0830, 0x0250, 0x0850, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* sub-index 0b */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0870, 0x0890, 0x0250, 0x0250,\n    0x0250, 0x08b0, 0x0250, 0x0250, 0x08d0, 0x0250, 0x0250, 0x0250,\n    /* sub-index 0c */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x08f0, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0910, 0x0250, 0x0250, 0x0250,\n    /* sub-index 0d */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0930, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0950, 0x0250, 0x0250,\n    /* sub-index 0f */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0970, 0x0990, 0x09b0, 0x09d0,\n    0x09f0, 0x0a10, 0x0a30, 0x0a50, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* sub-index 10 */\n    0x0250, 0x0250, 0x0a70, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* sub-index 1e */\n    0x0a90, 0x0ab0, 0x0ad0, 0x0af0, 0x0b10, 0x0b30, 0x0b50, 0x0b70,\n    0x0b90, 0x0bb0, 0x0bd0, 0x0bf0, 0x0c10, 0x0c30, 0x0c50, 0x0c70,\n    /* sub-index 1f */\n    0x0c90, 0x0cb0, 0x0cd0, 0x0cf0, 0x0d10, 0x0d30, 0x0d50, 0x0d70,\n    0x0d90, 0x0db0, 0x0dd0, 0x0df0, 0x0e10, 0x0e30, 0x0e50, 0x0e70,\n    /* sub-index 21 */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0e90, 0x0eb0, 0x0250, 0x0ed0, 0x0250, 0x0250, 0x0250,\n    /* sub-index 22 */\n    0x0ef0, 0x0250, 0x0f10, 0x0250, 0x0f30, 0x0250, 0x0f50, 0x0f70,\n    0x0f90, 0x0250, 0x0fb0, 0x0250, 0x0250, 0x0250, 0x0fd0, 0x0250,\n    /* sub-index 2a */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0ff0, 0x0250, 0x0250,\n    /* sub-index 30 */\n    0x0250, 0x0250, 0x0250, 0x0250, 0x1010, 0x1030, 0x1050, 0x1070,\n    0x0250, 0x1090, 0x10b0, 0x10d0, 0x10f0, 0x1110, 0x0250, 0x1130,\n    /* sub-index fb */\n    0x0250, 0x1150, 0x1170, 0x1190, 0x11b0, 0x0250, 0x0250, 0x0250,\n    0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250, 0x0250,\n    /* null mapping */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x00c0 .. 0x00cf */\n    0x0041, 0x0300, 0x0041, 0x0301, 0x0041, 0x0302, 0x0041, 0x0303,\n    0x0041, 0x0308, 0x0041, 0x030a, 0x0000, 0x0000, 0x0043, 0x0327,\n    0x0045, 0x0300, 0x0045, 0x0301, 0x0045, 0x0302, 0x0045, 0x0308,\n    0x0049, 0x0300, 0x0049, 0x0301, 0x0049, 0x0302, 0x0049, 0x0308,\n    /* 0x00d0 .. 0x00df */\n    0x0000, 0x0000, 0x004e, 0x0303, 0x004f, 0x0300, 0x004f, 0x0301,\n    0x004f, 0x0302, 0x004f, 0x0303, 0x004f, 0x0308, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0055, 0x0300, 0x0055, 0x0301, 0x0055, 0x0302,\n    0x0055, 0x0308, 0x0059, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x00e0 .. 0x00ef */\n    0x0061, 0x0300, 0x0061, 0x0301, 0x0061, 0x0302, 0x0061, 0x0303,\n    0x0061, 0x0308, 0x0061, 0x030a, 0x0000, 0x0000, 0x0063, 0x0327,\n    0x0065, 0x0300, 0x0065, 0x0301, 0x0065, 0x0302, 0x0065, 0x0308,\n    0x0069, 0x0300, 0x0069, 0x0301, 0x0069, 0x0302, 0x0069, 0x0308,\n    /* 0x00f0 .. 0x00ff */\n    0x0000, 0x0000, 0x006e, 0x0303, 0x006f, 0x0300, 0x006f, 0x0301,\n    0x006f, 0x0302, 0x006f, 0x0303, 0x006f, 0x0308, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0075, 0x0300, 0x0075, 0x0301, 0x0075, 0x0302,\n    0x0075, 0x0308, 0x0079, 0x0301, 0x0000, 0x0000, 0x0079, 0x0308,\n    /* 0x0100 .. 0x010f */\n    0x0041, 0x0304, 0x0061, 0x0304, 0x0041, 0x0306, 0x0061, 0x0306,\n    0x0041, 0x0328, 0x0061, 0x0328, 0x0043, 0x0301, 0x0063, 0x0301,\n    0x0043, 0x0302, 0x0063, 0x0302, 0x0043, 0x0307, 0x0063, 0x0307,\n    0x0043, 0x030c, 0x0063, 0x030c, 0x0044, 0x030c, 0x0064, 0x030c,\n    /* 0x0110 .. 0x011f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0045, 0x0304, 0x0065, 0x0304,\n    0x0045, 0x0306, 0x0065, 0x0306, 0x0045, 0x0307, 0x0065, 0x0307,\n    0x0045, 0x0328, 0x0065, 0x0328, 0x0045, 0x030c, 0x0065, 0x030c,\n    0x0047, 0x0302, 0x0067, 0x0302, 0x0047, 0x0306, 0x0067, 0x0306,\n    /* 0x0120 .. 0x012f */\n    0x0047, 0x0307, 0x0067, 0x0307, 0x0047, 0x0327, 0x0067, 0x0327,\n    0x0048, 0x0302, 0x0068, 0x0302, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0049, 0x0303, 0x0069, 0x0303, 0x0049, 0x0304, 0x0069, 0x0304,\n    0x0049, 0x0306, 0x0069, 0x0306, 0x0049, 0x0328, 0x0069, 0x0328,\n    /* 0x0130 .. 0x013f */\n    0x0049, 0x0307, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x004a, 0x0302, 0x006a, 0x0302, 0x004b, 0x0327, 0x006b, 0x0327,\n    0x0000, 0x0000, 0x004c, 0x0301, 0x006c, 0x0301, 0x004c, 0x0327,\n    0x006c, 0x0327, 0x004c, 0x030c, 0x006c, 0x030c, 0x0000, 0x0000,\n    /* 0x0140 .. 0x014f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x004e, 0x0301,\n    0x006e, 0x0301, 0x004e, 0x0327, 0x006e, 0x0327, 0x004e, 0x030c,\n    0x006e, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x004f, 0x0304, 0x006f, 0x0304, 0x004f, 0x0306, 0x006f, 0x0306,\n    /* 0x0150 .. 0x015f */\n    0x004f, 0x030b, 0x006f, 0x030b, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0052, 0x0301, 0x0072, 0x0301, 0x0052, 0x0327, 0x0072, 0x0327,\n    0x0052, 0x030c, 0x0072, 0x030c, 0x0053, 0x0301, 0x0073, 0x0301,\n    0x0053, 0x0302, 0x0073, 0x0302, 0x0053, 0x0327, 0x0073, 0x0327,\n    /* 0x0160 .. 0x016f */\n    0x0053, 0x030c, 0x0073, 0x030c, 0x0054, 0x0327, 0x0074, 0x0327,\n    0x0054, 0x030c, 0x0074, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0055, 0x0303, 0x0075, 0x0303, 0x0055, 0x0304, 0x0075, 0x0304,\n    0x0055, 0x0306, 0x0075, 0x0306, 0x0055, 0x030a, 0x0075, 0x030a,\n    /* 0x0170 .. 0x017f */\n    0x0055, 0x030b, 0x0075, 0x030b, 0x0055, 0x0328, 0x0075, 0x0328,\n    0x0057, 0x0302, 0x0077, 0x0302, 0x0059, 0x0302, 0x0079, 0x0302,\n    0x0059, 0x0308, 0x005a, 0x0301, 0x007a, 0x0301, 0x005a, 0x0307,\n    0x007a, 0x0307, 0x005a, 0x030c, 0x007a, 0x030c, 0x0000, 0x0000,\n    /* 0x01a0 .. 0x01af */\n    0x004f, 0x031b, 0x006f, 0x031b, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0055, 0x031b,\n    /* 0x01b0 .. 0x01bf */\n    0x0075, 0x031b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x01c0 .. 0x01cf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0041, 0x030c, 0x0061, 0x030c, 0x0049, 0x030c,\n    /* 0x01d0 .. 0x01df */\n    0x0069, 0x030c, 0x004f, 0x030c, 0x006f, 0x030c, 0x0055, 0x030c,\n    0x0075, 0x030c, 0x00dc, 0x0304, 0x00fc, 0x0304, 0x00dc, 0x0301,\n    0x00fc, 0x0301, 0x00dc, 0x030c, 0x00fc, 0x030c, 0x00dc, 0x0300,\n    0x00fc, 0x0300, 0x0000, 0x0000, 0x00c4, 0x0304, 0x00e4, 0x0304,\n    /* 0x01e0 .. 0x01ef */\n    0x0226, 0x0304, 0x0227, 0x0304, 0x00c6, 0x0304, 0x00e6, 0x0304,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0047, 0x030c, 0x0067, 0x030c,\n    0x004b, 0x030c, 0x006b, 0x030c, 0x004f, 0x0328, 0x006f, 0x0328,\n    0x01ea, 0x0304, 0x01eb, 0x0304, 0x01b7, 0x030c, 0x0292, 0x030c,\n    /* 0x01f0 .. 0x01ff */\n    0x006a, 0x030c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0047, 0x0301, 0x0067, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x004e, 0x0300, 0x006e, 0x0300, 0x00c5, 0x0301, 0x00e5, 0x0301,\n    0x00c6, 0x0301, 0x00e6, 0x0301, 0x00d8, 0x0301, 0x00f8, 0x0301,\n    /* 0x0200 .. 0x020f */\n    0x0041, 0x030f, 0x0061, 0x030f, 0x0041, 0x0311, 0x0061, 0x0311,\n    0x0045, 0x030f, 0x0065, 0x030f, 0x0045, 0x0311, 0x0065, 0x0311,\n    0x0049, 0x030f, 0x0069, 0x030f, 0x0049, 0x0311, 0x0069, 0x0311,\n    0x004f, 0x030f, 0x006f, 0x030f, 0x004f, 0x0311, 0x006f, 0x0311,\n    /* 0x0210 .. 0x021f */\n    0x0052, 0x030f, 0x0072, 0x030f, 0x0052, 0x0311, 0x0072, 0x0311,\n    0x0055, 0x030f, 0x0075, 0x030f, 0x0055, 0x0311, 0x0075, 0x0311,\n    0x0053, 0x0326, 0x0073, 0x0326, 0x0054, 0x0326, 0x0074, 0x0326,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0048, 0x030c, 0x0068, 0x030c,\n    /* 0x0220 .. 0x022f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0041, 0x0307, 0x0061, 0x0307,\n    0x0045, 0x0327, 0x0065, 0x0327, 0x00d6, 0x0304, 0x00f6, 0x0304,\n    0x00d5, 0x0304, 0x00f5, 0x0304, 0x004f, 0x0307, 0x006f, 0x0307,\n    /* 0x0230 .. 0x023f */\n    0x022e, 0x0304, 0x022f, 0x0304, 0x0059, 0x0304, 0x0079, 0x0304,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0340 .. 0x034f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0308, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0380 .. 0x038f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x00a8, 0x0301, 0x0391, 0x0301, 0x0000, 0x0000,\n    0x0395, 0x0301, 0x0397, 0x0301, 0x0399, 0x0301, 0x0000, 0x0000,\n    0x039f, 0x0301, 0x0000, 0x0000, 0x03a5, 0x0301, 0x03a9, 0x0301,\n    /* 0x0390 .. 0x039f */\n    0x03ca, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x03a0 .. 0x03af */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0399, 0x0308, 0x03a5, 0x0308,\n    0x03b1, 0x0301, 0x03b5, 0x0301, 0x03b7, 0x0301, 0x03b9, 0x0301,\n    /* 0x03b0 .. 0x03bf */\n    0x03cb, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x03c0 .. 0x03cf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0308, 0x03c5, 0x0308,\n    0x03bf, 0x0301, 0x03c5, 0x0301, 0x03c9, 0x0301, 0x0000, 0x0000,\n    /* 0x03d0 .. 0x03df */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03d2, 0x0301,\n    0x03d2, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0400 .. 0x040f */\n    0x0415, 0x0300, 0x0415, 0x0308, 0x0000, 0x0000, 0x0413, 0x0301,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0406, 0x0308,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x041a, 0x0301, 0x0418, 0x0300, 0x0423, 0x0306, 0x0000, 0x0000,\n    /* 0x0410 .. 0x041f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0418, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0430 .. 0x043f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0438, 0x0306, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0450 .. 0x045f */\n    0x0435, 0x0300, 0x0435, 0x0308, 0x0000, 0x0000, 0x0433, 0x0301,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0456, 0x0308,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x043a, 0x0301, 0x0438, 0x0300, 0x0443, 0x0306, 0x0000, 0x0000,\n    /* 0x0470 .. 0x047f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0474, 0x030f, 0x0475, 0x030f,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x04c0 .. 0x04cf */\n    0x0000, 0x0000, 0x0416, 0x0306, 0x0436, 0x0306, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x04d0 .. 0x04df */\n    0x0410, 0x0306, 0x0430, 0x0306, 0x0410, 0x0308, 0x0430, 0x0308,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0415, 0x0306, 0x0435, 0x0306,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x04d8, 0x0308, 0x04d9, 0x0308,\n    0x0416, 0x0308, 0x0436, 0x0308, 0x0417, 0x0308, 0x0437, 0x0308,\n    /* 0x04e0 .. 0x04ef */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0418, 0x0304, 0x0438, 0x0304,\n    0x0418, 0x0308, 0x0438, 0x0308, 0x041e, 0x0308, 0x043e, 0x0308,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x04e8, 0x0308, 0x04e9, 0x0308,\n    0x042d, 0x0308, 0x044d, 0x0308, 0x0423, 0x0304, 0x0443, 0x0304,\n    /* 0x04f0 .. 0x04ff */\n    0x0423, 0x0308, 0x0443, 0x0308, 0x0423, 0x030b, 0x0443, 0x030b,\n    0x0427, 0x0308, 0x0447, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x042b, 0x0308, 0x044b, 0x0308, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0620 .. 0x062f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0627, 0x0653, 0x0627, 0x0654,\n    0x0648, 0x0654, 0x0627, 0x0655, 0x064a, 0x0654, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x06c0 .. 0x06cf */\n    0x06d5, 0x0654, 0x0000, 0x0000, 0x06c1, 0x0654, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x06d0 .. 0x06df */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x06d2, 0x0654,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0920 .. 0x092f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0928, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0930 .. 0x093f */\n    0x0000, 0x0000, 0x0930, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0933, 0x093c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0950 .. 0x095f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0915, 0x093c, 0x0916, 0x093c, 0x0917, 0x093c, 0x091c, 0x093c,\n    0x0921, 0x093c, 0x0922, 0x093c, 0x092b, 0x093c, 0x092f, 0x093c,\n    /* 0x09c0 .. 0x09cf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x09c7, 0x09be,\n    0x09c7, 0x09d7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x09d0 .. 0x09df */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x09a1, 0x09bc, 0x09a2, 0x09bc, 0x0000, 0x0000, 0x09af, 0x09bc,\n    /* 0x0a30 .. 0x0a3f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0a32, 0x0a3c,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0a38, 0x0a3c, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0a50 .. 0x0a5f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0a16, 0x0a3c, 0x0a17, 0x0a3c, 0x0a1c, 0x0a3c,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0a2b, 0x0a3c, 0x0000, 0x0000,\n    /* 0x0b40 .. 0x0b4f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0b47, 0x0b56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0b47, 0x0b3e,\n    0x0b47, 0x0b57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0b50 .. 0x0b5f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0b21, 0x0b3c, 0x0b22, 0x0b3c, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0b90 .. 0x0b9f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0b92, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0bc0 .. 0x0bcf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0bc6, 0x0bbe, 0x0bc7, 0x0bbe,\n    0x0bc6, 0x0bd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0c40 .. 0x0c4f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0c46, 0x0c56, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0cc0 .. 0x0ccf */\n    0x0cbf, 0x0cd5, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0cc6, 0x0cd5,\n    0x0cc6, 0x0cd6, 0x0000, 0x0000, 0x0cc6, 0x0cc2, 0x0cca, 0x0cd5,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0d40 .. 0x0d4f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0d46, 0x0d3e, 0x0d47, 0x0d3e,\n    0x0d46, 0x0d57, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0dd0 .. 0x0ddf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0dd9, 0x0dca, 0x0000, 0x0000,\n    0x0dd9, 0x0dcf, 0x0ddc, 0x0dca, 0x0dd9, 0x0ddf, 0x0000, 0x0000,\n    /* 0x0f40 .. 0x0f4f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f42, 0x0fb7,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0f4c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0f50 .. 0x0f5f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0f51, 0x0fb7, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f56, 0x0fb7,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0f5b, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0f60 .. 0x0f6f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0f40, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0f70 .. 0x0f7f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f71, 0x0f72,\n    0x0000, 0x0000, 0x0f71, 0x0f74, 0x0fb2, 0x0f80, 0x0000, 0x0000,\n    0x0fb3, 0x0f80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0f80 .. 0x0f8f */\n    0x0000, 0x0000, 0x0f71, 0x0f80, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0f90 .. 0x0f9f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0f92, 0x0fb7,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0f9c, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0fa0 .. 0x0faf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0fa1, 0x0fb7, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0fa6, 0x0fb7,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0fab, 0x0fb7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x0fb0 .. 0x0fbf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0f90, 0x0fb5, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1020 .. 0x102f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x1025, 0x102e, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1e00 .. 0x1e0f */\n    0x0041, 0x0325, 0x0061, 0x0325, 0x0042, 0x0307, 0x0062, 0x0307,\n    0x0042, 0x0323, 0x0062, 0x0323, 0x0042, 0x0331, 0x0062, 0x0331,\n    0x00c7, 0x0301, 0x00e7, 0x0301, 0x0044, 0x0307, 0x0064, 0x0307,\n    0x0044, 0x0323, 0x0064, 0x0323, 0x0044, 0x0331, 0x0064, 0x0331,\n    /* 0x1e10 .. 0x1e1f */\n    0x0044, 0x0327, 0x0064, 0x0327, 0x0044, 0x032d, 0x0064, 0x032d,\n    0x0112, 0x0300, 0x0113, 0x0300, 0x0112, 0x0301, 0x0113, 0x0301,\n    0x0045, 0x032d, 0x0065, 0x032d, 0x0045, 0x0330, 0x0065, 0x0330,\n    0x0228, 0x0306, 0x0229, 0x0306, 0x0046, 0x0307, 0x0066, 0x0307,\n    /* 0x1e20 .. 0x1e2f */\n    0x0047, 0x0304, 0x0067, 0x0304, 0x0048, 0x0307, 0x0068, 0x0307,\n    0x0048, 0x0323, 0x0068, 0x0323, 0x0048, 0x0308, 0x0068, 0x0308,\n    0x0048, 0x0327, 0x0068, 0x0327, 0x0048, 0x032e, 0x0068, 0x032e,\n    0x0049, 0x0330, 0x0069, 0x0330, 0x00cf, 0x0301, 0x00ef, 0x0301,\n    /* 0x1e30 .. 0x1e3f */\n    0x004b, 0x0301, 0x006b, 0x0301, 0x004b, 0x0323, 0x006b, 0x0323,\n    0x004b, 0x0331, 0x006b, 0x0331, 0x004c, 0x0323, 0x006c, 0x0323,\n    0x1e36, 0x0304, 0x1e37, 0x0304, 0x004c, 0x0331, 0x006c, 0x0331,\n    0x004c, 0x032d, 0x006c, 0x032d, 0x004d, 0x0301, 0x006d, 0x0301,\n    /* 0x1e40 .. 0x1e4f */\n    0x004d, 0x0307, 0x006d, 0x0307, 0x004d, 0x0323, 0x006d, 0x0323,\n    0x004e, 0x0307, 0x006e, 0x0307, 0x004e, 0x0323, 0x006e, 0x0323,\n    0x004e, 0x0331, 0x006e, 0x0331, 0x004e, 0x032d, 0x006e, 0x032d,\n    0x00d5, 0x0301, 0x00f5, 0x0301, 0x00d5, 0x0308, 0x00f5, 0x0308,\n    /* 0x1e50 .. 0x1e5f */\n    0x014c, 0x0300, 0x014d, 0x0300, 0x014c, 0x0301, 0x014d, 0x0301,\n    0x0050, 0x0301, 0x0070, 0x0301, 0x0050, 0x0307, 0x0070, 0x0307,\n    0x0052, 0x0307, 0x0072, 0x0307, 0x0052, 0x0323, 0x0072, 0x0323,\n    0x1e5a, 0x0304, 0x1e5b, 0x0304, 0x0052, 0x0331, 0x0072, 0x0331,\n    /* 0x1e60 .. 0x1e6f */\n    0x0053, 0x0307, 0x0073, 0x0307, 0x0053, 0x0323, 0x0073, 0x0323,\n    0x015a, 0x0307, 0x015b, 0x0307, 0x0160, 0x0307, 0x0161, 0x0307,\n    0x1e62, 0x0307, 0x1e63, 0x0307, 0x0054, 0x0307, 0x0074, 0x0307,\n    0x0054, 0x0323, 0x0074, 0x0323, 0x0054, 0x0331, 0x0074, 0x0331,\n    /* 0x1e70 .. 0x1e7f */\n    0x0054, 0x032d, 0x0074, 0x032d, 0x0055, 0x0324, 0x0075, 0x0324,\n    0x0055, 0x0330, 0x0075, 0x0330, 0x0055, 0x032d, 0x0075, 0x032d,\n    0x0168, 0x0301, 0x0169, 0x0301, 0x016a, 0x0308, 0x016b, 0x0308,\n    0x0056, 0x0303, 0x0076, 0x0303, 0x0056, 0x0323, 0x0076, 0x0323,\n    /* 0x1e80 .. 0x1e8f */\n    0x0057, 0x0300, 0x0077, 0x0300, 0x0057, 0x0301, 0x0077, 0x0301,\n    0x0057, 0x0308, 0x0077, 0x0308, 0x0057, 0x0307, 0x0077, 0x0307,\n    0x0057, 0x0323, 0x0077, 0x0323, 0x0058, 0x0307, 0x0078, 0x0307,\n    0x0058, 0x0308, 0x0078, 0x0308, 0x0059, 0x0307, 0x0079, 0x0307,\n    /* 0x1e90 .. 0x1e9f */\n    0x005a, 0x0302, 0x007a, 0x0302, 0x005a, 0x0323, 0x007a, 0x0323,\n    0x005a, 0x0331, 0x007a, 0x0331, 0x0068, 0x0331, 0x0074, 0x0308,\n    0x0077, 0x030a, 0x0079, 0x030a, 0x0000, 0x0000, 0x017f, 0x0307,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1ea0 .. 0x1eaf */\n    0x0041, 0x0323, 0x0061, 0x0323, 0x0041, 0x0309, 0x0061, 0x0309,\n    0x00c2, 0x0301, 0x00e2, 0x0301, 0x00c2, 0x0300, 0x00e2, 0x0300,\n    0x00c2, 0x0309, 0x00e2, 0x0309, 0x00c2, 0x0303, 0x00e2, 0x0303,\n    0x1ea0, 0x0302, 0x1ea1, 0x0302, 0x0102, 0x0301, 0x0103, 0x0301,\n    /* 0x1eb0 .. 0x1ebf */\n    0x0102, 0x0300, 0x0103, 0x0300, 0x0102, 0x0309, 0x0103, 0x0309,\n    0x0102, 0x0303, 0x0103, 0x0303, 0x1ea0, 0x0306, 0x1ea1, 0x0306,\n    0x0045, 0x0323, 0x0065, 0x0323, 0x0045, 0x0309, 0x0065, 0x0309,\n    0x0045, 0x0303, 0x0065, 0x0303, 0x00ca, 0x0301, 0x00ea, 0x0301,\n    /* 0x1ec0 .. 0x1ecf */\n    0x00ca, 0x0300, 0x00ea, 0x0300, 0x00ca, 0x0309, 0x00ea, 0x0309,\n    0x00ca, 0x0303, 0x00ea, 0x0303, 0x1eb8, 0x0302, 0x1eb9, 0x0302,\n    0x0049, 0x0309, 0x0069, 0x0309, 0x0049, 0x0323, 0x0069, 0x0323,\n    0x004f, 0x0323, 0x006f, 0x0323, 0x004f, 0x0309, 0x006f, 0x0309,\n    /* 0x1ed0 .. 0x1edf */\n    0x00d4, 0x0301, 0x00f4, 0x0301, 0x00d4, 0x0300, 0x00f4, 0x0300,\n    0x00d4, 0x0309, 0x00f4, 0x0309, 0x00d4, 0x0303, 0x00f4, 0x0303,\n    0x1ecc, 0x0302, 0x1ecd, 0x0302, 0x01a0, 0x0301, 0x01a1, 0x0301,\n    0x01a0, 0x0300, 0x01a1, 0x0300, 0x01a0, 0x0309, 0x01a1, 0x0309,\n    /* 0x1ee0 .. 0x1eef */\n    0x01a0, 0x0303, 0x01a1, 0x0303, 0x01a0, 0x0323, 0x01a1, 0x0323,\n    0x0055, 0x0323, 0x0075, 0x0323, 0x0055, 0x0309, 0x0075, 0x0309,\n    0x01af, 0x0301, 0x01b0, 0x0301, 0x01af, 0x0300, 0x01b0, 0x0300,\n    0x01af, 0x0309, 0x01b0, 0x0309, 0x01af, 0x0303, 0x01b0, 0x0303,\n    /* 0x1ef0 .. 0x1eff */\n    0x01af, 0x0323, 0x01b0, 0x0323, 0x0059, 0x0300, 0x0079, 0x0300,\n    0x0059, 0x0323, 0x0079, 0x0323, 0x0059, 0x0309, 0x0079, 0x0309,\n    0x0059, 0x0303, 0x0079, 0x0303, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f00 .. 0x1f0f */\n    0x03b1, 0x0313, 0x03b1, 0x0314, 0x1f00, 0x0300, 0x1f01, 0x0300,\n    0x1f00, 0x0301, 0x1f01, 0x0301, 0x1f00, 0x0342, 0x1f01, 0x0342,\n    0x0391, 0x0313, 0x0391, 0x0314, 0x1f08, 0x0300, 0x1f09, 0x0300,\n    0x1f08, 0x0301, 0x1f09, 0x0301, 0x1f08, 0x0342, 0x1f09, 0x0342,\n    /* 0x1f10 .. 0x1f1f */\n    0x03b5, 0x0313, 0x03b5, 0x0314, 0x1f10, 0x0300, 0x1f11, 0x0300,\n    0x1f10, 0x0301, 0x1f11, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0395, 0x0313, 0x0395, 0x0314, 0x1f18, 0x0300, 0x1f19, 0x0300,\n    0x1f18, 0x0301, 0x1f19, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f20 .. 0x1f2f */\n    0x03b7, 0x0313, 0x03b7, 0x0314, 0x1f20, 0x0300, 0x1f21, 0x0300,\n    0x1f20, 0x0301, 0x1f21, 0x0301, 0x1f20, 0x0342, 0x1f21, 0x0342,\n    0x0397, 0x0313, 0x0397, 0x0314, 0x1f28, 0x0300, 0x1f29, 0x0300,\n    0x1f28, 0x0301, 0x1f29, 0x0301, 0x1f28, 0x0342, 0x1f29, 0x0342,\n    /* 0x1f30 .. 0x1f3f */\n    0x03b9, 0x0313, 0x03b9, 0x0314, 0x1f30, 0x0300, 0x1f31, 0x0300,\n    0x1f30, 0x0301, 0x1f31, 0x0301, 0x1f30, 0x0342, 0x1f31, 0x0342,\n    0x0399, 0x0313, 0x0399, 0x0314, 0x1f38, 0x0300, 0x1f39, 0x0300,\n    0x1f38, 0x0301, 0x1f39, 0x0301, 0x1f38, 0x0342, 0x1f39, 0x0342,\n    /* 0x1f40 .. 0x1f4f */\n    0x03bf, 0x0313, 0x03bf, 0x0314, 0x1f40, 0x0300, 0x1f41, 0x0300,\n    0x1f40, 0x0301, 0x1f41, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x039f, 0x0313, 0x039f, 0x0314, 0x1f48, 0x0300, 0x1f49, 0x0300,\n    0x1f48, 0x0301, 0x1f49, 0x0301, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f50 .. 0x1f5f */\n    0x03c5, 0x0313, 0x03c5, 0x0314, 0x1f50, 0x0300, 0x1f51, 0x0300,\n    0x1f50, 0x0301, 0x1f51, 0x0301, 0x1f50, 0x0342, 0x1f51, 0x0342,\n    0x0000, 0x0000, 0x03a5, 0x0314, 0x0000, 0x0000, 0x1f59, 0x0300,\n    0x0000, 0x0000, 0x1f59, 0x0301, 0x0000, 0x0000, 0x1f59, 0x0342,\n    /* 0x1f60 .. 0x1f6f */\n    0x03c9, 0x0313, 0x03c9, 0x0314, 0x1f60, 0x0300, 0x1f61, 0x0300,\n    0x1f60, 0x0301, 0x1f61, 0x0301, 0x1f60, 0x0342, 0x1f61, 0x0342,\n    0x03a9, 0x0313, 0x03a9, 0x0314, 0x1f68, 0x0300, 0x1f69, 0x0300,\n    0x1f68, 0x0301, 0x1f69, 0x0301, 0x1f68, 0x0342, 0x1f69, 0x0342,\n    /* 0x1f70 .. 0x1f7f */\n    0x03b1, 0x0300, 0x0000, 0x0000, 0x03b5, 0x0300, 0x0000, 0x0000,\n    0x03b7, 0x0300, 0x0000, 0x0000, 0x03b9, 0x0300, 0x0000, 0x0000,\n    0x03bf, 0x0300, 0x0000, 0x0000, 0x03c5, 0x0300, 0x0000, 0x0000,\n    0x03c9, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1f80 .. 0x1f8f */\n    0x1f00, 0x0345, 0x1f01, 0x0345, 0x1f02, 0x0345, 0x1f03, 0x0345,\n    0x1f04, 0x0345, 0x1f05, 0x0345, 0x1f06, 0x0345, 0x1f07, 0x0345,\n    0x1f08, 0x0345, 0x1f09, 0x0345, 0x1f0a, 0x0345, 0x1f0b, 0x0345,\n    0x1f0c, 0x0345, 0x1f0d, 0x0345, 0x1f0e, 0x0345, 0x1f0f, 0x0345,\n    /* 0x1f90 .. 0x1f9f */\n    0x1f20, 0x0345, 0x1f21, 0x0345, 0x1f22, 0x0345, 0x1f23, 0x0345,\n    0x1f24, 0x0345, 0x1f25, 0x0345, 0x1f26, 0x0345, 0x1f27, 0x0345,\n    0x1f28, 0x0345, 0x1f29, 0x0345, 0x1f2a, 0x0345, 0x1f2b, 0x0345,\n    0x1f2c, 0x0345, 0x1f2d, 0x0345, 0x1f2e, 0x0345, 0x1f2f, 0x0345,\n    /* 0x1fa0 .. 0x1faf */\n    0x1f60, 0x0345, 0x1f61, 0x0345, 0x1f62, 0x0345, 0x1f63, 0x0345,\n    0x1f64, 0x0345, 0x1f65, 0x0345, 0x1f66, 0x0345, 0x1f67, 0x0345,\n    0x1f68, 0x0345, 0x1f69, 0x0345, 0x1f6a, 0x0345, 0x1f6b, 0x0345,\n    0x1f6c, 0x0345, 0x1f6d, 0x0345, 0x1f6e, 0x0345, 0x1f6f, 0x0345,\n    /* 0x1fb0 .. 0x1fbf */\n    0x03b1, 0x0306, 0x03b1, 0x0304, 0x1f70, 0x0345, 0x03b1, 0x0345,\n    0x03ac, 0x0345, 0x0000, 0x0000, 0x03b1, 0x0342, 0x1fb6, 0x0345,\n    0x0391, 0x0306, 0x0391, 0x0304, 0x0391, 0x0300, 0x0000, 0x0000,\n    0x0391, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1fc0 .. 0x1fcf */\n    0x0000, 0x0000, 0x00a8, 0x0342, 0x1f74, 0x0345, 0x03b7, 0x0345,\n    0x03ae, 0x0345, 0x0000, 0x0000, 0x03b7, 0x0342, 0x1fc6, 0x0345,\n    0x0395, 0x0300, 0x0000, 0x0000, 0x0397, 0x0300, 0x0000, 0x0000,\n    0x0397, 0x0345, 0x1fbf, 0x0300, 0x1fbf, 0x0301, 0x1fbf, 0x0342,\n    /* 0x1fd0 .. 0x1fdf */\n    0x03b9, 0x0306, 0x03b9, 0x0304, 0x03ca, 0x0300, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x03b9, 0x0342, 0x03ca, 0x0342,\n    0x0399, 0x0306, 0x0399, 0x0304, 0x0399, 0x0300, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1ffe, 0x0300, 0x1ffe, 0x0301, 0x1ffe, 0x0342,\n    /* 0x1fe0 .. 0x1fef */\n    0x03c5, 0x0306, 0x03c5, 0x0304, 0x03cb, 0x0300, 0x0000, 0x0000,\n    0x03c1, 0x0313, 0x03c1, 0x0314, 0x03c5, 0x0342, 0x03cb, 0x0342,\n    0x03a5, 0x0306, 0x03a5, 0x0304, 0x03a5, 0x0300, 0x0000, 0x0000,\n    0x03a1, 0x0314, 0x00a8, 0x0300, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x1ff0 .. 0x1fff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x1f7c, 0x0345, 0x03c9, 0x0345,\n    0x03ce, 0x0345, 0x0000, 0x0000, 0x03c9, 0x0342, 0x1ff6, 0x0345,\n    0x039f, 0x0300, 0x0000, 0x0000, 0x03a9, 0x0300, 0x0000, 0x0000,\n    0x03a9, 0x0345, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2190 .. 0x219f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x2190, 0x0338, 0x2192, 0x0338,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x21a0 .. 0x21af */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x2194, 0x0338, 0x0000, 0x0000,\n    /* 0x21c0 .. 0x21cf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x21d0, 0x0338, 0x21d4, 0x0338, 0x21d2, 0x0338,\n    /* 0x2200 .. 0x220f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2203, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x2208, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x220b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2220 .. 0x222f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2223, 0x0338, 0x0000, 0x0000, 0x2225, 0x0338, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2240 .. 0x224f */\n    0x0000, 0x0000, 0x223c, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2243, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x2245, 0x0338,\n    0x0000, 0x0000, 0x2248, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2260 .. 0x226f */\n    0x003d, 0x0338, 0x0000, 0x0000, 0x2261, 0x0338, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x224d, 0x0338, 0x003c, 0x0338, 0x003e, 0x0338,\n    /* 0x2270 .. 0x227f */\n    0x2264, 0x0338, 0x2265, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2272, 0x0338, 0x2273, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2276, 0x0338, 0x2277, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2280 .. 0x228f */\n    0x227a, 0x0338, 0x227b, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2282, 0x0338, 0x2283, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2286, 0x0338, 0x2287, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x22a0 .. 0x22af */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x22a2, 0x0338, 0x22a8, 0x0338, 0x22a9, 0x0338, 0x22ab, 0x0338,\n    /* 0x22e0 .. 0x22ef */\n    0x227c, 0x0338, 0x227d, 0x0338, 0x2291, 0x0338, 0x2292, 0x0338,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x22b2, 0x0338, 0x22b3, 0x0338,\n    0x22b4, 0x0338, 0x22b5, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x2ad0 .. 0x2adf */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2add, 0x0338, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x3040 .. 0x304f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x304b, 0x3099, 0x0000, 0x0000, 0x304d, 0x3099, 0x0000, 0x0000,\n    /* 0x3050 .. 0x305f */\n    0x304f, 0x3099, 0x0000, 0x0000, 0x3051, 0x3099, 0x0000, 0x0000,\n    0x3053, 0x3099, 0x0000, 0x0000, 0x3055, 0x3099, 0x0000, 0x0000,\n    0x3057, 0x3099, 0x0000, 0x0000, 0x3059, 0x3099, 0x0000, 0x0000,\n    0x305b, 0x3099, 0x0000, 0x0000, 0x305d, 0x3099, 0x0000, 0x0000,\n    /* 0x3060 .. 0x306f */\n    0x305f, 0x3099, 0x0000, 0x0000, 0x3061, 0x3099, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x3064, 0x3099, 0x0000, 0x0000, 0x3066, 0x3099,\n    0x0000, 0x0000, 0x3068, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x3070 .. 0x307f */\n    0x306f, 0x3099, 0x306f, 0x309a, 0x0000, 0x0000, 0x3072, 0x3099,\n    0x3072, 0x309a, 0x0000, 0x0000, 0x3075, 0x3099, 0x3075, 0x309a,\n    0x0000, 0x0000, 0x3078, 0x3099, 0x3078, 0x309a, 0x0000, 0x0000,\n    0x307b, 0x3099, 0x307b, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x3090 .. 0x309f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x3046, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x309d, 0x3099, 0x0000, 0x0000,\n    /* 0x30a0 .. 0x30af */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x30ab, 0x3099, 0x0000, 0x0000, 0x30ad, 0x3099, 0x0000, 0x0000,\n    /* 0x30b0 .. 0x30bf */\n    0x30af, 0x3099, 0x0000, 0x0000, 0x30b1, 0x3099, 0x0000, 0x0000,\n    0x30b3, 0x3099, 0x0000, 0x0000, 0x30b5, 0x3099, 0x0000, 0x0000,\n    0x30b7, 0x3099, 0x0000, 0x0000, 0x30b9, 0x3099, 0x0000, 0x0000,\n    0x30bb, 0x3099, 0x0000, 0x0000, 0x30bd, 0x3099, 0x0000, 0x0000,\n    /* 0x30c0 .. 0x30cf */\n    0x30bf, 0x3099, 0x0000, 0x0000, 0x30c1, 0x3099, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x30c4, 0x3099, 0x0000, 0x0000, 0x30c6, 0x3099,\n    0x0000, 0x0000, 0x30c8, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x30d0 .. 0x30df */\n    0x30cf, 0x3099, 0x30cf, 0x309a, 0x0000, 0x0000, 0x30d2, 0x3099,\n    0x30d2, 0x309a, 0x0000, 0x0000, 0x30d5, 0x3099, 0x30d5, 0x309a,\n    0x0000, 0x0000, 0x30d8, 0x3099, 0x30d8, 0x309a, 0x0000, 0x0000,\n    0x30db, 0x3099, 0x30db, 0x309a, 0x0000, 0x0000, 0x0000, 0x0000,\n    /* 0x30f0 .. 0x30ff */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x30a6, 0x3099, 0x0000, 0x0000, 0x0000, 0x0000, 0x30ef, 0x3099,\n    0x30f0, 0x3099, 0x30f1, 0x3099, 0x30f2, 0x3099, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x30fd, 0x3099, 0x0000, 0x0000,\n    /* 0xfb10 .. 0xfb1f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x05d9, 0x05b4, 0x0000, 0x0000, 0x05f2, 0x05b7,\n    /* 0xfb20 .. 0xfb2f */\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x05e9, 0x05c1, 0x05e9, 0x05c2,\n    0xfb49, 0x05c1, 0xfb49, 0x05c2, 0x05d0, 0x05b7, 0x05d0, 0x05b8,\n    /* 0xfb30 .. 0xfb3f */\n    0x05d0, 0x05bc, 0x05d1, 0x05bc, 0x05d2, 0x05bc, 0x05d3, 0x05bc,\n    0x05d4, 0x05bc, 0x05d5, 0x05bc, 0x05d6, 0x05bc, 0x0000, 0x0000,\n    0x05d8, 0x05bc, 0x05d9, 0x05bc, 0x05da, 0x05bc, 0x05db, 0x05bc,\n    0x05dc, 0x05bc, 0x0000, 0x0000, 0x05de, 0x05bc, 0x0000, 0x0000,\n    /* 0xfb40 .. 0xfb4f */\n    0x05e0, 0x05bc, 0x05e1, 0x05bc, 0x0000, 0x0000, 0x05e3, 0x05bc,\n    0x05e4, 0x05bc, 0x0000, 0x0000, 0x05e6, 0x05bc, 0x05e7, 0x05bc,\n    0x05e8, 0x05bc, 0x05e9, 0x05bc, 0x05ea, 0x05bc, 0x05d5, 0x05b9,\n    0x05d1, 0x05bf, 0x05db, 0x05bf, 0x05e4, 0x05bf, 0x0000, 0x0000\n};\n"
  },
  {
    "path": "Project/Unicode/Source/cptable.cpp",
    "content": "/*\n * Codepage tables\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n#include \"StdAfx.h\"\n//#include <stdlib.h>\n\n#include \"unicode.h\"\n\n/* Everything below this line is generated automatically by cpmap.pl */\n/* ### cpmap begin ### */\n\n\nstatic const union cptable * const cptables[60] =\n{\n    (const union cptable *)&cptable_037,\n    (const union cptable *)&cptable_042,\n    (const union cptable *)&cptable_424,\n    (const union cptable *)&cptable_437,\n    (const union cptable *)&cptable_500,\n    (const union cptable *)&cptable_737,\n    (const union cptable *)&cptable_775,\n    (const union cptable *)&cptable_850,\n    (const union cptable *)&cptable_852,\n    (const union cptable *)&cptable_855,\n    (const union cptable *)&cptable_856,\n    (const union cptable *)&cptable_857,\n    (const union cptable *)&cptable_860,\n    (const union cptable *)&cptable_861,\n    (const union cptable *)&cptable_862,\n    (const union cptable *)&cptable_863,\n    (const union cptable *)&cptable_864,\n    (const union cptable *)&cptable_865,\n    (const union cptable *)&cptable_866,\n    (const union cptable *)&cptable_869,\n    (const union cptable *)&cptable_874,\n    (const union cptable *)&cptable_875,\n    (const union cptable *)&cptable_878,\n    (const union cptable *)&cptable_932,\n    (const union cptable *)&cptable_936,\n    (const union cptable *)&cptable_949,\n    (const union cptable *)&cptable_950,\n    (const union cptable *)&cptable_1006,\n    (const union cptable *)&cptable_1026,\n    (const union cptable *)&cptable_1250,\n    (const union cptable *)&cptable_1251,\n    (const union cptable *)&cptable_1252,\n    (const union cptable *)&cptable_1253,\n    (const union cptable *)&cptable_1254,\n    (const union cptable *)&cptable_1255,\n    (const union cptable *)&cptable_1256,\n    (const union cptable *)&cptable_1257,\n    (const union cptable *)&cptable_1258,\n    (const union cptable *)&cptable_10000,\n    (const union cptable *)&cptable_10006,\n    (const union cptable *)&cptable_10007,\n    (const union cptable *)&cptable_10029,\n    (const union cptable *)&cptable_10079,\n    (const union cptable *)&cptable_10081,\n    (const union cptable *)&cptable_20866,\n    (const union cptable *)&cptable_20932,\n    (const union cptable *)&cptable_28591,\n    (const union cptable *)&cptable_28592,\n    (const union cptable *)&cptable_28593,\n    (const union cptable *)&cptable_28594,\n    (const union cptable *)&cptable_28595,\n    (const union cptable *)&cptable_28596,\n    (const union cptable *)&cptable_28597,\n    (const union cptable *)&cptable_28598,\n    (const union cptable *)&cptable_28599,\n    (const union cptable *)&cptable_28600,\n    (const union cptable *)&cptable_28603,\n    (const union cptable *)&cptable_28604,\n    (const union cptable *)&cptable_28605,\n    (const union cptable *)&cptable_28606,\n};\n/* ### cpmap end ### */\n/* Everything above this line is generated automatically by cpmap.pl */\n\n#define NB_CODEPAGES  (sizeof(cptables)/sizeof(cptables[0]))\n\n\nstatic int __cdecl cmp_codepage( unsigned int codepage, const void *entry )\n{\n    return (unsigned int)codepage - (*(union cptable **)entry)->info.codepage;\n}\n\n\n/* get the table of a given code page */\nconst union cptable *cp_get_table( unsigned int codepage )\n{\n\tint i = 0;\n    //const union cptable **res;\n\t\n\tfor(;i<NB_CODEPAGES;i++)\n\t{\n\t\tif(cptables[i]->info.codepage == codepage)\n\t\t\treturn cptables[i];\n\t}\n\treturn NULL;\n\t/*\n    if (!(res = (const union cptable **)bsearch( (void *)codepage, cptables, NB_CODEPAGES,\n                         sizeof(cptables[0]), cmp_codepage ))) return NULL;\n\t\t\t\t\t\t \n    return *res;*/\n}\n\n\n/* enum valid codepages */\nconst union cptable *cp_enum_table( unsigned int index )\n{\n    if (index >= NB_CODEPAGES) return NULL;\n    return cptables[index];\n}\n"
  },
  {
    "path": "Project/Unicode/Source/mbtowc.cpp",
    "content": "/*\n * MultiByteToWideChar implementation\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n#include \"StdAfx.h\"\n//#include <string.h>\n\n//#include \"winnls.h\"\n#include \"unicode.h\"\n\n/* get the decomposition of a Unicode char */\n\n    //extern const WCHAR unicode_decompose_table[];\nstatic int get_decomposition( WCHAR src, WCHAR *dst, unsigned int dstlen )\n{\n    const WCHAR *ptr = unicode_decompose_table;\n    int res;\n\n    *dst = src;\n    ptr = unicode_decompose_table + ptr[src >> 8];\n    ptr = unicode_decompose_table + ptr[(src >> 4) & 0x0f] + 2 * (src & 0x0f);\n    if (!*ptr) return 1;\n    if (dstlen <= 1) return 0;\n    /* apply the decomposition recursively to the first char */\n    if ((res = get_decomposition( *ptr, dst, dstlen-1 ))) dst[res++] = ptr[1];\n    return res;\n}\n\n/* check src string for invalid chars; return non-zero if invalid char found */\nstatic inline int check_invalid_chars_sbcs( const struct sbcs_table *table,\n                                            const unsigned char *src, unsigned int srclen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    while (srclen)\n    {\n        if (cp2uni[*src] == table->info.def_unicode_char && *src != table->info.def_char)\n            break;\n        src++;\n        srclen--;\n    }\n    return srclen;\n}\n\n/* mbstowcs for single-byte code page */\n/* all lengths are in characters, not bytes */\nstatic inline int mbstowcs_sbcs( const struct sbcs_table *table,\n                                 const unsigned char *src, unsigned int srclen,\n                                 WCHAR *dst, unsigned int dstlen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    int ret = srclen;\n\n    if (dstlen < srclen)\n    {\n        /* buffer too small: fill it up to dstlen and return error */\n        srclen = dstlen;\n        ret = -1;\n    }\n\n    for (;;)\n    {\n        switch(srclen)\n        {\n        default:\n        case 16: dst[15] = cp2uni[src[15]];\n        case 15: dst[14] = cp2uni[src[14]];\n        case 14: dst[13] = cp2uni[src[13]];\n        case 13: dst[12] = cp2uni[src[12]];\n        case 12: dst[11] = cp2uni[src[11]];\n        case 11: dst[10] = cp2uni[src[10]];\n        case 10: dst[9]  = cp2uni[src[9]];\n        case 9:  dst[8]  = cp2uni[src[8]];\n        case 8:  dst[7]  = cp2uni[src[7]];\n        case 7:  dst[6]  = cp2uni[src[6]];\n        case 6:  dst[5]  = cp2uni[src[5]];\n        case 5:  dst[4]  = cp2uni[src[4]];\n        case 4:  dst[3]  = cp2uni[src[3]];\n        case 3:  dst[2]  = cp2uni[src[2]];\n        case 2:  dst[1]  = cp2uni[src[1]];\n        case 1:  dst[0]  = cp2uni[src[0]];\n        case 0: break;\n        }\n        if (srclen < 16) return ret;\n        dst += 16;\n        src += 16;\n        srclen -= 16;\n    }\n}\n\n/* mbstowcs for single-byte code page with char decomposition */\nstatic int mbstowcs_sbcs_decompose( const struct sbcs_table *table,\n                                    const unsigned char *src, unsigned int srclen,\n                                    WCHAR *dst, unsigned int dstlen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    unsigned int len;\n\n    if (!dstlen)  /* compute length */\n    {\n        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */\n        for (len = 0; srclen; srclen--, src++)\n            len += get_decomposition( cp2uni[*src], dummy, 4 );\n        return len;\n    }\n\n    for (len = dstlen; srclen && len; srclen--, src++)\n    {\n        int res = get_decomposition( cp2uni[*src], dst, len );\n        if (!res) break;\n        len -= res;\n        dst += res;\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n/* query necessary dst length for src string */\nstatic inline int get_length_dbcs( const struct dbcs_table *table,\n                                   const unsigned char *src, unsigned int srclen )\n{\n    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;\n    int len;\n\n    for (len = 0; srclen; srclen--, src++, len++)\n    {\n        if (cp2uni_lb[*src])\n        {\n            if (!--srclen) break;  /* partial char, ignore it */\n            src++;\n        }\n    }\n    return len;\n}\n\n/* check src string for invalid chars; return non-zero if invalid char found */\nstatic inline int check_invalid_chars_dbcs( const struct dbcs_table *table,\n                                            const unsigned char *src, unsigned int srclen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;\n\n    while (srclen)\n    {\n        unsigned char off = cp2uni_lb[*src];\n        if (off)  /* multi-byte char */\n        {\n            if (srclen == 1) break;  /* partial char, error */\n            if (cp2uni[(off << 8) + src[1]] == table->info.def_unicode_char &&\n                ((src[0] << 8) | src[1]) != table->info.def_char) break;\n            src++;\n            srclen--;\n        }\n        else if (cp2uni[*src] == table->info.def_unicode_char &&\n                 *src != table->info.def_char) break;\n        src++;\n        srclen--;\n    }\n    return srclen;\n}\n\n/* mbstowcs for double-byte code page */\n/* all lengths are in characters, not bytes */\nstatic inline int mbstowcs_dbcs( const struct dbcs_table *table,\n                                 const unsigned char *src, unsigned int srclen,\n                                 WCHAR *dst, unsigned int dstlen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;\n    unsigned int len;\n\n    if (!dstlen) return get_length_dbcs( table, src, srclen );\n\n    for (len = dstlen; srclen && len; len--, srclen--, src++, dst++)\n    {\n        unsigned char off = cp2uni_lb[*src];\n        if (off)\n        {\n            if (!--srclen) break;  /* partial char, ignore it */\n            src++;\n            *dst = cp2uni[(off << 8) + *src];\n        }\n        else *dst = cp2uni[*src];\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n\n/* mbstowcs for double-byte code page with character decomposition */\nstatic int mbstowcs_dbcs_decompose( const struct dbcs_table *table,\n                                    const unsigned char *src, unsigned int srclen,\n                                    WCHAR *dst, unsigned int dstlen )\n{\n    const WCHAR * const cp2uni = table->cp2uni;\n    const unsigned char * const cp2uni_lb = table->cp2uni_leadbytes;\n    unsigned int len;\n    WCHAR ch;\n    int res;\n\n    if (!dstlen)  /* compute length */\n    {\n        WCHAR dummy[4]; /* no decomposition is larger than 4 chars */\n        for (len = 0; srclen; srclen--, src++)\n        {\n            unsigned char off = cp2uni_lb[*src];\n            if (off)\n            {\n                if (!--srclen) break;  /* partial char, ignore it */\n                src++;\n                ch = cp2uni[(off << 8) + *src];\n            }\n            else ch = cp2uni[*src];\n            len += get_decomposition( ch, dummy, 4 );\n        }\n        return len;\n    }\n\n    for (len = dstlen; srclen && len; srclen--, src++)\n    {\n        unsigned char off = cp2uni_lb[*src];\n        if (off)\n        {\n            if (!--srclen) break;  /* partial char, ignore it */\n            src++;\n            ch = cp2uni[(off << 8) + *src];\n        }\n        else ch = cp2uni[*src];\n        if (!(res = get_decomposition( ch, dst, len ))) break;\n        dst += res;\n        len -= res;\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n\n/* return -1 on dst buffer overflow, -2 on invalid input char */\nint cp_mbstowcs( const union cptable *table, int flags,\n                 const char *src, int srclen,\n                 WCHAR *dst, int dstlen )\n{\n    if (table->info.char_size == 1)\n    {\n        if (flags & MB_ERR_INVALID_CHARS)\n        {\n            if (check_invalid_chars_sbcs( &table->sbcs,(const unsigned char *) src, srclen )) return -2;\n        }\n        if (!(flags & MB_COMPOSITE))\n        {\n            if (!dstlen) return srclen;\n            return mbstowcs_sbcs( &table->sbcs,(const unsigned char *)src, srclen, dst, dstlen );\n        }\n        return mbstowcs_sbcs_decompose( &table->sbcs,(const unsigned char *)src, srclen, dst, dstlen );\n    }\n    else /* mbcs */\n    {\n        if (flags & MB_ERR_INVALID_CHARS)\n        {\n            if (check_invalid_chars_dbcs((const struct dbcs_table *)&table->dbcs,(const unsigned char *) src, srclen )) return -2;\n        }\n        if (!(flags & MB_COMPOSITE))\n            return mbstowcs_dbcs( &table->dbcs,(const unsigned char *)src, srclen, dst, dstlen );\n        else\n            return mbstowcs_dbcs_decompose( &table->dbcs,(const unsigned char *)src, srclen, dst, dstlen );\n    }\n}\n"
  },
  {
    "path": "Project/Unicode/Source/string.cpp",
    "content": "/*\n * Unicode string manipulation functions\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n#include \"StdAfx.h\"\n//#include <limits.h>\n\n#include \"unicode.h\"\n\nint strcmpiW( const WCHAR *str1, const WCHAR *str2 )\n{\n    for (;;)\n    {\n        int ret = toupperW(*str1) - toupperW(*str2);\n        if (ret || !*str1) return ret;\n        str1++;\n        str2++;\n    }\n}\n\nint strncmpiW( const WCHAR *str1, const WCHAR *str2, int n )\n{\n    int ret = 0;\n    for ( ; n > 0; n--, str1++, str2++)\n        if ((ret = toupperW(*str1) - toupperW(*str2)) || !*str1) break;\n    return ret;\n}\n\nWCHAR *strstrW( const WCHAR *str, const WCHAR *sub )\n{\n    while (*str)\n    {\n        const WCHAR *p1 = str, *p2 = sub;\n        while (*p1 && *p2 && *p1 == *p2) { p1++; p2++; }\n        if (!*p2) return (WCHAR *)str;\n        str++;\n    }\n    return NULL;\n}\n\n/* strtolW and strtoulW implementation based on the GNU C library code */\n/* Copyright (C) 1991,92,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc. */\n\nlong int strtolW( const WCHAR *nptr, WCHAR **endptr, int base )\n{\n  int negative;\n  register unsigned long int cutoff;\n  register unsigned int cutlim;\n  register unsigned long int i;\n  register const WCHAR *s;\n  register WCHAR c;\n  const WCHAR *save, *end;\n  int overflow;\n\n  if (base < 0 || base == 1 || base > 36) return 0;\n\n  save = s = nptr;\n\n  /* Skip white space.  */\n  while (isspaceW (*s))\n    ++s;\n  if (!*s) goto noconv;\n\n  /* Check for a sign.  */\n  negative = 0;\n  if (*s == '-')\n    {\n      negative = 1;\n      ++s;\n    }\n  else if (*s == '+')\n    ++s;\n\n  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */\n  if (*s == '0')\n    {\n      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')\n\t{\n\t  s += 2;\n\t  base = 16;\n\t}\n      else if (base == 0)\n\tbase = 8;\n    }\n  else if (base == 0)\n    base = 10;\n\n  /* Save the pointer so we can check later if anything happened.  */\n  save = s;\n  end = NULL;\n\n  cutoff = ULONG_MAX / (unsigned long int) base;\n  cutlim = ULONG_MAX % (unsigned long int) base;\n\n  overflow = 0;\n  i = 0;\n  c = *s;\n  for (;c != '\\0'; c = *++s)\n  {\n      if (s == end)\n          break;\n      if (c >= '0' && c <= '9')\n          c -= '0';\n      else if (isalphaW (c))\n          c = toupperW (c) - 'A' + 10;\n      else\n          break;\n      if ((int) c >= base)\n          break;\n      /* Check for overflow.  */\n      if (i > cutoff || (i == cutoff && c > cutlim))\n          overflow = 1;\n      else\n      {\n          i *= (unsigned long int) base;\n          i += c;\n      }\n  }\n\n  /* Check if anything actually happened.  */\n  if (s == save)\n    goto noconv;\n\n  /* Store in ENDPTR the address of one character\n     past the last character we converted.  */\n  if (endptr != NULL)\n    *endptr = (WCHAR *)s;\n\n  /* Check for a value that is within the range of\n     `unsigned LONG int', but outside the range of `LONG int'.  */\n  if (overflow == 0\n      && i > (negative\n\t      ?1 -((unsigned long int) (LONG_MIN + 1))\n\t      : (unsigned long int) LONG_MAX))\n    overflow = 1;\n\n  if (overflow)\n    {\n      return negative ? LONG_MIN : LONG_MAX;\n    }\n\n  /* Return the result of the appropriate sign.  */\n  return negative ? 0-i : i;\n\nnoconv:\n  /* We must handle a special case here: the base is 0 or 16 and the\n     first two characters are '0' and 'x', but the rest are no\n     hexadecimal digits.  This is no error case.  We return 0 and\n     ENDPTR points to the `x`.  */\n  if (endptr != NULL)\n    {\n      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'\n\t  && save[-2] == '0')\n\t*endptr = (WCHAR *)&save[-1];\n      else\n\t/*  There was no number to convert.  */\n\t*endptr = (WCHAR *)nptr;\n    }\n\n  return 0L;\n}\n\n\nunsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base )\n{\n  int negative;\n  register unsigned long int cutoff;\n  register unsigned int cutlim;\n  register unsigned long int i;\n  register const WCHAR *s;\n  register WCHAR c;\n  const WCHAR *save, *end;\n  int overflow;\n\n  if (base < 0 || base == 1 || base > 36) return 0;\n\n  save = s = nptr;\n\n  /* Skip white space.  */\n  while (isspaceW (*s))\n    ++s;\n  if (!*s) goto noconv;\n\n  /* Check for a sign.  */\n  negative = 0;\n  if (*s == '-')\n    {\n      negative = 1;\n      ++s;\n    }\n  else if (*s == '+')\n    ++s;\n\n  /* Recognize number prefix and if BASE is zero, figure it out ourselves.  */\n  if (*s == '0')\n    {\n      if ((base == 0 || base == 16) && toupperW(s[1]) == 'X')\n\t{\n\t  s += 2;\n\t  base = 16;\n\t}\n      else if (base == 0)\n\tbase = 8;\n    }\n  else if (base == 0)\n    base = 10;\n\n  /* Save the pointer so we can check later if anything happened.  */\n  save = s;\n  end = NULL;\n\n  cutoff = ULONG_MAX / (unsigned long int) base;\n  cutlim = ULONG_MAX % (unsigned long int) base;\n\n  overflow = 0;\n  i = 0;\n  c = *s;\n  for (;c != '\\0'; c = *++s)\n  {\n      if (s == end)\n          break;\n      if (c >= '0' && c <= '9')\n          c -= '0';\n      else if (isalphaW (c))\n          c = toupperW (c) - 'A' + 10;\n      else\n          break;\n      if ((int) c >= base)\n          break;\n      /* Check for overflow.  */\n      if (i > cutoff || (i == cutoff && c > cutlim))\n          overflow = 1;\n      else\n      {\n          i *= (unsigned long int) base;\n          i += c;\n      }\n  }\n\n  /* Check if anything actually happened.  */\n  if (s == save)\n    goto noconv;\n\n  /* Store in ENDPTR the address of one character\n     past the last character we converted.  */\n  if (endptr != NULL)\n    *endptr = (WCHAR *)s;\n\n  if (overflow)\n    {\n      return ULONG_MAX;\n    }\n\n  /* Return the result of the appropriate sign.  */\n  return negative ? 0-i : i;\n\nnoconv:\n  /* We must handle a special case here: the base is 0 or 16 and the\n     first two characters are '0' and 'x', but the rest are no\n     hexadecimal digits.  This is no error case.  We return 0 and\n     ENDPTR points to the `x`.  */\n  if (endptr != NULL)\n    {\n      if (save - nptr >= 2 && toupperW (save[-1]) == 'X'\n\t  && save[-2] == '0')\n\t*endptr = (WCHAR *)&save[-1];\n      else\n\t/*  There was no number to convert.  */\n\t*endptr = (WCHAR *)nptr;\n    }\n\n  return 0L;\n}\n"
  },
  {
    "path": "Project/Unicode/Source/test.cpp",
    "content": "#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include \"unicode.h\"\n/*\nextern int cp_mbstowcs( const union cptable *table, int flags,\n                        const char *src, int srclen,\n                        WCHAR *dst, int dstlen );\n\nint utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen )\n*/\nvoid test2()\n{\n\tWCHAR dst[0x100];\n\tint ret = 0,i;\n\tint dstlen = 0x100;\n\tchar *src=NULL;\n\tint len = 0;\n\tFILE *fp;\n#ifdef WIN32\n\tfp = fopen(\".\\\\testfile\\\\demo.utf8.txt\",\"r\");\n#else\n\tfp = fopen(\"./testfile/demo.utf8.txt\",\"r\");\n#endif\n\tif(fp != NULL)\n\t{\n\t\tfseek(fp,0,SEEK_END);\n\t\tlen = ftell(fp);\n\t\tfseek(fp,0,SEEK_SET);\n\t\tsrc =(char *) malloc(sizeof(char)*len);\n\t\tfread(src,1,len,fp);\n\t\tfclose(fp);\n\t}\n\tprintf(\"src = \");\n\tfor(i = 0; i < len; i++)\n\t\tprintf(\"%x \",src[i]);\n\tprintf(\"\\n\");\n\tprintf(\"srclen = %d\\n\",len);\n\n\tret = utf8_mbstowcs(0,src,len,dst,dstlen);\n\tfwrite(dst,1,sizeof(WCHAR)*ret,stderr);\n\tfwrite(\"\\n\",1,strlen(\"\\n\"),stderr);\n\tprintf(\"dst = \");\n\tfor(i = 0; i < ret; i++)\n\t\tprintf(\"%x \",dst[i]);\n\tprintf(\"\\n\");\n\tprintf(\"dstlen = %d\\n\",ret);\n\treturn ;\n}\nint main(int argc, char *argv[])\n{\n\tconst union cptable *table;\n\tWCHAR dst[0x100];\n\tint ret = 0,i;\n\tint dstlen = 0x100;\n\tchar *src=NULL;\n\tint len = 0;\n\tFILE *fp;\n\t//test2();\n\t//return 0;\n\ttable = cp_get_table(936);\n#ifdef WIN32\n\tfp = fopen(\".\\\\testfile\\\\demo.ansi.txt\",\"r\");\n#else\n\tfp = fopen(\"./testfile/demo.ansi.txt\",\"r\");\n#endif\n\tif(fp != NULL)\n\t{\n\t\tfseek(fp,0,SEEK_END);\n\t\tlen = ftell(fp);\n\t\tfseek(fp,0,SEEK_SET);\n\t\tsrc = (char *)malloc(sizeof(char)*len);\n\t\tfread(src,1,len,fp);\n\t\tfclose(fp);\n\t}\n\tret =\tcp_mbstowcs(table,0,src,len,dst,dstlen);\n\tfwrite(dst,1,sizeof(WCHAR)*ret,stderr);\n\tfor(i = 0; i < ret; i++)\n\t\tprintf(\"%x \",dst[i]);\n\tprintf(\"\\n\");\n\tprintf(\"%d\\n\",ret);\n\tgetchar();\n\treturn 0;\n}\n"
  },
  {
    "path": "Project/Unicode/Source/testfile/demo.ansi.txt",
    "content": "л񹲺͹\n"
  },
  {
    "path": "Project/Unicode/Source/testfile/demo.unicode.txt",
    "content": "﻿中华人民共和国"
  },
  {
    "path": "Project/Unicode/Source/testfile/demo.unicode_big_endian.txt",
    "content": "﻿中华人民共和国"
  },
  {
    "path": "Project/Unicode/Source/testfile/demo.utf8.txt",
    "content": "﻿中华人民共和国"
  },
  {
    "path": "Project/Unicode/Source/unicode.h",
    "content": "/*\n * Wine internal Unicode definitions\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n\n#ifndef __WINE_UNICODE_H\n#define __WINE_UNICODE_H\n\n#define _UNICODE_VALID_\n\nextern const struct  sbcs_table cptable_037;\nextern const struct  sbcs_table cptable_042;\nextern const struct  sbcs_table cptable_424;\nextern const struct  sbcs_table cptable_437;\nextern const struct  sbcs_table cptable_500;\nextern const struct  sbcs_table cptable_737;\nextern const struct  sbcs_table cptable_775;\nextern const struct  sbcs_table cptable_850;\nextern const struct  sbcs_table cptable_852;\nextern const struct  sbcs_table cptable_855;\nextern const struct  sbcs_table cptable_856;\nextern const struct  sbcs_table cptable_857;\nextern const struct  sbcs_table cptable_860;\nextern const struct  sbcs_table cptable_861;\nextern const struct  sbcs_table cptable_862;\nextern const struct  sbcs_table cptable_863;\nextern const struct  sbcs_table cptable_864;\nextern const struct  sbcs_table cptable_865;\nextern const struct  sbcs_table cptable_866;\nextern const struct  sbcs_table cptable_869;\nextern const struct  sbcs_table cptable_874;\nextern const struct  sbcs_table cptable_875;\nextern const struct  sbcs_table cptable_878;\nextern const struct  dbcs_table cptable_932;\nextern const struct  dbcs_table cptable_936;\nextern const struct  dbcs_table cptable_949;\nextern const struct  dbcs_table cptable_950;\nextern const struct  sbcs_table cptable_1006;\nextern const struct  sbcs_table cptable_1026;\nextern const struct  sbcs_table cptable_1250;\nextern const struct  sbcs_table cptable_1251;\nextern const struct  sbcs_table cptable_1252;\nextern const struct  sbcs_table cptable_1253;\nextern const struct  sbcs_table cptable_1254;\nextern const struct  sbcs_table cptable_1255;\nextern const struct  sbcs_table cptable_1256;\nextern const struct  sbcs_table cptable_1257;\nextern const struct  sbcs_table cptable_1258;\nextern const struct  sbcs_table cptable_10000;\nextern const struct  sbcs_table cptable_10006;\nextern const struct  sbcs_table cptable_10007;\nextern const struct  sbcs_table cptable_10029;\nextern const struct  sbcs_table cptable_10079;\nextern const struct  sbcs_table cptable_10081;\nextern const struct  sbcs_table cptable_20866;\nextern const struct  dbcs_table cptable_20932;\nextern const struct  sbcs_table cptable_28591;\nextern const struct  sbcs_table cptable_28592;\nextern const struct  sbcs_table cptable_28593;\nextern const struct  sbcs_table cptable_28594;\nextern const struct  sbcs_table cptable_28595;\nextern const struct  sbcs_table cptable_28596;\nextern const struct  sbcs_table cptable_28597;\nextern const struct  sbcs_table cptable_28598;\nextern const struct  sbcs_table cptable_28599;\nextern const struct  sbcs_table cptable_28600;\nextern const struct  sbcs_table cptable_28603;\nextern const struct  sbcs_table cptable_28604;\nextern const struct  sbcs_table cptable_28605;\nextern const struct  sbcs_table cptable_28606;\n\n\n\n\n\n\n\n\n\n#undef NULL\n#ifdef __cplusplus\n#define NULL  0\n#else\n#define NULL  ((void*)0)\n#endif\n\n\n\n#define MB_PRECOMPOSED              0x00000001\n#define MB_COMPOSITE                0x00000002\n#define MB_USEGLYPHCHARS            0x00000004\n#define MB_ERR_INVALID_CHARS        0x00000008\n\n#define LCID_INSTALLED              0x00000001\n\n/* flags to GetLocaleInfo */\n#define\tLOCALE_NOUSEROVERRIDE\t    0x80000000\n#define\tLOCALE_USE_CP_ACP\t    0x40000000\n#define\tLOCALE_RETURN_NUMBER\t    0x20000000\n\n/* When adding new defines, don't forget to add an entry to the\n * locale_name2id map in ole/ole2nls.c\n */\n#define LOCALE_ILANGUAGE            0x00000001\n#define LOCALE_SLANGUAGE            0x00000002\n#define LOCALE_SENGLANGUAGE         0x00001001\n#define LOCALE_SABBREVLANGNAME      0x00000003\n#define LOCALE_SNATIVELANGNAME      0x00000004\n#define LOCALE_ICOUNTRY             0x00000005\n#define LOCALE_SCOUNTRY             0x00000006\n#define LOCALE_SENGCOUNTRY          0x00001002\n#define LOCALE_SABBREVCTRYNAME      0x00000007\n#define LOCALE_SNATIVECTRYNAME      0x00000008\n#define LOCALE_IDEFAULTLANGUAGE     0x00000009\n#define LOCALE_IDEFAULTCOUNTRY      0x0000000A\n#define LOCALE_IDEFAULTCODEPAGE     0x0000000B\n#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004\n#define LOCALE_IDEFAULTMACCODEPAGE  0x00001011\n#define LOCALE_SLIST                0x0000000C\n#define LOCALE_IMEASURE             0x0000000D\n#define LOCALE_SDECIMAL             0x0000000E\n#define LOCALE_STHOUSAND            0x0000000F\n#define LOCALE_SGROUPING            0x00000010\n#define LOCALE_IDIGITS              0x00000011\n#define LOCALE_ILZERO               0x00000012\n#define LOCALE_INEGNUMBER           0x00001010\n#define LOCALE_SNATIVEDIGITS        0x00000013\n#define LOCALE_SCURRENCY            0x00000014\n#define LOCALE_SINTLSYMBOL          0x00000015\n#define LOCALE_SMONDECIMALSEP       0x00000016\n#define LOCALE_SMONTHOUSANDSEP      0x00000017\n#define LOCALE_SMONGROUPING         0x00000018\n#define LOCALE_ICURRDIGITS          0x00000019\n#define LOCALE_IINTLCURRDIGITS      0x0000001A\n#define LOCALE_ICURRENCY            0x0000001B\n#define LOCALE_INEGCURR             0x0000001C\n#define LOCALE_SDATE                0x0000001D\n#define LOCALE_STIME                0x0000001E\n#define LOCALE_SSHORTDATE           0x0000001F\n#define LOCALE_SLONGDATE            0x00000020\n#define LOCALE_STIMEFORMAT          0x00001003\n#define LOCALE_IDATE                0x00000021\n#define LOCALE_ILDATE               0x00000022\n#define LOCALE_ITIME                0x00000023\n#define LOCALE_ITIMEMARKPOSN        0x00001005\n#define LOCALE_ICENTURY             0x00000024\n#define LOCALE_ITLZERO              0x00000025\n#define LOCALE_IDAYLZERO            0x00000026\n#define LOCALE_IMONLZERO            0x00000027\n#define LOCALE_S1159                0x00000028\n#define LOCALE_S2359                0x00000029\n#define LOCALE_ICALENDARTYPE        0x00001009\n#define LOCALE_IOPTIONALCALENDAR    0x0000100B\n#define LOCALE_IFIRSTDAYOFWEEK      0x0000100C\n#define LOCALE_IFIRSTWEEKOFYEAR     0x0000100D\n#define LOCALE_SDAYNAME1            0x0000002A\n#define LOCALE_SDAYNAME2            0x0000002B\n#define LOCALE_SDAYNAME3            0x0000002C\n#define LOCALE_SDAYNAME4            0x0000002D\n#define LOCALE_SDAYNAME5            0x0000002E\n#define LOCALE_SDAYNAME6            0x0000002F\n#define LOCALE_SDAYNAME7            0x00000030\n#define LOCALE_SABBREVDAYNAME1      0x00000031\n#define LOCALE_SABBREVDAYNAME2      0x00000032\n#define LOCALE_SABBREVDAYNAME3      0x00000033\n#define LOCALE_SABBREVDAYNAME4      0x00000034\n#define LOCALE_SABBREVDAYNAME5      0x00000035\n#define LOCALE_SABBREVDAYNAME6      0x00000036\n#define LOCALE_SABBREVDAYNAME7      0x00000037\n#define LOCALE_SMONTHNAME1          0x00000038\n#define LOCALE_SMONTHNAME2          0x00000039\n#define LOCALE_SMONTHNAME3          0x0000003A\n#define LOCALE_SMONTHNAME4          0x0000003B\n#define LOCALE_SMONTHNAME5          0x0000003C\n#define LOCALE_SMONTHNAME6          0x0000003D\n#define LOCALE_SMONTHNAME7          0x0000003E\n#define LOCALE_SMONTHNAME8          0x0000003F\n#define LOCALE_SMONTHNAME9          0x00000040\n#define LOCALE_SMONTHNAME10         0x00000041\n#define LOCALE_SMONTHNAME11         0x00000042\n#define LOCALE_SMONTHNAME12         0x00000043\n#define LOCALE_SMONTHNAME13         0x0000100E\n#define LOCALE_SABBREVMONTHNAME1    0x00000044\n#define LOCALE_SABBREVMONTHNAME2    0x00000045\n#define LOCALE_SABBREVMONTHNAME3    0x00000046\n#define LOCALE_SABBREVMONTHNAME4    0x00000047\n#define LOCALE_SABBREVMONTHNAME5    0x00000048\n#define LOCALE_SABBREVMONTHNAME6    0x00000049\n#define LOCALE_SABBREVMONTHNAME7    0x0000004A\n#define LOCALE_SABBREVMONTHNAME8    0x0000004B\n#define LOCALE_SABBREVMONTHNAME9    0x0000004C\n#define LOCALE_SABBREVMONTHNAME10   0x0000004D\n#define LOCALE_SABBREVMONTHNAME11   0x0000004E\n#define LOCALE_SABBREVMONTHNAME12   0x0000004F\n#define LOCALE_SABBREVMONTHNAME13   0x0000100F\n#define LOCALE_SPOSITIVESIGN        0x00000050\n#define LOCALE_SNEGATIVESIGN        0x00000051\n#define LOCALE_IPOSSIGNPOSN         0x00000052\n#define LOCALE_INEGSIGNPOSN         0x00000053\n#define LOCALE_IPOSSYMPRECEDES      0x00000054\n#define LOCALE_IPOSSEPBYSPACE       0x00000055\n#define LOCALE_INEGSYMPRECEDES      0x00000056\n#define LOCALE_INEGSEPBYSPACE       0x00000057\n#define\tLOCALE_FONTSIGNATURE        0x00000058\n#define LOCALE_SISO639LANGNAME      0x00000059\n#define LOCALE_SISO3166CTRYNAME     0x0000005A\n\n#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012\n#define LOCALE_IPAPERSIZE             0x0000100A\n#define LOCALE_SENGCURRNAME           0x00001007\n#define LOCALE_SNATIVECURRNAME        0x00001008\n#define LOCALE_SYEARMONTH             0x00001006\n#define LOCALE_SSORTNAME              0x00001013\n#define LOCALE_IDIGITSUBSTITUTION     0x00001014\n\n#define NORM_IGNORECASE\t\t\t\t1\n#define NORM_IGNORENONSPACE\t\t\t2\n#define NORM_IGNORESYMBOLS\t\t\t4\n#define NORM_STRINGSORT\t\t\t\t0x1000\n#define NORM_IGNOREKANATYPE                     0x00010000\n#define NORM_IGNOREWIDTH                        0x00020000\n\n#define CP_ACP\t\t\t\t\t0\n#define CP_OEMCP\t\t\t\t1\n#define CP_MACCP\t\t\t\t2\n#define CP_THREAD_ACP\t\t\t\t3\n#define CP_SYMBOL\t\t\t\t42\n#define CP_UTF7\t\t\t\t\t65000\n#define CP_UTF8\t\t\t\t\t65001\n\n#define WC_DISCARDNS                0x00000010\n#define WC_SEPCHARS                 0x00000020\n#define WC_DEFAULTCHAR              0x00000040\n#define WC_COMPOSITECHECK           0x00000200\n#define WC_NO_BEST_FIT_CHARS        0x00000400\n\n\n/* Locale Dependent Mapping Flags */\n#define LCMAP_LOWERCASE\t0x00000100\t/* lower case letters */\n#define LCMAP_UPPERCASE\t0x00000200\t/* upper case letters */\n#define LCMAP_SORTKEY\t0x00000400\t/* WC sort key (normalize) */\n#define LCMAP_BYTEREV\t0x00000800\t/* byte reversal */\n\n#define SORT_STRINGSORT 0x00001000      /* take punctuation into account */\n\n#define LCMAP_HIRAGANA\t0x00100000\t/* map katakana to hiragana */\n#define LCMAP_KATAKANA\t0x00200000\t/* map hiragana to katakana */\n#define LCMAP_HALFWIDTH\t0x00400000\t/* map double byte to single byte */\n#define LCMAP_FULLWIDTH\t0x00800000\t/* map single byte to double byte */\n\n/* Date Flags for GetDateFormat. */\n\n#define DATE_SHORTDATE         0x00000001  /* use short date picture */\n#define DATE_LONGDATE          0x00000002  /* use long date picture */\n#define DATE_USE_ALT_CALENDAR  0x00000004  /* use alternate calendar */\n                          /* alt. calendar support is broken anyway */\n\n#define TIME_FORCE24HOURFORMAT 0x00000008  /* force 24 hour format*/\n#define TIME_NOTIMEMARKER      0x00000004  /* show no AM/PM */\n#define TIME_NOSECONDS         0x00000002  /* show no seconds */\n#define TIME_NOMINUTESORSECONDS 0x0000001  /* show no minutes either */\n\n/* internal flags for GetDateFormat system */\n#define DATE_DATEVARSONLY      0x00000100  /* only date stuff: yMdg */\n#define TIME_TIMEVARSONLY      0x00000200  /* only time stuff: hHmst */\n/* use this in a Winelib program if you really want all types */\n#define LOCALE_TIMEDATEBOTH    0x00000300  /* full set */\n\n/* Tests that we currently implement */\n#define ITU_IMPLEMENTED_TESTS \\\n\tIS_TEXT_UNICODE_SIGNATURE| \\\n\tIS_TEXT_UNICODE_ODD_LENGTH\n\n\n/* Character Type Flags */\n#define\tCT_CTYPE1\t\t0x00000001\t/* usual ctype */\n#define\tCT_CTYPE2\t\t0x00000002\t/* bidirectional layout info */\n#define\tCT_CTYPE3\t\t0x00000004\t/* textprocessing info */\n\n/* CType 1 Flag Bits */\n#define C1_UPPER\t\t0x0001\n#define C1_LOWER\t\t0x0002\n#define C1_DIGIT\t\t0x0004\n#define C1_SPACE\t\t0x0008\n#define C1_PUNCT\t\t0x0010\n#define C1_CNTRL\t\t0x0020\n#define C1_BLANK\t\t0x0040\n#define C1_XDIGIT\t\t0x0080\n#define C1_ALPHA\t\t0x0100\n\n/* CType 2 Flag Bits */\n#define\tC2_LEFTTORIGHT\t\t0x0001\n#define\tC2_RIGHTTOLEFT\t\t0x0002\n#define\tC2_EUROPENUMBER\t\t0x0003\n#define\tC2_EUROPESEPARATOR\t0x0004\n#define\tC2_EUROPETERMINATOR\t0x0005\n#define\tC2_ARABICNUMBER\t\t0x0006\n#define\tC2_COMMONSEPARATOR\t0x0007\n#define\tC2_BLOCKSEPARATOR\t0x0008\n#define\tC2_SEGMENTSEPARATOR\t0x0009\n#define\tC2_WHITESPACE\t\t0x000A\n#define\tC2_OTHERNEUTRAL\t\t0x000B\n#define\tC2_NOTAPPLICABLE\t0x0000\n\n/* CType 3 Flag Bits */\n#define\tC3_NONSPACING\t\t0x0001\n#define\tC3_DIACRITIC\t\t0x0002\n#define\tC3_VOWELMARK\t\t0x0004\n#define\tC3_SYMBOL\t\t0x0008\n#define\tC3_KATAKANA\t\t0x0010\n#define\tC3_HIRAGANA\t\t0x0020\n#define\tC3_HALFWIDTH\t\t0x0040\n#define\tC3_FULLWIDTH\t\t0x0080\n#define\tC3_IDEOGRAPH\t\t0x0100\n#define\tC3_KASHIDA\t\t0x0200\n#define\tC3_LEXICAL\t\t0x0400\n#define\tC3_ALPHA\t\t0x8000\n#define\tC3_NOTAPPLICABLE\t0x0000\n\n/* Code page information.\n */\n#define MAX_LEADBYTES     12\n#define MAX_DEFAULTCHAR   2\n\n/* Defines for calendar handling */\n#define CAL_NOUSEROVERRIDE        LOCALE_NOUSEROVERRIDE\n#define CAL_USE_CP_ACP            LOCALE_USE_CP_ACP\n#define CAL_RETURN_NUMBER         LOCALE_RETURN_NUMBER\n#define CAL_ICALINTVALUE          0x00000001\n#define CAL_SCALNAME              0x00000002\n#define CAL_IYEAROFFSETRANGE      0x00000003\n#define CAL_SERASTRING            0x00000004\n#define CAL_SSHORTDATE            0x00000005\n#define CAL_SLONGDATE             0x00000006\n#define CAL_SDAYNAME1             0x00000007\n#define CAL_SDAYNAME2             0x00000008\n#define CAL_SDAYNAME3             0x00000009\n#define CAL_SDAYNAME4             0x0000000a\n#define CAL_SDAYNAME5             0x0000000b\n#define CAL_SDAYNAME6             0x0000000c\n#define CAL_SDAYNAME7             0x0000000d\n#define CAL_SABBREVDAYNAME1       0x0000000e\n#define CAL_SABBREVDAYNAME2       0x0000000f\n#define CAL_SABBREVDAYNAME3       0x00000010\n#define CAL_SABBREVDAYNAME4       0x00000011\n#define CAL_SABBREVDAYNAME5       0x00000012\n#define CAL_SABBREVDAYNAME6       0x00000013\n#define CAL_SABBREVDAYNAME7       0x00000014\n#define CAL_SMONTHNAME1           0x00000015\n#define CAL_SMONTHNAME2           0x00000016\n#define CAL_SMONTHNAME3           0x00000017\n#define CAL_SMONTHNAME4           0x00000018\n#define CAL_SMONTHNAME5           0x00000019\n#define CAL_SMONTHNAME6           0x0000001a\n#define CAL_SMONTHNAME7           0x0000001b\n#define CAL_SMONTHNAME8           0x0000001c\n#define CAL_SMONTHNAME9           0x0000001d\n#define CAL_SMONTHNAME10          0x0000001e\n#define CAL_SMONTHNAME11          0x0000001f\n#define CAL_SMONTHNAME12          0x00000020\n#define CAL_SMONTHNAME13          0x00000021\n#define CAL_SABBREVMONTHNAME1     0x00000022\n#define CAL_SABBREVMONTHNAME2     0x00000023\n#define CAL_SABBREVMONTHNAME3     0x00000024\n#define CAL_SABBREVMONTHNAME4     0x00000025\n#define CAL_SABBREVMONTHNAME5     0x00000026\n#define CAL_SABBREVMONTHNAME6     0x00000027\n#define CAL_SABBREVMONTHNAME7     0x00000028\n#define CAL_SABBREVMONTHNAME8     0x00000029\n#define CAL_SABBREVMONTHNAME9     0x0000002a\n#define CAL_SABBREVMONTHNAME10    0x0000002b\n#define CAL_SABBREVMONTHNAME11    0x0000002c\n#define CAL_SABBREVMONTHNAME12    0x0000002d\n#define CAL_SABBREVMONTHNAME13    0x0000002e\n#define CAL_SYEARMONTH            0x0000002f\n#define CAL_ITWODIGITYEARMAX      0x00000030\n#define CAL_GREGORIAN                  1\n#define CAL_GREGORIAN_US               2\n#define CAL_JAPAN                      3\n#define CAL_TAIWAN                     4\n#define CAL_KOREA                      5\n#define CAL_HIJRI                      6\n#define CAL_THAI                       7\n#define CAL_HEBREW                     8\n#define CAL_GREGORIAN_ME_FRENCH        9\n#define CAL_GREGORIAN_ARABIC           10\n#define CAL_GREGORIAN_XLIT_ENGLISH     11\n#define CAL_GREGORIAN_XLIT_FRENCH      12\n\n/* CompareString defines */\n#define CSTR_LESS_THAN\t\t\t1\n#define CSTR_EQUAL\t\t\t2\n#define CSTR_GREATER_THAN\t\t3\n\n#ifndef wchar_t\ntypedef unsigned short wchar_t;\n#endif\n#ifndef WCHAR\ntypedef wchar_t         WCHAR,      *PWCHAR;\n#endif\n\n#if 0\n#ifndef WINE_WCHAR_DEFINED\n#ifdef WINE_UNICODE_NATIVE\ntypedef wchar_t         WCHAR,      *PWCHAR;\n#else\ntypedef unsigned short  WCHAR,      *PWCHAR;\n#endif\n#define WINE_WCHAR_DEFINED\n#endif\n\n#endif\n\nextern int unicodelib_initflag;\n/* code page info common to SBCS and DBCS */\nstruct cp_info\n{\n    unsigned int          codepage;          /* codepage id */\n    unsigned int          char_size;         /* char size (1 or 2 bytes) */\n    WCHAR                 def_char;          /* default char value (can be double-byte) */\n    WCHAR                 def_unicode_char;  /* default Unicode char value */\n    const char           *name;              /* code page name */\n};\n\nstruct sbcs_table\n{\n    struct cp_info        info;\n    const WCHAR          *cp2uni;            /* code page -> Unicode map */\n    const unsigned char  *uni2cp_low;        /* Unicode -> code page map */\n    const unsigned short *uni2cp_high;\n};\n\nstruct dbcs_table\n{\n    struct cp_info        info;\n    const WCHAR          *cp2uni;            /* code page -> Unicode map */\n    const unsigned char  *cp2uni_leadbytes;\n    const unsigned short *uni2cp_low;        /* Unicode -> code page map */\n    const unsigned short *uni2cp_high;\n    unsigned char         lead_bytes[12];    /* lead bytes ranges */\n};\n\nunion cptable\n{\n    struct cp_info    info;\n    struct sbcs_table sbcs;\n    struct dbcs_table dbcs;\n};\n\nextern const union cptable *cp_get_table( unsigned int codepage );\nextern const union cptable *cp_enum_table( unsigned int index );\n\nextern int cp_mbstowcs( const union cptable *table, int flags,\n                        const char *src, int srclen,\n                        WCHAR *dst, int dstlen );\nextern int cp_wcstombs( const union cptable *table, int flags,\n                        const WCHAR *src, int srclen,\n                        char *dst, int dstlen, const char *defchar, int *used );\nextern int utf8_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen );\nextern int utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen );\n\nextern int strcmpiW( const WCHAR *str1, const WCHAR *str2 );\nextern int strncmpiW( const WCHAR *str1, const WCHAR *str2, int n );\nextern WCHAR *strstrW( const WCHAR *str, const WCHAR *sub );\nextern long int strtolW( const WCHAR *nptr, WCHAR **endptr, int base );\nextern unsigned long int strtoulW( const WCHAR *nptr, WCHAR **endptr, int base );\n\nstatic inline int is_dbcs_leadbyte( const union cptable *table, unsigned char ch )\n{\n    return (table->info.char_size == 2) && (table->dbcs.cp2uni_leadbytes[ch]);\n}\n\nstatic inline WCHAR tolowerW( WCHAR ch )\n{\n    extern const WCHAR casemap_lower[];\n    return ch + casemap_lower[casemap_lower[ch >> 8] + (ch & 0xff)];\n}\n\nstatic inline WCHAR toupperW( WCHAR ch )\n{\n    extern const WCHAR casemap_upper[];\n    return ch + casemap_upper[casemap_upper[ch >> 8] + (ch & 0xff)];\n}\n\n/* the character type contains the C1_* flags in the low 12 bits */\n/* and the C2_* type in the high 4 bits */\nstatic inline unsigned short get_char_typeW( WCHAR ch )\n{\n    extern const unsigned short wctype_table[];\n    return wctype_table[wctype_table[ch >> 8] + (ch & 0xff)];\n}\n\ninline static int iscntrlW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_CNTRL;\n}\n\ninline static int ispunctW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_PUNCT;\n}\n\ninline static int isspaceW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_SPACE;\n}\n\ninline static int isdigitW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_DIGIT;\n}\n\ninline static int isxdigitW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_XDIGIT;\n}\n\ninline static int islowerW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_LOWER;\n}\n\ninline static int isupperW( WCHAR wc )\n{\n    return get_char_typeW(wc) & C1_UPPER;\n}\n\ninline static int isalnumW( WCHAR wc )\n{\n    return get_char_typeW(wc) & (C1_ALPHA|C1_DIGIT|C1_LOWER|C1_UPPER);\n}\n\ninline static int isalphaW( WCHAR wc )\n{\n    return get_char_typeW(wc) & (C1_ALPHA|C1_LOWER|C1_UPPER);\n}\n\ninline static int isgraphW( WCHAR wc )\n{\n    return get_char_typeW(wc) & (C1_ALPHA|C1_PUNCT|C1_DIGIT|C1_LOWER|C1_UPPER);\n}\n\ninline static int isprintW( WCHAR wc )\n{\n    return get_char_typeW(wc) & (C1_ALPHA|C1_BLANK|C1_PUNCT|C1_DIGIT|C1_LOWER|C1_UPPER);\n}\n\n/* some useful string manipulation routines */\n\nstatic inline unsigned int strlenW( const WCHAR *str )\n{\n#if defined(__i386__) && defined(__GNUC__)\n    int dummy, res;\n    __asm__ __volatile__( \"cld\\n\\t\"\n                          \"repnz\\n\\t\"\n                          \"scasw\\n\\t\"\n                          \"notl %0\"\n                          : \"=c\" (res), \"=&D\" (dummy)\n                          : \"0\" (0xffffffff), \"1\" (str), \"a\" (0) );\n    return res - 1;\n#else\n    const WCHAR *s = str;\n    while (*s) s++;\n    return (int)(s - str);\n#endif\n}\n\nstatic inline WCHAR *strcpyW( WCHAR *dst, const WCHAR *src )\n{\n#if defined(__i386__) && defined(__GNUC__)\n    int dummy1, dummy2, dummy3;\n    __asm__ __volatile__( \"cld\\n\"\n                          \"1:\\tlodsw\\n\\t\"\n                          \"stosw\\n\\t\"\n                          \"testw %%ax,%%ax\\n\\t\"\n                          \"jne 1b\"\n                          : \"=&S\" (dummy1), \"=&D\" (dummy2), \"=&a\" (dummy3)\n                          : \"0\" (src), \"1\" (dst)\n                          : \"memory\" );\n#else\n    WCHAR *p = dst;\n    while ((*p++ = *src++));\n#endif\n    return dst;\n}\n\nstatic inline int strcmpW( const WCHAR *str1, const WCHAR *str2 )\n{\n    while (*str1 && (*str1 == *str2)) { str1++; str2++; }\n    return *str1 - *str2;\n}\n\nstatic inline int strncmpW( const WCHAR *str1, const WCHAR *str2, int n )\n{\n    if (n <= 0) return 0;\n    while ((--n > 0) && *str1 && (*str1 == *str2)) { str1++; str2++; }\n    return *str1 - *str2;\n}\n\nstatic inline WCHAR *strncpyW( WCHAR *str1, const WCHAR *str2, int n )\n{\n    WCHAR *ret = str1;\n    while (n-- > 0) if (!(*str1++ = *str2++)) break;\n    while (n-- > 0) *str1++ = 0;\n    return ret;\n}\n\nstatic inline WCHAR *strcatW( WCHAR *dst, const WCHAR *src )\n{\n    strcpyW( dst + strlenW(dst), src );\n    return dst;\n}\n\nstatic inline WCHAR *strchrW( const WCHAR *str, WCHAR ch )\n{\n    for ( ; *str; str++) if (*str == ch) return (WCHAR *)str;\n    return NULL;\n}\n\nstatic inline WCHAR *strrchrW( const WCHAR *str, WCHAR ch )\n{\n    WCHAR *ret = NULL;\n    for ( ; *str; str++) if (*str == ch) ret = (WCHAR *)str;\n    return ret;\n}\n\nstatic inline WCHAR *strlwrW( WCHAR *str )\n{\n    WCHAR *ret = str;\n    while ((*str = tolowerW(*str))) str++;\n    return ret;\n}\n\nstatic inline WCHAR *struprW( WCHAR *str )\n{\n    WCHAR *ret = str;\n    while ((*str = toupperW(*str))) str++;\n    return ret;\n}\n\nstatic inline long int atolW( const WCHAR *str )\n{\n    return strtolW( str, (WCHAR **)0, 10 );\n}\n\nstatic inline int atoiW( const WCHAR *str )\n{\n    return (int)atolW( str );\n}\n\n\nextern const WCHAR unicode_compose_table[0x846];\nextern const unsigned int unicode_compose_table_size;\nextern const WCHAR unicode_decompose_table[4560];\nextern const unsigned short wctype_table[13568];\nextern const WCHAR casemap_lower[3328];\nextern const WCHAR casemap_upper[3328];\n\n#endif  /* __WINE_UNICODE_H */\n"
  },
  {
    "path": "Project/Unicode/Source/utf8.cpp",
    "content": "/*\n * UTF-8 support routines\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n#include \"StdAfx.h\"\n//#include <string.h>\n\n//#include \"winnls.h\"\n#include \"unicode.h\"\n\n/* number of following bytes in sequence based on first byte value (for bytes above 0x7f) */\nstatic const char utf8_length[128] =\n{\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x80-0x8f */\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x90-0x9f */\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xa0-0xaf */\n    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xb0-0xbf */\n    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xc0-0xcf */\n    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 0xd0-0xdf */\n    2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* 0xe0-0xef */\n    3,3,3,3,3,3,3,3,4,4,4,4,5,5,0,0  /* 0xf0-0xff */\n};\n\n/* first byte mask depending on UTF-8 sequence length */\nstatic const unsigned char utf8_mask[6] = { 0x7f, 0x1f, 0x0f, 0x07, 0x03, 0x01 };\n\n/* minimum Unicode value depending on UTF-8 sequence length */\nstatic const unsigned int utf8_minval[6] = { 0x0, 0x80, 0x800, 0x10000, 0x200000, 0x4000000 };\n\n\n/* query necessary dst length for src string */\ninline static int get_length_wcs_utf8( const WCHAR *src, unsigned int srclen )\n{\n    int len;\n    for (len = 0; srclen; srclen--, src++, len++)\n    {\n        if (*src >= 0x80)\n        {\n            len++;\n            if (*src >= 0x800) len++;\n        }\n    }\n    return len;\n}\n\n/* wide char to UTF-8 string conversion */\n/* return -1 on dst buffer overflow */\nint utf8_wcstombs( const WCHAR *src, int srclen, char *dst, int dstlen )\n{\n    int ret = srclen;\n\n    if (!dstlen) return get_length_wcs_utf8( src, srclen );\n\n    for (ret = srclen; srclen; srclen--, src++)\n    {\n        WCHAR ch = *src;\n\n        if (ch < 0x80)  /* 0x00-0x7f: 1 byte */\n        {\n            if (!dstlen--) return -1;  /* overflow */\n            *dst++ = (char)ch;\n            continue;\n        }\n\n        if (ch < 0x800)  /* 0x80-0x7ff: 2 bytes */\n        {\n            if ((dstlen -= 2) < 0) return -1;  /* overflow */\n            dst[1] = 0x80 | (ch & 0x3f);\n            ch >>= 6;\n            dst[0] = 0xc0 | ch;\n            dst += 2;\n            continue;\n        }\n\n        /* 0x800-0xffff: 3 bytes */\n\n        if ((dstlen -= 3) < 0) return -1;  /* overflow */\n        dst[2] = 0x80 | (ch & 0x3f);\n        ch >>= 6;\n        dst[1] = 0x80 | (ch & 0x3f);\n        ch >>= 6;\n        dst[0] = 0xe0 | ch;\n        dst += 3;\n    }\n    return ret;\n}\n\n/* query necessary dst length for src string */\ninline static int get_length_mbs_utf8( const unsigned char *src, int srclen )\n{\n    int ret;\n    const unsigned char *srcend = src + srclen;\n\n    for (ret = 0; src < srcend; ret++)\n    {\n        unsigned char ch = *src++;\n        if (ch < 0xc0) continue;\n\n        switch(utf8_length[ch-0x80])\n        {\n        case 5:\n            if (src >= srcend) return ret;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) continue;\n            src++;\n        case 4:\n            if (src >= srcend) return ret;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) continue;\n            src++;\n        case 3:\n            if (src >= srcend) return ret;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) continue;\n            src++;\n        case 2:\n            if (src >= srcend) return ret;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) continue;\n            src++;\n        case 1:\n            if (src >= srcend) return ret;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) continue;\n            src++;\n        }\n    }\n    return ret;\n}\n\n/* UTF-8 to wide char string conversion */\n/* return -1 on dst buffer overflow, -2 on invalid input char */\nint utf8_mbstowcs( int flags, const char *src, int srclen, WCHAR *dst, int dstlen )\n{\n    int len, count;\n    unsigned int res;\n    const char *srcend = src + srclen;\n\n    if (!dstlen) return get_length_mbs_utf8( (const unsigned char*)src, srclen );\n\n    for (count = dstlen; count && (src < srcend); count--, dst++)\n    {\n        unsigned char ch = *src++;\n        if (ch < 0x80)  /* special fast case for 7-bit ASCII */\n        {\n            *dst = ch;\n            continue;\n        }\n        len = utf8_length[ch-0x80];\n        res = ch & utf8_mask[len];\n\n        switch(len)\n        {\n        case 5:\n            if (src >= srcend) goto done;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) goto bad;\n            res = (res << 6) | ch;\n            src++;\n        case 4:\n            if (src >= srcend) goto done;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) goto bad;\n            res = (res << 6) | ch;\n            src++;\n        case 3:\n            if (src >= srcend) goto done;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) goto bad;\n            res = (res << 6) | ch;\n            src++;\n        case 2:\n            if (src >= srcend) goto done;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) goto bad;\n            res = (res << 6) | ch;\n            src++;\n        case 1:\n            if (src >= srcend) goto done;  /* ignore partial char */\n            if ((ch = *src ^ 0x80) >= 0x40) goto bad;\n            res = (res << 6) | ch;\n            src++;\n            if (res < utf8_minval[len]) goto bad;\n            if (res >= 0x10000) goto bad;  /* FIXME: maybe we should do surrogates here */\n            *dst = *(WCHAR*)&res;\n            continue;\n        }\n    bad:\n        if (flags & MB_ERR_INVALID_CHARS) return -2;  /* bad char */\n        *dst = (WCHAR)'?';\n    }\n    if (src < srcend) return -1;  /* overflow */\ndone:\n    return dstlen - count;\n}\n"
  },
  {
    "path": "Project/Unicode/Source/wctomb.cpp",
    "content": "/*\n * WideCharToMultiByte implementation\n *\n * Copyright 2000 Alexandre Julliard\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n */\n#include \"StdAfx.h\"\n//#include <string.h>\n\n//#include \"winnls.h\"\n#include \"unicode.h\"\n\n/* search for a character in the unicode_compose_table; helper for compose() */\nstatic inline int binary_search( WCHAR ch, int low, int high )\n{\n    //extern const WCHAR unicode_compose_table[];\n    while (low <= high)\n    {\n        int pos = (low + high) / 2;\n        if (unicode_compose_table[2*pos] < ch)\n        {\n            low = pos + 1;\n            continue;\n        }\n        if (unicode_compose_table[2*pos] > ch)\n        {\n            high = pos - 1;\n            continue;\n        }\n        return pos;\n    }\n    return -1;\n}\n\n/* return the result of the composition of two Unicode chars, or 0 if none */\nstatic WCHAR compose( const WCHAR *str )\n{\n    //extern const WCHAR unicode_compose_table[];\n    extern const unsigned int unicode_compose_table_size;\n\n    int idx = 1, low = 0, high = unicode_compose_table_size - 1;\n    for (;;)\n    {\n        int pos = binary_search( str[idx], low, high );\n        if (pos == -1) return 0;\n        if (!idx--) return unicode_compose_table[2*pos+1];\n        low = unicode_compose_table[2*pos+1];\n        high = unicode_compose_table[2*pos+3] - 1;\n    }\n}\n\n\n/****************************************************************/\n/* sbcs support */\n\n/* check if 'ch' is an acceptable sbcs mapping for 'wch' */\nstatic inline int is_valid_sbcs_mapping( const struct sbcs_table *table, int flags,\n                                         WCHAR wch, unsigned char ch )\n{\n    if (flags & WC_NO_BEST_FIT_CHARS) return (table->cp2uni[ch] == wch);\n    if (ch != (unsigned char)table->info.def_char) return 1;\n    return (wch == table->info.def_unicode_char);\n}\n\n/* query necessary dst length for src string */\nstatic int get_length_sbcs( const struct sbcs_table *table, int flags,\n                            const WCHAR *src, unsigned int srclen, int *used )\n{\n    const unsigned char  * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    int ret, tmp;\n    WCHAR composed;\n\n    if (!used) used = &tmp;  /* avoid checking on every char */\n    *used = 0;\n\n    for (ret = 0; srclen; ret++, src++, srclen--)\n    {\n        WCHAR wch = *src;\n        unsigned char ch;\n\n        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))\n        {\n            /* now check if we can use the composed char */\n            ch = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];\n            if (is_valid_sbcs_mapping( table, flags, composed, ch ))\n            {\n                /* we have a good mapping, use it */\n                src++;\n                srclen--;\n                continue;\n            }\n            /* no mapping for the composed char, check the other flags */\n            if (flags & WC_DEFAULTCHAR) /* use the default char instead */\n            {\n                *used = 1;\n                src++;  /* skip the non-spacing char */\n                srclen--;\n                continue;\n            }\n            if (flags & WC_DISCARDNS) /* skip the second char of the composition */\n            {\n                src++;\n                srclen--;\n            }\n            /* WC_SEPCHARS is the default */\n        }\n        if (!*used)\n        {\n            ch = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];\n            *used = !is_valid_sbcs_mapping( table, flags, wch, ch );\n        }\n    }\n    return ret;\n}\n\n/* wcstombs for single-byte code page */\nstatic inline int wcstombs_sbcs( const struct sbcs_table *table,\n                                 const WCHAR *src, unsigned int srclen,\n                                 char *dst, unsigned int dstlen )\n{\n    const unsigned char  * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    int ret = srclen;\n\n    if (dstlen < srclen)\n    {\n        /* buffer too small: fill it up to dstlen and return error */\n        srclen = dstlen;\n        ret = -1;\n    }\n\n    for (;;)\n    {\n        switch(srclen)\n        {\n        default:\n        case 16: dst[15] = uni2cp_low[uni2cp_high[src[15] >> 8] + (src[15] & 0xff)];\n        case 15: dst[14] = uni2cp_low[uni2cp_high[src[14] >> 8] + (src[14] & 0xff)];\n        case 14: dst[13] = uni2cp_low[uni2cp_high[src[13] >> 8] + (src[13] & 0xff)];\n        case 13: dst[12] = uni2cp_low[uni2cp_high[src[12] >> 8] + (src[12] & 0xff)];\n        case 12: dst[11] = uni2cp_low[uni2cp_high[src[11] >> 8] + (src[11] & 0xff)];\n        case 11: dst[10] = uni2cp_low[uni2cp_high[src[10] >> 8] + (src[10] & 0xff)];\n        case 10: dst[9]  = uni2cp_low[uni2cp_high[src[9]  >> 8] + (src[9]  & 0xff)];\n        case 9:  dst[8]  = uni2cp_low[uni2cp_high[src[8]  >> 8] + (src[8]  & 0xff)];\n        case 8:  dst[7]  = uni2cp_low[uni2cp_high[src[7]  >> 8] + (src[7]  & 0xff)];\n        case 7:  dst[6]  = uni2cp_low[uni2cp_high[src[6]  >> 8] + (src[6]  & 0xff)];\n        case 6:  dst[5]  = uni2cp_low[uni2cp_high[src[5]  >> 8] + (src[5]  & 0xff)];\n        case 5:  dst[4]  = uni2cp_low[uni2cp_high[src[4]  >> 8] + (src[4]  & 0xff)];\n        case 4:  dst[3]  = uni2cp_low[uni2cp_high[src[3]  >> 8] + (src[3]  & 0xff)];\n        case 3:  dst[2]  = uni2cp_low[uni2cp_high[src[2]  >> 8] + (src[2]  & 0xff)];\n        case 2:  dst[1]  = uni2cp_low[uni2cp_high[src[1]  >> 8] + (src[1]  & 0xff)];\n        case 1:  dst[0]  = uni2cp_low[uni2cp_high[src[0]  >> 8] + (src[0]  & 0xff)];\n        case 0: break;\n        }\n        if (srclen < 16) return ret;\n        dst += 16;\n        src += 16;\n        srclen -= 16;\n    }\n}\n\n/* slow version of wcstombs_sbcs that handles the various flags */\nstatic int wcstombs_sbcs_slow( const struct sbcs_table *table, int flags,\n                               const WCHAR *src, unsigned int srclen,\n                               char *dst, unsigned int dstlen,\n                               const char *defchar, int *used )\n{\n    const unsigned char  * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    const unsigned char table_default = table->info.def_char & 0xff;\n    unsigned int len;\n    int tmp;\n    WCHAR composed;\n\n    if (!defchar) defchar = (const char*)&table_default;\n    if (!used) used = &tmp;  /* avoid checking on every char */\n    *used = 0;\n\n    for (len = dstlen; srclen && len; dst++, len--, src++, srclen--)\n    {\n        WCHAR wch = *src;\n\n        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))\n        {\n            /* now check if we can use the composed char */\n            *dst = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];\n            if (is_valid_sbcs_mapping( table, flags, composed, *dst ))\n            {\n                /* we have a good mapping, use it */\n                src++;\n                srclen--;\n                continue;\n            }\n            /* no mapping for the composed char, check the other flags */\n            if (flags & WC_DEFAULTCHAR) /* use the default char instead */\n            {\n                *dst = *defchar;\n                *used = 1;\n                src++;  /* skip the non-spacing char */\n                srclen--;\n                continue;\n            }\n            if (flags & WC_DISCARDNS) /* skip the second char of the composition */\n            {\n                src++;\n                srclen--;\n            }\n            /* WC_SEPCHARS is the default */\n        }\n\n        *dst = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];\n        if (!is_valid_sbcs_mapping( table, flags, wch, *dst ))\n        {\n            *dst = *defchar;\n            *used = 1;\n        }\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n\n/****************************************************************/\n/* dbcs support */\n\n/* check if 'ch' is an acceptable dbcs mapping for 'wch' */\nstatic inline int is_valid_dbcs_mapping( const struct dbcs_table *table, int flags,\n                                         WCHAR wch, unsigned short ch )\n{\n    if (ch == table->info.def_char && wch != table->info.def_unicode_char) return 0;\n    if (flags & WC_NO_BEST_FIT_CHARS)\n    {\n        /* check if char maps back to the same Unicode value */\n        if (ch & 0xff00)\n        {\n            unsigned char off = table->cp2uni_leadbytes[ch >> 8];\n            return (table->cp2uni[(off << 8) + (ch & 0xff)] == wch);\n        }\n        return (table->cp2uni[ch & 0xff] == wch);\n    }\n    return 1;\n}\n\n/* query necessary dst length for src string */\nstatic int get_length_dbcs( const struct dbcs_table *table, int flags,\n                            const WCHAR *src, unsigned int srclen,\n                            const char *defchar, int *used )\n{\n    const unsigned short * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    WCHAR defchar_value = table->info.def_char;\n    WCHAR composed;\n    int len, tmp;\n\n    if (!defchar && !used && !(flags & WC_COMPOSITECHECK))\n    {\n        for (len = 0; srclen; srclen--, src++, len++)\n        {\n            if (uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)] & 0xff00) len++;\n        }\n        return len;\n    }\n\n    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];\n    if (!used) used = &tmp;  /* avoid checking on every char */\n    *used = 0;\n    for (len = 0; srclen; len++, srclen--, src++)\n    {\n        unsigned short res;\n        WCHAR wch = *src;\n\n        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))\n        {\n            /* now check if we can use the composed char */\n            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];\n\n            if (is_valid_dbcs_mapping( table, flags, composed, res ))\n            {\n                /* we have a good mapping for the composed char, use it */\n                if (res & 0xff00) len++;\n                src++;\n                srclen--;\n                continue;\n            }\n            /* no mapping for the composed char, check the other flags */\n            if (flags & WC_DEFAULTCHAR) /* use the default char instead */\n            {\n                if (defchar_value & 0xff00) len++;\n                *used = 1;\n                src++;  /* skip the non-spacing char */\n                srclen--;\n                continue;\n            }\n            if (flags & WC_DISCARDNS) /* skip the second char of the composition */\n            {\n                src++;\n                srclen--;\n            }\n            /* WC_SEPCHARS is the default */\n        }\n\n        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];\n        if (!is_valid_dbcs_mapping( table, flags, wch, res ))\n        {\n            res = defchar_value;\n            *used = 1;\n        }\n        if (res & 0xff00) len++;\n    }\n    return len;\n}\n\n/* wcstombs for double-byte code page */\nstatic inline int wcstombs_dbcs( const struct dbcs_table *table,\n                                 const WCHAR *src, unsigned int srclen,\n                                 char *dst, unsigned int dstlen )\n{\n    const unsigned short * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    int len;\n\n    for (len = dstlen; srclen && len; len--, srclen--, src++)\n    {\n        unsigned short res = uni2cp_low[uni2cp_high[*src >> 8] + (*src & 0xff)];\n        if (res & 0xff00)\n        {\n            if (len == 1) break;  /* do not output a partial char */\n            len--;\n            *dst++ = res >> 8;\n        }\n        *dst++ = (char)res;\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n/* slow version of wcstombs_dbcs that handles the various flags */\nstatic int wcstombs_dbcs_slow( const struct dbcs_table *table, int flags,\n                               const WCHAR *src, unsigned int srclen,\n                               char *dst, unsigned int dstlen,\n                               const char *defchar, int *used )\n{\n    const unsigned short * const uni2cp_low = table->uni2cp_low;\n    const unsigned short * const uni2cp_high = table->uni2cp_high;\n    WCHAR defchar_value = table->info.def_char;\n    WCHAR composed;\n    int len, tmp;\n\n    if (defchar) defchar_value = defchar[1] ? ((defchar[0] << 8) | defchar[1]) : defchar[0];\n    if (!used) used = &tmp;  /* avoid checking on every char */\n    *used = 0;\n\n    for (len = dstlen; srclen && len; len--, srclen--, src++)\n    {\n        unsigned short res;\n        WCHAR wch = *src;\n\n        if ((flags & WC_COMPOSITECHECK) && (srclen > 1) && (composed = compose(src)))\n        {\n            /* now check if we can use the composed char */\n            res = uni2cp_low[uni2cp_high[composed >> 8] + (composed & 0xff)];\n\n            if (is_valid_dbcs_mapping( table, flags, composed, res ))\n            {\n                /* we have a good mapping for the composed char, use it */\n                src++;\n                srclen--;\n                goto output_char;\n            }\n            /* no mapping for the composed char, check the other flags */\n            if (flags & WC_DEFAULTCHAR) /* use the default char instead */\n            {\n                res = defchar_value;\n                *used = 1;\n                src++;  /* skip the non-spacing char */\n                srclen--;\n                goto output_char;\n            }\n            if (flags & WC_DISCARDNS) /* skip the second char of the composition */\n            {\n                src++;\n                srclen--;\n            }\n            /* WC_SEPCHARS is the default */\n        }\n\n        res = uni2cp_low[uni2cp_high[wch >> 8] + (wch & 0xff)];\n        if (!is_valid_dbcs_mapping( table, flags, wch, res ))\n        {\n            res = defchar_value;\n            *used = 1;\n        }\n\n    output_char:\n        if (res & 0xff00)\n        {\n            if (len == 1) break;  /* do not output a partial char */\n            len--;\n            *dst++ = res >> 8;\n        }\n        *dst++ = (char)res;\n    }\n    if (srclen) return -1;  /* overflow */\n    return dstlen - len;\n}\n\n/* wide char to multi byte string conversion */\n/* return -1 on dst buffer overflow */\nint cp_wcstombs( const union cptable *table, int flags,\n                 const WCHAR *src, int srclen,\n                 char *dst, int dstlen, const char *defchar, int *used )\n{\n    if (table->info.char_size == 1)\n    {\n        if (flags || defchar || used)\n        {\n            if (!dstlen) return get_length_sbcs( &table->sbcs, flags, src, srclen, used );\n            return wcstombs_sbcs_slow( &table->sbcs, flags, src, srclen,\n                                       dst, dstlen, defchar, used );\n        }\n        if (!dstlen) return srclen;\n        return wcstombs_sbcs( &table->sbcs, src, srclen, dst, dstlen );\n    }\n    else /* mbcs */\n    {\n        if (!dstlen) return get_length_dbcs( &table->dbcs, flags, src, srclen, defchar, used );\n        if (flags || defchar || used)\n            return wcstombs_dbcs_slow( &table->dbcs, flags, src, srclen,\n                                       dst, dstlen, defchar, used );\n        return wcstombs_dbcs( &table->dbcs, src, srclen, dst, dstlen );\n    }\n}\n"
  },
  {
    "path": "Project/Unicode/Source/wctype.cpp",
    "content": "/* Unicode ctype tables */\n/* Automatically generated; DO NOT EDIT!! */\n#include \"StdAfx.h\"\n#include \"unicode.h\"\n\nconst unsigned short wctype_table[13568] =\n{\n    /* offsets */\n    0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800,\n    0x0900, 0x0a00, 0x0b00, 0x0c00, 0x0d00, 0x0e00, 0x0f00, 0x1000,\n    0x1100, 0x1200, 0x1300, 0x1400, 0x1500, 0x1600, 0x1700, 0x1800,\n    0x1900, 0x0900, 0x0900, 0x0900, 0x0900, 0x0900, 0x1a00, 0x1b00,\n    0x1c00, 0x1d00, 0x1e00, 0x1f00, 0x2000, 0x2100, 0x2200, 0x2300,\n    0x2100, 0x2100, 0x2100, 0x0900, 0x0900, 0x0900, 0x2400, 0x2500,\n    0x2600, 0x2700, 0x2800, 0x2900, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2a00, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2b00,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x2c00, 0x0900, 0x0900, 0x0900,\n    0x0900, 0x0900, 0x0900, 0x0900, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600,\n    0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x1600, 0x2d00,\n    0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00,\n    0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00,\n    0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00,\n    0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00, 0x2e00,\n    0x2e00, 0x1600, 0x2f00, 0x3000, 0x3100, 0x3200, 0x3300, 0x3400,\n    /* values */\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x9068, 0x8028, 0x9028, 0xa028, 0x8028, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x8020, 0x8020, 0x9020,\n    0xa048, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,\n    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,\n    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x8020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020, 0x0020,\n    0x7048, 0xb010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x5010, 0x5010, 0x3014, 0x3014, 0xb010, 0x1102, 0xb010, 0xb010,\n    0xb010, 0x3014, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0xb010,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102,\n    0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,\n    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101, 0x1101,\n    0x1101, 0x1102, 0x1102, 0x1102, 0x1101, 0x1101, 0x1102, 0x1101,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,\n    0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,\n    0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1101, 0x1102, 0x1102, 0x1100, 0x1101, 0x1102, 0x1102, 0x1102,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1101, 0x1103, 0x1102, 0x1101,\n    0x1103, 0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1102, 0x1101, 0x1103, 0x1102, 0x1101, 0x1102, 0x1101, 0x1101,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x0000, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0112, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x1101, 0xb010,\n    0x1101, 0x1101, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x1101,\n    0x1102, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x0000, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,\n    0x1102, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1101, 0x1102, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000,\n    0x0010, 0x0010, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101,\n    0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x0000, 0x0000,\n    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000,\n    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x0000, 0x1010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x2010, 0x0010,\n    0x2010, 0x0010, 0x0010, 0x2010, 0x0010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x7010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x2010, 0x0000, 0x0000, 0x0000, 0x2010,\n    0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004, 0x6004,\n    0x6004, 0x6004, 0x5010, 0x6010, 0x6010, 0x2010, 0x2100, 0x2100,\n    0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0x2100, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2000, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x2010, 0x2010, 0x0010,\n    0x0010, 0xb010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004, 0x3004,\n    0x3004, 0x3004, 0x2100, 0x2100, 0x2100, 0x2010, 0x2010, 0x0000,\n    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010,\n    0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x2010, 0x0000, 0x0000,\n    0x2100, 0x0010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x1100, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0010, 0x0010, 0x1010, 0x1010, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,\n    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010,\n    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,\n    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1100, 0x1100, 0x5010, 0x5010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,\n    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010,\n    0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x0010, 0x0010, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x0010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010,\n    0x0010, 0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100,\n    0x1100, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x0000, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0010, 0x1100, 0x1010, 0x0010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x1010, 0x0000, 0x0000, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0010, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,\n    0x0010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,\n    0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0010, 0x0010,\n    0x0010, 0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x0010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0010, 0x1010,\n    0x1010, 0x0000, 0x1010, 0x1010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x0000, 0x1010, 0x1010, 0x1010, 0x0010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1010, 0x1010, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0010, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x5010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100,\n    0x1100, 0x0000, 0x1100, 0x0000, 0x0000, 0x1100, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x0000, 0x1100,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0010, 0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0000, 0x0010, 0x0010, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1010, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x0000, 0x0000, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010, 0x0010,\n    0x1010, 0x0010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x0010, 0x0010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0000, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x1010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x1100, 0x1100, 0x0000, 0x1010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0010, 0x0010,\n    0x1010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,\n    0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x0000, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xa008, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x1100, 0x1100,\n    0x1100, 0x0000, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010, 0x1010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0010, 0x1010,\n    0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x5010, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000,\n    0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004, 0x1004,\n    0x1004, 0x1004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1010, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102, 0x1101, 0x1102,\n    0x1101, 0x1102, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101, 0x0000, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0x1102, 0xb010,\n    0xb010, 0xb010, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x0000, 0x0000, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x0000, 0xb010, 0xb010, 0xb010,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010,\n    0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x0000, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0x0000,\n    0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008, 0xa008,\n    0xa008, 0xa008, 0xa008, 0x0008, 0x0000, 0x0000, 0x1000, 0x2000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xa000, 0x8000, 0xb000, 0xb000, 0xb000, 0xb000, 0xb000, 0xa008,\n    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0xb010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa008,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x3014, 0x1102, 0x0000, 0x0000, 0x3014, 0x3014, 0x3014, 0x3014,\n    0x3014, 0x3014, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x1102,\n    0x3014, 0x3014, 0x3014, 0x3014, 0x3014, 0x3014, 0x3014, 0x3014,\n    0x3014, 0x3014, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,\n    0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010, 0x5010,\n    0x5010, 0x5010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101,\n    0xb010, 0xb010, 0x1102, 0x1101, 0x1101, 0x1101, 0x1102, 0x1102,\n    0x1101, 0x1101, 0x1101, 0x1102, 0xb010, 0x1101, 0xb010, 0xb010,\n    0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0xb010, 0x1101, 0xb010,\n    0x1101, 0xb010, 0x1101, 0x1101, 0x1101, 0x1101, 0x5010, 0x1102,\n    0x1101, 0x1101, 0xb010, 0x1101, 0x1102, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1102, 0xb010, 0x0000, 0x0000, 0x1102, 0x1101, 0x1101,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1101, 0x1102, 0x1102,\n    0x1102, 0x1102, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,\n    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,\n    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,\n    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010, 0x3010,\n    0x3010, 0x3010, 0x3010, 0x3010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1111, 0x1111,\n    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,\n    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,\n    0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111, 0x1111,\n    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,\n    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,\n    0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112, 0x1112,\n    0x1112, 0x1112, 0x3010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0xb010, 0xb010,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0xb010,\n    0xb010, 0xb010, 0x0000, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0xb010, 0x0000, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0xb010, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xa008, 0xb010, 0xb010, 0xb010, 0xb010, 0x1010, 0x1100, 0x1010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0xb010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0xb010, 0xb010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1100, 0xb010, 0xb010, 0xb010,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x0000, 0x0010, 0x0010, 0xb010, 0xb010, 0x1010, 0x1010, 0x1100,\n    0xb010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0xb010, 0x1010, 0x1010, 0x1010, 0x1100,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000, 0x0000,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010,\n    0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x1010, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000, 0x1000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2100, 0x0010, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x5010, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x0000,\n    0x2100, 0x2100, 0x0000, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0xb010, 0xb010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x0000, 0x0000, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2010, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0010, 0x0010, 0x0010, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0x7010, 0xb010, 0x7010, 0x0000, 0xb010, 0x7010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x5010,\n    0xb010, 0xb010, 0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0xb010, 0x5010, 0x5010, 0xb010, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x2100,\n    0x2100, 0x2100, 0x2100, 0x2100, 0x2100, 0x0000, 0x0000, 0x0048,\n    0x0000, 0xb010, 0xb010, 0x5010, 0x5010, 0x5010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0x5010, 0x7010, 0x5010, 0x7010, 0x4010,\n    0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084, 0x3084,\n    0x3084, 0x3084, 0x7010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1181, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101, 0x1101,\n    0x1101, 0x1101, 0x1101, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1182, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102, 0x1102,\n    0x1102, 0x1102, 0x1102, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1010, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1010, 0x1010,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x0000,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100, 0x1100,\n    0x0000, 0x0000, 0x1100, 0x1100, 0x1100, 0x0000, 0x0000, 0x0000,\n    0x5010, 0x5010, 0xb010, 0xb010, 0xb010, 0x5010, 0x5010, 0x0000,\n    0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0xb010, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,\n    0x0000, 0x0000, 0x0000, 0x0000, 0xb010, 0xb010, 0x0000, 0x0000\n};\n"
  },
  {
    "path": "Project/Unicode/Win32/Unicode.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"unicode\", \"unicode.vcproj\", \"{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"unicodetest\", \"unicodetest.vcproj\", \"{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4} = {E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}.Release|Win32.Build.0 = Release|Win32\n\t\t{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Unicode/Win32/Unicode.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"unicode\"\n\tProjectGUID=\"{E81FD0AF-FFD0-4E2D-A113-C2C68A42F9C4}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/unicode.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/unicode.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_037.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_042.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10000.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10007.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10029.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10079.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10081.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1026.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1250.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1251.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1252.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1253.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1254.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1255.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1256.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1257.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1258.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28591.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28592.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28593.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28594.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28595.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28596.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28597.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28598.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28599.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28600.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28603.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28604.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28605.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28606.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_424.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_437.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_500.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_737.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_775.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_850.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_852.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_855.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_856.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_857.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_860.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_861.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_862.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_863.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_864.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_865.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_869.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_874.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_875.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_878.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_936.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_949.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_950.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\casemap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\compose.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cptable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mbtowc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\string.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\utf8.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctomb.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctype.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\unicode.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe\"\n\t\t\t>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\"ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Unicode/Win32/Unicodetest.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"unicodetest\"\n\tProjectGUID=\"{F7B6CD2E-0787-4444-9000-C8C71D9FBAB0}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/unicodetest.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/unicodetest.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/unicodetest.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\test.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc\"\n\t\t\t>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe\"\n\t\t\t>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Unicode/WinDrv32/Unicode.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Unicode\", \"Unicode.vcproj\", \"{4CC7AB5D-54AA-4B15-9CE9-61057E945892}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{4CC7AB5D-54AA-4B15-9CE9-61057E945892}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{4CC7AB5D-54AA-4B15-9CE9-61057E945892}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{4CC7AB5D-54AA-4B15-9CE9-61057E945892}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{4CC7AB5D-54AA-4B15-9CE9-61057E945892}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Unicode/WinDrv32/Unicode.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Unicode\"\n\tProjectGUID=\"{4CC7AB5D-54AA-4B15-9CE9-61057E945892}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tTreatWChar_tAsBuiltInType=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Unicode.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"1\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Unicode.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_037.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_042.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10000.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10007.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10029.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10079.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10081.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1026.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1250.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1251.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1252.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1253.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1254.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1255.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1256.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1257.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1258.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28591.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28592.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28593.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28594.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28595.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28596.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28597.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28598.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28599.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28600.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28603.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28604.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28605.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28606.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_424.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_437.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_500.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_737.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_775.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_850.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_852.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_855.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_856.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_857.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_860.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_861.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_862.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_863.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_864.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_865.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_869.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_874.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_875.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_878.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_936.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_949.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_950.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\casemap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\compose.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cptable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mbtowc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\string.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\utf8.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctomb.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctype.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\unicode.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Unicode/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Unicode/WinXPDrv32/Unicode.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Unicode\", \"Unicode.vcproj\", \"{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Debug.ActiveCfg = Debug|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Debug.Build.0 = Debug|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Release.ActiveCfg = Release|Win32\n\t\t{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Unicode/WinXPDrv32/Unicode.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Unicode\"\n\tProjectGUID=\"{27CC6E41-F0EA-48F8-9114-D1F78C617E4E}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_037.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_042.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10000.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10007.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10029.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1006.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10079.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_10081.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1026.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1250.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1251.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1252.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1253.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1254.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1255.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1256.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1257.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_1258.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_20932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28591.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28592.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28593.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28594.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28595.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28596.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28597.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28598.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28599.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28600.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28603.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28604.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28605.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_28606.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_424.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_437.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_500.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_737.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_775.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_850.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_852.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_855.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_856.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_857.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_860.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_861.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_862.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_863.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_864.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_865.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_866.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_869.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_874.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_875.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_878.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_932.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_936.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_949.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\c_950.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\casemap.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\compose.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\cptable.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mbtowc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\string.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\utf8.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctomb.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wctype.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\unicode.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Makefile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\readme.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Unicode/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/Unicode/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Unicode/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/Unicode/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/Unicode/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/VersionInfo/Source/VersionInfo.cpp",
    "content": "// VersionInfo.cpp : Defines the entry point for the console application.\n//\n\n#include \"stdafx.h\"\n#include \"VersionInfo.h\"\nint main(int argc, char* argv[])\n{\n\tif(argc==1)\n\t{\n\t\tprintf(\"%s [--MAJOR | --MINOR | --BUILDNUMBER | --BUILDDATE]\\n\");\n\t\treturn 0;\n\t}\n\tif(argc==2)\n\t{\n\t\tif(TStrICmp(argv[1],\"--MAJOR\")==0)\n\t\t\tprintf(\"%d\",VER_PRODUCTMAJORVERSION);\n\t\telse if(TStrICmp(argv[1],\"--MINOR\")==0)\n\t\t\tprintf(\"%d\",VER_PRODUCTMINORVERSION);\n\t\telse if(TStrICmp(argv[1],\"--BUILDNUMBER\")==0)\n\t\t\tprintf(\"%d\",VER_PRODUCTBUILD);\n\t\telse if(TStrICmp(argv[1],\"--BUILDDATE\")==0)\n\t\t\tprintf(\"%s\",__DATE__);\n\t\telse\n\t\t\tprintf(\"0\");\n\t\treturn 0;\n\t}\n\treturn -1;\n}\n\n"
  },
  {
    "path": "Project/VersionInfo/Source/VersionInfo.h",
    "content": "#ifndef __VERSION__INFO__\n#define __VERSION__INFO__\n\n#endif //__VERSION__INFO__"
  },
  {
    "path": "Project/VersionInfo/Source/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// VersionInfo.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "Project/VersionInfo/Source/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n#include \"../../code/source/Code.h\"\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n#include <iostream>\n#include <tchar.h>\n\n// TODO: reference additional headers your program requires here\n"
  },
  {
    "path": "Project/VersionInfo/Win32/VersionInfo.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"VersionInfo\", \"VersionInfo.vcproj\", \"{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/VersionInfo/Win32/VersionInfo.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"VersionInfo\"\n\tProjectGUID=\"{C6DC9D93-4C63-4C71-8FD3-5A49F369D847}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_CONSOLE\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../bin/i386/SyserVersion.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/VersionInfo.pdb\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_CONSOLE\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../bin/i386/SyserVersion.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"1\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\VersionInfo.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\stdafx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\..\\..\\Addition\\SyserDebugger\\SyserVersion.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/WinWisp/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\" \n"
  },
  {
    "path": "Project/WinWisp/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n \n#include \"../../Code/Source/Code.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n\n#endif\n"
  },
  {
    "path": "Project/WinWisp/Source/WinWisp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WinWisp.h\"\n#include <shellapi.h> \n#include <shlobj.h>\n\n#define WS_FRAME_WND (WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_THICKFRAME|WS_VISIBLE)\n#define RESIZE_DELTA\t32\n\n#define WM_WISP_UPDATE\tWM_USER+0x10\n\nCLocalWispApp*\tgpApp;\n\nCWinWisp::CWinWisp()\n{\n\tgpApp = this;\n\tm_hArrowCursor=\n\tm_hDragCursor=\n\tm_hVertResizeCursor=\n\tm_hHorzResizeCursor=\n\tm_hLeftLeanCursor=\n\tm_hRightLeanCursor=NULL;\n\tm_FrameStyle = WS_FRAME_WND;\n\tm_FrameStyleEx = 0;\n\tm_NotifyIconID = 0;\n\tm_hTrayIcon = NULL;\n}\n\nvoid CWinWisp::RemoveNotifyIcon(UINT IconID)\n{\n\t///ɾͼ////////////////\n\tNOTIFYICONDATA tnd;\n\ttnd.cbSize=sizeof(NOTIFYICONDATA);\n\ttnd.hWnd=m_hLocalWnd;\n\ttnd.uID=0;\n\tif(m_hTrayIcon)\n\t{\n\t\tDestroyIcon(m_hTrayIcon);\n\t\tm_hTrayIcon = NULL;\n\t}\n\tShell_NotifyIcon(NIM_DELETE,&tnd);\n\t///ɾͼ////////////////\n}\n\nvoid CWinWisp::InsertNotifyIcon(PCSTR szTip,UINT IconID)\n{\n\t///ͼ////////////////\n\tNOTIFYICONDATA tnd;\n\tm_NotifyIconID = IconID;\n\tm_NotifyString = szTip;\n\ttnd.cbSize=sizeof(NOTIFYICONDATA);\n\ttnd.hWnd=m_hLocalWnd;\n\ttnd.uID=0;\n\ttnd.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP;\n\ttnd.uCallbackMessage=WM_WISP_NOTIFY_ICON;\n\tm_hTrayIcon=tnd.hIcon=LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IconID));\n\tTStrCpy(tnd.szTip,szTip);\n\tShell_NotifyIcon(NIM_ADD,&tnd);\n\t///ͼ///////////////////////\n}\n\nvoid CWinWisp::ModifyNotifyIcon(UINT IconID)\n{\n\t///ɾͼ////////////////\n\tNOTIFYICONDATA tnd;\n\ttnd.cbSize=sizeof(NOTIFYICONDATA);\n\ttnd.hWnd=m_hLocalWnd;\n\ttnd.uID=0;\n\ttnd.uFlags=NIF_ICON;\n\tif(m_hTrayIcon)\n\t\tDestroyIcon(m_hTrayIcon);\n\tm_hTrayIcon = tnd.hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IconID));\n\tBOOL boolll = Shell_NotifyIcon(NIM_MODIFY,&tnd);\n}\n\nbool CWinWisp::CreateFrame(WISP_CHAR*WndName,int Width,int Height,int Bpp)\n{\n\tWNDCLASSEX wcex;\n\tchar szWndName[256];\n\tHWND hDesktopWnd;\n\tRECT DesktopWndRect;\n\thDesktopWnd = GetDesktopWindow(); \n\tGetWindowRect(hDesktopWnd, &DesktopWndRect); \n\tm_RealFrameBuffer.Width = DesktopWndRect.right - DesktopWndRect.left;\n\tm_RealFrameBuffer.Height = DesktopWndRect.bottom - DesktopWndRect.top;\n\tif(m_hArrowCursor==NULL)\n\t\tm_hArrowCursor = LoadCursor(NULL, IDC_ARROW);\n\tif(m_hDragCursor=NULL)\n\t\tm_hDragCursor = LoadCursor(NULL,IDC_SIZENWSE);\n\tif(m_hVertResizeCursor==NULL)\n\t\tm_hVertResizeCursor = LoadCursor(NULL, IDC_SIZENS);\n\tif(m_hHorzResizeCursor==NULL)\n\t\tm_hHorzResizeCursor = LoadCursor(NULL, IDC_SIZEWE);\n\tif(m_hLeftLeanCursor==NULL)\n\t\tm_hLeftLeanCursor = LoadCursor(NULL, IDC_SIZENWSE);\n\tif(m_hRightLeanCursor==NULL)\n\t\tm_hRightLeanCursor = LoadCursor(NULL, IDC_SIZENESW);\n\n\twcex.cbSize = sizeof(WNDCLASSEX);\n\twcex.style\t\t\t= CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;\n\twcex.lpfnWndProc\t= (WNDPROC)CWinWisp::StaticWndProc;\n\twcex.cbClsExtra\t\t= 0;\n\twcex.cbWndExtra\t\t= 0;\n\twcex.hInstance\t\t= m_hLocalInst;\n\twcex.hIcon\t\t\t= m_hIcon;\n\twcex.hCursor\t\t= m_hArrowCursor;\n\twcex.hbrBackground\t= NULL;\n\twcex.lpszMenuName\t= NULL;\n\twcex.lpszClassName\t= \"WispWindowClass\";\n\twcex.hIconSm\t\t= NULL;\n\tRegisterClassEx(&wcex);\n\tUnicodeToAnsi(WndName,szWndName,sizeof(szWndName));\n\tm_hLocalWnd = CreateWindowEx(m_FrameStyleEx,\"WispWindowClass\",szWndName,m_FrameStyle,CW_USEDEFAULT,CW_USEDEFAULT,Width,Height,NULL,NULL,m_hLocalInst,NULL);\n\tRECT ClientRC,WindowRC;\n\tGetClientRect(m_hLocalWnd,&ClientRC);\n\tGetWindowRect(m_hLocalWnd,&WindowRC);\n\tm_DeltaWndWidth = (WindowRC.right-WindowRC.left)-(ClientRC.right - ClientRC.left);\n\tm_DeltaWndHeight = (WindowRC.bottom-WindowRC.top)-(ClientRC.bottom - ClientRC.top);\n\n\tif(m_nLocalCmdShow == SW_MAXIMIZE)\n\t{\n\t\tWidth = GetSystemMetrics(SM_CXFULLSCREEN);\n\t\tHeight = GetSystemMetrics(SM_CYFULLSCREEN);\n\t}\n\tSetWindowPos(m_hLocalWnd,NULL,\n\t\t\t\t(GetSystemMetrics(SM_CXFULLSCREEN)-m_DeltaWndWidth-Width)/2,\n\t\t\t\t(GetSystemMetrics(SM_CYFULLSCREEN)-m_DeltaWndHeight-Height)/2,\n\t\t\t\tWidth+m_DeltaWndWidth,Height+m_DeltaWndHeight,SWP_NOACTIVATE | SWP_NOZORDER);\n\tif(m_FrameStyle&WS_VISIBLE)\n\t{\n\t\tShowWindow(m_hLocalWnd, m_nLocalCmdShow);\n\t\tUpdateWindow(m_hLocalWnd);\n\t}\n\tm_BmpWidth=m_BmpHeight=0;\n\tm_CurWndHDC = GetDC(m_hLocalWnd);\n\tm_CurMemHDC = CreateCompatibleDC(m_CurWndHDC);\n\tAdjustGDIBitmap(Width,Height);\n\treturn true;\n}\n\nbool CWinWisp::ResizingFrame(int Width,int Height)\n{\n\tAdjustGDIBitmap(Width,Height);\n\treturn true;\n}\n\nbool CWinWisp::ResizeHostFrame(int Width,int Height)\n{\n\tSetWindowPos(m_hLocalWnd,NULL,0,0,Width+m_DeltaWndWidth,Height+m_DeltaWndHeight,SWP_NOACTIVATE | SWP_NOZORDER | SWP_NOMOVE);\n\treturn true;\n}\n\nvoid CWinWisp::DestroyFrame()\n{\n\tif(m_hArrowCursor!=NULL)\n\t\tDestroyCursor(m_hArrowCursor);\n\tif(m_hDragCursor==NULL)\n\t\tDestroyCursor(m_hDragCursor);\n\tif(m_hVertResizeCursor!=NULL)\n\t\tDestroyCursor(m_hVertResizeCursor);\n\tif(m_hHorzResizeCursor!=NULL)\n\t\tDestroyCursor(m_hHorzResizeCursor);\n\tif(m_hLeftLeanCursor!=NULL)\n\t\tDestroyCursor(m_hLeftLeanCursor);\n\tif(m_hRightLeanCursor!=NULL)\n\t\tDestroyCursor(m_hRightLeanCursor);\n\tDestroyWindow(m_hLocalWnd);\n}\n\nvoid CWinWisp::SetMouseCaptureNotify()\n{\n\t::SetCapture(m_hLocalWnd);\n}\n\nvoid CWinWisp::ReleaseMouseCaptureNotify()\n{\n\t::ReleaseCapture();\n}\n\n\nvoid CWinWisp::BeginDraw(WISP_RECT*pUpdateRect)\n{\n\tGdiFlush();\n}\n\nvoid CWinWisp::EndDraw(WISP_RECT*pUpdateRect)\n{\n\tif(pUpdateRect==NULL)\n\t\tpUpdateRect = &gpCurWisp->m_pRootWnd->m_WindowRect;\n\tBitBlt(m_CurWndHDC,pUpdateRect->x,pUpdateRect->y,pUpdateRect->cx,pUpdateRect->cy,m_CurMemHDC,pUpdateRect->x,pUpdateRect->y,SRCCOPY);\n}\n\nWISP_PSTR CWinWisp::GetClipboardString()\n{\n\tint Length;\n\tPCSTR szString;\n\tHANDLE hClipboard;\n\tif(IsClipboardFormatAvailable(CF_TEXT)==FALSE)\n\t\treturn m_ClipboardString;\n\tOpenClipboard(m_hLocalWnd);\n\thClipboard = GetClipboardData(CF_TEXT);\n\tszString =(PCSTR)GlobalLock(hClipboard);\n\tif(szString==NULL)\n\t{\n\t\tCloseClipboard();\n\t\treturn m_ClipboardString;\n\t}\n\tLength = TStrLen(szString)+1;\n\tm_ClipboardString.Preallocate(Length);\n\tLength = AnsiToUnicode(szString,(PWSTR)m_ClipboardString,Length);\n\tm_ClipboardString.Truncate(Length);\n\tGlobalUnlock(hClipboard);\n\tCloseClipboard();\n\treturn CWispBase::GetClipboardString();\n}\n\nbool CWinWisp::SetClipboardString(WISP_PCSTR String)\n{\n\tint Length;\n\tHGLOBAL hMem;\n\tPSTR pszStr;\n\tCWispBase::SetClipboardString(String);\n\tif(OpenClipboard(m_hLocalWnd))\n\t{\n\t\tEmptyClipboard();\n\t\tLength = TStrLen(String)+1;\n\t\thMem = GlobalAlloc(GMEM_MOVEABLE|GMEM_DDESHARE|GMEM_ZEROINIT,Length*2);\n\t\tpszStr=(PSTR)GlobalLock(hMem);\n\t\tUnicodeToAnsi(String,pszStr,Length*2);\n\t\tGlobalUnlock(hMem);\n\t\tSetClipboardData(CF_TEXT,hMem);\n\t\tCloseClipboard();\n\t}\n\treturn true;\n}\n\nvoid CWinWisp::AdjustGDIBitmap(int Width,int Height)\n{\n\tBITMAPINFO\tBitMapInfo;\n\tif(Width<=0 || Height<=0)\n\t\treturn;\n\tm_FrameBuffer.Bpp = 32;\n\tm_FrameBuffer.Width = Width;\n\tm_FrameBuffer.Height = Height;\n\tif(\tm_BmpWidth<Width || m_BmpHeight<Height || \n\t\tm_BmpWidth-Width>=RESIZE_DELTA || m_BmpHeight-Height>=RESIZE_DELTA)\n\t{\n\t\tif(m_BmpWidth-Width>=RESIZE_DELTA)\n\t\t\tm_BmpWidth=Width;\n\t\telse\n\t\t\tm_BmpWidth=Width+RESIZE_DELTA;\n\n\t\tif(m_BmpHeight-Height>=RESIZE_DELTA)\n\t\t\tm_BmpHeight=Height;\n\t\telse\n\t\t\tm_BmpHeight=Height+RESIZE_DELTA;\n\n\t\tBitMapInfo.bmiHeader.biBitCount=32;\n\t\tBitMapInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER);\n\t\tBitMapInfo.bmiHeader.biCompression=BI_RGB;\n\t\tBitMapInfo.bmiHeader.biPlanes=1;\n\t\tBitMapInfo.bmiHeader.biSizeImage=0;\n\t\tBitMapInfo.bmiHeader.biClrUsed=0;\n\t\tBitMapInfo.bmiHeader.biClrImportant=0;\n\t\tBitMapInfo.bmiHeader.biHeight=-m_BmpHeight;\n\t\tBitMapInfo.bmiHeader.biWidth=m_BmpWidth;\n\t\tm_hBitmap = CreateDIBSection(NULL,&BitMapInfo,DIB_RGB_COLORS,(void**)&m_FrameBuffer.Buffer,NULL,0);\n\t\tCODE_ASSERT(m_hBitmap);\n\t\tDeleteObject(SelectObject(m_CurMemHDC,m_hBitmap));\n\t\tm_FrameBuffer.LineDistance = m_BmpWidth*(m_FrameBuffer.Bpp/8);\n\t\tm_FrameBuffer.BufferSize = m_FrameBuffer.LineDistance*m_BmpHeight;\n\t}\n}\n\nvoid CWinWisp::ChangeCursor(UINT CursorType,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize,IN CWispDIB*pDIB)\n{\n\tif(m_bHideMouse==false)\n\t{\n\t\tCWispBase::ChangeCursor(CursorType,pMouseHotPT,pMouseSize,pDIB);\n\t\treturn;\n\t}\n\tHICON hCursor;\n\tswitch(CursorType)\n\t{\n\tcase WISP_CT_ARROW:\n\t\thCursor = m_hArrowCursor;\n\t\tbreak;\n\tcase WISP_CT_DRAG_ARROW:\n\t\thCursor = m_hHorzResizeCursor;\n\t\tbreak;\n\tcase WISP_CT_RESIZE_VERT:\n\t\thCursor = m_hVertResizeCursor;\n\t\tbreak;\n\tcase WISP_CT_RESIZE_HORZ:\n\t\thCursor = m_hHorzResizeCursor;\n\t\tbreak;\n\tcase WISP_CT_RESIZE_LEFT_LEAN:\n\t\thCursor = m_hLeftLeanCursor;\n\t\tbreak;\n\tcase WISP_CT_RESIZE_RIGHT_LEAN:\n\t\thCursor = m_hRightLeanCursor;\n\t\tbreak;\n\tdefault:\n\t\treturn;\n\t}\n\tSetClassLong(m_hLocalWnd,GCL_HCURSOR,PTR_TO_NUM(hCursor));\n}\n\nvoid CWinWisp::ChangeHostCursor(IN NUM_PTR CursorData,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize)\n{\n\tICONINFO IconInfo;\n\tHICON hCursor = (HICON)CursorData;\n\tif(GetIconInfo(hCursor,&IconInfo)==FALSE)\n\t\treturn;\n\tpMouseHotPT->x = IconInfo.xHotspot;\n\tpMouseHotPT->y = IconInfo.yHotspot;\n\tpMouseSize->cx = pMouseSize->cy = 0;\n\tSetClassLong(m_hLocalWnd,GCL_HCURSOR,PTR_TO_NUM(hCursor));\n}\n\nint CWinWisp::WinMainStart(HINSTANCE hInstance,LPSTR lpCmdLine, int nCmdShow)\n{\n\tint Result;\n\tm_hLocalInst\t= hInstance;\n\tm_nLocalCmdShow\t= nCmdShow;\n\tm_pCmdLine\t\t= lpCmdLine;\n\tInitializeCriticalSection(&m_CriticalSection);\n\tResult = 0;\n\tif(InitInstance()==false)\n\t\tgoto Exit;\n\tPump();\n\tResult = ExitInstance();\nExit:\n\tDeleteCriticalSection(&m_CriticalSection);\n\treturn Result;\n}\n\nbool CWinWisp::WakeUpMsgThread()\n{\n\tif(m_bMsgSleeping)\n\t{\n\t\t::PostMessage(m_hLocalWnd,WM_WISP_UPDATE,0,0);\n\t}\n\treturn true;\n}\n\nbool CWinWisp::SleepMsgThread()\n{\n\tMSG msg;\n\tif(::GetMessage(&msg,NULL,0,0)==FALSE)\n\t{\n\t\tm_bActive = false;\n\t\treturn true;\n\t}\n\t::TranslateMessage(&msg);\n\t::DispatchMessage(&msg);\n\treturn true;\n}\n\n\n#ifndef WM_MOUSEWHEEL\n#define WM_MOUSEWHEEL\t0x020A\n#endif\n\n#ifndef GET_WHEEL_DELTA_WPARAM\n#define GET_WHEEL_DELTA_WPARAM(wParam)  ((short)HIWORD(wParam))\n#endif\n\n#ifndef WHEEL_DELTA\n#define WHEEL_DELTA\t\t120\n#endif\n\nbool CWinWisp::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\n{\n\tint nRepeat,NewCX,NewCY;\n\tRECT*pRC;\n\tswitch (message)\n\t{\n\tcase WM_ERASEBKGND:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->EndDraw(NULL);\n\t\tbreak;\n\tcase WM_CREATE:\n\t\tgpApp->m_TaskBarCreatedMsg = RegisterWindowMessage(TEXT(\"TaskbarCreated\"));\n\t\tShowCursor(gpApp->m_bHideMouse);\n\t\tSetTimer(hWnd,0,30,NULL);\n\t\tbreak;\n\tcase WM_LBUTTONDBLCLK:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnMouseButtonDBClick(WISP_VK_LBUTTON);\n\t\tbreak;\n\tcase WM_RBUTTONDBLCLK:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnMouseButtonDBClick(WISP_VK_RBUTTON);\n\t\tbreak;\n\tcase WM_LBUTTONDOWN:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnKeyEvent(WISP_VK_LBUTTON,true);\n\t\tbreak;\n\tcase WM_RBUTTONDOWN:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnKeyEvent(WISP_VK_RBUTTON,true);\n\t\tbreak;\n\tcase WM_LBUTTONUP:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnKeyEvent(WISP_VK_LBUTTON,false);\n\t\tbreak;\n\tcase WM_RBUTTONUP:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnKeyEvent(WISP_VK_RBUTTON,false);\n\t\tbreak;\n\tcase WM_MOUSEWHEEL:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnMouseWheel((int)GET_WHEEL_DELTA_WPARAM(wParam)/WHEEL_DELTA);\n\t\tbreak;\n\tcase WM_MOUSEMOVE:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->OnMousePosChg((short)LOWORD(lParam),(short)HIWORD(lParam));\n\t\tbreak;\n\tcase WM_SYSKEYDOWN:\n\tcase WM_KEYDOWN:\n\t\tif(gpApp->m_pRootWnd)\n\t\t{\n\t\t\tnRepeat = LOW_WORD(lParam);\n\t\t\tfor(int n=0;n<nRepeat;n++)\n\t\t\t\tgpApp->OnKeyEvent((UINT)wParam,true,(BYTE)(HIWORD(lParam) & 0xFF));\n\t\t}\n\t\tbreak;\n\tcase WM_SYSKEYUP:\n\tcase WM_KEYUP:\n\t\tif(gpApp->m_pRootWnd)\n\t\t{\n\t\t\tnRepeat = LOW_WORD(lParam);\n\t\t\tfor(int n=0;n<nRepeat;n++)\n\t\t\t\tgpApp->OnKeyEvent((UINT)wParam,false,(BYTE)(HIWORD(lParam) & 0xFF));\n\t\t}\n\t\tbreak;\n\tcase WM_ACTIVATE:\n\t\tif(gpApp->m_pRootWnd)\n\t\t\tgpApp->EndDraw(NULL);\n\t\tbreak;\n\tcase WM_TIMER:\n\t\tgpApp->OnTimer(20);\n\t\tbreak;\n\tcase WM_DESTROY:\n\t\tgpApp->m_bActive = false;\n\t\tbreak;\n\tcase WM_NCCALCSIZE:\n\t\tif(gpApp->m_pRootWnd && wParam)\n\t\t{\n\t\t\tpRC=((NCCALCSIZE_PARAMS*)NUM_TO_PTR(lParam))->rgrc;\n\t\t\tNewCX = pRC->right-pRC->left-gpApp->m_DeltaWndWidth;\n\t\t\tNewCY = pRC->bottom-pRC->top-gpApp->m_DeltaWndHeight;\n\t\t\tif(NewCX>0 && NewCY>0)\n\t\t\t{\n\t\t\t\tgpApp->EnterCriticalSection();\n\t\t\t\tgpApp->m_pRootWnd->m_State = WISP_WST_SIZING;\n\t\t\t\tgpApp->m_pRootWnd->Resize(NewCX,NewCY);\n\t\t\t\tgpApp->m_pRootWnd->m_State = WISP_WST_NORMAL;\n\t\t\t\tgpApp->UpdateFrameBuffer();\n\t\t\t\tgpApp->LeaveCriticalSection();\n\t\t\t}\n\t\t}\n\t\treturn false;\n\tcase WM_WISP_UPDATE:\n\t\treturn true;\n\tdefault:\n\t\tif(message == gpApp->m_TaskBarCreatedMsg)\n\t\t{\n\t\t\tif(gpApp->m_NotifyIconID)\n\t\t\t\tgpApp->InsertNotifyIcon(gpApp->m_NotifyString,gpApp->m_NotifyIconID);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nLRESULT CALLBACK CWinWisp::StaticWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)\n{\n\tif(gpApp->WndProc(hWnd,message,wParam,lParam))\n\t\treturn 0;\n\treturn DefWindowProc(hWnd, message, wParam, lParam);\n}\n\nvoid CWinWisp::EnterCriticalSection()\n{\n\t::EnterCriticalSection(&m_CriticalSection);\n}\n\nvoid CWinWisp::LeaveCriticalSection()\n{\n\t::LeaveCriticalSection(&m_CriticalSection);\n}\n\nbool CWinWisp::SelectDirForm(OUT WISP_PSTR szDir,WISP_PCSTR szTitle)\n{\n\tbool Result;\n\tBROWSEINFOW bi;\n\tLPITEMIDLIST pidl;\n\tLPMALLOC pMalloc;\n\tif(SHGetMalloc(&pMalloc) != NOERROR)\n\t\treturn false;\n\tbi.hwndOwner=m_hLocalWnd;\n\tbi.pidlRoot=NULL;\n\tbi.pszDisplayName=NULL;\n\tbi.lpszTitle=szTitle;\n\tbi.ulFlags=BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;\n\tbi.lpfn=NULL;\n\tbi.lParam=0;\n\tResult = false;\n\tif((pidl=SHBrowseForFolderW(&bi)) != NULL)\n\t{\n\t\tResult = SHGetPathFromIDListW(pidl, szDir)!=FALSE;\n\t\tpMalloc->Free(pidl);\n\t}\n\tpMalloc->Release();\n\treturn Result;\n}\n\nbool CWinWisp::SelectFileForm(IN WISP_PCSTR szInitDir,WISP_PCSTR szFilter,bool bSave,OUT WISP_PSTR szFileName,int Length)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tOPENFILENAMEW OpenFileName;\n\tSTZeroMemory(OpenFileName);\n\tOpenFileName.lStructSize = sizeof(OPENFILENAME);\n\tOpenFileName.hInstance = m_hLocalInst;\n\tOpenFileName.hwndOwner = m_hLocalWnd;\n\tTStrCpy(szBuffer,szFilter);\n\tfor(int n = TStrLen(szBuffer);n>=0;n--)\n\t{\n\t\tif(szBuffer[n]=='|')\n\t\t\tszBuffer[n]=0;\n\t}\n\tOpenFileName.lpstrFilter = szBuffer;\n\tOpenFileName.nMaxFile = Length;\n\tOpenFileName.lpstrFile = szFileName;\n\tOpenFileName.lpstrInitialDir = szInitDir;\n\t*szFileName = 0;\n\treturn GetOpenFileNameW(&OpenFileName)!=FALSE;\n}\n\nvoid CWinWisp::ReportMsg(IN const WISP_CHAR* Format,...)\n{\n\tWCHAR szBuffer[0x200];\n\tva_list Next;\n\tva_start(Next,Format);\n\tTVSPrintf(szBuffer,Format,Next);\n\tva_end(Next);\n\tOutputDebugStringW(szBuffer);\n}\n\n\n"
  },
  {
    "path": "Project/WinWisp/Source/WinWisp.h",
    "content": "#ifndef _WIN_WISP_INTERFACE_\n#define _WIN_WISP_INTERFACE_\n \n#include  \"WispApp.h\"\n\n#define WM_WISP_NOTIFY_ICON\tWM_USER+0x100\n\nclass CWinWisp : public CWispApp\n{\npublic:\n\tCWinWisp();\n\tUINT\t\tm_FrameStyle;\n\tUINT\t\tm_FrameStyleEx;\n\tHWND\t\tm_hLocalWnd;\n\tHINSTANCE\tm_hLocalInst;\n\tHICON\t\tm_hIcon;\n\tHICON\t\tm_hTrayIcon;\n\tint\t\t\tm_nLocalCmdShow;\n\tPSTR\t\tm_pCmdLine;\n\tHDC\t\t\tm_CurWndHDC;\n\tHDC\t\t\tm_CurMemHDC;\n\tHBITMAP\t\tm_hBitmap;\n\tHICON\t\tm_hArrowCursor;\n\tHICON\t\tm_hDragCursor;\n\tHICON\t\tm_hVertResizeCursor;\n\tHICON\t\tm_hHorzResizeCursor;\n\tHICON\t\tm_hLeftLeanCursor;\n\tHICON\t\tm_hRightLeanCursor;\n\tint\t\t\tm_DeltaWndWidth;\n\tint\t\t\tm_DeltaWndHeight;\n\tint\t\t\tm_BmpWidth;\n\tint\t\t\tm_BmpHeight;\n\tCRITICAL_SECTION m_CriticalSection;\n\tCStrA\t\tm_NotifyString;\n\tUINT\t\tm_NotifyIconID;\n\tUINT\t\tm_TaskBarCreatedMsg;\n\tWISP_FRAME_BUFFER m_RealFrameBuffer;\npublic:\n\tbool\tCreateFrame(WISP_CHAR*WndName,int Width,int Height,int Bpp);\n\tbool\tResizingFrame(int Width,int Height);\n\tbool\tResizeHostFrame(int Width,int Height);\n\tvoid\tChangeCursor(UINT CursorType,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize,IN CWispDIB*pDIB = NULL);\n\tvoid\tChangeHostCursor(IN NUM_PTR CursorData,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize);\n\tvoid\tDestroyFrame();\n\tvoid\tSetMouseCaptureNotify();\n\tvoid\tReleaseMouseCaptureNotify();\n\tvoid\tBeginDraw(WISP_RECT*pUpdateRect);\n\tvoid\tEndDraw(WISP_RECT*pUpdateRect);\n\tvoid\tAdjustGDIBitmap(int Width,int Height);\n\tWISP_PSTR GetClipboardString();\n\tbool\tSetClipboardString(WISP_PCSTR String);\n\tHICON\tLoadWinWispCursor(LPCSTR CursorID,WISP_POINT*pHotPT,WISP_SIZE*pSize);\n\tint\t\tWinMainStart(HINSTANCE hInstance,LPSTR lpCmdLine,int nCmdShow);\n\tvirtual\tbool WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);\n\tstatic\tLRESULT CALLBACK StaticWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);\n\tvoid\tRemoveNotifyIcon(UINT IconID);\n\tvoid\tModifyNotifyIcon(UINT IconID);\n\tvoid\tInsertNotifyIcon(PCSTR szTip,UINT IconID);\n\tvoid\tEnterCriticalSection();\n\tvoid\tLeaveCriticalSection();\n\tbool\tSelectDirForm(OUT WISP_PSTR szDir,WISP_PCSTR szTitle = NULL);\n\tbool\tSelectFileForm(IN WISP_PCSTR szInitDir,WISP_PCSTR szFilter,bool bSave,OUT WISP_PSTR szFileName,int Length);\n\tvoid\tReportMsg(IN const WISP_CHAR* Format,...);\n\tbool\tWakeUpMsgThread();\n\tbool\tSleepMsgThread();\n};\n\ntypedef CWinWisp\tCLocalWispApp;\n\nextern CLocalWispApp*\tgpApp;\n\n#endif\n"
  },
  {
    "path": "Project/WinWisp/Source/WispApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispApp.h\"\n\nCWispApp::CWispApp()\n{\n}\n\nCWispApp::~CWispApp()\n{\n}\n\nbool CWispApp::InitInstance()\n{\n\treturn Init();\n}\n\nint\tCWispApp::ExitInstance()\n{\n\tRelease();\n\treturn 0;\n}\n\nint\tCWispApp::Run()\n{\n\tPump();\n\treturn 0;\n}\n\n\n"
  },
  {
    "path": "Project/WinWisp/Source/WispApp.h",
    "content": "#ifndef _WISP_APP_H_\n#define _WISP_APP_H_\n\nclass  CWispApp : public CWispBase\n{\npublic:\n\tCWispApp();\n\t~CWispApp();\npublic:\n\tvirtual\tbool\tInitInstance();\n\tvirtual\tint\t\tExitInstance();\n\tvirtual int\t\tRun();\n};\n\n#endif\n"
  },
  {
    "path": "Project/WinWisp/Win32/WinWisp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/WinWisp/Win32/WinWisp.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"WinWisp\"\n\tProjectGUID=\"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/WinWisp.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/WinWisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/WinWisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinWisp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispApp.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WinWisp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/WinWisp/Win32/WinWisp.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Trial|Win32\">\n      <Configuration>Trial</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{142E5B2E-BB1F-42A2-B357-81F97F85F86E}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <OutDir>$(Configuration)\\</OutDir>\n    <IntDir>$(Configuration)\\</IntDir>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)WinWisp.lib</OutputFile>\n      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)WinWisp.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)WinWisp.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"..\\Source\\WinWisp.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispApp.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n    <ClInclude Include=\"..\\Source\\WinWisp.h\" />\n    <ClInclude Include=\"..\\Source\\WispApp.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/WinWisp/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/WinWisp/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/WinWisp/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/Wisp/Source/DIBData.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispDIB.h\"\n\n#define HH\t\t0x00FFFFFF\n\nCOLORREF BTCaret[2*12]=\n{\t\n\t00,00,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\tHH,HH,\n\t00,00,\n};\n\n"
  },
  {
    "path": "Project/Wisp/Source/DIBData.h",
    "content": "#ifndef _DIB_DATA_H_\n#define _DIB_DATA_H_\n\nextern COLORREF BTCaret[2*12];\n\n#define ICON_REDIOBOX_BMPSIZE 3122\nextern BYTE RedioBoxIconBmp[3122];\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/MakeFile",
    "content": "#\n# DO NOT EDIT THIS FILE!!!  Edit .\\sources. if you want to add a new source\n# file to this component.  This file merely indirects to the real make file\n# that is shared by all the driver components of the Windows NT DDK\n#\n\n!INCLUDE $(NTMAKEENV)\\makefile.def\n"
  },
  {
    "path": "Project/Wisp/Source/Ripple.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Ripple.h\"\n\nCRipple::CRipple()\n{\n\tm_buf1 = NULL;\n\tm_buf2 = NULL;\n}\n\nCRipple::~CRipple()\n{\n\tCleanRippleData();\n}\n\nbool CRipple::InitRipple(int nBackWidth, int nBackHeight, int nDepth, int Pitch)\n{\n\tm_BackWidth  = nBackWidth;\n\tm_BackHeight = nBackHeight;\n\tm_PixelBytes = (nDepth+7)/8;\n\tif(Pitch)\n\t\tm_Pitch = Pitch;\n\telse\n\t\tm_Pitch = m_PixelBytes*m_BackWidth;\n    m_buf1 = new short[m_BackWidth*m_BackHeight];\n\tm_buf2 = new short[m_BackWidth*m_BackHeight];\n\tZeroMemory(m_buf1,m_BackWidth*m_BackHeight*sizeof(short));\n\tZeroMemory(m_buf2,m_BackWidth*m_BackHeight*sizeof(short));\n\treturn true;\n}\n\n//*****************************************************\n//ӲԴ\n//*****************************************************\nvoid CRipple::DropStone(int x,int y,int stonesize,int stoneweight)\n{\n\t//жǷĻΧ\n\tif(x+stonesize>=m_BackWidth || y+stonesize>=m_BackHeight||x-stonesize<0||y-stonesize<0)\n\t\treturn;\n\tfor(int posx=x-stonesize; posx<x+stonesize; posx++)\n\t\tfor(int posy=y-stonesize; posy<y+stonesize; posy++)\n\t\t\tif((posx-x)*(posx-x) + (posy-y)*(posy-y) < stonesize*stonesize)\n\t\t\t\tm_buf1[m_BackWidth*posy+posx] = -stoneweight;\n}\n\n//*******************************************************\n//㲨ݻ\n//*******************************************************\nbool CRipple::RippleSpread()\n{\n\tbool Result;\n\tint pos;\n\tResult=false;\n\tfor(int j=1; j<m_BackHeight-1; j++)\n\t{\n\t\tfor(int i=1; i<m_BackWidth-1; i++)\n\t\t{\n\t\t\tpos = i+m_BackWidth*j;\n\t\t\tif(m_buf2[pos] = ((m_buf1[pos-1]+m_buf1[pos+1]+m_buf1[pos-m_BackWidth]+m_buf1[pos+m_BackWidth])>>1)-m_buf2[pos])\n\t\t\t\tResult = true;\n\t\t\tif(m_buf2[pos] -= m_buf2[pos]>>5)\n\t\t\t\tResult = true;\n\t\t}\n\t}\n\tshort *ptmp =m_buf1;\n\tm_buf1 = m_buf2;\n\tm_buf2 = ptmp;\n\treturn Result;\n}\n\n//*******************************************************\n//ݲݻҳȾ\n//*******************************************************\nvoid CRipple::RenderRipple(void* Bitmap1,void* Bitmap2)\n{\n\t//ҳȾ\n\tint pos1,pos2,xoff,yoff;\n\tint k = m_BackWidth;\n\tfor(int y=1; y<m_BackHeight-1;y++)\n\t{\n\t\tfor(int x=0; x<m_BackWidth;x++)\n\t\t{\n\t\t\t//ƫ\n\t\t\txoff = m_buf1[k-1]-m_buf1[k+1];\n\t\t\tyoff = m_buf1[k-m_BackWidth]-m_buf1[k+m_BackWidth];\n\t\t\t//жǷڴڷΧ\n\t\t\tif(y+yoff < 0 || y+yoff >= m_BackHeight || x+xoff < 0 || x+xoff >= m_BackWidth)\n\t\t\t{\n\t\t\t\tk++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t//ƫغԭʼصڴַƫ\n\t\t\tpos1=m_Pitch*(y+yoff)+ m_PixelBytes*(x+xoff);\n\t\t\tpos2=m_Pitch*y+ m_PixelBytes*x;\n\t\t\t//\n\t\t\tfor(int d=0; d<m_PixelBytes; d++)\n\t\t\t\t((BYTE*)Bitmap2)[pos2++]=((BYTE*)Bitmap1)[pos1++];\n\t\t\tk++;\n\t\t}\n\t}\n}\n// ͷڴ\nvoid CRipple::CleanRippleData()\n{\n\tSafeDelete(m_buf1);\n\tSafeDelete(m_buf2);\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/Ripple.h",
    "content": "#ifndef _RIPPLE_H_\n#define _RIPPLE_H_\n\nclass CRipple\n{\npublic:\n\tCRipple();\n\t~CRipple();\n\tbool\tInitRipple(int nBackWidth, int nBackHeight, int nDepth, int Pitch = 0);\n\tvoid\tCleanRippleData();\n\tvoid\tDropStone(int x,int y,int stonesize,int stoneweight);\n\tbool\tRippleSpread();\n\tvoid\tRenderRipple(void* Bitmap1, void* Bitmap2);\nprivate:\n\tint\t\tm_BackWidth;\t//ͼ\n\tint\t\tm_BackHeight;\t//ͼ߶\n\tint\t\tm_PixelBytes;\t//ɫ \n\tint\t\tm_Pitch;\t\t//ˮƽ\n\tshort*\tm_buf1;\t\t\t//ݻ\n\tshort*\tm_buf2;\t\t\t//ݻ\n};\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/Sources",
    "content": "TARGETNAME=Wisp\nTARGETPATH=Obj\nTARGETTYPE=DRIVER_LIBRARY\n\nC_DEFINES = $(C_DEFINES) /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP\n\nPRECOMPILED_CXX=1\nPRECOMPILED_INCLUDE=StdAfx.h\nPRECOMPILED_PCH=StdAfx.pch\nPRECOMPILED_OBJ=StdAfx.obj\n\nSOURCES=DIBData.cpp\t\t\t\t\\\n\t\tUtility.cpp\t\t\t\t\\\n\t\tWispBase.cpp\t\t\t\\\n\t\tWispDrawHAL.cpp\t\t\t\\\n\t\tWispButton.cpp\t\t\t\\\n\t\tWispToolbar.cpp\t\t\t\\\n\t\tWispDC.cpp\t\t\t\t\\\n\t\tWispDIB.cpp\t\t\t\t\\\n\t\tWispDIBLib.cpp\t\t\t\\\n\t\tWispEdit.cpp\t\t\t\\\n\t\tWispHexWnd.cpp\t\t\t\\\n\t\tWispTabWnd.cpp\t\t\t\\\n\t\tWispWnd.cpp\t\t\t\t\\\n\t\tWispColorStrWnd.cpp\t\t\\\n\t\tWispConsoleWnd.cpp\t\t\\\n\t\tWispCheckBox.cpp\t\t\\\n\t\tWispFont.cpp\t\t\t\\\n\t\tWispMenu.cpp\t\t\t\\\n\t\tWispBaseWnd.cpp\t\t\t\\\n\t\tWispMsgBox.cpp\t\t\t\\\n\t\tWispProgress.cpp\t\t\\\n\t\tWispDrawObj.cpp\t\t\t\\\n\t\tWispSplitWnd.cpp\t\t\\\n\t\tWispRadioBox.cpp\t\t\\\n\t\tWispComboBox.cpp\t\t\\\n\t\tWispStatic.cpp\t\t\t\\\n\t\tWispList.cpp\t\t\t\\\n\t\tWispInfoWnd.cpp\t\t\t\\\n\t\tWispSoftKeyboard.cpp\t\\\n\t\tWispMultiTabView.cpp\t\\\n\t\tWispForm.cpp\t\t\t\\\n\t\tWispCalcWnd.cpp\t\t\t\\\n\t\tWispTipWnd.cpp\t\t\t\\\n\t\tWispOptionForm.cpp\t\t\\\n\t\tWispMisc.cpp\t\t\t\\\n\t\tWispRGBSelect.cpp\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n"
  },
  {
    "path": "Project/Wisp/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include <math.h>\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/Utility.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Utility.h\"\n\n//\tǷھ\nbool PtInRect(IN const WISP_RECT *pRect, IN int x, int y)\n{\n\treturn\tpRect->cx >0 && pRect->cy >0 && x >= pRect->x && y >= pRect->y && x <  pRect->x + pRect->cx && y <  pRect->y + pRect->cy;\n}\n\nbool PtInRect(IN  WISP_RECT *pRect,const IN WISP_POINT*pPoint)\n{\n\treturn\tpRect->cx >0 && pRect->cy >0 && \n\t\t\tpPoint->x >= pRect->x && pPoint->y >= pRect->y &&\n\t\t\tpPoint->x <  pRect->x + pRect->cx && pPoint->y <  pRect->y + pRect->cy;\n}\n\nbool PtInRect(IN  WISP_RECT *pRect,const IN WISP_POINT &Point)\n{\n\treturn\tpRect->cx >0 && pRect->cy >0 && \n\t\t\tPoint.x >= pRect->x && Point.y >= pRect->y &&\n\t\t\tPoint.x <  pRect->x + pRect->cx && Point.y <  pRect->y + pRect->cy;\n}\n\nvoid PointToRect(INOUT WISP_POINT*pPoint,IN WISP_RECT*pRect)\n{\n\tpPoint->x-=pRect->x;\n\tpPoint->y-=pRect->y;\n}\n\nvoid RectToRect(INOUT WISP_RECT*pRect,IN WISP_RECT*pToRect)\n{\n\tpRect->x-=pToRect->x;\n\tpRect->y-=pToRect->y;\n}\n\nvoid PointSpliceRect(INOUT WISP_POINT*pPoint,IN WISP_RECT*pRect)\n{\n\tpPoint->x+=pRect->x;\n\tpPoint->y+=pRect->y;\n}\n\nbool IsInvalidRect(IN WISP_RECT*pRect)\n{\n\treturn pRect->cx<=0 || pRect->cy<=0;\n}\n\nbool ClipLine(INOUT int*pX1,INOUT int*pY1,INOUT int*pX2,INOUT int*pY2,IN WISP_RECT*pRect)\n{\n\tif(*pX1==*pX2)\n\t\treturn ClipVLine(pX1,pY1,pY2,pRect);\n\tif(*pY1==*pY2)\n\t\treturn ClipHLine(pX1,pX2,pY1,pRect);\n\n\tif(*pX1<pRect->x && *pX2<pRect->x)\n\t\treturn false;\n\tif(*pX1>=pRect->x+pRect->cx && *pX2>=pRect->x+pRect->cx)\n\t\treturn false;\n\tif(*pY1<pRect->y && *pY2<pRect->y)\n\t\treturn false;\n\tif(*pY1>=pRect->y+pRect->cy && *pY2>=pRect->y+pRect->cy)\n\t\treturn false;\n\n\tint dx,dy,l;\n\tdx = *pX2 - *pX1;\n\tdy = *pY2 - *pY1;\n\n\tif(*pX1<pRect->x)\n\t{\n\t\tl=pRect->x-*pX1;\n\t\t*pX1=pRect->x;\n\t\t*pY1+=((dy<<16)/dx*l)>>16;\n\t}\n\telse if(*pX1>=pRect->x+pRect->cx)\n\t{\n\t\tl=pRect->x+pRect->cx-1-*pX1;\n\t\t*pX1=pRect->x+pRect->cx-1;\n\t\t*pY1+=((dy<<16)/dx*l)>>16;\n\t}\n\tif(*pX2<pRect->x)\n\t{\n\t\tl=pRect->x-*pX2;\n\t\t*pX2=pRect->x;\n\t\t*pY2+=((dy<<16)/dx*l)>>16;\n\t}\n\telse if(*pX2>=pRect->x+pRect->cx)\n\t{\n\t\tl=pRect->x+pRect->cx-1-*pX2;\n\t\t*pX2=pRect->x+pRect->cx-1;\n\t\t*pY2+=((dy<<16)/dx*l)>>16;\n\t}\n\tif(*pY1<pRect->y)\n\t{\n\t\tl=pRect->y-*pY1;\n\t\t*pY1=pRect->y;\n\t\t*pX1+=((dx<<16)/dy*l)>>16;\n\t}\n\telse if(*pY1>=pRect->y+pRect->cy)\n\t{\n\t\tl=pRect->y+pRect->cy-1-*pY1;\n\t\t*pY1=pRect->y+pRect->cy-1;\n\t\t*pX1+=((dx<<16)/dy*l)>>16;\n\t}\n\tif(*pY2<pRect->y)\n\t{\n\t\tl=pRect->y-*pY2;\n\t\t*pY2=pRect->y;\n\t\t*pX2+=((dx<<16)/dy*l)>>16;\n\t}\n\telse if(*pY2>=pRect->y+pRect->cy)\n\t{\n\t\tl=pRect->y+pRect->cy-1-*pY2;\n\t\t*pY2=pRect->y+pRect->cy-1;\n\t\t*pX2+=((dx<<16)/dy*l)>>16;\n\t}\n\treturn *pX1!=*pX2 || *pY1!=*pY2;\n}\n\n\nbool ClipHLine(INOUT int*pX1,INOUT int*pX2,INOUT int*pY,IN WISP_RECT*pRect)\n{\n\tif(*pX1<pRect->x && *pX2<pRect->x)\n\t\treturn false;\n\tif(*pX1>=pRect->x+pRect->cx && *pX2>=pRect->x+pRect->cx)\n\t\treturn false;\n\tif(*pY<pRect->y || *pY>=pRect->y+pRect->cy)\n\t\treturn false;\n\tif(*pX1<pRect->x)\n\t\t*pX1=pRect->x;\n\telse if(*pX1>=pRect->x+pRect->cx)\n\t\t*pX1=pRect->x+pRect->cx-1;\n\tif(*pX2<pRect->x)\n\t\t*pX2=pRect->x;\n\telse if(*pX2>=pRect->x+pRect->cx)\n\t\t*pX2=pRect->x+pRect->cx-1;\n\treturn *pX1!=*pX2;\n}\n\n\nbool ClipVLine(INOUT int*pX,INOUT int*pY1,INOUT int*pY2,IN WISP_RECT*pRect)\n{\n\tif(*pX<pRect->x || *pX>=pRect->x+pRect->cx)\n\t\treturn false;\n\tif(*pY1<pRect->y && *pY2<pRect->y)\n\t\treturn false;\n\tif(*pY1>=pRect->y+pRect->cy && *pY2>=pRect->y+pRect->cy)\n\t\treturn false;\n\tif(*pY1<pRect->y)\n\t\t*pY1=pRect->y;\n\telse if(*pY1>=pRect->y+pRect->cy)\n\t\t*pY1=pRect->y+pRect->cy-1;\n\tif(*pY2<pRect->y)\n\t\t*pY2=pRect->y;\n\telse if(*pY2>=pRect->y+pRect->cy)\n\t\t*pY2=pRect->y+pRect->cy-1;\n\treturn *pY1!=*pY2;\n}\n\n\nbool ClipRect(INOUT WISP_RECT*pRect,IN WISP_RECT*pClipRect)\n{\n\tif(pRect->x < pClipRect->x)\n\t{\n\t\tpRect->cx-=pClipRect->x-pRect->x;\n\t\tpRect->x=pClipRect->x;\n\t}\n\tif(pRect->y < pClipRect->y)\n\t{\n\t\tpRect->cy-=pClipRect->y-pRect->y;\n\t\tpRect->y=pClipRect->y;\n\t}\n\tif(pRect->x+pRect->cx > pClipRect->x+pClipRect->cx)\n\t\tpRect->cx = pClipRect->x+pClipRect->cx - pRect->x;\n\tif(pRect->y+pRect->cy > pClipRect->y+pClipRect->cy)\n\t\tpRect->cy = pClipRect->y+pClipRect->cy - pRect->y;\n\treturn pRect->cx>0 && pRect->cy>0;\n}\n\nbool IsRectVisible(IN WISP_RECT*pRect,IN WISP_RECT*pClipRect)\n{\n\tWISP_RECT Rect=*pRect;\n\tif(Rect.x < pClipRect->x)\n\t{\n\t\tRect.cx-=pClipRect->x-Rect.x;\n\t\tRect.x=pClipRect->x;\n\t}\n\tif(Rect.y < pClipRect->y)\n\t{\n\t\tRect.cy-=pClipRect->y-Rect.y;\n\t\tRect.y=pClipRect->y;\n\t}\n\tif(Rect.x+Rect.cx > pClipRect->x+pClipRect->cx)\n\t\tRect.cx = pClipRect->x+pClipRect->cx - Rect.x;\n\tif(Rect.y+Rect.cy > pClipRect->y+pClipRect->cy)\n\t\tRect.cy = pClipRect->y+pClipRect->cy - Rect.y;\n\treturn Rect.cx>0 && Rect.cy>0;\n}\n\nvoid MergeRect(IN WISP_RECT*pRect1,IN WISP_RECT*pRect2,OUT WISP_RECT*pRect)\n{\n\tif(pRect1==NULL || pRect2==NULL)\n\t\treturn;\n\tif(pRect1->cx <=0 || pRect1->cy <=0)\n\t{\n\t\t*pRect = *pRect2;\n\t\treturn;\n\t}\n\tif(pRect2->cx <=0 || pRect2->cy <=0)\n\t{\n\t\t*pRect = *pRect1;\n\t\treturn;\n\t}\n\tpRect->x = MIN(pRect1->x,pRect2->x);\n\tpRect->y = MIN(pRect1->y,pRect2->y);\n\tpRect->cx= MAX(pRect1->x+pRect1->cx,pRect2->x+pRect2->cx) - pRect->x;\n\tpRect->cy= MAX(pRect1->y+pRect1->cy,pRect2->y+pRect2->cy) - pRect->y;\n}\n\nvoid MergeRect(IN WISP_RECT*pRect1,INOUT WISP_RECT*pRect2)\n{\n\tint x,y,cx,cy;\n\tif(pRect1->cx <=0 ||pRect1->cy <=0)\n\t\treturn;\n\tif(pRect2->cx <=0 ||pRect2->cy <=0)\n\t{\n\t\t*pRect2 = *pRect1;\n\t\treturn;\n\t}\n\tx = MIN(pRect1->x,pRect2->x);\n\ty = MIN(pRect1->y,pRect2->y);\n\tcx= MAX(pRect1->x+pRect1->cx,pRect2->x+pRect2->cx) - x;\n\tcy= MAX(pRect1->y+pRect1->cy,pRect2->y+pRect2->cy) - y;\n\tpRect2->x = x;\n\tpRect2->y = y;\n\tpRect2->cx = cx;\n\tpRect2->cy = cy;\n}\n\nbool RectInRect(const IN WISP_RECT&Rect,const IN WISP_RECT&TestRect)\n{\n\treturn\tTestRect.x >= Rect.x &&\n\t\t\tTestRect.x + TestRect.cx < Rect.x + Rect.cx &&\n\t\t\tTestRect.y >= Rect.y &&\n\t\t\tTestRect.y + TestRect.cy < Rect.y + Rect.cy;\n}\n\nCOLORREF FindFitColor(COLORREF Color,COLORREF*Pal)\n{\n\tlong MinDelta,Delta,nDelta;\n\tMinDelta = 0x7FFFFFFF;\n\tnDelta = 0;\n\tfor(int n=0;n<256;n++)\n\t{\n\t\tDelta = ABS((long)Color-(long)Pal[n]);\n\t\tif(Delta==0)\n\t\t\treturn n;\n\t\tif(MinDelta>Delta)\n\t\t{\n\t\t\tMinDelta = Delta;\n\t\t\tnDelta = n;\n\t\t}\n\t}\n\treturn nDelta;\n}\n\nvoid ColorStrSet(WISP_COLOR_CHAR*Src,int Len,BYTE TXTColor,BYTE BKColor)\n{\n\twhile(Len)\n\t{\n\t\t*Src += (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tLen--;\n\t}\n}\n\nint ColorStrNCpy(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,int Count,BYTE TXTColor,BYTE BKColor)\n{\n\tint len=0;\n\twhile(*Src && Count--)\n\t{\n\t\t*Des = (WISP_COLOR_CHAR)*Src + (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tDes++;\n\t\tlen++;\n\t}\n\t*Des=0;\n\treturn len;\n}\n\nint ColorStrCpy(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,BYTE TXTColor,BYTE BKColor)\n{\n\tint len=0;\n\twhile(*Src)\n\t{\n\t\t*Des = (WISP_COLOR_CHAR)*Src + (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tDes++;\n\t\tlen++;\n\t}\n\t*Des=0;\n\treturn len;\n}\n\nint ColorStrCat(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,BYTE TXTColor,BYTE BKColor)\n{\n\tint len=0;\n\tDes+=TStrLen(Des);\n\twhile(*Src)\n\t{\n\t\t*Des = (WISP_COLOR_CHAR)*Src + (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tDes++;\n\t\tlen++;\n\t}\n\t*Des=0;\n\treturn len;\n}\n\nint ColorStrCpy(WISP_COLOR_CHAR*Des,const CHAR*Src,BYTE TXTColor,BYTE BKColor)\n{\n\tint len=0;\n\twhile(*Src)\n\t{\n\t\t*Des = (WISP_COLOR_CHAR)*Src + (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tDes++;\n\t\tlen++;\n\t}\n\t*Des=0;\n\treturn len;\n}\n\nint ColorStrCat(WISP_COLOR_CHAR*Des,const CHAR*Src,BYTE TXTColor,BYTE BKColor)\n{\n\tint len=0;\n\tDes+=TStrLen(Des);\n\twhile(*Src)\n\t{\n\t\t*Des = (WISP_COLOR_CHAR)*Src + (TXTColor<<16) + (BKColor<<24);\n\t\tSrc++;\n\t\tDes++;\n\t\tlen++;\n\t}\n\t*Des=0;\n\treturn len;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/Utility.h",
    "content": "#ifndef _WISP_UTILITY_H_\n#define _WISP_UTILITY_H_\n\n#include \"WispDefine.h\"\n#include \"WispMsgDefine.h\"\n\n//\tǷھ\nbool PtInRect(IN const WISP_RECT *pRect, IN int x, int y);\nbool PtInRect(IN  WISP_RECT *pRect,const IN WISP_POINT*pPoint);\nbool PtInRect(IN  WISP_RECT *pRect,const  IN WISP_POINT &Point);\nvoid PointToRect(INOUT WISP_POINT*pPoint,IN WISP_RECT*pRect);\nvoid RectToRect(INOUT WISP_RECT*pRect,IN WISP_RECT*pToRect);\nvoid PointSpliceRect(INOUT WISP_POINT*pPoint,IN WISP_RECT*pRect);\nbool IsInvalidRect(IN WISP_RECT*pRect);\n//üֱ\nbool ClipLine(INOUT int*pX1,INOUT int*pY1,INOUT int*pX2,INOUT int*pY2,IN WISP_RECT*pRect);\nbool ClipHLine(INOUT int*pX1,INOUT int*pX2,INOUT int*pY,IN WISP_RECT*pRect);\nbool ClipVLine(INOUT int*pX,INOUT int*pY1,INOUT int*pY2,IN WISP_RECT*pRect);\n//ü\nbool ClipRect(INOUT WISP_RECT*pRect,IN WISP_RECT*pClipRect);\nbool IsRectVisible(IN WISP_RECT*pRect,IN WISP_RECT*pClipRect);\n//ںϾ\nvoid MergeRect(IN WISP_RECT*pRect1,IN WISP_RECT*pRect2,OUT WISP_RECT*pRect);\nvoid MergeRect(IN WISP_RECT*pRect1,INOUT WISP_RECT*pRect2);\n//Ƿھ\nbool RectInRect(const IN WISP_RECT&Rect,const IN WISP_RECT&TestRect);\n//صʱС\n//bool CalcUpdateRect(const IN WISP_RECT&Rect,INOUT WISP_RECT&UpdateRect);\nCOLORREF FindFitColor(COLORREF Color,COLORREF*Pal);\ninline bool IsColorString(WISP_PCSTR pStr){return pStr && *pStr==0xFFFF;}\ninline const WISP_COLOR_CHAR* GetColorString(WISP_PCSTR pStr){return (const WISP_COLOR_CHAR*)&pStr[2];}\n\n/////////////////////////////////////////////////////////////////////////////////////////////////////////\n//class WispRect\n/////////////////////////////////////////////////////////////////////////////////////////////////////////\nclass CWispRect : public WISP_RECT\n{\npublic:\n\tCWispRect(){x=y=cx=cy=0;}\n\tCWispRect(LONG nx,LONG ny,LONG ncx,LONG ncy){ x=nx; y=ny; cx=ncx; cy=ncy; }\n\tCWispRect(const WISP_RECT&rc){ x=rc.x; y=rc.y; cx=rc.cx; cy=rc.cy; }\n\tCWispRect(const WISP_RECT*pRC){ x=pRC->x; y=pRC->y; cx=pRC->cx; cy=pRC->cy; }\n\tCWispRect(const WISP_POINT&pt,const WISP_SIZE &size){ x=pt.x; y=pt.y; cx=size.cx;cy=size.cy; }\n\tCWispRect(const WISP_POINT&LeftPT,const WISP_POINT&RightPT){x=LeftPT.x;y=LeftPT.y;cx=RightPT.x-x;cy=RightPT.y-y;}\n\tvoid DeflateRect(int nX, int nY) { x+=nX; y+=nY; cx-=2*nX; cy-=2*nY; }\n\tvoid OffsetRect(int nX, int nY) { x+=nX; y+=nY; }\n\tvoid operator=(const WISP_RECT& srcRect){ x = srcRect.x; y=srcRect.y; cx=srcRect.cx; cy=srcRect.cy; }\n\tbool operator==(const WISP_RECT&rc) { return x==rc.x && y==rc.y && cx==rc.cx && cy==rc.cy; }\n\tbool operator!=(const WISP_RECT&rc) { return x!=rc.x || y!=rc.y || cx!=rc.cx || cy!=rc.cy; }\n\tvoid operator+=(WISP_POINT pt){ x+=pt.x; y+=pt.y; }\n\tvoid operator+=(WISP_SIZE size){ x+=size.cx; y+=size.cy; }\n\tvoid operator+=(WISP_RECT&RC){ x+=RC.x; y+=RC.y; }\n\tvoid operator-=(WISP_POINT pt){ x-=pt.x; y-=pt.y; }\n\tvoid operator-=(WISP_SIZE size){ x-= size.cx; y-= size.cy; }\n\tvoid operator-=(WISP_RECT&RC){ x-=RC.x; y-=RC.y; }\n\tvoid operator&=(const WISP_RECT&rc)\n\t{\n\t\t\n\t}\n\tvoid operator|=(const WISP_RECT&rc)\n\t{\n\t\tLONG MinX,MinY,MaxX,MaxY;\n\t\tMinX=MIN(x,rc.x);\n\t\tMinY=MIN(y,rc.y);\n\t\tMaxX=MAX(x+cx,rc.x+rc.y);\n\t\tMaxY=MAX(y+cy,rc.y+rc.y);\n\t\tx=MinX;y=MinY;\n\t\tcx=MaxX-MinX;cy=MaxY-MinY;\n\t}\n\n\tCWispRect operator+(WISP_POINT pt)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x+pt.x;\n\t\tRC.y=y+pt.y;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator+(WISP_RECT*pRC)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x+pRC->x;\n\t\tRC.y=y+pRC->y;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator+(WISP_RECT rc)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x+rc.x;\n\t\tRC.y=y+rc.y;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator+(WISP_SIZE size)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x+size.cx;\n\t\tRC.y=y+size.cy;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator-(WISP_POINT pt)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x-pt.x;\n\t\tRC.y=y-pt.y;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator-(WISP_RECT &RC)\n\t{\n\t\tCWispRect rRC;\n\t\trRC.x=x-RC.x;\n\t\trRC.y=y-RC.y;\n\t\trRC.cx=cx;\n\t\trRC.cy=cy;\n\t\treturn rRC;\n\t}\n\tCWispRect operator-(WISP_SIZE size)\n\t{\n\t\tCWispRect RC;\n\t\tRC.x=x-size.cx;\n\t\tRC.y=y-size.cy;\n\t\tRC.cx=cx;\n\t\tRC.cy=cy;\n\t\treturn RC;\n\t}\n\tCWispRect operator&(const WISP_RECT&rc)\n\t{\n\t\t\n\t}\n\tCWispRect operator|(const WISP_RECT&rc)\n\t{\n\t\tCWispRect RC;\n\t\tLONG MinX,MinY,MaxX,MaxY;\n\t\tMinX=MIN(x,rc.x);\n\t\tMinY=MIN(y,rc.y);\n\t\tMaxX=MAX(x+cx,rc.x+rc.y);\n\t\tMaxY=MAX(y+cy,rc.y+rc.y);\n\t\tRC.x=MinX;\n\t\tRC.y=MinY;\n\t\tRC.cx=MaxX-MinX;\n\t\tRC.cy=MaxY-MinY;\n\t\treturn RC;\n\t}\n\tint y2() { return y+cy-1; }\n\tint x2() { return x+cx-1; }\n\toperator WISP_RECT*() const\n\t{\n\t\treturn (WISP_RECT*)this;\n\t}\n\tvoid SetRect(int nx,int ny,int ncx,int ncy)\n\t{\n\t\tx = nx;\n\t\ty = ny;\n\t\tcx = ncx;\n\t\tcy = ncy;\n\t}\n};\n\nint ColorStrNCpy(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,int Count,BYTE TXTColor,BYTE BKColor);\nint ColorStrCpy(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,BYTE TXTColor,BYTE BKColor);\nint ColorStrCat(WISP_COLOR_CHAR*Des,const WISP_CHAR*Src,BYTE TXTColor,BYTE BKColor);\nvoid ColorStrSet(WISP_COLOR_CHAR*Src,int Len,BYTE TXTColor,BYTE BKColor);\nint ColorStrCpy(WISP_COLOR_CHAR*Des,const CHAR*Src,BYTE TXTColor,BYTE BKColor);\nint ColorStrCat(WISP_COLOR_CHAR*Des,const CHAR*Src,BYTE TXTColor,BYTE BKColor);\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/Wisp.h",
    "content": "#ifndef _WISP_H_\n#define _WISP_H_\n\n#include \"WispBase.h\"\n#include \"WispFont.h\"\n#include \"WispMultiTabView.h\"\n#include \"WispHexWnd.h\"\n#include \"WispConsoleWnd.h\"\n#include \"WispCheckBox.h\"\n#include \"WispStatic.h\"\n#include \"WispProgress.h\"\n#include \"WispMsgBox.h\"\n#include \"WispSplitWnd.h\"\n#include \"WispInfoWnd.h\"\n#include \"WispCalcWnd.h\"\n#include \"WispRadioBox.h\"\n#include \"WispComboBox.h\"\n#include \"WispToolbar.h\"\n#include \"WispSoftKeyboard.h\"\n#include \"WispTipWnd.h\"\n#include \"Ripple.h\"\n#include \"Wisp3D.h\"\n#include \"WispTaskPanel.h\"\n#include \"WispOptionForm.h\"\n#include \"WispMenu.h\"\n#include \"WispMisc.h\"\n#include \"WispRGBSelect.h\"\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/Wisp3D.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Wisp3D.h\"\n\n\n//*****************************clip_edges************************************\nBYTE cross_code(WISP_WIN*win,char edge, VS_2D v1,VS_2D v2)\n{\n\tswitch(edge)\n\t{\n\tcase 0:{ if(v1.x>=win->min_x && v2.x>=win->min_x) return 0;\n\t\tif(v1.x< win->min_x && v2.x>=win->min_x) return 1;\n\t\tif(v1.x>=win->min_x && v2.x< win->min_x) return 2;\n\t\tif(v1.x< win->min_x && v2.x< win->min_x) return 3;\n\t\t   }\n\n\tcase 1:{ if(v1.x<=win->max_x && v2.x<=win->max_x) return 0;\n\t\tif(v1.x> win->max_x && v2.x<=win->max_x) return 1;\n\t\tif(v1.x<=win->max_x && v2.x> win->max_x) return 2;\n\t\tif(v1.x> win->max_x && v2.x> win->max_x) return 3;\n\t\t   }\n\n\tcase 2:{ if(v1.y>=win->min_y && v2.y>=win->min_y) return 0;\n\t\tif(v1.y< win->min_y && v2.y>=win->min_y) return 1;\n\t\tif(v1.y>=win->min_y && v2.y< win->min_y) return 2;\n\t\tif(v1.y< win->min_y && v2.y< win->min_y) return 3;\n\t\t   }\n\n\tcase 3:{ if(v1.y<=win->max_y && v2.y<=win->max_y) return 0;\n\t\tif(v1.y> win->max_y && v2.y<=win->max_y) return 1;\n\t\tif(v1.y<=win->max_y && v2.y> win->max_y) return 2;\n\t\tif(v1.y> win->max_y && v2.y> win->max_y) return 3;\n\t\t   }\n\tdefault:return 0;       \n\t}\n\n}\n\n\nVS_2D cross_v(WISP_WIN*win,char edge,VS_2D v1,VS_2D v2)\n{\n\tfloat m=0,edge_xy;\n\tVS_2D v;\n\n\tif(edge<2)\n\t{\n\t\tif(edge==0)edge_xy=(float)win->min_x;\n\t\telse       edge_xy=(float)win->max_x;\n\n\t\tif(v1.x!=v2.x) m=(v2.y-v1.y)/(v2.x-v1.x);\n\n\t\tv.x=edge_xy;\n\t\tv.y=m*(v.x-v1.x)+v1.y;\n\t}\n\telse\n\t{\n\t\tif(edge==2)edge_xy=(float)win->min_y;\n\t\telse       edge_xy=(float)win->max_y;\n\n\t\tif(v1.y!=v2.y)m=(v2.x-v1.x)/(v2.y-v1.y);\n\n\t\tv.y=edge_xy;\n\t\tv.x=m*(v.y-v1.y)+v1.x;\n\t}\n\n\treturn v;\n}\n\n\nvoid copy_es_2d(ES_2D*se,ES_2D*de)\n{\n\tVS_2D*p1,*p2;\n\tp1=se->vp;\n\tp2=de->vp;\n\n\tfor(unsigned n=0;n<=se->vn;n++)\n\t\tp2[n]=p1[n];\n\n\tde->vn=se->vn;\n\n\treturn;\n}\n\nvoid link_hd(ES_2D*e)\n{\n\tVS_2D*p=e->vp;\n\tp[e->vn]=p[0];\n\treturn;\n}\n\n\nvoid clipedges(WISP_WIN*win,ES_2D*sp)\n{\n\tBYTE code;\n\tVS_2D*svp,*dvp; \n\tES_2D temp;\n\tunsigned tvn;\n\n\tsvp=temp.vp;\n\tdvp=sp->vp;\n\n\tfor(char edge=0;edge<4;edge++)\n\t{ \n\t\tcopy_es_2d(sp,&temp);\n\t\tlink_hd(&temp);\n\t\ttvn=0;\n\n\t\tfor(unsigned n=0;n<temp.vn;n++)\n\t\t{\n\t\t\tcode=cross_code(win,edge,svp[n],svp[n+1]);\n\t\t\tswitch(code)\n\t\t\t{\n\t\t\tcase 0:{dvp[tvn]=svp[n+1];\n\t\t\t\ttvn++;\n\t\t\t\tbreak;\n\t\t\t\t   }\n\t\t\tcase 1:{dvp[tvn]=cross_v(win,edge,svp[n],svp[n+1]);\n\t\t\t\ttvn++;\n\t\t\t\tdvp[tvn]=svp[n+1];\n\t\t\t\ttvn++;\n\t\t\t\tbreak;\n\t\t\t\t   }\n\t\t\tcase 2:{dvp[tvn]=cross_v(win,edge,svp[n],svp[n+1]);\n\t\t\t\ttvn++;\n\t\t\t\tbreak;\n\t\t\t\t   }\n\n\t\t\tdefault:break;\n\t\t\t}//end switch\n\n\t\t}//end for(vn)\n\t\tsp->vn=tvn;\n\n\t}//end for(edge)\n\treturn;\n}//end fuction\n\n\n\n//****************************************************************\nvoid wctovc(WISP_VIEW*view,VS_3D*vs)\n{\n\n\tfloat x,y,z;\n\tx=vs->x-view->ox;\n\ty=vs->y-view->oy;\n\tz=vs->z-view->oz;\n\n\tvs->x=view->u1*x+view->u2*y+view->u3*z;\n\tvs->y=view->v1*x+view->v2*y+view->v3*z;\n\tvs->z=view->w1*x+view->w2*y+view->w3*z;\n\n\treturn;\n}\n\nvoid vcto2dc(WISP_VIEW*view,VS_3D *s,VS_2D *d)\n{\n\tfloat u;\n\tu=view->dp/(view->dp+s->z);\n\n\td->x=s->x*u;\n\td->y=s->y*u;\n\n\treturn;\n}\n\nBYTE cross_code_3d(VS_3D v1,VS_3D v2)\n{\n\tif(v1.z>=0&&v2.z>=0)return 0;\n\tif(v1.z< 0&&v2.z>=0)return 1;\n\tif(v1.z>=0&&v2.z< 0)return 2;\n\treturn 3;\n}\n\nVS_3D cross_v_3d(VS_3D v1,VS_3D v2)\n{\n\tfloat ux,uy;\n\tVS_3D res;\n\tux=(v1.x-v2.x)/(v2.z-v1.z);\n\tuy=(v1.y-v2.y)/(v2.z-v1.z);\n\n\tres.x=ux*v1.z+v1.x;\n\tres.y=uy*v1.z+v1.y;\n\tres.z=0;\n\treturn res;\n}\n\nvoid link_hd_3d(ES_3D*e)\n{\n\tVS_3D*p=e->vp;\n\tp[e->vn]=p[0];\n\treturn;\n}\n\nvoid copy_es_3d(ES_3D*se,ES_3D*de)\n{\n\tVS_3D*p1,*p2;\n\tp1=se->vp;\n\tp2=de->vp;\n\n\tfor(unsigned n=0;n<=se->vn;n++)\n\t\tp2[n]=p1[n];\n\n\tde->vn=se->vn;\n\n\treturn;\n}\n\nvoid clip_z0_es_3d(ES_3D*sp)\n{\n\tBYTE code;   \n\tunsigned tvn=0;\n\n\tES_3D temp;\n\n\tcopy_es_3d(sp,&temp);\n\tlink_hd_3d(&temp);\n\n\tVS_3D*svp=temp.vp;\n\tVS_3D*dvp=sp->vp;  \n\n\tfor(unsigned n=0;n<temp.vn;n++)\n\t{\n\t\tcode=cross_code_3d(svp[n],svp[n+1]);\n\t\tswitch(code)\n\t\t{\n\t\tcase 0:{dvp[tvn]=svp[n+1];\n\t\t\ttvn++;\n\t\t\tbreak;\n\t\t\t   }\n\t\tcase 1:{dvp[tvn]=cross_v_3d(svp[n],svp[n+1]);\n\t\t\ttvn++;\n\t\t\tdvp[tvn]=svp[n+1];\n\t\t\ttvn++;\n\t\t\tbreak;\n\t\t\t   }\n\t\tcase 2:{dvp[tvn]=cross_v_3d(svp[n],svp[n+1]);\n\t\t\ttvn++;\n\t\t\tbreak;\n\t\t\t   }\n\n\t\tdefault:break;\n\t\t}//end switch\n\n\t}//end for(vn)\n\tsp->vn=tvn;\n\treturn;\n}\n\n\nvoid clipwin_E3toE2(WISP_WIN*win,WISP_VIEW*view,ES_3D *s_p,ES_2D *d_p,CWispDC*pDC)\n{\n\tBYTE code1=0,code2=0;\n\tVS_3D*s_vp=s_p->vp;\n\tVS_2D*d_vp=d_p->vp;\n\tunsigned n;\n\tfor( n=0;n<s_p->vn;n++)\n\t\twctovc(view,&s_vp[n]);\n\n\tfor(n=0;n<s_p->vn;n++) \n\t{     \n\t\tif(s_vp[n].z<0)code2=1;\n\t\telse           code1=1;   \n\t}  \n\n\tif(code1==1&&code2==1)clip_z0_es_3d(s_p);\n\n\tif(code2==1&&code1==0){d_p->vn=0;return;}\n\n\tfor(n=0;n<s_p->vn;n++)\n\t\tvcto2dc(view,&s_vp[n],&d_vp[n]);\n\n\td_p->vn=s_p->vn;\n\n\tclipedges(win,d_p);\n\n\tfor(n=0;n<d_p->vn;n++)\n\t{\n\t\td_vp[n].x+=pDC->m_pRect->cx/2;\n\t\td_vp[n].y+=pDC->m_pRect->cy/2;\n\t}\n}\n\n\nvoid draw_edges(ES_2D*ep,COLORREF color,CWispDC*pDC)\n{\n\tfloat x1,y1,x2,y2; \n\tlink_hd(ep);\n\tfor(unsigned n=0;n<ep->vn;n++)\n\t{ \n\t\tx1=ep->vp[n].x;y1=ep->vp[n].y;\n\t\tx2=ep->vp[n+1].x;y2=ep->vp[n+1].y;\n\t\tpDC->DrawLine((int)x1,(int)y1,(int)x2,(int)y2,color);\n\t}\n}\n\nvoid draw_obj(WISP_WIN*win,WISP_VIEW*view,OBJ *obj,COLORREF color,CWispDC*pDC)\n{\n\tES_2D tes2D;\n\tES_3D tes3D;\n\tfor(unsigned n=0;n<obj->en;n++)\n\t{\n\t\tcopy_es_3d(&(obj->ep[n]),&tes3D);\n\t\tclipwin_E3toE2(win,view,&tes3D,&tes2D,pDC);\n\t\tdraw_edges(&tes2D,color,pDC);\n\t}\n}\n\nvoid draw_sky_ground(char sky,char ground)\n{\n\treturn;\n}\n\nvoid change_view(WISP_VIEW*view,float rl,float du)\n{\n\tfloat x,y,cos_a,sin_a; \n\n\tif(rl!=0)\n\t{\n\t\tx=view->w1;y=view->w2;\n\t\tcos_a=cos(rl);sin_a=sin(rl);\n\t\tview->w1=x*cos_a-y*sin_a;\n\t\tview->w2=x*sin_a+y*cos_a;\n\n\t\tx=view->u1;y=view->u2;\n\t\tview->u1=x*cos_a-y*sin_a;\n\t\tview->u2=x*sin_a+y*cos_a;\n\n\t\tx=view->v1;y=view->v2;\n\t\tview->v1=x*cos_a-y*sin_a;\n\t\tview->v2=x*sin_a+y*cos_a;\n\t}\n\treturn;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/Wisp3D.h",
    "content": "#ifndef _WISP_3D_H_\n#define _WISP_3D_H_\n\n#include \"WispDC.h\"\n\n#define MAX_NV 30\n#define MAX_NV_3D 30\n\nstruct VS_2D\n{\n\tfloat x;\n\tfloat y;\n};\n\nstruct VS_3D\n{\n\tfloat x;\n\tfloat y;\n\tfloat z;\n};\n\nstruct ES_2D\n{\n\tVS_2D vp[MAX_NV];\n\tunsigned vn;\n};\n\n\nstruct ES_3D\n{\n\tVS_3D vp[MAX_NV_3D];\n\tunsigned vn;\n};\n\nstruct OBJ\n{\n\tES_3D *ep;\n\tunsigned en;\n};\n\nstruct WISP_WIN\n{\n\tint min_x;\n\tint min_y;\n\tint max_x;\n\tint max_y;\n};\n\nstruct WISP_VIEW\n{\n\tfloat dp;\n\tfloat ox,oy,oz;\n\tfloat u1,u2,u3;\n\tfloat v1,v2,v3;\n\tfloat w1,w2,w3;\n};\n\nvoid draw_obj(WISP_WIN*win,WISP_VIEW*view,OBJ *obj,COLORREF color,CWispDC*pDC);\nvoid change_view(WISP_VIEW*view,float rl,float du);\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispBase.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispBase.h\"\n#include \"WispFont.h\"\n#include \"WispMsgBox.h\"\n#include \"DIBData.h\"\n\n\n#define WND_MSG_CONDITION(pWnd)\t(m_pModalWnd ==NULL || pWnd->IsChildWndOf(m_pModalWnd) || pWnd==m_pModalWnd)\n\nCWispBase*gpCurWisp=NULL;\n\nCWispBase::CWispBase()\n{\n\tm_Metrics[WISP_SM_CAPTION_CY]=WISP_CAPTION_HEIGHT;\n\tm_Metrics[WISP_SM_CAPTION_BT_SIZE]=WISP_CAPTION_BT_SIZE;\n\tm_Metrics[WISP_SM_BORDER_SIZE]=WISP_BORDER_SIZE;\n\tm_Metrics[WISP_SM_THIN_BORDER_SIZE]=WISP_THIN_BORDER_SIZE;\n\tm_Metrics[WISP_SM_SCROLL_BAR_SIZE]=WISP_SCROLL_BORDER_SIZE;\n\tm_Metrics[WISP_SM_FONT_FRAME_HEIGHT]=WISP_FONT_FRAME_HEIGHT;\n\tm_Metrics[WISP_SM_RESIZE_SPACE]=WISP_RESIZE_SPACE;\n\tm_pRootWnd=NULL;\n\tZeroMemory(m_PalColors,sizeof(m_PalColors));\n\tSTZeroMemory(m_FrameBuffer);\n\tmemcpy(m_PalColors,m_DefColorPal,sizeof(m_PalColors));\n\tm_bHideMouse = false;\n\tm_pszDiskList = NULL;\n\tm_bActive = false;\n\tGetModulePath(m_CurDir);\n\tm_DefaultFontType = WISP_FONT_6X12;\n\tm_iKeyboardLayer=0;\n}\n\nCWispBase::~CWispBase()\n{\n}\n\nbool CWispBase::Init()\n{\n\tint Length;\n\tPCSTR szBegin,szEnd;\n\tchar szWispDatFN[MAX_FN_LEN],*szFileName;\n\tWISP_POINT pt;\n\tgpCurWisp=this;\n\tm_bActive = false;\n\tm_pCurDrawObj=NULL;\n\tm_KeySimulateMouse = false;\n///////////////////////////////////////////////////////////////////////////////////////////////////\n//Open wisp data disk file\n///////////////////////////////////////////////////////////////////////////////////////////////////\n\tif(m_pszDiskList==NULL)\n\t\tm_pszDiskList = \"Wisp.dat\";\n\tm_PFSFileIO.ChangeFileIO(gpFileIO);\n\tLength=TStrCpy(szWispDatFN,m_CurDir);\n\tif(Length && szWispDatFN[Length-1]!=PATH_SEPARATOR_CHAR)\n\t\tTStrCat(szWispDatFN,PATH_SEPARATOR_STR);\n\tszFileName=&szWispDatFN[TStrLen(szWispDatFN)];\n\tszBegin = m_pszDiskList;\n\twhile(*szBegin)\n\t{\n\t\tszEnd = TStrChr(szBegin,';');\n\t\tif(szEnd)\n\t\t{\n\t\t\tTStrCpyLimit(szFileName,szBegin,(int)(szEnd-szBegin)+1);\n\t\t\tszEnd++;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tTStrCpy(szFileName,szBegin);\n\t\t\tszEnd = &szBegin[TStrLen(szBegin)];\n\t\t}\n\t\tif(m_PFSFileIO.OpenDisk(szWispDatFN,\n\t\t\t#ifdef CODE_OS_NT_DRV\n\t\t\tPFS_FULL_DISK_CACHE|PFS_WRITE_COPY\n\t\t\t#else\n\t\t\tPFS_WRITE_COPY\n\t\t\t#endif\n\t\t\t)==false)\n\t\t{\n\t\t\tReportMsg(WSTR(\"Error : Fail to open %s!\\n\"),szWispDatFN);\n\t\t\tm_PFSFileIO.CloseAllDisk();\n\t\t\treturn false;\n\t\t}\n\t\tszBegin = szEnd;\n\t}\n///////////////////////////////////////////////////////////////////////////////////////////////////\n\tZeroMemory(m_KeyMap,sizeof(m_KeyMap));\n\tZeroMemory(m_LockMap,sizeof(m_LockMap));\n\tZeroMemory(&m_MousePT,sizeof(m_MousePT));\n\tZeroMemory(&m_PrevMousePT,sizeof(m_PrevMousePT));\n\tm_bUpdate=false;\n\tm_LockRef=0;\n\tm_DefDIB[WISP_DI_CARET].Create(2,12,WISP_DIB_TK_XOR);\n\tmemcpy(m_DefDIB[WISP_DI_CARET].m_FrameBuffer.Buffer,BTCaret,m_DefDIB[WISP_DI_CARET].m_FrameBuffer.BufferSize);\n\tpt.x=pt.y=8;\n\tm_pRootWnd=NULL;\n\tm_bNeedUpdate=false;\n\tfor(int n=0;n<WISP_FONT_COUNT;n++)\n\t{\n\t\tm_FontList[n].LoadChar(&m_PhysFontInfo[n]);\n\t\tm_FontList[n].LoadWideChar(&m_PhysFontInfo[n]);\n\t}\n\tm_pTopMostRootWnd = NULL;\n\tm_pHelpTipWnd = NULL;\n\tm_pModalWnd = NULL;\n\tm_pDragWnd = NULL;\n\tm_pMoveWnd = NULL;\n\tm_RepKeyIndex = WISP_VK_NULL;\n\tm_CursorTypeBak = m_CursorType = WISP_CT_ARROW;\n\tm_BaseWndCount = m_WndCount = 0;\n\tm_KeyLockRef = m_TimerRef = 0;\n\tm_ModKeyState = 0;\n\tm_ModelLevel = 0;\n\tSelectDrawObject(&m_DIBDrawObj);\n\treturn true;\n}\n\nvoid CWispBase::Release()\n{\n\tif(m_pRootWnd)\n\t{\n\t\tm_pRootWnd->Destroy();\n\t\tm_pRootWnd=NULL;\n\t}\n\tif(m_pCurDrawObj)\n\t\tm_pCurDrawObj->Release();\n\tfor(int n=0;n<WISP_DI_COUNT;n++)\n\t\tm_DefDIB[n].Destroy();\n\tfor(int n=0;n<WISP_FONT_COUNT;n++)\n\t\tm_FontList[n].Destroy();\n\tm_TimerMap.Clear();\n\tm_HotKeyList.Clear();\n\tm_DIBLib.ReleaseAll();\n\tm_PFSFileIO.CloseAllDisk();\n}\n\nbool CWispBase::WakeUpMsgThread()\n{\n\treturn true;\n}\n\nbool CWispBase::SleepMsgThread()\n{\n\treturn true;\n}\n\nvoid CWispBase::EnterCriticalSection()\n{\n}\n\nvoid CWispBase::LeaveCriticalSection()\n{\n}\n\nbool CWispBase::ResizeHostFrame(int Width,int Height)\n{\n\treturn false;\n}\n\nbool CWispBase::ResizingFrame(int Width,int Height)\n{\n\treturn false;\n}\n\nbool CWispBase::MoveFrame(int dx,int dy)\n{\n\treturn false;\n}\n\nvoid CWispBase::SetMouseCaptureNotify()\n{\n\t\n}\n\nvoid CWispBase::ReleaseMouseCaptureNotify()\n{\n\t\n}\n\n\nvoid CWispBase::BeginDraw(WISP_RECT*pUpdateRect)\n{\n\n}\n\nvoid CWispBase::EndDraw(WISP_RECT*pUpdateRect)\n{\n\n}\n\nvoid CWispBase::ChangeCursor(IN UINT CursorType,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize,IN CWispDIB*pDIB)\n{\n\tswitch(CursorType)\n\t{\n\tcase WISP_CT_ARROW:\n\t\tm_pCurDrawObj->DrawCursorArrow(NULL,NULL);\n\t\tbreak;\n\tcase WISP_CT_DRAG_ARROW:\n\t\tm_pCurDrawObj->DrawCursorDrag(NULL,NULL);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_VERT:\n\t\tm_pCurDrawObj->DrawCursorResizeVert(NULL,NULL);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_HORZ:\n\t\tm_pCurDrawObj->DrawCursorResizeHorz(NULL,NULL);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_LEFT_LEAN:\n\t\tm_pCurDrawObj->DrawCursorResizeLeftLean(NULL,NULL);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_RIGHT_LEAN:\n\t\tm_pCurDrawObj->DrawCursorResizeRightLean(NULL,NULL);\n\t\tbreak;\n\tdefault:\n\t\tif(pDIB)\n\t\t{\n\t\t\tif(pMouseHotPT)\n\t\t\t\t*pMouseHotPT = pDIB->m_HotPT;\n\t\t\tif(pMouseSize)\n\t\t\t{\n\t\t\t\tpMouseSize->cx = pDIB->Width();\n\t\t\t\tpMouseSize->cy = pDIB->Height();\n\t\t\t}\n\t\t}\n\t\tbreak;\n\t}\n}\n\nvoid CWispBase::ChangeHostCursor(IN NUM_PTR CursorData,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize)\n{\n}\n\nbool CWispBase::InsertTimerNotify(WISP_TIMER*pTimer)\n{\n\treturn true;\n}\n\nbool CWispBase::RemoveTimerNotify(WISP_TIMER*pTimer)\n{\n\treturn true;\n}\n\nvoid CWispBase::AdjustColor()\n{\n\tfor(int n=0;n<MAX_SYSTEM_COLOR;n++)\n\t{\n\t\tm_pCurDrawObj->m_crSystem[n]=FindFitColor(m_pCurDrawObj->m_crSystem[n],m_PalColors);\n\t}\n}\n\nvoid CWispBase::OnFrameBufferBppChg(int Bpp)\n{\n\tm_FrameBuffer.Bpp = Bpp;\n\tswitch(m_FrameBuffer.Bpp)\n\t{\n\tcase 4:\n\t\tm_FrameBuffer.pDrawHAL = &m_DrawHAL4Bit;\n\tcase 8:\n\t\tm_FrameBuffer.pDrawHAL = &m_DrawHAL8Bit;\n\t\tbreak;\n\tcase 16:\n\t\tm_FrameBuffer.pDrawHAL = &m_DrawHAL16Bit;\n\t\tbreak;\n\tcase 24:\n\t\tm_FrameBuffer.pDrawHAL = &m_DrawHAL24Bit;\n\t\tbreak;\n\tcase 32:\n\t\tm_FrameBuffer.pDrawHAL = &m_DrawHAL32Bit;\n\t\tbreak;\n\tdefault:\n\t\tm_FrameBuffer.pDrawHAL = &m_NotSupportDrawHAL;\n\t\tbreak;\n\t}\n\tif(m_FrameBuffer.Bpp==8)\n\t{\n\t\tLoadPalette();\n\t\tAdjustColor();\n\t}\n}\n\nvoid CWispBase::SetMousePos(int x,int y)\n{\n\tm_PrevMousePT.x = m_MousePT.x = x;\n\tm_PrevMousePT.y = m_MousePT.y = y;\n}\n\nvoid CWispBase::LockUpdate()\n{\n\tm_LockRef++;\n}\n\nvoid CWispBase::UnlockUpdate()\n{\n\tif(m_LockRef>0)\n\t\tm_LockRef--;\n}\n\nvoid CWispBase::LockKey()\n{\n\tm_KeyLockRef++;\n}\n\nvoid CWispBase::UnlockKey()\n{\n\tif(m_KeyLockRef>0)\n\t\tm_KeyLockRef--;\n}\n\nvoid CWispBase::LockTimer()\n{\n\tm_TimerRef++;\n}\n\nvoid CWispBase::UnlockTimer()\n{\n\tif(m_TimerRef>0)\n\t\tm_TimerRef--;\t\n}\n\nCOLORREF CWispBase::GetPalColor(int Index)\n{\n\treturn m_PalColors[Index];\n}\n\nbool CWispBase::SetPalColor(int Index,COLORREF Color)\n{\n\tm_PalColors[Index]=Color;\n\treturn true;\n}\n\nvoid CWispBase::LoadPalette()\n{\n\tfor(int n=0;n<256;n++)\n\t\tSetPalColor(n,m_PalColors[n]);\n}\n\nCWispDIB*CWispBase::GetDefDIB(IN UINT ID)\n{\n\tif(ID>=WISP_DI_COUNT)\n\t\treturn NULL;\n\treturn &m_DefDIB[ID];\n}\n\nvoid CWispBase::ChangeCursorType(IN UINT DIBID)\n{\n\tif(m_CursorType==DIBID)\n\t\treturn;\n\tm_CursorTypeBak = m_CursorType;\n\tm_CursorType = DIBID;\n\tm_pCursorDIBBak = m_pCursorDIB;\n\tm_pCursorDIB = NULL;\n\tChangeCursor(m_CursorType,&m_MouseHotPT,&m_MouseSize,NULL);\n\tif(m_bHideMouse==false)\n\t\tRedrawNextTime();\n}\n\nvoid CWispBase::ChangeCursorType(IN CWispDIB*pDIB)\n{\n\tif(m_pCursorDIB==pDIB)\n\t\treturn;\n\tm_CursorTypeBak = m_CursorType;\n\tm_CursorType = WISP_CT_USER_DIB_TYPE;\n\tm_pCursorDIBBak = m_pCursorDIB;\n\tm_pCursorDIB = pDIB;\n\tChangeCursor(m_CursorType,&m_MouseHotPT,&m_MouseSize,m_pCursorDIB);\n\tif(m_bHideMouse==false)\n\t\tRedrawNextTime();\n}\n\nvoid CWispBase::ChangeHostCursorType(IN NUM_PTR CursorData)\n{\n\tm_CursorTypeBak = m_CursorType;\n\tm_CursorType = WISP_CT_USER_DATA_TYPE;\n\tChangeHostCursor(CursorData,&m_MouseHotPT,&m_MouseSize);\n\tif(m_bHideMouse==false)\n\t\tRedrawNextTime();\n}\n\nvoid CWispBase::RestorCursorType()\n{\n\tif(m_CursorType == WISP_CT_USER_DIB_TYPE)\n\t{\n\t\tm_pCursorDIB = m_pCursorDIBBak;\n\t}\n\telse if(m_CursorType == WISP_CT_USER_DATA_TYPE)\n\t{\n\t\tm_pCursorDIB = NULL;\n\t}\n\tm_CursorType = m_CursorTypeBak;\n\tm_pCursorDIB = m_pCursorDIBBak;\n\tChangeCursor(m_CursorType,&m_MouseHotPT,&m_MouseSize,m_pCursorDIB);\n\tif(m_bHideMouse==false)\n\t\tRedrawNextTime();\n}\n\nvoid CWispBase::BeginMoveWnd(CWispBaseWnd*pWnd)\n{\n\tWISP_MSG Msg;\n\tif(pWnd==NULL)\n\t\tpWnd = m_pRootWnd;\n\tMsg.hWnd = pWnd;\n\tMsg.Msg = WISP_WM_BEGIN_MOVE;\n\tm_pMoveWnd = pWnd;\n\tm_pMoveWnd->m_State|=WISP_WST_MOVING;\n\tSendMessage(&Msg);\n}\n\nvoid CWispBase::EndMoveWnd()\n{\n\tWISP_MSG Msg;\n\tif(m_pMoveWnd==NULL || m_pMoveWnd->IsWindow()==false)\n\t\treturn;\n\tMsg.hWnd = m_pMoveWnd;\n\tMsg.Msg = WISP_WM_END_MOVE;\n\tm_pMoveWnd->m_State&=~WISP_WST_MOVING;\n\tSendMessage(&Msg);\n\tm_pMoveWnd = NULL;\n}\n\nvoid CWispBase::OnMousePosChg(IN int PosX,IN int PosY)\n{\n\tWISP_INPUT_MSG*pMsg = m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_MOUSE_POS_CHG;\n\tpMsg->MousePosChg.PosX = PosX;\n\tpMsg->MousePosChg.PosY = PosY;\n}\n\nvoid CWispBase::DispatchMousePosChg(IN int PosX,IN int PosY)\n{\n\tUINT HitAreaType,HitCtrlType,HitReizeAreaType;\n\tWISP_MSG Msg;\n\tCWispWnd*pScrollWnd;\n\tCWispBaseWnd*pWispWnd;\n\tint DeltaX,DeltaY;\n\tif(m_MousePT.x==PosX && m_MousePT.y==PosY)\n\t\treturn;\n\tm_MousePT.x=PosX;\n\tm_MousePT.y=PosY;\n\t//CODE_DEBUG_OUTPUT(\"x = %d,y = %d\\n\",m_MousePT.x,m_MousePT.y);\n\tif(m_MousePT.x<0)\n\t\tm_MousePT.x=0;\n\tif(m_MousePT.y<0)\n\t\tm_MousePT.y=0;\n\tif(m_MousePT.x>=m_FrameBuffer.Width)\n\t\tm_MousePT.x=m_FrameBuffer.Width-1;\n\tif(m_MousePT.y>=m_FrameBuffer.Height)\n\t\tm_MousePT.y=m_FrameBuffer.Height-1;\n\tDeltaX = m_MousePT.x-m_PrevMousePT.x;\n\tDeltaY = m_MousePT.y-m_PrevMousePT.y;\n\tm_PrevMousePT=m_MousePT;\n\tif(m_bHideMouse==false)\n\t\tRedrawNextTime();\n\tif(m_pMoveWnd && (m_pMoveWnd->m_State&WISP_WST_MOVING))\n\t{\n\t\tm_pMoveWnd->Move(DeltaX,DeltaY);\n\t\tgoto ExitOnMousePosChg;\n\t}\n\tpWispWnd=WindowFromPoint(&m_MousePT,m_pRootWnd);\n\tCODE_ASSERT(pWispWnd);\n\tif(pWispWnd==NULL)\n\t\tgoto ExitOnMousePosChg;\n\tif(pWispWnd==NULL || pWispWnd->IsDisabled())\n\t\tgoto ExitOnMousePosChg;\n\tif(gpCurWisp->m_pDragWnd==m_pMouseEventWnd)\n\t{\n\t\tWISP_MSG Msg;\n\t\tMsg.hWnd = m_pMouseEventWnd;\n\t\tMsg.Msg = WISP_WM_DRAG_MOVE;\n\t\tMsg.DragEvent.BeginMouseWndPT = m_BeginPT;\n\t\tMsg.DragEvent.DeltaX = DeltaX;\n\t\tMsg.DragEvent.DeltaY = DeltaY;\n\t\tgpCurWisp->SendMessage(&Msg);\n\t\tgoto ExitOnMousePosChg;\n\t}\n\tif(pWispWnd->m_State&WISP_WST_SIZING)\n\t{\n\t\tpWispWnd->Move(\t-DeltaX*((CWispWnd*)pWispWnd)->m_SignResizeX,-DeltaY*((CWispWnd*)pWispWnd)->m_SignResizeY);\n\t\tif(((CWispWnd*)pWispWnd)->Resize(\n\t\t\tpWispWnd->m_WindowRect.cx-DeltaX*((CWispWnd*)pWispWnd)->m_SignResizeDX,\n\t\t\tpWispWnd->m_WindowRect.cy-DeltaY*((CWispWnd*)pWispWnd)->m_SignResizeDY)==false)\n\t\t{\n\t\t\tm_pMouseEventWnd->m_State&=~WISP_WST_SIZING;\n\t\t\tChangeCursorType(WISP_CT_ARROW);\n\t\t}\n\t\tgoto ExitOnMousePosChg;\n\t}\n\tif(pWispWnd!=m_pMouseEventWnd)\n\t{\n\t\tif(m_pMouseEventWnd->m_State&WISP_WST_MOVING)\n\t\t{\n\t\t\tm_pMouseEventWnd->Move(DeltaX,DeltaY);\n\t\t\tgoto ExitOnMousePosChg;\n\t\t}\n\t\tif(m_pMouseEventWnd->m_State&WISP_WST_SIZING)\n\t\t{\n\t\t\tm_pMouseEventWnd->Move( -DeltaX*((CWispWnd*)m_pMouseEventWnd)->m_SignResizeX,-DeltaY*((CWispWnd*)m_pMouseEventWnd)->m_SignResizeY);\n\t\t\tif(((CWispWnd*)m_pMouseEventWnd)->Resize(\n\t\t\t\tm_pMouseEventWnd->m_WindowRect.cx-DeltaX*((CWispWnd*)m_pMouseEventWnd)->m_SignResizeDX,\n\t\t\t\tm_pMouseEventWnd->m_WindowRect.cy-DeltaY*((CWispWnd*)m_pMouseEventWnd)->m_SignResizeDY)==false)\n\t\t\t{\n\t\t\t\tm_pMouseEventWnd->m_State&=~WISP_WST_SIZING;\n\t\t\t\tChangeCursorType(WISP_CT_ARROW);\n\t\t\t}\n\t\t\tgoto ExitOnMousePosChg;\n\t\t}\n\t\tMsg.hWnd = pWispWnd;\n\t\tMsg.Msg = WISP_WM_HIT_TEST;\n\t\tMsg.HitTest.bKeyDown=m_KeyMap[WISP_VK_LBUTTON];\n\t\tMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\tMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\tSendMessage(&Msg);\n\t\tHitAreaType = Msg.HitTest.HitAreaType;\n\t\tHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\tif((m_pMouseEventWnd->m_Style&WISP_WS_ADV_WND) && ((CWispWnd*)m_pMouseEventWnd)->m_bInResizeArea)\n\t\t\tChangeCursorType(WISP_CT_ARROW);\n\t\tMsg.hWnd=m_pMouseEventWnd;\n\t\tMsg.Msg=WISP_WM_MOUSE_LEAVE;\n\t\tif(m_pMouseEventWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tpScrollWnd = (CWispWnd*)m_pMouseEventWnd;\n\t\t\tif(pScrollWnd->m_ScrollBar[WISP_SB_VERT] && pScrollWnd->m_ScrollBar[WISP_SB_VERT]->State == STATUS_DOWN)\n\t\t\t{\n\t\t\t\tMsg.Msg\t= WISP_WM_VERT_SCROLL_MOVE;\n\t\t\t}\n\t\t\telse if(pScrollWnd->m_ScrollBar[WISP_SB_HORZ] && pScrollWnd->m_ScrollBar[WISP_SB_HORZ]->State == STATUS_DOWN)\n\t\t\t{\n\t\t\t\tMsg.Msg\t= WISP_WM_HORZ_SCROLL_MOVE;\n\t\t\t}\n\t\t}\n\t\tMsg.MouseEvent.HitAreaType=HitAreaType;\n\t\tMsg.MouseEvent.HitCtrlType=HitCtrlType;\n\t\tMsg.MouseEvent.hWndMouseAt=pWispWnd;\n\t\tMsg.MouseEvent.DeltaX=DeltaX;\n\t\tMsg.MouseEvent.DeltaY=DeltaY;\n\t\tMsg.MouseEvent.DeltaZ=0;\n\t\tSendMessage(&Msg);\n\t\tif(m_pMouseEventWnd==pWispWnd)\n\t\t{\n\t\t\tMsg.hWnd=m_pMouseEventWnd;\n\t\t\tMsg.Msg=WISP_WM_MOUSE_ENTER;\n\t\t\tSendMessage(&Msg);\n\t\t}\n\t\tgoto ExitOnMousePosChg;\n\t}\n\tif(WND_MSG_CONDITION(pWispWnd))\n\t{\n\t\tMsg.hWnd = pWispWnd;\n\t\tMsg.Msg = WISP_WM_HIT_TEST;\n\t\tMsg.HitTest.bKeyDown = false;\n\t\tMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\tMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\tSendMessage(&Msg);\n\t\tHitAreaType = Msg.HitTest.HitAreaType;\n\t\tHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\tHitReizeAreaType = Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_MASK;\n\t\tif(HitReizeAreaType)\n\t\t{\n\t\t\tswitch(HitReizeAreaType)\n\t\t\t{\n\t\t\tcase WISP_HIT_WND_RESIZE_LEFT:\n\t\t\tcase WISP_HIT_WND_RESIZE_RIGHT:\n\t\t\t\tHitReizeAreaType = WISP_CT_RESIZE_HORZ;\n\t\t\t\tbreak;\n\t\t\tcase WISP_HIT_WND_RESIZE_TOP:\n\t\t\tcase WISP_HIT_WND_RESIZE_BOTTOM:\n\t\t\t\tHitReizeAreaType = WISP_CT_RESIZE_VERT;\n\t\t\t\tbreak;\n\t\t\tcase WISP_HIT_WND_RESIZE_LEFT|WISP_HIT_WND_RESIZE_TOP:\n\t\t\tcase WISP_HIT_WND_RESIZE_RIGHT|WISP_HIT_WND_RESIZE_BOTTOM:\n\t\t\t\tHitReizeAreaType = WISP_CT_RESIZE_LEFT_LEAN;\n\t\t\t\tbreak;\n\t\t\tcase WISP_HIT_WND_RESIZE_LEFT|WISP_HIT_WND_RESIZE_BOTTOM:\n\t\t\tcase WISP_HIT_WND_RESIZE_RIGHT|WISP_HIT_WND_RESIZE_TOP:\n\t\t\t\tHitReizeAreaType = WISP_CT_RESIZE_RIGHT_LEAN;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(m_pMouseEventWnd->m_Style&WISP_WS_ADV_WND)\n\t\t\t{\n\t\t\t\t((CWispWnd*)m_pMouseEventWnd)->m_bInResizeArea=true;\n\t\t\t\tChangeCursorType(HitReizeAreaType);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif( (m_pMouseEventWnd->m_Style&WISP_WS_ADV_WND) && ((CWispWnd*)m_pMouseEventWnd)->m_bInResizeArea)\n\t\t\t{\n\t\t\t\tChangeCursorType(WISP_CT_ARROW);\n\t\t\t\t((CWispWnd*)m_pMouseEventWnd)->m_bInResizeArea=false;\n\t\t\t}\n\t\t}\n\t\tMsg.hWnd=pWispWnd;\n\t\tMsg.Msg=WISP_WM_MOUSE_MOVE;\n\t\tMsg.MouseEvent.HitAreaType = HitAreaType;\n\t\tMsg.MouseEvent.HitCtrlType = HitCtrlType;\n\t\tMsg.MouseEvent.hWndMouseAt=pWispWnd;\n\t\tMsg.MouseEvent.DeltaX=DeltaX;\n\t\tMsg.MouseEvent.DeltaY=DeltaY;\n\t\tMsg.MouseEvent.DeltaZ=0;\n\t\tif(m_MouseMoveHookWndList.Count())\n\t\t{\n\t\t\tfor(CWndList::IT Iter = m_MouseMoveHookWndList.Begin();Iter!=m_MouseMoveHookWndList.End();Iter++)\n\t\t\t{\n\t\t\t\tif(*Iter!=Msg.hWnd)\n\t\t\t\t{\n\t\t\t\t\tMsg.hWnd = *Iter;\n\t\t\t\t\tif(SendMessage(&Msg)==false)\n\t\t\t\t\t\tgoto ExitOnMousePosChg;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tMsg.hWnd=pWispWnd;\n\t\tif(pWispWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tpScrollWnd = (CWispWnd*)pWispWnd;\n\t\t\tif(pScrollWnd->m_ScrollBar[WISP_SB_VERT] && pScrollWnd->m_ScrollBar[WISP_SB_VERT]->State == STATUS_DOWN)\n\t\t\t\tMsg.Msg\t= WISP_WM_VERT_SCROLL_MOVE;\n\t\t\telse if(pScrollWnd->m_ScrollBar[WISP_SB_HORZ] && pScrollWnd->m_ScrollBar[WISP_SB_HORZ]->State == STATUS_DOWN)\n\t\t\t\tMsg.Msg\t= WISP_WM_HORZ_SCROLL_MOVE;\t\t\n\t\t}\n\t\tSendMessage(&Msg);\n\t}\nExitOnMousePosChg:\n\treturn;\n}\n\nvoid CWispBase::OnMouseMove(IN int DeltaX,IN int DeltaY)\n{\n\tWISP_INPUT_MSG*pMsg=m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_MOUSE_MOVE;\n\tpMsg->MouseMove.DeltaX = DeltaX;\n\tpMsg->MouseMove.DeltaY = DeltaY;\n}\n\nvoid CWispBase::DispatchMouseMove(IN int DeltaX,IN int DeltaY)\n{\n\tint NewPosX,NewPosY;\n\tNewPosX=m_MousePT.x+DeltaX;\n\tNewPosY=m_MousePT.y+DeltaY;\n\tOnMousePosChg(NewPosX,NewPosY);\n}\n\nvoid CWispBase::OnMouseWheel(IN int DeltaZ)\n{\n\tWISP_INPUT_MSG*pMsg=m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_MOUSE_WHEEL;\n\tpMsg->MouseWheel.DeltaZ = DeltaZ;\n}\n\nvoid CWispBase::DispatchMouseWheel(IN int DeltaZ)\n{\n\tif(m_pFocusWnd==NULL)\n\t\treturn;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_pFocusWnd;\n\tMsg.Msg = WISP_WM_MOUSE_WHEEL;\n\tMsg.MouseEvent.DeltaX = 0;\n\tMsg.MouseEvent.DeltaY = 0;\n\tMsg.MouseEvent.DeltaZ = DeltaZ;\n\tMsg.MouseEvent.HitAreaType = WISP_HIT_WND_NON;\n\tMsg.MouseEvent.HitCtrlType = WISP_HIT_CTRL_NON;\n\tMsg.MouseEvent.hWndMouseAt = m_pFocusWnd;\n\tSendMessage(&Msg);\n}\n\nvoid CWispBase::OnMouseButtonDBClick(UINT KeyType)\n{\n\tWISP_INPUT_MSG*pMsg=m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_MOUSE_BT_DB_CLICK;\n\tpMsg->MouseBTDBClick.KeyType = KeyType;\n}\n\nvoid CWispBase::DispatchMouseButtonDBClick(UINT KeyType)\n{\n\tWISP_MSG Msg;\n\tif(m_pFocusWnd==NULL)\n\t\treturn;\n\tswitch(m_LastMouseClickHitAreaType)\n\t{\n\tcase WISP_HIT_WND_CLIENT:\n\tcase WISP_HIT_WND_NON_CLIENT:\n\t\tMsg.hWnd = m_pFocusWnd;\n\t\tMsg.Msg = WISP_WM_MOUSE_DBCLICK;\n\t\tMsg.KeyEvent.bKeyDown = true;\n\t\tMsg.KeyEvent.ScanCode = 0;\n\t\tMsg.KeyEvent.KeyType = KeyType;\n\t\tMsg.KeyEvent.HitAreaType = m_LastMouseClickHitAreaType;\n\t\tMsg.KeyEvent.HitCtrlType = m_LastMouseClickHitCtrlType;\n\t\tSendMessage(&Msg);\n\t\tbreak;\n\t}\n}\n\nvoid CWispBase::OnKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode)\n{\n\tWISP_INPUT_MSG*pMsg=m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_KEY_EVENT;\n\tpMsg->KeyEvent.KeyType  = KeyType;\n\tpMsg->KeyEvent.bKeyDown = bKeyDown;\n\tpMsg->KeyEvent.ScanCode = ScanCode;\n}\n\nvoid CWispBase::DispatchKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode)\n{\n\tif(m_KeyLockRef)\n\t\treturn;\n\tif(KeyType>WISP_VK_KEYBOARD_START)\n\t\tOnProcessKeyEvent(KeyType,bKeyDown,ScanCode);\n\telse\n\t\tOnProcessMouseKeyEvent(KeyType,bKeyDown,ScanCode);\n}\n\nvoid CWispBase::OnTimer(int MilliSec)\n{\n\tWISP_INPUT_MSG*pMsg=m_InputMsgQueue.Append();\n\tpMsg->InputMsg = WISP_INPUT_TIMER;\n\tpMsg->Timer.MilliSec  = MilliSec;\n}\n\nvoid CWispBase::DispatchTimer(int MilliSec)\n{\n\tWISP_CHAR Char;\n\tWISP_MSG Msg;\n\tWISP_TIMER*pTimer;\n\tWISP_TIMER_KEY*pTimerKey;\n\tCWispBaseWnd*pMsgWnd;\n\tif(m_TimerRef>0)\n\t\treturn;\n\tif(m_RepKeyIndex!=WISP_VK_NULL)\n\t{\n\t\tm_RepKeyElapse+=MilliSec;\n\t\tif(m_KeySimulateMouse)\n\t\t\tKeySimulateMouse(m_RepKeyIndex,true);\n\t\tif(m_RepKeyElapse>=m_RepKeyPeriod)\n\t\t{\n\t\t\tm_RepKeyElapse-=m_RepKeyPeriod;\n\t\t\tif(m_RepKeyIndex<WISP_VK_KEYBOARD_START)\n\t\t\t{\n\t\t\t\tif(m_RepKeyPeriod == WISP_MOUSE_KEY_REPEAT_DELAY)\n\t\t\t\t\tm_RepKeyPeriod = WISP_MOUSE_KEY_REPEAT_PERIOD;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_RepKeyPeriod == WISP_KEY_REPEAT_DELAY)\n\t\t\t\t\tm_RepKeyPeriod = WISP_KEY_REPEAT_PERIOD;\n\t\t\t}\n\t\t\tMsg.hWnd = m_pFocusWnd;\n\t\t\tMsg.Msg = WISP_WM_KEY_EVENT;\n\t\t\tif(m_RepKeyIndex == WISP_VK_LBUTTON)\n\t\t\t{\n\t\t\t\tWISP_MSG HitTestMsg;\n\t\t\t\tHitTestMsg.hWnd = m_pFocusWnd;\n\t\t\t\tHitTestMsg.Msg = WISP_WM_HIT_TEST;\n\t\t\t\tHitTestMsg.HitTest.bKeyDown = true;\n\t\t\t\tHitTestMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\t\t\tHitTestMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\t\t\tSendMessage(&HitTestMsg);\n\t\t\t\tMsg.KeyEvent.HitAreaType = HitTestMsg.KeyEvent.HitAreaType;\n\t\t\t\tMsg.KeyEvent.HitCtrlType = HitTestMsg.KeyEvent.HitCtrlType;\n\t\t\t}\n\t\t\tMsg.KeyEvent.KeyType = m_RepKeyIndex;\n\t\t\tMsg.KeyEvent.bKeyDown = true;\n\t\t\tSendMessage(&Msg);\n\t\t\tChar=IsCharKey(m_RepKeyIndex);\n\t\t\tif(Char)\n\t\t\t{\n\t\t\t\tpMsgWnd = m_pFocusWnd;\n\t\t\t\tif(WND_MSG_CONDITION(pMsgWnd)==false)\n\t\t\t\t\tpMsgWnd=m_pModalWnd;\n\t\t\t\tMsg.hWnd = pMsgWnd;\n\t\t\t\tMsg.Msg = WISP_WM_CHAR;\n\t\t\t\tMsg.Char.Char=Char;\n\t\t\t\tMsg.Char.nRepeat=1;\n\t\t\t\tSendMessage(&Msg);\n\t\t\t}\n\t\t}\n\t}\n\tfor(CTimerMap::IT Iter=m_TimerMap.Begin();Iter!=m_TimerMap.End();)\n\t{\n\t\tpTimer=&(*Iter);\n\t\tpTimerKey = &Iter.Key();\n\t\tIter++;\n\t\tif(MilliSec <= pTimer->Period)\n\t\t{\n\t\t\tpTimer->Elapse+=MilliSec;\n\t\t\tif(pTimer->Elapse>pTimer->Period)\n\t\t\t{\n\t\t\t\tpTimer->Elapse-=pTimer->Period;\n\t\t\t\tMsg.hWnd = pTimerKey->hWnd;\n\t\t\t\tMsg.Msg = WISP_WM_TIMER;\n\t\t\t\tMsg.Timer.ID = pTimerKey->ID;\n\t\t\t\tMsg.Timer.UserData = pTimer->UserData;\n\t\t\t\tMsg.Timer.UserPtr = pTimer->UserPtr;\n\t\t\t\tSendMessage(&Msg);\n\t\t\t}\n\t\t}\n\t}\n}\n\nWISP_CHAR CWispBase::IsCharKey(IN UINT KeyType)\n{\n\tbool bLowCase=true;\n\tif(m_KeyMap[WISP_VK_SHIFT])\n\t\tbLowCase=!bLowCase;\n\tif(m_LockMap[WISP_VK_CAPS_LOCK])\n\t\tbLowCase=!bLowCase;\n\treturn  (WISP_CHAR)m_VKKeyChar[m_iKeyboardLayer][KeyType*2+bLowCase];\n}\n\nbool CWispBase::KeySimulateMouse(IN UINT KeyType,IN bool bKeyDown)\n{\n\tint x,y;\n\tx=y=0;\n\tswitch(KeyType)\n\t{\n\tcase WISP_VK_PAGE_UP:\n\tcase WISP_VK_END:\n\t\tDispatchKeyEvent(WISP_VK_LBUTTON,bKeyDown,0);\n\t\treturn true;\n\tcase WISP_VK_PAGE_DOWN:\n\t\tDispatchKeyEvent(WISP_VK_RBUTTON,bKeyDown,0);\n\t\treturn true;\n\tcase WISP_VK_UP:\n\tcase WISP_VK_DOWN:\n\tcase WISP_VK_LEFT:\n\tcase WISP_VK_RIGHT:\n\t\tif(m_KeyMap[WISP_VK_UP])\n\t\t\ty=-m_KeySimDelta;\n\t\tif(m_KeyMap[WISP_VK_DOWN])\n\t\t\ty = m_KeySimDelta;\n\t\tif(m_KeyMap[WISP_VK_LEFT])\n\t\t\tx = -m_KeySimDelta;\n\t\tif(m_KeyMap[WISP_VK_RIGHT])\n\t\t\tx += m_KeySimDelta;\n\t\tif(m_KeySimDelta<20)\n\t\t\tm_KeySimDelta++;\n\t\tbreak;\n\tdefault:\n\t\treturn false;\n\t}\n\tDispatchMousePosChg(m_PrevMousePT.x+x,m_PrevMousePT.y+y);\n\treturn true;\n}\n\nbool CWispBase::OnProcessKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode)\n{\n\tWISP_CHAR Char;\n\tWISP_MSG Msg;\n\tCWispBaseWnd*pMsgWnd;\n#ifdef WISP_TIMER_SIM_KEY_REPEAT\n\tif(m_KeyMap[KeyType]==bKeyDown)\n\t\treturn false;\n#endif\n\tpMsgWnd = m_pFocusWnd;\n\tif(pMsgWnd==NULL)\n\t\treturn false;\n\tif(WND_MSG_CONDITION(pMsgWnd)==false)\n\t\tpMsgWnd=m_pModalWnd;\n\tm_KeyMap[KeyType]=bKeyDown;\n\tif(KeyType == WISP_VK_LSHIFT || KeyType == WISP_VK_RSHIFT)\n\t{\n\t\tm_KeyMap[WISP_VK_SHIFT] = m_KeyMap[WISP_VK_LSHIFT] | m_KeyMap[WISP_VK_RSHIFT];\n\t}\n\tif(KeyType == WISP_VK_LALT || KeyType == WISP_VK_RALT)\n\t{\n\t\tm_KeyMap[WISP_VK_ALT] = m_KeyMap[WISP_VK_LALT] | m_KeyMap[WISP_VK_RALT];\n\t}\n\tif(KeyType == WISP_VK_LCONTROL || KeyType == WISP_VK_RCONTROL)\n\t{\n\t\tm_KeyMap[WISP_VK_CONTROL] = m_KeyMap[WISP_VK_LCONTROL] | m_KeyMap[WISP_VK_RCONTROL];\n\t}\n\tif(m_KeyMap[WISP_VK_SHIFT])\n\t\tm_ModKeyState |= WISP_MOD_SHIFT;\n\telse\n\t\tm_ModKeyState &= ~WISP_MOD_SHIFT;\n\tif(m_KeyMap[WISP_VK_ALT])\n\t\tm_ModKeyState |= WISP_MOD_ALT;\n\telse\n\t\tm_ModKeyState &= ~WISP_MOD_ALT;\n\tif(m_KeyMap[WISP_VK_CONTROL])\n\t\tm_ModKeyState |= WISP_MOD_CTRL;\n\telse\n\t\tm_ModKeyState &= ~WISP_MOD_CTRL;\n\n\tif(m_KeySimulateMouse)\n\t{\n\t\tif(bKeyDown)\n\t\t{\n\t\t\tif(KeyType!=WISP_VK_END && KeyType!=WISP_VK_PAGE_DOWN && KeyType!=WISP_VK_PAGE_UP)\n\t\t\t{\n\t\t\t\tm_RepKeyIndex = KeyType;\n\t\t\t\tm_RepKeyElapse = 0;\n\t\t\t\tm_RepKeyPeriod = WISP_KEY_REPEAT_DELAY;\n\t\t\t\tm_KeySimDelta = 1;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_RepKeyIndex==KeyType)\n\t\t\t\tm_RepKeyIndex = WISP_VK_NULL;\n\t\t}\n\t\tif(KeySimulateMouse(KeyType,bKeyDown))\n\t\t\treturn true;\n\t}\n\tif(bKeyDown && m_HotKeyList.Count())\n\t{\n\t\tfor(CHotKeyList::IT Iter = m_HotKeyList.Begin();Iter!=m_HotKeyList.End();Iter++)\n\t\t{\n\t\t\tif(Iter->KeyType == KeyType && (Iter->Modifier==0 || Iter->Modifier == m_ModKeyState) )\n\t\t\t{\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd = Iter->hWnd;\n\t\t\t\tMsg.Msg = WISP_WM_EVENT;\n\t\t\t\tMsg.Command.CmdID = Iter->EventID;\n\t\t\t\tMsg.Command.CmdMsg = WISP_CMD_HOTKEY;\n\t\t\t\tif(Iter->Style & WISP_HKS_CHILD_WND)\n\t\t\t\t{\n\t\t\t\t\tif(pMsgWnd->IsChildWndOf(Msg.hWnd)==false && pMsgWnd!=Msg.hWnd)\n\t\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tSendMessage(&Msg);\n\t\t\t}\n\t\t}\n\t}\n\tMsg.hWnd = pMsgWnd;\n\tMsg.Msg = WISP_WM_KEY_EVENT;\n\tMsg.KeyEvent.KeyType = KeyType|m_ModKeyState;\n\tMsg.KeyEvent.bKeyDown = bKeyDown;\n\tMsg.KeyEvent.ScanCode = ScanCode;\n\tif(m_KeyHookWndList.Count())\n\t{\n\t\tfor(CWndList::IT Iter = m_KeyHookWndList.Begin();Iter!=m_KeyHookWndList.End();Iter++)\n\t\t{\n\t\t\tif(*Iter!=Msg.hWnd)\n\t\t\t{\n\t\t\t\tMsg.hWnd = *Iter;\n\t\t\t\tSendMessage(&Msg);\n\t\t\t}\n\t\t}\n\t}\n\tif(pMsgWnd->IsDisabled()==false)\n\t{\n\t\tMsg.hWnd = pMsgWnd;\n\t\tif(SendMessage(&Msg)==false)\n\t\t\treturn true;\n\t}\n\tif(bKeyDown)\n\t{\n\t\tif(m_KeyMap[WISP_VK_CONTROL] && m_KeyMap[WISP_VK_ALT])\n\t\t{\n\t\t\tif(m_KeyMap[WISP_VK_F1])\n\t\t\t{\n\t\t\t\tSelectDrawObject(&m_DefDrawObj);\n\t\t\t\tm_pRootWnd->Update();\n\t\t\t}\n\t\t\telse if(m_KeyMap[WISP_VK_F2])\n\t\t\t{\n\t\t\t\tSelectDrawObject(&m_DIBDrawObj);\n\t\t\t\tm_pRootWnd->Update();\n\t\t\t}\n\t\t}\n#ifdef WISP_TIMER_SIM_KEY_REPEAT\n\t\tm_RepKeyIndex = KeyType;\n\t\tm_RepKeyElapse = 0;\n\t\tm_RepKeyPeriod = WISP_KEY_REPEAT_DELAY;\n#endif\n\t\tif(m_ModKeyState==0 || m_ModKeyState==WISP_MOD_SHIFT)\n\t\t{\n\t\t\tswitch(KeyType)\n\t\t\t{\n\t\t\tcase WISP_VK_CAPITAL:\n\t\t\t\tm_LockMap[WISP_VK_CAPS_LOCK]=!m_LockMap[WISP_VK_CAPS_LOCK];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tChar=IsCharKey(KeyType);\n\t\t\tif(Char)\n\t\t\t{\n\t\t\t\tpMsgWnd = m_pFocusWnd;\n\t\t\t\tif(WND_MSG_CONDITION(pMsgWnd)==false)\n\t\t\t\t\tpMsgWnd=m_pModalWnd;\n\t\t\t\tMsg.hWnd = pMsgWnd;\n\t\t\t\tMsg.Msg = WISP_WM_CHAR;\n\t\t\t\tMsg.Char.Char=Char;\n\t\t\t\tMsg.Char.nRepeat=1;\n\t\t\t\tPostMessage(&Msg);\n\t\t\t\tfor(CWndList::IT Iter = m_KeyHookWndList.Begin();Iter!=m_KeyHookWndList.End();Iter++)\n\t\t\t\t{\n\t\t\t\t\tif(*Iter!=Msg.hWnd)\n\t\t\t\t\t{\n\t\t\t\t\t\tMsg.hWnd = *Iter;\n\t\t\t\t\t\tPostMessage(&Msg);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n#ifdef WISP_TIMER_SIM_KEY_REPEAT\n\t\tif(m_RepKeyIndex == KeyType)\n\t\t\tm_RepKeyIndex = WISP_VK_NULL;\n#endif\n\t}\n\treturn true;\n}\n\nbool CWispBase::OnProcessMouseKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode)\n{\n\tUINT HitAreaType,HitCtrlType;\n\tCWispBaseWnd*pMsgWnd;\n\tWISP_MSG Msg;\n\tm_KeyMap[KeyType]=bKeyDown;\n\tif(m_pMoveWnd && (m_pMoveWnd->m_State&WISP_WST_MOVING) && KeyType == WISP_VK_LBUTTON && bKeyDown==false)\n\t{\n\t\tEndMoveWnd();\n\t\treturn true;\n\t}\n\tif(KeyType == WISP_VK_LBUTTON && bKeyDown)\n\t{\n\t\tpMsgWnd=WindowFromPoint(&m_MousePT,m_pRootWnd);\n\t\tif(WND_MSG_CONDITION(pMsgWnd)==false)\n\t\t\tpMsgWnd=m_pModalWnd;\n\t\tCODE_ASSERT(pMsgWnd);\n\t\tif(pMsgWnd==NULL)\n\t\t\treturn false;\n\t\tif(pMsgWnd->IsDisabled())\n\t\t\treturn true;\n\t\tif(pMsgWnd!=m_pFocusWnd)\n\t\t\tpMsgWnd->Focus();\n\t\tMsg.hWnd = pMsgWnd;\n\t}\n\telse\n\t{\n\t\tpMsgWnd = m_pMouseEventWnd;\n\t\tif(WND_MSG_CONDITION(pMsgWnd)==false)\n\t\t\tpMsgWnd=m_pModalWnd;\n\t\tif(pMsgWnd->IsDisabled())\n\t\t\treturn true;\n\t\tMsg.hWnd = pMsgWnd;\n\t}\n\tif(bKeyDown)\n\t{\n\t\tif(Msg.hWnd->m_AdvStyle & WISP_WAS_DRAG_WND)\n\t\t{\n\t\t\tif((pMsgWnd->m_State&(WISP_WST_MOVING|WISP_WST_MAX))==0)\n\t\t\t{\n\t\t\t\tpMsgWnd->m_State|=WISP_WST_MOVING;\n\t\t\t\tMsg.Msg = WISP_WM_BEGIN_MOVE;\n\t\t\t\tSendMessage(&Msg);\n\t\t\t}\n\t\t}\n\t\telse if(Msg.hWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tMsg.Msg = WISP_WM_HIT_TEST;\n\t\t\tMsg.HitTest.bKeyDown=bKeyDown;\n\t\t\tMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\t\tMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\t\tSendMessage(&Msg);\n\t\t\tm_LastMouseClickHitAreaType = Msg.HitTest.HitAreaType;\n\t\t\tm_LastMouseClickHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\t\tswitch(Msg.HitTest.HitAreaType)\n\t\t\t{\n\t\t\tcase WISP_HIT_WND_CLIENT:\n\t\t\tcase WISP_HIT_WND_NON_CLIENT:\n\t\t\t\tHitAreaType = Msg.HitTest.HitAreaType;\n\t\t\t\tHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\t\t\tMsg.KeyEvent.HitAreaType = HitAreaType;\n\t\t\t\tMsg.KeyEvent.HitCtrlType = HitCtrlType;\n\t\t\t\tMsg.KeyEvent.KeyType = KeyType;\n\t\t\t\tMsg.KeyEvent.bKeyDown = bKeyDown;\n\t\t\t\tMsg.KeyEvent.ScanCode = ScanCode;\n\t\t\t\tMsg.Msg = WISP_WM_KEY_EVENT;\n\t\t\t\tSendMessage(&Msg);\n\t\t\t\tbreak;\n\t\t\tcase WISP_HIT_WND_MOVE:\n\t\t\t\tif(KeyType == WISP_VK_LBUTTON && (pMsgWnd->m_State&(WISP_WST_MOVING|WISP_WST_MAX))==0)\n\t\t\t\t{\n\t\t\t\t\tBeginMoveWnd(pMsgWnd);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif(KeyType == WISP_VK_LBUTTON && (Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_MASK))\n\t\t\t\t{\n\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeX=\n\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDX=\n\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeY=\n\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDY=0;\n\t\t\t\t\tif(Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_LEFT)\n\t\t\t\t\t{\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeX=-1;\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDX=1;\n\t\t\t\t\t}\n\t\t\t\t\tif(Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_RIGHT)\n\t\t\t\t\t{\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeX=0;\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDX=-1;\n\t\t\t\t\t}\n\t\t\t\t\tif(Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_TOP)\n\t\t\t\t\t{\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeY=-1;\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDY=1;\n\t\t\t\t\t}\n\t\t\t\t\tif(Msg.HitTest.HitAreaType & WISP_HIT_WND_RESIZE_BOTTOM)\n\t\t\t\t\t{\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeY=0;\n\t\t\t\t\t\t((CWispWnd*)pMsgWnd)->m_SignResizeDY=-1;\n\t\t\t\t\t}\n\t\t\t\t\tpMsgWnd->m_State|=WISP_WST_SIZING;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{//Wnd is CWispBaseWnd\n\t\t\tMsg.Msg = WISP_WM_HIT_TEST;\n\t\t\tMsg.HitTest.bKeyDown=bKeyDown;\n\t\t\tMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\t\tMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\t\tSendMessage(&Msg);\n\t\t\tMsg.Msg = WISP_WM_KEY_EVENT;\n\t\t\tHitAreaType = Msg.HitTest.HitAreaType;\n\t\t\tHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\t\tMsg.KeyEvent.HitAreaType = Msg.HitTest.HitAreaType;\n\t\t\tMsg.KeyEvent.HitCtrlType = Msg.HitTest.HitCtrlType;\n\t\t\tMsg.KeyEvent.KeyType = KeyType;\n\t\t\tMsg.KeyEvent.bKeyDown = bKeyDown;\n\t\t\tMsg.KeyEvent.ScanCode = ScanCode;\n\t\t\t/*\n\t\t\tif(m_KeyHookWndList.Count())\n\t\t\t{\n\t\t\t\tfor(CWndList::IT Iter = m_KeyHookWndList.Begin();Iter!=m_KeyHookWndList.End();Iter++)\n\t\t\t\t{\n\t\t\t\t\tif(*Iter!=Msg.hWnd)\n\t\t\t\t\t{\n\t\t\t\t\t\tMsg.hWnd = *Iter;\n\t\t\t\t\t\tSendMessage(&Msg);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}*/\n\t\t\tMsg.hWnd = pMsgWnd;\n\t\t\tSendMessage(&Msg);\n\t\t}\n\t}\n\telse\n\t{//bKeyDown is false\n\t\tif(m_RepKeyIndex == KeyType)\n\t\t\tm_RepKeyIndex = WISP_VK_NULL;\n\t\tMsg.Msg = WISP_WM_HIT_TEST;\n\t\tMsg.HitTest.bKeyDown = bKeyDown;\n\t\tMsg.HitTest.HitAreaType = WISP_HIT_WND_NON;\n\t\tMsg.HitTest.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\tSendMessage(&Msg);\n\t\tHitAreaType = Msg.HitTest.HitAreaType;\n\t\tHitCtrlType = Msg.HitTest.HitCtrlType;\n\t\tMsg.KeyEvent.HitAreaType = HitAreaType;\n\t\tMsg.KeyEvent.HitCtrlType = HitCtrlType;\n\t\tMsg.KeyEvent.KeyType = KeyType;\n\t\tMsg.KeyEvent.bKeyDown = bKeyDown;\n\t\tMsg.KeyEvent.ScanCode = ScanCode;\n\t\tMsg.Msg = WISP_WM_KEY_EVENT;\n\t\t/*\n\t\tif(m_KeyHookWndList.Count())\n\t\t{\n\t\t\tfor(CWndList::IT Iter = m_KeyHookWndList.Begin();Iter!=m_KeyHookWndList.End();Iter++)\n\t\t\t{\n\t\t\t\tif(*Iter!=Msg.hWnd)\n\t\t\t\t{\n\t\t\t\t\tMsg.hWnd = *Iter;\n\t\t\t\t\tSendMessage(&Msg);\n\t\t\t\t}\n\t\t\t}\n\t\t}*/\n\t\tMsg.hWnd = pMsgWnd;\n\t\tSendMessage(&Msg);\n\t\tif(KeyType == WISP_VK_LBUTTON)\n\t\t{\n\t\t\tif(pMsgWnd->m_State&WISP_WST_SIZING)\n\t\t\t{\n\t\t\t\tpMsgWnd->m_State&=~WISP_WST_SIZING;\n\t\t\t\tChangeCursorType(WISP_CT_ARROW);\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispBase::StartMouseKeyRep(UINT RepKeyIndex)\n{\n\tif(m_RepKeyIndex==RepKeyIndex)\n\t\treturn;\n\tm_RepKeyIndex = RepKeyIndex;\n\tm_RepKeyElapse = 0;\n\tm_RepKeyPeriod = WISP_MOUSE_KEY_REPEAT_DELAY;\n}\n\nvoid CWispBase::StopMouseKeyRep()\n{\n\tm_RepKeyIndex = WISP_VK_NULL;\n}\n\nvoid CWispBase::UpdateCursor()\n{\n\tif(m_bHideMouse==false)\n\t{\n\t\tm_pRootWnd->m_pUpdateRect = &m_pRootWnd->m_WindowRect;\n\t\tm_pCurDrawObj->DrawCursor(&m_MousePT, &m_pRootWnd->m_WindowDC,m_CursorType,m_pCursorDIB);\n\t\tm_pRootWnd->m_pUpdateRect = NULL;\n\t}\n}\n\nint CWispBase::GetMetrics(IN UINT Type)\n{\n\tif(Type>=WISP_SM_COUNT)\n\t\treturn 0;\n\treturn m_Metrics[Type];\n}\n\nvoid CWispBase::UpdateFrameBuffer()\n{\n\tWISP_RECT Rect;\n\tWISP_MSG Msg;\n\tif(m_pRootWnd==NULL)\n\t\treturn;\n\tMsg.hWnd=m_pRootWnd;\n\tif(Msg.hWnd->m_pUpdateRect)\n\t\tRect = *Msg.hWnd->m_pUpdateRect;\n\telse if(m_bHideMouse)\n\t\tgoto ExitUpdateFrameBuffer;\n\tif(m_bHideMouse==false)\n\t{\n\t\tWISP_RECT MouseRC;\n\t\tMouseRC.x = m_MousePT.x - m_MouseHotPT.x;\n\t\tMouseRC.y = m_MousePT.y - m_MouseHotPT.y;\n\t\tMouseRC.cx = m_MouseSize.cx;\n\t\tMouseRC.cy = m_MouseSize.cy;\n\t\tMergeRect(&MouseRC,&m_LastMouseRect);\n\t\tMsg.hWnd->UpdateSelfAndChild(&m_LastMouseRect);\n\t\tif(Msg.hWnd->m_pUpdateRect==NULL)\n\t\t\tgoto ExitUpdateFrameBuffer;\n\t\tRect = *Msg.hWnd->m_pUpdateRect;\n\t\tm_LastMouseRect = MouseRC;\n\t}\n\tBeginDraw(&Rect);\n\tMsg.Msg=WISP_WM_UPDATE;\n\tSendMessage(&Msg);\n\tUpdateCursor();\n\tEndDraw(&Rect);\nExitUpdateFrameBuffer:\n\treturn;\n}\n\nvoid CWispBase::RedrawNextTime()\n{\n\tif(m_bNeedUpdate)\n\t\treturn;\n\tm_bNeedUpdate=true;\n\tif(m_bMsgSleeping)\n\t{\n\t\tm_bMsgSleeping = false;\n\t\tWakeUpMsgThread();\n\t}\n}\n\nvoid CWispBase::SendLanguageChangeNotify(CWispBaseWnd*pParentWnd)\n{\n\tCWispBaseWnd*pChildWnd;\n\tWISP_MSG Msg;\n\tif(pParentWnd==NULL)\n\t\tpParentWnd=m_pRootWnd;\n\tMsg.hWnd=pParentWnd;\n\tMsg.Msg=WISP_WM_COMMAND;\n\tMsg.Command.CmdID=WISP_CMD_LANGUAGE_CHANGE;\n\tif(SendMessage(&Msg)==false)\n\t\treturn;\n\tpChildWnd=pParentWnd->m_ChildWnd;\n\twhile(pChildWnd)\n\t{\n\t\tSendLanguageChangeNotify(pChildWnd);\n\t\tpChildWnd=pChildWnd->m_NextWnd;\n\t}\n\treturn ;\n\n}\n\nCWispBaseWnd* CWispBase::WindowFromPoint(IN WISP_POINT*pPoint,IN CWispBaseWnd*pParentWnd)\n{\n\tCWispBaseWnd*pChildWnd,*pWnd;\n\tif(pParentWnd==NULL)\n\t\tpParentWnd=m_pRootWnd;\n\tif(pParentWnd->IsScrPtIn(pPoint)==false)\n\t\treturn NULL;\n\tpChildWnd=pParentWnd->m_ChildTopWnd;\n\twhile(pChildWnd)\n\t{\n\t\tif(pChildWnd->m_ShowMode!=WISP_SH_HIDDEN && pChildWnd->m_CtrlType != WISP_CTRL_STATIC_GROUP)\n\t\t{//WindowFromPointStaticGroup\n\t\t\tif(pParentWnd->IsScrPtIn(pPoint)&&pChildWnd->IsScrPtIn(pPoint))\n\t\t\t{\n\t\t\t\tpWnd = WindowFromPoint(pPoint,pChildWnd);\n\t\t\t\tif((pChildWnd->m_Style & WISP_WS_VIRTUAL)==0)\n\t\t\t\t\treturn pWnd;\n\t\t\t\tif(pWnd && pWnd != pChildWnd)\n\t\t\t\t\treturn pWnd;\n\t\t\t}\n\t\t}\n\t\tpChildWnd=pChildWnd->m_PrevWnd;\n\t}\n\tif(pParentWnd->m_Style & WISP_WS_VIRTUAL)\n\t\treturn NULL;\n\treturn pParentWnd;\n}\n\nvoid CWispBase::InsertWnd(IN CWispBaseWnd*pParentWnd,IN CWispBaseWnd*pNewWnd)\n{\n\tCWispBaseWnd*pLastWnd;\n\tif(m_pRootWnd==pNewWnd)\n\t\treturn;\n\tif(pParentWnd==NULL)\n\t\tpParentWnd=m_pRootWnd;\n\tpLastWnd=pParentWnd->m_ChildWnd;\n\tif(pNewWnd->m_Style & WISP_WS_ADV_WND)\n\t\tm_WndCount++;\n\telse\n\t\tm_BaseWndCount++;\n\tif(pLastWnd==NULL)\n\t{\n\t\tpParentWnd->m_ChildTopWnd=pParentWnd->m_ChildWnd=pNewWnd;\n\t\tpNewWnd->m_NextWnd=pNewWnd->m_PrevWnd=NULL;\n\t\tpNewWnd->m_ParentWnd=pParentWnd;\n\t\treturn;\n\t}\n\tpLastWnd=pParentWnd->m_ChildTopWnd;\n\tpNewWnd->m_NextWnd=NULL;\n\tpLastWnd->m_NextWnd=pNewWnd;\n\tpNewWnd->m_PrevWnd=pLastWnd;\n\tpNewWnd->m_ParentWnd=pParentWnd;\n\tpParentWnd->m_ChildTopWnd=pNewWnd;\n\tif(pParentWnd==m_pRootWnd && pNewWnd!=gpCurWisp->m_pTopMostRootWnd)\n\t\tgpCurWisp->m_pTopMostRootWnd->Top(false);\n\treturn;\n}\n\nvoid CWispBase::RemoveWnd(IN CWispBaseWnd*pWnd)\n{\n\tif(m_pRootWnd==pWnd)\n\t{\n\t\tm_pRootWnd = NULL;\n\t\tm_bActive = false;\n\t\treturn;\n\t}\n\tif(pWnd->m_PrevWnd)\n\t\tpWnd->m_PrevWnd->m_NextWnd=pWnd->m_NextWnd;\n\tif(pWnd->m_NextWnd)\n\t\tpWnd->m_NextWnd->m_PrevWnd=pWnd->m_PrevWnd;\n\tif(pWnd->m_ParentWnd->m_ChildWnd==pWnd)\n\t\tpWnd->m_ParentWnd->m_ChildWnd=pWnd->m_PrevWnd?pWnd->m_PrevWnd:pWnd->m_NextWnd;\n\tif(pWnd->m_ParentWnd->m_ChildTopWnd==pWnd)\n\t\tpWnd->m_ParentWnd->m_ChildTopWnd=pWnd->m_PrevWnd;\n\n\tif(pWnd->m_Style & WISP_WS_ADV_WND)\n\t\tm_WndCount--;\n\telse\n\t\tm_BaseWndCount--;\n}\n\nvoid CWispBase::RemoveWndMsg(IN CWispBaseWnd*pWnd)\n{\n\tfor(int nMsg=0;nMsg<m_MsgQueue.Count();nMsg++)\n\t{\n\t\tif(m_MsgQueue[nMsg].hWnd==pWnd)\n\t\t\tm_MsgQueue[nMsg].hWnd=NULL;\n\t}\n}\n\nvoid CWispBase::CaptureMouseEvent(IN CWispBaseWnd*pWnd)\n{\n\tm_pMouseEventWnd=pWnd;\n}\n\nbool CWispBase::MergeMessage(IN WISP_MSG*pNewMsg,INOUT WISP_MSG*pMergeMsg)\n{\n\tif(pNewMsg->Msg!=pMergeMsg->Msg)\n\t\treturn false;\n\tswitch(pNewMsg->Msg)\n\t{\n\tcase WISP_WM_MOUSE_MOVE:\n\t\tpMergeMsg->MouseEvent.hWndMouseAt = pNewMsg->MouseEvent.hWndMouseAt;\n\t\tpMergeMsg->MouseEvent.DeltaX     += pNewMsg->MouseEvent.DeltaX;\n\t\tpMergeMsg->MouseEvent.DeltaY     += pNewMsg->MouseEvent.DeltaY;\n\t\tbreak;\n\tdefault:\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CWispBase::GetMessage(OUT WISP_MSG*pMsg)\n{\n\tif(m_MsgQueue.Count())\n\t{\n\t\t*pMsg=m_MsgQueue[0];\n\t\tm_MsgQueue.Remove();\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispBase::SendMessage(IN WISP_MSG*pMsg)\n{\n\tbool bResult;\n\tif(pMsg->hWnd==NULL)\n\t\treturn true;\n\tpMsg->bMsgLBTDown = m_KeyMap[WISP_VK_LBUTTON];\n\tpMsg->bMsgRBTDown = m_KeyMap[WISP_VK_RBUTTON];\n\tpMsg->MsgMouseWndPT = pMsg->MsgMouseScrPT = m_MousePT;\n\tPointToRect(&pMsg->MsgMouseWndPT,&pMsg->hWnd->m_ScrWindowRect);\n\tpMsg->MsgMouseCltPT = pMsg->MsgMouseWndPT;\n\tif(pMsg->hWnd->m_Style&WISP_WS_ADV_WND)\n\t\tPointToRect(&pMsg->MsgMouseCltPT,&((CWispWnd*)pMsg->hWnd)->m_ClientRect);\n\tbResult=pMsg->hWnd->MsgProc(pMsg);\n\tif(m_bMsgSleeping)\n\t{\n\t\tWakeUpMsgThread();\n\t}\n\treturn bResult;\n}\n\nbool CWispBase::PostMessage(IN WISP_MSG*pMsg)\n{\n\tWISP_MSG*pLastMsg;\n\tif(pMsg->hWnd==NULL)\n\t\treturn false;\n\tpMsg->bMsgLBTDown = m_KeyMap[WISP_VK_LBUTTON];\n\tpMsg->bMsgRBTDown = m_KeyMap[WISP_VK_RBUTTON];\n\tpMsg->MsgMouseWndPT = pMsg->MsgMouseScrPT = m_MousePT;\n\tPointToRect(&pMsg->MsgMouseWndPT,&((CWispWnd*)pMsg->hWnd)->m_ScrWindowRect);\n\tif(m_MsgQueue.Count())\n\t{\n\t\tpLastMsg = &m_MsgQueue[m_MsgQueue.Count()-1];\n\t\tif(pLastMsg->hWnd==pMsg->hWnd)\n\t\t{\n\t\t\tif(MergeMessage(pMsg,pLastMsg))\n\t\t\t{\n\t\t\t\tgoto ExitPostMessage;\n\t\t\t}\n\t\t}\n\t}\n\tm_MsgQueue.Append(*pMsg);\nExitPostMessage:\n\tif(m_bMsgSleeping)\n\t{\n\t\tm_bMsgSleeping = false;\n\t\tWakeUpMsgThread();\n\t}\n\treturn true;\n}\n\nbool CWispBase::DispatchMessage(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->hWnd==NULL)\n\t\treturn false;\n\treturn pMsg->hWnd->MsgProc(pMsg);\n}\n\nvoid CWispBase::DispatchMsg()\n{\n\tWISP_MSG Msg;\n\twhile(m_MsgQueue.Count())\n\t{\n\t\tMsg = m_MsgQueue[0];\n\t\tm_MsgQueue.Remove();\n\t\tDispatchMessage(&Msg);\n\t}\n}\n\nvoid CWispBase::DispatchInputMsg()\n{\n\tWISP_INPUT_MSG Msg;\n\twhile(m_InputMsgQueue.Count())\n\t{\n\t\tMsg = m_InputMsgQueue[0];\n\t\tm_InputMsgQueue.Remove();\n\t\tswitch(Msg.InputMsg)\n\t\t{\n\t\tcase WISP_INPUT_KEY_EVENT:\n\t\t\tDispatchKeyEvent(Msg.KeyEvent.KeyType,Msg.KeyEvent.bKeyDown,Msg.KeyEvent.ScanCode);\n\t\t\tbreak;\n\t\tcase WISP_INPUT_MOUSE_BT_DB_CLICK:\n\t\t\tDispatchMouseButtonDBClick(Msg.MouseBTDBClick.KeyType);\n\t\t\tbreak;\n\t\tcase WISP_INPUT_MOUSE_POS_CHG:\n\t\t\tDispatchMousePosChg(Msg.MousePosChg.PosX,Msg.MousePosChg.PosY);\n\t\t\tbreak;\n\t\tcase WISP_INPUT_MOUSE_MOVE:\n\t\t\tDispatchMouseMove(Msg.MouseMove.DeltaX,Msg.MouseMove.DeltaY);\n\t\t\tbreak;\n\t\tcase WISP_INPUT_MOUSE_WHEEL:\n\t\t\tDispatchMouseWheel(Msg.MouseWheel.DeltaZ);\n\t\t\tbreak;\n\t\tcase WISP_INPUT_TIMER:\n\t\t\tDispatchTimer(Msg.Timer.MilliSec);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvoid CWispBase::Pump()\n{\n\tm_bActive=true;\n\twhile(m_bActive && PumpCondition())\n\t{\n\t\tEnterCriticalSection();\n\t\tDispatchInputMsg();\n\t\tDispatchMsg();\n\t\tif(m_bActive && m_bNeedUpdate && m_LockRef==0)\n\t\t{\n\t\t\tUpdateFrameBuffer();\n\t\t\tm_bNeedUpdate=false;\n\t\t}\n\t\tLeaveCriticalSection();\n\t\tm_bMsgSleeping = true;\n\t\tSleepMsgThread();\n\t\tm_bMsgSleeping = false;\n\t}\n\tEnterCriticalSection();\n\tUpdateFrameBuffer();\n\tLeaveCriticalSection();\n\tm_bActive = false;\n}\n\nvoid CWispBase::BlockPump(CWispBaseWnd*pWnd)\n{\n\tm_ModelLevel++;\n\twhile(m_bActive && pWnd->IsWindow() && pWnd->IsVisible())\n\t{\n\t\tDispatchInputMsg();\n\t\tDispatchMsg();\n\t\tif(m_bActive && m_bNeedUpdate && m_LockRef==0)\n\t\t{\n\t\t\tUpdateFrameBuffer();\n\t\t\tm_bNeedUpdate=false;\n\t\t}\n\t\tLeaveCriticalSection();\n\t\tm_bMsgSleeping=true;\n\t\tSleepMsgThread();\n\t\tm_bMsgSleeping=false;\n\t\tEnterCriticalSection();\n\t}\n\tm_ModelLevel--;\n}\n\nbool CWispBase::SelectDrawObject(CWispDrawObj*pDrawObj)\n{\n\tif(pDrawObj == m_pCurDrawObj)\n\t{\n\t\tif(m_pCurDrawObj)\n\t\t{\n\t\t\tm_pCurDrawObj->Release();\n\t\t\treturn m_pCurDrawObj->Init();\n\t\t}\n\t\treturn false;\n\t}\n\tif(pDrawObj && pDrawObj->Init()==false)\n\t\treturn false;\n\tif(m_pCurDrawObj)\n\t\tm_pCurDrawObj->Release();\n\tm_pCurDrawObj = pDrawObj;\n\treturn true;\n}\n\nbool CWispBase::PumpCondition()\n{\n\tif(m_KeyMap[WISP_VK_F12] && m_KeyMap[WISP_VK_CONTROL])\n\t\treturn false;\n\treturn true;\n}\n\nWISP_PSTR CWispBase::GetClipboardString()\n{\n\treturn (WISP_PSTR)m_ClipboardString;\n}\n\nbool CWispBase::SetClipboardString(WISP_PCSTR String)\n{\n\tm_ClipboardString = String;\n\treturn true;\n}\n\nvoid CWispBase::GetFrameBufferDrawHAL(WISP_FRAME_BUFFER*pFrameBuffer)\n{\n\tswitch(pFrameBuffer->Bpp)\n\t{\n\tcase 4:\n\t\tpFrameBuffer->pDrawHAL = &m_DrawHAL4Bit;\n\t\tbreak;\n\tcase 8:\n\t\tpFrameBuffer->pDrawHAL = &m_DrawHAL8Bit;\n\t\tbreak;\n\tcase 16:\n\t\tpFrameBuffer->pDrawHAL = &m_DrawHAL16Bit;\n\t\tbreak;\n\tcase 24:\n\t\tpFrameBuffer->pDrawHAL = &m_DrawHAL24Bit;\n\t\tbreak;\n\tcase 32:\n\t\tpFrameBuffer->pDrawHAL = &m_DrawHAL32Bit;\n\t\tbreak;\n\tdefault:\n\t\tpFrameBuffer->pDrawHAL = &m_NotSupportDrawHAL;\n\t\tbreak;\n\t}\n}\n\nbool CWispBase::SaveScreen(PCSTR FileName)\n{\n\tbool Result;\n\tCWispDIB Bmp;\n\tBmp.m_FrameBuffer = m_FrameBuffer;\n\tResult = Bmp.Save(FileName);\n\tSTZeroMemory(Bmp);\n\treturn Result;\n}\n\nint CWispBase::MsgBox(WISP_CHAR*pText,WISP_CHAR*pCaption,UINT uType,CWispBaseWnd*pParentWnd)\n{\n\treturn CWispMsgBox::StaticShowMsgBox(pText,pCaption,uType,pParentWnd);\n}\n\nvoid CWispBase::ReportMsg(IN const WISP_CHAR* Format,...)\n{\n\treturn;\n}\n\nvoid*CWispBase::GetScreenBuffer(IN int x,IN int y)\n{\n\treturn RT_PVOID(m_FrameBuffer.Buffer,y*m_FrameBuffer.LineDistance+x*m_FrameBuffer.Bpp/8);\n}\n\nbool CWispBase::CopyToScreen(WISP_FRAME_BUFFER*pRealScreen,WISP_POINT*pPT,WISP_RECT*pUpdateRect)\n{\n\tWISP_RECT rc,rcClip;\n\tCWispDrawHAL*pDrawHAL;\n\tvoid* Buffer;\n\tint XOffset,YOffset;\n\tBuffer=pRealScreen->Buffer;\n\tif(Buffer==NULL)\n\t\treturn false;\n\tif(pPT)\n\t{\n\t\trc.x=pPT->x;\n\t\trc.y=pPT->y;\n\t}\n\telse\n\t{\n\t\trc.x = CENTER_ALGN(m_FrameBuffer.Width,pRealScreen->Width);\n\t\trc.y = CENTER_ALGN(m_FrameBuffer.Height,pRealScreen->Height);\n\t\tMIN_LIMIT(rc.x,0);\n\t\tMIN_LIMIT(rc.y,0);\n\t}\n\tif(pUpdateRect)\n\t{\n\t\trc.x+=pUpdateRect->x;\n\t\trc.y+=pUpdateRect->y;\n\t\trc.cx=pUpdateRect->cx;\n\t\trc.cy=pUpdateRect->cy;\n\t}\n\telse\n\t{\n\t\trc.cx=m_FrameBuffer.Width;\n\t\trc.cy=m_FrameBuffer.Height;\n\t}\n\tswitch(pRealScreen->Bpp)\n\t{\n\t\tcase 32:\n\t\t\tpDrawHAL = &m_DrawHAL32Bit;\n\t\t\tbreak;\n\t\tcase 24:\n\t\t\tpDrawHAL = &m_DrawHAL24Bit;\n\t\t\tbreak;\n\t\tcase 16:\n\t\t\tpDrawHAL = &m_DrawHAL16Bit;\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\tpDrawHAL = &m_DrawHAL8Bit;\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tpDrawHAL = &m_DrawHAL4Bit;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tpDrawHAL = &m_NotSupportDrawHAL;\n\t\t\tbreak;\n\t}\n\tXOffset = rc.x;\n\tYOffset = rc.y;\n\tif(pUpdateRect)\n\t{\n\t\tXOffset-=pUpdateRect->x;\n\t\tYOffset-=pUpdateRect->y;\n\t}\n\trcClip.x=0;\n\trcClip.y=0;\n\trcClip.cx=pRealScreen->Width;\n\trcClip.cy=pRealScreen->Height;\n\tif(ClipRect(&rc,&rcClip)==false)\n\t\treturn true;\n\tfor(int y=0;y<rc.cy;y++)\n\t{\n\t\tpDrawHAL->Copy32BitPixelTo(RT_PVOID(pRealScreen->Buffer,(rc.y+y)*pRealScreen->LineDistance+rc.x*pRealScreen->Bpp/8),\n\t\t\t\t\t\t\t\t\tRT_PVOID(m_FrameBuffer.Buffer,(rc.y-YOffset+y)*m_FrameBuffer.LineDistance+(rc.x-XOffset)*m_FrameBuffer.Bpp/8),rc.cx);\n\t}\n\treturn true;\n}\n\nWISP_PHYS_FONT_INFO\tCWispBase::m_PhysFontInfo[WISP_FONT_COUNT]=\n{\n\t{8,16,\"\\\\Font\\\\Font8x16.dat\",\"\\\\Font\\\\WF8x16.dat\"},\n\t{6,12,\"\\\\Font\\\\Font6x12.dat\",\"\\\\Font\\\\WF6x12.dat\"},\n\t{12,16,\"\\\\Font\\\\ASCI1216.dat\",\"\\\\Font\\\\ASCI1216.dat\"},\n\t{12,16,\"\\\\Font\\\\EBCD1216.dat\",\"\\\\Font\\\\EBCD1216.dat\"},\n\t{12,16,\"\\\\Font\\\\ANSI1216.dat\",\"\\\\Font\\\\ANSI1216.dat\"},\n};\n\nWISP_CHAR CWispBase::m_VKKeyChar[2][WISP_VK_COUNT*2]=\n{\n\t{\n\t'\\0',\t'\\0',\t// WISP_VK_NULL\t\t\t\t0x00\n\t'\\0',\t'\\0',\t// WISP_VK_LBUTTON\t\t\t0x01\n\t'\\0',\t'\\0',\t// WISP_VK_RBUTTON\t\t\t0x02\n\t'\\0',\t'\\0',\t// WISP_VK_CANCEL\t\t\t0x03\n\t'\\0',\t'\\0',\t// WISP_VK_MBUTTON\t\t\t0x04\n\t'\\0',\t'\\0',\t// WISP_VK_XBUTTON1\t\t\t0x05\n\t'\\0',\t'\\0',\t// WISP_VK_XBUTTON2\t\t\t0x06\n\t'\\0',\t'\\0',\t// WISP_VK_KEYBOARD_START\t0x07\n\t0x08,\t0x08,\t// WISP_VK_BACK\t\t\t\t0x08\n\t'\\t',\t'\\t',\t// WISP_VK_TAB\t\t\t\t0x09\n\t'\\0',\t'\\0',\t// WISP_VK_0X0A\t\t\t\t0x0A\n\t'\\0',\t'\\0',\t// WISP_VK_0X0B\t\t\t\t0x0B\n\t'\\0',\t'\\0',\t// WISP_VK_CLEAR\t\t\t0x0C\n\t'\\n',\t'\\n',\t// WISP_VK_RETURN\t\t\t0x0D\n\t'\\0',\t'\\0',\t// WISP_VK_0X0E\t\t\t\t0x0E\n\t'\\0',\t'\\0',\t// WISP_VK_0X0F\t\t\t\t0x0F\n\n\t'\\0',\t'\\0',\t// WISP_VK_SHIFT\t\t\t0x10\n\t'\\0',\t'\\0',\t// WISP_VK_CONTROL\t\t\t0x11\n\t'\\0',\t'\\0',\t// WISP_VK_MENU\t\t\t\t0x12\n\t'\\0',\t'\\0',\t// WISP_VK_PAUSE\t\t\t0x13\n\t'\\0',\t'\\0',\t// WISP_VK_CAPITAL\t\t\t0x14\n\t'\\0',\t'\\0',\t// WISP_VK_0X15\t\t\t\t0x15\n\t'\\0',\t'\\0',\t// WISP_VK_0X16\t\t\t\t0x16\n\t'\\0',\t'\\0',\t// WISP_VK_0X17\t\t\t\t0x17\n\t'\\0',\t'\\0',\t// WISP_VK_0X18\t\t\t\t0x18\n\t'\\0',\t'\\0',\t// WISP_VK_0X19\t\t\t\t0x19\n\t'\\0',\t'\\0',\t// WISP_VK_0X1A\t\t\t\t0x1A\n\t'\\0',\t'\\0',\t// WISP_VK_ESCAPE\t\t\t0x1B\n\t'\\0',\t'\\0',\t// WISP_VK_CONVERT\t\t\t0x1C\n\t'\\0',\t'\\0',\t// WISP_VK_NONCONVERT\t\t0x1D\n\t'\\0',\t'\\0',\t// WISP_VK_ACCEPT\t\t\t0x1E\n\t'\\0',\t'\\0',\t// WISP_VK_MODECHANGE\t\t0x1F\n\n\t0x20,\t0x20,\t// WISP_VK_SPACE\t\t\t0x20\n\t'\\0',\t'\\0',\t// WISP_VK_PRIOR\t\t\t0x21\n\t'\\0',\t'\\0',\t// WISP_VK_NEXT\t\t\t\t0x22\n\t'\\0',\t'\\0',\t// WISP_VK_END\t\t\t\t0x23\n\t'\\0',\t'\\0',\t// WISP_VK_HOME\t\t\t\t0x24\n\t'\\0',\t'\\0',\t// WISP_VK_LEFT\t\t\t\t0x25\n\t'\\0',\t'\\0',\t// WISP_VK_UP\t\t\t\t0x26\n\t'\\0',\t'\\0',\t// WISP_VK_RIGHT\t\t\t0x27\n\t'\\0',\t'\\0',\t// WISP_VK_DOWN\t\t\t\t0x28\n\t'\\0',\t'\\0',\t// WISP_VK_SELECT\t\t\t0x29\n\t'\\0',\t'\\0',\t// WISP_VK_PRint\t\t\t0x2A\n\t'\\0',\t'\\0',\t// WISP_VK_EXECUTE\t\t\t0x2B\n\t'\\0',\t'\\0',\t// WISP_VK_SNAPSHOT\t\t\t0x2C\n\t'\\0',\t'\\0',\t// WISP_VK_INSERT\t\t\t0x2D\n\t'\\0',\t'\\0',\t// WISP_VK_DELETE\t\t\t0x2E\n\t'\\0',\t'\\0',\t// WISP_VK_HELP\t\t\t\t0x2F\n\n\t')',\t'0',\t// WISP_VK_0\t\t\t\t0x30\n\t'!',\t'1',\t// WISP_VK_1\t\t\t\t0x31\n\t'@',\t'2',\t// WISP_VK_2\t\t\t\t0x32\n\t'#',\t'3',\t// WISP_VK_3\t\t\t\t0x33\n\t'$',\t'4',\t// WISP_VK_4\t\t\t\t0x34\n\t'%',\t'5',\t// WISP_VK_5\t\t\t\t0x35\n\t'^',\t'6',\t// WISP_VK_6\t\t\t\t0x36\n\t'&',\t'7',\t// WISP_VK_7\t\t\t\t0x37\n\t'*',\t'8',\t// WISP_VK_8\t\t\t\t0x38\n\t'(',\t'9',\t// WISP_VK_9\t\t\t\t0x39\n\t'\\0',\t'\\0',\t// WISP_VK_0X3A\t\t\t\t0x3A\n\t'\\0',\t'\\0',\t// WISP_VK_0X3B\t\t\t\t0x3B\n\t'\\0',\t'\\0',\t// WISP_VK_0X3C\t\t\t\t0x3C\n\t'\\0',\t'\\0',\t// WISP_VK_0X3D\t\t\t\t0x3D\n\t'\\0',\t'\\0',\t// WISP_VK_0X3E\t\t\t\t0x3E\n\t'\\0',\t'\\0',\t// WISP_VK_0X3F\t\t\t\t0x3F\n\n\t'\\0',\t'\\0',\t// WISP_VK_0X40\t\t\t\t0x40\n\t'A',\t'a',\t// WISP_VK_A\t\t\t\t0x41\n\t'B',\t'b',\t// WISP_VK_B\t\t\t\t0x42\n\t'C',\t'c',\t// WISP_VK_C\t\t\t\t0x43\n\t'D',\t'd',\t// WISP_VK_D\t\t\t\t0x44\n\t'E',\t'e',\t// WISP_VK_E\t\t\t\t0x45\n\t'F',\t'f',\t// WISP_VK_F\t\t\t\t0x46\n\t'G',\t'g',\t// WISP_VK_G\t\t\t\t0x47\n\t'H',\t'h',\t// WISP_VK_H\t\t\t\t0x48\n\t'I',\t'i',\t// WISP_VK_I\t\t\t\t0x49\n\t'J',\t'j',\t// WISP_VK_J\t\t\t\t0x4A\n\t'K',\t'k',\t// WISP_VK_K\t\t\t\t0x4B\n\t'L',\t'l',\t// WISP_VK_L\t\t\t\t0x4C\n\t'M',\t'm',\t// WISP_VK_M\t\t\t\t0x4D\n\t'N',\t'n',\t// WISP_VK_N\t\t\t\t0x4E\n\t'O',\t'o',\t// WISP_VK_O\t\t\t\t0x4F\n\n\t'P',\t'p',\t// WISP_VK_P\t\t\t\t0x50\n\t'Q',\t'q',\t// WISP_VK_Q\t\t\t\t0x51\n\t'R',\t'r',\t// WISP_VK_R\t\t\t\t0x52\n\t'S',\t's',\t// WISP_VK_S\t\t\t\t0x53\n\t'T',\t't',\t// WISP_VK_T\t\t\t\t0x54\n\t'U',\t'u',\t// WISP_VK_U\t\t\t\t0x55\n\t'V',\t'v',\t// WISP_VK_V\t\t\t\t0x56\n\t'W',\t'w',\t// WISP_VK_W\t\t\t\t0x57\n\t'X',\t'x',\t// WISP_VK_X\t\t\t\t0x58\n\t'Y',\t'y',\t// WISP_VK_Y\t\t\t\t0x59\n\t'Z',\t'z',\t// WISP_VK_Z\t\t\t\t0x5A\n\t'\\0',\t'\\0',\t// WISP_VK_LWIN\t\t\t\t0x5B\n\t'\\0',\t'\\0',\t// WISP_VK_RWIN\t\t\t\t0x5C\n\t'\\0',\t'\\0',\t// WISP_VK_APPS\t\t\t\t0x5D\n\t'\\0',\t'\\0',\t// WISP_VK_0X5E\t\t\t\t0x5E\n\t'\\0',\t'\\0',\t// WISP_VK_SLEEP\t\t\t0x5F\n\n\t'0',\t'0',\t// WISP_VK_NUMPAD0\t\t\t0x60\n\t'1',\t'1',\t// WISP_VK_NUMPAD1\t\t\t0x61\n\t'2',\t'2',\t// WISP_VK_NUMPAD2\t\t\t0x62\n\t'3',\t'3',\t// WISP_VK_NUMPAD3\t\t\t0x63\n\t'4',\t'4',\t// WISP_VK_NUMPAD4\t\t\t0x64\n\t'5',\t'5',\t// WISP_VK_NUMPAD5\t\t\t0x65\n\t'6',\t'6',\t// WISP_VK_NUMPAD6\t\t\t0x66\n\t'7',\t'7',\t// WISP_VK_NUMPAD7\t\t\t0x67\n\t'8',\t'8',\t// WISP_VK_NUMPAD8\t\t\t0x68\n\t'9',\t'9',\t// WISP_VK_NUMPAD9\t\t\t0x69\n\t'*',\t'*',\t// WISP_VK_MULTIPLY\t\t\t0x6A\n\t'+',\t'+',\t// WISP_VK_ADD\t\t\t\t0x6B\n\t'\\\\',\t'\\\\',\t// WISP_VK_SEPARATOR\t\t0x6C\n\t'-',\t'-',\t// WISP_VK_SUBTRACT\t\t\t0x6D\n\t'.',\t'.',\t// WISP_VK_DECIMAL\t\t\t0x6E\n\t'/',\t'/',\t// WISP_VK_DIVIDE\t\t\t0x6F\n\n\t'\\0',\t'\\0',\t// WISP_VK_F1\t\t\t\t0x70\n\t'\\0',\t'\\0',\t// WISP_VK_F2\t\t\t\t0x71\n\t'\\0',\t'\\0',\t// WISP_VK_F3\t\t\t\t0x72\n\t'\\0',\t'\\0',\t// WISP_VK_F4\t\t\t\t0x73\n\t'\\0',\t'\\0',\t// WISP_VK_F5\t\t\t\t0x74\n\t'\\0',\t'\\0',\t// WISP_VK_F6\t\t\t\t0x75\n\t'\\0',\t'\\0',\t// WISP_VK_F7\t\t\t\t0x76\n\t'\\0',\t'\\0',\t// WISP_VK_F8\t\t\t\t0x77\n\t'\\0',\t'\\0',\t// WISP_VK_F9\t\t\t\t0x78\n\t'\\0',\t'\\0',\t// WISP_VK_F10\t\t\t\t0x79\n\t'\\0',\t'\\0',\t// WISP_VK_F11\t\t\t\t0x7A\n\t'\\0',\t'\\0',\t// WISP_VK_F12\t\t\t\t0x7B\n\t'\\0',\t'\\0',\t// WISP_VK_F13\t\t\t\t0x7C\n\t'\\0',\t'\\0',\t// WISP_VK_F14\t\t\t\t0x7D\n\t'\\0',\t'\\0',\t// WISP_VK_F15\t\t\t\t0x7E\n\t'\\0',\t'\\0',\t// WISP_VK_F16\t\t\t\t0x7F\n\n\t'\\0',\t'\\0',\t// WISP_VK_F17\t\t\t\t0x80\n\t'\\0',\t'\\0',\t// WISP_VK_F18\t\t\t\t0x81\n\t'\\0',\t'\\0',\t// WISP_VK_F19\t\t\t\t0x82\n\t'\\0',\t'\\0',\t// WISP_VK_F20\t\t\t\t0x83\n\t'\\0',\t'\\0',\t// WISP_VK_F21\t\t\t\t0x84\n\t'\\0',\t'\\0',\t// WISP_VK_F22\t\t\t\t0x85\n\t'\\0',\t'\\0',\t// WISP_VK_F23\t\t\t\t0x86\n\t'\\0',\t'\\0',\t// WISP_VK_F24\t\t\t\t0x87\n\t'\\0',\t'\\0',\t// WISP_VK_0X88\t\t\t\t0x88\n\t'\\0',\t'\\0',\t// WISP_VK_0X89\t\t\t\t0x89\n\t'\\0',\t'\\0',\t// WISP_VK_0X8A\t\t\t\t0x8A\n\t'\\0',\t'\\0',\t// WISP_VK_0X8B\t\t\t\t0x8B\n\t'\\0',\t'\\0',\t// WISP_VK_0X8C\t\t\t\t0x8C\n\t'\\0',\t'\\0',\t// WISP_VK_0X8D\t\t\t\t0x8D\n\t'\\0',\t'\\0',\t// WISP_VK_0X8E\t\t\t\t0x8E\n\t'\\0',\t'\\0',\t// WISP_VK_0X8F\t\t\t\t0x8F\n\n\t'\\0',\t'\\0',\t// WISP_VK_0X90\t\t\t\t0x90\n\t'\\0',\t'\\0',\t// WISP_VK_0X91\t\t\t\t0x91\n\t'\\0',\t'\\0',\t// WISP_VK_0X92\t\t\t\t0x92\n\t'\\0',\t'\\0',\t// WISP_VK_0X93\t\t\t\t0x93\n\t'\\0',\t'\\0',\t// WISP_VK_0X94\t\t\t\t0x94\n\t'\\0',\t'\\0',\t// WISP_VK_0X95\t\t\t\t0x95\n\t'\\0',\t'\\0',\t// WISP_VK_0X96\t\t\t\t0x96\n\t'\\0',\t'\\0',\t// WISP_VK_0X97\t\t\t\t0x97\n\t'\\0',\t'\\0',\t// WISP_VK_0X98\t\t\t\t0x98\n\t'\\0',\t'\\0',\t// WISP_VK_0X99\t\t\t\t0x99\n\t'\\0',\t'\\0',\t// WISP_VK_0X9A\t\t\t\t0x9A\n\t'\\0',\t'\\0',\t// WISP_VK_0X9B\t\t\t\t0x9B\n\t'\\0',\t'\\0',\t// WISP_VK_0X9C\t\t\t\t0x9C\n\t'\\0',\t'\\0',\t// WISP_VK_0X9D\t\t\t\t0x9D\n\t'\\0',\t'\\0',\t// WISP_VK_0X9E\t\t\t\t0x9E\n\t'\\0',\t'\\0',\t// WISP_VK_0X9F\t\t\t\t0x9F\n\n\t'\\0',\t'\\0',\t// WISP_VK_LSHIFT\t\t\t0xA0\n\t'\\0',\t'\\0',\t// WISP_VK_RSHIFT\t\t\t0xA1\n\t'\\0',\t'\\0',\t// WISP_VK_LCONTROL\t\t\t0xA2\n\t'\\0',\t'\\0',\t// WISP_VK_RCONTROL\t\t\t0xA3\n\t'\\0',\t'\\0',\t// WISP_VK_LMENU\t\t\t0xA4\n\t'\\0',\t'\\0',\t// WISP_VK_RMENU\t\t\t0xA5\n\t'\\0',\t'\\0',\t// VK_BROWSER_BACK\t\t\t0xA6\n\t'\\0',\t'\\0',\t// VK_BROWSER_FORWARD\t\t0xA7\n\t'\\0',\t'\\0',\t// VK_BROWSER_REFRESH\t\t0xA8\n\t'\\0',\t'\\0',\t// VK_BROWSER_STOP\t\t\t0xA9\n\t'\\0',\t'\\0',\t// VK_BROWSER_SEARCH\t\t0xAA\n\t'\\0',\t'\\0',\t// VK_BROWSER_FAVORITES\t\t0xAB\n\t'\\0',\t'\\0',\t// VK_BROWSER_HOME\t\t\t0xAC\n\t'\\0',\t'\\0',\t// VK_VOLUME_MUTE\t\t\t0xAD\n\t'\\0',\t'\\0',\t// VK_VOLUME_DOWN\t\t\t0xAE\n\t'\\0',\t'\\0',\t// VK_VOLUME_UP\t\t\t\t0xAF\n\n\t'\\0',\t'\\0',\t// VK_MEDIA_NEXT_TRACK\t\t0xB0\n\t'\\0',\t'\\0',\t// VK_MEDIA_PREV_TRACK\t\t0xB1\n\t'\\0',\t'\\0',\t// VK_MEDIA_STOP\t\t\t0xB2\n\t'\\0',\t'\\0',\t// VK_MEDIA_PLAY_PAUSE\t\t0xB3\n\t'\\0',\t'\\0',\t// VK_LAUNCH_MAIL\t\t\t0xB4\n\t'\\0',\t'\\0',\t// VK_LAUNCH_MEDIA_SELECT\t0xB5\n\t'\\0',\t'\\0',\t// VK_LAUNCH_APP1\t\t\t0xB6\n\t'\\0',\t'\\0',\t// VK_LAUNCH_APP2\t\t\t0xB7\n\t'\\0',\t'\\0',\t// WISP_VK_0XB8\t\t\t\t0xB8\n\t'\\0',\t'\\0',\t// WISP_VK_0XB9\t\t\t\t0xB9\n\t':',\t';',\t// WISP_VK_OEM_1\t\t\t0xBA   // ';:' for US\n\t'+',\t'=',\t// WISP_VK_OEM_PLUS\t\t\t0xBB   // '+' any country\n\t'<',\t',',\t// WISP_VK_OEM_COMMA\t\t0xBC   // ',' any country\n\t'_',\t'-',\t// WISP_VK_OEM_MINUS\t\t0xBD   // '-' any country\n\t'>',\t'.',\t// WISP_VK_OEM_PERIOD\t\t0xBE   // '.' any country\n\t'?',\t'/',\t// WISP_VK_OEM_2\t\t\t0xBF   // '/?' for US\n\n\t'~',\t'`',\t// WISP_VK_OEM_3\t\t\t0xC0   // '`~' for US\n\t'\\0',\t'\\0',\t// WISP_VK_0XC1\t\t\t\t0xC1\n\t'\\0',\t'\\0',\t// WISP_VK_0XC2\t\t\t\t0xC2\n\t'\\0',\t'\\0',\t// WISP_VK_0XC3\t\t\t\t0xC3\n\t'\\0',\t'\\0',\t// WISP_VK_0XC4\t\t\t\t0xC4\n\t'\\0',\t'\\0',\t// WISP_VK_0XC5\t\t\t\t0xC5\n\t'\\0',\t'\\0',\t// WISP_VK_0XC6\t\t\t\t0xC6\n\t'\\0',\t'\\0',\t// WISP_VK_0XC7\t\t\t\t0xC7\n\t'\\0',\t'\\0',\t// WISP_VK_0XC8\t\t\t\t0xC8\n\t'\\0',\t'\\0',\t// WISP_VK_0XC9\t\t\t\t0xC9\n\t'\\0',\t'\\0',\t// WISP_VK_0XCA\t\t\t\t0xCA\n\t'\\0',\t'\\0',\t// WISP_VK_0XCB\t\t\t\t0xCB\n\t'\\0',\t'\\0',\t// WISP_VK_0XCC\t\t\t\t0xCC\n\t'\\0',\t'\\0',\t// WISP_VK_0XCD\t\t\t\t0xCD\n\t'\\0',\t'\\0',\t// WISP_VK_0XCE\t\t\t\t0xCE\n\t'\\0',\t'\\0',\t// WISP_VK_0XCF\t\t\t\t0xCF\n\n\t'\\0',\t'\\0',\t// WISP_VK_0XD0\t\t\t\t0xD0\n\t'\\0',\t'\\0',\t// WISP_VK_0XD1\t\t\t\t0xD1\n\t'\\0',\t'\\0',\t// WISP_VK_0XD2\t\t\t\t0xD2\n\t'\\0',\t'\\0',\t// WISP_VK_0XD3\t\t\t\t0xD3\n\t'\\0',\t'\\0',\t// WISP_VK_0XD4\t\t\t\t0xD4\n\t'\\0',\t'\\0',\t// WISP_VK_0XD5\t\t\t\t0xD5\n\t'\\0',\t'\\0',\t// WISP_VK_0XD6\t\t\t\t0xD6\n\t'\\0',\t'\\0',\t// WISP_VK_0XD7\t\t\t\t0xD7\n\t'\\0',\t'\\0',\t// WISP_VK_0XD8\t\t\t\t0xD8\n\t'\\0',\t'\\0',\t// WISP_VK_0XD9\t\t\t\t0xD9\n\t'\\0',\t'\\0',\t// WISP_VK_0XDA\t\t\t\t0xDA\n\t'{',\t'[',\t// WISP_VK_OEM_4\t\t\t0xDB  //  '[{' for US\n\t'|',\t'\\\\',\t// WISP_VK_OEM_5\t\t\t0xDC  //  '\\|' for US\n\t'}',\t']',\t// WISP_VK_OEM_6\t\t\t0xDD  //  ']}' for US\n\t'\\\"',\t'\\'',\t// WISP_VK_OEM_7\t\t\t0xDE  //  ''\"' for US\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_8\t\t\t0xDF\n\n\t'\\0',\t'\\0',\t// WISP_VK_0XE0\t\t\t\t0xE0\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_AX\t\t\t0xE1  //  'AX' key on Japanese AX kbd\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_102\t\t\t0xE2  //  \"<>\" or \"\\|\" on RT 102-key kbd.\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_HELP\t\t\t0xE3  //  Help key on ICO\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_00\t\t\t0xE4  //  00 key on ICO\n\t'\\0',\t'\\0',\t// WISP_VK_PROCESSKEY\t\t0xE5\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_CLEAR\t\t0xE6\n\t'\\0',\t'\\0',\t// WISP_VK_PACKET\t\t\t0xE7\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_RESET\t\t0xE9\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_JUMP\t\t\t0xEA\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA1\t\t\t0xEB\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA2\t\t\t0xEC\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA3\t\t\t0xED\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_WSCTRL\t\t0xEE\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_CUSEL\t\t0xEF\n\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_ATTN\t\t\t0xF0\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_FINISH\t\t0xF1\n\t'\\0',\t'\\0',\t// WISP_WISP_VK_OEM_COPY\t0xF2\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_AUTO\t\t\t0xF3\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_ENLW\t\t\t0xF4\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_BACKTAB\t\t0xF5\n\t'\\0',\t'\\0',\t// WISP_VK_VK_ATTN\t\t\t0xF6\n\t'\\0',\t'\\0',\t// WISP_VK_VK_CRSEL\t\t\t0xF7\n\t'\\0',\t'\\0',\t// WISP_VK_VK_EXSEL\t\t\t0xF8\n\t'\\0',\t'\\0',\t// WISP_VK_VK_EREOF\t\t\t0xF9\n\t'\\0',\t'\\0',\t// WISP_VK_VK_PLAY\t\t\t0xFA\n\t'\\0',\t'\\0',\t// WISP_VK_VK_ZOOM\t\t\t0xFB\n\t'\\0',\t'\\0',\t// WISP_VK_VK_NONAME\t\t0xFC\n\t'\\0',\t'\\0',\t// WISP_VK_VK_PA1\t\t\t0xFD\n\t'\\0',\t'\\0',\t// WISP_VK_VK_OEM_CLEAR\t\t0xFE\n\t'\\0',\t'\\0',\t// WISP_VK_MAX_ID\t\t\t0xFF\n\t},\n{\n\t'\\0',\t'\\0',\t// WISP_VK_NULL\t\t\t\t0x00\n\t'\\0',\t'\\0',\t// WISP_VK_LBUTTON\t\t\t0x01\n\t'\\0',\t'\\0',\t// WISP_VK_RBUTTON\t\t\t0x02\n\t'\\0',\t'\\0',\t// WISP_VK_CANCEL\t\t\t0x03\n\t'\\0',\t'\\0',\t// WISP_VK_MBUTTON\t\t\t0x04\n\t'\\0',\t'\\0',\t// WISP_VK_XBUTTON1\t\t\t0x05\n\t'\\0',\t'\\0',\t// WISP_VK_XBUTTON2\t\t\t0x06\n\t'\\0',\t'\\0',\t// WISP_VK_KEYBOARD_START\t0x07\n\t0x08,\t0x08,\t// WISP_VK_BACK\t\t\t\t0x08\n\t'\\t',\t'\\t',\t// WISP_VK_TAB\t\t\t\t0x09\n\t'\\0',\t'\\0',\t// WISP_VK_0X0A\t\t\t\t0x0A\n\t'\\0',\t'\\0',\t// WISP_VK_0X0B\t\t\t\t0x0B\n\t'\\0',\t'\\0',\t// WISP_VK_CLEAR\t\t\t0x0C\n\t'\\n',\t'\\n',\t// WISP_VK_RETURN\t\t\t0x0D\n\t'\\0',\t'\\0',\t// WISP_VK_0X0E\t\t\t\t0x0E\n\t'\\0',\t'\\0',\t// WISP_VK_0X0F\t\t\t\t0x0F\n\n\t'\\0',\t'\\0',\t// WISP_VK_SHIFT\t\t\t0x10\n\t'\\0',\t'\\0',\t// WISP_VK_CONTROL\t\t\t0x11\n\t'\\0',\t'\\0',\t// WISP_VK_MENU\t\t\t\t0x12\n\t'\\0',\t'\\0',\t// WISP_VK_PAUSE\t\t\t0x13\n\t'\\0',\t'\\0',\t// WISP_VK_CAPITAL\t\t\t0x14\n\t'\\0',\t'\\0',\t// WISP_VK_0X15\t\t\t\t0x15\n\t'\\0',\t'\\0',\t// WISP_VK_0X16\t\t\t\t0x16\n\t'\\0',\t'\\0',\t// WISP_VK_0X17\t\t\t\t0x17\n\t'\\0',\t'\\0',\t// WISP_VK_0X18\t\t\t\t0x18\n\t'\\0',\t'\\0',\t// WISP_VK_0X19\t\t\t\t0x19\n\t'\\0',\t'\\0',\t// WISP_VK_0X1A\t\t\t\t0x1A\n\t'\\0',\t'\\0',\t// WISP_VK_ESCAPE\t\t\t0x1B\n\t'\\0',\t'\\0',\t// WISP_VK_CONVERT\t\t\t0x1C\n\t'\\0',\t'\\0',\t// WISP_VK_NONCONVERT\t\t0x1D\n\t'\\0',\t'\\0',\t// WISP_VK_ACCEPT\t\t\t0x1E\n\t'\\0',\t'\\0',\t// WISP_VK_MODECHANGE\t\t0x1F\n\n\t0x20,\t0x20,\t// WISP_VK_SPACE\t\t\t0x20\n\t'\\0',\t'\\0',\t// WISP_VK_PRIOR\t\t\t0x21\n\t'\\0',\t'\\0',\t// WISP_VK_NEXT\t\t\t\t0x22\n\t'\\0',\t'\\0',\t// WISP_VK_END\t\t\t\t0x23\n\t'\\0',\t'\\0',\t// WISP_VK_HOME\t\t\t\t0x24\n\t'\\0',\t'\\0',\t// WISP_VK_LEFT\t\t\t\t0x25\n\t'\\0',\t'\\0',\t// WISP_VK_UP\t\t\t\t0x26\n\t'\\0',\t'\\0',\t// WISP_VK_RIGHT\t\t\t0x27\n\t'\\0',\t'\\0',\t// WISP_VK_DOWN\t\t\t\t0x28\n\t'\\0',\t'\\0',\t// WISP_VK_SELECT\t\t\t0x29\n\t'\\0',\t'\\0',\t// WISP_VK_PRint\t\t\t0x2A\n\t'\\0',\t'\\0',\t// WISP_VK_EXECUTE\t\t\t0x2B\n\t'\\0',\t'\\0',\t// WISP_VK_SNAPSHOT\t\t\t0x2C\n\t'\\0',\t'\\0',\t// WISP_VK_INSERT\t\t\t0x2D\n\t'\\0',\t'\\0',\t// WISP_VK_DELETE\t\t\t0x2E\n\t'\\0',\t'\\0',\t// WISP_VK_HELP\t\t\t\t0x2F\n\n\t'0',\t'\\xe0',\t\t// WISP_VK_0\t\t\t\t0x30\n\t'1',\t'&',\t\t// WISP_VK_1\t\t\t\t0x31\n\t'2',\t'\\xe9',\t\t// WISP_VK_2\t\t\t\t0x32\n\t'3',\t'\"',\t\t// WISP_VK_3\t\t\t\t0x33\n\t'4',\t'\\'',\t\t// WISP_VK_4\t\t\t\t0x34\n\t'5',\t'(',\t\t// WISP_VK_5\t\t\t\t0x35\n\t'6',\t'-',\t\t// WISP_VK_6\t\t\t\t0x36\n\t'7',\t'\\xe0',\t\t// WISP_VK_7\t\t\t\t0x37\n\t'8',\t'_',\t\t// WISP_VK_8\t\t\t\t0x38\n\t'9',\t'\\xe7',\t\t// WISP_VK_9\t\t\t\t0x39\n\t\n\t'\\0',\t'\\0',\t// WISP_VK_0X3A\t\t\t\t0x3A\n\t'\\0',\t'\\0',\t// WISP_VK_0X3B\t\t\t\t0x3B\n\t'\\0',\t'\\0',\t// WISP_VK_0X3C\t\t\t\t0x3C\n\t'\\0',\t'\\0',\t// WISP_VK_0X3D\t\t\t\t0x3D\n\t'\\0',\t'\\0',\t// WISP_VK_0X3E\t\t\t\t0x3E\n\t'\\0',\t'\\0',\t// WISP_VK_0X3F\t\t\t\t0x3F\n\n\t'\\0',\t'\\0',\t// WISP_VK_0X40\t\t\t\t0x40\n\t'A',\t'a',\t// WISP_VK_A\t\t\t\t0x41\n\t'B',\t'b',\t// WISP_VK_B\t\t\t\t0x42\n\t'C',\t'c',\t// WISP_VK_C\t\t\t\t0x43\n\t'D',\t'd',\t// WISP_VK_D\t\t\t\t0x44\n\t'E',\t'e',\t// WISP_VK_E\t\t\t\t0x45\n\t'F',\t'f',\t// WISP_VK_F\t\t\t\t0x46\n\t'G',\t'g',\t// WISP_VK_G\t\t\t\t0x47\n\t'H',\t'h',\t// WISP_VK_H\t\t\t\t0x48\n\t'I',\t'i',\t// WISP_VK_I\t\t\t\t0x49\n\t'J',\t'j',\t// WISP_VK_J\t\t\t\t0x4A\n\t'K',\t'k',\t// WISP_VK_K\t\t\t\t0x4B\n\t'L',\t'l',\t// WISP_VK_L\t\t\t\t0x4C\n\t'M',\t'm',\t// WISP_VK_M\t\t\t\t0x4D\n\t'N',\t'n',\t// WISP_VK_N\t\t\t\t0x4E\n\t'O',\t'o',\t// WISP_VK_O\t\t\t\t0x4F\n\n\t'P',\t'p',\t// WISP_VK_P\t\t\t\t0x50\n\t'Q',\t'q',\t// WISP_VK_Q\t\t\t\t0x51\n\t'R',\t'r',\t// WISP_VK_R\t\t\t\t0x52\n\t'S',\t's',\t// WISP_VK_S\t\t\t\t0x53\n\t'T',\t't',\t// WISP_VK_T\t\t\t\t0x54\n\t'U',\t'u',\t// WISP_VK_U\t\t\t\t0x55\n\t'V',\t'v',\t// WISP_VK_V\t\t\t\t0x56\n\t'W',\t'w',\t// WISP_VK_W\t\t\t\t0x57\n\t'X',\t'x',\t// WISP_VK_X\t\t\t\t0x58\n\t'Y',\t'y',\t// WISP_VK_Y\t\t\t\t0x59\n\t'Z',\t'z',\t// WISP_VK_Z\t\t\t\t0x5A\n\t'\\0',\t'\\0',\t// WISP_VK_LWIN\t\t\t\t0x5B\n\t'\\0',\t'\\0',\t// WISP_VK_RWIN\t\t\t\t0x5C\n\t'\\0',\t'\\0',\t// WISP_VK_APPS\t\t\t\t0x5D\n\t'\\0',\t'\\0',\t// WISP_VK_0X5E\t\t\t\t0x5E\n\t'\\0',\t'\\0',\t// WISP_VK_SLEEP\t\t\t0x5F\n\n\t'0',\t'0',\t// WISP_VK_NUMPAD0\t\t\t0x60\n\t'1',\t'1',\t// WISP_VK_NUMPAD1\t\t\t0x61\n\t'2',\t'2',\t// WISP_VK_NUMPAD2\t\t\t0x62\n\t'3',\t'3',\t// WISP_VK_NUMPAD3\t\t\t0x63\n\t'4',\t'4',\t// WISP_VK_NUMPAD4\t\t\t0x64\n\t'5',\t'5',\t// WISP_VK_NUMPAD5\t\t\t0x65\n\t'6',\t'6',\t// WISP_VK_NUMPAD6\t\t\t0x66\n\t'7',\t'7',\t// WISP_VK_NUMPAD7\t\t\t0x67\n\t'8',\t'8',\t// WISP_VK_NUMPAD8\t\t\t0x68\n\t'9',\t'9',\t// WISP_VK_NUMPAD9\t\t\t0x69\n\t'*',\t'*',\t// WISP_VK_MULTIPLY\t\t\t0x6A\n\t'+',\t'+',\t// WISP_VK_ADD\t\t\t\t0x6B\n\t'\\\\',\t'\\\\',\t// WISP_VK_SEPARATOR\t\t0x6C\n\t'-',\t'-',\t// WISP_VK_SUBTRACT\t\t\t0x6D\n\t'.',\t'.',\t// WISP_VK_DECIMAL\t\t\t0x6E\n\t'/',\t'/',\t// WISP_VK_DIVIDE\t\t\t0x6F\n\n\t'\\0',\t'\\0',\t// WISP_VK_F1\t\t\t\t0x70\n\t'\\0',\t'\\0',\t// WISP_VK_F2\t\t\t\t0x71\n\t'\\0',\t'\\0',\t// WISP_VK_F3\t\t\t\t0x72\n\t'\\0',\t'\\0',\t// WISP_VK_F4\t\t\t\t0x73\n\t'\\0',\t'\\0',\t// WISP_VK_F5\t\t\t\t0x74\n\t'\\0',\t'\\0',\t// WISP_VK_F6\t\t\t\t0x75\n\t'\\0',\t'\\0',\t// WISP_VK_F7\t\t\t\t0x76\n\t'\\0',\t'\\0',\t// WISP_VK_F8\t\t\t\t0x77\n\t'\\0',\t'\\0',\t// WISP_VK_F9\t\t\t\t0x78\n\t'\\0',\t'\\0',\t// WISP_VK_F10\t\t\t\t0x79\n\t'\\0',\t'\\0',\t// WISP_VK_F11\t\t\t\t0x7A\n\t'\\0',\t'\\0',\t// WISP_VK_F12\t\t\t\t0x7B\n\t'\\0',\t'\\0',\t// WISP_VK_F13\t\t\t\t0x7C\n\t'\\0',\t'\\0',\t// WISP_VK_F14\t\t\t\t0x7D\n\t'\\0',\t'\\0',\t// WISP_VK_F15\t\t\t\t0x7E\n\t'\\0',\t'\\0',\t// WISP_VK_F16\t\t\t\t0x7F\n\n\t'\\0',\t'\\0',\t// WISP_VK_F17\t\t\t\t0x80\n\t'\\0',\t'\\0',\t// WISP_VK_F18\t\t\t\t0x81\n\t'\\0',\t'\\0',\t// WISP_VK_F19\t\t\t\t0x82\n\t'\\0',\t'\\0',\t// WISP_VK_F20\t\t\t\t0x83\n\t'\\0',\t'\\0',\t// WISP_VK_F21\t\t\t\t0x84\n\t'\\0',\t'\\0',\t// WISP_VK_F22\t\t\t\t0x85\n\t'\\0',\t'\\0',\t// WISP_VK_F23\t\t\t\t0x86\n\t'\\0',\t'\\0',\t// WISP_VK_F24\t\t\t\t0x87\n\t'\\0',\t'\\0',\t// WISP_VK_0X88\t\t\t\t0x88\n\t'\\0',\t'\\0',\t// WISP_VK_0X89\t\t\t\t0x89\n\t'\\0',\t'\\0',\t// WISP_VK_0X8A\t\t\t\t0x8A\n\t'\\0',\t'\\0',\t// WISP_VK_0X8B\t\t\t\t0x8B\n\t'\\0',\t'\\0',\t// WISP_VK_0X8C\t\t\t\t0x8C\n\t'\\0',\t'\\0',\t// WISP_VK_0X8D\t\t\t\t0x8D\n\t'\\0',\t'\\0',\t// WISP_VK_0X8E\t\t\t\t0x8E\n\t'\\0',\t'\\0',\t// WISP_VK_0X8F\t\t\t\t0x8F\n\n\t'\\0',\t'\\0',\t// WISP_VK_0X90\t\t\t\t0x90\n\t'\\0',\t'\\0',\t// WISP_VK_0X91\t\t\t\t0x91\n\t'\\0',\t'\\0',\t// WISP_VK_0X92\t\t\t\t0x92\n\t'\\0',\t'\\0',\t// WISP_VK_0X93\t\t\t\t0x93\n\t'\\0',\t'\\0',\t// WISP_VK_0X94\t\t\t\t0x94\n\t'\\0',\t'\\0',\t// WISP_VK_0X95\t\t\t\t0x95\n\t'\\0',\t'\\0',\t// WISP_VK_0X96\t\t\t\t0x96\n\t'\\0',\t'\\0',\t// WISP_VK_0X97\t\t\t\t0x97\n\t'\\0',\t'\\0',\t// WISP_VK_0X98\t\t\t\t0x98\n\t'\\0',\t'\\0',\t// WISP_VK_0X99\t\t\t\t0x99\n\t'\\0',\t'\\0',\t// WISP_VK_0X9A\t\t\t\t0x9A\n\t'\\0',\t'\\0',\t// WISP_VK_0X9B\t\t\t\t0x9B\n\t'\\0',\t'\\0',\t// WISP_VK_0X9C\t\t\t\t0x9C\n\t'\\0',\t'\\0',\t// WISP_VK_0X9D\t\t\t\t0x9D\n\t'\\0',\t'\\0',\t// WISP_VK_0X9E\t\t\t\t0x9E\n\t'\\0',\t'\\0',\t// WISP_VK_0X9F\t\t\t\t0x9F\n\n\t'\\0',\t'\\0',\t// WISP_VK_LSHIFT\t\t\t0xA0\n\t'\\0',\t'\\0',\t// WISP_VK_RSHIFT\t\t\t0xA1\n\t'\\0',\t'\\0',\t// WISP_VK_LCONTROL\t\t\t0xA2\n\t'\\0',\t'\\0',\t// WISP_VK_RCONTROL\t\t\t0xA3\n\t'\\0',\t'\\0',\t// WISP_VK_LMENU\t\t\t0xA4\n\t'\\0',\t'\\0',\t// WISP_VK_RMENU\t\t\t0xA5\n\t'\\0',\t'\\0',\t// VK_BROWSER_BACK\t\t\t0xA6\n\t'\\0',\t'\\0',\t// VK_BROWSER_FORWARD\t\t0xA7\n\t'\\0',\t'\\0',\t// VK_BROWSER_REFRESH\t\t0xA8\n\t'\\0',\t'\\0',\t// VK_BROWSER_STOP\t\t\t0xA9\n\t'\\0',\t'\\0',\t// VK_BROWSER_SEARCH\t\t0xAA\n\t'\\0',\t'\\0',\t// VK_BROWSER_FAVORITES\t\t0xAB\n\t'\\0',\t'\\0',\t// VK_BROWSER_HOME\t\t\t0xAC\n\t'\\0',\t'\\0',\t// VK_VOLUME_MUTE\t\t\t0xAD\n\t'\\0',\t'\\0',\t// VK_VOLUME_DOWN\t\t\t0xAE\n\t'\\0',\t'\\0',\t// VK_VOLUME_UP\t\t\t\t0xAF\n\n\t'\\0',\t'\\0',\t// VK_MEDIA_NEXT_TRACK\t\t0xB0\n\t'\\0',\t'\\0',\t// VK_MEDIA_PREV_TRACK\t\t0xB1\n\t'\\0',\t'\\0',\t// VK_MEDIA_STOP\t\t\t0xB2\n\t'\\0',\t'\\0',\t// VK_MEDIA_PLAY_PAUSE\t\t0xB3\n\t'\\0',\t'\\0',\t// VK_LAUNCH_MAIL\t\t\t0xB4\n\t'\\0',\t'\\0',\t// VK_LAUNCH_MEDIA_SELECT\t0xB5\n\t'\\0',\t'\\0',\t// VK_LAUNCH_APP1\t\t\t0xB6\n\t'\\0',\t'\\0',\t// VK_LAUNCH_APP2\t\t\t0xB7\n\t'\\0',\t'\\0',\t// WISP_VK_0XB8\t\t\t\t0xB8\n\t'\\0',\t'\\0',\t// WISP_VK_0XB9\t\t\t\t0xB9\n\t'?',\t',',\t// WISP_VK_OEM_1\t\t\t0xBA   // ';:' for US\n\t'+',\t'=',\t// WISP_VK_OEM_PLUS\t\t\t0xBB   // '+' any country\n\t'.',\t';',\t// WISP_VK_OEM_COMMA\t\t0xBC   // ',' any country\n\t'\\xb0',\t')',\t// WISP_VK_OEM_MINUS\t\t0xBD   // '-' any country\n\t'/',\t':',\t// WISP_VK_OEM_PERIOD\t\t0xBE   // '.' any country\n\t'\\xa7',\t'!',\t// WISP_VK_OEM_2\t\t\t0xBF   // '/?' for US\n\n\t'~',\t'`',\t// WISP_VK_OEM_3\t\t\t0xC0   // '`~' for US\n\t'\\0',\t'\\0',\t// WISP_VK_0XC1\t\t\t\t0xC1\n\t'\\0',\t'\\0',\t// WISP_VK_0XC2\t\t\t\t0xC2\n\t'\\0',\t'\\0',\t// WISP_VK_0XC3\t\t\t\t0xC3\n\t'\\0',\t'\\0',\t// WISP_VK_0XC4\t\t\t\t0xC4\n\t'\\0',\t'\\0',\t// WISP_VK_0XC5\t\t\t\t0xC5\n\t'\\0',\t'\\0',\t// WISP_VK_0XC6\t\t\t\t0xC6\n\t'\\0',\t'\\0',\t// WISP_VK_0XC7\t\t\t\t0xC7\n\t'\\0',\t'\\0',\t// WISP_VK_0XC8\t\t\t\t0xC8\n\t'\\0',\t'\\0',\t// WISP_VK_0XC9\t\t\t\t0xC9\n\t'\\0',\t'\\0',\t// WISP_VK_0XCA\t\t\t\t0xCA\n\t'\\0',\t'\\0',\t// WISP_VK_0XCB\t\t\t\t0xCB\n\t'\\0',\t'\\0',\t// WISP_VK_0XCC\t\t\t\t0xCC\n\t'\\0',\t'\\0',\t// WISP_VK_0XCD\t\t\t\t0xCD\n\t'\\0',\t'\\0',\t// WISP_VK_0XCE\t\t\t\t0xCE\n\t'\\0',\t'\\0',\t// WISP_VK_0XCF\t\t\t\t0xCF\n\n\t'\\0',\t'\\0',\t// WISP_VK_0XD0\t\t\t\t0xD0\n\t'\\0',\t'\\0',\t// WISP_VK_0XD1\t\t\t\t0xD1\n\t'\\0',\t'\\0',\t// WISP_VK_0XD2\t\t\t\t0xD2\n\t'\\0',\t'\\0',\t// WISP_VK_0XD3\t\t\t\t0xD3\n\t'\\0',\t'\\0',\t// WISP_VK_0XD4\t\t\t\t0xD4\n\t'\\0',\t'\\0',\t// WISP_VK_0XD5\t\t\t\t0xD5\n\t'\\0',\t'\\0',\t// WISP_VK_0XD6\t\t\t\t0xD6\n\t'\\0',\t'\\0',\t// WISP_VK_0XD7\t\t\t\t0xD7\n\t'\\0',\t'\\0',\t// WISP_VK_0XD8\t\t\t\t0xD8\n\t'\\0',\t'\\0',\t// WISP_VK_0XD9\t\t\t\t0xD9\n\t'\\0',\t'\\0',\t// WISP_VK_0XDA\t\t\t\t0xDA\n\t'\\xa8',\t'^',\t// WISP_VK_OEM_4\t\t\t0xDB  //  '[{' for US\n\t'\\xb5',\t'*',\t// WISP_VK_OEM_5\t\t\t0xDC  //  '\\|' for US\n\t'\\xa3',\t'$',\t// WISP_VK_OEM_6\t\t\t0xDD  //  ']}' for US\n\t'%',\t'\\xf9',\t// WISP_VK_OEM_7\t\t\t0xDE  //  ''\"' for US\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_8\t\t\t0xDF\n\n\t'\\0',\t'\\0',\t// WISP_VK_0XE0\t\t\t\t0xE0\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_AX\t\t\t0xE1  //  'AX' key on Japanese AX kbd\n\t'>',\t'<',\t// WISP_VK_OEM_102\t\t\t0xE2  //  \"<>\" or \"\\|\" on RT 102-key kbd.\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_HELP\t\t\t0xE3  //  Help key on ICO\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_00\t\t\t0xE4  //  00 key on ICO\n\t'\\0',\t'\\0',\t// WISP_VK_PROCESSKEY\t\t0xE5\n\t'\\0',\t'\\0',\t// WISP_VK_ICO_CLEAR\t\t0xE6\n\t'\\0',\t'\\0',\t// WISP_VK_PACKET\t\t\t0xE7\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_RESET\t\t0xE9\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_JUMP\t\t\t0xEA\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA1\t\t\t0xEB\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA2\t\t\t0xEC\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_PA3\t\t\t0xED\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_WSCTRL\t\t0xEE\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_CUSEL\t\t0xEF\n\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_ATTN\t\t\t0xF0\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_FINISH\t\t0xF1\n\t'\\0',\t'\\0',\t// WISP_WISP_VK_OEM_COPY\t0xF2\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_AUTO\t\t\t0xF3\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_ENLW\t\t\t0xF4\n\t'\\0',\t'\\0',\t// WISP_VK_OEM_BACKTAB\t\t0xF5\n\t'\\0',\t'\\0',\t// WISP_VK_VK_ATTN\t\t\t0xF6\n\t'\\0',\t'\\0',\t// WISP_VK_VK_CRSEL\t\t\t0xF7\n\t'\\0',\t'\\0',\t// WISP_VK_VK_EXSEL\t\t\t0xF8\n\t'\\0',\t'\\0',\t// WISP_VK_VK_EREOF\t\t\t0xF9\n\t'\\0',\t'\\0',\t// WISP_VK_VK_PLAY\t\t\t0xFA\n\t'\\0',\t'\\0',\t// WISP_VK_VK_ZOOM\t\t\t0xFB\n\t'\\0',\t'\\0',\t// WISP_VK_VK_NONAME\t\t0xFC\n\t'\\0',\t'\\0',\t// WISP_VK_VK_PA1\t\t\t0xFD\n\t'\\0',\t'\\0',\t// WISP_VK_VK_OEM_CLEAR\t\t0xFE\n\t'\\0',\t'\\0',\t// WISP_VK_MAX_ID\t\t\t0xFF\n\t},\n};\n\nCOLORREF CWispBase::m_DefColorPal[256]=\n{\n\tWISP_RGB(0,0,0),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(192,0,0),\n\tWISP_RGB(255,0,0),\n\tWISP_RGB(0,192,0),\n\tWISP_RGB(0,255,128),\n\tWISP_RGB(0,0,192),\n\tWISP_RGB(0,128,255),\n\tWISP_RGB(128,64,64),\n\tWISP_RGB(200,100,100),\n\tWISP_RGB(0,192,192),\n\tWISP_RGB(0,255,255),\n\tWISP_RGB(128,128,128),\n\tWISP_RGB(200,200,200),\n\tWISP_RGB(192,192,0),\n\tWISP_RGB(255,255,0),\n\tWISP_RGB(128,64,0),\n\tWISP_RGB(255,128,0),\n\tWISP_RGB(0,0,0),\n\tWISP_RGB(200,200,200),\n\tWISP_RGB(236,233,216),\n\tWISP_RGB(0,0,0),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(35,152,200),\n\tWISP_RGB(80,176,255),\n\tWISP_RGB(0,128,255),\n\tWISP_RGB(100,200,250),\n\tWISP_RGB(0,130,230),\n\tWISP_RGB(220,220,220),\n\tWISP_RGB(85,85,85),\n\tWISP_RGB(170,170,170),\n\tWISP_RGB(80,230,255),\n\tWISP_RGB(50,180,230),\n\tWISP_RGB(0,0,255),\n\tWISP_RGB(127,157,185),\n\tWISP_RGB(127,157,185),\n\tWISP_RGB(28,81,128),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(243,243,239),\n\tWISP_RGB(226,225,218),\n\tWISP_RGB(49,105,198),\n\tWISP_RGB(248,179,48),\n\tWISP_RGB(255,214,100),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(0,0,0),\n\tWISP_RGB(0,0,128),\n\tWISP_RGB(0,0,255),\n\tWISP_RGB(49,106,197),\n\tWISP_RGB(180,200,228),\n\tWISP_RGB(210,230,255),\n\tWISP_RGB(138,134,122),\n\tWISP_RGB(120,152,181),\n\tWISP_RGB(0,255,255),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(33,161,33),\n\tWISP_RGB(0,0,0),\n\tWISP_RGB(118,177,229),\n\tWISP_RGB(180,214,241),\n\tWISP_RGB(100,146,185),\n\tWISP_RGB(235,234,219),\n\tWISP_RGB(255,255,255),\n\tWISP_RGB(199,197,178),\n\tWISP_RGB(226,222,205),\n\tWISP_RGB(214,210,194),\n\tWISP_RGB(203,199,184),\n\tWISP_RGB(243,243,243),\n\tWISP_RGB(248,169,0),\n\tWISP_RGB(249,198,84),\n\tWISP_RGB(248,179,31),\n\tWISP_RGB(171,237,172),\n\tWISP_RGB(149,233,150),\n\tWISP_RGB(124,228,126),\n\tWISP_RGB(102,223,104),\n\tWISP_RGB(78,218,80),\n\tWISP_RGB(53,213,56),\n\tWISP_RGB(40,210,43),\n\tWISP_RGB(229,151,0),\n\tWISP_RGB(248,179,48),\n\tWISP_RGB(253,216,137),\n\tWISP_RGB(61,149,255),\n\tWISP_RGB(43,144,255),\n\tWISP_RGB(0,85,234),\n\tWISP_RGB(0,70,224),\n\tWISP_RGB(1,67,207),\n\tWISP_RGB(0,61,220),\n\tWISP_RGB(0,29,160),\n\tWISP_RGB(0,19,140),\n\tWISP_RGB(123,123,123),\n\tWISP_RGB(224,232,254),\n\tWISP_RGB(241,241,241),\n\tWISP_RGB(231,235,255),\n\tWISP_RGB(107,121,189),\n\tWISP_RGB(172,168,153),\n\tWISP_RGB(241,239,226),\n\tWISP_RGB(113,111,100),\n\tWISP_RGB(222,223,216),\n\tWISP_RGB(165,165,151),\n\tWISP_RGB(193,194,184),\n\tWISP_RGB(208,209,201),\n\tWISP_RGB(180,250,212),\n\tWISP_RGB(100,200,255),\n\tWISP_RGB(255,170,170),\n\tWISP_RGB(0,155,255),\n\tWISP_RGB(180,40,40),\n\tWISP_RGB(112,162,243),\n\tWISP_RGB(197,194,184),\n\tWISP_RGB(0,255,0),\n\tWISP_RGB(255,0,255),\n\tWISP_RGB(250,250,204),\n\tWISP_RGB(33,162,33),\n\tWISP_RGB(123,162,231),\n\tWISP_RGB(99,117,214),\n\tWISP_RGB(180,177,163),\n\tWISP_RGB(254,254,255),\n\tWISP_RGB(240,240,241),\n\tWISP_RGB(230,234,255),\n\tWISP_RGB(224,228,249),\n\tWISP_RGB(210,216,247),\n\tWISP_RGB(104,120,191),\n\tWISP_RGB(40,8,12),\n\tWISP_RGB(139,51,119),\n\tWISP_RGB(45,24,44),\n\tWISP_RGB(232,200,232),\n\tWISP_RGB(248,232,248),\n\tWISP_RGB(24,8,29),\n\tWISP_RGB(184,136,200),\n\tWISP_RGB(216,176,232),\n\tWISP_RGB(192,152,216),\n\tWISP_RGB(154,106,200),\n\tWISP_RGB(216,200,232),\n\tWISP_RGB(45,44,52),\n\tWISP_RGB(185,183,200),\n\tWISP_RGB(108,103,159),\n\tWISP_RGB(8,8,136),\n\tWISP_RGB(8,8,87),\n\tWISP_RGB(8,8,24),\n\tWISP_RGB(56,56,128),\n\tWISP_RGB(104,104,184),\n\tWISP_RGB(168,168,216),\n\tWISP_RGB(200,200,248),\n\tWISP_RGB(184,184,216),\n\tWISP_RGB(200,200,232),\n\tWISP_RGB(216,216,248),\n\tWISP_RGB(216,216,232),\n\tWISP_RGB(232,232,248),\n\tWISP_RGB(201,202,216),\n\tWISP_RGB(94,96,116),\n\tWISP_RGB(146,147,156),\n\tWISP_RGB(52,56,86),\n\tWISP_RGB(40,56,152),\n\tWISP_RGB(119,136,233),\n\tWISP_RGB(40,56,136),\n\tWISP_RGB(56,72,152),\n\tWISP_RGB(72,88,169),\n\tWISP_RGB(88,104,184),\n\tWISP_RGB(120,136,216),\n\tWISP_RGB(136,152,232),\n\tWISP_RGB(88,104,168),\n\tWISP_RGB(104,120,184),\n\tWISP_RGB(122,136,199),\n\tWISP_RGB(56,72,134),\n\tWISP_RGB(136,152,209),\n\tWISP_RGB(171,184,235),\n\tWISP_RGB(154,164,199),\n\tWISP_RGB(8,55,185),\n\tWISP_RGB(16,24,48),\n\tWISP_RGB(104,120,168),\n\tWISP_RGB(149,171,234),\n\tWISP_RGB(122,134,167),\n\tWISP_RGB(24,56,136),\n\tWISP_RGB(40,72,154),\n\tWISP_RGB(80,127,245),\n\tWISP_RGB(56,88,168),\n\tWISP_RGB(72,104,185),\n\tWISP_RGB(88,120,200),\n\tWISP_RGB(104,136,216),\n\tWISP_RGB(22,73,184),\n\tWISP_RGB(22,48,108),\n\tWISP_RGB(72,92,138),\n\tWISP_RGB(88,107,152),\n\tWISP_RGB(41,109,246),\n\tWISP_RGB(40,72,136),\n\tWISP_RGB(56,88,152),\n\tWISP_RGB(72,104,168),\n\tWISP_RGB(88,120,184),\n\tWISP_RGB(104,136,200),\n\tWISP_RGB(120,152,216),\n\tWISP_RGB(104,120,151),\n\tWISP_RGB(168,184,216),\n\tWISP_RGB(200,216,248),\n\tWISP_RGB(25,40,64),\n\tWISP_RGB(110,136,179),\n\tWISP_RGB(56,104,174),\n\tWISP_RGB(120,152,200),\n\tWISP_RGB(71,120,187),\n\tWISP_RGB(82,133,204),\n\tWISP_RGB(56,89,133),\n\tWISP_RGB(103,153,222),\n\tWISP_RGB(180,209,248),\n\tWISP_RGB(39,89,152),\n\tWISP_RGB(88,124,168),\n\tWISP_RGB(55,72,92),\n\tWISP_RGB(142,177,216),\n\tWISP_RGB(200,216,232),\n\tWISP_RGB(79,168,247),\n\tWISP_RGB(104,153,200),\n\tWISP_RGB(168,201,232),\n\tWISP_RGB(182,200,216),\n\tWISP_RGB(168,184,199),\n\tWISP_RGB(8,78,135),\n\tWISP_RGB(40,90,132),\n\tWISP_RGB(120,168,208),\n\tWISP_RGB(113,190,248),\n\tWISP_RGB(216,232,244),\n\tWISP_RGB(143,209,246),\n\tWISP_RGB(9,123,179),\n\tWISP_RGB(71,127,157),\n\tWISP_RGB(71,171,200),\n\tWISP_RGB(94,220,248),\n\tWISP_RGB(17,167,188),\n\tWISP_RGB(27,205,231),\n\tWISP_RGB(43,223,248),\n\tWISP_RGB(133,233,247),\n\tWISP_RGB(177,239,248),\n\tWISP_RGB(109,201,206),\n\tWISP_RGB(46,133,135),\n\tWISP_RGB(8,24,24),\n\tWISP_RGB(232,248,248),\n\tWISP_RGB(20,106,96),\n\tWISP_RGB(36,146,76),\n\tWISP_RGB(19,124,30),\n\tWISP_RGB(229,248,231),\n\tWISP_RGB(105,174,105),\n\tWISP_RGB(191,224,189),\n\tWISP_RGB(66,233,15),\n\tWISP_RGB(111,191,49),\n\tWISP_RGB(169,227,110),\n\tWISP_RGB(217,237,168),\n\tWISP_RGB(248,248,232),\n\tWISP_RGB(179,162,79),\n\tWISP_RGB(248,235,166),\n\tWISP_RGB(248,242,213),\n\tWISP_RGB(140,110,17),\n\tWISP_RGB(222,193,123),\n\tWISP_RGB(190,129,29),\n\tWISP_RGB(82,44,31),\n\tWISP_RGB(242,194,190),\n\tWISP_RGB(245,84,75),\n\tWISP_RGB(235,133,129),\n\tWISP_RGB(24,8,8),\n\tWISP_RGB(248,232,232),\n\tWISP_RGB(25,24,24),\n\tWISP_RGB(248,248,248),\n\tWISP_RGB(232,232,232),\n\tWISP_RGB(72,72,72),\n\tWISP_RGB(8,8,8),\n};\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispBase.h",
    "content": "#ifndef _WISP_BASE_H_\n#define _WISP_BASE_H_\n\n#include \"WispConfig.h\"\n#include \"WispDIBLib.h\"\n#include \"WispFont.h\"\n#include \"WispDrawObj.h\"\n#include \"WispDrawHAL.h\"\n\n#define WISP_CAPTION_HEIGHT\t\t\t\t18\n#define WISP_CAPTION_BT_SIZE\t\t\t16\n#define WISP_FONT_FRAME_HEIGHT\t\t\t18\n#define WISP_BORDER_SIZE\t\t\t\t4\n#define WISP_THIN_BORDER_SIZE\t\t\t2\n#define WISP_DEFAULT_ALPHA\t\t\t\t128\n#define WISP_FONT_DISTANCE\t\t\t\t2\n#define WISP_SCROLL_BORDER_SIZE\t\t\t16\n#define WISP_SCROLL_MIN_SLIDE_SIZE\t\t8\n#define WISP_MAX_MSG_QUEUE\t\t\t\t128\n#define WISP_MAX_INPUT_MSG_QUEUE\t\t128\n#define WISP_KEY_REPEAT_PERIOD\t\t\t15\n#define WISP_KEY_REPEAT_DELAY\t\t\t600\n#define WISP_MOUSE_KEY_REPEAT_PERIOD\t50\n#define WISP_MOUSE_KEY_REPEAT_DELAY\t\t500\n#define WISP_RESIZE_SPACE\t\t\t\t6\n\n#define WISP_TK\t\t\t\t\t\t\tWISP_RGB(255,0,255)\n\ntypedef TQueue<WISP_INPUT_MSG,WISP_MAX_MSG_QUEUE>\tCInputMsgQueue;\ntypedef TQueue<WISP_MSG,WISP_MAX_INPUT_MSG_QUEUE>\tCMsgQueue;\ntypedef TMap<WISP_TIMER_KEY,WISP_TIMER>\t\t\t\tCTimerMap;\ntypedef TList<CWispBaseWnd*>\t\t\t\t\t\tCWndList;\ntypedef TList<WISP_HOTKEY_ITEM>\t\t\t\t\t\tCHotKeyList;\n\n#define WispReportMsg\t\t\t\t\t\t\t\tgpCurWisp->ReportMsg\n#define WispColor(i)\t\t\t\t\t\t\t\tgpCurWisp->m_pCurDrawObj->m_crSystem[i]\n\n#define WispDIB(f,i)\t\t\t\t\t\t\t\tgpCurWisp->m_DIBLib.LoadDIB(f,i)\n#define WispDIBList(f,w,h)\t\t\t\t\t\t\tgpCurWisp->m_DIBLib.LoadDIBList(f,w,h,0)\n#define WispTKDIB(f,i)\t\t\t\t\t\t\t\tgpCurWisp->m_DIBLib.LoadDIB(f,i,WISP_TK)\n#define WispTKDIBList(f,w,h)\t\t\t\t\t\tgpCurWisp->m_DIBLib.LoadDIBList(f,w,h,0,WISP_TK)\n#define WispTKDIBListDIB(f,w,h,i)\t\t\t\t\tgpCurWisp->m_DIBLib.LoadDIBList(f,w,h,0,WISP_TK)->GetDIB(i)\n\nclass CWispApp;\nclass CWispBaseWnd;\nclass CWispWnd;\nclass CWispFont;\nclass CWispTipWnd;\n\nclass CWispBase\n{\n\tfriend class CWispBaseWnd;\n\tfriend class CWispDC;\npublic:\n\tCWispBase();\n\tvirtual ~CWispBase();\npublic:\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//ƽ̨ؽӿ\n\tvirtual\tbool\tInit();\n\tvirtual\tvoid\tRelease();\n\t//Frame\n\tvirtual bool\tCreateFrame(WISP_CHAR*WndName,int Width,int Height,int Bpp)=0;\n\tvirtual void\tDestroyFrame()=0;\n\tvirtual bool\tResizeHostFrame(int Width,int Height);\n\tvirtual bool\tResizingFrame(int Width,int Height);\n\tvirtual bool\tMoveFrame(int dx,int dy);\n\t//Mouse Input\n\tvirtual\tvoid\tSetMouseCaptureNotify();\n\tvirtual\tvoid\tReleaseMouseCaptureNotify();\n\t//Msg Thread\n\tvirtual\tbool\tWakeUpMsgThread();\n\tvirtual\tbool\tSleepMsgThread();\n\tvirtual void\tEnterCriticalSection();\n\tvirtual void\tLeaveCriticalSection();\n\t//GDI\n\tvirtual void\tBeginDraw(WISP_RECT*pUpdateRect);\n\tvirtual void\tEndDraw(WISP_RECT*pUpdateRect);\n\tvirtual void\tChangeCursor(IN UINT CursorType,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize,IN CWispDIB*pDIB=NULL);\n\tvirtual\tvoid\tChangeHostCursor(IN NUM_PTR CursorData,OUT WISP_POINT*pMouseHotPT,OUT WISP_SIZE*pMouseSize);\n\tvirtual\tvoid\tUpdateFrameBuffer();\n\tvirtual void\tUpdateCursor();\n\t//Timer\n\tvirtual bool\tInsertTimerNotify(WISP_TIMER*pTimer);\n\tvirtual bool\tRemoveTimerNotify(WISP_TIMER*pTimer);\n\t//Pal\n\tvirtual\tCOLORREF GetPalColor(int Index);\n\tvirtual\tbool\tSetPalColor(int Index,COLORREF Color);\n\tvirtual\tvoid\tLoadPalette();\n//ƽ̨ؽӿ\n//////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\tvirtual void\tPump();\n\tvirtual void\tBlockPump(CWispBaseWnd*pWnd);\n\tvirtual\tbool\tPumpCondition();\n\tvirtual\tWISP_PSTR GetClipboardString();\n\tvirtual\tbool\tSetClipboardString(WISP_PCSTR String);\n\tvirtual void\tGetFrameBufferDrawHAL(WISP_FRAME_BUFFER*pFrameBuffer);\n\n\tvirtual\tvoid\tDispatchMousePosChg(IN int PosX,IN int PosY);\n\tvirtual\tvoid\tOnMousePosChg(IN int PosX,IN int PosY);\n\n\tvirtual\tvoid\tDispatchMouseMove(IN int DeltaX,IN int DeltaY);\n\tvirtual\tvoid\tOnMouseMove(IN int DeltaX,IN int DeltaY);\n\n\tvirtual void\tDispatchMouseWheel(IN int DeltaZ);\n\tvirtual\tvoid\tOnMouseWheel(IN int DeltaZ);\n\n\tvirtual void\tDispatchMouseButtonDBClick(UINT KeyType);\n\tvirtual void\tOnMouseButtonDBClick(UINT KeyType);\n\n\tvirtual\tvoid\tDispatchKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode = 0);\n\tvirtual\tvoid\tOnKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode = 0);\n\n\tvirtual\tvoid\tDispatchTimer(int MilliSec);\n\tvirtual\tvoid\tOnTimer(int MilliSec);\n\n\tvirtual\tvoid\tOnFrameBufferBppChg(int Bpp);\n\tvirtual\tvoid\tSetMousePos(int x,int y);\n\tvirtual bool\tSelectDirForm(OUT WISP_PSTR szDir,WISP_PCSTR szTitle = NULL){return false;}\n\tvirtual bool\tSelectFileForm(IN WISP_PCSTR szInitDir,WISP_PCSTR szFilter,bool bSave,OUT WISP_PSTR szFileName,int Length){return false;}\n\tvoid\t\t\tLockUpdate();\n\tvoid\t\t\tUnlockUpdate();\n\tvoid\t\t\tLockKey();\n\tvoid\t\t\tUnlockKey();\n\tvoid\t\t\tLockTimer();\n\tvoid\t\t\tUnlockTimer();\n\tvoid\t\t\tStartMouseKeyRep(UINT RepKeyIndex);\n\tvoid\t\t\tStopMouseKeyRep();\n\tvoid\t\t\tRedrawNextTime();\npublic:\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//Ļת\n\tvoid*\t\t\tGetScreenBuffer(IN int x,IN int y);\n\tbool\t\t\tCopyToScreen(WISP_FRAME_BUFFER*pRealScreen,WISP_POINT*pPT=NULL,WISP_RECT*pUpdateRect=NULL);\n\tvoid\t\t\tAdjustColor();\n//Ļת\n//////////////////////////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//Ϣ\npublic:\n\t//ںϢ\n\tbool\t\t\tMergeMessage(IN WISP_MSG*pNewMsg,INOUT WISP_MSG*pMergeMsg);\n\t//ϢеһϢ\n\tbool\t\t\tGetMessage(OUT WISP_MSG*pMsg);\n\t//ϢзһϢֱϢӦŷء\n\tbool\t\t\tSendMessage(IN WISP_MSG*pMsg);\n\t//ϢзһϢء\n\tbool\t\t\tPostMessage(IN WISP_MSG*pMsg);\n\t//ɷϢ\n\tbool\t\t\tDispatchMessage(IN WISP_MSG*pMsg);\n\tvoid\t\t\tDispatchMsg();\n\tvoid\t\t\tDispatchInputMsg();\n\n\tbool\t\t\tSelectDrawObject(CWispDrawObj*pDrawObj);\n\tbool\t\t\tm_bActive;\n\tbool\t\t\tm_bMsgSleeping;\n\tCWispDrawObj*\tm_pCurDrawObj;\n\tCWispDrawObj\tm_DefDrawObj;\n\tCWispDIBDrawObj\tm_DIBDrawObj;\n\tCWispDrawHAL\tm_NotSupportDrawHAL;\n\tCWispDraw32Bit\tm_DrawHAL32Bit;\n\tCWispDraw24Bit\tm_DrawHAL24Bit;\n\tCWispDraw16Bit\tm_DrawHAL16Bit;\n\tCWispDraw8Bit\tm_DrawHAL8Bit;\n\tCWispDraw4Bit\tm_DrawHAL4Bit;\n//Ϣ\n//////////////////////////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//\npublic:\n\tCWispString\t\tm_ClipboardString;\n\tbool\t\t\tm_KeyMap[WISP_VK_COUNT];\n\tbool\t\t\tm_LockMap[WISP_VK_LOCK_COUNT];\n\tWISP_POINT\t\tm_MousePT;\n\tWISP_POINT\t\tm_PrevMousePT;\n\tWISP_POINT\t\tm_MouseHotPT;\n\tWISP_SIZE\t\tm_MouseSize;\n\tWISP_RECT\t\tm_LastMouseRect;\n\tUINT\t\t\tm_LastMouseClickHitAreaType;\n\tUINT\t\t\tm_LastMouseClickHitCtrlType;\n\tbool\t\t\tm_bUpdate;\n\tint\t\t\t\tm_LockRef;\n\tUINT\t\t\tm_CursorType;\n\tUINT\t\t\tm_CursorTypeBak;\n\tCWispDIB*\t\tm_pCursorDIB;\n\tCWispDIB*\t\tm_pCursorDIBBak;\n\tint\t\t\t\tm_ModelLevel;\n\tCWispDIB*\t\tGetDefDIB(IN UINT ID);\n\tvoid\t\t\tChangeCursorType(IN UINT DIBID);\n\tvoid\t\t\tChangeCursorType(IN CWispDIB*pDIB);\n\tvoid\t\t\tChangeHostCursorType(IN NUM_PTR CursorData);\n\tvoid\t\t\tRestorCursorType();\nprivate:\n\tvoid\t\t\tProcessRepeatKeyEvent();\n\tbool\t\t\tOnProcessKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode);\n\tbool\t\t\tOnProcessMouseKeyEvent(IN UINT KeyType,IN bool bKeyDown,IN UINT ScanCode);\n\tWISP_CHAR\t\tIsCharKey(IN UINT KeyType);\n//\n//////////////////////////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//\npublic:\n\tbool\t\t\tSaveScreen(PCSTR FileName);\n\tint\t\t\t\tMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType = 0,CWispBaseWnd* pParentWnd = NULL);\npublic:\n\tbool\t\t\tKeySimulateMouse(IN UINT KeyType,IN bool bKeyDown);\n\tvoid\t\t\tPrintWispParam();\n\tvirtual void\tReportMsg(IN const WISP_CHAR* Format,...);\n//\n//////////////////////////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////////////////////////\n//ڹ\npublic:\n\tCWispWnd*\t\tm_pRootWnd;\n\tCWispWnd*\t\tm_pTopMostRootWnd;\n\tCWispTipWnd*\tm_pHelpTipWnd;\n\tvoid\t\t\tInsertWnd(IN CWispBaseWnd*pParentWnd,IN CWispBaseWnd*pNewWnd);\n\tvoid\t\t\tRemoveWnd(IN CWispBaseWnd*pWnd);\n\tvoid\t\t\tRemoveWndMsg(IN CWispBaseWnd*pWnd);\n\tvoid\t\t\tCaptureMouseEvent(IN CWispBaseWnd*pWnd);\n\tCWispBaseWnd*\tWindowFromPoint(IN WISP_POINT*pPoint,IN CWispBaseWnd*pParentWnd = NULL);\n\tvoid\t\t\tSendLanguageChangeNotify(CWispBaseWnd*pParentWnd=NULL);\n\tvirtual int\t\tGetMetrics(IN UINT Type);\n\tvoid\t\t\tBeginMoveWnd(CWispBaseWnd*pWnd=NULL);\n\tvoid\t\t\tEndMoveWnd();\n\tvoid\t\t\tSetKeyboardLayer(int nLayer){m_iKeyboardLayer=nLayer;};\npublic:\n\tchar\t\t\tm_CurDir[MAX_FN_LEN];\n\tPCSTR\t\t\tm_pszDiskList;\n\tCWispBaseWnd*\tm_pMoveWnd;\n\tCWispBaseWnd*\tm_pDragWnd;\n\tWISP_POINT\t\tm_BeginPT;\n\tCPFSFileIO\t\tm_PFSFileIO;\n\tCWispFont\t\tm_FontList[WISP_FONT_COUNT];\n\tCWispBaseWnd*\tm_pMouseEventWnd;\n\tCWispBaseWnd*\tm_pFocusWnd;\n\tCWispBaseWnd*\tm_pModalWnd;\n\tCWispDIB\t\tm_DefDIB[WISP_DI_COUNT];\n\tCWispDIBLib\t\tm_DIBLib;\n\tint\t\t\t\tm_Metrics[WISP_SM_COUNT];\t\t\t\t//ϵͳߴ\n\tWISP_FRAME_BUFFER\tm_FrameBuffer;\n\tCInputMsgQueue\tm_InputMsgQueue;\n\tCMsgQueue\t\tm_MsgQueue;\n\tCTimerMap\t\tm_TimerMap;\n\tCHotKeyList\t\tm_HotKeyList;\n\tbool\t\t\tm_bNeedUpdate;\n\tbool\t\t\tm_bOldNeedUpdate;\n\tCOLORREF\t\tm_PalColors[256];\n\tUINT\t\t\tm_RepKeyIndex;\n\tint\t\t\t\tm_RepKeyElapse;\n\tint\t\t\t\tm_RepKeyPeriod;\n\tUINT\t\t\tm_ModKeyState;\npublic:\n\tCWndList\t\tm_KeyHookWndList;\n\tCWndList\t\tm_MouseMoveHookWndList;\n\tbool\t\t\tm_KeySimulateMouse;\n\tbool\t\t\tm_bHideMouse;\n\tint\t\t\t\tm_KeySimDelta;\n\tint\t\t\t\tm_BaseWndCount;\n\tint\t\t\t\tm_WndCount;\n\tint\t\t\t\tm_KeyLockRef;\n\tint\t\t\t\tm_TimerRef;\n\tint\t\t\t\tm_DefaultFontType;\n\tint\t\t\t\tm_iKeyboardLayer;\n//ڹ\n//////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\tstatic WISP_PHYS_FONT_INFO\tm_PhysFontInfo[WISP_FONT_COUNT];\n\tstatic COLORREF\t\tm_DefColorPal[256];\n\tstatic WISP_CHAR\tm_VKKeyChar[2][WISP_VK_COUNT*2];\n};\n\nextern CWispBase*\t\tgpCurWisp;\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispBaseWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispWnd.h\"\n#include \"WispBase.h\"\n#include \"WispTipWnd.h\"\n\n\nWISP_MSG_MAP_BEGIN(CWispBaseWnd)\n\tWISP_MSG_MAP(WISP_WM_CLOSE,OnClose)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP(WISP_WM_LOST_FOCUS,OnLostFocus)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_ENTER,OnMouseEnter)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_BEGIN_MOVE,OnBeginMove)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_TIMER,OnTimer)\nWISP_BASE_WND_MSG_MAP_END\n\nbool CWispBaseWnd::OnClose(IN WISP_MSG*pMsg)\n{\n\treturn Destroy();\n}\n\nbool CWispBaseWnd::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tif(SendCmdMsg(WISP_CMD_CTRL_GET_FOCUS)==false)\n\t\treturn false;\n\tTop();\n\treturn true;\n}\n\nbool CWispBaseWnd::OnKeyEvent(WISP_MSG*pMsg)\n{\n\tif((m_AdvStyle & WISP_WAS_HELP_TIP) && pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON && pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tRemoveTimer(WISP_ID_HELP_TIP);\n\t\tm_pWispBase->m_pHelpTipWnd->Show(WISP_SH_HIDDEN);\n\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd = NULL;\n\t}\n\tif(m_OwnerWnd && m_OwnerWnd->m_CtrlType == WISP_CTRL_FORM)\n\t{\n\t\tSendCmdMsg(pMsg->KeyEvent.bKeyDown?WISP_CMD_ITEM_KEY_DOWN:WISP_CMD_ITEM_KEY_UP,(int)pMsg->KeyEvent.KeyType,this);\n\t}\n\treturn true;\n}\n\nbool CWispBaseWnd::OnLostFocus(IN WISP_MSG*pMsg)\n{\n\treturn SendCmdMsg(WISP_CMD_CTRL_LOST_FOCUS,0,pMsg->hOtherWnd);\n}\n\nbool CWispBaseWnd::OnBeginMove(IN WISP_MSG*pMsg)\n{\n\tif((m_AdvStyle & WISP_WAS_HELP_TIP) && m_pWispBase->m_pHelpTipWnd->IsWindow())\n\t{\n\t\tRemoveTimer(WISP_ID_HELP_TIP);\n\t\tm_pWispBase->m_pHelpTipWnd->Show(WISP_SH_HIDDEN);\n\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd = NULL;\n\t}\n\treturn true;\n}\n\nbool CWispBaseWnd::OnTimer(IN WISP_MSG*pMsg)\n{\n\tif(m_AdvStyle & WISP_WAS_HELP_TIP && pMsg->Timer.ID == WISP_ID_HELP_TIP && PtInRect(&m_ScrWindowRect,&m_pWispBase->m_MousePT))\n\t{\n\t\tRemoveTimer(WISP_ID_HELP_TIP);\n\t\tif(IsDisabled()==false)\n\t\t{\n\t\t\tm_pWispBase->m_pHelpTipWnd->SetWindowText(m_HelpTipString);\n\t\t\tm_pWispBase->m_pHelpTipWnd->AutoAdjustPostion(this);\n\t\t\tm_pWispBase->m_pHelpTipWnd->Show();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispBaseWnd::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tm_pWispBase->CaptureMouseEvent((CWispBaseWnd*)pMsg->MouseEvent.hWndMouseAt);\n\tif(m_AdvStyle & WISP_WAS_HELP_TIP)\n\t{\n\t\tRemoveTimer(WISP_ID_HELP_TIP);\n\t\tm_pWispBase->m_pHelpTipWnd->Show(WISP_SH_HIDDEN);\n\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd = NULL;\n\t}\n\treturn true;\n}\n\nbool CWispBaseWnd::OnMouseEnter(IN WISP_MSG*pMsg)\n{\n\tif(m_AdvStyle & WISP_WAS_HELP_TIP)\n\t{\n\t\tInsertTimer(WISP_ID_HELP_TIP,WISP_TIP_PERIOD,0,NULL);\n\t}\n\treturn true;\n}\n\nbool CWispBaseWnd::SendCmdMsg(UINT CmdMsg,int CmdParam1,void*CmdParam2)\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.hSrcWnd = this;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = CmdMsg;\n\tMsg.Command.CtrlType = m_CtrlType;\n\tMsg.Command.Param1 = CmdParam1;\n\tMsg.Command.Param2 = CmdParam2;\n\treturn SEND_MSG(&Msg);\n}\n\nbool CWispBaseWnd::PostEventMsg(UINT CmdMsg,int CmdParam1,void*CmdParam2)\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.hSrcWnd = this;\n\tMsg.Msg = WISP_WM_EVENT;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = CmdMsg;\n\tMsg.Command.CtrlType = m_CtrlType;\n\tMsg.Command.Param1 = CmdParam1;\n\tMsg.Command.Param2 = CmdParam2;\n\treturn POST_MSG(&Msg);\n}\n\nvoid CWispBaseWnd::PostCloseMsg()\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_CLOSE;\n\tPOST_MSG(&Msg);\n}\n\nbool  CWispBaseWnd::SendCloseMsg()\n{\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_CLOSE;\n\treturn SEND_MSG(&Msg);\n}\n\nCWispBaseWnd::CWispBaseWnd()\n{\n\tm_Style=0;\n\tm_ShowMode=WISP_SH_NULL;\n\tm_State=WISP_WST_INVAILD;\n\tm_ParentWnd = NULL;\n\tm_CtrlType = WISP_CTRL_BASE_WND;\n\tm_pUpdateRect=NULL;\n\tm_WndFlag = 0;\n}\n\nCWispBaseWnd::~CWispBaseWnd()\n{\n}\n\nbool CWispBaseWnd::Create(\tIN WISP_PCSTR Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd,\n\t\t\t\t\t\t\tIN UINT CmdID,IN UINT Style,IN UINT ShowMode)\n{\n\treturn Create(Name,Rect.x,Rect.y,Rect.cx,Rect.cy,pParentWnd,CmdID,Style,ShowMode);\n}\n\nbool CWispBaseWnd::Create(\tIN WISP_PCSTR Name,IN int x,IN int y,IN int cx,IN int cy,\n\t\t\t\t\t\t\tIN CWispBaseWnd*pParentWnd,IN UINT CmdID,IN UINT Style,IN UINT ShowMode)\n{\n\tWISP_MSG Msg;\n\tm_pWispBase = gpCurWisp;\n\tCODE_ASSERT(IsWindow()==false);\n\tif(pParentWnd==NULL)\n\t{\n\t\tif(m_pWispBase->m_pRootWnd==NULL)\n\t\t{\n\t\t\tm_pWispBase->m_pRootWnd=(CWispWnd*)this;\n\t\t\tm_pWispBase->m_pMouseEventWnd=this;\n\t\t\tm_pWispBase->m_pFocusWnd=this;\n\t\t\tpParentWnd=(CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\t\t\tm_pWispBase->m_Metrics[WISP_SM_SCREEN_CX]=cx;\n\t\t\tm_pWispBase->m_Metrics[WISP_SM_SCREEN_CY]=cy;\n\t\t\tm_pWispBase->SetMousePos(m_pWispBase->m_FrameBuffer.Width/2,m_pWispBase->m_FrameBuffer.Height/2);\n\t\t\tSTZeroMemory(m_pWispBase->m_LastMouseRect);\n\t\t\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\t\t\tm_pWispBase->OnFrameBufferBppChg(m_pWispBase->m_FrameBuffer.Bpp);\n\t\t}\n\t\telse\n\t\t\tpParentWnd=(CWispBaseWnd*)m_pWispBase->m_pTopMostRootWnd;\n\t}\n\tif((CWispBaseWnd*)m_pWispBase->m_pRootWnd==this)\n\t{\n\t\tm_ScrWindowRect.x=x;\n\t\tm_ScrWindowRect.y=y;\n\t}\n\telse\n\t{\n\t\tm_ScrWindowRect.x=((CWispWnd*)pParentWnd)->m_ScrClientRect.x+x;\n\t\tm_ScrWindowRect.y=((CWispWnd*)pParentWnd)->m_ScrClientRect.y+y;\n\t}\n\tm_WindowRect.x = m_WindowRect.y = 0;\n\tm_WindowRect.cx = m_ScrWindowRect.cx=cx;\n\tm_WindowRect.cy = m_ScrWindowRect.cy=cy;\n\tm_Style=Style;\n\tm_State=WISP_WST_NORMAL;\n\tm_CmdID=CmdID;\n\tm_PrevModalWnd=m_PrevWnd=m_NextWnd=m_ChildWnd=m_ChildTopWnd=m_ParentWnd=NULL;\n\tm_pWispBase->InsertWnd(pParentWnd,this);\n\tm_OwnerWnd = m_ParentWnd;\n\tif(m_WindowDC.AttachWnd(this,&m_ScrWindowRect)==false)\n\t\treturn false;\n\tif(Name)\n\t\tm_WndText = Name;\n\tif((m_Style & WISP_WS_ADV_WND)==0)\n\t{\n\t\tif(InitWnd()==false)\n\t\t{\n\t\t\tm_WndText.Empty();\n\t\t\treturn false;\n\t\t}\n\t\tm_WndFlag = WISP_WND_EXIST_FLAG;\n\t\tMsg.hWnd=this;\n\t\tMsg.Msg=WISP_WM_CREATE;\n\t\tif(SEND_MSG(&Msg)==false)\n\t\t{\n\t\t\tDestroy();\n\t\t\treturn false;\n\t\t}\n\t\tShow(ShowMode);\n\t}\n\telse\n\t\tm_WndFlag = WISP_WND_EXIST_FLAG;\n\treturn true;\n}\n\nbool CWispBaseWnd::InitWnd()\n{\n\tm_WndData = NULL;\n\tm_ShowMode = WISP_SH_NULL;\n\tm_AdvStyle = WISP_WAS_NULL;\n\tm_pUpdateRect = NULL;\n\tm_LockUpdateRef = 0;\n\treturn true;\n}\n\nbool CWispBaseWnd::Destroy()\n{\n\tWISP_MSG Msg;\n\tCWispBaseWnd*pWispWnd,*pDelWispWnd;\n\tif(IsWindow()==false)\n\t\treturn false;\n\tMsg.Msg = WISP_WM_DESTROY;\n\tMsg.hWnd = this;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(m_pWispBase->m_pMouseEventWnd==this)\n\t\tm_pWispBase->m_pMouseEventWnd=(CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\tpWispWnd=m_ChildWnd;\n\twhile(pWispWnd)\n\t{\n\t\tpDelWispWnd=pWispWnd;\n\t\tpWispWnd=pWispWnd->m_NextWnd;\n\t\tif(pDelWispWnd->Destroy()==false)\n\t\t\treturn false;\n\t}\n\tm_pWispBase->RemoveWndMsg(this);\n\tm_pWispBase->RemoveWnd(this);\n\tm_WindowDC.Detach();\n\tif(m_pWispBase->m_pFocusWnd==this)\n\t{\n\t\tif((CWispBaseWnd*)m_pWispBase->m_pRootWnd==this)\n\t\t\tm_pWispBase->m_pFocusWnd=NULL;\n\t\telse\n\t\t\tm_pWispBase->m_pFocusWnd=(CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\t}\n\tif(m_pWispBase->m_pModalWnd==this)\n\t{\n\t\tm_pWispBase->m_pModalWnd = m_PrevModalWnd;\n\t\tm_PrevModalWnd = NULL;\n\t}\n\tCTimerMap::IT Iter=m_pWispBase->m_TimerMap.Begin();\n\twhile(Iter!=m_pWispBase->m_TimerMap.End())\n\t{\n\t\tif(Iter.Key().hWnd==this)\n\t\t{\n\t\t\tCTimerMap::IT DelIter=Iter;\n\t\t\tIter++;\n\t\t\tm_pWispBase->m_TimerMap.Remove(DelIter);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter++;\n\t\t}\n\t}\n\tUnhookKeyEvent();\n\tUnhookMouseMoveEvent();\n\tm_WndText.Empty();\n\tif(m_pWispBase->m_pHelpTipWnd==this)\n\t\tm_pWispBase->m_pHelpTipWnd = NULL;\n\tif(\tm_pWispBase->m_pHelpTipWnd &&\n\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd==this &&\n\t\tm_pWispBase->m_pHelpTipWnd->m_ShowMode != WISP_SH_HIDDEN)\n\t{\n\t\tm_pWispBase->m_pHelpTipWnd->Show(WISP_SH_HIDDEN);\n\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd = NULL;\n\t}\n\tif(\tm_pWispBase->m_pRootWnd!=this && m_pWispBase->m_pRootWnd && m_ShowMode!=WISP_SH_HIDDEN)\n\t{\n\t\tm_pWispBase->m_pRootWnd->UpdateSelfAndChild(&m_ScrWindowRect,this);\n\t\tm_pWispBase->RedrawNextTime();\n\t}\n\tm_State=WISP_WST_INVAILD;\n\tm_WndFlag = 0;\n\tm_ShowMode=WISP_SH_NULL;\n\tif((m_Style & WISP_WS_ADV_WND)==0&&(m_AdvStyle&WISP_WAS_AUTO_DELETE))\n\t\tdelete this;\n\treturn true;\n}\n\nvoid CWispBaseWnd::RecalcLayout()\n{\n\tm_WindowRect.x=m_WindowRect.y=0;\n\tm_WindowRect.cx=m_ScrWindowRect.cx;\n\tm_WindowRect.cy=m_ScrWindowRect.cy;\n}\n\nbool CWispBaseWnd::Show(IN UINT ShowMode)\n{\n\tif(m_ShowMode==ShowMode)\n\t\treturn true;\n\tif(m_ShowMode==WISP_SH_HIDDEN && ShowMode!=WISP_SH_HIDDEN)\n\t\tOnShow();\n\tm_ShowMode=ShowMode;\n\tif(ShowMode == WISP_SH_MODAL)\n\t{\n\t\tif(m_pWispBase->m_pModalWnd!=this)\n\t\t{\n\t\t\tm_PrevModalWnd = m_pWispBase->m_pModalWnd;\n\t\t\tm_pWispBase->m_pModalWnd = this;\n\t\t}\n\t\tTop();\n\t\tUpdate();\n\t\treturn true;\n\t}\n\telse if(ShowMode == WISP_SH_MODAL_BLOCK)\n\t{\n\t\tif(m_pWispBase->m_pModalWnd!=this)\n\t\t{\n\t\t\tm_PrevModalWnd = m_pWispBase->m_pModalWnd;\n\t\t\tm_pWispBase->m_pModalWnd = this;\n\t\t\tTop();\n\t\t\tUpdate();\n\t\t\tm_pWispBase->BlockPump(this);\n\t\t\treturn true;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_pWispBase->m_pModalWnd==this)\n\t\t{\n\t\t\tm_pWispBase->m_pModalWnd = m_PrevModalWnd;\n\t\t\tm_PrevModalWnd = NULL;\n\t\t}\n\t}\n\tif(m_ShowMode==WISP_SH_HIDDEN)\n\t{\n\t\tif(m_pWispBase->m_pMouseEventWnd==this)\n\t\t{\n\t\t\tWISP_MSG Msg;\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg = WISP_WM_MOUSE_LEAVE;\n\t\t\tMsg.MouseEvent.DeltaX = Msg.MouseEvent.DeltaY = 0;\n\t\t\tMsg.MouseEvent.HitAreaType = WISP_HIT_WND_NON;\n\t\t\tMsg.MouseEvent.HitCtrlType = WISP_HIT_CTRL_NON;\n\t\t\tMsg.MouseEvent.hWndMouseAt = this;\n\t\t\tSEND_MSG(&Msg);\t\t\t\n\t\t}\n\t\tOnHide();\n\t}\n\tUpdate();\n\treturn true;\n}\n\nvoid CWispBaseWnd::Top(bool bUpdate)\n{\n\tCWispBaseWnd*pParentWnd;\n\tif(m_ParentWnd ==NULL || this==m_ParentWnd)\n\t\treturn;\n\tpParentWnd=m_ParentWnd;\n\tm_pWispBase->RemoveWnd(this);\n\tm_pWispBase->InsertWnd(pParentWnd,this);\n\tpParentWnd->Top(bUpdate);\n\tif(m_pWispBase->m_pTopMostRootWnd && \n\t\tpParentWnd==(CWispBaseWnd*)m_pWispBase->m_pRootWnd && \n\t\tthis!=(CWispBaseWnd*)m_pWispBase->m_pTopMostRootWnd)\n\t\tm_pWispBase->m_pTopMostRootWnd->Top(bUpdate);\n\tif(bUpdate)\n\t\tUpdate();\n}\n\nvoid CWispBaseWnd::UpdateSelfAndChild(IN const WISP_RECT*pRect,CWispBaseWnd*pExcChildWnd)\n{\n\tWISP_RECT UpdateRect,NewUpdateRect;\n\tif(pRect)\n\t{\n\t\tif(m_pUpdateRect)\n\t\t{\n\t\t\tNewUpdateRect = *pRect;\n\t\t\tUpdateRect = *m_pUpdateRect;\n\t\t\tm_pUpdateRect=&m_UpdateRect;\n\t\t\tMergeRect(&UpdateRect,&NewUpdateRect,m_pUpdateRect);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_UpdateRect=*pRect;\n\t\t\tm_pUpdateRect=&m_UpdateRect;\n\t\t}\n\t\t/*@@*/\n\t\tif(m_pUpdateRect==NULL)\n\t\t\treturn;\n\t\tif(ClipRect(m_pUpdateRect,&m_WindowRect)==false)\n\t\t{\n\t\t\tm_pUpdateRect=NULL;\n\t\t\treturn;\n\t\t}\n\t}\n\telse\n\t{\n\t\tm_pUpdateRect=&m_WindowRect;\n\t}\n\tCWispBaseWnd*pUpdateWnd=m_ChildWnd;\n\twhile(pUpdateWnd)\n\t{\n\t\tif(pUpdateWnd!=pExcChildWnd && m_pUpdateRect /*@@*/)\n\t\t{\n\t\t\tUpdateRect = *m_pUpdateRect;\n\t\t\tUpdateRect.x+=m_ScrWindowRect.x - pUpdateWnd->m_ScrWindowRect.x;\n\t\t\tUpdateRect.y+=m_ScrWindowRect.y - pUpdateWnd->m_ScrWindowRect.y;\n\t\t\tif(pUpdateWnd->m_pUpdateRect)\n\t\t\t{\n\t\t\t\tMergeRect(&UpdateRect,pUpdateWnd->m_pUpdateRect,&NewUpdateRect);\n\t\t\t\tpUpdateWnd->UpdateSelfAndChild(&NewUpdateRect,pExcChildWnd);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpUpdateWnd->UpdateSelfAndChild(&UpdateRect,pExcChildWnd);\n\t\t\t}\n\t\t}\n\t\tpUpdateWnd=pUpdateWnd->m_NextWnd;\n\t}\n}\n\nvoid CWispBaseWnd::Update(IN const WISP_RECT*pRect)\n{\n\tWISP_RECT UpdateRect,NewUpdateRect;\n\tif(m_LockUpdateRef>0)\n\t\treturn;\n\tUpdateSelfAndChild(pRect);\n\tif(m_pWispBase->m_pRootWnd && m_pWispBase->m_pRootWnd!=this && m_pUpdateRect)\n\t{\n\t\tUpdateRect = *m_pUpdateRect;\n\t\tUpdateRect.x+=m_ScrWindowRect.x;\n\t\tUpdateRect.y+=m_ScrWindowRect.y;\n\t\tif(m_pWispBase->m_pRootWnd->m_pUpdateRect)\n\t\t{\n\t\t\tMergeRect(&UpdateRect,m_pWispBase->m_pRootWnd->m_pUpdateRect,&NewUpdateRect);\n\t\t\tm_pWispBase->m_pRootWnd->UpdateSelfAndChild(&NewUpdateRect,this);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_pWispBase->m_pRootWnd->UpdateSelfAndChild(&UpdateRect,this);\n\t\t}\n\t}\n\tm_pWispBase->RedrawNextTime();\n}\n\nbool CWispBaseWnd::IsScrPtIn(WISP_POINT*pPT)\n{\n\treturn PtInRect(&m_ScrWindowRect,pPT);\n}\n\nvoid CWispBaseWnd::Move(IN int DeltaX,IN int DeltaY,IN bool bUpdate)\n{\n\tWISP_RECT OldRect,NewRect,UpdateRect;\n\tCWispBaseWnd*pChildWnd;\n\tWISP_MSG Msg;\n\tif(DeltaX==0 && DeltaY==0)\n\t\treturn;\n\tMsg.hWnd=this;\n\tMsg.Msg=WISP_WM_MOVING;\n\tMsg.Move.DeltaX=DeltaX;\n\tMsg.Move.DeltaY=DeltaY;\n\tif(m_ParentWnd)\n\t\tOldRect = m_ScrWindowRect;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn;\n\tm_ScrWindowRect.x+=DeltaX;\n\tm_ScrWindowRect.y+=DeltaY;\n\tRecalcLayout();\n\tpChildWnd=m_ChildWnd;\n\twhile(pChildWnd)\n\t{\n\t\tpChildWnd->Move(DeltaX,DeltaY,false);\n\t\tpChildWnd=pChildWnd->m_NextWnd;\n\t}\n\tMsg.hWnd=this;\n\tMsg.Msg=WISP_WM_MOVE;\n\tMsg.Move.DeltaX=DeltaX;\n\tMsg.Move.DeltaY=DeltaY;\n\tSEND_MSG(&Msg);\n\tRecalcLayout();\n\tif(bUpdate)\n\t{\n\t\tif(m_ParentWnd)\n\t\t{\n\t\t\tNewRect = m_ScrWindowRect;\n\t\t\tMergeRect(&OldRect,&NewRect,&UpdateRect);\n\t\t\tUpdateRect.x-=m_ParentWnd->m_ScrWindowRect.x;\n\t\t\tUpdateRect.y-=m_ParentWnd->m_ScrWindowRect.y;\n\t\t\tm_ParentWnd->Update(&UpdateRect);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tUpdate();\n\t\t}\n\t}\n}\n\nvoid CWispBaseWnd::MoveToWindow(IN int PosX,IN int PosY,IN bool bUpdate)\n{\n\tif(this==(CWispBaseWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn;\n\tif(m_ParentWnd)\n\t\tMove(m_ParentWnd->m_ScrWindowRect.x+PosX-m_ScrWindowRect.x,m_ParentWnd->m_ScrWindowRect.y+PosY-m_ScrWindowRect.y,bUpdate);\n\telse\n\t\tMove(PosX-m_ScrWindowRect.x,PosY-m_ScrWindowRect.y,bUpdate);\n}\n\nvoid CWispBaseWnd::MoveToClient(IN int PosX,IN int PosY,IN bool bUpdate)\n{\n\tif(this==(CWispWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn;\n\tif(m_ParentWnd)\n\t\tMove(((CWispWnd*)m_ParentWnd)->m_ScrClientRect.x+PosX-m_ScrWindowRect.x,((CWispWnd*)m_ParentWnd)->m_ScrClientRect.y+PosY-m_ScrWindowRect.y,bUpdate);\n\telse\n\t\tMove(PosX-m_ScrWindowRect.x,PosY-m_ScrWindowRect.y,bUpdate);\n}\n\nvoid CWispBaseWnd::MoveToScreen(IN int PosX,IN int PosY,IN bool bUpdate)\n{\n\tif(this==(CWispWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn;\n\tMove(PosX-m_ScrWindowRect.x,PosY-m_ScrWindowRect.y,bUpdate);\n}\n\nbool CWispBaseWnd::MoveWindowToWindow(IN int x,IN int y,IN int cx,IN int cy,IN bool bUpdate)\n{\n\tMoveToWindow(x,y,bUpdate);\n\treturn Resize(cx,cy,bUpdate);\n}\n\nbool CWispBaseWnd::MoveWindowToWindow(IN const WISP_RECT&Rect,IN bool bUpdate)\n{\n\tMoveToWindow(Rect.x,Rect.y,bUpdate);\n\treturn Resize(Rect.cx,Rect.cy,bUpdate);\n}\n\nbool CWispBaseWnd::MoveWindowToClient(IN int x,IN int y,IN int cx,IN int cy,IN bool bUpdate)\n{\n\tMoveToClient(x,y,bUpdate);\n\treturn Resize(cx,cy,bUpdate);\n}\n\nbool CWispBaseWnd::MoveWindowToClient(IN const WISP_RECT&Rect,IN bool bUpdate)\n{\n\tMoveToClient(Rect.x,Rect.y,bUpdate);\n\treturn Resize(Rect.cx,Rect.cy,bUpdate);\n}\n\nbool CWispBaseWnd::Resize(IN int cx,IN int cy,IN bool bUpdate)\n{\n\tCWispBaseWnd*pChildWnd;\n\tWISP_RECT OldRect,NewRect,UpdateRect;\n\tWISP_MSG Msg;\n\tif(cx==m_WindowRect.cx && cy==m_WindowRect.cy)\n\t\treturn true;\n\tMIN_LIMIT(cx,0);\n\tMIN_LIMIT(cy,0);\n\tif(m_Style & WISP_WS_ADV_WND)\n\t{//϶ڴСʱ״̬\n\t\tif(((CWispWnd*)this)->m_MaxWndSize.cx && cx>((CWispWnd*)this)->m_MaxWndSize.cx)\n\t\t{\n\t\t\tif(m_State&WISP_WST_SIZING)\n\t\t\t\treturn false;\n\t\t\tcx=((CWispWnd*)this)->m_MaxWndSize.cx;\n\t\t}\n\t\tif(((CWispWnd*)this)->m_MaxWndSize.cy && cy>((CWispWnd*)this)->m_MaxWndSize.cy)\n\t\t{\n\t\t\tif(m_State&WISP_WST_SIZING)\n\t\t\t\treturn false;\n\t\t\tcy=((CWispWnd*)this)->m_MaxWndSize.cy;\n\t\t}\n\t}\n\tif(cx == -1)\n\t\tcx = m_WindowRect.cx;\n\tif(cy == -1)\n\t\tcy = m_WindowRect.cy;\n\tMsg.hWnd=this;\n\tMsg.Msg=WISP_WM_SIZING;\n\tMsg.Resize.NewSize.cx=cx;\n\tMsg.Resize.NewSize.cy=cy;\n\tif(m_ParentWnd)\n\t{\n\t\tOldRect = m_ScrWindowRect;\n\t\tOldRect.x -= m_ParentWnd->m_ScrWindowRect.x;\n\t\tOldRect.y -= m_ParentWnd->m_ScrWindowRect.y;\n\t}\n\tMsg.Resize.NewSizeDelta.cx = cx - m_ScrWindowRect.cx;\n\tMsg.Resize.NewSizeDelta.cy = cy - m_ScrWindowRect.cy;\n\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tm_ScrWindowRect.cx=cx;\n\tm_ScrWindowRect.cy=cy;\n\tRecalcLayout();\n\tMsg.hWnd=this;\n\tMsg.Msg=WISP_WM_SIZE;\n\tSEND_MSG(&Msg);\n\tRecalcLayout();\n\tpChildWnd = m_ChildWnd;\n\twhile(pChildWnd)\n\t{\n\t\tMsg.hWnd=pChildWnd;\n\t\tMsg.Msg=WISP_WM_PARENT_RESIZE;\n\t\tSEND_MSG(&Msg);\n\t\tpChildWnd = pChildWnd->m_NextWnd;\n\t}\n\tif(bUpdate)\n\t{\n\t\tif(m_ParentWnd)\n\t\t{\n\t\t\tNewRect = m_ScrWindowRect;\n\t\t\tNewRect.x -= m_ParentWnd->m_ScrWindowRect.x;\n\t\t\tNewRect.y -= m_ParentWnd->m_ScrWindowRect.y;\n\t\t\tMergeRect(&OldRect,&NewRect,&UpdateRect);\n\t\t\tm_ParentWnd->Update(&UpdateRect);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tUpdate();\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispBaseWnd::Center(CWispBaseWnd*pCenterWnd)\n{\n\tif(pCenterWnd==NULL)\n\t{\n\t\tpCenterWnd = m_pWispBase->m_pRootWnd;\n\t\tMoveToScreen((pCenterWnd->m_WindowRect.cx - m_WindowRect.cx)/2,(pCenterWnd->m_WindowRect.cy - m_WindowRect.cy)/2);\n\t}\n\telse\n\t{\n\t\tMoveToWindow((pCenterWnd->m_WindowRect.cx - m_WindowRect.cx)/2 + pCenterWnd->m_ScrWindowRect.x,\n\t\t\t\t\t(pCenterWnd->m_WindowRect.cy - m_WindowRect.cy)/2 + pCenterWnd->m_ScrWindowRect.y);\n\t}\n}\n\nvoid CWispBaseWnd::SetOwner(CWispBaseWnd*pOwnerWnd)\n{\n\tm_OwnerWnd = pOwnerWnd;\n}\n\nHANDLE CWispBaseWnd::GetTimer(UINT TimerID)\n{\n\tWISP_TIMER_KEY Key;\n\tKey.hWnd = this;\n\tKey.ID = TimerID;\n\tCTimerMap::IT Iter=m_pWispBase->m_TimerMap.Find(Key);\n\tif(Iter==m_pWispBase->m_TimerMap.End())\n\t\treturn NULL;\n\treturn &(*Iter);\n}\n\nHANDLE CWispBaseWnd::InsertTimer(UINT TimerID,int Period,UINT UserData,void*UserPtr)\n{\n\tif(GetTimer(TimerID))\n\t\treturn NULL;\n\tWISP_TIMER_KEY Key;\n\tKey.hWnd = this;\n\tKey.ID = TimerID;\n\tCTimerMap::IT Iter = m_pWispBase->m_TimerMap.InsertUnique(Key);\n\tif(Iter==m_pWispBase->m_TimerMap.End())\n\t\treturn NULL;\n\tIter->Period = Period;\n\tIter->UserData = UserData;\n\tIter->UserPtr = UserPtr;\n\tIter->Elapse = 0;\n\tif(m_pWispBase->InsertTimerNotify((WISP_TIMER*)&(*Iter))==false)\n\t{\n\t\tm_pWispBase->m_TimerMap.Remove(Iter);\n\t\treturn NULL;\n\t}\n\treturn &(*Iter);\n}\n\nbool CWispBaseWnd::RemoveTimer(UINT TimerID)\n{\t\n\tWISP_TIMER_KEY Key;\n\tKey.hWnd = this;\n\tKey.ID = TimerID;\n\tCTimerMap::IT Iter = m_pWispBase->m_TimerMap.Find(Key);\n\tif(Iter==m_pWispBase->m_TimerMap.End())\n\t\treturn false;\n\tif(m_pWispBase->RemoveTimerNotify(&*Iter)==false)\n\t\treturn false;\n\tm_pWispBase->m_TimerMap.Remove(Iter);\n\treturn false;\n}\n\nbool CWispBaseWnd::RemoveTimer(HANDLE hTimer)\n{\n\tCTimerMap::IT Iter=*(WISP_TIMER*)hTimer;\n\tm_pWispBase->m_TimerMap.Remove(Iter);\n\treturn true;\n}\n\nbool CWispBaseWnd::SetTimerData(HANDLE hTimer,UINT UserData,void*UserPtr)\n{\n\tCTimerMap::IT Iter=*(WISP_TIMER*)hTimer;\n\tIter->UserData = UserData;\n\tIter->UserPtr = UserPtr;\n\treturn true;\n}\n\nbool CWispBaseWnd::SetTimerData(UINT TimerID,UINT UserData,void*UserPtr)\n{\n\tHANDLE hTimer = GetTimer(TimerID);\n\tif(hTimer==NULL)\n\t\treturn false;\n\treturn SetTimerData(hTimer,UserData,UserPtr);\n}\n\nbool CWispBaseWnd::ModifyTimerPeriod(HANDLE hTimer,int Period)\n{\n\tCTimerMap::IT Iter=*(WISP_TIMER*)hTimer;\n\tIter->Period = Period;\n\tIter->Elapse%=Period;\n\treturn true;\n}\n\nbool CWispBaseWnd::ModifyTimerPeriod(UINT TimerID,int Period)\n{\n\tHANDLE hTimer = GetTimer(TimerID);\n\tif(hTimer==NULL)\n\t\treturn false;\n\treturn ModifyTimerPeriod(hTimer,Period);\n}\n\nint CWispBaseWnd::MsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType)\n{\n\treturn m_pWispBase->MsgBox(pText,pCaption,uType);\n}\n\nCWispBaseWnd*CWispBaseWnd::Focus()\n{\n\tWISP_MSG Msg;\n\tCODE_ASSERT(IsWindow());\n\tif(m_pWispBase->m_pFocusWnd==this)\n\t\treturn this;\n\tMsg.hWnd=this;\n\tMsg.hOtherWnd = m_pWispBase->m_pFocusWnd;\n\tMsg.Msg=WISP_WM_GET_FOCUS;\n\tif(SEND_MSG(&Msg))\n\t{\n\t\tMsg.Msg = WISP_WM_LOST_FOCUS;\n\t\tMsg.hWnd = Msg.hOtherWnd;\n\t\tMsg.hOtherWnd = this;\n\t\tif(SEND_MSG(&Msg))\n\t\t\tm_pWispBase->m_pFocusWnd=this;\n\t}\n\tUpdate();\n\tm_pWispBase->CaptureMouseEvent(this);\n\treturn m_pWispBase->m_pFocusWnd;\n}\n\nbool CWispBaseWnd::IsTopMostWindow()\n{\n\treturn this==m_pWispBase->m_pTopMostRootWnd;\n}\n\nbool CWispBaseWnd::IsWindow()\n{\n\treturn m_WndFlag==WISP_WND_EXIST_FLAG;\n}\n\nbool CWispBaseWnd::IsChildWndOf(CWispBaseWnd*pParentWnd)\n{\n\tCWispBaseWnd*pWnd = m_ParentWnd;\n\twhile(pWnd)\n\t{\n\t\tif(pWnd==pParentWnd)\n\t\t\treturn true;\n\t\tpWnd=pWnd->m_ParentWnd;\n\t}\n\treturn false;\n}\n\nbool CWispBaseWnd::HookKeyEvent()\n{\n\tfor(CWndList::IT Iter = m_pWispBase->m_KeyHookWndList.Begin();Iter!=m_pWispBase->m_KeyHookWndList.End();Iter++)\n\t{\n\t\tif(*Iter==this)\n\t\t\treturn false;\n\t}\n\tm_pWispBase->m_KeyHookWndList.Append(this);\n\treturn true;\n}\n\nbool CWispBaseWnd::UnhookKeyEvent()\n{\n\tfor(CWndList::IT Iter = m_pWispBase->m_KeyHookWndList.Begin();Iter!=m_pWispBase->m_KeyHookWndList.End();Iter++)\n\t{\n\t\tif(*Iter==this)\n\t\t{\n\t\t\tm_pWispBase->m_KeyHookWndList.Remove(Iter);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispBaseWnd::HookMouseMoveEvent()\n{\n\tfor(CWndList::IT Iter = m_pWispBase->m_MouseMoveHookWndList.Begin();Iter!=m_pWispBase->m_MouseMoveHookWndList.End();Iter++)\n\t{\n\t\tif(*Iter==this)\n\t\t\treturn false;\n\t}\n\tm_pWispBase->m_MouseMoveHookWndList.Append(this);\n\treturn true;\n}\n\nbool CWispBaseWnd::UnhookMouseMoveEvent()\n{\n\tfor(CWndList::IT Iter = m_pWispBase->m_MouseMoveHookWndList.Begin();Iter!=m_pWispBase->m_MouseMoveHookWndList.End();Iter++)\n\t{\n\t\tif(*Iter==this)\n\t\t{\n\t\t\tm_pWispBase->m_MouseMoveHookWndList.Remove(Iter);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nHANDLE CWispBaseWnd::RegisterHotKey(UINT EventID,UINT KeyType,UINT Modifier,UINT Style)\n{\n\tCHotKeyList::IT Iter = m_pWispBase->m_HotKeyList.Append();\n\tIter->EventID = EventID;\n\tIter->KeyType = KeyType;\n\tIter->Modifier = Modifier;\n\tIter->Style = Style;\n\tIter->hWnd = this;\n\treturn &(*Iter);\n}\n\nbool CWispBaseWnd::UnregisterHotKey(HANDLE\thHotKey)\n{\n\tfor(CHotKeyList::IT It = m_pWispBase->m_HotKeyList.Begin();It!=m_pWispBase->m_HotKeyList.End();It++)\n\t{\n\t\tif(&(*It) == (WISP_HOTKEY_ITEM*)hHotKey)\n\t\t{\n\t\t\tm_pWispBase->m_HotKeyList.Remove(It);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispBaseWnd::SetWindowText(const WISP_CHAR* pString)\n{\n\tm_WndText = pString;\n\tUpdate();\n\treturn true;\n}\n\n\nbool CWispBaseWnd::EnableWindow(bool bState)\n{\n\tbool OldState = IsEnabled();\n\tif(bState)\n\t{\n\t\tm_Style&=~WISP_WS_DISABLED;\n\t}\n\telse\n\t{\n\t\tm_Style|=WISP_WS_DISABLED;\n\t\tif((m_AdvStyle & WISP_WAS_HELP_TIP)&&m_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd==this)\n\t\t{\n\t\t\tRemoveTimer(WISP_ID_HELP_TIP);\n\t\t\tm_pWispBase->m_pHelpTipWnd->Show(WISP_SH_HIDDEN);\n\t\t\tm_pWispBase->m_pHelpTipWnd->m_pTipHelpWnd = NULL;\n\t\t}\n\t}\n\tRecalcLayout();\n\tif(OldState!=bState)\n\t\tUpdate();\n\treturn OldState;\n}\n\nbool CWispBaseWnd::EnableHelpTip(const WISP_CHAR*pString)\n{\n\tif(pString==NULL)\n\t\treturn false;\n\tm_HelpTipString = pString;\n\tm_AdvStyle|=WISP_WAS_HELP_TIP;\n\treturn true;\n}\n\nbool CWispBaseWnd::DisableHelpTip()\n{\n\tm_HelpTipString.Empty();\n\tm_AdvStyle&=~WISP_WAS_HELP_TIP;\n\treturn true;\n}\n\nbool CWispBaseWnd::IsVisible()\n{\n\tif(IsWindow()==false)\n\t\treturn false;\n\treturn m_ShowMode!=WISP_SH_HIDDEN && (m_Style&WISP_WS_VIRTUAL)==0 && m_WindowRect.cx && m_WindowRect.cy;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispBaseWnd.h",
    "content": "#ifndef _WISP_BASE_WND_H_\n#define _WISP_BASE_WND_H_\n\n#include \"WispDC.h\"\n\n#define WISP_WS_NORMAL_NO_MAX\t(WISP_WS_CAPTION | WISP_WS_BORDER | WISP_WS_BT_CLOSE | WISP_WS_BT_MIN | WISP_WS_SIZABLE)\n#define WISP_WS_NORMAL\t\t\t(WISP_WS_CAPTION | WISP_WS_BORDER | WISP_WS_BT_CLOSE | WISP_WS_BT_MIN | WISP_WS_BT_MAX | WISP_WS_SIZABLE)\n#define WISP_WS_FRAME\t\t\t(WISP_WS_CAPTION | WISP_WS_BORDER | WISP_WS_BT_CLOSE)\n\n///////////////////////////////////////////\n//window style\n///////////////////////////////////////////\n#define WISP_WS_NULL\t\t\t0x00000000\n#define WISP_WS_CAPTION\t\t\t0x00000001\n#define WISP_WS_BORDER\t\t\t0x00000002\n#define WISP_WS_THIN_BORDER\t\t0x00000006\n#define WISP_WS_BT_CLOSE\t\t0x00000008\n#define WISP_WS_BT_MAX\t\t\t0x00000010\n#define WISP_WS_BT_MIN\t\t\t0x00000020\n#define WISP_WS_BACK_TRANS\t\t0x00000040\n#define WISP_WS_SIZABLE\t\t\t0x00000080\n#define WISP_WS_VIRTUAL\t\t\t0x00000100\n#define WISP_WS_DISABLED\t\t0x00000200\n#define WISP_WS_MARKED\t\t\t0x00000400\n#define WISP_WS_DEFAULT\t\t\t0x00000800\t//Formȱʡؼ\n#define WISP_WS_ADV_WND\t\t\t0x00008000\t//WispBaseWndWispWnd\n\n///////////////////////////////////////////\n//window advance style\n///////////////////////////////////////////\n#define WISP_WAS_NULL\t\t\t0x00000000\n#define WISP_WAS_AUTO_DELETE\t0x00000001\n#define WISP_WAS_HELP_TIP\t\t0x00000002\n#define WISP_WAS_DRAG_WND\t\t0x00000004\n#define WISP_WAS_DISABLE_MSG_CS\t0x00000010\n\n///////////////////////////////////////////\n//window show mode\n///////////////////////////////////////////\nenum WISP_SH\n{\n\tWISP_SH_NULL=0,\n\tWISP_SH_NORMAL,\n\tWISP_SH_MINSIZE,\n\tWISP_SH_HIDDEN,\n\tWISP_SH_MODAL,\n\tWISP_SH_MODAL_BLOCK\n};\n\n#define WISP_TIP_PERIOD\t\t500\n\nclass CWispBase;\n\n#define SEND_MSG\t\tm_pWispBase->SendMessage\n#define POST_MSG\t\tm_pWispBase->PostMessage\n#define SYS_COLOR\t\tm_pWispBase->m_pCurDrawObj->m_crSystem\n#define SYS_METRICS\t\tm_pWispBase->m_Metrics\n\n#define WISP_WND_EXIST_FLAG     0x77777777\n\nclass CWispBaseWnd\n{\npublic:\n\tCWispBaseWnd();\n\tvirtual ~CWispBaseWnd();\n\tCWispBase*\t\tm_pWispBase;\n\tWISP_CTRL_TYPE\tm_CtrlType;\n\tUINT\t\t\tm_State;\n\tWISP_RECT\t\tm_ScrWindowRect;\t//Ļеλ\n\tWISP_RECT\t\tm_WindowRect;\t\t//ڴеλ\n\tUINT\t\t\tm_Style;\n\tUINT\t\t\tm_AdvStyle;\n\tUINT\t\t\tm_ShowMode;\n\tCWispString\t\tm_WndText;\n\tUINT\t\t\tm_CmdID;\t\t\t//CmdIDΪ0\n\tCWispDC\t\t\tm_WindowDC;\n\tCWispBaseWnd*\tm_PrevWnd;\n\tCWispBaseWnd*\tm_NextWnd;\n\tCWispBaseWnd*\tm_ChildWnd;\n\tCWispBaseWnd*\tm_ChildTopWnd;\n\tCWispBaseWnd*\tm_ParentWnd;\n\tCWispBaseWnd*\tm_PrevModalWnd;\n\tCWispBaseWnd*\tm_OwnerWnd;\n\tvoid*\t\t\tm_WndData;\n\tCWispString\t\tm_HelpTipString;\n\tWISP_RECT\t\tm_UpdateRect;\n\tWISP_RECT*\t\tm_pUpdateRect;\t\t//Ҫ޸ģɸϵ\n\tint\t\t\t\tm_LockUpdateRef;\n\tUINT\t\t\tm_WndFlag;\npublic:\n\tvirtual bool\tCreate(\tIN WISP_PCSTR Name,IN int x,IN int y,IN int cx,IN int cy,IN CWispBaseWnd*pParentWnd = NULL,\n\t\t\t\t\t\t\tIN UINT CmdID = 0,IN UINT Style=WISP_WS_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\n\tvirtual bool\tDestroy();\n\tvirtual void\tRecalcLayout();\n\tvirtual bool\tInitWnd();\n\tvirtual\tvoid\tSetOwner(CWispBaseWnd*pOwnerWnd);\n\tvirtual bool\tSetWindowText(const WISP_CHAR* pString);\n\tvirtual\tCWispString&GetWindowText(){return m_WndText;}\n\tvirtual void\tUpdate(IN const WISP_RECT*pRect=NULL);\n\tvirtual bool\tIsScrPtIn(WISP_POINT*pPT);//ڲWindowFromPoint,⴦ʹӴĳЩλǸڵ\n\tvirtual void\tOnHide(){}\n\tvirtual void\tOnShow(){}\n\tbool\tCreate(\tIN WISP_PCSTR Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd = NULL,\n\t\t\t\t\tIN UINT CmdID = 0,IN UINT Style=WISP_WS_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\n\tbool\tShow(IN UINT ShowMode = WISP_SH_NORMAL);\n\tvoid\tTop(bool bUpdate=true);\n\t\n\tvoid\tUpdateSelfAndChild(IN const WISP_RECT*pRect=NULL,CWispBaseWnd*pExcChildWnd=NULL);\n\tvoid\tMove(IN int DeltaX,IN int DeltaY,bool bUpdate = true);\n\tvoid\tMoveToWindow(IN int PosX,IN int PosY,bool bUpdate = true);\n\tvoid\tMoveToClient(IN int PosX,IN int PosY,bool bUpdate = true);\n\tvoid\tMoveToScreen(IN int PosX,IN int PosY,bool bUpdate = true);\n\tbool\tResize(IN int cx,IN int cy,bool bUpdate = true);\n\tbool\tMoveWindowToWindow(IN int x,IN int y,IN int cx,IN int cy,bool bUpdate = true);\n\tbool\tMoveWindowToWindow(IN const WISP_RECT&Rect,bool bUpdate = true);\n\tbool\tMoveWindowToClient(IN int x,IN int y,IN int cx,IN int cy,bool bUpdate = true);\n\tbool\tMoveWindowToClient(IN const WISP_RECT&Rect,bool bUpdate = true);\n\tvoid\tCenter(CWispBaseWnd*pCenterWnd = NULL);\n\t/////////////////////////////////////////////////////////////////////////////////\n\t//Timer\n\tHANDLE\tGetTimer(UINT TimerID);\n\tHANDLE\tInsertTimer(UINT TimerID,int Period,UINT UserData=0,void*UserPtr=NULL);\n\tbool\tRemoveTimer(UINT TimerID);\n\tbool\tRemoveTimer(HANDLE hTimer);\n\tbool\tSetTimerData(UINT TimerID,UINT UserData=0,void*UserPtr=NULL);\n\tbool\tSetTimerData(HANDLE hTimer,UINT UserData=0,void*UserPtr=NULL);\n\tbool\tModifyTimerPeriod(UINT TimerID,int Period);\t\n\tbool\tModifyTimerPeriod(HANDLE hTimer,int Period);\n\t//Timer\n\t/////////////////////////////////////////////////////////////////////////////////\n\tint\t\tMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType = 0);\n\tCWispBaseWnd*Focus();\n\tINLINE bool\tIsFocus(){return m_pWispBase->m_pFocusWnd==this;}\n\tbool\tIsTopMostWindow();\n\tbool\tIsWindow();\n\tbool\tIsChildWndOf(CWispBaseWnd*pParentWnd);\n\tbool\tHookKeyEvent();\n\tbool\tHookMouseMoveEvent();\n\tbool\tUnhookKeyEvent();\n\tbool\tUnhookMouseMoveEvent();\n\tHANDLE\tRegisterHotKey(UINT EventID,UINT KeyType,UINT Modifier,UINT Style = WISP_HKS_CHILD_WND);\n\tbool\tUnregisterHotKey(HANDLE\thHotKey);\n\tbool\tEnableWindow(bool bState);\n\tbool\tEnableHelpTip(const WISP_CHAR*pString);\n\tbool\tDisableHelpTip();\n\tvoid\tAddAdvStyle(UINT Style){m_AdvStyle|=Style;}\n\tvoid\tRemoveAdvStyle(UINT Style){m_AdvStyle&=~Style;}\npublic:\n\tbool\tinline\tIsMarked(){return (m_Style&WISP_WS_MARKED)!=0;}\n\tbool\tinline\tIsDisabled(){return (m_Style&WISP_WS_DISABLED)!=0;}\n\tbool\tinline\tIsEnabled(){return (m_Style&WISP_WS_DISABLED)==0;}\npublic:\n\tbool\tIsVisible();\n\tbool\tSendCmdMsg(UINT CmdMsg,int CmdParam1=0,void*CmdParam2=NULL);\n\tbool\tPostEventMsg(UINT CmdMsg,int CmdParam1=0,void*CmdParam2=NULL);\n\tvoid\tPostCloseMsg();\n\tbool\tSendCloseMsg();\n\tvoid\tLockUpdate(){m_LockUpdateRef++;}\n\tvoid\tUnlockUpdate(){m_LockUpdateRef--;}\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnClose)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnLostFocus)\n\tDECLARE_WISP_MSG(OnMouseEnter)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG(OnTimer)\n\tDECLARE_WISP_MSG(OnBeginMove)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispButton.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispButton.h\"\n\nWISP_MSG_MAP_BEGIN(CWispButton)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_MOVE,OnMove)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nbool CWispButton::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON || pMsg->KeyEvent.KeyType==WISP_VK_RETURN)\n\t{\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t{\n\t\t\tif(m_bPressed==false)\n\t\t\t{\n\t\t\t\tm_bPressed\t= true;\n\t\t\t\tUpdate();\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd = m_OwnerWnd;\n\t\t\t\tMsg.hSrcWnd = this;\n\t\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\t\tMsg.Command.CtrlType= WISP_CTRL_BUTTON;\n\t\t\t\tMsg.Command.CmdID\t= m_CmdID;\n\t\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_bPressed)\n\t\t\t{\n\t\t\t\tm_bPressed = false;\n\t\t\t\tUpdate();\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd = m_OwnerWnd;\n\t\t\t\tMsg.hSrcWnd = this;\n\t\t\t\tMsg.Msg = WISP_WM_COMMAND;\n\t\t\t\tMsg.Command.CtrlType= WISP_CTRL_BUTTON;\n\t\t\t\tMsg.Command.CmdID = m_CmdID;\n\t\t\t\tMsg.Command.CmdMsg = WISP_CMD_BT_UP;\n\t\t\t\tif(SEND_MSG(&Msg))\n\t\t\t\t{\n\t\t\t\t\tMsg.hWnd=m_OwnerWnd;\n\t\t\t\t\tMsg.Msg=WISP_WM_EVENT;\n\t\t\t\t\tPOST_MSG(&Msg);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispButton::RecalcLayout()\n{\n\tCWispBaseWnd::RecalcLayout();\n\tif(IsDisabled())\n\t{\n\t\tif(m_bMouseInBTRect)\n\t\t{\n\t\t\tm_bMouseInBTRect=false;\n\t\t}\n\t\treturn;\n\t}\n\tif(PtInRect(&m_ScrWindowRect, &m_pWispBase->m_MousePT)!=m_bMouseInBTRect)\n\t{\n\t\tm_bMouseInBTRect=!m_bMouseInBTRect;\n\t\tUpdate();\n\t}\n}\n\nbool CWispButton::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tUINT State;\n\tCOLORREF OrgTextColor;\n\tState = STATUS_NORMAL;\n\tif(m_bMouseInBTRect)\n\t\tState = STATUS_HOVER;\n\tif(m_bPressed)\n\t\tState = STATUS_DOWN;\n\tCWispRect\trcBtn(m_WindowRect);\n\t// client background\n\tif((m_Style & WISP_WS_BACK_TRANS)==0)\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawButtonClient(&m_WindowDC, &m_WindowRect, State);\n\t}\n\t// back dib\n\tif(*m_DIBList)\n\t{\n\t\tint x,y;\n\t\tif(IsDisabled())\n\t\t{\n\t\t\tif(m_DIBList[WISP_BT_DIB_DISABLE])\n\t\t\t{\n\t\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_DISABLE]->m_FrameBuffer.Width,m_WindowRect.cx);\n\t\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_DISABLE]->m_FrameBuffer.Height,m_WindowRect.cy);\n\t\t\t\tm_WindowDC.DrawDIB(x,y,m_DIBList[WISP_BT_DIB_DISABLE]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Width,m_WindowRect.cx);\n\t\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Height,m_WindowRect.cy);\n\t\t\t\tm_WindowDC.DrawGrayDIB(x,y,m_DIBList[WISP_BT_DIB_NORMAL]);\n\t\t\t}\n\t\t}\n\t\telse if(m_bPressed)\n\t\t{\n\t\t\tif(m_DIBList[WISP_BT_DIB_DOWN])\n\t\t\t{\n\t\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_DOWN]->m_FrameBuffer.Width,m_WindowRect.cx);\n\t\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_DOWN]->m_FrameBuffer.Height,m_WindowRect.cy);\n\t\t\t\tm_WindowDC.DrawDIB(x,y,m_DIBList[WISP_BT_DIB_DOWN]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Width,m_WindowRect.cx)+1;\n\t\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Height,m_WindowRect.cy)+1;\n\t\t\t\tm_WindowDC.DrawDIB(x,y,m_DIBList[WISP_BT_DIB_NORMAL]);\n\t\t\t}\n\t\t}\n\t\telse if(m_bMouseInBTRect && m_DIBList[WISP_BT_DIB_HOVER])\n\t\t{\n\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_HOVER]->m_FrameBuffer.Width,m_WindowRect.cx);\n\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_HOVER]->m_FrameBuffer.Height,m_WindowRect.cy);\n\t\t\tm_WindowDC.DrawDIB(x,y,m_DIBList[WISP_BT_DIB_HOVER]);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tx = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Width,m_WindowRect.cx);\n\t\t\ty = CENTER_ALGN(m_DIBList[WISP_BT_DIB_NORMAL]->m_FrameBuffer.Height,m_WindowRect.cy);\n\t\t\tm_WindowDC.DrawDIB(x,y,m_DIBList[WISP_BT_DIB_NORMAL]);\n\t\t}\n\t}\n\t// border\n\tif(m_Style & WISP_BS_TOOLBAR_BT)\n\t{\n\t\tswitch(State)\n\t\t{\n\t\tcase STATUS_HOVER:\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect);\n\t\t\tbreak;\n\t\tcase STATUS_DOWN:\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect,false);\n\t\t\tbreak;\n\t\t}\n\t}\n\telse if((m_Style & WISP_BS_NOBORDER)==0)\n\t{\n\t\tif(m_DIBList[State]==NULL)\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawButtonFrameRect(&m_WindowDC, &rcBtn, State);\n\t\tif(State == STATUS_HOVER)\n\t\t\trcBtn.DeflateRect(3, 3);\n\t\telse\n\t\t\trcBtn.DeflateRect(1, 1);\n\t}\n\t// text\n\tif(m_WndText.m_Length)\n\t{\n\t\tif(m_bSetTextPos)\n\t\t\trcBtn = m_TextRect;\n\t\tif(State != STATUS_HOVER)\n\t\t\trcBtn.DeflateRect(2, 2);\n\t\tUINT uStyle = WISP_DT_SINGLELINE|WISP_DT_VCENTER;\n\t\tswitch(m_Style & WISP_BS_TEXT_POS_MASK)\n\t\t{\n\t\t\tcase WISP_BS_TEXT_LEFT:\n\t\t\t\tuStyle|=WISP_DT_LEFT;\n\t\t\t\tbreak;\n\t\t\tcase WISP_BS_TEXT_RIGHT:\n\t\t\t\tuStyle|=WISP_DT_RIGHT;\n\t\t\t\tbreak;\n\t\t\tdefault://WISP_BS_TEXT_CENTER\n\t\t\t\tuStyle|=WISP_DT_CENTER;\n\t\t\t\tbreak;\n\t\t}\n\t\tif(IsDisabled())\n\t\t{\n\t\t\tOrgTextColor = m_WindowDC.GetTextColor();\n\t\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRAY]);\n\t\t}\n\t\tif(State == STATUS_DOWN)\n\t\t{\n\t\t\trcBtn.x++;\n\t\t\trcBtn.y++;\n\t\t}\n\t\t\n\t\tm_WindowDC.DrawString(m_WndText, &rcBtn, uStyle);\n\t\tif(IsDisabled())\n\t\t{\t\t\t\n\t\t\tm_WindowDC.SetTextColor(OrgTextColor);\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispButton::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tif(m_bMouseInBTRect)\n\t\treturn true;\n\tHoverNotify();\n\tSendCmdMsg(WISP_CMD_ITEM_HOVER);\n\tm_bMouseInBTRect = true;\n\tUpdate();\n\treturn true;\n}\n\nbool CWispButton::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tm_bPressed = m_bMouseInBTRect = false;\n\tUnhoverNotify();\n\tSendCmdMsg(WISP_CMD_ITEM_UNHOVER);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispButton::OnMove(IN WISP_MSG*pMsg)\n{\n\tif(m_bMouseInBTRect)\n\t{\n\t\tm_bMouseInBTRect = PtInRect(&m_ScrWindowRect, &m_pWispBase->m_MousePT);\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nCWispButton::CWispButton()\n{\n\tm_CtrlType = WISP_CTRL_BUTTON;\n\tm_bSetTextPos=false;\n}\n\nCWispButton::~CWispButton()\n{\n}\n\nbool CWispButton::InitWnd()\n{\n\tif(CWispBaseWnd::InitWnd()==false)\n\t\treturn false;\n\tm_bPressed=false;\n\tm_bMouseInBTRect = PtInRect(&m_ScrWindowRect, &m_pWispBase->m_MousePT);\n\tZeroMemory(m_DIBList,sizeof(m_DIBList));\n\treturn true;\n}\n\nbool CWispButton::CreateEx(CWispDIB* pDib, int x, int y, IN CWispWnd*pParentWnd, IN UINT CmdID,IN UINT Style)\n{\n\tif( Create(NULL, x, y, pDib->m_FrameBuffer.Width, pDib->m_FrameBuffer.Height, pParentWnd, CmdID, Style, WISP_SH_NORMAL) )\n\t{\n\t\tSetDIB(pDib);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispButton::CreateEx(CWispDIBList* pDibList, int x, int y, IN CWispWnd*pParentWnd, IN UINT CmdID,IN UINT Style)\n{\n\tif( Create(NULL, x, y, pDibList->m_DIBList->m_FrameBuffer.Width, pDibList->m_DIBList->m_FrameBuffer.Height, pParentWnd, CmdID, Style, WISP_SH_NORMAL) )\n\t{\n\t\tSetDIBList(pDibList);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispButton::SetDIB(CWispDIB*pDIB,WISP_BT_DIB ID)\n{\n\tm_DIBList[ID]=pDIB;\n\treturn true;\n}\n\nbool CWispButton::SetDIBList(CWispDIBList*pDIBList)\n{\n\tfor(int n=0;n<WISP_BT_DIB_COUNT;n++)\n\t{\n\t\tm_DIBList[n]=pDIBList->GetDIB(n);\n\t}\n\treturn true;\n}\n\nvoid CWispButton::SetTextPos(IN WISP_POINT Point)\n{\n\tif(Point.x < m_WindowRect.cx && Point.y < m_WindowRect.cy)\n\t{\n\t\tm_bSetTextPos=true;\n\t\tm_TextRect.x = Point.x;\n\t\tm_TextRect.y = Point.y;\n\t\tm_TextRect.cx = m_WindowRect.cx - Point.x;\n\t\tm_TextRect.cy = m_WindowRect.cy - Point.y;\n\t}\n}\nvoid CWispButton::SetTextRect(IN WISP_RECT TextRect)\n{\n\tif(TextRect.x < m_WindowRect.cx && TextRect.y < m_WindowRect.cy)\n\t{\n\t\tm_bSetTextPos=true;\n\t\tm_TextRect = TextRect;\n\t\tif(m_TextRect.x + m_TextRect.cx > m_WindowRect.cx)\n\t\t\tm_TextRect.cx = m_WindowRect.cx - m_TextRect.x;\n\t\tif(m_TextRect.y + m_TextRect.cy > m_WindowRect.cy)\n\t\t\tm_TextRect.cy = m_WindowRect.cy - m_TextRect.y;\n\t}\n}"
  },
  {
    "path": "Project/Wisp/Source/WispButton.h",
    "content": "#ifndef _WISP_BUTTON_H_\n#define _WISP_BUTTON_H_\n\n#include \"WispWnd.h\"\n\n//////////////////////////////////////////////\n//ť\n//////////////////////////////////////////////\n#define WISP_BS_NORMAL\t\t\t0\n#define WISP_BS_TEXT_LEFT\t\t0x00010000\n#define WISP_BS_TEXT_RIGHT\t\t0x00020000\n#define WISP_BS_TEXT_POS_MASK\t0x00030000\n#define WISP_BS_DIB_LEFT\t\t0x00100000\n#define WISP_BS_DIB_RIGHT\t\t0x00200000\n#define WISP_BS_DIB_POS_MASK\t0x00300000\n#define WISP_BS_DISABLE\t\t\t0x00400000\n#define WISP_BS_NOBORDER\t\t0x00800000\n#define WISP_BS_TOOLBAR_BT\t\t0x01000000\n\nenum WISP_BT_DIB\n{\n\tWISP_BT_DIB_NORMAL=0,\n\tWISP_BT_DIB_HOVER,\n\tWISP_BT_DIB_DOWN,\n\tWISP_BT_DIB_DISABLE,\n\tWISP_BT_DIB_COUNT\n};\n\n\nclass CWispButton : public CWispBaseWnd\n{\n\tbool\t\tm_bSetTextPos;\n\tWISP_RECT\tm_TextRect;\npublic:\n\tCWispButton();\n\t~CWispButton();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMove);\n\tDECLARE_WISP_MSG(OnMouseMove);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n\tDECLARE_WISP_MSG(OnUpdate);\npublic:\n\tvirtual bool\tInitWnd();\n\tvirtual void\tRecalcLayout();\n\tvirtual void\tHoverNotify(){};\n\tvirtual void\tUnhoverNotify(){};\n\tbool\t\tm_bPressed;\n\tbool\t\tm_bMouseInBTRect;\n\tCWispDIB*\tm_DIBList[WISP_BT_DIB_COUNT];\n\tbool\t\tCreateEx(IN CWispDIB* pDib, IN int x, IN int y, IN CWispWnd*pParentWnd = NULL, IN UINT CmdID = 0,UINT Style = WISP_BS_NOBORDER);\n\tbool\t\tCreateEx(IN CWispDIBList* pDibList, IN int x, IN int y, IN CWispWnd*pParentWnd = NULL, IN UINT CmdID = 0,UINT Style = WISP_BS_NOBORDER);\n\tbool\t\tSetDIB(CWispDIB*pDIB,WISP_BT_DIB ID = WISP_BT_DIB_NORMAL);\n\tbool\t\tSetDIBList(CWispDIBList*pDIBList);\n\tvoid\t\tSetTextPos(IN WISP_POINT Point);\n\tvoid\t\tSetTextRect(IN WISP_RECT TextRect);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispCalcWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispCalcWnd.h\"\n//extern item_contents\tdisplay_data;\n//extern bool\t\t\t\tdisplay_error;\n\nitem_contents \tdisplay_data;\nbool display_error\t= false;\nbool percent_mode\t= false;\n\nstack_ptr\ttop_of_stack = NULL;\nstack_ptr\ttop_type_stack[2] = { NULL, NULL };\nint \t\tstack_next, stack_last;\nstack_item\tprocess_stack[STACK_SIZE];\n\n\n#define PRINT_FLOAT\t\t\"%d\"\n#define PRINT_LONG_BIG\t\"%d\"\n#define PRINT_LONG\t\t\"%d\"\n\n\n#define PRINT_OCTAL\t\"%I64o\"\n#define PRINT_HEX\t\"%I64X\"\n\n\nint precedence[14] = { 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 6 };\n\nint adjust_op[14][3] =\n{\n\t{FUNC_NULL,     FUNC_NULL,     FUNC_NULL},\n\t{FUNC_OR,       FUNC_OR,       FUNC_XOR },\n\t{FUNC_XOR,      FUNC_XOR,      FUNC_XOR },\n\t{FUNC_AND,      FUNC_AND,      FUNC_AND },\n\t{FUNC_LSH,      FUNC_LSH,      FUNC_RSH },\n\t{FUNC_RSH,      FUNC_RSH,      FUNC_RSH },\n\t{FUNC_ADD,      FUNC_ADD,      FUNC_ADD },\n\t{FUNC_SUBTRACT, FUNC_SUBTRACT, FUNC_SUBTRACT},\n\t{FUNC_MULTIPLY, FUNC_MULTIPLY, FUNC_MULTIPLY},\n\t{FUNC_DIVIDE,   FUNC_DIVIDE,   FUNC_DIVIDE},\n\t{FUNC_MOD,      FUNC_MOD,      FUNC_INTDIV },\n\t{FUNC_POWER,    FUNC_POWER,    FUNC_PWR_ROOT},\n\t{FUNC_PWR_ROOT, FUNC_PWR_ROOT, FUNC_PWR_ROOT},\n\t{FUNC_INTDIV,   FUNC_INTDIV,   FUNC_INTDIV},\n};\n\nArith Arith_ops[14] =\n{\n\tNULL,\n\t\tCWispCalcWnd::ExecOr,\n\t\tCWispCalcWnd::ExecXor,\n\t\tCWispCalcWnd::ExecAnd,\n\t\tCWispCalcWnd::ExecLsh,\n\t\tCWispCalcWnd::ExecRsh,\n\t\tCWispCalcWnd::ExecAdd,\n\t\tCWispCalcWnd::ExecSubtract,\n\t\tCWispCalcWnd::ExecMultiply,\n\t\tCWispCalcWnd::ExecDivide,\n\t\tCWispCalcWnd::ExecMod,\n\t\tCWispCalcWnd::ExecPower,\n\t\tCWispCalcWnd::ExecPwrRoot,\n\t\tCWispCalcWnd::ExecIntDiv\n};\n\nPrcnt Prcnt_ops[14] =\n{\n\tNULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL,\n\t\tCWispCalcWnd::ExecAddP,\n\t\tCWispCalcWnd::ExecSubP,\n\t\tCWispCalcWnd::ExecMultiplyP,\n\t\tCWispCalcWnd::ExecDivideP,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n};\nconst CALCAMNT CWispCalcWnd::pi = 3;\n\nWISP_MSG_MAP_BEGIN(CWispCalcWnd)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestory)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispCalcWnd::CWispCalcWnd(void)\n{\t\n\tinverse=false;\t\n\trefresh_display=false;\n\tdisplay_size=DEC_SIZE;\n\tm_NumberBitWdith=ANG_DEGREE;\n\tinput_limit=0;\n\tinput_count=0;\n\tdecimal_point=0;\n\tprecedence_base=0;\n\tcurrent_base=NB_DECIMAL;\n\tmemory_num=0;\n\tlast_input=DIGIT;\n\thistory_index=0;\n\tkey_pressed=false;\n\tmInternalSpacing=4;\n}\n\nbool CWispCalcWnd::OnKeyEvent(IN WISP_MSG *pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown)\n\t\tOnKeyDown(pMsg);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispCalcWnd::OnDestory(IN WISP_MSG*pMsg)\n{\n\tpbA->Destroy();\n\tdelete pbA;\n\tpbMR->Destroy();\n\tdelete pbMR;\n\tpbMplusminus->Destroy();\n\tdelete pbMplusminus;\n\tpbMC->Destroy();\n\tdelete pbMC;\n\tpbClear->Destroy();\n\tdelete pbClear;\n\tpbAC->Destroy();\n\tdelete pbAC;\n\tpbRsh->Destroy();\n\tdelete pbRsh;\n\tpbplusminus->Destroy();\n\tdelete pbplusminus;\n\tpbB->Destroy();\n\tdelete pbB;\n\tpb7->Destroy();\n\tdelete pb7;\n\tpb8->Destroy();\n\tdelete pb8;\n\tpb9->Destroy();\n\tdelete pb9;\n\tpbparenopen->Destroy();\n\tdelete pbparenopen;\n\tpbparenclose->Destroy();\n\tdelete pbparenclose;\n\tpband->Destroy();\n\tdelete pband;\n\tpbXor->Destroy();\n\tdelete pbXor;\n\tpbC->Destroy();\n\tdelete pbC;\n\tpb4->Destroy();\n\tdelete pb4;\n\tpb5->Destroy();\n\tdelete pb5;\n\tpb6->Destroy();\n\tdelete pb6;\n\tpbX->Destroy();\n\tdelete pbX;\n\tpbdivision->Destroy();\n\tdelete pbdivision;\n\tpbor->Destroy();\n\tdelete pbor;\t\n\tpbfactorial->Destroy();\n\tdelete pbfactorial;\n\tpbD->Destroy();\n\tdelete pbD;\n\tpb1->Destroy();\n\tdelete pb1;\n\tpb2->Destroy();\n\tdelete pb2;\n\tpb3->Destroy();\n\tdelete pb3;\n\tpbplus->Destroy();\n\tdelete pbplus;\n\tpbminus->Destroy();\n\tdelete pbminus;\n\tpbshift->Destroy();\n\tdelete pbshift;\n\tpbsquare->Destroy();\n\tdelete pbsquare;\n\tpbE->Destroy();\n\tdelete pbE;\n\tpb0->Destroy();\n\tdelete pb0;\n\tpbequal->Destroy();\n\tdelete pbequal;\n\tpbnegate->Destroy();\n\tdelete pbnegate;\n\tpbmod->Destroy();\n\tdelete pbmod;\n\tpbpower->Destroy();\n\tdelete pbpower;\n\tpbF->Destroy();\n\tdelete pbF;\n\tfor(int i =0; i < 4;i++)\n\t{\n\t\tanglebutton[i]->Destroy();\n\t\tdelete anglebutton[i];\n\t\tbasebutton[i]->Destroy();\n\t\tdelete basebutton[i];\n\t}\n\t\n\treturn true;\n}\n\nvoid CWispCalcWnd::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreate(0,0);\n\t\tCenter();\n\t}\n}\n\nbool CWispCalcWnd::Create(int x,int y,CWispBaseWnd*pParentWnd,UINT CmdID)\n{\n\treturn CWispWnd::Create(WISP_STR(\"Calc\"),x,y,500,204,pParentWnd,CmdID,WISP_WS_CAPTION|WISP_WS_BORDER|WISP_WS_BT_CLOSE,WISP_SH_NORMAL);\n}\n\nbool CWispCalcWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tCWispRect rc;\n\tint NormalWidth=40,NormalHeight=16;\n\tint xdelt=4;\n\tint ydelt=4;\n\tpbA = new CWispButton;\n\tpbMR = new CWispButton;\n\tpbMplusminus = new CWispButton;\n\tpbMC = new CWispButton;\n\tpbClear = new CWispButton;\n\tpbAC = new CWispButton;\n\tpbRsh = new CWispButton;\n\tpbplusminus = new CWispButton;\n\tpbB = new CWispButton;\n\tpb7 = new CWispButton;\n\tpb8 = new CWispButton;\n\tpb9 = new CWispButton;\n\tpbparenopen = new CWispButton;\n\tpbparenclose = new CWispButton;\n\tpband = new CWispButton;\n\tpbXor = new CWispButton;\n\tpbC = new CWispButton;\n\tpb4 = new CWispButton;\n\tpb5 = new CWispButton;\n\tpb6 = new CWispButton;\n\tpbX = new CWispButton;\n\tpbdivision = new CWispButton;\n\tpbor = new CWispButton;\n\n\tpbfactorial = new CWispButton;\n\tpbD = new CWispButton;\n\tpb1 = new CWispButton;\n\tpb2 = new CWispButton;\n\tpb3 = new CWispButton;\n\tpbplus = new CWispButton;\n\tpbminus = new CWispButton;\n\tpbshift = new CWispButton;\n\n\tpbsquare = new CWispButton;\n\tpbE = new CWispButton;\n\tpb0 = new CWispButton;\n\tpbequal = new CWispButton;\n\tpbnegate = new CWispButton;\n\tpbmod = new CWispButton;\n\tpbpower = new CWispButton;\n\tpbF = new CWispButton;\n\t\n\tfor(int i = 0; i < 4;i++)\n\t{\n\t\tanglebutton[i] = new CWispRadioBox;\n\t\tbasebutton[i]=new CWispRadioBox;\n\t}\n\tNormalHeight=25;\n\trc.x = 15,rc.y=33,rc.cx=40,rc.cy=16; \n\tbasebutton[0]->Create(WSTR(\"Hex\"),rc,this,CHECKBOX_HEX,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 15,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tbasebutton[1]->Create(WSTR(\"Dec\"),rc,this,CHECKBOX_DEC,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 15,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tbasebutton[2]->Create(WSTR(\"Oct\"),rc,this,CHECKBOX_OCT,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 15,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tbasebutton[3]->Create(WSTR(\"Bin\"),rc,this,CHECKBOX_BIN,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\n\trc.x = 90,rc.y=33,rc.cx=58,rc.cy=16;\n\tanglebutton[0]->Create(WSTR(\"64 Bit\"),rc,this,CHECKBOX_8BYTE,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 90,rc.y+=(NormalHeight+ydelt),rc.cx=58,rc.cy=NormalHeight;\n\tanglebutton[1]->Create(WSTR(\"32 Bit\"),rc,this,CHECKBOX_4BYTE,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 90,rc.y+=(NormalHeight+ydelt),rc.cx=58,rc.cy=NormalHeight;\n\tanglebutton[2]->Create(WSTR(\"16 Bit\"),rc,this,CHECKBOX_2BYTE,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\trc.x = 90,rc.y+=(NormalHeight+ydelt),rc.cx=58,rc.cy=NormalHeight;\n\tanglebutton[3]->Create(WSTR(\" 8 Bit\"),rc,this,CHECKBOX_1BYTE,WISP_RBS_FLAT|WISP_WS_BACK_TRANS,WISP_SH_NORMAL);\n\n\tanglebutton[0]->Check(false);\n\tanglebutton[1]->Check(true);\n\tanglebutton[2]->Check(false);\n\tanglebutton[3]->Check(false);\n\tbasebutton[0]->Check(true);\n\tbasebutton[1]->Check(false);\t\n\tbasebutton[2]->Check(false);\n\tbasebutton[3]->Check(false);\n#define HIGH_ITEM 24\n\n\tNormalWidth=40;NormalHeight=16;\n\trc.x = 303-35,rc.y=32,rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbMR->Create(WISP_STR(\"MR\"),&rc,this,BUTTON_MR,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.y=32,rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbMplusminus->Create(WISP_STR(\"M+-\"),&rc,this,BUTTON_MOTHER,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.y=32,rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbMC->Create(WISP_STR(\"MC\"),&rc,this,BUTTON_MC,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.y=32,rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbClear->Create(WISP_STR(\"C\"),&rc,this,BUTTON_AFUNCTION,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.y=32,rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbAC->Create(WISP_STR(\"AC\"),&rc,this,BUTTON_AC,WISP_BS_NORMAL,WISP_SH_NORMAL);\n#define HIGH_2 89\n\n\trc.x = 171-35, rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\t\n\trc.x += (NormalWidth+xdelt);\n\tpbplusminus->Create(WISP_STR(\"+/-\"),&rc,this,BUTTON_PLUSMINUS,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb7->Create(WISP_STR(\"7\"),&rc,this,BUTTON_7,WISP_BS_NORMAL,WISP_SH_NORMAL);//13521866678\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb8->Create(WISP_STR(\"8\"),&rc,this,BUTTON_8,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb9->Create(WISP_STR(\"9\"),&rc,this,BUTTON_9,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbparenopen->Create(WISP_STR(\"(\"),&rc,this,BUTTON_LBRACKET,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbparenclose->Create(WISP_STR(\")\"),&rc,this,BUTTON_RBRACKET,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpband->Create(WISP_STR(\"And\"),&rc,this,BUTTON_AND,WISP_BS_NORMAL,WISP_SH_NORMAL);\n#define HIGH_3 117\n\n\trc.x = 171-35, rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\t\n\trc.x += (NormalWidth+xdelt);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb4->Create(WISP_STR(\"4\"),&rc,this,BUTTON_4,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb5->Create(WISP_STR(\"5\"),&rc,this,BUTTON_5,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb6->Create(WISP_STR(\"6\"),&rc,this,BUTTON_6,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbX->Create(WISP_STR(\"X\"),&rc,this,BUTTON_MULTIPLYSIGN,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbdivision->Create(WISP_STR(\"/\"),&rc,this,BUTTON_DIVESIONSIGN,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbor->Create(WISP_STR(\"Or\"),&rc,this,BUTTON_OR,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\n#define HIGH_4 145\t\n\trc.x = 62+153-35,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbfactorial->Create(WISP_STR(\"x!\"),&rc,this,BUTTON_FACTORIAL,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb1->Create(WISP_STR(\"1\"),&rc,this,BUTTON_1,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb2->Create(WISP_STR(\"2\"),&rc,this,BUTTON_2,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb3->Create(WISP_STR(\"3\"),&rc,this,BUTTON_3,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbplus->Create(WISP_STR(\"+\"),&rc,this,BUTTON_ADDSIGN,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbminus->Create(WISP_STR(\"-\"),&rc,this,BUTTON_SUBSIGN,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbshift->Create(WISP_STR(\"Lsh\"),&rc,this,BUTTON_LSH,WISP_BS_NORMAL,WISP_SH_NORMAL);\n//13504330378//13180887271\n#define HIGH_5 173\n\t\n\trc.x = 62+153-35,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbsquare->Create(WISP_STR(\"x^2\"),&rc,this,BUTTON_SQUARE,WISP_BS_NORMAL,WISP_SH_NORMAL);\t\t\t\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpb0->Create(WISP_STR(\"0\"),&rc,this,BUTTON_0,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbequal->Create(WISP_STR(\"=\"),&rc,this,BUTTON_EQUALSIGN,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbnegate->Create(WISP_STR(\"Not\"),&rc,this,BUTTON_CMP,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbmod->Create(WISP_STR(\"Mod\"),&rc,this,BUTTON_MOD,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbRsh->Create(WISP_STR(\"Rsh\"),&rc,this,BUTTON_RSH,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbXor->Create(WISP_STR(\"Cos\"),&rc,this,BUTTON_COS,WISP_BS_NORMAL,WISP_SH_NORMAL);\t\t\n#define HIGH_6 (201)\n\trc.x = 62+153-35,rc.y+=(NormalHeight+ydelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbpower->Create(WISP_STR(\"x^y\"),&rc,this,BUTTON_POWER,WISP_BS_NORMAL,WISP_SH_NORMAL);\t\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbA->Create(WISP_STR(\"A\"),&rc,this,BUTTON_A,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbB->Create(WISP_STR(\"B\"),&rc,this,BUTTON_B,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbC->Create(WISP_STR(\"C\"),&rc,this,BUTTON_C,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbD->Create(WISP_STR(\"D\"),&rc,this,BUTTON_D,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbE->Create(WISP_STR(\"E\"),&rc,this,BUTTON_E,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\trc.x += (NormalWidth+xdelt),rc.cx=NormalWidth,rc.cy=NormalHeight;\n\tpbF->Create(WISP_STR(\"F\"),&rc,this,BUTTON_F,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\n\treadSettings();\n\tset_precision();\n\tset_style();\n\tBase_Selected(0);\n\tInitializeCalculator();\n\tLoadTitleDIB(\"\\\\WispApp\\\\Calc\\\\Calc.bmp\");\n\tm_pTitleDIB->SetType(WISP_DIB_TK);\n\tm_pTitleDIB->SetColorKey(0);\n\treturn true;\n}\n\nbool CWispCalcWnd::OnCommand(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CtrlType==WISP_CTRL_RADIO_BOX)\n\t{\n\t\tswitch(pMsg->Command.CmdID)\n\t\t{\n\t\tcase CHECKBOX_HEX:\n\t\t\tHex_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_DEC:\n\t\t\tDec_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_OCT:\n\t\t\tOct_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_BIN:\n\t\t\tBin_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_8BYTE:\n\t\t\tQword_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_4BYTE:\n\t\t\tDword_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_2BYTE:\n\t\t\tWord_Selected();\n\t\t\tbreak;\n\t\tcase CHECKBOX_1BYTE:\n\t\t\tByte_Selected();\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(pMsg->Command.CtrlType==WISP_CTRL_BUTTON)\n\t{\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_UP)\n\t\tswitch(pMsg->Command.CmdID) {\n\t\t\tcase BUTTON_CONFIG:\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_HELP:\n\t\t\t\tbreak;\n\t\t\tcase EDIT_DISPLAY:\n\t\t\t\tbreak;\t\t\t\n\t\t\tcase BUTTON_HYP:\t\n\t\t\t\tpbhyptoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_INV:\n\t\t\t\tpbinvtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_A:\n\t\t\t\tpbAtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_EE:\t\n\t\t\t\tEEtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_MR:\n\t\t\t\tpbMRtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_MOTHER:\n\t\t\t\tpbMplusminustoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_MC:\n\t\t\t\tpbMCtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_AFUNCTION:\t\t\n\t\t\t\tpbCleartoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_AC:\n\t\t\t\tpbACtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_RSH:\n\t\t\t\tpbRshtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_PLUSMINUS:\n\t\t\t\tpbplusminustoggled(true);\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_B:\n\t\t\t\tpbBtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_7:\n\t\t\t\tpb7toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_8:\n\t\t\t\tpb8toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_9:\n\t\t\t\tpb9toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_LBRACKET:\n\t\t\t\tpbparenopentoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_RBRACKET:\n\t\t\t\tpbparenclosetoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_AND:\n\t\t\t\tpbandtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_COS:\n\t\t\t\tpbXortoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_RECIPROCAL:\n\t\t\t\tpbrecitoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_C:\n\t\t\t\tpbCtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_4:\n\t\t\t\tpb4toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_5:\n\t\t\t\tpb5toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_6:\n\t\t\t\tpb6toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_MULTIPLYSIGN:\n\t\t\t\tpbXtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_DIVESIONSIGN:\n\t\t\t\tpbdivisiontoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_OR:\n\t\t\t\tpbortoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_TAN:\n\t\t\t\tpbTantoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_FACTORIAL:\n\t\t\t\tpbfactorialtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_D:\n\t\t\t\tpbDtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_1:\n\t\t\t\tpb1toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_2:\n\t\t\t\tpb2toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_3:\n\t\t\t\tpb3toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_ADDSIGN:\n\t\t\t\tpbplustoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_SUBSIGN:\n\t\t\t\tpbminustoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_LSH:\n\t\t\t\tpbshifttoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_LOG:\n\t\t\t\tpblogtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_SQUARE:\n\t\t\t\tpbsquaretoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_E:\n\t\t\t\tpbEtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_DECIMAL:\n\t\t\t\tpbperiodtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_0:\n\t\t\t\tpb0toggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_EQUALSIGN:\n\t\t\t\tpbequaltoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_PERCENTSIGN:\n\t\t\t\tpbpercenttoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_CMP:\n\t\t\t\tpbnegatetoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_MOD:\n\t\t\t\tpbmodtoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_LN:\n\t\t\t\tpblntoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_POWER:\n\t\t\t\tpbpowertoggled(true);\n\t\t\t\tbreak;\n\t\t\tcase BUTTON_F:\n\t\t\t\tpbFtoggled(true);\n\t\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispCalcWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n#define STAT_Y_VALUE 156\n\tWISP_RECT rc;\n\tWISP_CHAR DisplayOut[100];\n\tCWispWnd::OnUpdateClient(pMsg);\n\trc.x = 5, rc.y=31,rc.cx=64,rc.cy=117;\n\tm_ClientDC.DrawRect(&rc,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_RED]);\n\trc.x = 85,rc.y=31,rc.cx=66,rc.cy=117;\n\tm_ClientDC.DrawRect(&rc,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_RED]);\n\trc.x = 5,rc.y=STAT_Y_VALUE,rc.cx=49,rc.cy=17;\n\tm_ClientDC.DrawFrameRect(&rc,false);\t\n\tm_ClientDC.DrawString(WISP_STR(\"NORM\"),&rc,WISP_DT_VCENTER|WISP_DT_CENTER);\t\n\trc.x = 58,rc.y=STAT_Y_VALUE,rc.cx=49,rc.cy=17;\n\tm_ClientDC.DrawFrameRect(&rc,false);\n\tm_ClientDC.DrawString(WISP_STR(\"\"),&rc,WISP_DT_VCENTER|WISP_DT_CENTER);\n\trc.x = 111,rc.y=STAT_Y_VALUE,rc.cx=218+156,rc.cy=17;\n\tm_ClientDC.DrawFrameRect(&rc,false);\n\n\trc.x = 5, rc.y=4,rc.cx=329+150,rc.cy=22;\t\n\tm_ClientDC.DrawFullRect(&rc,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_WHITE]);\n\tm_ClientDC.DrawRect(&rc,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BLACK]);\n\trc.cx-=4;\n\tTStrToStr(display_str,DisplayOut);\n\tm_ClientDC.DrawString(DisplayOut,&rc,WISP_DT_VCENTER|WISP_DT_RIGHT);\n\treturn false;\n}\n//-------------------------------------------------------------------------\n// Name: Base_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Base_Selected(int base)\n{\t\n\tpbA->EnableWindow(base==0);\n\tpbB->EnableWindow(base==0);\n\tpbC->EnableWindow(base==0);\n\tpbD->EnableWindow(base==0);\n\tpbE->EnableWindow(base==0);\n\tpbF->EnableWindow(base==0);\n\tpb9->EnableWindow(base<=1);\n\tpb8->EnableWindow(base<=1);\n\tpb7->EnableWindow(base <= 2);\n\tpb6->EnableWindow(base <= 2);\n\tpb5->EnableWindow(base <= 2);\n\tpb4->EnableWindow(base <= 2);\n\tpb3->EnableWindow(base <= 2);\n\tpb2->EnableWindow(base <= 2);\t\n\tbase_selected(base);\n}\n\n//-------------------------------------------------------------------------\n// Name: Hex_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Hex_Selected()\n{\n\tbasebutton[0]->Check(true);\n\tbasebutton[1]->Check(false);\n\tbasebutton[2]->Check(false);\n\tbasebutton[3]->Check(false);\n\tBase_Selected(0);\n}\n\n//-------------------------------------------------------------------------\n// Name: Dec_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Dec_Selected()\n{\n\tbasebutton[0]->Check(false);\n\tbasebutton[1]->Check(true);\n\tbasebutton[2]->Check(false);\n\tbasebutton[3]->Check(false);\n\tBase_Selected(1);\n}\n\n//-------------------------------------------------------------------------\n// Name: Oct_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Oct_Selected()\n{\n\tbasebutton[0]->Check(false);\n\tbasebutton[1]->Check(false);\n\tbasebutton[2]->Check(true);\n\tbasebutton[3]->Check(false);\n\tBase_Selected(2);\n}\n\n//-------------------------------------------------------------------------\n// Name: Bin_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Bin_Selected()\n{\n\tbasebutton[0]->Check(false);\n\tbasebutton[1]->Check(false);\n\tbasebutton[2]->Check(false);\n\tbasebutton[3]->Check(true);\n\tBase_Selected(3);\n}\n\n//-------------------------------------------------------------------------\n// Name: Deg_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Qword_Selected()\n{\n\tanglebutton[0]->Check(true);\n\tanglebutton[1]->Check(false);\n\tanglebutton[2]->Check(false);\n\tanglebutton[3]->Check(false);\n\tangle_selected(0);\n}\n\n//-------------------------------------------------------------------------\n// Name: Rad_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Dword_Selected()\n{\n\tanglebutton[0]->Check(false);\n\tanglebutton[1]->Check(true);\n\tanglebutton[2]->Check(false);\n\tanglebutton[3]->Check(false);\n\tangle_selected(1);\n}\n\n//-------------------------------------------------------------------------\n// Name: Gra_Selected()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Word_Selected()\n{\n\tanglebutton[0]->Check(false);\n\tanglebutton[1]->Check(false);\n\tanglebutton[2]->Check(true);\n\tanglebutton[3]->Check(false);\n\tangle_selected(2);\n}\n\nvoid CWispCalcWnd::Byte_Selected()\n{\n\tanglebutton[0]->Check(false);\n\tanglebutton[1]->Check(false);\t\n\tanglebutton[2]->Check(false);\n\tanglebutton[3]->Check(true);\n\tangle_selected(3);\n}\n\n//-------------------------------------------------------------------------\n// Name: keyPressEvent(QKeyEvent *e)\n//-------------------------------------------------------------------------\nbool CWispCalcWnd::OnKeyDown(IN WISP_MSG *pMsg)\n{\n\tswitch (pMsg->KeyEvent.KeyType)\n\t{\n\tcase WISP_VK_F1:\t\t\n\t\tbreak;\n\tcase WISP_VK_F2:\t\t\n\t\tbreak;\n\tcase WISP_VK_F3:\n\t\tif(kcalcdefaults.style == 0)\n\t\t\tkcalcdefaults.style = 1;\n\t\telse\n\t\t\tkcalcdefaults.style = 0;\n\t\tset_style();\n\t\tbreak;\n\tcase WISP_VK_UP:\n\t\thistory_prev();\n\t\tbreak;\n\tcase WISP_VK_DOWN:\n\t\thistory_next();\n\t\tbreak;\n\tcase WISP_VK_PAGE_DOWN:\n\t\tkey_pressed = true;\n\t\tpbACtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_PAGE_UP:\n\t\tkey_pressed = true;\n\t\tpbCleartoggled(true);\n\t\tbreak;\n\tcase WISP_VK_H:\n\t\tkey_pressed = true;\n\t\tpbhyptoggled(true);\n\t\tbreak;\n\tcase WISP_VK_I:\n\t\tkey_pressed = true;\n\t\tpbinvtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_A:\n\t\tkey_pressed = true;\n\t\tpbAtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_E:\n\t\tkey_pressed = true;\n\t\tif (current_base == NB_HEX)\n\t\t\tpbEtoggled(true);\n\t\telse\n\t\t\tEEtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_ESCAPE:\n\t\tkey_pressed = true;\n\t\tpbCleartoggled(true);\n\t\tbreak;\n\tcase WISP_VK_DELETE:\n\t\tkey_pressed = true;\n\t\tpbACtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_S:\n\t\tkey_pressed = true;\n\t\tpbRshtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_OEM_5:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbortoggled(true);\n\t\telse\t\t\t\n\t\t\tpbplusminustoggled(true);\n\t\tbreak;\n\tcase WISP_VK_B:\n\t\tkey_pressed = true;\n\t\tpbBtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_7:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbandtoggled(true);\n\t\telse\n\t\t\tpb7toggled(true);\n\t\tbreak;\n\tcase WISP_VK_8:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbXtoggled(true);\n\t\telse\n\t\t\tpb8toggled(true);\n\t\tbreak;\n\tcase WISP_VK_9:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbparenopentoggled(true);\n\t\telse\n\t\t\tpb9toggled(true);\n\t\tbreak;\n\t\t\t\t\t\t\t\t\n\tcase WISP_VK_C:\n\t\tkey_pressed = true;\n\t\tif (current_base == NB_HEX)\n\t\t\tpbCtoggled(true);\n\t\telse\n\t\t\tpbXortoggled(true);\n\t\tbreak;\n\tcase WISP_VK_4:\n\t\tkey_pressed = true;\n\t\tpb4toggled(true);\n\t\tbreak;\n\tcase WISP_VK_5:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbpercenttoggled(true);\n\t\telse\n\t\t\tpb5toggled(true);\n\t\tbreak;\n\tcase WISP_VK_6:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbpowertoggled(true);\n\t\telse\n\t\t\tpb6toggled(true);\n\t\tbreak;\n\tcase WISP_VK_X:\t\t\n\t\tkey_pressed = true;\n\t\tpbXtoggled(true);\n\t\tbreak;\t\t\n\tcase WISP_VK_DIVIDE:\n\t\tkey_pressed = true;\n\t\tpbdivisiontoggled(true);\n\t\tbreak;\n\tcase WISP_VK_O:\n\t\tkey_pressed = true;\n\t\tpbortoggled(true);\n\t\tbreak;\n\tcase WISP_VK_T:\n\t\tkey_pressed = true;\n\t\tpbTantoggled(true);\n\t\tbreak;\t\t\n\tcase WISP_VK_D:\n\t\tkey_pressed = true;\n\t\t//if(kcalcdefaults.style == 0)\n\t\t\t\tpbDtoggled(true);\n\t\t//else\n\t\t\t//\tpblog->setOn(true); // stat mode\n\t\tbreak;\n\tcase WISP_VK_1:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbfactorialtoggled(true);\n\t\telse\n\t\t\tpb1toggled(true);\n\t\tbreak;\n\tcase WISP_VK_2:\n\t\tkey_pressed = true;\n\t\tpb2toggled(true);\n\t\tbreak;\n\tcase WISP_VK_3:\n\t\tkey_pressed = true;\n\t\tpb3toggled(true);\n\t\tbreak;\n\tcase WISP_VK_OEM_PLUS:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbplustoggled(true);\n\t\telse\n\t\t\tpbequaltoggled(true);\n\t\tbreak;\n\tcase WISP_VK_OEM_MINUS:\n\t\tkey_pressed = true;\n\t\t\tpbminustoggled(true);\t\t\t\t\t\n\t\tbreak;\n\tcase WISP_VK_N:\n\t\tkey_pressed = true;\n\t\tpblntoggled(true);\n\t\tbreak;\n\tcase WISP_VK_L:\n\t\tkey_pressed = true;\n\t\tpblogtoggled(true);\n\t\tbreak;\t\t\n\tcase WISP_VK_F:\n\t\tkey_pressed = true;\n\t\tpbFtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_OEM_PERIOD:\n\t\tkey_pressed = true;\n\t\tpbperiodtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_OEM_COMMA:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbshifttoggled(true);\n\t\telse\t\t\t\n\t\t\tpbperiodtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_0:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbparenclosetoggled(true);\n\t\telse\n\t\t\tpb0toggled(true);;\t\t\n\t\tbreak;\t\t\n\tcase WISP_VK_RETURN:\n\t\tkey_pressed = true;\n\t\tpbequaltoggled(true);\n\t\tbreak;\t\t\t\t\n\t\t\n\tcase WISP_VK_OEM_3:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbnegatetoggled(true);\n\t\tbreak;\n\tcase WISP_VK_SEMI:\n\t\tkey_pressed = true;\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\tpbmodtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_LSQUARE_BRACKET:\t\t\n\t\tkey_pressed = true;\n\t\tpbsquaretoggled(true);\n\t\tbreak;\n\tcase WISP_VK_BACK:\n\t\tSubtractDigit();\n\t\tkey_pressed = true;\n\t\tpbACtoggled(true);\n\t\tbreak;\n\tcase WISP_VK_R:\n\t\tkey_pressed = true;\n\t\tpbrecitoggled(true);\n\t\tbreak;\n\t}\n\treturn true;\n}\n\n//-------------------------------------------------------------------------\n// Name: keyReleaseEvent(QKeyEvent *e)\n//-------------------------------------------------------------------------\nbool CWispCalcWnd::OnKeyUp(IN WISP_MSG *pMsg)\n{\n\tbool oldKey = key_pressed;\n\tkey_pressed = false;\n\n\tswitch (pMsg->KeyEvent.KeyType)\n\t{\n\t\t//\tcase Key_Next:\n\t\t//pbAC->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Prior:\n\t\t//pbClear->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_H:\n\t\t//pbhyp->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_I:\n\t\t//pbinv->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_A:\n\t\t//pbA->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_E:\n\t\tif (current_base == NB_HEX)\n\t\t\t;//\tpbE->setOn(false);\n\t\telse\n\t\t\t;//\tpbEE->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_ESCAPE:\n\t\t//pbClear->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_DELETE:\n\t\t//pbAC->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_S:\n\t\t//pbSin->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Backslash:\n\t\t//pbplusminus->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_B:\n\t\t//pbB->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_7:\n\t\t//pb7->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_8:\n\t\t//pb8->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_9:\n\t\t//pb9->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_ParenLeft:\n\t\t//pbparenopen->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_ParenRight:\n\t\t//pbparenclose->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Ampersand:\n\t\t//pband->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_C:\n\t\tif (current_base == NB_HEX)\n\t\t\t;//\tpbC->setOn(false);\n\t\telse\n\t\t\t;//\tpbCos->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_4:\n\t\t//pb4->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_5:\n\t\t//pb5->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_6:\n\t\t//pb6->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Asterisk:\n\t\t//pbX->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Slash:\n\t\t//pbdivision->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_O:\n\t\t//pbor->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_T:\n\t\t//pbTan->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Exclam:\n\t\t//pbfactorial->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_D:\n\t\tif(kcalcdefaults.style == 0)\n\t\t\t;//\tpbD->setOn(false);\t\t// trig mode\n\t\telse\n\t\t\t;//\tpblog->setOn(false);\t// stat mode\n\t\tbreak;\n\tcase WISP_VK_1:\n\t\t//pb1->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_2:\n\t\t//pb2->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_3:\n\t\t//pb3->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_ADD:\n\t\t///pbplus->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_SUBTRACT:\n\t\t//pbminus->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Less:\n\t\t//pbshift->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_N:\n\t\t//pbln->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_L:\n\t\tkey_pressed = false;\n\t\t//pblog->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_AsciiCircum:\n\t\t//pbpower->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_F:\n\t\t//pbF->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_OEM_PERIOD:\n\t\t//pbperiod->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_OEM_COMMA:\n\t\t//pbperiod->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_0:\n\t\t//pb0->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Equal:\n\t\t//pbequal->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Return:\n\t\t//pbequal->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Enter:\n\t\t//pbequal->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Percent:\n\t\tkey_pressed = false;\n\t\t//pbpercent->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_AsciiTilde:\n\t\t//pbnegate->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Colon:\n\t\t//pbmod->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_BracketLeft:\n\t\t//pbsquare->setOn(false);\n\t\tbreak;\n\t\t//\tcase Key_Backspace:\n\t\t//pbAC->setOn(false);\n\t\tbreak;\n\tcase WISP_VK_R:\n\t\t//pbreci->setOn(false);\n\t\tbreak;\n\tdefault:\n\t\tkey_pressed = oldKey;\n\t}\n\n\tclear_buttons();\n\treturn true;\n}\n\n//-------------------------------------------------------------------------\n// Name: clear_buttons()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::clear_buttons()\n{\n\t//TODO: does this do anything?\n}\n\n//-------------------------------------------------------------------------\n// Name: EEtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EEtoggled(bool myboolean)\n{\n\tif(!display_error)\n\t{\n\t\tif(myboolean)\n\t\t\tEE();\t\t\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: pbinvtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbinvtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tSetInverse();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbhyptoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbhyptoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterHyp();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbMRtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbMRtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMR();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbAtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbAtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbuttonA();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbSintoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbRshtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tRshift();\n\t\t//ExecSin();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbplusminustoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbplusminustoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterNegate();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbMplusminustoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbMplusminustoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMplusminus();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbBtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbBtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbuttonB();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbCostoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbXortoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tXor();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbrecitoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbrecitoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterRecip();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbCtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbCtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbuttonC();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbTantoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbTantoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tExecTan();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbfactorialtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbfactorialtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterFactorial();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbDtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbDtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbuttonD();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pblogtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pblogtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterLogr();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbsquaretoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbsquaretoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterSquare();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbEtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbEtoggled(bool myboolean)\n{\n\tif(!display_error)\n\t{\n\t\tif(myboolean)\n\t\t\tbuttonE();\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: pblntoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pblntoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterLogn();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbpowertoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbpowertoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tPower();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbFtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbFtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbuttonF();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbMCtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbMCtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMC();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbCleartoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbCleartoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tClear();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbACtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbACtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tClearAll();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pb7toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb7toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton7();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pb8toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb8toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton8();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pb9toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb9toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton9();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbparenopentoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbparenopentoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterOpenParen();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbparenclosetoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbparenclosetoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterCloseParen();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pbandtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbandtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tAnd();\t\n}\n\n//-------------------------------------------------------------------------\n// Name: pb4toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb4toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton4();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb5toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb5toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton5();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb6toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb6toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton6();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbXtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbXtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMultiply();\n}\n\n//-------------------------------------------------------------------------\n// Name:\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbdivisiontoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tDivide();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbortoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbortoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tOr();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb1toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb1toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton1();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb2toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb2toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton2();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb3toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb3toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton3();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbplustoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbplustoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tPlus();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbminustoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbminustoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMinus();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbshifttoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbshifttoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tShift();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbperiodtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbperiodtoggled(bool myboolean)\n{\n\t//if(myboolean)\n\t//\tEnterDecimal();\n}\n\n//-------------------------------------------------------------------------\n// Name: pb0toggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pb0toggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tbutton0();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbequaltoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbequaltoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterEqual();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbpercenttoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbpercenttoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterPercent();\n}\n\n//-------------------------------------------------------------------------\n// Name: pbnegatetoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbnegatetoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tEnterNotCmp();\n\n}\n\n//-------------------------------------------------------------------------\n// Name: pbmodtoggled(bool myboolean)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::pbmodtoggled(bool myboolean)\n{\n\tif(myboolean)\n\t\tMod();\n\n}\n\n//-------------------------------------------------------------------------\n// Name: set_style()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::set_style()\n{\n\tswitch(kcalcdefaults.style)\n\t{\n\tcase  0:\n//\t\tpbhyp->SetWindowText(WSTR(\"Hyp\"));\n\t\tpbRsh->SetWindowText(WSTR(\"Rsh\"));\n\t\tpbXor->SetWindowText(WSTR(\"Xor\"));\n//\t\tpbTan->SetWindowText(WSTR(\"Tan\"));\t\t\n//\t\tpblog->SetWindowText(WSTR(\"Log\"));\t\t\n//\t\tpbln ->SetWindowText(WSTR(\"Ln\"));\t\t\n\t\tbreak;\n\n\tcase 1:\n//\t\tpbhyp->SetWindowText(WSTR(\"N\"));\n\t\tpbRsh->SetWindowText(WSTR(\"Mea\"));\n\t\tpbXor->SetWindowText(WSTR(\"Xor\"));\t\t\n//\t\tpbTan->SetWindowText(WSTR(\"Med\"));\t\t\n//\t\tpblog->SetWindowText(WSTR(\"Dat\"));\t\t\n//\t\tpbln ->SetWindowText(WSTR(\"CSt\"));\t\t\t\t\n\t\tbreak;\n\n\tdefault:\n\t\tbreak;\n\t}\n\n\t//angle_group->setEnabled(kcalcdefaults.style == 0);\n}\n\n//-------------------------------------------------------------------------\n// Name: readSettings()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::readSettings()\n{\n\n#ifdef HAVE_LONG_DOUBLE\n\tkcalcdefaults.precision\t= 14;\n#else\n\tkcalcdefaults.precision\t= 10;\n#endif\n\n\tkcalcdefaults.fixedprecision =2;\t\t\n\tkcalcdefaults.fixed = false;\t\n\tkcalcdefaults.style\t= 0;\n\tkcalcdefaults.beep\t= true;\n}\n\n//-------------------------------------------------------------------------\n// Name: writeSettings()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::writeSettings()\n{\t\n}\n\n\n//-------------------------------------------------------------------------\n// Name: set_precision()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::set_precision()\n{\n\t// TODO: make this do somthing!!\n\tUpdateDisplay();\n}\n\n\n//-------------------------------------------------------------------------\n// Name: history_next()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::history_next()\n{\n\tif(history_list.Count()<=0 || (history_index <= 0))\n\t{\n\t\treturn;\n\t}\n\tlast_input = RECALL;\n\tDISPLAY_AMOUNT = *history_list[--history_index];\n\tUpdateDisplay();\n}\n\n//-------------------------------------------------------------------------\n// Name: history_prev()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::history_prev()\n{\n\tif(history_list.Count() <=0 || history_index >= history_list.Count() - 1)\n\t{\n\t\treturn;\n\t}\n\n\tlast_input = RECALL;\n\tDISPLAY_AMOUNT = *history_list[++history_index];\n\tUpdateDisplay();\n}\n\n\n//-------------------------------------------------------------------------\n// Name: button0()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button0()\n{\n\tEnterDigit(0x0);\n}\n\n//-------------------------------------------------------------------------\n// Name: button1()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button1()\n{\n\tEnterDigit(0x1);\n}\n\n//-------------------------------------------------------------------------\n// Name: button2()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button2()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x2);\n}\n\n//-------------------------------------------------------------------------\n// Name: button3()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button3()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x3);\n}\n\n//-------------------------------------------------------------------------\n// Name: button4()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button4()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x4);\n}\n\n//-------------------------------------------------------------------------\n// Name: button5()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button5()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x5);\n}\n\n//-------------------------------------------------------------------------\n// Name: button6()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button6()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x6);\n}\n\n//-------------------------------------------------------------------------\n// Name: button7()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button7()\n{\n\tif (current_base != NB_BINARY)\n\t\tEnterDigit(0x7);\n}\n\n//-------------------------------------------------------------------------\n// Name: button8()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button8()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL))\n\t\tEnterDigit(0x8);\n}\n\n//-------------------------------------------------------------------------\n// Name: button9()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::button9()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL))\n\t\tEnterDigit(0x9);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonA()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonA()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xA);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonB()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonB()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xB);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonC()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonC()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xC);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonD()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonD()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xD);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonE()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonE()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xE);\n}\n\n//-------------------------------------------------------------------------\n// Name: buttonF()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::buttonF()\n{\n\tif ((current_base != NB_BINARY) && (current_base != NB_OCTAL) &&\n\t\t(current_base != NB_DECIMAL))\n\t\tEnterDigit(0xF);\n}\n\n//-------------------------------------------------------------------------\n// Name: InitializeCalculator()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::InitializeCalculator()\n{\n\t//\n\t// Basic initialization involves initializing the calcultion\n\t// stack, forcing the display to refresh to zero, and setting\n\t// up the floating point excetion signal handler to trap the\n\t// errors that the code can/has not been written to trap.\n\t//\n\tdisplay_data.s_item_type = ITEM_AMOUNT;\n\tdisplay_data.s_item_data.item_amount = 0;\n\tdisplay_data.s_item_data.item_func_data.item_function = 0;\n\tdisplay_data.s_item_data.item_func_data.item_precedence = 0;\n\tRefreshCalculator();\n\n}\n\n\n//-------------------------------------------------------------------------\n// Name: (int fpe_parm)\n//-------------------------------------------------------------------------\n\n\n\n//-------------------------------------------------------------------------\n// Name: RefreshCalculator()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::RefreshCalculator()\n{\n\tInitStack();\n\tdisplay_error = false;\n\tDISPLAY_AMOUNT = 0L;\n\tinverse = false;\n\tdecimal_point = 0;\n\tinput_count = 0;\n\tUpdateDisplay();\n\tlast_input = DIGIT; // must set last to DIGIT after Update Display in order\n\t// not to get a display holding e.g. 0.000\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterDigit(int data)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterDigit(int data)\n{\t\n\n\tlast_input = DIGIT;\n\n\tif (refresh_display) {\n\t\tDISPLAY_AMOUNT = 0L;\n\t\tdecimal_point = 0;\n\t\trefresh_display = false;\n\t\tinput_count = 0;\n\t}\n\n\tif (!(input_limit && input_count >= input_limit)) {\n\t\tif (DISPLAY_AMOUNT < 0) {\n\t\t\tDISPLAY_AMOUNT =(current_base * DISPLAY_AMOUNT) - data;\n\t\t} else {\n\t\t\tDISPLAY_AMOUNT =(current_base * DISPLAY_AMOUNT) + data;\n\t\t}\n\t}\n\n\tif (decimal_point) {\n\t\tinput_count ++;\n\t}\n\n\tUpdateDisplay();\n}\n//-------------------------------------------------------------------------\n// Name: SubtractDigit()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::SubtractDigit()\n{\n\t// This function could be better, possibly, but am I glad to see it!\n\t\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterDecimal()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterDecimal()\n{\n\t// exit if we aren't in decimla mode\n\tif (current_base != NB_DECIMAL)\n\t\treturn;\n\t\n\tif (refresh_display)\n\t{\n\t\tDISPLAY_AMOUNT = 0L;\n\t\trefresh_display = false;\n\t\tinput_count = 0;\n\t}\n\n\tif(last_input == DIGIT)\n\t{\n\t\tif (decimal_point==0)  //strpbrk() doesn't work in fixed precision mode\n\t\t{\n\t\t\t// if the last input was a DIGIT and we don't\n\t\t\t// have already a period in our\n\t\t\t// display string then display a period\n\t\t\tif (strlen(display_str) >= DSP_SIZE)\n\t\t\t\treturn;\n\n\t\t\tif (!kcalcdefaults.fixed)\n\t\t\t\tstrcat(display_str, \".\");\n\t\t\tdecimal_point = 1;\n\t\t}\n\t}\n\telse\n\t{\n\t\t// the last input wasn't a DIGIT so we are about to\n\t\t// input a new number in particular we need to display a \"0.\".\n\n\t\tif (decimal_point==0)  //strpbrk() doesn't work in fixed precision mode\n\t\t{\n\n\t\t\tDISPLAY_AMOUNT = 0L;\n\t\t\trefresh_display = false;\n\t\t\tdecimal_point = 1;\n\n\t\t\tif (!kcalcdefaults.fixed)\n\t\t\t\tstrcpy(display_str, \"0.\");\t\t\t\n\t\t}\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: Or()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Or()\n{\t\n\t\n\tEnterStackFunction(1);   // OR\n\tlast_input = OPERATION;\n}\nvoid CWispCalcWnd::Xor()\n{\n\tEnterStackFunction(2);   // XOR\n\tlast_input = OPERATION;\n}\n\n//-------------------------------------------------------------------------\n// Name: And()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::And()\n{\t\n\tlast_input = OPERATION;\n\tEnterStackFunction(3);\n}\n\n\n//-------------------------------------------------------------------------\n// Name: Shift()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Shift()\n{\t\n\tlast_input = OPERATION;\n\tif (inverse)\n\t{\n\t\tEnterStackFunction(5);   // Rsh\n\t\tinverse = false;\n\t}\n\telse\n\t\tEnterStackFunction(4);   // Lsh\n}\nvoid CWispCalcWnd::Lshift()\n{\n\tlast_input = OPERATION;\n\tEnterStackFunction(4);   // Lsh\n}\nvoid CWispCalcWnd::Rshift()\n{\n\tlast_input = OPERATION;\n\tEnterStackFunction(5);   // Rsh\n}\n//-------------------------------------------------------------------------\n// Name: Plus()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Plus()\n{\t\n\tlast_input = OPERATION;\n\tEnterStackFunction(6);\n}\n\n//-------------------------------------------------------------------------\n// Name: Minus()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Minus()\n{\t\n\tlast_input = OPERATION;\n\tEnterStackFunction(7);\n}\n\n//-------------------------------------------------------------------------\n// Name: Multiply()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Multiply()\n{\t\n\tlast_input = OPERATION;\n\tEnterStackFunction(8);\n}\n\n//-------------------------------------------------------------------------\n// Name: Divide()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Divide()\n{\t\n\tlast_input = OPERATION;\n\tEnterStackFunction(9);\n}\n\n//-------------------------------------------------------------------------\n// Name: Mod()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Mod()\n{\t\n\tlast_input = OPERATION;\n\tif (inverse)\n\t{\n\t\tEnterStackFunction(13);   // InvMod\n\t\tinverse = false;\n\t}\n\telse\n\t{\n\t\tEnterStackFunction(10);   // Mod\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: Power()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Power()\n{\t\n\tlast_input = OPERATION;\n\tif (inverse)\n\t{\n\t\tEnterStackFunction(12);   // InvPower\n\t\tinverse = false;\n\t}\n\telse\n\t{\n\t\tEnterStackFunction(11);   // Power\n\t}\n}\n\n\n//-------------------------------------------------------------------------\n// Name: EnterStackFunction(int data)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterStackFunction(int data)\n{\n\titem_contents \tnew_item;\n\tint new_precedence;\n\tint dummy = 0;\n\n\n\n\tdata = adjust_op[data][dummy];\n\n\tPushStack(&display_data);\n\n\tnew_item.s_item_type = ITEM_FUNCTION;\n\tnew_item.s_item_data.item_func_data.item_function = data;\n\tnew_item.s_item_data.item_func_data.item_precedence =\n\tnew_precedence = precedence[data] + precedence_base;\n\n\trefresh_display = true;\n\tif (UpdateStack(new_precedence)) {\n\t\tUpdateDisplay();\n\t}\n\n\tPushStack(&new_item);\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterNegate()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterNegate()\n{\n\t\n\t{\t\t\n\t\tif (DISPLAY_AMOUNT != 0)\n\t\t{\n\t\t\tDISPLAY_AMOUNT *= -1;\n\t\t\tUpdateDisplay();\n\t\t}\n\t}\n\n\tlast_input = DIGIT;\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterOpenParen()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterOpenParen()\n{\n\t\n\tlast_input = OPERATION;\n\tprecedence_base += PRECEDENCE_INCR;\n\trefresh_display = true;\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterCloseParen()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterCloseParen()\n{\n\t\n\tlast_input = OPERATION;\n\tPushStack(&display_data);\n\trefresh_display = true;\n\n\tif (UpdateStack(precedence_base))\n\t\tUpdateDisplay();\n\n\tif ((precedence_base -= PRECEDENCE_INCR) < 0)\n\t\tprecedence_base = 0;\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterRecip()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterRecip()\n{\n\t/*\n\tlast_input = OPERATION;\n\tDISPLAY_AMOUNT = 1 / DISPLAY_AMOUNT;\n\trefresh_display = true;\n\tUpdateDisplay();\n\t*/\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterInt()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterInt()\n{\n\t\n\tCALCAMNT work_amount1 = 0;\n\tCALCAMNT work_amount2 = 0;\n\n\tlast_input = OPERATION;\n\n\tif (!inverse)\n\t{\n\t\twork_amount2 = 0;//MODF(DISPLAY_AMOUNT, &work_amount1);\n\t\tDISPLAY_AMOUNT = work_amount2 ;\n\t}\n\telse\n\t{\n\t\tDISPLAY_AMOUNT = work_amount1;\n\t\tinverse = false;\n\t}\n\n\trefresh_display = true;\n\tUpdateDisplay();\n\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterFactorial()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterFactorial()\n{\n\t\n\tCALCAMNT work_amount1;\n\tCALCAMNT work_amount2;\n\tint incr;\n\n\t//MODF(DISPLAY_AMOUNT, &work_amount1);\n\twork_amount1 = DISPLAY_AMOUNT;\n\tincr = work_amount1 < 0 ? -1 : 1;\n\n\twork_amount2 = work_amount1 - incr;\n\n\twhile (work_amount1 != 0 && work_amount2 != 0 && !display_error)\n\t{\n\t\twork_amount1 *= work_amount2;\n\t\twork_amount2 -= incr;\t\t\n\t}\n\n\tif(work_amount1 == 0)\n\t\twork_amount1 = 1;\n\n\tDISPLAY_AMOUNT = work_amount1;\n\trefresh_display = true;\n\tlast_input = OPERATION;\n\tUpdateDisplay();\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterSquare()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterSquare()\n{\n\t\n\t\n\tDISPLAY_AMOUNT *= DISPLAY_AMOUNT;\n\t\n\n\trefresh_display = true;\n\tinverse = false;\n\tlast_input = OPERATION;\n\tUpdateDisplay();\n\t\n\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterNotCmp()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterNotCmp()\n{\n\t\n\tCALCAMNT boh_work_d;\n\tKCALC_LONG boh_work;\n\n\t//MODF(DISPLAY_AMOUNT, &boh_work_d);\n\tboh_work_d = DISPLAY_AMOUNT;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t\tdisplay_error = true;\n\telse\n\t{\n\t\tboh_work = (KCALC_LONG)boh_work_d;\n\t\tDISPLAY_AMOUNT = ~boh_work;\n\t}\n\n\trefresh_display = true;\n\tlast_input = OPERATION;\n\tUpdateDisplay();\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterHyp()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterHyp()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecSin()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ExecSin()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeMean()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeMean()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeSin()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeSin()\n{\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecCos()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ExecCos()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeStd()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeStd()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeCos()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeCos()\n{\n\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeMedean()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeMedean()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: ComputeTan()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ComputeTan()\n{\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecTan()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ExecTan()\n{\n\t\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterPercent()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterPercent()\n{\n\t\n\tlast_input\t\t= OPERATION;\n\tpercent_mode\t= true;\n\tEnterEqual();\n\tpercent_mode\t= false;\n\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterLogr()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterLogr()\n{\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterLogn()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterLogn()\n{\t\n}\n\n//-------------------------------------------------------------------------\n// Name: base_selected(int number)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::base_selected(int number)\n{\n\tswitch(number)\n\t{\n\tcase 0:\n\t\tcurrent_base\t= NB_HEX;\n\t\tdisplay_size\t= HEX_SIZE;\n\t\tdecimal_point\t= 0;\n\t\tinput_limit\t\t= sizeof(KCALC_LONG)*2;\n\t\tbreak;\n\tcase 1:\n\t\tcurrent_base\t= NB_DECIMAL;\n\t\tdisplay_size\t= DEC_SIZE;\n\t\tinput_limit\t\t= 0;\n\t\tbreak;\n\tcase 2:\n\t\tcurrent_base\t= NB_OCTAL;\n\t\tdisplay_size\t= OCT_SIZE;\n\t\tdecimal_point\t= 0;\n\t\tinput_limit\t\t= 11;\n\t\tbreak;\n\tcase 3:\n\t\tcurrent_base\t= NB_BINARY;\n\t\tdisplay_size\t= BIN_SIZE;\n\t\tdecimal_point\t= 0;\n\t\tinput_limit\t\t= 32;\n\t\tbreak;\n\tdefault: // we shouldn't ever end up here\n\t\tcurrent_base\t= NB_DECIMAL;\n\t\tdisplay_size\t= DEC_SIZE;\n\t\tinput_limit\t\t= 0;\n\t}\n\n\tUpdateDisplay();\n}\n\n\n//-------------------------------------------------------------------------\n// Name: angle_selected(int number)\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::angle_selected(int number)\n{\n\tswitch(number)\n\t{\n\tcase 0:\n\t\tm_NumberBitWdith = ANG_DEGREE;\n\t\tbreak;\n\tcase 1:\n\t\tm_NumberBitWdith = ANG_RADIAN;\n\t\tbreak;\n\tcase 2:\n\t\tm_NumberBitWdith = ANG_GRADIENT;\n\t\tbreak;\n\tcase 3:\n\t\tm_NumberBitWdith=ANG_RADIAN;\n\tdefault: // we shouldn't ever end up here\n\t\tm_NumberBitWdith = ANG_RADIAN;\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: SetInverse()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::SetInverse()\n{\n\tinverse = ! inverse;\n}\n\n//-------------------------------------------------------------------------\n// Name: EE()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EE()\n{\n\n}\n\n//-------------------------------------------------------------------------\n// Name: MR()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::MR()\n{\n\t\n\tlast_input\t\t= OPERATION;\n\tDISPLAY_AMOUNT\t= memory_num;\n\trefresh_display\t= true;\n\n\tUpdateDisplay();\n\n}\n\n//-------------------------------------------------------------------------\n// Name: Mplusminus()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Mplusminus()\n{\n\t\n\tEnterEqual();\n\n\tif (!inverse)\tmemory_num += DISPLAY_AMOUNT;\n\telse \t\t\tmemory_num -= DISPLAY_AMOUNT;\n\n\tinverse = false;\n}\n\n//-------------------------------------------------------------------------\n// Name: MC()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::MC()\n{\n\tmemory_num\t\t= 0;\n\trefresh_display\t= true;\n}\n\n//-------------------------------------------------------------------------\n// Name: EnterEqual()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::EnterEqual()\n{\n\t\n\tlast_input\t= OPERATION;\n\n\tPushStack(&display_data);\n\n\trefresh_display = true;\n\n\t//if (UpdateStack(0))\n\tUpdateStack(0);\n\n\tUpdateDisplay();\n\tprecedence_base = 0;\n\n\t// add this latest value to our history\n\thistory_list.InsertBefore(history_list.Begin(), DISPLAY_AMOUNT);\n}\n\n//-------------------------------------------------------------------------\n// Name: Clear()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::Clear()\n{\n\n\t\n\tinput_count\t\t= 0;\n\tdecimal_point\t= 0;\n\n\n\tif (last_input == OPERATION)\n\t{\n\t\tPopStack();\n\t\tlast_input = DIGIT;\n\t}\n\n\tif(display_error)\n\t{\n\t\tdisplay_error\t= false;\n\t\trefresh_display\t= false;\n\t}\n\n\tif (!refresh_display)\n\t{\n\t\tDISPLAY_AMOUNT = 0L;\n\t\tUpdateDisplay();\n\t}\n\n\t//RefreshCalculator();\n}\n\n//-------------------------------------------------------------------------\n// Name: ClearAll()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::ClearAll()\n{\n\t\n\n\t// last_input = OPERATION;\n\tlast_input = DIGIT;\n\n\tRefreshCalculator();\n\trefresh_display = true;\n}\n\n\n//-------------------------------------------------------------------------\n// Name: UpdateDisplay()\n//-------------------------------------------------------------------------\nvoid CWispCalcWnd::UpdateDisplay()\n{;\n\t// this needs to be rewritten based on whether we are currently\n\t// inputting a number so that the period and the 0 after a period\n\t// are correctly displayed.\n\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work = 0;\n\tint\t\tstr_size = 0;\n\t\n\tif (current_base != NB_DECIMAL)\n\t{\n\t\t//MODF(DISPLAY_AMOUNT, &boh_work_d);\t\t\n\t\t//\n\t\tint mm=100;\n\t\tboh_work_d = DISPLAY_AMOUNT;\n\t\t//KCALC_LONG tmpminlong = KCALC_LONG_MIN;\n#ifdef CODE_OS_UNIX\n\t\tKCALC_LONG tmpminlong = (-9223372036854775807LL - 1);\n\t\tKCALC_LONG tmpmaxlong = 0xffffffffffffffffULL;\nif(boh_work_d<(-9223372036854775807LL - 1))\n\t\t\tmm-=100;\n\t\tif(boh_work_d>0xffffffffffffffffULL)\n\t\t\tmm+=100;\n\n#else\n\t\tKCALC_LONG tmpminlong = (-9223372036854775807i64 - 1);\n\t\tKCALC_LONG tmpmaxlong = 0xffffffffffffffffui64;\n\t\tif(boh_work_d<(-9223372036854775807i64 - 1))\n\t\t\tmm-=100;\n\t\tif(boh_work_d>0xffffffffffffffffui64)\n\t\t\tmm+=100;\n\n#endif\n\t\t//KCALC_LONG tmpmaxlong = KCALC_ULONG_MAX;\n\n\t\tif(boh_work_d\t< tmpminlong ||boh_work_d > KCALC_ULONG_MAX)\n\t\t{\n\t\t\tdisplay_error = true;\n\t\t\n\t\t//\n\t\t// We may be in that never-never land where boh numbers\n\t\t// turn from positive to negative - if so then we do\n\t\t// just that, allowing boh negative numbers to be entered\n\t\t// as read (from dumps and the like!)\n\t\t//\n\t\t}\n\t\telse if (boh_work_d > KCALC_LONG_MAX)\n\t\t{\n\t\t\tDISPLAY_AMOUNT = KCALC_LONG_MIN + (boh_work_d - KCALC_LONG_MAX - 1);\n\t\t\tboh_work = (KCALC_LONG)DISPLAY_AMOUNT;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDISPLAY_AMOUNT = boh_work_d;\n\t\t\tboh_work = (KCALC_LONG)boh_work_d;\n\t\t}\n\t}\n\n\tif (!display_error)\n\t{\n\t\tswitch(current_base)\n\t\t{\n\t\tcase NB_BINARY:\n\t\t\tstr_size = cvb(display_str, boh_work, BIN_SIZE);\n\t\t\tbreak;\n\n\t\tcase NB_OCTAL:\n\t\t\tstr_size = sprintf(display_str, PRINT_OCTAL, boh_work);\n\t\t\tbreak;\n\n\t\tcase NB_HEX:\n\t\t\tstr_size = sprintf(display_str, PRINT_HEX, boh_work);\n\t\t\tbreak;\n\n\t\tcase NB_DECIMAL:\n\t\t\tif (kcalcdefaults.fixed) {\n\t\t\t\tstr_size = sprintf(display_str, \n\t\t\t\t\tPRINT_FLOAT,\t\t\t\t\t\n\t\t\t\t\tDISPLAY_AMOUNT);\n\t\t\t} else if(last_input == DIGIT) {\n\t\t\t\n\t\t\t\tstr_size = sprintf(display_str, \n\t\t\t\t\tPRINT_LONG_BIG,\t\t\t\t\t\n\t\t\t\t\tDISPLAY_AMOUNT);\n\t\t\t} else {\n\t\t\t\tstr_size = sprintf(display_str,  PRINT_LONG, DISPLAY_AMOUNT);\n\t\t\t}\n\n\t\t\tif (input_count > 0 &&last_input == DIGIT )\n\t\t\t{\n\t\t\t\tstr_size = sprintf(display_str, \n\t\t\t\t\tPRINT_FLOAT,\t\t\t\n\t\t\t  DISPLAY_AMOUNT);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tdisplay_error = true;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (display_error || str_size < 0)\n\t{\n\t\tdisplay_error = true;\n\t}\n\tUpdate();\n}\n\n//-------------------------------------------------------------------------\n// Name: cvb(char *out_str, KCALC_LONG amount, int max_digits)\n//-------------------------------------------------------------------------\nint CWispCalcWnd::cvb(char *out_str, KCALC_LONG amount, int max_digits)\n{\n\t/*\n\t* A routine that converts a long int to\n\t* binary display format\n\t*/\n\n\tchar *strPtr\t= out_str;\n\tbool hitOne\t\t= false;\n\tunsigned KCALC_LONG bit_mask =\n\t\t((unsigned KCALC_LONG) 1 << (BIN_SIZE - 1));\n\tunsigned KCALC_LONG bit_mask_mask = bit_mask - 1;\n\tunsigned int count = 0 ;\n\n\twhile(bit_mask != 0 && max_digits > 0)\n\t{\n\t\tchar tmp = (bit_mask & amount) ? '1' : '0';\n\n\t\tif (hitOne && (count%4==0))\n\t\t\t*strPtr++ = ' ';\n\t\tcount++;\n\n\t\tif(!hitOne && tmp == '1')\n\t\t\thitOne = true;\n\n\t\tif(hitOne)\n\t\t\t*strPtr++ = tmp;\n\n\t\tbit_mask >>= 1;\n\n\t\t// this will fix a prob with some processors using an\n\t\t// arithmetic right shift (which would maintain sign on\n\t\t// negative numbers and cause a loop that's too long)\n\t\tbit_mask &= bit_mask_mask; //Sven: Uwe's Alpha adition\n\n\t\tmax_digits--;\n\t}\n\n\tif(amount == 0)\n\t\t*strPtr++ = '0';\n\n\t*strPtr = '\\0';\n\n\treturn (int)strlen(out_str);\n}\n\n//-------------------------------------------------------------------------\n// Name: UpdateStack(int run_precedence)\n//-------------------------------------------------------------------------\nint CWispCalcWnd::UpdateStack(int run_precedence)\n{\n\titem_contents new_item;\n\titem_contents *top_item;\n\titem_contents *top_function;\n\n\tCALCAMNT left_op\t= 0;\n\tCALCAMNT right_op \t= 0;\n\tint op_function\t\t= 0;\n\tint return_value\t= 0;\n\n\tnew_item.s_item_type = ITEM_AMOUNT;\n\n\twhile ((top_function = TopTypeStack(ITEM_FUNCTION)) &&\n\t\ttop_function->s_item_data.item_func_data.item_precedence >=\n\t\trun_precedence)\n\t{\n\t\treturn_value = 1;\n\t\ttop_item = PopStack();\n\t\tright_op = top_item->s_item_data.item_amount;\n\t\ttop_item = PopStack();\n\t\top_function = top_item->s_item_data.item_func_data.item_function;\n\t\ttop_item = PopStack();\n\t\tleft_op = top_item->s_item_data.item_amount;\n\n\t\tif ( ! percent_mode || Prcnt_ops[op_function] == NULL )\n\t\t{\n\t\t\tnew_item.s_item_data.item_amount =\n\t\t\t\t(Arith_ops[op_function])(left_op, right_op);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnew_item.s_item_data.item_amount =\n\t\t\t\t(Prcnt_ops[op_function])(left_op, right_op);\n\t\t\tpercent_mode = false;\n\t\t};\n\n\t\tPushStack(&new_item);\n\t}\n\n\tif (return_value)\n\t\tDISPLAY_AMOUNT = new_item.s_item_data.item_amount;\n\n\tdecimal_point=1;\n\treturn return_value;\n}\n\n//-------------------------------------------------------------------------\n// Name: isoddint(CALCAMNT input)\n//-------------------------------------------------------------------------\nint isoddint(CALCAMNT input)\n{\n\treturn (input % 2)==1;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecOr(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecOr(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecOr\\n\");\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work_l;\n\tKCALC_LONG\tboh_work_r;\n\n\t//MODF(left_op, &boh_work_d);\n\tboh_work_d = left_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_l = (KCALC_LONG)boh_work_d;\n\t//MODF(right_op, &boh_work_d);\n\tboh_work_d = right_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_r = (KCALC_LONG) boh_work_d;\n\treturn (boh_work_l | boh_work_r);\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecXor(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecXor(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecXOr\\n\");\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work_l;\n\tKCALC_LONG\tboh_work_r;\n\n\t//MODF(left_op, &boh_work_d);\n\tboh_work_d = left_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_l = (KCALC_LONG)boh_work_d;\n\t//MODF(right_op, &boh_work_d);\n\tboh_work_d=right_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_r = (KCALC_LONG)boh_work_d;\n\treturn (boh_work_l ^ boh_work_r);\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecAnd(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecAnd(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecAnd\\n\");\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work_l;\n\tKCALC_LONG\tboh_work_r;\n\n\t//MODF(left_op, &boh_work_d);\n\tboh_work_d=left_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_l = (KCALC_LONG)boh_work_d;\n\t//MODF(right_op, &boh_work_d);\n\tboh_work_d=right_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_r = (KCALC_LONG)boh_work_d;\n\treturn (boh_work_l & boh_work_r);\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecLsh(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecLsh(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecLsh\\n\");\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work_l;\n\tKCALC_LONG\tboh_work_r;\n\n\t//MODF(left_op, &boh_work_d);\n\tboh_work_d=left_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_l = (KCALC_LONG) boh_work_d;\n\t//MODF(right_op, &boh_work_d);\n\tboh_work_d=right_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_r = (KCALC_LONG) boh_work_d;\n\treturn (boh_work_l << boh_work_r);\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecRsh(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecRsh(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecRsh\\n\");\n\tCALCAMNT\tboh_work_d;\n\tKCALC_LONG\tboh_work_l;\n\tKCALC_LONG\tboh_work_r;\n\n\t//MODF(left_op, &boh_work_d);\n\tboh_work_d=left_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_l = (KCALC_LONG)boh_work_d;\n\t//MODF(right_op, &boh_work_d);\n\tboh_work_d=right_op;\n\tif (ABS(boh_work_d) > KCALC_LONG_MAX)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0;\n\t}\n\n\tboh_work_r = (KCALC_LONG)boh_work_d;\n\treturn (boh_work_l >> boh_work_r);\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecAdd(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecAdd(CALCAMNT left_op, CALCAMNT right_op)\n{\t\n\treturn left_op + right_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecSubtract(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecSubtract(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecSubtract\\n\");\n\treturn left_op - right_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecMultiply(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecMultiply(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecMulti\\n\");\n\treturn left_op * right_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecMod(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecDivide(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecDivide\\n\");\n\tif (right_op == 0)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0L;\n\t}\n\telse\n\t\treturn left_op / right_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: QExecMod(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecMod(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"ExecMod\\n\");\n\tCALCAMNT temp = 0;\n\n\tif (right_op == 0)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0L;\n\t}\n\telse\n\t{\n\t\t// x mod y should be the same as x mod -y, thus:\n\t\tright_op = ABS(right_op);\n\t\t\n\t\ttemp = left_op%right_op;//FMOD(left_op, right_op);\n \n\t\t// let's make sure that -7 mod 3 = 2 and NOT -1.\n\t\t// In other words we wand x mod 3 to be a _positive_ number\n\t\t// that is 0,1 or 2.\n\t\tif( temp < 0 )\n\t\t\ttemp = right_op + temp;\n\n\t\treturn ABS(temp);\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecIntDiv(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecIntDiv(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t// printf(\"IndDiv\\n\");\n\tif (right_op == 0)\n\t{\n\t\tdisplay_error = true;\n\t\treturn 0L;\n\t}\n\telse\n\t{\n\t\t//MODF(left_op / right_op, &left_op);\n\t\tleft_op=left_op / right_op;\n\t\treturn left_op;\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecPower(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecPower(CALCAMNT left_op, CALCAMNT right_op)\n{\n\tint i;\n\tCALCAMNT ret;\n\tret = left_op;\n\tif (right_op == 0)\n\t\treturn 1L;\n\tfor(i = 1; i < right_op;i++)\n\t\tret = ret * left_op;\n\tif (left_op < 0 && isoddint(right_op))\n\t\tleft_op = -1 * left_op;\n\t\n\n\t\treturn ret;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecPwrRoot(CALCAMNT left_op, CALCAMNT right_op)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecPwrRoot(CALCAMNT left_op, CALCAMNT right_op)\n{\n\t\treturn left_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecAddSubP(CALCAMNT left_op, CALCAMNT right_op, CALCAMNT result)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecAddP(CALCAMNT left_op, CALCAMNT right_op)\n{\n\treturn (left_op + left_op * right_op/100 );\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecAddSubP(CALCAMNT left_op, CALCAMNT right_op, CALCAMNT result)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecSubP(CALCAMNT left_op, CALCAMNT right_op)\n{\n\treturn (left_op - left_op * right_op/100 );\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecMultiplyP(CALCAMNT left_op, CALCAMNT right_op, CALCAMNT result)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecMultiplyP(CALCAMNT left_op, CALCAMNT right_op)\n{\n\treturn left_op*right_op/100;\n}\n\n//-------------------------------------------------------------------------\n// Name: ExecPowerP(CALCAMNT left_op, CALCAMNT right_op, CALCAMNT result)\n//-------------------------------------------------------------------------\nCALCAMNT CWispCalcWnd::ExecDivideP(CALCAMNT left_op, CALCAMNT right_op)\n{\n\treturn left_op*100/right_op;\n}\n\n//-------------------------------------------------------------------------\n// Name: AllocStackItem()\n//-------------------------------------------------------------------------\nstack_ptr AllocStackItem()\n{\n\tCODE_ASSERT(stack_next <= stack_last);\n\tprocess_stack[stack_next].prior_item = NULL;\n\tprocess_stack[stack_next].prior_type = NULL;\n\treturn (process_stack + (stack_next++));\n}\n\n//-------------------------------------------------------------------------\n// Name: UnAllocStackItem(stack_ptr return_item)\n//-------------------------------------------------------------------------\nvoid UnAllocStackItem(stack_ptr return_item)\n{\n\tif (return_item != (process_stack + (--stack_next))) {\n\t\tCODE_ASSERT(false); // stack error\n\t}\n}\n\n//-------------------------------------------------------------------------\n// Name: PushStack(item_contents *add_item)\n//-------------------------------------------------------------------------\nvoid PushStack(item_contents *add_item)\n{\n\t// Add an item to the stack\n\n\tstack_ptr new_item = top_of_stack;\n\n\tif (!(new_item &&\n\t\tnew_item->item_value.s_item_type == add_item->s_item_type))\n\t{\n\t\tnew_item = AllocStackItem();\t// Get a new item\n\n\t\t// Chain new item to existing stacks\n\n\n\t\tnew_item->prior_item = top_of_stack;\n\t\ttop_of_stack\t     = new_item;\n\t\tnew_item->prior_type = top_type_stack[add_item->s_item_type];\n\t\ttop_type_stack[add_item->s_item_type] = new_item;\n\t}\n\n\tnew_item->item_value  = *add_item;\t// assign contents\n\n}\n\n//-------------------------------------------------------------------------\n// Name: PopStack()\n//-------------------------------------------------------------------------\nitem_contents *PopStack()\n{\n\t// Remove and return the top item in the stack\n\n\tstatic item_contents return_item;\n\n\titem_contents *return_item_ptr = NULL;\n\tstack_ptr return_stack_ptr;\n\n\tif ((return_stack_ptr = top_of_stack))\n\t{\n\t\treturn_item = top_of_stack->item_value;\n\n\t\ttop_type_stack[return_item.s_item_type] =\n\t\t\ttop_of_stack->prior_type;\n\n\t\ttop_of_stack = top_of_stack->prior_item;\n\n\t\tUnAllocStackItem(return_stack_ptr);\n\n\t\treturn_item_ptr = &return_item;\n\t}\n\n\treturn return_item_ptr;\n}\n\n//-------------------------------------------------------------------------\n// Name: TopTypeStack(item_type rqstd_type)\n//-------------------------------------------------------------------------\nitem_contents *TopTypeStack(item_type rqstd_type)\n{\n\t// Return the top item in the stack without removing\n\n\titem_contents *return_item_ptr = NULL;\n\n\tif (top_type_stack[rqstd_type])\n\t\treturn_item_ptr = &(top_type_stack[rqstd_type]->item_value);\n\n\treturn return_item_ptr;\n}\n\n\n/*\n* Stack storage management Data and Functions\n*/\n\n//-------------------------------------------------------------------------\n// Name: InitStack()\n//-------------------------------------------------------------------------\nvoid InitStack()\n{\n\tstack_next = 0;\n\tstack_last = STACK_SIZE - 1;\n\ttop_of_stack = top_type_stack[0] = top_type_stack[1] = NULL;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispCalcWnd.h",
    "content": "#ifndef _WISPCALCWND_H_\n#define _WISPCALCWND_H_\n#include \"WispDefine.h\"\n#include \"WispMsgDefine.h\"\n#include \"WispButton.h\"\n#include \"WispRadioBox.h\"\n\n\n#ifndef CODE_OS_UNIX \n\t#define _I64_MIN    (-9223372036854775807i64 - 1)\n\t#define _I64_MAX      9223372036854775807i64\n\t#define _UI64_MAX     0xffffffffffffffffui64\n\ttypedef __int64 CALCAMNT;\n\t#define KCALC_LONG_MIN\t_I64_MIN\n\t#define KCALC_LONG_MAX\t_I64_MAX\n\t#define KCALC_ULONG_MAX\t_UI64_MAX\n\t#define KCALC_LONG\t__int64 \n\t#define HAVE_LONG_LONG\n\t#define HAVE_LONG_DOUBLE\n#else\n\n\t#define LONG_MIN    (-2147483647L - 1)\n\t#define LONG_MAX      2147483647L\n\t#define ULONG_MAX     0xffffffffUL\n\ttypedef long CALCAMNT;\n\t#define KCALC_LONG_MIN\tLONG_MIN\n\t#define KCALC_LONG_MAX\tLONG_MAX\n\t#define KCALC_ULONG_MAX\tULONG_MAX\n\t#define KCALC_LONG\tlong \n\t#define HAVE_LONG_LONG\n\t#define HAVE_LONG_DOUBLE\n#endif\n\n#define UNUSED(x) ((void)(x))\n\nenum {\n\tBUTTON_CONFIG,\n\tBUTTON_HELP,\n\tEDIT_DISPLAY,\n\n\tCHECKBOX_HEX,\n\tCHECKBOX_DEC,\n\tCHECKBOX_OCT,\n\tCHECKBOX_BIN,\n\tCHECKBOX_8BYTE,\n\tCHECKBOX_4BYTE,\n\tCHECKBOX_2BYTE,\n\tCHECKBOX_1BYTE,\n\n\tBUTTON_HYP,\n\tBUTTON_INV,\n\tBUTTON_A,\n\tBUTTON_EE,\n\tBUTTON_MR,\n\tBUTTON_MOTHER,\n\tBUTTON_MC,\n\tBUTTON_AFUNCTION,\n\tBUTTON_AC,\n\n\tBUTTON_RSH,\n\tBUTTON_PLUSMINUS,\n\tBUTTON_B,\n\tBUTTON_7,\n\tBUTTON_8,\n\tBUTTON_9,\n\tBUTTON_LBRACKET,\n\tBUTTON_RBRACKET,\n\tBUTTON_AND,\n\n\tBUTTON_COS,\n\tBUTTON_RECIPROCAL,\n\tBUTTON_C,\n\tBUTTON_4,\n\tBUTTON_5,\n\tBUTTON_6,\n\tBUTTON_MULTIPLYSIGN,\n\tBUTTON_DIVESIONSIGN,\n\tBUTTON_OR,\n\n\tBUTTON_TAN,\n\tBUTTON_FACTORIAL,\n\tBUTTON_D,\n\tBUTTON_1,\n\tBUTTON_2,\n\tBUTTON_3,\n\tBUTTON_ADDSIGN,\n\tBUTTON_SUBSIGN,\n\tBUTTON_LSH,\n\n\n\tBUTTON_LOG,\n\tBUTTON_SQUARE,\n\tBUTTON_E,\n\tBUTTON_DECIMAL,\n\tBUTTON_0,\n\tBUTTON_EQUALSIGN,\n\tBUTTON_PERCENTSIGN,\n\tBUTTON_CMP,\n\tBUTTON_MOD,\n\n\tBUTTON_LN,\n\tBUTTON_POWER,\n\tBUTTON_F,\n\n\tCONTROL_MAXNUM,\n};\n\n\n#define STACK_SIZE\t100\n#define PRECEDENCE_INCR\t20\n\n#define FUNC_NULL\t\t0\n#define FUNC_OR\t\t\t1\n#define FUNC_XOR\t\t2\n#define FUNC_AND\t\t3\n#define FUNC_LSH\t\t4\n#define FUNC_RSH\t\t5\n#define FUNC_ADD\t\t6\n#define FUNC_SUBTRACT\t7\n#define FUNC_MULTIPLY\t8\n#define FUNC_DIVIDE\t\t9\n#define FUNC_MOD\t\t10\n#define FUNC_POWER\t\t11\n#define FUNC_PWR_ROOT\t12\n#define FUNC_INTDIV\t\t13\n\n#define\t\tHEX_SIZE\tsizeof(KCALC_LONG)*2\n#define\t\tOCT_SIZE\t22\n#define\t\tDEC_SIZE\t20\n#define\t\tBIN_SIZE\t64\n\n#define\t\tDSP_SIZE\t65 // 25\n\n#define\t\tPOS_ZERO\t 1e-19L\t /* What we consider zero is */\n#define\t\tNEG_ZERO\t-1e-19L\t /* anything between these two */\n\n#define DISPLAY_AMOUNT display_data.s_item_data.item_amount\n\n\ntypedef\tCALCAMNT\t(*Arith)(CALCAMNT, CALCAMNT);\ntypedef\tCALCAMNT\t(*Prcnt)(CALCAMNT, CALCAMNT);\ntypedef\tCALCAMNT\t(*Trig)(CALCAMNT);\n\ntypedef enum _last_input_type\n{\n\tDIGIT = 1,\n\tOPERATION = 2,\n\tRECALL = 3,\n\tPASTE = 4\n} last_input_type;\n\ntypedef enum _num_base\n{\n\tNB_BINARY = 2,\n\tNB_OCTAL = 8,\n\tNB_DECIMAL = 10,\n\tNB_HEX = 16\n} num_base;\n\ntypedef enum _angle_type\n{\n\tANG_DEGREE = 0,\n\tANG_RADIAN = 1,\n\tANG_GRADIENT = 2\n} angle_type;\n\ntypedef enum _item_type\n{\n\tITEM_FUNCTION,\n\tITEM_AMOUNT\n} item_type;\n\ntypedef struct _func_data\n{\n\tint item_function;\n\tint item_precedence;\n} func_data;\n\ntypedef\tunion  _item_data\n{\n\tCALCAMNT\titem_amount;\t// an amount\n\tfunc_data\titem_func_data;\t// or a function\n} item_data;\n\ntypedef struct _item_contents\n{\n\titem_type\ts_item_type;\t// a type flag\n\titem_data\ts_item_data; \t// and data\n} item_contents;\n\ntypedef struct stack_item *stack_ptr;\n\ntypedef struct stack_item\n{\n\t// Contents of an item on the input stack\n\n\tstack_ptr prior_item;\t\t// Pointer to prior item\n\tstack_ptr prior_type;\t\t// Pointer to prior type\n\titem_contents item_value;\t// The value of the item\n} stack_item;\n\n\nvoid \tInitStack();\nvoid \tPushStack(item_contents *add_item);\nint\t\tUpdateStack(int run_precedence);\nitem_contents\t*PopStack();\nitem_contents\t*TopOfStack();\nitem_contents\t*TopTypeStack(item_type rqstd_type);\n\n\ntypedef struct _DefStruct\n{\n\tCOLORREF forecolor;\n\tCOLORREF backcolor;\n\tCOLORREF numberButtonColor;\n\tCOLORREF functionButtonColor;\n\tCOLORREF hexButtonColor;\n\tCOLORREF memoryButtonColor;\n\tCOLORREF operationButtonColor;\n\n\tint precision;\n\tint fixedprecision;\n\tint style;\n\tbool fixed;\n\tbool beep;\n\tCWispFont font;\n} DefStruct;\n\n\nclass CWispCalcWnd :public CWispWnd\n{\npublic:\n\tCWispCalcWnd(void);\n\tvoid Popup();\n\tbool Create(int x=0,int y=0,CWispBaseWnd*pParentWnd = NULL,UINT CmdID = 0);\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnCommand);\n\tDECLARE_WISP_MSG(OnDestory);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnKeyDown);\n\tDECLARE_WISP_MSG(OnKeyUp);\n\tCWispRadioBox*\tanglebutton[4];\n\tCWispRadioBox*\tbasebutton[4];\n\n\tCWispButton* pbA;\t\n\tCWispButton* pbMR;\n\tCWispButton* pbMplusminus;\n\tCWispButton* pbMC;\n\tCWispButton* pbClear;\n\tCWispButton* pbAC;\n\n\tCWispButton* pbRsh;\n\tCWispButton* pbplusminus;\n\tCWispButton* pbB;\n\tCWispButton* pb7;\n\tCWispButton* pb8;\n\tCWispButton* pb9;\n\tCWispButton* pbparenopen;\n\tCWispButton* pbparenclose;\n\tCWispButton* pband;\n\t\n\tCWispButton* pbXor;\n\tCWispButton* pbC;\n\tCWispButton* pb4;\n\tCWispButton* pb5;\n\tCWispButton* pb6;\n\tCWispButton* pbX;\n\tCWispButton* pbdivision;\n\tCWispButton* pbor;\n\t\n\tCWispButton* pbfactorial;\n\tCWispButton* pbD;\n\tCWispButton* pb1;\n\tCWispButton* pb2;\n\tCWispButton* pb3;\n\tCWispButton* pbplus;\n\tCWispButton* pbminus;\n\tCWispButton* pbshift;\n\n\tCWispButton* pbsquare;\n\tCWispButton* pbE;\t\n\tCWispButton* pb0;\n\tCWispButton* pbequal;\t\n\tCWispButton* pbnegate;\n\tCWispButton* pbmod;\t\n\tCWispButton* pbpower;\n\tCWispButton* pbF;\n\t\t\n\tvoid writeSettings();\n\tvoid readSettings();\n\tvoid set_precision();\n\tvoid set_style();\n\tvoid history_next();\n\tvoid history_prev();\n\tvoid ComputeMean();\n\tvoid ComputeSin();\n\tvoid ComputeStd();\n\tvoid ComputeCos();\n\tvoid ComputeMedean();\n\tvoid ComputeTan();\n\n\tint UpdateStack(int run_precedence);\nprotected :\t\n\tvoid display_selected();\n\tvoid selection_timed_out();\n\tvoid clear_buttons();\t\t\n\tvoid EnterDigit(int data);\n\tvoid SubtractDigit();\n\tvoid EnterDecimal();\n\tvoid EnterStackFunction(int data);\n\tvoid EnterNegate();\n\tvoid EnterOpenParen();\n\tvoid EnterCloseParen();\n\tvoid EnterRecip();\n\tvoid EnterInt();\n\tvoid EnterFactorial();\n\tvoid EnterSquare();\n\tvoid EnterNotCmp();\n\tvoid EnterHyp();\n\tvoid EnterPercent();\n\tvoid EnterLogr();\n\tvoid EnterLogn();\n\tvoid Qword_Selected();\n\tvoid Dword_Selected();\n\tvoid Word_Selected();\n\tvoid Byte_Selected();\n\tvoid Base_Selected(int number);\n\tvoid Hex_Selected();\n\tvoid Dec_Selected();\n\tvoid Oct_Selected();\n\tvoid Bin_Selected();\n\tvoid SetInverse();\n\tvoid EnterEqual();\n\tvoid Clear();\n\tvoid ClearAll();\n\tvoid RefreshCalculator();\n\tvoid InitializeCalculator();\n\tvoid UpdateDisplay();\n\tvoid ExecSin();\n\tvoid ExecCos();\n\tvoid ExecTan();\n\tvoid button0();\n\tvoid button1();\n\tvoid button2();\n\tvoid button3();\n\tvoid button4();\n\tvoid button5();\n\tvoid button6();\n\tvoid button7();\n\tvoid button8();\n\tvoid button9();\n\tvoid buttonA();\n\tvoid buttonB();\n\tvoid buttonC();\n\tvoid buttonD();\n\tvoid buttonE();\n\tvoid buttonF();\n\tvoid base_selected(int number);\n\tvoid angle_selected(int number);\n\tvoid Or();\n\tvoid Xor();\n\tvoid And();\n\tvoid Shift();\n\tvoid Lshift();\n\tvoid Rshift();\n\tvoid Plus();\n\tvoid Minus();\n\tvoid Multiply();\n\tvoid Divide();\n\tvoid Mod();\n\tvoid Power();\n\tvoid EE();\n\tvoid MR();\n\tvoid Mplusminus();\n\tvoid MC();\n\tvoid EEtoggled(bool myboolean);\n\tvoid pbinvtoggled(bool myboolean);\n\tvoid pbMRtoggled(bool myboolean);\n\tvoid pbAtoggled(bool myboolean);\n\tvoid pbRshtoggled(bool myboolean);\n\tvoid pbplusminustoggled(bool myboolean);\n\tvoid pbMplusminustoggled(bool myboolean);\n\tvoid pbBtoggled(bool myboolean);\n\tvoid pbXortoggled(bool myboolean);\n\tvoid pbrecitoggled(bool myboolean);\n\tvoid pbCtoggled(bool myboolean);\n\tvoid pbTantoggled(bool myboolean);\n\tvoid pbfactorialtoggled(bool myboolean);\n\tvoid pbDtoggled(bool myboolean);\n\tvoid pblogtoggled(bool myboolean);\n\tvoid pbsquaretoggled(bool myboolean);\n\tvoid pbEtoggled(bool myboolean);\n\tvoid pblntoggled(bool myboolean);\n\tvoid pbpowertoggled(bool myboolean);\n\tvoid pbFtoggled(bool myboolean);\n\tvoid pbMCtoggled(bool myboolean);\n\tvoid pbCleartoggled(bool myboolean);\n\tvoid pbACtoggled(bool myboolean);\n\tvoid pb7toggled(bool myboolean);\n\tvoid pb8toggled(bool myboolean);\n\tvoid pb9toggled(bool myboolean);\n\tvoid pbparenopentoggled(bool myboolean);\n\tvoid pbparenclosetoggled(bool myboolean);\n\tvoid pbandtoggled(bool myprivateboolean);\n\tvoid pb4toggled(bool myboolean);\n\tvoid pb5toggled(bool myboolean);\n\tvoid pb6toggled(bool myboolean);\n\tvoid pbXtoggled(bool myboolean);\n\tvoid pbdivisiontoggled(bool myboolean);\n\tvoid pbortoggled(bool myboolean);\n\tvoid pb1toggled(bool myboolean);\n\tvoid pb2toggled(bool myboolean);\n\tvoid pb3toggled(bool myboolean);\n\tvoid pbplustoggled(bool myboolean);\n\tvoid pbminustoggled(bool myboolean);\n\tvoid pbshifttoggled(bool privatemyboolean);\n\tvoid pbperiodtoggled(bool myboolean);\n\tvoid pb0toggled(bool myboolean);\n\tvoid pbequaltoggled(bool myboolean);\n\tvoid pbpercenttoggled(bool myboolean);\n\tvoid pbnegatetoggled(bool myboolean);\n\tvoid pbmodtoggled(bool myboolean);\n\tvoid pbhyptoggled(bool myboolean);\t\n\nprivate:\n\tDefStruct kcalcdefaults;\n\tvoid setStatusLabel();\nprivate:\n\tstatic int cvb(char *out_str, KCALC_LONG amount, int max_digits);\n\npublic:\n\tstatic CALCAMNT ExecOr(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecXor(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecAnd(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecLsh(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecRsh(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecAdd(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecSubtract(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecMultiply(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecDivide(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecMod(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecPower(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecPwrRoot(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecIntDiv(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecAddP(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecSubP(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecMultiplyP(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecDivideP(CALCAMNT left_op, CALCAMNT right_op);\n\tstatic CALCAMNT ExecFunction(CALCAMNT left_op, int function, CALCAMNT right_op);\n\t\nprivate:\n\tbool inverse;\t\n\tbool refresh_display;\n\tint\tdisplay_size;\n\tint\tm_NumberBitWdith;\n\tint input_limit;\n\tint input_count;\n\tint decimal_point;\n\tint precedence_base;\n\tnum_base current_base;\n\tCALCAMNT memory_num;\n\tlast_input_type last_input;\n\npublic:\n\tstatic const CALCAMNT pi;\n\nprivate:\n\tchar display_str[DSP_SIZE + 1];\n\nprivate:\n\tTList<CALCAMNT> history_list;\n\tint history_index;\n\tbool key_pressed;\n\tint mInternalSpacing;\n\n};\n#endif /* _WISPCALCWND_H_ */\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispCheckBox.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispCheckBox.h\"\n\nWISP_MSG_MAP_BEGIN(CWispCheckBox)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispCheckBox::CWispCheckBox(void)\n{\n\tm_bIsMultiLine = false;\n\tm_bMouseDown = false;\t\n\tm_bMouseIn = false;\n\tm_CtrlType = WISP_CTRL_CHECK_BOX;\n}\n\nbool CWispCheckBox::InitWnd()\n{\n\tif(CWispBaseWnd::InitWnd()==false)\n\t\treturn false;\n\tm_Style &= ~(WISP_WS_CAPTION|WISP_WS_BT_MAX|WISP_WS_SIZABLE|WISP_WS_BT_MIN|WISP_WS_BT_CLOSE|WISP_WS_BORDER);\n\tm_Style |= WISP_WS_BACK_TRANS;\n\tif(m_Style & WISP_CBS_PUSHLIKE)\n\t\tm_Style |= WISP_WS_THIN_BORDER;\n\tif(m_Style & WISP_CBS_MULTILINE)\n\t\tm_bIsMultiLine = true;\n\tif(m_Style & WISP_CBS_PUSHLIKE)\n\t{\n\t\tm_TextRect.x = m_WindowRect.x;\n\t\tm_TextRect.y = m_WindowRect.y;\n\t\tm_TextRect.cx = m_WindowRect.cx;\n\t\tm_TextRect.cy = m_WindowRect.cy;\n\t\tm_CheckBoxRect.x = m_TextRect.x;\n\t\tm_CheckBoxRect.y = m_TextRect.y;\n\t\tm_CheckBoxRect.cx = m_TextRect.cx;\n\t\tm_CheckBoxRect.cy = m_TextRect.cy;\n\t}\n\telse\n\t{\n\t\tif(m_Style & WISP_CBS_RIGHT)\n\t\t{\n\t\t\tm_CheckBoxRect.x = m_WindowRect.x + m_WindowRect.cx - WISP_CHECKBOX_WIDTH-4;\n\t\t\tm_CheckBoxRect.cx = WISP_CHECKBOX_WIDTH;\n\t\t\tm_CheckBoxRect.cy = WISP_CHECKBOX_HEIGH;\n\t\t\tm_CheckBoxRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_CBS_TOP)\n\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_CBS_BOTTOM)\n\t\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y + m_WindowRect.cy - WISP_CHECKBOX_HEIGH;\n\t\t\tm_TextRect.x = m_WindowRect.x;\n\t\t\tm_TextRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_CBS_TOP)\n\t\t\t\tm_TextRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_CBS_BOTTOM)\n\t\t\t\t\tm_TextRect.y = m_WindowRect.y + m_WindowRect.cy - m_WindowDC.m_pFont->m_Height;\n\t\t\tm_TextRect.cx = m_CheckBoxRect.x - m_TextRect.x - WISP_TEXT_CHECKBOX_DISTANCE;\n\t\t\tif(m_Style & WISP_CBS_MULTILINE)\n\t\t\t\tm_TextRect.cy = m_WindowRect.cy;\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_TextRect.cy = m_WindowDC.m_pFont->m_Height;\n\t\t\t\tif(m_WindowDC.m_pFont->m_Height > WISP_CHECKBOX_HEIGH)\n\t\t\t\t{\n\t\t\t\t\tm_CheckBoxRect.y += (m_WindowDC.m_pFont->m_Height - WISP_CHECKBOX_HEIGH) / 2 ;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_CheckBoxRect.x = m_WindowRect.x;\n\t\t\tm_CheckBoxRect.cx = WISP_CHECKBOX_WIDTH;\n\t\t\tm_CheckBoxRect.cy = WISP_CHECKBOX_HEIGH;\n\t\t\tm_CheckBoxRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_CBS_TOP)\n\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_CBS_BOTTOM)\n\t\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y + m_WindowRect.cy - WISP_CHECKBOX_HEIGH;\n\t\t\tm_TextRect.x = m_CheckBoxRect.x + m_CheckBoxRect.cx + WISP_TEXT_CHECKBOX_DISTANCE;\n\t\t\tm_TextRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_CBS_TOP)\n\t\t\t\tm_TextRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_CBS_BOTTOM)\n\t\t\t\t\tm_TextRect.y = m_WindowRect.y + m_WindowRect.cy - m_WindowDC.m_pFont->m_Height;\n\t\t\tm_TextRect.cx = m_WindowRect.cx - (m_TextRect.x - m_WindowRect.x);\n\t\t\tif(m_Style & WISP_CBS_MULTILINE)\n\t\t\t\tm_TextRect.cy = m_WindowRect.cy;\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_TextRect.cy = m_WindowDC.m_pFont->m_Height;\n\t\t\t\tif(m_WindowDC.m_pFont->m_Height > WISP_CHECKBOX_HEIGH)\n\t\t\t\t{\n\t\t\t\t\tm_CheckBoxRect.y += (m_WindowDC.m_pFont->m_Height - WISP_CHECKBOX_HEIGH) / 2 ;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispCheckBox::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tif((m_Style&WISP_WS_BACK_TRANS)==0)\n\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlClient(&m_WindowDC, &m_WindowRect);\n\tif((m_Style & WISP_CBS_PUSHLIKE)==0)\n\t{\n\t\tm_WindowDC.DrawSystemStandardIcon(m_CheckBoxRect,IsMarked()?WISP_SSI_CHECKBOX_CHECKED:WISP_SSI_CHECKBOX_UNCHECKED);\n\t}\n\tDrawCaption();\n\tif(m_Style & WISP_CBS_PUSHLIKE)\n\t{\n\t\tif(IsMarked() || (m_bMouseDown && m_bMouseIn))\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect,false,1);\n\t\telse\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect,true,1);\n\t}\n\treturn false;\n}\n\n// ʾıϢ\nvoid CWispCheckBox::DrawCaption(void)\n{\n\tWISP_RECT Rect;\n\tINT uFormat = WISP_DT_VCENTER;  //ȱʡıʾ ,м.\n\tRect.x = m_TextRect.x;\n\tRect.y = m_TextRect.y;\n\tRect.cx = m_TextRect.cx;\n\tRect.cy = m_TextRect.cy;\n\tif(m_Style & WISP_CBS_PUSHLIKE)\n\t{\n\t\tuFormat |= WISP_DT_CENTER;\n\t\tif(m_bMouseDown && m_bMouseIn)\n\t\t{\n\t\t\tRect.x = m_TextRect.x + 1;\t\t\t\n\t\t}\n\t}\n\tif(!m_bIsMultiLine)\n\t\tuFormat |= WISP_DT_SINGLELINE;\n\tif(m_Style & WISP_CBS_BOTTOM)\n\t\tuFormat |= WISP_DT_BOTTOM;\t\t\n\tif(IsDisabled())\n\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRAY]);\n\tm_WindowDC.DrawString(m_WndText,&Rect,uFormat);\n\tif(IsDisabled())\n\t\tm_WindowDC.RestoreTextColor();\n}\n\nbool CWispCheckBox::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\tOnMouseLDown(pMsg);\n\t\telse\n\t\t{\n\t\t\tif(OnMouseLUp(pMsg))\n\t\t\t{\t\t\t\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd = m_OwnerWnd;\n\t\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\t\n\t\t\t\tMsg.Command.CtrlType= m_CtrlType;\n\t\t\t\tMsg.Command.CmdID\t= m_CmdID;\n\t\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_CB_CLICK;\n\t\t\t\tMsg.Command.Param1 = (m_Style&WISP_WS_MARKED)!=0;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispCheckBox::OnMouseLDown(IN WISP_MSG*pMsg)\n{\n\tm_bMouseDown = true;\n\treturn true;\n}\n\nbool CWispCheckBox::OnMouseLUp(IN WISP_MSG*pMsg)\n{\n\tif(m_bMouseIn&&m_bMouseDown)\n\t{\t\n\t\tif(IsChecked())\n\t\t\tCheck(false);\n\t\telse\n\t\t\tCheck(true);\n\t\tm_bMouseDown = false;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispCheckBox::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tm_bMouseIn = false;\n\tif(m_bMouseDown)\n\t{\n\t\tif(pMsg->bMsgLBTDown==false)\n\t\t\tm_bMouseDown=false;\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CWispCheckBox::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tm_bMouseIn = true;\n\treturn true;\n}\n\nvoid CWispCheckBox::Check(bool bCheck)\n{\n\tif(bCheck)\n\t{\n\t\tm_Style|=WISP_WS_MARKED;\n\t}\n\telse\n\t{\n\t\tm_Style&=~WISP_WS_MARKED;\n\t}\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispCheckBox.h",
    "content": "#ifndef _WISP_CHECKBOX_H_\n#define _WISP_CHECKBOX_H_\n#include \"WispWnd.h\"\n#include \"Utility.h\"\n\n#define WISP_CBS_NORMAL\t\t\t\t\t\t\tWISP_CBS_TEXTLEFT\n\n#define WISP_CBS_MULTILINE\t\t\t\t\t\t0x80000000\n#define WISP_CBS_PUSHLIKE\t\t\t\t\t\t0x40000000\n#define WISP_CBS_TEXTLEFT\t\t\t\t\t\t0x20000000\n#define WISP_CBS_ICON\t\t\t\t\t\t\t0x10000000\n#define WISP_CBS_BMP\t\t\t\t\t\t\t0x08000000\n#define WISP_CBS_NOTIFY\t\t\t\t\t\t\t0x04000000\n#define WISP_CBS_RIGHT\t\t\t\t\t\t\t0x02000000\n#define WISP_CBS_RTLREADING\t\t\t\t\t\t0x01000000\n#define WISP_CBS_STATICEDGE\t\t\t\t\t\t0x00800000\n#define WISP_CBS_TABSTOP\t\t\t\t\t\t0x00400000\n#define WISP_CBS_BOTTOM\t\t\t\t\t\t\t0x00080000\n#define WISP_CBS_TOP\t\t\t\t\t\t\t0x00040000\n#define WISP_CBS_FLAT\t\t\t\t\t\t\t0x00020000\n#define WISP_CBS_CLIENTEDGE\t\t\t\t\t\t0x00010000\n\n#define WISP_CHECKBOX_WIDTH\t\t\t\t\t\tWISP_SSI_CHECKBOX_SIZE+2\n#define WISP_CHECKBOX_HEIGH\t\t\t\t\t\tWISP_SSI_CHECKBOX_SIZE+2\n#define WISP_TEXT_CHECKBOX_DISTANCE\t\t\t\t0x6\n\n\nclass CWispCheckBox :public CWispBaseWnd\n{\npublic:\n\tCWispCheckBox(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnMouseLDown);\n\tDECLARE_WISP_MSG(OnMouseLUp);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n\tDECLARE_WISP_MSG(OnMouseMove);\npublic:\n\tvirtual bool\tInitWnd();\nprivate:\n\t// ʾֵľ\n\tCWispRect m_TextRect;\n\tCWispRect m_CheckBoxRect;\npublic:\n\t// ñΪ̬ťΪ̬ť\n\t// ǰİť״̬\n\t// Ƿֶ֧ı\n\tbool m_bIsMultiLine;\n\t// ʾıϢ\n\tvoid DrawCaption(void);\n\tvoid Check(bool bCheck=true);\n\tbool IsChecked(){return (m_Style&WISP_WS_MARKED)!=0;}\npublic:\n\t// Ƿ񱻰\n\tbool m_bMouseDown;\n\t// Ƿڱ\n\tbool m_bMouseIn;\n};\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispColorStrWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispColorStrWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispColorStrWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispColorStrWnd)\n\tWISP_MSG_EVENT_MAP(WISP_ID_COPY,OnEventCopy)\nWISP_MSG_EVENT_MAP_END\n\nCWispColorStrWnd::CWispColorStrWnd(void)\n{\n\tm_MaxLines = m_MaxChars = 0;\n\tm_Margin = WISP_COLOR_STR_MARGIN;\n}\n\nCWispColorStrWnd::~CWispColorStrWnd(void)\n{\n}\n\nbool CWispColorStrWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_bSelect = false;\n\treturn true;\n}\n\nbool CWispColorStrWnd::OnEventCopy(IN WISP_MSG*pMsg)\n{\n\tint Length;\n\tWISP_CHAR szBuffer[MAX_LINE_CHAR+1];\n\tWISP_COLOR_CHAR\tCSBuffer[MAX_LINE_CHAR+1];\n\tif(m_bSelect==false)\n\t\treturn false;\n\tCWispString ClipboardString;\n\tClipboardString.Empty();\n\tfor(int ScrPosY=m_pSelStartPos->y;ScrPosY<=m_pSelEndPos->y;ScrPosY++)\n\t{\n\t\tif(ScrPosY!=m_pSelStartPos->y)\n\t\t\tClipboardString+=WSTR(\"\\r\\n\");\n\t\t*CSBuffer=0;\n\t\tGetLineStr(ScrPosY,CSBuffer);\n\t\tTStrCpy(szBuffer,CSBuffer);\n\t\tif(m_pSelStartPos->y == m_pSelEndPos->y)\n\t\t{\n\t\t\tLength = m_pSelEndPos->x - m_pSelStartPos->x + 1;\n\t\t\tif(Length>0)\n\t\t\t{\n\t\t\t\tszBuffer[m_pSelStartPos->x+Length]=0;\n\t\t\t\tClipboardString+=&szBuffer[m_pSelStartPos->x];\n\t\t\t}\n\t\t}\n\t\telse if(ScrPosY<m_pSelEndPos->y)\n\t\t{\n\t\t\tif(ScrPosY == m_pSelStartPos->y)\n\t\t\t{\n\t\t\t\tClipboardString+=&szBuffer[m_pSelStartPos->x];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tClipboardString+=szBuffer;\n\t\t\t}\t\t\t\n\t\t}\n\t\telse if(ScrPosY==m_pSelEndPos->y)\n\t\t{\n\t\t\tszBuffer[m_pSelEndPos->x+1]=0;\n\t\t\tClipboardString+=szBuffer;\n\t\t}\n\t}\n\tm_pWispBase->SetClipboardString(ClipboardString);\n\tm_bSelect = false;\n\tUpdateClient();\n\treturn true;\n}\n\nbool CWispColorStrWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tBYTE BKClr;\n\tWISP_RECT Rect;\n\tint Length,ScrPosX,ScrPosY;\n\tWISP_COLOR_CHAR\tCSBuffer[MAX_LINE_CHAR+1],Char;\n\tCWispWnd::OnUpdateClient(pMsg);\n\tfor(int n=0;n<m_nLinesPerPage;n++)\n\t{\n\t\t*CSBuffer=0;\n\t\tScrPosY=m_ScrPos.y+n;\n\t\tif(BKClr=GetLineStr(ScrPosY,CSBuffer))\n\t\t{\n\t\t\tRect.x = 0;\n\t\t\tRect.y = m_Margin+n*m_ClientDC.m_pFont->m_Height;\n\t\t\tRect.cx = m_ClientRect.cx;\n\t\t\tRect.cy = m_ClientDC.m_pFont->m_Height;\n\t\t\tm_ClientDC.DrawFullRect(&Rect,SYS_COLOR[BKClr]);\n\t\t}\n\t\tLength=TStrLen(CSBuffer);\n\t\tif(Length>0)\n\t\t{\n\t\t\tif((m_Style & WISP_WCSS_SELECT_STRING) && m_bSelect && ScrPosY>=m_pSelStartPos->y && ScrPosY<=m_pSelEndPos->y)\n\t\t\t{\n\t\t\t\tScrPosX = m_Margin - m_ClientDC.m_pFont->m_Width * m_ScrPos.x;\n\t\t\t\tfor(int nx=0;nx<Length;nx++)\n\t\t\t\t{\n\t\t\t\t\tif(IsSelectChar(m_ScrPos.x+(ScrPosX-m_Margin)/m_ClientDC.m_pFont->m_Width,ScrPosY))\n\t\t\t\t\t{\n\t\t\t\t\t\tChar = (CSBuffer[m_ScrPos.x+nx]&0xFFFF)+(SC_WHITE<<16)+(SC_SELECT_BG<<24);\n\t\t\t\t\t\tScrPosX+=m_ClientDC.DrawColorString(ScrPosX,m_Margin+n*m_ClientDC.m_pFont->m_Height,&Char,1,m_ScrPos.x+nx);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tScrPosX+=m_ClientDC.DrawColorString(ScrPosX,m_Margin+n*m_ClientDC.m_pFont->m_Height,&CSBuffer[m_ScrPos.x+nx],1,m_ScrPos.x+nx);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_ClientDC.DrawColorString(m_Margin - m_ClientDC.m_pFont->m_Width * m_ScrPos.x,m_Margin+n*m_ClientDC.m_pFont->m_Height,CSBuffer,Length);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispColorStrWnd::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tCWispWnd::OnScrollEvent(pMsg);\n\tif(pMsg->ScrollEvent.SBType == WISP_SB_HORZ)\n\t{\n\t\tm_ScrPos.x = (int)m_ScrollBar[WISP_SB_HORZ]->CurPos;\n\n\t}\n\telse\n\t{\n\t\tm_ScrPos.y = (int)m_ScrollBar[WISP_SB_VERT]->CurPos;\n\t}\n\tUpdateCaretState();\n\tUpdateClient();\n\treturn false;\n}\n\n\nbool CWispColorStrWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tif(PtInRect(&m_ClientRect,pMsg->MsgMouseWndPT)==false)\n\t\treturn true;\n\tif(pMsg->bMsgLBTDown)\n\t{\n\t\tif((m_Style & WISP_WCSS_SELECT_STRING) && m_RealSelStartPos.x>=0 && m_RealSelStartPos.y>=0)\n\t\t{\n\t\t\tCalcPonitStrPos(&pMsg->MsgMouseWndPT,&m_RealSelEndPos);\n\t\t\tif(m_RealSelEndPos.x>=0&&m_RealSelEndPos.y>=0&&m_RealSelStartPos.x>=0&&m_RealSelStartPos.y>=0)\n\t\t\t{\n\t\t\t\tm_bSelect = true;\n\t\t\t\tif(m_RealSelEndPos.y < m_RealSelStartPos.y || (m_RealSelEndPos.y == m_RealSelStartPos.y && m_RealSelEndPos.x < m_RealSelStartPos.x) )\n\t\t\t\t{\n\t\t\t\t\tm_pSelStartPos = &m_RealSelEndPos;\n\t\t\t\t\tm_pSelEndPos = &m_RealSelStartPos;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tm_pSelStartPos = &m_RealSelStartPos;\n\t\t\t\t\tm_pSelEndPos = &m_RealSelEndPos;\n\t\t\t\t}\n\t\t\t\tUpdate();\t\t\t\t\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispColorStrWnd::ClearSelect()\n{\n\tif(m_bSelect)\n\t{\n\t\tm_bSelect = false;\n\t\tm_RealSelEndPos.x = m_RealSelEndPos.y = m_RealSelStartPos.x = m_RealSelStartPos.y = -1;\n\t}\t\n}\n\n\nbool CWispColorStrWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_RBUTTON:\n\t\tcase WISP_MOD_CTRL|WISP_VK_C:\n\t\tcase WISP_MOD_SHIFT|WISP_VK_INSERT:\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg = WISP_WM_EVENT;\n\t\t\tMsg.Command.CmdID = WISP_ID_COPY;\n\t\t\tPOST_MSG(&Msg);\n\t\t\treturn false;\n\t\tcase WISP_MOD_CTRL|WISP_VK_V:\n\t\tcase WISP_MOD_CTRL|WISP_VK_INSERT:\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg = WISP_WM_EVENT;\n\t\t\tMsg.Command.CmdID = WISP_ID_PASTE;\n\t\t\tPOST_MSG(&Msg);\n\t\t\treturn false;\n\t\t}\n\t\tif(m_Style & WISP_WCSS_SELECT_STRING && pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t\t{\n\t\t\tm_bSelect = false;\n\t\t\tCalcPonitStrPos(&pMsg->MsgMouseWndPT,&m_RealSelStartPos);\n\t\t\tm_pSelStartPos = &m_RealSelStartPos;\n\t\t\tm_RealSelEndPos.x = m_RealSelEndPos.y = -1;\n\t\t\tm_pSelEndPos = &m_RealSelEndPos;\n\t\t\tUpdate();\n\t\t}\n\t\tif(m_Style&WISP_WCSS_FREE_CARET)\n\t\t{\n\t\t\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t\t\t{\n\t\t\t\tClearSelect();\n\t\t\t\tm_CaretPos.x=pMsg->MsgMouseWndPT.x-pMsg->MsgMouseWndPT.x%m_ClientDC.m_pFont->m_Width;\n\t\t\t\tm_CaretPos.x/=m_ClientDC.m_pFont->m_Width;\n\t\t\t\tm_CaretPos.y=pMsg->MsgMouseWndPT.y-pMsg->MsgMouseWndPT.y%m_ClientDC.m_pFont->m_Height;\n\t\t\t\tm_CaretPos.y/=m_ClientDC.m_pFont->m_Height;\n\t\t\t\tSetCaretPos(m_CaretPos.x*m_ClientDC.m_pFont->m_Width,m_CaretPos.y*m_ClientDC.m_pFont->m_Height);\n\t\t\t\tm_CaretPos.y+=m_ScrPos.y;\n\t\t\t\tm_CaretPos.x+=m_ScrPos.x;\n\t\t\t\tRecalcLayout();\n\t\t\t\tUpdate();\n\t\t\t}\n\t\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t\t{\n\t\t\tcase WISP_VK_UP:\n\t\t\t\tClearSelect();\n\t\t\t\tif(m_CaretPos.y>0)\n\t\t\t\t{\n\t\t\t\t\tif(m_CaretPos.y<=m_ScrPos.y)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_DEC);\n\t\t\t\t\tm_CaretPos.y--;\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_VK_LEFT:\n\t\t\t\tClearSelect();\n\t\t\t\tif(m_CaretPos.x>0)\n\t\t\t\t{\n\t\t\t\t\tif(m_CaretPos.x<=m_ScrPos.x)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_HORZ,WISP_SB_DEC);\n\t\t\t\t\tm_CaretPos.x--;\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_VK_DOWN:\n\t\t\t\tClearSelect();\n\t\t\t\tif(m_CaretPos.y+1<m_MaxLines)\n\t\t\t\t{\n\t\t\t\t\tif(m_CaretPos.y+1>=m_ScrPos.y+m_nLinesPerPage)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_INC);\n\t\t\t\t\tm_CaretPos.y++;\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_VK_RIGHT:\n\t\t\t\tClearSelect();\n\t\t\t\tif(m_CaretPos.x+1<m_MaxChars)\n\t\t\t\t{\n\t\t\t\t\tif(m_CaretPos.x+1>=m_ScrPos.x+m_nCharsPerLine)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_HORZ,WISP_SB_INC);\n\t\t\t\t\tm_CaretPos.x++;\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\n\t}\n\treturn true;\n}\n\nbool CWispColorStrWnd::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\tm_nCharsPerLine = (m_ClientRect.cx-m_Margin*2)/m_ClientDC.m_pFont->m_Width;\n\tMIN_LIMIT(m_nCharsPerLine,0);\n\tm_nLinesPerPage = (m_ClientRect.cy-m_Margin) /m_ClientDC.m_pFont->m_Height;\n\tMIN_LIMIT(m_nLinesPerPage,0);\n\tif(m_nLinesPerPage>=m_MaxLines && m_ScrPos.y!=0)\n\t\tm_ScrPos.y = 0;\n\tSetScrollBarInfo(WISP_SB_VERT,m_ScrPos.y,m_MaxLines,m_nLinesPerPage);\n\tSetScrollBarInfo(WISP_SB_HORZ,m_ScrPos.x,m_MaxChars,m_nCharsPerLine);\n\tUpdateCaretState();\n\treturn true;\n}\n\nvoid CWispColorStrWnd::CalcPonitStrPos(IN WISP_POINT*pPoint,WISP_POINT*pStrPT)\n{\n\tint x,y;\n\tx = pPoint->x - m_Margin;\n\ty = pPoint->y - m_Margin;\n\tpStrPT->x=x-x%m_ClientDC.m_pFont->m_Width;\n\tpStrPT->x/=m_ClientDC.m_pFont->m_Width;\n\tif(x<m_ClientDC.m_pFont->m_Width/2 && pStrPT->x>0)\n\t\tpStrPT->x--;\n\tpStrPT->y=y-y%m_ClientDC.m_pFont->m_Height;\n\tpStrPT->y/=m_ClientDC.m_pFont->m_Height;\n\tpStrPT->y+=m_ScrPos.y;\n\tpStrPT->x+=m_ScrPos.x;\n}\n\nvoid CWispColorStrWnd::SetMaxLines(IN int nLine)\n{\n\tm_MaxLines = nLine;\n}\n\nvoid CWispColorStrWnd::SetMaxChars(IN int nChar)\n{\n\tm_MaxChars = nChar;\n}\n\nbool CWispColorStrWnd::InitWnd()\n{\n\tif(CWispWnd::InitWnd()==false)\n\t\treturn false;\n\tm_CaretPos.x = m_CaretPos.y = m_ScrPos.x = m_ScrPos.y = 0;\n\treturn true;\n}\n\nvoid CWispColorStrWnd::UpdateCaretState()\n{\n\tif(m_CaretPos.x>=m_ScrPos.x&&m_CaretPos.x<m_ScrPos.x+m_nCharsPerLine&&m_CaretPos.y>=m_ScrPos.y&&m_CaretPos.y<m_ScrPos.y+m_nLinesPerPage)\n\t{\n\t\tSetCaretPos(m_Margin+(m_CaretPos.x-m_ScrPos.x)*m_ClientDC.m_pFont->m_Width,m_Margin+(m_CaretPos.y-m_ScrPos.y)*m_ClientDC.m_pFont->m_Height);\n\t\tShowCaret(true);\n\t}\n\telse\n\t{\n\t\tShowCaret(false);\n\t}\n}\n\nbool CWispColorStrWnd::IsSelectChar(int ScrX,int ScrY)\n{\n\tif(m_pSelEndPos->x==-1 || m_pSelEndPos->y==-1)\n\t\treturn false;\n\tif(ScrY<m_pSelStartPos->y || ScrY>m_pSelEndPos->y)\n\t\treturn false;\n\tif(ScrY==m_pSelStartPos->y && ScrX<m_pSelStartPos->x)\n\t\treturn false;\n\tif(ScrY==m_pSelEndPos->y && ScrX>m_pSelEndPos->x)\n\t\treturn false;\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispColorStrWnd.h",
    "content": "#ifndef _WISP_COLOR_STR_WND_\n#define _WISP_COLOR_STR_WND_\n\n#include \"WispWnd.h\"\n\n#define MAX_LINE_CHAR\t\t\t\t256\n#define WISP_COLOR_STR_MARGIN\t\t5\n\n#define WISP_WCSS_FREE_CARET\t\t0x00010000\n#define WISP_WCSS_SELECT_STRING\t\t0x00020000\n\nclass CWispColorStrWnd : public CWispWnd\n{\npublic:\n\tCWispColorStrWnd(void);\n\tvirtual ~CWispColorStrWnd(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventCopy)\npublic:\n\tvirtual bool InitWnd();\n\tvirtual BYTE GetLineStr(IN int LineIndex,OUT WISP_COLOR_CHAR*pColorStr)=0;\n\tvirtual void SetMaxLines(IN int nLine);\n\tvirtual void SetMaxChars(IN int nChar);\n\tvoid\tCalcPonitStrPos(IN WISP_POINT*pPoint,WISP_POINT*pStrPT);\n\tvoid\tUpdateCaretState();\n\tvoid\tClearSelect();\npublic:\n\tWISP_POINT\tm_ScrPos;\n\tWISP_POINT\tm_CaretPos;\n\tWISP_POINT\tm_RealSelStartPos;\n\tWISP_POINT\tm_RealSelEndPos;\n\tWISP_POINT*\tm_pSelStartPos;\n\tWISP_POINT*\tm_pSelEndPos;\n\tbool\t\tm_bSelect;\n\tint\t\t\tm_Margin;\n\tint\t\t\tm_nCharsPerLine;\n\tint\t\t\tm_nLinesPerPage;\n\tint\t\t\tm_MaxChars;\n\tint\t\t\tm_MaxLines;\nprivate:\n\tbool inline\tIsSelectChar(int ScrX,int ScrY);\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispComboBox.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispComboBox.h\"\n#include \"WispDIBLib.h\"\n\nenum WISP_COMBO_BOX\n{\n\tWISP_ID_COMBO_BT = WISP_ID_DEVELOP_START,\n\tWISP_ID_COMBO_LIST,\n};\n\nWISP_MSG_MAP_BEGIN(CWispComboBox)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate);\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy);\nWISP_MSG_MAP_END(CWispEdit)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispComboBox)\n\tWISP_MSG_EVENT_MAP(WISP_ID_COMBO_BT,OnComboBT);\n\tWISP_MSG_EVENT_MAP(WISP_ID_COMBO_LIST,OnComboListEvent);\nWISP_MSG_EVENT_MAP_END\n\n\nWISP_MSG_CMD_MAP_BEGIN(CWispComboBox)\n\tWISP_MSG_CMD_MAP(WISP_ID_COMBO_LIST,OnComboListCmd);\nWISP_MSG_CMD_MAP_END\n\n\nCWispComboBox::CWispComboBox()\n{\n\tm_CtrlType = WISP_CTRL_COMBO_BOX;\n\tm_CurSelIndex = -1;\n}\n\nbool CWispComboBox::OnCreate(IN WISP_MSG*pMsg)\n{\n\tWISP_SIZE BTSize;\n\tCWispDIBList*pDIBList=WispDIBList(\"\\\\Skin\\\\Default\\\\VertInc.bmp\",16,16);\n\tBTSize.cx = pDIBList->m_DIBList->Width();\n\tBTSize.cy = pDIBList->m_DIBList->Height();\n\tm_ComboButton.CreateEx(pDIBList,m_ClientRect.cx-BTSize.cx,0,this,WISP_ID_COMBO_BT);\n\tm_ComboList.Create(NULL,0,0,m_WindowRect.cx,BTSize.cy,NULL,WISP_ID_COMBO_LIST,WISP_WS_THIN_BORDER|WISP_WLS_FOLLOW_SEL,WISP_SH_HIDDEN);\n\tm_ComboList.SetOwner(this);\n\tm_ComboList.InsertColumn(NULL,-1);\n\treturn true;\n}\n\nbool CWispComboBox::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_ComboList.Destroy();\n\treturn true;\n}\n\nbool CWispComboBox::OnComboBT(IN WISP_MSG*pMsg)\n{\n\tif(m_ComboList.IsVisible())\n\t{\n\t\tm_ComboList.Show(WISP_SH_HIDDEN);\n\t}\n\telse\n\t{\n\t\tm_ComboList.MoveToScreen(m_ScrWindowRect.x,m_ScrWindowRect.y+m_ScrWindowRect.cy,false);\n\t\tm_ComboList.Resize(m_ComboList.m_WindowRect.cx,m_ComboList.GetItemCount()*m_ComboList.m_ButtonSize.cy+m_BorderSize*2,false);\n\t\tm_ComboList.Show();\n\t\tm_ComboList.Top();\n\t\tm_ComboList.Focus();\n\t}\n\treturn true;\n}\n\nbool CWispComboBox::OnComboListEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_CTRL_CLICK)\n\t{\n\t\tHANDLE hItem = pMsg->Command.Param2;\n\t\tm_CurSelIndex = m_ComboList.GetItemIndex(hItem);\n\t\tSetWindowText(m_ComboList.GetItemText(hItem));\n\t\tm_ComboList.Show(WISP_SH_HIDDEN);\n\t\tFocus();\n\t\tSendCmdMsg(WISP_CMD_COMBOX_SELCHANGE,m_CurSelIndex,hItem);\n\t}\n\treturn true;\n}\n\nbool CWispComboBox::OnComboListCmd(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_CTRL_LOST_FOCUS && pMsg->Command.Param2 != &m_ComboButton)\n\t{\n\t\tm_ComboList.Show(WISP_SH_HIDDEN);\n\t}\n\treturn true;\n}\n\nvoid CWispComboBox::SelectItem(int Index)\n{\n\tHANDLE hItem = m_ComboList.GetItem(Index);\n\tif(hItem)\n\t{\n\t\tSetWindowText(m_ComboList.GetItemText(hItem));\n\t\tm_CurSelIndex = Index;\n\t\tUpdate();\n\t}\n}\n\nint\tCWispComboBox::GetCurSelItem()\n{\n\treturn m_CurSelIndex;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispComboBox.h",
    "content": "#ifndef _WISP_COMBOBOX_H_\n#define _WISP_COMBOBOX_H_\n\n#include \"WispList.h\"\n#include \"WispButton.h\"\n\nclass CWispComboBox : public CWispEdit\n{\npublic:\n\tCWispComboBox();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnComboBT)\n\tDECLARE_WISP_MSG_EVENT(OnComboListEvent)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnComboListCmd)\npublic:\n\tint\t\t\tm_CurSelIndex;\n\tCWispList\tm_ComboList;\n\tCWispButton\tm_ComboButton;\n\tvoid\t\tSelectItem(int Index);\n\tint\t\t\tGetCurSelItem();\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispConfig.h",
    "content": "#ifndef _WISP_CONFIG_H_\n#define _WISP_CONFIG_H_\n\n/////////////////////////////////////////////\n//ǰհ뿪\n/////////////////////////////////////////////\n\n/////////////////////////////////////////////\n//Scroll Use LONGLONG \n//#define WISP_SCROLL_LONGLONG\n/////////////////////////////////////////////\n\n/////////////////////////////////////////////\n//Repeat key use timer\n#ifdef CODE_OS_NT_DRV\n//#define WISP_TIMER_SIM_KEY_REPEAT\n#endif\n/////////////////////////////////////////////\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispConsoleWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispConsoleWnd.h\"\n\n#define OUTPUT_PREALLOCATE_LEN\tMAX_LINE_CHAR*10+1\n\nWISP_MSG_MAP_BEGIN(CWispTerminalWnd)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_CHAR,OnChar);\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispColorStrWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispTerminalWnd)\nWISP_MSG_CMD_MAP_DEFAULT_END(OnCmdGetCmd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispTerminalWnd)\n\tWISP_MSG_EVENT_MAP(WISP_ID_PASTE,OnEventPaste)\t\nWISP_MSG_EVENT_MAP_END\n\nCWispTerminalWnd::CWispTerminalWnd()\n{\n\tm_CtrlType = WISP_CTRL_TERMINAL_WND;\n\tm_pConsoleWnd = NULL;\n\tm_Prefix=WISP_STR(\">\");\n\tm_MaxChars = m_Prefix.m_Length;\n\tm_OutPutStr.Preallocate(OUTPUT_PREALLOCATE_LEN);\n\tm_pStream = NULL;\n\tm_StreamStyle = WISP_SSTREAM_UNIX;\n}\n\nCWispTerminalWnd::~CWispTerminalWnd()\n{\n}\n\nbool CWispTerminalWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tEnableScrollBar(WISP_SB_VERT);\n\tEnableScrollBar(WISP_SB_HORZ);\n\tm_InputStr.Empty();\n\tm_InputStr=m_Prefix;\n\tm_CaretPos.x=m_ScrPos.x+m_InputStr.m_Length;\n\tm_CaretPos.y=m_LineList.Count();\n\tm_CurHisIndex=-1;\n\tRecalcLayout();\n\tUpdateCaretState();\n\tCreateCaret(WISP_DI_CARET);\n\tShowCaret(true);\n\tBlinkCaret(300);\n\tm_bBGColor\t= true;\n\tm_crBGColor = m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BLACK];\n\tm_TextColor = SC_WHITE;\n\tm_bNewLine = true;\n\tm_Style|=WISP_WCSS_SELECT_STRING;\n\treturn true;\n}\n\nbool CWispTerminalWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_UP:\n\t\t\t{\n\t\t\t\tif(m_CmdHistroy.Count() && m_CurHisIndex<m_CmdHistroy.Count()-1)\n\t\t\t\t{\n\t\t\t\t\tif(m_CurHisIndex<0)\n\t\t\t\t\t\tm_CurHisIndex=0;\n\t\t\t\t\telse\n\t\t\t\t\t\tm_CurHisIndex++;\n\t\t\t\t\tm_InputStr = m_CmdHistroy[m_CurHisIndex];\n\t\t\t\t\tm_CaretPos.x = m_InputStr.GetLength();\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_DOWN:\n\t\t\t{\n\t\t\t\tif(m_CmdHistroy.Count() && m_CurHisIndex>0)\n\t\t\t\t{\n\t\t\t\t\tm_CurHisIndex--;\n\t\t\t\t\tm_InputStr = m_CmdHistroy[m_CurHisIndex];\n\t\t\t\t\tm_CaretPos.x = m_InputStr.Length();\n\t\t\t\t\tRecalcLayout();\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_LBUTTON:\n\t\t\t{\n\t\t\t\tint NewX,ScrY;\n\t\t\t\tScrY = (pMsg->MsgMouseCltPT.y-m_Margin)/m_ClientDC.m_pFont->m_Height;\n\t\t\t\tif(ScrY == m_LineList.Count() - m_ScrPos.y)\n\t\t\t\t{\n\t\t\t\t\tNewX = (pMsg->MsgMouseCltPT.x-m_Margin)/m_ClientDC.m_pFont->m_Width + m_ScrPos.x;\n\t\t\t\t\tif(NewX >= m_Prefix.Length() && NewX<=m_InputStr.Length())\n\t\t\t\t\t{\n\t\t\t\t\t\tm_CaretPos.x = NewX;\n\t\t\t\t\t\tRecalcLayout();\n\t\t\t\t\t\tUpdateClient();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_LEFT:\n\t\t\tClearSelect();\n\t\t\tif(m_CaretPos.x>m_Prefix.Length())\n\t\t\t{\n\t\t\t\tm_CaretPos.x--;\n\t\t\t\tEnsureInputCaretVisible();\n\t\t\t\tRecalcLayout();\n\t\t\t}\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_RIGHT:\n\t\t\tClearSelect();\n\t\t\tif(m_CaretPos.x<m_InputStr.Length())\n\t\t\t{\t\n\t\t\t\tm_CaretPos.x++;\n\t\t\t\tEnsureInputCaretVisible();\n\t\t\t\tRecalcLayout();\n\t\t\t}\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_MOD_SHIFT|WISP_VK_LEFT:\n\t\t\tif(m_bSelect)\n\t\t\t{\n\t\t\t\tif(m_CaretPos.x > m_Prefix.Length() && m_RealSelEndPos.y==m_LineList.Count())\n\t\t\t\t{\n\t\t\t\t\tm_CaretPos.x--;\n\t\t\t\t\tm_RealSelEndPos.x = m_CaretPos.x;\n\t\t\t\t\tUpdateCaretState();\n\t\t\t\t\tm_RealSelEndPos.y = m_RealSelStartPos.y;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_CaretPos.x>m_Prefix.Length())\n\t\t\t\t{\n\t\t\t\t\tm_bSelect = true;\n\t\t\t\t\tm_RealSelStartPos = m_CaretPos;\n\t\t\t\t\tm_RealSelStartPos.x--;\n\t\t\t\t\tm_RealSelEndPos = m_RealSelStartPos;\n\t\t\t\t\tm_CaretPos.x = m_RealSelEndPos.x;\n\t\t\t\t\tUpdateCaretState();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(m_RealSelEndPos.y < m_RealSelStartPos.y || (m_RealSelEndPos.y == m_RealSelStartPos.y && m_RealSelEndPos.x < m_RealSelStartPos.x) )\n\t\t\t{\n\t\t\t\tm_pSelStartPos = &m_RealSelEndPos;\n\t\t\t\tm_pSelEndPos = &m_RealSelStartPos;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_pSelStartPos = &m_RealSelStartPos;\n\t\t\t\tm_pSelEndPos = &m_RealSelEndPos;\n\t\t\t}\n\t\t\tUpdate();\n\t\t\tbreak;\n\t\tcase WISP_MOD_SHIFT|WISP_VK_RIGHT:\n\t\t\tif(m_bSelect)\n\t\t\t{\n\t\t\t\tif(m_CaretPos.x<m_InputStr.Length() && m_RealSelEndPos.y==m_LineList.Count())\n\t\t\t\t{\n\t\t\t\t\tm_RealSelEndPos.x = m_CaretPos.x;\n\t\t\t\t\tm_CaretPos.x++;\n\t\t\t\t\tUpdateCaretState();\n\t\t\t\t\tm_RealSelEndPos.y = m_RealSelStartPos.y;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_CaretPos.x<m_InputStr.Length())\n\t\t\t\t{\n\t\t\t\t\tm_bSelect = true;\n\t\t\t\t\tm_RealSelStartPos = m_CaretPos;\n\t\t\t\t\tm_RealSelEndPos = m_CaretPos;\n\t\t\t\t\tm_CaretPos.x++;\n\t\t\t\t\tUpdateCaretState();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(m_RealSelEndPos.y < m_RealSelStartPos.y || (m_RealSelEndPos.y == m_RealSelStartPos.y && m_RealSelEndPos.x < m_RealSelStartPos.x) )\n\t\t\t{\n\t\t\t\tm_pSelStartPos = &m_RealSelEndPos;\n\t\t\t\tm_pSelEndPos = &m_RealSelStartPos;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_pSelStartPos = &m_RealSelStartPos;\n\t\t\t\tm_pSelEndPos = &m_RealSelEndPos;\n\t\t\t}\n\t\t\tUpdate();\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_VK_X:\n\t\tcase WISP_VK_DELETE:\n\t\t\tif(m_bSelect && m_pSelStartPos->y==m_LineList.Count() && m_pSelStartPos->x>=m_Prefix.Length() && m_pSelEndPos->x>=m_pSelStartPos->x)\n\t\t\t{\n\t\t\t\tint Count = m_pSelEndPos->x-m_pSelStartPos->x+1;\n\t\t\t\tif(pMsg->KeyEvent.KeyType == (WISP_MOD_CTRL|WISP_VK_X))\n\t\t\t\t{\n\t\t\t\t\tCWispString Str;\n\t\t\t\t\tStr.Preallocate(Count+1);\n\t\t\t\t\tStr.m_Length=TStrCpyLimit(Str.m_pData,&m_InputStr.m_pData[m_pSelStartPos->x],Count+1);\n\t\t\t\t\tm_pWispBase->SetClipboardString(Str);\n\t\t\t\t}\n\t\t\t\tm_InputStr.Delete(m_pSelStartPos->x,Count);\n\t\t\t\tm_bSelect = false;\n\t\t\t\tm_CaretPos.x = m_pSelStartPos->x;\n\t\t\t\tRecalcLayout();\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\telse if(m_CaretPos.x<m_InputStr.Length())\n\t\t\t{\n\t\t\t\tm_InputStr.Delete(m_CaretPos.x);\n\t\t\t\tRecalcLayout();\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_HOME:\n\t\t\t{\n\t\t\t\tm_CaretPos.x = m_Prefix.Length();\n\t\t\t\tEnsureInputCaretVisible();\n\t\t\t\tRecalcLayout();\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_END:\n\t\t\t{\n\t\t\t\tm_CaretPos.x = m_InputStr.Length();\n\t\t\t\tEnsureInputCaretVisible();\n\t\t\t\tRecalcLayout();\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispTerminalWnd::OnChar(IN WISP_MSG*pMsg)\n{\n\tif(m_CaretPos.x>=MAX_CHARS_PER_LINE-1 && pMsg->Char.Char!=0x08/*Back Space*/&&pMsg->Char.Char!='\\n')\n\t\treturn true;\n\tif(m_LineList.Count()>m_nLinesPerPage && m_ScrPos.y < m_LineList.Count() - m_nLinesPerPage + 1)\n\t\tEnsureInputVisible();\n\tif(pMsg->Char.Char==0x08/*Back Space*/)\n\t{\n\t\tif(m_bSelect && m_pSelStartPos->y==m_LineList.Count() && m_pSelStartPos->x>=m_Prefix.Length() && m_pSelEndPos->x>m_pSelStartPos->x)\n\t\t{\n\t\t\tm_InputStr.Delete(m_pSelStartPos->x,m_pSelEndPos->x-m_pSelStartPos->x);\n\t\t\tm_bSelect = false;\n\t\t\tm_CaretPos.x = m_pSelStartPos->x;\n\t\t\tRecalcLayout();\n\t\t\tUpdateClient();\t\t\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_CaretPos.x<=m_Prefix.Length())\n\t\t\t\treturn true;\n\t\t\tm_CaretPos.x--;\n\t\t\tif(m_CaretPos.x<m_ScrPos.x)\n\t\t\t{\n\t\t\t\tm_ScrPos.x-=m_nCharsPerLine/2;\n\t\t\t\tif(m_ScrPos.x<0)\n\t\t\t\t\tm_ScrPos.x=0;\n\t\t\t}\n\t\t\tif(m_CaretPos.x<=m_InputStr.Length())\n\t\t\t{\n\t\t\t\tif(m_CaretPos.x>=m_Prefix.Length())\n\t\t\t\t\tm_InputStr.Delete(m_CaretPos.x);\n\t\t\t}\n\t\t\telse\n\t\t\t\tm_InputStr.Truncate(m_CaretPos.x);\n\t\t\tRecalcLayout();\n\t\t\tUpdate();\n\t\t}\n\t\treturn true;\n\t}\n\tif(pMsg->Char.Char!='\\n')\n\t{\n\t\tif(pMsg->Char.Char=='\\t')\n\t\t{//Զ\n\t\t\tfor(CCmdMap::IT Iter=m_pConsoleWnd->m_CmdMap.Begin();Iter!=m_pConsoleWnd->m_CmdMap.End();Iter++)\n\t\t\t{\n\t\t\t\tif(TStrNICmp(&m_InputStr[m_Prefix.m_Length],(CMD_CHAR*)Iter.Key(),m_InputStr.m_Length-m_Prefix.m_Length)==0)\n\t\t\t\t{\n\t\t\t\t\tm_InputStr = m_Prefix+Iter.Key();\n\t\t\t\t\tm_CaretPos.x = m_InputStr.m_Length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_CaretPos.x<m_InputStr.Length())\n\t\t\t{\n\t\t\t\tm_InputStr.Insert(m_CaretPos.x,pMsg->Char.Char);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_InputStr+=pMsg->Char.Char;\n\t\t\t}\n\t\t\tm_CaretPos.x++;\n\t\t\tif(m_InputStr.m_Length+1>m_MaxChars)\n\t\t\t\tm_MaxChars = m_InputStr.m_Length+1;\n\t\t\tif(m_CaretPos.x>=m_ScrPos.x+m_nCharsPerLine)\n\t\t\t\tm_ScrPos.x++;\n\t\t}\n\t}\n\tif(pMsg->Char.Char=='\\n')\n\t{\n\t\tif(m_InputStr.GetLength()>m_Prefix.GetLength())\n\t\t{\n\t\t\tm_CmdHistroy.Push(m_InputStr);\n\t\t\tm_CurHisIndex = -1;\n\t\t}\n\t\tWISP_MSG Msg;\n\t\tMsg.hWnd = this;\n\t\tMsg.Msg = WISP_WM_COMMAND;\n\t\tMsg.Command.CmdID = WISP_ID_SELF;\n\t\tMsg.Command.CmdMsg = WISP_CMD_GET_CMD;\n\t\tMsg.Command.Param2 = m_InputStr;\n\t\tm_CmdStr = &m_InputStr[m_Prefix.m_Length];\n\t\tm_InputStr.SetAt(m_Prefix.m_Length,0);\n\t\tm_CaretPos.x=m_Prefix.m_Length;\n\t\tSEND_MSG(&Msg);\n\t\tif(m_nLinesPerPage>0)\n\t\t{\n\t\t\tm_ScrPos.y=m_LineList.Count()-m_nLinesPerPage+1;\n\t\t\tMIN_LIMIT(m_ScrPos.y,0);\n\t\t\tSetScrollBarCurPos(WISP_SB_VERT,m_ScrPos.y);\n\t\t}\n\t\tm_CaretPos.y=m_LineList.Count();\n\t\tm_ScrPos.x=0;\n\t}\n\tRecalcLayout();\n\tUpdate();\n\treturn true;\n}\n\nbool CWispTerminalWnd::OnCmdGetCmd(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_GET_CMD)\n\t{\n\t\tLockUpdate();\n\t\tPrintf(WISP_STR(\"%s%s\\n\"),(WISP_PCSTR)m_InputStr,(WISP_PCSTR)m_CmdStr);\n\t\tif(m_pConsoleWnd==NULL)\n\t\t{\n\t\t\tPrintf(WISP_STR(\"Error : inside error!\\n\"));\n\t\t\tUnlockUpdate();\n\t\t\treturn false;\n\t\t}\n\t\tif(m_CmdStr.Length())\n\t\t{\n\t\t\tif(m_CtrlType == WISP_CTRL_TERMINAL_WND)\n\t\t\t\tm_pConsoleWnd->m_pTerminalWnd = this;\n\t\t\tif(m_pConsoleWnd->RunCmdNotify(m_CmdStr))\n\t\t\t{\n\t\t\t\tif(m_pConsoleWnd->RunCmd(m_CmdStr)==false)\n\t\t\t\t\tPrintf(WISP_STR(\"Error : unknown command !\\n\"));\n\t\t\t\tAfterRunCmdNotify(m_CmdStr);\n\t\t\t}\n\t\t\tif(m_CtrlType == WISP_CTRL_TERMINAL_WND)\n\t\t\t\tm_pConsoleWnd->m_pTerminalWnd = NULL;\n\t\t}\n\t\tUnlockUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispTerminalWnd::OnEventPaste(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_ClipboardString.IsEmpty()==false)\n\t{\n\t\tm_InputStr.Insert(m_CaretPos.x,m_pWispBase->m_ClipboardString);\n\t\tif(m_InputStr.GetLength()>=MAX_CHARS_PER_LINE)\n\t\t\tm_InputStr.Truncate(MAX_CHARS_PER_LINE);\n\t\tm_CaretPos.x += m_pWispBase->m_ClipboardString.Length();\n\t\tMAX_LIMIT(m_CaretPos.x,m_InputStr.GetLength());\n\t\tUpdateCaretState();\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nvoid CWispTerminalWnd::SetFontColor(BYTE ColorIndex)\n{\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\n\t\t((CWispConsoleWnd*)this)->m_pTerminalWnd->m_TextColor = ColorIndex;\n\telse\n\t\tm_TextColor = ColorIndex;\n}\n\nvoid CWispTerminalWnd::SaveFontColor()\n{\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\n\t\t((CWispConsoleWnd*)this)->m_pTerminalWnd->m_OldTextColor = ((CWispConsoleWnd*)this)->m_pTerminalWnd->m_TextColor;\n\telse\n\t\tm_OldTextColor = m_TextColor;\n}\n\nvoid CWispTerminalWnd::RestoreFontColor()\n{\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\n\t\t((CWispConsoleWnd*)this)->m_pTerminalWnd->m_TextColor = ((CWispConsoleWnd*)this)->m_pTerminalWnd->m_OldTextColor;\n\telse\n\t\tm_TextColor = m_OldTextColor;\n}\n\nvoid CWispTerminalWnd::EnsureInputVisible()\n{\n\tm_ScrPos.y=m_LineList.Count()-m_nLinesPerPage+1;\n\tMIN_LIMIT(m_ScrPos.y,0);\n\tSetScrollBarCurPos(WISP_SB_VERT,m_ScrPos.y);\n\tUpdateCaretState();\n}\n\nvoid CWispTerminalWnd::EnsureInputCaretVisible()\n{\n\tif(m_CaretPos.x < m_ScrPos.x)\n\t\tm_ScrPos.x = m_CaretPos.x;\n\tif(m_CaretPos.x >= m_ScrPos.x+m_nCharsPerLine)\n\t\tm_ScrPos.x = m_CaretPos.x - m_nCharsPerLine+1;\n\tMIN_LIMIT(m_CaretPos.x,0);\n\tUpdateCaretState();\n\tUpdate();\n}\n\nbool CWispTerminalWnd::RunModulePathBat(PCSTR FileName,PCSTR szCmdArg,int*pResult)\n{\n\tWCHAR wszBuffer[MAX_FN_LEN];\n\tchar szBuffer[MAX_FN_LEN],*pStr;\n\tpStr = szBuffer + TStrCpy(szBuffer,\"bat \");\n\tif(szCmdArg)\n\t{\n\t\tpStr+=TStrCpy(pStr,szCmdArg);\n\t\tpStr+=TStrCpy(pStr,\" \");\n\t}\n\tpStr+=GetModulePath(pStr);\n\tpStr+=TStrCpy(pStr,FileName);\n\tAnsiToUnicode(szBuffer,wszBuffer,MAX_FN_LEN);\n\treturn m_pConsoleWnd->RunCmd(wszBuffer,pResult);\n}\n\nbool CWispTerminalWnd::TermRunCmd(const CMD_CHAR*szCmd,int*pResult)\n{\n\tbool Result;\n\tif(m_CtrlType == WISP_CTRL_TERMINAL_WND)\n\t\tm_pConsoleWnd->m_pTerminalWnd = this;\n\tResult = m_pConsoleWnd->RunCmd(szCmd,pResult);\n\tif(m_CtrlType == WISP_CTRL_TERMINAL_WND)\n\t\tm_pConsoleWnd->m_pTerminalWnd = NULL;\n\treturn Result;\n}\n\nbool CWispTerminalWnd::SaveHistroys(PCSTR FileName)\n{\n\tint Length;\n\tWCHAR wszBuffer[MAX_CHARS_PER_LINE+2];\n\tCHAR szBuffer[MAX_CHARS_PER_LINE+2];\n\tCImageFileStream FileObj;\n\tgpFileIO->DeleteFile(FileName);\n\tif(FileObj.Create(FileName)==false)\n\t\treturn false;\n\tfor(int n=0;n<m_LineList.Count();n++)\n\t{\n\t\tTStrCpyLimit(wszBuffer,(WISP_COLOR_CHAR*)m_LineList[n],sizeof(szBuffer));\n\t\tLength=UnicodeToAnsi(wszBuffer,szBuffer,sizeof(szBuffer));\n\t\tTStrCpy(&szBuffer[Length],\"\\r\\n\");\n\t\tLength+=2;\n\t\tFileObj.Puts(szBuffer,Length);\n\t}\n\tFileObj.Close();\n\treturn true;\n}\n\nvoid CWispTerminalWnd::SetHistoryLines(IN int nLine)\n{\n\tif(nLine> 0 && nLine<10000)\n\t\tm_LineList.Resize(nLine);\n}\n\nvoid CWispTerminalWnd::ClearScreen()\n{\n\tm_LineList.Clear();\n\tm_CaretPos.x = m_Prefix.m_Length;\n\tm_CaretPos.y = 0;\n\tm_ScrPos.x = m_ScrPos.y = 0;\n\tm_MaxChars = m_Prefix.m_Length+1;\n\tSetMaxLines(m_LineList.Count()+1);\n\tm_InputStr = m_Prefix;\n\tRecalcLayout();\n\tUpdate();\n}\n\nvoid CWispTerminalWnd::Output(IN const WISP_CHAR*szLine)\n{\n\tint Length,TotalLength,LineLengthLeft;\n\tconst WISP_CHAR*pThisLine,*pNextLine;\n\tWISP_COLOR_CHAR szLineBuffer[MAX_CHARS_PER_LINE+1];\n\tCWispColorString*pLine;\n\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\n\t{\n\t\t((CWispConsoleWnd*)this)->m_pTerminalWnd->Output(szLine);\n\t\treturn;\n\t}\n\tTotalLength = TStrLen(szLine);\n\tif(m_bNewLine)\n\t{\n\t\tLineLengthLeft = MAX_CHARS_PER_LINE;\n\t\tpLine = m_LineList.Append();\n\t\tSetMaxLines(m_LineList.Count()+1);\n\t\tpLine->Empty();\n\t\tm_bNewLine = false;\n\t}\n\telse\n\t{\n\t\tLineLengthLeft = MAX_CHARS_PER_LINE - m_LineList[m_LineList.Count()-1].m_Length;\n\t\tpLine = &m_LineList[m_LineList.Count()-1];\n\t}\n\tpThisLine = szLine;\n\twhile(pThisLine && *pThisLine)\n\t{\n\t\tif(LineLengthLeft==0)\n\t\t{\n\t\t\tLineLengthLeft = MAX_CHARS_PER_LINE;\n\t\t\tpLine = m_LineList.Append();\n\t\t\tSetMaxLines(m_LineList.Count()+1);\n\t\t\tpLine->Empty();\n\t\t}\n\t\tpNextLine=TStrChr(pThisLine,(WISP_CHAR)'\\n');\n\t\tif(pNextLine)\n\t\t{\n\t\t\tLength = (int) (pNextLine - pThisLine);\n\t\t\tif(Length>LineLengthLeft)\n\t\t\t\tLength = LineLengthLeft;\n\t\t\tpNextLine++;\n\t\t\tColorStrNCpy(szLineBuffer,pThisLine,Length,m_TextColor,0);\n\t\t\tif(*pNextLine==0)\n\t\t\t{\n\t\t\t\tm_bNewLine=true;\n\t\t\t\tif(m_pStream)\n\t\t\t\t{\n\t\t\t\t\tif(m_StreamStyle&WISP_SSTREAM_DOS)\n\t\t\t\t\t\tszLineBuffer[Length++] = (WISP_COLOR_CHAR)'\\r';\n\t\t\t\t\tszLineBuffer[Length++] = (WISP_COLOR_CHAR)'\\n';\n\t\t\t\t\tszLineBuffer[Length] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(m_pStream)\n\t\t\t\tm_pStream->Puts((void*)szLineBuffer,Length*sizeof(WISP_COLOR_CHAR));\n\t\t\t*pLine += szLineBuffer;\n\t\t\tif(pLine->m_Length > m_MaxChars)\n\t\t\t\tm_MaxChars = pLine->m_Length;\n\t\t\tLineLengthLeft = 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLength = TStrLen(pThisLine);\n\t\t\tif(Length>LineLengthLeft)\n\t\t\t\tLength = LineLengthLeft;\n\t\t\tpNextLine = &pThisLine[Length];\n\t\t\tColorStrNCpy(szLineBuffer,pThisLine,Length,m_TextColor,0);\n\t\t\t*pLine += szLineBuffer;\n\t\t\tif(m_pStream)\n\t\t\t\tm_pStream->Puts((void*)szLineBuffer,Length*sizeof(WISP_COLOR_CHAR));\n\t\t\tif(pLine->m_Length > m_MaxChars)\n\t\t\t\tm_MaxChars = pLine->m_Length;\n\t\t\tLineLengthLeft = MAX_CHARS_PER_LINE - pLine->m_Length;\n\t\t}\n\t\tpThisLine = pNextLine;\n\t}\n\tm_CaretPos.y=m_LineList.Count();\n\tif(m_nLinesPerPage>0)\n\t{\n\t\tm_ScrPos.y=m_LineList.Count()-m_nLinesPerPage+1;\n\t\tMIN_LIMIT(m_ScrPos.y,0);\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_ScrPos.y);\n\t}\n\tRecalcLayout();\n}\n\nvoid CWispTerminalWnd::Output(IN const WISP_COLOR_CHAR*szLine)\n{\n\tint Length,TotalLength,LineLengthLeft;\n\tconst WISP_COLOR_CHAR*pThisLine,*pNextLine;\n\tWISP_COLOR_CHAR szLineBuffer[MAX_CHARS_PER_LINE+1];\n\tCWispColorString*pLine;\n\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\n\t{\n\t\t((CWispConsoleWnd*)this)->m_pTerminalWnd->Output(szLine);\n\t\treturn;\n\t}\n\tTotalLength = TStrLen(szLine);\n\tif(m_bNewLine)\n\t{\n\t\tLineLengthLeft = MAX_CHARS_PER_LINE;\n\t\tpLine = m_LineList.Append();\n\t\tSetMaxLines(m_LineList.Count()+1);\n\t\tpLine->Empty();\n\t\tm_bNewLine = false;\n\t}\n\telse\n\t{\n\t\tLineLengthLeft = MAX_CHARS_PER_LINE - m_LineList[m_LineList.Count()-1].m_Length;\n\t\tpLine = &m_LineList[m_LineList.Count()-1];\n\t}\n\tpThisLine = szLine;\n\twhile(pThisLine && *pThisLine)\n\t{\n\t\tif(LineLengthLeft==0)\n\t\t{\n\t\t\tLineLengthLeft = MAX_CHARS_PER_LINE;\n\t\t\tpLine = m_LineList.Append();\n\t\t\tSetMaxLines(m_LineList.Count()+1);\n\t\t\tpLine->Empty();\n\t\t}\n\t\tpNextLine=TStrChr(pThisLine,(WISP_COLOR_CHAR)'\\n');\n\t\tif(pNextLine)\n\t\t{\n\t\t\tLength = (int) (pNextLine - pThisLine);\n\t\t\tif(Length>LineLengthLeft)\n\t\t\t\tLength = LineLengthLeft;\n\t\t\tpNextLine++;\n\t\t\tTStrCpyLimit(szLineBuffer,pThisLine,Length+1);\n\t\t\tif(*pNextLine==0)\n\t\t\t{\n\t\t\t\tm_bNewLine=true;\n\t\t\t\tif(m_pStream)\n\t\t\t\t{\n\t\t\t\t\tif(m_StreamStyle&WISP_SSTREAM_DOS)\n\t\t\t\t\t\tszLineBuffer[Length++] = (WISP_COLOR_CHAR)'\\r';\n\t\t\t\t\tszLineBuffer[Length++] = (WISP_COLOR_CHAR)'\\n';\n\t\t\t\t\tszLineBuffer[Length] = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(m_pStream)\n\t\t\t\tm_pStream->Puts((void*)szLineBuffer,Length*sizeof(WISP_COLOR_CHAR));\n\t\t\t*pLine += szLineBuffer;\n\t\t\tif(pLine->m_Length > m_MaxChars)\n\t\t\t\tm_MaxChars = pLine->m_Length;\n\t\t\tLineLengthLeft = 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tLength = TStrLen(pThisLine);\n\t\t\tif(Length>LineLengthLeft)\n\t\t\t\tLength = LineLengthLeft;\n\t\t\tpNextLine = &pThisLine[Length];\n\t\t\tTStrCpyLimit(szLineBuffer,pThisLine,Length+1);\n\t\t\t*pLine += szLineBuffer;\n\t\t\tif(m_pStream)\n\t\t\t\tm_pStream->Puts((void*)szLineBuffer,Length*sizeof(WISP_COLOR_CHAR));\n\t\t\tif(pLine->m_Length > m_MaxChars)\n\t\t\t\tm_MaxChars = pLine->m_Length;\n\t\t\tLineLengthLeft = MAX_CHARS_PER_LINE - pLine->m_Length;\n\t\t}\n\t\tpThisLine = pNextLine;\n\t}\n}\n\nvoid CWispTerminalWnd::Output(WISP_CHAR ch)\n{\n\tif(ch)\n\t{\n\t\tm_OutPutStr+=ch;\n\t}\n\tif((ch==0 && m_OutPutStr.m_Length) || m_OutPutStr.m_Length >= MAX_CHARS_PER_LINE)\n\t{\n\t\tOutput(m_OutPutStr);\n\t\tm_OutPutStr.Truncate(0);\n\t}\n}\n\nvoid CWispTerminalWnd::AttachConsole(CWispConsoleWnd*pConsoleWnd)\n{\n\tm_pConsoleWnd = pConsoleWnd;\n}\n\nBYTE CWispTerminalWnd::GetLineStr(IN int LineIndex,OUT WISP_COLOR_CHAR*pColorStr)\n{\n\tif(LineIndex>m_LineList.Count())\n\t\treturn 0;\n\tif(LineIndex<m_LineList.Count())\n\t{\n\t\tTStrCpy(pColorStr,(WISP_COLOR_CHAR*)m_LineList[LineIndex]);\n\t}\n\telse\n\t{\n\t\tColorStrCpy(pColorStr,(WISP_CHAR*)m_InputStr,m_TextColor,0);\n\t}\n\tint len=TStrLen(pColorStr);\n\treturn 0;\n}\n\nCWispConsoleWnd::CWispConsoleWnd()\n{\n\tm_CtrlType = WISP_CTRL_CONSOLE_WND;\n\tm_pConsoleWnd = this;\n\tm_pTerminalWnd = NULL;\n}\n\nWISP_MSG_MAP_BEGIN(CWispConsoleWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispTerminalWnd)\n\nbool CWispConsoleWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tInsertCmd(WISP_STR(\"cls\"),(CMDPROC)CWispConsoleWnd::Cls,this,WISP_STR(\"Clear screen\"),NULL);\n\tInsertCmd(WISP_STR(\"wispver\"),(CMDPROC)CWispConsoleWnd::WispVer,this,NULL,NULL);\n\tInsertCmd(WISP_STR(\"hl\"),(CMDPROC)CWispConsoleWnd::HL,this,WISP_STR(\"Set count of histroy lines\"),NULL);\n\tInsertCmd(WISP_STR(\"hcc\"),(CMDPROC)CWispConsoleWnd::HCC,this,WISP_STR(\"Set count of command histroy\"),NULL);\n\tInsertCmd(WISP_STR(\"hc\"),(CMDPROC)CWispConsoleWnd::HC,this,WISP_STR(\"add a command string into histroy\"),NULL);\n\tInsertCmd(WISP_STR(\"Color\"),(CMDPROC)CWispConsoleWnd::Color,this,WISP_STR(\"Set default font color\"),NULL);\n\tInsertCmd(WISP_STR(\"BKColor\"),(CMDPROC)CWispConsoleWnd::BKColor,this,WISP_STR(\"Set default font color\"),NULL);\n\tInsertCmd(WISP_STR(\"help\"),(CMDPROC)CWispConsoleWnd::Help,this,WISP_STR(\"Display this help information\"),NULL);\n\tInsertCmd(WISP_STR(\"h\"),(CMDPROC)CWispConsoleWnd::Help,this,WISP_STR(\"Display this help information\"),NULL);\n\tInsertCmd(WISP_STR(\"bat\"),(CMDPROC)CWispConsoleWnd::Bat,this,NULL,NULL);\n\tInsertCmd(WISP_STR(\"set\"),(CMDPROC)CWispConsoleWnd::Set,this,NULL,NULL);\n\tInsertCmd(WISP_STR(\"#\"),(CMDPROC)CWispConsoleWnd::DoNothing,this,NULL,NULL);\n\tInsertCmd(WISP_STR(\"@\"),(CMDPROC)CWispConsoleWnd::Print,this,NULL,NULL);\n\treturn true;\n}\n\nbool CWispConsoleWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tReset();\n\treturn true;\n}\n\nvoid CWispConsoleWnd::DisplayColor()\n{\n\tPrintf(WISP_STR(\"%<0>0 ------- Black\\n\"));\n\tPrintf(WISP_STR(\"%<1>1 ------- White\\n\"));\n\tPrintf(WISP_STR(\"%<2>2 ------- Red\\n\"));\n\tPrintf(WISP_STR(\"%<3>3 ------- Light Red\\n\"));\n\tPrintf(WISP_STR(\"%<4>4 ------- Green\\n\"));\n\tPrintf(WISP_STR(\"%<5>5 ------- Light Green\\n\"));\n\tPrintf(WISP_STR(\"%<6>6 ------- Blue\\n\"));\n\tPrintf(WISP_STR(\"%<7>7 ------- Light Blue\\n\"));\n\tPrintf(WISP_STR(\"%<8>8 ------- Brown\\n\"));\n\tPrintf(WISP_STR(\"%<9>9 ------- Light Brown\\n\"));\n\tPrintf(WISP_STR(\"%<A>A ------- Cyan\\n\"));\n\tPrintf(WISP_STR(\"%<B>B ------- Light Cyan\\n\"));\n\tPrintf(WISP_STR(\"%<C>C ------- Gray\\n\"));\n\tPrintf(WISP_STR(\"%<D>D ------- Light Gray\\n\"));\n\tPrintf(WISP_STR(\"%<E>E ------- Yellow\\n\"));\n\tPrintf(WISP_STR(\"%<F>F ------- Light Yellow\\n\"));\n}\n\nint CWispConsoleWnd::Color(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tCONSOLE_TERMINAL(pConWnd);\n\tBYTE Color;\n\tif(argc!=2 || USHexStrToNum(argv[1],&Color)==false)\n\t{\n\t\tpConWnd->Printf(WSTR(\"Usage : Color Color_Index[0 - FF]\\n\"));\n\t\tpConWnd->DisplayColor();\n\t\treturn 0;\n\t}\n\tpConWnd->SetFontColor(Color);\n\treturn 0;\n}\n\nint CWispConsoleWnd::BKColor(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tCONSOLE_TERMINAL(pConWnd);\n\tBYTE Color;\n\tif(argc!=2 || USHexStrToNum(argv[1],&Color)==false)\n\t{\n\t\tpConWnd->Printf(WSTR(\"Usage : BKColor Color_Index[0 - FF]\\n\"));\n\t\tpConWnd->DisplayColor();\n\t\treturn 0;\n\t}\n\tpConWnd->SetBGColor(pConWnd->SYS_COLOR[Color]);\n\treturn 0;\n}\n\nint CWispConsoleWnd::Cls(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tCONSOLE_TERMINAL(pConWnd);\n\tpConWnd->ClearScreen();\n\treturn 0;\n}\n\nint CWispConsoleWnd::HL(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tCONSOLE_TERMINAL(pConWnd);\n\tULSIZE Line;\n\tif(argc!=2)\n\t{\n\t\tpConWnd->Printf(WISP_STR(\"Usage : hl <histroy lines count>\\n\"));\n\t\tpConWnd->Printf(WISP_STR(\"Current count of histroy lines = %<E>%d (dec)\\n\"),pConWnd->m_LineList.Size());\n\t\treturn -1;\n\t}\n\tif(USDecStrToNum(argv[1],&Line)==false)\n\t{\n\t\tpConWnd->Printf(WISP_STR(\"Error : %s is Invalid !\\n\"),argv[1]);\n\t\treturn -1;\n\t}\n\tif(Line<1 || Line> 10000)\n\t{\n\t\tpConWnd->Printf(WISP_STR(\"Error : please input from 1 to 1000\\n\"));\n\t\treturn -1;\n\t}\n\tpConWnd->SetHistoryLines(Line);\n\treturn 0;\n}\n\nint CWispConsoleWnd::HCC(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tULONG Count;\n\tCONSOLE_TERMINAL(pConWnd);\n\tif(argc==1)\n\t{\n\t\tpConWnd->Printf(WSTR(\"command histroy count = %d\\n\"),pConWnd->m_CmdHistroy.Count());\n\t\treturn 0;\n\t}\n\tif(argc>2 || USDecStrToNum(argv[1],&Count)==false)\n\t{\n\t\tpConWnd->Printf(WSTR(\"Usage : hcc command_histroy_count\\n\"));\n\t\treturn 1;\n\t}\n\tpConWnd->m_CmdHistroy.Resize(Count);\n\treturn 0;\n}\n\nint CWispConsoleWnd::HC(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tif(argc==1)\n\t{\n\t\tpConWnd->Printf(WSTR(\"Usage : hc sz_command_line\\n\"));\n\t\treturn 1;\n\t}\n\tpConWnd->m_CmdHistroy.Push(pConWnd->m_Prefix+&szCommandLine[argv[1]-argv[0]]);\n\treturn 0;\n}\n\nint CWispConsoleWnd::Bat(int argc,WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine,CWispConsoleWnd*pConWnd)\n{\n\tbool bSilence,bBreak;\n\tWISP_PCSTR pszFileName;\n\tWCHAR szCmd[MAX_CHARS_PER_LINE+1];\n\tchar FileName[MAX_FN_LEN];\n\tCTXTFile TextFile;\n\tint Result;\n\tif(argc<2)\n\t\tgoto ShowUsage;\n\tbSilence = false;\n\tbBreak = false;\n\tif(argv[1][0]=='-')\n\t{\n\t\tbSilence = TStrIChr(argv[1],WCHAR('s'))!=NULL;\n\t\tbBreak = TStrIChr(argv[1],WCHAR('b'))!=NULL;\n\t\tif(argc<3)\n\t\t\tgoto ShowUsage;\n\t\tpszFileName = &szCommandLine[argv[2]-argv[0]];\n\t}\n\telse\n\t\tpszFileName = &szCommandLine[argv[1]-argv[0]];\n\tUnicodeToAnsi(pszFileName,FileName,MAX_FN_LEN);\n\tif(TextFile.Open(FileName)==false)\n\t{\n\t\tif(bSilence==false)\n\t\t\tpConWnd->Printf(WSTR(\"%<3>Error : %<B>Fail to open file %<F>%s %<1>!\\n\"),argv[1]);\n\t\treturn 1;\n\t}\n\tpConWnd->BatBeginNodify(szCommandLine);\n\tResult = 0;\n\tfor(TTXTStrList::IT LineIter = TextFile.m_StrList.Begin();LineIter!=TextFile.m_StrList.End();LineIter++)\n\t{\n\t\tAnsiToUnicode(*LineIter,szCmd,sizeof(szCmd)/sizeof(WCHAR));\n\t\tResult = 1;\n\t\tpConWnd->BatRunNodify(szCmd);\n\t\tif(pConWnd->RunCmd(szCmd,&Result)==false && bBreak)\n\t\t\tbreak;\n\t\tif(bBreak && Result!=0)\n\t\t\tbreak;\n\t}\n\tTextFile.Close();\n\tpConWnd->BatEndNodify(szCommandLine);\n\treturn Result;\nShowUsage:\n\tpConWnd->Printf(WSTR(\"Usage:%<B>bat [-s|b] %<1>bat_file_name \\n\"));\n\tpConWnd->Printf(WSTR(\"s : silence mode\\n\"));\n\tpConWnd->Printf(WSTR(\"b : break if command fail\\n\"));\n\treturn 1;\n\n}\n\nvoid show_env_value(PCWSTR szName,STOptVal::TYPE Type,void*pValue,CWispConsoleWnd*pTermWnd)\n{\n\tswitch(Type)\n\t{\n\tcase STOptVal::INT_VAL:\n\t\tpTermWnd->Printf(WSTR(\"%<B>%-12s %<1>= %<4>%d %<1>(dec)\\n\"),szName,*(int*)pValue);\n\t\tbreak;\n\tcase STOptVal::UINT_VAL:\n\t\tpTermWnd->Printf(WSTR(\"%<B>%-12s %<1>= %<4>%u %<1>(dec)\\n\"),szName,*(UINT*)pValue);\n\t\tbreak;\n\tcase STOptVal::FLOAT_VAL:\n\t\tbreak;\n\tcase STOptVal::STR_VAL:\n\t\tpTermWnd->Printf(WSTR(\"%<B>%-12s %<1>= %<F>\\\"%s\\\"%<1>\\n\"),szName,(PCWSTR)pValue);\n\t\tbreak;\n\tcase STOptVal::NULL_VAL:\n\t\tpTermWnd->Printf(WSTR(\"Error : Invalid value name !\\n\"));\n\t\tbreak;\n\t}\n}\n\nint CWispConsoleWnd::Set(int argc,WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine,CWispConsoleWnd*pConWnd)\n{\n\tCWispConsoleWnd*pOrgConWnd = pConWnd;\n\tCONSOLE_TERMINAL(pConWnd);\n\tSTOptVal::TYPE Type;\n\tint Length;\n\tbool Result;\n\tvoid*pValue;\n\tif(argc==1)\n\t{\n\t\tfor(COptValMap::IT Iter = pOrgConWnd->m_Option.m_OptValMap.Begin();Iter!=pOrgConWnd->m_Option.m_OptValMap.End();Iter++)\n\t\t{\n\t\t\tshow_env_value(Iter.Key(),Iter->Type,Iter->pValue,pConWnd);\n\t\t}\n\t\treturn 1;\n\t}\n\tif(argc==2)\n\t{\n\t\tType = pOrgConWnd->m_Option.GetValue(argv[1],&pValue,&Length);\n\t\tshow_env_value(argv[1],Type,pValue,pConWnd);\n\t\treturn 1;\n\t}\n\tType = pOrgConWnd->m_Option.GetValue(argv[1],&pValue,&Length);\n\tswitch(Type)\n\t{\n\tcase STOptVal::INT_VAL:\n\t\tResult = SDecStrToNum(argv[2],(int*)pValue);\n\t\tbreak;\n\tcase STOptVal::UINT_VAL:\n\t\tResult = USDecStrToNum(argv[2],(int*)pValue);\n\t\tbreak;\n\tcase STOptVal::FLOAT_VAL:\n\t\tbreak;\n\tcase STOptVal::STR_VAL:\n\t\tTStrCpyLimit((PWSTR)pValue,argv[2],Length);\n\t\tResult = true;\n\t\tbreak;\n\tcase STOptVal::NULL_VAL:\n\t\tpConWnd->Printf(WSTR(\"Error : Invalid value name!\\n\"));\n\t\treturn 1;\n\t}\n\tif(Result==false)\n\t{\n\t\tpConWnd->Printf(WSTR(\"Error : Invalid value!\\n\"));\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\n\nint CWispConsoleWnd::DoNothing(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\treturn 0;\n}\n\nint CWispConsoleWnd::Print(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tCONSOLE_TERMINAL(pConWnd);\n\tpConWnd->Printf(&szCommandLine[TStrLen(argv[0])+1]);\n\tpConWnd->Output(WISP_STR(\"\\n\"));\n\treturn 0;\n}\n\nint CWispConsoleWnd::WispVer(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tWISP_CHAR szData[64],szTime[64];\n\tCONSOLE_TERMINAL(pConWnd);\n\tpConWnd->Printf(WISP_STR(\"Wisp GUI System\\n\"));\n\tTStrCpy(szData,__DATE__);\n\tTStrCpy(szTime,__TIME__);\n\tpConWnd->Printf(WISP_STR(\"Build Time : %s  %s\\n\"),szData,szTime);\n\treturn 0;\n}\n\nint CWispConsoleWnd::Help(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd)\n{\n\tWCHAR szPatten[MAX_LONG_NAME_LEN];\n\t*szPatten = 0;\n\tCWispConsoleWnd*pConsoleWnd = pConWnd;\n\tCONSOLE_TERMINAL(pConWnd);\n\tif(argc>1)\n\t{\n\t\tTStrCpy(szPatten,argv[1]);\n\t\tTStrLwr(szPatten);\n\t\tif(TStrChr(szPatten,'*')==NULL && TStrChr(szPatten,'?')==NULL)\n\t\t{\n\t\t\tCCmdMap::IT CmdIter = pConsoleWnd->m_CmdMap.Find(szPatten);\n\t\t\tif(CmdIter.IsExist())\n\t\t\t{\n\t\t\t\tif(CmdIter->pUsage)\n\t\t\t\t\tpConWnd->Printf(CmdIter->pUsage);\n\t\t\t\telse if(CmdIter->pComment)\n\t\t\t\t\tpConWnd->Printf(WSTR(\"%s %s\\n\"),(WCHAR*)CmdIter.Key(),CmdIter->pComment);\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tpConWnd->Printf(WSTR(\"Invalid Command\\n\"));\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t}\n\telse\n\t\tTStrCpy(szPatten,\"*\");\n\tfor(CCmdMap::IT Iter = pConsoleWnd->m_CmdMap.Begin();Iter!=pConsoleWnd->m_CmdMap.End();Iter++)\n\t{\n\t\tif(TMultiMatchWithPattern(szPatten,(WCHAR*)Iter.Key()) && Iter->pComment)\n\t\t{\n\t\t\tpConWnd->Printf(WSTR(\"%<B>%-12s    %<F>%s\\n\"),(WCHAR*)Iter.Key(),Iter->pComment);\n\t\t}\n\t}\n\treturn 0;\n}\n\nvoid CWispTerminalWnd::Printf(IN const WCHAR*szLine,...)\n{\n\tva_list Next;\n\tva_start(Next,szLine);\n\tVPrintf(szLine,Next);\n\tva_end(Next);\n}\n\n#define WISP_PUTONE(c)\t\t{Output(c);Length++;}\n\nint CWispTerminalWnd::VPrintf(const WISP_CHAR*format,void*ParamList)\n{\n\tint   Length;\t\t\t\t// Limit at entry point\n\tbool  bMore;\t\t\t\t// Loop control\n\tint\t  Width;\t\t\t\t// Optional width\n\tint   Precision;\t\t\t// Optional precision\n\tWISP_CHAR  *str;\t\t\t// String\n\tWISP_CHAR  strbuf[36];\t\t// Constructed string\n\tint\t  len;\t\t\t\t\t// Length of string\n\tint\t  nLeadingZeros;\t\t// Number of leading zeros required\n\tint\t  nPad;\t\t\t\t\t// Number of pad characters required\n\tWISP_CHAR  *sPrefix;\t\t// Prefix string\n\tULONG val;\t\t\t\t\t// Value of current number\n\tbool  bLeftJustify;\t\t\t// Justification\n\tbool  bPlusSign;\t\t\t// Show plus sign?\n\tbool  bBlankSign;\t\t\t// Blank for positives?\n\tbool  bZeroPrefix;\t\t\t// Want 0x for hex, 0 for octal?\n\tbool  bIsShort;\t\t\t\t// TRUE if short\n\tbool  bIsLong;\t\t\t\t// TRUE if long\n\tWISP_CHAR  cPad;\n\tWISP_CHAR* savestr;\n\tbool  bIsLonglong;\t\t\t// TRUE if LONGLONG\n\tULONGLONG val64;\n\tva_list Next;\n\tNext = (va_list)ParamList;\n\tLength=0;\n\tstatic WISP_CHAR strPlus[]={'+',0};\n\tstatic WISP_CHAR strSub[]={'-',0};\n\tstatic WISP_CHAR str0x[]={'0','x',0};\n\tstatic WISP_CHAR str0X[]={'0','X',0};\n\tstatic WISP_CHAR strNULL[]={0};\n\tstatic WISP_CHAR strSpace[]={' ',0};\n\tstatic WISP_CHAR strZero[]={'0',0};\n\tstatic WISP_CHAR strError[]={'<','E','r','r','o','r','>',0};\n\n\tSaveFontColor();\n\n\twhile(*format != '\\0')\n\t{\n\t\t// Everything but '%' is copied to buffer\n\t\tif (*format != '%') WISP_PUTONE(*format++)\n\t\t\t// '%' gets special handling here\n\t\telse {\n\t\t\t// Set default flags, etc\n\t\t\tWidth = 0;\n\t\t\tPrecision = -1;\n\t\t\tbLeftJustify = FALSE;\n\t\t\tbPlusSign = FALSE;\n\t\t\tbBlankSign = FALSE;\n\t\t\tbZeroPrefix = FALSE;\n\t\t\tbIsShort = FALSE;\n\t\t\tbIsLong = FALSE;\n\t\t\tbIsLonglong = FALSE;\n\t\t\tcPad = ' ';\n\t\t\tsPrefix = strNULL;\n\t\t\tformat++;\n\t\t\tbMore = TRUE;\n\t\t\twhile (bMore) {\n\t\t\t\t// optional flags\n\t\t\t\tswitch (*format) {\n\t\tcase '-':  bLeftJustify = TRUE; format++; break;\n\t\tcase '+':  bPlusSign = TRUE; format++; break;\n\t\tcase '0':  cPad = '0'; format++; break;\n\t\tcase ' ':  bBlankSign = TRUE; format++; break;\n\t\tcase '#':  bZeroPrefix = TRUE; format++; break;\n\t\tdefault:   bMore = FALSE;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// optional width\t\t\n\t\t\tif (*format == '*') {\n\t\t\t\tWidth = (int) va_arg(Next, int);\n\t\t\t\tformat++;\n\t\t\t}\n\t\t\telse if (IS_DIGIT(*format)) {\n\t\t\t\twhile (IS_DIGIT(*format)) {\n\t\t\t\t\tWidth *= 10;\n\t\t\t\t\tWidth += (*format++) - '0';\n\t\t\t\t}\n\t\t\t}\n\t\t\t// optional precision\t\t\n\t\t\tif (*format == '.') {\n\t\t\t\tformat++;\n\t\t\t\tPrecision = 0;\n\t\t\t\tif (*format == '*') {\n\t\t\t\t\tPrecision = (int) va_arg(Next, int);\n\t\t\t\t\tformat++;\n\t\t\t\t}\n\t\t\t\telse while (IS_DIGIT(*format)) {\n\t\t\t\t\tPrecision *= 10;\n\t\t\t\t\tPrecision += (*format++) - '0';\n\t\t\t\t}\n\t\t\t}\n\t\t\t// optional size'o'\n\t\t\tswitch (*format) \n\t\t\t{\n\t\t\tcase 'h':  bIsShort = TRUE; format++; break;\n\t\t\tcase 'l':  bIsLong = TRUE;  format++; break;\n\t\t\tcase 'I':\n\t\t\t\tif ( (format[1]=='6') && (format[2]=='4') )\n\t\t\t\t{\n\t\t\t\t\tformat += 3;\n\t\t\t\t\tbIsLonglong = TRUE;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t// All controls are completed, dispatch on the conversion character\n\t\t\tswitch (*format++) {\n\t\tcase 'd':\n\t\tcase 'i':\n\t\t\tif (bIsLonglong)\n\t\t\t\tNumToStr( (LONGLONG) va_arg (Next, LONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t\tif (bIsLong)\t\t// Signed long int\n\t\t\t\t\tNumToStr( (long) va_arg(Next, long), strbuf, 10);\n\t\t\t\telse\t\t\t// Signed int\n\t\t\t\t\tNumToStr( (int) va_arg(Next, int), strbuf, 10);\n\t\t\tif (strbuf[0] == '-') sPrefix = strSub;\n\t\t\telse {\n\t\t\t\tif (bPlusSign) sPrefix = strPlus;\n\t\t\t\telse if (bBlankSign) sPrefix = strSpace;\n\t\t\t}\n\t\t\tgoto EmitNumber;\n\t\tcase 'u':\n\t\t\tif (bIsLonglong)\n\t\t\t\tuNumToStr( (ULONGLONG) va_arg(Next, ULONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t\tif (bIsLong)\t// Unsigned long int\n\t\t\t\t\tuNumToStr( (long) va_arg(Next, long), strbuf, 10);\n\t\t\t\telse\t\t\t// Unsigned int\n\t\t\t\t\tuNumToStr( (long) (int) va_arg(Next, int), strbuf, 10);\n\t\t\tgoto EmitNumber;\n\t\t\t// set sPrefix for these...\n\t\tcase 'o':\n\t\t\tif (bIsLonglong)\n\t\t\t\tuNumToStr( (ULONGLONG) va_arg(Next, ULONGLONG), strbuf, 10);\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bZeroPrefix) sPrefix = strZero;\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (long) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (int) va_arg(Next, int);\n\t\t\t\tuNumToStr(val, strbuf, 8);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tgoto EmitNumber;\n\t\tcase 'p':\t// pointer \n\t\tcase 'x':\n\t\t\tif (bZeroPrefix) sPrefix = str0x;\n\t\t\tif (bIsLonglong)\n\t\t\t{\n\t\t\t\tval64 = (ULONGLONG) va_arg(Next, ULONGLONG);\n\t\t\t\tuNumToStr( val64, strbuf, 16);\n\t\t\t\tif (val64 == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (ULONG) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (unsigned int) va_arg(Next, int);\t\t\t\n\t\t\t\tuNumToStr(val, strbuf, 16);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tgoto EmitNumber;\n\t\tcase 'X':\n\t\t\tif (bZeroPrefix) sPrefix = str0X;\n\t\t\tif (bIsLonglong)\n\t\t\t{\n\t\t\t\tval64 = (ULONGLONG) va_arg(Next, ULONGLONG);\n\t\t\t\tuNumToStr( val64, strbuf, 16);\n\t\t\t\tif (val64 == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (bIsLong)\n\t\t\t\t\tval = (ULONG) va_arg(Next, long);\n\t\t\t\telse\n\t\t\t\t\tval = (unsigned int) va_arg(Next, int);\n\t\t\t\tuNumToStr(val, strbuf, 16);\n\t\t\t\tif (val == 0) sPrefix = strNULL;\n\t\t\t}\n\t\t\tTStrUpr(strbuf);\n\t\t\tgoto EmitNumber;\n\t\tcase 'c':\n\t\t\tstrbuf[0] = (WISP_CHAR) va_arg(Next, WISP_CHAR);\n\t\t\tstr = strbuf;\n\t\t\tlen = 1;\n\t\t\tgoto EmitString;\n\t\tcase 's':\n\t\t\tstr = (WISP_CHAR *) va_arg(Next, WISP_CHAR*);\n\t\t\tlen =  TStrLen(str);\n\t\t\tif (Precision != -1 &&\n\t\t\t\tPrecision < len)\n\t\t\t\tlen = Precision;\n\t\t\tgoto EmitString;\n\t\tcase 'n':\n\t\t\tbreak;\n\t\tcase '%':\n\t\t\tstrbuf[0] = '%';\n\t\t\tstr = strbuf;\n\t\t\tlen = 1;\n\t\t\tgoto EmitString;\n\t\t\tbreak;\n\t\tcase 'f':\n\t\tcase 'e':\n\t\tcase 'E':\n\t\tcase 'g':\n\t\tcase 'G':\n\t\tcase 'U':\n\t\t\tstr = strError;//\"<float format not supported>\";\n\t\t\tlen =  TStrLen(str);\n\t\t\tgoto EmitString;\n\t\tcase '<':\n\t\t\t{\n\t\t\t\tint Length;\n\t\t\t\tWISP_CHAR ColorNum[3],*pStr;\n\t\t\t\tBYTE ColorIndex;\n\t\t\t\tpStr = TStrChr(format,(WISP_CHAR)'>');\t\t\t\t\n\t\t\t\tif(pStr)\n\t\t\t\t{\n\t\t\t\t\tLength = (int)(pStr - format);\n\t\t\t\t\tif(Length==1 || Length==2)\n\t\t\t\t\t{\n\t\t\t\t\t\tTStrCpyLimit(ColorNum,format,Length+1);\n\t\t\t\t\t\tformat+=Length+1;\n\t\t\t\t\t\tif(USHexStrToNum(ColorNum,&ColorIndex))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tOutput((WISP_CHAR)0);\n\t\t\t\t\t\t\tSetFontColor(ColorIndex);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tpStr = NULL;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tpStr = NULL;\n\t\t\t\t}\n\t\t\t\tif(pStr == NULL)\n\t\t\t\t{\n\t\t\t\t\tstr = strError;\n\t\t\t\t\tlen =  TStrLen(str);\n\t\t\t\t\tgoto EmitString;\n\t\t\t\t}\n\t\t\t\tstrbuf[0] = 0;\n\t\t\t\tstr = strbuf;\n\t\t\t\tlen = 0;\n\t\t\t\tPrecision = 0;\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tstr = strError;//\"<bad format character>\";\n\t\t\tlen =  TStrLen(str);\n\t\t\tgoto EmitString;\n\t\t\t}\nEmitNumber:\n\t\t\tif (Precision == -1) Precision = 1;\n\t\t\tstr = strbuf;\n\t\t\tif (*str == '-') str++;\t\t// if negative, already have prefix\n\t\t\tlen =  TStrLen(str);\n\t\t\tnLeadingZeros = Precision - len;\n\t\t\tif (nLeadingZeros < 0) nLeadingZeros = 0;\n\t\t\tnPad = Width - (len + nLeadingZeros +  TStrLen(sPrefix));\n\t\t\tif (nPad < 0) nPad = 0;\n\t\t\t// If 0-padding, emit prefix first.\n\t\t\t// if ' ' padding, emit padding first\n\t\t\tif (cPad == '0') {\n\t\t\t\twhile (*sPrefix != '\\0') WISP_PUTONE(*sPrefix++);\n\t\t\t}\n\t\t\tif (nPad && !bLeftJustify) {\n\t\t\t\t// Left padding required\n\t\t\t\twhile (nPad--) {\n\t\t\t\t\tWISP_PUTONE(cPad);\n\t\t\t\t}\n\t\t\t\tnPad = 0;\t\t// Indicate padding completed\n\t\t\t}\n\t\t\t// Put prefix now if not used up earlier (i.e. if blank padding)\n\t\t\twhile (*sPrefix != '\\0') WISP_PUTONE(*sPrefix++);\n\t\t\twhile (nLeadingZeros-- > 0) WISP_PUTONE('0');\n\t\t\twhile (len-- > 0) {\n\t\t\t\tWISP_PUTONE(*str++);\n\t\t\t}\n\t\t\tif (nPad) {\n\t\t\t\t// Right padding required\n\t\t\t\twhile (nPad--) WISP_PUTONE(' ');\n\t\t\t}\n\t\t\tgoto Done;\nEmitString:\n\t\t\t// Here we have the string ready to emit.  Handle padding, etc.\n\t\t\tif (Width > len) nPad = Width - len;\n\t\t\telse nPad = 0;\n\t\t\tif (nPad && !bLeftJustify) {\n\t\t\t\t// Left padding required\n\t\t\t\twhile (nPad--) WISP_PUTONE(cPad);\n\t\t\t}\n\t\t\tsavestr = str;\n\t\t\twhile (len-- > 0) WISP_PUTONE(*str++);\n\t\t\tif (nPad && bLeftJustify) {\n\t\t\t\t// Right padding required\n\t\t\t\twhile (nPad--) WISP_PUTONE(' ');\n\t\t\t}\nDone:\t;\n\t\t}\n\t}\n\tOutput((WISP_CHAR)'\\0');\n\tRestoreFontColor();\n\tCWispTerminalWnd*pCmdWnd;\n\tif(m_CtrlType == WISP_CTRL_CONSOLE_WND && ((CWispConsoleWnd*)this)->m_pTerminalWnd)\t\t\n\t\tpCmdWnd = ((CWispConsoleWnd*)this)->m_pTerminalWnd;\n\telse\n\t\tpCmdWnd = this;\n\tpCmdWnd->m_CaretPos.y=pCmdWnd->m_LineList.Count();\n\tif(pCmdWnd->m_nLinesPerPage>0)\n\t{\n\t\tpCmdWnd->m_ScrPos.y=pCmdWnd->m_LineList.Count()-pCmdWnd->m_nLinesPerPage+1;\n\t\tMIN_LIMIT(pCmdWnd->m_ScrPos.y,0);\n\t\tpCmdWnd->SetScrollBarCurPos(WISP_SB_VERT,pCmdWnd->m_ScrPos.y);\n\t}\n\tm_bSelect=false;\n\tpCmdWnd->UpdateCaretState();\n\tpCmdWnd->RecalcLayout();\n\tpCmdWnd->Update();\n\treturn Length;\t\t// Don't count terminating NULL\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispConsoleWnd.h",
    "content": "#ifndef _WISP_CONSOLE_WND_H_\n#define _WISP_CONSOLE_WND_H_\n\n#include \"WispColorStrWnd.h\"\n\n#define WISP_SSTREAM_UNIX\t\t0x00000000\n#define WISP_SSTREAM_DOS\t\t0x00000001\n#define WISP_SSTREAM_DISPLAY\t0x00000002\n\n#define CONSOLE_TERMINAL(pConWnd)\t\tif(pConWnd->m_pTerminalWnd) \\\n\t\t\t\t\t\t\t\t\t\t\tpConWnd = (CWispConsoleWnd*) pConWnd->m_pTerminalWnd;\n\nstruct WISP_CMD_ENTRY\n{\n\tWISP_CHAR*\tCmdStr;\n\tWISP_CHAR*\tCmdCmt;\n\tvoid*\t\tCmdProc;\n};\n\nclass CWispConsoleWnd;\nclass CWispTerminalWnd : public CWispColorStrWnd\n{\npublic:\n\tCWispTerminalWnd();\n\tvirtual ~CWispTerminalWnd();\npublic:\n\tbool\tSaveHistroys(PCSTR FileName);\n\tvoid\tSetHistoryLines(IN int nLine);\n\tvoid\tClearScreen();\n\tvoid\tOutput(IN const WISP_CHAR*szLine);\n\tvoid\tOutput(IN const WISP_COLOR_CHAR*szLine);\n\tvoid\tOutput(WISP_CHAR ch);\n\tint\t\tVPrintf(const WISP_CHAR*format,void*ParamList);\n\tvoid\tPrintf(IN const WISP_CHAR*szLine,...);\n\tvoid\tAttachConsole(CWispConsoleWnd*pConsoleWnd);\n\tvoid\tSetFontColor(BYTE ColorIndex);\n\tvoid\tSaveFontColor();\n\tvoid\tRestoreFontColor();\n\tvoid\tEnsureInputVisible();\n\tvoid\tEnsureInputCaretVisible();\n\tbool\tRunModulePathBat(PCSTR FileName,PCSTR szCmdArg,int*pResult=NULL);\n\tbool\tTermRunCmd(const CMD_CHAR*szCmd,int*pResult = NULL);\n\tvirtual bool RunCmdNotify(const CMD_CHAR*szCmd){return true;}\n\tvirtual void AfterRunCmdNotify(const CMD_CHAR*szCmd){};\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnChar);\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG_CMD_MAP;\n\tDECLARE_WISP_MSG_CMD(OnCmdGetCmd);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG(OnEventPaste);\npublic:\n\tvirtual BYTE GetLineStr(IN int LineIndex,OUT WISP_COLOR_CHAR*pColorStr);\npublic:\n\tCWispConsoleWnd*m_pConsoleWnd;\n\tTQueue<CWispColorString,64>m_LineList;\n\tTStack<CWispString,64>m_CmdHistroy;\n\tCWispString\tm_CmdStr;\n\tCWispString\tm_InputStr;\n\tCWispString\tm_Prefix;\n\tCWispString\tm_OutPutStr;\n\tUINT\t\tm_StreamStyle;\n\tint\t\t\tm_CurHisIndex;\n\tBYTE\t\tm_TextColor;\n\tBYTE\t\tm_OldTextColor;\n\tbool\t\tm_bNewLine;\n\tint\t\t\tm_MaxCharLine;\n\tALTFileStream*m_pStream;\n};\n\n\nclass CWispConsoleWnd : public CWispTerminalWnd,public CCmdParser\n{\npublic:\n\tCWispConsoleWnd();\n\tstatic\tint Cls(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint WispVer(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint HL(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tHCC(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tHC(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint Color(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint BKColor(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint Help(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tBat(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tSet(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tDoNothing(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tstatic\tint\tPrint(int argc, WISP_CHAR *argv[ ],WISP_PCSTR szCommandLine, CWispConsoleWnd*pConWnd);\n\tvoid\tDisplayColor();\npublic:\n\tCOptionValue\tm_Option;\n\tCWispTerminalWnd*m_pTerminalWnd;\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tvirtual void BatBeginNodify(WISP_PCSTR szCmd){}\n\tvirtual void BatRunNodify(WISP_PCSTR szCmd){}\n\tvirtual void BatEndNodify(WISP_PCSTR szCmd){}\npublic:\n\tvirtual void PrintString(CMD_CHAR* pString){ Printf(pString);};\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispDC.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispDC.h\"\n#include \"WispWnd.h\"\n\n\nCWispDC::CWispDC()\n{\n\tm_pWispWnd = NULL;\n\tm_pRect = NULL;\n\tm_pClipRect = NULL;\n\tm_TabAlign = 4;\n\tm_ColorTable = NULL;\n}\n\nCWispDC::CWispDC(CWispDIB*pDIB)\n{\n\tAttachDIB(pDIB);\n\tm_pClipRect = NULL;\n}\n\nCWispDC::CWispDC(WISP_FRAME_BUFFER*pFrameBuffer,WISP_RECT*pRect)\n{\n\tAttachFrameBuffer(pFrameBuffer,pRect);\n\tm_pClipRect = NULL;\n}\n\nvoid CWispDC::InitParam()\n{\n\tm_pWispBase = gpCurWisp;\n\tm_TextStyle=WISP_TEXT_TRANS;\n\tm_TextColor=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BLACK];\n\tm_TextShadowColor = m_pWispBase->m_pCurDrawObj->m_crSystem[SC_SHADOW_LIGHT];\n\tm_TextBKColor=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_WHITE];\n\tm_pFont=&m_pWispBase->m_FontList[m_pWispBase->m_DefaultFontType];\n\tif(m_pWispWnd && m_pWispWnd->m_ParentWnd && m_pWispWnd->m_ParentWnd->m_CtrlType == WISP_CTRL_FORM)\n\t\tm_pFont=&m_pWispBase->m_FontList[WISP_FONT_6X12];\n}\n\nbool CWispDC::AttachDIB(CWispDIB*pDIB)\n{\n\tm_pWispWnd = NULL;\n\tm_pWispBase = gpCurWisp;\n\tm_pFrameBuffer = &pDIB->m_FrameBuffer;\n\tm_pRect = &pDIB->m_Rect;\n\tInitParam();\n\treturn true;\n}\n\nbool CWispDC::AttachFrameBuffer(WISP_FRAME_BUFFER*pFrameBuffer,WISP_RECT*pRect)\n{\n\tm_pWispWnd = NULL;\n\tm_pWispBase = gpCurWisp;\n\tm_pFrameBuffer = pFrameBuffer;\n\tm_pRect = pRect;\n\tInitParam();\n\treturn true;\n}\n\nvoid CWispDC::SetTextType(UINT Type)\n{\n\tm_pFont=&m_pWispBase->m_FontList[Type];\n}\n\nbool CWispDC::AttachWnd(IN CWispBaseWnd*pWispWnd,IN WISP_RECT*pRect)\n{\n\tm_pWispBase = pWispWnd->m_pWispBase;\n\tm_pWispWnd=pWispWnd;\n\tm_pRect=pRect;\n\tm_pFrameBuffer = &m_pWispBase->m_FrameBuffer;\n\tInitParam();\n\treturn true;\n}\n\nvoid CWispDC::Detach()\n{\n}\n\nint CWispDC::DrawString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Len,int Index,int Flags)\n{\n\tWISP_RECT rc;\n\tCOLORREF*pBKColor;\n\trc.x=x+m_pRect->x;\n\trc.y=y+m_pRect->y;\n\trc.cx= GetTextExtent(string,Len);\n\trc.cy = m_pFont->m_Height;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn 0;\n\tif(m_TextStyle & WISP_TEXT_OPAQUE)\n\t\tpBKColor=&m_TextBKColor;\n\telse\n\t\tpBKColor=NULL;\n\treturn DrawString(m_pFont,x+m_pRect->x,y+m_pRect->y,string,m_TextColor,&rc,pBKColor,Len,Index,Flags);\n}\n\nint CWispDC::DrawRightString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Len,int Index)\n{\n\tWISP_RECT rc;\n\tCOLORREF*pBKColor;\n\tif(Len == -1)\n\t\tLen = TStrLen(string);\n\trc.x=x+m_pRect->x;\n\trc.y=y+m_pRect->y;\n\trc.cx= m_pRect->cx;\n\trc.cy = m_pFont->m_Height;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn 0;\n\tif(m_TextStyle & WISP_TEXT_OPAQUE)\n\t\tpBKColor=&m_TextBKColor;\n\telse\n\t\tpBKColor=NULL;\n\treturn 0;\n}\n\nint CWispDC::DrawShadowString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Deep,IN int Len,int Index)\n{\n\tCOLORREF TextColor;\n\tTextColor=m_TextColor;\n\tm_TextColor=m_TextShadowColor;\n\tDrawString(x+Deep,y+Deep,string,Len);\n\tm_TextColor=TextColor;\n\treturn DrawString(x,y,string,Len,Index);\n}\n\nint CWispDC::DrawShadowString(IN WISP_RECT*pRect,IN const WISP_CHAR*string,IN int Deep,IN int Len,int Index)\n{\n\tint x,y;\n\tCOLORREF TextColor;\n\tWISP_RECT ClipRect;\n\tClipRect.x=pRect->x+m_pRect->x;\n\tClipRect.y=pRect->y+m_pRect->y;\n\tClipRect.cx = pRect->cx;\n\tClipRect.cy = pRect->cy;\n\tif(ClipDCRect(&ClipRect)==false)\n\t\treturn 0;\n\tTextColor=m_TextColor;\n\tm_TextColor=m_TextShadowColor;\n\ty = CENTER_ALGN(m_pFont->m_Height,pRect->cy)+pRect->y+m_pRect->y;\n\tx = m_pRect->x + pRect->x;\n\tDrawString(m_pFont,x+Deep,y+Deep,string,m_TextColor,&ClipRect,NULL,Len,Index);\n\tm_TextColor=TextColor;\n\treturn DrawString(m_pFont,x,y,string,m_TextColor,&ClipRect,NULL,Len,Index);\n}\n\nint CWispDC::DrawString(IN WISP_RECT*pRect,IN const WISP_CHAR*string,IN int Len,int Index)\n{\n\tint x,y;\n\tWISP_RECT ClipRect;\n\tClipRect.x=pRect->x+m_pRect->x;\n\tClipRect.y=pRect->y+m_pRect->y;\n\tClipRect.cx = pRect->cx;\n\tClipRect.cy = pRect->cy;\n\tif(ClipDCRect(&ClipRect)==false)\n\t\treturn 0;\n\ty = CENTER_ALGN(m_pFont->m_Height,pRect->cy)+pRect->y+m_pRect->y;\n\tx = m_pRect->x + pRect->x;;\n\treturn DrawString(m_pFont,x,y,string,m_TextColor,&ClipRect,NULL,Len,Index);\n}\n\nint CWispDC::DrawColorString(IN int x,IN int y,IN const WISP_COLOR_CHAR*string,IN int Len,int Index)\n{\n\tWISP_RECT rc;\n\trc.x=x+m_pRect->x;\n\trc.y=y+m_pRect->y;\n\trc.cx= m_pRect->cx+(m_pRect->x-x);\n\trc.cy = m_pFont->m_Height;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn 0;\n\treturn DrawColorString(m_pFont,x+m_pRect->x,y+m_pRect->y,string,&rc,Len,Index);\n}\n\nint CWispDC::DrawColorString(IN WISP_RECT*pRect,IN const WISP_COLOR_CHAR*string,IN int Len,int Index)\n{\n\tint x,y;\n\tWISP_RECT ClipRect;\n\tClipRect.x=pRect->x+m_pRect->x;\n\tClipRect.y=pRect->y+m_pRect->y;\n\tClipRect.cx = pRect->cx;\n\tClipRect.cy = pRect->cy;\n\tif(ClipDCRect(&ClipRect)==false)\n\t\treturn 0;\n\ty = CENTER_ALGN(m_pFont->m_Height,pRect->cy)+pRect->y+m_pRect->y;\n\tx = m_pRect->x + pRect->x;;\n\treturn DrawColorString(m_pFont,x,y,string,&ClipRect,Len,Index);\n}\n\nint CWispDC::DrawColorString(IN CWispFont*pLogFont,IN int x,IN int y,IN const WISP_COLOR_CHAR*pStr,IN WISP_RECT*pClipRect,IN int Length,IN int Index)\n{\n\tBYTE*pFont;\n\tint Width,n,i,j,BitOffset,OrgX;\n\tWISP_CHAR szText[MAX_TAB_ALIGN];\n\tCOLORREF TXTClr,BKClr;\n\tif(m_ColorTable == NULL)\n\t\tm_ColorTable = m_pWispBase->m_pCurDrawObj->m_crSystem;\n\tOrgX = x;\n\twhile(Length && *pStr)\n\t{\n\t\tswitch((WISP_CHAR)*pStr)\n\t\t{\n\t\tcase WISP_STR('\\n'):\n\t\t\treturn x - OrgX;\n\t\tcase WISP_STR('\\t'):\n\t\t\tn = m_TabAlign - Index % m_TabAlign;\n\t\t\tszText[n]=0;\n\t\t\tdo\n\t\t\t{\n\t\t\t\tn--;\n\t\t\t\tszText[n]=WISP_STR(' ');\n\t\t\t}while(n>0);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tszText[0]=(WISP_CHAR)*pStr;\n\t\t\tszText[1]=0;\n\t\t\tbreak;\n\t\t}\n\t\tTXTClr = LOW_BYTE(HIGH_WORD(*pStr));\n\t\tBKClr = HIGH_BYTE(HIGH_WORD(*pStr));\n\t\tfor(n=0;szText[n];n++)\n\t\t{\n\t\t\tpFont=pLogFont->GetCharPixelBuffer(szText[n]);\n\t\t\tWidth=pLogFont->GetCharWidth(szText[n]);\n\t\t\tBitOffset=0;\n\t\t\tif(x+Width>=pClipRect->x && x<pClipRect->x+pClipRect->cx)\n\t\t\t{\n\t\t\t\tfor(j=0;j<pLogFont->m_Height;j++)\n\t\t\t\t{\n\t\t\t\t\tfor(i=0;i<Width;i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif((pFont[BitOffset/8]>>(BitOffset%8)) & 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(PtInRect(pClipRect,x+i,y+j))\n\t\t\t\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x+i,y+j,m_ColorTable[TXTClr]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(BKClr)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(PtInRect(pClipRect,x+i,y+j))\n\t\t\t\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x+i,y+j,m_ColorTable[BKClr]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tBitOffset++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tx+=Width;\n\t\t\tIndex++;\n\t\t}\n\t\tpStr++;\n\t\tLength--;\n\t}\n\treturn x - OrgX;\n}\n\nvoid CWispDC::DrawPixel(IN int x, IN int y, IN COLORREF color)\n{\n\tWISP_POINT pt;\n\tpt.x=x+m_pRect->x;\n\tpt.y=y+m_pRect->y;\n\tif(ClipDCPoint(&pt)==false)\n\t\treturn;\n\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,color);\n}\n\nvoid CWispDC::DrawCircle(IN int x,IN int y,IN int radius,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\tint dx,dy,p;\n\trc = *m_pRect;\n\tdx = 0;\n\tdy = radius;\n\tp = 1 - radius;\n\tx += m_pRect->x;\n\ty += m_pRect->y;\n\tClipDCRect(&rc);\n\tCirclePlotPoints(x,y,dx,dy,color,&rc);\n\twhile(dx<dy)\n\t{\n\t\tdx++;\n\t\tif(p<0)\n\t\t{\n\t\t\tp+=2*dx+1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdy--;\n\t\t\tp+=2*(dx-dy)+1;\n\t\t}\n\t\tCirclePlotPoints(x,y,dx,dy,color,&rc);\n\t}\n}\n\nvoid CWispDC::DrawCircleRightTop(IN int x,IN int y,IN int radius,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\tint dx,dy,p;\n\trc = *m_pRect;\n\tdx = 0;\n\tdy = radius;\n\tp = 1 - radius;\n\tx += m_pRect->x;\n\ty += m_pRect->y;\n\tClipDCRect(&rc);\n\twhile(dx<dy)\n\t{\n\t\tdx++;\n\t\tif(p<0)\n\t\t{\n\t\t\tp+=2*dx+1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdy--;\n\t\t\tp+=2*(dx-dy)+1;\n\t\t}\n\t\tCirclePlotPointsRightTop(x,y,dx,dy,color,&rc);\n\t}\n}\n\nvoid CWispDC::DrawCircleRightBottom(IN int x,IN int y,IN int radius,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\tint dx,dy,p;\n\trc = *m_pRect;\n\tdx = 0;\n\tdy = radius;\n\tp = 1 - radius;\n\tx += m_pRect->x;\n\ty += m_pRect->y;\n\tClipDCRect(&rc);\n\twhile(dx<dy)\n\t{\n\t\tdx++;\n\t\tif(p<0)\n\t\t{\n\t\t\tp+=2*dx+1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdy--;\n\t\t\tp+=2*(dx-dy)+1;\n\t\t}\n\t\tCirclePlotPointsRightBottom(x,y,dx,dy,color,&rc);\n\t}\n}\n\nvoid CWispDC::DrawCircleLeftTop(IN int x,IN int y,IN int radius,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\tint dx,dy,p;\n\trc = *m_pRect;\n\tdx = 0;\n\tdy = radius;\n\tp = 1 - radius;\n\tx += m_pRect->x;\n\ty += m_pRect->y;\n\tClipDCRect(&rc);\n\twhile(dx<dy)\n\t{\n\t\tdx++;\n\t\tif(p<0)\n\t\t{\n\t\t\tp+=2*dx+1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdy--;\n\t\t\tp+=2*(dx-dy)+1;\n\t\t}\n\t\tCirclePlotPointsLeftTop(x,y,dx,dy,color,&rc);\n\t}\n}\n\nvoid CWispDC::DrawCircleLeftBottom(IN int x,IN int y,IN int radius,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\tint dx,dy,p;\n\trc = *m_pRect;\n\tdx = 0;\n\tdy = radius;\n\tp = 1 - radius;\n\tx += m_pRect->x;\n\ty += m_pRect->y;\n\tClipDCRect(&rc);\n\twhile(dx<dy)\n\t{\n\t\tdx++;\n\t\tif(p<0)\n\t\t{\n\t\t\tp+=2*dx+1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tdy--;\n\t\t\tp+=2*(dx-dy)+1;\n\t\t}\n\t\tCirclePlotPointsLeftBottom(x,y,dx,dy,color,&rc);\n\t}\n}\n\nvoid CWispDC::DrawLine(IN int x1,IN int y1,IN int x2,IN int y2,IN COLORREF color)\n{\n\tint x,y,xDelta,yDelta,Delta,Count=0;\n\tx1+=m_pRect->x;\n\tx2+=m_pRect->x;\n\ty1+=m_pRect->y;\n\ty2+=m_pRect->y;\n\tif(ClipDCLine(&x1,&y1,&x2,&y2)==false)\n\t\treturn;\n\n\txDelta=ABS(x2-x1);\n\tyDelta=ABS(y2-y1);\n\tif(xDelta<yDelta)\n\t{\n\t\tif(y1>y2)\n\t\t{\n\t\t\tSWAP(y1,y2);\n\t\t\tSWAP(x1,x2);\n\t\t}\n\t\tx=x1;\n\t\tif(x1<x2)\tDelta=1;\n\t\telse\t\tDelta=-1;\n\t\tfor(y=y1;y<=y2;y++)\n\t\t{\n\t\t\tif(Count>=yDelta)\n\t\t\t{\n\t\t\t\tCount-=yDelta;\n\t\t\t\tx+=Delta;\n\t\t\t}\n\t\t\tCount+=xDelta;\n\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,color);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(x1>x2)\n\t\t{\n\t\t\tSWAP(x1,x2);\n\t\t\tSWAP(y1,y2);\n\t\t}\n\t\ty=y1;\n\t\tif(y1<y2)\tDelta=1;\n\t\telse\t\tDelta=-1;\n\t\tfor(x=x1;x<=x2;x++)\n\t\t{\n\t\t\tif(Count>=xDelta)\n\t\t\t{\n\t\t\t\tCount-=xDelta;\n\t\t\t\ty+=Delta;\n\t\t\t}\n\t\t\tCount+=yDelta;\n\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,color);\n\t\t}\n\t}\n}\n\nvoid CWispDC::DrawVLine(IN int x,IN int y1,IN int y2,IN COLORREF color)\n{\n\tx+=m_pRect->x;\n\ty1+=m_pRect->y;\n\ty2+=m_pRect->y;\n\tif(ClipDCLine(&x,&y1,&x,&y2)==false)\n\t\treturn;\n\tif(y2<y1)\n\t\tSWAP(y1,y2);\n\tfor(int y=y1;y<=y2;y++)\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,color);\n}\n\nvoid CWispDC::DrawHLine(IN int x1,IN int x2,IN int y,IN COLORREF color)\n{\n\tx1+=m_pRect->x;\n\tx2+=m_pRect->x;\n\ty+=m_pRect->y;\n\tif(ClipDCLine(&x1,&y,&x2,&y)==false)\n\t\treturn;\n\tif(x2<x1)\n\t\tSWAP(x1,x2);\n\tm_pFrameBuffer->pDrawHAL->SetHLinePixel(m_pFrameBuffer,x1,y,x2-x1+1,color);\n}\n\nvoid CWispDC::DrawVDashLine(IN int x,IN int y1,IN int y2,IN COLORREF color)\n{\n\tx+=m_pRect->x;\n\ty1+=m_pRect->y;\n\ty2+=m_pRect->y;\n\tif(ClipDCLine(&x,&y1,&x,&y2)==false)\n\t\treturn;\n\tint n = y1;\n\twhile(n<=y2)\n\t{\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x, n, color);\n\t\tn+=2;\n\t}\n}\n\nvoid CWispDC::DrawHDashLine(IN int x1,IN int x2,IN int  y,IN COLORREF color)\n{\n\tx1+=m_pRect->x;\n\tx2+=m_pRect->x;\n\ty+=m_pRect->y;\n\tif(ClipDCLine(&x1,&y,&x2,&y)==false)\n\t\treturn;\n\tint n = x1;\n\twhile(n<=x2)\n\t{\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,n, y, color);\n\t\tn+=2;\n\t}\n}\n\nvoid CWispDC::DrawRect(IN WISP_RECT*pRc,IN COLORREF color)\n{\n\tDrawVLine(pRc->x,\t\t\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcolor);\n\tDrawVLine(pRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcolor);\n\tDrawHLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tcolor);\n\tDrawHLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y+pRc->cy-1,\tcolor);\n}\n\nvoid CWispDC::DrawRect(IN int x,IN int y,IN int cx,IN int cy,IN COLORREF color)\n{\n\tDrawVLine(x,\t\ty,\t\ty+cy-1,\tcolor);\n\tDrawVLine(x+cx-1,\ty,\t\ty+cy-1,\tcolor);\n\tDrawHLine(x,\t\tx+cx-1,\ty,\t\tcolor);\n\tDrawHLine(x,\t\tx+cx-1,\ty+cy-1,\tcolor);\n}\n\nvoid CWispDC::DrawRoundRect(IN WISP_RECT*pRc,IN COLORREF color)\n{\n\tDrawVLine(pRc->x,\t\t\tpRc->y+1,\t\t\tpRc->y+pRc->cy-2,\tcolor);\n\tDrawVLine(pRc->x+pRc->cx-1,\tpRc->y+1,\t\t\tpRc->y+pRc->cy-2,\tcolor);\n\tDrawHLine(pRc->x+1,\t\t\tpRc->x+pRc->cx-2,\tpRc->y,\t\t\t\tcolor);\n\tDrawHLine(pRc->x+1,\t\t\tpRc->x+pRc->cx-2,\tpRc->y+pRc->cy-1,\tcolor);\n}\n\nvoid CWispDC::Draw3DRect(IN WISP_RECT *pRc,IN COLORREF crTopLeft, COLORREF crBottomRight)\n{\n\tDrawVLine(pRc->x,\t\t\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcrTopLeft);\n\tDrawVLine(pRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcrBottomRight);\n\tDrawHLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tcrTopLeft);\n\tDrawHLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y+pRc->cy-1,\tcrBottomRight);\n}\n\nvoid CWispDC::Draw3DRect(IN WISP_RECT*pRc,IN bool bRaised,IN int Deep)\n{\n\tCOLORREF ColTop,ColBottom;\n\tint Sign,Inc;\n\tif(bRaised)\n\t{\n\t\tColTop=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BRIGHT];\n\t\tColBottom=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_SHADOW];\n\t}\n\telse\n\t{\n\t\tColTop=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_SHADOW];\n\t\tColBottom=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BRIGHT];\n\t}\n\tif(Deep<0)\n\t{\n\t\tDeep=-Deep;\n\t\tSign=-1;\n\t}\n\telse\n\t{\n\t\tSign=1;\n\t}\n\tfor(int n=0;n<Deep;n++)\n\t{\n\t\tInc=n*Sign;\n\t\tDrawHLine(pRc->x+Inc,pRc->x+pRc->cx-1-Inc,pRc->y+Inc,ColTop);\n\t\tDrawVLine(pRc->x+Inc,pRc->y+Inc,pRc->y+pRc->cy-1-Inc,ColTop);\n\t\tDrawHLine(pRc->x+Inc,pRc->x+pRc->cx-1-Inc,pRc->y+pRc->cy-1-Inc,ColBottom);\n\t\tDrawVLine(pRc->x+pRc->cx-1-Inc,pRc->y+Inc,pRc->y+pRc->cy-1-Inc,ColBottom);\n\t}\n}\n\n\nvoid CWispDC::DrawDashRect(IN WISP_RECT*pRc,IN COLORREF color)\n{\n\tDrawVDashLine(pRc->x,\t\t\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcolor);\n\tDrawVDashLine(pRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tpRc->y+pRc->cy-1,\tcolor);\n\tDrawHDashLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y,\t\t\t\tcolor);\n\tDrawHDashLine(pRc->x,\t\t\tpRc->x+pRc->cx-1,\tpRc->y+pRc->cy-1,\tcolor);\n}\n\nvoid CWispDC::DrawFullRect(IN WISP_RECT*pRc,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\trc=*pRc;\n\trc.x+=m_pRect->x;\n\trc.y+=m_pRect->y;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn;\n\tfor(int y=rc.y;y<rc.y+rc.cy;y++)\n\t{\n\t\tm_pFrameBuffer->pDrawHAL->SetHLinePixel(m_pFrameBuffer,rc.x,y,rc.cx,color);\n\t}\n}\n\nvoid CWispDC::DrawFullRect(IN int x,IN int y,IN int cx,IN int cy,IN COLORREF color)\n{\n\tWISP_RECT rc;\n\trc.x = x + m_pRect->x;\n\trc.y = y + m_pRect->y;\n\trc.cx = cx;\n\trc.cy = cy;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn;\n\tfor(int y=rc.y;y<rc.y+rc.cy;y++)\n\t{\n\t\tm_pFrameBuffer->pDrawHAL->SetHLinePixel(m_pFrameBuffer,rc.x,y,rc.cx,color);\n\t}\n}\n\nvoid CWispDC::DrawMiddleXGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg)\n{\n\tCOLORREF Clr;\n\tWISP_RECT rc = *pRc;\n\trc.cx /= 2;\n\tClr = DrawXGrayChgFullRect(&rc,color,nChg);\n\trc.x+=rc.cx;\n\trc.cx = pRc->x + pRc->cx - rc.x;\n\tDrawXGrayChgFullRect(&rc,Clr,-nChg);\t\n}\n\nvoid CWispDC::DrawMiddleXGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc)\n{\n\tWISP_RECT rc = *pRc;\n\trc.cx /= 2;\n\tDrawXGrayChgFullRect(ColorBegin,ColorEnd,&rc);\n\trc.x+=rc.cx;\n\trc.cx = pRc->x + pRc->cx - rc.x;\n\tDrawXGrayChgFullRect(ColorEnd,ColorBegin,&rc);\n}\n\nCOLORREF CWispDC::DrawXGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg)\n{\n\tCOLORREF LastColor;\n\tWISP_RECT rc,frc;\n\trc=*pRc;\n\trc.x+=m_pRect->x;\n\trc.y+=m_pRect->y;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn GRAY_CHG(color,nChg,pRc->cx);\n\tfrc=*pRc;\n\tfrc.x+=m_pRect->x;\n\tfrc.y+=m_pRect->y;\n\tfor(int x=frc.x;x<frc.x+frc.cx;x++)\n\t{\n\t\tLastColor = GRAY_CHG(color,nChg,x-frc.x);\n\t\tif(x>=rc.x && x<rc.x+rc.cx)\n\t\t{\n\t\t\tfor(int y=rc.y;y<rc.y+rc.cy;y++)\n\t\t\t{\n\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,LastColor);\n\t\t\t}\n\t\t}\n\t}\n\treturn LastColor;\n}\n\nvoid CWispDC::DrawXGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc)\n{\n\tCOLORREF Color;\n\tWISP_RECT rc,frc;\n\tint r1,g1,b1,r,g,b,dr,dg,db;\n\n\trc=*pRc;\n\trc.x+=m_pRect->x;\n\trc.y+=m_pRect->y;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn;\n\n\tr = WISP_RGB_R(ColorBegin);\n\tg = WISP_RGB_G(ColorBegin);\n\tb = WISP_RGB_B(ColorBegin);\n\tr1 = WISP_RGB_R(ColorEnd);\n\tg1 = WISP_RGB_G(ColorEnd);\n\tb1 = WISP_RGB_B(ColorEnd);\n\tdr = ((r1 - r)<<16)/pRc->cx;\n\tdg = ((g1 - g)<<16)/pRc->cx;\n\tdb = ((b1 - b)<<16)/pRc->cx;\n\tr=r<<16;g=g<<16;b=b<<16;\n\tfrc=*pRc;\n\tfrc.x+=m_pRect->x;\n\tfrc.y+=m_pRect->y;\n\n\tfor(int x=frc.x;x<frc.x+frc.cx;x++)\n\t{\n\t\tr+=dr;g+=dg;b+=db;\n\t\tColor = WISP_RGB(r>>16,g>>16,b>>16);\n\t\tif(x>=rc.x && x<rc.x+rc.cx)\n\t\t{\n\t\t\tfor(int y=rc.y;y<rc.y+rc.cy;y++)\n\t\t\t{\n\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x,y,Color);\n\t\t\t}\n\t\t}\n\t}\n}\n\nvoid CWispDC::DrawMiddleYGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg)\n{\n\tCOLORREF Clr;\n\tWISP_RECT rc = *pRc;\n\trc.cy /= 2;\n\tClr = DrawYGrayChgFullRect(&rc,color,nChg);\n\trc.y+=rc.cy;\n\trc.cy = pRc->y + pRc->cy - rc.y;\n\tDrawYGrayChgFullRect(&rc,Clr,-nChg);\n}\n\nvoid CWispDC::DrawMiddleYGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc)\n{\n\tWISP_RECT rc = *pRc;\n\trc.cy /= 2;\n\tDrawYGrayChgFullRect(ColorBegin,ColorEnd,&rc);\n\trc.y+=rc.cy;\n\trc.cy = pRc->y + pRc->cy - rc.y;\n\tDrawYGrayChgFullRect(ColorEnd,ColorBegin,&rc);\n}\n\n\nCOLORREF CWispDC::DrawYGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg)\n{\n\tCOLORREF LastColor;\n\tWISP_RECT rc,frc;\n\trc=*pRc;\n\trc.x+=m_pRect->x;\n\trc.y+=m_pRect->y;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn GRAY_CHG(color,nChg,pRc->cy);\n\tfrc=*pRc;\n\tfrc.x+=m_pRect->x;\n\tfrc.y+=m_pRect->y;\n\tfor(int y=frc.y;y<frc.y+frc.cy;y++)\n\t{\n\t\tLastColor = GRAY_CHG(color,nChg,y-frc.y);\n\t\tif(y>=rc.y && y<rc.y+rc.cy)\n\t\t{\n\t\t\tm_pFrameBuffer->pDrawHAL->SetHLinePixel(m_pFrameBuffer,rc.x,y,rc.cx,LastColor);\n\t\t}\n\t}\n\treturn LastColor;\n}\n\nvoid CWispDC::DrawYGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc)\n{\n\tWISP_RECT rc,frc;\n\tint r1,g1,b1,r,g,b,dr,dg,db;\n\n\trc=*pRc;\n\trc.x+=m_pRect->x;\n\trc.y+=m_pRect->y;\n\tif(ClipDCRect(&rc)==false)\n\t\treturn;\n\n\tr = WISP_RGB_R(ColorBegin);\n\tg = WISP_RGB_G(ColorBegin);\n\tb = WISP_RGB_B(ColorBegin);\n\tr1 = WISP_RGB_R(ColorEnd);\n\tg1 = WISP_RGB_G(ColorEnd);\n\tb1 = WISP_RGB_B(ColorEnd);\n\tdr = ((r1 - r)<<16)/pRc->cy;\n\tdg = ((g1 - g)<<16)/pRc->cy;\n\tdb = ((b1 - b)<<16)/pRc->cy;\n\tr=r<<16;g=g<<16;b=b<<16;\n\n\tfrc=*pRc;\n\tfrc.x+=m_pRect->x;\n\tfrc.y+=m_pRect->y;\n\n\tfor(int y=frc.y;y<frc.y+frc.cy;y++)\n\t{\n\t\tr+=dr;g+=dg;b+=db;\n\t\tif(y>=rc.y && y<rc.y+rc.cy)\n\t\t{\n\t\t\tm_pFrameBuffer->pDrawHAL->SetHLinePixel(m_pFrameBuffer,rc.x,y,rc.cx,WISP_RGB(r>>16,g>>16,b>>16));\n\t\t}\n\t}\n}\n\nvoid CWispDC::DrawFrameRect(IN int x,IN int y,IN int cx,IN int cy,IN bool bRaised,IN int Deep)\n{\n\tCOLORREF ColTop,ColBottom;\n\tint Sign,Inc;\n\tif(bRaised)\n\t{\n\t\tColTop=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BRIGHT];\n\t\tColBottom=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_SHADOW];\n\t}\n\telse\n\t{\n\t\tColTop=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_SHADOW];\n\t\tColBottom=m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BRIGHT];\n\t}\n\tif(Deep<0)\n\t{\n\t\tDeep=-Deep;\n\t\tSign=-1;\n\t}\n\telse\n\t{\n\t\tSign=1;\n\t}\n\tfor(int n=0;n<Deep;n++)\n\t{\n\t\tInc=n*Sign;\n\t\tDrawHLine(x+Inc,x+cx-1-Inc,y+Inc,ColTop);\n\t\tDrawHLine(x+Inc,x+cx-1-Inc,y+cy-1-Inc,ColBottom);\n\t\tDrawVLine(x+Inc,y+Inc,y+cy-1-Inc,ColTop);\n\t\tDrawVLine(x+cx-1-Inc,y+Inc,y+cy-1-Inc,ColBottom);\n\t}\n}\n\nvoid CWispDC::DrawFrameRect(IN WISP_RECT*pRc,IN bool bRaised,IN int Deep)\n{\n\tDrawFrameRect(pRc->x,pRc->y,pRc->cx,pRc->cy,bRaised,Deep);\n}\n\nvoid CWispDC::Clear(IN COLORREF color)\n{\n\tWISP_RECT rc;\n\trc.x = rc.y = 0;\n\trc.cx = m_pRect->cx;\n\trc.cy = m_pRect->cy;\n\tDrawFullRect(&rc,color);\n}\n\nvoid CWispDC::DrawDIBTiled(IN CWispDIB*pDIB,IN WISP_RECT*pRect)\n{\n\tWISP_RECT DefRect;\n\tif(pRect==NULL)\n\t{\n\t\tDefRect.x=DefRect.y=0;\n\t\tDefRect.cx=m_pRect->cx;\n\t\tDefRect.cy=m_pRect->cy;\n\t\tpRect=&DefRect;\n\t}\n\tfor(int x=pRect->x;x<pRect->x+pRect->cx;x+=pDIB->m_FrameBuffer.Width)\n\t{\n\t\tfor(int y=pRect->y;y<pRect->y+pRect->cy;y+=pDIB->m_FrameBuffer.Height)\n\t\t{\n\t\t\tDrawDIB(x,y,pDIB);\n\t\t}\n\t}\n}\n\nvoid CWispDC::DrawDIB(IN int x,IN int y,IN CWispDIB*pDIB)\n{\n\tCOLORREF*pPixel;\n\tWISP_RECT ClipRect;\n\tif(pDIB->m_FrameBuffer.Buffer==NULL)\n\t\treturn;\n\tCODE_ASSERT(pDIB->m_FrameBuffer.Bpp==32);\n\tx-=pDIB->m_HotPT.x;\n\ty-=pDIB->m_HotPT.y;\n\tClipRect.x=m_pRect->x+x;\n\tClipRect.y=m_pRect->y+y;\n\tClipRect.cx=pDIB->m_FrameBuffer.Width;\n\tClipRect.cy=pDIB->m_FrameBuffer.Height;\n\tif(ClipDCRect(&ClipRect)==false)\n\t\treturn;\n\tpPixel=(COLORREF*)RT_PBYTE(pDIB->m_FrameBuffer.Buffer,(ClipRect.y-m_pRect->y-y)*pDIB->m_FrameBuffer.LineDistance + (ClipRect.x-m_pRect->x-x)*sizeof(COLORREF) );\n\tfor(int ny=0;ny<ClipRect.cy;ny++)\n\t{\n\t\tswitch(pDIB->m_Type)\n\t\t{\n\t\tcase WISP_DIB_BITMAP:\n\t\t\tm_pFrameBuffer->pDrawHAL->Copy32BitPixelTo(RT_PBYTE(m_pFrameBuffer->Buffer,(ClipRect.y+ny)*m_pFrameBuffer->LineDistance+ClipRect.x*(m_pFrameBuffer->Bpp/8)),pPixel,ClipRect.cx);\n\t\t\tpPixel+=(pDIB->m_FrameBuffer.LineDistance/sizeof(COLORREF));\n\t\t\tbreak;\n\t\tcase WISP_DIB_TK:\n\t\t\tfor(int nx=0;nx<ClipRect.cx;nx++)\n\t\t\t{\n\t\t\t\tif(*pPixel!=pDIB->m_ColorKey)\n\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,ClipRect.x+nx,ClipRect.y+ny,*pPixel);\n\t\t\t\tpPixel++;\n\t\t\t}\n\t\t\tpPixel+=(pDIB->m_FrameBuffer.LineDistance/sizeof(COLORREF))-ClipRect.cx;\n\t\t\tbreak;\n\t\tcase WISP_DIB_TK_XOR:\n\t\t\tfor(int nx=0;nx<ClipRect.cx;nx++)\n\t\t\t{\n\t\t\t\tif(*pPixel!=pDIB->m_ColorKey)\n\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawXorPixel(m_pFrameBuffer,ClipRect.x+nx,ClipRect.y+ny,*pPixel);\n\t\t\t\tpPixel++;\n\t\t\t}\n\t\t\tpPixel+=(pDIB->m_FrameBuffer.LineDistance/sizeof(COLORREF))-ClipRect.cx;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvoid CWispDC::DrawDIB(IN WISP_RECT*pRC,IN CWispDIB*pDIB)\n{\n\tint x,y;\n\tx = pRC->x+CENTER_ALGN(pDIB->Width(),pRC->cx);\n\ty = pRC->y+CENTER_ALGN(pDIB->Height(),pRC->cy);\n\tDrawDIB(x,y,pDIB);\n}\n\nvoid CWispDC::DrawGrayDIB(IN WISP_RECT*pRC,IN CWispDIB*pDIB)\n{\n\tint x,y;\n\tx = pRC->x+CENTER_ALGN(pDIB->Width(),pRC->cx);\n\ty = pRC->y+CENTER_ALGN(pDIB->Height(),pRC->cy);\n\tDrawGrayDIB(x,y,pDIB);\n}\n\nvoid CWispDC::DrawGrayDIB(IN int x,IN int y,IN CWispDIB*pDIB)\n{\n\tCOLORREF*pPixel;\n\tWISP_RECT ClipRect;\n\tCODE_ASSERT(pDIB->m_FrameBuffer.Bpp==32);\n\tx-=pDIB->m_HotPT.x;\n\ty-=pDIB->m_HotPT.y;\n\tClipRect.x=m_pRect->x+x;\n\tClipRect.y=m_pRect->y+y;\n\tClipRect.cx=pDIB->m_FrameBuffer.Width;\n\tClipRect.cy=pDIB->m_FrameBuffer.Height;\n\tif(ClipDCRect(&ClipRect)==false)\n\t\treturn;\n\tpPixel=(COLORREF*)RT_PBYTE(pDIB->m_FrameBuffer.Buffer,(ClipRect.y-m_pRect->y-y)*pDIB->m_FrameBuffer.LineDistance + (ClipRect.x-m_pRect->x-x)*sizeof(COLORREF) );\n\tfor(int ny=0;ny<ClipRect.cy;ny++)\n\t{\n\t\tswitch(pDIB->m_Type)\n\t\t{\n\t\tcase WISP_DIB_BITMAP:\n\t\tcase WISP_DIB_TK:\n\t\t\tfor(int nx=0;nx<ClipRect.cx;nx++)\n\t\t\t{\n\t\t\t\tif(*pPixel!=pDIB->m_ColorKey)\n\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,ClipRect.x+nx,ClipRect.y+ny,GRAY_DEEP(*pPixel)>GRAY_DEEP(0x00808080) ? SYS_COLOR[SC_UNNAMED_21] : SYS_COLOR[SC_CLIENT_BG] );\n\t\t\t\tpPixel++;\n\t\t\t}\n\t\t\tpPixel+=(pDIB->m_FrameBuffer.LineDistance/sizeof(COLORREF))-ClipRect.cx;\n\t\t\tbreak;\n\t\tcase WISP_DIB_TK_XOR:\n\t\t\tfor(int nx=0;nx<ClipRect.cx;nx++)\n\t\t\t{\n\t\t\t\tif(*pPixel!=pDIB->m_ColorKey)\n\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawXorPixel(m_pFrameBuffer,ClipRect.x+nx,ClipRect.y+ny,*pPixel);\n\t\t\t\tpPixel++;\n\t\t\t}\n\t\t\tpPixel+=(pDIB->m_FrameBuffer.LineDistance/sizeof(COLORREF))-ClipRect.cx;\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nbool CWispDC::ClipDCRect(INOUT WISP_RECT*pRect)\n{\n\tCWispBaseWnd*pClipWnd,*pWnd;\n\tif(m_pClipRect && ClipRect(pRect,m_pClipRect)==false)\n\t\treturn false;\n\tif(m_pWispWnd==NULL)//DIB DC\n\t\treturn ClipRect(pRect,m_pRect);\n\tif(m_pWispWnd->m_pUpdateRect==NULL)\n\t\treturn false;\n\tWISP_RECT UpdateRect = *m_pWispWnd->m_pUpdateRect;\n\tUpdateRect.x+=m_pWispWnd->m_ScrWindowRect.x;\n\tUpdateRect.y+=m_pWispWnd->m_ScrWindowRect.y;\n\tif(ClipRect(pRect,&UpdateRect)==false)\n\t\treturn false;\n\tif(ClipRect(pRect,m_pRect)==false)\n\t\treturn false;\n\tif(m_pWispWnd==(CWispBaseWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn true;\n\tpWnd=m_pWispWnd;\n\tpClipWnd=m_pWispWnd->m_ParentWnd;\n\tif(pClipWnd==NULL)\n\t\tpClipWnd = (CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\twhile(pClipWnd)\n\t{\n\t\tif(pClipWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tif(ClipRect(pRect,&((CWispWnd*)pClipWnd)->m_ScrClientRect)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{//\n\t\t\tif(ClipRect(pRect,&pClipWnd->m_ScrWindowRect)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\tpWnd=pWnd->m_ParentWnd;\n\t\tif(pWnd==NULL)\n\t\t\tbreak;\n\t\tpClipWnd=pWnd->m_ParentWnd;\n\t}\n\treturn true;\n}\n\nbool CWispDC::ClipDCLine(INOUT int*pX1,INOUT int*pY1,INOUT int*pX2,INOUT int*pY2)\n{\n\tCWispBaseWnd*pClipWnd,*pWnd;\n\tif(m_pClipRect && ClipLine(pX1,pY1,pX2,pY2,m_pClipRect)==false)\n\t\treturn false;\n\tif(m_pWispWnd==NULL)//DIB DC\n\t\treturn ClipLine(pX1,pY1,pX2,pY2,m_pRect);\n\tif(m_pWispWnd->m_pUpdateRect==NULL)\n\t\treturn false;\n\tWISP_RECT UpdateRect = *m_pWispWnd->m_pUpdateRect;\n\tUpdateRect.x+=m_pWispWnd->m_ScrWindowRect.x;\n\tUpdateRect.y+=m_pWispWnd->m_ScrWindowRect.y;\n\tif(ClipLine(pX1,pY1,pX2,pY2,&UpdateRect)==false)\n\t\treturn false;\n\tif(ClipLine(pX1,pY1,pX2,pY2,m_pRect)==false)\n\t\treturn false;\n\tif(m_pWispWnd==(CWispBaseWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn true;\n\tpWnd=m_pWispWnd;\n\tpClipWnd=m_pWispWnd->m_ParentWnd;\n\tif(pClipWnd==NULL)\n\t\tpClipWnd = (CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\twhile(pClipWnd)\n\t{\n\t\tif(pClipWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tif(ClipLine(pX1,pY1,pX2,pY2,&((CWispWnd*)pClipWnd)->m_ScrClientRect)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{//\n\t\t\tif(ClipLine(pX1,pY1,pX2,pY2,&pClipWnd->m_ScrWindowRect)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\tpWnd=pWnd->m_ParentWnd;\n\t\tif(pWnd==NULL)\n\t\t\tbreak;\n\t\tpClipWnd=pWnd->m_ParentWnd;\n\t}\n\treturn true;\n}\n\nbool CWispDC::ClipDCPoint(IN WISP_POINT*pPT)\n{\n\tCWispBaseWnd*pClipWnd,*pWnd;\n\tif(m_pClipRect && PtInRect(m_pClipRect,pPT)==false)\n\t\treturn false;\n\tif(m_pWispWnd==NULL)//DIB DC\n\t\treturn PtInRect(m_pRect,pPT);\n\tif(m_pWispWnd->m_pUpdateRect==NULL)\n\t\treturn false;\n\tWISP_RECT UpdateRect = *m_pWispWnd->m_pUpdateRect;\n\tUpdateRect.x+=m_pWispWnd->m_ScrWindowRect.x;\n\tUpdateRect.y+=m_pWispWnd->m_ScrWindowRect.y;\n\tif(PtInRect(&UpdateRect,pPT)==false)\n\t\treturn false;\n\tif(PtInRect(m_pRect,pPT)==false)\n\t\treturn false;\n\tif(m_pWispWnd==(CWispBaseWnd*)m_pWispBase->m_pRootWnd)\n\t\treturn true;\n\tpWnd=m_pWispWnd;\n\tpClipWnd=m_pWispWnd->m_ParentWnd;\n\tif(pClipWnd==NULL)\n\t\tpClipWnd = (CWispBaseWnd*)m_pWispBase->m_pRootWnd;\n\twhile(pClipWnd)\n\t{\n\t\tif(pClipWnd->m_Style & WISP_WS_ADV_WND)\n\t\t{\n\t\t\tif(PtInRect(&((CWispWnd*)pClipWnd)->m_ScrClientRect,pPT)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t{//\n\t\t\tif(PtInRect(&pClipWnd->m_ScrWindowRect,pPT)==false)\n\t\t\t\treturn false;\n\t\t}\n\t\tpWnd=pWnd->m_ParentWnd;\n\t\tif(pWnd==NULL)\n\t\t\tbreak;\n\t\tpClipWnd=pWnd->m_ParentWnd;\n\t}\n\treturn true;\n}\n\nint CWispDC::DrawSingleLineText(IN WISP_CHAR* lpString,IN int nCount,INOUT WISP_RECT* lpRect,IN UINT uFormat)\n{\n\tbool isClip = true;\n\tWISP_POINT beginDraw;\n\tint nRightSkipCharNum = 0;\n\tint nLeftSkipCharNum = 0;\n\tint nTopSkipLineNum = 0;\n\tint nBottomSkipLineNum = 0;\n\tint nMaxCharOfLine = 0;//ľ\n\tint nMaxLine = 0;\n\tint nRealLen;\n\tint nCenterPos = 0;\n\tint nStrBeginPos = 0;\n\tint LeftOffset = -1, RightOffset = -1;\n\tWISP_CHAR* lpTmpString = NULL;\n\tWISP_CHAR chTextOutbuf[1025];\n\tint nRet = 0;\n\n\tnRealLen = (int)TStrLen(lpString);\t\n\tif(nCount == -1 || nCount > nRealLen)\n\t\tnCount = nRealLen;\n\tif(!nCount)\n\t\treturn nCount;\n\tnCenterPos = lpRect->x + lpRect->cx / 2;\n\tif(uFormat & WISP_DT_NOCLIP)//Ϊǲüĵ\n\t{\n\t\tisClip = false;\n\t\tif(uFormat & WISP_DT_RIGHT)//ǷǲüҶĻ  x   DC ߡ\n\t\t{\n\t\t\t\tlpRect->cx += lpRect->x;\n\t\t\t\tlpRect->x =0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(uFormat & WISP_DT_CENTER)\n\t\t\t{\t\t\t\t\n\t\t\t\tlpRect->x =0;\n\t\t\t\tlpRect->cx =m_pRect->cx;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(lpRect->x + lpRect->cx  < m_pRect->cx)////ǷǲüĻ  cx   DC ұߡ\n\t\t\t\t{\n\t\t\t\t\tlpRect->cx =m_pRect->cx - lpRect->x;\n\t\t\t\t}\t\t\t\t \n\t\t\t}\n\t\t}\n\t}\n\tif(uFormat & WISP_DT_SINGLELINE)\n\t{\n\t\tbeginDraw.x = lpRect->x;\n\t\tbeginDraw.y = lpRect->y;\n\t\tif(uFormat & WISP_DT_VCENTER)//ֱм롣\n\t\t{\n\t\t\tbeginDraw.y = lpRect->y + lpRect->cy / 2 - m_pFont->m_Height / 2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(uFormat & WISP_DT_BOTTOM)//ױ߶\n\t\t\t{\n\t\t\t\tbeginDraw.y = lpRect->y + lpRect->cy - m_pFont->m_Height;\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(uFormat & WISP_DT_RIGHT)//Դ\n\t\t{\n\t\t\tbeginDraw.x = lpRect->x + lpRect->cx;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(uFormat & WISP_DT_CENTER)//ֳ3  һǸľĵ x   DC ľεߡ\n\t\t\t\t\t\t\t\t\t\t//\t           һǸľĵ x   DC ľεұߡ\n\t\t\t\t\t\t\t\t\t\t//\t           һǸľĵ x   DC ľεķΧڡ\n\t\t\t\n\t\t\t{\t\t\t\t\t\n\t\t\t\tnStrBeginPos = (nRealLen - nCount) / 2;\n\t\t\t\tbeginDraw.x = nCenterPos - nCount / 2 * m_pFont->m_Width;\n\t\t\t\tif(nCount % 2)\n\t\t\t\t{\n\t\t\t\t\tbeginDraw.x = beginDraw.x - m_pFont->m_Width / 2;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\t\t\t\t\n\t\t\t\tnStrBeginPos = 0;\n\t\t\t}\t\t\t\t\t\t\n\t\t}\n\n\t\tlpTmpString = chTextOutbuf;\n\t\tif(nRealLen - nStrBeginPos < nCount)\n\t\t{\n\t\t\tnCount = nRealLen - nStrBeginPos+1;\n\t\t}\n\n\t\tif(nCount >= 1025)\n\t\t\tnCount = 1023;\n\t\tTStrNCpy(lpTmpString, lpString+nStrBeginPos, nCount);\n\t\tlpTmpString[nCount] = 0;\t\n\t\tif(uFormat & WISP_DT_RIGHT)\n\t\t\tDrawRightString(beginDraw.x, beginDraw.y, lpTmpString,nCount);\n\t\telse\n\t\tDrawString(beginDraw.x, beginDraw.y, lpTmpString,nCount);\n\t}\t\n\treturn nRet;\n}\n\n//չϵͳť\nvoid CWispDC::DrawSystemStandardIcon(const WISP_RECT&rcBoundary, UINT uStyle, COLORREF color)\n{\n\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(this, &rcBoundary, uStyle);\n}\n\n\nint\tCWispDC::PixelOffToTextOff(const WISP_CHAR* pString,int PixelOff)\n{\n\tint cx,Index,Count,Length,Width;\n\tif(pString == NULL)\n\t\treturn -1;\n\tIndex = 0;\n\tif(IsColorString(pString))\n\t{\n\t\tconst WISP_COLOR_CHAR*pStr = GetColorString(pString);\n\t\tLength = TStrLen(pStr);\n\t\tcx=0;\n\t\tfor(int i = 0; i < Length; i++)\n\t\t{\n\t\t\tswitch((WISP_CHAR)pStr[i])\n\t\t\t{\n\t\t\tcase WISP_STR('\\n'):\n\t\t\t\tbreak;\n\t\t\tcase WISP_STR('\\t'):\n\t\t\t\tCount = m_TabAlign - Index % m_TabAlign;\n\t\t\t\tWidth = m_pFont->GetCharWidth(WISP_STR(' '))*Count;\n\t\t\t\tcx += Width;\n\t\t\t\tIndex += Count;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tWidth = m_pFont->GetCharWidth((WISP_CHAR)pStr[i]);\n\t\t\t\tcx += Width;\n\t\t\t\tIndex++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(PixelOff>=cx-Width && PixelOff<cx)\n\t\t\t\treturn i;\n\t\t}\n\t}\n\telse\n\t{\n\t\tLength = TStrLen(pString);\n\t\tcx=0;\n\t\tfor(int i = 0; i < Length; i++)\n\t\t{\n\t\t\tswitch(pString[i])\n\t\t\t{\n\t\t\tcase WISP_STR('\\n'):\n\t\t\t\tbreak;\n\t\t\tcase WISP_STR('\\t'):\n\t\t\t\tCount = m_TabAlign - Index % m_TabAlign;\n\t\t\t\tWidth = m_pFont->GetCharWidth(WISP_STR(' '))*Count;\n\t\t\t\tcx += Width;\n\t\t\t\tIndex += Count;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tWidth = m_pFont->GetCharWidth(pString[i]);\n\t\t\t\tcx += Width;\n\t\t\t\tIndex++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(PixelOff>=cx-Width && PixelOff<cx)\n\t\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n}\n\nint\tCWispDC::GetTextExtent(const WISP_CHAR* pString, int Length,int Index)\n{\n\tint cx,Count;\n\tif(pString == NULL)\n\t\treturn 0;\n\tif(IsColorString(pString))\n\t{\n\t\tconst WISP_COLOR_CHAR*pStr = GetColorString(pString);\n\t\tif(Length == -1)\n\t\t\tLength = TStrLen(pStr);\n\t\tcx=0;\n\t\tfor(int i = 0; i < Length; i++)\n\t\t{\n\t\t\tswitch((WISP_CHAR)pStr[i])\n\t\t\t{\n\t\t\tcase WISP_STR('\\n'):\n\t\t\t\tbreak;\n\t\t\tcase WISP_STR('\\t'):\n\t\t\t\tCount = m_TabAlign - Index % m_TabAlign;\n\t\t\t\tcx+=m_pFont->GetCharWidth(WISP_STR(' '))*Count;\n\t\t\t\tIndex+=Count;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcx+=m_pFont->GetCharWidth((WISP_CHAR)pStr[i]);\n\t\t\t\tIndex++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(Length == -1)\n\t\t\tLength = TStrLen(pString);\n\t\tcx=0;\n\t\tfor(int i = 0; i < Length; i++)\n\t\t{\n\t\t\tswitch(pString[i])\n\t\t\t{\n\t\t\tcase WISP_STR('\\n'):\n\t\t\t\tbreak;\n\t\t\tcase WISP_STR('\\t'):\n\t\t\t\tCount = m_TabAlign - Index % m_TabAlign;\n\t\t\t\tcx+=m_pFont->GetCharWidth(WISP_STR(' '))*Count;\n\t\t\t\tIndex+=Count;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcx+=m_pFont->GetCharWidth(pString[i]);\n\t\t\t\tIndex++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn cx;\n}\n\nint\tCWispDC::GetTextHeight(const WISP_CHAR Char)\n{\n\treturn m_pFont->m_Height;\n}\n\nint CWispDC::DrawString(IN WISP_CHAR* lpString,INOUT WISP_RECT* lpRect,IN UINT uFormat,IN UINT nShowLen,IN int nPreLineMaxCharNum)\n{\n\tstruct stShowString\n\t{\n\t\tint coordinateX;\n\t\tWISP_CHAR *ShowString;\n\t\tint nShowLen;\n\t\tint nPixelWidth;\n\t}ShowString[4];\n#define TABEXPENDLEN 9\n\tint nStringRealLen = 0, nTabCharLen = 8, nRet = 0, nTabCharCounter = 0;\n\tint nEllipsesBegineOffset;\n\tWISP_CHAR EllipsesArray[2]={0,0};\n\tint nLineNum = 0, i, j, nTmp, nMaxShowCharNum = 0;\n\tint nCurrentMaxLineCharNum = 0;\n\tint nTabExpandLen = 0,nCenterPos = 0;\n\tint nCharAverageWidth = 6;\n\tint nCharAverageHigh = GetTextHeight(WISP_CHAR(\"A\"));\n\tint nTabPixelWidth = nCharAverageWidth;\n\tint nRightSkipCharNum = 0, nLeftSkipCharNum = 0;\n\tWISP_RECT rc;\n\tWISP_CHAR *ellipsis = WISP_STR(\"...\");\n\tint EllipsisStringPixelWidth;\n\t//WISP_CHAR TabExpendString[TABEXPENDLEN];\n\t//int TabExpendStringPixelWidth;\n\t//\tint nFileNameCorrdinateX;\n\tint nEllipsesCoordinateX;\n\tWISP_CHAR* PathName = NULL;\n\tint nPathStrLen;//Ŀ¼ַĸ\n\tint nPathShowStrLen;//Ŀ¼Ҫʾַĸ\n\tWISP_CHAR *FileName=NULL;\n\tint nFileNameStrLen;\n\tint nShowStringCounter = 1;//ʾһеĴҪּʾ Ĵ  һʾĿ¼֣ڶʡԺţļĴʡԺ\n\tbool isClip = true;\n\tint x,y;\n\tWISP_CHAR *pShowString = NULL;\n\n\tif(lpString != NULL)\n\t\tnStringRealLen = TStrLen(lpString);\n\tif(nStringRealLen == 0)\n\t\treturn nRet;\n\tif(nShowLen != 0 && nShowLen < (UINT)nStringRealLen)\n\t\tnStringRealLen = nShowLen;\n\trc = *lpRect;\n\tif(uFormat & WISP_DT_EXPANDTABS)// TAB ַչؿ\n\t{\n\t\tif(uFormat & WISP_DT_TABSTOP)\n\t\t{\n\t\t\tnTabCharLen = (0xff00 & uFormat) >> 8;\n\t\t\tuFormat = uFormat & ~(WISP_DT_CALCRECT | WISP_DT_EXTERNALLEADING | WISP_DT_INTERNAL | WISP_DT_NOCLIP | WISP_DT_NOPREFIX);\t\t\n\t\t}\n\t\tif(nTabCharLen == 0)\n\t\t\tnTabCharLen = 8;\n\t\tnTabPixelWidth = nTabCharLen * nCharAverageWidth;\n\t\t//uFormat = uFormat & ~(WISP_DT_END_ELLIPSIS | WISP_DT_PATH_ELLIPSIS | WISP_DT_EDITCONTROL | WISP_DT_WORD_ELLIPSIS);\t\n\t}\t\n\tnLineNum = CalcTextLineNum(lpString,nStringRealLen);\n\tif(uFormat & WISP_DT_CALCRECT)\t\n\t\treturn CalcDrawTextRect(lpString,lpRect,nStringRealLen, uFormat, nTabPixelWidth);\n\tnCenterPos = lpRect->x + lpRect->cx / 2;\n\tif(uFormat & (WISP_DT_END_ELLIPSIS | WISP_DT_WORD_ELLIPSIS | WISP_DT_PATH_ELLIPSIS))\n\t\tEllipsisStringPixelWidth = GetTextExtent(ellipsis);\n\tif(uFormat & WISP_DT_NOCLIP)//Ϊǲüĵ\t\n\t\tAdjustNoClipRect(&rc,uFormat);\t\t\t\n\n\tif(uFormat & WISP_DT_SINGLELINE)\n\t{\n\t\tif(rc.x + rc.cx < 0 || rc.x > m_pRect->cx) //ʾ\n\t\t\treturn nCharAverageHigh;\n\t\tx = rc.x;\n\t\ty =\trc.y;\n\t\tint nStringPixelWidth;\n\n\t\tif(uFormat & WISP_DT_EXPANDTABS)//Ҫʾַس\n\t\t\tnStringPixelWidth = GetTextExtentTabExpend(lpString,nTabPixelWidth,nStringRealLen);\n\t\telse\n\t\t\tnStringPixelWidth = GetTextExtent(lpString,nStringRealLen);\n\n\t\tif(uFormat & WISP_DT_RIGHT) // WISP_DT_RIGHT\n\t\t\tx = rc.x + rc.cx - nStringPixelWidth;\n\t\telse if(uFormat & WISP_DT_CENTER) // WISP_DT_CENTER\n\t\t\tx = nCenterPos - nStringPixelWidth / 2;\t\n\t\tif(uFormat & WISP_DT_VCENTER)//ֱм롣\n\t\t\ty = rc.y + rc.cy / 2 - nCharAverageHigh / 2;\n\t\telse if(uFormat & WISP_DT_BOTTOM)//ױ߶\n\t\t\ty = rc.y + rc.cy - nCharAverageHigh;\t\n\t\tShowString[0].coordinateX = x;\n\t\tShowString[0].ShowString = lpString;\n\t\tShowString[0].nShowLen = nStringRealLen;\n\t\tShowString[0].nPixelWidth = nStringPixelWidth;\n\t\tif(nStringPixelWidth > rc.cx)\n\t\t{\t\t\t\n\t\t\tif(uFormat & WISP_DT_PATH_ELLIPSIS)\n\t\t\t{\n\t\t\t\tint nFileNamePixelWidth;\n\t\t\t\tint nPathNamePixelWidth;\n\n\t\t\t\tfor(j = 1,i = nStringRealLen - 2; i >= 0; i--,j++)//Ҫһַ \n\t\t\t\t{\n\t\t\t\t\tif(lpString[i] == PATH_SEPARATOR_CHAR)\n\t\t\t\t\t{\n\t\t\t\t\t\tFileName = &lpString[i];\n\t\t\t\t\t\tnPathStrLen = i;\n\t\t\t\t\t\tif(nPathStrLen < 3)\n\t\t\t\t\t\t\tgoto local_2;\n\t\t\t\t\t\tif(i)\n\t\t\t\t\t\t\tPathName = lpString;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tPathName = NULL;\n\t\t\t\t\t\tj++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tnFileNameStrLen = j;\n\t\t\t\tif(FileName != NULL && nPathStrLen > 3)\n\t\t\t\t{\n\t\t\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\t\t\tnFileNamePixelWidth = GetTextExtentTabExpend(FileName,nStringPixelWidth,j);\n\t\t\t\t\telse\n\t\t\t\t\t\tnFileNamePixelWidth = GetTextExtent(FileName,j);\n\t\t\t\t\tif(nFileNamePixelWidth + EllipsisStringPixelWidth < rc.cx)\n\t\t\t\t\t{\n\t\t\t\t\t\tnTmp = rc.cx - nFileNamePixelWidth - EllipsisStringPixelWidth;//ʾ·\n\n\t\t\t\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ti = GetMaxShowCharNum(PathName,nTmp,nTabPixelWidth,nPathStrLen);\n\t\t\t\t\t\t\tnPathNamePixelWidth = GetTextExtentTabExpend(PathName,nStringPixelWidth,i);\n\t\t\t\t\t\t\tnTmp = nTmp - nPathNamePixelWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ti = GetMaxShowCharNum(PathName,nTmp,0,nPathStrLen);\n\t\t\t\t\t\t\tnPathNamePixelWidth = GetTextExtent(PathName,i);\n\t\t\t\t\t\t\tnTmp = nTmp - nPathNamePixelWidth;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnPathShowStrLen = i;\n\t\t\t\t\t\tif(nPathStrLen - nPathShowStrLen < 3)//жʾµַǷ񳬹 3 \n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tgoto local_2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(uFormat & WISP_DT_RIGHT)\n\t\t\t\t\t\t\tx += nTmp;\n\t\t\t\t\t\telse if(uFormat & WISP_DT_CENTER)\n\t\t\t\t\t\t\tx += nTmp / 2;\n\t\t\t\t\t\tShowString[0].coordinateX = x;\n\t\t\t\t\t\tShowString[0].ShowString = PathName;\n\t\t\t\t\t\tShowString[0].nShowLen = nPathShowStrLen;\n\t\t\t\t\t\tShowString[0].nPixelWidth = nPathNamePixelWidth;\n\n\t\t\t\t\t\tShowString[1].coordinateX = x + nPathNamePixelWidth;\n\t\t\t\t\t\tShowString[1].ShowString = ellipsis;\n\t\t\t\t\t\tShowString[1].nShowLen = 3;\n\t\t\t\t\t\tShowString[1].nPixelWidth = EllipsisStringPixelWidth;\n\n\t\t\t\t\t\tShowString[2].coordinateX = ShowString[1].coordinateX + EllipsisStringPixelWidth;\n\t\t\t\t\t\tShowString[2].ShowString = FileName;\n\t\t\t\t\t\tShowString[2].nShowLen = nFileNameStrLen;\n\t\t\t\t\t\tShowString[2].nPixelWidth = nFileNamePixelWidth;\n\t\t\t\t\t\tnShowStringCounter = 3;\n\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(uFormat & WISP_DT_RIGHT)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx = rc.cx + rc.x - nFileNamePixelWidth;\n\t\t\t\t\t\t}else if(uFormat & WISP_DT_CENTER)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx = nCenterPos + nFileNamePixelWidth / 2;\n\t\t\t\t\t\t}\t\n\n\t\t\t\t\t\tShowString[0].coordinateX = x;\n\t\t\t\t\t\tShowString[0].ShowString = ellipsis;\n\t\t\t\t\t\tShowString[0].nShowLen = 3;\n\t\t\t\t\t\tShowString[0].nPixelWidth = EllipsisStringPixelWidth;\n\n\t\t\t\t\t\tShowString[1].coordinateX = x + EllipsisStringPixelWidth;\n\t\t\t\t\t\tShowString[1].ShowString = FileName;\n\t\t\t\t\t\tShowString[1].nShowLen = nFileNameStrLen;\n\t\t\t\t\t\tShowString[1].nPixelWidth = nFileNamePixelWidth;\n\t\t\t\t\t\tnShowStringCounter = 2;\n\t\t\t\t\t}\t\n\t\t\t\t\tif(uFormat & WISP_DT_MODIFYSTRING)\n\t\t\t\t\t{\n\n\t\t\t\t\t\tPathName[nPathShowStrLen] = 0x2e;\n\t\t\t\t\t\tPathName[nPathShowStrLen+1] = 0x2e;\n\t\t\t\t\t\tPathName[nPathShowStrLen+2] = 0x2e;\n\t\t\t\t\t\tfor(i = 0; i < nFileNameStrLen;i++)\n\t\t\t\t\t\t\tPathName[nPathShowStrLen+3+i] = FileName[i];\n\t\t\t\t\t\tFileName[i] = 0;\n\t\t\t\t\t}\n\t\t\t\t}\t\t\t\t\nlocal_2:\t\t\t\t\t\n\t\t\t\t;\n\t\t\t}else\n\t\t\t\tif(uFormat & WISP_DT_END_ELLIPSIS)\n\t\t\t\t{\n\t\t\t\t\tif(uFormat & (WISP_DT_RIGHT | WISP_DT_CENTER))\t\t\t\n\t\t\t\t\t\tnTmp = rc.cx - EllipsisStringPixelWidth;\n\t\t\t\t\telse\t\t\t\t\n\t\t\t\t\t\tnTmp = rc.cx - EllipsisStringPixelWidth / 2 + 1;\n\t\t\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\t\t{\n\t\t\t\t\t\ti = GetMaxShowCharNum(lpString,nTmp,nStringRealLen,nTabPixelWidth);\n\t\t\t\t\t\tnEllipsesCoordinateX = GetTextExtentTabExpend(lpString,nStringPixelWidth,i);\n\t\t\t\t\t\tnTmp = nTmp - nEllipsesCoordinateX;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ti = GetMaxShowCharNum(lpString,nTmp,nStringRealLen);\n\t\t\t\t\t\tnEllipsesCoordinateX = GetTextExtent(lpString,i);\n\t\t\t\t\t\tnTmp = nTmp - nEllipsesCoordinateX;\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t\tif(uFormat & WISP_DT_RIGHT)\n\t\t\t\t\t\tx += nTmp;\n\t\t\t\t\telse if(uFormat & WISP_DT_CENTER)\n\t\t\t\t\t\tx = x + nTmp / 2;\n\t\t\t\t\tnEllipsesBegineOffset = i;\n\t\t\t\t\tShowString[nShowStringCounter].coordinateX = ShowString[0].coordinateX;\n\t\t\t\t\tif(uFormat & WISP_DT_PATH_ELLIPSIS)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor(j = 0; j < nShowStringCounter;j++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tShowString[nShowStringCounter].coordinateX += ShowString[j].nPixelWidth;\n\t\t\t\t\t\t}\t\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tShowString[0].coordinateX = x;\n\t\t\t\t\t\tShowString[nShowStringCounter].coordinateX +=nEllipsesCoordinateX;\n\t\t\t\t\t\tShowString[0].nShowLen = nEllipsesBegineOffset;\n\t\t\t\t\t}\n\t\t\t\t\tShowString[nShowStringCounter].ShowString = ellipsis;\n\t\t\t\t\tShowString[nShowStringCounter].nShowLen = 3;\n\t\t\t\t\tShowString[nShowStringCounter].nPixelWidth = EllipsisStringPixelWidth;\n\t\t\t\t\tnShowStringCounter++;\n\t\t\t\t\tif(uFormat & WISP_DT_MODIFYSTRING)\n\t\t\t\t\t{\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tfor(j = i; j < i + 3 && j < nStringRealLen; j++)\n\t\t\t\t\t\t\tlpString[j] = 0x2e;\n\t\t\t\t\t}\n\t\t\t\t}else if(uFormat & WISP_DT_WORD_ELLIPSIS)\n\t\t\t\t{\n\t\t\t\t}\n\t\t}\n\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t{\t\n\t\t\tfor(i = 0; i < nShowStringCounter;i++)\n\t\t\t\tDrawTabExpendString(ShowString[i].coordinateX,y,ShowString[i].ShowString, ShowString[i].nShowLen,rc,nTabPixelWidth);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(i = 0; i < nShowStringCounter;i++)\n\t\t\t\tDrawString(ShowString[i].coordinateX,y,ShowString[i].ShowString, ShowString[i].nShowLen);\n\t\t}\n\t\treturn nCharAverageHigh;\n\t}else  //if(uFormat & WISP_DT_SINGLELINE)Ƕ\n\t{\n\t\tint nBeginOffset = 0;\n\t\tint nWriteByte = nStringRealLen;\n\t\tint n;\n\t\tint nShowLineNum = 0;\n\t\tbool bFlags = true;\n\n\t\tif(uFormat & WISP_DT_VCENTER)\n\t\t{\n\t\t\tif(rc.cy >(nLineNum * nCharAverageHigh))\n\t\t\t{\n\t\t\t\trc.y = rc.y+(rc.cy - ((nLineNum)* nCharAverageHigh)) / 2;\n\t\t\t}\t\t\t\n\t\t\tuFormat &= ~WISP_DT_VCENTER;\t\n\t\t}\n\t\tuFormat &= ~WISP_DT_BOTTOM;\n\t\tuFormat |= WISP_DT_SINGLELINE;\n\t\t//nShowLen\n\t\tfor(nTmp = 0,i = 0; i < nLineNum; i++,nShowLineNum++)\n\t\t{\n\t\t\tn = nTmp;\n\t\t\tfor(j = 0;nTmp < nStringRealLen && lpString[nTmp] != '\\r' && lpString[nTmp] != '\\n';nTmp++,j++);\n\t\t\tif(j == 0)\n\t\t\t{\n\t\t\t\tif(nTmp < nStringRealLen)\n\t\t\t\t\tgoto local_1;\n\t\t\t\telse\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(nWriteByte <= 0)\n\t\t\t\t\tbreak;\n\t\t\t\tif(j > nWriteByte)\n\t\t\t\t\tj = nWriteByte;\n\t\t\t\tnWriteByte -= j;\n\n\t\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\t\tnBeginOffset = GetTextExtentLineTabExpend(&lpString[n],nTabPixelWidth,j);\n\t\t\t\telse\n\t\t\t\t\tnBeginOffset = GetTextExtent(&lpString[n],j);\n\t\t\t\tif(uFormat & WISP_DT_AUTONEWLINE)\n\t\t\t\t{\n\t\t\t\t\tif(nBeginOffset > lpRect->cx)\n\t\t\t\t\t{\n\t\t\t\t\t\tint l;\n\t\t\t\t\t\tfor(; j > 0; )\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\t\t\t\t\tl = GetMaxShowCharNum(&lpString[n],lpRect->cx,nTabPixelWidth,j);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tl = GetMaxShowCharNum(&lpString[n],lpRect->cx,0,j);\n\t\t\t\t\t\t\tDrawString((WISP_CHAR*)&lpString[n], &rc, uFormat, l);\n\t\t\t\t\t\t\tn+=l;\t\n\t\t\t\t\t\t\tj -= l;\n\n\t\t\t\t\t\t\tnShowLineNum++;\n\t\t\t\t\t\t\tif(j !=0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\trc.y += nCharAverageHigh;\n\t\t\t\t\t\t\t\trc.cy -= nCharAverageHigh;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(rc.cy <= 0)\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\t\t\t\t\n\t\t\t\t\t\tnShowLineNum--;\n\t\t\t\t\t}\n\t\t\t\t}else if(uFormat & WISP_DT_MAXCHAR)\n\t\t\t\t{\t\t\t\n\n\t\t\t\t\tfor(;j >= nPreLineMaxCharNum;)\n\t\t\t\t\t{\n\t\t\t\t\t\tDrawString((WISP_CHAR*)&lpString[n], &rc, uFormat, nPreLineMaxCharNum);\n\t\t\t\t\t\tn+=nPreLineMaxCharNum;\n\t\t\t\t\t\tj -= nPreLineMaxCharNum;\n\t\t\t\t\t\tnShowLineNum++;\n\t\t\t\t\t\tif(j != 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\trc.y += nCharAverageHigh;\n\t\t\t\t\t\t\trc.cy -= nCharAverageHigh;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(rc.cy <= 0)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(j == 0)\n\t\t\t\t\t\tnShowLineNum--;\n\t\t\t\t}\n\n\t\t\t\tif(j)\n\t\t\t\t\tDrawString((WISP_CHAR*)&lpString[n], &rc, uFormat, j);\n\t\t\t}\nlocal_1:\n\t\t\tnTmp++;\t\n\t\t\tif(nTmp > nStringRealLen)\n\t\t\t\tbreak;\n\t\t\tnWriteByte--;\n\t\t\tif(lpString[nTmp] == '\\n' || lpString[nTmp] == '\\r')\n\t\t\t\tif(lpString[nTmp-1] != lpString[nTmp])\n\t\t\t\t{\n\t\t\t\t\tnTmp++;\n\t\t\t\t\tnWriteByte--;\n\t\t\t\t}\n\n\t\t\t\trc.y += nCharAverageHigh;\n\t\t\t\trc.cy -= nCharAverageHigh;\n\t\t\t\tif(rc.cy <= 0)\n\t\t\t\t\tbreak;\n\t\t}\n\t\t//local_3:\n\t\treturn nShowLineNum * nCharAverageHigh;\n\t}\n\treturn 0;\n}\n\nint\tCWispDC::GetTextExtentTabExpend(const WISP_CHAR* lpString,int nTabPixelWidth,int nCount)\n{\n\tint i,nRetLen = 0,nTmp;\n\tCODE_ASSERT(nTabPixelWidth);\n\tif(nCount == -1)\n\t\tnCount = TStrLen(lpString);\n\tfor (i = 0; i < nCount; i++)\n\t{\n\t\tif(lpString[i] >= 0x100)\n\t\t\tnRetLen += 16;\n\t\telse\n\t\t{\n\t\t\tif(lpString[i] != '\\t')\n\t\t\t\tnRetLen+=m_pFont->m_CharLenAry[lpString[i]];\n\t\t\telse\n\t\t\t{\n\t\t\t\tnTmp = nRetLen % nTabPixelWidth;\n\t\t\t\tnRetLen = nRetLen + nTabPixelWidth - nTmp;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn nRetLen;\n}\n\nint\tCWispDC::GetTextExtentLineTabExpend(const WISP_CHAR* lpString,int nTabPixelWidth,int nCount)\n{\n\tint i,nRetLen = 0,nTmp;\n\tCODE_ASSERT(nTabPixelWidth);\n\tif(nCount == -1)\n\t\tnCount = TStrLen(lpString);\n\tfor (i = 0; i < nCount; i++)\n\t{\n\t\tif(lpString[i] == '\\n' || lpString[i] == '\\r')\n\t\t\tbreak;\n\t\tif(lpString[i] >= 0x100)\n\t\t\tnRetLen += 16;\n\t\telse\n\t\t{\n\t\t\tif(lpString[i] != '\\t')\n\t\t\t\tnRetLen+=m_pFont->m_CharLenAry[lpString[i]];\n\t\t\telse\n\t\t\t{\n\t\t\t\tnTmp = nRetLen % nTabPixelWidth;\n\t\t\t\tnRetLen = nRetLen + nTabPixelWidth - nTmp;\n\t\t\t}\n\t\t}\n\t}\n\treturn nRetLen;\n}\nint CWispDC::CalcTextLineNum(WISP_CHAR *lpString,int nCount)\n{\n\tint i,j,nLineNum = 0,nTmp,nIsMutleLines=0;\n/*\n\tfor(i = 0; i < nCount; i++)\n\t{\n\t\tif(lpString[i] == '\\r' || lpString[i] == '\\n')\n\t\t{\n\t\t\tnIsMutleLines=1;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(nIsMutleLines == 0)\n\t\treturn 1;\n*/\n\tfor(nTmp = 0,i = 0; i < nCount; i++)\n\t{\n\t\tfor(j = 0;nTmp < nCount && lpString[nTmp] != '\\r' && lpString[nTmp] != '\\n';nTmp++,j++);\t\t\n\t\tif(j == 0)\n\t\t{\n\t\t\tif(nTmp < nCount)\n\t\t\t\tnLineNum++;\t\t\t\t\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnLineNum++;\t\t\t\n\t\t}\n\t\tnTmp++;\n\t\tif(nTmp >= nCount)\n\t\t\tbreak;\n\t\telse\n\t\t{\n\t\t\tif(lpString[nTmp] == '\\n' || lpString[nTmp] == '\\r')\n\t\t\t\tif(lpString[nTmp - 1] != lpString[nTmp])\n\t\t\t\t\tnTmp++;\n\t\t}\t\n\t}\t\n//\tnLineNum++;\t\n\treturn nLineNum;\n}\n\n\nint CWispDC::CalcDrawTextRect(WISP_CHAR *lpString,WISP_RECT *lpRect,int nStrLen,UINT uFormat, int nTabPixelWidth)\n{\n\tint nCharAverageHigh = m_pFont->m_Height,nTmp,nCurrentMaxLineCharNum = 0;\n\tint i,j,nLineNum = 0,m;\n\tif(uFormat & WISP_DT_SINGLELINE)\n\t{\t\t\t\n\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\tlpRect->cx = GetTextExtentTabExpend(lpString,nTabPixelWidth,nStrLen);\n\t\telse\n\t\t\tlpRect->cx = GetTextExtent(lpString,nStrLen);\n\t\tlpRect->cy = nCharAverageHigh;\n\t}\n\telse\n\t{\t\t\t\n\t\tfor(i = 0; i < nStrLen;)\n\t\t{\n\t\t\tm = i;\n\t\t\tfor(j = 0;i < nStrLen && lpString[i] != '\\r' && lpString[i] != '\\n';i++,j++);\n\t\t\tif(j == 0)\n\t\t\t{\n\t\t\t\tif(i < nStrLen)\n\t\t\t\t\tnLineNum++;\t\t\t\t\n\t\t\t\telse\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnLineNum++;\t\n\t\t\t}\n\n\t\t\tif(uFormat & WISP_DT_EXPANDTABS)\n\t\t\t\tnTmp = GetTextExtentLineTabExpend(&lpString[m],nTabPixelWidth,j);\n\t\t\telse\n\t\t\t\tnTmp = GetTextExtent(&lpString[m],j);\t\t\n\t\t\tif(uFormat & WISP_DT_AUTONEWLINE)\n\t\t\t{\n\t\t\t\tif(nTmp > lpRect->cx)\n\t\t\t\t{\n\t\t\t\t\tint l;\n\t\t\t\t\t\n\t\t\t\t\tfor(; j > 0; j -= l)\n\t\t\t\t\t{\n\t\t\t\t\t\tl = GetMaxShowCharNum(&lpString[m],lpRect->cx,0,j);\n\t\t\t\t\t\tnLineNum++;\n\t\t\t\t\t\tm+=l;\n\t\t\t\t\t}\n\t\t\t\t\tnLineNum--;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(nCurrentMaxLineCharNum < nTmp)\n\t\t\t\tnCurrentMaxLineCharNum = nTmp;\n\t\t\ti++;\n\t\t\tif(i >= nStrLen)\n\t\t\t\tbreak;\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(lpString[i] == '\\n' || lpString[i] == '\\r')\n\t\t\t\t\tif(lpString[i - 1] != lpString[i])\n\t\t\t\t\t\ti++;\n\t\t\t}\n\t\t}\n\t\tlpRect->cy = nLineNum * nCharAverageHigh;\n\t\tlpRect->cx = nCurrentMaxLineCharNum;\n\t}\n\treturn lpRect->cy;\n}\n\nvoid CWispDC::AdjustNoClipRect(INOUT WISP_RECT *lpRect,UINT uFormat)\n{\n\tif(uFormat & WISP_DT_RIGHT)//ǷǲüҶĻ  x   DC ߡ\n\t{\n\t\tif(lpRect->x > 0)\n\t\t{\n\t\t\tlpRect->cx += lpRect->x;\n\t\t\tlpRect->x =0;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(uFormat & WISP_DT_CENTER)\n\t\t{\t\t\t\t\n\t\t\tif(lpRect->x > 0)\n\t\t\t{\n\t\t\t\tlpRect->cx += lpRect->x;\n\t\t\t\tlpRect->x =0;\t\t\t\t\t\n\t\t\t}\n\t\t\tif(lpRect->x + lpRect->cx < m_pRect->cx)\n\t\t\t\tlpRect->cx =lpRect->cx + m_pRect->cx - (lpRect->x + lpRect->cx);\t\t\t\t\t\n\t\t}\n\t\telse//WISP_DT_LEFT\n\t\t\tif(lpRect->x + lpRect->cx  < m_pRect->cx)////ǷǲüĻ  cx   DC ұߡ\n\t\t\t\tlpRect->cx =m_pRect->cx - lpRect->x;\n\t}\n}\n\nint CWispDC::GetMaxShowCharNum(WISP_CHAR *lpString,int nMaxWidth,  int nTabPixelWidth,int nCount)\n{\n\tint sum = 0,i,nTmp;\n\tCODE_ASSERT(lpString);\n\tif(nCount == -1)\n\t\tnCount = TStrLen(lpString);\n\tif(nTabPixelWidth)\n\t{\n\t\tfor(i = 0; i < nCount; i++)\n\t\t{\n\t\t\tif(lpString[i] != '\\t')\n\t\t\t{\n\t\t\t\tnTmp =  GetTextExtent(&lpString[i],1);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnTmp = nTabPixelWidth - sum % nTabPixelWidth;\n\t\t\t}\n\t\t\tif(sum + nTmp < nMaxWidth)\n\t\t\t\tsum += nTmp;\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(lpString[i] == '\\t')\n\t\t\t\t\ti++;\n\t\t\t\tbreak;\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\telse\n\t{\n\t\tfor(i = 0; i < nCount; i++)\n\t\t{\n\t\t\tnTmp = GetTextExtent(&lpString[i],1);\n\t\t\tif(sum + nTmp < nMaxWidth)\n\t\t\t\tsum += nTmp;\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn i;\n}\n\n\n#define\t\tTABEXPENDLEN\t9\n\nint CWispDC::DrawTabExpendString(int x, int y, WISP_CHAR *lpString,int nStringRealLen,WISP_RECT rc,int nTabPixelWidth )\n{\n\tWISP_CHAR TabExpendString[TABEXPENDLEN];\n\tint TabExpendStringPixelWidth;\n\tint k ,i ,j ,n = 0,nStartx, nTmp;\n\tfor(i = 0; i < TABEXPENDLEN; i++)\n\t\tTabExpendString[i] = ' ';\n\tTabExpendString[TABEXPENDLEN-1] = 0;\n\tTabExpendStringPixelWidth = GetTextExtent(TabExpendString);\n\tnStartx = x;\n\tfor(i = 0; i < nStringRealLen; i++)\n\t{\n\t\tnTmp = i;\n\t\tfor(j = 0; i < nStringRealLen && lpString[i] != '\\t'; i++,j++);\t\t\n\t\tn = GetTextExtent(&lpString[nTmp],j);\n\t\tif(x + n >= 0 && x <= m_pRect->cx)\n\t\t\tDrawString(x,y,&lpString[nTmp],j);\n\t\telse\n\t\t\tbreak;\n\t\tx += n;\n\t\tk = nTabPixelWidth - (x - nStartx) % nTabPixelWidth;\n\t\tnTmp = (k + TabExpendStringPixelWidth - 1) / TabExpendStringPixelWidth;\n\t\tk = x + k;\n\t\tfor(j = 0; j < nTmp; j++,x += TabExpendStringPixelWidth)\n\t\t{\t\n\t\t\tif(x + TabExpendStringPixelWidth >= 0 && x <= m_pRect->cx)\n\t\t\t\tDrawString(x,y,TabExpendString,-1);\n\t\t\telse\n\t\t\t\tbreak;\n\t\t}\n\t\tx = k;\t\t\t\t\n\t}\n\treturn 0;\n}\n\nvoid CWispDC::CirclePlotPoints(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect)\n{\n\tif(PtInRect(pClipRect,xCenter+x,yCenter-y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+x,yCenter-y,color);//TRT\n\tif(PtInRect(pClipRect,xCenter+y,yCenter-x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+y,yCenter-x,color);//TRB\n\tif(PtInRect(pClipRect,xCenter+y,yCenter+x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+y,yCenter+x,color);//BRT\n\tif(PtInRect(pClipRect,xCenter+x,yCenter+y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+x,yCenter+y,color);//BRB\n\tif(PtInRect(pClipRect,xCenter-x,yCenter+y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-x,yCenter+y,color);//BLB\n\tif(PtInRect(pClipRect,xCenter-y,yCenter+x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-y,yCenter+x,color);//BLT\n\tif(PtInRect(pClipRect,xCenter-y,yCenter-x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-y,yCenter-x,color);//TLB\n\tif(PtInRect(pClipRect,xCenter-x,yCenter-y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-x,yCenter-y,color);//TLT\n}\n\nvoid CWispDC::CirclePlotPointsRightTop(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect)\n{\n\tif(PtInRect(pClipRect,xCenter+x,yCenter-y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+x,yCenter-y,color);//TRT\n\tif(PtInRect(pClipRect,xCenter+y,yCenter-x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+y,yCenter-x,color);//TRB\n}\n\nvoid CWispDC::CirclePlotPointsRightBottom(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect)\n{\n\tif(PtInRect(pClipRect,xCenter+y,yCenter+x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+y,yCenter+x,color);//BRT\n\tif(PtInRect(pClipRect,xCenter+x,yCenter+y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter+x,yCenter+y,color);//BRB\t\t\n}\n\nvoid CWispDC::CirclePlotPointsLeftTop(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect)\n{\n\tif(PtInRect(pClipRect,xCenter-y,yCenter-x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-y,yCenter-x,color);//TLB\n\tif(PtInRect(pClipRect,xCenter-x,yCenter-y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-x,yCenter-y,color);//TLT\n}\n\nvoid CWispDC::CirclePlotPointsLeftBottom(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect)\n{\n\tif(PtInRect(pClipRect,xCenter-x,yCenter+y))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-x,yCenter+y,color);//BLB\n\tif(PtInRect(pClipRect,xCenter-y,yCenter+x))\n\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,xCenter-y,yCenter+x,color);//BLT\n}\n\nint CWispDC::DrawString(IN CWispFont*pLogFont,IN int x,IN int y,IN const WISP_CHAR*pStr,IN COLORREF TextColor,IN WISP_RECT*pClipRect,IN COLORREF*pBKColor,IN int Length,IN int Index,int Flags)\n{\n\tBYTE*pFont;\n\tint Width,n,i,j,BitOffset,OrgX;\n\tWISP_CHAR szText[MAX_TAB_ALIGN];\n\tOrgX = x;\n\twhile(Length && *pStr)\n\t{\n\t\tif(Flags)\n\t\t{\n\t\t\tszText[0]=*pStr;\n\t\t\tszText[1]=0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tswitch(*pStr)\n\t\t\t{\n\t\t\tcase WISP_STR('\\n'):\n\t\t\t\treturn x - OrgX;\n\t\t\tcase WISP_STR('\\t'):\n\t\t\t\tn = m_TabAlign - Index % m_TabAlign;\n\t\t\t\tszText[n]=0;\n\t\t\t\tdo\n\t\t\t\t{\n\t\t\t\t\tn--;\n\t\t\t\t\tszText[n]=WISP_STR(' ');\n\t\t\t\t}while(n>0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tszText[0]=*pStr;\n\t\t\t\tszText[1]=0;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tfor(n=0;szText[n];n++)\n\t\t{\n\t\t\tpFont=pLogFont->GetCharPixelBuffer(szText[n]);\n\t\t\tWidth=pLogFont->GetCharWidth(szText[n]);\n\t\t\tBitOffset=0;\n\t\t\tfor(j=0;j<pLogFont->m_Height;j++)\n\t\t\t{\n\t\t\t\tfor(i=0;i<Width;i++)\n\t\t\t\t{\n\t\t\t\t\tif(PtInRect(pClipRect,x+i,y+j))\n\t\t\t\t\t{\n\t\t\t\t\t\tif((pFont[BitOffset/8]>>(BitOffset%8)) & 1)\n\t\t\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x+i,y+j,TextColor);\n\t\t\t\t\t\telse if(pBKColor)\n\t\t\t\t\t\t\tm_pFrameBuffer->pDrawHAL->DrawPixel(m_pFrameBuffer,x+i,y+j,*pBKColor);\n\t\t\t\t\t}\n\t\t\t\t\tBitOffset++;\n\t\t\t\t}\n\t\t\t}\n\t\t\tx+=Width;\n\t\t\tIndex++;\n\t\t}\n\t\tpStr++;\n\t\tLength--;\n\t}\n\treturn x - OrgX;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispDC.h",
    "content": "#ifndef _WISP_DC_H_\n#define _WISP_DC_H_\n\n#include \"WispBase.h\"\n#include \"WispFont.h\"\n\n//DrawText() Format Flags\n#define WISP_DT_TOP\t\t\t\t\t\t0x00000000\n#define WISP_DT_LEFT\t\t\t\t\t0x00000000\n#define WISP_DT_CENTER\t\t\t\t\t0x00000001\n#define WISP_DT_RIGHT\t\t\t\t\t0x00000002\n#define WISP_DT_VCENTER\t\t\t\t\t0x00000004\n#define WISP_DT_BOTTOM\t\t\t\t\t0x00000008\n#define WISP_DT_WORDBREAK\t\t\t\t0x00000010\n#define WISP_DT_SINGLELINE\t\t\t\t0x00000020\n#define WISP_DT_EXPANDTABS\t\t\t\t0x00000040\n#define WISP_DT_TABSTOP\t\t\t\t\t0x00000080\n#define WISP_DT_NOCLIP\t\t\t\t\t0x00000100\n#define WISP_DT_EXTERNALLEADING\t\t\t0x00000200\n#define WISP_DT_CALCRECT\t\t\t\t0x00000400\n#define WISP_DT_NOPREFIX\t\t\t\t0x00000800\n#define WISP_DT_INTERNAL\t\t\t\t0x00001000\n#define WISP_DT_EDITCONTROL\t\t\t\t0x00002000\n#define WISP_DT_PATH_ELLIPSIS\t\t\t0x00004000\n#define WISP_DT_END_ELLIPSIS\t\t\t0x00008000\n#define WISP_DT_MODIFYSTRING\t\t\t0x00010000\n#define WISP_DT_RTLREADING\t\t\t\t0x00020000\n#define WISP_DT_WORD_ELLIPSIS\t\t\t0x00040000\n#define WISP_DT_NOFULLWIDTHCHARBREAK\t0x00080000\n#define WISP_DT_HIDEPREFIX\t\t\t\t0x00100000\n#define WISP_DT_PREFIXONLY\t\t\t\t0x00200000\n#define WISP_DT_AUTONEWLINE\t\t\t\t0x00400000\n#define WISP_DT_MAXCHAR\t\t\t\t\t0x00800000\n\n//DrawString() Format Flag\n#define WISP_TEXT_TRANS\t\t\t\t\t0x00000000\n#define WISP_TEXT_OPAQUE\t\t\t\t0x00000001\n\n//DrawSystemStandardIcon define\n#define WISP_SSI_EXPANDBUTTON_SIZE\t\t9\n#define WISP_SSI_CHECKBOX_SIZE\t\t\t11\n\nenum WISP_SSI_ENUM\n{\n\tWISP_SSI_VERT_INC_SPIN = 0,\n\tWISP_SSI_VERT_DEC_SPIN,\n\tWISP_SSI_HORZ_INC_SPIN,\n\tWISP_SSI_HORZ_DEC_SPIN,\n\tWISP_SSI_CLOSE,\n\tWISP_SSI_MINIMIZE,\n\tWISP_SSI_MAXIMIZE,\n\tWISP_SSI_RESTORE,\n\tWISP_SSI_DISABLED,\n\tWISP_SSI_EXPANDBUTTON_EXPAND,\n\tWISP_SSI_EXPANDBUTTON_COLLAPSE,\n\tWISP_SSI_CHECKBOX_UNCHECKED,\n\tWISP_SSI_CHECKBOX_CHECKED,\n\tWISP_SSI_CHECKBOX_SEMICHECKED,\n\tWISP_SSI_CHECKBOX_CHECKMARK,\n\tWISP_SSI_REDIOBOX_SELECTED,\n\tWISP_SSI_REDIOBOX_UNSELECTED,\n\tWISP_SSI_REDIOBOX_SELECTED_DRAK,\n\tWISP_SSI_REDIOBOX_UNSELECTED_DRAK,\n};\n\n\n#define MAX_TAB_ALIGN\t\t32\n\nclass CWispBaseWnd;\nclass CWispBase;\n\nclass CWispDC\n{\npublic:\n\tCWispDC();\n\tCWispDC(CWispDIB*pDIB);\n\tCWispDC(WISP_FRAME_BUFFER*pFrameBuffer,WISP_RECT*pRect);\n\tCWispBaseWnd*\tm_pWispWnd;\n\tCWispBase*\t\tm_pWispBase;\n\tWISP_FRAME_BUFFER*m_pFrameBuffer;\n\tWISP_RECT*\tm_pRect;\n\tCOLORREF*\tm_ColorTable;\n\tCWispFont*\tm_pFont;\n\tCOLORREF\tm_TextColor;\n\tCOLORREF\tm_TextShadowColor;\n\tCOLORREF\tm_TextBKColor;\n\tCOLORREF\tm_OldTextColor;\n\tCOLORREF\tm_OldTextShadowColor;\n\tCOLORREF\tm_OldTextBKColor;\n\tUINT\t\tm_TextStyle;\n\tWISP_RECT*\tm_pClipRect;\n\tint\t\t\tm_TabAlign;\n\tCOLORREF\tGetTextColor(void){return m_TextColor;}\n\tCOLORREF\tGetTextShadowColor(void){return m_TextShadowColor;}\n\tCOLORREF\tGetTextBKColor(void){return m_TextBKColor;}\n\n\tvoid\tSetColorTable(COLORREF*ColorTable){m_ColorTable = ColorTable;}\n\tvoid\tSetTextColor(COLORREF Color){m_OldTextColor=m_TextColor;m_TextColor=Color;}\n\tvoid\tSetShadowTextColor(COLORREF Color){m_OldTextShadowColor=m_TextShadowColor;m_TextShadowColor=Color;}\n\tvoid\tSetTextBKColor(COLORREF Color){m_OldTextBKColor=m_TextBKColor;m_TextBKColor=Color;}\n\tvoid\tSetTabAlign(int Length){m_TabAlign = Length;}\n\tvoid\tRestoreTextColor(){m_TextColor=m_OldTextColor;}\n\tvoid\tRestoreShadowTextColor(){m_TextShadowColor=m_OldTextShadowColor;}\n\tvoid\tRestoreTextBKColor(){m_TextBKColor=m_OldTextBKColor;}\n\n\tvoid\tSetTextStyle(UINT Style){m_TextStyle=Style;}\n\tvoid\tSetTextType(UINT Type);\npublic:\n\tbool\tAttachDIB(CWispDIB*pDIB);\n\tbool\tAttachFrameBuffer(WISP_FRAME_BUFFER*pFrameBuffer,WISP_RECT*pRect);\n\tbool\tAttachWnd(IN CWispBaseWnd*pWispWnd,IN WISP_RECT*pRect);\n\tvoid\tInitParam();\n\tvoid\tDetach();\n\tbool\tClipDCRect(INOUT WISP_RECT*pRect);\n\tbool\tClipDCLine(INOUT int*pX1,INOUT int*pY1,INOUT int*pX2,INOUT int*pY2);\n\tbool\tClipDCPoint(IN WISP_POINT*pPT);\n\tvoid\tEnableClipRect(WISP_RECT*pClipRect){ m_pClipRect = pClipRect; pClipRect->x += m_pRect->x;pClipRect->y += m_pRect->y;}\n\tvoid\tDisableClipRect(){ m_pClipRect=NULL; }\n\t//////////////////////////////////////////////////////////////////////////////////////////////////\n\t//ͼ\n\t//////////////////////////////////////////////////////////////////////////////////////////////////\npublic://ü\n\t//ַ\n\tint\t\tDrawString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Len = -1,int LineIndex = 0,int Flags=0);\n\tint\t\tDrawString(IN WISP_CHAR* lpString,INOUT WISP_RECT* lpRect,IN UINT uFormat,IN UINT nShowLen = 0,IN int nPreLineMaxCharNum=-1);\n\n\tint\t\tDrawString(IN WISP_RECT*pRect,IN const WISP_CHAR*string,IN int Length = -1,int LineIndex = 0);\n\tint\t\tDrawColorString(IN WISP_RECT*pRect,IN const WISP_COLOR_CHAR*string,IN int Length = -1,int LineIndex = 0);\n\t//ƴӰַ\n\tint\t\tDrawShadowString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Deep=1,IN int Len = -1,int LineIndex = 0);\n\tint\t\tDrawShadowString(IN WISP_RECT*pRect,IN const WISP_CHAR*string,IN int Deep=1,IN int Len = -1,int LineIndex = 0);\n\t//ַ\n\tint\t\tDrawColorString(IN int x,IN int y,IN const WISP_COLOR_CHAR*string,IN int Len = -1,int LineIndex = 0);\n\tint\t\tDrawRightString(IN int x,IN int y,IN const WISP_CHAR*string,IN int Len = -1,int LineIndex = 0);\n\t//ײַ\n\tint\t\tDrawString(IN CWispFont*pFontInfo,IN int x,IN int y,IN const WISP_CHAR*string,IN COLORREF TextColor,IN WISP_RECT*pClipRect,IN COLORREF*pBKColor=NULL,IN int Len=-1,int LineIndex = 0,int Flags=0);\n\tint\t\tDrawColorString(IN CWispFont*pLogFont,IN int x,IN int y,IN const WISP_COLOR_CHAR*pStr,IN WISP_RECT*pClipRect,IN int Len = -1,int LineIndex = 0);\n\t//\n\tvoid\tDrawPixel(IN int x, IN int y, IN COLORREF color);\n\t//ֱ\n\tvoid\tDrawVLine(IN int  x,IN int y1,IN int y2,IN COLORREF color);\n\t//ˮƽ\n\tvoid\tDrawHLine(IN int x1,IN int x2,IN int  y,IN COLORREF color);\n\t//ֱ\n\tvoid\tDrawVDashLine(IN int  x,IN int y1,IN int y2,IN COLORREF color);\n\t//ˮƽ\n\tvoid\tDrawHDashLine(IN int x1,IN int x2,IN int  y,IN COLORREF color);\n\t//\n\tvoid\tDrawLine(IN int x1,IN int y1,IN int x2,IN int y2,IN COLORREF color);\n\t//Բ\n\tvoid\tDrawCircle(IN int x,IN int y,IN int radius,IN COLORREF color);\n\t//Բ\n\tvoid\tDrawCircleRightTop(IN int x,IN int y,IN int radius,IN COLORREF color);\n\t//Բ\n\tvoid\tDrawCircleRightBottom(IN int x,IN int y,IN int radius,IN COLORREF color);\n\t//Բ\n\tvoid\tDrawCircleLeftTop(IN int x,IN int y,IN int radius,IN COLORREF color);\n\t//Բ\n\tvoid\tDrawCircleLeftBottom(IN int x,IN int y,IN int radius,IN COLORREF color);\n\t//ƾ\n\tvoid\tDrawRect(IN WISP_RECT* pRc, IN COLORREF color);\n\tvoid\tDrawRect(IN int x,IN int y,IN int cx,IN int cy,IN COLORREF color);\n\tvoid\tDrawRoundRect(IN WISP_RECT* pRc, IN COLORREF color);\n\tvoid\tDraw3DRect(IN WISP_RECT*pRc,IN COLORREF crTopLeft, COLORREF crBottomRight);\n\tvoid\tDraw3DRect(IN WISP_RECT*pRc,IN bool bRaised,IN int Deep);\n\t//ƶ߾\n\tvoid\tDrawDashRect(IN WISP_RECT*pRc,IN COLORREF color);\n\t//\n\tvoid\tDrawFullRect(IN WISP_RECT*pRc,IN COLORREF color);\n\tvoid\tDrawFullRect(IN int x,IN int y,IN int cx,IN int cy,IN COLORREF color);\n\t//XҶȱ仯\n\tvoid\tDrawMiddleXGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg);\n\tvoid\tDrawMiddleXGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc);\n\tCOLORREF\tDrawXGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg);\n\tvoid\t\tDrawXGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc);\n\t//YҶȱ仯\n\tvoid\tDrawMiddleYGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg);\n\tvoid\tDrawMiddleYGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc);\n\tCOLORREF\tDrawYGrayChgFullRect(IN WISP_RECT*pRc,IN COLORREF color,IN int nChg);\n\tvoid\t\tDrawYGrayChgFullRect(IN COLORREF ColorBegin,IN COLORREF ColorEnd,IN WISP_RECT*pRc);\n\t//3DӰĴ(bRaised = TRUE ͹ false  Deep )\n\tvoid\tDrawFrameRect(IN WISP_RECT*pRc,IN bool bRaised=true,IN int Deep=1);\n\tvoid\tDrawFrameRect(IN int x,IN int y,IN int cx,IN int cy,IN bool bRaised=true,IN int Deep=1);\n\t//\n\tvoid\tClear(IN COLORREF color = 0);\n\t//ͼ\n\tvoid\tDrawDIBTiled(IN CWispDIB*pDIB,IN WISP_RECT*pRect=NULL);\n\tvoid\tDrawDIB(IN int x,IN int y,IN CWispDIB*pDIB);\n\tvoid\tDrawDIB(IN WISP_RECT*pRC,IN CWispDIB*pDIB);\n\tvoid\tDrawGrayDIB(IN int x,IN int y,IN CWispDIB*pDIB);\n\tvoid\tDrawGrayDIB(IN WISP_RECT*pRC,IN CWispDIB*pDIB);\n\t//\n\tint\t\tPixelOffToTextOff(const WISP_CHAR* pString,int PixelOff);\n\tint\t\tGetTextExtent(const WISP_CHAR* pString,int Length=-1,int Index = 0);\n\tint\t\tGetTextHeight(const WISP_CHAR Char = 0);\n\tint\t\tGetTextExtentTabExpend(const WISP_CHAR* lpString,int nTabPixelWidth=8*8,int nCount=-1);\n\tint\t\tGetTextExtentLineTabExpend(const WISP_CHAR* lpString,int nTabPixelWidth=8*8,int nCount=-1);\n\t//չť\n\tvoid\tDrawSystemStandardIcon(const WISP_RECT&rcBoundary, UINT uStyle, COLORREF color = WISP_RGB(33,162,33));\nprivate:\n\tint\t\tDrawSingleLineText(IN WISP_CHAR* lpString,IN int nCount,INOUT WISP_RECT* lpRect,IN UINT uFormat);\npublic:\n\tint\t\tCalcTextLineNum(WISP_CHAR *lpString,int nCount=-1);\n\tint\t\tCalcDrawTextRect(WISP_CHAR *lpString,WISP_RECT *lpRect,int nStrLen,UINT uFormat, int nTabPixelWidth);\n\tvoid\tAdjustNoClipRect(INOUT WISP_RECT *lpRect,IN UINT uFormat);\n\tint\t\tGetMaxShowCharNum(WISP_CHAR *lpString,int nMaxWidth,  int nTabPixelWidth=0,int nCount=-1);\n\tint\t\tDrawTabExpendString(int x, int y, WISP_CHAR *lpString,int nStrLen,WISP_RECT rc,int nTabPixelWidth );\npublic:\n\tvoid\tCirclePlotPoints(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tCirclePlotPointsRightTop(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tCirclePlotPointsRightBottom(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tCirclePlotPointsLeftTop(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tCirclePlotPointsLeftBottom(int xCenter,int yCenter,int x,int y,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tDrawCircleRightTop(int xCenter, int yCenter,int radius,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tDrawCircleRightBottom(int xCenter, int yCenter,int radius,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tDrawCircleLeftTop(int xCenter, int yCenter,int radius,COLORREF color,WISP_RECT*pClipRect);\n\tvoid\tDrawCircleLeftBottom(int xCenter, int yCenter,int radius,COLORREF color,WISP_RECT*pClipRect);\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispDIB.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispDIB.h\"\n#include \"WispBase.h\"\n\nCWispDIB::CWispDIB()\n{\n\tm_FrameBuffer.Buffer=NULL;\n\tm_Pal = NULL;\n\tm_bAutoDelete = false;\n\tm_RefCount = 0;\n\tm_FrameBuffer.Width = m_FrameBuffer.Height = 0;\n}\n\nCWispDIB::~CWispDIB()\n{\n\tif(m_bAutoDelete==false)\n\t\tDestroy();\n}\n\nvoid CWispDIB::InitParam()\n{\n\tm_FrameBuffer.LineDistance=sizeof(COLORREF)*m_FrameBuffer.Width;\n\tm_FrameBuffer.BufferSize = sizeof(COLORREF)*m_FrameBuffer.Width*m_FrameBuffer.Height;\n\tm_FrameBuffer.Buffer = new BYTE[m_FrameBuffer.BufferSize];\n\tm_FrameBuffer.Bpp=32;\n\tm_Rect.x = m_Rect.y = 0;\n\tm_Rect.cx = m_FrameBuffer.Width;\n\tm_Rect.cy = m_FrameBuffer.Height;\n\tswitch(m_FrameBuffer.Bpp)\n\t{\n\tcase 4:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_DrawHAL4Bit;\n\tcase 8:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_DrawHAL8Bit;\n\t\tbreak;\n\tcase 16:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_DrawHAL16Bit;\n\t\tbreak;\n\tcase 24:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_DrawHAL24Bit;\n\t\tbreak;\n\tcase 32:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_DrawHAL32Bit;\n\t\tbreak;\n\tdefault:\n\t\tm_FrameBuffer.pDrawHAL = &gpCurWisp->m_NotSupportDrawHAL;\n\t\tbreak;\n\t}\n}\n\nvoid CWispDIB::Clear(COLORREF Color)\n{\n\tfor(int n=m_FrameBuffer.BufferSize/(m_FrameBuffer.Bpp>>3)-1;n>=0;n--)\n\t\t((COLORREF*)m_FrameBuffer.Buffer)[n] = Color;\n}\n\nbool CWispDIB::Create(int Width,int Height,UINT Type,WISP_POINT*pHotPT,COLORREF ColorKey)\n{\n\tm_FrameBuffer.Width=Width;\n\tm_FrameBuffer.Height=Height;\n\tm_ColorKey=ColorKey;\n\tm_Type=Type;\n\tif(pHotPT)\n\t\tm_HotPT=*pHotPT;\n\telse\n\t\tm_HotPT.x=m_HotPT.y=0;\n\tInitParam();\n\treturn true;\n}\n\nbool CWispDIB::Resize(int Width,int Height)\n{\n\tint AlignSize,NewBufferSize;\n\tif(Width == -1)\n\t\tWidth = m_FrameBuffer.Width;\n\tif(Height == -1)\n\t\tHeight = m_FrameBuffer.Height;\n\tNewBufferSize = Width*Height*sizeof(COLORREF);\n\tif(NewBufferSize==m_FrameBuffer.BufferSize)\n\t\treturn true;\n\tAlignSize = MAX(Width,Height)*sizeof(COLORREF)*8;\n\tif(NewBufferSize>m_FrameBuffer.BufferSize)\n\t{\n\t\tm_FrameBuffer.BufferSize = ALIGN_SIZE(NewBufferSize,AlignSize);\n\t\tdelete m_FrameBuffer.Buffer;\n\t\tm_FrameBuffer.Buffer = new BYTE[m_FrameBuffer.BufferSize];\n\t}\n\telse if(m_FrameBuffer.BufferSize - NewBufferSize > AlignSize)\n\t{\n\t\tm_FrameBuffer.BufferSize = Width*Height*sizeof(COLORREF);\n\t\tdelete m_FrameBuffer.Buffer;\n\t\tm_FrameBuffer.Buffer = new BYTE[m_FrameBuffer.BufferSize];\n\t}\n\tm_FrameBuffer.Width = Width;\n\tm_FrameBuffer.Height = Height;\n\tm_FrameBuffer.LineDistance=sizeof(COLORREF)*m_FrameBuffer.Width;\n\tm_Rect.x = m_Rect.y = 0;\n\tm_Rect.cx = m_FrameBuffer.Width;\n\tm_Rect.cy = m_FrameBuffer.Height;\n\treturn true;\n}\n\nbool CWispDIB::Load(PCSTR FileName,int Index)\n{\n\tint\t\tWidth,Height,BytesPixel,dwDibSize,dwSize,Delta,Off;\n\tBYTE*\tpBits;\n\tBITMAP_FILE_HEADER\tbmFileHead;\n\tBITMAP_INFO_HEADER*\tpbmInfo;\n\tCOLORREF*pColor;\n\tCImageFile DIBFile;\n\n\tDIBFile.ChangeFileIO(&gpCurWisp->m_PFSFileIO);\n\tif(gpCurWisp->m_PFSFileIO.GetFileAttr(FileName) & FIO_FA_COMPRESS)\n\t{\n\t\tint Size = (int)gpCurWisp->m_PFSFileIO.GetFileSize(FileName);\n\t\tif(Size<=0)\n\t\t\treturn false;\n\t\tif(DIBFile.Create(Size)==false)\n\t\t\treturn false;\n\t\tgpCurWisp->m_PFSFileIO.ReadFromFile(FileName,DIBFile.m_Buffer,Size);\n\t}\n\telse\n\t{\n\t\tif(DIBFile.Open(FileName)==false)\n\t\t\treturn false;\n\t}\n\n\tm_Pal = NULL;\n\tDIBFile.ReadFile(0,&bmFileHead,sizeof(BITMAP_FILE_HEADER));\n\tif(bmFileHead.bfType != 0x4D42)//\"BM\"\n\t{\n\t\tDIBFile.Close();\n\t\treturn LoadIcon(FileName,Index);\n\t}\n\tdwSize=MAKE_DWORD(bmFileHead.bfSizeHigh,bmFileHead.bfSizeLow);\n\tdwDibSize = dwSize - sizeof(BITMAP_FILE_HEADER);\n\n\tpbmInfo = (BITMAP_INFO_HEADER*)new BYTE[dwDibSize+4];\n\tif(DIBFile.ReadFile(pbmInfo,dwDibSize)==false)\n\t{\n\t\tDIBFile.Close();\n\t\tdelete pbmInfo;\n\t\treturn false;\n\t}\n\n\tif(pbmInfo->biCompression || pbmInfo->biBitCount==16)\n\t{\n\t\tDIBFile.Close();\n\t\tdelete pbmInfo;\n\t\treturn false;\n\t}\n\n\tBytesPixel=(pbmInfo->biBitCount+7)/8;\n\tif(pbmInfo->biSize == sizeof(BITMAP_INFO_HEADER))\n\t{\n\t\tWidth\t=pbmInfo->biWidth;\n\t\tHeight\t=ABS(pbmInfo->biHeight);\n\t}\n\telse\n\t{\n\t\tDIBFile.Close();\n\t\tdelete pbmInfo;\n\t\treturn false;\n\t}\n\tm_FrameBuffer.Width=Width;\n\tm_FrameBuffer.Height=Height;\n\tm_ColorKey=0;\n\tm_HotPT.x=m_HotPT.y=0;\n\tm_Type=WISP_DIB_BITMAP;\n\tDelta=ALIGN_SIZE(Width*BytesPixel,4);\n\tInitParam();\n\tif(pbmInfo->biBitCount == 8)\n\t{\n\t\tpColor = (COLORREF*)&pbmInfo[1];\n\t\tm_Pal = new COLORREF[256];\n\t\tfor(int n=0;n<256;n++)\n\t\t{\n\t\t\tm_Pal[n]=pColor[n];\n\t\t}\n\t\tDWORD BitOffset = MAKE_DWORD(bmFileHead.bfOffBitsHigh,bmFileHead.bfOffBitsLow);\n\t\tpBits = (BYTE *)&pbmInfo[1] + BitOffset - sizeof(BITMAP_FILE_HEADER) - sizeof(BITMAP_INFO_HEADER) + Delta*Height;\n\t\tOff=0;\n\t\tif(gpCurWisp->m_FrameBuffer.Bpp==8)\n\t\t{\n\t\t\tfor(int y=0;y<Height;y++)\n\t\t\t{\n\t\t\t\tpBits-=Delta;\n\t\t\t\tfor(int x=0;x<Width;x++)\n\t\t\t\t{\n\t\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=GET_BYTE(pBits,x);\n\t\t\t\t\tOff++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tfor(int y=0;y<Height;y++)\n\t\t\t{\n\t\t\t\tpBits-=Delta;\n\t\t\t\tfor(int x=0;x<Width;x++)\n\t\t\t\t{\n\t\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=m_Pal[GET_BYTE(pBits,x)];\n\t\t\t\t\tOff++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\telse//24bit,32bit\n\t{\n\t\tpBits = (BYTE *)&pbmInfo[1] + Delta*Height;\n\t\tOff=0;\n\t\tfor(int y=0;y<Height;y++)\n\t\t{\n\t\t\tpBits-=Delta;\n\t\t\tfor(int x=0;x<Width;x++)\n\t\t\t{\n\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=_GET_DWORD(pBits+x*BytesPixel) & 0x00FFFFFF;\n\t\t\t\tOff++;\n\t\t\t}\n\t\t}\n\t}\n\tDIBFile.Close();\n\tdelete pbmInfo;\n\treturn true;\n}\n\nbool CWispDIB::Save(PCSTR FileName)\n{\n\tDWORD Size,BitSize;\n\tBITMAP_FILE_HEADER BmpHeader;\n\tBITMAP_INFO_HEADER InfoHead;\n\tif(m_FrameBuffer.Buffer==NULL)\n\t\treturn false;\n\tBitSize = m_FrameBuffer.Width*m_FrameBuffer.Height*(m_FrameBuffer.Bpp/8);\n\tSize = sizeof(BITMAP_FILE_HEADER)+sizeof(BITMAP_INFO_HEADER)+BitSize;\n\tBmpHeader.bfType = 0x4d42;   // 'BM' WINDOWS_BITMAP_SIGNATURE\n\tBmpHeader.bfSizeLow = LOW_WORD(Size);\n\tBmpHeader.bfSizeHigh = HIGH_WORD(Size);\n\tBmpHeader.bfReserved1 = BmpHeader.bfReserved2 = 0;\n\tSize = sizeof(BITMAP_FILE_HEADER)+sizeof(BITMAP_INFO_HEADER);\n\tBmpHeader.bfOffBitsLow = LOW_WORD(Size);\n\tBmpHeader.bfOffBitsHigh = HIGH_WORD(Size);\n\n\tInfoHead.biSize = sizeof(BITMAP_INFO_HEADER);\n\tInfoHead.biCompression = 0;\n\tInfoHead.biWidth = m_FrameBuffer.Width;\n\tInfoHead.biHeight = m_FrameBuffer.Height;\n\tInfoHead.biPlanes = 1;\n\tInfoHead.biBitCount = (WORD)m_FrameBuffer.Bpp;\n\tInfoHead.biSizeImage = BitSize;\n\tInfoHead.biXPelsPerMeter = 0;\n\tInfoHead.biYPelsPerMeter = 0;\n\tInfoHead.biClrUsed = 0;\n\tInfoHead.biClrImportant = 0;\n\n\tCOLORREF*PixelBuffer = new COLORREF[m_FrameBuffer.Width*m_FrameBuffer.Height];\n\tif(PixelBuffer==NULL)\n\t\treturn false;\n\tCImageFileStream FileObj;\n\tif(FileObj.Create(FileName)==false)\n\t{\n\t\tdelete PixelBuffer;\n\t\treturn false;\n\t}\n\tFileObj.Puts(&BmpHeader,sizeof(BmpHeader));\n\tFileObj.Puts(&InfoHead,sizeof(InfoHead));\n\tBitSize /= sizeof(COLORREF);\n\tint Off=0;\n\tCOLORREF*pBits = &PixelBuffer[m_FrameBuffer.Width*m_FrameBuffer.Height];\n\tfor(int y=0;y<m_FrameBuffer.Height;y++)\n\t{\n\t\tpBits-=m_FrameBuffer.Width;\n\t\tfor(int x=0;x<m_FrameBuffer.Width;x++)\n\t\t{\n\t\t\tpBits[x]=((COLORREF*)m_FrameBuffer.Buffer)[Off];\n\t\t\tOff++;\n\t\t}\n\t}\n\tFileObj.Puts(PixelBuffer,BitSize*sizeof(COLORREF));\n\tFileObj.Close();\n\tdelete PixelBuffer;\n\treturn true;\n}\n\nvoid CWispDIB::SetType(UINT Type)\n{\t\n\tm_Type = Type;\n}\n\nvoid CWispDIB::SetColorKey(COLORREF ColorKey)\n{\n\tif(m_Type!=WISP_DIB_TK)\n\t\tSetType(WISP_DIB_TK);\n\tm_ColorKey=ColorKey;\n}\n\nvoid CWispDIB::SetHotPoint(int x,int y)\n{\t\n\tm_HotPT.x = x;\tm_HotPT.y = y;\n}\n\nvoid CWispDIB::SetHotPoint(WISP_POINT*pHotPT)\n{\n\tm_HotPT = *pHotPT;\n}\n\nbool CWispDIB::GetPixel(int x,int y,COLORREF*pClr)\n{\n\tif(x < 0 || y < 0 || x >= m_FrameBuffer.Width || y >= m_FrameBuffer.Height)\n\t\treturn false;\n\t*pClr = *(COLORREF*)RT_PVOID(m_FrameBuffer.Buffer,m_FrameBuffer.LineDistance*y + sizeof(COLORREF) * x);\n\treturn true;\n}\n\nbool CWispDIB::LoadIcon(PCSTR FileName,int Index)\n{\n\tCOLORREF*pColor;\n\tBYTE*pBits,*pIcon;\n\tint HeadOffset,Delta,Off,BytesPixel;\n\tICON_DIR_ENTRY IconDirEntry;\n\tICON_DIR\tIconDir;\n\tCImageFile\tDIBFile;\n\n\tDIBFile.ChangeFileIO(&gpCurWisp->m_PFSFileIO);\n\tif(gpCurWisp->m_PFSFileIO.GetFileAttr(FileName) & FIO_FA_COMPRESS)\n\t{\n\t\tint Size = (int)gpCurWisp->m_PFSFileIO.GetFileSize(FileName);\n\t\tif(Size<=0)\n\t\t\treturn false;\n\t\tif(DIBFile.Create(Size)==false)\n\t\t\treturn false;\n\t\tgpCurWisp->m_PFSFileIO.ReadFromFile(FileName,DIBFile.m_Buffer,Size);\n\t}\n\telse\n\t{\n\t\tif(DIBFile.Open(FileName)==false)\n\t\t\treturn false;\n\t}\n\n\tDIBFile.ReadFile(&IconDir,sizeof(IconDir));\n\tif(IconDir.idType!=1||IconDir.idReserved!=0)\n\t{\n\t\tDIBFile.Close();\n\t\treturn false;\n\t}\n\tHeadOffset = sizeof(IconDir);\n\tif(Index < 0)\n\t\tIndex = IconDir.idCount - 1;\n\tfor(int n=0;n<IconDir.idCount;n++)\n\t{\n\t\tDIBFile.ReadFile(HeadOffset,&IconDirEntry,sizeof(IconDirEntry));\n\t\tif(Index==n)\n\t\t{\n\t\t\tm_FrameBuffer.Width = IconDirEntry.bWidth;\n\t\t\tm_FrameBuffer.Height = IconDirEntry.bHeight;\n\t\t\tm_HotPT.x=m_HotPT.y=0;\n\t\t\tm_Type=WISP_DIB_TK;\n\t\t\tm_ColorKey=0;\n\t\t\tBytesPixel = (IconDirEntry.wBitCount+7)/8;\n\t\t\tInitParam();\n\t\t\tpIcon = new BYTE[IconDirEntry.dwBytesInRes];\n\t\t\tDIBFile.ReadFile(IconDirEntry.dwImageOffset,pIcon,IconDirEntry.dwBytesInRes);\n\t\t\tif(BytesPixel==0)\n\t\t\t\tBytesPixel = ( ((BITMAP_INFO_HEADER*)pIcon)->biBitCount+7 ) / 8;\n\t\t\tDelta=ALIGN_SIZE(m_FrameBuffer.Width*BytesPixel,4);\n\t\t\tif(IconDirEntry.wBitCount==8)\n\t\t\t{//256 color\n\t\t\t\tpColor = (COLORREF*)(pIcon+sizeof(BITMAP_INFO_HEADER));\n\t\t\t\tpBits = pIcon+sizeof(BITMAP_INFO_HEADER)+sizeof(COLORREF)*256+Delta*m_FrameBuffer.Height;\n\t\t\t\tm_Pal = new COLORREF[256];\n\t\t\t\tfor(int nClr=0;nClr<256;nClr++)\n\t\t\t\t\tm_Pal[nClr]=pColor[nClr];\n\t\t\t\tOff=0;\n\t\t\t\tif(gpCurWisp->m_FrameBuffer.Bpp==8)\n\t\t\t\t{//screen is 256 color\n\t\t\t\t\tfor(int y=0;y<m_FrameBuffer.Height;y++)\n\t\t\t\t\t{\n\t\t\t\t\t\tpBits-=Delta;\n\t\t\t\t\t\tfor(int x=0;x<m_FrameBuffer.Width;x++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=GET_BYTE(pBits,x);\n\t\t\t\t\t\t\tOff++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{//screen is tree color\n\t\t\t\t\tfor(int y=0;y<m_FrameBuffer.Height;y++)\n\t\t\t\t\t{\n\t\t\t\t\t\tpBits-=Delta;\n\t\t\t\t\t\tfor(int x=0;x<m_FrameBuffer.Width;x++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=m_Pal[GET_BYTE(pBits,x)];\n\t\t\t\t\t\t\tOff++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{//162432 bit tree color\n\t\t\t\tpBits = pIcon + sizeof(BITMAP_INFO_HEADER) + Delta*m_FrameBuffer.Height;\n\t\t\t\tOff=0;\n\t\t\t\tfor(int y=0;y<m_FrameBuffer.Height;y++)\n\t\t\t\t{\n\t\t\t\t\tpBits-=Delta;\n\t\t\t\t\tfor(int x=0;x<m_FrameBuffer.Width;x++)\n\t\t\t\t\t{\n\t\t\t\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[Off]=_GET_DWORD(pBits+x*BytesPixel) & 0x00FFFFFF;\n\t\t\t\t\t\tOff++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tdelete pIcon;\n\t\t\tDIBFile.Close();\n\t\t\treturn true;\n\t\t}\n\t\tHeadOffset+=sizeof(IconDirEntry);\n\t}\n\tDIBFile.Close();\n\treturn false;\n}\n\nvoid CWispDIB::Blt(const WISP_RECT&SrcRect,CWispDIB*pDesBIB,int x,int y)\n{\n\tWISP_RECT ClipRC,DrawRC;\n\tif(m_FrameBuffer.Buffer==NULL)\n\t\treturn;\n\tClipRC.x = 0;\n\tClipRC.y = 0;\n\tClipRC.cx = pDesBIB->m_FrameBuffer.Width;\n\tClipRC.cy = pDesBIB->m_FrameBuffer.Height;\n\tDrawRC.x = x;\n\tDrawRC.y = y;\n\tDrawRC.cx = SrcRect.cx;\n\tDrawRC.cy = SrcRect.cy;\n\tif(ClipRect(&DrawRC,&ClipRC)==false)\n\t\treturn;\n\tfor(int dy=0;dy<DrawRC.cy;dy++)\n\t{\n\t\tfor(int dx=0;dx<DrawRC.cx;dx++)\n\t\t{\n\t\t\t((COLORREF*)pDesBIB->m_FrameBuffer.Buffer)[(y+dy)*pDesBIB->m_FrameBuffer.Width+x+dx] =\n\t\t\t((COLORREF*)m_FrameBuffer.Buffer)[(SrcRect.y+dy)*m_FrameBuffer.Width+SrcRect.x+dx];\n\t\t}\n\t}\n}\n\nvoid CWispDIB::BltTiled(CWispDIB*pDesBIB)\n{\n\tWISP_RECT rc;\n\tif(m_FrameBuffer.Buffer==NULL)\n\t\treturn;\n\trc.x = rc.y = 0;\t\n\trc.cx = m_FrameBuffer.Width;\n\trc.cy = m_FrameBuffer.Height;\n\tfor(int x=0;x<pDesBIB->m_FrameBuffer.Width;x+=m_FrameBuffer.Width)\n\t\tfor(int y=0;y<pDesBIB->m_FrameBuffer.Height;y+=m_FrameBuffer.Height)\n\t\t\tBlt(rc,pDesBIB,x,y);\n}\n\nvoid CWispDIB::Destroy()\n{\n\tSafeDelete(m_FrameBuffer.Buffer);\n\tSafeDelete(m_Pal);\n\tif(m_bAutoDelete)\n\t\tdelete this;\n}\n\nCWispDIBList::CWispDIBList()\n{\n\tm_DIBList = NULL;\n\tm_RefCount = 0;\n}\n\nCWispDIBList::~CWispDIBList()\n{\n\tDestroy();\n}\n\nbool CWispDIBList::Load(PCSTR FileName,int TileWidth,int TileHeight,int Count)\n{\n\tint n;\n\tWISP_RECT Rect;\n\tCWispDIB WholeDIB;\n\tif(WholeDIB.Load(FileName)==false)\n\t\treturn false;\n\tif(Count == 0)\n\t\tCount = (WholeDIB.m_FrameBuffer.Height*WholeDIB.m_FrameBuffer.Width) / (TileWidth * TileHeight);\n\tm_DIBList=new CWispDIB[Count];\n\tn=0;\n\tfor(int y=0;y<WholeDIB.m_FrameBuffer.Height;y+=TileHeight)\n\t{\n\t\tfor(int x=0;x<WholeDIB.m_FrameBuffer.Width&&n<Count;x+=TileWidth)\n\t\t{\n\t\t\tm_DIBList[n].Create(TileWidth,TileHeight,WISP_DIB_BITMAP);\n\t\t\tRect.x=x;\n\t\t\tRect.y=y;\n\t\t\tRect.cx=TileWidth;\n\t\t\tRect.cy=TileHeight;\n\t\t\tWholeDIB.Blt(Rect,&m_DIBList[n],0,0);\n\t\t\tn++;\n\t\t}\n\t}\n\tWholeDIB.Destroy();\n\tm_Count = Count;\n\treturn true;\n}\n\nvoid CWispDIBList::Destroy()\n{\n\tSafeDeleteAry(m_DIBList);\n}\n\nvoid CWispDIBList::SetType(UINT Type)\n{\n\tfor(int n=0;n<m_Count;n++)\n\t\tm_DIBList[n].SetType(Type);\n}\n\nvoid CWispDIBList::SetColorKey(COLORREF ColorKey)\n{\n\tfor(int n=0;n<m_Count;n++)\n\t{\n\t\tif(m_DIBList[n].m_Type!=WISP_DIB_TK)\n\t\t\tm_DIBList[n].SetType(WISP_DIB_TK);\n\t\tm_DIBList[n].SetColorKey(ColorKey);\n\t}\n}\n\nbool CWispDIBList::LoadIcon(PCSTR FileName)\n{\n\tCOLORREF*pColor;\n\tBYTE*pBits,*pIcon;\n\tint HeadOffset,Delta,Off,BytesPixel;\n\tICON_DIR_ENTRY IconDirEntry;\n\tICON_DIR\tIconDir;\n\tCImageFile\tDIBFile;\n\n\tDIBFile.ChangeFileIO(&gpCurWisp->m_PFSFileIO);\n\tif(gpCurWisp->m_PFSFileIO.GetFileAttr(FileName) & FIO_FA_COMPRESS)\n\t{\n\t\tint Size = (int)gpCurWisp->m_PFSFileIO.GetFileSize(FileName);\n\t\tif(Size<=0)\n\t\t\treturn false;\n\t\tif(DIBFile.Create(Size)==false)\n\t\t\treturn false;\n\t\tgpCurWisp->m_PFSFileIO.ReadFromFile(FileName,DIBFile.m_Buffer,Size);\n\t}\n\telse\n\t{\n\t\tif(DIBFile.Open(FileName)==false)\n\t\t\treturn false;\n\t}\n\tDIBFile.ReadFile(&IconDir,sizeof(IconDir));\n\tif(IconDir.idType!=1||IconDir.idReserved!=0)\n\t{\n\t\tDIBFile.Close();\n\t\treturn false;\n\t}\n\tm_Count = IconDir.idCount;\n\tm_DIBList = new CWispDIB[m_Count];\n\tHeadOffset = sizeof(IconDir);\n\n\tfor(int n=0;n<m_Count;n++)\n\t{\n\t\tDIBFile.ReadFile(HeadOffset,&IconDirEntry,sizeof(IconDirEntry));\n\t\tm_DIBList[n].m_FrameBuffer.Width = IconDirEntry.bWidth;\n\t\tm_DIBList[n].m_FrameBuffer.Height = IconDirEntry.bHeight;\n\t\tm_DIBList[n].InitParam();\n\t\tm_DIBList[n].m_HotPT.x=m_DIBList[n].m_HotPT.y=0;\n\t\tm_DIBList[n].m_Type=WISP_DIB_TK;\n\t\tm_DIBList[n].m_ColorKey=0;\n\t\tBytesPixel = (IconDirEntry.wBitCount+7)/8;\n\t\tpIcon = new BYTE[IconDirEntry.dwBytesInRes];\n\t\tDIBFile.ReadFile(IconDirEntry.dwImageOffset,pIcon,IconDirEntry.dwBytesInRes);\n\t\tif(BytesPixel==0)\n\t\t\tBytesPixel = ( ((BITMAP_INFO_HEADER*)pIcon)->biBitCount+7 ) / 8;\n\t\tDelta=ALIGN_SIZE(m_DIBList[n].m_FrameBuffer.Width*BytesPixel,4);\n\t\tif(IconDirEntry.wBitCount==8)\n\t\t{//256 color\n\t\t\tpColor = (COLORREF*)(pIcon+sizeof(BITMAP_INFO_HEADER));\n\t\t\tpBits = pIcon+sizeof(BITMAP_INFO_HEADER)+sizeof(COLORREF)*256+Delta*m_DIBList[n].m_FrameBuffer.Height;\n\t\t\tm_DIBList[n].m_Pal = new COLORREF[256];\n\t\t\tfor(int nClr=0;nClr<256;nClr++)\n\t\t\t\tm_DIBList[n].m_Pal[nClr]=pColor[nClr];\n\t\t\tOff=0;\n\t\t\tif(gpCurWisp->m_FrameBuffer.Bpp==8)\n\t\t\t{//screen is 256 color\n\t\t\t\tfor(int y=0;y<m_DIBList[n].m_FrameBuffer.Height;y++)\n\t\t\t\t{\n\t\t\t\t\tpBits-=Delta;\n\t\t\t\t\tfor(int x=0;x<m_DIBList[n].m_FrameBuffer.Width;x++)\n\t\t\t\t\t{\n\t\t\t\t\t\t((COLORREF*)m_DIBList[n].m_FrameBuffer.Buffer)[Off]=GET_BYTE(pBits,x);\n\t\t\t\t\t\tOff++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{//screen is tree color\n\t\t\t\tfor(int y=0;y<m_DIBList[n].m_FrameBuffer.Height;y++)\n\t\t\t\t{\n\t\t\t\t\tpBits-=Delta;\n\t\t\t\t\tfor(int x=0;x<m_DIBList[n].m_FrameBuffer.Width;x++)\n\t\t\t\t\t{\n\t\t\t\t\t\t((COLORREF*)m_DIBList[n].m_FrameBuffer.Buffer)[Off]=m_DIBList[n].m_Pal[GET_BYTE(pBits,x)];\n\t\t\t\t\t\tOff++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{//162432 bit tree color\n\t\t\tpBits = pIcon + sizeof(BITMAP_INFO_HEADER) + Delta*m_DIBList[n].m_FrameBuffer.Height;\n\t\t\tDIBFile.ReadFile(IconDirEntry.dwImageOffset,pIcon,IconDirEntry.dwBytesInRes);\n\t\t\tOff=0;\n\t\t\tfor(int y=0;y<m_DIBList[n].m_FrameBuffer.Height;y++)\n\t\t\t{\n\t\t\t\tpBits-=Delta;\n\t\t\t\tfor(int x=0;x<m_DIBList[n].m_FrameBuffer.Width;x++)\n\t\t\t\t{\n\t\t\t\t\t((COLORREF*)m_DIBList[n].m_FrameBuffer.Buffer)[Off]=_GET_DWORD(pBits+x*BytesPixel) & 0x00FFFFFF;\n\t\t\t\t\tOff++;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdelete pIcon;\n\t\tHeadOffset+=sizeof(IconDirEntry);\n\t}\n\tDIBFile.Close();\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispDIB.h",
    "content": "#ifndef _WISP_DIB_H_\n#define _WISP_DIB_H_\n\n#include \"Utility.h\"\n\n#define WISP_DIB_BITMAP\t\t\t0x00000001\n#define WISP_DIB_TK\t\t\t\t0x00000002\n#define WISP_DIB_TK_XOR\t\t\t0x00000003\n\nstruct BITMAP_FILE_HEADER\n{\n\tWORD\tbfType;\n\tWORD\tbfSizeLow;\n\tWORD\tbfSizeHigh;\n\tWORD\tbfReserved1;\n\tWORD\tbfReserved2;\n\tWORD\tbfOffBitsLow;\n\tWORD\tbfOffBitsHigh;\n};\n\nstruct BITMAP_INFO_HEADER\n{\n\tDWORD\tbiSize;\n\tLONG\tbiWidth;\n\tLONG\tbiHeight;\n\tWORD\tbiPlanes;\n\tWORD\tbiBitCount;\n\tDWORD\tbiCompression;\n\tDWORD\tbiSizeImage;\n\tLONG\tbiXPelsPerMeter;\n\tLONG\tbiYPelsPerMeter;\n\tDWORD\tbiClrUsed;\n\tDWORD\tbiClrImportant;\n};\n\nstruct ICON_DIR\n{\n\tWORD\tidReserved;   // Reserved\n\tWORD\tidType;       // resource type (1 for icons)\n\tWORD\tidCount;      // how many images?\n};\n\nstruct ICON_DIR_ENTRY\n{\n\tBYTE\tbWidth;               // Width of the image\n\tBYTE\tbHeight;              // Height of the image (times 2)\n\tBYTE\tbColorCount;          // Number of colors in image (0 if >=8bpp)\n\tBYTE\tbReserved;            // Reserved\n\tWORD\twPlanes;              // Color Planes\n\tWORD\twBitCount;            // Bits per pixel\n\tDWORD\tdwBytesInRes;         // how many bytes in this resource?\n\tDWORD\tdwImageOffset;        // where in the file is this image\n};\n\n\nclass CWispFont;\nclass CWispDIB\n{\npublic:\n\tCWispDIB();\n\t~CWispDIB();\npublic:\n\tWISP_FRAME_BUFFER\tm_FrameBuffer;\n\tWISP_RECT\tm_Rect;\n\tUINT\t\tm_Type;\n\tCOLORREF\tm_ColorKey;\n\tWISP_POINT\tm_HotPT;\n\tCOLORREF*\tm_Pal;\n\tbool\t\tm_bAutoDelete;\n\tint\t\t\tm_RefCount;\npublic:\n\tvoid\tInitParam();\n\tbool\tLoad(PCSTR FileName,int Index = -1);\n\tbool\tSave(PCSTR FileName);\n\tbool\tLoadIcon(PCSTR FileName,int Index = -1);\n\tbool\tCreate(int Width,int Height,UINT Type=WISP_DIB_TK,WISP_POINT*pHotPT=NULL,COLORREF ColorKey=0);\n\tbool\tResize(int Width,int Height);\n\tvoid\tDestroy();\n\tvoid\tBlt(const WISP_RECT&SrcRect,CWispDIB*pDesBIB,int x,int y);\n\tvoid\tBltTiled(CWispDIB*pDesBIB);\n\tvoid\tSetType(UINT Type);\n\tvoid\tSetColorKey(COLORREF ColorKey);\n\tvoid\tSetHotPoint(int x,int y);\n\tvoid\tSetHotPoint(WISP_POINT*pHotPT);\n\tbool\tGetPixel(int x,int y,COLORREF*pClr);\n\tvoid\tClear(COLORREF Color = 0);\n\tinline\tint\tWidth()const { return m_Rect.cx;}\n\tinline\tint\tHeight()const { return m_Rect.cy;}\n};\n\nclass CWispDIBList\n{\npublic:\n\tCWispDIBList();\n\t~CWispDIBList();\npublic:\n\tCWispDIB*m_DIBList;\n\tint\t\tm_RefCount;\n\tint\t\tm_Count;\npublic:\n\tbool\tLoad(PCSTR FileName,int TileWidth,int TileHeight,int Count);\n\tbool\tLoadIcon(PCSTR FileName);\n\tvoid\tDestroy();\n\tvoid\tSetType(UINT Type);\n\tvoid\tSetColorKey(COLORREF ColorKey);\npublic:\n\tinline\tCWispDIB*GetDIB(int ID)const{return &m_DIBList[ID];}\n\tinline\tCWispDIB*operator[](int ID)const{return &m_DIBList[ID];}\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispDIBLib.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispDIBLib.h\"\n#include \"WispBase.h\"\n\n\nCWispDIBLib::CWispDIBLib()\n{\n\n}\n\nCWispDIBLib::~CWispDIBLib()\n{\n\n}\n\nCWispDIB* CWispDIBLib::LoadDIB(PCSTR FileName,int Index)\n{\n\tCHAR szFile[MAX_FN_LEN],*pStr,*pSplit;\n\tTStrCpy(szFile,FileName);\n\tpStr = TStrRChr(szFile,'\\\\');\n\tif(pStr==NULL)\n\t\tpStr = szFile;\n\tpSplit = TStrChr(pStr,'#');\n\tif(pSplit)\n\t{\n\t\tint Width,Height;\n\t\tif(sscanf(pSplit,\"#%d#%d:%d\",&Width,&Height,&Index)!=3)\n\t\t\treturn false;\n\t\t*pSplit=0;\n\t\treturn LoadDIBList(szFile,Width,Height,0,WISP_TK)->GetDIB(Index);\n\t}\n\tpSplit = TStrRChr(pStr,':');\n\tif(pSplit)\n\t{\n\t\t*pSplit=0;\n\t\tpSplit++;\n\t\tif(USDecStrToNum(pSplit,&Index)==false)\n\t\t\treturn false;\n\t}\n\tCWispDIBMap::IT Iter=m_DIBMap.Find(FileName);\n\tif(Iter!=m_DIBMap.End())\n\t{\t\n\t\tIter->m_RefCount++;\n\t\treturn &(*Iter);\n\t}\n\tIter = m_DIBMap.InsertUnique(FileName);\n\tif(Iter->Load(szFile,Index)==false)\n\t{\n\t\tm_DIBMap.Remove(Iter);\n\t\treturn NULL;\n\t}\n\tIter->m_RefCount++;\n\treturn &(*Iter);\n}\n\nCWispDIB* CWispDIBLib::LoadDIB(PCSTR FileName,int Index,COLORREF ColorKey)\n{\n\tCWispDIB*pDIB = LoadDIB(FileName,Index);\n\tif(pDIB==NULL)\n\t\treturn NULL;\n\tpDIB->SetColorKey(ColorKey);\n\treturn pDIB;\n}\n\nCWispDIBList*CWispDIBLib::LoadDIBList(PCSTR FileName,int TileWidth,int TileHeight,int Count)\n{\n\tCWispDIBListMap::IT Iter=m_DIBListMap.Find(FileName);\n\tif(Iter!=m_DIBListMap.End())\n\t{\n\t\tIter->m_RefCount++;\n\t\treturn &(*Iter);\n\t}\n\tIter = m_DIBListMap.InsertUnique(FileName);\n\tif(Iter->Load(FileName,TileWidth,TileHeight,Count)==false)\n\t{\n\t\tm_DIBListMap.Remove(Iter);\n\t\treturn NULL;\n\t}\n\tIter->m_RefCount++;\n\treturn &(*Iter);\n}\n\nCWispDIBList*CWispDIBLib::LoadDIBList(PCSTR FileName,int TileWidth,int TileHeight,int Count,COLORREF ColorKey)\n{\n\tCWispDIBList*pDIBList = LoadDIBList(FileName,TileWidth,TileHeight,Count);\n\tif(pDIBList==NULL)\n\t\treturn NULL;\n\tpDIBList->SetColorKey(ColorKey);\n\treturn pDIBList;\n}\n\nCWispDIBList*CWispDIBLib::LoadIconDIBList(PCSTR FileName)\n{\n\tCWispDIBListMap::IT Iter=m_DIBListMap.Find(FileName);\n\tif(Iter!=m_DIBListMap.End())\n\t{\n\t\tIter->m_RefCount++;\n\t\treturn &(*Iter);\n\t}\n\tIter = m_DIBListMap.InsertUnique(FileName);\n\tif(Iter->LoadIcon(FileName)==false)\n\t{\n\t\tm_DIBListMap.Remove(Iter);\n\t\treturn NULL;\n\t}\n\tIter->m_RefCount++;\n\treturn &(*Iter);\n}\n\nvoid CWispDIBLib::ReleaseDIB(PCSTR FileName)\n{\n\tCWispDIBMap::IT Iter=m_DIBMap.Find(FileName);\n\tif(Iter==m_DIBMap.End())\n\t\treturn;\n\tIter->m_RefCount--;\n\tif(Iter->m_RefCount<=0)\n\t\tm_DIBMap.Remove(Iter);\n}\n\nvoid CWispDIBLib::DestroyDIBList(PCSTR FileName)\n{\n\tCWispDIBListMap::IT Iter=m_DIBListMap.Find(FileName);\n\tif(Iter==m_DIBListMap.End())\n\t\treturn;\n\tIter->m_RefCount--;\n\tif(Iter->m_RefCount<=0)\n\t\tm_DIBListMap.Remove(Iter);\n}\n\nvoid CWispDIBLib::ReleaseAll()\n{\n\tm_DIBMap.Clear();\n\tm_DIBListMap.Clear();\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispDIBLib.h",
    "content": "#ifndef _WISP_DIB_LIB_H_\n#define _WISP_DIB_LIB_H_\n\n#include \"WispDIB.h\"\n\ntypedef TMap<CStrA,CWispDIB>\t\t\tCWispDIBMap;\ntypedef TMap<CStrA,CWispDIBList>\t\tCWispDIBListMap;\n\nclass CWispDIBLib\n{\n\tCWispDIBMap\t\tm_DIBMap;\n\tCWispDIBListMap\tm_DIBListMap;\npublic:\n\tCWispDIBLib();\n\t~CWispDIBLib();\npublic:\n\tCWispDIB*\t\tLoadDIB(PCSTR FileName,int Index = -1);\n\tCWispDIB*\t\tLoadDIB(PCSTR FileName,int Index,COLORREF ColorKey);\n\tCWispDIBList*\tLoadDIBList(PCSTR FileName,int TileWidth,int TileHeight,int Count);\n\tCWispDIBList*\tLoadDIBList(PCSTR FileName,int TileWidth,int TileHeight,int Count,COLORREF ColorKey);\n\tCWispDIBList*\tLoadIconDIBList(PCSTR FileName);\n\tvoid\tReleaseDIB(PCSTR FileName);\n\tvoid\tDestroyDIBList(PCSTR FileName);\n\tvoid\tReleaseAll();\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispDefine.h",
    "content": "#ifndef _WISP_DEFINE_H_\n#define _WISP_DEFINE_H_\n\n//#define WISP_TIMER_SIM_KEY_REPEAT\n\n#ifndef WISP_ANSI_CHAR\n#define WISP_STR(s)\t\tL##s\ntypedef WCHAR\t\t\tWISP_CHAR;\n#else\n#define WISP_STR(s)\t\ts\ntypedef CHAR\t\t\tWISP_CHAR;\n#endif\n\ntypedef WISP_CHAR*\t\t\t\t\tWISP_PSTR;\ntypedef const WISP_CHAR*\t\t\tWISP_PCSTR;\n\ntypedef DWORD\t\t\t\t\t\tWISP_COLOR_CHAR;\ntypedef TString<WISP_CHAR>\t\t\tCWispString;\ntypedef TString<WISP_COLOR_CHAR>\tCWispColorString;\n/////////////////////////////////////////////////////////////////////////////////\n//ɫ<Start>\n/////////////////////////////////////////////////////////////////////////////////\n#undef\tWISP_RGB\n#define WISP_RGB(r,g,b)\t\t\t\t\t\t((COLORREF)(((BYTE)(b)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(r))<<16)))\n#define WISP_RGB_B(c)\t\t\t\t\t\t((BYTE)(c))\n#define WISP_RGB_G(c)\t\t\t\t\t\t((BYTE)((c)>>8 ))\n#define WISP_RGB_R(c)\t\t\t\t\t\t((BYTE)((c)>>16))\n#define WIN_RGB_TO_WISP(c)\t\t\t\t\tWISP_RGB(WISP_RGB_B(c),WISP_RGB_G(c),WISP_RGB_R(c))\n\n//\n#define GRAY_CHG_RGB(r,g,b,s,n)\t\t\t\tWISP_RGB((r)+3*(s)*(n),(g)+5*(s)*(n),(b)+(s)*(n))\n#define GRAY_CHG(c,s,n)\t\t\t\t\t\tGRAY_CHG_RGB(WISP_RGB_R(c),WISP_RGB_G(c),WISP_RGB_B(c),s,n)\n#define GRAY_DEEP(c)\t\t\t\t\t\t(WISP_RGB_B(c)*3+WISP_RGB_G(c)*5+WISP_RGB_B(c))\n//͸\n#define ALPHA_CHG_RGB(sr,sg,sb,dr,dg,db,a)\tWISP_RGB((sr*a+(255-a)*dr)/255,(sg*a+(255-a)*dg)/255,(sb*a+(255-a)*db)/255)\n#define ALPHA_CHG(sc,dc,a)\t\t\t\t\tALPHA_CHG_RGB(WISP_RGB_R(sc),WISP_RGB_G(sc),WISP_RGB_B(sc),WISP_RGB_R(dc),WISP_RGB_G(dc),WISP_RGB_B(dc),(a))\n//////////////////////////////////////////////////\n//ɫ<End>\n//////////////////////////////////////////////////\n\n///////////////////////////////////////////////////\n//Lock\n///////////////////////////////////////////////////\n#define WISP_VK_LOCK_COUNT\t\t3\n#define WISP_VK_CAPS_LOCK\t\t0\n#define WISP_VK_NUM_LOCK\t\t1\n#define WISP_VK_SCROLL_LOCK\t\t2\n///////////////////////////////////////////////////\n//\n///////////////////////////////////////////////////\n#define\tWISP_VK_COUNT\t\t\t0x100\n\n#define WISP_VK_NULL\t\t\t0x00\n#define WISP_VK_LBUTTON\t\t\t0x01\n#define WISP_VK_RBUTTON\t\t\t0x02\n#define WISP_VK_CANCEL\t\t\t0x03\n#define WISP_VK_MBUTTON\t\t\t0x04\n#define WISP_VK_XBUTTON1\t\t0x05\n#define WISP_VK_XBUTTON2\t\t0x06\n#define WISP_VK_KEYBOARD_START\t0x07\n#define WISP_VK_BACK\t\t\t0x08\n#define WISP_VK_TAB\t\t\t\t0x09\n#define WISP_VK_0X0A\t\t\t0x0A\n#define WISP_VK_0X0B\t\t\t0x0B\n#define WISP_VK_CLEAR\t\t\t0x0C\n#define WISP_VK_RETURN\t\t\t0x0D\n#define WISP_VK_0X0E\t\t\t0x0E\n#define WISP_VK_0X0F\t\t\t0x0F\n\n#define WISP_VK_SHIFT\t\t\t0x10\n#define WISP_VK_CONTROL\t\t\t0x11\n#define WISP_VK_ALT\t\t\t\t0x12\n#define WISP_VK_PAUSE\t\t\t0x13\n#define WISP_VK_CAPITAL\t\t\t0x14\n#define WISP_VK_0X15\t\t\t0x15\n#define WISP_VK_0X16\t\t\t0x16\n#define WISP_VK_0X17\t\t\t0x17\n#define WISP_VK_0X18\t\t\t0x18\n#define WISP_VK_0X19\t\t\t0x19\n#define WISP_VK_0X1A\t\t\t0x1A\n#define WISP_VK_ESCAPE\t\t\t0x1B\n#define WISP_VK_CONVERT\t\t\t0x1C\n#define WISP_VK_NONCONVERT\t\t0x1D\n#define WISP_VK_ACCEPT\t\t\t0x1E\n#define WISP_VK_MODECHANGE\t\t0x1F\n\n#define WISP_VK_SPACE\t\t\t0x20\n#define WISP_VK_PAGE_UP\t\t\t0x21\n#define WISP_VK_PAGE_DOWN\t\t0x22\n#define WISP_VK_END\t\t\t\t0x23\n#define WISP_VK_HOME\t\t\t0x24\n#define WISP_VK_LEFT\t\t\t0x25\n#define WISP_VK_UP\t\t\t\t0x26\n#define WISP_VK_RIGHT\t\t\t0x27\n#define WISP_VK_DOWN\t\t\t0x28\n#define WISP_VK_SELECT\t\t\t0x29\n#define WISP_VK_PRINT\t\t\t0x2A\n#define WISP_VK_EXECUTE\t\t\t0x2B\n#define WISP_VK_SNAPSHOT\t\t0x2C\n#define WISP_VK_INSERT\t\t\t0x2D\n#define WISP_VK_DELETE\t\t\t0x2E\n#define WISP_VK_HELP\t\t\t0x2F\n\n#define WISP_VK_0\t\t\t\t0x30\n#define WISP_VK_1\t\t\t\t0x31\n#define WISP_VK_2\t\t\t\t0x32\n#define WISP_VK_3\t\t\t\t0x33\n#define WISP_VK_4\t\t\t\t0x34\n#define WISP_VK_5\t\t\t\t0x35\n#define WISP_VK_6\t\t\t\t0x36\n#define WISP_VK_7\t\t\t\t0x37\n#define WISP_VK_8\t\t\t\t0x38\n#define WISP_VK_9\t\t\t\t0x39\n#define WISP_VK_0X3A\t\t\t0x3A\n#define WISP_VK_0X3B\t\t\t0x3B\n#define WISP_VK_0X3C\t\t\t0x3C\n#define WISP_VK_0X3D\t\t\t0x3D\n#define WISP_VK_0X3E\t\t\t0x3E\n#define WISP_VK_0X3F\t\t\t0x3F\n\n#define WISP_VK_0X40\t\t\t0x40\n#define WISP_VK_A\t\t\t\t0x41\n#define WISP_VK_B\t\t\t\t0x42\n#define WISP_VK_C\t\t\t\t0x43\n#define WISP_VK_D\t\t\t\t0x44\n#define WISP_VK_E\t\t\t\t0x45\n#define WISP_VK_F\t\t\t\t0x46\n#define WISP_VK_G\t\t\t\t0x47\n#define WISP_VK_H\t\t\t\t0x48\n#define WISP_VK_I\t\t\t\t0x49\n#define WISP_VK_J\t\t\t\t0x4A\n#define WISP_VK_K\t\t\t\t0x4B\n#define WISP_VK_L\t\t\t\t0x4C\n#define WISP_VK_M\t\t\t\t0x4D\n#define WISP_VK_N\t\t\t\t0x4E\n#define WISP_VK_O\t\t\t\t0x4F\n\n#define WISP_VK_P\t\t\t\t0x50\n#define WISP_VK_Q\t\t\t\t0x51\n#define WISP_VK_R\t\t\t\t0x52\n#define WISP_VK_S\t\t\t\t0x53\n#define WISP_VK_T\t\t\t\t0x54\n#define WISP_VK_U\t\t\t\t0x55\n#define WISP_VK_V\t\t\t\t0x56\n#define WISP_VK_W\t\t\t\t0x57\n#define WISP_VK_X\t\t\t\t0x58\n#define WISP_VK_Y\t\t\t\t0x59\n#define WISP_VK_Z\t\t\t\t0x5A\n#define WISP_VK_LWIN\t\t\t0x5B\n#define WISP_VK_RWIN\t\t\t0x5C\n#define WISP_VK_APPS\t\t\t0x5D\n#define WISP_VK_0X5E\t\t\t0x5E\n#define WISP_VK_SLEEP\t\t\t0x5F\n\n#define WISP_VK_NUMPAD0\t\t\t0x60\n#define WISP_VK_NUMPAD1\t\t\t0x61\n#define WISP_VK_NUMPAD2\t\t\t0x62\n#define WISP_VK_NUMPAD3\t\t\t0x63\n#define WISP_VK_NUMPAD4\t\t\t0x64\n#define WISP_VK_NUMPAD5\t\t\t0x65\n#define WISP_VK_NUMPAD6\t\t\t0x66\n#define WISP_VK_NUMPAD7\t\t\t0x67\n#define WISP_VK_NUMPAD8\t\t\t0x68\n#define WISP_VK_NUMPAD9\t\t\t0x69\n#define WISP_VK_MULTIPLY\t\t0x6A\n#define WISP_VK_ADD\t\t\t\t0x6B\n#define WISP_VK_SEPARATOR\t\t0x6C\n#define WISP_VK_SUBTRACT\t\t0x6D\n#define WISP_VK_DECIMAL\t\t\t0x6E\n#define WISP_VK_DIVIDE\t\t\t0x6F\n\n#define WISP_VK_F1\t\t\t\t0x70\n#define WISP_VK_F2\t\t\t\t0x71\n#define WISP_VK_F3\t\t\t\t0x72\n#define WISP_VK_F4\t\t\t\t0x73\n#define WISP_VK_F5\t\t\t\t0x74\n#define WISP_VK_F6\t\t\t\t0x75\n#define WISP_VK_F7\t\t\t\t0x76\n#define WISP_VK_F8\t\t\t\t0x77\n#define WISP_VK_F9\t\t\t\t0x78\n#define WISP_VK_F10\t\t\t\t0x79\n#define WISP_VK_F11\t\t\t\t0x7A\n#define WISP_VK_F12\t\t\t\t0x7B\n#define WISP_VK_F13\t\t\t\t0x7C\n#define WISP_VK_F14\t\t\t\t0x7D\n#define WISP_VK_F15\t\t\t\t0x7E\n#define WISP_VK_F16\t\t\t\t0x7F\n\n#define WISP_VK_F17\t\t\t\t0x80\n#define WISP_VK_F18\t\t\t\t0x81\n#define WISP_VK_F19\t\t\t\t0x82\n#define WISP_VK_F20\t\t\t\t0x83\n#define WISP_VK_F21\t\t\t\t0x84\n#define WISP_VK_F22\t\t\t\t0x85\n#define WISP_VK_F23\t\t\t\t0x86\n#define WISP_VK_F24\t\t\t\t0x87\n#define WISP_VK_0X88\t\t\t0x88\n#define WISP_VK_0X89\t\t\t0x89\n#define WISP_VK_0X8A\t\t\t0x8A\n#define WISP_VK_0X8B\t\t\t0x8B\n#define WISP_VK_0X8C\t\t\t0x8C\n#define WISP_VK_0X8D\t\t\t0x8D\n#define WISP_VK_0X8E\t\t\t0x8E\n#define WISP_VK_0X8F\t\t\t0x8F\n\n#define WISP_VK_NUMLOCK \t\t0x90\n#define WISP_VK_SCROLL \t\t\t0x91\n#define WISP_VK_0X92\t\t\t0x92\n#define WISP_VK_0X93\t\t\t0x93\n#define WISP_VK_0X94\t\t\t0x94\n#define WISP_VK_0X95\t\t\t0x95\n#define WISP_VK_0X96\t\t\t0x96\n#define WISP_VK_0X97\t\t\t0x97\n#define WISP_VK_0X98\t\t\t0x98\n#define WISP_VK_0X99\t\t\t0x99\n#define WISP_VK_0X9A\t\t\t0x9A\n#define WISP_VK_0X9B\t\t\t0x9B\n#define WISP_VK_0X9C\t\t\t0x9C\n#define WISP_VK_0X9D\t\t\t0x9D\n#define WISP_VK_0X9E\t\t\t0x9E\n#define WISP_VK_0X9F\t\t\t0x9F\n\n#define WISP_VK_LSHIFT\t\t\t0xA0\n#define WISP_VK_RSHIFT\t\t\t0xA1\n#define WISP_VK_LCONTROL\t\t0xA2\n#define WISP_VK_RCONTROL\t\t0xA3\n#define WISP_VK_LALT\t\t\t0xA4\n#define WISP_VK_RALT\t\t\t0xA5\n#define WISP_VK_BROWSER_BACK\t\t\t0xA6\n#define WISP_VK_BROWSER_FORWARD\t\t\t0xA7\n#define WISP_VK_BROWSER_REFRESH\t\t\t0xA8\n#define WISP_VK_BROWSER_STOP\t\t\t0xA9\n#define WISP_VK_BROWSER_SEARCH\t\t\t0xAA\n#define WISP_VK_BROWSER_FAVORITES\t\t0xAB\n#define WISP_VK_BROWSER_HOME\t\t\t0xAC\n#define WISP_VK_VOLUME_MUTE\t\t\t\t0xAD\n#define WISP_VK_VOLUME_DOWN\t\t\t\t0xAE\n#define WISP_VK_VOLUME_UP\t\t\t\t0xAF\n\n#define WISP_VK_MEDIA_NEXT_TRACK\t\t0xB0\n#define WISP_VK_MEDIA_PREV_TRACK\t\t0xB1\n#define WISP_VK_MEDIA_STOP\t\t\t\t0xB2\n#define WISP_VK_MEDIA_PLAY_PAUSE\t\t0xB3\n#define WISP_VK_LAUNCH_MAIL\t\t\t\t0xB4\n#define WISP_VK_LAUNCH_MEDIA_SELECT\t\t0xB5\n#define WISP_VK_LAUNCH_APP1\t\t\t\t0xB6\n#define WISP_VK_LAUNCH_APP2\t\t\t\t0xB7\n#define WISP_VK_0XB8\t\t\t\t\t0xB8\n#define WISP_VK_0XB9\t\t\t\t\t0xB9\n#define WISP_VK_SEMI\t\t\t0xBA   // ';:' for US\n#define WISP_VK_OEM_PLUS\t\t0xBB   // '+' any country\n#define WISP_VK_OEM_COMMA\t\t0xBC   // ',' any country\n#define WISP_VK_OEM_MINUS\t\t0xBD   // '-' any country\n#define WISP_VK_OEM_PERIOD\t\t0xBE   // '.' any country\n#define WISP_VK_OEM_2\t\t\t0xBF   // '/?' for US\n\n#define WISP_VK_OEM_3\t\t\t0xC0   // '`~' for US\n#define WISP_VK_0XC1\t\t\t0xC1\n#define WISP_VK_0XC2\t\t\t0xC2\n#define WISP_VK_0XC3\t\t\t0xC3\n#define WISP_VK_0XC4\t\t\t0xC4\n#define WISP_VK_0XC5\t\t\t0xC5\n#define WISP_VK_0XC6\t\t\t0xC6\n#define WISP_VK_0XC7\t\t\t0xC7\n#define WISP_VK_0XC8\t\t\t0xC8\n#define WISP_VK_0XC9\t\t\t0xC9\n#define WISP_VK_0XCA\t\t\t0xCA\n#define WISP_VK_0XCB\t\t\t0xCB\n#define WISP_VK_0XCC\t\t\t0xCC\n#define WISP_VK_0XCD\t\t\t0xCD\n#define WISP_VK_0XCE\t\t\t0xCE\n#define WISP_VK_0XCF\t\t\t0xCF\n\n#define WISP_VK_0XD0\t\t\t0xD0\n#define WISP_VK_0XD1\t\t\t0xD1\n#define WISP_VK_0XD2\t\t\t0xD2\n#define WISP_VK_0XD3\t\t\t0xD3\n#define WISP_VK_0XD4\t\t\t0xD4\n#define WISP_VK_0XD5\t\t\t0xD5\n#define WISP_VK_0XD6\t\t\t0xD6\n#define WISP_VK_0XD7\t\t\t0xD7\n#define WISP_VK_0XD8\t\t\t0xD8\n#define WISP_VK_0XD9\t\t\t0xD9\n#define WISP_VK_0XDA\t\t\t0xDA\n#define WISP_VK_LSQUARE_BRACKET\t0xDB  //  '[{' for US\n#define WISP_VK_OEM_5\t\t\t0xDC  //  '\\|' for US\n#define WISP_VK_RSQUARE_BRACKET\t0xDD  //  ']}' for US\n#define WISP_VK_QUOT\t\t\t0xDE  //  ''\"' for US\n#define WISP_VK_OEM_8\t\t\t0xDF\n\n#define WISP_VK_0XE0\t\t\t0xE0\n#define WISP_VK_OEM_AX\t\t\t0xE1  //  'AX' key on Japanese AX kbd\n#define WISP_VK_OEM_102\t\t\t0xE2  //  \"<>\" or \"\\|\" on RT 102-key kbd.\n#define WISP_VK_ICO_HELP\t\t0xE3  //  Help key on ICO\n#define WISP_VK_ICO_00\t\t\t0xE4  //  00 key on ICO\n#define WISP_VK_PROCESSKEY\t\t0xE5\n#define WISP_VK_ICO_CLEAR\t\t0xE6\n#define WISP_VK_PACKET\t\t\t0xE7\n#define WISP_VK_OEM_RESET\t\t0xE9\n#define WISP_VK_OEM_JUMP\t\t0xEA\n#define WISP_VK_OEM_PA1\t\t\t0xEB\n#define WISP_VK_OEM_PA2\t\t\t0xEC\n#define WISP_VK_OEM_PA3\t\t\t0xED\n#define WISP_VK_OEM_WSCTRL\t\t0xEE\n#define WISP_VK_OEM_CUSEL\t\t0xEF\n\n#define WISP_VK_OEM_ATTN\t\t0xF0\n#define WISP_VK_OEM_FINISH\t\t0xF1\n#define WISP_WISP_VK_OEM_COPY\t0xF2\n#define WISP_VK_OEM_AUTO\t\t0xF3\n#define WISP_VK_OEM_ENLW\t\t0xF4\n#define WISP_VK_OEM_BACKTAB\t\t0xF5\n#define WISP_VK_ATTN\t\t\t0xF6\n#define WISP_VK_CRSEL\t\t\t0xF7\n#define WISP_VK_EXSEL\t\t\t0xF8\n#define WISP_VK_EREOF\t\t\t0xF9\n#define WISP_VK_PLAY\t\t\t0xFA\n#define WISP_VK_ZOOM\t\t\t0xFB\n#define WISP_VK_NONAME\t\t\t0xFC\n#define WISP_VK_PA1\t\t\t\t0xFD\n#define WISP_VK_VK_OEM_CLEAR\t0xFE\n#define WISP_VK_OTHER\t\t\t0xFF\n#define WISP_VK_MAX_ID\t\t\t0x100\n\nenum WISP_SM\n{//ϵͳߴ\n\tWISP_SM_CAPTION_CY=0,\n\tWISP_SM_BORDER_SIZE,\n\tWISP_SM_THIN_BORDER_SIZE,\n\tWISP_SM_SCREEN_CX,\n\tWISP_SM_SCREEN_CY,\n\tWISP_SM_CAPTION_BT_SIZE,\n\tWISP_SM_SCROLL_BAR_SIZE,\n\tWISP_SM_FONT_FRAME_HEIGHT,\n\tWISP_SM_RESIZE_SPACE,\n\tWISP_SM_COUNT\n};\n\n#define WISP_COLOR_WHITE\t\t0x00FFFFFF\n#define WISP_COLOR_BLACK\t\t0x00000000\n\nenum WISP_MOUSE_EVENT\n{\n\tWISP_MOUSE_LEAVE=0,\n\tWISP_MOUSE_ENTER,\n\tWISP_MOUSE_MOVE,\n\tWISP_MOUSE_KEY,\n\tWISP_MOUSE_EVENT_COUNT\n};\n\nenum WISP_DIBLIST_ID\n{\n\tWISP_DIBLIST_MIN = 0,\n\tWISP_DIBLIST_MAX,\n\tWISP_DIBLIST_NORMAL,\n\tWISP_DIBLIST_CLOSE,\n\tWISP_DIBLIST_HORZ_DEC,\n\tWISP_DIBLIST_HORZ_INC,\n\tWISP_DIBLIST_VERT_DEC,\n\tWISP_DIBLIST_VERT_INC,\n\tWISP_DIBLIST_COUNT\n};\n\nenum WISP_DIB_TYPE\n{\n\tWISP_DI_CARET=0,\n\tWISP_DI_CURSOR,\n\tWISP_DI_RESIZE,\n\tWISP_DI_COUNT\n};\n\n//ϵͳȱʡӴID\n//0x80000000Ϊϵͳ崰ID\n//0x40000000Ϊϵͳ崰ID\n#define WISP_ID_SELF\t\t\t0xFFFFFFFF\n#define WISP_ID_NULL\t\t\t0x00000000\n#define WISP_ID_USER_START\t\t0x00000001\n#define WISP_ID_DEVELOP_START\t0x40000000\n#define WISP_ID_SYS_START\t\t0x80000000\n\nenum\n{\n\tWISP_ID_TOP_MOST_ROOT = WISP_ID_SYS_START,\n\tWISP_ID_STATIC_STR,\n\tWISP_ID_STATIC_DIB,\n\tWISP_ID_STATIC_GROUP,\n\tWISP_ID_MAIN_FRAME,\n\tWISP_ID_MAIN_MENU,\n\tWISP_ID_MAIN_TAB,\n\tWISP_ID_MAIN_TOOLBAR,\n\tWISP_ID_SOFT_KB,\n\tWISP_ID_HELP_TIP,\n\tWISP_ID_SUB_MENU,\n\tWISP_ID_CARET_BLINK_TIMER,\n\tWISP_ID_CLOSE =\t0x80001000,\n\tWISP_ID_MAX,\n\tWISP_ID_MIN,\n\n\tWISP_ID_VPAGE_UP,\n\tWISP_ID_VPAGE_DOWN,\n\tWISP_ID_VSLIDE,\n\tWISP_ID_VSPIN_DEC,\n\tWISP_ID_VSPIN_INC,\n\n\tWISP_ID_HPAGE_UP,\n\tWISP_ID_HPAGE_DOWN,\n\tWISP_ID_HSLIDE,\n\tWISP_ID_HSPIN_DEC,\n\tWISP_ID_HSPIN_INC,\n\n\tWISP_ID_FORM_CLOSE_ID_START = 0x80002000,\n\tWISP_ID_OK,\n\tWISP_ID_CANCEL,\n\tWISP_ID_YES,\n\tWISP_ID_NO,\n\tWISP_ID_RETRY,\n\tWISP_ID_CONTINUE,\n\tWISP_ID_IGNORE,\n\tWISP_ID_ABORT,\n\tWISP_ID_TRY,\n\n\tWISP_ID_FORM_CLOSE_ID_END,\n\tWISP_ID_COPY,\n\tWISP_ID_CUT,\n\tWISP_ID_PASTE,\n};\n\n///////////////////////////////////////////\n//CtrlType\nenum WISP_CTRL_TYPE\n{\n\tWISP_CTRL_NULL = 0,\n\tWISP_CTRL_SYS_TYPE,\n\tWISP_CTRL_BASE_WND_BEGIN,\n\t//̴CWispBaseWnd\n\tWISP_CTRL_STATIC_STRING,\n\tWISP_CTRL_STATIC_DIB,\n\tWISP_CTRL_STATIC_GROUP,\n\tWISP_CTRL_STATIC_URL,\n\tWISP_CTRL_BUTTON,\n\tWISP_CTRL_BASE_WND,\n\tWISP_CTRL_WND_BEGIN,\n\t//̴CWispWnd\n\tWISP_CTRL_EDIT,\n\tWISP_CTRL_LIST,\n\tWISP_CTRL_CHECK_BOX,\n\tWISP_CTRL_TAB,\n\tWISP_CTRL_MENU,\n\tWISP_CTRL_RADIO_BOX,\n\tWISP_CTRL_MSG_BOX,\n\tWISP_CTRL_PROGRESS,\n\tWISP_CTRL_SPLIT_WND,\n\tWISP_CTRL_TOOL_BAR,\n\tWISP_CTRL_FORM,\n\tWISP_CTRL_HEX_WND,\n\tWISP_CTRL_COMBO_BOX,\n\tWISP_CTRL_TERMINAL_WND,\n\tWISP_CTRL_CONSOLE_WND,\n\tWISP_CTRL_TIP_WND,\n\tWISP_CTRL_DIB_DC_WND,\n\tWISP_CTRL_WND,\n};\n\n//״̬\n#define\t\tWISP_WST_INVAILD\t0xFFFFFFFF\n#define\t\tWISP_WST_NORMAL\t\t0x00000000\n#define\t\tWISP_WST_MOVING\t\t0x00000001\n#define\t\tWISP_WST_SIZING\t\t0x00000002\n#define\t\tWISP_WST_MAX\t\t0x00000004\n#define\t\tWISP_WST_MIN\t\t0x00000008\n\nenum\n{//ָ\n\tWISP_CT_ARROW,\n\tWISP_CT_RESIZE_VERT,\n\tWISP_CT_RESIZE_HORZ,\n\tWISP_CT_DRAG_ARROW,\n\tWISP_CT_RESIZE_LEFT_LEAN,\n\tWISP_CT_RESIZE_RIGHT_LEAN,\n\tWISP_CT_USER_DIB_TYPE,\n\tWISP_CT_USER_DATA_TYPE\n};\n\nenum WISP_SB_TYPE\n{\n\tWISP_SB_START=0,\n\tWISP_SB_VERT=0,\n\tWISP_SB_HORZ,\n\tWISP_SB_COUNT\n};\n\n#define WISP_FB_WINDOW\t\t\t\t\t0x00000000\n#define WISP_FB_FULL\t\t\t\t\t0x00000001\n#define WISP_FB_VIDEO_VIRTUAL_BUF\t\t0x00000002\n\n\nclass CWispDrawHAL;\n\nstruct WISP_FRAME_BUFFER\n{\n\tint\t\tWidth;\n\tint\t\tHeight;\n\tint\t\tBpp;\n\tint\t\tPixelFormat;\n\tUINT\tFlag;\n\tvoid*\tBuffer;\n\tint\t\tBufferSize;\n\tint\t\tLineDistance;\n\tCWispDrawHAL*pDrawHAL;\n};\n\nenum PIXEL_FORMAT\n{\n\tCOLORREF_PF_DEFAULT=0,\n\tCOLORREF_PF_PAL,\n\tCOLORREF_PF_555,\n\tCOLORREF_PF_565,\n\tCOLORREF_PF_888,\n\tCOLORREF_PF_COUNT\n};\n\nstruct WISP_RECT\n{\n\tint x;\n\tint y;\n\tint cx;\n\tint cy;\n};\n\nstruct WISP_SIZE\n{\n\tint cx;\n\tint cy;\n};\n\nstruct WISP_POINT\n{\n\tint x;\n\tint y;\n};\n\nclass CWispDIB;\nstruct WISP_WND_CARET\n{\n\tint\t\t\tx;\n\tint\t\t\ty;\n\tint\t\t\tBlinkTime;\n\tCWispDIB*\tpDIB;\n\tbool\t\tbEnable;\n};\n\n#define WISP_SS_NORMAL\t\t\t0x00000000\n#define WISP_SS_AUTOHIDE\t\t0x00000001\n#define WISP_SS_DRAGED_CHANGING\t0x00000002\n\n#ifdef WISP_SCROLL_LONGLONG\ntypedef LONGLONG\tWISP_SCROLL_LONG;\n#else\ntypedef LONG\tWISP_SCROLL_LONG;\n#endif\n\nstruct WISP_SCROLL_BAR\n{\n\tWISP_SCROLL_LONG\tMinPos;\n\tWISP_SCROLL_LONG\tMaxPos;\n\tWISP_SCROLL_LONG\tCurPos;\n\tWISP_SCROLL_LONG\tPage;\n\tWISP_SCROLL_LONG\tAdjustPage;\n\tWISP_SCROLL_LONG\tStartPos;\n\tUINT\t\tState;\n\tUINT\t\tStyle;\n\tUINT\t\tBTSpinIncState;\n\tUINT\t\tBTSpinDecState;\n\tWISP_RECT\tScrollRect;\n\tWISP_RECT\tSpaceRect;\n\tWISP_RECT\tSlideRect;\n\tWISP_RECT\tDecBTRect;\n\tWISP_RECT\tIncBTRect;\n\tint\t\t\tBarSize;\n\tint\t\t\tHotPos;\n\tbool\t\tbHide;\n};\n\nclass CWispBaseWnd;\nstruct WISP_TIMER_KEY\n{\n\tCWispBaseWnd*hWnd;\n\tUINT\tID;\n\tbool\toperator<(const WISP_TIMER_KEY&Key)const\n\t{\n\t\tif(PTR_TO_NUM(hWnd)<PTR_TO_NUM(Key.hWnd))\n\t\t\treturn true;\n\t\tif(PTR_TO_NUM(hWnd)>PTR_TO_NUM(Key.hWnd))\n\t\t\treturn false;\n\t\treturn ID<Key.ID;\n\t}\n};\n\nstruct WISP_TIMER\n{\n\tint\t\tElapse;\n\tint\t\tPeriod;\n\tUINT\tUserData;\n\tvoid*\tUserPtr;\n};\n\nenum\n{\n\tSTATUS_NORMAL = 0,\n\tSTATUS_HOVER,\n\tSTATUS_DOWN,\n\tSTATUS_DISABLED\n};\n\n#define\tSTATE_CHECKED\t\t0x00000001\n#define\tSTATE_SEMICHECKED\t0x00000020\n#define\tSTATE_SELECTED\t\t0x00000020\n#define\tSTATE_DISABLED\t\t0x00000040\n\n//Resource Define\n\nstruct WISP_FORM_RES_ITEM\n{\n\tUINT\t\tType;\n\tWISP_RECT\trc;\n\tUINT\t\tCmdID;\n\tUINT\t\tStyle;\n\tWISP_CHAR*\tpName;\n\tvoid*\t\tpData;\n\tWISP_CHAR*\tpTipString;\n};\n\n#define WISP_MOD_SHIFT\t\t0x10000000\n#define WISP_MOD_ALT\t\t0x20000000\n#define WISP_MOD_CTRL\t\t0x40000000\n#define WISP_MOD_WIN\t\t0x80000000\n\n#define WISP_VK(x)\t\t\t((x)&0xFFFF)\n\n#define WISP_HKS_ALL_WND\t0x00000000\n#define WISP_HKS_CHILD_WND\t0x00000001\n\nstruct WISP_HOTKEY_ITEM\n{\n\tUINT\tKeyType;\n\tUINT\tModifier;\n\tUINT\tEventID;\n\tUINT\tStyle;\n\tCWispBaseWnd*hWnd;\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispDrawHAL.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispDefine.h\"\n#include \"WispDrawHAL.h\"\n\nvoid CWispDraw4Bit::DrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tBYTE Value=(BYTE)color,Value1;\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tValue1 = GET_BYTE(pFB->Buffer,y*pFB->LineDistance+x/2);\n\tif(x%2) Value1 |= (Value&0xf);\n\telse Value1 |= (Value<<4);\n\tPUT_BYTE(pFB->Buffer,y*pFB->LineDistance+x/2,Value1);\n}\n\nvoid CWispDraw4Bit::DrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tBYTE Value1;\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tvoid*pPixelBuf=RT_PVOID(pFB->Buffer,y*pFB->LineDistance+x/2);\n\tBYTE Value = _GET_BYTE(pPixelBuf);\n\tValue1 = (BYTE)color;\n\tif(x%2)\n\t{\n\t\tValue1&=0xf;\n\t\tValue^=Value1;\n\t}\n\telse\n\t{\n\t\tValue1<<=4;\n\t\tValue^=Value1;\n\t}\n\t_PUT_BYTE(pPixelBuf,Value);\n}\n\nvoid CWispDraw4Bit::SetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x + Count<= pFB->Width && y < pFB->Height);\n\tBYTE*StartBuffer = RT_PBYTE(pFB->Buffer,y*pFB->LineDistance+x/2);\n\tBYTE Value;\n\tif(x%2)\n\t{\n\t\tValue=_GET_BYTE(StartBuffer);\n\t\tValue |= (BYTE)color & 0xf;\n\t\t_PUT_BYTE(StartBuffer,Value);\n\t\tCount--;\n\t\tStartBuffer++;\n\t}\n\tValue = (BYTE)color;\n\tValue = (Value << 4) | (Value&0xf);\n\twhile(Count)\n\t{\n\n\t\t_PUT_BYTE(StartBuffer,Value);\n\t\tStartBuffer++;\n\t\tCount--;\n\t\tif(!Count)break;\n\t\tCount--;\n\t}\n}\n\nCOLORREF CWispDraw4Bit::GetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y)\n{\n\tCODE_ASSERT(x < pFB->Width && y < pFB->Height);\n\tBYTE Value=GET_BYTE(pFB->Buffer,y*pFB->LineDistance+x/2);\n\tValue = x%2?(Value&0xf):(Value>>4);\n\treturn (COLORREF)Value;\n}\n\nvoid CWispDraw4Bit::Copy32BitPixelTo(void* pDes,void* pSrc,int Count)\n{\n\tBYTE Value;\n\tfor(int n = 0,j=0; n < Count;n++,j++)\n\t{\n\t\tValue = (BYTE)GET_DWORD(pSrc,n*4);\n\t\tValue <<= 4;\n\t\tn++;\n\t\tif(n<Count)\n\t\t{\n\t\t\tValue |= (BYTE)GET_DWORD(pSrc,n*4)&0xf;\n\t\t}\n\t\tPUT_BYTE(pDes,j,Value);\n\t}\n}\n\nvoid CWispDraw4Bit::CopyTo32BitPixel(void* pDes,void* pSrc,int Count)\n{\n\tBYTE Value;\n\tfor(int n =0,j=0;n<Count;n++,j++)\n\t{\n\t\tValue=GET_BYTE(pSrc,j);\n\t\tPUT_DWORD(pDes,n*4,Value>>4);\n\t\tn++;\n\t\tif(n<Count)\n\t\t\tPUT_DWORD(pDes,n*4,Value&0xf);\n\t}\n}\n\nvoid CWispDraw8Bit::DrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tPUT_BYTE(pFB->Buffer,y*pFB->LineDistance+x,(BYTE)color);\n}\n\nvoid CWispDraw8Bit::DrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tvoid*pPixelBuf=RT_PVOID(pFB->Buffer,y*pFB->LineDistance+x);\n\t_PUT_BYTE(pPixelBuf,_GET_BYTE(pPixelBuf)^(BYTE)color);\n}\n\nvoid CWispDraw8Bit::SetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x + Count<= pFB->Width && y < pFB->Height);\n\tBYTE*StartBuffer = RT_PBYTE(pFB->Buffer,y*pFB->LineDistance+x);\n\twhile(Count)\n\t{\n\t\t_PUT_BYTE(StartBuffer,(BYTE)color);\n\t\tStartBuffer++;\n\t\tCount--;\n\t}\n}\n\nCOLORREF CWispDraw8Bit::GetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y)\n{\n\tCODE_ASSERT(x < pFB->Width && y < pFB->Height);\n\treturn GET_BYTE(pFB->Buffer,y*pFB->LineDistance+x);\n}\n\nvoid CWispDraw8Bit::Copy32BitPixelTo(void* pDes,void* pSrc,int Count)\n{\n\tfor(int n = 0; n < Count;n++)\n\t\tPUT_BYTE(pDes,n,(BYTE)GET_DWORD(pSrc,n*4));\n}\n\nvoid CWispDraw8Bit::CopyTo32BitPixel(void* pDes,void* pSrc,int Count)\n{\n\tfor(int n =0;n<Count;n++)\n\t\tPUT_DWORD(pDes,n*4,GET_BYTE(pSrc,n));\n}\n\nvoid CWispDraw16Bit::DrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tWORD WordColor;\n\tWordColor = (WORD)((color & 0xFF)>>3);\n\tWordColor|= ((color & 0xFF00)>>10)<<5;\n\tWordColor|= ((color & 0xFF0000)>>19)<<11;\n\tPUT_WORD(pFB->Buffer,y*pFB->LineDistance+x*2,WordColor);\n}\n\nvoid CWispDraw16Bit::DrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tvoid*pPixelBuf=RT_PVOID(pFB->Buffer,y*pFB->LineDistance+x*2);\n\t_PUT_WORD(pPixelBuf,_GET_WORD(pPixelBuf) ^ (WORD)color);\n}\n\nvoid CWispDraw16Bit::SetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x + Count<= pFB->Width && y < pFB->Height);\n\tWORD WordColor,*StartBuffer;\n\tWordColor = (WORD)((color & 0xFF)>>3);\n\tWordColor|= ((color & 0xFF00)>>10)<<5;\n\tWordColor|= ((color & 0xFF0000)>>19)<<11;\n\tStartBuffer = RT_PWORD(pFB->Buffer,y*pFB->LineDistance+(x<<1));\n\twhile(Count)\n\t{\n\t\t_PUT_WORD(StartBuffer,WordColor);\n\t\tStartBuffer++;\n\t\tCount--;\n\t}\n}\n\nCOLORREF CWispDraw16Bit::GetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tWORD WordColor;\n\tCOLORREF color;\n\tWordColor=GET_WORD(pFB->Buffer,y*pFB->LineDistance+x*2);\n\tcolor = WordColor&0x1F;\n\tcolor|= (WordColor&0x7E)<<3;\n\tcolor|= (WordColor&0xF8)<<11;\n\treturn color;\n}\n\nvoid CWispDraw16Bit::Copy32BitPixelTo(void* pDes,void* pSrc,int Count)\n{\n\tCOLORREF color;\n\tWORD WordColor;\n\tCOLORREF*SrcBuf=(COLORREF*)pSrc;\n\tWORD*DesBuf=(WORD*)pDes;\n\twhile(Count--)\n\t{\n\t\tcolor = *SrcBuf;\n\t\tWordColor = (WORD)((color & 0xFF)>>3);\n\t\tWordColor|= ((color & 0xFF00)>>10)<<5;\n\t\tWordColor|= ((color & 0xFF0000)>>19)<<11;\n\t\t*DesBuf=WordColor;\n\t\tSrcBuf++;\n\t\tDesBuf++;\n\t}\n}\n\nvoid CWispDraw16Bit::CopyTo32BitPixel(void* pDes,void* pSrc,int Count)\n{\n\tWORD WordColor;\n\tWORD*SrcBuf=(WORD*)pSrc;\n\tCOLORREF*DesBuf=(COLORREF*)pDes;\n\twhile(Count--)\n\t{\n\t\tWordColor = *SrcBuf;\n\t\t*DesBuf=((WordColor&0x1F)<<3) | ((WordColor&0x3E0)<<6) | ((WordColor&0x7C00)<<9);\n\t\tSrcBuf++;\n\t\tDesBuf++;\n\t}\n}\n\nvoid CWispDraw24Bit::DrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x < pFB->Width && y < pFB->Height);\n\tPUT_3BYTES(pFB->Buffer,y*pFB->LineDistance+x*3,color);\n}\n\nvoid CWispDraw24Bit::DrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tvoid*pPixelBuf=RT_PVOID(pFB->Buffer,y*pFB->LineDistance+x*3);\n\t_PUT_3BYTES(pPixelBuf,_GET_3BYTES(pPixelBuf) ^ color);\n}\n\nvoid CWispDraw24Bit::SetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>= 0 && x + Count<= pFB->Width && y < pFB->Height);\n\tBYTE*StartBuffer = RT_PBYTE(pFB->Buffer,y*pFB->LineDistance+x*3);\n\twhile(Count)\n\t{\n\t\t_PUT_3BYTES(StartBuffer,color);\n\t\tStartBuffer+=3;\n\t\tCount--;\n\t}\n}\n\nCOLORREF CWispDraw24Bit::GetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\treturn GET_3BYTES(pFB->Buffer,y*pFB->LineDistance+x*3);\n}\n\nvoid CWispDraw24Bit::Copy32BitPixelTo(void* pDes,void* pSrc,int Count)\n{\n\tBYTE*SrcBuf=(BYTE*)pSrc;\n\tBYTE*DesBuf=(BYTE*)pDes;\n\twhile(Count--)\n\t{\n\t\t*_RT_PWORD(DesBuf)=*_RT_PWORD(SrcBuf);\n\t\tDesBuf+=2;\n\t\tSrcBuf+=2;\n\t\t*_RT_PBYTE(DesBuf)=*_RT_PBYTE(SrcBuf);\n\t\tDesBuf++;\n\t\tSrcBuf+=2;\n\t}\n}\n\nvoid CWispDraw24Bit::CopyTo32BitPixel(void* pDes,void* pSrc,int Count)\n{\n\tBYTE*SrcBuf=(BYTE*)pSrc;\n\tBYTE*DesBuf=(BYTE*)pDes;\n\twhile(Count--)\n\t{\n\t\t*_RT_PWORD(DesBuf)=*_RT_PWORD(SrcBuf);\n\t\tDesBuf+=2;\n\t\tSrcBuf+=2;\n\t\t*_RT_PBYTE(DesBuf)=*_RT_PBYTE(SrcBuf);\n\t\tDesBuf+=2;\n\t\tSrcBuf++;\n\t}\n}\n\nvoid CWispDraw32Bit::DrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x < pFB->Width && y < pFB->Height);\n\tPUT_DWORD(pFB->Buffer,y*pFB->LineDistance+x*4,color);\n}\n\nvoid CWispDraw32Bit::DrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\tvoid*pPixelBuf=RT_PVOID(pFB->Buffer,y*pFB->LineDistance+x*4);\n\t_PUT_DWORD(pPixelBuf,_GET_DWORD(pPixelBuf)^color);\n}\n\nvoid CWispDraw32Bit::SetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x + Count<= pFB->Width && y < pFB->Height);\n\tDWORD*StartBuffer = RT_PDWORD(pFB->Buffer,y*pFB->LineDistance+x*4);\n\twhile(Count)\n\t{\n\t\t*StartBuffer=color;\n\t\tStartBuffer++;\n\t\tCount--;\n\t}\n}\n\nCOLORREF CWispDraw32Bit::GetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y)\n{\n\tCODE_ASSERT(x>=0 && y>=0 && x<pFB->Width && y<pFB->Height);\n\treturn GET_DWORD(pFB->Buffer,y*pFB->LineDistance+x*4);\n}\n\nvoid CWispDraw32Bit::Copy32BitPixelTo(void* pDes,void* pSrc,int Count)\n{\n\tmemcpy(pDes,pSrc,4*Count);\n}\n\nvoid CWispDraw32Bit::CopyTo32BitPixel(void* pDes,void* pSrc,int Count)\n{\n\tmemcpy(pDes,pSrc,4*Count);\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispDrawHAL.h",
    "content": "#ifndef _WISP_DRAW_HAL_\n#define _WISP_DRAW_HAL_\n\n\nclass CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color){}\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color){}\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color){}\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y){return 0;}\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count){}\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count){}\n};\n\nclass CWispDraw4Bit : public CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color);\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y);\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count);\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count);\n};\n\nclass CWispDraw8Bit : public CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color);\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y);\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count);\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count);\n};\n\nclass CWispDraw16Bit : public CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color);\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y);\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count);\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count);\n};\n\nclass CWispDraw24Bit : public CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color);\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y);\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count);\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count);\n};\n\nclass CWispDraw32Bit : public CWispDrawHAL\n{\npublic:\n\tvirtual void\t\tDrawPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tDrawXorPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN COLORREF color);\n\tvirtual void\t\tSetHLinePixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y,IN int Count,IN COLORREF color);\n\tvirtual COLORREF\tGetPixel(IN WISP_FRAME_BUFFER*pFB,IN int x,IN int y);\n\tvirtual void\t\tCopy32BitPixelTo(void* pDes,void* pSrc,int Count);\n\tvirtual void\t\tCopyTo32BitPixel(void* pDes,void* pSrc,int Count);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispDrawObj.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispWnd.h\"\n#include \"WispDrawObj.h\"\n#include \"DIBData.h\"\n#include \"WispMenu.h\"\n#include \"WispList.h\"\n\nCWispDrawObj::CWispDrawObj()\n{\n\tInitSystemColor();\n}\n\nCWispDrawObj::~CWispDrawObj()\n{\n}\n\nvoid CWispDrawObj::InitSystemColor()\n{\n\tm_crSystem[SC_BLACK\t\t\t]\t\t\t\t\t= WISP_RGB(0,0,0);\n\tm_crSystem[SC_WHITE\t\t\t]\t\t\t\t\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_RED\t\t\t]\t\t\t\t\t= WISP_RGB(192,0,0);\n\tm_crSystem[SC_LIGHT_RED\t\t]\t\t\t\t\t= WISP_RGB(255,0,0);\n\tm_crSystem[SC_GREEN\t\t\t]\t\t\t\t\t= WISP_RGB(0,192,0);\n\tm_crSystem[SC_LIGHT_GREEN\t]\t\t\t\t\t= WISP_RGB(0,255,128);\n\tm_crSystem[SC_BLUE\t\t\t]\t\t\t\t\t= WISP_RGB(0,0,192);\n\tm_crSystem[SC_LIGHT_BLUE\t]\t\t\t\t\t= WISP_RGB(0,128,255);\n\tm_crSystem[SC_BROWN\t\t\t]\t\t\t\t\t= WISP_RGB(128,64,64);\n\tm_crSystem[SC_LIGHT_BROWN\t]\t\t\t\t\t= WISP_RGB(200,100,100);\n\tm_crSystem[SC_CYAN\t\t\t]\t\t\t\t\t= WISP_RGB(0,192,192);\n\tm_crSystem[SC_LIGHT_CYAN\t]\t\t\t\t\t= WISP_RGB(0,255,255);\n\tm_crSystem[SC_GRAY\t\t\t]\t\t\t\t\t= WISP_RGB(128,128,128);\n\tm_crSystem[SC_LIGHT_GRAY\t]\t\t\t\t\t= WISP_RGB(200,200,200);\n\tm_crSystem[SC_YELLOW\t\t]\t\t\t\t\t= WISP_RGB(192,192,0);\n\tm_crSystem[SC_LIGHT_YELLOW\t]\t\t\t\t\t= WISP_RGB(255,255,0);\n\tm_crSystem[SC_ORANGE_RED\t]\t\t\t\t\t= WISP_RGB(128,64,0);\n\tm_crSystem[SC_LIGHT_ORANGE_RED]\t\t\t\t\t= WISP_RGB(255,128,0);\n\tm_crSystem[SC_DESKTOP_BG\t]\t\t\t\t\t= WISP_RGB(0,0,0);\n\tm_crSystem[SC_DISABLE_BG\t]\t\t\t\t\t= WISP_RGB(200,200,200);\n\tm_crSystem[SC_CLIENT_BG\t\t]\t\t\t\t\t= WISP_RGB(236,233,216);\n\tm_crSystem[SC_CLIENT_TEXT\t]\t\t\t\t\t= WISP_RGB(0,0,0);\n\tm_crSystem[SC_CAPTION_TEXT\t]\t\t\t\t\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_CAPTION_BG\t]\t\t\t\t\t= WISP_RGB(35,152,200);\n\tm_crSystem[SC_CAPTION_LIGHT_BG]\t\t\t\t\t= WISP_RGB(80,176,255);\n\tm_crSystem[SC_SELECT_BG\t\t]\t\t\t\t\t= WISP_RGB(0,128,255);\n\tm_crSystem[SC_SCROLL_SLIDE_BG]\t\t\t\t\t= WISP_RGB(100,200,250);\n\tm_crSystem[SC_SCROLL_SLIDE_DARK_BG]\t\t\t\t= WISP_RGB(60,140,220);\n\tm_crSystem[SC_BORDER_BG\t\t]\t\t\t\t\t= WISP_RGB(0,130,230);\n\tm_crSystem[SC_BRIGHT\t\t]\t\t\t\t\t= WISP_RGB(220,220,220);\n\tm_crSystem[SC_SHADOW\t\t]\t\t\t\t\t= WISP_RGB(85,85,85);\n\tm_crSystem[SC_SHADOW_LIGHT\t]\t\t\t\t\t= WISP_RGB(170,170,170);\n\tm_crSystem[SC_SCROLL_BG\t\t]\t\t\t\t\t= WISP_RGB(80,230,255);\n\tm_crSystem[SC_SCROLL_BT_BG\t]\t\t\t\t\t= WISP_RGB(50,180,230);\n\tm_crSystem[SC_CURSOR\t]\t\t\t\t\t\t= WISP_RGB(0,0,255);\n\tm_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT\t]\t= WISP_RGB(127,157,185);\n\tm_crSystem[SC_CTRL_NORMAL_BORDER_BOTTOMRIGHT]\t= WISP_RGB(127,157,185);\n\tm_crSystem[SC_CTRL_NORMAL_DARK_BORDER\t\t]\t= WISP_RGB(28,81,128);\n\tm_crSystem[SC_CTRL_NORMAL_CLIENT_BG\t\t\t]\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG\t]\t= WISP_RGB(243,243,239);\n\tm_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG2\t]\t= WISP_RGB(226,225,218);\n\tm_crSystem[SC_CTRL_SELECTED_BG\t\t]\t\t\t= WISP_RGB(160,160,160);\n\tm_crSystem[SC_CTRL_SELECTED_LIGHT_BG]\t\t\t= WISP_RGB(192,192,192);\n\tm_crSystem[SC_CTRL_HOVER_BG\t\t\t]\t\t\t= WISP_RGB(248,179,48);\n\tm_crSystem[SC_CTRL_HOVER_LIGHT_BG\t]\t\t\t= WISP_RGB(255,214,100);\n\tm_crSystem[SC_CTRL_SELECTED_TEXT\t]\t\t\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_CTRL_NORMAL_TEXT\t\t]\t\t\t= WISP_RGB(0,0,0);\n\tm_crSystem[SC_CTRL_HOVER_TEXT\t\t]\t\t\t= WISP_RGB(0,0,128);\n\tm_crSystem[SC_CTRL_NORMAL_FOCUS\t\t]\t\t\t= WISP_RGB(0,0,255);\n\tm_crSystem[SC_CTRL_HOVER_FOCUS\t\t]\t\t\t= WISP_RGB(49,106,197);\n\tm_crSystem[SC_MENU_BG\t\t]\t\t\t\t\t= WISP_RGB(180,200,228);\n\tm_crSystem[SC_MENU_LIGHT_BG\t]\t\t\t\t\t= WISP_RGB(210,230,255);\n\tm_crSystem[SC_MENU_BORDER\t]\t\t\t\t\t= WISP_RGB(138,134,122);\n\tm_crSystem[SC_STDICON_NORMAL_BORDER\t\t]\t\t= WISP_RGB(80,176,255);\n\tm_crSystem[SC_STDICON_HOVER_BORDER\t\t]\t\t= WISP_RGB(0,255,255);\n\tm_crSystem[SC_STDICON_DOWN_BORDER\t\t]\t\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_STDICON_NORMAL_CHECKMARK\t]\t\t= WISP_RGB(33,161,33);\n\tm_crSystem[SC_STDICON_NORMAL_PLUS\t\t]\t\t= WISP_RGB(0,0,0);\n\tm_crSystem[SC_SCROLL_NORMAL_BUTTON\t\t]\t\t= WISP_RGB(118,177,229);\n\tm_crSystem[SC_SCROLL_HOVER_BUTTON\t\t]\t\t= WISP_RGB(180,214,241);\n\tm_crSystem[SC_SCROLL_DOWN_BUTTON\t\t]\t\t= WISP_RGB(100,146,185);\n\tm_crSystem[SC_FRAME_NORMAL_BG\t\t]\t\t\t= WISP_RGB(235,234,219);\n\tm_crSystem[SC_FRAME_NORMAL_LEFT\t\t]\t\t\t= WISP_RGB(255,255,255);\n\tm_crSystem[SC_FRAME_NORMAL_RIGHT\t]\t\t\t= WISP_RGB(199,197,178);\n\tm_crSystem[SC_FRAME_NORMAL_BOTTOM1\t]\t\t\t= WISP_RGB(226,222,205);\n\tm_crSystem[SC_FRAME_NORMAL_BOTTOM2\t]\t\t\t= WISP_RGB(214,210,194);\n\tm_crSystem[SC_FRAME_NORMAL_BOTTOM3\t]\t\t\t= WISP_RGB(203,199,184);\n\tm_crSystem[SC_FRAME_HOVER_BG\t\t]\t\t\t= WISP_RGB(243,243,243);\n\tm_crSystem[SC_FRAME_HOVER_BOTTOM1\t]\t\t\t= WISP_RGB(248,169,0);\n\tm_crSystem[SC_FRAME_HOVER_BOTTOM2\t]\t\t\t= WISP_RGB(249,198,84);\n\tm_crSystem[SC_FRAME_HOVER_BOTTOM3\t]\t\t\t= WISP_RGB(248,179,31);\n\tm_crSystem[SC_GRADIENT_GREEN_1\t]\t\t\t\t= WISP_RGB(171,237,172);\n\tm_crSystem[SC_GRADIENT_GREEN_2\t]\t\t\t\t= WISP_RGB(149,233,150);\n\tm_crSystem[SC_GRADIENT_GREEN_3\t]\t\t\t\t= WISP_RGB(124,228,126);\n\tm_crSystem[SC_GRADIENT_GREEN_4\t]\t\t\t\t= WISP_RGB(102,223,104);\n\tm_crSystem[SC_GRADIENT_GREEN_5\t]\t\t\t\t= WISP_RGB(78,218,80);\n\tm_crSystem[SC_GRADIENT_GREEN_6\t]\t\t\t\t= WISP_RGB(53,213,56);\n\tm_crSystem[SC_GRADIENT_GREEN_7\t]\t\t\t\t= WISP_RGB(40,210,43);\n\n\tm_crSystem[SC_GRADIENT_YELLOW\t]\t\t\t\t= WISP_RGB(200,130,0);\n\tm_crSystem[SC_GRADIENT_YELLOW_1\t]\t\t\t\t= WISP_RGB(229,151,0);\n\tm_crSystem[SC_GRADIENT_YELLOW_2\t]\t\t\t\t= WISP_RGB(248,179,48);\n\tm_crSystem[SC_GRADIENT_YELLOW_3\t]\t\t\t\t= WISP_RGB(253,216,137);\n\n\tm_crSystem[SC_GRADIENT_BULE_1\t]\t\t\t\t= WISP_RGB(61,149,255);\n\tm_crSystem[SC_GRADIENT_BULE_2\t]\t\t\t\t= WISP_RGB(43,144,255);\n\tm_crSystem[SC_GRADIENT_BULE_3\t]\t\t\t\t= WISP_RGB(0,85,234);\n\tm_crSystem[SC_GRADIENT_BULE_4\t]\t\t\t\t= WISP_RGB(0,70,224);\n\tm_crSystem[SC_GRADIENT_BULE_5\t]\t\t\t\t= WISP_RGB(1,67,207);\n\tm_crSystem[SC_GRADIENT_BULE_6\t]\t\t\t\t= WISP_RGB(0,61,220);\n\tm_crSystem[SC_GRADIENT_BULE_7\t]\t\t\t\t= WISP_RGB(0,29,160);\n\tm_crSystem[SC_GRADIENT_BULE_8\t]\t\t\t\t= WISP_RGB(0,19,140);\n\n\tm_crSystem[SC_RAV_1\t\t\t\t]\t\t\t\t= WISP_RGB(123,123,123);\n\tm_crSystem[SC_RAV_2\t\t\t\t]\t\t\t\t= WISP_RGB(224,232,254);\n\tm_crSystem[SC_RAV_3\t\t\t\t]\t\t\t\t= WISP_RGB(241,241,241);\n\tm_crSystem[SC_RAV_4\t\t\t\t]\t\t\t\t= WISP_RGB(231,235,255);\n\tm_crSystem[SC_RAV_5\t\t\t\t]\t\t\t\t= WISP_RGB(107,121,189);\n\tm_crSystem[SC_UNNAMED_1\t\t\t]\t\t\t\t= WISP_RGB(172,168,153);\n\tm_crSystem[SC_UNNAMED_2\t\t\t]\t\t\t\t= WISP_RGB(241,239,226);\n\tm_crSystem[SC_UNNAMED_3\t\t\t]\t\t\t\t= WISP_RGB(113,111,100);\n\tm_crSystem[SC_UNNAMED_4\t\t\t]\t\t\t\t= WISP_RGB(222,223,216);\n\tm_crSystem[SC_UNNAMED_5\t\t\t]\t\t\t\t= WISP_RGB(165,165,151);\n\tm_crSystem[SC_UNNAMED_6\t\t\t]\t\t\t\t= WISP_RGB(193,194,184);\n\tm_crSystem[SC_UNNAMED_7\t\t\t]\t\t\t\t= WISP_RGB(208,209,201);\n\tm_crSystem[SC_UNNAMED_8\t\t\t]\t\t\t\t= WISP_RGB(180,250,212);\n\tm_crSystem[SC_UNNAMED_9\t\t\t]\t\t\t\t= WISP_RGB(100,200,255);\n\tm_crSystem[SC_UNNAMED_10\t\t]\t\t\t\t= WISP_RGB(255,170,170);\n\tm_crSystem[SC_UNNAMED_11\t\t]\t\t\t\t= WISP_RGB(0,155,255);\n\tm_crSystem[SC_UNNAMED_12\t\t]\t\t\t\t= WISP_RGB(180,40,40);\n\tm_crSystem[SC_UNNAMED_13\t\t]\t\t\t\t= WISP_RGB(112,162,243);\n\tm_crSystem[SC_UNNAMED_14\t\t]\t\t\t\t= WISP_RGB(197,194,184);\n\tm_crSystem[SC_UNNAMED_15\t\t]\t\t\t\t= WISP_RGB(0,255,0);\n\tm_crSystem[SC_UNNAMED_16\t\t]\t\t\t\t= WISP_RGB(255,0,255);\n\tm_crSystem[SC_UNNAMED_17\t\t]\t\t\t\t= WISP_RGB(250,250,204);\n\tm_crSystem[SC_UNNAMED_18\t\t]\t\t\t\t= WISP_RGB(33,162,33);\n\tm_crSystem[SC_UNNAMED_19\t\t]\t\t\t\t= WISP_RGB(123,162,231);\n\tm_crSystem[SC_UNNAMED_20\t\t]\t\t\t\t= WISP_RGB(99,117,214);\t\n\tm_crSystem[SC_UNNAMED_21\t\t]\t\t\t\t= WISP_RGB(180,177,163);\t\n}\n\nbool CWispDrawObj::Init()\n{\n\tgpCurWisp->m_MouseSize.cx = gpCurWisp->m_MouseSize.cy = 16;\n\treturn true;\n}\n\nvoid CWispDrawObj::Release()\n{\n\n}\n\nvoid CWispDrawObj::DrawBorder(CWispDC*pDC,WISP_RECT*pRect,int Size)\n{\n\tCWispRect rc(*pRect);\n\tif(Size>=1)\n\t{\n\t\tpDC->DrawRoundRect(&rc, m_crSystem[SC_BORDER_BG]);\n\t\trc.DeflateRect(1, 1);\n\t}\n\tif(Size>=2)\n\t{\n\t\tpDC->DrawRect(&rc, m_crSystem[SC_BORDER_BG]);\n\t\trc.DeflateRect(1, 1);\n\t}\n\n\tif(Size>=3)\n\t{\n\t\tSize -= 3;\n\t\tfor(int i=0; i<Size; i++)\n\t\t{\n\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_BORDER_BG]);\n\t\t\trc.DeflateRect(1, 1);\n\t\t}\n\t}\n\tif(Size>=1)\n\t\tpDC->DrawRect(&rc, m_crSystem[SC_BORDER_BG]);\n}\n\nvoid CWispDrawObj::DrawCaption(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tCWispRect rc(pRect);\n\tpDC->DrawFullRect(&rc, m_crSystem[SC_CAPTION_BG]);\n}\n\nvoid CWispDrawObj::DrawToolbarBK(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawFullRect(pRect,m_crSystem[SC_CAPTION_LIGHT_BG]);\n}\n\nvoid CWispDrawObj::DrawClient(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawFullRect(pRect, m_crSystem[SC_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawCtrlBorder(CWispDC* pDC, WISP_RECT* pRect, int nSize)\n{\n\tCWispRect\trc(pRect);\n\tfor(int i=0; i<nSize-1; i++)\n\t{\n\t\tpDC->Draw3DRect(&rc, m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT], m_crSystem[SC_CTRL_NORMAL_BORDER_BOTTOMRIGHT]);\n\t\trc.DeflateRect(1, 1);\n\t}\n\tpDC->DrawRect(&rc, m_crSystem[SC_CTRL_NORMAL_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawCtrlClient(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tif(pDC->m_pWispWnd->m_Style&WISP_WS_DISABLED)\n\t\tpDC->DrawFullRect(pRect, m_crSystem[SC_DISABLE_BG]);\n\telse\n\t\tpDC->DrawFullRect(pRect, m_crSystem[SC_CTRL_NORMAL_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawCtrlFocusRect(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tpDC->DrawDashRect(pRect, m_crSystem[SC_CTRL_NORMAL_FOCUS]);\n}\n\nvoid CWispDrawObj::DrawCtrlStaticEdge(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tCOLORREF rcTopLef=m_crSystem[SC_UNNAMED_1];\n\tCOLORREF rcBottomRight=m_crSystem[SC_WHITE];\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-2,pRect->y,rcTopLef);\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-1,pRect->y+pRect->cy-1,rcBottomRight);\n\tpDC->DrawVLine(pRect->x,pRect->y,pRect->y+pRect->cy-2,rcTopLef);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1,pRect->y,pRect->y+pRect->cy-1,rcBottomRight);\n}\n\nvoid CWispDrawObj::DrawCtrlClientEdge(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tCOLORREF rcTopLeft=m_crSystem[SC_UNNAMED_1];\n\tCOLORREF rcTopLeft1=m_crSystem[SC_UNNAMED_3];\n\tCOLORREF rcBottomRight=m_crSystem[SC_WHITE];\n\tCOLORREF rcBottomRight1=m_crSystem[SC_UNNAMED_2];\n\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-2,pRect->y,rcTopLeft);\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-1,pRect->y+pRect->cy-1,rcBottomRight);\n\tpDC->DrawVLine(pRect->x,pRect->y,pRect->y+pRect->cy-2,rcTopLeft);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1,pRect->y,pRect->y+pRect->cy-1,rcBottomRight);\n\n\tpDC->DrawHLine(pRect->x+1,pRect->x+pRect->cx-2-1,pRect->y+1,rcTopLeft1);\n\tpDC->DrawHLine(pRect->x+1,pRect->x+pRect->cx-1-1,pRect->y+pRect->cy-1-1,rcBottomRight1);\n\tpDC->DrawVLine(pRect->x+1,pRect->y+1,pRect->y+pRect->cy-2-1,rcTopLeft1);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1-1,pRect->y+1,pRect->y+pRect->cy-1-1,rcBottomRight1);\n\n}\nvoid CWispDrawObj::DrawCtrlModalFrame(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tCOLORREF rcTopLeft=m_crSystem[SC_UNNAMED_2];\n\tCOLORREF rcTopLeft1=m_crSystem[SC_WHITE];\n\tCOLORREF rcTopLeft2=m_crSystem[SC_CLIENT_BG];\n\tCOLORREF rcBottomRight2=m_crSystem[SC_CLIENT_BG];\n\tCOLORREF rcBottomRight1=m_crSystem[SC_UNNAMED_1];\t\n\tCOLORREF rcBottomRight=m_crSystem[SC_UNNAMED_3];\n\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-2,pRect->y,rcTopLeft);\n\tpDC->DrawHLine(pRect->x,pRect->x+pRect->cx-1,pRect->y+pRect->cy-1,rcBottomRight);\n\tpDC->DrawVLine(pRect->x,pRect->y,pRect->y+pRect->cy-2,rcTopLeft);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1,pRect->y,pRect->y+pRect->cy-1,rcBottomRight);\n\n\tpDC->DrawHLine(pRect->x+1,pRect->x+pRect->cx-2-1,pRect->y+1,rcTopLeft1);\n\tpDC->DrawHLine(pRect->x+1,pRect->x+pRect->cx-1-1,pRect->y+pRect->cy-1-1,rcBottomRight1);\n\tpDC->DrawVLine(pRect->x+1,pRect->y+1,pRect->y+pRect->cy-2-1,rcTopLeft1);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1-1,pRect->y+1,pRect->y+pRect->cy-1-1,rcBottomRight1);\n\t\n\tpDC->DrawHLine(pRect->x+2,pRect->x+pRect->cx-2-2,pRect->y+2,rcTopLeft2);\n\tpDC->DrawHLine(pRect->x+2,pRect->x+pRect->cx-1-2,pRect->y+pRect->cy-1-2,rcBottomRight2);\n\tpDC->DrawVLine(pRect->x+2,pRect->y+2,pRect->y+pRect->cy-2-2,rcTopLeft2);\n\tpDC->DrawVLine(pRect->x+pRect->cx-1-2,pRect->y+2,pRect->y+pRect->cy-1-2,rcBottomRight2);\n}\n\nvoid CWispDrawObj::DrawVertScrollRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawFullRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawVertScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tCWispRect rc(pRect);\n\tpDC->DrawRoundRect(&rc, m_crSystem[SC_SCROLL_NORMAL_BUTTON]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawRect(&rc, m_crSystem[SC_WHITE]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawFullRect(&rc,m_crSystem[SC_SCROLL_SLIDE_BG]);\n\tif(rc.cy>=10)\n\t{\n\t\tfor(int i=0; i<8; i+=2)\n\t\t{\n\t\t\tpDC->DrawHLine( rc.x+2, rc.x2()-2, (rc.cy-8)/2+rc.y+i, m_crSystem[SC_LIGHT_GRAY]);\n\t\t\tpDC->DrawHLine( rc.x+2, rc.x2()-2, (rc.cy-8)/2+rc.y+i+1,  m_crSystem[SC_GRAY]);\n\t\t}\n\t}\n}\n\nvoid CWispDrawObj::DrawHorzScrollRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawFullRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawHorzScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tCWispRect rc(pRect);\n\tpDC->DrawRoundRect(&rc, m_crSystem[SC_SCROLL_NORMAL_BUTTON]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawRect(&rc, m_crSystem[SC_WHITE]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawFullRect(&rc,m_crSystem[SC_SCROLL_SLIDE_BG]);\n\tif(rc.cx>=10)\n\t{\n\t\tfor(int i=0; i<8; i+=2)\n\t\t{\n\t\t\tpDC->DrawVLine( (rc.cx-8)/2+rc.x+i, rc.y+2, rc.y2()-2,  m_crSystem[SC_LIGHT_GRAY]);\n\t\t\tpDC->DrawVLine( (rc.cx-8)/2+rc.x+i+1, rc.y+2, rc.y2()-2,  m_crSystem[SC_GRAY]);\n\t\t}\n\t}\n}\n\nvoid CWispDrawObj::DrawSplitRect(CWispDC*pDC,WISP_RECT*pRect,bool bHorz)\n{\t\n\tCWispWnd*pWnd=(CWispWnd*)pDC->m_pWispWnd;\n\tif(bHorz)\n\t\tpDC->DrawFullRect(pRect,m_crSystem[SC_BORDER_BG]);\n\telse\n\t\tpDC->DrawFullRect(pRect,m_crSystem[SC_BORDER_BG]);\n}\n\nvoid CWispDrawObj::DrawButtonClient(CWispDC*pDC,WISP_RECT*pRect,UINT State)\n{\n\tif(State==STATUS_DOWN)\n\t\tpDC->DrawFullRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG2]);\n\telse\n\t\tpDC->DrawFullRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG]);\n}\n\nvoid CWispDrawObj::DrawButtonFrameRect(CWispDC*pDC,WISP_RECT*pRect,UINT State)\n{\n\tif(State&WISP_WS_BACK_TRANS)\n\t{\n\t\tif(State == STATUS_DOWN)\n\t\t\tpDC->DrawFrameRect(pRect,false,1);\n\t\tif(State == STATUS_HOVER)\n\t\t\tpDC->DrawFrameRect(pRect,true,1);\n\t}\n\telse\n\t{\n\t\tswitch(State)\n\t\t{\n\t\tcase STATUS_HOVER:\n\t\t\t{\n\t\t\t\tCWispRect rc(*pRect);\n\t\t\t\tpDC->DrawRoundRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_BORDER]);\n\t\t\t\trc.DeflateRect(1,1);\n\t\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\t\trc.DeflateRect(1,1);\n\t\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase STATUS_NORMAL:\n\t\t\t{\n\t\t\t\tCWispRect rc(*pRect);\n\t\t\t\tpDC->DrawRoundRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_BORDER]);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase STATUS_DOWN:\n\t\t\t{\n\t\t\t\tCWispRect rc(*pRect);\n\t\t\t\trc.DeflateRect(1,1);\n\t\t\t\tpDC->DrawRoundRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_BORDER]);\n\t\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_CTRL_NORMAL_CLIENT_BG]);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase STATE_DISABLED:\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nvoid CWispDrawObj::DrawTabBackground(CWispDC* pDC, WISP_RECT* pRect)\n{\n\tDrawToolbarBK(pDC,pRect);\n}\n\nvoid CWispDrawObj::DrawTabItem(CWispDC* pDC, WISP_RECT* pRect, UINT State)\n{\n\tswitch(State)\n\t{\n\tcase STATUS_HOVER:\n\t\t{\n\t\t\tCWispRect rc(*pRect);\n\t\t\trc.DeflateRect(1,1);\n\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\trc.DeflateRect(1,1);\n\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t}\n\tcase STATUS_NORMAL:\n\tcase STATUS_DOWN:\n\t\tpDC->DrawRoundRect(pRect, m_crSystem[SC_CTRL_NORMAL_DARK_BORDER]);\n\t\tbreak;\n\tcase STATE_DISABLED:\n\t\tbreak;\n\t}\n}\n\nvoid CWispDrawObj::DrawHeaderFrameRect(CWispDC* pDC, WISP_RECT* pRect, UINT State)\n{\n\tCOLORREF crBk\t\t= m_crSystem[SC_FRAME_NORMAL_BG\t\t];\n\tCOLORREF crLeft\t\t= m_crSystem[SC_FRAME_NORMAL_LEFT\t];\n\tCOLORREF crRight\t= m_crSystem[SC_FRAME_NORMAL_RIGHT\t];\n\tCOLORREF crBottom1\t= m_crSystem[SC_FRAME_NORMAL_BOTTOM1];\n\tCOLORREF crBottom2\t= m_crSystem[SC_FRAME_NORMAL_BOTTOM2];\n\tCOLORREF crBottom3\t= m_crSystem[SC_FRAME_NORMAL_BOTTOM3];\n\n\tswitch(State)\n\t{\n\tcase STATUS_NORMAL:\n\t\tbreak;\n\tcase STATUS_DOWN:\n\t\t{\t\t\n\t\t\tcrBk= m_crSystem[SC_UNNAMED_4];\n\t\t\tCOLORREF crTop1= m_crSystem[SC_UNNAMED_5];\n\t\t\tCOLORREF crTop2= m_crSystem[SC_UNNAMED_6];\n\t\t\tCOLORREF crTop3=m_crSystem[SC_UNNAMED_7];\n\t\t\tpDC->DrawHLine(pRect->x+1, pRect->x+pRect->cx, pRect->y+pRect->cy-1, crTop1);\n\t\t\tpDC->DrawVLine(pRect->x+1,pRect->y, pRect->y+pRect->cy-1,crTop1);\n\t\t\tpDC->DrawFullRect(pRect, crBk);\n\t\t}\n\t\treturn;\n\tcase STATUS_HOVER:\n\t\tcrBk\t\t= m_crSystem[SC_FRAME_HOVER_BG\t\t];\n\t\tcrBottom1\t= m_crSystem[SC_FRAME_HOVER_BOTTOM1\t];\n\t\tcrBottom2\t= m_crSystem[SC_FRAME_HOVER_BOTTOM2\t];\n\t\tcrBottom3\t= m_crSystem[SC_FRAME_HOVER_BOTTOM3\t];\n\t\tbreak;\n\tcase STATE_DISABLED:\n\t\tbreak;\n\t}\n\n\t// fill background\n\tpDC->DrawFullRect(pRect, crBk);\n\n\t// draw bottom line\n\tpDC->DrawHLine(pRect->x, pRect->x+pRect->cx-1, pRect->y+pRect->cy-3, crBottom1);\n\tpDC->DrawHLine(pRect->x, pRect->x+pRect->cx-1, pRect->y+pRect->cy-2, crBottom2);\n\tpDC->DrawHLine(pRect->x, pRect->x+pRect->cx-1, pRect->y+pRect->cy-1, crBottom3);\n\n\t// draw left line\n\tpDC->DrawLine(pRect->x, pRect->y+2, pRect->x, pRect->y+pRect->cy-5, crLeft);\n\n\t// draw rignt line\n\tpDC->DrawLine(pRect->x+pRect->cx-1, pRect->y+2, pRect->x+pRect->cx-1, pRect->y+pRect->cy-5, crRight);\n}\n\nvoid CWispDrawObj::DrawProgress(CWispDC* pDC, WISP_RECT* pRect, UINT uStyle, int nPrecent)\n{\n\tint i;\n\t//\n\t// Frame\n\t//\n\tpDC->Draw3DRect(pRect, m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT\t], m_crSystem[SC_CTRL_NORMAL_BORDER_BOTTOMRIGHT]);\t  \n\n\t//pRect->DeflateRect(2, 2);\n\tpRect->x += 2;\n\tpRect->y += 2;\n\tpRect->cx -= 4;\n\tpRect->cy -= 4;\n\n\tCWispRect rcLine(*pRect);\n\trcLine.cx = pRect->cx*nPrecent/1000;\n\tif(rcLine.cx>0)\n\t{\n\t\tfor(i=0; i<6; i++)\n\t\t{\n\t\t\tif(rcLine.cy<=0)\n\t\t\t\tbreak;\n\t\t\tpDC->DrawHLine(rcLine.x, rcLine.x+rcLine.cx-1, rcLine.y, m_crSystem[SC_GRADIENT_GREEN_1+i]);\n\t\t\tpDC->DrawHLine(rcLine.x, rcLine.x+rcLine.cx-1, rcLine.y+rcLine.cy-1, m_crSystem[SC_GRADIENT_GREEN_1+i]);\n\t\t\trcLine.DeflateRect(0, 1);\n\t\t}\n\t\tpDC->DrawFullRect(&rcLine,  m_crSystem[SC_GRADIENT_GREEN_7]);\n\t\tfor(i=6; i<rcLine.cx; i+=7)\n\t\t\tpDC->DrawVLine(pRect->x+i, pRect->y, pRect->y+pRect->cy-1, m_crSystem[SC_CTRL_NORMAL_CLIENT_BG\t]);\n\t}\n}\n\nvoid CWispDrawObj::DrawSystemStandardIcon(CWispDC* pDC,const WISP_RECT* pRect, UINT uStyle, UINT State)\n{\n\tint nXOffset;\n\tint nYOffset;\n\n\t\n\tswitch(uStyle)\n\t{\n\tcase WISP_SSI_EXPANDBUTTON_COLLAPSE:\n\tcase WISP_SSI_EXPANDBUTTON_EXPAND:\n\t\t{\n\t\t\tnXOffset = (pRect->cx-WISP_SSI_EXPANDBUTTON_SIZE)/2;\n\t\t\tnYOffset = (pRect->cy-WISP_SSI_EXPANDBUTTON_SIZE)/2;\n\t\t\t// \n\t\t\tWISP_RECT\trect;\n\t\t\trect.x\t= pRect->x+nXOffset;\n\t\t\trect.y\t= pRect->y+nYOffset;\n\t\t\trect.cx\t= WISP_SSI_EXPANDBUTTON_SIZE;\n\t\t\trect.cy\t= WISP_SSI_EXPANDBUTTON_SIZE;\n\t\t\tpDC->DrawRect(&rect, m_crSystem[SC_STDICON_NORMAL_BORDER\t]);\n\n\t\t\t// Ӽ\n\t\t\tnXOffset+=2;\n\t\t\tnYOffset+=2;\n\t\t\tpDC->DrawHLine(pRect->x+nXOffset, pRect->x+nXOffset+(WISP_SSI_EXPANDBUTTON_SIZE-4-1), pRect->y+nYOffset+(WISP_SSI_EXPANDBUTTON_SIZE-4)/2, m_crSystem[SC_STDICON_NORMAL_BORDER\t\t]);\n\t\t\tif( uStyle==WISP_SSI_EXPANDBUTTON_COLLAPSE )\n\t\t\t{\n\t\t\t\tpDC->DrawVLine(pRect->x+nXOffset+(WISP_SSI_EXPANDBUTTON_SIZE-4)/2, pRect->y+nYOffset, pRect->y+nYOffset+(WISP_SSI_EXPANDBUTTON_SIZE-4-1), m_crSystem[SC_STDICON_NORMAL_BORDER\t\t]);\n\t\t\t}\n\t\t}\n\t\tbreak;\n\t\n\tcase WISP_SSI_REDIOBOX_UNSELECTED:\n\tcase WISP_SSI_REDIOBOX_SELECTED:\n\tcase WISP_SSI_REDIOBOX_SELECTED_DRAK:\n\tcase WISP_SSI_REDIOBOX_UNSELECTED_DRAK:\n\t\t{\n\t\t\tpDC->DrawHLine(pRect->x+4,pRect->x+7,pRect->y,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawHLine(pRect->x+4,pRect->x+7,pRect->y+11,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawHLine(pRect->x+2,pRect->x+9,pRect->y+1,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawHLine(pRect->x+2,pRect->x+9,pRect->y+10,m_crSystem[SC_BLACK]);\n\n\t\t\tpDC->DrawVLine(pRect->x,pRect->y+4,pRect->y+7,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawVLine(pRect->x+11,pRect->y+4,pRect->y+7,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawVLine(pRect->x+1,pRect->y+2,pRect->y+9,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawVLine(pRect->x+10,pRect->y+2,pRect->y+9,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+3,pRect->y+2,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+8,pRect->y+2,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+3,pRect->y+9,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+8,pRect->y+9,m_crSystem[SC_BLACK]);\n\n\t\t\tpDC->DrawPixel(pRect->x+2,pRect->y+3,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+2,pRect->y+8,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+9,pRect->y+3,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+9,pRect->y+8,m_crSystem[SC_BLACK]);\n\n\t\t\tpDC->DrawPixel(pRect->x+2,pRect->y+2,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+9,pRect->y+2,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+2,pRect->y+9,m_crSystem[SC_BLACK]);\n\t\t\tpDC->DrawPixel(pRect->x+9,pRect->y+9,m_crSystem[SC_BLACK]);\n\n\t\t\tif(uStyle==WISP_SSI_REDIOBOX_SELECTED||uStyle==WISP_SSI_REDIOBOX_SELECTED_DRAK)\n\t\t\t{\t\t\t\n\t\t\t\tpDC->DrawVLine(pRect->x+5,pRect->y+4,pRect->y+7,m_crSystem[SC_BLACK]);\n\t\t\t\tpDC->DrawVLine(pRect->x+6,pRect->y+4,pRect->y+7,m_crSystem[SC_BLACK]);\n\t\t\t\tpDC->DrawHLine(pRect->x+4,pRect->x+7,pRect->y+5,m_crSystem[SC_BLACK]);\n\t\t\t\tpDC->DrawHLine(pRect->x+4,pRect->x+7,pRect->y+6,m_crSystem[SC_BLACK]);\n\t\t\t}\n\t\t};\n\t\n\n\t\tbreak;\n\tcase WISP_SSI_CHECKBOX_UNCHECKED:\n\tcase WISP_SSI_CHECKBOX_CHECKED:\n\tcase WISP_SSI_CHECKBOX_SEMICHECKED:\n\tcase WISP_SSI_CHECKBOX_CHECKMARK:\n\t\t{\n\t\t\tnXOffset = (pRect->cx-WISP_SSI_CHECKBOX_SIZE)/2;\n\t\t\tnYOffset = (pRect->cy-WISP_SSI_CHECKBOX_SIZE)/2;\n\n\t\t\tif(uStyle<=WISP_SSI_CHECKBOX_SEMICHECKED)\n\t\t\t{\n\t\t\t\t// \n\t\t\t\tWISP_RECT\trect;\n\t\t\t\trect.x\t= pRect->x+nXOffset;\n\t\t\t\trect.y\t= pRect->y+nYOffset;\n\t\t\t\trect.cx\t= WISP_SSI_CHECKBOX_SIZE;\n\t\t\t\trect.cy\t= WISP_SSI_CHECKBOX_SIZE;\n\t\t\t\tpDC->DrawRect(&rect,  m_crSystem[SC_STDICON_NORMAL_BORDER\t]);\n\t\t\t}\n\n\t\t\t// semi selected, draw a small rectangle.\n\t\t\tif(uStyle==WISP_SSI_CHECKBOX_SEMICHECKED)\n\t\t\t{\n\t\t\t\tWISP_RECT\trect={pRect->x+nXOffset+3, pRect->y+nYOffset+3, WISP_SSI_CHECKBOX_SIZE-6, WISP_SSI_CHECKBOX_SIZE-6};\n\t\t\t\tpDC->DrawFullRect(&rect, m_crSystem[SC_STDICON_NORMAL_CHECKMARK\t]);\n\t\t\t}\n\n\t\t\t// draw a check mark.\n\t\t\tif(uStyle==WISP_SSI_CHECKBOX_CHECKED || uStyle==WISP_SSI_CHECKBOX_CHECKMARK)\n\t\t\t{\n\t\t\t\tnXOffset = (pRect->cx-7)/2;\n\t\t\t\tnYOffset = (pRect->cy-7)/2;\n\t\t\t\tfor(int i=0; i<3; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(pRect->x+nXOffset, pRect->y+nYOffset+2+i, pRect->x+nXOffset+2, pRect->y+nYOffset+4+i, m_crSystem[SC_STDICON_NORMAL_CHECKMARK\t]);\n\t\t\t\t\tpDC->DrawLine(pRect->x+nXOffset+2, pRect->y+nYOffset+4+i, pRect->x+nXOffset+6, pRect->y+nYOffset+i, m_crSystem[SC_STDICON_NORMAL_CHECKMARK\t]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WISP_SSI_VERT_INC_SPIN:\n\tcase WISP_SSI_VERT_DEC_SPIN:\n\tcase WISP_SSI_HORZ_INC_SPIN:\n\tcase WISP_SSI_HORZ_DEC_SPIN:\n\t\t{\n\t\t\tCWispRect rc(*pRect);\n\t\t\tCOLORREF crBkColor;\n\t\t\tswitch(State)\n\t\t\t{\n\t\t\tcase STATUS_NORMAL:\n\t\t\t\tcrBkColor = m_crSystem[SC_SCROLL_NORMAL_BUTTON];\n\t\t\t\tbreak;\n\t\t\tcase STATUS_HOVER:\n\t\t\t\tcrBkColor = m_crSystem[SC_SCROLL_HOVER_BUTTON];\n\t\t\t\tbreak;\n\t\t\tcase STATUS_DOWN:\n\t\t\t\tcrBkColor = m_crSystem[SC_SCROLL_DOWN_BUTTON];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpDC->DrawRect(&rc, crBkColor);\n\t\t\trc.DeflateRect(1, 1);\n\t\t\tpDC->DrawRect(&rc, m_crSystem[SC_WHITE]);\n\t\t\trc.DeflateRect(1, 1);\n\t\t\tpDC->DrawFullRect(&rc, crBkColor);\n\n\t\t\trc.DeflateRect(1, 2);\n\t\t\tint nHalf = rc.cy/2;\n\t\t\tswitch(uStyle)\n\t\t\t{\n\t\t\tcase WISP_SSI_HORZ_INC_SPIN:\n\t\t\t\tfor(int i=-1; i<1; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/4+i, rc.y+rc.cy/2-nHalf, rc.x+rc.cx/4+nHalf+i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/4+i, rc.y+rc.cy/2+nHalf, rc.x+rc.cx/4+nHalf+i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tfor(int i=2; i<4; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/4+i, rc.y+rc.cy/2-nHalf, rc.x+rc.cx/4+nHalf+i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/4+i, rc.y+rc.cy/2+nHalf, rc.x+rc.cx/4+nHalf+i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_SSI_HORZ_DEC_SPIN:\n\t\t\t\tfor(int i=-1; i<1; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x2()-rc.cx/4-i, rc.y+rc.cy/2-nHalf, rc.x2()-rc.cx/4-nHalf-i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x2()-rc.cx/4-i, rc.y+rc.cy/2+nHalf, rc.x2()-rc.cx/4-nHalf-i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tfor(int i=2; i<4; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x2()-rc.cx/4-i, rc.y+rc.cy/2-nHalf, rc.x2()-rc.cx/4-nHalf-i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x2()-rc.cx/4-i, rc.y+rc.cy/2+nHalf, rc.x2()-rc.cx/4-nHalf-i, rc.y+rc.cy/2, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_SSI_VERT_INC_SPIN:\n\t\t\t\tfor(int i=-1; i<1; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2-nHalf, rc.y+rc.cy/4+i, rc.x+rc.cx/2, rc.y+rc.cy/4+nHalf+i, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2+nHalf, rc.y+rc.cy/4+i, rc.x+rc.cx/2, rc.y+rc.cy/4+nHalf+i, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tfor(int i=2; i<4; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2-nHalf, rc.y+rc.cy/4+i, rc.x+rc.cx/2, rc.y+rc.cy/4+nHalf+i, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2+nHalf, rc.y+rc.cy/4+i, rc.x+rc.cx/2, rc.y+rc.cy/4+nHalf+i, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase WISP_SSI_VERT_DEC_SPIN:\n\t\t\t\tfor(int i=-1; i<1; i++)\n\t\t\t\t{\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2-nHalf, rc.y2()-rc.cy/4-i, rc.x+rc.cx/2, rc.y2()-rc.cy/4-nHalf-i, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2+nHalf, rc.y2()-rc.cy/4-i, rc.x+rc.cx/2, rc.y2()-rc.cy/4-nHalf-i, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tfor(int i=2; i<4; i++)\n\t\t\t\t{\t\t\t\t\t\t\t\t\t\t\t\t\t  \n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2-nHalf, rc.y2()-rc.cy/4-i, rc.x+rc.cx/2, rc.y2()-rc.cy/4-nHalf-i, m_crSystem[SC_BLUE]);\n\t\t\t\t\tpDC->DrawLine(rc.x+rc.cx/2+nHalf, rc.y2()-rc.cy/4-i, rc.x+rc.cx/2, rc.y2()-rc.cy/4-nHalf-i, m_crSystem[SC_BLUE]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WISP_SSI_CLOSE:\n\tcase WISP_SSI_MAXIMIZE:\n\tcase WISP_SSI_RESTORE:\n\tcase WISP_SSI_MINIMIZE:\n\t\t{\n\t\t\tCOLORREF color;\n\t\t\tswitch(State)\n\t\t\t{\n\t\t\tcase STATUS_NORMAL:\t// caption bar using dark color, so use DOWN color as NORMAL color.\n\t\t\t\tcolor =  m_crSystem[SC_STDICON_DOWN_BORDER];\n\t\t\t\tbreak;\n\t\t\tcase STATUS_HOVER:\n\t\t\t\tcolor =  m_crSystem[SC_STDICON_HOVER_BORDER\t];\n\t\t\t\tbreak;\n\t\t\tcase STATUS_DOWN:\n\t\t\t\tcolor =  m_crSystem[SC_STDICON_NORMAL_BORDER\t];\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tCWispRect rc(pRect);\n\t\t\t// Border\n\t\t\tpDC->DrawRoundRect(&rc, color);\n\t\t\t//rc.DeflateRect(1, 1);\n\t\t\t//pDC->DrawRect(&rc, color);\n\n\t\t\trc.DeflateRect(4, 4);\n\t\t\tif(uStyle==WISP_SSI_CLOSE)\n\t\t\t{\n\t\t\t\t// cross\n\t\t\t\tpDC->DrawLine(rc.x+1,\trc.y,\t\trc.x2(),\trc.y2()-1,\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x+1,\trc.y+1,\t\trc.x2()-1,\trc.y2()-1,\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x,\t\trc.y+1,\t\trc.x2()-1,\trc.y2(),\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x,\t\trc.y2()-1,\trc.x2()-1,\trc.y,\t\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x+1,\trc.y2()-1,\trc.x2()-1,\trc.y+1,\t\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x+1,\trc.y2(),\trc.x2(),\trc.y+1,\t\tcolor);\n\t\t\t}\n\t\t\telse if(uStyle==WISP_SSI_MINIMIZE)\n\t\t\t{\n\t\t\t\t// short line\n\t\t\t\tpDC->DrawLine(rc.x,\trc.y2()-2,\trc.x2(),\trc.y2()-2,\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x,\trc.y2()-1,\trc.x2(),\trc.y2()-1,\tcolor);\n\t\t\t\tpDC->DrawLine(rc.x,\trc.y2(),\trc.x2(),\trc.y2(),\tcolor);\n\t\t\t}\n\t\t\telse if(uStyle==WISP_SSI_MAXIMIZE)\n\t\t\t{\n\t\t\t\t// small rect\n\t\t\t\tpDC->DrawRect(&rc, color);\n\t\t\t\tpDC->DrawLine(rc.x+1, rc.y+1, rc.x2()-1, rc.y+1, color);\n\t\t\t\tpDC->DrawLine(rc.x+1, rc.y+2, rc.x2()-1, rc.y+2, color);\n\t\t\t}\n\t\t\telse if(uStyle==WISP_SSI_RESTORE)\n\t\t\t{\n\t\t\t\trc.DeflateRect(1, 1);\n\t\t\t\trc.OffsetRect(1, -1);\n\t\t\t\tpDC->DrawRect(&rc, color);\n\t\t\t\tpDC->DrawLine(rc.x+1, rc.y+1, rc.x2()-1, rc.y+1, color);\n\t//\t\t\tpDC->DrawLine(rc.x+1, rc.y+2, rc.x2()-1, rc.y+2, color);\n\n\t\t\t\trc.OffsetRect(-3, 4);\n\t\t\t\trc.cy --;\n\t\t\t\tpDC->DrawRect(&rc, color);\n\t\t\t\tpDC->DrawLine(rc.x+1, rc.y+1, rc.x2()-1, rc.y+1, color);\n\t//\t\t\tpDC->DrawLine(rc.x+1, rc.y+2, rc.x2()-1, rc.y+2, color);\n\t\t\t}\n\t\t}\n\t\tbreak;\n\t}\n}\n\nvoid CWispDrawObj::DrawCursor(WISP_POINT* pHotPT, CWispDC* pClipDC,UINT CursorType,CWispDIB*pDIB)\n{\n\tswitch(CursorType)\n\t{\n\tcase WISP_CT_ARROW:\n\t\tDrawCursorArrow(pClipDC,pHotPT);\n\t\tbreak;\n\tcase WISP_CT_DRAG_ARROW:\n\t\tDrawCursorDrag(pClipDC,pHotPT);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_VERT:\n\t\tDrawCursorResizeVert(pClipDC,pHotPT);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_HORZ:\n\t\tDrawCursorResizeHorz(pClipDC,pHotPT);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_LEFT_LEAN:\n\t\tDrawCursorResizeLeftLean(pClipDC,pHotPT);\n\t\tbreak;\n\tcase WISP_CT_RESIZE_RIGHT_LEAN:\n\t\tDrawCursorResizeRightLean(pClipDC,pHotPT);\n\t\tbreak;\n\tdefault:\n\t\tif(pDIB)\n\t\t\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,pDIB);\n\t\telse\n\t\t\tDrawCursorArrow(pClipDC,pHotPT);\n\t\tbreak;\n\t}\n}\n\n\nvoid CWispDrawObj::DrawCursorArrow(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tint x1,y1,x2,y2;\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 0;\n\t\tgpCurWisp->m_MouseHotPT.y = 0;\n\t\tgpCurWisp->m_MouseSize.cx = 16;\n\t\tgpCurWisp->m_MouseSize.cy = 16;\n\t\treturn;\n\t}\n\tx1 = pHotPT->x;\n\ty1 = pHotPT->y;\n\tx2 = pHotPT->x;\n\ty2 = pHotPT->y+15;\n\tfor(int i=0; i<3; i++)\n\t{\n\t\tint a1 = x1, b1=y1, a2=x2, b2=y2;\n\t\t\tpClipDC->DrawVLine(a1, b1, b2, m_crSystem[SC_GRADIENT_GREEN_7-2*i]);\n\t\tx1+=1;\n\t\ty1+=1;\n\t\tx2+=1;\n\t\ty2-=1;\n\t}\n\n\tx1 = pHotPT->x;\n\ty1 = pHotPT->y;\n\tx2 = pHotPT->x+15;\n\ty2 = pHotPT->y+15;\n\tfor(int i=0; i<4; i++)\n\t{\n\t\tint a1 = x1, b1=y1, a2=x2, b2=y2;\n\t\t\tpClipDC->DrawLine(a1, b1, a2, b2, m_crSystem[SC_GRADIENT_GREEN_7-2*i]);\n\t\tx1+=1;\n\t\ty1+=2;\n\t\tx2-=2;\n\t\ty2-=1;\n\t}\n\n\tx1 = pHotPT->x+15;\n\ty1 = pHotPT->y+15;\n\tx2 = pHotPT->x+2;\n\ty2 = pHotPT->y+11;\n\tfor(int i=0; i<1; i++)\n\t{\n\t\tpClipDC->DrawLine(x1, y1, x2, y2, m_crSystem[SC_GRADIENT_GREEN_7-i]);\n\t\t//x1+=1;\n\t\ty1-=1;\n\t\tx2-=1;\n\t\ty2-=1;\n\t}\n}\nvoid CWispDrawObj::DrawCursorDrag(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\treturn;\n\tint x1,y1,x2,y2;\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 0;\n\t\tgpCurWisp->m_MouseHotPT.y = 0;\n\t\tgpCurWisp->m_MouseSize.cx = 16;\n\t\tgpCurWisp->m_MouseSize.cy = 16;\n\t\treturn;\n\t}\n\tx1 = pHotPT->x;\n\ty1 = pHotPT->y;\n\tx2 = pHotPT->x;\n\ty2 = pHotPT->y+15;\n\tfor(int i=0; i<3; i++)\n\t{\n\t\tint a1 = x1, b1=y1, a2=x2, b2=y2;\n\t\tpClipDC->DrawVLine(a1, b1, b2, m_crSystem[SC_GRADIENT_GREEN_7-2*i]);\n\t\tx1+=1;\n\t\ty1+=1;\n\t\tx2+=1;\n\t\ty2-=1;\n\t}\n\n\tx1 = pHotPT->x;\n\ty1 = pHotPT->y;\n\tx2 = pHotPT->x+15;\n\ty2 = pHotPT->y+15;\n\tfor(int i=0; i<4; i++)\n\t{\n\t\tint a1 = x1, b1=y1, a2=x2, b2=y2;\n\t\tpClipDC->DrawLine(a1, b1, a2, b2, m_crSystem[SC_GRADIENT_GREEN_7-2*i]);\n\t\tx1+=1;\n\t\ty1+=2;\n\t\tx2-=2;\n\t\ty2-=1;\n\t}\n\n\tx1 = pHotPT->x+15;\n\ty1 = pHotPT->y+15;\n\tx2 = pHotPT->x+2;\n\ty2 = pHotPT->y+11;\n\tfor(int i=0; i<1; i++)\n\t{\n\t\tpClipDC->DrawLine(x1, y1, x2, y2, m_crSystem[SC_GRADIENT_GREEN_7-i]);\n\t\t//x1+=1;\n\t\ty1-=1;\n\t\tx2-=1;\n\t\ty2-=1;\n\t}\n}\nvoid CWispDrawObj::DrawCursorResizeVert(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 6;\n\t\tgpCurWisp->m_MouseHotPT.y = 7;\n\t\tgpCurWisp->m_MouseSize.cx = 13;\n\t\tgpCurWisp->m_MouseSize.cy = 15;\n\t\treturn;\n\t}\n\tpClipDC->DrawLine(pHotPT->x-2,pHotPT->y-4, pHotPT->x, pHotPT->y-6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-2,pHotPT->y-5, pHotPT->x, pHotPT->y-7, m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x+2,pHotPT->y-4, pHotPT->x, pHotPT->y-6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+2,pHotPT->y-5, pHotPT->x, pHotPT->y-7, m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawVLine(pHotPT->x-1,pHotPT->y-6, pHotPT->y+6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawVLine(pHotPT->x,  pHotPT->y-7,pHotPT->y+7,m_crSystem[SC_GRADIENT_GREEN_2]);\n\tpClipDC->DrawVLine(pHotPT->x+1,pHotPT->y-6, pHotPT->y+6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x-2,pHotPT->y+4, pHotPT->x, pHotPT->y+6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-2,pHotPT->y+5, pHotPT->x, pHotPT->y+7, m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x+2,pHotPT->y+4, pHotPT->x, pHotPT->y+6, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+2,pHotPT->y+5, pHotPT->x, pHotPT->y+7, m_crSystem[SC_GRADIENT_GREEN_5]);\n}\n\nvoid CWispDrawObj::DrawCursorResizeHorz(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 7;\n\t\tgpCurWisp->m_MouseHotPT.y = 6;\n\t\tgpCurWisp->m_MouseSize.cx = 15;\n\t\tgpCurWisp->m_MouseSize.cy = 13;\n\t\treturn;\n\t}\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y-2,pHotPT->x-6,pHotPT->y, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-5,pHotPT->y-2,pHotPT->x-7,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y+2,pHotPT->x-6,pHotPT->y, m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-5,pHotPT->y+2,pHotPT->x-7,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawHLine(pHotPT->x-6,pHotPT->x+6,pHotPT->y-1,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawHLine(pHotPT->x-7,pHotPT->x+7,pHotPT->y  ,m_crSystem[SC_GRADIENT_GREEN_2]);\n\tpClipDC->DrawHLine(pHotPT->x+6,pHotPT->x-6,pHotPT->y+1,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x+4,pHotPT->y-2,pHotPT->x+6,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+5,pHotPT->y-2,pHotPT->x+7,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x+4,pHotPT->y+2,pHotPT->x+6,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+5,pHotPT->y+2,pHotPT->x+7,pHotPT->y,m_crSystem[SC_GRADIENT_GREEN_5]);\n}\n\nvoid CWispDrawObj::DrawCursorResizeLeftLean(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 6;\n\t\tgpCurWisp->m_MouseHotPT.y = 6;\n\t\tgpCurWisp->m_MouseSize.cx = 11;\n\t\tgpCurWisp->m_MouseSize.cy = 11;\n\t\treturn;\n\t}\n\tpClipDC->DrawLine(pHotPT->x-5,pHotPT->y-5,pHotPT->x-5,pHotPT->y  ,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-5,pHotPT->y-5,pHotPT->x  ,pHotPT->y-5,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x-3,pHotPT->y-4,pHotPT->x+4,pHotPT->y+3,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y-4,pHotPT->x+4,pHotPT->y+4,m_crSystem[SC_GRADIENT_GREEN_2]);\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y-3,pHotPT->x+3,pHotPT->y+4,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x  ,pHotPT->y+5,pHotPT->x+5,pHotPT->y+5,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+5,pHotPT->y  ,pHotPT->x+5,pHotPT->y+5,m_crSystem[SC_GRADIENT_GREEN_5]);\n}\n\nvoid CWispDrawObj::DrawCursorResizeRightLean(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT.x = 6;\n\t\tgpCurWisp->m_MouseHotPT.y = 6;\n\t\tgpCurWisp->m_MouseSize.cx = 11;\n\t\tgpCurWisp->m_MouseSize.cy = 11;\n\t\treturn;\n\t}\n\tpClipDC->DrawLine(pHotPT->x  ,pHotPT->y-5,pHotPT->x+5,pHotPT->y-5,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x+5,pHotPT->y  ,pHotPT->x+5,pHotPT->y-5,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x-3,pHotPT->y+4,pHotPT->x+4,pHotPT->y-3,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y+4,pHotPT->x+4,pHotPT->y-4,m_crSystem[SC_GRADIENT_GREEN_2]);\n\tpClipDC->DrawLine(pHotPT->x-4,pHotPT->y+3,pHotPT->x+3,pHotPT->y-4,m_crSystem[SC_GRADIENT_GREEN_5]);\n\n\tpClipDC->DrawLine(pHotPT->x-5,pHotPT->y  ,pHotPT->x-5,pHotPT->y+5,m_crSystem[SC_GRADIENT_GREEN_5]);\n\tpClipDC->DrawLine(pHotPT->x  ,pHotPT->y+5,pHotPT->x-5,pHotPT->y+5,m_crSystem[SC_GRADIENT_GREEN_5]);\n}\n\nvoid CWispDrawObj::DrawListColumnTitleBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tDrawToolbarBK(pClipDC,pRc);\n}\n\n\nvoid CWispDrawObj::DrawListSelectedItemBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tpClipDC->DrawFullRect(pRc,m_crSystem[SC_CTRL_SELECTED_BG]);\n}\n\n\nvoid CWispDrawObj::DrawMenuIconSpaceBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tpClipDC->DrawFullRect(pRc,m_crSystem[SC_MENU_BG]);\n}\n\nvoid CWispDrawObj::DrawMenuBK(CWispDC*pClipDC,WISP_RECT*pRc,UINT Status)\n{\t\n\tif(Status==STATUS_HOVER)\n\t\tpClipDC->DrawFullRect(pRc,m_crSystem[SC_CTRL_HOVER_BG]);\n\telse\n\t\tpClipDC->DrawFullRect(pRc,m_crSystem[SC_MENU_BG]);\n}\n\nvoid CWispDrawObj::DrawMenuString(CWispDC*pClipDC,WISP_RECT*pRc,WISP_PCSTR String,UINT Status)\n{\n\tpClipDC->DrawShadowString(pRc,String);\n}\n\n\nvoid CWispDrawObj::DrawMenuTopFrame(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tDrawMenuIconSpaceBK(pClipDC,pRc);\n}\n\nvoid CWispDrawObj::DrawMenuBottomFrame(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tDrawMenuIconSpaceBK(pClipDC,pRc);\t\n}\n\nCWispDIBDrawObj::CWispDIBDrawObj()\n{\n\tm_szSkinDir = \"\\\\Skin\\\\Default\";\n}\n\nCWispDIBDrawObj::~CWispDIBDrawObj()\n{\n}\n\nbool CWispDIBDrawObj::Init()\n{\n\tchar szBuffer[MAX_FN_LEN];\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\VertInc.bmp\");\n\tm_DIBVertIncSpin.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\VertDec.bmp\");\n\tm_DIBVertDecSpin.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\HorzInc.bmp\");\n\tm_DIBHorzIncSpin.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\HorzDec.bmp\");\n\tm_DIBHorzDecSpin.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\Min.bmp\");\n\tm_DIBMin.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\Max.bmp\");\n\tm_DIBMax.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\Normal.bmp\");\n\tm_DIBRestore.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\Close.bmp\");\n\tm_DIBClose.Load(szBuffer,16,16,4);\n\tTStrCpy(szBuffer,m_szSkinDir);\n\tTStrCat(szBuffer,\"\\\\RedioBox.bmp\");\n\tm_DIBRedioBoxIcon.Load(szBuffer,13,13,6);\n\tm_DIBRedioBoxIcon.SetType(WISP_DIB_TK);\n\n\tm_DIBArrow.Load(\"\\\\Cursor\\\\Arrow.bmp\");\n\tm_DIBArrow.SetType(WISP_DIB_TK);\n\n\tm_DIBDrag.Load(\"\\\\Cursor\\\\Drag.bmp\");\n\tm_DIBDrag.SetType(WISP_DIB_TK);\n\tm_DIBDrag.SetHotPoint(m_DIBDrag.m_FrameBuffer.Width/2,m_DIBDrag.m_FrameBuffer.Height/2);\n\n\tm_DIBHResize.Load(\"\\\\Cursor\\\\HResize.bmp\");\n\tm_DIBHResize.SetType(WISP_DIB_TK);\n\tm_DIBHResize.SetHotPoint(m_DIBHResize.m_FrameBuffer.Width/2,m_DIBHResize.m_FrameBuffer.Height/2);\n\n\tm_DIBVResize.Load(\"\\\\Cursor\\\\VResize.bmp\");\n\tm_DIBVResize.SetType(WISP_DIB_TK);\n\tm_DIBVResize.SetHotPoint(m_DIBVResize.m_FrameBuffer.Width/2,m_DIBVResize.m_FrameBuffer.Height/2);\n\n\tm_DIBLResize.Load(\"\\\\Cursor\\\\LResize.bmp\");\n\tm_DIBLResize.SetType(WISP_DIB_TK);\n\tm_DIBLResize.SetHotPoint(m_DIBLResize.m_FrameBuffer.Width/2,m_DIBLResize.m_FrameBuffer.Height/2);\n\n\tm_DIBRResize.Load(\"\\\\Cursor\\\\RResize.bmp\");\n\tm_DIBRResize.SetType(WISP_DIB_TK);\n\tm_DIBRResize.SetHotPoint(m_DIBRResize.m_FrameBuffer.Width/2,m_DIBRResize.m_FrameBuffer.Height/2);\n\n\tgpCurWisp->m_MouseHotPT = m_DIBArrow.m_HotPT;\n\tgpCurWisp->m_MouseSize.cx = m_DIBArrow.m_FrameBuffer.Width;\n\tgpCurWisp->m_MouseSize.cy = m_DIBArrow.m_FrameBuffer.Height;\n\treturn true;\n}\n\nvoid CWispDIBDrawObj::Release()\n{\n\tm_DIBVertIncSpin.Destroy();\n\tm_DIBVertDecSpin.Destroy();\n\tm_DIBHorzIncSpin.Destroy();\n\tm_DIBHorzDecSpin.Destroy();\n\tm_DIBMin.Destroy();\n\tm_DIBMax.Destroy();\n\tm_DIBRestore.Destroy();\n\tm_DIBClose.Destroy();\n\tm_DIBArrow.Destroy();\n\tm_DIBRedioBoxIcon.Destroy();\n\tm_DIBHResize.Destroy();\n\tm_DIBVResize.Destroy();\n\tm_DIBLResize.Destroy();\n\tm_DIBRResize.Destroy();\n}\n\nvoid CWispDIBDrawObj::DrawBorder(CWispDC*pDC,WISP_RECT*pRect,int Size)\n{\n\tCOLORREF Color;\n\tCWispWnd*pWnd=(CWispWnd*)pDC->m_pWispWnd;\n\tfor(int l=Size-1;l>=0;l--)\n\t{\n\t\tColor=GRAY_CHG(m_crSystem[SC_BORDER_BG],3,Size-l+1);\n\t\tpDC->DrawVLine(pRect->x+l,pRect->y+l,pRect->y+pRect->cy-1-l,Color);\n\t\tpDC->DrawVLine(pRect->x+pRect->cx-1-l,pRect->y+l,pRect->y+pRect->cy-1-l,Color);\n\t\tColor=GRAY_CHG(m_crSystem[SC_BORDER_BG],3,Size-l+1);\n\t\tpDC->DrawHLine(pRect->x+l,pRect->x+pRect->cx-1-l,pRect->y+l,Color);\n\t\tpDC->DrawHLine(pRect->x+l,pRect->x+pRect->cx-1-l,pRect->y+pRect->cy-1-l,Color);\n\t}\n}\n\nvoid CWispDIBDrawObj::DrawCaption(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawMiddleYGrayChgFullRect(m_crSystem[SC_CAPTION_BG],m_crSystem[SC_CAPTION_LIGHT_BG],pRect);\n}\n\nvoid CWispDIBDrawObj::DrawToolbarBK(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tpDC->DrawMiddleYGrayChgFullRect(WISP_RGB(172,214,255),WISP_RGB(62,158,255),pRect);\n}\n\nvoid CWispDIBDrawObj::DrawSystemStandardIcon(CWispDC* pDC,const WISP_RECT* pRect, UINT uStyle, UINT State)\n{\n\tswitch(uStyle)\n\t{\n\tcase WISP_SSI_VERT_INC_SPIN:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBVertIncSpin.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_VERT_DEC_SPIN:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBVertDecSpin.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_HORZ_INC_SPIN:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBHorzIncSpin.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_HORZ_DEC_SPIN:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBHorzDecSpin.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_MAXIMIZE:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBMax.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_MINIMIZE:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBMin.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_RESTORE:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBRestore.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_CLOSE:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBClose.GetDIB(State));\n\t\tbreak;\n\tcase WISP_SSI_REDIOBOX_UNSELECTED:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBRedioBoxIcon.GetDIB(0));\n\t\tbreak;\n\tcase WISP_SSI_REDIOBOX_UNSELECTED_DRAK:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBRedioBoxIcon.GetDIB(2));\n\t\tbreak;\n\tcase WISP_SSI_REDIOBOX_SELECTED:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBRedioBoxIcon.GetDIB(3));\n\t\tbreak;\n\tcase WISP_SSI_REDIOBOX_SELECTED_DRAK:\n\t\tpDC->DrawDIB(pRect->x,pRect->y,m_DIBRedioBoxIcon.GetDIB(5));\n\t\tbreak;\n\tdefault:\n\t\tCWispDrawObj::DrawSystemStandardIcon(pDC,pRect,uStyle,State);\n\t\tbreak;\n\t}\n}\n\nvoid CWispDIBDrawObj::DrawCursorArrow(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBArrow.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBArrow.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBArrow.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBArrow);\n}\nvoid CWispDIBDrawObj::DrawCursorDrag(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBDrag.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBDrag.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBDrag.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBDrag);\n}\nvoid CWispDIBDrawObj::DrawCursorResizeVert(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBVResize.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBVResize.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBVResize.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBVResize);\n}\n\nvoid CWispDIBDrawObj::DrawCursorResizeHorz(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBHResize.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBHResize.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBHResize.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBHResize);\n}\n\nvoid CWispDIBDrawObj::DrawCursorResizeLeftLean(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBLResize.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBLResize.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBLResize.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBLResize);\n}\n\nvoid CWispDIBDrawObj::DrawCursorResizeRightLean(CWispDC* pClipDC,WISP_POINT* pHotPT)\n{\n\tif(pClipDC==NULL)\n\t{\n\t\tgpCurWisp->m_MouseHotPT = m_DIBRResize.m_HotPT;\n\t\tgpCurWisp->m_MouseSize.cx = m_DIBRResize.m_FrameBuffer.Width;\n\t\tgpCurWisp->m_MouseSize.cy = m_DIBRResize.m_FrameBuffer.Height;\n\t\treturn;\n\t}\n\tpClipDC->DrawDIB(pHotPT->x,pHotPT->y,&m_DIBRResize);\t\n}\n\nvoid CWispDIBDrawObj::DrawSplitRect(CWispDC*pDC,WISP_RECT*pRect,bool bHorz)\n{\n\tCWispWnd*pWnd=(CWispWnd*)pDC->m_pWispWnd;\n\tif(bHorz)\n\t{\t\t\n\t\tpDC->DrawXGrayChgFullRect(pRect,m_crSystem[SC_BORDER_BG],4);\n\t}\n\telse\n\t{\n\t\tpDC->DrawYGrayChgFullRect(pRect,m_crSystem[SC_BORDER_BG],4);\n\t}\t\n}\n\nvoid CWispDIBDrawObj::DrawVertScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tCWispRect rc(pRect);\n\tpDC->DrawRoundRect(&rc, m_crSystem[SC_SCROLL_NORMAL_BUTTON]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawRect(&rc, m_crSystem[SC_WHITE]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawMiddleXGrayChgFullRect(m_crSystem[SC_SCROLL_SLIDE_DARK_BG],m_crSystem[SC_SCROLL_SLIDE_BG],&rc);\n\tif(rc.cy>=10)\n\t{\n\t\tfor(int i=0; i<8; i+=2)\n\t\t{\n\t\t\tpDC->DrawHLine( rc.x+2, rc.x2()-2, (rc.cy-8)/2+rc.y+i, m_crSystem[SC_LIGHT_GRAY]);\n\t\t\tpDC->DrawHLine( rc.x+2, rc.x2()-2, (rc.cy-8)/2+rc.y+i+1,  m_crSystem[SC_GRAY]);\n\t\t}\n\t}\n}\n\nvoid CWispDIBDrawObj::DrawHorzScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect)\n{\n\tCWispRect rc(pRect);\n\tpDC->DrawRoundRect(&rc, m_crSystem[SC_SCROLL_NORMAL_BUTTON]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawRect(&rc, m_crSystem[SC_WHITE]);\n\trc.DeflateRect(1, 1);\n\tpDC->DrawMiddleYGrayChgFullRect(m_crSystem[SC_SCROLL_SLIDE_DARK_BG],m_crSystem[SC_SCROLL_SLIDE_BG],&rc);\n\tif(rc.cx>=10)\n\t{\n\t\tfor(int i=0; i<8; i+=2)\n\t\t{\n\t\t\tpDC->DrawVLine( (rc.cx-8)/2+rc.x+i, rc.y+2, rc.y2()-2,  m_crSystem[SC_LIGHT_GRAY]);\n\t\t\tpDC->DrawVLine( (rc.cx-8)/2+rc.x+i+1, rc.y+2, rc.y2()-2,  m_crSystem[SC_GRAY]);\n\t\t}\n\t}\n}\n\nvoid CWispDIBDrawObj::DrawListColumnTitleBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tDrawToolbarBK(pClipDC,pRc);\n}\n\nvoid CWispDIBDrawObj::DrawListSelectedItemBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tpClipDC->DrawMiddleYGrayChgFullRect(m_crSystem[SC_CTRL_SELECTED_BG],m_crSystem[SC_CTRL_SELECTED_LIGHT_BG],pRc);\n}\n\nvoid CWispDIBDrawObj::DrawMenuIconSpaceBK(CWispDC* pClipDC,WISP_RECT*pRc)\n{\n\tCWispDrawObj::DrawMenuIconSpaceBK(pClipDC,pRc);\n}\n\nvoid CWispDIBDrawObj::DrawMenuBK(CWispDC* pClipDC,WISP_RECT*pRc,UINT Status)\n{\n\tif(Status==STATUS_HOVER)\n\t\tpClipDC->DrawMiddleYGrayChgFullRect(m_crSystem[SC_CTRL_HOVER_BG],m_crSystem[SC_CTRL_HOVER_LIGHT_BG],pRc);\n\telse\n\t\tpClipDC->DrawMiddleYGrayChgFullRect(m_crSystem[SC_MENU_BG],m_crSystem[SC_MENU_LIGHT_BG],pRc);\n}\n\nvoid CWispDIBDrawObj::DrawMenuString(CWispDC*pClipDC,WISP_RECT*pRc,WISP_PCSTR String,UINT Status)\n{\n\tif(Status==STATE_DISABLED)\n\t{\n\t\tpClipDC->SetTextColor(m_crSystem[SC_LIGHT_GRAY]);\n\t\tpClipDC->SetShadowTextColor(m_crSystem[SC_SHADOW_LIGHT]);\n\t\tpClipDC->DrawShadowString(pRc,String);\n\t\tpClipDC->RestoreTextColor();\n\t\tpClipDC->RestoreShadowTextColor();\n\t}\n\telse\n\t{\n\t\tpClipDC->DrawShadowString(pRc,String);\n\t}\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispDrawObj.h",
    "content": "#ifndef _WISP_DRAW_OBJ_H_\n#define _WISP_DRAW_OBJ_H_\n\nclass CWispDC;\n\nenum SYSTEM_COLOR\n{\n\tSC_BLACK\t\t\t= 0,\n\tSC_WHITE\t\t\t,\n\tSC_RED\t\t\t\t,\n\tSC_LIGHT_RED\t\t,\n\tSC_GREEN\t\t\t,\n\tSC_LIGHT_GREEN\t\t,\n\tSC_BLUE\t\t\t\t,\n\tSC_LIGHT_BLUE\t\t,\n\tSC_BROWN\t\t\t,\n\tSC_LIGHT_BROWN\t\t,\n\tSC_CYAN\t\t\t\t,\n\tSC_LIGHT_CYAN\t\t,\n\tSC_GRAY\t\t\t\t,\n\tSC_LIGHT_GRAY\t\t,\n\tSC_YELLOW\t\t\t,\n\tSC_LIGHT_YELLOW\t\t,//15\n\tSC_ORANGE_RED\t\t,\n\tSC_LIGHT_ORANGE_RED ,\n\tSC_DESKTOP_BG\t\t, // \n\tSC_DISABLE_BG\t\t, // \n\tSC_CLIENT_BG\t\t, // \n\tSC_CLIENT_TEXT\t\t, // \n\tSC_CAPTION_TEXT\t\t, // \n\tSC_CAPTION_BG\t\t, // \n\tSC_CAPTION_LIGHT_BG\t, // \n\tSC_SELECT_BG\t\t, // \n\tSC_SCROLL_SLIDE_BG\t, //\n\tSC_SCROLL_SLIDE_DARK_BG\t,//\n\tSC_BORDER_BG\t\t, // \n\tSC_BRIGHT\t\t\t, // \n\tSC_SHADOW\t\t\t, // \n\tSC_SHADOW_LIGHT\t\t, // \n\tSC_SCROLL_BG\t\t, // \n\tSC_SCROLL_BT_BG\t\t, // \n\tSC_CURSOR\t\t\t,\n\n\t// all ctrls\n\tSC_CTRL_NORMAL_BORDER_TOPLEFT\t\t,\n\tSC_CTRL_NORMAL_BORDER_BOTTOMRIGHT\t,\n\tSC_CTRL_NORMAL_DARK_BORDER\t\t\t,\t// CheckBox߿ɫButton߿ɫ\n\tSC_CTRL_NORMAL_CLIENT_BG\t\t\t,\n\tSC_CTRL_NORMAL_DARK_CLIENT_BG\t\t,\t// ButtonδʱTabǼʱ\n\tSC_CTRL_NORMAL_DARK_CLIENT_BG2\t\t,\t// Buttonʱ\n\tSC_CTRL_SELECTED_BG\t\t,\n\tSC_CTRL_SELECTED_LIGHT_BG,\n\tSC_CTRL_HOVER_BG\t\t,\n\tSC_CTRL_HOVER_LIGHT_BG\t,\n\tSC_CTRL_SELECTED_TEXT\t,\n\tSC_CTRL_NORMAL_TEXT\t\t,\n\tSC_CTRL_HOVER_TEXT\t\t,\n\tSC_CTRL_NORMAL_FOCUS\t,\n\tSC_CTRL_HOVER_FOCUS\t\t,\n\n\tSC_MENU_BG\t\t,\n\tSC_MENU_LIGHT_BG,\n\tSC_MENU_BORDER\t,\n\tSC_STDICON_NORMAL_BORDER\t,\t// ׼ͼ߿򣬰Listеťѡť,close,minimaize,maxmize\n\tSC_STDICON_HOVER_BORDER\t\t,\n\tSC_STDICON_DOWN_BORDER\t\t,\n\tSC_STDICON_NORMAL_CHECKMARK\t,\t// CheckBoxȿؼйɫ\n\tSC_STDICON_NORMAL_PLUS\t\t,\t// CheckBoxȿؼмӼŵɫ\n\tSC_SCROLL_NORMAL_BUTTON\t\t,\n\tSC_SCROLL_HOVER_BUTTON\t\t,\n\tSC_SCROLL_DOWN_BUTTON\t\t,\n\n\tSC_FRAME_NORMAL_BG\t\t, // Header\n\tSC_FRAME_NORMAL_LEFT\t, // \n\tSC_FRAME_NORMAL_RIGHT\t, // \n\tSC_FRAME_NORMAL_BOTTOM1\t, // \n\tSC_FRAME_NORMAL_BOTTOM2\t, // \n\tSC_FRAME_NORMAL_BOTTOM3\t, // \n\tSC_FRAME_HOVER_BG\t\t, // \n\tSC_FRAME_HOVER_BOTTOM1\t, // \n\tSC_FRAME_HOVER_BOTTOM2\t, // \n\tSC_FRAME_HOVER_BOTTOM3\t, // \n\n\tSC_GRADIENT_GREEN_1\t\t, // Progress, Cursor\n\tSC_GRADIENT_GREEN_2\t\t, // \n\tSC_GRADIENT_GREEN_3\t\t, // \n\tSC_GRADIENT_GREEN_4\t\t, // \n\tSC_GRADIENT_GREEN_5\t\t, // \n\tSC_GRADIENT_GREEN_6\t\t, // \n\tSC_GRADIENT_GREEN_7\t\t, // \n\n\tSC_GRADIENT_YELLOW,\n\tSC_GRADIENT_YELLOW_1\t, // Button, Header, Tab\n\tSC_GRADIENT_YELLOW_2\t, // \n\tSC_GRADIENT_YELLOW_3\t, // \n\n\tSC_GRADIENT_BULE_1\t\t, // Caption\n\tSC_GRADIENT_BULE_2\t\t,\n\tSC_GRADIENT_BULE_3\t\t,\n\tSC_GRADIENT_BULE_4\t\t,\n\tSC_GRADIENT_BULE_5\t\t,\n\tSC_GRADIENT_BULE_6\t\t,\n\tSC_GRADIENT_BULE_7\t\t,\n\tSC_GRADIENT_BULE_8\t\t,\n\n\tSC_RAV_1\t\t\t\t,\n\tSC_RAV_2\t\t\t\t,\n\tSC_RAV_3\t\t\t\t,\n\tSC_RAV_4\t\t\t\t,\n\tSC_RAV_5\t\t\t\t,\n\tSC_UNNAMED_1\t\t\t,\n\tSC_UNNAMED_2\t\t\t,\n\tSC_UNNAMED_3\t\t\t,\n\tSC_UNNAMED_4\t\t\t,\n\tSC_UNNAMED_5\t\t\t,\n\tSC_UNNAMED_6\t\t\t,\n\tSC_UNNAMED_7\t\t\t,\n\tSC_UNNAMED_8\t\t\t,\n\tSC_UNNAMED_9\t\t\t,\n\tSC_UNNAMED_10\t\t\t,\n\tSC_UNNAMED_11\t\t\t,\n\tSC_UNNAMED_12\t\t\t,\n\tSC_UNNAMED_13\t\t\t,\n\tSC_UNNAMED_14\t\t\t,\n\tSC_UNNAMED_15\t\t\t,\n\tSC_UNNAMED_16\t\t\t,\n\tSC_UNNAMED_17\t\t\t,\n\tSC_UNNAMED_18\t\t\t,\n\tSC_UNNAMED_19\t\t\t,\n\tSC_UNNAMED_20\t\t\t,\n\tSC_UNNAMED_21\t\t\t,\n\tMAX_SYSTEM_COLOR\n};\n\n#define \tSC_GRADIENT_GREEN_BEGIN\t\tSC_GRADIENT_GREEN_1\n#define \tSC_GRADIENT_GREEN_END\t\tSC_GRADIENT_GREEN_7\n\n#define \tSC_GRADIENT_BLUE_BEGIN\t\tSC_GRADIENT_BULE_1\n#define \tSC_GRADIENT_BLUE_END\t\tSC_GRADIENT_BULE_8\n\nclass CWispDrawObj\n{\npublic:\n\tCWispDrawObj();\n\tvirtual ~CWispDrawObj();\n\tCOLORREF\tm_crSystem[MAX_SYSTEM_COLOR];\npublic:\n\tvirtual bool Init();\n\tvirtual void Release();\n\tvirtual void InitSystemColor();\n\tvirtual void DrawBorder(CWispDC*pDC,WISP_RECT*pRect,int nSize);\n\tvirtual void DrawCaption(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawToolbarBK(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawClient(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawCtrlBorder(CWispDC* pDC, WISP_RECT* pRect, int nSize);\n\tvirtual void DrawCtrlClient(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawCtrlStaticEdge(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawCtrlClientEdge(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawCtrlModalFrame(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawCtrlFocusRect(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawVertScrollRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawVertScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawHorzScrollRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawHorzScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawSplitRect(CWispDC*pDC,WISP_RECT*pRect,bool bHorz);\n\tvirtual void DrawButtonClient(CWispDC*pDC,WISP_RECT*pRect,UINT State);\n\tvirtual void DrawButtonFrameRect(CWispDC*pDC,WISP_RECT*pRect,UINT State);\n\tvirtual void DrawTabBackground(CWispDC* pDC, WISP_RECT* pRect);\n\tvirtual void DrawTabItem(CWispDC* pDC, WISP_RECT* pRect, UINT State);\n\tvirtual void DrawHeaderFrameRect(CWispDC*pDC,WISP_RECT*pRect,UINT State);\n\tvirtual void DrawProgress(CWispDC* pDC, WISP_RECT* pRect, UINT uStyle, int nPrecent);\n\tvirtual void DrawSystemStandardIcon(CWispDC* pDC,const WISP_RECT* pRect, UINT uStyle, UINT State=STATUS_NORMAL);\n\tvirtual void DrawCursorArrow(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawCursorDrag(CWispDC*pClipDC,WISP_POINT*pHotPT);\n\tvirtual void DrawCursorResizeVert(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawCursorResizeHorz(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawCursorResizeLeftLean(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawCursorResizeRightLean(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawListColumnTitleBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawListSelectedItemBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawMenuIconSpaceBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawMenuBK(CWispDC* pClipDC,WISP_RECT*pRc,UINT Status);\n\tvirtual void DrawMenuString(CWispDC* pClipDC,WISP_RECT*pRc,WISP_PCSTR String,UINT Status);\n\tvirtual void DrawMenuTopFrame(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawMenuBottomFrame(CWispDC* pClipDC,WISP_RECT*pRc);\npublic:\n\tvoid DrawCursor(WISP_POINT* pHotPT, CWispDC* pClipDC,UINT CursorType,CWispDIB*pDIB);\n};\n\nclass CWispDIBDrawObj : public CWispDrawObj\n{\npublic:\n\tCWispDIBDrawObj();\n\tvirtual ~CWispDIBDrawObj();\n\tCWispDIBList\tm_DIBVertIncSpin;\n\tCWispDIBList\tm_DIBVertDecSpin;\n\tCWispDIBList\tm_DIBHorzIncSpin;\n\tCWispDIBList\tm_DIBHorzDecSpin;\n\tCWispDIBList\tm_DIBClose;\n\tCWispDIBList\tm_DIBMin;\n\tCWispDIBList\tm_DIBMax;\n\tCWispDIBList\tm_DIBRestore;\n\tCWispDIBList\tm_DIBRedioBoxIcon;\n\tCWispDIB\t\tm_DIBArrow;\n\tCWispDIB\t\tm_DIBHResize;\n\tCWispDIB\t\tm_DIBVResize;\n\tCWispDIB\t\tm_DIBLResize;\n\tCWispDIB\t\tm_DIBRResize;\n\tCWispDIB\t\tm_DIBDrag;\n\tconst\tchar*\tm_szSkinDir;\npublic:\n\tvirtual bool Init();\n\tvirtual void Release();\n\tvirtual void DrawBorder(CWispDC*pDC,WISP_RECT*pRect,int nSize);\n\tvirtual void DrawCaption(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawToolbarBK(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawSystemStandardIcon(CWispDC* pDC,const WISP_RECT* pRect, UINT uStyle, UINT State);\n\tvirtual void DrawCursorArrow(CWispDC*pClipDC,WISP_POINT*pHotPT);\n\tvirtual void DrawCursorDrag(CWispDC*pClipDC,WISP_POINT*pHotPT);\n\tvirtual void DrawCursorResizeVert(CWispDC*pClipDC,WISP_POINT*pHotPT);\n\tvirtual void DrawCursorResizeHorz(CWispDC*pClipDC,WISP_POINT*pHotPT);\n\tvirtual void DrawSplitRect(CWispDC*pDC,WISP_RECT*pRect,bool bHorz);\n\tvirtual void DrawCursorResizeLeftLean(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawCursorResizeRightLean(CWispDC* pClipDC,WISP_POINT* pHotPT);\n\tvirtual void DrawVertScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawHorzScrollSlideRect(CWispDC*pDC,WISP_RECT*pRect);\n\tvirtual void DrawListColumnTitleBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawListSelectedItemBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawMenuIconSpaceBK(CWispDC* pClipDC,WISP_RECT*pRc);\n\tvirtual void DrawMenuBK(CWispDC* pClipDC,WISP_RECT*pRc,UINT Status);\n\tvirtual void DrawMenuString(CWispDC* pClipDC,WISP_RECT*pRc,WISP_PCSTR String,UINT Status);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispEdit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispEdit.h\"\n\nWISP_MSG_MAP_BEGIN(CWispEdit)\n\tWISP_MSG_MAP(WISP_WM_CHAR,OnChar)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_BORDER,OnUpdateBorder)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent);\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_LOST_FOCUS,OnLostFocus)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispEdit)\n\tWISP_MSG_EVENT_MAP(WISP_ID_COPY,OnEventCopy)\n\tWISP_MSG_EVENT_MAP(WISP_ID_PASTE,OnEventPaste)\nWISP_MSG_EVENT_MAP_END\n\n\nbool CWispEdit::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_crCaret = SYS_COLOR[SC_BLACK];\n\treturn true;\n}\n\nbool CWispEdit::OnGetFocus(IN WISP_MSG* pMsg)\n{\n\tWISP_CHAR *pData = m_WndText;\n\tSendCmdMsg(WISP_CMD_EN_SETFOCUS,0,pData);\n\treturn true;\n}\nbool CWispEdit::OnLostFocus(IN WISP_MSG*pMsg)\n{\n\tWISP_CHAR *pData = m_WndText;\n\tSendCmdMsg(WISP_CMD_EN_KILLFOCUS,0,pData);\n\tif(m_CurrentInputStat==SELECT_STATE)\n\t{\n\t\tm_CurrentInputStat=EDIT_STATE;\n\t\tm_bSelectFlag=false;\n\t}\n\treturn true;\n}\nbool CWispEdit::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tif(m_CurrentInputStat==SELECT_STATE)\n\t{\n\t\tif(pMsg->bMsgLBTDown)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\tm_CurrentInputStat=EDIT_STATE;\n\t\tm_bSelectFlag=false;\n\t\treturn true;\n\t}\n\treturn true;\n}\nbool CWispEdit::OnMouseEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown == false)\n\t\treturn OnMouseLeftButtonUp(pMsg);\n\telse\n\t\treturn OnMouseLeftButtonDown(pMsg);\n\treturn true;\n}\n\nbool CWispEdit::OnMouseLeftButtonUp(IN WISP_MSG*pMsg)\n{\n\tint index;\n\tWISP_POINT point,CaretPosPT;\n\tif(m_bSelectFlag)\n\t{\n\t\tGetCaretPos(&CaretPosPT);\n\t\tindex = GetCharIndexByPoint(pMsg->MsgMouseWndPT,point);\n\t\tif(index!=m_CurrentCaretHot)\n\t\t{\n\t\t\tSetCaretPos(point.x,CaretPosPT.y);\n\t\t}\n\t\tm_CurrentCaretHot=index;\n\t\tm_SelectEnd=index;\t\t\t\t\n\t\tUpdate();\n\t}\n\tm_CurrentInputStat=EDIT_STATE;\n\treturn true;\n}\n\nbool CWispEdit::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tint index;\n\tWISP_POINT point,CaretPosPT;\n\tif(pMsg->bMsgLBTDown==false)\n\t\treturn true;\n\n\tGetCaretPos(&CaretPosPT);\n\tindex = GetCharIndexByPoint(pMsg->MsgMouseWndPT,point);\n\tm_SelectRect.y = CaretPosPT.y;\n\tif(point.x > CaretPosPT.x)\n\t{\n\t\tm_SelectRect.x = CaretPosPT.x;\n\t\tm_SelectRect.cx = point.x-CaretPosPT.x;\n\t}\n\telse\n\t{\n\t\tm_SelectRect.x = point.x;\n\t\tm_SelectRect.cx = CaretPosPT.x-point.x;\n\t}\n\tm_SelectRect.cy = 12;\n\tm_SelectEnd=index;\n\n\tif(m_SelectBegin!=index)\n\t{\n\t\tif((m_Style&WISP_ES_READONLY)==0)\n\t\t\tm_bSelectFlag=true;\n\t}\n\telse\n\t{\n\t\tm_bSelectFlag=false;\n\t}\n\tUpdate();\n\treturn true;\n}\nbool CWispEdit::OnMouseLeftButtonDown(IN WISP_MSG*pMsg)\n{\n\tint index;\n\tWISP_POINT point,CaretPosPT;\n\t\n\tif(m_bSelectFlag)\n\t\tm_bSelectFlag=false;\n\tGetCaretPos(&CaretPosPT);\n\tindex = GetCharIndexByPoint(pMsg->MsgMouseWndPT,point);\t\t\t\n\tif(index!=m_CurrentCaretHot)\n\t{\n\t\tSetCaretPos(point.x,CaretPosPT.y);\n\t}\n\tm_CurrentCaretHot=index;\n\tm_SelectBegin=index;\t\t\n\tm_SelectEnd=index;\n\tm_CurrentInputStat=SELECT_STATE;\n\tUpdate();\t\n\treturn true;\n}\nint CWispEdit::GetCharIndexByPoint(WISP_POINT point,WISP_POINT& retpoint)\n{\n\tint x,i;\n\tint CurCharWidth=0;\n\t\n\tx = m_CurrentShowRect.x;\t\n\tfor(i = 0; i < m_WndText.m_Length;i++)\n\t{\n\t\tCurCharWidth=m_ClientDC.GetTextExtent(m_WndText+i,1);\n\t\tx += CurCharWidth;\n\t\tif(x > point.x)\n\t\t\tbreak;\t\n\t}\t\n\tif(x > point.x)\t\n\t\tretpoint.x = x-CurCharWidth;\n\telse\n\t\tretpoint.x = x;\n\tretpoint.y=point.y;\n\treturn i;\n}\n\n\nbool CWispEdit::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tUINT key;\n\tWISP_MSG Msg;\n\tbool Down;\n\tif(m_Style&WISP_ES_READONLY)\n\t\treturn true;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON || pMsg->KeyEvent.KeyType == WISP_VK_RBUTTON)\n\t\treturn OnMouseEvent(pMsg);\n\tDown = pMsg->KeyEvent.bKeyDown;\n\tif(Down)\n\t{\n\t\tif(SendCmdMsg(WISP_CMD_EN_INPUT_KEY_DOWN,pMsg->KeyEvent.KeyType)==false)\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(SendCmdMsg(WISP_CMD_EN_INPUT_KEY_UP,pMsg->KeyEvent.KeyType)==false)\n\t\t\treturn false;\n\t\tif(pMsg->KeyEvent.KeyType==WISP_VK_SHIFT)\n\t\t{\n\t\t\tm_CurrentInputStat=EDIT_STATE;\n\t\t\tif(m_bSelectFlag)\n\t\t\t{\n\t\t\t\tm_SelectEnd=m_CurrentCaretHot;\t\t\t\t\n\t\t\t}\n\t\t\t//OutputDebugString(\"shift Up...\\n\");\n\t\t\tUpdate();\t\t\t\n\t\t}\n\t\treturn true;\n\t}\n\tkey=pMsg->KeyEvent.KeyType;\n\tswitch(key)\n\t{\t\n\tcase WISP_VK_SHIFT|WISP_MOD_SHIFT:\n\t\tif(Down)\n\t\t{\n\t\t\tif(m_CurrentInputStat!=SELECT_STATE)\n\t\t\t{\n\t\t\t\tm_CurrentInputStat=SELECT_STATE;\t\t\t\t\n\t\t\t\tm_SelectBegin=m_CurrentCaretHot;\t\t\n\t\t\t\tm_SelectEnd=m_CurrentCaretHot;\n\t\t\t}\n\t\t\t//OutputDebugString(\"shift down...\\n\");\n\t\t}\t\t\n\t\tUpdate();\n\t\treturn false;\n\t\t\n\tcase WISP_VK_A|WISP_MOD_CTRL:\t\t\n\t\tif(m_WndText.m_Length)\n\t\t\tSelectText(0,m_WndText.m_Length);\n\t\tUpdate();\n\t\treturn false;\n\t\t\n\tcase WISP_VK_V|WISP_MOD_CTRL:\n\tcase WISP_MOD_CTRL|WISP_VK_INSERT:\n\t\tMsg.hWnd = this;\n\t\tMsg.Msg = WISP_WM_EVENT;\n\t\tMsg.Command.CmdID = WISP_ID_PASTE;\n\t\tPOST_MSG(&Msg);\n\t\treturn false;\n\t\n\tcase WISP_MOD_SHIFT|WISP_VK_INSERT:\n\tcase WISP_VK_C|WISP_MOD_CTRL:\n\t\tMsg.hWnd = this;\n\t\tMsg.Msg = WISP_WM_EVENT;\n\t\tMsg.Command.CmdID = WISP_ID_COPY;\n\t\tPOST_MSG(&Msg);\n\t\treturn false;\n\t\t\n\tcase WISP_VK_LEFT|WISP_MOD_SHIFT:\n\tcase WISP_VK_LEFT|WISP_MOD_CTRL:\n\tcase WISP_VK_LEFT:\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_CONTROL])\n\t\t\tOnHomeKey(pMsg);\n\t\telse\n\t\t\tOnLeftKey(pMsg);\n\t\tbreak;\n\tcase WISP_VK_RIGHT|WISP_MOD_SHIFT:\n\tcase WISP_VK_RIGHT|WISP_MOD_CTRL:\n\tcase WISP_VK_RIGHT:\n\t\tif(m_pWispBase->m_KeyMap[WISP_VK_CONTROL])\n\t\t\tOnEndKey(pMsg);\n\t\telse\n\t\t\tOnRightKey(pMsg);\n\t\tbreak;\n\tcase WISP_VK_BACK:\n\t\tOnBackKey(pMsg);\n\t\tbreak;\n\tcase WISP_VK_HOME|WISP_MOD_SHIFT:\n\t\t\n\tcase WISP_VK_HOME:\n\t\tOnHomeKey(pMsg);\n\t\tbreak;\n\tcase WISP_VK_END|WISP_MOD_SHIFT:\n\n\tcase WISP_VK_END:\n\t\tOnEndKey(pMsg);\n\t\tbreak;\n\tcase WISP_VK_DELETE:\n\t\tOnDeleteKey(pMsg);\n\t\tbreak;\n\n\tdefault:\n\t\tbreak;\t\n\t}\n\tUpdate();\n\treturn true;\n}\n\nbool CWispEdit::IsInsertChar(WISP_CHAR wch)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tint nCharNum,nCurrentCharWidth,nCaretLineCharNum = 0;\n\tint nSelectWidth=0;\n\tnCurrentCharWidth = m_ClientDC.GetTextExtent(&wch,1);\n\tif(m_WndText.IsEmpty())\n\t\treturn true;\n\tif(m_Style & (WISP_ES_AUTOHSCROLL | WISP_ES_HSCROLL))\n\t\treturn true;\n\tif(m_bSelectFlag&& m_SelectBegin!=m_SelectEnd)\n\t{\n\t\tint a = MAX(m_SelectBegin,m_SelectEnd);\n\t\tint b = MIN(m_SelectBegin,m_SelectEnd);\n\t\tnSelectWidth = m_ClientDC.GetTextExtent(pData+b,a-b);\n\t}\n\tnCharNum = m_ClientDC.GetTextExtent(pData)-nSelectWidth;\n\treturn ((nCharNum + nCurrentCharWidth) <= m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width);\t\n}\n\nbool CWispEdit::OnChar(IN WISP_MSG*pMsg)\n{\n\tconst WISP_CHAR *pData;\n\tint nCurrentCharWidth,nStringWidth,nCharWidth,nCharWidth2;\n\tint k,l;\t\n\tWISP_POINT point;\n\tWISP_CHAR nKeyValue;\n\tif(m_Style&WISP_ES_READONLY)\n\t\treturn true;\n\t//if(m_CurrentInputStat==SELECT_STATE)\n\t///\treturn true;\n\tpData = m_WndText;\n\t\n\tnKeyValue = pMsg->Char.Char;\n\tif(nKeyValue == WISP_VK_BACK)\n\t{\n\t\tUpdate();\n\t\treturn false;\n\t}\n\tif(nKeyValue == WISP_VK_RETURN)\n\t{\n\t\tUpdate();\n\t\treturn false;\n\t}\n\tif(nKeyValue == '\\n')\n\t{\n\t\t\treturn false;\n\t\tif(IsInsertChar(nKeyValue))\n\t\t{\n\t\t\tInsertChar(&nKeyValue);\n\t\t\tUpdate();\n\t\t\tm_CurrentCaretHot++;\n\t\t}\n\t\n\t}\n\tnCurrentCharWidth = m_ClientDC.GetTextExtent(&nKeyValue,1);\n\tif(IsInsertChar(nKeyValue) == false)\n\t{\n\t\tUpdate();\n\t\treturn false;\n\t}\n\tInsertChar(&nKeyValue);\n\tnCharWidth = m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot+1);\n\tnCharWidth2 = m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot);\n\tnCurrentCharWidth = nCharWidth-nCharWidth2;\n\tGetCaretPos(&point);\n\tif(m_Style & WISP_ES_LEFT)\n\t{\t\t\t\n\t\tif(point.x + nCurrentCharWidth > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t\t{\n\t\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t\t\tif(m_Style & WISP_ES_AUTOHSCROLL)//\n\t\t\t{\n\t\t\t\tif(m_CurrentCaretHot != m_WndText.m_Length)\n\t\t\t\t\tpoint.x = (m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width) / 4 * 3;\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\t\t\n\t\t\tpoint.x += nCurrentCharWidth;\n\t\t}\n\t}\t\t\n\t\t\n\tpData=m_WndText;\n\tm_CurrentCaretHot++;\n\tl = GetCurrentLinePosition();\n\tk = GetLineWidth(&pData[m_CurrentCaretHot-l]);\n\tnStringWidth = m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot-l],k);\n\t\n\n\tif(nStringWidth < m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t{\n\t\tif(m_Style & WISP_ES_CENTER)\n\t\t\tpoint.x = (m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width - nStringWidth) / 2 + m_ClientDC.GetTextExtent(pData,m_CurrentCaretHot);\n\t\telse if(m_Style & WISP_ES_RIGHT)\n\t\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t}\n\n\tSetCaretPos(point.x,point.y);\n\tUpdateClient();\n\treturn false;\n}\n\nbool CWispEdit::SetWindowText(const WISP_CHAR* pString)\n{\t\n\tif(pString==NULL)\n\t\treturn false;\n\tm_WndText = pString;\n\tint x=0,y=0;\n\tif(!(m_Style & WISP_ES_MULTILINE))\n\t\ty = (m_ClientRect.cy - m_Caret.pDIB->m_FrameBuffer.Height)/2;\n\telse\n\t\ty = 0;\n\tm_CurrentStringLen = TStrLen(pString);\n\tif(m_Style & WISP_ES_CENTER)\n\t{\n\t\tm_CurrentLineCharIndex=m_CurrentStringLen/2;\n\t\tm_CurrentCaretHot=m_CurrentLineCharIndex;\n\t\tif(m_CurrentStringLen%2)\n\t\t\tx=(m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width-m_ClientDC.GetTextExtent(&pString[m_CurrentLineCharIndex],1))/2;\n\t\telse\n\t\t\tx=(m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)/2;\n\t}\n\telse\n\t{\n\t\tm_CurrentLineCharIndex=0;\n\t\tm_CurrentCaretHot=0;\n\t}\n\tSetCaretPos(x,y);\n\tUpdateClient();\n\treturn true;\n}\n\nbool CWispEdit::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CWispEdit::OnUpdateClient(IN WISP_MSG*pMsg)\n{\t\n\tWISP_POINT point;\n\tint nTmp = 0,nLineCurrentPosition = 0;\n\tint ShowBegin,ShowEnd;\n\tint len=0 ;\n\tWISP_RECT tempRc;\n\tShowBegin=0;\n\tShowEnd=0;\n\tif((m_Style&WISP_WS_BACK_TRANS)==0)\n\t{\n\t\tif( !(m_ParentWnd->m_CtrlType == WISP_CTRL_FORM && (m_Style & WISP_ES_READONLY)) )\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlClient(&m_WindowDC, &m_ClientRect);\n\t}\n\n\tif(m_WndText.IsEmpty())\n\t\treturn false;\n\tGetCaretPos(&point);\n\tif(!(m_Style & WISP_ES_MULTILINE))\n\t\tm_CurrentShowRect.y=0;\n\telse\n\t\tm_CurrentShowRect.y = point.y;\n\tm_CurrentShowRect.cy = m_ClientRect.cy;\n\tm_CurrentShowRect.x = point.x - m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot);\n\tm_CurrentShowRect.cx = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width-m_CurrentShowRect.x;\n\ttempRc = m_CurrentShowRect;\n\tif(m_bSelectFlag&&m_SelectBegin!=m_SelectEnd)\n\t{\n\t\tShowBegin=MIN(m_SelectBegin,m_SelectEnd);\n\t\tShowEnd=MAX(m_SelectBegin,m_SelectEnd);\n\t}\n\tif(ShowBegin)\n\t{\n\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\tm_ClientDC.DrawString(m_WndText,&m_CurrentShowRect,WISP_DT_SINGLELINE|WISP_DT_VCENTER,ShowBegin);\n\t\tlen = m_ClientDC.GetTextExtent(m_WndText,ShowBegin);\n\t}\n\tif(ShowEnd-ShowBegin)\n\t{\n\t\tm_ClientDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\t\tm_ClientDC.SetTextBKColor(m_BSelColor);\t\t\t\t\n\t\ttempRc.x += len;\n\t\ttempRc.cx -= len;\t\t\n\t\tm_ClientDC.DrawString(m_WndText+ShowBegin,&tempRc,WISP_DT_SINGLELINE|WISP_DT_VCENTER,ShowEnd-ShowBegin );\n\t\tlen = m_ClientDC.GetTextExtent(m_WndText+ShowBegin,ShowEnd-ShowBegin);\n\t}\n\tif(ShowEnd!=m_WndText.m_Length)\n\t{\t\t\n\t\ttempRc.x += len;\n\t\ttempRc.cx -= len;\t\t\t\t\n\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\tm_ClientDC.DrawString(m_WndText+ShowEnd,&tempRc,WISP_DT_SINGLELINE|WISP_DT_VCENTER);\n\t}\n\treturn false;\t\n}\n\nbool CWispEdit::OnUpdateBorder(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_WS_BORDER)\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlBorder(&m_WindowDC, &m_WindowRect, m_BorderSize);\n\t}\t\t\n\treturn false;\n}\n\nCWispEdit::CWispEdit(void)\n{\n\tm_CurrentCaretHot = 0;\n\tm_DebugValue = 0;\n\tm_CtrlType = WISP_CTRL_EDIT;\n}\nCWispEdit::~CWispEdit(void)\n{\n}\n\nint CWispEdit::GetMaxShowCharNum(WISP_CHAR* lpszString, int nWidth,OUT int *nLength, bool isMultiLine)\n{\n\tint i, nCount;\n\tint nRetLength = 0;\n\tCODE_ASSERT(lpszString);\n\tnCount = TStrLen(lpszString);\n\tif(nCount == 0)\n\t{\n\t\tif(nLength)\n\t\t\t*nLength = 0;\n\t\treturn 0;\n\t}\t\n\tif(isMultiLine)\n\t{\n\t\tfor (i = 0; i < nCount; i++)\n\t\t{\n\t\t\tif(lpszString[i] == '\\n' || lpszString[i] == '\\r')\n\t\t\t{\n\t\t\t\tif(i + 1 < nCount)\n\t\t\t\t{\n\t\t\t\t\tif(lpszString[i+1] == '\\n' || lpszString[i+1] == 'r')\n\t\t\t\t\t{\n\t\t\t\t\t\tif(lpszString[i] != lpszString[i+1])\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti++;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(nRetLength + m_ClientDC.GetTextExtent(&lpszString[i],1) > nWidth)\n\t\t\t\tbreak;\n\t\t\telse\n\t\t\t\tnRetLength += m_ClientDC.GetTextExtent(&lpszString[i],1);\n\t\t}\n\t}else\n\t{\n\t\tfor (i = 0; i < nCount; i++)\n\t\t\tif(nRetLength + m_ClientDC.GetTextExtent(&lpszString[i],1) > nWidth)\n\t\t\t\tbreak;\n\t\t\telse\n\t\t\t\tnRetLength += m_ClientDC.GetTextExtent(&lpszString[i],1);\n\t}\n\tif(nLength)\n\t\t*nLength = nRetLength;\n\treturn i;\n}\nbool CWispEdit::Create( IN WISP_CHAR*Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd,IN UINT CmdID,\tIN UINT Style,IN UINT ShowMode)\n{\n\treturn Create(Name,Rect.x,Rect.y,Rect.cx,Rect.cy,pParentWnd,CmdID,Style,ShowMode);\n}\nbool CWispEdit::Create(IN WISP_RECT&RectAtWnd,IN UINT Style,IN CWispBaseWnd*pParentWnd,IN UINT CmdID)\n{\n\treturn Create(NULL,RectAtWnd.x,RectAtWnd.y,RectAtWnd.cx,RectAtWnd.cy,pParentWnd,CmdID,Style);\n}\n\nbool CWispEdit::Create(IN WISP_CHAR* Name,IN INT x,IN INT y,IN INT cx,IN INT cy,IN CWispBaseWnd*pParentWnd,IN UINT CmdID,IN UINT Style,IN UINT ShowMode)\n{\n\tif(!(Style & WISP_ES_MULTILINE))\n\t\tStyle &= ~(WISP_ES_AUTOVSCROLL | WISP_ES_VSCROLL);\n\telse if(Style & (WISP_ES_RIGHT | WISP_ES_CENTER))\n\t{\n\t\tStyle = Style & ~(WISP_ES_AUTOHSCROLL | WISP_ES_HSCROLL);\n\t}\n\tif((Style & (WISP_ES_RIGHT | WISP_ES_CENTER))==false)\n\t\tStyle|=WISP_ES_LEFT;\n\tif(CWispWnd::Create(Name,x, y, cx, cy,pParentWnd,CmdID,Style & (~WISP_WS_CAPTION),ShowMode) == false)\n\t\treturn false;\n\tif(Style & (WISP_ES_AUTOHSCROLL | WISP_ES_AUTOVSCROLL | WISP_ES_VSCROLL | WISP_ES_VSCROLL))\n\t\tm_StringMaxLen = WISP_EDIT_MAX_TEXT_LEN+1;\n\telse\n\t\tm_StringMaxLen = 0;\n\n\tif( Style & WISP_WS_BORDER )\n\t\tm_BorderSize = 2;\n\telse\n\t\tm_BorderSize = 0;\n\n\tif(Style & WISP_ES_VSCROLL)\n\t\tEnableScrollBar(WISP_SB_VERT);\n\tif(Style & WISP_ES_HSCROLL)\n\t\tEnableScrollBar(WISP_SB_HORZ);\n\tCreateCaret(WISP_DI_CARET);\n\tif(Style & WISP_ES_MULTILINE)\n\t\tm_LineMaxLen = 1024;\n\telse\n\t\tm_LineMaxLen = 0;\n\tif(Style & WISP_ES_RIGHT)\n\t{\n\t\tm_Caret.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t}\n\telse if(Style & WISP_ES_CENTER)\n\t{\n\t\tm_Caret.x = m_ClientRect.cx / 2;\n\t}\n\telse\n\t{\n\t\tm_Caret.x = 0;\n\t}\n\tif(!(Style & WISP_ES_MULTILINE))\n\t\tm_Caret.y = (m_ClientRect.cy - m_Caret.pDIB->m_FrameBuffer.Height)/2;\n\telse\n\t\tm_Caret.y = 0;\n\tif((m_Style &WISP_ES_READONLY)==0)\n\t\tShowCaret(true);\n\tm_bSelectFlag=false;\n\tm_SelectBegin=0;\n\tm_SelectEnd=0;\n\tm_CurrentInputStat=EDIT_STATE;\n\tm_BSelColor=SYS_COLOR[SC_CTRL_HOVER_FOCUS];\n\treturn true;\n\t\t\n}\n\nvoid CWispEdit::OnLeftKey(IN WISP_MSG *pMsg)\n{\n\tconst WISP_CHAR *pData=m_WndText;\n\tint nLeftLen;\n\tWISP_POINT point;\n\tint nPrevCharWidth;\n\t//int nCurrentLinePos;\n\t\n\tGetCaretPos(&point);\n\tif(m_CurrentCaretHot == 0)\n\t{\n\t\tif(m_bSelectFlag&&m_pWispBase->m_KeyMap[WISP_VK_SHIFT]==0)\n\t\t\tm_bSelectFlag=false;\n\t\treturn;\n\t}\n\tnPrevCharWidth = m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot-1],1);\n\t\t\n\tif(point.x - nPrevCharWidth < 0)\n\t{\n\t\tnLeftLen = m_ClientDC.GetTextExtent(pData,m_CurrentCaretHot-1);\n\t\tif( nLeftLen < m_ClientRect.cx / 4)\t\t\n\t\t\tpoint.x = nLeftLen;\t\t\n\t\telse\n\t\t\tpoint.x = m_ClientRect.cx / 4;\n\t}\n\telse\t\n\t\tpoint.x -= m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot-1],1);\t\n\tSetCaretPos(point.x,point.y);\n\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t{\n\t\tif(m_bSelectFlag&&m_SelectBegin==m_CurrentCaretHot-1)\n\t\t\tm_bSelectFlag=false;\n\t\telse\n\t\t{\n\t\t\tif(m_bSelectFlag==false)\t\t\t\n\t\t\t\tm_SelectBegin=m_CurrentCaretHot;\n\t\t\tm_SelectEnd=m_CurrentCaretHot-1;\n\t\t\tm_bSelectFlag=true;\n\t\t}\n\t}\n\telse\n\t\tm_bSelectFlag=false;\n\tm_CurrentCaretHot--;\n}\nvoid CWispEdit::OnRightKey(IN WISP_MSG *pMsg)\n{\n\tconst WISP_CHAR *pData=m_WndText;\n\tWISP_POINT point;\n\tint nPrevCharWidth;\n\t\n\tif(m_CurrentCaretHot == m_WndText.m_Length)\n\t{\n\t\tif(m_bSelectFlag&&m_pWispBase->m_KeyMap[WISP_VK_SHIFT]==0)\n\t\t\tm_bSelectFlag=false;\n\t\treturn;\n\t}\n\tnPrevCharWidth = m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot],1);\n\tGetCaretPos(&point);\t\t\n\tif(m_CurrentCaretHot >= m_WndText.m_Length)\n\t\treturn;\n\tif(point.x +m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot],1) > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t\tpoint.x = m_ClientRect.cx / 4 * 3;\n\telse\n\t\tpoint.x += m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot],1);\n\t\n\tSetCaretPos(point.x,point.y);\t\n\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t{\n\t\tif(m_bSelectFlag&&m_SelectBegin==m_CurrentCaretHot+1)\n\t\t\tm_bSelectFlag=false;\n\t\telse\n\t\t{\n\t\t\tif(m_bSelectFlag==false)\t\t\t\n\t\t\t\tm_SelectBegin=m_CurrentCaretHot;\n\t\t\tm_SelectEnd=m_CurrentCaretHot+1;\n\t\t\tm_bSelectFlag=true;\n\t\t}\n\t}\n\telse\n\t\tm_bSelectFlag=false;\n\tm_CurrentCaretHot++;\t\n}\n\nvoid CWispEdit::OnReturnKey(IN WISP_MSG *pMsg)\n{\n}\n\nvoid CWispEdit::OnHomeKey(IN WISP_MSG *pMsg)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tWISP_POINT point;\n\tint nStringWidth;\n\tif(m_CurrentCaretHot == 0)\n\t{\n\t\tif(m_bSelectFlag&&m_pWispBase->m_KeyMap[WISP_VK_SHIFT]==0)\n\t\t\tm_bSelectFlag=false;\n\t\treturn ;\t\n\t}\n\t\n\tnStringWidth = m_ClientDC.GetTextExtent(pData);\n\tGetCaretPos(&point);\n\tpoint.x = 0;\n\tif(nStringWidth < m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t{\n\t\tif(m_Style & WISP_ES_CENTER)\n\t\t\tpoint.x = (m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width - nStringWidth) / 2;\n\t\telse if(m_Style & WISP_ES_RIGHT)\n\t\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width - nStringWidth;\n\t}\n\tSetCaretPos(point.x,point.y);\n\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t{\n\t\tif(m_bSelectFlag&&m_SelectBegin==0)\n\t\t{\n\t\t\tm_bSelectFlag=false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_bSelectFlag==false)\n\t\t\t\tm_SelectBegin=m_CurrentCaretHot;\n\t\t\tm_SelectEnd=0;\t\t\n\t\t\tm_bSelectFlag=true;\n\t\t}\t\t\n\t}\n\telse\n\t{\n\t\tm_bSelectFlag=false;\n\t}\n\tm_CurrentCaretHot = 0;\n}\nvoid CWispEdit::OnEndKey(IN WISP_MSG *pMsg)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tWISP_POINT point;\n\tGetCaretPos(&point);\n\tint nStringWidth = 0;\n\tnStringWidth = m_ClientDC.GetTextExtent(pData);\n\t\n\tif(nStringWidth > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t{\n\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t}\n\telse\n\t{\n\t\tif(m_Style & WISP_ES_CENTER)\n\t\t\tpoint.x = (m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width - nStringWidth) / 2 + m_ClientDC.GetTextExtent(pData);\n\t\telse if(m_Style & WISP_ES_RIGHT)\n\t\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t\telse\n\t\t\tpoint.x = nStringWidth;\n\t}\t\n\tSetCaretPos(point.x, point.y);\n\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t{\n\t\tif(m_bSelectFlag&&m_SelectBegin==m_WndText.m_Length)\n\t\t{\n\t\t\tm_bSelectFlag=false;\n\t\t}else\n\t\t{\n\t\t\tif(m_bSelectFlag==false)\n\t\t\t\tm_SelectBegin=m_CurrentCaretHot;\n\t\t\tm_SelectEnd=m_WndText.m_Length;\n\t\t\tm_bSelectFlag=true;\n\t\t}\t\t\n\t}\n\telse\n\t\tm_bSelectFlag=false;\n\tm_CurrentCaretHot = m_WndText.m_Length;\n}\nvoid CWispEdit::OnBackKey(IN WISP_MSG *pMsg)\n{\n\tif(m_CurrentCaretHot == 0 || m_CurrentCaretHot > m_WndText.m_Length)\n\t\treturn;\t\t\t\n\tDeleteChar(m_CurrentCaretHot,1,pMsg);\t\t\n}\n\nvoid CWispEdit::OnDeleteKey(IN WISP_MSG *pMsg)\n{\n\tint nStringWidth;\n\tWISP_POINT point;\n\tif(m_bSelectFlag&&m_SelectBegin!=m_SelectEnd)\n\t{\n\t\tWISP_POINT CaretPoint;\n\t\tGetCaretPos(&CaretPoint);\n\t\tint begin = MIN(m_SelectBegin,m_SelectEnd);\n\t\tint end = MAX(m_SelectBegin,m_SelectEnd);\n\t\tWISP_POINT point = GetPositionByIndex(begin);\n\t\tm_WndText.Delete(begin,end-begin);\n\t\tm_CurrentCaretHot=begin;\n\t\tif(point.x<0)\n\t\t\tpoint.x=0;\n\t\tCaretPoint.x = point.x;\t\t\n\t\tSetCaretPos(CaretPoint.x,CaretPoint.y);\n\t\tm_bSelectFlag=false;\n\t\tm_SelectBegin=0;\n\t\tm_SelectEnd=0;\n\t\treturn;\n\t}\n\tif(m_CurrentCaretHot == m_WndText.m_Length)\n\t\treturn;\n\tGetCaretPos(&point);\n\tnStringWidth = m_ClientDC.GetTextExtent(m_WndText+m_CurrentCaretHot+1);\n\tif(nStringWidth > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width - point.x)\n\t{\n\t\tm_WndText.Delete(m_CurrentCaretHot);\n\t}\n\telse\n\t{\n\t\tnStringWidth = m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot);\n\t\tif(nStringWidth > point.x)\n\t\t{\n\t\t\tnStringWidth = m_ClientDC.GetTextExtent(m_WndText+m_CurrentCaretHot+1,1);\n\t\t\tm_WndText.Delete(m_CurrentCaretHot);\n\t\t\tpoint.x += nStringWidth;\t\t\t\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_WndText.Delete(m_CurrentCaretHot);\n\t\t}\n\t}\n\tnStringWidth = m_ClientDC.GetTextExtent(m_WndText);\n\tif(nStringWidth < m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t{\n\t\tif(m_Style & WISP_ES_CENTER)\n\t\t\tpoint.x = (m_ClientRect.cx - nStringWidth - m_Caret.pDIB->m_FrameBuffer.Width) / 2 + m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot);\n\t\telse if(m_Style & WISP_ES_RIGHT)\n\t\t\tpoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t}\n\tSetCaretPos(point.x,point.y);\t\n}\nint CWispEdit::InsertChar(IN WISP_CHAR *pChar,IN int nPosition,IN int Counter)\n{\n\tint nret=0;\n\t//int nStringWidth;\n\tWISP_POINT CaretPoint;\n\tif(SendCmdMsg(WISP_CMD_EN_CHANGING)==false)\n\t\treturn nret;\n\tif(m_bSelectFlag&&m_SelectBegin!=m_SelectEnd)\n\t{\n\t\t\n\t\tGetCaretPos(&CaretPoint);\n\t\tint begin = MIN(m_SelectBegin,m_SelectEnd);\n\t\tint end = MAX(m_SelectBegin,m_SelectEnd);\n\t\tWISP_POINT point = GetPositionByIndex(begin);\n\t\tm_WndText.Delete(begin,end-begin);\n\t\tm_CurrentCaretHot=begin;\n\t\tCaretPoint.x = point.x;\n\t\tSetCaretPos(CaretPoint.x,CaretPoint.y);\n\t\tm_bSelectFlag=false;\n\t\tm_SelectBegin=0;\n\t\tm_SelectEnd=0;\n\t}\n\tif(nPosition==-1)\n\t\tnPosition = m_CurrentCaretHot;\t\n\tif(Counter==1)\n\t\tnret = m_WndText.Insert(nPosition, *pChar);\n\telse\n\t\tm_WndText.Insert(nPosition,pChar);\n\t\n\t\n\tSendCmdMsg(WISP_CMD_EN_CHANGED);\n\treturn nret;\n}\nint CWispEdit::DeleteChar(int nPosition,int nCount,WISP_MSG *pMsg)\n{\n\tint nret=0;\n\tif(nPosition == -1)\n\t\tnPosition = m_CurrentCaretHot;\t\n\t\n\tif(SendCmdMsg(WISP_CMD_EN_CHANGING))\n\t{\n\t\tif(nPosition==m_WndText.m_Length)\n\t\t\tnPosition--;\n\t\tOnLeftKey(pMsg);\n\t\tm_WndText.Delete(nPosition, nCount);\n\t\tSendCmdMsg(WISP_CMD_EN_CHANGED);\n\t}\n\telse\n\t\treturn 0;\n\treturn nCount;\n}\nint CWispEdit::GetCurrentLinePosition(OUT int nIndex)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tWISP_POINT point;\n\tint i,j,sum,k,n;\n\tif(!(m_Style & WISP_ES_MULTILINE))\n\t\t\treturn m_CurrentCaretHot;\n\n\tGetCaretPos(&point);\n\tfor(j = 0, i =  m_CurrentCaretHot - 1; i>= 0;i--, j++)\n\t{\n\t\tif(pData[i] == '\\n' || pData[i] == '\\r')\n\t\t\tbreak;\n\t}\n\tif(m_Style & (WISP_ES_AUTOHSCROLL | WISP_ES_HSCROLL))\n\t{\n\t\ti = j;\n\t\tj = j % WISP_EDIT_MAX_LINETEXT_LEN;\n\t\tif(j == 0 && i != 0)\n\t\t\tj = WISP_EDIT_MAX_LINETEXT_LEN;\n\t\treturn j;\n\t}\n\tfor(n = 0, i = 0, sum = 0; i < j; i++,n++)\n\t{\n\t\tk = m_ClientDC.GetTextExtent(&pData[m_CurrentCaretHot - j + i],1);\n\t\tif(sum + k < m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t\t\tsum+=k;\n\t\telse\n\t\t{\n\t\t\tsum = k;\n\t\t\tn = -1;\n\t\t}\n\t}\n\treturn n;\n}\nint CWispEdit::GetPrevLineBeginPosition(int nEndPostion,int *nStringLen)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tint nRet,k,i,j,sum;\n\t\n\tint oldEnd = nEndPostion;\n\tif(pData[nEndPostion] == '\\n' || pData[nEndPostion] == '\\r')\n\t\tif(pData[nEndPostion-1] == '\\n' || pData[nEndPostion-1] == '\\r')\n\t\t{\n\t\t\tif(pData[nEndPostion-1] != pData[nEndPostion])\n\t\t\t\tnEndPostion -= 2;\n\t\t\telse\n\t\t\t\tnEndPostion -= 1;\n\t\t}else\n\t\t\tnEndPostion -= 1;\n\n\tif(m_Style & (WISP_ES_AUTOHSCROLL | WISP_ES_HSCROLL))\n\t{\n\t\tfor(j = 0,i = nEndPostion;i >= 0;i--,j++)\n\t\t{\n\t\t\tif(pData[i] == '\\n' || pData[i] == '\\r')\n\t\t\t\tbreak;\n\t\t}\n\t\tj = j % WISP_EDIT_MAX_LINETEXT_LEN;\t\t\n\t}\n\telse\n\t{\n\t\tfor(sum = 0,j = 0, i = nEndPostion;i>=0;i--,j++)\n\t\t{\n\t\t\tif(pData[i] != '\\n' && pData[i] != '\\r')\n\t\t\t{\t\n\t\t\t\tk = m_ClientDC.GetTextExtent(&pData[i],1);\n\t\t\t\tsum += k;\n\t\t\t\tif(sum > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t\t\t\t{\n\t\t\t\t\tsum -= k;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tnRet = nEndPostion - j + 1;\n\tif(nStringLen)\n\t{\n\t\tfor(sum = 0,i = nRet; i <= oldEnd; i++)\n\t\t{\n\t\t\tif(pData[i] != '\\n' && pData[i] != '\\r')\n\t\t\t\tsum += m_ClientDC.GetTextExtent(&pData[i],1);\n\t\t}\n\t\t*nStringLen = sum;\n\t}\n\treturn nRet;\n}\nint CWispEdit::GetCaretLineCharWidth()\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tif(m_Style & WISP_ES_MULTILINE)\t\n\t\treturn GetCurrentLinePosition();\t\n\treturn m_ClientDC.GetTextExtent(pData);\n}\nint CWispEdit::GetLineWidth(const WISP_CHAR *pSrc)\n{\t\n\tint i;\n\tfor(i = 0; pSrc[i];i++)\n\t{\n\t\tif(pSrc[i] == '\\n' && pSrc[i] == '\\r')\n\t\t{\n\t\t\tif(i + 1 < m_WndText.m_Length)\n\t\t\t{\n\t\t\t\tif(pSrc[i+1] == '\\n' || pSrc[i+1] == '\\r')\n\t\t\t\t\ti++;\n\t\t\t}\n\t\t\ti++;\n\t\t\tbreak;\n\t\t}\t\t\n\t}\n\treturn i;\n}\nint CWispEdit::CalcLineNum(const WISP_CHAR *pSrc,int nCount,int nPerLineMaxCharNum)\n{\n\tint i,j,nLineNum,nCharNum;\n\tif(nCount == -1)\n\t\tnCount = TStrLen(pSrc);\n\tif(nCount == 0)\n\t\treturn 0;\n\tnCharNum = 0;\n\tfor(nLineNum = 1, j = 0, i = 0; i < nCount; i++)\n\t{\n\t\tif(pSrc[i] == '\\r' || pSrc[i] == '\\n')\n\t\t{\t\t\t\n\t\t\tif(i != nCount-1)\n\t\t\t{\n\t\t\t\tif(pSrc[i + 1] == '\\r' || pSrc[i + 1] == '\\n')\n\t\t\t\t\ti++;\n\t\t\t}\n\t\t\tnLineNum++;\n\t\t\tnLineNum = nLineNum + nCharNum / nPerLineMaxCharNum;\n\t\t\tif(((nCharNum % nPerLineMaxCharNum) == 0) && (nCharNum != 0))\n\t\t\t\tnLineNum -= 1;\n\t\t\tnCharNum = 0;\n\t\t}\n\t\telse\n\t\t\tnCharNum++;\n\t}\n\tnLineNum = nLineNum + nCharNum / nPerLineMaxCharNum;\n\tif(((nCharNum % nPerLineMaxCharNum) == 0) && (nCharNum != 0))\n\t\tnLineNum -= 1;\n\treturn nLineNum;\n}\nint CWispEdit::CalcLineNumForWidth(const WISP_CHAR *pSrc,int nCount,int nLineWidth)\n{\n\tint i,j,nLineNum,nCharNum,nCharWidth;\n\tif(nCount == -1)\n\t\tnCount = TStrLen(pSrc);\n\tif(nCount == 0)\n\t\treturn 0;\n\tnCharNum = 0;\n\tfor(nLineNum = 1, j = 0, i = 0; i < nCount; i++)\n\t{\n\t\tif(pSrc[i] == '\\r' || pSrc[i] == '\\n')\n\t\t{\t\t\t\n\t\t\tif(i != nCount-1)\n\t\t\t{\n\t\t\t\tif(pSrc[i + 1] == '\\r' || pSrc[i + 1] == '\\n')\n\t\t\t\t\ti++;\n\t\t\t}\n\t\t\tnLineNum++;\n\t\t\tnCharNum = 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnCharWidth = m_ClientDC.GetTextExtent(&pSrc[i],1);\n\t\t\tif(nCharNum + nCharWidth > nLineWidth)\n\t\t\t{\n\t\t\t\tnLineNum++;\n\t\t\t\tnCharNum = nCharWidth;\n\t\t\t}else\n\t\t\t{\n\t\t\t\tnCharNum+=nCharWidth;\n\t\t\t}\n\t\t}\n\t}\n\treturn nLineNum;\n}\nint CWispEdit::CaretLeftMove()\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tif(m_CurrentCaretHot == 0)\n\t\treturn 0;\n\tif(pData[m_CurrentCaretHot-1] !=  '\\n' && pData[m_CurrentCaretHot-1] !=  '\\r')\n\t\tm_CurrentCaretHot--;\n\telse\n\t{\n\t\tif(m_CurrentCaretHot - 2 >= 0 && (pData[m_CurrentCaretHot-2] == '\\n' || pData[m_CurrentCaretHot-2] == '\\r'))\n\t\t\tm_CurrentCaretHot--;\n\t\tm_CurrentCaretHot--;\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nint CWispEdit::CaretRightMove()\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tif(m_CurrentCaretHot >= m_WndText.m_Length)\n\t\treturn 0;\n\tif(pData[m_CurrentCaretHot] != '\\n' && pData[m_CurrentCaretHot] != '\\r')\n\t{\n\t\tm_CurrentCaretHot++;\n\t}else\n\t{\n\t\tif((m_CurrentCaretHot+1 < m_WndText.m_Length) && (pData[m_CurrentCaretHot+1] == '\\n' || pData[m_CurrentCaretHot+1] == '\\r'))\t\t\n\t\t\tm_CurrentCaretHot++;\n\t\tm_CurrentCaretHot++;\n\t\treturn 1;\n\t}\n\treturn 0;\n}\n\nint CWispEdit::GetCurrentPosition(OUT int nIndex,OUT int *nLineLen)\n{\n\tconst WISP_CHAR *pData = m_WndText;\n\tint i,j,k;\n\t\t\t\n\tfor(j = 0, i =  nIndex - 1; i>= 0;i--, j++)\n\t{\n\t\tif(pData[i] == '\\n' || pData[i] == '\\r')\n\t\t\tbreak;\n\t}\t\t\t\t\n\tif(nLineLen)\n\t{\n\t\tfor(k = 0,i = nIndex; i < m_WndText.m_Length; i++,k++)\n\t\t\tif(pData[i] == '\\n' || pData[i] == '\\r')\n\t\t\t\tbreak;\n\t\t*nLineLen = j+k;\n\t}\n\treturn j;\n}\n\nWISP_POINT CWispEdit::GetPositionByIndex(IN int index)\n{\n\tWISP_POINT Point;\n\tPoint.x = 0;\n\tPoint.y = 0;\n\tif(index <= m_WndText.m_Length)\n\t{\n\t\tint Width = m_ClientDC.GetTextExtent(m_WndText,index);\n\t\tPoint.x = m_CurrentShowRect.x + Width;\n\t\tPoint.y = m_CurrentShowRect.y;\n\t}\n\treturn Point;\n}\n\nint CWispEdit::SelectText(int SelectBegin,int SelectEnd)\n{\n\tint nCaretPos = SelectEnd;\n\tif(m_WndText.Length()<MAX(SelectBegin,SelectEnd))\n\t\treturn 0;\n\tm_SelectBegin=MIN(SelectBegin,SelectEnd);\n\tm_SelectEnd=MAX(SelectBegin,SelectEnd);\n\tm_bSelectFlag=true;\n\tm_CurrentCaretHot=nCaretPos;\n\tUpdate();\n\treturn m_SelectEnd-m_SelectBegin+1;\n}\nbool CWispEdit::CharIsVisible(int index)\n{\n\tWISP_POINT CaretPoint;\n\tif(m_CurrentCaretHot==index)\n\t\treturn true;\n\tGetCaretPos(&CaretPoint);\n\t\n\tint x1 = m_ClientDC.GetTextExtent(m_WndText,m_CurrentCaretHot);\n\tint x2 = m_ClientDC.GetTextExtent(m_WndText,index);\n\tif(m_CurrentCaretHot>index)\n\t{\n\t\tif(x1-x2>CaretPoint.x)\n\t\t\treturn false;\t\t\n\t}\n\telse\n\t{\n\t\tif(x2-x1 > m_ClientRect.cx-CaretPoint.x)\n\t\t\treturn false;\n\t}\n\treturn true;\n}\nvoid  CWispEdit::EnableVisible(int index)\n{\n\tif(CharIsVisible(index))\n\t\treturn;\n\n}\nbool CWispEdit::OnEventPaste(IN WISP_MSG*pMsg)\n{\n\tint nStringWidth;\n\tINT Counter;\n\tWISP_POINT CaretPoint;\n\tif(m_Style&WISP_ES_READONLY)\n\t\treturn true;\n\tif(m_pWispBase->m_ClipboardString.IsEmpty()==false)\n\t{\n\t\tCounter=m_pWispBase->m_ClipboardString.m_Length;\n\t\tInsertChar(m_pWispBase->m_ClipboardString,-1,Counter);\n\t\tGetCaretPos(&CaretPoint);\n\t\tnStringWidth = m_ClientDC.GetTextExtent(m_WndText,Counter,m_CurrentCaretHot);\n\n\t\tif(m_Style & WISP_ES_LEFT)\n\t\t{\t\t\t\n\t\t\tif(CaretPoint.x+nStringWidth > m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width)\n\t\t\t{\n\t\t\t\tCaretPoint.x = m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width;\n\t\t\t\tif(m_Style & WISP_ES_AUTOHSCROLL)//\n\t\t\t\t{\n\t\t\t\t\tif(m_CurrentCaretHot != m_WndText.m_Length)\n\t\t\t\t\t\tCaretPoint.x = (m_ClientRect.cx - m_Caret.pDIB->m_FrameBuffer.Width) / 4 * 3;\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\t\t\n\t\t\t\tCaretPoint.x += nStringWidth;\n\t\t\t}\n\t\t\tm_CurrentCaretHot+=Counter;\n\t\t\tSetCaretPos(CaretPoint.x,CaretPoint.y);\n\t\t}\t\t\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispEdit::OnEventCopy(IN WISP_MSG*pMsg)\n{\n\tCWispString ClipboardString;\n\n\tClipboardString.Empty();\n\tint begin,end;\n\tconst WISP_CHAR *pData;\n\tpData = m_WndText;\n\tif(m_bSelectFlag==false)\n\t\treturn false;\n\tbegin = MIN(m_SelectBegin,m_SelectEnd);\n\tend=MAX(m_SelectBegin,m_SelectEnd);\n\tClipboardString+=&pData[begin];\n\tClipboardString.Delete(end-begin,ClipboardString.m_Length-(end-begin));\n\tm_pWispBase->SetClipboardString(ClipboardString);\t\n\t\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispEdit.h",
    "content": "#ifndef\t_WISP_EDIT_H_\n#define _WISP_EDIT_H_\n\n#include \"WispWnd.h\"\n//////////////////////////////////////////////\n//༭\n//////////////////////////////////////////////\n#define WISP_ES_EDIT_NORMAL\t\t\t(WISP_ES_LEFT | WISP_WS_THIN_BORDER | WISP_ES_AUTOHSCROLL)\n#define WISP_ES_AUTOHSCROLL\t\t\t0x01000000\n#define WISP_ES_AUTOVSCROLL   \t\t0x02000000\n#define WISP_ES_CENTER   \t\t\t0x04000000\n#define WISP_ES_LEFT\t\t\t\t0x08000000\n#define WISP_ES_LOWERCASE\t\t\t0x10000000\n#define WISP_ES_MULTILINE\t\t\t0x20000000\n#define WISP_ES_NOHIDESEL\t\t\t0x40000000\n#define WISP_ES_PASSWORD\t\t\t0x80000000\n#define WISP_ES_RIGHT\t\t\t\t0x00010000\n#define WISP_ES_UPPERCASE\t\t\t0x00020000\n#define WISP_ES_READONLY\t\t\t0x00040000\n#define WISP_ES_WANTRETURN\t\t\t0x00080000\n#define WISP_ES_HSCROLL\t\t\t\t0x00100000\n#define WISP_ES_VSCROLL\t\t\t\t0x00200000\n\n#define WISP_ES_EX_STATIC_EDGE\t\t\t0x00000001\n#define WISP_EDIT_TEXT_LEN\t\t\t\t0x100\n//#define WISP_EDIT_BORDER_COLOR\t\tRGB(127,157,185)\n\n#define WISP_EDIT_MAX_TEXT_LEN\t\t\t30000\n#define WISP_EDIT_MAX_LINETEXT_LEN\t\t20\n\ntypedef struct _SELECTPOS{\n\tint begin;\n\tint end;\n}SELECTPOS;\n\n\nclass CWispEdit : public CWispWnd\n{\n\ttypedef enum _INPUTSTAT{\n\t\tEDIT_STATE=0,\n\t\tSELECT_STATE,\t\t\n\t}INPUTSTATE;\n\t//ÿ ASCII ַĿ\n\tINT\t\tm_CharLenArray[0x140];\t\n\t//ַڵַеλá\n\tINT\t\tm_CurrentCaretHot;\n\t//ַڵС\n\tINT\t\tm_CurrentCaretLine;\n\t//ǰ༭ؼַĸ\n\tINT\t\tm_CurrentStringLen;\n\t// ༭ؼǶñΪ档\n\tbool m_bIsMultiLine;\n\t//༭ؼַȡ Create ãCreate ûøֵʹĬֵ WISP_EDIT_MAX_TEXT_LEN\n\t// Style û WISP_ES_AUTOHSCROLL  WISP_ES_AUTOVSCROLL WISP_ES_VSCROLL WISP_ES_VSCROLL ݿͻĴС㳤\n\tINT\t\tm_StringMaxLen;\n\t//Ƕеı༭ؼʱпʾַ\n\tINT\t\tm_LineMaxLen;\n\t// ༭ؼɵı\n\tUINT m_TextRowNum;\n\t// ༭ؼÿпɵַĸ\n\tUINT m_TextColNum;\n\t// ǰеĿʼλ,ǰַָڵ\t\n\tINT m_CurrentLineCharIndex;\n\t// ǰк,ǰַָڵ\n\tINT m_CurrentLineNum;\n\n\tWISP_RECT m_CurrentShowRect;\n\tINT m_DebugValue;\n\tbool m_bSelectFlag;\n\tint m_SelectBegin;\n\tint m_SelectEnd;\n\tINPUTSTATE m_CurrentInputStat; \npublic:\n\tCWispEdit(void);\n\t~CWispEdit(void);\npublic:\n\n\tbool\tCreate( IN WISP_CHAR*Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd = NULL,IN UINT CmdID = 0,\t\tIN UINT Style=WISP_WS_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\n\n\tbool\tCreate(IN WISP_RECT&RectAtWnd,IN UINT Style,IN CWispBaseWnd*pParentWnd,IN UINT CmdID);\n\tbool\tCreate(IN WISP_CHAR* Name,IN INT x,IN INT y,IN INT cx,IN INT cy,IN CWispBaseWnd*pParentWnd=NULL,IN UINT CmdID=0,IN UINT Style=WISP_ES_EDIT_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnLostFocus)\n\tDECLARE_WISP_MSG(OnChar)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnUpdateBorder)\t\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMouseEvent)\n\tDECLARE_WISP_MSG(OnMouseLeftButtonUp)\n\tDECLARE_WISP_MSG(OnMouseLeftButtonDown)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG(OnEventPaste);\n\tDECLARE_WISP_MSG(OnEventCopy);\npublic:\n\tvoid OnKeyBack(void);\t\n\tvoid OnLeftKey(IN WISP_MSG *pMsg);\n\tvoid OnRightKey(IN WISP_MSG *pMsg);\n\tvoid OnReturnKey(IN WISP_MSG *pMsg);\n\tvoid OnBackKey(IN WISP_MSG *pMsg);\n\tvoid OnHomeKey(IN WISP_MSG *pMsg);\n\tvoid OnEndKey(IN WISP_MSG *pMsg);\n\tvoid OnDeleteKey(IN WISP_MSG *pMsg);\n\t\n\t//ڸĿɵַ\n\t//  nLength ɵַĳ\n\tint GetMaxShowCharNum(WISP_CHAR* lpszString, INT nWidth,OUT INT *nLength = NULL, bool isMultiLine=FALSE);\n\t//жϱ༭ؼǷԲַ\n\tbool IsInsertChar(IN WISP_CHAR wch);\n\tINT InsertChar(IN WISP_CHAR *pChar,IN INT nPosition=-1,IN int Counter=1);\n\tINT DeleteChar(IN INT nPosition=-1,IN INT nCount = 1,IN WISP_MSG *pMsg=NULL);\n\t//ַڵλáڵǰеġ\n\t//int GetCurrentLinePosition();\n\tINT GetCurrentLinePosition(INT nCharNum = -1);\n\tINT GetPrevLineBeginPosition(IN INT nEndPostion,OUT INT *nStringLen = NULL);\n\t//ַڵеĳȡ\n\tINT GetCaretLineCharWidth();\n\tINT GetLineWidth(IN const WISP_CHAR *pSrc);\n\t// nPerLineMaxCharNum һпɵַ\n\tINT CalcLineNum(IN const WISP_CHAR *pSrc,IN INT nCount = -1,IN INT nPerLineMaxCharNum = 0);\n\t// nLineWidth еؿ\n\tINT CalcLineNumForWidth(IN const WISP_CHAR *pSrc,IN INT nCount = -1,IN INT nLineWidth = -1);\n\tINT CaretLeftMove();\n\tINT CaretRightMove();\n\tINT GetCurrentPosition(OUT INT nIndex,INT *nLineLength=NULL);\n\tbool SetWindowText(const WISP_CHAR* pString);\n\tint GetCharIndexByPoint(WISP_POINT point,WISP_POINT&retpoint);\n\tWISP_POINT GetPositionByIndex(IN int index);\n\tWISP_RECT m_SelectRect;\n\tCOLORREF m_BSelColor;\n\tint SelectText(int SelectBegin,int SelectEnd);\n\tbool CharIsVisible(int index);\n\tvoid EnableVisible(int index);\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispFileWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \".\\wispfilewnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispFileWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_COMMAND,OnCommand)\nWISP_MSG_MAP_END(CWispSplitWnd)\n\nCWispFileWnd::CWispFileWnd(void)\n{\n}\n\nCWispFileWnd::~CWispFileWnd(void)\n{\n}\n\nbool CWispFileWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_FolderTree.Create(NULL, 0,0,0,0, this, ID_FOLDER_TREE, WISP_WS_BORDER|LTS_NORMAL_SYTLE|LTS_SHOW_BUTTONS, WISP_SH_NORMAL);//|PLS_SHOW_CHECKBOXES|PLS_ENABLE_AUTOCHECK\n\tm_FolderList.Create(NULL, 0,0,0,0, this, ID_FOLDER_LIST, WISP_WS_BORDER|LTS_NORMAL_SYTLE|LTS_ENABLE_EDITLABLE|LTS_ENABLE_FR_HOVER, WISP_SH_NORMAL);\n\n\tInsertWnd(&m_FolderTree, 0, 200);\n\tInsertWnd(&m_FolderList, 0, 200);\n\n\tm_FolderList.InsertColumn(WSTR(\"File name\"), 100);\n\tm_FolderList.InsertColumn(WSTR(\"Size\"), 80);\n\tm_FolderList.InsertColumn(WSTR(\"Type\"), 80);\n\tm_FolderList.InsertColumn(WSTR(\"Last write time\"), 120);\n\n\tm_FolderTree.InsertColumn(WSTR(\"Folders\"), 200);\n\n\tCLocalFileIO cFileIO;\n\tDWORD dwLogicDrivers = cFileIO.GetLogicalDrives();\n\tWISP_CHAR\twcDriver[MAX_PATH]={'A', ':', '\\0'};\n\tint nDriver=0;\n\twhile(dwLogicDrivers && nDriver<=32)\n\t{\n\t\tif(dwLogicDrivers&1)\n\t\t{\n\t\t\twcDriver[0] = 'A'+nDriver;\n\t\t\tCListStringItem* pItem = m_FolderTree.InsertItem(wcDriver);\n\t\t\tm_FolderTree.InsertItem(WSTR(\"...\"), NULL, pItem);\n\t\t\tm_FolderTree.Expand(pItem);\n\t\t}\n\t\tnDriver++;\n\t\tdwLogicDrivers=dwLogicDrivers>>1;\n\t}\n\n\treturn TRUE;\n}\nbool CWispFileWnd::OnCommand(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CtrlType==WISP_CTRL_LIST)\n\t{\n\t\t// FolderTree\n\t\tif(pMsg->Command.CmdID==ID_FOLDER_TREE)\n\t\t{\n\t\t\tCListStringItem* pItem = (CListStringItem*)pMsg->Command.Param2;\n\t\t\tif(pMsg->Command.CmdMsg==WISP_CMD_PL_EXPANDED)\n\t\t\t{\n\t\t\t\tm_FolderTree.DeleteAllChildrenItems(pItem);\n\t\t\t\tFillFolderTree(pItem);\n\t\t\t}\n\t\t\telse if(pMsg->Command.CmdMsg==WISP_CMD_PL_COLLAPSED)\n\t\t\t{\n\t\t\t\tm_FolderTree.DeleteAllChildrenItems(pItem);\n\t\t\t\tm_FolderTree.InsertItem(WSTR(\"...\"), NULL, pItem);\n\t\t\t}\n\t\t\telse if(pMsg->Command.CmdMsg==WISP_CMD_PL_SELCHANGED)\n\t\t\t{\n\t\t\t\tm_FolderList.DeleteAllItems();\n\t\t\t\tFillFolderList(pItem);\n\t\t\t}\n\t\t}\n\t}\n\treturn TRUE;\n}\n\nint CWispFileWnd::FillFolderTree(CListStringItem* pItem)\n{\n\tCHAR szPath[MAX_PATH]={0};\n\tWISP_CHAR wcPath[MAX_PATH]={0};\n\tm_FolderTree.GetItemFullName(pItem, wcPath);\n\tTStrToStr(wcPath, szPath);\n\tTStrCat(szPath, \"*.*\");\n\n\tint nFileCount = 0;\n\tint nFolderCount = 0;\n\n\tFILE_FIND_DATA FindFileData;\n\tCLocalFileIO\tcFile;\n\tbool bContinue = cFile.FindFirstFile(szPath, &FindFileData);\n\twhile(bContinue)\n\t{\n\t\tif(FindFileData.FileName[0]!='.')\n\t\t{\n\t\t\tif(FindFileData.FileAttribute&FIO_FA_DIR)\n\t\t\t{\n\t\t\t\tnFolderCount++;\n\t\t\t\tTStrToStr(FindFileData.FileName, wcPath);\n\t\t\t\tCListStringItem* pNewItem = m_FolderTree.InsertItem(wcPath, NULL, pItem);\n\t\t\t\tm_FolderTree.InsertItem(WSTR(\"...\"), NULL, pNewItem);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnFileCount++;\n\t\t\t}\n\t\t}\n\n\t\tif (!cFile.FindNextFile(&FindFileData)) \n\t\t\tbContinue = false;\n\t}\n\n\tcFile.FindClose(&FindFileData);\n//\tsprintf(szPath, \"ܹ%d%dļ%dĿ¼\", nFileCount+nFolderCount, nFileCount, nFolderCount);\n//\tm_StatusWnd.SetWindowText(szPath);\n\treturn nFileCount;\n\n}\n\nint CWispFileWnd::FillFolderList(CListStringItem* pItem)\n{\n\tCHAR szPath[MAX_PATH]={0};\n\tWISP_CHAR wcPath[MAX_PATH]={0};\n\tm_FolderTree.GetItemFullName(pItem, wcPath);\n\tTStrToStr(wcPath, szPath);\n\tTStrCat(szPath, \"*.*\");\n\n\tint nFileCount = 0;\n\tint nFolderCount = 0;\n\n\tFILE_FIND_DATA FindFileData;\n\tCLocalFileIO\tcFile;\n\tbool bContinue = cFile.FindFirstFile(szPath, &FindFileData);\n\twhile(bContinue)\n\t{\n\t\tif(FindFileData.FileName[0]!='.')\n\t\t{\n\t\t\tWISP_CHAR Buf[64];\n\t\t\t// file name\n\t\t\tTStrToStr(FindFileData.FileName, wcPath);\n\t\t\tCListStringItem* pNewItem = m_FolderList.InsertItem(wcPath);\n\n\t\t\t// file size\n\t\t\tif(FindFileData.FileLength<1024)\n\t\t\t\tTSPrintf(Buf, WSTR(\"%d bytes\"), FindFileData.FileLength);\n\t\t\telse if(FindFileData.FileLength<1024*1024)\n\t\t\t\tTSPrintf(Buf, WSTR(\"%d KB\"), FindFileData.FileLength/1024);\n\t\t\telse\n\t\t\t\tTSPrintf(Buf, WSTR(\"%d MB\"), FindFileData.FileLength/(1024*1024));\n\n\t\t\tif(FindFileData.FileAttribute&FIO_FA_DIR)\n\t\t\t{\n\t\t\t\tnFolderCount++;\n\t\t\t\t// file type\n\t\t\t\tm_FolderList.SetItemText(pNewItem, 2, WSTR(\"Folder\"));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnFileCount++;\n\t\t\t\t// file size\n\t\t\t\tm_FolderList.SetItemText(pNewItem, 1, Buf);\n\t\t\t\t// file type\n\t\t\t\tm_FolderList.SetItemText(pNewItem, 2, WSTR(\"File\"));\n\t\t\t}\n\n\t\t\t// modify date\n\t\t\t//SYSTEMTIME stSysTime;\n\t\t\t//FileTimeToSystemTime(&FindFileData.ftLastWriteTime, &stSysTime);\n\t\t\t//SystemTimeToTzSpecificLocalTime(NULL, &stSysTime, &stSysTime);\n\t\t\t//sprintf(Buf, \"%d-%d-%d %d:%02d\", stSysTime.wYear, stSysTime.wMonth, stSysTime.wDay, stSysTime.wHour, stSysTime.wMinute);\n\t\t\tTSPrintf(Buf, WSTR(\"%d-%d-%d %d:%02d\"), 0, 0, 0, 0, 0, 0);\n\t\t\tm_FolderList.SetItemText(pNewItem, 3, Buf);\n\t\t}\n\n\t\tif (!cFile.FindNextFile(&FindFileData)) \n\t\t\tbContinue = false;\n\t}\n\n\tcFile.FindClose(&FindFileData);\n//\tsprintf(szPath, \"ܹ%d%dļ%dĿ¼\", nFileCount+nFolderCount, nFileCount, nFolderCount);\n//\tm_StatusWnd.SetWindowText(szPath);\n\treturn nFileCount;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispFileWnd.h",
    "content": "#ifndef _WISP_FILE_WND_H_\n#define _WISP_FILE_WND_H_\n\n#include \"WispSplitWnd.h\"\n#include \"WispListTree.h\"\n\nenum FILE_WND_ID\n{\n\tID_FOLDER_TREE, ID_FOLDER_LIST\n};\nclass CWispFileWnd :\n\tpublic CWispSplitWnd\n{\npublic:\n\tCWispFileWnd(void);\n\tvirtual ~CWispFileWnd(void);\n\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnCommand);\n\n\tint FillFolderTree(CListStringItem* pItem);\n\tint FillFolderList(CListStringItem* pItem);\n\nprotected:\n\tCWispListTree\t\tm_FolderTree, m_FolderList;\n\tCWispEdit\tm_StatusWnd;\n};\n\n#endif//_WISP_FILE_WND_H_\n"
  },
  {
    "path": "Project/Wisp/Source/WispFont.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispBase.h\"\n#include \"WispFont.h\"\n\nCWispFont::CWispFont()\n{\n\tm_BufSize=\n\tm_Width=\n\tm_Height=\n\t\n\tm_WideBufSize=\n\tm_WideWidth=\n\tm_WideHeight=0;\n\n\tm_Buffer=\n\tm_WideBuffer=NULL;\n}\n\nbool CWispFont::LoadChar(WISP_PHYS_FONT_INFO*pFontInfo)\n{\n\tCImageFile ImageFile;\n\tImageFile.ChangeFileIO(&gpCurWisp->m_PFSFileIO);\n\tm_Buffer = NULL;\n\tm_BufSize = 0;\n\tm_Width = 0;\n\tm_Height = 0;\n\tif(ImageFile.Open(pFontInfo->FontFN)==false)\n\t\treturn false;\n\tm_BufSize=(int)ImageFile.GetFileLength();\n\tif(m_BufSize==0)\n\t{\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tm_Buffer=new BYTE[m_BufSize];\n\tif(m_Buffer==NULL)\n\t{\n\t\tm_BufSize=0;\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tif(ImageFile.ReadFile(0,m_Buffer,m_BufSize)==false)\n\t{\n\t\tm_BufSize=0;\n\t\tSafeDelete(m_Buffer);\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tm_Width = pFontInfo->Width;\n\tm_Height = pFontInfo->Height;\n\tImageFile.Close();\n\n\tfor(int i=0;i<0x100;i++)\n\t\tm_CharLenAry[i]=8;\n\tm_CharLenAry[0x00]=\n\tm_CharLenAry[0x0D]=\n\tm_CharLenAry[0x0A]=0;\n\tm_BytesPerChar = (m_Width * m_Height + 7)/8;\n\treturn true;\n}\n\nbool CWispFont::LoadWideChar(WISP_PHYS_FONT_INFO*pFontInfo)\n{\n\tCImageFile ImageFile;\n\tImageFile.ChangeFileIO(&gpCurWisp->m_PFSFileIO);\n\tm_WideBuffer = NULL;\n\tm_WideBufSize = 0;\n\tm_WideWidth = 0;\n\tm_WideHeight = 0;\n\tif(ImageFile.Open(pFontInfo->WideFontFN)==false)\n\t\treturn false;\n\tm_WideBufSize=(int)ImageFile.GetFileLength();\n\tif(m_WideBufSize==0)\n\t{\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tm_WideBuffer=new BYTE[m_WideBufSize];\n\tif(m_WideBuffer==NULL)\n\t{\n\t\tm_WideBufSize=0;\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tif(ImageFile.ReadFile(0,m_WideBuffer,m_WideBufSize)==false)\n\t{\n\t\tm_WideBufSize=0;\n\t\tSafeDelete(m_WideBuffer);\n\t\tImageFile.Close();\n\t\treturn false;\n\t}\n\tm_WideWidth = pFontInfo->Width*2;\n\tm_WideHeight = pFontInfo->Height;\n\tImageFile.Close();\n\treturn true;\n\n}\n\nvoid CWispFont::Destroy()\n{\n\tSafeDelete(m_Buffer);\n\tSafeDelete(m_WideBuffer);\n}\n\nBYTE*CWispFont::GetCharPixelBuffer(WISP_CHAR Char)\n{\n\tif(Char<0x100)\n\t{\n\t\treturn &m_Buffer[Char*m_BytesPerChar];\n\t}\n\telse\n\t{\n\t\tint Offset=Char*m_BytesPerChar*2;\n\t\tif(m_WideBuffer && Offset<m_WideBufSize)\n\t\t\treturn &m_WideBuffer[Offset];\n\t\telse\n\t\t\treturn &m_Buffer['?'*m_BytesPerChar];\n\t}\n}\n\nint\tCWispFont::GetCharWidth(WISP_CHAR Char)\n{\n\tif(Char < 0x100)\n\t{\n\t\treturn m_Width;\n\t}\n\telse\n\t{\n\t\tif(m_WideBuffer)\n\t\t\treturn m_WideWidth;\n\t\treturn m_Width;\n\t}\n}\n\nint\tCWispFont::GetCharHeight(WISP_CHAR Char)\n{\n\tif(Char < 0x100)\n\t{\n\t\treturn m_Height;\n\t}\n\telse\n\t{\n\t\tif(m_WideBuffer)\n\t\t\treturn m_WideHeight;\n\t\treturn m_Height;\n\t}\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispFont.h",
    "content": "#ifndef _WISP_FONT_DATA_H_\n#define _WISP_FONT_DATA_H_\n\n\nenum WISP_FONT_ID\n{\n\tWISP_FONT_8X16=0,\n\tWISP_FONT_6X12,\n\tWISP_FONT_ASCII_12X16,\n\tWISP_FONT_EBCDIC_12X16,\n\tWISP_FONT_ANSI_12X16,\n\tWISP_FONT_COUNT\n};\n\nstruct WISP_PHYS_FONT_INFO\n{\n\tint\t\tWidth;\n\tint\t\tHeight;\n\tPCSTR\tFontFN;\n\tPCSTR\tWideFontFN;\n};\n\nclass CWispFont\n{\npublic:\n\tCWispFont();\npublic:\n\tbool\tLoadChar(WISP_PHYS_FONT_INFO*pFontInfo);\n\tbool\tLoadWideChar(WISP_PHYS_FONT_INFO*pFontInfo);\n\tvoid\tDestroy();\n\tint\t\tm_CharLenAry[256];\n\tint\t\tm_Height;\t\t\t\t\t\t\t\t\t\t//ĸ߶\n\tint\t\tm_Width;\t\t\t\t\t\t\t\t\t\t//Ŀ\n\tBYTE*\tm_Buffer;\t\t\t\t\t\t\t\t\t\t//ģָ\n\tint\t\tm_BufSize;\t\t\t\t\t\t\t\t\t\t//ģС\n\n\tint\t\tm_WideHeight;\t\t\t\t\t\t\t\t\t//ĸ߶\n\tint\t\tm_WideWidth;\t\t\t\t\t\t\t\t\t//Ŀ\n\tBYTE*\tm_WideBuffer;\t\t\t\t\t\t\t\t\t//ģָ\n\tint\t\tm_WideBufSize;\t\t\t\t\t\t\t\t\t//ģС\n\tint\t\tm_BytesPerChar;\t\t\t\t\t\t\t\t\t//ÿַռֽ\n\n\tBYTE*\tGetCharPixelBuffer(WISP_CHAR Char);\n\tint\t\tGetCharWidth(WISP_CHAR Char);\n\tint\t\tGetCharHeight(WISP_CHAR Char);\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"Wisp.h\"\n\nWISP_MSG_MAP_BEGIN(CWispForm)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispForm)\n\tWISP_MSG_CMD_MAP(WISP_ID_CLOSE,OnCmdClose)\n\tWISP_MSG_CMD_MAP(WISP_ID_CANCEL,OnCmdCancel)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnCmdOK)\nWISP_MSG_CMD_MAP_DEFAULT_END(OnBTCmdDefault)\n\nCWispForm::CWispForm(void)\n{\n\tm_CtrlType = WISP_CTRL_FORM;\n\tm_Result = WISP_ID_NULL;\n\tm_pFormRes = NULL;\n}\n\nCWispForm::~CWispForm(void)\n{\n}\n\nbool CWispForm::CreateForm(CWispBaseWnd*pParenWnd,UINT ShowMode)\n{\n\tCODE_ASSERT(m_pFormRes);\n\tm_ParentWnd = pParenWnd;\n\tif(LoadForm(m_pFormRes)==false)\n\t\treturn false;\n\tm_Result = WISP_ID_NULL;\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_FORM_CREATE;\n\tSEND_MSG(&Msg);\n\tCenter(pParenWnd);\n\tFocus();\n\tShow(ShowMode);\n\treturn true;\n}\n\nbool CWispForm::LoadForm(WISP_FORM_RES_ITEM*ItemAry)\n{\n\tCWispBaseWnd*pWnd;\n\tfor(int n=0;ItemAry[n].Type!=WISP_CTRL_NULL;n++)\n\t{\n\t\tswitch(ItemAry[n].Type)\n\t\t{\n\t\tcase WISP_CTRL_FORM:\n\t\t\tif(Create(ItemAry[n].pName,ItemAry[n].rc,m_ParentWnd,ItemAry[n].CmdID,ItemAry[n].Style)==false)\n\t\t\t\treturn false;\n\t\t\tif(ItemAry[n].pData)\n\t\t\t\tLoadTitleDIB((PCSTR)ItemAry[n].pData);\n\t\t\tpWnd = this;\n\t\t\tbreak;\n\t\tcase WISP_CTRL_BUTTON:\n\t\t\tpWnd = new CWispButton;\n\t\t\t((CWispButton*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_EDIT:\n\t\t\tpWnd = new CWispEdit;\n\t\t\t((CWispEdit*)pWnd)->Create(ItemAry[n].rc,ItemAry[n].Style,this,ItemAry[n].CmdID);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_LIST:\n\t\t\tpWnd = new CWispList;\n\t\t\t((CWispList*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_STATIC_STRING:\n\t\t\tpWnd = new CWispStaticStr;\n\t\t\t((CWispStaticStr*)pWnd)->Create((WISP_CHAR*)ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_STATIC_URL:\n\t\t\tpWnd = new CWispStaticURL;\n\t\t\t((CWispStaticURL*)pWnd)->Create((WISP_CHAR*)ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_STATIC_DIB:\n\t\t\tpWnd = new CWispStaticDIB;\n\t\t\t((CWispStaticDIB*)pWnd)->Create(WispDIB((PCSTR)ItemAry[n].pData,0),ItemAry[n].rc.x,ItemAry[n].rc.y,this,ItemAry[n].CmdID);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_STATIC_GROUP:\n\t\t\tpWnd = new CWispStaticGroup;\n\t\t\t((CWispStaticGroup*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_COMBO_BOX:\n\t\t\tpWnd = new CWispComboBox;\n\t\t\t((CWispComboBox*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_PROGRESS:\n\t\t\tpWnd = new CWispProgress;\n\t\t\t((CWispProgress*)pWnd)->Create(NULL,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_TAB:\n\t\t\tpWnd = new CWispTabWnd;\n\t\t\t((CWispTabWnd*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_CHECK_BOX:\n\t\t\tpWnd = new CWispCheckBox;\n\t\t\t((CWispCheckBox*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tcase WISP_CTRL_RADIO_BOX:\n\t\t\tpWnd = new CWispRadioBox;\n\t\t\t((CWispRadioBox*)pWnd)->Create(ItemAry[n].pName,ItemAry[n].rc,this,ItemAry[n].CmdID,ItemAry[n].Style);\n\t\t\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t\tif(ItemAry[n].CmdID)\n\t\t\t\tm_FormItemMap.InsertUnique(ItemAry[n].CmdID,pWnd);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t//CODE_WARNING(\"Wisp : Unsupport control type !\");\n\t\t\tbreak;\n\t\t}\n\t\tif(ItemAry[n].pTipString)\n\t\t\tpWnd->EnableHelpTip(ItemAry[n].pTipString);\n\t\tif(pWnd->m_Style&WISP_WS_DEFAULT)\n\t\t\tpWnd->Focus();\n\t}\n\treturn true;\n}\n\nCWispBaseWnd* CWispForm::GetFormItem(UINT CmdID)\n{\n\tTMap<UINT,CWispBaseWnd*>::IT Iter = m_FormItemMap.Find(CmdID);\n\tif(Iter==m_FormItemMap.End())\n\t\treturn NULL;\n\treturn *Iter;\n}\n\nbool CWispForm::Destroy()\n{\n\tm_FormItemMap.Clear();\n\treturn CWispWnd::Destroy();\n}\n\nbool CWispForm::OnCmdClose(IN WISP_MSG*pMsg)\n{\n\tm_Result = WISP_ID_CANCEL;\n\treturn true;\n}\n\nbool CWispForm::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_ESCAPE && pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tif(m_Style&WISP_WS_BT_CLOSE)\n\t\t{\n\t\t\tPostCloseMsg();\n\t\t}\n\t\treturn true;\n\t}\n\treturn true;\n}\n\nbool CWispForm::OnCmdCancel(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tm_Result = WISP_ID_CANCEL;\n\t\tPostCloseMsg();\n\t}\n\treturn false;\n}\n\nbool CWispForm::OnCmdOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tm_Result = WISP_ID_OK;\n\t\tPostCloseMsg();\n\t}\n\treturn false;\n}\n\nbool CWispForm::OnBTCmdDefault(IN WISP_MSG*pMsg)\n{\n\tif(\tpMsg->Command.CmdMsg == WISP_CMD_BT_UP\t&&\n\t\tpMsg->Command.CmdID > WISP_ID_FORM_CLOSE_ID_START && \n\t\tpMsg->Command.CmdID < WISP_ID_FORM_CLOSE_ID_END\t)\n\t{\n\t\tm_Result = pMsg->Command.CmdID;\n\t\tPostCloseMsg();\n\t}\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispForm.h",
    "content": "#ifndef _WISP_FORM_H_\n#define _WISP_FORM_H_\n\n#include \"WispWnd.h\"\n\n#define WISP_WFS_DIALOG\t\t(WISP_WS_CAPTION|WISP_WS_BT_CLOSE|WISP_WS_BORDER)\n\nclass CWispForm : public CWispWnd\n{\npublic:\n\tCWispForm(void);\n\tvirtual ~CWispForm(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnBTCmdDefault)\n\tDECLARE_WISP_MSG_CMD(OnCmdClose)\n\tDECLARE_WISP_MSG_CMD(OnCmdCancel)\n\tDECLARE_WISP_MSG_CMD(OnCmdOK)\npublic:\n\tbool\tCreateForm(CWispBaseWnd*pParenWnd = NULL,UINT ShowMode = WISP_SH_NORMAL);\n\tbool\tLoadForm(WISP_FORM_RES_ITEM*ItemAry);\n\tbool\tDestroy();\n\tCWispBaseWnd*GetFormItem(UINT CmdID);\n\tTMap<UINT,CWispBaseWnd*>m_FormItemMap;\n\tUINT\tGetFormResult(){return m_Result;}\npublic:\n\tUINT\tm_Result;\n\tWISP_FORM_RES_ITEM*m_pFormRes;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispHeader.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispHeader.h\"\n\n// CWispHeader\nWISP_MSG_MAP_BEGIN(CWispHeader)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_BORDER,OnUpdateBorder)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_BEGIN_DRAG,OnBeginDrag)\n\tWISP_MSG_MAP(WISP_WM_DRAG_MOVE,OnDragMove)\n\tWISP_MSG_MAP(WISP_WM_END_DRAG,OnEndDrag)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\n\nCWispHeader::CWispHeader()\n{\n\tm_ColumnDrag = false;\n\tm_RestoreCursor=false;\n\tm_ColumnOrgIndex=NULL;\n\tm_ColumnIndexCounter=0;\n\tm_LButtonDownEventType = MAX_LBUTTONDOWN_TYPE;\n\tm_CtrlType = WISP_CTRL_HEADER;\n}\n\nCWispHeader::~CWispHeader()\n{\n}\n\nbool CWispHeader::OnUpdateBorder(IN WISP_MSG*pMsg)\n{\n\treturn false;\n}\n\nbool CWispHeader::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tWISP_POINT point = pMsg->MsgMouseScrPT;\n\tScreenToClient(&point);\n\tDrawScreen(point,pMsg);\n\treturn false;\n}\n\nbool CWispHeader::OnKeyEvent(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\treturn OnMouseLButtonDown(pMsg);\n\t\telse\n\t\t\treturn OnMouseLButtonUp(pMsg);\n\treturn true;\n}\n\nbool CWispHeader::OnMouseLeave(IN WISP_MSG* pMsg)\n{\n\tif(m_ColumnDrag)\n\t{\n\t\tif(pMsg->bMsgLBTDown==false)\n\t\t{\n\t\t\tEndDrag();\n\t\t\tgpCurWisp->RestorCursorType();\n\t\t\tm_RestoreCursor=false;\n\t\t\tUpdate();\n\t\t\treturn true;\n\t\t}\n\t\tOnDragMove(pMsg);\n\t\tUpdate();\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(m_RestoreCursor)\n\t\t{\n\t\t\tgpCurWisp->RestorCursorType();\n\t\t\tm_RestoreCursor=false;\n\t\t\tUpdate();\n\t\t\treturn false;\n\t\t}\n\t\tUpdate();\n\t\treturn true;\n\t}\n}\n\nint CWispHeader::PointInItemIndex(IN WISP_POINT point,int *xdel,int *ydel)\n{\n\tint i,j,nColCount = GetItemCount();\n\tWISP_RECT\trect={0, 0, 0, m_WindowRect.cy},rcText;\t\n\t\t\n\trcText.cy = m_WindowRect.cy;\n\trcText.y = rect.y;\n\tfor(j=0; j<nColCount; j++)\n\t{\n\t\ti=GetItemIndex(j);\n\t\trect.cx\t= m_vColumns[i]->nWidth;\n\t\tif(rect.cx <=0 && i!=(nColCount-1))\n\t\t\tcontinue;\n\t\tif( rect.cx > m_ClientRect.cx )\n\t\t\trect.cx = m_ClientRect.cx;\n\t\trcText.x = rect.x;\n\t\trcText.cx = rect.cx;\n\t\tif(PtInRect(&rcText,point))\n\t\t{\n\t\t\tif(xdel)\n\t\t\t\t*xdel=point.x-rcText.x;\n\t\t\tif(ydel)\n\t\t\t\t*ydel=point.y-rcText.y;\n\t\t\treturn i;\n\t\t}\n\t\trect.x+=m_vColumns[i]->nWidth;\n\t}\n\treturn i;\n}\n\nbool CWispHeader::OnMouseMove(IN WISP_MSG *pMsg)\n{\t\n\tint i,j,nColCount = GetItemCount();\t\n\tWISP_RECT\trect={0, 0, 0, m_WindowRect.cy},rcText;\n\tWISP_POINT point = pMsg->MsgMouseScrPT;\n\n\tScreenToClient(&point);\n\trcText.cx = HEADER_MARGIN;\n\trcText.cy = m_WindowRect.cy;\n\trcText.y = rect.y;\n\tfor(j=0; j<nColCount; j++)\n\t{\n\t\ti = GetItemIndex(j);\n\t\trect.cx\t= m_vColumns[i]->nWidth;\n\t\tif(rect.cx <=0 && j!=(nColCount-1))\n\t\t\tcontinue;\n\t\tif( rect.cx > m_ClientRect.cx )\n\t\t\trect.cx = m_ClientRect.cx;\n\t\trcText.x = rect.x;\n\t\tif(PtInRect(&rcText,point))\n\t\t{\n\t\t\tif(j!=0)\n\t\t\t{\n\t\t\t\tgpCurWisp->ChangeCursorType(WISP_CT_RESIZE_HORZ);\t\t\t\n\t\t\t\tm_RestoreCursor=true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\trcText.x = rect.x + m_vColumns[i]->nWidth - HEADER_MARGIN;\n\t\tif(PtInRect(&rcText,point))\n\t\t{\n\t\t\tgpCurWisp->ChangeCursorType(WISP_CT_RESIZE_HORZ);\n\t\t\tm_RestoreCursor=true;\n\t\t\treturn false;\n\t\t}\n\t\trect.x += m_vColumns[i]->nWidth;\n\t}\n\trcText.x = rect.x;\n\trcText.cx = HEADER_MARGIN;\n\trcText.cy = m_WindowRect.cy;\n\trcText.y = rect.y;\n\tif(PtInRect(&rcText,point))\n\t{\t\n\t\tif(j!=0)\n\t\t{\t\t\t\t\n\t\t\tgpCurWisp->ChangeCursorType(WISP_CT_RESIZE_HORZ);\t\t\t\n\t\t\tm_RestoreCursor=true;\n\t\t\treturn false;\n\t\t}\n\t}\n\tif(m_RestoreCursor)\n\t{\n\t\tgpCurWisp->RestorCursorType();\n\t\tm_RestoreCursor=false;\n\t}\n\tUpdate();\n\treturn true;\n}\n\nbool CWispHeader::OnMouseLButtonDown(IN WISP_MSG* pMsg)\n{\n\tint i,j,nColCount = GetItemCount();\t\n\tWISP_RECT\trect={0, 0, 0, m_WindowRect.cy},rcText,rcDrag;\n\tWISP_POINT point = pMsg->MsgMouseScrPT;\n\n\tScreenToClient(&point);\n\trcText.cx = HEADER_MARGIN;\n\trcText.cy = m_WindowRect.cy;\n\trcText.y = rect.y;\n\trcDrag.y = rect.y;\n\trcDrag.cy = m_WindowRect.cy;\n\tfor(j=0; j<nColCount; j++)\n\t{\n\t\ti = GetItemIndex(j);\n\t\trect.cx = m_vColumns[i]->nWidth;\n\t\tif(rect.cx <=0)\n\t\t\tcontinue;\n\t\tif( rect.cx > m_ClientRect.cx )\n\t\t\trect.cx = m_ClientRect.cx;\n\t\trcText.x = rect.x;\n\t\tif(PtInRect(&rcText,point))\n\t\t{\n\t\t\tif(j!=0)\n\t\t\t{\n\t\t\t\tm_DragColumnIndex = GetItemIndex(j - 1);\n\t\t\t\tm_LButtonDownEventType=MODIFY_ITEM_WIDTH;\n\t\t\t\tBeginDrag();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\trcText.x = rect.x + m_vColumns[i]->nWidth - HEADER_MARGIN;\n\t\tif(PtInRect(&rcText,point))\n\t\t{\n\t\t\tm_LButtonDownEventType=MODIFY_ITEM_WIDTH;\n\t\t\tm_DragColumnIndex = i;\n\t\t\tBeginDrag();\n\t\t\treturn false;\n\t\t}\n\t\trcDrag.x = rect.x+HEADER_MARGIN;\n\t\trcDrag.cx = rect.cx - 2 * HEADER_MARGIN;\n\t\tif(rcDrag.cx>0)\n\t\t{\n\t\t\tif(PtInRect(&rcDrag,point))\n\t\t\t{\n\t\t\t\tm_LButtonDownEventType=EXCHANGE_ITEM_POSITION;\n\t\t\t\tm_DragColumnIndex=i;\n\t\t\t\tBeginDrag();\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\trect.x += m_vColumns[i]->nWidth;\n\t}\n\trcText.x = rect.x;\n\trcText.cx = HEADER_MARGIN;\n\trcText.cy = m_WindowRect.cy;\n\trcText.y = rect.y;\n\tif(PtInRect(&rcText,point))\n\t{\n\t\tif(j!=0)\n\t\t{\n\t\t\tm_DragColumnIndex = GetItemIndex(j - 1);\t\t\t\t\t\t\n\t\t\tm_LButtonDownEventType=MODIFY_ITEM_WIDTH;\n\t\t\tBeginDrag();\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispHeader::OnMouseLButtonUp(IN WISP_MSG* pMsg)\n{\n\tif(m_ColumnDrag)\n\t{\n\t\tEndDrag();\n\t\tif(m_LButtonDownEventType==EXCHANGE_ITEM_POSITION)\n\t\t{\n\t\t\tWISP_POINT point = pMsg->MsgMouseScrPT;\n\t\t\tint x,i;\n\t\t\tScreenToClient(&point);\n\t\t\ti = PointInItemIndex(point,&x);\n\t\t\tif( i !=m_DragColumnIndex)\n\t\t\t{\n\t\t\t\tif(m_DragBeginPt.x >pMsg->MsgMouseWndPT.x)\n\t\t\t\t{\n\t\t\t\t\tif(x > (m_vColumns[i]->nWidth/2))\n\t\t\t\t\t\treturn true;\n\t\t\t\t}else\n\t\t\t\t\tif(x < (m_vColumns[i]->nWidth/2))\n\t\t\t\t\t\treturn true;\n\t\t\t\tint n=GetItemCount();\n\n\t\t\t\tfor(int j=0;j<n;j++)\n\t\t\t\t{\n\t\t\t\t\tif(m_ColumnOrgIndex[j]==i)\n\t\t\t\t\t\tm_ColumnOrgIndex[j]=m_DragColumnIndex;\n\t\t\t\t\telse if(m_ColumnOrgIndex[j]==m_DragColumnIndex) \n\t\t\t\t\t\tm_ColumnOrgIndex[j]=i;\n\t\t\t\t}\n\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd=m_OwnerWnd;\n\t\t\t\tMsg.Msg=WISP_WM_COMMAND;\n\t\t\t\tMsg.Command.CmdID=m_CmdID;\n\t\t\t\tMsg.Command.CtrlType= WISP_CTRL_HEADER;\n\t\t\t\tMsg.Command.CmdMsg=WISP_CMD_HD_EXCHANGE_ITEM;\n\t\t\t\tgpCurWisp->SendMessage(&Msg);\n\t\t\t}\t\t\t\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CWispHeader::OnBeginDrag(IN WISP_MSG* pMsg)\n{\n\tm_PrevDragPoint = pMsg->DragEvent.BeginMouseWndPT;\n\tm_DragBeginPt = pMsg->DragEvent.BeginMouseWndPT;\n\tm_ColumnDrag = true;\n\tm_PrevWidth=0;\n\tm_DragMoving=false;\n\treturn false;\n}\n\nbool CWispHeader::OnDragMove(IN WISP_MSG* pMsg)\n{\n\tint Width;\n\tif(m_LButtonDownEventType==MODIFY_ITEM_WIDTH)\n\t{\t\n\t\tif(m_PrevWidth<0)\n\t\t\tWidth = m_PrevWidth + (pMsg->MsgMouseWndPT.x - m_PrevDragPoint.x);\n\t\telse\n\t\t\tWidth = m_vColumns[m_DragColumnIndex]->nWidth + (pMsg->MsgMouseWndPT.x - m_PrevDragPoint.x);\n\t\tif(Width<=0)\n\t\t\tSetItemWidth(0,m_DragColumnIndex);\n\t\telse\n\t\t\tSetItemWidth(Width,m_DragColumnIndex);\n\t\tm_PrevWidth=Width;\n\t\tm_PrevDragPoint = pMsg->MsgMouseWndPT;\n\t}\n\tif(m_LButtonDownEventType==EXCHANGE_ITEM_POSITION)\n\t{\n\t\tm_DragMoving=true;\n\t\tm_PrevDragPoint = pMsg->MsgMouseWndPT;\n\t}\n\tUpdate();\n\treturn true;\n}\n\nbool CWispHeader::OnEndDrag(IN WISP_MSG* pMsg)\n{\n\tm_ColumnDrag = false;\n\treturn false;\n}\n\nbool CWispHeader::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_vColumns.Clear();\n\tSafeDelete(m_ColumnOrgIndex);\n\tm_ColumnIndexCounter=0;\n\treturn true;\n}\n\n// CWispHeader message handlers\nint CWispHeader::InsertItem(const WHITEM& HeaderItem, int nCol)\n{\n\tint ColumnNum=(int)m_vColumns.Count();\n\tif(ColumnNum+1>m_ColumnIndexCounter)\n\t{\n\t\tint *pTmpPointer;\n\t\tpTmpPointer=new int[m_ColumnIndexCounter+15];\n\t\tif(m_ColumnOrgIndex)\n\t\t{\t\t\t\n\t\t\tmemcpy(pTmpPointer,m_ColumnOrgIndex,sizeof(int)*m_ColumnIndexCounter);\n\t\t\tdelete []m_ColumnOrgIndex;\n\t\t}\n\t\tm_ColumnOrgIndex=pTmpPointer;\n\t\tm_ColumnIndexCounter+=15;\n\t}\n\tm_ColumnOrgIndex[ColumnNum]=ColumnNum;\n\tm_ColumnOrgIndex[ColumnNum]=ColumnNum;\n\tif( nCol==-1 || nCol>=(int)m_vColumns.Count() )\n\t\tm_vColumns.Append(HeaderItem);\n\telse\n\t\tm_vColumns.InsertBefore(m_vColumns[nCol], HeaderItem);\n\tUpdate();\n\treturn m_vColumns.Count();\n}\n\nint CWispHeader::InsertItem(const WISP_CHAR* lpszHeading, int nWidth, int nFormat, void* pData, int nCol)\n{\n\tWHITEM\tstColumn;\n\tstColumn.strHeading\t= lpszHeading;\n\tstColumn.nFormat\t= nFormat;\n\tstColumn.nWidth\t\t= nWidth==-1?10:nWidth;\n\tstColumn.pData\t\t= pData;\n\n\treturn InsertItem(stColumn, nCol);\n}\n\nvoid CWispHeader::SetItemText(const WISP_CHAR* pszHeading, int nCol)\n{\n\tm_vColumns[nCol]->strHeading = pszHeading;\n}\n\nvoid CWispHeader::SetItemWidth(const int nWidth, int nCol)\n{\n\tm_vColumns[nCol]->nWidth = nWidth;\n}\n\nvoid CWispHeader::DrawHeader(WISP_POINT& point,IN WISP_MSG *pMsg)\n{\n\tACTIVE_STATUS eStatus;\n\tint nColCount = GetItemCount();\n\tint i,j;\n\tWISP_RECT\trect={0, 0, 0, m_WindowRect.cy},rcDrag,rcMouseIn;\n\n\trcMouseIn.cx = 0;rcMouseIn.cy = 0;\n\tfor(j=0; j<nColCount; j++)\n\t{\n\t\ti = GetItemIndex(j);\n\t\trect.cx\t= m_vColumns[i]->nWidth;\n\t\tif(rect.cx <=0)\n\t\t\tcontinue;\n\t\tif( rect.cx > m_ClientRect.cx )\n\t\t\trect.cx = m_ClientRect.cx;\n\n\t\tif( PtInRect(&rect,point))\n\t\t{\n\t\t\trcMouseIn = rect;\n\t\t\teStatus = STATUS_HOVER;\n\t\t}\n\t\telse \n\t\t\teStatus = STATUS_NORMAL;\n\t\tif(m_ColumnDrag && m_LButtonDownEventType == EXCHANGE_ITEM_POSITION)\n\t\t{\n\t\t\tif(i == m_DragColumnIndex)\n\t\t\t{\n\t\t\t\teStatus=STATUS_DOWN;\n\t\t\t\trcDrag = rect;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\teStatus = STATUS_NORMAL;\n\t\t\t}\n\t\t}\n\t\tgpCurWisp->m_pCurDrawObj->DrawHeaderFrameRect(&m_ClientDC, &rect, eStatus);\n\t\tWISP_RECT\trcText={rect.x+HEADER_MARGIN, rect.y, rect.cx-2*HEADER_MARGIN, rect.cy};\n\t\tm_ClientDC.DrawString(m_vColumns[i]->strHeading,&rcText, WISP_DT_SINGLELINE|WISP_DT_VCENTER|WISP_DT_END_ELLIPSIS);\t\t\n\t\trect.x += m_vColumns[i]->nWidth;\n\t\tif( rect.x > m_ClientRect.cx )\n\t\t\treturn;\n\t}\n\t\n\trect.cx = m_ClientRect.cx-rect.x;\n\teStatus = STATUS_NORMAL;\n\tif(rect.cx)\t\t\t\n\t\tgpCurWisp->m_pCurDrawObj->DrawHeaderFrameRect(&m_ClientDC, &rect, eStatus);\t\t\t\t\n\tif(m_ColumnDrag && m_LButtonDownEventType == EXCHANGE_ITEM_POSITION)\n\t{\n\t\tif(m_DragMoving&&rcMouseIn.cx&&rcMouseIn.cy)\n\t\t{\n\t\t\tif(pMsg->MsgMouseWndPT.x < rcMouseIn.x + rcMouseIn.cx /2)\n\t\t\t{\n\t\t\t\tm_ClientDC.DrawVLine(rcMouseIn.x,rcMouseIn.y,rcMouseIn.cy+rcMouseIn.y-1,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\t\tif(rcMouseIn.x>0)\n\t\t\t\t\tm_ClientDC.DrawVLine(rcMouseIn.x-1,rcMouseIn.y,rcMouseIn.cy+rcMouseIn.y-1,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_ClientDC.DrawVLine(rcMouseIn.x+rcMouseIn.cx-1,rcMouseIn.y,rcMouseIn.cy+rcMouseIn.y-1,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\t\tm_ClientDC.DrawVLine(rcMouseIn.x+rcMouseIn.cx,rcMouseIn.y,rcMouseIn.cy+rcMouseIn.y-1,gpCurWisp->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\t}\t\t\t\n\t\t}\t\t\n\t\tDrawDragRect(rcDrag);\n\t}\n}\n\nvoid CWispHeader::DrawScreen(IN WISP_MSG *pMsg)\n{\n\tWISP_POINT point = gpCurWisp->m_MousePT;\n\tScreenToClient(&point);\n\tDrawScreen(point,pMsg);\n}\n\nvoid CWispHeader::DrawScreen(WISP_POINT &point,IN WISP_MSG *pMsg)\n{\n\tDrawHeader(point,pMsg);\n}\n\nCWispHeader::WHITEM* CWispHeader::GetItem(int nIndex)\n{\n\tif( nIndex <= (int)m_vColumns.Count() )\n\t\treturn &(*m_vColumns[m_ColumnOrgIndex[nIndex]]);\n\treturn NULL;\n}\n\nvoid CWispHeader::SetItem(int nIndex, WHITEM& HeaderItem)\n{\n\tif( nIndex <= (int)m_vColumns.Count() )\n\t*m_vColumns[m_ColumnOrgIndex[nIndex]] = HeaderItem;\n\tUpdate();\n}\nint CWispHeader::GetItemIndex(int col)const\n{\n\tif(col <= (int)m_vColumns.Count())\n\t\treturn m_ColumnOrgIndex[col];\t\n\treturn 0;\n}\nint CWispHeader::DrawDragRect(WISP_RECT rc)\n{\t\n\trc.x = rc.x + m_PrevDragPoint.x - m_DragBeginPt.x ;\n\tgpCurWisp->m_pCurDrawObj->DrawHeaderFrameRect(&m_ClientDC, &rc, STATUS_NORMAL);\n\tWISP_RECT\trcText={rc.x+HEADER_MARGIN, rc.y, rc.cx-2*HEADER_MARGIN, rc.cy};\n\tm_ClientDC.DrawString(m_vColumns[m_DragColumnIndex]->strHeading,&rcText, WISP_DT_SINGLELINE|WISP_DT_VCENTER|WISP_DT_END_ELLIPSIS);\n\treturn 0;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispHeader.h",
    "content": "#ifndef _WISP_POWER_HEADER_H_\n#define _WISP_POWER_HEADER_H_\n\n#include \"WispWnd.h\"\n\n// CWispHeader\n\n#define WHS_ALIGN_LEFT\t0x00000000\n#define WHS_INVISIBLE\t0x00010000\n#define WHS_ENABLE_EDIT\t0x00020000\n#define HEADER_MARGIN\t4\n\n\nclass CWispHeader : public CWispWnd\n{\n\npublic:\n\ttypedef struct stWispHeaderItem\n\t{\n\t\tTWispString\tstrHeading;\n\t\tINT\t\t\tnFormat;\t\n\t\tINT\t\t\tnWidth;\t\t//п\n\t\tvoid*\t\tpData;\t\t//ûԶ\n\t}WHITEM;\n\npublic:\n\tCWispHeader();\n\tvirtual ~CWispHeader();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnUpdateBorder);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnMouseLButtonDown);\n\tDECLARE_WISP_MSG(OnMouseLButtonUp);\n\tDECLARE_WISP_MSG(OnDragMove);\n\tDECLARE_WISP_MSG(OnBeginDrag);\n\tDECLARE_WISP_MSG(OnEndDrag);\n\tDECLARE_WISP_MSG(OnMouseMove);\n\tDECLARE_WISP_MSG(OnDestroy);\n\n\tvirtual void DrawScreen(IN WISP_MSG *pMsg);\n\tvirtual void DrawScreen(WISP_POINT &point,IN WISP_MSG *pMsg);\n\n\tint InsertItem(const WHITEM& HeaderItem, int nCol = -1);\n\tint InsertItem(const WISP_CHAR* pszHeading, int nWidth = -1, int nFormat = WHS_ALIGN_LEFT, void* pData = 0, int nCol = -1);\n\tvoid SetItemText(const WISP_CHAR* pszHeading, int nCol);\n\tvoid SetItemWidth(const int nWidth, int nCol);\n\n\tint GetItemCount() { return m_vColumns.Count(); }\n\tWHITEM* GetItem(int nIndex);\n\tvoid SetItem(int nIndex, WHITEM& HeaderItem);\n\tint GetItemIndex(int col)const;\n\nprotected:\n//\tDWORD\t\tm_dwStyle;\n//\tWISP_RECT\tm_rcBoundary;\t//Χ߽\n//\tCWispWnd*\tm_pWndParent;\n//\tUINT\t\tm_nID;\t\t\t//ID\n\tint\t\tm_DragColumnIndex;\n\tbool\tm_ColumnDrag;\n\tbool\tm_DragMoving;\n\tbool\tm_RestoreCursor;\n\tWISP_POINT m_PrevDragPoint;\n\tint\t\tm_PrevWidth;\n\tTList<WHITEM>\t\tm_vColumns;\n\n\tvoid DrawHeader(WISP_POINT& point,IN WISP_MSG *pMsg);\t\n\t\npublic:\n\tint *m_ColumnOrgIndex;\n\tint m_ColumnIndexCounter;\n\tWISP_POINT m_DragBeginPt;\n\ttypedef enum{MODIFY_ITEM_WIDTH,EXCHANGE_ITEM_POSITION,MAX_LBUTTONDOWN_TYPE}\tHEADER_LBUTTONDOWN_TYPE;\n\tHEADER_LBUTTONDOWN_TYPE m_LButtonDownEventType;\n\tint PointInItemIndex(IN WISP_POINT point,int *xdel=NULL,int *ydel=NULL);\n\tint DrawDragRect(WISP_RECT rc);\n};\n\n#endif//_WISP_POWER_HEADER_H_\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispHexWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispHexWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispHexWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_CHAR,OnChar)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispHexWnd)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSLIDE,OnCmdVSlide);\nWISP_MSG_CMD_MAP_END\n\nbool CWispHexWnd::OnCmdVSlide(IN WISP_MSG*pMsg)\n{\n\tif((m_Style & WISP_HEX_WS_RELATIVE_SCROLL) && pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t{\n\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,false);\n\t}\n\treturn true;\n}\n\nbool CWispHexWnd::OnSize(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_HEX_WS_RELATIVE_SCROLL)\n\t{\n\t\tif(m_bShowOffset)\n\t\t\tSetScrollBarInfo(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,m_nLinePerPage*(m_ScrollSpace+m_ScrollSpace+1),m_nLinePerPage-1,0,false);\n\t\telse\n\t\t\tSetScrollBarInfo(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,m_nLinePerPage*(m_ScrollSpace+m_ScrollSpace+1),m_nLinePerPage,0,false);\n\t}\n\telse\n\t{\n\t\tSetScrollBarRange(WISP_SB_VERT,m_ImageHighBase/m_nByte_Line,m_ImageBase/m_nByte_Line);\n\t}\n\tSetScrollBarInfo(WISP_SB_HORZ,m_CharXPos,m_CharMax,m_nChars_Line,0);\n\treturn true;\n}\n\nbool CWispHexWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_ItemColor[HEX_START_INDEX]=SYS_COLOR[SC_BLACK];\n\tm_ItemColor[HEX_POS_INDEX]=SYS_COLOR[SC_LIGHT_CYAN];\n\tm_ItemColor[HEX_HEX_INDEX]=SYS_COLOR[SC_LIGHT_GREEN] ;\n\tm_ItemColor[HEX_ASCII_INDEX]=SYS_COLOR[SC_UNNAMED_10];\n\tm_BSelColor=SYS_COLOR[SC_UNNAMED_11];\n\tm_TSelColor=SYS_COLOR[SC_WHITE];\n\tm_BBPXColor=SYS_COLOR[SC_UNNAMED_12];\n\n\tEnableScrollBar(WISP_SB_VERT);\n\tEnableScrollBar(WISP_SB_HORZ);\n\tCreateCaret(WISP_DI_CARET);\n\tShowCaret(true);\n\tSetCaretPos(0,0);\n\tm_SelStart=m_SelEnd=-1;\n\tm_bSelect=m_bSelText=false;\n\tm_CurAddr=0;\n\tm_CharXPos=0;\n\tm_bBGColor\t= true;\n\tm_crBGColor = SYS_COLOR[SC_BLACK];\n\tm_CaretPos.x = m_CaretPos.y = 0;\n\tm_AddrShowMode=ADDRESS_MODE_HEX;\n\tm_BaseActiveAddress=0;\n\tmemset(m_PrevData,0,sizeof(m_PrevData));\n\tm_PrevDataAddress=0;\n\tm_PrevDataLen=0;\n\tm_CurrentDataLen=0;\n\treturn true;\n}\n\nbool CWispHexWnd::OnChar(IN WISP_MSG*pMsg)\n{\n\tCHAR\tNumBuffer[10];\n\tDWORD\tAddr;\n\tint\t\tnLine;\n\tBYTE    DataBuf[4];\n\tBYTE\tValueB;\n\tULPOS Pos,OldPos;\n\tWISP_MSG Msg;\n\tint Index;\n\tint BeginLine=GetStartLine();\n\tWISP_CHAR nChar = pMsg->Char.Char;\n\tIndex = CorrectHitPoint(&m_CaretPos);\n\tif(Index==HEX_ASCII_INDEX)\n\t{\n\t\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\t\treturn true;\n\t\tif(m_CaretIndex>=m_nByte_Line)\n\t\t\treturn true;\n\t\tif(ReadData(Pos,DataBuf,1)==0)\n\t\t\treturn true;\n\t\tDataBuf[0]=(char)nChar;\n\t\tif(WriteData(Pos,DataBuf,1)==0)\n\t\t\treturn true;\n\t\tMsg.KeyEvent.bKeyDown=true;\n\t\tMsg.KeyEvent.KeyType=WISP_VK_RIGHT;\n\t\tOnKeyEvent(&Msg);\n\t\treturn true;\n\t}\n\tif((nChar >='0' && nChar <='9') || (nChar <='F' && nChar >='A') || (nChar <='f' && nChar >='a'))\n\t{\n\t\t//if(CorrectHitPoint(&m_CaretPos)!=HEX_POS_INDEX)\n\t\t//\treturn true;\n\t\tswitch(Index)\n\t\t{\n\t\t\tcase HEX_POS_INDEX:\n\t\t\t{\n\t\t\t\tif(m_CaretIndex<8)\n\t\t\t\t{\n\t\t\t\t\tOldPos=m_CurAddr+(m_CaretnLine-BeginLine)*m_nByte_Line;\n\t\t\t\t\tTSPrintf(NumBuffer,\"%08X\",OldPos);\n\t\t\t\t\tNumBuffer[m_CaretIndex]=(CHAR)nChar;\n\t\t\t\t\tif(USHexStrToNum(NumBuffer,&Addr)==false)\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tnLine=(ULPOS)(Addr-m_ImageBase)/m_nByte_Line;\n\t\t\t\t\tif(nLine<m_CaretnLine)\n\t\t\t\t\t{\n\t\t\t\t\t\tm_CaretPos.y=nLine*m_LineHeight;\n\t\t\t\t\t\tViewAddressMsg(m_ImageBase);\n\t\t\t\t\t\tm_CaretPos.x+=m_CharWidth;\n\t\t\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\t\t\tUpdate();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tnLine-=m_CaretnLine;\n\t\t\t\t\tif((DWORD)nLine<=m_ImageHighBase/m_nByte_Line-m_nLinePerPage)\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t\tViewAddressMsg(Addr-OldPos+m_CurAddr);\n\t\t\t\t\t\tm_CaretPos.x+=m_CharWidth;\n\t\t\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\t\t\tUpdate();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif((DWORD)nLine<m_ImageHighBase/m_nByte_Line)\n\t\t\t\t\t{\n\t\t\t\t\t\tm_CaretPos.y=(ULPOS)(Addr-m_CurAddr)/m_nByte_Line*m_LineHeight;\n\t\t\t\t\t\tm_CaretPos.x+=m_CharWidth;\n\t\t\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\t\t\tUpdate();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t//if(m_CaretIndex == 7)\n\t\t\t\t//{\n\t\t\t\t//\tOldPos=m_CurAddr+(m_CaretnLine-BeginLine)*m_nByte_Line;\n\t\t\t\t//\tsprintf(NumBuffer,\"%08X\",OldPos);\n\t\t\t\t//\tNumBuffer[m_CaretIndex]=(CHAR)nChar;\n\t\t\t\t//\tUSHexStrToNum(NumBuffer,&Addr);\n\t\t\t\t//\tif(Addr>=m_ImageBase+m_ImageSize)\n\t\t\t\t//\t\treturn true;\n\t\t\t\t//\tShowCaret(false);\n\t\t\t\t//\tm_SelStart=Addr;\n\t\t\t\t//\tm_SelEnd=m_SelStart;\n\t\t\t\t//\tm_bSelect=TRUE;\n\t\t\t\t//\tUpdate();\n\t\t\t\t//\treturn true;\n\t\t\t\t//}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase HEX_HEX_INDEX:\n\t\t\t{\n\t\t\t\tif((m_CaretIndex % (m_ShowLength*3))<(m_ShowLength*2))\n\t\t\t\t{\n\t\t\t\t\tif(CalcPonitPos(&m_CaretPos,&Pos)==false)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tPos = Pos+ (m_ShowLength- 1 - (m_CaretIndex % (m_ShowLength*3))/2);\n\t\t\t\t\tif(ReadData(Pos,DataBuf,1)==0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tValueB=(char)nChar;\n\t\t\t\t\tif(ValueB>='0'&&ValueB<='9')\n\t\t\t\t\t{\n\t\t\t\t\t\tValueB-='0';\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tValueB|=0x20;\n\t\t\t\t\t\tValueB = ValueB - 'a'+10;\n\t\t\t\t\t}\n\t\t\t\t\tif(((m_CaretIndex%(m_ShowLength*3))%2)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tValueB<<=4;\n\t\t\t\t\t\tDataBuf[0] = ValueB | (DataBuf[0]&0xf);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tDataBuf[0] = ValueB | (DataBuf[0]&0xf0);\n\t\t\t\t\t}\n\t\t\t\t\tif(WriteData(Pos,DataBuf,1)==0)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tMsg.KeyEvent.bKeyDown=true;\n\t\t\t\t\tMsg.KeyEvent.KeyType=WISP_VK_RIGHT;\n\t\t\t\t\tOnKeyEvent(&Msg);\n\t\t\t\t\tOnDataChange();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispHexWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tint Index;\n\tint Height=m_bShowOffset?m_LineHeight:0;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_LBUTTON:\n\t\t\tWISP_POINT Point;\n\t\t\tPoint=pMsg->MsgMouseWndPT;\n\t\t\tPoint.y-=m_ClientRect.y;\n\t\t\tShowCaret(true);\n\t\t\tm_CurArea =  CorrectHitPoint(&Point);\n\t\t\tm_CaretPos.x=Point.x-Point.x%m_CharWidth;\n\t\t\tm_CaretPos.y=Point.y-Point.y%m_LineHeight;\n\t\t\tif(m_bSelect)\n\t\t\t{\n\t\t\t\tm_bSelect=false;\n\t\t\t\tm_SelStart=m_SelEnd=-1;\n\t\t\t}\n\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_UP:\n\t\t\tif(m_CaretPos.y>=m_LineHeight+Height)\n\t\t\t{\n\t\t\t\tm_CaretPos.y-=m_LineHeight;\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\telse if(m_CaretPos.y==(0+Height) && m_CurAddr>m_ImageBase)\n\t\t\t{\n\t\t\t\tm_CurAddr-=m_nByte_Line;\n\t\t\t\tif(m_CurAddr<m_ImageBase)\n\t\t\t\t{\n\t\t\t\t\tm_CurAddr=m_ImageBase;\n\t\t\t\t\tViewAddressMsg(m_CurAddr);\n\t\t\t\t}\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_DOWN:\n\t\t\tif(m_CaretPos.y<(m_nLinePerPage-1)*m_LineHeight)\n\t\t\t{\n\t\t\t\tm_CaretPos.y+=m_LineHeight;\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\telse if(m_CaretPos.y==(m_nLinePerPage-1)*m_LineHeight && \n\t\t\t\t\tm_CurAddr<m_ImageHighBase-m_nLinePerPage*m_nByte_Line)\n\t\t\t{\n\t\t\t\tm_CurAddr+=m_nByte_Line;\n\t\t\t\tViewAddressMsg(m_CurAddr);\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_LEFT:\n\t\t\tif(m_CaretPos.x>=m_CharWidth)\n\t\t\t{\n\t\t\t\tm_CaretPos.x-=m_CharWidth;\n\t\t\t\tIndex = CorrectHitPoint(&m_CaretPos);\n\t\t\t\tif(Index==HEX_HEX_INDEX)\n\t\t\t\t{\n\t\t\t\t\tif((m_CaretIndex%(m_ShowLength*3)) >= m_ShowLength*2)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(m_CaretPos.x >= m_CharWidth)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tm_CaretPos.x-=m_CharWidth*m_ShowLength;\n\t\t\t\t\t\t\tm_CaretIndex-=m_ShowLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\telse if(m_CaretPos.x==0&&m_CharXPos>0)\n\t\t\t{\n\t\t\t\tm_CharXPos--;\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_RIGHT:\n\t\t\tif(m_CaretPos.x<m_nChars_Line*m_CharWidth)\n\t\t\t{\n\t\t\t\tm_CaretPos.x+=m_CharWidth;\n\t\t\t\tIndex = CorrectHitPoint(&m_CaretPos);\n\t\t\t\tif(Index==HEX_HEX_INDEX)\n\t\t\t\t{\n\t\t\t\t\tif((m_CaretIndex%(m_ShowLength*3)) >= m_ShowLength*2)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(m_CaretPos.x<m_nChars_Line*m_CharWidth)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tm_CaretPos.x+=m_CharWidth*m_ShowLength;\n\t\t\t\t\t\t\tm_CaretIndex+=m_ShowLength;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\telse if(m_CaretPos.x==m_nChars_Line*m_CharWidth && m_CharXPos<m_CharMax)\n\t\t\t{\n\t\t\t\tm_CharXPos++;\n\t\t\t\tCorrectHitPoint(&m_CaretPos);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_HOME:\n\t\t\tm_CurAddr=m_ImageBase;\n\t\t\tViewAddressMsg(m_CurAddr);\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_END:\n\t\t\tm_CurAddr=m_ImageHighBase-m_nLinePerPage*m_nByte_Line;\n\t\t\tViewAddressMsg(m_CurAddr);\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_PAGE_UP:\n\t\t\tm_CurAddr-=m_nLinePerPage*m_nByte_Line;\n\t\t\tif(m_CurAddr<m_ImageBase)\n\t\t\t\tm_CurAddr=m_ImageBase;\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_PAGE_DOWN:\n\t\t\tm_CurAddr+=m_nLinePerPage*m_nByte_Line;\n\t\t\tif(m_CurAddr>m_ImageHighBase-m_nLinePerPage*m_nByte_Line)\n\t\t\t\tm_CurAddr=m_ImageHighBase-m_nLinePerPage*m_nByte_Line;\n\t\t\tViewAddressMsg(m_CurAddr);\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_VK_TAB:\n\t\t\tm_ShowLength*=2;\n\t\t\tif(m_ShowLength>=8)\n\t\t\t\tm_ShowLength=1;\n\t\t\tUpdateClient();\n\t\t\tbreak;\n\t\tcase WISP_MOD_SHIFT|WISP_VK_TAB:\n\t\t\t{\n\t\t\t\tint MinX,MaxX;\n\t\t\t\tif(m_CurArea>=HEX_ASCII_INDEX)\n\t\t\t\t\tm_CurArea=HEX_POS_INDEX;\n\t\t\t\telse\n\t\t\t\t\tm_CurArea++;\n\t\t\t\tm_CharXPos=0;\n\t\t\t\tMinX=MaxX=0;\n\t\t\t\tfor(int SpaceIndex=0;(DWORD)SpaceIndex<=m_CurArea;SpaceIndex++)\n\t\t\t\t{\n\t\t\t\t\tMinX=MaxX;\n\t\t\t\t\tMaxX+=m_ItemSpace[SpaceIndex]*m_CharWidth;\n\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\tm_CaretPos.x=MinX;\n\t\t\t\tSetCaretPos(m_CaretPos.x,m_CaretPos.y);\n\t\t\t\tUpdateClient();\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\nint CWispHexWnd::GetDataWidth()const\n{\n\treturn m_ShowLength;\n}\nbool CWispHexWnd::SetDataWidth(int width)\n{\n\tif(16 % width)\n\t\treturn false;\n\tm_ShowLength = width;\n\tUpdate();\n\treturn true;\n}\n\nbool CWispHexWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tDWORD Pos;\n\tWISP_POINT\tpt = pMsg->MsgMouseWndPT;\n\tPointToRect(&pt,&m_ClientRect);\n\tif(pMsg->bMsgLBTDown)\n\t{\n\t\tif(m_bSelect)\n\t\t{\n\t\t\tif(CalcPonitPos(&pt,&Pos)==false)\n\t\t\t\treturn true;\n\t\t\tif(m_bSelText)\n\t\t\t\tm_SelEnd=Pos;\n\t\t\telse\n\t\t\t\tm_SelEnd=Pos+m_ShowLength-1;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(CalcPonitPos(&pt,&Pos)==false)\n\t\t\t\treturn true;\n\t\t\tShowCaret(false);\n\t\t\tm_SelStart=Pos;\n\t\t\tm_bSelect=true;\n\t\t\tm_bSelText=m_CurArea==HEX_ASCII_INDEX;\n\t\t}\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispHexWnd::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tint LinePerPage=m_nLinePerPage;\n\tCWispWnd::OnScrollEvent(pMsg);\n\tif(m_bShowOffset)\n\t\tLinePerPage--;\n\tif(pMsg->ScrollEvent.SBType == WISP_SB_HORZ)\n\t{\n\t\tm_CharXPos = (int)m_ScrollBar[WISP_SB_HORZ]->CurPos;\n\t}\n\telse\n\t{\n\t\tif(m_Style&WISP_HEX_WS_RELATIVE_SCROLL)\n\t\t{\n\t\t\tswitch(pMsg->ScrollEvent.Event)\n\t\t\t{\n\t\t\tcase WISP_SB_PAGE_UP:\n\t\t\t\t\n\t\t\t\tViewAddressMsg(m_CurAddr-LinePerPage*m_nByte_Line);\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_PAGE_DOWN:\n\t\t\t\tViewAddressMsg(m_CurAddr+LinePerPage*m_nByte_Line);\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_DEC:\n\t\t\t\tViewAddressMsg(m_CurAddr-m_nByte_Line);\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_INC:\n\t\t\t\tViewAddressMsg(m_CurAddr+m_nByte_Line);\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_POS_CHANGE:\n\t\t\t\tViewAddressMsg(m_CurAddr+m_nByte_Line*pMsg->ScrollEvent.Delta);\n\t\t\t\treturn false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tSetScrollBarCurPos(WISP_SB_VERT,m_nLinePerPage*m_ScrollSpace,false);\n\t\t\treturn false;\n\t\t}\n\t\telse\n\t\t\tViewAddressMsg((ULPOS)(m_ScrollBar[WISP_SB_VERT]->CurPos*m_nByte_Line));\n\t}\n\treturn false;\n}\nbool CWispHexWnd::IsModifyValue(ULPOS Address,BYTE* ValueBuffer)\n{\n\tULPOS Offset;\n\tif(Address>=m_PrevDataAddress && Address< m_PrevDataAddress+m_PrevDataLen)\n\t{\n\t\tOffset=Address-m_PrevDataAddress;\n\t\tfor(int i=0;i<m_ShowLength;i++)\n\t\t\tif(m_PrevData[i+Offset]!=ValueBuffer[i])\n\t\t\t\treturn true;\n\t}\n\treturn false;\n}\nbool CWispHexWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tBYTE DataBuffer[0x20];\n\tWISP_CHAR Buffer[512],szSpace[32];\n\tint nItem,Turn,AllLen,StrLen,BeginLine;\n\tDWORD Address,nByte,CurPos;\n\tbool bChangeColor;\n\tint ItemIndex,ij;\n\tCWispWnd::OnUpdateClient(pMsg);\n\tBeginLine=GetStartLine();\n\tm_CurrentDataLen=0;\n\tif(m_bShowOffset)\n\t{\t\t\n\t\tAllLen=m_ItemSpace[HEX_START_INDEX];\n\t\tAllLen+=m_ItemSpace[HEX_POS_INDEX];\n\t\tnItem = m_nByte_Line/m_ShowLength;\n\t\tTurn=m_ShowLength*2+m_ShowLength;\n\t\t\n\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\tm_ClientDC.SetTextColor(m_ItemColor[HEX_POS_INDEX]);\n\n\t\tfor(ItemIndex=0;ItemIndex<nItem;ItemIndex++)\n\t\t{\n\t\t\tif(m_OffsetMode==0)\n\t\t\t{\n\t\t\t\tfor(ij = 0;ij < m_ShowLength;ij++)\n\t\t\t\t\tTSPrintf(&Buffer[ij*2],WSTR(\"%X \"),(m_CurAddr+ItemIndex*m_ShowLength+(m_ShowLength-1-ij))%m_nByte_Line);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tfor(ij = 0;ij < m_ShowLength;ij++)\n\t\t\t\t\tTSPrintf(&Buffer[ij*2],WSTR(\"+%X\"),ItemIndex*m_ShowLength+(m_ShowLength-1-ij));\n\t\t\t}\n\t\t\t\n\t\t\tm_ClientDC.DrawString((AllLen-m_CharXPos+ItemIndex*Turn)*m_CharWidth,0,Buffer,m_ShowLength*2);\n\t\t}\n\t}\n\tif(m_FloatMode)\n\t{\n\t\tAddress =  GetFloatAddress(m_FloatString);\n\t\tif(Address!=m_CurAddr)\n\t\t{\n\t\t\tViewAddressMsg(Address);\n\t\t}\t\t\n\t}\n\t//ȶ0\n\tZeroMemory(m_LenArray,sizeof(m_LenArray));\n\tZeroMemory(DataBuffer,sizeof(DataBuffer));\n\tfor(int nLine=0;nLine<m_nLinePerPage;nLine++)\n\t{\n\t\tAllLen=m_ItemSpace[HEX_START_INDEX];\n\t\tAddress=m_CurAddr+nLine*m_nByte_Line;\n\t\tswitch(m_AddrShowMode)\n\t\t{\n\t\tcase ADDRESS_MODE_HEX:\n\t\t\tTSPrintf(Buffer,WISP_STR(\"%08X:\"),Address);\n\t\t\tbreak;\n\t\tcase OFFSET_MODE_HEX:\n\t\t\t{\n\t\t\t\tint BaseAddress=(int)m_BaseActiveAddress;\n\t\t\t\tint Offset = (int)Address-BaseAddress;\n\t\t\t\tif(Offset>0)\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(Buffer,WSTR(\"$+%X\"),Offset);\n\t\t\t\t}else if(Offset==0)\n\t\t\t\t{\n\t\t\t\t\tTStrCpy(Buffer,\"$ ==>\");\n\t\t\t\t}else\n\t\t\t\t{\n\t\t\t\t\tTSPrintf(Buffer,WSTR(\"$-%X\"),-Offset);\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\t\n\t\tStrLen=(int)TStrLen(Buffer);\n\t\tm_LenArray[HEX_POS_INDEX][nLine]=StrLen;\n\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\tm_ClientDC.SetTextColor(m_ItemColor[HEX_POS_INDEX]);\n\t\tm_ClientDC.DrawString((AllLen-m_CharXPos)*m_CharWidth,(nLine+BeginLine)*m_LineHeight,Buffer,StrLen);\n\t\tAllLen+=m_ItemSpace[HEX_POS_INDEX];\n\n\t\t//һеֽʾ\n\t\tnByte=m_ImageSize+m_ImageBase-m_CurAddr-nLine*m_nByte_Line;\n\t\tif(nByte>(DWORD)m_nByte_Line)nByte=(DWORD)m_nByte_Line;\n\t\t//ֽ\n\t\tTStrCpy(szSpace,m_Spaces);\n\t\tszSpace[m_ShowLength]=0;\n\n\t\tnItem=(int)nByte/m_ShowLength;\n\t\tif(nByte%m_ShowLength)\n\t\t\tnItem++;\n\t\tTurn=m_ShowLength*2+m_ShowLength;\n\t\tm_LenArray[HEX_HEX_INDEX][nLine]=Turn*nItem;\n\t\tfor(ItemIndex=0;ItemIndex<nItem;ItemIndex++)\n\t\t{\n\t\t\tbChangeColor=false;\n\t\t\tif(ReadData(Address+ItemIndex*m_ShowLength,DataBuffer,m_ShowLength)==0)\n\t\t\t\tTStrCpy(Buffer,m_UnReadable);\n\t\t\telse\n\t\t\t{\t\n\t\t\t\tTHexBytesToStr(DataBuffer,Buffer,(int)nByte,m_ShowLength,szSpace);\n\t\t\t\tfor(int mm=0;mm<m_ShowLength;mm++)\n\t\t\t\t\tm_CurrentData[m_CurrentDataLen+mm]=DataBuffer[mm];\n\t\t\t\tm_CurrentDataLen+=m_ShowLength;\n\t\t\t\tbChangeColor=IsModifyValue(Address+ItemIndex*m_ShowLength,DataBuffer);\n\t\t\t}\n\t\t\t\t\t\t\n\t\t\tCurPos=m_CurAddr+nLine*m_nByte_Line+ItemIndex*m_ShowLength;\n\t\t\tswitch(GetHexByteAttribute(CurPos))//ʾͬԵֽ\n\t\t\t{\n\t\t\tcase HEX_BYTE_NORMAL:\n\t\t\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\t\t\tif(bChangeColor)\n\t\t\t\t\tm_ClientDC.SetTextColor(WISP_RGB(0xff,0xff,0));\n\t\t\t\telse\n\t\t\t\t\tm_ClientDC.SetTextColor(m_ItemColor[HEX_HEX_INDEX]);\n\t\t\t\tbreak;\n\t\t\tcase HEX_BYTE_SEL:\n\t\t\t\tm_ClientDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\t\t\t\tm_ClientDC.SetTextBKColor(m_BSelColor);\n\t\t\t\tif(bChangeColor)\n\t\t\t\t\tm_ClientDC.SetTextColor(WISP_RGB(0xff,0xff,0));\n\t\t\t\telse\n\t\t\t\t\tm_ClientDC.SetTextColor(m_TSelColor);\n\t\t\t\tbreak;\n\t\t\tcase HEX_BYTE_MASK:\n\t\t\t\tm_ClientDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\t\t\t\tm_ClientDC.SetTextBKColor(m_BBPXColor);\n\t\t\t\tm_ClientDC.SetTextColor(m_ItemColor[HEX_HEX_INDEX]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tm_ClientDC.DrawString((AllLen-m_CharXPos+ItemIndex*Turn)*m_CharWidth,(nLine+BeginLine)*m_LineHeight,Buffer,m_ShowLength*2);\n\t\t}\n\t\tAllLen+=m_ItemSpace[HEX_HEX_INDEX];\n\t\t//ASCII\n\t\tm_LenArray[HEX_ASCII_INDEX][nLine]=m_nByte_Line;\n\t\tfor(DWORD ByteIndex=0 ; ByteIndex < nByte; ByteIndex++)\n\t\t{\n\t\t\tif(ReadData((DWORD)(Address+ByteIndex),DataBuffer,1)==0)\n\t\t\t\tTStrCpy(Buffer,m_UnReadableASCII);\n\t\t\telse\n\t\t\t\tTHexBytesToASCII(DataBuffer,Buffer,1);\n\n\t\t\tCurPos=m_CurAddr+nLine*m_nByte_Line+ByteIndex;\n\t\t\tswitch(GetHexByteAttribute(CurPos))//ʾͬԵֽ\n\t\t\t{\n\t\t\tcase HEX_BYTE_NORMAL:\n\t\t\t\tm_ClientDC.SetTextStyle(WISP_TEXT_TRANS);\n\t\t\t\tm_ClientDC.SetTextBKColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CLIENT_BG]);\n\t\t\t\tm_ClientDC.SetTextColor(m_ItemColor[HEX_ASCII_INDEX]);\n\t\t\t\tbreak;\n\t\t\tcase HEX_BYTE_SEL:\n\t\t\t\tm_ClientDC.SetTextStyle(WISP_TEXT_OPAQUE);\n\t\t\t\tm_ClientDC.SetTextBKColor(m_BSelColor);\n\t\t\t\tm_ClientDC.SetTextColor(m_TSelColor);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tm_ClientDC.DrawString((AllLen-m_CharXPos+ByteIndex)*m_CharWidth,(nLine+BeginLine)*m_LineHeight,Buffer,1);\n\t\t}\n\t\tAllLen+=m_ItemSpace[HEX_ASCII_INDEX];\n\t}\n\t\n\tm_CurrentDataAddress=m_CurAddr;\n\tif(m_PrevDataLen==0)\n\t\tSaveContext();\n\treturn false;\n}\n\nbool CWispHexWnd::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\tm_nChars_Line = m_ClientRect.cx/m_ClientDC.m_pFont->m_Width;\n\tm_nLinePerPage = m_ClientRect.cy/m_ClientDC.m_pFont->m_Height;\n\tm_CharWidth   = m_ClientDC.m_pFont->m_Width;\n\tm_LineHeight  = m_ClientDC.m_pFont->m_Height;\n\n\tif(m_ClientRect.cy%m_LineHeight > m_LineHeight/2)\n\t\tm_nLinePerPage++;\n\n\tif(m_ClientRect.cx<0)\n\t\tm_nChars_Line = 0;\n\tif(m_ClientRect.cy<0)\n\t\tm_nLinePerPage = 0;\n\n\tif(m_CurAddr>m_ImageHighBase-m_nLinePerPage*m_nByte_Line)\n\t\tm_CurAddr=m_ImageHighBase-m_nLinePerPage*m_nByte_Line;\n\tif(m_CurAddr<m_ImageBase)\n\t\tm_CurAddr=m_ImageBase;\n\n\tif(m_nChars_Line <= 1+10+m_nByte_Line*4 )\n\t{\n\t\tm_ItemSpace[HEX_START_INDEX]=1;\n\t\tm_ItemSpace[HEX_POS_INDEX]=10;\n\t\tm_ItemSpace[HEX_HEX_INDEX]=m_nByte_Line*3;\n\t\tm_ItemSpace[HEX_ASCII_INDEX]=m_nByte_Line+1;\n\t}\n\telse\n\t{\n\t\tint Width;\n\t\tm_CharXPos=0;\n\t\tm_ItemSpace[HEX_START_INDEX]=1;\n\t\tm_ItemSpace[HEX_ASCII_INDEX]=m_nByte_Line+1;\n\t\tWidth=m_nChars_Line-m_ItemSpace[HEX_ASCII_INDEX]-m_ItemSpace[HEX_START_INDEX];\n\t\tWidth=(Width-10-m_nByte_Line*3 )/2;\n\t\tm_ItemSpace[HEX_POS_INDEX]=10+Width;\n\t\tm_ItemSpace[HEX_HEX_INDEX]=m_nByte_Line*3+Width;\n\t}\n\tif((DWORD)m_nLinePerPage>m_ImageSize/(DWORD)m_nByte_Line)\n\t\tm_nLinePerPage=(int)(m_ImageSize/m_nByte_Line);\n\tm_CharMax=m_ItemSpace[HEX_START_INDEX]+m_ItemSpace[HEX_POS_INDEX]+m_ItemSpace[HEX_HEX_INDEX]+m_ItemSpace[HEX_ASCII_INDEX];\n\tMIN_LIMIT(m_CharMax,m_nChars_Line-1);\n\treturn true;\n}\n\nULSIZE CWispHexWnd::ReadData(ULPOS Address,BYTE*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\n\nULSIZE CWispHexWnd::WriteData(ULPOS Address,BYTE*Buffer,ULSIZE Size)\n{\n\treturn 0;\n}\nUINT CWispHexWnd::GetHexByteAttribute(DWORD Address)\n{\n\tDWORD Start,End;\n\tif(m_bSelect)\n\t{\n\t\tif(m_SelStart < m_SelEnd)\n\t\t{\n\t\t\tStart = m_SelStart;\n\t\t\tEnd  = m_SelEnd;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tStart = m_SelEnd;\n\t\t\tEnd  = m_SelStart;\n\t\t}\n\t\tif(Start<m_ImageBase || End >=m_ImageBase+m_ImageSize)\n\t\t\treturn HEX_BYTE_NORMAL;\n\t\tif(Address >= Start && Address <= End)\n\t\t\treturn HEX_BYTE_SEL;\n\t}\n\treturn HEX_BYTE_NORMAL;\n}\n\nWISP_CHAR* CWispHexWnd::m_UnReadable=WISP_STR(\"????????????????\");\nWISP_CHAR* CWispHexWnd::m_UnReadableASCII=WISP_STR(\"...................\");\nWISP_CHAR* CWispHexWnd::m_Spaces=WISP_STR(\"                \");\n\nCWispHexWnd::CWispHexWnd()\n{\n\tm_nByte_Line=0x10;\n\tm_ShowLength=1;\n\tm_CtrlType = WISP_CTRL_HEX_WND;\n\tm_ImageBase = 0;\n\tm_ImageSize =\n\tm_ImageHighBase = 0xFFFFFFFF;\n\tm_ScrollSpace = 4;\n\tm_bShowOffset=true;\n\tm_OffsetMode=0;\n\tm_FloatMode=false;\t\n\tm_PrevDataAddress=0;\n\tm_PrevDataLen=0;\n\tm_CurrentDataLen=0;\n\tm_CurrentDataAddress=0;\n\tm_AddrIter=m_AddrList.Begin();\n}\n\nCWispHexWnd::~CWispHexWnd()\n{\n\tm_AddrList.Clear();\n}\nvoid CWispHexWnd::SaveContext()\n{\n\tDWORD dwStart,dwEnd;\n\tif(m_CurrentDataLen==0)\n\t\treturn;\n\tdwStart=m_CurrentDataAddress;\n\tdwEnd=m_CurrentDataAddress+m_CurrentDataLen;\n\tfor(DWORD i=0;i<m_PrevDataLen;i++)\n\t{\n\t\tif(m_PrevDataAddress+i >= dwStart && m_PrevDataAddress+i<dwEnd)\n\t\t\tm_CurrentData[m_PrevDataAddress+i-dwStart] =m_PrevData[i];\n\t}\n\tmemcpy(m_PrevData,m_CurrentData,m_CurrentDataLen);\n\tm_PrevDataLen=m_CurrentDataLen;\n\tm_PrevDataAddress=m_CurrentDataAddress;\n}\nUINT CWispHexWnd::CorrectHitPoint(IN WISP_POINT*pPoint)\n{\n\tint\tnLine,MinX,MidX,MaxX,x;\n\tx=pPoint->x+m_CharXPos*m_CharWidth;\n\tnLine=pPoint->y/m_LineHeight;\n\tif(nLine>=m_nLinePerPage)\n\t{\n\t\tnLine=m_nLinePerPage-1;\n\t\tpPoint->y=m_LineHeight*nLine;\n\t}\n\tm_CaretnLine=pPoint->y/m_LineHeight;\n\tMinX=MaxX=0;\n\t//λĸ\n\tfor(int SpaceIndex=0;SpaceIndex<=HEX_ASCII_INDEX;SpaceIndex++)\n\t{\n\t\tMinX=MaxX;\n\t\tMaxX+=m_ItemSpace[SpaceIndex]*m_CharWidth;\n\t\tif(x>=MinX&&x<MaxX)//ڴ\n\t\t{\n\t\t\tMidX=MinX+m_LenArray[SpaceIndex][nLine]*m_CharWidth;\n\t\t\tif(x>MidX)//ʾ\n\t\t\t{\n\t\t\t\tif(x-MidX<MaxX-x)//Ͽ\n\t\t\t\t{\n\t\t\t\t\tpPoint->x=MidX-m_CharXPos*m_CharWidth;\n\t\t\t\t\tm_CaretIndex=(MidX-MinX)/m_CharWidth;\n\t\t\t\t\treturn SpaceIndex;\n\t\t\t\t}\n\t\t\t\telse//Ͽ¸\n\t\t\t\t{\n\t\t\t\t\tpPoint->x=MaxX-m_CharXPos*m_CharWidth;\n\t\t\t\t\tm_CaretIndex=0;\n\t\t\t\t\treturn SpaceIndex+1;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse//ڴʾ\n\t\t\t{\n\t\t\t\tm_CaretIndex=(pPoint->x-MinX)/m_CharWidth;\n\t\t\t\treturn SpaceIndex;\n\t\t\t}\n\t\t}\n\t}\n\tpPoint->x=MaxX;\n\tm_CaretIndex=m_ItemSpace[HEX_ASCII_INDEX];\n\treturn HEX_ASCII_INDEX;\n}\n\nbool CWispHexWnd::CalcPonitPos(IN WISP_POINT*pPoint,IN ULPOS*pPos,INOUT ULPOS* pOffset)\n{\n\tint\tnLine,MinX,nXCharLine,x;\n\tint BeginLine=GetStartLine();\n\tx=pPoint->x+m_CharXPos*m_CharWidth,\n\tnLine=pPoint->y/m_LineHeight;\n\tnXCharLine=3*m_nByte_Line-m_ShowLength;\n\tnXCharLine*=m_CharWidth;\n\tMinX=(m_ItemSpace[HEX_START_INDEX]+m_ItemSpace[HEX_POS_INDEX])*m_CharWidth;\n\n\tif(nLine<BeginLine)\n\t\treturn false;\n\tnLine-=BeginLine;\n\tif(x>=MinX&&x<MinX+nXCharLine)\n\t{\n\t\tm_CurArea=HEX_HEX_INDEX;\n\t\t*pPos=m_CurAddr+nLine*m_nByte_Line+(x-MinX)/m_CharWidth/(m_ShowLength*3)*m_ShowLength;\n\t\tif(pOffset)\n\t\t\t*pOffset = (x-MinX)/m_CharWidth%(m_ShowLength*3);\n\t\treturn true;\n\t}\n\tnXCharLine=m_nByte_Line*m_CharWidth;\n\tMinX+=m_ItemSpace[HEX_HEX_INDEX]*m_CharWidth;\n\tif(x>=MinX&&x<MinX+nXCharLine)\n\t{\n\t\tm_CurArea=HEX_ASCII_INDEX;\n\t\t*pPos=m_CurAddr+nLine*m_nByte_Line+(x-MinX)/m_CharWidth;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispHexWnd::ViewAddress(IN ULPOS Address,bool bSave)\n{\n\tULPOS uPrevPos=m_CurAddr;\n\tif(Address<m_ImageBase || Address>=m_ImageHighBase)\n\t\treturn false;\n\tif(m_Style&WISP_HEX_WS_RELATIVE_SCROLL)\n\t{\t\t\n\t\tm_CurAddr = Address;\n\t\tif(m_CurAddr!=Address)\n\t\t{\n\t\t\tm_SelStart = Address;\n\t\t\tm_SelEnd = Address+m_ShowLength-1;\n\t\t\tm_bSelect = true;\n\t\t\tm_bSelText = false;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_nLinePerPage>0)\n\t\t\tSetScrollBarCurPos(WISP_SB_VERT,Address/m_nByte_Line,false);\n\t}\n\tif(bSave && m_CurAddr!=0)\n\t{\n\t\tRecordCurAddr(m_CurAddr,uPrevPos);\n\t}\n\tOnAddrChange();\n\tSaveContext();\n\tUpdate();\n\treturn true;\n}\n\nbool CWispHexWnd::ViewAddressMsg(IN ULPOS Address,bool bSave)\n{\n\tif(Address<m_ImageBase || Address>=m_ImageHighBase)\n\t\treturn false;\n\tm_CurAddr=Address;\n\tSaveContext();\n\tOnAddrChange();\n\treturn true;\n}\n\nvoid CWispHexWnd::ToggleShowOffset()\n{\n\tm_bShowOffset=!m_bShowOffset;\n\tUpdate();\n}\nbool CWispHexWnd::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tint CurDataWidth;\n\tif(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON)\n\t{\n\t\tif(m_bShowOffset && pMsg->MsgMouseCltPT.y < m_LineHeight)\n\t\t{\n\t\t\tm_OffsetMode = 1 - m_OffsetMode;\n\t\t\tUpdate();\n\t\t\treturn true;\n\t\t}\n\t\tCurDataWidth = GetDataWidth();\n\t\tCurDataWidth*=2;\n\t\tif(CurDataWidth>=8)\n\t\t\tCurDataWidth=1;\n\t\tif(m_CaretIndex>=0&&m_CaretIndex<=7&&m_CurArea==HEX_POS_INDEX)\n\t\t\tSetDataWidth(CurDataWidth);\n\t}\n\treturn true;\n}\nvoid CWispHexWnd::SetAddressMode(int Mod,ULPOS BaseAddr)\n{\n\tif(Mod <= 0 || Mod >=ADDRESS_MODE_MAX)\n\t\tMod=ADDRESS_MODE_HEX;\n\tm_AddrShowMode=(ENUM_ADDR_SHOW_MOD)Mod;\n\tm_BaseActiveAddress = BaseAddr;\n\tOnUpdateClient(NULL);\n\treturn ;\n}\nint CWispHexWnd::GetAddressMode()\n{\t\n\treturn m_AddrShowMode;\n}\nvoid CWispHexWnd::SetFloatCmdString(WCHAR* pCmdString)\n{\n\tm_FloatString=pCmdString;\n}\nbool CWispHexWnd::IsFloatMode()\n{\n\treturn m_FloatMode;\n}\nbool CWispHexWnd::ToggleFloatMode()\n{\n\tm_FloatMode = !m_FloatMode;\n\tUpdate();\n\treturn !m_FloatMode;\n}\n\nvoid CWispHexWnd::EmptyPosList()\n{\n\tHISTORY_ADDRESS HistoryAddress;\n\tHistoryAddress.dwAddress=m_CurArea;\n\tm_AddrList.Clear();\n\tm_AddrIter = m_AddrList.Append(HistoryAddress);\n\n}\n\nbool CWispHexWnd::OnNextPos(IN WISP_MSG*pMsg)\n{\n\tif(m_AddrIter!=m_AddrList.End() && m_AddrIter->dwAddress != m_CurAddr)\n\t{//ǰַڵǰ洢㣬ϣNextPosPrevPos\n\t\tViewAddress(m_AddrIter->dwAddress,false);\n\t}\n\telse if(m_AddrIter!=m_AddrList.Last())\n\t{\n\t\tm_AddrIter++;\n\t\tViewAddress(m_AddrIter->dwAddress,false);\n\t}\n\t\n\treturn true;\n}\n\nbool CWispHexWnd::OnPrevPos(IN WISP_MSG*pMsg)\n{\n\tif(m_AddrIter!=m_AddrList.End() && m_AddrIter->dwAddress!= m_CurAddr)\n\t{//ǰַڵǰ洢㣬ϣNextPosPrevPos\n\t\tViewAddress(m_AddrIter->dwAddress,false);\n\t}\n\telse if(m_AddrIter!=m_AddrList.Begin())\n\t{\n\t\tm_AddrIter--;\n\t\tViewAddress(m_AddrIter->dwAddress,false);\n\t}\n\t\n\treturn true;\n}\n\nbool CWispHexWnd::OnSavePos(IN WISP_MSG*pMsg)\n{\n\tHISTORY_ADDRESS HistoryAddress;\n\tHistoryAddress.dwAddress=m_CurArea;\n\tif(m_AddrIter!=m_AddrList.Last())\n\t{//һ\n\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrIter,m_AddrList.End());\n\t\tm_AddrIter=m_AddrList.End();\n\t}\t\n\tif(m_AddrList.Count()>MAX_POS_LIST_COUNT)\n\t{\n\t\tif(m_AddrIter==m_AddrList.Begin())\n\t\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrList.Begin());\n\t}\n\tint nCount=m_AddrList.Count();\n\tif(m_AddrList.Count()==0 || m_CurAddr!= m_AddrList.Last()->dwAddress)\n\t\tm_AddrIter = m_AddrList.Append(HistoryAddress);\n\t\n\treturn true;\n}\n\nvoid  CWispHexWnd::RecordCurAddr(ULPOS Address,ULPOS PrevAddress)\n{\n\tHISTORY_ADDRESS HistoryAddress;\n\tHistoryAddress.dwAddress=Address;\n\tif(m_AddrList.Count()>MAX_POS_LIST_COUNT)\n\t{\n\t\tif(m_AddrIter==m_AddrList.Begin())\n\t\t\tm_AddrIter++;\n\t\tm_AddrList.Remove(m_AddrList.Begin());\n\t}\n\tif(m_AddrList.Count()==0 && Address!=PrevAddress)\n\t{\n\t\tHistoryAddress.dwAddress=Address;\n\t\tm_AddrIter = m_AddrList.Append(HistoryAddress);\n\t}\n\tif( Address!= m_AddrList.Last()->dwAddress)\n\t\tm_AddrIter = m_AddrList.Append(HistoryAddress);\n\t\n}"
  },
  {
    "path": "Project/Wisp/Source/WispHexWnd.h",
    "content": "#ifndef _WISP_HEX_WND_H_\n#define _WISP_HEX_WND_H_\n\n#include \"WispWnd.h\"\n#define MAX_POS_LIST_COUNT 100\nenum ENUM_ADDR_SHOW_MOD\n{\n\tADDRESS_MODE_HEX,\n\tOFFSET_MODE_HEX,\n\tADDRESS_MODE_MAX,\n};\n\n#define\tMAX_LINES\t\t\t\t0x100\n\n\n#define WISP_HEX_WS_RELATIVE_SCROLL\t\t0x00010000\n\nenum\n{\n\tHEX_START_INDEX = 0,\n\tHEX_POS_INDEX,\t\t//ļλÿո\n\tHEX_HEX_INDEX,\t\t//HEXֽڿո\n\tHEX_ASCII_INDEX,\t//ASCIIո\n\tHEX_ITEM_COUNT\n};\n\nenum\n{\n\tHEX_BYTE_NORMAL = 0,\n\tHEX_BYTE_SEL,\n\tHEX_BYTE_MASK\n};\n\nclass CWispHexWnd : public CWispWnd\n{\n\ttypedef struct _HISTORY_ADDRESS\n\t{\n\t\tDWORD dwAddress;\n\t\tWORD\twOffset;\n\t\tWORD\twFlags;\n\t}HISTORY_ADDRESS;\n\ttypedef TList<HISTORY_ADDRESS> ADDR_LIST;\npublic:\n\tCWispHexWnd();\n\t~CWispHexWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnChar)\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnMouseDBClick);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnCmdVSlide)\n\tDECLARE_WISP_MSG (OnPrevPos)\n\tDECLARE_WISP_MSG(OnNextPos)\n\tDECLARE_WISP_MSG(OnSavePos)\npublic:\n\tvirtual ULSIZE\tWriteData(ULPOS Address,BYTE*Buffer,ULSIZE Size);\n\tvirtual ULSIZE\tReadData(ULPOS Address,BYTE*Buffer,ULSIZE Size);\n\tvirtual\tUINT\tGetHexByteAttribute(IN DWORD Address);\n\tvirtual ULPOS\tGetFloatAddress(CStrW& CmdStr){return m_CurAddr;};\n\tvirtual\tvoid\tOnAddrChange(){};\n\tvirtual\tvoid\tOnDataChange(){};\n\tvirtual\tint\tGetStartLine(){return m_bShowOffset?1:0;};\n\tUINT\t\tCorrectHitPoint(IN WISP_POINT*pPoint);\n\tbool\t\tCalcPonitPos(IN WISP_POINT*pPoint,IN ULPOS*pPos,INOUT ULPOS* pOffset=NULL);\n\tbool\t\tViewAddress(IN ULPOS Address,bool bSave=true);\n\tbool\t\tViewAddressMsg(IN ULPOS Address,bool bSave=false);\n\tbool\t\tSetDataWidth(int width);\n\tint\t\t\tGetDataWidth()const;\n\tvoid\t\tSetAddressMode(int Mod,ULPOS BaseAddr=0);\n\tint\t\t\tGetAddressMode();\n\tvoid\t\tToggleShowOffset();\n\tvoid\t\tSetFloatCmdString(WCHAR* pCmdString);\n\tbool\t\tToggleFloatMode();\n\tbool\t\tIsFloatMode();\n\tvoid\t\tSaveContext();//浱ǰʾݣ´θʾı\npublic:\n\tint\t\t\tm_OffsetMode;//0: +offset; 1:   //ʾһеƫϢ,ƫģʽ 0 ģʽ +1 +2 +3  ƫģʽ 1 ģʽ  1 2 3\n\tbool\t\tm_bShowOffset;\t\t\t\t\t//Ƿʾһеƫ\n\tULPOS\t\tm_ImageBase;\n\tULSIZE\t\tm_ImageSize;\n\tULPOS\t\tm_ImageHighBase;\n\tULPOS\t\tm_CurAddr;\t\t\t\t\t\t//ǰַ\n\tCOLORREF\tm_BSelColor;\t\t\t\t\t//ѡʱɫ\n\tCOLORREF\tm_TextColor;\t\t\t\t\t//ɫ\n\tCOLORREF\tm_TSelColor;\t\t\t\t\t//ѡʱɫ\n\tCOLORREF\tm_BBPXColor;\t\t\t\t\t//DebugʱBPXɫ \n\t//ĻϢ\n\tint\t\t\tm_ScrollSpace;\n\tint\t\t\tm_ShowLength;\t\t\t\t\t//ʾ\n\tint\t\t\tm_nLinePerPage;\t\t\t\t\t//ǰÿҳ\n\tint\t\t\tm_nChars_Line;\t\t\t\t\t//ÿ\n\tint\t\t\tm_LineHeight;\t\t\t\t\t//и\n\tint\t\t\tm_CharWidth;\t\t\t\t\t//ֿ\n\tint\t\t\tm_nByte_Line;\t\t\t\t\t//һֽ\n\tint\t\t\tm_CharXPos;\t\t\t\t\t\t//ַλ\n\tint\t\t\tm_CharMax;\t\t\t\t\t\t//һַ\n\tint\t\t\tm_CaretIndex;\t\t\t\t\t//ǰַ\n\tint\t\t\tm_CaretnLine;\t\t\t\t\t//ǰ\n\tWISP_POINT\tm_CaretPos;\t\t\t\t\t\t//λ\n\t//ڼ\n\tDWORD\t\tm_SelStart;\t\t\t\t\t\t//пʼ\n\tDWORD\t\tm_SelEnd;\t\t\t\t\t\t//н\n\tbool\t\tm_bSelect;\t\t\t\t\t\t//Ƿڼģʽ\n\tbool\t\tm_bSelText;\t\t\t\t\t\t//Ƿı\n\tDWORD\t\tm_CurArea;\t\t\t\t\t\t//ǰ\n\t//Search Next\n\tDWORD\t\tm_SrhAddr;\n\tBYTE\t\tm_SrhData[256];\n\tDWORD\t\tm_SrhSize;\n\tDWORD\t\tm_SrhLeftSize;\n\tbool\t\tm_SrhbCase;\n\tint\t\t\tm_LenArray[HEX_ITEM_COUNT][MAX_LINES];//飬λ\n\tCOLORREF\tm_ItemColor[HEX_ITEM_COUNT];\t//ɫ\n\tint\t\t\tm_ItemSpace[HEX_ITEM_COUNT];\t//ո\n\tstatic WISP_CHAR*\tm_UnReadable;\n\tstatic WISP_CHAR*\tm_UnReadableASCII;\n\tstatic WISP_CHAR*\tm_Spaces;\n\tENUM_ADDR_SHOW_MOD\tm_AddrShowMode;\n\tULPOS\tm_BaseActiveAddress;\n\tCStrW\tm_FloatString;\n\tbool\tm_FloatMode;\n\t//ʾıʹ\n\tBYTE\tm_PrevData[0x1000];\n\tDWORD\tm_PrevDataAddress;\n\tDWORD\tm_CurrentDataAddress;\n\tDWORD\tm_PrevDataLen;\n\tBYTE\tm_CurrentData[0x1000];\n\tDWORD\tm_CurrentDataLen;\n\tbool IsModifyValue(ULPOS Address,BYTE* ValueBuffer);//жǷı߹\n\tADDR_LIST m_AddrList;\n\tADDR_LIST::IT\tm_AddrIter;\n\tvoid EmptyPosList();\n\tvoid\tRecordCurAddr(ULPOS Address,ULPOS uPrevAddress);\n\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispInfoWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispInfoWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispInfoWnd)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispInfoWnd::CWispInfoWnd(void)\n{\n}\n\nCWispInfoWnd::~CWispInfoWnd(void)\n{\n}\n\nbool CWispInfoWnd::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tm_WindowDC.DrawFrameRect(&m_WindowRect);\n\tif(m_WndText.m_Length)\n\t\tm_WindowDC.DrawString(m_WndText,&m_WindowRect, 0);\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispInfoWnd.h",
    "content": "#ifndef _WISP_INFO_WND_H_\n#define _WISP_INFO_WND_H_\n\n#include \"WispWnd.h\"\n\nclass CWispInfoWnd : public CWispBaseWnd\n{\npublic:\n\tCWispInfoWnd(void);\n\tvirtual ~CWispInfoWnd(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispList.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispList.h\"\n\nWISP_MSG_MAP_BEGIN(CWispList)\n\tWISP_MSG_MAP(WISP_WM_PRECREATE,OnPrecreate)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_BEGIN_DRAG,OnBeginDrag)\n\tWISP_MSG_MAP(WISP_WM_DRAG_MOVE,OnDragMove)\n\tWISP_MSG_MAP(WISP_WM_END_DRAG,OnEndDrag)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_LOST_FOCUS,OnLostFocus)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_TIMER,OnTimer)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispList)\n\tWISP_MSG_CMD_MAP(WISP_WLI_EDIT_CMD_ID,OnEditCommand)\nWISP_MSG_CMD_MAP_END\n\n\nCWispList::CWispList()\n{\n\tm_TextMargin = 3;\n\tm_ButtonSize.cx = 12;\n\tm_ButtonSize.cy = 16;\n\tm_RootItem.Style = WISP_WLIS_EXPANDED;\n\tm_RootItem.pParent = NULL;\n\tm_RootItem.nChecked = 0;\n\tm_OldTitleHeight = m_TitleHeight = 0;\n\tm_CtrlType = WISP_CTRL_LIST;\n\tm_TipPeriod = 700;\n}\n\nCWispList::~CWispList()\n{\n}\n\nint\tCWispListItem::GetLevel()\n{\n\tCWispListItem*pItemParent;\n\tint Count=0;\n\tpItemParent = pParent;\n\twhile(pItemParent)\n\t{\n\t\tpItemParent = pItemParent->pParent;\n\t\tCount++;\n\t}\n\treturn Count-1;\n}\n\nint\tCWispListItem::GetDispLine()\n{\n\tint Count=ChildItemList.Count();\n\tfor(CItemList::IT Iter = ChildItemList.Begin();Iter!=ChildItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style & WISP_WLIS_EXPANDED)\n\t\t\tCount+=Iter->GetDispLine();\n\t}\n\treturn Count;\n}\n\nbool CWispListItem::IsParentOf(HANDLE hItem)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\twhile(pItem->pParent)\n\t{\n\t\tpItem = pItem->pParent;\n\t\tif(pItem==this)\n\t\t\treturn true;\n\t}\n\treturn false;\n}\n\nbool CWispList::OnTimer(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Timer.ID == WISP_WLI_TIMER_ID)\n\t{\n\t\tif(m_LastMousePos.x == pMsg->MsgMouseCltPT.x && m_LastMousePos.y == pMsg->MsgMouseCltPT.y)\n\t\t{\n\t\t\tCItemList::IT ItemIter;\n\t\t\tint Pos = PointToItem(m_LastMousePos,ItemIter);\n\t\t\tif(Pos>=LI_POS_CELL_AREA_START && Pos< LI_POS_CELL_AREA_END)\n\t\t\t{\n\t\t\t\tif(ShowItemTip(&(*ItemIter),Pos,GetItemText(&(*ItemIter),Pos))==false)\n\t\t\t\t\tHideItemTip();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispList::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\tif(m_LastSelectIter==m_RootItem.ChildItemList.End())\n\t\treturn true;\n\tItemDBClickNotify(&(*m_LastSelectIter),m_LastClickCol);\n\tif(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON)\n\t\tSendCmdMsg(WISP_CMD_ITEM_LDBCLICK,m_LastClickCol,&(*m_LastSelectIter));\n\telse if(pMsg->KeyEvent.KeyType==WISP_VK_RBUTTON)\n\t\tSendCmdMsg(WISP_CMD_ITEM_RDBCLICK,m_LastClickCol,&(*m_LastSelectIter));\n\treturn true;\n}\n\nbool CWispList::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tif(CWispWnd::OnScrollEvent(pMsg)==false)\n\t\treturn false;\n\tif(pMsg->ScrollEvent.SBType == WISP_SB_VERT)\n\t{\n\t\tUpdateCurScrItem((int)pMsg->ScrollEvent.Delta);\n\t\tif(pMsg->ScrollEvent.Event==WISP_SB_PAGE_DOWN)\n\t\t{\n\t\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\t{\n\t\t\t\tCItemList::IT ItemIter = m_CurItemIter;\n\t\t\t\tif(pMsg->ScrollEvent.Delta==0)\n\t\t\t\t{\n\t\t\t\t\tfor(int n=1;n<m_nLinePerPage;n++)\n\t\t\t\t\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(ItemIter!=m_RootItem.ChildItemList.End())\n\t\t\t\t\tSelectItem(&(*ItemIter));\n\t\t\t}\n\t\t}\n\t\tif(pMsg->ScrollEvent.Event==WISP_SB_PAGE_UP)\n\t\t{\n\t\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\t{\n\t\t\t\tCItemList::IT ItemIter = m_CurItemIter;\n\t\t\t\tif(pMsg->ScrollEvent.Delta<0)\n\t\t\t\t{\n\t\t\t\t\tfor(int n=1;n<m_nLinePerPage;n++)\n\t\t\t\t\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(ItemIter!=m_RootItem.ChildItemList.End())\n\t\t\t\t\tSelectItem(&(*ItemIter));\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nHANDLE CWispList::InsertColumn(const WISP_CHAR*szText,int Width,UINT Style,CWispDIB*pIcon,int Pos)\n{\n\tCColumnList::IT Iter;\n\tif(Pos<0)\n\t{\n\t\tif(m_ColumnList.Count()>0)\n\t\t{\n\t\t\tIter = m_ColumnList.Last();\n\t\t\tIter->Width = Iter->OrgWidth;\n\t\t}\n\t\tIter = m_ColumnList.End();\n\t}\n\telse\n\t\tIter = m_ColumnList[Pos];\n\tIter = m_ColumnList.InsertBefore(Iter);\n\tIter->szText = szText;\n\tIter->Style = Style;\n\tIter->pIcon = pIcon;\n\tif(Width<0)\n\t\tIter->Width = m_ClientDC.GetTextExtent(szText)+m_TextMargin*2+2;\n\telse\n\t\tIter->Width = Width;\n\tIter->OrgWidth = Iter->Width;\n\tRecalcLayout();\n\treturn &(*Iter);\n}\n\nbool CWispList::RemoveColumn(int Pos)\n{\n\tif(Pos<0 || Pos>=m_ColumnList.Count())\n\t\treturn false;\n\tCColumnList::IT Iter = m_ColumnList[Pos];\n\tm_ColumnList.Remove(Iter);\n\tRecalcLayout();\n\treturn true;\n}\n\nHANDLE CWispList::InsertItem(const WISP_CHAR*szText,HANDLE hParent,UINT Style,CWispDIB*pIcon,int Pos)\n{\n\tCWispListItem*pParentItem;\n\tif(hParent==NULL)\n\t\tpParentItem = &m_RootItem;\n\telse\n\t\tpParentItem = (CWispListItem*)hParent;\n\tif(pParentItem->Style&WISP_WLIS_CHECKED)\n\t\tStyle|=WISP_WLIS_CHECKED;\n\tCItemList::IT ItemIter = pParentItem->ChildItemList.InsertBefore(pParentItem->ChildItemList[Pos]);\n\tCItemListCell::IT CellIter = ItemIter->ItemCellList.Append();\n\tCellIter->szText = szText;\n\tCellIter->pIcon = pIcon;\n\tCellIter->FontColor = m_FontColor;\n\tItemIter->pParent = (CWispListItem*)pParentItem;\n\tItemIter->Style = Style&(~WISP_WLIS_CHECKED);\n\tItemIter->nSemiChecked = ItemIter->nChecked = 0;\n\tif(Style&WISP_WLIS_CHECKED)\n\t\tCheckItem(&(*ItemIter));\n\tif(pParentItem->Style & WISP_WLIS_EXPANDED)\n\t\tAdjustScrollBarMaxPos(WISP_SB_VERT,1);\n\tif(m_CurItemIter==m_RootItem.ChildItemList.End())\n\t\tm_CurItemIter = ItemIter;\n\treturn &(*ItemIter);\n}\n\nbool CWispList::RemoveItem(HANDLE hItem)\n{\n\tCWispListItem*pItem,*pParentItem;\n\tpItem = (CWispListItem*)hItem;\n\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t\tpItem->pParent->nChecked--;\n\tif(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t\tpItem->pParent->nSemiChecked--;\n\tUpdateItemTreeCheckState(pItem);\n\tif(&(*m_CurItemIter) == pItem || pItem->IsParentOf(&(*m_CurItemIter)))\n\t{\n\t\tCItemList :: IT CurItemIter = m_CurItemIter;\n\t\tif(GetPrevItem(m_CurItemIter)==false)\n\t\t{\n\t\t\tm_CurItemIter = CurItemIter;\n\t\t\tif(GetNextItem(m_CurItemIter)==false)\n\t\t\t\tm_CurItemIter = m_RootItem.ChildItemList.End();\n\t\t}\n\t}\n\tif(&(*m_LastSelectIter)==m_hCurHoverItem)\n\t\tHideItemTip();\n\tif(&(*m_LastSelectIter) == pItem || (m_LastSelectIter != m_RootItem.ChildItemList.End() && pItem->IsParentOf(&(*m_LastSelectIter))) )\n\t\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\tAdjustScrollBarMaxPos(WISP_SB_VERT,-pItem->GetDispLine());\n\tpParentItem = pItem->pParent;\n\tpParentItem->ChildItemList.Remove(*pItem);\n\tif(pParentItem != &m_RootItem && pParentItem->ChildItemList.Count()==0 && (pParentItem->Style&WISP_WLIS_EXPANDED))\n\t\tpParentItem->Style&=~WISP_WLIS_EXPANDED;\n\treturn true;\n}\n\n\nHANDLE CWispList::InsertItemA(const char*szText,HANDLE hParent,UINT Style,CWispDIB*pIcon,int Pos)\n{\n\tWISP_CHAR szBuffer[512];\n\tif(szText)\n\t\tTStrCpyLimit(szBuffer,szText,512);\n\telse\n\t\tszBuffer[0]=0;\n\treturn InsertItem(szBuffer,hParent,Style,pIcon,Pos);\n}\n\nHANDLE CWispList::InsertItemW(const WCHAR*szText,HANDLE hParent,UINT Style,CWispDIB*pIcon,int Pos)\n{\n\tWISP_CHAR szBuffer[512];\n\tTStrCpyLimit(szBuffer,szText,512);\n\treturn InsertItem(szBuffer,hParent,Style,pIcon,Pos);\n}\n\nHANDLE CWispList::InsertItem(UINT Num,HANDLE hParent,WISP_CHAR*szFormat,UINT Style,CWispDIB*pIcon,int Pos)\n{\n\tCWispListItemCell*pCell;\n\tHANDLE hItem = InsertItem(NULL,hParent,Style,pIcon,Pos);\n\tpCell = GetItemCell(hItem);\n\tpCell->szText.Format(szFormat,Num);\n\treturn hItem;\n}\n\nbool CWispList::RemoveItem(int Pos,HANDLE hParent)\n{\n\tCWispListItem*pParentItem;\n\tif(hParent==NULL)\n\t\tpParentItem = &m_RootItem;\n\tCItemList::IT Iter = pParentItem->ChildItemList[Pos];\n\treturn RemoveItem((HANDLE)&(*Iter));\n}\n\nHANDLE CWispList::GetColumn(int Pos)\n{\n\tif(Pos < 0 || Pos > m_ColumnList.Count())\n\t\treturn NULL;\n\treturn (HANDLE)&(*m_ColumnList[Pos]);\n}\n\nbool CWispList::SetColumnWidth(int Col,int Width)\n{\n\tHANDLE hColumn;\n\thColumn = GetColumn(Col);\n\tif(hColumn==NULL)\n\t\treturn false;\n\treturn SetColumnWidth(hColumn,Width);\n}\n\nbool CWispList::SetColumnWidth(HANDLE hColumn,int Width)\n{\n\tCWispColumnItem*pColItem = (CWispColumnItem*)hColumn;\n\tpColItem->Width = Width;\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispList::SetColumnText(HANDLE hColumn,WISP_PCSTR szText)\n{\n\tCWispColumnItem*pColItem = (CWispColumnItem*)hColumn;\n\tpColItem->szText = szText;\n\treturn true;\n}\n\nbool CWispList::SetColumnIcon(HANDLE hColumn,CWispDIB*pDIB)\n{\n\tCWispColumnItem*pColItem = (CWispColumnItem*)hColumn;\n\tpColItem->pIcon = pDIB;\n\treturn true;\n}\n\nbool CWispList::SetColumnData(HANDLE hColumn,NUM_PTR Data)\n{\n\tCWispColumnItem*pColItem = (CWispColumnItem*)hColumn;\n\tpColItem->Data = Data;\n\treturn true;\n}\n\nbool CWispList::SetColumnInfo(HANDLE hColumn,WISP_PCSTR szText,CWispDIB*pDIB,NUM_PTR Data)\n{\n\tCWispColumnItem*pColItem = (CWispColumnItem*)hColumn;\n\tpColItem->szText = szText;\n\tpColItem->pIcon = pDIB;\n\tpColItem->Data = Data;\n\treturn true;\n}\n\nbool CWispList::SetItemTextA(HANDLE hItem,int Col,const CHAR*szText)\n{\n\tWISP_CHAR szBuffer[512];\n\tTStrCpyLimit(szBuffer,szText,512);\n\treturn SetItemText(hItem,Col,szBuffer);\n}\n\nbool CWispList::SetItemText(HANDLE hItem,int Col,const WISP_CHAR*szText)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\tCODE_ASSERT(pCell);\n\tif(pCell==NULL)\n\t\treturn false;\n\tpCell->szText = szText;\n\treturn true;\n}\n\nbool CWispList::SetItemColorText(HANDLE hItem,int Col,const WISP_COLOR_CHAR*szText)\n{\n\tWISP_CHAR*pszText;\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\tCODE_ASSERT(pCell);\n\tif(pCell==NULL)\n\t\treturn false;\n\tint Length = (TStrLen(szText)+1)*2;\n\tpCell->szText.Preallocate(Length+2);\n\tpszText = pCell->szText;\n\tmemcpy(&pszText[2],szText,Length*2);\n\tpCell->szText[0] = 0xFFFF;\n\tpCell->szText[1] = 0xFFFF;\n\tpCell->szText.m_Length = Length/2-1;\n\treturn true;\n}\n\nbool CWispList::SetItemData(HANDLE hItem,int Col,NUM_PTR Data)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\tCODE_ASSERT(pCell);\n\tif(pCell==NULL)\n\t\treturn false;\n\tpCell->Data = Data;\n\treturn true;\n}\n\nbool CWispList::SetItemNum(HANDLE hItem,int Col,UINT Num,const WISP_CHAR*szFormat)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\tCODE_ASSERT(pCell);\n\tif(pCell==NULL)\n\t\treturn false;\n\tpCell->szText.Format(szFormat,Num);\n\treturn true;\n}\n\nbool CWispList::SetItemIcon(HANDLE hItem,int Col,CWispDIB*pIcon)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\tCODE_ASSERT(pCell);\n\tif(pCell==NULL)\n\t\treturn false;\n\tpCell->pIcon = pIcon;\n\treturn true;\n}\n\nbool CWispList::SetItemTextColor(HANDLE hItem,int Col,COLORREF Color)\n{\n\tif(Col>=0)\n\t{\n\t\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\t\tCODE_ASSERT(pCell);\n\t\tif(pCell==NULL)\n\t\t\treturn false;\n\t\tpCell->FontColor = Color;\n\t}\n\telse\n\t{\n\t\tCWispListItem*pItem = (CWispListItem*)hItem;\n\t\tfor(CItemListCell::IT Iter = pItem->ItemCellList.Begin();Iter!=pItem->ItemCellList.End();Iter++)\n\t\t{\n\t\t\tIter->FontColor = Color;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispList::SetItemLineColor(HANDLE hItem,COLORREF Color)\n{\n\t((CWispListItem*)hItem)->LineColor = Color;\n\treturn true;\n}\n\nbool CWispList::ModifyItemStyle(HANDLE hItem,UINT AddStyle,UINT RemoveStyle)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tif(AddStyle)\n\t\tpItem->Style|=AddStyle;\n\tif(RemoveStyle)\n\t\tpItem->Style&=~RemoveStyle;\n\treturn true;\n}\n\nbool CWispList::ClearChildItem(HANDLE hItem)\n{\n\tif(hItem == NULL)\n\t{\n\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End() && m_RootItem.IsParentOf(&(*m_LastSelectIter)))\n\t\t\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\t\tm_RootItem.ChildItemList.Clear();\n\t\tm_CurItemIter = m_RootItem.ChildItemList.End();\n\t\tm_RootItem.nSemiChecked = m_RootItem.nChecked = 0;\n\t\tSetScrollBarInfo(WISP_SB_VERT,0,0,m_ScrollBar[WISP_SB_VERT]->Page);\n\t\treturn true;\n\t}\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tif(pItem->Style&WISP_WLIS_EXPANDED)\n\t\tAdjustScrollBarMaxPos(WISP_SB_VERT,-pItem->GetDispLine());\n\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End() && pItem->IsParentOf(&(*m_LastSelectIter)))\n\t\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\tif(m_CurItemIter!=m_RootItem.ChildItemList.End() && pItem->IsParentOf(&(*m_CurItemIter)))\n\t\tm_CurItemIter = *pItem;\n\tpItem->ChildItemList.Clear();\n\tpItem->nSemiChecked = pItem->nChecked = 0;\n\tpItem->Style&=~WISP_WLIS_EXPANDED;\n\treturn true;\n}\n\nint CWispList::EmptyChildItemContext(HANDLE hItem)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tif(pItem==NULL)\n\t\tpItem = &m_RootItem;\n\tfor(CItemList::IT Iter=pItem->ChildItemList.Begin();Iter!=pItem->ChildItemList.End();Iter++)\n\t{\n\t\tEmptyItemContext(&(*Iter));\n\t}\n\treturn pItem->ChildItemList.Count();\n}\n\nvoid CWispList::EmptyItemContext(HANDLE hItem)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tfor(CItemListCell::IT Iter=pItem->ItemCellList.Begin();Iter!=pItem->ItemCellList.End();Iter++)\n\t{\n\t\tIter->szText.Empty();\n\t\tIter->FontColor = m_FontColor;\n\t\tIter->Data = 0;\n\t}\n}\n\nint CWispList::SetItemChildCount(HANDLE hItem,int Count)\n{\n\tHANDLE hChildItem,hDelItem;\n\tint Delta;\n\tif(Count<0)\n\t\treturn 0;\n\tif(hItem==NULL)\n\t\thItem = &m_RootItem;\n\tDelta = Count - GetItemCount(hItem,false);\n\tif(Delta<0)\n\t{\n\t\thChildItem = GetItem(Count,hItem);\n\t\twhile(Delta<0)\n\t\t{\n\t\t\thDelItem = hChildItem;\n\t\t\thChildItem = GetNextItem(hChildItem);\n\t\t\tRemoveItem(hDelItem);\n\t\t\tDelta++;\n\t\t}\n\t}\n\tif(Delta>0)\n\t{\n\t\twhile(Delta>0)\n\t\t{\n\t\t\tInsertItem((WISP_PCSTR)NULL,hItem);\n\t\t\tDelta--;\n\t\t}\n\t}\n\treturn Delta;\n}\n\nbool CWispList::ShowColumnTitle(bool bShow)\n{\n\tif((m_Style & WISP_WLS_COLUMN_TITLE)==0)\n\t\treturn false;\n\tif(bShow)\n\t{\n\t\tif(m_TitleHeight>0)\n\t\t\treturn true;\n\t\tm_OldTitleHeight = m_TitleHeight;\n\t\tm_TitleHeight = 0;\n\t}\n\telse\n\t{\n\t\tif(m_TitleHeight<=0)\n\t\t\treturn true;\n\t\tm_TitleHeight = m_OldTitleHeight;\n\t}\n\tRecalcLayout();\n\treturn true;\n}\n\nvoid CWispList::EnableVisible(HANDLE hItem,int nPrevLine)\n{\n\tint Index;\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\twhile(pItem->pParent!=&m_RootItem)\n\t{\n\t\tif((pItem->pParent->Style & WISP_WLIS_EXPANDED)==0)\n\t\t\tExpandItem(pItem->pParent);\n\t\tpItem = pItem->pParent;\n\t}\n\tpItem = (CWispListItem*)hItem;\n\tCItemList::IT ItemIter = *pItem;\n\tif(nPrevLine<0)\n\t\tnPrevLine = m_nLinePerPage/2;\n\twhile(nPrevLine>0 && GetPrevLineItem(ItemIter))\n\t{\n\t\tpItem = &(*ItemIter);\n\t\tnPrevLine--;\n\t}\n\tIndex = 0;\n\tItemIter = m_RootItem.ChildItemList.Begin();\n\twhile(ItemIter!=m_RootItem.ChildItemList.End())\n\t{\n\t\tif(&(*ItemIter) == pItem)\n\t\t{\n\t\t\tSetScrollBarCurPos(WISP_SB_VERT,Index);\n\t\t\treturn;\n\t\t}\n\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\treturn;\n\t\tIndex++;\n\t}\n}\n\nbool CWispList::IsItemVisible(HANDLE hItem)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tCItemList::IT Iter = m_CurItemIter;\n\tfor(int n=0;n<m_nLinePerPage;n++)\n\t{\n\t\tif(&(*Iter)==pItem)\n\t\t\treturn true;\n\t\tif(GetNextLineItem(Iter)==false)\n\t\t\tbreak;\n\t}\n\treturn false;\n}\n\nbool CWispList::IsItemTextFullVisible(HANDLE hItem,int Col)\n{\n\tint TextWidth;\n\tCWispListItemCell*pCell;\n\tpCell = GetItemCell(hItem,Col);\n\tTextWidth = m_ClientDC.GetTextExtent(pCell->szText)+m_TextMargin+m_TextMargin;\n\tif(Col==0)\n\t{\n\t\tif(m_Style&WISP_WLS_TREE)\n\t\t\tTextWidth += m_ButtonSize.cx;\n\t\tif(m_Style&WISP_WLS_CHECK_BOX)\n\t\t\tTextWidth += m_ButtonSize.cx;\n\t}\n\tif(pCell->pIcon)\n\t\tTextWidth += pCell->pIcon->Width();\n\treturn TextWidth<=m_ColumnList[Col]->ColRect.cx;\n}\n\nbool CWispList::OnPrecreate(WISP_MSG*pMsg)\n{\n\tm_ListBTIndex = 0;\n\tm_FontColor = WispColor(SC_BLACK);\n\tm_SelectFontColor = WispColor(SC_WHITE);\n\tm_LostFocusSelBKColor = m_SelectBKColor =SYS_COLOR[SC_UNNAMED_13];\n\tm_HorzLineColor = WispColor(SC_BLACK);\n\tm_VertLineColor = WispColor(SC_LIGHT_BLUE);\n\tm_ColTitleFontColor = WispColor(SC_WHITE);\n\tm_TitleHeight = m_ClientDC.m_pFont->m_Height + 4 + 2;\n\tEnableScrollBar(WISP_SB_VERT);\n\tEnableScrollBar(WISP_SB_HORZ);\n\treturn true;\n}\n\nbool CWispList::OnCreate(WISP_MSG*pMsg)\n{\n\tif((m_Style&WISP_WLS_COLUMN_TITLE)==0)\n\t\tSTZeroMemory(m_TitleRect);\n\tm_EditCtrl.Create(NULL,0,0,0,0,this,WISP_WLI_EDIT_CMD_ID,WISP_ES_LEFT|WISP_ES_AUTOHSCROLL|WISP_WS_BORDER,WISP_SH_HIDDEN);\n\tm_TipFullItemTextWnd.Create(NULL,0,0,0,0,NULL,WISP_WLI_TIP_CMD_ID,WISP_WS_NULL,WISP_SH_HIDDEN);\n\treturn true;\n}\n\nbool CWispList::InitWnd()\n{\n\tm_pDragColumn = NULL;\n\tm_ColTotalWidth = 0;\n\tm_nLinePerPage = 0;\n\tm_HorzScrollSpace = m_ClientDC.m_pFont->GetCharWidth(WISP_STR('0'))/2;\n\tm_LastSelectIter = m_CurItemIter = m_RootItem.ChildItemList.End();\n\tm_bSaveItem = true;\n\tm_bTipTimerSet = false;\n\tm_LastMousePos.x = m_LastMousePos.y = -1;\n\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\tm_ButtonSize.cy = m_ClientDC.GetTextHeight()+4;\n\tm_ProcEndEditItem = false;\n\treturn CWispWnd::InitWnd();\n}\n\nbool CWispList::Destroy()\n{\n\tm_TipFullItemTextWnd.Destroy();\n\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\tm_RootItem.ChildItemList.Clear();\n\tm_RootItem.nChecked = 0;\n\tm_RootItem.nSemiChecked = 0;\n\tm_RootItem.Style = WISP_WLIS_EXPANDED;\n\tm_ColumnList.Clear();\n\treturn CWispWnd::Destroy();\n}\n\nvoid CWispList::RecalcLayout()\n{\n\tCWispWnd::RecalcLayout();\n\tm_TitleRect.x = m_TitleRect.y = 0;\n\tm_TitleRect.cx = m_ClientRect.cx;\n\tif(m_Style & WISP_WLS_COLUMN_TITLE)\n\t\tm_TitleRect.cy = m_TitleHeight;\n\telse\n\t\tm_TitleRect.cy = 0;\n\tm_ListRect.x = m_ListRect.y = 0;\n\tm_ListRect.y += m_TitleRect.cy;\n\tm_ListRect.cy = m_ClientRect.cy - m_TitleRect.cy;\n\tm_nLinePerPage = m_ClientRect.cy;\n\tif(m_Style&WISP_WLS_COLUMN_TITLE)\n\t\tm_nLinePerPage-=m_TitleRect.cy;\n\tm_nLinePerPage +=m_ButtonSize.cy/3;\n\tm_nLinePerPage /=m_ButtonSize.cy;\n\tMIN_LIMIT(m_nLinePerPage,0);\n\tif(m_ScrollBar[WISP_SB_VERT] && m_nLinePerPage!=(int)m_ScrollBar[WISP_SB_VERT]->Page)\n\t\tSetScrollBarPage(WISP_SB_VERT,m_nLinePerPage);\n\tm_TreeSpace = 0;\n\tif(m_Style&WISP_WLS_TREE)\n\t\tm_TreeSpace += m_ButtonSize.cx;\n\tif(m_Style&WISP_WLS_CHECK_BOX)\n\t\tm_TreeSpace += m_ButtonSize.cx;\n\tif(m_ScrollBar[WISP_SB_HORZ])\n\t{\n\t\tif(m_ClientRect.cx > 0 && m_ScrollBar[WISP_SB_HORZ]->Page != m_ClientRect.cx/m_HorzScrollSpace)\n\t\t\tSetScrollBarPage(WISP_SB_HORZ,m_ClientRect.cx/m_HorzScrollSpace);\n\t}\n\tm_ColTotalWidth=0;\n\tint x=0;\n\tfor(CColumnList::IT Iter = m_ColumnList.Begin();Iter!=m_ColumnList.End();Iter++)\n\t{\n\t\tIter->ColRect.x = x;\n\t\tIter->ColRect.y = m_TitleRect.y;\n\t\tif(Iter == m_ColumnList.Last())\n\t\t{\n\t\t\tif(m_ColTotalWidth+Iter->Width<m_ClientRect.cx)\n\t\t\t\tIter->Width = m_ClientRect.cx - m_ColTotalWidth;\n\t\t\tm_ColTotalWidth+=Iter->Width;\n\t\t\tif(m_ScrollBar[WISP_SB_HORZ] && m_ColTotalWidth!=m_ScrollBar[WISP_SB_HORZ]->MaxPos*m_HorzScrollSpace)\n\t\t\t{\n\t\t\t\tif(m_ScrollBar[WISP_SB_HORZ]->bHide && Iter->Width>=Iter->OrgWidth+m_pWispBase->m_Metrics[WISP_SM_SCROLL_BAR_SIZE])\n\t\t\t\t\tm_ColTotalWidth-=m_pWispBase->m_Metrics[WISP_SM_SCROLL_BAR_SIZE];\n\t\t\t\tSetScrollBarRange(WISP_SB_HORZ,m_ColTotalWidth/m_HorzScrollSpace);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t\tm_ColTotalWidth+=Iter->Width;\n\t\tIter->ColRect.cx = Iter->Width;\n\t\tIter->ColRect.cy = m_TitleRect.cy;\n\t\tIter->SplitRect.x = x + Iter->ColRect.cx - 2;\n\t\tIter->SplitRect.y = m_TitleRect.y+2;\n\t\tIter->SplitRect.cx = 2;\n\t\tIter->SplitRect.cy = m_TitleRect.cy - 4;\n\t\tIter->TestSplitRect.x = Iter->SplitRect.x - 2;\n\t\tIter->TestSplitRect.cx = Iter->SplitRect.cx + 4;\n\t\tIter->TestSplitRect.y = m_TitleRect.y;\n\t\tIter->TestSplitRect.cy = m_TitleRect.cy;\n\t\tx+=Iter->Width;\n\t}\n\tm_ListRect.cx = m_ColTotalWidth;\n\tUpdateCurScrItem(0);\n}\n\nbool CWispList::OnBeginDrag(WISP_MSG*pMsg)\n{\n\tm_pWispBase->ChangeCursorType(WISP_CT_RESIZE_HORZ);\n\treturn true;\n}\n\nbool CWispList::OnDragMove(WISP_MSG*pMsg)\n{\n\tint dx;\n\tbool bDragMove;\n\tWISP_POINT pt;\n\tCColumnList::IT Iter;\n\tpt.x = pMsg->MsgMouseCltPT.x + (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\tpt.y = pMsg->MsgMouseCltPT.y;\n\tdx = pMsg->DragEvent.DeltaX;\n\tIter = *m_pDragColumn;\n\tif(Iter==m_ColumnList.Last())\n\t{\n\t\tbDragMove = true;\n\t\tif(dx<0)\n\t\t{\n\t\t\tif(pt.x<Iter->ColRect.x+Iter->TestSplitRect.cx)\n\t\t\t{\n\t\t\t\tif(Iter->Width > Iter->TestSplitRect.cx)\n\t\t\t\t\tdx = Iter->TestSplitRect.cx - Iter->Width;\n\t\t\t\telse\n\t\t\t\t\tbDragMove = false;\n\t\t\t}\n\t\t}\n\t\tif(bDragMove)\n\t\t{\n\t\t\tIter->Width+=dx;\n\t\t\tm_ColTotalWidth+=dx;\n\t\t\tSetScrollBarRange(WISP_SB_HORZ,m_ColTotalWidth/m_HorzScrollSpace);\n\t\t\tRecalcLayout();\n\t\t\tUpdate();\n\t\t}\n\t\treturn true;\n\t}\n\tIter++;\n\tbDragMove = true;\n\tif(dx>0)\n\t{\n\t\tif(pt.x < m_pDragColumn->SplitRect.x+m_pDragColumn->SplitRect.cx/2)\n\t\t\tbDragMove = false;\n\t\telse if(pt.x >= Iter->ColRect.x + Iter->Width - Iter->TestSplitRect.cx)\n\t\t{\n\t\t\tif(Iter->Width > Iter->TestSplitRect.cx)\n\t\t\t\tdx = Iter->Width - Iter->TestSplitRect.cx;\n\t\t\telse\n\t\t\t\tbDragMove = false;\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(pt.x >= m_pDragColumn->SplitRect.x+m_pDragColumn->SplitRect.cx/2)\n\t\t\tbDragMove = false;\n\t\telse if(pt.x < m_pDragColumn->ColRect.x + m_pDragColumn->TestSplitRect.cx)\n\t\t{\n\t\t\tif(m_pDragColumn->Width > m_pDragColumn->TestSplitRect.cx && pt.x > 0)\n\t\t\t\tdx = m_pDragColumn->TestSplitRect.cx - m_pDragColumn->Width;\n\t\t\telse\n\t\t\t\tbDragMove = false;\n\t\t}\n\t}\n\tif(bDragMove)\n\t{\n\t\tm_pDragColumn->Width+=dx;\n\t\tIter->Width-=dx;\n\t\tRecalcLayout();\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispList::OnEndDrag(WISP_MSG*pMsg)\n{\n\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\tm_pDragColumn = NULL;\n\treturn true;\n}\n\nbool CWispList::OnMouseMove(WISP_MSG*pMsg)\n{\n\tWISP_RECT TestRC;\n\tWISP_POINT pt = pMsg->MsgMouseCltPT;\n\tif(m_pDragColumn && PtInRect(&m_ClientRect,&pMsg->MsgMouseWndPT)==false)\n\t{\n\t\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\t\tm_pDragColumn = NULL;\n\t\treturn true;\n\t}\n\tpt.x+=(int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\tif(m_Style&WISP_WLS_COLUMN_TITLE)\n\t{\n\t\tm_pDragColumn = NULL;\n\t\tif(m_Style&WISP_WLS_VERT_LINE)\n\t\t{\n\t\t\tfor(CColumnList::IT Iter = m_ColumnList.Begin();Iter!=m_ColumnList.End();Iter++)\n\t\t\t{\n\t\t\t\tTestRC.x = Iter->TestSplitRect.x;\n\t\t\t\tTestRC.cx = Iter->TestSplitRect.cx;\n\t\t\t\tTestRC.y = 0;\n\t\t\t\tTestRC.cy = m_ClientRect.cy;\n\t\t\t\tif(pt.x < TestRC.x)\n\t\t\t\t\tbreak;\n\t\t\t\tif(PtInRect(&TestRC,pt) && (Iter->Style&WISP_WLCS_FIXED)==0)\n\t\t\t\t{\n\t\t\t\t\tm_pDragColumn = &(*Iter);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if(pt.y>=m_TitleRect.y && pt.y<m_TitleRect.y+m_TitleRect.cy)\n\t\t{\n\t\t\tfor(CColumnList::IT Iter = m_ColumnList.Begin();Iter!=m_ColumnList.End();Iter++)\n\t\t\t{\n\t\t\t\tif(pt.x < Iter->TestSplitRect.x)\n\t\t\t\t\tbreak;\n\t\t\t\tif(PtInRect(&Iter->TestSplitRect,pt) && (Iter->Style&WISP_WLCS_FIXED)==0)\n\t\t\t\t{\n\t\t\t\t\tm_pDragColumn = &(*Iter);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif(PtInRect(&m_ClientRect,&pMsg->MsgMouseWndPT))\n\t\t{\n\t\t\tif(m_pDragColumn && m_pWispBase->m_CursorType != WISP_CT_RESIZE_HORZ)\n\t\t\t\tm_pWispBase->ChangeCursorType(WISP_CT_RESIZE_HORZ);\n\t\t\telse if(m_pDragColumn ==NULL && m_pWispBase->m_CursorType != WISP_CT_ARROW)\n\t\t\t\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\t\t\tm_LastMousePos = pMsg->MsgMouseCltPT;\n\t\t\tif(m_TipFullItemTextWnd.IsVisible() && PtInRect(&m_TipFullItemTextWnd.m_ScrWindowRect,pMsg->MsgMouseScrPT)==false)\n\t\t\t\tHideItemTip();\n\t\t\tif(m_bTipTimerSet==false)\n\t\t\t{\n\t\t\t\tInsertTimer(WISP_WLI_TIMER_ID,m_TipPeriod);\n\t\t\t\tm_bTipTimerSet=true;\n\t\t\t}\n\t\t}\n\t}\n\tif(m_Style & WISP_WLS_FOLLOW_SEL)\n\t{\n\t\tHANDLE\thItem = PointToItem(pt);\n\t\tif(hItem)\n\t\t{\n\t\t\tSelectItem(hItem);\n\t\t}\n\t}\n\n\treturn true;\n}\n\nbool CWispList::OnMouseLeave(WISP_MSG*pMsg)\n{\n\tif(m_pDragColumn && m_pWispBase->m_CursorType != WISP_CT_ARROW)\n\t{\n\t\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\t\tm_pDragColumn = NULL;\n\t}\n\tif(pMsg->MouseEvent.hWndMouseAt == &m_TipFullItemTextWnd)\n\t\treturn false;\n\telse\n\t\tHideItemTip();\n\treturn true;\n}\n\nbool CWispList::OnKeyEvent(WISP_MSG*pMsg)\n{\n\tint Index,Pos;\n\tWISP_POINT TmpPoint;\n\tWISP_POINT pt;\n\tpt = pMsg->MsgMouseCltPT;\n\tswitch(pMsg->KeyEvent.KeyType)\n\t{\n\tcase WISP_VK_RBUTTON:\n\t\t{\n\t\t\tif(pt.x>m_ClientRect.cx || pt.y>m_ClientRect.cy || pMsg->KeyEvent.bKeyDown==false)\n\t\t\t\treturn true;\n\t\t\tCItemList::IT ItemIter;\n\t\t\tPos = PointToItem(pMsg->MsgMouseCltPT,ItemIter);\n\t\t\tswitch(Pos)\n\t\t\t{\n\t\t\tcase LI_POS_COLUMN:\n\t\t\t\tTmpPoint=pMsg->MsgMouseCltPT;\n\t\t\t\tTmpPoint.y=m_TitleRect.y + m_TitleRect.cy+1;\n\t\t\t\tPos = PointToItem(TmpPoint,ItemIter);\n\t\t\t\tIndex = Pos - LI_POS_CELL_AREA_START;\n\t\t\t\tTitleRClickNotify(Index);\n\t\t\t\tPostEventMsg(WISP_CMD_TITLE_RCLICK,Index,NULL);\n\t\t\t\tbreak;\n\t\t\tcase LI_POS_TREE_BT:\n\t\t\tcase LI_POS_CHECK_BOX:\t\t\t\n\t\t\tcase LI_POS_NON_AREA:\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tIndex = Pos - LI_POS_CELL_AREA_START;\n\t\t\t\tif(ItemIter->Style & WISP_WLIS_SELECTED)\n\t\t\t\t{\n\t\t\t\t\tif(Index >=0 && Index < m_ColumnList.Count() && m_EditCtrl.m_ShowMode==WISP_SH_HIDDEN)\n\t\t\t\t\t{\n\t\t\t\t\t\tItemRClickNotify(&(*ItemIter),Index);\n\t\t\t\t\t\tPostEventMsg(WISP_CMD_CTRL_RCLICK,Index,&(*ItemIter));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WISP_VK_LBUTTON:\n\t\t{\n\t\t\tif(pt.x>m_ClientRect.cx || pt.y>m_ClientRect.cy)\n\t\t\t\treturn true;\n\t\t\tCItemList::IT ItemIter;\n\t\t\tif(m_Style&WISP_WLS_COLUMN_TITLE && m_pDragColumn)\n\t\t\t{\n\t\t\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\t\t\tBeginDrag();\n\t\t\t\telse\n\t\t\t\t\tEndDrag();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\t{\n\t\t\t\t\n\t\t\t\tPos = PointToItem(pMsg->MsgMouseCltPT,ItemIter);\n\t\t\t\tswitch(Pos)\n\t\t\t\t{\n\t\t\t\tcase LI_POS_TREE_BT:\n\t\t\t\t\tToggleExpandItem(&(*ItemIter));\n\t\t\t\t\tbreak;\n\t\t\t\tcase LI_POS_CHECK_BOX:\n\t\t\t\t\tToggleCheckItem(&(*ItemIter));\n\t\t\t\t\tbreak;\n\t\t\t\tcase LI_POS_COLUMN:\n\t\t\t\t\tTmpPoint=pMsg->MsgMouseCltPT;\n\t\t\t\t\tTmpPoint.y=m_TitleRect.y + m_TitleRect.cy+1;\n\t\t\t\t\tPos = PointToItem(TmpPoint,ItemIter);\n\t\t\t\t\tIndex = Pos - LI_POS_CELL_AREA_START;\n\t\t\t\t\tTitleClickNotify(Index);\n\t\t\t\t\tPostEventMsg(WISP_CMD_TITLE_CLICK,Index,NULL);\n\t\t\t\tcase LI_POS_NON_AREA:\n\t\t\t\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End() && (m_Style & WISP_WLS_SELECTED_ALWAYS)==0)\n\t\t\t\t\t\tUnselectItem(&(*m_LastSelectIter));\t\t\t\t\t\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tIndex = Pos - LI_POS_CELL_AREA_START;\n\t\t\t\t\tif(ItemIter->Style & WISP_WLIS_SELECTED)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(Index >=0 && Index < m_ColumnList.Count() && m_EditCtrl.m_ShowMode==WISP_SH_HIDDEN)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(m_ColumnList[Index]->Style&WISP_WLCS_EDITABLE)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tBeginEditItem(&(*ItemIter),Index);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tItemClickNotify(&(*ItemIter),Index);\n\t\t\t\t\t\t\t\tm_LastClickCol = Index;\n\t\t\t\t\t\t\t\tPostEventMsg(WISP_CMD_CTRL_CLICK,Index,&(*ItemIter));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif((m_Style & WISP_WLS_MULTI_SELECT) && m_pWispBase->m_KeyMap[WISP_VK_CONTROL])\n\t\t\t\t\t\t\tUnselectItem(&(*ItemIter));\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif((m_Style & WISP_WLS_MULTI_SELECT)==0 || m_pWispBase->m_KeyMap[WISP_VK_CONTROL]==false)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\t\t\t\t\t\tUnselectItem(&(*m_LastSelectIter));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tSelectItem(&(*ItemIter));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tUpdate();\n\t\t}\n\t\tbreak;\n\tcase WISP_VK_UP:\n\tcase WISP_VK_DOWN:\n\t\tif(pMsg->KeyEvent.bKeyDown && (m_Style&WISP_WLS_MULTI_SELECT)==0)\n\t\t{\n\t\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\t{\n\t\t\t\tbool Result;\n\t\t\t\tif(IsItemVisible(&(*m_LastSelectIter))==false)\n\t\t\t\t{\n\t\t\t\t\tEnableVisible(&(*m_LastSelectIter));\n\t\t\t\t}\n\t\t\t\tCItemList :: IT NewSelectIter = m_LastSelectIter;\n\t\t\t\tif(pMsg->KeyEvent.KeyType==WISP_VK_UP)\n\t\t\t\t{\n\t\t\t\t\tResult = GetPrevLineItem(NewSelectIter);\n\t\t\t\t\tif(m_LastSelectIter == m_CurItemIter)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_DEC);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tResult = GetNextLineItem(NewSelectIter);\n\t\t\t\t\tif(GetItemScrLine(&(*m_LastSelectIter))==m_nLinePerPage-1)\n\t\t\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_INC);\n\t\t\t\t}\n\t\t\t\tif(Result)\n\t\t\t\t{\n\t\t\t\t\tSelectItem(&(*NewSelectIter));\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_RootItem.ChildItemList.Count())\n\t\t\t\t{\n\t\t\t\t\tSelectItem(&(*m_RootItem.ChildItemList.Begin()));\n\t\t\t\t\tEnableVisible(&(*m_LastSelectIter));\n\t\t\t\t\tUpdate();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WISP_VK_LEFT:\n\t\tif(pMsg->KeyEvent.bKeyDown && m_LastSelectIter!=m_RootItem.ChildItemList.End() && m_LastSelectIter->GetLevel()>0)\n\t\t{\n\t\t\tEnableVisible(m_LastSelectIter->pParent);\n\t\t\tSelectItem(m_LastSelectIter->pParent);\n\t\t}\n\t\tbreak;\n\tcase WISP_VK_RIGHT:\n\t\tif(pMsg->KeyEvent.bKeyDown && m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\tExpandItem(&(*m_LastSelectIter));\n\t\tbreak;\n\tcase WISP_VK_RETURN:\n\t\tif(pMsg->KeyEvent.bKeyDown && m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\tToggleExpandItem(&(*m_LastSelectIter));\n\t\tbreak;\n\tcase WISP_VK_SPACE:\n\t\tif((m_Style & WISP_WLS_CHECK_BOX) && pMsg->KeyEvent.bKeyDown && m_LastSelectIter!=m_RootItem.ChildItemList.End())\n\t\t\tToggleCheckItem(&(*m_LastSelectIter));\n\t\tbreak;\n\t}\n\tHideItemTip();\n\treturn true;\n}\n\nbool CWispList::OnEditCommand(WISP_MSG*pMsg)\n{\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_EN_INPUT_KEY_DOWN:\n\t\tswitch(pMsg->Command.Param1)\n\t\t{\n\t\tcase WISP_VK_RETURN:\n\t\t\tEndEditItem(true);\n\t\t\tbreak;\n\t\tcase WISP_VK_ESCAPE:\n\t\t\tEndEditItem(false);\n\t\t\tbreak;\n\t\t}\n\t\tbreak;\n\tcase WISP_CMD_EN_KILLFOCUS:\n\t\tif(m_ProcEndEditItem==false)\n\t\t\tOnEndEditItem();\n\t\treturn false;\n\tdefault:\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CWispList::OnUpdateClient(WISP_MSG*pMsg)\n{\n\tWISP_RECT rc,SplitRC,ClipRect;\n\tif( (m_Style & WISP_WS_BACK_TRANS)==0)\n\t{\n\t\tif(m_pBKDIB)\n\t\t\tm_ClientDC.DrawDIBTiled(m_pBKDIB);\n\t\telse if(m_bBGColor)\n\t\t\tm_WindowDC.DrawFullRect(&m_ClientRect, m_crBGColor);\n\t\telse\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlClient(&m_WindowDC,&m_ClientRect);\n\t}\n\tCItemList::IT ItemIter = m_CurItemIter;\n\tif(ItemIter!=m_RootItem.ChildItemList.End())\n\t{\n\t\tfor(int iLine=0; iLine<m_nLinePerPage;iLine++)\n\t\t{\n\t\t\tDrawListItem(iLine,ItemIter);\n\t\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\t{\n\t\t\t\tif(m_Style&WISP_WLS_HORZ_LINE)\n\t\t\t\t\tm_ClientDC.DrawHLine(0,m_ClientRect.cx-1,m_ListRect.y+(iLine+1)*m_ButtonSize.cy,m_HorzLineColor);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif(m_Style&WISP_WLS_COLUMN_TITLE)\n\t{\n\t\tm_ClientDC.SetTextColor(m_ColTitleFontColor);\n\t\tm_pWispBase->m_pCurDrawObj->DrawListColumnTitleBK(&m_ClientDC,&m_TitleRect);\n\t\trc = m_TitleRect;\n\t\trc.x = m_TextMargin - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\tfor(CColumnList::IT ColIter = m_ColumnList.Begin();ColIter!=m_ColumnList.End();ColIter++)\n\t\t{\n\t\t\tClipRect = ColIter->ColRect;\n\t\t\tClipRect.x -= (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\t\tm_ClientDC.EnableClipRect(&ClipRect);\n\t\t\trc.cx = ColIter->Width - m_TextMargin*2;\n\t\t\tif(ColIter->pIcon)\n\t\t\t{\n\t\t\t\tm_ClientDC.DrawDIB(rc.x,rc.y + CENTER_ALGN(ColIter->pIcon->m_Rect.cy,rc.cy),ColIter->pIcon);\n\t\t\t\tint Width = ColIter->pIcon->Width()+m_TextMargin;\n\t\t\t\trc.x+=Width;\n\t\t\t\trc.cx-=Width;\n\t\t\t}\n\t\t\tDrawColumnItemText(&(*ColIter),&rc);\n\t\t\trc.x += rc.cx+m_TextMargin*2;\n\t\t\tSplitRC = ColIter->SplitRect;\n\t\t\tSplitRC.x -= (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\t\tm_ClientDC.DrawFrameRect(&SplitRC,false);\n\t\t\tm_ClientDC.DisableClipRect();\n\t\t\tif(m_Style & WISP_WLS_VERT_LINE)\n\t\t\t{\n\t\t\t\tSplitRC.cx = 2;\n\t\t\t\tSplitRC.y = m_ListRect.y+2;\n\t\t\t\tSplitRC.cy = m_ListRect.cy-4;\n\t\t\t\tm_ClientDC.DrawFrameRect(&SplitRC,false);\n\t\t\t}\n\t\t}\n\t}\n\treturn false;\n}\n\nint CWispList::GetItemScrLine(HANDLE hItem)\n{\n\tint Index = 0;\n\tCItemList::IT ItemIter;\n\tItemIter = m_CurItemIter;\n\twhile(Index < m_nLinePerPage)\n\t{\n\t\tif(&(*ItemIter) == hItem)\n\t\t\treturn Index;\n\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\tbreak;\n\t\tIndex++;\n\t}\n\tif(&(*ItemIter) == hItem)\n\t\treturn Index;\n\treturn -1;\n}\n\nbool CWispList::GetItemCellRect(HANDLE hItem,int Col,WISP_RECT*pRECT)\n{\n\tint nScrLine;\n\tnScrLine = GetItemScrLine(hItem);\n\tif(nScrLine<0)\n\t\treturn false;\n\tpRECT->y = m_ListRect.y + nScrLine*m_ButtonSize.cy;\n\tpRECT->cy = m_ButtonSize.cy;\n\tpRECT->cx = pRECT->x = 0;\n\tfor(CColumnList::IT ColIter=m_ColumnList.Begin();ColIter!=m_ColumnList.End();ColIter++)\n\t{\n\t\tif(Col==0)\n\t\t{\n\t\t\tpRECT->x = ColIter->ColRect.x;\n\t\t\tpRECT->cx = ColIter->ColRect.cx;\n\t\t\tbreak;\n\t\t}\n\t\tCol--;\n\t}\n\treturn true;\n}\n\nHANDLE CWispList::GetScrStartItem()\n{\n\tif(m_CurItemIter == m_RootItem.ChildItemList.End())\n\t\treturn NULL;\n\treturn &(*m_CurItemIter);\n}\n\nvoid CWispList::DrawListItem(int iLine,const CItemList::IT&ItemIter)\n{\n\tint LimitX,Level,X,Col;\n\tWISP_RECT rc;\n\tCItemListCell::IT CellIter;\n\tCColumnList::IT ColIter;\n\tCWispListItem*pParentItem = ItemIter->pParent;\n\tCWispListItem*pItem = &(*ItemIter);\n\tLevel = pItem->GetLevel();\n\trc.y = m_ListRect.y + m_ButtonSize.cy * iLine;\n\trc.cy = m_ButtonSize.cy;\n\tif((m_Style&WISP_WLS_OPTION_TREE)==WISP_WLS_OPTION_TREE)\n\t{\n\t\tif(pItem->ChildItemList.Count())\n\t\t{\n\t\t\trc.x = m_ListRect.x + Level * m_TreeSpace - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\t\trc.cx = m_ListRect.cx;\n\t\t\tm_ClientDC.DrawFullRect(&rc,SYS_COLOR[SC_GRAY]);\n\t\t}\n\t\tfor(int n=0;n<=Level;n++)\n\t\t{\n\t\t\tif(n%2==0)\n\t\t\t{\n\t\t\t\trc.x = m_ListRect.x - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace+m_ButtonSize.cx*n;\n\t\t\t\trc.cx = m_ButtonSize.cx;\n\t\t\t\tm_ClientDC.DrawFullRect(&rc,SYS_COLOR[SC_GRAY]);\n\t\t\t}\n\t\t}\n\t}\n\trc.x = m_ListRect.x + Level * m_TreeSpace - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\tColIter = m_ColumnList.Begin();\n\tCellIter = ItemIter->ItemCellList.Begin();\n\tCol = 0;\n\twhile(CellIter!=ItemIter->ItemCellList.End() && ColIter!= m_ColumnList.End())\n\t{\n\t\tWISP_RECT ClipRect;\n\t\tClipRect.x = ColIter->ColRect.x - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\tClipRect.y = rc.y;\n\t\tClipRect.cx = ColIter->ColRect.cx;\n\t\tClipRect.cy = m_ButtonSize.cy;\n\t\tif(Col==0)\n\t\t{\n\t\t\tif(ItemIter->Style&WISP_WLIS_COLOR_LINE)\n\t\t\t{\n\t\t\t\tWISP_RECT BKrc;\n\t\t\t\tBKrc.x = 0;\n\t\t\t\tBKrc.y = rc.y;\n\t\t\t\tBKrc.cx = m_ClientRect.cx;\n\t\t\t\tBKrc.cy = rc.cy;\n\t\t\t\tm_ClientDC.DrawFullRect(&BKrc,ItemIter->LineColor);\n\t\t\t}\n\t\t\tif(((m_Style&WISP_WLS_SELECTED_ALWAYS) || IsFocus() ) && (ItemIter->Style&WISP_WLIS_SELECTED) && (m_Style&WISP_WLS_HIDE_SELECTED)==0)\n\t\t\t{\n\t\t\t\tWISP_RECT BKrc;\n\t\t\t\tBKrc.x = 0;\n\t\t\t\tBKrc.y = rc.y;\n\t\t\t\tBKrc.cx = m_ClientRect.cx;\n\t\t\t\tBKrc.cy = rc.cy;\n\t\t\t\tif(m_Style&WISP_WLS_EMPTY_SEL_RECT)\n\t\t\t\t\tm_ClientDC.DrawRect(&BKrc,IsFocus() ? m_SelectBKColor : m_LostFocusSelBKColor);\n\t\t\t\telse\n\t\t\t\t\tm_pWispBase->m_pCurDrawObj->DrawListSelectedItemBK(&m_ClientDC,&BKrc);\n\t\t\t}\n\t\t\tm_ClientDC.EnableClipRect(&ClipRect);\n\t\t\tLimitX = ColIter->ColRect.x+ColIter->ColRect.cx-(int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_ClientDC.EnableClipRect(&ClipRect);\n\t\t\trc.x = \tColIter->ColRect.x - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\t}\n\t\tif(m_ListBTIndex==Col)\n\t\t{\n\t\t\tif(m_Style&WISP_WLS_TREE)\n\t\t\t{\n\t\t\t\trc.cx = m_ButtonSize.cx;\n\t\t\t\tif(pItem->ChildItemList.Count())\n\t\t\t\t\tm_ClientDC.DrawSystemStandardIcon(rc,(pItem->Style&WISP_WLIS_EXPANDED)?WISP_SSI_EXPANDBUTTON_EXPAND:WISP_SSI_EXPANDBUTTON_COLLAPSE);\n\t\t\t\trc.x += m_ButtonSize.cx;\n\t\t\t}\n\t\t\tif(m_Style&WISP_WLS_CHECK_BOX)\n\t\t\t{\n\t\t\t\tUINT IconIndex;\n\t\t\t\trc.cx = m_ButtonSize.cx;\n\t\t\t\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t\t\t\t\tIconIndex = WISP_SSI_CHECKBOX_CHECKED;\n\t\t\t\telse if(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t\t\t\t\tIconIndex = WISP_SSI_CHECKBOX_SEMICHECKED;\n\t\t\t\telse\n\t\t\t\t\tIconIndex = WISP_SSI_CHECKBOX_UNCHECKED;\n\t\t\t\tm_ClientDC.DrawSystemStandardIcon(rc,IconIndex);\n\t\t\t\trc.x += m_ButtonSize.cx;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t}\n\t\tif(CellIter->pIcon)\n\t\t{\n\t\t\tm_ClientDC.DrawDIB(rc.x,rc.y,CellIter->pIcon);\n\t\t\trc.x += CellIter->pIcon->Width();\n\t\t}\n\t\tm_ClientDC.DisableClipRect();\n\t\trc.x += m_TextMargin;\n\t\trc.cx = ColIter->ColRect.x+ColIter->ColRect.cx - rc.x - m_TextMargin - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\tm_ClientDC.SetTextColor(CellIter->FontColor);\n\t\tDrawCellText(Col,&(*CellIter),&rc);\n\t\tColIter++;\n\t\tCellIter++;\n\t\tCol++;\n\t}\n\tif((m_Style&WISP_WLS_HORZ_LINE)&&iLine>0)\n\t{\n\t\tX = m_ListRect.x - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\t\tif((m_Style&WISP_WLS_OPTION_TREE)==WISP_WLS_OPTION_TREE)\n\t\t\tX += m_TreeSpace*(Level);\n\t\tm_ClientDC.DrawHLine(X,m_ListRect.cx-1,m_ListRect.y+iLine*m_ButtonSize.cy,m_HorzLineColor);\n\t}\n}\n\nbool CWispList::GetPrevListItem(CItemList::IT &ItemIter)\n{\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tItemIter--;\n\tif(ItemIter==pParent->ChildItemList.End())\n\t{\n\t\tif(pParent != &m_RootItem)\n\t\t{\n\t\t\tItemIter = *pParent;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\twhile(ItemIter->ChildItemList.Count())\n\t\tItemIter = ItemIter->ChildItemList.Last();\n\treturn true;\n}\n\nbool CWispList::GetPrevLineItem(CItemList::IT &ItemIter)\n{\n\tCODE_ASSERT(ItemIter->pParent && (ItemIter->pParent->Style&WISP_WLIS_EXPANDED));\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tif(ItemIter==pParent->ChildItemList.Begin())\n\t{\n\t\tif(pParent != &m_RootItem)\n\t\t{\n\t\t\tItemIter = *pParent;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\telse\n\t\tItemIter--;\n\twhile((ItemIter->Style & WISP_WLIS_EXPANDED) && ItemIter->ChildItemList.Count())\n\t\tItemIter = ItemIter->ChildItemList.Last();\n\treturn true;\n}\n\nbool CWispList::GetNextLineItem(CItemList::IT &ItemIter)\n{\n\tif(m_RootItem.ChildItemList.Count()==0 || ItemIter == m_RootItem.ChildItemList.End())\n\t\treturn false;\n\tif((ItemIter->Style&WISP_WLIS_EXPANDED) && ItemIter->ChildItemList.Count())\n\t{\n\t\tItemIter = ItemIter->ChildItemList.Begin();\n\t\treturn true;\n\t}\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tItemIter++;\n\tif(ItemIter == pParent->ChildItemList.End())\n\t{\n\t\twhile(pParent!=&m_RootItem)\n\t\t{\n\t\t\tItemIter = *pParent;\n\t\t\tpParent = pParent->pParent;\n\t\t\tItemIter++;\n\t\t\tif(ItemIter != pParent->ChildItemList.End())\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn ItemIter != pParent->ChildItemList.End();\n}\n\nint CWispList::UpdateCurScrItem(int Offset)\n{\n\tint Result = 0;\n\tif(m_CurItemIter==m_RootItem.ChildItemList.End())\n\t\treturn 0;\n\tif(Offset>0)\n\t{\n\t\twhile(Offset>0)\n\t\t{\n\t\t\tif(GetNextLineItem(m_CurItemIter)==false)\n\t\t\t\treturn Result;\n\t\t\tOffset--;\n\t\t\tResult++;\n\t\t}\n\t}\n\telse if(Offset<0)\n\t{\n\t\twhile(Offset<0)\n\t\t{\n\t\t\tif(GetPrevLineItem(m_CurItemIter)==false)\n\t\t\t\treturn Result;\n\t\t\tOffset++;\n\t\t\tResult++;\n\t\t}\n\t}\n\treturn Result;\n}\n\nHANDLE CWispList::PointToItem(const WISP_POINT&ClientPT,int*pPos)\n{\n\tCItemList::IT ItemIter;\n\tint Result = PointToItem(ClientPT,ItemIter);\n\tif(Result >= LI_POS_CELL_AREA_START)\n\t{\n\t\tif(pPos)\n\t\t\t*pPos=Result;\n\t\treturn &(*ItemIter);\n\t}\n\tif(pPos)\n\t\t*pPos=LI_POS_NON_AREA;\n\treturn NULL;\n}\n\nint CWispList::PointToItem(const WISP_POINT&ClientPT,CItemList::IT &ItemIter)\n{\n\tint iLine,x,ListX;\n\n\tif(ClientPT.y>=m_TitleRect.y && ClientPT.y<m_TitleRect.y+m_TitleRect.cy)\n\t\treturn LI_POS_COLUMN;\n\tif(PtInRect(&m_ListRect,ClientPT)==false)\n\t\treturn LI_POS_NON_AREA;\n\tiLine = (ClientPT.y - m_ListRect.y) / m_ButtonSize.cy;\n\tif(iLine>m_ScrollBar[WISP_SB_VERT]->MaxPos)\n\t\treturn LI_POS_NON_AREA;\n\tif(m_RootItem.ChildItemList.Count()==0)\n\t\treturn LI_POS_NON_AREA;\n\tItemIter = m_CurItemIter;\n\twhile(iLine>0)\n\t{\n\t\tif(GetNextLineItem(ItemIter)==false)\n\t\t\treturn LI_POS_NON_AREA;\n\t\tiLine--;\n\t}\n\tx = ClientPT.x+(int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\tListX = m_ListRect.x + ItemIter->GetLevel() * m_TreeSpace;\n\tif(x<ListX)\n\t\treturn LI_POS_SPACE_AREA;\n\tint Index=LI_POS_CELL_AREA_START;\n\tif(m_ColumnList.Count()==0)\n\t\treturn LI_POS_NON_AREA;\n\tint Col=0;\n\tfor(CColumnList::IT ColIter=m_ColumnList.Begin();ColIter!=m_ColumnList.End();ColIter++)\n\t{\n\t\tif(Col == m_ListBTIndex)\n\t\t{\n\t\t\tif(m_Style&WISP_WLS_TREE)\n\t\t\t{\n\t\t\t\tListX+=m_ButtonSize.cx;\n\t\t\t\tif(x<ListX)\n\t\t\t\t\treturn ItemIter->ChildItemList.Count()?LI_POS_TREE_BT:LI_POS_SPACE_AREA;\n\t\t\t}\n\t\t\tif((m_Style&WISP_WLS_CHECK_BOX))\n\t\t\t{\n\t\t\t\tListX+=m_ButtonSize.cx;\n\t\t\t\tif(x<ListX)\n\t\t\t\t\treturn LI_POS_CHECK_BOX;\n\t\t\t}\n\t\t}\n\t\tListX = ColIter->ColRect.x+ColIter->ColRect.cx;\n\t\tif(x<ListX)\n\t\t\treturn Index;\n\t\tIndex++;\n\t\tCol++;\n\t}\n\treturn (UINT)Index-1;\n}\n\nbool CWispList::ToggleExpandItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style & WISP_WLIS_EXPANDED)\n\t{\n\t\tUnexpandItem(pItem);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tExpandItem(pItem);\n\t\treturn false;\n\t}\n}\n\nbool CWispList::ExpandItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style&WISP_WLIS_EXPANDED)\n\t\treturn true;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_EXPANDING;\n\tMsg.Command.Param1 = false;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemExpandingNotify(hItem)==false)\n\t\treturn false;\n\tpItem->Style|=WISP_WLIS_EXPANDED;\n\tint Count = pItem->GetDispLine();\n\tif(Count)\n\t{\n\t\tAdjustScrollBarMaxPos(WISP_SB_VERT,Count);\n\t\tRecalcLayout();\n\t\tMsg.Command.CmdMsg = WISP_CMD_ITEM_EXPANDED;\n\t\tMsg.Command.Param1 = true;\n\t\tSEND_MSG(&Msg);\n\t\tItemExpandedNotify(hItem);\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispList::UnexpandItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem==NULL)\n\t\tpItem = &m_RootItem;\n\tif((pItem->Style&WISP_WLIS_EXPANDED)==0)\n\t\treturn true;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNEXPANDING;\n\tMsg.Command.Param1 = true;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemUnexpandingNotify(hItem)==false)\n\t\treturn false;\n\tpItem->Style&=~WISP_WLIS_EXPANDED;\n\tint Count = pItem->GetDispLine();\n\tif(Count)\n\t{\n\t\tif(m_LastSelectIter!=m_RootItem.ChildItemList.End() && pItem->IsParentOf(&(*m_LastSelectIter)))\n\t\t\tSelectItem(hItem);\n\t\tAdjustScrollBarMaxPos(WISP_SB_VERT,-Count);\n\t\tRecalcLayout();\n\t\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNEXPANDED;\n\t\tMsg.Command.Param1 = false;\n\t\tSEND_MSG(&Msg);\n\t\tItemUnexpandedNotify(hItem);\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispList::ToggleSelectItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style & WISP_WLIS_SELECTED)\n\t{\n\t\tUnselectItem(pItem);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tSelectItem(pItem);\n\t\treturn false;\n\t}\n}\n\nbool CWispList::SelectItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style&WISP_WLIS_SELECTED)\n\t\treturn true;\n\tif(((m_Style&WISP_WLS_MULTI_SELECT)==0 || m_pWispBase->m_KeyMap[WISP_VK_CONTROL]==false)\n\t\t&& m_LastSelectIter!=m_RootItem.ChildItemList.End() && (&(*m_LastSelectIter))!=pItem)\n\t{\n\t\tUnselectItem(&(*m_LastSelectIter));\n\t}\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_SELECTING;\n\tMsg.Command.Param1 = false;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemSelectingNotify(hItem)==false)\n\t\treturn false;\n\tpItem->Style|=WISP_WLIS_SELECTED;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_SELECTED;\n\tMsg.Command.Param1 = true;\n\tSEND_MSG(&Msg);\n\tm_LastSelectIter = (*pItem);\n\tItemSelectedNotify(hItem);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispList::UnselectItem(HANDLE hItem)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif((pItem->Style&WISP_WLIS_SELECTED)==0)\n\t\treturn true;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNSELECTING;\n\tMsg.Command.Param1 = true;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemUnselectingNotify(hItem)==false)\n\t\treturn false;\n\tpItem->Style&=~WISP_WLIS_SELECTED;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNSELECTED;\n\tMsg.Command.Param1 = false;\n\tSEND_MSG(&Msg);\n\tif(&(*m_LastSelectIter)==pItem)\n\t\tm_LastSelectIter = m_RootItem.ChildItemList.End();\n\tItemUnselectedNotify(hItem);\n\tUpdate();\n\treturn true;\n}\n\nvoid CWispList::BeginEditItem(HANDLE hItem,int Col)\n{\n\tCWispListItem*pItem;\n\tCWispListItemCell*pCell;\n\tWISP_MSG Msg;\n\tWISP_RECT CellRect;\n\tint Index;\n\tif(Col>=m_ColumnList.Count())\n\t\treturn;\n\tIndex = GetItemScrLine((CWispListItem*)hItem);\n\tif(Index==-1)\n\t{\n\t\tEnableVisible(hItem);\n\t}\n\tCellRect = m_ColumnList[Col]->ColRect;\n\tCellRect.y = m_ListRect.y + Index * m_ButtonSize.cy;\n\tCellRect.cy = m_ButtonSize.cy;\n\tCellRect.x -= (int)m_ScrollBar[WISP_SB_HORZ]->CurPos*m_HorzScrollSpace;\n\tm_EditCol = Col;\n\tm_hEditItem = hItem;\n\tpCell = GetItemCell(m_hEditItem,m_EditCol);\n\tm_EditCtrl.m_WndText.Empty();\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_BEGIN_EDIT;\n\tMsg.Command.Param1 = m_EditCol;\n\tMsg.Command.Param2 = m_hEditItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn;\n\tif(BeginEditItemNotify(m_hEditItem,m_EditCol,pCell->szText)==false)\n\t\treturn;\n\tpItem = (CWispListItem*)hItem;\n\tif(Col==m_ListBTIndex)\n\t{\n\t\tif(m_Style&WISP_WLS_TREE)\n\t\t{\n\t\t\tCellRect.x+=m_ButtonSize.cx;\n\t\t\tCellRect.cx-=m_ButtonSize.cx;\n\t\t}\n\t\tif(m_Style&WISP_WLS_CHECK_BOX)\n\t\t{\n\t\t\tCellRect.x+=m_ButtonSize.cx;\n\t\t\tCellRect.cx-=m_ButtonSize.cx;\n\t\t}\n\t}\n\tif(pCell->pIcon)\n\t{\n\t\tCellRect.x+=pCell->pIcon->Width();\n\t\tCellRect.cx-=pCell->pIcon->Width();\n\t}\n\tm_EditCtrl.MoveWindowToClient(CellRect);\n\tif(m_EditCtrl.m_WndText.Length()==0)\n\t\tm_EditCtrl.SetWindowText(pCell->szText);\n\tm_EditCtrl.Show(WISP_SH_NORMAL);\n\tm_EditCtrl.Focus();\n}\n\nvoid CWispList::EndEditItem(bool bSaveItem)\n{\n\tif(m_pWispBase->m_pFocusWnd!=&m_EditCtrl)\n\t\treturn;\n\tm_bSaveItem = bSaveItem;\n\tFocus();\n\tUpdateClient();\n}\n\nvoid CWispList::OnEndEditItem()\n{\n\tWISP_MSG Msg;\n\tm_ProcEndEditItem = true;\n\tm_EditCtrl.Show(WISP_SH_HIDDEN);\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = m_bSaveItem?WISP_CMD_ITEM_END_EDIT:WISP_CMD_ITEM_CANCEL_EDIT;\n\tMsg.Command.Param1 = m_EditCol;\n\tMsg.Command.Param2 = m_hEditItem;\n\tif(\tSEND_MSG(&Msg)==false || EndEditItemNotify(m_hEditItem,m_EditCol,GetItemEditString())==false)\n\t{\n\t\tGetItemEditString().Empty();\n\t}\n\telse if(m_bSaveItem)\n\t{\n\t\tCWispListItemCell*pCell = GetItemCell(m_hEditItem,m_EditCol);\n\t\tif(pCell->szText != GetItemEditString())\n\t\t{\n\t\t\tpCell->szText = GetItemEditString();\n\t\t\tMsg.Command.CmdMsg = WISP_CMD_ITEM_CHANGED;\n\t\t\tSEND_MSG(&Msg);\n\t\t\tItemChangedNotify(m_hEditItem,m_EditCol,pCell->szText);\n\t\t}\n\t}\n\tm_bSaveItem = true;\n\tm_ProcEndEditItem = false;\n}\n\nbool CWispList::OnSize(WISP_MSG*pMsg)\n{\n\tif(pMsg->Resize.NewSizeDelta.cx>0 || m_ColumnList.Count()==0)\n\t\treturn true;\n\tCWispColumnItem* pCol = &(*m_ColumnList.Last());\n\tif(pCol->Width > pCol->OrgWidth)\n\t{\n\t\tpCol->Width+=pMsg->Resize.NewSizeDelta.cx;\n\t\tm_ColTotalWidth+=pMsg->Resize.NewSizeDelta.cx;\n\t}\n\treturn true;\n}\n\nbool CWispList::OnLostFocus(WISP_MSG*pMsg)\n{\n\tHideItemTip();\n\treturn true;\n}\n\nbool CWispList::ToggleCheckItem(HANDLE hItem,bool bUpdateRelation)\n{\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style & WISP_WLIS_CHECKED)\n\t{\n\t\tUncheckItem(pItem,bUpdateRelation);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tCheckItem(pItem,bUpdateRelation);\n\t\treturn false;\n\t}\n}\n\nbool CWispList::CheckItem(HANDLE hItem,bool bUpdateRelation)\n{\n\tWISP_MSG Msg;\n\tCWispListItem*pItem=(CWispListItem*)hItem;\n\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t\treturn true;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_CHECKING;\n\tMsg.Command.Param1 = false;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemCheckingNotify(hItem)==false)\n\t\treturn false;\n\tif(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t{\n\t\tpItem->Style&=~WISP_WLIS_SEMI_CHECKED;\n\t\tpItem->pParent->nSemiChecked--;\n\t}\n\tpItem->Style|=WISP_WLIS_CHECKED;\n\tpItem->pParent->nChecked++;\n\tCODE_ASSERT(pItem->pParent->nSemiChecked+pItem->pParent->nChecked<=pItem->pParent->ChildItemList.Count());\n\tfor(CItemList::IT Iter = pItem->ChildItemList.Begin();Iter!=pItem->ChildItemList.End();Iter++)\n\t\tCheckItem(&(*Iter),false);\n\tif(bUpdateRelation)\n\t{\n\t\tUpdateItemTreeCheckState(pItem);\n\t}\n\telse\n\t{\n\t\tpItem->nChecked = pItem->ChildItemList.Count();\n\t\tpItem->nSemiChecked = 0;\n\t}\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_CHECKED;\n\tMsg.Command.Param1 = true;\n\tSEND_MSG(&Msg);\n\tItemCheckedNotify(hItem);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispList::UncheckItem(HANDLE hItem,bool bUpdateRelation)\n{\n\tWISP_MSG Msg;\n\tCWispListItem*pItem;\n\tpItem=(CWispListItem*)hItem;\n\tif((pItem->Style&WISP_WLIS_CHECKED_MASK)==0)\n\t\treturn true;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNCHECKING;\n\tMsg.Command.Param1 = true;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tif(ItemUncheckingNotify(hItem)==false)\n\t\treturn false;\n\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t{\n\t\tpItem->Style&=~WISP_WLIS_CHECKED;\n\t\tpItem->pParent->nChecked--;\n\t}\n\telse if(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t{\n\t\tpItem->Style&=~WISP_WLIS_SEMI_CHECKED;\n\t\tpItem->pParent->nSemiChecked--;\n\t}\n\tfor(CItemList::IT Iter = pItem->ChildItemList.Begin();Iter!=pItem->ChildItemList.End();Iter++)\n\t\tUncheckItem(&(*Iter),false);\n\tif(bUpdateRelation)\n\t{\n\t\tUpdateItemTreeCheckState(pItem);\n\t}\n\telse\n\t{\n\t\tpItem->nChecked = pItem->nSemiChecked = 0;\n\t}\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNCHECKED;\n\tMsg.Command.Param1 = false;\n\tSEND_MSG(&Msg);\n\tItemUncheckedNotify(hItem);\n\tUpdate();\n\treturn true;\n}\n\nHANDLE CWispList::GetFirstItem(HANDLE hParent,UINT Style)\n{\n\tCWispListItem*pParentItem;\n\tif(hParent)\n\t\tpParentItem = (CWispListItem*)hParent;\n\telse\n\t\tpParentItem = &m_RootItem;\n\n\tCItemList::IT ItemIter = pParentItem->ChildItemList.Begin();\n\twhile(ItemIter!=pParentItem->ChildItemList.End())\n\t{\n\t\tif((ItemIter->Style&Style) == Style)\n\t\t\treturn &(*ItemIter);\n\t\tItemIter++;\n\t}\n\treturn NULL;\n}\n\nHANDLE CWispList::GetNextItem(HANDLE hItem,UINT Style)\n{\n\tif(hItem==NULL)\n\t\treturn GetFirstItem(NULL,Style);\n\tCItemList::IT ItemIter;\n\tItemIter = *((CWispListItem*)hItem);\n\twhile(GetNextItem(ItemIter))\n\t{\n\t\tif((ItemIter->Style&Style) == Style)\n\t\t\treturn &(*ItemIter);\n\t}\n\treturn NULL;\n}\n\nbool CWispList::GetNextItem(CItemList::IT &ItemIter)\n{\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tItemIter++;\n\treturn ItemIter!=pParent->ChildItemList.End();\n}\n\nHANDLE CWispList::GetPrevItem(HANDLE hItem,UINT Style)\n{\n\tCItemList::IT ItemIter;\n\tItemIter = *((CWispListItem*)hItem);\n\twhile(GetPrevItem(ItemIter))\n\t{\n\t\tif((ItemIter->Style&Style) == Style)\n\t\t\treturn &(*ItemIter);\n\t}\n\treturn NULL;\n}\n\n\nbool CWispList::GetPrevItem(CItemList::IT &ItemIter)\n{\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tItemIter--;\n\treturn ItemIter!=pParent->ChildItemList.End();\n}\n\n\nHANDLE CWispList::GetNextListItem(HANDLE hItem,UINT Style)\n{\n\tCItemList::IT ItemIter;\n\tif(hItem)\n\t\tItemIter = *((CWispListItem*)hItem);\n\telse\n\t\tItemIter = m_RootItem.ChildItemList.Begin();\n\tif(ItemIter == m_RootItem.ChildItemList.End())\n\t\treturn NULL;\n\tif(hItem && GetNextListItem(ItemIter)==false)\n\t\treturn NULL;\n\tdo\n\t{\n\t\tif((ItemIter->Style&Style) == Style)\n\t\t\treturn &(*ItemIter);\n\t}while(GetNextListItem(ItemIter));\n\treturn NULL;\n}\n\nHANDLE CWispList::GetPrevListItem(HANDLE hItem,UINT Style)\n{\n\tCItemList::IT ItemIter;\n\tif(hItem)\n\t\tItemIter = *((CWispListItem*)hItem);\n\telse\n\t\tItemIter = m_RootItem.ChildItemList.Last();\n\tif(ItemIter == m_RootItem.ChildItemList.End())\n\t\treturn NULL;\n\tif(hItem && GetPrevListItem(ItemIter)==false)\n\t\treturn NULL;\n\tdo\n\t{\n\t\tif((ItemIter->Style&Style) == Style)\n\t\t\treturn &(*ItemIter);\n\t}while(GetPrevListItem(ItemIter));\n\treturn NULL;\n}\n\nHANDLE CWispList::GetItem(int Index,HANDLE hParent)\n{\n\tCItemList*pItemList;\n\tif(hParent)\n\t\tpItemList = &((CWispListItem*)hParent)->ChildItemList;\n\telse\n\t\tpItemList = &m_RootItem.ChildItemList;\n\tif(pItemList->Count()==0)\n\t\treturn NULL;\n\tif(Index<0 || Index >= pItemList->Count())\n\t\treturn &(*pItemList->Last());\n\treturn &(*(*pItemList)[Index]);\n}\n\nHANDLE CWispList::GetParentItem(HANDLE hItem)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\treturn pItem->pParent;\n}\n\nint CWispList::GetItemIndex(HANDLE hItem)\n{\n\tHANDLE hFindItem,hParent;\n\tint Index=0;\n\thParent = GetParentItem(hItem);\n\tif(hParent==NULL)\n\t\treturn 0;\n\thFindItem = GetFirstItem(hParent);\n\twhile(hFindItem)\n\t{\n\t\tif(hFindItem == hItem)\n\t\t\treturn Index;\n\t\thFindItem = GetNextItem(hFindItem);\n\t\tIndex++;\n\t}\n\treturn -1;\n}\n\nint CWispList::GetListItemIndex(HANDLE hItem,HANDLE hParent)\n{\n\tHANDLE hFindItem;\n\tint Index=0;\n\thFindItem = GetNextListItem(hParent);\n\twhile(hFindItem)\n\t{\n\t\tif(hFindItem == hItem)\n\t\t\treturn Index;\n\t\thFindItem = GetNextListItem(hItem);\n\t\tIndex++;\n\t}\n\treturn -1;\n}\n\n\nint\tCWispList::GetItemCount(HANDLE hParent,bool bRecursive)\n{\n\tint Count;\n\tCItemList*pItemList;\n\tif(hParent)\n\t\tpItemList = &((CWispListItem*)hParent)->ChildItemList;\n\telse\n\t\tpItemList = &m_RootItem.ChildItemList;\n\tCount = pItemList->Count();\n\tif(bRecursive)\n\t{\n\t\tfor(CItemList::IT Iter= pItemList->Begin();Iter!=pItemList->End();Iter++)\n\t\t{\n\t\t\tCount+=GetItemCount((HANDLE)&(*Iter),true);\n\t\t}\n\t}\n\treturn Count;\n}\n\nbool CWispList::GetNextListItem(CItemList::IT &ItemIter)\n{\n\tif(ItemIter->ChildItemList.Count())\n\t{\n\t\tItemIter = ItemIter->ChildItemList.Begin();\n\t\treturn true;\n\t}\n\tCWispListItem*pParent = ItemIter->pParent;\n\tif(pParent==NULL)\n\t\treturn false;\n\tItemIter++;\n\tif(ItemIter == pParent->ChildItemList.End())\n\t{\n\t\twhile(pParent!=&m_RootItem)\n\t\t{\n\t\t\tItemIter = *pParent;\n\t\t\tpParent = pParent->pParent;\n\t\t\tItemIter++;\n\t\t\tif(ItemIter != pParent->ChildItemList.End())\n\t\t\t\tbreak;\n\t\t}\n\t}\n\treturn ItemIter != pParent->ChildItemList.End();\n}\n\nCWispListItemCell* CWispList::GetItemCell(HANDLE hItem,int Col)\n{\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\tif(Col >= m_ColumnList.Count())\n\t\treturn NULL;\n\tif(pItem->ItemCellList.Count()<=Col)\n\t{\n\t\tCItemListCell::IT Iter;\n\t\tfor(int n=pItem->ItemCellList.Count();n<=Col;n++)\n\t\t{\n\t\t\tIter = pItem->ItemCellList.Append();\n\t\t\tIter->Data = 0;\n\t\t\tIter->pIcon = NULL;\n\t\t\tIter->FontColor = m_FontColor;\n\t\t}\n\t}\n\treturn &(*pItem->ItemCellList[Col]);\n}\n\nCWispString&CWispList::GetItemText(HANDLE hItem,int Col)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\treturn pCell->szText;\n}\n\nint CWispList::GetItemText(HANDLE hItem,int Col,WISP_PSTR szString,int MaxLength)\n{\n\tCWispString*pString = &GetItemText(hItem,Col);\n\tif(pString==NULL)\n\t\treturn 0;\n\tif(pString->Length()==0)\n\t{\n\t\t*szString=0;\n\t\treturn 0;\n\t}\n\tif(IsColorString(pString->m_pData))\n\t{\n\t\treturn TStrCpyLimit(szString,GetColorString(pString->m_pData),MaxLength);\n\t}\n\telse\n\t{\n\t\treturn TStrCpyLimit(szString,pString->m_pData,MaxLength);\n\t}\n}\n\nCWispDIB*CWispList::GetItemIcon(HANDLE hItem,int Col)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\treturn pCell->pIcon;\n}\n\nNUM_PTR\tCWispList::GetItemData(HANDLE hItem,int Col)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\treturn pCell->Data;\n}\n\nCOLORREF CWispList::GetItemTextColor(HANDLE hItem,int Col)\n{\n\tCWispListItemCell*pCell = GetItemCell(hItem,Col);\n\treturn pCell->FontColor;\n}\n\nCOLORREF CWispList::GetItemLineColor(HANDLE hItem)\n{\n\treturn ((CWispListItem*)hItem)->LineColor;\n}\n\nUINT CWispList::GetItemStyle(HANDLE hItem)\n{\t\n\treturn ((CWispListItem*)hItem)->Style;\n}\n\nint CWispList::GetItemLevel(HANDLE hItem)\n{\n\treturn ((CWispListItem*)hItem)->GetLevel();\n}\n\nbool CWispList::IsParentOfItem(HANDLE hItem,HANDLE hChildItem)\n{\n\treturn ((CWispListItem*)hItem)->IsParentOf(hChildItem);\n}\n\nint CWispList::GetItemFullPath(HANDLE hItem,int Col,WISP_PSTR szBuffer,UINT MaxLength,WISP_PCSTR SplitStr)\n{\n\tUINT Length;\n\tCWispListItem*pItem;\n\tCWispListItemCell*pCell;\n\tTArray<WISP_PSTR> ItemStrArray;\n\tItemStrArray.Resize(GetItemDeep(hItem)-1);\n\tpItem = (CWispListItem*)hItem;\n\tif(szBuffer)\n\t\t*szBuffer=0;\n\tLength = 0;\n\twhile(pItem!=&m_RootItem)\n\t{\n\t\tpCell = GetItemCell((HANDLE)pItem,Col);\n\t\tItemStrArray.Append(pCell->szText);\n\t\tpItem = pItem->pParent;\n\t}\n\tint Count=ItemStrArray.Count();\n\tfor(int n=Count-1;n>=0;n--)\n\t{\n\t\tif(Length<MaxLength)\n\t\t{\n\t\t\tif(szBuffer)\n\t\t\t\tLength+=TStrCpy(&szBuffer[Length],ItemStrArray[n]);\n\t\t\telse\n\t\t\t\tLength+=TStrLen(ItemStrArray[n]);\n\t\t}\n\t\tif(n>0 && Length<MaxLength)\n\t\t{\n\t\t\tif(szBuffer)\n\t\t\t\tLength+=TStrCpy(&szBuffer[Length],SplitStr);\n\t\t\telse\n\t\t\t\tLength+=TStrLen(SplitStr);\n\t\t}\n\t}\n\treturn Length;\n}\n\nint CWispList::GetItemDeep(HANDLE hItem)\n{\n\tint Deep = 0;\n\tCWispListItem*pItem = (CWispListItem*)hItem;\n\twhile(pItem)\n\t{\n\t\tpItem = pItem->pParent;\n\t\tDeep++;\n\t}\n\treturn Deep;\n}\n\nbool CWispList::ShowItemTip(HANDLE hItem,int Col,WISP_PCSTR szTip)\n{\n\tWISP_CHAR szTipBuffer[WISP_MAX_LIST_TIP_LEN];\n\tWISP_POINT Pt;\n\tint nLine = GetItemScrLine((CWispListItem*)hItem);\n\tif(nLine<0)\n\t\treturn false;\n\tm_hCurHoverItem = hItem;\n\tm_CurHoverCol = Col;\n\tPt.x = m_ColumnList[Col]->ColRect.x - (int)m_ScrollBar[WISP_SB_HORZ]->CurPos * m_HorzScrollSpace;\n\tPt.y = m_ListRect.y + m_ButtonSize.cy * nLine;\n\tPt.x+=m_ScrWindowRect.x;\n\tPt.y+=m_ScrWindowRect.y;\n\tif(IsColorString(szTip))\n\t\tTStrCpy((WISP_COLOR_CHAR*)szTipBuffer,(WISP_COLOR_CHAR*)szTip);\n\telse\n\t\tTStrCpy(szTipBuffer,szTip);\n\tif(ItemShowTipNotify(hItem,Col,&Pt.x,&Pt.y,szTipBuffer)==false)\n\t\treturn false;\n\tif(m_bTipTimerSet)\n\t{\n\t\tRemoveTimer(WISP_WLI_TIMER_ID);\n\t\tm_bTipTimerSet = false;\n\t}\n\tif(IsColorString(szTipBuffer))\n\t{\n\t\tconst WISP_COLOR_CHAR *pszText = GetColorString(szTipBuffer);\n\t\tint Length = TStrLen(pszText);\n\t\tm_TipFullItemTextWnd.m_WndText.Preallocate(Length+1);\n\t\tm_TipFullItemTextWnd.m_WndText.m_Length = Length;\n\t\tTStrCpy((WISP_PSTR)m_TipFullItemTextWnd.m_WndText,pszText);\n\t}\n\telse\n\t{\n\t\tm_TipFullItemTextWnd.SetWindowText(szTipBuffer);\n\t}\n\tm_TipFullItemTextWnd.AutoAdjustPostion(this);\n\tif(Pt.x+m_TipFullItemTextWnd.m_WindowRect.cx>m_pWispBase->m_pRootWnd->m_WindowRect.cx)\n\t\tPt.x = m_pWispBase->m_pRootWnd->m_WindowRect.cx - m_TipFullItemTextWnd.m_WindowRect.cx;\n\tMIN_LIMIT(Pt.x,0);\n\tif(Pt.y+m_TipFullItemTextWnd.m_WindowRect.cy>m_pWispBase->m_pRootWnd->m_WindowRect.cy)\n\t\tPt.y = m_pWispBase->m_pRootWnd->m_WindowRect.cy - m_TipFullItemTextWnd.m_WindowRect.cy;\n\tMIN_LIMIT(Pt.y,0);\n\tm_TipFullItemTextWnd.MoveToScreen(Pt.x,Pt.y);\t\n\tm_TipFullItemTextWnd.Show();\n\tUpdate();\n\treturn true;\n}\n\nbool CWispList::HideItemTip()\n{\n\tif(m_bTipTimerSet)\n\t{\n\t\tRemoveTimer(WISP_WLI_TIMER_ID);\n\t\tm_bTipTimerSet=false;\n\t}\n\tif(m_TipFullItemTextWnd.IsVisible()==false)\n\t\treturn false;\n\tif(ItemHideTipNotify(m_hCurHoverItem,m_CurHoverCol,m_TipFullItemTextWnd.m_WndText)==false)\n\t\treturn false;\n\tm_TipFullItemTextWnd.m_WndText.Empty();\n\tm_TipFullItemTextWnd.Show(WISP_SH_HIDDEN);\n\tm_hCurHoverItem = NULL;\n\tm_CurHoverCol = 0;\n\tUpdate();\n\treturn true;\n}\n\nbool CWispList::ItemShowTipNotify(HANDLE hItem,int Col,int*pX,int*pY,WISP_PSTR szTip)\n{\n\tif(IsItemTextFullVisible(hItem,Col))\n\t\treturn false;\n\tTStrCpy(szTip,(WISP_PCSTR)GetItemText(hItem,Col));\n\treturn true;\n}\n\nvoid CWispList::DrawCellText(int Col,CWispListItemCell*pCell,WISP_RECT*pRect)\n{\n\tWISP_CHAR*pszText = pCell->szText;\n\tif(IsColorString(pszText))\n\t{\n\t\tm_ClientDC.DrawColorString(pRect,GetColorString(pszText));\n\t}\n\telse\n\t{\n\t\tm_ClientDC.DrawString(pRect,pCell->szText);\n\t}\n}\n\nvoid CWispList::DrawColumnItemText(CWispColumnItem*pColItem,WISP_RECT*pRect)\n{\n\tm_ClientDC.DrawShadowString(pRect,pColItem->szText);\n}\n\nvoid CWispList::UpdateItemTreeCheckState(CWispListItem*pItem)\n{\n\tpItem=pItem->pParent;\n\twhile(pItem!=&m_RootItem)\n\t{\n\t\tif(((pItem->nChecked > 0 && pItem->nChecked < pItem->ChildItemList.Count()) || pItem->nSemiChecked > 0) && (pItem->Style&WISP_WLIS_SEMI_CHECKED)==0)\n\t\t{\n\t\t\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t\t\t{\n\t\t\t\tpItem->Style&=~WISP_WLIS_CHECKED;\n\t\t\t\tpItem->pParent->nChecked--;\n\t\t\t}\n\t\t\tpItem->Style|=WISP_WLIS_SEMI_CHECKED;\n\t\t\tpItem->pParent->nSemiChecked++;\n\t\t}\n\t\telse if(pItem->nChecked == pItem->ChildItemList.Count() && (pItem->Style&WISP_WLIS_CHECKED)==0)\n\t\t{\n\t\t\tif(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t\t\t{\n\t\t\t\tpItem->Style&=~WISP_WLIS_SEMI_CHECKED;\n\t\t\t\tpItem->pParent->nSemiChecked--;\n\t\t\t}\n\t\t\tpItem->Style|=WISP_WLIS_CHECKED;\n\t\t\tpItem->pParent->nChecked++;\n\t\t}\n\t\telse if(pItem->nChecked==0 && pItem->nSemiChecked==0)\n\t\t{\n\t\t\tif(pItem->Style&WISP_WLIS_CHECKED)\n\t\t\t{\n\t\t\t\tpItem->Style&=~WISP_WLIS_CHECKED;\n\t\t\t\tpItem->pParent->nChecked--;\n\t\t\t}\n\t\t\telse if(pItem->Style&WISP_WLIS_SEMI_CHECKED)\n\t\t\t{\n\t\t\t\tpItem->Style&=~WISP_WLIS_SEMI_CHECKED;\n\t\t\t\tpItem->pParent->nSemiChecked--;\n\t\t\t}\n\t\t}\n\t\tCODE_ASSERT(pItem->pParent->nSemiChecked<=pItem->pParent->ChildItemList.Count());\n\t\tpItem=pItem->pParent;\n\t}\n}\n\nvoid CWispList::OnHide()\n{\n\tif(m_TipFullItemTextWnd.IsVisible())\n\t\tHideItemTip();\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispList.h",
    "content": "#ifndef _WISP_LIST_H_\n#define _WISP_LIST_H_\n\n#include \"WispEdit.h\"\n#include \"WispTipWnd.h\"\n\n//ListCtrl Attribute\n#define WISP_WLS_COLUMN_TITLE\t\t0x00010000\n#define WISP_WLS_TREE\t\t\t\t0x00020000\n#define WISP_WLS_OPTION_TREE\t\t0x00060000\t\t\t\t//ҰList\n#define WISP_WLS_CHECK_BOX\t\t\t0x00400000\n#define WISP_WLS_MULTI_SELECT\t\t0x00800000\n#define WISP_WLS_EMPTY_SEL_RECT\t\t0x01000000\n#define WISP_WLS_VERT_LINE\t\t\t0x02000000\n#define WISP_WLS_HORZ_LINE\t\t\t0x04000000\n#define WISP_WLS_TREE_LINE\t\t\t0x08000000\n#define WISP_WLS_FOLLOW_SEL\t\t\t0x10000000\n#define WISP_WLS_SELECTED_ALWAYS\t0x40000000\n#define WISP_WLS_HIDE_SELECTED\t\t0x80000000\n\n\n//ListItem Attribute\n#define WISP_WLIS_NULL\t\t\t\t0x00000000\n#define WISP_WLIS_NORMAL\t\t\t0x00000000\n#define WISP_WLIS_EXPANDED\t\t\t0x00000001\n#define WISP_WLIS_CHECKED\t\t\t0x00000002\n#define WISP_WLIS_SEMI_CHECKED\t\t0x00000004\n#define WISP_WLIS_CHECKED_MASK\t\t(WISP_WLIS_CHECKED|WISP_WLIS_SEMI_CHECKED)\n#define WISP_WLIS_SELECTED\t\t\t0x00000008\n#define WISP_WLIS_COLOR_LINE\t\t0x00000010\n\n//ListColumn Attribute\n#define WISP_WLCS_NORMAL\t\t\t0x00000000\n#define WISP_WLCS_EDITABLE\t\t\t0x00000001\n#define WISP_WLCS_FIXED\t\t\t\t0x00000002\n\n#define WISP_MAX_LIST_TIP_LEN\t\t0x200\n\nenum WISP_WLI_CMD_ID\n{\n\tWISP_WLI_EDIT_CMD_ID\t=\tWISP_WM_SYS_START,\n\tWISP_WLI_TIP_CMD_ID,\n\tWISP_WLI_TIMER_ID\n};\n\nclass CWispListItemCell\n{\npublic:\n\tCWispString\t\tszText;\n\tCWispDIB*\t\tpIcon;\n\tNUM_PTR\t\t\tData;\n\tCOLORREF\t\tFontColor;\n};\n\nclass CWispListItem\n{\npublic:\n\ttypedef TList<CWispListItem>\t\tCItemList;\n\ttypedef TList<CWispListItemCell>\tCItemListCell;\npublic:\n\tCItemList\t\tChildItemList;\n\tCItemListCell\tItemCellList;\n\tCWispListItem*\tpParent;\n\tUINT\t\t\tStyle;\n\tCOLORREF\t\tLineColor;\n\tint\t\t\t\tnChecked;\n\tint\t\t\t\tnSemiChecked;\n\tint\t\tGetLevel();\n\tint\t\tGetDispLine();\n\tbool\tIsParentOf(HANDLE hItem);\n};\n\nclass CWispColumnItem\n{\npublic:\n\tCWispString\t\tszText;\n\tCWispDIB*\t\tpIcon;\n\tint\t\t\t\tWidth;\n\tint\t\t\t\tOrgWidth;\n\tUINT\t\t\tStyle;\n\tWISP_RECT\t\tColRect;\n\tWISP_RECT\t\tSplitRect;\n\tWISP_RECT\t\tTestSplitRect;\n\tNUM_PTR\t\t\tData;\n};\n\nenum WISP_LI_POS\n{\n\tLI_POS_NON_AREA = -1,\n\tLI_POS_CELL_AREA_START = 0,\n\tLI_POS_CELL_AREA_END = 0x00001000,\n\tLI_POS_TREE_BT,\n\tLI_POS_CHECK_BOX,\n\tLI_POS_COLUMN,\n\tLI_POS_SPACE_AREA,\n};\n\ntypedef TList<CWispColumnItem>\t\tCColumnList;\ntypedef TList<CWispListItem>\t\tCItemList;\ntypedef TList<CWispListItemCell>\tCItemListCell;\n\nclass CWispList : public CWispWnd\n{\npublic:\n\tCWispList();\n\tvirtual ~CWispList();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnPrecreate)\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnBeginDrag)\n\tDECLARE_WISP_MSG(OnDragMove)\n\tDECLARE_WISP_MSG(OnEndDrag)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnLostFocus)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnTimer)\n\tDECLARE_WISP_MSG(OnMouseDBClick);\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnEditCommand)\npublic:\n\tvirtual\tbool\tInitWnd();\n\tvirtual bool\tDestroy();\n\tvirtual\tvoid\tRecalcLayout();\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n//Column\n\tHANDLE\tInsertColumn(const WISP_CHAR*szText,int Width,UINT Style = WISP_WLCS_NORMAL,CWispDIB*pIcon = NULL,int Pos = -1);\n\tbool\tRemoveColumn(int Pos);\n\tHANDLE\tGetColumn(int Pos);\n\tbool\tSetColumnWidth(int Col,int Width);\n\tbool\tSetColumnWidth(HANDLE hColumn,int Width);\n\tbool\tSetColumnText(HANDLE hColumn,WISP_PCSTR szText);\n\tbool\tSetColumnIcon(HANDLE hColumn,CWispDIB*pDIB);\n\tbool\tSetColumnData(HANDLE hColumn,NUM_PTR Data);\n\tbool\tSetColumnInfo(HANDLE hColumn,WISP_PCSTR szText,CWispDIB*pDIB,NUM_PTR Data);\n//Item\n\tHANDLE\tInsertItem(const WISP_CHAR*szText,HANDLE hParent = NULL,UINT Style = WISP_WLIS_NORMAL,CWispDIB*pIcon = NULL,int Pos = -1);\n\tHANDLE\tInsertItemA(const char*szText,HANDLE hParent = NULL,UINT Style = WISP_WLIS_NORMAL,CWispDIB*pIcon = NULL,int Pos = -1);\n\tHANDLE\tInsertItemW(const WCHAR*szText,HANDLE hParent = NULL,UINT Style = WISP_WLIS_NORMAL,CWispDIB*pIcon = NULL,int Pos = -1);\n\tHANDLE\tInsertItem(UINT Num,HANDLE hParent = NULL,WISP_CHAR*szFormat = WSTR(\"%X\"),UINT Style = WISP_WLIS_NORMAL,CWispDIB*pIcon = NULL,int Pos = -1);\n\n\tbool\tRemoveItem(int Pos,HANDLE hParent = NULL);\n\tbool\tRemoveItem(HANDLE hItem);\n\n\tCWispListItemCell*GetItemCell(HANDLE hItem,int Col=0);\n\tCWispString&GetItemText(HANDLE hItem,int Col=0);\n\tint\t\t\tGetItemText(HANDLE hItem,int Col,WISP_PSTR szString,int MaxLength);\n\tCWispDIB*\tGetItemIcon(HANDLE hItem,int Col=0);\n\tNUM_PTR\t\tGetItemData(HANDLE hItem,int Col=0);\n\tCOLORREF\tGetItemTextColor(HANDLE hItem,int Col=0);\n\tCOLORREF\tGetItemLineColor(HANDLE hItem);\n\tUINT\t\tGetItemStyle(HANDLE hItem);\n\tint\t\t\tGetItemLevel(HANDLE hItem);\n\tbool\t\tIsParentOfItem(HANDLE hItem,HANDLE hChildItem);\n\t//Item Notify\n\tvirtual\tvoid\tItemClickNotify(HANDLE hItem,int Col){};\n\tvirtual\tvoid\tItemRClickNotify(HANDLE hItem,int Col){};\n\tvirtual\tvoid\tTitleRClickNotify(int Col){};\n\tvirtual\tvoid\tTitleClickNotify(int Col){};\n\tvirtual\tvoid\tItemDBClickNotify(HANDLE hItem,int Col){};\n\tvirtual\tbool\tItemShowTipNotify(HANDLE hItem,int Col,int*pX,int*pY,WISP_PSTR szTip);\n\tvirtual\tbool\tItemHideTipNotify(HANDLE hItem,int Col,WISP_PSTR szTip){return true;}\n\t//Edit Notify\n\tvirtual\tbool\tBeginEditItemNotify(HANDLE hItem,int Col,CWispString&String){return true;}\n\tvirtual\tbool\tEndEditItemNotify(HANDLE hItem,int Col,CWispString&String){return true;}\n\tvirtual\tvoid\tItemChangedNotify(HANDLE hItem,int Col,CWispString&String){}\n\tCWispString&\tGetItemEditString(){ return m_EditCtrl.m_WndText;}\n\t//Expand Notify\n\tvirtual bool\tItemExpandingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemExpandedNotify(HANDLE hItem){}\n\tvirtual bool\tItemUnexpandingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemUnexpandedNotify(HANDLE hItem){}\n\t//Select Notify\n\tvirtual bool\tItemSelectingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemSelectedNotify(HANDLE hItem){}\n\tvirtual bool\tItemUnselectingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemUnselectedNotify(HANDLE hItem){}\n\t//Check Notify\n\tvirtual bool\tItemCheckingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemCheckedNotify(HANDLE hItem){}\n\tvirtual bool\tItemUncheckingNotify(HANDLE hItem){return true;}\n\tvirtual void\tItemUncheckedNotify(HANDLE hItem){}\n\tvirtual void\tOnHide();\n\t//Item Operation\n\tbool\tSetItemText(HANDLE hItem,int Col,const WISP_CHAR*szText);\n\tbool\tSetItemTextA(HANDLE hItem,int Col,const CHAR*szText);\n\tbool\tSetItemColorText(HANDLE hItem,int Col,const WISP_COLOR_CHAR*szText);\n\tbool\tSetItemData(HANDLE hItem,int Col,NUM_PTR Data);\n\tbool\tSetItemNum(HANDLE hItem,int Col,UINT Num,const WISP_CHAR*szFormat = WSTR(\"%X\"));//\n\tbool\tSetItemIcon(HANDLE hItem,int Col,CWispDIB*pIcon);\t\t\t\t\t\t\t\t//ıͼ\n\tbool\tSetItemTextColor(HANDLE hItem,int Col,COLORREF Color);\t\t\t\t\t\t\t//ĳıɫ\n\tbool\tSetDefaultTextColor(COLORREF Color){m_FontColor = Color;return true;}\t\t\t//Ĭıɫ\n\tbool\tSetItemLineColor(HANDLE hItem,COLORREF Color);\t\t\t\t\t\t\t\t\t//òɫ\n\tbool\tModifyItemStyle(HANDLE hItem,UINT AddStyle,UINT RemoveStyle = 0);\t\t\t\t//Item\n\tbool\tClearChildItem(HANDLE hItem = NULL);\n\tint\t\tEmptyChildItemContext(HANDLE hItem = NULL);\n\tvoid\tEmptyItemContext(HANDLE hItem);\n\tvoid\tEnableVisible(HANDLE hItem,int nPrevLine = -1);\t//ʹItemɼ\n\tbool\tIsItemVisible(HANDLE hItem);\n\tbool\tIsItemTextFullVisible(HANDLE hItem,int Col);\n\tint\t\tSetItemChildCount(HANDLE hItem,int Count);\n\tbool\tShowColumnTitle(bool bShow = true);\n//Edit Item\n\tvoid\tBeginEditItem(HANDLE hItem,int Col);\n\tvoid\tEndEditItem(bool bSaveItem = true);\n//Expand Item\n\tbool\tToggleExpandItem(HANDLE hItem);\n\tbool\tExpandItem(HANDLE hItem);\n\tbool\tUnexpandItem(HANDLE hItem);\n\tINLINE\tbool\tIsItemExpanded(HANDLE hItem){ return (((CWispListItem*)hItem)->Style&WISP_WLIS_EXPANDED)!=0; }\n//Select Item\n\tbool\tToggleSelectItem(HANDLE hItem);\n\tbool\tSelectItem(HANDLE hItem);\n\tbool\tUnselectItem(HANDLE hItem);\n\tINLINE\tbool\tIsItemSelected(HANDLE hItem){ return (((CWispListItem*)hItem)->Style&WISP_WLIS_SELECTED)!=0; }\n//Check Item\n\tbool\tToggleCheckItem(HANDLE hItem,bool bUpdateRelation = true);\n\tbool\tCheckItem(HANDLE hItem,bool bUpdateRelation = true);\n\tbool\tUncheckItem(HANDLE hItem,bool bUpdateRelation = true);\n\tINLINE\tbool\tIsItemChecked(HANDLE hItem){ return (((CWispListItem*)hItem)->Style&WISP_WLIS_CHECKED)!=0; }\n\tINLINE\tbool\tIsItemSemiChecked(HANDLE hItem){ return (((CWispListItem*)hItem)->Style&WISP_WLIS_SEMI_CHECKED)!=0; }\n\tint\t\tGetItemCell();\n//Find Item\n\tHANDLE\tGetRootItem(){\treturn &m_RootItem;}\n\tHANDLE\tGetFirstItem(HANDLE hParent=NULL,UINT Style=0);\n\tHANDLE\tGetNextItem(HANDLE hItem=NULL,UINT Style=0);//ȡͬItem\n\tHANDLE\tGetPrevItem(HANDLE hItem=NULL,UINT Style=0);\n\n\tHANDLE\tGetNextListItem(HANDLE hItem=NULL,UINT Style=0);//ּȡItem\n\tHANDLE\tGetPrevListItem(HANDLE hItem=NULL,UINT Style=0);\n\n\tHANDLE\tGetItem(int Index,HANDLE hParent= NULL);\n\tHANDLE\tGetParentItem(HANDLE hItem);\n\tint\t\tGetItemIndex(HANDLE hItem);\n\tint\t\tGetListItemIndex(HANDLE hItem,HANDLE hParent=NULL);\n\tint\t\tGetItemCount(HANDLE hParent=NULL,bool bRecursive=true);\n\tint\t\tGetItemDeep(HANDLE hItem);\n\tint\t\tGetItemScrLine(HANDLE hItem);\n\tbool\tGetItemCellRect(HANDLE hItem,int Col,WISP_RECT*pRECT);\n\tHANDLE\tGetScrStartItem();\n\tHANDLE\tPointToItem(const WISP_POINT&ClientPT,int*pPos=NULL);\n//Item Tip\n\tbool\tShowItemTip(HANDLE hItem,int Col,WISP_PCSTR szTip);\n\tbool\tHideItemTip();\n//Item path\n\tvirtual\tint\t\tGetItemFullPath(HANDLE hItem,int Col,WISP_PSTR szBuffer,UINT MaxLength = (UINT)-1,WISP_PCSTR SplitStr=PATH_SEPARATOR_WSTR);\n\tvirtual\tvoid\tDrawCellText(int Col,CWispListItemCell*pCell,WISP_RECT*pRect);\n\tvirtual\tvoid\tDrawColumnItemText(CWispColumnItem*pColItem,WISP_RECT*pRect);\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\npublic:\n\tCWispTipWnd\t\tm_TipFullItemTextWnd;\n\tint\t\t\t\tm_ListBTIndex;\n\tint\t\t\t\tm_HorzScrollSpace;\n\tint\t\t\t\tm_ColTotalWidth;\n\tint\t\t\t\tm_OldTitleHeight;\n\tint\t\t\t\tm_TitleHeight;\n\tint\t\t\t\tm_EditCol;\n\tHANDLE\t\t\tm_hEditItem;\n\tCWispEdit\t\tm_EditCtrl;\n\tCWispColumnItem*m_pDragColumn;\n\tCItemList::IT\tm_CurItemIter;\n\tCItemList::IT\tm_LastSelectIter;\n\tint\t\t\t\tm_LastClickCol;\n\tWISP_POINT\t\tm_LastMousePos;\n\tHANDLE\t\t\tm_hCurHoverItem;\n\tint\t\t\t\tm_CurHoverCol;\n\tint\t\t\t\tm_TextMargin;\n\tWISP_SIZE\t\tm_ButtonSize;\n\tWISP_RECT\t\tm_TitleRect;\n\tWISP_RECT\t\tm_ListRect;\n\tCColumnList\t\tm_ColumnList;\n\tCWispListItem\tm_RootItem;\n\tint\t\t\t\tm_nLinePerPage;\n\tint\t\t\t\tm_TreeSpace;\n\tCOLORREF\t\tm_ColTitleFontColor;\n\tCOLORREF\t\tm_FontColor;\n\tCOLORREF\t\tm_SelectFontColor;\n\tCOLORREF\t\tm_SelectBKColor;\n\tCOLORREF\t\tm_LostFocusSelBKColor;\n\tCOLORREF\t\tm_VertLineColor;\n\tCOLORREF\t\tm_HorzLineColor;\n\tbool\t\t\tm_bSaveItem;\n\tbool\t\t\tm_ProcEndEditItem;\n\tbool\t\t\tm_bTipTimerSet;\n\tint\t\t\t\tm_TipPeriod;\n\tint\t\tPointToItem(const WISP_POINT&ClientPT,CItemList::IT &ItemIter);\n\tvoid\tOnEndEditItem();\nprotected:\n\tvoid\tDrawListItem(int iLine,const CItemList::IT &ItemIter);\n\tbool\tGetNextLineItem(CItemList::IT &ItemIter);\n\tbool\tGetPrevLineItem(CItemList::IT &ItemIter);\n\tbool\tGetNextListItem(CItemList::IT &ItemIter);\n\tbool\tGetPrevListItem(CItemList::IT &ItemIter);\n\tbool\tGetNextItem(CItemList::IT &ItemIter);\n\tbool\tGetPrevItem(CItemList::IT &ItemIter);\n\tint\t\tUpdateCurScrItem(int Offset);\n\tvoid\tUpdateItemTreeCheckState(CWispListItem*pItem);\n\tvoid\tProcessItemTip(HANDLE hItem,int Col);\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispMenu.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispMenu.h\"\n\nWISP_MSG_MAP_BEGIN(CWispMenu)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_PARENT_RESIZE,OnParentResize)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_BORDER,OnUpdateBorder)\n\tWISP_MSG_MAP(WISP_WM_LOST_FOCUS,OnLostFocus)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispMenu::CWispMenu()\n{\n\tm_CtrlType = WISP_CTRL_MENU;\n\tm_PopupItemHeight = 18;\n\tm_WndItemHeight = 20;\n\tm_MenuStartSpace = 20;\n\tm_MenuIconSpace = 20;\n\tm_MenuEndSpace = 20;\n\tm_MenuMarge = 5;\n\tm_WndMenuHeight = 22;\n\tm_PopupMenuTopSpace = 5;\n\tm_PopupMenuBottomSpace = 5;\n}\n\nCWispMenu::~CWispMenu()\n{\n}\n\nbool CWispMenu::InitWnd()\n{\n\tif(CWispWnd::InitWnd()==false)\n\t\treturn false;\n\tm_BorderSize = 1;\n\tm_pParentMenu = NULL;\n\tm_HoverIter = m_ItemList.End();\n\tm_pParentMenu = NULL;\n\tm_bExpandMenu = false;\n\tm_WndMenuItemWidth = 0;\n\treturn true;\n}\n\nbool CWispMenu::OnParentResize(WISP_MSG*pMsg)\n{\n\tif((m_Style&WISP_WMS_POPUP)==0)\n\t\tResize(((CWispWnd*)m_ParentWnd)->m_ClientRect.cx,m_WindowRect.cy);\n\treturn true;\n}\n\nbool CWispMenu::OnRecalcLayout(WISP_MSG*pMsg)\n{\n\tint x,y;\n\tif(m_Style & WISP_WMS_POPUP)\n\t{\n\t\ty = m_MenuMarge;\n\t\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t\t{\n\t\t\tif(Iter->Style&WISP_MIS_SEPARATOR)\n\t\t\t{\n\t\t\t\tIter->ItemRC.x = 0;\n\t\t\t\tIter->ItemRC.y = y;\n\t\t\t\tIter->ItemRC.cx = m_ClientRect.cx;\n\t\t\t\tIter->ItemRC.cy = 1;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tIter->ItemRC.x = 0;\n\t\t\t\tIter->ItemRC.y = y;\n\t\t\t\tIter->ItemRC.cx = m_ClientRect.cx;\n\t\t\t\tIter->ItemRC.cy = m_PopupItemHeight;\n\t\t\t}\n\t\t\ty+=Iter->ItemRC.cy;\n\t\t}\n\t}\n\telse\n\t{\n\t\tx = 0;\n\t\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t\t{\n\t\t\tif(Iter->Style&WISP_MIS_SEPARATOR)\n\t\t\t{\n\t\t\t\tIter->ItemRC.x = x;\n\t\t\t\tIter->ItemRC.y = (m_WndMenuHeight-m_WndItemHeight)/2;\n\t\t\t\tIter->ItemRC.cy = m_WndItemHeight;\n\t\t\t\tIter->ItemRC.cx = 1+m_MenuMarge*2;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tIter->ItemRC.x = x;\n\t\t\t\tIter->ItemRC.y = (m_WndMenuHeight-m_WndItemHeight)/2;\n\t\t\t\tIter->ItemRC.cy = m_WndItemHeight;\n\t\t\t\tIter->ItemRC.cx = m_ClientDC.GetTextExtent(Iter->szText)+m_MenuMarge*2;\n\t\t\t\tif(Iter->Style&WISP_MIS_CHECKBOX)\n\t\t\t\t\tIter->ItemRC.cx+=WISP_SSI_CHECKBOX_SIZE+m_MenuMarge;\n\t\t\t\telse if(Iter->pIcon)\n\t\t\t\t\tIter->ItemRC.cx+=Iter->pIcon->Width()+m_MenuMarge;\n\t\t\t}\n\t\t\tx+=Iter->ItemRC.cx;\n\t\t}\n\t\tm_WndMenuItemWidth = x;\n\t}\n\treturn true;\n}\n\nbool CWispMenu::OnDestroy(WISP_MSG*pMsg)\n{\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style&WISP_MIS_POPUP)\n\t\t\tIter->pSubMenu->Destroy();\n\t}\n\tm_ItemList.Clear();\n\treturn true;\n}\n\nbool CWispMenu::OnUpdateClient(WISP_MSG*pMsg)\n{\n\tif(m_Style&WISP_WMS_POPUP)\n\t{\n\t\tDrawPopupMenu();\n\t}\n\telse\n\t{\n\t\tDrawWndMenu();\n\t}\n\treturn false;\n}\n\nvoid CWispMenu::DrawWndMenu()\n{\n\tUINT Status,SysIcon;\n\tint Index,IconSpace;\n\tWISP_RECT ItemRC,*pRC,rc;\n\tCWispMenu*pPopupMenu;\n\tif((m_Style&WISP_WS_BACK_TRANS)==0)\n\t\tm_pWispBase->m_pCurDrawObj->DrawMenuBK(&m_ClientDC,&m_ClientRect,STATUS_NORMAL);\n\tIndex=0;\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style&WISP_MIS_SEPARATOR)\n\t\t{\n\t\t\tm_ClientDC.DrawVLine(Iter->ItemRC.x+m_MenuMarge,Iter->ItemRC.y,Iter->ItemRC.y+Iter->ItemRC.cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\tIndex++;\n\t\t\tcontinue;\n\t\t}\n\t\tItemRC.x = Iter->ItemRC.x+m_pWispBase->m_Metrics[WISP_SM_THIN_BORDER_SIZE];\n\t\tItemRC.cx = Iter->ItemRC.cx-m_MenuMarge*2;\n\t\tItemRC.y = Iter->ItemRC.y;\n\t\tItemRC.cy = Iter->ItemRC.cy;\n\t\tif(Iter==m_HoverIter)\n\t\t{\n\t\t\tif(m_bExpandMenu && (Iter->Style&WISP_MIS_POPUP))\n\t\t\t{\n\t\t\t\tpRC = &Iter->ItemRC;\n\t\t\t\tpPopupMenu = (CWispMenu*)Iter->Data;\n\t\t\t\tm_ClientDC.DrawHLine(pRC->x,pRC->x+pRC->cx-1,pRC->y,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\t\tm_ClientDC.DrawVLine(pRC->x,pRC->y,pRC->y+pRC->cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\t\tm_ClientDC.DrawVLine(pRC->x+pRC->cx-1,pRC->y,pRC->y+pRC->cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\t\tif(pPopupMenu->m_WindowRect.cx<pRC->cx)\n\t\t\t\t\tm_ClientDC.DrawHLine(pRC->x+pRC->cx-1,pRC->x+pPopupMenu->m_WindowRect.cx-1,pRC->y+pRC->cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif((Iter->Style&WISP_MIS_DISABLED)==0)\n\t\t\t\t{\n\t\t\t\t\tm_ClientDC.DrawFullRect(&Iter->ItemRC,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_HOVER_LIGHT_BG]);\n\t\t\t\t\tm_ClientDC.DrawRect(&Iter->ItemRC,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_HOVER_FOCUS]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tStatus = STATUS_HOVER;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tStatus = STATUS_NORMAL;\n\t\t}\n\t\tif(Iter->Style&WISP_MIS_CHECKBOX)\n\t\t{\n\t\t\trc.x = ItemRC.x;\n\t\t\trc.cx = WISP_SSI_CHECKBOX_SIZE;\n\t\t\trc.y = ItemRC.y;\n\t\t\trc.cy = ItemRC.cy;\n\t\t\tSysIcon = (Iter->Style&WISP_MIS_CHECKED)?WISP_SSI_CHECKBOX_CHECKED:WISP_SSI_CHECKBOX_UNCHECKED;\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_ClientDC,&rc,SysIcon,STATUS_NORMAL);\n\t\t\tIconSpace = WISP_SSI_CHECKBOX_SIZE+m_MenuMarge;\n\t\t\tItemRC.x+=IconSpace;\n\t\t\tItemRC.cx-=IconSpace;\n\t\t}\n\t\telse if(Iter->pIcon)\n\t\t{\n\t\t\trc.x = ItemRC.x;\n\t\t\trc.cx = Iter->pIcon->Width();\n\t\t\trc.y = ItemRC.y;\n\t\t\trc.cy = ItemRC.cy;\n\t\t\tif(Iter->Style&WISP_MIS_DISABLED)\n\t\t\t\tm_ClientDC.DrawGrayDIB(&rc,Iter->pIcon);\n\t\t\telse\n\t\t\t\tm_ClientDC.DrawDIB(&rc,Iter->pIcon);\n\t\t\tIconSpace = Iter->pIcon->Width()+m_MenuMarge;\n\t\t\tItemRC.x+=IconSpace;\n\t\t\tItemRC.cx-=IconSpace;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tItemRC.x+=m_MenuMarge/2;\n\t\t}\n\t\tif(Iter->Style&WISP_MIS_DISABLED)\n\t\t\tStatus = STATE_DISABLED;\n\t\tif(Iter->TextClr)\n\t\t{\n\t\t\tm_ClientDC.SetTextColor(Iter->TextClr);\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawMenuString(&m_ClientDC,&ItemRC,Iter->szText,Status);\n\t\t\tm_ClientDC.RestoreTextColor();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawMenuString(&m_ClientDC,&ItemRC,Iter->szText,Status);\n\t\t}\n\t\tIndex++;\n\t}\n\tm_ClientDC.DrawHLine(0,m_ClientRect.cx-1,m_ClientRect.cy-1,SYS_COLOR[SC_BORDER_BG]);\n}\n\nvoid CWispMenu::DrawPopupMenu()\n{\n\tUINT Status,SysIcon;\n\tint Index,StrWidth;\n\tWISP_RECT rc,ItemRc;\n\n\trc.x=rc.y=0;\n\trc.cx = m_MenuIconSpace;\n\trc.cy = m_ClientRect.cy;\n\tm_pWispBase->m_pCurDrawObj->DrawMenuIconSpaceBK(&m_ClientDC,&rc);\n\n\tItemRc.x = m_MenuStartSpace;\n\tItemRc.y = m_PopupMenuTopSpace;\n\tItemRc.cx = m_ClientRect.cx - m_MenuStartSpace;\n\tItemRc.cy = m_PopupItemHeight;\n\tIndex=0;\n\tStrWidth = m_ClientRect.cx-m_MenuMarge*2-m_MenuStartSpace-m_MenuEndSpace;\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tItemRc.cy = Iter->ItemRC.cy;\n\t\tif(Iter->Style&WISP_MIS_SEPARATOR)\n\t\t{\t\t\t\n\t\t\tm_ClientDC.DrawHLine(m_MenuIconSpace,m_ClientRect.cx-1,ItemRc.y,\n\t\t\t\t\t\t\t\tm_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\t\tItemRc.y+=Iter->ItemRC.cy;\n\t\t\tIndex++;\n\t\t\tcontinue;\n\t\t}\n\t\trc.y = ItemRc.y;\n\t\trc.cy = ItemRc.cy;\n\t\tStatus = Iter==m_HoverIter?STATUS_HOVER:STATUS_NORMAL;\n\t\tm_pWispBase->m_pCurDrawObj->DrawMenuBK(&m_ClientDC,&ItemRc,Status);\n\t\trc.x = m_MenuStartSpace+m_MenuMarge;\n\t\trc.cx = StrWidth;\n\t\tif(Iter->Style&WISP_MIS_DISABLED)\n\t\t\tStatus = STATE_DISABLED;\n\t\tif(Iter->TextClr)\n\t\t{\n\t\t\tm_ClientDC.SetTextColor(Iter->TextClr);\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawMenuString(&m_ClientDC,&rc,Iter->szText,Status);\n\t\t\tm_ClientDC.RestoreTextColor();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawMenuString(&m_ClientDC,&rc,Iter->szText,Status);\n\t\t}\n\t\tif(Iter->Style&WISP_MIS_CHECKBOX)\n\t\t{\n\t\t\trc.x = 0;\n\t\t\trc.cx = m_MenuStartSpace;\n\t\t\tSysIcon = (Iter->Style&WISP_MIS_CHECKED)?WISP_SSI_CHECKBOX_CHECKED:WISP_SSI_CHECKBOX_UNCHECKED;\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_ClientDC,&rc,SysIcon,Status);\n\t\t}\n\t\telse if(Iter->pIcon)\n\t\t{\n\t\t\trc.x = 0;\n\t\t\trc.cx = m_MenuStartSpace;\n\t\t\tif(Iter->Style&WISP_MIS_DISABLED)\n\t\t\t\tm_ClientDC.DrawGrayDIB(&rc,Iter->pIcon);\n\t\t\telse\n\t\t\t\tm_ClientDC.DrawDIB(&rc,Iter->pIcon);\n\t\t}\n\t\tif(Iter->Style&WISP_MIS_POPUP)\n\t\t{\n\t\t\trc.x = m_ClientRect.cx - m_MenuEndSpace;\n\t\t\trc.cx = m_MenuEndSpace;\n\t\t\tm_pWispBase->m_pCurDrawObj->DrawMenuString(&m_ClientDC,&rc,WISP_STR(\">>\"),STATUS_NORMAL);\n\t\t}\n\t\tItemRc.y+=Iter->ItemRC.cy;\n\t\tIndex++;\n\t}\n\trc.x=rc.y=0;\n\trc.cx=m_ClientRect.cx;\n\trc.cy=m_PopupMenuTopSpace;\n\tm_pWispBase->m_pCurDrawObj->DrawMenuTopFrame(&m_ClientDC,&rc);\n\trc.x=0;\n\trc.cx=m_ClientRect.cx;\n\trc.y=ItemRc.y;\n\trc.cy=m_PopupMenuBottomSpace;\n\tm_pWispBase->m_pCurDrawObj->DrawMenuBottomFrame(&m_ClientDC,&rc);\n\n}\n\nbool CWispMenu::OnUpdateBorder(WISP_MSG*pMsg)\n{\n\tWISP_MENU_ITEM*pMenuItem;\n\tif(m_pParentMenu && (m_pParentMenu->m_Style&WISP_WMS_POPUP)==0)\n\t{\n\t\tpMenuItem = &(*m_pParentMenu->m_HoverIter);\n\t\tm_WindowDC.DrawHLine(pMenuItem->ItemRC.cx-1,m_WindowRect.cx-1,0,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\tm_WindowDC.DrawHLine(1,pMenuItem->ItemRC.cx-2,0,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BG]);\n\t\tm_WindowDC.DrawHLine(0,m_WindowRect.cx-1,m_WindowRect.cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\tm_WindowDC.DrawVLine(0,0,m_WindowRect.cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t\tm_WindowDC.DrawVLine(m_WindowRect.cx-1,0,m_WindowRect.cy-1,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\t}\n\telse\n\t\tm_WindowDC.DrawRect(&m_WindowRect,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_MENU_BORDER]);\n\treturn false;\n}\n\nvoid CWispMenu::MenuNextSelect()\n{\n\tCMenuItemList::IT Iter = m_HoverIter;\n\tif(Iter==m_ItemList.End())\n\t\tIter = m_ItemList.Begin();\n\telse\n\t{\n\t\tIter++;\n\t\tif(Iter==m_ItemList.End())\n\t\t\tIter = m_ItemList.Begin();\n\t}\n\twhile(Iter!=m_ItemList.End() && (Iter->Style&WISP_MIS_SEPARATOR))\n\t\tIter++;\n\tm_HoverIter=Iter;\n\tUpdate();\n}\n\nbool CWispMenu::SetHoverItem(HANDLE hItem)\n{\n\tCMenuItemList::IT Iter = *(WISP_MENU_ITEM*)hItem;\n\tif(m_HoverIter != Iter)\n\t\tHoverItemChanged(Iter);\n\treturn true;\n}\n\n\nvoid CWispMenu::MenuPrevSelect()\n{\n\tCMenuItemList::IT Iter = m_HoverIter;\n\tif(Iter==m_ItemList.End())\n\t\tIter = m_ItemList.Last();\n\telse\n\t{\n\t\tIter--;\n\t\tif(Iter==m_ItemList.End())\n\t\t\tIter = m_ItemList.Last();\n\t}\n\twhile(Iter!=m_ItemList.End() && (Iter->Style&WISP_MIS_SEPARATOR))\n\t\tIter--;\n\tm_HoverIter=Iter;\n\tUpdate();\n}\n\nvoid CWispMenu::ClickItem(WISP_MENU_ITEM*pMenuItem)\n{\n\tWISP_MSG Msg;\n\tif(ClickItemNotify(pMenuItem,pMenuItem->CmdID)==false)\n\t\treturn;\n\tif((pMenuItem->Style&WISP_MIS_CHECKBOX))\n\t\tToggleCheckItem((HANDLE)pMenuItem);\n\tMsg.hWnd=m_OwnerWnd;\n\tMsg.Msg=WISP_WM_COMMAND;\n\tMsg.Command.CmdMsg\t= WISP_CMD_CTRL_CLICK;\n\tMsg.Command.CmdID\t= pMenuItem->CmdID;\n\tMsg.Command.CtrlType= WISP_CTRL_MENU;\n\tMsg.Command.Param1\t= 0;\n\tMsg.Command.Param2\t= pMenuItem;\n\tif(SEND_MSG(&Msg))\n\t{\n\t\tMsg.hWnd=m_OwnerWnd;\n\t\tMsg.Msg=WISP_WM_EVENT;\n\t\tPOST_MSG(&Msg);\n\t\tif(m_OwnerWnd==this)\n\t\t\tGetTopMenu()->HideMenuTree();\n\t\telse\n\t\t\tm_OwnerWnd->Focus();\n\t}\n}\n\nbool CWispMenu::OnKeyEvent(WISP_MSG*pMsg)\n{\n\tWISP_MENU_ITEM*pMenuItem;\n\tif(m_ItemList.Count()==0)\n\t\treturn true;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tswitch(pMsg->KeyEvent.KeyType)\n\t\t{\n\t\tcase WISP_VK_LBUTTON:\n\t\t\t{\n\t\t\t\tif(PtInRect(&m_WindowRect,pMsg->MsgMouseCltPT)==false)\n\t\t\t\t{\n\t\t\t\t\tm_bExpandMenu = false;\n\t\t\t\t\tHideMenuTree();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(m_bExpandMenu && m_HoverIter==m_ItemList.End())\n\t\t\t\t{\n\t\t\t\t\tm_bExpandMenu = false;\n\t\t\t\t\tHideMenuTree();\n\t\t\t\t}\n\t\t\t\tif(m_HoverIter!=m_ItemList.End())\n\t\t\t\t{\n\t\t\t\t\tpMenuItem = &(*m_HoverIter);\n\t\t\t\t\tif(\t(pMenuItem->Style&WISP_MIS_DISABLED)==0 && \n\t\t\t\t\t\t(pMenuItem->Style&WISP_MIS_SEPARATOR)==0)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(pMenuItem->Style&WISP_MIS_POPUP)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(m_bExpandMenu==false)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_bExpandMenu = true;\n\t\t\t\t\t\t\t\tPopupItemMenu(pMenuItem,false);\n\t\t\t\t\t\t\t\tUpdate(&pMenuItem->ItemRC);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tm_bExpandMenu = false;\n\t\t\t\t\t\t\t\tCMenuItemList::IT OldIter = m_HoverIter;\n\t\t\t\t\t\t\t\tHideMenuTree();\n\t\t\t\t\t\t\t\tm_HoverIter = OldIter;\n\t\t\t\t\t\t\t\tUpdate();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tClickItem(pMenuItem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}//End WISP_VK_LBUTTON\n\t\t\tbreak;\n\t\tcase WISP_VK_UP:\n\t\t\tif(IsPopupMenu())\n\t\t\t{\n\t\t\t\tMenuPrevSelect();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_pParentMenu)\n\t\t\t\t{\n\t\t\t\t\tHideMenuTree();\n\t\t\t\t\tm_pParentMenu->Focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_DOWN:\n\t\t\tif(IsPopupMenu())\n\t\t\t{\n\t\t\t\tMenuNextSelect();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_HoverIter!=m_ItemList.End() && (m_HoverIter->Style&WISP_MIS_POPUP))\n\t\t\t\t{\n\t\t\t\t\tPopupItemMenu(&(*m_HoverIter));\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_LEFT:\n\t\t\tif(IsPopupMenu())\n\t\t\t{\n\t\t\t\tif(m_pParentMenu)\n\t\t\t\t{\n\t\t\t\t\tHideMenuTree();\n\t\t\t\t\tm_pParentMenu->Focus();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMenuPrevSelect();\t\t\t\t\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_RIGHT:\n\t\t\tif(IsPopupMenu())\n\t\t\t{\n\t\t\t\tif(m_HoverIter!=m_ItemList.End() && (m_HoverIter->Style&WISP_MIS_POPUP))\n\t\t\t\t{\n\t\t\t\t\tPopupItemMenu(&(*m_HoverIter));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tMenuNextSelect();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_RETURN:\n\t\t\tif(m_HoverIter!=m_ItemList.End())\n\t\t\t{\n\t\t\t\tif(m_HoverIter->Style&WISP_MIS_POPUP)\n\t\t\t\t\tPopupItemMenu(&(*m_HoverIter));\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tClickItem(&(*m_HoverIter));\n\t\t\t\t}\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_ESCAPE:\n\t\t\tif(m_pParentMenu)\n\t\t\t{\n\t\t\t\tHideMenuTree();\n\t\t\t\tm_pParentMenu->Focus();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(m_OwnerWnd!=this)\n\t\t\t\t\tm_OwnerWnd->Focus();\n\t\t\t\telse\n\t\t\t\t\tHideMenuTree();\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispMenu::HoverItemChanged(const CMenuItemList::IT&Iter)\n{\n\tWISP_MENU_ITEM*pMenuItem;\n\tif(m_HoverIter!=m_ItemList.End())\n\t{\n\t\tpMenuItem = &(*m_HoverIter);\n\t\tif(pMenuItem->Style&WISP_MIS_POPUP)\n\t\t\t((CWispMenu*)pMenuItem->Data)->HideMenuTree();\n\t}\n\tm_HoverIter = Iter;\n\tpMenuItem = &(*m_HoverIter);\n\tif(m_HoverIter!= m_ItemList.End() && ((m_Style&WISP_WMS_POPUP) || m_bExpandMenu))\n\t{\n\t\tif(pMenuItem->Style&WISP_MIS_POPUP)\n\t\t\tPopupItemMenu(pMenuItem,false);\n\t}\n\tUpdate();\n}\n\nbool CWispMenu::IsChildMenu(CWispBaseWnd*pMenu)\n{\n\tif(pMenu->m_CtrlType != WISP_CTRL_MENU)\n\t\treturn false;\n\tCWispMenu*pParentMenu = ((CWispMenu*)pMenu)->m_pParentMenu;\n\twhile(pParentMenu)\n\t{\n\t\tif(pParentMenu==this)\n\t\t\treturn true;\n\t\tpParentMenu = pParentMenu->m_pParentMenu;\n\t}\n\treturn false;\n}\n\nCWispMenu* CWispMenu::GetTopMenu()\n{\n\tCWispMenu*pParentMenu = this;\n\twhile(pParentMenu)\n\t{\n\t\tif(pParentMenu->m_pParentMenu==NULL)\n\t\t\treturn pParentMenu;\n\t\tpParentMenu = pParentMenu->m_pParentMenu;\n\t}\n\treturn NULL;\n}\n\nbool CWispMenu::OnMouseMove(WISP_MSG*pMsg)\n{\n\tCMenuItemList::IT Iter;\n\tfor(Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(PtInRect(&Iter->ItemRC,&pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tif(m_HoverIter != Iter)\n\t\t\t\tHoverItemChanged(Iter);\n\t\t\tbreak;\n\t\t}\n\t}\n\tif(Iter == m_ItemList.End() && (m_Style&WISP_WMS_POPUP)==0)\n\t{\n\t\tif(m_HoverIter != Iter)\n\t\t\tHoverItemChanged(Iter);\n\t}\n\treturn true;\n}\n\nbool CWispMenu::OnMouseLeave(WISP_MSG*pMsg)\n{\n\tif((m_Style&WISP_WMS_POPUP)==0 && m_HoverIter!=m_ItemList.End() && m_bExpandMenu == false)\n\t{\n\t\tHoverItemChanged(m_ItemList.End());\n\t}\n\treturn true;\n}\n\nbool CWispMenu::OnLostFocus(WISP_MSG*pMsg)\n{\n\tCWispMenu*pTopMenu;\n\tpTopMenu = GetTopMenu();\n\tif(pTopMenu->IsChildMenu(pMsg->hOtherWnd)==false)\n\t{\n\t\tif(pTopMenu != pMsg->hOtherWnd)\n\t\t\tpTopMenu->HideMenuTree();\n\t\tm_HoverIter = m_ItemList.End();\n\t}\n\treturn true;\n}\n\nbool CWispMenu::CreateWndMenu(CWispWnd*pParentWnd,UINT CmdID,WISP_MENU_RES_ITEM*pResItem,CWispDIBList*pDIBList)\n{\n\tCWispDIB*pIcon;\n\tCWispMenu*pMenu;\n\tif(Create(NULL,0,0,pParentWnd->m_ClientRect.cx,m_WndMenuHeight,pParentWnd,CmdID,WISP_WS_NULL)==false)\n\t\treturn false;\n\tif(pResItem==NULL)\n\t\treturn true;\n\twhile(pResItem->szText || pResItem->CmdID || pResItem->Style)\n\t{\n\t\tif((pResItem->Style&WISP_MIS_POPUP) && pResItem->pMenuItem)\n\t\t{\n\t\t\tpMenu = new CWispMenu;\n\t\t\tpMenu->CreatePopupMenu((WISP_MENU_RES_ITEM*)pResItem->pMenuItem,m_OwnerWnd,pDIBList);\n\t\t\tpMenu->m_pParentMenu = this;\n\t\t\tpMenu->m_OwnerWnd = m_OwnerWnd;\n\t\t\tpMenu->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t}\n\t\telse\n\t\t\tpMenu = NULL;\n\t\tif(pDIBList && pResItem->DIBIndex>=0)\n\t\t\tpIcon = pDIBList->GetDIB(pResItem->DIBIndex);\n\t\telse\n\t\t\tpIcon = NULL;\n\t\tInsertItem(-1,pResItem->szText,pResItem->Style,pResItem->CmdID,pIcon,(NUM_PTR)pMenu);\n\t\tpResItem++;\n\t}\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispMenu::CreatePopupMenu(WISP_MENU_RES_ITEM*pResItem,CWispBaseWnd*pOwnerWnd,CWispDIBList*pDIBList)\n{\n\tCWispDIB*pIcon;\n\tCWispMenu*pMenu;\n\tint Width,Height,ItemWidth;\n\tif(Create(NULL,0,0,0,0,NULL,0,WISP_WS_THIN_BORDER|WISP_WMS_POPUP,WISP_SH_HIDDEN)==false)\n\t\treturn false;\n\tif(pResItem==NULL)\n\t\treturn true;\n\tCWispBaseWnd::SetOwner(pOwnerWnd);\n\tHeight = Width = 0;\n\twhile(pResItem->szText || pResItem->CmdID || pResItem->Style)\n\t{\n\t\tif((pResItem->Style&WISP_MIS_POPUP) && pResItem->pMenuItem)\n\t\t{\n\t\t\tpMenu = new CWispMenu;\n\t\t\tpMenu->CreatePopupMenu((WISP_MENU_RES_ITEM*)pResItem->pMenuItem,pOwnerWnd,pDIBList);\n\t\t\tpMenu->m_pParentMenu = this;\n\t\t\tpMenu->CWispBaseWnd::SetOwner(pOwnerWnd);\n\t\t\tpMenu->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\t}\n\t\telse\n\t\t\tpMenu=NULL;\n\t\tif(pDIBList && pResItem->DIBIndex>=0)\n\t\t\tpIcon = pDIBList->GetDIB(pResItem->DIBIndex);\n\t\telse\n\t\t\tpIcon = NULL;\n\t\tInsertItem(-1,pResItem->szText,pResItem->Style,pResItem->CmdID,pIcon,(NUM_PTR)pMenu);\n\t\tItemWidth = m_ClientDC.GetTextExtent(pResItem->szText);\n\t\tif(ItemWidth > Width)\n\t\t\tWidth = ItemWidth;\n\t\tif(pResItem->Style&WISP_MIS_SEPARATOR)\n\t\t\tHeight+=1;\n\t\telse\n\t\t\tHeight+=m_PopupItemHeight;\n\t\tpResItem++;\n\t}\n\tWidth += m_MenuStartSpace+m_MenuEndSpace+m_BorderSize*2+m_MenuMarge*2;\n\tHeight += m_BorderSize*2+m_MenuMarge*2;\n\tResize(Width,Height);\n\treturn true;\n}\n\nvoid CWispMenu::AdjustPopupMenuSize()\n{\n\tint Width,Height,ItemWidth;\n\tWidth = 0;\n\tHeight = 0;\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tItemWidth = m_ClientDC.GetTextExtent(Iter->szText);\n\t\tif(ItemWidth > Width)\n\t\t\tWidth = ItemWidth;\n\t\tif(Iter->Style&WISP_MIS_SEPARATOR)\n\t\t\tHeight+=1;\n\t\telse\n\t\t\tHeight+=m_PopupItemHeight;\t\t\n\t}\n\tWidth += m_MenuStartSpace+m_MenuEndSpace+m_BorderSize*2+m_MenuMarge*2;\n\tHeight += m_BorderSize*2+m_MenuMarge*2;\n\tResize(Width,Height);\n\tRecalcLayout();\n}\n\n\nvoid CWispMenu::SetOwner(CWispBaseWnd*pOwnerWnd)\n{\n\tCWispWnd::SetOwner(pOwnerWnd);\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style&WISP_MIS_POPUP)\n\t\t\tIter->pSubMenu->SetOwner(pOwnerWnd);\n\t}\n}\n\nHANDLE CWispMenu::InsertItem(int Pos,WISP_PCSTR szText,UINT Style,UINT CmdID,CWispDIB*pIcon,NUM_PTR MenuData)\n{\n\tCMenuItemList::IT Iter;\n\tif(Pos<0)\n\t{\n\t\tIter = m_ItemList.Append();\n\t}\n\telse\n\t{\n\t\tif(Pos>=m_ItemList.Count())\n\t\t\treturn NULL;\n\t\tIter = m_ItemList[Pos];\n\t\tIter = m_ItemList.InsertBefore(Iter);\n\t}\n\tIter->szText = szText;\n\tIter->pIcon = pIcon;\n\tIter->Style = Style;\n\tIter->CmdID = CmdID;\n\tIter->TextClr = 0;\n\tIter->Data = MenuData;\n\tIter->ItemRC.x = Iter->ItemRC.y = Iter->ItemRC.cx = Iter->ItemRC.cy;\n\treturn Iter.pNode;\n}\n\nbool CWispMenu::InsertSubMenu(int Pos,WISP_PCSTR szText,CWispMenu*pMenu,CWispDIB*pIcon)\n{\n\tCMenuItemList::IT Iter;\n\tif(Pos<0)\n\t{\n\t\tIter = m_ItemList.Append();\n\t}\n\telse\n\t{\n\t\tif(Pos>=m_ItemList.Count())\n\t\t\treturn NULL;\n\t\tIter = m_ItemList[Pos];\n\t\tIter = m_ItemList.InsertBefore(Iter);\n\t}\n\tIter->szText = szText;\n\tIter->pIcon = pIcon;\n\tIter->Style = WISP_MIS_POPUP;\n\tIter->CmdID = 0;\n\tIter->TextClr = 0;\n\tIter->pSubMenu = pMenu;\n\tIter->ItemRC.x = Iter->ItemRC.y = Iter->ItemRC.cx = Iter->ItemRC.cy;\n\treturn true;\n}\n\nbool CWispMenu::SetItemColor(UINT CmdID,COLORREF TextColor)\n{\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->CmdID && Iter->CmdID==CmdID)\n\t\t{\n\t\t\tIter->TextClr = TextColor;\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispMenu::RemoveItemByPos(int Pos)\n{\n\tCMenuItemList::IT Iter;\n\tif(Pos<0 || Pos>=m_ItemList.Count())\n\t\treturn false;\n\tIter = m_ItemList[Pos];\n\tm_ItemList.Remove(Iter);\n\treturn true;\n}\n\nbool CWispMenu::RemoveItem(UINT CmdID)\n{\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style!=WISP_MIS_POPUP && Iter->CmdID==CmdID)\n\t\t{\n\t\t\tm_ItemList.Remove(Iter);\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nbool CWispMenu::RemoveItem(HANDLE hItem)\n{\n\tCMenuItemList::IT Iter = (CMenuItemList::NODE*)hItem;\n\tm_ItemList.Remove(Iter);\n\treturn true;\n}\n\nint CWispMenu::RemoveAllItem()\n{\n\tint Count = m_ItemList.Count();\n\tm_ItemList.Clear();\n\treturn Count;\n}\n\nHANDLE CWispMenu::GetItemByName(WISP_PCSTR Name)\n{\n\tHANDLE hItem;\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->szText && TStrCmp(Name,(WISP_PCSTR)Iter->szText)==0)\n\t\t{\n\t\t\treturn (HANDLE)&(*Iter);;\n\t\t}\n\t\telse if(Iter->Style&WISP_MIS_POPUP)\n\t\t{\n\t\t\thItem = Iter->pSubMenu->GetItemByName(Name);\n\t\t\tif(hItem)\n\t\t\t\treturn hItem;\n\t\t}\n\t}\n\treturn NULL;\n}\n\nHANDLE CWispMenu::GetItemByPos(int Pos)\n{\n\tif(Pos<0 || Pos>=m_ItemList.Count())\n\t\treturn NULL;\n\treturn (HANDLE)&(*m_ItemList[Pos]);\n}\n\nHANDLE CWispMenu::GetItem(UINT CmdID)\n{\n\tHANDLE hItem;\n\tfor(CMenuItemList::IT Iter=m_ItemList.Begin();Iter!=m_ItemList.End();Iter++)\n\t{\n\t\tif(Iter->Style&WISP_MIS_POPUP)\n\t\t{\n\t\t\thItem = Iter->pSubMenu->GetItem(CmdID);\n\t\t\tif(hItem)\n\t\t\t\treturn hItem;\n\t\t}\n\t\telse if(Iter->CmdID==CmdID)\n\t\t\treturn (HANDLE)&(*Iter);\n\t}\n\treturn NULL;\n}\n\nHANDLE CWispMenu::GetNextItem(HANDLE hItem,UINT Style)\n{\n\tCMenuItemList::IT Iter;\n\tif(hItem)\n\t{\n\t\tIter = *(WISP_MENU_ITEM*)hItem;\n\t\tIter++;\n\t}\n\telse\n\t{\n\t\tIter = m_ItemList.Begin();\n\t}\n\twhile(Iter!=m_ItemList.End())\n\t{\n\t\tif((Iter->Style & Style)==Style)\n\t\t\treturn &(*Iter);\n\t\tIter++;\n\t}\n\treturn NULL;\n}\n\nHANDLE CWispMenu::GetPrevItem(HANDLE hItem,UINT Style)\n{\n\tCMenuItemList::IT Iter;\n\tif(hItem)\n\t{\n\t\tIter = *(WISP_MENU_ITEM*)hItem;\n\t\tIter--;\n\t}\n\telse\n\t{\n\t\tIter = m_ItemList.Last();\n\t}\n\twhile(Iter!=m_ItemList.End())\n\t{\n\t\tif((Iter->Style & Style)==Style)\n\t\t\treturn &(*Iter);\n\t\tIter--;\n\t}\n\treturn &(*Iter);\n}\n\nCWispString& CWispMenu::GetItemText(HANDLE hItem)\n{\n\treturn ((WISP_MENU_ITEM*)hItem)->szText;\n}\n\nCWispDIB* CWispMenu::GetItemIcon(HANDLE hItem)\n{\n\treturn ((WISP_MENU_ITEM*)hItem)->pIcon;\n}\n\nUINT CWispMenu::GetItemStyle(HANDLE hItem)\n{\n\treturn ((WISP_MENU_ITEM*)hItem)->Style;\n}\n\nNUM_PTR CWispMenu::GetItemData(HANDLE hItem)\n{\n\treturn ((WISP_MENU_ITEM*)hItem)->Data;\n}\n\nbool CWispMenu::SetItemInfo(HANDLE hItem,UINT Style,WISP_PCSTR szText,CWispDIB*pIcon,NUM_PTR Data)\n{\n\tWISP_MENU_ITEM*pItem = (WISP_MENU_ITEM*)hItem;\n\tpItem->Style = Style;\n\tpItem->szText = szText;\n\tpItem->pIcon = pIcon;\n\tpItem->Data = Data;\n\tint Width = m_ClientDC.GetTextExtent(szText)+m_MenuStartSpace+m_MenuEndSpace+m_BorderSize*2+m_MenuMarge*2;\n\tif(Width>m_WindowRect.cx)\n\t\tResize(Width,m_WindowRect.cy);\n\treturn true;\n}\n\nbool CWispMenu::SetItemText(HANDLE hItem,WISP_PCSTR szText)\n{\n\tint Width = m_ClientDC.GetTextExtent(szText)+m_MenuStartSpace+m_MenuEndSpace+m_BorderSize*2+m_MenuMarge*2;\n\tif(Width>m_WindowRect.cx)\n\t\tResize(Width,m_WindowRect.cy);\n\t((WISP_MENU_ITEM*)hItem)->szText = szText;\n\treturn true;\n}\n\nbool CWispMenu::SetItemIcon(HANDLE hItem,CWispDIB*pIcon)\n{\n\t((WISP_MENU_ITEM*)hItem)->pIcon = pIcon;\n\treturn true;\n}\n\nbool CWispMenu::SetItemStyle(HANDLE hItem,UINT Style)\n{\n\t((WISP_MENU_ITEM*)hItem)->Style = Style;\n\treturn true;\n}\n\nbool CWispMenu::SetItemData(HANDLE hItem,NUM_PTR Data)\n{\n\t((WISP_MENU_ITEM*)hItem)->Data = Data;\n\treturn true;\n}\n\nbool CWispMenu::ToggleCheckItem(HANDLE hItem)\n{\n\tif(IsItemChecked(hItem))\n\t{\n\t\tUncheckItem(hItem);\n\t\treturn true;\n\t}\n\telse\n\t{\n\t\tCheckItem(hItem);\n\t\treturn false;\n\t}\n}\n\nbool CWispMenu::CheckItem(HANDLE hItem)\n{\t\n\tWISP_MENU_ITEM*pItem=(WISP_MENU_ITEM*)hItem;\n\tif(pItem->Style&WISP_MIS_CHECKED)\n\t\treturn true;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_CHECKING;\n\tMsg.Command.Param1 = false;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tpItem->Style|=WISP_MIS_CHECKED;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_CHECKED;\n\tMsg.Command.Param1 = true;\n\tSEND_MSG(&Msg);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispMenu::UncheckItem(HANDLE hItem)\n{\n\tWISP_MENU_ITEM*pItem=(WISP_MENU_ITEM*)hItem;\n\tif((pItem->Style&WISP_MIS_CHECKED)==0)\n\t\treturn true;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNCHECKING;\n\tMsg.Command.Param1 = true;\n\tMsg.Command.Param2 = hItem;\n\tif(SEND_MSG(&Msg)==false)\n\t\treturn false;\n\tpItem->Style&=~WISP_MIS_CHECKED;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_UNCHECKED;\n\tMsg.Command.Param1 = false;\n\tSEND_MSG(&Msg);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispMenu::IsItemChecked(HANDLE hItem)\n{\n\treturn (((WISP_MENU_ITEM*)hItem)->Style & WISP_MIS_CHECKED)!=0;\n}\n\nbool CWispMenu::ToggleDisableItem(HANDLE hItem)\n{\n\tif(IsItemDisabled(hItem))\n\t{\n\t\tEnableItem(hItem);\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\tDisableItem(hItem);\n\t\treturn true;\n\t}\n}\n\nbool CWispMenu::EnableItem(HANDLE hItem)\n{\n\tWISP_MENU_ITEM*pItem=(WISP_MENU_ITEM*)hItem;\n\tif((pItem->Style&WISP_MIS_DISABLED)==0)\n\t\treturn true;\n\tpItem->Style&=~WISP_MIS_DISABLED;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_ENABLED;\n\tMsg.Command.Param1 = false;\n\tMsg.Command.Param2 = hItem;\n\tSEND_MSG(&Msg);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispMenu::DisableItem(HANDLE hItem)\n{\n\tWISP_MENU_ITEM*pItem=(WISP_MENU_ITEM*)hItem;\n\tif(pItem->Style&WISP_MIS_DISABLED)\n\t\treturn true;\n\tpItem->Style|=WISP_MIS_DISABLED;\n\tWISP_MSG Msg;\n\tMsg.hWnd = m_OwnerWnd;\n\tMsg.Msg = WISP_WM_COMMAND;\n\tMsg.Command.CmdID = m_CmdID;\n\tMsg.Command.CmdMsg = WISP_CMD_ITEM_DISABLED;\n\tMsg.Command.Param1 = true;\n\tMsg.Command.Param2 = hItem;\n\tSEND_MSG(&Msg);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispMenu::IsItemDisabled(HANDLE hItem)\n{\n\treturn (((WISP_MENU_ITEM*)hItem)->Style & WISP_MIS_DISABLED)!=0;\n}\n\nbool CWispMenu::IsItemChecked(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\t\n\treturn IsItemChecked(hItem);\n}\n\nbool CWispMenu::ToggleCheckItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tToggleCheckItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::CheckItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tCheckItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::UncheckItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tUncheckItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::IsItemDisabled(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\treturn IsItemDisabled(hItem);\n}\n\nbool CWispMenu::ToggleDisableItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tToggleDisableItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::EnableItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tEnableItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::DisableItem(UINT CmdID)\n{\n\tHANDLE hItem = GetItem(CmdID);\n\tif(hItem==NULL)\n\t\treturn false;\n\tDisableItem(hItem);\n\treturn true;\n}\n\nbool CWispMenu::Popup(WISP_POINT*pPT,bool bSelectItem)\n{\n\tif(pPT==NULL)\n\t\tpPT = &m_pWispBase->m_MousePT;\n\tint X,Y;\n\tX = pPT->x;\n\tY = pPT->y;\n\tif(X>m_ParentWnd->m_WindowRect.cx - m_WindowRect.cx)\n\t\tX = pPT->x - m_WindowRect.cx;\n\tif(Y>m_ParentWnd->m_WindowRect.cy - m_WindowRect.cy)\n\t\tY = pPT->y - m_WindowRect.cy;\n\tif(bSelectItem)\n\t\tm_HoverIter = m_ItemList.Begin();\n\tMoveToScreen(X,Y);\n\tShow();\n\tFocus();\n\tTop();\n\treturn true;\n}\n\nvoid CWispMenu::PopupItemMenu(WISP_MENU_ITEM*pMenuItem,bool bSelectItem)\n{\n\tint Width;\n\tWISP_POINT pt;\n\tCWispMenu*pMenu = (CWispMenu*)pMenuItem->Data;\n\tpMenu->m_HoverIter = pMenu->m_ItemList.End();\n\tif(m_Style&WISP_WMS_POPUP)\n\t{\n\t\tpt.x = pMenuItem->ItemRC.x + pMenuItem->ItemRC.cx+ m_ScrClientRect.x;\n\t\tpt.y = pMenuItem->ItemRC.y + m_ScrClientRect.y;\n\t}\n\telse\n\t{\n\t\tpt.x = pMenuItem->ItemRC.x + m_ScrClientRect.x;\n\t\tpt.y = pMenuItem->ItemRC.y + pMenuItem->ItemRC.cy + m_ScrClientRect.y;\n\t\tWidth = m_ClientDC.GetTextExtent(pMenuItem->szText)+m_MenuMarge*2;\n\t\tif(pMenuItem->pIcon)\n\t\t\tWidth+=pMenuItem->pIcon->Width();\n\t\tif(Width>pMenu->m_WindowRect.cx)\n\t\t\tpMenu->Resize(Width,pMenu->m_WindowRect.cy);\n\t}\n\tif(pt.x>m_ParentWnd->m_WindowRect.cx - pMenu->m_WindowRect.cx)\n\t\tpt.x -= m_WindowRect.cx+pMenu->m_ClientRect.cx;\n\tif(pt.y>m_ParentWnd->m_WindowRect.cy - pMenu->m_WindowRect.cy)\n\t{\n\t\tpt.y -= pMenu->m_WindowRect.cy-pMenuItem->ItemRC.cy;\n\t}\n\tif(bSelectItem)\n\t\tpMenu->m_HoverIter = pMenu->m_ItemList.Begin();\n\tpMenu->MoveToScreen(pt.x,pt.y);\n\tpMenu->Show();\n\tpMenu->Focus();\n}\n\nvoid CWispMenu::HideMenuTree()\n{\n\tWISP_MENU_ITEM*pMenuItem;\n\tCWispMenu*pMenu=this;\n\tif(m_Style&WISP_WMS_POPUP)\n\t{\n\t\tShow(WISP_SH_HIDDEN);\n\t\twhile(pMenu)\n\t\t{\n\t\t\tif(pMenu->m_HoverIter == pMenu->m_ItemList.End())\n\t\t\t\tbreak;\n\t\t\tpMenuItem = &(*pMenu->m_HoverIter);\n\t\t\tif((pMenuItem->Style&WISP_MIS_POPUP) == 0)\n\t\t\t\tbreak;\n\t\t\tpMenu->m_HoverIter=pMenu->m_ItemList.End();\n\t\t\tpMenu = (CWispMenu*)pMenuItem->Data;\n\t\t\tpMenu->Show(WISP_SH_HIDDEN);\n\t\t\tm_pWispBase->m_pRootWnd->Update(&pMenu->m_ScrWindowRect);\n\t\t}\n\t\tUpdate();\n\t}\n\telse\n\t{\n\t\tm_bExpandMenu = false;\n\t\tif(m_HoverIter != m_ItemList.End())\n\t\t{\n\t\t\tpMenuItem = &(*m_HoverIter);\n\t\t\tm_HoverIter = m_ItemList.End();\n\t\t\tif(pMenuItem->Style&WISP_MIS_POPUP)\n\t\t\t\t((CWispMenu*)pMenuItem->Data)->HideMenuTree();\n\t\t}\n\t}\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispMenu.h",
    "content": "#ifndef WISP_MENU_H_\n#define WISP_MENU_H_\n\n#include \"WispWnd.h\"\n\n#define WISP_WMS_POPUP\t\t0x00010000\n\n#define WISP_MIS_NORMAL\t\t0x00000000\n#define WISP_MIS_POPUP\t\t0x00000001\n#define WISP_MIS_CHECKBOX\t0x00000002\n#define WISP_MIS_SEPARATOR\t0x00000004\n#define WISP_MIS_CHECKED\t0x00080000\n#define WISP_MIS_DISABLED\t0x00100000\n\n\n#define WISP_MENU_RES_SEPARATOR\t\t{NULL,0,NULL,WISP_MIS_SEPARATOR}\n#define WISP_MENU_RES_END\t\t\t{NULL,0,0,NULL,NULL}\n\nclass CWispMenu;\n\nstruct WISP_MENU_RES_ITEM\n{\n\tWISP_PCSTR\tszText;\n\tUINT\t\tCmdID;\n\tint\t\t\tDIBIndex;\n\tUINT\t\tStyle;\n\tvoid*\t\tpMenuItem;\n};\n\nstruct WISP_MENU_ITEM\n{\n\tCWispString\tszText;\n\tCWispDIB*\tpIcon;\n\tUINT\t\tCmdID;\n\tUINT\t\tStyle;\n\tWISP_RECT\tItemRC;\n\tCOLORREF\tTextClr;\n\tunion\n\t{\n\t\tNUM_PTR\tData;\n\t\tCWispMenu*pSubMenu;\n\t};\n};\n\ntypedef TList<WISP_MENU_ITEM>\tCMenuItemList;\n\nclass CWispMenu : public CWispWnd\n{\nprotected:\n\tCMenuItemList m_ItemList;\n\tint\t\tm_PopupItemHeight;\n\tint\t\tm_WndItemHeight;\n\tCMenuItemList::IT m_HoverIter;\n\tint\t\tm_MenuStartSpace;\n\tint\t\tm_MenuIconSpace;\n\tint\t\tm_MenuEndSpace;\n\tint\t\tm_MenuMarge;\n\tint\t\tm_PopupMenuTopSpace;\n\tint\t\tm_PopupMenuBottomSpace;\n\tint\t\tm_WndMenuHeight;\n\tint\t\tm_WndMenuItemWidth;\n\tbool\tm_bExpandMenu;\npublic:\n\tCWispMenu();\n\t~CWispMenu();\npublic:\n\tbool\tInitWnd();\n\tDECLARE_WISP_MSG_MAP\t\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG(OnParentResize)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnUpdateBorder)\n\tDECLARE_WISP_MSG(OnLostFocus)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG(OnDestroy)\n\t//Notify\n\tvirtual bool ClickItemNotify(HANDLE hMenuItem,UINT CmdID){return true;}\n\n\tbool\tCreateWndMenu(CWispWnd*pParentWnd,UINT CmdID,WISP_MENU_RES_ITEM*pResItem,CWispDIBList*pDIBList = NULL);\n\tbool\tCreatePopupMenu(WISP_MENU_RES_ITEM*pResItem,CWispBaseWnd*pOwnerWnd,CWispDIBList*pDIBList = NULL);\n\tvoid\tSetOwner(CWispBaseWnd*pOwnerWnd);\n\tbool\tPopup(WISP_POINT*pPT = NULL,bool bSelectItem = true);\n\tbool\tIsPopupMenu(){ return (m_Style&WISP_WMS_POPUP)!=0;}\n\tHANDLE\tInsertItem(int Pos,WISP_PCSTR szText,UINT Style,UINT CmdID,CWispDIB*pIcon=NULL,NUM_PTR MenuData = 0);\n\tbool\tInsertSubMenu(int Pos,WISP_PCSTR szText,CWispMenu*pMenu,CWispDIB*pIcon = NULL);\n\tbool\tSetItemColor(UINT CmdID,COLORREF TextColor);\n\tvoid\tAdjustPopupMenuSize();\n\tbool\tRemoveItemByPos(int Pos);\n\tbool\tRemoveItem(UINT CmdID);\n\tbool\tRemoveItem(HANDLE hItem);\n\tint\t\tRemoveAllItem();\n\tHANDLE\tGetItemByName(WISP_PCSTR Name);\n\tHANDLE\tGetItemByPos(int Pos);\n\tHANDLE\tGetItem(UINT CmdID);\n\tHANDLE\tGetNextItem(HANDLE hItem,UINT Style=0);\n\tHANDLE\tGetPrevItem(HANDLE hItem,UINT Style=0);\n\tbool\tSetHoverItem(HANDLE hItem);\n\tCWispString&GetItemText(HANDLE hItem);\n\tCWispDIB*GetItemIcon(HANDLE hItem);\n\tUINT\tGetItemStyle(HANDLE hItem);\n\tNUM_PTR\tGetItemData(HANDLE hItem);\n\n\tbool\tSetItemInfo(HANDLE hItem,UINT Style,WISP_PCSTR szText,CWispDIB*pIcon,NUM_PTR Data);\n\tbool\tSetItemText(HANDLE hItem,WISP_PCSTR szText);\n\tbool\tSetItemIcon(HANDLE hItem,CWispDIB*pIcon);\n\tbool\tSetItemStyle(HANDLE hItem,UINT Style);\n\tbool\tSetItemData(HANDLE hItem,NUM_PTR Data);\n\t//HANDLE\n\tbool\tIsItemChecked(HANDLE hItem);\n\tbool\tToggleCheckItem(HANDLE hItem);\n\tbool\tCheckItem(HANDLE hItem);\n\tbool\tUncheckItem(HANDLE hItem);\n\t\n\tbool\tIsItemDisabled(HANDLE hItem);\n\tbool\tToggleDisableItem(HANDLE hItem);\n\tbool\tEnableItem(HANDLE hItem);\n\tbool\tDisableItem(HANDLE hItem);\n\n\tbool INLINE CheckItem(HANDLE hItem,bool bCheck){ return bCheck?CheckItem(hItem):UncheckItem(hItem);}\n\tbool INLINE EnableItem(HANDLE hItem,bool bEnable){ return bEnable?EnableItem(hItem):DisableItem(hItem);}\n\t//CmdID\n\tbool\tIsItemChecked(UINT CmdID);\n\tbool\tToggleCheckItem(UINT CmdID);\n\tbool\tCheckItem(UINT CmdID);\n\tbool\tUncheckItem(UINT CmdID);\n\n\tbool\tIsItemDisabled(UINT CmdID);\n\tbool\tToggleDisableItem(UINT CmdID);\n\tbool\tEnableItem(UINT CmdID);\n\tbool\tDisableItem(UINT CmdID);\n\n\tbool INLINE CheckItem(UINT CmdID,bool bCheck){ return bCheck?CheckItem(CmdID):UncheckItem(CmdID);}\n\tbool INLINE EnableItem(UINT CmdID,bool bEnable){ return bEnable?EnableItem(CmdID):DisableItem(CmdID);}\nprivate:\n\tvoid\tDrawWndMenu();\n\tvoid\tDrawPopupMenu();\n\tvoid\tHoverItemChanged(const CMenuItemList::IT&Iter);\n\tvoid\tPopupItemMenu(WISP_MENU_ITEM*pMenuItem,bool bSelectItem = true);\n\tbool\tIsChildMenu(CWispBaseWnd*pMenu);\n\tCWispMenu*GetTopMenu();\n\tvoid\tHideMenuTree();\n\tvoid\tMenuNextSelect();\n\tvoid\tMenuPrevSelect();\n\tvoid\tClickItem(WISP_MENU_ITEM*pMenuItem);\npublic:\n\tCWispMenu*m_pParentMenu;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispMisc.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispMenu.h\"\n#include \"WispMisc.h\"\n#include \"WispButton.h\"\n#include \"WispRGBSelect.h\"\n\nclass CWispSelectMenu : public CWispMenu\n{\npublic:\n\tCWispSelectMenu();\n\tint\t\tm_Result;\n\tstatic\tWISP_PCSTR m_szYesNoList[];\n\tbool\tCreate(WISP_PCSTR*szTextList);\n\tbool\tClickItemNotify(HANDLE hMenuItem,UINT CmdID);\n};\n\nCWispSelectMenu::CWispSelectMenu()\n{\n\tm_Result = -1;\n}\n\nbool CWispSelectMenu::ClickItemNotify(HANDLE hMenuItem,UINT CmdID)\n{\n\tm_Result = (int)(CmdID - WISP_ID_USER_START);\n\tPostCloseMsg();\n\treturn true;\n}\n\nbool CWispSelectMenu::Create(WISP_PCSTR*szTextList)\n{\n\tUINT Style;\n\tint Width,Height,ItemWidth,Start;\n\tif(CWispMenu::Create(NULL,0,0,0,0,NULL,0,WISP_WS_THIN_BORDER|WISP_WMS_POPUP,WISP_SH_HIDDEN)==false)\n\t\treturn false;\n\tCWispBaseWnd::SetOwner(this);\n\tHeight = Width = 0;\n\tint n = 0;\n\twhile(szTextList[n])\n\t{\n\t\tStyle = 0;\n\t\tStart = 0;\n\t\tif(szTextList[n][0]=='%')\n\t\t{\n\t\t\tif(szTextList[n][1]=='d')\n\t\t\t{\n\t\t\t\tStyle = WISP_MIS_DISABLED;\n\t\t\t\tStart = 2;\n\t\t\t}\n\t\t}\n\t\tInsertItem(-1,&szTextList[n][Start],Style,WISP_ID_USER_START+n);\n\t\tItemWidth = m_ClientDC.GetTextExtent(szTextList[n]);\n\t\tif(ItemWidth > Width)\n\t\t\tWidth = ItemWidth;\n\t\tHeight+=m_PopupItemHeight;\n\t\tn++;\n\t}\n\tWidth += m_MenuStartSpace+m_MenuEndSpace+m_BorderSize*2+m_MenuMarge*2;\n\tHeight += m_BorderSize*2+m_MenuMarge*2;\n\tResize(Width,Height);\n\treturn true;\n}\n\nbool GetResultFromList(int x,int y,WISP_PCSTR*szTextList,int*pResult,int Default)\n{\n\tHANDLE hItem;\n\tWISP_POINT pt;\n\tCWispBaseWnd*pOldFocusWnd;\n\tCWispSelectMenu Menu;\n\tMenu.Create(szTextList);\n\tpt.x = x;\n\tpt.y = y;\n\tpOldFocusWnd = Menu.m_pWispBase->m_pFocusWnd;\n\tMenu.Popup(&pt,false);\n\tif(Default>=0)\n\t{\n\t\thItem = Menu.GetItemByPos(Default);\n\t\tif(hItem)\n\t\t\tMenu.SetHoverItem(hItem);\n\t}\n\tMenu.Show(WISP_SH_MODAL_BLOCK);\n\tMenu.Destroy();\n\tpOldFocusWnd->Focus();\n\tif(Menu.m_Result<0)\n\t\treturn false;\n\t*pResult= Menu.m_Result;\n\treturn true;\n}\n\nclass CStrInputWnd : public CWispForm\n{\npublic:\n\tCStrInputWnd();\n\t~CStrInputWnd();\n\tCWispString*\tm_pStrText;\n\tWISP_PCSTR\t\tm_pszTitle;\n\tWISP_PCSTR\t\tm_pszStaticText;\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG_CMD(OnOK)\n};\n\nenum CStrInputWnd::WISP_FORM_ID\n{\n\tCMD_ID_EDIT_TEXT = WISP_ID_USER_START,\n\tCMD_ID_STATIC_TEXT\n};\n\nWISP_FORM_RES_ITEM CStrInputWnd::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,300,100},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"Please Input ...\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{10,10,270,50},\n\t\tCMD_ID_STATIC_TEXT,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Text\"),\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{20,30,200,16},\n\t\tCMD_ID_EDIT_TEXT,\n\t\tWISP_WS_THIN_BORDER|WISP_ES_AUTOHSCROLL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{230,30,40,16},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CStrInputWnd)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CStrInputWnd)\n\tWISP_MSG_CMD_MAP(WISP_ID_OK,OnOK)\nWISP_MSG_CMD_MAP_END\n\n\nCStrInputWnd::CStrInputWnd()\n{\n\tm_pFormRes = m_FormRes;\n\tm_pszStaticText = m_pszTitle = 0;\n}\n\nCStrInputWnd::~CStrInputWnd()\n{\n\n}\n\nbool CStrInputWnd::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tif(m_pszStaticText)\n\t\tGetFormItem(CMD_ID_STATIC_TEXT)->SetWindowText(m_pszStaticText);\n\tif(m_pszTitle)\n\t\tSetWindowText(m_pszTitle);\n\treturn true;\n}\n\nbool CStrInputWnd::OnOK(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg == WISP_CMD_BT_UP)\n\t\t*m_pStrText = GetFormItem(CMD_ID_EDIT_TEXT)->GetWindowText();\n\treturn true;\n}\n\nbool GetInputText(CWispString&szText,WISP_PSTR szStaticText,WISP_PSTR szTitle)\n{\n\tCStrInputWnd InputWnd;\n\tInputWnd.m_pStrText = &szText;\n\tInputWnd.m_pszStaticText = szStaticText;\n\tInputWnd.m_pszTitle = szTitle;\n\tInputWnd.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\treturn InputWnd.m_Result == WISP_ID_OK;\n}\n\nbool GetRGBColor(COLORREF*pResult,COLORREF *pDefault)\n{\n\tCWispRGBSelect RGBSelect;\n\tif(pDefault)\n\t\tRGBSelect.m_RGBClr = *pDefault;\n\tRGBSelect.CreateForm(NULL,WISP_SH_MODAL_BLOCK);\n\tif(RGBSelect.m_Result != WISP_ID_OK)\n\t\treturn false;\n\t*pResult = RGBSelect.m_RGBClr;\n\treturn true;\n}\n\n\nenum CWispProgressForm::WISP_FORM_ID\n{\n\tCMD_ID_PROGRESS = WISP_ID_USER_START,\n\tCMD_ID_TEXT\n};\n\nWISP_FORM_RES_ITEM CWispProgressForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,325,60},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_THIN_BORDER,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{10,10,300,16},\n\t\tCMD_ID_TEXT,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_PROGRESS,\n\t\t{10,30,300,16},\n\t\tCMD_ID_PROGRESS,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\n\nWISP_MSG_MAP_BEGIN(CWispProgressForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\n\nCWispProgressForm::CWispProgressForm()\n{\n\tm_pFormRes = m_FormRes;\n\tm_pProgessCtrl = NULL;\n\tm_pStaticStr = NULL;\n}\n\nCWispProgressForm::~CWispProgressForm()\n{\n\n}\n\nbool CWispProgressForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pProgessCtrl = (CWispProgress*) GetFormItem(CMD_ID_PROGRESS);\n\tm_pProgessCtrl->SetRange(0,99);\n\tm_pProgessCtrl->SetPos(0);\n\tm_pStaticStr = (CWispStaticStr*) GetFormItem(CMD_ID_TEXT);\n\treturn true;\n}\n\nvoid CWispProgressForm::SetProgressText(WISP_PCSTR szText)\n{\n\tm_pStaticStr->SetWindowText(szText);\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispMisc.h",
    "content": "#ifndef _WISP_MISC_H_\n#define _WISP_MISC_H_\n\n#include \"WispProgress.h\"\n#include \"WispForm.h\"\n#include \"WispStatic.h\"\n\nbool GetResultFromList(int x,int y,WISP_PCSTR*szTextList,int*pResult,int Default = -1);\nbool GetInputText(CWispString&szText,WISP_PSTR szStaticText = NULL,WISP_PSTR szTitle = WISP_STR(\"Please Input ....\"));\nbool GetRGBColor(COLORREF*pResult,COLORREF *pDefault=NULL);\n\nclass CWispProgressForm : public CWispForm\n{\npublic:\n\tCWispProgressForm();\n\t~CWispProgressForm();\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tCWispProgress*m_pProgessCtrl;\n\tCWispStaticStr*m_pStaticStr;\n\tvoid\tSetProgressText(WISP_PCSTR szText);\n}; \n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispMsgBox.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispMsgBox.h\"\n#include \"WispBase.h\"\n\nWISP_MSG_MAP_BEGIN(CWispMsgBox)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispMsgBox::CWispMsgBox(void)\n{\n\tm_nBtnWidth\t= 50;\n\tm_nReturnStatus = WISP_ID_NULL;\n\tm_CtrlType = WISP_CTRL_MSG_BOX;\n}\n\nCWispMsgBox::~CWispMsgBox(void)\n{\n}\n\nbool CWispMsgBox::Create(IN CWispBaseWnd*pParentWnd)\n{\n\treturn  CWispWnd::Create(NULL, 0,0,0,0, pParentWnd,0,WISP_WS_CAPTION | WISP_WS_BORDER | WISP_WS_BT_CLOSE);\n}\n\nint CWispMsgBox::StaticShowMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType,CWispBaseWnd*pParentWnd)\n{\n\tCWispMsgBox MsgBox;\n\tif(MsgBox.Create(NULL)==false)\n\t\treturn WISP_ID_NULL;\n\treturn MsgBox.ShowMsgBox(pText, pCaption, uType);\n}\n\nint CWispMsgBox::ShowMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType)\n{\n\t\t// caption and infomation\n\t\tm_strText\t= pText;\n\t\tm_WndText\t= pCaption;\n\t\t// button style\n\t\tif( !(uType&WISP_MB_CUSTOMIZE) )\n\t\t{\n\t\t\tUINT uBtnType = uType&WISP_MB_BTNMASK;\n\t\t\tif(uBtnType==0)\tuBtnType = WISP_MB_OK;\n\t\t\tAddDefaultButton(uBtnType);\n\t\t}\n\t\t// icon\n\t\tif( uType&WISP_MB_ICONMASK)\n\t\t\tAddDefaultIcon(uType);\n\n\t\t// calc window width\n\t\tWISP_RECT\trcText={0,0,0,0};\n\t\tm_ClientDC.DrawString(pText,&rcText, WISP_DT_CALCRECT);\n\t\tint cx1 = rcText.cx+(m_dibIcon.m_FrameBuffer.Buffer?20:0);\n\t\tint cx2 = m_ClientDC.GetTextExtent(pCaption);\n\t\tint cx3 = (int)m_vButtons.Count()*(m_nBtnWidth+MSGBOX_BTN_SPACE*2);\n\t\tint nWndWidth = MAX(MAX(cx1,cx2),cx3) + 60;\n\t\tif(nWndWidth<150)\tnWndWidth = 150;\n\t\tint nWndHeight = MAX(rcText.cy+50, 120);\n\t\tResize(nWndWidth,  nWndHeight);\n\t\tCenter();\n\t\t// create buttons\n\t\tint nBeginPos = (nWndWidth - m_vButtons.Count()*(m_nBtnWidth+MSGBOX_BTN_SPACE*2))/2;\n\t\tfor(TList<BTNPAIR>::IT It=m_vButtons.Begin(); It!=m_vButtons.End(); It++)\n\t\t{\n\t\t\tnBeginPos += MSGBOX_BTN_SPACE;\n\t\t\tCWispButton* pButton = new CWispButton();\n\t\t\tpButton->Create(It->pBtnText, nBeginPos, nWndHeight-50, m_nBtnWidth, m_ClientDC.m_pFont->m_Height+6, this, It->nID, WISP_BS_NORMAL, WISP_SH_NORMAL);\n\t\t\tif(It->nID==WISP_ID_OK || It->nID==WISP_ID_YES)\n\t\t\t\tpButton->Focus();\n\t\t\tpButton->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\t\t\tnBeginPos += (m_nBtnWidth+MSGBOX_BTN_SPACE);\n\t\t}\n\t\t// do modal\n\t\tShow(WISP_SH_MODAL_BLOCK);\n\t\tDestroy();\n\t\tRemoveAllButtons();\n\t\treturn m_nReturnStatus;\n}\n\nbool CWispMsgBox::OnUpdateClient(IN WISP_MSG* pMsg)\n{\n\tCWispWnd::OnUpdateClient(pMsg);\n\tWISP_RECT rect;\n\tm_dibIcon.m_FrameBuffer.Buffer? rect.x = 50 : rect.x = 20;\n\trect.cx = m_ClientRect.cx - rect.x;\n\trect.y = 10;\n\trect.cy = m_ClientRect.cy;\n\tm_ClientDC.DrawString(m_strText, &rect, WISP_DT_LEFT);\n\n\n\tif(m_dibIcon.m_FrameBuffer.Buffer)\n\t\tm_ClientDC.DrawDIB(10, 10, &m_dibIcon);\n\treturn false;\n}\n\nbool CWispMsgBox::OnCommand(IN WISP_MSG* pMsg)\n{\n\tif(pMsg->Command.CtrlType==WISP_CTRL_BUTTON)\n\t{\n\t\tif(pMsg->Command.CmdMsg != WISP_CMD_BT_UP)\n\t\t\treturn true;\n\t\tm_nReturnStatus = pMsg->Command.CmdID;\n\t\tShow(WISP_SH_HIDDEN);\n\t\treturn true;\n\t}\n\treturn true;\n}\n\nvoid CWispMsgBox::AddDefaultButton(UINT uType)\n{\n\tif(uType & WISP_MB_OK)\n\t\tAddButton(WISP_STR(\"OK\"),WISP_ID_OK);\n\tif(uType & WISP_MB_YES)\n\t\tAddButton(WISP_STR(\"YES\"),WISP_ID_YES);\n\tif(uType & WISP_MB_NO)\n\t\tAddButton(WISP_STR(\"NO\"),WISP_ID_NO);\n\tif(uType & WISP_MB_CANCEL)\n\t\tAddButton(WISP_STR(\"CANCEL\"),WISP_ID_CANCEL);\n\tif(uType & WISP_MB_TRY)\n\t\tAddButton(WISP_STR(\"TRY\"),WISP_ID_TRY);\n\tif(uType & WISP_MB_CONTINUE)\n\t\tAddButton(WISP_STR(\"CONTINUE\"),WISP_ID_CONTINUE);\n\tif(uType & WISP_MB_ABORT)\n\t\tAddButton(WISP_STR(\"ABORT\"),WISP_ID_ABORT);\n\tif(uType & WISP_MB_RETRY)\n\t\tAddButton(WISP_STR(\"RETRY\"),WISP_ID_RETRY);\n\tif(uType & WISP_MB_IGNORE)\n\t\tAddButton(WISP_STR(\"IGNORE\"),WISP_ID_IGNORE);\n}\n\nvoid CWispMsgBox::AddDefaultIcon(UINT uType)\n{\n\tif(uType&WISP_MB_ICONINFOMATION)\n\t\tm_dibIcon.Load(\"\\\\WispApp\\\\MsgBox\\\\Information.bmp\");\n\telse if(uType&WISP_MB_ICONQUESTION)\n\t\tm_dibIcon.Load(\"\\\\WispApp\\\\MsgBox\\\\Question.bmp\");\n\telse if(uType&WISP_MB_ICONALERT)\n\t\tm_dibIcon.Load(\"\\\\WispApp\\\\MsgBox\\\\Alert.bmp\");\n\telse if(uType&WISP_MB_ICONERROR)\n\t\tm_dibIcon.Load(\"\\\\WispApp\\\\MsgBox\\\\Error.bmp\");\n\n\tm_dibIcon.m_Type = WISP_DIB_TK;\n\tm_dibIcon.m_ColorKey = SYS_COLOR[SC_UNNAMED_15];\n}\n\nvoid CWispMsgBox::AddButton(WISP_CHAR* pText, int nID)\n{\n\tBTNPAIR stPair;\n\tstPair.pBtnText\t= pText;\n\tstPair.nID\t\t= nID;\n\n\tint nLength = m_ClientDC.GetTextExtent(pText)+4;\n\tif(nLength>m_nBtnWidth)\n\t\tm_nBtnWidth = nLength;\n\n\tm_vButtons.Append(stPair);\n}\n\nvoid CWispMsgBox::RemoveAllButtons()\n{\n\tm_vButtons.Clear();\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispMsgBox.h",
    "content": "#ifndef _WISP_MESSAGEBOX_H_\n#define _WISP_MESSAGEBOX_H_\n\n/*\n\tʹ˵\n\t1.ҪԶ尴ťť·\n\t\tCWispMsgBox\tbox;\n\t\tbox.Create(m_pWispBase, this);\n\t\tbox.AddButton(WISP_STR(\"shit\"), 0);\n\t\tbox.AddButton(WISP_STR(\"another shit\"), 1);\n\t\tbox.ShowMsgBox(WISP_STR(\"What you want?\"), WISP_STR(\"Caption\"), WISP_MB_CUSTOMIZE);\n\n\t2.ʹĬϷʽһCWispBaseWndļ̳УֱMsgBoxɣ\n\t\tMsgBox(WISP_STR(\"What you want?\"), WISP_STR(\"Caption\"), WISP_MB_YESNO|WISP_MB_ICONQUESTION);\n\n\t3.CWispBaseWndļ̳УCWispBaseMsgBoxɣ\n\t\tm_pWispBase->MsgBox(WISP_STR(\"What you want?\"), WISP_STR(\"Caption\"), WISP_MB_YESNO|WISP_MB_ICONQUESTION);\n\n\t4.κεطֱӵCWispMsgBoxľ̬23ַͨʵֵģ\n\t\tCWispMsgBox::StaticShowMsgBox(m_pWispBase, WISP_STR(\"What you want?\"), WISP_STR(\"Caption\"), WISP_MB_YESNO|WISP_MB_ICONALERT, this);\n */\n\n#include \"WispButton.h\"\n\n#define MSGBOX_BTN_SPACE\t\t2\n\n#define WISP_MB_OK\t\t\t\t0x00000001\n#define WISP_MB_CANCEL\t\t\t0x00000002\n#define WISP_MB_ABORT\t\t\t0x00000004\n#define WISP_MB_RETRY\t\t\t0x00000008\n#define WISP_MB_IGNORE\t\t\t0x00000010\n#define WISP_MB_YES\t\t\t\t0x00000020\n#define WISP_MB_NO\t\t\t\t0x00000040\n#define WISP_MB_CONTINUE\t\t0x00000080\n#define WISP_MB_TRY\t\t\t\t0x00000100\n\n#define WISP_MB_ABORTRETRYIGNORE\t(WISP_MB_ABORT|WISP_MB_RETRY|WISP_MB_IGNORE)\n#define WISP_MB_CANCELTRYCONTINUE\t(WISP_MB_CANCEL|WISP_MB_TRY|WISP_MB_CONTINUE)\n#define WISP_MB_OKCANCEL\t\t\t(WISP_MB_OK|WISP_MB_CANCEL)\n#define WISP_MB_RETRYCANCEL\t\t\t(WISP_MB_RETRY|WISP_MB_CANCEL)\n#define WISP_MB_YESNO\t\t\t\t(WISP_MB_YES|WISP_MB_NO)\n#define WISP_MB_YESNOCANCEL\t\t\t(WISP_MB_YES|WISP_MB_NO|WISP_MB_CANCEL)\n\n#define WISP_MB_BTNMASK\t\t\t0x00000FFFL\n#define WISP_MB_CUSTOMIZE\t\t0x00001000L\n\n#define WISP_MB_ICONINFOMATION\t0x00010000L\n#define WISP_MB_ICONQUESTION\t0x00020000L\n#define WISP_MB_ICONALERT\t\t0x00030000L\n#define WISP_MB_ICONERROR\t\t0x00040000L\n#define WISP_MB_ICONEXCLAMATION\tWISP_MB_ICONALERT\n#define WISP_MB_ICONWARNING\t\tWISP_MB_ICONALERT\n#define WISP_MB_ICONASTERISK\tWISP_MB_ICONINFOMATION\n#define WISP_MB_ICONSTOP\t\tWISP_MB_ICONERROR\n#define WISP_MB_ICONHAND\t\tWISP_MB_ICONERROR\n#define WISP_MB_ICONMASK\t\t0x000F0000L\n\n\n#include \"WispWnd.h\"\n#include \"WispDIB.h\"\nclass CWispMsgBox : public CWispWnd\n{\npublic:\n\tCWispMsgBox(void);\n\t~CWispMsgBox(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnCommand);\npublic:\n\tbool Create(IN CWispBaseWnd*pParentWnd);\n\tstatic int StaticShowMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType ,CWispBaseWnd* pParentWnd = NULL);\n\tint ShowMsgBox(WISP_CHAR* pText, WISP_CHAR* pCaption, UINT uType);\n\tvoid AddButton(WISP_CHAR* pText, int nID);\n\tvoid AddDefaultButton(UINT uType);\n\tvoid AddDefaultIcon(UINT uType);\n\tvoid RemoveAllButtons();\n\tstruct BTNPAIR\n\t{\n\t\tTString<WISP_CHAR>\tpBtnText;\n\t\tint\t\t\t\t\tnID;\n\t};\n\tTList<BTNPAIR>\t\tm_vButtons;\n\tTString<WISP_CHAR> m_strText;\n\tint m_nBtnWidth;\n\tCWispDIB\tm_dibIcon;\n\tint\t\t\tm_nReturnStatus;\n};\n\n#endif//_WISP_MESSAGEBOX_H_\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispMsgDefine.h",
    "content": "#ifndef _WISP_MSG_DEFINE_H_\n#define _WISP_MSG_DEFINE_H_\n\nenum WISP_SB_EVENT_TYPE\n{\n\tWISP_SB_INC,\n\tWISP_SB_DEC,\n\tWISP_SB_PAGE_UP,\n\tWISP_SB_PAGE_DOWN,\n\tWISP_SB_POS_CHANGE,\n};\n\n#define WISP_LAST_POS\t\t\t\t\t\t-1\n//Window Hit Area\n#define\tWISP_HIT_WND_NON\t\t\t\t\t0x00000000\n#define\tWISP_HIT_WND_CLIENT\t\t\t\t\t0x00000001\n#define\tWISP_HIT_WND_MOVE\t\t\t\t\t0x00000002\n#define\tWISP_HIT_WND_NON_CLIENT\t\t\t\t0x00000003\n#define\tWISP_HIT_WND_BT_CLOSE\t\t\t\t0x00000004\n#define\tWISP_HIT_WND_BT_MAX\t\t\t\t\t0x00000005\n#define\tWISP_HIT_WND_BT_MIN\t\t\t\t\t0x00000006\n\n#define\tWISP_HIT_WND_RESIZE_LEFT\t\t\t0x00010000\n#define\tWISP_HIT_WND_RESIZE_RIGHT\t\t\t0x00020000\n#define\tWISP_HIT_WND_RESIZE_TOP\t\t\t\t0x00040000\n#define\tWISP_HIT_WND_RESIZE_BOTTOM\t\t\t0x00080000\n#define WISP_HIT_WND_RESIZE_MASK\t\t\t0x000F0000\n\n#define\tWISP_HIT_WND_RESIZE_LEFT_TOP\t\t(WISP_HIT_WND_RESIZE_LEFT | WISP_HIT_WND_RESIZE_TOP)\n#define\tWISP_HIT_WND_RESIZE_RIGHT_TOP\t\t(WISP_HIT_WND_RESIZE_RIGHT | WISP_HIT_WND_RESIZE_TOP)\n#define\tWISP_HIT_WND_RESIZE_LEFT_BOTTOM\t\t(WISP_HIT_WND_RESIZE_LEFT | WISP_HIT_WND_RESIZE_BOTTOM)\n#define\tWISP_HIT_WND_RESIZE_RIGHT_BOTTOM\t(WISP_HIT_WND_RESIZE_RIGHT | WISP_HIT_WND_RESIZE_BOTTOM)\n\n//Window's Ctrl Hit Area\n#define\tWISP_HIT_CTRL_NON\t\t\t\t\t0x00000000\n\n#define\tWISP_HIT_CTRL_VERT_INC_BT\t\t\t0x00000001\n#define\tWISP_HIT_CTRL_VERT_DEC_BT\t\t\t0x00000002\n#define\tWISP_HIT_CTRL_VERT_SLIDE_RECT\t\t0x00000003\n#define\tWISP_HIT_CTRL_VERT_SPACE_RECT\t\t0x00000004\n#define\tWISP_HIT_CTRL_VERT_SCROLL_RECT\t\t0x00000005\n\n#define\tWISP_HIT_CTRL_HORZ_INC_BT\t\t\t0x00000011\n#define\tWISP_HIT_CTRL_HORZ_DEC_BT\t\t\t0x00000012\n#define\tWISP_HIT_CTRL_HORZ_SLIDE_RECT\t\t0x00000013\n#define\tWISP_HIT_CTRL_HORZ_SPACE_RECT\t\t0x00000014\n#define\tWISP_HIT_CTRL_HORZ_SCROLL_RECT\t\t0x00000015\n\n#define WISP_CMD_USER_START\t\t\t0x00000001\n#define WISP_CMD_DEVELOP_START\t\t0x40000000\n#define WISP_CMD_SYSTEM_START\t\t0x80000000\n///////////////////////////////////////////////////////////////////////////////////////\n//CommandϢ<Start>\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_BT_DOWN\t\t\t0x80000001\t\t\t//ť\n#define WISP_CMD_BT_UP\t\t\t\t0x80000002\t\t\t//ţ̌\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_GET_CMD\t\t\t0x80000010\t\t\t//̨ȡϢ\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_ITEM_EXPANDING\t\t0x80000100\t\t\t//item is being expanded\n#define WISP_CMD_ITEM_EXPANDED\t\t0x80000101\t\t\t//item has been expanded\n#define WISP_CMD_ITEM_UNEXPANDING\t0x80000102\t\t\t//item is being unexpanded\n#define WISP_CMD_ITEM_UNEXPANDED\t0x80000103\t\t\t//item has been unexpanded\n#define WISP_CMD_ITEM_SELECTING\t\t0x80000104\t\t\t//item is being selected\n#define WISP_CMD_ITEM_SELECTED\t\t0x80000105\t\t\t//item has been selected\n#define WISP_CMD_ITEM_UNSELECTING\t0x80000106\t\t\t//item is being unselected\n#define WISP_CMD_ITEM_UNSELECTED\t0x80000107\t\t\t//item has been unselected\n#define WISP_CMD_ITEM_CHECKING\t\t0x80000108\t\t\t//item is being checked\n#define WISP_CMD_ITEM_CHECKED\t\t0x80000109\t\t\t//item has been checked\n#define WISP_CMD_ITEM_UNCHECKING\t0x8000010A\t\t\t//item is being unchecked\n#define WISP_CMD_ITEM_UNCHECKED\t\t0x8000010B\t\t\t//item has been unchecked\n#define WISP_CMD_ITEM_CHANGED\t\t0x8000010E\t\t\t//item has been edited\n#define WISP_CMD_ITEM_ENABLED\t\t0x8000010F\t\t\t//item has been enabled\n#define WISP_CMD_ITEM_DISABLED\t\t0x80000110\t\t\t//item has been disabled\n#define WISP_CMD_ITEM_BEGIN_EDIT\t0x80000111\t\t\t//begin to edit a label\n#define WISP_CMD_ITEM_END_EDIT\t\t0x80000112\t\t\t//end to edit a label\n#define WISP_CMD_ITEM_CANCEL_EDIT\t0x80000113\t\t\t//end to edit a label\n#define WISP_CMD_ITEM_HOVER\t\t\t0x80000114\t\t\t//item hover\n#define WISP_CMD_ITEM_UNHOVER\t\t0x80000115\t\t\t//item lost hover\n#define WISP_CMD_ITEM_CLICK\t\t\t0x80000116\t\t\t//click an item\n#define WISP_CMD_ITEM_RDBCLICK\t\t0x80000117\t\t\t//right button double click an item\n#define WISP_CMD_ITEM_LDBCLICK\t\t0x80000118\t\t\t//left button double click an item\n#define WISP_CMD_ITEM_KEY_DOWN\t\t0x80000119\t\t\t//recive a key event down\n#define WISP_CMD_ITEM_KEY_UP\t\t0x80000120\t\t\t//recive a key event up\n#define WISP_CMD_TITLE_CLICK\t\t0x80000121\t\t\t//\n#define WISP_CMD_TITLE_RCLICK\t\t0x80000122\t\t\t//\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_CTRL_GET_FOCUS\t\t0x80000201\t\t\t//ctrl get focus\n#define WISP_CMD_CTRL_LOST_FOCUS\t0x80000202\t\t\t//ctrl lost focus\n#define WISP_CMD_CTRL_CLICK\t\t\t0x80000203\t\t\t//click an item\n#define WISP_CMD_CTRL_RCLICK\t\t0x80000204\t\t\t//right click an item\n#define WISP_CMD_CTRL_DBCLICK\t\t0x80000205\t\t\t//double click an item\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_CB_CLICK\t\t\t0x80000300\t\t\t//checkbox click\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_COMBOX_SELCHANGE\t0x80000400\t\t\t//COMBOX BOX SELECT CHANGE\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_STATIC_URL_CLICK\t0x80000500\t\t\t//COMBOX BOX SELECT CHANGE\n\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_EN_CHANGING\t\t0x80000700\t\t\t//Edit change before update screen\n#define WISP_CMD_EN_KILLFOCUS\t\t0x80000701\t\t\t//The edit control loses the input focus\n#define WISP_CMD_EN_SETFOCUS\t\t0x80000702\t\t\t//Sent when an edit control receives the input focus. \n#define WISP_CMD_EN_INPUT_KEY_DOWN\t0x80000703\t\t\t//Edit recive a key down\n#define WISP_CMD_EN_INPUT_KEY_UP\t0x80000704\t\t\t//Edit recive a key up\n#define WISP_CMD_EN_CHANGED\t\t\t0x80000705\t\t\t//Edit changed\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_TAB_ACTIVE_CHG\t\t0x80000800\t\t\t//Tab\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_LANGUAGE_CHANGE\t0x80001000\t\t\t//Ըı֪ͨеĴڶõ֪ͨ\n///////////////////////////////////////////////////////////////////////////////////////\n#define WISP_CMD_HOTKEY\t\t\t\t0x80002000\n///////////////////////////////////////////////////////////////////////////////////////\n//CommandϢ<End>\n///////////////////////////////////////////////////////////////////////////////////////\n\nclass CWispBaseWnd;\nstruct WISP_MSG\n{\n\tCWispBaseWnd*hWnd;\n\tCWispBaseWnd*hSrcWnd;\n\tUINT\tMsg;\n\tbool\tbMsgLBTDown;\n\tbool\tbMsgRBTDown;\n\tWISP_POINT\tMsgMouseScrPT;\n\tWISP_POINT\tMsgMouseWndPT;\n\tWISP_POINT\tMsgMouseCltPT;\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tUINT\t\tID;\n\t\t\tUINT\t\tUserData;\n\t\t\tvoid*\t\tUserPtr;\n\t\t}Timer;\n\t\tstruct\n\t\t{\n\t\t\tWISP_POINT\tBeginMouseWndPT;\n\t\t\tUINT\t\tUserData;\n\t\t\tvoid*\t\tUserPtr;\n\t\t\tint\t\t\tDeltaX;\n\t\t\tint\t\t\tDeltaY;\n\t\t}DragEvent;\n\t\tstruct\n\t\t{\n\t\t\tUINT\t\tHitAreaType;\n\t\t\tUINT\t\tHitCtrlType;\n\t\t\tUINT\t\tKeyType;\n\t\t\tbool\t\tbKeyDown;\n\t\t\tUINT\t\tScanCode;\n\t\t}KeyEvent;\n\t\tstruct\n\t\t{\n\t\t\tUINT\t\tHitAreaType;\n\t\t\tUINT\t\tHitCtrlType;\n\t\t\tCWispBaseWnd*hWndMouseAt;\n\t\t\tint\t\t\tDeltaX;\n\t\t\tint\t\t\tDeltaY;\n\t\t\tint\t\t\tDeltaZ;\n\t\t}MouseEvent;\n\t\tstruct\n\t\t{\n\t\t\tWISP_CTRL_TYPE\tCtrlType;\t//defined bellow\n\t\t\tUINT\t\tCmdMsg;\n\t\t\tUINT\t\tCmdID;\n\t\t\tint\t\t\tParam1;\n\t\t\tvoid*\t\tParam2;\n\t\t}Command;\n\t\tstruct\n\t\t{\n\t\t\tint\t\t\tDeltaX;\n\t\t\tint\t\t\tDeltaY;\n\t\t}Move;\n\t\tstruct\n\t\t{\n\t\t\tint\t\t\tnRepeat;\n\t\t\tWISP_CHAR\tChar;\n\t\t}Char;\n\t\tstruct\n\t\t{\n\t\t\tUINT\t\t\tEvent;\n\t\t\tWISP_SB_TYPE\tSBType;\n\t\t\tWISP_SCROLL_LONG\tCurPos;\n\t\t\tWISP_SCROLL_LONG\tDelta;\n\t\t}ScrollEvent;\n\t\tstruct\n\t\t{\n\t\t\tUINT\t\tHitAreaType;\n\t\t\tUINT\t\tHitCtrlType;\n\t\t\tbool\t\tbKeyDown;\n\t\t}HitTest;\t\t\t\t\t\t//WISP_WM_HIT_TEST\n\t\tstruct \n\t\t{\n\t\t\tWISP_SIZE\tNewSize;\n\t\t\tWISP_SIZE\tNewSizeDelta;\n\t\t}Resize;\t\t\t\t\t\t//WISP_WM_SIZE,WISP_WM_SIZING\n\t\tCWispBaseWnd*\thOtherWnd;\t\t//WISP_WM_GET_FOCUS WISP_WM_LOST_FOCUS\n\t};\n};\n\nstruct WISP_INPUT_MSG\n{\n\tUINT InputMsg;\n\tunion\n\t{\n\t\tstruct\n\t\t{\n\t\t\tint PosX;\n\t\t\tint PosY;\n\t\t}MousePosChg;\n\t\tstruct \n\t\t{\n\t\t\tint DeltaX;\n\t\t\tint DeltaY;\n\t\t}MouseMove;\n\t\tstruct \n\t\t{\n\t\t\tint DeltaZ;\n\t\t}MouseWheel;\n\t\tstruct\n\t\t{\n\t\t\tUINT KeyType;\n\t\t}MouseBTDBClick;\n\t\tstruct \n\t\t{\n\t\t\tint MilliSec;\n\t\t}Timer;\n\t\tstruct\n\t\t{\n\t\t\tUINT KeyType;\n\t\t\tbool bKeyDown;\n\t\t\tUINT ScanCode;\n\t\t}KeyEvent;\n\t};\n};\n\n//////////////////////////////////////////////////////\n//Ϣ\n//////////////////////////////////////////////////////\n#define WISP_IGNORE_MSG\t\t\t\t\t\t0xFFFFFFFF\n#define WISP_INVALID_MSG\t\t\t\t\t0x00000000\n\n#define WISP_WM_USER_START\t\t\t\t\t0x00000001\n\n#define WISP_WM_DEVELOP_START\t\t\t\t0x40000000\n\n//ⲿӲϢ\n#define WISP_INPUT_EVENT_START\t\t\t\t0x70000000\n\n#define WISP_INPUT_KEY_EVENT\t\t\t\t0x70000001\n#define WISP_INPUT_MOUSE_POS_CHG\t\t\t0x70000002\n#define WISP_INPUT_MOUSE_MOVE\t\t\t\t0x70000003\n#define WISP_INPUT_MOUSE_WHEEL\t\t\t\t0x70000004\n#define WISP_INPUT_MOUSE_BT_DB_CLICK\t\t0x70000005\n#define WISP_INPUT_TIMER\t\t\t\t\t0x70000006\n\n#define WISP_INPUT_EVENT_END\t\t\t\t0x80000000\n//ⲿӲϢ\n\n#define WISP_WM_SYS_START\t\t\t\t\t0x80000000\n\n#define WISP_APP_INIT\t\t\t\t\t\t0x80000000\n#define WISP_APP_EXIT\t\t\t\t\t\t0x80000001\n\n#define WISP_WM_PRECREATE\t\t\t\t\t0x80000010\n#define WISP_WM_CREATE\t\t\t\t\t\t0x80000011\n#define WISP_WM_FORM_CREATE\t\t\t\t\t0x80000012\n#define WISP_WM_DESTROY\t\t\t\t\t\t0x80000013\n#define WISP_WM_CLOSE\t\t\t\t\t\t0x80000014\n//////////////////////////////////////////////////////\n#define WISP_WM_KEY_EVENT\t\t\t\t\t0x80000020\n#define WISP_WM_NON_CLIENT_MOUSE_KEY_EVENT\t0x80000021\n//////////////////////////////////////////////////////\n#define WISP_WM_MOUSE_ENTER\t\t\t\t\t0x80000030\n#define WISP_WM_MOUSE_MOVE\t\t\t\t\t0x80000031\n#define WISP_WM_MOUSE_LEAVE\t\t\t\t\t0x80000032\n#define WISP_WM_MOUSE_WHEEL\t\t\t\t\t0x80000033\n#define WISP_WM_MOUSE_DBCLICK\t\t\t\t0x80000034\n//////////////////////////////////////////////////////\n#define WISP_WM_COMMAND\t\t\t\t\t\t0x80000040\n#define WISP_WM_EVENT\t\t\t\t\t\t0x80000041\n//////////////////////////////////////////////////////\n#define WISP_WM_UPDATE\t\t\t\t\t\t0x80000100\n#define WISP_WM_UPDATE_BORDER\t\t\t\t0x80000101\n#define WISP_WM_UPDATE_CAPTION\t\t\t\t0x80000102\n#define WISP_WM_UPDATE_CLIENT\t\t\t\t0x80000103\n#define WISP_WM_UPDATE_CARET\t\t\t\t0x80000104\n#define WISP_WM_UPDATE_HORZ_SCROLL\t\t\t0x80000105\n#define WISP_WM_UPDATE_VERT_SCROLL\t\t\t0x80000106\n//////////////////////////////////////////////////////\n#define WISP_WM_BEGIN_MOVE\t\t\t\t\t0x80000120\n#define WISP_WM_END_MOVE\t\t\t\t\t0x80000121\n#define WISP_WM_MOVE\t\t\t\t\t\t0x80000122\n#define WISP_WM_MOVING\t\t\t\t\t\t0x80000123\n#define WISP_WM_SIZE\t\t\t\t\t\t0x80000124\n#define WISP_WM_SIZING\t\t\t\t\t\t0x80000125\n#define WISP_WM_RECALCLAYOUT\t\t\t\t0x80000126\n#define WISP_WM_PARENT_RESIZE\t\t\t\t0x80000127\n//////////////////////////////////////////////////////\n#define WISP_WM_CHAR\t\t\t\t\t\t0x80000140\n//////////////////////////////////////////////////////\n#define WISP_WM_SCROLL_EVENT\t\t\t\t0x80000150\n\n#define WISP_WM_VERT_SCROLL_MOVE\t\t\t0x80000152\n#define WISP_WM_HORZ_SCROLL_MOVE\t\t\t0x80000153\n\n//////////////////////////////////////////////////////\n#define WISP_WM_TIMER\t\t\t\t\t\t0x80000161\n//////////////////////////////////////////////////////\n#define WISP_WM_GET_FOCUS\t\t\t\t\t0x80000170\n#define WISP_WM_LOST_FOCUS\t\t\t\t\t0x80000171\n//////////////////////////////////////////////////////\n#define WISP_WM_HIT_TEST\t\t\t\t\t0x80000180\n//////////////////////////////////////////////////////\n#define WISP_WM_BEGIN_DRAG\t\t\t\t\t0x80000190\n#define WISP_WM_DRAG_MOVE\t\t\t\t\t0x80000191\n#define WISP_WM_END_DRAG\t\t\t\t\t0x80000192\n//////////////////////////////////////////////////////\n//Ϣӳ\n//////////////////////////////////////////////////////\n#define DECLARE_WISP_MSG_MAP\t\t\t\tvirtual bool MsgProc(IN WISP_MSG*pMsg);\n#define DECLARE_WISP_MSG(FuncName)\t\t\tbool FuncName(IN WISP_MSG*pMsg);\n#define WISP_MSG_MAP_BEGIN(ClassName)\t\tbool ClassName::MsgProc(IN WISP_MSG*pMsg)\\\n\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\tswitch(pMsg->Msg)\\\n\t\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase WISP_INVALID_MSG:\t\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\n#define WISP_MSG_MAP_ON_COMMAND\t\t\t\t\t\tcase WISP_WM_COMMAND:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(OnCommand(pMsg)==false)\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n#define WISP_MSG_MAP_ON_EVENT\t\t\t\t\t\tcase WISP_WM_EVENT:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(OnEvent(pMsg)==false)\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n#define WISP_MSG_MAP(Msg,OnMsgProc)\t\t\t\t\tcase Msg:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(OnMsgProc(pMsg)==false)\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n#define WISP_MSG_MAP_END(BaseClassName)\t\t\t\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn BaseClassName::MsgProc(pMsg);\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\n#define WISP_BASE_WND_MSG_MAP_END\t\t\t\t\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn true;\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\n#define WISP_MSG_MAP_DEFAULT_END(OnMsgProc,BaseClassName)\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn OnMsgProc(pMsg);\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn BaseClassName::MsgProc(pMsg);\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n////////////////////////////////////////////////////////////////////////////////////////////\n//Commandӳ\n////////////////////////////////////////////////////////////////////////////////////////////\n#define DECLARE_WISP_MSG_CMD_MAP\t\t\tbool OnCommand(IN WISP_MSG*pMsg);\n#define DECLARE_WISP_MSG_CMD(FuncName)\t\tbool FuncName(IN WISP_MSG*pMsg);\n#define WISP_MSG_CMD_MAP_BEGIN(ClassName)\tbool ClassName::OnCommand(IN WISP_MSG*pMsg)\\\n\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\tswitch(pMsg->Command.CmdID)\\\n\t\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase WISP_ID_NULL:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn true;\n#define WISP_MSG_CMD_MAP(CmdID,OnMsgProc)\t\t\tcase CmdID:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(OnMsgProc(pMsg)==false)\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n#define WISP_MSG_CMD_MAP_END\t\t\t\t\t\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\treturn true;\\\n\t\t\t\t\t\t\t\t\t\t\t}\n#define WISP_MSG_CMD_MAP_DEFAULT_END(OnMsgProc)\t\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn OnMsgProc(pMsg);\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\treturn true;\\\n\t\t\t\t\t\t\t\t\t\t\t}\n\n////////////////////////////////////////////////////////////////////////////////////////////\n//Eventӳ\n////////////////////////////////////////////////////////////////////////////////////////////\n#define DECLARE_WISP_MSG_EVENT_MAP\t\t\tbool OnEvent(IN WISP_MSG*pMsg);\n#define DECLARE_WISP_MSG_EVENT(FuncName)\tbool FuncName(IN WISP_MSG*pMsg);\n#define WISP_MSG_EVENT_MAP_BEGIN(ClassName)\tbool ClassName::OnEvent(IN WISP_MSG*pMsg)\\\n\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\tswitch(pMsg->Command.CmdID)\\\n\t\t\t\t\t\t\t\t\t\t\t\t{\\\n\t\t\t\t\t\t\t\t\t\t\t\t\tcase WISP_ID_NULL:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\n#define WISP_MSG_EVENT_MAP(CmdID,OnMsgProc)\t\t\tcase CmdID:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif(OnMsgProc(pMsg)==false)\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\n#define WISP_MSG_EVENT_MAP_END\t\t\t\t\t\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbreak;\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\treturn true;\\\n\t\t\t\t\t\t\t\t\t\t\t}\n#define WISP_MSG_EVENT_MAP_DEFAULT_END(OnMsgProc)\tdefault:\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn OnMsgProc(pMsg);\\\n\t\t\t\t\t\t\t\t\t\t\t\t}\\\n\t\t\t\t\t\t\t\t\t\t\t\treturn true;\\\n\t\t\t\t\t\t\t\t\t\t\t}\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispMultiTabView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispMultiTabView.h\"\n\nWISP_MSG_MAP_BEGIN(CWispMultiTabView)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispTabWnd)\n\nCWispMultiTabView::CWispMultiTabView()\n{\n\tm_pToolbarRes = NULL;\n}\n\nbool CWispMultiTabView::OnCreate(IN WISP_MSG*pMsg)\n{\n\tif(m_pToolbarRes)\n\t\tm_TabToolbar.CreateEx(this,0,0,WISP_MULTI_TAB_TOOLBAR_CMD_ID,WISP_TBS_WINDOW);\n\treturn true;\n}\n\nbool CWispMultiTabView::OnDestroy(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CWispMultiTabView::OnSize(IN WISP_MSG*pMsg)\n{\n\tint x,y;\n\tif(m_Style & WISP_TWS_TOP)\n\t\ty = CENTER_ALGN(m_TabToolbar.m_WindowRect.cy,m_TabSpaceHeight);\n\telse\n\t\ty = m_ClientRect.cy - m_TabSpaceHeight + CENTER_ALGN(m_TabToolbar.m_WindowRect.cy,m_TabSpaceHeight);\n\tx = m_ClientRect.cx - m_TabToolbar.m_WindowRect.cx-2;\n\tif(m_TabToolbar.IsWindow())\n\t\tm_TabToolbar.MoveToClient(x,y);\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispMultiTabView.h",
    "content": "#ifndef _WISP_MULTI_TAB_VIEW_H_\n#define _WISP_MULTI_TAB_VIEW_H_\n\n#include \"WispButton.h\"\n#include \"WispTabWnd.h\"\n#include \"WispToolbar.h\"\n\nenum\n{\n\tWISP_MULTI_TAB_CMD_EXPAND_VIEW = WISP_ID_DEVELOP_START,\n\tWISP_MULTI_TAB_CMD_NEW_VIEW,\n\tWISP_MULTI_TAB_CMD_REMOVE_VIEW,\n\tWISP_MULTI_TAB_TOOLBAR_CMD_ID\n};\n\nclass CWispMultiTabView : public CWispTabWnd\n{\npublic:\n\tCWispMultiTabView();\n\tWISP_TOOLBAR_RES_ITEM*\tm_pToolbarRes;\n\tCWispToolbar\t\t\tm_TabToolbar;\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnDestroy)\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispOptionForm.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispOptionForm.h\"\n\n//////////////////////////////////////////////////////////////////////////////\n//Form Resource\nWISP_FORM_RES_ITEM CWispOptionForm::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,540,330},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{430,300,100,20},\n\t\tCMD_ID_OPTION_APPLY,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Apply\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{10,300,100,20},\n\t\tCMD_ID_OPTION_RESTORE,\n\t\tWISP_BS_NORMAL|WISP_WS_DISABLED,\n\t\tWSTR(\"Restore\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{120,300,100,20},\n\t\tCMD_ID_OPTION_DEFAULT,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Default\"),\n\t\tNULL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n//Form Resource\n//////////////////////////////////////////////////////////////////////////////\n\n//////////////////////////////////////////////////////////////////////////////\n//Option List\nWISP_PCSTR CWispOptionForm::m_NoYesList[]=\n{\n\tWISP_STR(\"No\"),\n\tWISP_STR(\"Yes\"),\n\tNULL\n};\n\nvoid CWispOptionList::DrawCellText(int Col,CWispListItemCell*pCell,WISP_RECT*pRect)\n{\n\tCOLORREF Color;\n\tWISP_OPTION_ITEM*pItem;\n\tif(Col!=1)\n\t\tgoto DrawListCellText;\n\tpItem = (WISP_OPTION_ITEM*)NUM_TO_PTR(pCell->Data);\n\tif(pItem->Type == OPTION_RGB_COLORREF)\n\t{\n\t\tColor = *(COLORREF*)pItem->pNewValue;\n\t\tm_ClientDC.DrawFullRect(pRect->x, pRect->y + 2,20,pRect->cy - 4,Color);\n\t\tm_ClientDC.DrawRect(pRect->x, pRect->y + 2,20,pRect->cy - 4,SYS_COLOR[SC_BLACK]);\n\t}\nDrawListCellText:\n\tCWispList::DrawCellText(Col,pCell,pRect);\n}\n\nWISP_MSG_MAP_BEGIN(CWispOptionForm)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnResize)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispOptionForm)\n\tWISP_MSG_CMD_MAP(CMD_ID_OPTION_LIST,OnListCommand)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispOptionForm)\n\tWISP_MSG_EVENT_MAP(CMD_ID_OPTION_APPLY,OnEventApply)\n\tWISP_MSG_EVENT_MAP(CMD_ID_OPTION_RESTORE,OnEventRestore)\n\tWISP_MSG_EVENT_MAP(CMD_ID_OPTION_DEFAULT,OnEventDefault)\nWISP_MSG_EVENT_MAP_END\n\nCWispOptionForm::CWispOptionForm()\n{\n\tm_pFormRes = m_FormRes;\n}\n\nCWispOptionForm::~CWispOptionForm()\n{\n\n}\n\nbool CWispOptionForm::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tRemoveOptionTree(NULL);\n\treturn true;\n}\n\nbool CWispOptionForm::OnResize(IN WISP_MSG*pMsg)\n{\n\tm_OptionList.Resize(m_ClientRect.cx-20,m_ClientRect.cy-50);\n\tm_pRestoreBT->MoveToWindow(m_OptionList.m_ScrWindowRect.x-m_ScrWindowRect.x,m_OptionList.m_ScrWindowRect.y-m_ScrWindowRect.y+m_OptionList.m_WindowRect.cy+10);\n\tif(m_pDefaultBT->IsVisible())\n\t\tm_pDefaultBT->MoveToWindow(m_pRestoreBT->m_ScrWindowRect.x + m_pRestoreBT->m_WindowRect.cx + 10 -m_ScrWindowRect.x,m_pRestoreBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\tm_pApplyBT->MoveToWindow(m_OptionList.m_ScrWindowRect.x + m_OptionList.m_ScrWindowRect.cx - m_pApplyBT->m_WindowRect.cx - m_ScrWindowRect.x,\n\t\t\t\t\t\t\tm_pRestoreBT->m_ScrWindowRect.y-m_ScrWindowRect.y);\n\treturn true;\n}\n\nbool CWispOptionForm::OnListCommand(IN WISP_MSG*pMsg)\n{\n\tHANDLE hItem;\n\tWISP_RECT rc;\n\tWISP_OPTION_ITEM*pItem;\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_ITEM_BEGIN_EDIT:\n\t\thItem = pMsg->Command.Param2;\n\t\tpItem = (WISP_OPTION_ITEM*)m_OptionList.GetItemData(hItem);\n\t\tif(pItem==NULL)\n\t\t\treturn false;\n\t\tif(m_OptionList.GetItemCellRect(hItem,pMsg->Command.Param1,&rc)==false)\n\t\t\treturn false;\n\t\treturn ProcessOptionBeginModify(rc.x+m_OptionList.m_ScrClientRect.x,rc.y+rc.cy+m_OptionList.m_ScrClientRect.y,hItem,pItem);\n\tcase WISP_CMD_ITEM_END_EDIT:\n\t\thItem = pMsg->Command.Param2;\n\t\tpItem = (WISP_OPTION_ITEM*)m_OptionList.GetItemData(hItem);\n\t\tif(pItem==NULL)\n\t\t\treturn false;\n\t\treturn ProcessOptionEndModify(hItem,pItem);\n\tcase WISP_CMD_ITEM_KEY_DOWN:\n\t\tif(pMsg->Command.Param1 == WISP_VK_F2)\n\t\t{\n\t\t\thItem = m_OptionList.GetNextListItem(NULL,WISP_WLIS_SELECTED);\n\t\t\tif(hItem)\n\t\t\t{\n\t\t\t\tpItem = (WISP_OPTION_ITEM*)m_OptionList.GetItemData(hItem);\n\t\t\t\tif(pItem)\n\t\t\t\t\tm_OptionList.BeginEditItem(hItem,1);\n\t\t\t}\n\t\t}\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CWispOptionForm::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CWispOptionForm::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_OptionList.Create(NULL,10,10,520,280,this,CMD_ID_OPTION_LIST,WISP_WS_THIN_BORDER|WISP_WLS_OPTION_TREE|WISP_WLS_COLUMN_TITLE|WISP_WLS_SELECTED_ALWAYS|WISP_WLS_VERT_LINE|WISP_WLS_HORZ_LINE);\n\tm_pApplyBT = (CWispButton*) GetFormItem(CMD_ID_OPTION_APPLY);\n\tm_pRestoreBT = (CWispButton*) GetFormItem(CMD_ID_OPTION_RESTORE);\n\tm_pDefaultBT = (CWispButton*) GetFormItem(CMD_ID_OPTION_DEFAULT);\n\tm_OptionList.InsertColumn(WSTR(\"Option Item\"),m_OptionList.m_ClientRect.cx/2,WISP_WLCS_NORMAL,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,15));\n\tm_OptionList.InsertColumn(WSTR(\"Value\"),m_OptionList.m_ClientRect.cx/2,WISP_WLCS_EDITABLE,WispTKDIBListDIB(\"\\\\Toolbar.bmp\",16,16,26));\n\tInsertOptionTree(m_pOptionItem,NULL);\n\tm_nModifyItem = 0;\n\tif(m_Style & WISP_OFS_HIDE_DEFAULT_BT)\n\t\tm_pDefaultBT->Show(WISP_SH_HIDDEN);\n\treturn true;\n}\n\nbool CWispOptionForm::OnEventApply(IN WISP_MSG*pMsg)\n{\n\tif(OptionBeforeApplyNotify()==false)\n\t\treturn true;\n\tApplyOptionTree(NULL);\n\tm_pApplyBT->EnableWindow(false);\n\tm_pRestoreBT->EnableWindow(false);\n\tm_nModifyItem = 0;\n\tSendCmdMsg(WISP_CMD_OPTION_APPLY);\n\tOptionApplyNotify();\n\tUpdateClient();\n\treturn true;\n}\n\nbool CWispOptionForm::OnEventRestore(IN WISP_MSG*pMsg)\n{\n\tif(OptionBeforeRestoreNotify()==false)\n\t\treturn true;\n\tRestoreOptionTree(NULL);\n\tm_pApplyBT->EnableWindow(false);\n\tm_pRestoreBT->EnableWindow(false);\n\tm_nModifyItem = 0;\n\tOptionRestoreNotify();\n\tUpdateClient();\n\treturn true;\n}\n\nbool CWispOptionForm::OnEventDefault(IN WISP_MSG*pMsg)\n{\n\tif(OptionBeforeDefaultNotify()==false)\n\t\treturn true;\n\tReloadOptionTree(NULL);\n\tm_pApplyBT->EnableWindow(false);\n\tm_pRestoreBT->EnableWindow(false);\n\tm_pDefaultBT->EnableWindow(false);\n\tm_nModifyItem = 0;\n\tOptionDefaultNotify();\n\tUpdateClient();\n\treturn true;\n}\n\nvoid CWispOptionForm::InsertOptionTree(WISP_OPTION_ITEM*pItem,HANDLE hParent)\n{\n\tHANDLE hItem;\n\tif(pItem==NULL)\n\t\treturn;\n\twhile(pItem->szText)\n\t{\n\t\thItem = m_OptionList.InsertItem(pItem->szText,hParent);\n\t\tm_OptionList.SetItemData(hItem,0,(NUM_PTR)pItem);\n\t\tm_OptionList.SetItemData(hItem,1,(NUM_PTR)pItem);\n\t\tif(pItem->Type==OPTION_TITLE)\n\t\t{\n\t\t\tInsertOptionTree((WISP_OPTION_ITEM*)pItem->pValue,hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpItem->pNewValue = (void*)new BYTE[pItem->Length];\n\t\t\tmemcpy(pItem->pNewValue,pItem->pValue,pItem->Length);\n\t\t}\n\t\tpItem++;\n\t}\n}\n\nvoid CWispOptionForm::RemoveOptionTree(HANDLE hParent)\n{\n\tWISP_OPTION_ITEM*pItem;\n\tHANDLE hItem = m_OptionList.GetItem(0,hParent);\n\twhile(hItem)\n\t{\n\t\tpItem = (WISP_OPTION_ITEM*) m_OptionList.GetItemData(hItem);\n\t\tif(pItem->Type == OPTION_TITLE)\n\t\t\tRemoveOptionTree(hItem);\n\t\telse\n\t\t\tdelete pItem->pNewValue;\n\t\thItem = m_OptionList.GetNextItem(hItem);\n\t}\n}\n\nvoid CWispOptionForm::RestoreOptionTree(HANDLE hParent)\n{\n\tWISP_OPTION_ITEM*pItem;\n\tHANDLE hItem = m_OptionList.GetItem(0,hParent);\n\twhile(hItem)\n\t{\n\t\tpItem = (WISP_OPTION_ITEM*) m_OptionList.GetItemData(hItem);\n\t\tif(pItem->Type == OPTION_TITLE)\n\t\t\tRestoreOptionTree(hItem);\n\t\telse\n\t\t{\n\t\t\tif(memcmp(pItem->pValue,pItem->pNewValue,pItem->Length))\n\t\t\t{\n\t\t\t\tmemcpy(pItem->pNewValue,pItem->pValue,pItem->Length);\n\t\t\t\tFillOptionValue(pItem,hItem);\n\t\t\t\tm_OptionList.SetItemTextColor(hItem,-1,m_OptionList.m_FontColor);\n\t\t\t}\n\t\t}\n\t\thItem = m_OptionList.GetNextItem(hItem);\n\t}\n}\n\nvoid CWispOptionForm::ReloadOptionTree(HANDLE hParent)\n{\n\tWISP_OPTION_ITEM*pItem;\n\tHANDLE hItem = m_OptionList.GetItem(0,hParent);\n\twhile(hItem)\n\t{\n\t\tpItem = (WISP_OPTION_ITEM*) m_OptionList.GetItemData(hItem);\n\t\tif(pItem->Type == OPTION_TITLE)\n\t\t\tReloadOptionTree(hItem);\n\t\telse\n\t\t{\n\t\t\tmemcpy(pItem->pNewValue,pItem->pValue,pItem->Length);\n\t\t\tFillOptionValue(pItem,hItem);\n\t\t\tm_OptionList.SetItemTextColor(hItem,-1,m_OptionList.m_FontColor);\n\t\t}\n\t\thItem = m_OptionList.GetNextItem(hItem);\n\t}\n}\n\nvoid CWispOptionForm::ApplyOptionTree(HANDLE hParent)\n{\n\tWISP_OPTION_ITEM*pItem;\n\tHANDLE hItem = m_OptionList.GetItem(0,hParent);\n\twhile(hItem)\n\t{\n\t\tpItem = (WISP_OPTION_ITEM*) m_OptionList.GetItemData(hItem);\n\t\tif(pItem->Type == OPTION_TITLE)\n\t\t\tApplyOptionTree(hItem);\n\t\telse\n\t\t{\n\t\t\tif(memcmp(pItem->pValue,pItem->pNewValue,pItem->Length))\n\t\t\t{\n\t\t\t\tmemcpy(pItem->pValue,pItem->pNewValue,pItem->Length);\n\t\t\t\tif(pItem->pRef)\n\t\t\t\t\t(*pItem->pRef)++;\n\t\t\t\tFillOptionValue(pItem,hItem);\n\t\t\t\tm_OptionList.SetItemTextColor(hItem,-1,m_OptionList.m_FontColor);\n\t\t\t}\n\t\t}\n\t\thItem = m_OptionList.GetNextItem(hItem);\n\t}\n}\n\nvoid CWispOptionForm::OnModify(HANDLE hItem)\n{\n\tm_OptionList.SetItemTextColor(hItem,-1,SYS_COLOR[SC_RED]);\n\tm_nModifyItem++;\n\tif(m_pApplyBT->IsDisabled())\n\t\tm_pApplyBT->EnableWindow(true);\n\tif(m_pRestoreBT->IsDisabled())\n\t\tm_pRestoreBT->EnableWindow(true);\n\tif(m_pDefaultBT->IsDisabled())\n\t\tm_pDefaultBT->EnableWindow(true);\n}\n\nvoid CWispOptionForm::OnModifyRestore(HANDLE hItem)\n{\n\tm_OptionList.SetItemTextColor(hItem,-1,m_OptionList.m_FontColor);\n\tm_nModifyItem--;\n\tCODE_ASSERT(m_nModifyItem>=0)\n\tif(m_nModifyItem==0)\n\t{\n\t\tif(m_pApplyBT->IsDisabled()==false)\n\t\t\tm_pApplyBT->EnableWindow(false);\n\t\tif(m_pRestoreBT->IsDisabled()==false)\n\t\t\tm_pRestoreBT->EnableWindow(false);\t\n\t}\n}\n\nbool CWispOptionForm::ProcessOptionBeginModify(int x,int y,HANDLE hItem,WISP_OPTION_ITEM*pItem)\n{\n\tWCHAR szBuffer[MAX_FN_LEN];\n\tint Result;\n\tswitch(pItem->Type)\n\t{\n\tcase OPTION_TITLE:\n\t\treturn false;\n\tcase OPTION_RGB_COLORREF:\n\t\tif(GetRGBColor((COLORREF*)pItem->pNewValue,(COLORREF*)pItem->pValue)==false)\n\t\t\treturn false;\n\t\tif(*(COLORREF*)pItem->pNewValue!=*(COLORREF*)pItem->pValue)\n\t\t{\n\t\t\tOnModify(hItem);\n\t\t}\n\t\treturn false;\n\tcase OPTION_SELECT_INT:\n\t\tif(GetResultFromList(x,y,pItem->SelectData,&Result,*(int*)pItem->pValue)==false)\n\t\t\treturn false;\n\t\tif(*(int*)pItem->pValue!=Result)\n\t\t{\n\t\t\tif(pItem->pfnValueTest==NULL || pItem->pfnValueTest(&Result))\n\t\t\t{\n\t\t\t\t*(int*)pItem->pNewValue = Result;\n\t\t\t\tm_OptionList.SetItemText(hItem,1,pItem->SelectData[Result]);\n\t\t\t\tOnModify(hItem);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(*(int*)pItem->pNewValue!=Result)\n\t\t\t{\n\t\t\t\t*(int*)pItem->pNewValue = Result;\n\t\t\t\tm_OptionList.SetItemText(hItem,1,pItem->SelectData[Result]);\n\t\t\t\tOnModifyRestore(hItem);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\tcase OPTION_DIR_NAME:\n\t\tif(GetResultFromList(x,y,pItem->SelectData,&Result)==false)\n\t\t\treturn false;\n\t\tswitch(Result)\n\t\t{\n\t\tcase 0://Browse\n\t\t\tif(m_pWispBase->SelectDirForm(szBuffer,m_OptionList.GetItemText(hItem))==false)\n\t\t\t\treturn false;\n\t\t\tif(TStrCmp(szBuffer,(WCHAR*)pItem->pValue))\n\t\t\t{\n\t\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\t\tTStrCpyLimit((WCHAR*)pItem->pNewValue,szBuffer,pItem->Length);\n\t\t\t\tm_OptionList.SetItemText(hItem,1,szBuffer);\n\t\t\t\tOnModify(hItem);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif(TStrCmp(szBuffer,(WCHAR*)pItem->pNewValue))\n\t\t\t\t{\n\t\t\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\t\t\tTStrCpyLimit((WCHAR*)pItem->pNewValue,szBuffer,pItem->Length);\n\t\t\t\t\tm_OptionList.SetItemText(hItem,1,szBuffer);\n\t\t\t\t\tOnModifyRestore(hItem);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\tcase 2://Current Path & Edit\n\t\t\t{\n\t\t\t\tchar szDir[MAX_FN_LEN];\n\t\t\t\tGetModulePath(szDir,false);\n\t\t\t\tAnsiToUnicode(szDir,szBuffer,MAX_FN_LEN);\n\t\t\t\tm_OptionList.GetItemEditString()=szBuffer;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CWispOptionForm::ProcessOptionEndModify(HANDLE hItem,WISP_OPTION_ITEM*pItem)\n{\n\tint Value;\n\tPCWSTR pStr;\n\tswitch(pItem->Type)\n\t{\n\tcase OPTION_INT:\n\t\tif(SDecStrToNum((PCWSTR)m_OptionList.GetItemEditString(),&Value)==false)\n\t\t\treturn false;\n\t\tif(pItem->pfnValueTest && pItem->pfnValueTest(&Value)==false)\n\t\t\treturn false;\n\t\tif(Value!=*(int*)pItem->pValue)\n\t\t{\n\t\t\t*(int*)pItem->pNewValue = Value;\n\t\t\tOnModify(hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(*(int*)pItem->pNewValue != Value)\n\t\t\t{\n\t\t\t\t*(int*)pItem->pNewValue = Value;\n\t\t\t\tOnModifyRestore(hItem);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\tcase OPTION_STRING:\n\t\tpStr = (PCWSTR)m_OptionList.GetItemEditString();\n\t\tif(TStrCmp(pStr,(PCWSTR)pItem->pValue))\n\t\t{\n\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\tTStrCpyLimit((PWSTR)pItem->pNewValue,pStr,pItem->Length);\n\t\t\tOnModify(hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrCmp(pStr,(PCWSTR)pItem->pNewValue))\n\t\t\t{\n\t\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\t\tTStrCpyLimit((PWSTR)pItem->pNewValue,pStr,pItem->Length);\n\t\t\t\tOnModifyRestore(hItem);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\tcase OPTION_DIR_NAME:\n\t\tpStr = (PCWSTR)m_OptionList.GetItemEditString();\n\t\tif(TStrCmp(pStr,(PCWSTR)pItem->pValue))\n\t\t{\n\t\t\tchar szDir[MAX_FN_LEN];\n\t\t\tUnicodeToAnsi(pStr,szDir,MAX_FN_LEN);\n\t\t\tif(gpFileIO->IsDir(szDir)==false)\n\t\t\t\treturn false;\n\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\tTStrCpyLimit((PWSTR)pItem->pNewValue,pStr,pItem->Length);\n\t\t\tOnModify(hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(TStrCmp(pStr,(PCWSTR)pItem->pNewValue))\n\t\t\t{\n\t\t\t\tZeroMemory(pItem->pNewValue,pItem->Length);\n\t\t\t\tTStrCpyLimit((PWSTR)pItem->pNewValue,pStr,pItem->Length);\n\t\t\t\tOnModifyRestore(hItem);\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\treturn true;\n}\n\nvoid CWispOptionForm::FillOptionValue(WISP_OPTION_ITEM*pItem,HANDLE hItem)\n{\n\tswitch(pItem->Type)\n\t{\n\tcase OPTION_INT:\n\t\tm_OptionList.SetItemNum(hItem,1,*(int*)pItem->pValue,WSTR(\"%d\"));\n\t\tbreak;\n\tcase OPTION_SELECT_INT:\n\t\t{\n\t\t\tint Start = 0;\n\t\t\tWISP_PCSTR szText = pItem->SelectData[*(int*)pItem->pValue];\n\t\t\tif(szText[0]=='%')\n\t\t\t{\n\t\t\t\tif(szText[1]=='d')\n\t\t\t\t\tStart = 2;\n\t\t\t}\n\t\t\tm_OptionList.SetItemText(hItem,1,&szText[Start]);\n\t\t}\n\t\tbreak;\n\tcase OPTION_STRING:\n\tcase OPTION_DIR_NAME:\n\t\tm_OptionList.SetItemText(hItem,1, (WCHAR*)pItem->pValue);\n\t\tbreak;\n\t}\n}\n\nvoid CWispOptionForm::FillOptionTreeValue(HANDLE hParent)\n{\n\tWISP_OPTION_ITEM*pItem;\n\tHANDLE hItem = m_OptionList.GetItem(0,hParent);\n\twhile(hItem)\n\t{\n\t\tpItem = (WISP_OPTION_ITEM*) m_OptionList.GetItemData(hItem);\n\t\tif(pItem->Type == OPTION_TITLE)\n\t\t{\n\t\t\tFillOptionTreeValue(hItem);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tFillOptionValue(pItem,hItem);\n\t\t\tmemcpy(pItem->pNewValue,pItem->pValue,pItem->Length);\n\t\t}\n\t\thItem = m_OptionList.GetNextItem(hItem);\n\t}\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispOptionForm.h",
    "content": "#ifndef _WISP_OPTION_FORM_H_\n#define _WISP_OPTION_FORM_H_\n\n#include \"WispForm.h\"\n#include \"WispList.h\"\n#include \"WispButton.h\"\n#include \"WispEdit.h\"\n#include \"WispMisc.h\"\n\ntypedef bool (*FN_ValueTest)(void*pValue);\n\nenum\n{\n\tCMD_ID_OPTION_LIST = WISP_ID_DEVELOP_START,\n\tCMD_ID_OPTION_APPLY,\n\tCMD_ID_OPTION_RESTORE,\n\tCMD_ID_OPTION_DEFAULT,\n};\n\nenum WISP_OPTION_TYPE\n{\n\tOPTION_TITLE,\n\tOPTION_INT,\n\tOPTION_SELECT_INT,\n\tOPTION_STRING,\n\tOPTION_DIR_NAME,\n\tOPTION_RGB_COLORREF,\n};\n\n\n#define WISP_OFS_HIDE_DEFAULT_BT\t0x00010000\n\n#define WISP_CMD_OPTION_APPLY\t\tWISP_CMD_DEVELOP_START\n\nstruct WISP_OPTION_ITEM\n{\n\tWISP_PCSTR\tszText;\t\t\t\t//\n\tWISP_OPTION_TYPE Type;\t\t\t//\n\tvoid*\t\tpValue;\t\t\t\t//ַ\n\tint\t\t\tLength;\t\t\t\t//\n\tWISP_PCSTR*\tSelectData;\t\t\t//ѡбַ飬 \"Yes\",\"NO\",NULL\n\tFN_ValueTest pfnValueTest;\t\t//Ϸ麯ΪգҲģTValueTest<int,0,10>\n\tint\t\t\t*pRef;\t\t\t\t//ı֪ͨ޸ľͻѴֵ+1\n\tvoid*\t\tpNewValue;\t\t\t//űֵڲʹ\n};\n\ntemplate<class TYPE,TYPE Min,TYPE Max>\nbool TValueTest(void*pValue)\n{\n\treturn *(TYPE*)pValue>=Min && *(TYPE*)pValue<=Max;\n}\n\nclass CWispOptionList : public CWispList\n{\npublic:\n\tvoid\tDrawCellText(int Col,CWispListItemCell*pCell,WISP_RECT*pRect);\n};\n\n\nclass CWispOptionForm : public CWispForm\n{\npublic:\n\tCWispOptionForm();\n\t~CWispOptionForm();\npublic:\n\tstatic  WISP_PCSTR m_NoYesList[];\n\tstatic\tWISP_FORM_RES_ITEM\tm_FormRes[];\n\tWISP_OPTION_ITEM*m_pOptionItem;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate)\n\tDECLARE_WISP_MSG(OnResize)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG_CMD_MAP\n\tDECLARE_WISP_MSG(OnListCommand)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG(OnEventApply)\n\tDECLARE_WISP_MSG(OnEventRestore)\n\tDECLARE_WISP_MSG(OnEventDefault)\n\tvirtual\tbool OptionBeforeApplyNotify(){return true;}\n\tvirtual\tvoid OptionApplyNotify(){}\n\tvirtual\tbool OptionBeforeRestoreNotify(){return true;}\n\tvirtual\tvoid OptionRestoreNotify(){}\n\tvirtual\tbool OptionBeforeDefaultNotify(){return true;}\n\tvirtual\tvoid OptionDefaultNotify(){}\n\tvirtual\tvoid\tOnModify(HANDLE hItem);\n\tvirtual\tvoid\tOnModifyRestore(HANDLE hItem);\n\tvoid\tInsertOptionTree(WISP_OPTION_ITEM*pItem,HANDLE hParent);\n\tvoid\tRemoveOptionTree(HANDLE hParent);\n\tvoid\tRestoreOptionTree(HANDLE hParent);\n\tvoid\tReloadOptionTree(HANDLE hParent);\n\tvoid\tApplyOptionTree(HANDLE hParent);\n\tbool\tProcessOptionBeginModify(int x,int y,HANDLE hItem,WISP_OPTION_ITEM*pItem);\n\tbool\tProcessOptionEndModify(HANDLE hItem,WISP_OPTION_ITEM*pItem);\n\tvoid\tFillOptionValue(WISP_OPTION_ITEM*pItem,HANDLE hItem);\n\tvoid\tFillOptionTreeValue(HANDLE hParent = NULL);\n\tint\t\tm_nModifyItem;\n\tCWispOptionList\tm_OptionList;\n\tCWispButton*m_pApplyBT;\n\tCWispButton*m_pRestoreBT;\n\tCWispButton*m_pDefaultBT;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispProgress.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispProgress.h\"\n\nWISP_MSG_MAP_BEGIN(CWispProgress)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispProgress::CWispProgress(void)\n{\n\tm_nStep\t= 1;\n\tm_nPos\t= 0;\n\tm_nLower= 0;\n\tm_nUpper= 9;\n\tm_CtrlType = WISP_CTRL_PROGRESS;\n}\n\nCWispProgress::~CWispProgress(void)\n{\n}\n\nbool CWispProgress::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT Rect;\n\tRect.x = Rect.y = 0;\n\tRect.cx = m_WindowRect.cx;\n\tRect.cy = m_WindowRect.cy;\n\n\tif( !(m_Style&WISP_WS_BACK_TRANS) )\n\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlClient(&m_WindowDC, &Rect);\n\n\tint nPrecent = m_nPos*1000/(m_nUpper-m_nLower);\n\tm_pWispBase->m_pCurDrawObj->DrawProgress(&m_WindowDC, &Rect, m_Style, nPrecent);\n\treturn true;\n}\n\n\nvoid CWispProgress::SetRange(int nLower, int nUpper)\n{\n\tCODE_ASSERT(nUpper>nLower);\n\tm_nLower = nLower;\n\tm_nUpper = nUpper;\n\tUpdate();\n}\n\nvoid CWispProgress::StepIt()\n{\n\tm_nPos += m_nStep;\n\tif(m_nPos>m_nUpper)\n\t\tm_nPos = m_nLower;\n\telse if(m_nPos<m_nLower)\n\t\tm_nPos = m_nUpper;\n\tUpdate();\n}\n\nvoid CWispProgress::OffsetPos(int nOffset)\n{\n\tm_nPos+=nOffset;\n\tif(m_nPos>m_nUpper)\n\t\tm_nPos = m_nLower;\n\telse if(m_nPos<m_nLower)\n\t\tm_nPos = m_nUpper;\n\tUpdate();\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispProgress.h",
    "content": "#ifndef _WISP_PROGRESS_H_\n#define _WISP_PROGRESS_H_\n\n#include \"WispBaseWnd.h\"\n\n#define PROGRESS_MARGIN\t\t1\n\nclass CWispProgress : public CWispBaseWnd\n{\nprotected:\n\tint m_nStep, m_nPos;\n\tint m_nLower, m_nUpper;\npublic:\n\tCWispProgress(void);\n\t~CWispProgress(void);\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate)\npublic:\n\tvoid\tGetRange(int& nLower, int& nUpper) { nLower=m_nLower; nUpper=m_nUpper; }\n\tint\t\tGetPos() { return m_nPos; }\n\tvoid\tSetPos(int nPos) { m_nPos = nPos; }\n\tvoid\tSetRange(int nLower, int nUpper);\n\tvoid\tSetStep(int nStep) { m_nStep = nStep; }\n\tvoid\tStepIt();\n\tvoid\tOffsetPos(int nOffset);\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispRGBSelect.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispRGBSelect.h\"\n\n\nenum CWispRGBSelect::WISP_FORM_ID\n{\n\tCMD_ID_VERSION_EDIT = WISP_ID_USER_START,\n\tCMD_ID_RGB_SELECT_GROUP,\n\tCMD_ID_RGB_R,\n\tCMD_ID_RGB_G,\n\tCMD_ID_RGB_B,\n};\n\nWISP_FORM_RES_ITEM CWispRGBSelect::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,350,210},\n\t\tWISP_ID_NULL,\n\t\tWISP_WFS_DIALOG,\n\t\tWSTR(\"RGB\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{5,5,250,170},\n\t\tCMD_ID_RGB_SELECT_GROUP,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"RGB\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{270,130,60,18},\n\t\tWISP_ID_CANCEL,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"Cancel\"),\n\t},\n\t{\n\t\tWISP_CTRL_BUTTON,\n\t\t{270,155,60,18},\n\t\tWISP_ID_OK,\n\t\tWISP_BS_NORMAL,\n\t\tWSTR(\"OK\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{270,56,30,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Red\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{305,55,25,16},\n\t\tCMD_ID_RGB_R,\n\t\tWISP_ES_EDIT_NORMAL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{270,76,30,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Green\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{305,75,25,16},\n\t\tCMD_ID_RGB_G,\n\t\tWISP_ES_EDIT_NORMAL,\n\t\tNULL\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{270,96,30,16},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Blue\")\n\t},\n\t{\n\t\tWISP_CTRL_EDIT,\n\t\t{305,95,25,16},\n\t\tCMD_ID_RGB_B,\n\t\tWISP_ES_EDIT_NORMAL,\n\t\tNULL\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CWispRGBSelect)\n\tWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP_ON_COMMAND\nWISP_MSG_MAP_END(CWispForm)\n\n\nWISP_MSG_CMD_MAP_BEGIN(CWispRGBSelect)\nWISP_MSG_CMD_MAP_DEFAULT_END(OnCmdGetCmd)\n\nbool CWispRGBSelect::OnCmdGetCmd(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_EN_INPUT_KEY_UP)\n\t{\n\t\tUpdateColorValue();\n\t}\n\treturn true;\n}\n\n\nCWispRGBSelect::CWispRGBSelect()\n{\n\tm_pFormRes = m_FormRes;\n\tm_RGBClr = 0;\n}\n\nbool CWispRGBSelect::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tm_pRGBGroupCtrl = GetFormItem(CMD_ID_RGB_SELECT_GROUP);\n\tm_pRedEdit = (CWispEdit*)GetFormItem(CMD_ID_RGB_R);\n\tm_pGreenEdit = (CWispEdit*)GetFormItem(CMD_ID_RGB_G);\n\tm_pBlueEdit = (CWispEdit*)GetFormItem(CMD_ID_RGB_B);\n\n\tm_RGBDIB.Create(m_pRGBGroupCtrl->m_WindowRect.cx - 55,m_pRGBGroupCtrl->m_WindowRect.cy - 25,WISP_DIB_BITMAP);\n\tm_LumDIB.Create(20,m_RGBDIB.m_Rect.cy,WISP_DIB_BITMAP);\n\tFillRGBRect(&m_RGBDIB);\n\n\tm_RGBRect.x = m_pRGBGroupCtrl->m_WindowRect.x + 15;\n\tm_RGBRect.y = m_pRGBGroupCtrl->m_WindowRect.y + 20;\n\tm_RGBRect.cx = m_RGBDIB.m_Rect.cx;\n\tm_RGBRect.cy = m_RGBDIB.m_Rect.cy;\n\n\tm_RGBFrameRect.x = m_RGBRect.x - 1;\n\tm_RGBFrameRect.y = m_RGBRect.y - 1;\n\tm_RGBFrameRect.cx = m_RGBRect.cx + 2;\n\tm_RGBFrameRect.cy = m_RGBRect.cy + 2;\n\n\tm_LumRect.x = m_RGBRect.x + m_RGBRect.cx + 10;\n\tm_LumRect.y = m_RGBRect.y;\n\tm_LumRect.cx = m_LumDIB.m_Rect.cx;\n\tm_LumRect.cy = m_LumDIB.m_Rect.cy;\n\n\tm_LumDragRect = m_LumRect;\n\tm_LumDragRect.cx += 5;\n\tm_LumDragRect.cy += 10;\n\tm_LumDragRect.y -= 5;\n\n\tm_LumFrameRect.x = m_LumRect.x - 1;\n\tm_LumFrameRect.y = m_LumRect.y - 1;\n\tm_LumFrameRect.cx = m_LumRect.cx + 2;\n\tm_LumFrameRect.cy = m_LumRect.cy + 2;\n\n\tm_CurRGBRect.x = 270;\n\tm_CurRGBRect.y = 10;\n\tm_CurRGBRect.cx = 60;\n\tm_CurRGBRect.cy = 40;\n\n\tm_PTSelected.x = m_RGBRect.x + m_RGBRect.cx/2;\n\tm_PTSelected.y = m_RGBRect.y + m_RGBRect.cy/2;\n\n\tm_LumYPos = m_LumRect.y + m_LumRect.cy/2;\n\tUpdateLumColor(false);\n\tShowColorValue();\n\treturn true;\n}\n\nbool CWispRGBSelect::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_RGBDIB.Destroy();\n\tm_LumDIB.Destroy();\n\treturn true;\n}\n\nbool CWispRGBSelect::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tif(CWispForm::OnUpdateClient(pMsg)==false)\n\t\treturn false;\n\tm_ClientDC.DrawDIB(&m_RGBRect,&m_RGBDIB);\n\tm_ClientDC.DrawFrameRect(&m_RGBFrameRect,false);\n\tm_ClientDC.DrawDIB(&m_LumRect,&m_LumDIB);\n\tm_ClientDC.DrawFrameRect(&m_LumFrameRect,false);\n\n\tm_ClientDC.DrawHLine(m_PTSelected.x-5,m_PTSelected.x-2,m_PTSelected.y,0);\n\tm_ClientDC.DrawHLine(m_PTSelected.x+2,m_PTSelected.x+5,m_PTSelected.y,0);\n\tm_ClientDC.DrawVLine(m_PTSelected.x,m_PTSelected.y-5,m_PTSelected.y-2,0);\n\tm_ClientDC.DrawVLine(m_PTSelected.x,m_PTSelected.y+2,m_PTSelected.y+5,0);\n\n\tm_ClientDC.DrawHLine(m_LumRect.x+m_LumRect.cx,m_LumRect.x+m_LumRect.cx+5,m_LumYPos,0);\n\tm_ClientDC.DrawLine(m_LumRect.x+m_LumRect.cx,m_LumYPos,m_LumRect.x+m_LumRect.cx+3,m_LumYPos-3,0);\n\tm_ClientDC.DrawLine(m_LumRect.x+m_LumRect.cx,m_LumYPos,m_LumRect.x+m_LumRect.cx+3,m_LumYPos+3,0);\n\n\tm_ClientDC.DrawFullRect(&m_CurRGBRect,m_RGBClr);\n\tm_ClientDC.DrawFrameRect(&m_CurRGBRect);\n\treturn false;\n}\n\nbool CWispRGBSelect::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->bMsgLBTDown)\n\t{\n\t\tif(PtInRect(&m_RGBRect,pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tm_PTSelected = pMsg->MsgMouseCltPT;\n\t\t\tUpdateLumColor();\n\t\t\tUpdateClient();\n\t\t}\n\t\telse if(PtInRect(&m_LumDragRect,pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tm_LumYPos = pMsg->MsgMouseCltPT.y;\n\t\t\tMIN_LIMIT(m_LumYPos,m_LumRect.y);\n\t\t\tMAX_LIMIT(m_LumYPos,m_LumRect.y+m_LumRect.cy-1);\n\t\t\tUpdateColor();\n\t\t\tUpdateClient();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispRGBSelect::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown && pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tif(PtInRect(&m_RGBRect,pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tm_PTSelected = pMsg->MsgMouseCltPT;\n\t\t\tUpdateLumColor();\n\t\t\tUpdateClient();\n\t\t}\n\t\telse if(PtInRect(&m_LumDragRect,pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tm_LumYPos = pMsg->MsgMouseCltPT.y;\n\t\t\tUpdateColor();\n\t\t\tUpdateClient();\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispRGBSelect::FillRGBRect(CWispDIB*pRGBDIB)\n{\n\tCOLORREF color;\n\tWISP_POINT pt;\n\tCWispDC dc;\n\tdc.AttachDIB(pRGBDIB);\n\tint nStep = 1;\n\tfor (int i= 0;i<pRGBDIB->m_Rect.cy;i += nStep)\n\t{\n\t\tfor(int j=0;j<pRGBDIB->m_Rect.cx;j += nStep)\n\t\t{\n\t\t\tpt.x = j;\n\t\t\tpt.y = pRGBDIB->m_Rect.cy - i - nStep;\n\t\t\tcolor = HLStoRGB_ONE((double)j/(double)pRGBDIB->m_Rect.cx, DEFAULT_LumINANCE, (double)i/(double)pRGBDIB->m_Rect.cy);\n\t\t\tdc.DrawPixel(pt.x,pt.y,color);\n\t\t}\n\t}\n}\n\nvoid CWispRGBSelect::UpdateLumColor(bool bGather)\n{\n\tCWispDC dc;\n\tdouble\tdblLum,dblSat,dblHue;\n\tif(bGather)\n\t\tm_RGBDIB.GetPixel(m_PTSelected.x - m_RGBRect.x,m_PTSelected.y - m_RGBRect.y,&m_RGBClr);\n\tRGBtoHSL(m_RGBClr,&dblHue,&dblSat,&dblLum);\n\tdc.AttachDIB(&m_LumDIB);\n\tdc.DrawHLine(0,m_LumRect.cx-1,0,WISP_RGB(255,255,255));\n\tfor (int y =1; y < m_LumRect.cy-1; y++)\n\t{\n\t\tdc.DrawHLine(0,m_LumRect.cx-1,y,HLStoRGB_ONE (dblHue, ((double)(m_LumRect.cy-y))/(double)m_LumRect.cy, dblSat));\n\t}\n\tdc.DrawHLine(0,m_LumRect.cx-1,m_LumRect.cy-1,WISP_RGB(0,0,0));\n\tShowColorValue();\n}\n\nvoid CWispRGBSelect::UpdateColor()\n{\n\tm_LumDIB.GetPixel(0,m_LumYPos - m_LumRect.y,&m_RGBClr);\n\tShowColorValue();\n}\n\nvoid CWispRGBSelect::UpdateColorValue()\n{\n\tDWORD r,g,b;\n\tif(USDecStrToNum((WISP_PCSTR)m_pRedEdit->m_WndText,&r)==false || r>255)\n\t\treturn;\n\tif(USDecStrToNum((WISP_PCSTR)m_pGreenEdit->m_WndText,&g)==false || g>255)\n\t\treturn;\n\tif(USDecStrToNum((WISP_PCSTR)m_pBlueEdit->m_WndText,&b)==false || b>255)\n\t\treturn;\n\tm_RGBClr = WISP_RGB(r,g,b);\n\tUpdateClient();\n}\n\nvoid CWispRGBSelect::ShowColorValue()\n{\n\tCWispString String;\n\tString.Format(WSTR(\"%d\"),WISP_RGB_R(m_RGBClr));\n\tm_pRedEdit->SetWindowText(String);\n\tString.Format(WSTR(\"%d\"),WISP_RGB_G(m_RGBClr));\n\tm_pGreenEdit->SetWindowText(String);\n\tString.Format(WSTR(\"%d\"),WISP_RGB_B(m_RGBClr));\n\tm_pBlueEdit->SetWindowText(String);\n\n}\n\nvoid RGBtoHSL( COLORREF rgb, double *H, double *S, double *L )\n{   \n\tdouble delta;\n\tdouble r = (double)WISP_RGB_R(rgb)/255;\n\tdouble g = (double)WISP_RGB_G(rgb)/255;\n\tdouble b = (double)WISP_RGB_B(rgb)/255;   \n\tdouble cmax = max(r, max(g, b));\n\tdouble cmin = min(r, min(g, b));   \n\t*L=(cmax+cmin)/2.0;   \n\n\tif(cmax==cmin) \n\t{\n\t\t*S = 0;      \n\t\t*H = 0; // it's really undefined   \n\t} \n\telse \n\t{\n\t\tif(*L < 0.5) \n\t\t\t*S = (cmax-cmin)/(cmax+cmin);      \n\t\telse\n\t\t\t*S = (cmax-cmin)/(2.0-cmax-cmin);      \n\n\t\tdelta = cmax - cmin;\n\t\tif(r==cmax) \n\t\t\t*H = (g-b)/delta;      \n\t\telse if(g==cmax)\n\t\t\t*H = 2.0 +(b-r)/delta;\n\t\telse          \n\t\t\t*H=4.0+(r-g)/delta;\n\t\t*H /= 6.0; \n\t\tif(*H < 0.0)\n\t\t\t*H += 1;  \n\t}\n}\n\nCOLORREF HLStoRGB_ONE( double H, double L, double S )\n{\n\tdouble r, g, b;\n\tdouble m1, m2;\n\n\tif(S==0) {\n\t\tr=g=b=L;\n\t} else {\n\t\tif(L <=0.5)\n\t\t\tm2 = L*(1.0+S);\n\t\telse\n\t\t\tm2 = L+S-L*S;\n\t\tm1 = 2.0*L-m2;\n\t\tr = HueToRGB(m1, m2, H+1.0/3.0);\n\t\tg = HueToRGB(m1, m2, H);\n\t\tb = HueToRGB(m1, m2, H-1.0/3.0);\n\t}\n\treturn WISP_RGB((BYTE)(r*255), (BYTE)(g*255), (BYTE)(b*255));\n}\n\ndouble HueToRGB(double m1, double m2, double h )\n{\n\tif( h < 0 ) h += 1.0;\n\tif( h > 1 ) h -= 1.0;\n\tif( 6.0*h < 1 )\n\t\treturn (m1+(m2-m1)*h*6.0);\n\tif( 2.0*h < 1 )\n\t\treturn m2;\n\tif( 3.0*h < 2.0 )\n\t\treturn (m1+(m2-m1)*((2.0/3.0)-h)*6.0);\n\treturn m1;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispRGBSelect.h",
    "content": "#ifndef _WISP_RGB_SELECT_H_\n#define _WISP_RGB_SELECT_H_\n\n#include \"WispButton.h\"\n#include \"WispEdit.h\"\n#include \"WispForm.h\"\n\nclass CWispRGBSelect : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tCWispRGBSelect();\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnMouseMove);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG_CMD_MAP;\n\tDECLARE_WISP_MSG_CMD(OnCmdGetCmd);\n\n\tvoid\tFillRGBRect(CWispDIB*pRGBDIB);\n\tvoid\tUpdateLumColor(bool bGather = true);\n\tvoid\tUpdateColor();\n\tvoid\tUpdateColorValue();\n\tvoid\tShowColorValue();\n\n\tWISP_RECT\t\tm_RGBFrameRect;\n\tWISP_RECT\t\tm_RGBRect;\n\tWISP_RECT\t\tm_LumFrameRect;\n\tWISP_RECT\t\tm_LumRect;\n\tWISP_RECT\t\tm_LumDragRect;\n\tWISP_RECT\t\tm_CurRGBRect;\n\tWISP_POINT\t\tm_PTSelected;\n\tint\t\t\t\tm_LumYPos;\n\tCWispDIB\t\tm_RGBDIB;\n\tCWispDIB\t\tm_LumDIB;\n\tCWispBaseWnd*\tm_pRGBGroupCtrl;\n\tCWispEdit*\t\tm_pRedEdit;\n\tCWispEdit*\t\tm_pGreenEdit;\n\tCWispEdit*\t\tm_pBlueEdit;\n\tCOLORREF\t\tm_RGBClr;\n};\n\n\n\n#define DEFAULT_LumINANCE 0.50f\n\nvoid\t\tRGBtoHSL( COLORREF rgb, double *H, double *S, double *L );\ndouble\t\tHueToRGB(double m1, double m2, double h );\nCOLORREF\tHLStoRGB_ONE( double H, double L, double S );\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispRadioBox.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispRadioBox.h\"\n#include \"WispForm.h\"\n\nWISP_MSG_MAP_BEGIN(CWispRadioBox)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispRadioBox::CWispRadioBox(void)\n{\n\tm_bIsMultiLine = false;\n\tm_bMouseDown = false;\t\n\tm_bMouseIn = false;\n\tm_CtrlType = WISP_CTRL_RADIO_BOX;\n}\n\nbool CWispRadioBox::InitWnd()\n{\n\tif(CWispBaseWnd::InitWnd()==false)\n\t\treturn false;\n\tm_Style &= ~(WISP_WS_CAPTION|WISP_WS_BT_MAX|WISP_WS_SIZABLE|WISP_WS_BT_MIN|WISP_WS_BT_CLOSE|WISP_WS_BORDER);\n\tif(m_Style & WISP_RBS_PUSHLIKE)\n\t\tm_Style |= WISP_WS_THIN_BORDER;\n\tm_Style|=WISP_WS_BACK_TRANS;\n\tif(m_Style & WISP_RBS_MULTILINE)\n\t\tm_bIsMultiLine = true;\n\tif(m_Style & WISP_RBS_PUSHLIKE)\n\t{\n\t\tm_TextRect.x = m_WindowRect.x;\n\t\tm_TextRect.y = m_WindowRect.y;\n\t\tm_TextRect.cx = m_WindowRect.cx;\n\t\tm_TextRect.cy = m_WindowRect.cy;\n\t\tm_CheckBoxRect.x = m_TextRect.x;\n\t\tm_CheckBoxRect.y = m_TextRect.y;\n\t\tm_CheckBoxRect.cx = m_TextRect.cx;\n\t\tm_CheckBoxRect.cy = m_TextRect.cy;\n\t}\n\telse\n\t{\n\t\tif(m_Style & WISP_RBS_RIGHT)\n\t\t{\n\t\t\tm_CheckBoxRect.x = m_WindowRect.x + m_WindowRect.cx - WISP_CHECKBOX_WIDTH-4;\n\t\t\tm_CheckBoxRect.cx = WISP_CHECKBOX_WIDTH;\n\t\t\tm_CheckBoxRect.cy = WISP_CHECKBOX_HEIGH;\n\t\t\tm_CheckBoxRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_RBS_TOP)\n\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_RBS_BOTTOM)\n\t\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y + m_WindowRect.cy - WISP_CHECKBOX_HEIGH;\t\n\t\t\tm_TextRect.x = m_WindowRect.x;\n\t\t\tm_TextRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_RBS_TOP)\n\t\t\t\tm_TextRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_RBS_BOTTOM)\n\t\t\t\t\tm_TextRect.y = m_WindowRect.y + m_WindowRect.cy - m_WindowDC.m_pFont->m_Height;\t\n\t\t\tm_TextRect.cx = m_CheckBoxRect.x - m_TextRect.x - WISP_TEXT_CHECKBOX_DISTANCE;\n\t\t\tif(m_Style & WISP_RBS_MULTILINE)\t\t\t\t\n\t\t\t\tm_TextRect.cy = m_WindowRect.cy;\t\t\t\t\n\t\t\telse\t\t\t\n\t\t\t{\n\t\t\t\tm_TextRect.cy = m_WindowDC.m_pFont->m_Height;\t\t\t\t\t\n\t\t\t\tif(m_WindowDC.m_pFont->m_Height > WISP_CHECKBOX_HEIGH)\n\t\t\t\t{\n\t\t\t\t\tm_CheckBoxRect.y += (m_WindowDC.m_pFont->m_Height - WISP_CHECKBOX_HEIGH) / 2 ;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_CheckBoxRect.x = m_WindowRect.x;\n\t\t\tm_CheckBoxRect.cx = WISP_CHECKBOX_WIDTH;\n\t\t\tm_CheckBoxRect.cy = WISP_CHECKBOX_HEIGH;\n\t\t\tm_CheckBoxRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_RBS_TOP)\n\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_RBS_BOTTOM)\n\t\t\t\t\tm_CheckBoxRect.y = m_WindowRect.y + m_WindowRect.cy - WISP_CHECKBOX_HEIGH;\t\n\t\t\tm_TextRect.x = m_CheckBoxRect.x + m_CheckBoxRect.cx + WISP_TEXT_CHECKBOX_DISTANCE;\n\t\t\tm_TextRect.y = m_WindowRect.y + (m_WindowRect.cy - WISP_CHECKBOX_HEIGH) / 2;\n\t\t\tif(m_Style & WISP_RBS_TOP)\n\t\t\t\tm_TextRect.y = m_WindowRect.y;\n\t\t\telse\n\t\t\t\tif(m_Style & WISP_RBS_BOTTOM)\n\t\t\t\t\tm_TextRect.y = m_WindowRect.y + m_WindowRect.cy - m_WindowDC.m_pFont->m_Height;\t\n\t\t\tm_TextRect.cx = m_WindowRect.cx - (m_TextRect.x - m_WindowRect.x);\n\t\t\tif(m_Style & WISP_RBS_MULTILINE)\n\t\t\t\tm_TextRect.cy = m_WindowRect.cy;\n\t\t\telse\n\t\t\t{\n\t\t\t\tm_TextRect.cy = m_WindowDC.m_pFont->m_Height;\t\n\t\t\t\tif(m_WindowDC.m_pFont->m_Height > WISP_CHECKBOX_HEIGH)\n\t\t\t\t{\n\t\t\t\t\tm_CheckBoxRect.y += (m_WindowDC.m_pFont->m_Height - WISP_CHECKBOX_HEIGH) / 2 ;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispRadioBox::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tif( (m_Style&WISP_WS_BACK_TRANS)==0)\n\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlClient(&m_WindowDC, &m_WindowRect);\n\tif((m_Style & WISP_RBS_PUSHLIKE)==0)\n\t{\n\t\tUINT DIBIndex;\n\t\tif(IsChecked())\n\t\t\tDIBIndex = (m_bMouseDown && m_bMouseIn)?WISP_SSI_REDIOBOX_SELECTED_DRAK:WISP_SSI_REDIOBOX_SELECTED;\n\t\telse\n\t\t\tDIBIndex = (m_bMouseDown && m_bMouseIn)?WISP_SSI_REDIOBOX_UNSELECTED_DRAK:WISP_SSI_REDIOBOX_UNSELECTED;\n\t\tm_WindowDC.DrawSystemStandardIcon(m_CheckBoxRect,DIBIndex);\n\t}\n\tDrawCaption();\n\treturn false;\n}\n\n// ʾıϢ\nvoid CWispRadioBox::DrawCaption(void)\n{\n\tWISP_RECT Rect;\n\tINT uFormat = WISP_DT_VCENTER;  //ȱʡıʾ ,м.\n\tRect.x = m_TextRect.x;\n\tRect.y = m_TextRect.y;\n\tRect.cx = m_TextRect.cx;\n\tRect.cy = m_TextRect.cy;\n\tif(m_Style & WISP_RBS_PUSHLIKE)\n\t{\n\t\tuFormat |= WISP_DT_CENTER;\n\t\tif(m_bMouseDown && m_bMouseIn)\n\t\t{\n\t\t\tRect.x = m_TextRect.x + 1;\t\t\t\n\t\t}\n\t}\n\tif(!m_bIsMultiLine)\n\t\tuFormat |= WISP_DT_SINGLELINE;\n\tif(m_Style & WISP_RBS_BOTTOM)\n\t\tuFormat |= WISP_DT_BOTTOM;\n\tif(IsDisabled())\n\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRAY]);\n\tm_WindowDC.DrawString(m_WndText,&Rect,uFormat);\n\tif(IsDisabled())\n\t\tm_WindowDC.RestoreTextColor();\n}\n\nbool CWispRadioBox::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON)\n\t{\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\tOnMouseLDown(pMsg);\n\t\telse\n\t\t{\n\t\t\tif(OnMouseLUp(pMsg))\n\t\t\t{\n\t\t\t\tWISP_MSG Msg;\n\t\t\t\tMsg.hWnd = m_OwnerWnd;\n\t\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\t\tMsg.Command.CtrlType= m_CtrlType;\n\t\t\t\tMsg.Command.CmdID\t= m_CmdID;\n\t\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_CB_CLICK;\n\t\t\t\tMsg.Command.Param1 = IsChecked();\n\t\t\t\tif(SEND_MSG(&Msg))\n\t\t\t\t{\n\t\t\t\t\tMsg.hWnd=m_OwnerWnd;\n\t\t\t\t\tMsg.Msg=WISP_WM_EVENT;\n\t\t\t\t\tPOST_MSG(&Msg);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tUpdate();\n\t}\n\treturn true;\n}\n\nbool CWispRadioBox::OnMouseLDown(IN WISP_MSG*pMsg)\n{\n\tm_bMouseDown = true;\n\treturn true;\n}\n\nbool CWispRadioBox::OnMouseLUp(IN WISP_MSG*pMsg)\n{\n\tif(m_bMouseIn&&m_bMouseDown)\n\t{\n\t\tif(IsChecked()==false)\n\t\t\tCheck(true);\n\t\tm_bMouseDown = false;\n\t\treturn true;\n\t}\n\treturn false;\n}\nbool CWispRadioBox::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tm_bMouseIn = false;\n\tif(m_bMouseDown)\n\t{\n\t\tif(pMsg->bMsgLBTDown==false)\n\t\t\tm_bMouseDown=false;\n\t\treturn false;\n\t}\n\t\n\treturn true;\n}\nbool CWispRadioBox::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tm_bMouseIn = true;\n\treturn true;\n}\n\nvoid CWispRadioBox::DrawBorder()\n{\t\n\tif(m_Style & WISP_RBS_FLAT)\n\t{\n\t\tif(IsChecked() || (m_bMouseDown && m_bMouseIn))\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect,false,2);\n\t\telse\n\t\t\tm_WindowDC.DrawFrameRect(&m_WindowRect,true,2);\n\t}\n\telse\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawCtrlBorder(&m_WindowDC, &m_WindowRect,2);\n\t}\n}\n\nvoid CWispRadioBox::Check(bool bCheck)\n{\n\tif(bCheck)\n\t{\n\t\tif(IsChecked()==false)\n\t\t{\n\t\t\tm_Style|=WISP_WS_MARKED;\n\t\t\tUpdateRelation();\n\t\t\tUpdate();\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(IsChecked())\n\t\t{\n\t\t\tm_Style&=~WISP_WS_MARKED;\n\t\t\tUpdate();\n\t\t}\n\t}\n}\n\nvoid CWispRadioBox::UpdateRelation()\n{\n\tCWispForm*pForm;\n\tif(m_ParentWnd->m_CtrlType!=WISP_CTRL_FORM)\n\t\treturn;\n\tpForm = (CWispForm*)m_ParentWnd;\n\tTMap<UINT,CWispBaseWnd*>::IT Iter=pForm->m_FormItemMap.Find(m_CmdID-1);\n\twhile(Iter!=pForm->m_FormItemMap.End())\n\t{\n\t\tif((*Iter)->m_CtrlType!=WISP_CTRL_RADIO_BOX)\n\t\t\tbreak;\n\t\tCWispRadioBox*pRadioBox = (CWispRadioBox*)*Iter;\n\t\tif(pRadioBox->IsChecked())\n\t\t\tpRadioBox->Check(false);\n\t\tIter=pForm->m_FormItemMap.Find(pRadioBox->m_CmdID-1);\n\t}\n\tIter=pForm->m_FormItemMap.Find(m_CmdID+1);\n\twhile(Iter!=pForm->m_FormItemMap.End())\n\t{\n\t\tif((*Iter)->m_CtrlType!=WISP_CTRL_RADIO_BOX)\n\t\t\tbreak;\n\t\tCWispRadioBox*pRadioBox = (CWispRadioBox*)*Iter;\n\t\tif(pRadioBox->IsChecked())\n\t\t\tpRadioBox->Check(false);\n\t\tIter=pForm->m_FormItemMap.Find(pRadioBox->m_CmdID+1);\n\t}\n\n}"
  },
  {
    "path": "Project/Wisp/Source/WispRadioBox.h",
    "content": "#ifndef _WISP_REDIOBOX_H_\n#define _WISP_REDIOBOX_H_\n#include \"WispWnd.h\"\n#include \"Utility.h\"\n\n#define WISP_RBS_NORMAL\t\t\t\t\t\t\tWISP_RBS_TEXTLEFT\n\n#define WISP_RBS_MULTILINE\t\t\t\t\t\t0x80000000\n#define WISP_RBS_PUSHLIKE\t\t\t\t\t\t0x40000000\n#define WISP_RBS_TEXTLEFT\t\t\t\t\t\t0x20000000\n#define WISP_RBS_ICON\t\t\t\t\t\t\t0x10000000\n#define WISP_RBS_BMP\t\t\t\t\t\t\t0x08000000\n#define WISP_RBS_NOTIFY\t\t\t\t\t\t\t0x04000000\n#define WISP_RBS_RIGHT\t\t\t\t\t\t\t0x02000000\n#define WISP_RBS_RTLREADING\t\t\t\t\t\t0x01000000\n#define WISP_RBS_STATICEDGE\t\t\t\t\t\t0x00800000\n#define WISP_RBS_TABSTOP\t\t\t\t\t\t0x00400000\n#define WISP_RBS_BOTTOM\t\t\t\t\t\t\t0x00080000\n#define WISP_RBS_TOP\t\t\t\t\t\t\t0x00040000\n#define WISP_RBS_FLAT\t\t\t\t\t\t\t0x00020000\n#define WISP_RBS_CLIENTEDGE\t\t\t\t\t\t0x00010000\n\n#define WISP_CHECKBOX_WIDTH\t\t\t\t\t\tWISP_SSI_CHECKBOX_SIZE+2\n#define WISP_CHECKBOX_HEIGH\t\t\t\t\t\tWISP_SSI_CHECKBOX_SIZE+2\n#define WISP_TEXT_CHECKBOX_DISTANCE\t\t\t\t0x6\n\nclass CWispRadioBox :public CWispBaseWnd\n{\t\npublic:\n\tCWispRadioBox();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnMouseLDown);\n\tDECLARE_WISP_MSG(OnMouseLUp);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n\tDECLARE_WISP_MSG(OnMouseMove);\npublic:\n\tvirtual bool\tInitWnd();\nprivate:\n\t// ʾֵľ\n\tCWispRect m_TextRect;\n\tCWispRect m_CheckBoxRect;\npublic:\n\t// Ƿֶ֧ı\n\tbool m_bIsMultiLine;\n\t// ȡ\n\tvoid DrawBorder();\n\tvoid DrawCheckBox(IN WISP_MSG*pMsg);\n\t// ʾıϢ\n\tvoid DrawCaption(void);\npublic:\n\tvoid Check(bool bCheck=true);\n\tbool IsChecked(){return (m_Style&WISP_WS_MARKED)!=0;}\n\tvoid UpdateRelation();\npublic:\n\t// Ƿ񱻰\n\tbool m_bMouseDown;\n\t// Ƿڱ\n\tbool m_bMouseIn;\n\n};\n#endif /* _WISP_REDIOBOX_H_ */\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispRichEdit.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispRichEdit.h\"\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispRichEdit.h",
    "content": "#ifndef _WISP_RICH_EDIT_H_\n#define _WISP_RICH_EDIT_H_\n\n\n\nclass CWispRichEdit : public CWispEdit\n{\npublic:\n\tCWispRichEdit();\n\t~CWispRichEdit();\npublic:\n\n\n};\n\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispSoftKeyboard.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispSoftKeyboard.h\"\n#include \"WispButton.h\"\n#include \"WispCheckBox.h\"\n\n\n#define\tWISP_SKB_BT_COUNT\t(sizeof(m_SoftKeyTable)/sizeof(WISP_SKB_KEY))\n\nWISP_SKB_KEY CWispSoftKeyboard::m_SoftKeyTable[]=\n{\n\t{WISP_STR(\"ESC\"),\tWISP_VK_ESCAPE,\t\t{2\t\t,2,22,20}},\n\n\t{WISP_STR(\"F1\"),\tWISP_VK_F1,\t\t\t{24*2-2\t,2,22,20}},\n\t{WISP_STR(\"F2\"),\tWISP_VK_F2,\t\t\t{24*3-2\t,2,22,20}},\n\t{WISP_STR(\"F3\"),\tWISP_VK_F3,\t\t\t{24*4-2\t,2,22,20}},\n\t{WISP_STR(\"F4\"),\tWISP_VK_F4,\t\t\t{24*5-2\t,2,22,20}},\n\n\t{WISP_STR(\"F5\"),\tWISP_VK_F5,\t\t\t{24*7-10,2,22,20}},\n\t{WISP_STR(\"F6\"),\tWISP_VK_F6,\t\t\t{24*8-10,2,22,20}},\n\t{WISP_STR(\"F7\"),\tWISP_VK_F7,\t\t\t{24*9-10,2,22,20}},\n\t{WISP_STR(\"F8\"),\tWISP_VK_F8,\t\t\t{24*10-10,2,22,20}},\n\n\t{WISP_STR(\"F9\"),\tWISP_VK_F9,\t\t\t{24*11+2,2,22,20}},\n\t{WISP_STR(\"F10\"),\tWISP_VK_F10,\t\t{24*12+2,2,22,20}},\n\t{WISP_STR(\"F11\"),\tWISP_VK_F11,\t\t{24*13+2,2,22,20}},\n\t{WISP_STR(\"F12\"),\tWISP_VK_F12,\t\t{24*14+2,2,22,20}},\n\n\t{WISP_STR(\"`\"),\t\tWISP_VK_OEM_3,\t\t{2\t\t,6+22,22,20}},\n\t{WISP_STR(\"1\"),\t\tWISP_VK_1,\t\t\t{2+24*1\t,6+22,22,20}},\n\t{WISP_STR(\"2\"),\t\tWISP_VK_2,\t\t\t{2+24*2\t,6+22,22,20}},\n\t{WISP_STR(\"3\"),\t\tWISP_VK_3,\t\t\t{2+24*3\t,6+22,22,20}},\n\t{WISP_STR(\"4\"),\t\tWISP_VK_4,\t\t\t{2+24*4\t,6+22,22,20}},\n\t{WISP_STR(\"5\"),\t\tWISP_VK_5,\t\t\t{2+24*5\t,6+22,22,20}},\n\t{WISP_STR(\"6\"),\t\tWISP_VK_6,\t\t\t{2+24*6\t,6+22,22,20}},\n\t{WISP_STR(\"7\"),\t\tWISP_VK_7,\t\t\t{2+24*7\t,6+22,22,20}},\n\t{WISP_STR(\"8\"),\t\tWISP_VK_8,\t\t\t{2+24*8\t,6+22,22,20}},\n\t{WISP_STR(\"9\"),\t\tWISP_VK_9,\t\t\t{2+24*9\t,6+22,22,20}},\n\t{WISP_STR(\"0\"),\t\tWISP_VK_0,\t\t\t{2+24*10,6+22,22,20}},\n\t{WISP_STR(\"-\"),\t\tWISP_VK_SUBTRACT,\t{2+24*11,6+22,22,20}},\n\t{WISP_STR(\"=\"),\t\tWISP_VK_OEM_PLUS,\t{2+24*12,6+22,22,20}},\n\t{WISP_STR(\"\\\\\"),\tWISP_VK_SEPARATOR,\t{2+24*13,6+22,22,20}},\n\t{WISP_STR(\"<-\"),\tWISP_VK_BACK,\t\t{2+24*14,6+22,22,20}},\n\n\t{WISP_STR(\"TAB\"),\tWISP_VK_TAB,\t\t{2\t\t\t,6+22*2,32,20}},\n\t{WISP_STR(\"Q\"),\t\tWISP_VK_Q,\t\t\t{2+34\t\t,6+22*2,22,20}},\n\t{WISP_STR(\"W\"),\t\tWISP_VK_W,\t\t\t{2+34+24\t,6+22*2,22,20}},\n\t{WISP_STR(\"E\"),\t\tWISP_VK_E,\t\t\t{2+34+24*2\t,6+22*2,22,20}},\n\t{WISP_STR(\"R\"),\t\tWISP_VK_R,\t\t\t{2+34+24*3\t,6+22*2,22,20}},\n\t{WISP_STR(\"T\"),\t\tWISP_VK_T,\t\t\t{2+34+24*4\t,6+22*2,22,20}},\n\t{WISP_STR(\"Y\"),\t\tWISP_VK_Y,\t\t\t{2+34+24*5\t,6+22*2,22,20}},\n\n\t{WISP_STR(\"U\"),\t\tWISP_VK_U,\t\t\t\t{2+34+24*6\t,6+22*2,22,20}},\n\t{WISP_STR(\"I\"),\t\tWISP_VK_I,\t\t\t\t{2+34+24*7\t,6+22*2,22,20}},\n\t{WISP_STR(\"O\"),\t\tWISP_VK_O,\t\t\t\t{2+34+24*8\t,6+22*2,22,20}},\n\t{WISP_STR(\"P\"),\t\tWISP_VK_P,\t\t\t\t{2+34+24*9\t,6+22*2,22,20}},\n\t{WISP_STR(\"[\"),\t\tWISP_VK_LSQUARE_BRACKET,{2+34+24*10\t,6+22*2,22,20}},\n\t{WISP_STR(\"]\"),\t\tWISP_VK_RSQUARE_BRACKET,{2+34+24*11\t,6+22*2,22,20}},\n\n\t{WISP_STR(\"Caps\"),\tWISP_VK_CAPS_LOCK,\t{2\t\t\t,6+22*3,40,20}},\n\t{WISP_STR(\"A\"),\t\tWISP_VK_A,\t\t\t{2+42\t\t,6+22*3,22,20}},\n\t{WISP_STR(\"S\"),\t\tWISP_VK_S,\t\t\t{2+42+24\t,6+22*3,22,20}},\n\t{WISP_STR(\"D\"),\t\tWISP_VK_D,\t\t\t{2+42+24*2\t,6+22*3,22,20}},\n\t{WISP_STR(\"F\"),\t\tWISP_VK_F,\t\t\t{2+42+24*3\t,6+22*3,22,20}},\n\t{WISP_STR(\"G\"),\t\tWISP_VK_G,\t\t\t{2+42+24*4\t,6+22*3,22,20}},\n\t{WISP_STR(\"H\"),\t\tWISP_VK_H,\t\t\t{2+42+24*5\t,6+22*3,22,20}},\n\t{WISP_STR(\"J\"),\t\tWISP_VK_J,\t\t\t{2+42+24*6\t,6+22*3,22,20}},\n\t{WISP_STR(\"K\"),\t\tWISP_VK_K,\t\t\t{2+42+24*7\t,6+22*3,22,20}},\n\t{WISP_STR(\"L\"),\t\tWISP_VK_L,\t\t\t{2+42+24*8\t,6+22*3,22,20}},\n\t{WISP_STR(\";\"),\t\tWISP_VK_SEMI,\t\t{2+42+24*9\t,6+22*3,22,20}},\n\t{WISP_STR(\"'\"),\t\tWISP_VK_QUOT,\t\t{2+42+24*10\t,6+22*3,22,20}},\n\t{WISP_STR(\"Enter\"),WISP_VK_RETURN,\t\t{2+42+24*11\t,6+22*3,52,20}},\n\n\t{WISP_STR(\"Shift\"),WISP_VK_LSHIFT,\t\t{2\t\t\t,6+22*4,50,20}},\n\t{WISP_STR(\"Z\"),\t\tWISP_VK_Z,\t\t\t{2+52\t\t,6+22*4,22,20}},\n\t{WISP_STR(\"X\"),\t\tWISP_VK_X,\t\t\t{2+52+24\t,6+22*4,22,20}},\n\t{WISP_STR(\"C\"),\t\tWISP_VK_C,\t\t\t{2+52+24*2\t,6+22*4,22,20}},\n\t{WISP_STR(\"V\"),\t\tWISP_VK_V,\t\t\t{2+52+24*3\t,6+22*4,22,20}},\n\t{WISP_STR(\"B\"),\t\tWISP_VK_B,\t\t\t{2+52+24*4\t,6+22*4,22,20}},\n\t{WISP_STR(\"N\"),\t\tWISP_VK_N,\t\t\t{2+52+24*5\t,6+22*4,22,20}},\n\t{WISP_STR(\"M\"),\t\tWISP_VK_M,\t\t\t{2+52+24*6\t,6+22*4,22,20}},\n\t{WISP_STR(\",\"),\t\tWISP_VK_OEM_COMMA,\t{2+52+24*7\t,6+22*4,22,20}},\n\t{WISP_STR(\".\"),\t\tWISP_VK_OEM_PERIOD,\t{2+52+24*8\t,6+22*4,22,20}},\n\t{WISP_STR(\"/\"),\t\tWISP_VK_DIVIDE,\t\t{2+52+24*9\t,6+22*4,22,20}},\n\t{WISP_STR(\"Shift\"),WISP_VK_RSHIFT,\t\t{2+52+24*10\t,6+22*4,66,20}},\n\n\t{WISP_STR(\"Ctrl\"),\tWISP_VK_LCONTROL,\t{2\t\t\t,6+22*5,32,20}},\n\t{WISP_STR(\"Win\"),\tWISP_VK_LWIN,\t\t{2+34\t\t,6+22*5,32,20}},\n\t{WISP_STR(\"Alt\"),\tWISP_VK_LALT,\t\t{2+34*2\t\t,6+22*5,32,20}},\n\t{WISP_STR(\"Space\"),WISP_VK_SPACE,\t\t{2+34*3\t\t,6+22*5,34*3+18,20}},\n\t{WISP_STR(\"Alt\"),\tWISP_VK_RALT,\t\t{2+34*6+20\t,6+22*5,32,20}},\n\t{WISP_STR(\"Win\"),\tWISP_VK_RWIN,\t\t{2+34*7+20\t,6+22*5,32,20}},\n\t{WISP_STR(\"Apps\"),\tWISP_VK_APPS,\t\t{2+34*8+20\t,6+22*5,32,20}},\n\t{WISP_STR(\"Ctrl\"),\tWISP_VK_RCONTROL,\t{2+34*9+20\t,6+22*5,32,20}},\n\n\t{WISP_STR(\"Ins\"),\tWISP_VK_INSERT,\t\t{6+24*15\t\t,6+22*2,24,20}},\n\t{WISP_STR(\"Hom\"),\tWISP_VK_HOME,\t\t{6+24*15+26\t\t,6+22*2,24,20}},\n\t{WISP_STR(\"PUp\"),\tWISP_VK_PAGE_UP,\t{6+24*15+26*2\t,6+22*2,24,20}},\n\n\t{WISP_STR(\"Del\"),\tWISP_VK_DELETE,\t\t{6+24*15\t\t,6+22*3,24,20}},\n\t{WISP_STR(\"End\"),\tWISP_VK_END,\t\t{6+24*15+26\t\t,6+22*3,24,20}},\n\t{WISP_STR(\"PDo\"),\tWISP_VK_PAGE_DOWN,\t{6+24*15+26*2\t,6+22*3,24,20}},\n\n\t{WISP_STR(\"Up\"),\tWISP_VK_LEFT,\t{6+24*15+26\t\t,6+22*4,24,20}},\n\n\t{WISP_STR(\"Le\"),\tWISP_VK_LEFT,\t{6+24*15\t\t,6+22*5,24,20}},\n\t{WISP_STR(\"Do\"),\tWISP_VK_DOWN,\t{6+24*15+26\t\t,6+22*5,24,20}},\n\t{WISP_STR(\"Ri\"),\tWISP_VK_RIGHT,\t{6+24*15+26*2\t,6+22*5,24,20}},\n};\n\nWISP_MSG_MAP_BEGIN(CWispSoftKeyboard)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispSoftKeyboard::CWispSoftKeyboard(void)\n{\n}\n\nCWispSoftKeyboard::~CWispSoftKeyboard(void)\n{\n}\n\nvoid CWispSoftKeyboard::Popup()\n{\n\tif(IsWindow())\n\t{\n\t\tShow();\n\t}\n\telse\n\t{\n\t\tCreate(0,0,NULL,WISP_SKBS_NORMAL,WISP_SH_NORMAL);\n\t\tCenter();\n\t}\n}\n\nbool CWispSoftKeyboard::Create(int x,int y,CWispWnd*pParentWnd,UINT Style,UINT ShowMode,UINT CmdID)\n{\n\treturn CWispWnd::Create(WISP_STR(\"Soft Keyboard\"),CWispRect(x,y,453,166),pParentWnd,CmdID,Style,ShowMode);\n}\n\nbool CWispSoftKeyboard::OnCreate(IN WISP_MSG*pMsg)\n{\n\tLoadTitleDIB(\"\\\\WispApp\\\\SoftKeyboard\\\\SoftKeyboard.ico\");\n\tm_StaticDIB.Create(WispDIB(\"\\\\WispApp\\\\SoftKeyboard\\\\SoftKeyboard.ico\",0),387,8,this);\n\tm_BTAry = new CWispBaseWnd*[WISP_SKB_BT_COUNT];\n\tfor(int n=0;n<WISP_SKB_BT_COUNT;n++)\n\t{\n\t\tif(m_SoftKeyTable[n].VKCmdID==WISP_VK_RSHIFT || m_SoftKeyTable[n].VKCmdID==WISP_VK_LSHIFT)\n\t\t{\n\t\t\tm_BTAry[n]= new CWispCheckBox;\n\t\t\tm_BTAry[n]->Create(m_SoftKeyTable[n].szKeyName,&m_SoftKeyTable[n].BTRect,this,m_SoftKeyTable[n].VKCmdID,WISP_CBS_PUSHLIKE,WISP_SH_NORMAL);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_BTAry[n]= new CWispButton;\n\t\t\tm_BTAry[n]->Create(m_SoftKeyTable[n].szKeyName,&m_SoftKeyTable[n].BTRect,this,m_SoftKeyTable[n].VKCmdID,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispSoftKeyboard::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tfor(int n=0;n<WISP_SKB_BT_COUNT;n++)\n\t{\n\t\tm_BTAry[n]->Destroy();\n\t\tdelete m_BTAry[n];\n\t}\n\tdelete[] m_BTAry;\n\treturn true;\n}\n\nbool CWispSoftKeyboard::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CWispSoftKeyboard::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tTop();\n\treturn false;\n}\n\nbool CWispSoftKeyboard::OnCommand(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_CTRL_GET_FOCUS)\n\t\treturn false;\n\tif(pMsg->Command.CmdID<WISP_VK_MAX_ID)\n\t{\n\t\tm_pWispBase->DispatchKeyEvent(pMsg->Command.CmdID,pMsg->Command.CmdMsg == WISP_CMD_BT_DOWN);\n\t}\n\treturn true;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispSoftKeyboard.h",
    "content": "#ifndef _WISP_SOFT_KEYBOARD_H_\n#define _WISP_SOFT_KEYBOARD_H_\n\n#include \"WispStatic.h\"\n#include \"WispWnd.h\"\n\n\nstruct WISP_SKB_KEY\n{\n\tWISP_CHAR*\tszKeyName;\n\tUINT\t\tVKCmdID;\n\tWISP_RECT\tBTRect;\n};\n\n#define\tWISP_SKBS_NORMAL\t(WISP_WS_CAPTION | WISP_WS_BT_MIN | WISP_WS_BT_CLOSE | WISP_WS_BORDER)\n\nclass CWispSoftKeyboard : public CWispWnd\n{\npublic:\n\tCWispSoftKeyboard(void);\n\tvirtual ~CWispSoftKeyboard(void);\npublic:\n\tstatic WISP_SKB_KEY m_SoftKeyTable[];\n\tCWispBaseWnd**\tm_BTAry;\n\tCWispStaticDIB\tm_StaticDIB;\n\tbool\tCreate(int x,int y,CWispWnd*pParentWnd,\n\t\t\t\t\tUINT Style = WISP_SKBS_NORMAL,\n\t\t\t\t\tUINT ShowMode = WISP_SH_NORMAL,\n\t\t\t\t\tUINT CmdID = WISP_ID_SOFT_KB);\n\tvoid Popup();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnGetFocus);\n\tDECLARE_WISP_MSG_CMD_MAP\n};\n\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispSplitWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispSplitWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispSplitWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_DBCLICK,OnMouseDBClick)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_PARENT_RESIZE,OnParentResize)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispSplitWnd::CWispSplitWnd()\n{\n\tm_SplitBorderSize = 4;\n\tm_CtrlType = WISP_CTRL_SPLIT_WND;\n}\n\nCWispSplitWnd::~CWispSplitWnd()\n{\n}\n\nbool CWispSplitWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_DeltaSize.cx = m_ParentWnd->m_WindowRect.cx - m_WindowRect.cx;\n\tm_DeltaSize.cy = m_ParentWnd->m_WindowRect.cy - m_WindowRect.cy;\n\treturn true;\n}\n\nbool CWispSplitWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_WndList.Clear();\n\treturn true;\n}\n\nbool CWispSplitWnd::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tWISP_SPLIT_WND*pWSWnd;\n\tCWSWndList::IT Iter;\n\tIter=m_WndList.Begin();\n\twhile(Iter!=m_WndList.End())\n\t{\n\t\tpWSWnd=&(*Iter);\n\t\tm_pWispBase->m_pCurDrawObj->DrawSplitRect(&m_WindowDC,&pWSWnd->SplitRect,(m_Style & WISP_SWS_HORZ)!=0);\n\t\tIter++;\n\t}\n\treturn true;\n}\n\nbool CWispSplitWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\treturn false;\n}\n\nbool CWispSplitWnd::OnParentResize(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_SWS_AUTO_RESIZE)\n\t{\n\t\tResize(pMsg->Resize.NewSize.cx-m_DeltaSize.cx,pMsg->Resize.NewSize.cy-m_DeltaSize.cy);\n\t}\n\treturn true;\n}\n\n\nbool CWispSplitWnd::OnSize(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_SWS_AUTO_RESIZE)\n\t{\n\t\tm_DeltaSize.cx = m_ParentWnd->m_WindowRect.cx - m_WindowRect.cx;\n\t\tm_DeltaSize.cy = m_ParentWnd->m_WindowRect.cy - m_WindowRect.cy;\n\t}\t\n\tAdjustWndPos();\n\treturn true;\n}\n\nbool CWispSplitWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON)\n\t{\n\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t{\n\t\t\tWISP_POINT MouseCltPT;\n\t\t\tMouseCltPT = pMsg->MsgMouseWndPT;\n\t\t\tPointToRect(&MouseCltPT,&m_ClientRect);\n\n\t\t\tCWSWndList::IT Iter;\n\t\t\tIter=m_WndList.Begin();\n\t\t\twhile(Iter!=m_WndList.End())\n\t\t\t{\n\t\t\t\tif(PtInRect(&Iter->SplitRect,&pMsg->MsgMouseWndPT))\n\t\t\t\t{\n\t\t\t\t\tm_CurSplitWndIt = Iter;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tIter++;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\t\t\t\n\t\t\tm_CurSplitWndIt = NULL;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispSplitWnd::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tint Delta = (m_Style & WISP_SWS_HORZ)?pMsg->MouseEvent.DeltaX:pMsg->MouseEvent.DeltaY;\n\n\tif(m_CurSplitWndIt!=NULL)\n\t{\t\t\n\t\tbool bMove;\n\t\tif(m_Style & WISP_SWS_HORZ)\n\t\t\tbMove = (Delta>=0 && pMsg->MsgMouseWndPT.x>=m_CurSplitWndIt->SplitRect.x) || (Delta< 0 && pMsg->MsgMouseWndPT.x<m_CurSplitWndIt->SplitRect.x+m_CurSplitWndIt->SplitRect.cx);\n\t\telse\n\t\t\tbMove = (Delta>=0 && pMsg->MsgMouseWndPT.y>=m_CurSplitWndIt->SplitRect.y) || (Delta< 0 && pMsg->MsgMouseWndPT.y<m_CurSplitWndIt->SplitRect.y+m_CurSplitWndIt->SplitRect.cy);\n\t\tif(bMove)\n\t\t{\n\t\t\tm_NextSplitWndIt = m_CurSplitWndIt+1;\n\t\t\tif(\tm_NextSplitWndIt!=m_WndList.End()&&  \n\t\t\t\tm_CurSplitWndIt->SizeXorY+Delta>0 && \n\t\t\t\tm_NextSplitWndIt->SizeXorY-Delta>0)\n\t\t\t{\n\t\t\t\tm_CurSplitWndIt->SizeXorY+=Delta;\n\t\t\t\tif(m_NextSplitWndIt!=m_WndList.End())\n\t\t\t\t\t(*m_NextSplitWndIt).SizeXorY-=Delta;\n\t\t\t\tAdjustWndPos();\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\telse\n\t{\n\t\tm_pWispBase->ChangeCursorType(WISP_CT_ARROW);\n\t\treturn true;\n\t}\n}\n\nbool CWispSplitWnd::OnMouseDBClick(IN WISP_MSG*pMsg)\n{\n\t//if(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON)\n\t{\n\t\tWISP_POINT MouseCltPT;\n\t\tMouseCltPT = pMsg->MsgMouseWndPT;\n\t\tPointToRect(&MouseCltPT,&m_ClientRect);\n\n\t\tint Index;\n\t\tCWSWndList::IT Iter;\n\t\tIter=m_WndList.Begin();\n\t\tIndex = 0;\n\t\twhile(Iter!=m_WndList.End())\n\t\t{\n\t\t\tif(PtInRect(&Iter->SplitRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tif(pMsg->KeyEvent.KeyType==WISP_VK_LBUTTON)\n\t\t\t\t\tSendCmdMsg(WISP_CMD_ITEM_LDBCLICK,Index,&(*Iter));\n\t\t\t\telse if(pMsg->KeyEvent.KeyType==WISP_VK_RBUTTON)\n\t\t\t\t\tSendCmdMsg(WISP_CMD_ITEM_RDBCLICK,Index,&(*Iter));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tIter++;\n\t\t\tIndex++;\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispSplitWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tbool bInResizeArea,bMove;\n\tWISP_POINT MouseCltPT;\n\tMouseCltPT = pMsg->MsgMouseWndPT;\n\tPointToRect(&MouseCltPT,&m_ClientRect);\n\tint Delta = (m_Style & WISP_SWS_HORZ)?pMsg->MouseEvent.DeltaX:pMsg->MouseEvent.DeltaY;\n\tif(m_CurSplitWndIt!=NULL)\n\t{\n\t\tif(m_Style & WISP_SWS_HORZ)\n\t\t\tbMove = (Delta>=0 && pMsg->MsgMouseWndPT.x>=m_CurSplitWndIt->SplitRect.x+m_CurSplitWndIt->SplitRect.cx/2) || (Delta< 0 && pMsg->MsgMouseWndPT.x<m_CurSplitWndIt->SplitRect.x+m_CurSplitWndIt->SplitRect.cx/2);\n\t\telse\n\t\t\tbMove = (Delta>=0 && pMsg->MsgMouseWndPT.y>=m_CurSplitWndIt->SplitRect.y+m_CurSplitWndIt->SplitRect.cy/2) || (Delta< 0 && pMsg->MsgMouseWndPT.y<m_CurSplitWndIt->SplitRect.y+m_CurSplitWndIt->SplitRect.cy/2);\n\t\tif(bMove)\n\t\t{\n\t\t\tm_NextSplitWndIt = m_CurSplitWndIt+1;\n\t\t\tif(\tm_NextSplitWndIt!=m_WndList.End()&& \n\t\t\t\tm_CurSplitWndIt->SizeXorY+Delta>0 && \n\t\t\t\tm_NextSplitWndIt->SizeXorY-Delta>0)\n\t\t\t{\n\t\t\t\tm_CurSplitWndIt->SizeXorY+=Delta;\n\t\t\t\tif(m_NextSplitWndIt!=m_WndList.End())\n\t\t\t\t\t(*m_NextSplitWndIt).SizeXorY-=Delta;\n\t\t\t\tAdjustWndPos();\n\t\t\t}\n\t\t}\n\t}\n\telse\n\t{\n\t\tCWSWndList::IT Iter;\n\t\tIter=m_WndList.Begin();\n\t\tbInResizeArea = false;\n\t\twhile(Iter!=m_WndList.End())\n\t\t{\n\t\t\tif(PtInRect(&Iter->SplitRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tbInResizeArea = true;\n\t\t\t\tm_pWispBase->ChangeCursorType((m_Style & WISP_SWS_HORZ)?WISP_CT_RESIZE_HORZ:WISP_CT_RESIZE_VERT);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tIter++;\n\t\t}\n\t}\n\treturn true;\n}\n\nvoid CWispSplitWnd::AdjustWndPos()\n{\n\tint SizeXorY;\n\tWISP_SPLIT_WND*pWSWnd;\n\tCWSWndList::IT Iter;\n\tIter=m_WndList.Begin();\n\tSizeXorY=0;\n\tfor(int n=0;n<m_WndList.Count();n++)\n\t{\n\t\tpWSWnd=&(*Iter);\n\t\tif(m_Style & WISP_SWS_HORZ)\n\t\t{\n\t\t\tif(n==m_WndList.Count()-1)\n\t\t\t\tpWSWnd->SizeXorY = m_ClientRect.cx-SizeXorY;\n\t\t\tpWSWnd->pWnd->MoveToClient(SizeXorY,0);\n\t\t\tpWSWnd->pWnd->Resize(pWSWnd->SizeXorY,m_ClientRect.cy);\n\t\t\tpWSWnd->SplitRect.y=m_ClientRect.y;\n\t\t\tpWSWnd->SplitRect.cy=m_ClientRect.cy;\n\t\t\tpWSWnd->SplitRect.x=m_ClientRect.x+SizeXorY+pWSWnd->pWnd->m_WindowRect.cx;\n\t\t\tpWSWnd->SplitRect.cx=m_SplitBorderSize;\n\t\t\tSizeXorY+=pWSWnd->SizeXorY+pWSWnd->SplitRect.cx;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(n==m_WndList.Count()-1)\n\t\t\t\tpWSWnd->SizeXorY=m_ClientRect.cy-SizeXorY;\n\t\t\tpWSWnd->pWnd->MoveToClient(0,SizeXorY);\n\t\t\tpWSWnd->pWnd->Resize(m_ClientRect.cx,pWSWnd->SizeXorY);\n\t\t\tpWSWnd->SplitRect.x=m_ClientRect.x;\n\t\t\tpWSWnd->SplitRect.cx=m_ClientRect.cx;\n\t\t\tpWSWnd->SplitRect.y=m_ClientRect.y+SizeXorY+pWSWnd->pWnd->m_WindowRect.cy;\n\t\t\tpWSWnd->SplitRect.cy=m_SplitBorderSize;\n\t\t\tSizeXorY+=pWSWnd->SizeXorY+pWSWnd->SplitRect.cy;\n\t\t}\n\t\tIter++;\n\t}\n\tUpdate();\n}\n\nbool CWispSplitWnd::InsertWnd(IN CWispWnd*pWnd,IN UINT Style,IN int SizeXorY,IN int InsertPos)\n{\n\tWISP_SPLIT_WND WSWnd;\n\tCWSWndList::IT Iter;\n\tif(InsertPos>m_WndList.Count())\n\t\treturn false;\n\tWSWnd.pWnd = pWnd;\n\tWSWnd.Style = Style;\n\tWSWnd.SizeXorY = SizeXorY;\n\tif(InsertPos<0)\n\t{\n\t\tIter=m_WndList.Append(WSWnd);\n\t}\n\telse\n\t{\n\t\tif(m_WndList.Count()>0)\n\t\t\tIter=m_WndList[InsertPos];\n\t\tIter=m_WndList.InsertBefore(Iter,WSWnd);\n\t}\n\treturn true;\n}\n\nbool CWispSplitWnd::RemoveWnd(IN CWispWnd*pWnd)\n{\n\tint DelCount;\n\tCWSWndList::IT Iter;\n\tDelCount=0;\n\tIter=m_WndList.Begin();\n\twhile(Iter!=m_WndList.End())\n\t{\n\t\tif(Iter->pWnd==pWnd)\n\t\t{\n\t\t\tm_WndList.Remove(Iter);\n\t\t\tDelCount++;\n\t\t}\n\t\tIter++;\n\t}\n\treturn DelCount!=0;\n}\n\nbool CWispSplitWnd::ResizeWndSpace(int Pos,int SizeXorY)\n{\n\tif(Pos>=m_WndList.Count())\n\t\treturn false;\n\tCWSWndList::IT Iter = m_WndList[Pos];\n\tIter->SizeXorY = SizeXorY;\n\treturn true;\n}\n\nbool CWispSplitWnd::GetWndSpace(int Pos,int& SizeXorY)const \n{\n\tif(Pos>=m_WndList.Count())\n\t\treturn false;\n\tCWSWndList::IT Iter = m_WndList[Pos];\n\tSizeXorY=Iter->SizeXorY;\n\treturn true;\n}\n\nvoid CWispSplitWnd::ExpandWnd(int Pos)\n{\n\tint Index,TotalSize;\n\tIndex=0;\n\tTotalSize = (m_Style & WISP_SWS_HORZ)?m_ClientRect.cx:m_ClientRect.cy;\n\tfor(CWSWndList::IT Iter = m_WndList.Begin();Iter!=m_WndList.End();Iter++)\n\t{\n\t\tif(Index==Pos)\n\t\t{\n\t\t\tIter->SizeXorY = TotalSize - (m_WndList.Count()-1)*(m_SplitBorderSize+1);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tIter->SizeXorY = 1;\n\t\t}\n\t\tIndex++;\n\t}\n\tAdjustWndPos();\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispSplitWnd.h",
    "content": "#ifndef _WISP_SPLIT_WND_H_\n#define _WISP_SPLIT_WND_H_\n\n#include \"WispWnd.h\"\n\n//SplitWnd\n#define WISP_SWS_VERT\t\t\t0x00010000\n#define WISP_SWS_HORZ\t\t\t0x00020000\n#define WISP_SWS_AUTO_RESIZE\t0x00040000\n//Ӵ\n#define WISP_SWS_TITLE\t\t\t0x10000000\n\nstruct WISP_SPLIT_WND\n{\n\tCWispWnd*\tpWnd;\n\tint\t\t\tSizeXorY;\n\tUINT\t\tStyle;\n\tWISP_RECT\tSplitRect;\n};\n\ntypedef TList<WISP_SPLIT_WND>\tCWSWndList;\n\nclass CWispSplitWnd : public CWispWnd\n{\npublic:\n\tCWispSplitWnd();\n\t~CWispSplitWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnUpdate);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnMouseMove);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n\tDECLARE_WISP_MSG(OnMouseDBClick);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnSize);\n\tDECLARE_WISP_MSG(OnParentResize);\npublic:\n\tWISP_SIZE\t\tm_DeltaSize;\n\tint\t\t\t\tm_SplitBorderSize;\n\tCWSWndList\t\tm_WndList;\n\tCWSWndList::IT\tm_CurSplitWndIt;\n\tCWSWndList::IT\tm_NextSplitWndIt;\n\tbool\tInsertWnd(IN CWispWnd*pWnd,IN UINT Style,IN int SizeXorY,IN int InsertPos = -1);\n\tbool\tRemoveWnd(IN CWispWnd*pWnd);\n\tbool\tResizeWndSpace(int Pos,int SizeXorY);\n\tbool\tGetWndSpace(int Pos,int& SizeXorY)const ;\n\tvoid\tAdjustWndPos();\n\tvoid\tExpandWnd(int Pos);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispStatic.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispStatic.h\"\n\nWISP_MSG_MAP_BEGIN(CWispStaticStr)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\t\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispStaticStr::CWispStaticStr()\n{\n\tm_CtrlType = WISP_CTRL_STATIC_STRING;\n}\n\nbool CWispStaticStr::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tCOLORREF OrgTextColor;\n\tif(m_WndText.m_Length)\n\t{\n\t\tif(IsDisabled())\n\t\t{\n\t\t\tOrgTextColor = m_WindowDC.GetTextColor();\n\t\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRAY]);\n\t\t}\n\t\tm_WindowDC.DrawString(m_WndText,&m_WindowRect, 0);\n\t\tif(IsDisabled())\n\t\t\tm_WindowDC.SetTextColor(OrgTextColor);\n\t}\n\treturn true;\n}\n\nWISP_MSG_MAP_BEGIN(CWispStaticDIB)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispStaticDIB::CWispStaticDIB()\n{\n\tm_CtrlType = WISP_CTRL_STATIC_DIB;\n}\n\nbool CWispStaticDIB::Create(CWispDIB*pDIB,int x,int y,CWispBaseWnd* pParentWnd, UINT nID)\n{\n\tm_pDIB = pDIB;\n\treturn CWispBaseWnd::Create(NULL, x, y,m_pDIB->m_FrameBuffer.Width,m_pDIB->m_FrameBuffer.Height,pParentWnd, nID,WISP_WS_NULL);\n}\n\nbool CWispStaticDIB::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tm_WindowDC.DrawDIB(0,0,m_pDIB);\n\treturn true;\n}\n\n\nWISP_MSG_MAP_BEGIN(CWispStaticGroup)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispStaticGroup::CWispStaticGroup()\n{\n\tm_CtrlType = WISP_CTRL_STATIC_GROUP;\n}\n\nbool CWispStaticGroup::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\treturn false;\n}\n\nbool CWispStaticGroup::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tint nTextLen = m_WindowDC.GetTextExtent(m_WndText);\n\tCOLORREF color = m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT];\n\tCWispRect rc(m_WindowRect);\n\trc.y += m_WindowDC.m_pFont->m_Height/2;\n\trc.cy-= m_WindowDC.m_pFont->m_Height/2;\n\tm_WindowDC.DrawCircleLeftTop(rc.x+5,rc.y+5,5,color);\n\tm_WindowDC.DrawCircleLeftBottom(rc.x+5,rc.y2()-5,5,color);\n\tm_WindowDC.DrawCircleRightTop(rc.x2()-5,rc.y+5,5,color);\n\tm_WindowDC.DrawCircleRightBottom(rc.x2()-5,rc.y2()-5,5,color);\n\tm_WindowDC.DrawVLine(rc.x,\t\trc.y+5,\trc.y2()-5, color);\n\tm_WindowDC.DrawVLine(rc.x2(),\trc.y+5,\trc.y2()-5, color);\n\tm_WindowDC.DrawHLine(rc.x+nTextLen?nTextLen+15:nTextLen+5, rc.x2()-5, rc.y, color);\n\tm_WindowDC.DrawHLine(rc.x+5,\trc.x2()-5, rc.y2(), color);\n\trc.SetRect(rc.x+10,rc.y-m_WindowDC.m_pFont->m_Height/2,nTextLen,m_WindowDC.m_pFont->m_Height);\n\tif(m_WndText.m_Length)\n\t\tm_WindowDC.DrawString(m_WndText, &rc, WISP_DT_VCENTER|WISP_DT_SINGLELINE);\n\treturn false;\n}\n\nWISP_MSG_MAP_BEGIN(CWispStaticURL)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_ENTER,OnMouseEnter)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nCWispStaticURL::CWispStaticURL()\n{\n\tm_CtrlType = WISP_CTRL_STATIC_URL;\n\tm_bHover = false;\n}\n\nbool CWispStaticURL::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tif(m_WndText.m_Length)\n\t{\n\t\tif(IsDisabled())\n\t\t{\n\t\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRAY]);\n\t\t\tm_WindowDC.DrawString(m_WndText,&m_WindowRect, 0);\n\t\t\tm_WindowDC.RestoreTextColor();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_bHover)\n\t\t\t\tm_WindowDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\tm_WindowDC.DrawString(m_WndText,&m_WindowRect, 0);\n\t\t\tif(m_bHover)\n\t\t\t{\n\t\t\t\tm_WindowDC.DrawHLine(0,m_WindowDC.GetTextExtent(m_WndText),\n\t\t\t\t\tm_WindowRect.y+m_WindowDC.GetTextHeight(),m_pWispBase->m_pCurDrawObj->m_crSystem[SC_LIGHT_BLUE]);\n\t\t\t\tm_WindowDC.RestoreTextColor();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispStaticURL::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON && pMsg->KeyEvent.bKeyDown == false)\n\t{\n#ifdef CODE_OS_WIN\n\t\tchar szBuffer[MAX_FN_LEN];\n\t\tUnicodeToAnsi(GetWindowText(),szBuffer,sizeof(szBuffer));\n\t\tShellExecute(NULL,\"open\",szBuffer,NULL,NULL,SW_SHOWMAXIMIZED);\n#endif\n\t\tMsg.hWnd = m_OwnerWnd;\n\t\tMsg.Msg = WISP_WM_COMMAND;\n\t\tMsg.Command.CmdID = m_CmdID;\n\t\tMsg.Command.CmdMsg = WISP_CMD_STATIC_URL_CLICK;\n\t\tMsg.Command.Param1 = 0;\n\t\tMsg.Command.Param2 = NULL;\n\t\tif(SEND_MSG(&Msg)==false)\n\t\t\treturn false;\n\t}\n\t\n\treturn true;\n}\n\nbool CWispStaticURL::OnMouseEnter(IN WISP_MSG*pMsg)\n{\n\tm_bHover = true;\n\tUpdate();\n\treturn true;\n}\n\nbool CWispStaticURL::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tm_bHover = false;\n\tUpdate();\n\treturn true;\n}\n\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispStatic.h",
    "content": "#ifndef _WISP_STATIC_H_\n#define _WISP_STATIC_H_\n\n#include \"WispBaseWnd.h\"\n\nclass CWispStaticStr : public CWispBaseWnd\n{\npublic:\n\tCWispStaticStr();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n};\n\nclass CWispStaticDIB : public CWispBaseWnd\n{\npublic:\n\tCWispStaticDIB();\n\tbool Create(CWispDIB*pDIB,int x,int y,CWispBaseWnd* pParentWnd, UINT nID = WISP_ID_STATIC_DIB);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\npublic:\n\tCWispDIB*\tm_pDIB;\n};\n\nclass CWispStaticGroup : public CWispBaseWnd\n{\npublic:\n\tCWispStaticGroup();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n\tDECLARE_WISP_MSG(OnGetFocus)\n};\n\n\nclass CWispStaticURL : public CWispBaseWnd\n{\npublic:\n\tCWispStaticURL();\npublic:\n\tbool\t\tm_bHover;\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnMouseEnter);\n\tDECLARE_WISP_MSG(OnMouseLeave);\n};\n\n#endif\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispTabWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispTabWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispTabWnd)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent);\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispTabWnd)\n\tWISP_MSG_EVENT_MAP(WISP_ID_TAB_CLOSE_BT,OnEventCloseBT)\nWISP_MSG_EVENT_MAP_END\n\nbool CWispTabWnd::InitWnd()\n{\n\tif(CWispWnd::InitWnd()==false)\n\t\treturn false;\n\tif((m_Style & WISP_TWS_POS_MASK)==0)\n\t\tm_Style |= WISP_TWS_TOP;\n\tm_FixedTabWidth = 0;\n\tm_TabTailSpace = 0;\n\tm_pClsBTDIB = WispTKDIBList(\"\\\\Skin\\\\Default\\\\MiniClose.bmp\",10,10);\n\tm_CloseBTSize.cx = m_CloseBTSize.cy = 10;\n\tif(m_Style&WISP_TWS_CLOSE_BT)\n\t\tm_TabTailSpace += m_CloseBTSize.cx;\n\tm_TabItemWidth = 0;\n\tm_FocusWndNameClr = SYS_COLOR[SC_GRADIENT_YELLOW_1];\n\treturn true;\n}\n\nbool CWispTabWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tUINT Index=0;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tif(PtInRect(&WndIt->TabRC,pMsg->MsgMouseCltPT))\n\t\t{\n\t\t\tm_nHoverIndex = Index;\n\t\t\tUpdate(&m_FullTabRect);\n\t\t\treturn false;\n\t\t}\n\t\tWndIt++;\n\t\tIndex++;\n\t}\n\tif(m_nHoverIndex!=-1)\n\t{\n\t\tUpdate(&m_FullTabRect);\n\t\tm_nHoverIndex = -1;\n\t}\n\treturn true;\n}\n\nbool CWispTabWnd::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tif(m_nHoverIndex!=-1)\n\t{\n\t\tUpdate(&m_FullTabRect);\n\t\tm_nHoverIndex = -1;\n\t}\n\treturn true;\n}\n\nbool CWispTabWnd::OnEventCloseBT(IN WISP_MSG*pMsg)\n{\n\tWISP_TAB_WND_ITEM*pItem = (WISP_TAB_WND_ITEM*)pMsg->hSrcWnd->m_WndData;\n\tif(pItem==NULL)\n\t\treturn false;\n\tRemoveTabWnd(pItem,(pItem->pWnd->m_AdvStyle&WISP_WAS_AUTO_DELETE)!=0);\n\tUpdate();\n\treturn true;\n}\n\nbool CWispTabWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t\treturn true;\n\tswitch(pMsg->KeyEvent.KeyType)\n\t{\n\tcase WISP_VK_LBUTTON:\n\t\t{\n\t\t\tUINT Index=0;\n\t\t\tCTabWndList::IT WndIt=m_WndList.Begin();\n\t\t\twhile(WndIt!=m_WndList.End())\n\t\t\t{\n\t\t\t\tif(PtInRect(&WndIt->TabRC,pMsg->MsgMouseCltPT))\n\t\t\t\t{\n\t\t\t\t\tif(Index!=m_ActiveWndIndex)\n\t\t\t\t\t{\n\t\t\t\t\t\tSetActiveWnd(Index);\n\t\t\t\t\t\tUpdate();\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tWndIt++;\n\t\t\t\tIndex++;\n\t\t\t}\n\t\t}\n\t\tbreak;\n\tcase WISP_VK_TAB:\n\t\tif(m_WndList.Count())\n\t\t{\n\t\t\tif(m_pWispBase->m_KeyMap[WISP_VK_SHIFT])\n\t\t\t\tActivePrevPage();\n\t\t\telse\n\t\t\t\tActiveNextPage();\n\t\t\tUpdate();\n\t\t}\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nvoid CWispTabWnd::DrawTabTop()\n{\n\tCWispRect TabRC;\n\tint StrLen;\n\tTabRC.x=TabRC.y=0;\n\tTabRC.cx=m_ClientRect.cx;\n\tTabRC.cy=m_TabSpaceHeight;\n\tm_pWispBase->m_pCurDrawObj->DrawTabBackground(&m_ClientDC, &TabRC);\n\tm_ClientDC.DrawHLine(TabRC.x, TabRC.x2(), TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BORDER_BG]);\n\n\tUINT Index=0;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tStrLen = TStrLen(WndIt->Name);\n\t\tTabRC = WndIt->TabRC;\n\t\tm_ClientDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_TEXT]);\n\t\tUINT uState;\n\t\tif(Index==m_ActiveWndIndex)\n\t\t\tuState = STATUS_DOWN;\n\t\telse if(Index==m_nHoverIndex)\n\t\t\tuState = STATUS_HOVER;\n\t\telse\n\t\t\tuState = STATUS_NORMAL;\n\n\t\tswitch(uState)\n\t\t{\n\t\tcase STATUS_NORMAL:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y+1, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y+1, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tTabRC.DeflateRect(1, 1);\n\t\t\tbreak;\n\t\tcase STATUS_HOVER:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y+3, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y+3, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+2, TabRC.x2()-2, TabRC.y, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_1]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y+1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y+2, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t\tTabRC.x += 1;\n\t\t\tTabRC.cx -= 2;\n\t\t\tTabRC.y += 3;\n\t\t\tTabRC.cy -= 4;\n\t\t\tbreak;\n\t\tcase STATUS_DOWN:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y+3, TabRC.y2()-3, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y+3, TabRC.y2()-3, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+2, TabRC.x2()-2, TabRC.y, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_1]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y+1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y+2, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t\tTabRC.x += 1;\n\t\t\tTabRC.cx -= 2;\n\t\t\tTabRC.y += 3;\n\t\t\tTabRC.cy -= 3;\n\t\t\tbreak;\n\t\t}\n\t\tif(uState==STATUS_DOWN)\n\t\t\tm_ClientDC.DrawFullRect(&TabRC, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_CLIENT_BG]);\n\t\telse\n\t\t\tm_ClientDC.DrawFullRect(&TabRC, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG]);\n\n\t\tif(WndIt->pDIB)\n\t\t{\n\t\t\tm_ClientDC.DrawDIB(TabRC.x + 2 ,TabRC.y+CENTER_ALGN(WndIt->pDIB->m_FrameBuffer.Height,TabRC.cy),WndIt->pDIB);\n\t\t\tTabRC.x+=WndIt->pDIB->m_FrameBuffer.Width;\n\t\t\tTabRC.cx-=WndIt->pDIB->m_FrameBuffer.Width;\n\t\t}\n\t\tTabRC.x+=4;\n\t\tTabRC.cx-=4;\n\t\tTabRC.cx-=m_TabTailSpace;\n\t\tif(m_pWispBase->m_pFocusWnd && (m_pWispBase->m_pFocusWnd == WndIt->pWnd || m_pWispBase->m_pFocusWnd->IsChildWndOf(WndIt->pWnd)))\n\t\t{\n\t\t\tm_ClientDC.SetTextColor(m_FocusWndNameClr);\n\t\t\tm_ClientDC.DrawShadowString(&TabRC,WndIt->Name);\n\t\t\tm_ClientDC.RestoreTextColor();\n\t\t}\n\t\telse\n\t\t\tm_ClientDC.DrawString(&TabRC,WndIt->Name);\n\t\tWndIt++;\n\t\tIndex++;\n\t}\n}\n\nvoid CWispTabWnd::DrawTabButtom()\n{\n\tCWispRect TabRC;\n\tint StrLen;\n\tTabRC.x=0;\n\tTabRC.y=m_ClientRect.cy-m_TabSpaceHeight;\n\tTabRC.cx=m_ClientRect.cx;\n\tTabRC.cy=m_TabSpaceHeight;\n\tm_pWispBase->m_pCurDrawObj->DrawTabBackground(&m_ClientDC, &TabRC);\n\tm_ClientDC.DrawHLine(TabRC.x, TabRC.x2(), TabRC.y, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BORDER_BG]);\n\tUINT Index=0;\n\tCTabWndList::IT WndIt=m_WndList.Begin();\n\twhile(WndIt!=m_WndList.End())\n\t{\n\t\tStrLen = TStrLen(WndIt->Name);\n\t\tTabRC = WndIt->TabRC;\n\t\tm_ClientDC.SetTextColor(m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_TEXT]);\n\t\tUINT uState;\n\t\tif(Index==m_ActiveWndIndex)\n\t\t\tuState = STATUS_DOWN;\n\t\telse if(Index==m_nHoverIndex)\n\t\t\tuState = STATUS_HOVER;\n\t\telse\n\t\t\tuState = STATUS_NORMAL;\n\t\tswitch(uState)\n\t\t{\n\t\tcase STATUS_NORMAL:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y, TabRC.y2()-1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y, TabRC.y2()-1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tTabRC.DeflateRect(1,1);\n\t\t\tbreak;\n\t\tcase STATUS_HOVER:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y, TabRC.y2()-3, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y, TabRC.y2()-3, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+2, TabRC.x2()-2, TabRC.y2()  , m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_1]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y2()-1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y2()-2, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t\tTabRC.x+=1;\n\t\t\tTabRC.cx-=2;\n\t\t\tTabRC.y+=1;\n\t\t\tTabRC.cy-=4;\n\t\t\tbreak;\n\t\tcase STATUS_DOWN:\n\t\t\tm_ClientDC.DrawVLine(TabRC.x, TabRC.y, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawVLine(TabRC.x2(), TabRC.y, TabRC.y2(), m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_BORDER_TOPLEFT]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+2, TabRC.x2()-2, TabRC.y2()  , m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_1]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y2()-1, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_2]);\n\t\t\tm_ClientDC.DrawHLine(TabRC.x+1, TabRC.x2()-1, TabRC.y2()-2, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_GRADIENT_YELLOW_3]);\n\t\t\tTabRC.x+=1;\n\t\t\tTabRC.cx-=2;\n\t\t\tTabRC.cy-=3;\n\t\t\tbreak;\n\t\t}\n\t\tif(uState==STATUS_DOWN)\n\t\t\tm_ClientDC.DrawFullRect(&TabRC, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_CLIENT_BG]);\n\t\telse\n\t\t\tm_ClientDC.DrawFullRect(&TabRC, m_pWispBase->m_pCurDrawObj->m_crSystem[SC_CTRL_NORMAL_DARK_CLIENT_BG]);\n\t\tif(WndIt->pDIB)\n\t\t{\n\t\t\tm_ClientDC.DrawDIB(TabRC.x + 2 ,TabRC.y+CENTER_ALGN(WndIt->pDIB->m_FrameBuffer.Height,TabRC.cy),WndIt->pDIB);\n\t\t\tTabRC.x+=WndIt->pDIB->m_FrameBuffer.Width;\n\t\t\tTabRC.cx-=WndIt->pDIB->m_FrameBuffer.Width;\n\t\t}\n\t\tTabRC.x+=4;\n\t\tTabRC.cx-=4;\n\t\tTabRC.cx-=m_TabTailSpace;\n\t\tif(m_pWispBase->m_pFocusWnd && (m_pWispBase->m_pFocusWnd == WndIt->pWnd || m_pWispBase->m_pFocusWnd->IsChildWndOf(WndIt->pWnd)))\n\t\t{\n\t\t\tm_ClientDC.SetTextColor(m_FocusWndNameClr);\n\t\t\tm_ClientDC.DrawShadowString(&TabRC,WndIt->Name);\n\t\t\tm_ClientDC.RestoreTextColor();\n\t\t}\n\t\telse\n\t\t\tm_ClientDC.DrawString(&TabRC,WndIt->Name);\n\t\tWndIt++;\n\t\tIndex++;\n\t}\n}\n\nvoid CWispTabWnd::DrawTabLeft()\n{\n\n}\n\nvoid CWispTabWnd::DrawTabRight()\n{\n\n}\n\nbool CWispTabWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tif(m_WndList.Count()==0)\n\t\tCWispWnd::OnUpdateClient(pMsg);\n\tif((m_Style&WISP_TWS_HIDE_TAB_SINGLE) && m_WndList.Count()==1)\n\t\treturn false;\n\tswitch(m_Style & WISP_TWS_POS_MASK)\n\t{\n\tcase WISP_TWS_TOP:\n\t\tDrawTabTop();\n\t\tbreak;\n\tcase WISP_TWS_BUTTOM:\n\t\tDrawTabButtom();\n\t\tbreak;\n\tcase WISP_TWS_LEFT:\n\t\tDrawTabLeft();\n\t\tbreak;\n\tcase WISP_TWS_RIGHT:\n\t\tDrawTabRight();\n\t\tbreak;\n\t}\n\treturn false;\n}\n\nbool CWispTabWnd::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\tswitch(m_Style & WISP_TWS_POS_MASK)\n\t{\n\tcase WISP_TWS_TOP:\n\t\tOnTopRecalcLayout();\n\t\tbreak;\n\tcase WISP_TWS_BUTTOM:\n\t\tOnButtomRecalcLayout();\n\t\tbreak;\n\tcase WISP_TWS_LEFT:\n\t\tOnLeftRecalcLayout();\n\t\tbreak;\n\tcase WISP_TWS_RIGHT:\n\t\tOnRightRecalcLayout();\n\t\tbreak;\n\tdefault:\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CWispTabWnd::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tm_pWispBase->m_pFocusWnd = m_pActiveWnd;\n\treturn true;\n}\n\nbool CWispTabWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_WndList.Clear();\n\tm_pActiveWnd=NULL;\n\tm_ActiveWndIndex=m_nHoverIndex=-1;\n\treturn true;\n}\n\nbool CWispTabWnd::OnSize(IN WISP_MSG*pMsg)\n{\n\tif(m_pActiveWnd)\n\t{\n\t\tif( (m_Style & WISP_TWS_POS_MASK) < WISP_TWS_LEFT )\n\t\t{\n\t\t\tm_pActiveWnd->Resize(m_ClientRect.cx,m_ClientRect.cy-m_TabSpaceHeight);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_pActiveWnd->Resize(m_ClientRect.cx-m_TabSpaceHeight,m_ClientRect.cy);\n\t\t}\n\t}\n\treturn true;\n}\n\nCWispTabWnd::CWispTabWnd()\n{\n\tm_TabHeight=WISP_FONT_FRAME_HEIGHT;\n\tm_TabSpaceHeight=m_TabHeight+2;\n\tm_pActiveWnd=NULL;\n\tm_ActiveWndIndex=-1;\n\tm_nHoverIndex=-1;\n}\n\nvoid CWispTabWnd::InsertTabWnd(INOUT WISP_TAB_WND_ITEM*pTabItem,IN const WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB)\n{\n\tif((m_Style&WISP_TWS_HIDE_TAB_SINGLE) && m_WndList.Count()==1)\n\t\tm_TabSpaceHeight = 0;\n\telse\n\t\tm_TabSpaceHeight = m_TabHeight+2;\n\tpTabItem->pDIB=pTabDIB;\n\tpTabItem->pWnd = pWnd;\n\tif(Name)\n\t\tTStrCpy(pTabItem->Name,Name);\n\tif(m_Style&WISP_TWS_CLOSE_BT)\n\t{\n\t\tpTabItem->pClsBT = new CWispButton;\n\t\tpTabItem->pClsBT->CreateEx(m_pClsBTDIB,0,0,this,WISP_ID_TAB_CLOSE_BT);\n\t\tpTabItem->pClsBT->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\t\tpTabItem->pClsBT->m_WndData = pTabItem;\n\t}\n\telse\n\t{\n\t\tpTabItem->pClsBT = NULL;\n\t}\n\tRecalcLayout();\n\tif(m_WndList.Count()==1)\n\t\tSetActiveWnd(0);\n\telse\n\t\tpTabItem->pWnd->Show(WISP_SH_HIDDEN);\n\n\tif((m_Style&WISP_TWS_CLOSE_BT) && (m_Style&WISP_TWS_MULTI_VIEW_STYLE))\n\t{\n\t\tif(m_WndList.Count()==1)\n\t\t\tGetCloseButton(0)->EnableWindow(false);\n\t\tif(m_WndList.Count()==2)\n\t\t\tGetCloseButton(0)->EnableWindow(true);\n\t}\n}\n\nvoid CWispTabWnd::RemoveTabWnd(WISP_TAB_WND_ITEM*pItem,bool bDestroyWnd)\n{\n\tif(OnCloseTabWnd(pItem->pWnd)==false)\n\t\treturn;\n\tif(pItem->pClsBT)\n\t\tpItem->pClsBT->Destroy();\n\tif(bDestroyWnd)\n\t\tpItem->pWnd->Destroy();\n\tif(pItem->pWnd==m_pActiveWnd)\n\t{\n\t\tm_WndList.Remove(*pItem);\n\t\tm_ActiveWndIndex = -1;\n\t\tm_pActiveWnd = NULL;\n\t\tOnClosedTabWnd();\n\t\tif(m_WndList.Count())\n\t\t\tSetActiveWnd(m_WndList.Count()-1);\n\t}\n\telse\n\t{\n\t\tm_WndList.Remove(*pItem);\n\t\tOnClosedTabWnd();\n\t}\n\tif((m_Style&WISP_TWS_CLOSE_BT) && (m_Style&WISP_TWS_MULTI_VIEW_STYLE))\n\t{\n\t\tif(m_WndList.Count()==1)\n\t\t\tGetCloseButton(0)->EnableWindow(false);\n\t}\n\tif((m_Style&WISP_TWS_HIDE_TAB_SINGLE) && m_WndList.Count()==1)\n\t{\n\t\tm_TabSpaceHeight = 0;\n\t\tm_ActiveWndIndex = -1;\n\t\tSetActiveWnd(0);\n\t}\n\tRecalcLayout();\n\tUpdate(&m_FullTabRect);\n}\n\nvoid CWispTabWnd::OnTopRecalcLayout()\n{\n\tUINT Index;\n\tWISP_RECT TabRC;\n\tTabRC.cx=m_ClientRect.cx;\n\tTabRC.cy=m_pWispBase->m_Metrics[WISP_SM_FONT_FRAME_HEIGHT];\n\tTabRC.x=3;\n\tTabRC.y=m_TabSpaceHeight-TabRC.cy;\n\tm_FullTabRect = TabRC;\n\tTabRC.cy=m_TabHeight;\n\tm_FixedTabWidth = 0;\n\tif(m_Style & WISP_TWS_FIXED_WIDTH)\n\t{\n\t\tfor(CTabWndList::IT WndIt=m_WndList.Begin();WndIt!=m_WndList.End();WndIt++)\n\t\t{\n\t\t\tTabRC.cx = m_ClientDC.GetTextExtent(WndIt->Name)+8;\n\t\t\tif(WndIt->pDIB)\n\t\t\t\tTabRC.cx+=WndIt->pDIB->m_FrameBuffer.Width+4;\n\t\t\tif(m_FixedTabWidth<TabRC.cx)\n\t\t\t\tm_FixedTabWidth = TabRC.cx;\n\t\t}\n\t}\n\tIndex = 0;\n\tfor(CTabWndList::IT WndIt=m_WndList.Begin();WndIt!=m_WndList.End();WndIt++)\n\t{\n\t\tTabRC.cx = m_ClientDC.GetTextExtent(WndIt->Name)+8+m_TabTailSpace;\n\t\tif(WndIt->pDIB)\n\t\t\tTabRC.cx+=WndIt->pDIB->m_FrameBuffer.Width+4;\n\t\tif(TabRC.cx<m_FixedTabWidth)\n\t\t\tTabRC.cx = m_FixedTabWidth;\n\t\tWndIt->TabRC = TabRC;\n\t\tif(Index==m_ActiveWndIndex)\n\t\t{\n\t\t\tWndIt->TabRC.y-=2;\n\t\t\tWndIt->TabRC.cy+=2;\n\t\t\tWndIt->TabRC.x-=2;\n\t\t\tWndIt->TabRC.cx+=4;\n\t\t}\n\t\tif(m_Style&WISP_TWS_CLOSE_BT)\n\t\t\tWndIt->pClsBT->MoveToClient(WndIt->TabRC.x+WndIt->TabRC.cx-WndIt->pClsBT->m_WindowRect.cx-2,WndIt->TabRC.y+CENTER_ALGN(WndIt->pClsBT->m_WindowRect.cy,m_FullTabRect.cy));\n\t\tTabRC.x += (TabRC.cx+1);\n\t\tIndex++;\n\t}\n\tm_TabItemWidth = TabRC.x;\n}\n\nvoid CWispTabWnd::OnButtomRecalcLayout()\n{\n\tUINT Index;\n\tWISP_RECT TabRC;\n\tTabRC.cx=m_ClientRect.cx;\n\tTabRC.cy=m_pWispBase->m_Metrics[WISP_SM_FONT_FRAME_HEIGHT];\n\tTabRC.x=3;\n\tTabRC.y=m_ClientRect.cy - m_TabSpaceHeight;\n\tm_FullTabRect = TabRC;\n\tTabRC.cy=m_TabHeight;\n\tm_FixedTabWidth = 0;\n\tif(m_Style&WISP_TWS_FIXED_WIDTH)\n\t{\n\t\tfor(CTabWndList::IT WndIt=m_WndList.Begin();WndIt!=m_WndList.End();WndIt++)\n\t\t{\n\t\t\tTabRC.cx = m_ClientDC.GetTextExtent(WndIt->Name)+8;\n\t\t\tif(WndIt->pDIB)\n\t\t\t\tTabRC.cx+=WndIt->pDIB->m_FrameBuffer.Width+4;\n\t\t\tif(m_FixedTabWidth<TabRC.cx)\n\t\t\t\tm_FixedTabWidth = TabRC.cx;\n\t\t}\n\t}\n\tIndex = 0;\n\tfor(CTabWndList::IT WndIt=m_WndList.Begin();WndIt!=m_WndList.End();WndIt++)\n\t{\n\t\tTabRC.cx = m_ClientDC.GetTextExtent(WndIt->Name)+8+m_TabTailSpace;\n\t\tif(WndIt->pDIB)\n\t\t\tTabRC.cx+=WndIt->pDIB->m_FrameBuffer.Width+4;\n\t\tif(TabRC.cx<m_FixedTabWidth)\n\t\t\tTabRC.cx = m_FixedTabWidth;\n\t\tWndIt->TabRC = TabRC;\n\t\tif(Index==m_ActiveWndIndex)\n\t\t{\n\t\t\tWndIt->TabRC.cy+=2;\n\t\t\tWndIt->TabRC.x-=2;\n\t\t\tWndIt->TabRC.cx+=4;\n\t\t}\n\t\tif(m_Style&WISP_TWS_CLOSE_BT)\n\t\t\tWndIt->pClsBT->MoveToClient(WndIt->TabRC.x+WndIt->TabRC.cx-WndIt->pClsBT->m_WindowRect.cx-2,WndIt->TabRC.y+3);\n\t\tTabRC.x += (TabRC.cx+1);\n\t\tIndex++;\n\t}\n\tm_TabItemWidth = TabRC.x;\n}\n\nvoid CWispTabWnd::OnLeftRecalcLayout()\n{\n\n}\n\nvoid CWispTabWnd::OnRightRecalcLayout()\n{\n\n}\n\nUINT CWispTabWnd::InsertWnd(IN const WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB)\n{\n\tCTabWndList::IT Iter;\n\tIter = m_WndList.Append();\n\tInsertTabWnd(&(*Iter),Name,pWnd,pTabDIB);\n\treturn m_WndList.Count()-1;\n}\n\nUINT CWispTabWnd::InsertWndAfter(IN int Index,IN WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB)\n{\n\tCTabWndList::IT Iter;\n\tif(Index>=m_WndList.Count())\n\t\treturn -1;\n\tIter = m_WndList.InsertAfter(m_WndList[Index]);\n\tInsertTabWnd(&(*Iter),Name,pWnd,pTabDIB);\n\treturn Index+1;\n}\n\nUINT CWispTabWnd::InsertWndBefore(IN int Index,IN WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB)\n{\n\tCTabWndList::IT Iter;\n\tif(Index>=m_WndList.Count())\n\t\treturn -1;\n\tIter = m_WndList.InsertBefore(m_WndList[Index]);\n\tInsertTabWnd(&(*Iter),Name,pWnd,pTabDIB);\n\treturn Index;\n}\n\nUINT CWispTabWnd::RemoveWnd(IN int Index,bool bDestroyWnd)\n{\n\tCTabWndList::IT WndIt;\n\tif(Index>=m_WndList.Count())\n\t\treturn m_WndList.Count();\n\tWndIt=m_WndList[Index];\n\tRemoveTabWnd(&(*WndIt),bDestroyWnd);\n\treturn m_WndList.Count();\n}\n\nUINT CWispTabWnd::RemoveWnd(IN CWispWnd*pWnd,bool bDestroyWnd)\n{\n\tfor(CTabWndList::IT WndIt=m_WndList.Begin();WndIt!=m_WndList.End();WndIt++)\n\t{\n\t\tif(pWnd==WndIt->pWnd)\n\t\t{\n\t\t\tRemoveTabWnd(&(*WndIt),bDestroyWnd);\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn m_WndList.Count();\n}\n\nCWispWnd*CWispTabWnd::GetActiveWnd()\n{\n\treturn m_pActiveWnd;\n}\n\nUINT CWispTabWnd::GetActiveWndIndex()\n{\n\treturn m_ActiveWndIndex;\n}\n\nCWispWnd*CWispTabWnd::SetActiveWnd(IN UINT Index)\n{\n\tCTabWndList::IT WndIt;\n\tif(Index==m_ActiveWndIndex)\n\t{\n\t\tm_pActiveWnd->Focus();\n\t\treturn m_pActiveWnd;\n\t}\n\tif(Index>=(UINT)m_WndList.Count())\n\t\treturn NULL;\n\tWndIt=m_WndList[Index];\n\tif(WndIt==m_WndList.End())\n\t\treturn NULL;\t\t\n\tChangeActiveWnd(WndIt->pWnd);\n\treturn m_pActiveWnd;\n}\n\nvoid CWispTabWnd::ChangeActiveWnd(IN CWispWnd*pActiveWnd)\n{\n\tint ActiveWndIndex=0;\n\tfor(CTabWndList::IT It=m_WndList.Begin();It!=m_WndList.End();It++)\n\t{\n\t\tif(It->pWnd == pActiveWnd)\n\t\t\tbreak;\n\t\tActiveWndIndex++;\n\t}\n\tif(ActiveWndIndex>=m_WndList.Count())\n\t\treturn;\n\tOnTabChanged(pActiveWnd);\n\tif(SendCmdMsg(WISP_CMD_TAB_ACTIVE_CHG,ActiveWndIndex,pActiveWnd)==false)\n\t\treturn;\n\tif(m_pActiveWnd)\n\t\tm_pActiveWnd->Show(WISP_SH_HIDDEN);\n\tm_pActiveWnd=pActiveWnd;\n\tswitch(m_Style & WISP_TWS_POS_MASK)\n\t{\n\tcase WISP_TWS_TOP:\n\t\tm_pActiveWnd->MoveToClient(0,m_TabSpaceHeight);\n\t\tm_pActiveWnd->Resize(m_ClientRect.cx,m_ClientRect.cy-m_TabSpaceHeight);\n\t\tbreak;\n\tcase WISP_TWS_BUTTOM:\n\t\tm_pActiveWnd->MoveToClient(0,0);\n\t\tm_pActiveWnd->Resize(m_ClientRect.cx,m_ClientRect.cy-m_TabSpaceHeight);\n\t\tbreak;\n\tcase WISP_TWS_LEFT:\n\t\tm_pActiveWnd->MoveToClient(m_TabSpaceHeight,0);\n\t\tm_pActiveWnd->Resize(m_ClientRect.cx-m_TabSpaceHeight,m_ClientRect.cy);\n\t\tbreak;\n\tcase WISP_TWS_RIGHT:\n\t\tm_pActiveWnd->MoveToClient(0,0);\n\t\tm_pActiveWnd->Resize(m_ClientRect.cx-m_TabSpaceHeight,m_ClientRect.cy);\n\t\tbreak;\n\t}\n\tm_pActiveWnd->Focus();\n\tm_pActiveWnd->Show();\n\tm_ActiveWndIndex = ActiveWndIndex;\n\tRecalcLayout();\n\tUpdate();\n}\n\nCWispWnd*CWispTabWnd::GetWnd(UINT Index)\n{\n\tif(Index>=(UINT)m_WndList.Count())\n\t\treturn NULL;\n\treturn m_WndList[Index]->pWnd;\n}\n\nbool CWispTabWnd::SetTabText(UINT Index,const WISP_CHAR*pStr)\n{\n\tCTabWndList::IT WndIt;\n\tWndIt=m_WndList[Index];\n\tif(WndIt==m_WndList.End())\n\t\treturn false;\n\tTStrOmit(pStr,WndIt->Name,WISP_MAX_TAB_STR);\n\tUpdate();\n\treturn true;\n}\n\nvoid CWispTabWnd::ActiveNextPage()\n{\n\tint Index = m_ActiveWndIndex+1;\n\tif(Index>=m_WndList.Count())\n\t\tIndex=0;\n\tSetActiveWnd(Index);\n}\n\nvoid CWispTabWnd::ActivePrevPage()\n{\n\tint Index = m_ActiveWndIndex-1;\n\tif(Index<0)\n\t\tIndex=m_WndList.Count()-1;\n\tSetActiveWnd(Index);\n}\n\nUINT CWispTabWnd::GetWndCount()\n{\n\treturn (UINT)m_WndList.Count();\n}\n\nCWispButton* CWispTabWnd::GetCloseButton(int Index)\n{\n\tif(Index>=m_WndList.Count())\n\t\treturn NULL;\n\tCTabWndList::IT Iter = m_WndList[Index];\n\tif(Iter->pClsBT==NULL)\n\t\treturn NULL;\n\treturn Iter->pClsBT;\n}\n\nCWispButton* CWispTabWnd::GetCloseButton(CWispWnd*pWnd)\n{\n\tfor(CTabWndList::IT Iter=m_WndList.Begin();Iter!=m_WndList.End();Iter++)\n\t{\n\t\tif(Iter->pWnd==pWnd)\n\t\t\treturn Iter->pClsBT;\n\t}\n\treturn NULL;\n}\n\nvoid CWispTabWnd::RemoveAllWnd(bool bDestroyWnd)\n{\n\tfor(CTabWndList::IT It=m_WndList.Begin();It!=m_WndList.End();It++)\n\t{\n\t\tif(It->pClsBT)\n\t\t\tIt->pClsBT->Destroy();\n\t\tif(bDestroyWnd)\n\t\t\tIt->pWnd->Destroy();\n\t}\n\tm_WndList.Clear();\n\tm_pActiveWnd = NULL;\n\tm_ActiveWndIndex=m_nHoverIndex=-1;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispTabWnd.h",
    "content": "#ifndef _WISP_TAB_WND_\n#define _WISP_TAB_WND_\n\n#include \"WispButton.h\"\n\n#define WISP_MAX_TAB_STR\t\t32\n\n#define WISP_TWS_TOP\t\t\t\t0x00010000\n#define WISP_TWS_BUTTOM\t\t\t\t0x00020000\n#define WISP_TWS_LEFT\t\t\t\t0x00040000\n#define WISP_TWS_RIGHT\t\t\t\t0x00080000\n#define WISP_TWS_POS_MASK\t\t\t0x000F0000\n#define WISP_TWS_FIXED_WIDTH\t\t0x00100000\n#define WISP_TWS_CLOSE_BT\t\t\t0x00200000\n#define WISP_TWS_MULTI_VIEW_STYLE\t0x00400000\n#define WISP_TWS_HIDE_TAB_SINGLE\t0x00800000\n\n#define\tWISP_ID_TAB_CLOSE_BT\tWISP_ID_SYS_START\n\nstruct WISP_TAB_WND_ITEM\n{\n\tCWispWnd*pWnd;\n\tWISP_CHAR Name[WISP_MAX_TAB_STR];\n\tWISP_RECT TabRC;\n\tCWispDIB* pDIB;\n\tCWispButton*pClsBT;\n};\n\ntypedef TList<WISP_TAB_WND_ITEM>\tCTabWndList;\n\nclass CWispTabWnd : public CWispWnd\n{\npublic:\n\tCWispTabWnd();\npublic:\n\tCTabWndList\t\tm_WndList;\n\tCWispWnd*\t\tm_pActiveWnd;\n\tint\t\t\t\tm_ActiveWndIndex;\n\tint\t\t\t\tm_nHoverIndex;\n\tint\t\t\t\tm_TabHeight;\n\tint\t\t\t\tm_TabSpaceHeight;\n\tint\t\t\t\tm_TabTailSpace;\n\tWISP_RECT\t\tm_FullTabRect;\n\tint\t\t\t\tm_FixedTabWidth;\n\tint\t\t\t\tm_TabItemWidth;\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnEventCloseBT)\npublic:\n\tvirtual bool InitWnd();\n\tvirtual\tvoid InsertTabWnd(INOUT WISP_TAB_WND_ITEM*pTabItem,IN const WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB);\n\tvirtual void RemoveTabWnd(WISP_TAB_WND_ITEM*pItem,bool bDestroyWnd = true);\n\tvirtual bool OnCloseTabWnd(CWispWnd*pWnd){return true;}\n\tvirtual void OnClosedTabWnd(){}\n\tvirtual void OnTabChanged(CWispWnd*pWnd){}\n\tvoid\tDrawTabTop();\n\tvoid\tDrawTabButtom();\n\tvoid\tDrawTabLeft();\n\tvoid\tDrawTabRight();\n\tUINT\tInsertWnd(IN const WISP_CHAR*Name, IN CWispWnd*pWnd,IN CWispDIB*pTabDIB = NULL);\n\tUINT\tInsertWndAfter(IN int Index, IN WISP_CHAR*Name, IN CWispWnd*pWnd,IN CWispDIB*pTabDIB = NULL);\n\tUINT\tInsertWndBefore(IN int Index, IN WISP_CHAR*Name,IN CWispWnd*pWnd,IN CWispDIB*pTabDIB = NULL);\n\tUINT\tRemoveWnd(IN int Index,IN bool bDestroyWnd = true);\n\tUINT\tRemoveWnd(IN CWispWnd*pWnd,IN bool bDestroyWnd = true);\n\tvoid\tRemoveAllWnd(IN bool bDestroyWnd = true);\n\tCWispWnd*GetActiveWnd();\n\tUINT\tGetActiveWndIndex();\n\tCWispWnd*SetActiveWnd(IN UINT Index);\n\tbool\tSetTabText(IN UINT Index,IN const WISP_CHAR*pStr);\n\tvoid\tChangeActiveWnd(IN CWispWnd*pActiveWnd);\n\tCWispWnd*GetWnd(UINT Index);\n\tvoid\tActiveNextPage();\n\tvoid\tActivePrevPage();\n\tUINT\tGetWndCount();\n\tCWispButton*GetCloseButton(int Index);\n\tCWispButton*GetCloseButton(CWispWnd*pWnd);\n\tWISP_SIZE\tm_CloseBTSize;\n\tCWispDIBList*m_pClsBTDIB;\n\tCOLORREF m_FocusWndNameClr;\nprivate:\n\tvoid\tOnTopRecalcLayout();\n\tvoid\tOnButtomRecalcLayout();\n\tvoid\tOnLeftRecalcLayout();\n\tvoid\tOnRightRecalcLayout();\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispTaskPanel.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispTaskPanel.h\"\n\nconst COLORREF clrBkgndBeginLunaBlue = RGB(123, 162, 231);\nconst COLORREF clrBkgndEndLunaBlue = RGB(99, 117, 214);\n\nWISP_MSG_MAP_BEGIN(CWispTaskPanel)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispTaskPanel::CWispTaskPanel()\n{\n\n}\n\nCWispTaskPanel::~CWispTaskPanel()\n{\n}\n\nbool CWispTaskPanel::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tCWispRect rc(&m_ClientRect);\n\tm_WindowDC.DrawFullRect(&rc,clrBkgndBeginLunaBlue);\n\treturn false;\n}\n\nbool CWispTaskPanel::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispTaskPanel.h",
    "content": "#ifndef _WISP_TASK_PANEL_H_\n#define _WISP_TASK_PANEL_H_\n\n#include \"WispWnd.h\"\n\n\nclass CWispTaskPanel : public CWispWnd\n{\npublic:\n\tCWispTaskPanel();\n\t~CWispTaskPanel();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnRecalcLayout);\npublic:\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispTipWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispTipWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CWispTipWnd)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispTipWnd::CWispTipWnd()\n{\n\tm_CtrlType = WISP_CTRL_TIP_WND;\n\tm_pTipHelpWnd = NULL;\n}\n\nbool CWispTipWnd::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tCWispRect rc(m_WindowRect);\n\tm_WindowDC.DrawFrameRect(&rc);\n\trc.DeflateRect(1,1);\n\tm_WindowDC.DrawFullRect(&rc,SYS_COLOR[SC_UNNAMED_17]);\n\tif(m_WndText.m_Length)\n\t{\n\t\trc.DeflateRect(2,1);\n\t\tm_WindowDC.DrawString(m_WndText,&rc,0);\n\t}\n\treturn false;\n}\n\nvoid CWispTipWnd::AutoAdjustPostion(CWispBaseWnd*pTipHelpWnd)\n{\n\tWISP_RECT rc;\n\tWISP_RECT CalcRect;\n\tm_WindowDC.DrawString(m_WndText,&CalcRect,WISP_DT_CALCRECT);\n\tCalcRect.cy+=5;\n\tCalcRect.cx+=8;\n\tm_pTipHelpWnd = pTipHelpWnd;\n\trc.y = m_pWispBase->m_MousePT.y+20;\n\trc.cy = m_WindowDC.m_pFont->m_Height+5;\n\trc.cx = m_WindowDC.GetTextExtent(m_WndText)+8;\n\trc.x = m_pWispBase->m_MousePT.x-rc.cx/2;\n\tCalcRect.x = m_pWispBase->m_MousePT.x-CalcRect.cx/2;\n\tCalcRect.y = m_pWispBase->m_MousePT.y+20;\n\tif(CalcRect.x<=0)\n\t\tCalcRect.x = 10;\n\tif(CalcRect.y <= 10)\n\t\tCalcRect.y = 10;\n\tif(rc.x <= 0)\n\t\trc.x = 10;\n\tif(rc.y <= 0)\n\t\trc.y = 10;\n\tif(CalcRect.x+CalcRect.cx - 1 >= m_pWispBase->m_FrameBuffer.Width)\n\t\tCalcRect.x = m_pWispBase->m_FrameBuffer.Width - CalcRect.cx - 10;\n\tif(rc.x+rc.cx - 1>= m_pWispBase->m_FrameBuffer.Width)\n\t\trc.x = m_pWispBase->m_FrameBuffer.Width - rc.cx - 10;\n\tif(CalcRect.y+CalcRect.cy - 1>= m_pWispBase->m_FrameBuffer.Height)\n\t\tCalcRect.y = m_pWispBase->m_MousePT.y-30;\n\tif(rc.y+rc.cy - 1>= m_pWispBase->m_FrameBuffer.Height)\n\t\trc.y = m_pWispBase->m_MousePT.y-30;\n\tMoveToScreen(CalcRect.x,CalcRect.y);\n\tResize(CalcRect.cx,CalcRect.cy);\n\tTop();\n}"
  },
  {
    "path": "Project/Wisp/Source/WispTipWnd.h",
    "content": "#ifndef _WISP_TIP_WND_H_\n#define _WISP_TIP_WND_H_\n\n#include \"WispWnd.h\"\n\nclass CWispTipWnd : public CWispWnd\n{\npublic:\n\tCWispTipWnd();\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdate);\n\tvoid\tAutoAdjustPostion(CWispBaseWnd*pTipHelpWnd = NULL);\n\tCWispBaseWnd*m_pTipHelpWnd;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/WispToolbar.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispToolbar.h\"\n#include \"WispButton.h\"\n#include \"WispEdit.h\"\n#include \"WispStatic.h\"\n\nWISP_MSG_MAP_BEGIN(CWispToolbar)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_PARENT_RESIZE,OnParentResize)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\n\nCWispToolbar::CWispToolbar()\n{\n\tm_CtrlType = WISP_CTRL_TOOL_BAR;\n\tm_pDIBList = NULL;\n\tm_Margin = 3;\n\tm_SeparatorWitdh = 2;\n}\n\nCWispToolbar::~CWispToolbar()\n{\n}\n\nbool CWispToolbar::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_BTList.Clear();\n\treturn true;\n}\n\nbool CWispToolbar::OnParentResize(IN WISP_MSG*pMsg)\n{\n\tif((m_Style&WISP_TBS_WINDOW)==0)\n\t\tResize(((CWispWnd*)m_ParentWnd)->m_ClientRect.cx,m_WindowRect.cy);\n\treturn true;\n}\n\nbool CWispToolbar::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tint x;\n\tif((m_Style&WISP_WS_BACK_TRANS)==0)\n\t\tm_pWispBase->m_pCurDrawObj->DrawToolbarBK(&m_ClientDC,&m_ClientRect);\n\tx=m_Margin;\n\tfor(CBTList::IT Iter=m_BTList.Begin();Iter!=m_BTList.End();Iter++)\n\t{\n\t\tif(Iter->pItemWnd)\n\t\t{\n\t\t\tx+=Iter->pItemWnd->m_WindowRect.cx+m_Margin;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tWISP_RECT rc;\n\t\t\trc.x = x+m_SeparatorWitdh/2;\n\t\t\trc.y = m_Margin;\n\t\t\trc.cx = m_SeparatorWitdh;\n\t\t\trc.cy = m_ClientRect.cy-m_Margin*2;\n\t\t\tm_ClientDC.DrawFrameRect(&rc,false);\n\t\t\tx+=m_SeparatorWitdh+m_Margin;\n\t\t}\n\t}\n\tm_ClientDC.DrawHLine(0,m_ClientRect.cx-1,m_ClientRect.cy-1,SYS_COLOR[SC_BORDER_BG]);\n\treturn false;\n}\n\nbool CWispToolbar::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\tint x,y,rx;\n\tx=m_Margin;\n\trx = m_ClientRect.cx - m_Margin;\n\tfor(CBTList::IT Iter=m_BTList.Begin();Iter!=m_BTList.End();Iter++)\n\t{\n\t\tif(Iter->pItemWnd)\n\t\t{\n\t\t\ty = CENTER_ALGN(Iter->pItemWnd->m_WindowRect.cy,m_WindowRect.cy);\n\t\t\tif(Iter->ItemStyle&WISP_TBIS_RIGHT_ALIGN)\n\t\t\t{\n\t\t\t\trx -= Iter->pItemWnd->m_WindowRect.cx;\n\t\t\t\tIter->pItemWnd->MoveToClient(rx,y,false);\n\t\t\t\tIter->pItemWnd->Show(rx<x?WISP_SH_HIDDEN:WISP_SH_NORMAL);\n\t\t\t\trx-=m_Margin;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tIter->pItemWnd->MoveToClient(x,y);\n\t\t\t\tx+=Iter->pItemWnd->m_WindowRect.cx+m_Margin;\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tx+=m_SeparatorWitdh+m_Margin;\n\t\t}\n\t\tif(rx<x)\n\t\t\trx=x;\n\t}\n\treturn true;\n}\n\nbool CWispToolbar::CreateEx(CWispWnd*pParentWnd,int y,int Height,UINT CmdID,UINT Style)\n{\n\tm_pDIBList = NULL;\n\tif(Height==-1)\n\t\tHeight = gpCurWisp->m_Metrics[WISP_SM_FONT_FRAME_HEIGHT]+m_Margin*2;\n\treturn CWispWnd::Create(NULL,0,y,pParentWnd->m_ClientRect.cx,Height,pParentWnd,CmdID,Style);\n}\n\nbool CWispToolbar::LoadToolbar(CWispDIBList*pDIBList,WISP_TOOLBAR_RES_ITEM*pResItem)\n{\n\tm_pDIBList = pDIBList;\n\tfor(int n=0;pResItem[n].CmdID || pResItem[n].ItemStyle;n++)\n\t{\n\t\tif(pResItem[n].ItemStyle&WISP_TBIS_SPEARATOR)\n\t\t{\n\t\t\tInsertSeparator(-1,pResItem[n].ItemStyle);\n\t\t}\n\t\telse if(pResItem[n].ItemStyle&WISP_TBIS_EDIT)\n\t\t{\n\t\t\tInsertEdit(-1,pResItem[n].ItemStyle,pResItem[n].Width,pResItem[n].CmdID,pResItem[n].CtrlStyle,pResItem[n].pTipString);\n\t\t}\n\t\telse if(pResItem[n].ItemStyle&WISP_TBIS_STATIC_DIB)\n\t\t{\n\t\t\tInsertStaticDIB(-1,pResItem[n].ItemStyle,pResItem[n].CmdID,pDIBList->GetDIB(pResItem[n].DIBIndex));\n\t\t}\n\t\telse if(pResItem[n].ItemStyle&WISP_TBIS_STATIC_STR)\n\t\t{\n\t\t\tInsertStaticStr(-1,pResItem[n].ItemStyle,pResItem[n].CmdID,pResItem[n].pTipString);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tInsertButton(-1,pResItem[n].ItemStyle,pResItem[n].CmdID,pResItem[n].CtrlStyle,pDIBList->GetDIB(pResItem[n].DIBIndex),pResItem[n].pTipString);\n\t\t}\n\t}\n\tif(m_WindowRect.cy==0)\n\t\tResize(m_WindowRect.cx,pDIBList->GetDIB(0)->Height());\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispToolbar::InsertButton(int Pos,UINT ItemStyle,UINT CmdID,UINT Style,CWispDIB*pWispDIB,WISP_CHAR*HelpString)\n{\n\tCBTList::IT Iter;\n\tCWispButton*pWnd;\n\tpWnd = new CWispButton;\n\tpWnd->CreateEx(pWispDIB,0,0,this,CmdID,WISP_BS_TOOLBAR_BT|WISP_WS_BACK_TRANS|Style);\n\tpWnd->Resize(pWispDIB->m_FrameBuffer.Width+4,pWispDIB->m_FrameBuffer.Height+4);\n\tpWnd->SetOwner(m_OwnerWnd);\n\tpWnd->EnableHelpTip(HelpString);\n\tpWnd->AddAdvStyle(WISP_WAS_AUTO_DELETE);\n\tif(Pos>=0)\n\t{\n\t\tIter = m_BTList[Pos];\n\t\tm_BTList.InsertBefore(Iter);\n\t}\n\telse\n\t{\n\t\tIter = m_BTList.Append();\n\t}\n\tIter->ItemStyle = ItemStyle;\n\tIter->pItemWnd = pWnd;\n\tIter->pDIB = pWispDIB;\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispToolbar::InsertEdit(int Pos,UINT ItemStyle,int Width,UINT CmdID,UINT Style,WISP_CHAR*HelpString)\n{\n\tint Height;\n\tCBTList::IT Iter;\n\tCWispEdit*pWnd;\n\tpWnd = new CWispEdit;\n\tHeight = m_ClientDC.m_pFont->m_Height+m_Margin*2;\n\tpWnd->Create(NULL,0,0,Width,Height,this,CmdID,Style);\n\tpWnd->SetOwner(m_OwnerWnd);\n\tpWnd->EnableHelpTip(HelpString);\n\tpWnd->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\tif(Pos>=0)\n\t{\n\t\tIter = m_BTList[Pos];\n\t\tm_BTList.InsertBefore(Iter);\n\t}\n\telse\n\t{\n\t\tIter = m_BTList.Append();\n\t}\n\tIter->ItemStyle = ItemStyle;\n\tIter->pItemWnd = pWnd;\n\tIter->pDIB = NULL;\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispToolbar::InsertSeparator(int Pos,UINT ItemStyle)\n{\n\tCBTList::IT Iter;\n\tif(Pos>=0)\n\t{\n\t\tIter = m_BTList[Pos];\n\t\tm_BTList.InsertBefore(Iter);\n\t}\n\telse\n\t{\n\t\tIter = m_BTList.Append();\n\t}\n\tIter->ItemStyle = ItemStyle;\n\tIter->pItemWnd = NULL;\n\tIter->pDIB = NULL;\n\tRecalcLayout();\n\tUpdate();\n\treturn true;\n}\n\nbool CWispToolbar::InsertStaticDIB(int Pos,UINT ItemStyle,UINT CmdID,CWispDIB*pWispDIB)\n{\n\tCBTList::IT Iter;\n\tCWispStaticDIB*pWnd;\n\tpWnd = new CWispStaticDIB;\n\tpWnd->Create(pWispDIB,0,0,this,CmdID);\n\tpWnd->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\tif(Pos>=0)\n\t{\n\t\tIter = m_BTList[Pos];\n\t\tm_BTList.InsertBefore(Iter);\n\t}\n\telse\n\t{\n\t\tIter = m_BTList.Append();\n\t}\n\tIter->ItemStyle = ItemStyle;\n\tIter->pItemWnd = pWnd;\n\tIter->pDIB = pWispDIB;\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispToolbar::InsertStaticStr(int Pos,UINT ItemStyle,UINT CmdID,WISP_PCSTR String)\n{\n\tCBTList::IT Iter;\n\tCWispStaticStr*pWnd;\n\tpWnd = new CWispStaticStr;\n\tpWnd->Create(String,0,0,0,0,this,CmdID);\n\tpWnd->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\tif(Pos>=0)\n\t{\n\t\tIter = m_BTList[Pos];\n\t\tm_BTList.InsertBefore(Iter);\n\t}\n\telse\n\t{\n\t\tIter = m_BTList.Append();\n\t}\n\tIter->ItemStyle = ItemStyle;\n\tIter->pItemWnd = pWnd;\n\tIter->pDIB = NULL;\n\tpWnd->Resize(pWnd->m_WindowDC.GetTextExtent(String),pWnd->m_WindowDC.m_pFont->m_Height);\n\tRecalcLayout();\n\treturn true;\n}\n\nbool CWispToolbar::RemoveItem(int Pos)\n{\n\tCBTList::IT Iter = m_BTList[Pos];\n\tif(Iter==NULL)\n\t\treturn false;\n\tIter->pItemWnd->Destroy();\n    m_BTList.Remove(Iter);\n\tRecalcLayout();\n\tUpdate();\n\treturn true;\n}\n\nvoid CWispToolbar::SetOwner(CWispBaseWnd*pOwnerWnd)\n{\n\tfor(CBTList::IT Iter=m_BTList.Begin();Iter!=m_BTList.End();Iter++)\n\t{\n\t\tif(Iter->pItemWnd)\n\t\t\tIter->pItemWnd->SetOwner(pOwnerWnd);\n\t}\n\tCWispWnd::SetOwner(pOwnerWnd);\n}\n\nbool CWispToolbar::EnableItemByPos(int Pos,bool State)\n{\n\tCWispBaseWnd*pWnd=GetToolbarItemByPos(Pos);\n\tif(pWnd==NULL)\n\t\treturn false;\n\tpWnd->EnableWindow(State);\n\treturn true;\n}\n\nbool CWispToolbar::EnableItem(UINT CmdID,bool State)\n{\n\tCWispBaseWnd*pWnd=GetToolbarItem(CmdID);\n\tif(pWnd==NULL)\n\t\treturn false;\n\tpWnd->EnableWindow(State);\n\treturn true;\n}\n\nCWispBaseWnd*CWispToolbar::GetToolbarItemByPos(int Pos)\n{\n\tif(Pos<0 || Pos>=m_BTList.Count())\n\t\treturn false;\n\tCBTList::IT Iter = m_BTList[Pos];\n\tif(Iter==NULL)\n\t\treturn NULL;\n\treturn Iter->pItemWnd;\n}\n\nCWispBaseWnd*CWispToolbar::GetToolbarItem(UINT CmdID)\n{\n\tfor(CBTList::IT Iter=m_BTList.Begin();Iter!=m_BTList.End();Iter++)\n\t{\n\t\tif(Iter->pItemWnd && Iter->pItemWnd->m_CmdID==CmdID)\n\t\t\treturn Iter->pItemWnd;\n\t}\n\treturn NULL;\n}\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispToolbar.h",
    "content": "#ifndef _WISP_TOOLBAR_\n#define _WISP_TOOLBAR_\n\n#include \"WispWnd.h\"\n\nstruct WISP_TOOLBAR_ITEM\n{\n\tCWispBaseWnd*\tpItemWnd;\n\tCWispDIB*\t\tpDIB;\n\tUINT\t\t\tItemStyle;\n};\n\nstruct WISP_TOOLBAR_RES_ITEM\n{\n\tUINT\t\tCmdID;\n\tint\t\t\tDIBIndex;\n\tUINT\t\tItemStyle;\n\tWISP_CHAR*\tpTipString;\n\tint\t\t\tWidth;\n\tint\t\t\tCtrlStyle;\n};\n\n#define WISP_TBIS_BUTTON\t\t\t\t\t0x00000000\n#define WISP_TBIS_EDIT\t\t\t\t\t\t0x00000001\n#define WISP_TBIS_STATIC_DIB\t\t\t\t0x00000002\n#define WISP_TBIS_STATIC_STR\t\t\t\t0x00000004\n#define WISP_TBIS_SPEARATOR\t\t\t\t\t0x00010000\n#define WISP_TBIS_RIGHT_ALIGN\t\t\t\t0x00020000\n\n#define WISP_TBS_WINDOW\t\t\t\t\t\t0x00010000\n\n#define WISP_TOOLBAR_RES_STATIC_DIB(nDIB)\t{WISP_ID_STATIC_DIB,nDIB,WISP_TBIS_STATIC_DIB|WISP_TBIS_RIGHT_ALIGN,NULL}\n#define WISP_TOOLBAR_RES_STATIC_STR(Str)\t{WISP_ID_STATIC_STR,0,WISP_TBIS_STATIC_STR|WISP_TBIS_RIGHT_ALIGN,Str}\n#define WISP_TOOLBAR_RES_SEPARATOR\t\t\t{0,0,WISP_TBIS_SPEARATOR}\n#define WISP_TOOLBAR_RES_END\t\t\t\t{0,0,0,NULL,0}\n\ntypedef\tTList<WISP_TOOLBAR_ITEM>\t\t\tCBTList;\n\nclass CWispToolbar : public CWispWnd\n{\npublic:\n\tCWispToolbar();\n\t~CWispToolbar();\npublic:\n\tCBTList\tm_BTList;\n\tCWispDIBList*m_pDIBList;\n\tint\t\tm_Margin;\n\tint\t\tm_SeparatorWitdh;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnRecalcLayout);\n\tDECLARE_WISP_MSG(OnParentResize);\n\tDECLARE_WISP_MSG(OnDestroy);\npublic:\n\tbool\tCreateEx(CWispWnd*pParentWnd,int y,int Height,UINT CmdID,UINT Style);\n\tbool\tLoadToolbar(CWispDIBList*pDIBList,WISP_TOOLBAR_RES_ITEM*pResItem);\n\tbool\tInsertButton(int Pos,UINT ItemStyle,UINT CmdID,UINT Style,CWispDIB*pWispDIB,WISP_CHAR*HelpString=NULL);\n\tbool\tInsertEdit(int Pos,UINT ItemStyle,int Width,UINT CmdID,UINT Style,WISP_CHAR*HelpString=NULL);\n\tbool\tInsertSeparator(int Pos,UINT ItemStyle);\n\tbool\tInsertStaticDIB(int Pos,UINT ItemStyle,UINT CmdID,CWispDIB*pWispDIB);\n\tbool\tInsertStaticStr(int Pos,UINT ItemStyle,UINT CmdID,WISP_PCSTR String);\n\tbool\tRemoveItem(int Pos);\n\tCWispBaseWnd*GetToolbarItemByPos(int Pos);\n\tCWispBaseWnd*GetToolbarItem(UINT CmdID);\n\tvirtual\tvoid SetOwner(CWispBaseWnd*pOwnerWnd);\n\tbool\tEnableItemByPos(int Pos,bool State);\n\tbool\tEnableItem(UINT CmdID,bool State);\n};\n\n#endif\n\n\n"
  },
  {
    "path": "Project/Wisp/Source/WispWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"WispWnd.h\"\n#include \"WispButton.h\"\n#include \"WispTipWnd.h\"\n\nenum \n{\n\tWISP_HIT_SCROLL_CTRL_INC_BT = 0,\n\tWISP_HIT_SCROLL_CTRL_DEC_BT,\n\tWISP_HIT_SCROLL_CTRL_SLIDE_RECT,\n\tWISP_HIT_SCROLL_CTRL_SPACE_RECT,\n\tWISP_HIT_SCROLL_CTRL_SCROLL_RECT,\n\tWISP_HIT_SCROLL_CTRL_COUNT\n};\n\nenum\n{\n\tWISP_SCROLL_CTRL_ID_PAGE_UP= 0,\n\tWISP_SCROLL_CTRL_ID_PAGE_DOWN,\n\tWISP_SCROLL_CTRL_ID_SLIDE,\n\tWISP_SCROLL_CTRL_ID_DEC_BT,\n\tWISP_SCROLL_CTRL_ID_INC_BT,\n\tWISP_SCROLL_CTRL_COUNT\n};\n\nUINT ScrollCtrlID[][WISP_SCROLL_CTRL_COUNT]=\n{\n\t{\n\t\tWISP_ID_VPAGE_UP,\n\t\tWISP_ID_VPAGE_DOWN,\n\t\tWISP_ID_VSLIDE,\n\t\tWISP_ID_VSPIN_DEC,\n\t\tWISP_ID_VSPIN_INC,\n\t},\n\t{\n\t\tWISP_ID_HPAGE_UP,\n\t\tWISP_ID_HPAGE_DOWN,\n\t\tWISP_ID_HSLIDE,\n\t\tWISP_ID_HSPIN_DEC,\n\t\tWISP_ID_HSPIN_INC,\n\t},\n};\n\n\nUINT ScrollHitCtrlType[][WISP_HIT_SCROLL_CTRL_COUNT]=\n{\n\t{\n\t\tWISP_HIT_CTRL_VERT_INC_BT,\n\t\tWISP_HIT_CTRL_VERT_DEC_BT,\n\t\tWISP_HIT_CTRL_VERT_SLIDE_RECT,\n\t\tWISP_HIT_CTRL_VERT_SPACE_RECT,\n\t\tWISP_HIT_CTRL_VERT_SCROLL_RECT,\n\t},\n\t{\n\t\tWISP_HIT_CTRL_HORZ_INC_BT,\n\t\tWISP_HIT_CTRL_HORZ_DEC_BT,\n\t\tWISP_HIT_CTRL_HORZ_SLIDE_RECT,\n\t\tWISP_HIT_CTRL_HORZ_SPACE_RECT,\n\t\tWISP_HIT_CTRL_HORZ_SCROLL_RECT,\n\t},\n};\n\nWISP_MSG_MAP_BEGIN(CWispWnd)\n\tWISP_MSG_MAP_ON_COMMAND\n\tWISP_MSG_MAP_ON_EVENT\n\tWISP_MSG_MAP(WISP_WM_PRECREATE,OnPrecreate)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_LEAVE,OnMouseLeave)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_UPDATE,OnUpdate)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CAPTION,OnUpdateCaption)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_BORDER,OnUpdateBorder)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CARET,OnUpdateCaret)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_HORZ_SCROLL,OnUpdateHorzScrollBar)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_VERT_SCROLL,OnUpdateVertScrollBar)\n\tWISP_MSG_MAP(WISP_WM_SCROLL_EVENT,OnScrollEvent)\n\tWISP_MSG_MAP(WISP_WM_HORZ_SCROLL_MOVE,OnHorzScrollMove)\n\tWISP_MSG_MAP(WISP_WM_VERT_SCROLL_MOVE,OnVertScrollMove)\n\tWISP_MSG_MAP(WISP_WM_MOVING,OnMoving)\n\tWISP_MSG_MAP(WISP_WM_SIZING,OnSizing)\n\tWISP_MSG_MAP(WISP_WM_MOVE,OnMove)\n\tWISP_MSG_MAP(WISP_WM_SIZE,OnSize)\n\tWISP_MSG_MAP(WISP_WM_HIT_TEST,OnHitTest)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_WHEEL,OnMouseWheel)\n\tWISP_MSG_MAP(WISP_WM_TIMER,OnTimer)\n\tWISP_MSG_MAP(WISP_WM_GET_FOCUS,OnGetFocus)\n\tWISP_MSG_MAP(WISP_WM_LOST_FOCUS,OnLostFocus)\nWISP_MSG_MAP_END(CWispBaseWnd)\n\nWISP_MSG_CMD_MAP_BEGIN(CWispWnd)\n\tWISP_MSG_CMD_MAP(WISP_ID_CLOSE,OnCmdClose)\n\tWISP_MSG_CMD_MAP(WISP_ID_MAX,OnCmdMax)\n\tWISP_MSG_CMD_MAP(WISP_ID_MIN,OnCmdMin)\n\tWISP_MSG_CMD_MAP(WISP_ID_HPAGE_UP,OnCmdScrollPageUp)\n\tWISP_MSG_CMD_MAP(WISP_ID_HPAGE_DOWN,OnCmdScrollPageDown)\n\tWISP_MSG_CMD_MAP(WISP_ID_HSPIN_INC,OnCmdScrollSpinInc)\n\tWISP_MSG_CMD_MAP(WISP_ID_HSPIN_DEC,OnCmdScrollSpinDec)\n\tWISP_MSG_CMD_MAP(WISP_ID_HSLIDE,OnCmdScrollSlide)\n\tWISP_MSG_CMD_MAP(WISP_ID_VPAGE_UP,OnCmdScrollPageUp)\n\tWISP_MSG_CMD_MAP(WISP_ID_VPAGE_DOWN,OnCmdScrollPageDown)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSPIN_INC,OnCmdScrollSpinInc)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSPIN_DEC,OnCmdScrollSpinDec)\n\tWISP_MSG_CMD_MAP(WISP_ID_VSLIDE,OnCmdScrollSlide)\nWISP_MSG_CMD_MAP_END\n\nWISP_MSG_EVENT_MAP_BEGIN(CWispWnd)\nWISP_MSG_EVENT_MAP_END\n\n\nbool CWispWnd::OnPrecreate(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_pRootWnd==this)\n\t{\n\t\tm_pWispBase->m_pTopMostRootWnd=new CWispWnd;\n\t\tm_pWispBase->m_pTopMostRootWnd->Create(NULL,m_WindowRect,this,WISP_ID_TOP_MOST_ROOT,WISP_WS_VIRTUAL,WISP_SH_NORMAL);\n\t\tm_pWispBase->m_pTopMostRootWnd->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\t\tm_pWispBase->m_pHelpTipWnd = new CWispTipWnd;\n\t\tm_pWispBase->m_pHelpTipWnd->Create(NULL,0,0,0,0,NULL,WISP_ID_HELP_TIP,WISP_WS_THIN_BORDER,WISP_SH_HIDDEN);\n\t\tm_pWispBase->m_pHelpTipWnd->m_AdvStyle |= WISP_WAS_AUTO_DELETE;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnGetFocus(IN WISP_MSG*pMsg)\n{\n\tif(m_Caret.bEnable)\n\t{\n\t\t//InsertTimer(WISP_ID_CARET_BLINK_TIMER,m_Caret.BlinkTime);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnLostFocus(IN WISP_MSG*pMsg)\n{\n\tif(m_Caret.bEnable)\n\t{\n\t\t//RemoveTimer(WISP_ID_CARET_BLINK_TIMER);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnTimer(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT CaretRect,*RectBak;\n\tif(pMsg->Timer.ID == WISP_ID_CARET_BLINK_TIMER)\n\t{\n\t\tCaretRect.x = m_Caret.x;\n\t\tCaretRect.y = m_Caret.y;\n\t\tCaretRect.cx = m_Caret.pDIB->Width();\n\t\tCaretRect.cy = m_Caret.pDIB->Height();\n\t\tRectBak = m_pUpdateRect;\n\t\tm_pUpdateRect = &CaretRect;\n\t\tOnUpdateCaret(pMsg);\n\t\tCaretRect.x+=m_ScrWindowRect.x;\n\t\tCaretRect.y+=m_ScrWindowRect.y;\n\t\tm_pWispBase->EndDraw(&CaretRect);\n\t\tm_pUpdateRect = RectBak;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnMouseWheel(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->MouseEvent.DeltaZ<0)\n\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_INC);\n\telse\n\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_DEC);\n\treturn true;\n}\n\nbool CWispWnd::OnCmdClose(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_UP)\n\t{\n\t\tWISP_MSG Msg;\n\t\tMsg.Msg = WISP_WM_CLOSE;\n\t\tMsg.hWnd = this;\n\t\treturn !SEND_MSG(&Msg);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdMax(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_UP && (m_State&WISP_WST_MIN)==0)\n\t{\n\t\tif(m_State&WISP_WST_MAX)\n\t\t{\n\t\t\tMoveToScreen(m_NormalRect.x,m_NormalRect.y);\n\t\t\tResize(m_NormalRect.cx,m_NormalRect.cy);\n\t\t\tm_State&=~WISP_WST_MAX;\n\t\t\tUpdate();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_ParentWnd)\n\t\t\t{\n\t\t\t\tm_NormalRect=m_ScrWindowRect;\n\t\t\t\tMoveToWindow(0,0);\n\t\t\t\tResize(((CWispWnd*)m_ParentWnd)->m_ClientRect.cx,((CWispWnd*)m_ParentWnd)->m_ClientRect.cy);\n\t\t\t\tm_State|=WISP_WST_MAX;\n\t\t\t\tUpdate();\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdMin(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_UP && (m_State&WISP_WST_MAX)==0)\n\t{\n\t\tif(m_State&WISP_WST_MIN)\n\t\t{\n\t\t\tResize(m_NormalRect.cx,m_NormalRect.cy);\n\t\t\tm_State&=~WISP_WST_MIN;\n\t\t\tUpdate();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tm_NormalRect=m_ScrWindowRect;\n\t\t\tResize(m_MinWndSize.cx,m_MinWndSize.cy);\n\t\t\tm_State|=WISP_WST_MIN;\n\t\t\tUpdate();\n\t\t}\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdScrollPageUp(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = (WISP_SB_TYPE)pMsg->Command.Param1;\n\tif(m_ScrollBar[Type] && pMsg->Command.CmdMsg==WISP_CMD_BT_DOWN)\n\t{\n\t\tSendScrollEvent(Type,WISP_SB_PAGE_UP);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdScrollPageDown(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = (WISP_SB_TYPE)pMsg->Command.Param1;\n\tif(m_ScrollBar[Type] && pMsg->Command.CmdMsg==WISP_CMD_BT_DOWN)\n\t{\n\t\tSendScrollEvent(Type,WISP_SB_PAGE_DOWN);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdScrollSpinInc(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = (WISP_SB_TYPE)pMsg->Command.Param1;\n\tif(m_ScrollBar[Type])\n\t{\n\t\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_DOWN)\n\t\t{\n\t\t\tif(m_ScrollBar[Type]->BTSpinIncState != STATUS_DOWN)\n\t\t\t{\n\t\t\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_DOWN;\n\t\t\t\tm_pWispBase->StartMouseKeyRep(WISP_VK_LBUTTON);\n\t\t\t}\n\t\t\tSendScrollEvent(Type,WISP_SB_INC);\n\t\t}\n\t\telse\n\t\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_NORMAL;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdScrollSpinDec(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = (WISP_SB_TYPE)pMsg->Command.Param1;\n\tif(m_ScrollBar[Type])\n\t{\n\t\tif(pMsg->Command.CmdMsg==WISP_CMD_BT_DOWN)\n\t\t{\n\t\t\tif(m_ScrollBar[Type]->BTSpinDecState != STATUS_DOWN)\n\t\t\t{\n\t\t\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_DOWN;\n\t\t\t\tm_pWispBase->StartMouseKeyRep(WISP_VK_LBUTTON);\n\t\t\t}\n\t\t\tSendScrollEvent(Type,WISP_SB_DEC);\n\t\t}\n\t\telse\n\t\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_NORMAL;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnCmdScrollSlide(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = (WISP_SB_TYPE)pMsg->Command.Param1;\n\tswitch(pMsg->Command.CmdMsg)\n\t{\n\tcase WISP_CMD_BT_DOWN:\n\t\tif(m_ScrollBar[Type]->Style&WISP_SS_DRAGED_CHANGING)\n\t\t{\n\t\t\tm_ScrollBar[Type]->StartPos = m_ScrollBar[Type]->CurPos;\n\t\t}\n\t\tm_ScrollBar[Type]->State = STATUS_DOWN;\n\t\tm_pWispBase->SetMouseCaptureNotify();\n\t\tbreak;\n\tcase WISP_CMD_BT_UP:\n\t\tif(m_ScrollBar[Type]->Style&WISP_SS_DRAGED_CHANGING)\n\t\t{\n\t\t\tWISP_MSG Msg;\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\t\t\tMsg.ScrollEvent.Event = WISP_SB_POS_CHANGE;\n\t\t\tMsg.ScrollEvent.SBType = Type;\n\t\t\tMsg.ScrollEvent.CurPos = m_ScrollBar[Type]->CurPos;\n\t\t\tMsg.ScrollEvent.Delta = m_ScrollBar[Type]->CurPos - m_ScrollBar[Type]->StartPos;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t\tm_ScrollBar[Type]->State = STATUS_NORMAL;\n\t\tm_pWispBase->ReleaseMouseCaptureNotify();\n\t\tbreak;\n\t}\n\treturn true;\n}\n\nCWispWnd::CWispWnd()\n{\n\tm_crBGColor\t= 0;\n\tm_bBGColor\t= false;\n\tm_pBKDIB = NULL;\n\tm_CtrlType = WISP_CTRL_WND;\n}\n\nCWispWnd::~CWispWnd()\n{\n}\n\nUINT CWispWnd::IsPointInCaptionBT(IN const WISP_POINT&ScrMousePT)\n{\n\tWISP_POINT pt;\n\tif(PtInRect(&m_ScrCaptionRect,&ScrMousePT)==false)\n\t\treturn WISP_ID_NULL;\n\tpt=ScrMousePT;\n\tif((m_Style & WISP_WS_CAPTION)==0)\n\t\treturn WISP_ID_NULL;\n\tPointToRect(&pt,&m_ScrCaptionRect);\t\n\tif((m_Style & WISP_WS_BT_CLOSE) && PtInRect(&m_CloseBTRect,&pt))\n\t\treturn WISP_ID_CLOSE;\n\tif((m_Style & WISP_WS_BT_MAX) && PtInRect(&m_MaxBTRect,&pt))\n\t\treturn WISP_ID_MAX;\n\tif((m_Style & WISP_WS_BT_MIN) && PtInRect(&m_MinBTRect,&pt))\n\t\treturn WISP_ID_MIN;\n\treturn WISP_ID_NULL;\n}\n\nbool CWispWnd::OnHitTest(IN WISP_MSG*pMsg)\n{\n\tint Space;\n\tWISP_POINT WndPT;\n\tif((m_Style & WISP_WS_SIZABLE) && m_State==WISP_WST_NORMAL)\n\t{\n\t\tWndPT=pMsg->MsgMouseScrPT;\n\t\tPointToRect(&WndPT,&m_ScrWindowRect);\n\t\tSpace = m_BorderSize+m_pWispBase->m_Metrics[WISP_SM_RESIZE_SPACE];\n\t\tif(WndPT.x<Space && WndPT.y<Space)\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType = WISP_HIT_WND_RESIZE_LEFT_TOP;\n\t\t\treturn true;\n\t\t}\n\t\tif(WndPT.x>m_WindowRect.cx-Space && WndPT.y<Space)\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType = WISP_HIT_WND_RESIZE_RIGHT_TOP;\n\t\t\treturn true;\n\t\t}\n\t\tif(WndPT.x<Space && WndPT.y>m_WindowRect.cy-Space)\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType = WISP_HIT_WND_RESIZE_LEFT_BOTTOM;\n\t\t\treturn true;\n\t\t}\n\t\tif(WndPT.x>m_WindowRect.cx-Space && WndPT.y>m_WindowRect.cy-Space)\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType = WISP_HIT_WND_RESIZE_RIGHT_BOTTOM;\n\t\t\treturn true;\n\t\t}\n\t\tif(WndPT.x<m_BorderSize)\n\t\t\tpMsg->HitTest.HitAreaType |= WISP_HIT_WND_RESIZE_LEFT;\n\t\tif(WndPT.y<m_BorderSize)\n\t\t\tpMsg->HitTest.HitAreaType |= WISP_HIT_WND_RESIZE_TOP;\n\t\tif(WndPT.x>m_WindowRect.cx-m_BorderSize)\n\t\t\tpMsg->HitTest.HitAreaType |= WISP_HIT_WND_RESIZE_RIGHT;\n\t\tif(WndPT.y>m_WindowRect.cy-m_BorderSize)\n\t\t\tpMsg->HitTest.HitAreaType |= WISP_HIT_WND_RESIZE_BOTTOM;\n\t\tif(pMsg->HitTest.HitAreaType)\n\t\t\treturn true;\n\t}\n\tif((m_Style & WISP_WS_CAPTION ) && PtInRect(&m_ScrCaptionRect,&pMsg->MsgMouseScrPT))\n\t{\n\t\tif(pMsg->HitTest.bKeyDown)\n\t\t{\n\t\t\tUINT CapBTID=IsPointInCaptionBT(pMsg->MsgMouseScrPT);\n\t\t\tswitch(CapBTID)\n\t\t\t{\n\t\t\tcase WISP_ID_CLOSE:\n\t\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_BT_CLOSE;\n\t\t\t\tm_CloseBTState = STATUS_DOWN;\n\t\t\t\tbreak;\n\t\t\tcase WISP_ID_MAX:\n\t\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_BT_MAX;\n\t\t\t\tm_MaxBTState = STATUS_DOWN;\n\t\t\t\tbreak;\n\t\t\tcase WISP_ID_MIN:\n\t\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_BT_MIN;\n\t\t\t\tm_MinBTState = STATUS_DOWN;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_MOVE;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tUpdate(&m_CaptionRect);\n\t\t\tWISP_MSG Msg;\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tMsg.Command.CmdID\t= CapBTID;\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_MOVE;\n\t\t}\n\t\treturn true;\n\t}\n\tfor(int Type=0;Type<WISP_SB_COUNT;Type++)\n\t{\n\t\tif(m_ScrollBar[Type] && m_ScrollBar[Type]->bHide==false && PtInRect(&m_ScrollBar[Type]->ScrollRect,&pMsg->MsgMouseWndPT))\n\t\t{\n\t\t\tpMsg->HitTest.HitAreaType = WISP_HIT_WND_NON_CLIENT;\n\t\t\tif(PtInRect(&m_ScrollBar[Type]->SlideRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tpMsg->HitTest.HitCtrlType= ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_SLIDE_RECT];\n\t\t\t}\n\t\t\telse if(PtInRect(&m_ScrollBar[Type]->SpaceRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tpMsg->HitTest.HitCtrlType=ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_SPACE_RECT];\n\t\t\t}\n\t\t\telse if(PtInRect(&m_ScrollBar[Type]->DecBTRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tpMsg->HitTest.HitCtrlType=ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_DEC_BT];\n\t\t\t}\n\t\t\telse if(PtInRect(&m_ScrollBar[Type]->IncBTRect,&pMsg->MsgMouseWndPT))\n\t\t\t{\n\t\t\t\tpMsg->HitTest.HitCtrlType=ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_INC_BT];\n\t\t\t}\n\t\t\telse\n\t\t\t\tpMsg->HitTest.HitCtrlType=ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_SCROLL_RECT];\n\t\t\treturn true;\n\t\t}\n\t}\n\tif(PtInRect(&m_ScrClientRect,&pMsg->MsgMouseScrPT))\n\t{\n\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_CLIENT;\n\t}\n\telse\n\t{\n\t\tif(\tpMsg->MsgMouseScrPT.x > m_ClientRect.x+m_ClientRect.cx|| \n\t\t\tpMsg->MsgMouseScrPT.y > m_ClientRect.y+m_ClientRect.cy)\n\t\t\tpMsg->HitTest.HitAreaType=WISP_HIT_WND_NON_CLIENT;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnSizing(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_pRootWnd==this)\n\t{\n\t\tm_pWispBase->m_Metrics[WISP_SM_SCREEN_CX]=pMsg->Resize.NewSize.cx;\n\t\tm_pWispBase->m_Metrics[WISP_SM_SCREEN_CY]=pMsg->Resize.NewSize.cy;\n\t\tif(m_pWispBase->ResizingFrame(pMsg->Resize.NewSize.cx,pMsg->Resize.NewSize.cy)==false)\n\t\t\treturn false;\n\t}\n\treturn pMsg->Resize.NewSize.cx>=m_MinWndSize.cx && pMsg->Resize.NewSize.cy>=m_MinWndSize.cy;\n}\n\nbool CWispWnd::OnMoving(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_pRootWnd==this)\n\t{\n\t\tm_pWispBase->m_MousePT.x-=pMsg->Move.DeltaX;\n\t\tm_pWispBase->m_MousePT.y-=pMsg->Move.DeltaY;\n\t\tm_pWispBase->m_PrevMousePT.x-=pMsg->Move.DeltaX;\n\t\tm_pWispBase->m_PrevMousePT.y-=pMsg->Move.DeltaY;\n\t\tm_pWispBase->MoveFrame(pMsg->Move.DeltaX,pMsg->Move.DeltaY);\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnMove(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tProcessCaptionBTMouseMove(pMsg->MsgMouseScrPT);\n\treturn true;\n}\n\nbool CWispWnd::OnSize(IN WISP_MSG*pMsg)\n{\n\tif(m_pWispBase->m_pRootWnd==this)\n\t{\n\t\tif(m_State!=WISP_WST_SIZING && m_pWispBase->ResizeHostFrame(m_ClientRect.cx,m_ClientRect.cy)==false)\n\t\t\treturn false;\n\t\tif(m_pWispBase->m_pTopMostRootWnd->Resize(m_ClientRect.cx,m_ClientRect.cy)==false)\n\t\t\treturn false;\n\t}\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tProcessCaptionBTMouseMove(pMsg->MsgMouseScrPT);\n\treturn true;\n}\n\n\nbool CWispWnd::OnHorzScrollMove(IN WISP_MSG*pMsg)\n{\n\tif(m_ScrollBar[WISP_SB_HORZ]==NULL)\n\t\treturn false;\n\tif(m_ScrollBar[WISP_SB_HORZ]->bHide==false)\n\t\tProcessScrollBTSpinKey(WISP_SB_HORZ,pMsg);\n\tProcessHorzScrollMouseMove(pMsg);\n\treturn false;\n}\n\nbool CWispWnd::OnVertScrollMove(IN WISP_MSG*pMsg)\n{\n\tif(m_ScrollBar[WISP_SB_VERT]==NULL)\n\t\treturn false;\n\tProcessVertScrollMouseMove(pMsg);\n\treturn false;\n}\n\nbool CWispWnd::OnScrollEvent(IN WISP_MSG*pMsg)\n{\n\tWISP_SB_TYPE Type = pMsg->ScrollEvent.SBType;\n\tWISP_SCROLL_LONG CurPos = m_ScrollBar[Type]->CurPos;\n\tswitch(pMsg->ScrollEvent.Event)\n\t{\n\t\tcase WISP_SB_DEC:\n\t\t\tm_ScrollBar[Type]->CurPos--;\n\t\t\tbreak;\n\t\tcase WISP_SB_INC:\n\t\t\tm_ScrollBar[Type]->CurPos++;\n\t\t\tbreak;\n\t\tcase WISP_SB_PAGE_UP:\n\t\t\tm_ScrollBar[Type]->CurPos-=m_ScrollBar[Type]->AdjustPage;\n\t\t\tbreak;\n\t\tcase WISP_SB_PAGE_DOWN:\n\t\t\tm_ScrollBar[Type]->CurPos+=m_ScrollBar[Type]->AdjustPage;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tUpdate();\n\t\t\treturn true;\n\t}\n\tLimitScrollInfo(Type,false);\n\tpMsg->ScrollEvent.Delta = m_ScrollBar[Type]->CurPos-CurPos;\n\tCalcScrollSlideWithPos(Type);\n\tUpdate();\n\treturn true;\n}\n\nvoid CWispWnd::CalcScrollSlideWithPos(WISP_SB_TYPE Type)\n{\n\tswitch(Type)\n\t{\n\tcase WISP_SB_HORZ:\n\t\tCalcHorzScrollSlideWithPos();\n\t\tbreak;\n\tcase WISP_SB_VERT:\n\t\tCalcVertScrollSlideWithPos();\n\t\tbreak;\n\t}\n}\n\nvoid CWispWnd::CalcVertScrollSlideWithPos()\n{\n\tif(m_ScrollBar[WISP_SB_VERT]==NULL)\n\t\treturn;\n\tm_ScrollBar[WISP_SB_VERT]->DecBTRect.cx = m_ScrollBar[WISP_SB_VERT]->DecBTRect.cy = \n\tm_ScrollBar[WISP_SB_VERT]->IncBTRect.cx = m_ScrollBar[WISP_SB_VERT]->IncBTRect.cy = \n\tm_ScrollBar[WISP_SB_VERT]->BarSize;\n\n\tm_ScrollBar[WISP_SB_VERT]->IncBTRect.x = \n\tm_ScrollBar[WISP_SB_VERT]->DecBTRect.x =\n\tm_ScrollBar[WISP_SB_VERT]->ScrollRect.x = m_ClientRect.x+m_ClientRect.cx;\n\tm_ScrollBar[WISP_SB_VERT]->DecBTRect.y =\n\tm_ScrollBar[WISP_SB_VERT]->ScrollRect.y = m_ClientRect.y;\n\tm_ScrollBar[WISP_SB_VERT]->ScrollRect.cx = m_ScrollBar[WISP_SB_VERT]->BarSize;\n\tm_ScrollBar[WISP_SB_VERT]->ScrollRect.cy = m_ClientRect.cy;\n\tm_ScrollBar[WISP_SB_VERT]->IncBTRect.y = m_ScrollBar[WISP_SB_VERT]->ScrollRect.y + m_ScrollBar[WISP_SB_VERT]->ScrollRect.cy - m_ScrollBar[WISP_SB_VERT]->IncBTRect.cy;\n\n\tm_ScrollBar[WISP_SB_VERT]->SpaceRect.x = m_ClientRect.x+m_ClientRect.cx;\n\tm_ScrollBar[WISP_SB_VERT]->SpaceRect.y = m_ClientRect.y+m_ScrollBar[WISP_SB_VERT]->BarSize;\n\tm_ScrollBar[WISP_SB_VERT]->SpaceRect.cx = m_ScrollBar[WISP_SB_VERT]->BarSize;\n\tm_ScrollBar[WISP_SB_VERT]->SpaceRect.cy = m_ClientRect.cy-m_ScrollBar[WISP_SB_VERT]->BarSize*2;\n\n\tm_ScrollBar[WISP_SB_VERT]->SlideRect.x = m_ScrollBar[WISP_SB_VERT]->SpaceRect.x+1;\n\tm_ScrollBar[WISP_SB_VERT]->SlideRect.cx = m_ScrollBar[WISP_SB_VERT]->SpaceRect.cx-2;\n\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y = m_ScrollBar[WISP_SB_VERT]->SpaceRect.y;\n\tm_ScrollBar[WISP_SB_VERT]->SlideRect.cy = m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy;\n\n\tif(m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->MinPos)\n\t{\n\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.cy = (int)(m_ScrollBar[WISP_SB_VERT]->SlideRect.cy*m_ScrollBar[WISP_SB_VERT]->AdjustPage/(m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->MinPos));\n\t\tMIN_LIMIT(m_ScrollBar[WISP_SB_VERT]->SlideRect.cy,WISP_SCROLL_MIN_SLIDE_SIZE);\n\t\tMAX_LIMIT(m_ScrollBar[WISP_SB_VERT]->SlideRect.cy,m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy);\n\n\t\tif(m_ScrollBar[WISP_SB_VERT]->CurPos==m_ScrollBar[WISP_SB_VERT]->MaxPos-m_ScrollBar[WISP_SB_VERT]->AdjustPage)\n\t\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y+=m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy-m_ScrollBar[WISP_SB_VERT]->SlideRect.cy;\n\t\telse\n\t\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y+=(int)(m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy*m_ScrollBar[WISP_SB_VERT]->CurPos/(m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->MinPos));\n\n\t\tif(m_ScrollBar[WISP_SB_VERT]->SlideRect.y+m_ScrollBar[WISP_SB_VERT]->SlideRect.cy>m_ScrollBar[WISP_SB_VERT]->SpaceRect.y+m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy)\n\t\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y=(int)(m_ScrollBar[WISP_SB_VERT]->SpaceRect.y+m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy-m_ScrollBar[WISP_SB_VERT]->SlideRect.cy);\n\t}\n\telse\n\t{\n\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.cy=m_ScrollBar[WISP_SB_VERT]->SlideRect.cx=0;\n\t}\n}\n\nvoid CWispWnd::CalcHorzScrollSlideWithPos()\n{\n\tif(m_ScrollBar[WISP_SB_HORZ]==NULL)\n\t\treturn;\n\tm_ScrollBar[WISP_SB_HORZ]->IncBTRect.cx = m_ScrollBar[WISP_SB_HORZ]->IncBTRect.cy =\n\tm_ScrollBar[WISP_SB_HORZ]->DecBTRect.cx = m_ScrollBar[WISP_SB_HORZ]->DecBTRect.cy =\n\tm_ScrollBar[WISP_SB_HORZ]->BarSize;\n\n\tm_ScrollBar[WISP_SB_HORZ]->DecBTRect.x =\n\tm_ScrollBar[WISP_SB_HORZ]->ScrollRect.x = m_ClientRect.x;\n\tm_ScrollBar[WISP_SB_HORZ]->IncBTRect.x = m_ScrollBar[WISP_SB_HORZ]->ScrollRect.x + m_ScrollBar[WISP_SB_HORZ]->ScrollRect.cx - m_ScrollBar[WISP_SB_HORZ]->IncBTRect.cx;\n\n\tm_ScrollBar[WISP_SB_HORZ]->IncBTRect.y =\n\tm_ScrollBar[WISP_SB_HORZ]->DecBTRect.y =\n\tm_ScrollBar[WISP_SB_HORZ]->ScrollRect.y = m_ClientRect.y+m_ClientRect.cy;\n\tm_ScrollBar[WISP_SB_HORZ]->ScrollRect.cx = m_ClientRect.cx;\n\tm_ScrollBar[WISP_SB_HORZ]->ScrollRect.cy = m_ScrollBar[WISP_SB_HORZ]->BarSize;\n\n\tm_ScrollBar[WISP_SB_HORZ]->SpaceRect.x=m_ClientRect.x+m_ScrollBar[WISP_SB_HORZ]->BarSize;\n\tm_ScrollBar[WISP_SB_HORZ]->SpaceRect.y=m_ClientRect.y+m_ClientRect.cy;\n\tm_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx=m_ClientRect.cx-m_ScrollBar[WISP_SB_HORZ]->BarSize*2;\n\tm_ScrollBar[WISP_SB_HORZ]->SpaceRect.cy=m_ScrollBar[WISP_SB_HORZ]->BarSize;\n\n\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x;\n\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.cx=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx;\n\n\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.y=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.y+1;\n\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.cy=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cy-2;\n\n\tif(m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->MinPos)\n\t{\n\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.cx=(int)(m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx*m_ScrollBar[WISP_SB_HORZ]->AdjustPage/(m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->MinPos));\n\t\tMIN_LIMIT(m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx,WISP_SCROLL_MIN_SLIDE_SIZE);\n\t\tMAX_LIMIT(m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx,m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx);\n\t\tif(m_ScrollBar[WISP_SB_HORZ]->CurPos==m_ScrollBar[WISP_SB_HORZ]->MaxPos-m_ScrollBar[WISP_SB_HORZ]->AdjustPage)\n\t\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x+=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx-m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx;\n\t\telse\n\t\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x+=(int)(m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx*m_ScrollBar[WISP_SB_HORZ]->CurPos/(m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->MinPos));\n\t\tif(m_ScrollBar[WISP_SB_HORZ]->SlideRect.x+m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx>m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x+m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx)\n\t\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x+m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx-m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx;\n\t}\n\telse\n\t{\n\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.cy=m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx=0;\n\t}\n}\n\nvoid CWispWnd::ProcessScrollBTSpinKey(IN WISP_SB_TYPE Type,IN WISP_MSG*pMsg)\n{\n\tif(pMsg->MouseEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_DEC_BT])\n\t{\n\t\tif(m_ScrollBar[Type]->BTSpinDecState == STATUS_NORMAL)\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_HOVER;\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_ScrollBar[Type]->BTSpinDecState != STATUS_NORMAL)\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_NORMAL;\n\t\t\tif(m_pWispBase->m_RepKeyIndex==WISP_VK_LBUTTON)\n\t\t\t\tm_pWispBase->StopMouseKeyRep();\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t}\n\tif(pMsg->MouseEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_INC_BT])\n\t{\n\t\tif(m_ScrollBar[Type]->BTSpinIncState == STATUS_NORMAL)\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_HOVER;\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_ScrollBar[Type]->BTSpinIncState != STATUS_NORMAL)\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_NORMAL;\n\t\t\tif(m_pWispBase->m_RepKeyIndex==WISP_VK_LBUTTON)\n\t\t\t\tm_pWispBase->StopMouseKeyRep();\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t}\n\tif(pMsg->bMsgLBTDown==false && m_pWispBase->m_RepKeyIndex==WISP_VK_LBUTTON)\n\t\tm_pWispBase->m_RepKeyIndex=WISP_VK_NULL;\n}\n\nvoid CWispWnd::ProcessHorzScrollMouseMove(IN WISP_MSG*pMsg)\n{\n\tWISP_SCROLL_LONG CurPos;\n\tif(pMsg->MsgMouseWndPT.x<m_ScrollBar[WISP_SB_HORZ]->SlideRect.x + m_ScrollBar[WISP_SB_HORZ]->HotPos && pMsg->MouseEvent.DeltaX>0)\n\t\treturn;\n\tif(pMsg->MsgMouseWndPT.x>m_ScrollBar[WISP_SB_HORZ]->SlideRect.x + m_ScrollBar[WISP_SB_HORZ]->HotPos && pMsg->MouseEvent.DeltaX<0)\n\t\treturn;\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\tMsg.ScrollEvent.Event = WISP_SB_POS_CHANGE;\n\tMsg.ScrollEvent.SBType = WISP_SB_HORZ;\n\n\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x+=pMsg->MouseEvent.DeltaX;\n\tif(m_ScrollBar[WISP_SB_HORZ]->SlideRect.x+m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx>=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x+m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx)\n\t{\n\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x+m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx-m_ScrollBar[WISP_SB_HORZ]->SlideRect.cx;\n\t\tCurPos = m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->AdjustPage;\n\t}\n\telse if(m_ScrollBar[WISP_SB_HORZ]->SlideRect.x<m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x)\n\t{\n\t\tm_ScrollBar[WISP_SB_HORZ]->SlideRect.x=m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x;\n\t\tCurPos = m_ScrollBar[WISP_SB_HORZ]->MinPos;\n\t}\n\telse \n\t{\n#ifdef WISP_SCROLL_LONGLONG\n\t\tCurPos = (m_ScrollBar[WISP_SB_HORZ]->SlideRect.x - m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x) * (m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->MinPos) / m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx;\n#else\n\t\tCurPos = (LONG)((LONGLONG)(m_ScrollBar[WISP_SB_HORZ]->SlideRect.x - m_ScrollBar[WISP_SB_HORZ]->SpaceRect.x) * (LONGLONG)(m_ScrollBar[WISP_SB_HORZ]->MaxPos - m_ScrollBar[WISP_SB_HORZ]->MinPos) / (LONGLONG)m_ScrollBar[WISP_SB_HORZ]->SpaceRect.cx);\n#endif\n\t}\t\n\tif(m_ScrollBar[WISP_SB_HORZ]->Style&WISP_SS_DRAGED_CHANGING)\n\t{\n\t\tm_ScrollBar[WISP_SB_HORZ]->CurPos = CurPos;\n\t\tUpdate(&m_ScrollBar[WISP_SB_HORZ]->ScrollRect);\n\t}\n\telse\n\t{\n\t\tMsg.ScrollEvent.Delta = CurPos - m_ScrollBar[WISP_SB_HORZ]->CurPos;\n\t\tMsg.ScrollEvent.CurPos = m_ScrollBar[WISP_SB_HORZ]->CurPos = CurPos;\n\t\tSEND_MSG(&Msg);\n\t\tUpdate();\n\t}\n\treturn;\n}\n\nvoid CWispWnd::ProcessVertScrollMouseMove(IN WISP_MSG*pMsg)\n{\n\tWISP_SCROLL_LONG CurPos;\n\tif(pMsg->MouseEvent.DeltaY==0)\n\t\treturn;\n\tif(pMsg->MsgMouseWndPT.y<m_ScrollBar[WISP_SB_VERT]->SlideRect.y + m_ScrollBar[WISP_SB_VERT]->HotPos && pMsg->MouseEvent.DeltaY>0)\n\t\treturn;\n\tif(pMsg->MsgMouseWndPT.y>m_ScrollBar[WISP_SB_VERT]->SlideRect.y + m_ScrollBar[WISP_SB_VERT]->HotPos && pMsg->MouseEvent.DeltaY<0)\n\t\treturn;\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\tMsg.ScrollEvent.Event = WISP_SB_POS_CHANGE;\n\tMsg.ScrollEvent.SBType = WISP_SB_VERT;\n\n\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y+=pMsg->MouseEvent.DeltaY;\n\tif(m_ScrollBar[WISP_SB_VERT]->SlideRect.y+m_ScrollBar[WISP_SB_VERT]->SlideRect.cy>=m_ScrollBar[WISP_SB_VERT]->SpaceRect.y+m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy)\n\t{\n\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y = m_ScrollBar[WISP_SB_VERT]->SpaceRect.y+m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy-m_ScrollBar[WISP_SB_VERT]->SlideRect.cy;\n\t\tCurPos = m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->AdjustPage;\n\t}\n\telse if(m_ScrollBar[WISP_SB_VERT]->SlideRect.y<m_ScrollBar[WISP_SB_VERT]->SpaceRect.y)\n\t{\n\t\tm_ScrollBar[WISP_SB_VERT]->SlideRect.y=m_ScrollBar[WISP_SB_VERT]->SpaceRect.y;\n\t\tCurPos = m_ScrollBar[WISP_SB_VERT]->MinPos;\n\t}\n\telse\n\t{\n#ifdef WISP_SCROLL_LONGLONG\n\t\tCurPos =(LONG)((LONGLONG)(m_ScrollBar[WISP_SB_VERT]->SlideRect.y - m_ScrollBar[WISP_SB_VERT]->SpaceRect.y)*(LONGLONG)(m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->MinPos) / (LONGLONG)m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy);\n#else\n\t\tCurPos = (m_ScrollBar[WISP_SB_VERT]->SlideRect.y - m_ScrollBar[WISP_SB_VERT]->SpaceRect.y)*(m_ScrollBar[WISP_SB_VERT]->MaxPos - m_ScrollBar[WISP_SB_VERT]->MinPos) / m_ScrollBar[WISP_SB_VERT]->SpaceRect.cy;\n#endif\n\t}\n\tif(m_ScrollBar[WISP_SB_VERT]->Style&WISP_SS_DRAGED_CHANGING)\n\t{\n\t\tm_ScrollBar[WISP_SB_VERT]->CurPos = CurPos;\n\t\tUpdate(&m_ScrollBar[WISP_SB_VERT]->ScrollRect);\n\t}\n\telse\n\t{\n\t\tMsg.ScrollEvent.Delta = CurPos - m_ScrollBar[WISP_SB_VERT]->CurPos;\t\t\n\t\tMsg.ScrollEvent.CurPos = m_ScrollBar[WISP_SB_VERT]->CurPos = CurPos;\n\t\tSEND_MSG(&Msg);\n\t\tUpdate();\n\t}\n\treturn;\n}\n\nvoid CWispWnd::ProcessCaptionBTMouseMove(IN const WISP_POINT&ScrMousePT)\n{\n\tWISP_POINT pt;\n\tpt=ScrMousePT;\n\tPointToRect(&pt,&m_ScrCaptionRect);\n\tif(m_Style & WISP_WS_BT_CLOSE)\n\t{\n\t\tif(PtInRect(&m_CloseBTRect,&pt))\n\t\t{\n\t\t\tif(m_CloseBTState==STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_CloseBTState = STATUS_HOVER;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_CloseBTState!=STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_CloseBTState = STATUS_NORMAL;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t}\n\tif(m_Style & WISP_WS_BT_MAX)\n\t{\n\t\tif(PtInRect(&m_MaxBTRect,&pt))\n\t\t{\n\t\t\tif(m_MaxBTState==STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_MaxBTState = STATUS_HOVER;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_MaxBTState!=STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_MaxBTState = STATUS_NORMAL;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t}\n\tif(m_Style & WISP_WS_BT_MIN)\n\t{\n\t\tif(PtInRect(&m_MinBTRect,&pt))\n\t\t{\n\t\t\tif(m_MinBTState==STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_MinBTState = STATUS_HOVER;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif(m_MinBTState!=STATUS_NORMAL)\n\t\t\t{\n\t\t\t\tm_MinBTState = STATUS_NORMAL;\n\t\t\t\tUpdate(&m_CaptionRect);\n\t\t\t}\n\t\t}\n\t}\n}\n\nbool CWispWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tProcessCaptionBTMouseMove(pMsg->MsgMouseScrPT);\n\tfor(UINT Type = WISP_SB_START;Type < WISP_SB_COUNT ;Type++)\n\t{\n\t\tif(m_ScrollBar[Type] && m_ScrollBar[Type]->bHide==false)\n\t\t\tProcessScrollBTSpinKey((WISP_SB_TYPE)Type,pMsg);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnMouseLeave(IN WISP_MSG*pMsg)\n{\n\tbool Result = true;\n\tif(m_Style & WISP_WS_CAPTION)\n\t\tProcessCaptionBTMouseMove(pMsg->MsgMouseScrPT);\n\tfor(UINT Type = WISP_SB_START;Type < WISP_SB_COUNT ;Type++)\n\t{\n\t\tif(m_ScrollBar[Type] && m_ScrollBar[Type]->bHide==false)\n\t\t{\n\t\t\tProcessScrollBTSpinKey((WISP_SB_TYPE)Type,pMsg);\n\t\t\tif(m_ScrollBar[Type]->State == STATUS_DOWN)\n\t\t\t\tResult = false;\n\t\t}\n\t}\n\treturn Result;\n}\n\nvoid CWispWnd::ProcessScrollMouseKey(IN WISP_SB_TYPE Type,IN WISP_MSG*pMsg)\n{\n\tbool bPageUp;\n\tWISP_MSG Msg;\n\tif(pMsg->KeyEvent.bKeyDown)\n\t{\n\t\tif(pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_DEC_BT])\n\t\t{\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tMsg.Command.CmdID\t= ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_DEC_BT];\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\tMsg.Command.Param1 = (int)Type;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t\tif(pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_INC_BT])\n\t\t{\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tMsg.Command.CmdID\t= ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_INC_BT];\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\tMsg.Command.Param1 = (int)Type;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t\tif(m_ScrollBar[Type] && pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_SPACE_RECT])\n\t\t{//ֱҳ\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tbPageUp = false;\n\t\t\tswitch(Type)\n\t\t\t{\n\t\t\tcase WISP_SB_VERT:\n\t\t\t\tbPageUp = pMsg->MsgMouseWndPT.y < m_ScrollBar[WISP_SB_VERT]->SlideRect.y;\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_HORZ:\n\t\t\t\tbPageUp = pMsg->MsgMouseWndPT.x < m_ScrollBar[WISP_SB_HORZ]->SlideRect.x;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tMsg.Command.CmdID = bPageUp?ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_PAGE_UP]:ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_PAGE_DOWN];\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\tMsg.Command.Param1 = (int)Type;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t\tif(m_ScrollBar[Type]->State!=STATUS_DOWN && pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_SLIDE_RECT])\n\t\t{//ֱλ\n\t\t\tswitch(Type)\n\t\t\t{\n\t\t\tcase WISP_SB_VERT:\n\t\t\t\tm_ScrollBar[WISP_SB_VERT]->HotPos = pMsg->MsgMouseWndPT.y - m_ScrollBar[WISP_SB_VERT]->SlideRect.y;\n\t\t\t\tbreak;\n\t\t\tcase WISP_SB_HORZ:\n\t\t\t\tm_ScrollBar[WISP_SB_HORZ]->HotPos = pMsg->MsgMouseWndPT.x - m_ScrollBar[WISP_SB_HORZ]->SlideRect.x;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tMsg.Command.CmdID\t= ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_SLIDE];\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_DOWN;\n\t\t\tMsg.Command.Param1 = (int)Type;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_DEC_BT])\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_HOVER;\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t\tif(pMsg->KeyEvent.HitCtrlType == ScrollHitCtrlType[Type][WISP_HIT_SCROLL_CTRL_INC_BT])\n\t\t{\n\t\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_HOVER;\n\t\t\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n\t\t}\n\t\tif(m_ScrollBar[Type]->State==STATUS_DOWN)\n\t\t{\n\t\t\tWISP_MSG Msg;\n\t\t\tMsg.hWnd = this;\n\t\t\tMsg.Msg\t= WISP_WM_COMMAND;\n\t\t\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\t\t\tMsg.Command.CmdID\t= ScrollCtrlID[Type][WISP_SCROLL_CTRL_ID_SLIDE];\n\t\t\tMsg.Command.CmdMsg\t= WISP_CMD_BT_UP;\n\t\t\tMsg.Command.Param1 = (int)Type;\n\t\t\tSEND_MSG(&Msg);\n\t\t}\n\t}\n}\n\nvoid CWispWnd::ProcessCaptionBTMouseKeyUp(IN const WISP_POINT&ScrMousePT)\n{\n\tbool bSendCmd;\n\tUINT CapBTID=IsPointInCaptionBT(ScrMousePT);\n\n\tswitch(CapBTID)\n\t{\n\tcase WISP_ID_CLOSE:\n\t\tbSendCmd = m_CloseBTState == STATUS_DOWN;\n\t\tm_CloseBTState = STATUS_HOVER;\n\t\tbreak;\n\tcase WISP_ID_MAX:\n\t\tbSendCmd = m_MaxBTState == STATUS_DOWN;\n\t\tm_MaxBTState = STATUS_HOVER;\n\t\tbreak;\n\tcase WISP_ID_MIN:\n\t\tbSendCmd = m_MinBTState == STATUS_DOWN;\n\t\tm_MinBTState = STATUS_HOVER;\n\t\tbreak;\n\tdefault:\n\t\treturn;\n\t}\n\tUpdate(&m_CaptionRect);\n\tif(bSendCmd==false)\n\t\treturn;\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg\t= WISP_WM_COMMAND;\n\tMsg.Command.CtrlType= WISP_CTRL_SYS_TYPE;\n\tMsg.Command.CmdID\t= CapBTID;\n\tMsg.Command.CmdMsg\t= WISP_CMD_BT_UP;\n\tif(SEND_MSG(&Msg))\n\t{\n\t\tMsg.hWnd=this;\n\t\tMsg.Msg=WISP_WM_EVENT;\n\t\tSEND_MSG(&Msg);\n\t}\n}\n\nbool CWispWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tswitch(pMsg->KeyEvent.KeyType)\n\t{\n\t\tcase WISP_VK_LBUTTON:\n\t\t\t//\n\t\t\tfor(UINT Type = WISP_SB_START;Type<WISP_SB_COUNT;Type++)\n\t\t\t{\n\t\t\t\tif(m_ScrollBar[Type] && m_ScrollBar[Type]->bHide==false)\n\t\t\t\t\tProcessScrollMouseKey((WISP_SB_TYPE)Type,pMsg);\n\t\t\t}\n\t\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\t{\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tProcessCaptionBTMouseKeyUp(pMsg->MsgMouseScrPT);\n\t\t\t\tif(m_ScrollBar[WISP_SB_VERT] && m_ScrollBar[WISP_SB_VERT]->State==STATUS_DOWN)\n\t\t\t\t\tm_ScrollBar[WISP_SB_VERT]->State=STATUS_NORMAL;\n\t\t\t\tif(m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_HORZ]->State==STATUS_DOWN)\n\t\t\t\t\tm_ScrollBar[WISP_SB_HORZ]->State=STATUS_NORMAL;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_VK_UP:\n\t\t\tif(pMsg->KeyEvent.bKeyDown && m_ScrollBar[WISP_SB_VERT] && m_ScrollBar[WISP_SB_VERT]->bHide == false)\n\t\t\t{\n\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_DEC);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_VK_DOWN:\n\t\t\tif(pMsg->KeyEvent.bKeyDown && m_ScrollBar[WISP_SB_VERT] && m_ScrollBar[WISP_SB_VERT]->bHide == false)\n\t\t\t{\n\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_INC);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_VK_LEFT:\n\t\t\tif(pMsg->KeyEvent.bKeyDown && m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_HORZ]->bHide == false)\n\t\t\t{\n\t\t\t\tSendScrollEvent(WISP_SB_HORZ,WISP_SB_DEC);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_MOD_CTRL|WISP_VK_RIGHT:\n\t\t\tif(pMsg->KeyEvent.bKeyDown && m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_HORZ]->bHide == false)\n\t\t\t{\n\t\t\t\tSendScrollEvent(WISP_SB_HORZ,WISP_SB_INC);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase WISP_VK_PAGE_UP:\n\t\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_PAGE_UP);\n\t\t\tbreak;\n\t\tcase WISP_VK_PAGE_DOWN:\n\t\t\tif(pMsg->KeyEvent.bKeyDown)\n\t\t\t\tSendScrollEvent(WISP_SB_VERT,WISP_SB_PAGE_DOWN);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnUpdate(IN WISP_MSG*pMsg)\n{\n\tWISP_MSG Msg;\n\tCWispBaseWnd*pUpdateWnd;\n\tif(m_pUpdateRect==NULL)\n\t\treturn true;\n\tMsg.hWnd=this;\n\n\tif((m_Style & WISP_WS_VIRTUAL)==0)\n\t{\n\t\tif(IsRectVisible(m_pUpdateRect,&m_ClientRect))\n\t\t{\n\t\t\tMsg.Msg=WISP_WM_UPDATE_CLIENT;\n\t\t\tSEND_MSG(&Msg);\n\t\t\tif(m_Caret.bEnable)\n\t\t\t{\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE_CARET;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\tif((m_Style & WISP_WS_BORDER) && m_BorderSize)\n\t\t{\n\t\t\tif(IsRectVisible(m_pUpdateRect,&m_WindowRect))\n\t\t\t{\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE_BORDER;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\tif(m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_HORZ]->bHide==false)\n\t\t{\n\t\t\tif(IsRectVisible(m_pUpdateRect,&m_ScrollBar[WISP_SB_HORZ]->ScrollRect))\n\t\t\t{\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE_HORZ_SCROLL;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\tif(m_ScrollBar[WISP_SB_VERT] && m_ScrollBar[WISP_SB_VERT]->bHide==false)\n\t\t{\n\t\t\tif(IsRectVisible(m_pUpdateRect,&m_ScrollBar[WISP_SB_VERT]->ScrollRect))\n\t\t\t{\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE_VERT_SCROLL;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t\tif(m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_VERT])\n\t\t{\n\t\t\tWISP_RECT BlankRect;\n\t\t\tBlankRect.x=m_ClientRect.x+m_ClientRect.cx;\n\t\t\tBlankRect.y=m_ClientRect.y+m_ClientRect.cy;\n\t\t\tBlankRect.cx=m_WindowRect.cx-BlankRect.x-m_BorderSize;\n\t\t\tBlankRect.cy=m_WindowRect.cy-BlankRect.y-m_BorderSize;\n\t\t\tm_WindowDC.DrawFullRect(&BlankRect,m_pWispBase->m_pCurDrawObj->m_crSystem[SC_BORDER_BG]);\n\t\t}\n\t\tif(m_Style & WISP_WS_CAPTION)\n\t\t{\n\t\t\tif(IsRectVisible(m_pUpdateRect,&m_CaptionRect))\n\t\t\t{\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE_CAPTION;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t}\n\t\t}\n\t}\n\tpUpdateWnd=m_ChildWnd;\n\twhile(pUpdateWnd)\n\t{\n\t\tif(pUpdateWnd->m_ShowMode!=WISP_SH_HIDDEN)\n\t\t{\n\t\t\tif(pUpdateWnd->m_pUpdateRect && IsRectVisible(pUpdateWnd->m_pUpdateRect,&pUpdateWnd->m_WindowRect))\n\t\t\t{\n\t\t\t\tMsg.hWnd=pUpdateWnd;\n\t\t\t\tMsg.Msg=WISP_WM_UPDATE;\n\t\t\t\tSEND_MSG(&Msg);\n\t\t\t\tpUpdateWnd->m_pUpdateRect=NULL;\n\t\t\t}\n\t\t}\n\t\tpUpdateWnd=pUpdateWnd->m_NextWnd;\n\t}\n\tm_pUpdateRect=NULL;\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tif(m_Style & WISP_WS_BACK_TRANS)\n\t\treturn true;\n\tif(m_pBKDIB)\n\t{\n\t\tm_ClientDC.DrawDIBTiled(m_pBKDIB);\n\t\treturn true;\n\t}\n\tif(m_bBGColor)\n\t\tm_WindowDC.DrawFullRect(&m_ClientRect, m_crBGColor);\n\telse\n\t\tm_pWispBase->m_pCurDrawObj->DrawClient(&m_WindowDC,&m_ClientRect);\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateCaption(IN WISP_MSG*pMsg)\n{\n\tint x,y;\n\tWISP_RECT rc;\n\tm_pWispBase->m_pCurDrawObj->DrawCaption(&m_WindowDC,&m_CaptionRect);\n\tx=2;\n\tif(m_pTitleDIB)\n\t{\n\t\tm_CaptionDC.DrawDIB(x,CENTER_ALGN(m_pTitleDIB->m_FrameBuffer.Height,m_CaptionRect.cy),m_pTitleDIB);\n\t\tx+=m_pTitleDIB->m_FrameBuffer.Width;\n\t}\n\tx+=m_CaptionDC.m_pFont->m_Width;\n\ty=(m_CaptionRect.cy-m_CaptionDC.m_pFont->m_Height)/2;\n\tif(m_WndText.m_Length)\n\t{\n\t\trc.x = x;\n\t\trc.y = y;\n\t\trc.cx = m_CaptionRect.cx - 60;\n\t\trc.cy = 14;\n\t\tm_CaptionDC.DrawString(m_WndText,&rc,WISP_DT_END_ELLIPSIS|WISP_DT_SINGLELINE);\n\t}\n\tif(m_Style & WISP_WS_BT_CLOSE)\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_CaptionDC,&m_CloseBTRect, WISP_SSI_CLOSE, m_CloseBTState);\n\t}\n\tif(m_Style & WISP_WS_BT_MAX)\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_CaptionDC,&m_MaxBTRect,m_State&WISP_WST_MAX?WISP_SSI_RESTORE:WISP_SSI_MAXIMIZE,m_State&WISP_WST_MIN?STATUS_DISABLED:m_MaxBTState);\n\t}\n\tif(m_Style & WISP_WS_BT_MIN)\n\t{\n\t\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_CaptionDC,&m_MinBTRect,m_State&WISP_WST_MIN?WISP_SSI_RESTORE:WISP_SSI_MINIMIZE,m_State&WISP_WST_MAX?STATUS_DISABLED:m_MinBTState);\n\t}\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateBorder(IN WISP_MSG*pMsg)\n{\n\tif((m_Style & WISP_WS_BORDER)==0)\n\t\treturn false;\n\tm_pWispBase->m_pCurDrawObj->DrawBorder(&m_WindowDC,&m_WindowRect,m_BorderSize);\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateCaret(IN WISP_MSG*pMsg)\n{\n\tif(m_Caret.pDIB==NULL)\n\t\treturn false;\n\tif(m_pWispBase->m_pFocusWnd!=this)\n\t\treturn false;\n\tm_ClientDC.DrawVLine(m_Caret.x  ,m_Caret.y+1,m_Caret.y+m_ClientDC.m_pFont->m_Height-2,m_crCaret);\n\tm_ClientDC.DrawVLine(m_Caret.x+1,m_Caret.y+1,m_Caret.y+m_ClientDC.m_pFont->m_Height-2,m_crCaret);\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateHorzScrollBar(IN WISP_MSG*pMsg)\n{\n\tm_pWispBase->m_pCurDrawObj->DrawHorzScrollRect(&m_WindowDC,&m_ScrollBar[WISP_SB_HORZ]->SpaceRect);\n\tm_pWispBase->m_pCurDrawObj->DrawHorzScrollSlideRect(&m_WindowDC,&m_ScrollBar[WISP_SB_HORZ]->SlideRect);\n\n\tWISP_RECT\trc = {m_ClientRect.x, m_ClientRect.y+m_ClientRect.cy, m_ScrollBar[WISP_SB_HORZ]->BarSize, m_ScrollBar[WISP_SB_HORZ]->BarSize};\n\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_WindowDC, &rc, WISP_SSI_HORZ_DEC_SPIN, m_ScrollBar[WISP_SB_HORZ]->BTSpinDecState);\n\trc.x = m_ClientRect.x+m_ClientRect.cx-m_ScrollBar[WISP_SB_HORZ]->BarSize;\n\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_WindowDC, &rc, WISP_SSI_HORZ_INC_SPIN, m_ScrollBar[WISP_SB_HORZ]->BTSpinIncState);\n\n\treturn true;\n}\n\nbool CWispWnd::OnUpdateVertScrollBar(IN WISP_MSG*pMsg)\n{\n\tm_pWispBase->m_pCurDrawObj->DrawVertScrollRect(&m_WindowDC,&m_ScrollBar[WISP_SB_VERT]->SpaceRect);\n\tm_pWispBase->m_pCurDrawObj->DrawVertScrollSlideRect(&m_WindowDC,&m_ScrollBar[WISP_SB_VERT]->SlideRect);\n\n\tWISP_RECT\trc = {m_ClientRect.x+m_ClientRect.cx, m_ClientRect.y, m_ScrollBar[WISP_SB_VERT]->BarSize, m_ScrollBar[WISP_SB_VERT]->BarSize};\n\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_WindowDC, &rc, WISP_SSI_VERT_DEC_SPIN, m_ScrollBar[WISP_SB_VERT]->BTSpinDecState);\n\trc.y = m_ClientRect.y+m_ClientRect.cy-m_ScrollBar[WISP_SB_VERT]->BarSize;\n\tm_pWispBase->m_pCurDrawObj->DrawSystemStandardIcon(&m_WindowDC, &rc, WISP_SSI_VERT_INC_SPIN, m_ScrollBar[WISP_SB_VERT]->BTSpinIncState);\n\n\treturn true;\n}\n\nbool CWispWnd::Create(\tIN WISP_CHAR*Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd,IN UINT CmdID,IN UINT Style,IN UINT ShowMode)\n{\n\treturn Create(Name,Rect.x,Rect.y,Rect.cx,Rect.cy,pParentWnd,CmdID,Style,ShowMode);\n}\n\nbool CWispWnd::Create(IN WISP_CHAR*Name,IN int x,IN int y,IN int cx,IN int cy,IN CWispBaseWnd*pParentWnd,IN UINT CmdID,IN UINT Style,IN UINT ShowMode)\n{\n\tif(CWispBaseWnd::Create(Name,x,y,cx,cy,pParentWnd,CmdID,Style|WISP_WS_ADV_WND,ShowMode)==false)\n\t\treturn false;\n\tif(m_ClientDC.AttachWnd(this,&m_ScrClientRect)==false)\n\t\treturn false;\n\tif(m_CaptionDC.AttachWnd(this,&m_ScrCaptionRect)==false)\n\t\treturn false;\n\tm_CaptionDC.SetTextColor(SYS_COLOR[SC_WHITE]);\n\tif(InitWnd()==false)\n\t\treturn false;\n\tRecalcLayout();\n\tm_State = WISP_WST_NORMAL;\n\tWISP_MSG Msg;\n\tMsg.hWnd=this;\n\tMsg.Msg=WISP_WM_PRECREATE;\n\tif(SEND_MSG(&Msg)==false)\n\t{\n\t\tDestroy();\n\t\treturn false;\n\t}\n\tMsg.Msg = WISP_WM_CREATE;\n\tif(SEND_MSG(&Msg)==false)\n\t{\n\t\tDestroy();\n\t\treturn false;\n\t}\n\tShow(ShowMode);\n\treturn true;\n}\n\nbool CWispWnd::Destroy()\n{\n\tif(CWispBaseWnd::Destroy()==false)\n\t\treturn false;\n\tm_ClientDC.Detach();\n\tm_CaptionDC.Detach();\n\tSafeDelete(m_ScrollBar[WISP_SB_VERT]);\n\tSafeDelete(m_ScrollBar[WISP_SB_HORZ]);\n\tif(m_AdvStyle & WISP_WAS_AUTO_DELETE)\n\t\tdelete this;\n\treturn true;\n}\n\nvoid CWispWnd::ChangeColor(IN UINT ColorID,IN COLORREF Color)\n{\n\tif(ColorID<MAX_SYSTEM_COLOR)\n\t\tm_pWispBase->m_pCurDrawObj->m_crSystem[ColorID]=Color;\n}\n\nbool CWispWnd::AttachBKDIB(CWispDIB*pDIB)\n{\n\tm_pBKDIB = pDIB;\n\treturn true;\n}\n\nvoid CWispWnd::DetachBKDIB()\n{\n\tm_pBKDIB = NULL;\n}\n\nbool CWispWnd::LoadBKDIB(PCSTR FileName)\n{\n\treturn AttachBKDIB(WispDIB(FileName,-1));\n}\n\nbool CWispWnd::AttachTitleDIB(CWispDIB*pDIB)\n{\n\tm_pTitleDIB = pDIB;\n\treturn true;\n}\n\nvoid CWispWnd::DetachTitleDIB()\n{\n\tm_pTitleDIB = NULL;\n}\n\nbool CWispWnd::LoadTitleDIB(PCSTR FileName,int Index)\n{\n\treturn AttachTitleDIB(WispDIB(FileName,Index));\n}\n\nCWispBaseWnd* CWispWnd::GetChildWnd(UINT CmdID)\n{\n\tCWispBaseWnd*pWnd = m_ChildWnd;\n\twhile(pWnd)\n\t{\n\t\tif(pWnd->m_CmdID == CmdID)\n\t\t\treturn pWnd;\n\t\tpWnd = pWnd->m_NextWnd;\n\t}\n\treturn NULL;\n}\n\nvoid CWispWnd::RecalcMinWndSize()\n{\n\t//СڴС\n\tm_MinWndSize.cx=m_MinWndSize.cy=0;\n\tif(m_Style & WISP_WS_CAPTION)\n\t{\n\t\tm_MinWndSize.cy+=m_pWispBase->m_Metrics[WISP_SM_CAPTION_CY];\n\t\tif(m_pTitleDIB)\n\t\t{\n\t\t\tm_MinWndSize.cx+=m_pTitleDIB->Width()+m_CaptionDC.m_pFont->m_Width;\t\t\t\n\t\t}\n\t\tif(m_WndText.m_Length)\n\t\t{\n\t\t\tm_MinWndSize.cx+=MIN(m_CaptionDC.GetTextExtent(m_WndText)+20,120)+m_CaptionDC.m_pFont->m_Width;\n\t\t}\n\t}\n\tif(m_Style & WISP_WS_BORDER)\n\t{\n\t\tm_MinWndSize.cy+=m_pWispBase->m_Metrics[WISP_SM_BORDER_SIZE]*2;\n\t\tm_MinWndSize.cx+=m_pWispBase->m_Metrics[WISP_SM_BORDER_SIZE]*2;\n\t}\n\tif(m_Style & WISP_WS_BT_CLOSE)\n\t\tm_MinWndSize.cx+=m_pWispBase->m_Metrics[WISP_SM_CAPTION_BT_SIZE];\n\tif(m_Style & WISP_WS_BT_MAX)\n\t\tm_MinWndSize.cx+=m_pWispBase->m_Metrics[WISP_SM_CAPTION_BT_SIZE];\n\tif(m_Style & WISP_WS_BT_MIN)\n\t\tm_MinWndSize.cx+=m_pWispBase->m_Metrics[WISP_SM_CAPTION_BT_SIZE];\n}\n\nvoid CWispWnd::RecalcLayout()\n{\n\tCWispBaseWnd::RecalcLayout();\n\tRecalcMinWndSize();\n\n\tm_ClientRect.x=m_ClientRect.y=0;\n\tm_ClientRect.cx=m_ScrWindowRect.cx;\n\tm_ClientRect.cy=m_ScrWindowRect.cy;\n \n\tif(m_Style & WISP_WS_BORDER)\n\t{\n\t\tm_ClientRect.x+=m_BorderSize;\n\t\tm_ClientRect.cx-=m_BorderSize*2;\n\t\tm_ClientRect.y+=m_BorderSize;\n\t\tm_ClientRect.cy-=m_BorderSize*2;\n\t}\n\n\tm_CaptionRect=m_ClientRect;\n\tm_CaptionRect.cy=0;\n\n\tif(m_Style & WISP_WS_CAPTION)\n\t{\n\t\tm_ClientRect.y+=m_pWispBase->m_Metrics[WISP_SM_CAPTION_CY];\n\t\tm_ClientRect.cy-=m_pWispBase->m_Metrics[WISP_SM_CAPTION_CY];\n\t\tm_CaptionRect.cy=m_pWispBase->m_Metrics[WISP_SM_CAPTION_CY];\n\n\t\tif(m_Style & WISP_WS_BT_CLOSE)\n\t\t{\n\t\t\tm_CloseBTRect.x = m_CaptionRect.cx-WISP_CAPTION_BT_SIZE-1;\n\t\t\tm_CloseBTRect.y = CENTER_ALGN(WISP_CAPTION_BT_SIZE,m_CaptionRect.cy);\n\t\t\tm_CloseBTRect.cx = WISP_CAPTION_BT_SIZE;\n\t\t\tm_CloseBTRect.cy = WISP_CAPTION_BT_SIZE;\n\t\t}\n\t\tif(m_Style & WISP_WS_BT_MAX)\n\t\t{\n\t\t\tm_MaxBTRect.x = m_CaptionRect.cx-(WISP_CAPTION_BT_SIZE+1)*2;\n\t\t\tm_MaxBTRect.y = CENTER_ALGN(WISP_CAPTION_BT_SIZE,m_CaptionRect.cy);\n\t\t\tm_MaxBTRect.cx = WISP_CAPTION_BT_SIZE;\n\t\t\tm_MaxBTRect.cy = WISP_CAPTION_BT_SIZE;\n\t\t}\n\t\tif(m_Style & WISP_WS_BT_MIN)\n\t\t{\n\t\t\tm_MinBTRect.x = m_CaptionRect.cx-(WISP_CAPTION_BT_SIZE+1)*3;\n\t\t\tm_MinBTRect.y = CENTER_ALGN(WISP_CAPTION_BT_SIZE,m_CaptionRect.cy);\n\t\t\tm_MinBTRect.cx = WISP_CAPTION_BT_SIZE;\n\t\t\tm_MinBTRect.cy = WISP_CAPTION_BT_SIZE;\n\t\t}\n\t}\n\n\tif(m_ScrollBar[WISP_SB_VERT] && m_ScrollBar[WISP_SB_VERT]->bHide==false)\n\t\tm_ClientRect.cx-=m_ScrollBar[WISP_SB_VERT]->BarSize;\n\tif(m_ScrollBar[WISP_SB_HORZ] && m_ScrollBar[WISP_SB_HORZ]->bHide==false)\n\t\tm_ClientRect.cy-=m_ScrollBar[WISP_SB_HORZ]->BarSize;\n\n\tif(m_ScrollBar[WISP_SB_VERT])\n\t\tUpdateScrollBarState(WISP_SB_VERT);\n\tif(m_ScrollBar[WISP_SB_HORZ])\n\t\tUpdateScrollBarState(WISP_SB_HORZ);\n\n\tCalcVertScrollSlideWithPos();\n\tCalcHorzScrollSlideWithPos();\n\n\tm_ScrClientRect=m_ClientRect;\n\tm_ScrClientRect.x+=m_ScrWindowRect.x;\n\tm_ScrClientRect.y+=m_ScrWindowRect.y;\n\tm_ScrCaptionRect=m_CaptionRect;\n\tm_ScrCaptionRect.x+=m_ScrWindowRect.x;\n\tm_ScrCaptionRect.y+=m_ScrWindowRect.y;\n\n\tif(m_State!=WISP_WST_INVAILD)\n\t{\n\t\tWISP_MSG Msg;\n\t\tMsg.hWnd=this;\n\t\tMsg.Msg=WISP_WM_RECALCLAYOUT;\n\t\tSEND_MSG(&Msg);\t\t\n\t}\n}\n\nbool CWispWnd::InitWnd()\n{\n\tif(CWispBaseWnd::InitWnd()==false)\n\t\treturn false;\n\tm_MaxWndSize.cx =\tm_MaxWndSize.cy = 0;\n\tm_bInResizeArea=false;\n\tm_ScrollBar[WISP_SB_VERT]=m_ScrollBar[WISP_SB_HORZ]=NULL;\n\tm_pTitleDIB = m_pBKDIB = NULL;\n\tm_Caret.x=m_Caret.y=0;\n\tm_Caret.bEnable=false;\n\tm_Caret.BlinkTime=300;\n\tif((m_Style & WISP_WS_THIN_BORDER)==WISP_WS_THIN_BORDER)\n\t\tm_BorderSize = m_pWispBase->m_Metrics[WISP_SM_THIN_BORDER_SIZE];\n\telse\n\t\tm_BorderSize=(m_Style & WISP_WS_BORDER)?m_pWispBase->m_Metrics[WISP_SM_BORDER_SIZE]:0;\n\tm_CloseBTState=m_MaxBTState=m_MinBTState=STATUS_NORMAL;\n\tm_crCaret = SYS_COLOR[SC_WHITE];\n\treturn true;\n}\n\nbool CWispWnd::SetWindowText(const WISP_CHAR* pString)\n{\n\tif(m_Style&WISP_WS_BT_MIN)\n\t{\n\t\tif(CWispBaseWnd::SetWindowText(pString)==false)\n\t\t\treturn false;\n\t\tRecalcMinWndSize();\n\t\treturn true;\n\t}\n\treturn CWispBaseWnd::SetWindowText(pString);\n}\n\nbool CWispWnd::CreateCaret(IN UINT ID)\n{\n\tm_Caret.pDIB=m_pWispBase->GetDefDIB(ID);\n\tm_Caret.bEnable=false;\n\treturn true;\n}\n\nbool CWispWnd::SetCaretPos(IN int x,IN int y)\n{\n\tm_Caret.x=x;\n\tm_Caret.y=y;\n\treturn true;\n}\n\nbool CWispWnd::GetCaretPos(OUT WISP_POINT*pPT)\n{\n\tpPT->x=m_Caret.x;\n\tpPT->y=m_Caret.y;\n\treturn true;\n}\n\nvoid CWispWnd::ShowCaret(IN bool bShow)\n{\n\tif(m_Caret.bEnable==bShow)\n\t\treturn;\n\tm_Caret.bEnable=bShow;\n\tif(m_pWispBase->m_pFocusWnd==this)\n\t{\n\t\t/*\n\t\tif(m_Caret.bEnable)\n\t\t\tInsertTimer(WISP_ID_CARET_BLINK_TIMER,m_Caret.BlinkTime);\n\t\telse\n\t\t\tRemoveTimer(WISP_ID_CARET_BLINK_TIMER);\n\t\t*/\n\t}\n}\n\nvoid CWispWnd::BlinkCaret(IN ULONG BlinkTime)\n{\n\tm_Caret.BlinkTime=BlinkTime;\n}\n\nvoid CWispWnd::DestroyCaret()\n{\n\tm_Caret.bEnable=false;\n\tm_Caret.pDIB=NULL;\n}\n\nvoid CWispWnd::UpdateScrollBarState(WISP_SB_TYPE Type)\n{\n\tif(m_ScrollBar[Type]==NULL || (m_ScrollBar[Type]->Style & WISP_SS_AUTOHIDE)==0)\n\t\treturn;\n\tif(m_ScrollBar[Type]->MaxPos-m_ScrollBar[Type]->MinPos <= m_ScrollBar[Type]->Page)\n\t{\n\t\tif(m_ScrollBar[Type]->bHide==false)\n\t\t{\n\t\t\tm_ScrollBar[Type]->bHide = true;\n\t\t\tRecalcLayout();\n\t\t}\n\t}\n\telse\n\t{\n\t\tif(m_ScrollBar[Type]->bHide)\n\t\t{\n\t\t\tm_ScrollBar[Type]->bHide = false;\n\t\t\tRecalcLayout();\n\t\t}\n\t}\n}\n\nbool CWispWnd::EnableScrollBar(IN WISP_SB_TYPE Type,IN bool bEnable,IN UINT Style)\n{\n\tif(bEnable)\n\t{\n\t\tif(m_ScrollBar[Type])\n\t\t\treturn false;\n\t}\n\telse\n\t{\n\t\tif(m_ScrollBar[Type]==NULL)\n\t\t\treturn false;\n\t}\n\tif(m_ScrollBar[Type]==NULL)\n\t{\n\t\tm_ScrollBar[Type]=new WISP_SCROLL_BAR;\n\t\tZeroMemory(m_ScrollBar[Type],sizeof(WISP_SCROLL_BAR));\n\t\tm_ScrollBar[Type]->BarSize=m_pWispBase->GetMetrics(WISP_SM_SCROLL_BAR_SIZE);\n\t\tm_ScrollBar[Type]->bHide=false;\n\t\tm_ScrollBar[Type]->State=STATUS_NORMAL;\n\t\tm_ScrollBar[Type]->BTSpinDecState = STATUS_NORMAL;\n\t\tm_ScrollBar[Type]->BTSpinIncState = STATUS_NORMAL;\n\t\tm_ScrollBar[Type]->Style = Style;\n\t\tm_ScrollBar[Type]->Page=m_ScrollBar[Type]->MaxPos=m_ScrollBar[Type]->MinPos=m_ScrollBar[Type]->CurPos=0;\n\t\tif(m_pWispBase->m_RepKeyIndex==WISP_VK_LBUTTON)\n\t\t\tm_pWispBase->m_RepKeyIndex=WISP_VK_NULL;\n\t}\n\telse\n\t{\n\t\tSafeDelete(m_ScrollBar[Type]);\n\t}\n\tRecalcLayout();\n\treturn true;\n}\n\nvoid CWispWnd::LimitScrollInfo(WISP_SB_TYPE Type,bool bChgMsg)\n{\n\tWISP_SCROLL_LONG CurPos = m_ScrollBar[Type]->CurPos;\n\tMIN_LIMIT(m_ScrollBar[Type]->MaxPos,m_ScrollBar[Type]->MinPos);\n\tm_ScrollBar[Type]->AdjustPage=MIN(m_ScrollBar[Type]->MaxPos-m_ScrollBar[Type]->MinPos,m_ScrollBar[Type]->Page);\n\tMIN_LIMIT(m_ScrollBar[Type]->AdjustPage,0);\n\tMAX_LIMIT(m_ScrollBar[Type]->CurPos,m_ScrollBar[Type]->MaxPos);\n\tMIN_LIMIT(m_ScrollBar[Type]->CurPos,m_ScrollBar[Type]->MinPos);\n\tif(m_ScrollBar[Type]->CurPos+m_ScrollBar[Type]->AdjustPage>m_ScrollBar[Type]->MaxPos)\n\t\tm_ScrollBar[Type]->CurPos=m_ScrollBar[Type]->MaxPos-m_ScrollBar[Type]->AdjustPage;\n\tif(bChgMsg && CurPos!=m_ScrollBar[Type]->CurPos)\n\t{\n\t\tWISP_MSG Msg;\n\t\tMsg.hWnd = this;\n\t\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\t\tMsg.ScrollEvent.Event = WISP_SB_POS_CHANGE;\n\t\tMsg.ScrollEvent.SBType = Type;\n\t\tMsg.ScrollEvent.Delta = m_ScrollBar[Type]->CurPos-CurPos;\n\t\tMsg.ScrollEvent.CurPos = m_ScrollBar[Type]->CurPos;\n\t\tSEND_MSG(&Msg);\n\t}\n}\n\nvoid CWispWnd::SetScrollBarInfo(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG CurPos,IN WISP_SCROLL_LONG MaxPos,IN WISP_SCROLL_LONG Page,IN WISP_SCROLL_LONG MinPos,IN bool bChangeEvent)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn;\n\tm_ScrollBar[Type]->MaxPos = MaxPos;\n\tm_ScrollBar[Type]->MinPos = MinPos;\n\tm_ScrollBar[Type]->Page = Page;\n\tSetScrollBarCurPos(Type,CurPos,bChangeEvent);\n}\n\nvoid CWispWnd::SetScrollBarCurPos(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG CurPos,IN bool bChangeEvent)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn;\n\tWISP_MSG Msg;\n\tWISP_SCROLL_LONG OldCurPos;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\tMsg.ScrollEvent.Event = WISP_SB_POS_CHANGE;\n\tMsg.ScrollEvent.SBType = Type;\n\tOldCurPos = m_ScrollBar[Type]->CurPos;\n\tm_ScrollBar[Type]->CurPos = CurPos;\n\tLimitScrollInfo(Type,false);\n\tMsg.ScrollEvent.Delta = m_ScrollBar[Type]->CurPos - OldCurPos;\n\tif(bChangeEvent && Msg.ScrollEvent.Delta!=0)\n\t{\n\t\tMsg.ScrollEvent.CurPos = m_ScrollBar[Type]->CurPos;\n\t\tSEND_MSG(&Msg);\n\t}\n\tCalcScrollSlideWithPos(Type);\n\tUpdateScrollBarState(Type);\n\tUpdate(&m_ScrollBar[Type]->ScrollRect);\n}\n\nvoid CWispWnd::SetScrollBarRange(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG MaxPos,IN WISP_SCROLL_LONG MinPos)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn;\n\tm_ScrollBar[Type]->MaxPos = MaxPos;\n\tm_ScrollBar[Type]->MinPos = MinPos;\n\tLimitScrollInfo(Type);\n\tCalcScrollSlideWithPos(Type);\n\tUpdateScrollBarState(Type);\n}\n\nvoid CWispWnd::SetScrollBarPage(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG Page)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn;\n\tm_ScrollBar[Type]->Page = Page;\n\tLimitScrollInfo(Type);\n\tCalcScrollSlideWithPos(Type);\n\tUpdateScrollBarState(Type);\n}\n\nvoid CWispWnd::AdjustScrollBarMaxPos(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG Delta)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn;\n\tm_ScrollBar[Type]->MaxPos+=Delta;\n\tLimitScrollInfo(Type);\n\tCalcScrollSlideWithPos(Type);\n\tUpdateScrollBarState(Type);\n}\n\nbool CWispWnd::BeginDrag()\n{\n\tWISP_MSG Msg;\n\tif(m_pWispBase->m_pDragWnd==this)\n\t\treturn false;\n\tm_pWispBase->m_pDragWnd=this;\n\tm_pWispBase->m_BeginPT = m_pWispBase->m_MousePT;\n\tPointToRect(&m_pWispBase->m_BeginPT,&m_ScrWindowRect);\n\n\tMsg.hWnd = this;\n\tMsg.Msg=WISP_WM_BEGIN_DRAG;\n\tMsg.DragEvent.BeginMouseWndPT = m_pWispBase->m_BeginPT;\n\tSEND_MSG(&Msg);\n\tm_pWispBase->SetMouseCaptureNotify();\n\treturn true;\n}\n\nvoid CWispWnd::EndDrag()\n{\n\tWISP_MSG Msg;\n\tif(m_pWispBase->m_pDragWnd==NULL)\n\t\treturn;\n\tMsg.hWnd = this;\n\tMsg.Msg=WISP_WM_END_DRAG;\n\tMsg.DragEvent.BeginMouseWndPT = m_pWispBase->m_BeginPT;\n\tPointToRect(&Msg.DragEvent.BeginMouseWndPT,&m_WindowRect);\n\tSEND_MSG(&Msg);\n\tm_pWispBase->ReleaseMouseCaptureNotify();\n\tm_pWispBase->m_pDragWnd=NULL;\n}\n\n\nWISP_SCROLL_LONG CWispWnd::SendScrollEvent(WISP_SB_TYPE Type,WISP_SB_EVENT_TYPE EventType)\n{\n\tif(m_ScrollBar[Type]==NULL)\n\t\treturn 0;\n\tWISP_MSG Msg;\n\tMsg.hWnd = this;\n\tMsg.Msg = WISP_WM_SCROLL_EVENT;\n\tMsg.ScrollEvent.Event = EventType;\n\tMsg.ScrollEvent.SBType = Type;\n\tMsg.ScrollEvent.CurPos = m_ScrollBar[Type]->CurPos;\n\tMsg.ScrollEvent.Delta = 0;\n\tSEND_MSG(&Msg);\n\tUpdate();\n\treturn Msg.ScrollEvent.Delta;\n}\n\nWISP_MSG_MAP_BEGIN(CWispDIBDCWnd)\n\tWISP_MSG_MAP(WISP_WM_PRECREATE,OnPrecreate)\n\tWISP_MSG_MAP(WISP_WM_RECALCLAYOUT,OnRecalcLayout)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispWnd)\n\nCWispDIBDCWnd::CWispDIBDCWnd()\n{\n\tm_CtrlType = WISP_CTRL_DIB_DC_WND;\n}\n\nCWispDIBDCWnd::~CWispDIBDCWnd()\n{\n\n}\n\nbool CWispDIBDCWnd::OnPrecreate(IN WISP_MSG*pMsg)\n{\n\tm_DIB.Create(m_ClientRect.cx,m_ClientRect.cy,WISP_DIB_BITMAP);\n\tZeroMemory(m_DIB.m_FrameBuffer.Buffer,m_DIB.m_FrameBuffer.BufferSize);\n\tm_ClientDC.Detach();\n\tm_ClientDC.AttachDIB(&m_DIB);\n\treturn true;\n}\n\nbool CWispDIBDCWnd::OnRecalcLayout(IN WISP_MSG*pMsg)\n{\n\tm_DIB.Resize(m_ClientRect.cx,m_ClientRect.cy);\n\treturn true;\n}\n\nbool CWispDIBDCWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tm_WindowDC.DrawDIB(m_ClientRect.x,m_ClientRect.y,&m_DIB);\n\treturn false;\n}\n\nbool CWispDIBDCWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_DIB.Destroy();\n\treturn true;\n}\n"
  },
  {
    "path": "Project/Wisp/Source/WispWnd.h",
    "content": "#ifndef _WISP_WND_H_\n#define _WISP_WND_H_\n\n#include \"WispBaseWnd.h\"\n\nclass CWispWnd : public CWispBaseWnd\n{\n\tfriend class CWispBase;\n\tfriend class CWispDrawObj;\npublic:\n\tWISP_RECT\tm_NormalRect;\t\t\t\t//ʱ洰\n\tWISP_RECT\tm_ScrCaptionRect;\t\t\t//Ļеλ\n\tWISP_RECT\tm_ScrClientRect;\t\t\t//ͻĻеλ\n\tWISP_RECT\tm_CaptionRect;\t\t\t\t//ڴеλ\n\tWISP_RECT\tm_ClientRect;\t\t\t\t//ͻڴеλ\n\tWISP_RECT*\tm_pBarRect;\t\t\t\t\t//Barڴеλ\n\tint\t\t\tm_BarCount;\n\tWISP_SIZE\tm_MinWndSize;\n\tWISP_SIZE\tm_MaxWndSize;\n\tbool\t\tm_bInResizeArea;\npublic:\n\tint\t\t\tm_BorderSize;\n\tWISP_WND_CARET\tm_Caret;\n\tCWispDC\t\tm_ClientDC;\n\tCWispDC\t\tm_CaptionDC;\n\tCWispDIB*\tm_pTitleDIB;\n\tCWispDIB*\tm_pBKDIB;\n\tCOLORREF\tm_crBGColor;\t\t\t\t//ɫ\n\tCOLORREF\tm_crCaret;\n\tbool\t\tm_bBGColor;\t\t\t\t\t//Ƿϵͳͬıɫ\nprivate://ڴڴС仯\n\tint\t\t\tm_SignResizeX;\n\tint\t\t\tm_SignResizeY;\n\tint\t\t\tm_SignResizeDX;\n\tint\t\t\tm_SignResizeDY;\n\tint\t\t\tm_CloseBTState;\n\tint\t\t\tm_MaxBTState;\n\tint\t\t\tm_MinBTState;\n\tWISP_RECT\tm_CloseBTRect;\n\tWISP_RECT\tm_MaxBTRect;\n\tWISP_RECT\tm_MinBTRect;\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP//ͨϢ\n\tDECLARE_WISP_MSG(OnPrecreate)\n\tDECLARE_WISP_MSG(OnMouseMove)\n\tDECLARE_WISP_MSG(OnMouseLeave)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tDECLARE_WISP_MSG(OnUpdate)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnUpdateCaption)\n\tDECLARE_WISP_MSG(OnUpdateBorder)\n\tDECLARE_WISP_MSG(OnUpdateCaret)\n\tDECLARE_WISP_MSG(OnUpdateVertScrollBar)\n\tDECLARE_WISP_MSG(OnUpdateHorzScrollBar)\n\tDECLARE_WISP_MSG(OnScrollEvent)\n\tDECLARE_WISP_MSG(OnHorzScrollMove)\n\tDECLARE_WISP_MSG(OnVertScrollMove)\n\tDECLARE_WISP_MSG(OnMoving)\n\tDECLARE_WISP_MSG(OnSizing)\n\tDECLARE_WISP_MSG(OnMove)\n\tDECLARE_WISP_MSG(OnSize)\n\tDECLARE_WISP_MSG(OnHitTest)\n\tDECLARE_WISP_MSG(OnMouseWheel)\n\tDECLARE_WISP_MSG(OnTimer)\n\tDECLARE_WISP_MSG(OnGetFocus)\n\tDECLARE_WISP_MSG(OnLostFocus)\n\tDECLARE_WISP_MSG_CMD_MAP//CommandϢ\n\tDECLARE_WISP_MSG_CMD(OnCmdClose)\n\tDECLARE_WISP_MSG_CMD(OnCmdMax)\n\tDECLARE_WISP_MSG_CMD(OnCmdMin)\n\tDECLARE_WISP_MSG_CMD(OnCmdScrollPageUp)\n\tDECLARE_WISP_MSG_CMD(OnCmdScrollPageDown)\n\tDECLARE_WISP_MSG_CMD(OnCmdScrollSpinInc)\n\tDECLARE_WISP_MSG_CMD(OnCmdScrollSpinDec)\n\tDECLARE_WISP_MSG_CMD(OnCmdScrollSlide)\n\tDECLARE_WISP_MSG_EVENT_MAP//EventϢ\npublic:\n\tCWispWnd();\n\tvirtual ~CWispWnd();\n\tvirtual bool\tCreate(\tIN WISP_CHAR*Name,IN int x,IN int y,IN int cx,IN int cy,IN CWispBaseWnd*pParentWnd = NULL,\n\t\t\t\t\t\t\tIN UINT CmdID = 0,IN UINT Style=WISP_WS_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\n\tvirtual bool\tDestroy();\n\tvirtual void\tRecalcLayout();\n\tvirtual bool\tInitWnd();\n\tvirtual bool\tSetWindowText(const WISP_CHAR* pString);\n\tbool\tCreate( IN WISP_CHAR*Name,IN const CWispRect&Rect,IN CWispBaseWnd*pParentWnd = NULL,IN UINT CmdID = 0,\n\t\t\t\t\tIN UINT Style=WISP_WS_NORMAL,IN UINT ShowMode=WISP_SH_NORMAL);\n\tvoid\tChangeColor(IN UINT ColorID,IN COLORREF Color);\n\tvoid\tSetBGColor(IN COLORREF crBGColor) { m_crBGColor=crBGColor; m_bBGColor = true; }\n\tvoid\tClearBGColor() { m_bBGColor = false; }\n\n\tvoid\tRecalcMinWndSize();\n\tvoid\tScreenToClient(INOUT WISP_POINT* pPoint) { PointToRect(pPoint, &m_ScrClientRect); }\n\tvoid\tClientToScreen(INOUT WISP_POINT* pPoint) { PointSpliceRect(pPoint, &m_ScrClientRect); }\n\tvoid\tScreenToWindow(INOUT WISP_POINT* pPoint) { PointToRect(pPoint, &m_ScrWindowRect); }\n\tvoid\tWindowToScreen(INOUT WISP_POINT* pPoint) { PointSpliceRect(pPoint, &m_ScrWindowRect); }\n\tvoid\tUpdateClient(){Update(&m_ClientRect);}\n\tbool\tAttachBKDIB(CWispDIB*pDIB);\n\tvoid\tDetachBKDIB();\n\tbool\tLoadBKDIB(PCSTR FileName);\n\n\tbool\tAttachTitleDIB(CWispDIB*pDIB);\n\tvoid\tDetachTitleDIB();\n\tbool\tLoadTitleDIB(PCSTR FileName,int Index = 0);\n\tCWispBaseWnd*GetChildWnd(UINT CmdID);\n//////////////////////////////////////////////////////////////\n//\n//////////////////////////////////////////////////////////////\n\tbool\tCreateCaret(IN UINT ID);\n\tbool\tSetCaretPos(IN int x,IN int y);\n\tbool\tGetCaretPos(OUT WISP_POINT*pPT);\n\tvoid\tShowCaret(IN bool bShow);\n\tvoid\tBlinkCaret(IN ULONG BlinkTime);//0 Not Blink\n\tvoid\tDestroyCaret();\n//////////////////////////////////////////////////////////////\n//\n//////////////////////////////////////////////////////////////\nprotected:\n\tvoid\tCalcVertScrollSlideWithPos();\n\tvoid\tCalcHorzScrollSlideWithPos();\n\t//ƹ\n\tvoid\tLimitScrollInfo(WISP_SB_TYPE Type,bool bChgMsg = true);\n\t//ݵǰλü㻮λ\n\tvoid\tCalcScrollSlideWithPos(WISP_SB_TYPE Type);\npublic:\n\tWISP_SCROLL_BAR*m_ScrollBar[WISP_SB_COUNT];\n\tWISP_SCROLL_LONG SendScrollEvent(WISP_SB_TYPE Type,WISP_SB_EVENT_TYPE EventType);\n\tvoid\tUpdateScrollBarState(WISP_SB_TYPE Type);\n\tbool\tEnableScrollBar(IN WISP_SB_TYPE Type,IN bool bEnable = true,IN UINT Style = WISP_SS_AUTOHIDE);\n\n\tvoid\tSetScrollBarInfo(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG CurPos,IN WISP_SCROLL_LONG MaxPos,IN WISP_SCROLL_LONG Page,IN WISP_SCROLL_LONG MinPos = 0,IN bool bChangeEvent = true);\n\tvoid\tSetScrollBarCurPos(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG CurPos,IN bool bChangeEvent = true);\n\tvoid\tSetScrollBarRange(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG MaxPos,IN WISP_SCROLL_LONG MinPos = 0);\n\tvoid\tSetScrollBarPage(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG Page);\n\tvoid\tAdjustScrollBarMaxPos(IN WISP_SB_TYPE Type,IN WISP_SCROLL_LONG Delta);\n\n\tvoid\tProcessCaptionBTMouseMove(IN const WISP_POINT&ScrMousePT);\n\tvoid\tProcessCaptionBTMouseKeyUp(IN const WISP_POINT&ScrMousePT);\n\tUINT\tIsPointInCaptionBT(IN const WISP_POINT&ScrMousePT);\n\n\tvoid\tProcessScrollBTSpinKey(IN WISP_SB_TYPE Type,IN WISP_MSG*pMsg);\n\tvoid\tProcessScrollMouseKey(IN WISP_SB_TYPE Type,IN WISP_MSG*pMsg);\n\n\tvoid\tProcessVertScrollMouseMove(IN WISP_MSG*pMsg);\n\tvoid\tProcessHorzScrollMouseMove(IN WISP_MSG*pMsg);\npublic:\n\t//ק\n\tbool\tBeginDrag();\n\tvoid\tEndDrag();\n};\n\n\nclass CWispDIBDCWnd : public CWispWnd\n{\npublic:\n\tCWispDIBDCWnd();\n\t~CWispDIBDCWnd();\npublic://Ϣӳ\n\tDECLARE_WISP_MSG_MAP//ͨϢ\n\tDECLARE_WISP_MSG(OnPrecreate)\n\tDECLARE_WISP_MSG(OnRecalcLayout)\n\tDECLARE_WISP_MSG(OnUpdateClient)\n\tDECLARE_WISP_MSG(OnDestroy)\npublic:\n\tCWispDIB\tm_DIB;\n};\n\n#endif\n"
  },
  {
    "path": "Project/Wisp/Source/buildchk_win7_x86.log",
    "content": "BUILD: Examining d:\\syserdbg\\project\\wisp\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling d:\\syserdbg\\project\\wisp\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>d:\\syserdbg\\project\\wisp\\source: TARGETPATH is Obj\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /Id:\\syserdbg\\project\\wisp\\source\\objchk_win7_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0601 /DWINVER=0x0601 /D_WIN32_IE=0x0800 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x06010000 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlWisp /YcStdAfx.h /Fpd:\\syserdbg\\project\\wisp\\source\\objchk_win7_x86\\i386\\StdAfx.pch /Fo\"d:\\syserdbg\\project\\wisp\\source\\objchk_win7_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @d:\\syserdbg\\project\\wisp\\source\\objchk_win7_x86\\i386\\cl.rsp\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Wisp.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @d:\\syserdbg\\project\\wisp\\source\\objchk_win7_x86\\i386\\lib.rsp\n"
  },
  {
    "path": "Project/Wisp/Source/buildchk_wnet_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\wisp\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\wisp\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\wisp\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WS03\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0502 /DWINVER=0x0502 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05020100 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlWisp /YcStdAfx.h /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlWisp /Ycstdafx.h /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0502\n1> /DWINVER=0x0502\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05020100\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.pch\n1> .\\dibdata.cpp .\\utility.cpp .\\wispbase.cpp .\\wispdrawhal.cpp .\\wispbutton.cpp .\\wisptoolbar.cpp .\\wispdc.cpp .\\wispdib.cpp .\\wispdiblib.cpp .\\wispedit.cpp .\\wisphexwnd.cpp .\\wisptabwnd.cpp .\\wispwnd.cpp .\\wispcolorstrwnd.cpp .\\wispconsolewnd.cpp .\\wispcheckbox.cpp .\\wispfont.cpp .\\wispmenu.cpp .\\wispbasewnd.cpp .\\wispmsgbox.cpp .\\wispprogress.cpp .\\wispdrawobj.cpp .\\wispsplitwnd.cpp .\\wispradiobox.cpp .\\wispcombobox.cpp .\\wispstatic.cpp .\\wisplist.cpp .\\wispinfownd.cpp .\\wispsoftkeyboard.cpp .\\wispmultitabview.cpp .\\wispform.cpp .\\wispcalcwnd.cpp .\\wisptipwnd.cpp .\\wispoptionform.cpp .\\wispmisc.cpp .\\wisprgbselect.cpp \n1>dibdata.cpp\n1>utility.cpp\n1>wispbase.cpp\n1>wispdrawhal.cpp\n1>wispbutton.cpp\n1>wisptoolbar.cpp\n1>wispdc.cpp\n1>wispdib.cpp\n1>wispdiblib.cpp\n1>wispedit.cpp\n1>wisphexwnd.cpp\n1>wisptabwnd.cpp\n1>wispwnd.cpp\n1>wispcolorstrwnd.cpp\n1>wispconsolewnd.cpp\n1>wispcheckbox.cpp\n1>wispfont.cpp\n1>wispmenu.cpp\n1>wispbasewnd.cpp\n1>wispmsgbox.cpp\n1>Generating Code...\n1>Compiling...\n1>wispprogress.cpp\n1>wispdrawobj.cpp\n1>wispsplitwnd.cpp\n1>wispradiobox.cpp\n1>wispcombobox.cpp\n1>wispstatic.cpp\n1>wisplist.cpp\n1>wispinfownd.cpp\n1>wispsoftkeyboard.cpp\n1>wispmultitabview.cpp\n1>wispform.cpp\n1>wispcalcwnd.cpp\n1>wisptipwnd.cpp\n1>wispoptionform.cpp\n1>wispmisc.cpp\n1>wisprgbselect.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Wisp.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\dibdata.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\utility.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispbase.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispdrawhal.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispbutton.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisptoolbar.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispdc.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispdib.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispdiblib.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispedit.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisphexwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisptabwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispcolorstrwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispconsolewnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispcheckbox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispfont.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispmenu.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispbasewnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispmsgbox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispprogress.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispdrawobj.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispsplitwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispradiobox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispcombobox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispstatic.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisplist.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispinfownd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispsoftkeyboard.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispmultitabview.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispform.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispcalcwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisptipwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispoptionform.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wispmisc.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wnet_x86\\i386\\wisprgbselect.obj \n"
  },
  {
    "path": "Project/Wisp/Source/buildchk_wxp_x86.log",
    "content": "0>Bad Path string: L'e:\\ F '\n\nBUILD: Computing Include file dependencies:\nBUILD: Examining f:\\syserdbg\\project\\wisp\\source directory for files to compile.\noacr invalidate root:x86chk /autocleanqueue\n1>Compiling f:\\syserdbg\\project\\wisp\\source *************\n1>'nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS1 NOLINK=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR='\n1>f:\\syserdbg\\project\\wisp\\source: TARGETPATH is Obj\n1>BUILDMSG: _NT_TARGET_VERSION SET TO WINXP\n1>C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl /MT /U_MT /Ii386 /I. /If:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386 /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\api /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\ddk /IC:\\WinDDK\\7600.16385.0\\inc\\crt /D_X86_=1 /Di386=1 /DSTD_CALL /DCONDITION_HANDLING=1 /DNT_UP=1 /DNT_INST=0 /DWIN32=100 /D_NT1X_=100 /DWINNT=1 /D_WIN32_WINNT=0x0501 /DWINVER=0x0501 /D_WIN32_IE=0x0603 /DWIN32_LEAN_AND_MEAN=1 /DDEVL=1 /DDBG=1 /D__BUILDMACHINE__=WinDDK /DFPO=0 /DCODE_OS_NT_DRV /DCODE_ALLOC_USER_HEAP /DDEPRECATE_DDK_FUNCTIONS=1 /DMSC_NOOPT /DNTDDI_VERSION=0x05010200 /c /Zc:wchar_t- /Zl /Zp8 /Gy /Gm- -cbstring /W3 /Gz /hotpatch /EHs-c- /GR- /GF /GS /Z7 /Od /Oi /Oy- /Z7 /DKMDF_MAJOR_VERSION_STRING=01 /DKMDF_MINOR_VERSION_STRING=009 /wd4603 /wd4627 /typedil- /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h /YlWisp /YcStdAfx.h /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\" /Tp\n1>#include \"stdafx.h\"\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /YlWisp /Ycstdafx.h /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.pch /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.obj\"\n1>pch_hdr.src\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrcl @f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\cl.rsp\n1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.207 for 80x86\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>cl /Fo\"f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386/\"\n1> /FC\n1> /MT\n1> /U_MT\n1> /Ii386\n1> /I.\n1> /If:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\api\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\ddk\n1> /IC:\\WinDDK\\7600.16385.0\\inc\\crt\n1> /D_X86_=1\n1> /Di386=1\n1> /DSTD_CALL\n1> /DCONDITION_HANDLING=1\n1> /DNT_UP=1\n1> /DNT_INST=0\n1> /DWIN32=100\n1> /D_NT1X_=100\n1> /DWINNT=1\n1> /D_WIN32_WINNT=0x0501\n1> /DWINVER=0x0501\n1> /D_WIN32_IE=0x0603\n1> /DWIN32_LEAN_AND_MEAN=1\n1> /DDEVL=1\n1> /DDBG=1\n1> /D__BUILDMACHINE__=WinDDK\n1> /DFPO=0\n1> /DCODE_OS_NT_DRV\n1> /DCODE_ALLOC_USER_HEAP\n1> /DDEPRECATE_DDK_FUNCTIONS=1\n1> /DMSC_NOOPT\n1> /DNTDDI_VERSION=0x05010200\n1> /c\n1> /Zc:wchar_t-\n1> /Zl\n1> /Zp8\n1> /Gy\n1> /Gm-\n1> -cbstring\n1> /W3\n1> /Gz\n1> /hotpatch\n1> /EHs-c-\n1> /GR-\n1> /GF\n1> /GS\n1> /Z7\n1> /Od\n1> /Oi\n1> /Oy-\n1> /Z7\n1> /DKMDF_MAJOR_VERSION_STRING=01\n1> /DKMDF_MINOR_VERSION_STRING=009\n1> /wd4603\n1> /wd4627\n1> /typedil-\n1> /FIC:\\WinDDK\\7600.16385.0\\inc\\api\\warning.h\n1> /Yustdafx.h\n1> /Fpf:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.pch\n1> .\\dibdata.cpp .\\utility.cpp .\\wispbase.cpp .\\wispdrawhal.cpp .\\wispbutton.cpp .\\wisptoolbar.cpp .\\wispdc.cpp .\\wispdib.cpp .\\wispdiblib.cpp .\\wispedit.cpp .\\wisphexwnd.cpp .\\wisptabwnd.cpp .\\wispwnd.cpp .\\wispcolorstrwnd.cpp .\\wispconsolewnd.cpp .\\wispcheckbox.cpp .\\wispfont.cpp .\\wispmenu.cpp .\\wispbasewnd.cpp .\\wispmsgbox.cpp .\\wispprogress.cpp .\\wispdrawobj.cpp .\\wispsplitwnd.cpp .\\wispradiobox.cpp .\\wispcombobox.cpp .\\wispstatic.cpp .\\wisplist.cpp .\\wispinfownd.cpp .\\wispsoftkeyboard.cpp .\\wispmultitabview.cpp .\\wispform.cpp .\\wispcalcwnd.cpp .\\wisptipwnd.cpp .\\wispoptionform.cpp .\\wispmisc.cpp .\\wisprgbselect.cpp \n1>dibdata.cpp\n1>utility.cpp\n1>wispbase.cpp\n1>wispdrawhal.cpp\n1>wispbutton.cpp\n1>wisptoolbar.cpp\n1>wispdc.cpp\n1>wispdib.cpp\n1>wispdiblib.cpp\n1>wispedit.cpp\n1>wisphexwnd.cpp\n1>wisptabwnd.cpp\n1>wispwnd.cpp\n1>wispcolorstrwnd.cpp\n1>wispconsolewnd.cpp\n1>wispcheckbox.cpp\n1>wispfont.cpp\n1>wispmenu.cpp\n1>wispbasewnd.cpp\n1>wispmsgbox.cpp\n1>Generating Code...\n1>Compiling...\n1>wispprogress.cpp\n1>wispdrawobj.cpp\n1>wispsplitwnd.cpp\n1>wispradiobox.cpp\n1>wispcombobox.cpp\n1>wispstatic.cpp\n1>wisplist.cpp\n1>wispinfownd.cpp\n1>wispsoftkeyboard.cpp\n1>wispmultitabview.cpp\n1>wispform.cpp\n1>wispcalcwnd.cpp\n1>wisptipwnd.cpp\n1>wispoptionform.cpp\n1>wispmisc.cpp\n1>wisprgbselect.cpp\n1>Generating Code...\n1> C:\\WinDDK\\7600.16385.0\\Bin\\x86\\oacr\\oacrlink /lib /out:Obj\\i386\\Wisp.lib /IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221  /WX /nodefaultlib /machine:ix86 @f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\lib.rsp\n1>Microsoft (R) Library Manager Version 9.00.30729.207\n1>Copyright (C) Microsoft Corporation.  All rights reserved.\n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\StdAfx.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\dibdata.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\utility.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispbase.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispdrawhal.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispbutton.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisptoolbar.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispdc.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispdib.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispdiblib.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispedit.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisphexwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisptabwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispcolorstrwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispconsolewnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispcheckbox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispfont.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispmenu.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispbasewnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispmsgbox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispprogress.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispdrawobj.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispsplitwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispradiobox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispcombobox.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispstatic.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisplist.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispinfownd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispsoftkeyboard.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispmultitabview.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispform.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispcalcwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisptipwnd.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispoptionform.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wispmisc.obj \n1>f:\\syserdbg\\project\\wisp\\source\\objchk_wxp_x86\\i386\\wisprgbselect.obj \n"
  },
  {
    "path": "Project/Wisp/Win32/Wisp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Wisp/Win32/Wisp.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Wisp\"\n\tProjectGUID=\"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Wisp.lib\"\n\t\t\t\tIgnoreAllDefaultLibraries=\"false\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Wisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Wisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ripple.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Trial|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp3D.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRGBSelect.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTaskPanel.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ripple.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp3D.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRGBSelect.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTaskPanel.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Wisp/Win32/Wisp.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Trial|Win32\">\n      <Configuration>Trial</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <ProjectGuid>{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"Configuration\">\n    <ConfigurationType>StaticLibrary</ConfigurationType>\n    <PlatformToolset>v142</PlatformToolset>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ImportGroup Label=\"ExtensionSettings\">\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <ImportGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" Label=\"PropertySheets\">\n    <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />\n    <Import Project=\"$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props\" />\n  </ImportGroup>\n  <PropertyGroup Label=\"UserMacros\" />\n  <PropertyGroup>\n    <_ProjectFileVersion>16.0.33801.447</_ProjectFileVersion>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <OutDir>Debug\\</OutDir>\n    <IntDir>Debug\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <OutDir>Release\\</OutDir>\n    <IntDir>Release\\</IntDir>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <OutDir>$(Configuration)\\</OutDir>\n    <IntDir>$(Configuration)\\</IntDir>\n  </PropertyGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <MinimalRebuild>true</MinimalRebuild>\n      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Wisp.lib</OutputFile>\n      <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Wisp.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n      <StringPooling>true</StringPooling>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n    </ClCompile>\n    <Lib>\n      <OutputFile>$(OutDir)Wisp.lib</OutputFile>\n    </Lib>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClCompile Include=\"..\\Source\\DIBData.cpp\" />\n    <ClCompile Include=\"..\\Source\\Ripple.cpp\" />\n    <ClCompile Include=\"..\\Source\\StdAfx.cpp\">\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">Create</PrecompiledHeader>\n      <PrecompiledHeader Condition=\"'$(Configuration)|$(Platform)'=='Trial|Win32'\">Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"..\\Source\\Utility.cpp\" />\n    <ClCompile Include=\"..\\Source\\Wisp3D.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispBase.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispBaseWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispButton.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispCalcWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispCheckBox.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispColorStrWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispComboBox.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispConsoleWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispDC.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispDIB.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispDIBLib.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispDrawHAL.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispDrawObj.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispEdit.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispFont.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispHexWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispInfoWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispList.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispMenu.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispMisc.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispMsgBox.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispMultiTabView.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispOptionForm.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispProgress.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispRadioBox.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispRGBSelect.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispSoftKeyboard.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispSplitWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispStatic.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispTabWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispTaskPanel.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispTipWnd.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispToolbar.cpp\" />\n    <ClCompile Include=\"..\\Source\\WispWnd.cpp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"..\\Source\\DIBData.h\" />\n    <ClInclude Include=\"..\\Source\\Ripple.h\" />\n    <ClInclude Include=\"..\\Source\\StdAfx.h\" />\n    <ClInclude Include=\"..\\Source\\Utility.h\" />\n    <ClInclude Include=\"..\\Source\\Wisp.h\" />\n    <ClInclude Include=\"..\\Source\\Wisp3D.h\" />\n    <ClInclude Include=\"..\\Source\\WispBase.h\" />\n    <ClInclude Include=\"..\\Source\\WispBaseWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispButton.h\" />\n    <ClInclude Include=\"..\\Source\\WispCalcWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispCheckBox.h\" />\n    <ClInclude Include=\"..\\Source\\WispColorStrWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispComboBox.h\" />\n    <ClInclude Include=\"..\\Source\\WispConfig.h\" />\n    <ClInclude Include=\"..\\Source\\WispConsoleWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispDC.h\" />\n    <ClInclude Include=\"..\\Source\\WispDefine.h\" />\n    <ClInclude Include=\"..\\Source\\WispDIB.h\" />\n    <ClInclude Include=\"..\\Source\\WispDIBLib.h\" />\n    <ClInclude Include=\"..\\Source\\WispDrawHAL.h\" />\n    <ClInclude Include=\"..\\Source\\WispDrawObj.h\" />\n    <ClInclude Include=\"..\\Source\\WispEdit.h\" />\n    <ClInclude Include=\"..\\Source\\WispFont.h\" />\n    <ClInclude Include=\"..\\Source\\WispForm.h\" />\n    <ClInclude Include=\"..\\Source\\WispHexWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispInfoWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispList.h\" />\n    <ClInclude Include=\"..\\Source\\WispMenu.h\" />\n    <ClInclude Include=\"..\\Source\\WispMisc.h\" />\n    <ClInclude Include=\"..\\Source\\WispMsgBox.h\" />\n    <ClInclude Include=\"..\\Source\\WispMsgDefine.h\" />\n    <ClInclude Include=\"..\\Source\\WispMultiTabView.h\" />\n    <ClInclude Include=\"..\\Source\\WispOptionForm.h\" />\n    <ClInclude Include=\"..\\Source\\WispProgress.h\" />\n    <ClInclude Include=\"..\\Source\\WispRadioBox.h\" />\n    <ClInclude Include=\"..\\Source\\WispRGBSelect.h\" />\n    <ClInclude Include=\"..\\Source\\WispSoftKeyboard.h\" />\n    <ClInclude Include=\"..\\Source\\WispSplitWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispStatic.h\" />\n    <ClInclude Include=\"..\\Source\\WispTabWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispTaskPanel.h\" />\n    <ClInclude Include=\"..\\Source\\WispTipWnd.h\" />\n    <ClInclude Include=\"..\\Source\\WispToolbar.h\" />\n    <ClInclude Include=\"..\\Source\\WispWnd.h\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>"
  },
  {
    "path": "Project/Wisp/WinDrv32/Wisp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"Wisp.vcproj\", \"{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Wisp/WinDrv32/Wisp.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Wisp\"\n\tProjectGUID=\"{6F57FAC8-7CEB-4034-A8C2-1761F3684BDD}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"_X86_=1;i386=1;STD_CALL;CONDITION_HANDLING=1;NT_INST=0;WIN32=100;_NT1X_=100;WINNT=1;_WIN32_WINNT=0x0502;WINVER=0x0502;_WIN32_IE=0x0600;WIN32_LEAN_AND_MEAN=1;DEVL=1;DBG=1;__BUILDMACHINE__=WinDDK;_LIB;FPO=0;NDEBUG;_DLL=1;CODE_OS_NT_DRV;CODE_ALLOC_USER_HEAP\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tBasicRuntimeChecks=\"0\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Wisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"1\"\n\t\t\t\tAdditionalIncludeDirectories=\"$(BASEDIR)\\inc\\ddk\\wxp;$(BASEDIR)\\inc\\crt;$(BASEDIR)\\inc\\wxp\"\n\t\t\t\tPreprocessorDefinitions=\"_X86_=1;i386=1;STD_CALL;CONDITION_HANDLING=1;NT_INST=0;WIN32=100;_NT1X_=100;WINNT=1;_WIN32_WINNT=0x0502;WINVER=0x0502;_WIN32_IE=0x0600;WIN32_LEAN_AND_MEAN=1;DEVL=1;DBG=1;__BUILDMACHINE__=WinDDK;_LIB;FPO=0;NDEBUG;_DLL=1;CODE_OS_NT_DRV;CODE_ALLOC_USER_HEAP\"\n\t\t\t\tExceptionHandling=\"0\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tBufferSecurityCheck=\"false\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t\tCallingConvention=\"2\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/Wisp.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ripple.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFileWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHeader.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTaskPanel.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t</Filter>\n\t\t<File\n\t\t\tRelativePath=\".\\ReadMe.txt\"\n\t\t\t>\n\t\t</File>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/DDKBuild.bat",
    "content": "@echo OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo off\nrem /////////////////////////////////////////////////////////////////////////////\nrem //\nrem //    This sofware is supplied for instructional purposes only.\nrem //\nrem //    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\nrem //    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\nrem //    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\nrem //    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\nrem //    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\nrem //    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\nrem //    exceed the price paid for this material.  In no event shall OSR or its\nrem //    suppliers be liable for any damages whatsoever (including, without\nrem //    limitation, damages for loss of business profit, business interruption,\nrem //    loss of business information, or any other pecuniary loss) arising out\nrem //    of the use or inability to use this software, even if OSR has been\nrem //    advised of the possibility of such damages.  Because some states/\nrem //    jurisdictions do not allow the exclusion or limitation of liability for\nrem //    consequential or incidental damages, the above limitation may not apply\nrem //    to you.\nrem //\nrem //    OSR Open Systems Resources, Inc.\nrem //    105 Route 101A Suite 19\nrem //    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\nrem //    email bugs to: bugs@osr.com\nrem //\nrem //\nrem //    MODULE:\nrem //\nrem //        ddkbuild.bat \nrem //\nrem //    ABSTRACT:\nrem //\nrem //      This file allows drivers to be build with visual studio and visual studio.net\nrem //\nrem //    AUTHOR(S):\nrem //\nrem //        OSR Open Systems Resources, Inc.\nrem // \nrem //    REVISION:   V6.5\nrem //\nrem //      Clean up batch procedure to make it easier to process.\nrem //\nrem //\nrem //    REQUIREMENTS:  Environment variables that must be set.\nrem //\nrem //\t\tNT4BASE - must be set up by user to point to NT4 DDK. (e.g. D:\\NT4DDK )\nrem //      W2KBASE - must be set up by user to point to W2K DDK  (e.g D:\\Nt50DDK )\nrem //      WXPBASE - must be set up by user to point to WXP DDK  (e.g D:\\WINDDK\\2600)\nrem //      WNETBASE - must be set up by user to point to WNET DDK (e.g D:\\WINDDK\\1830) \nrem //\nrem //\nrem //    COMMAND FORMAT:\nrem //\nrem //\t\tddkbuild -PLATFORM BUILDTYPE DIRECTORY [FLAGS] [-WDF] [-PREFAST]\nrem //\nrem //              PLATFORM is either \nrem //                   WXP, WXP64, WXP2K - builds using WXP DDK\nrem //                   W2K, W2K64,  - builds using W2k DDK\nrem //                   WNET, WNET64, WNET2K, WNETXP, WNETXP64 - builds using WNET DDK\nrem //                   WNETAMD64  for an AMD64/EM64T WNET build using the WNET DDK\nrem //                   NT4  - build using NT4 DDK (NT4 is the default)\nrem //              BUILDTYPE - free, checked, chk or fre\nrem //\t\t\t\tDIRECTORY is the path to the directory to be build.  It can be \".\"\nrem //              FLAGS - build flags e.g. -cZ etc.   \nrem //              -WDF  - allows the user to perform a Windows Driver Framework build.\nrem //                      this has been tested with the 01.00.5054 version of the \nrem //                      framework.\nrem //              -PREFAST - performs a prefast build, if prefast is available.\nrem //\nrem //\t  BROWSE FILES:\nrem //\t\nrem //       This procedure supports the building of BROWSE files to be used by \nrem //       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\nrem //       by bscmake for the 2 studios are not compatible. When this command procedure\nrem //       runs, it selects the first bscmake.exe found in the path.   So, make\nrem //       sure that the correct bscmake.exe is in the path....  \nrem // \nrem //       Note that if using Visual Studio.NET the .BSC must be added to the project\nrem //       in order for the project to be browsed.\nrem //\nrem //    COMPILERS:\nrem //\nrem //        If you are building NT4 you should really\nrem //        be using the VC 6 compiler.   Later versions of the DDK now contain the\nrem //        compiler and the linker.  This procedure should use the correct compiler.\nrem //       \nrem //    GENERAL COMMENTS:\nrem //        This procedure has been cleaned up to be modular and easy to\nrem //\t\t  understand.\nrem //\nrem //\t\t  As of the Server 2003 SP1 DDK ddkbuild now clears the\nrem //        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\nrem //        can use these features.\nrem //\nrem ///////////////////////////////////////////////////////////////////////////////\n\nset scriptDebug=off\nsetlocal ENABLEEXTENSIONS\n\n@echo %scriptDebug%\n\nrem //\nrem // clear the error code variable\nrem //\nset error_code=0\nset prefast_build=0\n\nrem //\nrem // determine what type of build is to be done.\nrem //\nif /I %1 EQU -NT4       goto NT4Build\nif /I %1 EQU -WNET2K    goto WNET2KBuild\nif /I %1 EQU -WNETXP    goto WNETXPBuild\nif /I %1 EQU -WNETXP64  goto WNETXPBuild\nif /I %1 EQU -WNET64    goto WNET64Build\nif /I %1 EQU -WNETAMD64 goto WNETAMD64Build\nif /I %1 EQU -WNET      goto WNETBuild\nif /I %1 EQU -WXP64     goto WXP64Build\nif /I %1 EQU -WXP       goto WXPBuild\nif /I %1 EQU -WXP2K     goto WXP2KBuild\nif /I %1 EQU -W2K64     goto W2K64Build\nif /I %1 EQU -W2K       goto W2KBuild\nset error_code=1\ngoto ErrUnKnownBuildType\n\nrem //\nrem // NT 4 Build\nrem //\n:NT4Build\n\n@echo NT4 BUILD using NT4 DDK\n\nset BASEDIR=%NT4BASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \"%MSDEVDIR%\"\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET Windows 2000 Build using WNET DDK\nrem //\n\n:WNET2KBuild\n\n@echo W2K BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% W2K %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP Build using WNET DDK\nrem //\n:WNETXPBuild\n\n@echo WXP BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 bit Build using WNET DDK\nrem //\n:WNETXP64Build\n\n@echo WXP 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WXP \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET IA64 bit Build using WNET DDK\nrem //\n:WNET64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET AMD64 bit Build using WNET DDK\nrem //\n:WNETAMD64Build\n\n@echo WNET 64 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% AMD64 WNET \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WNET 32 BIT BUILD using WNET DDK\nrem //\n:WNETBuild\n\n@echo WNET 32 BIT BUILD using WNET DDK\n\nset BASEDIR=%WNETBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode%\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 64 BIT BUILD using WXP DDK\nrem //\n:WXP64Build\n\n@echo WXP 64 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% 64\npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // WXP 32 BIT BUILD using WXP DDK\nrem //\n:WXPBuild\n\n@echo WXP 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using WXP DDK\nrem //\n:WXP2KBuild\n\n@echo W2K 32 BIT BUILD using WXP DDK\n\nset BASEDIR=%WXPBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\w2k\\set2k.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 64 BIT BUILD using W2K DDK\nrem //\n:W2K64Build\n\n@echo W2K 64 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv64.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // W2K 32 BIT BUILD using W2K DDK\nrem //\n:W2KBuild\n\n@echo W2K 32 BIT BUILD using W2K DDK\n\nset BASEDIR=%W2KBASE%\n\nshift\n\nif \"%BASEDIR%\"==\"\" goto ErrNoBASEDIR\n\nset path=%BASEDIR%\\bin;%path%\n\ncall :SetMode %1\nif \"%error_code%\" NEQ \"0\" goto ErrBadMode\n\ncall :CheckTargets %2\nif \"%error_code%\" NEQ \"0\" goto ErrNoDir\n\npushd .\ncall %BASEDIR%\\bin\\setenv.bat %BASEDIR% %mode% \npopd\n\n@echo %scriptDebug%\n\ngoto RegularBuild\n\nrem //\nrem // All builds go here for the rest of the procedure.  Now,\nrem // we are getting ready to call build.  The big problem\nrem // here is to figure our the name of the buildxxx files being\nrem // generated for the different platforms.\nrem //\n \n:RegularBuild\n\nset NO_BROWSWER_FILE=\nset NO_BINPLACE=\n\nset mpFlag=-M\nif \"%BUILD_ALT_DIR%\"==\"\" goto NT4\n\nrem win2k sets this!\nset W2kEXT=%BUILD_ALT_DIR%\n\nset mpFlag=-MI\n\n:NT4\n\nif \"%NUMBER_OF_PROCESSORS%\"==\"\" set mpFlag=\nif \"%NUMBER_OF_PROCESSORS%\"==\"1\" set mpFlag=\n\nrem //\nrem // Determine the settings of flags, WDF and PREFAST in other words\nrem // what was set for %3 and beyond....\nrem // \n@echo build in directory %2 with arguments %3 %4 %5 (basedir %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\"\"\n\nset buildDirectory=%2\n\n:ContinueParsing\nif \"%3\" == \"\" goto done\nif \"%3\" == \"/a\" goto RebuildallFound\nif \"%3\" == \"-WDF\" goto WDFFound\nif \"%3\" == \"-wdf\" goto WDFFound\nif \"%3\" == \"-PREFAST\" goto PrefastFound\nif \"%3\" == \"-prefast\" goto PrefastFound\nset bscFlags=/n\nset bflags=%3 -e\nshift\ngoto ContinueParsing\n\n:WDFFound\nshift\nif \"%WDF_ROOT%\" == \"\" goto errNoWdfRoot\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd \npopd\nset scriptDebug=on\ngoto ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto ContinueParsing\n\n:done\n\nif EXIST build%W2kEXT%.err\t erase build%W2kEXT%.err\nif EXIST build%W2kEXT%.wrn   erase build%W2kEXT%.wrn\nif EXIST build%W2kEXT%.log\t erase build%W2kEXT%.log\nif EXIST prefast%W2kEXT%.log erase prefast%W2kEXT%.log\n\nif \"%prefast_build%\" NEQ \"0\" goto RunPrefastBuild\n@echo run build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto BuildComplete\n\n:RunPrefastBuild\n@echo run prefast build %bflags% %mpFlag% for %mode% version in %buildDirectory%\npushd .\nprefast build  %bflags% %mpFlag%\nprefast list > prefast%W2kEXT%.log\ngoto BuildComplete\n\n:BuildComplete\nif \"%errorlevel%\" GTR \"0\" set error_code=%errorlevel%\npopd\n\n@echo %scriptDebug%\n\nrem assume that the onscreen errors are complete!\n\n@echo =============== build warnings ======================\nif exist build%W2kEXT%.wrn findstr \"warning[^.][DRCLU][0-9]*\" build%W2kEXT%.log\nif exist build%W2kEXT%.log findstr \"error[^.][DRCLU][0-9]*\" build%W2kEXT%.log\n\nif \"%prefast_build%\" == \"0\" goto SkipPrefastWarnings\n@echo =============== prefast warnings ======================\nif exist prefast%W2kEXT%.log findstr \"warning[^.][CLU]*\" prefast%W2kEXT%.log\n:SkipPrefastWarnings\n\n@echo. \n@echo. \n@echo build complete\n\n@echo building browse information files\n\nif EXIST buildbrowse.cmd goto doBrowsescript\n\nset sbrlist=sbrList.txt\n\nif not EXIST sbrList%CPU%.txt goto sbrDefault\n\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\n\nif not EXIST %sbrlist% goto end\n\nif %bscFlags% == \"\" goto noBscFlags\n\nbscmake %bscFlags% @%sbrlist%\n\ngoto end\n\n:noBscFlags\n\nbscmake @%sbrlist%\n\ngoto end\n\n:doBrowsescript\n\ncall buildBrowse %mode%\n\ngoto end\n\nrem //\nrem //  SetMode\nrem //\nrem //  Subroutine to validate the mode of the build passed in.\nrem //  it must be free, FREE, fre, FRE or checked, CHECKED,\nrem //  chk, CHK.   Anything else is an error.\nrem //\n:SetMode\nset mode=\nfor %%f in (free FREE fre FRE) do if %%f == %1 set mode=free\nfor %%f in (checked CHECKED chk CHK) do if %%f == %1 set mode=checked\nif \"%mode%\" ==\"\" set error_code=1\ngoto :EOF\n\nrem //\nrem // CheckTargets\nrem //\nrem // Subroutine to validate that the target directory exists\nrem // and that there is either a DIRS or SOURCES and MakeFile in\nrem // it.\nrem // \n:CheckTargets\nif \"%1\" NEQ \"\" goto CheckTargets1\nset error_code=1\ngoto :EOF\n:CheckTargets1\nif exist %1 goto CheckTargets2\nset error_code=1\ngoto :EOF\n:CheckTargets2\nif not exist %1\\DIRS  goto CheckTargets3\nset error_code=0\ngoto :EOF\n:CheckTargets3\nif exist %1\\SOURCES  goto CheckTargets4\nset error_code=2\ngoto :EOF\n:CheckTargets4\nif exist %1\\MAKEFILE  goto CheckTargets5\nset error_code=2\ngoto :EOF\n:CheckTargets5\nset error_code=0\ngoto :EOF\n\nrem //\nrem //  Error processing code.   Whenever we encounter an\nrem //  error in the parameters, we come to one of the following\nrem //  labels to output a decent error to help the user\nrem //  understand what is wrong.\nrem //\n\n:ErrBadMode\n@echo -\n@echo ERROR: first param must be \"checked\", \"free\", \"chk\" or \"fre\"\nset error_code=1\ngoto usage\n\n:ErrNoBASEDIR\n@echo -\n@echo ERROR: NT4BASE, W2KBASE, WXPBASE, or WNETBASE environment variable not set.\n@echo ERROR: Environment variable must be set by user according to DDK version installed.\nset error_code=1\ngoto usage\n\n:ErrUnKnownBuildType\n@echo -\n@echo ERROR: Unknown type of build.  Please recheck parameters.\nset error_code=1\ngoto usage\n\n:ErrNoDir\nif \"%error_code%\" EQU \"2\" goto ErrNoTarget\n@echo -\n@echo ERROR: second parameter must be a valid directory\ngoto usage\n\n:ErrNoTarget\n@echo -\n@echo ERROR: target directory must contain a SOURCES or DIRS file\ngoto usage\n\n:errNoWdfRoot\n@echo -\n@echo ERROR: WDF_ROOT is not defined, are you using 00.01.5054 or later?\ngoto usage\n\nrem //\nrem // Usage output\nrem //\n:usage\n@echo -\n@echo -\n@echo usage: ddkbuild [-W2K] \"checked | free | chk | fre\" \"directory-to-build\" [flags] [-WDF] [-PREFAST]\n@echo        -W2K       indicates development system uses W2KBASE environment variable\n@echo                   to locate the win2000 ddk\n@echo        -W2K64     indicates development sytsem uses W2KBASE environment variable\n@echo                   to locate the win2000 IA64 ddk\n@echo        -WXP       to indicate WXP Build uses WXPBASE enviornment variable.\n@echo        -WXP64     to indicate WXP IA64 bit build, uses WXPBASE\n@echo        -WXP2K     to indicate Windows 2000 build using WXP ddk\n@echo        -WNET      to indicate Windows .Net builds using WNET ddk\n@echo        -WNET64    to indicate Windows .Net 64 bit builds using WNET DDK\n@echo        -WNETXP    to indicate Windows XP builds suing WNET DDK\n@echo        -WNETXP64  to indicate Windows XP 64 bit builds suing WNET DDK\n@echo        -WNETAMD64 to indicate Windows .NET build for AMD64 using WNET DDK\n@echo        -WNET2K    to indicate Windows 2000 builds using WNET DDK\n@echo        -NT4       to indicate NT4 build using NT4 DDK.\n@echo         checked   indicates a checked build\n@echo         free      indicates a free build\n@echo         chk\t\tindicates a checked build\n@echo         fre\t\tindicates a free build\n@echo         directory path to build directory, try . (cwd)\n@echo         flags     any random flags you think should be passed to build (try /a for clean)\n@echo         -WDF      performs a WDF build\n@echo         -PREFAST  preforms a PREFAST build\n@echo -\n@echo         ex: ddkbuild -NT4 checked . (for NT4 BUILD)\n@echo         ex: ddkbuild -WXP64 chk .\n@echo         ex: ddkbuild -WXP chk c:\\projects\\myproject\n@echo         ex: ddkbuild -WNET64 chk .      (IA64 bit build)\n@echo         ex: ddkbuild -WNETAMD64 chk .   (AMD64/EM64T bit build)\n@echo         ex: ddkbuild -WNETXP chk . -cZ -WDF\n@echo         ex: ddkbuild -WNETXP chk . -cZ -PREFAST\n@echo -\n@echo         In order for this procedure to work correctly for each platform, it requires\n@echo         an environment variable to be set up for certain platforms.   The environment\n@echo         variables are as follows:\n@echo -\n@echo         NT4BASE - You must set this up to do -NT4 builds\n@echo         W2KBASE - You must set this up to do -W2K and -W2K64 builds\n@echo         WXPBASE - You must set this up to do -WXP, -WXP64, -WXP2K builds\n@echo         WNETBASE - You must set this up to do -WNET, -WNET64, -WNETXP, -WNETXP64, \n@echo                    -WNETAMD64, and -WNET2K builds\n@echo -\n@echo         WDF_ROOT must be set if attempting to do a WDF Build.\n@echo -\n@echo -\n@echo   OSR DDKBUILD.BAT V6.5 - OSR, Open Systems Resources, Inc.\n@echo     report any problems found to info@osr.com\n@echo  - \n\nrem goto end\n\n:end\n\nexit /b %error_code%\n\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/UpgradeLog.XML",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>\n<Properties><Property Name=\"Solution\" Value=\"Wisp\">\n</Property><Property Name=\"解决方案文件\" Value=\"F:\\syserdbg\\Project\\Wisp\\WinXPDrv32\\Wisp.sln\">\n</Property><Property Name=\"Date\" Value=\"2015年11月11日\">\n</Property><Property Name=\"Time\" Value=\"11:54\">\n</Property></Properties><Event ErrorLevel=\"0\" Project=\"\" Source=\"Wisp.sln\" Description=\"文件已成功备份为 F:\\syserdbg\\Project\\Wisp\\WinXPDrv32\\Wisp.sln.old\">\n</Event><Event ErrorLevel=\"0\" Project=\"Wisp\" Source=\"Wisp.vcproj\" Description=\"项目升级成功。\">\n</Event><Event ErrorLevel=\"3\" Project=\"Wisp\" Source=\"Wisp.vcproj\" Description=\"Converted\">\n</Event><Event ErrorLevel=\"0\" Project=\"\" Source=\"Wisp.sln\" Description=\"成功转换解决方案\">\n</Event><Event ErrorLevel=\"3\" Project=\"\" Source=\"Wisp.sln\" Description=\"Converted\">\n</Event></UpgradeLog>"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/WinXPDrv32Clean.bat",
    "content": "@ECHO OFF\n\nDEL     ..\\Source\\obj /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objfre_wxp_x86 /S /Q 1>NUL 2>NUL\nDEL     ..\\Source\\objchk_wxp_x86 /S /Q 1>NUL 2>NUL\n\nECHO ON\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/Wisp.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"Wisp.vcproj\", \"{351A08EC-318C-460A-9B79-3ECCF444ACA1}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release|Win32.Build.0 = Release|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/Wisp.sln.old",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"Wisp.vcproj\", \"{351A08EC-318C-460A-9B79-3ECCF444ACA1}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug.ActiveCfg = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Debug.Build.0 = Debug|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release.ActiveCfg = Release|Win32\n\t\t{351A08EC-318C-460A-9B79-3ECCF444ACA1}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/Wisp.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"Wisp\"\n\tProjectGUID=\"{351A08EC-318C-460A-9B79-3ECCF444ACA1}\"\n\tKeyword=\"MakeFileProj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WNET chk ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WNET chk ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Trial|Win32\"\n\t\t\tOutputDirectory=\"$(ConfigurationName)\"\n\t\t\tIntermediateDirectory=\"$(ConfigurationName)\"\n\t\t\tConfigurationType=\"0\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCNMakeTool\"\n\t\t\t\tBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source\"\n\t\t\t\tReBuildCommandLine=\"DDKBuild.cmd -WXP fre ..\\Source /a\"\n\t\t\t\tCleanCommandLine=\"WinXPDrv32Clean.bat\"\n\t\t\t\tOutput=\"\"\n\t\t\t\tPreprocessorDefinitions=\"\"\n\t\t\t\tIncludeSearchPath=\"\"\n\t\t\t\tForcedIncludes=\"\"\n\t\t\t\tAssemblySearchPath=\"\"\n\t\t\t\tForcedUsingAssemblies=\"\"\n\t\t\t\tCompileAsManaged=\"\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ripple.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp3D.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\DIBData.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Ripple.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Utility.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Wisp3D.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBase.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispBaseWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispButton.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCalcWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispCheckBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispColorStrWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispComboBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConfig.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispConsoleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDC.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIB.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDIBLib.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawHAL.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDrawObj.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispEdit.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispFont.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispHexWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispInfoWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispList.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMenu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMisc.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMsgDefine.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispMultiTabView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispOptionForm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispProgress.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRadioBox.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispRootWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSoftKeyboard.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispSplitWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispStatic.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispTipWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispToolbar.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Project Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MakeFile\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Sources\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/_UpgradeReport_Files/UpgradeReport.css",
    "content": "﻿BODY\n{\n\tBACKGROUND-COLOR: white;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px\n}\nP\n{\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 70%;\n\tLINE-HEIGHT: 12pt;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 10px\n}\n.note\n{\n\tBACKGROUND-COLOR:  #ffffff;\n\tCOLOR: #336699;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px;\n\tPADDING-RIGHT: 10px\n}\n.infotable\n{\n\tBACKGROUND-COLOR: #f0f0e0;\n\tBORDER-BOTTOM: #ffffff 0px solid;\n\tBORDER-COLLAPSE: collapse;\n\tBORDER-LEFT: #ffffff 0px solid;\n\tBORDER-RIGHT: #ffffff 0px solid;\n\tBORDER-TOP: #ffffff 0px solid;\n\tFONT-SIZE: 70%;\n\tMARGIN-LEFT: 10px\n}\n.issuetable\n{\n\tBACKGROUND-COLOR: #ffffe8;\n\tBORDER-COLLAPSE: collapse;\n\tCOLOR: #000000;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 10px;\n\tMARGIN-LEFT: 13px;\n\tMARGIN-TOP: 0px\n}\n.issuetitle\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px;\n\tCOLOR: #003366;\n\tFONT-WEIGHT: normal\n}\n.header\n{\n\tBACKGROUND-COLOR: #cecf9c;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: bold\n}\n.issuehdr\n{\n\tBACKGROUND-COLOR: #E0EBF5;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.issuenone\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: 0px;\n\tBORDER-LEFT: 0px;\n\tBORDER-RIGHT: 0px;\n\tBORDER-TOP: 0px;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.content\n{\n\tBACKGROUND-COLOR: #e7e7ce;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tPADDING-LEFT: 3px\n}\n.issuecontent\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tPADDING-LEFT: 3px\n}\nA:link\n{\n\tCOLOR: #cc6633;\n\tTEXT-DECORATION: underline\n}\nA:visited\n{\n\tCOLOR: #cc6633;\n}\nA:active\n{\n\tCOLOR: #cc6633;\n}\nA:hover\n{\n\tCOLOR: #cc3300;\n\tTEXT-DECORATION: underline\n}\nH1\n{\n\tBACKGROUND-COLOR: #003366;\n\tBORDER-BOTTOM: #336699 6px solid;\n\tCOLOR: #ffffff;\n\tFONT-SIZE: 130%;\n\tFONT-WEIGHT: normal;\n\tMARGIN: 0em 0em 0em -20px;\n\tPADDING-BOTTOM: 8px;\n\tPADDING-LEFT: 30px;\n\tPADDING-TOP: 16px\n}\nH2\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 3px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px;\n\tPADDING-LEFT: 0px\n}\nH3\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: -5px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px\n}\nH4\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-TOP: 15px;\n\tPADDING-BOTTOM: 0px\n}\nUL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nOL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nLI\n{\n\tLIST-STYLE: square;\n\tMARGIN-LEFT: 0px\n}\n.expandable\n{\n\tCURSOR: hand\n}\n.expanded\n{\n\tcolor: black\n}\n.collapsed\n{\n\tDISPLAY: none\n}\n.foot\n{\nBACKGROUND-COLOR: #ffffff;\nBORDER-BOTTOM: #cecf9c 1px solid;\nBORDER-TOP: #cecf9c 2px solid\n}\n.settings\n{\nMARGIN-LEFT: 25PX;\n}\n.help\n{\nTEXT-ALIGN: right;\nmargin-right: 10px;\n}\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/_UpgradeReport_Files/UpgradeReport.xslt",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\">\n\n    <xsl:key name=\"ProjectKey\" match=\"Event\" use=\"@Project\"/>\n\n    <xsl:template match=\"Events\" mode=\"createProjects\">\n        <projects>\n            <xsl:for-each select=\"Event\">\n                <!--xsl:sort select=\"@Project\" order=\"descending\"/-->\n                <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Project != @Project)\">\n\n                    <xsl:variable name=\"ProjectName\" select=\"@Project\"/>\n\n                    <project>\n                        <xsl:attribute name=\"name\">\n                            <xsl:value-of select=\"@Project\"/>\n                        </xsl:attribute> \n\n                        <xsl:if test=\"@Project=''\">\n                        <xsl:attribute name=\"solution\">\n                            <xsl:value-of select=\"@Solution\"/>\n                        </xsl:attribute> \n                        </xsl:if>\n\n                        <xsl:for-each select=\"key('ProjectKey', $ProjectName)\">\n                            <!--xsl:sort select=\"@Source\" /-->\n                            <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Source != @Source)\">\n\n                                <source>\n                                    <xsl:attribute name=\"name\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:attribute>\n\n                                    <xsl:variable name=\"Source\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:variable>\n\n                                    <xsl:for-each select=\"key('ProjectKey', $ProjectName)[ @Source = $Source ]\">\n\n                                        <event>\n                                            <xsl:attribute name=\"error-level\">\n                                                <xsl:value-of select=\"@ErrorLevel\"/>\n                                            </xsl:attribute> \n                                            <xsl:attribute name=\"description\">\n                                                <xsl:value-of select=\"@Description\"/>\n                                            </xsl:attribute> \n                                        </event>\n                                    </xsl:for-each>\n                                </source>\n                            </xsl:if>\n                        </xsl:for-each>\n\n                    </project>\n                </xsl:if>\n            </xsl:for-each>\n        </projects>\n    </xsl:template>\n\n    <xsl:template match=\"projects\">\n    <xsl:for-each select=\"project\">\n    <xsl:sort select=\"@Name\" order=\"ascending\"/>\n        <h2>\n        <xsl:if test=\"@solution\"><a _locID=\"Solution\">解决方案</a>: <xsl:value-of select=\"@solution\"/></xsl:if>\n        <xsl:if test=\"not(@solution)\"><a _locID=\"Project\">项目</a>: <xsl:value-of select=\"@name\"/>\n            <xsl:for-each select=\"source\">\n                <xsl:variable name=\"Hyperlink\" select=\"@name\"/>\n            <xsl:for-each select=\"event[@error-level='4']\">\n             <A class=\"note\"><xsl:attribute name=\"HREF\"><xsl:value-of select=\"$Hyperlink\"/></xsl:attribute><xsl:value-of select=\"@description\"/></A>\n                </xsl:for-each>\n            </xsl:for-each>\n        </xsl:if>\n        </h2>\n\n        <table cellpadding=\"2\" cellspacing=\"0\" width=\"98%\" border=\"1\" bordercolor=\"white\" class=\"infotable\">\n            <tr>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Filename\">文件名</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Status\">状态</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Errors\">错误</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Warnings\">警告</td>\n            </tr>\n\n            <xsl:for-each select=\"source\">\n                <xsl:sort select=\"@name\" order=\"ascending\"/>\n                <xsl:variable name=\"source-id\" select=\"generate-id(.)\"/>\n\n                <xsl:if test=\"count(event)!=count(event[@error-level='4'])\">\n\n                <tr class=\"row\">\n                    <td class=\"content\">\n                        <A HREF=\"javascript:\"><xsl:attribute name=\"onClick\">javascript:document.images['<xsl:value-of select=\"$source-id\"/>'].click()</xsl:attribute><IMG border=\"0\" _locID=\"IMG.alt\" _locAttrData=\"alt\" alt=\"展开/折叠节\" class=\"expandable\" height=\"11\" onclick=\"changepic()\" src=\"_UpgradeReport_Files/UpgradeReport_Plus.gif\" width=\"9\"><xsl:attribute name=\"name\"><xsl:value-of select=\"$source-id\"/></xsl:attribute><xsl:attribute name=\"child\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute></IMG></A> <xsl:value-of select=\"@name\"/> \n                    </td>\n                    <td class=\"content\">\n                        <xsl:if test=\"count(event[@error-level='3'])=1\">\n                            <xsl:for-each select=\"event[@error-level='3']\">\n                            <xsl:if test=\"@description='Converted'\"><a _locID=\"Converted1\">已转换</a></xsl:if>\n                            <xsl:if test=\"@description!='Converted'\"><xsl:value-of select=\"@description\"/></xsl:if>\n                            </xsl:for-each>\n                        </xsl:if>\n                        <xsl:if test=\"count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0\"><a _locID=\"Converted2\">已转换</a>\n                        </xsl:if>\n                    </td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='2'])\"/></td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='1'])\"/></td>\n                </tr>\n\n                <tr class=\"collapsed\" bgcolor=\"#ffffff\">\n                    <xsl:attribute name=\"id\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute>\n\n                    <td colspan=\"7\">\n                        <table width=\"97%\" border=\"1\" bordercolor=\"#dcdcdc\" rules=\"cols\" class=\"issuetable\">\n                            <tr>\n                                <td colspan=\"7\" class=\"issuetitle\" _locID=\"ConversionIssues\">转换问题 - <xsl:value-of select=\"@name\"/>:</td>\n                            </tr>\n\n                            <xsl:for-each select=\"event[@error-level!='3']\">\n                                <xsl:if test=\"@error-level!='4'\">\n                                <tr>\n                                    <td class=\"issuenone\" style=\"border-bottom:solid 1 lightgray\">\n                                        <xsl:value-of select=\"@description\"/>\n                                    </td>\n                                </tr>\n                                </xsl:if>\n                            </xsl:for-each>\n                        </table>\n                    </td>\n                </tr>\n                </xsl:if>\n            </xsl:for-each>\n\n            <tr valign=\"top\">\n                <td class=\"foot\">\n                    <xsl:if test=\"count(source)!=1\">\n                        <xsl:value-of select=\"count(source)\"/><a _locID=\"file1\"> 个文件</a>\n                    </xsl:if>\n                    <xsl:if test=\"count(source)=1\">\n                        <a _locID=\"file2\">1 个文件</a>\n                    </xsl:if>\n                </td>\n                <td class=\"foot\">\n\t\t\t\t\t<a _locID=\"Converted3\">已转换</a>: <xsl:value-of select=\"count(source/event[@error-level='3' and @description='Converted'])\"/><BR/>\n\t\t\t\t\t<a _locID=\"NotConverted\">未转换</a>: <xsl:value-of select=\"count(source) - count(source/event[@error-level='3' and @description='Converted'])\"/>\n                </td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='2'])\"/></td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='1'])\"/></td>\n            </tr>\n        </table>\n    </xsl:for-each>\n    </xsl:template>\n\n    <xsl:template match=\"Property\">\n        <xsl:if test=\"@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'\">\n        <tr><td nowrap=\"1\"><b><xsl:value-of select=\"@Name\"/>: </b><xsl:value-of select=\"@Value\"/></td></tr>\n        </xsl:if>\n    </xsl:template>\n\n    <xsl:template match=\"UpgradeLog\">\n        <html>\n            <head>\n                <META HTTP-EQUIV=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n                <link rel=\"stylesheet\" href=\"_UpgradeReport_Files\\UpgradeReport.css\"/>\n                <title _locID=\"ConversionReport0\">转换报告 \n                    <xsl:if test=\"Properties/Property[@Name='LogNumber']\">\n                        <xsl:value-of select=\"Properties/Property[@Name='LogNumber']/@Value\"/>\n                    </xsl:if>\n                </title>\n                <script language=\"javascript\">\n                    function outliner () {\n                        oMe = window.event.srcElement\n                        //get child element\n                        var child = document.all[event.srcElement.getAttribute(\"child\",false)];\n                        //if child element exists, expand or collapse it.\n                        if (null != child)\n                            child.className = child.className == \"collapsed\" ? \"expanded\" : \"collapsed\";\n                    }\n\n                    function changepic() {\n                        uMe = window.event.srcElement;\n                        var check = uMe.src.toLowerCase();\n                        if (check.lastIndexOf(\"upgradereport_plus.gif\") != -1)\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Minus.gif\"\n                        }\n                        else\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Plus.gif\"\n                        }\n                    }\n                </script>\n            </head>\n            <body topmargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" onclick=\"outliner();\">\n                <h1 _locID=\"ConversionReport\">转换报告 - <xsl:value-of select=\"Properties/Property[@Name='Solution']/@Value\"/></h1>\n\n                <p><span class=\"note\">\n                <b _locID=\"TimeOfConversion\">转换时间:</b>  <xsl:value-of select=\"Properties/Property[@Name='Date']/@Value\"/>  <xsl:value-of select=\"Properties/Property[@Name='Time']/@Value\"/><br/>\n                </span></p>\n\n                <xsl:variable name=\"SortedEvents\">\n                    <Events>\n                        <xsl:for-each select=\"Event\">\n                            <xsl:sort select=\"@Project\" order=\"ascending\"/>\n                            <xsl:sort select=\"@Source\" order=\"ascending\"/>\n                            <xsl:sort select=\"@ErrorLevel\" order=\"ascending\"/>\n                            <Event>\n                                <xsl:attribute name=\"Project\"><xsl:value-of select=\"@Project\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Solution\"><xsl:value-of select=\"/UpgradeLog/Properties/Property[@Name='Solution']/@Value\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Source\"><xsl:value-of select=\"@Source\"/> </xsl:attribute> \n                                <xsl:attribute name=\"ErrorLevel\"><xsl:value-of select=\"@ErrorLevel\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Description\"><xsl:value-of select=\"@Description\"/> </xsl:attribute> \n                            </Event>\n                        </xsl:for-each>     \n                    </Events>\n                </xsl:variable>\n                \n                <xsl:variable name=\"Projects\">\n                    <xsl:apply-templates select=\"msxsl:node-set($SortedEvents)/*\" mode=\"createProjects\"/>\n                </xsl:variable>\n\n                <xsl:apply-templates select=\"msxsl:node-set($Projects)/*\"/>\n\n                <p></p><p>\n                <table class=\"note\">\n                    <tr>\n                        <td nowrap=\"1\">\n                            <b _locID=\"ConversionSettings\">转换设置</b>\n                        </td>\n                    </tr>\n                    <xsl:apply-templates select=\"Properties\"/>\n                </table></p>\n            </body>\n        </html>\n    </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "Project/Wisp/WinXPDrv32/ddkbuild.cmd",
    "content": "@echo off\n@set REVISION=V7.0 BETA5\n@set REVDATE=2007-01-03\n@set OSR_DEBUG=off\n@if \"%OS%\"==\"Windows_NT\" goto :MAIN\n@echo This script requires Windows NT 4.0 or later to run properly!\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::\n::    This software is supplied for instructional purposes only.\n::\n::    OSR Open Systems Resources, Inc. (OSR) expressly disclaims any warranty\n::    for this software.  THIS SOFTWARE IS PROVIDED  \"AS IS\" WITHOUT WARRANTY\n::    OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,\n::    THE IMPLIED WARRANTIES OF MECHANTABILITY OR FITNESS FOR A PARTICULAR\n::    PURPOSE.  THE ENTIRE RISK ARISING FROM THE USE OF THIS SOFTWARE REMAINS\n::    WITH YOU.  OSR's entire liability and your exclusive remedy shall not\n::    exceed the price paid for this material.  In no event shall OSR or its\n::    suppliers be liable for any damages whatsoever (including, without\n::    limitation, damages for loss of business profit, business interruption,\n::    loss of business information, or any other pecuniary loss) arising out\n::    of the use or inability to use this software, even if OSR has been\n::    advised of the possibility of such damages.  Because some states/\n::    jurisdictions do not allow the exclusion or limitation of liability for\n::    consequential or incidental damages, the above limitation may not apply\n::    to you.\n::\n::    OSR Open Systems Resources, Inc.\n::    105 Route 101A Suite 19\n::    Amherst, NH 03031  (603) 595-6500 FAX: (603) 595-6503\n::    email bugs to: bugs@osr.com\n::\n::\n::    MODULE:\n::\n::      ddkbuild.cmd\n::\n::    ABSTRACT:\n::\n::      This file allows drivers to be build with visual studio and visual studio.net\n::\n::    AUTHOR(S):\n::\n::      - OSR Open Systems Resources, Inc.\n::      - Oliver Schneider (ddkwizard.assarbad.net)\n::\n::    REQUIREMENTS:  Environment variables that must be set.\n::\n::      %NT4BASE%  - Set this up for \"-NT4\" builds\n::      %W2KBASE%  - Set this up for \"-W2K*\" builds\n::      %WXPBASE%  - Set this up for \"-WXP*\" builds\n::      %WNETBASE% - Set this up for \"-WNET*\" builds\n::      %WLHBASE% - Set this up for \"-WLH*\" builds\n::\n::      %WDF_ROOT% must be set if attempting to do a WDF Build.\n::\n::      Examples:\n::        NT4BASE : could be \"D:\\NT4DDK\"\n::        W2KBASE : could be \"D:\\Nt50DDK\"\n::        WXPBASE : could be \"D:\\WINDDK\\2600\"\n::        WNETBASE: could be \"D:\\WINDDK\\3790.1830\" or \"C:\\WINDDK\\3790\"\n::\n::    COMMAND FORMAT (taken from the script's output):\n::\n::      ddkbuild <platform> <build type> <directory> [flags] [-WDF] [-PREFAST]\n::\n::      Platform values:\n::            -W2K       to indicate W2K        build using %W2KBASE%\n::            -W2K64     to indicate W2K  IA64  build using %W2KBASE%\n::            -WXP       to indicate WXP        build using %WXPBASE%\n::            -WXP64     to indicate WXP  IA64  build using %WXPBASE%\n::            -WXP2K     to indicate W2K        build using %WXPBASE%\n::            -WNET      to indicate WNET       build using %WNETBASE%\n::            -WNET64    to indicate WNET IA64  build using %WNETBASE% (= -WNETI64)\n::            -WNETXP    to indicate WXP        build using %WNETBASE%\n::            -WNETXP64  to indicate WXP  IA64  build using %WNETBASE%\n::            -WNETAMD64 to indicate WNET AMD64 build using %WNETBASE% (= -WNETX64)\n::            -WNET2K    to indicate W2K        build using %WNETBASE%\n::            -WLH       to indicate WLH        build using %WLHBASE%\n::            -WLH2K     to indicate W2K        build using %WLHBASE%\n::            -WLHXP     to indicate WXP        build using %WLHBASE%\n::            -WLHNET    to indicate WNET       build using %WLHBASE%\n::            -WLHNETI64 to indicate WNET IA64  build using %WLHBASE%\n::            -WLHNETX64 to indicate WNET AMD64 build using %WLHBASE%\n::            -WLHI64    to indicate WLH IA64   build using %WLHBASE%\n::            -WLHX64    to indicate WLH AMD64  build using %WLHBASE%\n::            -NT4       to indicate NT4        build using %NT4BASE%\n::\n::      Build types:\n::             checked\n::             chk       indicates a checked build\n::             free\n::             fre       indicates a free build\n::\n::      Remaining parameters:\n::             directory path to build directory, try . (cwd)\n::             flags     any random flags you think should be passed to build (try /a\n::                       for clean)\n::            -WDF       performs a WDF build\n::            -PREFAST   performs a PREFAST build\n::\n::      Note: \"-WDF\" has been tested with the 01.00.5054 version of the framework\n::\n::    RETURN CODES AND THEIR MEANING:\n::\n::       001 == Unknown build type. Check the <platform> parameter\n::       002 == No WDF_ROOT given using WDF build type.\n::       003 == The DDK-specific base directory variable (NT4BASE, W2KBASE, WXPBASE,\n::              WNETBASE) is not set at all and could not be auto-detected!\n::       004 == BASEDIR variable is empty. Check to see that the DDK-specific\n::              variable is set correctly (i.e. NT4BASE, W2KBASE, WXPBASE, WNETBASE)\n::       005 == No mode (checked/free) was given. Check the respective parameter!\n::       006 == No DIR or SOURCES file found in the given target directory.\n::       007 == No target directory given.\n::       008 == Given target directory does not exist.\n::\n::       Note: If %OSR_ERRCODE% and %ERRORLEVEL% are equal, the return code stems\n::             from one of the tools being called during the build process.\n::\n::    BROWSE FILES:\n::\n::       This procedure supports the building of BROWSE files to be used by\n::       Visual Studio 6 and by Visual Studio.Net  However, the BSCfiles created\n::       by bscmake for the 2 studios are not compatible. When this command procedure\n::       runs, it selects the first bscmake.exe found in the path.   So, make\n::       sure that the correct bscmake.exe is in the path....\n::\n::       Note that if using Visual Studio.NET the .BSC must be added to the project\n::       in order for the project to be browsed.\n::       Another alternative is the VS addon named \"Visual Assist X\" which will\n::       parse the header files - no more need for browse files.\n::\n::    COMPILERS:\n::\n::        If you are building NT4 you should really\n::        be using the VC 6 compiler.   Later versions of the DDK now contain the\n::        compiler and the linker.  This procedure should use the correct compiler.\n::\n::    GENERAL COMMENTS:\n::\n::        This procedure has been cleaned up to be modular and easy to\n::        understand.\n::\n::        As of the Server 2003 SP1 DDK ddkbuild now clears the\n::        NO_BROWSE_FILE and NO_BINPLACE environment variables so that users\n::        can use these features.\n::\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:MAIN\n:: Building \"stack frame\"\nsetlocal ENABLEEXTENSIONS & pushd\n\n:: Init some special variables\nset OSR_VERSTR=OSR DDKBUILD.CMD %REVISION% (%REVDATE%) - OSR, Open Systems Resources, Inc.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set error messages\n:: Possible codes: 1\nset ERR_UnknownBuildType=Unknown type of build. Please recheck parameters.\n:: Possible codes: 2\nset ERR_NoWdfRoot=WDF_ROOT is not defined, are you using 00.01.5054 or later?\n:: Possible codes: 3\nset ERR_BaseDirNotSet=To build using type %%OSR_TARGET%% you need to set the %%%%%%BASEDIRVAR%%%%%% environment variable to point to the %%BASEDIROS%% DDK base directory!\n:: Possible codes: 4\nset ERR_NoBASEDIR=NT4BASE, W2KBASE, WXPBASE and/or WNETBASE environment variable(s) not set. Environment variable(s) must be set by user according to DDK version(s) installed.\n:: Possible codes: 5\nset ERR_BadMode=^<build type^> must be 'checked', 'free', 'chk' or 'fre' (case-insensitive).\n:: Possible codes: 6\nset ERR_NoTarget=Target directory must contain a SOURCES or DIRS file.\n:: Possible codes: 7, 8\nset ERR_NoDir=The ^<directory^> parameter must be a valid directory.\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Clear the error code variable\nset OSR_ERRCODE=0\nset prefast_build=0\n\n:: Turn on tracing, use %OSR_TRACE% instead of ECHO\nif /i {%OSR_DEBUG%} == {on} (set OSR_TRACE=@echo) else (set OSR_TRACE=rem)\n\n:: Turn on echoing of current line if %OSR_DEBUG% is set to \"on\"\n@echo %OSR_DEBUG%\n\n:: Output version string\n@echo %OSR_VERSTR%\n%OSR_TRACE% ^(Current module: ^\"%~f0^\"^)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Set the target platform variable\nset OSR_TARGET=%1\n:: Remove any dashes in the variable\nif not {%OSR_TARGET%} == {} set OSR_TARGET=%OSR_TARGET:-=%\n:: Show help if the target parameter is empty after removal of the dashes\nif {%OSR_TARGET%} == {} goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Additional error handling for better usability\n:: These subroutines will also attempt to locate the requested DDK!!!\nset OSR_ERRCODE=3\n%OSR_TRACE% Checking whether the environment variable for the build type was set\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Check\n:: If the BASEDIROS/BASEDIRVAR variable is not defined, it means the subroutine did not exist!\nif not DEFINED BASEDIROS call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIROS)\" & goto :USAGE\nif not DEFINED BASEDIRVAR call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (BASEDIRVAR)\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BaseDirNotSet%\" & goto :USAGE\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\nset BASEDIR=%%%BASEDIRVAR%%%\ncall :ResolveVar BASEDIR\n:: Check for existing %BASEDIR%\nif {%BASEDIR%}=={} call :ShowErrorMsg 4 \"%ERR_NoBASEDIR%\" & goto :USAGE\nset PATH=%BASEDIR%\\bin;%PATH%\n%OSR_TRACE% Now jump to the initialization of the commandline\n:: Calling as a subroutine has 2 advantages:\n:: 1. the script does not quit if the label was not found\n:: 2. we return to the line after the call and can check variables there\ncall :%OSR_TARGET%Build\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n%OSR_TRACE% We returned from the variable initialization\nif not DEFINED OSR_CMDLINE call :ShowErrorMsg 1 \"%ERR_UnknownBuildType% (OSR_CMDLINE)\" & goto :USAGE\n\n%OSR_TRACE% Hurrah, all the variables have been initialized, continuing\n:: Proceed with common build steps\ngoto :CommonBuild\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Check whether the parameter makes sense and try to\n:: correct it if possible\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WLHCheck\n:WLHX64Check\n:WLHI64Check\n:WLHNETX64Check\n:WLHNETI64Check\n:WLHXPCheck\n:WLH2KCheck\n:WLHNETCheck\nset BASEDIROS=Windows Vista/Longhorn Server\nset BASEDIRVAR=WLHBASE\n:: Compatibility between BUILD and VS ... prevent pipes from being used\necho Clearing %%VS_UNICODE_OUTPUT%% ...\nset VS_UNICODE_OUTPUT=\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\6000\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WNET2KCheck\n:WNETXPCheck\n:WNETXP64Check\n:WNET64Check\n:WNETI64Check\n:WNETAMD64Check\n:WNETX64Check\n:WNETCheck\n\nset BASEDIROS=Windows 2003 Server\nset BASEDIRVAR=WNETBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%%ProgramFiles%\\WINDDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%SystemDrive%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1830\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790.1218\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\3790\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:WXP64Check\n:WXPCheck\n:WXP2KCheck\nset BASEDIROS=Windows XP\nset BASEDIRVAR=WXPBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg1\n:: Try all the possible \"default\" locations\nset BASEDIRTEMP=%SystemDrive%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\WINDDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\n:: Try some \"odd\" locations\nset BASEDIRTEMP=%SystemDrive%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\nset BASEDIRTEMP=%ProgramFiles%\\DDK\\2600\necho Trying %BASEDIRTEMP% ...\nif exist \"%BASEDIRTEMP%\" goto :CommonCheckSetVarWithReturn\ngoto :CommonCheckErrorNotDetectedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:W2K64Check\n:W2KCheck\nset BASEDIROS=Windows 2000\nset BASEDIRVAR=W2KBASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:NT4Check\nset BASEDIROS=Windows NT4\nset BASEDIRVAR=NT4BASE\n:: Return to caller\nif DEFINED %BASEDIRVAR% goto :CommonCheckNoErrorWithReturn\ncall :CommonCheckMsg2\ngoto :CommonCheckErrorNotSupportedWithReturn\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg1\necho.\necho WARNING: %%%BASEDIRVAR%%% NOT SET!\necho   Attempting to auto-detect the installation folder and set %%%BASEDIRVAR%%%.\necho   (If this fails *you* will have to set it!)\necho.\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckMsg2\necho.\necho WARNING:\necho   Auto-detection of the folder settings is not supported for the requested DDK.\necho   Please set %%%BASEDIRVAR%%% yourself!\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckSetVarWithReturn\necho Found!\necho.\nset %BASEDIRVAR%=%BASEDIRTEMP%\nset BASEDIRTEMP=\n:: Tell the caller it was successful\n:CommonCheckNoErrorWithReturn\nset OSR_ERRCODE=0\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CommonCheckErrorNotDetectedWithReturn\necho.\necho None of the usual default paths works. Set %%%BASEDIRVAR%%% manually!\n:CommonCheckErrorNotSupportedWithReturn\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Initialize variables specific to the respective platform\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: NT 4.0 build using NT4 DDK\n:NT4Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% \"%%MSDEVDIR%%\"\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WXP DDK\n:WXP2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\w2k\\set2k.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 64bit (Intel) using W2K DDK\n:W2K64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv64.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using W2K DDK\n:W2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit (Intel) using WXP DDK\n:WXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WXP DDK\n:WXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WNET DDK\n:WNET2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% W2K %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WNET DDK\n:WNETXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 64bit using WNET DDK\n:WNETXP64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WNET DDK\n:WNET64Build\n:WNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WNET DDK\n:WNETAMD64Build\n:WNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WNET DDK\n:WNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%%\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 32bit using WLH DDK\n:WLHBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (AMD) using WLH DDK\n:WLHX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WLH build for 64bit (Intel) using WLH DDK\n:WLHI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WLH\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (AMD) using WLH DDK\n:WLHNETX64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% AMD64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 64bit (Intel) using WLH DDK\n:WLHNETI64Build\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% 64 WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WXP build for 32bit using WLH DDK\n:WLHXPBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WXP\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: W2K build for 32bit using WLH DDK\n:WLH2KBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% W2K\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: WNET build for 32bit using WLH DDK\n:WLHNETBuild\nset OSR_CMDLINE=%%BASEDIR%%\\bin\\setenv.bat %%BASEDIR%% %%BuildMode%% WNET\ngoto :EOF\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: All builds go here for the rest of the procedure. Now,\n:: we are getting ready to call build. The big problem\n:: here is to figure our the name of the buildxxx files\n:: being generated for the different platforms.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:CommonBuild\n:: Remove first command line arg\nshift\ncall :SetMode %1\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_BadMode%\" & goto :USAGE\n:: Resolve unresolved variable\nset OSR_BUILDNAME=%OSR_TARGET% (%BuildMode%) build using the %BASEDIROS% DDK and %%%BASEDIRVAR%%%\n::call :ResolveVar OSR_BUILDNAME\n::set OSR_BUILDNAME=%OSR_BUILDNAME%\n\ncall :CheckTargets %2\nif {%OSR_ERRCODE%} == {6} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoTarget%\" & goto :USAGE\nif not {%OSR_ERRCODE%} == {0} call :ShowErrorMsg %OSR_ERRCODE% \"%ERR_NoDir%\" & goto :USAGE\n\n:: Resolve any variables in the command line string\nset OSR_CMDLINE=%OSR_CMDLINE%\n\npushd .\n:: This external script prepares the build environment (e.g. setenv.bat)\ncall %OSR_CMDLINE%\npopd\n\n:: ----------------------------------------------------------------------------\n:: Setting global variables for the scope of this CMD session\nset NO_BROWSER_FILE=\nset NO_BINPLACE=\nset buildDirectory=%2\n\nset mpFlag=-M\nif {%BUILD_ALT_DIR%}=={} goto :NT4\n\n:: W2K sets this!\nset W2kEXT=%BUILD_ALT_DIR%\nset mpFlag=-MI\n\n:NT4\nif {%NUMBER_OF_PROCESSORS%}=={} set mpFlag=\nif {%NUMBER_OF_PROCESSORS%}=={1} set mpFlag=\n\n:: Set additional variables at this point or do whatever you please\n@if exist \"%buildDirectory%\\ddkprebld.cmd\" @(\n  echo Performing pre-build steps ...\n  call %buildDirectory%\\ddkprebld.cmd\n)\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Determine the settings of flags, WDF and PREFAST in\n:: other words what was set for %3 and beyond....\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n@echo Doing a %OSR_BUILDNAME%\nset OSR_ARGS= + argument(s):\nif not {%3} == {} set OSR_ARGS=%OSR_ARGS% %3\nif not {%4} == {} set OSR_ARGS=%OSR_ARGS% %4\nif not {%5} == {} set OSR_ARGS=%OSR_ARGS% %5\nif /i \"%OSR_ARGS%\" == \" + argument(s):\" set OSR_ARGS=\n@echo Directory: %buildDirectory%%OSR_ARGS% (%BASEDIRVAR% == %BASEDIR%)\n\ncd /D %~s2\nset bflags=-Ze\nset bscFlags=\n\n:ContinueParsing\nif {%3} == {} goto :DONE\nif {%3} == {/a} goto :RebuildallFound\nif /i {%3} == {-WDF} goto :WDFFound\nif /i {%3} == {-PREFAST} goto :PrefastFound\nset bscFlags=/n\n:: Old line: set bflags=%bflags% %3 -e\nset bflags=%bflags% %3 -e\n:: Remove first arg\nshift\ngoto :ContinueParsing\n\n:WDFFound\nshift\nif /i {%BASEDIRVAR%} == {WLHBASE} goto :WDFOkay\nif {%WDF_ROOT%} == {} call :ShowErrorMsg 2 \"%ERR_NoWdfRoot%\" & goto :USAGE\npushd .\ncall %WDF_ROOT%\\set_wdf_env.cmd\npopd\n:WDFOkay\n:: set OSR_DEBUG=on We don't need that here\ngoto :ContinueParsing\n\n:PrefastFound\nshift\nset prefast_build=1\ngoto :ContinueParsing\n\n:RebuildallFound\nshift\nset bscFlags=/n\nset bflags=-cfeZ\ngoto :ContinueParsing\n\n:DONE\n\nif exist \"build%W2kEXT%.err\"   erase /f /q \"build%W2kEXT%.err\"\nif exist \"build%W2kEXT%.wrn2\"   erase /f /q \"build%W2kEXT%.wrn\"\nif exist \"build%W2kEXT%.log\"   erase /f /q \"build%W2kEXT%.log\"\nif exist \"prefast%W2kEXT%.log\" erase /f /q \"prefast%W2kEXT%.log\"\n\nif not {%prefast_build%} == {0} goto :RunPrefastBuild\n@echo Run build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nbuild  %bflags% %mpFlag%\ngoto :BuildComplete\n\n:RunPrefastBuild\n@echo Run prefast build %bflags% %mpFlag% for %BuildMode% version in %buildDirectory%\npushd .\nsetlocal\nset PREFASTLOG=PREfast_defects_%W2kEXT%.xml\nprefast /log=%PREFASTLOG% /reset build  %bflags% %mpFlag% > NUL\nif \"%errorlevel%\" GTR \"0\" set OSR_ERRCODE=%errorlevel%\nprefast /log=%PREFASTLOG% list > prefast%W2kEXT%.log\necho The PREfast logfile is ^\"%prefastlog%^\"!\nendlocal\n\n:BuildComplete\nif not {%errorlevel%} == {0} set OSR_ERRCODE=%errorlevel%\npopd\n\n@echo %OSR_DEBUG%\n\n:: Assume that the onscreen errors are complete!\nsetlocal\nset WARNING_FILE_COUNT=0\nset WARNING_OUTPUT=0\nif exist \"build%W2kEXT%.wrn\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif exist \"build%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo ================ Build warnings =======================\n  if exist \"build%W2kEXT%.wrn\" findstr \"warning[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  if exist \"build%W2kEXT%.log\" findstr \"error[^.][DRCLU][0-9]*\" \"build%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nset WARNING_FILE_COUNT=0\nif exist \"prefast%W2kEXT%.log\" set /a WARNING_FILE_COUNT=%WARNING_FILE_COUNT%+1\n:: Reset if this is no PREfast build\nif {%prefast_build%} == {0} set WARNING_FILE_COUNT=0\nif not {%WARNING_FILE_COUNT%} == {0} (\n  @echo =============== PREfast warnings ======================\n  if exist \"prefast%W2kEXT%.log\" findstr \"warning[^.][CLU]*\" \"prefast%W2kEXT%.log\"\n  set /a WARNING_OUTPUT=%WARNING_OUTPUT%+1\n)\nif not {%WARNING_OUTPUT%} == {0} (\n  @echo =======================================================\n)\nendlocal\n@echo.\n@echo.\n@echo Build complete\n@echo Building browse information files\nif exist \"buildbrowse.cmd\" call \"buildbrowse.cmd\" & goto :postBuildSteps\nset sbrlist=sbrList.txt\nif not exist sbrList%CPU%.txt goto :sbrDefault\nset sbrlist=sbrList%CPU%.txt\n\n:sbrDefault\nif not exist %sbrlist% goto :postBuildSteps\n:: Prepend blank space\nif not {%bscFlags%} == {} set bscFlags= %bscFlags%\n:: bscmake%bscFlags% prevents a double blank space ...\nbscmake%bscFlags% @%sbrlist%\n\n:: Perform whatever post-build steps\n:postBuildSteps\n@if exist %buildDirectory%\\ddkpostbld.cmd @(\n  echo Performing post build steps ...\n  call %buildDirectory%\\ddkpostbld.cmd\n)\ngoto :END\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ MAIN function of the script\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  / SetMode\n::    Subroutine to validate the mode of the build passed in. It must be free,\n::    FREE, fre, FRE or checked, CHECKED, chk, CHK. Anything else is an error.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:SetMode\nset BuildMode=\nif /i {%OSR_TARGET%} == {WLH2K} goto :SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=free\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=checked\ngoto :SetModeCommonEnd\n:SetModeWLH2K\nfor %%f in (free fre) do if /i {%%f} == {%1} set BuildMode=f\nfor %%f in (checked chk) do if /i {%%f} == {%1} set BuildMode=c\n:SetModeCommonEnd\n%OSR_TRACE% Mode set to ^\"%BuildMode%^\"\nif {%BuildMode%} == {} set OSR_ERRCODE=5\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n::  \\ SetMode\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / CheckTargets subroutine\n::   Subroutine to validate that the target directory exists and that there is\n::   either a DIRS or SOURCES and MakeFile in it.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:CheckTargets\n:: Building \"stack frame\"\nsetlocal & pushd & set OSR_ERRCODE=0\nif not {%1} == {} goto :CheckTargets1\nset OSR_ERRCODE=7\ngoto :CheckTargets_ret\n:CheckTargets1\nif exist \"%1\" goto :CheckTargets2\nset OSR_ERRCODE=8\ngoto :CheckTargets_ret\n:CheckTargets2\nif not exist \"%1\\DIRS\" goto :CheckTargets3\nset OSR_ERRCODE=0\ngoto :CheckTargets_ret\n:CheckTargets3\nif exist \"%1\\SOURCES\" goto :CheckTargets4\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets4\nif exist \"%1\\MAKEFILE\" goto :CheckTargets5\nset OSR_ERRCODE=6\ngoto :CheckTargets_ret\n:CheckTargets5\nset OSR_ERRCODE=0\n:CheckTargets_ret\n:: Cleaning \"stack frame\" and returning error code into global scope\npopd & endlocal & set OSR_ERRCODE=%OSR_ERRCODE%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ CheckTargets subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n::   There is only one parameter, the name of the variable to be resolved!\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ResolveVar\nset OSR_TEMP=%1\nset OSR_TEMPRET2=%%%OSR_TEMP%%%\n:ResolveVarLoop\nset OSR_TEMPRET1=%OSR_TEMPRET2%\nset OSR_TEMPRET2=%OSR_TEMPRET1%\nfor /f \"tokens=*\" %%i in ('echo %OSR_TEMPRET1%') do (\n  set %OSR_TEMP%=%%i\n  set OSR_TEMPRET2=%%i\n)\nif not {%OSR_TEMPRET1%} == {%OSR_TEMPRET2%} goto :ResolveVarLoop\nset OSR_TEMP=\nset OSR_TEMPRET1=\nset OSR_TEMPRET2=\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ResolveVar subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: / ErrorWithUsage subroutine\n::   This one will take the passed in parameters and build a nice error\n::   message which is returned to the user along with the usage hints.\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:ShowErrorMsg\n@set OSR_ERRCODE=%1\n@set OSR_ERRMSG=%2\n@set OSR_ERRMSG=%OSR_ERRMSG:\"=%\n@set OSR_ERRMSG=%OSR_ERRMSG:'=\"%\n@set OSR_ERRMSG=ERROR #%OSR_ERRCODE%: %OSR_ERRMSG%\n@echo.\n@echo %OSR_ERRMSG%\ngoto :EOF\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: \\ ErrorWithUsage subroutine\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:: Usage output\n:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\n:USAGE\n@echo.\n@echo Syntax:\n@echo ddkbuild ^<platform^> ^<build type^> ^<directory^> [flags] [-WDF] [-PREFAST]\n@echo.\n@echo Platform values:\n@echo       -W2K       to indicate W2K        build using %%W2KBASE%%\n@echo       -W2K64     to indicate W2K  IA64  build using %%W2KBASE%%\n@echo       -WXP       to indicate WXP        build using %%WXPBASE%%\n@echo       -WXP64     to indicate WXP  IA64  build using %%WXPBASE%%\n@echo       -WXP2K     to indicate W2K        build using %%WXPBASE%%\n@echo       -WNET      to indicate WNET       build using %%WNETBASE%%\n@echo       -WNET64    to indicate WNET IA64  build using %%WNETBASE%% (= -WNETI64)\n@echo       -WNETXP    to indicate WXP        build using %%WNETBASE%%\n@echo       -WNETXP64  to indicate WXP  IA64  build using %%WNETBASE%%\n@echo       -WNETAMD64 to indicate WNET AMD64 build using %%WNETBASE%% (= -WNETX64)\n@echo       -WNET2K    to indicate W2K        build using %%WNETBASE%%\n@echo       -WLH       to indicate WLH        build using %%WLHBASE%%\n@echo       -WLH2K     to indicate W2K        build using %%WLHBASE%%\n@echo       -WLHXP     to indicate WXP        build using %%WLHBASE%%\n@echo       -WLHNET    to indicate WNET       build using %%WLHBASE%%\n@echo       -WLHNETI64 to indicate WNET IA64  build using %%WLHBASE%%\n@echo       -WLHNETX64 to indicate WNET AMD64 build using %%WLHBASE%%\n@echo       -WLHI64    to indicate WLH IA64   build using %%WLHBASE%%\n@echo       -WLHX64    to indicate WLH AMD64  build using %%WLHBASE%%\n@echo       -NT4       to indicate NT4        build using %%NT4BASE%%\n@echo.\n@echo Build types:\n@echo        checked\n@echo        chk       indicates a checked build\n@echo        free\n@echo        fre       indicates a free build\n@echo.\n@echo Remaining parameters:\n@echo        directory path to build directory, try . (cwd)\n@echo        flags     any random flags you think should be passed to build (try /a\n@echo                  for clean)\n@echo       -WDF       performs a WDF build\n@echo       -PREFAST   performs a PREFAST build\n@echo.\n@echo Examples:\n@echo       ^\"ddkbuild -NT4 checked .^\" (for NT4 BUILD)\n@echo       ^\"ddkbuild -WXP64 chk .^\"\n@echo       ^\"ddkbuild -WXP chk c:\\projects\\myproject^\"\n@echo       ^\"ddkbuild -WNET64 chk .^\"      (IA64 bit build)\n@echo       ^\"ddkbuild -WNETAMD64 chk .^\"   (AMD64/EM64T bit build)\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -WDF^\"\n@echo       ^\"ddkbuild -WNETXP chk . -cZ -PREFAST^\"\n@echo.\n@echo       In order for this procedure to work correctly for each platform, it\n@echo       requires an environment variable to be set up for certain platforms.\n@echo       The environment variables are as follows:\n@echo.\n@echo       %%NT4BASE%%  - Set this up for ^\"-NT4^\" builds\n@echo       %%W2KBASE%%  - Set this up for ^\"-W2K^\" and ^\"-W2K64^\" builds\n@echo       %%WXPBASE%%  - Set this up for ^\"-WXP^\", ^\"-WXP64^\", ^\"-WXP2K^\" builds\n@echo       %%WNETBASE%% - Set this up for ^\"-WNET*^\" builds\n@echo       %%WLHBASE%%  - Set this up for ^\"-WLH*^\" builds\n@echo.\n@echo       %%WDF_ROOT%% must be set if attempting to do a WDF Build.\n@echo.\n@echo.\n@echo   %OSR_VERSTR%\n@echo   -^> report any problems found to info@osr.com or assarbad.net/contact\n@echo.\n\n:END\npopd & endlocal\nexit /b %OSR_ERRCODE%\n@echo ddkbuild complete\n"
  },
  {
    "path": "Project/Wisp/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/Wisp/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/Wisp/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/WispDemo/Source/ControlWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"ControlWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CControlWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP_ON_EVENT\nWISP_MSG_MAP_END(CWispWnd)\n\nWISP_MSG_EVENT_MAP_BEGIN(CControlWnd)\n\tWISP_MSG_EVENT_MAP(CTRL_BT_OK_ID,OnOK);\n\tWISP_MSG_EVENT_MAP(CTRL_BT_MSG_BOX_ID,OnMsgBox);\n\tWISP_MSG_EVENT_MAP(CTRL_BT_STEP_IT_ID,OnStepIt);\nWISP_MSG_EVENT_MAP_END\n\n\nbool CControlWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_Edit.Create(WISP_STR(\"Edit\"),10,30,300,16,this,CTRL_EDIT_ID,WISP_ES_EDIT_NORMAL);\n\tm_OKDIB.Load(\"\\\\WispApp\\\\SoftKeyboard\\\\SoftKeyboard.ico\",0);\n\tm_BTOK.CreateEx(&m_OKDIB,320,50,this,CTRL_BT_OK_ID,WISP_BS_TEXT_LEFT);\n\tm_BTOK.SetWindowText(WSTR(\"OK\"));\n\tm_BTMsgBox.Create(WISP_STR(\"Message\"),390,50,60,20,this,CTRL_BT_MSG_BOX_ID,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\tm_ListCtrl.Create(NULL,CWispRect(10,60,300,200),this,CTRL_LIST_ID,WISP_WS_THIN_BORDER|WISP_WLS_COLUMN_TITLE|WISP_WLS_TREE|WISP_WLS_TREE_LINE);\n\tm_Progress.Create(0, CWispRect(10, 270, 200, 20), this);\n\tm_Progress.SetPos(2);\n\tm_BtnStepIt.Create(WISP_STR(\"Step It\"),220,270,60,20,this,CTRL_BT_STEP_IT_ID,WISP_BS_NORMAL,WISP_SH_NORMAL);\n\tm_CheckBox.Create(WISP_STR(\"Text check box\"), CWispRect(10, 300, 200, 20), this,0 ,WISP_WS_BORDER|WISP_WS_BACK_TRANS|WISP_CBS_FLAT, WISP_SH_NORMAL);\n\tm_ComboBox.Create(WISP_STR(\"\"),350,180,100,380,this);\n\n\tm_ListCtrl.InsertColumn(WSTR(\"col1\"),120,WISP_WLCS_NORMAL,&m_OKDIB);\n\tm_ListCtrl.InsertColumn(WSTR(\"col2\"),80,WISP_WLCS_EDITABLE);\n\tm_ListCtrl.InsertColumn(WSTR(\"col3\"),80,WISP_WLCS_EDITABLE);\n\n\tHANDLE hItem,hItem1;\n\thItem = m_ListCtrl.InsertItem(L\"Item\\tţlevel\",NULL,WISP_WLIS_EXPANDED,&m_OKDIB);\n\thItem1 = m_ListCtrl.InsertItem(L\"Level 1\",hItem,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\tm_ListCtrl.InsertItem(L\"Level 1\",hItem,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\n\tm_ListCtrl.InsertItem(L\"Level 2\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\tm_ListCtrl.InsertItem(L\"Level 2\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\tm_ListCtrl.InsertItem(L\"Level 2\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\n\thItem = m_ListCtrl.InsertItem(L\"Item1\",NULL,WISP_WLIS_EXPANDED,&m_OKDIB);\n\thItem1 = m_ListCtrl.InsertItem(L\"Level 1\",hItem,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\tm_ListCtrl.InsertItem(L\"Level 1\",hItem,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\n\tm_ListCtrl.InsertItem(L\"Level 1\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\tm_ListCtrl.InsertItem(L\"Level 2\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\thItem = m_ListCtrl.InsertItem(L\"Level 3\",hItem1,WISP_WLIS_EXPANDED,&m_OKDIB,-1);\n\treturn true;\n}\n\nbool CControlWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_OKDIB.Destroy();\n\treturn true;\n}\n\nbool CControlWnd::OnOK(IN WISP_MSG*pMsg)\n{\n\tCWispString Str;\n\tInputTextForm(100,100,Str,WSTR(\"\"));\n\treturn true;\n}\n\nbool CControlWnd::OnMsgBox(IN WISP_MSG*pMsg)\n{\n\tMsgBox(WISP_STR(\"hi\"),WISP_STR(\"Message Box\"), WISP_MB_ICONINFOMATION);\n\treturn true;\n}\n\nbool CControlWnd::OnStepIt(IN WISP_MSG*pMsg)\n{\n\tm_Progress.StepIt();\n\treturn true;\n}\n\n\n"
  },
  {
    "path": "Project/WispDemo/Source/ControlWnd.h",
    "content": "#ifndef _CONTROL_WND_H_\n#define _CONTROL_WND_H_\n\n\nenum\n{\n\tCTRL_EDIT_ID,\n\tCTRL_BT_OK_ID,\n\tCTRL_BT_MSG_BOX_ID,\n\tCTRL_BT_STEP_IT_ID,\n\tCTRL_LIST_ID,\n\tCTRL_MAIN_MENU_ID,\n};\n\nclass CControlWnd : public CWispWnd\n{\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG_EVENT_MAP\n\tDECLARE_WISP_MSG_EVENT(OnOK);\n\tDECLARE_WISP_MSG_EVENT(OnMsgBox);\n\tDECLARE_WISP_MSG_EVENT(OnStepIt);\npublic:\n\tCWispDIB\tm_OKDIB;\n\tCWispEdit\tm_Edit;\n\tCWispButton\tm_BTOK, m_BTMsgBox, m_BtnStepIt;\n\tCWispProgress\tm_Progress;\n\tCWispCheckBox\tm_CheckBox;\n\tCWispComboBox\tm_ComboBox;\n\tCWispList\tm_ListCtrl;\n\tHANDLE m_hItem;\n};\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/CtrlPage1.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"CtrlPage1.h\"\n\nenum CCtrlPage1::WISP_FORM_ID\n{\n\tCMD_ID_VERSION_EDIT = WISP_ID_USER_START,\n\tCMD_ID_COMBOBOX_TYPE\n};\n\nWISP_FORM_RES_ITEM CCtrlPage1::m_FormRes[]=\n{\n\t{\n\t\tWISP_CTRL_FORM,\n\t\t{0,0,240,150},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Ctrl Page 1\")\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_URL,\n\t\t{50,18,150,20},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"http://www.CodeProject.com\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_GROUP,\n\t\t{5,50,220,40},\n\t\tWISP_ID_NULL,\n\t\tWISP_WS_NULL,\n\t\tWSTR(\"Vesion Info\"),\n\t},\n\t{\n\t\tWISP_CTRL_STATIC_STRING,\n\t\t{15,70,200,16},\n\t\tCMD_ID_VERSION_EDIT,\n\t\tWISP_WS_NULL,\n\t\tNULL,\n\t\tNULL,\n\t\tWSTR(\"Wisp Version\")\n\t},\n\t{\n\t\tWISP_CTRL_COMBO_BOX,\n\t\t{10,126,135,20},\n\t\tCMD_ID_COMBOBOX_TYPE,\n\t\tWISP_ES_EDIT_NORMAL,\n\t\tNULL,\n\t\tNULL,\n\t},\n\t{WISP_CTRL_NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CCtrlPage1)\nWISP_MSG_MAP(WISP_WM_FORM_CREATE,OnFormCreate)\nWISP_MSG_MAP_END(CWispForm)\n\nbool CCtrlPage1::OnFormCreate(IN WISP_MSG*pMsg)\n{\n\tchar szBufferA[256];\n\tWCHAR szBuffer[256];\n\tCWispBaseWnd*pWnd;\n\tpWnd = GetFormItem(CMD_ID_VERSION_EDIT);\n\tif(pWnd)\n\t{\n\t\tTSPrintf(szBufferA,\"Syser1.31 Build Date %s\",__DATE__);\n\t\tTStrCpy(szBuffer,szBufferA);\n\t\tpWnd->SetWindowText(szBuffer);\n\t}\n\treturn true;\n}"
  },
  {
    "path": "Project/WispDemo/Source/CtrlPage1.h",
    "content": "#ifndef _CTRL_PAGE1_H_\n#define _CTRL_PAGE1_H_\n\n\nclass CCtrlPage1 : public CWispForm\n{\npublic:\n\tenum WISP_FORM_ID;\n\tstatic WISP_FORM_RES_ITEM m_FormRes[];\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnFormCreate);\n\tCCtrlPage1(){m_pFormRes = m_FormRes;}\n};\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/LocalApp.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LocalApp.h\"\n#include \"resource.h\"\n#include \"MainFrame.h\"\n\nCLocalApp\ttheApp;\n\n#ifdef CODE_OS_WIN\n\nint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n\treturn theApp.WinMainStart(hInstance,lpCmdLine,nCmdShow);\n}\n\n#endif\n\nCLocalApp::CLocalApp(void)\n{\n}\n\nCLocalApp::~CLocalApp(void)\n{\n}\n\nbool CLocalApp::InitInstance()\n{\n\tif(CWispApp::InitInstance()==FALSE)\n\t\treturn false;\n\tm_bHideMouse = true;\n\tm_hIcon = LoadIcon(m_hLocalInst,MAKEINTRESOURCE(IDI_ICON_WISP));\n\tCreateFrame(WSTR(\"Wisp Demo\"),GetSystemMetrics(SM_CXFULLSCREEN)*5/6,GetSystemMetrics(SM_CYFULLSCREEN)*5/6,0);\n\tCMainFrame* pFrameWnd = new CMainFrame;\n\tpFrameWnd->Create(NULL,0,0,m_FrameBuffer.Width,m_FrameBuffer.Height,NULL,WISP_ID_MAIN_FRAME,WISP_WS_NULL);\n\t//TODO:\n\t//\n\treturn true;\n}\n\nint\tCLocalApp::ExitInstance()\n{\n\t//TODO:\n\t//\n\tCMainFrame* pFrameWnd = (CMainFrame*)m_pRootWnd;\n\tpFrameWnd->Destroy();\n\tdelete pFrameWnd;\n\tm_pRootWnd = NULL;\n\tDestroyFrame();\n\treturn CWispApp::ExitInstance();\n}\n"
  },
  {
    "path": "Project/WispDemo/Source/LocalApp.h",
    "content": "#ifndef _LOCALAPP_HEADER_\n#define _LOCALAPP_HEADER_\n\n#include \"MainFrame.h\"\n\nclass CLocalApp : public CWinWisp\n{\npublic:\n\tCLocalApp(void);\n\t~CLocalApp(void);\n\tvirtual bool\tInitInstance();\n\tvirtual int\t\tExitInstance();\n};\n\nextern CLocalApp\ttheApp;\n\n#endif\n\n"
  },
  {
    "path": "Project/WispDemo/Source/M3DView.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"M3DView.h\"\n\nWISP_WIN win;\nWISP_VIEW view;\nVS_3D v0,v1,v2,v3,v4;\nOBJ obj;\nOBJ obj1;\ndouble rl=0;\n\nWISP_MSG_MAP_BEGIN(CM3DView)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\n\tWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\nWISP_MSG_MAP_END(CWispWnd)\n\nCM3DView::CM3DView(void)\n{\n}\n\nCM3DView::~CM3DView(void)\n{\n}\n\nbool CM3DView::OnCreate(IN WISP_MSG*pMsg)\n{\n\n\twin.min_x=-m_ClientRect.cx/2;\n\twin.min_y=-m_ClientRect.cy/2;\n\twin.max_x= m_ClientRect.cx/2-1;\n\twin.max_y= m_ClientRect.cy/2-1;\n\n\tview.dp=200;\n\tview.ox=150;\n\tview.oy=0;\n\tview.oz=100;\n\n\tview.u1=1;\n\tview.u2=0;\n\tview.u3=0,\n\n\tview.v1=0;\n\tview.v2=0;\n\tview.v3=-1;\n\n\tview.w1=0;\n\tview.w2=1;\n\tview.w3=0;\n\n\tv0.x=0;  v0.y=0;  v0.z=0;\n\tv1.x=100;v1.y=0;  v1.z=0;\n\tv2.x=100;v2.y=100;v2.z=0;\n\tv3.x=0;  v3.y=100;v3.z=0;\n\tv4.x=50; v4.y=50; v4.z=100;\n\n\n\tobj.ep=new ES_3D[10];\n\tobj.en=5;\n\n\n\tobj1.ep=new ES_3D[10];\n\tobj1.en=5;\n\n\n\tobj.ep[0].vp[0]=v0; obj.ep[0].vp[1]=v1; obj.ep[0].vp[2]=v4; \n\tobj.ep[0].vn=3;\n\n\tobj.ep[1].vp[0]=v1; obj.ep[1].vp[1]=v2; obj.ep[1].vp[2]=v4; \n\tobj.ep[1].vn=3;\n\n\tobj.ep[2].vp[0]=v2; obj.ep[2].vp[1]=v3; obj.ep[2].vp[2]=v4; \n\tobj.ep[2].vn=3;\n\n\tobj.ep[3].vp[0]=v3; obj.ep[3].vp[1]=v0; obj.ep[3].vp[2]=v4; \n\tobj.ep[3].vn=3;\n\n\tobj.ep[4].vp[0]=v0; obj.ep[4].vp[1]=v1; obj.ep[4].vp[2]=v2;obj.ep[4].vp[3]=v3; \n\tobj.ep[4].vn=4;\n\n\tv0.x+=300;\n\tv1.x+=300;\n\tv2.x+=300;\n\tv3.x+=300;\n\tv4.x+=300;\n\n\tobj1.ep[0].vp[0]=v0; obj1.ep[0].vp[1]=v1; obj1.ep[0].vp[2]=v4; \n\tobj1.ep[0].vn=3;\n\n\tobj1.ep[1].vp[0]=v1; obj1.ep[1].vp[1]=v2; obj1.ep[1].vp[2]=v4; \n\tobj1.ep[1].vn=3;\n\n\tobj1.ep[2].vp[0]=v2; obj1.ep[2].vp[1]=v3; obj1.ep[2].vp[2]=v4; \n\tobj1.ep[2].vn=3;\n\n\tobj1.ep[3].vp[0]=v3; obj1.ep[3].vp[1]=v0; obj1.ep[3].vp[2]=v4; \n\tobj1.ep[3].vn=3;\n\n\tobj1.ep[4].vp[0]=v0; obj1.ep[4].vp[1]=v1; obj1.ep[4].vp[2]=v2;obj1.ep[4].vp[3]=v3; \n\tobj1.ep[4].vn=4;\n\n\trl=0;\n\treturn true;\n}\n\nbool CM3DView::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tdelete obj.ep;\n\tdelete obj1.ep;\n\treturn true;\n}\n\nbool CM3DView::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tWISP_RECT rc;\n\trc = m_ClientRect;\n\trc.x = rc.y = 0;\n\trc.cy/=2;\n\tm_ClientDC.DrawFullRect(&rc,RGB(180,180,255));\n\trc.y+=rc.cy;\n\trc.cy = m_ClientRect.cy - rc.cy;\n\tm_ClientDC.DrawFullRect(&rc,RGB(50,50,50));\n\tdraw_obj(&win,&view,&obj,4,&m_ClientDC);\n\tdraw_obj(&win,&view,&obj1,8,&m_ClientDC);\n\treturn false;\n}\n\nbool CM3DView::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.bKeyDown==false)\n\t\treturn true;\n\t\n\trl=0;\n\tswitch(pMsg->KeyEvent.KeyType)\n\t{\n\tcase WISP_VK_LEFT:\n\t\trl= 0.03;\n\t\tbreak;\n\tcase WISP_VK_RIGHT:\n\t\trl=-0.03;\n\t\tbreak;\n\tcase WISP_VK_UP:\n\t\tview.oy+=10;\n\t\tbreak;\n\tcase WISP_VK_DOWN:\n\t\tview.oy-=10;\n\t\tbreak;\n\tcase WISP_VK_W:\n\t\tview.oz++;\n\t\tbreak;\n\tcase WISP_VK_S:\n\t\tview.oz--;\n\t\tbreak;\n\tcase WISP_VK_A:\n\t\tview.dp++;\n\t\tbreak;\n\tcase WISP_VK_D:\n\t\tview.dp--;\n\t\tbreak;\n\tdefault:\n\t\treturn true;\n\t}\n\tchange_view(&view,(float)rl,0);\n\tUpdate();\n\treturn true;\n}\n\nbool CM3DView::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n"
  },
  {
    "path": "Project/WispDemo/Source/M3DView.h",
    "content": "#ifndef _M3D_VIEW_H_\n#define _M3D_VIEW_H_\n\nclass CM3DView : public CWispWnd\n{\npublic:\n\tCM3DView(void);\n\t~CM3DView(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnMouseMove);\n};\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/MainFrame.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"LocalApp.h\"\n#include \"MainFrame.h\"\n\nenum\n{\n\tMENU_EVENT_ITEM1 = WISP_ID_USER_START,\n\tMENU_EVENT_ITEM2,\n\tMENU_EVENT_ITEM3,\n\tMENU_EVENT_ITEM4,\n\tMENU_EVENT_ITEM5,\n\tMENU_EVENT_ITEM6,\n\tMENU_EVENT_ITEM7,\n\tMENU_EVENT_ITEM8,\n\tMENU_EVENT_ITEM9,\n\tMENU_EVENT_ITEM10,\n\tMENU_EVENT_ITEM11,\n\tMENU_EVENT_ITEM12,\n\tMENU_EVENT_ITEM13,\n\tMENU_EVENT_ITEM14,\n};\n\nWISP_MENU_RES_ITEM PupupMenuRes2[]=\n{\n\t{WSTR(\"Item9\"),MENU_EVENT_ITEM9,-1},\n\t{WSTR(\"Item10\"),MENU_EVENT_ITEM10,-1},\n\t{WSTR(\"Item11\"),MENU_EVENT_ITEM11,-1},\n\t{WSTR(\"Item12\"),MENU_EVENT_ITEM12,-1},\n\t{NULL,0,0,NULL}\n};\n\nWISP_MENU_RES_ITEM PupupMenuRes1[]=\n{\n\t{WSTR(\"Item5\"),\tMENU_EVENT_ITEM5,\t-1,WISP_MIS_NORMAL|WISP_MIS_CHECKBOX|WISP_MIS_CHECKED},\n\t{WSTR(\"Item6\"),\tMENU_EVENT_ITEM6,\t-1,WISP_MIS_NORMAL|WISP_MIS_CHECKBOX},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Item7\"),\tMENU_EVENT_ITEM7,\t-1,WISP_MIS_NORMAL},\n\t{WSTR(\"Item8\"),\tMENU_EVENT_ITEM8,\t-1,WISP_MIS_NORMAL},\n\t{WSTR(\"->\"),\t0,\t\t\t\t\t-1,WISP_MIS_POPUP,PupupMenuRes2},\n\t{NULL,0,0,NULL}\n};\n\nWISP_MENU_RES_ITEM PupupMenuRes[]=\n{\n\t{WSTR(\"Item1\"),\tMENU_EVENT_ITEM1,\t-1},\n\t{WSTR(\"Item2\"),\tMENU_EVENT_ITEM2,\t-1},\n\tWISP_MENU_RES_SEPARATOR,\n\t{WSTR(\"Item3\"),\tMENU_EVENT_ITEM3,\t-1},\n\t{WSTR(\"Item4\"),\tMENU_EVENT_ITEM4,\t-1},\n\t{WSTR(\"Popup Item->\"),0,-1,WISP_MIS_POPUP,PupupMenuRes1},\n\t{NULL,0,0,NULL}\n};\n\nWISP_MSG_MAP_BEGIN(CMainFrame)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\n\tWISP_MSG_MAP(WISP_WM_COMMAND,OnCommand)\n\tWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP_END(CWispWnd)\n\nCMainFrame::CMainFrame(void)\n{\n}\n\nCMainFrame::~CMainFrame(void)\n{\n}\n\nbool CMainFrame::OnCreate(IN WISP_MSG*pMsg)\n{\n\tCWispRect rc;\t\n\t//m_Wnd.Create(WISP_STR(\"Wisp 3D\"),CWispRect(60,60,500,400),this);\n\t//m_Wnd.LoadBKDIB(\"\\\\DlgAbout.bmp\");\n\tm_Toolbar.CreateEx(this,20,0,0,0);\n\tm_CalcWnd.Create(100,100,this);\n\tm_SoftKB.Create(150,400,this);\n\t//m_RippleWnd.Create(WISP_STR(\"Ripple\"),CWispRect(60,60,110+WISP_BORDER_SIZE*2,110+WISP_CAPTION_HEIGHT+WISP_BORDER_SIZE*2),this);\n\t//m_M3DView.Create(WISP_STR(\"Wisp 3D\"),CWispRect(100,100,400,300),this,0,WISP_WS_NULL);\n\tm_MainMenu.CreateWndMenu(this,0,PupupMenuRes);\n\tm_MainTabWnd.Create(WISP_STR(\"All kind of windows in \\\"Wisp GUI System\\\"\"),CWispRect(50,50,500,400),this,0,WISP_WS_NORMAL | WISP_TWS_BUTTOM);\n\tm_MainTabWnd.SetActiveWnd(0);\n\tm_PopupMenu.CreatePopupMenu(PupupMenuRes,this);\n//\tm_DisplayWnd.Create(WSTR(\"CHAR\"),10,10,200,200);\n\tm_ProgressForm.CreateForm();\n\tm_ProgressForm.m_pProgessCtrl->SetStep(10);\n\tm_ProgressForm.m_pProgessCtrl->StepIt();\n\tm_ProgressForm.m_pProgessCtrl->StepIt();\n\tm_ProgressForm.m_pProgessCtrl->StepIt();\n\treturn true;\n}\n\nbool CMainFrame::OnCommand(IN WISP_MSG*pMsg)\n{\n\treturn true;\n}\n\nbool CMainFrame::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_PopupMenu.Destroy();\n\treturn true;\n}\n\nbool CMainFrame::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\n\treturn true;\n}\n\n\n\n"
  },
  {
    "path": "Project/WispDemo/Source/MainFrame.h",
    "content": "#ifndef _MAIN_FRAME_H_\n#define _MAIN_FRAME_H_\n\n#include \"MainTabWnd.h\"\n#include \"RippleWnd.h\"\n#include \"M3DView.h\"\n\n\nclass CMainFrame : public CWispWnd\n{\npublic:\n\tCMainFrame(void);\n\t~CMainFrame(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate)\n\tDECLARE_WISP_MSG(OnDestroy)\n\tDECLARE_WISP_MSG(OnCommand)\n\tDECLARE_WISP_MSG(OnKeyEvent)\n\tCWispToolbar\tm_Toolbar;\n\tCMainTabWnd\t\tm_MainTabWnd;\n\tCWispCalcWnd\tm_CalcWnd;\n\tCWispSoftKeyboard m_SoftKB;\n\tCRippleWnd\t\tm_RippleWnd;\n\tCM3DView\t\tm_M3DView;\n\tCWispTaskPanel\tm_TaskPanel;\n\tCWispMenu\t\tm_PopupMenu;\n\tCWispMenu\t\tm_MainMenu;\n\tCWispProgressForm\tm_ProgressForm;\n};\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/MainTabWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"MainTabWnd.h\"\n\nWISP_MSG_MAP_BEGIN(CMainTabWnd)\n\tWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\n\tWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP_END(CWispTabWnd)\n\nCMainTabWnd::CMainTabWnd(void)\n{\n}\n\nCMainTabWnd::~CMainTabWnd(void)\n{\n}\n\nbool CMainTabWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tm_RGBSelect.CreateForm();\n\tm_CtrlPage1.CreateForm(this);\n\tm_ConsoleWnd.Create(NULL,CWispRect(0,0,400,300),this,MAIN_TAB_CONSOLE,WISP_WS_NULL,WISP_SH_NORMAL);\n\tm_DataWnd.Create(NULL,CWispRect(200,200,400,300),this,MAIN_TAB_CODE_WND,WISP_WS_NULL,WISP_SH_NORMAL);\n\t//InsertWnd(WISP_STR(\"RGB\"),&m_RGBSelect);\n\tInsertWnd(WISP_STR(\"Control\"),&m_CtrlPage1);\n\tInsertWnd(WISP_STR(\"Console\"),&m_ConsoleWnd);\n\tInsertWnd(WISP_STR(\"Code\"),&m_DataWnd);\n\tm_ConsoleWnd.Printf(WSTR(\"%<B>Wisp%<1>ƽ̨޹ͼϵͳ\\n\"));\n\treturn TRUE;\n}\n\nbool CMainTabWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_TabDIB.Destroy();\n\treturn true;\n}"
  },
  {
    "path": "Project/WispDemo/Source/MainTabWnd.h",
    "content": "#ifndef _MAIN_TAB_WND_H_\n#define _MAIN_TAB_WND_H_\n\n#include \"CtrlPage1.h\"\n\nenum MAIN_TAB_WND_IDX\n{\n\tMAIN_TAB_CONTROL = 0,\n\tMAIN_TAB_CONSOLE,\n\tMAIN_TAB_CODE_WND,\n\tMAIN_TAB_FILE_WND\n};\n\nclass CMainTabWnd : public CWispTabWnd\n{\npublic:\n\tCMainTabWnd(void);\n\t~CMainTabWnd(void);\npublic:\n\tCWispRGBSelect\tm_RGBSelect;\n\tCWispConsoleWnd\tm_ConsoleWnd;\n\tCCtrlPage1\t\tm_CtrlPage1;\n\tCWispHexWnd\t\tm_DataWnd;\n\tCWispDIB\t\tm_TabDIB;\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tbool\t\tOnCreate(IN WISP_MSG*pMsg);\n\tbool\t\tOnDestroy(IN WISP_MSG*pMsg);\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/RippleWnd.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"RippleWnd.h\"\n\n\nWISP_MSG_MAP_BEGIN(CRippleWnd)\nWISP_MSG_MAP(WISP_WM_CREATE,OnCreate)\nWISP_MSG_MAP(WISP_WM_DESTROY,OnDestroy)\nWISP_MSG_MAP(WISP_WM_UPDATE_CLIENT,OnUpdateClient)\nWISP_MSG_MAP(WISP_WM_KEY_EVENT,OnKeyEvent)\nWISP_MSG_MAP(WISP_WM_MOUSE_MOVE,OnMouseMove)\nWISP_MSG_MAP(WISP_WM_TIMER,OnTimer)\nWISP_MSG_MAP_END(CWispWnd)\n\nCRippleWnd::CRippleWnd(void)\n{\n}\n\nCRippleWnd::~CRippleWnd(void)\n{\n\n}\n\nbool CRippleWnd::OnCreate(IN WISP_MSG*pMsg)\n{\n\tCWispDIB DIB;\n\tDIB.Load(\"\\\\Toolbar.bmp\");\n\tDIB.SetType(WISP_DIB_BITMAP);\n\tm_OrgDIB.Create(DIB.m_Rect.cx,DIB.m_Rect.cy);\n\tm_RippleDIB.Create(DIB.m_Rect.cx,DIB.m_Rect.cy);\n\tDIB.BltTiled(&m_OrgDIB);\n\tDIB.BltTiled(&m_RippleDIB);\n\tm_Ripple.InitRipple(DIB.m_Rect.cx,DIB.m_Rect.cy,32);\n\tDIB.Destroy();\n\tResize(DIB.m_Rect.cx,DIB.m_Rect.cy);\n\treturn true;\n}\n\nbool CRippleWnd::OnDestroy(IN WISP_MSG*pMsg)\n{\n\tm_OrgDIB.Destroy();\n\tm_RippleDIB.Destroy();\n\tm_Ripple.CleanRippleData();\n\treturn true;\n}\n\nbool CRippleWnd::OnUpdateClient(IN WISP_MSG*pMsg)\n{\n\tm_Ripple.RenderRipple(m_OrgDIB.m_FrameBuffer.Buffer,m_RippleDIB.m_FrameBuffer.Buffer);\n\tm_ClientDC.DrawDIBTiled(&m_RippleDIB);\n\treturn false;\n}\n\nbool CRippleWnd::OnKeyEvent(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->KeyEvent.KeyType == WISP_VK_LBUTTON && pMsg->KeyEvent.bKeyDown==false)\n\t{\n\t\tm_Ripple.DropStone(pMsg->MsgMouseWndPT.x-m_ClientRect.x,pMsg->MsgMouseWndPT.y-m_ClientRect.y,3,128);\n\t\tInsertTimer(0,20,0,0);\n\t}\n\treturn true;\n}\n\nbool CRippleWnd::OnMouseMove(IN WISP_MSG*pMsg)\n{\n\tif(pMsg->bMsgLBTDown)\n\t{\n\t\tm_Ripple.DropStone(pMsg->MsgMouseWndPT.x-m_ClientRect.x,pMsg->MsgMouseWndPT.y-m_ClientRect.y,3,80);\n\t}\n\treturn true;\n}\n\nbool CRippleWnd::OnTimer(IN WISP_MSG*pMsg)\n{\n\tif(m_Ripple.RippleSpread())\n\t\tUpdate();\n\telse\n\t\tRemoveTimer((UINT)0);\n\treturn true;\n}\n\n\n"
  },
  {
    "path": "Project/WispDemo/Source/RippleWnd.h",
    "content": "#ifndef _RIPPLE_WND_H_\n#define _RIPPLE_WND_H_\n\n\nclass CRippleWnd : public CWispWnd\n{\npublic:\n\tCRippleWnd(void);\n\t~CRippleWnd(void);\npublic:\n\tDECLARE_WISP_MSG_MAP\n\tDECLARE_WISP_MSG(OnCreate);\n\tDECLARE_WISP_MSG(OnDestroy);\n\tDECLARE_WISP_MSG(OnUpdateClient);\n\tDECLARE_WISP_MSG(OnKeyEvent);\n\tDECLARE_WISP_MSG(OnTimer);\n\tDECLARE_WISP_MSG(OnMouseMove);\npublic:\n\tCWispDIB\tm_OrgDIB;\n\tCWispDIB\tm_RippleDIB;\n\tCRipple\t\tm_Ripple;\n};\n\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/SdlBase.cpp",
    "content": "#include \"StdAfx.h\"\n#include \"SdlBase.h\"\n#include \"LocalApp.h\"\n#include <signal.h>\n\tCLocalBase\tLocalBase;\ntypedef void (*TimerCallBack)(int);\nint SetTimer(int nTime, TimerCallBack cb)\n{\n\tstruct itimerval iValue,oValue;\n\tstruct sigaction siga;\n\tsiga.sa_handler=cb;\n\tsiga.sa_flags=0;\n\tmemset(&siga.sa_mask,0,sizeof(sigset_t));\n\tsigaction(SIGALRM,&siga,0);\n\n\tiValue.it_value.tv_sec=0;\n\tiValue.it_value.tv_usec=nTime;\n\tiValue.it_interval.tv_sec=0;\n\tiValue.it_interval.tv_usec=nTime;\n\tsetitimer(ITIMER_REAL,&iValue,&oValue);\n\treturn 0;\n}\n\nvoid OnTimer(int i)\n{\n\tLocalBase.OnTimer(50);\n}\nint  main(int argc,char *argv[])\n{\n\tbool bExit;\n\tSDL_Event Event;\n\tpthread_t pid,scanvirus;\n\tvoid *retval;\n\n\tLocalBase.AttachApp(&theApp);\n\tif(theApp.InitInstance()==FALSE)\n\t\treturn 0;\n\tpid = (pthread_t)CreateThread(CLocalBase::WispMsgThread);\n\tSetTimer(50000,OnTimer);\n\tbExit=FALSE;\n\twhile(!bExit)\n\t{\n\t\tif(SDL_WaitEvent(&Event))\n\t\t{\n\t\t\tswitch (Event.type)\n\t\t\t{\n\t\t\tcase SDL_MOUSEBUTTONDOWN:\n\t\t\t\tLocalBase.OnKeyEvent(WISP_VK_LBUTTON,TRUE);\n\t\t\t\tbreak;\n\t\t\tcase SDL_MOUSEBUTTONUP:\n\t\t\t\tLocalBase.OnKeyEvent(WISP_VK_LBUTTON,FALSE);\n\t\t\t\tbreak;\n\t\t\tcase SDL_MOUSEMOTION:\n\t\t\t\tLocalBase.OnMousePosChg(Event.motion.x, Event.motion.y);\n\t\t\t\tbreak;\n\t\t\tcase SDL_KEYDOWN:\n\t\t\t\t{\n\t\t\t\t\tif(Event.key.keysym.sym == WISP_VK_ESCAPE)\n\t\t\t\t\t{\n\t\t\t\t\t\tLocalBase.OnKeyEvent(WISP_VK_ESCAPE,TRUE);\n\n\t\t\t\t\t\tbExit = TRUE;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\t\t\t\n\t\t}\n\t}\n\n\treturn \ttheApp.ExitInstance();\n}\n\nCLocalBase::CLocalBase(void)\n{\n\tm_SleepStat = FALSE;\n}\n\nCLocalBase::~CLocalBase(void)\n{\n}\n\nbool CLocalBase::Init()\n{\t\n\tWISP_SCREEN_INFO ScrInfo;\n\tif(CWispBase::Init()==FALSE)\n\t\treturn FALSE;\n\tSDL_Init(SDL_INIT_VIDEO);\n\n\tif(GetSupportMode(WISP_MODE_640X480X32,&ScrInfo)==FALSE)\n\t\treturn FALSE;\n\n\treturn SetScreenMode(&ScrInfo);\n}\n\n\nvoid CLocalBase::Release()\n{\n\tSDL_Quit();\n\treturn CWispBase::Release();\n}\n\n//////////////////////////////////////////////////////////\n//ʾģʽ\n//////////////////////////////////////////////////////////\nbool CLocalBase::SetScreenMode(IN WISP_SCREEN_INFO*pInfo)\n{\n\tWISP_SCREEN_INFO Info;\n\tm_pScreen = SDL_SetVideoMode(pInfo->ScreenWidth, pInfo->ScreenHeight, pInfo->Bpp, SDL_SWSURFACE);\n\tif(m_pScreen == NULL)\n\t\treturn FALSE;\n\tprintf(\"SetScreenMod\\n\");\n\tfflush(stdout);\n\tInfo=*pInfo;\n\tSDL_ShowCursor(FALSE);\n\tInfo.Bpp=m_pScreen->format->BytesPerPixel * 8;\n\tInfo.LineDistance = m_pScreen->pitch;\n\tInfo.ScreenWidth=m_pScreen->w;\n\tInfo.ScreenHeight=m_pScreen->h;\n\tInfo.VideoBuffer=m_pScreen->pixels;\n\treturn CWispBase::SetScreenMode(&Info);\n}\n\n\nbool CLocalBase::BeginDraw()\n{\n\tif(SDL_MUSTLOCK(m_pScreen))\n\t\tif(SDL_LockSurface(m_pScreen) < 0)\n\t\t\treturn FALSE;\n\treturn TRUE;\n}\n\nbool CLocalBase::EndDraw()\n{\n\tif(SDL_MUSTLOCK(m_pScreen))\n\t\tSDL_UnlockSurface(m_pScreen);\n\tSDL_UpdateRect(m_pScreen, 0,0,m_pScreen->w,m_pScreen->h);\n\treturn TRUE;\n}\n\n//////////////////////////////////////////////////////////\n// Message thread\n//////////////////////////////////////////////////////////\nbool CLocalBase::InitMsgThread()\n{\t\n\tpthread_mutex_init(&m_ThreadLock,NULL);\n\tpthread_cond_init(&m_MsgNull,NULL);\n\treturn TRUE;\n}\n\nbool CLocalBase::WakeUpMsgThread()\n{\n\tif(m_SleepStat)\n\tpthread_cond_signal(&m_MsgNull);\n\treturn TRUE;\n}\n\nbool CLocalBase::SleepMsgThread()\n{\n\tpthread_mutex_lock(&m_ThreadLock);\n\tm_SleepStat = TRUE;\n\tpthread_cond_wait(&m_MsgNull,&m_ThreadLock);\n\tm_SleepStat = FALSE;\n\tpthread_mutex_unlock(&m_ThreadLock);\n\treturn TRUE;\n}\n\nvoid CLocalBase::ExitMsgThread()\n{\n}\n\nvoid CLocalBase::WispMsgThread()\n{\n\tprintf(\"TheApp.Run()\\n\");\n\tfflush(stdout);\n\ttheApp.Run();\n}\n\n\n"
  },
  {
    "path": "Project/WispDemo/Source/SdlBase.h",
    "content": "#ifndef _LOCAL_BASE_\n#define _LOCAL_BASE_\n#include <SDL/SDL.h>\nclass CLocalBase : public CWispBase\n{\npublic:\n\tSDL_Surface*m_pScreen;\n\tpthread_mutex_t \tm_ThreadLock;\n\tpthread_cond_t\t\tm_MsgNull;\n\tbool\t\t\t\tm_SleepStat;\npublic:\n\tCLocalBase(void);\n\t~CLocalBase(void);\n\tbool\tInit();\n\tvoid\tRelease();\n\n\tbool\tSetScreenMode(IN WISP_SCREEN_INFO*pInfo);\n\tbool\tBeginDraw();\n\tbool\tEndDraw();\n\n\tbool\tInitMsgThread();\n\tbool\tWakeUpMsgThread();\n\tbool\tSleepMsgThread();\n\tvoid\tExitMsgThread();\n\n\tbool\tCreateLocalWindow();\n\n\tstatic void WispMsgThread();\n\n};\n\n#endif /* _LOCAL_BASE_ */\n"
  },
  {
    "path": "Project/WispDemo/Source/StdAfx.cpp",
    "content": "#include \"StdAfx.h\"\n\n"
  },
  {
    "path": "Project/WispDemo/Source/StdAfx.h",
    "content": "#ifndef _STDAFX_H_\n#define _STDAFX_H_\n\n#include \"../../Code/Source/Code.h\"\n#include \"../../Wisp/Source/Wisp.h\"\n\n#ifdef CODE_OS_WIN\n#include \"../../WinWisp/Source/WinWisp.h\"\n#endif\n#ifdef CODE_OS_UNIX\n#include \"SdlBase.h\"\n#endif\n\n\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Source/WispDemo.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (P.R.C.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\n#ifdef _WIN32\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n#endif //_WIN32\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\nIDI_ICON_WISP           ICON                    \"res\\\\Wisp.ico\"\n\n\n\n#endif    // Chinese (P.R.C.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (U.S.) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\n#ifdef _WIN32\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n#endif //_WIN32\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"#include \"\"WispDemo.rc2\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (U.S.) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n#include \"WispDemo.rc2\"\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "Project/WispDemo/Source/WispDemo.rc2",
    "content": "#ifdef APSTUDIO_INVOKED\n#error ļ Microsoft Visual C++ ༭\n#endif //APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n// ڴ˴ֶ༭Դ...\n\n/////////////////////////////////////////////////////////////////////////////\n#include <winver.h>\n#include \"../../../Addition/SyserDebugger/SyserVersion.h\"\n\n#define VER_FILETYPE                VFT_APP\n#define VER_FILESUBTYPE             0x8L\n#define VER_FILEDESCRIPTION_STR     \"WispDemo\"\n#define VER_INTERNALNAME_STR        \"WispDemo\"  \n#define VER_ORIGINALFILENAME_STR    \"WispDemo.exe\"                             \n\n#define VER_VERSION_UNICODE_LANG  \"040904B0\" \n#define VER_VERSION_TRANSLATION   0x0409, 0x04B0\n\n\nVS_VERSION_INFO VERSIONINFO\nFILEVERSION    VER_FILEVERSION\nPRODUCTVERSION VER_PRODUCTVERSION\nFILEFLAGSMASK  VER_FILEFLAGSMASK\nFILEFLAGS      VER_FILEFLAGS\nFILEOS         VER_FILEOS\nFILETYPE       VER_FILETYPE\nFILESUBTYPE    VER_FILESUBTYPE\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK VER_VERSION_UNICODE_LANG\n        BEGIN\n\tVALUE \"Comments\",\t\t\"\"\n            VALUE \"CompanyName\",     VER_COMPANYNAME_STR\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR \n            VALUE \"FileVersion\",     VER_FILEVERSION_STR \n            VALUE \"InternalName\",    VER_INTERNALNAME_STR\n            VALUE \"LegalCopyright\",  VER_LEGALCOPYRIGHT_STR\n\t\t\tVALUE \"LegalTrademarks\", VER_LEGALTRADEMARKS_STR\n            VALUE \"OriginalFilename\",VER_ORIGINALFILENAME_STR\n            VALUE \"ProductName\",     VER_PRODUCTNAME_STR\n            VALUE \"ProductVersion\",  VER_PRODUCTVERSION_STR\n\t\tVALUE \"SpecialBuild\",\tVER_SPECIALBUILD_INFO\n\t\tVALUE \"PrivateBuild\",\t\"\"\n        END\n    END\n\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", VER_VERSION_TRANSLATION\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n"
  },
  {
    "path": "Project/WispDemo/Source/resource.h",
    "content": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by WispDemo.rc\n//\n#define IDI_ICON_WISP                   101\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NEXT_RESOURCE_VALUE        104\n#define _APS_NEXT_COMMAND_VALUE         40001\n#define _APS_NEXT_CONTROL_VALUE         1001\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "Project/WispDemo/Win32/WispDemo.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WispDemo\", \"WispDemo.vcproj\", \"{7DC90384-F467-4EFB-AD17-492D433C8FE0}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E} = {142E5B2E-BB1F-42A2-B357-81F97F85F86E}\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Code\", \"..\\..\\Code\\Win32\\Code.vcproj\", \"{E50360C3-A8D9-4582-A0B8-0F8F88467113}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"WinWisp\", \"..\\..\\WinWisp\\Win32\\WinWisp.vcproj\", \"{142E5B2E-BB1F-42A2-B357-81F97F85F86E}\"\n\tProjectSection(ProjectDependencies) = postProject\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113} = {E50360C3-A8D9-4582-A0B8-0F8F88467113}\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84} = {D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\n\tEndProjectSection\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Wisp\", \"..\\..\\Wisp\\Win32\\Wisp.vcproj\", \"{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\t\tTrial|Win32 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Release|Win32.Build.0 = Release|Win32\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Trial|Win32.ActiveCfg = Release|Win32\n\t\t{7DC90384-F467-4EFB-AD17-492D433C8FE0}.Trial|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Release|Win32.Build.0 = Release|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{E50360C3-A8D9-4582-A0B8-0F8F88467113}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Release|Win32.Build.0 = Release|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{142E5B2E-BB1F-42A2-B357-81F97F85F86E}.Trial|Win32.Build.0 = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Release|Win32.Build.0 = Release|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.ActiveCfg = Trial|Win32\n\t\t{D3A470E1-DBD8-4CCB-BBB4-46842D343F84}.Trial|Win32.Build.0 = Trial|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/WispDemo/Win32/WispDemo.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"WispDemo\"\n\tProjectGUID=\"{7DC90384-F467-4EFB-AD17-492D433C8FE0}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_WINDOWS\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/WispDemoD.exe\"\n\t\t\t\tLinkIncremental=\"2\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tProgramDatabaseFile=\"$(OutDir)/WispDemo.pdb\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"1\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"2\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_WINDOWS\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tUsePrecompiledHeader=\"2\"\n\t\t\t\tWarningLevel=\"3\"\n\t\t\t\tDetect64BitPortabilityProblems=\"true\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLinkerTool\"\n\t\t\t\tOutputFile=\"../../../Bin/i386/WispDemo.exe\"\n\t\t\t\tLinkIncremental=\"1\"\n\t\t\t\tGenerateDebugInformation=\"true\"\n\t\t\t\tSubSystem=\"2\"\n\t\t\t\tOptimizeReferences=\"2\"\n\t\t\t\tEnableCOMDATFolding=\"2\"\n\t\t\t\tRandomizedBaseAddress=\"1\"\n\t\t\t\tDataExecutionPrevention=\"0\"\n\t\t\t\tTargetMachine=\"1\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManifestTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCAppVerifierTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Source Files\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CtrlPage1.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LocalApp.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\M3DView.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainTabWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RippleWnd.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Release|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tUsePrecompiledHeader=\"1\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\WispDemo.rc\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Header Files\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\CtrlPage1.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Display.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\LocalApp.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\M3DView.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainFrame.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\MainTabWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\resource.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\RippleWnd.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\StdAfx.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"Resource Files\"\n\t\t\tFilter=\"rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx\"\n\t\t\tUniqueIdentifier=\"{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\Res\\Wisp.ico\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "Project/WispDemo/excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "Project/WispDemo/incfile.txt",
    "content": ""
  },
  {
    "path": "Project/WispDemo/rarex.bat",
    "content": "@echo off\nfor %%d in (.) do set CurrentFolder=%%~nd\nif exist excfile.txt set ExcFileSwitch=-x@excfile.txt\n\"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %ExcFileSwitch% %CurrentFolder%.rar *.*\nif exist incfile.txt \"%ProgramFiles%\\winrar\\winrar.exe\" a -o+ -r -ed %CurrentFolder%.rar @incfile.txt\nset CurrentFolder=\n\n"
  },
  {
    "path": "Project/fpu/Source/control_w.h",
    "content": "/*---------------------------------------------------------------------------+\n |  control_w.h                                                              |\n |  $Id: control_w.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1993                                                   |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _CONTROLW_H_\n#define _CONTROLW_H_\n\n#ifdef __ASSEMBLY__\n#define\t_Const_(x)\t$##x\n#else\n#define\t_Const_(x)\tx\n#endif\n\n#define CW_RC\t\t_Const_(0x0C00)\t/* rounding control */\n#define CW_PC\t\t_Const_(0x0300)\t/* precision control */\n\n#define CW_Precision\tConst_(0x0020)\t/* loss of precision mask */\n#define CW_Underflow\tConst_(0x0010)\t/* underflow mask */\n#define CW_Overflow\tConst_(0x0008)\t/* overflow mask */\n#define CW_ZeroDiv\tConst_(0x0004)\t/* divide by zero mask */\n#define CW_Denormal\tConst_(0x0002)\t/* denormalized operand mask */\n#define CW_Invalid\tConst_(0x0001)\t/* invalid operation mask */\n\n#define CW_Exceptions  \t_Const_(0x003f)\t/* all masks */\n\n#define RC_RND\t\t_Const_(0x0000)\n#define RC_DOWN\t\t_Const_(0x0400)\n#define RC_UP\t\t_Const_(0x0800)\n#define RC_CHOP\t\t_Const_(0x0C00)\n\n/* p 15-5: Precision control bits affect only the following:\n   ADD, SUB(R), MUL, DIV(R), and SQRT */\n#define PR_24_BITS        _Const_(0x000)\n#define PR_53_BITS        _Const_(0x200)\n#define PR_64_BITS        _Const_(0x300)\n#define PR_RESERVED_BITS  _Const_(0x100)\n/* FULL_PRECISION simulates all exceptions masked */\n#define FULL_PRECISION  (PR_64_BITS | RC_RND | 0x3f)\n\n#endif /* _CONTROLW_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/div_Xsig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  div_Xsig.S                                                               |\n |  $Id: div_Xsig.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Division subroutine for 96 bit quantities                                 |\n |                                                                           |\n | Copyright (C) 1994,1995,1999                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | Divide the 96 bit quantity pointed to by a, by that pointed to by b, and  |\n | put the 96 bit result at the location d.                                  |\n |                                                                           |\n | The result may not be accurate to 96 bits. It is intended for use where   |\n | a result better than 64 bits is required. The result should usually be    |\n | good to at least 94 bits.                                                 |\n | The returned result is actually divided by one half. This is done to      |\n | prevent overflow.                                                         |\n |                                                                           |\n |  .aaaaaaaaaaaaaa / .bbbbbbbbbbbbb  ->  .dddddddddddd                      |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"poly.h\"\n\n\nvoid div_Xsig(current_i387_definefunyuan_   const Xsig *aa, const Xsig *b, Xsig *dest)\n{\n  Xsig a = *aa, xpr, result;\n  u32  prodh, prodl, den, wd;\n  u64  num, prod;\n\n#ifdef PARANOID\n  if ( (b->msw & 0x80000000) == 0 )\n    {\n      EXCEPTION(EX_INTERNAL|0x240);\n      return;\n    }\n#endif\n\n  /* Shift a right */\n  a.lsw >>= 1;\n  if ( a.midw & 1 )\n    a.lsw |= 0x80000000;\n  a.midw >>= 1;\n  if ( a.msw & 1 )\n    a.midw |= 0x80000000;\n  a.msw >>= 1;\n\n  num = a.msw;\n  num <<= 32;\n  num |= a.midw;\n\n  den = b->msw + 1;\n  if ( den )\n    {\n      result.msw = (u32)(num / den);\n    }\n  else\n    result.msw = a.msw;\n\n  xpr = *b;\n  mul32_Xsig(&xpr, result.msw);\n  a.msw -= xpr.msw;\n  wd = a.midw;\n  a.midw -= xpr.midw;\n  if ( a.midw > wd )\n    a.msw --;\n  wd = a.lsw;\n  a.lsw -= xpr.lsw;\n  if ( a.lsw > wd )\n    {\n      a.midw --;\n      if ( a.midw == 0xffffffff )\n\ta.msw --;\n    }\n\n#ifdef PARANOID\n      if ( a.msw > 1 )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x241);\n\t}\n#endif\n\n  while ( (a.msw != 0) || (a.midw > b->msw) )\n    {\n      wd = a.midw;\n      a.midw -= b->msw;\n      if ( a.midw > wd )\n\ta.msw --;\n      wd = a.lsw;\n      a.lsw -= b->midw;\n      if ( a.lsw > wd )\n\t{\n\t  a.midw --;\n\t  if ( a.midw == 0xffffffff )\n\t    a.msw --;\n\t}\n      result.msw ++;\n    }\n\n  /* Whew! result.msw is now done. */\n\n  num = a.midw;\n  num <<= 32;\n  num |= a.lsw;\n\n  if ( den )\n    {\n      result.midw = (u32)(num / den);\n    }\n  else\n    result.midw = a.midw;\n\n  prod = result.midw;\n  prod *= b->msw;\n  a.midw -= (u32)(prod >> 32);\n  prodl = (u32)prod;\n  wd = a.lsw;\n  a.lsw -= prodl;\n  if ( a.lsw > wd )\n    a.midw --;\n\n  prod = result.midw;\n  prod *= b->midw;\n  prodh = (u32)(prod >> 32);\n  wd = a.lsw;\n  a.lsw -= prodh;\n  if ( a.lsw > wd )\n    a.midw --;\n\n#ifdef PARANOID\n      if ( a.midw > 1 )\n\t{\n          EXCEPTION(EX_INTERNAL|0x242);\n\t}\n#endif\n\n  while ( (a.midw != 0) || (a.lsw > b->msw) )\n    {\n      wd = a.lsw;\n      a.lsw -= b->msw;\n      if ( a.lsw > wd )\n\ta.midw --;\n      result.midw ++;\n    }\n\n\n  /* Now result.msw is done, the lsw is next... */\n\n  num = a.lsw;\n  num <<= 32;\n\n  if ( den )\n    {\n      result.lsw = (u32)(num / den);\n    }\n  else\n    result.lsw = a.lsw;\n\n  prod = result.lsw;\n  prod *= b->msw;\n  a.lsw -= (u32)(prod >> 32);\n\n#ifdef PARANOID\n  if ( a.lsw > 2 )\n    {\n      EXCEPTION(EX_INTERNAL|0x243);\n    }\n#endif\n\n  result.lsw -= a.lsw;\n\n  /* Hey! we're done. */\n\n  *dest = result;\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/div_small.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  div_small.S                                                              |\n |  $Id: div_small.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Divide a 64 bit integer by a 32 bit integer & return remainder.           |\n |                                                                           |\n | Copyright (C) 1992,1995,1999                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n\nu32 FPU_div_small(current_i387_definefunyuan_   u64 *x, u32 y)\n{\n  u32 retval;\n\n  retval = (u32)(*x % y);\n\n  *x /= y;\n\n  return retval;\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/errors.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  errors.c                                                                 |\n |  $Id: errors.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |  The error handling functions for wm-FPU-emu                              |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1996                                         |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@jacobi.maths.monash.edu.au                |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | Note:                                                                     |\n |    The file contains code which accesses user memory.                     |\n |    Emulator static data may change when user memory is accessed, due to   |\n |    other processes using the emulator while swapping is in progress.      |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include <linux/signal.h>\n#include <asm/uaccess.h>\n#include <stdio.h>\n\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"status_w.h\"\n#include \"control_w.h\"\n#include \"reg_constant.h\"\n#include \"version.h\"\n\n/* */\n#undef PRINT_MESSAGES\n/* */\n\n\n#ifndef USE_WITH_CPU_SIM\nvoid Un_impl(current_i387_definefunyuan_void)\n{\n  u_char byte1, FPU_modrm;\n  u32 address = FPU_ORIG_EIP;\n\n  RE_ENTRANT_CHECK_OFF;\n  /* No need to verify_area(), we have previously fetched these bytes. */\n  fpu_printk(\"Unimplemented FPU Opcode at eip=%p : \", (void *) address);\n  if ( FPU_CS == __USER_CS )\n    {\n      while ( 1 )\n\t{\n\t  FPU_get_user(byte1, (u_char *) address);\n\t  if ( (byte1 & 0xf8) == 0xd8 ) break;\n\t  fpu_printk(\"[%02x]\", byte1);\n\t  address++;\n\t}\n      fpu_printk(\"%02x \", byte1);\n      FPU_get_user(FPU_modrm, 1 + (u_char *) address);\n      \n      if (FPU_modrm >= 0300)\n\tfpu_printk(\"%02x (%02x+%d)\\n\", FPU_modrm, FPU_modrm & 0xf8, FPU_modrm & 7);\n      else\n\tfpu_printk(\"/%d\\n\", (FPU_modrm >> 3) & 7);\n    }\n  else\n    {\n      fpu_printk(\"cs selector = %04x\\n\", FPU_CS);\n    }\n\n  RE_ENTRANT_CHECK_ON;\n\n  EXCEPTION(EX_Invalid);\n\n}\n#endif\n\n\n/*\n   Called for opcodes which are illegal and which are known to result in a\n   SIGILL with a real 80486.\n   */\nvoid FPU_illegal(current_i387_definefunyuan_void)\n{\n  math_abort(current_i387_yuan_   FPU_info,SIGILL);\n}\n\n\n\n#ifndef USE_WITH_CPU_SIM\nvoid FPU_printall(current_i387_definefunyuan_void)\n{\n  int i;\n  static const char *tag_desc[] = { \"Valid\", \"Zero\", \"ERROR\", \"Empty\",\n                              \"DeNorm\", \"Inf\", \"NaN\" };\n  u_char byte1, FPU_modrm;\n  u32 address = FPU_ORIG_EIP;\n\n  RE_ENTRANT_CHECK_OFF;\n  /* No need to verify_area(), we have previously fetched these bytes. */\n  fpu_printk(\"At %p:\", (void *) address);\n  if ( FPU_CS == __USER_CS )\n    {\n#define MAX_PRINTED_BYTES 20\n      for ( i = 0; i < MAX_PRINTED_BYTES; i++ )\n\t{\n\t  FPU_get_user(byte1, (u_char *) address);\n\t  if ( (byte1 & 0xf8) == 0xd8 )\n\t    {\n\t      fpu_printk(\" %02x\", byte1);\n\t      break;\n\t    }\n\t  fpu_printk(\" [%02x]\", byte1);\n\t  address++;\n\t}\n      if ( i == MAX_PRINTED_BYTES )\n\tfpu_printk(\" [more..]\\n\");\n      else\n\t{\n\t  FPU_get_user(FPU_modrm, 1 + (u_char *) address);\n\t  \n\t  if (FPU_modrm >= 0300)\n\t    fpu_printk(\" %02x (%02x+%d)\\n\", FPU_modrm, FPU_modrm & 0xf8, FPU_modrm & 7);\n\t  else\n\t    fpu_printk(\" /%d, mod=%d rm=%d\\n\",\n\t\t   (FPU_modrm >> 3) & 7, (FPU_modrm >> 6) & 3, FPU_modrm & 7);\n\t}\n    }\n  else\n    {\n      fpu_printk(\"%04x\\n\", FPU_CS);\n    }\n\n  partial_status = status_word();\n\n\n  fpu_printk(\" SW: b=%d st=%ld es=%d sf=%d cc=%d%d%d%d ef=%d%d%d%d%d%d\\n\",\n\t partial_status & 0x8000 ? 1 : 0,   /* busy */\n\t (partial_status & 0x3800) >> 11,   /* stack top pointer */\n\t partial_status & 0x80 ? 1 : 0,     /* Error summary status */\n\t partial_status & 0x40 ? 1 : 0,     /* Stack flag */\n\t partial_status & SW_C3?1:0, partial_status & SW_C2?1:0, /* cc */\n\t partial_status & SW_C1?1:0, partial_status & SW_C0?1:0, /* cc */\n\t partial_status & SW_Precision?1:0, partial_status & SW_Underflow?1:0,\n\t partial_status & SW_Overflow?1:0, partial_status & SW_Zero_Div?1:0,\n\t partial_status & SW_Denorm_Op?1:0, partial_status & SW_Invalid?1:0);\n  \nfpu_printk(\" CW: ic=%d rc=%ld%ld pc=%ld%ld iem=%d     ef=%d%d%d%d%d%d\\n\",\n\t control_word & 0x1000 ? 1 : 0,\n\t (control_word & 0x800) >> 11, (control_word & 0x400) >> 10,\n\t (control_word & 0x200) >> 9, (control_word & 0x100) >> 8,\n\t control_word & 0x80 ? 1 : 0,\n\t control_word & SW_Precision?1:0, control_word & SW_Underflow?1:0,\n\t control_word & SW_Overflow?1:0, control_word & SW_Zero_Div?1:0,\n\t control_word & SW_Denorm_Op?1:0, control_word & SW_Invalid?1:0);\n\n  for ( i = 0; i < 8; i++ )\n    {\n      FPU_REG *r = &st(i);\n      u_char tagi = FPU_gettagi(current_i387_yuan_   i);\n      switch (tagi)\n\t{\n\tcase TAG_Empty:\n\t  continue;\n\t  break;\n\tcase TAG_Zero:\n\tcase TAG_Special:\n\t  tagi = FPU_Special(current_i387_yuan_   r);\n\tcase TAG_Valid:\n\t  fpu_printk(\"st(%d)  %c .%04lx %04lx %04lx %04lx e%+-6d \", i,\n\t\t getsign(r) ? '-' : '+',\n\t\t (s32)(r->sigh >> 16),\n\t\t (s32)(r->sigh & 0xFFFF),\n\t\t (s32)(r->sigl >> 16),\n\t\t (s32)(r->sigl & 0xFFFF),\n\t\t exponent(r) - EXP_BIAS + 1);\n\t  break;\n\tdefault:\n\t  fpu_printk(\"Whoops! Error in errors.c: tag%d is %d \", i, tagi);\n\t  continue;\n\t  break;\n\t}\n      fpu_printk(\"%s\\n\", tag_desc[(int) (unsigned) tagi]);\n    }\n\n  RE_ENTRANT_CHECK_ON;\n\n}\n#endif\n\nstatic struct {\n  int type;\n  const char *name;\n} exception_names[] = {\n  { EX_StackOver, \"stack overflow\" },\n  { EX_StackUnder, \"stack underflow\" },\n  { EX_Precision, \"loss of precision\" },\n  { EX_Underflow, \"underflow\" },\n  { EX_Overflow, \"overflow\" },\n  { EX_ZeroDiv, \"divide by zero\" },\n  { EX_Denormal, \"denormalized operand\" },\n  { EX_Invalid, \"invalid operation\" },\n  { EX_INTERNAL, \"INTERNAL BUG in \"FPU_VERSION },\n  { 0, NULL }\n};\n\n/*\n EX_INTERNAL is always given with a code which indicates where the\n error was detected.\n\n Internal error types:\n       0x14   in fpu_etc.c\n       0x1nn  in a *.c file:\n              0x101  in reg_add_sub.c\n              0x102  in reg_mul.c\n              0x104  in poly_atan.c\n              0x105  in reg_mul.c\n              0x107  in fpu_trig.c\n\t      0x108  in reg_compare.c\n\t      0x109  in reg_compare.c\n\t      0x110  in reg_add_sub.c\n\t      0x111  in fpe_entry.c\n\t      0x112  in fpu_trig.c\n\t      0x113  in errors.c\n\t      0x115  in fpu_trig.c\n\t      0x116  in fpu_trig.c\n\t      0x117  in fpu_trig.c\n\t      0x118  in fpu_trig.c\n\t      0x119  in fpu_trig.c\n\t      0x120  in poly_atan.c\n\t      0x121  in reg_compare.c\n\t      0x122  in reg_compare.c\n\t      0x123  in reg_compare.c\n\t      0x125  in fpu_trig.c\n\t      0x126  in fpu_entry.c\n\t      0x127  in poly_2xm1.c\n\t      0x128  in fpu_entry.c\n\t      0x129  in fpu_entry.c\n\t      0x130  in get_address.c\n\t      0x131  in get_address.c\n\t      0x132  in get_address.c\n\t      0x133  in get_address.c\n\t      0x140  in load_store.c\n\t      0x141  in load_store.c\n              0x150  in poly_sin.c\n              0x151  in poly_sin.c\n\t      0x160  in reg_ld_str.c\n\t      0x161  in reg_ld_str.c\n\t      0x162  in reg_ld_str.c\n\t      0x163  in reg_ld_str.c\n\t      0x164  in reg_ld_str.c\n\t      0x170  in fpu_tags.c\n\t      0x171  in fpu_tags.c\n\t      0x172  in fpu_tags.c\n\t      0x180  in reg_convert.c\n       0x2nn  in an *.S file:\n              0x201  in reg_u_add.S\n              0x202  in reg_u_div.S\n              0x203  in reg_u_div.S\n              0x204  in reg_u_div.S\n              0x205  in reg_u_mul.S\n              0x206  in reg_u_sub.S\n              0x207  in wm_sqrt.S\n\t      0x208  in reg_div.S\n              0x209  in reg_u_sub.S\n              0x210  in reg_u_sub.S\n              0x211  in reg_u_sub.S\n              0x212  in reg_u_sub.S\n\t      0x213  in wm_sqrt.S\n\t      0x214  in wm_sqrt.S\n\t      0x215  in wm_sqrt.S\n\t      0x220  in reg_norm.S\n\t      0x221  in reg_norm.S\n\t      0x230  in reg_round.S\n\t      0x231  in reg_round.S\n\t      0x232  in reg_round.S\n\t      0x233  in reg_round.S\n\t      0x234  in reg_round.S\n\t      0x235  in reg_round.S\n\t      0x236  in reg_round.S\n\t      0x240  in div_Xsig.S\n\t      0x241  in div_Xsig.S\n\t      0x242  in div_Xsig.S\n */\n\nvoid FPU_exception(current_i387_definefunyuan_   int n)\n{\n  int i, int_type;\n\n  int_type = 0;         /* Needed only to stop compiler warnings */\n  if ( n & EX_INTERNAL )\n    {\n      int_type = n - EX_INTERNAL;\n      n = EX_INTERNAL;\n      /* Set lots of exception bits! */\n      partial_status |= (SW_Exc_Mask | SW_Summary | SW_Backward);\n    }\n  else\n    {\n      /* Extract only the bits which we use to set the status word */\n      n &= (SW_Exc_Mask);\n      /* Set the corresponding exception bit */\n      partial_status |= n;\n      /* Set summary bits iff exception isn't masked */\n      if ( partial_status & ~control_word & CW_Exceptions )\n\tpartial_status |= (SW_Summary | SW_Backward);\n      if ( n & (SW_Stack_Fault | EX_Precision) )\n\t{\n\t  if ( !(n & SW_C1) )\n\t    /* This bit distinguishes over- from underflow for a stack fault,\n\t       and roundup from round-down for precision loss. */\n\t    partial_status &= ~SW_C1;\n\t}\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  if ( (~control_word & n & CW_Exceptions) || (n == EX_INTERNAL) )\n    {\n#ifdef PRINT_MESSAGES\n      /* My message from the sponsor */\n      fpu_printk(FPU_VERSION\" \"__DATE__\" (C) W. Metzenthen.\\n\");\n#endif /* PRINT_MESSAGES */\n      \n      /* Get a name string for error reporting */\n      for (i=0; exception_names[i].type; i++)\n\tif ( (exception_names[i].type & n) == exception_names[i].type )\n\t  break;\n      \n      if (exception_names[i].type)\n\t{\n#ifdef PRINT_MESSAGES\n\t  fpu_printk(\"FP Exception: %s!\\n\", exception_names[i].name);\n#endif /* PRINT_MESSAGES */\n\t}\n      else\n\tfpu_printk(\"FPU emulator: Unknown Exception: 0x%04x!\\n\", n);\n      \n      if ( n == EX_INTERNAL )\n\t{\n\t  fpu_printk(\"FPU emulator: Internal error type 0x%04x\\n\", int_type);\n\t  FPU_printall(current_i387_yuan_clono  );\n\t}\n#ifdef PRINT_MESSAGES\n      else\n\tFPU_printall(current_i387_yuan_clono  );\n#endif /* PRINT_MESSAGES */\n\n      /*\n       * The 80486 generates an interrupt on the next non-control FPU\n       * instruction. So we need some means of flagging it.\n       * We use the ES (Error Summary) bit for this.\n       */\n    }\n  RE_ENTRANT_CHECK_ON;\n\n\n}\n\n\n/* Real operation attempted on a NaN. */\n/* Returns < 0 if the exception is unmasked */\nint real_1op_NaN(current_i387_definefunyuan_   FPU_REG *a)\n{\n  int signalling, isNaN;\n\n  isNaN = (exponent(a) == EXP_OVER) && (a->sigh & 0x80000000);\n\n  /* The default result for the case of two \"equal\" NaNs (signs may\n     differ) is chosen to reproduce 80486 behaviour */\n  signalling = isNaN && !(a->sigh & 0x40000000);\n\n  if ( !signalling )\n    {\n      if ( !isNaN )  /* pseudo-NaN, or other unsupported? */\n\t{\n\t  if ( control_word & CW_Invalid )\n\t    {\n\t      /* Masked response */\n\t      reg_copy(&CONST_QNaN, a);\n\t    }\n\t  EXCEPTION(EX_Invalid);\n\t  return (!(control_word & CW_Invalid) ? FPU_Exception : 0) | TAG_Special;\n\t}\n      return TAG_Special;\n    }\n\n  if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      if ( !(a->sigh & 0x80000000) )  /* pseudo-NaN ? */\n\t{\n\t  reg_copy(&CONST_QNaN, a);\n\t}\n      /* ensure a Quiet NaN */\n      a->sigh |= 0x40000000;\n    }\n\n  EXCEPTION(EX_Invalid);\n\n  return (!(control_word & CW_Invalid) ? FPU_Exception : 0) | TAG_Special;\n}\n\n\n/* Real operation attempted on two operands, one a NaN. */\n/* Returns < 0 if the exception is unmasked */\nint real_2op_NaN(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb,\n\t\t int deststnr,\n\t\t FPU_REG const *defaultNaN)\n{\n  FPU_REG *dest = &st(deststnr);\n  FPU_REG const *a = dest;\n  u_char taga = FPU_gettagi(current_i387_yuan_   deststnr);\n  FPU_REG const *x;\n  int signalling, unsupported;\n\n  if ( taga == TAG_Special )\n    taga = FPU_Special(current_i387_yuan_   a);\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n\n  /* TW_NaN is also used for unsupported data types. */\n  unsupported = ((taga == TW_NaN)\n\t\t && !((exponent(a) == EXP_OVER) && (a->sigh & 0x80000000)))\n    || ((tagb == TW_NaN)\n\t&& !((exponent(b) == EXP_OVER) && (b->sigh & 0x80000000)));\n  if ( unsupported )\n    {\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* Masked response */\n\t  FPU_copy_to_regi(current_i387_yuan_   &CONST_QNaN, TAG_Special, deststnr);\n\t}\n      EXCEPTION(EX_Invalid);\n      return (!(control_word & CW_Invalid) ? FPU_Exception : 0) | TAG_Special;\n    }\n\n  if (taga == TW_NaN)\n    {\n      x = a;\n      if (tagb == TW_NaN)\n\t{\n\t  signalling = !(a->sigh & b->sigh & 0x40000000);\n\t  if ( significand(b) > significand(a) )\n\t    x = b;\n\t  else if ( significand(b) == significand(a) )\n\t    {\n\t      /* The default result for the case of two \"equal\" NaNs (signs may\n\t\t differ) is chosen to reproduce 80486 behaviour */\n\t      x = defaultNaN;\n\t    }\n\t}\n      else\n\t{\n\t  /* return the quiet version of the NaN in a */\n\t  signalling = !(a->sigh & 0x40000000);\n\t}\n    }\n  else\n#ifdef PARANOID\n    if (tagb == TW_NaN)\n#endif /* PARANOID */\n    {\n      signalling = !(b->sigh & 0x40000000);\n      x = b;\n    }\n#ifdef PARANOID\n  else\n    {\n      signalling = 0;\n      EXCEPTION(EX_INTERNAL|0x113);\n      x = &CONST_QNaN;\n    }\n#endif /* PARANOID */\n\n  if ( (!signalling) || (control_word & CW_Invalid) )\n    {\n      if ( ! x )\n\tx = b;\n\n      if ( !(x->sigh & 0x80000000) )  /* pseudo-NaN ? */\n\tx = &CONST_QNaN;\n\n      FPU_copy_to_regi(current_i387_yuan_   x, TAG_Special, deststnr);\n\n      if ( !signalling )\n\treturn TAG_Special;\n\n      /* ensure a Quiet NaN */\n      dest->sigh |= 0x40000000;\n    }\n\n  EXCEPTION(EX_Invalid);\n\n  return (!(control_word & CW_Invalid) ? FPU_Exception : 0) | TAG_Special;\n}\n\n\n/* Invalid arith operation on Valid registers */\n/* Returns < 0 if the exception is unmasked */\nasmlinkage int arith_invalid(current_i387_definefunyuan_   int deststnr)\n{\n\n  EXCEPTION(EX_Invalid);\n  \n  if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_QNaN, TAG_Special, deststnr);\n    }\n  \n  return (!(control_word & CW_Invalid) ? FPU_Exception : 0) | TAG_Valid;\n\n}\n\n\n/* Divide a finite number by zero */\nasmlinkage int FPU_divide_by_zero(current_i387_definefunyuan_   int deststnr, u_char sign)\n{\n  FPU_REG *dest = &st(deststnr);\n  int tag = TAG_Valid;\n\n  if ( control_word & CW_ZeroDiv )\n    {\n      /* The masked response */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_INF, TAG_Special, deststnr);\n      setsign(dest, sign);\n      tag = TAG_Special;\n    }\n \n  EXCEPTION(EX_ZeroDiv);\n\n  return (!(control_word & CW_ZeroDiv) ? FPU_Exception : 0) | tag;\n\n}\n\n\n/* This may be called often, so keep it lean */\nint set_precision_flag(current_i387_definefunyuan_   int flags)\n{\n  if ( control_word & CW_Precision )\n    {\n      partial_status &= ~(SW_C1 & flags);\n      partial_status |= flags;   /* The masked response */\n      return 0;\n    }\n  else\n    {\n      EXCEPTION(flags);\n      return 1;\n    }\n}\n\n\n/* This may be called often, so keep it lean */\nasmlinkage void set_precision_flag_up(current_i387_definefunyuan_void)\n{\n  if ( control_word & CW_Precision )\n    partial_status |= (SW_Precision | SW_C1);   /* The masked response */\n  else\n    EXCEPTION(EX_Precision | SW_C1);\n}\n\n\n/* This may be called often, so keep it lean */\nasmlinkage void set_precision_flag_down(current_i387_definefunyuan_void)\n{\n  if ( control_word & CW_Precision )\n    {   /* The masked response */\n      partial_status &= ~SW_C1;\n      partial_status |= SW_Precision;\n    }\n  else\n    EXCEPTION(EX_Precision);\n}\n\n\nasmlinkage int denormal_operand(current_i387_definefunyuan_void)\n{\n  if ( control_word & CW_Denormal )\n    {   /* The masked response */\n      partial_status |= SW_Denorm_Op;\n      return TAG_Special;\n    }\n  else\n    {\n      EXCEPTION(EX_Denormal);\n      return TAG_Special | FPU_Exception;\n    }\n}\n\n\nasmlinkage int arith_overflow(current_i387_definefunyuan_   FPU_REG *dest)\n{\n  int tag = TAG_Valid;\n\n  if ( control_word & CW_Overflow )\n    {\n      /* The masked response */\n      reg_copy(&CONST_INF, dest);\n      tag = TAG_Special;\n    }\n  else\n    {\n      /* Subtract the magic number from the exponent */\n      addexponent(dest, (-3 * (1 << 13)));\n    }\n\n  EXCEPTION(EX_Overflow);\n  if ( control_word & CW_Overflow )\n    {\n      /* The overflow exception is masked. */\n      /* By definition, precision is lost.\n\t The roundup bit (C1) is also set because we have\n\t \"rounded\" upwards to Infinity. */\n      EXCEPTION(EX_Precision | SW_C1);\n      return tag;\n    }\n\n  return tag;\n\n}\n\n\nasmlinkage int arith_round_overflow(current_i387_definefunyuan_   FPU_REG *dest, u8 sign)\n{\n  int tag = TAG_Valid;\n  int largest;\n\n  if ( control_word & CW_Overflow )\n    {\n      /* The masked response */\n      /* The response here depends upon the rounding mode */\n      switch ( control_word & CW_RC )\n\t{\n\tcase RC_CHOP:\t\t/* Truncate */\n\t  largest = 1;\n\t  break;\n\tcase RC_UP:\t\t/* Towards +infinity */\n\t  largest = (sign == SIGN_NEG);\n\t  break;\n\tcase RC_DOWN:\t\t/* Towards -infinity */\n\t  largest = (sign == SIGN_POS);\n\t  break;\n\tdefault:\n\t  largest = 0;\n\t  break;\n\t}\n      if ( ! largest )\n\t{\n\t  reg_copy(&CONST_INF, dest);\n\t  tag = TAG_Special;\n\t}\n      else\n\t{\n\t  dest->exp = EXTENDED_Ebias+EXP_OVER-1;\n\t  switch ( control_word & CW_PC )\n\t    {\n\t    case 01:\n\t    case PR_64_BITS:\n\t      significand(dest) = BX_CONST64(0xffffffffffffffff);\n\t      break;\n\t    case PR_53_BITS:\n\t      significand(dest) = BX_CONST64(0xfffffffffffff800);\n\t      break;\n\t    case PR_24_BITS:\n\t      significand(dest) = BX_CONST64(0xffffff0000000000);\n\t      break;\n\t    }\n\t}\n    }\n  else\n    {\n      /* Subtract the magic number from the exponent */\n      addexponent(dest, (-3 * (1 << 13)));\n      largest = 0;\n    }\n\n  EXCEPTION(EX_Overflow);\n  if ( control_word & CW_Overflow )\n    {\n      /* The overflow exception is masked. */\n      if ( largest )\n\t{\n\t  EXCEPTION(EX_Precision);\n\t}\n      else\n\t{\n\t  /* By definition, precision is lost.\n\t     The roundup bit (C1) is also set because we have\n\t     \"rounded\" upwards to Infinity. */\n\t  EXCEPTION(EX_Precision | SW_C1);\n\t}\n      return tag;\n    }\n\n  return tag;\n\n}\n\n\nasmlinkage int arith_underflow(current_i387_definefunyuan_   FPU_REG *dest)\n{\n  int tag = TAG_Valid;\n\n  if ( control_word & CW_Underflow )\n    {\n      /* The masked response */\n      if ( exponent16(dest) <= EXP_UNDER - 63 )\n\t{\n\t  reg_copy(&CONST_Z, dest);\n\t  partial_status &= ~SW_C1;       /* Round down. */\n\t  tag = TAG_Zero;\n\t}\n      else\n\t{\n\t  stdexp(dest);\n\t}\n    }\n  else\n    {\n      /* Add the magic number to the exponent. */\n      addexponent(dest, (short)((3 * (1 << 13)) + EXTENDED_Ebias));\n    }\n\n  EXCEPTION(EX_Underflow);\n  if ( control_word & CW_Underflow )\n    {\n      /* The underflow exception is masked. */\n      EXCEPTION(EX_Precision);\n      return tag;\n    }\n\n  return tag;\n\n}\n\n\nvoid FPU_stack_overflow(current_i387_definefunyuan_void)\n{\n\n if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      top--;\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_QNaN, TAG_Special);\n    }\n\n  EXCEPTION(EX_StackOver);\n\n  return;\n\n}\n\n\nvoid FPU_stack_underflow(current_i387_definefunyuan_void)\n{\n\n if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_QNaN, TAG_Special);\n    }\n\n  EXCEPTION(EX_StackUnder);\n\n  return;\n\n}\n\n\nvoid FPU_stack_underflow_i(current_i387_definefunyuan_   int i)\n{\n\n if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_QNaN, TAG_Special, i);\n    }\n\n  EXCEPTION(EX_StackUnder);\n\n  return;\n\n}\n\n\nvoid FPU_stack_underflow_pop(current_i387_definefunyuan_   int i)\n{\n\n if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_QNaN, TAG_Special, i);\n      FPU_pop(current_i387_yuan_clono  );\n    }\n\n  EXCEPTION(EX_StackUnder);\n\n  return;\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/exception.h",
    "content": "/*---------------------------------------------------------------------------+\n |  exception.h                                                              |\n |  $Id: exception.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _EXCEPTION_H_\n#define _EXCEPTION_H_\n\n\n#ifdef __ASSEMBLY__\n#define\tConst_(x)\t$##x\n#else\n#define\tConst_(x)\tx\n#endif\n\n#ifndef SW_C1\n#include \"fpu_emu.h\"\n#endif /* SW_C1 */\n\n#define FPU_BUSY        Const_(0x8000)   /* FPU busy bit (8087 compatibility) */\n#define EX_ErrorSummary Const_(0x0080)   /* Error summary status */\n/* Special exceptions: */\n#define\tEX_INTERNAL\tConst_(0x8000)\t/* Internal error in wm-FPU-emu */\n#define EX_StackOver\tConst_(0x0041|SW_C1)\t/* stack overflow */\n#define EX_StackUnder\tConst_(0x0041)\t/* stack underflow */\n/* Exception flags: */\n#define EX_Precision\tConst_(0x0020)\t/* loss of precision */\n#define EX_Underflow\tConst_(0x0010)\t/* underflow */\n#define EX_Overflow\tConst_(0x0008)\t/* overflow */\n#define EX_ZeroDiv\tConst_(0x0004)\t/* divide by zero */\n#define EX_Denormal\tConst_(0x0002)\t/* denormalized operand */\n#define EX_Invalid\tConst_(0x0001)\t/* invalid operation */\n\n\n#define PRECISION_LOST_UP    Const_((EX_Precision | SW_C1))\n#define PRECISION_LOST_DOWN  Const_(EX_Precision)\n\n\n#ifndef __ASSEMBLY__\n\n#define        EXCEPTION(x)    FPU_exception(current_i387_yuan_   x)\n\n#endif /* __ASSEMBLY__ */\n\n#endif /* _EXCEPTION_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/fpu.cpp",
    "content": "//  Copyright (C) 2001  MandrakeSoft S.A.\n//\n//    MandrakeSoft S.A.\n//    43, rue d'Aboukir\n//    75002 Paris - France\n//    http://www.linux-mandrake.com/\n//    http://www.mandrakesoft.com/\n//\n//  This library is free software; you can redistribute it and/or\n//  modify it under the terms of the GNU Lesser General Public\n//  License as published by the Free Software Foundation; either\n//  version 2 of the License, or (at your option) any later version.\n//\n//  This library is distributed in the hope that it will be useful,\n//  but WITHOUT ANY WARRANTY; without even the implied warranty of\n//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n//  Lesser General Public License for more details.\n//\n//  You should have received a copy of the GNU Lesser General Public\n//  License along with this library; if not, write to the Free Software\n//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\n\n\n#include \"fpu_i387.h\"\n#include \"../../IntelCPU/Source/x86cpu.h\"\n\n#undef LOG_THIS\n#define LOG_THIS genlog->\n\n// Nomenclature used to signify argument types\n//\n// Es = single real\n// El = double real\n// Ea = 14/28 bytes    98/108b bytes (FRSTOR,FSAVE)???\n// Ew = word integer (2 bytes)\n// Ed = dword integer (4 bytes) (short int)\n// Et = extended real\n// Eb = packed BCD\n// Eq = quadword integer (8 bytes) (long integer)\n\n#if BX_SUPPORT_FPU==1\n\n  void\nBX_CPU_C::ESC0(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC0 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC1(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC1 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC2(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC2 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC3(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n\n//BX_DEBUG(( \"CS:EIP = %04x:%08x\",\n//  BX_CPU.sregs[BX_SEG_REG_CS].selector.value, BX_CPU.prev_eip));\n\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC3 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC4(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC4 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC5(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC5 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC6(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC6 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::ESC7(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n  if ( BX_CPU_CLASS_PTR cr0.em || BX_CPU_CLASS_PTR cr0.ts ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0);\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"ESC7 not implemented\"));\n#endif\n}\n\n  void\nBX_CPU_C::FWAIT(BX_CPU_C *icpu,bxInstruction_c *i)\n{\n#if BX_CPU_LEVEL < 3\n  // WAIT doesn't generate single steps on 8086.\n  // The same goes for prefix instructions, and instructions which\n  // modify segment registers. (pg4-16)\n  // single_step_event = 0;\n  BX_PANIC((\"WAIT: not implemented for < 386\"));\n#else // BX_CPU_LEVEL >= 3\n\n  if ( BX_CPU_CLASS_PTR cr0.ts && BX_CPU_CLASS_PTR cr0.mp ) {\n    BX_CPU_CLASS_PTR exception(BX_NM_EXCEPTION, 0, 0); // no error\n    }\n#if BX_SUPPORT_FPU\n  BX_CPU_CLASS_PTR fpu_execute(i);\n#else\n  BX_INFO((\"FWAIT: no FPU\"));\n#endif\n\n#endif\n}\n\n#if BX_SUPPORT_FPU==0\n\n  // if supporting FPU, this function in glue logic file\n  void\nBX_CPU_C::fpu_init(void)\n{\n}\n\n#endif\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_arith.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_arith.c                                                              |\n |  $Id: fpu_arith.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Code to implement the FPU register/register arithmetic instructions       |\n |                                                                           |\n | Copyright (C) 1992,1993,1997                                              |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n#include \"status_w.h\"\n\nvoid fadd__(current_i387_definefunyuan_void   )\n{\n  /* fadd st,st(i) */\n  int i = FPU_rm;\n  clear_C1();\n  FPU_add(current_i387_yuan_   &st(i), FPU_gettagi(current_i387_yuan_   i), 0, control_word);\n}\n\n\nvoid fmul__(current_i387_definefunyuan_void   )\n{\n  /* fmul st,st(i) */\n  int i = FPU_rm;\n  clear_C1();\n  FPU_mul(current_i387_yuan_   &st(i), FPU_gettagi(current_i387_yuan_   i), 0, control_word);\n}\n\n\n\nvoid fsub__(current_i387_definefunyuan_void   )\n{\n  /* fsub st,st(i) */\n  clear_C1();\n  FPU_sub(current_i387_yuan_   0, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fsubr_(current_i387_definefunyuan_void   )\n{\n  /* fsubr st,st(i) */\n  clear_C1();\n  FPU_sub(current_i387_yuan_   REV, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fdiv__(current_i387_definefunyuan_void   )\n{\n  /* fdiv st,st(i) */\n  clear_C1();\n  FPU_div(current_i387_yuan_   0, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fdivr_(current_i387_definefunyuan_void   )\n{\n  /* fdivr st,st(i) */\n  clear_C1();\n  FPU_div(current_i387_yuan_   REV, REGNO2PTR(FPU_rm), control_word);\n}\n\n\n\nvoid fadd_i(current_i387_definefunyuan_void   )\n{\n  /* fadd st(i),st */\n  int i = FPU_rm;\n  clear_C1();\n  FPU_add(current_i387_yuan_   &st(i), FPU_gettagi(current_i387_yuan_   i), i, control_word);\n}\n\n\nvoid fmul_i(current_i387_definefunyuan_void   )\n{\n  /* fmul st(i),st */\n  clear_C1();\n  FPU_mul(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_doc  ), FPU_rm, control_word);\n}\n\n\nvoid fsubri(current_i387_definefunyuan_void   )\n{\n  /* fsubr st(i),st */\n  clear_C1();\n  FPU_sub(current_i387_yuan_   DEST_RM, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fsub_i(current_i387_definefunyuan_void   )\n{\n  /* fsub st(i),st */\n  clear_C1();\n  FPU_sub(current_i387_yuan_   REV|DEST_RM, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fdivri(current_i387_definefunyuan_void   )\n{\n  /* fdivr st(i),st */\n  clear_C1();\n  FPU_div(current_i387_yuan_   DEST_RM, REGNO2PTR(FPU_rm), control_word);\n}\n\n\nvoid fdiv_i(current_i387_definefunyuan_void   )\n{\n  /* fdiv st(i),st */\n  clear_C1();\n  FPU_div(current_i387_yuan_   REV|DEST_RM, REGNO2PTR(FPU_rm), control_word);\n}\n\n\n\nvoid faddp_(current_i387_definefunyuan_void   )\n{\n  /* faddp st(i),st */\n  int i = FPU_rm;\n  clear_C1();\n  if ( FPU_add(current_i387_yuan_   &st(i), FPU_gettagi(current_i387_yuan_   i), i, control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fmulp_(current_i387_definefunyuan_void   )\n{\n  /* fmulp st(i),st */\n  clear_C1();\n  if ( FPU_mul(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_doc  ), FPU_rm, control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\n\nvoid fsubrp(current_i387_definefunyuan_void   )\n{\n  /* fsubrp st(i),st */\n  clear_C1();\n  if ( FPU_sub(current_i387_yuan_   DEST_RM, REGNO2PTR(FPU_rm), control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fsubp_(current_i387_definefunyuan_void   )\n{\n  /* fsubp st(i),st */\n  clear_C1();\n  if ( FPU_sub(current_i387_yuan_   REV|DEST_RM, REGNO2PTR(FPU_rm), control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fdivrp(current_i387_definefunyuan_void   )\n{\n  /* fdivrp st(i),st */\n  clear_C1();\n  if ( FPU_div(current_i387_yuan_   DEST_RM, REGNO2PTR(FPU_rm), control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fdivp_(current_i387_definefunyuan_void   )\n{\n  /* fdivp st(i),st */\n  clear_C1();\n  if ( FPU_div(current_i387_yuan_   REV|DEST_RM, REGNO2PTR(FPU_rm), control_word) >= 0 )\n    FPU_pop(current_i387_yuan_clono  );\n}\n"
  },
  {
    "path": "Project/fpu/Source/fpu_asm.h",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_asm.h                                                                |\n |  $Id: fpu_asm.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1995,1997                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@suburbia.net               |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _FPU_ASM_H_\n#define _FPU_ASM_H_\n\n#include <linux/linkage.h>\n\n#define\tEXCEPTION\tSYMBOL_NAME(FPU_exception)\n\n\n#define PARAM1\t8(%ebp)\n#define\tPARAM2\t12(%ebp)\n#define\tPARAM3\t16(%ebp)\n#define\tPARAM4\t20(%ebp)\n#define\tPARAM5\t24(%ebp)\n#define\tPARAM6\t28(%ebp)\n#define\tPARAM7\t32(%ebp)\n\n#define SIGL_OFFSET 0\n#define\tEXP(x)\t8(x)\n#define SIG(x)\tSIGL_OFFSET##(x)\n#define\tSIGL(x)\tSIGL_OFFSET##(x)\n#define\tSIGH(x)\t4(x)\n\n#endif /* _FPU_ASM_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_aux.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_aux.c                                                                |\n |  $Id: fpu_aux.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Code to implement some of the FPU auxiliary instructions.                 |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"status_w.h\"\n#include \"control_w.h\"\n\n\nstatic void fnop(current_i387_definefunyuan_void)\n{\n}\n\nvoid fclex(current_i387_definefunyuan_void)\n{\n  partial_status &= ~(SW_Backward|SW_Summary|SW_Stack_Fault|SW_Precision|\n\t\t   SW_Underflow|SW_Overflow|SW_Zero_Div|SW_Denorm_Op|\n\t\t   SW_Invalid);\n  no_ip_update = 1;\n}\n\n/* Needs to be externally visible */\nvoid finit(current_i387_definefunyuan_void   )\n{\n  control_word = 0x037f;\n  partial_status = 0;\n  top = 0;            /* We don't keep top in the status word internally. */\n  fpu_tag_word = 0xffff;\n  /* The behaviour is different from that detailed in\n     Section 15.1.6 of the Intel manual */\n  operand_address.offset = 0;\n  operand_address.selector = 0;\n  instruction_address.offset = 0;\n  instruction_address.selector = 0;\n  instruction_address.opcode = 0;\n  no_ip_update = 1;\n}\n\n/*\n * These are nops on the i387..\n */\n#define feni fnop\n#define fdisi fnop\n#define fsetpm fnop\n\nstatic FUNC const finit_table[] = {\n  feni, fdisi, fclex, finit,\n  fsetpm, FPU_illegal, FPU_illegal, FPU_illegal\n};\n\nvoid finit_(current_i387_definefunyuan_void   )\n{\n  (finit_table[FPU_rm])(current_i387_yuan_void);\n}\n\n\nstatic void fstsw_ax(current_i387_definefunyuan_void   )\n{\n  SET_AX(status_word()); // KPL\n  no_ip_update = 1;\n}\n\nstatic FUNC const fstsw_table[] = {\n  fstsw_ax,    FPU_illegal, FPU_illegal, FPU_illegal,\n  FPU_illegal, FPU_illegal, FPU_illegal, FPU_illegal\n};\n\nvoid fstsw_(current_i387_definefunyuan_void   )\n{\n  (fstsw_table[FPU_rm])(current_i387_yuan_void);\n}\n\n\nstatic FUNC const fp_nop_table[] = {\n  fnop, FPU_illegal, FPU_illegal, FPU_illegal,\n  FPU_illegal, FPU_illegal, FPU_illegal, FPU_illegal\n};\n\nvoid fp_nop(current_i387_definefunyuan_void   )\n{\n  (fp_nop_table[FPU_rm])(current_i387_yuan_void);\n}\n\n\nvoid fld_i_(current_i387_definefunyuan_void   )\n{\n  FPU_REG *st_new_ptr;\n  int i;\n  u_char tag;\n\n  if ( STACK_OVERFLOW )\n    { FPU_stack_overflow(current_i387_yuan_clono  ); return; }\n\n  /* fld st(i) */\n  i = FPU_rm;\n  if ( NOT_EMPTY(i) )\n    {\n      reg_copy(&st(i), st_new_ptr);\n      tag = FPU_gettagi(current_i387_yuan_   i);\n      push();\n      FPU_settag0(current_i387_yuan_   tag);\n    }\n  else\n    {\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* The masked response */\n\t  FPU_stack_underflow(current_i387_yuan_clono  );\n\t}\n      else\n\tEXCEPTION(EX_StackUnder);\n    }\n\n}\n\n\nvoid fxch_i(current_i387_definefunyuan_void   )\n{\n  /* fxch st(i) */\n  FPU_REG t;\n  int i = FPU_rm;\n  FPU_REG *st0_ptr = &st(0), *sti_ptr = &st(i);\n  s32 tag_word = fpu_tag_word;\n  int regnr = top & 7, regnri = ((regnr + i) & 7);\n  u_char st0_tag = (tag_word >> (regnr*2)) & 3;\n  u_char sti_tag = (tag_word >> (regnri*2)) & 3;\n\n  if ( st0_tag == TAG_Empty )\n    {\n      if ( sti_tag == TAG_Empty )\n\t{\n\t  FPU_stack_underflow(current_i387_yuan_clono  );\n\t  FPU_stack_underflow_i(current_i387_yuan_   i);\n\t  return;\n\t}\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* Masked response */\n\t  FPU_copy_to_reg0(current_i387_yuan_   sti_ptr, sti_tag);\n\t}\n      FPU_stack_underflow_i(current_i387_yuan_   i);\n      return;\n    }\n  if ( sti_tag == TAG_Empty )\n    {\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* Masked response */\n\t  FPU_copy_to_regi(current_i387_yuan_   st0_ptr, st0_tag, i);\n\t}\n      FPU_stack_underflow(current_i387_yuan_clono  );\n      return;\n    }\n  clear_C1();\n\n  reg_copy(st0_ptr, &t);\n  reg_copy(sti_ptr, st0_ptr);\n  reg_copy(&t, sti_ptr);\n\n  tag_word &= ~(3 << (regnr*2)) & ~(3 << (regnri*2));\n  tag_word |= (sti_tag << (regnr*2)) | (st0_tag << (regnri*2));\n  fpu_tag_word = tag_word;\n}\n\n\nvoid ffree_(current_i387_definefunyuan_void   )\n{\n  /* ffree st(i) */\n  FPU_settagi(current_i387_yuan_   FPU_rm, TAG_Empty);\n}\n\n\nvoid ffreep(current_i387_definefunyuan_void   )\n{\n  /* ffree st(i) + pop - unofficial code */\n  FPU_settagi(current_i387_yuan_   FPU_rm, TAG_Empty);\n  FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fst_i_(current_i387_definefunyuan_void   )\n{\n  /* fst st(i) */\n  FPU_copy_to_regi(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_doc  ), FPU_rm);\n}\n\n\nvoid fstp_i(current_i387_definefunyuan_void   )\n{\n  /* fstp st(i) */\n  FPU_copy_to_regi(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_doc  ), FPU_rm);\n  FPU_pop(current_i387_yuan_clono  );\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/fpu_emu.h",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_emu.h                                                                |\n |  $Id: fpu_emu.h,v 1.8 2002/12/11 12:54:19 cbothamy Exp $\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@suburbia.net             |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n\n#ifndef _FPU_EMU_H_\n#define _FPU_EMU_H_\n\n/*\n * Define PECULIAR_486 to get a closer approximation to 80486 behaviour,\n * rather than behaviour which appears to be cleaner.\n * This is a matter of opinion: for all I know, the 80486 may simply\n * be complying with the IEEE spec. Maybe one day I'll get to see the\n * spec...\n */\n#define PECULIAR_486\n\n// change a pointer to an int, with type conversions that make it legal.\n// On machines with 64-bit pointers, compilers complain when you typecast\n// a 64-bit pointer into a 32-bit integer.\n#define PTR2INT(x) ((bx_ptr_equiv_t)(void *)(x))\n\n#ifdef __ASSEMBLY__\n#include \"fpu_asm.h\"\n#define\tConst(x)\t$##x\n#else\n#include <asm/types.h>\n#define\tConst(x)\tx\n#endif\n\n#define EXP_BIAS\tConst(0)\n#define EXP_OVER\tConst(0x4000)    /* smallest invalid large exponent */\n#define\tEXP_UNDER\tConst(-0x3fff)   /* largest invalid small exponent */\n#define EXP_WAY_UNDER   Const(-0x6000)   /* Below the smallest denormal, but\n\t\t\t\t\t    still a 16 bit nr. */\n#define EXP_Infinity    EXP_OVER\n#define EXP_NaN         EXP_OVER\n\n#define EXTENDED_Ebias Const(0x3fff)\n#define EXTENDED_Emin (-0x3ffe)  /* smallest valid exponent */\n\n#define SIGN_POS\tConst(0)\n#define SIGN_NEG\tConst(0x80)\n\n#define SIGN_Positive\tConst(0)\n#define SIGN_Negative\tConst(0x8000)\n\n\n/* Keep the order TAG_Valid, TAG_Zero, TW_Denormal */\n/* The following fold to 2 (Special) in the Tag Word */\n#define TW_Denormal     Const(4)        /* De-normal */\n#define TW_Infinity\tConst(5)\t/* + or - infinity */\n#define\tTW_NaN\t\tConst(6)\t/* Not a Number */\n#define\tTW_Unsupported\tConst(7)\t/* Not supported by an 80486 */\n\n#define TAG_Valid\tConst(0)\t/* valid */\n#define TAG_Zero\tConst(1)\t/* zero */\n#define TAG_Special\tConst(2)\t/* De-normal, + or - infinity,\n\t\t\t\t\t   or Not a Number */\n#define TAG_Empty\tConst(3)\t/* empty */\n\n#define LOADED_DATA\tConst(10101)\t/* Special st() number to identify\n\t\t\t\t\t   loaded data (not on stack). */\n\n/* A few flags (must be >= 0x10). */\n#define REV             0x10\n#define DEST_RM         0x20\n#define LOADED          0x40\n\n#define FPU_Exception   Const(0x80000000)   /* Added to tag returns. */\n\n\n#ifndef __ASSEMBLY__\n\n#include \"fpu_system.h\"\n\n#include <asm/sigcontext.h>   /* for struct _fpstate */\n#include <asm/math_emu.h>\n#include <linux/linkage.h>\n\n/*\n#define RE_ENTRANT_CHECKING\n */\n\n#ifdef RE_ENTRANT_CHECKING\nextern u_char emulating;\n#  define RE_ENTRANT_CHECK_OFF emulating = 0\n#  define RE_ENTRANT_CHECK_ON emulating = 1\n#else\n#  define RE_ENTRANT_CHECK_OFF\n#  define RE_ENTRANT_CHECK_ON\n#endif /* ifdef RE_ENTRANT_CHECKING */\n\n#define FWAIT_OPCODE 0x9b\n#define OP_SIZE_PREFIX 0x66\n#define ADDR_SIZE_PREFIX 0x67\n#define PREFIX_CS 0x2e\n#define PREFIX_DS 0x3e\n#define PREFIX_ES 0x26\n#define PREFIX_SS 0x36\n#define PREFIX_FS 0x64\n#define PREFIX_GS 0x65\n#define PREFIX_REPE 0xf3\n#define PREFIX_REPNE 0xf2\n#define PREFIX_LOCK 0xf0\n#define PREFIX_CS_ 1\n#define PREFIX_DS_ 2\n#define PREFIX_ES_ 3\n#define PREFIX_FS_ 4\n#define PREFIX_GS_ 5\n#define PREFIX_SS_ 6\n#define PREFIX_DEFAULT 7\n\nstruct address {\n  u32 offset;\n#ifdef EMU_BIG_ENDIAN\n  u32 empty:5;\n  u32 opcode:11;\n  u32 selector:16;\n#else\n  u32 selector:16;\n  u32 opcode:11;\n  u32 empty:5;\n#endif\n} GCC_ATTRIBUTE((packed));\n\n// Endian  Host byte order         Guest (x86) byte order\n// ======================================================\n// Little  FFFFFFFFEEAAAAAA        FFFFFFFFEEAAAAAA\n// Big     AAAAAAEEFFFFFFFF        FFFFFFFFEEAAAAAA\n//\n// Legend: F - fraction/mmx\n//         E - exponent\n//         A - aligment\n\n#ifdef EMU_BIG_ENDIAN\n\nstruct fpu__reg {\n  u16 aligment1, aligment2, aligment3;\n  s16 exp;   /* Signed quantity used in internal arithmetic. */\n  u32 sigh;\n  u32 sigl;\n} GCC_ATTRIBUTE((aligned(16), packed));\n\n#define MAKE_REG(s,e,l,h) { 0,0,0, ((EXTENDED_Ebias+(e)) | ((SIGN_##s != 0)*0x8000)) , h, l}\n\n#define signbyte(a) (((u_char *)(a))[6])\n\n#else\n\nstruct fpu__reg {\n  u32 sigl;\n  u32 sigh;\n  s16 exp;   /* Signed quantity used in internal arithmetic. */\n  u16 aligment1, aligment2, aligment3;\n\n\n} GCC_ATTRIBUTE((aligned(16), packed));\n\n#define MAKE_REG(s,e,l,h) { l, h, ((EXTENDED_Ebias+(e)) | ((SIGN_##s != 0)*0x8000)), 0,0,0 }\n\n#define signbyte(a) (((u_char *)(a))[9])\n\n#endif\n\ntypedef void (*FUNC)(current_i387_definefunyuan_void);\ntypedef struct fpu__reg FPU_REG;\ntypedef void (*FUNC_ST0)(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag);\ntypedef struct { u_char address_size, operand_size, segment; }\n        GCC_ATTRIBUTE((packed)) overrides;\n/* This structure is 32 bits: */\ntypedef struct { overrides override;\n\t\t u_char default_mode; } \n    GCC_ATTRIBUTE((packed)) fpu_addr_modes;\n/* PROTECTED has a restricted meaning in the emulator; it is used\n   to signal that the emulator needs to do special things to ensure\n   that protection is respected in a segmented model. */\n#define PROTECTED 4\n#define SIXTEEN   1         /* We rely upon this being 1 (true) */\n#define VM86      SIXTEEN\n#define PM16      (SIXTEEN | PROTECTED)\n#define SEG32     PROTECTED\nextern u_char const data_sizes_16[32];\n\n#define register_base ((u_char *) registers )\n#define fpu_register(x)  ( * ((FPU_REG *)( register_base + sizeof(FPU_REG) * (x & 7) )) )\n#define\tst(x)      ( * ((FPU_REG *)( register_base + sizeof(FPU_REG) * ((top+x) & 7) )) )\n\n#define\tSTACK_OVERFLOW\t(FPU_stackoverflow(current_i387_yuan_   &st_new_ptr))\n#define\tNOT_EMPTY(i)\t(!FPU_empty_i(current_i387_yuan_   i))\n\n#define\tNOT_EMPTY_ST0\t(st0_tag ^ TAG_Empty)\n\n#define poppop() { FPU_pop(current_i387_yuan_clono  ); FPU_pop(current_i387_yuan_clono  ); }\n\n/* push() does not affect the tags */\n#define push()\t{ top--; }\n\n#define getsign(a) (signbyte(a) & 0x80)\n#define setsign(a,b) { if (b) signbyte(a) |= 0x80; else signbyte(a) &= 0x7f; }\n#define copysign(a,b) { if (getsign(a)) signbyte(b) |= 0x80; else signbyte(b) &= 0x7f; }\n#define changesign(a) { signbyte(a) ^= 0x80; }\n#define setpositive(a) { signbyte(a) &= 0x7f; }\n#define setnegative(a) { signbyte(a) |= 0x80; }\n#define signpositive(a) ( (signbyte(a) & 0x80) == 0 )\n#define signnegative(a) (signbyte(a) & 0x80)\n\n#ifdef EMU_BIG_ENDIAN\n#define significand(x) ( ((u64 *)&((x)->sigl))[0] )\n//#define significand(x) ( ((u64)((x)->sigh))<<32) + ((u64)(x)->sigl) )\n#else\n#define significand(x) ( ((u64 *)&((x)->sigl))[0] )\n#endif\n\nBX_C_INLINE\nvoid reg_copy(FPU_REG const *x, FPU_REG *y)\n{\n  y->exp = x->exp;\n  significand(y) = significand(x);\n}\n\n#define exponent(x)  (((x)->exp & 0x7fff) - EXTENDED_Ebias)\n#define setexponentpos(x,y) { (x)->exp = ((y) + EXTENDED_Ebias) & 0x7fff; }\n#define exponent16(x)         (x)->exp\n#define setexponent16(x,y)  { (x)->exp = (y); }\n#define addexponent(x,y)    { (x)->exp += (y); }\n#define stdexp(x)           { (x)->exp += EXTENDED_Ebias; }\n\n#define isdenormal(ptr)   (exponent(ptr) == EXP_BIAS+EXP_UNDER)\n\n/*----- Prototypes for functions written in assembler -----*/\n/* extern void reg_move(FPU_REG *a, FPU_REG *b); */\n\n\n#ifndef MAKING_PROTO\n#include \"fpu_proto.h\"\n#endif\n\n#endif /* defined __ASSEMBLY__ */\n\n#endif /* !defined _FPU_EMU_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_entry.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_entry.c                                                              |\n |  $Id: fpu_entry.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | The entry functions for wm-FPU-emu                                        |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1996,1997                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n | See the files \"README\" and \"COPYING\" for further copyright and warranty   |\n | information.                                                              |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | Note:                                                                     |\n |    The file contains code which accesses user memory.                     |\n |    Emulator static data may change when user memory is accessed, due to   |\n |    other processes using the emulator while swapping is in progress.      |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | math_emulate(current_i387_yuan_doc  ), restore_i387_soft() and save_i387_soft() are the only     |\n | entry points for wm-FPU-emu.                                              |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"fpu_emu.h\"\n#include \"exception.h\"\n#include \"control_w.h\"\n#include \"status_w.h\"\n\n#include <linux/signal.h>\n\n#include <asm/uaccess.h>\n#include <asm/desc.h>\n\n\n#define __BAD__ FPU_illegal   /* Illegal on an 80486, causes SIGILL */\n\n#ifndef NO_UNDOC_CODE    /* Un-documented FPU op-codes supported by default. */\n\n/* WARNING: These codes are not documented by Intel in their 80486 manual\n   and may not work on FPU clones or later Intel FPUs. */\n\n/* Changes to support the un-doc codes provided by Linus Torvalds. */\n\n#define _d9_d8_ fstp_i    /* unofficial code (19) */\n#define _dc_d0_ fcom_st   /* unofficial code (14) */\n#define _dc_d8_ fcompst   /* unofficial code (1c) */\n#define _dd_c8_ fxch_i    /* unofficial code (0d) */\n#define _de_d0_ fcompst   /* unofficial code (16) */\n#define _df_c0_ ffreep    /* unofficial code (07) ffree + pop */\n#define _df_c8_ fxch_i    /* unofficial code (0f) */\n#define _df_d0_ fstp_i    /* unofficial code (17) */\n#define _df_d8_ fstp_i    /* unofficial code (1f) */\n\nstatic FUNC const st_instr_table[64] = {\n  fadd__,   fld_i_,     __BAD__, __BAD__, fadd_i,  ffree_,  faddp_,  _df_c0_,\n  fmul__,   fxch_i,     __BAD__, __BAD__, fmul_i,  _dd_c8_, fmulp_,  _df_c8_,\n  fcom_st,  fp_nop,     __BAD__, __BAD__, _dc_d0_, fst_i_,  _de_d0_, _df_d0_,\n  fcompst,  _d9_d8_,    __BAD__, __BAD__, _dc_d8_, fstp_i,  fcompp,  _df_d8_,\n  fsub__,   FPU_etc,    __BAD__, finit_,  fsubri,  fucom_,  fsubrp,  fstsw_,\n  fsubr_,   fconst,     fucompp, __BAD__, fsub_i,  fucomp,  fsubp_,  __BAD__,\n  fdiv__,   FPU_triga,  __BAD__, __BAD__, fdivri,  __BAD__, fdivrp,  __BAD__,\n  fdivr_,   FPU_trigb,  __BAD__, __BAD__, fdiv_i,  __BAD__, fdivp_,  __BAD__,\n};\n\n#else     /* Support only documented FPU op-codes */\n\nstatic FUNC const st_instr_table[64] = {\n  fadd__,   fld_i_,     __BAD__, __BAD__, fadd_i,  ffree_,  faddp_,  __BAD__,\n  fmul__,   fxch_i,     __BAD__, __BAD__, fmul_i,  __BAD__, fmulp_,  __BAD__,\n  fcom_st,  fp_nop,     __BAD__, __BAD__, __BAD__, fst_i_,  __BAD__, __BAD__,\n  fcompst,  __BAD__,    __BAD__, __BAD__, __BAD__, fstp_i,  fcompp,  __BAD__,\n  fsub__,   FPU_etc,    __BAD__, finit_,  fsubri,  fucom_,  fsubrp,  fstsw_,\n  fsubr_,   fconst,     fucompp, __BAD__, fsub_i,  fucomp,  fsubp_,  __BAD__,\n  fdiv__,   FPU_triga,  __BAD__, __BAD__, fdivri,  __BAD__, fdivrp,  __BAD__,\n  fdivr_,   FPU_trigb,  __BAD__, __BAD__, fdiv_i,  __BAD__, fdivp_,  __BAD__,\n};\n\n#endif /* NO_UNDOC_CODE */\n\n\n#define _NONE_ 0   /* Take no special action */\n#define _REG0_ 1   /* Need to check for not empty st(0) */\n#define _REGI_ 2   /* Need to check for not empty st(0) and st(rm) */\n#define _REGi_ 0   /* Uses st(rm) */\n#define _PUSH_ 3   /* Need to check for space to push onto stack */\n#define _null_ 4   /* Function illegal or not implemented */\n#define _REGIi 5   /* Uses st(0) and st(rm), result to st(rm) */\n#define _REGIp 6   /* Uses st(0) and st(rm), result to st(rm) then pop */\n#define _REGIc 0   /* Compare st(0) and st(rm) */\n#define _REGIn 0   /* Uses st(0) and st(rm), but handle checks later */\n\n#ifndef NO_UNDOC_CODE\n\n/* Un-documented FPU op-codes supported by default. (see above) */\n\nstatic u_char const type_table[64] = {\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _REGi_, _REGIp, _REGi_,\n  _REGI_, _REGIn, _null_, _null_, _REGIi, _REGI_, _REGIp, _REGI_,\n  _REGIc, _NONE_, _null_, _null_, _REGIc, _REG0_, _REGIc, _REG0_,\n  _REGIc, _REG0_, _null_, _null_, _REGIc, _REG0_, _REGIc, _REG0_,\n  _REGI_, _NONE_, _null_, _NONE_, _REGIi, _REGIc, _REGIp, _NONE_,\n  _REGI_, _NONE_, _REGIc, _null_, _REGIi, _REGIc, _REGIp, _null_,\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _null_, _REGIp, _null_,\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _null_, _REGIp, _null_\n};\n\n#else     /* Support only documented FPU op-codes */\n\nstatic u_char const type_table[64] = {\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _REGi_, _REGIp, _null_,\n  _REGI_, _REGIn, _null_, _null_, _REGIi, _null_, _REGIp, _null_,\n  _REGIc, _NONE_, _null_, _null_, _null_, _REG0_, _null_, _null_,\n  _REGIc, _null_, _null_, _null_, _null_, _REG0_, _REGIc, _null_,\n  _REGI_, _NONE_, _null_, _NONE_, _REGIi, _REGIc, _REGIp, _NONE_,\n  _REGI_, _NONE_, _REGIc, _null_, _REGIi, _REGIc, _REGIp, _null_,\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _null_, _REGIp, _null_,\n  _REGI_, _NONE_, _null_, _null_, _REGIi, _null_, _REGIp, _null_\n};\n\n#endif /* NO_UNDOC_CODE */\n\n\n#ifndef USE_WITH_CPU_SIM\n\n\n#ifdef RE_ENTRANT_CHECKING\nu_char emulating=0;\n#endif /* RE_ENTRANT_CHECKING */\n\nstatic int valid_prefix(u_char *Byte, u_char **fpu_eip,\n\t\t\toverrides *override);\n\nasmlinkage void math_emulate(current_i387_definefunyuan_   long arg)\n{\n  u_char  FPU_modrm, byte1;\n  unsigned short code;\n  fpu_addr_modes addr_modes;\n  int unmasked;\n  FPU_REG loaded_data;\n  FPU_REG *st0_ptr;\n  u_char\t  loaded_tag, st0_tag;\n  void *data_address;\n  struct address data_sel_off;\n  struct address entry_sel_off;\n  u32 code_base = 0;\n  u32 code_limit = 0;  /* Initialized to stop compiler warnings */\n  struct desc_struct code_descriptor;\n\n#ifdef RE_ENTRANT_CHECKING\n  if ( emulating )\n    {\n      fpu_printk(\"ERROR: wm-FPU-emu is not RE-ENTRANT!\\n\");\n    }\n  RE_ENTRANT_CHECK_ON;\n#endif /* RE_ENTRANT_CHECKING */\n\n  if (!current->used_math)\n    {\n      finit(current_i387_yuan_clono  );\n      current->used_math = 1;\n    }\n\n  SETUP_DATA_AREA(arg);\n\n  FPU_ORIG_EIP = FPU_EIP;\n\n  if ( (FPU_EFLAGS & 0x00020000) != 0 )\n    {\n      /* Virtual 8086 mode */\n      addr_modes.default_mode = VM86;\n      FPU_EIP += code_base = FPU_CS << 4;\n      code_limit = code_base + 0xffff;  /* Assumes code_base <= 0xffff0000 */\n    }\n  else if ( FPU_CS == __USER_CS && FPU_DS == __USER_DS )\n    {\n      addr_modes.default_mode = 0;\n    }\n  else if ( FPU_CS == __KERNEL_CS )\n    {\n      fpu_printk(\"math_emulate: %04x:%08lx\\n\",FPU_CS,FPU_EIP);\n      panic(\"Math emulation needed in kernel\");\n    }\n  else\n    {\n\n      if ( (FPU_CS & 4) != 4 )   /* Must be in the LDT */\n\t{\n\t  /* Can only handle segmented addressing via the LDT\n\t     for now, and it must be 16 bit */\n\t  fpu_printk(\"FPU emulator: Unsupported addressing mode\\n\");\n\t  math_abort(current_i387_yuan_   FPU_info, SIGILL);\n\t}\n\n      if ( SEG_D_SIZE(code_descriptor = LDT_DESCRIPTOR(FPU_CS)) )\n\t{\n\t  /* The above test may be wrong, the book is not clear */\n\t  /* Segmented 32 bit protected mode */\n\t  addr_modes.default_mode = SEG32;\n\t}\n      else\n\t{\n\t  /* 16 bit protected mode */\n\t  addr_modes.default_mode = PM16;\n\t}\n      FPU_EIP += code_base = SEG_BASE_ADDR(code_descriptor);\n      code_limit = code_base\n\t+ (SEG_LIMIT(code_descriptor)+1) * SEG_GRANULARITY(code_descriptor)\n\t  - 1;\n      if ( code_limit < code_base ) code_limit = 0xffffffff;\n    }\n\n  FPU_lookahead = 1;\n  if (current->flags & PF_PTRACED)\n    FPU_lookahead = 0;\n\n  if ( !valid_prefix(&byte1, (u_char **)&FPU_EIP,\n\t\t     &addr_modes.override) )\n    {\n      RE_ENTRANT_CHECK_OFF;\n      fpu_printk(\"FPU emulator: Unknown prefix byte 0x%02x, probably due to\\n\"\n\t     \"FPU emulator: self-modifying code! (emulation impossible)\\n\",\n\t     byte1);\n      RE_ENTRANT_CHECK_ON;\n      EXCEPTION(EX_INTERNAL|0x126);\n      math_abort(current_i387_yuan_   FPU_info,SIGILL);\n    }\n\ndo_another_FPU_instruction:\n\n  no_ip_update = 0;\n\n  FPU_EIP++;  /* We have fetched the prefix and first code bytes. */\n\n  if ( addr_modes.default_mode )\n    {\n      /* This checks for the minimum instruction bytes.\n\t We also need to check any extra (address mode) code access. */\n      if ( FPU_EIP > code_limit )\n\tmath_abort(current_i387_yuan_   FPU_info,SIGSEGV);\n    }\n\n  if ( (byte1 & 0xf8) != 0xd8 )\n    {\n      if ( byte1 == FWAIT_OPCODE )\n\t{\n\t  if (partial_status & SW_Summary)\n\t    goto do_the_FPU_interrupt;\n\t  else\n\t    goto FPU_fwait_done;\n\t}\n#ifdef PARANOID\n      EXCEPTION(EX_INTERNAL|0x128);\n      math_abort(current_i387_yuan_   FPU_info,SIGILL);\n#endif /* PARANOID */\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_code_verify_area(1);\n  FPU_get_user(FPU_modrm, (u_char *) FPU_EIP);\n  RE_ENTRANT_CHECK_ON;\n  FPU_EIP++;\n\n  if (partial_status & SW_Summary)\n    {\n      /* Ignore the error for now if the current instruction is a no-wait\n\t control instruction */\n      /* The 80486 manual contradicts itself on this topic,\n\t but a real 80486 uses the following instructions:\n\t fninit, fnstenv, fnsave, fnstsw, fnstenv, fnclex.\n       */\n      code = (FPU_modrm << 8) | byte1;\n      if ( ! ( (((code & 0xf803) == 0xe003) ||    /* fnclex, fninit, fnstsw */\n\t\t(((code & 0x3003) == 0x3001) &&   /* fnsave, fnstcw, fnstenv,\n\t\t\t\t\t\t     fnstsw */\n\t\t ((code & 0xc000) != 0xc000))) ) )\n\t{\n\t  /*\n\t   *  We need to simulate the action of the kernel to FPU\n\t   *  interrupts here.\n\t   */\n\tdo_the_FPU_interrupt:\n\n\t  FPU_EIP = FPU_ORIG_EIP;\t/* Point to current FPU instruction. */\n\n\t  RE_ENTRANT_CHECK_OFF;\n\t  current->tss.trap_no = 16;\n\t  current->tss.error_code = 0;\n\t  send_sig(SIGFPE, current, 1);\n\t  return;\n\t}\n    }\n\n  entry_sel_off.offset = FPU_ORIG_EIP;\n  entry_sel_off.selector = FPU_CS;\n  entry_sel_off.opcode = (byte1 << 8) | FPU_modrm;\n\n  FPU_rm = FPU_modrm & 7;\n\n  if ( FPU_modrm < 0300 )\n    {\n      /* All of these instructions use the mod/rm byte to get a data address */\n\n      if ( (addr_modes.default_mode & SIXTEEN)\n\t  ^ (addr_modes.override.address_size == ADDR_SIZE_PREFIX) )\n\tdata_address = FPU_get_address_16(current_i387_yuan_   FPU_modrm, (u32 *)&FPU_EIP, &data_sel_off,\n\t\t\t\t\t  addr_modes);\n      else\n\tdata_address = FPU_get_address(current_i387_yuan_   FPU_modrm, (u32 *)&FPU_EIP, &data_sel_off,\n\t\t\t\t       addr_modes);\n\n      if ( addr_modes.default_mode )\n\t{\n\t  if ( FPU_EIP-1 > code_limit )\n\t    math_abort(current_i387_yuan_   FPU_info,SIGSEGV);\n\t}\n\n      if ( !(byte1 & 1) )\n\t{\n\t  unsigned short status1 = partial_status;\n\n\t  st0_ptr = &st(0);\n\t  st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n\n\t  /* Stack underflow has priority */\n\t  if ( NOT_EMPTY_ST0 )\n\t    {\n\t      if ( addr_modes.default_mode & PROTECTED )\n\t\t{\n\t\t  /* This table works for 16 and 32 bit protected mode */\n\t\t  if ( access_limit < data_sizes_16[(byte1 >> 1) & 3] )\n\t\t    math_abort(current_i387_yuan_   FPU_info,SIGSEGV);\n\t\t}\n\n\t      unmasked = 0;  /* Do this here to stop compiler warnings. */\n\t      switch ( (byte1 >> 1) & 3 )\n\t\t{\n\t\tcase 0:\n\t\t  unmasked = FPU_load_single(current_i387_yuan_   (float *)data_address,\n\t\t\t\t\t     &loaded_data);\n\t\t  loaded_tag = unmasked & 0xff;\n\t\t  unmasked &= ~0xff;\n\t\t  break;\n\t\tcase 1:\n\t\t  loaded_tag = FPU_load_int32(current_i387_yuan_   (s32 *)data_address, &loaded_data); // bbd: was (u32*)\n\t\t  break;\n\t\tcase 2:\n\t\t  unmasked = FPU_load_double(current_i387_yuan_   (double *)data_address,\n\t\t\t\t\t     &loaded_data);\n\t\t  loaded_tag = unmasked & 0xff;\n\t\t  unmasked &= ~0xff;\n\t\t  break;\n\t\tcase 3:\n\t\tdefault:  /* Used here to suppress gcc warnings. */\n\t\t  loaded_tag = FPU_load_int16(current_i387_yuan_   (short *)data_address, &loaded_data);\n\t\t  break;\n\t\t}\n\n\t      /* No more access to user memory, it is safe\n\t\t to use static data now */\n\n\t      /* NaN operands have the next priority. */\n\t      /* We have to delay looking at st(0) until after\n\t\t loading the data, because that data might contain an SNaN */\n\t      if ( ((st0_tag == TAG_Special) && isNaN(current_i387_yuan_   st0_ptr)) ||\n\t\t  ((loaded_tag == TAG_Special) && isNaN(current_i387_yuan_   &loaded_data)) )\n\t\t{\n\t\t  /* Restore the status word; we might have loaded a\n\t\t     denormal. */\n\t\t  partial_status = status1;\n\t\t  if ( (FPU_modrm & 0x30) == 0x10 )\n\t\t    {\n\t\t      /* fcom or fcomp */\n\t\t      EXCEPTION(EX_Invalid);\n\t\t      setcc(SW_C3 | SW_C2 | SW_C0);\n\t\t      if ( (FPU_modrm & 0x08) && (control_word & CW_Invalid) )\n\t\t\tFPU_pop(current_i387_yuan_clono  );             /* fcomp, masked, so we pop. */\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      if ( loaded_tag == TAG_Special )\n\t\t\tloaded_tag = FPU_Special(current_i387_yuan_   &loaded_data);\n#ifdef PECULIAR_486\n\t\t      /* This is not really needed, but gives behaviour\n\t\t\t identical to an 80486 */\n\t\t      if ( (FPU_modrm & 0x28) == 0x20 )\n\t\t\t/* fdiv or fsub */\n\t\t\treal_2op_NaN(current_i387_yuan_   &loaded_data, loaded_tag, 0, &loaded_data);\n\t\t      else\n#endif /* PECULIAR_486 */\n\t\t\t/* fadd, fdivr, fmul, or fsubr */\n\t\t\treal_2op_NaN(current_i387_yuan_   &loaded_data, loaded_tag, 0, st0_ptr);\n\t\t    }\n\t\t  goto reg_mem_instr_done;\n\t\t}\n\n\t      if ( unmasked && !((FPU_modrm & 0x30) == 0x10) )\n\t\t{\n\t\t  /* Is not a comparison instruction. */\n\t\t  if ( (FPU_modrm & 0x38) == 0x38 )\n\t\t    {\n\t\t      /* fdivr */\n\t\t      if ( (st0_tag == TAG_Zero) &&\n\t\t\t   ((loaded_tag == TAG_Valid)\n\t\t\t    || (loaded_tag == TAG_Special\n\t\t\t\t&& isdenormal(&loaded_data))) )\n\t\t\t{\n\t\t\t  if ( FPU_divide_by_zero(current_i387_yuan_   0, getsign(&loaded_data))\n\t\t\t       < 0 )\n\t\t\t    {\n\t\t\t      /* We use the fact here that the unmasked\n\t\t\t\t exception in the loaded data was for a\n\t\t\t\t denormal operand */\n\t\t\t      /* Restore the state of the denormal op bit */\n\t\t\t      partial_status &= ~SW_Denorm_Op;\n\t\t\t      partial_status |= status1 & SW_Denorm_Op;\n\t\t\t    }\n\t\t\t  else\n\t\t\t    setsign(st0_ptr, getsign(&loaded_data));\n\t\t\t}\n\t\t    }\n\t\t  goto reg_mem_instr_done;\n\t\t}\n\n\t      switch ( (FPU_modrm >> 3) & 7 )\n\t\t{\n\t\tcase 0:         /* fadd */\n\t\t  clear_C1();\n\t\t  FPU_add(current_i387_yuan_   &loaded_data, loaded_tag, 0, control_word);\n\t\t  break;\n\t\tcase 1:         /* fmul */\n\t\t  clear_C1();\n\t\t  FPU_mul(current_i387_yuan_   &loaded_data, loaded_tag, 0, control_word);\n\t\t  break;\n\t\tcase 2:         /* fcom */\n\t\t  FPU_compare_st_data(current_i387_yuan_   &loaded_data, loaded_tag);\n\t\t  break;\n\t\tcase 3:         /* fcomp */\n\t\t  if ( !FPU_compare_st_data(current_i387_yuan_   &loaded_data, loaded_tag)\n\t\t       && !unmasked )\n\t\t    FPU_pop(current_i387_yuan_clono  );\n\t\t  break;\n\t\tcase 4:         /* fsub */\n\t\t  clear_C1();\n\t\t  // bbd: loaded_data used to be typecast to an int, but \n\t\t  // this corrupted the pointer on 64-bit machines.\n\t\t  // Now FPU_sub and similar take a FPU_REG* here instead. \n\t\t  FPU_sub(current_i387_yuan_   LOADED|loaded_tag, &loaded_data, control_word);\n\t\t  break;\n\t\tcase 5:         /* fsubr */\n\t\t  clear_C1();\n\t\t  FPU_sub(current_i387_yuan_   REV|LOADED|loaded_tag, &loaded_data, control_word);\n\t\t  break;\n\t\tcase 6:         /* fdiv */\n\t\t  clear_C1();\n\t\t  FPU_div(current_i387_yuan_   LOADED|loaded_tag, &loaded_data, control_word);\n\t\t  break;\n\t\tcase 7:         /* fdivr */\n\t\t  clear_C1();\n\t\t  if ( st0_tag == TAG_Zero )\n\t\t    partial_status = status1;  /* Undo any denorm tag,\n\t\t\t\t\t\t  zero-divide has priority. */\n\t\t  FPU_div(current_i387_yuan_   REV|LOADED|loaded_tag, &loaded_data, control_word);\n\t\t  break;\n\t\t}\n\t    }\n\t  else\n\t    {\n\t      if ( (FPU_modrm & 0x30) == 0x10 )\n\t\t{\n\t\t  /* The instruction is fcom or fcomp */\n\t\t  EXCEPTION(EX_StackUnder);\n\t\t  setcc(SW_C3 | SW_C2 | SW_C0);\n\t\t  if ( (FPU_modrm & 0x08) && (control_word & CW_Invalid) )\n\t\t    FPU_pop(current_i387_yuan_clono  );             /* fcomp */\n\t\t}\n\t      else\n\t\tFPU_stack_underflow(current_i387_yuan_clono  );\n\t    }\n\treg_mem_instr_done:\n\t  operand_address = data_sel_off;\n\t}\n      else\n\t{\n\t  if ( !(no_ip_update =\n\t\t FPU_load_store(current_i387_yuan_   ((FPU_modrm & 0x38) | (byte1 & 6)) >> 1,\n\t\t\t\taddr_modes, data_address)) )\n\t    {\n\t      operand_address = data_sel_off;\n\t    }\n\t}\n\n    }\n  else\n    {\n      /* None of these instructions access user memory */\n      u_char instr_index = (FPU_modrm & 0x38) | (byte1 & 7);\n\n#ifdef PECULIAR_486\n      /* This is supposed to be undefined, but a real 80486 seems\n\t to do this: */\n      operand_address.offset = 0;\n      operand_address.selector = FPU_DS;\n#endif /* PECULIAR_486 */\n\n      st0_ptr = &st(0);\n      st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n      switch ( type_table[(int) instr_index] )\n\t{\n\tcase _NONE_:   /* also _REGIc: _REGIn */\n\t  break;\n\tcase _REG0_:\n\t  if ( !NOT_EMPTY_ST0 )\n\t    {\n\t      FPU_stack_underflow(current_i387_yuan_clono  );\n\t      goto FPU_instruction_done;\n\t    }\n\t  break;\n\tcase _REGIi:\n\t  if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n\t    {\n\t      FPU_stack_underflow_i(current_i387_yuan_   FPU_rm);\n\t      goto FPU_instruction_done;\n\t    }\n\t  break;\n\tcase _REGIp:\n\t  if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n\t    {\n\t      FPU_stack_underflow_pop(current_i387_yuan_   FPU_rm);\n\t      goto FPU_instruction_done;\n\t    }\n\t  break;\n\tcase _REGI_:\n\t  if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n\t    {\n\t      FPU_stack_underflow(current_i387_yuan_clono  );\n\t      goto FPU_instruction_done;\n\t    }\n\t  break;\n\tcase _PUSH_:     /* Only used by the fld st(i) instruction */\n\t  break;\n\tcase _null_:\n\t  FPU_illegal(current_i387_yuan_clono  );\n\t  goto FPU_instruction_done;\n\tdefault:\n\t  EXCEPTION(EX_INTERNAL|0x111);\n\t  goto FPU_instruction_done;\n\t}\n      (*st_instr_table[(int) instr_index])();\n\nFPU_instruction_done:\n      ;\n    }\n\n  if ( ! no_ip_update )\n    instruction_address = entry_sel_off;\n\nFPU_fwait_done:\n\n  if (FPU_lookahead && !current->need_resched)\n    {\n      FPU_ORIG_EIP = FPU_EIP - code_base;\n      if ( valid_prefix(&byte1, (u_char **)&FPU_EIP,\n\t\t\t&addr_modes.override) )\n\tgoto do_another_FPU_instruction;\n    }\n\n  if ( addr_modes.default_mode )\n    FPU_EIP -= code_base;\n\n  RE_ENTRANT_CHECK_OFF;\n}\n\n\n/* Support for prefix bytes is not yet complete. To properly handle\n   all prefix bytes, further changes are needed in the emulator code\n   which accesses user address space. Access to separate segments is\n   important for msdos emulation. */\nstatic int valid_prefix(u_char *Byte, u_char **fpu_eip,\n\t\t\toverrides *override)\n{\n  u_char byte;\n  u_char *ip = *fpu_eip;\n\n  *override = (overrides) { 0, 0, PREFIX_DEFAULT };       /* defaults */\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_code_verify_area(1);\n  FPU_get_user(byte, ip);\n  RE_ENTRANT_CHECK_ON;\n\n  while ( 1 )\n    {\n      switch ( byte )\n\t{\n\tcase ADDR_SIZE_PREFIX:\n\t  override->address_size = ADDR_SIZE_PREFIX;\n\t  goto do_next_byte;\n\n\tcase OP_SIZE_PREFIX:\n\t  override->operand_size = OP_SIZE_PREFIX;\n\t  goto do_next_byte;\n\n\tcase PREFIX_CS:\n\t  override->segment = PREFIX_CS_;\n\t  goto do_next_byte;\n\tcase PREFIX_ES:\n\t  override->segment = PREFIX_ES_;\n\t  goto do_next_byte;\n\tcase PREFIX_SS:\n\t  override->segment = PREFIX_SS_;\n\t  goto do_next_byte;\n\tcase PREFIX_FS:\n\t  override->segment = PREFIX_FS_;\n\t  goto do_next_byte;\n\tcase PREFIX_GS:\n\t  override->segment = PREFIX_GS_;\n\t  goto do_next_byte;\n\tcase PREFIX_DS:\n\t  override->segment = PREFIX_DS_;\n\t  goto do_next_byte;\n\n/* lock is not a valid prefix for FPU instructions,\n   let the cpu handle it to generate a SIGILL. */\n/*\tcase PREFIX_LOCK: */\n\n\t  /* rep.. prefixes have no meaning for FPU instructions */\n\tcase PREFIX_REPE:\n\tcase PREFIX_REPNE:\n\n\tdo_next_byte:\n\t  ip++;\n\t  RE_ENTRANT_CHECK_OFF;\n\t  FPU_code_verify_area(1);\n\t  FPU_get_user(byte, ip);\n\t  RE_ENTRANT_CHECK_ON;\n\t  break;\n\tcase FWAIT_OPCODE:\n\t  *Byte = byte;\n\t  return 1;\n\tdefault:\n\t  if ( (byte & 0xf8) == 0xd8 )\n\t    {\n\t      *Byte = byte;\n\t      *fpu_eip = ip;\n\t      return 1;\n\t    }\n\t  else\n\t    {\n\t      /* Not a valid sequence of prefix bytes followed by\n\t\t an FPU instruction. */\n\t      *Byte = byte;  /* Needed for error message. */\n\t      return 0;\n\t    }\n\t}\n    }\n}\n\n\nvoid math_abort(current_i387_definefunyuan_   struct info * info, unsigned int signal)\n{\n\tFPU_EIP = FPU_ORIG_EIP;\n\tcurrent->tss.trap_no = 16;\n\tcurrent->tss.error_code = 0;\n\tsend_sig(signal,current,1);\n\tRE_ENTRANT_CHECK_OFF;\n\t__asm__(\"movl %0,%%esp ; ret\": :\"g\" (((long) info)-4));\n#ifdef PARANOID\n      fpu_printk(\"ERROR: wm-FPU-emu math_abort failed!\\n\");\n#endif /* PARANOID */\n}\n\n\n\n#define S387 ((struct i387_soft_struct *)s387)\n#define sstatus_word() \\\n  ((S387->swd & ~SW_Top & 0xffff) | ((S387->ftop << SW_Top_Shift) & SW_Top))\n\nint restore_i387_soft(void *s387, struct _fpstate *buf)\n{\n  u_char *d = (u_char *)buf;\n  int offset, other, i, tags, regnr, tag, newtop;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, d, 7*4 + 8*10);\n  if (__copy_from_user(&S387->cwd, d, 7*4))\n    return -1;\n  RE_ENTRANT_CHECK_ON;\n\n  d += 7*4;\n\n  S387->ftop = (S387->swd >> SW_Top_Shift) & 7;\n  offset = (S387->ftop & 7) * 10;\n  other = 80 - offset;\n\n  RE_ENTRANT_CHECK_OFF;\n  /* Copy all registers in stack order. */\n  if (__copy_from_user(((u_char *)&S387->st_space)+offset, d, other))\n    return -1;\n  if ( offset )\n    if (__copy_from_user((u_char *)&S387->st_space, d+other, offset))\n      return -1;\n  RE_ENTRANT_CHECK_ON;\n\n  /* The tags may need to be corrected now. */\n  tags = S387->twd;\n  newtop = S387->ftop;\n  for ( i = 0; i < 8; i++ )\n    {\n      regnr = (i+newtop) & 7;\n      if ( ((tags >> ((regnr & 7)*2)) & 3) != TAG_Empty )\n\t{\n\t  /* The loaded data over-rides all other cases. */\n\t  tag = FPU_tagof(current_i387_yuan_   (FPU_REG *)((u_char *)S387->st_space + 10*regnr));\n\t  tags &= ~(3 << (regnr*2));\n\t  tags |= (tag & 3) << (regnr*2);\n\t}\n    }\n  S387->twd = tags;\n\n  return 0;\n}\n\n\nint save_i387_soft(void *s387, struct _fpstate * buf)\n{\n  u_char *d = (u_char *)buf;\n  int offset = (S387->ftop & 7) * 10, other = 80 - offset;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE, d, 7*4 + 8*10);\n#ifdef PECULIAR_486\n  S387->cwd &= ~0xe080;\n  /* An 80486 sets nearly all of the reserved bits to 1. */\n  S387->cwd |= 0xffff0040;\n  S387->swd = sstatus_word() | 0xffff0000;\n  S387->twd |= 0xffff0000;\n  S387->fcs &= ~0xf8000000;\n  S387->fos |= 0xffff0000;\n#endif /* PECULIAR_486 */\n  __copy_to_user(d, &S387->cwd, 7*4);\n  RE_ENTRANT_CHECK_ON;\n\n  d += 7*4;\n\n  RE_ENTRANT_CHECK_OFF;\n  /* Copy all registers in stack order. */\n  if (__copy_to_user(d, ((u_char *)&S387->st_space)+offset, other))\n    return -1;\n  if ( offset )\n    if (__copy_to_user(d+other, (u_char *)&S387->st_space, offset))\n      return -1\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n#else  /* #ifndef USE_WITH_CPU_SIM */\n\n\n/* Note, this is a version of fpu_entry.c, modified to interface\n * to a CPU simulator, rather than a kernel.\n *\n * Ported by Kevin Lawton Sep 20, 1999\n */\n\n\n  asmlinkage void\nmath_emulate2(current_i387_definefunyuan_   fpu_addr_modes addr_modes,\n              u_char  FPU_modrm,\n              u_char byte1,\n              void *data_address,\n              struct address data_sel_off,\n              struct address entry_sel_off)\n{\n  u16 code;\n  int unmasked;\n  FPU_REG loaded_data;\n  FPU_REG *st0_ptr;\n  u_char    loaded_tag, st0_tag;\n\n\n  // assuming byte is 0xd8..0xdf or 0xdb==FWAIT\n\n  // lock is not a valid prefix for FPU instructions, +++\n  // let the cpu handle it to generate a SIGILL.\n\n\n  no_ip_update = 0;\n\n  if ( byte1 == FWAIT_OPCODE ) {\n    if (partial_status & SW_Summary)\n      goto do_the_FPU_interrupt;\n    else\n      goto FPU_fwait_done;\n    }\n\n  if (partial_status & SW_Summary) {\n    /* Ignore the error for now if the current instruction is a no-wait\n       control instruction */\n    /* The 80486 manual contradicts itself on this topic,\n       but a real 80486 uses the following instructions:\n       fninit, fnstenv, fnsave, fnstsw, fnstenv, fnclex.\n       */\n    code = (FPU_modrm << 8) | byte1;\n    if ( ! ( (((code & 0xf803) == 0xe003) ||    /* fnclex, fninit, fnstsw */\n              (((code & 0x3003) == 0x3001) &&   /* fnsave, fnstcw, fnstenv,\n                                                   fnstsw */\n               ((code & 0xc000) != 0xc000))) ) ) {\n      /*\n       *  We need to simulate the action of the kernel to FPU\n       *  interrupts here.\n       */\ndo_the_FPU_interrupt:\n\n      math_abort(current_i387_yuan_   FPU_info, SIGFPE);\n      }\n    }\n\n  entry_sel_off.opcode = (byte1 << 8) | FPU_modrm;\n\n  FPU_rm = FPU_modrm & 7;\n\n  if ( FPU_modrm < 0300 ) {\n      /* All of these instructions use the mod/rm byte to get a data address */\n\n      if ( !(byte1 & 1) ) {\n          u16 status1 = partial_status;\n\n          st0_ptr = &st(0);\n          st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n\n          /* Stack underflow has priority */\n          if ( NOT_EMPTY_ST0 ) {\n              if ( addr_modes.default_mode & PROTECTED )\n                {\n                  /* This table works for 16 and 32 bit protected mode */\n                  if ( access_limit < data_sizes_16[(byte1 >> 1) & 3] )\n                    math_abort(current_i387_yuan_   FPU_info, SIGSEGV);\n                }\n\n              unmasked = 0;  /* Do this here to stop compiler warnings. */\n              switch ( (byte1 >> 1) & 3 )\n                {\n                case 0:\n                  unmasked = FPU_load_single(current_i387_yuan_   (float *)data_address,\n                                             &loaded_data);\n                  loaded_tag = unmasked & 0xff;\n                  unmasked &= ~0xff;\n                  break;\n                case 1:\n                  loaded_tag = FPU_load_int32(current_i387_yuan_   (s32 *)data_address, &loaded_data);  // bbd: was (u32 *)\n                  break;\n                case 2:\n                  unmasked = FPU_load_double(current_i387_yuan_   (double *)data_address,\n                                             &loaded_data);\n                  loaded_tag = unmasked & 0xff;\n                  unmasked &= ~0xff;\n                  break;\n                case 3:\n                default:  /* Used here to suppress gcc warnings. */\n                  loaded_tag = FPU_load_int16(current_i387_yuan_   (s16 *)data_address, &loaded_data);\n                  break;\n                }\n\n              /* No more access to user memory, it is safe\n                 to use static data now */\n\n              /* NaN operands have the next priority. */\n              /* We have to delay looking at st(0) until after\n                 loading the data, because that data might contain an SNaN */\n              if ( ((st0_tag == TAG_Special) && isNaN(current_i387_yuan_   st0_ptr)) ||\n                  ((loaded_tag == TAG_Special) && isNaN(current_i387_yuan_   &loaded_data)) )\n                {\n                  /* Restore the status word; we might have loaded a\n                     denormal. */\n                  partial_status = status1;\n                  if ( (FPU_modrm & 0x30) == 0x10 )\n                    {\n                      /* fcom or fcomp */\n                      EXCEPTION(EX_Invalid);\n                      setcc(SW_C3 | SW_C2 | SW_C0);\n                      if ( (FPU_modrm & 0x08) && (control_word & CW_Invalid) )\n                        FPU_pop(current_i387_yuan_clono  );             /* fcomp, masked, so we pop. */\n                    }\n                  else\n                    {\n                      if ( loaded_tag == TAG_Special )\n                        loaded_tag = FPU_Special(current_i387_yuan_   &loaded_data);\n#ifdef PECULIAR_486\n                      /* This is not really needed, but gives behaviour\n                         identical to an 80486 */\n                      if ( (FPU_modrm & 0x28) == 0x20 )\n                        /* fdiv or fsub */\n                        real_2op_NaN(current_i387_yuan_   &loaded_data, loaded_tag, 0, &loaded_data);\n                      else\n#endif /* PECULIAR_486 */\n                        /* fadd, fdivr, fmul, or fsubr */\n                        real_2op_NaN(current_i387_yuan_   &loaded_data, loaded_tag, 0, st0_ptr);\n                    }\n                  goto reg_mem_instr_done;\n                }\n\n              if ( unmasked && !((FPU_modrm & 0x30) == 0x10) )\n                {\n                  /* Is not a comparison instruction. */\n                  if ( (FPU_modrm & 0x38) == 0x38 )\n                    {\n                      /* fdivr */\n                      if ( (st0_tag == TAG_Zero) &&\n                           ((loaded_tag == TAG_Valid)\n                            || (loaded_tag == TAG_Special\n                                && isdenormal(&loaded_data))) )\n                        {\n                          if ( FPU_divide_by_zero(current_i387_yuan_   0, getsign(&loaded_data))\n                               < 0 )\n                            {\n                              /* We use the fact here that the unmasked\n                                 exception in the loaded data was for a\n                                 denormal operand */\n                              /* Restore the state of the denormal op bit */\n                              partial_status &= ~SW_Denorm_Op;\n                              partial_status |= status1 & SW_Denorm_Op;\n                            }\n                          else\n                            setsign(st0_ptr, getsign(&loaded_data));\n                        }\n                    }\n                  goto reg_mem_instr_done;\n                }\n\n              switch ( (FPU_modrm >> 3) & 7 )\n                {\n                case 0:         /* fadd */\n                  clear_C1();\n                  FPU_add(current_i387_yuan_   &loaded_data, loaded_tag, 0, control_word);\n                  break;\n                case 1:         /* fmul */\n                  clear_C1();\n                  FPU_mul(current_i387_yuan_   &loaded_data, loaded_tag, 0, control_word);\n                  break;\n                case 2:         /* fcom */\n                  FPU_compare_st_data(current_i387_yuan_   &loaded_data, loaded_tag);\n                  break;\n                case 3:         /* fcomp */\n\t\t  // bbd: used to typecase to int first, but this corrupted the\n\t\t  // pointer on 64 bit machines.\n                  if ( !FPU_compare_st_data(current_i387_yuan_   &loaded_data, loaded_tag)\n                       && !unmasked )\n                    FPU_pop(current_i387_yuan_clono  );\n                  break;\n                case 4:         /* fsub */\n                  clear_C1();\n                  FPU_sub(current_i387_yuan_   LOADED|loaded_tag, &loaded_data, control_word);\n                  break;\n                case 5:         /* fsubr */\n                  clear_C1();\n                  FPU_sub(current_i387_yuan_   REV|LOADED|loaded_tag, &loaded_data, control_word);\n                  break;\n                case 6:         /* fdiv */\n                  clear_C1();\n                  FPU_div(current_i387_yuan_   LOADED|loaded_tag, &loaded_data, control_word);\n                  break;\n                case 7:         /* fdivr */\n                  clear_C1();\n                  if ( st0_tag == TAG_Zero )\n                    partial_status = status1;  /* Undo any denorm tag,\n                                                  zero-divide has priority. */\n                  FPU_div(current_i387_yuan_   REV|LOADED|loaded_tag, &loaded_data, control_word);\n                  break;\n                }\n            }\n          else\n            {\n              if ( (FPU_modrm & 0x30) == 0x10 )\n                {\n                  /* The instruction is fcom or fcomp */\n                  EXCEPTION(EX_StackUnder);\n                  setcc(SW_C3 | SW_C2 | SW_C0);\n                  if ( (FPU_modrm & 0x08) && (control_word & CW_Invalid) )\n                    FPU_pop(current_i387_yuan_clono  );             /* fcomp */\n                }\n              else\n                FPU_stack_underflow(current_i387_yuan_clono  );\n            }\n        reg_mem_instr_done:\n          operand_address = data_sel_off;\n        }\n      else {\n          if ( !(no_ip_update =\n                 FPU_load_store(current_i387_yuan_   ((FPU_modrm & 0x38) | (byte1 & 6)) >> 1,\n                                addr_modes, data_address)) )\n            {\n              operand_address = data_sel_off;\n            }\n        }\n    }\n  else {\n      /* None of these instructions access user memory */\n      u_char instr_index = (FPU_modrm & 0x38) | (byte1 & 7);\n\n#ifdef PECULIAR_486\n      /* This is supposed to be undefined, but a real 80486 seems\n         to do this: */\n      operand_address.offset = 0;\n      operand_address.selector = FPU_DS;\n\n#endif /* PECULIAR_486 */\n\n      st0_ptr = &st(0);\n      st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n      switch ( type_table[(int) instr_index] )\n        {\n        case _NONE_:   /* also _REGIc: _REGIn */\n          break;\n        case _REG0_:\n          if ( !NOT_EMPTY_ST0 )\n            {\n              FPU_stack_underflow(current_i387_yuan_clono  );\n              goto FPU_instruction_done;\n            }\n          break;\n        case _REGIi:\n          if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n            {\n              FPU_stack_underflow_i(current_i387_yuan_   FPU_rm);\n              goto FPU_instruction_done;\n            }\n          break;\n        case _REGIp:\n          if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n            {\n              FPU_stack_underflow_pop(current_i387_yuan_   FPU_rm);\n              goto FPU_instruction_done;\n            }\n          break;\n        case _REGI_:\n          if ( !NOT_EMPTY_ST0 || !NOT_EMPTY(FPU_rm) )\n            {\n              FPU_stack_underflow(current_i387_yuan_clono  );\n              goto FPU_instruction_done;\n            }\n          break;\n        case _PUSH_:     /* Only used by the fld st(i) instruction */\n          break;\n        case _null_:\n          FPU_illegal(current_i387_yuan_clono  );\n          goto FPU_instruction_done;\n        default:\n          EXCEPTION(EX_INTERNAL|0x111);\n          goto FPU_instruction_done;\n        }\n      (*st_instr_table[(int) instr_index])(current_i387_yuan_void);\n\nFPU_instruction_done:\n      ;\n    }\n\n  if ( ! no_ip_update )\n    instruction_address = entry_sel_off;\n\nFPU_fwait_done:\n\n#ifdef DEBUG\n  FPU_printall(current_i387_yuan_clono  );\n#endif /* DEBUG */\n#ifdef BX_NO_BLANK_LABELS\n  if(0)\n\t  int testiii = 0;\n#endif\n}\n\n#endif  /* #ifndef USE_WITH_CPU_SIM */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_etc.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_etc.c                                                                |\n |  $Id: fpu_etc.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Implement a few FPU instructions.                                         |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@suburbia.net             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"status_w.h\"\n#include \"reg_constant.h\"\n\n\nstatic void fchs(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0tag)\n{\n  if ( st0tag ^ TAG_Empty )\n    {\n      signbyte(st0_ptr) ^= SIGN_NEG;\n      clear_C1();\n    }\n  else\n    FPU_stack_underflow(current_i387_yuan_clono  );\n}\n\n\nstatic void fpu_fabs(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0tag)\n{\n  if ( st0tag ^ TAG_Empty )\n    {\n      setpositive(st0_ptr);\n      clear_C1();\n    }\n  else\n    FPU_stack_underflow(current_i387_yuan_clono  );\n}\n\n\nstatic void ftst_(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0tag)\n{\n  switch (st0tag)\n    {\n    case TAG_Zero:\n      setcc(SW_C3);\n      break;\n    case TAG_Valid:\n      if (getsign(st0_ptr) == SIGN_POS)\n        setcc(0);\n      else\n        setcc(SW_C0);\n      break;\n    case TAG_Special:\n      switch ( FPU_Special(current_i387_yuan_   st0_ptr) )\n\t{\n\tcase TW_Denormal:\n\t  if (getsign(st0_ptr) == SIGN_POS)\n\t    setcc(0);\n\t  else\n\t    setcc(SW_C0);\n\t  if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\t    {\n#ifdef PECULIAR_486\n\t      /* This is weird! */\n\t      if (getsign(st0_ptr) == SIGN_POS)\n\t\tsetcc(SW_C3);\n#endif /* PECULIAR_486 */\n\t      return;\n\t    }\n\t  break;\n\tcase TW_NaN:\n\t  setcc(SW_C0|SW_C2|SW_C3);   /* Operand is not comparable */ \n\t  EXCEPTION(EX_Invalid);\n\t  break;\n\tcase TW_Infinity:\n\t  if (getsign(st0_ptr) == SIGN_POS)\n\t    setcc(0);\n\t  else\n\t    setcc(SW_C0);\n\t  break;\n\tdefault:\n\t  setcc(SW_C0|SW_C2|SW_C3);   /* Operand is not comparable */ \n\t  EXCEPTION(EX_INTERNAL|0x14);\n\t  break;\n\t}\n      break;\n    case TAG_Empty:\n      setcc(SW_C0|SW_C2|SW_C3);\n      EXCEPTION(EX_StackUnder);\n      break;\n    }\n}\n\n\nstatic void fxam(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0tag)\n{\n  int c = 0;\n  switch (st0tag)\n    {\n    case TAG_Empty:\n      c = SW_C3|SW_C0;\n      break;\n    case TAG_Zero:\n      c = SW_C3;\n      break;\n    case TAG_Valid:\n      c = SW_C2;\n      break;\n    case TAG_Special:\n      switch ( FPU_Special(current_i387_yuan_   st0_ptr) )\n\t{\n\tcase TW_Denormal:\n\t  c = SW_C2|SW_C3;  /* Denormal */\n\t  break;\n\tcase TW_NaN:\n\t  /* We also use NaN for unsupported types. */\n\t  if ( (st0_ptr->sigh & 0x80000000) && (exponent(st0_ptr) == EXP_OVER) )\n\t    c = SW_C0;\n\t  break;\n\tcase TW_Infinity:\n\t  c = SW_C2|SW_C0;\n\t  break;\n\t}\n    }\n  if ( getsign(st0_ptr) == SIGN_NEG )\n    c |= SW_C1;\n  setcc(c);\n}\n\n\nstatic FUNC_ST0 const fp_etc_table[] = {\n  fchs, fpu_fabs, (FUNC_ST0)FPU_illegal, (FUNC_ST0)FPU_illegal,\n  ftst_, fxam, (FUNC_ST0)FPU_illegal, (FUNC_ST0)FPU_illegal\n};\n\nvoid FPU_etc(current_i387_definefunyuan_void   )\n{\n  (fp_etc_table[FPU_rm])(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_cc   ));\n}\n"
  },
  {
    "path": "Project/fpu/Source/fpu_i387.h",
    "content": "/*---------------------------------------------------------------------------+\n |  status_w.h                                                               |\n |  $Id: status_w.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1993                                                   |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _FPU_I387_H_\n#define _FPU_I387_H_\n\nstruct BX_FCPU_I387\n{\n\tclass BX_CPU_C *fpu_cpu_ptr_;\n\tclass bxInstruction_c *fpu_iptr_;\n\tunion FpuMmxRegisters *current_i387_;\n};\n\n#if 0\n\n#define current_i387_definefunyuan_void void\n#define current_i387_definefunyuan_\n#define current_i387_yuan_\n#define current_i387_yuan_clono\n#define current_i387_yuan_void\n#define current_i387_yuan_doc\n#define current_i387_yuan_le\n#define current_i387_yuan_cc\n\n#else\n\n#define current_i387_definefunyuan_void struct BX_FCPU_I387 *bx_fcpu_i387\n#define current_i387_definefunyuan_ struct BX_FCPU_I387 *bx_fcpu_i387,\n#define current_i387_yuan_ bx_fcpu_i387,\n#define current_i387_yuan_clono bx_fcpu_i387\n#define current_i387_yuan_void bx_fcpu_i387\n#define current_i387_yuan_doc bx_fcpu_i387\n#define current_i387_yuan_le bx_fcpu_i387\n#define current_i387_yuan_cc bx_fcpu_i387\n\n#endif\n\n//WIN32,NDEBUG,_MBCS,_LIB,PARANOID,DEBUGGING,NO_ASSEMBLER,USE_WITH_CPU_SIM\n//WIN32,_DEBUG,_MBCS,_LIB,NDEBUG,_WINDOWS,PARANOID,DEBUGGING,NO_ASSEMBLER,USE_WITH_CPU_SIM\n\n#define PARANOID\n#define DEBUGGING\n#define NO_ASSEMBLER\n#define USE_WITH_CPU_SIM\n\n#include <stdlib.h>\n#include <stdio.h>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#endif /* _FPU_I387_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_proto.h",
    "content": "/////////////////////////////////////////////////////////////////////////\n// $Id: fpu_proto.h,v 1.4 2001/10/06 04:35:13 bdenney Exp $\n/////////////////////////////////////////////////////////////////////////\n//\n//  Copyright (C) 2001  MandrakeSoft S.A.\n//\n//    MandrakeSoft S.A.\n//    43, rue d'Aboukir\n//    75002 Paris - France\n//    http://www.linux-mandrake.com/\n//    http://www.mandrakesoft.com/\n//\n//  This library is free software; you can redistribute it and/or\n//  modify it under the terms of the GNU Lesser General Public\n//  License as published by the Free Software Foundation; either\n//  version 2 of the License, or (at your option) any later version.\n//\n//  This library is distributed in the hope that it will be useful,\n//  but WITHOUT ANY WARRANTY; without even the implied warranty of\n//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n//  Lesser General Public License for more details.\n//\n//  You should have received a copy of the GNU Lesser General Public\n//  License along with this library; if not, write to the Free Software\n//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\n\n//\n// bochs.h is the master header file for all C++ code.  It includes all \n// the system header files needed by bochs, and also includes all the bochs\n// C++ header files.  Because bochs.h and the files that it includes has \n// structure and class definitions, it cannot be called from C code.\n// \n\n#ifndef _FPU_PROTO_H\n#define _FPU_PROTO_H\n\n#include \"../../IntelCPU/Source/x86cpu.h\"\n#include \"fpu_i387.h\"\n\n\nasmlinkage int FPU_normalize_nuo(current_i387_definefunyuan_   FPU_REG *x, int bias);\nasmlinkage int FPU_u_sub(current_i387_definefunyuan_   FPU_REG const *arg1, FPU_REG const *arg2,\n\t\t\t FPU_REG *answ, u16 control_w, u_char sign,\n\t\t\t s32 expa, s32 expb);\nasmlinkage int FPU_u_mul(current_i387_definefunyuan_   FPU_REG const *arg1, FPU_REG const *arg2,\n\t\t\t FPU_REG *answ, u16 control_w, u_char sign,\n\t\t\t s32 expon);\nasmlinkage int FPU_u_div(current_i387_definefunyuan_   FPU_REG const *arg1, FPU_REG const *arg2,\n\t\t\t FPU_REG *answ, u16 control_w, u_char sign);\nasmlinkage int FPU_u_add(current_i387_definefunyuan_   FPU_REG const *arg1, FPU_REG const *arg2,\n\t\t\t FPU_REG *answ, u16 control_w, u_char sign,\n\t\t\t s32 expa, s32 expb);\nasmlinkage int wm_sqrt(current_i387_definefunyuan_   FPU_REG *n, int dummy1, int dummy2,\n\t\t       u16 control_w, u_char sign);\nasmlinkage u32\tFPU_shrx(current_i387_definefunyuan_     void*l, u32 x);\nasmlinkage u32\tFPU_shrxs(current_i387_definefunyuan_     void*v, u32 x);\nasmlinkage u32 FPU_div_small(current_i387_definefunyuan_   u64 *x, u32 y);\nasmlinkage int FPU_round(current_i387_definefunyuan_   FPU_REG *arg, u32 extent, int dummy,\n\t\t\t u16 control_w, u_char sign);\n\n\n/* errors.c */\nextern void Un_impl(current_i387_definefunyuan_void);\nextern void FPU_illegal(current_i387_definefunyuan_void);\nextern void FPU_printall(current_i387_definefunyuan_void);\nasmlinkage void FPU_exception(current_i387_definefunyuan_   int n);\nextern int real_1op_NaN(current_i387_definefunyuan_   FPU_REG *a);\nextern int real_2op_NaN(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb, int deststnr,\n\t\t\tFPU_REG const *defaultNaN);\nextern int arith_invalid(current_i387_definefunyuan_   int deststnr);\nextern int FPU_divide_by_zero(current_i387_definefunyuan_   int deststnr, u_char sign);\nextern int set_precision_flag(current_i387_definefunyuan_   int flags);\nextern void set_precision_flag_up(current_i387_definefunyuan_void);\nextern void set_precision_flag_down(current_i387_definefunyuan_void);\nextern int denormal_operand(current_i387_definefunyuan_void);\nextern int arith_overflow(current_i387_definefunyuan_   FPU_REG *dest);\nextern int arith_round_overflow(current_i387_definefunyuan_   FPU_REG *dest, u8 sign);\nextern int arith_underflow(current_i387_definefunyuan_   FPU_REG *dest);\nextern void FPU_stack_overflow(current_i387_definefunyuan_void);\nextern void FPU_stack_underflow(current_i387_definefunyuan_void);\nextern void FPU_stack_underflow_i(current_i387_definefunyuan_   int i);\nextern void FPU_stack_underflow_pop(current_i387_definefunyuan_   int i);\n/* fpu_arith.c */\nextern void fadd__(current_i387_definefunyuan_void);\nextern void fmul__(current_i387_definefunyuan_void);\nextern void fsub__(current_i387_definefunyuan_void);\nextern void fsubr_(current_i387_definefunyuan_void);\nextern void fdiv__(current_i387_definefunyuan_void);\nextern void fdivr_(current_i387_definefunyuan_void);\nextern void fadd_i(current_i387_definefunyuan_void);\nextern void fmul_i(current_i387_definefunyuan_void);\nextern void fsubri(current_i387_definefunyuan_void);\nextern void fsub_i(current_i387_definefunyuan_void);\nextern void fdivri(current_i387_definefunyuan_void);\nextern void fdiv_i(current_i387_definefunyuan_void);\nextern void faddp_(current_i387_definefunyuan_void);\nextern void fmulp_(current_i387_definefunyuan_void);\nextern void fsubrp(current_i387_definefunyuan_void);\nextern void fsubp_(current_i387_definefunyuan_void);\nextern void fdivrp(current_i387_definefunyuan_void);\nextern void fdivp_(current_i387_definefunyuan_void);\n/* fpu_aux.c */\nextern void fclex(current_i387_definefunyuan_void);\nextern void finit(current_i387_definefunyuan_void);\nextern void finit_(current_i387_definefunyuan_void);\nextern void fstsw_(current_i387_definefunyuan_void);\nextern void fp_nop(current_i387_definefunyuan_void);\nextern void fld_i_(current_i387_definefunyuan_void);\nextern void fxch_i(current_i387_definefunyuan_void);\nextern void ffree_(current_i387_definefunyuan_void);\nextern void ffreep(current_i387_definefunyuan_void);\nextern void fst_i_(current_i387_definefunyuan_void);\nextern void fstp_i(current_i387_definefunyuan_void);\n/* fpu_entry.c */\nextern void math_emulate(current_i387_definefunyuan_   long arg);\nextern void math_abort(current_i387_definefunyuan_   struct info *info, unsigned int signal);\n/* fpu_etc.c */\nextern void FPU_etc(current_i387_definefunyuan_void);\n/* fpu_tags.c */\nextern int FPU_gettag0(current_i387_definefunyuan_void);\nextern int FPU_gettagi(current_i387_definefunyuan_   int stnr);\nextern int FPU_gettag(current_i387_definefunyuan_   int regnr);\nextern void FPU_settag0(current_i387_definefunyuan_   int tag);\nextern void FPU_settagi(current_i387_definefunyuan_   int stnr, int tag);\nextern void FPU_settag(current_i387_definefunyuan_   int regnr, int tag);\nextern int FPU_Special(current_i387_definefunyuan_   FPU_REG const *ptr);\nextern int isNaN(current_i387_definefunyuan_   FPU_REG const *ptr);\nextern void FPU_pop(current_i387_definefunyuan_void);\nextern int FPU_empty_i(current_i387_definefunyuan_   int stnr);\nextern int FPU_stackoverflow(current_i387_definefunyuan_   FPU_REG **st_new_ptr);\nextern void FPU_sync_tags(current_i387_definefunyuan_void);\nextern void FPU_copy_to_regi(current_i387_definefunyuan_   FPU_REG const *r, u_char tag, int stnr);\nextern void FPU_copy_to_reg1(current_i387_definefunyuan_   FPU_REG const *r, u_char tag);\nextern void FPU_copy_to_reg0(current_i387_definefunyuan_   FPU_REG const *r, u_char tag);\n/* fpu_trig.c */\nextern void FPU_triga(current_i387_definefunyuan_void);\nextern void FPU_trigb(current_i387_definefunyuan_void);\n/* get_address.c */\nextern void *FPU_get_address(current_i387_definefunyuan_   u_char FPU_modrm, u32 *fpu_eip,\n\t\t\t struct address *addr, fpu_addr_modes addr_modes);\nextern void *FPU_get_address_16(current_i387_definefunyuan_   u_char FPU_modrm, u32 *fpu_eip,\n\t\t\t    struct address *addr, fpu_addr_modes addr_modes);\n/* load_store.c */\nextern int FPU_load_store(current_i387_definefunyuan_   u_char type, fpu_addr_modes addr_modes,\n\t\t\t    void *data_address);\n/* poly_2xm1.c */\nextern int poly_2xm1(current_i387_definefunyuan_   u_char sign, FPU_REG *arg, FPU_REG *result);\n/* poly_atan.c */\nextern void poly_atan(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, FPU_REG *st1_ptr,\n\t\t      u_char st1_tag);\n/* poly_l2.c */\nextern void poly_l2(current_i387_definefunyuan_   FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign);\nextern int poly_l2p1(current_i387_definefunyuan_   u_char s0, u_char s1, FPU_REG *r0, FPU_REG *r1,\n\t\t     FPU_REG *d);\n/* poly_sin.c */\nextern void poly_sine(current_i387_definefunyuan_   FPU_REG *st0_ptr);\nextern void poly_cos(current_i387_definefunyuan_   FPU_REG *st0_ptr);\n/* poly_tan.c */\nextern void poly_tan(current_i387_definefunyuan_   FPU_REG *st0_ptr, int flag);\n/* reg_add_sub.c */\nextern int FPU_add(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb, int destrnr, u16 control_w);\nextern int FPU_sub(current_i387_definefunyuan_   int flags, FPU_REG *rm, u16 control_w);   // bbd: changed arg2 from int to FPU_REG*\n/* reg_compare.c */\nextern int FPU_compare_st_data(current_i387_definefunyuan_   FPU_REG const *loaded_data, u_char loaded_tag);\nextern void fcom_st(current_i387_definefunyuan_void);\nextern void fcompst(current_i387_definefunyuan_void);\nextern void fcompp(current_i387_definefunyuan_void);\nextern void fucom_(current_i387_definefunyuan_void);\nextern void fucomp(current_i387_definefunyuan_void);\nextern void fucompp(current_i387_definefunyuan_void);\n/* reg_constant.c */\nextern void fconst(current_i387_definefunyuan_void);\n/* reg_ld_str.c */\nextern int FPU_load_extended(current_i387_definefunyuan_   long double *s, int stnr);\nextern int FPU_load_double(current_i387_definefunyuan_   double *dfloat, FPU_REG *loaded_data);\nextern int FPU_load_single(current_i387_definefunyuan_   float *single, FPU_REG *loaded_data);\nextern int FPU_load_int64(current_i387_definefunyuan_   s64 *_s);\nextern int FPU_load_int32(current_i387_definefunyuan_   s32 *_s, FPU_REG *loaded_data);\nextern int FPU_load_int16(current_i387_definefunyuan_   s16 *_s, FPU_REG *loaded_data);\nextern int FPU_load_bcd(current_i387_definefunyuan_   u_char *s);\nextern int FPU_store_extended(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag,\n\t\t\t      long double *d);\nextern int FPU_store_double(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, double *dfloat);\nextern int FPU_store_single(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, float *single);\nextern int FPU_store_int64(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s64 *d);\nextern int FPU_store_int32(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s32 *d);\nextern int FPU_store_int16(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s16 *d);\nextern int FPU_store_bcd(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, u_char *d);\nextern int FPU_round_to_int(current_i387_definefunyuan_   FPU_REG *r, u_char tag);\nextern u_char *fldenv(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *s);\nextern void frstor(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *data_address);\nextern u_char *fstenv(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *d);\nextern void fsave(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *data_address);\nextern int FPU_tagof(current_i387_definefunyuan_   FPU_REG *ptr);\n/* reg_mul.c */\nextern int FPU_mul(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb, int deststnr, int control_w);\n\nextern int FPU_div(current_i387_definefunyuan_   int flags, FPU_REG *regrm, int control_w); // bbd: changed arg2 from int to FPU_REG*\n/* reg_convert.c */\nextern int FPU_to_exp16(current_i387_definefunyuan_   FPU_REG const *a, FPU_REG *x);\n\n\n/*\nvex86 error LNK2019: unresolved external symbol \"void __cdecl fpu_set_ax(struct BX_FCPU_I387 *,unsigned short)\" (?fpu_set_ax@@YAXPAUBX_FCPU_I387@@G@Z)\nreferenced in function \"void __cdecl fstsw_ax(struct BX_FCPU_I387 *)\" (?fstsw_ax@@YAXPAUBX_FCPU_I387@@@Z)\nvex86 error LNK2019: unresolved external symbol \"void __cdecl div_Xsig(struct Xsig const *,struct Xsig const *,struct Xsig *)\" (?div_Xsig@@YAXPBUXsig@@0PAU1@@Z)\nreferenced in function \"int __cdecl poly_2xm1(struct BX_FCPU_I387 *,unsigned char,struct fpu__reg *,struct fpu__reg *)\" (?poly_2xm1@@YAHPAUBX_FCPU_I387@@EPAUfpu__reg@@1@Z)\nvex86 error LNK2019: unresolved external symbol \"void __cdecl div_Xsig(struct Xsig const *,struct Xsig const *,struct Xsig *)\" (?div_Xsig@@YAXPBUXsig@@0PAU1@@Z)\nreferenced in function \"void __cdecl poly_tan(struct BX_FCPU_I387 *,struct fpu__reg *,int)\" (?poly_tan@@YAXPAUBX_FCPU_I387@@PAUfpu__reg@@H@Z)\nvex86 error LNK2001: unresolved external symbol \"void __cdecl div_Xsig(struct Xsig const *,struct Xsig const *,struct Xsig *)\" (?div_Xsig@@YAXPBUXsig@@0PAU1@@Z)\nvex86 error LNK2019: unresolved external symbol \"void __cdecl div_Xsig(struct Xsig const *,struct Xsig const *,struct Xsig *)\" (?div_Xsig@@YAXPBUXsig@@0PAU1@@Z) \nreferenced in function \"void __cdecl poly_atan(struct BX_FCPU_I387 *,struct fpu__reg *,unsigned char,struct fpu__reg *,unsigned char)\" (?poly_atan@@YAXPAUBX_FCPU_I387@@PAUfpu__reg@@E1E@Z)\n*/\n\n\n\n#endif /* _FPU_PROTO_H */\n\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/asm/desc.h",
    "content": "#ifndef __ARCH_DESC_H\n#define __ARCH_DESC_H\n\nstruct desc_struct {\n\tunsigned long a,b;\n};\n\nextern struct desc_struct gdt_table[];\nextern struct desc_struct *idt, *gdt;\n\nstruct Xgt_desc_struct {\n\tunsigned short size;\n\tunsigned long address GCC_ATTRIBUTE((packed));\n};\n\n#define idt_descr (*(struct Xgt_desc_struct *)((char *)&idt - 2))\n#define gdt_descr (*(struct Xgt_desc_struct *)((char *)&gdt - 2))\n\n/*\n * Entry into gdt where to find first TSS. GDT layout:\n *   0 - null\n *   1 - not used\n *   2 - kernel code segment\n *   3 - kernel data segment\n *   4 - user code segment\n *   5 - user data segment\n *   6 - not used\n *   7 - not used\n *   8 - APM BIOS support\n *   9 - APM BIOS support\n *  10 - APM BIOS support\n *  11 - APM BIOS support\n *  12 - TSS #0\n *  13 - LDT #0\n *  14 - TSS #1\n *  15 - LDT #1\n */\n#define FIRST_TSS_ENTRY 12\n#define FIRST_LDT_ENTRY (FIRST_TSS_ENTRY+1)\n#define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3))\n#define _LDT(n) ((((unsigned long) n)<<4)+(FIRST_LDT_ENTRY<<3))\n#define load_TR(n) __asm__ __volatile__(\"ltr %%ax\": /* no output */ :\"a\" (_TSS(n)))\n#define load_ldt(n) __asm__ __volatile__(\"lldt %%ax\": /* no output */ :\"a\" (_LDT(n)))\n#define store_TR(n) __asm__(\"str %%ax\\n\\t\"\t\"subl %2,%%eax\\n\\t\" \"shrl $4,%%eax\"\t:\"=a\" (n):\"0\" (0),\"i\" (FIRST_TSS_ENTRY<<3))\n\nextern void set_intr_gate(unsigned int irq, void * addr);\nextern void set_ldt_desc(unsigned int n, void *addr, unsigned int size);\nextern void set_tss_desc(unsigned int n, void *addr);\n\n/*\n * This is the ldt that every process will get unless we need\n * something other than this.\n */\nextern struct desc_struct default_ldt;\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/asm/math_emu.h",
    "content": "#ifndef _I386_MATH_EMU_H\n#define _I386_MATH_EMU_H\n\n// Don't really need anything in here.\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/asm/sigcontext.h",
    "content": "#ifndef _ASMi386_SIGCONTEXT_H\n#define _ASMi386_SIGCONTEXT_H\n\n/*\n * As documented in the iBCS2 standard..\n *\n * The first part of \"struct _fpstate\" is just the\n * normal i387 hardware setup, the extra \"status\"\n * word is used to save the coprocessor status word\n * before entering the handler.\n */\nstruct _fpreg {\n\tunsigned short significand[4];\n\tunsigned short exponent;\n};\n\nstruct _fpstate {\n\tunsigned long \tcw,\n\t\t\tsw,\n\t\t\ttag,\n\t\t\tipoff,\n\t\t\tcssel,\n\t\t\tdataoff,\n\t\t\tdatasel;\n\tstruct _fpreg\t_st[8];\n\tunsigned long\tstatus;\n};\n\n#if 0\n/* sigcontext is not needed by bochs, and it conflicts with some other\n   machine types (DEC OSF1) */\nstruct sigcontext {\n\tunsigned short gs, __gsh;\n\tunsigned short fs, __fsh;\n\tunsigned short es, __esh;\n\tunsigned short ds, __dsh;\n\tunsigned long edi;\n\tunsigned long esi;\n\tunsigned long ebp;\n\tunsigned long esp;\n\tunsigned long ebx;\n\tunsigned long edx;\n\tunsigned long ecx;\n\tunsigned long eax;\n\tunsigned long trapno;\n\tunsigned long err;\n\tunsigned long eip;\n\tunsigned short cs, __csh;\n\tunsigned long eflags;\n\tunsigned long esp_at_signal;\n\tunsigned short ss, __ssh;\n\tstruct _fpstate * fpstate;\n\tunsigned long oldmask;\n\tunsigned long cr2;\n};\n#endif\n\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/asm/types.h",
    "content": "#ifndef _I386_TYPES_H\n#define _I386_TYPES_H\n\n#ifndef __ASSEMBLY__\n#endif\n\n#endif  /* _I386_TYPES_H */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/asm/uaccess.h",
    "content": "#ifndef _I386_UACCESS_H\n#define _I386_UACCESS_H\n\n\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/kernel.h",
    "content": "#ifndef _LINUX_KERNEL_H\n#define _LINUX_KERNEL_H\n\nint fpu_printk(const char * fmt, ...)\n        GCC_ATTRIBUTE((format (printf, 1, 2)));\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/linkage.h",
    "content": "#ifndef _LINUX_LINKAGE_H\n#define _LINUX_LINKAGE_H\n\n#ifdef __cplusplus\n#define CPP_ASMLINKAGE extern \"C++\"\n#else\n#define CPP_ASMLINKAGE\n#endif\n\n#if defined __i386__ && (__GNUC__ > 2 || __GNUC_MINOR__ > 7)\n#define asmlinkage CPP_ASMLINKAGE GCC_ATTRIBUTE((regparm(0)))\n#else\n#define asmlinkage CPP_ASMLINKAGE\n#endif\n\n#define SYMBOL_NAME_STR(X) #X\n#define SYMBOL_NAME(X) X\n#ifdef __STDC__\n#define SYMBOL_NAME_LABEL(X) X##:\n#else\n#define SYMBOL_NAME_LABEL(X) X/**/:\n#endif\n\n#ifdef __arm__\n#define __ALIGN .align 0\n#define __ALIGN_STR \".align 0\"\n#else\n#ifdef __mc68000__\n#define __ALIGN .align 4\n#define __ALIGN_STR \".align 4\"\n#else\n#if !defined(__i486__) && !defined(__i586__)\n#define __ALIGN .align 4,0x90\n#define __ALIGN_STR \".align 4,0x90\"\n#else  /* __i486__/__i586__ */\n#define __ALIGN .align 16,0x90\n#define __ALIGN_STR \".align 16,0x90\"\n#endif /* __i486__/__i586__ */\n#endif /* __mc68000__ */\n#endif /* __arm__ */\n\n#ifdef __ASSEMBLY__\n\n#define ALIGN __ALIGN\n#define ALIGN_STR __ALIGN_STR\n\n#define ENTRY(name) \\\n  .globl SYMBOL_NAME(name); \\\n  ALIGN; \\\n  SYMBOL_NAME_LABEL(name)\n\n#endif\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/mm.h",
    "content": "#ifndef _LINUX_MM_H\n#define _LINUX_MM_H\n\n\n#define VERIFY_READ 0\n#define VERIFY_WRITE 1\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/sched.h",
    "content": ""
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/signal.h",
    "content": "#ifndef _ASMi386_SIGNAL_H\n#define _ASMi386_SIGNAL_H\n\n#define SIGILL           4\n#define SIGFPE           8\n#define SIGSEGV         11\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/stddef.h",
    "content": "#ifndef _LINUX_STDDEF_H\n#define _LINUX_STDDEF_H\n\n#ifndef _SIZE_T\n#define _SIZE_T\ntypedef unsigned int size_t;\n#endif\n\n#undef NULL\n#define NULL ((void *)0)\n\n#undef offsetof\n#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_stubs/linux/types.h",
    "content": "#ifndef _LINUX_TYPES_H\n#define _LINUX_TYPES_H\n\n#ifndef __ASSEMBLY__\n\n#define u_char bx_u_char\n#define u_short bx_u_short\n#define u_int bx_u_int\n#define u_long bx_u_long\n#define unchar bx_unchar\n#define ushort bx_ushort\n#define uint bx_uint\n#define ulong bx_ulong\n\n/* bsd */\ntypedef unsigned char           u_char;\ntypedef unsigned short          u_short;\ntypedef unsigned int            u_int;\ntypedef unsigned long           u_long;\n\n/* sysv */\ntypedef unsigned char           unchar;\ntypedef unsigned short          ushort;\ntypedef unsigned int            uint;\ntypedef unsigned long           ulong;\n\n#ifndef NULL\n#define NULL ((void *) 0)\n#endif\n\n#endif\n\n#endif /* _LINUX_TYPES_H */\n"
  },
  {
    "path": "Project/fpu/Source/fpu_system.h",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_system.h                                                             |\n |  $Id: fpu_system.h,v 1.4 2002/09/09 16:11:25 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1994,1997                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@suburbia.net             |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _FPU_SYSTEM_H\n#define _FPU_SYSTEM_H\n\n#ifndef USE_WITH_CPU_SIM\n\n/* system dependent definitions */\n\n#include <linux/sched.h>\n#include <linux/kernel.h>\n#include <linux/mm.h>\n\n/* This sets the pointer FPU_info to point to the argument part\n   of the stack frame of math_emulate(current_i387_definefunyuan_void   ) */\n#define SETUP_DATA_AREA(arg)\tFPU_info = (struct info *) &arg\n\n#define LDT_DESCRIPTOR(s)\t(((struct desc_struct *)current->mm->segments)[(s) >> 3])\n#define SEG_D_SIZE(x)\t\t((x).b & (3 << 21))\n#define SEG_G_BIT(x)\t\t((x).b & (1 << 23))\n#define SEG_GRANULARITY(x)\t(((x).b & (1 << 23)) ? 4096 : 1)\n#define SEG_286_MODE(x)\t\t((x).b & ( 0xff000000 | 0xf0000 | (1 << 23)))\n#define SEG_BASE_ADDR(s)\t(((s).b & 0xff000000) \\\n\t\t\t\t | (((s).b & 0xff) << 16) | ((s).a >> 16))\n#define SEG_LIMIT(s)\t\t(((s).b & 0xff0000) | ((s).a & 0xffff))\n#define SEG_EXECUTE_ONLY(s)\t(((s).b & ((1 << 11) | (1 << 9))) == (1 << 11))\n#define SEG_WRITE_PERM(s)\t(((s).b & ((1 << 11) | (1 << 9))) == (1 << 9))\n#define SEG_EXPAND_DOWN(s)\t(((s).b & ((1 << 11) | (1 << 10))) \\\n\t\t\t\t == (1 << 10))\n\n#define I387\t\t\t(current->tss.i387)\n#define FPU_info\t\t(I387.soft.info)\n\n#define FPU_CS\t\t\t(*(u16 *) &(FPU_info->___cs))\n#define FPU_SS\t\t\t(*(u16 *) &(FPU_info->___ss))\n#define FPU_DS\t\t\t(*(u16 *) &(FPU_info->___ds))\n#define FPU_EAX\t\t\t(FPU_info->___eax)\n#define FPU_EFLAGS\t\t(FPU_info->___eflags)\n#define FPU_EIP\t\t\t(FPU_info->___eip)\n#define FPU_ORIG_EIP\t\t(FPU_info->___orig_eip)\n\n#define FPU_lookahead           (I387.soft.lookahead)\n\n#define SET_AX(val16)           *(s16 *) &FPU_EAX = val16\n\n/* nz if ip_offset and cs_selector are not to be set for the current\n   instruction. */\n#define no_ip_update\t\t(*(u_char *)&(I387.soft.no_update))\n#define FPU_rm\t\t\t(*(u_char *)&(I387.soft.rm))\n\n/* Number of bytes of data which can be legally accessed by the current\n   instruction. This only needs to hold a number <= 108, so a byte will do. */\n#define access_limit\t\t(*(u_char *)&(I387.soft.alimit))\n\n#define partial_status\t\t(I387.soft.swd)\n#define control_word\t\t(I387.soft.cwd)\n#define fpu_tag_word\t\t(I387.soft.twd)\n#define registers\t\t(I387.soft.st_space)\n#define top\t\t\t(I387.soft.ftop)\n\n#define instruction_address\t(*(struct address *)&I387.soft.fip)\n#define operand_address\t\t(*(struct address *)&I387.soft.foo)\n\n#define FPU_verify_area(x,y,z)\tif ( verify_area(x,y,z) ) \\\n\t\t\t\tmath_abort(current_i387_yuan_   FPU_info,SIGSEGV)\n\n#undef FPU_IGNORE_CODE_SEGV\n#ifdef FPU_IGNORE_CODE_SEGV\n/* verify_area() is very expensive, and causes the emulator to run\n   about 20% slower if applied to the code. Anyway, errors due to bad\n   code addresses should be much rarer than errors due to bad data\n   addresses. */\n#define\tFPU_code_verify_area(z)\n#else\n/* A simpler test than verify_area() can probably be done for\n   FPU_code_verify_area() because the only possible error is to step\n   past the upper boundary of a legal code area. */\n#define\tFPU_code_verify_area(z) FPU_verify_area(VERIFY_READ,(void *)FPU_EIP,z)\n#endif\n\n#define FPU_get_user(x,y)       get_user((x),(y))\n#define FPU_put_user(x,y)       put_user((x),(y))\n\n#else  /* USE_WITH_CPU_SIM */\n\n/* -----------------------------------------------------------\n * Slimmed down version used to compile against a CPU simulator\n * rather than a kernel (ported by Kevin Lawton)\n * ------------------------------------------------------------ */\n\n#include \"../../IntelCPU/Source/i387.h\"\n\n/* bbd: include ported linux headers after config.h for GCC_ATTRIBUTE macro */\n#include <linux/kernel.h>\n#include <linux/mm.h>\n#include <asm/math_emu.h>\n#include <linux/types.h>\n\n#ifndef WORDS_BIGENDIAN\n#error \"WORDS_BIGENDIAN not defined in config.h\"\n#elif WORDS_BIGENDIAN == 1\n#define EMU_BIG_ENDIAN 1\n#else\n/* Nothing needed.  Lack of defining EMU_BIG_ENDIAN means\n * small endian\n */\n#endif\n\n\nextern unsigned fpu_get_user(current_i387_definefunyuan_   void *ptr, unsigned len);\nextern void fpu_put_user(current_i387_definefunyuan_   unsigned val, void *ptr, unsigned len);\n\nextern void fpu_verify_area(current_i387_definefunyuan_   unsigned what, void *ptr, unsigned n);\nextern void math_emulate_init(current_i387_definefunyuan_void);\nextern unsigned fpu_get_ds(current_i387_definefunyuan_void);\nextern void fpu_set_ax(current_i387_definefunyuan_   u16);\n\n#ifndef __ASSEMBLY__\n\nstruct info {\n#ifdef BX_NO_EMPTY_STRUCTS\n  unsigned char donotindexme;\n#endif\n  };\n\n#define FPU_info ((struct info *) NULL)\n\n#endif\n\n#define SIGSEGV  11\n\n//extern BX_FCPU_I387 *bx_fcpu_i387;\n\n#define i387     (*(bx_fcpu_i387->current_i387_))\n#define I387     i387\n\n\n#define SET_AX(val16)           fpu_set_ax(current_i387_yuan_   val16);\n\n#define no_ip_update            (*(u_char *)&(I387.soft.no_update))\n#define FPU_rm                  (*(u_char *)&(I387.soft.rm))\n\n\n/* Number of bytes of data which can be legally accessed by the current\n   instruction. This only needs to hold a number <= 108, so a byte will do. */\n#define access_limit            (*(u_char *)&(I387.soft.alimit))\n\n#define partial_status          (I387.soft.swd)\n#define control_word            (I387.soft.cwd)\n#define fpu_tag_word            (I387.soft.twd)\n#define registers               (I387.soft.st_space)\n#define top                     (I387.soft.ftop)\n\n#define instruction_address     (*(struct address *)&I387.soft.fip)\n#define operand_address         (*(struct address *)&I387.soft.foo)\n\n#define FPU_verify_area(x,y,z)\tfpu_verify_area(current_i387_yuan_   x,y,z)\n#define FPU_get_user(x,y)       ((x) = fpu_get_user(current_i387_yuan_   (y), sizeof(*(y))))\n#define FPU_put_user(val,ptr)   fpu_put_user(current_i387_yuan_   (val),(ptr),sizeof(*(ptr)))\n\n#define FPU_DS  (fpu_get_ds(current_i387_yuan_void))\n\n#endif  /* USE_WITH_CPU_SIM */\n\n// bbd: Change a pointer to an int, with type conversions that make it legal.\n// First make it a void pointer, then convert to an integer of the same\n// size as the pointer.  Otherwise, on machines with 64-bit pointers, \n// compilers complain when you typecast a 64-bit pointer into a 32-bit integer.\n#define PTR2INT(x) ((bx_ptr_equiv_t)(void *)(x))\n\n// bbd: Change an int to a pointer, with type conversions that make it legal.\n// Same strategy as PTR2INT: change to bx_ptr_equiv_t which is an integer\n// type of the same size as FPU_REG*.  Then the conversion to pointer\n// is legal.\n#define REGNO2PTR(x)\t\t((FPU_REG*)((bx_ptr_equiv_t)(x)))\n\n#endif\n"
  },
  {
    "path": "Project/fpu/Source/fpu_tags.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_tags.c                                                               |\n |  $Id: fpu_tags.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |  Set FPU register tags.                                                   |\n |                                                                           |\n | Copyright (C) 1997                                                        |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@jacobi.maths.monash.edu.au                |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n\n\nvoid FPU_pop(current_i387_definefunyuan_void)\n{\n  fpu_tag_word |= 3 << ((top & 7)*2);\n  top++;\n}\n\n\nint FPU_gettag0(current_i387_definefunyuan_void)\n{\n  return (fpu_tag_word >> ((top & 7)*2)) & 3;\n}\n\n\nint FPU_gettagi(current_i387_definefunyuan_   int stnr)\n{\n  return (fpu_tag_word >> (((top+stnr) & 7)*2)) & 3;\n}\n\n\nint FPU_gettag(current_i387_definefunyuan_   int regnr)\n{\n  return (fpu_tag_word >> ((regnr & 7)*2)) & 3;\n}\n\n\nvoid FPU_settag0(current_i387_definefunyuan_   int tag)\n{\n  int regnr = top;\n  regnr &= 7;\n  fpu_tag_word &= ~(3 << (regnr*2));\n  fpu_tag_word |= (tag & 3) << (regnr*2);\n}\n\n\nvoid FPU_settagi(current_i387_definefunyuan_   int stnr, int tag)\n{\n  int regnr = stnr+top;\n  regnr &= 7;\n  fpu_tag_word &= ~(3 << (regnr*2));\n  fpu_tag_word |= (tag & 3) << (regnr*2);\n}\n\n\nvoid FPU_settag(current_i387_definefunyuan_   int regnr, int tag)\n{\n  regnr &= 7;\n  fpu_tag_word &= ~(3 << (regnr*2));\n  fpu_tag_word |= (tag & 3) << (regnr*2);\n}\n\n\nint FPU_Special(current_i387_definefunyuan_   FPU_REG const *ptr)\n{\n  int exp = exponent(ptr);\n\n  if ( exp == EXP_BIAS+EXP_UNDER )\n    return TW_Denormal;\n  else if ( exp != EXP_BIAS+EXP_OVER )\n    return TW_NaN;\n  else if ( (ptr->sigh == 0x80000000) && (ptr->sigl == 0) )\n    return TW_Infinity;\n  return TW_NaN;\n}\n\n\nint isNaN(current_i387_definefunyuan_   FPU_REG const *ptr)\n{\n  return ( (exponent(ptr) == EXP_BIAS+EXP_OVER)\n\t   && !((ptr->sigh == 0x80000000) && (ptr->sigl == 0)) );\n}\n\n\nint FPU_empty_i(current_i387_definefunyuan_   int stnr)\n{\n  int regnr = (top+stnr) & 7;\n\n  return ((fpu_tag_word >> (regnr*2)) & 3) == TAG_Empty;\n}\n\n\nint FPU_stackoverflow(current_i387_definefunyuan_   FPU_REG **st_new_ptr)\n{\n  *st_new_ptr = &st(-1);\n\n  return ((fpu_tag_word >> (((top - 1) & 7)*2)) & 3) != TAG_Empty;\n}\n\n\nvoid FPU_copy_to_regi(current_i387_definefunyuan_   FPU_REG const *r, u_char tag, int stnr)\n{\n  reg_copy(r, &st(stnr));\n  FPU_settagi(current_i387_yuan_   stnr, tag);\n}\n\nvoid FPU_copy_to_reg1(current_i387_definefunyuan_   FPU_REG const *r, u_char tag)\n{\n  reg_copy(r, &st(1));\n  FPU_settagi(current_i387_yuan_   1, tag);\n}\n\nvoid FPU_copy_to_reg0(current_i387_definefunyuan_   FPU_REG const *r, u_char tag)\n{\n  int regnr = top;\n  regnr &= 7;\n\n  reg_copy(r, &st(0));\n\n  fpu_tag_word &= ~(3 << (regnr*2));\n  fpu_tag_word |= (tag & 3) << (regnr*2);\n}\n"
  },
  {
    "path": "Project/fpu/Source/fpu_trig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  fpu_trig.c                                                               |\n |  $Id: fpu_trig.c,v 1.5 2002/07/03 20:13:31 vruppert Exp $\n |                                                                           |\n | Implementation of the FPU \"transcendental\" functions.                     |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997,1999                                    |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@melbpc.org.au            |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"status_w.h\"\n#include \"control_w.h\"\n#include \"reg_constant.h\"\t\n\nstatic void rem_kernel(u64 st0, u64 *y, u64 st1, u64 q, int n);\n\n#define BETTER_THAN_486\n\n#define FCOS  4\n#define FPTAN  8\n\n/* Used only by fptan, fsin, fcos, and fsincos. */\n/* This routine produces very accurate results, similar to\n   using a value of pi with more than 128 bits precision. */\n/* Limited measurements show no results worse than 64 bit precision\n   except for the results for arguments close to 2^63, where the\n   precision of the result sometimes degrades to about 63.9 bits */\nstatic int trig_arg(current_i387_definefunyuan_   FPU_REG *st0_ptr, int flags)\n{\n  FPU_REG tmp;\n  u_char tmptag;\n  u64 q;\n  int old_cw = control_word, saved_status = partial_status;\n  int tag, st0_tag = TAG_Valid;\n\n  if ( exponent(st0_ptr) >= 63 )\n    {\n      partial_status |= SW_C2;     /* Reduction incomplete. */\n      return -1;\n    }\n\n  if ( flags & FPTAN )\n    st0_ptr->exp ++;         /* Effectively base the following upon pi/4 */\n\n  control_word &= ~CW_RC;\n  control_word |= RC_CHOP;\n\n  setpositive(st0_ptr);\n  tag = FPU_u_div(current_i387_yuan_   st0_ptr,\n                 &CONST_PI2,\n                 &tmp, PR_64_BITS | RC_CHOP | 0x3f, SIGN_POS);\n\n  FPU_round_to_int(current_i387_yuan_   &tmp, tag);  /* Fortunately, this can't overflow\n\t\t\t\t   to 2^64 */\n  q = significand(&tmp);\n\n  if ( q )\n    {\n      rem_kernel(significand(st0_ptr),\n\t\t &significand(&tmp),\n\t\t significand(&CONST_PI2),\n\t\t q, exponent(st0_ptr) - exponent(&CONST_PI2));\n      setexponent16(&tmp, exponent(&CONST_PI2));\n      st0_tag = FPU_normalize_nuo(current_i387_yuan_   &tmp,\n                                 EXTENDED_Ebias);  /* No underflow or overflow\n                                                      is possible */\n\n      FPU_copy_to_reg0(current_i387_yuan_   &tmp, st0_tag);\n    }\n\n  if ( ((flags & FCOS) && !(q & 1)) || (!(flags & FCOS) && (q & 1)) )\n    {\n      st0_tag = FPU_sub(current_i387_yuan_   REV|LOADED|TAG_Valid, &CONST_PI2, FULL_PRECISION); //bbd: arg2 used to typecast to (int)\n\n#ifdef BETTER_THAN_486\n      /* So far, the results are exact but based upon a 64 bit\n\t precision approximation to pi/2. The technique used\n\t now is equivalent to using an approximation to pi/2 which\n\t is accurate to about 128 bits. */\n      if ( (exponent(st0_ptr) <= exponent(&CONST_PI2extra) + 64) || (q > 1) )\n\t{\n\t  /* This code gives the effect of having pi/2 to better than\n\t     128 bits precision. */\n\n\t  significand(&tmp) = q + 1;\n\t  setexponent16(&tmp, 63);\n          FPU_normalize_nuo(current_i387_yuan_   &tmp,\n                            EXTENDED_Ebias);  /* No underflow or overflow\n                                                 is possible */\n\t  tmptag =\n\t    FPU_u_mul(current_i387_yuan_   &CONST_PI2extra, &tmp, &tmp, FULL_PRECISION, SIGN_POS,\n\t\t      exponent(&CONST_PI2extra) + exponent(&tmp));\n\t  setsign(&tmp, getsign(&CONST_PI2extra));\n\t  st0_tag = FPU_add(current_i387_yuan_   &tmp, tmptag, 0, FULL_PRECISION);\n          if ( signnegative(st0_ptr) && !(flags & FPTAN) )\n\t    {\n\t      /* CONST_PI2extra is negative, so the result of the addition\n\t\t can be negative. This means that the argument is actually\n\t\t in a different quadrant. The correction is always < pi/2,\n\t\t so it can't overflow into yet another quadrant. */\n              /* The function is even, so we need just adjust the sign\n                 and q. */\n\t      setpositive(st0_ptr);\n\t      q++;\n\t    }\n\t}\n#endif /* BETTER_THAN_486 */\n    }\n#ifdef BETTER_THAN_486\n  else\n    {\n      /* So far, the results are exact but based upon a 64 bit\n\t precision approximation to pi/2. The technique used\n\t now is equivalent to using an approximation to pi/2 which\n\t is accurate to about 128 bits. */\n      if ( ((q > 0)\n           && (exponent(st0_ptr) <= exponent(&CONST_PI2extra) + 64))\n\t   || (q > 1) )\n\t{\n\t  /* This code gives the effect of having p/2 to better than\n\t     128 bits precision. */\n\n\t  significand(&tmp) = q;\n\t  setexponent16(&tmp, 63);\n          FPU_normalize_nuo(current_i387_yuan_   &tmp,\n                            EXTENDED_Ebias);  /* No underflow or overflow\n                                                 is possible.\n                                                 This must return TAG_Valid */\n\t  tmptag = FPU_u_mul(current_i387_yuan_   &CONST_PI2extra, &tmp, &tmp, FULL_PRECISION,\n\t\t\t     SIGN_POS,\n\t\t\t     exponent(&CONST_PI2extra) + exponent(&tmp));\n\t  setsign(&tmp, getsign(&CONST_PI2extra));\n\t  st0_tag = FPU_sub(current_i387_yuan_   LOADED|(tmptag & 0x0f), &tmp,\n\t\t\t    FULL_PRECISION);\n\t  if ( (exponent(st0_ptr) == exponent(&CONST_PI2)) &&\n\t      ((st0_ptr->sigh > CONST_PI2.sigh)\n\t       || ((st0_ptr->sigh == CONST_PI2.sigh)\n\t\t   && (st0_ptr->sigl > CONST_PI2.sigl))) )\n\t    {\n\t      /* CONST_PI2extra is negative, so the result of the\n\t\t subtraction can be larger than pi/2. This means\n\t\t that the argument is actually in a different quadrant.\n\t\t The correction is always < pi/2, so it can't overflow\n\t\t into yet another quadrant. \n\t         bbd: arg2 used to typecast to (int), corrupting 64-bit ptrs\n\t       */\n\t      st0_tag = FPU_sub(current_i387_yuan_   REV|LOADED|TAG_Valid, &CONST_PI2,\n\t\t\t\tFULL_PRECISION);\n\t      q++;\n\t    }\n\t}\n    }\n#endif /* BETTER_THAN_486 */\n\n  FPU_settag0(current_i387_yuan_   st0_tag);\n  control_word = old_cw;\n  partial_status = saved_status & ~SW_C2;     /* Reduction complete. */\n\n  if ( flags & FPTAN )\n    {\n      st0_ptr->exp --;\n      return (int)(q & 7);\n    }\n\n  return (int)((q & 3) | (flags & FCOS));\n}\n\n\n/* Convert a s32 to register */\nstatic void convert_l2reg(current_i387_definefunyuan_   s32 const *arg, int deststnr)\n{\n  int tag;\n  s32 num = *arg;\n  u_char sign;\n  FPU_REG *dest = &st(deststnr);\n\n  if (num == 0)\n    {\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n      return;\n    }\n\n  if (num > 0)\n    { sign = SIGN_POS; }\n  else\n    { num = -num; sign = SIGN_NEG; }\n\n  dest->sigh = num;\n  dest->sigl = 0;\n  setexponent16(dest, 31);\n  tag = FPU_normalize_nuo(current_i387_yuan_   dest,\n                         EXTENDED_Ebias);  /* No underflow or overflow\n                                              is possible */\n  FPU_settagi(current_i387_yuan_   deststnr, tag);\n  setsign(dest, sign);\n  return;\n}\n\n\nstatic void single_arg_error(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  if ( st0_tag == TAG_Empty )\n    FPU_stack_underflow(current_i387_yuan_clono  );  /* Puts a QNaN in st(0) */\n  else if ( st0_tag == TW_NaN )\n    real_1op_NaN(current_i387_yuan_   st0_ptr);       /* return with a NaN in st(0) */\n#ifdef PARANOID\n  else\n    EXCEPTION(EX_INTERNAL|0x0112);\n#endif /* PARANOID */\n}\n\n\nstatic void single_arg_2_error(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  int isNaN;\n\n  switch ( st0_tag )\n    {\n    case TW_NaN:\n      isNaN = (exponent(st0_ptr) == EXP_OVER) && (st0_ptr->sigh & 0x80000000);\n      if ( isNaN && !(st0_ptr->sigh & 0x40000000) )   /* Signaling ? */\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  if ( control_word & CW_Invalid )\n\t    {\n\t      /* The masked response */\n\t      /* Convert to a QNaN */\n\t      st0_ptr->sigh |= 0x40000000;\n\t      push();\n\t      FPU_copy_to_reg0(current_i387_yuan_   st0_ptr, TAG_Special);\n\t    }\n\t}\n      else if ( isNaN )\n\t{\n\t  /* A QNaN */\n\t  push();\n\t  FPU_copy_to_reg0(current_i387_yuan_   st0_ptr, TAG_Special);\n\t}\n      else\n\t{\n\t  /* pseudoNaN or other unsupported */\n\t  EXCEPTION(EX_Invalid);\n\t  if ( control_word & CW_Invalid )\n\t    {\n\t      /* The masked response */\n\t      FPU_copy_to_reg0(current_i387_yuan_   &CONST_QNaN, TAG_Special);\n\t      push();\n\t      FPU_copy_to_reg0(current_i387_yuan_   &CONST_QNaN, TAG_Special);\n\t    }\n\t}\n      break;              /* return with a NaN in st(0) */\n#ifdef PARANOID\n    default:\n      EXCEPTION(EX_INTERNAL|0x0112);\n#endif /* PARANOID */\n    }\n}\n\n\n/*---------------------------------------------------------------------------*/\n\nstatic void f2xm1(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char tag)\n{\n  FPU_REG a;\n\n  clear_C1();\n\n  if ( tag == TAG_Valid )\n    {\n      /* For an 80486 FPU, the result is undefined if the arg is >= 1.0 */\n      if ( exponent(st0_ptr) < 0 )\n\t{\n\tdenormal_arg:\n\n\t  FPU_to_exp16(current_i387_yuan_   st0_ptr, &a);\n\n\t  /* poly_2xm1(current_i387_yuan_   x) requires 0 < st(0) < 1. */\n\t  poly_2xm1(current_i387_yuan_   getsign(st0_ptr), &a, st0_ptr);\n\t}\n      set_precision_flag_up(current_i387_yuan_clono  );   /* 80486 appears to always do this */\n      return;\n    }\n\n  if ( tag == TAG_Zero )\n    return;\n\n  if ( tag == TAG_Special )\n    tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  switch ( tag )\n    {\n    case TW_Denormal:\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n      goto denormal_arg;\n    case TW_Infinity:\n      if ( signnegative(st0_ptr) )\n\t{\n\t  /* -infinity gives -1 (p16-10) */\n\t  FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n\t  setnegative(st0_ptr);\n\t}\n      return;\n    default:\n      single_arg_error(current_i387_yuan_   st0_ptr, tag);\n    }\n}\n\n\nstatic void fptan(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st_new_ptr;\n  u32 q;\n  u_char arg_sign = getsign(st0_ptr);\n  int invert[] = { 0, 1, 1, 0, 0, 1, 1, 0 };\n\n  /* Stack underflow has higher priority */\n  if ( st0_tag == TAG_Empty )\n    {\n      FPU_stack_underflow(current_i387_yuan_clono  );  /* Puts a QNaN in st(0) */\n      if ( control_word & CW_Invalid )\n\t{\n\t  st_new_ptr = &st(-1);\n\t  push();\n\t  FPU_stack_underflow(current_i387_yuan_clono  );  /* Puts a QNaN in the new st(0) */\n\t}\n      return;\n    }\n\n  if ( STACK_OVERFLOW )\n    { FPU_stack_overflow(current_i387_yuan_clono  ); return; }\n\n  if ( st0_tag == TAG_Valid )\n    {\n      if ( exponent(st0_ptr) > -40 )\n\t{\n          if ( (q = trig_arg(current_i387_yuan_   st0_ptr, FPTAN)) == -1 )\n\t    {\n\t      /* Operand is out of range */\n\t      return;\n\t    }\n\n          poly_tan(current_i387_yuan_   st0_ptr, invert[q]);\n          setsign(st0_ptr, ((q & 2) != 0) ^ (arg_sign != 0));\n\t  set_precision_flag_up(current_i387_yuan_clono  );  /* We do not really know if up or down */\n\t}\n      else\n\t{\n\t  /* For a small arg, the result == the argument */\n\t  /* Underflow may happen */\n\n\tdenormal_arg:\n\n\t  FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);\n      \n\t  st0_tag = FPU_round(current_i387_yuan_   st0_ptr, 1, 0, FULL_PRECISION, arg_sign);\n\t  FPU_settag0(current_i387_yuan_   st0_tag);\n\t}\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n      return;\n    }\n\n  if ( st0_tag == TAG_Zero )\n    {\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n      setcc(0);\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( st0_tag == TW_Denormal )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n\n      goto denormal_arg;\n    }\n\n  if ( st0_tag == TW_Infinity )\n    {\n      /* The 80486 treats infinity as an invalid operand */\n      if ( arith_invalid(current_i387_yuan_   0) >= 0 )\n\t{\n\t  st_new_ptr = &st(-1);\n\t  push();\n\t  arith_invalid(current_i387_yuan_   0);\n\t}\n      return;\n    }\n\n  single_arg_2_error(current_i387_yuan_   st0_ptr, st0_tag);\n}\n\n\nstatic void fxtract(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st_new_ptr;\n  u_char sign;\n  register FPU_REG *st1_ptr = st0_ptr;  /* anticipate */\n\n  if ( STACK_OVERFLOW )\n    {  FPU_stack_overflow(current_i387_yuan_clono  ); return; }\n\n  clear_C1();\n\n  if ( st0_tag == TAG_Valid )\n    {\n      s32 e;\n\n      push();\n      sign = getsign(st1_ptr);\n      reg_copy(st1_ptr, st_new_ptr);\n      setexponent16(st_new_ptr, exponent(st_new_ptr));\n\n    denormal_arg:\n\n      e = exponent16(st_new_ptr);\n      convert_l2reg(current_i387_yuan_   &e, 1);\n      setexponentpos(st_new_ptr, 0);\n      setsign(st_new_ptr, sign);\n      FPU_settag0(current_i387_yuan_   TAG_Valid);       /* Needed if arg was a denormal */\n      return;\n    }\n  else if ( st0_tag == TAG_Zero )\n    {\n      sign = getsign(st0_ptr);\n\n      if ( FPU_divide_by_zero(current_i387_yuan_   0, SIGN_NEG) < 0 )\n\treturn;\n\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_Z, TAG_Zero);\n      setsign(st_new_ptr, sign);\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( st0_tag == TW_Denormal )\n    {\n      if (denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n\n      push();\n      sign = getsign(st1_ptr);\n      FPU_to_exp16(current_i387_yuan_   st1_ptr, st_new_ptr);\n      goto denormal_arg;\n    }\n  else if ( st0_tag == TW_Infinity )\n    {\n      sign = getsign(st0_ptr);\n      setpositive(st0_ptr);\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_INF, TAG_Special);\n      setsign(st_new_ptr, sign);\n      return;\n    }\n  else if ( st0_tag == TW_NaN )\n    {\n      if ( real_1op_NaN(current_i387_yuan_   st0_ptr) < 0 )\n\treturn;\n\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   st0_ptr, TAG_Special);\n      return;\n    }\n  else if ( st0_tag == TAG_Empty )\n    {\n      /* Is this the correct behaviour? */\n      if ( control_word & EX_Invalid )\n\t{\n\t  FPU_stack_underflow(current_i387_yuan_clono  );\n\t  push();\n\t  FPU_stack_underflow(current_i387_yuan_clono  );\n\t}\n      else\n\tEXCEPTION(EX_StackUnder);\n    }\n#ifdef PARANOID\n  else\n    EXCEPTION(EX_INTERNAL | 0x119);\n#endif /* PARANOID */\n}\n\n\nstatic void fdecstp(current_i387_definefunyuan_void)\n{\n  clear_C1();\n  top--;\n}\n\nstatic void fincstp(current_i387_definefunyuan_void)\n{\n  clear_C1();\n  top++;\n}\n\n\nstatic void fsqrt_(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  int expon;\n\n  clear_C1();\n\n  if ( st0_tag == TAG_Valid )\n    {\n      u_char tag;\n      \n      if (signnegative(st0_ptr))\n\t{\n\t  arith_invalid(current_i387_yuan_   0);  /* sqrt(negative) is invalid */\n\t  return;\n\t}\n\n      /* make st(0) in  [1.0 .. 4.0) */\n      expon = exponent(st0_ptr);\n\n    denormal_arg:\n\n      setexponent16(st0_ptr, (expon & 1));\n\n      /* Do the computation, the sign of the result will be positive. */\n      tag = wm_sqrt(current_i387_yuan_   st0_ptr, 0, 0, control_word, SIGN_POS);\n      addexponent(st0_ptr, expon >> 1);\n      FPU_settag0(current_i387_yuan_   tag);\n      return;\n    }\n\n  if ( st0_tag == TAG_Zero )\n    return;\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( st0_tag == TW_Infinity )\n    {\n      if ( signnegative(st0_ptr) )\n\tarith_invalid(current_i387_yuan_   0);  /* sqrt(-Infinity) is invalid */\n      return;\n    }\n  else if ( st0_tag == TW_Denormal )\n    {\n      if (signnegative(st0_ptr))\n\t{\n\t  arith_invalid(current_i387_yuan_   0);  /* sqrt(negative) is invalid */\n\t  return;\n\t}\n\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n\n      FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);\n\n      expon = exponent16(st0_ptr);\n\n      goto denormal_arg;\n    }\n\n  single_arg_error(current_i387_yuan_   st0_ptr, st0_tag);\n\n}\n\n\nstatic void frndint_(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  int flags, tag;\n\n  if ( st0_tag == TAG_Valid )\n    {\n      u_char sign;\n\n    denormal_arg:\n\n      sign = getsign(st0_ptr);\n\n      if (exponent(st0_ptr) > 63)\n\treturn;\n\n      if ( st0_tag == TW_Denormal )\n\t{\n\t  if (denormal_operand(current_i387_yuan_le   ) < 0 )\n\t    return;\n\t}\n\n      /* Fortunately, this can't overflow to 2^64 */\n      if ( (flags = FPU_round_to_int(current_i387_yuan_   st0_ptr, st0_tag)) )\n\tset_precision_flag(current_i387_yuan_   flags);\n\n      setexponent16(st0_ptr, 63);\n      tag = FPU_normalize_nuo(current_i387_yuan_   st0_ptr,\n                             EXTENDED_Ebias);  /* No underflow or overflow\n                                                  is possible */\n      setsign(st0_ptr, sign);\n      FPU_settag0(current_i387_yuan_   tag);\n      return;\n    }\n\n  if ( st0_tag == TAG_Zero )\n    return;\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( st0_tag == TW_Denormal )\n    goto denormal_arg;\n  else if ( st0_tag == TW_Infinity )\n    return;\n  else\n    single_arg_error(current_i387_yuan_   st0_ptr, st0_tag);\n}\n\n\nstatic int fsin(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char tag)\n{\n  u_char arg_sign = getsign(st0_ptr);\n\n  if ( tag == TAG_Valid )\n    {\n      u32 q;\n\n      if ( exponent(st0_ptr) > -40 )\n\t{\n\t  if ( (q = trig_arg(current_i387_yuan_   st0_ptr, 0)) == -1 )\n\t    {\n\t      /* Operand is out of range */\n\t      return 1;\n\t    }\n\n\t  poly_sine(current_i387_yuan_   st0_ptr);\n\t  \n\t  if (q & 2)\n\t    changesign(st0_ptr);\n\n\t  setsign(st0_ptr, getsign(st0_ptr) ^ arg_sign);\n\n\t  /* We do not really know if up or down */\n\t  set_precision_flag_up(current_i387_yuan_clono  );\n\t  return 0;\n\t}\n      else\n\t{\n\t  /* For a small arg, the result == the argument */\n\t  set_precision_flag_up(current_i387_yuan_clono  );  /* Must be up. */\n\t  return 0;\n\t}\n    }\n\n  if ( tag == TAG_Zero )\n    {\n      setcc(0);\n      return 0;\n    }\n\n  if ( tag == TAG_Special )\n    tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( tag == TW_Denormal )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn 1;\n\n      /* For a small arg, the result == the argument */\n      /* Underflow may happen */\n      FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);\n      \n      tag = FPU_round(current_i387_yuan_   st0_ptr, 1, 0, FULL_PRECISION, arg_sign);\n\n      FPU_settag0(current_i387_yuan_   tag);\n\n      return 0;\n    }\n  else if ( tag == TW_Infinity )\n    {\n      /* The 80486 treats infinity as an invalid operand */\n      arith_invalid(current_i387_yuan_   0);\n      return 1;\n    }\n  else\n    {\n      single_arg_error(current_i387_yuan_   st0_ptr, tag);\n      return 1;\n    }\n}\n\n\nstatic int f_cos(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char tag)\n{\n  u_char st0_sign;\n\n  st0_sign = getsign(st0_ptr);\n\n  if ( tag == TAG_Valid )\n    {\n      u32 q;\n\n      if ( exponent(st0_ptr) > -40 )\n\t{\n\t  if ( (exponent(st0_ptr) < 0)\n\t      || ((exponent(st0_ptr) == 0)\n\t\t  && (significand(st0_ptr) <= BX_CONST64(0xc90fdaa22168c234))) )\n\t    {\n\t      poly_cos(current_i387_yuan_   st0_ptr);\n\n\t      /* We do not really know if up or down */\n\t      set_precision_flag_down(current_i387_yuan_clono  );\n\t  \n\t      return 0;\n\t    }\n\t  else if ( (q = trig_arg(current_i387_yuan_   st0_ptr, FCOS)) != -1 )\n\t    {\n\t      poly_sine(current_i387_yuan_   st0_ptr);\n\n\t      if ((q+1) & 2)\n\t\tchangesign(st0_ptr);\n\n\t      /* We do not really know if up or down */\n\t      set_precision_flag_down(current_i387_yuan_clono  );\n\t  \n\t      return 0;\n\t    }\n\t  else\n\t    {\n\t      /* Operand is out of range */\n\t      return 1;\n\t    }\n\t}\n      else\n\t{\n\tdenormal_arg:\n\n\t  setcc(0);\n\t  FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n#ifdef PECULIAR_486\n\t  set_precision_flag_down(current_i387_yuan_clono  );  /* 80486 appears to do this. */\n#else\n\t  set_precision_flag_up(current_i387_yuan_clono  );  /* Must be up. */\n#endif /* PECULIAR_486 */\n\t  return 0;\n\t}\n    }\n  else if ( tag == TAG_Zero )\n    {\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n      setcc(0);\n      return 0;\n    }\n\n  if ( tag == TAG_Special )\n    tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( tag == TW_Denormal )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn 1;\n\n      goto denormal_arg;\n    }\n  else if ( tag == TW_Infinity )\n    {\n      /* The 80486 treats infinity as an invalid operand */\n      arith_invalid(current_i387_yuan_   0);\n      return 1;\n    }\n  else\n    {\n      single_arg_error(current_i387_yuan_   st0_ptr, tag);  /* requires st0_ptr == &st(0) */\n      return 1;\n    }\n}\n\n\nstatic void fcos(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  f_cos(current_i387_yuan_   st0_ptr, st0_tag);\n}\n\n\nstatic void fsincos(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st_new_ptr;\n  FPU_REG arg;\n  u_char tag;\n\n  /* Stack underflow has higher priority */\n  if ( st0_tag == TAG_Empty )\n    {\n      FPU_stack_underflow(current_i387_yuan_clono  );  /* Puts a QNaN in st(0) */\n      if ( control_word & CW_Invalid )\n\t{\n\t  st_new_ptr = &st(-1);\n\t  push();\n\t  FPU_stack_underflow(current_i387_yuan_clono  );  /* Puts a QNaN in the new st(0) */\n\t}\n      return;\n    }\n\n  if ( STACK_OVERFLOW )\n    { FPU_stack_overflow(current_i387_yuan_clono  ); return; }\n\n  if ( st0_tag == TAG_Special )\n    tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  else\n    tag = st0_tag;\n\n  if ( tag == TW_NaN )\n    {\n      single_arg_2_error(current_i387_yuan_   st0_ptr, TW_NaN);\n      return;\n    }\n  else if ( tag == TW_Infinity )\n    {\n      /* The 80486 treats infinity as an invalid operand */\n      if ( arith_invalid(current_i387_yuan_   0) >= 0 )\n\t{\n\t  /* Masked response */\n\t  push();\n\t  arith_invalid(current_i387_yuan_   0);\n\t}\n      return;\n    }\n\n  reg_copy(st0_ptr, &arg);\n  if ( !fsin(current_i387_yuan_   st0_ptr, st0_tag) )\n    {\n      push();\n      FPU_copy_to_reg0(current_i387_yuan_   &arg, st0_tag);\n      f_cos(current_i387_yuan_   &st(0), st0_tag);\n    }\n  else\n    {\n      /* An error, so restore st(0) */\n      FPU_copy_to_reg0(current_i387_yuan_   &arg, st0_tag);\n    }\n}\n\n\n/*---------------------------------------------------------------------------*/\n/* The following all require two arguments: st(0) and st(1) */\n\n/* A lean, mean kernel for the fprem instructions. This relies upon\n   the division and rounding to an integer in do_fprem giving an\n   exact result. Because of this, rem_kernel() needs to deal only with\n   the least significant 64 bits, the more significant bits of the\n   result must be zero.\n */\nstatic void rem_kernel(u64 st0, u64 *y, u64 st1, u64 q, int n)\n{\n  u64 x;\n\n#ifdef NO_ASSEMBLER\n  u64 work;\n\n  x = st0 << n;\n\n  work = (u32)st1;\n  work *= (u32)q;\n  x -= work;\n\n  work = st1 >> 32;\n  work *= (u32)q;\n  x -= work << 32;\n\n  work = (u32)st1;\n  work *= q >> 32;\n  x -= work << 32;\n  \n#else\n  int dummy;\n\n  x = st0 << n;\n\n  /* Do the required multiplication and subtraction in the one operation */\n\n  /* lsw x -= lsw st1 * lsw q */\n  asm volatile (\"mull %4; subl %%eax,%0; sbbl %%edx,%1\"\n\t\t:\"=m\" (((u32 *)&x)[0]), \"=m\" (((u32 *)&x)[1]),\n\t\t\"=a\" (dummy)\n\t\t:\"2\" (((u32 *)&st1)[0]), \"m\" (((u32 *)&q)[0])\n\t\t:\"%dx\");\n  /* msw x -= msw st1 * lsw q */\n  asm volatile (\"mull %3; subl %%eax,%0\"\n\t\t:\"=m\" (((u32 *)&x)[1]), \"=a\" (dummy)\n\t\t:\"1\" (((u32 *)&st1)[1]), \"m\" (((u32 *)&q)[0])\n\t\t:\"%dx\");\n  /* msw x -= lsw st1 * msw q */\n  asm volatile (\"mull %3; subl %%eax,%0\"\n\t\t:\"=m\" (((u32 *)&x)[1]), \"=a\" (dummy)\n\t\t:\"1\" (((u32 *)&st1)[0]), \"m\" (((u32 *)&q)[1])\n\t\t:\"%dx\");\n#endif\n\n  *y = x;\n}\n\n\n/* Remainder of st(0) / st(1) */\n/* This routine produces exact results, i.e. there is never any\n   rounding or truncation, etc of the result. */\nstatic void do_fprem(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, int round)\n{\n  FPU_REG *st1_ptr = &st(1);\n  u_char st1_tag = FPU_gettagi(current_i387_yuan_   1);\n\n  if ( !((st0_tag ^ TAG_Valid) | (st1_tag ^ TAG_Valid)) )\n    {\n      FPU_REG tmp, st0, st1;\n      u_char st0_sign, st1_sign;\n      u_char tmptag;\n      int tag;\n      int old_cw;\n      int expdif;\n      s64 q;\n      u16 saved_status;\n      int cc;\n\n    fprem_valid:\n      /* Convert registers for internal use. */\n      st0_sign = FPU_to_exp16(current_i387_yuan_   st0_ptr, &st0);\n      st1_sign = FPU_to_exp16(current_i387_yuan_   st1_ptr, &st1);\n      expdif = exponent16(&st0) - exponent16(&st1);\n\n      old_cw = control_word;\n      cc = 0;\n\n      /* We want the status following the denorm tests, but don't want\n\t the status changed by the arithmetic operations. */\n      saved_status = partial_status;\n      control_word &= ~CW_RC;\n      control_word |= RC_CHOP;\n\n      if ( expdif < 64 )\n\t{\n\t  /* This should be the most common case */\n\n\t  if ( expdif > -2 )\n\t    {\n\t      u_char sign = st0_sign ^ st1_sign;\n\t      tag = FPU_u_div(current_i387_yuan_   &st0, &st1, &tmp,\n\t\t\t      PR_64_BITS | RC_CHOP | 0x3f,\n\t\t\t      sign);\n\t      setsign(&tmp, sign);\n\n\t      if ( exponent(&tmp) >= 0 )\n\t\t{\n\t\t  FPU_round_to_int(current_i387_yuan_   &tmp, tag);  /* Fortunately, this can't\n\t\t\t\t\t\t   overflow to 2^64 */\n\t\t  q = significand(&tmp);\n\n\t\t  rem_kernel(significand(&st0),\n\t\t\t     &significand(&tmp),\n\t\t\t     significand(&st1),\n\t\t\t     q, expdif);\n\n\t\t  setexponent16(&tmp, exponent16(&st1));\n\t\t}\n\t      else\n\t\t{\n\t\t  reg_copy(&st0, &tmp);\n\t\t  q = 0;\n\t\t}\n\n\t      if ( (round == RC_RND) && (tmp.sigh & 0xc0000000) )\n\t\t{\n\t\t  /* We may need to subtract st(1) once more,\n\t\t     to get a result <= 1/2 of st(1). */\n\t\t  u64 x;\n\t\t  expdif = exponent16(&st1) - exponent16(&tmp);\n\t\t  if ( expdif <= 1 )\n\t\t    {\n\t\t      if ( expdif == 0 )\n\t\t\tx = significand(&st1) - significand(&tmp);\n\t\t      else /* expdif is 1 */\n\t\t\tx = (significand(&st1) << 1) - significand(&tmp);\n\t\t      if ( (x < significand(&tmp)) ||\n\t\t\t  /* or equi-distant (from 0 & st(1)) and q is odd */\n\t\t\t  ((x == significand(&tmp)) && (q & 1) ) )\n\t\t\t{\n\t\t\t  st0_sign = ! st0_sign;\n\t\t\t  significand(&tmp) = x;\n\t\t\t  q++;\n\t\t\t}\n\t\t    }\n\t\t}\n\n\t      if (q & 4) cc |= SW_C0;\n\t      if (q & 2) cc |= SW_C3;\n\t      if (q & 1) cc |= SW_C1;\n\t    }\n\t  else\n\t    {\n\t      control_word = old_cw;\n\t      setcc(0);\n\t      return;\n\t    }\n\t}\n      else\n\t{\n\t  /* There is a large exponent difference ( >= 64 ) */\n\t  /* To make much sense, the code in this section should\n\t     be done at high precision. */\n\t  int exp_1, N;\n\t  u_char sign;\n\n\t  /* prevent overflow here */\n\t  /* N is 'a number between 32 and 63' (p26-113) */\n\t  reg_copy(&st0, &tmp);\n\t  tmptag = st0_tag;\n\t  N = (expdif & 0x0000001f) + 32;  /* This choice gives results\n\t\t\t\t\t      identical to an AMD 486 */\n\t  setexponent16(&tmp, N);\n\t  exp_1 = exponent16(&st1);\n\t  setexponent16(&st1, 0);\n\t  expdif -= N;\n\n\t  sign = getsign(&tmp) ^ st1_sign;\n\t  tag = FPU_u_div(current_i387_yuan_   &tmp, &st1, &tmp, PR_64_BITS | RC_CHOP | 0x3f,\n\t\t\t  sign);\n\t  setsign(&tmp, sign);\n\n\t  FPU_round_to_int(current_i387_yuan_   &tmp, tag);  /* Fortunately, this can't\n\t\t\t\t\t   overflow to 2^64 */\n\n\t  rem_kernel(significand(&st0),\n\t\t     &significand(&tmp),\n\t\t     significand(&st1),\n\t\t     significand(&tmp),\n\t\t     exponent(&tmp)\n\t\t     ); \n\t  setexponent16(&tmp, exp_1 + expdif);\n\n\t  /* It is possible for the operation to be complete here.\n\t     What does the IEEE standard say? The Intel 80486 manual\n\t     implies that the operation will never be completed at this\n\t     point, and the behaviour of a real 80486 confirms this.\n\t   */\n\t  if ( !(tmp.sigh | tmp.sigl) )\n\t    {\n\t      /* The result is zero */\n\t      control_word = old_cw;\n\t      partial_status = saved_status;\n\t      FPU_copy_to_reg0(current_i387_yuan_   &CONST_Z, TAG_Zero);\n\t      setsign(&st0, st0_sign);\n#ifdef PECULIAR_486\n\t      setcc(SW_C2);\n#else\n\t      setcc(0);\n#endif /* PECULIAR_486 */\n\t      return;\n\t    }\n\t  cc = SW_C2;\n\t}\n\n      control_word = old_cw;\n      partial_status = saved_status;\n      tag = FPU_normalize_nuo(current_i387_yuan_   &tmp, 0);\n      reg_copy(&tmp, st0_ptr);\n\n      /* The only condition to be looked for is underflow,\n\t and it can occur here only if underflow is unmasked. */\n      if ( (exponent16(&tmp) <= EXP_UNDER) && (tag != TAG_Zero)\n\t  && !(control_word & CW_Underflow) )\n\t{\n\t  setcc(cc);\n\t  tag = arith_underflow(current_i387_yuan_   st0_ptr);\n\t  setsign(st0_ptr, st0_sign);\n\t  FPU_settag0(current_i387_yuan_   tag);\n\t  return;\n\t}\n      else if ( (exponent16(&tmp) > EXP_UNDER) || (tag == TAG_Zero) )\n\t{\n\t  stdexp(st0_ptr);\n\t  setsign(st0_ptr, st0_sign);\n\t}\n      else\n\t{\n\t  tag = FPU_round(current_i387_yuan_   st0_ptr, 0, 0, FULL_PRECISION, st0_sign);\n\t}\n      FPU_settag0(current_i387_yuan_   tag);\n      setcc(cc);\n\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  if ( st1_tag == TAG_Special )\n    st1_tag = FPU_Special(current_i387_yuan_   st1_ptr);\n\n  if ( ((st0_tag == TAG_Valid) && (st1_tag == TW_Denormal))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TAG_Valid))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TW_Denormal)) )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n      goto fprem_valid;\n    }\n  else if ( (st0_tag == TAG_Empty) | (st1_tag == TAG_Empty) )\n    {\n      FPU_stack_underflow(current_i387_yuan_clono  );\n      return;\n    }\n  else if ( st0_tag == TAG_Zero )\n    {\n      if ( st1_tag == TAG_Valid )\n\t{\n\t  setcc(0); return;\n\t}\n      else if ( st1_tag == TW_Denormal )\n\t{\n\t  if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\t    return;\n\t  setcc(0); return;\n\t}\n      else if ( st1_tag == TAG_Zero )\n\t{ arith_invalid(current_i387_yuan_   0); return; } /* fprem(?,0) always invalid */\n      else if ( st1_tag == TW_Infinity )\n\t{ setcc(0); return; }\n    }\n  else if ( (st0_tag == TAG_Valid) || (st0_tag == TW_Denormal) )\n    {\n      if ( st1_tag == TAG_Zero )\n\t{\n\t  arith_invalid(current_i387_yuan_   0); /* fprem(Valid,Zero) is invalid */\n\t  return;\n\t}\n      else if ( st1_tag != TW_NaN )\n\t{\n\t  if ( ((st0_tag == TW_Denormal) || (st1_tag == TW_Denormal))\n\t       && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  if ( st1_tag == TW_Infinity )\n\t    {\n\t      /* fprem(Valid,Infinity) is o.k. */\n\t      setcc(0); return;\n\t    }\n\t}\n    }\n  else if ( st0_tag == TW_Infinity )\n    {\n      if ( st1_tag != TW_NaN )\n\t{\n\t  arith_invalid(current_i387_yuan_   0); /* fprem(Infinity,?) is invalid */\n\t  return;\n\t}\n    }\n\n  /* One of the registers must contain a NaN if we got here. */\n\n#ifdef PARANOID\n  if ( (st0_tag != TW_NaN) && (st1_tag != TW_NaN) )\n      EXCEPTION(EX_INTERNAL | 0x118);\n#endif /* PARANOID */\n\n  real_2op_NaN(current_i387_yuan_   st1_ptr, st1_tag, 0, st1_ptr);\n\n}\n\n\n/* ST(1) <- ST(1) * log ST;  pop ST */\nstatic void fyl2x(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st1_ptr = &st(1), exponent;\n  u_char st1_tag = FPU_gettagi(current_i387_yuan_   1);\n  u_char sign;\n  int e, tag;\n\n  clear_C1();\n\n  if ( (st0_tag == TAG_Valid) && (st1_tag == TAG_Valid) )\n    {\n    both_valid:\n      /* Both regs are Valid or Denormal */\n      if ( signpositive(st0_ptr) )\n\t{\n\t  if ( st0_tag == TW_Denormal )\n\t    FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);\n\t  else\n\t    /* Convert st(0) for internal use. */\n\t    setexponent16(st0_ptr, exponent(st0_ptr));\n\n\t  if ( (st0_ptr->sigh == 0x80000000) && (st0_ptr->sigl == 0) )\n\t    {\n\t      /* Special case. The result can be precise. */\n\t      u_char esign;\n\t      e = exponent16(st0_ptr);\n\t      if ( e >= 0 )\n\t\t{\n\t\t  exponent.sigh = e;\n\t\t  esign = SIGN_POS;\n\t\t}\n\t      else\n\t\t{\n\t\t  exponent.sigh = -e;\n\t\t  esign = SIGN_NEG;\n\t\t}\n\t      exponent.sigl = 0;\n\t      setexponent16(&exponent, 31);\n              tag = FPU_normalize_nuo(current_i387_yuan_   &exponent, 0);\n\t      stdexp(&exponent);\n\t      setsign(&exponent, esign);\n\t      tag = FPU_mul(current_i387_yuan_   &exponent, tag, 1, FULL_PRECISION);\n\t      if ( tag >= 0 )\n\t\tFPU_settagi(current_i387_yuan_   1, tag);\n\t    }\n\t  else\n\t    {\n\t      /* The usual case */\n\t      sign = getsign(st1_ptr);\n\t      if ( st1_tag == TW_Denormal )\n\t\tFPU_to_exp16(current_i387_yuan_   st1_ptr, st1_ptr);\n\t      else\n\t\t/* Convert st(1) for internal use. */\n\t\tsetexponent16(st1_ptr, exponent(st1_ptr));\n\t      poly_l2(current_i387_yuan_   st0_ptr, st1_ptr, sign);\n\t    }\n\t}\n      else\n\t{\n\t  /* negative */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t    return;\n\t}\n\n      FPU_pop(current_i387_yuan_clono  );\n\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  if ( st1_tag == TAG_Special )\n    st1_tag = FPU_Special(current_i387_yuan_   st1_ptr);\n\n  if ( (st0_tag == TAG_Empty) || (st1_tag == TAG_Empty) )\n    {\n      FPU_stack_underflow_pop(current_i387_yuan_   1);\n      return;\n    }\n  else if ( (st0_tag <= TW_Denormal) && (st1_tag <= TW_Denormal) )\n    {\n      if ( st0_tag == TAG_Zero )\n\t{\n\t  if ( st1_tag == TAG_Zero )\n\t    {\n\t      /* Both args zero is invalid */\n\t      if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t\treturn;\n\t    }\n\t  else\n\t    {\n\t      u_char sign;\n\t      sign = getsign(st1_ptr)^SIGN_NEG;\n\t      if ( FPU_divide_by_zero(current_i387_yuan_   1, sign) < 0 )\n\t\treturn;\n\n\t      setsign(st1_ptr, sign);\n\t    }\n\t}\n      else if ( st1_tag == TAG_Zero )\n\t{\n\t  /* st(1) contains zero, st(0) valid <> 0 */\n\t  /* Zero is the valid answer */\n\t  sign = getsign(st1_ptr);\n\t  \n\t  if ( signnegative(st0_ptr) )\n\t    {\n\t      /* log(negative) */\n\t      if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t\treturn;\n\t    }\n\t  else if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\t  else\n\t    {\n\t      if ( exponent(st0_ptr) < 0 )\n\t\tsign ^= SIGN_NEG;\n\n\t      FPU_copy_to_reg1(current_i387_yuan_   &CONST_Z, TAG_Zero);\n\t      setsign(st1_ptr, sign);\n\t    }\n\t}\n      else\n\t{\n\t  /* One or both operands are denormals. */\n\t  if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\t    return;\n\t  goto both_valid;\n\t}\n    }\n  else if ( (st0_tag == TW_NaN) || (st1_tag == TW_NaN) )\n    {\n      if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) < 0 )\n\treturn;\n    }\n  /* One or both arg must be an infinity */\n  else if ( st0_tag == TW_Infinity )\n    {\n      if ( (signnegative(st0_ptr)) || (st1_tag == TAG_Zero) )\n\t{\n\t  /* log(-infinity) or 0*log(infinity) */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t    return;\n\t}\n      else\n\t{\n\t  u_char sign = getsign(st1_ptr);\n\n\t  if ( (st1_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_INF, TAG_Special);\n\t  setsign(st1_ptr, sign);\n\t}\n    }\n  /* st(1) must be infinity here */\n  else if ( ((st0_tag == TAG_Valid) || (st0_tag == TW_Denormal))\n\t    && ( signpositive(st0_ptr) ) )\n    {\n      if ( exponent(st0_ptr) >= 0 )\n\t{\n\t  if ( (exponent(st0_ptr) == 0) &&\n\t      (st0_ptr->sigh == 0x80000000) &&\n\t      (st0_ptr->sigl == 0) )\n\t    {\n\t      /* st(0) holds 1.0 */\n\t      /* infinity*log(1) */\n\t      if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t\treturn;\n\t    }\n\t  /* else st(0) is positive and > 1.0 */\n\t}\n      else\n\t{\n\t  /* st(0) is positive and < 1.0 */\n\n\t  if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  changesign(st1_ptr);\n\t}\n    }\n  else\n    {\n      /* st(0) must be zero or negative */\n      if ( st0_tag == TAG_Zero )\n\t{\n\t  /* This should be invalid, but a real 80486 is happy with it. */\n\n#ifndef PECULIAR_486\n\t  sign = getsign(st1_ptr);\n\t  if ( FPU_divide_by_zero(current_i387_yuan_   1, sign) < 0 )\n\t    return;\n#endif /* PECULIAR_486 */\n\n\t  changesign(st1_ptr);\n\t}\n      else if ( arith_invalid(current_i387_yuan_   1) < 0 )\t  /* log(negative) */\n\treturn;\n    }\n\n  FPU_pop(current_i387_yuan_clono  );\n}\n\n\nstatic void fpatan(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st1_ptr = &st(1);\n  u_char st1_tag = FPU_gettagi(current_i387_yuan_   1);\n  int tag;\n\n  clear_C1();\n  if ( !((st0_tag ^ TAG_Valid) | (st1_tag ^ TAG_Valid)) )\n    {\n    valid_atan:\n\n      poly_atan(current_i387_yuan_   st0_ptr, st0_tag, st1_ptr, st1_tag);\n\n      FPU_pop(current_i387_yuan_clono  );\n\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  if ( st1_tag == TAG_Special )\n    st1_tag = FPU_Special(current_i387_yuan_   st1_ptr);\n\n  if ( ((st0_tag == TAG_Valid) && (st1_tag == TW_Denormal))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TAG_Valid))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TW_Denormal)) )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n\n      goto valid_atan;\n    }\n  else if ( (st0_tag == TAG_Empty) || (st1_tag == TAG_Empty) )\n    {\n      FPU_stack_underflow_pop(current_i387_yuan_   1);\n      return;\n    }\n  else if ( (st0_tag == TW_NaN) || (st1_tag == TW_NaN) )\n    {\n      if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) >= 0 )\n\t  FPU_pop(current_i387_yuan_clono  );\n      return;\n    }\n  else if ( (st0_tag == TW_Infinity) || (st1_tag == TW_Infinity) )\n    {\n      u_char sign = getsign(st1_ptr);\n      if ( st0_tag == TW_Infinity )\n\t{\n\t  if ( st1_tag == TW_Infinity )\n\t    {\n\t      if ( signpositive(st0_ptr) )\n\t\t{\n\t\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_PI4, TAG_Valid);\n\t\t}\n\t      else\n\t\t{\n\t\t  setpositive(st1_ptr);\n\t\t  tag = FPU_u_add(current_i387_yuan_   &CONST_PI4, &CONST_PI2, st1_ptr,\n\t\t\t\t  FULL_PRECISION, SIGN_POS,\n\t\t\t\t  exponent(&CONST_PI4), exponent(&CONST_PI2));\n\t\t  if ( tag >= 0 )\n\t\t    FPU_settagi(current_i387_yuan_   1, tag);\n\t\t}\n\t    }\n\t  else\n\t    {\n\t      if ( (st1_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t\treturn;\n\n\t      if ( signpositive(st0_ptr) )\n\t\t{\n\t\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_Z, TAG_Zero);\n\t\t  setsign(st1_ptr, sign);   /* An 80486 preserves the sign */\n\t\t  FPU_pop(current_i387_yuan_clono  );\n\t\t  return;\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_PI, TAG_Valid);\n\t\t}\n\t    }\n\t}\n      else\n\t{\n\t  /* st(1) is infinity, st(0) not infinity */\n\t  if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_PI2, TAG_Valid);\n\t}\n      setsign(st1_ptr, sign);\n    }\n  else if ( st1_tag == TAG_Zero )\n    {\n      /* st(0) must be valid or zero */\n      u_char sign = getsign(st1_ptr);\n\n      if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\treturn;\n\n      if ( signpositive(st0_ptr) )\n\t{\n\t  /* An 80486 preserves the sign */\n\t  FPU_pop(current_i387_yuan_clono  );\n\t  return;\n\t}\n\n      FPU_copy_to_reg1(current_i387_yuan_   &CONST_PI, TAG_Valid);\n      setsign(st1_ptr, sign);\n    }\n  else if ( st0_tag == TAG_Zero )\n    {\n      /* st(1) must be TAG_Valid here */\n      u_char sign = getsign(st1_ptr);\n\n      if ( (st1_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\treturn;\n\n      FPU_copy_to_reg1(current_i387_yuan_   &CONST_PI2, TAG_Valid);\n      setsign(st1_ptr, sign);\n    }\n#ifdef PARANOID\n  else\n    EXCEPTION(EX_INTERNAL | 0x125);\n#endif /* PARANOID */\n\n  FPU_pop(current_i387_yuan_clono  );\n  set_precision_flag_up(current_i387_yuan_clono  );  /* We do not really know if up or down */\n}\n\n\nstatic void fprem(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  do_fprem(current_i387_yuan_   st0_ptr, st0_tag, RC_CHOP);\n}\n\n\nstatic void fprem1(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  do_fprem(current_i387_yuan_   st0_ptr, st0_tag, RC_RND);\n}\n\n\nstatic void fyl2xp1(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  u_char sign, sign1;\n  FPU_REG *st1_ptr = &st(1), a, b;\n  u_char st1_tag = FPU_gettagi(current_i387_yuan_   1);\n\n  clear_C1();\n  if ( !((st0_tag ^ TAG_Valid) | (st1_tag ^ TAG_Valid)) )\n    {\n    valid_yl2xp1:\n\n      sign = getsign(st0_ptr);\n      sign1 = getsign(st1_ptr);\n\n      FPU_to_exp16(current_i387_yuan_   st0_ptr, &a);\n      FPU_to_exp16(current_i387_yuan_   st1_ptr, &b);\n\n      if ( poly_l2p1(current_i387_yuan_   sign, sign1, &a, &b, st1_ptr) )\n\treturn;\n\n      FPU_pop(current_i387_yuan_clono  );\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  if ( st1_tag == TAG_Special )\n    st1_tag = FPU_Special(current_i387_yuan_   st1_ptr);\n\n  if ( ((st0_tag == TAG_Valid) && (st1_tag == TW_Denormal))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TAG_Valid))\n\t    || ((st0_tag == TW_Denormal) && (st1_tag == TW_Denormal)) )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn;\n\n      goto valid_yl2xp1;\n    }\n  else if ( (st0_tag == TAG_Empty) | (st1_tag == TAG_Empty) )\n    {\n      FPU_stack_underflow_pop(current_i387_yuan_   1);\n      return;\n    }\n  else if ( st0_tag == TAG_Zero )\n    {\n      switch ( st1_tag )\n\t{\n\tcase TW_Denormal:\n\t  if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\t    return;\n\n\tcase TAG_Zero:\n\tcase TAG_Valid:\n\t  setsign(st0_ptr, getsign(st0_ptr) ^ getsign(st1_ptr));\n\t  FPU_copy_to_reg1(current_i387_yuan_   st0_ptr, st0_tag);\n\t  break;\n\n\tcase TW_Infinity:\n\t  /* Infinity*log(1) */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t    return;\n\t  break;\n\n\tcase TW_NaN:\n\t  if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) < 0 )\n\t    return;\n\t  break;\n\n\tdefault:\n#ifdef PARANOID\n\t  EXCEPTION(EX_INTERNAL | 0x116);\n\t  return;\n#endif /* PARANOID */\n\t}\n    }\n  else if ( (st0_tag == TAG_Valid) || (st0_tag == TW_Denormal) )\n    {\n      switch ( st1_tag )\n\t{\n\tcase TAG_Zero:\n\t  if ( signnegative(st0_ptr) )\n\t    {\n\t      if ( exponent(st0_ptr) >= 0 )\n\t\t{\n\t\t  /* st(0) holds <= -1.0 */\n#ifdef PECULIAR_486   /* Stupid 80486 doesn't worry about log(negative). */\n\t\t  changesign(st1_ptr);\n#else\n\t\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t\t    return;\n#endif /* PECULIAR_486 */\n\t\t}\n\t      else if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t\treturn;\n\t      else\n\t\tchangesign(st1_ptr);\n\t    }\n\t  else if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\t  break;\n\n\tcase TW_Infinity:\n\t  if ( signnegative(st0_ptr) )\n\t    {\n\t      if ( (exponent(st0_ptr) >= 0) &&\n\t\t  !((st0_ptr->sigh == 0x80000000) &&\n\t\t    (st0_ptr->sigl == 0)) )\n\t\t{\n\t\t  /* st(0) holds < -1.0 */\n#ifdef PECULIAR_486   /* Stupid 80486 doesn't worry about log(negative). */\n\t\t  changesign(st1_ptr);\n#else\n\t\t  if ( arith_invalid(current_i387_yuan_   1) < 0 ) return;\n#endif /* PECULIAR_486 */\n\t\t}\n\t      else if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t\treturn;\n\t      else\n\t\tchangesign(st1_ptr);\n\t    }\n\t  else if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\t  break;\n\n\tcase TW_NaN:\n\t  if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) < 0 )\n\t    return;\n\t}\n\n    }\n  else if ( st0_tag == TW_NaN )\n    {\n      if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) < 0 )\n\treturn;\n    }\n  else if ( st0_tag == TW_Infinity )\n    {\n      if ( st1_tag == TW_NaN )\n\t{\n\t  if ( real_2op_NaN(current_i387_yuan_   st0_ptr, st0_tag, 1, st0_ptr) < 0 )\n\t    return;\n\t}\n      else if ( signnegative(st0_ptr) )\n\t{\n#ifndef PECULIAR_486\n\t  /* This should have higher priority than denormals, but... */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )  /* log(-infinity) */\n\t    return;\n#endif /* PECULIAR_486 */\n\t  if ( (st1_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n#ifdef PECULIAR_486\n\t  /* Denormal operands actually get higher priority */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )  /* log(-infinity) */\n\t    return;\n#endif /* PECULIAR_486 */\n\t}\n      else if ( st1_tag == TAG_Zero )\n\t{\n\t  /* log(infinity) */\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t    return;\n\t}\n\t\n      /* st(1) must be valid here. */\n\n      else if ( (st1_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\treturn;\n\n      /* The Manual says that log(Infinity) is invalid, but a real\n\t 80486 sensibly says that it is o.k. */\n      else\n\t{\n\t  u_char sign = getsign(st1_ptr);\n\t  FPU_copy_to_reg1(current_i387_yuan_   &CONST_INF, TAG_Special);\n\t  setsign(st1_ptr, sign);\n\t}\n    }\n#ifdef PARANOID\n  else\n    {\n      EXCEPTION(EX_INTERNAL | 0x117);\n      return;\n    }\n#endif /* PARANOID */\n\n  FPU_pop(current_i387_yuan_clono  );\n  return;\n\n}\n\n\nstatic void fscale(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag)\n{\n  FPU_REG *st1_ptr = &st(1);\n  u_char st1_tag = FPU_gettagi(current_i387_yuan_   1);\n  int old_cw = control_word;\n  u_char sign = getsign(st0_ptr);\n\n  clear_C1();\n  if ( !((st0_tag ^ TAG_Valid) | (st1_tag ^ TAG_Valid)) )\n    {\n      s32 scale;\n      FPU_REG tmp;\n\n      /* Convert register for internal use. */\n      setexponent16(st0_ptr, exponent(st0_ptr));\n\n    valid_scale:\n\n      if ( exponent(st1_ptr) > 30 )\n\t{\n\t  /* 2^31 is far too large, would require 2^(2^30) or 2^(-2^30) */\n\n\t  if ( signpositive(st1_ptr) )\n\t    {\n\t      EXCEPTION(EX_Overflow);\n\t      FPU_copy_to_reg0(current_i387_yuan_   &CONST_INF, TAG_Special);\n\t    }\n\t  else\n\t    {\n\t      EXCEPTION(EX_Underflow);\n\t      FPU_copy_to_reg0(current_i387_yuan_   &CONST_Z, TAG_Zero);\n\t    }\n\t  setsign(st0_ptr, sign);\n\t  return;\n\t}\n\n      control_word &= ~CW_RC;\n      control_word |= RC_CHOP;\n      reg_copy(st1_ptr, &tmp);\n      FPU_round_to_int(current_i387_yuan_   &tmp, st1_tag);      /* This can never overflow here */\n      control_word = old_cw;\n      scale = signnegative(st1_ptr) ? (0-tmp.sigl) : tmp.sigl;\n      scale += exponent16(st0_ptr);\n\n      setexponent16(st0_ptr, scale);\n\n      /* Use FPU_round(current_i387_definefunyuan_void   ) to properly detect under/overflow etc */\n      FPU_round(current_i387_yuan_   st0_ptr, 0, 0, control_word, sign);\n\n      return;\n    }\n\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n  if ( st1_tag == TAG_Special )\n    st1_tag = FPU_Special(current_i387_yuan_   st1_ptr);\n\n  if ( (st0_tag == TAG_Valid) || (st0_tag == TW_Denormal) )\n    {\n      switch ( st1_tag )\n\t{\n\tcase TAG_Valid:\n\t  /* st(0) must be a denormal */\n\t  if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);  /* Will not be left on stack */\n\t  goto valid_scale;\n\n\tcase TAG_Zero:\n\t  if ( st0_tag == TW_Denormal )\n\t    denormal_operand(current_i387_yuan_clono  );\n\t  return;\n\n\tcase TW_Denormal:\n\t  denormal_operand(current_i387_yuan_clono  );\n\t  return;\n\n\tcase TW_Infinity:\n\t  if ( (st0_tag == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return;\n\n\t  if ( signpositive(st1_ptr) )\n\t    FPU_copy_to_reg0(current_i387_yuan_   &CONST_INF, TAG_Special);\n\t  else\n\t    FPU_copy_to_reg0(current_i387_yuan_   &CONST_Z, TAG_Zero);\n\t  setsign(st0_ptr, sign);\n\t  return;\n\n\tcase TW_NaN:\n\t  real_2op_NaN(current_i387_yuan_   st1_ptr, st1_tag, 0, st0_ptr);\n\t  return;\n\t}\n    }\n  else if ( st0_tag == TAG_Zero )\n    {\n      switch ( st1_tag )\n\t{\n\tcase TAG_Valid:\n\tcase TAG_Zero:\n\t  return;\n\n\tcase TW_Denormal:\n\t  denormal_operand(current_i387_yuan_clono  );\n\t  return;\n\n\tcase TW_Infinity:\n\t  if ( signpositive(st1_ptr) )\n\t    arith_invalid(current_i387_yuan_   0); /* Zero scaled by +Infinity */\n\t  return;\n\n\tcase TW_NaN:\n\t  real_2op_NaN(current_i387_yuan_   st1_ptr, st1_tag, 0, st0_ptr);\n\t  return;\n\t}\n    }\n  else if ( st0_tag == TW_Infinity )\n    {\n      switch ( st1_tag )\n\t{\n\tcase TAG_Valid:\n\tcase TAG_Zero:\n\t  return;\n\n\tcase TW_Denormal:\n\t  denormal_operand(current_i387_yuan_clono  );\n\t  return;\n\n\tcase TW_Infinity:\n\t  if ( signnegative(st1_ptr) )\n\t    arith_invalid(current_i387_yuan_   0); /* Infinity scaled by -Infinity */\n\t  return;\n\n\tcase TW_NaN:\n\t  real_2op_NaN(current_i387_yuan_   st1_ptr, st1_tag, 0, st0_ptr);\n\t  return;\n\t}\n    }\n  else if ( st0_tag == TW_NaN )\n    {\n      if ( st1_tag != TAG_Empty )\n\t{ real_2op_NaN(current_i387_yuan_   st1_ptr, st1_tag, 0, st0_ptr); return; }\n    }\n\n#ifdef PARANOID\n  if ( !((st0_tag == TAG_Empty) || (st1_tag == TAG_Empty)) )\n    {\n      EXCEPTION(EX_INTERNAL | 0x115);\n      return;\n    }\n#endif\n\n  /* At least one of st(0), st(1) must be empty */\n  FPU_stack_underflow(current_i387_yuan_clono  );\n\n}\n\n\n/*---------------------------------------------------------------------------*/\n\nstatic FUNC_ST0 const trig_table_a[] = {\n  f2xm1, fyl2x, fptan, fpatan,\n  fxtract, fprem1, (FUNC_ST0)fdecstp, (FUNC_ST0)fincstp\n};\n\nvoid FPU_triga(current_i387_definefunyuan_void)\n{\n  (trig_table_a[FPU_rm])(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_cc   ));\n}\n\n\nstatic FUNC_ST0 const trig_table_b[] =\n  {\n    fprem, fyl2xp1, fsqrt_, fsincos, frndint_, fscale, (FUNC_ST0)fsin, fcos\n  };\n\nvoid FPU_trigb(current_i387_definefunyuan_void)\n{\n  (trig_table_b[FPU_rm])(current_i387_yuan_   &st(0), FPU_gettag0(current_i387_yuan_cc   ));\n}\n"
  },
  {
    "path": "Project/fpu/Source/load_store.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  load_store.c                                                             |\n |  $Id: load_store.c,v 1.4 2002/12/12 15:28:43 cbothamy Exp $\n |                                                                           |\n | This file contains most of the code to interpret the FPU instructions     |\n | which load and store from user memory.                                    |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@suburbia.net             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | Note:                                                                     |\n |    The file contains code which accesses user memory.                     |\n |    Emulator static data may change when user memory is accessed, due to   |\n |    other processes using the emulator while swapping is in progress.      |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include <asm/uaccess.h>\n\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"status_w.h\"\n#include \"control_w.h\"\n\n\n#define _NONE_ 0   /* st0_ptr etc not needed */\n#define _REG0_ 1   /* Will be storing st(0) */\n#define _PUSH_ 3   /* Need to check for space to push onto stack */\n#define _null_ 4   /* Function illegal or not implemented */\n\n#define pop_0()\t{ FPU_settag0(current_i387_yuan_   TAG_Empty); top++; }\n\n\nstatic u_char const type_table[32] = {\n  _PUSH_, _PUSH_, _PUSH_, _PUSH_,\n  _null_, _null_, _null_, _null_,\n  _REG0_, _REG0_, _REG0_, _REG0_,\n  _REG0_, _REG0_, _REG0_, _REG0_,\n  _NONE_, _null_, _NONE_, _PUSH_,\n  _NONE_, _PUSH_, _null_, _PUSH_,\n  _NONE_, _null_, _NONE_, _REG0_,\n  _NONE_, _REG0_, _NONE_, _REG0_\n  };\n\nu_char const data_sizes_16[32] = {\n  4,  4,  8,  2,  0,  0,  0,  0,\n  4,  4,  8,  2,  4,  4,  8,  2,\n  14, 0, 94, 10,  2, 10,  0,  8,  \n  14, 0, 94, 10,  2, 10,  2,  8\n};\n\nu_char const data_sizes_32[32] = {\n  4,  4,  8,  2,  0,  0,  0,  0,\n  4,  4,  8,  2,  4,  4,  8,  2,\n  28, 0,108, 10,  2, 10,  0,  8,  \n  28, 0,108, 10,  2, 10,  2,  8\n};\n\nint FPU_load_store(current_i387_definefunyuan_   u_char type, fpu_addr_modes addr_modes,\n\t\t     void *data_address)\n{\n  FPU_REG loaded_data;\n  FPU_REG *st0_ptr;\n  u_char st0_tag = TAG_Empty;  /* This is just to stop a gcc warning. */\n  u_char loaded_tag;\n\n  st0_ptr = (FPU_REG*) NULL;    /* Initialized just to stop compiler warnings. */\n\n  if ( addr_modes.default_mode & PROTECTED )\n    {\n      if ( addr_modes.default_mode == SEG32 )\n\t{\n\t  if ( access_limit < data_sizes_32[type] )\n\t    math_abort(current_i387_yuan_   FPU_info,SIGSEGV);\n\t}\n      else if ( addr_modes.default_mode == PM16 )\n\t{\n\t  if ( access_limit < data_sizes_16[type] )\n\t    math_abort(current_i387_yuan_   FPU_info,SIGSEGV);\n\t}\n#ifdef PARANOID\n      else\n\tEXCEPTION(EX_INTERNAL|0x140);\n#endif /* PARANOID */\n    }\n\n  switch ( type_table[type] )\n    {\n    case _NONE_:\n      break;\n    case _REG0_:\n      st0_ptr = &st(0);       /* Some of these instructions pop after\n\t\t\t\t storing */\n      st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n      break;\n    case _PUSH_:\n      {\n\tif ( FPU_gettagi(current_i387_yuan_   -1) != TAG_Empty )\n\t  { FPU_stack_overflow(current_i387_yuan_clono  ); return 0; }\n\ttop--;\n\tst0_ptr = &st(0);\n      }\n      break;\n    case _null_:\n      FPU_illegal(current_i387_yuan_clono  );\n      return 0;\n#ifdef PARANOID\n    default:\n      EXCEPTION(EX_INTERNAL|0x141);\n      return 0;\n#endif /* PARANOID */\n    }\n\n  switch ( type )\n    {\n    case 000:       /* fld m32real */\n      clear_C1();\n      loaded_tag = FPU_load_single(current_i387_yuan_   (float *)data_address, &loaded_data);\n      if ( (loaded_tag == TAG_Special)\n\t   && isNaN(current_i387_yuan_   &loaded_data)\n\t   && (real_1op_NaN(current_i387_yuan_   &loaded_data) < 0) )\n\t{\n\t  top++;\n\t  break;\n\t}\n      FPU_copy_to_reg0(current_i387_yuan_   &loaded_data, loaded_tag);\n      break;\n    case 001:      /* fild m32int */\n      clear_C1();\n      loaded_tag = FPU_load_int32(current_i387_yuan_   (s32 *)data_address, &loaded_data);\n      FPU_copy_to_reg0(current_i387_yuan_   &loaded_data, loaded_tag);\n      break;\n    case 002:      /* fld m64real */\n      clear_C1();\n      loaded_tag = FPU_load_double(current_i387_yuan_   (double *)data_address, &loaded_data);\n      if ( (loaded_tag == TAG_Special)\n\t   && isNaN(current_i387_yuan_   &loaded_data)\n\t   && (real_1op_NaN(current_i387_yuan_   &loaded_data) < 0) )\n\t{\n\t  top++;\n\t  break;\n\t}\n      FPU_copy_to_reg0(current_i387_yuan_   &loaded_data, loaded_tag);\n      break;\n    case 003:      /* fild m16int */\n      clear_C1();\n      loaded_tag = FPU_load_int16(current_i387_yuan_   (s16 *)data_address, &loaded_data);\n      FPU_copy_to_reg0(current_i387_yuan_   &loaded_data, loaded_tag);\n      break;\n    case 010:      /* fst m32real */\n      clear_C1();\n      FPU_store_single(current_i387_yuan_   st0_ptr, st0_tag, (float *)data_address);\n      break;\n    case 011:      /* fist m32int */\n      clear_C1();\n      FPU_store_int32(current_i387_yuan_   st0_ptr, st0_tag, (s32 *)data_address);\n      break;\n    case 012:     /* fst m64real */\n      clear_C1();\n      FPU_store_double(current_i387_yuan_   st0_ptr, st0_tag, (double *)data_address);\n      break;\n    case 013:     /* fist m16int */\n      clear_C1();\n      FPU_store_int16(current_i387_yuan_   st0_ptr, st0_tag, (s16 *)data_address);\n      break;\n    case 014:     /* fstp m32real */\n      clear_C1();\n      if ( FPU_store_single(current_i387_yuan_   st0_ptr, st0_tag, (float *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 015:     /* fistp m32int */\n      clear_C1();\n      if ( FPU_store_int32(current_i387_yuan_   st0_ptr, st0_tag, (s32 *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 016:     /* fstp m64real */\n      clear_C1();\n      if ( FPU_store_double(current_i387_yuan_   st0_ptr, st0_tag, (double *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 017:     /* fistp m16int */\n      clear_C1();\n      if ( FPU_store_int16(current_i387_yuan_   st0_ptr, st0_tag, (s16 *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 020:     /* fldenv  m14/28byte */\n      fldenv(current_i387_yuan_   addr_modes, (u_char *)data_address);\n      /* Ensure that the values just loaded are not changed by\n\t fix-up operations. */\n      return 1;\n    case 022:     /* frstor m94/108byte */\n      frstor(current_i387_yuan_   addr_modes, (u_char *)data_address);\n      /* Ensure that the values just loaded are not changed by\n\t fix-up operations. */\n      return 1;\n    case 023:     /* fbld m80dec */\n      clear_C1();\n      loaded_tag = FPU_load_bcd(current_i387_yuan_   (u_char *)data_address);\n      FPU_settag0(current_i387_yuan_   loaded_tag);\n      break;\n    case 024:     /* fldcw */\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_READ, data_address, 2);\n      FPU_get_user(control_word, (u16 *) data_address);\n      RE_ENTRANT_CHECK_ON;\n      if ( partial_status & ~control_word & CW_Exceptions )\n\tpartial_status |= (SW_Summary | SW_Backward);\n      else\n\tpartial_status &= ~(SW_Summary | SW_Backward);\n#ifdef PECULIAR_486\n      control_word |= 0x40;  /* An 80486 appears to always set this bit */\n#endif /* PECULIAR_486 */\n      return 1;\n    case 025:      /* fld m80real */\n      clear_C1();\n      loaded_tag = FPU_load_extended(current_i387_yuan_   (long double *)data_address, 0);\n      FPU_settag0(current_i387_yuan_   loaded_tag);\n      break;\n    case 027:      /* fild m64int */\n      clear_C1();\n      loaded_tag = FPU_load_int64(current_i387_yuan_   (s64 *)data_address);\n      FPU_settag0(current_i387_yuan_   loaded_tag);\n      break;\n    case 030:     /* fstenv  m14/28byte */\n      fstenv(current_i387_yuan_   addr_modes, (u_char *)data_address);\n      return 1;\n    case 032:      /* fsave */\n      fsave(current_i387_yuan_   addr_modes, (u_char *)data_address);\n      return 1;\n    case 033:      /* fbstp m80dec */\n      clear_C1();\n      if ( FPU_store_bcd(current_i387_yuan_   st0_ptr, st0_tag, (u_char *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 034:      /* fstcw m16int */\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE,data_address,2);\n      FPU_put_user(control_word, (u16 *) data_address);\n      RE_ENTRANT_CHECK_ON;\n      return 1;\n    case 035:      /* fstp m80real */\n      clear_C1();\n      if ( FPU_store_extended(current_i387_yuan_   st0_ptr, st0_tag, (long double *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    case 036:      /* fstsw m2byte */\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE,data_address,2);\n      FPU_put_user(status_word(),(u16 *) data_address);\n      RE_ENTRANT_CHECK_ON;\n      return 1;\n    case 037:      /* fistp m64int */\n      clear_C1();\n      if ( FPU_store_int64(current_i387_yuan_   st0_ptr, st0_tag, (s64 *)data_address) )\n\tpop_0();  /* pop only if the number was actually stored\n\t\t     (see the 80486 manual p16-28) */\n      break;\n    }\n  return 0;\n}\n"
  },
  {
    "path": "Project/fpu/Source/mul_Xsig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  mul_Xsig.S                                                               |\n |  $Id: mul_Xsig.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Multiply a 12 byte fixed point number by another fixed point number.      |\n |                                                                           |\n | Copyright (C) 1992,1994,1995                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@jacobi.maths.monash.edu.au |\n |                                                                           |\n |                                                                           |\n | The result is neither rounded nor normalized, and the ls bit or so may    |\n | be wrong.                                                                 |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"poly.h\"\n\n\nvoid mul32_Xsig(Xsig *x, const u32 ba)\n{\n  Xsig y;\n  u32 zl;\n  u64 b = ba, z;\n\n  z = b * x->lsw;\n  y.lsw = (u32)(z >> 32);\n\n  z = b * x->midw;\n  y.midw = (u32)(z >> 32);\n  zl = (u32)z;\n  y.lsw += zl;\n  if ( zl > y.lsw )\n    y.midw ++;\n\n  z = b * x->msw;\n  y.msw = (u32)(z >> 32);\n  zl = (u32)z;\n  y.midw += zl;\n  if ( zl > y.midw )\n    y.msw ++;\n\n  *x = y;\n\n}\n\n\nvoid mul64_Xsig(Xsig *x, const u64 *b)\n{\n  Xsig yh, yl;\n\n  yh = *x;\n  yl = *x;\n  mul32_Xsig(&yh, (u32)((*b) >> 32));\n  mul32_Xsig(&yl, (u32)(*b));\n\n  x->msw = yh.msw;\n  x->midw = yh.midw + yl.msw;\n  if ( yh.midw > x->midw )\n    x->msw ++;\n  x->lsw = yh.lsw + yl.midw;\n  if ( yh.lsw > x->lsw )\n    {\n      x->midw ++;\n      if ( x->midw == 0 )\n\tx->msw ++;\n    }\n\n}\n\n\nvoid mul_Xsig_Xsig(Xsig *x, const Xsig *b)\n{\n  u32 yh;\n  u64 y, z;\n\n  y = b->lsw;\n  y *= x->msw;\n  yh = (u32)(y >> 32);\n\n  z = b->msw;\n  z <<= 32;\n  z += b->midw;\n  mul64_Xsig(x, &z);\n\n  x->lsw += yh;\n  if ( yh > x->lsw )\n    {\n      x->midw ++;\n      if ( x->midw == 0 )\n\tx->msw ++;\n    }\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/poly.h",
    "content": "/*---------------------------------------------------------------------------+\n |  poly.h                                                                   |\n |  $Id: poly.h,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |  Header file for the FPU-emu poly*.c source files.                        |\n |                                                                           |\n | Copyright (C) 1994,1999                                                   |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@melbpc.org.au            |\n |                                                                           |\n | Declarations and definitions for functions operating on Xsig (12-byte     |\n | extended-significand) quantities.                                         |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _POLY_H\n#define _POLY_H\n\n/* This 12-byte structure is used to improve the accuracy of computation\n   of transcendental functions.\n   Intended to be used to get results better than 8-byte computation\n   allows. 9-byte would probably be sufficient.\n   */\ntypedef struct {\n#ifdef EMU_BIG_ENDIAN\n  u32 msw;\n  u32 midw;\n  u32 lsw;\n#else\n  u32 lsw;\n  u32 midw;\n  u32 msw;\n#endif\n} GCC_ATTRIBUTE((packed)) Xsig;\n\nasmlinkage void mul64(u64 const *a, u64 const *b,\n\t\t      u64 *result);\nasmlinkage void polynomial_Xsig(Xsig *, const u64 *x,\n\t\t\t\tconst u64 terms[], const int n);\n\nasmlinkage void mul32_Xsig(Xsig *, const u32 mult);\nasmlinkage void mul64_Xsig(Xsig *, const u64 *mult);\nasmlinkage void mul_Xsig_Xsig(Xsig *dest, const Xsig *mult);\n\nasmlinkage void shr_Xsig(Xsig *, const int n);\nasmlinkage int round_Xsig(Xsig *);\nasmlinkage int norm_Xsig(Xsig *);\nasmlinkage void div_Xsig(current_i387_definefunyuan_   const Xsig *x1, const Xsig *x2, Xsig *dest);\n\n/* Macro to extract the most significant 32 bits from a 64bit quantity */\n#ifdef EMU_BIG_ENDIAN\n#define LL_MSW(x)     (((u32 *)&x)[0])\n#else\n#define LL_MSW(x)     (((u32 *)&x)[1])\n#endif\n\n/* Macro to initialize an Xsig struct */\n#ifdef EMU_BIG_ENDIAN\n#define MK_XSIG(a,b,c)     { a, b, c }\n#else\n#define MK_XSIG(a,b,c)     { c, b, a }\n#endif\n\n/* Macro to access the 8 ms bytes of an Xsig as a 64bit quantity */\n#ifdef EMU_BIG_ENDIAN\n#define XSIG_LL(x)         (*(u64 *)&x.msw)\n#else\n#define XSIG_LL(x)         (*(u64 *)&x.midw)\n#endif\n\n\n/*\n   Need to run gcc with optimizations on to get these to\n   actually be in-line.\n   */\n\n/* Multiply two fixed-point 32 bit numbers, producing a 32 bit result.\n   The answer is the ms word of the product.  */\nBX_C_INLINE\nu32 mul_32_32(const u32 arg1, const u32 arg2)\n{\n#ifdef NO_ASSEMBLER\n  return (u32)((((u64)arg1) * arg2) >> 32);\n#else\n/* Some versions of gcc make it difficult to stop eax from being clobbered.\n   Merely specifying that it is used doesn't work...\n */\n  int retval;\n  asm volatile (\"mull %2; movl %%edx,%%eax\" \\\n\t\t:\"=a\" (retval) \\\n\t\t:\"0\" (arg1), \"g\" (arg2) \\\n\t\t:\"dx\");\n  return retval;\n#endif\n}\n\n\n/* Add the 12 byte Xsig x2 to Xsig dest, with no checks for overflow. */\nBX_C_INLINE\nvoid add_Xsig_Xsig(Xsig *dest, const Xsig *x2)\n{\n#ifdef NO_ASSEMBLER\n  dest->lsw += x2->lsw;\n  if ( dest->lsw < x2->lsw )\n    {\n      dest->midw ++;\n      if ( dest->midw == 0 )\n\tdest->msw ++;\n    }\n  dest->midw += x2->midw;\n  if ( dest->midw < x2->midw )\n    {\n      dest->msw ++;\n    }\n  dest->msw += x2->msw;\n#else\n  asm volatile (\"movl %1,%%edi; movl %2,%%esi;\"\n                \"movl (%%esi),%%eax; addl %%eax,(%%edi);\"\n                \"movl 4(%%esi),%%eax; adcl %%eax,4(%%edi);\"\n                \"movl 8(%%esi),%%eax; adcl %%eax,8(%%edi);\"\n                 :\"=g\" (*dest):\"g\" (dest), \"g\" (x2)\n                 :\"ax\",\"si\",\"di\");\n#endif\n}\n\n\n/* Add the 12 byte Xsig x2 to Xsig dest, adjust exp if overflow occurs. */\nBX_C_INLINE\nvoid add_two_Xsig(Xsig *dest, const Xsig *x2, s32 *exp)\n{\n#ifdef NO_ASSEMBLER\n  int ovfl = 0;\n\n  dest->lsw += x2->lsw;\n  if ( dest->lsw < x2->lsw )\n    {\n      dest->midw ++;\n      if ( dest->midw == 0 )\n\t{\n\t  dest->msw ++;\n\t  if ( dest->msw == 0 )\n\t    ovfl = 1;\n\t}\n    }\n  dest->midw += x2->midw;\n  if ( dest->midw < x2->midw )\n    {\n      dest->msw ++;\n      if ( dest->msw == 0 )\n\tovfl = 1;\n    }\n  dest->msw += x2->msw;\n  if ( dest->msw < x2->msw )\n    ovfl = 1;\n  if ( ovfl )\n    {\n      (*exp) ++;\n      dest->lsw >>= 1;\n      if ( dest->midw & 1 )\n\tdest->lsw |= 0x80000000;\n      dest->midw >>= 1;\n      if ( dest->msw & 1 )\n\tdest->midw |= 0x80000000;\n      dest->msw >>= 1;\n      dest->msw |= 0x80000000;\n    }\n#else\n/* Note: the constraints in the asm statement didn't always work properly\n   with gcc 2.5.8.  Changing from using edi to using ecx got around the\n   problem, but keep fingers crossed! */\n  asm volatile (\"movl %2,%%ecx; movl %3,%%esi;\"\n                \"movl (%%esi),%%eax; addl %%eax,(%%ecx);\"\n                \"movl 4(%%esi),%%eax; adcl %%eax,4(%%ecx);\"\n                \"movl 8(%%esi),%%eax; adcl %%eax,8(%%ecx);\"\n                \"jnc 0f;\"\n\t\t\t\t\"rcrl 8(%%ecx); rcrl 4(%%ecx); rcrl (%%ecx)\"\n                \"movl %4,%%ecx; incl (%%ecx)\"\n                \"movl $1,%%eax; jmp 1f;\"\n                \"0: xorl %%eax,%%eax;\"\n                \"1:\"\n\t\t:\"=g\" (*exp), \"=g\" (*dest)\n\t\t:\"g\" (dest), \"g\" (x2), \"g\" (exp)\n\t\t:\"cx\",\"si\",\"ax\");\n#endif\n}\n\n\n/* Negate the 12 byte Xsig */\nBX_C_INLINE\nvoid negate_Xsig(Xsig *x)\n{\n#ifdef NO_ASSEMBLER\n  x->lsw = ~x->lsw;\n  x->midw = ~x->midw;\n  x->msw = ~x->msw;\n  x->lsw ++;\n  if ( x->lsw == 0 )\n    {\n      x->midw ++;\n      if ( x->midw == 0 )\n\tx->msw ++;\n    }\n#else\n/* Negate (subtract from 1.0) the 12 byte Xsig */\n/* This is faster in a loop on my 386 than using the \"neg\" instruction. */\n  asm volatile(\"movl %1,%%esi; \"\n               \"xorl %%ecx,%%ecx; \"\n               \"movl %%ecx,%%eax; subl (%%esi),%%eax; movl %%eax,(%%esi); \"\n               \"movl %%ecx,%%eax; sbbl 4(%%esi),%%eax; movl %%eax,4(%%esi); \"\n               \"movl %%ecx,%%eax; sbbl 8(%%esi),%%eax; movl %%eax,8(%%esi); \"\n               :\"=g\" (*x):\"g\" (x):\"si\",\"ax\",\"cx\");\n#endif\n}\n\n\n#endif /* _POLY_H */\n"
  },
  {
    "path": "Project/fpu/Source/poly_2xm1.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  poly_2xm1.c                                                              |\n |  $Id: poly_2xm1.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Function to compute 2^x-1 by a polynomial approximation.                  |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"control_w.h\"\n#include \"poly.h\"\n\n\n#define\tHIPOWER\t11\nstatic const u64 lterms[HIPOWER] =\n{\n  BX_CONST64(0x0000000000000000),  /* This term done separately as 12 bytes */\n  BX_CONST64(0xf5fdeffc162c7543),\n  BX_CONST64(0x1c6b08d704a0bfa6),\n  BX_CONST64(0x0276556df749cc21),\n  BX_CONST64(0x002bb0ffcf14f6b8),\n  BX_CONST64(0x0002861225ef751c),\n  BX_CONST64(0x00001ffcbfcd5422),\n  BX_CONST64(0x00000162c005d5f1),\n  BX_CONST64(0x0000000da96ccb1b),\n  BX_CONST64(0x0000000078d1b897),\n  BX_CONST64(0x000000000422b029)\n};\n\nstatic const Xsig hiterm = MK_XSIG(0xb17217f7, 0xd1cf79ab, 0xc8a39194);\n\n/* Four slices: 0.0 : 0.25 : 0.50 : 0.75 : 1.0,\n   These numbers are 2^(1/4), 2^(1/2), and 2^(3/4)\n */\nstatic const Xsig shiftterm0 = MK_XSIG(0, 0, 0);\nstatic const Xsig shiftterm1 = MK_XSIG(0x9837f051, 0x8db8a96f, 0x46ad2318);\nstatic const Xsig shiftterm2 = MK_XSIG(0xb504f333, 0xf9de6484, 0x597d89b3);\nstatic const Xsig shiftterm3 = MK_XSIG(0xd744fcca, 0xd69d6af4, 0x39a68bb9);\n\nstatic const Xsig *shiftterm[] = { &shiftterm0, &shiftterm1,\n\t\t\t\t     &shiftterm2, &shiftterm3 };\n\n\n/*--- poly_2xm1(current_i387_definefunyuan_void   ) -----------------------------------------------------------+\n | Requires st(0) which is TAG_Valid and < 1.                                |\n +---------------------------------------------------------------------------*/\nint\tpoly_2xm1(current_i387_definefunyuan_   u_char sign, FPU_REG *arg, FPU_REG *result)\n{\n  s32       exponent, shift;\n  u64       Xll;\n  Xsig      accumulator, Denom, argSignif;\n  u_char    tag;\n\n  exponent = exponent16(arg);\n\n#ifdef PARANOID\n  if ( exponent >= 0 )    \t/* Don't want a |number| >= 1.0 */\n    {\n      /* Number negative, too large, or not Valid. */\n      EXCEPTION(EX_INTERNAL|0x127);\n      return 1;\n    }\n#endif /* PARANOID */\n\n  argSignif.lsw = 0;\n  XSIG_LL(argSignif) = Xll = significand(arg);\n\n  if ( exponent == -1 )\n    {\n      shift = (argSignif.msw & 0x40000000) ? 3 : 2;\n      /* subtract 0.5 or 0.75 */\n      exponent -= 2;\n      XSIG_LL(argSignif) <<= 2;\n      Xll <<= 2;\n    }\n  else if ( exponent == -2 )\n    {\n      shift = 1;\n      /* subtract 0.25 */\n      exponent--;\n      XSIG_LL(argSignif) <<= 1;\n      Xll <<= 1;\n    }\n  else\n    shift = 0;\n\n  if ( exponent < -2 )\n    {\n      /* Shift the argument right by the required places. */\n      if ( FPU_shrx(current_i387_yuan_   &Xll, -2-exponent) >= 0x80000000U )\n\tXll++;\t/* round up */\n    }\n\n  accumulator.lsw = accumulator.midw = accumulator.msw = 0;\n  polynomial_Xsig(&accumulator, &Xll, lterms, HIPOWER-1);\n  mul_Xsig_Xsig(&accumulator, &argSignif);\n  shr_Xsig(&accumulator, 3);\n\n  mul_Xsig_Xsig(&argSignif, &hiterm);   /* The leading term */\n  add_two_Xsig(&accumulator, &argSignif, &exponent);\n\n  if ( shift )\n    {\n      /* The argument is large, use the identity:\n\t f(x+a) = f(a) * (f(x) + 1) - 1;\n\t */\n      shr_Xsig(&accumulator, - exponent);\n      accumulator.msw |= 0x80000000;      /* add 1.0 */\n      mul_Xsig_Xsig(&accumulator, shiftterm[shift]);\n      accumulator.msw &= 0x3fffffff;      /* subtract 1.0 */\n      exponent = 1;\n    }\n\n  if ( sign != SIGN_POS )\n    {\n      /* The argument is negative, use the identity:\n\t     f(-x) = -f(x) / (1 + f(x))\n\t */\n      Denom.lsw = accumulator.lsw;\n      XSIG_LL(Denom) = XSIG_LL(accumulator);\n      if ( exponent < 0 )\n\tshr_Xsig(&Denom, - exponent);\n      else if ( exponent > 0 )\n\t{\n\t  /* exponent must be 1 here */\n\t  XSIG_LL(Denom) <<= 1;\n\t  if ( Denom.lsw & 0x80000000 )\n\t    XSIG_LL(Denom) |= 1;\n\t  (Denom.lsw) <<= 1;\n\t}\n      Denom.msw |= 0x80000000;      /* add 1.0 */\n      div_Xsig(current_i387_yuan_   &accumulator, &Denom, &accumulator);\n    }\n\n  /* Convert to 64 bit signed-compatible */\n  exponent += round_Xsig(&accumulator);\n\n  result = &st(0);\n  significand(result) = XSIG_LL(accumulator);\n  setexponent16(result, exponent);\n\n  tag = FPU_round(current_i387_yuan_   result, 1, 0, FULL_PRECISION, sign);\n\n  setsign(result, sign);\n  FPU_settag0(current_i387_yuan_   tag);\n\n  return 0;\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/poly_atan.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  poly_atan.c                                                              |\n |  $Id: poly_atan.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Compute the arctan of a FPU_REG, using a polynomial approximation.        |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"status_w.h\"\n#include \"control_w.h\"\n#include \"poly.h\"\n\n#define\tHIPOWERon\t6\t/* odd poly, negative terms */\nstatic const u64 oddnegterms[HIPOWERon] =\n{\n  BX_CONST64(0x0000000000000000), /* Dummy (not for - 1.0) */\n  BX_CONST64(0x015328437f756467),\n  BX_CONST64(0x0005dda27b73dec6),\n  BX_CONST64(0x0000226bf2bfb91a),\n  BX_CONST64(0x000000ccc439c5f7),\n  BX_CONST64(0x0000000355438407)\n} ;\n\n#define\tHIPOWERop\t6\t/* odd poly, positive terms */\nstatic const u64 oddplterms[HIPOWERop] =\n{\n/*  BX_CONST64(0xaaaaaaaaaaaaaaab),  transferred to fixedpterm[] */\n  BX_CONST64(0x0db55a71875c9ac2),\n  BX_CONST64(0x0029fce2d67880b0),\n  BX_CONST64(0x0000dfd3908b4596),\n  BX_CONST64(0x00000550fd61dab4),\n  BX_CONST64(0x0000001c9422b3f9),\n  BX_CONST64(0x000000003e3301e1)\n};\n\nstatic const u64 denomterm = BX_CONST64(0xebd9b842c5c53a0e);\n\nstatic const Xsig fixedpterm = MK_XSIG(0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa);\n\nstatic const Xsig pi_signif = MK_XSIG(0xc90fdaa2, 0x2168c234, 0xc4c6628b);\n\n\n/*--- poly_atan(current_i387_definefunyuan_void   ) -----------------------------------------------------------+\n |                                                                           |\n +---------------------------------------------------------------------------*/\nvoid\tpoly_atan(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag,\n\t\t  FPU_REG *st1_ptr, u_char st1_tag)\n{\n  u_char\ttransformed, inverted,\n                sign1, sign2;\n  s32           exponent;\n  s32   \tdummy_exp;\n  Xsig          accumulator, Numer, Denom, accumulatore, argSignif,\n                argSq, argSqSq;\n  u_char        tag;\n  \n  sign1 = getsign(st0_ptr);\n  sign2 = getsign(st1_ptr);\n  if ( st0_tag == TAG_Valid )\n    {\n      exponent = exponent(st0_ptr);\n    }\n  else\n    {\n      /* This gives non-compatible stack contents... */\n      FPU_to_exp16(current_i387_yuan_   st0_ptr, st0_ptr);\n      exponent = exponent16(st0_ptr);\n    }\n  if ( st1_tag == TAG_Valid )\n    {\n      exponent -= exponent(st1_ptr);\n    }\n  else\n    {\n      /* This gives non-compatible stack contents... */\n      FPU_to_exp16(current_i387_yuan_   st1_ptr, st1_ptr);\n      exponent -= exponent16(st1_ptr);\n    }\n\n  if ( (exponent < 0) || ((exponent == 0) &&\n\t\t\t  ((st0_ptr->sigh < st1_ptr->sigh) ||\n\t\t\t   ((st0_ptr->sigh == st1_ptr->sigh) &&\n\t\t\t    (st0_ptr->sigl < st1_ptr->sigl))) ) )\n    {\n      inverted = 1;\n      Numer.lsw = Denom.lsw = 0;\n      XSIG_LL(Numer) = significand(st0_ptr);\n      XSIG_LL(Denom) = significand(st1_ptr);\n    }\n  else\n    {\n      inverted = 0;\n      exponent = -exponent;\n      Numer.lsw = Denom.lsw = 0;\n      XSIG_LL(Numer) = significand(st1_ptr);\n      XSIG_LL(Denom) = significand(st0_ptr);\n     }\n  div_Xsig(current_i387_yuan_   &Numer, &Denom, &argSignif);\n  exponent += norm_Xsig(&argSignif);\n\n  if ( (exponent >= -1)\n      || ((exponent == -2) && (argSignif.msw > 0xd413ccd0)) )\n    {\n      /* The argument is greater than sqrt(2)-1 (=0.414213562...) */\n      /* Convert the argument by an identity for atan */\n      transformed = 1;\n\n      if ( exponent >= 0 )\n\t{\n#ifdef PARANOID\n\t  if ( !( (exponent == 0) && \n\t\t (argSignif.lsw == 0) && (argSignif.midw == 0) &&\n\t\t (argSignif.msw == 0x80000000) ) )\n\t    {\n\t      EXCEPTION(EX_INTERNAL|0x104);  /* There must be a logic error */\n\t      return;\n\t    }\n#endif /* PARANOID */\n\t  argSignif.msw = 0;   /* Make the transformed arg -> 0.0 */\n\t}\n      else\n\t{\n\t  Numer.lsw = Denom.lsw = argSignif.lsw;\n\t  XSIG_LL(Numer) = XSIG_LL(Denom) = XSIG_LL(argSignif);\n\n\t  if ( exponent < -1 )\n\t    shr_Xsig(&Numer, -1-exponent);\n\t  negate_Xsig(&Numer);\n      \n\t  shr_Xsig(&Denom, -exponent);\n\t  Denom.msw |= 0x80000000;\n      \n\t  div_Xsig(current_i387_yuan_   &Numer, &Denom, &argSignif);\n\n\t  exponent = -1 + norm_Xsig(&argSignif);\n\t}\n    }\n  else\n    {\n      transformed = 0;\n    }\n\n  argSq.lsw = argSignif.lsw; argSq.midw = argSignif.midw;\n  argSq.msw = argSignif.msw;\n  mul_Xsig_Xsig(&argSq, &argSq);\n  \n  argSqSq.lsw = argSq.lsw; argSqSq.midw = argSq.midw; argSqSq.msw = argSq.msw;\n  mul_Xsig_Xsig(&argSqSq, &argSqSq);\n\n  accumulatore.lsw = argSq.lsw;\n  XSIG_LL(accumulatore) = XSIG_LL(argSq);\n\n  shr_Xsig(&argSq, 2*(-1-exponent-1));\n  shr_Xsig(&argSqSq, 4*(-1-exponent-1));\n\n  /* Now have argSq etc with binary point at the left\n     .1xxxxxxxx */\n\n  /* Do the basic fixed point polynomial evaluation */\n  accumulator.msw = accumulator.midw = accumulator.lsw = 0;\n  polynomial_Xsig(&accumulator, &XSIG_LL(argSqSq),\n\t\t   oddplterms, HIPOWERop-1);\n  mul64_Xsig(&accumulator, &XSIG_LL(argSq));\n  negate_Xsig(&accumulator);\n  polynomial_Xsig(&accumulator, &XSIG_LL(argSqSq), oddnegterms, HIPOWERon-1);\n  negate_Xsig(&accumulator);\n  dummy_exp = 0;\n  add_two_Xsig(&accumulator, &fixedpterm, &dummy_exp);\n\n  mul64_Xsig(&accumulatore, &denomterm);\n  shr_Xsig(&accumulatore, 1 + 2*(-1-exponent));\n  accumulatore.msw |= 0x80000000;\n\n  div_Xsig(current_i387_yuan_   &accumulator, &accumulatore, &accumulator);\n\n  mul_Xsig_Xsig(&accumulator, &argSignif);\n  mul_Xsig_Xsig(&accumulator, &argSq);\n\n  shr_Xsig(&accumulator, 3);\n  negate_Xsig(&accumulator);\n  add_Xsig_Xsig(&accumulator, &argSignif);\n\n  if ( transformed )\n    {\n      /* compute pi/4 - accumulator */\n      shr_Xsig(&accumulator, -1-exponent);\n      negate_Xsig(&accumulator);\n      add_Xsig_Xsig(&accumulator, &pi_signif);\n      exponent = -1;\n    }\n\n  if ( inverted )\n    {\n      /* compute pi/2 - accumulator */\n      shr_Xsig(&accumulator, -exponent);\n      negate_Xsig(&accumulator);\n      add_Xsig_Xsig(&accumulator, &pi_signif);\n      exponent = 0;\n    }\n\n  if ( sign1 )\n    {\n      /* compute pi - accumulator */\n      shr_Xsig(&accumulator, 1 - exponent);\n      negate_Xsig(&accumulator);\n      add_Xsig_Xsig(&accumulator, &pi_signif);\n      exponent = 1;\n    }\n\n  exponent += round_Xsig(&accumulator);\n\n  significand(st1_ptr) = XSIG_LL(accumulator);\n  setexponent16(st1_ptr, exponent);\n\n  tag = FPU_round(current_i387_yuan_   st1_ptr, 1, 0, FULL_PRECISION, sign2);\n  FPU_settagi(current_i387_yuan_   1, tag);\n\n\n  set_precision_flag_up(current_i387_yuan_clono  );  /* We do not really know if up or down,\n\t\t\t       use this as the default. */\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/poly_l2.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  poly_l2.c                                                                |\n |  $Id: poly_l2.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Compute the base 2 log of a FPU_REG, using a polynomial approximation.    |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"control_w.h\"\n#include \"poly.h\"\n\n\nstatic void log2_kernel(current_i387_definefunyuan_   FPU_REG const *arg, u_char argsign,\n\t\t\tXsig *accum_result, s32 *expon);\n\n\n/*--- poly_l2(current_i387_definefunyuan_void   ) -------------------------------------------------------------+\n |   Base 2 logarithm by a polynomial approximation.                         |\n +---------------------------------------------------------------------------*/\nvoid\tpoly_l2(current_i387_definefunyuan_   FPU_REG *st0_ptr, FPU_REG *st1_ptr, u_char st1_sign)\n{\n  s32\t       exponent, expon, expon_expon;\n  Xsig         accumulator, expon_accum, yaccum;\n  u_char       sign, argsign;\n  FPU_REG      x;\n  int          tag;\n\n  exponent = exponent16(st0_ptr);\n\n  /* From st0_ptr, make a number > sqrt(2)/2 and < sqrt(2) */\n  if ( st0_ptr->sigh > (unsigned)0xb504f334 )\n    {\n      /* Treat as  sqrt(2)/2 < st0_ptr < 1 */\n      significand(&x) = (0- significand(st0_ptr));\n      setexponent16(&x, -1);\n      exponent++;\n      argsign = SIGN_NEG;\n    }\n  else\n    {\n      /* Treat as  1 <= st0_ptr < sqrt(2) */\n      x.sigh = st0_ptr->sigh - 0x80000000;\n      x.sigl = st0_ptr->sigl;\n      setexponent16(&x, 0);\n      argsign = SIGN_POS;\n    }\n  tag = FPU_normalize_nuo(current_i387_yuan_   &x, 0);\n\n  if ( tag == TAG_Zero )\n    {\n      expon = 0;\n      accumulator.msw = accumulator.midw = accumulator.lsw = 0;\n    }\n  else\n    {\n      log2_kernel(current_i387_yuan_   &x, argsign, &accumulator, &expon);\n    }\n\n  if ( exponent < 0 )\n    {\n      sign = SIGN_NEG;\n      exponent = -exponent;\n    }\n  else\n    sign = SIGN_POS;\n  expon_accum.msw = exponent; expon_accum.midw = expon_accum.lsw = 0;\n  if ( exponent )\n    {\n      expon_expon = 31 + norm_Xsig(&expon_accum);\n      shr_Xsig(&accumulator, expon_expon - expon);\n\n      if ( sign ^ argsign )\n\tnegate_Xsig(&accumulator);\n      add_Xsig_Xsig(&accumulator, &expon_accum);\n    }\n  else\n    {\n      expon_expon = expon;\n      sign = argsign;\n    }\n\n  yaccum.lsw = 0; XSIG_LL(yaccum) = significand(st1_ptr);\n  mul_Xsig_Xsig(&accumulator, &yaccum);\n\n  expon_expon += round_Xsig(&accumulator);\n\n  if ( accumulator.msw == 0 )\n    {\n      FPU_copy_to_reg1(current_i387_yuan_   &CONST_Z, TAG_Zero);\n      return;\n    }\n\n  significand(st1_ptr) = XSIG_LL(accumulator);\n  setexponent16(st1_ptr, expon_expon + exponent16(st1_ptr) + 1);\n\n  tag = FPU_round(current_i387_yuan_   st1_ptr, 1, 0, FULL_PRECISION, sign ^ st1_sign);\n  FPU_settagi(current_i387_yuan_   1, tag);\n\n  set_precision_flag_up(current_i387_yuan_clono  );  /* 80486 appears to always do this */\n\n  return;\n\n}\n\n\n/*--- poly_l2p1(current_i387_definefunyuan_void   ) -----------------------------------------------------------+\n |   Base 2 logarithm by a polynomial approximation.                         |\n |   log2(x+1)                                                               |\n +---------------------------------------------------------------------------*/\nint\tpoly_l2p1(current_i387_definefunyuan_   u_char sign0, u_char sign1,\n\t\t  FPU_REG *st0_ptr, FPU_REG *st1_ptr, FPU_REG *dest)\n{\n  u_char       \ttag;\n  s32        \texponent;\n  Xsig         \taccumulator, yaccum;\n\n  if ( exponent16(st0_ptr) < 0 )\n    {\n      log2_kernel(current_i387_yuan_   st0_ptr, sign0, &accumulator, &exponent);\n\n      yaccum.lsw = 0;\n      XSIG_LL(yaccum) = significand(st1_ptr);\n      mul_Xsig_Xsig(&accumulator, &yaccum);\n\n      exponent += round_Xsig(&accumulator);\n\n      exponent += exponent16(st1_ptr) + 1;\n      if ( exponent < EXP_WAY_UNDER ) exponent = EXP_WAY_UNDER;\n\n      significand(dest) = XSIG_LL(accumulator);\n      setexponent16(dest, exponent);\n\n      tag = FPU_round(current_i387_yuan_   dest, 1, 0, FULL_PRECISION, sign0 ^ sign1);\n      FPU_settagi(current_i387_yuan_   1, tag);\n\n      if ( tag == TAG_Valid )\n\tset_precision_flag_up(current_i387_yuan_clono  );   /* 80486 appears to always do this */\n    }\n  else\n    {\n      /* The magnitude of st0_ptr is far too large. */\n\n      if ( sign0 != SIGN_POS )\n\t{\n\t  /* Trying to get the log of a negative number. */\n#ifdef PECULIAR_486   /* Stupid 80486 doesn't worry about log(negative). */\n\t  changesign(st1_ptr);\n#else\n\t  if ( arith_invalid(current_i387_yuan_   1) < 0 )\n\t    return 1;\n#endif /* PECULIAR_486 */\n\t}\n\n      /* 80486 appears to do this */\n      if ( sign0 == SIGN_NEG )\n\tset_precision_flag_down(current_i387_yuan_clono  );\n      else\n\tset_precision_flag_up(current_i387_yuan_clono  );\n    }\n\n  if ( exponent(dest) <= EXP_UNDER )\n    EXCEPTION(EX_Underflow);\n\n  return 0;\n\n}\n\n\n\n\n#undef HIPOWER\n#define\tHIPOWER\t10\nstatic const u64 logterms[HIPOWER] =\n{\n  BX_CONST64(0x2a8eca5705fc2ef0),\n  BX_CONST64(0xf6384ee1d01febce),\n  BX_CONST64(0x093bb62877cdf642),\n  BX_CONST64(0x006985d8a9ec439b),\n  BX_CONST64(0x0005212c4f55a9c8),\n  BX_CONST64(0x00004326a16927f0),\n  BX_CONST64(0x0000038d1d80a0e7),\n  BX_CONST64(0x0000003141cc80c6),\n  BX_CONST64(0x00000002b1668c9f),\n  BX_CONST64(0x000000002c7a46aa)\n};\n\nstatic const u32 leadterm = 0xb8000000;\n\n\n/*--- log2_kernel() ---------------------------------------------------------+\n |   Base 2 logarithm by a polynomial approximation.                         |\n |   log2(x+1)                                                               |\n +---------------------------------------------------------------------------*/\nstatic void log2_kernel(current_i387_definefunyuan_   FPU_REG const *arg, u_char argsign, Xsig *accum_result,\n\t\t\ts32 *expon)\n{\n  s32    exponent, adj;\n  u64    Xsq;\n  Xsig   accumulator, Numer, Denom, argSignif, arg_signif;\n\n  exponent = exponent16(arg);\n  Numer.lsw = Denom.lsw = 0;\n  XSIG_LL(Numer) = XSIG_LL(Denom) = significand(arg);\n  if ( argsign == SIGN_POS )\n    {\n      shr_Xsig(&Denom, 2 - (1 + exponent));\n      Denom.msw |= 0x80000000;\n      div_Xsig(current_i387_yuan_   &Numer, &Denom, &argSignif);\n    }\n  else\n    {\n      shr_Xsig(&Denom, 1 - (1 + exponent));\n      negate_Xsig(&Denom);\n      if ( Denom.msw & 0x80000000 )\n\t{\n\t  div_Xsig(current_i387_yuan_   &Numer, &Denom, &argSignif);\n\t  exponent ++;\n\t}\n      else\n\t{\n\t  /* Denom must be 1.0 */\n\t  argSignif.lsw = Numer.lsw; argSignif.midw = Numer.midw;\n\t  argSignif.msw = Numer.msw;\n\t}\n    }\n\n#ifndef PECULIAR_486\n  /* Should check here that  |local_arg|  is within the valid range */\n  if ( exponent >= -2 )\n    {\n      if ( (exponent > -2) ||\n\t  (argSignif.msw > (unsigned)0xafb0ccc0) )\n\t{\n\t  /* The argument is too large */\n\t}\n    }\n#endif /* PECULIAR_486 */\n\n  arg_signif.lsw = argSignif.lsw; XSIG_LL(arg_signif) = XSIG_LL(argSignif);\n  adj = norm_Xsig(&argSignif);\n  accumulator.lsw = argSignif.lsw; XSIG_LL(accumulator) = XSIG_LL(argSignif);\n  mul_Xsig_Xsig(&accumulator, &accumulator);\n  shr_Xsig(&accumulator, 2*(-1 - (1 + exponent + adj)));\n  Xsq = XSIG_LL(accumulator);\n  if ( accumulator.lsw & 0x80000000 )\n    Xsq++;\n\n  accumulator.msw = accumulator.midw = accumulator.lsw = 0;\n  /* Do the basic fixed point polynomial evaluation */\n  polynomial_Xsig(&accumulator, &Xsq, logterms, HIPOWER-1);\n\n  mul_Xsig_Xsig(&accumulator, &argSignif);\n  shr_Xsig(&accumulator, 6 - adj);\n\n  mul32_Xsig(&arg_signif, leadterm);\n  add_two_Xsig(&accumulator, &arg_signif, &exponent);\n\n  *expon = exponent + 1;\n  accum_result->lsw = accumulator.lsw;\n  accum_result->midw = accumulator.midw;\n  accum_result->msw = accumulator.msw;\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/poly_sin.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  poly_sin.c                                                               |\n |  $Id: poly_sin.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |  Computation of an approximation of the sin function and the cosine       |\n |  function by a polynomial.                                                |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"control_w.h\"\n#include \"poly.h\"\n\n\n#define\tN_COEFF_P\t4\n#define\tN_COEFF_N\t4\n\nstatic const u64 pos_terms_l[N_COEFF_P] =\n{\n  BX_CONST64(0xaaaaaaaaaaaaaaab),\n  BX_CONST64(0x00d00d00d00cf906),\n  BX_CONST64(0x000006b99159a8bb),\n  BX_CONST64(0x000000000d7392e6)\n};\n\nstatic const u64 neg_terms_l[N_COEFF_N] =\n{\n  BX_CONST64(0x2222222222222167),\n  BX_CONST64(0x0002e3bc74aab624),\n  BX_CONST64(0x0000000b09229062),\n  BX_CONST64(0x00000000000c7973)\n};\n\n\n\n#define\tN_COEFF_PH\t4\n#define\tN_COEFF_NH\t4\nstatic const u64 pos_terms_h[N_COEFF_PH] =\n{\n  BX_CONST64(0x0000000000000000),\n  BX_CONST64(0x05b05b05b05b0406),\n  BX_CONST64(0x000049f93edd91a9),\n  BX_CONST64(0x00000000c9c9ed62)\n};\n\nstatic const u64 neg_terms_h[N_COEFF_NH] =\n{\n  BX_CONST64(0xaaaaaaaaaaaaaa98),\n  BX_CONST64(0x001a01a01a019064),\n  BX_CONST64(0x0000008f76c68a77),\n  BX_CONST64(0x0000000000d58f5e)\n};\n\n\n/*--- poly_sine(current_i387_definefunyuan_void   ) -----------------------------------------------------------+\n |                                                                           |\n +---------------------------------------------------------------------------*/\nvoid\tpoly_sine(current_i387_definefunyuan_   FPU_REG *st0_ptr)\n{\n  int       exponent, echange;\n  Xsig      accumulator, argSqrd, argTo4;\n  s32       fix_up, adj;\n  u64       fixed_arg;\n  FPU_REG   result;\n\n  exponent = exponent(st0_ptr);\n\n  accumulator.lsw = accumulator.midw = accumulator.msw = 0;\n\n  /* Split into two ranges, for arguments below and above 1.0 */\n  /* The boundary between upper and lower is approx 0.88309101259 */\n  if ( (exponent < -1) || ((exponent == -1) && (st0_ptr->sigh <= 0xe21240aa)) )\n    {\n      /* The argument is <= 0.88309101259 */\n\n      argSqrd.msw = st0_ptr->sigh; argSqrd.midw = st0_ptr->sigl; argSqrd.lsw = 0;\n      mul64_Xsig(&argSqrd, &significand(st0_ptr));\n      shr_Xsig(&argSqrd, 2*(-1-exponent));\n      argTo4.msw = argSqrd.msw; argTo4.midw = argSqrd.midw;\n      argTo4.lsw = argSqrd.lsw;\n      mul_Xsig_Xsig(&argTo4, &argTo4);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), neg_terms_l,\n\t\t      N_COEFF_N-1);\n      mul_Xsig_Xsig(&accumulator, &argSqrd);\n      negate_Xsig(&accumulator);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), pos_terms_l,\n\t\t      N_COEFF_P-1);\n\n      shr_Xsig(&accumulator, 2);    /* Divide by four */\n      accumulator.msw |= 0x80000000;  /* Add 1.0 */\n\n      mul64_Xsig(&accumulator, &significand(st0_ptr));\n      mul64_Xsig(&accumulator, &significand(st0_ptr));\n      mul64_Xsig(&accumulator, &significand(st0_ptr));\n\n      /* Divide by four, FPU_REG compatible, etc */\n      exponent = 3*exponent;\n\n      /* The minimum exponent difference is 3 */\n      shr_Xsig(&accumulator, exponent(st0_ptr) - exponent);\n\n      negate_Xsig(&accumulator);\n      XSIG_LL(accumulator) += significand(st0_ptr);\n\n      echange = round_Xsig(&accumulator);\n\n      setexponentpos(&result, exponent(st0_ptr) + echange);\n    }\n  else\n    {\n      /* The argument is > 0.88309101259 */\n      /* We use sin(st(0)) = cos(pi/2-st(0)) */\n\n      fixed_arg = significand(st0_ptr);\n\n      if ( exponent == 0 )\n\t{\n\t  /* The argument is >= 1.0 */\n\n\t  /* Put the binary point at the left. */\n\t  fixed_arg <<= 1;\n\t}\n      /* pi/2 in hex is: 1.921fb54442d18469 898CC51701B839A2 52049C1 */\n      fixed_arg = BX_CONST64(0x921fb54442d18469) - fixed_arg;\n      /* There is a special case which arises due to rounding, to fix here. */\n      if ( fixed_arg == BX_CONST64(0xffffffffffffffff))\n\tfixed_arg = 0;\n\n      XSIG_LL(argSqrd) = fixed_arg; argSqrd.lsw = 0;\n      mul64_Xsig(&argSqrd, &fixed_arg);\n\n      XSIG_LL(argTo4) = XSIG_LL(argSqrd); argTo4.lsw = argSqrd.lsw;\n      mul_Xsig_Xsig(&argTo4, &argTo4);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), neg_terms_h,\n\t\t      N_COEFF_NH-1);\n      mul_Xsig_Xsig(&accumulator, &argSqrd);\n      negate_Xsig(&accumulator);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), pos_terms_h,\n\t\t      N_COEFF_PH-1);\n      negate_Xsig(&accumulator);\n\n      mul64_Xsig(&accumulator, &fixed_arg);\n      mul64_Xsig(&accumulator, &fixed_arg);\n\n      shr_Xsig(&accumulator, 3);\n      negate_Xsig(&accumulator);\n\n      add_Xsig_Xsig(&accumulator, &argSqrd);\n\n      shr_Xsig(&accumulator, 1);\n\n      accumulator.lsw |= 1;  /* A zero accumulator here would cause problems */\n      negate_Xsig(&accumulator);\n\n      /* The basic computation is complete. Now fix the answer to\n\t compensate for the error due to the approximation used for\n\t pi/2\n\t */\n\n      /* This has an exponent of -65 */\n      fix_up = 0x898cc517;\n      /* The fix-up needs to be improved for larger args */\n      if ( argSqrd.msw & 0xffc00000 )\n\t{\n\t  /* Get about 32 bit precision in these: */\n\t  fix_up -= mul_32_32(0x898cc517, argSqrd.msw) / 6;\n\t}\n      fix_up = mul_32_32(fix_up, LL_MSW(fixed_arg));\n\n      adj = accumulator.lsw;    /* temp save */\n      accumulator.lsw -= fix_up;\n      if ( accumulator.lsw > (u32)adj )\n\tXSIG_LL(accumulator) --;\n\n      echange = round_Xsig(&accumulator);\n\n      setexponentpos(&result, echange - 1);\n    }\n\n  significand(&result) = XSIG_LL(accumulator);\n  setsign(&result, getsign(st0_ptr));\n  FPU_copy_to_reg0(current_i387_yuan_   &result, TAG_Valid);\n\n#ifdef PARANOID\n  if ( (exponent(&result) >= 0)\n      && (significand(&result) > BX_CONST64(0x8000000000000000)) )\n    {\n      EXCEPTION(EX_INTERNAL|0x150);\n    }\n#endif /* PARANOID */\n\n}\n\n\n\n/*--- poly_cos(current_i387_definefunyuan_void   ) ------------------------------------------------------------+\n |                                                                           |\n +---------------------------------------------------------------------------*/\nvoid\tpoly_cos(current_i387_definefunyuan_   FPU_REG *st0_ptr)\n{\n  FPU_REG    result;\n  s32        exponent, exp2, echange;\n  Xsig       accumulator, argSqrd, fix_up, argTo4;\n  u64        fixed_arg;\n\n#ifdef PARANOID\n  if ( (exponent(st0_ptr) > 0)\n      || ((exponent(st0_ptr) == 0)\n\t  && (significand(st0_ptr) > BX_CONST64(0xc90fdaa22168c234))) )\n    {\n      EXCEPTION(EX_Invalid);\n      FPU_copy_to_reg0(current_i387_yuan_   &CONST_QNaN, TAG_Special);\n      return;\n    }\n#endif /* PARANOID */\n\n  exponent = exponent(st0_ptr);\n\n  accumulator.lsw = accumulator.midw = accumulator.msw = 0;\n\n  if ( (exponent < -1) || ((exponent == -1) && (st0_ptr->sigh <= 0xb00d6f54)) )\n    {\n      /* arg is < 0.687705 */\n\n      argSqrd.msw = st0_ptr->sigh; argSqrd.midw = st0_ptr->sigl;\n      argSqrd.lsw = 0;\n      mul64_Xsig(&argSqrd, &significand(st0_ptr));\n\n      if ( exponent < -1 )\n\t{\n\t  /* shift the argument right by the required places */\n\t  shr_Xsig(&argSqrd, 2*(-1-exponent));\n\t}\n\n      argTo4.msw = argSqrd.msw; argTo4.midw = argSqrd.midw;\n      argTo4.lsw = argSqrd.lsw;\n      mul_Xsig_Xsig(&argTo4, &argTo4);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), neg_terms_h,\n\t\t      N_COEFF_NH-1);\n      mul_Xsig_Xsig(&accumulator, &argSqrd);\n      negate_Xsig(&accumulator);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), pos_terms_h,\n\t\t      N_COEFF_PH-1);\n      negate_Xsig(&accumulator);\n\n      mul64_Xsig(&accumulator, &significand(st0_ptr));\n      mul64_Xsig(&accumulator, &significand(st0_ptr));\n      shr_Xsig(&accumulator, -2*(1+exponent));\n\n      shr_Xsig(&accumulator, 3);\n      negate_Xsig(&accumulator);\n\n      add_Xsig_Xsig(&accumulator, &argSqrd);\n\n      shr_Xsig(&accumulator, 1);\n\n      /* It doesn't matter if accumulator is all zero here, the\n\t following code will work ok */\n      negate_Xsig(&accumulator);\n\n      if ( accumulator.lsw & 0x80000000 )\n\tXSIG_LL(accumulator) ++;\n      if ( accumulator.msw == 0 )\n\t{\n\t  /* The result is 1.0 */\n\t  FPU_copy_to_reg0(current_i387_yuan_   &CONST_1, TAG_Valid);\n\t  return;\n\t}\n      else\n\t{\n\t  significand(&result) = XSIG_LL(accumulator);\n      \n\t  /* will be a valid positive nr with expon = -1 */\n\t  setexponentpos(&result, -1);\n\t}\n    }\n  else\n    {\n      fixed_arg = significand(st0_ptr);\n\n      if ( exponent == 0 )\n\t{\n\t  /* The argument is >= 1.0 */\n\n\t  /* Put the binary point at the left. */\n\t  fixed_arg <<= 1;\n\t}\n      /* pi/2 in hex is: 1.921fb54442d18469 898CC51701B839A2 52049C1 */\n      fixed_arg = BX_CONST64(0x921fb54442d18469) - fixed_arg;\n      /* There is a special case which arises due to rounding, to fix here. */\n      if ( fixed_arg == BX_CONST64(0xffffffffffffffff))\n\tfixed_arg = 0;\n\n      exponent = -1;\n      exp2 = -1;\n\n      /* A shift is needed here only for a narrow range of arguments,\n\t i.e. for fixed_arg approx 2^-32, but we pick up more... */\n      if ( !(LL_MSW(fixed_arg) & 0xffff0000) )\n\t{\n\t  fixed_arg <<= 16;\n\t  exponent -= 16;\n\t  exp2 -= 16;\n\t}\n\n      XSIG_LL(argSqrd) = fixed_arg; argSqrd.lsw = 0;\n      mul64_Xsig(&argSqrd, &fixed_arg);\n\n      if ( exponent < -1 )\n\t{\n\t  /* shift the argument right by the required places */\n\t  shr_Xsig(&argSqrd, 2*(-1-exponent));\n\t}\n\n      argTo4.msw = argSqrd.msw; argTo4.midw = argSqrd.midw;\n      argTo4.lsw = argSqrd.lsw;\n      mul_Xsig_Xsig(&argTo4, &argTo4);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), neg_terms_l,\n\t\t      N_COEFF_N-1);\n      mul_Xsig_Xsig(&accumulator, &argSqrd);\n      negate_Xsig(&accumulator);\n\n      polynomial_Xsig(&accumulator, &XSIG_LL(argTo4), pos_terms_l,\n\t\t      N_COEFF_P-1);\n\n      shr_Xsig(&accumulator, 2);    /* Divide by four */\n      accumulator.msw |= 0x80000000;  /* Add 1.0 */\n\n      mul64_Xsig(&accumulator, &fixed_arg);\n      mul64_Xsig(&accumulator, &fixed_arg);\n      mul64_Xsig(&accumulator, &fixed_arg);\n\n      /* Divide by four, FPU_REG compatible, etc */\n      exponent = 3*exponent;\n\n      /* The minimum exponent difference is 3 */\n      shr_Xsig(&accumulator, exp2 - exponent);\n\n      negate_Xsig(&accumulator);\n      XSIG_LL(accumulator) += fixed_arg;\n\n      /* The basic computation is complete. Now fix the answer to\n\t compensate for the error due to the approximation used for\n\t pi/2\n\t */\n\n      /* This has an exponent of -65 */\n      XSIG_LL(fix_up) = BX_CONST64(0x898cc51701b839a2);\n      fix_up.lsw = 0;\n\n      /* The fix-up needs to be improved for larger args */\n      if ( argSqrd.msw & 0xffc00000 )\n\t{\n\t  /* Get about 32 bit precision in these: */\n\t  fix_up.msw -= mul_32_32(0x898cc517, argSqrd.msw) / 2;\n\t  fix_up.msw += mul_32_32(0x898cc517, argTo4.msw) / 24;\n\t}\n\n      exp2 += norm_Xsig(&accumulator);\n      shr_Xsig(&accumulator, 1); /* Prevent overflow */\n      exp2++;\n      shr_Xsig(&fix_up, 65 + exp2);\n\n      add_Xsig_Xsig(&accumulator, &fix_up);\n\n      echange = round_Xsig(&accumulator);\n\n      setexponentpos(&result, exp2 + echange);\n      significand(&result) = XSIG_LL(accumulator);\n    }\n\n  FPU_copy_to_reg0(current_i387_yuan_   &result, TAG_Valid);\n\n#ifdef PARANOID\n  if ( (exponent(&result) >= 0)\n      && (significand(&result) > BX_CONST64(0x8000000000000000)) )\n    {\n      EXCEPTION(EX_INTERNAL|0x151);\n    }\n#endif /* PARANOID */\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/poly_tan.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  poly_tan.c                                                               |\n |  $Id: poly_tan.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Compute the tan of a FPU_REG, using a polynomial approximation.           |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997,1999                                    |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@melbpc.org.au            |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n#include \"control_w.h\"\n#include \"poly.h\"\n\n//#define DEBUG_POLY_TAN // ***********\n\n#define\tHiPOWERop\t3\t/* odd poly, positive terms */\nstatic const u64 oddplterm[HiPOWERop] =\n{\n  BX_CONST64(0x0000000000000000),\n  BX_CONST64(0x0051a1cf08fca228),\n  BX_CONST64(0x0000000071284ff7)\n};\n\n#define\tHiPOWERon\t2\t/* odd poly, negative terms */\nstatic const u64 oddnegterm[HiPOWERon] =\n{\n   BX_CONST64(0x1291a9a184244e80),\n   BX_CONST64(0x0000583245819c21)\n};\n\n#define\tHiPOWERep\t2\t/* even poly, positive terms */\nstatic const u64 evenplterm[HiPOWERep] =\n{\n  BX_CONST64(0x0e848884b539e888),\n  BX_CONST64(0x00003c7f18b887da)\n};\n\n#define\tHiPOWERen\t2\t/* even poly, negative terms */\nstatic const u64 evennegterm[HiPOWERen] =\n{\n  BX_CONST64(0xf1f0200fd51569cc),\n  BX_CONST64(0x003afb46105c4432)\n};\n\nstatic const u64 twothirds = BX_CONST64(0xaaaaaaaaaaaaaaab);\n\n\n/*--- poly_tan(current_i387_definefunyuan_void   ) ------------------------------------------------------------+\n |                                                                           |\n +---------------------------------------------------------------------------*/\nvoid   poly_tan(current_i387_definefunyuan_   FPU_REG *st0_ptr, int invert)\n{\n  s32         exponent;\n  Xsig        argSq, argSqSq, accumulatoro, accumulatore, accum,\n              argSignif;\n\n  exponent = exponent(st0_ptr);\n\n\n#ifdef PARANOID\n  if ( signnegative(st0_ptr) )\t/* Can't hack a number < 0.0 */\n    { arith_invalid(current_i387_yuan_   0); return; }  /* Need a positive number */\n#endif /* PARANOID */\n\n  if ( (exponent >= 0)\n       || ((exponent == -1) && (st0_ptr->sigh > 0xc90fdaa2)) )\n    {\n    EXCEPTION(0x250);\n    }\n  else\n    {\n      argSignif.lsw = 0;\n      XSIG_LL(accum) = XSIG_LL(argSignif) = significand(st0_ptr);\n \n      if ( exponent < -1 )\n\t{\n\t  /* shift the argument right by the required places */\n\t  if ( FPU_shrx(current_i387_yuan_   &XSIG_LL(accum), -1-exponent) >= 0x80000000U )\n\t    XSIG_LL(accum) ++;\t/* round up */\n\t}\n    }\n\n  XSIG_LL(argSq) = XSIG_LL(accum); argSq.lsw = accum.lsw;\n  mul_Xsig_Xsig(&argSq, &argSq);\n  XSIG_LL(argSqSq) = XSIG_LL(argSq); argSqSq.lsw = argSq.lsw;\n  mul_Xsig_Xsig(&argSqSq, &argSqSq);\n\n  /* Compute the negative terms for the numerator polynomial */\n  accumulatoro.msw = accumulatoro.midw = accumulatoro.lsw = 0;\n  polynomial_Xsig(&accumulatoro, &XSIG_LL(argSqSq), oddnegterm, HiPOWERon-1);\n  mul_Xsig_Xsig(&accumulatoro, &argSq);\n  negate_Xsig(&accumulatoro);\n  /* Add the positive terms */\n  polynomial_Xsig(&accumulatoro, &XSIG_LL(argSqSq), oddplterm, HiPOWERop-1);\n\n  \n  /* Compute the positive terms for the denominator polynomial */\n  accumulatore.msw = accumulatore.midw = accumulatore.lsw = 0;\n  polynomial_Xsig(&accumulatore, &XSIG_LL(argSqSq), evenplterm, HiPOWERep-1);\n  mul_Xsig_Xsig(&accumulatore, &argSq);\n  negate_Xsig(&accumulatore);\n  /* Add the negative terms */\n  polynomial_Xsig(&accumulatore, &XSIG_LL(argSqSq), evennegterm, HiPOWERen-1);\n  /* Multiply by arg^2 */\n  mul64_Xsig(&accumulatore, &XSIG_LL(argSignif));\n  mul64_Xsig(&accumulatore, &XSIG_LL(argSignif));\n  /* de-normalize and divide by 2 */\n  shr_Xsig(&accumulatore, -2*(1+exponent) + 1);\n  negate_Xsig(&accumulatore);      /* This does 1 - accumulator */\n\n  /* Now find the ratio. */\n  if ( accumulatore.msw == 0 )\n    {\n      /* accumulatoro must contain 1.0 here, (actually, 0) but it\n\t really doesn't matter what value we use because it will\n\t have negligible effect in later calculations\n\t */\n      XSIG_LL(accum) = BX_CONST64(0x8000000000000000);\n      accum.lsw = 0;\n    }\n  else\n    {\n      div_Xsig(current_i387_yuan_   &accumulatoro, &accumulatore, &accum);\n    }\n\n  /* Multiply by 1/3 * arg^3 */\n  mul64_Xsig(&accum, &XSIG_LL(argSignif));\n  mul64_Xsig(&accum, &XSIG_LL(argSignif));\n  mul64_Xsig(&accum, &XSIG_LL(argSignif));\n  mul64_Xsig(&accum, &twothirds);\n  shr_Xsig(&accum, -2*(exponent+1));\n\n\n  /* tan(arg) = arg + accum */\n  add_two_Xsig(&accum, &argSignif, &exponent);\n\n  if ( invert )\n    {\n      /* accum now contains tan(pi/2 - arg).\n\t Use tan(arg) = 1.0 / tan(pi/2 - arg)\n\t */\n      accumulatoro.lsw = accumulatoro.midw = 0;\n      accumulatoro.msw = 0x80000000;\n      div_Xsig(current_i387_yuan_   &accumulatoro, &accum, &accum);\n      exponent = - exponent;\n    }\n\n\n  /* Transfer the result */\n  exponent += round_Xsig(&accum);\n  FPU_settag0(current_i387_yuan_   TAG_Valid);\n  significand(st0_ptr) = XSIG_LL(accum);\n  setexponent16(st0_ptr, exponent + EXTENDED_Ebias);  /* Result is positive. */\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/polynom_Xsig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  polynomial_Xsig.c                                                        |\n |  $Id: polynom_Xsig.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Fixed point arithmetic polynomial evaluation.                             |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1995,1999                                    |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n | Computes:                                                                 |\n | terms[0] + (terms[1] + (terms[2] + ... + (terms[n]*x)*x)*x)*x) ... )*x    |\n | and adds the result to the 12 byte Xsig.                                  |\n | The terms[] are each 8 bytes, but all computation is performed to 12 byte |\n | precision.                                                                |\n |                                                                           |\n | This function must be used carefully: most overflow of intermediate       |\n | results is controlled, but overflow of the result is not.                 |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"poly.h\"\n\n\nvoid polynomial_Xsig(Xsig *accum, const u64 *x, const u64 terms[], const int n)\n{\n  int  i;\n  Xsig acc, Xprod;\n  u32  lprod;\n  u64  xlwr, xupr, prod;\n  char overflowed;\n\n  xlwr = (u32)(*x);\n  xupr = (u32)((*x) >> 32);\n\n  acc.msw = (u32)(terms[n] >> 32);\n  acc.midw = (u32)(terms[n]);\n  acc.lsw = 0;\n  overflowed = 0;\n\n  for ( i = n-1; i >= 0; i-- )\n    {\n      /* Split the product into five parts to get a 16 byte result */\n\n      /* first word by first word */\n      prod = acc.msw * xupr;\n      Xprod.midw = (u32)prod;\n      Xprod.msw = (u32)prod >> 32;\n\n      /* first word by second word */\n      prod = acc.msw * xlwr;\n      Xprod.lsw = (u32)prod;\n      lprod = (u32)(prod >> 32);\n      Xprod.midw += lprod;\n      if ( lprod > Xprod.midw )\n\tXprod.msw ++;\n\n      /* second word by first word */\n      prod = acc.midw * xupr;\n      Xprod.lsw += (u32)prod;\n      if ( (u32)prod > Xprod.lsw )\n\t{\n\t  Xprod.midw ++;\n\t  if ( Xprod.midw == 0 )\n\t    Xprod.msw ++;\n\t}\n      lprod = (u32)(prod >> 32);\n      Xprod.midw += lprod;\n      if ( lprod > Xprod.midw )\n\tXprod.msw ++;\n\n      /* second word by second word */\n      prod = acc.midw * xlwr;\n      lprod = (u32)(prod >> 32);\n      Xprod.lsw += lprod;\n      if ( lprod > Xprod.lsw )\n\t{\n\t  Xprod.midw ++;\n\t  if ( Xprod.midw == 0 )\n\t    Xprod.msw ++;\n\t}\n\n      /* third word by first word */\n      prod = acc.lsw * xupr;\n      lprod = (u32)(prod >> 32);\n      Xprod.lsw += lprod;\n      if ( lprod > Xprod.lsw )\n\t{\n\t  Xprod.midw ++;\n\t  if ( Xprod.midw == 0 )\n\t    Xprod.msw ++;\n\t}\n\n      if ( overflowed )\n\t{\n\t  Xprod.midw += (u32)xlwr;\n\t  if ( (u32)xlwr > Xprod.midw )\n\t    Xprod.msw ++;\n\t  Xprod.msw += (u32)xupr;\n\t  overflowed = 0;    /* We don't check this addition for overflow */\n\t}\n      \n      acc.lsw = Xprod.lsw;\n      acc.midw = (u32)terms[i] + Xprod.midw;\n      acc.msw = (u32)((terms[i] >> 32) + Xprod.msw);\n      if ( Xprod.msw > acc.msw )\n\toverflowed = 1;\n      if ( (u32)terms[i] > acc.midw )\n\t{\n\t  acc.msw ++;\n\t  if ( acc.msw == 0 )\n\t    overflowed = 1;\n\t}\n    }\n\n  /* We don't check the addition to accum for overflow */\n  accum->lsw += acc.lsw;\n  if ( acc.lsw > accum->lsw )\n    {\n      accum->midw ++;\n      if ( accum->midw == 0 )\n\taccum->msw ++;\n    }\n  accum->midw += acc.midw;\n  if ( acc.midw > accum->midw )\n    {\n      accum->msw ++;\n    }\n  accum->msw += acc.msw;\n}\n\n\n"
  },
  {
    "path": "Project/fpu/Source/reg_add_sub.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_add_sub.c                                                            |\n |  $Id: reg_add_sub.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Functions to add or subtract two registers and put the result in a third. |\n |                                                                           |\n | Copyright (C) 1992,1993,1997                                              |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |  For each function, the destination may be any FPU_REG, including one of  |\n | the source FPU_REGs.                                                      |\n |  Each function returns 0 if the answer is o.k., otherwise a non-zero      |\n | value is returned, indicating either an exception condition or an         |\n | internal error.                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n#include \"fpu_system.h\"\n\nstatic\nint add_sub_specials(current_i387_definefunyuan_   FPU_REG const *a, u_char taga, u_char signa,\n\t\t     FPU_REG const *b, u_char tagb, u_char signb,\n\t\t     FPU_REG *dest, int deststnr, u16 control_w);\n\n/*\n  Operates on st(0) and st(n), or on st(0) and temporary data.\n  The destination must be one of the source st(x).\n  */\nint FPU_add(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb, int deststnr, u16 control_w)\n{\n  FPU_REG *a = &st(0);\n  FPU_REG *dest = &st(deststnr);\n  u_char signb = getsign(b);\n  u_char taga = FPU_gettag0(current_i387_yuan_clono  );\n  u_char signa = getsign(a);\n  u_char saved_sign = getsign(dest);\n  int diff, tag, expa, expb;\n  \n  if ( !(taga | tagb) )\n    {\n      expa = exponent(a);\n      expb = exponent(b);\n\n    valid_add:\n      /* Both registers are valid */\n      if (!(signa ^ signb))\n\t{\n\t  /* signs are the same */\n\t  tag = FPU_u_add(current_i387_yuan_   a, b, dest, control_w, signa, expa, expb);\n\t}\n      else\n\t{\n\t  /* The signs are different, so do a subtraction */\n\t  diff = expa - expb;\n\t  if (!diff)\n\t    {\n\t      diff = a->sigh - b->sigh;  /* This works only if the ms bits\n\t\t\t\t\t    are identical. */\n\t      if (!diff)\n\t\t{\n\t\t  diff = a->sigl > b->sigl;\n\t\t  if (!diff)\n\t\t    diff = -(a->sigl < b->sigl);\n\t\t}\n\t    }\n      \n\t  if (diff > 0)\n\t    {\n\t      tag = FPU_u_sub(current_i387_yuan_   a, b, dest, control_w, signa, expa, expb);\n\t    }\n\t  else if ( diff < 0 )\n\t    {\n\t      tag = FPU_u_sub(current_i387_yuan_   b, a, dest, control_w, signb, expb, expa);\n\t    }\n\t  else\n\t    {\n\t      FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n\t      /* sign depends upon rounding mode */\n\t      setsign(dest, ((control_w & CW_RC) != RC_DOWN)\n\t\t      ? SIGN_POS : SIGN_NEG);\n\t      return TAG_Zero;\n\t    }\n\t}\n\n      if ( tag < 0 )\n\t{\n\t  setsign(dest, saved_sign);\n\t  return tag;\n\t}\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n\n  if ( taga == TAG_Special )\n    taga = FPU_Special(current_i387_yuan_   a);\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n\n  if ( ((taga == TAG_Valid) && (tagb == TW_Denormal))\n\t    || ((taga == TW_Denormal) && (tagb == TAG_Valid))\n\t    || ((taga == TW_Denormal) && (tagb == TW_Denormal)) )\n    {\n      FPU_REG x, y;\n\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn FPU_Exception;\n\n      FPU_to_exp16(current_i387_yuan_   a, &x);\n      FPU_to_exp16(current_i387_yuan_   b, &y);\n      a = &x;\n      b = &y;\n      expa = exponent16(a);\n      expb = exponent16(b);\n      goto valid_add;\n    }\n\n  if ( (taga == TW_NaN) || (tagb == TW_NaN) )\n    {\n      if ( deststnr == 0 )\n\treturn real_2op_NaN(current_i387_yuan_   b, tagb, deststnr, a);\n      else\n\treturn real_2op_NaN(current_i387_yuan_   a, taga, deststnr, a);\n    }\n\n  return add_sub_specials(current_i387_yuan_   a, taga, signa, b, tagb, signb,\n\t\t\t  dest, deststnr, control_w);\n}\n\n\n/* Subtract b from a.  (a-b) -> dest\n bbd: arg2 used to be int type, but sometimes pointers were forced\n in with typecasts.  On Alphas pointers are 64 bits and ints are 32,\n so when rm was cast back to a pointer...SEGFAULT.  Pass the pointers\n around instead, since they are always larger precision than the\n register numbers. */\nint FPU_sub(current_i387_definefunyuan_   int flags, FPU_REG *rm, u16 control_w)\n{\n  FPU_REG const *a, *b;\n  FPU_REG *dest;\n  u_char taga, tagb, signa, signb, saved_sign, sign;\n  int diff, tag, expa, expb, deststnr;\n\n  a = &st(0);\n  taga = FPU_gettag0(current_i387_yuan_clono  );\n\n  deststnr = 0;\n  if ( flags & LOADED )\n    {\n      b = rm;\n      tagb = flags & 0x0f;\n    }\n  else\n    {\n      int rmint = PTR2INT(rm);\n      b = &st(rmint);\n      tagb = FPU_gettagi(current_i387_yuan_   rmint);\n\n      if ( flags & DEST_RM )\n\tdeststnr = rmint;\n    }\n\n  signa = getsign(a);\n  signb = getsign(b);\n\n  if ( flags & REV )\n    {\n      signa ^= SIGN_NEG;\n      signb ^= SIGN_NEG;\n    }\n\n  dest = &st(deststnr);\n  saved_sign = getsign(dest);\n\n  if ( !(taga | tagb) )\n    {\n      expa = exponent(a);\n      expb = exponent(b);\n\n    valid_subtract:\n      /* Both registers are valid */\n\n      diff = expa - expb;\n\n      if (!diff)\n\t{\n\t  diff = a->sigh - b->sigh;  /* Works only if ms bits are identical */\n\t  if (!diff)\n\t    {\n\t      diff = a->sigl > b->sigl;\n\t      if (!diff)\n\t\tdiff = -(a->sigl < b->sigl);\n\t    }\n\t}\n\n      switch ( (((int)signa)*2 + signb) / SIGN_NEG )\n\t{\n\tcase 0: /* P - P */\n\tcase 3: /* N - N */\n\t  if (diff > 0)\n\t    {\n\t      /* |a| > |b| */\n\t      tag = FPU_u_sub(current_i387_yuan_   a, b, dest, control_w, signa, expa, expb);\n\t    }\n\t  else if ( diff == 0 )\n\t    {\n\t      FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n\n\t      /* sign depends upon rounding mode */\n\t      setsign(dest, ((control_w & CW_RC) != RC_DOWN)\n\t\t? SIGN_POS : SIGN_NEG);\n\t      return TAG_Zero;\n\t    }\n\t  else\n\t    {\n\t      sign = signa ^ SIGN_NEG;\n\t      tag = FPU_u_sub(current_i387_yuan_   b, a, dest, control_w, sign, expb, expa);\n\t    }\n\t  break;\n\tcase 1: /* P - N */\n\t  tag = FPU_u_add(current_i387_yuan_   a, b, dest, control_w, SIGN_POS, expa, expb);\n\t  break;\n\tcase 2: /* N - P */\n\t  tag = FPU_u_add(current_i387_yuan_   a, b, dest, control_w, SIGN_NEG, expa, expb);\n\t  break;\n#ifdef PARANOID\n\tdefault:\n\t  EXCEPTION(EX_INTERNAL|0x111);\n\t  return -1;\n#endif\n\t}\n      if ( tag < 0 )\n\t{\n\t  setsign(dest, saved_sign);\n\t  return tag;\n\t}\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n\n  if ( taga == TAG_Special )\n    taga = FPU_Special(current_i387_yuan_   a);\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n\n  if ( ((taga == TAG_Valid) && (tagb == TW_Denormal))\n\t    || ((taga == TW_Denormal) && (tagb == TAG_Valid))\n\t    || ((taga == TW_Denormal) && (tagb == TW_Denormal)) )\n    {\n      FPU_REG x, y;\n\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn FPU_Exception;\n\n      FPU_to_exp16(current_i387_yuan_   a, &x);\n      FPU_to_exp16(current_i387_yuan_   b, &y);\n      a = &x;\n      b = &y;\n      expa = exponent16(a);\n      expb = exponent16(b);\n\n      goto valid_subtract;\n    }\n\n  if ( (taga == TW_NaN) || (tagb == TW_NaN) )\n    {\n      FPU_REG const *d1, *d2;\n      if ( flags & REV )\n\t{\n\t  d1 = b;\n\t  d2 = a;\n\t}\n      else\n\t{\n\t  d1 = a;\n\t  d2 = b;\n\t}\n      if ( flags & LOADED )\n\treturn real_2op_NaN(current_i387_yuan_   b, tagb, deststnr, d1);\n      if ( flags & DEST_RM )\n\treturn real_2op_NaN(current_i387_yuan_   a, taga, deststnr, d2);\n      else\n\treturn real_2op_NaN(current_i387_yuan_   b, tagb, deststnr, d2);\n    }\n\n    return add_sub_specials(current_i387_yuan_   a, taga, signa, b, tagb, signb ^ SIGN_NEG,\n\t\t\t    dest, deststnr, control_w);\n}\n\n\nstatic\nint add_sub_specials(current_i387_definefunyuan_   FPU_REG const *a, u_char taga, u_char signa,\n\t\t     FPU_REG const *b, u_char tagb, u_char signb,\n\t\t     FPU_REG *dest, int deststnr, u16 control_w)\n{\n  if ( ((taga == TW_Denormal) || (tagb == TW_Denormal))\n       && (denormal_operand(current_i387_yuan_le   ) < 0) )\n    return FPU_Exception;\n\n  if (taga == TAG_Zero)\n    {\n      if (tagb == TAG_Zero)\n\t{\n\t  /* Both are zero, result will be zero. */\n\t  u_char different_signs = signa ^ signb;\n\n\t  FPU_copy_to_regi(current_i387_yuan_   a, TAG_Zero, deststnr);\n\t  if ( different_signs )\n\t    {\n\t      /* Signs are different. */\n\t      /* Sign of answer depends upon rounding mode. */\n\t      setsign(dest, ((control_w & CW_RC) != RC_DOWN)\n\t\t      ? SIGN_POS : SIGN_NEG);\n\t    }\n\t  else\n\t    setsign(dest, signa);  /* signa may differ from the sign of a. */\n\t  return TAG_Zero;\n\t}\n      else\n\t{\n\t  reg_copy(b, dest);\n\t  if ( (tagb == TW_Denormal) && (b->sigh & 0x80000000) )\n\t    {\n\t      /* A pseudoDenormal, convert it. */\n\t      addexponent(dest, 1);\n\t      tagb = TAG_Valid;\n\t    }\n\t  else if ( tagb > TAG_Empty )\n\t    tagb = TAG_Special;\n\t  setsign(dest, signb);  /* signb may differ from the sign of b. */\n\t  FPU_settagi(current_i387_yuan_   deststnr, tagb);\n\t  return tagb;\n\t}\n    }\n  else if (tagb == TAG_Zero)\n    {\n      reg_copy(a, dest);\n      if ( (taga == TW_Denormal) && (a->sigh & 0x80000000) )\n\t{\n\t  /* A pseudoDenormal */\n\t  addexponent(dest, 1);\n\t  taga = TAG_Valid;\n\t}\n      else if ( taga > TAG_Empty )\n\ttaga = TAG_Special;\n      setsign(dest, signa);  /* signa may differ from the sign of a. */\n      FPU_settagi(current_i387_yuan_   deststnr, taga);\n      return taga;\n    }\n  else if (taga == TW_Infinity)\n    {\n      if ( (tagb != TW_Infinity) || (signa == signb) )\n\t{\n\t  FPU_copy_to_regi(current_i387_yuan_   a, TAG_Special, deststnr);\n\t  setsign(dest, signa);  /* signa may differ from the sign of a. */\n\t  return taga;\n\t}\n      /* Infinity-Infinity is undefined. */\n      return arith_invalid(current_i387_yuan_   deststnr);\n    }\n  else if (tagb == TW_Infinity)\n    {\n      FPU_copy_to_regi(current_i387_yuan_   b, TAG_Special, deststnr);\n      setsign(dest, signb);  /* signb may differ from the sign of b. */\n      return tagb;\n    }\n\n#ifdef PARANOID\n  EXCEPTION(EX_INTERNAL|0x101);\n#endif\n\n  return FPU_Exception;\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/reg_compare.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_compare.c                                                            |\n |  $Id: reg_compare.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Compare two floating point registers                                      |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | compare() is the core FPU_REG comparison function                         |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n#include \"status_w.h\"\n\n\nstatic int compare(current_i387_definefunyuan_   FPU_REG const *b, int tagb)\n{\n  int diff, exp0, expb;\n  u_char\t  \tst0_tag;\n  FPU_REG  \t*st0_ptr;\n  FPU_REG\tx, y;\n  u_char\t\tst0_sign, signb = getsign(b);\n\n  st0_ptr = &st(0);\n  st0_tag = FPU_gettag0(current_i387_yuan_clono  );\n  st0_sign = getsign(st0_ptr);\n\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n  if ( st0_tag == TAG_Special )\n    st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\n  if ( ((st0_tag != TAG_Valid) && (st0_tag != TW_Denormal))\n       || ((tagb != TAG_Valid) && (tagb != TW_Denormal)) )\n    {\n      if ( st0_tag == TAG_Zero )\n\t{\n\t  if ( tagb == TAG_Zero ) return COMP_A_eq_B;\n\t  if ( tagb == TAG_Valid )\n\t    return ((signb == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B);\n\t  if ( tagb == TW_Denormal )\n\t    return ((signb == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B)\n\t    | COMP_Denormal;\n\t}\n      else if ( tagb == TAG_Zero )\n\t{\n\t  if ( st0_tag == TAG_Valid )\n\t    return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B);\n\t  if ( st0_tag == TW_Denormal )\n\t    return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B)\n\t    | COMP_Denormal;\n\t}\n\n      if ( st0_tag == TW_Infinity )\n\t{\n\t  if ( (tagb == TAG_Valid) || (tagb == TAG_Zero) )\n\t    return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B);\n\t  else if ( tagb == TW_Denormal )\n\t    return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B)\n\t      | COMP_Denormal;\n\t  else if ( tagb == TW_Infinity )\n\t    {\n\t      /* The 80486 book says that infinities can be equal! */\n\t      return (st0_sign == signb) ? COMP_A_eq_B :\n\t\t((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B);\n\t    }\n\t  /* Fall through to the NaN code */\n\t}\n      else if ( tagb == TW_Infinity )\n\t{\n\t  if ( (st0_tag == TAG_Valid) || (st0_tag == TAG_Zero) )\n\t    return ((signb == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B);\n\t  if ( st0_tag == TW_Denormal )\n\t    return ((signb == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B)\n\t\t| COMP_Denormal;\n\t  /* Fall through to the NaN code */\n\t}\n\n      /* The only possibility now should be that one of the arguments\n\t is a NaN */\n      if ( (st0_tag == TW_NaN) || (tagb == TW_NaN) )\n\t{\n\t  int signalling = 0, unsupported = 0;\n\t  if ( st0_tag == TW_NaN )\n\t    {\n\t      signalling = (st0_ptr->sigh & 0xc0000000) == 0x80000000;\n\t      unsupported = !((exponent(st0_ptr) == EXP_OVER)\n\t\t\t      && (st0_ptr->sigh & 0x80000000));\n\t    }\n\t  if ( tagb == TW_NaN )\n\t    {\n\t      signalling |= (b->sigh & 0xc0000000) == 0x80000000;\n\t      unsupported |= !((exponent(b) == EXP_OVER)\n\t\t\t       && (b->sigh & 0x80000000));\n\t    }\n\t  if ( signalling || unsupported )\n\t    return COMP_No_Comp | COMP_SNaN | COMP_NaN;\n\t  else\n\t    /* Neither is a signaling NaN */\n\t    return COMP_No_Comp | COMP_NaN;\n\t}\n      \n      EXCEPTION(EX_Invalid);\n    }\n  \n  if (st0_sign != signb)\n    {\n      return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B)\n\t| ( ((st0_tag == TW_Denormal) || (tagb == TW_Denormal)) ?\n\t    COMP_Denormal : 0);\n    }\n\n  if ( (st0_tag == TW_Denormal) || (tagb == TW_Denormal) )\n    {\n      FPU_to_exp16(current_i387_yuan_   st0_ptr, &x);\n      FPU_to_exp16(current_i387_yuan_   b, &y);\n      st0_ptr = &x;\n      b = &y;\n      exp0 = exponent16(st0_ptr);\n      expb = exponent16(b);\n    }\n  else\n    {\n      exp0 = exponent(st0_ptr);\n      expb = exponent(b);\n    }\n\n#ifdef PARANOID\n  if (!(st0_ptr->sigh & 0x80000000)) EXCEPTION(EX_Invalid);\n  if (!(b->sigh & 0x80000000)) EXCEPTION(EX_Invalid);\n#endif /* PARANOID */\n\n  diff = exp0 - expb;\n  if ( diff == 0 )\n    {\n      diff = st0_ptr->sigh - b->sigh;  /* Works only if ms bits are\n\t\t\t\t\t      identical */\n      if ( diff == 0 )\n\t{\n\tdiff = st0_ptr->sigl > b->sigl;\n\tif ( diff == 0 )\n\t  diff = -(st0_ptr->sigl < b->sigl);\n\t}\n    }\n\n  if ( diff > 0 )\n    {\n      return ((st0_sign == SIGN_POS) ? COMP_A_gt_B : COMP_A_lt_B)\n\t| ( ((st0_tag == TW_Denormal) || (tagb == TW_Denormal)) ?\n\t    COMP_Denormal : 0);\n    }\n  if ( diff < 0 )\n    {\n      return ((st0_sign == SIGN_POS) ? COMP_A_lt_B : COMP_A_gt_B)\n\t| ( ((st0_tag == TW_Denormal) || (tagb == TW_Denormal)) ?\n\t    COMP_Denormal : 0);\n    }\n\n  return COMP_A_eq_B\n    | ( ((st0_tag == TW_Denormal) || (tagb == TW_Denormal)) ?\n\tCOMP_Denormal : 0);\n\n}\n\n\n/* This function requires that st(0) is not empty */\nint FPU_compare_st_data(current_i387_definefunyuan_   FPU_REG const *loaded_data, u_char loaded_tag)\n{\n  int f, c;\n\n  c = compare(current_i387_yuan_   loaded_data, loaded_tag);\n\n  if (c & COMP_NaN)\n    {\n      EXCEPTION(EX_Invalid);\n      f = SW_C3 | SW_C2 | SW_C0;\n    }\n  else\n    switch (c & 7)\n      {\n      case COMP_A_lt_B:\n\tf = SW_C0;\n\tbreak;\n      case COMP_A_eq_B:\n\tf = SW_C3;\n\tbreak;\n      case COMP_A_gt_B:\n\tf = 0;\n\tbreak;\n      case COMP_No_Comp:\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#ifdef PARANOID\n      default:\n\tEXCEPTION(EX_INTERNAL|0x121);\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#endif /* PARANOID */\n      }\n  setcc(f);\n  if (c & COMP_Denormal)\n    {\n      return denormal_operand(current_i387_yuan_le   ) < 0;\n    }\n  return 0;\n}\n\n\nstatic int compare_st_st(current_i387_definefunyuan_   int nr)\n{\n  int f, c;\n  FPU_REG *st_ptr;\n\n  if ( !NOT_EMPTY(0) || !NOT_EMPTY(nr) )\n    {\n      setcc(SW_C3 | SW_C2 | SW_C0);\n      /* Stack fault */\n      EXCEPTION(EX_StackUnder);\n      return !(control_word & CW_Invalid);\n    }\n\n  st_ptr = &st(nr);\n  c = compare(current_i387_yuan_   st_ptr, FPU_gettagi(current_i387_yuan_   nr));\n  if (c & COMP_NaN)\n    {\n      setcc(SW_C3 | SW_C2 | SW_C0);\n      EXCEPTION(EX_Invalid);\n      return !(control_word & CW_Invalid);\n    }\n  else\n    switch (c & 7)\n      {\n      case COMP_A_lt_B:\n\tf = SW_C0;\n\tbreak;\n      case COMP_A_eq_B:\n\tf = SW_C3;\n\tbreak;\n      case COMP_A_gt_B:\n\tf = 0;\n\tbreak;\n      case COMP_No_Comp:\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#ifdef PARANOID\n      default:\n\tEXCEPTION(EX_INTERNAL|0x122);\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#endif /* PARANOID */\n      }\n  setcc(f);\n  if (c & COMP_Denormal)\n    {\n      return denormal_operand(current_i387_yuan_le   ) < 0;\n    }\n  return 0;\n}\n\n\nstatic int compare_u_st_st(current_i387_definefunyuan_   int nr)\n{\n  int f, c;\n  FPU_REG *st_ptr;\n\n  if ( !NOT_EMPTY(0) || !NOT_EMPTY(nr) )\n    {\n      setcc(SW_C3 | SW_C2 | SW_C0);\n      /* Stack fault */\n      EXCEPTION(EX_StackUnder);\n      return !(control_word & CW_Invalid);\n    }\n\n  st_ptr = &st(nr);\n  c = compare(current_i387_yuan_   st_ptr, FPU_gettagi(current_i387_yuan_   nr));\n  if (c & COMP_NaN)\n    {\n      setcc(SW_C3 | SW_C2 | SW_C0);\n      if (c & COMP_SNaN)       /* This is the only difference between\n\t\t\t\t  un-ordered and ordinary comparisons */\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  return !(control_word & CW_Invalid);\n\t}\n      return 0;\n    }\n  else\n    switch (c & 7)\n      {\n      case COMP_A_lt_B:\n\tf = SW_C0;\n\tbreak;\n      case COMP_A_eq_B:\n\tf = SW_C3;\n\tbreak;\n      case COMP_A_gt_B:\n\tf = 0;\n\tbreak;\n      case COMP_No_Comp:\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#ifdef PARANOID\n      default:\n\tEXCEPTION(EX_INTERNAL|0x123);\n\tf = SW_C3 | SW_C2 | SW_C0;\n\tbreak;\n#endif /* PARANOID */\n      }\n  setcc(f);\n  if (c & COMP_Denormal)\n    {\n      return denormal_operand(current_i387_yuan_le   ) < 0;\n    }\n  return 0;\n}\n\n/*---------------------------------------------------------------------------*/\n\nvoid fcom_st(current_i387_definefunyuan_void   )\n{\n  /* fcom st(i) */\n  compare_st_st(current_i387_yuan_   FPU_rm);\n}\n\n\nvoid fcompst(current_i387_definefunyuan_void   )\n{\n  /* fcomp st(i) */\n  if ( !compare_st_st(current_i387_yuan_   FPU_rm) )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fcompp(current_i387_definefunyuan_void   )\n{\n  /* fcompp */\n  if (FPU_rm != 1)\n    {\n      FPU_illegal(current_i387_yuan_clono  );\n      return;\n    }\n  if ( !compare_st_st(current_i387_yuan_   1) )\n      poppop();\n}\n\n\nvoid fucom_(current_i387_definefunyuan_void   )\n{\n  /* fucom st(i) */\n  compare_u_st_st(current_i387_yuan_   FPU_rm);\n\n}\n\n\nvoid fucomp(current_i387_definefunyuan_void   )\n{\n  /* fucomp st(i) */\n  if ( !compare_u_st_st(current_i387_yuan_   FPU_rm) )\n    FPU_pop(current_i387_yuan_clono  );\n}\n\n\nvoid fucompp(current_i387_definefunyuan_void   )\n{\n  /* fucompp */\n  if (FPU_rm == 1)\n    {\n      if ( !compare_u_st_st(current_i387_yuan_   1) )\n\tpoppop();\n    }\n  else\n    FPU_illegal(current_i387_yuan_clono  );\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_constant.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_constant.c                                                           |\n |  $Id: reg_constant.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | All of the constant FPU_REGs                                              |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1997                                         |\n |                     W. Metzenthen, 22 Parker St, Ormond, Vic 3163,        |\n |                     Australia.  E-mail   billm@suburbia.net               |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_system.h\"\n#include \"fpu_emu.h\"\n#include \"status_w.h\"\n#include \"reg_constant.h\"\n#include \"control_w.h\"\n\n\n\nFPU_REG const CONST_1    = MAKE_REG(POS, 0, 0x00000000, 0x80000000);\nFPU_REG const CONST_2    = MAKE_REG(POS, 1, 0x00000000, 0x80000000);\nFPU_REG const CONST_HALF = MAKE_REG(POS, -1, 0x00000000, 0x80000000);\nFPU_REG const CONST_L2T  = MAKE_REG(POS, 1, 0xcd1b8afe, 0xd49a784b);\nFPU_REG const CONST_L2E  = MAKE_REG(POS, 0, 0x5c17f0bc, 0xb8aa3b29);\nFPU_REG const CONST_PI   = MAKE_REG(POS, 1, 0x2168c235, 0xc90fdaa2);\n// bbd: make CONST_PI2 non-const so that you can write \"&CONST_PI2\" when\n// calling a function.  Otherwise you get const warnings.  Surely there's\n// a better way.\nFPU_REG CONST_PI2  = MAKE_REG(POS, 0, 0x2168c235, 0xc90fdaa2);\nFPU_REG const CONST_PI4  = MAKE_REG(POS, -1, 0x2168c235, 0xc90fdaa2);\nFPU_REG const CONST_LG2  = MAKE_REG(POS, -2, 0xfbcff799, 0x9a209a84);\nFPU_REG const CONST_LN2  = MAKE_REG(POS, -1, 0xd1cf79ac, 0xb17217f7);\n\n/* Extra bits to take pi/2 to more than 128 bits precision. */\nFPU_REG const CONST_PI2extra = MAKE_REG(NEG,-66,0xfc8f8cbb,0xece675d1);\n\n/* Only the sign (and tag) is used in internal zeroes */\nFPU_REG const CONST_Z    = MAKE_REG(POS, EXP_UNDER, 0x0, 0x0);\n\n/* Only the sign and significand (and tag) are used in internal NaNs */\n/* The 80486 never generates one of these \nFPU_REG const CONST_SNAN = MAKE_REG(POS, EXP_OVER, 0x00000001, 0x80000000);\n */\n/* This is the real indefinite QNaN */\nFPU_REG const CONST_QNaN = MAKE_REG(NEG, EXP_OVER, 0x00000000, 0xC0000000);\n\n/* Only the sign (and tag) is used in internal infinities */\nFPU_REG const CONST_INF  = MAKE_REG(POS, EXP_OVER, 0x00000000, 0x80000000);\n\nstatic void fld_const(current_i387_definefunyuan_   FPU_REG const *c, int adj, u_char tag)\n{\n  FPU_REG *st_new_ptr;\n\n  if ( STACK_OVERFLOW )\n    {\n      FPU_stack_overflow(current_i387_yuan_clono  );\n      return;\n    }\n  push();\n  reg_copy(c, st_new_ptr);\n  st_new_ptr->sigl += adj;  /* For all our fldxxx constants, we don't need to\n\t\t\t       borrow or carry. */\n  FPU_settag0(current_i387_yuan_   tag);\n  clear_C1();\n}\n\n/* A fast way to find out whether x is one of RC_DOWN or RC_CHOP\n   (and not one of RC_RND or RC_UP).\n   */\n#define DOWN_OR_CHOP(x)  (x & RC_DOWN)\n\nstatic void fld1(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_1, 0, TAG_Valid);\n}\n\nstatic void fldl2t(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_L2T, (rc == RC_UP) ? 1 : 0, TAG_Valid);\n}\n\nstatic void fldl2e(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_L2E, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid);\n}\n\nstatic void fldpi(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_PI, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid);\n}\n\nstatic void fldlg2(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_LG2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid);\n}\n\nstatic void fldln2(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_LN2, DOWN_OR_CHOP(rc) ? -1 : 0, TAG_Valid);\n}\n\nstatic void fldz(current_i387_definefunyuan_   int rc)\n{\n  fld_const(current_i387_yuan_     &CONST_Z, 0, TAG_Zero);\n}\n\ntypedef void (*FUNC_RC)(current_i387_definefunyuan_ int);\n\nstatic FUNC_RC constants_table[] = {\n  fld1, fldl2t, fldl2e, fldpi, fldlg2, fldln2, fldz, (FUNC_RC)FPU_illegal\n};\n\nvoid fconst(current_i387_definefunyuan_void)\n{\n  (constants_table[FPU_rm])(current_i387_yuan_ control_word & CW_RC);\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_constant.h",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_constant.h                                                           |\n |  $Id: reg_constant.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _REG_CONSTANT_H_\n#define _REG_CONSTANT_H_\n\n#include \"fpu_emu.h\"\n\nextern FPU_REG const CONST_1;\nextern FPU_REG const CONST_2;\nextern FPU_REG const CONST_HALF;\nextern FPU_REG const CONST_L2T;\nextern FPU_REG const CONST_L2E;\nextern FPU_REG const CONST_PI;\n// bbd: make CONST_PI2 non-const so that you can write \"&CONST_PI2\" when\n// calling a function.  Otherwise you get const warnings.  Surely there's\n// a better way.\nextern FPU_REG CONST_PI2;\nextern FPU_REG const CONST_PI2extra;\nextern FPU_REG const CONST_PI4;\nextern FPU_REG const CONST_LG2;\nextern FPU_REG const CONST_LN2;\nextern FPU_REG const CONST_Z;\nextern FPU_REG const CONST_PINF;\nextern FPU_REG const CONST_INF;\nextern FPU_REG const CONST_MINF;\nextern FPU_REG const CONST_QNaN;\n\n#endif /* _REG_CONSTANT_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/reg_convert.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_convert.c                                                            |\n |  $Id: reg_convert.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |  Convert register representation.                                         |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1996,1997                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n\n\nint FPU_to_exp16(current_i387_definefunyuan_   FPU_REG const *a, FPU_REG *x)\n{\n  int sign = getsign(a);\n\n#ifndef EMU_BIG_ENDIAN\n  *(s64 *)&(x->sigl) = *(const s64 *)&(a->sigl);\n#else\n  *(s64 *)&(x->sigh) = *(const s64 *)&(a->sigh);\n#endif\n\n  /* Set up the exponent as a 16 bit quantity. */\n  setexponent16(x, exponent(a));\n\n  if ( exponent16(x) == EXP_UNDER )\n    {\n      /* The number is a de-normal or pseudodenormal. */\n      /* We only deal with the significand and exponent. */\n\n      if (x->sigh & 0x80000000)\n\t{\n\t  /* Is a pseudodenormal. */\n\t  /* This is non-80486 behaviour because the number\n\t     loses its 'denormal' identity. */\n\t  addexponent(x, 1);\n\t}\n      else\n\t{\n\t  /* Is a denormal. */\n\t  addexponent(x, 1);\n          FPU_normalize_nuo(current_i387_yuan_   x, 0);\n\t}\n    }\n\n  if ( !(x->sigh & 0x80000000) )\n    {\n      EXCEPTION(EX_INTERNAL | 0x180);\n    }\n\n  return sign;\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/reg_divide.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_divide.c                                                             |\n |  $Id: reg_divide.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Divide one FPU_REG by another and put the result in a destination FPU_REG.|\n |                                                                           |\n | Copyright (C) 1996                                                        |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@jacobi.maths.monash.edu.au                |\n |                                                                           |\n |    Return value is the tag of the answer, or-ed with FPU_Exception if     |\n |    one was raised, or -1 on internal error.                               |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | The destination may be any FPU_REG, including one of the source FPU_REGs. |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_emu.h\"\n#include \"fpu_system.h\"\n\n/*\n  Divide one register by another and put the result into a third register.\nbbd: arg2 used to be an int, see comments on FPU_sub.\n  */\nint FPU_div(current_i387_definefunyuan_   int flags, FPU_REG *rm, int control_w)\n{\n  FPU_REG x, y;\n  FPU_REG const *a, *b, *st0_ptr, *st_ptr;\n  FPU_REG *dest;\n  u_char taga, tagb, signa, signb, sign, saved_sign;\n  int tag, deststnr;\n  int rmint = PTR2INT(rm);\n\n  if ( flags & DEST_RM )\n    deststnr = rmint;\n  else\n    deststnr = 0;\n\n  if ( flags & REV )\n    {\n      b = &st(0);\n      st0_ptr = b;\n      tagb = FPU_gettag0(current_i387_yuan_clono  );\n      if ( flags & LOADED )\n\t{\n\t  a = rm;\n\t  taga = flags & 0x0f;\n\t}\n      else\n\t{\n\t  a = &st(rmint);\n\t  st_ptr = a;\n\t  taga = FPU_gettagi(current_i387_yuan_   rmint);\n\t}\n    }\n  else\n    {\n      a = &st(0);\n      st0_ptr = a;\n      taga = FPU_gettag0(current_i387_yuan_clono  );\n      if ( flags & LOADED )\n\t{\n\t  b = rm;\n\t  tagb = flags & 0x0f;\n\t}\n      else\n\t{\n\t  b = &st(rmint);\n\t  st_ptr = b;\n\t  tagb = FPU_gettagi(current_i387_yuan_   rmint);\n\t}\n    }\n\n  signa = getsign(a);\n  signb = getsign(b);\n\n  sign = signa ^ signb;\n\n  dest = &st(deststnr);\n  saved_sign = getsign(dest);\n\n  if ( !(taga | tagb) )\n    {\n      /* Both regs Valid, this should be the most common case. */\n      reg_copy(a, &x);\n      reg_copy(b, &y);\n      setpositive(&x);\n      setpositive(&y);\n      tag = FPU_u_div(current_i387_yuan_   &x, &y, dest, control_w, sign);\n\n      if ( tag < 0 )\n\treturn tag;\n\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n\n  if ( taga == TAG_Special )\n    taga = FPU_Special(current_i387_yuan_   a);\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n\n  if ( ((taga == TAG_Valid) && (tagb == TW_Denormal))\n\t    || ((taga == TW_Denormal) && (tagb == TAG_Valid))\n\t    || ((taga == TW_Denormal) && (tagb == TW_Denormal)) )\n    {\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn FPU_Exception;\n\n      FPU_to_exp16(current_i387_yuan_   a, &x);\n      FPU_to_exp16(current_i387_yuan_   b, &y);\n      tag = FPU_u_div(current_i387_yuan_   &x, &y, dest, control_w, sign);\n      if ( tag < 0 )\n\treturn tag;\n\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n  else if ( (taga <= TW_Denormal) && (tagb <= TW_Denormal) )\n    {\n      if ( tagb != TAG_Zero )\n\t{\n\t  /* Want to find Zero/Valid */\n\t  if ( tagb == TW_Denormal )\n\t    {\n\t      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\t\treturn FPU_Exception;\n\t    }\n\n\t  /* The result is zero. */\n\t  FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n\t  setsign(dest, sign);\n\t  return TAG_Zero;\n\t}\n      /* We have an exception condition, either 0/0 or Valid/Zero. */\n      if ( taga == TAG_Zero )\n\t{\n\t  /* 0/0 */\n\t  return arith_invalid(current_i387_yuan_   deststnr);\n\t}\n      /* Valid/Zero */\n      return FPU_divide_by_zero(current_i387_yuan_   deststnr, sign);\n    }\n  /* Must have infinities, NaNs, etc */\n  else if ( (taga == TW_NaN) || (tagb == TW_NaN) )\n    {\n      if ( flags & LOADED )\n\treturn real_2op_NaN(current_i387_yuan_   (FPU_REG *)rm, flags & 0x0f, 0, st0_ptr);\n\n      if ( flags & DEST_RM )\n\t{\n\t  int tag;\n\t  tag = FPU_gettag0(current_i387_yuan_clono  );\n\t  if ( tag == TAG_Special )\n\t    tag = FPU_Special(current_i387_yuan_   st0_ptr);\n\t  return real_2op_NaN(current_i387_yuan_   st0_ptr, tag, rmint, (flags & REV) ? st0_ptr : &st(rmint));\n\t}\n      else\n\t{\n\t  int tag;\n\t  tag = FPU_gettagi(current_i387_yuan_   rmint);\n\t  if ( tag == TAG_Special )\n\t    tag = FPU_Special(current_i387_yuan_   &st(rmint));\n\t  return real_2op_NaN(current_i387_yuan_   &st(rmint), tag, 0, (flags & REV) ? st0_ptr : &st(rmint));\n\t}\n    }\n  else if (taga == TW_Infinity)\n    {\n      if (tagb == TW_Infinity)\n\t{\n\t  /* infinity/infinity */\n\t  return arith_invalid(current_i387_yuan_   deststnr);\n\t}\n      else\n\t{\n\t  /* tagb must be Valid or Zero */\n\t  if ( (tagb == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\t    return FPU_Exception;\n\t  \n\t  /* Infinity divided by Zero or Valid does\n\t     not raise and exception, but returns Infinity */\n\t  FPU_copy_to_regi(current_i387_yuan_   a, TAG_Special, deststnr);\n\t  setsign(dest, sign);\n\t  return taga;\n\t}\n    }\n  else if (tagb == TW_Infinity)\n    {\n      if ( (taga == TW_Denormal) && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\treturn FPU_Exception;\n\n      /* The result is zero. */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n      setsign(dest, sign);\n      return TAG_Zero;\n    }\n#ifdef PARANOID\n  else\n    {\n      EXCEPTION(EX_INTERNAL|0x102);\n      return FPU_Exception;\n    }\n#endif /* PARANOID */\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_ld_str.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_ld_str.c                                                             |\n |  $Id: reg_ld_str.c,v 1.4 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | All of the functions which transfer data between user memory and FPU_REGs.|\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1996,1997                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | Note:                                                                     |\n |    The file contains code which accesses user memory.                     |\n |    Emulator static data may change when user memory is accessed, due to   |\n |    other processes using the emulator while swapping is in progress.      |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n\n#include <asm/uaccess.h>\n\n#include \"fpu_system.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"control_w.h\"\n#include \"status_w.h\"\n\n\n#define DOUBLE_Emax 1023         /* largest valid exponent */\n#define DOUBLE_Ebias 1023\n#define DOUBLE_Emin (-1022)      /* smallest valid exponent */\n\n#define SINGLE_Emax 127          /* largest valid exponent */\n#define SINGLE_Ebias 127\n#define SINGLE_Emin (-126)       /* smallest valid exponent */\n\n\nstatic u_char normalize_no_excep(current_i387_definefunyuan_      FPU_REG*r, int exp, int sign)\n{\n  u_char tag;\n\n  setexponent16(r, exp);\n\n  tag = FPU_normalize_nuo(current_i387_yuan_   r, 0);\n  stdexp(r);\n  if ( sign )\n    setnegative(r);\n\n  return tag;\n}\n\n\nint FPU_tagof(current_i387_definefunyuan_   FPU_REG *ptr)\n{\n  int exp;\n\n  exp = exponent16(ptr) & 0x7fff;\n  if ( exp == 0 )\n    {\n      if ( !(ptr->sigh | ptr->sigl) )\n\t{\n\t  return TAG_Zero;\n\t}\n      /* The number is a de-normal or pseudodenormal. */\n      return TAG_Special;\n    }\n\n  if ( exp == 0x7fff )\n    {\n      /* Is an Infinity, a NaN, or an unsupported data type. */\n      return TAG_Special;\n    }\n\n  if ( !(ptr->sigh & 0x80000000) )\n    {\n      /* Unsupported data type. */\n      /* Valid numbers have the ms bit set to 1. */\n      /* Unnormal. */\n      return TAG_Special;\n    }\n\n  return TAG_Valid;\n}\n\n\n/* Get a long double from user memory */\nint FPU_load_extended(current_i387_definefunyuan_   long double *s, int stnr)\n{\n  FPU_REG *sti_ptr = &st(stnr);\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, s, 10);\n#ifndef USE_WITH_CPU_SIM\n  __copy_from_user(sti_ptr, s, 10);\n#else\n  FPU_get_user(sti_ptr->sigl, (u32*)(((u8*)s)+0));\n  FPU_get_user(sti_ptr->sigh, (u32*)(((u8*)s)+4));\n  FPU_get_user(sti_ptr->exp,  (u16*)(((u8*)s)+8));\n#endif\n  RE_ENTRANT_CHECK_ON;\n\n  return FPU_tagof(current_i387_yuan_   sti_ptr);\n}\n\n\n/* Get a double from user memory */\nint FPU_load_double(current_i387_definefunyuan_   double *dfloat, FPU_REG *loaded_data)\n{\n  int exp, tag, negative;\n  u32 m64, l64;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, dfloat, 8);\n  FPU_get_user(m64, 1 + (u32 *) dfloat);\n  FPU_get_user(l64, (u32 *) dfloat);\n  RE_ENTRANT_CHECK_ON;\n\n  negative = (m64 & 0x80000000) ? SIGN_Negative : SIGN_Positive;\n  exp = ((m64 & 0x7ff00000) >> 20) - DOUBLE_Ebias + EXTENDED_Ebias;\n  m64 &= 0xfffff;\n  if ( exp > DOUBLE_Emax + EXTENDED_Ebias )\n    {\n      /* Infinity or NaN */\n      if ((m64 == 0) && (l64 == 0))\n\t{\n\t  /* +- infinity */\n\t  loaded_data->sigh = 0x80000000;\n\t  loaded_data->sigl = 0x00000000;\n\t  exp = EXP_Infinity + EXTENDED_Ebias;\n\t  tag = TAG_Special;\n\t}\n      else\n\t{\n\t  /* Must be a signaling or quiet NaN */\n\t  exp = EXP_NaN + EXTENDED_Ebias;\n\t  loaded_data->sigh = (m64 << 11) | 0x80000000;\n\t  loaded_data->sigh |= l64 >> 21;\n\t  loaded_data->sigl = l64 << 11;\n\t  tag = TAG_Special;    /* The calling function must look for NaNs */\n\t}\n    }\n  else if ( exp < DOUBLE_Emin + EXTENDED_Ebias )\n    {\n      /* Zero or de-normal */\n      if ((m64 == 0) && (l64 == 0))\n\t{\n\t  /* Zero */\n\t  reg_copy(&CONST_Z, loaded_data);\n\t  exp = 0;\n\t  tag = TAG_Zero;\n\t}\n      else\n\t{\n\t  /* De-normal */\n\t  loaded_data->sigh = m64 << 11;\n\t  loaded_data->sigh |= l64 >> 21;\n\t  loaded_data->sigl = l64 << 11;\n\n\t  return normalize_no_excep(current_i387_yuan_      loaded_data, DOUBLE_Emin, negative)\n\t    | (denormal_operand(current_i387_yuan_le   ) < 0 ? FPU_Exception : 0);\n\t}\n    }\n  else\n    {\n      loaded_data->sigh = (m64 << 11) | 0x80000000;\n      loaded_data->sigh |= l64 >> 21;\n      loaded_data->sigl = l64 << 11;\n\n      tag = TAG_Valid;\n    }\n\n  setexponent16(loaded_data, exp | negative);\n\n  return tag;\n}\n\n\n/* Get a float from user memory */\nint FPU_load_single(current_i387_definefunyuan_   float *single, FPU_REG *loaded_data)\n{\n  u32 m32;\n  int exp, tag, negative;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, single, 4);\n  FPU_get_user(m32, (u32 *) single);\n  RE_ENTRANT_CHECK_ON;\n\n  negative = (m32 & 0x80000000) ? SIGN_Negative : SIGN_Positive;\n\n  if (!(m32 & 0x7fffffff))\n    {\n      /* Zero */\n      reg_copy(&CONST_Z, loaded_data);\n      addexponent(loaded_data, negative);\n      return TAG_Zero;\n    }\n  exp = ((m32 & 0x7f800000) >> 23) - SINGLE_Ebias + EXTENDED_Ebias;\n  m32 = (m32 & 0x7fffff) << 8;\n  if ( exp < SINGLE_Emin + EXTENDED_Ebias )\n    {\n      /* De-normals */\n      loaded_data->sigh = m32;\n      loaded_data->sigl = 0;\n\n      return normalize_no_excep(current_i387_yuan_      loaded_data, SINGLE_Emin, negative)\n\t| (denormal_operand(current_i387_yuan_le   ) < 0 ? FPU_Exception : 0);\n    }\n  else if ( exp > SINGLE_Emax + EXTENDED_Ebias )\n    {\n    /* Infinity or NaN */\n      if ( m32 == 0 )\n\t{\n\t  /* +- infinity */\n\t  loaded_data->sigh = 0x80000000;\n\t  loaded_data->sigl = 0x00000000;\n\t  exp = EXP_Infinity + EXTENDED_Ebias;\n\t  tag = TAG_Special;\n\t}\n      else\n\t{\n\t  /* Must be a signaling or quiet NaN */\n\t  exp = EXP_NaN + EXTENDED_Ebias;\n\t  loaded_data->sigh = m32 | 0x80000000;\n\t  loaded_data->sigl = 0;\n\t  tag = TAG_Special;  /* The calling function must look for NaNs */\n\t}\n    }\n  else\n    {\n      loaded_data->sigh = m32 | 0x80000000;\n      loaded_data->sigl = 0;\n      tag = TAG_Valid;\n    }\n\n  setexponent16(loaded_data, exp | negative);  /* Set the sign. */\n\n  return tag;\n}\n\n\n/* Get a 64bit quantity from user memory */\nint FPU_load_int64(current_i387_definefunyuan_   s64 *_s)\n{\n  s64 s;\n  int sign;\n  FPU_REG *st0_ptr = &st(0);\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area( VERIFY_READ, _s, 8);\n#ifndef USE_WITH_CPU_SIM\n  copy_from_user(&s,_s,8);\n#else\n  {\n  u32 chunk0, chunk1;\n  FPU_get_user(chunk0, (u32*)(((u8*)_s)+0));\n  FPU_get_user(chunk1, (u32*)(((u8*)_s)+4));\n  s = chunk0;\n  s |= (((u64)chunk1) << 32);\n  }\n#endif\n  RE_ENTRANT_CHECK_ON;\n\n  if (s == 0)\n    {\n      reg_copy(&CONST_Z, st0_ptr);\n      return TAG_Zero;\n    }\n\n  if (s > 0)\n    sign = SIGN_Positive;\n  else\n  {\n    s = -s;\n    sign = SIGN_Negative;\n  }\n\tst0_ptr->sigl = (u32)s;\n\tst0_ptr->sigh = (u32)(s>>32);\n\n // significand(st0_ptr) = s;\n\n  return normalize_no_excep(current_i387_yuan_      st0_ptr, 63, sign);\n}\n\n\n/* Get a long from user memory */\nint FPU_load_int32(current_i387_definefunyuan_   s32 *_s, FPU_REG *loaded_data)\n{\n  s32 s;\n  int negative;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, _s, 4);\n  FPU_get_user(s, _s);\n  RE_ENTRANT_CHECK_ON;\n\n  if (s == 0)\n    { reg_copy(&CONST_Z, loaded_data); return TAG_Zero; }\n\n  if (s > 0)\n    negative = SIGN_Positive;\n  else\n    {\n      s = -s;\n      negative = SIGN_Negative;\n    }\n\n  loaded_data->sigh = s;\n  loaded_data->sigl = 0;\n\n  return normalize_no_excep(current_i387_yuan_      loaded_data, 31, negative);\n}\n\n\n/* Get a short from user memory */\nint FPU_load_int16(current_i387_definefunyuan_   s16 *_s, FPU_REG *loaded_data)\n{\n  int s, negative;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, _s, 2);\n  /* Cast as short to get the sign extended. */\n  FPU_get_user(s, _s);\n  RE_ENTRANT_CHECK_ON;\n\n  if (s == 0)\n    { reg_copy(&CONST_Z, loaded_data); return TAG_Zero; }\n\n  if (s > 0)\n    negative = SIGN_Positive;\n  else\n    {\n      s = -s;\n      negative = SIGN_Negative;\n    }\n\n  loaded_data->sigh = s << 16;\n  loaded_data->sigl = 0;\n\n  return normalize_no_excep(current_i387_yuan_      loaded_data, 15, negative);\n}\n\n\n/* Get a packed bcd array from user memory */\nint FPU_load_bcd(current_i387_definefunyuan_   u_char *s)\n{\n  FPU_REG *st0_ptr = &st(0);\n  int pos;\n  u_char bcd;\n  s64 l=0;\n  int sign;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ, s, 10);\n  RE_ENTRANT_CHECK_ON;\n  for ( pos = 8; pos >= 0; pos--)\n    {\n      l *= 10;\n      RE_ENTRANT_CHECK_OFF;\n      FPU_get_user(bcd, (u_char *) s+pos);\n      RE_ENTRANT_CHECK_ON;\n      l += bcd >> 4;\n      l *= 10;\n      l += bcd & 0x0f;\n    }\n \n  RE_ENTRANT_CHECK_OFF;\n  FPU_get_user(current_i387_yuan_   sign, (u_char *) s+9);\n  sign = sign & 0x80 ? SIGN_Negative : SIGN_Positive;\n  RE_ENTRANT_CHECK_ON;\n\n  if ( l == 0 )\n    {\n      reg_copy(&CONST_Z, st0_ptr);\n      addexponent(st0_ptr, sign);   /* Set the sign. */\n      return TAG_Zero;\n    }\n  else\n    {\n      //significand(st0_ptr) = l;\n\t\tst0_ptr->sigl = (u32)l;\n\t\tst0_ptr->sigh = (u32)(l>>32);\n      return normalize_no_excep(current_i387_yuan_      st0_ptr, 63, sign);\n    }\n}\n\n/*===========================================================================*/\n\n/* Put a long double into user memory */\nint FPU_store_extended(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, long double *d)\n{\n  /*\n    The only exception raised by an attempt to store to an\n    extended format is the Invalid Stack exception, i.e.\n    attempting to store from an empty register.\n   */\n\n  if ( st0_tag != TAG_Empty )\n    {\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE, d, 10);\n\n      FPU_put_user(st0_ptr->sigl, (u32 *) d);\n      FPU_put_user(st0_ptr->sigh, (u32 *) ((u_char *)d + 4));\n      FPU_put_user(exponent16(st0_ptr), (u16 *) ((u_char *)d + 8));\n      RE_ENTRANT_CHECK_ON;\n\n      return 1;\n    }\n\n  /* Empty register (stack underflow) */\n  EXCEPTION(EX_StackUnder);\n  if ( control_word & CW_Invalid )\n    {\n      /* The masked response */\n      /* Put out the QNaN indefinite */\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE,d,10);\n      FPU_put_user(0, (u32 *) d);\n      FPU_put_user(0xc0000000, 1 + (u32 *) d);\n      FPU_put_user(0xffff, 4 + (s16 *) d);\n      RE_ENTRANT_CHECK_ON;\n      return 1;\n    }\n  else\n    return 0;\n\n}\n\n\n/* Put a double into user memory */\nint FPU_store_double(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, double *dfloat)\n{\n  u32 l[2];\n  u32 increment = 0;\t/* avoid gcc warnings */\n  int precision_loss;\n  int exp;\n  FPU_REG tmp;\n\n  if ( st0_tag == TAG_Valid )\n    {\n      reg_copy(st0_ptr, &tmp);\n      exp = exponent(&tmp);\n\n      if ( exp < DOUBLE_Emin )     /* It may be a denormal */\n\t{\n\t  addexponent(&tmp, -DOUBLE_Emin + 52);  /* largest exp to be 51 */\n\n\tdenormal_arg:\n\n\t  if ( (precision_loss = FPU_round_to_int(current_i387_yuan_   &tmp, st0_tag)) )\n\t    {\n#ifdef PECULIAR_486\n\t      /* Did it round to a non-denormal ? */\n\t      /* This behaviour might be regarded as peculiar, it appears\n\t\t that the 80486 rounds to the dest precision, then\n\t\t converts to decide underflow. */\n\t      if ( !((tmp.sigh == 0x00100000) && (tmp.sigl == 0) &&\n\t\t  (st0_ptr->sigl & 0x000007ff)) )\n#endif /* PECULIAR_486 */\n\t\t{\n\t\t  EXCEPTION(EX_Underflow);\n\t\t  /* This is a special case: see sec 16.2.5.1 of\n\t\t     the 80486 book */\n\t\t  if ( !(control_word & CW_Underflow) )\n\t\t    return 0;\n\t\t}\n\t      EXCEPTION(precision_loss);\n\t      if ( !(control_word & CW_Precision) )\n\t\treturn 0;\n\t    }\n\t  l[0] = tmp.sigl;\n\t  l[1] = tmp.sigh;\n\t}\n      else\n\t{\n\t  if ( tmp.sigl & 0x000007ff )\n\t    {\n\t      precision_loss = 1;\n\t      switch (control_word & CW_RC)\n\t\t{\n\t\tcase RC_RND:\n\t\t  /* Rounding can get a little messy.. */\n\t\t  increment = ((tmp.sigl & 0x7ff) > 0x400) |  /* nearest */\n\t\t    ((tmp.sigl & 0xc00) == 0xc00);            /* odd -> even */\n\t\t  break;\n\t\tcase RC_DOWN:   /* towards -infinity */\n\t\t  increment = signpositive(&tmp) ? 0 : tmp.sigl & 0x7ff;\n\t\t  break;\n\t\tcase RC_UP:     /* towards +infinity */\n\t\t  increment = signpositive(&tmp) ? tmp.sigl & 0x7ff : 0;\n\t\t  break;\n\t\tcase RC_CHOP:\n\t\t  increment = 0;\n\t\t  break;\n\t\t}\n\t  \n\t      /* Truncate the mantissa */\n\t      tmp.sigl &= 0xfffff800;\n\t  \n\t      if ( increment )\n\t\t{\n\t\t  if ( tmp.sigl >= 0xfffff800 )\n\t\t    {\n\t\t      /* the sigl part overflows */\n\t\t      if ( tmp.sigh == 0xffffffff )\n\t\t\t{\n\t\t\t  /* The sigh part overflows */\n\t\t\t  tmp.sigh = 0x80000000;\n\t\t\t  exp++;\n\t\t\t  if (exp >= EXP_OVER)\n\t\t\t    goto overflow;\n\t\t\t}\n\t\t      else\n\t\t\t{\n\t\t\t  tmp.sigh ++;\n\t\t\t}\n\t\t      tmp.sigl = 0x00000000;\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      /* We only need to increment sigl */\n\t\t      tmp.sigl += 0x00000800;\n\t\t    }\n\t\t}\n\t    }\n\t  else\n\t    precision_loss = 0;\n\t  \n\t  l[0] = (tmp.sigl >> 11) | (tmp.sigh << 21);\n\t  l[1] = ((tmp.sigh >> 11) & 0xfffff);\n\n\t  if ( exp > DOUBLE_Emax )\n\t    {\n\t    overflow:\n\t      EXCEPTION(EX_Overflow);\n\t      if ( !(control_word & CW_Overflow) )\n\t\treturn 0;\n\t      set_precision_flag_up(current_i387_yuan_clono  );\n\t      if ( !(control_word & CW_Precision) )\n\t\treturn 0;\n\n\t      /* This is a special case: see sec 16.2.5.1 of the 80486 book */\n\t      /* Overflow to infinity */\n\t      l[0] = 0x00000000;\t/* Set to */\n\t      l[1] = 0x7ff00000;\t/* + INF */\n\t    }\n\t  else\n\t    {\n\t      if ( precision_loss )\n\t\t{\n\t\t  if ( increment )\n\t\t    set_precision_flag_up(current_i387_yuan_clono  );\n\t\t  else\n\t\t    set_precision_flag_down(current_i387_yuan_clono  );\n\t\t}\n\t      /* Add the exponent */\n\t      l[1] |= (((exp+DOUBLE_Ebias) & 0x7ff) << 20);\n\t    }\n\t}\n    }\n  else if (st0_tag == TAG_Zero)\n    {\n      /* Number is zero */\n      l[0] = 0;\n      l[1] = 0;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if ( st0_tag == TW_Denormal )\n\t{\n\t  /* A denormal will always underflow. */\n#ifndef PECULIAR_486\n\t  /* An 80486 is supposed to be able to generate\n\t     a denormal exception here, but... */\n\t  /* Underflow has priority. */\n\t  if ( control_word & CW_Underflow )\n\t    denormal_operand(current_i387_yuan_clono  );\n#endif /* PECULIAR_486 */\n\t  reg_copy(st0_ptr, &tmp);\n\t  goto denormal_arg;\n\t}\n      else if (st0_tag == TW_Infinity)\n\t{\n\t  l[0] = 0;\n\t  l[1] = 0x7ff00000;\n\t}\n      else if (st0_tag == TW_NaN)\n\t{\n\t  /* Is it really a NaN ? */\n\t  if ( (exponent(st0_ptr) == EXP_OVER)\n\t       && (st0_ptr->sigh & 0x80000000) )\n\t    {\n\t      /* See if we can get a valid NaN from the FPU_REG */\n\t      l[0] = (st0_ptr->sigl >> 11) | (st0_ptr->sigh << 21);\n\t      l[1] = ((st0_ptr->sigh >> 11) & 0xfffff);\n\t      if ( !(st0_ptr->sigh & 0x40000000) )\n\t\t{\n\t\t  /* It is a signalling NaN */\n\t\t  EXCEPTION(EX_Invalid);\n\t\t  if ( !(control_word & CW_Invalid) )\n\t\t    return 0;\n\t\t  l[1] |= (0x40000000 >> 11);\n\t\t}\n\t      l[1] |= 0x7ff00000;\n\t    }\n\t  else\n\t    {\n\t      /* It is an unsupported data type */\n\t      EXCEPTION(EX_Invalid);\n\t      if ( !(control_word & CW_Invalid) )\n\t\treturn 0;\n\t      l[0] = 0;\n\t      l[1] = 0xfff80000;\n\t    }\n\t}\n    }\n  else if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* The masked response */\n\t  /* Put out the QNaN indefinite */\n\t  RE_ENTRANT_CHECK_OFF;\n\t  FPU_verify_area(VERIFY_WRITE,(void *)dfloat,8);\n\t  FPU_put_user(0, (u32 *) dfloat);\n\t  FPU_put_user(0xfff80000, 1 + (u32 *) dfloat);\n\t  RE_ENTRANT_CHECK_ON;\n\t  return 1;\n\t}\n      else\n\treturn 0;\n    }\n  if ( getsign(st0_ptr) )\n    l[1] |= 0x80000000;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,(void *)dfloat,8);\n  FPU_put_user(l[0], (u32 *)dfloat);\n  FPU_put_user(l[1], 1 + (u32 *)dfloat);\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n\n/* Put a float into user memory */\nint FPU_store_single(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, float *single)\n{\n  s32 templ;\n  u32 increment = 0;     \t/* avoid gcc warnings */\n  int precision_loss;\n  int exp;\n  FPU_REG tmp;\n\n  if ( st0_tag == TAG_Valid )\n    {\n\n      reg_copy(st0_ptr, &tmp);\n      exp = exponent(&tmp);\n\n      if ( exp < SINGLE_Emin )\n\t{\n\t  addexponent(&tmp, -SINGLE_Emin + 23);  /* largest exp to be 22 */\n\n\tdenormal_arg:\n\n\t  if ( (precision_loss = FPU_round_to_int(current_i387_yuan_   &tmp, st0_tag)) )\n\t    {\n#ifdef PECULIAR_486\n\t      /* Did it round to a non-denormal ? */\n\t      /* This behaviour might be regarded as peculiar, it appears\n\t\t that the 80486 rounds to the dest precision, then\n\t\t converts to decide underflow. */\n\t      if ( !((tmp.sigl == 0x00800000) &&\n\t\t  ((st0_ptr->sigh & 0x000000ff) || st0_ptr->sigl)) )\n#endif /* PECULIAR_486 */\n\t\t{\n\t\t  EXCEPTION(EX_Underflow);\n\t\t  /* This is a special case: see sec 16.2.5.1 of\n\t\t     the 80486 book */\n\t\t  if ( !(control_word & CW_Underflow) )\n\t\t    return 0;\n\t\t}\n\t      EXCEPTION(precision_loss);\n\t      if ( !(control_word & CW_Precision) )\n\t\treturn 0;\n\t    }\n\t  templ = tmp.sigl;\n      }\n      else\n\t{\n\t  if ( tmp.sigl | (tmp.sigh & 0x000000ff) )\n\t    {\n\t      u32 sigh = tmp.sigh;\n\t      u32 sigl = tmp.sigl;\n\t      \n\t      precision_loss = 1;\n\t      switch (control_word & CW_RC)\n\t\t{\n\t\tcase RC_RND:\n\t\t  increment = ((sigh & 0xff) > 0x80)       /* more than half */\n\t\t    || (((sigh & 0xff) == 0x80) && sigl)   /* more than half */\n\t\t    || ((sigh & 0x180) == 0x180);        /* round to even */\n\t\t  break;\n\t\tcase RC_DOWN:   /* towards -infinity */\n\t\t  increment = signpositive(&tmp)\n\t\t    ? 0 : (sigl | (sigh & 0xff));\n\t\t  break;\n\t\tcase RC_UP:     /* towards +infinity */\n\t\t  increment = signpositive(&tmp)\n\t\t    ? (sigl | (sigh & 0xff)) : 0;\n\t\t  break;\n\t\tcase RC_CHOP:\n\t\t  increment = 0;\n\t\t  break;\n\t\t}\n\t  \n\t      /* Truncate part of the mantissa */\n\t      tmp.sigl = 0;\n\t  \n\t      if (increment)\n\t\t{\n\t\t  if ( sigh >= 0xffffff00 )\n\t\t    {\n\t\t      /* The sigh part overflows */\n\t\t      tmp.sigh = 0x80000000;\n\t\t      exp++;\n\t\t      if ( exp >= EXP_OVER )\n\t\t\tgoto overflow;\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      tmp.sigh &= 0xffffff00;\n\t\t      tmp.sigh += 0x100;\n\t\t    }\n\t\t}\n\t      else\n\t\t{\n\t\t  tmp.sigh &= 0xffffff00;  /* Finish the truncation */\n\t\t}\n\t    }\n\t  else\n\t    precision_loss = 0;\n      \n\t  templ = (tmp.sigh >> 8) & 0x007fffff;\n\n\t  if ( exp > SINGLE_Emax )\n\t    {\n\t    overflow:\n\t      EXCEPTION(EX_Overflow);\n\t      if ( !(control_word & CW_Overflow) )\n\t\treturn 0;\n\t      set_precision_flag_up(current_i387_yuan_clono  );\n\t      if ( !(control_word & CW_Precision) )\n\t\treturn 0;\n\n\t      /* This is a special case: see sec 16.2.5.1 of the 80486 book. */\n\t      /* Masked response is overflow to infinity. */\n\t      templ = 0x7f800000;\n\t    }\n\t  else\n\t    {\n\t      if ( precision_loss )\n\t\t{\n\t\t  if ( increment )\n\t\t    set_precision_flag_up(current_i387_yuan_clono  );\n\t\t  else\n\t\t    set_precision_flag_down(current_i387_yuan_clono  );\n\t\t}\n\t      /* Add the exponent */\n\t      templ |= ((exp+SINGLE_Ebias) & 0xff) << 23;\n\t    }\n\t}\n    }\n  else if (st0_tag == TAG_Zero)\n    {\n      templ = 0;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if (st0_tag == TW_Denormal)\n\t{\n\t  reg_copy(st0_ptr, &tmp);\n\n\t  /* A denormal will always underflow. */\n#ifndef PECULIAR_486\n\t  /* An 80486 is supposed to be able to generate\n\t     a denormal exception here, but... */\n\t  /* Underflow has priority. */\n\t  if ( control_word & CW_Underflow )\n\t    denormal_operand(current_i387_yuan_clono  );\n#endif /* PECULIAR_486 */\n\t  goto denormal_arg;\n\t}\n      else if (st0_tag == TW_Infinity)\n\t{\n\t  templ = 0x7f800000;\n\t}\n      else if (st0_tag == TW_NaN)\n\t{\n\t  /* Is it really a NaN ? */\n\t  if ( (exponent(st0_ptr) == EXP_OVER) && (st0_ptr->sigh & 0x80000000) )\n\t    {\n\t      /* See if we can get a valid NaN from the FPU_REG */\n\t      templ = st0_ptr->sigh >> 8;\n\t      if ( !(st0_ptr->sigh & 0x40000000) )\n\t\t{\n\t\t  /* It is a signalling NaN */\n\t\t  EXCEPTION(EX_Invalid);\n\t\t  if ( !(control_word & CW_Invalid) )\n\t\t    return 0;\n\t\t  templ |= (0x40000000 >> 8);\n\t\t}\n\t      templ |= 0x7f800000;\n\t    }\n\t  else\n\t    {\n\t      /* It is an unsupported data type */\n\t      EXCEPTION(EX_Invalid);\n\t      if ( !(control_word & CW_Invalid) )\n\t\treturn 0;\n\t      templ = 0xffc00000;\n\t    }\n\t}\n#ifdef PARANOID\n      else\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x164);\n\t  return 0;\n\t}\n#endif\n    }\n  else if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      if ( control_word & EX_Invalid )\n\t{\n\t  /* The masked response */\n\t  /* Put out the QNaN indefinite */\n\t  RE_ENTRANT_CHECK_OFF;\n\t  FPU_verify_area(VERIFY_WRITE,(void *)single,4);\n\t  FPU_put_user(0xffc00000, (u32 *) single);\n\t  RE_ENTRANT_CHECK_ON;\n\t  return 1;\n\t}\n      else\n\treturn 0;\n    }\n#ifdef PARANOID\n  else\n    {\n      EXCEPTION(EX_INTERNAL|0x163);\n      return 0;\n    }\n#endif\n  if ( getsign(st0_ptr) )\n    templ |= 0x80000000;\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,(void *)single,4);\n  FPU_put_user(templ,(u32 *) single);\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n\n/* Put a 64bit quantity into user memory */\nint FPU_store_int64(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s64 *d)\n{\n  FPU_REG t;\n  s64 tll;\n  int precision_loss;\n\n  if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      goto invalid_operand;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if ( (st0_tag == TW_Infinity) ||\n\t   (st0_tag == TW_NaN) )\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  goto invalid_operand;\n\t}\n    }\n\n  reg_copy(st0_ptr, &t);\n  precision_loss = FPU_round_to_int(current_i387_yuan_   &t, st0_tag);\n#ifndef EMU_BIG_ENDIAN\n  ((u32 *)&tll)[0] = t.sigl;\n  ((u32 *)&tll)[1] = t.sigh;\n#else\n  ((u32 *)&tll)[0] = t.sigh;\n  ((u32 *)&tll)[1] = t.sigl;\n#endif\n  if ( (precision_loss == 1) ||\n      ((t.sigh & 0x80000000) &&\n       !((t.sigh == 0x80000000) && (t.sigl == 0) &&\n\t signnegative(&t))) )\n    {\n      EXCEPTION(EX_Invalid);\n      /* This is a special case: see sec 16.2.5.1 of the 80486 book */\n    invalid_operand:\n      if ( control_word & EX_Invalid )\n\t{\n\t  /* Produce something like QNaN \"indefinite\" */\n\t  tll = BX_CONST64(0x8000000000000000);\n\t}\n      else\n\treturn 0;\n    }\n  else\n    {\n      if ( precision_loss )\n\tset_precision_flag(current_i387_yuan_   precision_loss);\n      if ( signnegative(&t) )\n\ttll = - tll;\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,(void *)d,8);\n#ifndef USE_WITH_CPU_SIM\n  copy_to_user(d, &tll, 8);\n#else\n  FPU_put_user((u32) tll,       (u32*)(((u8 *)d)+0));\n  FPU_put_user((u32) (tll>>32), (u32*)(((u8 *)d)+4));\n#endif\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n\n/* Put a long into user memory */\nint FPU_store_int32(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s32 *d)\n{\n  FPU_REG t;\n  int precision_loss;\n\n  if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      goto invalid_operand;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if ( (st0_tag == TW_Infinity) ||\n\t   (st0_tag == TW_NaN) )\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  goto invalid_operand;\n\t}\n    }\n\n  reg_copy(st0_ptr, &t);\n  precision_loss = FPU_round_to_int(current_i387_yuan_   &t, st0_tag);\n  if (t.sigh ||\n      ((t.sigl & 0x80000000) &&\n       !((t.sigl == 0x80000000) && signnegative(&t))) )\n    {\n      EXCEPTION(EX_Invalid);\n      /* This is a special case: see sec 16.2.5.1 of the 80486 book */\n    invalid_operand:\n      if ( control_word & EX_Invalid )\n\t{\n\t  /* Produce something like QNaN \"indefinite\" */\n\t  t.sigl = 0x80000000;\n\t}\n      else\n\treturn 0;\n    }\n  else\n    {\n      if ( precision_loss )\n\tset_precision_flag(current_i387_yuan_   precision_loss);\n      if ( signnegative(&t) )\n\tt.sigl = -(s32)t.sigl;\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,d,4);\n  FPU_put_user(t.sigl, (u32 *) d);\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n\n/* Put a short into user memory */\nint FPU_store_int16(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, s16 *d)\n{\n  FPU_REG t;\n  int precision_loss;\n\n  if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      goto invalid_operand;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if ( (st0_tag == TW_Infinity) ||\n\t   (st0_tag == TW_NaN) )\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  goto invalid_operand;\n\t}\n    }\n\n  reg_copy(st0_ptr, &t);\n  precision_loss = FPU_round_to_int(current_i387_yuan_   &t, st0_tag);\n  if (t.sigh ||\n      ((t.sigl & 0xffff8000) &&\n       !((t.sigl == 0x8000) && signnegative(&t))) )\n    {\n      EXCEPTION(EX_Invalid);\n      /* This is a special case: see sec 16.2.5.1 of the 80486 book */\n    invalid_operand:\n      if ( control_word & EX_Invalid )\n\t{\n\t  /* Produce something like QNaN \"indefinite\" */\n\t  t.sigl = 0x8000;\n\t}\n      else\n\treturn 0;\n    }\n  else\n    {\n      if ( precision_loss )\n\tset_precision_flag(current_i387_yuan_   precision_loss);\n      if ( signnegative(&t) )\n\tt.sigl = (0-t.sigl);\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,d,2);\n  FPU_put_user((s16)t.sigl,(s16 *) d);\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n\n/* Put a packed bcd array into user memory */\nint FPU_store_bcd(current_i387_definefunyuan_   FPU_REG *st0_ptr, u_char st0_tag, u_char *d)\n{\n  FPU_REG t;\n  u64 ll;\n  u_char b;\n  int i, precision_loss;\n  u_char sign = (getsign(st0_ptr) == SIGN_NEG) ? 0x80 : 0;\n\n  if ( st0_tag == TAG_Empty )\n    {\n      /* Empty register (stack underflow) */\n      EXCEPTION(EX_StackUnder);\n      goto invalid_operand;\n    }\n  else if ( st0_tag == TAG_Special )\n    {\n      st0_tag = FPU_Special(current_i387_yuan_   st0_ptr);\n      if ( (st0_tag == TW_Infinity) ||\n\t   (st0_tag == TW_NaN) )\n\t{\n\t  EXCEPTION(EX_Invalid);\n\t  goto invalid_operand;\n\t}\n    }\n\n  reg_copy(st0_ptr, &t);\n  precision_loss = FPU_round_to_int(current_i387_yuan_   &t, st0_tag);\n  ll = significand(&t);\n\n  /* Check for overflow, by comparing with 999999999999999999 decimal. */\n  if ( (t.sigh > 0x0de0b6b3) ||\n      ((t.sigh == 0x0de0b6b3) && (t.sigl > 0xa763ffff)) )\n    {\n      EXCEPTION(EX_Invalid);\n      /* This is a special case: see sec 16.2.5.1 of the 80486 book */\n    invalid_operand:\n      if ( control_word & CW_Invalid )\n\t{\n\t  /* Produce the QNaN \"indefinite\" */\n\t  RE_ENTRANT_CHECK_OFF;\n\t  FPU_verify_area(VERIFY_WRITE,d,10);\n\t  for ( i = 0; i < 7; i++)\n\t    FPU_put_user(0, (u_char *) d+i); /* These bytes \"undefined\" */\n\t  FPU_put_user(0xc0, (u_char *) d+7); /* This byte \"undefined\" */\n\t  FPU_put_user(0xff, (u_char *) d+8);\n\t  FPU_put_user(0xff, (u_char *) d+9);\n\t  RE_ENTRANT_CHECK_ON;\n\t  return 1;\n\t}\n      else\n\treturn 0;\n    }\n  else if ( precision_loss )\n    {\n      /* Precision loss doesn't stop the data transfer */\n      set_precision_flag(current_i387_yuan_   precision_loss);\n    }\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,d,10);\n  RE_ENTRANT_CHECK_ON;\n  for ( i = 0; i < 9; i++)\n    {\n      b = FPU_div_small(current_i387_yuan_   &ll, 10);\n      b |= (FPU_div_small(current_i387_yuan_   &ll, 10)) << 4;\n      RE_ENTRANT_CHECK_OFF;\n      FPU_put_user(b,(u_char *) d+i);\n      RE_ENTRANT_CHECK_ON;\n    }\n  RE_ENTRANT_CHECK_OFF;\n  FPU_put_user(sign,(u_char *) d+9);\n  RE_ENTRANT_CHECK_ON;\n\n  return 1;\n}\n\n/*===========================================================================*/\n\n/* r gets mangled such that sig is int, sign: \n   it is NOT normalized */\n/* The return value (in eax) is zero if the result is exact,\n   if bits are changed due to rounding, truncation, etc, then\n   a non-zero value is returned */\n/* Overflow is signalled by a non-zero return value (in eax).\n   In the case of overflow, the returned significand always has the\n   largest possible value */\nint FPU_round_to_int(current_i387_definefunyuan_   FPU_REG *r, u_char tag)\n{\n  u_char     very_big;\n  unsigned eax;\n\n  if (tag == TAG_Zero)\n    {\n      /* Make sure that zero is returned */\n      significand(r) = 0;\n      return 0;        /* o.k. */\n    }\n\n  if (exponent(r) > 63)\n    {\n      r->sigl = r->sigh = ~0;      /* The largest representable number */\n      return 1;        /* overflow */\n    }\n\n#ifndef EMU_BIG_ENDIAN\n  eax = FPU_shrxs(current_i387_yuan_   &r->sigl, 63 - exponent(r));\n#else\n  eax = FPU_shrxs(current_i387_yuan_   &r->sigh, 63 - exponent(r));\n#endif\n  very_big = !(~(r->sigh) | ~(r->sigl));  /* test for 0xfff...fff */\n#define\thalf_or_more\t(eax & 0x80000000)\n#define\tfrac_part\t(eax)\n#define more_than_half  ((eax & 0x80000001) == 0x80000001)\n  switch (control_word & CW_RC)\n    {\n    case RC_RND:\n      if ( more_than_half               \t/* nearest */\n\t  || (half_or_more && (r->sigl & 1)) )\t/* odd -> even */\n\t{\n\t  if ( very_big ) return 1;        /* overflow */\n\t  significand(r) ++;\n\t  return PRECISION_LOST_UP;\n\t}\n      break;\n    case RC_DOWN:\n      if (frac_part && getsign(r))\n\t{\n\t  if ( very_big ) return 1;        /* overflow */\n\t  significand(r) ++;\n\t  return PRECISION_LOST_UP;\n\t}\n      break;\n    case RC_UP:\n      if (frac_part && !getsign(r))\n\t{\n\t  if ( very_big ) return 1;        /* overflow */\n\t  significand(r) ++;\n\t  return PRECISION_LOST_UP;\n\t}\n      break;\n    case RC_CHOP:\n      break;\n    }\n\n  return eax ? PRECISION_LOST_DOWN : 0;\n\n}\n\n/*===========================================================================*/\n\nu_char *fldenv(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *s)\n{\n  u16 tag_word = 0;\n  u_char tag;\n  int i;\n\n  if ( (addr_modes.default_mode == VM86) ||\n      ((addr_modes.default_mode == PM16)\n      ^ (addr_modes.override.operand_size == OP_SIZE_PREFIX)) )\n    {\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_READ, s, 0x0e);\n      FPU_get_user(control_word, (u16 *) s);\n      FPU_get_user(partial_status, (u16 *) (s+2));\n      FPU_get_user(tag_word, (u16 *) (s+4));\n      FPU_get_user(instruction_address.offset, (u16 *) (s+6));\n      FPU_get_user(instruction_address.selector, (u16 *) (s+8));\n      FPU_get_user(operand_address.offset, (u16 *) (s+0x0a));\n      FPU_get_user(operand_address.selector, (u16 *) (s+0x0c));\n      RE_ENTRANT_CHECK_ON;\n      s += 0x0e;\n      if ( addr_modes.default_mode == VM86 )\n\t{\n\t  instruction_address.offset\n\t    += (instruction_address.selector & 0xf000) << 4;\n\t  operand_address.offset += (operand_address.selector & 0xf000) << 4;\n\t}\n    }\n  else\n    {\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_READ, s, 0x1c);\n      FPU_get_user(control_word, (u16 *) s);\n      FPU_get_user(partial_status, (u16 *) (s+4));\n      FPU_get_user(tag_word, (u16 *) (s+8));\n      FPU_get_user(instruction_address.offset, (u32 *) (s+0x0c));\n      FPU_get_user(instruction_address.selector, (u16 *) (s+0x10));\n      FPU_get_user(instruction_address.opcode, (u16 *) (s+0x12));\n      FPU_get_user(operand_address.offset, (u32 *) (s+0x14));\n      FPU_get_user(operand_address.selector, (u32 *) (s+0x18));\n      RE_ENTRANT_CHECK_ON;\n      s += 0x1c;\n    }\n\n#ifdef PECULIAR_486\n  control_word &= ~0xe080;\n#endif /* PECULIAR_486 */\n\n  top = (partial_status >> SW_Top_Shift) & 7;\n\n  if ( partial_status & ~control_word & CW_Exceptions )\n    partial_status |= (SW_Summary | SW_Backward);\n  else\n    partial_status &= ~(SW_Summary | SW_Backward);\n\n  for ( i = 0; i < 8; i++ )\n    {\n      tag = tag_word & 3;\n      tag_word >>= 2;\n\n      if ( tag == TAG_Empty )\n\t/* New tag is empty.  Accept it */\n\tFPU_settag(current_i387_yuan_   i, TAG_Empty);\n      else if ( FPU_gettag(current_i387_yuan_   i) == TAG_Empty )\n\t{\n\t  /* Old tag is empty and new tag is not empty.  New tag is determined\n\t     by old reg contents */\n\t  if ( exponent(&fpu_register(i)) == - EXTENDED_Ebias )\n\t    {\n\t      if ( !(fpu_register(i).sigl | fpu_register(i).sigh) )\n\t\tFPU_settag(current_i387_yuan_   i, TAG_Zero);\n\t      else\n\t\tFPU_settag(current_i387_yuan_   i, TAG_Special);\n\t    }\n\t  else if ( exponent(&fpu_register(i)) == 0x7fff - EXTENDED_Ebias )\n\t    {\n\t      FPU_settag(current_i387_yuan_   i, TAG_Special);\n\t    }\n\t  else if ( fpu_register(i).sigh & 0x80000000 )\n\t    FPU_settag(current_i387_yuan_   i, TAG_Valid);\n\t  else\n\t    FPU_settag(current_i387_yuan_   i, TAG_Special);   /* An Un-normal */\n  \t}\n      /* Else old tag is not empty and new tag is not empty.  Old tag\n\t remains correct */\n    }\n\n  return s;\n}\n\n\nvoid frstor(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *data_address)\n{\n  int i, regnr;\n  u_char *s = fldenv(current_i387_yuan_   addr_modes, data_address);\n  int offset = (top & 7) * sizeof(FPU_REG), other = 8*sizeof(FPU_REG) - offset;\n\n  /* Copy all registers in stack order. */\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_READ,s,80);\n#ifndef USE_WITH_CPU_SIM\n  __copy_from_user(register_base+offset, s, other);\n  if ( offset )\n    __copy_from_user(register_base, s+other, offset);\n#else\n  {\n  FPU_REG *fpu_reg_p;\n\n  fpu_reg_p = (FPU_REG *) (register_base+offset);\n  while (other>0) {\n    FPU_get_user(fpu_reg_p->sigl, (u32*)(s+0));\n    FPU_get_user(fpu_reg_p->sigh, (u32*)(s+4));\n    FPU_get_user(fpu_reg_p->exp,  (u16*)(s+8));\n    fpu_reg_p++;\n    s += 10;\n    other -= sizeof(FPU_REG);\n    }\n  fpu_reg_p = (FPU_REG *) register_base;\n  while (offset>0) {\n    FPU_get_user(fpu_reg_p->sigl, (u32*)(s+0));\n    FPU_get_user(fpu_reg_p->sigh, (u32*)(s+4));\n    FPU_get_user(fpu_reg_p->exp,  (u16*)(s+8));\n    fpu_reg_p++;\n    s += 10;\n    offset -= sizeof(FPU_REG);\n    }\n  }\n#endif\n  RE_ENTRANT_CHECK_ON;\n\n  for ( i = 0; i < 8; i++ )\n    {\n      regnr = (i+top) & 7;\n      if ( FPU_gettag(current_i387_yuan_   regnr) != TAG_Empty )\n\t/* The loaded data over-rides all other cases. */\n\tFPU_settag(current_i387_yuan_   regnr, FPU_tagof(current_i387_yuan_   &st(i)));\n    }\n\n}\n\n\nu_char *fstenv(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *d)\n{\n  if ( (addr_modes.default_mode == VM86) ||\n      ((addr_modes.default_mode == PM16)\n      ^ (addr_modes.override.operand_size == OP_SIZE_PREFIX)) )\n    {\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE,d,14);\n#ifdef PECULIAR_486\n      FPU_put_user(control_word & ~0xe080, (u32 *) d);\n#else\n      FPU_put_user(control_word, (u16 *) d);\n#endif /* PECULIAR_486 */\n      FPU_put_user(status_word(), (u16 *) (d+2));\n      FPU_put_user(fpu_tag_word, (u16 *) (d+4));\n      FPU_put_user(instruction_address.offset, (u16 *) (d+6));\n      FPU_put_user(operand_address.offset, (u16 *) (d+0x0a));\n      if ( addr_modes.default_mode == VM86 )\n\t{\n\t  FPU_put_user((instruction_address.offset & 0xf0000) >> 4,\n\t\t      (u16 *) (d+8));\n\t  FPU_put_user((operand_address.offset & 0xf0000) >> 4,\n\t\t      (u16 *) (d+0x0c));\n\t}\n      else\n\t{\n\t  FPU_put_user(instruction_address.selector, (u16 *) (d+8));\n\t  FPU_put_user(operand_address.selector, (u16 *) (d+0x0c));\n\t}\n      RE_ENTRANT_CHECK_ON;\n      d += 0x0e;\n    }\n  else\n    {\n      RE_ENTRANT_CHECK_OFF;\n      FPU_verify_area(VERIFY_WRITE, d, 7*4);\n#ifdef PECULIAR_486\n      control_word &= ~0xe080;\n      /* An 80486 sets nearly all of the reserved bits to 1. */\n      control_word |= 0xffff0040;\n      partial_status = status_word() | 0xffff0000;\n      fpu_tag_word |= 0xffff0000;\n      I387.soft.fcs &= ~0xf8000000;\n      I387.soft.fos |= 0xffff0000;\n#endif /* PECULIAR_486 */\n#ifndef USE_WITH_CPU_SIM\n      __copy_to_user(d, &control_word, 7*4);\n#else\n      FPU_put_user((u32) I387.soft.cwd, (u32*)(((u8 *)d)+0));\n      FPU_put_user((u32) I387.soft.swd, (u32*)(((u8 *)d)+4));\n      FPU_put_user((u32) I387.soft.twd, (u32*)(((u8 *)d)+8));\n      FPU_put_user((u32) I387.soft.fip, (u32*)(((u8 *)d)+12));\n      FPU_put_user((u32) I387.soft.fcs, (u32*)(((u8 *)d)+16));\n      FPU_put_user((u32) I387.soft.foo, (u32*)(((u8 *)d)+20));\n      FPU_put_user((u32) I387.soft.fos, (u32*)(((u8 *)d)+24));\n#endif\n      RE_ENTRANT_CHECK_ON;\n      d += 0x1c;\n    }\n  \n  control_word |= CW_Exceptions;\n  partial_status &= ~(SW_Summary | SW_Backward);\n\n  return d;\n}\n\n\nvoid fsave(current_i387_definefunyuan_   fpu_addr_modes addr_modes, u_char *data_address)\n{\n  u_char *d;\n  int offset = (top & 7) * sizeof(FPU_REG), other = 8*sizeof(FPU_REG) - offset;\n\n  d = fstenv(current_i387_yuan_   addr_modes, data_address);\n\n  RE_ENTRANT_CHECK_OFF;\n  FPU_verify_area(VERIFY_WRITE,d,80);\n\n  /* Copy all registers in stack order. */\n#ifndef USE_WITH_CPU_SIM\n  __copy_to_user(d, register_base+offset, other);\n  if ( offset )\n    __copy_to_user(d+other, register_base, offset);\n#else\n  {\n  FPU_REG *fpu_reg_p;\n\n  fpu_reg_p = (FPU_REG *) (register_base+offset);\n  while (other>0) {\n    FPU_put_user(fpu_reg_p->sigl, (u32*)(d+0));\n    FPU_put_user(fpu_reg_p->sigh, (u32*)(d+4));\n    FPU_put_user(fpu_reg_p->exp,  (u16*)(d+8));\n    fpu_reg_p++;\n    d += 10;\n    other -= sizeof(FPU_REG);\n    }\n  fpu_reg_p = (FPU_REG *) register_base;\n  while (offset>0) {\n    FPU_put_user(fpu_reg_p->sigl, (u32*)(d+0));\n    FPU_put_user(fpu_reg_p->sigh, (u32*)(d+4));\n    FPU_put_user(fpu_reg_p->exp,  (u16*)(d+8));\n    fpu_reg_p++;\n    d += 10;\n    offset -= sizeof(FPU_REG);\n    }\n  }\n#endif\n  RE_ENTRANT_CHECK_ON;\n\n  finit(current_i387_yuan_clono  );\n}\n\n/*===========================================================================*/\n"
  },
  {
    "path": "Project/fpu/Source/reg_mul.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_mul.c                                                                |\n |  $Id: reg_mul.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Multiply one FPU_REG by another, put the result in a destination FPU_REG. |\n |                                                                           |\n | Copyright (C) 1992,1993,1997                                              |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@suburbia.net                              |\n |                                                                           |\n | Returns the tag of the result if no exceptions or errors occurred.        |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n | The destination may be any FPU_REG, including one of the source FPU_REGs. |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"exception.h\"\n#include \"reg_constant.h\"\n#include \"fpu_system.h\"\n\n\n/*\n  Multiply two registers to give a register result.\n  The sources are st(deststnr) and (b,tagb,signb).\n  The destination is st(deststnr).\n  */\n/* This routine must be called with non-empty source registers */\nint FPU_mul(current_i387_definefunyuan_   FPU_REG const *b, u_char tagb, int deststnr, int control_w)\n{\n  FPU_REG *a = &st(deststnr);\n  FPU_REG *dest = a;\n  u_char taga = FPU_gettagi(current_i387_yuan_   deststnr);\n  u_char saved_sign = getsign(dest);\n  u_char sign = (getsign(a) ^ getsign(b));\n  int tag;\n\n\n  if ( !(taga | tagb) )\n    {\n      /* Both regs Valid, this should be the most common case. */\n\n      tag = FPU_u_mul(current_i387_yuan_   a, b, dest, control_w, sign, exponent(a) + exponent(b));\n      if ( tag < 0 )\n\t{\n\t  setsign(dest, saved_sign);\n\t  return tag;\n\t}\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n\n  if ( taga == TAG_Special )\n    taga = FPU_Special(current_i387_yuan_   a);\n  if ( tagb == TAG_Special )\n    tagb = FPU_Special(current_i387_yuan_   b);\n\n  if ( ((taga == TAG_Valid) && (tagb == TW_Denormal))\n\t    || ((taga == TW_Denormal) && (tagb == TAG_Valid))\n\t    || ((taga == TW_Denormal) && (tagb == TW_Denormal)) )\n    {\n      FPU_REG x, y;\n      if ( denormal_operand(current_i387_yuan_le   ) < 0 )\n\treturn FPU_Exception;\n\n      FPU_to_exp16(current_i387_yuan_   a, &x);\n      FPU_to_exp16(current_i387_yuan_   b, &y);\n      tag = FPU_u_mul(current_i387_yuan_   &x, &y, dest, control_w, sign,\n\t\t      exponent16(&x) + exponent16(&y));\n      if ( tag < 0 )\n\t{\n\t  setsign(dest, saved_sign);\n\t  return tag;\n\t}\n      FPU_settagi(current_i387_yuan_   deststnr, tag);\n      return tag;\n    }\n  else if ( (taga <= TW_Denormal) && (tagb <= TW_Denormal) )\n    {\n      if ( ((tagb == TW_Denormal) || (taga == TW_Denormal))\n\t   && (denormal_operand(current_i387_yuan_le   ) < 0) )\n\treturn FPU_Exception;\n\n      /* Must have either both arguments == zero, or\n\t one valid and the other zero.\n\t The result is therefore zero. */\n      FPU_copy_to_regi(current_i387_yuan_   &CONST_Z, TAG_Zero, deststnr);\n      /* The 80486 book says that the answer is +0, but a real\n\t 80486 behaves this way.\n\t IEEE-754 apparently says it should be this way. */\n      setsign(dest, sign);\n      return TAG_Zero;\n    }\n      /* Must have infinities, NaNs, etc */\n  else if ( (taga == TW_NaN) || (tagb == TW_NaN) )\n    {\n      return real_2op_NaN(current_i387_yuan_   b, tagb, deststnr, &st(0));\n    }\n  else if ( ((taga == TW_Infinity) && (tagb == TAG_Zero))\n\t    || ((tagb == TW_Infinity) && (taga == TAG_Zero)) )\n    {\n      return arith_invalid(current_i387_yuan_   deststnr);  /* Zero*Infinity is invalid */\n    }\n  else if ( ((taga == TW_Denormal) || (tagb == TW_Denormal))\n\t    && (denormal_operand(current_i387_yuan_le   ) < 0) )\n    {\n      return FPU_Exception;\n    }\n  else if (taga == TW_Infinity)\n    {\n      FPU_copy_to_regi(current_i387_yuan_   a, TAG_Special, deststnr);\n      setsign(dest, sign);\n      return TAG_Special;\n    }\n  else if (tagb == TW_Infinity)\n    {\n      FPU_copy_to_regi(current_i387_yuan_   b, TAG_Special, deststnr);\n      setsign(dest, sign);\n      return TAG_Special;\n    }\n\n#ifdef PARANOID\n  else\n    {\n      EXCEPTION(EX_INTERNAL|0x102);\n      return FPU_Exception;\n    }\n#endif /* PARANOID */\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_norm.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_norm.c                                                               |\n |  $Id: reg_norm.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1995,1997,1999                               |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n | Normalize the value in a FPU_REG.                                         |\n |                                                                           |\n |                                                                           |\n |    Return value is the tag of the answer.                                 |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n\n\n\nint FPU_normalize_nuo(current_i387_definefunyuan_   FPU_REG *x, int bias)\n{\n\n  if ( ! (x->sigh & 0x80000000) )\n    {\n      if ( x->sigh == 0 )\n\t{\n\t  if ( x->sigl == 0 )\n\t    {\n\t      x->exp = EXP_UNDER;\n\t      return TAG_Zero;\n\t    }\n\t  x->sigh = x->sigl;\n\t  x->sigl = 0;\n\t  x->exp -= 32;\n\t}\n      while ( !(x->sigh & 0x80000000) )\n\t{\n\t  x->sigh <<= 1;\n\t  if ( x->sigl & 0x80000000 )\n\t    x->sigh |= 1;\n\t  x->sigl <<= 1;\n\t  x->exp --;\n\t}\n    }\n\n  x->exp += bias;\n\n  return TAG_Valid;\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_round.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_round.c                                                              |\n |  $Id: reg_round.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Rounding/truncation/etc for FPU basic arithmetic functions.               |\n |                                                                           |\n | Copyright (C) 1993,1995,1997,1999                                         |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n | This code has four possible entry points.                                 |\n | The following must be entered by a jmp instruction:                       |\n |   fpu_reg_round, fpu_reg_round_sqrt, and fpu_Arith_exit.                  |\n |                                                                           |\n | The FPU_round entry point is intended to be used by C code.               |\n |                                                                           |\n |    Return value is the tag of the answer, or-ed with FPU_Exception if     |\n |    one was raised, or -1 on internal error.                               |\n |                                                                           |\n | For correct \"up\" and \"down\" rounding, the argument must have the correct  |\n | sign.                                                                     |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |                                                                           |\n | The significand and its extension are assumed to be exact in the          |\n | following sense:                                                          |\n |   If the significand by itself is the exact result then the significand   |\n |   extension (%edx) must contain 0, otherwise the significand extension    |\n |   must be non-zero.                                                       |\n |   If the significand extension is non-zero then the significand is        |\n |   smaller than the magnitude of the correct exact result by an amount     |\n |   greater than zero and less than one ls bit of the significand.          |\n |   The significand extension is only required to have three possible       |\n |   non-zero values:                                                        |\n |       less than 0x80000000  <=> the significand is less than 1/2 an ls    |\n |                                 bit smaller than the magnitude of the     |\n |                                 true exact result.                        |\n |         exactly 0x80000000  <=> the significand is exactly 1/2 an ls bit  |\n |                                 smaller than the magnitude of the true    |\n |                                 exact result.                             |\n |    greater than 0x80000000  <=> the significand is more than 1/2 an ls    |\n |                                 bit smaller than the magnitude of the     |\n |                                 true exact result.                        |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |  The code in this module has become quite complex, but it should handle   |\n |  all of the FPU flags which are set at this stage of the basic arithmetic |\n |  computations.                                                            |\n |  There are a few rare cases where the results are not set identically to  |\n |  a real FPU. These require a bit more thought because at this stage the   |\n |  results of the code here appear to be more consistent...                 |\n |  This may be changed in a future version.                                 |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"exception.h\"\n#include \"control_w.h\"\n\n/* Flags for FPU_bits_lost */\n#define\tLOST_DOWN\t1\n#define\tLOST_UP\t\t2\n\n/* Flags for FPU_denormal */\n#define\tDENORMAL\t1\n#define\tUNMASKED_UNDERFLOW 2\n\n\nint round_up_64(FPU_REG *x, u32 extent)\n{\n  x->sigl ++;\n  if ( x->sigl == 0 )\n    {\n      x->sigh ++;\n      if ( x->sigh == 0 )\n\t{\n\t  x->sigh = 0x80000000;\n\t  x->exp ++;\n\t}\n    }\n  return LOST_UP;\n}\n\n\nint truncate_64(FPU_REG *x, u32 extent)\n{\n  return LOST_DOWN;\n}\n\n\nint round_up_53(FPU_REG *x, u32 extent)\n{\n  x->sigl &= 0xfffff800;\n  x->sigl += 0x800;\n  if ( x->sigl == 0 )\n    {\n      x->sigh ++;\n      if ( x->sigh == 0 )\n\t{\n\t  x->sigh = 0x80000000;\n\t  x->exp ++;\n\t}\n    }\n  return LOST_UP;\n}\n\n\nint truncate_53(FPU_REG *x, u32 extent)\n{\n  x->sigl &= 0xfffff800;\n  return LOST_DOWN;\n}\n\n\nint round_up_24(FPU_REG *x, u32 extent)\n{\n  x->sigl = 0;\n  x->sigh &= 0xffffff00;\n  x->sigh += 0x100;\n  if ( x->sigh == 0 )\n    {\n      x->sigh = 0x80000000;\n      x->exp ++;\n    }\n  return LOST_UP;\n}\n\n\nint truncate_24(FPU_REG *x, u32 extent)\n{\n  x->sigl = 0;\n  x->sigh &= 0xffffff00;\n  return LOST_DOWN;\n}\n\n\nint FPU_round(current_i387_definefunyuan_   FPU_REG *x, u32 extent, int dummy, u16 control_w, u8 sign)\n{\n  u64 work;\n  u32 leading;\n  s16 expon = x->exp;\n  int FPU_bits_lost = 0, FPU_denormal, shift, tag;\n\n  if ( expon <= EXP_UNDER )\n    {\n      /* A denormal or zero */\n      if ( control_w & CW_Underflow )\n\t{\n\t  /* Underflow is masked. */\n\t  FPU_denormal = DENORMAL;\n\t  shift = EXP_UNDER+1 - expon;\n\t  if ( shift >= 64 )\n\t    {\n\t      if ( shift == 64 )\n\t\t{\n\t\t  x->exp += 64;\n\t\t  if ( extent | x->sigl )\n\t\t    extent = x->sigh | 1;\n\t\t  else\n\t\t    extent = x->sigh;\n\t\t}\n\t      else\n\t\t{\n\t\t  x->exp = EXP_UNDER+1;\n\t\t  extent = 1;\n\t\t}\n\t      significand(x) = 0;\n\t    }\n\t  else\n\t    {\n\t      x->exp += shift;\n\t      if ( shift >= 32 )\n\t\t{\n\t\t  shift -= 32;\n\t\t  if ( shift )\n\t\t    {\n\t\t      extent |= x->sigl;\n\t\t      work = significand(x) >> shift;\n\t\t      if ( extent )\n\t\t\textent =(u32) (work | 1);\n\t\t      else\n\t\t\textent = (u32)work;\n\t\t      x->sigl = x->sigh >>= shift;\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      if ( extent )\n\t\t\textent = x->sigl | 1;\n\t\t      else\n\t\t\textent = x->sigl;\n\t\t      x->sigl = x->sigh;\n\t\t    }\n\t\t  x->sigh = 0;\n\t\t}\n\t      else\n\t\t{\n\t\t  /* Shift by 1 to 32 places. */\n\t\t  work = x->sigl;\n\t\t  work <<= 32;\n\t\t  work |= extent;\n\t\t  work >>= shift;\n\t\t  if ( extent )\n\t\t    extent = 1;\n\t\t  extent |= work;\n\t\t  significand(x) >>= shift;\n\t\t}\n\t    }\n\t}\n      else\n\t{\n\t  /* Unmasked underflow. */\n\t  FPU_denormal = UNMASKED_UNDERFLOW;\n\t}\n    }\n  else\n    FPU_denormal = 0;\n\n  switch ( control_w & CW_PC )\n    {\n    case 01:\n#ifndef PECULIAR_486\n      /* With the precision control bits set to 01 \"(reserved)\", a real 80486\n\t behaves as if the precision control bits were set to 11 \"64 bits\" */\n#ifdef PARANOID\n\tEXCEPTION(EX_INTERNAL|0x236);\n\treturn -1;\n#endif\n#endif\n\t/* Fall through to the 64 bit case. */\n    case PR_64_BITS:\n      if ( extent )\n\t{\n\t  switch ( control_w & CW_RC )\n\t    {\n\t    case RC_RND:\t\t/* Nearest or even */\n\t      /* See if there is exactly half a ulp. */\n\t      if ( extent == 0x80000000 )\n\t\t{\n\t\t  /* Round to even. */\n\t\t  if ( x->sigl & 0x1 )\n\t\t    /* Odd */\n\t\t    FPU_bits_lost = round_up_64(x, extent);\n\t\t  else\n\t\t    /* Even */\n\t\t    FPU_bits_lost = truncate_64(x, extent);\n\t\t}\n\t      else if ( extent > 0x80000000 )\n\t\t{\n\t\t  /* Greater than half */\n\t\t  FPU_bits_lost = round_up_64(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  /* Less than half */\n\t\t  FPU_bits_lost = truncate_64(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_CHOP:\t\t/* Truncate */\n\t      FPU_bits_lost = truncate_64(x, extent);\n\t      break;\n\t      \n\t    case RC_UP:\t\t/* Towards +infinity */\n\t      if ( sign == SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_64(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_64(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_DOWN:\t\t/* Towards -infinity */\n\t      if ( sign != SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_64(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_64(x, extent);\n\t\t}\n\t      break;\n\n\t    default:\n\t      EXCEPTION(EX_INTERNAL|0x231);\n\t      return -1;\n\t    }\n\t}\n      break;\n\n    case PR_53_BITS:\n      leading = x->sigl & 0x7ff;\n      if ( extent || leading )\n\t{\n\t  switch ( control_w & CW_RC )\n\t    {\n\t    case RC_RND:\t\t/* Nearest or even */\n\t      /* See if there is exactly half a ulp. */\n\t      if ( leading == 0x400 )\n\t\t{\n\t\t  if ( extent == 0 )\n\t\t    {\n\t\t      /* Round to even. */\n\t\t      if ( x->sigl & 0x800 )\n\t\t\t/* Odd */\n\t\t\tFPU_bits_lost = round_up_53(x, extent);\n\t\t      else\n\t\t\t/* Even */\n\t\t\tFPU_bits_lost = truncate_53(x, extent);\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      /* Greater than half */\n\t\t      FPU_bits_lost = round_up_53(x, extent);\n\t\t    }\n\t\t}\n\t      else if ( leading > 0x400 )\n\t\t{\n\t\t  /* Greater than half */\n\t\t  FPU_bits_lost = round_up_53(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  /* Less than half */\n\t\t  FPU_bits_lost = truncate_53(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_CHOP:\t\t/* Truncate */\n\t      FPU_bits_lost = truncate_53(x, extent);\n\t      break;\n\n\t    case RC_UP:\t\t/* Towards +infinity */\n\t      if ( sign == SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_53(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_53(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_DOWN:\t\t/* Towards -infinity */\n\t      if ( sign != SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_53(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_53(x, extent);\n\t\t}\n\t      break;\n\n\t    default:\n\t      EXCEPTION(EX_INTERNAL|0x231);\n\t      return -1;\n\t    }\n\t}\n      break;\n\n    case PR_24_BITS:\n      leading = x->sigh & 0xff;\n      if ( leading || x->sigl || extent )\n\t{\n\t  switch ( control_w & CW_RC )\n\t    {\n\t    case RC_RND:\t\t/* Nearest or even */\n\t      /* See if there is exactly half a ulp. */\n\t      if ( leading == 0x80 )\n\t\t{\n\t\t  if ( (x->sigl == 0) && (extent == 0) )\n\t\t    {\n\t\t      /* Round to even. */\n\t\t      if ( x->sigh & 0x100 )\n\t\t\t/* Odd */\n\t\t\tFPU_bits_lost = round_up_24(x, extent);\n\t\t      else\n\t\t\t/* Even */\n\t\t\tFPU_bits_lost = truncate_24(x, extent);\n\t\t    }\n\t\t  else\n\t\t    {\n\t\t      /* Greater than half */\n\t\t      FPU_bits_lost = round_up_24(x, extent);\n\t\t    }\n\t\t}\n\t      else if ( leading > 0x80 )\n\t\t{\n\t\t  /* Greater than half */\n\t\t  FPU_bits_lost = round_up_24(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  /* Less than half */\n\t\t  FPU_bits_lost = truncate_24(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_CHOP:\t\t/* Truncate */\n\t      FPU_bits_lost = truncate_24(x, extent);\n\t      break;\n\n\t    case RC_UP:\t\t/* Towards +infinity */\n\t      if ( sign == SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_24(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_24(x, extent);\n\t\t}\n\t      break;\n\n\t    case RC_DOWN:\t\t/* Towards -infinity */\n\t      if ( sign != SIGN_POS)\n\t\t{\n\t\t  FPU_bits_lost = round_up_24(x, extent);\n\t\t}\n\t      else\n\t\t{\n\t\t  FPU_bits_lost = truncate_24(x, extent);\n\t\t}\n\t      break;\n\n\t    default:\n\t      EXCEPTION(EX_INTERNAL|0x231);\n\t      return -1;\n\t    }\n\t}\n      break;\n\n    default:\n#ifdef PARANOID\n\tEXCEPTION(EX_INTERNAL|0x230);\n\treturn -1;\n#endif\n      break;\n    }\n\n  tag = TAG_Valid;\n\n  if ( FPU_denormal )\n    {\n      /* Undo the de-normalisation. */\n      if ( FPU_denormal == UNMASKED_UNDERFLOW )\n\t{\n\t  if ( x->exp <= EXP_UNDER )\n\t    {\n\t      /* Increase the exponent by the magic number */\n\t      x->exp += 3 * (1 << 13);\n\t      EXCEPTION(EX_Underflow);\n\t    }\n\t}\n      else\n\t{\n\t  if ( x->exp != EXP_UNDER+1 )\n\t    {\n\t      EXCEPTION(EX_INTERNAL|0x234);\n\t    }\n\t  if ( (x->sigh == 0) && (x->sigl == 0) )\n\t    {\n\t      /* Underflow to zero */\n\t      set_precision_flag_down(current_i387_yuan_clono  );\n\t      EXCEPTION(EX_Underflow);\n\t      x->exp = EXP_UNDER;\n\t      tag = TAG_Zero;\n\t      FPU_bits_lost = 0;  /* Stop another call to\n\t\t\t\t     set_precision_flag_down(current_i387_definefunyuan_void   ) */\n\t    }\n\t  else\n\t    {\n\t      if ( x->sigh & 0x80000000 )\n\t\t{\n#ifdef PECULIAR_486\n\t/*\n\t * This implements a special feature of 80486 behaviour.\n\t * Underflow will be signalled even if the number is\n\t * not a denormal after rounding.\n\t * This difference occurs only for masked underflow, and not\n\t * in the unmasked case.\n\t * Actual 80486 behaviour differs from this in some circumstances.\n\t */\n\t      /* Will be masked underflow */\n#else\n\t      /* No longer a denormal */\n#endif\n\t\t}\n\t      else\n#ifndef PECULIAR_486\n\t\t{\n#endif\n\t\tx->exp --;\n\n\t      if ( FPU_bits_lost )\n\t\t{\n\t\t  /* There must be a masked underflow */\n\t\t  EXCEPTION(EX_Underflow);\n\t\t}\n\n\t      tag = TAG_Special;\n#ifndef PECULIAR_486\n\t\t}\n#endif\n\t    }\n\t}\n    }\n\n\n  if ( FPU_bits_lost == LOST_UP )\n    set_precision_flag_up(current_i387_yuan_clono  );\n  else   if ( FPU_bits_lost == LOST_DOWN )\n    set_precision_flag_down(current_i387_yuan_clono  );\n\n  if ( x->exp >= EXP_OVER )\n    {\n      x->exp += EXTENDED_Ebias;\n      tag = arith_round_overflow(current_i387_yuan_   x, sign);\n    }\n  else\n    {\n      x->exp += EXTENDED_Ebias;\n      x->exp &= 0x7fff;\n    }\n\n  if ( sign != SIGN_POS )\n    x->exp |= 0x8000;\n\n  return tag;\n\n}\n\n\n\n"
  },
  {
    "path": "Project/fpu/Source/reg_u_add.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_u_add.c                                                              |\n |  $Id: reg_u_add.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Add two valid (TAG_Valid) FPU_REG numbers, of the same sign, and put the  |\n |   result in a destination FPU_REG.                                        |\n |                                                                           |\n | Copyright (C) 1992,1993,1995,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |    Return value is the tag of the answer, or-ed with FPU_Exception if     |\n |    one was raised, or -1 on internal error.                               |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*\n |    Kernel addition routine FPU_u_add(current_i387_yuan_   reg *arg1, reg *arg2, reg *answ).\n |    Takes two valid reg f.p. numbers (TAG_Valid), which are\n |    treated as unsigned numbers,\n |    and returns their sum as a TAG_Valid or TAG_Special f.p. number.\n |    The returned number is normalized.\n |    Basic checks are performed if PARANOID is defined.\n */\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n\n\nint  FPU_u_add(current_i387_definefunyuan_   const FPU_REG *arg1, const FPU_REG *arg2, FPU_REG *answ,\n\t       u16 control_w, u_char sign, s32 expa, s32 expb)\n{\n  const FPU_REG *rtmp;\n  FPU_REG shifted;\n  u32 extent = 0;\n  int ediff = expa - expb, ed2, eflag, ovfl, carry;\n\n  if ( ediff < 0 )\n    {\n      ediff = -ediff;\n      rtmp = arg1;\n      arg1 = arg2;\n      arg2 = rtmp;\n      expa = expb;\n    }\n\n  /* Now we have exponent of arg1 >= exponent of arg2 */\n  \n  answ->exp = expa;\n\n#ifdef PARANOID\n  if ( !(arg1->sigh & 0x80000000) || !(arg2->sigh & 0x80000000) )\n    {\n      EXCEPTION(EX_INTERNAL|0x201);\n      return -1;\n    }\n#endif\n\n  if ( ediff == 0 )\n    {\n      extent = 0;\n      shifted.sigl = arg2->sigl;\n      shifted.sigh = arg2->sigh;\n    }\n  else if ( ediff < 32 )\n    {\n      ed2 = 32 - ediff;\n      extent = arg2->sigl << ed2;\n      shifted.sigl = arg2->sigl >> ediff;\n      shifted.sigl |= (arg2->sigh << ed2);\n      shifted.sigh = arg2->sigh >> ediff;\n    }\n  else if ( ediff < 64 )\n    {\n      ediff -= 32;\n      if ( ! ediff )\n\t{\n\t  eflag = 0;\n\t  extent = arg2->sigl;\n\t  shifted.sigl = arg2->sigh;\n\t}\n      else\n\t{\n\t  ed2 = 32 - ediff;\n\t  eflag = arg2->sigl;\n\t  if ( eflag )\n\t    extent |= 1;\n\t  extent = arg2->sigl >> ediff;\n\t  extent |= (arg2->sigh << ed2);\n\t  shifted.sigl = arg2->sigh >> ediff;\n\t}\n      shifted.sigh = 0;\n    }\n  else\n    {\n      ediff -= 64;\n      if ( ! ediff )\n\t{\n\t  eflag = arg2->sigl;\n\t  extent = arg2->sigh;\n\t}\n      else\n\t{\n\t  ed2 = 64 - ediff;\n\t  eflag = arg2->sigl | arg2->sigh;\n\t  extent = arg2->sigh >> ediff;\n\t}\n      shifted.sigl = 0;\n      shifted.sigh = 0;\n      if ( eflag )\n\textent |= 1;\n    }\n\n  answ->sigh = arg1->sigh + shifted.sigh;\n  ovfl = shifted.sigh > answ->sigh;\n  answ->sigl = arg1->sigl + shifted.sigl;\n  if ( shifted.sigl > answ->sigl )\n    {\n      answ->sigh ++;\n      if ( answ->sigh == 0 )\n\tovfl = 1;\n    }\n  if ( ovfl )\n    {\n      carry = extent & 1;\n      extent >>= 1;\n      extent |= carry;\n      if ( answ->sigl & 1 )\n\textent |= 0x80000000;\n      answ->sigl >>= 1;\n      if ( answ->sigh & 1 )\n\tansw->sigl |= 0x80000000;\n      answ->sigh >>= 1;\n      answ->sigh |= 0x80000000;\n      answ->exp ++;\n    }\n\n  return FPU_round(current_i387_yuan_   answ, extent, 0, control_w, sign);\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_u_div.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_u_div.c                                                              |\n |  $Id: reg_u_div.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Divide one FPU_REG by another and put the result in a destination FPU_REG.|\n |                                                                           |\n | Copyright (C) 1992,1993,1995,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |                                                                           |\n |  Does not compute the destination exponent, but does adjust it.           |\n |                                                                           |\n |    Return value is the tag of the answer, or-ed with FPU_Exception if     |\n |    one was raised, or -1 on internal error.                               |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n#include <asm/types.h>\n\n\nint FPU_u_div(current_i387_definefunyuan_   const FPU_REG *a, const FPU_REG *b, FPU_REG *dest,\n\t      u16 control_w, u8 sign)\n{\n  s32 exp;\n  u32 divr32, rem, rat1, rat2, work32, accum3, prodh;\n  u64 work64, divr64, prod64, accum64;\n  u8 ovfl;\n\n  exp = (s32)a->exp - (s32)b->exp;\n\n  if ( exp < EXP_WAY_UNDER )\n    exp = EXP_WAY_UNDER;\n\n  dest->exp = exp;\n#ifdef PARANOID\n  if ( !(b->sigh & 0x80000000) )\n    {\n      EXCEPTION(EX_INTERNAL|0x202);\n    }\n#endif\n\n  work64 = significand(a);\n\n  /* We can save a lot of time if the divisor has all its lowest\n     32 bits equal to zero. */\n  if ( b->sigl == 0 )\n    {\n      divr32 = b->sigh;\n      ovfl = a->sigh >= divr32;\n      rat1 = (u32)(work64 / divr32);\n      rem = (u32)(work64 % divr32);\n      work64 = rem;\n      work64 <<= 32;\n      rat2 = (u32)(work64 / divr32);\n      rem = (u32)(work64 % divr32);\n\n      work64 = rem;\n      work64 <<= 32;\n      rem = (u32)(work64 / divr32);\n\n      if ( ovfl )\n\t{\n\t  rem >>= 1;\n\t  if ( rat2 & 1 )\n\t    rem |= 0x80000000;\n\t  rat2 >>= 1;\n\t  if ( rat1 & 1 )\n\t    rat2 |= 0x80000000;\n\t  rat1 >>= 1;\n\t  rat1 |= 0x80000000;\n\t  dest->exp ++;\n\t}\n      dest->sigh = rat1;\n      dest->sigl = rat2;\n\n      dest->exp --;\n      return FPU_round(current_i387_yuan_   dest, rem, 0, control_w, sign);\n    }\n\n  /* This may take a little time... */\n\n  accum64 = work64;\n  divr64 = significand(b);\n\n  if ( (ovfl = accum64 >= divr64) )\n    accum64 -= divr64;\n  divr32 = b->sigh+1;\n\n  if ( divr32 != 0 )\n    {\n      rat1 = (u32)(accum64 / divr32);\n    }\n  else\n    rat1 = (u32)(accum64 >> 32);\n  prod64 = rat1 * (u64)b->sigh;\n\n  accum64 -= prod64;\n  prod64 = rat1 * (u64)b->sigl;\n  accum3 = (u32)(prod64);\n  if ( accum3 )\n    {\n      accum3 = (0-accum3);\n      accum64 --;\n    }\n  prodh = (u32)(prod64 >> 32);\n  accum64 -= prodh;\n\n  work32 = (u32)(accum64 >> 32);\n  if ( work32 )\n    {\n#ifdef PARANOID\n      if ( work32 != 1 )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x203);\n\t}\n#endif\n\n      /* Need to subtract the divisor once more. */\n      work32 = accum3;\n      accum3 = work32 - b->sigl;\n      if ( accum3 > work32 )\n\taccum64 --;\n      rat1 ++;\n      accum64 -= b->sigh;\n\n#ifdef PARANOID\n      if ( (accum64 >> 32) )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x203);\n\t}\n#endif\n    }\n\n  /* Now we essentially repeat what we have just done, but shifted\n     32 bits. */\n\n  accum64 <<= 32;\n  accum64 |= accum3;\n  if ( accum64 >= divr64 )\n    {\n      accum64 -= divr64;\n      rat1 ++;\n    }\n  if ( divr32 != 0 )\n    {\n      rat2 = (u32)(accum64 / divr32);\n    }\n  else\n    rat2 = (u32)(accum64 >> 32);\n  prod64 = rat2 * (u64)b->sigh;\n\n  accum64 -= prod64;\n  prod64 = rat2 * (u64)b->sigl;\n  accum3 = (u32)prod64;\n  if ( accum3 )\n    {\n      accum3 = (0-accum3);\n      accum64 --;\n    }\n  prodh = (u32)(prod64 >> 32);\n  accum64 -= prodh;\n\n  work32 = (u32)(accum64 >> 32);\n  if ( work32 )\n    {\n#ifdef PARANOID\n      if ( work32 != 1 )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x203);\n\t}\n#endif\n\n      /* Need to subtract the divisor once more. */\n      work32 = accum3;\n      accum3 = work32 - b->sigl;\n      if ( accum3 > work32 )\n\taccum64 --;\n      rat2 ++;\n      if ( rat2 == 0 )\n\trat1 ++;\n      accum64 -= b->sigh;\n\n#ifdef PARANOID\n      if ( (accum64 >> 32) )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x203);\n\t}\n#endif\n    }\n\n  /* Tidy up the remainder */\n\n  accum64 <<= 32;\n  accum64 |= accum3;\n  if ( accum64 >= divr64 )\n    {\n      accum64 -= divr64;\n      rat2 ++;\n      if ( rat2 == 0 )\n\t{\n\t  rat1 ++;\n#ifdef PARANOID\n\t  /* No overflow should be possible here */\n\t  if ( rat1 == 0 )\n\t    {\n\t      EXCEPTION(EX_INTERNAL|0x203);\n\t    }\n\t}\n#endif\n    }\n\n  /* The basic division is done, now we must be careful with the\n     remainder. */\n\n  if ( ovfl )\n    {\n      if ( rat2 & 1 )\n\trem = 0x80000000;\n      else\n\trem = 0;\n      rat2 >>= 1;\n      if ( rat1 & 1 )\n\trat2 |= 0x80000000;\n      rat1 >>= 1;\n      rat1 |= 0x80000000;\n\n      if ( accum64 )\n\trem |= 0xff0000;\n\n      dest->exp ++;\n    }\n  else\n    {\n      /* Now we just need to know how large the remainder is\n\t relative to half the divisor. */\n      if ( accum64 == 0 )\n\trem = 0;\n      else\n\t{\n\t  accum3 = (u32)(accum64 >> 32);\n\t  if ( accum3 & 0x80000000 )\n\t    {\n\t      /* The remainder is definitely larger than 1/2 divisor. */\n\t      rem = 0xff000000;\n\t    }\n\t  else\n\t    {\n\t      accum64 <<= 1;\n\t      if ( accum64 >= divr64 )\n\t\t{\n\t\t  accum64 -= divr64;\n\t\t  if ( accum64 == 0 )\n\t\t    rem = 0x80000000;\n\t\t  else\n\t\t    rem = 0xff000000;\n\t\t}\n\t      else\n\t\trem = 0x7f000000;\n\t    }\n\t}\n    }\n\n  dest->sigh = rat1;\n  dest->sigl = rat2;\n\n  dest->exp --;\n  return FPU_round(current_i387_yuan_   dest, rem, 0, control_w, sign);\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/reg_u_mul.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_u_mul.c                                                              |\n |  $Id: reg_u_mul.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Core multiplication routine                                               |\n |                                                                           |\n | Copyright (C) 1992,1993,1995,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |   Basic multiplication routine.                                           |\n |   Does not check the resulting exponent for overflow/underflow            |\n |                                                                           |\n |   Internal working is at approx 128 bits.                                 |\n |   Result is rounded to nearest 53 or 64 bits, using \"nearest or even\".    |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n\n\nint FPU_u_mul(current_i387_definefunyuan_   const FPU_REG *a, const FPU_REG *b, FPU_REG *c, u16 cw,\n\t      u_char sign, int expon)\n{\n  u64 mu, ml, mi;\n  u32 lh, ll, th, tl;\n\n#ifdef PARANOID\n  if ( ! (a->sigh & 0x80000000) || ! (b->sigh & 0x80000000) )\n    {\n      EXCEPTION(EX_INTERNAL|0x205);\n    }\n#endif\n\n  ml = a->sigl;\n  ml *= b->sigl;\n  ll = (u32)ml;\n  lh = (u32)(ml >> 32);\n\n  mu = a->sigh;\n  mu *= b->sigh;\n\n  mi = a->sigh;\n  mi *= b->sigl;\n  tl = (u32)mi;\n  th = (u32)(mi >> 32);\n  lh += tl;\n  if ( tl > lh )\n    mu ++;\n  mu += th;\n\n  mi = a->sigl;\n  mi *= b->sigh;\n  tl = (u32)mi;\n  th = (u32)(mi >> 32);\n  lh += tl;\n  if ( tl > lh )\n    mu ++;\n  mu += th;\n\n  ml = lh;\n  ml <<= 32;\n  ml += ll;\n\n  expon -= EXP_BIAS-1;\n  if ( expon <= EXP_WAY_UNDER )\n    expon = EXP_WAY_UNDER;\n\n  c->exp = expon;\n\n  if ( ! (mu & BX_CONST64(0x8000000000000000)) )\n    {\n      mu <<= 1;\n      if ( ml & BX_CONST64(0x8000000000000000) )\n\tmu |= 1;\n      ml <<= 1;\n      c->exp --;\n    }\n\n  ll = (u32)ml;\n  lh = (u32)(ml >> 32);\n\n  if ( ll )\n    lh |= 1;\n\n  c->sigl = (u32)mu;\n  c->sigh = (u32)(mu >> 32);\n\n  return FPU_round(current_i387_yuan_   c, lh, 0, cw, sign);\n  \n}\n"
  },
  {
    "path": "Project/fpu/Source/reg_u_sub.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  reg_u_sub.c                                                              |\n |  $Id: reg_u_sub.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Core floating point subtraction routine.                                  |\n |                                                                           |\n | Copyright (C) 1992,1993,1995,1997,1999                                    |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |    Return value is the tag of the answer, or-ed with FPU_Exception if     |\n |    one was raised, or -1 on internal error.                               |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*\n |    Kernel subtraction routine FPU_u_sub(current_i387_yuan_   reg *arg1, reg *arg2, reg *answ).\n |    Takes two valid reg f.p. numbers (TAG_Valid), which are\n |    treated as unsigned numbers,\n |    and returns their difference as a TAG_Valid or TAG_Zero f.p.\n |    number.\n |    The first number (arg1) must be the larger.\n |    The returned number is normalized.\n |    Basic checks are performed if PARANOID is defined.\n */\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n#include \"control_w.h\"\n\n\nint  FPU_u_sub(current_i387_definefunyuan_   const FPU_REG *arg1, const FPU_REG *arg2, FPU_REG *dest,\n\t       u16 control_w, u_char sign, int expa, int expb)\n{\n  FPU_REG shifted, answ;\n  u32 extent;\n  int ediff = expa - expb, ed2, borrow;\n\n#ifdef PARANOID\n  if ( ediff < 0 )\n    {\n      EXCEPTION(EX_INTERNAL|0x206);\n      return -1;\n    }\n#endif\n  \n  answ.exp = expa;\n\n#ifdef PARANOID\n  if ( !(arg1->sigh & 0x80000000) || !(arg2->sigh & 0x80000000) )\n    {\n      EXCEPTION(EX_INTERNAL|0x209);\n      return -1;\n    }\n#endif\n\n  if ( ediff == 0 )\n    {\n      shifted.sigl = arg2->sigl;\n      shifted.sigh = arg2->sigh;\n      extent = 0;\n    }\n  else if ( ediff < 32 )\n    {\n      ed2 = 32 - ediff;\n      extent = arg2->sigl << ed2;\n      shifted.sigl = arg2->sigl >> ediff;\n      shifted.sigl |= (arg2->sigh << ed2);\n      shifted.sigh = arg2->sigh >> ediff;\n    }\n  else if ( ediff < 64 )\n    {\n      ediff -= 32;\n      if ( ! ediff )\n\t{\n\t  extent = arg2->sigl;\n\t  shifted.sigl = arg2->sigh;\n\t  shifted.sigh = 0;\n\t}\n      else\n\t{\n\t  ed2 = 32 - ediff;\n\t  extent = arg2->sigl >> ediff;\n\t  extent |= (arg2->sigh << ed2);\n\t  if ( arg2->sigl << ed2 )\n\t    extent |= 1;\n\t  shifted.sigl = arg2->sigh >> ediff;\n\t  shifted.sigh = 0;\n\t}\n    }\n  else\n    {\n      ediff -= 64;\n      if ( ! ediff )\n\t{\n\t  extent = arg2->sigh;\n\t  if ( arg2->sigl )\n\t    extent |= 1;\n\t  shifted.sigl = 0;\n\t  shifted.sigh = 0;\n\t}\n      else\n\t{\n\t  if ( ediff < 32 )\n\t    {\n\t      extent = arg2->sigh >> ediff;\n\t      if ( arg2->sigl || (arg2->sigh << (32-ediff)) )\n\t\textent |= 1;\n\t    }\n\t  else\n\t    extent = 1;\n\t  shifted.sigl = 0;\n\t  shifted.sigh = 0;\n\t}\n    }\n\n  extent = (0-extent);\n  borrow = extent;\n  answ.sigl = arg1->sigl - shifted.sigl;\n  if ( answ.sigl > arg1->sigl )\n    {\n      if ( borrow )\n\tansw.sigl --;\n      borrow = 1;\n    }\n  else if ( borrow )\n    {\n      answ.sigl --;\n      if ( answ.sigl != 0xffffffff )\n\tborrow = 0;\n    }\n  answ.sigh = arg1->sigh - shifted.sigh;\n  if ( answ.sigh > arg1->sigh )\n    {\n      if ( borrow )\n\tansw.sigh --;\n      borrow = 1;\n    }\n  else if ( borrow )\n    {\n      answ.sigh --;\n      if ( answ.sigh != 0xffffffff )\n\tborrow = 0;\n    }\n\n#ifdef PARANOID\n  if ( borrow )\n    {\n      /* This can only occur if the code is bugged */\n      EXCEPTION(EX_INTERNAL|0x212);\n      return -1;\n    }\n#endif\n\n  if ( answ.sigh & 0x80000000 )\n    {\n      /*\n\tThe simpler \"*dest = answ\" is broken in gcc\n      */\n      dest->exp = answ.exp;\n      dest->sigh = answ.sigh;\n      dest->sigl = answ.sigl;\n      return FPU_round(current_i387_yuan_   dest, extent, 0, control_w, sign);\n    }\n\n  if ( answ.sigh == 0 )\n    {\n      if ( answ.sigl )\n\t{\n\t  answ.sigh = answ.sigl;\n\t  answ.sigl = extent;\n\t  extent = 0;\n\t  answ.exp -= 32;\n\t}\n      else if ( extent )\n\t{\n/*\n *\t A rare case, the only one which is non-zero if we got here\n *         is:           1000000 .... 0000\n *                      -0111111 .... 1111 1\n *                       -------------------- \n *                       0000000 .... 0000 1 \n */\n\t  if ( extent != 0x80000000 )\n\t    {\n\t      /* This can only occur if the code is bugged */\n\t      EXCEPTION(EX_INTERNAL|0x210);\n\t      return -1;\n\t    }\n\t  dest->sigh = extent;\n\t  dest->sigl = extent = 0;\n\t  dest->exp -= 64;\n\t  return FPU_round(current_i387_yuan_   dest, extent, 0, control_w, sign);\n\t}\n      else\n\t{\n\t  dest->exp = 0;\n\t  dest->sigh = dest->sigl = 0;\n\t  return TAG_Zero;\n\t}\n    }\n\n  while ( !(answ.sigh & 0x80000000) )\n    {\n      answ.sigh <<= 1;\n      if ( answ.sigl & 0x80000000 )\n\tansw.sigh |= 1;\n      answ.sigl <<= 1;\n      if ( extent & 0x80000000 )\n\tansw.sigl |= 1;\n      extent <<= 1;\n      answ.exp --;\n    }\n\n  dest->exp = answ.exp;\n  dest->sigh = answ.sigh;\n  dest->sigl = answ.sigl;\n\n  return FPU_round(current_i387_yuan_   dest, extent, 0, control_w, sign);\n\n}\n"
  },
  {
    "path": "Project/fpu/Source/round_Xsig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  round_Xsig.c                                                             |\n |  $Id: round_Xsig.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1995,1999                                    |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n | Normalize and round a 12 byte quantity.                                   |\n |   int round_Xsig(Xsig *n)                                                 |\n |                                                                           |\n | Normalize a 12 byte quantity.                                             |\n |   int norm_Xsig(Xsig *n)                                                  |\n |                                                                           |\n | Each function returns the size of the shift (nr of bits).                 |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"poly.h\"\n\nint round_Xsig(Xsig *x)\n{\n  int n = 0;\n\n  if ( x->msw == 0 )\n    {\n      x->msw = x->midw;\n      x->midw = x->lsw;\n      x->lsw = 0;\n      n = 32;\n    }\n  while ( !(x->msw & 0x80000000) )\n    {\n      x->msw <<= 1;\n      if ( x->midw & 0x80000000 ) x->msw |= 1;\n      x->midw <<= 1;\n      if ( x->lsw & 0x80000000 ) x->midw |= 1;\n      x->lsw <<= 1;\n      n++;\n    }\n  if ( x->lsw & 0x80000000 )\n    {\n      x->midw ++;\n      if ( x->midw == 0 )\n\tx->msw ++;\n      if ( x->msw == 0 )\n\t{\n\t  x->msw = 0x80000000;\n\t  n--;\n\t}\n    }\n  \n\n  return -n;\n}\n\n\nint norm_Xsig(Xsig *x)\n{\n  int n = 0;\n\n  if ( x->msw == 0 )\n    {\n      if ( x->midw == 0 )\n\t{\n\t  x->msw = x->lsw;\n\t  x->midw = 0;\n\t  x->lsw = 0;\n\t  n = 64;\n\t}\n      else\n\t{\n\t  x->msw = x->midw;\n\t  x->midw = x->lsw;\n\t  x->lsw = 0;\n\t  n = 32;\n\t}\n    }\n  while ( !(x->msw & 0x80000000) )\n    {\n      x->msw <<= 1;\n      if ( x->midw & 0x80000000 ) x->msw |= 1;\n      x->midw <<= 1;\n      if ( x->lsw & 0x80000000 ) x->midw |= 1;\n      x->lsw <<= 1;\n      n++;\n    }\n\n  return -n;\n}\n\n\n\n\n\n"
  },
  {
    "path": "Project/fpu/Source/shr_Xsig.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  shr_Xsig.S                                                               |\n |  $Id: shr_Xsig.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | 12 byte right shift function                                              |\n |                                                                           |\n | Copyright (C) 1992,1994,1995                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@jacobi.maths.monash.edu.au |\n |                                                                           |\n |                                                                           |\n |   Extended shift right function.                                          |\n |   Fastest for small shifts.                                               |\n |   Shifts the 12 byte quantity pointed to by the first arg (arg)           |\n |   right by the number of bits specified by the second arg (nr).           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n#include \"poly.h\"\n\nvoid shr_Xsig(Xsig *arg, const int nr)\n{\n  int n = nr;\n\n  while ( n >= 32 )\n    {\n      arg->lsw = arg->midw;\n      arg->midw = arg->msw;\n      arg->msw = 0;\n      n -= 32;\n    }\n\n  if ( n <= 0 )\n    return;\n\n  arg->lsw = (arg->lsw >> n) | (arg->midw << (32-n));\n  arg->midw = (arg->midw >> n) | (arg->msw << (32-n));\n  arg->msw >>= n;\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/status_w.h",
    "content": "/*---------------------------------------------------------------------------+\n |  status_w.h                                                               |\n |  $Id: status_w.h,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Copyright (C) 1992,1993                                                   |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#ifndef _STATUS_H_\n#define _STATUS_H_\n\n#include \"fpu_emu.h\"    /* for definition of PECULIAR_486 */\n\n#ifdef __ASSEMBLY__\n#define\tConst__(x)\t$##x\n#else\n#define\tConst__(x)\tx\n#endif\n\n#define SW_Backward    \tConst__(0x8000)\t/* backward compatibility */\n#define SW_C3\t\tConst__(0x4000)\t/* condition bit 3 */\n#define SW_Top\t\tConst__(0x3800)\t/* top of stack */\n#define SW_Top_Shift \tConst__(11)\t/* shift for top of stack bits */\n#define SW_C2\t\tConst__(0x0400)\t/* condition bit 2 */\n#define SW_C1\t\tConst__(0x0200)\t/* condition bit 1 */\n#define SW_C0\t\tConst__(0x0100)\t/* condition bit 0 */\n#define SW_Summary     \tConst__(0x0080)\t/* exception summary */\n#define SW_Stack_Fault\tConst__(0x0040)\t/* stack fault */\n#define SW_Precision   \tConst__(0x0020)\t/* loss of precision */\n#define SW_Underflow   \tConst__(0x0010)\t/* underflow */\n#define SW_Overflow    \tConst__(0x0008)\t/* overflow */\n#define SW_Zero_Div    \tConst__(0x0004)\t/* divide by zero */\n#define SW_Denorm_Op   \tConst__(0x0002)\t/* denormalized operand */\n#define SW_Invalid     \tConst__(0x0001)\t/* invalid operation */\n\n#define SW_Exc_Mask     Const__(0x27f)  /* Status word exception bit mask */\n\n#ifndef __ASSEMBLY__\n\n#define COMP_A_gt_B\t1\n#define COMP_A_eq_B\t2\n#define COMP_A_lt_B\t3\n#define COMP_No_Comp\t4\n#define COMP_Denormal   0x20\n#define COMP_NaN\t0x40\n#define COMP_SNaN\t0x80\n\n#define status_word() ((partial_status & ~SW_Top & 0xffff) | ((top << SW_Top_Shift) & SW_Top))\n// bbd: use do {...} while (0) structure instead of using curly brackets\n// inside parens, which most compilers do not like.\n#define setcc(cc) do { partial_status &= ~(SW_C0|SW_C1|SW_C2|SW_C3); partial_status |= (cc) & (SW_C0|SW_C1|SW_C2|SW_C3); } while(0)\n\n#ifdef PECULIAR_486\n   /* Default, this conveys no information, but an 80486 does it. */\n   /* Clear the SW_C1 bit, \"other bits undefined\". */\n#  define clear_C1()  { partial_status &= ~SW_C1; }\n# else\n#  define clear_C1()\n#endif /* PECULIAR_486 */\n\n#endif /* __ASSEMBLY__ */\n\n#endif /* _STATUS_H_ */\n"
  },
  {
    "path": "Project/fpu/Source/version.h",
    "content": "/*---------------------------------------------------------------------------+\n |  version.h                                                                |\n |  $Id: version.h,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n |                                                                           |\n | Copyright (C) 1992,1993,1994,1996,1997,1999                               |\n |                  W. Metzenthen, 22 Parker St, Ormond, Vic 3163, Australia |\n |                  E-mail   billm@melbpc.org.au                             |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n#define FPU_VERSION \"wm-FPU-emu version 2.05\"\n"
  },
  {
    "path": "Project/fpu/Source/wmFPUemu_glue.cpp",
    "content": "//  Copyright (C) 2001  MandrakeSoft S.A.\n//\n//    MandrakeSoft S.A.\n//    43, rue d'Aboukir\n//    75002 Paris - France\n//    http://www.linux-mandrake.com/\n//    http://www.mandrakesoft.com/\n//\n//  This library is free software; you can redistribute it and/or\n//  modify it under the terms of the GNU Lesser General Public\n//  License as published by the Free Software Foundation; either\n//  version 2 of the License, or (at your option) any later version.\n//\n//  This library is distributed in the hope that it will be useful,\n//  but WITHOUT ANY WARRANTY; without even the implied warranty of\n//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n//  Lesser General Public License for more details.\n//\n//  You should have received a copy of the GNU Lesser General Public\n//  License along with this library; if not, write to the Free Software\n//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA\n\n\n//\n// This is the glue logic needed to connect the wm-FPU-emu\n// FPU emulator written by Bill Metzenthen to bochs.\n//\n\n#include \"../../IntelCPU/Source/x86cpu.h\"\n#include \"fpu_i387.h\"\n\n//#include <math.h>\n\n#if !BX_WITH_MACOS\nextern \"C++\" {\n#endif\n#include \"fpu_emu.h\"\n#include \"linux/signal.h\"\n\n#if !BX_WITH_MACOS\n}\n#endif\n\n#undef LOG_THIS\n#define LOG_THIS genlog->\n#if BX_USE_CPU_SMF\n//#define this (BX_CPU(0))\n#define this BX_CPU_THIS\n#endif\n\n// Use this to hold a pointer to the instruction since\n// we can't pass this to the FPU emulation routines, which\n// will ultimately call routines here.\n\n\n//static bxInstruction_c *bx_fcpu_i387->fpu_iptr_ = NULL;\n//static BX_CPU_C *bx_fcpu_i387->fpu_cpu_ptr_ = NULL;\n//static i387_t *bx_fcpu_i387->current_i387_;\n\n\n//static BX_FCPU_I387 *bx_fcpu_i387;\n//bx_fcpu_i387->current_i387_\n//bx_fcpu_i387->fpu_cpu_ptr_\n//bx_fcpu_i387->fpu_iptr_\n\n void\nmath_emulate2(current_i387_definefunyuan_   fpu_addr_modes addr_modes,\n              u_char  FPU_modrm,\n              u_char byte1,\n              void *data_address,\n              struct address data_sel_off,\n              struct address entry_sel_off);\n\n void \nprintfp(char *s, FPU_REG *r);\n\n#if BX_SUPPORT_FPU==1\n  // This is called by bochs upon reset\n  void\nBX_CPU_C::fpu_init(void)\n{\n  BX_FCPU_I387 bx_fcpu_i387_s,*bx_fcpu_i387;\n  bx_fcpu_i387 = &bx_fcpu_i387_s;\n\n  bx_fcpu_i387->current_i387_ = &(BX_CPU_THIS_PTR the_i387);\n  finit(current_i387_yuan_clono  );\n}\n\n#endif\n\n  void\nBX_CPU_C::fpu_execute(bxInstruction_c *i)\n{\n\n  fpu_addr_modes addr_modes;\n  void *data_address;\n  struct address data_sel_off;\n  struct address entry_sel_off;\n  bx_bool is_32;\n\n  BX_FCPU_I387 bx_fcpu_i387_s,*bx_fcpu_i387;\n  bx_fcpu_i387 = &bx_fcpu_i387_s;\n\n  bx_fcpu_i387->fpu_iptr_ = i;\n  bx_fcpu_i387->fpu_cpu_ptr_ = this;\n  bx_fcpu_i387->current_i387_ = &(BX_CPU_THIS_PTR the_i387);\n\n  BX_CPU_C *icpu = this;\n\n\n#if 0\n  addr_modes.default_mode = VM86;\n  addr_modes.default_mode = 0; // FPU_CS == __USER_CS && FPU_DS == __USER_DS\n  addr_modes.default_mode = SEG32;\n  addr_modes.default_mode = PM16;\n#endif\n  if (protected_mode()) {\n    addr_modes.default_mode = SEG32;\n    }\n  else if (v8086_mode()) {\n    addr_modes.default_mode = VM86;\n    }\n  else {\n    // real mode, use vm86 for now\n    addr_modes.default_mode = VM86;\n    }\n\n\n  // Mark if instruction used opsize or addrsize prefixes\n  // Actually, addr_modes.override.address_size is not used,\n  // could delete that code.\n  is_32 = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].cache.u.segment.d_b;\n  if (i->as32B() == is_32)\n    addr_modes.override.address_size = 0;\n  else\n    addr_modes.override.address_size = ADDR_SIZE_PREFIX;\n  if (i->os32B() == is_32)\n    addr_modes.override.operand_size = 0;\n  else\n    addr_modes.override.operand_size = OP_SIZE_PREFIX;\n\n  // For now set access_limit to max.  It seems to be\n  // a number from 0..255 denoting how many bytes the\n  // current instruction can access according to its\n  // memory operand.  255 means >= 255.\naccess_limit = 0xff;\n\n  // fill in orig eip here in offset\n  // fill in CS in selector\n  entry_sel_off.offset = BX_CPU_THIS_PTR prev_eip;\n  entry_sel_off.selector = BX_CPU_THIS_PTR program_visible_sregs[BX_SEG_REG_CS].selector.value;\n\n// should set these fields to 0 if mem operand not used\n  data_address = (void *) RMAddr(i);\n  data_sel_off.offset = RMAddr(i);\n  data_sel_off.selector = BX_CPU_THIS_PTR program_visible_sregs[i->seg()].selector.value;\n\n\n  math_emulate2(current_i387_yuan_   addr_modes, i->modrm(), i->b1(), data_address,\n                data_sel_off, entry_sel_off);\n\n}\n\n\nstatic double sigh_scale_factor = 4.6566128730773926e-010;\nstatic double sigl_scale_factor = 1.0842021724855044e-019;\n\n//static double sigh_scale_factor = pow(2.0, -31.0);\n//static double sigl_scale_factor = pow(2.0, -63.0);\n\n//vc7 pow_p4 RavDos\n/*\nvoid\nBX_CPU_C::fpu_print_regs()\n{\n  Bit32u reg;\n\n  BX_FCPU_I387 bx_fcpu_i387_s,*bx_fcpu_i387;\n  bx_fcpu_i387 = &bx_fcpu_i387_s;\n\n  reg = i387.soft.cwd;\n  fprintf(stderr, \"cwd            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.swd;\n  fprintf(stderr, \"swd            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.twd;\n  fprintf(stderr, \"twd            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.fip;\n  fprintf(stderr, \"fip            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.fcs;\n  fprintf(stderr, \"fcs            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.foo;\n  fprintf(stderr, \"foo            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  reg = i387.soft.fos;\n  fprintf(stderr, \"fos            0x%-8x\\t%d\\n\", (unsigned) reg, (int) reg);\n  // print stack too\n  for (int i=0; i<8; i++) {\n    FPU_REG *fpr = &st(i);\n    double f1 = 0;//pow(2.0, ((0x7fff&fpr->exp) - EXTENDED_Ebias));\n    if (fpr->exp & SIGN_Negative) f1 = -f1;\n    double f2 = ((double)fpr->sigh * sigh_scale_factor);\n    double f3 = ((double)fpr->sigl * sigl_scale_factor);\n    double f = f1*(f2+f3);\n    fprintf(stderr, \"st%d            %.10f (raw 0x%04x%08x%08x)\\n\", i, f, 0xffff&fpr->exp, fpr->sigh, fpr->sigl);\n  }\n}\n*/\n  unsigned\nfpu_get_ds(current_i387_definefunyuan_void)\n{\n  return(bx_fcpu_i387->fpu_cpu_ptr_->program_visible_sregs[BX_SEG_REG_DS].selector.value);\n}\n\n  void\nfpu_set_ax(current_i387_definefunyuan_   unsigned short val16)\n{\n// define to set AX in the current CPU -- not ideal.\n#undef AX\n#define AX (bx_fcpu_i387->fpu_cpu_ptr_->program_visible_gen_reg[0].word.rx)\n  AX = val16;\n#undef AX\n//BX_DEBUG(( \"fpu_set_ax(0x%04x)\", (unsigned) val16));\n}\n\n  void\nfpu_verify_area(current_i387_definefunyuan_   unsigned what, void *ptr, unsigned n)\n{\n  bx_segment_reg_t *seg;\n\n  seg = &bx_fcpu_i387->fpu_cpu_ptr_->program_visible_sregs[bx_fcpu_i387->fpu_iptr_->seg()];\n\n  if (what == VERIFY_READ) {\n    bx_fcpu_i387->fpu_cpu_ptr_->read_virtual_checks(seg, PTR2INT(ptr), n);\n    }\n  else {  // VERIFY_WRITE\n    bx_fcpu_i387->fpu_cpu_ptr_->write_virtual_checks(seg, PTR2INT(ptr), n);\n    }\n//BX_DEBUG(( \"verify_area: 0x%x\", PTR2INT(ptr)));\n}\n\n\n  void\nFPU_printall(current_i387_definefunyuan_void)\n{\n  BX_PANIC((\"FPU_printall\"));\n}\n\n\n  unsigned\nfpu_get_user(current_i387_definefunyuan_   void *ptr, unsigned len)\n{\n  Bit32u val32;\n  Bit16u val16;\n  Bit8u  val8;\n\n  switch (len) {\n    case 1:\n      bx_fcpu_i387->fpu_cpu_ptr_->read_virtual_byte(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val8);\n      val32 = val8;\n      break;\n    case 2:\n      bx_fcpu_i387->fpu_cpu_ptr_->read_virtual_word(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val16);\n      val32 = val16;\n      break;\n    case 4:\n      bx_fcpu_i387->fpu_cpu_ptr_->read_virtual_dword(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val32);\n      break;\n    default:\n      BX_PANIC((\"fpu_get_user: len=%u\", len));\n    }\n  return(val32);\n}\n\n  void\nfpu_put_user(current_i387_definefunyuan_   unsigned val, void *ptr, unsigned len)\n{\n  Bit32u val32;\n  Bit16u val16;\n  Bit8u  val8;\n\n  switch (len) {\n    case 1:\n      val8 = val;\n      bx_fcpu_i387->fpu_cpu_ptr_->write_virtual_byte(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val8);\n      break;\n    case 2:\n      val16 = val;\n      bx_fcpu_i387->fpu_cpu_ptr_->write_virtual_word(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val16);\n      break;\n    case 4:\n      val32 = val;\n      bx_fcpu_i387->fpu_cpu_ptr_->write_virtual_dword(bx_fcpu_i387->fpu_iptr_->seg(), PTR2INT(ptr), &val32);\n      break;\n    default:\n      BX_PANIC((\"fpu_put_user: len=%u\", len));\n    }\n}\n\n  void\nmath_abort(current_i387_definefunyuan_   struct info *info, unsigned int signal)\n{\n  UNUSED(info); // info is always passed NULL\n#if BX_CPU_LEVEL >= 4\n\n// values of signal:\n//   SIGILL  : opcodes which are illegal\n//   SIGFPE  : unmasked FP exception before WAIT or non-control instruction\n//   SIGSEGV : access data beyond segment violation\n  switch (signal) {\n    case SIGFPE:\n      if (bx_fcpu_i387->fpu_cpu_ptr_->cr0.ne == 0) {\n        // MSDOS compatibility external interrupt (IRQ13)\n        BX_PANIC ((\"math_abort: MSDOS compatibility not supported yet\"));\n        }\n      bx_fcpu_i387->fpu_cpu_ptr_->exception(BX_MF_EXCEPTION, 0, 0);\n      // execution does not reach here\n\n    case SIGILL:\n      BX_PANIC ((\"math_abort: SIGILL not implemented yet.\"));\n      break;\n    case SIGSEGV:\n      BX_PANIC ((\"math_abort: SIGSEGV not implemented yet.\"));\n      break;\n    }\n\n#else\n  UNUSED(signal);\n  BX_INFO((\"math_abort: CPU<4 not supported yet\"));\n#endif\n}\n\n  int\nfpu_printk(const char * fmt, ...)\n{\n  BX_INFO((\"fpu_printk not complete: %s\", fmt));\n  return(0); // for now\n}\n"
  },
  {
    "path": "Project/fpu/Source/wm_shrx.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  wm_shrx.c                                                                |\n |  $Id: wm_shrx.c,v 1.2 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | 64 bit right shift functions                                              |\n |                                                                           |\n | Copyright (C) 1992,1995,1999                                              |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |   unsigned FPU_shrx(current_i387_yuan_   void *arg1, unsigned arg2)                            |\n |                                                                           |\n |   Extended shift right function.                                          |\n |   Fastest for small shifts.                                               |\n |   Shifts the 64 bit quantity pointed to by the first arg (arg1)           |\n |   right by the number of bits specified by the second arg (arg2).         |\n |   Forms a 96 bit quantity from the 64 bit arg and eax:                    |\n |                [  64 bit arg ][ eax ]                                     |\n |            shift right  --------->                                        |\n |   The eax register is initialized to 0 before the shifting.               |\n |   Results returned in the 64 bit arg and eax.                             |\n +---------------------------------------------------------------------------*/\n\n#include \"fpu_i387.h\"\n#include \"fpu_emu.h\"\n\nunsigned FPU_shrx(current_i387_definefunyuan_     void *arg1, u32 arg2)\n{\n  u32 x;\n\n  if ( arg2 >= 64 )\n    {\n      if ( arg2 >= 96 )\n\t{\n\t  *(u64 *)arg1 = 0;\n\t  return 0;\n\t}\n      arg2 -= 64;\n      x = (u32)((*(u64 *)arg1) >> 32);\n      *(u64 *)arg1 = 0;\n\n      if ( arg2 )\n\treturn x >> arg2;\n      else\n\treturn x;\n    }\n\n  if ( arg2 < 32 )\n    {\n      if ( arg2 == 0 )\n\treturn 0;\n\n      x = (u32)((*(u64 *)arg1) << (32 - arg2));\n    }\n  else if ( arg2 > 32 )\n    {\n      x = (u32)((*(u64 *)arg1) >> (arg2 - 32));\n    }\n  else\n    {\n      /* arg2 == 32 */\n      x = (u32)(*(u64 *)arg1);\n    }\n\n  (*(u64 *)arg1) >>= arg2;\n\n  return x;\n\n}\n\n\n/*---------------------------------------------------------------------------+\n |   unsigned FPU_shrxs(current_i387_yuan_   void *arg1, unsigned arg2)                           |\n |                                                                           |\n |   Extended shift right function (optimized for small floating point       |\n |   integers).                                                              |\n |   Shifts the 64 bit quantity pointed to by the first arg (arg1)           |\n |   right by the number of bits specified by the second arg (arg2).         |\n |   Forms a 96 bit quantity from the 64 bit arg and eax:                    |\n |                [  64 bit arg ][ eax ]                                     |\n |            shift right  --------->                                        |\n |   The eax register is initialized to 0 before the shifting.               |\n |   The lower 8 bits of eax are lost and replaced by a flag which is        |\n |   set (to 0x01) if any bit, apart from the first one, is set in the       |\n |   part which has been shifted out of the arg.                             |\n |   Results returned in the 64 bit arg and eax.                             |\n +---------------------------------------------------------------------------*/\n\nunsigned FPU_shrxs(current_i387_definefunyuan_     void *arg1, u32 arg2)\n{\n  u32 x, bits;\n  u64 lost;\n\n  if ( arg2 >= 64 )\n    {\n      if ( arg2 >= 96 )\n\t{\n\t  bits = *(u64 *)arg1 != 0;\n\t  *(u64 *)arg1 = 0;\n\t  return bits ? 1 : 0;\n\t}\n      arg2 -= 64;\n      lost = (*(u64 *)arg1) << (32 - arg2);\n      x = (u32)((*(u64 *)arg1) >> 32);\n      *(u64 *)arg1 = 0;\n\n      if ( arg2 )\n\tx >>= arg2;\n\n      if ( lost )\n\tx |= 1;\n\n      return x;\n    }\n\n  if ( arg2 < 32 )\n    {\n      if ( arg2 == 0 )\n\t/* No bits are lost */\n\treturn 0;\n\n      /* No bits are lost */\n      x = (u32)((*(u64 *)arg1) << (32 - arg2));\n    }\n  else if ( arg2 > 32 )\n    {\n      bits = (u32)((*(u64 *)arg1));\n      bits <<= (64 - arg2);\n      x = (u32)((*(u64 *)arg1) >> (arg2 - 32));\n      if ( bits )\n\tx |= 1;\n    }\n  else\n    {\n      /* arg2 == 32 */\n      /* No bits are lost */\n      x = (u32)(*(u64 *)arg1);\n    }\n\n  (*(u64 *)arg1) >>= arg2;\n\n  if ( x & 0x7fffffff )\n    x |= 1;\n\n  return x;\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Source/wm_sqrt.cpp",
    "content": "/*---------------------------------------------------------------------------+\n |  wm_sqrt.c                                                                |\n |  $Id: wm_sqrt.c,v 1.3 2001/10/06 03:53:46 bdenney Exp $\n |                                                                           |\n | Fixed point arithmetic square root evaluation.                            |\n |                                                                           |\n | Copyright (C) 1992,1993,1995,1997,1999                                    |\n |                       W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |\n |                       Australia.  E-mail billm@melbpc.org.au              |\n |                                                                           |\n +---------------------------------------------------------------------------*/\n\n/*---------------------------------------------------------------------------+\n |    returns the square root of n in n.                                     |\n |                                                                           |\n |  Use Newton's method to compute the square root of a number, which must   |\n |  be in the range  [1.0 .. 4.0),  to 64 bits accuracy.                     |\n |  Does not check the sign or tag of the argument.                          |\n |  Sets the exponent, but not the sign or tag of the result.                |\n |                                                                           |\n |  The guess is kept in %esi:%edi                                           |\n +---------------------------------------------------------------------------*/\n#include \"fpu_i387.h\"\n#include \"exception.h\"\n#include \"fpu_emu.h\"\n\n/*\n  The following value indicates the trailing bits (of 96 bits)\n  which may be in error when the final Newton iteration is finished\n  (0x20 corresponds to the last 5 bits in error, i.e. 91 bits precision).\n  A check of the following code with more than 3 billion (3.0e9) random\n  and selected values showed that 0x10 was always a large enough value,\n  so 0x20 should be a conservative choice.\n */\n#define ERR_MARGIN 0x20\n\n\nint wm_sqrt(current_i387_definefunyuan_   FPU_REG *n, s32 dummy1, s32 dummy2, u16 control_w, u8 sign)\n{\n  u64 nn, guess, halfn, lowr, mid, upr, diff, uwork;\n  s64 work;\n  u32 ne, guess32, work32, diff32, mid32;\n  int shifted;\n\n  nn = significand(n);\n  ne = 0;\n  if ( exponent16(n) == EXP_BIAS )\n    {\n      /* Shift the argument right one position. */\n      if ( nn & 1 )\n\tne = 0x80000000;\n      nn >>= 1;\n      guess = n->sigh >> 2;\n      shifted = 1;\n    }\n  else\n    {\n      guess = n->sigh >> 1;\n      shifted = 0;\n    }\n\n  guess += 0x40000000;\n  guess *= 0xaaaaaaaa;\n  guess <<= 1;\n  guess32 = (u32)(guess >> 32);\n  if ( !(guess32 & 0x80000000) )\n    guess32 = 0x80000000;\n  halfn = nn >> 1;\n\n  guess32 = (u32)(halfn / guess32 + (guess32 >> 1));\n  guess32 = (u32)(halfn / guess32 + (guess32 >> 1));\n  guess32 = (u32)(halfn / guess32 + (guess32 >> 1));\n\n\n/*\n * Now that an estimate accurate to about 30 bits has been obtained,\n * we improve it to 60 bits or so.\n *\n * The strategy from now on is to compute new estimates from\n *      guess := guess + (n - guess^2) / (2 * guess)\n */\n\n  work = guess32;\n  work = nn - work * guess32;\n  work <<= 28;       /* 29 - 1 */\n  work /= guess32;\n  work <<= 3;        /* 29 + 3 = 32 */\n  work += ((u64)guess32) << 32;\n\n  if ( work == 0 )  /* This happens in one or two special cases */\n    work = BX_CONST64(0xffffffffffffffff);\n\n  guess = work;\n\n  /* guess is now accurate to about 60 bits */\n\n\n  if ( work > 0 )\n    {\n#ifdef PARANOID\n      if ( (n->sigh != 0xffffffff) && (n->sigl != 0xffffffff) )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x213);\n\t}\n#endif\n      /* We know the answer here. */\n      return FPU_round(current_i387_yuan_   n, 0x7fffffff, 0, control_w, sign);\n    }\n\n  /* Refine the guess to significantly more than 64 bits. */\n\n  /* First, square the current guess. */\n\n  guess32 = (u32)(guess >> 32);\n  work32 = (u32)guess;\n\n  /* lower 32 times lower 32 */\n  lowr = work32;\n  lowr *= work32;\n\n  /* lower 32 times upper 32 */\n  mid = guess32;\n  mid *= work32;\n\n  /* upper 32 times upper 32 */\n  upr = guess32;\n  upr *= guess32;\n\n  /* upper 32 bits of the middle product times 2 */\n  upr += mid >> (32-1);\n\n  /* lower 32 bits of the middle product times 2 */\n  work32 = (u32)(mid << 1);\n\n  /* upper 32 bits of the lower product */\n  mid32 = (u32)(lowr >> 32);\n  mid32 += work32;\n  if ( mid32 < work32 )\n    upr ++;\n\n  /* We now have the first 96 bits (truncated) of the square of the guess */\n\n  diff = upr - nn;\n  diff32 = mid32 - ne;\n  if ( diff32 > mid32 )\n    diff --;\n\n  if ( ((s64)diff) < 0 )\n    {\n      /* The difference is negative, negate it. */\n      diff32 = -((s32)diff32);\n      diff = ~diff;\n      if ( diff32 == 0 )\n\tdiff ++;\n#ifdef PARANOID\n      if ( (diff >> 32) != 0 )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x207);\n\t}\n#endif\n\n      diff <<= 32;\n      diff |= diff32;\n      work32 = (u32)(diff / guess32);\n      work = work32;\n      work <<= 32;\n\n      diff = diff % guess32;\n      diff <<= 32;\n      work32 = (u32)(diff / guess32);\n\n      work |= work32;\n\n      work >>= 1;\n      work32 = (u32)(work >> 32);\n\n\n      guess += work32;       /* The first 64 bits */\n      guess32 = (u32)(work);        /* The next 32 bits */\n      /* The guess should now be good to about 90 bits */\n    }\n  else\n    {\n      /* The difference is positive. */\n      diff <<= 32;\n      diff |= diff32;\n\n      work32 = (u32)(diff / guess32);\n      work = work32;\n      work <<= 32;\n\n      diff = diff % guess32;\n      diff <<= 32;\n      work32 = (u32)(diff / guess32);\n\n      work |= work32;\n\n      work >>= 1;\n      work32 = (u32)(work >> 32);\n\n      guess32 = (u32)(work);        /* The last 32 bits (of 96) */\n      guess32 = (u32)(0-guess32);\n      if ( guess32 )\n\tguess --;\n      guess -= work32;       /* The first 64 bits */\n      /* The guess should now be good to about 90 bits */\n    }\n\n\n  setexponent16(n, 0);\n\n  if ( guess32 >= (u32) -ERR_MARGIN )\n    {\n      /* Nearly exact, we round the 64 bit result upward. */\n      guess ++;\n    }\n  else if ( (guess32 > ERR_MARGIN) &&\n\t   ((guess32 < 0x80000000-ERR_MARGIN)\n\t    || (guess32 > 0x80000000+ERR_MARGIN)) )\n    {\n      /* We have enough accuracy to decide rounding */\n      significand(n) = guess;\n      return FPU_round(current_i387_yuan_   n, guess32, 0, control_w, sign);\n    }\n\n  if ( (guess32 <= ERR_MARGIN) || (guess32 >= (u32) -ERR_MARGIN) )\n    {\n      /*\n       * This is an easy case because x^1/2 is monotonic.\n       * We need just find the square of our estimate, compare it\n       * with the argument, and deduce whether our estimate is\n       * above, below, or exact. We use the fact that the estimate\n       * is known to be accurate to about 90 bits.\n       */\n\n\n      /* We compute the lower 64 bits of the 128 bit product */\n      work32 = (u32)(guess);\n      lowr = work32;\n      lowr *= work32;\n\n      uwork = guess >> 32;\n      work32 = (u32)(guess);\n      uwork *= work32;\n      uwork <<= 33;   /* 33 = 32+1 (for two times the product) */\n\n      lowr += uwork;  /* We now have the 64 bits */\n\n      /* We need only look at bits 65..96 of the square of guess. */\n      if ( shifted )\n\twork32 = (u32)(lowr >> 31);\n      else\n\twork32 = (u32)(lowr >> 32);\n\n#ifdef PARANOID\n      if ( ((s32)work32 > 3*ERR_MARGIN) || ((s32)work32 < -3*ERR_MARGIN) )\n\t{\n\t  EXCEPTION(EX_INTERNAL|0x214);\n\t}\n#endif\n\n      significand(n) = guess;\n      if ( (s32)work32 > 0 )\n\t{\n\t  /* guess is too large */\n\t  significand(n) --;\n\t  return FPU_round(current_i387_yuan_   n, 0xffffff00, 0, control_w, sign);\n\t}\n      else if ( (s32)work32 < 0 )\n\t{\n\t  /* guess is a little too small */\n\t  return FPU_round(current_i387_yuan_   n, 0x000000ff, 0, control_w, sign);\n\t}\n\n      else if ( (u32)lowr != 0 )\n       {\n\n         /* guess is too large */\n         significand(n) --;\n         return FPU_round(current_i387_yuan_   n, 0xffffff00, 0, control_w, sign);\n       }\n\n      /* Our guess is precise. */\n      return FPU_round(current_i387_yuan_   n, 0, 0, control_w, sign);\n    }\n\n  /* Very similar to the case above, but the last bit is near 0.5.\n     We handle this just like the case above but we shift everything\n     by one bit. */\n\n\n  uwork = guess;\n  uwork <<= 1;\n  uwork |= 1;      /* add the half bit */\n\n  /* We compute the lower 64 bits of the 128 bit product */\n  work32 = (u32)(uwork);\n  lowr = work32;\n  lowr *= work32;\n\n  work32 = (u32)(uwork >> 32);\n  uwork &= 0xffffffff;\n  uwork *= work32;\n  uwork <<= 33;   /* 33 = 32+1 (for two times the product) */\n\n  lowr += uwork;  /* We now have the 64 bits. The lowest 32 bits of lowr\n                    are not all zero (the lsb is 1). */\n\n  /* We need only look at bits 65..96 of the square of guess. */\n  if ( shifted )\n    work32 = (u32)(lowr >> 31);\n  else\n    work32 = (u32)(lowr >> 32);\n\n#ifdef PARANOID\n  if ( ((s32)work32 > 4*3*ERR_MARGIN) || ((s32)work32 < -4*3*ERR_MARGIN) )\n    {\n      EXCEPTION(EX_INTERNAL|0x215);\n    }\n#endif\n\n  significand(n) = guess;\n  if ( (s32)work32 < 0 )\n    {\n      /* guess plus half bit is a little too small */\n      return FPU_round(current_i387_yuan_   n, 0x800000ff, 0, control_w, sign);\n    }\n  else /* Note that the lower 64 bits of the product are not all zero */\n    {\n      /* guess plus half bit is too large */\n      return FPU_round(current_i387_yuan_   n, 0x7fffff00, 0, control_w, sign);\n    }\n\n  /*\n    Note that the result of a square root cannot have precisely a half bit\n    of a least significant place (it is left as an exercise for the reader\n    to prove this! (hint: 65 bit*65 bit => n bits)).\n  */\n\n}\n\n"
  },
  {
    "path": "Project/fpu/Win32/UpgradeLog.XML",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>\n<Properties><Property Name=\"Solution\" Value=\"fpu\">\n</Property><Property Name=\"解决方案文件\" Value=\"F:\\syserdbg\\Project\\fpu\\Win32\\fpu.sln\">\n</Property><Property Name=\"Date\" Value=\"2015年11月11日\">\n</Property><Property Name=\"Time\" Value=\"13:34\">\n</Property></Properties><Event ErrorLevel=\"0\" Project=\"\" Source=\"fpu.sln\" Description=\"文件已成功备份为 F:\\syserdbg\\Project\\fpu\\Win32\\fpu.sln.old\">\n</Event><Event ErrorLevel=\"0\" Project=\"fpu\" Source=\"fpu.vcproj\" Description=\"项目升级成功。\">\n</Event><Event ErrorLevel=\"3\" Project=\"fpu\" Source=\"fpu.vcproj\" Description=\"Converted\">\n</Event><Event ErrorLevel=\"0\" Project=\"\" Source=\"fpu.sln\" Description=\"成功转换解决方案\">\n</Event><Event ErrorLevel=\"3\" Project=\"\" Source=\"fpu.sln\" Description=\"Converted\">\n</Event></UpgradeLog>"
  },
  {
    "path": "Project/fpu/Win32/_UpgradeReport_Files/UpgradeReport.css",
    "content": "﻿BODY\n{\n\tBACKGROUND-COLOR: white;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px\n}\nP\n{\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 70%;\n\tLINE-HEIGHT: 12pt;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 10px\n}\n.note\n{\n\tBACKGROUND-COLOR:  #ffffff;\n\tCOLOR: #336699;\n\tFONT-FAMILY: \"Verdana\", sans-serif;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-LEFT: 0px;\n\tMARGIN-TOP: 0px;\n\tPADDING-RIGHT: 10px\n}\n.infotable\n{\n\tBACKGROUND-COLOR: #f0f0e0;\n\tBORDER-BOTTOM: #ffffff 0px solid;\n\tBORDER-COLLAPSE: collapse;\n\tBORDER-LEFT: #ffffff 0px solid;\n\tBORDER-RIGHT: #ffffff 0px solid;\n\tBORDER-TOP: #ffffff 0px solid;\n\tFONT-SIZE: 70%;\n\tMARGIN-LEFT: 10px\n}\n.issuetable\n{\n\tBACKGROUND-COLOR: #ffffe8;\n\tBORDER-COLLAPSE: collapse;\n\tCOLOR: #000000;\n\tFONT-SIZE: 100%;\n\tMARGIN-BOTTOM: 10px;\n\tMARGIN-LEFT: 13px;\n\tMARGIN-TOP: 0px\n}\n.issuetitle\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px;\n\tCOLOR: #003366;\n\tFONT-WEIGHT: normal\n}\n.header\n{\n\tBACKGROUND-COLOR: #cecf9c;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: bold\n}\n.issuehdr\n{\n\tBACKGROUND-COLOR: #E0EBF5;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.issuenone\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: 0px;\n\tBORDER-LEFT: 0px;\n\tBORDER-RIGHT: 0px;\n\tBORDER-TOP: 0px;\n\tCOLOR: #000000;\n\tFONT-WEIGHT: normal\n}\n.content\n{\n\tBACKGROUND-COLOR: #e7e7ce;\n\tBORDER-BOTTOM: #ffffff 1px solid;\n\tBORDER-LEFT: #ffffff 1px solid;\n\tBORDER-RIGHT: #ffffff 1px solid;\n\tBORDER-TOP: #ffffff 1px solid;\n\tPADDING-LEFT: 3px\n}\n.issuecontent\n{\n\tBACKGROUND-COLOR: #ffffff;\n\tBORDER-BOTTOM: #dcdcdc 1px solid;\n\tBORDER-TOP: #dcdcdc 1px solid;\n\tPADDING-LEFT: 3px\n}\nA:link\n{\n\tCOLOR: #cc6633;\n\tTEXT-DECORATION: underline\n}\nA:visited\n{\n\tCOLOR: #cc6633;\n}\nA:active\n{\n\tCOLOR: #cc6633;\n}\nA:hover\n{\n\tCOLOR: #cc3300;\n\tTEXT-DECORATION: underline\n}\nH1\n{\n\tBACKGROUND-COLOR: #003366;\n\tBORDER-BOTTOM: #336699 6px solid;\n\tCOLOR: #ffffff;\n\tFONT-SIZE: 130%;\n\tFONT-WEIGHT: normal;\n\tMARGIN: 0em 0em 0em -20px;\n\tPADDING-BOTTOM: 8px;\n\tPADDING-LEFT: 30px;\n\tPADDING-TOP: 16px\n}\nH2\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 3px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px;\n\tPADDING-LEFT: 0px\n}\nH3\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 80%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: -5px;\n\tMARGIN-LEFT: 10px;\n\tMARGIN-TOP: 20px\n}\nH4\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tFONT-WEIGHT: bold;\n\tMARGIN-BOTTOM: 0px;\n\tMARGIN-TOP: 15px;\n\tPADDING-BOTTOM: 0px\n}\nUL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nOL\n{\n\tCOLOR: #000000;\n\tFONT-SIZE: 70%;\n\tLIST-STYLE: square;\n\tMARGIN-BOTTOM: 0pt;\n\tMARGIN-TOP: 0pt\n}\nLI\n{\n\tLIST-STYLE: square;\n\tMARGIN-LEFT: 0px\n}\n.expandable\n{\n\tCURSOR: hand\n}\n.expanded\n{\n\tcolor: black\n}\n.collapsed\n{\n\tDISPLAY: none\n}\n.foot\n{\nBACKGROUND-COLOR: #ffffff;\nBORDER-BOTTOM: #cecf9c 1px solid;\nBORDER-TOP: #cecf9c 2px solid\n}\n.settings\n{\nMARGIN-LEFT: 25PX;\n}\n.help\n{\nTEXT-ALIGN: right;\nmargin-right: 10px;\n}\n"
  },
  {
    "path": "Project/fpu/Win32/_UpgradeReport_Files/UpgradeReport.xslt",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\">\n\n    <xsl:key name=\"ProjectKey\" match=\"Event\" use=\"@Project\"/>\n\n    <xsl:template match=\"Events\" mode=\"createProjects\">\n        <projects>\n            <xsl:for-each select=\"Event\">\n                <!--xsl:sort select=\"@Project\" order=\"descending\"/-->\n                <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Project != @Project)\">\n\n                    <xsl:variable name=\"ProjectName\" select=\"@Project\"/>\n\n                    <project>\n                        <xsl:attribute name=\"name\">\n                            <xsl:value-of select=\"@Project\"/>\n                        </xsl:attribute> \n\n                        <xsl:if test=\"@Project=''\">\n                        <xsl:attribute name=\"solution\">\n                            <xsl:value-of select=\"@Solution\"/>\n                        </xsl:attribute> \n                        </xsl:if>\n\n                        <xsl:for-each select=\"key('ProjectKey', $ProjectName)\">\n                            <!--xsl:sort select=\"@Source\" /-->\n                            <xsl:if test=\"(1=position()) or (preceding-sibling::*[1]/@Source != @Source)\">\n\n                                <source>\n                                    <xsl:attribute name=\"name\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:attribute>\n\n                                    <xsl:variable name=\"Source\">\n                                        <xsl:value-of select=\"@Source\"/>\n                                    </xsl:variable>\n\n                                    <xsl:for-each select=\"key('ProjectKey', $ProjectName)[ @Source = $Source ]\">\n\n                                        <event>\n                                            <xsl:attribute name=\"error-level\">\n                                                <xsl:value-of select=\"@ErrorLevel\"/>\n                                            </xsl:attribute> \n                                            <xsl:attribute name=\"description\">\n                                                <xsl:value-of select=\"@Description\"/>\n                                            </xsl:attribute> \n                                        </event>\n                                    </xsl:for-each>\n                                </source>\n                            </xsl:if>\n                        </xsl:for-each>\n\n                    </project>\n                </xsl:if>\n            </xsl:for-each>\n        </projects>\n    </xsl:template>\n\n    <xsl:template match=\"projects\">\n    <xsl:for-each select=\"project\">\n    <xsl:sort select=\"@Name\" order=\"ascending\"/>\n        <h2>\n        <xsl:if test=\"@solution\"><a _locID=\"Solution\">解决方案</a>: <xsl:value-of select=\"@solution\"/></xsl:if>\n        <xsl:if test=\"not(@solution)\"><a _locID=\"Project\">项目</a>: <xsl:value-of select=\"@name\"/>\n            <xsl:for-each select=\"source\">\n                <xsl:variable name=\"Hyperlink\" select=\"@name\"/>\n            <xsl:for-each select=\"event[@error-level='4']\">\n             <A class=\"note\"><xsl:attribute name=\"HREF\"><xsl:value-of select=\"$Hyperlink\"/></xsl:attribute><xsl:value-of select=\"@description\"/></A>\n                </xsl:for-each>\n            </xsl:for-each>\n        </xsl:if>\n        </h2>\n\n        <table cellpadding=\"2\" cellspacing=\"0\" width=\"98%\" border=\"1\" bordercolor=\"white\" class=\"infotable\">\n            <tr>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Filename\">文件名</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Status\">状态</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Errors\">错误</td>\n                <td nowrap=\"1\" class=\"header\" _locID=\"Warnings\">警告</td>\n            </tr>\n\n            <xsl:for-each select=\"source\">\n                <xsl:sort select=\"@name\" order=\"ascending\"/>\n                <xsl:variable name=\"source-id\" select=\"generate-id(.)\"/>\n\n                <xsl:if test=\"count(event)!=count(event[@error-level='4'])\">\n\n                <tr class=\"row\">\n                    <td class=\"content\">\n                        <A HREF=\"javascript:\"><xsl:attribute name=\"onClick\">javascript:document.images['<xsl:value-of select=\"$source-id\"/>'].click()</xsl:attribute><IMG border=\"0\" _locID=\"IMG.alt\" _locAttrData=\"alt\" alt=\"展开/折叠节\" class=\"expandable\" height=\"11\" onclick=\"changepic()\" src=\"_UpgradeReport_Files/UpgradeReport_Plus.gif\" width=\"9\"><xsl:attribute name=\"name\"><xsl:value-of select=\"$source-id\"/></xsl:attribute><xsl:attribute name=\"child\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute></IMG></A> <xsl:value-of select=\"@name\"/> \n                    </td>\n                    <td class=\"content\">\n                        <xsl:if test=\"count(event[@error-level='3'])=1\">\n                            <xsl:for-each select=\"event[@error-level='3']\">\n                            <xsl:if test=\"@description='Converted'\"><a _locID=\"Converted1\">已转换</a></xsl:if>\n                            <xsl:if test=\"@description!='Converted'\"><xsl:value-of select=\"@description\"/></xsl:if>\n                            </xsl:for-each>\n                        </xsl:if>\n                        <xsl:if test=\"count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0\"><a _locID=\"Converted2\">已转换</a>\n                        </xsl:if>\n                    </td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='2'])\"/></td>\n                    <td class=\"content\"><xsl:value-of select=\"count(event[@error-level='1'])\"/></td>\n                </tr>\n\n                <tr class=\"collapsed\" bgcolor=\"#ffffff\">\n                    <xsl:attribute name=\"id\">src<xsl:value-of select=\"$source-id\"/></xsl:attribute>\n\n                    <td colspan=\"7\">\n                        <table width=\"97%\" border=\"1\" bordercolor=\"#dcdcdc\" rules=\"cols\" class=\"issuetable\">\n                            <tr>\n                                <td colspan=\"7\" class=\"issuetitle\" _locID=\"ConversionIssues\">转换问题 - <xsl:value-of select=\"@name\"/>:</td>\n                            </tr>\n\n                            <xsl:for-each select=\"event[@error-level!='3']\">\n                                <xsl:if test=\"@error-level!='4'\">\n                                <tr>\n                                    <td class=\"issuenone\" style=\"border-bottom:solid 1 lightgray\">\n                                        <xsl:value-of select=\"@description\"/>\n                                    </td>\n                                </tr>\n                                </xsl:if>\n                            </xsl:for-each>\n                        </table>\n                    </td>\n                </tr>\n                </xsl:if>\n            </xsl:for-each>\n\n            <tr valign=\"top\">\n                <td class=\"foot\">\n                    <xsl:if test=\"count(source)!=1\">\n                        <xsl:value-of select=\"count(source)\"/><a _locID=\"file1\"> 个文件</a>\n                    </xsl:if>\n                    <xsl:if test=\"count(source)=1\">\n                        <a _locID=\"file2\">1 个文件</a>\n                    </xsl:if>\n                </td>\n                <td class=\"foot\">\n\t\t\t\t\t<a _locID=\"Converted3\">已转换</a>: <xsl:value-of select=\"count(source/event[@error-level='3' and @description='Converted'])\"/><BR/>\n\t\t\t\t\t<a _locID=\"NotConverted\">未转换</a>: <xsl:value-of select=\"count(source) - count(source/event[@error-level='3' and @description='Converted'])\"/>\n                </td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='2'])\"/></td>\n                <td class=\"foot\"><xsl:value-of select=\"count(source/event[@error-level='1'])\"/></td>\n            </tr>\n        </table>\n    </xsl:for-each>\n    </xsl:template>\n\n    <xsl:template match=\"Property\">\n        <xsl:if test=\"@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'\">\n        <tr><td nowrap=\"1\"><b><xsl:value-of select=\"@Name\"/>: </b><xsl:value-of select=\"@Value\"/></td></tr>\n        </xsl:if>\n    </xsl:template>\n\n    <xsl:template match=\"UpgradeLog\">\n        <html>\n            <head>\n                <META HTTP-EQUIV=\"Content-Type\" content=\"text/html; charset=utf-8\"/>\n                <link rel=\"stylesheet\" href=\"_UpgradeReport_Files\\UpgradeReport.css\"/>\n                <title _locID=\"ConversionReport0\">转换报告 \n                    <xsl:if test=\"Properties/Property[@Name='LogNumber']\">\n                        <xsl:value-of select=\"Properties/Property[@Name='LogNumber']/@Value\"/>\n                    </xsl:if>\n                </title>\n                <script language=\"javascript\">\n                    function outliner () {\n                        oMe = window.event.srcElement\n                        //get child element\n                        var child = document.all[event.srcElement.getAttribute(\"child\",false)];\n                        //if child element exists, expand or collapse it.\n                        if (null != child)\n                            child.className = child.className == \"collapsed\" ? \"expanded\" : \"collapsed\";\n                    }\n\n                    function changepic() {\n                        uMe = window.event.srcElement;\n                        var check = uMe.src.toLowerCase();\n                        if (check.lastIndexOf(\"upgradereport_plus.gif\") != -1)\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Minus.gif\"\n                        }\n                        else\n                        {\n                            uMe.src = \"_UpgradeReport_Files/UpgradeReport_Plus.gif\"\n                        }\n                    }\n                </script>\n            </head>\n            <body topmargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" onclick=\"outliner();\">\n                <h1 _locID=\"ConversionReport\">转换报告 - <xsl:value-of select=\"Properties/Property[@Name='Solution']/@Value\"/></h1>\n\n                <p><span class=\"note\">\n                <b _locID=\"TimeOfConversion\">转换时间:</b>  <xsl:value-of select=\"Properties/Property[@Name='Date']/@Value\"/>  <xsl:value-of select=\"Properties/Property[@Name='Time']/@Value\"/><br/>\n                </span></p>\n\n                <xsl:variable name=\"SortedEvents\">\n                    <Events>\n                        <xsl:for-each select=\"Event\">\n                            <xsl:sort select=\"@Project\" order=\"ascending\"/>\n                            <xsl:sort select=\"@Source\" order=\"ascending\"/>\n                            <xsl:sort select=\"@ErrorLevel\" order=\"ascending\"/>\n                            <Event>\n                                <xsl:attribute name=\"Project\"><xsl:value-of select=\"@Project\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Solution\"><xsl:value-of select=\"/UpgradeLog/Properties/Property[@Name='Solution']/@Value\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Source\"><xsl:value-of select=\"@Source\"/> </xsl:attribute> \n                                <xsl:attribute name=\"ErrorLevel\"><xsl:value-of select=\"@ErrorLevel\"/> </xsl:attribute> \n                                <xsl:attribute name=\"Description\"><xsl:value-of select=\"@Description\"/> </xsl:attribute> \n                            </Event>\n                        </xsl:for-each>     \n                    </Events>\n                </xsl:variable>\n                \n                <xsl:variable name=\"Projects\">\n                    <xsl:apply-templates select=\"msxsl:node-set($SortedEvents)/*\" mode=\"createProjects\"/>\n                </xsl:variable>\n\n                <xsl:apply-templates select=\"msxsl:node-set($Projects)/*\"/>\n\n                <p></p><p>\n                <table class=\"note\">\n                    <tr>\n                        <td nowrap=\"1\">\n                            <b _locID=\"ConversionSettings\">转换设置</b>\n                        </td>\n                    </tr>\n                    <xsl:apply-templates select=\"Properties\"/>\n                </table></p>\n            </body>\n        </html>\n    </xsl:template>\n</xsl:stylesheet>\n"
  },
  {
    "path": "Project/fpu/Win32/fpu.sln",
    "content": "Microsoft Visual Studio Solution File, Format Version 10.00\n# Visual Studio 2008\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"fpu\", \"fpu.vcproj\", \"{2375798E-AEBD-4260-9348-0D2DC69C2EF7}\"\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|Win32 = Debug|Win32\n\t\tRelease|Win32 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Release|Win32.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/fpu/Win32/fpu.sln.old",
    "content": "Microsoft Visual Studio Solution File, Format Version 8.00\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"fpu\", \"fpu.vcproj\", \"{2375798E-AEBD-4260-9348-0D2DC69C2EF7}\"\n\tProjectSection(ProjectDependencies) = postProject\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfiguration) = preSolution\n\t\tDebug = Debug\n\t\tRelease = Release\n\tEndGlobalSection\n\tGlobalSection(ProjectConfiguration) = postSolution\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Debug.ActiveCfg = Debug|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Debug.Build.0 = Debug|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Release.ActiveCfg = Release|Win32\n\t\t{2375798E-AEBD-4260-9348-0D2DC69C2EF7}.Release.Build.0 = Release|Win32\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityAddIns) = postSolution\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "Project/fpu/Win32/fpu.vcproj",
    "content": "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n<VisualStudioProject\n\tProjectType=\"Visual C++\"\n\tVersion=\"9.00\"\n\tName=\"fpu\"\n\tProjectGUID=\"{2375798E-AEBD-4260-9348-0D2DC69C2EF7}\"\n\tKeyword=\"Win32Proj\"\n\tTargetFrameworkVersion=\"131072\"\n\t>\n\t<Platforms>\n\t\t<Platform\n\t\t\tName=\"Win32\"\n\t\t/>\n\t</Platforms>\n\t<ToolFiles>\n\t</ToolFiles>\n\t<Configurations>\n\t\t<Configuration\n\t\t\tName=\"Debug|Win32\"\n\t\t\tOutputDirectory=\"Debug\"\n\t\t\tIntermediateDirectory=\"Debug\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tOptimization=\"0\"\n\t\t\t\tAdditionalIncludeDirectories=\"..\\Source\\fpu_stubs\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;_DEBUG;_LIB\"\n\t\t\t\tMinimalRebuild=\"true\"\n\t\t\t\tBasicRuntimeChecks=\"3\"\n\t\t\t\tRuntimeLibrary=\"1\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"0\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"4\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/fpu.lib\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t\t<Configuration\n\t\t\tName=\"Release|Win32\"\n\t\t\tOutputDirectory=\"Release\"\n\t\t\tIntermediateDirectory=\"Release\"\n\t\t\tConfigurationType=\"4\"\n\t\t\tInheritedPropertySheets=\"$(VCInstallDir)VCProjectDefaults\\UpgradeFromVC71.vsprops\"\n\t\t\tCharacterSet=\"2\"\n\t\t\t>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreBuildEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCustomBuildTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXMLDataGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCWebServiceProxyGeneratorTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCMIDLTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\tInlineFunctionExpansion=\"1\"\n\t\t\t\tEnableIntrinsicFunctions=\"false\"\n\t\t\t\tFavorSizeOrSpeed=\"0\"\n\t\t\t\tOmitFramePointers=\"true\"\n\t\t\t\tAdditionalIncludeDirectories=\"..\\Source\\fpu_stubs\"\n\t\t\t\tPreprocessorDefinitions=\"WIN32;NDEBUG;_LIB\"\n\t\t\t\tStringPooling=\"true\"\n\t\t\t\tRuntimeLibrary=\"0\"\n\t\t\t\tEnableFunctionLevelLinking=\"true\"\n\t\t\t\tUsePrecompiledHeader=\"0\"\n\t\t\t\tWarningLevel=\"0\"\n\t\t\t\tDetect64BitPortabilityProblems=\"false\"\n\t\t\t\tDebugInformationFormat=\"3\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCManagedResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCResourceCompilerTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPreLinkEventTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCLibrarianTool\"\n\t\t\t\tOutputFile=\"$(OutDir)/fpu.lib\"\n\t\t\t\tIgnoreDefaultLibraryNames=\"\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCALinkTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCXDCMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCBscMakeTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCFxCopTool\"\n\t\t\t/>\n\t\t\t<Tool\n\t\t\t\tName=\"VCPostBuildEventTool\"\n\t\t\t/>\n\t\t</Configuration>\n\t</Configurations>\n\t<References>\n\t</References>\n\t<Files>\n\t\t<Filter\n\t\t\tName=\"Դļ\"\n\t\t\tFilter=\"cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx\"\n\t\t\tUniqueIdentifier=\"{4FC737F1-C7A5-4376-A066-2A32D752A2FF}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\div_small.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\div_Xsig.cpp\"\n\t\t\t\t>\n\t\t\t\t<FileConfiguration\n\t\t\t\t\tName=\"Debug|Win32\"\n\t\t\t\t\t>\n\t\t\t\t\t<Tool\n\t\t\t\t\t\tName=\"VCCLCompilerTool\"\n\t\t\t\t\t\tGeneratePreprocessedFile=\"0\"\n\t\t\t\t\t/>\n\t\t\t\t</FileConfiguration>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\errors.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_arith.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_aux.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_entry.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_etc.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_tags.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_trig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\load_store.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\mul_Xsig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly_2xm1.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly_atan.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly_l2.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly_sin.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly_tan.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\polynom_Xsig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_add_sub.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_compare.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_constant.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_convert.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_divide.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_ld_str.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_mul.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_norm.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_round.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_u_add.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_u_div.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_u_mul.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_u_sub.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\round_Xsig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\shr_Xsig.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wm_shrx.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wm_sqrt.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\wmFPUemu_glue.cpp\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t\t<Filter\n\t\t\tName=\"ͷļ\"\n\t\t\tFilter=\"h;hpp;hxx;hm;inl;inc;xsd\"\n\t\t\tUniqueIdentifier=\"{93995380-89BD-4b04-88EB-625FBE52EBFB}\"\n\t\t\t>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\control_w.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\exception.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_asm.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_emu.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_i387.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_proto.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\fpu_system.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\poly.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\reg_constant.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\status_w.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t\t<File\n\t\t\t\tRelativePath=\"..\\Source\\version.h\"\n\t\t\t\t>\n\t\t\t</File>\n\t\t</Filter>\n\t</Files>\n\t<Globals>\n\t</Globals>\n</VisualStudioProject>\n"
  },
  {
    "path": "README.md",
    "content": "# SyserDebugger NG\n\nPay respect to the original author of syser debugger: [Yanfeng Wu](ori_author.md)\n\nThe open source project is as his last wish.\n\n\n\n## Build\n\nNow, it can be compiled with Visual studio 2019.\n\n[Buidling method](Doc/build.md)\n\n## Demonstration of SyserDebugger functionality\n\nVisit https://www.bilibili.com/video/BV1vy4y1C7PQ/\n"
  },
  {
    "path": "excfile.txt",
    "content": "*.log\n*.wrn\n*.map\n*.pdb\n*.sbr\n*.ncb\n*.exp\n*.opt\n*.plg\n*.obj\n*.pch\n*.ilk\n*.res\n*.aps\n*.idb\n*BuildLog.htm\n*.bak\n*.rar\n*.exe\n*.dll\n*.sys\n*.lib\n*.Po\n*.Plo\n*.sds\n*.nms\n"
  },
  {
    "path": "incfile.txt",
    "content": "*diaguids*.lib\n*bootvid.lib\n.\\Bin\\i386\\*.sys\n.\\Bin\\i386\\*.dll\n.\\Bin\\i386\\SyserApp.exe\n.\\Bin\\i386\\Syser.exe\n"
  },
  {
    "path": "ori_author.md",
    "content": "Yanfeng Wu (1976.8.29 - 2023.9.23)\nGraduated in 1999.7 from Jilin University of China.\n[Linkedin Home Page](https://www.linkedin.com/in/%E5%B2%A9%E5%B3%B0-%E5%90%B4-5a7608101/)\n"
  }
]